diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index d6a3414c290..2010ca0a237 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1,5 +1,7 @@ # See for instructions on this file https://help.github.com/articles/about-codeowners/ +/linter_exclusions.yml @MyronFanQiu @haroldrandom @fengzhou-msft + /src/index.json @haroldrandom @fengzhou-msft /src/image-copy/ @tamirkamara @@ -70,6 +72,10 @@ /src/ip-group/ @haroldrandom +/src/connectedk8s/ @akashkeshari + +/src/storagesync/ @jsntcy + /src/maintenance/ @gautamd-ms /src/ai-examples/ @mirdaki @@ -91,3 +97,41 @@ /src/powerbidedicated/ @Juliehzl /src/blueprint/ @fengzhou-msft + +/src/storage-or-preview/ @Juliehzl + +/src/logic/ @bquantump + +/src/hardware-security-modules/ @bquantump + +/src/databox/ @jsntcy + +/src/hpc-cache/ @qianwens + +/src/timeseriesinsights/ @jiasli + +/src/portal/ @YalinLi0312 + +/src/import-export/ @arrownj + +/src/account/ @zikalino + +/src/datashare/ @fengzhou-msft + +/src/k8sconfiguration/ @NarayanThiru + +/src/log-analytics-solution/ @zhoxing-ms + +/src/kusto/ @ilayr @orhasban @astauben + +/src/ai-did-you-mean-this/ @christopher-o-toole + +/src/custom-providers/ @jsntcy + +/src/costmanagement/ @haroldrandom + +/src/blockchain/ @MyronFanQiu + +/src/codespaces/ @derekbekoe + +/src/desktopvirtualization/ @changlong-liu diff --git a/README.md b/README.md index aea0c95567d..5494c602323 100644 --- a/README.md +++ b/README.md @@ -33,6 +33,18 @@ Add your extension to the index to make it available in these CLI commands: - Your extension artifact (i.e. `.whl`) will not live in this repository. You can publish your extension to PyPI or somewhere else such as Azure Storage. - If you want your extension to appear in the index.json, modify the index. +## About extension publishing + +There is a pipeline to automatically build, upload and publish extension wheels. + +Once your PR is merged into master branch, a new PR will be created to update `src/index.json` automatically. + +The precondition is to put your code inside this repo and upgrade the version in the PR but not to modify `src/index.json`. + +If you want to host the source code in your dedicated repo, you have to upload the WHL file and update the `src/index.json` manually. + +For detail, please visit [Publish section in Azure CLI Extension Authoring](https://github.com/Azure/azure-cli/blob/dev/doc/extensions/authoring.md#publish). + ## FAQ ### How to generate sha256digest for an index.json entry? @@ -55,16 +67,19 @@ Note: Hash should be in lowercase in index.json otherwise CI will fail. ### How to fill in the metadata for an index.json entry? -The `azdev extension update-index` command can be used to simplify the process of updating the index file. Run `azdev extension update-index ` where URL is the fully-qualified URL to your published extension WHL. This will gather the appropriate metadata and add an entry for your extension to the index. For more information visit https://github.com/Azure/azure-cli-dev-tools. +The `azdev extension update-index` command can be used to simplify the process of updating the index file. -As a fallback: +Run `azdev extension update-index ` where URL is the fully-qualified URL to your published extension WHL. +This will gather the appropriate metadata and add an entry for your extension to the index. For more information visit https://github.com/Azure/azure-cli-dev-tools. -The metadata needed to be filled is a combination of the contents present in: -- `metadata.json` located in your unzipped extension artifact (`.whl` file) in the `-.dist-info` directory. This metadata is garnered from the `setup.py` folder. -- `azext_metadata.json` (if it exists) under your extension. +Metadata here consist of two parts: +- The raw metadata of a Python Package which is autogenerated from build tool `wheel` and comes from setup.py. +- The additional metadata for an extensions which is listed at `azext_metadata.json` of your extension. Note that CI will fail if this metadata does not match the contents of your published extension. +It's not recommended to modify index.json manually. + # Contributing This project welcomes contributions and suggestions. Most contributions require you to agree to a diff --git a/azure-cli-extensions.pyproj b/azure-cli-extensions.pyproj index 97b8809839b..df1e88da33d 100644 --- a/azure-cli-extensions.pyproj +++ b/azure-cli-extensions.pyproj @@ -11,6 +11,7 @@ . {888888a0-9f3d-457c-b088-3a5042f75d52} Standard Python launcher + true @@ -1193,8 +1194,11 @@ + + + @@ -2805,6 +2809,87 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -4535,7 +4620,9 @@ + + Code @@ -4615,6 +4702,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -4623,6 +4756,7 @@ + @@ -4758,6 +4892,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/azure-pipelines.yml b/azure-pipelines.yml index af86de99c43..cdf1f12170e 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -18,20 +18,20 @@ jobs: pool: vmImage: "windows-2019" steps: - - task: ms-codeanalysis.vss-microsoft-security-code-analysis.build-task-credscan.CredScan@2 - displayName: 'CredScan' - inputs: - toolVersion: 'Latest' - suppressionsFile: './scripts/ci/credscan/CredScanSuppressions.json' - - task: ms-codeanalysis.vss-microsoft-security-code-analysis.build-task-postanalysis.PostAnalysis@1 - displayName: 'Post Analysis' - inputs: - AllTools: false - BinSkim: false - CredScan: true - RoslynAnalyzers: false - TSLint: false - ToolLogsNotFoundAction: 'Standard' + - task: ms-codeanalysis.vss-microsoft-security-code-analysis-devops.build-task-credscan.CredScan@2 + displayName: 'Run Credential Scanner' + inputs: + toolMajorVersion: V2 + suppressionsFile: './scripts/ci/credscan/CredScanSuppressions.json' + - task: ms-codeanalysis.vss-microsoft-security-code-analysis-devops.build-task-postanalysis.PostAnalysis@1 + displayName: 'Post Analysis' + inputs: + AllTools: false + BinSkim: false + CredScan: true + RoslynAnalyzers: false + TSLint: false + ToolLogsNotFoundAction: 'Standard' - job: CheckLicenseHeader displayName: "Check License" @@ -72,7 +72,7 @@ jobs: displayName: 'Use Python 3.6' inputs: versionSpec: 3.6 - - bash: pip install wheel==0.30.0 pylint==1.9.5 flake8==3.5.0 requests + - bash: pip install wheel pylint==1.9.5 flake8==3.5.0 requests pkginfo displayName: 'Install wheel, pylint, flake8, requests' - bash: python scripts/ci/source_code_static_analysis.py displayName: "Static Analysis" @@ -89,7 +89,7 @@ jobs: - bash: | #!/usr/bin/env bash set -ev - pip install wheel==0.30.0 requests + pip install wheel requests pkginfo export CI="ADO" python ./scripts/ci/test_index.py -v displayName: "Verify Extensions Index" @@ -109,8 +109,8 @@ jobs: displayName: 'Use Python $(python.version)' inputs: versionSpec: '$(python.version)' - - bash: pip install wheel==0.30.0 - displayName: 'Install wheel==0.30.0' + - bash: pip install wheel pkginfo + displayName: 'Install wheel' - bash: ./scripts/ci/test_source.sh displayName: 'Run integration test and build test' env: @@ -144,9 +144,10 @@ jobs: azdev setup -c ../azure-cli -r ./ - az --version + # overwrite the default AZURE_EXTENSION_DIR set by ADO + AZURE_EXTENSION_DIR=~/.azure/cliextensions az --version - python scripts/ci/verify_linter.py + AZURE_EXTENSION_DIR=~/.azure/cliextensions python scripts/ci/verify_linter.py displayName: "CLI Linter on Modified Extension" env: ADO_PULL_REQUEST_LATEST_COMMIT: $(System.PullRequest.SourceCommitId) @@ -161,6 +162,8 @@ jobs: displayName: 'Use Python 3.7' inputs: versionSpec: 3.7 + - bash: pip install wheel==0.30.0 + displayName: 'Install wheel==0.30.0' - task: Bash@3 displayName: "Verify Extension Ref Docs" inputs: diff --git a/docs/README.md b/docs/README.md index cb117c8425f..e5f48034319 100644 --- a/docs/README.md +++ b/docs/README.md @@ -12,7 +12,7 @@ Doc Sections - [Command Guidelines](https://github.com/Azure/azure-cli/blob/dev/doc/command_guidelines.md) - Command Guidelines -- [Publishing](https://github.com/Azure/azure-cli/blob/dev/doc/extensions/publishing.md) - How to publish an extension +- [Publishing](https://github.com/Azure/azure-cli/blob/dev/doc/extensions/authoring.md#publish) - How to publish an extension - [Summary Guidelines](https://github.com/Azure/azure-cli/blob/dev/doc/extensions/extension_summary_guidelines.md) - Summary guidelines for extensions to be published diff --git a/linter_exclusions.yml b/linter_exclusions.yml new file mode 100644 index 00000000000..4dfc4893cd0 --- /dev/null +++ b/linter_exclusions.yml @@ -0,0 +1,131 @@ +aks create: + parameters: + node_resource_group: + rule_exclusions: + - parameter_should_not_end_in_resource_group +blueprint assignment update: + parameters: + identity_type: + rule_exclusions: + - no_parameter_defaults_for_update_commands +databricks workspace create: + parameters: + managed_resource_group: + rule_exclusions: + - parameter_should_not_end_in_resource_group +devops security permission update: + parameters: + merge: + rule_exclusions: + - no_parameter_defaults_for_update_commands +devops wiki page update: + parameters: + comment: + rule_exclusions: + - no_parameter_defaults_for_update_commands + encoding: + rule_exclusions: + - no_parameter_defaults_for_update_commands +dt endpoint create servicebus: + parameters: + servicebus_resource_group: + rule_exclusions: + - parameter_should_not_end_in_resource_group +dt endpoint create eventgrid: + parameters: + eventgrid_resource_group: + rule_exclusions: + - parameter_should_not_end_in_resource_group +dt endpoint create eventhub: + parameters: + eventhub_resource_group: + rule_exclusions: + - parameter_should_not_end_in_resource_group +eventgrid event-subscription update: + parameters: + endpoint_type: + rule_exclusions: + - no_parameter_defaults_for_update_commands +eventgrid partner namespace event-channel create: + parameters: + destination_resource_group: + rule_exclusions: + - parameter_should_not_end_in_resource_group +eventgrid partner topic event-subscription update: + parameters: + endpoint_type: + rule_exclusions: + - no_parameter_defaults_for_update_commands +eventgrid system-topic event-subscription update: + parameters: + endpoint_type: + rule_exclusions: + - no_parameter_defaults_for_update_commands +image copy: + parameters: + source_resource_group_name: + rule_exclusions: + - parameter_should_not_end_in_resource_group + target_resource_group_name: + rule_exclusions: + - parameter_should_not_end_in_resource_group +iot pnp capability-model update: + parameters: + repo_endpoint: + rule_exclusions: + - no_parameter_defaults_for_update_commands +iot pnp interface update: + parameters: + repo_endpoint: + rule_exclusions: + - no_parameter_defaults_for_update_commands +maintenance configuration update: + parameters: + maintenanceScope: + rule_exclusions: + - no_parameter_defaults_for_update_commands +ml endpoint realtime update: + parameters: + context: + rule_exclusions: + - no_parameter_defaults_for_update_commands +ml model update: + parameters: + context: + rule_exclusions: + - no_parameter_defaults_for_update_commands +ml service update: + parameters: + context: + rule_exclusions: + - no_parameter_defaults_for_update_commands +monitor action-rule list: + parameters: + target_resource_group: + rule_exclusions: + - parameter_should_not_end_in_resource_group +network cross-connection peering update: + parameters: + ip_version: + rule_exclusions: + - no_parameter_defaults_for_update_commands +network firewall management-ip-config update: + parameters: + subnet: + rule_exclusions: + - no_parameter_defaults_for_update_commands +notification-hub credential apns update: + parameters: + endpoint: + rule_exclusions: + - no_parameter_defaults_for_update_commands +storage account update: + parameters: + encryption_key_source: + rule_exclusions: + - no_parameter_defaults_for_update_commands +storage azcopy run-command: + parameters: + command_args: + rule_exclusions: + - no_positional_parameters diff --git a/pylintrc b/pylintrc index 46d495caf62..86632a90d2f 100644 --- a/pylintrc +++ b/pylintrc @@ -28,7 +28,7 @@ disable=missing-docstring, [TYPECHECK] # For Azure CLI extensions, we ignore some import errors as they'll be available in the environment of the CLI -ignored-modules=azure,azure.cli,azure.cli.core,azure.cli.core.commands,knack,msrestazure,argcomplete,azure_devtools +ignored-modules=azure,azure.cli,azure.cli.core,azure.cli.core.commands,knack,msrestazure,argcomplete,azure_devtools,isodate,OpenSSL [FORMAT] max-line-length=120 diff --git a/scripts/automation/build_package.py b/scripts/automation/build_package.py new file mode 100644 index 00000000000..7e72d0c7360 --- /dev/null +++ b/scripts/automation/build_package.py @@ -0,0 +1,34 @@ +#!/usr/bin/env python + +#------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +#-------------------------------------------------------------------------- + +import argparse +import os +import glob +from subprocess import check_call + +DEFAULT_DEST_FOLDER = "./dist" + +def create_package(name, dest_folder=DEFAULT_DEST_FOLDER): + # a package will exist in either one, or the other folder. this is why we can resolve both at the same time. + absdirs = [os.path.dirname(package) for package in (glob.glob('{}/setup.py'.format(name)) + glob.glob('sdk/*/{}/setup.py'.format(name)))] + absdirpath = os.path.abspath(absdirs[0]) + check_call(['python', 'setup.py', 'bdist_wheel', '-d', dest_folder], cwd=absdirpath) + check_call(['python', 'setup.py', "sdist", "--format", "zip", '-d', dest_folder], cwd=absdirpath) + +if __name__ == '__main__': + """ + This file is used for Swagger CLI extension automation to build the wheel file and zip file + """ + parser = argparse.ArgumentParser(description='Build Azure package.') + parser.add_argument('name', help='The package name') + parser.add_argument('--dest', '-d', default=DEFAULT_DEST_FOLDER, + help='Destination folder. Relative to the package dir. [default: %(default)s]') + args = parser.parse_args() + create_package(args.name, args.dest) + + diff --git a/scripts/ci/avail-ext-doc/update_extension_list.py b/scripts/ci/avail-ext-doc/update_extension_list.py index 5433e5badfd..857c1c417cb 100644 --- a/scripts/ci/avail-ext-doc/update_extension_list.py +++ b/scripts/ci/avail-ext-doc/update_extension_list.py @@ -36,11 +36,18 @@ def get_extensions(): for _, exts in index_extensions.items(): # Get latest version exts = sorted(exts, key=lambda c: parse_version(c['metadata']['version']), reverse=True) + + try: + # compatible with older wheel to build extension + home_page = exts[0]['metadata']['extensions']['python.details']['project_urls']['Home'] + except KeyError: + home_page = exts[0]['metadata']['home_page'] + extensions.append({ 'name': exts[0]['metadata']['name'], 'desc': exts[0]['metadata']['summary'], 'version': exts[0]['metadata']['version'], - 'project_url': exts[0]['metadata']['extensions']['python.details']['project_urls']['Home'], + 'project_url': home_page, 'preview': 'Yes' if exts[0]['metadata'].get('azext.isPreview') else '' }) return extensions diff --git a/scripts/ci/credscan/CredScanSuppressions.json b/scripts/ci/credscan/CredScanSuppressions.json index d80e35cf802..72f3970a438 100644 --- a/scripts/ci/credscan/CredScanSuppressions.json +++ b/scripts/ci/credscan/CredScanSuppressions.json @@ -37,6 +37,41 @@ { "placeholder": "Ovg+o0K/0/2V8upg7AwlyAPCriEcOSXKuBu2Gv/PU70Y7aWDW3C2ZRmw6kYWqPWBaM1GosLkcSZkgsobAlT+Sw==", "_justification": "[ADLS] false alarm on sign value" + }, + { + "placeholder": "4CTlhouPm0c3PWuTQ8t6Myh/FYegVUPqXUmdtL2byRytFPlt98L/pw==", + "_justification": "verification code in test_eventgrid_commands.py" + }, + { + "placeholder": "7jTiaEBVeYjC8X6gPDUhIhAnFRjaxZaGyS3hBbr09bmj3heQNhvrbA==", + "_justification": "verification code in test_eventgrid_commands.py" + }, + { + "placeholder": "Password123!", + "_justification": "dummy password in test_synapse_scenario.py" + }, + { + "file": [ + "src\\timeseriesinsights\\azext_timeseriesinsights\\tests\\latest\\recordings\\test_timeseriesinsights_environment_longterm.yaml", + "src\\timeseriesinsights\\azext_timeseriesinsights\\tests\\latest\\recordings\\test_timeseriesinsights_event_source_eventhub.yaml", + "src\\timeseriesinsights\\azext_timeseriesinsights\\tests\\latest\\recordings\\test_timeseriesinsights_event_source_iothub.yaml" + ], + "_justification": "Azure storgae access key" + }, + { + "file": [ + "src\\maintenance\\azext_maintenance\\tests\\latest\\recordings\\test_maintenance_commands.yaml", + "src\\maintenance\\azext_maintenance\\tests\\latest\\recordings\\test_maintenance_configuration_create.yaml", + "src\\maintenance\\azext_maintenance\\tests\\latest\\recordings\\test_signalr_commands.yaml", + "src\\notification-hub\\azext_notification_hub\\tests\\latest\\recordings\\test_notificationhubs.yaml" + ], + "_justification": "Azure Shared Access Key / Web Hook Token" + }, + { + "file": [ + "src\\eventgrid\\azext_eventgrid\\tests\\latest\\recordings\\test_Partner_scenarios.yaml" + ], + "_justification": "Found General Symmetric Key" } ] -} \ No newline at end of file +} diff --git a/scripts/ci/index_ref_doc.py b/scripts/ci/index_ref_doc.py index 90ba08ee794..a814bd95e80 100644 --- a/scripts/ci/index_ref_doc.py +++ b/scripts/ci/index_ref_doc.py @@ -10,9 +10,10 @@ import os import sys import tempfile +import traceback import unittest import shutil -from subprocess import check_call +from subprocess import check_call, CalledProcessError from pkg_resources import parse_version, get_distribution from six import with_metaclass @@ -57,7 +58,11 @@ def test(self): os.mkdir(ref_doc_out_dir) script_args = [sys.executable, REF_GEN_SCRIPT, '--extension-file', ext_file, '--output-dir', ref_doc_out_dir] - check_call(script_args) + try: + check_call(script_args) + except CalledProcessError as e: + traceback.print_exc(e) + raise e return test for ext_name, ext_url, filename in ALL_TESTS: diff --git a/scripts/ci/test_index.py b/scripts/ci/test_index.py index 36fa09867fd..414aa710324 100755 --- a/scripts/ci/test_index.py +++ b/scripts/ci/test_index.py @@ -10,15 +10,23 @@ from __future__ import print_function import os -import json +import re import tempfile import unittest import hashlib import shutil -from wheel.install import WHEEL_INFO_RE + +from distutils.version import LooseVersion + from util import get_ext_metadata, get_whl_from_url, get_index_data, verify_dependency +WHEEL_INFO_RE = re.compile( + r"""^(?P(?P.+?)-(?P\d.*?))(-(?P\d.*?))? + -(?P[a-z].+?)-(?P.+?)-(?P.+?)(\.whl|\.dist-info)$""", + re.VERBOSE).match + + def get_sha256sum(a_file): sha256 = hashlib.sha256() with open(a_file, 'rb') as f: @@ -114,34 +122,92 @@ def test_checksums(self): @unittest.skipUnless(os.getenv('CI'), 'Skipped as not running on CI') def test_metadata(self): - self.maxDiff = None + skipable_extension_thresholds = { + 'ip-group': '0.1.2', + 'vm-repair': '0.3.1', + 'mixed-reality': '0.0.2', + 'subscription': '0.1.4', + 'managementpartner': '0.1.3', + 'log-analytics': '0.2.1' + } + + historical_extensios = { + 'keyvault-preview': '0.1.3', + 'log-analytics': '0.2.1' + } + extensions_dir = tempfile.mkdtemp() for ext_name, exts in self.index['extensions'].items(): for item in exts: ext_dir = tempfile.mkdtemp(dir=extensions_dir) +<<<<<<< HEAD ext_file = get_whl_from_url(item['downloadUrl'], item['filename'], self.whl_cache_dir, self.whl_cache) - metadata = get_ext_metadata(ext_dir, ext_file, ext_name) - # Due to https://github.com/pypa/wheel/issues/195 we prevent whls built with 0.31.0 or greater. - # 0.29.0, 0.30.0 are the two previous versions before that release. - supported_generators = ['bdist_wheel (0.29.0)', 'bdist_wheel (0.30.0)'] - self.assertIn(metadata.get('generator'), supported_generators, - "{}: 'generator' should be one of {}. " - "Build the extension with a different version of the 'wheel' package " - "(e.g. `pip install wheel==0.30.0`). " - "This is due to https://github.com/pypa/wheel/issues/195".format(ext_name, - supported_generators)) - self.assertDictEqual(metadata, item['metadata'], - "Metadata for {} in index doesn't match the expected of: \n" - "{}".format(item['filename'], json.dumps(metadata, indent=2, sort_keys=True, - separators=(',', ': ')))) - run_requires = metadata.get('run_requires') - if run_requires: - deps = run_requires[0]['requires'] - self.assertTrue( - all(verify_dependency(dep) for dep in deps), - "Dependencies of {} use disallowed extension dependencies. " - "Remove these dependencies: {}".format(item['filename'], deps)) + + print(ext_file) + + ext_version = item['metadata']['version'] + try: + metadata = get_ext_metadata(ext_dir, ext_file, ext_name) # check file exists + except ValueError as ex: + if ext_name in skipable_extension_thresholds: + threshold_version = skipable_extension_thresholds[ext_name] + + if LooseVersion(ext_version) <= LooseVersion(threshold_version): + continue + else: + raise ex + else: + raise ex + + try: + self.assertIn('azext.minCliCoreVersion', metadata) # check key properties exists + except AssertionError as ex: + if ext_name in historical_extensios: + threshold_version = historical_extensios[ext_name] + + if LooseVersion(ext_version) <= LooseVersion(threshold_version): + continue + else: + raise ex + else: + raise ex +======= + ext_file = get_whl_from_url(item['downloadUrl'], item['filename'], self.whl_cache_dir, self.whl_cache) +>>>>>>> c7d4e1dc45f710a83caf5a30bee91bbd266bd25d + + wheel_metadata = get_ext_metadata(ext_dir, ext_file) + index_metadata = item['metadata'] + + print('-' * 40, ext_name, '-' * 40) + + # compatible way compare metadata between wheel file and index.json + self.assertEqual(index_metadata['name'], wheel_metadata['name']) + self.assertEqual(index_metadata['version'], wheel_metadata['version']) + self.assertEqual(index_metadata['license'], wheel_metadata['license']) + self.assertEqual(index_metadata['summary'], wheel_metadata['summary']) + + if index_metadata.get('classifiers') and wheel_metadata.get('classifiers'): + self.assertEqual(index_metadata['classifiers'], wheel_metadata['classifiers']) + + if index_metadata.get('run_requires') and wheel_metadata.get('requires_dist'): + self.assertEqual(sorted(index_metadata['run_requires'][0]['requires']), + sorted(wheel_metadata['requires_dist'])) + if index_metadata.get('requires_dist') and wheel_metadata.get('requires_dist'): + self.assertEqual(sorted(index_metadata['requires_dist']), + sorted(wheel_metadata['requires_dist'])) + + if index_metadata.get('extensions') is not None: + python_details = index_metadata['extensions']['python.details'] + self.assertEqual(python_details['project_urls']['Home'], wheel_metadata['home_page']) + self.assertEqual(python_details['contacts'][0]['name'], wheel_metadata['author']) + self.assertEqual(python_details['contacts'][0]['email'], wheel_metadata['author_email']) + else: + self.assertEqual(index_metadata.get('author'), wheel_metadata.get('author')) + self.assertEqual(index_metadata.get('home_page'), wheel_metadata.get('home_page')) + self.assertEqual(index_metadata.get('platforms'), wheel_metadata.get('platforms')) + self.assertEqual(index_metadata.get('author_email'), wheel_metadata.get('author_email')) + shutil.rmtree(extensions_dir) diff --git a/scripts/ci/test_source.py b/scripts/ci/test_source.py index 14502d03e7a..3a995b8f83c 100755 --- a/scripts/ci/test_source.py +++ b/scripts/ci/test_source.py @@ -16,7 +16,6 @@ from subprocess import check_output, check_call, CalledProcessError import mock -from wheel.install import WHEEL_INFO_RE from six import with_metaclass from util import get_ext_metadata, verify_dependency, SRC_PATH @@ -106,14 +105,14 @@ def test_source_wheels(self): for filename in os.listdir(built_whl_dir): ext_file = os.path.join(built_whl_dir, filename) ext_dir = tempfile.mkdtemp(dir=built_whl_dir) - ext_name = WHEEL_INFO_RE(filename).groupdict().get('name') - metadata = get_ext_metadata(ext_dir, ext_file, ext_name) - run_requires = metadata.get('run_requires') - if run_requires: - deps = run_requires[0]['requires'] - self.assertTrue(all(verify_dependency(dep) for dep in deps), + metadata = get_ext_metadata(ext_dir, ext_file) + + requires_dist = metadata.get('require_dist') + if requires_dist: + self.assertTrue(all(verify_dependency(dep) for dep in requires_dist), "Dependencies of {} use disallowed extension dependencies. " - "Remove these dependencies: {}".format(filename, deps)) + "Remove these dependencies: {}".format(filename, requires_dist)) + shutil.rmtree(built_whl_dir) diff --git a/scripts/ci/update_index.py b/scripts/ci/update_index.py index 28f10f99177..ab8fc344108 100644 --- a/scripts/ci/update_index.py +++ b/scripts/ci/update_index.py @@ -56,7 +56,7 @@ def main(): entry[0]['downloadUrl'] = whl_path entry[0]['sha256Digest'] = get_sha256sum(ext_file) entry[0]['filename'] = whl_path.split('/')[-1] - entry[0]['metadata'] = get_ext_metadata(ext_dir, ext_file, extension_name) + entry[0]['metadata'] = get_ext_metadata(ext_dir, ext_file) # update index and write back to file curr_index['extensions'][extension_name] = entry diff --git a/scripts/ci/util.py b/scripts/ci/util.py index 6081d4dad11..ce5468ddcf1 100644 --- a/scripts/ci/util.py +++ b/scripts/ci/util.py @@ -4,14 +4,21 @@ # -------------------------------------------------------------------------------------------- import os +import re import json import zipfile -from wheel.install import WHEEL_INFO_RE # Dependencies that will not be checked. # This is for packages starting with 'azure-' but do not use the 'azure' namespace. SKIP_DEP_CHECK = ['azure-batch-extensions'] +# copy from wheel==0.30.0 +WHEEL_INFO_RE = re.compile( + r"""^(?P(?P.+?)(-(?P\d.+?))?) + ((-(?P\d.*?))?-(?P.+?)-(?P.+?)-(?P.+?) + \.whl|\.dist-info)$""", + re.VERBOSE).match + def get_repo_root(): current_dir = os.path.dirname(os.path.abspath(__file__)) @@ -43,24 +50,28 @@ def _get_azext_metadata(ext_dir): return azext_metadata -def get_ext_metadata(ext_dir, ext_file, ext_name): - # Modification of https://github.com/Azure/azure-cli/blob/dev/src/azure-cli-core/azure/cli/core/extension.py#L89 - WHL_METADATA_FILENAME = 'metadata.json' +def get_ext_metadata(ext_dir, ext_file): + from pkginfo import Wheel + zip_ref = zipfile.ZipFile(ext_file, 'r') zip_ref.extractall(ext_dir) zip_ref.close() metadata = {} - dist_info_dirs = [f for f in os.listdir(ext_dir) if f.endswith('.dist-info')] azext_metadata = _get_azext_metadata(ext_dir) if azext_metadata: metadata.update(azext_metadata) - for dist_info_dirname in dist_info_dirs: - parsed_dist_info_dir = WHEEL_INFO_RE(dist_info_dirname) - if parsed_dist_info_dir and parsed_dist_info_dir.groupdict().get('name') == ext_name.replace('-', '_'): - whl_metadata_filepath = os.path.join(ext_dir, dist_info_dirname, WHL_METADATA_FILENAME) - if os.path.isfile(whl_metadata_filepath): - with open(whl_metadata_filepath) as f: - metadata.update(json.load(f)) + + try: + ext_wheel = Wheel(ext_file) + + t = vars(ext_wheel) + del t['filename'] + del t['description'] # del as description is trivial + + metadata.update(t) + except ValueError: + raise '{} is not a valid wheel'.format(ext_file) + return metadata diff --git a/src/account/HISTORY.rst b/src/account/HISTORY.rst new file mode 100644 index 00000000000..1c139576ba0 --- /dev/null +++ b/src/account/HISTORY.rst @@ -0,0 +1,8 @@ +.. :changelog: + +Release History +=============== + +0.1.0 +++++++ +* Initial release. diff --git a/src/account/README.rst b/src/account/README.rst new file mode 100644 index 00000000000..f97748cd85d --- /dev/null +++ b/src/account/README.rst @@ -0,0 +1,5 @@ +Microsoft Azure CLI 'account' Extension +========================================== + +This package is for the 'account' extension. +i.e. 'az account' diff --git a/src/account/azext_account/.flake8 b/src/account/azext_account/.flake8 new file mode 100644 index 00000000000..2e3d72769f9 --- /dev/null +++ b/src/account/azext_account/.flake8 @@ -0,0 +1,3 @@ +[flake8] +exclude = + vendored_sdks diff --git a/src/account/azext_account/__init__.py b/src/account/azext_account/__init__.py new file mode 100644 index 00000000000..6d41a06806a --- /dev/null +++ b/src/account/azext_account/__init__.py @@ -0,0 +1,41 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +from azure.cli.core import AzCommandsLoader +from azext_account.generated._help import helps # pylint: disable=unused-import + + +class SubscriptionClientCommandsLoader(AzCommandsLoader): + + def __init__(self, cli_ctx=None): + from azure.cli.core.commands import CliCommandType + from azext_account.generated._client_factory import cf_account + account_custom = CliCommandType( + operations_tmpl='azext_account.custom#{}', + client_factory=cf_account) + super(SubscriptionClientCommandsLoader, self).__init__(cli_ctx=cli_ctx, + custom_command_type=account_custom) + + def load_command_table(self, args): + from azext_account.generated.commands import load_command_table + load_command_table(self, args) + try: + from azext_account.manual.commands import load_command_table as load_command_table_manual + load_command_table_manual(self, args) + except ImportError: + pass + return self.command_table + + def load_arguments(self, command): + from azext_account.generated._params import load_arguments + load_arguments(self, command) + try: + from azext_account.manual._params import load_arguments as load_arguments_manual + load_arguments_manual(self, command) + except ImportError: + pass + + +COMMAND_LOADER_CLS = SubscriptionClientCommandsLoader diff --git a/src/account/azext_account/action.py b/src/account/azext_account/action.py new file mode 100644 index 00000000000..ae52d832feb --- /dev/null +++ b/src/account/azext_account/action.py @@ -0,0 +1,13 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +# pylint: disable=wildcard-import +# pylint: disable=unused-wildcard-import + +from azext_account.generated.action import * # noqa: F403 +try: + from azext_account.manual.action import * # noqa: F403 +except ImportError: + pass diff --git a/src/account/azext_account/azext_metadata.json b/src/account/azext_account/azext_metadata.json new file mode 100644 index 00000000000..13025150393 --- /dev/null +++ b/src/account/azext_account/azext_metadata.json @@ -0,0 +1,4 @@ +{ + "azext.isExperimental": true, + "azext.minCliCoreVersion": "2.3.1" +} \ No newline at end of file diff --git a/src/account/azext_account/custom.py b/src/account/azext_account/custom.py new file mode 100644 index 00000000000..928085d9009 --- /dev/null +++ b/src/account/azext_account/custom.py @@ -0,0 +1,13 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +# pylint: disable=wildcard-import +# pylint: disable=unused-wildcard-import + +from azext_account.generated.custom import * # noqa: F403 +try: + from azext_account.manual.custom import * # noqa: F403 +except ImportError: + pass diff --git a/src/account/azext_account/generated/__init__.py b/src/account/azext_account/generated/__init__.py new file mode 100644 index 00000000000..34913fb394d --- /dev/null +++ b/src/account/azext_account/generated/__init__.py @@ -0,0 +1,4 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- diff --git a/src/account/azext_account/generated/_client_factory.py b/src/account/azext_account/generated/_client_factory.py new file mode 100644 index 00000000000..09cec837dcf --- /dev/null +++ b/src/account/azext_account/generated/_client_factory.py @@ -0,0 +1,24 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + + +def cf_account(cli_ctx, *_): + from azure.cli.core.commands.client_factory import _get_mgmt_service_client + from ..vendored_sdks.subscription import SubscriptionClient + return _get_mgmt_service_client(cli_ctx, SubscriptionClient, + subscription_bound=False, + base_url_bound=False)[0] + + +def cf_subscription(cli_ctx, *_): + return cf_account(cli_ctx).subscription + + +def cf_subscription_operation(cli_ctx, *_): + return cf_account(cli_ctx).subscription_operation + + +def cf_operation(cli_ctx, *_): + return cf_account(cli_ctx).operation diff --git a/src/account/azext_account/generated/_help.py b/src/account/azext_account/generated/_help.py new file mode 100644 index 00000000000..3a23cb4c683 --- /dev/null +++ b/src/account/azext_account/generated/_help.py @@ -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: disable=line-too-long +# pylint: disable=too-many-lines + +from knack.help_files import helps + + +helps['account subscription'] = """ + type: group + short-summary: Manage subscriptions +""" + +helps['account subscription create'] = """ + type: command + short-summary: Create a new WebDirect or EA Azure subscription. + examples: + - name: Create subscription + text: |- + az account subscription create --billing-account-name \\ + "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx_XXXX-XX-XX" \\ + --billing-profile-name "27VR-HDWX-BG7-TGB" --cost-center "135366376" --display-name \\ + "Contoso MCA subscription" --owner xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx \\ + --sku-id "0001" --invoice-section-name "JGF7-NSBG-PJA-TGB" +""" + + +helps['account subscription create-in-enrollment-account'] = """ + type: command + short-summary: Create subscription in enrolment account + examples: + - name: Create subscription in enrollment account + text: |- + az account subscription create-in-enrollment-account --display-name \\ + "Test Ea Azure Sub" --offer-type "MS-AZR-0017P" --owners \\ + xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx \\ + xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx --enrollment-account-name \\ + "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" +""" + +helps['account subscription create-csp'] = """ + type: command + short-summary: Create a new CSP subscription. + examples: + - name: Create CSP subscription + text: |- + az account subscription create-csp --billing-account-name \\ + "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx_XXXX-XX-XX" \\ + --display-name "Contoso MCA subscription" --sku-id "0001" --customer-name \\ + "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" +""" + +helps['account subscription rename'] = """ + type: command + short-summary: Rename subscription + examples: + - name: Rename subscription + text: |- + az account subscription rename --subscription-id "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" +""" + +helps['account subscription cancel'] = """ + type: command + short-summary: Cancel subscription + examples: + - name: Cancel subscription + text: |- + az account subscription cancel --subscription-id "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" +""" + +helps['account subscription enable'] = """ + type: command + short-summary: Enable subscription + examples: + - name: Enable subscription + text: |- + az account subscription enable --subscription-id "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" +""" diff --git a/src/account/azext_account/generated/_params.py b/src/account/azext_account/generated/_params.py new file mode 100644 index 00000000000..2f43fd76d28 --- /dev/null +++ b/src/account/azext_account/generated/_params.py @@ -0,0 +1,48 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- +# pylint: disable=line-too-long +# pylint: disable=too-many-lines +# pylint: disable=too-many-statements + +from azure.cli.core.commands.parameters import ( + get_enum_type +) + + +def load_arguments(self, _): + + with self.argument_context('account subscription create') as c: + c.argument('billing_account_name', help='The name of the Microsoft Customer Agreement billing account for which you want to create the subscription.') + c.argument('billing_profile_name', help='The name of the billing profile in the billing account for which you want to create the subscription.') + c.argument('invoice_section_name', help='The name of the invoice section in the billing account for which you want to create the subscription.') + c.argument('display_name', help='The friendly name of the subscription.') + c.argument('sku_id', help='The SKU ID of the Azure plan. Azure plan determines the pricing and service-level agreement of the subscription. Use 001 for Microsoft Azure Plan and 002 for Microsoft Azure Plan for DevTest.') + c.argument('cost_center', help='If set, the cost center will show up on the Azure usage and charges file.') + c.argument('owner', help='Active Directory Principal who’ll get owner access on the new subscription.') + c.argument('management_group_id', help='The identifier of the management group to which this subscription will be associated.') + + with self.argument_context('account subscription create-in-enrollment-account') as c: + c.argument('enrollment_account_name', help='The name of the enrollment account to which the subscription will be billed.') + c.argument('display_name', help='The display name of the subscription.') + c.argument('management_group_id', help='The Management Group Id.') + c.argument('owners', nargs='+', help='The list of principals that should be granted Owner access on the subscription. Principals should be of type User, Service Principal or Security Group.') + c.argument('offer_type', arg_type=get_enum_type(['MS-AZR-0017P', 'MS-AZR-0148P']), help='The offer type of the subscription. For example, MS-AZR-0017P (EnterpriseAgreement) and MS-AZR-0148P (EnterpriseAgreement devTest) are available. Only valid when creating a subscription in a enrollment account scope.') + + with self.argument_context('account subscription create-csp') as c: + c.argument('billing_account_name', help='The name of the Microsoft Customer Agreement billing account for which you want to create the subscription.') + c.argument('customer_name', help='The name of the customer.') + c.argument('display_name', help='The friendly name of the subscription.') + c.argument('sku_id', help='The SKU ID of the Azure plan. Azure plan determines the pricing and service-level agreement of the subscription. Use 001 for Microsoft Azure Plan and 002 for Microsoft Azure Plan for DevTest.') + c.argument('reseller_id', help='Reseller ID, basically MPN Id.') + + with self.argument_context('account subscription rename') as c: + c.argument('subscription_id', help='Subscription Id.') + c.argument('subscription_name', help='New subscription name') + + with self.argument_context('account subscription cancel') as c: + c.argument('subscription_id', help='Subscription Id.') + + with self.argument_context('account subscription enable') as c: + c.argument('subscription_id', help='Subscription Id.') diff --git a/src/account/azext_account/generated/_validators.py b/src/account/azext_account/generated/_validators.py new file mode 100644 index 00000000000..34913fb394d --- /dev/null +++ b/src/account/azext_account/generated/_validators.py @@ -0,0 +1,4 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- diff --git a/src/account/azext_account/generated/action.py b/src/account/azext_account/generated/action.py new file mode 100644 index 00000000000..34913fb394d --- /dev/null +++ b/src/account/azext_account/generated/action.py @@ -0,0 +1,4 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- diff --git a/src/account/azext_account/generated/commands.py b/src/account/azext_account/generated/commands.py new file mode 100644 index 00000000000..4cd99d42525 --- /dev/null +++ b/src/account/azext_account/generated/commands.py @@ -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: disable=line-too-long +# pylint: disable=too-many-lines +# pylint: disable=too-many-statements +# pylint: disable=too-many-locals +from azure.cli.core.commands import CliCommandType + + +def load_command_table(self, _): + + from azext_account.generated._client_factory import cf_subscription + account_subscription = CliCommandType( + operations_tmpl='azext_account.vendored_sdks.subscription.operations._subscription_operations#SubscriptionOperations.{}', + client_factory=cf_subscription) + with self.command_group('account subscription', account_subscription, client_factory=cf_subscription) as g: + g.custom_command('create', 'account_subscription_create_subscription', supports_no_wait=True) + g.custom_command('rename', 'account_subscription_rename') + g.custom_command('cancel', 'account_subscription_cancel', confirmation=True) + g.custom_command('enable', 'account_subscription_enable') + g.custom_command('create-csp', 'account_subscription_create_csp_subscription', supports_no_wait=True) + g.custom_command('create-in-enrollment-account', 'account_subscription_create_subscription_in_enrollment_account', supports_no_wait=True) diff --git a/src/account/azext_account/generated/custom.py b/src/account/azext_account/generated/custom.py new file mode 100644 index 00000000000..ccdcccb94f1 --- /dev/null +++ b/src/account/azext_account/generated/custom.py @@ -0,0 +1,76 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- +# pylint: disable=line-too-long +# pylint: disable=too-many-statements +# pylint: disable=too-many-lines +# pylint: disable=too-many-locals +# pylint: disable=unused-argument + +from azure.cli.core.util import sdk_no_wait + + +def account_subscription_create_subscription(cmd, client, + billing_account_name, + billing_profile_name, + invoice_section_name, + display_name, + sku_id, + cost_center=None, + owner=None, + management_group_id=None, + no_wait=False): + + body = {} + body['display_name'] = display_name + body['sku_id'] = sku_id + body['cost_center'] = cost_center + body['owner'] = {'object_id': owner} + body['management_group_id'] = management_group_id + return sdk_no_wait(no_wait, client.create_subscription, billing_account_name=billing_account_name, billing_profile_name=billing_profile_name, invoice_section_name=invoice_section_name, body=body) + + +def account_subscription_create_subscription_in_enrollment_account(cmd, client, + enrollment_account_name, + display_name=None, + management_group_id=None, + owners=None, + offer_type=None, + no_wait=False): + if owners is not None: + owners = [{'object_id': x} for x in owners] + + body = {} + body['display_name'] = display_name + body['management_group_id'] = management_group_id + body['owners'] = owners + body['offer_type'] = offer_type + return sdk_no_wait(no_wait, client.create_subscription_in_enrollment_account, enrollment_account_name=enrollment_account_name, body=body) + + +def account_subscription_create_csp_subscription(cmd, client, + billing_account_name, + customer_name, + display_name, + sku_id, + reseller_id=None, + no_wait=False): + body = {} + body['display_name'] = display_name + body['sku_id'] = sku_id + body['reseller_id'] = reseller_id + return sdk_no_wait(no_wait, client.create_csp_subscription, billing_account_name=billing_account_name, customer_name=customer_name, body=body) + + +def account_subscription_rename(cmd, client, subscription_id, + subscription_name=None): + return client.rename(subscription_id=subscription_id, subscription_name=subscription_name) + + +def account_subscription_cancel(cmd, client, subscription_id): + return client.cancel(subscription_id=subscription_id) + + +def account_subscription_enable(cmd, client, subscription_id): + return client.enable(subscription_id=subscription_id) diff --git a/src/account/azext_account/tests/latest/test_account_scenario.py b/src/account/azext_account/tests/latest/test_account_scenario.py new file mode 100644 index 00000000000..92d77b58d79 --- /dev/null +++ b/src/account/azext_account/tests/latest/test_account_scenario.py @@ -0,0 +1,101 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +import os +import unittest + +from azure_devtools.scenario_tests import AllowLargeResponse +from azure.cli.testsdk import (ScenarioTest, ResourceGroupPreparer) + + +TEST_DIR = os.path.abspath(os.path.join(os.path.abspath(__file__), '..')) + + +class SubscriptionClientScenarioTest(ScenarioTest): + + @ResourceGroupPreparer(name_prefix='cli_test_account') + def test_account(self, resource_group): + + self.cmd('az account subscription create ' + '--billing-account-name "0aa27f2b-ec7f-5a65-71f6-a5ff0897bd55:ae0dae1e-de9a-41f6-8257-76b055d98372_2019-05-31" ' + '--billing-profile-name "27VR-HDWX-BG7-TGB" ' + '--cost-center "135366376" ' + '--display-name "Contoso MCA subscription" ' + '--sku-id "0001" ' + '--invoice-section-name "JGF7-NSBG-PJA-TGB"', + checks=[]) + + self.cmd('az account subscription create-subscription-in-enrollment-account ' + '--display-name "Test Ea Azure Sub" ' + '--offer-type "MS-AZR-0017P" ' + '--enrollment-account-name "73f8ab6e-cfa0-42be-b886-be6e77c2980c"', + checks=[]) + + self.cmd('az account subscription create-csp-subscription ' + '--billing-account-name "2bc54a6f-8d8a-5be1-5bff-bb4f285f512b:11a72812-d9a4-446e-9a1e-70c8bcadf5c0_2019-05-31" ' + '--display-name "Contoso MCA subscription" ' + '--sku-id "0001" ' + '--customer-name "e33ba30d-3718-4b15-bfaa-5627a57cda6f"', + checks=[]) + + self.cmd('az account subscription create ' + '--billing-account-name "0aa27f2b-ec7f-5a65-71f6-a5ff0897bd55:ae0dae1e-de9a-41f6-8257-76b055d98372_2019-05-31" ' + '--billing-profile-name "27VR-HDWX-BG7-TGB" ' + '--cost-center "135366376" ' + '--display-name "Contoso MCA subscription" ' + '--sku-id "0001" ' + '--invoice-section-name "JGF7-NSBG-PJA-TGB"', + checks=[]) + + self.cmd('az account subscription create-subscription-in-enrollment-account ' + '--display-name "Test Ea Azure Sub" ' + '--offer-type "MS-AZR-0017P" ' + '--enrollment-account-name "73f8ab6e-cfa0-42be-b886-be6e77c2980c"', + checks=[]) + + self.cmd('az account subscription create-csp-subscription ' + '--billing-account-name "2bc54a6f-8d8a-5be1-5bff-bb4f285f512b:11a72812-d9a4-446e-9a1e-70c8bcadf5c0_2019-05-31" ' + '--display-name "Contoso MCA subscription" ' + '--sku-id "0001" ' + '--customer-name "e33ba30d-3718-4b15-bfaa-5627a57cda6f"', + checks=[]) + + self.cmd('az account subscription create ' + '--billing-account-name "0aa27f2b-ec7f-5a65-71f6-a5ff0897bd55:ae0dae1e-de9a-41f6-8257-76b055d98372_2019-05-31" ' + '--billing-profile-name "27VR-HDWX-BG7-TGB" ' + '--cost-center "135366376" ' + '--display-name "Contoso MCA subscription" ' + '--sku-id "0001" ' + '--invoice-section-name "JGF7-NSBG-PJA-TGB"', + checks=[]) + + self.cmd('az account subscription create-subscription-in-enrollment-account ' + '--display-name "Test Ea Azure Sub" ' + '--offer-type "MS-AZR-0017P" ' + '--enrollment-account-name "73f8ab6e-cfa0-42be-b886-be6e77c2980c"', + checks=[]) + + self.cmd('az account subscription create-csp-subscription ' + '--billing-account-name "2bc54a6f-8d8a-5be1-5bff-bb4f285f512b:11a72812-d9a4-446e-9a1e-70c8bcadf5c0_2019-05-31" ' + '--display-name "Contoso MCA subscription" ' + '--sku-id "0001" ' + '--customer-name "e33ba30d-3718-4b15-bfaa-5627a57cda6f"', + checks=[]) + + self.cmd('az account subscription enable', + checks=[]) + + self.cmd('az account subscription cancel', + checks=[]) + + self.cmd('az account subscription rename', + checks=[]) + + self.cmd('az account subscription-operation show ' + '--operation-id "e4b8d068-f574-462a-a76f-6fa0afc613c9"', + checks=[]) + + self.cmd('az account operation list', + checks=[]) diff --git a/src/account/azext_account/vendored_sdks/__init__.py b/src/account/azext_account/vendored_sdks/__init__.py new file mode 100644 index 00000000000..be1a152630c --- /dev/null +++ b/src/account/azext_account/vendored_sdks/__init__.py @@ -0,0 +1,12 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +__path__ = __import__('pkgutil').extend_path(__path__, __name__) \ No newline at end of file diff --git a/src/account/azext_account/vendored_sdks/subscription/__init__.py b/src/account/azext_account/vendored_sdks/subscription/__init__.py new file mode 100644 index 00000000000..399e93fb102 --- /dev/null +++ b/src/account/azext_account/vendored_sdks/subscription/__init__.py @@ -0,0 +1,19 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from ._configuration import SubscriptionClientConfiguration +from ._subscription_client import SubscriptionClient +__all__ = ['SubscriptionClient', 'SubscriptionClientConfiguration'] + +from .version import VERSION + +__version__ = VERSION + diff --git a/src/account/azext_account/vendored_sdks/subscription/_configuration.py b/src/account/azext_account/vendored_sdks/subscription/_configuration.py new file mode 100644 index 00000000000..ad45d175c06 --- /dev/null +++ b/src/account/azext_account/vendored_sdks/subscription/_configuration.py @@ -0,0 +1,43 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +from msrestazure import AzureConfiguration + +from .version import VERSION + + +class SubscriptionClientConfiguration(AzureConfiguration): + """Configuration for SubscriptionClient + Note that all parameters used to create this instance are saved as instance + attributes. + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param str base_url: Service URL + """ + + def __init__( + self, credentials, base_url=None): + + if credentials is None: + raise ValueError("Parameter 'credentials' must not be None.") + if not base_url: + base_url = 'https://management.azure.com' + + super(SubscriptionClientConfiguration, self).__init__(base_url) + + # Starting Autorest.Python 4.0.64, make connection pool activated by default + self.keep_alive = True + + self.add_user_agent('azure-mgmt-subscription/{}'.format(VERSION)) + self.add_user_agent('Azure-SDK-For-Python') + + self.credentials = credentials diff --git a/src/account/azext_account/vendored_sdks/subscription/_subscription_client.py b/src/account/azext_account/vendored_sdks/subscription/_subscription_client.py new file mode 100644 index 00000000000..cda5db6c15b --- /dev/null +++ b/src/account/azext_account/vendored_sdks/subscription/_subscription_client.py @@ -0,0 +1,57 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.service_client import SDKClient +from msrest import Serializer, Deserializer + +from ._configuration import SubscriptionClientConfiguration +from .operations import SubscriptionOperations +from .operations import SubscriptionOperationOperations +from .operations import Operations +from . import models + + +class SubscriptionClient(SDKClient): + """The subscription client + + :ivar config: Configuration for client. + :vartype config: SubscriptionClientConfiguration + + :ivar subscription: Subscription operations + :vartype subscription: azure.mgmt.subscription.operations.SubscriptionOperations + :ivar subscription_operation: SubscriptionOperation operations + :vartype subscription_operation: azure.mgmt.subscription.operations.SubscriptionOperationOperations + :ivar operations: Operations operations + :vartype operations: azure.mgmt.subscription.operations.Operations + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param str base_url: Service URL + """ + + def __init__( + self, credentials, base_url=None): + + self.config = SubscriptionClientConfiguration(credentials, base_url) + super(SubscriptionClient, self).__init__(self.config.credentials, self.config) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self.api_version = '2019-10-01-preview' + self._serialize = Serializer(client_models) + self._deserialize = Deserializer(client_models) + + self.subscription = SubscriptionOperations( + self._client, self.config, self._serialize, self._deserialize) + self.subscription_operation = SubscriptionOperationOperations( + self._client, self.config, self._serialize, self._deserialize) + self.operations = Operations( + self._client, self.config, self._serialize, self._deserialize) diff --git a/src/account/azext_account/vendored_sdks/subscription/models/__init__.py b/src/account/azext_account/vendored_sdks/subscription/models/__init__.py new file mode 100644 index 00000000000..f2697f683e3 --- /dev/null +++ b/src/account/azext_account/vendored_sdks/subscription/models/__init__.py @@ -0,0 +1,59 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +try: + from ._models_py3 import AdPrincipal + from ._models_py3 import CanceledSubscriptionId + from ._models_py3 import EnabledSubscriptionId + from ._models_py3 import ErrorResponse, ErrorResponseException + from ._models_py3 import ModernCspSubscriptionCreationParameters + from ._models_py3 import ModernSubscriptionCreationParameters + from ._models_py3 import Operation + from ._models_py3 import OperationDisplay + from ._models_py3 import OperationListResult + from ._models_py3 import RenamedSubscriptionId + from ._models_py3 import SubscriptionCreationParameters + from ._models_py3 import SubscriptionCreationResult + from ._models_py3 import SubscriptionName +except (SyntaxError, ImportError): + from ._models import AdPrincipal + from ._models import CanceledSubscriptionId + from ._models import EnabledSubscriptionId + from ._models import ErrorResponse, ErrorResponseException + from ._models import ModernCspSubscriptionCreationParameters + from ._models import ModernSubscriptionCreationParameters + from ._models import Operation + from ._models import OperationDisplay + from ._models import OperationListResult + from ._models import RenamedSubscriptionId + from ._models import SubscriptionCreationParameters + from ._models import SubscriptionCreationResult + from ._models import SubscriptionName +from ._subscription_client_enums import ( + OfferType, +) + +__all__ = [ + 'AdPrincipal', + 'CanceledSubscriptionId', + 'EnabledSubscriptionId', + 'ErrorResponse', 'ErrorResponseException', + 'ModernCspSubscriptionCreationParameters', + 'ModernSubscriptionCreationParameters', + 'Operation', + 'OperationDisplay', + 'OperationListResult', + 'RenamedSubscriptionId', + 'SubscriptionCreationParameters', + 'SubscriptionCreationResult', + 'SubscriptionName', + 'OfferType', +] diff --git a/src/account/azext_account/vendored_sdks/subscription/models/_models.py b/src/account/azext_account/vendored_sdks/subscription/models/_models.py new file mode 100644 index 00000000000..f2d78844b32 --- /dev/null +++ b/src/account/azext_account/vendored_sdks/subscription/models/_models.py @@ -0,0 +1,359 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model +from msrest.exceptions import HttpOperationError + + +class AdPrincipal(Model): + """Active Directory Principal who’ll get owner access on the new subscription. + + All required parameters must be populated in order to send to Azure. + + :param object_id: Required. Object id of the Principal + :type object_id: str + """ + + _validation = { + 'object_id': {'required': True}, + } + + _attribute_map = { + 'object_id': {'key': 'objectId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AdPrincipal, self).__init__(**kwargs) + self.object_id = kwargs.get('object_id', None) + + +class CanceledSubscriptionId(Model): + """The ID of the canceled subscription. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar value: The ID of the canceled subscription + :vartype value: str + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(CanceledSubscriptionId, self).__init__(**kwargs) + self.value = None + + +class CloudError(Model): + """CloudError. + """ + + _attribute_map = { + } + + +class EnabledSubscriptionId(Model): + """The ID of the subscriptions that is being enabled. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar value: The ID of the subscriptions that is being enabled + :vartype value: str + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(EnabledSubscriptionId, self).__init__(**kwargs) + self.value = None + + +class ErrorResponse(Model): + """Describes the format of Error response. + + :param code: Error code + :type code: str + :param message: Error message indicating why the operation failed. + :type message: str + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ErrorResponse, self).__init__(**kwargs) + self.code = kwargs.get('code', None) + self.message = kwargs.get('message', None) + + +class ErrorResponseException(HttpOperationError): + """Server responsed with exception of type: 'ErrorResponse'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(ErrorResponseException, self).__init__(deserialize, response, 'ErrorResponse', *args) + + +class ModernCspSubscriptionCreationParameters(Model): + """The parameters required to create a new CSP subscription. + + All required parameters must be populated in order to send to Azure. + + :param display_name: Required. The friendly name of the subscription. + :type display_name: str + :param sku_id: Required. The SKU ID of the Azure plan. Azure plan + determines the pricing and service-level agreement of the subscription. + Use 001 for Microsoft Azure Plan and 002 for Microsoft Azure Plan for + DevTest. + :type sku_id: str + :param reseller_id: Reseller ID, basically MPN Id. + :type reseller_id: str + """ + + _validation = { + 'display_name': {'required': True}, + 'sku_id': {'required': True}, + } + + _attribute_map = { + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'sku_id': {'key': 'skuId', 'type': 'str'}, + 'reseller_id': {'key': 'resellerId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ModernCspSubscriptionCreationParameters, self).__init__(**kwargs) + self.display_name = kwargs.get('display_name', None) + self.sku_id = kwargs.get('sku_id', None) + self.reseller_id = kwargs.get('reseller_id', None) + + +class ModernSubscriptionCreationParameters(Model): + """The parameters required to create a new subscription. + + All required parameters must be populated in order to send to Azure. + + :param display_name: Required. The friendly name of the subscription. + :type display_name: str + :param sku_id: Required. The SKU ID of the Azure plan. Azure plan + determines the pricing and service-level agreement of the subscription. + Use 001 for Microsoft Azure Plan and 002 for Microsoft Azure Plan for + DevTest. + :type sku_id: str + :param cost_center: If set, the cost center will show up on the Azure + usage and charges file. + :type cost_center: str + :param owner: If specified, the AD principal will get owner access to the + subscription, along with the user who is performing the create + subscription operation + :type owner: ~azure.mgmt.subscription.models.AdPrincipal + :param management_group_id: The identifier of the management group to + which this subscription will be associated. + :type management_group_id: str + """ + + _validation = { + 'display_name': {'required': True}, + 'sku_id': {'required': True}, + } + + _attribute_map = { + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'sku_id': {'key': 'skuId', 'type': 'str'}, + 'cost_center': {'key': 'costCenter', 'type': 'str'}, + 'owner': {'key': 'owner', 'type': 'AdPrincipal'}, + 'management_group_id': {'key': 'managementGroupId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ModernSubscriptionCreationParameters, self).__init__(**kwargs) + self.display_name = kwargs.get('display_name', None) + self.sku_id = kwargs.get('sku_id', None) + self.cost_center = kwargs.get('cost_center', None) + self.owner = kwargs.get('owner', None) + self.management_group_id = kwargs.get('management_group_id', None) + + +class Operation(Model): + """REST API operation. + + :param name: Operation name: {provider}/{resource}/{operation} + :type name: str + :param display: The object that represents the operation. + :type display: ~azure.mgmt.subscription.models.OperationDisplay + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'OperationDisplay'}, + } + + def __init__(self, **kwargs): + super(Operation, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.display = kwargs.get('display', None) + + +class OperationDisplay(Model): + """The object that represents the operation. + + :param provider: Service provider: Microsoft.Subscription + :type provider: str + :param resource: Resource on which the operation is performed: Profile, + endpoint, etc. + :type resource: str + :param operation: Operation type: Read, write, delete, etc. + :type operation: str + """ + + _attribute_map = { + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(OperationDisplay, self).__init__(**kwargs) + self.provider = kwargs.get('provider', None) + self.resource = kwargs.get('resource', None) + self.operation = kwargs.get('operation', None) + + +class OperationListResult(Model): + """Result of the request to list operations. It contains a list of operations + and a URL link to get the next set of results. + + :param value: List of operations. + :type value: list[~azure.mgmt.subscription.models.Operation] + :param next_link: URL to get the next set of operation list results if + there are any. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[Operation]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(OperationListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class RenamedSubscriptionId(Model): + """The ID of the subscriptions that is being renamed. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar value: The ID of the subscriptions that is being renamed + :vartype value: str + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(RenamedSubscriptionId, self).__init__(**kwargs) + self.value = None + + +class SubscriptionCreationParameters(Model): + """Subscription Creation Parameters required to create a new Azure + subscription. + + :param display_name: The display name of the subscription. + :type display_name: str + :param management_group_id: The Management Group Id. + :type management_group_id: str + :param owners: The list of principals that should be granted Owner access + on the subscription. Principals should be of type User, Service Principal + or Security Group. + :type owners: list[~azure.mgmt.subscription.models.AdPrincipal] + :param offer_type: The offer type of the subscription. For example, + MS-AZR-0017P (EnterpriseAgreement) and MS-AZR-0148P (EnterpriseAgreement + devTest) are available. Only valid when creating a subscription in a + enrollment account scope. Possible values include: 'MS-AZR-0017P', + 'MS-AZR-0148P' + :type offer_type: str or ~azure.mgmt.subscription.models.OfferType + """ + + _attribute_map = { + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'management_group_id': {'key': 'managementGroupId', 'type': 'str'}, + 'owners': {'key': 'owners', 'type': '[AdPrincipal]'}, + 'offer_type': {'key': 'offerType', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SubscriptionCreationParameters, self).__init__(**kwargs) + self.display_name = kwargs.get('display_name', None) + self.management_group_id = kwargs.get('management_group_id', None) + self.owners = kwargs.get('owners', None) + self.offer_type = kwargs.get('offer_type', None) + + +class SubscriptionCreationResult(Model): + """The created subscription object. + + :param subscription_link: The link to the new subscription. Use this link + to check the status of subscription creation operation. + :type subscription_link: str + """ + + _attribute_map = { + 'subscription_link': {'key': 'subscriptionLink', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SubscriptionCreationResult, self).__init__(**kwargs) + self.subscription_link = kwargs.get('subscription_link', None) + + +class SubscriptionName(Model): + """The new name of the subscription. + + :param subscription_name: New subscription name + :type subscription_name: str + """ + + _attribute_map = { + 'subscription_name': {'key': 'subscriptionName', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SubscriptionName, self).__init__(**kwargs) + self.subscription_name = kwargs.get('subscription_name', None) diff --git a/src/account/azext_account/vendored_sdks/subscription/models/_models_py3.py b/src/account/azext_account/vendored_sdks/subscription/models/_models_py3.py new file mode 100644 index 00000000000..426f15a0863 --- /dev/null +++ b/src/account/azext_account/vendored_sdks/subscription/models/_models_py3.py @@ -0,0 +1,359 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model +from msrest.exceptions import HttpOperationError + + +class AdPrincipal(Model): + """Active Directory Principal who’ll get owner access on the new subscription. + + All required parameters must be populated in order to send to Azure. + + :param object_id: Required. Object id of the Principal + :type object_id: str + """ + + _validation = { + 'object_id': {'required': True}, + } + + _attribute_map = { + 'object_id': {'key': 'objectId', 'type': 'str'}, + } + + def __init__(self, *, object_id: str, **kwargs) -> None: + super(AdPrincipal, self).__init__(**kwargs) + self.object_id = object_id + + +class CanceledSubscriptionId(Model): + """The ID of the canceled subscription. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar value: The ID of the canceled subscription + :vartype value: str + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(CanceledSubscriptionId, self).__init__(**kwargs) + self.value = None + + +class CloudError(Model): + """CloudError. + """ + + _attribute_map = { + } + + +class EnabledSubscriptionId(Model): + """The ID of the subscriptions that is being enabled. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar value: The ID of the subscriptions that is being enabled + :vartype value: str + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(EnabledSubscriptionId, self).__init__(**kwargs) + self.value = None + + +class ErrorResponse(Model): + """Describes the format of Error response. + + :param code: Error code + :type code: str + :param message: Error message indicating why the operation failed. + :type message: str + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__(self, *, code: str=None, message: str=None, **kwargs) -> None: + super(ErrorResponse, self).__init__(**kwargs) + self.code = code + self.message = message + + +class ErrorResponseException(HttpOperationError): + """Server responsed with exception of type: 'ErrorResponse'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(ErrorResponseException, self).__init__(deserialize, response, 'ErrorResponse', *args) + + +class ModernCspSubscriptionCreationParameters(Model): + """The parameters required to create a new CSP subscription. + + All required parameters must be populated in order to send to Azure. + + :param display_name: Required. The friendly name of the subscription. + :type display_name: str + :param sku_id: Required. The SKU ID of the Azure plan. Azure plan + determines the pricing and service-level agreement of the subscription. + Use 001 for Microsoft Azure Plan and 002 for Microsoft Azure Plan for + DevTest. + :type sku_id: str + :param reseller_id: Reseller ID, basically MPN Id. + :type reseller_id: str + """ + + _validation = { + 'display_name': {'required': True}, + 'sku_id': {'required': True}, + } + + _attribute_map = { + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'sku_id': {'key': 'skuId', 'type': 'str'}, + 'reseller_id': {'key': 'resellerId', 'type': 'str'}, + } + + def __init__(self, *, display_name: str, sku_id: str, reseller_id: str=None, **kwargs) -> None: + super(ModernCspSubscriptionCreationParameters, self).__init__(**kwargs) + self.display_name = display_name + self.sku_id = sku_id + self.reseller_id = reseller_id + + +class ModernSubscriptionCreationParameters(Model): + """The parameters required to create a new subscription. + + All required parameters must be populated in order to send to Azure. + + :param display_name: Required. The friendly name of the subscription. + :type display_name: str + :param sku_id: Required. The SKU ID of the Azure plan. Azure plan + determines the pricing and service-level agreement of the subscription. + Use 001 for Microsoft Azure Plan and 002 for Microsoft Azure Plan for + DevTest. + :type sku_id: str + :param cost_center: If set, the cost center will show up on the Azure + usage and charges file. + :type cost_center: str + :param owner: If specified, the AD principal will get owner access to the + subscription, along with the user who is performing the create + subscription operation + :type owner: ~azure.mgmt.subscription.models.AdPrincipal + :param management_group_id: The identifier of the management group to + which this subscription will be associated. + :type management_group_id: str + """ + + _validation = { + 'display_name': {'required': True}, + 'sku_id': {'required': True}, + } + + _attribute_map = { + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'sku_id': {'key': 'skuId', 'type': 'str'}, + 'cost_center': {'key': 'costCenter', 'type': 'str'}, + 'owner': {'key': 'owner', 'type': 'AdPrincipal'}, + 'management_group_id': {'key': 'managementGroupId', 'type': 'str'}, + } + + def __init__(self, *, display_name: str, sku_id: str, cost_center: str=None, owner=None, management_group_id: str=None, **kwargs) -> None: + super(ModernSubscriptionCreationParameters, self).__init__(**kwargs) + self.display_name = display_name + self.sku_id = sku_id + self.cost_center = cost_center + self.owner = owner + self.management_group_id = management_group_id + + +class Operation(Model): + """REST API operation. + + :param name: Operation name: {provider}/{resource}/{operation} + :type name: str + :param display: The object that represents the operation. + :type display: ~azure.mgmt.subscription.models.OperationDisplay + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'OperationDisplay'}, + } + + def __init__(self, *, name: str=None, display=None, **kwargs) -> None: + super(Operation, self).__init__(**kwargs) + self.name = name + self.display = display + + +class OperationDisplay(Model): + """The object that represents the operation. + + :param provider: Service provider: Microsoft.Subscription + :type provider: str + :param resource: Resource on which the operation is performed: Profile, + endpoint, etc. + :type resource: str + :param operation: Operation type: Read, write, delete, etc. + :type operation: str + """ + + _attribute_map = { + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + } + + def __init__(self, *, provider: str=None, resource: str=None, operation: str=None, **kwargs) -> None: + super(OperationDisplay, self).__init__(**kwargs) + self.provider = provider + self.resource = resource + self.operation = operation + + +class OperationListResult(Model): + """Result of the request to list operations. It contains a list of operations + and a URL link to get the next set of results. + + :param value: List of operations. + :type value: list[~azure.mgmt.subscription.models.Operation] + :param next_link: URL to get the next set of operation list results if + there are any. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[Operation]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, *, value=None, next_link: str=None, **kwargs) -> None: + super(OperationListResult, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class RenamedSubscriptionId(Model): + """The ID of the subscriptions that is being renamed. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar value: The ID of the subscriptions that is being renamed + :vartype value: str + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(RenamedSubscriptionId, self).__init__(**kwargs) + self.value = None + + +class SubscriptionCreationParameters(Model): + """Subscription Creation Parameters required to create a new Azure + subscription. + + :param display_name: The display name of the subscription. + :type display_name: str + :param management_group_id: The Management Group Id. + :type management_group_id: str + :param owners: The list of principals that should be granted Owner access + on the subscription. Principals should be of type User, Service Principal + or Security Group. + :type owners: list[~azure.mgmt.subscription.models.AdPrincipal] + :param offer_type: The offer type of the subscription. For example, + MS-AZR-0017P (EnterpriseAgreement) and MS-AZR-0148P (EnterpriseAgreement + devTest) are available. Only valid when creating a subscription in a + enrollment account scope. Possible values include: 'MS-AZR-0017P', + 'MS-AZR-0148P' + :type offer_type: str or ~azure.mgmt.subscription.models.OfferType + """ + + _attribute_map = { + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'management_group_id': {'key': 'managementGroupId', 'type': 'str'}, + 'owners': {'key': 'owners', 'type': '[AdPrincipal]'}, + 'offer_type': {'key': 'offerType', 'type': 'str'}, + } + + def __init__(self, *, display_name: str=None, management_group_id: str=None, owners=None, offer_type=None, **kwargs) -> None: + super(SubscriptionCreationParameters, self).__init__(**kwargs) + self.display_name = display_name + self.management_group_id = management_group_id + self.owners = owners + self.offer_type = offer_type + + +class SubscriptionCreationResult(Model): + """The created subscription object. + + :param subscription_link: The link to the new subscription. Use this link + to check the status of subscription creation operation. + :type subscription_link: str + """ + + _attribute_map = { + 'subscription_link': {'key': 'subscriptionLink', 'type': 'str'}, + } + + def __init__(self, *, subscription_link: str=None, **kwargs) -> None: + super(SubscriptionCreationResult, self).__init__(**kwargs) + self.subscription_link = subscription_link + + +class SubscriptionName(Model): + """The new name of the subscription. + + :param subscription_name: New subscription name + :type subscription_name: str + """ + + _attribute_map = { + 'subscription_name': {'key': 'subscriptionName', 'type': 'str'}, + } + + def __init__(self, *, subscription_name: str=None, **kwargs) -> None: + super(SubscriptionName, self).__init__(**kwargs) + self.subscription_name = subscription_name diff --git a/src/account/azext_account/vendored_sdks/subscription/models/_subscription_client_enums.py b/src/account/azext_account/vendored_sdks/subscription/models/_subscription_client_enums.py new file mode 100644 index 00000000000..e3cb19de0f9 --- /dev/null +++ b/src/account/azext_account/vendored_sdks/subscription/models/_subscription_client_enums.py @@ -0,0 +1,18 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from enum import Enum + + +class OfferType(str, Enum): + + ms_azr_0017_p = "MS-AZR-0017P" + ms_azr_0148_p = "MS-AZR-0148P" diff --git a/src/account/azext_account/vendored_sdks/subscription/operations/__init__.py b/src/account/azext_account/vendored_sdks/subscription/operations/__init__.py new file mode 100644 index 00000000000..c3d7eb6308b --- /dev/null +++ b/src/account/azext_account/vendored_sdks/subscription/operations/__init__.py @@ -0,0 +1,20 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from ._subscription_operations import SubscriptionOperations +from ._subscription_operation_operations import SubscriptionOperationOperations +from ._operations import Operations + +__all__ = [ + 'SubscriptionOperations', + 'SubscriptionOperationOperations', + 'Operations', +] diff --git a/src/account/azext_account/vendored_sdks/subscription/operations/_operations.py b/src/account/azext_account/vendored_sdks/subscription/operations/_operations.py new file mode 100644 index 00000000000..664844824d5 --- /dev/null +++ b/src/account/azext_account/vendored_sdks/subscription/operations/_operations.py @@ -0,0 +1,89 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse + +from .. import models + + +class Operations(object): + """Operations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Version of the API to be used with the client request. Current version is 2019-10-01-preview. Constant value: "2019-10-01-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2019-10-01-preview" + + self.config = config + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Lists all of the available Microsoft.Subscription API operations. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: OperationListResult or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.subscription.models.OperationListResult or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.list.metadata['url'] + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('OperationListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list.metadata = {'url': '/providers/Microsoft.Subscription/operations'} diff --git a/src/account/azext_account/vendored_sdks/subscription/operations/_subscription_operation_operations.py b/src/account/azext_account/vendored_sdks/subscription/operations/_subscription_operation_operations.py new file mode 100644 index 00000000000..ff4eaf571ec --- /dev/null +++ b/src/account/azext_account/vendored_sdks/subscription/operations/_subscription_operation_operations.py @@ -0,0 +1,104 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class SubscriptionOperationOperations(object): + """SubscriptionOperationOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Version of the API to be used with the client request. Current version is 2019-10-01-preview. Constant value: "2019-10-01-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2019-10-01-preview" + + self.config = config + + def get( + self, operation_id, custom_headers=None, raw=False, **operation_config): + """Get the status of the pending Microsoft.Subscription API operations. + + :param operation_id: The operation ID, which can be found from the + Location field in the generate recommendation response header. + :type operation_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 + :param operation_config: :ref:`Operation configuration + overrides`. + :return: SubscriptionCreationResult or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.subscription.models.SubscriptionCreationResult or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'operationId': self._serialize.url("operation_id", operation_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + header_dict = {} + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('SubscriptionCreationResult', response) + header_dict = { + 'Location': 'str', + 'Retry-After': 'int', + } + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + client_raw_response.add_headers(header_dict) + return client_raw_response + + return deserialized + get.metadata = {'url': '/providers/Microsoft.Subscription/subscriptionOperations/{operationId}'} diff --git a/src/account/azext_account/vendored_sdks/subscription/operations/_subscription_operations.py b/src/account/azext_account/vendored_sdks/subscription/operations/_subscription_operations.py new file mode 100644 index 00000000000..cfede3b61f1 --- /dev/null +++ b/src/account/azext_account/vendored_sdks/subscription/operations/_subscription_operations.py @@ -0,0 +1,557 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class SubscriptionOperations(object): + """SubscriptionOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Version of the API to be used with the client request. Current version is 2019-10-01-preview. Constant value: "2019-10-01-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2019-10-01-preview" + + self.config = config + + + def _create_subscription_in_enrollment_account_initial( + self, enrollment_account_name, body, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_subscription_in_enrollment_account.metadata['url'] + path_format_arguments = { + 'enrollmentAccountName': self._serialize.url("enrollment_account_name", enrollment_account_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(body, 'SubscriptionCreationParameters') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + header_dict = {} + + if response.status_code == 200: + deserialized = self._deserialize('SubscriptionCreationResult', response) + header_dict = { + 'Location': 'str', + 'Retry-After': 'str', + } + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + client_raw_response.add_headers(header_dict) + return client_raw_response + + return deserialized + + def create_subscription_in_enrollment_account( + self, enrollment_account_name, body, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates an Azure subscription. + + :param enrollment_account_name: The name of the enrollment account to + which the subscription will be billed. + :type enrollment_account_name: str + :param body: The subscription creation parameters. + :type body: + ~azure.mgmt.subscription.models.SubscriptionCreationParameters + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + SubscriptionCreationResult or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.subscription.models.SubscriptionCreationResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.subscription.models.SubscriptionCreationResult]] + :raises: + :class:`ErrorResponseException` + """ + raw_result = self._create_subscription_in_enrollment_account_initial( + enrollment_account_name=enrollment_account_name, + body=body, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + header_dict = { + 'Location': 'str', + 'Retry-After': 'str', + } + deserialized = self._deserialize('SubscriptionCreationResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + client_raw_response.add_headers(header_dict) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_subscription_in_enrollment_account.metadata = {'url': '/providers/Microsoft.Billing/enrollmentAccounts/{enrollmentAccountName}/providers/Microsoft.Subscription/createSubscription'} + + def cancel( + self, subscription_id, custom_headers=None, raw=False, **operation_config): + """The operation to cancel a subscription. + + :param subscription_id: Subscription Id. + :type subscription_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 + :param operation_config: :ref:`Operation configuration + overrides`. + :return: CanceledSubscriptionId or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.subscription.models.CanceledSubscriptionId or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.cancel.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("subscription_id", subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('CanceledSubscriptionId', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + cancel.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Subscription/cancel'} + + def rename( + self, subscription_id, subscription_name=None, custom_headers=None, raw=False, **operation_config): + """The operation to rename a subscription. + + :param subscription_id: Subscription Id. + :type subscription_id: str + :param subscription_name: New subscription name + :type subscription_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: RenamedSubscriptionId or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.subscription.models.RenamedSubscriptionId or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + body = models.SubscriptionName(subscription_name=subscription_name) + + # Construct URL + url = self.rename.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("subscription_id", subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(body, 'SubscriptionName') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('RenamedSubscriptionId', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + rename.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Subscription/rename'} + + def enable( + self, subscription_id, custom_headers=None, raw=False, **operation_config): + """The operation to enable a subscription. + + :param subscription_id: Subscription Id. + :type subscription_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 + :param operation_config: :ref:`Operation configuration + overrides`. + :return: EnabledSubscriptionId or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.subscription.models.EnabledSubscriptionId or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.enable.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("subscription_id", subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('EnabledSubscriptionId', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + enable.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Subscription/enable'} + + + def _create_subscription_initial( + self, billing_account_name, billing_profile_name, invoice_section_name, body, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_subscription.metadata['url'] + path_format_arguments = { + 'billingAccountName': self._serialize.url("billing_account_name", billing_account_name, 'str'), + 'billingProfileName': self._serialize.url("billing_profile_name", billing_profile_name, 'str'), + 'invoiceSectionName': self._serialize.url("invoice_section_name", invoice_section_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(body, 'ModernSubscriptionCreationParameters') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + header_dict = {} + + if response.status_code == 200: + deserialized = self._deserialize('SubscriptionCreationResult', response) + header_dict = { + 'Location': 'str', + 'Retry-After': 'int', + } + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + client_raw_response.add_headers(header_dict) + return client_raw_response + + return deserialized + + def create_subscription( + self, billing_account_name, billing_profile_name, invoice_section_name, body, custom_headers=None, raw=False, polling=True, **operation_config): + """The operation to create a new WebDirect or EA Azure subscription. + + :param billing_account_name: The name of the Microsoft Customer + Agreement billing account for which you want to create the + subscription. + :type billing_account_name: str + :param billing_profile_name: The name of the billing profile in the + billing account for which you want to create the subscription. + :type billing_profile_name: str + :param invoice_section_name: The name of the invoice section in the + billing account for which you want to create the subscription. + :type invoice_section_name: str + :param body: The subscription creation parameters. + :type body: + ~azure.mgmt.subscription.models.ModernSubscriptionCreationParameters + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + SubscriptionCreationResult or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.subscription.models.SubscriptionCreationResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.subscription.models.SubscriptionCreationResult]] + :raises: + :class:`ErrorResponseException` + """ + raw_result = self._create_subscription_initial( + billing_account_name=billing_account_name, + billing_profile_name=billing_profile_name, + invoice_section_name=invoice_section_name, + body=body, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + header_dict = { + 'Location': 'str', + 'Retry-After': 'int', + } + deserialized = self._deserialize('SubscriptionCreationResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + client_raw_response.add_headers(header_dict) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_subscription.metadata = {'url': '/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/providers/Microsoft.Subscription/createSubscription'} + + + def _create_csp_subscription_initial( + self, billing_account_name, customer_name, body, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_csp_subscription.metadata['url'] + path_format_arguments = { + 'billingAccountName': self._serialize.url("billing_account_name", billing_account_name, 'str'), + 'customerName': self._serialize.url("customer_name", customer_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(body, 'ModernCspSubscriptionCreationParameters') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + header_dict = {} + + if response.status_code == 200: + deserialized = self._deserialize('SubscriptionCreationResult', response) + header_dict = { + 'Location': 'str', + 'Retry-After': 'int', + } + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + client_raw_response.add_headers(header_dict) + return client_raw_response + + return deserialized + + def create_csp_subscription( + self, billing_account_name, customer_name, body, custom_headers=None, raw=False, polling=True, **operation_config): + """The operation to create a new CSP subscription. + + :param billing_account_name: The name of the Microsoft Customer + Agreement billing account for which you want to create the + subscription. + :type billing_account_name: str + :param customer_name: The name of the customer. + :type customer_name: str + :param body: The subscription creation parameters. + :type body: + ~azure.mgmt.subscription.models.ModernCspSubscriptionCreationParameters + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + SubscriptionCreationResult or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.subscription.models.SubscriptionCreationResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.subscription.models.SubscriptionCreationResult]] + :raises: + :class:`ErrorResponseException` + """ + raw_result = self._create_csp_subscription_initial( + billing_account_name=billing_account_name, + customer_name=customer_name, + body=body, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + header_dict = { + 'Location': 'str', + 'Retry-After': 'int', + } + deserialized = self._deserialize('SubscriptionCreationResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + client_raw_response.add_headers(header_dict) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_csp_subscription.metadata = {'url': '/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/customers/{customerName}/providers/Microsoft.Subscription/createSubscription'} diff --git a/src/account/azext_account/vendored_sdks/subscription/version.py b/src/account/azext_account/vendored_sdks/subscription/version.py new file mode 100644 index 00000000000..266f5a486d7 --- /dev/null +++ b/src/account/azext_account/vendored_sdks/subscription/version.py @@ -0,0 +1,13 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +VERSION = "0.5.0" + diff --git a/src/account/report.md b/src/account/report.md new file mode 100644 index 00000000000..dbffaf42067 --- /dev/null +++ b/src/account/report.md @@ -0,0 +1,75 @@ +# Azure CLI Module Creation Report + +### account operation list + +list a account operation. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--api-version**|constant|Api Version|/something/my_option|/something/myOption| +### account subscription cancel + +cancel a account subscription. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--api-version**|constant|Api Version|/something/my_option|/something/myOption| +### account subscription create-csp-subscription + +create-csp-subscription a account subscription. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--api-version**|constant|Api Version|/something/my_option|/something/myOption| +|**--body**|object|The subscription creation parameters.|/something/my_option|/something/myOption| +|**--display-name**|string|The friendly name of the subscription.|/something/my_option|/something/myOption| +|**--sku-id**|string|The SKU ID of the Azure plan. Azure plan determines the pricing and service-level agreement of the subscription. Use 001 for Microsoft Azure Plan and 002 for Microsoft Azure Plan for DevTest.|/something/my_option|/something/myOption| +|--reseller-id**|string|Reseller ID, basically MPN Id.|/something/my_option|/something/myOption| +### account subscription create-subscription + +create-subscription a account subscription. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--api-version**|constant|Api Version|/something/my_option|/something/myOption| +|**--body**|object|The subscription creation parameters.|/something/my_option|/something/myOption| +|**--display-name**|string|The friendly name of the subscription.|/something/my_option|/something/myOption| +|**--sku-id**|string|The SKU ID of the Azure plan. Azure plan determines the pricing and service-level agreement of the subscription. Use 001 for Microsoft Azure Plan and 002 for Microsoft Azure Plan for DevTest.|/something/my_option|/something/myOption| +|--cost-center**|string|If set, the cost center will show up on the Azure usage and charges file.|/something/my_option|/something/myOption| +|--owner**|object|Active Directory Principal who’ll get owner access on the new subscription.|/something/my_option|/something/myOption| +|--management-group-id**|string|The identifier of the management group to which this subscription will be associated.|/something/my_option|/something/myOption| +### account subscription create-subscription-in-enrollment-account + +create-subscription-in-enrollment-account a account subscription. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--api-version**|constant|Api Version|/something/my_option|/something/myOption| +|**--body**|object|The subscription creation parameters.|/something/my_option|/something/myOption| +|--display-name**|string|The display name of the subscription.|/something/my_option|/something/myOption| +|--management-group-id**|string|The Management Group Id.|/something/my_option|/something/myOption| +|--owners**|array|The list of principals that should be granted Owner access on the subscription. Principals should be of type User, Service Principal or Security Group.|/something/my_option|/something/myOption| +|--offer-type**|choice|The offer type of the subscription. For example, MS-AZR-0017P (EnterpriseAgreement) and MS-AZR-0148P (EnterpriseAgreement devTest) are available. Only valid when creating a subscription in a enrollment account scope.|/something/my_option|/something/myOption| +### account subscription enable + +enable a account subscription. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--api-version**|constant|Api Version|/something/my_option|/something/myOption| +### account subscription rename + +rename a account subscription. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--api-version**|constant|Api Version|/something/my_option|/something/myOption| +|**--body**|object|Subscription Name|/something/my_option|/something/myOption| +|--subscription-name**|string|New subscription name|/something/my_option|/something/myOption| +### account subscription-operation show + +show a account subscription-operation. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--api-version**|constant|Api Version|/something/my_option|/something/myOption| \ No newline at end of file diff --git a/src/account/setup.cfg b/src/account/setup.cfg new file mode 100644 index 00000000000..3c6e79cf31d --- /dev/null +++ b/src/account/setup.cfg @@ -0,0 +1,2 @@ +[bdist_wheel] +universal=1 diff --git a/src/account/setup.py b/src/account/setup.py new file mode 100644 index 00000000000..03591dc1fe5 --- /dev/null +++ b/src/account/setup.py @@ -0,0 +1,58 @@ +#!/usr/bin/env python + +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + + +from codecs import open +from setuptools import setup, find_packages +try: + from azure_bdist_wheel import cmdclass +except ImportError: + from distutils import log as logger + logger.warn("Wheel is not available, disabling bdist_wheel hook") + +# TODO: Confirm this is the right version number you want and it matches your +# HISTORY.rst entry. +VERSION = '0.1.0' + +# The full list of classifiers is available at +# https://pypi.python.org/pypi?%3Aaction=list_classifiers +CLASSIFIERS = [ + 'Development Status :: 4 - Beta', + 'Intended Audience :: Developers', + 'Intended Audience :: System Administrators', + 'Programming Language :: Python', + 'Programming Language :: Python :: 3', + 'Programming Language :: Python :: 3.6', + 'Programming Language :: Python :: 3.7', + 'Programming Language :: Python :: 3.8', + 'License :: OSI Approved :: MIT License', +] + +# TODO: Add any additional SDK dependencies here +DEPENDENCIES = [] + +with open('README.rst', 'r', encoding='utf-8') as f: + README = f.read() +with open('HISTORY.rst', 'r', encoding='utf-8') as f: + HISTORY = f.read() + +setup( + name='account', + version=VERSION, + description='Microsoft Azure Command-Line Tools SubscriptionClient Extension', + # TODO: Update author and email, if applicable + author='Microsoft Corporation', + author_email='azpycli@microsoft.com', + # TODO: consider pointing directly to your source code instead of the generic repo + url='https://github.com/Azure/azure-cli-extensions', + long_description=README + '\n\n' + HISTORY, + license='MIT', + classifiers=CLASSIFIERS, + packages=find_packages(), + install_requires=DEPENDENCIES, + package_data={'azext_account': ['azext_metadata.json']}, +) diff --git a/src/ai-did-you-mean-this/HISTORY.rst b/src/ai-did-you-mean-this/HISTORY.rst new file mode 100644 index 00000000000..8a260cbb3fc --- /dev/null +++ b/src/ai-did-you-mean-this/HISTORY.rst @@ -0,0 +1,19 @@ +.. :changelog: + +Release History +=============== + +0.1.0 +++++++ +* Initial release. +* Add autogenerated recommendations for recovery from UserFault failures. +* Ensure that the hook is activated in common UserFault failure scenarios. + +0.1.1 ++++++ +* Update service URL to production endpoint. +* Tag as experimental rather than in-preview. + +0.2.0 ++++++ +* Change name of required service parameter \ No newline at end of file diff --git a/src/ai-did-you-mean-this/README.md b/src/ai-did-you-mean-this/README.md new file mode 100644 index 00000000000..634db4ef845 --- /dev/null +++ b/src/ai-did-you-mean-this/README.md @@ -0,0 +1,91 @@ +# Microsoft Azure CLI 'AI Did You Mean This' Extension # + +### Installation ### +To install the extension, use the below CLI command +``` +az extension add --name ai-did-you-mean-this +``` + +### Background ### +The purpose of this extension is help users recover from failure. Once installed, failure recovery recommendations will automatically be provided for supported command failures. In cases where no recommendations are available, a prompt to use `az find` will be shown provided that the command can be matched to a valid CLI command. +### Limitations ### +For now, recommendations are limited to parser failures (i.e. not in a command group, argument required, unrecognized parameter, expected one argument, etc). Support for more core failures is planned for a future release. +### Try it out! ### +The following examples demonstrate how to trigger the extension. For a more complete list of supported CLI failure types, see this [CLI PR](https://github.com/Azure/azure-cli/pull/12889). Keep in mind that the recommendations shown here may be different from the ones that you receive. + +#### az account #### +``` +> az account +az account: error: the following arguments are required: _subcommand +usage: az account [-h] + {list,set,show,clear,list-locations,get-access-token,lock,management-group} + ... + +Here are the most common ways users succeeded after [account] failed: + az account list + az account show +``` + +#### az account set #### +``` +> az account set +az account set: error: the following arguments are required: --subscription/-s +usage: az account set [-h] [--verbose] [--debug] [--only-show-errors] + [--output {json,jsonc,yaml,yamlc,table,tsv,none}] + [--query JMESPATH] --subscription SUBSCRIPTION + +Here are the most common ways users succeeded after [account set] failed: + az account set --subscription Subscription +``` + +#### az group create #### +``` +>az group create +az group create: error: the following arguments are required: --name/--resource-group/-n/-g, --location/-l +usage: az group create [-h] [--verbose] [--debug] [--only-show-errors] + [--output {json,jsonc,yaml,yamlc,table,tsv,none}] + [--query JMESPATH] [--subscription _SUBSCRIPTION] + --name RG_NAME --location LOCATION + [--tags [TAGS [TAGS ...]]] [--managed-by MANAGED_BY] + +Here are the most common ways users succeeded after [group create] failed: + az group create --location westeurope --resource-group MyResourceGroup +``` +#### az vm list ### +``` +> az vm list --query ".id" +az vm list: error: argument --query: invalid jmespath_type value: '.id' +usage: az vm list [-h] [--verbose] [--debug] [--only-show-errors] + [--output {json,jsonc,yaml,yamlc,table,tsv,none}] + [--query JMESPATH] [--subscription _SUBSCRIPTION] + [--resource-group RESOURCE_GROUP_NAME] [--show-details] + +Sorry I am not able to help with [vm list] +Try running [az find "az vm list"] to see examples of [vm list] from other users. +``` +### Developer Build ### +If you want to try an experimental release of the extension, it is recommended you do so in a [Docker container](https://www.docker.com/resources/what-container). Keep in mind that you'll need to install Docker and pull the desired [Azure CLI image](https://hub.docker.com/_/microsoft-azure-cli) from the Microsoft Container Registry before proceeding. + +#### Setting up your Docker Image #### +To run the Azure CLI Docker image as an interactive shell, run the below command by replacing `` with your desired CLI version +```bash +docker run -it mcr.microsoft.com/azure-cli: +export EXT="ai-did-you-mean-this" +pip install --upgrade --target ~/.azure/cliextensions/$EXT "git+https://github.com/christopher-o-toole/azure-cli-extensions.git@thoth-extension#subdirectory=src/$EXT&egg=$EXT" +``` +Each time you start a new shell, you'll need to login before you can start using the extension. To do so, run +```bash +az login +``` +and follow the instructions given in the prompt. Once you're logged in, try out the extension by issuing a faulty command +``` +> az account +az account: error: the following arguments are required: _subcommand +usage: az account [-h] + {list,set,show,clear,list-locations,get-access-token,lock,management-group} + ... + +Here are the most common ways users succeeded after [account] failed: + az account list + az account show +``` \ No newline at end of file diff --git a/src/ai-did-you-mean-this/azext_ai_did_you_mean_this/__init__.py b/src/ai-did-you-mean-this/azext_ai_did_you_mean_this/__init__.py new file mode 100644 index 00000000000..8db2b74fe04 --- /dev/null +++ b/src/ai-did-you-mean-this/azext_ai_did_you_mean_this/__init__.py @@ -0,0 +1,52 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +from azure.cli.core import AzCommandsLoader + +from knack.events import ( + EVENT_INVOKER_CMD_TBL_LOADED +) + +from azext_ai_did_you_mean_this._help import helps # pylint: disable=unused-import +from azext_ai_did_you_mean_this._cmd_table import on_command_table_loaded + + +def inject_functions_into_core(): + from azure.cli.core.parser import AzCliCommandParser + from azext_ai_did_you_mean_this.custom import recommend_recovery_options + AzCliCommandParser.recommendation_provider = recommend_recovery_options + + +# pylint: disable=too-few-public-methods +class GlobalConfig(): + ENABLE_STYLING = False + + +class AiDidYouMeanThisCommandsLoader(AzCommandsLoader): + def __init__(self, cli_ctx=None): + from azure.cli.core.commands import CliCommandType + + ai_did_you_mean_this_custom = CliCommandType( + operations_tmpl='azext_ai_did_you_mean_this.custom#{}') + super().__init__(cli_ctx=cli_ctx, + custom_command_type=ai_did_you_mean_this_custom) + self.cli_ctx.register_event(EVENT_INVOKER_CMD_TBL_LOADED, on_command_table_loaded) + inject_functions_into_core() + # per https://github.com/Azure/azure-cli/pull/12601 + try: + GlobalConfig.ENABLE_STYLING = cli_ctx.enable_color + except AttributeError: + pass + + def load_command_table(self, args): + from azext_ai_did_you_mean_this.commands import load_command_table + load_command_table(self, args) + return self.command_table + + def load_arguments(self, command): + pass + + +COMMAND_LOADER_CLS = AiDidYouMeanThisCommandsLoader diff --git a/src/ai-did-you-mean-this/azext_ai_did_you_mean_this/_cmd_table.py b/src/ai-did-you-mean-this/azext_ai_did_you_mean_this/_cmd_table.py new file mode 100644 index 00000000000..9d77a5db9bd --- /dev/null +++ b/src/ai-did-you-mean-this/azext_ai_did_you_mean_this/_cmd_table.py @@ -0,0 +1,13 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + + +class CommandTable(): # pylint: disable=too-few-public-methods + CMD_TBL = None + + +def on_command_table_loaded(_, **kwargs): + cmd_tbl = kwargs.pop('cmd_tbl', None) + CommandTable.CMD_TBL = cmd_tbl diff --git a/src/ai-did-you-mean-this/azext_ai_did_you_mean_this/_const.py b/src/ai-did-you-mean-this/azext_ai_did_you_mean_this/_const.py new file mode 100644 index 00000000000..238ec3151e6 --- /dev/null +++ b/src/ai-did-you-mean-this/azext_ai_did_you_mean_this/_const.py @@ -0,0 +1,34 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +UPDATE_RECOMMENDATION_STR = ( + "Better failure recovery recommendations are available from the latest version of the CLI. " + "Please update for the best experience.\n" +) + +UNABLE_TO_HELP_FMT_STR = ( + '\nSorry I am not able to help with [{command}]' + '\nTry running [az find "az {command}"] to see examples of [{command}] from other users.' +) + +RECOMMENDATION_HEADER_FMT_STR = ( + '\nHere are the most common ways users succeeded after [{command}] failed:' +) + +TELEMETRY_MUST_BE_ENABLED_STR = ( + 'User must agree to telemetry before failure recovery recommendations can be presented.' +) + +TELEMETRY_MISSING_SUBSCRIPTION_ID_STR = ( + "Subscription ID was not set in telemetry." +) + +TELEMETRY_MISSING_CORRELATION_ID_STR = ( + "Correlation ID was not set in telemetry." +) + +UNABLE_TO_CALL_SERVICE_STR = ( + 'Either the subscription ID or correlation ID was not set. Aborting operation.' +) diff --git a/src/ai-did-you-mean-this/azext_ai_did_you_mean_this/_help.py b/src/ai-did-you-mean-this/azext_ai_did_you_mean_this/_help.py new file mode 100644 index 00000000000..8c8e70d9a85 --- /dev/null +++ b/src/ai-did-you-mean-this/azext_ai_did_you_mean_this/_help.py @@ -0,0 +1,17 @@ +# coding=utf-8 +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +from knack.help_files import helps # pylint: disable=unused-import + +helps['ai-did-you-mean-this'] = """ + type: group + short-summary: Add recommendations for recovering from failure. +""" + +helps['ai-did-you-mean-this version'] = """ + type: command + short-summary: Prints the extension version. +""" diff --git a/src/ai-did-you-mean-this/azext_ai_did_you_mean_this/_style.py b/src/ai-did-you-mean-this/azext_ai_did_you_mean_this/_style.py new file mode 100644 index 00000000000..f32e8452062 --- /dev/null +++ b/src/ai-did-you-mean-this/azext_ai_did_you_mean_this/_style.py @@ -0,0 +1,28 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +import sys + +from azext_ai_did_you_mean_this import GlobalConfig + + +def style_message(msg): + if should_enable_styling(): + import colorama # pylint: disable=import-error + + try: + msg = colorama.Style.BRIGHT + msg + colorama.Style.RESET_ALL + except KeyError: + pass + return msg + + +def should_enable_styling(): + try: + if GlobalConfig.ENABLE_STYLING and sys.stdout.isatty(): + return True + except AttributeError: + pass + return False diff --git a/src/ai-did-you-mean-this/azext_ai_did_you_mean_this/azext_metadata.json b/src/ai-did-you-mean-this/azext_ai_did_you_mean_this/azext_metadata.json new file mode 100644 index 00000000000..0359f7a6eb3 --- /dev/null +++ b/src/ai-did-you-mean-this/azext_ai_did_you_mean_this/azext_metadata.json @@ -0,0 +1,4 @@ +{ + "azext.isExperimental": true, + "azext.minCliCoreVersion": "2.4.0" +} \ No newline at end of file diff --git a/src/ai-did-you-mean-this/azext_ai_did_you_mean_this/commands.py b/src/ai-did-you-mean-this/azext_ai_did_you_mean_this/commands.py new file mode 100644 index 00000000000..0732b3eba2c --- /dev/null +++ b/src/ai-did-you-mean-this/azext_ai_did_you_mean_this/commands.py @@ -0,0 +1,12 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +# pylint: disable=line-too-long + + +def load_command_table(self, _): + + with self.command_group('ai-did-you-mean-this', is_preview=True) as g: + g.custom_command('version', 'show_extension_version') diff --git a/src/ai-did-you-mean-this/azext_ai_did_you_mean_this/custom.py b/src/ai-did-you-mean-this/azext_ai_did_you_mean_this/custom.py new file mode 100644 index 00000000000..0d10265b846 --- /dev/null +++ b/src/ai-did-you-mean-this/azext_ai_did_you_mean_this/custom.py @@ -0,0 +1,242 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +import json +from http import HTTPStatus + +import requests +from requests import RequestException + +import azure.cli.core.telemetry as telemetry + +from knack.log import get_logger +from knack.util import CLIError # pylint: disable=unused-import + +from azext_ai_did_you_mean_this.failure_recovery_recommendation import FailureRecoveryRecommendation +from azext_ai_did_you_mean_this._style import style_message +from azext_ai_did_you_mean_this._const import ( + RECOMMENDATION_HEADER_FMT_STR, + UNABLE_TO_HELP_FMT_STR, + TELEMETRY_MUST_BE_ENABLED_STR, + TELEMETRY_MISSING_SUBSCRIPTION_ID_STR, + TELEMETRY_MISSING_CORRELATION_ID_STR, + UNABLE_TO_CALL_SERVICE_STR +) +from azext_ai_did_you_mean_this._cmd_table import CommandTable + +logger = get_logger(__name__) + + +# Commands +# note: at least one command is required in order for the CLI to load the extension. +def show_extension_version(): + print('Current version: 0.2.0') + + +def _log_debug(msg, *args, **kwargs): + # TODO: see if there's a way to change the log formatter locally without printing to stdout + msg = f'[Thoth]: {msg}' + logger.debug(msg, *args, **kwargs) + + +def get_parameter_table(cmd_table, command, recurse=True): + az_cli_command = cmd_table.get(command, None) + parameter_table = az_cli_command.arguments if az_cli_command else None + + # if the specified command was not found and recursive search is enabled... + if not az_cli_command and recurse: + # if there are at least two tokens separated by whitespace, remove the last token + last_delim_idx = command.rfind(' ') + if last_delim_idx != -1: + _log_debug('Removing unknown token "%s" from command.', command[last_delim_idx + 1:]) + # try to find the truncated command. + parameter_table, command = get_parameter_table(cmd_table, command[:last_delim_idx], recurse=False) + + return parameter_table, command + + +def normalize_and_sort_parameters(cmd_table, command, parameters): + from knack.deprecation import Deprecated + _log_debug('normalize_and_sort_parameters: command: "%s", parameters: "%s"', command, parameters) + + parameter_set = set() + parameter_table, command = get_parameter_table(cmd_table, command) + + if parameters: + # TODO: Avoid setting rules for global parameters manually. + rules = { + '-h': '--help', + '-o': '--output', + '--only-show-errors': None, + '--help': None, + '--output': None, + '--query': None, + '--debug': None, + '--verbose': None + } + + blocklisted = {'--debug', '--verbose'} + + if parameter_table: + for argument in parameter_table.values(): + options = argument.type.settings['options_list'] + # remove deprecated arguments. + options = (option for option in options if not isinstance(option, Deprecated)) + + # attempt to create a rule for each potential parameter. + try: + # sort parameters by decreasing length. + sorted_options = sorted(options, key=len, reverse=True) + # select the longest parameter as the standard form + standard_form = sorted_options[0] + + for option in sorted_options[1:]: + rules[option] = standard_form + + # don't apply any rules for the parameter's standard form. + rules[standard_form] = None + except TypeError: + # ignore cases in which one of the option objects is of an unsupported type. + _log_debug('Unexpected argument options `%s` of type `%s`.', options, type(options).__name__) + + for parameter in parameters: + if parameter in rules: + # normalize the parameter or do nothing if already normalized + normalized_form = rules.get(parameter, None) or parameter + # add the parameter to our result set + parameter_set.add(normalized_form) + else: + # ignore any parameters that we were unable to validate. + _log_debug('"%s" is an invalid parameter for command "%s".', parameter, command) + + # remove any special global parameters that would typically be removed by the CLI + parameter_set.difference_update(blocklisted) + + # get the list of parameters as a comma-separated list + return command, ','.join(sorted(parameter_set)) + + +def recommend_recovery_options(version, command, parameters, extension): + from timeit import default_timer as timer + start_time = timer() + elapsed_time = None + + result = [] + cmd_tbl = CommandTable.CMD_TBL + _log_debug('recommend_recovery_options: version: "%s", command: "%s", parameters: "%s", extension: "%s"', + version, command, parameters, extension) + + # if the user doesn't agree to telemetry... + if not telemetry.is_telemetry_enabled(): + _log_debug(TELEMETRY_MUST_BE_ENABLED_STR) + return result + + # if the command is empty... + if not command: + # try to get the raw command field from telemetry. + session = telemetry._session # pylint: disable=protected-access + # get the raw command parsed by the CommandInvoker object. + command = session.raw_command + if command: + _log_debug(f'Setting command to [{command}] from telemtry.') + + def append(line): + result.append(line) + + def unable_to_help(command): + msg = UNABLE_TO_HELP_FMT_STR.format(command=command) + append(msg) + + def show_recommendation_header(command): + msg = RECOMMENDATION_HEADER_FMT_STR.format(command=command) + append(style_message(msg)) + + if extension: + _log_debug('Detected extension. No action to perform.') + if not command: + _log_debug('Command is empty. No action to perform.') + + # if an extension is in-use or the command is empty... + if extension or not command: + return result + + # perform some rudimentary parsing to extract the parameters and command in a standard form + command, parameters = normalize_and_sort_parameters(cmd_tbl, command, parameters) + response = call_aladdin_service(command, parameters, version) + + # only show recommendations when we can contact the service. + if response and response.status_code == HTTPStatus.OK: + recommendations = get_recommendations_from_http_response(response) + + if recommendations: + show_recommendation_header(command) + + for recommendation in recommendations: + append(f"\t{recommendation}") + # only prompt user to use "az find" for valid CLI commands + # note: pylint has trouble resolving statically initialized variables, which is why + # we need to disable the unsupported membership test rule + elif any(cmd.startswith(command) for cmd in cmd_tbl.keys()): # pylint: disable=unsupported-membership-test + unable_to_help(command) + + elapsed_time = timer() - start_time + _log_debug('The overall time it took to process failure recovery recommendations was %.2fms.', elapsed_time * 1000) + + return result + + +def get_recommendations_from_http_response(response): + recommendations = [] + + for suggestion in response.json(): + recommendations.append(FailureRecoveryRecommendation(suggestion)) + + return recommendations + + +def call_aladdin_service(command, parameters, version): + _log_debug('call_aladdin_service: version: "%s", command: "%s", parameters: "%s"', + version, command, parameters) + + response = None + + correlation_id = telemetry._session.correlation_id # pylint: disable=protected-access + subscription_id = telemetry._get_azure_subscription_id() # pylint: disable=protected-access + + if subscription_id and correlation_id: + context = { + "correlationId": correlation_id, + "subscriptionId": subscription_id, + "versionNumber": version + } + + query = { + "command": command, + "parameters": parameters + } + + api_url = 'https://app.aladdin.microsoft.com/api/v1.0/suggestions' + headers = {'Content-Type': 'application/json'} + + try: + response = requests.get( + api_url, + params={ + 'query': json.dumps(query), + 'clientType': 'AzureCli', + 'context': json.dumps(context) + }, + headers=headers) + except RequestException as ex: + _log_debug('requests.get() exception: %s', ex) + else: + if subscription_id is None: + _log_debug(TELEMETRY_MISSING_SUBSCRIPTION_ID_STR) + if correlation_id is None: + _log_debug(TELEMETRY_MISSING_CORRELATION_ID_STR) + + _log_debug(UNABLE_TO_CALL_SERVICE_STR) + + return response diff --git a/src/ai-did-you-mean-this/azext_ai_did_you_mean_this/failure_recovery_recommendation.py b/src/ai-did-you-mean-this/azext_ai_did_you_mean_this/failure_recovery_recommendation.py new file mode 100644 index 00000000000..e52c9cb567b --- /dev/null +++ b/src/ai-did-you-mean-this/azext_ai_did_you_mean_this/failure_recovery_recommendation.py @@ -0,0 +1,64 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + + +def assert_has_split_method(field, value): + if not getattr(value, 'split') or not callable(value.split): + raise TypeError(f'value assigned to `{field}` must contain split method') + + +class FailureRecoveryRecommendation(): + def __init__(self, data): + data['SuccessCommand'] = data.get('SuccessCommand', '') + data['SuccessCommand_Parameters'] = data.get('SuccessCommand_Parameters', '') + data['SuccessCommand_ArgumentPlaceholders'] = data.get('SuccessCommand_ArgumentPlaceholders', '') + + self._command = data['SuccessCommand'] + self._parameters = data['SuccessCommand_Parameters'] + self._placeholders = data['SuccessCommand_ArgumentPlaceholders'] + + for attr in ('_parameters', '_placeholders'): + value = getattr(self, attr) + value = '' if value == '{}' else value + setattr(self, attr, value) + + @property + def command(self): + return self._command + + @command.setter + def command(self, value): + self._command = value + + @property + def parameters(self): + return self._parameters.split(',') + + @parameters.setter + def parameters(self, value): + assert_has_split_method('parameters', value) + self._parameters = value + + @property + def placeholders(self): + return self._placeholders.split(',') + + @placeholders.setter + def placeholders(self, value): + assert_has_split_method('placeholders', value) + self._placeholders = value + + def __str__(self): + parameter_and_argument_buffer = [] + + for pair in zip(self.parameters, self.placeholders): + parameter_and_argument_buffer.append(' '.join(pair)) + + return f"az {self.command} {' '.join(parameter_and_argument_buffer)}" + + def __eq__(self, value): + return (self.command == value.command and + self.parameters == value.parameters and + self.placeholders == value.placeholders) diff --git a/src/ai-did-you-mean-this/azext_ai_did_you_mean_this/tests/__init__.py b/src/ai-did-you-mean-this/azext_ai_did_you_mean_this/tests/__init__.py new file mode 100644 index 00000000000..99c0f28cd71 --- /dev/null +++ b/src/ai-did-you-mean-this/azext_ai_did_you_mean_this/tests/__init__.py @@ -0,0 +1,5 @@ +# ----------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# ----------------------------------------------------------------------------- diff --git a/src/ai-did-you-mean-this/azext_ai_did_you_mean_this/tests/latest/__init__.py b/src/ai-did-you-mean-this/azext_ai_did_you_mean_this/tests/latest/__init__.py new file mode 100644 index 00000000000..99c0f28cd71 --- /dev/null +++ b/src/ai-did-you-mean-this/azext_ai_did_you_mean_this/tests/latest/__init__.py @@ -0,0 +1,5 @@ +# ----------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# ----------------------------------------------------------------------------- diff --git a/src/ai-did-you-mean-this/azext_ai_did_you_mean_this/tests/latest/_commands.py b/src/ai-did-you-mean-this/azext_ai_did_you_mean_this/tests/latest/_commands.py new file mode 100644 index 00000000000..32f97e1a602 --- /dev/null +++ b/src/ai-did-you-mean-this/azext_ai_did_you_mean_this/tests/latest/_commands.py @@ -0,0 +1,132 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +from collections import namedtuple +from enum import Enum + +GLOBAL_ARGS = set(('--debug', '--verbose', '--help', '--only-show-errors', '--output', '--query')) +GLOBAL_ARG_BLACKLIST = set(('--debug', '--verbose')) +GLOBAL_ARG_WHITELIST = GLOBAL_ARGS.difference(GLOBAL_ARG_BLACKLIST) +GLOBAL_ARGS_SHORTHAND_MAP = {'-h': '--help', '-o': '--output'} +GLOBAL_ARG_LIST = tuple(GLOBAL_ARGS) + tuple(GLOBAL_ARGS_SHORTHAND_MAP.keys()) + +Arguments = namedtuple('Arguments', ['actual', 'expected']) +CliCommand = namedtuple('CliCommand', ['module', 'command', 'args']) + + +def get_expected_args(args): + return [arg for arg in args if arg.startswith('--')] + + +VM_MODULE_ARGS = ['-g', '--name', '-n', '--resource-group', '--subscription'] +VM_MODULE_EXPECTED_ARGS = get_expected_args(VM_MODULE_ARGS) + +VM_SHOW_ARGS = Arguments( + actual=VM_MODULE_ARGS, + expected=VM_MODULE_EXPECTED_ARGS +) + +_VM_CREATE_ARGS = ['--zone', '-z', '--vmss', '--location', '-l', '--nsg', '--subnet'] + +VM_CREATE_ARGS = Arguments( + actual=VM_MODULE_ARGS + _VM_CREATE_ARGS, + expected=VM_MODULE_EXPECTED_ARGS + get_expected_args(_VM_CREATE_ARGS) +) + +ACCOUNT_ARGS = Arguments( + actual=[], + expected=[] +) + +ACCOUNT_SET_ARGS = Arguments( + actual=['-s', '--subscription'], + expected=['--subscription'] +) + +EXTENSION_LIST_ARGS = Arguments( + actual=['--foo', '--bar'], + expected=[] +) + +AI_DID_YOU_MEAN_THIS_VERSION_ARGS = Arguments( + actual=['--baz'], + expected=[] +) + +KUSTO_CLUSTER_CREATE_ARGS = Arguments( + actual=['-l', '-g', '--no-wait'], + expected=['--location', '--resource-group', '--no-wait'] +) + + +def add_global_args(args, global_args=GLOBAL_ARG_LIST): + expected_global_args = list(GLOBAL_ARG_WHITELIST) + args.actual.extend(global_args) + args.expected.extend(expected_global_args) + return args + + +class AzCommandType(Enum): + VM_SHOW = CliCommand( + module='vm', + command='vm show', + args=add_global_args(VM_SHOW_ARGS) + ) + VM_CREATE = CliCommand( + module='vm', + command='vm create', + args=add_global_args(VM_CREATE_ARGS) + ) + ACCOUNT = CliCommand( + module='account', + command='account', + args=add_global_args(ACCOUNT_ARGS) + ) + ACCOUNT_SET = CliCommand( + module='account', + command='account set', + args=add_global_args(ACCOUNT_SET_ARGS) + ) + EXTENSION_LIST = CliCommand( + module='extension', + command='extension list', + args=add_global_args(EXTENSION_LIST_ARGS) + ) + AI_DID_YOU_MEAN_THIS_VERSION = CliCommand( + module='ai-did-you-mean-this', + command='ai-did-you-mean-this version', + args=add_global_args(AI_DID_YOU_MEAN_THIS_VERSION_ARGS) + ) + KUSTO_CLUSTER_CREATE = CliCommand( + module='kusto', + command='kusto cluster create', + args=add_global_args(KUSTO_CLUSTER_CREATE_ARGS) + ) + + def __init__(self, module, command, args): + self._expected_args = list(sorted(args.expected)) + self._args = args.actual + self._module = module + self._command = command + + @property + def parameters(self): + return self._args + + @property + def expected_parameters(self): + return ','.join(self._expected_args) + + @property + def module(self): + return self._module + + @property + def command(self): + return self._command + + +def get_commands(): + return list({command_type.command for command_type in AzCommandType}) diff --git a/src/ai-did-you-mean-this/azext_ai_did_you_mean_this/tests/latest/_mock.py b/src/ai-did-you-mean-this/azext_ai_did_you_mean_this/tests/latest/_mock.py new file mode 100644 index 00000000000..9617c48d3ba --- /dev/null +++ b/src/ai-did-you-mean-this/azext_ai_did_you_mean_this/tests/latest/_mock.py @@ -0,0 +1,103 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +import os +import json +import unittest.mock as mock +from enum import Enum, auto +from http import HTTPStatus +from collections import namedtuple +from contextlib import contextmanager + +import requests + +from azext_ai_did_you_mean_this.failure_recovery_recommendation import FailureRecoveryRecommendation + +# mock service call context attributes +MOCK_UUID = '00000000-0000-0000-0000-000000000000' +MOCK_VERSION = '2.4.0' + +# mock recommendation data constants +MOCK_MODEL_DIR = 'model' +MOCK_RECOMMENDATION_MODEL_FILENAME = 'recommendations.json' + + +RecommendationData = namedtuple('RecommendationData', ['recommendations', 'arguments', 'user_fault_type', 'extension']) + + +class UserFaultType(Enum): + MISSING_REQUIRED_SUBCOMMAND = auto() + NOT_IN_A_COMMAND_GROUP = auto() + EXPECTED_AT_LEAST_ONE_ARGUMENT = auto() + UNRECOGNIZED_ARGUMENTS = auto() + INVALID_JMESPATH_QUERY = auto() + NOT_APPLICABLE = auto() + + +def get_mock_recommendation_model_path(folder): + return os.path.join(folder, MOCK_MODEL_DIR, MOCK_RECOMMENDATION_MODEL_FILENAME) + + +def _parse_entity(entity): + kwargs = {} + kwargs['recommendations'] = entity.get('recommendations', []) + kwargs['arguments'] = entity.get('arguments', '') + kwargs['extension'] = entity.get('extension', None) + kwargs['user_fault_type'] = UserFaultType[entity.get('user_fault_type', 'not_applicable').upper()] + return RecommendationData(**kwargs) + + +class MockRecommendationModel(): + MODEL = None + NO_DATA = None + + @classmethod + def load(cls, path): + content = None + model = {} + + with open(os.path.join(path), 'r') as test_recommendation_data_file: + content = json.load(test_recommendation_data_file) + + for command, entity in content.items(): + model[command] = _parse_entity(entity) + + cls.MODEL = model + cls.NO_DATA = _parse_entity({}) + + @classmethod + def create_mock_aladdin_service_http_response(cls, command): + mock_response = requests.Response() + mock_response.status_code = HTTPStatus.OK.value + data = cls.get_recommendation_data(command) + mock_response._content = bytes(json.dumps(data.recommendations), 'utf-8') # pylint: disable=protected-access + return mock_response + + @classmethod + def get_recommendation_data(cls, command): + return cls.MODEL.get(command, cls.NO_DATA) + + @classmethod + def get_recommendations(cls, command): + data = cls.get_recommendation_data(command) + recommendations = [FailureRecoveryRecommendation(recommendation) for recommendation in data.recommendations] + return recommendations + + @classmethod + def get_test_cases(cls): + cases = [] + model = cls.MODEL or {} + for command, entity in model.items(): + cases.append((command, entity)) + return cases + + +@contextmanager +def mock_aladdin_service_call(command): + handlers = {} + handler = handlers.get(command, MockRecommendationModel.create_mock_aladdin_service_http_response) + + with mock.patch('requests.get', return_value=handler(command)): + yield None diff --git a/src/ai-did-you-mean-this/azext_ai_did_you_mean_this/tests/latest/aladdin_scenario_test_base.py b/src/ai-did-you-mean-this/azext_ai_did_you_mean_this/tests/latest/aladdin_scenario_test_base.py new file mode 100644 index 00000000000..2003f2e99e5 --- /dev/null +++ b/src/ai-did-you-mean-this/azext_ai_did_you_mean_this/tests/latest/aladdin_scenario_test_base.py @@ -0,0 +1,152 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +import re +import logging +import unittest.mock as mock + +from azure.cli.testsdk.patches import mock_in_unit_test +from azure.cli.testsdk import ScenarioTest + +from azext_ai_did_you_mean_this._const import UNABLE_TO_HELP_FMT_STR, RECOMMENDATION_HEADER_FMT_STR +from azext_ai_did_you_mean_this._cmd_table import CommandTable +from azext_ai_did_you_mean_this.tests.latest._mock import MOCK_UUID, MOCK_VERSION +from azext_ai_did_you_mean_this.custom import recommend_recovery_options +from azext_ai_did_you_mean_this.tests.latest._mock import UserFaultType + +TELEMETRY_MODULE = 'azure.cli.core.telemetry' +TELEMETRY_SESSION_OBJECT = f'{TELEMETRY_MODULE}._session' + +USER_FAULT_TYPE_KEYWORDS = { + UserFaultType.EXPECTED_AT_LEAST_ONE_ARGUMENT: 'expected', + UserFaultType.INVALID_JMESPATH_QUERY: 'jmespath', + UserFaultType.MISSING_REQUIRED_SUBCOMMAND: '_subcommand', + UserFaultType.NOT_IN_A_COMMAND_GROUP: 'command group', + UserFaultType.UNRECOGNIZED_ARGUMENTS: 'unrecognized' +} + +FMT_STR_PATTERN_REGEX = r'\[[^\]]+\]|{[^}]+}' +SUGGEST_AZ_FIND_PATTERN_REGEX = re.sub(FMT_STR_PATTERN_REGEX, r'.*', UNABLE_TO_HELP_FMT_STR) +SHOW_RECOMMENDATIONS_PATTERN_REGEX = re.sub(FMT_STR_PATTERN_REGEX, r'.*', RECOMMENDATION_HEADER_FMT_STR) + + +def patch_ids(unit_test): + def _mock_uuid(*args, **kwargs): # pylint: disable=unused-argument + return MOCK_UUID + + mock_in_unit_test(unit_test, + f'{TELEMETRY_SESSION_OBJECT}.correlation_id', + _mock_uuid()) + mock_in_unit_test(unit_test, + f'{TELEMETRY_MODULE}._get_azure_subscription_id', + _mock_uuid) + + +def patch_version(unit_test): + mock_in_unit_test(unit_test, + 'azure.cli.core.__version__', + MOCK_VERSION) + + +def patch_telemetry(unit_test): + mock_in_unit_test(unit_test, + 'azure.cli.core.telemetry.is_telemetry_enabled', + lambda: True) + + +class AladdinScenarioTest(ScenarioTest): + def __init__(self, method_name, **kwargs): + super().__init__(method_name, **kwargs) + + default_telemetry_patches = { + patch_ids, + patch_version, + patch_telemetry + } + + self._exception = None + self._exit_code = None + self._parser_error_msg = '' + self._recommendation_msg = '' + self._recommender_positional_arguments = None + + self.telemetry_patches = kwargs.pop('telemetry_patches', default_telemetry_patches) + self.recommendations = [] + + def setUp(self): + super().setUp() + + for patch in self.telemetry_patches: + patch(self) + + def cmd(self, command, checks=None, expect_failure=False, expect_user_fault_failure=False): + from azure.cli.core.azlogging import AzCliLogging + + func = recommend_recovery_options + logger_name = AzCliLogging._COMMAND_METADATA_LOGGER # pylint: disable=protected-access + base = super() + + def _hook(*args, **kwargs): + self._recommender_positional_arguments = args + result = func(*args, **kwargs) + self.recommendations = result + return result + + def run_cmd(): + base.cmd(command, checks=checks, expect_failure=expect_failure) + + with mock.patch('azext_ai_did_you_mean_this.custom.recommend_recovery_options', wraps=_hook): + with self.assertLogs(logger_name, level=logging.ERROR) as parser_logs: + if expect_user_fault_failure: + with self.assertRaises(SystemExit) as cm: + run_cmd() + + self._exception = cm.exception + self._exit_code = self._exception.code + self._parser_error_msg = '\n'.join(parser_logs.output) + self._recommendation_msg = '\n'.join(self.recommendations) + + if expect_user_fault_failure: + self.assert_cmd_was_user_fault_failure() + else: + run_cmd() + + if expect_user_fault_failure: + self.assert_cmd_table_not_empty() + self.assert_user_fault_is_of_correct_type(expect_user_fault_failure) + + def assert_user_fault_is_of_correct_type(self, expect_user_fault_failure): + # check the user fault type where applicable + if isinstance(expect_user_fault_failure, UserFaultType): + keyword = USER_FAULT_TYPE_KEYWORDS.get(expect_user_fault_failure, None) + if keyword: + self.assertRegex(self._parser_error_msg, keyword) + + def assert_cmd_was_user_fault_failure(self): + is_user_fault_failure = (isinstance(self._exception, SystemExit) and + self._exit_code == 2) + + self.assertTrue(is_user_fault_failure) + + def assert_cmd_table_not_empty(self): + self.assertIsNotNone(CommandTable.CMD_TBL) + + def assert_recommendations_were_shown(self): + self.assertRegex(self._recommendation_msg, SHOW_RECOMMENDATIONS_PATTERN_REGEX) + + def assert_az_find_was_suggested(self): + self.assertRegex(self._recommendation_msg, SUGGEST_AZ_FIND_PATTERN_REGEX) + + def assert_nothing_is_shown(self): + self.assertEqual(self._recommendation_msg, '') + + @property + def cli_version(self): + from azure.cli.core import __version__ as core_version + return core_version + + @property + def recommender_postional_arguments(self): + return self._recommender_positional_arguments diff --git a/src/ai-did-you-mean-this/azext_ai_did_you_mean_this/tests/latest/model/recommendations.json b/src/ai-did-you-mean-this/azext_ai_did_you_mean_this/tests/latest/model/recommendations.json new file mode 100644 index 00000000000..5359be372f9 --- /dev/null +++ b/src/ai-did-you-mean-this/azext_ai_did_you_mean_this/tests/latest/model/recommendations.json @@ -0,0 +1,75 @@ +{ + "account": { + "recommendations": [ + { + "SuccessCommand": "account list", + "SuccessCommand_Parameters": "", + "SuccessCommand_ArgumentPlaceholders": "" + }, + { + "SuccessCommand": "account show", + "SuccessCommand_Parameters": "", + "SuccessCommand_ArgumentPlaceholders": "" + }, + { + "SuccessCommand": "account set", + "SuccessCommand_Parameters": "--subscription", + "SuccessCommand_ArgumentPlaceholders": "Subscription" + } + ], + "user_fault_type": "missing_required_subcommand" + + }, + "boi": { + "user_fault_type": "not_in_a_command_group" + }, + "vm show": { + "arguments": "--name \"BigJay\" --ids", + "user_fault_type": "expected_at_least_one_argument" + }, + "ai-did-you-mean-this ve": { + "user_fault_type": "not_in_a_command_group", + "extension": "ai-did-you-mean-this" + }, + "ai-did-you-mean-this version": { + "user_fault_type": "unrecognized_arguments", + "arguments": "--name \"Christopher\"", + "extension": "ai-did-you-mean-this" + }, + "extension": { + "recommendations": [ + { + "SuccessCommand": "extension list", + "SuccessCommand_Parameters": "", + "SuccessCommand_ArgumentPlaceholders": "" + } + ], + "user_fault_type": "missing_required_subcommand" + }, + "vm": { + "recommendations": [ + { + "SuccessCommand": "vm list", + "SuccessCommand_Parameters": "", + "SuccessCommand_ArgumentPlaceholders": "" + } + ], + "user_fault_type": "missing_required_subcommand", + "arguments": "--debug" + }, + "account get-access-token": { + "user_fault_type": "unrecognized_arguments", + "arguments": "--test a --debug" + }, + "vm list": { + "recommendations": [ + { + "SuccessCommand": "vm list", + "SuccessCommand_Parameters": "--output,--query", + "SuccessCommand_ArgumentPlaceholders": "json,\"[].id\"" + } + ], + "arguments": "--query \".id\"", + "user_fault_type": "invalid_jmespath_query" + } +} \ No newline at end of file diff --git a/src/ai-did-you-mean-this/azext_ai_did_you_mean_this/tests/latest/test_ai_did_you_mean_this_scenario.py b/src/ai-did-you-mean-this/azext_ai_did_you_mean_this/tests/latest/test_ai_did_you_mean_this_scenario.py new file mode 100644 index 00000000000..fa9578d1583 --- /dev/null +++ b/src/ai-did-you-mean-this/azext_ai_did_you_mean_this/tests/latest/test_ai_did_you_mean_this_scenario.py @@ -0,0 +1,75 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +import os +import unittest +import unittest.mock as mock +import json +from http import HTTPStatus +from collections import defaultdict + +import requests + +from azext_ai_did_you_mean_this.custom import call_aladdin_service, get_recommendations_from_http_response +from azext_ai_did_you_mean_this._cmd_table import CommandTable +from azext_ai_did_you_mean_this.tests.latest._mock import ( + get_mock_recommendation_model_path, + mock_aladdin_service_call, + MockRecommendationModel, + UserFaultType +) +from azext_ai_did_you_mean_this.tests.latest.aladdin_scenario_test_base import AladdinScenarioTest +from azext_ai_did_you_mean_this.tests.latest._commands import AzCommandType + +TEST_DIR = os.path.abspath(os.path.join(os.path.abspath(__file__), '..')) + + +class AiDidYouMeanThisScenarioTest(AladdinScenarioTest): + @classmethod + def setUpClass(cls): + super().setUpClass() + + MockRecommendationModel.load(get_mock_recommendation_model_path(TEST_DIR)) + cls.test_cases = MockRecommendationModel.get_test_cases() + + def setUp(self): + super().setUp() + + def test_ai_did_you_mean_this_aladdin_service_call(self): + for command, entity in self.test_cases: + tokens = entity.arguments.split() + parameters = [token for token in tokens if token.startswith('-')] + + with mock_aladdin_service_call(command): + response = call_aladdin_service(command, parameters, self.cli_version) + + self.assertEqual(HTTPStatus.OK, response.status_code) + recommendations = get_recommendations_from_http_response(response) + expected_recommendations = MockRecommendationModel.get_recommendations(command) + self.assertEquals(recommendations, expected_recommendations) + + def test_ai_did_you_mean_this_recommendations_for_user_fault_commands(self): + for command, entity in self.test_cases: + args = entity.arguments + command_with_args = command if not args else f'{command} {args}' + + with mock_aladdin_service_call(command): + self.cmd(command_with_args, expect_user_fault_failure=entity.user_fault_type) + + self.assert_cmd_table_not_empty() + cmd_tbl = CommandTable.CMD_TBL + + _version, _command, _parameters, _extension = self.recommender_postional_arguments + partial_command_match = command and any(cmd.startswith(command) for cmd in cmd_tbl.keys()) + self.assertEqual(_version, self.cli_version) + self.assertEqual(_command, command if partial_command_match else '') + self.assertEqual(bool(_extension), bool(entity.extension)) + + if entity.recommendations: + self.assert_recommendations_were_shown() + elif partial_command_match and not entity.extension: + self.assert_az_find_was_suggested() + else: + self.assert_nothing_is_shown() diff --git a/src/ai-did-you-mean-this/azext_ai_did_you_mean_this/tests/latest/test_normalize_and_sort_parameters.py b/src/ai-did-you-mean-this/azext_ai_did_you_mean_this/tests/latest/test_normalize_and_sort_parameters.py new file mode 100644 index 00000000000..06729b8b39c --- /dev/null +++ b/src/ai-did-you-mean-this/azext_ai_did_you_mean_this/tests/latest/test_normalize_and_sort_parameters.py @@ -0,0 +1,81 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +import unittest +from enum import Enum, auto + +from azure.cli.core.mock import DummyCli +from azure.cli.core import MainCommandsLoader + +from azext_ai_did_you_mean_this.custom import normalize_and_sort_parameters +from azext_ai_did_you_mean_this.tests.latest._commands import get_commands, AzCommandType + + +class TestNormalizeAndSortParameters(unittest.TestCase): + @classmethod + def setUpClass(cls): + super(TestNormalizeAndSortParameters, cls).setUpClass() + + from knack.events import EVENT_INVOKER_POST_CMD_TBL_CREATE + from azure.cli.core.commands.events import EVENT_INVOKER_PRE_LOAD_ARGUMENTS, EVENT_INVOKER_POST_LOAD_ARGUMENTS + from azure.cli.core.commands.arm import register_global_subscription_argument, register_ids_argument + + # setup a dummy CLI with a valid invocation object. + cls.cli = DummyCli() + cli_ctx = cls.cli.commands_loader.cli_ctx + cls.cli.invocation = cli_ctx.invocation_cls(cli_ctx=cli_ctx, + parser_cls=cli_ctx.parser_cls, + commands_loader_cls=cli_ctx.commands_loader_cls, + help_cls=cli_ctx.help_cls) + # load command table for every module + cmd_loader = cls.cli.invocation.commands_loader + cmd_loader.load_command_table(None) + + # Note: Both of the below events rely on EVENT_INVOKER_POST_CMD_TBL_CREATE. + # register handler for adding subscription argument + register_global_subscription_argument(cli_ctx) + # register handler for adding ids argument. + register_ids_argument(cli_ctx) + + cli_ctx.raise_event(EVENT_INVOKER_PRE_LOAD_ARGUMENTS, commands_loader=cmd_loader) + + # load arguments for each command + for cmd in get_commands(): + # simulate command invocation by filling in required metadata. + cmd_loader.command_name = cmd + cli_ctx.invocation.data['command_string'] = cmd + # load argument info for the given command. + cmd_loader.load_arguments(cmd) + + cli_ctx.raise_event(EVENT_INVOKER_POST_LOAD_ARGUMENTS, commands_loader=cmd_loader) + cli_ctx.raise_event(EVENT_INVOKER_POST_CMD_TBL_CREATE, commands_loader=cmd_loader) + + cls.cmd_tbl = cmd_loader.command_table + + def test_custom_normalize_and_sort_parameters(self): + for cmd in AzCommandType: + command, parameters = normalize_and_sort_parameters(self.cmd_tbl, cmd.command, cmd.parameters) + self.assertEqual(parameters, cmd.expected_parameters) + self.assertEqual(command, cmd.command) + + def test_custom_normalize_and_sort_parameters_remove_invalid_command_token(self): + for cmd in AzCommandType: + cmd_with_invalid_token = f'{cmd.command} oops' + command, parameters = normalize_and_sort_parameters(self.cmd_tbl, cmd_with_invalid_token, cmd.parameters) + self.assertEqual(parameters, cmd.expected_parameters) + self.assertEqual(command, cmd.command) + + def test_custom_normalize_and_sort_parameters_empty_parameter_list(self): + cmd = AzCommandType.ACCOUNT_SET + command, parameters = normalize_and_sort_parameters(self.cmd_tbl, cmd.command, '') + self.assertEqual(parameters, '') + self.assertEqual(command, cmd.command) + + def test_custom_normalize_and_sort_parameters_invalid_command(self): + invalid_cmd = 'Lorem ipsum.' + command, parameters = normalize_and_sort_parameters(self.cmd_tbl, invalid_cmd, ['--foo', '--baz']) + self.assertEqual(parameters, '') + # verify that recursive parsing removes the last invalid whitespace delimited token. + self.assertEqual(command, 'Lorem') diff --git a/src/ai-did-you-mean-this/setup.cfg b/src/ai-did-you-mean-this/setup.cfg new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/ai-did-you-mean-this/setup.py b/src/ai-did-you-mean-this/setup.py new file mode 100644 index 00000000000..708ff8f5e50 --- /dev/null +++ b/src/ai-did-you-mean-this/setup.py @@ -0,0 +1,55 @@ +#!/usr/bin/env python + +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + + +from codecs import open +from setuptools import setup, find_packages +try: + from azure_bdist_wheel import cmdclass +except ImportError: + from distutils import log as logger + logger.warn("Wheel is not available, disabling bdist_wheel hook") + +VERSION = '0.2.0' + +# The full list of classifiers is available at +# https://pypi.python.org/pypi?%3Aaction=list_classifiers +CLASSIFIERS = [ + 'Development Status :: 4 - Beta', + 'Intended Audience :: Developers', + 'Intended Audience :: System Administrators', + 'Programming Language :: Python', + 'Programming Language :: Python :: 3', + 'Programming Language :: Python :: 3.6', + 'Programming Language :: Python :: 3.7', + 'Programming Language :: Python :: 3.8', + 'License :: OSI Approved :: MIT License', +] + +DEPENDENCIES = [] + +with open('README.md', 'r', encoding='utf-8') as f: + README = f.read() +with open('HISTORY.rst', 'r', encoding='utf-8') as f: + HISTORY = f.read() + +setup( + name='ai_did_you_mean_this', + version=VERSION, + description='Recommend recovery options on failure.', + # TODO: Update author and email, if applicable + author="Christopher O'Toole", + author_email='chotool@microsoft.com', + # TODO: consider pointing directly to your source code instead of the generic repo + url='https://github.com/Azure/azure-cli-extensions/ai-did-you-mean-this', + long_description=README + '\n\n' + HISTORY, + license='MIT', + classifiers=CLASSIFIERS, + packages=find_packages(), + install_requires=DEPENDENCIES, + package_data={'azext_ai_did_you_mean_this': ['azext_metadata.json']}, +) diff --git a/src/ai-examples/HISTORY.rst b/src/ai-examples/HISTORY.rst index 36ae4114d46..575d955631f 100644 --- a/src/ai-examples/HISTORY.rst +++ b/src/ai-examples/HISTORY.rst @@ -3,6 +3,11 @@ Release History =============== +0.2.1 +++++++ +* Change telemetry collection +* Improve README + 0.2.0 ++++++ * Add AI generated examples to all group and command "--help" diff --git a/src/ai-examples/README.md b/src/ai-examples/README.md new file mode 100644 index 00000000000..778886b3cbc --- /dev/null +++ b/src/ai-examples/README.md @@ -0,0 +1,128 @@ +# Microsoft Azure CLI 'AI Examples' Extension + +Improve user experience by adding AI powered examples to command help content. + +This extension changes the default examples provided when calling `-h` or `--help` on a command, such as `az vm create -h`, with ones selected by an AI powered service. The service provides examples based on Azure usage, internet sources, and other factors. + +Install it via: +`az extension add --name ai-examples` + +## Background + +The az find module provides examples to the users when they search for a specific command or do natural language queries. Unfortunately, it requires the users to know about and use the command, which is not part of the normal flow of a CLI user. So instead this extension meets the user and replaces the normal examples from the `-h` or `--help` with AI enhanced ones. + +In addition to providing examples based on user telemetry, it also adds examples to groups and commands that do not have any baked into the CLI. + +## Examples + +**Command example** + +```bash +> az storage blob list -h + +Command + az storage blob list : List blobs in a given container. + +Arguments + --container-name -c [Required] : The container name. + --auth-mode : The mode in which to run the command. "login" mode will + directly use your login credentials for the authentication. The + legacy "key" mode will attempt to query for an account key if + no authentication parameters for the account are provided. + Environment variable: AZURE_STORAGE_AUTH_MODE. Allowed values: + key, login. + --delimiter : When the request includes this parameter, the operation returns + a :class:`~azure.storage.blob.models.BlobPrefix` element in the + result list that acts as a placeholder for all blobs whose + names begin with the same substring up to the appearance of the + delimiter character. The delimiter may be a single character or + a string. + --include : Specifies additional datasets to include: (c)opy-info, + (m)etadata, (s)napshots, (d)eleted-soft. Can be combined. + --marker : An opaque continuation token. This value can be retrieved from + the next_marker field of a previous generator object if + num_results was specified and that generator has finished + enumerating results. If specified, this generator will begin + returning results from the point where the previous generator + stopped. + --num-results : Specifies the maximum number of results to return. Provide "*" + to return all. Default: 5000. + --prefix : Filters the results to return only blobs whose names begin with + the specified prefix. + --timeout : Request timeout in seconds. Applies to each call to the + service. + +Storage Account Arguments + --account-key : Storage account key. Must be used in conjunction with storage + account name. Environment variable: AZURE_STORAGE_KEY. + --account-name : Storage account name. Related environment variable: + AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either + storage account key or a SAS token. If neither are present, the + command will try to query the storage account key using the + authenticated Azure account. If a large number of storage + commands are executed the API quota may be hit. + --connection-string : Storage account connection string. Environment variable: + AZURE_STORAGE_CONNECTION_STRING. + --sas-token : A Shared Access Signature (SAS). Must be used in conjunction + with storage account name. Environment variable: + AZURE_STORAGE_SAS_TOKEN. + +Global Arguments + --debug : Increase logging verbosity to show all debug logs. + --help -h : Show this help message and exit. + --output -o : Output format. Allowed values: json, jsonc, none, table, tsv, + yaml, yamlc. Default: json. + --query : JMESPath query string. See http://jmespath.org/ for more + information and examples. + --subscription : Name or ID of subscription. You can configure the default + subscription using `az account set -s NAME_OR_ID`. + --verbose : Increase logging verbosity. Use --debug for full debug logs. + +Examples + List blobs in a given container. (autogenerated) + az storage blob list --container-name MyContainer + + + List all storage blobs in a container whose names start with 'foo'; will match names such as + 'foo', 'foobar', and 'foo/bar' + az storage blob list --container-name MyContainer --prefix foo +``` + +**Group example** + +```bash +> az eventgrid -h + +Group + az eventgrid : Manage Azure Event Grid topics, event subscriptions, domains and domain topics. + +Subgroups: + domain : Manage event domains. + event-subscription : Manage event subscriptions. + topic : Manage Azure Event Grid topics. + topic-type : Get details for topic types. + +Examples + Create a new event subscription. (autogenerated) + az eventgrid event-subscription create --endpoint /subscriptions/{SubID}/resourceGroups/Test + RG/providers/Microsoft.EventHub/namespaces/n1/eventhubs/EH1 --name es1 --source-resource-id + "/subscriptions/{SubID}/resourceGroups/{RG}/providers/Microsoft.EventGrid/domains/domain1/to + pics/t1" + + + List event subscriptions. (autogenerated) + az eventgrid event-subscription list + + + List shared access keys of a domain. (autogenerated) + az eventgrid domain key list --name MyDomain --resource-group MyResourceGroup + + + Get the details of a topic (autogenerated) + az eventgrid topic show --name topic1 --resource-group rg1 + + +For more specific examples, use: az find "az eventgrid" + +Please let us know how we are doing: https://aka.ms/clihats +``` \ No newline at end of file diff --git a/src/ai-examples/README.rst b/src/ai-examples/README.rst deleted file mode 100644 index c321db81c46..00000000000 --- a/src/ai-examples/README.rst +++ /dev/null @@ -1,6 +0,0 @@ -Microsoft Azure CLI 'AI Examples' Extension -========================================== - -Improve user experience by adding AI powered examples to command help content. - -This extension changes the default examples provided when calling `-h` or `--help` on a command, such as `az vm create -h`, with ones selected by an AI powered service. The service provides examples based on Azure usage, internet sources, and other factors. \ No newline at end of file diff --git a/src/ai-examples/azext_ai_examples/custom.py b/src/ai-examples/azext_ai_examples/custom.py index 56d5f8680f4..c6e03350af8 100644 --- a/src/ai-examples/azext_ai_examples/custom.py +++ b/src/ai-examples/azext_ai_examples/custom.py @@ -41,7 +41,9 @@ def get_generated_examples(cli_term): if response.status_code == 200: for answer in json.loads(response.content): - examples.append(clean_from_http_answer(answer)) + # Ignore pruned responses + if answer['source'] != 'pruned': + examples.append(clean_from_http_answer(answer)) return examples @@ -76,24 +78,20 @@ def ping_aladdin_service(): def call_aladdin_service(query): - client_request_id = '' - if telemetry_core._session.application: # pylint: disable=protected-access - client_request_id = telemetry_core._session.application.data['headers']['x-ms-client-request-id'] # pylint: disable=protected-access - - session_id = telemetry_core._session._get_base_properties()['Reserved.SessionId'] # pylint: disable=protected-access + correlation_id = telemetry_core._session.correlation_id # pylint: disable=protected-access subscription_id = telemetry_core._get_azure_subscription_id() # pylint: disable=protected-access - client_request_id = client_request_id # pylint: disable=protected-access - installation_id = telemetry_core._get_installation_id() # pylint: disable=protected-access version = str(parse_version(core_version)) context = { - "sessionId": session_id, - "subscriptionId": subscription_id, - "clientRequestId": client_request_id, - "installationId": installation_id, + "correlationId": "", + "subscriptionId": "", "versionNumber": version } + # Only pull in the other values if we have consent + if telemetry_core.is_telemetry_enabled(): + context.update(correlationId=correlation_id, subscriptionId=subscription_id) + api_url = 'https://app.aladdin.microsoft.com/api/v1.0/examples' headers = {'Content-Type': 'application/json'} diff --git a/src/ai-examples/azext_ai_examples/tests/latest/test_ai_examples_scenario.py b/src/ai-examples/azext_ai_examples/tests/latest/test_ai_examples_scenario.py index 262357ae57b..fdcbc583aa3 100644 --- a/src/ai-examples/azext_ai_examples/tests/latest/test_ai_examples_scenario.py +++ b/src/ai-examples/azext_ai_examples/tests/latest/test_ai_examples_scenario.py @@ -20,10 +20,12 @@ def create_valid_http_response(): mock_response.status_code = 200 data = [{ 'title': 'RunTestAutomation', - 'snippet': 'az find' + 'snippet': 'az find', + 'source': 'crawler-example' }, { 'title': 'az test', - 'snippet': 'The title' + 'snippet': 'The title', + 'source': 'crawler-crafted' }] mock_response._content = json.dumps(data) return mock_response diff --git a/src/ai-examples/setup.py b/src/ai-examples/setup.py index ae84343ae63..4083c3b4059 100644 --- a/src/ai-examples/setup.py +++ b/src/ai-examples/setup.py @@ -15,7 +15,7 @@ logger.warn("Wheel is not available, disabling bdist_wheel hook") # HISTORY.rst entry. -VERSION = '0.2.0' +VERSION = '0.2.1' # The full list of classifiers is available at # https://pypi.python.org/pypi?%3Aaction=list_classifiers @@ -36,7 +36,7 @@ DEPENDENCIES = [] -with open('README.rst', 'r', encoding='utf-8') as f: +with open('README.md', 'r', encoding='utf-8') as f: README = f.read() with open('HISTORY.rst', 'r', encoding='utf-8') as f: HISTORY = f.read() diff --git a/src/aks-preview/HISTORY.md b/src/aks-preview/HISTORY.md index c62290e95d5..1a80e2ae92e 100644 --- a/src/aks-preview/HISTORY.md +++ b/src/aks-preview/HISTORY.md @@ -2,6 +2,49 @@ Release History =============== +0.4.52 ++++++ +* Add --uptime-sla for az aks update + +0.4.51 ++++++ +* Remove --appgw-shared flag from AGIC addon +* Handle role assignments for AGIC addon post-cluster creation +* Support --yes for "az aks upgrade" +* Revert default VM SKU to Standard_DS2_v2 + +0.4.50 ++++++ +* Add "--max-surge" for az aks nodepool add/update/upgrade + +0.4.49 ++++++ +* Fix break in get-versions since container service needs to stay on old api. + +0.4.48 ++++++ +* Fix issues of storage account name for az aks kollect + +0.4.47 ++++++ +* Add "--node-image-only" for "az aks nodepool upgrade" and "az aks upgrade"". + +0.4.46 ++++++ +* Fix issues for az aks kollect on private clusters + +0.4.45 ++++++ +* Add "--aks-custom-headers" for "az aks nodepool add" and "az aks update" + +0.4.44 ++++++ +* Fix issues with monitoring addon enabling with CLI versions 2.4.0+ + +0.4.43 ++++++ +* Add support for VMSS node public IP. + 0.4.38 +++++ * Add support for AAD V2. diff --git a/src/aks-preview/azext_aks_preview/__init__.py b/src/aks-preview/azext_aks_preview/__init__.py index 8e6713015c6..c065b90c296 100644 --- a/src/aks-preview/azext_aks_preview/__init__.py +++ b/src/aks-preview/azext_aks_preview/__init__.py @@ -16,7 +16,7 @@ class ContainerServiceCommandsLoader(AzCommandsLoader): def __init__(self, cli_ctx=None): from azure.cli.core.commands import CliCommandType - register_resource_type('latest', CUSTOM_MGMT_AKS_PREVIEW, '2020-03-01') + register_resource_type('latest', CUSTOM_MGMT_AKS_PREVIEW, '2020-04-01') acs_custom = CliCommandType(operations_tmpl='azext_aks_preview.custom#{}') super(ContainerServiceCommandsLoader, self).__init__(cli_ctx=cli_ctx, diff --git a/src/aks-preview/azext_aks_preview/_consts.py b/src/aks-preview/azext_aks_preview/_consts.py index fc9c4df1e18..06be97a565e 100644 --- a/src/aks-preview/azext_aks_preview/_consts.py +++ b/src/aks-preview/azext_aks_preview/_consts.py @@ -19,7 +19,10 @@ CONST_INGRESS_APPGW_SUBNET_ID = "subnetId" CONST_INGRESS_APPGW_SUBNET_PREFIX = "subnetPrefix" CONST_INGRESS_APPGW_WATCH_NAMESPACE = "watchNamespace" -CONST_INGRESS_APPGW_SHARED = "shared" CONST_NODEPOOL_MODE_SYSTEM = "System" CONST_NODEPOOL_MODE_USER = "User" + +# refer https://docs.microsoft.com/en-us/rest/api/storageservices/ +# naming-and-referencing-containers--blobs--and-metadata#container-names +CONST_CONTAINER_NAME_MAX_LENGTH = 63 diff --git a/src/aks-preview/azext_aks_preview/_help.py b/src/aks-preview/azext_aks_preview/_help.py index ad2bf7eac8c..c52d0bef353 100644 --- a/src/aks-preview/azext_aks_preview/_help.py +++ b/src/aks-preview/azext_aks_preview/_help.py @@ -181,10 +181,10 @@ long-summary: If specified, please make sure the kubernetes version is larger than 1.10.6. - name: --min-count type: int - short-summary: Minimun nodes count used for autoscaler, when "--enable-cluster-autoscaler" specified. Please specifying the value in the range of [1, 100]. + short-summary: Minimun nodes count used for autoscaler, when "--enable-cluster-autoscaler" specified. Please specify the value in the range of [1, 100]. - name: --max-count type: int - short-summary: Maximum nodes count used for autoscaler, when "--enable-cluster-autoscaler" specified. Please specifying the value in the range of [1, 100]. + short-summary: Maximum nodes count used for autoscaler, when "--enable-cluster-autoscaler" specified. Please specify the value in the range of [1, 100]. - name: --cluster-autoscaler-profile type: list short-summary: Space-separated list of key=value pairs for configuring cluster autoscaler. Pass an empty string to clear the profile. @@ -199,13 +199,16 @@ short-summary: The node resource group is the resource group where all customer's resources will be created in, such as virtual machines. - name: --uptime-sla type: bool - short-summary: Enable paid managed cluster service with high availability. + short-summary: Enable a paid managed cluster service with a financially backed SLA. - name: --attach-acr type: string short-summary: Grant the 'acrpull' role assignment to the ACR specified by name or resource ID. - name: --enable-private-cluster type: string short-summary: Enable private cluster. + - name: --enable-node-public-ip + type: bool + short-summary: Enable VMSS node public IP. - name: --enable-managed-identity type: bool short-summary: (PREVIEW) Using a system assigned managed identity to manage cluster resource group. @@ -217,19 +220,16 @@ short-summary: Send custom headers. When specified, format should be Key1=Value1,Key2=Value2 - name: --appgw-name type: string - short-summary: Name of the application gateway to create/use in the node resource group + short-summary: Name of the application gateway to create/use in the node resource group. Use with ingress-azure addon. - name: --appgw-subnet-prefix type: string - short-summary: Subnet Prefix to use for a new subnet created to deploy the Application Gateway + short-summary: Subnet Prefix to use for a new subnet created to deploy the Application Gateway. Use with ingress-azure addon. - name: --appgw-id type: string - short-summary: Resource Id of an existing Application Gateway to use with AGIC + short-summary: Resource Id of an existing Application Gateway to use with AGIC. Use with ingress-azure addon. - name: --appgw-subnet-id type: string - short-summary: Resource Id of an existing Subnet used to deploy the Application Gateway - - name: --appgw-shared - type: bool - short-summary: Use shared flag if application gateway will be shared + short-summary: Resource Id of an existing Subnet used to deploy the Application Gateway. Use with ingress-azure addon. - name: --appgw-watch-namespace type: string short-summary: Specify the namespace, which AGIC should watch. This could be a single string value, or a comma-separated list of namespaces. @@ -287,6 +287,9 @@ - name: --control-plane-only type: bool short-summary: Upgrade the cluster control plane only. If not specified, control plane AND all node pools will be upgraded. + - name: --node-image-only + type: bool + short-summary: Only upgrade node image for agent pools. """ helps['aks update'] = """ @@ -304,10 +307,13 @@ short-summary: Update min-count or max-count for cluster autoscaler. - name: --min-count type: int - short-summary: Minimun nodes count used for autoscaler, when "--enable-cluster-autoscaler" specified. Please specifying the value in the range of [1, 100] + short-summary: Minimun nodes count used for autoscaler, when "--enable-cluster-autoscaler" specified. Please specify the value in the range of [1, 100] - name: --max-count type: int - short-summary: Maximum nodes count used for autoscaler, when "--enable-cluster-autoscaler" specified. Please specifying the value in the range of [1, 100] + short-summary: Maximum nodes count used for autoscaler, when "--enable-cluster-autoscaler" specified. Please specify the value in the range of [1, 100] + - name: --uptime-sla + type: bool + short-summary: Enable a paid managed cluster service with a financially backed SLA. - name: --cluster-autoscaler-profile type: list short-summary: Space-separated list of key=value pairs for configuring cluster autoscaler. Pass an empty string to clear the profile. @@ -352,6 +358,9 @@ - name: --aad-tenant-id type: string short-summary: The ID of an Azure Active Directory tenant. + - name: --aks-custom-headers + type: string + short-summary: Send custom headers. When specified, format should be Key1=Value1,Key2=Value2 examples: - name: Enable cluster-autoscaler within node count range [1,5] text: az aks update --enable-cluster-autoscaler --min-count 1 --max-count 5 -g MyResourceGroup -n MyManagedCluster @@ -483,10 +492,10 @@ short-summary: Enable cluster autoscaler. - name: --min-count type: int - short-summary: Minimun nodes count used for autoscaler, when "--enable-cluster-autoscaler" specified. Please specifying the value in the range of [1, 100] + short-summary: Minimun nodes count used for autoscaler, when "--enable-cluster-autoscaler" specified. Please specify the value in the range of [1, 100] - name: --max-count type: int - short-summary: Maximum nodes count used for autoscaler, when "--enable-cluster-autoscaler" specified. Please specifying the value in the range of [1, 100] + short-summary: Maximum nodes count used for autoscaler, when "--enable-cluster-autoscaler" specified. Please specify the value in the range of [1, 100] - name: --node-taints type: string short-summary: The node taints for the node pool. You can't change the node taints through CLI after the node pool is created. @@ -499,15 +508,21 @@ - name: --spot-max-price type: float short-summary: It can only be set when --priority is Spot. Specify the maximum price you are willing to pay in US Dollars. Possible values are any decimal value greater than zero or -1 which indicates default price to be up-to on-demand. It can only include up to 5 decimal places. - - name: --public-ip-per-vm + - name: --enable-node-public-ip type: bool - short-summary: Each node will have a public ip. + short-summary: Enable VMSS node public IP. - name: --labels type: string short-summary: The node labels for the node pool. You can't change the node labels through CLI after the node pool is created. See https://aka.ms/node-labels for syntax of labels. - name: --mode type: string short-summary: The mode for a node pool which defines a node pool's primary function. If set as "System", AKS prefers system pods scheduling to node pools with mode `System`. Learn more at https://aka.ms/aks/nodepool/mode. + - name: --aks-custom-headers + type: string + short-summary: Send custom headers. When specified, format should be Key1=Value1,Key2=Value2 + - name: --max-surge + type: string + short-summary: Extra nodes used to speed upgrade. When specified, it represents the number or percent used, eg. 5 or 33% """ helps['aks nodepool scale'] = """ @@ -526,6 +541,12 @@ - name: --kubernetes-version -k type: string short-summary: Version of Kubernetes to upgrade the node pool to, such as "1.11.12". + - name: --node-image-only + type: bool + short-summary: Only upgrade agent pool's node image. + - name: --max-surge + type: string + short-summary: Extra nodes used to speed upgrade. When specified, it represents the number or percent used, eg. 5 or 33% """ helps['aks nodepool update'] = """ @@ -543,10 +564,13 @@ short-summary: Update min-count or max-count for cluster autoscaler. - name: --min-count type: int - short-summary: Minimun nodes count used for autoscaler, when "--enable-cluster-autoscaler" specified. Please specifying the value in the range of [1, 100] + short-summary: Minimun nodes count used for autoscaler, when "--enable-cluster-autoscaler" specified. Please specify the value in the range of [1, 100] - name: --max-count type: int - short-summary: Maximum nodes count used for autoscaler, when "--enable-cluster-autoscaler" specified. Please specifying the value in the range of [1, 100] + short-summary: Maximum nodes count used for autoscaler, when "--enable-cluster-autoscaler" specified. Please specify the value in the range of [1, 100] + - name: --max-surge + type: string + short-summary: Extra nodes used to speed upgrade. When specified, it represents the number or percent used, eg. 5 or 33% - name: --mode type: string short-summary: The mode for a node pool which defines a node pool's primary function. If set as "System", AKS prefers system pods scheduling to node pools with mode `System`. Learn more at https://aka.ms/aks/nodepool/mode. @@ -589,26 +613,26 @@ short-summary: The subnet name for the virtual node to use. - name: --appgw-name type: string - short-summary: Name of the application gateway to create/use in the node resource group + short-summary: Name of the application gateway to create/use in the node resource group. Use with ingress-azure addon. - name: --appgw-subnet-prefix type: string - short-summary: Subnet Prefix to use for a new subnet created to deploy the Application Gateway + short-summary: Subnet Prefix to use for a new subnet created to deploy the Application Gateway. Use with ingress-azure addon. - name: --appgw-id type: string - short-summary: Resource Id of an existing Application Gateway to use with AGIC + short-summary: Resource Id of an existing Application Gateway to use with AGIC. Use with ingress-azure addon. - name: --appgw-subnet-id type: string - short-summary: Resource Id of an existing Subnet used to deploy the Application Gateway - - name: --appgw-shared - type: bool - short-summary: Use shared flag if application gateway will be shared + short-summary: Resource Id of an existing Subnet used to deploy the Application Gateway. Use with ingress-azure addon. - name: --appgw-watch-namespace type: string - short-summary: Specify the namespace, which AGIC should watch. This could be a single string value, or a comma-separated list of namespaces. + short-summary: Specify the namespace, which AGIC should watch. This could be a single string value, or a comma-separated list of namespaces. Use with ingress-azure addon. examples: - name: Enable Kubernetes addons. (autogenerated) text: az aks enable-addons --addons virtual-node --name MyManagedCluster --resource-group MyResourceGroup --subnet-name VirtualNodeSubnet crafted: true + - name: Enable ingress-appgw addon with subnet prefix. + text: az aks enable-addons --name MyManagedCluster --resource-group MyResourceGroup --addons ingress-appgw --appgw-subnet-prefix 10.2.0.0/16 --appgw-name gateway + crafted: true """ helps['aks get-versions'] = """ diff --git a/src/aks-preview/azext_aks_preview/_helpers.py b/src/aks-preview/azext_aks_preview/_helpers.py index b9a9bebda6c..360b4f4b116 100644 --- a/src/aks-preview/azext_aks_preview/_helpers.py +++ b/src/aks-preview/azext_aks_preview/_helpers.py @@ -8,7 +8,8 @@ from knack.util import CLIError # pylint: disable=no-name-in-module,import-error -from .vendored_sdks.azure_mgmt_preview_aks.v2020_03_01.models import ManagedClusterAPIServerAccessProfile +from .vendored_sdks.azure_mgmt_preview_aks.v2020_04_01.models import ManagedClusterAPIServerAccessProfile +from ._consts import CONST_CONTAINER_NAME_MAX_LENGTH from ._consts import CONST_OUTBOUND_TYPE_LOAD_BALANCER, CONST_OUTBOUND_TYPE_USER_DEFINED_ROUTING @@ -73,3 +74,21 @@ def _parse_comma_separated_list(text): if text == "": return [] return text.split(",") + + +def _trim_fqdn_name_containing_hcp(normalized_fqdn: str) -> str: + """ + Trims the storage blob name and takes everything prior to "-hcp-". + Currently it is displayed wrong: i.e. at time of creation cli has + following limitation: + https://docs.microsoft.com/en-us/azure/azure-resource-manager/templates/ + error-storage-account-name + + :param normalized_fqdn: storage blob name + :return: storage_name_without_hcp: Storage name without the hcp value + attached + """ + storage_name_without_hcp, _, _ = normalized_fqdn.partition('-hcp-') + if len(storage_name_without_hcp) > CONST_CONTAINER_NAME_MAX_LENGTH: + storage_name_without_hcp = storage_name_without_hcp[:CONST_CONTAINER_NAME_MAX_LENGTH] + return storage_name_without_hcp.rstrip('-') diff --git a/src/aks-preview/azext_aks_preview/_loadbalancer.py b/src/aks-preview/azext_aks_preview/_loadbalancer.py index d757fba6c61..64d06a218df 100644 --- a/src/aks-preview/azext_aks_preview/_loadbalancer.py +++ b/src/aks-preview/azext_aks_preview/_loadbalancer.py @@ -6,11 +6,11 @@ from distutils.version import StrictVersion # pylint: disable=no-name-in-module,import-error from knack.log import get_logger -from .vendored_sdks.azure_mgmt_preview_aks.v2020_03_01.models import ManagedClusterLoadBalancerProfile -from .vendored_sdks.azure_mgmt_preview_aks.v2020_03_01.models import ManagedClusterLoadBalancerProfileManagedOutboundIPs -from .vendored_sdks.azure_mgmt_preview_aks.v2020_03_01.models import ManagedClusterLoadBalancerProfileOutboundIPPrefixes -from .vendored_sdks.azure_mgmt_preview_aks.v2020_03_01.models import ManagedClusterLoadBalancerProfileOutboundIPs -from .vendored_sdks.azure_mgmt_preview_aks.v2020_03_01.models import ResourceReference +from .vendored_sdks.azure_mgmt_preview_aks.v2020_04_01.models import ManagedClusterLoadBalancerProfile +from .vendored_sdks.azure_mgmt_preview_aks.v2020_04_01.models import ManagedClusterLoadBalancerProfileManagedOutboundIPs +from .vendored_sdks.azure_mgmt_preview_aks.v2020_04_01.models import ManagedClusterLoadBalancerProfileOutboundIPPrefixes +from .vendored_sdks.azure_mgmt_preview_aks.v2020_04_01.models import ManagedClusterLoadBalancerProfileOutboundIPs +from .vendored_sdks.azure_mgmt_preview_aks.v2020_04_01.models import ResourceReference logger = get_logger(__name__) diff --git a/src/aks-preview/azext_aks_preview/_params.py b/src/aks-preview/azext_aks_preview/_params.py index 468809629ba..5aa822398a1 100644 --- a/src/aks-preview/azext_aks_preview/_params.py +++ b/src/aks-preview/azext_aks_preview/_params.py @@ -22,7 +22,7 @@ validate_load_balancer_outbound_ips, validate_load_balancer_outbound_ip_prefixes, validate_taints, validate_priority, validate_eviction_policy, validate_spot_max_price, validate_acr, validate_user, validate_load_balancer_outbound_ports, validate_load_balancer_idle_timeout, validate_nodepool_tags, - validate_nodepool_labels, validate_vnet_subnet_id) + validate_nodepool_labels, validate_vnet_subnet_id, validate_max_surge) from ._consts import CONST_OUTBOUND_TYPE_LOAD_BALANCER, \ CONST_OUTBOUND_TYPE_USER_DEFINED_ROUTING, CONST_SCALE_SET_PRIORITY_REGULAR, CONST_SCALE_SET_PRIORITY_SPOT, \ CONST_SPOT_EVICTION_POLICY_DELETE, CONST_SPOT_EVICTION_POLICY_DEALLOCATE, \ @@ -93,6 +93,7 @@ def load_arguments(self, _): c.argument('enable_vmss', action='store_true', help='To be deprecated. Use vm_set_type instead.') c.argument('vm_set_type', type=str, validator=validate_vm_set_type) c.argument('node_zones', zones_type, options_list=['--node-zones', '--zones', '-z'], help='(--node-zones will be deprecated, use --zones) Space-separated list of availability zones where agent nodes will be placed.') + c.argument('enable_node_public_ip', action='store_true', is_preview=True) c.argument('enable_pod_security_policy', action='store_true') c.argument('node_resource_group') c.argument('attach_acr', acr_arg_type) @@ -108,6 +109,7 @@ def load_arguments(self, _): c.argument('cluster_autoscaler_profile', nargs='+', validator=validate_cluster_autoscaler_profile) c.argument('min_count', type=int, validator=validate_nodes_count) c.argument('max_count', type=int, validator=validate_nodes_count) + c.argument('uptime_sla', action='store_true') c.argument('load_balancer_managed_outbound_ip_count', type=int) c.argument('load_balancer_outbound_ips', type=str, validator=validate_load_balancer_outbound_ips) c.argument('load_balancer_outbound_ip_prefixes', type=str, validator=validate_load_balancer_outbound_ip_prefixes) @@ -118,6 +120,7 @@ def load_arguments(self, _): c.argument('disable_pod_security_policy', action='store_true') c.argument('attach_acr', acr_arg_type, validator=validate_acr) c.argument('detach_acr', acr_arg_type, validator=validate_acr) + c.argument('aks_custom_headers') with self.argument_context('aks scale') as c: c.argument('nodepool_name', type=str, @@ -125,6 +128,7 @@ def load_arguments(self, _): with self.argument_context('aks upgrade') as c: c.argument('kubernetes_version', completer=get_k8s_upgrades_completion_list) + c.argument('yes', options_list=['--yes', '-y'], help='Do not prompt for confirmation.', action='store_true') with self.argument_context('aks nodepool') as c: c.argument('cluster_name', type=str, help='The cluster name.') @@ -134,6 +138,7 @@ def load_arguments(self, _): c.argument('nodepool_name', type=str, options_list=['--name', '-n'], validator=validate_nodepool_name, help='The node pool name.') c.argument('tags', tags_type) c.argument('node_zones', zones_type, options_list=['--node-zones', '--zones', '-z'], help='(--node-zones will be deprecated) Space-separated list of availability zones where agent nodes will be placed.') + c.argument('enable_node_public_ip', action='store_true', is_preview=True) c.argument('node_vm_size', options_list=['--node-vm-size', '-s'], completer=get_vm_size_completion_list) c.argument('max_pods', type=int, options_list=['--max-pods', '-m'], validator=validate_max_pods) c.argument('os_type', type=str) @@ -144,17 +149,23 @@ def load_arguments(self, _): c.argument('spot_max_price', type=float, validator=validate_spot_max_price) c.argument('labels', nargs='*', validator=validate_nodepool_labels) c.argument('mode', arg_type=get_enum_type([CONST_NODEPOOL_MODE_SYSTEM, CONST_NODEPOOL_MODE_USER])) + c.argument('aks_custom_headers') + c.argument('max_surge', type=str, validator=validate_max_surge) for scope in ['aks nodepool show', 'aks nodepool delete', 'aks nodepool scale', 'aks nodepool upgrade', 'aks nodepool update']: with self.argument_context(scope) as c: c.argument('nodepool_name', type=str, options_list=['--name', '-n'], validator=validate_nodepool_name, help='The node pool name.') + with self.argument_context('aks nodepool upgrade') as c: + c.argument('max_surge', type=str, validator=validate_max_surge) + with self.argument_context('aks nodepool update') as c: c.argument('enable_cluster_autoscaler', options_list=["--enable-cluster-autoscaler", "-e"], action='store_true') c.argument('disable_cluster_autoscaler', options_list=["--disable-cluster-autoscaler", "-d"], action='store_true') c.argument('update_cluster_autoscaler', options_list=["--update-cluster-autoscaler", "-u"], action='store_true') c.argument('tags', tags_type) c.argument('mode', arg_type=get_enum_type([CONST_NODEPOOL_MODE_SYSTEM, CONST_NODEPOOL_MODE_USER])) + c.argument('max_surge', type=str, validator=validate_max_surge) with self.argument_context('aks disable-addons') as c: c.argument('addons', options_list=['--addons', '-a']) diff --git a/src/aks-preview/azext_aks_preview/_validators.py b/src/aks-preview/azext_aks_preview/_validators.py index b8bd09757ba..02e7f9d32c8 100644 --- a/src/aks-preview/azext_aks_preview/_validators.py +++ b/src/aks-preview/azext_aks_preview/_validators.py @@ -16,7 +16,7 @@ from azure.cli.core.util import CLIError import azure.cli.core.keys as keys -from .vendored_sdks.azure_mgmt_preview_aks.v2020_02_01.models import ManagedClusterPropertiesAutoScalerProfile +from .vendored_sdks.azure_mgmt_preview_aks.v2020_03_01.models import ManagedClusterPropertiesAutoScalerProfile logger = get_logger(__name__) @@ -372,3 +372,18 @@ def validate_label(label): "characters, '-', '_' or '.', and must start and end with an alphanumeric character" % label) return {kv[0]: kv[1]} + + +def validate_max_surge(namespace): + """validates parameters like max surge are postive integers or percents. less strict than RP""" + if namespace.max_surge is None: + return + int_or_percent = namespace.max_surge + if int_or_percent.endswith('%'): + int_or_percent = int_or_percent.rstrip('%') + + try: + if int(int_or_percent) < 0: + raise CLIError("--max-surge must be positive") + except ValueError: + raise CLIError("--max-surge should be an int or percentage") diff --git a/src/aks-preview/azext_aks_preview/commands.py b/src/aks-preview/azext_aks_preview/commands.py index 0123431b284..a9d35a2e83d 100644 --- a/src/aks-preview/azext_aks_preview/commands.py +++ b/src/aks-preview/azext_aks_preview/commands.py @@ -47,9 +47,7 @@ def load_command_table(self, _): g.custom_command('enable-addons', 'aks_enable_addons', supports_no_wait=True) g.custom_command('get-credentials', 'aks_get_credentials') g.custom_show_command('show', 'aks_show', table_transformer=aks_show_table_format) - g.custom_command('upgrade', 'aks_upgrade', supports_no_wait=True, - confirmation='Kubernetes may be unavailable during cluster upgrades.\n' + - 'Are you sure you want to perform this operation?') + g.custom_command('upgrade', 'aks_upgrade', supports_no_wait=True) g.command('get-upgrades', 'get_upgrade_profile', table_transformer=aks_upgrades_table_format) g.custom_command('rotate-certs', 'aks_rotate_certs', supports_no_wait=True, confirmation='Kubernetes will be unavailable during certificate rotation process.\n' + diff --git a/src/aks-preview/azext_aks_preview/custom.py b/src/aks-preview/azext_aks_preview/custom.py index 66fffead11a..150fb64f2cc 100644 --- a/src/aks-preview/azext_aks_preview/custom.py +++ b/src/aks-preview/azext_aks_preview/custom.py @@ -49,21 +49,22 @@ KeyCredential, ServicePrincipalCreateParameters, GetObjectsParameters) -from .vendored_sdks.azure_mgmt_preview_aks.v2020_03_01.models import ContainerServiceLinuxProfile -from .vendored_sdks.azure_mgmt_preview_aks.v2020_03_01.models import ManagedClusterWindowsProfile -from .vendored_sdks.azure_mgmt_preview_aks.v2020_03_01.models import ContainerServiceNetworkProfile -from .vendored_sdks.azure_mgmt_preview_aks.v2020_03_01.models import ManagedClusterServicePrincipalProfile -from .vendored_sdks.azure_mgmt_preview_aks.v2020_03_01.models import ContainerServiceSshConfiguration -from .vendored_sdks.azure_mgmt_preview_aks.v2020_03_01.models import ContainerServiceSshPublicKey -from .vendored_sdks.azure_mgmt_preview_aks.v2020_03_01.models import ManagedCluster -from .vendored_sdks.azure_mgmt_preview_aks.v2020_03_01.models import ManagedClusterAADProfile -from .vendored_sdks.azure_mgmt_preview_aks.v2020_03_01.models import ManagedClusterAddonProfile -from .vendored_sdks.azure_mgmt_preview_aks.v2020_03_01.models import ManagedClusterAgentPoolProfile -from .vendored_sdks.azure_mgmt_preview_aks.v2020_03_01.models import AgentPool -from .vendored_sdks.azure_mgmt_preview_aks.v2020_03_01.models import ContainerServiceStorageProfileTypes -from .vendored_sdks.azure_mgmt_preview_aks.v2020_03_01.models import ManagedClusterIdentity -from .vendored_sdks.azure_mgmt_preview_aks.v2020_03_01.models import ManagedClusterAPIServerAccessProfile -from .vendored_sdks.azure_mgmt_preview_aks.v2020_03_01.models import ManagedClusterSKU +from .vendored_sdks.azure_mgmt_preview_aks.v2020_04_01.models import ContainerServiceLinuxProfile +from .vendored_sdks.azure_mgmt_preview_aks.v2020_04_01.models import ManagedClusterWindowsProfile +from .vendored_sdks.azure_mgmt_preview_aks.v2020_04_01.models import ContainerServiceNetworkProfile +from .vendored_sdks.azure_mgmt_preview_aks.v2020_04_01.models import ManagedClusterServicePrincipalProfile +from .vendored_sdks.azure_mgmt_preview_aks.v2020_04_01.models import ContainerServiceSshConfiguration +from .vendored_sdks.azure_mgmt_preview_aks.v2020_04_01.models import ContainerServiceSshPublicKey +from .vendored_sdks.azure_mgmt_preview_aks.v2020_04_01.models import ManagedCluster +from .vendored_sdks.azure_mgmt_preview_aks.v2020_04_01.models import ManagedClusterAADProfile +from .vendored_sdks.azure_mgmt_preview_aks.v2020_04_01.models import ManagedClusterAddonProfile +from .vendored_sdks.azure_mgmt_preview_aks.v2020_04_01.models import ManagedClusterAgentPoolProfile +from .vendored_sdks.azure_mgmt_preview_aks.v2020_04_01.models import AgentPool +from .vendored_sdks.azure_mgmt_preview_aks.v2020_04_01.models import AgentPoolUpgradeSettings +from .vendored_sdks.azure_mgmt_preview_aks.v2020_04_01.models import ContainerServiceStorageProfileTypes +from .vendored_sdks.azure_mgmt_preview_aks.v2020_04_01.models import ManagedClusterIdentity +from .vendored_sdks.azure_mgmt_preview_aks.v2020_04_01.models import ManagedClusterAPIServerAccessProfile +from .vendored_sdks.azure_mgmt_preview_aks.v2020_04_01.models import ManagedClusterSKU from ._client_factory import cf_resource_groups from ._client_factory import get_auth_management_client from ._client_factory import get_graph_rbac_management_client @@ -71,16 +72,18 @@ from ._client_factory import get_resource_by_name from ._client_factory import cf_container_registry_service from ._client_factory import cf_storage +from ._client_factory import cf_agent_pools from ._helpers import (_populate_api_server_access_profile, _set_vm_set_type, - _set_outbound_type, _parse_comma_separated_list) + _set_outbound_type, _parse_comma_separated_list, + _trim_fqdn_name_containing_hcp) from ._loadbalancer import (set_load_balancer_sku, is_load_balancer_profile_provided, update_load_balancer_profile, create_load_balancer_profile) from ._consts import CONST_INGRESS_APPGW_ADDON_NAME from ._consts import CONST_INGRESS_APPGW_APPLICATION_GATEWAY_ID, CONST_INGRESS_APPGW_APPLICATION_GATEWAY_NAME from ._consts import CONST_INGRESS_APPGW_SUBNET_PREFIX, CONST_INGRESS_APPGW_SUBNET_ID -from ._consts import CONST_INGRESS_APPGW_SHARED, CONST_INGRESS_APPGW_WATCH_NAMESPACE +from ._consts import CONST_INGRESS_APPGW_WATCH_NAMESPACE from ._consts import CONST_SCALE_SET_PRIORITY_REGULAR, CONST_SCALE_SET_PRIORITY_SPOT, CONST_SPOT_EVICTION_POLICY_DELETE logger = get_logger(__name__) @@ -261,11 +264,11 @@ def load_service_principals(config_path): def _invoke_deployment(cli_ctx, resource_group_name, deployment_name, template, parameters, validate, no_wait, subscription_id=None): - from azure.mgmt.resource.resources import ResourceManagementClient - from azure.mgmt.resource.resources.models import DeploymentProperties - + from azure.cli.core.profiles import ResourceType, get_sdk + DeploymentProperties = get_sdk(cli_ctx, ResourceType.MGMT_RESOURCE_RESOURCES, 'DeploymentProperties', mod='models') properties = DeploymentProperties(template=template, parameters=parameters, mode='incremental') - smc = get_mgmt_service_client(cli_ctx, ResourceManagementClient, subscription_id=subscription_id).deployments + smc = get_mgmt_service_client(cli_ctx, ResourceType.MGMT_RESOURCE_RESOURCES, + subscription_id=subscription_id).deployments if validate: logger.info('==== BEGIN TEMPLATE ====') logger.info(json.dumps(template, indent=2)) @@ -682,6 +685,61 @@ def _add_monitoring_role_assignment(result, cluster_resource_id, cmd): 'assignment') +def _add_ingress_appgw_addon_role_assignment(result, cmd): + service_principal_msi_id = None + # Check if service principal exists, if it does, assign permissions to service principal + # Else, provide permissions to MSI + if ( + hasattr(result, 'service_principal_profile') and + hasattr(result.service_principal_profile, 'client_id') and + result.service_principal_profile.client_id != 'msi' + ): + service_principal_msi_id = result.service_principal_profile.client_id + is_service_principal = True + elif ( + (hasattr(result, 'addon_profiles')) and + (CONST_INGRESS_APPGW_ADDON_NAME in result.addon_profiles) and + (hasattr(result.addon_profiles[CONST_INGRESS_APPGW_ADDON_NAME], 'identity')) and + (hasattr(result.addon_profiles[CONST_INGRESS_APPGW_ADDON_NAME].identity, 'object_id')) + ): + service_principal_msi_id = result.addon_profiles[CONST_INGRESS_APPGW_ADDON_NAME].identity.object_id + is_service_principal = False + + if service_principal_msi_id is not None: + config = result.addon_profiles[CONST_INGRESS_APPGW_ADDON_NAME].config + from msrestazure.tools import parse_resource_id, resource_id + if CONST_INGRESS_APPGW_APPLICATION_GATEWAY_ID in config: + appgw_id = config[CONST_INGRESS_APPGW_APPLICATION_GATEWAY_ID] + parsed_appgw_id = parse_resource_id(appgw_id) + appgw_group_id = resource_id(subscription=parsed_appgw_id["subscription"], + resource_group=parsed_appgw_id["resource_group"]) + if not _add_role_assignment(cmd.cli_ctx, 'Contributor', + service_principal_msi_id, is_service_principal, scope=appgw_group_id): + logger.warning('Could not create a role assignment for application gateway: %s ' + 'specified in %s addon. ' + 'Are you an Owner on this subscription?', appgw_id, CONST_INGRESS_APPGW_ADDON_NAME) + if CONST_INGRESS_APPGW_SUBNET_ID in config: + subnet_id = config[CONST_INGRESS_APPGW_SUBNET_ID] + if not _add_role_assignment(cmd.cli_ctx, 'Network Contributor', + service_principal_msi_id, is_service_principal, scope=subnet_id): + logger.warning('Could not create a role assignment for subnet: %s ' + 'specified in %s addon. ' + 'Are you an Owner on this subscription?', subnet_id, CONST_INGRESS_APPGW_ADDON_NAME) + if CONST_INGRESS_APPGW_SUBNET_PREFIX in config: + if result.agent_pool_profiles[0].vnet_subnet_id is not None: + parsed_subnet_vnet_id = parse_resource_id(result.agent_pool_profiles[0].vnet_subnet_id) + vnet_id = resource_id(subscription=parsed_subnet_vnet_id["subscription"], + resource_group=parsed_subnet_vnet_id["resource_group"], + namespace="Microsoft.Network", + type="virtualNetworks", + name=parsed_subnet_vnet_id["name"]) + if not _add_role_assignment(cmd.cli_ctx, 'Contributor', + service_principal_msi_id, is_service_principal, scope=vnet_id): + logger.warning('Could not create a role assignment for virtual network: %s ' + 'specified in %s addon. ' + 'Are you an Owner on this subscription?', vnet_id, CONST_INGRESS_APPGW_ADDON_NAME) + + def aks_create(cmd, # pylint: disable=too-many-locals,too-many-statements,too-many-branches client, resource_group_name, @@ -734,6 +792,7 @@ def aks_create(cmd, # pylint: disable=too-many-locals,too-many-statements,to aad_tenant_id=None, tags=None, node_zones=None, + enable_node_public_ip=False, generate_ssh_keys=False, # pylint: disable=unused-argument enable_pod_security_policy=False, node_resource_group=None, @@ -747,7 +806,6 @@ def aks_create(cmd, # pylint: disable=too-many-locals,too-many-statements,to appgw_subnet_prefix=None, appgw_id=None, appgw_subnet_id=None, - appgw_shared=None, appgw_watch_namespace=None, enable_aad=False, aad_admin_group_object_ids=None, @@ -792,6 +850,7 @@ def aks_create(cmd, # pylint: disable=too-many-locals,too-many-statements,to mode="System", vnet_subnet_id=vnet_subnet_id, availability_zones=node_zones, + enable_node_public_ip=enable_node_public_ip, max_pods=int(max_pods) if max_pods else None, type=vm_set_type ) @@ -834,9 +893,6 @@ def aks_create(cmd, # pylint: disable=too-many-locals,too-many-statements,to if no_wait: raise CLIError('When --attach-acr and --enable-managed-identity are both specified, ' '--no-wait is not allowed, please wait until the whole operation succeeds.') - else: - # Attach acr operation will be handled after the cluster is created - pass else: _ensure_aks_acr(cmd.cli_ctx, client_id=service_principal_profile.client_id, @@ -905,34 +961,16 @@ def aks_create(cmd, # pylint: disable=too-many-locals,too-many-statements,to appgw_subnet_prefix, appgw_id, appgw_subnet_id, - appgw_shared, appgw_watch_namespace ) monitoring = False if 'omsagent' in addon_profiles: monitoring = True _ensure_container_insights_for_monitoring(cmd, addon_profiles['omsagent']) - if CONST_INGRESS_APPGW_ADDON_NAME in addon_profiles: - if CONST_INGRESS_APPGW_APPLICATION_GATEWAY_ID in addon_profiles[CONST_INGRESS_APPGW_ADDON_NAME].config: - appgw_id = addon_profiles[CONST_INGRESS_APPGW_ADDON_NAME].config[CONST_INGRESS_APPGW_APPLICATION_GATEWAY_ID] - from msrestazure.tools import parse_resource_id, resource_id - appgw_id_dict = parse_resource_id(appgw_id) - appgw_group_id = resource_id( - subscription=appgw_id_dict["subscription"], - resource_group=appgw_id_dict["resource_group"]) - if not _add_role_assignment(cmd.cli_ctx, 'Contributor', - service_principal_profile.client_id, scope=appgw_group_id): - logger.warning('Could not create a role assignment for application gateway: {appgw_id} ' - 'specified in {CONST_INGRESS_APPGW_ADDON_NAME} addon. ' - 'Are you an Owner on this subscription?') - if CONST_INGRESS_APPGW_SUBNET_ID in addon_profiles[CONST_INGRESS_APPGW_ADDON_NAME].config: - subnet_id = addon_profiles[CONST_INGRESS_APPGW_ADDON_NAME].config[CONST_INGRESS_APPGW_SUBNET_ID] - from msrestazure.tools import parse_resource_id, resource_id - if not _add_role_assignment(cmd.cli_ctx, 'Contributor', - service_principal_profile.client_id, scope=subnet_id): - logger.warning('Could not create a role assignment for subnet: {subnet_id} ' - 'specified in {CONST_INGRESS_APPGW_ADDON_NAME} addon. ' - 'Are you an Owner on this subscription?') + + # addon is in the list and is enabled + ingress_appgw_addon_enabled = CONST_INGRESS_APPGW_ADDON_NAME in addon_profiles and \ + addon_profiles[CONST_INGRESS_APPGW_ADDON_NAME].enabled aad_profile = None if enable_aad: @@ -1009,15 +1047,7 @@ def aks_create(cmd, # pylint: disable=too-many-locals,too-many-statements,to tier="Paid" ) - headers = {} - if aks_custom_headers is not None: - if aks_custom_headers != "": - for pair in aks_custom_headers.split(','): - parts = pair.split('=') - if len(parts) != 2: - raise CLIError('custom headers format is incorrect') - - headers[parts[0]] = parts[1] + headers = get_aks_custom_headers(aks_custom_headers) # Due to SPN replication latency, we do a few retries here max_retry = 30 @@ -1025,7 +1055,10 @@ def aks_create(cmd, # pylint: disable=too-many-locals,too-many-statements,to for _ in range(0, max_retry): try: logger.info('AKS cluster is creating, please wait...') - if monitoring: + + # some addons require post cluster creation role assigment + need_post_creation_role_assignment = monitoring or ingress_appgw_addon_enabled + if need_post_creation_role_assignment: # adding a wait here since we rely on the result for role assignment created_cluster = LongRunningOperation(cmd.cli_ctx)(client.create_or_update( resource_group_name=resource_group_name, @@ -1035,7 +1068,7 @@ def aks_create(cmd, # pylint: disable=too-many-locals,too-many-statements,to cloud_name = cmd.cli_ctx.cloud.name # add cluster spn/msi Monitoring Metrics Publisher role assignment to publish metrics to MDM # mdm metrics is supported only in azure public cloud, so add the role assignment only in this cloud - if cloud_name.lower() == 'azurecloud': + if monitoring and cloud_name.lower() == 'azurecloud': from msrestazure.tools import resource_id cluster_resource_id = resource_id( subscription=subscription_id, @@ -1044,6 +1077,8 @@ def aks_create(cmd, # pylint: disable=too-many-locals,too-many-statements,to name=name ) _add_monitoring_role_assignment(created_cluster, cluster_resource_id, cmd) + if ingress_appgw_addon_enabled: + _add_ingress_appgw_addon_role_assignment(created_cluster, cmd) else: created_cluster = sdk_no_wait(no_wait, client.create_or_update, @@ -1056,9 +1091,10 @@ def aks_create(cmd, # pylint: disable=too-many-locals,too-many-statements,to # Attach ACR to cluster enabled managed identity if created_cluster.identity_profile is None or \ created_cluster.identity_profile["kubeletidentity"] is None: - logger.warning('Your cluster is successfully created, but we failed to attach acr to it, ' - 'you can manually grant permission to the identity named -agentpool ' - 'in MC_ resource group to give it permission to pull from ACR.') + logger.warning('Your cluster is successfully created, but we failed to attach ' + 'acr to it, you can manually grant permission to the identity ' + 'named -agentpool in MC_ resource group to give ' + 'it permission to pull from ACR.') else: kubelet_identity_client_id = created_cluster.identity_profile["kubeletidentity"].client_id _ensure_aks_acr(cmd.cli_ctx, @@ -1095,8 +1131,10 @@ def aks_update(cmd, # pylint: disable=too-many-statements,too-many-branches, disable_pod_security_policy=False, attach_acr=None, detach_acr=None, + uptime_sla=False, aad_tenant_id=None, - aad_admin_group_object_ids=None): + aad_admin_group_object_ids=None, + aks_custom_headers=None): update_autoscaler = enable_cluster_autoscaler or disable_cluster_autoscaler or update_cluster_autoscaler update_acr = attach_acr is not None or detach_acr is not None update_pod_security = enable_pod_security_policy or disable_pod_security_policy @@ -1114,6 +1152,7 @@ def aks_update(cmd, # pylint: disable=too-many-statements,too-many-branches, and api_server_authorized_ip_ranges is None and \ not update_pod_security and \ not update_lb_profile and \ + not uptime_sla and \ not update_aad_profile: raise CLIError('Please specify "--enable-cluster-autoscaler" or ' '"--disable-cluster-autoscaler" or ' @@ -1124,6 +1163,7 @@ def aks_update(cmd, # pylint: disable=too-many-statements,too-many-branches, '"--api-server-authorized-ip-ranges" or ' '"--attach-acr" or ' '"--detach-acr" or ' + '"--uptime-sla" or ' '"--load-balancer-managed-outbound-ip-count" or ' '"--load-balancer-outbound-ips" or ' '"--load-balancer-outbound-ip-prefixes" or ' @@ -1136,18 +1176,14 @@ def aks_update(cmd, # pylint: disable=too-many-statements,too-many-branches, raise CLIError('There is more than one node pool in the cluster. Please use "az aks nodepool" command ' 'to update per node pool auto scaler settings') - node_count = instance.agent_pool_profiles[0].count - if min_count is None or max_count is None: if enable_cluster_autoscaler or update_cluster_autoscaler: - raise CLIError('Please specifying both min-count and max-count when --enable-cluster-autoscaler or ' + raise CLIError('Please specify both min-count and max-count when --enable-cluster-autoscaler or ' '--update-cluster-autoscaler set.') if min_count is not None and max_count is not None: if int(min_count) > int(max_count): raise CLIError('value of min-count should be less than or equal to value of max-count.') - if int(node_count) < int(min_count) or int(node_count) > int(max_count): - raise CLIError("current node count '{}' is not in the range of min-count and max-count.".format(node_count)) if enable_cluster_autoscaler: if instance.agent_pool_profiles[0].enable_auto_scaling: @@ -1175,9 +1211,11 @@ def aks_update(cmd, # pylint: disable=too-many-statements,too-many-branches, instance.agent_pool_profiles[0].min_count = None instance.agent_pool_profiles[0].max_count = None - if not cluster_autoscaler_profile: + # if intention is to clear profile + if cluster_autoscaler_profile == {}: instance.auto_scaler_profile = {} - else: + # else profile is provided, update instance profile if it exists + elif cluster_autoscaler_profile: instance.auto_scaler_profile = _update_dict(instance.auto_scaler_profile.__dict__, dict((key.replace("-", "_"), value) for (key, value) in cluster_autoscaler_profile.items())) \ @@ -1205,6 +1243,12 @@ def aks_update(cmd, # pylint: disable=too-many-statements,too-many-branches, if attach_acr and detach_acr: raise CLIError('Cannot specify "--attach-acr" and "--detach-acr" at the same time.') + if uptime_sla: + instance.sku = ManagedClusterSKU( + name="Basic", + tier="Paid" + ) + subscription_id = get_subscription_id(cmd.cli_ctx) client_id = "" if instance.identity is not None and instance.identity.type == "SystemAssigned": @@ -1246,7 +1290,8 @@ def aks_update(cmd, # pylint: disable=too-many-statements,too-many-branches, if aad_admin_group_object_ids is not None: instance.aad_profile.admin_group_object_ids = _parse_comma_separated_list(aad_admin_group_object_ids) - return sdk_no_wait(no_wait, client.create_or_update, resource_group_name, name, instance) + headers = get_aks_custom_headers(aks_custom_headers) + return sdk_no_wait(no_wait, client.create_or_update, resource_group_name, name, instance, custom_headers=headers) def aks_show(cmd, client, resource_group_name, name): # pylint: disable=unused-argument @@ -1414,7 +1459,7 @@ def aks_kollect(cmd, # pylint: disable=too-many-statements,too-many-locals sas_token = sas_token.strip('?') deployment_yaml = urlopen( - "https://raw.githubusercontent.com/Azure/aks-periscope/v0.2/deployment/aks-periscope.yaml").read().decode() + "https://raw.githubusercontent.com/Azure/aks-periscope/latest/deployment/aks-periscope.yaml").read().decode() deployment_yaml = deployment_yaml.replace("# ", (base64.b64encode(bytes(storage_account_name, 'ascii'))).decode('ascii')) deployment_yaml = deployment_yaml.replace("# ", @@ -1480,10 +1525,11 @@ def aks_kollect(cmd, # pylint: disable=too-many-statements,too-many-locals os.remove(temp_yaml_path) print() - normalized_fqdn = mc.fqdn.replace('.', '-') + fqdn = mc.fqdn if mc.fqdn is not None else mc.private_fqdn + normalized_fqdn = fqdn.replace('.', '-') token_in_storage_account_url = readonly_sas_token if readonly_sas_token is not None else sas_token log_storage_account_url = f"https://{storage_account_name}.blob.core.windows.net/" \ - f"{normalized_fqdn}?{token_in_storage_account_url}" + f"{_trim_fqdn_name_containing_hcp(normalized_fqdn)}?{token_in_storage_account_url}" print(f'{colorama.Fore.GREEN}Your logs are being uploaded to storage account {format_bright(storage_account_name)}') @@ -1500,8 +1546,6 @@ def aks_kollect(cmd, # pylint: disable=too-many-statements,too-many-locals else: display_diagnostics_report(temp_kubeconfig_path) - return - def aks_kanalyze(cmd, client, resource_group_name, name): colorama.init() @@ -1527,10 +1571,11 @@ def aks_scale(cmd, # pylint: disable=unused-argument raise CLIError('There are more than one node pool in the cluster. ' 'Please specify nodepool name or use az aks nodepool command to scale node pool') - if node_count == 0: - raise CLIError("Can't scale down to 0 nodes.") for agent_profile in instance.agent_pool_profiles: if agent_profile.name == nodepool_name or (nodepool_name == "" and len(instance.agent_pool_profiles) == 1): + if agent_profile.enable_auto_scaling: + raise CLIError("Cannot scale cluster autoscaler enabled node pool.") + agent_profile.count = int(node_count) # pylint: disable=no-member # null out the SP and AAD profile because otherwise validation complains instance.service_principal_profile = None @@ -1539,16 +1584,42 @@ def aks_scale(cmd, # pylint: disable=unused-argument raise CLIError('The nodepool "{}" was not found.'.format(nodepool_name)) -def aks_upgrade(cmd, # pylint: disable=unused-argument +def aks_upgrade(cmd, # pylint: disable=unused-argument, too-many-return-statements client, resource_group_name, name, - kubernetes_version, + kubernetes_version='', control_plane_only=False, no_wait=False, - **kwargs): # pylint: disable=unused-argument + node_image_only=False, + yes=False): + from knack.prompting import prompt_y_n + msg = 'Kubernetes may be unavailable during cluster upgrades.\n Are you sure you want to perform this operation?' + if not yes and not prompt_y_n(msg, default="n"): + return None + instance = client.get(resource_group_name, name) + if kubernetes_version != '' and node_image_only: + raise CLIError('Conflicting flags. Upgrading the Kubernetes version will also upgrade node image version. If you only want to upgrade the node version please use the "--node-image-only" option only.') + + vmas_cluster = False + for agent_profile in instance.agent_pool_profiles: + if agent_profile.type.lower() == "availabilityset": + vmas_cluster = True + break + + if node_image_only: + msg = "This node image upgrade operation will run across every node pool in the cluster and might take a while, do you wish to continue?" + if not yes and not prompt_y_n(msg, default="n"): + return None + agent_pool_client = cf_agent_pools(cmd.cli_ctx) + for agent_pool_profile in instance.agent_pool_profiles: + if vmas_cluster: + raise CLIError('This cluster is not using VirtualMachineScaleSets. Node image upgrade only operation can only be applied on VirtualMachineScaleSets cluster.') + _upgrade_single_agent_pool_node_image(agent_pool_client, resource_group_name, name, agent_pool_profile, no_wait) + return None + if instance.kubernetes_version == kubernetes_version: if instance.provisioning_state == "Succeeded": logger.warning("The cluster is already on version %s and is not in a failed state. No operations " @@ -1558,36 +1629,28 @@ def aks_upgrade(cmd, # pylint: disable=unused-argument logger.warning("Cluster currently in failed state. Proceeding with upgrade to existing version %s to " "attempt resolution of failed cluster state.", instance.kubernetes_version) - from knack.prompting import prompt_y_n - upgrade_all = False instance.kubernetes_version = kubernetes_version - vmas_cluster = False - for agent_profile in instance.agent_pool_profiles: - if agent_profile.type.lower() == "availabilityset": - vmas_cluster = True - break - # for legacy clusters, we always upgrade node pools with CCP. if instance.max_agent_pools < 8 or vmas_cluster: if control_plane_only: msg = ("Legacy clusters do not support control plane only upgrade. All node pools will be " "upgraded to {} as well. Continue?").format(instance.kubernetes_version) - if not prompt_y_n(msg, default="n"): + if not yes and not prompt_y_n(msg, default="n"): return None upgrade_all = True else: if not control_plane_only: msg = ("Since control-plane-only argument is not specified, this will upgrade the control plane " "AND all nodepools to version {}. Continue?").format(instance.kubernetes_version) - if not prompt_y_n(msg, default="n"): + if not yes and not prompt_y_n(msg, default="n"): return None upgrade_all = True else: msg = ("Since control-plane-only argument is specified, this will upgrade only the control plane to {}. " "Node pool will not change. Continue?").format(instance.kubernetes_version) - if not prompt_y_n(msg, default="n"): + if not yes and not prompt_y_n(msg, default="n"): return None if upgrade_all: @@ -1601,8 +1664,14 @@ def aks_upgrade(cmd, # pylint: disable=unused-argument return sdk_no_wait(no_wait, client.create_or_update, resource_group_name, name, instance) +def _upgrade_single_agent_pool_node_image(client, resource_group_name, cluster_name, agent_pool_profile, no_wait): + instance = client.get(resource_group_name, cluster_name, agent_pool_profile.name) + instance.node_image_version = 'latest' + return sdk_no_wait(no_wait, client.create_or_update, resource_group_name, cluster_name, agent_pool_profile.name, instance) + + def _handle_addons_args(cmd, addons_str, subscription_id, resource_group_name, addon_profiles=None, - workspace_resource_id=None, appgw_name=None, appgw_subnet_prefix=None, appgw_id=None, appgw_subnet_id=None, appgw_shared=False, appgw_watch_namespace=None): + workspace_resource_id=None, appgw_name=None, appgw_subnet_prefix=None, appgw_id=None, appgw_subnet_id=None, appgw_watch_namespace=None): if not addon_profiles: addon_profiles = {} addons = addons_str.split(',') if addons_str else [] @@ -1643,8 +1712,6 @@ def _handle_addons_args(cmd, addons_str, subscription_id, resource_group_name, a addon_profile.config[CONST_INGRESS_APPGW_APPLICATION_GATEWAY_ID] = appgw_id if appgw_subnet_id is not None: addon_profile.config[CONST_INGRESS_APPGW_SUBNET_ID] = appgw_subnet_id - if appgw_shared: - addon_profile.config[CONST_INGRESS_APPGW_SHARED] = "true" if appgw_watch_namespace is not None: addon_profile.config[CONST_INGRESS_APPGW_WATCH_NAMESPACE] = appgw_watch_namespace addon_profiles[CONST_INGRESS_APPGW_ADDON_NAME] = addon_profile @@ -1963,7 +2030,7 @@ def _check_cluster_autoscaler_flag(enable_cluster_autoscaler, agent_pool_profile): if enable_cluster_autoscaler: if min_count is None or max_count is None: - raise CLIError('Please specifying both min-count and max-count when --enable-cluster-autoscaler enabled') + raise CLIError('Please specify both min-count and max-count when --enable-cluster-autoscaler enabled') if int(min_count) > int(max_count): raise CLIError('value of min-count should be less than or equal to value of max-count') if int(node_count) < int(min_count) or int(node_count) > int(max_count): @@ -2059,6 +2126,7 @@ def aks_agentpool_add(cmd, # pylint: disable=unused-argument,too-many-local tags=None, kubernetes_version=None, node_zones=None, + enable_node_public_ip=False, node_vm_size=None, node_osdisk_size=0, node_count=3, @@ -2072,9 +2140,10 @@ def aks_agentpool_add(cmd, # pylint: disable=unused-argument,too-many-local priority=CONST_SCALE_SET_PRIORITY_REGULAR, eviction_policy=CONST_SPOT_EVICTION_POLICY_DELETE, spot_max_price=float('nan'), - public_ip_per_vm=False, labels=None, + max_surge=None, mode="User", + aks_custom_headers=None, no_wait=False): instances = client.list(resource_group_name, cluster_name) for agentpool_profile in instances: @@ -2082,6 +2151,7 @@ def aks_agentpool_add(cmd, # pylint: disable=unused-argument,too-many-local raise CLIError("Node pool {} already exists, please try a different name, " "use 'aks nodepool list' to get current list of node pool".format(nodepool_name)) + upgradeSettings = AgentPoolUpgradeSettings() taints_array = [] if node_taints is not None: @@ -2098,6 +2168,9 @@ def aks_agentpool_add(cmd, # pylint: disable=unused-argument,too-many-local else: node_vm_size = "Standard_DS2_v2" + if max_surge: + upgradeSettings.max_surge = max_surge + agent_pool = AgentPool( name=nodepool_name, tags=tags, @@ -2111,9 +2184,10 @@ def aks_agentpool_add(cmd, # pylint: disable=unused-argument,too-many-local max_pods=int(max_pods) if max_pods else None, orchestrator_version=kubernetes_version, availability_zones=node_zones, + enable_node_public_ip=enable_node_public_ip, node_taints=taints_array, scale_set_priority=priority, - enable_node_public_ip=public_ip_per_vm, + upgrade_settings=upgradeSettings, mode=mode ) @@ -2128,7 +2202,8 @@ def aks_agentpool_add(cmd, # pylint: disable=unused-argument,too-many-local if node_osdisk_size: agent_pool.os_disk_size_gb = int(node_osdisk_size) - return sdk_no_wait(no_wait, client.create_or_update, resource_group_name, cluster_name, nodepool_name, agent_pool) + headers = get_aks_custom_headers(aks_custom_headers) + return sdk_no_wait(no_wait, client.create_or_update, resource_group_name, cluster_name, nodepool_name, agent_pool, custom_headers=headers) def aks_agentpool_scale(cmd, # pylint: disable=unused-argument @@ -2140,8 +2215,8 @@ def aks_agentpool_scale(cmd, # pylint: disable=unused-argument no_wait=False): instance = client.get(resource_group_name, cluster_name, nodepool_name) new_node_count = int(node_count) - if new_node_count == 0: - raise CLIError("Can't scale down to 0 nodes.") + if instance.enable_auto_scaling: + raise CLIError("Cannot scale cluster autoscaler enabled node pool.") if new_node_count == instance.count: raise CLIError("The new node count is the same as the current node count.") instance.count = new_node_count # pylint: disable=no-member @@ -2152,11 +2227,30 @@ def aks_agentpool_upgrade(cmd, # pylint: disable=unused-argument client, resource_group_name, cluster_name, - kubernetes_version, nodepool_name, - no_wait=False): + kubernetes_version='', + no_wait=False, + node_image_only=False, + max_surge=None,): + + from knack.prompting import prompt_y_n instance = client.get(resource_group_name, cluster_name, nodepool_name) + if kubernetes_version != '' and node_image_only: + raise CLIError('Conflicting flags. Upgrading the Kubernetes version will also upgrade node image version. If you only want to upgrade the node version please use the "--node-image-only" option only.') + instance.orchestrator_version = kubernetes_version + if node_image_only: + msg = "This node image upgrade operation will run across every node in this node pool and might take a while, " \ + "do you wish to continue? " + if not prompt_y_n(msg, default="n"): + return None + instance.node_image_version = 'latest' + + if not instance.upgrade_settings: + instance.upgrade_settings = AgentPoolUpgradeSettings() + + if max_surge: + instance.upgrade_settings.max_surge = max_surge return sdk_no_wait(no_wait, client.create_or_update, resource_group_name, cluster_name, nodepool_name, instance) @@ -2171,29 +2265,27 @@ def aks_agentpool_update(cmd, # pylint: disable=unused-argument disable_cluster_autoscaler=False, update_cluster_autoscaler=False, min_count=None, max_count=None, + max_surge=None, mode=None, no_wait=False): update_autoscaler = enable_cluster_autoscaler + disable_cluster_autoscaler + update_cluster_autoscaler - if (update_autoscaler != 1 and not tags and not mode): + if (update_autoscaler != 1 and not tags and not mode and not max_surge): raise CLIError('Please specify one or more of "--enable-cluster-autoscaler" or ' '"--disable-cluster-autoscaler" or ' '"--update-cluster-autoscaler" or ' - '"--tags" or "--mode"') + '"--tags" or "--mode" or "--max-surge"') instance = client.get(resource_group_name, cluster_name, nodepool_name) - node_count = instance.count if min_count is None or max_count is None: if enable_cluster_autoscaler or update_cluster_autoscaler: - raise CLIError('Please specifying both min-count and max-count when --enable-cluster-autoscaler or ' + raise CLIError('Please specify both min-count and max-count when --enable-cluster-autoscaler or ' '--update-cluster-autoscaler set.') if min_count is not None and max_count is not None: if int(min_count) > int(max_count): raise CLIError('value of min-count should be less than or equal to value of max-count.') - if int(node_count) < int(min_count) or int(node_count) > int(max_count): - raise CLIError("current node count '{}' is not in the range of min-count and max-count.".format(node_count)) if enable_cluster_autoscaler: if instance.enable_auto_scaling: @@ -2213,6 +2305,12 @@ def aks_agentpool_update(cmd, # pylint: disable=unused-argument instance.min_count = int(min_count) instance.max_count = int(max_count) + if not instance.upgrade_settings: + instance.upgrade_settings = AgentPoolUpgradeSettings() + + if max_surge: + instance.upgrade_settings.max_surge = max_surge + if disable_cluster_autoscaler: if not instance.enable_auto_scaling: logger.warning('Autoscaler is already disabled for this node pool.') @@ -2268,43 +2366,26 @@ def aks_disable_addons(cmd, client, resource_group_name, name, addons, no_wait=F def aks_enable_addons(cmd, client, resource_group_name, name, addons, workspace_resource_id=None, - subnet_name=None, appgw_name=None, appgw_subnet_prefix=None, appgw_id=None, appgw_subnet_id=None, appgw_shared=False, appgw_watch_namespace=None, no_wait=False): + subnet_name=None, appgw_name=None, appgw_subnet_prefix=None, appgw_id=None, appgw_subnet_id=None, appgw_watch_namespace=None, no_wait=False): instance = client.get(resource_group_name, name) subscription_id = get_subscription_id(cmd.cli_ctx) - service_principal_client_id = instance.service_principal_profile.client_id instance = _update_addons(cmd, instance, subscription_id, resource_group_name, name, addons, enable=True, workspace_resource_id=workspace_resource_id, subnet_name=subnet_name, - appgw_name=appgw_name, appgw_subnet_prefix=appgw_subnet_prefix, appgw_id=appgw_id, appgw_subnet_id=appgw_subnet_id, appgw_shared=appgw_shared, appgw_watch_namespace=appgw_watch_namespace, no_wait=no_wait) + appgw_name=appgw_name, appgw_subnet_prefix=appgw_subnet_prefix, appgw_id=appgw_id, appgw_subnet_id=appgw_subnet_id, appgw_watch_namespace=appgw_watch_namespace, no_wait=no_wait) if 'omsagent' in instance.addon_profiles and instance.addon_profiles['omsagent'].enabled: _ensure_container_insights_for_monitoring(cmd, instance.addon_profiles['omsagent']) - if CONST_INGRESS_APPGW_ADDON_NAME in instance.addon_profiles: - if CONST_INGRESS_APPGW_APPLICATION_GATEWAY_ID in instance.addon_profiles[CONST_INGRESS_APPGW_ADDON_NAME].config: - appgw_id = instance.addon_profiles[CONST_INGRESS_APPGW_ADDON_NAME].config[CONST_INGRESS_APPGW_APPLICATION_GATEWAY_ID] - from msrestazure.tools import parse_resource_id, resource_id - appgw_id_dict = parse_resource_id(appgw_id) - appgw_group_id = resource_id(subscription=appgw_id_dict["subscription"], resource_group=appgw_id_dict["resource_group"]) - if not _add_role_assignment(cmd.cli_ctx, 'Contributor', - service_principal_client_id, scope=appgw_group_id): - logger.warning('Could not create a role assignment for application gateway: {appgw_id} ' - 'specified in {CONST_INGRESS_APPGW_ADDON_NAME} addon. ' - 'Are you an Owner on this subscription?') - if CONST_INGRESS_APPGW_SUBNET_ID in instance.addon_profiles[CONST_INGRESS_APPGW_ADDON_NAME].config: - subnet_id = instance.addon_profiles[CONST_INGRESS_APPGW_ADDON_NAME].config[CONST_INGRESS_APPGW_SUBNET_ID] - from msrestazure.tools import parse_resource_id, resource_id - if not _add_role_assignment(cmd.cli_ctx, 'Contributor', - service_principal_client_id, scope=subnet_id): - logger.warning('Could not create a role assignment for subnet: {subnet_id} ' - 'specified in {CONST_INGRESS_APPGW_ADDON_NAME} addon. ' - 'Are you an Owner on this subscription?') + monitoring = 'omsagent' in instance.addon_profiles and instance.addon_profiles['omsagent'].enabled + ingress_appgw_addon_enabled = CONST_INGRESS_APPGW_ADDON_NAME in instance.addon_profiles and instance.addon_profiles[CONST_INGRESS_APPGW_ADDON_NAME].enabled + need_post_creation_role_assignment = monitoring or ingress_appgw_addon_enabled - if 'omsagent' in instance.addon_profiles and instance.addon_profiles['omsagent'].enabled: + if need_post_creation_role_assignment: # adding a wait here since we rely on the result for role assignment result = LongRunningOperation(cmd.cli_ctx)(client.create_or_update(resource_group_name, name, instance)) cloud_name = cmd.cli_ctx.cloud.name # mdm metrics supported only in Azure Public cloud so add the role assignment only in this cloud - if cloud_name.lower() == 'azurecloud': + if monitoring and cloud_name.lower() == 'azurecloud': from msrestazure.tools import resource_id cluster_resource_id = resource_id( subscription=subscription_id, @@ -2313,6 +2394,8 @@ def aks_enable_addons(cmd, client, resource_group_name, name, addons, workspace_ name=name ) _add_monitoring_role_assignment(result, cluster_resource_id, cmd) + if ingress_appgw_addon_enabled: + _add_ingress_appgw_addon_role_assignment(result, cmd) else: result = sdk_no_wait(no_wait, client.create_or_update, @@ -2337,7 +2420,6 @@ def _update_addons(cmd, # pylint: disable=too-many-branches,too-many-statements appgw_subnet_prefix=None, appgw_id=None, appgw_subnet_id=None, - appgw_shared=False, appgw_watch_namespace=None, no_wait=False): # pylint: disable=unused-argument @@ -2387,7 +2469,7 @@ def _update_addons(cmd, # pylint: disable=too-many-branches,too-many-statements if not subnet_name: raise CLIError('The aci-connector addon requires setting a subnet name.') addon_profile.config = {'SubnetName': subnet_name} - elif addon.lower() == CONST_INGRESS_APPGW_ADDON_NAME: + elif addon.lower() == CONST_INGRESS_APPGW_ADDON_NAME.lower(): if addon_profile.enabled: raise CLIError('The ingress-appgw addon is already enabled for this managed cluster.\n' 'To change ingress-appgw configuration, run ' @@ -2402,8 +2484,6 @@ def _update_addons(cmd, # pylint: disable=too-many-branches,too-many-statements addon_profile.config[CONST_INGRESS_APPGW_APPLICATION_GATEWAY_ID] = appgw_id if appgw_subnet_id is not None: addon_profile.config[CONST_INGRESS_APPGW_SUBNET_ID] = appgw_subnet_id - if appgw_shared: - addon_profile.config[CONST_INGRESS_APPGW_SHARED] = "true" if appgw_watch_namespace is not None: addon_profile.config[CONST_INGRESS_APPGW_WATCH_NAMESPACE] = appgw_watch_namespace addon_profiles[addon] = addon_profile @@ -2684,3 +2764,15 @@ def format_bright(msg): def format_hyperlink(the_link): return f'\033[1m{colorama.Style.BRIGHT}{colorama.Fore.BLUE}{the_link}{colorama.Style.RESET_ALL}' + + +def get_aks_custom_headers(aks_custom_headers=None): + headers = {} + if aks_custom_headers is not None: + if aks_custom_headers != "": + for pair in aks_custom_headers.split(','): + parts = pair.split('=') + if len(parts) != 2: + raise CLIError('custom headers format is incorrect') + headers[parts[0]] = parts[1] + return headers diff --git a/src/aks-preview/azext_aks_preview/tests/__init__.py b/src/aks-preview/azext_aks_preview/tests/__init__.py new file mode 100644 index 00000000000..34913fb394d --- /dev/null +++ b/src/aks-preview/azext_aks_preview/tests/__init__.py @@ -0,0 +1,4 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- diff --git a/src/aks-preview/azext_aks_preview/tests/latest/__init__.py b/src/aks-preview/azext_aks_preview/tests/latest/__init__.py new file mode 100644 index 00000000000..34913fb394d --- /dev/null +++ b/src/aks-preview/azext_aks_preview/tests/latest/__init__.py @@ -0,0 +1,4 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_byo_appgw_with_ingress_appgw_addon.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_byo_appgw_with_ingress_appgw_addon.yaml new file mode 100644 index 00000000000..cf8ee2c470c --- /dev/null +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_byo_appgw_with_ingress_appgw_addon.yaml @@ -0,0 +1,3146 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --address-prefix --subnet-name --subnet-prefix -o + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2019-07-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001","name":"clitest000001","type":"Microsoft.Resources/resourceGroups","location":"westus2","tags":{"product":"azurecli","cause":"automation","date":"2020-05-26T17:09:39Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '313' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 26 May 2020 17:09:39 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"location": "westus2", "tags": {}, "properties": {"addressSpace": {"addressPrefixes": + ["11.0.0.0/16"]}, "dhcpOptions": {}, "subnets": [{"properties": {"addressPrefix": + "11.0.0.0/24"}, "name": "aks-subnet"}]}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet create + Connection: + - keep-alive + Content-Length: + - '209' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - --resource-group --name --address-prefix --subnet-name --subnet-prefix -o + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-mgmt-network/10.1.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"cliakstest000003\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003\",\r\n + \ \"etag\": \"W/\\\"af558f11-27f8-4d2f-bdd1-e34d190ffadd\\\"\",\r\n \"type\": + \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"westus2\",\r\n + \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"resourceGuid\": \"677eb816-f153-489b-ba16-c52511799896\",\r\n \"addressSpace\": + {\r\n \"addressPrefixes\": [\r\n \"11.0.0.0/16\"\r\n ]\r\n + \ },\r\n \"dhcpOptions\": {\r\n \"dnsServers\": []\r\n },\r\n + \ \"subnets\": [\r\n {\r\n \"name\": \"aks-subnet\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/aks-subnet\",\r\n + \ \"etag\": \"W/\\\"af558f11-27f8-4d2f-bdd1-e34d190ffadd\\\"\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"addressPrefix\": \"11.0.0.0/24\",\r\n \"delegations\": + [],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n \"privateLinkServiceNetworkPolicies\": + \"Enabled\"\r\n },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets\"\r\n + \ }\r\n ],\r\n \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\": + false,\r\n \"enableVmProtection\": false\r\n }\r\n}" + headers: + azure-asyncnotification: + - Enabled + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/d35f9877-1435-4ab2-91ab-1719fa721c4a?api-version=2020-03-01 + cache-control: + - no-cache + content-length: + - '1361' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 26 May 2020 17:09:40 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - ee1a4a9f-f9d3-468e-80e0-fd3fa7c3a9db + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --address-prefix --subnet-name --subnet-prefix -o + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-mgmt-network/10.1.0 Azure-SDK-For-Python AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/d35f9877-1435-4ab2-91ab-1719fa721c4a?api-version=2020-03-01 + response: + body: + string: "{\r\n \"status\": \"Succeeded\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '29' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 26 May 2020 17:09:43 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - f41e6cbb-50a2-49c5-bf40-225013402b64 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --address-prefix --subnet-name --subnet-prefix -o + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-mgmt-network/10.1.0 Azure-SDK-For-Python AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"cliakstest000003\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003\",\r\n + \ \"etag\": \"W/\\\"37b301d5-826e-4ec2-8aa7-ded625f66331\\\"\",\r\n \"type\": + \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"westus2\",\r\n + \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"resourceGuid\": \"677eb816-f153-489b-ba16-c52511799896\",\r\n \"addressSpace\": + {\r\n \"addressPrefixes\": [\r\n \"11.0.0.0/16\"\r\n ]\r\n + \ },\r\n \"dhcpOptions\": {\r\n \"dnsServers\": []\r\n },\r\n + \ \"subnets\": [\r\n {\r\n \"name\": \"aks-subnet\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/aks-subnet\",\r\n + \ \"etag\": \"W/\\\"37b301d5-826e-4ec2-8aa7-ded625f66331\\\"\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"addressPrefix\": \"11.0.0.0/24\",\r\n \"delegations\": + [],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n \"privateLinkServiceNetworkPolicies\": + \"Enabled\"\r\n },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets\"\r\n + \ }\r\n ],\r\n \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\": + false,\r\n \"enableVmProtection\": false\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1363' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 26 May 2020 17:09:43 GMT + etag: + - W/"37b301d5-826e-4ec2-8aa7-ded625f66331" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - d6333bc9-699e-487f-8e3e-443979f8632b + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet subnet create + Connection: + - keep-alive + ParameterSetName: + - -n --resource-group --vnet-name --address-prefixes -o + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-mgmt-network/10.1.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"cliakstest000003\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003\",\r\n + \ \"etag\": \"W/\\\"37b301d5-826e-4ec2-8aa7-ded625f66331\\\"\",\r\n \"type\": + \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"westus2\",\r\n + \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"resourceGuid\": \"677eb816-f153-489b-ba16-c52511799896\",\r\n \"addressSpace\": + {\r\n \"addressPrefixes\": [\r\n \"11.0.0.0/16\"\r\n ]\r\n + \ },\r\n \"dhcpOptions\": {\r\n \"dnsServers\": []\r\n },\r\n + \ \"subnets\": [\r\n {\r\n \"name\": \"aks-subnet\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/aks-subnet\",\r\n + \ \"etag\": \"W/\\\"37b301d5-826e-4ec2-8aa7-ded625f66331\\\"\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"addressPrefix\": \"11.0.0.0/24\",\r\n \"delegations\": + [],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n \"privateLinkServiceNetworkPolicies\": + \"Enabled\"\r\n },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets\"\r\n + \ }\r\n ],\r\n \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\": + false,\r\n \"enableVmProtection\": false\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1363' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 26 May 2020 17:09:44 GMT + etag: + - W/"37b301d5-826e-4ec2-8aa7-ded625f66331" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - dc87c7ee-08a2-4759-8680-ac48a7155c4f + status: + code: 200 + message: OK +- request: + body: 'b''{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003", + "location": "westus2", "tags": {}, "properties": {"addressSpace": {"addressPrefixes": + ["11.0.0.0/16"]}, "dhcpOptions": {"dnsServers": []}, "subnets": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/aks-subnet", + "properties": {"addressPrefix": "11.0.0.0/24", "delegations": [], "privateEndpointNetworkPolicies": + "Enabled", "privateLinkServiceNetworkPolicies": "Enabled"}, "name": "aks-subnet"}, + {"properties": {"addressPrefix": "11.0.1.0/24"}, "name": "appgw-subnet"}], "virtualNetworkPeerings": + [], "enableDdosProtection": false, "enableVmProtection": false}}''' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet subnet create + Connection: + - keep-alive + Content-Length: + - '830' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -n --resource-group --vnet-name --address-prefixes -o + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-mgmt-network/10.1.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"cliakstest000003\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003\",\r\n + \ \"etag\": \"W/\\\"291473bb-1e8e-41d7-bb8b-ad78cf4fc29b\\\"\",\r\n \"type\": + \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"westus2\",\r\n + \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"resourceGuid\": \"677eb816-f153-489b-ba16-c52511799896\",\r\n \"addressSpace\": + {\r\n \"addressPrefixes\": [\r\n \"11.0.0.0/16\"\r\n ]\r\n + \ },\r\n \"dhcpOptions\": {\r\n \"dnsServers\": []\r\n },\r\n + \ \"subnets\": [\r\n {\r\n \"name\": \"aks-subnet\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/aks-subnet\",\r\n + \ \"etag\": \"W/\\\"291473bb-1e8e-41d7-bb8b-ad78cf4fc29b\\\"\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"addressPrefix\": \"11.0.0.0/24\",\r\n \"delegations\": + [],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n \"privateLinkServiceNetworkPolicies\": + \"Enabled\"\r\n },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets\"\r\n + \ },\r\n {\r\n \"name\": \"appgw-subnet\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/appgw-subnet\",\r\n + \ \"etag\": \"W/\\\"291473bb-1e8e-41d7-bb8b-ad78cf4fc29b\\\"\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"addressPrefix\": \"11.0.1.0/24\",\r\n \"delegations\": + [],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n \"privateLinkServiceNetworkPolicies\": + \"Enabled\"\r\n },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets\"\r\n + \ }\r\n ],\r\n \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\": + false,\r\n \"enableVmProtection\": false\r\n }\r\n}" + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/a2ba3197-f5bb-4438-bc75-7cda0fefaeeb?api-version=2020-03-01 + cache-control: + - no-cache + content-length: + - '1990' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 26 May 2020 17:09:44 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - fd19bdc5-ed84-4d8b-b4ec-c543cb824ab2 + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet subnet create + Connection: + - keep-alive + ParameterSetName: + - -n --resource-group --vnet-name --address-prefixes -o + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-mgmt-network/10.1.0 Azure-SDK-For-Python AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/a2ba3197-f5bb-4438-bc75-7cda0fefaeeb?api-version=2020-03-01 + response: + body: + string: "{\r\n \"status\": \"Succeeded\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '29' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 26 May 2020 17:09:47 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - e8e7327a-ea09-401b-a765-ef51f6b30d72 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet subnet create + Connection: + - keep-alive + ParameterSetName: + - -n --resource-group --vnet-name --address-prefixes -o + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-mgmt-network/10.1.0 Azure-SDK-For-Python AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"cliakstest000003\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003\",\r\n + \ \"etag\": \"W/\\\"b5301c5a-d348-4e05-9c36-484c51db8c9d\\\"\",\r\n \"type\": + \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"westus2\",\r\n + \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"resourceGuid\": \"677eb816-f153-489b-ba16-c52511799896\",\r\n \"addressSpace\": + {\r\n \"addressPrefixes\": [\r\n \"11.0.0.0/16\"\r\n ]\r\n + \ },\r\n \"dhcpOptions\": {\r\n \"dnsServers\": []\r\n },\r\n + \ \"subnets\": [\r\n {\r\n \"name\": \"aks-subnet\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/aks-subnet\",\r\n + \ \"etag\": \"W/\\\"b5301c5a-d348-4e05-9c36-484c51db8c9d\\\"\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"addressPrefix\": \"11.0.0.0/24\",\r\n \"delegations\": + [],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n \"privateLinkServiceNetworkPolicies\": + \"Enabled\"\r\n },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets\"\r\n + \ },\r\n {\r\n \"name\": \"appgw-subnet\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/appgw-subnet\",\r\n + \ \"etag\": \"W/\\\"b5301c5a-d348-4e05-9c36-484c51db8c9d\\\"\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"addressPrefix\": \"11.0.1.0/24\",\r\n \"delegations\": + [],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n \"privateLinkServiceNetworkPolicies\": + \"Enabled\"\r\n },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets\"\r\n + \ }\r\n ],\r\n \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\": + false,\r\n \"enableVmProtection\": false\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1993' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 26 May 2020 17:09:47 GMT + etag: + - W/"b5301c5a-d348-4e05-9c36-484c51db8c9d" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - a8d4acb0-cbcc-420b-9470-1afeccc67d3f + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network public-ip create + Connection: + - keep-alive + ParameterSetName: + - -n -g --allocation-method --sku -o + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2019-07-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001","name":"clitest000001","type":"Microsoft.Resources/resourceGroups","location":"westus2","tags":{"product":"azurecli","cause":"automation","date":"2020-05-26T17:09:39Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '313' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 26 May 2020 17:09:48 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"location": "westus2", "sku": {"name": "Standard"}, "properties": {"publicIPAllocationMethod": + "Static", "publicIPAddressVersion": "IPv4", "idleTimeoutInMinutes": 4}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network public-ip create + Connection: + - keep-alive + Content-Length: + - '167' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -n -g --allocation-method --sku -o + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-mgmt-network/10.1.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/publicIPAddresses/appgw-ip?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"appgw-ip\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/publicIPAddresses/appgw-ip\",\r\n + \ \"etag\": \"W/\\\"5dc3dc15-8f6b-4e59-b7a5-7056d7902bbc\\\"\",\r\n \"location\": + \"westus2\",\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"resourceGuid\": \"4523b5f4-36cd-41bc-a589-bd12f7132f0b\",\r\n \"publicIPAddressVersion\": + \"IPv4\",\r\n \"publicIPAllocationMethod\": \"Static\",\r\n \"idleTimeoutInMinutes\": + 4,\r\n \"ipTags\": []\r\n },\r\n \"type\": \"Microsoft.Network/publicIPAddresses\",\r\n + \ \"sku\": {\r\n \"name\": \"Standard\"\r\n }\r\n}" + headers: + azure-asyncnotification: + - Enabled + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/357f3a9f-b2a9-4b8d-a9b1-b24163baa4cb?api-version=2020-03-01 + cache-control: + - no-cache + content-length: + - '609' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 26 May 2020 17:09:48 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 6c7d319d-c7c2-4d29-b5cc-b0c22eac45b8 + x-ms-ratelimit-remaining-subscription-writes: + - '1196' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network public-ip create + Connection: + - keep-alive + ParameterSetName: + - -n -g --allocation-method --sku -o + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-mgmt-network/10.1.0 Azure-SDK-For-Python AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/357f3a9f-b2a9-4b8d-a9b1-b24163baa4cb?api-version=2020-03-01 + response: + body: + string: "{\r\n \"status\": \"Succeeded\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '29' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 26 May 2020 17:09:50 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - f6580ce1-ceff-4ef5-a028-50b0935ac5fa + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network public-ip create + Connection: + - keep-alive + ParameterSetName: + - -n -g --allocation-method --sku -o + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-mgmt-network/10.1.0 Azure-SDK-For-Python AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/publicIPAddresses/appgw-ip?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"appgw-ip\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/publicIPAddresses/appgw-ip\",\r\n + \ \"etag\": \"W/\\\"3db4e8c4-3e73-44cf-b3a4-bdd765a76bf7\\\"\",\r\n \"location\": + \"westus2\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"resourceGuid\": \"4523b5f4-36cd-41bc-a589-bd12f7132f0b\",\r\n \"ipAddress\": + \"52.250.88.133\",\r\n \"publicIPAddressVersion\": \"IPv4\",\r\n \"publicIPAllocationMethod\": + \"Static\",\r\n \"idleTimeoutInMinutes\": 4,\r\n \"ipTags\": []\r\n + \ },\r\n \"type\": \"Microsoft.Network/publicIPAddresses\",\r\n \"sku\": + {\r\n \"name\": \"Standard\"\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '645' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 26 May 2020 17:09:50 GMT + etag: + - W/"3db4e8c4-3e73-44cf-b3a4-bdd765a76bf7" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 61407429-cc49-474d-b2f2-496154b8d741 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network application-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku --public-ip-address --subnet + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2019-07-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001","name":"clitest000001","type":"Microsoft.Resources/resourceGroups","location":"westus2","tags":{"product":"azurecli","cause":"automation","date":"2020-05-26T17:09:39Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '313' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 26 May 2020 17:09:50 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network application-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku --public-ip-address --subnet + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resources?$filter=resourceGroup%20eq%20%27clitest000001%27%20and%20name%20eq%20%27cliakstest000003%27%20and%20resourceType%20eq%20%27Microsoft.Network%2FvirtualNetworks%27&api-version=2019-07-01 + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003","name":"cliakstest000003","type":"Microsoft.Network/virtualNetworks","location":"westus2","tags":{}}]}' + headers: + cache-control: + - no-cache + content-length: + - '266' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 26 May 2020 17:09:50 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network application-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku --public-ip-address --subnet + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resources?$filter=resourceGroup%20eq%20%27clitest000001%27%20and%20name%20eq%20%27appgw-ip%27%20and%20resourceType%20eq%20%27Microsoft.Network%2FpublicIPAddresses%27&api-version=2019-07-01 + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/publicIPAddresses/appgw-ip","name":"appgw-ip","type":"Microsoft.Network/publicIPAddresses","sku":{"name":"Standard"},"location":"westus2"}]}' + headers: + cache-control: + - no-cache + content-length: + - '270' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 26 May 2020 17:09:50 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: 'b''{"properties": {"template": {"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", "parameters": {}, "variables": {"appGwID": "[resourceId(\''Microsoft.Network/applicationGateways\'', + \''appgw\'')]"}, "resources": [{"type": "Microsoft.Network/applicationGateways", + "name": "appgw", "location": "westus2", "tags": {}, "apiVersion": "2020-03-01", + "dependsOn": [], "properties": {"backendAddressPools": [{"name": "appGatewayBackendPool"}], + "backendHttpSettingsCollection": [{"name": "appGatewayBackendHttpSettings", + "properties": {"Port": 80, "Protocol": "Http", "CookieBasedAffinity": "disabled", + "connectionDraining": {"enabled": false, "drainTimeoutInSec": 1}}}], "frontendIPConfigurations": + [{"name": "appGatewayFrontendIP", "properties": {"publicIPAddress": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/publicIPAddresses/appgw-ip"}}}], + "frontendPorts": [{"name": "appGatewayFrontendPort", "properties": {"Port": + 80}}], "gatewayIPConfigurations": [{"name": "appGatewayFrontendIP", "properties": + {"subnet": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/appgw-subnet"}}}], + "httpListeners": [{"name": "appGatewayHttpListener", "properties": {"FrontendIpConfiguration": + {"Id": "[concat(variables(\''appGwID\''), \''/frontendIPConfigurations/appGatewayFrontendIP\'')]"}, + "FrontendPort": {"Id": "[concat(variables(\''appGwID\''), \''/frontendPorts/appGatewayFrontendPort\'')]"}, + "Protocol": "http", "SslCertificate": null}}], "sku": {"name": "Standard_v2", + "tier": "Standard_v2", "capacity": 2}, "requestRoutingRules": [{"Name": "rule1", + "properties": {"RuleType": "Basic", "httpListener": {"id": "[concat(variables(\''appGwID\''), + \''/httpListeners/appGatewayHttpListener\'')]"}, "backendAddressPool": {"id": + "[concat(variables(\''appGwID\''), \''/backendAddressPools/appGatewayBackendPool\'')]"}, + "backendHttpSettings": {"id": "[concat(variables(\''appGwID\''), \''/backendHttpSettingsCollection/appGatewayBackendHttpSettings\'')]"}}}]}, + "zones": null}], "outputs": {"applicationGateway": {"type": "object", "value": + "[reference(\''appgw\'')]"}}}, "parameters": {}, "mode": "Incremental"}}''' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network application-gateway create + Connection: + - keep-alive + Content-Length: + - '2295' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -n -g --sku --public-ip-address --subnet + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Resources/deployments/mock-deployment?api-version=2019-07-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Resources/deployments/ag_deploy_l45p5ojwF0y1H8pwEPvx37lzVoeSyMlF","name":"ag_deploy_l45p5ojwF0y1H8pwEPvx37lzVoeSyMlF","type":"Microsoft.Resources/deployments","properties":{"templateHash":"4382473357612407917","parameters":{},"mode":"Incremental","provisioningState":"Accepted","timestamp":"2020-05-26T17:09:50.9481618Z","duration":"PT0.1710005S","correlationId":"dd37ba4c-ab91-4756-8542-5aa4a08d9044","providers":[{"namespace":"Microsoft.Network","resourceTypes":[{"resourceType":"applicationGateways","locations":["westus2"]}]}],"dependencies":[]}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Resources/deployments/ag_deploy_l45p5ojwF0y1H8pwEPvx37lzVoeSyMlF/operationStatuses/08586110938947004464?api-version=2019-07-01 + cache-control: + - no-cache + content-length: + - '662' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 26 May 2020 17:09:50 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1196' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network application-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku --public-ip-address --subnet + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08586110938947004464?api-version=2019-07-01 + response: + body: + string: '{"status":"Running"}' + headers: + cache-control: + - no-cache + content-length: + - '20' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 26 May 2020 17:10:20 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network application-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku --public-ip-address --subnet + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08586110938947004464?api-version=2019-07-01 + response: + body: + string: '{"status":"Running"}' + headers: + cache-control: + - no-cache + content-length: + - '20' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 26 May 2020 17:10:50 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network application-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku --public-ip-address --subnet + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08586110938947004464?api-version=2019-07-01 + response: + body: + string: '{"status":"Running"}' + headers: + cache-control: + - no-cache + content-length: + - '20' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 26 May 2020 17:11:20 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network application-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku --public-ip-address --subnet + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08586110938947004464?api-version=2019-07-01 + response: + body: + string: '{"status":"Running"}' + headers: + cache-control: + - no-cache + content-length: + - '20' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 26 May 2020 17:11:51 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network application-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku --public-ip-address --subnet + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08586110938947004464?api-version=2019-07-01 + response: + body: + string: '{"status":"Running"}' + headers: + cache-control: + - no-cache + content-length: + - '20' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 26 May 2020 17:12:20 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network application-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku --public-ip-address --subnet + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08586110938947004464?api-version=2019-07-01 + response: + body: + string: '{"status":"Running"}' + headers: + cache-control: + - no-cache + content-length: + - '20' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 26 May 2020 17:12:51 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network application-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku --public-ip-address --subnet + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08586110938947004464?api-version=2019-07-01 + response: + body: + string: '{"status":"Running"}' + headers: + cache-control: + - no-cache + content-length: + - '20' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 26 May 2020 17:13:21 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network application-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku --public-ip-address --subnet + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08586110938947004464?api-version=2019-07-01 + response: + body: + string: '{"status":"Running"}' + headers: + cache-control: + - no-cache + content-length: + - '20' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 26 May 2020 17:13:50 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network application-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku --public-ip-address --subnet + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08586110938947004464?api-version=2019-07-01 + response: + body: + string: '{"status":"Succeeded"}' + headers: + cache-control: + - no-cache + content-length: + - '22' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 26 May 2020 17:14:21 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network application-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku --public-ip-address --subnet + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Resources/deployments/mock-deployment?api-version=2019-07-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Resources/deployments/ag_deploy_l45p5ojwF0y1H8pwEPvx37lzVoeSyMlF","name":"ag_deploy_l45p5ojwF0y1H8pwEPvx37lzVoeSyMlF","type":"Microsoft.Resources/deployments","properties":{"templateHash":"4382473357612407917","parameters":{},"mode":"Incremental","provisioningState":"Succeeded","timestamp":"2020-05-26T17:14:18.9612215Z","duration":"PT4M28.1840602S","correlationId":"dd37ba4c-ab91-4756-8542-5aa4a08d9044","providers":[{"namespace":"Microsoft.Network","resourceTypes":[{"resourceType":"applicationGateways","locations":["westus2"]}]}],"dependencies":[],"outputs":{"applicationGateway":{"type":"Object","value":{"provisioningState":"Succeeded","resourceGuid":"be294b7f-d061-486f-9415-9615113174bd","sku":{"name":"Standard_v2","tier":"Standard_v2","capacity":2},"operationalState":"Running","gatewayIPConfigurations":[{"name":"appGatewayFrontendIP","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/applicationGateways/appgw/gatewayIPConfigurations/appGatewayFrontendIP","etag":"W/\"40603911-317c-4631-a742-d5dd4947a99c\"","properties":{"provisioningState":"Succeeded","subnet":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/appgw-subnet"}},"type":"Microsoft.Network/applicationGateways/gatewayIPConfigurations"}],"sslCertificates":[],"trustedRootCertificates":[],"trustedClientCertificates":[],"sslProfiles":[],"frontendIPConfigurations":[{"name":"appGatewayFrontendIP","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/applicationGateways/appgw/frontendIPConfigurations/appGatewayFrontendIP","etag":"W/\"40603911-317c-4631-a742-d5dd4947a99c\"","type":"Microsoft.Network/applicationGateways/frontendIPConfigurations","properties":{"provisioningState":"Succeeded","privateIPAllocationMethod":"Dynamic","publicIPAddress":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/publicIPAddresses/appgw-ip"},"httpListeners":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/applicationGateways/appgw/httpListeners/appGatewayHttpListener"}]}}],"frontendPorts":[{"name":"appGatewayFrontendPort","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/applicationGateways/appgw/frontendPorts/appGatewayFrontendPort","etag":"W/\"40603911-317c-4631-a742-d5dd4947a99c\"","properties":{"provisioningState":"Succeeded","port":80,"httpListeners":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/applicationGateways/appgw/httpListeners/appGatewayHttpListener"}]},"type":"Microsoft.Network/applicationGateways/frontendPorts"}],"backendAddressPools":[{"name":"appGatewayBackendPool","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appGatewayBackendPool","etag":"W/\"40603911-317c-4631-a742-d5dd4947a99c\"","properties":{"provisioningState":"Succeeded","backendAddresses":[],"requestRoutingRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/applicationGateways/appgw/requestRoutingRules/rule1"}]},"type":"Microsoft.Network/applicationGateways/backendAddressPools"}],"loadDistributionPolicies":[],"backendHttpSettingsCollection":[{"name":"appGatewayBackendHttpSettings","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/appGatewayBackendHttpSettings","etag":"W/\"40603911-317c-4631-a742-d5dd4947a99c\"","properties":{"provisioningState":"Succeeded","port":80,"protocol":"Http","cookieBasedAffinity":"Disabled","connectionDraining":{"enabled":false,"drainTimeoutInSec":1},"pickHostNameFromBackendAddress":false,"requestTimeout":30,"requestRoutingRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/applicationGateways/appgw/requestRoutingRules/rule1"}]},"type":"Microsoft.Network/applicationGateways/backendHttpSettingsCollection"}],"httpListeners":[{"name":"appGatewayHttpListener","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/applicationGateways/appgw/httpListeners/appGatewayHttpListener","etag":"W/\"40603911-317c-4631-a742-d5dd4947a99c\"","properties":{"provisioningState":"Succeeded","frontendIPConfiguration":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/applicationGateways/appgw/frontendIPConfigurations/appGatewayFrontendIP"},"frontendPort":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/applicationGateways/appgw/frontendPorts/appGatewayFrontendPort"},"protocol":"Http","hostNames":[],"requireServerNameIndication":false,"requestRoutingRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/applicationGateways/appgw/requestRoutingRules/rule1"}]},"type":"Microsoft.Network/applicationGateways/httpListeners"}],"urlPathMaps":[],"requestRoutingRules":[{"name":"rule1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/applicationGateways/appgw/requestRoutingRules/rule1","etag":"W/\"40603911-317c-4631-a742-d5dd4947a99c\"","properties":{"provisioningState":"Succeeded","ruleType":"Basic","httpListener":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/applicationGateways/appgw/httpListeners/appGatewayHttpListener"},"backendAddressPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appGatewayBackendPool"},"backendHttpSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/appGatewayBackendHttpSettings"}},"type":"Microsoft.Network/applicationGateways/requestRoutingRules"}],"probes":[],"rewriteRuleSets":[],"redirectConfigurations":[],"privateLinkConfigurations":[],"privateEndpointConnections":[]}}},"outputResources":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/applicationGateways/appgw"}]}}' + headers: + cache-control: + - no-cache + content-length: + - '6976' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 26 May 2020 17:14:21 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - -n -g --enable-managed-identity --vnet-subnet-id -a --appgw-id -o + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2019-07-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001","name":"clitest000001","type":"Microsoft.Resources/resourceGroups","location":"westus2","tags":{"product":"azurecli","cause":"automation","date":"2020-05-26T17:09:39Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '313' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 26 May 2020 17:14:22 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - -n -g --enable-managed-identity --vnet-subnet-id -a --appgw-id -o + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-mgmt-authorization/0.52.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/aks-subnet/providers/Microsoft.Authorization/roleAssignments?$filter=atScope%28%29&api-version=2018-09-01-preview + response: + body: + string: '{"value":[{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"8a8f0a97-8644-4579-a5b1-a3c0d4862232","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","createdOn":"2020-03-19T11:46:14.1656017Z","updatedOn":"2020-03-19T11:46:14.1656017Z","createdBy":"3b675a45-60cc-456b-8666-52a8003b38e7","updatedBy":"3b675a45-60cc-456b-8666-52a8003b38e7"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c72dfc33-0c35-445d-bc0c-b59966b22355","type":"Microsoft.Authorization/roleAssignments","name":"c72dfc33-0c35-445d-bc0c-b59966b22355"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"8ff738a5-abcd-4864-a162-6c18f7c9cbd9","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","createdOn":"2020-03-14T03:31:35.9969748Z","updatedOn":"2020-03-14T03:31:35.9969748Z","createdBy":"a6920a4d-d20a-4ac6-a844-13565e224294","updatedBy":"a6920a4d-d20a-4ac6-a844-13565e224294"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/48db4402-8176-4884-bdf6-0484a8e5eefb","type":"Microsoft.Authorization/roleAssignments","name":"48db4402-8176-4884-bdf6-0484a8e5eefb"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7","principalId":"8a8f0a97-8644-4579-a5b1-a3c0d4862232","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","createdOn":"2020-03-19T11:46:11.5492276Z","updatedOn":"2020-03-19T11:46:11.5492276Z","createdBy":"3b675a45-60cc-456b-8666-52a8003b38e7","updatedBy":"3b675a45-60cc-456b-8666-52a8003b38e7"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/f3cd7225-ccb1-4559-b9bf-c05b9a98e752","type":"Microsoft.Authorization/roleAssignments","name":"f3cd7225-ccb1-4559-b9bf-c05b9a98e752"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"0fab726f-ac3b-4005-8300-4d8b71e543cb","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","createdOn":"2020-03-14T06:30:36.4249722Z","updatedOn":"2020-03-14T06:30:36.4249722Z","createdBy":"a6920a4d-d20a-4ac6-a844-13565e224294","updatedBy":"a6920a4d-d20a-4ac6-a844-13565e224294"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/5027b2ef-65bd-11ea-b6b5-0242ac110002","type":"Microsoft.Authorization/roleAssignments","name":"5027b2ef-65bd-11ea-b6b5-0242ac110002"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"73994283-0be5-406e-8b93-ff86da389c94","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","createdOn":"2020-03-25T04:06:11.4924059Z","updatedOn":"2020-03-25T04:06:11.4924059Z","createdBy":"a6920a4d-d20a-4ac6-a844-13565e224294","updatedBy":"a6920a4d-d20a-4ac6-a844-13565e224294"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/e9d8b6e8-39d0-44d7-86b2-524db630dd9f","type":"Microsoft.Authorization/roleAssignments","name":"e9d8b6e8-39d0-44d7-86b2-524db630dd9f"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"cb87f856-74ca-4cb0-a29a-4f9f059f89d9","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","createdOn":"2020-05-20T07:06:25.1407870Z","updatedOn":"2020-05-20T07:06:25.1407870Z","createdBy":"a6920a4d-d20a-4ac6-a844-13565e224294","updatedBy":"a6920a4d-d20a-4ac6-a844-13565e224294"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/002c2bb7-dcd9-4d01-8148-a58b2cb29faa","type":"Microsoft.Authorization/roleAssignments","name":"002c2bb7-dcd9-4d01-8148-a58b2cb29faa"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"d7a1c7e1-371a-43c1-bcfa-2a0f98fe8694","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","createdOn":"2020-03-10T02:11:51.7556492Z","updatedOn":"2020-03-10T02:11:51.7556492Z","createdBy":"a6920a4d-d20a-4ac6-a844-13565e224294","updatedBy":"a6920a4d-d20a-4ac6-a844-13565e224294"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/654177ad-ec8f-4092-98f1-83df7c9de1ef","type":"Microsoft.Authorization/roleAssignments","name":"654177ad-ec8f-4092-98f1-83df7c9de1ef"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/d73bb868-a0df-4d4d-bd69-98a00b01fccb","principalId":"8a8f0a97-8644-4579-a5b1-a3c0d4862232","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","createdOn":"2020-03-19T11:46:21.1115767Z","updatedOn":"2020-03-19T11:46:21.1115767Z","createdBy":"3b675a45-60cc-456b-8666-52a8003b38e7","updatedBy":"3b675a45-60cc-456b-8666-52a8003b38e7"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c83ae738-0943-4dad-a482-672f2efcfe59","type":"Microsoft.Authorization/roleAssignments","name":"c83ae738-0943-4dad-a482-672f2efcfe59"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7","principalId":"5c617d2b-99f8-4c90-98fe-dfe040fa33c1","principalType":"ServicePrincipal","scope":"/","createdOn":"2018-02-27T19:19:50.2663941Z","updatedOn":"2018-02-27T19:19:50.2663941Z","createdBy":null,"updatedBy":null},"id":"/providers/Microsoft.Authorization/roleAssignments/3e883d24-b106-42ff-ad13-d7bf271b964d","type":"Microsoft.Authorization/roleAssignments","name":"3e883d24-b106-42ff-ad13-d7bf271b964d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9","principalId":"1c8b3602-77a2-4e8a-8c1e-f127f2af5ca2","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/39349b3a-17e9-4bc8-81ad-2bd46e105074","createdOn":"2019-03-26T22:01:02.9203573Z","updatedOn":"2019-03-26T22:01:02.9203573Z","createdBy":"8701e34d-d7c2-459c-b2d7-f3a9c5204818","updatedBy":"8701e34d-d7c2-459c-b2d7-f3a9c5204818"},"id":"/providers/Microsoft.Management/managementGroups/39349b3a-17e9-4bc8-81ad-2bd46e105074/providers/Microsoft.Authorization/roleAssignments/4b5badf4-9ce8-48cd-835e-a28b4e1b445e","type":"Microsoft.Authorization/roleAssignments","name":"4b5badf4-9ce8-48cd-835e-a28b4e1b445e"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9","principalId":"1c8b3602-77a2-4e8a-8c1e-f127f2af5ca2","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","createdOn":"2019-03-26T22:01:02.9136073Z","updatedOn":"2019-03-26T22:01:02.9136073Z","createdBy":"8701e34d-d7c2-459c-b2d7-f3a9c5204818","updatedBy":"8701e34d-d7c2-459c-b2d7-f3a9c5204818"},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/6f4de15e-9316-4714-a7c4-40c46cf8e067","type":"Microsoft.Authorization/roleAssignments","name":"6f4de15e-9316-4714-a7c4-40c46cf8e067"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"096e33bd-3978-4b72-bb81-aa4f21faa155","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","createdOn":"2019-07-15T18:20:07.8710952Z","updatedOn":"2019-07-15T18:20:07.8710952Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c"},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/53e2331d-7097-4d99-a92c-9cf5dd912b02","type":"Microsoft.Authorization/roleAssignments","name":"53e2331d-7097-4d99-a92c-9cf5dd912b02"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"13c55e93-542e-463a-8a36-73d67f89ea1f","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","createdOn":"2019-07-15T18:20:00.5212035Z","updatedOn":"2019-07-15T18:20:00.5212035Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c"},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/76292cf7-556b-4a88-a469-75a7e3893adc","type":"Microsoft.Authorization/roleAssignments","name":"76292cf7-556b-4a88-a469-75a7e3893adc"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"21dda55b-ee95-4ba5-aace-58e017451c1d","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","createdOn":"2019-07-15T18:19:57.9722094Z","updatedOn":"2019-07-15T18:19:57.9722094Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c"},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/11b6023d-415b-4f99-9c4b-70c1d1d83041","type":"Microsoft.Authorization/roleAssignments","name":"11b6023d-415b-4f99-9c4b-70c1d1d83041"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"27b2ace7-5ddd-49c3-aa81-0e87abdb9724","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","createdOn":"2019-07-15T18:20:02.9931002Z","updatedOn":"2019-07-15T18:20:02.9931002Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c"},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/128167e6-8431-4087-86c2-c5de68d4314b","type":"Microsoft.Authorization/roleAssignments","name":"128167e6-8431-4087-86c2-c5de68d4314b"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"2ac3f52f-f3ad-40a4-9b2d-aa24e4c7bbba","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","createdOn":"2020-02-25T18:36:13.2137492Z","updatedOn":"2020-02-25T18:36:13.2137492Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c"},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/18fdd87e-1c01-424e-b380-32310f4940c2","type":"Microsoft.Authorization/roleAssignments","name":"18fdd87e-1c01-424e-b380-32310f4940c2"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"3de59bcf-93d8-4eff-95db-d6d9b8751eee","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","createdOn":"2019-07-15T18:19:51.9501395Z","updatedOn":"2019-07-15T18:19:51.9501395Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c"},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/a06d1602-e5d3-45bc-9c27-c7c8151ccd63","type":"Microsoft.Authorization/roleAssignments","name":"a06d1602-e5d3-45bc-9c27-c7c8151ccd63"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"439882e1-d603-45dd-9e62-8592309d7aa4","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","createdOn":"2019-07-15T18:20:13.7008054Z","updatedOn":"2019-07-15T18:20:13.7008054Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c"},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/ee5e7d26-39b1-454d-aff6-85b92343297a","type":"Microsoft.Authorization/roleAssignments","name":"ee5e7d26-39b1-454d-aff6-85b92343297a"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"4a113caa-961f-4535-ac9b-79bfba8b9ed2","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","createdOn":"2020-02-25T18:36:00.4746112Z","updatedOn":"2020-02-25T18:36:00.4746112Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c"},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/d9bcf58a-6f24-446d-bf60-20ffe5142396","type":"Microsoft.Authorization/roleAssignments","name":"d9bcf58a-6f24-446d-bf60-20ffe5142396"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"4fd162ac-c74a-4e79-9952-81fff83cbeea","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","createdOn":"2019-07-15T18:20:05.6271257Z","updatedOn":"2019-07-15T18:20:05.6271257Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c"},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/455cd407-b6d3-499d-ba84-696f5a496ee7","type":"Microsoft.Authorization/roleAssignments","name":"455cd407-b6d3-499d-ba84-696f5a496ee7"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"56d08bc2-cc29-4d23-9d23-fd396b807b02","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","createdOn":"2020-02-25T18:35:55.7490022Z","updatedOn":"2020-02-25T18:35:55.7490022Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c"},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/6e2b954b-42b2-48e0-997a-622601f0a4b4","type":"Microsoft.Authorization/roleAssignments","name":"6e2b954b-42b2-48e0-997a-622601f0a4b4"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"6179a082-c057-4fe3-8118-916b816a42e3","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","createdOn":"2020-02-25T18:35:57.9173081Z","updatedOn":"2020-02-25T18:35:57.9173081Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c"},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/8d76aaa3-fcfd-4ea5-8c7c-363d250e7ae9","type":"Microsoft.Authorization/roleAssignments","name":"8d76aaa3-fcfd-4ea5-8c7c-363d250e7ae9"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"6fe923a8-2e4d-4c1f-b7d6-a7c5984f0129","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","createdOn":"2020-02-25T18:36:23.0673659Z","updatedOn":"2020-02-25T18:36:23.0673659Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c"},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/d0817c57-3e5b-4363-88b7-52baadd5c362","type":"Microsoft.Authorization/roleAssignments","name":"d0817c57-3e5b-4363-88b7-52baadd5c362"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"7951777e-acb7-4c1c-b131-aa2e639b0481","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","createdOn":"2019-07-15T18:20:11.2064664Z","updatedOn":"2019-07-15T18:20:11.2064664Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c"},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/4aa9660c-99d1-41b9-b511-f3d7fa017b0c","type":"Microsoft.Authorization/roleAssignments","name":"4aa9660c-99d1-41b9-b511-f3d7fa017b0c"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"7c2d0d59-528c-434a-8c6c-03330539cad2","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","createdOn":"2020-02-25T18:36:31.2596366Z","updatedOn":"2020-02-25T18:36:31.2596366Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c"},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/0dabf212-a1c7-4af6-ba8b-be045493b368","type":"Microsoft.Authorization/roleAssignments","name":"0dabf212-a1c7-4af6-ba8b-be045493b368"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"7d7aed0a-228e-420b-a6a2-82a49dacb8cb","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","createdOn":"2020-02-25T18:35:52.9188704Z","updatedOn":"2020-02-25T18:35:52.9188704Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c"},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/d674b853-332e-4437-9ddb-bba8fde7ccce","type":"Microsoft.Authorization/roleAssignments","name":"d674b853-332e-4437-9ddb-bba8fde7ccce"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"941c0157-bdd0-499a-aba0-be1244f82ab1","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","createdOn":"2019-07-15T18:19:54.6845513Z","updatedOn":"2019-07-15T18:19:54.6845513Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c"},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/9aba8539-6e15-439f-83d0-18999e7a3186","type":"Microsoft.Authorization/roleAssignments","name":"9aba8539-6e15-439f-83d0-18999e7a3186"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"985bb80e-8113-4542-8d68-418589e6ff34","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","createdOn":"2020-02-25T18:36:02.5324969Z","updatedOn":"2020-02-25T18:36:02.5324969Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c"},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/b4bdc3a7-78e2-4b26-8b90-e474aa120b47","type":"Microsoft.Authorization/roleAssignments","name":"b4bdc3a7-78e2-4b26-8b90-e474aa120b47"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"b7a49237-f5b0-473f-a4ff-6830d23af17d","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","createdOn":"2020-02-25T18:36:38.8393742Z","updatedOn":"2020-02-25T18:36:38.8393742Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c"},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/00625383-053d-4227-a4db-b098e9bd2289","type":"Microsoft.Authorization/roleAssignments","name":"00625383-053d-4227-a4db-b098e9bd2289"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"c1181647-15a3-4d44-ac0e-34c45c204d9f","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","createdOn":"2019-07-15T18:16:56.7391341Z","updatedOn":"2019-07-15T18:16:56.7391341Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c"},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/1ab6e86f-40bc-4d22-8af4-46820b939205","type":"Microsoft.Authorization/roleAssignments","name":"1ab6e86f-40bc-4d22-8af4-46820b939205"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"f2e939bc-742a-42f9-a27a-f0982c6e3f64","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","createdOn":"2020-02-25T18:36:05.0954462Z","updatedOn":"2020-02-25T18:36:05.0954462Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c"},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/3151fe9c-fcd2-45d3-a256-72fb13b86df5","type":"Microsoft.Authorization/roleAssignments","name":"3151fe9c-fcd2-45d3-a256-72fb13b86df5"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/9980e02c-c2be-4d73-94e8-173b1dc7cf3c","principalId":"8845dee4-c749-46a4-b8e8-35512cf066cd","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","createdOn":"2019-09-06T19:25:22.9839570Z","updatedOn":"2019-09-06T19:25:22.9839570Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c"},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/9c37d50b-3a02-4ece-a581-9f9245ad884b","type":"Microsoft.Authorization/roleAssignments","name":"9c37d50b-3a02-4ece-a581-9f9245ad884b"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9","principalId":"1c8b3602-77a2-4e8a-8c1e-f127f2af5ca2","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/CnAIOrchestrationServicePublicCorpprod","createdOn":"2019-03-26T22:01:02.9176787Z","updatedOn":"2019-03-26T22:01:02.9176787Z","createdBy":"8701e34d-d7c2-459c-b2d7-f3a9c5204818","updatedBy":"8701e34d-d7c2-459c-b2d7-f3a9c5204818"},"id":"/providers/Microsoft.Management/managementGroups/CnAIOrchestrationServicePublicCorpprod/providers/Microsoft.Authorization/roleAssignments/4b771ea9-81de-4fc4-aa28-a3a0b9b4a320","type":"Microsoft.Authorization/roleAssignments","name":"4b771ea9-81de-4fc4-aa28-a3a0b9b4a320"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/36243c78-bf99-498c-9df9-86d9f8d28608","principalId":"1f75b9dd-4f1d-4e80-9521-321a8b1f5764","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/CnAIOrchestrationServicePublicCorpprod","createdOn":"2019-03-27T00:49:37.3000523Z","updatedOn":"2019-03-27T00:49:37.3000523Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c"},"id":"/providers/Microsoft.Management/managementGroups/CnAIOrchestrationServicePublicCorpprod/providers/Microsoft.Authorization/roleAssignments/e6e1fffd-83f7-40c7-9f33-e56e2cf75b29","type":"Microsoft.Authorization/roleAssignments","name":"e6e1fffd-83f7-40c7-9f33-e56e2cf75b29"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/5d58bcaf-24a5-4b20-bdb6-eed9f69fbe4c","principalId":"1f75b9dd-4f1d-4e80-9521-321a8b1f5764","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/CnAIOrchestrationServicePublicCorpprod","createdOn":"2019-03-27T00:50:08.3039053Z","updatedOn":"2019-03-27T00:50:08.3039053Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c"},"id":"/providers/Microsoft.Management/managementGroups/CnAIOrchestrationServicePublicCorpprod/providers/Microsoft.Authorization/roleAssignments/3d01f56e-ee3a-41ed-a775-0e067546cb12","type":"Microsoft.Authorization/roleAssignments","name":"3d01f56e-ee3a-41ed-a775-0e067546cb12"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7","principalId":"ce2366a6-64d7-441b-939c-c9d23f91cccd","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/72f988bf-86f1-41af-91ab-2d7cd011db47","createdOn":"2020-03-12T20:43:06.5941189Z","updatedOn":"2020-03-12T20:43:06.5941189Z","createdBy":"606f48c8-d219-4875-991d-ae6befaf0756","updatedBy":"606f48c8-d219-4875-991d-ae6befaf0756"},"id":"/providers/Microsoft.Management/managementGroups/72f988bf-86f1-41af-91ab-2d7cd011db47/providers/Microsoft.Authorization/roleAssignments/ad9e2cd7-0ff7-4931-9b17-656c8f17934b","type":"Microsoft.Authorization/roleAssignments","name":"ad9e2cd7-0ff7-4931-9b17-656c8f17934b"}]}' + headers: + cache-control: + - no-cache + content-length: + - '28906' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 26 May 2020 17:14:21 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - x-ms-gateway-slice=Production; path=/; SameSite=None; secure; HttpOnly + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - -n -g --enable-managed-identity --vnet-subnet-id -a --appgw-id -o + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-mgmt-authorization/0.52.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/aks-subnet/providers/Microsoft.Authorization/roleDefinitions?$filter=roleName%20eq%20%27Network%20Contributor%27&api-version=2018-01-01-preview + response: + body: + string: '{"value":[{"properties":{"roleName":"Network Contributor","type":"BuiltInRole","description":"Lets + you manage networks, but not access to them.","assignableScopes":["/"],"permissions":[{"actions":["Microsoft.Authorization/*/read","Microsoft.Insights/alertRules/*","Microsoft.Network/*","Microsoft.ResourceHealth/availabilityStatuses/read","Microsoft.Resources/deployments/*","Microsoft.Resources/subscriptions/resourceGroups/read","Microsoft.Support/*"],"notActions":[],"dataActions":[],"notDataActions":[]}],"createdOn":"2015-06-02T00:18:27.3542698Z","updatedOn":"2016-05-31T23:14:00.3326359Z","createdBy":null,"updatedBy":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","type":"Microsoft.Authorization/roleDefinitions","name":"4d97b98b-1d4f-4787-a291-c67834d212e7"}]}' + headers: + cache-control: + - no-cache + content-length: + - '873' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 26 May 2020 17:14:22 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - x-ms-gateway-slice=Production; path=/; SameSite=None; secure; HttpOnly + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - -n -g --enable-managed-identity --vnet-subnet-id -a --appgw-id -o + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-graphrbac/0.60.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: GET + uri: https://graph.windows.net/00000000-0000-0000-0000-000000000000/servicePrincipals?$filter=servicePrincipalNames%2Fany%28c%3Ac%20eq%20%27efe70525-74c7-4e99-b80d-970b901032c4%27%29&api-version=1.6 + response: + body: + string: '{"odata.metadata":"https://graph.windows.net/00000000-0000-0000-0000-000000000000/$metadata#directoryObjects","value":[{"odata.type":"Microsoft.DirectoryServices.ServicePrincipal","objectType":"ServicePrincipal","objectId":"ffc03b4e-1c7c-4f24-80c8-975accb7db18","deletionTimestamp":null,"accountEnabled":true,"addIns":[],"alternativeNames":[],"appDisplayName":"cluster1","appId":"efe70525-74c7-4e99-b80d-970b901032c4","applicationTemplateId":null,"appOwnerTenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","appRoleAssignmentRequired":false,"appRoles":[],"displayName":"cluster1","errorUrl":null,"homepage":"http://8fdcc9.cluster1-create-gateway-86501d.westus.cloudapp.azure.com","informationalUrls":{"termsOfService":null,"support":null,"privacy":null,"marketing":null},"keyCredentials":[],"logoutUrl":null,"notificationEmailAddresses":[],"oauth2Permissions":[{"adminConsentDescription":"Allow + the application to access cluster1 on behalf of the signed-in user.","adminConsentDisplayName":"Access + cluster1","id":"3fff9fea-0c9b-44b9-a699-d8fdc046a488","isEnabled":true,"type":"User","userConsentDescription":"Allow + the application to access cluster1 on your behalf.","userConsentDisplayName":"Access + cluster1","value":"user_impersonation"}],"passwordCredentials":[],"preferredSingleSignOnMode":null,"preferredTokenSigningKeyEndDateTime":null,"preferredTokenSigningKeyThumbprint":null,"publisherName":"Microsoft","replyUrls":[],"samlMetadataUrl":null,"samlSingleSignOnSettings":null,"servicePrincipalNames":["http://8fdcc9.cluster1-create-gateway-86501d.westus.cloudapp.azure.com","efe70525-74c7-4e99-b80d-970b901032c4"],"servicePrincipalType":"Application","signInAudience":"AzureADMyOrg","tags":[],"tokenEncryptionKeyId":null}]}' + headers: + access-control-allow-origin: + - '*' + cache-control: + - no-cache + content-length: + - '1727' + content-type: + - application/json; odata=minimalmetadata; streaming=true; charset=utf-8 + dataserviceversion: + - 3.0; + date: + - Tue, 26 May 2020 17:14:22 GMT + duration: + - '650494' + expires: + - '-1' + ocp-aad-diagnostics-server-name: + - smfcQvxEvVdTjvGF4j9WK3VnzTKXWuutLrnegvV0JPs= + ocp-aad-session-key: + - roLgLz3x1vQ0tpgzriPjMycQXTn9ig7VmCjNpSzOHfhWDv7K9imk9O4T8p4L-rcmaMmWpAXoekL3ze9kJ_YYUNKGDKc6MLESkoURL8Pn9mlQ0FXk1T-2fVugMT8o22-o.S0on7MNUd7-o_KWugbpMv8Dtk9qJsMnmNZh0I7RTaWU + pragma: + - no-cache + request-id: + - 73021640-0991-41d5-b430-7f7099b90e74 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-ms-dirapi-data-contract-version: + - '1.6' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"properties": {"roleDefinitionId": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7", + "principalId": "ffc03b4e-1c7c-4f24-80c8-975accb7db18"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + Content-Length: + - '233' + Content-Type: + - application/json; charset=utf-8 + Cookie: + - x-ms-gateway-slice=Production + ParameterSetName: + - -n -g --enable-managed-identity --vnet-subnet-id -a --appgw-id -o + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-mgmt-authorization/0.52.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/aks-subnet/providers/Microsoft.Authorization/roleAssignments/439d38f1-c88c-4e05-8a67-ea791c45a200?api-version=2018-09-01-preview + response: + body: + string: '{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"ffc03b4e-1c7c-4f24-80c8-975accb7db18","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/aks-subnet","createdOn":"2020-05-26T17:14:23.2662741Z","updatedOn":"2020-05-26T17:14:23.2662741Z","createdBy":null,"updatedBy":"a6920a4d-d20a-4ac6-a844-13565e224294"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/aks-subnet/providers/Microsoft.Authorization/roleAssignments/439d38f1-c88c-4e05-8a67-ea791c45a200","type":"Microsoft.Authorization/roleAssignments","name":"439d38f1-c88c-4e05-8a67-ea791c45a200"}' + headers: + cache-control: + - no-cache + content-length: + - '947' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 26 May 2020 17:14:24 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - x-ms-gateway-slice=Production; path=/; secure; HttpOnly; SameSite=None + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1197' + status: + code: 201 + message: Created +- request: + body: 'b''{"location": "westus2", "properties": {"kubernetesVersion": "", "dnsPrefix": + "cliakstest-clitestuge7pif5h-86501d", "agentPoolProfiles": [{"count": 3, "vmSize": + "Standard_DS2_v2", "vnetSubnetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/aks-subnet", + "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": "System", "enableNodePublicIP": + false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": "Delete", "name": + "nodepool1"}], "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": + [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDdabawEfwOujYnckZRvvkrcqoR+c2bLuoiOddqujUWHu+fBTEwDd8nB0vBemdGLNHmo7B3qpXyq9pcplUaGYzCmRZtnYy35UOtCinMqyT3mIJshJA1cIw70nFJbr2gvDl+XXtxmd59k5bWMUjzNdynurjhcA53b1fMHTFXSd5ugtbJ4SyZxPkNWxRtJ9Dg2RslMZ+3ZA9y8iAAMxnX85HpG1UMpwzvEM/jPoFd43UYB5TFZIRAcvlkZTQKaBtFW+Khg7Jx5C3iyPzSMAgDzS4WsJBCfABpJ8nnGzBEi/orhFydtkE/zsXOEMY8ppUpnBLN+LXD1gqWhEYRLF7atYd3 + vsonline@c541134d8e01\\n"}]}}, "servicePrincipalProfile": {"clientId": "xxxx", + "secret": "yyyy"}, "addonProfiles": {"IngressApplicationGateway": + {"enabled": true, "config": {"applicationGatewayId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/applicationGateways/appgw"}}}, + "enableRBAC": true, "enablePodSecurityPolicy": false, "networkProfile": {"networkPlugin": + "kubenet", "podCidr": "10.244.0.0/16", "serviceCidr": "10.0.0.0/16", "dnsServiceIP": + "10.0.0.10", "dockerBridgeCidr": "172.17.0.1/16", "outboundType": "loadBalancer", + "loadBalancerSku": "standard"}}, "identity": {"type": "SystemAssigned"}}''' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + Content-Length: + - '1738' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -n -g --enable-managed-identity --vnet-subnet-id -a --appgw-id -o + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-mgmt-containerservice/4.4.2 Azure-SDK-For-Python + AZURECLI/2.6.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2020-04-01 + response: + body: + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n + \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": + \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": + \"Creating\",\n \"kubernetesVersion\": \"1.15.11\",\n \"dnsPrefix\": \"cliakstest-clitestuge7pif5h-86501d\",\n + \ \"fqdn\": \"cliakstest-clitestuge7pif5h-86501d-bec7d9c0.hcp.westus2.staging.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": + 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 100,\n \"vnetSubnetID\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/aks-subnet\",\n + \ \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": + \"Creating\",\n \"orchestratorVersion\": \"1.15.11\",\n \"enableNodePublicIP\": + false,\n \"nodeLabels\": {},\n \"mode\": \"System\",\n \"osType\": + \"Linux\"\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDdabawEfwOujYnckZRvvkrcqoR+c2bLuoiOddqujUWHu+fBTEwDd8nB0vBemdGLNHmo7B3qpXyq9pcplUaGYzCmRZtnYy35UOtCinMqyT3mIJshJA1cIw70nFJbr2gvDl+XXtxmd59k5bWMUjzNdynurjhcA53b1fMHTFXSd5ugtbJ4SyZxPkNWxRtJ9Dg2RslMZ+3ZA9y8iAAMxnX85HpG1UMpwzvEM/jPoFd43UYB5TFZIRAcvlkZTQKaBtFW+Khg7Jx5C3iyPzSMAgDzS4WsJBCfABpJ8nnGzBEi/orhFydtkE/zsXOEMY8ppUpnBLN+LXD1gqWhEYRLF7atYd3 + vsonline@c541134d8e01\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\": \"msi\"\n },\n \"addonProfiles\": {\n \"IngressApplicationGateway\": + {\n \"enabled\": true,\n \"config\": {\n \"applicationGatewayId\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/applicationGateways/appgw\"\n + \ }\n }\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n + \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": + {\n \"networkPlugin\": \"kubenet\",\n \"loadBalancerSku\": \"standard\",\n + \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": + 1\n }\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\": + \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\"\n },\n \"maxAgentPools\": + 10\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\": + \"5721cd80-2165-46fa-98d6-d0db7a0101a7\",\n \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n + \ },\n \"sku\": {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n + }" + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8abc5190-89c5-474b-b6dc-362530799bcf?api-version=2016-03-30 + cache-control: + - no-cache + content-length: + - '2720' + content-type: + - application/json + date: + - Tue, 26 May 2020 17:14:30 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1195' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - -n -g --enable-managed-identity --vnet-subnet-id -a --appgw-id -o + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-mgmt-containerservice/4.4.2 Azure-SDK-For-Python + AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8abc5190-89c5-474b-b6dc-362530799bcf?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"9051bc8a-c589-4b47-b6dc-362530799bcf\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2020-05-26T17:14:30.8101275Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Tue, 26 May 2020 17:15:00 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - -n -g --enable-managed-identity --vnet-subnet-id -a --appgw-id -o + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-mgmt-containerservice/4.4.2 Azure-SDK-For-Python + AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8abc5190-89c5-474b-b6dc-362530799bcf?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"9051bc8a-c589-4b47-b6dc-362530799bcf\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2020-05-26T17:14:30.8101275Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Tue, 26 May 2020 17:15:31 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - -n -g --enable-managed-identity --vnet-subnet-id -a --appgw-id -o + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-mgmt-containerservice/4.4.2 Azure-SDK-For-Python + AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8abc5190-89c5-474b-b6dc-362530799bcf?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"9051bc8a-c589-4b47-b6dc-362530799bcf\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2020-05-26T17:14:30.8101275Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Tue, 26 May 2020 17:16:00 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - -n -g --enable-managed-identity --vnet-subnet-id -a --appgw-id -o + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-mgmt-containerservice/4.4.2 Azure-SDK-For-Python + AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8abc5190-89c5-474b-b6dc-362530799bcf?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"9051bc8a-c589-4b47-b6dc-362530799bcf\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2020-05-26T17:14:30.8101275Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Tue, 26 May 2020 17:16:30 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - -n -g --enable-managed-identity --vnet-subnet-id -a --appgw-id -o + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-mgmt-containerservice/4.4.2 Azure-SDK-For-Python + AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8abc5190-89c5-474b-b6dc-362530799bcf?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"9051bc8a-c589-4b47-b6dc-362530799bcf\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2020-05-26T17:14:30.8101275Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Tue, 26 May 2020 17:17:00 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - -n -g --enable-managed-identity --vnet-subnet-id -a --appgw-id -o + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-mgmt-containerservice/4.4.2 Azure-SDK-For-Python + AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8abc5190-89c5-474b-b6dc-362530799bcf?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"9051bc8a-c589-4b47-b6dc-362530799bcf\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2020-05-26T17:14:30.8101275Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Tue, 26 May 2020 17:17:31 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - -n -g --enable-managed-identity --vnet-subnet-id -a --appgw-id -o + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-mgmt-containerservice/4.4.2 Azure-SDK-For-Python + AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8abc5190-89c5-474b-b6dc-362530799bcf?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"9051bc8a-c589-4b47-b6dc-362530799bcf\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2020-05-26T17:14:30.8101275Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Tue, 26 May 2020 17:18:01 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - -n -g --enable-managed-identity --vnet-subnet-id -a --appgw-id -o + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-mgmt-containerservice/4.4.2 Azure-SDK-For-Python + AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8abc5190-89c5-474b-b6dc-362530799bcf?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"9051bc8a-c589-4b47-b6dc-362530799bcf\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2020-05-26T17:14:30.8101275Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Tue, 26 May 2020 17:18:30 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - -n -g --enable-managed-identity --vnet-subnet-id -a --appgw-id -o + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-mgmt-containerservice/4.4.2 Azure-SDK-For-Python + AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8abc5190-89c5-474b-b6dc-362530799bcf?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"9051bc8a-c589-4b47-b6dc-362530799bcf\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2020-05-26T17:14:30.8101275Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Tue, 26 May 2020 17:19:01 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - -n -g --enable-managed-identity --vnet-subnet-id -a --appgw-id -o + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-mgmt-containerservice/4.4.2 Azure-SDK-For-Python + AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8abc5190-89c5-474b-b6dc-362530799bcf?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"9051bc8a-c589-4b47-b6dc-362530799bcf\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2020-05-26T17:14:30.8101275Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Tue, 26 May 2020 17:19:31 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - -n -g --enable-managed-identity --vnet-subnet-id -a --appgw-id -o + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-mgmt-containerservice/4.4.2 Azure-SDK-For-Python + AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8abc5190-89c5-474b-b6dc-362530799bcf?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"9051bc8a-c589-4b47-b6dc-362530799bcf\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2020-05-26T17:14:30.8101275Z\",\n \"endTime\": + \"2020-05-26T17:19:53.6397749Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '170' + content-type: + - application/json + date: + - Tue, 26 May 2020 17:20:01 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - -n -g --enable-managed-identity --vnet-subnet-id -a --appgw-id -o + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-mgmt-containerservice/4.4.2 Azure-SDK-For-Python + AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2020-04-01 + response: + body: + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n + \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": + \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": + \"Succeeded\",\n \"kubernetesVersion\": \"1.15.11\",\n \"dnsPrefix\": + \"cliakstest-clitestuge7pif5h-86501d\",\n \"fqdn\": \"cliakstest-clitestuge7pif5h-86501d-bec7d9c0.hcp.westus2.staging.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": + 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 100,\n \"vnetSubnetID\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/aks-subnet\",\n + \ \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": + \"Succeeded\",\n \"orchestratorVersion\": \"1.15.11\",\n \"enableNodePublicIP\": + false,\n \"nodeLabels\": {},\n \"mode\": \"System\",\n \"osType\": + \"Linux\"\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDdabawEfwOujYnckZRvvkrcqoR+c2bLuoiOddqujUWHu+fBTEwDd8nB0vBemdGLNHmo7B3qpXyq9pcplUaGYzCmRZtnYy35UOtCinMqyT3mIJshJA1cIw70nFJbr2gvDl+XXtxmd59k5bWMUjzNdynurjhcA53b1fMHTFXSd5ugtbJ4SyZxPkNWxRtJ9Dg2RslMZ+3ZA9y8iAAMxnX85HpG1UMpwzvEM/jPoFd43UYB5TFZIRAcvlkZTQKaBtFW+Khg7Jx5C3iyPzSMAgDzS4WsJBCfABpJ8nnGzBEi/orhFydtkE/zsXOEMY8ppUpnBLN+LXD1gqWhEYRLF7atYd3 + vsonline@c541134d8e01\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\": \"msi\"\n },\n \"addonProfiles\": {\n \"IngressApplicationGateway\": + {\n \"enabled\": true,\n \"config\": {\n \"applicationGatewayId\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/applicationGateways/appgw\"\n + \ },\n \"identity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ingressapplicationgateway-cliakstest000002\",\n + \ \"clientId\": \"6abf5474-4cf0-485d-a2c3-0ea753893a37\",\n \"objectId\": + \"d7269214-7deb-463f-aef2-6df680c53a0d\"\n }\n }\n },\n \"nodeResourceGroup\": + \"MC_clitest000001_cliakstest000002_westus2\",\n \"enableRBAC\": true,\n + \ \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": + \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n \"loadBalancerProfile\": + {\n \"managedOutboundIPs\": {\n \"count\": 1\n },\n \"effectiveOutboundIPs\": + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/58eab05e-e303-498a-9587-a15f55c816ce\"\n + \ }\n ]\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\": + \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\"\n },\n \"maxAgentPools\": + 10,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n + \ \"clientId\": \"304f7b1c-a74d-459e-b413-b84de873a23b\",\n \"objectId\": + \"4434575e-3d2d-4543-bc7d-17ac618d2f24\"\n }\n }\n },\n \"identity\": + {\n \"type\": \"SystemAssigned\",\n \"principalId\": \"5721cd80-2165-46fa-98d6-d0db7a0101a7\",\n + \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": + {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" + headers: + cache-control: + - no-cache + content-length: + - '3763' + content-type: + - application/json + date: + - Tue, 26 May 2020 17:20:02 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - -n -g --enable-managed-identity --vnet-subnet-id -a --appgw-id -o + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-mgmt-authorization/0.52.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Authorization/roleDefinitions?$filter=roleName%20eq%20%27Contributor%27&api-version=2018-01-01-preview + response: + body: + string: '{"value":[{"properties":{"roleName":"Contributor","type":"BuiltInRole","description":"Lets + you manage everything except access to resources.","assignableScopes":["/"],"permissions":[{"actions":["*"],"notActions":["Microsoft.Authorization/*/Delete","Microsoft.Authorization/*/Write","Microsoft.Authorization/elevateAccess/Action","Microsoft.Blueprint/blueprintAssignments/write","Microsoft.Blueprint/blueprintAssignments/delete"],"dataActions":[],"notDataActions":[]}],"createdOn":"2015-02-02T21:55:09.8806423Z","updatedOn":"2019-02-05T21:24:38.4580610Z","createdBy":null,"updatedBy":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","type":"Microsoft.Authorization/roleDefinitions","name":"b24988ac-6180-42a0-ab88-20f7382dd24c"}]}' + headers: + cache-control: + - no-cache + content-length: + - '832' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 26 May 2020 17:20:03 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - x-ms-gateway-slice=Production; path=/; SameSite=None; secure; HttpOnly + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"properties": {"roleDefinitionId": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c", + "principalId": "d7269214-7deb-463f-aef2-6df680c53a0d"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + Content-Length: + - '233' + Content-Type: + - application/json; charset=utf-8 + Cookie: + - x-ms-gateway-slice=Production + ParameterSetName: + - -n -g --enable-managed-identity --vnet-subnet-id -a --appgw-id -o + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-mgmt-authorization/0.52.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Authorization/roleAssignments/20ced657-3703-43d9-bf15-5319ced99e53?api-version=2018-09-01-preview + response: + body: + string: '{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"d7269214-7deb-463f-aef2-6df680c53a0d","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001","createdOn":"2020-05-26T17:20:03.7585050Z","updatedOn":"2020-05-26T17:20:03.7585050Z","createdBy":null,"updatedBy":"a6920a4d-d20a-4ac6-a844-13565e224294"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Authorization/roleAssignments/20ced657-3703-43d9-bf15-5319ced99e53","type":"Microsoft.Authorization/roleAssignments","name":"20ced657-3703-43d9-bf15-5319ced99e53"}' + headers: + cache-control: + - no-cache + content-length: + - '787' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 26 May 2020 17:20:03 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - x-ms-gateway-slice=Production; path=/; secure; HttpOnly; SameSite=None + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1196' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - role assignment list + Connection: + - keep-alive + ParameterSetName: + - --assignee --scope --role -o + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-graphrbac/0.60.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: GET + uri: https://graph.windows.net/00000000-0000-0000-0000-000000000000/servicePrincipals?$filter=servicePrincipalNames%2Fany%28c%3Ac%20eq%20%276abf5474-4cf0-485d-a2c3-0ea753893a37%27%29&api-version=1.6 + response: + body: + string: '{"odata.metadata":"https://graph.windows.net/00000000-0000-0000-0000-000000000000/$metadata#directoryObjects","value":[{"odata.type":"Microsoft.DirectoryServices.ServicePrincipal","objectType":"ServicePrincipal","objectId":"d7269214-7deb-463f-aef2-6df680c53a0d","deletionTimestamp":null,"accountEnabled":true,"addIns":[],"alternativeNames":["isExplicit=True","/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ingressapplicationgateway-cliakstest000002"],"appDisplayName":null,"appId":"6abf5474-4cf0-485d-a2c3-0ea753893a37","applicationTemplateId":null,"appOwnerTenantId":null,"appRoleAssignmentRequired":false,"appRoles":[],"displayName":"ingressapplicationgateway-cliakstest000002","errorUrl":null,"homepage":null,"informationalUrls":null,"keyCredentials":[{"customKeyIdentifier":"33AF53EBB920B4473825D4AB91FA2F2610446EAC","endDate":"2020-08-24T17:09:00Z","keyId":"5a2064ee-538d-46fb-a4ff-41ac25ee5ed5","startDate":"2020-05-26T17:09:00Z","type":"AsymmetricX509Cert","usage":"Verify","value":null}],"logoutUrl":null,"notificationEmailAddresses":[],"oauth2Permissions":[],"passwordCredentials":[],"preferredSingleSignOnMode":null,"preferredTokenSigningKeyEndDateTime":null,"preferredTokenSigningKeyThumbprint":null,"publisherName":null,"replyUrls":[],"samlMetadataUrl":null,"samlSingleSignOnSettings":null,"servicePrincipalNames":["6abf5474-4cf0-485d-a2c3-0ea753893a37","https://identity.azure.net/E47hmbWZUclUsooPxMdaMzLlboqOvVNALldtquNz+y0="],"servicePrincipalType":"ManagedIdentity","signInAudience":null,"tags":[],"tokenEncryptionKeyId":null}]}' + headers: + access-control-allow-origin: + - '*' + cache-control: + - no-cache + content-length: + - '1670' + content-type: + - application/json; odata=minimalmetadata; streaming=true; charset=utf-8 + dataserviceversion: + - 3.0; + date: + - Tue, 26 May 2020 17:20:04 GMT + duration: + - '1188930' + expires: + - '-1' + ocp-aad-diagnostics-server-name: + - L2+g3Y+Xtxs2mk3fObBxyjwiqU87p86epjK+x6E43s8= + ocp-aad-session-key: + - 7k4L5_T2YULb_6rl32BgeLrd8BEKNTcxnTA4ZSpRPss6ppwe4Zmcui3VfhOg1xsqsdRTADePbvv2DU8jUGFovg6gdtmIZ74iSnfqz0jkZfMeYVnUZdiFALUxZ3OzVXpq.FESBjo5F_gwEhBweuIfa6y5ulf_prKmOTwbZBGSF1AE + pragma: + - no-cache + request-id: + - 0956f43a-f3e7-4720-b6bb-1f66dab43ac9 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-ms-dirapi-data-contract-version: + - '1.6' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - role assignment list + Connection: + - keep-alive + ParameterSetName: + - --assignee --scope --role -o + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-mgmt-authorization/0.52.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Authorization/roleAssignments?$filter=atScope%28%29&api-version=2018-09-01-preview + response: + body: + string: '{"value":[{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"d7269214-7deb-463f-aef2-6df680c53a0d","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001","createdOn":"2020-05-26T17:20:04.4321797Z","updatedOn":"2020-05-26T17:20:04.4321797Z","createdBy":"a6920a4d-d20a-4ac6-a844-13565e224294","updatedBy":"a6920a4d-d20a-4ac6-a844-13565e224294"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Authorization/roleAssignments/20ced657-3703-43d9-bf15-5319ced99e53","type":"Microsoft.Authorization/roleAssignments","name":"20ced657-3703-43d9-bf15-5319ced99e53"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"8a8f0a97-8644-4579-a5b1-a3c0d4862232","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","createdOn":"2020-03-19T11:46:14.1656017Z","updatedOn":"2020-03-19T11:46:14.1656017Z","createdBy":"3b675a45-60cc-456b-8666-52a8003b38e7","updatedBy":"3b675a45-60cc-456b-8666-52a8003b38e7"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c72dfc33-0c35-445d-bc0c-b59966b22355","type":"Microsoft.Authorization/roleAssignments","name":"c72dfc33-0c35-445d-bc0c-b59966b22355"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"8ff738a5-abcd-4864-a162-6c18f7c9cbd9","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","createdOn":"2020-03-14T03:31:35.9969748Z","updatedOn":"2020-03-14T03:31:35.9969748Z","createdBy":"a6920a4d-d20a-4ac6-a844-13565e224294","updatedBy":"a6920a4d-d20a-4ac6-a844-13565e224294"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/48db4402-8176-4884-bdf6-0484a8e5eefb","type":"Microsoft.Authorization/roleAssignments","name":"48db4402-8176-4884-bdf6-0484a8e5eefb"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7","principalId":"8a8f0a97-8644-4579-a5b1-a3c0d4862232","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","createdOn":"2020-03-19T11:46:11.5492276Z","updatedOn":"2020-03-19T11:46:11.5492276Z","createdBy":"3b675a45-60cc-456b-8666-52a8003b38e7","updatedBy":"3b675a45-60cc-456b-8666-52a8003b38e7"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/f3cd7225-ccb1-4559-b9bf-c05b9a98e752","type":"Microsoft.Authorization/roleAssignments","name":"f3cd7225-ccb1-4559-b9bf-c05b9a98e752"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"0fab726f-ac3b-4005-8300-4d8b71e543cb","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","createdOn":"2020-03-14T06:30:36.4249722Z","updatedOn":"2020-03-14T06:30:36.4249722Z","createdBy":"a6920a4d-d20a-4ac6-a844-13565e224294","updatedBy":"a6920a4d-d20a-4ac6-a844-13565e224294"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/5027b2ef-65bd-11ea-b6b5-0242ac110002","type":"Microsoft.Authorization/roleAssignments","name":"5027b2ef-65bd-11ea-b6b5-0242ac110002"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"73994283-0be5-406e-8b93-ff86da389c94","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","createdOn":"2020-03-25T04:06:11.4924059Z","updatedOn":"2020-03-25T04:06:11.4924059Z","createdBy":"a6920a4d-d20a-4ac6-a844-13565e224294","updatedBy":"a6920a4d-d20a-4ac6-a844-13565e224294"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/e9d8b6e8-39d0-44d7-86b2-524db630dd9f","type":"Microsoft.Authorization/roleAssignments","name":"e9d8b6e8-39d0-44d7-86b2-524db630dd9f"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"cb87f856-74ca-4cb0-a29a-4f9f059f89d9","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","createdOn":"2020-05-20T07:06:25.1407870Z","updatedOn":"2020-05-20T07:06:25.1407870Z","createdBy":"a6920a4d-d20a-4ac6-a844-13565e224294","updatedBy":"a6920a4d-d20a-4ac6-a844-13565e224294"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/002c2bb7-dcd9-4d01-8148-a58b2cb29faa","type":"Microsoft.Authorization/roleAssignments","name":"002c2bb7-dcd9-4d01-8148-a58b2cb29faa"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"d7a1c7e1-371a-43c1-bcfa-2a0f98fe8694","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","createdOn":"2020-03-10T02:11:51.7556492Z","updatedOn":"2020-03-10T02:11:51.7556492Z","createdBy":"a6920a4d-d20a-4ac6-a844-13565e224294","updatedBy":"a6920a4d-d20a-4ac6-a844-13565e224294"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/654177ad-ec8f-4092-98f1-83df7c9de1ef","type":"Microsoft.Authorization/roleAssignments","name":"654177ad-ec8f-4092-98f1-83df7c9de1ef"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/d73bb868-a0df-4d4d-bd69-98a00b01fccb","principalId":"8a8f0a97-8644-4579-a5b1-a3c0d4862232","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","createdOn":"2020-03-19T11:46:21.1115767Z","updatedOn":"2020-03-19T11:46:21.1115767Z","createdBy":"3b675a45-60cc-456b-8666-52a8003b38e7","updatedBy":"3b675a45-60cc-456b-8666-52a8003b38e7"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c83ae738-0943-4dad-a482-672f2efcfe59","type":"Microsoft.Authorization/roleAssignments","name":"c83ae738-0943-4dad-a482-672f2efcfe59"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7","principalId":"5c617d2b-99f8-4c90-98fe-dfe040fa33c1","principalType":"ServicePrincipal","scope":"/","createdOn":"2018-02-27T19:19:50.2663941Z","updatedOn":"2018-02-27T19:19:50.2663941Z","createdBy":null,"updatedBy":null},"id":"/providers/Microsoft.Authorization/roleAssignments/3e883d24-b106-42ff-ad13-d7bf271b964d","type":"Microsoft.Authorization/roleAssignments","name":"3e883d24-b106-42ff-ad13-d7bf271b964d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9","principalId":"1c8b3602-77a2-4e8a-8c1e-f127f2af5ca2","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/39349b3a-17e9-4bc8-81ad-2bd46e105074","createdOn":"2019-03-26T22:01:02.9203573Z","updatedOn":"2019-03-26T22:01:02.9203573Z","createdBy":"8701e34d-d7c2-459c-b2d7-f3a9c5204818","updatedBy":"8701e34d-d7c2-459c-b2d7-f3a9c5204818"},"id":"/providers/Microsoft.Management/managementGroups/39349b3a-17e9-4bc8-81ad-2bd46e105074/providers/Microsoft.Authorization/roleAssignments/4b5badf4-9ce8-48cd-835e-a28b4e1b445e","type":"Microsoft.Authorization/roleAssignments","name":"4b5badf4-9ce8-48cd-835e-a28b4e1b445e"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9","principalId":"1c8b3602-77a2-4e8a-8c1e-f127f2af5ca2","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","createdOn":"2019-03-26T22:01:02.9136073Z","updatedOn":"2019-03-26T22:01:02.9136073Z","createdBy":"8701e34d-d7c2-459c-b2d7-f3a9c5204818","updatedBy":"8701e34d-d7c2-459c-b2d7-f3a9c5204818"},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/6f4de15e-9316-4714-a7c4-40c46cf8e067","type":"Microsoft.Authorization/roleAssignments","name":"6f4de15e-9316-4714-a7c4-40c46cf8e067"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"096e33bd-3978-4b72-bb81-aa4f21faa155","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","createdOn":"2019-07-15T18:20:07.8710952Z","updatedOn":"2019-07-15T18:20:07.8710952Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c"},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/53e2331d-7097-4d99-a92c-9cf5dd912b02","type":"Microsoft.Authorization/roleAssignments","name":"53e2331d-7097-4d99-a92c-9cf5dd912b02"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"13c55e93-542e-463a-8a36-73d67f89ea1f","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","createdOn":"2019-07-15T18:20:00.5212035Z","updatedOn":"2019-07-15T18:20:00.5212035Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c"},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/76292cf7-556b-4a88-a469-75a7e3893adc","type":"Microsoft.Authorization/roleAssignments","name":"76292cf7-556b-4a88-a469-75a7e3893adc"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"21dda55b-ee95-4ba5-aace-58e017451c1d","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","createdOn":"2019-07-15T18:19:57.9722094Z","updatedOn":"2019-07-15T18:19:57.9722094Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c"},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/11b6023d-415b-4f99-9c4b-70c1d1d83041","type":"Microsoft.Authorization/roleAssignments","name":"11b6023d-415b-4f99-9c4b-70c1d1d83041"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"27b2ace7-5ddd-49c3-aa81-0e87abdb9724","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","createdOn":"2019-07-15T18:20:02.9931002Z","updatedOn":"2019-07-15T18:20:02.9931002Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c"},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/128167e6-8431-4087-86c2-c5de68d4314b","type":"Microsoft.Authorization/roleAssignments","name":"128167e6-8431-4087-86c2-c5de68d4314b"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"2ac3f52f-f3ad-40a4-9b2d-aa24e4c7bbba","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","createdOn":"2020-02-25T18:36:13.2137492Z","updatedOn":"2020-02-25T18:36:13.2137492Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c"},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/18fdd87e-1c01-424e-b380-32310f4940c2","type":"Microsoft.Authorization/roleAssignments","name":"18fdd87e-1c01-424e-b380-32310f4940c2"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"3de59bcf-93d8-4eff-95db-d6d9b8751eee","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","createdOn":"2019-07-15T18:19:51.9501395Z","updatedOn":"2019-07-15T18:19:51.9501395Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c"},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/a06d1602-e5d3-45bc-9c27-c7c8151ccd63","type":"Microsoft.Authorization/roleAssignments","name":"a06d1602-e5d3-45bc-9c27-c7c8151ccd63"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"439882e1-d603-45dd-9e62-8592309d7aa4","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","createdOn":"2019-07-15T18:20:13.7008054Z","updatedOn":"2019-07-15T18:20:13.7008054Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c"},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/ee5e7d26-39b1-454d-aff6-85b92343297a","type":"Microsoft.Authorization/roleAssignments","name":"ee5e7d26-39b1-454d-aff6-85b92343297a"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"4a113caa-961f-4535-ac9b-79bfba8b9ed2","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","createdOn":"2020-02-25T18:36:00.4746112Z","updatedOn":"2020-02-25T18:36:00.4746112Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c"},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/d9bcf58a-6f24-446d-bf60-20ffe5142396","type":"Microsoft.Authorization/roleAssignments","name":"d9bcf58a-6f24-446d-bf60-20ffe5142396"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"4fd162ac-c74a-4e79-9952-81fff83cbeea","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","createdOn":"2019-07-15T18:20:05.6271257Z","updatedOn":"2019-07-15T18:20:05.6271257Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c"},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/455cd407-b6d3-499d-ba84-696f5a496ee7","type":"Microsoft.Authorization/roleAssignments","name":"455cd407-b6d3-499d-ba84-696f5a496ee7"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"56d08bc2-cc29-4d23-9d23-fd396b807b02","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","createdOn":"2020-02-25T18:35:55.7490022Z","updatedOn":"2020-02-25T18:35:55.7490022Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c"},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/6e2b954b-42b2-48e0-997a-622601f0a4b4","type":"Microsoft.Authorization/roleAssignments","name":"6e2b954b-42b2-48e0-997a-622601f0a4b4"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"6179a082-c057-4fe3-8118-916b816a42e3","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","createdOn":"2020-02-25T18:35:57.9173081Z","updatedOn":"2020-02-25T18:35:57.9173081Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c"},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/8d76aaa3-fcfd-4ea5-8c7c-363d250e7ae9","type":"Microsoft.Authorization/roleAssignments","name":"8d76aaa3-fcfd-4ea5-8c7c-363d250e7ae9"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"6fe923a8-2e4d-4c1f-b7d6-a7c5984f0129","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","createdOn":"2020-02-25T18:36:23.0673659Z","updatedOn":"2020-02-25T18:36:23.0673659Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c"},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/d0817c57-3e5b-4363-88b7-52baadd5c362","type":"Microsoft.Authorization/roleAssignments","name":"d0817c57-3e5b-4363-88b7-52baadd5c362"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"7951777e-acb7-4c1c-b131-aa2e639b0481","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","createdOn":"2019-07-15T18:20:11.2064664Z","updatedOn":"2019-07-15T18:20:11.2064664Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c"},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/4aa9660c-99d1-41b9-b511-f3d7fa017b0c","type":"Microsoft.Authorization/roleAssignments","name":"4aa9660c-99d1-41b9-b511-f3d7fa017b0c"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"7c2d0d59-528c-434a-8c6c-03330539cad2","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","createdOn":"2020-02-25T18:36:31.2596366Z","updatedOn":"2020-02-25T18:36:31.2596366Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c"},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/0dabf212-a1c7-4af6-ba8b-be045493b368","type":"Microsoft.Authorization/roleAssignments","name":"0dabf212-a1c7-4af6-ba8b-be045493b368"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"7d7aed0a-228e-420b-a6a2-82a49dacb8cb","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","createdOn":"2020-02-25T18:35:52.9188704Z","updatedOn":"2020-02-25T18:35:52.9188704Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c"},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/d674b853-332e-4437-9ddb-bba8fde7ccce","type":"Microsoft.Authorization/roleAssignments","name":"d674b853-332e-4437-9ddb-bba8fde7ccce"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"941c0157-bdd0-499a-aba0-be1244f82ab1","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","createdOn":"2019-07-15T18:19:54.6845513Z","updatedOn":"2019-07-15T18:19:54.6845513Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c"},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/9aba8539-6e15-439f-83d0-18999e7a3186","type":"Microsoft.Authorization/roleAssignments","name":"9aba8539-6e15-439f-83d0-18999e7a3186"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"985bb80e-8113-4542-8d68-418589e6ff34","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","createdOn":"2020-02-25T18:36:02.5324969Z","updatedOn":"2020-02-25T18:36:02.5324969Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c"},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/b4bdc3a7-78e2-4b26-8b90-e474aa120b47","type":"Microsoft.Authorization/roleAssignments","name":"b4bdc3a7-78e2-4b26-8b90-e474aa120b47"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"b7a49237-f5b0-473f-a4ff-6830d23af17d","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","createdOn":"2020-02-25T18:36:38.8393742Z","updatedOn":"2020-02-25T18:36:38.8393742Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c"},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/00625383-053d-4227-a4db-b098e9bd2289","type":"Microsoft.Authorization/roleAssignments","name":"00625383-053d-4227-a4db-b098e9bd2289"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"c1181647-15a3-4d44-ac0e-34c45c204d9f","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","createdOn":"2019-07-15T18:16:56.7391341Z","updatedOn":"2019-07-15T18:16:56.7391341Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c"},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/1ab6e86f-40bc-4d22-8af4-46820b939205","type":"Microsoft.Authorization/roleAssignments","name":"1ab6e86f-40bc-4d22-8af4-46820b939205"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"f2e939bc-742a-42f9-a27a-f0982c6e3f64","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","createdOn":"2020-02-25T18:36:05.0954462Z","updatedOn":"2020-02-25T18:36:05.0954462Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c"},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/3151fe9c-fcd2-45d3-a256-72fb13b86df5","type":"Microsoft.Authorization/roleAssignments","name":"3151fe9c-fcd2-45d3-a256-72fb13b86df5"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/9980e02c-c2be-4d73-94e8-173b1dc7cf3c","principalId":"8845dee4-c749-46a4-b8e8-35512cf066cd","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","createdOn":"2019-09-06T19:25:22.9839570Z","updatedOn":"2019-09-06T19:25:22.9839570Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c"},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/9c37d50b-3a02-4ece-a581-9f9245ad884b","type":"Microsoft.Authorization/roleAssignments","name":"9c37d50b-3a02-4ece-a581-9f9245ad884b"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9","principalId":"1c8b3602-77a2-4e8a-8c1e-f127f2af5ca2","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/CnAIOrchestrationServicePublicCorpprod","createdOn":"2019-03-26T22:01:02.9176787Z","updatedOn":"2019-03-26T22:01:02.9176787Z","createdBy":"8701e34d-d7c2-459c-b2d7-f3a9c5204818","updatedBy":"8701e34d-d7c2-459c-b2d7-f3a9c5204818"},"id":"/providers/Microsoft.Management/managementGroups/CnAIOrchestrationServicePublicCorpprod/providers/Microsoft.Authorization/roleAssignments/4b771ea9-81de-4fc4-aa28-a3a0b9b4a320","type":"Microsoft.Authorization/roleAssignments","name":"4b771ea9-81de-4fc4-aa28-a3a0b9b4a320"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/36243c78-bf99-498c-9df9-86d9f8d28608","principalId":"1f75b9dd-4f1d-4e80-9521-321a8b1f5764","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/CnAIOrchestrationServicePublicCorpprod","createdOn":"2019-03-27T00:49:37.3000523Z","updatedOn":"2019-03-27T00:49:37.3000523Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c"},"id":"/providers/Microsoft.Management/managementGroups/CnAIOrchestrationServicePublicCorpprod/providers/Microsoft.Authorization/roleAssignments/e6e1fffd-83f7-40c7-9f33-e56e2cf75b29","type":"Microsoft.Authorization/roleAssignments","name":"e6e1fffd-83f7-40c7-9f33-e56e2cf75b29"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/5d58bcaf-24a5-4b20-bdb6-eed9f69fbe4c","principalId":"1f75b9dd-4f1d-4e80-9521-321a8b1f5764","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/CnAIOrchestrationServicePublicCorpprod","createdOn":"2019-03-27T00:50:08.3039053Z","updatedOn":"2019-03-27T00:50:08.3039053Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c"},"id":"/providers/Microsoft.Management/managementGroups/CnAIOrchestrationServicePublicCorpprod/providers/Microsoft.Authorization/roleAssignments/3d01f56e-ee3a-41ed-a775-0e067546cb12","type":"Microsoft.Authorization/roleAssignments","name":"3d01f56e-ee3a-41ed-a775-0e067546cb12"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7","principalId":"ce2366a6-64d7-441b-939c-c9d23f91cccd","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/72f988bf-86f1-41af-91ab-2d7cd011db47","createdOn":"2020-03-12T20:43:06.5941189Z","updatedOn":"2020-03-12T20:43:06.5941189Z","createdBy":"606f48c8-d219-4875-991d-ae6befaf0756","updatedBy":"606f48c8-d219-4875-991d-ae6befaf0756"},"id":"/providers/Microsoft.Management/managementGroups/72f988bf-86f1-41af-91ab-2d7cd011db47/providers/Microsoft.Authorization/roleAssignments/ad9e2cd7-0ff7-4931-9b17-656c8f17934b","type":"Microsoft.Authorization/roleAssignments","name":"ad9e2cd7-0ff7-4931-9b17-656c8f17934b"}]}' + headers: + cache-control: + - no-cache + content-length: + - '29728' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 26 May 2020 17:20:04 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - x-ms-gateway-slice=Production; path=/; SameSite=None; secure; HttpOnly + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - role assignment list + Connection: + - keep-alive + Cookie: + - x-ms-gateway-slice=Production + ParameterSetName: + - --assignee --scope --role -o + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-mgmt-authorization/0.52.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Authorization/roleDefinitions?$filter=roleName%20eq%20%27Contributor%27&api-version=2018-01-01-preview + response: + body: + string: '{"value":[{"properties":{"roleName":"Contributor","type":"BuiltInRole","description":"Lets + you manage everything except access to resources.","assignableScopes":["/"],"permissions":[{"actions":["*"],"notActions":["Microsoft.Authorization/*/Delete","Microsoft.Authorization/*/Write","Microsoft.Authorization/elevateAccess/Action","Microsoft.Blueprint/blueprintAssignments/write","Microsoft.Blueprint/blueprintAssignments/delete"],"dataActions":[],"notDataActions":[]}],"createdOn":"2015-02-02T21:55:09.8806423Z","updatedOn":"2019-02-05T21:24:38.4580610Z","createdBy":null,"updatedBy":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","type":"Microsoft.Authorization/roleDefinitions","name":"b24988ac-6180-42a0-ab88-20f7382dd24c"}]}' + headers: + cache-control: + - no-cache + content-length: + - '832' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 26 May 2020 17:20:04 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - x-ms-gateway-slice=Production; path=/; secure; HttpOnly; SameSite=None + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - role assignment list + Connection: + - keep-alive + Cookie: + - x-ms-gateway-slice=Production + ParameterSetName: + - --assignee --scope --role -o + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-mgmt-authorization/0.52.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Authorization/roleDefinitions?api-version=2018-01-01-preview + response: + body: + string: "{\"value\":[{\"properties\":{\"roleName\":\"Avere Cluster Create\",\"type\":\"CustomRole\",\"description\":\"Avere + cluster create role used by the Avere controller to create a vFXT cluster.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Authorization/roleAssignments/*\",\"Microsoft.Authorization/roleDefinitions/*\",\"Microsoft.Compute/*/read\",\"Microsoft.Compute/availabilitySets/*\",\"Microsoft.Compute/virtualMachines/*\",\"Microsoft.Network/*/read\",\"Microsoft.Network/networkInterfaces/*\",\"Microsoft.Network/virtualNetworks/subnets/join/action\",\"Microsoft.Network/virtualNetworks/subnets/read\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Resources/subscriptions/resourceGroups/resources/read\",\"Microsoft.Storage/*/read\",\"Microsoft.Storage/storageAccounts/listKeys/action\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2018-11-29T18:46:55.0492387Z\",\"updatedOn\":\"2018-11-29T18:46:55.0492387Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/a7b1b19a-0e83-4fe5-935c-faaefbfd18c3\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"a7b1b19a-0e83-4fe5-935c-faaefbfd18c3\"},{\"properties\":{\"roleName\":\"Avere + Cluster Runtime Operator\",\"type\":\"CustomRole\",\"description\":\"Avere + cluster runtime role used by Avere clusters running in subscriptions, for + the purpose of failing over IP addresses, accessing BLOB storage, etc\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Compute/virtualMachines/read\",\"Microsoft.Network/networkInterfaces/read\",\"Microsoft.Network/networkInterfaces/write\",\"Microsoft.Network/virtualNetworks/subnets/read\",\"Microsoft.Network/virtualNetworks/subnets/join/action\",\"Microsoft.Network/networkSecurityGroups/join/action\",\"Microsoft.Network/routeTables/read\",\"Microsoft.Network/routeTables/routes/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Storage/storageAccounts/blobServices/containers/delete\",\"Microsoft.Storage/storageAccounts/blobServices/containers/read\",\"Microsoft.Storage/storageAccounts/blobServices/containers/write\"],\"notActions\":[],\"dataActions\":[\"Microsoft.Storage/storageAccounts/blobServices/containers/blobs/delete\",\"Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read\",\"Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write\"],\"notDataActions\":[]}],\"createdOn\":\"2018-08-26T00:41:26.2170858Z\",\"updatedOn\":\"2018-08-26T00:41:26.2170858Z\",\"createdBy\":\"dda50086-5e3d-4a4b-b8bc-f54771104d89\",\"updatedBy\":\"dda50086-5e3d-4a4b-b8bc-f54771104d89\"},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/e078ab98-ef3a-4c9a-aba7-12f5172b45d0\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"e078ab98-ef3a-4c9a-aba7-12f5172b45d0\"},{\"properties\":{\"roleName\":\"Azure + Service Deploy Release Management Contributor\",\"type\":\"CustomRole\",\"description\":\"Contributor + role for services deploying through Azure Service Deploy.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"*\"],\"notActions\":[\"Microsoft.Authorization/*/Delete\",\"Microsoft.Authorization/*/Write\"],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2016-02-04T02:26:31.5413362Z\",\"updatedOn\":\"2018-01-08T20:20:16.3660174Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/21d96096-b162-414a-8302-d8354f9d91b2\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"21d96096-b162-414a-8302-d8354f9d91b2\"},{\"properties\":{\"roleName\":\"CAL-Custom-Role\",\"type\":\"CustomRole\",\"description\":\"Lets + SAP Cloud Appliance Library application manage Network and Compute services, + manage Resource Groups and Management locks.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/locks/*\",\"Microsoft.Authorization/roleDefinitions/*\",\"Microsoft.Authorization/roleAssignments/*\",\"Microsoft.Compute/*\",\"Microsoft.Network/*\",\"Microsoft.Resources/*\",\"Microsoft.Storage/*\",\"Microsoft.ContainerService/*\",\"Microsoft.ContainerRegistry/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2018-05-14T19:30:51.0664585Z\",\"updatedOn\":\"2019-02-19T19:11:57.5963229Z\",\"createdBy\":\"dda50086-5e3d-4a4b-b8bc-f54771104d89\",\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/7b266cd7-0bba-4ae2-8423-90ede5e1e898\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"7b266cd7-0bba-4ae2-8423-90ede5e1e898\"},{\"properties\":{\"roleName\":\"Dsms + Role (deprecated)\",\"type\":\"CustomRole\",\"description\":\"Custom role + used by Dsms to perform operations. Can list and regnerate storage account + keys.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.ClassicStorage/storageAccounts/listKeys/action\",\"Microsoft.ClassicStorage/storageAccounts/regenerateKey/action\",\"Microsoft.Storage/storageAccounts/listkeys/action\",\"Microsoft.Storage/storageAccounts/regeneratekey/action\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2017-05-17T18:02:11.1225951Z\",\"updatedOn\":\"2018-01-13T00:21:52.7211696Z\",\"createdBy\":\"ca5f3715-e7dd-427b-b2db-45b6a4a2df87\",\"updatedBy\":\"ca5f3715-e7dd-427b-b2db-45b6a4a2df87\"},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b91f4c0b-46e3-47bb-a242-eecfe23b3b5b\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"b91f4c0b-46e3-47bb-a242-eecfe23b3b5b\"},{\"properties\":{\"roleName\":\"Dsms + Role (do not use)\",\"type\":\"CustomRole\",\"description\":\"Custom role + used by Dsms to perform operations. Can list and regnerate storage account + keys.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.ClassicStorage/storageAccounts/listKeys/action\",\"Microsoft.ClassicStorage/storageAccounts/regenerateKey/action\",\"Microsoft.Storage/storageAccounts/listkeys/action\",\"Microsoft.Storage/storageAccounts/regeneratekey/action\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2018-02-01T07:56:12.5880222Z\",\"updatedOn\":\"2018-08-09T17:53:48.5432297Z\",\"createdBy\":\"becb4b6b-fe16-413b-a5c3-90355e0b2982\",\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/7aff565e-6c55-448d-83db-ccf482c6da2f\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"7aff565e-6c55-448d-83db-ccf482c6da2f\"},{\"properties\":{\"roleName\":\"ExpressRoute + Administrator\",\"type\":\"CustomRole\",\"description\":\"Can create, delete + and manage ExpressRoutes\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/locks/*\",\"Microsoft.Authorization/policyAssignments/*\",\"Microsoft.Authorization/policyDefinitions/*\",\"Microsoft.Authorization/roleAssignments/*\",\"Microsoft.ClassicNetwork/*\",\"Microsoft.EventGrid/*\",\"Microsoft.Insights/*\",\"Microsoft.Network/*\",\"Microsoft.Resources/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2018-08-31T03:51:32.2843055Z\",\"updatedOn\":\"2019-03-20T22:55:18.8222085Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/a48d7896-14b4-4889-afef-fbb65a96e5a2\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"a48d7896-14b4-4889-afef-fbb65a96e5a2\"},{\"properties\":{\"roleName\":\"GenevaWarmPathResourceContributor\",\"type\":\"CustomRole\",\"description\":\"Can + manage service bus and storage accounts.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.EventHub/namespaces/*\",\"Microsoft.Resources/subscriptions/resourceGroups/*\",\"Microsoft.ServiceBus/namespaces/*\",\"Microsoft.Storage/storageAccounts/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2017-03-14T22:30:10.1999436Z\",\"updatedOn\":\"2017-03-14T22:30:10.1999436Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/9f15f5f5-77bd-413a-aa88-4b9c68b1e7bc\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"9f15f5f5-77bd-413a-aa88-4b9c68b1e7bc\"},{\"properties\":{\"roleName\":\"masterreader\",\"type\":\"CustomRole\",\"description\":\"Lets + you view everything, but not make any changes.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"*/read\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2017-11-14T23:38:05.3353858Z\",\"updatedOn\":\"2017-11-14T23:38:05.3353858Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/a48d7796-14b4-4889-afef-fbb65a93e5a2\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"a48d7796-14b4-4889-afef-fbb65a93e5a2\"},{\"properties\":{\"roleName\":\"Microsoft + OneAsset Reader\",\"type\":\"CustomRole\",\"description\":\"This role is for + Microsoft OneAsset team (CSEO) to track internal security compliance and resource + utilization.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Compute/virtualMachines/*/read\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2019-03-27T23:51:08.6333052Z\",\"updatedOn\":\"2019-04-02T20:35:43.3396263Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/fd1bb084-1503-4bd2-99c0-630220046786\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"fd1bb084-1503-4bd2-99c0-630220046786\"},{\"properties\":{\"roleName\":\"Office + DevOps\",\"type\":\"CustomRole\",\"description\":\"Custom access for developers + to operations but not secrets.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Compute/virtualMachineScaleSets/restart/action\",\"Microsoft.Compute/virtualMachineScaleSets/virtualMachines/restart/action\",\"Microsoft.Sql/servers/databases/replicationLinks/delete\",\"Microsoft.Sql/servers/databases/replicationLinks/failover/action\",\"Microsoft.Sql/servers/databases/replicationLinks/forceFailoverAllowDataLoss/action\",\"Microsoft.Sql/servers/databases/replicationLinks/operationResults/read\",\"Microsoft.Sql/servers/databases/replicationLinks/read\",\"Microsoft.Sql/servers/databases/replicationLinks/unlink/action\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2016-10-07T08:11:46.1639398Z\",\"updatedOn\":\"2017-03-16T18:43:08.3234306Z\",\"createdBy\":\"25aea6be-b605-4347-a92d-33e178e412ec\",\"updatedBy\":\"25aea6be-b605-4347-a92d-33e178e412ec\"},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/7fd64851-3279-459b-b614-e2b2ba760f5b\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"7fd64851-3279-459b-b614-e2b2ba760f5b\"},{\"properties\":{\"roleName\":\"GenevaWarmPathStorageBlobContributor\",\"type\":\"CustomRole\",\"description\":\"Geneva + Warm Path Storage Blob Contributor\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Storage/storageAccounts/blobServices/containers/delete\",\"Microsoft.Storage/storageAccounts/blobServices/containers/lease/action\",\"Microsoft.Storage/storageAccounts/blobServices/containers/read\",\"Microsoft.Storage/storageAccounts/blobServices/containers/write\",\"Microsoft.Storage/storageAccounts/blobServices/containers/immutabilityPolicies/lock/action\",\"Microsoft.Storage/storageAccounts/blobServices/containers/immutabilityPolicies/read\",\"Microsoft.Storage/storageAccounts/blobServices/containers/immutabilityPolicies/write\",\"Microsoft.Storage/storageAccounts/blobServices/containers/immutabilityPolicies/extend/action\",\"Microsoft.Storage/storageAccounts/blobServices/containers/immutabilityPolicies/delete\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2019-12-06T22:46:27.1365630Z\",\"updatedOn\":\"2019-12-06T22:46:27.1365630Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/a16c43ca-2d67-4dcd-9ded-6412f5edc51a\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"a16c43ca-2d67-4dcd-9ded-6412f5edc51a\"},{\"properties\":{\"roleName\":\"AcrPush\",\"type\":\"BuiltInRole\",\"description\":\"acr + push\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.ContainerRegistry/registries/pull/read\",\"Microsoft.ContainerRegistry/registries/push/write\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2018-10-29T17:52:32.5201177Z\",\"updatedOn\":\"2018-11-13T23:26:19.9749249Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8311e382-0749-4cb8-b61a-304f252e45ec\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"8311e382-0749-4cb8-b61a-304f252e45ec\"},{\"properties\":{\"roleName\":\"API + Management Service Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Can + manage service and the APIs\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.ApiManagement/service/*\",\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.ResourceHealth/availabilityStatuses/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2015-02-02T21:55:09.8650193Z\",\"updatedOn\":\"2019-02-05T21:24:17.7502607Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/312a565d-c81f-4fd8-895a-4e21e48d571c\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"312a565d-c81f-4fd8-895a-4e21e48d571c\"},{\"properties\":{\"roleName\":\"AcrPull\",\"type\":\"BuiltInRole\",\"description\":\"acr + pull\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.ContainerRegistry/registries/pull/read\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2018-10-22T19:01:56.8227182Z\",\"updatedOn\":\"2018-11-13T23:22:03.2302457Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/7f951dda-4ed3-4680-a7ca-43fe172d538d\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"7f951dda-4ed3-4680-a7ca-43fe172d538d\"},{\"properties\":{\"roleName\":\"AcrImageSigner\",\"type\":\"BuiltInRole\",\"description\":\"acr + image signer\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.ContainerRegistry/registries/sign/write\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2018-03-15T23:23:08.4038322Z\",\"updatedOn\":\"2018-10-29T19:06:24.9004422Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/6cef56e8-d556-48e5-a04f-b8e64114680f\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"6cef56e8-d556-48e5-a04f-b8e64114680f\"},{\"properties\":{\"roleName\":\"AcrDelete\",\"type\":\"BuiltInRole\",\"description\":\"acr + delete\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.ContainerRegistry/registries/artifacts/delete\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2019-03-11T20:19:31.6682804Z\",\"updatedOn\":\"2019-03-11T20:24:38.9845104Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"c2f4ef07-c644-48eb-af81-4b1b4947fb11\"},{\"properties\":{\"roleName\":\"AcrQuarantineReader\",\"type\":\"BuiltInRole\",\"description\":\"acr + quarantine data reader\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.ContainerRegistry/registries/quarantine/read\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2018-03-16T00:27:39.9596835Z\",\"updatedOn\":\"2019-10-22T00:12:39.7020930Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/cdda3590-29a3-44f6-95f2-9f980659eb04\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"cdda3590-29a3-44f6-95f2-9f980659eb04\"},{\"properties\":{\"roleName\":\"AcrQuarantineWriter\",\"type\":\"BuiltInRole\",\"description\":\"acr + quarantine data writer\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.ContainerRegistry/registries/quarantine/read\",\"Microsoft.ContainerRegistry/registries/quarantine/write\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2018-03-16T00:26:37.5871820Z\",\"updatedOn\":\"2019-10-22T00:10:29.8202164Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/c8d4ff99-41c3-41a8-9f60-21dfdad59608\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"c8d4ff99-41c3-41a8-9f60-21dfdad59608\"},{\"properties\":{\"roleName\":\"API + Management Service Operator Role\",\"type\":\"BuiltInRole\",\"description\":\"Can + manage service but not the APIs\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.ApiManagement/service/*/read\",\"Microsoft.ApiManagement/service/backup/action\",\"Microsoft.ApiManagement/service/delete\",\"Microsoft.ApiManagement/service/managedeployments/action\",\"Microsoft.ApiManagement/service/read\",\"Microsoft.ApiManagement/service/restore/action\",\"Microsoft.ApiManagement/service/updatecertificate/action\",\"Microsoft.ApiManagement/service/updatehostname/action\",\"Microsoft.ApiManagement/service/write\",\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.ResourceHealth/availabilityStatuses/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\"],\"notActions\":[\"Microsoft.ApiManagement/service/users/keys/read\"],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2016-11-09T00:03:42.1194019Z\",\"updatedOn\":\"2016-11-18T23:56:25.4682649Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/e022efe7-f5ba-4159-bbe4-b44f577e9b61\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"e022efe7-f5ba-4159-bbe4-b44f577e9b61\"},{\"properties\":{\"roleName\":\"API + Management Service Reader Role\",\"type\":\"BuiltInRole\",\"description\":\"Read-only + access to service and APIs\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.ApiManagement/service/*/read\",\"Microsoft.ApiManagement/service/read\",\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.ResourceHealth/availabilityStatuses/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\"],\"notActions\":[\"Microsoft.ApiManagement/service/users/keys/read\"],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2016-11-09T00:26:45.1540473Z\",\"updatedOn\":\"2017-01-23T23:10:34.8876776Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/71522526-b88f-4d52-b57f-d31fc3546d0d\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"71522526-b88f-4d52-b57f-d31fc3546d0d\"},{\"properties\":{\"roleName\":\"Application + Insights Component Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Can + manage Application Insights components\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Insights/metricAlerts/*\",\"Microsoft.Insights/components/*\",\"Microsoft.Insights/webtests/*\",\"Microsoft.ResourceHealth/availabilityStatuses/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2015-02-02T21:55:09.8806423Z\",\"updatedOn\":\"2020-02-12T12:45:46.9200472Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/ae349356-3a1b-4a5e-921d-050484c6347e\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"ae349356-3a1b-4a5e-921d-050484c6347e\"},{\"properties\":{\"roleName\":\"Application + Insights Snapshot Debugger\",\"type\":\"BuiltInRole\",\"description\":\"Gives + user permission to use Application Insights Snapshot Debugger features\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Insights/components/*/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2017-04-19T21:25:12.3728747Z\",\"updatedOn\":\"2017-04-19T23:34:59.9511581Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/08954f03-6346-4c2e-81c0-ec3a5cfae23b\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"08954f03-6346-4c2e-81c0-ec3a5cfae23b\"},{\"properties\":{\"roleName\":\"Attestation + Reader\",\"type\":\"BuiltInRole\",\"description\":\"Can read the attestation + provider properties\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Attestation/attestationProviders/attestation/read\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2019-03-25T19:42:59.1576710Z\",\"updatedOn\":\"2019-05-10T17:52:38.9036953Z\",\"createdBy\":null,\"updatedBy\":\"SYSTEM\"},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/fd1bd22b-8476-40bc-a0bc-69b95687b9f3\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"fd1bd22b-8476-40bc-a0bc-69b95687b9f3\"},{\"properties\":{\"roleName\":\"Automation + Job Operator\",\"type\":\"BuiltInRole\",\"description\":\"Create and Manage + Jobs using Automation Runbooks.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Automation/automationAccounts/hybridRunbookWorkerGroups/read\",\"Microsoft.Automation/automationAccounts/jobs/read\",\"Microsoft.Automation/automationAccounts/jobs/resume/action\",\"Microsoft.Automation/automationAccounts/jobs/stop/action\",\"Microsoft.Automation/automationAccounts/jobs/streams/read\",\"Microsoft.Automation/automationAccounts/jobs/suspend/action\",\"Microsoft.Automation/automationAccounts/jobs/write\",\"Microsoft.Automation/automationAccounts/jobs/output/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2017-04-19T20:52:41.0020018Z\",\"updatedOn\":\"2018-08-14T22:08:48.1147327Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4fe576fe-1146-4730-92eb-48519fa6bf9f\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"4fe576fe-1146-4730-92eb-48519fa6bf9f\"},{\"properties\":{\"roleName\":\"Automation + Runbook Operator\",\"type\":\"BuiltInRole\",\"description\":\"Read Runbook + properties - to be able to create Jobs of the runbook.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Automation/automationAccounts/runbooks/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2017-04-19T20:47:49.5640674Z\",\"updatedOn\":\"2017-04-25T01:00:45.6444999Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/5fb5aef8-1081-4b8e-bb16-9d5d0385bab5\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"5fb5aef8-1081-4b8e-bb16-9d5d0385bab5\"},{\"properties\":{\"roleName\":\"Automation + Operator\",\"type\":\"BuiltInRole\",\"description\":\"Automation Operators + are able to start, stop, suspend, and resume jobs\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Automation/automationAccounts/hybridRunbookWorkerGroups/read\",\"Microsoft.Automation/automationAccounts/jobs/read\",\"Microsoft.Automation/automationAccounts/jobs/resume/action\",\"Microsoft.Automation/automationAccounts/jobs/stop/action\",\"Microsoft.Automation/automationAccounts/jobs/streams/read\",\"Microsoft.Automation/automationAccounts/jobs/suspend/action\",\"Microsoft.Automation/automationAccounts/jobs/write\",\"Microsoft.Automation/automationAccounts/jobSchedules/read\",\"Microsoft.Automation/automationAccounts/jobSchedules/write\",\"Microsoft.Automation/automationAccounts/linkedWorkspace/read\",\"Microsoft.Automation/automationAccounts/read\",\"Microsoft.Automation/automationAccounts/runbooks/read\",\"Microsoft.Automation/automationAccounts/schedules/read\",\"Microsoft.Automation/automationAccounts/schedules/write\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.ResourceHealth/availabilityStatuses/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Automation/automationAccounts/jobs/output/read\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2015-08-18T01:05:03.3916130Z\",\"updatedOn\":\"2018-05-10T20:12:39.6978200Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/d3881f73-407a-4167-8283-e981cbba0404\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"d3881f73-407a-4167-8283-e981cbba0404\"},{\"properties\":{\"roleName\":\"Avere + Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Can create and manage + an Avere vFXT cluster.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Compute/*/read\",\"Microsoft.Compute/availabilitySets/*\",\"Microsoft.Compute/virtualMachines/*\",\"Microsoft.Compute/disks/*\",\"Microsoft.Network/*/read\",\"Microsoft.Network/networkInterfaces/*\",\"Microsoft.Network/virtualNetworks/read\",\"Microsoft.Network/virtualNetworks/subnets/read\",\"Microsoft.Network/virtualNetworks/subnets/join/action\",\"Microsoft.Network/virtualNetworks/subnets/joinViaServiceEndpoint/action\",\"Microsoft.Network/networkSecurityGroups/join/action\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Storage/*/read\",\"Microsoft.Storage/storageAccounts/*\",\"Microsoft.Support/*\",\"Microsoft.Resources/subscriptions/resourceGroups/resources/read\"],\"notActions\":[],\"dataActions\":[\"Microsoft.Storage/storageAccounts/blobServices/containers/blobs/delete\",\"Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read\",\"Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write\"],\"notDataActions\":[]}],\"createdOn\":\"2019-03-18T20:00:58.9207889Z\",\"updatedOn\":\"2020-05-21T17:16:56.4634121Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4f8fab4f-1852-4a58-a46a-8eaf358af14a\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"4f8fab4f-1852-4a58-a46a-8eaf358af14a\"},{\"properties\":{\"roleName\":\"Avere + Operator\",\"type\":\"BuiltInRole\",\"description\":\"Used by the Avere vFXT + cluster to manage the cluster\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Compute/virtualMachines/read\",\"Microsoft.Network/networkInterfaces/read\",\"Microsoft.Network/networkInterfaces/write\",\"Microsoft.Network/virtualNetworks/read\",\"Microsoft.Network/virtualNetworks/subnets/read\",\"Microsoft.Network/virtualNetworks/subnets/join/action\",\"Microsoft.Network/networkSecurityGroups/join/action\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Storage/storageAccounts/blobServices/containers/delete\",\"Microsoft.Storage/storageAccounts/blobServices/containers/read\",\"Microsoft.Storage/storageAccounts/blobServices/containers/write\"],\"notActions\":[],\"dataActions\":[\"Microsoft.Storage/storageAccounts/blobServices/containers/blobs/delete\",\"Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read\",\"Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write\"],\"notDataActions\":[]}],\"createdOn\":\"2019-03-18T20:02:38.3399857Z\",\"updatedOn\":\"2019-03-29T00:26:37.9205875Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/c025889f-8102-4ebf-b32c-fc0c6f0c6bd9\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"c025889f-8102-4ebf-b32c-fc0c6f0c6bd9\"},{\"properties\":{\"roleName\":\"Azure + Kubernetes Service Cluster Admin Role\",\"type\":\"BuiltInRole\",\"description\":\"List + cluster admin credential action.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.ContainerService/managedClusters/listClusterAdminCredential/action\",\"Microsoft.ContainerService/managedClusters/accessProfiles/listCredential/action\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2018-08-15T21:38:18.5953853Z\",\"updatedOn\":\"2020-02-07T02:49:24.9715273Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/0ab0b1a8-8aac-4efd-b8c2-3ee1fb270be8\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"0ab0b1a8-8aac-4efd-b8c2-3ee1fb270be8\"},{\"properties\":{\"roleName\":\"Azure + Kubernetes Service Cluster User Role\",\"type\":\"BuiltInRole\",\"description\":\"List + cluster user credential action.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.ContainerService/managedClusters/listClusterUserCredential/action\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2018-08-15T22:04:53.4037241Z\",\"updatedOn\":\"2020-02-11T23:37:03.5899240Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4abbcc35-e782-43d8-92c5-2d3f1bd2253f\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"4abbcc35-e782-43d8-92c5-2d3f1bd2253f\"},{\"properties\":{\"roleName\":\"Azure + Maps Data Reader\",\"type\":\"BuiltInRole\",\"description\":\"Grants access + to read map related data from an Azure maps account.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.Maps/accounts/*/read\"],\"notDataActions\":[]}],\"createdOn\":\"2018-10-05T19:47:03.4723070Z\",\"updatedOn\":\"2020-04-28T22:33:41.7780319Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/423170ca-a8f6-4b0f-8487-9e4eb8f49bfa\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"423170ca-a8f6-4b0f-8487-9e4eb8f49bfa\"},{\"properties\":{\"roleName\":\"Azure + Stack Registration Owner\",\"type\":\"BuiltInRole\",\"description\":\"Lets + you manage Azure Stack registrations.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.AzureStack/registrations/products/*/action\",\"Microsoft.AzureStack/registrations/products/read\",\"Microsoft.AzureStack/registrations/read\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2017-11-13T23:42:06.2161827Z\",\"updatedOn\":\"2019-08-01T18:44:52.5331479Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/6f12a6df-dd06-4f3e-bcb1-ce8be600526a\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"6f12a6df-dd06-4f3e-bcb1-ce8be600526a\"},{\"properties\":{\"roleName\":\"Backup + Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Lets you manage backup + service,but can't create vaults and give access to others\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Network/virtualNetworks/read\",\"Microsoft.RecoveryServices/locations/*\",\"Microsoft.RecoveryServices/Vaults/backupFabrics/operationResults/*\",\"Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/*\",\"Microsoft.RecoveryServices/Vaults/backupFabrics/refreshContainers/action\",\"Microsoft.RecoveryServices/Vaults/backupJobs/*\",\"Microsoft.RecoveryServices/Vaults/backupJobsExport/action\",\"Microsoft.RecoveryServices/Vaults/backupOperationResults/*\",\"Microsoft.RecoveryServices/Vaults/backupPolicies/*\",\"Microsoft.RecoveryServices/Vaults/backupProtectableItems/*\",\"Microsoft.RecoveryServices/Vaults/backupProtectedItems/*\",\"Microsoft.RecoveryServices/Vaults/backupProtectionContainers/*\",\"Microsoft.RecoveryServices/Vaults/backupSecurityPIN/*\",\"Microsoft.RecoveryServices/Vaults/backupUsageSummaries/read\",\"Microsoft.RecoveryServices/Vaults/certificates/*\",\"Microsoft.RecoveryServices/Vaults/extendedInformation/*\",\"Microsoft.RecoveryServices/Vaults/monitoringAlerts/read\",\"Microsoft.RecoveryServices/Vaults/monitoringConfigurations/*\",\"Microsoft.RecoveryServices/Vaults/read\",\"Microsoft.RecoveryServices/Vaults/registeredIdentities/*\",\"Microsoft.RecoveryServices/Vaults/usages/*\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Storage/storageAccounts/read\",\"Microsoft.RecoveryServices/Vaults/backupstorageconfig/*\",\"Microsoft.RecoveryServices/Vaults/backupconfig/*\",\"Microsoft.RecoveryServices/Vaults/backupValidateOperation/action\",\"Microsoft.RecoveryServices/Vaults/write\",\"Microsoft.RecoveryServices/Vaults/backupOperations/read\",\"Microsoft.RecoveryServices/Vaults/backupEngines/read\",\"Microsoft.RecoveryServices/Vaults/backupFabrics/backupProtectionIntent/*\",\"Microsoft.RecoveryServices/Vaults/backupFabrics/protectableContainers/read\",\"Microsoft.RecoveryServices/locations/backupStatus/action\",\"Microsoft.RecoveryServices/locations/backupPreValidateProtection/action\",\"Microsoft.RecoveryServices/locations/backupValidateFeatures/action\",\"Microsoft.RecoveryServices/Vaults/monitoringAlerts/write\",\"Microsoft.RecoveryServices/operations/read\",\"Microsoft.RecoveryServices/locations/operationStatus/read\",\"Microsoft.RecoveryServices/Vaults/backupProtectionIntents/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2017-01-03T13:12:15.7321344Z\",\"updatedOn\":\"2019-12-17T10:44:35.8361149Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/5e467623-bb1f-42f4-a55d-6e525e11384b\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"5e467623-bb1f-42f4-a55d-6e525e11384b\"},{\"properties\":{\"roleName\":\"Billing + Reader\",\"type\":\"BuiltInRole\",\"description\":\"Allows read access to + billing data\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Billing/*/read\",\"Microsoft.Commerce/*/read\",\"Microsoft.Consumption/*/read\",\"Microsoft.Management/managementGroups/read\",\"Microsoft.CostManagement/*/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2017-04-25T02:13:38.9054151Z\",\"updatedOn\":\"2018-09-26T17:45:09.2227236Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/fa23ad8b-c56e-40d8-ac0c-ce449e1d2c64\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"fa23ad8b-c56e-40d8-ac0c-ce449e1d2c64\"},{\"properties\":{\"roleName\":\"Backup + Operator\",\"type\":\"BuiltInRole\",\"description\":\"Lets you manage backup + services, except removal of backup, vault creation and giving access to others\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Network/virtualNetworks/read\",\"Microsoft.RecoveryServices/Vaults/backupFabrics/operationResults/read\",\"Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/operationResults/read\",\"Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/backup/action\",\"Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/operationResults/read\",\"Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/operationsStatus/read\",\"Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/read\",\"Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/provisionInstantItemRecovery/action\",\"Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/read\",\"Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/restore/action\",\"Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/revokeInstantItemRecovery/action\",\"Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/write\",\"Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/read\",\"Microsoft.RecoveryServices/Vaults/backupFabrics/refreshContainers/action\",\"Microsoft.RecoveryServices/Vaults/backupJobs/*\",\"Microsoft.RecoveryServices/Vaults/backupJobsExport/action\",\"Microsoft.RecoveryServices/Vaults/backupOperationResults/*\",\"Microsoft.RecoveryServices/Vaults/backupPolicies/operationResults/read\",\"Microsoft.RecoveryServices/Vaults/backupPolicies/read\",\"Microsoft.RecoveryServices/Vaults/backupProtectableItems/*\",\"Microsoft.RecoveryServices/Vaults/backupProtectedItems/read\",\"Microsoft.RecoveryServices/Vaults/backupProtectionContainers/read\",\"Microsoft.RecoveryServices/Vaults/backupUsageSummaries/read\",\"Microsoft.RecoveryServices/Vaults/certificates/write\",\"Microsoft.RecoveryServices/Vaults/extendedInformation/read\",\"Microsoft.RecoveryServices/Vaults/extendedInformation/write\",\"Microsoft.RecoveryServices/Vaults/monitoringAlerts/read\",\"Microsoft.RecoveryServices/Vaults/monitoringConfigurations/*\",\"Microsoft.RecoveryServices/Vaults/read\",\"Microsoft.RecoveryServices/Vaults/registeredIdentities/operationResults/read\",\"Microsoft.RecoveryServices/Vaults/registeredIdentities/read\",\"Microsoft.RecoveryServices/Vaults/registeredIdentities/write\",\"Microsoft.RecoveryServices/Vaults/usages/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Storage/storageAccounts/read\",\"Microsoft.RecoveryServices/Vaults/backupstorageconfig/*\",\"Microsoft.RecoveryServices/Vaults/backupValidateOperation/action\",\"Microsoft.RecoveryServices/Vaults/backupOperations/read\",\"Microsoft.RecoveryServices/Vaults/backupPolicies/operations/read\",\"Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/write\",\"Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/inquire/action\",\"Microsoft.RecoveryServices/Vaults/backupEngines/read\",\"Microsoft.RecoveryServices/Vaults/backupFabrics/backupProtectionIntent/write\",\"Microsoft.RecoveryServices/Vaults/backupFabrics/backupProtectionIntent/read\",\"Microsoft.RecoveryServices/Vaults/backupFabrics/protectableContainers/read\",\"Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/items/read\",\"Microsoft.RecoveryServices/locations/backupStatus/action\",\"Microsoft.RecoveryServices/locations/backupPreValidateProtection/action\",\"Microsoft.RecoveryServices/locations/backupValidateFeatures/action\",\"Microsoft.RecoveryServices/Vaults/monitoringAlerts/write\",\"Microsoft.RecoveryServices/operations/read\",\"Microsoft.RecoveryServices/locations/operationStatus/read\",\"Microsoft.RecoveryServices/Vaults/backupProtectionIntents/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2017-01-03T13:21:11.8947640Z\",\"updatedOn\":\"2019-12-17T11:02:43.9998686Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/00c29273-979b-4161-815c-10b084fb9324\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"00c29273-979b-4161-815c-10b084fb9324\"},{\"properties\":{\"roleName\":\"Backup + Reader\",\"type\":\"BuiltInRole\",\"description\":\"Can view backup services, + but can't make changes\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.RecoveryServices/locations/allocatedStamp/read\",\"Microsoft.RecoveryServices/Vaults/backupFabrics/operationResults/read\",\"Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/operationResults/read\",\"Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/operationResults/read\",\"Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/operationsStatus/read\",\"Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/read\",\"Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/read\",\"Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/read\",\"Microsoft.RecoveryServices/Vaults/backupJobs/operationResults/read\",\"Microsoft.RecoveryServices/Vaults/backupJobs/read\",\"Microsoft.RecoveryServices/Vaults/backupJobsExport/action\",\"Microsoft.RecoveryServices/Vaults/backupOperationResults/read\",\"Microsoft.RecoveryServices/Vaults/backupPolicies/operationResults/read\",\"Microsoft.RecoveryServices/Vaults/backupPolicies/read\",\"Microsoft.RecoveryServices/Vaults/backupProtectedItems/read\",\"Microsoft.RecoveryServices/Vaults/backupProtectionContainers/read\",\"Microsoft.RecoveryServices/Vaults/backupUsageSummaries/read\",\"Microsoft.RecoveryServices/Vaults/extendedInformation/read\",\"Microsoft.RecoveryServices/Vaults/monitoringAlerts/read\",\"Microsoft.RecoveryServices/Vaults/read\",\"Microsoft.RecoveryServices/Vaults/registeredIdentities/operationResults/read\",\"Microsoft.RecoveryServices/Vaults/registeredIdentities/read\",\"Microsoft.RecoveryServices/Vaults/backupstorageconfig/read\",\"Microsoft.RecoveryServices/Vaults/backupconfig/read\",\"Microsoft.RecoveryServices/Vaults/backupOperations/read\",\"Microsoft.RecoveryServices/Vaults/backupPolicies/operations/read\",\"Microsoft.RecoveryServices/Vaults/backupEngines/read\",\"Microsoft.RecoveryServices/Vaults/backupFabrics/backupProtectionIntent/read\",\"Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/items/read\",\"Microsoft.RecoveryServices/locations/backupStatus/action\",\"Microsoft.RecoveryServices/Vaults/monitoringConfigurations/*\",\"Microsoft.RecoveryServices/Vaults/monitoringAlerts/write\",\"Microsoft.RecoveryServices/operations/read\",\"Microsoft.RecoveryServices/locations/operationStatus/read\",\"Microsoft.RecoveryServices/Vaults/backupProtectionIntents/read\",\"Microsoft.RecoveryServices/Vaults/usages/read\",\"Microsoft.RecoveryServices/locations/backupValidateFeatures/action\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2017-01-03T13:18:41.3893065Z\",\"updatedOn\":\"2020-03-04T12:12:04.3213110Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/a795c7a0-d4a2-40c1-ae25-d81f01202912\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"a795c7a0-d4a2-40c1-ae25-d81f01202912\"},{\"properties\":{\"roleName\":\"Blockchain + Member Node Access (Preview)\",\"type\":\"BuiltInRole\",\"description\":\"Allows + for access to Blockchain Member nodes\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Blockchain/blockchainMembers/transactionNodes/read\"],\"notActions\":[],\"dataActions\":[\"Microsoft.Blockchain/blockchainMembers/transactionNodes/connect/action\"],\"notDataActions\":[]}],\"createdOn\":\"2018-12-21T10:33:01.9604839Z\",\"updatedOn\":\"2018-12-21T10:33:58.0042162Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/31a002a1-acaf-453e-8a5b-297c9ca1ea24\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"31a002a1-acaf-453e-8a5b-297c9ca1ea24\"},{\"properties\":{\"roleName\":\"BizTalk + Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Lets you manage BizTalk + services, but not access to them.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.BizTalkServices/BizTalk/*\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.ResourceHealth/availabilityStatuses/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2015-02-02T21:55:09.8806423Z\",\"updatedOn\":\"2019-02-05T20:42:18.8978210Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/5e3c6656-6cfa-4708-81fe-0de47ac73342\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"5e3c6656-6cfa-4708-81fe-0de47ac73342\"},{\"properties\":{\"roleName\":\"CDN + Endpoint Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Can manage + CDN endpoints, but can\u2019t grant access to other users.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Cdn/edgenodes/read\",\"Microsoft.Cdn/operationresults/*\",\"Microsoft.Cdn/profiles/endpoints/*\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2016-01-23T02:48:46.4996252Z\",\"updatedOn\":\"2016-05-31T23:13:52.6231539Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/426e0c7f-0c7e-4658-b36f-ff54d6c29b45\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"426e0c7f-0c7e-4658-b36f-ff54d6c29b45\"},{\"properties\":{\"roleName\":\"CDN + Endpoint Reader\",\"type\":\"BuiltInRole\",\"description\":\"Can view CDN + endpoints, but can\u2019t make changes.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Cdn/edgenodes/read\",\"Microsoft.Cdn/operationresults/*\",\"Microsoft.Cdn/profiles/endpoints/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2016-01-23T02:48:46.4996252Z\",\"updatedOn\":\"2016-05-31T23:13:53.1585846Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/871e35f6-b5c1-49cc-a043-bde969a0f2cd\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"871e35f6-b5c1-49cc-a043-bde969a0f2cd\"},{\"properties\":{\"roleName\":\"CDN + Profile Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Can manage + CDN profiles and their endpoints, but can\u2019t grant access to other users.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Cdn/edgenodes/read\",\"Microsoft.Cdn/operationresults/*\",\"Microsoft.Cdn/profiles/*\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2016-01-23T02:48:46.4996252Z\",\"updatedOn\":\"2016-05-31T23:13:53.7051278Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/ec156ff8-a8d1-4d15-830c-5b80698ca432\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"ec156ff8-a8d1-4d15-830c-5b80698ca432\"},{\"properties\":{\"roleName\":\"CDN + Profile Reader\",\"type\":\"BuiltInRole\",\"description\":\"Can view CDN profiles + and their endpoints, but can\u2019t make changes.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Cdn/edgenodes/read\",\"Microsoft.Cdn/operationresults/*\",\"Microsoft.Cdn/profiles/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2016-01-23T02:48:46.4996252Z\",\"updatedOn\":\"2016-05-31T23:13:54.2283001Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8f96442b-4075-438f-813d-ad51ab4019af\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"8f96442b-4075-438f-813d-ad51ab4019af\"},{\"properties\":{\"roleName\":\"Classic + Network Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Lets you + manage classic networks, but not access to them.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.ClassicNetwork/*\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.ResourceHealth/availabilityStatuses/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2015-02-02T21:55:09.8806423Z\",\"updatedOn\":\"2019-02-05T21:24:39.7576926Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b34d265f-36f7-4a0d-a4d4-e158ca92e90f\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"b34d265f-36f7-4a0d-a4d4-e158ca92e90f\"},{\"properties\":{\"roleName\":\"Classic + Storage Account Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Lets + you manage classic storage accounts, but not access to them.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.ClassicStorage/storageAccounts/*\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.ResourceHealth/availabilityStatuses/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2015-02-02T21:55:09.8806423Z\",\"updatedOn\":\"2019-02-05T21:24:30.8964641Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/86e8f5dc-a6e9-4c67-9d15-de283e8eac25\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"86e8f5dc-a6e9-4c67-9d15-de283e8eac25\"},{\"properties\":{\"roleName\":\"Classic + Storage Account Key Operator Service Role\",\"type\":\"BuiltInRole\",\"description\":\"Classic + Storage Account Key Operators are allowed to list and regenerate keys on Classic + Storage Accounts\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.ClassicStorage/storageAccounts/listkeys/action\",\"Microsoft.ClassicStorage/storageAccounts/regeneratekey/action\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2017-04-13T18:22:52.1461100Z\",\"updatedOn\":\"2017-04-13T20:54:03.0505986Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/985d6b00-f706-48f5-a6fe-d0ca12fb668d\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"985d6b00-f706-48f5-a6fe-d0ca12fb668d\"},{\"properties\":{\"roleName\":\"ClearDB + MySQL DB Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Lets you + manage ClearDB MySQL databases, but not access to them.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.ResourceHealth/availabilityStatuses/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\",\"successbricks.cleardb/databases/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2015-02-02T21:55:09.8806423Z\",\"updatedOn\":\"2019-02-05T20:42:23.2893077Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/9106cda0-8a86-4e81-b686-29a22c54effe\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"9106cda0-8a86-4e81-b686-29a22c54effe\"},{\"properties\":{\"roleName\":\"Classic + Virtual Machine Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Lets + you manage classic virtual machines, but not access to them, and not the virtual + network or storage account they\u2019re connected to.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.ClassicCompute/domainNames/*\",\"Microsoft.ClassicCompute/virtualMachines/*\",\"Microsoft.ClassicNetwork/networkSecurityGroups/join/action\",\"Microsoft.ClassicNetwork/reservedIps/link/action\",\"Microsoft.ClassicNetwork/reservedIps/read\",\"Microsoft.ClassicNetwork/virtualNetworks/join/action\",\"Microsoft.ClassicNetwork/virtualNetworks/read\",\"Microsoft.ClassicStorage/storageAccounts/disks/read\",\"Microsoft.ClassicStorage/storageAccounts/images/read\",\"Microsoft.ClassicStorage/storageAccounts/listKeys/action\",\"Microsoft.ClassicStorage/storageAccounts/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.ResourceHealth/availabilityStatuses/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2015-04-25T00:37:56.5416086Z\",\"updatedOn\":\"2019-02-05T21:24:43.0770473Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/d73bb868-a0df-4d4d-bd69-98a00b01fccb\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"d73bb868-a0df-4d4d-bd69-98a00b01fccb\"},{\"properties\":{\"roleName\":\"Cognitive + Services User\",\"type\":\"BuiltInRole\",\"description\":\"Lets you read and + list keys of Cognitive Services.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.CognitiveServices/*/read\",\"Microsoft.CognitiveServices/accounts/listkeys/action\",\"Microsoft.Insights/alertRules/read\",\"Microsoft.Insights/diagnosticSettings/read\",\"Microsoft.Insights/logDefinitions/read\",\"Microsoft.Insights/metricdefinitions/read\",\"Microsoft.Insights/metrics/read\",\"Microsoft.ResourceHealth/availabilityStatuses/read\",\"Microsoft.Resources/deployments/operations/read\",\"Microsoft.Resources/subscriptions/operationresults/read\",\"Microsoft.Resources/subscriptions/read\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[\"Microsoft.CognitiveServices/*\"],\"notDataActions\":[]}],\"createdOn\":\"2018-08-08T23:23:43.7701274Z\",\"updatedOn\":\"2019-02-13T19:53:56.7209248Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/a97b65f3-24c7-4388-baec-2e87135dc908\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"a97b65f3-24c7-4388-baec-2e87135dc908\"},{\"properties\":{\"roleName\":\"Cognitive + Services Data Reader (Preview)\",\"type\":\"BuiltInRole\",\"description\":\"Lets + you read Cognitive Services data.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.CognitiveServices/*/read\"],\"notDataActions\":[]}],\"createdOn\":\"2019-02-13T20:02:12.6849986Z\",\"updatedOn\":\"2019-02-13T22:53:55.1675290Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b59867f0-fa02-499b-be73-45a86b5b3e1c\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"b59867f0-fa02-499b-be73-45a86b5b3e1c\"},{\"properties\":{\"roleName\":\"Cognitive + Services Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Lets you + create, read, update, delete and manage keys of Cognitive Services.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.CognitiveServices/*\",\"Microsoft.Features/features/read\",\"Microsoft.Features/providers/features/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Insights/diagnosticSettings/*\",\"Microsoft.Insights/logDefinitions/read\",\"Microsoft.Insights/metricdefinitions/read\",\"Microsoft.Insights/metrics/read\",\"Microsoft.ResourceHealth/availabilityStatuses/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/deployments/operations/read\",\"Microsoft.Resources/subscriptions/operationresults/read\",\"Microsoft.Resources/subscriptions/read\",\"Microsoft.Resources/subscriptions/resourcegroups/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2018-08-08T23:18:39.2257848Z\",\"updatedOn\":\"2018-09-14T00:53:37.7546808Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/25fbc0a9-bd7c-42a3-aa1a-3b75d497ee68\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"25fbc0a9-bd7c-42a3-aa1a-3b75d497ee68\"},{\"properties\":{\"roleName\":\"CosmosBackupOperator\",\"type\":\"BuiltInRole\",\"description\":\"Can + submit restore request for a Cosmos DB database or a container for an account\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.DocumentDB/databaseAccounts/backup/action\",\"Microsoft.DocumentDB/databaseAccounts/restore/action\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2018-12-07T19:47:14.9651560Z\",\"updatedOn\":\"2018-12-07T19:52:21.9969834Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/db7b14f2-5adf-42da-9f96-f2ee17bab5cb\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"db7b14f2-5adf-42da-9f96-f2ee17bab5cb\"},{\"properties\":{\"roleName\":\"Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Lets + you manage everything except access to resources.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"*\"],\"notActions\":[\"Microsoft.Authorization/*/Delete\",\"Microsoft.Authorization/*/Write\",\"Microsoft.Authorization/elevateAccess/Action\",\"Microsoft.Blueprint/blueprintAssignments/write\",\"Microsoft.Blueprint/blueprintAssignments/delete\"],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2015-02-02T21:55:09.8806423Z\",\"updatedOn\":\"2019-02-05T21:24:38.4580610Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"b24988ac-6180-42a0-ab88-20f7382dd24c\"},{\"properties\":{\"roleName\":\"Cosmos + DB Account Reader Role\",\"type\":\"BuiltInRole\",\"description\":\"Can read + Azure Cosmos DB Accounts data\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.DocumentDB/*/read\",\"Microsoft.DocumentDB/databaseAccounts/readonlykeys/action\",\"Microsoft.Insights/MetricDefinitions/read\",\"Microsoft.Insights/Metrics/read\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2017-10-30T17:53:54.6005577Z\",\"updatedOn\":\"2018-02-21T01:36:59.6186231Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/fbdf93bf-df7d-467e-a4d2-9458aa1360c8\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"fbdf93bf-df7d-467e-a4d2-9458aa1360c8\"},{\"properties\":{\"roleName\":\"Cost + Management Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Can view + costs and manage cost configuration (e.g. budgets, exports)\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Consumption/*\",\"Microsoft.CostManagement/*\",\"Microsoft.Billing/billingPeriods/read\",\"Microsoft.Resources/subscriptions/read\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\",\"Microsoft.Advisor/configurations/read\",\"Microsoft.Advisor/recommendations/read\",\"Microsoft.Management/managementGroups/read\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2018-03-14T16:09:22.8834827Z\",\"updatedOn\":\"2019-06-25T21:25:06.8686379Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/434105ed-43f6-45c7-a02f-909b2ba83430\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"434105ed-43f6-45c7-a02f-909b2ba83430\"},{\"properties\":{\"roleName\":\"Cost + Management Reader\",\"type\":\"BuiltInRole\",\"description\":\"Can view cost + data and configuration (e.g. budgets, exports)\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Consumption/*/read\",\"Microsoft.CostManagement/*/read\",\"Microsoft.Billing/billingPeriods/read\",\"Microsoft.Resources/subscriptions/read\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\",\"Microsoft.Advisor/configurations/read\",\"Microsoft.Advisor/recommendations/read\",\"Microsoft.Management/managementGroups/read\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2018-03-14T16:09:22.8834827Z\",\"updatedOn\":\"2019-06-25T20:59:11.5762937Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/72fafb9e-0641-4937-9268-a91bfd8191a3\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"72fafb9e-0641-4937-9268-a91bfd8191a3\"},{\"properties\":{\"roleName\":\"Data + Box Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Lets you manage + everything under Data Box Service except giving access to others.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.ResourceHealth/availabilityStatuses/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\",\"Microsoft.Databox/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2018-07-27T08:28:42.7140210Z\",\"updatedOn\":\"2018-07-27T08:36:56.3827309Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/add466c9-e687-43fc-8d98-dfcf8d720be5\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"add466c9-e687-43fc-8d98-dfcf8d720be5\"},{\"properties\":{\"roleName\":\"Data + Box Reader\",\"type\":\"BuiltInRole\",\"description\":\"Lets you manage Data + Box Service except creating order or editing order details and giving access + to others.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Databox/*/read\",\"Microsoft.Databox/jobs/listsecrets/action\",\"Microsoft.Databox/jobs/listcredentials/action\",\"Microsoft.Databox/locations/availableSkus/action\",\"Microsoft.Databox/locations/validateInputs/action\",\"Microsoft.Databox/locations/regionConfiguration/action\",\"Microsoft.Databox/locations/validateAddress/action\",\"Microsoft.ResourceHealth/availabilityStatuses/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2018-07-27T08:26:21.9284772Z\",\"updatedOn\":\"2020-01-24T05:39:52.6143537Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/028f4ed7-e2a9-465e-a8f4-9c0ffdfdc027\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"028f4ed7-e2a9-465e-a8f4-9c0ffdfdc027\"},{\"properties\":{\"roleName\":\"Data + Factory Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Create and + manage data factories, as well as child resources within them.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.DataFactory/dataFactories/*\",\"Microsoft.DataFactory/factories/*\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.ResourceHealth/availabilityStatuses/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\",\"Microsoft.EventGrid/eventSubscriptions/write\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2015-02-02T21:55:09.8806423Z\",\"updatedOn\":\"2020-02-14T19:49:21.5789216Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/673868aa-7521-48a0-acc6-0f60742d39f5\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"673868aa-7521-48a0-acc6-0f60742d39f5\"},{\"properties\":{\"roleName\":\"Data + Purger\",\"type\":\"BuiltInRole\",\"description\":\"Can purge analytics data\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Insights/components/*/read\",\"Microsoft.Insights/components/purge/action\",\"Microsoft.OperationalInsights/workspaces/*/read\",\"Microsoft.OperationalInsights/workspaces/purge/action\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2018-04-30T22:39:49.6167700Z\",\"updatedOn\":\"2018-04-30T22:44:15.1171162Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/150f5e0c-0603-4f03-8c7f-cf70034c4e90\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"150f5e0c-0603-4f03-8c7f-cf70034c4e90\"},{\"properties\":{\"roleName\":\"Data + Lake Analytics Developer\",\"type\":\"BuiltInRole\",\"description\":\"Lets + you submit, monitor, and manage your own jobs but not create or delete Data + Lake Analytics accounts.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.BigAnalytics/accounts/*\",\"Microsoft.DataLakeAnalytics/accounts/*\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.ResourceHealth/availabilityStatuses/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\"],\"notActions\":[\"Microsoft.BigAnalytics/accounts/Delete\",\"Microsoft.BigAnalytics/accounts/TakeOwnership/action\",\"Microsoft.BigAnalytics/accounts/Write\",\"Microsoft.DataLakeAnalytics/accounts/Delete\",\"Microsoft.DataLakeAnalytics/accounts/TakeOwnership/action\",\"Microsoft.DataLakeAnalytics/accounts/Write\",\"Microsoft.DataLakeAnalytics/accounts/dataLakeStoreAccounts/Write\",\"Microsoft.DataLakeAnalytics/accounts/dataLakeStoreAccounts/Delete\",\"Microsoft.DataLakeAnalytics/accounts/storageAccounts/Write\",\"Microsoft.DataLakeAnalytics/accounts/storageAccounts/Delete\",\"Microsoft.DataLakeAnalytics/accounts/firewallRules/Write\",\"Microsoft.DataLakeAnalytics/accounts/firewallRules/Delete\",\"Microsoft.DataLakeAnalytics/accounts/computePolicies/Write\",\"Microsoft.DataLakeAnalytics/accounts/computePolicies/Delete\"],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2015-10-20T00:33:29.3115234Z\",\"updatedOn\":\"2017-08-18T00:00:17.0411642Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/47b7735b-770e-4598-a7da-8b91488b4c88\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"47b7735b-770e-4598-a7da-8b91488b4c88\"},{\"properties\":{\"roleName\":\"DevTest + Labs User\",\"type\":\"BuiltInRole\",\"description\":\"Lets you connect, start, + restart, and shutdown your virtual machines in your Azure DevTest Labs.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Compute/availabilitySets/read\",\"Microsoft.Compute/virtualMachines/*/read\",\"Microsoft.Compute/virtualMachines/deallocate/action\",\"Microsoft.Compute/virtualMachines/read\",\"Microsoft.Compute/virtualMachines/restart/action\",\"Microsoft.Compute/virtualMachines/start/action\",\"Microsoft.DevTestLab/*/read\",\"Microsoft.DevTestLab/labs/claimAnyVm/action\",\"Microsoft.DevTestLab/labs/createEnvironment/action\",\"Microsoft.DevTestLab/labs/ensureCurrentUserProfile/action\",\"Microsoft.DevTestLab/labs/formulas/delete\",\"Microsoft.DevTestLab/labs/formulas/read\",\"Microsoft.DevTestLab/labs/formulas/write\",\"Microsoft.DevTestLab/labs/policySets/evaluatePolicies/action\",\"Microsoft.DevTestLab/labs/virtualMachines/claim/action\",\"Microsoft.DevTestLab/labs/virtualmachines/listApplicableSchedules/action\",\"Microsoft.DevTestLab/labs/virtualMachines/getRdpFileContents/action\",\"Microsoft.Network/loadBalancers/backendAddressPools/join/action\",\"Microsoft.Network/loadBalancers/inboundNatRules/join/action\",\"Microsoft.Network/networkInterfaces/*/read\",\"Microsoft.Network/networkInterfaces/join/action\",\"Microsoft.Network/networkInterfaces/read\",\"Microsoft.Network/networkInterfaces/write\",\"Microsoft.Network/publicIPAddresses/*/read\",\"Microsoft.Network/publicIPAddresses/join/action\",\"Microsoft.Network/publicIPAddresses/read\",\"Microsoft.Network/virtualNetworks/subnets/join/action\",\"Microsoft.Resources/deployments/operations/read\",\"Microsoft.Resources/deployments/read\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Storage/storageAccounts/listKeys/action\"],\"notActions\":[\"Microsoft.Compute/virtualMachines/vmSizes/read\"],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2015-06-08T21:52:45.0657582Z\",\"updatedOn\":\"2019-05-08T11:27:34.8855476Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/76283e04-6283-4c54-8f91-bcf1374a3c64\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"76283e04-6283-4c54-8f91-bcf1374a3c64\"},{\"properties\":{\"roleName\":\"DocumentDB + Account Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Lets you + manage DocumentDB accounts, but not access to them.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.DocumentDb/databaseAccounts/*\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.ResourceHealth/availabilityStatuses/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\",\"Microsoft.Network/virtualNetworks/subnets/joinViaServiceEndpoint/action\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2015-02-02T21:55:09.8806423Z\",\"updatedOn\":\"2019-11-21T01:38:32.0948484Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/5bd9cd88-fe45-4216-938b-f97437e15450\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"5bd9cd88-fe45-4216-938b-f97437e15450\"},{\"properties\":{\"roleName\":\"DNS + Zone Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Lets you manage + DNS zones and record sets in Azure DNS, but does not let you control who has + access to them.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Network/dnsZones/*\",\"Microsoft.ResourceHealth/availabilityStatuses/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2015-10-15T23:33:25.9730842Z\",\"updatedOn\":\"2016-05-31T23:13:40.3710365Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/befefa01-2a29-4197-83a8-272ff33ce314\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"befefa01-2a29-4197-83a8-272ff33ce314\"},{\"properties\":{\"roleName\":\"EventGrid + EventSubscription Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Lets + you manage EventGrid event subscription operations.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.EventGrid/eventSubscriptions/*\",\"Microsoft.EventGrid/topicTypes/eventSubscriptions/read\",\"Microsoft.EventGrid/locations/eventSubscriptions/read\",\"Microsoft.EventGrid/locations/topicTypes/eventSubscriptions/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2018-10-08T23:27:28.3130743Z\",\"updatedOn\":\"2019-01-08T00:06:34.3543171Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/428e0ff0-5e57-4d9c-a221-2c70d0e0a443\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"428e0ff0-5e57-4d9c-a221-2c70d0e0a443\"},{\"properties\":{\"roleName\":\"EventGrid + EventSubscription Reader\",\"type\":\"BuiltInRole\",\"description\":\"Lets + you read EventGrid event subscriptions.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.EventGrid/eventSubscriptions/read\",\"Microsoft.EventGrid/topicTypes/eventSubscriptions/read\",\"Microsoft.EventGrid/locations/eventSubscriptions/read\",\"Microsoft.EventGrid/locations/topicTypes/eventSubscriptions/read\",\"Microsoft.Resources/subscriptions/resourceGroups/read\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2018-10-09T17:29:28.1417894Z\",\"updatedOn\":\"2019-01-08T00:05:40.2884365Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/2414bbcf-6497-4faf-8c65-045460748405\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"2414bbcf-6497-4faf-8c65-045460748405\"},{\"properties\":{\"roleName\":\"Graph + Owner\",\"type\":\"BuiltInRole\",\"description\":\"Create and manage all aspects + of the Enterprise Graph - Ontology, Schema mapping, Conflation and Conversational + AI and Ingestions\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.EnterpriseKnowledgeGraph/services/conflation/read\",\"Microsoft.EnterpriseKnowledgeGraph/services/conflation/write\",\"Microsoft.EnterpriseKnowledgeGraph/services/sourceschema/read\",\"Microsoft.EnterpriseKnowledgeGraph/services/sourceschema/write\",\"Microsoft.EnterpriseKnowledgeGraph/services/knowledge/read\",\"Microsoft.EnterpriseKnowledgeGraph/services/knowledge/write\",\"Microsoft.EnterpriseKnowledgeGraph/services/intentclassification/read\",\"Microsoft.EnterpriseKnowledgeGraph/services/intentclassification/write\",\"Microsoft.EnterpriseKnowledgeGraph/services/ingestion/read\",\"Microsoft.EnterpriseKnowledgeGraph/services/ingestion/write\",\"Microsoft.EnterpriseKnowledgeGraph/services/ontology/read\",\"Microsoft.EnterpriseKnowledgeGraph/services/ontology/write\",\"Microsoft.EnterpriseKnowledgeGraph/services/delete\",\"Microsoft.EnterpriseKnowledgeGraph/operations/read\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2019-02-23T21:07:22.5844236Z\",\"updatedOn\":\"2019-02-28T20:21:18.9318073Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b60367af-1334-4454-b71e-769d9a4f83d9\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"b60367af-1334-4454-b71e-769d9a4f83d9\"},{\"properties\":{\"roleName\":\"HDInsight + Domain Services Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Can + Read, Create, Modify and Delete Domain Services related operations needed + for HDInsight Enterprise Security Package\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.AAD/*/read\",\"Microsoft.AAD/domainServices/*/read\",\"Microsoft.AAD/domainServices/oucontainer/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2018-09-12T22:42:51.7451109Z\",\"updatedOn\":\"2018-09-12T23:06:45.7641599Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8d8d5a11-05d3-4bda-a417-a08778121c7c\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"8d8d5a11-05d3-4bda-a417-a08778121c7c\"},{\"properties\":{\"roleName\":\"Intelligent + Systems Account Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Lets + you manage Intelligent Systems accounts, but not access to them.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.IntelligentSystems/accounts/*\",\"Microsoft.ResourceHealth/availabilityStatuses/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2015-02-02T21:55:09.8806423Z\",\"updatedOn\":\"2019-02-05T20:32:00.9996357Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/03a6d094-3444-4b3d-88af-7477090a9e5e\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"03a6d094-3444-4b3d-88af-7477090a9e5e\"},{\"properties\":{\"roleName\":\"Key + Vault Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Lets you manage + key vaults, but not access to them.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.KeyVault/*\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\"],\"notActions\":[\"Microsoft.KeyVault/locations/deletedVaults/purge/action\",\"Microsoft.KeyVault/hsmPools/*\"],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2016-02-25T17:08:28.5184971Z\",\"updatedOn\":\"2019-02-05T21:24:49.5373075Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/f25e0fa2-a7c8-4377-a976-54943a77a395\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"f25e0fa2-a7c8-4377-a976-54943a77a395\"},{\"properties\":{\"roleName\":\"Knowledge + Consumer\",\"type\":\"BuiltInRole\",\"description\":\"Knowledge Read permission + to consume Enterprise Graph Knowledge using entity search and graph query\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.EnterpriseKnowledgeGraph/services/knowledge/read\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2019-02-23T21:23:31.4037552Z\",\"updatedOn\":\"2019-02-28T20:25:00.7369384Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/ee361c5d-f7b5-4119-b4b6-892157c8f64c\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"ee361c5d-f7b5-4119-b4b6-892157c8f64c\"},{\"properties\":{\"roleName\":\"Lab + Creator\",\"type\":\"BuiltInRole\",\"description\":\"Lets you create, manage, + delete your managed labs under your Azure Lab Accounts.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.LabServices/labAccounts/*/read\",\"Microsoft.LabServices/labAccounts/createLab/action\",\"Microsoft.LabServices/labAccounts/sizes/getRegionalAvailability/action\",\"Microsoft.LabServices/labAccounts/getRegionalAvailability/action\",\"Microsoft.LabServices/labAccounts/getPricingAndAvailability/action\",\"Microsoft.LabServices/labAccounts/getRestrictionsAndUsage/action\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2018-01-18T23:38:58.1036141Z\",\"updatedOn\":\"2020-02-12T23:54:21.0840302Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b97fb8bc-a8b2-4522-a38b-dd33c7e65ead\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"b97fb8bc-a8b2-4522-a38b-dd33c7e65ead\"},{\"properties\":{\"roleName\":\"Log + Analytics Reader\",\"type\":\"BuiltInRole\",\"description\":\"Log Analytics + Reader can view and search all monitoring data as well as and view monitoring + settings, including viewing the configuration of Azure diagnostics on all + Azure resources.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"*/read\",\"Microsoft.OperationalInsights/workspaces/analytics/query/action\",\"Microsoft.OperationalInsights/workspaces/search/action\",\"Microsoft.Support/*\"],\"notActions\":[\"Microsoft.OperationalInsights/workspaces/sharedKeys/read\"],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2017-05-02T00:20:28.1449012Z\",\"updatedOn\":\"2018-01-30T18:08:26.0438523Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/73c42c96-874c-492b-b04d-ab87d138a893\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"73c42c96-874c-492b-b04d-ab87d138a893\"},{\"properties\":{\"roleName\":\"Log + Analytics Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Log Analytics + Contributor can read all monitoring data and edit monitoring settings. Editing + monitoring settings includes adding the VM extension to VMs; reading storage + account keys to be able to configure collection of logs from Azure Storage; + creating and configuring Automation accounts; adding solutions; and configuring + Azure diagnostics on all Azure resources.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"*/read\",\"Microsoft.Automation/automationAccounts/*\",\"Microsoft.ClassicCompute/virtualMachines/extensions/*\",\"Microsoft.ClassicStorage/storageAccounts/listKeys/action\",\"Microsoft.Compute/virtualMachines/extensions/*\",\"Microsoft.HybridCompute/machines/extensions/write\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Insights/diagnosticSettings/*\",\"Microsoft.OperationalInsights/*\",\"Microsoft.OperationsManagement/*\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourcegroups/deployments/*\",\"Microsoft.Storage/storageAccounts/listKeys/action\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2017-04-25T21:51:45.3174711Z\",\"updatedOn\":\"2020-03-26T22:57:55.3667830Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/92aaf0da-9dab-42b6-94a3-d43ce8d16293\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"92aaf0da-9dab-42b6-94a3-d43ce8d16293\"},{\"properties\":{\"roleName\":\"Logic + App Operator\",\"type\":\"BuiltInRole\",\"description\":\"Lets you read, enable + and disable logic app.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*/read\",\"Microsoft.Insights/metricAlerts/*/read\",\"Microsoft.Insights/diagnosticSettings/*/read\",\"Microsoft.Insights/metricDefinitions/*/read\",\"Microsoft.Logic/*/read\",\"Microsoft.Logic/workflows/disable/action\",\"Microsoft.Logic/workflows/enable/action\",\"Microsoft.Logic/workflows/validate/action\",\"Microsoft.Resources/deployments/operations/read\",\"Microsoft.Resources/subscriptions/operationresults/read\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\",\"Microsoft.Web/connectionGateways/*/read\",\"Microsoft.Web/connections/*/read\",\"Microsoft.Web/customApis/*/read\",\"Microsoft.Web/serverFarms/read\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2016-04-28T21:33:30.4656007Z\",\"updatedOn\":\"2019-10-15T04:28:56.3265986Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/515c2055-d9d4-4321-b1b9-bd0c9a0f79fe\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"515c2055-d9d4-4321-b1b9-bd0c9a0f79fe\"},{\"properties\":{\"roleName\":\"Logic + App Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Lets you manage + logic app, but not access to them.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.ClassicStorage/storageAccounts/listKeys/action\",\"Microsoft.ClassicStorage/storageAccounts/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Insights/metricAlerts/*\",\"Microsoft.Insights/diagnosticSettings/*\",\"Microsoft.Insights/logdefinitions/*\",\"Microsoft.Insights/metricDefinitions/*\",\"Microsoft.Logic/*\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/operationresults/read\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Storage/storageAccounts/listkeys/action\",\"Microsoft.Storage/storageAccounts/read\",\"Microsoft.Support/*\",\"Microsoft.Web/connectionGateways/*\",\"Microsoft.Web/connections/*\",\"Microsoft.Web/customApis/*\",\"Microsoft.Web/serverFarms/join/action\",\"Microsoft.Web/serverFarms/read\",\"Microsoft.Web/sites/functions/listSecrets/action\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2016-04-28T21:33:30.4656007Z\",\"updatedOn\":\"2019-10-15T04:31:27.7685427Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/87a39d53-fc1b-424a-814c-f7e04687dc9e\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"87a39d53-fc1b-424a-814c-f7e04687dc9e\"},{\"properties\":{\"roleName\":\"Managed + Application Operator Role\",\"type\":\"BuiltInRole\",\"description\":\"Lets + you read and perform actions on Managed Application resources\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"*/read\",\"Microsoft.Solutions/applications/read\",\"Microsoft.Solutions/*/action\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2018-07-27T00:59:33.7988813Z\",\"updatedOn\":\"2019-02-20T01:09:55.1593079Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/c7393b34-138c-406f-901b-d8cf2b17e6ae\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"c7393b34-138c-406f-901b-d8cf2b17e6ae\"},{\"properties\":{\"roleName\":\"Managed + Applications Reader\",\"type\":\"BuiltInRole\",\"description\":\"Lets you + read resources in a managed app and request JIT access.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"*/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Solutions/jitRequests/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2018-09-06T00:33:58.3651522Z\",\"updatedOn\":\"2018-09-06T00:33:58.3651522Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b9331d33-8a36-4f8c-b097-4f54124fdb44\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"b9331d33-8a36-4f8c-b097-4f54124fdb44\"},{\"properties\":{\"roleName\":\"Managed + Identity Operator\",\"type\":\"BuiltInRole\",\"description\":\"Read and Assign + User Assigned Identity\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.ManagedIdentity/userAssignedIdentities/*/read\",\"Microsoft.ManagedIdentity/userAssignedIdentities/*/assign/action\",\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2017-12-14T19:52:04.3924594Z\",\"updatedOn\":\"2017-12-14T22:16:00.1483256Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/f1a07417-d97a-45cb-824c-7a7467783830\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"f1a07417-d97a-45cb-824c-7a7467783830\"},{\"properties\":{\"roleName\":\"Managed + Identity Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Create, + Read, Update, and Delete User Assigned Identity\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.ManagedIdentity/userAssignedIdentities/read\",\"Microsoft.ManagedIdentity/userAssignedIdentities/write\",\"Microsoft.ManagedIdentity/userAssignedIdentities/delete\",\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2017-12-14T19:53:42.8804692Z\",\"updatedOn\":\"2019-06-20T21:51:27.0850433Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/e40ec5ca-96e0-45a2-b4ff-59039f2c2b59\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"e40ec5ca-96e0-45a2-b4ff-59039f2c2b59\"},{\"properties\":{\"roleName\":\"Management + Group Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Management + Group Contributor Role\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Management/managementGroups/delete\",\"Microsoft.Management/managementGroups/read\",\"Microsoft.Management/managementGroups/subscriptions/delete\",\"Microsoft.Management/managementGroups/subscriptions/write\",\"Microsoft.Management/managementGroups/write\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2018-06-22T00:28:29.0523964Z\",\"updatedOn\":\"2018-07-10T20:51:26.6132189Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/5d58bcaf-24a5-4b20-bdb6-eed9f69fbe4c\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"5d58bcaf-24a5-4b20-bdb6-eed9f69fbe4c\"},{\"properties\":{\"roleName\":\"Management + Group Reader\",\"type\":\"BuiltInRole\",\"description\":\"Management Group + Reader Role\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Management/managementGroups/read\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2018-06-22T00:31:03.4295347Z\",\"updatedOn\":\"2018-07-10T20:49:42.5630340Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/ac63b705-f282-497d-ac71-919bf39d939d\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"ac63b705-f282-497d-ac71-919bf39d939d\"},{\"properties\":{\"roleName\":\"Monitoring + Metrics Publisher\",\"type\":\"BuiltInRole\",\"description\":\"Enables publishing + metrics against Azure resources\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Insights/Register/Action\",\"Microsoft.Support/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\"],\"notActions\":[],\"dataActions\":[\"Microsoft.Insights/Metrics/Write\"],\"notDataActions\":[]}],\"createdOn\":\"2018-08-14T00:36:16.5610279Z\",\"updatedOn\":\"2018-08-14T00:37:18.1465065Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/3913510d-42f4-4e42-8a64-420c390055eb\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"3913510d-42f4-4e42-8a64-420c390055eb\"},{\"properties\":{\"roleName\":\"Monitoring + Reader\",\"type\":\"BuiltInRole\",\"description\":\"Can read all monitoring + data.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"*/read\",\"Microsoft.OperationalInsights/workspaces/search/action\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2016-09-21T19:19:52.4939376Z\",\"updatedOn\":\"2018-01-30T18:08:27.2626250Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/43d0d8ad-25c7-4714-9337-8ba259a9fe05\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"43d0d8ad-25c7-4714-9337-8ba259a9fe05\"},{\"properties\":{\"roleName\":\"Network + Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Lets you manage networks, + but not access to them.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Network/*\",\"Microsoft.ResourceHealth/availabilityStatuses/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2015-06-02T00:18:27.3542698Z\",\"updatedOn\":\"2016-05-31T23:14:00.3326359Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"4d97b98b-1d4f-4787-a291-c67834d212e7\"},{\"properties\":{\"roleName\":\"Monitoring + Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Can read all monitoring + data and update monitoring settings.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"*/read\",\"Microsoft.AlertsManagement/alerts/*\",\"Microsoft.AlertsManagement/alertsSummary/*\",\"Microsoft.Insights/actiongroups/*\",\"Microsoft.Insights/activityLogAlerts/*\",\"Microsoft.Insights/AlertRules/*\",\"Microsoft.Insights/components/*\",\"Microsoft.Insights/DiagnosticSettings/*\",\"Microsoft.Insights/eventtypes/*\",\"Microsoft.Insights/LogDefinitions/*\",\"Microsoft.Insights/metricalerts/*\",\"Microsoft.Insights/MetricDefinitions/*\",\"Microsoft.Insights/Metrics/*\",\"Microsoft.Insights/Register/Action\",\"Microsoft.Insights/scheduledqueryrules/*\",\"Microsoft.Insights/webtests/*\",\"Microsoft.Insights/workbooks/*\",\"Microsoft.Insights/privateLinkScopes/*\",\"Microsoft.Insights/privateLinkScopeOperationStatuses/*\",\"Microsoft.OperationalInsights/workspaces/write\",\"Microsoft.OperationalInsights/workspaces/intelligencepacks/*\",\"Microsoft.OperationalInsights/workspaces/savedSearches/*\",\"Microsoft.OperationalInsights/workspaces/search/action\",\"Microsoft.OperationalInsights/workspaces/sharedKeys/action\",\"Microsoft.OperationalInsights/workspaces/storageinsightconfigs/*\",\"Microsoft.Support/*\",\"Microsoft.WorkloadMonitor/monitors/*\",\"Microsoft.WorkloadMonitor/notificationSettings/*\",\"Microsoft.AlertsManagement/smartDetectorAlertRules/*\",\"Microsoft.AlertsManagement/actionRules/*\",\"Microsoft.AlertsManagement/smartGroups/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2016-09-21T19:21:08.4345976Z\",\"updatedOn\":\"2020-04-19T16:03:16.7692305Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/749f88d5-cbae-40b8-bcfc-e573ddc772fa\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"749f88d5-cbae-40b8-bcfc-e573ddc772fa\"},{\"properties\":{\"roleName\":\"New + Relic APM Account Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Lets + you manage New Relic Application Performance Management accounts and applications, + but not access to them.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.ResourceHealth/availabilityStatuses/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\",\"NewRelic.APM/accounts/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2015-02-02T21:55:09.8806423Z\",\"updatedOn\":\"2019-02-05T20:42:16.2033878Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/5d28c62d-5b37-4476-8438-e587778df237\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"5d28c62d-5b37-4476-8438-e587778df237\"},{\"properties\":{\"roleName\":\"Owner\",\"type\":\"BuiltInRole\",\"description\":\"Lets + you manage everything, including access to resources.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2015-02-02T21:55:09.8806423Z\",\"updatedOn\":\"2019-02-05T21:24:32.2101122Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"8e3af657-a8ff-443c-a75c-2fe8c4bcb635\"},{\"properties\":{\"roleName\":\"Reader\",\"type\":\"BuiltInRole\",\"description\":\"Lets + you view everything, but not make any changes.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"*/read\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2015-02-02T21:55:09.8806423Z\",\"updatedOn\":\"2019-02-05T21:24:35.7424745Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"acdd72a7-3385-48ef-bd42-f606fba81ae7\"},{\"properties\":{\"roleName\":\"Redis + Cache Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Lets you manage + Redis caches, but not access to them.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Cache/redis/*\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.ResourceHealth/availabilityStatuses/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2015-02-02T21:55:09.8806423Z\",\"updatedOn\":\"2019-02-05T21:24:48.2353169Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/e0f68234-74aa-48ed-b826-c38b57376e17\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"e0f68234-74aa-48ed-b826-c38b57376e17\"},{\"properties\":{\"roleName\":\"Reader + and Data Access\",\"type\":\"BuiltInRole\",\"description\":\"Lets you view + everything but will not let you delete or create a storage account or contained + resource. It will also allow read/write access to all data contained in a + storage account via access to storage account keys.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Storage/storageAccounts/listKeys/action\",\"Microsoft.Storage/storageAccounts/ListAccountSas/action\",\"Microsoft.Storage/storageAccounts/read\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2018-03-27T23:20:46.1498906Z\",\"updatedOn\":\"2019-04-04T23:41:26.1056261Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/c12c1c16-33a1-487b-954d-41c89c60f349\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"c12c1c16-33a1-487b-954d-41c89c60f349\"},{\"properties\":{\"roleName\":\"Resource + Policy Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Users with + rights to create/modify resource policy, create support ticket and read resources/hierarchy.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"*/read\",\"Microsoft.Authorization/policyassignments/*\",\"Microsoft.Authorization/policydefinitions/*\",\"Microsoft.Authorization/policysetdefinitions/*\",\"Microsoft.PolicyInsights/*\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2017-08-25T19:08:01.3861639Z\",\"updatedOn\":\"2019-11-20T20:26:12.8811365Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/36243c78-bf99-498c-9df9-86d9f8d28608\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"36243c78-bf99-498c-9df9-86d9f8d28608\"},{\"properties\":{\"roleName\":\"Scheduler + Job Collections Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Lets + you manage Scheduler job collections, but not access to them.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.ResourceHealth/availabilityStatuses/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Scheduler/jobcollections/*\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2015-02-02T21:55:09.8806423Z\",\"updatedOn\":\"2019-02-05T20:42:24.8360756Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/188a0f2f-5c9e-469b-ae67-2aa5ce574b94\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"188a0f2f-5c9e-469b-ae67-2aa5ce574b94\"},{\"properties\":{\"roleName\":\"Search + Service Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Lets you + manage Search services, but not access to them.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.ResourceHealth/availabilityStatuses/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Search/searchServices/*\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2015-02-02T21:55:09.8806423Z\",\"updatedOn\":\"2019-02-05T20:42:21.8687229Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/7ca78c08-252a-4471-8644-bb5ff32d4ba0\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"7ca78c08-252a-4471-8644-bb5ff32d4ba0\"},{\"properties\":{\"roleName\":\"Security + Admin\",\"type\":\"BuiltInRole\",\"description\":\"Security Admin Role\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Authorization/policyAssignments/*\",\"Microsoft.Authorization/policyDefinitions/*\",\"Microsoft.Authorization/policySetDefinitions/*\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Management/managementGroups/read\",\"Microsoft.operationalInsights/workspaces/*/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Security/*\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2017-05-03T07:51:23.0917487Z\",\"updatedOn\":\"2019-03-12T21:12:48.6350160Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/fb1c8493-542b-48eb-b624-b4c8fea62acd\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"fb1c8493-542b-48eb-b624-b4c8fea62acd\"},{\"properties\":{\"roleName\":\"Security + Manager (Legacy)\",\"type\":\"BuiltInRole\",\"description\":\"This is a legacy + role. Please use Security Administrator instead\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.ClassicCompute/*/read\",\"Microsoft.ClassicCompute/virtualMachines/*/write\",\"Microsoft.ClassicNetwork/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.ResourceHealth/availabilityStatuses/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Security/*\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2015-06-22T17:45:15.8986455Z\",\"updatedOn\":\"2018-03-08T18:18:48.6183620Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/e3d13bf0-dd5a-482e-ba6b-9b8433878d10\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"e3d13bf0-dd5a-482e-ba6b-9b8433878d10\"},{\"properties\":{\"roleName\":\"Security + Reader\",\"type\":\"BuiltInRole\",\"description\":\"Security Reader Role\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.operationalInsights/workspaces/*/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Security/*/read\",\"Microsoft.Support/*\",\"Microsoft.Management/managementGroups/read\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2017-05-03T07:48:49.0516559Z\",\"updatedOn\":\"2018-06-28T17:27:23.1065610Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/39bc4728-0917-49c7-9d2c-d95423bc2eb4\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"39bc4728-0917-49c7-9d2c-d95423bc2eb4\"},{\"properties\":{\"roleName\":\"Spatial + Anchors Account Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Lets + you manage spatial anchors in your account, but not delete them\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.MixedReality/SpatialAnchorsAccounts/create/action\",\"Microsoft.MixedReality/SpatialAnchorsAccounts/discovery/read\",\"Microsoft.MixedReality/SpatialAnchorsAccounts/properties/read\",\"Microsoft.MixedReality/SpatialAnchorsAccounts/query/read\",\"Microsoft.MixedReality/SpatialAnchorsAccounts/submitdiag/read\",\"Microsoft.MixedReality/SpatialAnchorsAccounts/write\"],\"notDataActions\":[]}],\"createdOn\":\"2018-12-21T17:57:41.1420864Z\",\"updatedOn\":\"2019-02-13T06:13:39.8686435Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8bbe83f1-e2a6-4df7-8cb4-4e04d4e5c827\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"8bbe83f1-e2a6-4df7-8cb4-4e04d4e5c827\"},{\"properties\":{\"roleName\":\"Site + Recovery Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Lets you + manage Site Recovery service except vault creation and role assignment\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Network/virtualNetworks/read\",\"Microsoft.RecoveryServices/locations/allocatedStamp/read\",\"Microsoft.RecoveryServices/locations/allocateStamp/action\",\"Microsoft.RecoveryServices/Vaults/certificates/write\",\"Microsoft.RecoveryServices/Vaults/extendedInformation/*\",\"Microsoft.RecoveryServices/Vaults/read\",\"Microsoft.RecoveryServices/Vaults/refreshContainers/read\",\"Microsoft.RecoveryServices/Vaults/registeredIdentities/*\",\"Microsoft.RecoveryServices/vaults/replicationAlertSettings/*\",\"Microsoft.RecoveryServices/vaults/replicationEvents/read\",\"Microsoft.RecoveryServices/vaults/replicationFabrics/*\",\"Microsoft.RecoveryServices/vaults/replicationJobs/*\",\"Microsoft.RecoveryServices/vaults/replicationPolicies/*\",\"Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/*\",\"Microsoft.RecoveryServices/Vaults/storageConfig/*\",\"Microsoft.RecoveryServices/Vaults/tokenInfo/read\",\"Microsoft.RecoveryServices/Vaults/usages/read\",\"Microsoft.RecoveryServices/Vaults/vaultTokens/read\",\"Microsoft.RecoveryServices/Vaults/monitoringAlerts/*\",\"Microsoft.RecoveryServices/Vaults/monitoringConfigurations/notificationConfiguration/read\",\"Microsoft.ResourceHealth/availabilityStatuses/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Storage/storageAccounts/read\",\"Microsoft.RecoveryServices/vaults/replicationOperationStatus/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2017-05-19T13:46:17.4592776Z\",\"updatedOn\":\"2019-11-07T06:13:49.0760858Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/6670b86e-a3f7-4917-ac9b-5d6ab1be4567\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"6670b86e-a3f7-4917-ac9b-5d6ab1be4567\"},{\"properties\":{\"roleName\":\"Site + Recovery Operator\",\"type\":\"BuiltInRole\",\"description\":\"Lets you failover + and failback but not perform other Site Recovery management operations\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Network/virtualNetworks/read\",\"Microsoft.RecoveryServices/locations/allocatedStamp/read\",\"Microsoft.RecoveryServices/locations/allocateStamp/action\",\"Microsoft.RecoveryServices/Vaults/extendedInformation/read\",\"Microsoft.RecoveryServices/Vaults/read\",\"Microsoft.RecoveryServices/Vaults/refreshContainers/read\",\"Microsoft.RecoveryServices/Vaults/registeredIdentities/operationResults/read\",\"Microsoft.RecoveryServices/Vaults/registeredIdentities/read\",\"Microsoft.RecoveryServices/vaults/replicationAlertSettings/read\",\"Microsoft.RecoveryServices/vaults/replicationEvents/read\",\"Microsoft.RecoveryServices/vaults/replicationFabrics/checkConsistency/action\",\"Microsoft.RecoveryServices/vaults/replicationFabrics/read\",\"Microsoft.RecoveryServices/vaults/replicationFabrics/reassociateGateway/action\",\"Microsoft.RecoveryServices/vaults/replicationFabrics/renewcertificate/action\",\"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks/read\",\"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks/replicationNetworkMappings/read\",\"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/read\",\"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectableItems/read\",\"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/applyRecoveryPoint/action\",\"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/failoverCommit/action\",\"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/plannedFailover/action\",\"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/read\",\"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/recoveryPoints/read\",\"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/repairReplication/action\",\"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/reProtect/action\",\"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/switchprotection/action\",\"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/testFailover/action\",\"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/testFailoverCleanup/action\",\"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/unplannedFailover/action\",\"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/updateMobilityService/action\",\"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings/read\",\"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationRecoveryServicesProviders/read\",\"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationRecoveryServicesProviders/refreshProvider/action\",\"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications/read\",\"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications/replicationStorageClassificationMappings/read\",\"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationvCenters/read\",\"Microsoft.RecoveryServices/vaults/replicationJobs/*\",\"Microsoft.RecoveryServices/vaults/replicationPolicies/read\",\"Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/failoverCommit/action\",\"Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/plannedFailover/action\",\"Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/read\",\"Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/reProtect/action\",\"Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/testFailover/action\",\"Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/testFailoverCleanup/action\",\"Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/unplannedFailover/action\",\"Microsoft.RecoveryServices/Vaults/monitoringAlerts/*\",\"Microsoft.RecoveryServices/Vaults/monitoringConfigurations/notificationConfiguration/read\",\"Microsoft.RecoveryServices/Vaults/storageConfig/read\",\"Microsoft.RecoveryServices/Vaults/tokenInfo/read\",\"Microsoft.RecoveryServices/Vaults/usages/read\",\"Microsoft.RecoveryServices/Vaults/vaultTokens/read\",\"Microsoft.ResourceHealth/availabilityStatuses/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Storage/storageAccounts/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2017-05-19T13:47:50.1341148Z\",\"updatedOn\":\"2019-08-28T12:00:57.4472826Z\",\"createdBy\":null,\"updatedBy\":\"\"},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/494ae006-db33-4328-bf46-533a6560a3ca\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"494ae006-db33-4328-bf46-533a6560a3ca\"},{\"properties\":{\"roleName\":\"Spatial + Anchors Account Reader\",\"type\":\"BuiltInRole\",\"description\":\"Lets you + locate and read properties of spatial anchors in your account\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.MixedReality/SpatialAnchorsAccounts/discovery/read\",\"Microsoft.MixedReality/SpatialAnchorsAccounts/properties/read\",\"Microsoft.MixedReality/SpatialAnchorsAccounts/query/read\",\"Microsoft.MixedReality/SpatialAnchorsAccounts/submitdiag/read\"],\"notDataActions\":[]}],\"createdOn\":\"2018-12-21T17:57:42.9271004Z\",\"updatedOn\":\"2019-02-13T06:16:15.3170663Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/5d51204f-eb77-4b1c-b86a-2ec626c49413\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"5d51204f-eb77-4b1c-b86a-2ec626c49413\"},{\"properties\":{\"roleName\":\"Site + Recovery Reader\",\"type\":\"BuiltInRole\",\"description\":\"Lets you view + Site Recovery status but not perform other management operations\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.RecoveryServices/locations/allocatedStamp/read\",\"Microsoft.RecoveryServices/Vaults/extendedInformation/read\",\"Microsoft.RecoveryServices/Vaults/monitoringAlerts/read\",\"Microsoft.RecoveryServices/Vaults/monitoringConfigurations/notificationConfiguration/read\",\"Microsoft.RecoveryServices/Vaults/read\",\"Microsoft.RecoveryServices/Vaults/refreshContainers/read\",\"Microsoft.RecoveryServices/Vaults/registeredIdentities/operationResults/read\",\"Microsoft.RecoveryServices/Vaults/registeredIdentities/read\",\"Microsoft.RecoveryServices/vaults/replicationAlertSettings/read\",\"Microsoft.RecoveryServices/vaults/replicationEvents/read\",\"Microsoft.RecoveryServices/vaults/replicationFabrics/read\",\"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks/read\",\"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks/replicationNetworkMappings/read\",\"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/read\",\"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectableItems/read\",\"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/read\",\"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/recoveryPoints/read\",\"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings/read\",\"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationRecoveryServicesProviders/read\",\"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications/read\",\"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications/replicationStorageClassificationMappings/read\",\"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationvCenters/read\",\"Microsoft.RecoveryServices/vaults/replicationJobs/read\",\"Microsoft.RecoveryServices/vaults/replicationPolicies/read\",\"Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/read\",\"Microsoft.RecoveryServices/Vaults/storageConfig/read\",\"Microsoft.RecoveryServices/Vaults/tokenInfo/read\",\"Microsoft.RecoveryServices/Vaults/usages/read\",\"Microsoft.RecoveryServices/Vaults/vaultTokens/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2017-05-19T13:35:40.0093634Z\",\"updatedOn\":\"2017-05-26T19:54:51.3933250Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/dbaa88c4-0c30-4179-9fb3-46319faa6149\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"dbaa88c4-0c30-4179-9fb3-46319faa6149\"},{\"properties\":{\"roleName\":\"Spatial + Anchors Account Owner\",\"type\":\"BuiltInRole\",\"description\":\"Lets you + manage spatial anchors in your account, including deleting them\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.MixedReality/SpatialAnchorsAccounts/create/action\",\"Microsoft.MixedReality/SpatialAnchorsAccounts/delete\",\"Microsoft.MixedReality/SpatialAnchorsAccounts/discovery/read\",\"Microsoft.MixedReality/SpatialAnchorsAccounts/properties/read\",\"Microsoft.MixedReality/SpatialAnchorsAccounts/query/read\",\"Microsoft.MixedReality/SpatialAnchorsAccounts/submitdiag/read\",\"Microsoft.MixedReality/SpatialAnchorsAccounts/write\"],\"notDataActions\":[]}],\"createdOn\":\"2018-12-21T17:57:43.5489832Z\",\"updatedOn\":\"2019-02-13T06:15:31.8572222Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/70bbe301-9835-447d-afdd-19eb3167307c\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"70bbe301-9835-447d-afdd-19eb3167307c\"},{\"properties\":{\"roleName\":\"SQL + Managed Instance Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Lets + you manage SQL Managed Instances and required network configuration, but can\u2019t + give access to others.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.ResourceHealth/availabilityStatuses/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Network/networkSecurityGroups/*\",\"Microsoft.Network/routeTables/*\",\"Microsoft.Sql/locations/*/read\",\"Microsoft.Sql/managedInstances/*\",\"Microsoft.Support/*\",\"Microsoft.Network/virtualNetworks/subnets/*\",\"Microsoft.Network/virtualNetworks/*\",\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Insights/metrics/read\",\"Microsoft.Insights/metricDefinitions/read\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2018-12-10T22:57:14.2937983Z\",\"updatedOn\":\"2019-04-25T17:59:01.7432149Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4939a1f6-9ae0-4e48-a1e0-f2cbe897382d\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"4939a1f6-9ae0-4e48-a1e0-f2cbe897382d\"},{\"properties\":{\"roleName\":\"SQL + DB Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Lets you manage + SQL databases, but not access to them. Also, you can't manage their security-related + policies or their parent SQL servers.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.ResourceHealth/availabilityStatuses/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Sql/locations/*/read\",\"Microsoft.Sql/servers/databases/*\",\"Microsoft.Sql/servers/read\",\"Microsoft.Support/*\",\"Microsoft.Insights/metrics/read\",\"Microsoft.Insights/metricDefinitions/read\"],\"notActions\":[\"Microsoft.Sql/managedInstances/databases/currentSensitivityLabels/*\",\"Microsoft.Sql/managedInstances/databases/recommendedSensitivityLabels/*\",\"Microsoft.Sql/managedInstances/databases/schemas/tables/columns/sensitivityLabels/*\",\"Microsoft.Sql/managedInstances/databases/securityAlertPolicies/*\",\"Microsoft.Sql/managedInstances/databases/sensitivityLabels/*\",\"Microsoft.Sql/managedInstances/databases/vulnerabilityAssessments/*\",\"Microsoft.Sql/managedInstances/securityAlertPolicies/*\",\"Microsoft.Sql/managedInstances/vulnerabilityAssessments/*\",\"Microsoft.Sql/servers/databases/auditingPolicies/*\",\"Microsoft.Sql/servers/databases/auditingSettings/*\",\"Microsoft.Sql/servers/databases/auditRecords/read\",\"Microsoft.Sql/servers/databases/connectionPolicies/*\",\"Microsoft.Sql/servers/databases/currentSensitivityLabels/*\",\"Microsoft.Sql/servers/databases/dataMaskingPolicies/*\",\"Microsoft.Sql/servers/databases/extendedAuditingSettings/*\",\"Microsoft.Sql/servers/databases/recommendedSensitivityLabels/*\",\"Microsoft.Sql/servers/databases/schemas/tables/columns/sensitivityLabels/*\",\"Microsoft.Sql/servers/databases/securityAlertPolicies/*\",\"Microsoft.Sql/servers/databases/securityMetrics/*\",\"Microsoft.Sql/servers/databases/sensitivityLabels/*\",\"Microsoft.Sql/servers/databases/vulnerabilityAssessments/*\",\"Microsoft.Sql/servers/databases/vulnerabilityAssessmentScans/*\",\"Microsoft.Sql/servers/databases/vulnerabilityAssessmentSettings/*\",\"Microsoft.Sql/servers/vulnerabilityAssessments/*\"],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2015-02-02T21:55:09.8806423Z\",\"updatedOn\":\"2019-02-28T22:44:35.8649670Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/9b7fa17d-e63e-47b0-bb0a-15c516ac86ec\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"9b7fa17d-e63e-47b0-bb0a-15c516ac86ec\"},{\"properties\":{\"roleName\":\"SQL + Security Manager\",\"type\":\"BuiltInRole\",\"description\":\"Lets you manage + the security-related policies of SQL servers and databases, but not access + to them.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Network/virtualNetworks/subnets/joinViaServiceEndpoint/action\",\"Microsoft.ResourceHealth/availabilityStatuses/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Sql/managedInstances/databases/currentSensitivityLabels/*\",\"Microsoft.Sql/managedInstances/databases/recommendedSensitivityLabels/*\",\"Microsoft.Sql/managedInstances/databases/schemas/tables/columns/sensitivityLabels/*\",\"Microsoft.Sql/managedInstances/databases/securityAlertPolicies/*\",\"Microsoft.Sql/managedInstances/databases/sensitivityLabels/*\",\"Microsoft.Sql/managedInstances/databases/vulnerabilityAssessments/*\",\"Microsoft.Sql/managedInstances/securityAlertPolicies/*\",\"Microsoft.Sql/managedInstances/databases/transparentDataEncryption/*\",\"Microsoft.Sql/managedInstances/vulnerabilityAssessments/*\",\"Microsoft.Sql/servers/auditingPolicies/*\",\"Microsoft.Sql/servers/auditingSettings/*\",\"Microsoft.Sql/servers/extendedAuditingSettings/read\",\"Microsoft.Sql/servers/databases/auditingPolicies/*\",\"Microsoft.Sql/servers/databases/auditingSettings/*\",\"Microsoft.Sql/servers/databases/auditRecords/read\",\"Microsoft.Sql/servers/databases/connectionPolicies/*\",\"Microsoft.Sql/servers/databases/currentSensitivityLabels/*\",\"Microsoft.Sql/servers/databases/dataMaskingPolicies/*\",\"Microsoft.Sql/servers/databases/extendedAuditingSettings/read\",\"Microsoft.Sql/servers/databases/read\",\"Microsoft.Sql/servers/databases/recommendedSensitivityLabels/*\",\"Microsoft.Sql/servers/databases/schemas/read\",\"Microsoft.Sql/servers/databases/schemas/tables/columns/read\",\"Microsoft.Sql/servers/databases/schemas/tables/columns/sensitivityLabels/*\",\"Microsoft.Sql/servers/databases/schemas/tables/read\",\"Microsoft.Sql/servers/databases/securityAlertPolicies/*\",\"Microsoft.Sql/servers/databases/securityMetrics/*\",\"Microsoft.Sql/servers/databases/sensitivityLabels/*\",\"Microsoft.Sql/servers/databases/transparentDataEncryption/*\",\"Microsoft.Sql/servers/databases/vulnerabilityAssessments/*\",\"Microsoft.Sql/servers/databases/vulnerabilityAssessmentScans/*\",\"Microsoft.Sql/servers/databases/vulnerabilityAssessmentSettings/*\",\"Microsoft.Sql/servers/firewallRules/*\",\"Microsoft.Sql/servers/read\",\"Microsoft.Sql/servers/securityAlertPolicies/*\",\"Microsoft.Sql/servers/vulnerabilityAssessments/*\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2015-06-16T18:44:40.4607572Z\",\"updatedOn\":\"2019-08-08T22:58:22.2532171Z\",\"createdBy\":null,\"updatedBy\":\"yaiyun\"},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/056cd41c-7e88-42e1-933e-88ba6a50c9c3\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"056cd41c-7e88-42e1-933e-88ba6a50c9c3\"},{\"properties\":{\"roleName\":\"Storage + Account Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Lets you + manage storage accounts, including accessing storage account keys which provide + full access to storage account data.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Insights/diagnosticSettings/*\",\"Microsoft.Network/virtualNetworks/subnets/joinViaServiceEndpoint/action\",\"Microsoft.ResourceHealth/availabilityStatuses/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Storage/storageAccounts/*\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2015-06-02T00:18:27.3542698Z\",\"updatedOn\":\"2019-05-29T20:56:33.9582501Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/17d1049b-9a84-46fb-8f53-869881c3d3ab\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"17d1049b-9a84-46fb-8f53-869881c3d3ab\"},{\"properties\":{\"roleName\":\"SQL + Server Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Lets you manage + SQL servers and databases, but not access to them, and not their security + -related policies.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.ResourceHealth/availabilityStatuses/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Sql/locations/*/read\",\"Microsoft.Sql/servers/*\",\"Microsoft.Support/*\",\"Microsoft.Insights/metrics/read\",\"Microsoft.Insights/metricDefinitions/read\"],\"notActions\":[\"Microsoft.Sql/managedInstances/databases/currentSensitivityLabels/*\",\"Microsoft.Sql/managedInstances/databases/recommendedSensitivityLabels/*\",\"Microsoft.Sql/managedInstances/databases/schemas/tables/columns/sensitivityLabels/*\",\"Microsoft.Sql/managedInstances/databases/securityAlertPolicies/*\",\"Microsoft.Sql/managedInstances/databases/sensitivityLabels/*\",\"Microsoft.Sql/managedInstances/databases/vulnerabilityAssessments/*\",\"Microsoft.Sql/managedInstances/securityAlertPolicies/*\",\"Microsoft.Sql/managedInstances/vulnerabilityAssessments/*\",\"Microsoft.Sql/servers/auditingPolicies/*\",\"Microsoft.Sql/servers/auditingSettings/*\",\"Microsoft.Sql/servers/databases/auditingPolicies/*\",\"Microsoft.Sql/servers/databases/auditingSettings/*\",\"Microsoft.Sql/servers/databases/auditRecords/read\",\"Microsoft.Sql/servers/databases/connectionPolicies/*\",\"Microsoft.Sql/servers/databases/currentSensitivityLabels/*\",\"Microsoft.Sql/servers/databases/dataMaskingPolicies/*\",\"Microsoft.Sql/servers/databases/extendedAuditingSettings/*\",\"Microsoft.Sql/servers/databases/recommendedSensitivityLabels/*\",\"Microsoft.Sql/servers/databases/schemas/tables/columns/sensitivityLabels/*\",\"Microsoft.Sql/servers/databases/securityAlertPolicies/*\",\"Microsoft.Sql/servers/databases/securityMetrics/*\",\"Microsoft.Sql/servers/databases/sensitivityLabels/*\",\"Microsoft.Sql/servers/databases/vulnerabilityAssessments/*\",\"Microsoft.Sql/servers/databases/vulnerabilityAssessmentScans/*\",\"Microsoft.Sql/servers/databases/vulnerabilityAssessmentSettings/*\",\"Microsoft.Sql/servers/extendedAuditingSettings/*\",\"Microsoft.Sql/servers/securityAlertPolicies/*\",\"Microsoft.Sql/servers/vulnerabilityAssessments/*\"],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2015-02-02T21:55:09.8806423Z\",\"updatedOn\":\"2019-02-28T22:44:36.5466043Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/6d8ee4ec-f05a-4a1d-8b00-a9b17e38b437\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"6d8ee4ec-f05a-4a1d-8b00-a9b17e38b437\"},{\"properties\":{\"roleName\":\"Storage + Account Key Operator Service Role\",\"type\":\"BuiltInRole\",\"description\":\"Storage + Account Key Operators are allowed to list and regenerate keys on Storage Accounts\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Storage/storageAccounts/listkeys/action\",\"Microsoft.Storage/storageAccounts/regeneratekey/action\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2017-04-13T18:26:11.5770570Z\",\"updatedOn\":\"2017-04-13T20:57:14.5990198Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/81a9662b-bebf-436f-a333-f67b29880f12\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"81a9662b-bebf-436f-a333-f67b29880f12\"},{\"properties\":{\"roleName\":\"Storage + Blob Data Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Allows + for read, write and delete access to Azure Storage blob containers and data\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Storage/storageAccounts/blobServices/containers/delete\",\"Microsoft.Storage/storageAccounts/blobServices/containers/read\",\"Microsoft.Storage/storageAccounts/blobServices/containers/write\",\"Microsoft.Storage/storageAccounts/blobServices/generateUserDelegationKey/action\"],\"notActions\":[],\"dataActions\":[\"Microsoft.Storage/storageAccounts/blobServices/containers/blobs/delete\",\"Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read\",\"Microsoft.Storage/storageAccounts/blobServices/containers/blobs/move/action\",\"Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write\"],\"notDataActions\":[]}],\"createdOn\":\"2017-12-21T00:01:24.7972312Z\",\"updatedOn\":\"2020-03-30T22:49:07.8669420Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/ba92f5b4-2d11-453d-a403-e96b0029c9fe\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"ba92f5b4-2d11-453d-a403-e96b0029c9fe\"},{\"properties\":{\"roleName\":\"Storage + Blob Data Owner\",\"type\":\"BuiltInRole\",\"description\":\"Allows for full + access to Azure Storage blob containers and data, including assigning POSIX + access control.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Storage/storageAccounts/blobServices/containers/*\",\"Microsoft.Storage/storageAccounts/blobServices/generateUserDelegationKey/action\"],\"notActions\":[],\"dataActions\":[\"Microsoft.Storage/storageAccounts/blobServices/containers/blobs/*\"],\"notDataActions\":[]}],\"createdOn\":\"2018-12-04T07:02:58.2775257Z\",\"updatedOn\":\"2019-07-16T21:30:33.7002563Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b7e6dc6d-f1e8-4753-8033-0f276bb0955b\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"b7e6dc6d-f1e8-4753-8033-0f276bb0955b\"},{\"properties\":{\"roleName\":\"Storage + Blob Data Reader\",\"type\":\"BuiltInRole\",\"description\":\"Allows for read + access to Azure Storage blob containers and data\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Storage/storageAccounts/blobServices/containers/read\",\"Microsoft.Storage/storageAccounts/blobServices/generateUserDelegationKey/action\"],\"notActions\":[],\"dataActions\":[\"Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read\"],\"notDataActions\":[]}],\"createdOn\":\"2017-12-21T00:01:24.7972312Z\",\"updatedOn\":\"2019-07-15T22:01:25.5409721Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/2a2b9908-6ea1-4ae2-8e65-a410df84e7d1\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"2a2b9908-6ea1-4ae2-8e65-a410df84e7d1\"},{\"properties\":{\"roleName\":\"Storage + Queue Data Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Allows + for read, write, and delete access to Azure Storage queues and queue messages\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Storage/storageAccounts/queueServices/queues/delete\",\"Microsoft.Storage/storageAccounts/queueServices/queues/read\",\"Microsoft.Storage/storageAccounts/queueServices/queues/write\"],\"notActions\":[],\"dataActions\":[\"Microsoft.Storage/storageAccounts/queueServices/queues/messages/delete\",\"Microsoft.Storage/storageAccounts/queueServices/queues/messages/read\",\"Microsoft.Storage/storageAccounts/queueServices/queues/messages/write\"],\"notDataActions\":[]}],\"createdOn\":\"2017-12-21T00:01:24.7972312Z\",\"updatedOn\":\"2019-03-05T21:58:02.7367128Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/974c5e8b-45b9-4653-ba55-5f855dd0fb88\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"974c5e8b-45b9-4653-ba55-5f855dd0fb88\"},{\"properties\":{\"roleName\":\"Storage + Queue Data Message Processor\",\"type\":\"BuiltInRole\",\"description\":\"Allows + for peek, receive, and delete access to Azure Storage queue messages\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.Storage/storageAccounts/queueServices/queues/messages/read\",\"Microsoft.Storage/storageAccounts/queueServices/queues/messages/process/action\"],\"notDataActions\":[]}],\"createdOn\":\"2019-01-28T22:27:04.8947111Z\",\"updatedOn\":\"2019-03-05T22:05:46.1259125Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8a0f0c08-91a1-4084-bc3d-661d67233fed\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"8a0f0c08-91a1-4084-bc3d-661d67233fed\"},{\"properties\":{\"roleName\":\"Storage + Queue Data Message Sender\",\"type\":\"BuiltInRole\",\"description\":\"Allows + for sending of Azure Storage queue messages\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.Storage/storageAccounts/queueServices/queues/messages/add/action\"],\"notDataActions\":[]}],\"createdOn\":\"2019-01-28T22:28:34.7459724Z\",\"updatedOn\":\"2019-03-05T22:11:49.6383892Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/c6a89b2d-59bc-44d0-9896-0f6e12d7b80a\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"c6a89b2d-59bc-44d0-9896-0f6e12d7b80a\"},{\"properties\":{\"roleName\":\"Storage + Queue Data Reader\",\"type\":\"BuiltInRole\",\"description\":\"Allows for + read access to Azure Storage queues and queue messages\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Storage/storageAccounts/queueServices/queues/read\"],\"notActions\":[],\"dataActions\":[\"Microsoft.Storage/storageAccounts/queueServices/queues/messages/read\"],\"notDataActions\":[]}],\"createdOn\":\"2017-12-21T00:01:24.7972312Z\",\"updatedOn\":\"2019-03-05T22:17:32.1779262Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/19e7f393-937e-4f77-808e-94535e297925\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"19e7f393-937e-4f77-808e-94535e297925\"},{\"properties\":{\"roleName\":\"Support + Request Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Lets you + create and manage Support requests\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2017-06-22T22:25:37.8053068Z\",\"updatedOn\":\"2017-06-23T01:06:24.2399631Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/cfd33db0-3dd1-45e3-aa9d-cdbdf3b6f24e\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"cfd33db0-3dd1-45e3-aa9d-cdbdf3b6f24e\"},{\"properties\":{\"roleName\":\"Traffic + Manager Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Lets you + manage Traffic Manager profiles, but does not let you control who has access + to them.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Network/trafficManagerProfiles/*\",\"Microsoft.ResourceHealth/availabilityStatuses/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2015-10-15T23:33:25.9730842Z\",\"updatedOn\":\"2016-05-31T23:13:44.1458854Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/a4b10055-b0c7-44c2-b00f-c7b5b3550cf7\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"a4b10055-b0c7-44c2-b00f-c7b5b3550cf7\"},{\"properties\":{\"roleName\":\"Virtual + Machine Administrator Login\",\"type\":\"BuiltInRole\",\"description\":\"View + Virtual Machines in the portal and login as administrator\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Network/publicIPAddresses/read\",\"Microsoft.Network/virtualNetworks/read\",\"Microsoft.Network/loadBalancers/read\",\"Microsoft.Network/networkInterfaces/read\",\"Microsoft.Compute/virtualMachines/*/read\"],\"notActions\":[],\"dataActions\":[\"Microsoft.Compute/virtualMachines/login/action\",\"Microsoft.Compute/virtualMachines/loginAsAdmin/action\"],\"notDataActions\":[]}],\"createdOn\":\"2018-02-09T18:36:13.3315744Z\",\"updatedOn\":\"2018-05-09T22:17:57.0514548Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/1c0163c0-47e6-4577-8991-ea5c82e286e4\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"1c0163c0-47e6-4577-8991-ea5c82e286e4\"},{\"properties\":{\"roleName\":\"User + Access Administrator\",\"type\":\"BuiltInRole\",\"description\":\"Lets you + manage user access to Azure resources.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"*/read\",\"Microsoft.Authorization/*\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2015-02-02T21:55:09.8806423Z\",\"updatedOn\":\"2019-02-05T21:24:12.6807454Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"18d7d88d-d35e-4fb5-a5c3-7773c20a72d9\"},{\"properties\":{\"roleName\":\"Virtual + Machine User Login\",\"type\":\"BuiltInRole\",\"description\":\"View Virtual + Machines in the portal and login as a regular user.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Network/publicIPAddresses/read\",\"Microsoft.Network/virtualNetworks/read\",\"Microsoft.Network/loadBalancers/read\",\"Microsoft.Network/networkInterfaces/read\",\"Microsoft.Compute/virtualMachines/*/read\"],\"notActions\":[],\"dataActions\":[\"Microsoft.Compute/virtualMachines/login/action\"],\"notDataActions\":[]}],\"createdOn\":\"2018-02-09T18:36:13.3315744Z\",\"updatedOn\":\"2018-05-09T22:18:52.2780979Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/fb879df8-f326-4884-b1cf-06f3ad86be52\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"fb879df8-f326-4884-b1cf-06f3ad86be52\"},{\"properties\":{\"roleName\":\"Virtual + Machine Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Lets you + manage virtual machines, but not access to them, and not the virtual network + or storage account they're connected to.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Compute/availabilitySets/*\",\"Microsoft.Compute/locations/*\",\"Microsoft.Compute/virtualMachines/*\",\"Microsoft.Compute/virtualMachineScaleSets/*\",\"Microsoft.Compute/disks/write\",\"Microsoft.Compute/disks/read\",\"Microsoft.Compute/disks/delete\",\"Microsoft.DevTestLab/schedules/*\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Network/applicationGateways/backendAddressPools/join/action\",\"Microsoft.Network/loadBalancers/backendAddressPools/join/action\",\"Microsoft.Network/loadBalancers/inboundNatPools/join/action\",\"Microsoft.Network/loadBalancers/inboundNatRules/join/action\",\"Microsoft.Network/loadBalancers/probes/join/action\",\"Microsoft.Network/loadBalancers/read\",\"Microsoft.Network/locations/*\",\"Microsoft.Network/networkInterfaces/*\",\"Microsoft.Network/networkSecurityGroups/join/action\",\"Microsoft.Network/networkSecurityGroups/read\",\"Microsoft.Network/publicIPAddresses/join/action\",\"Microsoft.Network/publicIPAddresses/read\",\"Microsoft.Network/virtualNetworks/read\",\"Microsoft.Network/virtualNetworks/subnets/join/action\",\"Microsoft.RecoveryServices/locations/*\",\"Microsoft.RecoveryServices/Vaults/backupFabrics/backupProtectionIntent/write\",\"Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/*/read\",\"Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/read\",\"Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/write\",\"Microsoft.RecoveryServices/Vaults/backupPolicies/read\",\"Microsoft.RecoveryServices/Vaults/backupPolicies/write\",\"Microsoft.RecoveryServices/Vaults/read\",\"Microsoft.RecoveryServices/Vaults/usages/read\",\"Microsoft.RecoveryServices/Vaults/write\",\"Microsoft.ResourceHealth/availabilityStatuses/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.SqlVirtualMachine/*\",\"Microsoft.Storage/storageAccounts/listKeys/action\",\"Microsoft.Storage/storageAccounts/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2015-06-02T00:18:27.3542698Z\",\"updatedOn\":\"2020-02-03T19:38:21.2170228Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/9980e02c-c2be-4d73-94e8-173b1dc7cf3c\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"9980e02c-c2be-4d73-94e8-173b1dc7cf3c\"},{\"properties\":{\"roleName\":\"Web + Plan Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Lets you manage + the web plans for websites, but not access to them.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.ResourceHealth/availabilityStatuses/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\",\"Microsoft.Web/serverFarms/*\",\"Microsoft.Web/hostingEnvironments/Join/Action\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2015-02-02T21:55:09.8806423Z\",\"updatedOn\":\"2019-03-26T18:17:34.5018645Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/2cc479cb-7b4d-49a8-b449-8c00fd0f0a4b\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"2cc479cb-7b4d-49a8-b449-8c00fd0f0a4b\"},{\"properties\":{\"roleName\":\"Website + Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Lets you manage websites + (not web plans), but not access to them.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Insights/components/*\",\"Microsoft.ResourceHealth/availabilityStatuses/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\",\"Microsoft.Web/certificates/*\",\"Microsoft.Web/listSitesAssignedToHostName/read\",\"Microsoft.Web/serverFarms/join/action\",\"Microsoft.Web/serverFarms/read\",\"Microsoft.Web/sites/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2015-05-12T23:10:23.6193952Z\",\"updatedOn\":\"2019-02-05T21:24:46.9407288Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/de139f84-1756-47ae-9be6-808fbbe84772\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"de139f84-1756-47ae-9be6-808fbbe84772\"},{\"properties\":{\"roleName\":\"Azure + Service Bus Data Owner\",\"type\":\"BuiltInRole\",\"description\":\"Allows + for full access to Azure Service Bus resources.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.ServiceBus/*\"],\"notActions\":[],\"dataActions\":[\"Microsoft.ServiceBus/*\"],\"notDataActions\":[]}],\"createdOn\":\"2019-04-16T21:33:36.7445745Z\",\"updatedOn\":\"2019-08-21T22:47:11.3982905Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/090c5cfd-751d-490a-894a-3ce6f1109419\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"090c5cfd-751d-490a-894a-3ce6f1109419\"},{\"properties\":{\"roleName\":\"Azure + Event Hubs Data Owner\",\"type\":\"BuiltInRole\",\"description\":\"Allows + for full access to Azure Event Hubs resources.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.EventHub/*\"],\"notActions\":[],\"dataActions\":[\"Microsoft.EventHub/*\"],\"notDataActions\":[]}],\"createdOn\":\"2019-04-16T21:34:29.8656362Z\",\"updatedOn\":\"2019-08-21T22:58:57.7584645Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/f526a384-b230-433a-b45c-95f59c4a2dec\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"f526a384-b230-433a-b45c-95f59c4a2dec\"},{\"properties\":{\"roleName\":\"Attestation + Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Can read write or + delete the attestation provider instance\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Attestation/attestationProviders/attestation/read\",\"Microsoft.Attestation/attestationProviders/attestation/write\",\"Microsoft.Attestation/attestationProviders/attestation/delete\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2019-04-19T00:24:09.3354177Z\",\"updatedOn\":\"2019-05-10T17:59:06.3448436Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/bbf86eb8-f7b4-4cce-96e4-18cddf81d86e\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"bbf86eb8-f7b4-4cce-96e4-18cddf81d86e\"},{\"properties\":{\"roleName\":\"HDInsight + Cluster Operator\",\"type\":\"BuiltInRole\",\"description\":\"Lets you read + and modify HDInsight cluster configurations.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.HDInsight/*/read\",\"Microsoft.HDInsight/clusters/getGatewaySettings/action\",\"Microsoft.HDInsight/clusters/updateGatewaySettings/action\",\"Microsoft.HDInsight/clusters/configurations/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Resources/deployments/operations/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Authorization/*/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2019-04-20T00:03:01.7110732Z\",\"updatedOn\":\"2019-04-28T02:34:17.4679314Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/61ed4efc-fab3-44fd-b111-e24485cc132a\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"61ed4efc-fab3-44fd-b111-e24485cc132a\"},{\"properties\":{\"roleName\":\"Cosmos + DB Operator\",\"type\":\"BuiltInRole\",\"description\":\"Lets you manage Azure + Cosmos DB accounts, but not access data in them. Prevents access to account + keys and connection strings.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.DocumentDb/databaseAccounts/*\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Authorization/*/read\",\"Microsoft.ResourceHealth/availabilityStatuses/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\",\"Microsoft.Network/virtualNetworks/subnets/joinViaServiceEndpoint/action\"],\"notActions\":[\"Microsoft.DocumentDB/databaseAccounts/readonlyKeys/*\",\"Microsoft.DocumentDB/databaseAccounts/regenerateKey/*\",\"Microsoft.DocumentDB/databaseAccounts/listKeys/*\",\"Microsoft.DocumentDB/databaseAccounts/listConnectionStrings/*\"],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2019-04-26T17:01:17.0169383Z\",\"updatedOn\":\"2019-11-21T01:34:13.3746345Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/230815da-be43-4aae-9cb4-875f7bd000aa\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"230815da-be43-4aae-9cb4-875f7bd000aa\"},{\"properties\":{\"roleName\":\"Hybrid + Server Resource Administrator\",\"type\":\"BuiltInRole\",\"description\":\"Can + read, write, delete, and re-onboard Hybrid servers to the Hybrid Resource + Provider.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.HybridCompute/machines/*\",\"Microsoft.HybridCompute/*/read\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2019-04-29T21:39:32.3132923Z\",\"updatedOn\":\"2019-05-06T20:08:25.3180258Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/48b40c6e-82e0-4eb3-90d5-19e40f49b624\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"48b40c6e-82e0-4eb3-90d5-19e40f49b624\"},{\"properties\":{\"roleName\":\"Hybrid + Server Onboarding\",\"type\":\"BuiltInRole\",\"description\":\"Can onboard + new Hybrid servers to the Hybrid Resource Provider.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.HybridCompute/machines/read\",\"Microsoft.HybridCompute/machines/write\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2019-04-29T22:36:28.1873756Z\",\"updatedOn\":\"2019-05-06T20:09:17.9364269Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/5d1e5ee4-7c68-4a71-ac8b-0739630a3dfb\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"5d1e5ee4-7c68-4a71-ac8b-0739630a3dfb\"},{\"properties\":{\"roleName\":\"Azure + Event Hubs Data Receiver\",\"type\":\"BuiltInRole\",\"description\":\"Allows + receive access to Azure Event Hubs resources.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.EventHub/*/eventhubs/consumergroups/read\"],\"notActions\":[],\"dataActions\":[\"Microsoft.EventHub/*/receive/action\"],\"notDataActions\":[]}],\"createdOn\":\"2019-05-10T06:25:21.1056666Z\",\"updatedOn\":\"2019-08-21T23:00:32.6225396Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/a638d3c7-ab3a-418d-83e6-5f17a39d4fde\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"a638d3c7-ab3a-418d-83e6-5f17a39d4fde\"},{\"properties\":{\"roleName\":\"Azure + Event Hubs Data Sender\",\"type\":\"BuiltInRole\",\"description\":\"Allows + send access to Azure Event Hubs resources.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.EventHub/*/eventhubs/read\"],\"notActions\":[],\"dataActions\":[\"Microsoft.EventHub/*/send/action\"],\"notDataActions\":[]}],\"createdOn\":\"2019-05-10T06:26:12.4673714Z\",\"updatedOn\":\"2019-08-21T23:02:26.6155679Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/2b629674-e913-4c01-ae53-ef4638d8f975\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"2b629674-e913-4c01-ae53-ef4638d8f975\"},{\"properties\":{\"roleName\":\"Azure + Service Bus Data Receiver\",\"type\":\"BuiltInRole\",\"description\":\"Allows + for receive access to Azure Service Bus resources.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.ServiceBus/*/queues/read\",\"Microsoft.ServiceBus/*/topics/read\",\"Microsoft.ServiceBus/*/topics/subscriptions/read\"],\"notActions\":[],\"dataActions\":[\"Microsoft.ServiceBus/*/receive/action\"],\"notDataActions\":[]}],\"createdOn\":\"2019-05-10T06:43:01.6343849Z\",\"updatedOn\":\"2019-08-21T22:55:24.3423558Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4f6d3b9b-027b-4f4c-9142-0e5a2a2247e0\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"4f6d3b9b-027b-4f4c-9142-0e5a2a2247e0\"},{\"properties\":{\"roleName\":\"Azure + Service Bus Data Sender\",\"type\":\"BuiltInRole\",\"description\":\"Allows + for send access to Azure Service Bus resources.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.ServiceBus/*/queues/read\",\"Microsoft.ServiceBus/*/topics/read\",\"Microsoft.ServiceBus/*/topics/subscriptions/read\"],\"notActions\":[],\"dataActions\":[\"Microsoft.ServiceBus/*/send/action\"],\"notDataActions\":[]}],\"createdOn\":\"2019-05-10T06:43:46.7046934Z\",\"updatedOn\":\"2019-08-21T22:57:12.2555683Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/69a216fc-b8fb-44d8-bc22-1f3c2cd27a39\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"69a216fc-b8fb-44d8-bc22-1f3c2cd27a39\"},{\"properties\":{\"roleName\":\"Storage + File Data SMB Share Reader\",\"type\":\"BuiltInRole\",\"description\":\"Allows + for read access to Azure File Share over SMB\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.Storage/storageAccounts/fileServices/fileshares/files/read\"],\"notDataActions\":[]}],\"createdOn\":\"2019-07-01T20:19:31.8620471Z\",\"updatedOn\":\"2019-08-07T01:00:41.9223409Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/aba4ae5f-2193-4029-9191-0cb91df5e314\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"aba4ae5f-2193-4029-9191-0cb91df5e314\"},{\"properties\":{\"roleName\":\"Storage + File Data SMB Share Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Allows + for read, write, and delete access in Azure Storage file shares over SMB\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.Storage/storageAccounts/fileServices/fileshares/files/read\",\"Microsoft.Storage/storageAccounts/fileServices/fileshares/files/write\",\"Microsoft.Storage/storageAccounts/fileServices/fileshares/files/delete\"],\"notDataActions\":[]}],\"createdOn\":\"2019-07-01T20:54:35.4834310Z\",\"updatedOn\":\"2019-08-07T01:05:24.4309872Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/0c867c2a-1d8c-454a-a3db-ab2ea1bdc8bb\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"0c867c2a-1d8c-454a-a3db-ab2ea1bdc8bb\"},{\"properties\":{\"roleName\":\"Private + DNS Zone Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Lets you + manage private DNS zone resources, but not the virtual networks they are linked + to.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Insights/alertRules/*\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\",\"Microsoft.Network/privateDnsZones/*\",\"Microsoft.Network/privateDnsOperationResults/*\",\"Microsoft.Network/privateDnsOperationStatuses/*\",\"Microsoft.Network/virtualNetworks/read\",\"Microsoft.Network/virtualNetworks/join/action\",\"Microsoft.Authorization/*/read\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2019-07-10T19:31:15.5645518Z\",\"updatedOn\":\"2019-07-11T21:12:01.7260648Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b12aa53e-6015-4669-85d0-8515ebb3ae7f\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"b12aa53e-6015-4669-85d0-8515ebb3ae7f\"},{\"properties\":{\"roleName\":\"Storage + Blob Delegator\",\"type\":\"BuiltInRole\",\"description\":\"Allows for generation + of a user delegation key which can be used to sign SAS tokens\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Storage/storageAccounts/blobServices/generateUserDelegationKey/action\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2019-07-23T00:51:16.3376761Z\",\"updatedOn\":\"2019-07-23T01:14:31.8778475Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/db58b8e5-c6ad-4a2a-8342-4190687cbf4a\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"db58b8e5-c6ad-4a2a-8342-4190687cbf4a\"},{\"properties\":{\"roleName\":\"Desktop + Virtualization User\",\"type\":\"BuiltInRole\",\"description\":\"Allows user + to use the applications in an application group.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.DesktopVirtualization/applicationGroups/useApplications/action\"],\"notDataActions\":[]}],\"createdOn\":\"2019-08-07T00:29:03.8727621Z\",\"updatedOn\":\"2019-08-07T00:29:03.8727621Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/1d18fff3-a72a-46b5-b4a9-0b38a3cd7e63\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"1d18fff3-a72a-46b5-b4a9-0b38a3cd7e63\"},{\"properties\":{\"roleName\":\"Storage + File Data SMB Share Elevated Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Allows + for read, write, delete and modify NTFS permission access in Azure Storage + file shares over SMB\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.Storage/storageAccounts/fileServices/fileshares/files/read\",\"Microsoft.Storage/storageAccounts/fileServices/fileshares/files/write\",\"Microsoft.Storage/storageAccounts/fileServices/fileshares/files/delete\",\"Microsoft.Storage/storageAccounts/fileServices/fileshares/files/modifypermissions/action\"],\"notDataActions\":[]}],\"createdOn\":\"2019-08-07T01:35:36.9935457Z\",\"updatedOn\":\"2019-08-07T01:35:36.9935457Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/a7264617-510b-434b-a828-9731dc254ea7\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"a7264617-510b-434b-a828-9731dc254ea7\"},{\"properties\":{\"roleName\":\"Blueprint + Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Can manage blueprint + definitions, but not assign them.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Blueprint/blueprints/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2019-08-14T21:55:16.9683949Z\",\"updatedOn\":\"2019-08-17T00:10:55.7494677Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/41077137-e803-4205-871c-5a86e6a753b4\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"41077137-e803-4205-871c-5a86e6a753b4\"},{\"properties\":{\"roleName\":\"Blueprint + Operator\",\"type\":\"BuiltInRole\",\"description\":\"Can assign existing + published blueprints, but cannot create new blueprints. NOTE: this only works + if the assignment is done with a user-assigned managed identity.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Blueprint/blueprintAssignments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2019-08-14T21:56:48.7897875Z\",\"updatedOn\":\"2019-08-17T00:06:02.6509737Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/437d2ced-4a38-4302-8479-ed2bcb43d090\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"437d2ced-4a38-4302-8479-ed2bcb43d090\"},{\"properties\":{\"roleName\":\"Azure + Sentinel Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Azure Sentinel + Contributor\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.SecurityInsights/*\",\"Microsoft.OperationalInsights/workspaces/analytics/query/action\",\"Microsoft.OperationalInsights/workspaces/*/read\",\"Microsoft.OperationalInsights/workspaces/savedSearches/*\",\"Microsoft.OperationsManagement/solutions/read\",\"Microsoft.OperationalInsights/workspaces/query/read\",\"Microsoft.OperationalInsights/workspaces/query/*/read\",\"Microsoft.OperationalInsights/workspaces/dataSources/read\",\"Microsoft.Insights/workbooks/*\",\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2019-08-28T16:39:03.8725173Z\",\"updatedOn\":\"2020-03-11T15:20:51.6768533Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/ab8e14d6-4a74-4a29-9ba8-549422addade\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"ab8e14d6-4a74-4a29-9ba8-549422addade\"},{\"properties\":{\"roleName\":\"Azure + Sentinel Responder\",\"type\":\"BuiltInRole\",\"description\":\"Azure Sentinel + Responder\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.SecurityInsights/*/read\",\"Microsoft.SecurityInsights/dataConnectorsCheckRequirements/action\",\"Microsoft.SecurityInsights/cases/*\",\"Microsoft.SecurityInsights/incidents/*\",\"Microsoft.OperationalInsights/workspaces/analytics/query/action\",\"Microsoft.OperationalInsights/workspaces/*/read\",\"Microsoft.OperationalInsights/workspaces/dataSources/read\",\"Microsoft.OperationalInsights/workspaces/savedSearches/read\",\"Microsoft.OperationsManagement/solutions/read\",\"Microsoft.OperationalInsights/workspaces/query/read\",\"Microsoft.OperationalInsights/workspaces/query/*/read\",\"Microsoft.OperationalInsights/workspaces/dataSources/read\",\"Microsoft.Insights/workbooks/read\",\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2019-08-28T16:54:07.6467264Z\",\"updatedOn\":\"2020-04-02T08:42:10.2864085Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/3e150937-b8fe-4cfb-8069-0eaf05ecd056\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"3e150937-b8fe-4cfb-8069-0eaf05ecd056\"},{\"properties\":{\"roleName\":\"Azure + Sentinel Reader\",\"type\":\"BuiltInRole\",\"description\":\"Azure Sentinel + Reader\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.SecurityInsights/*/read\",\"Microsoft.SecurityInsights/dataConnectorsCheckRequirements/action\",\"Microsoft.OperationalInsights/workspaces/analytics/query/action\",\"Microsoft.OperationalInsights/workspaces/*/read\",\"Microsoft.OperationalInsights/workspaces/LinkedServices/read\",\"Microsoft.OperationalInsights/workspaces/savedSearches/read\",\"Microsoft.OperationsManagement/solutions/read\",\"Microsoft.OperationalInsights/workspaces/query/read\",\"Microsoft.OperationalInsights/workspaces/query/*/read\",\"Microsoft.OperationalInsights/workspaces/dataSources/read\",\"Microsoft.Insights/workbooks/read\",\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2019-08-28T16:58:50.1132117Z\",\"updatedOn\":\"2020-04-02T08:34:51.7222706Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8d289c81-5878-46d4-8554-54e1e3d8b5cb\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"8d289c81-5878-46d4-8554-54e1e3d8b5cb\"},{\"properties\":{\"roleName\":\"Workbook + Reader\",\"type\":\"BuiltInRole\",\"description\":\"Can read workbooks.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"microsoft.insights/workbooks/read\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2019-08-28T20:56:17.6808140Z\",\"updatedOn\":\"2019-08-28T21:43:05.0202124Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b279062a-9be3-42a0-92ae-8b3cf002ec4d\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"b279062a-9be3-42a0-92ae-8b3cf002ec4d\"},{\"properties\":{\"roleName\":\"Workbook + Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Can save shared workbooks.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Insights/workbooks/write\",\"Microsoft.Insights/workbooks/delete\",\"Microsoft.Insights/workbooks/read\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2019-08-28T20:59:42.4820277Z\",\"updatedOn\":\"2020-01-22T00:05:20.9387210Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/e8ddcd69-c73f-4f9f-9844-4100522f16ad\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"e8ddcd69-c73f-4f9f-9844-4100522f16ad\"},{\"properties\":{\"roleName\":\"Policy + Insights Data Writer (Preview)\",\"type\":\"BuiltInRole\",\"description\":\"Allows + read access to resource policies and write access to resource component policy + events.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/policyassignments/read\",\"Microsoft.Authorization/policydefinitions/read\",\"Microsoft.Authorization/policysetdefinitions/read\"],\"notActions\":[],\"dataActions\":[\"Microsoft.PolicyInsights/checkDataPolicyCompliance/action\",\"Microsoft.PolicyInsights/policyEvents/logDataEvents/action\"],\"notDataActions\":[]}],\"createdOn\":\"2019-09-19T19:35:20.9504127Z\",\"updatedOn\":\"2019-09-19T19:37:02.5331596Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/66bb4e9e-b016-4a94-8249-4c0511c2be84\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"66bb4e9e-b016-4a94-8249-4c0511c2be84\"},{\"properties\":{\"roleName\":\"SignalR + AccessKey Reader\",\"type\":\"BuiltInRole\",\"description\":\"Read SignalR + Service Access Keys\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.SignalRService/*/read\",\"Microsoft.SignalRService/SignalR/listkeys/action\",\"Microsoft.Authorization/*/read\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2019-09-20T09:33:19.6236874Z\",\"updatedOn\":\"2019-09-20T09:33:19.6236874Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/04165923-9d83-45d5-8227-78b77b0a687e\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"04165923-9d83-45d5-8227-78b77b0a687e\"},{\"properties\":{\"roleName\":\"SignalR + Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Create, Read, Update, + and Delete SignalR service resources\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.SignalRService/*\",\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2019-09-20T09:58:09.0009662Z\",\"updatedOn\":\"2019-09-20T09:58:09.0009662Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8cf5e20a-e4b2-4e9d-b3a1-5ceb692c2761\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"8cf5e20a-e4b2-4e9d-b3a1-5ceb692c2761\"},{\"properties\":{\"roleName\":\"Azure + Connected Machine Onboarding\",\"type\":\"BuiltInRole\",\"description\":\"Can + onboard Azure Connected Machines.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.HybridCompute/machines/read\",\"Microsoft.HybridCompute/machines/write\",\"Microsoft.GuestConfiguration/guestConfigurationAssignments/read\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2019-10-23T20:15:07.1372870Z\",\"updatedOn\":\"2019-11-03T18:26:59.2060282Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b64e21ea-ac4e-4cdf-9dc9-5b892992bee7\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"b64e21ea-ac4e-4cdf-9dc9-5b892992bee7\"},{\"properties\":{\"roleName\":\"Azure + Connected Machine Resource Administrator\",\"type\":\"BuiltInRole\",\"description\":\"Can + read, write, delete and re-onboard Azure Connected Machines.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.HybridCompute/machines/read\",\"Microsoft.HybridCompute/machines/write\",\"Microsoft.HybridCompute/machines/delete\",\"Microsoft.HybridCompute/machines/reconnect/action\",\"Microsoft.HybridCompute/machines/extensions/write\",\"Microsoft.HybridCompute/*/read\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2019-10-23T20:24:59.1474607Z\",\"updatedOn\":\"2020-03-19T22:39:54.1226122Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/cd570a14-e51a-42ad-bac8-bafd67325302\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"cd570a14-e51a-42ad-bac8-bafd67325302\"},{\"properties\":{\"roleName\":\"Managed + Services Registration assignment Delete Role\",\"type\":\"BuiltInRole\",\"description\":\"Managed + Services Registration Assignment Delete Role allows the managing tenant users + to delete the registration assignment assigned to their tenant.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.ManagedServices/registrationAssignments/read\",\"Microsoft.ManagedServices/registrationAssignments/delete\",\"Microsoft.ManagedServices/operationStatuses/read\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2019-10-23T22:33:33.1183469Z\",\"updatedOn\":\"2019-10-24T21:49:09.3875276Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/91c1777a-f3dc-4fae-b103-61d183457e46\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"91c1777a-f3dc-4fae-b103-61d183457e46\"},{\"properties\":{\"roleName\":\"App + Configuration Data Owner\",\"type\":\"BuiltInRole\",\"description\":\"Allows + full access to App Configuration data.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.AppConfiguration/configurationStores/*/read\",\"Microsoft.AppConfiguration/configurationStores/*/write\",\"Microsoft.AppConfiguration/configurationStores/*/delete\"],\"notDataActions\":[]}],\"createdOn\":\"2019-10-25T18:41:40.1185063Z\",\"updatedOn\":\"2019-10-25T18:41:40.1185063Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/5ae67dd6-50cb-40e7-96ff-dc2bfa4b606b\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"5ae67dd6-50cb-40e7-96ff-dc2bfa4b606b\"},{\"properties\":{\"roleName\":\"App + Configuration Data Reader\",\"type\":\"BuiltInRole\",\"description\":\"Allows + read access to App Configuration data.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.AppConfiguration/configurationStores/*/read\"],\"notDataActions\":[]}],\"createdOn\":\"2019-10-25T18:45:33.7975332Z\",\"updatedOn\":\"2019-10-25T18:45:33.7975332Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/516239f1-63e1-4d78-a4de-a74fb236a071\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"516239f1-63e1-4d78-a4de-a74fb236a071\"},{\"properties\":{\"roleName\":\"Kubernetes + Cluster - Azure Arc Onboarding\",\"type\":\"BuiltInRole\",\"description\":\"Role + definition to authorize any user/service to create connectedClusters resource\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Resources/deployments/write\",\"Microsoft.Resources/subscriptions/operationresults/read\",\"Microsoft.Resources/subscriptions/read\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Kubernetes/connectedClusters/Write\",\"Microsoft.Kubernetes/connectedClusters/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2019-11-18T17:00:02.2087147Z\",\"updatedOn\":\"2020-02-10T22:40:48.3317559Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/34e09817-6cbe-4d01-b1a2-e0eac5743d41\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"34e09817-6cbe-4d01-b1a2-e0eac5743d41\"},{\"properties\":{\"roleName\":\"Experimentation + Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Experimentation Contributor\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Resources/subscriptions/resourceGroups/read\"],\"notActions\":[],\"dataActions\":[\"Microsoft.Experimentation/experimentWorkspaces/experimentationGroups/read\",\"Microsoft.Experimentation/experimentWorkspaces/experimentationGroups/experimentadmin/action\",\"Microsoft.Experimentation/experimentWorkspaces/experimentationGroups/experiment/action\",\"Microsoft.Experimentation/experimentWorkspaces/experimentationGroups/emergencystop/action\",\"Microsoft.Experimentation/experimentWorkspaces/read\",\"Microsoft.Experimentation/experimentWorkspaces/write\",\"Microsoft.Experimentation/experimentWorkspaces/delete\"],\"notDataActions\":[]}],\"createdOn\":\"2019-12-13T00:08:08.6679591Z\",\"updatedOn\":\"2020-04-23T21:17:29.8609777Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/7f646f1b-fa08-80eb-a22b-edd6ce5c915c\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"7f646f1b-fa08-80eb-a22b-edd6ce5c915c\"},{\"properties\":{\"roleName\":\"Cognitive + Services QnA Maker Reader\",\"type\":\"BuiltInRole\",\"description\":\"Let\u2019s + you read and test a KB only.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.CognitiveServices/*/read\",\"Microsoft.Authorization/roleAssignments/read\",\"Microsoft.Authorization/roleDefinitions/read\"],\"notActions\":[],\"dataActions\":[\"Microsoft.CognitiveServices/accounts/QnAMaker/knowledgebases/read\",\"Microsoft.CognitiveServices/accounts/QnAMaker/knowledgebases/download/read\",\"Microsoft.CognitiveServices/accounts/QnAMaker/knowledgebases/generateanswer/action\",\"Microsoft.CognitiveServices/accounts/QnAMaker/alterations/read\",\"Microsoft.CognitiveServices/accounts/QnAMaker/endpointkeys/read\",\"Microsoft.CognitiveServices/accounts/QnAMaker/endpointsettings/read\",\"Microsoft.CognitiveServices/accounts/QnAMaker.v2/knowledgebases/read\",\"Microsoft.CognitiveServices/accounts/QnAMaker.v2/knowledgebases/download/read\",\"Microsoft.CognitiveServices/accounts/QnAMaker.v2/knowledgebases/generateanswer/action\",\"Microsoft.CognitiveServices/accounts/QnAMaker.v2/alterations/read\",\"Microsoft.CognitiveServices/accounts/QnAMaker.v2/endpointkeys/read\",\"Microsoft.CognitiveServices/accounts/QnAMaker.v2/endpointsettings/read\"],\"notDataActions\":[]}],\"createdOn\":\"2019-12-17T18:26:12.3329439Z\",\"updatedOn\":\"2020-05-08T12:03:46.9266538Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/466ccd10-b268-4a11-b098-b4849f024126\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"466ccd10-b268-4a11-b098-b4849f024126\"},{\"properties\":{\"roleName\":\"Cognitive + Services QnA Maker Editor\",\"type\":\"BuiltInRole\",\"description\":\"Let\u2019s + you create, edit, import and export a KB. You cannot publish or delete a KB.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.CognitiveServices/*/read\",\"Microsoft.Authorization/roleAssignments/read\",\"Microsoft.Authorization/roleDefinitions/read\"],\"notActions\":[],\"dataActions\":[\"Microsoft.CognitiveServices/accounts/QnAMaker/knowledgebases/read\",\"Microsoft.CognitiveServices/accounts/QnAMaker/knowledgebases/download/read\",\"Microsoft.CognitiveServices/accounts/QnAMaker/knowledgebases/create/write\",\"Microsoft.CognitiveServices/accounts/QnAMaker/knowledgebases/write\",\"Microsoft.CognitiveServices/accounts/QnAMaker/knowledgebases/generateanswer/action\",\"Microsoft.CognitiveServices/accounts/QnAMaker/knowledgebases/train/action\",\"Microsoft.CognitiveServices/accounts/QnAMaker/alterations/read\",\"Microsoft.CognitiveServices/accounts/QnAMaker/alterations/write\",\"Microsoft.CognitiveServices/accounts/QnAMaker/endpointkeys/read\",\"Microsoft.CognitiveServices/accounts/QnAMaker/endpointkeys/refreshkeys/action\",\"Microsoft.CognitiveServices/accounts/QnAMaker/endpointsettings/read\",\"Microsoft.CognitiveServices/accounts/QnAMaker/endpointsettings/write\",\"Microsoft.CognitiveServices/accounts/QnAMaker/operations/read\",\"Microsoft.CognitiveServices/accounts/QnAMaker.v2/knowledgebases/read\",\"Microsoft.CognitiveServices/accounts/QnAMaker.v2/knowledgebases/download/read\",\"Microsoft.CognitiveServices/accounts/QnAMaker.v2/knowledgebases/create/write\",\"Microsoft.CognitiveServices/accounts/QnAMaker.v2/knowledgebases/write\",\"Microsoft.CognitiveServices/accounts/QnAMaker.v2/knowledgebases/generateanswer/action\",\"Microsoft.CognitiveServices/accounts/QnAMaker.v2/knowledgebases/train/action\",\"Microsoft.CognitiveServices/accounts/QnAMaker.v2/alterations/read\",\"Microsoft.CognitiveServices/accounts/QnAMaker.v2/alterations/write\",\"Microsoft.CognitiveServices/accounts/QnAMaker.v2/endpointkeys/read\",\"Microsoft.CognitiveServices/accounts/QnAMaker.v2/endpointkeys/refreshkeys/action\",\"Microsoft.CognitiveServices/accounts/QnAMaker.v2/endpointsettings/read\",\"Microsoft.CognitiveServices/accounts/QnAMaker.v2/endpointsettings/write\",\"Microsoft.CognitiveServices/accounts/QnAMaker.v2/operations/read\"],\"notDataActions\":[]}],\"createdOn\":\"2019-12-17T18:27:30.6434556Z\",\"updatedOn\":\"2020-05-08T12:02:34.0065552Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/f4cc2bf9-21be-47a1-bdf1-5c5804381025\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"f4cc2bf9-21be-47a1-bdf1-5c5804381025\"},{\"properties\":{\"roleName\":\"Experimentation + Administrator\",\"type\":\"BuiltInRole\",\"description\":\"Experimentation + Administrator\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Resources/subscriptions/resourceGroups/read\"],\"notActions\":[],\"dataActions\":[\"Microsoft.Experimentation/experimentWorkspaces/experimentationGroups/admin/action\",\"Microsoft.Experimentation/experimentWorkspaces/experimentationGroups/read\",\"Microsoft.Experimentation/experimentWorkspaces/experimentationGroups/write\",\"Microsoft.Experimentation/experimentWorkspaces/experimentationGroups/delete\",\"Microsoft.Experimentation/experimentWorkspaces/experimentationGroups/experimentadmin/action\",\"Microsoft.Experimentation/experimentWorkspaces/experimentationGroups/experiment/action\",\"Microsoft.Experimentation/experimentWorkspaces/experimentationGroups/emergencystop/action\",\"Microsoft.Experimentation/experimentWorkspaces/read\",\"Microsoft.Experimentation/experimentWorkspaces/write\",\"Microsoft.Experimentation/experimentWorkspaces/delete\",\"Microsoft.Experimentation/experimentWorkspaces/admin/action\"],\"notDataActions\":[]}],\"createdOn\":\"2019-12-18T22:46:33.1116612Z\",\"updatedOn\":\"2020-04-22T20:10:20.1216929Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/7f646f1b-fa08-80eb-a33b-edd6ce5c915c\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"7f646f1b-fa08-80eb-a33b-edd6ce5c915c\"},{\"properties\":{\"roleName\":\"Remote + Rendering Administrator\",\"type\":\"BuiltInRole\",\"description\":\"Provides + user with conversion, manage session, rendering and diagnostics capabilities + for Azure Remote Rendering\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.MixedReality/RemoteRenderingAccounts/convert/action\",\"Microsoft.MixedReality/RemoteRenderingAccounts/convert/read\",\"Microsoft.MixedReality/RemoteRenderingAccounts/convert/delete\",\"Microsoft.MixedReality/RemoteRenderingAccounts/managesessions/read\",\"Microsoft.MixedReality/RemoteRenderingAccounts/managesessions/action\",\"Microsoft.MixedReality/RemoteRenderingAccounts/managesessions/delete\",\"Microsoft.MixedReality/RemoteRenderingAccounts/render/read\",\"Microsoft.MixedReality/RemoteRenderingAccounts/diagnostic/read\"],\"notDataActions\":[]}],\"createdOn\":\"2020-01-23T18:15:31.3450348Z\",\"updatedOn\":\"2020-01-23T18:15:31.3450348Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/3df8b902-2a6f-47c7-8cc5-360e9b272a7e\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"3df8b902-2a6f-47c7-8cc5-360e9b272a7e\"},{\"properties\":{\"roleName\":\"Remote + Rendering Client\",\"type\":\"BuiltInRole\",\"description\":\"Provides user + with manage session, rendering and diagnostics capabilities for Azure Remote + Rendering.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.MixedReality/RemoteRenderingAccounts/managesessions/read\",\"Microsoft.MixedReality/RemoteRenderingAccounts/managesessions/action\",\"Microsoft.MixedReality/RemoteRenderingAccounts/managesessions/delete\",\"Microsoft.MixedReality/RemoteRenderingAccounts/render/read\",\"Microsoft.MixedReality/RemoteRenderingAccounts/diagnostic/read\"],\"notDataActions\":[]}],\"createdOn\":\"2020-01-23T18:32:52.7069824Z\",\"updatedOn\":\"2020-01-23T18:32:52.7069824Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/d39065c4-c120-43c9-ab0a-63eed9795f0a\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"d39065c4-c120-43c9-ab0a-63eed9795f0a\"},{\"properties\":{\"roleName\":\"Managed + Application Contributor Role\",\"type\":\"BuiltInRole\",\"description\":\"Allows + for creating managed application resources.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"*/read\",\"Microsoft.Solutions/applications/*\",\"Microsoft.Solutions/register/action\",\"Microsoft.Resources/subscriptions/resourceGroups/*\",\"Microsoft.Resources/deployments/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2020-02-08T03:39:11.8933879Z\",\"updatedOn\":\"2020-03-23T02:12:30.0853051Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/641177b8-a67a-45b9-a033-47bc880bb21e\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"641177b8-a67a-45b9-a033-47bc880bb21e\"},{\"properties\":{\"roleName\":\"Security + Assessment Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Lets you + push assessments to Security Center\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Security/assessments/write\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2020-02-13T08:23:47.7656161Z\",\"updatedOn\":\"2020-02-13T08:23:47.7656161Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/612c2aa1-cb24-443b-ac28-3ab7272de6f5\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"612c2aa1-cb24-443b-ac28-3ab7272de6f5\"},{\"properties\":{\"roleName\":\"Tag + Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Lets you manage tags + on entities, without providing access to the entities themselves.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Resources/subscriptions/resourceGroups/resources/read\",\"Microsoft.Resources/subscriptions/resources/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Support/*\",\"Microsoft.Resources/tags/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2020-02-18T23:19:19.2977644Z\",\"updatedOn\":\"2020-02-19T00:04:58.9214962Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4a9ae827-6dc8-4573-8ac7-8239d42aa03f\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"4a9ae827-6dc8-4573-8ac7-8239d42aa03f\"},{\"properties\":{\"roleName\":\"Integration + Service Environment Developer\",\"type\":\"BuiltInRole\",\"description\":\"Allows + developers to create and update workflows, integration accounts and API connections + in integration service environments.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Support/*\",\"Microsoft.Logic/integrationServiceEnvironments/read\",\"Microsoft.Logic/integrationServiceEnvironments/join/action\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2020-02-20T21:09:00.5627875Z\",\"updatedOn\":\"2020-02-20T21:36:24.6190730Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/c7aa55d3-1abb-444a-a5ca-5e51e485d6ec\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"c7aa55d3-1abb-444a-a5ca-5e51e485d6ec\"},{\"properties\":{\"roleName\":\"Integration + Service Environment Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Lets + you manage integration service environments, but not access to them.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Support/*\",\"Microsoft.Logic/integrationServiceEnvironments/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2020-02-20T21:10:44.4008319Z\",\"updatedOn\":\"2020-02-20T21:41:56.7983599Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/a41e2c5b-bd99-4a07-88f4-9bf657a760b8\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"a41e2c5b-bd99-4a07-88f4-9bf657a760b8\"},{\"properties\":{\"roleName\":\"Marketplace + Admin\",\"type\":\"BuiltInRole\",\"description\":\"Administrator of marketplace + resource provider\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Marketplace/privateStores/write\",\"Microsoft.Marketplace/privateStores/action\",\"Microsoft.Marketplace/privateStores/delete\",\"Microsoft.Marketplace/privateStores/offers/write\",\"Microsoft.Marketplace/privateStores/offers/action\",\"Microsoft.Marketplace/privateStores/offers/delete\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2020-02-26T14:19:50.9681015Z\",\"updatedOn\":\"2020-02-26T14:19:50.9681015Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/dd920d6d-f481-47f1-b461-f338c46b2d9f\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"dd920d6d-f481-47f1-b461-f338c46b2d9f\"},{\"properties\":{\"roleName\":\"Azure + Kubernetes Service Contributor Role\",\"type\":\"BuiltInRole\",\"description\":\"Grants + access to read and write Azure Kubernetes Service clusters\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.ContainerService/managedClusters/read\",\"Microsoft.ContainerService/managedClusters/write\",\"Microsoft.Resources/deployments/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2020-02-27T19:27:15.0739970Z\",\"updatedOn\":\"2020-02-28T02:34:14.5162305Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/ed7f3fbd-7b88-4dd4-9017-9adb7ce333f8\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"ed7f3fbd-7b88-4dd4-9017-9adb7ce333f8\"},{\"properties\":{\"roleName\":\"Azure + Digital Twins Reader (Preview)\",\"type\":\"BuiltInRole\",\"description\":\"Read-only + role for Digital Twins data-plane properties\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.DigitalTwins/digitaltwins/read\",\"Microsoft.DigitalTwins/eventroutes/read\",\"Microsoft.DigitalTwins/models/read\",\"Microsoft.DigitalTwins/query/action\"],\"notDataActions\":[]}],\"createdOn\":\"2020-03-10T23:48:14.7057381Z\",\"updatedOn\":\"2020-05-20T18:19:02.4795349Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/d57506d4-4c8d-48b1-8587-93c323f6a5a3\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"d57506d4-4c8d-48b1-8587-93c323f6a5a3\"},{\"properties\":{\"roleName\":\"Azure + Digital Twins Owner (Preview)\",\"type\":\"BuiltInRole\",\"description\":\"Full + access role for Digital Twins data-plane\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.DigitalTwins/eventroutes/*\",\"Microsoft.DigitalTwins/digitaltwins/*\",\"Microsoft.DigitalTwins/digitaltwins/commands/*\",\"Microsoft.DigitalTwins/digitaltwins/relationships/*\",\"Microsoft.DigitalTwins/models/*\",\"Microsoft.DigitalTwins/query/*\"],\"notDataActions\":[]}],\"createdOn\":\"2020-03-10T23:49:33.7821930Z\",\"updatedOn\":\"2020-03-10T23:49:33.7821930Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/bcd981a7-7f74-457b-83e1-cceb9e632ffe\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"bcd981a7-7f74-457b-83e1-cceb9e632ffe\"},{\"properties\":{\"roleName\":\"Hierarchy + Settings Administrator\",\"type\":\"BuiltInRole\",\"description\":\"Allows + users to edit and delete Hierarchy Settings\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Management/managementGroups/settings/write\",\"Microsoft.Management/managementGroups/settings/delete\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2020-03-13T23:55:11.0212387Z\",\"updatedOn\":\"2020-03-13T23:58:46.9249866Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/350f8d15-c687-4448-8ae1-157740a3936d\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"350f8d15-c687-4448-8ae1-157740a3936d\"},{\"properties\":{\"roleName\":\"FHIR + Data Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Role allows + user or principal full access to FHIR Data\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.HealthcareApis/services/fhir/resources/*\"],\"notDataActions\":[]}],\"createdOn\":\"2020-03-17T18:35:04.4949547Z\",\"updatedOn\":\"2020-03-17T18:35:04.4949547Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/5a1fc7df-4bf1-4951-a576-89034ee01acd\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"5a1fc7df-4bf1-4951-a576-89034ee01acd\"},{\"properties\":{\"roleName\":\"FHIR + Data Exporter\",\"type\":\"BuiltInRole\",\"description\":\"Role allows user + or principal to read and export FHIR Data\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.HealthcareApis/services/fhir/resources/read\",\"Microsoft.HealthcareApis/services/fhir/resources/export/action\"],\"notDataActions\":[]}],\"createdOn\":\"2020-03-17T18:45:01.9764073Z\",\"updatedOn\":\"2020-03-19T20:29:56.9958536Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/3db33094-8700-4567-8da5-1501d4e7e843\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"3db33094-8700-4567-8da5-1501d4e7e843\"},{\"properties\":{\"roleName\":\"FHIR + Data Reader\",\"type\":\"BuiltInRole\",\"description\":\"Role allows user + or principal to read FHIR Data\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.HealthcareApis/services/fhir/resources/read\"],\"notDataActions\":[]}],\"createdOn\":\"2020-03-17T18:49:04.8353499Z\",\"updatedOn\":\"2020-03-17T18:49:04.8353499Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4c8d0bbc-75d3-4935-991f-5f3c56d81508\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"4c8d0bbc-75d3-4935-991f-5f3c56d81508\"},{\"properties\":{\"roleName\":\"FHIR + Data Writer\",\"type\":\"BuiltInRole\",\"description\":\"Role allows user + or principal to read and write FHIR Data\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.HealthcareApis/services/fhir/resources/*\"],\"notDataActions\":[\"Microsoft.HealthcareApis/services/fhir/resources/hardDelete/action\"]}],\"createdOn\":\"2020-03-17T18:55:35.2413335Z\",\"updatedOn\":\"2020-03-17T18:55:35.2413335Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/3f88fce4-5892-4214-ae73-ba5294559913\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"3f88fce4-5892-4214-ae73-ba5294559913\"},{\"properties\":{\"roleName\":\"Experimentation + Reader\",\"type\":\"BuiltInRole\",\"description\":\"Experimentation Reader\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.Experimentation/experimentWorkspaces/read\",\"Microsoft.Experimentation/experimentWorkspaces/experimentationGroups/read\"],\"notDataActions\":[]}],\"createdOn\":\"2020-03-25T18:05:14.8375678Z\",\"updatedOn\":\"2020-04-22T21:20:46.2737555Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/49632ef5-d9ac-41f4-b8e7-bbe587fa74a1\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"49632ef5-d9ac-41f4-b8e7-bbe587fa74a1\"},{\"properties\":{\"roleName\":\"Object + Understanding Account Owner\",\"type\":\"BuiltInRole\",\"description\":\"Provides + user with ingestion capabilities for Azure Object Understanding.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.MixedReality/ObjectUnderstandingAccounts/ingest/action\",\"Microsoft.MixedReality/ObjectUnderstandingAccounts/ingest/read\"],\"notDataActions\":[]}],\"createdOn\":\"2020-04-22T19:15:09.0697923Z\",\"updatedOn\":\"2020-04-22T19:15:09.0697923Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4dd61c23-6743-42fe-a388-d8bdd41cb745\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"4dd61c23-6743-42fe-a388-d8bdd41cb745\"},{\"properties\":{\"roleName\":\"Azure + Maps Data Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Grants + access to read, write, and delete access to map related data from an Azure + maps account.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.Maps/accounts/*/read\",\"Microsoft.Maps/accounts/*/write\",\"Microsoft.Maps/accounts/*/delete\"],\"notDataActions\":[]}],\"createdOn\":\"2020-05-07T20:55:05.0645410Z\",\"updatedOn\":\"2020-05-07T20:55:05.0645410Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8f5e0ce6-4f7b-4dcf-bddf-e6f48634a204\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"8f5e0ce6-4f7b-4dcf-bddf-e6f48634a204\"},{\"properties\":{\"roleName\":\"Cognitive + Services Custom Vision Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Full + access to the project, including the ability to view, create, edit, or delete + projects.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.CognitiveServices/*/read\"],\"notActions\":[],\"dataActions\":[\"Microsoft.CognitiveServices/accounts/CustomVision/*\"],\"notDataActions\":[]}],\"createdOn\":\"2020-05-08T23:47:07.0779345Z\",\"updatedOn\":\"2020-05-08T23:47:07.0779345Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/c1ff6cc2-c111-46fe-8896-e0ef812ad9f3\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"c1ff6cc2-c111-46fe-8896-e0ef812ad9f3\"},{\"properties\":{\"roleName\":\"Cognitive + Services Custom Vision Deployment\",\"type\":\"BuiltInRole\",\"description\":\"Publish, + unpublish or export models. Deployment can view the project but can\u2019t + update.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.CognitiveServices/*/read\"],\"notActions\":[],\"dataActions\":[\"Microsoft.CognitiveServices/accounts/CustomVision/*/read\",\"Microsoft.CognitiveServices/accounts/CustomVision/projects/predictions/*\",\"Microsoft.CognitiveServices/accounts/CustomVision/projects/iterations/publish/*\",\"Microsoft.CognitiveServices/accounts/CustomVision/projects/iterations/export/*\",\"Microsoft.CognitiveServices/accounts/CustomVision/projects/quicktest/*\",\"Microsoft.CognitiveServices/accounts/CustomVision/classify/*\",\"Microsoft.CognitiveServices/accounts/CustomVision/detect/*\"],\"notDataActions\":[\"Microsoft.CognitiveServices/accounts/CustomVision/projects/export/read\"]}],\"createdOn\":\"2020-05-09T01:31:05.9528620Z\",\"updatedOn\":\"2020-05-09T01:31:05.9528620Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/5c4089e1-6d96-4d2f-b296-c1bc7137275f\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"5c4089e1-6d96-4d2f-b296-c1bc7137275f\"},{\"properties\":{\"roleName\":\"Cognitive + Services Custom Vision Labeler\",\"type\":\"BuiltInRole\",\"description\":\"View, + edit training images and create, add, remove, or delete the image tags. Labelers + can view the project but can\u2019t update anything other than training images + and tags.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.CognitiveServices/*/read\"],\"notActions\":[],\"dataActions\":[\"Microsoft.CognitiveServices/accounts/CustomVision/*/read\",\"Microsoft.CognitiveServices/accounts/CustomVision/projects/predictions/query/action\",\"Microsoft.CognitiveServices/accounts/CustomVision/projects/images/*\",\"Microsoft.CognitiveServices/accounts/CustomVision/projects/tags/*\",\"Microsoft.CognitiveServices/accounts/CustomVision/projects/images/suggested/*\",\"Microsoft.CognitiveServices/accounts/CustomVision/projects/tagsandregions/suggestions/action\"],\"notDataActions\":[\"Microsoft.CognitiveServices/accounts/CustomVision/projects/export/read\"]}],\"createdOn\":\"2020-05-09T01:33:20.8278896Z\",\"updatedOn\":\"2020-05-09T01:33:20.8278896Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/88424f51-ebe7-446f-bc41-7fa16989e96c\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"88424f51-ebe7-446f-bc41-7fa16989e96c\"},{\"properties\":{\"roleName\":\"Cognitive + Services Custom Vision Reader\",\"type\":\"BuiltInRole\",\"description\":\"Read-only + actions in the project. Readers can\u2019t create or update the project.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.CognitiveServices/*/read\"],\"notActions\":[],\"dataActions\":[\"Microsoft.CognitiveServices/accounts/CustomVision/*/read\",\"Microsoft.CognitiveServices/accounts/CustomVision/projects/predictions/query/action\"],\"notDataActions\":[\"Microsoft.CognitiveServices/accounts/CustomVision/projects/export/read\"]}],\"createdOn\":\"2020-05-09T01:34:18.5328818Z\",\"updatedOn\":\"2020-05-09T01:34:18.5328818Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/93586559-c37d-4a6b-ba08-b9f0940c2d73\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"93586559-c37d-4a6b-ba08-b9f0940c2d73\"},{\"properties\":{\"roleName\":\"Cognitive + Services Custom Vision Trainer\",\"type\":\"BuiltInRole\",\"description\":\"View, + edit projects and train the models, including the ability to publish, unpublish, + export the models. Trainers can\u2019t create or delete the project.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.CognitiveServices/*/read\"],\"notActions\":[],\"dataActions\":[\"Microsoft.CognitiveServices/accounts/CustomVision/*\"],\"notDataActions\":[\"Microsoft.CognitiveServices/accounts/CustomVision/projects/action\",\"Microsoft.CognitiveServices/accounts/CustomVision/projects/delete\",\"Microsoft.CognitiveServices/accounts/CustomVision/projects/import/action\",\"Microsoft.CognitiveServices/accounts/CustomVision/projects/export/read\"]}],\"createdOn\":\"2020-05-09T01:35:13.8147804Z\",\"updatedOn\":\"2020-05-09T01:35:13.8147804Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/0a5ae4ab-0d65-4eeb-be61-29fc9b54394b\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"0a5ae4ab-0d65-4eeb-be61-29fc9b54394b\"},{\"properties\":{\"roleName\":\"Key + Vault Administrator (preview)\",\"type\":\"BuiltInRole\",\"description\":\"Can + perform any action on certificates, keys and secrets of a key vault, except + manage permissions.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\",\"Microsoft.KeyVault/checkNameAvailability/read\",\"Microsoft.KeyVault/deletedVaults/read\",\"Microsoft.KeyVault/locations/*/read\",\"Microsoft.KeyVault/vaults/*/read\",\"Microsoft.KeyVault/operations/read\"],\"notActions\":[],\"dataActions\":[\"Microsoft.KeyVault/vaults/*\"],\"notDataActions\":[]}],\"createdOn\":\"2020-05-19T17:52:46.2349235Z\",\"updatedOn\":\"2020-05-20T19:40:18.9511304Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/00482a5a-887f-4fb3-b363-3b7fe8e74483\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"00482a5a-887f-4fb3-b363-3b7fe8e74483\"},{\"properties\":{\"roleName\":\"Key + Vault Crypto Officer (preview)\",\"type\":\"BuiltInRole\",\"description\":\"Can + perform any action on the keys of a key vault, except manage permissions.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\",\"Microsoft.KeyVault/checkNameAvailability/read\",\"Microsoft.KeyVault/deletedVaults/read\",\"Microsoft.KeyVault/locations/*/read\",\"Microsoft.KeyVault/vaults/*/read\",\"Microsoft.KeyVault/operations/read\"],\"notActions\":[],\"dataActions\":[\"Microsoft.KeyVault/vaults/keys/*\"],\"notDataActions\":[]}],\"createdOn\":\"2020-05-19T17:52:47.0099249Z\",\"updatedOn\":\"2020-05-20T19:44:51.5886988Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/14b46e9e-c2b7-41b4-b07b-48a6ebf60603\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"14b46e9e-c2b7-41b4-b07b-48a6ebf60603\"},{\"properties\":{\"roleName\":\"Key + Vault Crypto User (preview)\",\"type\":\"BuiltInRole\",\"description\":\"Can + perform cryptographic operations on keys and certificates.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.KeyVault/vaults/keys/read\",\"Microsoft.KeyVault/vaults/keys/update/action\",\"Microsoft.KeyVault/vaults/keys/backup/action\",\"Microsoft.KeyVault/vaults/keys/encrypt/action\",\"Microsoft.KeyVault/vaults/keys/decrypt/action\",\"Microsoft.KeyVault/vaults/keys/wrap/action\",\"Microsoft.KeyVault/vaults/keys/unwrap/action\",\"Microsoft.KeyVault/vaults/keys/sign/action\",\"Microsoft.KeyVault/vaults/keys/verify/action\"],\"notDataActions\":[]}],\"createdOn\":\"2020-05-19T17:52:47.0699268Z\",\"updatedOn\":\"2020-05-20T19:48:54.8672037Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/12338af0-0e69-4776-bea7-57ae8d297424\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"12338af0-0e69-4776-bea7-57ae8d297424\"},{\"properties\":{\"roleName\":\"Key + Vault Secrets Officer (preview)\",\"type\":\"BuiltInRole\",\"description\":\"Can + perform any action on the secrets of a key vault, except manage permissions.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\",\"Microsoft.KeyVault/checkNameAvailability/read\",\"Microsoft.KeyVault/deletedVaults/read\",\"Microsoft.KeyVault/locations/*/read\",\"Microsoft.KeyVault/vaults/*/read\",\"Microsoft.KeyVault/operations/read\"],\"notActions\":[],\"dataActions\":[\"Microsoft.KeyVault/vaults/secrets/*\"],\"notDataActions\":[]}],\"createdOn\":\"2020-05-19T17:52:47.1449242Z\",\"updatedOn\":\"2020-05-20T19:51:40.0338120Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b86a8fe4-44ce-4948-aee5-eccb2c155cd7\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"b86a8fe4-44ce-4948-aee5-eccb2c155cd7\"},{\"properties\":{\"roleName\":\"Key + Vault Secrets User (preview)\",\"type\":\"BuiltInRole\",\"description\":\"Can + read secret contents.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.KeyVault/vaults/secrets/getSecret/action\",\"Microsoft.KeyVault/vaults/secrets/readMetadata/action\"],\"notDataActions\":[]}],\"createdOn\":\"2020-05-19T17:52:47.2049241Z\",\"updatedOn\":\"2020-05-20T19:53:53.9617292Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4633458b-17de-408a-b874-0445c86b69e6\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"4633458b-17de-408a-b874-0445c86b69e6\"},{\"properties\":{\"roleName\":\"Key + Vault Certificates Officer (preview)\",\"type\":\"BuiltInRole\",\"description\":\"Can + perform any action on the certificates of a key vault, except manage permissions.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\",\"Microsoft.KeyVault/checkNameAvailability/read\",\"Microsoft.KeyVault/deletedVaults/read\",\"Microsoft.KeyVault/locations/*/read\",\"Microsoft.KeyVault/vaults/*/read\",\"Microsoft.KeyVault/operations/read\"],\"notActions\":[],\"dataActions\":[\"Microsoft.KeyVault/vaults/certificatecas/*\",\"Microsoft.KeyVault/vaults/certificates/*\"],\"notDataActions\":[]}],\"createdOn\":\"2020-05-19T17:52:47.2499247Z\",\"updatedOn\":\"2020-05-20T19:56:22.0363761Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/a4417e6f-fecd-4de8-b567-7b0420556985\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"a4417e6f-fecd-4de8-b567-7b0420556985\"},{\"properties\":{\"roleName\":\"Key + Vault Reader (preview)\",\"type\":\"BuiltInRole\",\"description\":\"Can read + metadata of key vaults and its certificates, keys and secrets. Cannot read + sensitive values such as secret contents or key material.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\",\"Microsoft.KeyVault/checkNameAvailability/read\",\"Microsoft.KeyVault/deletedVaults/read\",\"Microsoft.KeyVault/locations/*/read\",\"Microsoft.KeyVault/vaults/*/read\",\"Microsoft.KeyVault/operations/read\"],\"notActions\":[],\"dataActions\":[\"Microsoft.KeyVault/vaults/*/read\",\"Microsoft.KeyVault/vaults/secrets/readMetadata/action\"],\"notDataActions\":[]}],\"createdOn\":\"2020-05-19T17:52:47.2949294Z\",\"updatedOn\":\"2020-05-20T19:58:55.0084184Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/21090545-7ca7-4776-b22c-e363652d74d2\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"21090545-7ca7-4776-b22c-e363652d74d2\"},{\"properties\":{\"roleName\":\"Key + Vault Crypto Service Encryption (preview)\",\"type\":\"BuiltInRole\",\"description\":\"Can + read metadata of keys and perform wrap/unwrap operations.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.KeyVault/vaults/keys/read\",\"Microsoft.KeyVault/vaults/keys/wrap/action\",\"Microsoft.KeyVault/vaults/keys/unwrap/action\"],\"notDataActions\":[]}],\"createdOn\":\"2020-05-20T20:55:19.2398470Z\",\"updatedOn\":\"2020-05-20T20:55:19.2398470Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/e147488a-f6f5-4113-8e2d-b22465e65bf6\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"e147488a-f6f5-4113-8e2d-b22465e65bf6\"}]}" + headers: + cache-control: + - no-cache + content-length: + - '206311' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 26 May 2020 17:20:04 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - x-ms-gateway-slice=Production; path=/; secure; HttpOnly; SameSite=None + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"objectIds": ["d7269214-7deb-463f-aef2-6df680c53a0d"], "includeDirectoryObjectReferences": + true}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - role assignment list + Connection: + - keep-alive + Content-Length: + - '97' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - --assignee --scope --role -o + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-graphrbac/0.60.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: POST + uri: https://graph.windows.net/00000000-0000-0000-0000-000000000000/getObjectsByObjectIds?api-version=1.6 + response: + body: + string: '{"odata.metadata":"https://graph.windows.net/00000000-0000-0000-0000-000000000000/$metadata#directoryObjects","value":[{"odata.type":"Microsoft.DirectoryServices.ServicePrincipal","objectType":"ServicePrincipal","objectId":"d7269214-7deb-463f-aef2-6df680c53a0d","deletionTimestamp":null,"accountEnabled":true,"addIns":[],"alternativeNames":["isExplicit=True","/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ingressapplicationgateway-cliakstest000002"],"appDisplayName":null,"appId":"6abf5474-4cf0-485d-a2c3-0ea753893a37","applicationTemplateId":null,"appOwnerTenantId":null,"appRoleAssignmentRequired":false,"appRoles":[],"displayName":"ingressapplicationgateway-cliakstest000002","errorUrl":null,"homepage":null,"informationalUrls":null,"keyCredentials":[{"customKeyIdentifier":"33AF53EBB920B4473825D4AB91FA2F2610446EAC","endDate":"2020-08-24T17:09:00Z","keyId":"5a2064ee-538d-46fb-a4ff-41ac25ee5ed5","startDate":"2020-05-26T17:09:00Z","type":"AsymmetricX509Cert","usage":"Verify","value":null}],"logoutUrl":null,"notificationEmailAddresses":[],"oauth2Permissions":[],"passwordCredentials":[],"preferredSingleSignOnMode":null,"preferredTokenSigningKeyEndDateTime":null,"preferredTokenSigningKeyThumbprint":null,"publisherName":null,"replyUrls":[],"samlMetadataUrl":null,"samlSingleSignOnSettings":null,"servicePrincipalNames":["6abf5474-4cf0-485d-a2c3-0ea753893a37","https://identity.azure.net/E47hmbWZUclUsooPxMdaMzLlboqOvVNALldtquNz+y0="],"servicePrincipalType":"ManagedIdentity","signInAudience":null,"tags":[],"tokenEncryptionKeyId":null}]}' + headers: + access-control-allow-origin: + - '*' + cache-control: + - no-cache + content-length: + - '1670' + content-type: + - application/json; odata=minimalmetadata; streaming=true; charset=utf-8 + dataserviceversion: + - 3.0; + date: + - Tue, 26 May 2020 17:20:05 GMT + duration: + - '861679' + expires: + - '-1' + ocp-aad-diagnostics-server-name: + - smfcQvxEvVdTjvGF4j9WK3VnzTKXWuutLrnegvV0JPs= + ocp-aad-session-key: + - -fcdFFJYhr8E8ApZ0YJnqRicfYCAcUWy2wvuqsBVV_Wnqjgyw6TybHb36XZpwOnrsVq9pK7s3Se0G5BLK5AUKnHWOJIs0lGlwAWTM3ccm6g907bQmACxWz420mJieXhP.FpZlexGpVXg_stm2xUKIkI3Wi2jMeLUmi9d1QoCxwko + pragma: + - no-cache + request-id: + - 2fbec54a-08f2-4389-9c62-ae63eb4783c8 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-ms-dirapi-data-contract-version: + - '1.6' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +version: 1 diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_byo_subnet_with_ingress_appgw_addon.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_byo_subnet_with_ingress_appgw_addon.yaml new file mode 100644 index 00000000000..add5904370c --- /dev/null +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_byo_subnet_with_ingress_appgw_addon.yaml @@ -0,0 +1,2160 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --address-prefix --subnet-name --subnet-prefix -o + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2019-07-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001","name":"clitest000001","type":"Microsoft.Resources/resourceGroups","location":"westus2","tags":{"product":"azurecli","cause":"automation","date":"2020-05-26T16:18:32Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '313' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 26 May 2020 16:18:32 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"location": "westus2", "tags": {}, "properties": {"addressSpace": {"addressPrefixes": + ["11.0.0.0/16"]}, "dhcpOptions": {}, "subnets": [{"properties": {"addressPrefix": + "11.0.0.0/24"}, "name": "aks-subnet"}]}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet create + Connection: + - keep-alive + Content-Length: + - '209' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - --resource-group --name --address-prefix --subnet-name --subnet-prefix -o + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-mgmt-network/10.1.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"cliakstest000003\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003\",\r\n + \ \"etag\": \"W/\\\"75b0b11a-515c-41f3-86e5-79c8982491dc\\\"\",\r\n \"type\": + \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"westus2\",\r\n + \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"resourceGuid\": \"3b2574a8-26fc-46d9-bd97-945bccaa082d\",\r\n \"addressSpace\": + {\r\n \"addressPrefixes\": [\r\n \"11.0.0.0/16\"\r\n ]\r\n + \ },\r\n \"dhcpOptions\": {\r\n \"dnsServers\": []\r\n },\r\n + \ \"subnets\": [\r\n {\r\n \"name\": \"aks-subnet\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/aks-subnet\",\r\n + \ \"etag\": \"W/\\\"75b0b11a-515c-41f3-86e5-79c8982491dc\\\"\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"addressPrefix\": \"11.0.0.0/24\",\r\n \"delegations\": + [],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n \"privateLinkServiceNetworkPolicies\": + \"Enabled\"\r\n },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets\"\r\n + \ }\r\n ],\r\n \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\": + false,\r\n \"enableVmProtection\": false\r\n }\r\n}" + headers: + azure-asyncnotification: + - Enabled + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/5358609e-b2fb-4168-8228-c6e086d426bc?api-version=2020-03-01 + cache-control: + - no-cache + content-length: + - '1361' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 26 May 2020 16:18:33 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 2dc91859-43ba-46ed-a198-6c553b65daf9 + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --address-prefix --subnet-name --subnet-prefix -o + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-mgmt-network/10.1.0 Azure-SDK-For-Python AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/5358609e-b2fb-4168-8228-c6e086d426bc?api-version=2020-03-01 + response: + body: + string: "{\r\n \"status\": \"Succeeded\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '29' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 26 May 2020 16:18:36 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 697441c7-20ad-45fa-9447-a8cad996b932 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --address-prefix --subnet-name --subnet-prefix -o + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-mgmt-network/10.1.0 Azure-SDK-For-Python AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"cliakstest000003\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003\",\r\n + \ \"etag\": \"W/\\\"3a625661-b2c5-4941-b833-26668f8f371f\\\"\",\r\n \"type\": + \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"westus2\",\r\n + \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"resourceGuid\": \"3b2574a8-26fc-46d9-bd97-945bccaa082d\",\r\n \"addressSpace\": + {\r\n \"addressPrefixes\": [\r\n \"11.0.0.0/16\"\r\n ]\r\n + \ },\r\n \"dhcpOptions\": {\r\n \"dnsServers\": []\r\n },\r\n + \ \"subnets\": [\r\n {\r\n \"name\": \"aks-subnet\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/aks-subnet\",\r\n + \ \"etag\": \"W/\\\"3a625661-b2c5-4941-b833-26668f8f371f\\\"\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"addressPrefix\": \"11.0.0.0/24\",\r\n \"delegations\": + [],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n \"privateLinkServiceNetworkPolicies\": + \"Enabled\"\r\n },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets\"\r\n + \ }\r\n ],\r\n \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\": + false,\r\n \"enableVmProtection\": false\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1363' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 26 May 2020 16:18:36 GMT + etag: + - W/"3a625661-b2c5-4941-b833-26668f8f371f" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 568c5e06-f3c5-4135-a4d9-0bc413cc9ce8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet subnet create + Connection: + - keep-alive + ParameterSetName: + - -n --resource-group --vnet-name --address-prefixes -o + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-mgmt-network/10.1.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"cliakstest000003\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003\",\r\n + \ \"etag\": \"W/\\\"3a625661-b2c5-4941-b833-26668f8f371f\\\"\",\r\n \"type\": + \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"westus2\",\r\n + \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"resourceGuid\": \"3b2574a8-26fc-46d9-bd97-945bccaa082d\",\r\n \"addressSpace\": + {\r\n \"addressPrefixes\": [\r\n \"11.0.0.0/16\"\r\n ]\r\n + \ },\r\n \"dhcpOptions\": {\r\n \"dnsServers\": []\r\n },\r\n + \ \"subnets\": [\r\n {\r\n \"name\": \"aks-subnet\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/aks-subnet\",\r\n + \ \"etag\": \"W/\\\"3a625661-b2c5-4941-b833-26668f8f371f\\\"\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"addressPrefix\": \"11.0.0.0/24\",\r\n \"delegations\": + [],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n \"privateLinkServiceNetworkPolicies\": + \"Enabled\"\r\n },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets\"\r\n + \ }\r\n ],\r\n \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\": + false,\r\n \"enableVmProtection\": false\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1363' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 26 May 2020 16:18:37 GMT + etag: + - W/"3a625661-b2c5-4941-b833-26668f8f371f" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 72ce8c60-af83-44f0-9db3-ba27ff26f502 + status: + code: 200 + message: OK +- request: + body: 'b''{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003", + "location": "westus2", "tags": {}, "properties": {"addressSpace": {"addressPrefixes": + ["11.0.0.0/16"]}, "dhcpOptions": {"dnsServers": []}, "subnets": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/aks-subnet", + "properties": {"addressPrefix": "11.0.0.0/24", "delegations": [], "privateEndpointNetworkPolicies": + "Enabled", "privateLinkServiceNetworkPolicies": "Enabled"}, "name": "aks-subnet"}, + {"properties": {"addressPrefix": "11.0.1.0/24"}, "name": "appgw-subnet"}], "virtualNetworkPeerings": + [], "enableDdosProtection": false, "enableVmProtection": false}}''' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet subnet create + Connection: + - keep-alive + Content-Length: + - '830' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -n --resource-group --vnet-name --address-prefixes -o + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-mgmt-network/10.1.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"cliakstest000003\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003\",\r\n + \ \"etag\": \"W/\\\"aa3d2711-c80b-408e-ada2-b598dc8e598b\\\"\",\r\n \"type\": + \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"westus2\",\r\n + \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"resourceGuid\": \"3b2574a8-26fc-46d9-bd97-945bccaa082d\",\r\n \"addressSpace\": + {\r\n \"addressPrefixes\": [\r\n \"11.0.0.0/16\"\r\n ]\r\n + \ },\r\n \"dhcpOptions\": {\r\n \"dnsServers\": []\r\n },\r\n + \ \"subnets\": [\r\n {\r\n \"name\": \"aks-subnet\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/aks-subnet\",\r\n + \ \"etag\": \"W/\\\"aa3d2711-c80b-408e-ada2-b598dc8e598b\\\"\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"addressPrefix\": \"11.0.0.0/24\",\r\n \"delegations\": + [],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n \"privateLinkServiceNetworkPolicies\": + \"Enabled\"\r\n },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets\"\r\n + \ },\r\n {\r\n \"name\": \"appgw-subnet\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/appgw-subnet\",\r\n + \ \"etag\": \"W/\\\"aa3d2711-c80b-408e-ada2-b598dc8e598b\\\"\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"addressPrefix\": \"11.0.1.0/24\",\r\n \"delegations\": + [],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n \"privateLinkServiceNetworkPolicies\": + \"Enabled\"\r\n },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets\"\r\n + \ }\r\n ],\r\n \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\": + false,\r\n \"enableVmProtection\": false\r\n }\r\n}" + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/e8ad519a-330a-4ab3-a935-3100b621b4b2?api-version=2020-03-01 + cache-control: + - no-cache + content-length: + - '1990' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 26 May 2020 16:18:38 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - ac7eae5a-97fb-4067-a3b7-02259b4b811d + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet subnet create + Connection: + - keep-alive + ParameterSetName: + - -n --resource-group --vnet-name --address-prefixes -o + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-mgmt-network/10.1.0 Azure-SDK-For-Python AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/e8ad519a-330a-4ab3-a935-3100b621b4b2?api-version=2020-03-01 + response: + body: + string: "{\r\n \"status\": \"Succeeded\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '29' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 26 May 2020 16:18:40 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - a716c7a0-839d-4803-8e04-a531d17d5ff8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet subnet create + Connection: + - keep-alive + ParameterSetName: + - -n --resource-group --vnet-name --address-prefixes -o + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-mgmt-network/10.1.0 Azure-SDK-For-Python AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"cliakstest000003\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003\",\r\n + \ \"etag\": \"W/\\\"4beababd-b5fe-4a5d-8c06-e0f0dd0ce8e6\\\"\",\r\n \"type\": + \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"westus2\",\r\n + \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"resourceGuid\": \"3b2574a8-26fc-46d9-bd97-945bccaa082d\",\r\n \"addressSpace\": + {\r\n \"addressPrefixes\": [\r\n \"11.0.0.0/16\"\r\n ]\r\n + \ },\r\n \"dhcpOptions\": {\r\n \"dnsServers\": []\r\n },\r\n + \ \"subnets\": [\r\n {\r\n \"name\": \"aks-subnet\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/aks-subnet\",\r\n + \ \"etag\": \"W/\\\"4beababd-b5fe-4a5d-8c06-e0f0dd0ce8e6\\\"\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"addressPrefix\": \"11.0.0.0/24\",\r\n \"delegations\": + [],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n \"privateLinkServiceNetworkPolicies\": + \"Enabled\"\r\n },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets\"\r\n + \ },\r\n {\r\n \"name\": \"appgw-subnet\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/appgw-subnet\",\r\n + \ \"etag\": \"W/\\\"4beababd-b5fe-4a5d-8c06-e0f0dd0ce8e6\\\"\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"addressPrefix\": \"11.0.1.0/24\",\r\n \"delegations\": + [],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n \"privateLinkServiceNetworkPolicies\": + \"Enabled\"\r\n },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets\"\r\n + \ }\r\n ],\r\n \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\": + false,\r\n \"enableVmProtection\": false\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1993' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 26 May 2020 16:18:40 GMT + etag: + - W/"4beababd-b5fe-4a5d-8c06-e0f0dd0ce8e6" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 0052f08e-d432-4124-b237-e66d224a63c5 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-managed-identity --vnet-subnet-id -a --appgw-name + --appgw-subnet-id -o + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2019-07-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001","name":"clitest000001","type":"Microsoft.Resources/resourceGroups","location":"westus2","tags":{"product":"azurecli","cause":"automation","date":"2020-05-26T16:18:32Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '313' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 26 May 2020 16:18:41 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-managed-identity --vnet-subnet-id -a --appgw-name + --appgw-subnet-id -o + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-mgmt-authorization/0.52.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/aks-subnet/providers/Microsoft.Authorization/roleAssignments?$filter=atScope%28%29&api-version=2018-09-01-preview + response: + body: + string: '{"value":[{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"8a8f0a97-8644-4579-a5b1-a3c0d4862232","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","createdOn":"2020-03-19T11:46:14.1656017Z","updatedOn":"2020-03-19T11:46:14.1656017Z","createdBy":"3b675a45-60cc-456b-8666-52a8003b38e7","updatedBy":"3b675a45-60cc-456b-8666-52a8003b38e7"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c72dfc33-0c35-445d-bc0c-b59966b22355","type":"Microsoft.Authorization/roleAssignments","name":"c72dfc33-0c35-445d-bc0c-b59966b22355"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"8ff738a5-abcd-4864-a162-6c18f7c9cbd9","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","createdOn":"2020-03-14T03:31:35.9969748Z","updatedOn":"2020-03-14T03:31:35.9969748Z","createdBy":"a6920a4d-d20a-4ac6-a844-13565e224294","updatedBy":"a6920a4d-d20a-4ac6-a844-13565e224294"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/48db4402-8176-4884-bdf6-0484a8e5eefb","type":"Microsoft.Authorization/roleAssignments","name":"48db4402-8176-4884-bdf6-0484a8e5eefb"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7","principalId":"8a8f0a97-8644-4579-a5b1-a3c0d4862232","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","createdOn":"2020-03-19T11:46:11.5492276Z","updatedOn":"2020-03-19T11:46:11.5492276Z","createdBy":"3b675a45-60cc-456b-8666-52a8003b38e7","updatedBy":"3b675a45-60cc-456b-8666-52a8003b38e7"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/f3cd7225-ccb1-4559-b9bf-c05b9a98e752","type":"Microsoft.Authorization/roleAssignments","name":"f3cd7225-ccb1-4559-b9bf-c05b9a98e752"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"0fab726f-ac3b-4005-8300-4d8b71e543cb","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","createdOn":"2020-03-14T06:30:36.4249722Z","updatedOn":"2020-03-14T06:30:36.4249722Z","createdBy":"a6920a4d-d20a-4ac6-a844-13565e224294","updatedBy":"a6920a4d-d20a-4ac6-a844-13565e224294"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/5027b2ef-65bd-11ea-b6b5-0242ac110002","type":"Microsoft.Authorization/roleAssignments","name":"5027b2ef-65bd-11ea-b6b5-0242ac110002"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"73994283-0be5-406e-8b93-ff86da389c94","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","createdOn":"2020-03-25T04:06:11.4924059Z","updatedOn":"2020-03-25T04:06:11.4924059Z","createdBy":"a6920a4d-d20a-4ac6-a844-13565e224294","updatedBy":"a6920a4d-d20a-4ac6-a844-13565e224294"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/e9d8b6e8-39d0-44d7-86b2-524db630dd9f","type":"Microsoft.Authorization/roleAssignments","name":"e9d8b6e8-39d0-44d7-86b2-524db630dd9f"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"cb87f856-74ca-4cb0-a29a-4f9f059f89d9","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","createdOn":"2020-05-20T07:06:25.1407870Z","updatedOn":"2020-05-20T07:06:25.1407870Z","createdBy":"a6920a4d-d20a-4ac6-a844-13565e224294","updatedBy":"a6920a4d-d20a-4ac6-a844-13565e224294"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/002c2bb7-dcd9-4d01-8148-a58b2cb29faa","type":"Microsoft.Authorization/roleAssignments","name":"002c2bb7-dcd9-4d01-8148-a58b2cb29faa"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"d7a1c7e1-371a-43c1-bcfa-2a0f98fe8694","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","createdOn":"2020-03-10T02:11:51.7556492Z","updatedOn":"2020-03-10T02:11:51.7556492Z","createdBy":"a6920a4d-d20a-4ac6-a844-13565e224294","updatedBy":"a6920a4d-d20a-4ac6-a844-13565e224294"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/654177ad-ec8f-4092-98f1-83df7c9de1ef","type":"Microsoft.Authorization/roleAssignments","name":"654177ad-ec8f-4092-98f1-83df7c9de1ef"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/d73bb868-a0df-4d4d-bd69-98a00b01fccb","principalId":"8a8f0a97-8644-4579-a5b1-a3c0d4862232","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","createdOn":"2020-03-19T11:46:21.1115767Z","updatedOn":"2020-03-19T11:46:21.1115767Z","createdBy":"3b675a45-60cc-456b-8666-52a8003b38e7","updatedBy":"3b675a45-60cc-456b-8666-52a8003b38e7"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c83ae738-0943-4dad-a482-672f2efcfe59","type":"Microsoft.Authorization/roleAssignments","name":"c83ae738-0943-4dad-a482-672f2efcfe59"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7","principalId":"5c617d2b-99f8-4c90-98fe-dfe040fa33c1","principalType":"ServicePrincipal","scope":"/","createdOn":"2018-02-27T19:19:50.2663941Z","updatedOn":"2018-02-27T19:19:50.2663941Z","createdBy":null,"updatedBy":null},"id":"/providers/Microsoft.Authorization/roleAssignments/3e883d24-b106-42ff-ad13-d7bf271b964d","type":"Microsoft.Authorization/roleAssignments","name":"3e883d24-b106-42ff-ad13-d7bf271b964d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9","principalId":"1c8b3602-77a2-4e8a-8c1e-f127f2af5ca2","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/39349b3a-17e9-4bc8-81ad-2bd46e105074","createdOn":"2019-03-26T22:01:02.9203573Z","updatedOn":"2019-03-26T22:01:02.9203573Z","createdBy":"8701e34d-d7c2-459c-b2d7-f3a9c5204818","updatedBy":"8701e34d-d7c2-459c-b2d7-f3a9c5204818"},"id":"/providers/Microsoft.Management/managementGroups/39349b3a-17e9-4bc8-81ad-2bd46e105074/providers/Microsoft.Authorization/roleAssignments/4b5badf4-9ce8-48cd-835e-a28b4e1b445e","type":"Microsoft.Authorization/roleAssignments","name":"4b5badf4-9ce8-48cd-835e-a28b4e1b445e"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9","principalId":"1c8b3602-77a2-4e8a-8c1e-f127f2af5ca2","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","createdOn":"2019-03-26T22:01:02.9136073Z","updatedOn":"2019-03-26T22:01:02.9136073Z","createdBy":"8701e34d-d7c2-459c-b2d7-f3a9c5204818","updatedBy":"8701e34d-d7c2-459c-b2d7-f3a9c5204818"},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/6f4de15e-9316-4714-a7c4-40c46cf8e067","type":"Microsoft.Authorization/roleAssignments","name":"6f4de15e-9316-4714-a7c4-40c46cf8e067"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"096e33bd-3978-4b72-bb81-aa4f21faa155","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","createdOn":"2019-07-15T18:20:07.8710952Z","updatedOn":"2019-07-15T18:20:07.8710952Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c"},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/53e2331d-7097-4d99-a92c-9cf5dd912b02","type":"Microsoft.Authorization/roleAssignments","name":"53e2331d-7097-4d99-a92c-9cf5dd912b02"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"13c55e93-542e-463a-8a36-73d67f89ea1f","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","createdOn":"2019-07-15T18:20:00.5212035Z","updatedOn":"2019-07-15T18:20:00.5212035Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c"},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/76292cf7-556b-4a88-a469-75a7e3893adc","type":"Microsoft.Authorization/roleAssignments","name":"76292cf7-556b-4a88-a469-75a7e3893adc"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"21dda55b-ee95-4ba5-aace-58e017451c1d","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","createdOn":"2019-07-15T18:19:57.9722094Z","updatedOn":"2019-07-15T18:19:57.9722094Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c"},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/11b6023d-415b-4f99-9c4b-70c1d1d83041","type":"Microsoft.Authorization/roleAssignments","name":"11b6023d-415b-4f99-9c4b-70c1d1d83041"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"27b2ace7-5ddd-49c3-aa81-0e87abdb9724","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","createdOn":"2019-07-15T18:20:02.9931002Z","updatedOn":"2019-07-15T18:20:02.9931002Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c"},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/128167e6-8431-4087-86c2-c5de68d4314b","type":"Microsoft.Authorization/roleAssignments","name":"128167e6-8431-4087-86c2-c5de68d4314b"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"2ac3f52f-f3ad-40a4-9b2d-aa24e4c7bbba","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","createdOn":"2020-02-25T18:36:13.2137492Z","updatedOn":"2020-02-25T18:36:13.2137492Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c"},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/18fdd87e-1c01-424e-b380-32310f4940c2","type":"Microsoft.Authorization/roleAssignments","name":"18fdd87e-1c01-424e-b380-32310f4940c2"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"3de59bcf-93d8-4eff-95db-d6d9b8751eee","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","createdOn":"2019-07-15T18:19:51.9501395Z","updatedOn":"2019-07-15T18:19:51.9501395Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c"},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/a06d1602-e5d3-45bc-9c27-c7c8151ccd63","type":"Microsoft.Authorization/roleAssignments","name":"a06d1602-e5d3-45bc-9c27-c7c8151ccd63"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"439882e1-d603-45dd-9e62-8592309d7aa4","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","createdOn":"2019-07-15T18:20:13.7008054Z","updatedOn":"2019-07-15T18:20:13.7008054Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c"},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/ee5e7d26-39b1-454d-aff6-85b92343297a","type":"Microsoft.Authorization/roleAssignments","name":"ee5e7d26-39b1-454d-aff6-85b92343297a"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"4a113caa-961f-4535-ac9b-79bfba8b9ed2","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","createdOn":"2020-02-25T18:36:00.4746112Z","updatedOn":"2020-02-25T18:36:00.4746112Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c"},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/d9bcf58a-6f24-446d-bf60-20ffe5142396","type":"Microsoft.Authorization/roleAssignments","name":"d9bcf58a-6f24-446d-bf60-20ffe5142396"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"4fd162ac-c74a-4e79-9952-81fff83cbeea","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","createdOn":"2019-07-15T18:20:05.6271257Z","updatedOn":"2019-07-15T18:20:05.6271257Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c"},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/455cd407-b6d3-499d-ba84-696f5a496ee7","type":"Microsoft.Authorization/roleAssignments","name":"455cd407-b6d3-499d-ba84-696f5a496ee7"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"56d08bc2-cc29-4d23-9d23-fd396b807b02","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","createdOn":"2020-02-25T18:35:55.7490022Z","updatedOn":"2020-02-25T18:35:55.7490022Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c"},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/6e2b954b-42b2-48e0-997a-622601f0a4b4","type":"Microsoft.Authorization/roleAssignments","name":"6e2b954b-42b2-48e0-997a-622601f0a4b4"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"6179a082-c057-4fe3-8118-916b816a42e3","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","createdOn":"2020-02-25T18:35:57.9173081Z","updatedOn":"2020-02-25T18:35:57.9173081Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c"},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/8d76aaa3-fcfd-4ea5-8c7c-363d250e7ae9","type":"Microsoft.Authorization/roleAssignments","name":"8d76aaa3-fcfd-4ea5-8c7c-363d250e7ae9"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"6fe923a8-2e4d-4c1f-b7d6-a7c5984f0129","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","createdOn":"2020-02-25T18:36:23.0673659Z","updatedOn":"2020-02-25T18:36:23.0673659Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c"},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/d0817c57-3e5b-4363-88b7-52baadd5c362","type":"Microsoft.Authorization/roleAssignments","name":"d0817c57-3e5b-4363-88b7-52baadd5c362"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"7951777e-acb7-4c1c-b131-aa2e639b0481","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","createdOn":"2019-07-15T18:20:11.2064664Z","updatedOn":"2019-07-15T18:20:11.2064664Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c"},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/4aa9660c-99d1-41b9-b511-f3d7fa017b0c","type":"Microsoft.Authorization/roleAssignments","name":"4aa9660c-99d1-41b9-b511-f3d7fa017b0c"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"7c2d0d59-528c-434a-8c6c-03330539cad2","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","createdOn":"2020-02-25T18:36:31.2596366Z","updatedOn":"2020-02-25T18:36:31.2596366Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c"},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/0dabf212-a1c7-4af6-ba8b-be045493b368","type":"Microsoft.Authorization/roleAssignments","name":"0dabf212-a1c7-4af6-ba8b-be045493b368"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"7d7aed0a-228e-420b-a6a2-82a49dacb8cb","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","createdOn":"2020-02-25T18:35:52.9188704Z","updatedOn":"2020-02-25T18:35:52.9188704Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c"},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/d674b853-332e-4437-9ddb-bba8fde7ccce","type":"Microsoft.Authorization/roleAssignments","name":"d674b853-332e-4437-9ddb-bba8fde7ccce"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"941c0157-bdd0-499a-aba0-be1244f82ab1","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","createdOn":"2019-07-15T18:19:54.6845513Z","updatedOn":"2019-07-15T18:19:54.6845513Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c"},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/9aba8539-6e15-439f-83d0-18999e7a3186","type":"Microsoft.Authorization/roleAssignments","name":"9aba8539-6e15-439f-83d0-18999e7a3186"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"985bb80e-8113-4542-8d68-418589e6ff34","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","createdOn":"2020-02-25T18:36:02.5324969Z","updatedOn":"2020-02-25T18:36:02.5324969Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c"},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/b4bdc3a7-78e2-4b26-8b90-e474aa120b47","type":"Microsoft.Authorization/roleAssignments","name":"b4bdc3a7-78e2-4b26-8b90-e474aa120b47"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"b7a49237-f5b0-473f-a4ff-6830d23af17d","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","createdOn":"2020-02-25T18:36:38.8393742Z","updatedOn":"2020-02-25T18:36:38.8393742Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c"},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/00625383-053d-4227-a4db-b098e9bd2289","type":"Microsoft.Authorization/roleAssignments","name":"00625383-053d-4227-a4db-b098e9bd2289"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"c1181647-15a3-4d44-ac0e-34c45c204d9f","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","createdOn":"2019-07-15T18:16:56.7391341Z","updatedOn":"2019-07-15T18:16:56.7391341Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c"},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/1ab6e86f-40bc-4d22-8af4-46820b939205","type":"Microsoft.Authorization/roleAssignments","name":"1ab6e86f-40bc-4d22-8af4-46820b939205"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"f2e939bc-742a-42f9-a27a-f0982c6e3f64","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","createdOn":"2020-02-25T18:36:05.0954462Z","updatedOn":"2020-02-25T18:36:05.0954462Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c"},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/3151fe9c-fcd2-45d3-a256-72fb13b86df5","type":"Microsoft.Authorization/roleAssignments","name":"3151fe9c-fcd2-45d3-a256-72fb13b86df5"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/9980e02c-c2be-4d73-94e8-173b1dc7cf3c","principalId":"8845dee4-c749-46a4-b8e8-35512cf066cd","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","createdOn":"2019-09-06T19:25:22.9839570Z","updatedOn":"2019-09-06T19:25:22.9839570Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c"},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/9c37d50b-3a02-4ece-a581-9f9245ad884b","type":"Microsoft.Authorization/roleAssignments","name":"9c37d50b-3a02-4ece-a581-9f9245ad884b"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9","principalId":"1c8b3602-77a2-4e8a-8c1e-f127f2af5ca2","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/CnAIOrchestrationServicePublicCorpprod","createdOn":"2019-03-26T22:01:02.9176787Z","updatedOn":"2019-03-26T22:01:02.9176787Z","createdBy":"8701e34d-d7c2-459c-b2d7-f3a9c5204818","updatedBy":"8701e34d-d7c2-459c-b2d7-f3a9c5204818"},"id":"/providers/Microsoft.Management/managementGroups/CnAIOrchestrationServicePublicCorpprod/providers/Microsoft.Authorization/roleAssignments/4b771ea9-81de-4fc4-aa28-a3a0b9b4a320","type":"Microsoft.Authorization/roleAssignments","name":"4b771ea9-81de-4fc4-aa28-a3a0b9b4a320"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/36243c78-bf99-498c-9df9-86d9f8d28608","principalId":"1f75b9dd-4f1d-4e80-9521-321a8b1f5764","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/CnAIOrchestrationServicePublicCorpprod","createdOn":"2019-03-27T00:49:37.3000523Z","updatedOn":"2019-03-27T00:49:37.3000523Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c"},"id":"/providers/Microsoft.Management/managementGroups/CnAIOrchestrationServicePublicCorpprod/providers/Microsoft.Authorization/roleAssignments/e6e1fffd-83f7-40c7-9f33-e56e2cf75b29","type":"Microsoft.Authorization/roleAssignments","name":"e6e1fffd-83f7-40c7-9f33-e56e2cf75b29"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/5d58bcaf-24a5-4b20-bdb6-eed9f69fbe4c","principalId":"1f75b9dd-4f1d-4e80-9521-321a8b1f5764","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/CnAIOrchestrationServicePublicCorpprod","createdOn":"2019-03-27T00:50:08.3039053Z","updatedOn":"2019-03-27T00:50:08.3039053Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c"},"id":"/providers/Microsoft.Management/managementGroups/CnAIOrchestrationServicePublicCorpprod/providers/Microsoft.Authorization/roleAssignments/3d01f56e-ee3a-41ed-a775-0e067546cb12","type":"Microsoft.Authorization/roleAssignments","name":"3d01f56e-ee3a-41ed-a775-0e067546cb12"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7","principalId":"ce2366a6-64d7-441b-939c-c9d23f91cccd","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/72f988bf-86f1-41af-91ab-2d7cd011db47","createdOn":"2020-03-12T20:43:06.5941189Z","updatedOn":"2020-03-12T20:43:06.5941189Z","createdBy":"606f48c8-d219-4875-991d-ae6befaf0756","updatedBy":"606f48c8-d219-4875-991d-ae6befaf0756"},"id":"/providers/Microsoft.Management/managementGroups/72f988bf-86f1-41af-91ab-2d7cd011db47/providers/Microsoft.Authorization/roleAssignments/ad9e2cd7-0ff7-4931-9b17-656c8f17934b","type":"Microsoft.Authorization/roleAssignments","name":"ad9e2cd7-0ff7-4931-9b17-656c8f17934b"}]}' + headers: + cache-control: + - no-cache + content-length: + - '28906' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 26 May 2020 16:18:41 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - x-ms-gateway-slice=Production; path=/; SameSite=None; secure; HttpOnly + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-managed-identity --vnet-subnet-id -a --appgw-name + --appgw-subnet-id -o + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-mgmt-authorization/0.52.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/aks-subnet/providers/Microsoft.Authorization/roleDefinitions?$filter=roleName%20eq%20%27Network%20Contributor%27&api-version=2018-01-01-preview + response: + body: + string: '{"value":[{"properties":{"roleName":"Network Contributor","type":"BuiltInRole","description":"Lets + you manage networks, but not access to them.","assignableScopes":["/"],"permissions":[{"actions":["Microsoft.Authorization/*/read","Microsoft.Insights/alertRules/*","Microsoft.Network/*","Microsoft.ResourceHealth/availabilityStatuses/read","Microsoft.Resources/deployments/*","Microsoft.Resources/subscriptions/resourceGroups/read","Microsoft.Support/*"],"notActions":[],"dataActions":[],"notDataActions":[]}],"createdOn":"2015-06-02T00:18:27.3542698Z","updatedOn":"2016-05-31T23:14:00.3326359Z","createdBy":null,"updatedBy":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","type":"Microsoft.Authorization/roleDefinitions","name":"4d97b98b-1d4f-4787-a291-c67834d212e7"}]}' + headers: + cache-control: + - no-cache + content-length: + - '873' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 26 May 2020 16:18:41 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - x-ms-gateway-slice=Production; path=/; SameSite=None; secure; HttpOnly + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-managed-identity --vnet-subnet-id -a --appgw-name + --appgw-subnet-id -o + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-graphrbac/0.60.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: GET + uri: https://graph.windows.net/00000000-0000-0000-0000-000000000000/servicePrincipals?$filter=servicePrincipalNames%2Fany%28c%3Ac%20eq%20%27efe70525-74c7-4e99-b80d-970b901032c4%27%29&api-version=1.6 + response: + body: + string: '{"odata.metadata":"https://graph.windows.net/00000000-0000-0000-0000-000000000000/$metadata#directoryObjects","value":[{"odata.type":"Microsoft.DirectoryServices.ServicePrincipal","objectType":"ServicePrincipal","objectId":"ffc03b4e-1c7c-4f24-80c8-975accb7db18","deletionTimestamp":null,"accountEnabled":true,"addIns":[],"alternativeNames":[],"appDisplayName":"cluster1","appId":"efe70525-74c7-4e99-b80d-970b901032c4","applicationTemplateId":null,"appOwnerTenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","appRoleAssignmentRequired":false,"appRoles":[],"displayName":"cluster1","errorUrl":null,"homepage":"http://8fdcc9.cluster1-create-gateway-86501d.westus.cloudapp.azure.com","informationalUrls":{"termsOfService":null,"support":null,"privacy":null,"marketing":null},"keyCredentials":[],"logoutUrl":null,"notificationEmailAddresses":[],"oauth2Permissions":[{"adminConsentDescription":"Allow + the application to access cluster1 on behalf of the signed-in user.","adminConsentDisplayName":"Access + cluster1","id":"3fff9fea-0c9b-44b9-a699-d8fdc046a488","isEnabled":true,"type":"User","userConsentDescription":"Allow + the application to access cluster1 on your behalf.","userConsentDisplayName":"Access + cluster1","value":"user_impersonation"}],"passwordCredentials":[],"preferredSingleSignOnMode":null,"preferredTokenSigningKeyEndDateTime":null,"preferredTokenSigningKeyThumbprint":null,"publisherName":"Microsoft","replyUrls":[],"samlMetadataUrl":null,"samlSingleSignOnSettings":null,"servicePrincipalNames":["http://8fdcc9.cluster1-create-gateway-86501d.westus.cloudapp.azure.com","efe70525-74c7-4e99-b80d-970b901032c4"],"servicePrincipalType":"Application","signInAudience":"AzureADMyOrg","tags":[],"tokenEncryptionKeyId":null}]}' + headers: + access-control-allow-origin: + - '*' + cache-control: + - no-cache + content-length: + - '1727' + content-type: + - application/json; odata=minimalmetadata; streaming=true; charset=utf-8 + dataserviceversion: + - 3.0; + date: + - Tue, 26 May 2020 16:18:42 GMT + duration: + - '640960' + expires: + - '-1' + ocp-aad-diagnostics-server-name: + - Ejlln//HW8QHQEvfdHqbS3KozJkF5qO/py2QoUOMx9s= + ocp-aad-session-key: + - RVMkqQips11UCsXJmWmp-JJsuLcO67cklYjzudzCSMwiMtUQaA6q7zaHXokqfUwitmsyklY7bncVeTjOHO1uQ0xZtkj5mdvpCPqTrNxXcQ0yZhwR7z44BksCX71fY-2l.2OEI6sbRJBa0ZZw-d_LKi6VWjtxT2MerAUmrar6F4i4 + pragma: + - no-cache + request-id: + - 164a143d-0408-48be-addd-ff637fe1e8d0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-ms-dirapi-data-contract-version: + - '1.6' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"properties": {"roleDefinitionId": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7", + "principalId": "ffc03b4e-1c7c-4f24-80c8-975accb7db18"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + Content-Length: + - '233' + Content-Type: + - application/json; charset=utf-8 + Cookie: + - x-ms-gateway-slice=Production + ParameterSetName: + - --resource-group --name --enable-managed-identity --vnet-subnet-id -a --appgw-name + --appgw-subnet-id -o + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-mgmt-authorization/0.52.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/aks-subnet/providers/Microsoft.Authorization/roleAssignments/15ab9b61-4c54-4429-a47c-3a2db2365e9d?api-version=2018-09-01-preview + response: + body: + string: '{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"ffc03b4e-1c7c-4f24-80c8-975accb7db18","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/aks-subnet","createdOn":"2020-05-26T16:18:42.3092868Z","updatedOn":"2020-05-26T16:18:42.3092868Z","createdBy":null,"updatedBy":"a6920a4d-d20a-4ac6-a844-13565e224294"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/aks-subnet/providers/Microsoft.Authorization/roleAssignments/15ab9b61-4c54-4429-a47c-3a2db2365e9d","type":"Microsoft.Authorization/roleAssignments","name":"15ab9b61-4c54-4429-a47c-3a2db2365e9d"}' + headers: + cache-control: + - no-cache + content-length: + - '947' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 26 May 2020 16:18:43 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - x-ms-gateway-slice=Production; path=/; secure; HttpOnly; SameSite=None + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 201 + message: Created +- request: + body: 'b''{"location": "westus2", "properties": {"kubernetesVersion": "", "dnsPrefix": + "cliakstest-clitest3o3brxx4p-86501d", "agentPoolProfiles": [{"count": 3, "vmSize": + "Standard_DS2_v2", "vnetSubnetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/aks-subnet", + "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": "System", "enableNodePublicIP": + false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": "Delete", "name": + "nodepool1"}], "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": + [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDdabawEfwOujYnckZRvvkrcqoR+c2bLuoiOddqujUWHu+fBTEwDd8nB0vBemdGLNHmo7B3qpXyq9pcplUaGYzCmRZtnYy35UOtCinMqyT3mIJshJA1cIw70nFJbr2gvDl+XXtxmd59k5bWMUjzNdynurjhcA53b1fMHTFXSd5ugtbJ4SyZxPkNWxRtJ9Dg2RslMZ+3ZA9y8iAAMxnX85HpG1UMpwzvEM/jPoFd43UYB5TFZIRAcvlkZTQKaBtFW+Khg7Jx5C3iyPzSMAgDzS4WsJBCfABpJ8nnGzBEi/orhFydtkE/zsXOEMY8ppUpnBLN+LXD1gqWhEYRLF7atYd3 + vsonline@c541134d8e01\\n"}]}}, "servicePrincipalProfile": {"clientId": "efe70525-74c7-4e99-b80d-970b901032c4", + "secret": "1fa5b2295678c53514fa$"}, "addonProfiles": {"IngressApplicationGateway": + {"enabled": true, "config": {"applicationGatewayName": "gateway", "subnetId": + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/appgw-subnet"}}}, + "enableRBAC": true, "enablePodSecurityPolicy": false, "networkProfile": {"networkPlugin": + "kubenet", "podCidr": "10.244.0.0/16", "serviceCidr": "10.0.0.0/16", "dnsServiceIP": + "10.0.0.10", "dockerBridgeCidr": "172.17.0.1/16", "outboundType": "loadBalancer", + "loadBalancerSku": "standard"}}, "identity": {"type": "SystemAssigned"}}''' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + Content-Length: + - '1791' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - --resource-group --name --enable-managed-identity --vnet-subnet-id -a --appgw-name + --appgw-subnet-id -o + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-mgmt-containerservice/4.4.2 Azure-SDK-For-Python + AZURECLI/2.6.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2020-04-01 + response: + body: + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n + \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": + \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": + \"Creating\",\n \"kubernetesVersion\": \"1.15.11\",\n \"dnsPrefix\": \"cliakstest-clitest3o3brxx4p-86501d\",\n + \ \"fqdn\": \"cliakstest-clitest3o3brxx4p-86501d-eb6a17d6.hcp.westus2.staging.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": + 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 100,\n \"vnetSubnetID\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/aks-subnet\",\n + \ \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": + \"Creating\",\n \"orchestratorVersion\": \"1.15.11\",\n \"enableNodePublicIP\": + false,\n \"nodeLabels\": {},\n \"mode\": \"System\",\n \"osType\": + \"Linux\"\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDdabawEfwOujYnckZRvvkrcqoR+c2bLuoiOddqujUWHu+fBTEwDd8nB0vBemdGLNHmo7B3qpXyq9pcplUaGYzCmRZtnYy35UOtCinMqyT3mIJshJA1cIw70nFJbr2gvDl+XXtxmd59k5bWMUjzNdynurjhcA53b1fMHTFXSd5ugtbJ4SyZxPkNWxRtJ9Dg2RslMZ+3ZA9y8iAAMxnX85HpG1UMpwzvEM/jPoFd43UYB5TFZIRAcvlkZTQKaBtFW+Khg7Jx5C3iyPzSMAgDzS4WsJBCfABpJ8nnGzBEi/orhFydtkE/zsXOEMY8ppUpnBLN+LXD1gqWhEYRLF7atYd3 + vsonline@c541134d8e01\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\": \"msi\"\n },\n \"addonProfiles\": {\n \"IngressApplicationGateway\": + {\n \"enabled\": true,\n \"config\": {\n \"applicationGatewayName\": + \"gateway\",\n \"subnetId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/appgw-subnet\"\n + \ }\n }\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n + \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": + {\n \"networkPlugin\": \"kubenet\",\n \"loadBalancerSku\": \"standard\",\n + \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": + 1\n }\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\": + \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\"\n },\n \"maxAgentPools\": + 10\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\": + \"80ce46a0-9998-48fc-8942-eda0fa2b9f32\",\n \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n + \ },\n \"sku\": {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n + }" + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/da31ab1f-bbd1-4d76-a030-3113fefaf16b?api-version=2016-03-30 + cache-control: + - no-cache + content-length: + - '2779' + content-type: + - application/json + date: + - Tue, 26 May 2020 16:18:50 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-managed-identity --vnet-subnet-id -a --appgw-name + --appgw-subnet-id -o + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-mgmt-containerservice/4.4.2 Azure-SDK-For-Python + AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/da31ab1f-bbd1-4d76-a030-3113fefaf16b?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"1fab31da-d1bb-764d-a030-3113fefaf16b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2020-05-26T16:18:50.6184484Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Tue, 26 May 2020 16:19:20 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-managed-identity --vnet-subnet-id -a --appgw-name + --appgw-subnet-id -o + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-mgmt-containerservice/4.4.2 Azure-SDK-For-Python + AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/da31ab1f-bbd1-4d76-a030-3113fefaf16b?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"1fab31da-d1bb-764d-a030-3113fefaf16b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2020-05-26T16:18:50.6184484Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Tue, 26 May 2020 16:19:50 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-managed-identity --vnet-subnet-id -a --appgw-name + --appgw-subnet-id -o + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-mgmt-containerservice/4.4.2 Azure-SDK-For-Python + AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/da31ab1f-bbd1-4d76-a030-3113fefaf16b?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"1fab31da-d1bb-764d-a030-3113fefaf16b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2020-05-26T16:18:50.6184484Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Tue, 26 May 2020 16:20:20 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-managed-identity --vnet-subnet-id -a --appgw-name + --appgw-subnet-id -o + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-mgmt-containerservice/4.4.2 Azure-SDK-For-Python + AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/da31ab1f-bbd1-4d76-a030-3113fefaf16b?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"1fab31da-d1bb-764d-a030-3113fefaf16b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2020-05-26T16:18:50.6184484Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Tue, 26 May 2020 16:20:50 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-managed-identity --vnet-subnet-id -a --appgw-name + --appgw-subnet-id -o + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-mgmt-containerservice/4.4.2 Azure-SDK-For-Python + AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/da31ab1f-bbd1-4d76-a030-3113fefaf16b?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"1fab31da-d1bb-764d-a030-3113fefaf16b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2020-05-26T16:18:50.6184484Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Tue, 26 May 2020 16:21:20 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-managed-identity --vnet-subnet-id -a --appgw-name + --appgw-subnet-id -o + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-mgmt-containerservice/4.4.2 Azure-SDK-For-Python + AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/da31ab1f-bbd1-4d76-a030-3113fefaf16b?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"1fab31da-d1bb-764d-a030-3113fefaf16b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2020-05-26T16:18:50.6184484Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Tue, 26 May 2020 16:21:51 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-managed-identity --vnet-subnet-id -a --appgw-name + --appgw-subnet-id -o + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-mgmt-containerservice/4.4.2 Azure-SDK-For-Python + AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/da31ab1f-bbd1-4d76-a030-3113fefaf16b?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"1fab31da-d1bb-764d-a030-3113fefaf16b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2020-05-26T16:18:50.6184484Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Tue, 26 May 2020 16:22:20 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-managed-identity --vnet-subnet-id -a --appgw-name + --appgw-subnet-id -o + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-mgmt-containerservice/4.4.2 Azure-SDK-For-Python + AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/da31ab1f-bbd1-4d76-a030-3113fefaf16b?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"1fab31da-d1bb-764d-a030-3113fefaf16b\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2020-05-26T16:18:50.6184484Z\",\n \"endTime\": + \"2020-05-26T16:22:46.9623618Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '170' + content-type: + - application/json + date: + - Tue, 26 May 2020 16:22:50 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-managed-identity --vnet-subnet-id -a --appgw-name + --appgw-subnet-id -o + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-mgmt-containerservice/4.4.2 Azure-SDK-For-Python + AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2020-04-01 + response: + body: + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n + \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": + \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": + \"Succeeded\",\n \"kubernetesVersion\": \"1.15.11\",\n \"dnsPrefix\": + \"cliakstest-clitest3o3brxx4p-86501d\",\n \"fqdn\": \"cliakstest-clitest3o3brxx4p-86501d-eb6a17d6.hcp.westus2.staging.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": + 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 100,\n \"vnetSubnetID\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/aks-subnet\",\n + \ \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": + \"Succeeded\",\n \"orchestratorVersion\": \"1.15.11\",\n \"enableNodePublicIP\": + false,\n \"nodeLabels\": {},\n \"mode\": \"System\",\n \"osType\": + \"Linux\"\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDdabawEfwOujYnckZRvvkrcqoR+c2bLuoiOddqujUWHu+fBTEwDd8nB0vBemdGLNHmo7B3qpXyq9pcplUaGYzCmRZtnYy35UOtCinMqyT3mIJshJA1cIw70nFJbr2gvDl+XXtxmd59k5bWMUjzNdynurjhcA53b1fMHTFXSd5ugtbJ4SyZxPkNWxRtJ9Dg2RslMZ+3ZA9y8iAAMxnX85HpG1UMpwzvEM/jPoFd43UYB5TFZIRAcvlkZTQKaBtFW+Khg7Jx5C3iyPzSMAgDzS4WsJBCfABpJ8nnGzBEi/orhFydtkE/zsXOEMY8ppUpnBLN+LXD1gqWhEYRLF7atYd3 + vsonline@c541134d8e01\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\": \"msi\"\n },\n \"addonProfiles\": {\n \"IngressApplicationGateway\": + {\n \"enabled\": true,\n \"config\": {\n \"applicationGatewayName\": + \"gateway\",\n \"subnetId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/appgw-subnet\"\n + \ },\n \"identity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ingressapplicationgateway-cliakstest000002\",\n + \ \"clientId\": \"d4abe0d0-fddf-4df9-b9aa-1425d821d54e\",\n \"objectId\": + \"0284a9b7-6cc7-4729-bacc-2412fd3383c3\"\n }\n }\n },\n \"nodeResourceGroup\": + \"MC_clitest000001_cliakstest000002_westus2\",\n \"enableRBAC\": true,\n + \ \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": + \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n \"loadBalancerProfile\": + {\n \"managedOutboundIPs\": {\n \"count\": 1\n },\n \"effectiveOutboundIPs\": + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/6208cbe6-4c91-4951-b076-6659b4023863\"\n + \ }\n ]\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\": + \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\"\n },\n \"maxAgentPools\": + 10,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n + \ \"clientId\": \"56a4f15a-0752-4f62-92a8-074a801cd373\",\n \"objectId\": + \"92bbf422-ed7b-41c2-b171-a21347f97d34\"\n }\n }\n },\n \"identity\": + {\n \"type\": \"SystemAssigned\",\n \"principalId\": \"80ce46a0-9998-48fc-8942-eda0fa2b9f32\",\n + \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": + {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" + headers: + cache-control: + - no-cache + content-length: + - '3822' + content-type: + - application/json + date: + - Tue, 26 May 2020 16:22:51 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-managed-identity --vnet-subnet-id -a --appgw-name + --appgw-subnet-id -o + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-mgmt-authorization/0.52.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/appgw-subnet/providers/Microsoft.Authorization/roleDefinitions?$filter=roleName%20eq%20%27Network%20Contributor%27&api-version=2018-01-01-preview + response: + body: + string: '{"value":[{"properties":{"roleName":"Network Contributor","type":"BuiltInRole","description":"Lets + you manage networks, but not access to them.","assignableScopes":["/"],"permissions":[{"actions":["Microsoft.Authorization/*/read","Microsoft.Insights/alertRules/*","Microsoft.Network/*","Microsoft.ResourceHealth/availabilityStatuses/read","Microsoft.Resources/deployments/*","Microsoft.Resources/subscriptions/resourceGroups/read","Microsoft.Support/*"],"notActions":[],"dataActions":[],"notDataActions":[]}],"createdOn":"2015-06-02T00:18:27.3542698Z","updatedOn":"2016-05-31T23:14:00.3326359Z","createdBy":null,"updatedBy":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","type":"Microsoft.Authorization/roleDefinitions","name":"4d97b98b-1d4f-4787-a291-c67834d212e7"}]}' + headers: + cache-control: + - no-cache + content-length: + - '873' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 26 May 2020 16:22:53 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - x-ms-gateway-slice=Production; path=/; SameSite=None; secure; HttpOnly + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"properties": {"roleDefinitionId": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7", + "principalId": "0284a9b7-6cc7-4729-bacc-2412fd3383c3"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + Content-Length: + - '233' + Content-Type: + - application/json; charset=utf-8 + Cookie: + - x-ms-gateway-slice=Production + ParameterSetName: + - --resource-group --name --enable-managed-identity --vnet-subnet-id -a --appgw-name + --appgw-subnet-id -o + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-mgmt-authorization/0.52.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/appgw-subnet/providers/Microsoft.Authorization/roleAssignments/6b3f3db8-ba87-4bfd-a652-f793ee5b53e2?api-version=2018-09-01-preview + response: + body: + string: '{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"0284a9b7-6cc7-4729-bacc-2412fd3383c3","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/appgw-subnet","createdOn":"2020-05-26T16:22:53.4609655Z","updatedOn":"2020-05-26T16:22:53.4609655Z","createdBy":null,"updatedBy":"a6920a4d-d20a-4ac6-a844-13565e224294"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/appgw-subnet/providers/Microsoft.Authorization/roleAssignments/6b3f3db8-ba87-4bfd-a652-f793ee5b53e2","type":"Microsoft.Authorization/roleAssignments","name":"6b3f3db8-ba87-4bfd-a652-f793ee5b53e2"}' + headers: + cache-control: + - no-cache + content-length: + - '951' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 26 May 2020 16:22:54 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - x-ms-gateway-slice=Production; path=/; secure; HttpOnly; SameSite=None + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - role assignment list + Connection: + - keep-alive + ParameterSetName: + - --assignee --scope --role -o + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-graphrbac/0.60.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: GET + uri: https://graph.windows.net/00000000-0000-0000-0000-000000000000/servicePrincipals?$filter=servicePrincipalNames%2Fany%28c%3Ac%20eq%20%27d4abe0d0-fddf-4df9-b9aa-1425d821d54e%27%29&api-version=1.6 + response: + body: + string: '{"odata.metadata":"https://graph.windows.net/00000000-0000-0000-0000-000000000000/$metadata#directoryObjects","value":[{"odata.type":"Microsoft.DirectoryServices.ServicePrincipal","objectType":"ServicePrincipal","objectId":"0284a9b7-6cc7-4729-bacc-2412fd3383c3","deletionTimestamp":null,"accountEnabled":true,"addIns":[],"alternativeNames":["isExplicit=True","/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ingressapplicationgateway-cliakstest000002"],"appDisplayName":null,"appId":"d4abe0d0-fddf-4df9-b9aa-1425d821d54e","applicationTemplateId":null,"appOwnerTenantId":null,"appRoleAssignmentRequired":false,"appRoles":[],"displayName":"ingressapplicationgateway-cliakstest000002","errorUrl":null,"homepage":null,"informationalUrls":null,"keyCredentials":[{"customKeyIdentifier":"5F5E8374A74099EBB18A05530A58C18A29710553","endDate":"2020-08-24T16:14:00Z","keyId":"f0d5fba6-d0ae-4562-9a9a-8881e86b520a","startDate":"2020-05-26T16:14:00Z","type":"AsymmetricX509Cert","usage":"Verify","value":null}],"logoutUrl":null,"notificationEmailAddresses":[],"oauth2Permissions":[],"passwordCredentials":[],"preferredSingleSignOnMode":null,"preferredTokenSigningKeyEndDateTime":null,"preferredTokenSigningKeyThumbprint":null,"publisherName":null,"replyUrls":[],"samlMetadataUrl":null,"samlSingleSignOnSettings":null,"servicePrincipalNames":["d4abe0d0-fddf-4df9-b9aa-1425d821d54e","https://identity.azure.net/mDTrxY+AvIoNffjW/kYzhUH7L171dG2tXeLIs8XtMZ4="],"servicePrincipalType":"ManagedIdentity","signInAudience":null,"tags":[],"tokenEncryptionKeyId":null}]}' + headers: + access-control-allow-origin: + - '*' + cache-control: + - no-cache + content-length: + - '1670' + content-type: + - application/json; odata=minimalmetadata; streaming=true; charset=utf-8 + dataserviceversion: + - 3.0; + date: + - Tue, 26 May 2020 16:22:54 GMT + duration: + - '1122601' + expires: + - '-1' + ocp-aad-diagnostics-server-name: + - Ejlln//HW8QHQEvfdHqbS3KozJkF5qO/py2QoUOMx9s= + ocp-aad-session-key: + - BVy0nLDn2BmwuZu4yR1CObNCn-09FSh1VBZy2BhkADwMXOQYckzEe7BdmLb8jnyK9JUFdHLMzce1mTwaDu32Zz6y8Gm_wAsAwXsXHLpuU0hG-uiboW5ngIGQKhE5-Evk.LnZQpr-ceAyrwKJ-xlbA3hf_rzutj3gAavWE9pwf-1c + pragma: + - no-cache + request-id: + - 4211480b-72d7-42ee-a354-495f5e3e4eb5 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-ms-dirapi-data-contract-version: + - '1.6' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - role assignment list + Connection: + - keep-alive + ParameterSetName: + - --assignee --scope --role -o + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-mgmt-authorization/0.52.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/appgw-subnet/providers/Microsoft.Authorization/roleAssignments?$filter=atScope%28%29&api-version=2018-09-01-preview + response: + body: + string: '{"value":[{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"0284a9b7-6cc7-4729-bacc-2412fd3383c3","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/appgw-subnet","createdOn":"2020-05-26T16:22:54.5659980Z","updatedOn":"2020-05-26T16:22:54.5659980Z","createdBy":"a6920a4d-d20a-4ac6-a844-13565e224294","updatedBy":"a6920a4d-d20a-4ac6-a844-13565e224294"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/appgw-subnet/providers/Microsoft.Authorization/roleAssignments/6b3f3db8-ba87-4bfd-a652-f793ee5b53e2","type":"Microsoft.Authorization/roleAssignments","name":"6b3f3db8-ba87-4bfd-a652-f793ee5b53e2"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"8a8f0a97-8644-4579-a5b1-a3c0d4862232","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","createdOn":"2020-03-19T11:46:14.1656017Z","updatedOn":"2020-03-19T11:46:14.1656017Z","createdBy":"3b675a45-60cc-456b-8666-52a8003b38e7","updatedBy":"3b675a45-60cc-456b-8666-52a8003b38e7"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c72dfc33-0c35-445d-bc0c-b59966b22355","type":"Microsoft.Authorization/roleAssignments","name":"c72dfc33-0c35-445d-bc0c-b59966b22355"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"8ff738a5-abcd-4864-a162-6c18f7c9cbd9","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","createdOn":"2020-03-14T03:31:35.9969748Z","updatedOn":"2020-03-14T03:31:35.9969748Z","createdBy":"a6920a4d-d20a-4ac6-a844-13565e224294","updatedBy":"a6920a4d-d20a-4ac6-a844-13565e224294"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/48db4402-8176-4884-bdf6-0484a8e5eefb","type":"Microsoft.Authorization/roleAssignments","name":"48db4402-8176-4884-bdf6-0484a8e5eefb"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7","principalId":"8a8f0a97-8644-4579-a5b1-a3c0d4862232","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","createdOn":"2020-03-19T11:46:11.5492276Z","updatedOn":"2020-03-19T11:46:11.5492276Z","createdBy":"3b675a45-60cc-456b-8666-52a8003b38e7","updatedBy":"3b675a45-60cc-456b-8666-52a8003b38e7"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/f3cd7225-ccb1-4559-b9bf-c05b9a98e752","type":"Microsoft.Authorization/roleAssignments","name":"f3cd7225-ccb1-4559-b9bf-c05b9a98e752"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"0fab726f-ac3b-4005-8300-4d8b71e543cb","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","createdOn":"2020-03-14T06:30:36.4249722Z","updatedOn":"2020-03-14T06:30:36.4249722Z","createdBy":"a6920a4d-d20a-4ac6-a844-13565e224294","updatedBy":"a6920a4d-d20a-4ac6-a844-13565e224294"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/5027b2ef-65bd-11ea-b6b5-0242ac110002","type":"Microsoft.Authorization/roleAssignments","name":"5027b2ef-65bd-11ea-b6b5-0242ac110002"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"73994283-0be5-406e-8b93-ff86da389c94","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","createdOn":"2020-03-25T04:06:11.4924059Z","updatedOn":"2020-03-25T04:06:11.4924059Z","createdBy":"a6920a4d-d20a-4ac6-a844-13565e224294","updatedBy":"a6920a4d-d20a-4ac6-a844-13565e224294"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/e9d8b6e8-39d0-44d7-86b2-524db630dd9f","type":"Microsoft.Authorization/roleAssignments","name":"e9d8b6e8-39d0-44d7-86b2-524db630dd9f"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"cb87f856-74ca-4cb0-a29a-4f9f059f89d9","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","createdOn":"2020-05-20T07:06:25.1407870Z","updatedOn":"2020-05-20T07:06:25.1407870Z","createdBy":"a6920a4d-d20a-4ac6-a844-13565e224294","updatedBy":"a6920a4d-d20a-4ac6-a844-13565e224294"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/002c2bb7-dcd9-4d01-8148-a58b2cb29faa","type":"Microsoft.Authorization/roleAssignments","name":"002c2bb7-dcd9-4d01-8148-a58b2cb29faa"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"d7a1c7e1-371a-43c1-bcfa-2a0f98fe8694","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","createdOn":"2020-03-10T02:11:51.7556492Z","updatedOn":"2020-03-10T02:11:51.7556492Z","createdBy":"a6920a4d-d20a-4ac6-a844-13565e224294","updatedBy":"a6920a4d-d20a-4ac6-a844-13565e224294"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/654177ad-ec8f-4092-98f1-83df7c9de1ef","type":"Microsoft.Authorization/roleAssignments","name":"654177ad-ec8f-4092-98f1-83df7c9de1ef"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/d73bb868-a0df-4d4d-bd69-98a00b01fccb","principalId":"8a8f0a97-8644-4579-a5b1-a3c0d4862232","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","createdOn":"2020-03-19T11:46:21.1115767Z","updatedOn":"2020-03-19T11:46:21.1115767Z","createdBy":"3b675a45-60cc-456b-8666-52a8003b38e7","updatedBy":"3b675a45-60cc-456b-8666-52a8003b38e7"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c83ae738-0943-4dad-a482-672f2efcfe59","type":"Microsoft.Authorization/roleAssignments","name":"c83ae738-0943-4dad-a482-672f2efcfe59"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7","principalId":"5c617d2b-99f8-4c90-98fe-dfe040fa33c1","principalType":"ServicePrincipal","scope":"/","createdOn":"2018-02-27T19:19:50.2663941Z","updatedOn":"2018-02-27T19:19:50.2663941Z","createdBy":null,"updatedBy":null},"id":"/providers/Microsoft.Authorization/roleAssignments/3e883d24-b106-42ff-ad13-d7bf271b964d","type":"Microsoft.Authorization/roleAssignments","name":"3e883d24-b106-42ff-ad13-d7bf271b964d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9","principalId":"1c8b3602-77a2-4e8a-8c1e-f127f2af5ca2","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/39349b3a-17e9-4bc8-81ad-2bd46e105074","createdOn":"2019-03-26T22:01:02.9203573Z","updatedOn":"2019-03-26T22:01:02.9203573Z","createdBy":"8701e34d-d7c2-459c-b2d7-f3a9c5204818","updatedBy":"8701e34d-d7c2-459c-b2d7-f3a9c5204818"},"id":"/providers/Microsoft.Management/managementGroups/39349b3a-17e9-4bc8-81ad-2bd46e105074/providers/Microsoft.Authorization/roleAssignments/4b5badf4-9ce8-48cd-835e-a28b4e1b445e","type":"Microsoft.Authorization/roleAssignments","name":"4b5badf4-9ce8-48cd-835e-a28b4e1b445e"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9","principalId":"1c8b3602-77a2-4e8a-8c1e-f127f2af5ca2","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","createdOn":"2019-03-26T22:01:02.9136073Z","updatedOn":"2019-03-26T22:01:02.9136073Z","createdBy":"8701e34d-d7c2-459c-b2d7-f3a9c5204818","updatedBy":"8701e34d-d7c2-459c-b2d7-f3a9c5204818"},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/6f4de15e-9316-4714-a7c4-40c46cf8e067","type":"Microsoft.Authorization/roleAssignments","name":"6f4de15e-9316-4714-a7c4-40c46cf8e067"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"096e33bd-3978-4b72-bb81-aa4f21faa155","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","createdOn":"2019-07-15T18:20:07.8710952Z","updatedOn":"2019-07-15T18:20:07.8710952Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c"},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/53e2331d-7097-4d99-a92c-9cf5dd912b02","type":"Microsoft.Authorization/roleAssignments","name":"53e2331d-7097-4d99-a92c-9cf5dd912b02"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"13c55e93-542e-463a-8a36-73d67f89ea1f","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","createdOn":"2019-07-15T18:20:00.5212035Z","updatedOn":"2019-07-15T18:20:00.5212035Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c"},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/76292cf7-556b-4a88-a469-75a7e3893adc","type":"Microsoft.Authorization/roleAssignments","name":"76292cf7-556b-4a88-a469-75a7e3893adc"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"21dda55b-ee95-4ba5-aace-58e017451c1d","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","createdOn":"2019-07-15T18:19:57.9722094Z","updatedOn":"2019-07-15T18:19:57.9722094Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c"},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/11b6023d-415b-4f99-9c4b-70c1d1d83041","type":"Microsoft.Authorization/roleAssignments","name":"11b6023d-415b-4f99-9c4b-70c1d1d83041"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"27b2ace7-5ddd-49c3-aa81-0e87abdb9724","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","createdOn":"2019-07-15T18:20:02.9931002Z","updatedOn":"2019-07-15T18:20:02.9931002Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c"},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/128167e6-8431-4087-86c2-c5de68d4314b","type":"Microsoft.Authorization/roleAssignments","name":"128167e6-8431-4087-86c2-c5de68d4314b"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"2ac3f52f-f3ad-40a4-9b2d-aa24e4c7bbba","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","createdOn":"2020-02-25T18:36:13.2137492Z","updatedOn":"2020-02-25T18:36:13.2137492Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c"},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/18fdd87e-1c01-424e-b380-32310f4940c2","type":"Microsoft.Authorization/roleAssignments","name":"18fdd87e-1c01-424e-b380-32310f4940c2"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"3de59bcf-93d8-4eff-95db-d6d9b8751eee","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","createdOn":"2019-07-15T18:19:51.9501395Z","updatedOn":"2019-07-15T18:19:51.9501395Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c"},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/a06d1602-e5d3-45bc-9c27-c7c8151ccd63","type":"Microsoft.Authorization/roleAssignments","name":"a06d1602-e5d3-45bc-9c27-c7c8151ccd63"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"439882e1-d603-45dd-9e62-8592309d7aa4","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","createdOn":"2019-07-15T18:20:13.7008054Z","updatedOn":"2019-07-15T18:20:13.7008054Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c"},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/ee5e7d26-39b1-454d-aff6-85b92343297a","type":"Microsoft.Authorization/roleAssignments","name":"ee5e7d26-39b1-454d-aff6-85b92343297a"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"4a113caa-961f-4535-ac9b-79bfba8b9ed2","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","createdOn":"2020-02-25T18:36:00.4746112Z","updatedOn":"2020-02-25T18:36:00.4746112Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c"},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/d9bcf58a-6f24-446d-bf60-20ffe5142396","type":"Microsoft.Authorization/roleAssignments","name":"d9bcf58a-6f24-446d-bf60-20ffe5142396"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"4fd162ac-c74a-4e79-9952-81fff83cbeea","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","createdOn":"2019-07-15T18:20:05.6271257Z","updatedOn":"2019-07-15T18:20:05.6271257Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c"},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/455cd407-b6d3-499d-ba84-696f5a496ee7","type":"Microsoft.Authorization/roleAssignments","name":"455cd407-b6d3-499d-ba84-696f5a496ee7"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"56d08bc2-cc29-4d23-9d23-fd396b807b02","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","createdOn":"2020-02-25T18:35:55.7490022Z","updatedOn":"2020-02-25T18:35:55.7490022Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c"},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/6e2b954b-42b2-48e0-997a-622601f0a4b4","type":"Microsoft.Authorization/roleAssignments","name":"6e2b954b-42b2-48e0-997a-622601f0a4b4"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"6179a082-c057-4fe3-8118-916b816a42e3","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","createdOn":"2020-02-25T18:35:57.9173081Z","updatedOn":"2020-02-25T18:35:57.9173081Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c"},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/8d76aaa3-fcfd-4ea5-8c7c-363d250e7ae9","type":"Microsoft.Authorization/roleAssignments","name":"8d76aaa3-fcfd-4ea5-8c7c-363d250e7ae9"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"6fe923a8-2e4d-4c1f-b7d6-a7c5984f0129","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","createdOn":"2020-02-25T18:36:23.0673659Z","updatedOn":"2020-02-25T18:36:23.0673659Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c"},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/d0817c57-3e5b-4363-88b7-52baadd5c362","type":"Microsoft.Authorization/roleAssignments","name":"d0817c57-3e5b-4363-88b7-52baadd5c362"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"7951777e-acb7-4c1c-b131-aa2e639b0481","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","createdOn":"2019-07-15T18:20:11.2064664Z","updatedOn":"2019-07-15T18:20:11.2064664Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c"},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/4aa9660c-99d1-41b9-b511-f3d7fa017b0c","type":"Microsoft.Authorization/roleAssignments","name":"4aa9660c-99d1-41b9-b511-f3d7fa017b0c"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"7c2d0d59-528c-434a-8c6c-03330539cad2","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","createdOn":"2020-02-25T18:36:31.2596366Z","updatedOn":"2020-02-25T18:36:31.2596366Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c"},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/0dabf212-a1c7-4af6-ba8b-be045493b368","type":"Microsoft.Authorization/roleAssignments","name":"0dabf212-a1c7-4af6-ba8b-be045493b368"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"7d7aed0a-228e-420b-a6a2-82a49dacb8cb","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","createdOn":"2020-02-25T18:35:52.9188704Z","updatedOn":"2020-02-25T18:35:52.9188704Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c"},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/d674b853-332e-4437-9ddb-bba8fde7ccce","type":"Microsoft.Authorization/roleAssignments","name":"d674b853-332e-4437-9ddb-bba8fde7ccce"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"941c0157-bdd0-499a-aba0-be1244f82ab1","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","createdOn":"2019-07-15T18:19:54.6845513Z","updatedOn":"2019-07-15T18:19:54.6845513Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c"},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/9aba8539-6e15-439f-83d0-18999e7a3186","type":"Microsoft.Authorization/roleAssignments","name":"9aba8539-6e15-439f-83d0-18999e7a3186"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"985bb80e-8113-4542-8d68-418589e6ff34","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","createdOn":"2020-02-25T18:36:02.5324969Z","updatedOn":"2020-02-25T18:36:02.5324969Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c"},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/b4bdc3a7-78e2-4b26-8b90-e474aa120b47","type":"Microsoft.Authorization/roleAssignments","name":"b4bdc3a7-78e2-4b26-8b90-e474aa120b47"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"b7a49237-f5b0-473f-a4ff-6830d23af17d","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","createdOn":"2020-02-25T18:36:38.8393742Z","updatedOn":"2020-02-25T18:36:38.8393742Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c"},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/00625383-053d-4227-a4db-b098e9bd2289","type":"Microsoft.Authorization/roleAssignments","name":"00625383-053d-4227-a4db-b098e9bd2289"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"c1181647-15a3-4d44-ac0e-34c45c204d9f","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","createdOn":"2019-07-15T18:16:56.7391341Z","updatedOn":"2019-07-15T18:16:56.7391341Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c"},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/1ab6e86f-40bc-4d22-8af4-46820b939205","type":"Microsoft.Authorization/roleAssignments","name":"1ab6e86f-40bc-4d22-8af4-46820b939205"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"f2e939bc-742a-42f9-a27a-f0982c6e3f64","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","createdOn":"2020-02-25T18:36:05.0954462Z","updatedOn":"2020-02-25T18:36:05.0954462Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c"},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/3151fe9c-fcd2-45d3-a256-72fb13b86df5","type":"Microsoft.Authorization/roleAssignments","name":"3151fe9c-fcd2-45d3-a256-72fb13b86df5"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/9980e02c-c2be-4d73-94e8-173b1dc7cf3c","principalId":"8845dee4-c749-46a4-b8e8-35512cf066cd","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","createdOn":"2019-09-06T19:25:22.9839570Z","updatedOn":"2019-09-06T19:25:22.9839570Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c"},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/9c37d50b-3a02-4ece-a581-9f9245ad884b","type":"Microsoft.Authorization/roleAssignments","name":"9c37d50b-3a02-4ece-a581-9f9245ad884b"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9","principalId":"1c8b3602-77a2-4e8a-8c1e-f127f2af5ca2","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/CnAIOrchestrationServicePublicCorpprod","createdOn":"2019-03-26T22:01:02.9176787Z","updatedOn":"2019-03-26T22:01:02.9176787Z","createdBy":"8701e34d-d7c2-459c-b2d7-f3a9c5204818","updatedBy":"8701e34d-d7c2-459c-b2d7-f3a9c5204818"},"id":"/providers/Microsoft.Management/managementGroups/CnAIOrchestrationServicePublicCorpprod/providers/Microsoft.Authorization/roleAssignments/4b771ea9-81de-4fc4-aa28-a3a0b9b4a320","type":"Microsoft.Authorization/roleAssignments","name":"4b771ea9-81de-4fc4-aa28-a3a0b9b4a320"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/36243c78-bf99-498c-9df9-86d9f8d28608","principalId":"1f75b9dd-4f1d-4e80-9521-321a8b1f5764","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/CnAIOrchestrationServicePublicCorpprod","createdOn":"2019-03-27T00:49:37.3000523Z","updatedOn":"2019-03-27T00:49:37.3000523Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c"},"id":"/providers/Microsoft.Management/managementGroups/CnAIOrchestrationServicePublicCorpprod/providers/Microsoft.Authorization/roleAssignments/e6e1fffd-83f7-40c7-9f33-e56e2cf75b29","type":"Microsoft.Authorization/roleAssignments","name":"e6e1fffd-83f7-40c7-9f33-e56e2cf75b29"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/5d58bcaf-24a5-4b20-bdb6-eed9f69fbe4c","principalId":"1f75b9dd-4f1d-4e80-9521-321a8b1f5764","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/CnAIOrchestrationServicePublicCorpprod","createdOn":"2019-03-27T00:50:08.3039053Z","updatedOn":"2019-03-27T00:50:08.3039053Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c"},"id":"/providers/Microsoft.Management/managementGroups/CnAIOrchestrationServicePublicCorpprod/providers/Microsoft.Authorization/roleAssignments/3d01f56e-ee3a-41ed-a775-0e067546cb12","type":"Microsoft.Authorization/roleAssignments","name":"3d01f56e-ee3a-41ed-a775-0e067546cb12"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7","principalId":"ce2366a6-64d7-441b-939c-c9d23f91cccd","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/72f988bf-86f1-41af-91ab-2d7cd011db47","createdOn":"2020-03-12T20:43:06.5941189Z","updatedOn":"2020-03-12T20:43:06.5941189Z","createdBy":"606f48c8-d219-4875-991d-ae6befaf0756","updatedBy":"606f48c8-d219-4875-991d-ae6befaf0756"},"id":"/providers/Microsoft.Management/managementGroups/72f988bf-86f1-41af-91ab-2d7cd011db47/providers/Microsoft.Authorization/roleAssignments/ad9e2cd7-0ff7-4931-9b17-656c8f17934b","type":"Microsoft.Authorization/roleAssignments","name":"ad9e2cd7-0ff7-4931-9b17-656c8f17934b"}]}' + headers: + cache-control: + - no-cache + content-length: + - '29892' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 26 May 2020 16:22:54 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - x-ms-gateway-slice=Production; path=/; SameSite=None; secure; HttpOnly + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - role assignment list + Connection: + - keep-alive + Cookie: + - x-ms-gateway-slice=Production + ParameterSetName: + - --assignee --scope --role -o + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-mgmt-authorization/0.52.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/appgw-subnet/providers/Microsoft.Authorization/roleDefinitions?$filter=roleName%20eq%20%27Network%20Contributor%27&api-version=2018-01-01-preview + response: + body: + string: '{"value":[{"properties":{"roleName":"Network Contributor","type":"BuiltInRole","description":"Lets + you manage networks, but not access to them.","assignableScopes":["/"],"permissions":[{"actions":["Microsoft.Authorization/*/read","Microsoft.Insights/alertRules/*","Microsoft.Network/*","Microsoft.ResourceHealth/availabilityStatuses/read","Microsoft.Resources/deployments/*","Microsoft.Resources/subscriptions/resourceGroups/read","Microsoft.Support/*"],"notActions":[],"dataActions":[],"notDataActions":[]}],"createdOn":"2015-06-02T00:18:27.3542698Z","updatedOn":"2016-05-31T23:14:00.3326359Z","createdBy":null,"updatedBy":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","type":"Microsoft.Authorization/roleDefinitions","name":"4d97b98b-1d4f-4787-a291-c67834d212e7"}]}' + headers: + cache-control: + - no-cache + content-length: + - '873' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 26 May 2020 16:22:55 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - x-ms-gateway-slice=Production; path=/; secure; HttpOnly; SameSite=None + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - role assignment list + Connection: + - keep-alive + Cookie: + - x-ms-gateway-slice=Production + ParameterSetName: + - --assignee --scope --role -o + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-mgmt-authorization/0.52.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/appgw-subnet/providers/Microsoft.Authorization/roleDefinitions?api-version=2018-01-01-preview + response: + body: + string: "{\"value\":[{\"properties\":{\"roleName\":\"Avere Cluster Create\",\"type\":\"CustomRole\",\"description\":\"Avere + cluster create role used by the Avere controller to create a vFXT cluster.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Authorization/roleAssignments/*\",\"Microsoft.Authorization/roleDefinitions/*\",\"Microsoft.Compute/*/read\",\"Microsoft.Compute/availabilitySets/*\",\"Microsoft.Compute/virtualMachines/*\",\"Microsoft.Network/*/read\",\"Microsoft.Network/networkInterfaces/*\",\"Microsoft.Network/virtualNetworks/subnets/join/action\",\"Microsoft.Network/virtualNetworks/subnets/read\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Resources/subscriptions/resourceGroups/resources/read\",\"Microsoft.Storage/*/read\",\"Microsoft.Storage/storageAccounts/listKeys/action\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2018-11-29T18:46:55.0492387Z\",\"updatedOn\":\"2018-11-29T18:46:55.0492387Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/a7b1b19a-0e83-4fe5-935c-faaefbfd18c3\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"a7b1b19a-0e83-4fe5-935c-faaefbfd18c3\"},{\"properties\":{\"roleName\":\"Avere + Cluster Runtime Operator\",\"type\":\"CustomRole\",\"description\":\"Avere + cluster runtime role used by Avere clusters running in subscriptions, for + the purpose of failing over IP addresses, accessing BLOB storage, etc\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Compute/virtualMachines/read\",\"Microsoft.Network/networkInterfaces/read\",\"Microsoft.Network/networkInterfaces/write\",\"Microsoft.Network/virtualNetworks/subnets/read\",\"Microsoft.Network/virtualNetworks/subnets/join/action\",\"Microsoft.Network/networkSecurityGroups/join/action\",\"Microsoft.Network/routeTables/read\",\"Microsoft.Network/routeTables/routes/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Storage/storageAccounts/blobServices/containers/delete\",\"Microsoft.Storage/storageAccounts/blobServices/containers/read\",\"Microsoft.Storage/storageAccounts/blobServices/containers/write\"],\"notActions\":[],\"dataActions\":[\"Microsoft.Storage/storageAccounts/blobServices/containers/blobs/delete\",\"Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read\",\"Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write\"],\"notDataActions\":[]}],\"createdOn\":\"2018-08-26T00:41:26.2170858Z\",\"updatedOn\":\"2018-08-26T00:41:26.2170858Z\",\"createdBy\":\"dda50086-5e3d-4a4b-b8bc-f54771104d89\",\"updatedBy\":\"dda50086-5e3d-4a4b-b8bc-f54771104d89\"},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/e078ab98-ef3a-4c9a-aba7-12f5172b45d0\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"e078ab98-ef3a-4c9a-aba7-12f5172b45d0\"},{\"properties\":{\"roleName\":\"Azure + Service Deploy Release Management Contributor\",\"type\":\"CustomRole\",\"description\":\"Contributor + role for services deploying through Azure Service Deploy.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"*\"],\"notActions\":[\"Microsoft.Authorization/*/Delete\",\"Microsoft.Authorization/*/Write\"],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2016-02-04T02:26:31.5413362Z\",\"updatedOn\":\"2018-01-08T20:20:16.3660174Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/21d96096-b162-414a-8302-d8354f9d91b2\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"21d96096-b162-414a-8302-d8354f9d91b2\"},{\"properties\":{\"roleName\":\"CAL-Custom-Role\",\"type\":\"CustomRole\",\"description\":\"Lets + SAP Cloud Appliance Library application manage Network and Compute services, + manage Resource Groups and Management locks.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/locks/*\",\"Microsoft.Authorization/roleDefinitions/*\",\"Microsoft.Authorization/roleAssignments/*\",\"Microsoft.Compute/*\",\"Microsoft.Network/*\",\"Microsoft.Resources/*\",\"Microsoft.Storage/*\",\"Microsoft.ContainerService/*\",\"Microsoft.ContainerRegistry/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2018-05-14T19:30:51.0664585Z\",\"updatedOn\":\"2019-02-19T19:11:57.5963229Z\",\"createdBy\":\"dda50086-5e3d-4a4b-b8bc-f54771104d89\",\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/7b266cd7-0bba-4ae2-8423-90ede5e1e898\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"7b266cd7-0bba-4ae2-8423-90ede5e1e898\"},{\"properties\":{\"roleName\":\"Dsms + Role (deprecated)\",\"type\":\"CustomRole\",\"description\":\"Custom role + used by Dsms to perform operations. Can list and regnerate storage account + keys.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.ClassicStorage/storageAccounts/listKeys/action\",\"Microsoft.ClassicStorage/storageAccounts/regenerateKey/action\",\"Microsoft.Storage/storageAccounts/listkeys/action\",\"Microsoft.Storage/storageAccounts/regeneratekey/action\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2017-05-17T18:02:11.1225951Z\",\"updatedOn\":\"2018-01-13T00:21:52.7211696Z\",\"createdBy\":\"ca5f3715-e7dd-427b-b2db-45b6a4a2df87\",\"updatedBy\":\"ca5f3715-e7dd-427b-b2db-45b6a4a2df87\"},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b91f4c0b-46e3-47bb-a242-eecfe23b3b5b\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"b91f4c0b-46e3-47bb-a242-eecfe23b3b5b\"},{\"properties\":{\"roleName\":\"Dsms + Role (do not use)\",\"type\":\"CustomRole\",\"description\":\"Custom role + used by Dsms to perform operations. Can list and regnerate storage account + keys.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.ClassicStorage/storageAccounts/listKeys/action\",\"Microsoft.ClassicStorage/storageAccounts/regenerateKey/action\",\"Microsoft.Storage/storageAccounts/listkeys/action\",\"Microsoft.Storage/storageAccounts/regeneratekey/action\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2018-02-01T07:56:12.5880222Z\",\"updatedOn\":\"2018-08-09T17:53:48.5432297Z\",\"createdBy\":\"becb4b6b-fe16-413b-a5c3-90355e0b2982\",\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/7aff565e-6c55-448d-83db-ccf482c6da2f\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"7aff565e-6c55-448d-83db-ccf482c6da2f\"},{\"properties\":{\"roleName\":\"ExpressRoute + Administrator\",\"type\":\"CustomRole\",\"description\":\"Can create, delete + and manage ExpressRoutes\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/locks/*\",\"Microsoft.Authorization/policyAssignments/*\",\"Microsoft.Authorization/policyDefinitions/*\",\"Microsoft.Authorization/roleAssignments/*\",\"Microsoft.ClassicNetwork/*\",\"Microsoft.EventGrid/*\",\"Microsoft.Insights/*\",\"Microsoft.Network/*\",\"Microsoft.Resources/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2018-08-31T03:51:32.2843055Z\",\"updatedOn\":\"2019-03-20T22:55:18.8222085Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/a48d7896-14b4-4889-afef-fbb65a96e5a2\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"a48d7896-14b4-4889-afef-fbb65a96e5a2\"},{\"properties\":{\"roleName\":\"GenevaWarmPathResourceContributor\",\"type\":\"CustomRole\",\"description\":\"Can + manage service bus and storage accounts.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.EventHub/namespaces/*\",\"Microsoft.Resources/subscriptions/resourceGroups/*\",\"Microsoft.ServiceBus/namespaces/*\",\"Microsoft.Storage/storageAccounts/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2017-03-14T22:30:10.1999436Z\",\"updatedOn\":\"2017-03-14T22:30:10.1999436Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/9f15f5f5-77bd-413a-aa88-4b9c68b1e7bc\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"9f15f5f5-77bd-413a-aa88-4b9c68b1e7bc\"},{\"properties\":{\"roleName\":\"masterreader\",\"type\":\"CustomRole\",\"description\":\"Lets + you view everything, but not make any changes.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"*/read\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2017-11-14T23:38:05.3353858Z\",\"updatedOn\":\"2017-11-14T23:38:05.3353858Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/a48d7796-14b4-4889-afef-fbb65a93e5a2\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"a48d7796-14b4-4889-afef-fbb65a93e5a2\"},{\"properties\":{\"roleName\":\"Microsoft + OneAsset Reader\",\"type\":\"CustomRole\",\"description\":\"This role is for + Microsoft OneAsset team (CSEO) to track internal security compliance and resource + utilization.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Compute/virtualMachines/*/read\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2019-03-27T23:51:08.6333052Z\",\"updatedOn\":\"2019-04-02T20:35:43.3396263Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/fd1bb084-1503-4bd2-99c0-630220046786\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"fd1bb084-1503-4bd2-99c0-630220046786\"},{\"properties\":{\"roleName\":\"Office + DevOps\",\"type\":\"CustomRole\",\"description\":\"Custom access for developers + to operations but not secrets.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Compute/virtualMachineScaleSets/restart/action\",\"Microsoft.Compute/virtualMachineScaleSets/virtualMachines/restart/action\",\"Microsoft.Sql/servers/databases/replicationLinks/delete\",\"Microsoft.Sql/servers/databases/replicationLinks/failover/action\",\"Microsoft.Sql/servers/databases/replicationLinks/forceFailoverAllowDataLoss/action\",\"Microsoft.Sql/servers/databases/replicationLinks/operationResults/read\",\"Microsoft.Sql/servers/databases/replicationLinks/read\",\"Microsoft.Sql/servers/databases/replicationLinks/unlink/action\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2016-10-07T08:11:46.1639398Z\",\"updatedOn\":\"2017-03-16T18:43:08.3234306Z\",\"createdBy\":\"25aea6be-b605-4347-a92d-33e178e412ec\",\"updatedBy\":\"25aea6be-b605-4347-a92d-33e178e412ec\"},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/7fd64851-3279-459b-b614-e2b2ba760f5b\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"7fd64851-3279-459b-b614-e2b2ba760f5b\"},{\"properties\":{\"roleName\":\"GenevaWarmPathStorageBlobContributor\",\"type\":\"CustomRole\",\"description\":\"Geneva + Warm Path Storage Blob Contributor\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Storage/storageAccounts/blobServices/containers/delete\",\"Microsoft.Storage/storageAccounts/blobServices/containers/lease/action\",\"Microsoft.Storage/storageAccounts/blobServices/containers/read\",\"Microsoft.Storage/storageAccounts/blobServices/containers/write\",\"Microsoft.Storage/storageAccounts/blobServices/containers/immutabilityPolicies/lock/action\",\"Microsoft.Storage/storageAccounts/blobServices/containers/immutabilityPolicies/read\",\"Microsoft.Storage/storageAccounts/blobServices/containers/immutabilityPolicies/write\",\"Microsoft.Storage/storageAccounts/blobServices/containers/immutabilityPolicies/extend/action\",\"Microsoft.Storage/storageAccounts/blobServices/containers/immutabilityPolicies/delete\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2019-12-06T22:46:27.1365630Z\",\"updatedOn\":\"2019-12-06T22:46:27.1365630Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/a16c43ca-2d67-4dcd-9ded-6412f5edc51a\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"a16c43ca-2d67-4dcd-9ded-6412f5edc51a\"},{\"properties\":{\"roleName\":\"AcrPush\",\"type\":\"BuiltInRole\",\"description\":\"acr + push\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.ContainerRegistry/registries/pull/read\",\"Microsoft.ContainerRegistry/registries/push/write\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2018-10-29T17:52:32.5201177Z\",\"updatedOn\":\"2018-11-13T23:26:19.9749249Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8311e382-0749-4cb8-b61a-304f252e45ec\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"8311e382-0749-4cb8-b61a-304f252e45ec\"},{\"properties\":{\"roleName\":\"API + Management Service Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Can + manage service and the APIs\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.ApiManagement/service/*\",\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.ResourceHealth/availabilityStatuses/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2015-02-02T21:55:09.8650193Z\",\"updatedOn\":\"2019-02-05T21:24:17.7502607Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/312a565d-c81f-4fd8-895a-4e21e48d571c\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"312a565d-c81f-4fd8-895a-4e21e48d571c\"},{\"properties\":{\"roleName\":\"AcrPull\",\"type\":\"BuiltInRole\",\"description\":\"acr + pull\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.ContainerRegistry/registries/pull/read\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2018-10-22T19:01:56.8227182Z\",\"updatedOn\":\"2018-11-13T23:22:03.2302457Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/7f951dda-4ed3-4680-a7ca-43fe172d538d\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"7f951dda-4ed3-4680-a7ca-43fe172d538d\"},{\"properties\":{\"roleName\":\"AcrImageSigner\",\"type\":\"BuiltInRole\",\"description\":\"acr + image signer\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.ContainerRegistry/registries/sign/write\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2018-03-15T23:23:08.4038322Z\",\"updatedOn\":\"2018-10-29T19:06:24.9004422Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/6cef56e8-d556-48e5-a04f-b8e64114680f\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"6cef56e8-d556-48e5-a04f-b8e64114680f\"},{\"properties\":{\"roleName\":\"AcrDelete\",\"type\":\"BuiltInRole\",\"description\":\"acr + delete\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.ContainerRegistry/registries/artifacts/delete\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2019-03-11T20:19:31.6682804Z\",\"updatedOn\":\"2019-03-11T20:24:38.9845104Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"c2f4ef07-c644-48eb-af81-4b1b4947fb11\"},{\"properties\":{\"roleName\":\"AcrQuarantineReader\",\"type\":\"BuiltInRole\",\"description\":\"acr + quarantine data reader\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.ContainerRegistry/registries/quarantine/read\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2018-03-16T00:27:39.9596835Z\",\"updatedOn\":\"2019-10-22T00:12:39.7020930Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/cdda3590-29a3-44f6-95f2-9f980659eb04\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"cdda3590-29a3-44f6-95f2-9f980659eb04\"},{\"properties\":{\"roleName\":\"AcrQuarantineWriter\",\"type\":\"BuiltInRole\",\"description\":\"acr + quarantine data writer\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.ContainerRegistry/registries/quarantine/read\",\"Microsoft.ContainerRegistry/registries/quarantine/write\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2018-03-16T00:26:37.5871820Z\",\"updatedOn\":\"2019-10-22T00:10:29.8202164Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/c8d4ff99-41c3-41a8-9f60-21dfdad59608\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"c8d4ff99-41c3-41a8-9f60-21dfdad59608\"},{\"properties\":{\"roleName\":\"API + Management Service Operator Role\",\"type\":\"BuiltInRole\",\"description\":\"Can + manage service but not the APIs\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.ApiManagement/service/*/read\",\"Microsoft.ApiManagement/service/backup/action\",\"Microsoft.ApiManagement/service/delete\",\"Microsoft.ApiManagement/service/managedeployments/action\",\"Microsoft.ApiManagement/service/read\",\"Microsoft.ApiManagement/service/restore/action\",\"Microsoft.ApiManagement/service/updatecertificate/action\",\"Microsoft.ApiManagement/service/updatehostname/action\",\"Microsoft.ApiManagement/service/write\",\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.ResourceHealth/availabilityStatuses/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\"],\"notActions\":[\"Microsoft.ApiManagement/service/users/keys/read\"],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2016-11-09T00:03:42.1194019Z\",\"updatedOn\":\"2016-11-18T23:56:25.4682649Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/e022efe7-f5ba-4159-bbe4-b44f577e9b61\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"e022efe7-f5ba-4159-bbe4-b44f577e9b61\"},{\"properties\":{\"roleName\":\"API + Management Service Reader Role\",\"type\":\"BuiltInRole\",\"description\":\"Read-only + access to service and APIs\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.ApiManagement/service/*/read\",\"Microsoft.ApiManagement/service/read\",\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.ResourceHealth/availabilityStatuses/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\"],\"notActions\":[\"Microsoft.ApiManagement/service/users/keys/read\"],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2016-11-09T00:26:45.1540473Z\",\"updatedOn\":\"2017-01-23T23:10:34.8876776Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/71522526-b88f-4d52-b57f-d31fc3546d0d\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"71522526-b88f-4d52-b57f-d31fc3546d0d\"},{\"properties\":{\"roleName\":\"Application + Insights Component Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Can + manage Application Insights components\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Insights/metricAlerts/*\",\"Microsoft.Insights/components/*\",\"Microsoft.Insights/webtests/*\",\"Microsoft.ResourceHealth/availabilityStatuses/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2015-02-02T21:55:09.8806423Z\",\"updatedOn\":\"2020-02-12T12:45:46.9200472Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/ae349356-3a1b-4a5e-921d-050484c6347e\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"ae349356-3a1b-4a5e-921d-050484c6347e\"},{\"properties\":{\"roleName\":\"Application + Insights Snapshot Debugger\",\"type\":\"BuiltInRole\",\"description\":\"Gives + user permission to use Application Insights Snapshot Debugger features\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Insights/components/*/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2017-04-19T21:25:12.3728747Z\",\"updatedOn\":\"2017-04-19T23:34:59.9511581Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/08954f03-6346-4c2e-81c0-ec3a5cfae23b\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"08954f03-6346-4c2e-81c0-ec3a5cfae23b\"},{\"properties\":{\"roleName\":\"Attestation + Reader\",\"type\":\"BuiltInRole\",\"description\":\"Can read the attestation + provider properties\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Attestation/attestationProviders/attestation/read\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2019-03-25T19:42:59.1576710Z\",\"updatedOn\":\"2019-05-10T17:52:38.9036953Z\",\"createdBy\":null,\"updatedBy\":\"SYSTEM\"},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/fd1bd22b-8476-40bc-a0bc-69b95687b9f3\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"fd1bd22b-8476-40bc-a0bc-69b95687b9f3\"},{\"properties\":{\"roleName\":\"Automation + Job Operator\",\"type\":\"BuiltInRole\",\"description\":\"Create and Manage + Jobs using Automation Runbooks.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Automation/automationAccounts/hybridRunbookWorkerGroups/read\",\"Microsoft.Automation/automationAccounts/jobs/read\",\"Microsoft.Automation/automationAccounts/jobs/resume/action\",\"Microsoft.Automation/automationAccounts/jobs/stop/action\",\"Microsoft.Automation/automationAccounts/jobs/streams/read\",\"Microsoft.Automation/automationAccounts/jobs/suspend/action\",\"Microsoft.Automation/automationAccounts/jobs/write\",\"Microsoft.Automation/automationAccounts/jobs/output/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2017-04-19T20:52:41.0020018Z\",\"updatedOn\":\"2018-08-14T22:08:48.1147327Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4fe576fe-1146-4730-92eb-48519fa6bf9f\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"4fe576fe-1146-4730-92eb-48519fa6bf9f\"},{\"properties\":{\"roleName\":\"Automation + Runbook Operator\",\"type\":\"BuiltInRole\",\"description\":\"Read Runbook + properties - to be able to create Jobs of the runbook.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Automation/automationAccounts/runbooks/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2017-04-19T20:47:49.5640674Z\",\"updatedOn\":\"2017-04-25T01:00:45.6444999Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/5fb5aef8-1081-4b8e-bb16-9d5d0385bab5\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"5fb5aef8-1081-4b8e-bb16-9d5d0385bab5\"},{\"properties\":{\"roleName\":\"Automation + Operator\",\"type\":\"BuiltInRole\",\"description\":\"Automation Operators + are able to start, stop, suspend, and resume jobs\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Automation/automationAccounts/hybridRunbookWorkerGroups/read\",\"Microsoft.Automation/automationAccounts/jobs/read\",\"Microsoft.Automation/automationAccounts/jobs/resume/action\",\"Microsoft.Automation/automationAccounts/jobs/stop/action\",\"Microsoft.Automation/automationAccounts/jobs/streams/read\",\"Microsoft.Automation/automationAccounts/jobs/suspend/action\",\"Microsoft.Automation/automationAccounts/jobs/write\",\"Microsoft.Automation/automationAccounts/jobSchedules/read\",\"Microsoft.Automation/automationAccounts/jobSchedules/write\",\"Microsoft.Automation/automationAccounts/linkedWorkspace/read\",\"Microsoft.Automation/automationAccounts/read\",\"Microsoft.Automation/automationAccounts/runbooks/read\",\"Microsoft.Automation/automationAccounts/schedules/read\",\"Microsoft.Automation/automationAccounts/schedules/write\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.ResourceHealth/availabilityStatuses/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Automation/automationAccounts/jobs/output/read\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2015-08-18T01:05:03.3916130Z\",\"updatedOn\":\"2018-05-10T20:12:39.6978200Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/d3881f73-407a-4167-8283-e981cbba0404\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"d3881f73-407a-4167-8283-e981cbba0404\"},{\"properties\":{\"roleName\":\"Avere + Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Can create and manage + an Avere vFXT cluster.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Compute/*/read\",\"Microsoft.Compute/availabilitySets/*\",\"Microsoft.Compute/virtualMachines/*\",\"Microsoft.Compute/disks/*\",\"Microsoft.Network/*/read\",\"Microsoft.Network/networkInterfaces/*\",\"Microsoft.Network/virtualNetworks/read\",\"Microsoft.Network/virtualNetworks/subnets/read\",\"Microsoft.Network/virtualNetworks/subnets/join/action\",\"Microsoft.Network/virtualNetworks/subnets/joinViaServiceEndpoint/action\",\"Microsoft.Network/networkSecurityGroups/join/action\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Storage/*/read\",\"Microsoft.Storage/storageAccounts/*\",\"Microsoft.Support/*\",\"Microsoft.Resources/subscriptions/resourceGroups/resources/read\"],\"notActions\":[],\"dataActions\":[\"Microsoft.Storage/storageAccounts/blobServices/containers/blobs/delete\",\"Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read\",\"Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write\"],\"notDataActions\":[]}],\"createdOn\":\"2019-03-18T20:00:58.9207889Z\",\"updatedOn\":\"2020-05-21T17:16:56.4634121Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4f8fab4f-1852-4a58-a46a-8eaf358af14a\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"4f8fab4f-1852-4a58-a46a-8eaf358af14a\"},{\"properties\":{\"roleName\":\"Avere + Operator\",\"type\":\"BuiltInRole\",\"description\":\"Used by the Avere vFXT + cluster to manage the cluster\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Compute/virtualMachines/read\",\"Microsoft.Network/networkInterfaces/read\",\"Microsoft.Network/networkInterfaces/write\",\"Microsoft.Network/virtualNetworks/read\",\"Microsoft.Network/virtualNetworks/subnets/read\",\"Microsoft.Network/virtualNetworks/subnets/join/action\",\"Microsoft.Network/networkSecurityGroups/join/action\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Storage/storageAccounts/blobServices/containers/delete\",\"Microsoft.Storage/storageAccounts/blobServices/containers/read\",\"Microsoft.Storage/storageAccounts/blobServices/containers/write\"],\"notActions\":[],\"dataActions\":[\"Microsoft.Storage/storageAccounts/blobServices/containers/blobs/delete\",\"Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read\",\"Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write\"],\"notDataActions\":[]}],\"createdOn\":\"2019-03-18T20:02:38.3399857Z\",\"updatedOn\":\"2019-03-29T00:26:37.9205875Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/c025889f-8102-4ebf-b32c-fc0c6f0c6bd9\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"c025889f-8102-4ebf-b32c-fc0c6f0c6bd9\"},{\"properties\":{\"roleName\":\"Azure + Kubernetes Service Cluster Admin Role\",\"type\":\"BuiltInRole\",\"description\":\"List + cluster admin credential action.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.ContainerService/managedClusters/listClusterAdminCredential/action\",\"Microsoft.ContainerService/managedClusters/accessProfiles/listCredential/action\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2018-08-15T21:38:18.5953853Z\",\"updatedOn\":\"2020-02-07T02:49:24.9715273Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/0ab0b1a8-8aac-4efd-b8c2-3ee1fb270be8\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"0ab0b1a8-8aac-4efd-b8c2-3ee1fb270be8\"},{\"properties\":{\"roleName\":\"Azure + Kubernetes Service Cluster User Role\",\"type\":\"BuiltInRole\",\"description\":\"List + cluster user credential action.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.ContainerService/managedClusters/listClusterUserCredential/action\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2018-08-15T22:04:53.4037241Z\",\"updatedOn\":\"2020-02-11T23:37:03.5899240Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4abbcc35-e782-43d8-92c5-2d3f1bd2253f\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"4abbcc35-e782-43d8-92c5-2d3f1bd2253f\"},{\"properties\":{\"roleName\":\"Azure + Maps Data Reader\",\"type\":\"BuiltInRole\",\"description\":\"Grants access + to read map related data from an Azure maps account.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.Maps/accounts/*/read\"],\"notDataActions\":[]}],\"createdOn\":\"2018-10-05T19:47:03.4723070Z\",\"updatedOn\":\"2020-04-28T22:33:41.7780319Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/423170ca-a8f6-4b0f-8487-9e4eb8f49bfa\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"423170ca-a8f6-4b0f-8487-9e4eb8f49bfa\"},{\"properties\":{\"roleName\":\"Azure + Stack Registration Owner\",\"type\":\"BuiltInRole\",\"description\":\"Lets + you manage Azure Stack registrations.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.AzureStack/registrations/products/*/action\",\"Microsoft.AzureStack/registrations/products/read\",\"Microsoft.AzureStack/registrations/read\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2017-11-13T23:42:06.2161827Z\",\"updatedOn\":\"2019-08-01T18:44:52.5331479Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/6f12a6df-dd06-4f3e-bcb1-ce8be600526a\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"6f12a6df-dd06-4f3e-bcb1-ce8be600526a\"},{\"properties\":{\"roleName\":\"Backup + Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Lets you manage backup + service,but can't create vaults and give access to others\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Network/virtualNetworks/read\",\"Microsoft.RecoveryServices/locations/*\",\"Microsoft.RecoveryServices/Vaults/backupFabrics/operationResults/*\",\"Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/*\",\"Microsoft.RecoveryServices/Vaults/backupFabrics/refreshContainers/action\",\"Microsoft.RecoveryServices/Vaults/backupJobs/*\",\"Microsoft.RecoveryServices/Vaults/backupJobsExport/action\",\"Microsoft.RecoveryServices/Vaults/backupOperationResults/*\",\"Microsoft.RecoveryServices/Vaults/backupPolicies/*\",\"Microsoft.RecoveryServices/Vaults/backupProtectableItems/*\",\"Microsoft.RecoveryServices/Vaults/backupProtectedItems/*\",\"Microsoft.RecoveryServices/Vaults/backupProtectionContainers/*\",\"Microsoft.RecoveryServices/Vaults/backupSecurityPIN/*\",\"Microsoft.RecoveryServices/Vaults/backupUsageSummaries/read\",\"Microsoft.RecoveryServices/Vaults/certificates/*\",\"Microsoft.RecoveryServices/Vaults/extendedInformation/*\",\"Microsoft.RecoveryServices/Vaults/monitoringAlerts/read\",\"Microsoft.RecoveryServices/Vaults/monitoringConfigurations/*\",\"Microsoft.RecoveryServices/Vaults/read\",\"Microsoft.RecoveryServices/Vaults/registeredIdentities/*\",\"Microsoft.RecoveryServices/Vaults/usages/*\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Storage/storageAccounts/read\",\"Microsoft.RecoveryServices/Vaults/backupstorageconfig/*\",\"Microsoft.RecoveryServices/Vaults/backupconfig/*\",\"Microsoft.RecoveryServices/Vaults/backupValidateOperation/action\",\"Microsoft.RecoveryServices/Vaults/write\",\"Microsoft.RecoveryServices/Vaults/backupOperations/read\",\"Microsoft.RecoveryServices/Vaults/backupEngines/read\",\"Microsoft.RecoveryServices/Vaults/backupFabrics/backupProtectionIntent/*\",\"Microsoft.RecoveryServices/Vaults/backupFabrics/protectableContainers/read\",\"Microsoft.RecoveryServices/locations/backupStatus/action\",\"Microsoft.RecoveryServices/locations/backupPreValidateProtection/action\",\"Microsoft.RecoveryServices/locations/backupValidateFeatures/action\",\"Microsoft.RecoveryServices/Vaults/monitoringAlerts/write\",\"Microsoft.RecoveryServices/operations/read\",\"Microsoft.RecoveryServices/locations/operationStatus/read\",\"Microsoft.RecoveryServices/Vaults/backupProtectionIntents/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2017-01-03T13:12:15.7321344Z\",\"updatedOn\":\"2019-12-17T10:44:35.8361149Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/5e467623-bb1f-42f4-a55d-6e525e11384b\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"5e467623-bb1f-42f4-a55d-6e525e11384b\"},{\"properties\":{\"roleName\":\"Billing + Reader\",\"type\":\"BuiltInRole\",\"description\":\"Allows read access to + billing data\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Billing/*/read\",\"Microsoft.Commerce/*/read\",\"Microsoft.Consumption/*/read\",\"Microsoft.Management/managementGroups/read\",\"Microsoft.CostManagement/*/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2017-04-25T02:13:38.9054151Z\",\"updatedOn\":\"2018-09-26T17:45:09.2227236Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/fa23ad8b-c56e-40d8-ac0c-ce449e1d2c64\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"fa23ad8b-c56e-40d8-ac0c-ce449e1d2c64\"},{\"properties\":{\"roleName\":\"Backup + Operator\",\"type\":\"BuiltInRole\",\"description\":\"Lets you manage backup + services, except removal of backup, vault creation and giving access to others\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Network/virtualNetworks/read\",\"Microsoft.RecoveryServices/Vaults/backupFabrics/operationResults/read\",\"Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/operationResults/read\",\"Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/backup/action\",\"Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/operationResults/read\",\"Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/operationsStatus/read\",\"Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/read\",\"Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/provisionInstantItemRecovery/action\",\"Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/read\",\"Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/restore/action\",\"Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/revokeInstantItemRecovery/action\",\"Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/write\",\"Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/read\",\"Microsoft.RecoveryServices/Vaults/backupFabrics/refreshContainers/action\",\"Microsoft.RecoveryServices/Vaults/backupJobs/*\",\"Microsoft.RecoveryServices/Vaults/backupJobsExport/action\",\"Microsoft.RecoveryServices/Vaults/backupOperationResults/*\",\"Microsoft.RecoveryServices/Vaults/backupPolicies/operationResults/read\",\"Microsoft.RecoveryServices/Vaults/backupPolicies/read\",\"Microsoft.RecoveryServices/Vaults/backupProtectableItems/*\",\"Microsoft.RecoveryServices/Vaults/backupProtectedItems/read\",\"Microsoft.RecoveryServices/Vaults/backupProtectionContainers/read\",\"Microsoft.RecoveryServices/Vaults/backupUsageSummaries/read\",\"Microsoft.RecoveryServices/Vaults/certificates/write\",\"Microsoft.RecoveryServices/Vaults/extendedInformation/read\",\"Microsoft.RecoveryServices/Vaults/extendedInformation/write\",\"Microsoft.RecoveryServices/Vaults/monitoringAlerts/read\",\"Microsoft.RecoveryServices/Vaults/monitoringConfigurations/*\",\"Microsoft.RecoveryServices/Vaults/read\",\"Microsoft.RecoveryServices/Vaults/registeredIdentities/operationResults/read\",\"Microsoft.RecoveryServices/Vaults/registeredIdentities/read\",\"Microsoft.RecoveryServices/Vaults/registeredIdentities/write\",\"Microsoft.RecoveryServices/Vaults/usages/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Storage/storageAccounts/read\",\"Microsoft.RecoveryServices/Vaults/backupstorageconfig/*\",\"Microsoft.RecoveryServices/Vaults/backupValidateOperation/action\",\"Microsoft.RecoveryServices/Vaults/backupOperations/read\",\"Microsoft.RecoveryServices/Vaults/backupPolicies/operations/read\",\"Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/write\",\"Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/inquire/action\",\"Microsoft.RecoveryServices/Vaults/backupEngines/read\",\"Microsoft.RecoveryServices/Vaults/backupFabrics/backupProtectionIntent/write\",\"Microsoft.RecoveryServices/Vaults/backupFabrics/backupProtectionIntent/read\",\"Microsoft.RecoveryServices/Vaults/backupFabrics/protectableContainers/read\",\"Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/items/read\",\"Microsoft.RecoveryServices/locations/backupStatus/action\",\"Microsoft.RecoveryServices/locations/backupPreValidateProtection/action\",\"Microsoft.RecoveryServices/locations/backupValidateFeatures/action\",\"Microsoft.RecoveryServices/Vaults/monitoringAlerts/write\",\"Microsoft.RecoveryServices/operations/read\",\"Microsoft.RecoveryServices/locations/operationStatus/read\",\"Microsoft.RecoveryServices/Vaults/backupProtectionIntents/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2017-01-03T13:21:11.8947640Z\",\"updatedOn\":\"2019-12-17T11:02:43.9998686Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/00c29273-979b-4161-815c-10b084fb9324\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"00c29273-979b-4161-815c-10b084fb9324\"},{\"properties\":{\"roleName\":\"Backup + Reader\",\"type\":\"BuiltInRole\",\"description\":\"Can view backup services, + but can't make changes\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.RecoveryServices/locations/allocatedStamp/read\",\"Microsoft.RecoveryServices/Vaults/backupFabrics/operationResults/read\",\"Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/operationResults/read\",\"Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/operationResults/read\",\"Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/operationsStatus/read\",\"Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/read\",\"Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/read\",\"Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/read\",\"Microsoft.RecoveryServices/Vaults/backupJobs/operationResults/read\",\"Microsoft.RecoveryServices/Vaults/backupJobs/read\",\"Microsoft.RecoveryServices/Vaults/backupJobsExport/action\",\"Microsoft.RecoveryServices/Vaults/backupOperationResults/read\",\"Microsoft.RecoveryServices/Vaults/backupPolicies/operationResults/read\",\"Microsoft.RecoveryServices/Vaults/backupPolicies/read\",\"Microsoft.RecoveryServices/Vaults/backupProtectedItems/read\",\"Microsoft.RecoveryServices/Vaults/backupProtectionContainers/read\",\"Microsoft.RecoveryServices/Vaults/backupUsageSummaries/read\",\"Microsoft.RecoveryServices/Vaults/extendedInformation/read\",\"Microsoft.RecoveryServices/Vaults/monitoringAlerts/read\",\"Microsoft.RecoveryServices/Vaults/read\",\"Microsoft.RecoveryServices/Vaults/registeredIdentities/operationResults/read\",\"Microsoft.RecoveryServices/Vaults/registeredIdentities/read\",\"Microsoft.RecoveryServices/Vaults/backupstorageconfig/read\",\"Microsoft.RecoveryServices/Vaults/backupconfig/read\",\"Microsoft.RecoveryServices/Vaults/backupOperations/read\",\"Microsoft.RecoveryServices/Vaults/backupPolicies/operations/read\",\"Microsoft.RecoveryServices/Vaults/backupEngines/read\",\"Microsoft.RecoveryServices/Vaults/backupFabrics/backupProtectionIntent/read\",\"Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/items/read\",\"Microsoft.RecoveryServices/locations/backupStatus/action\",\"Microsoft.RecoveryServices/Vaults/monitoringConfigurations/*\",\"Microsoft.RecoveryServices/Vaults/monitoringAlerts/write\",\"Microsoft.RecoveryServices/operations/read\",\"Microsoft.RecoveryServices/locations/operationStatus/read\",\"Microsoft.RecoveryServices/Vaults/backupProtectionIntents/read\",\"Microsoft.RecoveryServices/Vaults/usages/read\",\"Microsoft.RecoveryServices/locations/backupValidateFeatures/action\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2017-01-03T13:18:41.3893065Z\",\"updatedOn\":\"2020-03-04T12:12:04.3213110Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/a795c7a0-d4a2-40c1-ae25-d81f01202912\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"a795c7a0-d4a2-40c1-ae25-d81f01202912\"},{\"properties\":{\"roleName\":\"Blockchain + Member Node Access (Preview)\",\"type\":\"BuiltInRole\",\"description\":\"Allows + for access to Blockchain Member nodes\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Blockchain/blockchainMembers/transactionNodes/read\"],\"notActions\":[],\"dataActions\":[\"Microsoft.Blockchain/blockchainMembers/transactionNodes/connect/action\"],\"notDataActions\":[]}],\"createdOn\":\"2018-12-21T10:33:01.9604839Z\",\"updatedOn\":\"2018-12-21T10:33:58.0042162Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/31a002a1-acaf-453e-8a5b-297c9ca1ea24\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"31a002a1-acaf-453e-8a5b-297c9ca1ea24\"},{\"properties\":{\"roleName\":\"BizTalk + Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Lets you manage BizTalk + services, but not access to them.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.BizTalkServices/BizTalk/*\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.ResourceHealth/availabilityStatuses/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2015-02-02T21:55:09.8806423Z\",\"updatedOn\":\"2019-02-05T20:42:18.8978210Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/5e3c6656-6cfa-4708-81fe-0de47ac73342\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"5e3c6656-6cfa-4708-81fe-0de47ac73342\"},{\"properties\":{\"roleName\":\"CDN + Endpoint Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Can manage + CDN endpoints, but can\u2019t grant access to other users.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Cdn/edgenodes/read\",\"Microsoft.Cdn/operationresults/*\",\"Microsoft.Cdn/profiles/endpoints/*\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2016-01-23T02:48:46.4996252Z\",\"updatedOn\":\"2016-05-31T23:13:52.6231539Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/426e0c7f-0c7e-4658-b36f-ff54d6c29b45\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"426e0c7f-0c7e-4658-b36f-ff54d6c29b45\"},{\"properties\":{\"roleName\":\"CDN + Endpoint Reader\",\"type\":\"BuiltInRole\",\"description\":\"Can view CDN + endpoints, but can\u2019t make changes.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Cdn/edgenodes/read\",\"Microsoft.Cdn/operationresults/*\",\"Microsoft.Cdn/profiles/endpoints/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2016-01-23T02:48:46.4996252Z\",\"updatedOn\":\"2016-05-31T23:13:53.1585846Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/871e35f6-b5c1-49cc-a043-bde969a0f2cd\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"871e35f6-b5c1-49cc-a043-bde969a0f2cd\"},{\"properties\":{\"roleName\":\"CDN + Profile Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Can manage + CDN profiles and their endpoints, but can\u2019t grant access to other users.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Cdn/edgenodes/read\",\"Microsoft.Cdn/operationresults/*\",\"Microsoft.Cdn/profiles/*\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2016-01-23T02:48:46.4996252Z\",\"updatedOn\":\"2016-05-31T23:13:53.7051278Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/ec156ff8-a8d1-4d15-830c-5b80698ca432\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"ec156ff8-a8d1-4d15-830c-5b80698ca432\"},{\"properties\":{\"roleName\":\"CDN + Profile Reader\",\"type\":\"BuiltInRole\",\"description\":\"Can view CDN profiles + and their endpoints, but can\u2019t make changes.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Cdn/edgenodes/read\",\"Microsoft.Cdn/operationresults/*\",\"Microsoft.Cdn/profiles/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2016-01-23T02:48:46.4996252Z\",\"updatedOn\":\"2016-05-31T23:13:54.2283001Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8f96442b-4075-438f-813d-ad51ab4019af\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"8f96442b-4075-438f-813d-ad51ab4019af\"},{\"properties\":{\"roleName\":\"Classic + Network Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Lets you + manage classic networks, but not access to them.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.ClassicNetwork/*\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.ResourceHealth/availabilityStatuses/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2015-02-02T21:55:09.8806423Z\",\"updatedOn\":\"2019-02-05T21:24:39.7576926Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b34d265f-36f7-4a0d-a4d4-e158ca92e90f\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"b34d265f-36f7-4a0d-a4d4-e158ca92e90f\"},{\"properties\":{\"roleName\":\"Classic + Storage Account Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Lets + you manage classic storage accounts, but not access to them.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.ClassicStorage/storageAccounts/*\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.ResourceHealth/availabilityStatuses/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2015-02-02T21:55:09.8806423Z\",\"updatedOn\":\"2019-02-05T21:24:30.8964641Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/86e8f5dc-a6e9-4c67-9d15-de283e8eac25\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"86e8f5dc-a6e9-4c67-9d15-de283e8eac25\"},{\"properties\":{\"roleName\":\"Classic + Storage Account Key Operator Service Role\",\"type\":\"BuiltInRole\",\"description\":\"Classic + Storage Account Key Operators are allowed to list and regenerate keys on Classic + Storage Accounts\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.ClassicStorage/storageAccounts/listkeys/action\",\"Microsoft.ClassicStorage/storageAccounts/regeneratekey/action\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2017-04-13T18:22:52.1461100Z\",\"updatedOn\":\"2017-04-13T20:54:03.0505986Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/985d6b00-f706-48f5-a6fe-d0ca12fb668d\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"985d6b00-f706-48f5-a6fe-d0ca12fb668d\"},{\"properties\":{\"roleName\":\"ClearDB + MySQL DB Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Lets you + manage ClearDB MySQL databases, but not access to them.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.ResourceHealth/availabilityStatuses/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\",\"successbricks.cleardb/databases/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2015-02-02T21:55:09.8806423Z\",\"updatedOn\":\"2019-02-05T20:42:23.2893077Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/9106cda0-8a86-4e81-b686-29a22c54effe\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"9106cda0-8a86-4e81-b686-29a22c54effe\"},{\"properties\":{\"roleName\":\"Classic + Virtual Machine Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Lets + you manage classic virtual machines, but not access to them, and not the virtual + network or storage account they\u2019re connected to.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.ClassicCompute/domainNames/*\",\"Microsoft.ClassicCompute/virtualMachines/*\",\"Microsoft.ClassicNetwork/networkSecurityGroups/join/action\",\"Microsoft.ClassicNetwork/reservedIps/link/action\",\"Microsoft.ClassicNetwork/reservedIps/read\",\"Microsoft.ClassicNetwork/virtualNetworks/join/action\",\"Microsoft.ClassicNetwork/virtualNetworks/read\",\"Microsoft.ClassicStorage/storageAccounts/disks/read\",\"Microsoft.ClassicStorage/storageAccounts/images/read\",\"Microsoft.ClassicStorage/storageAccounts/listKeys/action\",\"Microsoft.ClassicStorage/storageAccounts/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.ResourceHealth/availabilityStatuses/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2015-04-25T00:37:56.5416086Z\",\"updatedOn\":\"2019-02-05T21:24:43.0770473Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/d73bb868-a0df-4d4d-bd69-98a00b01fccb\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"d73bb868-a0df-4d4d-bd69-98a00b01fccb\"},{\"properties\":{\"roleName\":\"Cognitive + Services User\",\"type\":\"BuiltInRole\",\"description\":\"Lets you read and + list keys of Cognitive Services.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.CognitiveServices/*/read\",\"Microsoft.CognitiveServices/accounts/listkeys/action\",\"Microsoft.Insights/alertRules/read\",\"Microsoft.Insights/diagnosticSettings/read\",\"Microsoft.Insights/logDefinitions/read\",\"Microsoft.Insights/metricdefinitions/read\",\"Microsoft.Insights/metrics/read\",\"Microsoft.ResourceHealth/availabilityStatuses/read\",\"Microsoft.Resources/deployments/operations/read\",\"Microsoft.Resources/subscriptions/operationresults/read\",\"Microsoft.Resources/subscriptions/read\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[\"Microsoft.CognitiveServices/*\"],\"notDataActions\":[]}],\"createdOn\":\"2018-08-08T23:23:43.7701274Z\",\"updatedOn\":\"2019-02-13T19:53:56.7209248Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/a97b65f3-24c7-4388-baec-2e87135dc908\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"a97b65f3-24c7-4388-baec-2e87135dc908\"},{\"properties\":{\"roleName\":\"Cognitive + Services Data Reader (Preview)\",\"type\":\"BuiltInRole\",\"description\":\"Lets + you read Cognitive Services data.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.CognitiveServices/*/read\"],\"notDataActions\":[]}],\"createdOn\":\"2019-02-13T20:02:12.6849986Z\",\"updatedOn\":\"2019-02-13T22:53:55.1675290Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b59867f0-fa02-499b-be73-45a86b5b3e1c\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"b59867f0-fa02-499b-be73-45a86b5b3e1c\"},{\"properties\":{\"roleName\":\"Cognitive + Services Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Lets you + create, read, update, delete and manage keys of Cognitive Services.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.CognitiveServices/*\",\"Microsoft.Features/features/read\",\"Microsoft.Features/providers/features/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Insights/diagnosticSettings/*\",\"Microsoft.Insights/logDefinitions/read\",\"Microsoft.Insights/metricdefinitions/read\",\"Microsoft.Insights/metrics/read\",\"Microsoft.ResourceHealth/availabilityStatuses/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/deployments/operations/read\",\"Microsoft.Resources/subscriptions/operationresults/read\",\"Microsoft.Resources/subscriptions/read\",\"Microsoft.Resources/subscriptions/resourcegroups/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2018-08-08T23:18:39.2257848Z\",\"updatedOn\":\"2018-09-14T00:53:37.7546808Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/25fbc0a9-bd7c-42a3-aa1a-3b75d497ee68\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"25fbc0a9-bd7c-42a3-aa1a-3b75d497ee68\"},{\"properties\":{\"roleName\":\"CosmosBackupOperator\",\"type\":\"BuiltInRole\",\"description\":\"Can + submit restore request for a Cosmos DB database or a container for an account\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.DocumentDB/databaseAccounts/backup/action\",\"Microsoft.DocumentDB/databaseAccounts/restore/action\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2018-12-07T19:47:14.9651560Z\",\"updatedOn\":\"2018-12-07T19:52:21.9969834Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/db7b14f2-5adf-42da-9f96-f2ee17bab5cb\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"db7b14f2-5adf-42da-9f96-f2ee17bab5cb\"},{\"properties\":{\"roleName\":\"Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Lets + you manage everything except access to resources.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"*\"],\"notActions\":[\"Microsoft.Authorization/*/Delete\",\"Microsoft.Authorization/*/Write\",\"Microsoft.Authorization/elevateAccess/Action\",\"Microsoft.Blueprint/blueprintAssignments/write\",\"Microsoft.Blueprint/blueprintAssignments/delete\"],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2015-02-02T21:55:09.8806423Z\",\"updatedOn\":\"2019-02-05T21:24:38.4580610Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"b24988ac-6180-42a0-ab88-20f7382dd24c\"},{\"properties\":{\"roleName\":\"Cosmos + DB Account Reader Role\",\"type\":\"BuiltInRole\",\"description\":\"Can read + Azure Cosmos DB Accounts data\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.DocumentDB/*/read\",\"Microsoft.DocumentDB/databaseAccounts/readonlykeys/action\",\"Microsoft.Insights/MetricDefinitions/read\",\"Microsoft.Insights/Metrics/read\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2017-10-30T17:53:54.6005577Z\",\"updatedOn\":\"2018-02-21T01:36:59.6186231Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/fbdf93bf-df7d-467e-a4d2-9458aa1360c8\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"fbdf93bf-df7d-467e-a4d2-9458aa1360c8\"},{\"properties\":{\"roleName\":\"Cost + Management Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Can view + costs and manage cost configuration (e.g. budgets, exports)\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Consumption/*\",\"Microsoft.CostManagement/*\",\"Microsoft.Billing/billingPeriods/read\",\"Microsoft.Resources/subscriptions/read\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\",\"Microsoft.Advisor/configurations/read\",\"Microsoft.Advisor/recommendations/read\",\"Microsoft.Management/managementGroups/read\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2018-03-14T16:09:22.8834827Z\",\"updatedOn\":\"2019-06-25T21:25:06.8686379Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/434105ed-43f6-45c7-a02f-909b2ba83430\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"434105ed-43f6-45c7-a02f-909b2ba83430\"},{\"properties\":{\"roleName\":\"Cost + Management Reader\",\"type\":\"BuiltInRole\",\"description\":\"Can view cost + data and configuration (e.g. budgets, exports)\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Consumption/*/read\",\"Microsoft.CostManagement/*/read\",\"Microsoft.Billing/billingPeriods/read\",\"Microsoft.Resources/subscriptions/read\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\",\"Microsoft.Advisor/configurations/read\",\"Microsoft.Advisor/recommendations/read\",\"Microsoft.Management/managementGroups/read\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2018-03-14T16:09:22.8834827Z\",\"updatedOn\":\"2019-06-25T20:59:11.5762937Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/72fafb9e-0641-4937-9268-a91bfd8191a3\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"72fafb9e-0641-4937-9268-a91bfd8191a3\"},{\"properties\":{\"roleName\":\"Data + Box Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Lets you manage + everything under Data Box Service except giving access to others.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.ResourceHealth/availabilityStatuses/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\",\"Microsoft.Databox/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2018-07-27T08:28:42.7140210Z\",\"updatedOn\":\"2018-07-27T08:36:56.3827309Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/add466c9-e687-43fc-8d98-dfcf8d720be5\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"add466c9-e687-43fc-8d98-dfcf8d720be5\"},{\"properties\":{\"roleName\":\"Data + Box Reader\",\"type\":\"BuiltInRole\",\"description\":\"Lets you manage Data + Box Service except creating order or editing order details and giving access + to others.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Databox/*/read\",\"Microsoft.Databox/jobs/listsecrets/action\",\"Microsoft.Databox/jobs/listcredentials/action\",\"Microsoft.Databox/locations/availableSkus/action\",\"Microsoft.Databox/locations/validateInputs/action\",\"Microsoft.Databox/locations/regionConfiguration/action\",\"Microsoft.Databox/locations/validateAddress/action\",\"Microsoft.ResourceHealth/availabilityStatuses/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2018-07-27T08:26:21.9284772Z\",\"updatedOn\":\"2020-01-24T05:39:52.6143537Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/028f4ed7-e2a9-465e-a8f4-9c0ffdfdc027\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"028f4ed7-e2a9-465e-a8f4-9c0ffdfdc027\"},{\"properties\":{\"roleName\":\"Data + Factory Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Create and + manage data factories, as well as child resources within them.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.DataFactory/dataFactories/*\",\"Microsoft.DataFactory/factories/*\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.ResourceHealth/availabilityStatuses/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\",\"Microsoft.EventGrid/eventSubscriptions/write\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2015-02-02T21:55:09.8806423Z\",\"updatedOn\":\"2020-02-14T19:49:21.5789216Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/673868aa-7521-48a0-acc6-0f60742d39f5\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"673868aa-7521-48a0-acc6-0f60742d39f5\"},{\"properties\":{\"roleName\":\"Data + Purger\",\"type\":\"BuiltInRole\",\"description\":\"Can purge analytics data\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Insights/components/*/read\",\"Microsoft.Insights/components/purge/action\",\"Microsoft.OperationalInsights/workspaces/*/read\",\"Microsoft.OperationalInsights/workspaces/purge/action\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2018-04-30T22:39:49.6167700Z\",\"updatedOn\":\"2018-04-30T22:44:15.1171162Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/150f5e0c-0603-4f03-8c7f-cf70034c4e90\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"150f5e0c-0603-4f03-8c7f-cf70034c4e90\"},{\"properties\":{\"roleName\":\"Data + Lake Analytics Developer\",\"type\":\"BuiltInRole\",\"description\":\"Lets + you submit, monitor, and manage your own jobs but not create or delete Data + Lake Analytics accounts.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.BigAnalytics/accounts/*\",\"Microsoft.DataLakeAnalytics/accounts/*\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.ResourceHealth/availabilityStatuses/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\"],\"notActions\":[\"Microsoft.BigAnalytics/accounts/Delete\",\"Microsoft.BigAnalytics/accounts/TakeOwnership/action\",\"Microsoft.BigAnalytics/accounts/Write\",\"Microsoft.DataLakeAnalytics/accounts/Delete\",\"Microsoft.DataLakeAnalytics/accounts/TakeOwnership/action\",\"Microsoft.DataLakeAnalytics/accounts/Write\",\"Microsoft.DataLakeAnalytics/accounts/dataLakeStoreAccounts/Write\",\"Microsoft.DataLakeAnalytics/accounts/dataLakeStoreAccounts/Delete\",\"Microsoft.DataLakeAnalytics/accounts/storageAccounts/Write\",\"Microsoft.DataLakeAnalytics/accounts/storageAccounts/Delete\",\"Microsoft.DataLakeAnalytics/accounts/firewallRules/Write\",\"Microsoft.DataLakeAnalytics/accounts/firewallRules/Delete\",\"Microsoft.DataLakeAnalytics/accounts/computePolicies/Write\",\"Microsoft.DataLakeAnalytics/accounts/computePolicies/Delete\"],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2015-10-20T00:33:29.3115234Z\",\"updatedOn\":\"2017-08-18T00:00:17.0411642Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/47b7735b-770e-4598-a7da-8b91488b4c88\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"47b7735b-770e-4598-a7da-8b91488b4c88\"},{\"properties\":{\"roleName\":\"DevTest + Labs User\",\"type\":\"BuiltInRole\",\"description\":\"Lets you connect, start, + restart, and shutdown your virtual machines in your Azure DevTest Labs.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Compute/availabilitySets/read\",\"Microsoft.Compute/virtualMachines/*/read\",\"Microsoft.Compute/virtualMachines/deallocate/action\",\"Microsoft.Compute/virtualMachines/read\",\"Microsoft.Compute/virtualMachines/restart/action\",\"Microsoft.Compute/virtualMachines/start/action\",\"Microsoft.DevTestLab/*/read\",\"Microsoft.DevTestLab/labs/claimAnyVm/action\",\"Microsoft.DevTestLab/labs/createEnvironment/action\",\"Microsoft.DevTestLab/labs/ensureCurrentUserProfile/action\",\"Microsoft.DevTestLab/labs/formulas/delete\",\"Microsoft.DevTestLab/labs/formulas/read\",\"Microsoft.DevTestLab/labs/formulas/write\",\"Microsoft.DevTestLab/labs/policySets/evaluatePolicies/action\",\"Microsoft.DevTestLab/labs/virtualMachines/claim/action\",\"Microsoft.DevTestLab/labs/virtualmachines/listApplicableSchedules/action\",\"Microsoft.DevTestLab/labs/virtualMachines/getRdpFileContents/action\",\"Microsoft.Network/loadBalancers/backendAddressPools/join/action\",\"Microsoft.Network/loadBalancers/inboundNatRules/join/action\",\"Microsoft.Network/networkInterfaces/*/read\",\"Microsoft.Network/networkInterfaces/join/action\",\"Microsoft.Network/networkInterfaces/read\",\"Microsoft.Network/networkInterfaces/write\",\"Microsoft.Network/publicIPAddresses/*/read\",\"Microsoft.Network/publicIPAddresses/join/action\",\"Microsoft.Network/publicIPAddresses/read\",\"Microsoft.Network/virtualNetworks/subnets/join/action\",\"Microsoft.Resources/deployments/operations/read\",\"Microsoft.Resources/deployments/read\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Storage/storageAccounts/listKeys/action\"],\"notActions\":[\"Microsoft.Compute/virtualMachines/vmSizes/read\"],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2015-06-08T21:52:45.0657582Z\",\"updatedOn\":\"2019-05-08T11:27:34.8855476Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/76283e04-6283-4c54-8f91-bcf1374a3c64\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"76283e04-6283-4c54-8f91-bcf1374a3c64\"},{\"properties\":{\"roleName\":\"DocumentDB + Account Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Lets you + manage DocumentDB accounts, but not access to them.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.DocumentDb/databaseAccounts/*\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.ResourceHealth/availabilityStatuses/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\",\"Microsoft.Network/virtualNetworks/subnets/joinViaServiceEndpoint/action\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2015-02-02T21:55:09.8806423Z\",\"updatedOn\":\"2019-11-21T01:38:32.0948484Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/5bd9cd88-fe45-4216-938b-f97437e15450\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"5bd9cd88-fe45-4216-938b-f97437e15450\"},{\"properties\":{\"roleName\":\"DNS + Zone Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Lets you manage + DNS zones and record sets in Azure DNS, but does not let you control who has + access to them.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Network/dnsZones/*\",\"Microsoft.ResourceHealth/availabilityStatuses/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2015-10-15T23:33:25.9730842Z\",\"updatedOn\":\"2016-05-31T23:13:40.3710365Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/befefa01-2a29-4197-83a8-272ff33ce314\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"befefa01-2a29-4197-83a8-272ff33ce314\"},{\"properties\":{\"roleName\":\"EventGrid + EventSubscription Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Lets + you manage EventGrid event subscription operations.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.EventGrid/eventSubscriptions/*\",\"Microsoft.EventGrid/topicTypes/eventSubscriptions/read\",\"Microsoft.EventGrid/locations/eventSubscriptions/read\",\"Microsoft.EventGrid/locations/topicTypes/eventSubscriptions/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2018-10-08T23:27:28.3130743Z\",\"updatedOn\":\"2019-01-08T00:06:34.3543171Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/428e0ff0-5e57-4d9c-a221-2c70d0e0a443\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"428e0ff0-5e57-4d9c-a221-2c70d0e0a443\"},{\"properties\":{\"roleName\":\"EventGrid + EventSubscription Reader\",\"type\":\"BuiltInRole\",\"description\":\"Lets + you read EventGrid event subscriptions.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.EventGrid/eventSubscriptions/read\",\"Microsoft.EventGrid/topicTypes/eventSubscriptions/read\",\"Microsoft.EventGrid/locations/eventSubscriptions/read\",\"Microsoft.EventGrid/locations/topicTypes/eventSubscriptions/read\",\"Microsoft.Resources/subscriptions/resourceGroups/read\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2018-10-09T17:29:28.1417894Z\",\"updatedOn\":\"2019-01-08T00:05:40.2884365Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/2414bbcf-6497-4faf-8c65-045460748405\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"2414bbcf-6497-4faf-8c65-045460748405\"},{\"properties\":{\"roleName\":\"Graph + Owner\",\"type\":\"BuiltInRole\",\"description\":\"Create and manage all aspects + of the Enterprise Graph - Ontology, Schema mapping, Conflation and Conversational + AI and Ingestions\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.EnterpriseKnowledgeGraph/services/conflation/read\",\"Microsoft.EnterpriseKnowledgeGraph/services/conflation/write\",\"Microsoft.EnterpriseKnowledgeGraph/services/sourceschema/read\",\"Microsoft.EnterpriseKnowledgeGraph/services/sourceschema/write\",\"Microsoft.EnterpriseKnowledgeGraph/services/knowledge/read\",\"Microsoft.EnterpriseKnowledgeGraph/services/knowledge/write\",\"Microsoft.EnterpriseKnowledgeGraph/services/intentclassification/read\",\"Microsoft.EnterpriseKnowledgeGraph/services/intentclassification/write\",\"Microsoft.EnterpriseKnowledgeGraph/services/ingestion/read\",\"Microsoft.EnterpriseKnowledgeGraph/services/ingestion/write\",\"Microsoft.EnterpriseKnowledgeGraph/services/ontology/read\",\"Microsoft.EnterpriseKnowledgeGraph/services/ontology/write\",\"Microsoft.EnterpriseKnowledgeGraph/services/delete\",\"Microsoft.EnterpriseKnowledgeGraph/operations/read\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2019-02-23T21:07:22.5844236Z\",\"updatedOn\":\"2019-02-28T20:21:18.9318073Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b60367af-1334-4454-b71e-769d9a4f83d9\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"b60367af-1334-4454-b71e-769d9a4f83d9\"},{\"properties\":{\"roleName\":\"HDInsight + Domain Services Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Can + Read, Create, Modify and Delete Domain Services related operations needed + for HDInsight Enterprise Security Package\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.AAD/*/read\",\"Microsoft.AAD/domainServices/*/read\",\"Microsoft.AAD/domainServices/oucontainer/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2018-09-12T22:42:51.7451109Z\",\"updatedOn\":\"2018-09-12T23:06:45.7641599Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8d8d5a11-05d3-4bda-a417-a08778121c7c\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"8d8d5a11-05d3-4bda-a417-a08778121c7c\"},{\"properties\":{\"roleName\":\"Intelligent + Systems Account Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Lets + you manage Intelligent Systems accounts, but not access to them.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.IntelligentSystems/accounts/*\",\"Microsoft.ResourceHealth/availabilityStatuses/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2015-02-02T21:55:09.8806423Z\",\"updatedOn\":\"2019-02-05T20:32:00.9996357Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/03a6d094-3444-4b3d-88af-7477090a9e5e\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"03a6d094-3444-4b3d-88af-7477090a9e5e\"},{\"properties\":{\"roleName\":\"Key + Vault Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Lets you manage + key vaults, but not access to them.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.KeyVault/*\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\"],\"notActions\":[\"Microsoft.KeyVault/locations/deletedVaults/purge/action\",\"Microsoft.KeyVault/hsmPools/*\"],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2016-02-25T17:08:28.5184971Z\",\"updatedOn\":\"2019-02-05T21:24:49.5373075Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/f25e0fa2-a7c8-4377-a976-54943a77a395\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"f25e0fa2-a7c8-4377-a976-54943a77a395\"},{\"properties\":{\"roleName\":\"Knowledge + Consumer\",\"type\":\"BuiltInRole\",\"description\":\"Knowledge Read permission + to consume Enterprise Graph Knowledge using entity search and graph query\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.EnterpriseKnowledgeGraph/services/knowledge/read\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2019-02-23T21:23:31.4037552Z\",\"updatedOn\":\"2019-02-28T20:25:00.7369384Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/ee361c5d-f7b5-4119-b4b6-892157c8f64c\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"ee361c5d-f7b5-4119-b4b6-892157c8f64c\"},{\"properties\":{\"roleName\":\"Lab + Creator\",\"type\":\"BuiltInRole\",\"description\":\"Lets you create, manage, + delete your managed labs under your Azure Lab Accounts.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.LabServices/labAccounts/*/read\",\"Microsoft.LabServices/labAccounts/createLab/action\",\"Microsoft.LabServices/labAccounts/sizes/getRegionalAvailability/action\",\"Microsoft.LabServices/labAccounts/getRegionalAvailability/action\",\"Microsoft.LabServices/labAccounts/getPricingAndAvailability/action\",\"Microsoft.LabServices/labAccounts/getRestrictionsAndUsage/action\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2018-01-18T23:38:58.1036141Z\",\"updatedOn\":\"2020-02-12T23:54:21.0840302Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b97fb8bc-a8b2-4522-a38b-dd33c7e65ead\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"b97fb8bc-a8b2-4522-a38b-dd33c7e65ead\"},{\"properties\":{\"roleName\":\"Log + Analytics Reader\",\"type\":\"BuiltInRole\",\"description\":\"Log Analytics + Reader can view and search all monitoring data as well as and view monitoring + settings, including viewing the configuration of Azure diagnostics on all + Azure resources.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"*/read\",\"Microsoft.OperationalInsights/workspaces/analytics/query/action\",\"Microsoft.OperationalInsights/workspaces/search/action\",\"Microsoft.Support/*\"],\"notActions\":[\"Microsoft.OperationalInsights/workspaces/sharedKeys/read\"],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2017-05-02T00:20:28.1449012Z\",\"updatedOn\":\"2018-01-30T18:08:26.0438523Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/73c42c96-874c-492b-b04d-ab87d138a893\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"73c42c96-874c-492b-b04d-ab87d138a893\"},{\"properties\":{\"roleName\":\"Log + Analytics Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Log Analytics + Contributor can read all monitoring data and edit monitoring settings. Editing + monitoring settings includes adding the VM extension to VMs; reading storage + account keys to be able to configure collection of logs from Azure Storage; + creating and configuring Automation accounts; adding solutions; and configuring + Azure diagnostics on all Azure resources.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"*/read\",\"Microsoft.Automation/automationAccounts/*\",\"Microsoft.ClassicCompute/virtualMachines/extensions/*\",\"Microsoft.ClassicStorage/storageAccounts/listKeys/action\",\"Microsoft.Compute/virtualMachines/extensions/*\",\"Microsoft.HybridCompute/machines/extensions/write\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Insights/diagnosticSettings/*\",\"Microsoft.OperationalInsights/*\",\"Microsoft.OperationsManagement/*\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourcegroups/deployments/*\",\"Microsoft.Storage/storageAccounts/listKeys/action\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2017-04-25T21:51:45.3174711Z\",\"updatedOn\":\"2020-03-26T22:57:55.3667830Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/92aaf0da-9dab-42b6-94a3-d43ce8d16293\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"92aaf0da-9dab-42b6-94a3-d43ce8d16293\"},{\"properties\":{\"roleName\":\"Logic + App Operator\",\"type\":\"BuiltInRole\",\"description\":\"Lets you read, enable + and disable logic app.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*/read\",\"Microsoft.Insights/metricAlerts/*/read\",\"Microsoft.Insights/diagnosticSettings/*/read\",\"Microsoft.Insights/metricDefinitions/*/read\",\"Microsoft.Logic/*/read\",\"Microsoft.Logic/workflows/disable/action\",\"Microsoft.Logic/workflows/enable/action\",\"Microsoft.Logic/workflows/validate/action\",\"Microsoft.Resources/deployments/operations/read\",\"Microsoft.Resources/subscriptions/operationresults/read\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\",\"Microsoft.Web/connectionGateways/*/read\",\"Microsoft.Web/connections/*/read\",\"Microsoft.Web/customApis/*/read\",\"Microsoft.Web/serverFarms/read\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2016-04-28T21:33:30.4656007Z\",\"updatedOn\":\"2019-10-15T04:28:56.3265986Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/515c2055-d9d4-4321-b1b9-bd0c9a0f79fe\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"515c2055-d9d4-4321-b1b9-bd0c9a0f79fe\"},{\"properties\":{\"roleName\":\"Logic + App Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Lets you manage + logic app, but not access to them.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.ClassicStorage/storageAccounts/listKeys/action\",\"Microsoft.ClassicStorage/storageAccounts/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Insights/metricAlerts/*\",\"Microsoft.Insights/diagnosticSettings/*\",\"Microsoft.Insights/logdefinitions/*\",\"Microsoft.Insights/metricDefinitions/*\",\"Microsoft.Logic/*\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/operationresults/read\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Storage/storageAccounts/listkeys/action\",\"Microsoft.Storage/storageAccounts/read\",\"Microsoft.Support/*\",\"Microsoft.Web/connectionGateways/*\",\"Microsoft.Web/connections/*\",\"Microsoft.Web/customApis/*\",\"Microsoft.Web/serverFarms/join/action\",\"Microsoft.Web/serverFarms/read\",\"Microsoft.Web/sites/functions/listSecrets/action\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2016-04-28T21:33:30.4656007Z\",\"updatedOn\":\"2019-10-15T04:31:27.7685427Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/87a39d53-fc1b-424a-814c-f7e04687dc9e\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"87a39d53-fc1b-424a-814c-f7e04687dc9e\"},{\"properties\":{\"roleName\":\"Managed + Application Operator Role\",\"type\":\"BuiltInRole\",\"description\":\"Lets + you read and perform actions on Managed Application resources\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"*/read\",\"Microsoft.Solutions/applications/read\",\"Microsoft.Solutions/*/action\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2018-07-27T00:59:33.7988813Z\",\"updatedOn\":\"2019-02-20T01:09:55.1593079Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/c7393b34-138c-406f-901b-d8cf2b17e6ae\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"c7393b34-138c-406f-901b-d8cf2b17e6ae\"},{\"properties\":{\"roleName\":\"Managed + Applications Reader\",\"type\":\"BuiltInRole\",\"description\":\"Lets you + read resources in a managed app and request JIT access.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"*/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Solutions/jitRequests/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2018-09-06T00:33:58.3651522Z\",\"updatedOn\":\"2018-09-06T00:33:58.3651522Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b9331d33-8a36-4f8c-b097-4f54124fdb44\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"b9331d33-8a36-4f8c-b097-4f54124fdb44\"},{\"properties\":{\"roleName\":\"Managed + Identity Operator\",\"type\":\"BuiltInRole\",\"description\":\"Read and Assign + User Assigned Identity\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.ManagedIdentity/userAssignedIdentities/*/read\",\"Microsoft.ManagedIdentity/userAssignedIdentities/*/assign/action\",\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2017-12-14T19:52:04.3924594Z\",\"updatedOn\":\"2017-12-14T22:16:00.1483256Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/f1a07417-d97a-45cb-824c-7a7467783830\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"f1a07417-d97a-45cb-824c-7a7467783830\"},{\"properties\":{\"roleName\":\"Managed + Identity Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Create, + Read, Update, and Delete User Assigned Identity\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.ManagedIdentity/userAssignedIdentities/read\",\"Microsoft.ManagedIdentity/userAssignedIdentities/write\",\"Microsoft.ManagedIdentity/userAssignedIdentities/delete\",\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2017-12-14T19:53:42.8804692Z\",\"updatedOn\":\"2019-06-20T21:51:27.0850433Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/e40ec5ca-96e0-45a2-b4ff-59039f2c2b59\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"e40ec5ca-96e0-45a2-b4ff-59039f2c2b59\"},{\"properties\":{\"roleName\":\"Management + Group Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Management + Group Contributor Role\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Management/managementGroups/delete\",\"Microsoft.Management/managementGroups/read\",\"Microsoft.Management/managementGroups/subscriptions/delete\",\"Microsoft.Management/managementGroups/subscriptions/write\",\"Microsoft.Management/managementGroups/write\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2018-06-22T00:28:29.0523964Z\",\"updatedOn\":\"2018-07-10T20:51:26.6132189Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/5d58bcaf-24a5-4b20-bdb6-eed9f69fbe4c\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"5d58bcaf-24a5-4b20-bdb6-eed9f69fbe4c\"},{\"properties\":{\"roleName\":\"Management + Group Reader\",\"type\":\"BuiltInRole\",\"description\":\"Management Group + Reader Role\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Management/managementGroups/read\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2018-06-22T00:31:03.4295347Z\",\"updatedOn\":\"2018-07-10T20:49:42.5630340Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/ac63b705-f282-497d-ac71-919bf39d939d\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"ac63b705-f282-497d-ac71-919bf39d939d\"},{\"properties\":{\"roleName\":\"Monitoring + Metrics Publisher\",\"type\":\"BuiltInRole\",\"description\":\"Enables publishing + metrics against Azure resources\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Insights/Register/Action\",\"Microsoft.Support/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\"],\"notActions\":[],\"dataActions\":[\"Microsoft.Insights/Metrics/Write\"],\"notDataActions\":[]}],\"createdOn\":\"2018-08-14T00:36:16.5610279Z\",\"updatedOn\":\"2018-08-14T00:37:18.1465065Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/3913510d-42f4-4e42-8a64-420c390055eb\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"3913510d-42f4-4e42-8a64-420c390055eb\"},{\"properties\":{\"roleName\":\"Monitoring + Reader\",\"type\":\"BuiltInRole\",\"description\":\"Can read all monitoring + data.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"*/read\",\"Microsoft.OperationalInsights/workspaces/search/action\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2016-09-21T19:19:52.4939376Z\",\"updatedOn\":\"2018-01-30T18:08:27.2626250Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/43d0d8ad-25c7-4714-9337-8ba259a9fe05\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"43d0d8ad-25c7-4714-9337-8ba259a9fe05\"},{\"properties\":{\"roleName\":\"Network + Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Lets you manage networks, + but not access to them.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Network/*\",\"Microsoft.ResourceHealth/availabilityStatuses/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2015-06-02T00:18:27.3542698Z\",\"updatedOn\":\"2016-05-31T23:14:00.3326359Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"4d97b98b-1d4f-4787-a291-c67834d212e7\"},{\"properties\":{\"roleName\":\"Monitoring + Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Can read all monitoring + data and update monitoring settings.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"*/read\",\"Microsoft.AlertsManagement/alerts/*\",\"Microsoft.AlertsManagement/alertsSummary/*\",\"Microsoft.Insights/actiongroups/*\",\"Microsoft.Insights/activityLogAlerts/*\",\"Microsoft.Insights/AlertRules/*\",\"Microsoft.Insights/components/*\",\"Microsoft.Insights/DiagnosticSettings/*\",\"Microsoft.Insights/eventtypes/*\",\"Microsoft.Insights/LogDefinitions/*\",\"Microsoft.Insights/metricalerts/*\",\"Microsoft.Insights/MetricDefinitions/*\",\"Microsoft.Insights/Metrics/*\",\"Microsoft.Insights/Register/Action\",\"Microsoft.Insights/scheduledqueryrules/*\",\"Microsoft.Insights/webtests/*\",\"Microsoft.Insights/workbooks/*\",\"Microsoft.Insights/privateLinkScopes/*\",\"Microsoft.Insights/privateLinkScopeOperationStatuses/*\",\"Microsoft.OperationalInsights/workspaces/write\",\"Microsoft.OperationalInsights/workspaces/intelligencepacks/*\",\"Microsoft.OperationalInsights/workspaces/savedSearches/*\",\"Microsoft.OperationalInsights/workspaces/search/action\",\"Microsoft.OperationalInsights/workspaces/sharedKeys/action\",\"Microsoft.OperationalInsights/workspaces/storageinsightconfigs/*\",\"Microsoft.Support/*\",\"Microsoft.WorkloadMonitor/monitors/*\",\"Microsoft.WorkloadMonitor/notificationSettings/*\",\"Microsoft.AlertsManagement/smartDetectorAlertRules/*\",\"Microsoft.AlertsManagement/actionRules/*\",\"Microsoft.AlertsManagement/smartGroups/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2016-09-21T19:21:08.4345976Z\",\"updatedOn\":\"2020-04-19T16:03:16.7692305Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/749f88d5-cbae-40b8-bcfc-e573ddc772fa\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"749f88d5-cbae-40b8-bcfc-e573ddc772fa\"},{\"properties\":{\"roleName\":\"New + Relic APM Account Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Lets + you manage New Relic Application Performance Management accounts and applications, + but not access to them.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.ResourceHealth/availabilityStatuses/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\",\"NewRelic.APM/accounts/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2015-02-02T21:55:09.8806423Z\",\"updatedOn\":\"2019-02-05T20:42:16.2033878Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/5d28c62d-5b37-4476-8438-e587778df237\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"5d28c62d-5b37-4476-8438-e587778df237\"},{\"properties\":{\"roleName\":\"Owner\",\"type\":\"BuiltInRole\",\"description\":\"Lets + you manage everything, including access to resources.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2015-02-02T21:55:09.8806423Z\",\"updatedOn\":\"2019-02-05T21:24:32.2101122Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"8e3af657-a8ff-443c-a75c-2fe8c4bcb635\"},{\"properties\":{\"roleName\":\"Reader\",\"type\":\"BuiltInRole\",\"description\":\"Lets + you view everything, but not make any changes.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"*/read\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2015-02-02T21:55:09.8806423Z\",\"updatedOn\":\"2019-02-05T21:24:35.7424745Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"acdd72a7-3385-48ef-bd42-f606fba81ae7\"},{\"properties\":{\"roleName\":\"Redis + Cache Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Lets you manage + Redis caches, but not access to them.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Cache/redis/*\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.ResourceHealth/availabilityStatuses/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2015-02-02T21:55:09.8806423Z\",\"updatedOn\":\"2019-02-05T21:24:48.2353169Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/e0f68234-74aa-48ed-b826-c38b57376e17\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"e0f68234-74aa-48ed-b826-c38b57376e17\"},{\"properties\":{\"roleName\":\"Reader + and Data Access\",\"type\":\"BuiltInRole\",\"description\":\"Lets you view + everything but will not let you delete or create a storage account or contained + resource. It will also allow read/write access to all data contained in a + storage account via access to storage account keys.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Storage/storageAccounts/listKeys/action\",\"Microsoft.Storage/storageAccounts/ListAccountSas/action\",\"Microsoft.Storage/storageAccounts/read\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2018-03-27T23:20:46.1498906Z\",\"updatedOn\":\"2019-04-04T23:41:26.1056261Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/c12c1c16-33a1-487b-954d-41c89c60f349\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"c12c1c16-33a1-487b-954d-41c89c60f349\"},{\"properties\":{\"roleName\":\"Resource + Policy Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Users with + rights to create/modify resource policy, create support ticket and read resources/hierarchy.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"*/read\",\"Microsoft.Authorization/policyassignments/*\",\"Microsoft.Authorization/policydefinitions/*\",\"Microsoft.Authorization/policysetdefinitions/*\",\"Microsoft.PolicyInsights/*\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2017-08-25T19:08:01.3861639Z\",\"updatedOn\":\"2019-11-20T20:26:12.8811365Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/36243c78-bf99-498c-9df9-86d9f8d28608\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"36243c78-bf99-498c-9df9-86d9f8d28608\"},{\"properties\":{\"roleName\":\"Scheduler + Job Collections Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Lets + you manage Scheduler job collections, but not access to them.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.ResourceHealth/availabilityStatuses/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Scheduler/jobcollections/*\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2015-02-02T21:55:09.8806423Z\",\"updatedOn\":\"2019-02-05T20:42:24.8360756Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/188a0f2f-5c9e-469b-ae67-2aa5ce574b94\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"188a0f2f-5c9e-469b-ae67-2aa5ce574b94\"},{\"properties\":{\"roleName\":\"Search + Service Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Lets you + manage Search services, but not access to them.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.ResourceHealth/availabilityStatuses/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Search/searchServices/*\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2015-02-02T21:55:09.8806423Z\",\"updatedOn\":\"2019-02-05T20:42:21.8687229Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/7ca78c08-252a-4471-8644-bb5ff32d4ba0\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"7ca78c08-252a-4471-8644-bb5ff32d4ba0\"},{\"properties\":{\"roleName\":\"Security + Admin\",\"type\":\"BuiltInRole\",\"description\":\"Security Admin Role\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Authorization/policyAssignments/*\",\"Microsoft.Authorization/policyDefinitions/*\",\"Microsoft.Authorization/policySetDefinitions/*\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Management/managementGroups/read\",\"Microsoft.operationalInsights/workspaces/*/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Security/*\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2017-05-03T07:51:23.0917487Z\",\"updatedOn\":\"2019-03-12T21:12:48.6350160Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/fb1c8493-542b-48eb-b624-b4c8fea62acd\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"fb1c8493-542b-48eb-b624-b4c8fea62acd\"},{\"properties\":{\"roleName\":\"Security + Manager (Legacy)\",\"type\":\"BuiltInRole\",\"description\":\"This is a legacy + role. Please use Security Administrator instead\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.ClassicCompute/*/read\",\"Microsoft.ClassicCompute/virtualMachines/*/write\",\"Microsoft.ClassicNetwork/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.ResourceHealth/availabilityStatuses/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Security/*\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2015-06-22T17:45:15.8986455Z\",\"updatedOn\":\"2018-03-08T18:18:48.6183620Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/e3d13bf0-dd5a-482e-ba6b-9b8433878d10\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"e3d13bf0-dd5a-482e-ba6b-9b8433878d10\"},{\"properties\":{\"roleName\":\"Security + Reader\",\"type\":\"BuiltInRole\",\"description\":\"Security Reader Role\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.operationalInsights/workspaces/*/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Security/*/read\",\"Microsoft.Support/*\",\"Microsoft.Management/managementGroups/read\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2017-05-03T07:48:49.0516559Z\",\"updatedOn\":\"2018-06-28T17:27:23.1065610Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/39bc4728-0917-49c7-9d2c-d95423bc2eb4\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"39bc4728-0917-49c7-9d2c-d95423bc2eb4\"},{\"properties\":{\"roleName\":\"Spatial + Anchors Account Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Lets + you manage spatial anchors in your account, but not delete them\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.MixedReality/SpatialAnchorsAccounts/create/action\",\"Microsoft.MixedReality/SpatialAnchorsAccounts/discovery/read\",\"Microsoft.MixedReality/SpatialAnchorsAccounts/properties/read\",\"Microsoft.MixedReality/SpatialAnchorsAccounts/query/read\",\"Microsoft.MixedReality/SpatialAnchorsAccounts/submitdiag/read\",\"Microsoft.MixedReality/SpatialAnchorsAccounts/write\"],\"notDataActions\":[]}],\"createdOn\":\"2018-12-21T17:57:41.1420864Z\",\"updatedOn\":\"2019-02-13T06:13:39.8686435Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8bbe83f1-e2a6-4df7-8cb4-4e04d4e5c827\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"8bbe83f1-e2a6-4df7-8cb4-4e04d4e5c827\"},{\"properties\":{\"roleName\":\"Site + Recovery Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Lets you + manage Site Recovery service except vault creation and role assignment\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Network/virtualNetworks/read\",\"Microsoft.RecoveryServices/locations/allocatedStamp/read\",\"Microsoft.RecoveryServices/locations/allocateStamp/action\",\"Microsoft.RecoveryServices/Vaults/certificates/write\",\"Microsoft.RecoveryServices/Vaults/extendedInformation/*\",\"Microsoft.RecoveryServices/Vaults/read\",\"Microsoft.RecoveryServices/Vaults/refreshContainers/read\",\"Microsoft.RecoveryServices/Vaults/registeredIdentities/*\",\"Microsoft.RecoveryServices/vaults/replicationAlertSettings/*\",\"Microsoft.RecoveryServices/vaults/replicationEvents/read\",\"Microsoft.RecoveryServices/vaults/replicationFabrics/*\",\"Microsoft.RecoveryServices/vaults/replicationJobs/*\",\"Microsoft.RecoveryServices/vaults/replicationPolicies/*\",\"Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/*\",\"Microsoft.RecoveryServices/Vaults/storageConfig/*\",\"Microsoft.RecoveryServices/Vaults/tokenInfo/read\",\"Microsoft.RecoveryServices/Vaults/usages/read\",\"Microsoft.RecoveryServices/Vaults/vaultTokens/read\",\"Microsoft.RecoveryServices/Vaults/monitoringAlerts/*\",\"Microsoft.RecoveryServices/Vaults/monitoringConfigurations/notificationConfiguration/read\",\"Microsoft.ResourceHealth/availabilityStatuses/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Storage/storageAccounts/read\",\"Microsoft.RecoveryServices/vaults/replicationOperationStatus/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2017-05-19T13:46:17.4592776Z\",\"updatedOn\":\"2019-11-07T06:13:49.0760858Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/6670b86e-a3f7-4917-ac9b-5d6ab1be4567\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"6670b86e-a3f7-4917-ac9b-5d6ab1be4567\"},{\"properties\":{\"roleName\":\"Site + Recovery Operator\",\"type\":\"BuiltInRole\",\"description\":\"Lets you failover + and failback but not perform other Site Recovery management operations\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Network/virtualNetworks/read\",\"Microsoft.RecoveryServices/locations/allocatedStamp/read\",\"Microsoft.RecoveryServices/locations/allocateStamp/action\",\"Microsoft.RecoveryServices/Vaults/extendedInformation/read\",\"Microsoft.RecoveryServices/Vaults/read\",\"Microsoft.RecoveryServices/Vaults/refreshContainers/read\",\"Microsoft.RecoveryServices/Vaults/registeredIdentities/operationResults/read\",\"Microsoft.RecoveryServices/Vaults/registeredIdentities/read\",\"Microsoft.RecoveryServices/vaults/replicationAlertSettings/read\",\"Microsoft.RecoveryServices/vaults/replicationEvents/read\",\"Microsoft.RecoveryServices/vaults/replicationFabrics/checkConsistency/action\",\"Microsoft.RecoveryServices/vaults/replicationFabrics/read\",\"Microsoft.RecoveryServices/vaults/replicationFabrics/reassociateGateway/action\",\"Microsoft.RecoveryServices/vaults/replicationFabrics/renewcertificate/action\",\"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks/read\",\"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks/replicationNetworkMappings/read\",\"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/read\",\"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectableItems/read\",\"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/applyRecoveryPoint/action\",\"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/failoverCommit/action\",\"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/plannedFailover/action\",\"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/read\",\"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/recoveryPoints/read\",\"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/repairReplication/action\",\"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/reProtect/action\",\"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/switchprotection/action\",\"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/testFailover/action\",\"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/testFailoverCleanup/action\",\"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/unplannedFailover/action\",\"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/updateMobilityService/action\",\"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings/read\",\"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationRecoveryServicesProviders/read\",\"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationRecoveryServicesProviders/refreshProvider/action\",\"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications/read\",\"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications/replicationStorageClassificationMappings/read\",\"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationvCenters/read\",\"Microsoft.RecoveryServices/vaults/replicationJobs/*\",\"Microsoft.RecoveryServices/vaults/replicationPolicies/read\",\"Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/failoverCommit/action\",\"Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/plannedFailover/action\",\"Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/read\",\"Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/reProtect/action\",\"Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/testFailover/action\",\"Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/testFailoverCleanup/action\",\"Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/unplannedFailover/action\",\"Microsoft.RecoveryServices/Vaults/monitoringAlerts/*\",\"Microsoft.RecoveryServices/Vaults/monitoringConfigurations/notificationConfiguration/read\",\"Microsoft.RecoveryServices/Vaults/storageConfig/read\",\"Microsoft.RecoveryServices/Vaults/tokenInfo/read\",\"Microsoft.RecoveryServices/Vaults/usages/read\",\"Microsoft.RecoveryServices/Vaults/vaultTokens/read\",\"Microsoft.ResourceHealth/availabilityStatuses/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Storage/storageAccounts/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2017-05-19T13:47:50.1341148Z\",\"updatedOn\":\"2019-08-28T12:00:57.4472826Z\",\"createdBy\":null,\"updatedBy\":\"\"},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/494ae006-db33-4328-bf46-533a6560a3ca\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"494ae006-db33-4328-bf46-533a6560a3ca\"},{\"properties\":{\"roleName\":\"Spatial + Anchors Account Reader\",\"type\":\"BuiltInRole\",\"description\":\"Lets you + locate and read properties of spatial anchors in your account\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.MixedReality/SpatialAnchorsAccounts/discovery/read\",\"Microsoft.MixedReality/SpatialAnchorsAccounts/properties/read\",\"Microsoft.MixedReality/SpatialAnchorsAccounts/query/read\",\"Microsoft.MixedReality/SpatialAnchorsAccounts/submitdiag/read\"],\"notDataActions\":[]}],\"createdOn\":\"2018-12-21T17:57:42.9271004Z\",\"updatedOn\":\"2019-02-13T06:16:15.3170663Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/5d51204f-eb77-4b1c-b86a-2ec626c49413\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"5d51204f-eb77-4b1c-b86a-2ec626c49413\"},{\"properties\":{\"roleName\":\"Site + Recovery Reader\",\"type\":\"BuiltInRole\",\"description\":\"Lets you view + Site Recovery status but not perform other management operations\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.RecoveryServices/locations/allocatedStamp/read\",\"Microsoft.RecoveryServices/Vaults/extendedInformation/read\",\"Microsoft.RecoveryServices/Vaults/monitoringAlerts/read\",\"Microsoft.RecoveryServices/Vaults/monitoringConfigurations/notificationConfiguration/read\",\"Microsoft.RecoveryServices/Vaults/read\",\"Microsoft.RecoveryServices/Vaults/refreshContainers/read\",\"Microsoft.RecoveryServices/Vaults/registeredIdentities/operationResults/read\",\"Microsoft.RecoveryServices/Vaults/registeredIdentities/read\",\"Microsoft.RecoveryServices/vaults/replicationAlertSettings/read\",\"Microsoft.RecoveryServices/vaults/replicationEvents/read\",\"Microsoft.RecoveryServices/vaults/replicationFabrics/read\",\"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks/read\",\"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks/replicationNetworkMappings/read\",\"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/read\",\"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectableItems/read\",\"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/read\",\"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/recoveryPoints/read\",\"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings/read\",\"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationRecoveryServicesProviders/read\",\"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications/read\",\"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications/replicationStorageClassificationMappings/read\",\"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationvCenters/read\",\"Microsoft.RecoveryServices/vaults/replicationJobs/read\",\"Microsoft.RecoveryServices/vaults/replicationPolicies/read\",\"Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/read\",\"Microsoft.RecoveryServices/Vaults/storageConfig/read\",\"Microsoft.RecoveryServices/Vaults/tokenInfo/read\",\"Microsoft.RecoveryServices/Vaults/usages/read\",\"Microsoft.RecoveryServices/Vaults/vaultTokens/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2017-05-19T13:35:40.0093634Z\",\"updatedOn\":\"2017-05-26T19:54:51.3933250Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/dbaa88c4-0c30-4179-9fb3-46319faa6149\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"dbaa88c4-0c30-4179-9fb3-46319faa6149\"},{\"properties\":{\"roleName\":\"Spatial + Anchors Account Owner\",\"type\":\"BuiltInRole\",\"description\":\"Lets you + manage spatial anchors in your account, including deleting them\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.MixedReality/SpatialAnchorsAccounts/create/action\",\"Microsoft.MixedReality/SpatialAnchorsAccounts/delete\",\"Microsoft.MixedReality/SpatialAnchorsAccounts/discovery/read\",\"Microsoft.MixedReality/SpatialAnchorsAccounts/properties/read\",\"Microsoft.MixedReality/SpatialAnchorsAccounts/query/read\",\"Microsoft.MixedReality/SpatialAnchorsAccounts/submitdiag/read\",\"Microsoft.MixedReality/SpatialAnchorsAccounts/write\"],\"notDataActions\":[]}],\"createdOn\":\"2018-12-21T17:57:43.5489832Z\",\"updatedOn\":\"2019-02-13T06:15:31.8572222Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/70bbe301-9835-447d-afdd-19eb3167307c\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"70bbe301-9835-447d-afdd-19eb3167307c\"},{\"properties\":{\"roleName\":\"SQL + Managed Instance Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Lets + you manage SQL Managed Instances and required network configuration, but can\u2019t + give access to others.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.ResourceHealth/availabilityStatuses/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Network/networkSecurityGroups/*\",\"Microsoft.Network/routeTables/*\",\"Microsoft.Sql/locations/*/read\",\"Microsoft.Sql/managedInstances/*\",\"Microsoft.Support/*\",\"Microsoft.Network/virtualNetworks/subnets/*\",\"Microsoft.Network/virtualNetworks/*\",\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Insights/metrics/read\",\"Microsoft.Insights/metricDefinitions/read\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2018-12-10T22:57:14.2937983Z\",\"updatedOn\":\"2019-04-25T17:59:01.7432149Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4939a1f6-9ae0-4e48-a1e0-f2cbe897382d\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"4939a1f6-9ae0-4e48-a1e0-f2cbe897382d\"},{\"properties\":{\"roleName\":\"SQL + DB Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Lets you manage + SQL databases, but not access to them. Also, you can't manage their security-related + policies or their parent SQL servers.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.ResourceHealth/availabilityStatuses/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Sql/locations/*/read\",\"Microsoft.Sql/servers/databases/*\",\"Microsoft.Sql/servers/read\",\"Microsoft.Support/*\",\"Microsoft.Insights/metrics/read\",\"Microsoft.Insights/metricDefinitions/read\"],\"notActions\":[\"Microsoft.Sql/managedInstances/databases/currentSensitivityLabels/*\",\"Microsoft.Sql/managedInstances/databases/recommendedSensitivityLabels/*\",\"Microsoft.Sql/managedInstances/databases/schemas/tables/columns/sensitivityLabels/*\",\"Microsoft.Sql/managedInstances/databases/securityAlertPolicies/*\",\"Microsoft.Sql/managedInstances/databases/sensitivityLabels/*\",\"Microsoft.Sql/managedInstances/databases/vulnerabilityAssessments/*\",\"Microsoft.Sql/managedInstances/securityAlertPolicies/*\",\"Microsoft.Sql/managedInstances/vulnerabilityAssessments/*\",\"Microsoft.Sql/servers/databases/auditingPolicies/*\",\"Microsoft.Sql/servers/databases/auditingSettings/*\",\"Microsoft.Sql/servers/databases/auditRecords/read\",\"Microsoft.Sql/servers/databases/connectionPolicies/*\",\"Microsoft.Sql/servers/databases/currentSensitivityLabels/*\",\"Microsoft.Sql/servers/databases/dataMaskingPolicies/*\",\"Microsoft.Sql/servers/databases/extendedAuditingSettings/*\",\"Microsoft.Sql/servers/databases/recommendedSensitivityLabels/*\",\"Microsoft.Sql/servers/databases/schemas/tables/columns/sensitivityLabels/*\",\"Microsoft.Sql/servers/databases/securityAlertPolicies/*\",\"Microsoft.Sql/servers/databases/securityMetrics/*\",\"Microsoft.Sql/servers/databases/sensitivityLabels/*\",\"Microsoft.Sql/servers/databases/vulnerabilityAssessments/*\",\"Microsoft.Sql/servers/databases/vulnerabilityAssessmentScans/*\",\"Microsoft.Sql/servers/databases/vulnerabilityAssessmentSettings/*\",\"Microsoft.Sql/servers/vulnerabilityAssessments/*\"],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2015-02-02T21:55:09.8806423Z\",\"updatedOn\":\"2019-02-28T22:44:35.8649670Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/9b7fa17d-e63e-47b0-bb0a-15c516ac86ec\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"9b7fa17d-e63e-47b0-bb0a-15c516ac86ec\"},{\"properties\":{\"roleName\":\"SQL + Security Manager\",\"type\":\"BuiltInRole\",\"description\":\"Lets you manage + the security-related policies of SQL servers and databases, but not access + to them.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Network/virtualNetworks/subnets/joinViaServiceEndpoint/action\",\"Microsoft.ResourceHealth/availabilityStatuses/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Sql/managedInstances/databases/currentSensitivityLabels/*\",\"Microsoft.Sql/managedInstances/databases/recommendedSensitivityLabels/*\",\"Microsoft.Sql/managedInstances/databases/schemas/tables/columns/sensitivityLabels/*\",\"Microsoft.Sql/managedInstances/databases/securityAlertPolicies/*\",\"Microsoft.Sql/managedInstances/databases/sensitivityLabels/*\",\"Microsoft.Sql/managedInstances/databases/vulnerabilityAssessments/*\",\"Microsoft.Sql/managedInstances/securityAlertPolicies/*\",\"Microsoft.Sql/managedInstances/databases/transparentDataEncryption/*\",\"Microsoft.Sql/managedInstances/vulnerabilityAssessments/*\",\"Microsoft.Sql/servers/auditingPolicies/*\",\"Microsoft.Sql/servers/auditingSettings/*\",\"Microsoft.Sql/servers/extendedAuditingSettings/read\",\"Microsoft.Sql/servers/databases/auditingPolicies/*\",\"Microsoft.Sql/servers/databases/auditingSettings/*\",\"Microsoft.Sql/servers/databases/auditRecords/read\",\"Microsoft.Sql/servers/databases/connectionPolicies/*\",\"Microsoft.Sql/servers/databases/currentSensitivityLabels/*\",\"Microsoft.Sql/servers/databases/dataMaskingPolicies/*\",\"Microsoft.Sql/servers/databases/extendedAuditingSettings/read\",\"Microsoft.Sql/servers/databases/read\",\"Microsoft.Sql/servers/databases/recommendedSensitivityLabels/*\",\"Microsoft.Sql/servers/databases/schemas/read\",\"Microsoft.Sql/servers/databases/schemas/tables/columns/read\",\"Microsoft.Sql/servers/databases/schemas/tables/columns/sensitivityLabels/*\",\"Microsoft.Sql/servers/databases/schemas/tables/read\",\"Microsoft.Sql/servers/databases/securityAlertPolicies/*\",\"Microsoft.Sql/servers/databases/securityMetrics/*\",\"Microsoft.Sql/servers/databases/sensitivityLabels/*\",\"Microsoft.Sql/servers/databases/transparentDataEncryption/*\",\"Microsoft.Sql/servers/databases/vulnerabilityAssessments/*\",\"Microsoft.Sql/servers/databases/vulnerabilityAssessmentScans/*\",\"Microsoft.Sql/servers/databases/vulnerabilityAssessmentSettings/*\",\"Microsoft.Sql/servers/firewallRules/*\",\"Microsoft.Sql/servers/read\",\"Microsoft.Sql/servers/securityAlertPolicies/*\",\"Microsoft.Sql/servers/vulnerabilityAssessments/*\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2015-06-16T18:44:40.4607572Z\",\"updatedOn\":\"2019-08-08T22:58:22.2532171Z\",\"createdBy\":null,\"updatedBy\":\"yaiyun\"},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/056cd41c-7e88-42e1-933e-88ba6a50c9c3\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"056cd41c-7e88-42e1-933e-88ba6a50c9c3\"},{\"properties\":{\"roleName\":\"Storage + Account Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Lets you + manage storage accounts, including accessing storage account keys which provide + full access to storage account data.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Insights/diagnosticSettings/*\",\"Microsoft.Network/virtualNetworks/subnets/joinViaServiceEndpoint/action\",\"Microsoft.ResourceHealth/availabilityStatuses/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Storage/storageAccounts/*\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2015-06-02T00:18:27.3542698Z\",\"updatedOn\":\"2019-05-29T20:56:33.9582501Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/17d1049b-9a84-46fb-8f53-869881c3d3ab\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"17d1049b-9a84-46fb-8f53-869881c3d3ab\"},{\"properties\":{\"roleName\":\"SQL + Server Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Lets you manage + SQL servers and databases, but not access to them, and not their security + -related policies.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.ResourceHealth/availabilityStatuses/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Sql/locations/*/read\",\"Microsoft.Sql/servers/*\",\"Microsoft.Support/*\",\"Microsoft.Insights/metrics/read\",\"Microsoft.Insights/metricDefinitions/read\"],\"notActions\":[\"Microsoft.Sql/managedInstances/databases/currentSensitivityLabels/*\",\"Microsoft.Sql/managedInstances/databases/recommendedSensitivityLabels/*\",\"Microsoft.Sql/managedInstances/databases/schemas/tables/columns/sensitivityLabels/*\",\"Microsoft.Sql/managedInstances/databases/securityAlertPolicies/*\",\"Microsoft.Sql/managedInstances/databases/sensitivityLabels/*\",\"Microsoft.Sql/managedInstances/databases/vulnerabilityAssessments/*\",\"Microsoft.Sql/managedInstances/securityAlertPolicies/*\",\"Microsoft.Sql/managedInstances/vulnerabilityAssessments/*\",\"Microsoft.Sql/servers/auditingPolicies/*\",\"Microsoft.Sql/servers/auditingSettings/*\",\"Microsoft.Sql/servers/databases/auditingPolicies/*\",\"Microsoft.Sql/servers/databases/auditingSettings/*\",\"Microsoft.Sql/servers/databases/auditRecords/read\",\"Microsoft.Sql/servers/databases/connectionPolicies/*\",\"Microsoft.Sql/servers/databases/currentSensitivityLabels/*\",\"Microsoft.Sql/servers/databases/dataMaskingPolicies/*\",\"Microsoft.Sql/servers/databases/extendedAuditingSettings/*\",\"Microsoft.Sql/servers/databases/recommendedSensitivityLabels/*\",\"Microsoft.Sql/servers/databases/schemas/tables/columns/sensitivityLabels/*\",\"Microsoft.Sql/servers/databases/securityAlertPolicies/*\",\"Microsoft.Sql/servers/databases/securityMetrics/*\",\"Microsoft.Sql/servers/databases/sensitivityLabels/*\",\"Microsoft.Sql/servers/databases/vulnerabilityAssessments/*\",\"Microsoft.Sql/servers/databases/vulnerabilityAssessmentScans/*\",\"Microsoft.Sql/servers/databases/vulnerabilityAssessmentSettings/*\",\"Microsoft.Sql/servers/extendedAuditingSettings/*\",\"Microsoft.Sql/servers/securityAlertPolicies/*\",\"Microsoft.Sql/servers/vulnerabilityAssessments/*\"],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2015-02-02T21:55:09.8806423Z\",\"updatedOn\":\"2019-02-28T22:44:36.5466043Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/6d8ee4ec-f05a-4a1d-8b00-a9b17e38b437\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"6d8ee4ec-f05a-4a1d-8b00-a9b17e38b437\"},{\"properties\":{\"roleName\":\"Storage + Account Key Operator Service Role\",\"type\":\"BuiltInRole\",\"description\":\"Storage + Account Key Operators are allowed to list and regenerate keys on Storage Accounts\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Storage/storageAccounts/listkeys/action\",\"Microsoft.Storage/storageAccounts/regeneratekey/action\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2017-04-13T18:26:11.5770570Z\",\"updatedOn\":\"2017-04-13T20:57:14.5990198Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/81a9662b-bebf-436f-a333-f67b29880f12\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"81a9662b-bebf-436f-a333-f67b29880f12\"},{\"properties\":{\"roleName\":\"Storage + Blob Data Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Allows + for read, write and delete access to Azure Storage blob containers and data\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Storage/storageAccounts/blobServices/containers/delete\",\"Microsoft.Storage/storageAccounts/blobServices/containers/read\",\"Microsoft.Storage/storageAccounts/blobServices/containers/write\",\"Microsoft.Storage/storageAccounts/blobServices/generateUserDelegationKey/action\"],\"notActions\":[],\"dataActions\":[\"Microsoft.Storage/storageAccounts/blobServices/containers/blobs/delete\",\"Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read\",\"Microsoft.Storage/storageAccounts/blobServices/containers/blobs/move/action\",\"Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write\"],\"notDataActions\":[]}],\"createdOn\":\"2017-12-21T00:01:24.7972312Z\",\"updatedOn\":\"2020-03-30T22:49:07.8669420Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/ba92f5b4-2d11-453d-a403-e96b0029c9fe\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"ba92f5b4-2d11-453d-a403-e96b0029c9fe\"},{\"properties\":{\"roleName\":\"Storage + Blob Data Owner\",\"type\":\"BuiltInRole\",\"description\":\"Allows for full + access to Azure Storage blob containers and data, including assigning POSIX + access control.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Storage/storageAccounts/blobServices/containers/*\",\"Microsoft.Storage/storageAccounts/blobServices/generateUserDelegationKey/action\"],\"notActions\":[],\"dataActions\":[\"Microsoft.Storage/storageAccounts/blobServices/containers/blobs/*\"],\"notDataActions\":[]}],\"createdOn\":\"2018-12-04T07:02:58.2775257Z\",\"updatedOn\":\"2019-07-16T21:30:33.7002563Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b7e6dc6d-f1e8-4753-8033-0f276bb0955b\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"b7e6dc6d-f1e8-4753-8033-0f276bb0955b\"},{\"properties\":{\"roleName\":\"Storage + Blob Data Reader\",\"type\":\"BuiltInRole\",\"description\":\"Allows for read + access to Azure Storage blob containers and data\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Storage/storageAccounts/blobServices/containers/read\",\"Microsoft.Storage/storageAccounts/blobServices/generateUserDelegationKey/action\"],\"notActions\":[],\"dataActions\":[\"Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read\"],\"notDataActions\":[]}],\"createdOn\":\"2017-12-21T00:01:24.7972312Z\",\"updatedOn\":\"2019-07-15T22:01:25.5409721Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/2a2b9908-6ea1-4ae2-8e65-a410df84e7d1\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"2a2b9908-6ea1-4ae2-8e65-a410df84e7d1\"},{\"properties\":{\"roleName\":\"Storage + Queue Data Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Allows + for read, write, and delete access to Azure Storage queues and queue messages\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Storage/storageAccounts/queueServices/queues/delete\",\"Microsoft.Storage/storageAccounts/queueServices/queues/read\",\"Microsoft.Storage/storageAccounts/queueServices/queues/write\"],\"notActions\":[],\"dataActions\":[\"Microsoft.Storage/storageAccounts/queueServices/queues/messages/delete\",\"Microsoft.Storage/storageAccounts/queueServices/queues/messages/read\",\"Microsoft.Storage/storageAccounts/queueServices/queues/messages/write\"],\"notDataActions\":[]}],\"createdOn\":\"2017-12-21T00:01:24.7972312Z\",\"updatedOn\":\"2019-03-05T21:58:02.7367128Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/974c5e8b-45b9-4653-ba55-5f855dd0fb88\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"974c5e8b-45b9-4653-ba55-5f855dd0fb88\"},{\"properties\":{\"roleName\":\"Storage + Queue Data Message Processor\",\"type\":\"BuiltInRole\",\"description\":\"Allows + for peek, receive, and delete access to Azure Storage queue messages\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.Storage/storageAccounts/queueServices/queues/messages/read\",\"Microsoft.Storage/storageAccounts/queueServices/queues/messages/process/action\"],\"notDataActions\":[]}],\"createdOn\":\"2019-01-28T22:27:04.8947111Z\",\"updatedOn\":\"2019-03-05T22:05:46.1259125Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8a0f0c08-91a1-4084-bc3d-661d67233fed\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"8a0f0c08-91a1-4084-bc3d-661d67233fed\"},{\"properties\":{\"roleName\":\"Storage + Queue Data Message Sender\",\"type\":\"BuiltInRole\",\"description\":\"Allows + for sending of Azure Storage queue messages\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.Storage/storageAccounts/queueServices/queues/messages/add/action\"],\"notDataActions\":[]}],\"createdOn\":\"2019-01-28T22:28:34.7459724Z\",\"updatedOn\":\"2019-03-05T22:11:49.6383892Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/c6a89b2d-59bc-44d0-9896-0f6e12d7b80a\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"c6a89b2d-59bc-44d0-9896-0f6e12d7b80a\"},{\"properties\":{\"roleName\":\"Storage + Queue Data Reader\",\"type\":\"BuiltInRole\",\"description\":\"Allows for + read access to Azure Storage queues and queue messages\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Storage/storageAccounts/queueServices/queues/read\"],\"notActions\":[],\"dataActions\":[\"Microsoft.Storage/storageAccounts/queueServices/queues/messages/read\"],\"notDataActions\":[]}],\"createdOn\":\"2017-12-21T00:01:24.7972312Z\",\"updatedOn\":\"2019-03-05T22:17:32.1779262Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/19e7f393-937e-4f77-808e-94535e297925\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"19e7f393-937e-4f77-808e-94535e297925\"},{\"properties\":{\"roleName\":\"Support + Request Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Lets you + create and manage Support requests\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2017-06-22T22:25:37.8053068Z\",\"updatedOn\":\"2017-06-23T01:06:24.2399631Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/cfd33db0-3dd1-45e3-aa9d-cdbdf3b6f24e\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"cfd33db0-3dd1-45e3-aa9d-cdbdf3b6f24e\"},{\"properties\":{\"roleName\":\"Traffic + Manager Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Lets you + manage Traffic Manager profiles, but does not let you control who has access + to them.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Network/trafficManagerProfiles/*\",\"Microsoft.ResourceHealth/availabilityStatuses/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2015-10-15T23:33:25.9730842Z\",\"updatedOn\":\"2016-05-31T23:13:44.1458854Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/a4b10055-b0c7-44c2-b00f-c7b5b3550cf7\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"a4b10055-b0c7-44c2-b00f-c7b5b3550cf7\"},{\"properties\":{\"roleName\":\"Virtual + Machine Administrator Login\",\"type\":\"BuiltInRole\",\"description\":\"View + Virtual Machines in the portal and login as administrator\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Network/publicIPAddresses/read\",\"Microsoft.Network/virtualNetworks/read\",\"Microsoft.Network/loadBalancers/read\",\"Microsoft.Network/networkInterfaces/read\",\"Microsoft.Compute/virtualMachines/*/read\"],\"notActions\":[],\"dataActions\":[\"Microsoft.Compute/virtualMachines/login/action\",\"Microsoft.Compute/virtualMachines/loginAsAdmin/action\"],\"notDataActions\":[]}],\"createdOn\":\"2018-02-09T18:36:13.3315744Z\",\"updatedOn\":\"2018-05-09T22:17:57.0514548Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/1c0163c0-47e6-4577-8991-ea5c82e286e4\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"1c0163c0-47e6-4577-8991-ea5c82e286e4\"},{\"properties\":{\"roleName\":\"User + Access Administrator\",\"type\":\"BuiltInRole\",\"description\":\"Lets you + manage user access to Azure resources.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"*/read\",\"Microsoft.Authorization/*\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2015-02-02T21:55:09.8806423Z\",\"updatedOn\":\"2019-02-05T21:24:12.6807454Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"18d7d88d-d35e-4fb5-a5c3-7773c20a72d9\"},{\"properties\":{\"roleName\":\"Virtual + Machine User Login\",\"type\":\"BuiltInRole\",\"description\":\"View Virtual + Machines in the portal and login as a regular user.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Network/publicIPAddresses/read\",\"Microsoft.Network/virtualNetworks/read\",\"Microsoft.Network/loadBalancers/read\",\"Microsoft.Network/networkInterfaces/read\",\"Microsoft.Compute/virtualMachines/*/read\"],\"notActions\":[],\"dataActions\":[\"Microsoft.Compute/virtualMachines/login/action\"],\"notDataActions\":[]}],\"createdOn\":\"2018-02-09T18:36:13.3315744Z\",\"updatedOn\":\"2018-05-09T22:18:52.2780979Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/fb879df8-f326-4884-b1cf-06f3ad86be52\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"fb879df8-f326-4884-b1cf-06f3ad86be52\"},{\"properties\":{\"roleName\":\"Virtual + Machine Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Lets you + manage virtual machines, but not access to them, and not the virtual network + or storage account they're connected to.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Compute/availabilitySets/*\",\"Microsoft.Compute/locations/*\",\"Microsoft.Compute/virtualMachines/*\",\"Microsoft.Compute/virtualMachineScaleSets/*\",\"Microsoft.Compute/disks/write\",\"Microsoft.Compute/disks/read\",\"Microsoft.Compute/disks/delete\",\"Microsoft.DevTestLab/schedules/*\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Network/applicationGateways/backendAddressPools/join/action\",\"Microsoft.Network/loadBalancers/backendAddressPools/join/action\",\"Microsoft.Network/loadBalancers/inboundNatPools/join/action\",\"Microsoft.Network/loadBalancers/inboundNatRules/join/action\",\"Microsoft.Network/loadBalancers/probes/join/action\",\"Microsoft.Network/loadBalancers/read\",\"Microsoft.Network/locations/*\",\"Microsoft.Network/networkInterfaces/*\",\"Microsoft.Network/networkSecurityGroups/join/action\",\"Microsoft.Network/networkSecurityGroups/read\",\"Microsoft.Network/publicIPAddresses/join/action\",\"Microsoft.Network/publicIPAddresses/read\",\"Microsoft.Network/virtualNetworks/read\",\"Microsoft.Network/virtualNetworks/subnets/join/action\",\"Microsoft.RecoveryServices/locations/*\",\"Microsoft.RecoveryServices/Vaults/backupFabrics/backupProtectionIntent/write\",\"Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/*/read\",\"Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/read\",\"Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/write\",\"Microsoft.RecoveryServices/Vaults/backupPolicies/read\",\"Microsoft.RecoveryServices/Vaults/backupPolicies/write\",\"Microsoft.RecoveryServices/Vaults/read\",\"Microsoft.RecoveryServices/Vaults/usages/read\",\"Microsoft.RecoveryServices/Vaults/write\",\"Microsoft.ResourceHealth/availabilityStatuses/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.SqlVirtualMachine/*\",\"Microsoft.Storage/storageAccounts/listKeys/action\",\"Microsoft.Storage/storageAccounts/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2015-06-02T00:18:27.3542698Z\",\"updatedOn\":\"2020-02-03T19:38:21.2170228Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/9980e02c-c2be-4d73-94e8-173b1dc7cf3c\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"9980e02c-c2be-4d73-94e8-173b1dc7cf3c\"},{\"properties\":{\"roleName\":\"Web + Plan Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Lets you manage + the web plans for websites, but not access to them.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.ResourceHealth/availabilityStatuses/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\",\"Microsoft.Web/serverFarms/*\",\"Microsoft.Web/hostingEnvironments/Join/Action\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2015-02-02T21:55:09.8806423Z\",\"updatedOn\":\"2019-03-26T18:17:34.5018645Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/2cc479cb-7b4d-49a8-b449-8c00fd0f0a4b\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"2cc479cb-7b4d-49a8-b449-8c00fd0f0a4b\"},{\"properties\":{\"roleName\":\"Website + Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Lets you manage websites + (not web plans), but not access to them.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Insights/components/*\",\"Microsoft.ResourceHealth/availabilityStatuses/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\",\"Microsoft.Web/certificates/*\",\"Microsoft.Web/listSitesAssignedToHostName/read\",\"Microsoft.Web/serverFarms/join/action\",\"Microsoft.Web/serverFarms/read\",\"Microsoft.Web/sites/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2015-05-12T23:10:23.6193952Z\",\"updatedOn\":\"2019-02-05T21:24:46.9407288Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/de139f84-1756-47ae-9be6-808fbbe84772\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"de139f84-1756-47ae-9be6-808fbbe84772\"},{\"properties\":{\"roleName\":\"Azure + Service Bus Data Owner\",\"type\":\"BuiltInRole\",\"description\":\"Allows + for full access to Azure Service Bus resources.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.ServiceBus/*\"],\"notActions\":[],\"dataActions\":[\"Microsoft.ServiceBus/*\"],\"notDataActions\":[]}],\"createdOn\":\"2019-04-16T21:33:36.7445745Z\",\"updatedOn\":\"2019-08-21T22:47:11.3982905Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/090c5cfd-751d-490a-894a-3ce6f1109419\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"090c5cfd-751d-490a-894a-3ce6f1109419\"},{\"properties\":{\"roleName\":\"Azure + Event Hubs Data Owner\",\"type\":\"BuiltInRole\",\"description\":\"Allows + for full access to Azure Event Hubs resources.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.EventHub/*\"],\"notActions\":[],\"dataActions\":[\"Microsoft.EventHub/*\"],\"notDataActions\":[]}],\"createdOn\":\"2019-04-16T21:34:29.8656362Z\",\"updatedOn\":\"2019-08-21T22:58:57.7584645Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/f526a384-b230-433a-b45c-95f59c4a2dec\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"f526a384-b230-433a-b45c-95f59c4a2dec\"},{\"properties\":{\"roleName\":\"Attestation + Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Can read write or + delete the attestation provider instance\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Attestation/attestationProviders/attestation/read\",\"Microsoft.Attestation/attestationProviders/attestation/write\",\"Microsoft.Attestation/attestationProviders/attestation/delete\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2019-04-19T00:24:09.3354177Z\",\"updatedOn\":\"2019-05-10T17:59:06.3448436Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/bbf86eb8-f7b4-4cce-96e4-18cddf81d86e\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"bbf86eb8-f7b4-4cce-96e4-18cddf81d86e\"},{\"properties\":{\"roleName\":\"HDInsight + Cluster Operator\",\"type\":\"BuiltInRole\",\"description\":\"Lets you read + and modify HDInsight cluster configurations.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.HDInsight/*/read\",\"Microsoft.HDInsight/clusters/getGatewaySettings/action\",\"Microsoft.HDInsight/clusters/updateGatewaySettings/action\",\"Microsoft.HDInsight/clusters/configurations/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Resources/deployments/operations/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Authorization/*/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2019-04-20T00:03:01.7110732Z\",\"updatedOn\":\"2019-04-28T02:34:17.4679314Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/61ed4efc-fab3-44fd-b111-e24485cc132a\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"61ed4efc-fab3-44fd-b111-e24485cc132a\"},{\"properties\":{\"roleName\":\"Cosmos + DB Operator\",\"type\":\"BuiltInRole\",\"description\":\"Lets you manage Azure + Cosmos DB accounts, but not access data in them. Prevents access to account + keys and connection strings.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.DocumentDb/databaseAccounts/*\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Authorization/*/read\",\"Microsoft.ResourceHealth/availabilityStatuses/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\",\"Microsoft.Network/virtualNetworks/subnets/joinViaServiceEndpoint/action\"],\"notActions\":[\"Microsoft.DocumentDB/databaseAccounts/readonlyKeys/*\",\"Microsoft.DocumentDB/databaseAccounts/regenerateKey/*\",\"Microsoft.DocumentDB/databaseAccounts/listKeys/*\",\"Microsoft.DocumentDB/databaseAccounts/listConnectionStrings/*\"],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2019-04-26T17:01:17.0169383Z\",\"updatedOn\":\"2019-11-21T01:34:13.3746345Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/230815da-be43-4aae-9cb4-875f7bd000aa\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"230815da-be43-4aae-9cb4-875f7bd000aa\"},{\"properties\":{\"roleName\":\"Hybrid + Server Resource Administrator\",\"type\":\"BuiltInRole\",\"description\":\"Can + read, write, delete, and re-onboard Hybrid servers to the Hybrid Resource + Provider.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.HybridCompute/machines/*\",\"Microsoft.HybridCompute/*/read\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2019-04-29T21:39:32.3132923Z\",\"updatedOn\":\"2019-05-06T20:08:25.3180258Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/48b40c6e-82e0-4eb3-90d5-19e40f49b624\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"48b40c6e-82e0-4eb3-90d5-19e40f49b624\"},{\"properties\":{\"roleName\":\"Hybrid + Server Onboarding\",\"type\":\"BuiltInRole\",\"description\":\"Can onboard + new Hybrid servers to the Hybrid Resource Provider.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.HybridCompute/machines/read\",\"Microsoft.HybridCompute/machines/write\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2019-04-29T22:36:28.1873756Z\",\"updatedOn\":\"2019-05-06T20:09:17.9364269Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/5d1e5ee4-7c68-4a71-ac8b-0739630a3dfb\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"5d1e5ee4-7c68-4a71-ac8b-0739630a3dfb\"},{\"properties\":{\"roleName\":\"Azure + Event Hubs Data Receiver\",\"type\":\"BuiltInRole\",\"description\":\"Allows + receive access to Azure Event Hubs resources.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.EventHub/*/eventhubs/consumergroups/read\"],\"notActions\":[],\"dataActions\":[\"Microsoft.EventHub/*/receive/action\"],\"notDataActions\":[]}],\"createdOn\":\"2019-05-10T06:25:21.1056666Z\",\"updatedOn\":\"2019-08-21T23:00:32.6225396Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/a638d3c7-ab3a-418d-83e6-5f17a39d4fde\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"a638d3c7-ab3a-418d-83e6-5f17a39d4fde\"},{\"properties\":{\"roleName\":\"Azure + Event Hubs Data Sender\",\"type\":\"BuiltInRole\",\"description\":\"Allows + send access to Azure Event Hubs resources.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.EventHub/*/eventhubs/read\"],\"notActions\":[],\"dataActions\":[\"Microsoft.EventHub/*/send/action\"],\"notDataActions\":[]}],\"createdOn\":\"2019-05-10T06:26:12.4673714Z\",\"updatedOn\":\"2019-08-21T23:02:26.6155679Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/2b629674-e913-4c01-ae53-ef4638d8f975\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"2b629674-e913-4c01-ae53-ef4638d8f975\"},{\"properties\":{\"roleName\":\"Azure + Service Bus Data Receiver\",\"type\":\"BuiltInRole\",\"description\":\"Allows + for receive access to Azure Service Bus resources.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.ServiceBus/*/queues/read\",\"Microsoft.ServiceBus/*/topics/read\",\"Microsoft.ServiceBus/*/topics/subscriptions/read\"],\"notActions\":[],\"dataActions\":[\"Microsoft.ServiceBus/*/receive/action\"],\"notDataActions\":[]}],\"createdOn\":\"2019-05-10T06:43:01.6343849Z\",\"updatedOn\":\"2019-08-21T22:55:24.3423558Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4f6d3b9b-027b-4f4c-9142-0e5a2a2247e0\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"4f6d3b9b-027b-4f4c-9142-0e5a2a2247e0\"},{\"properties\":{\"roleName\":\"Azure + Service Bus Data Sender\",\"type\":\"BuiltInRole\",\"description\":\"Allows + for send access to Azure Service Bus resources.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.ServiceBus/*/queues/read\",\"Microsoft.ServiceBus/*/topics/read\",\"Microsoft.ServiceBus/*/topics/subscriptions/read\"],\"notActions\":[],\"dataActions\":[\"Microsoft.ServiceBus/*/send/action\"],\"notDataActions\":[]}],\"createdOn\":\"2019-05-10T06:43:46.7046934Z\",\"updatedOn\":\"2019-08-21T22:57:12.2555683Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/69a216fc-b8fb-44d8-bc22-1f3c2cd27a39\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"69a216fc-b8fb-44d8-bc22-1f3c2cd27a39\"},{\"properties\":{\"roleName\":\"Storage + File Data SMB Share Reader\",\"type\":\"BuiltInRole\",\"description\":\"Allows + for read access to Azure File Share over SMB\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.Storage/storageAccounts/fileServices/fileshares/files/read\"],\"notDataActions\":[]}],\"createdOn\":\"2019-07-01T20:19:31.8620471Z\",\"updatedOn\":\"2019-08-07T01:00:41.9223409Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/aba4ae5f-2193-4029-9191-0cb91df5e314\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"aba4ae5f-2193-4029-9191-0cb91df5e314\"},{\"properties\":{\"roleName\":\"Storage + File Data SMB Share Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Allows + for read, write, and delete access in Azure Storage file shares over SMB\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.Storage/storageAccounts/fileServices/fileshares/files/read\",\"Microsoft.Storage/storageAccounts/fileServices/fileshares/files/write\",\"Microsoft.Storage/storageAccounts/fileServices/fileshares/files/delete\"],\"notDataActions\":[]}],\"createdOn\":\"2019-07-01T20:54:35.4834310Z\",\"updatedOn\":\"2019-08-07T01:05:24.4309872Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/0c867c2a-1d8c-454a-a3db-ab2ea1bdc8bb\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"0c867c2a-1d8c-454a-a3db-ab2ea1bdc8bb\"},{\"properties\":{\"roleName\":\"Private + DNS Zone Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Lets you + manage private DNS zone resources, but not the virtual networks they are linked + to.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Insights/alertRules/*\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\",\"Microsoft.Network/privateDnsZones/*\",\"Microsoft.Network/privateDnsOperationResults/*\",\"Microsoft.Network/privateDnsOperationStatuses/*\",\"Microsoft.Network/virtualNetworks/read\",\"Microsoft.Network/virtualNetworks/join/action\",\"Microsoft.Authorization/*/read\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2019-07-10T19:31:15.5645518Z\",\"updatedOn\":\"2019-07-11T21:12:01.7260648Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b12aa53e-6015-4669-85d0-8515ebb3ae7f\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"b12aa53e-6015-4669-85d0-8515ebb3ae7f\"},{\"properties\":{\"roleName\":\"Storage + Blob Delegator\",\"type\":\"BuiltInRole\",\"description\":\"Allows for generation + of a user delegation key which can be used to sign SAS tokens\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Storage/storageAccounts/blobServices/generateUserDelegationKey/action\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2019-07-23T00:51:16.3376761Z\",\"updatedOn\":\"2019-07-23T01:14:31.8778475Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/db58b8e5-c6ad-4a2a-8342-4190687cbf4a\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"db58b8e5-c6ad-4a2a-8342-4190687cbf4a\"},{\"properties\":{\"roleName\":\"Desktop + Virtualization User\",\"type\":\"BuiltInRole\",\"description\":\"Allows user + to use the applications in an application group.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.DesktopVirtualization/applicationGroups/useApplications/action\"],\"notDataActions\":[]}],\"createdOn\":\"2019-08-07T00:29:03.8727621Z\",\"updatedOn\":\"2019-08-07T00:29:03.8727621Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/1d18fff3-a72a-46b5-b4a9-0b38a3cd7e63\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"1d18fff3-a72a-46b5-b4a9-0b38a3cd7e63\"},{\"properties\":{\"roleName\":\"Storage + File Data SMB Share Elevated Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Allows + for read, write, delete and modify NTFS permission access in Azure Storage + file shares over SMB\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.Storage/storageAccounts/fileServices/fileshares/files/read\",\"Microsoft.Storage/storageAccounts/fileServices/fileshares/files/write\",\"Microsoft.Storage/storageAccounts/fileServices/fileshares/files/delete\",\"Microsoft.Storage/storageAccounts/fileServices/fileshares/files/modifypermissions/action\"],\"notDataActions\":[]}],\"createdOn\":\"2019-08-07T01:35:36.9935457Z\",\"updatedOn\":\"2019-08-07T01:35:36.9935457Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/a7264617-510b-434b-a828-9731dc254ea7\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"a7264617-510b-434b-a828-9731dc254ea7\"},{\"properties\":{\"roleName\":\"Blueprint + Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Can manage blueprint + definitions, but not assign them.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Blueprint/blueprints/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2019-08-14T21:55:16.9683949Z\",\"updatedOn\":\"2019-08-17T00:10:55.7494677Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/41077137-e803-4205-871c-5a86e6a753b4\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"41077137-e803-4205-871c-5a86e6a753b4\"},{\"properties\":{\"roleName\":\"Blueprint + Operator\",\"type\":\"BuiltInRole\",\"description\":\"Can assign existing + published blueprints, but cannot create new blueprints. NOTE: this only works + if the assignment is done with a user-assigned managed identity.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Blueprint/blueprintAssignments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2019-08-14T21:56:48.7897875Z\",\"updatedOn\":\"2019-08-17T00:06:02.6509737Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/437d2ced-4a38-4302-8479-ed2bcb43d090\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"437d2ced-4a38-4302-8479-ed2bcb43d090\"},{\"properties\":{\"roleName\":\"Azure + Sentinel Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Azure Sentinel + Contributor\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.SecurityInsights/*\",\"Microsoft.OperationalInsights/workspaces/analytics/query/action\",\"Microsoft.OperationalInsights/workspaces/*/read\",\"Microsoft.OperationalInsights/workspaces/savedSearches/*\",\"Microsoft.OperationsManagement/solutions/read\",\"Microsoft.OperationalInsights/workspaces/query/read\",\"Microsoft.OperationalInsights/workspaces/query/*/read\",\"Microsoft.OperationalInsights/workspaces/dataSources/read\",\"Microsoft.Insights/workbooks/*\",\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2019-08-28T16:39:03.8725173Z\",\"updatedOn\":\"2020-03-11T15:20:51.6768533Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/ab8e14d6-4a74-4a29-9ba8-549422addade\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"ab8e14d6-4a74-4a29-9ba8-549422addade\"},{\"properties\":{\"roleName\":\"Azure + Sentinel Responder\",\"type\":\"BuiltInRole\",\"description\":\"Azure Sentinel + Responder\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.SecurityInsights/*/read\",\"Microsoft.SecurityInsights/dataConnectorsCheckRequirements/action\",\"Microsoft.SecurityInsights/cases/*\",\"Microsoft.SecurityInsights/incidents/*\",\"Microsoft.OperationalInsights/workspaces/analytics/query/action\",\"Microsoft.OperationalInsights/workspaces/*/read\",\"Microsoft.OperationalInsights/workspaces/dataSources/read\",\"Microsoft.OperationalInsights/workspaces/savedSearches/read\",\"Microsoft.OperationsManagement/solutions/read\",\"Microsoft.OperationalInsights/workspaces/query/read\",\"Microsoft.OperationalInsights/workspaces/query/*/read\",\"Microsoft.OperationalInsights/workspaces/dataSources/read\",\"Microsoft.Insights/workbooks/read\",\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2019-08-28T16:54:07.6467264Z\",\"updatedOn\":\"2020-04-02T08:42:10.2864085Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/3e150937-b8fe-4cfb-8069-0eaf05ecd056\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"3e150937-b8fe-4cfb-8069-0eaf05ecd056\"},{\"properties\":{\"roleName\":\"Azure + Sentinel Reader\",\"type\":\"BuiltInRole\",\"description\":\"Azure Sentinel + Reader\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.SecurityInsights/*/read\",\"Microsoft.SecurityInsights/dataConnectorsCheckRequirements/action\",\"Microsoft.OperationalInsights/workspaces/analytics/query/action\",\"Microsoft.OperationalInsights/workspaces/*/read\",\"Microsoft.OperationalInsights/workspaces/LinkedServices/read\",\"Microsoft.OperationalInsights/workspaces/savedSearches/read\",\"Microsoft.OperationsManagement/solutions/read\",\"Microsoft.OperationalInsights/workspaces/query/read\",\"Microsoft.OperationalInsights/workspaces/query/*/read\",\"Microsoft.OperationalInsights/workspaces/dataSources/read\",\"Microsoft.Insights/workbooks/read\",\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2019-08-28T16:58:50.1132117Z\",\"updatedOn\":\"2020-04-02T08:34:51.7222706Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8d289c81-5878-46d4-8554-54e1e3d8b5cb\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"8d289c81-5878-46d4-8554-54e1e3d8b5cb\"},{\"properties\":{\"roleName\":\"Workbook + Reader\",\"type\":\"BuiltInRole\",\"description\":\"Can read workbooks.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"microsoft.insights/workbooks/read\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2019-08-28T20:56:17.6808140Z\",\"updatedOn\":\"2019-08-28T21:43:05.0202124Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b279062a-9be3-42a0-92ae-8b3cf002ec4d\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"b279062a-9be3-42a0-92ae-8b3cf002ec4d\"},{\"properties\":{\"roleName\":\"Workbook + Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Can save shared workbooks.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Insights/workbooks/write\",\"Microsoft.Insights/workbooks/delete\",\"Microsoft.Insights/workbooks/read\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2019-08-28T20:59:42.4820277Z\",\"updatedOn\":\"2020-01-22T00:05:20.9387210Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/e8ddcd69-c73f-4f9f-9844-4100522f16ad\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"e8ddcd69-c73f-4f9f-9844-4100522f16ad\"},{\"properties\":{\"roleName\":\"Policy + Insights Data Writer (Preview)\",\"type\":\"BuiltInRole\",\"description\":\"Allows + read access to resource policies and write access to resource component policy + events.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/policyassignments/read\",\"Microsoft.Authorization/policydefinitions/read\",\"Microsoft.Authorization/policysetdefinitions/read\"],\"notActions\":[],\"dataActions\":[\"Microsoft.PolicyInsights/checkDataPolicyCompliance/action\",\"Microsoft.PolicyInsights/policyEvents/logDataEvents/action\"],\"notDataActions\":[]}],\"createdOn\":\"2019-09-19T19:35:20.9504127Z\",\"updatedOn\":\"2019-09-19T19:37:02.5331596Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/66bb4e9e-b016-4a94-8249-4c0511c2be84\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"66bb4e9e-b016-4a94-8249-4c0511c2be84\"},{\"properties\":{\"roleName\":\"SignalR + AccessKey Reader\",\"type\":\"BuiltInRole\",\"description\":\"Read SignalR + Service Access Keys\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.SignalRService/*/read\",\"Microsoft.SignalRService/SignalR/listkeys/action\",\"Microsoft.Authorization/*/read\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2019-09-20T09:33:19.6236874Z\",\"updatedOn\":\"2019-09-20T09:33:19.6236874Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/04165923-9d83-45d5-8227-78b77b0a687e\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"04165923-9d83-45d5-8227-78b77b0a687e\"},{\"properties\":{\"roleName\":\"SignalR + Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Create, Read, Update, + and Delete SignalR service resources\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.SignalRService/*\",\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2019-09-20T09:58:09.0009662Z\",\"updatedOn\":\"2019-09-20T09:58:09.0009662Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8cf5e20a-e4b2-4e9d-b3a1-5ceb692c2761\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"8cf5e20a-e4b2-4e9d-b3a1-5ceb692c2761\"},{\"properties\":{\"roleName\":\"Azure + Connected Machine Onboarding\",\"type\":\"BuiltInRole\",\"description\":\"Can + onboard Azure Connected Machines.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.HybridCompute/machines/read\",\"Microsoft.HybridCompute/machines/write\",\"Microsoft.GuestConfiguration/guestConfigurationAssignments/read\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2019-10-23T20:15:07.1372870Z\",\"updatedOn\":\"2019-11-03T18:26:59.2060282Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b64e21ea-ac4e-4cdf-9dc9-5b892992bee7\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"b64e21ea-ac4e-4cdf-9dc9-5b892992bee7\"},{\"properties\":{\"roleName\":\"Azure + Connected Machine Resource Administrator\",\"type\":\"BuiltInRole\",\"description\":\"Can + read, write, delete and re-onboard Azure Connected Machines.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.HybridCompute/machines/read\",\"Microsoft.HybridCompute/machines/write\",\"Microsoft.HybridCompute/machines/delete\",\"Microsoft.HybridCompute/machines/reconnect/action\",\"Microsoft.HybridCompute/machines/extensions/write\",\"Microsoft.HybridCompute/*/read\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2019-10-23T20:24:59.1474607Z\",\"updatedOn\":\"2020-03-19T22:39:54.1226122Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/cd570a14-e51a-42ad-bac8-bafd67325302\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"cd570a14-e51a-42ad-bac8-bafd67325302\"},{\"properties\":{\"roleName\":\"Managed + Services Registration assignment Delete Role\",\"type\":\"BuiltInRole\",\"description\":\"Managed + Services Registration Assignment Delete Role allows the managing tenant users + to delete the registration assignment assigned to their tenant.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.ManagedServices/registrationAssignments/read\",\"Microsoft.ManagedServices/registrationAssignments/delete\",\"Microsoft.ManagedServices/operationStatuses/read\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2019-10-23T22:33:33.1183469Z\",\"updatedOn\":\"2019-10-24T21:49:09.3875276Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/91c1777a-f3dc-4fae-b103-61d183457e46\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"91c1777a-f3dc-4fae-b103-61d183457e46\"},{\"properties\":{\"roleName\":\"App + Configuration Data Owner\",\"type\":\"BuiltInRole\",\"description\":\"Allows + full access to App Configuration data.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.AppConfiguration/configurationStores/*/read\",\"Microsoft.AppConfiguration/configurationStores/*/write\",\"Microsoft.AppConfiguration/configurationStores/*/delete\"],\"notDataActions\":[]}],\"createdOn\":\"2019-10-25T18:41:40.1185063Z\",\"updatedOn\":\"2019-10-25T18:41:40.1185063Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/5ae67dd6-50cb-40e7-96ff-dc2bfa4b606b\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"5ae67dd6-50cb-40e7-96ff-dc2bfa4b606b\"},{\"properties\":{\"roleName\":\"App + Configuration Data Reader\",\"type\":\"BuiltInRole\",\"description\":\"Allows + read access to App Configuration data.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.AppConfiguration/configurationStores/*/read\"],\"notDataActions\":[]}],\"createdOn\":\"2019-10-25T18:45:33.7975332Z\",\"updatedOn\":\"2019-10-25T18:45:33.7975332Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/516239f1-63e1-4d78-a4de-a74fb236a071\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"516239f1-63e1-4d78-a4de-a74fb236a071\"},{\"properties\":{\"roleName\":\"Kubernetes + Cluster - Azure Arc Onboarding\",\"type\":\"BuiltInRole\",\"description\":\"Role + definition to authorize any user/service to create connectedClusters resource\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Resources/deployments/write\",\"Microsoft.Resources/subscriptions/operationresults/read\",\"Microsoft.Resources/subscriptions/read\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Kubernetes/connectedClusters/Write\",\"Microsoft.Kubernetes/connectedClusters/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2019-11-18T17:00:02.2087147Z\",\"updatedOn\":\"2020-02-10T22:40:48.3317559Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/34e09817-6cbe-4d01-b1a2-e0eac5743d41\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"34e09817-6cbe-4d01-b1a2-e0eac5743d41\"},{\"properties\":{\"roleName\":\"Experimentation + Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Experimentation Contributor\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Resources/subscriptions/resourceGroups/read\"],\"notActions\":[],\"dataActions\":[\"Microsoft.Experimentation/experimentWorkspaces/experimentationGroups/read\",\"Microsoft.Experimentation/experimentWorkspaces/experimentationGroups/experimentadmin/action\",\"Microsoft.Experimentation/experimentWorkspaces/experimentationGroups/experiment/action\",\"Microsoft.Experimentation/experimentWorkspaces/experimentationGroups/emergencystop/action\",\"Microsoft.Experimentation/experimentWorkspaces/read\",\"Microsoft.Experimentation/experimentWorkspaces/write\",\"Microsoft.Experimentation/experimentWorkspaces/delete\"],\"notDataActions\":[]}],\"createdOn\":\"2019-12-13T00:08:08.6679591Z\",\"updatedOn\":\"2020-04-23T21:17:29.8609777Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/7f646f1b-fa08-80eb-a22b-edd6ce5c915c\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"7f646f1b-fa08-80eb-a22b-edd6ce5c915c\"},{\"properties\":{\"roleName\":\"Cognitive + Services QnA Maker Reader\",\"type\":\"BuiltInRole\",\"description\":\"Let\u2019s + you read and test a KB only.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.CognitiveServices/*/read\",\"Microsoft.Authorization/roleAssignments/read\",\"Microsoft.Authorization/roleDefinitions/read\"],\"notActions\":[],\"dataActions\":[\"Microsoft.CognitiveServices/accounts/QnAMaker/knowledgebases/read\",\"Microsoft.CognitiveServices/accounts/QnAMaker/knowledgebases/download/read\",\"Microsoft.CognitiveServices/accounts/QnAMaker/knowledgebases/generateanswer/action\",\"Microsoft.CognitiveServices/accounts/QnAMaker/alterations/read\",\"Microsoft.CognitiveServices/accounts/QnAMaker/endpointkeys/read\",\"Microsoft.CognitiveServices/accounts/QnAMaker/endpointsettings/read\",\"Microsoft.CognitiveServices/accounts/QnAMaker.v2/knowledgebases/read\",\"Microsoft.CognitiveServices/accounts/QnAMaker.v2/knowledgebases/download/read\",\"Microsoft.CognitiveServices/accounts/QnAMaker.v2/knowledgebases/generateanswer/action\",\"Microsoft.CognitiveServices/accounts/QnAMaker.v2/alterations/read\",\"Microsoft.CognitiveServices/accounts/QnAMaker.v2/endpointkeys/read\",\"Microsoft.CognitiveServices/accounts/QnAMaker.v2/endpointsettings/read\"],\"notDataActions\":[]}],\"createdOn\":\"2019-12-17T18:26:12.3329439Z\",\"updatedOn\":\"2020-05-08T12:03:46.9266538Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/466ccd10-b268-4a11-b098-b4849f024126\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"466ccd10-b268-4a11-b098-b4849f024126\"},{\"properties\":{\"roleName\":\"Cognitive + Services QnA Maker Editor\",\"type\":\"BuiltInRole\",\"description\":\"Let\u2019s + you create, edit, import and export a KB. You cannot publish or delete a KB.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.CognitiveServices/*/read\",\"Microsoft.Authorization/roleAssignments/read\",\"Microsoft.Authorization/roleDefinitions/read\"],\"notActions\":[],\"dataActions\":[\"Microsoft.CognitiveServices/accounts/QnAMaker/knowledgebases/read\",\"Microsoft.CognitiveServices/accounts/QnAMaker/knowledgebases/download/read\",\"Microsoft.CognitiveServices/accounts/QnAMaker/knowledgebases/create/write\",\"Microsoft.CognitiveServices/accounts/QnAMaker/knowledgebases/write\",\"Microsoft.CognitiveServices/accounts/QnAMaker/knowledgebases/generateanswer/action\",\"Microsoft.CognitiveServices/accounts/QnAMaker/knowledgebases/train/action\",\"Microsoft.CognitiveServices/accounts/QnAMaker/alterations/read\",\"Microsoft.CognitiveServices/accounts/QnAMaker/alterations/write\",\"Microsoft.CognitiveServices/accounts/QnAMaker/endpointkeys/read\",\"Microsoft.CognitiveServices/accounts/QnAMaker/endpointkeys/refreshkeys/action\",\"Microsoft.CognitiveServices/accounts/QnAMaker/endpointsettings/read\",\"Microsoft.CognitiveServices/accounts/QnAMaker/endpointsettings/write\",\"Microsoft.CognitiveServices/accounts/QnAMaker/operations/read\",\"Microsoft.CognitiveServices/accounts/QnAMaker.v2/knowledgebases/read\",\"Microsoft.CognitiveServices/accounts/QnAMaker.v2/knowledgebases/download/read\",\"Microsoft.CognitiveServices/accounts/QnAMaker.v2/knowledgebases/create/write\",\"Microsoft.CognitiveServices/accounts/QnAMaker.v2/knowledgebases/write\",\"Microsoft.CognitiveServices/accounts/QnAMaker.v2/knowledgebases/generateanswer/action\",\"Microsoft.CognitiveServices/accounts/QnAMaker.v2/knowledgebases/train/action\",\"Microsoft.CognitiveServices/accounts/QnAMaker.v2/alterations/read\",\"Microsoft.CognitiveServices/accounts/QnAMaker.v2/alterations/write\",\"Microsoft.CognitiveServices/accounts/QnAMaker.v2/endpointkeys/read\",\"Microsoft.CognitiveServices/accounts/QnAMaker.v2/endpointkeys/refreshkeys/action\",\"Microsoft.CognitiveServices/accounts/QnAMaker.v2/endpointsettings/read\",\"Microsoft.CognitiveServices/accounts/QnAMaker.v2/endpointsettings/write\",\"Microsoft.CognitiveServices/accounts/QnAMaker.v2/operations/read\"],\"notDataActions\":[]}],\"createdOn\":\"2019-12-17T18:27:30.6434556Z\",\"updatedOn\":\"2020-05-08T12:02:34.0065552Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/f4cc2bf9-21be-47a1-bdf1-5c5804381025\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"f4cc2bf9-21be-47a1-bdf1-5c5804381025\"},{\"properties\":{\"roleName\":\"Experimentation + Administrator\",\"type\":\"BuiltInRole\",\"description\":\"Experimentation + Administrator\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Resources/subscriptions/resourceGroups/read\"],\"notActions\":[],\"dataActions\":[\"Microsoft.Experimentation/experimentWorkspaces/experimentationGroups/admin/action\",\"Microsoft.Experimentation/experimentWorkspaces/experimentationGroups/read\",\"Microsoft.Experimentation/experimentWorkspaces/experimentationGroups/write\",\"Microsoft.Experimentation/experimentWorkspaces/experimentationGroups/delete\",\"Microsoft.Experimentation/experimentWorkspaces/experimentationGroups/experimentadmin/action\",\"Microsoft.Experimentation/experimentWorkspaces/experimentationGroups/experiment/action\",\"Microsoft.Experimentation/experimentWorkspaces/experimentationGroups/emergencystop/action\",\"Microsoft.Experimentation/experimentWorkspaces/read\",\"Microsoft.Experimentation/experimentWorkspaces/write\",\"Microsoft.Experimentation/experimentWorkspaces/delete\",\"Microsoft.Experimentation/experimentWorkspaces/admin/action\"],\"notDataActions\":[]}],\"createdOn\":\"2019-12-18T22:46:33.1116612Z\",\"updatedOn\":\"2020-04-22T20:10:20.1216929Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/7f646f1b-fa08-80eb-a33b-edd6ce5c915c\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"7f646f1b-fa08-80eb-a33b-edd6ce5c915c\"},{\"properties\":{\"roleName\":\"Remote + Rendering Administrator\",\"type\":\"BuiltInRole\",\"description\":\"Provides + user with conversion, manage session, rendering and diagnostics capabilities + for Azure Remote Rendering\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.MixedReality/RemoteRenderingAccounts/convert/action\",\"Microsoft.MixedReality/RemoteRenderingAccounts/convert/read\",\"Microsoft.MixedReality/RemoteRenderingAccounts/convert/delete\",\"Microsoft.MixedReality/RemoteRenderingAccounts/managesessions/read\",\"Microsoft.MixedReality/RemoteRenderingAccounts/managesessions/action\",\"Microsoft.MixedReality/RemoteRenderingAccounts/managesessions/delete\",\"Microsoft.MixedReality/RemoteRenderingAccounts/render/read\",\"Microsoft.MixedReality/RemoteRenderingAccounts/diagnostic/read\"],\"notDataActions\":[]}],\"createdOn\":\"2020-01-23T18:15:31.3450348Z\",\"updatedOn\":\"2020-01-23T18:15:31.3450348Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/3df8b902-2a6f-47c7-8cc5-360e9b272a7e\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"3df8b902-2a6f-47c7-8cc5-360e9b272a7e\"},{\"properties\":{\"roleName\":\"Remote + Rendering Client\",\"type\":\"BuiltInRole\",\"description\":\"Provides user + with manage session, rendering and diagnostics capabilities for Azure Remote + Rendering.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.MixedReality/RemoteRenderingAccounts/managesessions/read\",\"Microsoft.MixedReality/RemoteRenderingAccounts/managesessions/action\",\"Microsoft.MixedReality/RemoteRenderingAccounts/managesessions/delete\",\"Microsoft.MixedReality/RemoteRenderingAccounts/render/read\",\"Microsoft.MixedReality/RemoteRenderingAccounts/diagnostic/read\"],\"notDataActions\":[]}],\"createdOn\":\"2020-01-23T18:32:52.7069824Z\",\"updatedOn\":\"2020-01-23T18:32:52.7069824Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/d39065c4-c120-43c9-ab0a-63eed9795f0a\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"d39065c4-c120-43c9-ab0a-63eed9795f0a\"},{\"properties\":{\"roleName\":\"Managed + Application Contributor Role\",\"type\":\"BuiltInRole\",\"description\":\"Allows + for creating managed application resources.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"*/read\",\"Microsoft.Solutions/applications/*\",\"Microsoft.Solutions/register/action\",\"Microsoft.Resources/subscriptions/resourceGroups/*\",\"Microsoft.Resources/deployments/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2020-02-08T03:39:11.8933879Z\",\"updatedOn\":\"2020-03-23T02:12:30.0853051Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/641177b8-a67a-45b9-a033-47bc880bb21e\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"641177b8-a67a-45b9-a033-47bc880bb21e\"},{\"properties\":{\"roleName\":\"Security + Assessment Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Lets you + push assessments to Security Center\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Security/assessments/write\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2020-02-13T08:23:47.7656161Z\",\"updatedOn\":\"2020-02-13T08:23:47.7656161Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/612c2aa1-cb24-443b-ac28-3ab7272de6f5\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"612c2aa1-cb24-443b-ac28-3ab7272de6f5\"},{\"properties\":{\"roleName\":\"Tag + Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Lets you manage tags + on entities, without providing access to the entities themselves.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Resources/subscriptions/resourceGroups/resources/read\",\"Microsoft.Resources/subscriptions/resources/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Support/*\",\"Microsoft.Resources/tags/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2020-02-18T23:19:19.2977644Z\",\"updatedOn\":\"2020-02-19T00:04:58.9214962Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4a9ae827-6dc8-4573-8ac7-8239d42aa03f\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"4a9ae827-6dc8-4573-8ac7-8239d42aa03f\"},{\"properties\":{\"roleName\":\"Integration + Service Environment Developer\",\"type\":\"BuiltInRole\",\"description\":\"Allows + developers to create and update workflows, integration accounts and API connections + in integration service environments.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Support/*\",\"Microsoft.Logic/integrationServiceEnvironments/read\",\"Microsoft.Logic/integrationServiceEnvironments/join/action\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2020-02-20T21:09:00.5627875Z\",\"updatedOn\":\"2020-02-20T21:36:24.6190730Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/c7aa55d3-1abb-444a-a5ca-5e51e485d6ec\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"c7aa55d3-1abb-444a-a5ca-5e51e485d6ec\"},{\"properties\":{\"roleName\":\"Integration + Service Environment Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Lets + you manage integration service environments, but not access to them.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Support/*\",\"Microsoft.Logic/integrationServiceEnvironments/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2020-02-20T21:10:44.4008319Z\",\"updatedOn\":\"2020-02-20T21:41:56.7983599Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/a41e2c5b-bd99-4a07-88f4-9bf657a760b8\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"a41e2c5b-bd99-4a07-88f4-9bf657a760b8\"},{\"properties\":{\"roleName\":\"Marketplace + Admin\",\"type\":\"BuiltInRole\",\"description\":\"Administrator of marketplace + resource provider\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Marketplace/privateStores/write\",\"Microsoft.Marketplace/privateStores/action\",\"Microsoft.Marketplace/privateStores/delete\",\"Microsoft.Marketplace/privateStores/offers/write\",\"Microsoft.Marketplace/privateStores/offers/action\",\"Microsoft.Marketplace/privateStores/offers/delete\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2020-02-26T14:19:50.9681015Z\",\"updatedOn\":\"2020-02-26T14:19:50.9681015Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/dd920d6d-f481-47f1-b461-f338c46b2d9f\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"dd920d6d-f481-47f1-b461-f338c46b2d9f\"},{\"properties\":{\"roleName\":\"Azure + Kubernetes Service Contributor Role\",\"type\":\"BuiltInRole\",\"description\":\"Grants + access to read and write Azure Kubernetes Service clusters\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.ContainerService/managedClusters/read\",\"Microsoft.ContainerService/managedClusters/write\",\"Microsoft.Resources/deployments/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2020-02-27T19:27:15.0739970Z\",\"updatedOn\":\"2020-02-28T02:34:14.5162305Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/ed7f3fbd-7b88-4dd4-9017-9adb7ce333f8\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"ed7f3fbd-7b88-4dd4-9017-9adb7ce333f8\"},{\"properties\":{\"roleName\":\"Azure + Digital Twins Reader (Preview)\",\"type\":\"BuiltInRole\",\"description\":\"Read-only + role for Digital Twins data-plane properties\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.DigitalTwins/digitaltwins/read\",\"Microsoft.DigitalTwins/eventroutes/read\",\"Microsoft.DigitalTwins/models/read\",\"Microsoft.DigitalTwins/query/action\"],\"notDataActions\":[]}],\"createdOn\":\"2020-03-10T23:48:14.7057381Z\",\"updatedOn\":\"2020-05-20T18:19:02.4795349Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/d57506d4-4c8d-48b1-8587-93c323f6a5a3\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"d57506d4-4c8d-48b1-8587-93c323f6a5a3\"},{\"properties\":{\"roleName\":\"Azure + Digital Twins Owner (Preview)\",\"type\":\"BuiltInRole\",\"description\":\"Full + access role for Digital Twins data-plane\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.DigitalTwins/eventroutes/*\",\"Microsoft.DigitalTwins/digitaltwins/*\",\"Microsoft.DigitalTwins/digitaltwins/commands/*\",\"Microsoft.DigitalTwins/digitaltwins/relationships/*\",\"Microsoft.DigitalTwins/models/*\",\"Microsoft.DigitalTwins/query/*\"],\"notDataActions\":[]}],\"createdOn\":\"2020-03-10T23:49:33.7821930Z\",\"updatedOn\":\"2020-03-10T23:49:33.7821930Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/bcd981a7-7f74-457b-83e1-cceb9e632ffe\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"bcd981a7-7f74-457b-83e1-cceb9e632ffe\"},{\"properties\":{\"roleName\":\"Hierarchy + Settings Administrator\",\"type\":\"BuiltInRole\",\"description\":\"Allows + users to edit and delete Hierarchy Settings\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Management/managementGroups/settings/write\",\"Microsoft.Management/managementGroups/settings/delete\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2020-03-13T23:55:11.0212387Z\",\"updatedOn\":\"2020-03-13T23:58:46.9249866Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/350f8d15-c687-4448-8ae1-157740a3936d\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"350f8d15-c687-4448-8ae1-157740a3936d\"},{\"properties\":{\"roleName\":\"FHIR + Data Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Role allows + user or principal full access to FHIR Data\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.HealthcareApis/services/fhir/resources/*\"],\"notDataActions\":[]}],\"createdOn\":\"2020-03-17T18:35:04.4949547Z\",\"updatedOn\":\"2020-03-17T18:35:04.4949547Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/5a1fc7df-4bf1-4951-a576-89034ee01acd\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"5a1fc7df-4bf1-4951-a576-89034ee01acd\"},{\"properties\":{\"roleName\":\"FHIR + Data Exporter\",\"type\":\"BuiltInRole\",\"description\":\"Role allows user + or principal to read and export FHIR Data\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.HealthcareApis/services/fhir/resources/read\",\"Microsoft.HealthcareApis/services/fhir/resources/export/action\"],\"notDataActions\":[]}],\"createdOn\":\"2020-03-17T18:45:01.9764073Z\",\"updatedOn\":\"2020-03-19T20:29:56.9958536Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/3db33094-8700-4567-8da5-1501d4e7e843\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"3db33094-8700-4567-8da5-1501d4e7e843\"},{\"properties\":{\"roleName\":\"FHIR + Data Reader\",\"type\":\"BuiltInRole\",\"description\":\"Role allows user + or principal to read FHIR Data\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.HealthcareApis/services/fhir/resources/read\"],\"notDataActions\":[]}],\"createdOn\":\"2020-03-17T18:49:04.8353499Z\",\"updatedOn\":\"2020-03-17T18:49:04.8353499Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4c8d0bbc-75d3-4935-991f-5f3c56d81508\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"4c8d0bbc-75d3-4935-991f-5f3c56d81508\"},{\"properties\":{\"roleName\":\"FHIR + Data Writer\",\"type\":\"BuiltInRole\",\"description\":\"Role allows user + or principal to read and write FHIR Data\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.HealthcareApis/services/fhir/resources/*\"],\"notDataActions\":[\"Microsoft.HealthcareApis/services/fhir/resources/hardDelete/action\"]}],\"createdOn\":\"2020-03-17T18:55:35.2413335Z\",\"updatedOn\":\"2020-03-17T18:55:35.2413335Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/3f88fce4-5892-4214-ae73-ba5294559913\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"3f88fce4-5892-4214-ae73-ba5294559913\"},{\"properties\":{\"roleName\":\"Experimentation + Reader\",\"type\":\"BuiltInRole\",\"description\":\"Experimentation Reader\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.Experimentation/experimentWorkspaces/read\",\"Microsoft.Experimentation/experimentWorkspaces/experimentationGroups/read\"],\"notDataActions\":[]}],\"createdOn\":\"2020-03-25T18:05:14.8375678Z\",\"updatedOn\":\"2020-04-22T21:20:46.2737555Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/49632ef5-d9ac-41f4-b8e7-bbe587fa74a1\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"49632ef5-d9ac-41f4-b8e7-bbe587fa74a1\"},{\"properties\":{\"roleName\":\"Object + Understanding Account Owner\",\"type\":\"BuiltInRole\",\"description\":\"Provides + user with ingestion capabilities for Azure Object Understanding.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.MixedReality/ObjectUnderstandingAccounts/ingest/action\",\"Microsoft.MixedReality/ObjectUnderstandingAccounts/ingest/read\"],\"notDataActions\":[]}],\"createdOn\":\"2020-04-22T19:15:09.0697923Z\",\"updatedOn\":\"2020-04-22T19:15:09.0697923Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4dd61c23-6743-42fe-a388-d8bdd41cb745\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"4dd61c23-6743-42fe-a388-d8bdd41cb745\"},{\"properties\":{\"roleName\":\"Azure + Maps Data Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Grants + access to read, write, and delete access to map related data from an Azure + maps account.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.Maps/accounts/*/read\",\"Microsoft.Maps/accounts/*/write\",\"Microsoft.Maps/accounts/*/delete\"],\"notDataActions\":[]}],\"createdOn\":\"2020-05-07T20:55:05.0645410Z\",\"updatedOn\":\"2020-05-07T20:55:05.0645410Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8f5e0ce6-4f7b-4dcf-bddf-e6f48634a204\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"8f5e0ce6-4f7b-4dcf-bddf-e6f48634a204\"},{\"properties\":{\"roleName\":\"Cognitive + Services Custom Vision Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Full + access to the project, including the ability to view, create, edit, or delete + projects.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.CognitiveServices/*/read\"],\"notActions\":[],\"dataActions\":[\"Microsoft.CognitiveServices/accounts/CustomVision/*\"],\"notDataActions\":[]}],\"createdOn\":\"2020-05-08T23:47:07.0779345Z\",\"updatedOn\":\"2020-05-08T23:47:07.0779345Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/c1ff6cc2-c111-46fe-8896-e0ef812ad9f3\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"c1ff6cc2-c111-46fe-8896-e0ef812ad9f3\"},{\"properties\":{\"roleName\":\"Cognitive + Services Custom Vision Deployment\",\"type\":\"BuiltInRole\",\"description\":\"Publish, + unpublish or export models. Deployment can view the project but can\u2019t + update.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.CognitiveServices/*/read\"],\"notActions\":[],\"dataActions\":[\"Microsoft.CognitiveServices/accounts/CustomVision/*/read\",\"Microsoft.CognitiveServices/accounts/CustomVision/projects/predictions/*\",\"Microsoft.CognitiveServices/accounts/CustomVision/projects/iterations/publish/*\",\"Microsoft.CognitiveServices/accounts/CustomVision/projects/iterations/export/*\",\"Microsoft.CognitiveServices/accounts/CustomVision/projects/quicktest/*\",\"Microsoft.CognitiveServices/accounts/CustomVision/classify/*\",\"Microsoft.CognitiveServices/accounts/CustomVision/detect/*\"],\"notDataActions\":[\"Microsoft.CognitiveServices/accounts/CustomVision/projects/export/read\"]}],\"createdOn\":\"2020-05-09T01:31:05.9528620Z\",\"updatedOn\":\"2020-05-09T01:31:05.9528620Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/5c4089e1-6d96-4d2f-b296-c1bc7137275f\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"5c4089e1-6d96-4d2f-b296-c1bc7137275f\"},{\"properties\":{\"roleName\":\"Cognitive + Services Custom Vision Labeler\",\"type\":\"BuiltInRole\",\"description\":\"View, + edit training images and create, add, remove, or delete the image tags. Labelers + can view the project but can\u2019t update anything other than training images + and tags.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.CognitiveServices/*/read\"],\"notActions\":[],\"dataActions\":[\"Microsoft.CognitiveServices/accounts/CustomVision/*/read\",\"Microsoft.CognitiveServices/accounts/CustomVision/projects/predictions/query/action\",\"Microsoft.CognitiveServices/accounts/CustomVision/projects/images/*\",\"Microsoft.CognitiveServices/accounts/CustomVision/projects/tags/*\",\"Microsoft.CognitiveServices/accounts/CustomVision/projects/images/suggested/*\",\"Microsoft.CognitiveServices/accounts/CustomVision/projects/tagsandregions/suggestions/action\"],\"notDataActions\":[\"Microsoft.CognitiveServices/accounts/CustomVision/projects/export/read\"]}],\"createdOn\":\"2020-05-09T01:33:20.8278896Z\",\"updatedOn\":\"2020-05-09T01:33:20.8278896Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/88424f51-ebe7-446f-bc41-7fa16989e96c\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"88424f51-ebe7-446f-bc41-7fa16989e96c\"},{\"properties\":{\"roleName\":\"Cognitive + Services Custom Vision Reader\",\"type\":\"BuiltInRole\",\"description\":\"Read-only + actions in the project. Readers can\u2019t create or update the project.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.CognitiveServices/*/read\"],\"notActions\":[],\"dataActions\":[\"Microsoft.CognitiveServices/accounts/CustomVision/*/read\",\"Microsoft.CognitiveServices/accounts/CustomVision/projects/predictions/query/action\"],\"notDataActions\":[\"Microsoft.CognitiveServices/accounts/CustomVision/projects/export/read\"]}],\"createdOn\":\"2020-05-09T01:34:18.5328818Z\",\"updatedOn\":\"2020-05-09T01:34:18.5328818Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/93586559-c37d-4a6b-ba08-b9f0940c2d73\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"93586559-c37d-4a6b-ba08-b9f0940c2d73\"},{\"properties\":{\"roleName\":\"Cognitive + Services Custom Vision Trainer\",\"type\":\"BuiltInRole\",\"description\":\"View, + edit projects and train the models, including the ability to publish, unpublish, + export the models. Trainers can\u2019t create or delete the project.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.CognitiveServices/*/read\"],\"notActions\":[],\"dataActions\":[\"Microsoft.CognitiveServices/accounts/CustomVision/*\"],\"notDataActions\":[\"Microsoft.CognitiveServices/accounts/CustomVision/projects/action\",\"Microsoft.CognitiveServices/accounts/CustomVision/projects/delete\",\"Microsoft.CognitiveServices/accounts/CustomVision/projects/import/action\",\"Microsoft.CognitiveServices/accounts/CustomVision/projects/export/read\"]}],\"createdOn\":\"2020-05-09T01:35:13.8147804Z\",\"updatedOn\":\"2020-05-09T01:35:13.8147804Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/0a5ae4ab-0d65-4eeb-be61-29fc9b54394b\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"0a5ae4ab-0d65-4eeb-be61-29fc9b54394b\"},{\"properties\":{\"roleName\":\"Key + Vault Administrator (preview)\",\"type\":\"BuiltInRole\",\"description\":\"Can + perform any action on certificates, keys and secrets of a key vault, except + manage permissions.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\",\"Microsoft.KeyVault/checkNameAvailability/read\",\"Microsoft.KeyVault/deletedVaults/read\",\"Microsoft.KeyVault/locations/*/read\",\"Microsoft.KeyVault/vaults/*/read\",\"Microsoft.KeyVault/operations/read\"],\"notActions\":[],\"dataActions\":[\"Microsoft.KeyVault/vaults/*\"],\"notDataActions\":[]}],\"createdOn\":\"2020-05-19T17:52:46.2349235Z\",\"updatedOn\":\"2020-05-20T19:40:18.9511304Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/00482a5a-887f-4fb3-b363-3b7fe8e74483\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"00482a5a-887f-4fb3-b363-3b7fe8e74483\"},{\"properties\":{\"roleName\":\"Key + Vault Crypto Officer (preview)\",\"type\":\"BuiltInRole\",\"description\":\"Can + perform any action on the keys of a key vault, except manage permissions.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\",\"Microsoft.KeyVault/checkNameAvailability/read\",\"Microsoft.KeyVault/deletedVaults/read\",\"Microsoft.KeyVault/locations/*/read\",\"Microsoft.KeyVault/vaults/*/read\",\"Microsoft.KeyVault/operations/read\"],\"notActions\":[],\"dataActions\":[\"Microsoft.KeyVault/vaults/keys/*\"],\"notDataActions\":[]}],\"createdOn\":\"2020-05-19T17:52:47.0099249Z\",\"updatedOn\":\"2020-05-20T19:44:51.5886988Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/14b46e9e-c2b7-41b4-b07b-48a6ebf60603\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"14b46e9e-c2b7-41b4-b07b-48a6ebf60603\"},{\"properties\":{\"roleName\":\"Key + Vault Crypto User (preview)\",\"type\":\"BuiltInRole\",\"description\":\"Can + perform cryptographic operations on keys and certificates.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.KeyVault/vaults/keys/read\",\"Microsoft.KeyVault/vaults/keys/update/action\",\"Microsoft.KeyVault/vaults/keys/backup/action\",\"Microsoft.KeyVault/vaults/keys/encrypt/action\",\"Microsoft.KeyVault/vaults/keys/decrypt/action\",\"Microsoft.KeyVault/vaults/keys/wrap/action\",\"Microsoft.KeyVault/vaults/keys/unwrap/action\",\"Microsoft.KeyVault/vaults/keys/sign/action\",\"Microsoft.KeyVault/vaults/keys/verify/action\"],\"notDataActions\":[]}],\"createdOn\":\"2020-05-19T17:52:47.0699268Z\",\"updatedOn\":\"2020-05-20T19:48:54.8672037Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/12338af0-0e69-4776-bea7-57ae8d297424\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"12338af0-0e69-4776-bea7-57ae8d297424\"},{\"properties\":{\"roleName\":\"Key + Vault Secrets Officer (preview)\",\"type\":\"BuiltInRole\",\"description\":\"Can + perform any action on the secrets of a key vault, except manage permissions.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\",\"Microsoft.KeyVault/checkNameAvailability/read\",\"Microsoft.KeyVault/deletedVaults/read\",\"Microsoft.KeyVault/locations/*/read\",\"Microsoft.KeyVault/vaults/*/read\",\"Microsoft.KeyVault/operations/read\"],\"notActions\":[],\"dataActions\":[\"Microsoft.KeyVault/vaults/secrets/*\"],\"notDataActions\":[]}],\"createdOn\":\"2020-05-19T17:52:47.1449242Z\",\"updatedOn\":\"2020-05-20T19:51:40.0338120Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b86a8fe4-44ce-4948-aee5-eccb2c155cd7\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"b86a8fe4-44ce-4948-aee5-eccb2c155cd7\"},{\"properties\":{\"roleName\":\"Key + Vault Secrets User (preview)\",\"type\":\"BuiltInRole\",\"description\":\"Can + read secret contents.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.KeyVault/vaults/secrets/getSecret/action\",\"Microsoft.KeyVault/vaults/secrets/readMetadata/action\"],\"notDataActions\":[]}],\"createdOn\":\"2020-05-19T17:52:47.2049241Z\",\"updatedOn\":\"2020-05-20T19:53:53.9617292Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4633458b-17de-408a-b874-0445c86b69e6\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"4633458b-17de-408a-b874-0445c86b69e6\"},{\"properties\":{\"roleName\":\"Key + Vault Certificates Officer (preview)\",\"type\":\"BuiltInRole\",\"description\":\"Can + perform any action on the certificates of a key vault, except manage permissions.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\",\"Microsoft.KeyVault/checkNameAvailability/read\",\"Microsoft.KeyVault/deletedVaults/read\",\"Microsoft.KeyVault/locations/*/read\",\"Microsoft.KeyVault/vaults/*/read\",\"Microsoft.KeyVault/operations/read\"],\"notActions\":[],\"dataActions\":[\"Microsoft.KeyVault/vaults/certificatecas/*\",\"Microsoft.KeyVault/vaults/certificates/*\"],\"notDataActions\":[]}],\"createdOn\":\"2020-05-19T17:52:47.2499247Z\",\"updatedOn\":\"2020-05-20T19:56:22.0363761Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/a4417e6f-fecd-4de8-b567-7b0420556985\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"a4417e6f-fecd-4de8-b567-7b0420556985\"},{\"properties\":{\"roleName\":\"Key + Vault Reader (preview)\",\"type\":\"BuiltInRole\",\"description\":\"Can read + metadata of key vaults and its certificates, keys and secrets. Cannot read + sensitive values such as secret contents or key material.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\",\"Microsoft.KeyVault/checkNameAvailability/read\",\"Microsoft.KeyVault/deletedVaults/read\",\"Microsoft.KeyVault/locations/*/read\",\"Microsoft.KeyVault/vaults/*/read\",\"Microsoft.KeyVault/operations/read\"],\"notActions\":[],\"dataActions\":[\"Microsoft.KeyVault/vaults/*/read\",\"Microsoft.KeyVault/vaults/secrets/readMetadata/action\"],\"notDataActions\":[]}],\"createdOn\":\"2020-05-19T17:52:47.2949294Z\",\"updatedOn\":\"2020-05-20T19:58:55.0084184Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/21090545-7ca7-4776-b22c-e363652d74d2\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"21090545-7ca7-4776-b22c-e363652d74d2\"},{\"properties\":{\"roleName\":\"Key + Vault Crypto Service Encryption (preview)\",\"type\":\"BuiltInRole\",\"description\":\"Can + read metadata of keys and perform wrap/unwrap operations.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.KeyVault/vaults/keys/read\",\"Microsoft.KeyVault/vaults/keys/wrap/action\",\"Microsoft.KeyVault/vaults/keys/unwrap/action\"],\"notDataActions\":[]}],\"createdOn\":\"2020-05-20T20:55:19.2398470Z\",\"updatedOn\":\"2020-05-20T20:55:19.2398470Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/e147488a-f6f5-4113-8e2d-b22465e65bf6\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"e147488a-f6f5-4113-8e2d-b22465e65bf6\"}]}" + headers: + cache-control: + - no-cache + content-length: + - '206311' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 26 May 2020 16:22:55 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - x-ms-gateway-slice=Production; path=/; secure; HttpOnly; SameSite=None + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"objectIds": ["0284a9b7-6cc7-4729-bacc-2412fd3383c3"], "includeDirectoryObjectReferences": + true}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - role assignment list + Connection: + - keep-alive + Content-Length: + - '97' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - --assignee --scope --role -o + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-graphrbac/0.60.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: POST + uri: https://graph.windows.net/00000000-0000-0000-0000-000000000000/getObjectsByObjectIds?api-version=1.6 + response: + body: + string: '{"odata.metadata":"https://graph.windows.net/00000000-0000-0000-0000-000000000000/$metadata#directoryObjects","value":[{"odata.type":"Microsoft.DirectoryServices.ServicePrincipal","objectType":"ServicePrincipal","objectId":"0284a9b7-6cc7-4729-bacc-2412fd3383c3","deletionTimestamp":null,"accountEnabled":true,"addIns":[],"alternativeNames":["isExplicit=True","/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ingressapplicationgateway-cliakstest000002"],"appDisplayName":null,"appId":"d4abe0d0-fddf-4df9-b9aa-1425d821d54e","applicationTemplateId":null,"appOwnerTenantId":null,"appRoleAssignmentRequired":false,"appRoles":[],"displayName":"ingressapplicationgateway-cliakstest000002","errorUrl":null,"homepage":null,"informationalUrls":null,"keyCredentials":[{"customKeyIdentifier":"5F5E8374A74099EBB18A05530A58C18A29710553","endDate":"2020-08-24T16:14:00Z","keyId":"f0d5fba6-d0ae-4562-9a9a-8881e86b520a","startDate":"2020-05-26T16:14:00Z","type":"AsymmetricX509Cert","usage":"Verify","value":null}],"logoutUrl":null,"notificationEmailAddresses":[],"oauth2Permissions":[],"passwordCredentials":[],"preferredSingleSignOnMode":null,"preferredTokenSigningKeyEndDateTime":null,"preferredTokenSigningKeyThumbprint":null,"publisherName":null,"replyUrls":[],"samlMetadataUrl":null,"samlSingleSignOnSettings":null,"servicePrincipalNames":["d4abe0d0-fddf-4df9-b9aa-1425d821d54e","https://identity.azure.net/mDTrxY+AvIoNffjW/kYzhUH7L171dG2tXeLIs8XtMZ4="],"servicePrincipalType":"ManagedIdentity","signInAudience":null,"tags":[],"tokenEncryptionKeyId":null}]}' + headers: + access-control-allow-origin: + - '*' + cache-control: + - no-cache + content-length: + - '1670' + content-type: + - application/json; odata=minimalmetadata; streaming=true; charset=utf-8 + dataserviceversion: + - 3.0; + date: + - Tue, 26 May 2020 16:22:55 GMT + duration: + - '813734' + expires: + - '-1' + ocp-aad-diagnostics-server-name: + - MjPAJVvgC3key9HyT1tst0r01pKZJnpyPQ4YiB+LaOA= + ocp-aad-session-key: + - cXtzRhc7lQvOQBN9CcfHIM_fQHPg3PlFeiMRXjLLoSQv_tIUrPcpFlugoKNnKTmYRGmn-2GhJhkQf06tghPlYF_qYhbH85jj1vqH3a4i15inn8VEfE0KcwlTwha_De5D.ltuJOZLncremtGD1s-7XD9CDFAX54_gKDryWwkKYEE8 + pragma: + - no-cache + request-id: + - 7560a11c-119b-43d3-8d3b-243ec55d267e + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-ms-dirapi-data-contract-version: + - '1.6' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +version: 1 diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_and_update_with_managed_aad.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_and_update_with_managed_aad.yaml index f852aa73a20..c8267540c55 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_and_update_with_managed_aad.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_and_update_with_managed_aad.yaml @@ -13,16 +13,16 @@ interactions: ParameterSetName: - --resource-group --name --vm-set-type -c --enable-aad --aad-admin-group-object-ids User-Agent: - - python/3.6.9 (Linux-4.4.0-18362-Microsoft-x86_64-with-Ubuntu-18.04-bionic) - msrest/0.6.11 msrest_azure/0.6.3 azure-mgmt-resource/8.0.1 Azure-SDK-For-Python - AZURECLI/2.2.0 + - python/3.6.9 (Linux-4.19.104-microsoft-standard-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-resource/9.0.0 Azure-SDK-For-Python + AZURECLI/2.6.0 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2019-07-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001","name":"clitest000001","type":"Microsoft.Resources/resourceGroups","location":"westus2","tags":{"product":"azurecli","cause":"automation","date":"2020-03-20T13:13:10Z"},"properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001","name":"clitest000001","type":"Microsoft.Resources/resourceGroups","location":"westus2","tags":{"product":"azurecli","cause":"automation","date":"2020-05-28T05:26:30Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -31,7 +31,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 20 Mar 2020 13:13:14 GMT + - Thu, 28 May 2020 05:26:32 GMT expires: - '-1' pragma: @@ -47,12 +47,13 @@ interactions: message: OK - request: body: '{"location": "westus2", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitestlqut5pijr-8ecadf", "agentPoolProfiles": [{"count": 1, "vmSize": - "Standard_DS2_v2", "osType": "Linux", "type": "AvailabilitySet", "scaleSetPriority": - "Regular", "scaleSetEvictionPolicy": "Delete", "name": "nodepool1"}], "linuxProfile": - {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCtHVMJlUrIzCKG0ZIRSM0uhzKwKiRm8h34gromlIGGmDUMleeEeN7qazI6JztCQupmlAiGZF0OatfvYtmOTbqWnA5z8BFDyYzs/BXVeq4TD77eiinLhDkm9wFVSppS+lBpXhx6YTF9K1DhmOQWDcowdBTPFuDujz882DOxFf4Ph+RgFdU2vDKAXUL9z9h4/djLDW/sB5DzHLbK62notFPa6IZLEjL1Ob8updDqQKSv8z5UB83LLYWchZCbt0xuTkrIbDU679fu0rQtdDKyJo/dhO3AUff4T2r5k94dyX2xmAkEb6ytdECboq6NJySJtntRl5SLt0rX2mONW8o5Vfvd - \n"}]}}, "servicePrincipalProfile": {"clientId": "00000000-0000-0000-0000-000000000000", - "secret": ""}, "addonProfiles": {}, "enableRBAC": true, + "cliakstest-clitestvouk66jlj-c10894", "agentPoolProfiles": [{"count": 1, "vmSize": + "Standard_D2s_v3", "osType": "Linux", "type": "AvailabilitySet", "mode": "System", + "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": + "Delete", "name": "nodepool1"}], "linuxProfile": {"adminUsername": "azureuser", + "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDiOFgDVZSitF+jMxvBpJmYO8ReNVZMG+n996WvKxFfaR9903Zykxrvu7RUqdpZZ0hzzueeLJPJpiGxvk8ur4vnkXJkX7H8fvZZw6EI5PhuD76xXXRdXp9I2dH91oTqJ0Ne/s01K2PcJC+SzkU+icGLsIqP47QVoBL+H1nMapzcZVYYXzPd2u1bJZbGgJZSxEOJenybNY/1qhJGIEhMqLPXcz8QDuqLMrz3WMGLmfwv5SMTzd9ejfRAJ85RXeciTSjUtT37HUDafiql3JxhrrbUkgyuoVMztGp6DvTHb0XKDS06su1jBxQpGuquCKcpJNIa7Z3pJmWSM/b7VahsHzWP + pmiller@gmail.com\n"}]}}, "servicePrincipalProfile": {"clientId": "709e9be8-2b36-441f-81b5-16bd257fb5cb", + "secret": "b39ff07ddb2703825634$"}, "addonProfiles": {}, "enableRBAC": true, "enablePodSecurityPolicy": false, "networkProfile": {"networkPlugin": "kubenet", "podCidr": "10.244.0.0/16", "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", "dockerBridgeCidr": "172.17.0.1/16", "outboundType": "loadBalancer", "loadBalancerSku": @@ -67,36 +68,37 @@ interactions: Connection: - keep-alive Content-Length: - - '1330' + - '1376' Content-Type: - application/json; charset=utf-8 ParameterSetName: - --resource-group --name --vm-set-type -c --enable-aad --aad-admin-group-object-ids User-Agent: - - python/3.6.9 (Linux-4.4.0-18362-Microsoft-x86_64-with-Ubuntu-18.04-bionic) - msrest/0.6.11 msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.1 Azure-SDK-For-Python - AZURECLI/2.2.0 + - python/3.6.9 (Linux-4.19.104-microsoft-standard-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.3 Azure-SDK-For-Python + AZURECLI/2.6.0 accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2020-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2020-04-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\"\ ,\n \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\"\ : \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \ - \ \"provisioningState\": \"Creating\",\n \"kubernetesVersion\": \"1.15.10\"\ - ,\n \"dnsPrefix\": \"cliakstest-clitestlqut5pijr-8ecadf\",\n \"fqdn\"\ - : \"cliakstest-clitestlqut5pijr-8ecadf-6c5f8247.hcp.westus2.staging.azmk8s.io\"\ - ,\n \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \ - \ \"count\": 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\"\ + \ \"provisioningState\": \"Creating\",\n \"kubernetesVersion\": \"1.15.11\"\ + ,\n \"dnsPrefix\": \"cliakstest-clitestvouk66jlj-c10894\",\n \"fqdn\"\ + : \"cliakstest-clitestvouk66jlj-c10894-ece69997.hcp.westus2.azmk8s.io\",\n\ + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"\ + count\": 1,\n \"vmSize\": \"Standard_D2s_v3\",\n \"osDiskSizeGB\"\ : 100,\n \"maxPods\": 110,\n \"type\": \"AvailabilitySet\",\n \ - \ \"provisioningState\": \"Creating\",\n \"orchestratorVersion\": \"1.15.10\"\ - ,\n \"mode\": \"User\",\n \"osType\": \"Linux\"\n }\n ],\n \ - \ \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \"ssh\"\ - : {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCtHVMJlUrIzCKG0ZIRSM0uhzKwKiRm8h34gromlIGGmDUMleeEeN7qazI6JztCQupmlAiGZF0OatfvYtmOTbqWnA5z8BFDyYzs/BXVeq4TD77eiinLhDkm9wFVSppS+lBpXhx6YTF9K1DhmOQWDcowdBTPFuDujz882DOxFf4Ph+RgFdU2vDKAXUL9z9h4/djLDW/sB5DzHLbK62notFPa6IZLEjL1Ob8updDqQKSv8z5UB83LLYWchZCbt0xuTkrIbDU679fu0rQtdDKyJo/dhO3AUff4T2r5k94dyX2xmAkEb6ytdECboq6NJySJtntRl5SLt0rX2mONW8o5Vfvd\ - \ \\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\"\ - : {\n \"clientId\": \"00000000-0000-0000-0000-000000000000\"\n },\n \ + \ \"provisioningState\": \"Creating\",\n \"orchestratorVersion\": \"1.15.11\"\ + ,\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n \"\ + mode\": \"System\",\n \"osType\": \"Linux\"\n }\n ],\n \"linuxProfile\"\ + : {\n \"adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\"\ + : [\n {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDiOFgDVZSitF+jMxvBpJmYO8ReNVZMG+n996WvKxFfaR9903Zykxrvu7RUqdpZZ0hzzueeLJPJpiGxvk8ur4vnkXJkX7H8fvZZw6EI5PhuD76xXXRdXp9I2dH91oTqJ0Ne/s01K2PcJC+SzkU+icGLsIqP47QVoBL+H1nMapzcZVYYXzPd2u1bJZbGgJZSxEOJenybNY/1qhJGIEhMqLPXcz8QDuqLMrz3WMGLmfwv5SMTzd9ejfRAJ85RXeciTSjUtT37HUDafiql3JxhrrbUkgyuoVMztGp6DvTHb0XKDS06su1jBxQpGuquCKcpJNIa7Z3pJmWSM/b7VahsHzWP\ + \ pmiller@gmail.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\"\ + : {\n \"clientId\": \"709e9be8-2b36-441f-81b5-16bd257fb5cb\"\n },\n \ \ \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n\ \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\"\ : {\n \"networkPlugin\": \"kubenet\",\n \"loadBalancerSku\": \"standard\"\ @@ -106,20 +108,20 @@ interactions: : \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\"\n },\n \"\ aadProfile\": {\n \"managed\": true,\n \"adminGroupObjectIDs\": [\n\ \ \"00000000-0000-0000-0000-000000000001\"\n ],\n \"tenantID\":\ - \ \"00000000-0000-0000-0000-000000000000\"\n },\n \"maxAgentPools\": 1\n\ + \ \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"maxAgentPools\": 1\n\ \ },\n \"sku\": {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n\ \ }" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f89a9d05-d602-4dac-928a-f522e1532b8a?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/727d5391-85d4-46fa-9302-156c5f6d3c3e?api-version=2016-03-30 cache-control: - no-cache content-length: - - '2226' + - '2276' content-type: - application/json date: - - Fri, 20 Mar 2020 13:13:24 GMT + - Thu, 28 May 2020 05:26:39 GMT expires: - '-1' pragma: @@ -131,7 +133,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1194' + - '1199' status: code: 201 message: Created @@ -149,24 +151,24 @@ interactions: ParameterSetName: - --resource-group --name --vm-set-type -c --enable-aad --aad-admin-group-object-ids User-Agent: - - python/3.6.9 (Linux-4.4.0-18362-Microsoft-x86_64-with-Ubuntu-18.04-bionic) - msrest/0.6.11 msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.1 Azure-SDK-For-Python - AZURECLI/2.2.0 + - python/3.6.9 (Linux-4.19.104-microsoft-standard-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.3 Azure-SDK-For-Python + AZURECLI/2.6.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f89a9d05-d602-4dac-928a-f522e1532b8a?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/727d5391-85d4-46fa-9302-156c5f6d3c3e?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"059d9af8-02d6-ac4d-928a-f522e1532b8a\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-03-20T13:13:23.7918109Z\"\n }" + string: "{\n \"name\": \"91537d72-d485-fa46-9302-156c5f6d3c3e\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2020-05-28T05:26:40.042017Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '125' content-type: - application/json date: - - Fri, 20 Mar 2020 13:13:55 GMT + - Thu, 28 May 2020 05:27:11 GMT expires: - '-1' pragma: @@ -198,24 +200,24 @@ interactions: ParameterSetName: - --resource-group --name --vm-set-type -c --enable-aad --aad-admin-group-object-ids User-Agent: - - python/3.6.9 (Linux-4.4.0-18362-Microsoft-x86_64-with-Ubuntu-18.04-bionic) - msrest/0.6.11 msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.1 Azure-SDK-For-Python - AZURECLI/2.2.0 + - python/3.6.9 (Linux-4.19.104-microsoft-standard-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.3 Azure-SDK-For-Python + AZURECLI/2.6.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f89a9d05-d602-4dac-928a-f522e1532b8a?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/727d5391-85d4-46fa-9302-156c5f6d3c3e?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"059d9af8-02d6-ac4d-928a-f522e1532b8a\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-03-20T13:13:23.7918109Z\"\n }" + string: "{\n \"name\": \"91537d72-d485-fa46-9302-156c5f6d3c3e\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2020-05-28T05:26:40.042017Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '125' content-type: - application/json date: - - Fri, 20 Mar 2020 13:14:26 GMT + - Thu, 28 May 2020 05:27:41 GMT expires: - '-1' pragma: @@ -247,24 +249,24 @@ interactions: ParameterSetName: - --resource-group --name --vm-set-type -c --enable-aad --aad-admin-group-object-ids User-Agent: - - python/3.6.9 (Linux-4.4.0-18362-Microsoft-x86_64-with-Ubuntu-18.04-bionic) - msrest/0.6.11 msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.1 Azure-SDK-For-Python - AZURECLI/2.2.0 + - python/3.6.9 (Linux-4.19.104-microsoft-standard-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.3 Azure-SDK-For-Python + AZURECLI/2.6.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f89a9d05-d602-4dac-928a-f522e1532b8a?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/727d5391-85d4-46fa-9302-156c5f6d3c3e?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"059d9af8-02d6-ac4d-928a-f522e1532b8a\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-03-20T13:13:23.7918109Z\"\n }" + string: "{\n \"name\": \"91537d72-d485-fa46-9302-156c5f6d3c3e\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2020-05-28T05:26:40.042017Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '125' content-type: - application/json date: - - Fri, 20 Mar 2020 13:14:57 GMT + - Thu, 28 May 2020 05:28:12 GMT expires: - '-1' pragma: @@ -296,24 +298,24 @@ interactions: ParameterSetName: - --resource-group --name --vm-set-type -c --enable-aad --aad-admin-group-object-ids User-Agent: - - python/3.6.9 (Linux-4.4.0-18362-Microsoft-x86_64-with-Ubuntu-18.04-bionic) - msrest/0.6.11 msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.1 Azure-SDK-For-Python - AZURECLI/2.2.0 + - python/3.6.9 (Linux-4.19.104-microsoft-standard-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.3 Azure-SDK-For-Python + AZURECLI/2.6.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f89a9d05-d602-4dac-928a-f522e1532b8a?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/727d5391-85d4-46fa-9302-156c5f6d3c3e?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"059d9af8-02d6-ac4d-928a-f522e1532b8a\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-03-20T13:13:23.7918109Z\"\n }" + string: "{\n \"name\": \"91537d72-d485-fa46-9302-156c5f6d3c3e\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2020-05-28T05:26:40.042017Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '125' content-type: - application/json date: - - Fri, 20 Mar 2020 13:15:28 GMT + - Thu, 28 May 2020 05:28:41 GMT expires: - '-1' pragma: @@ -345,24 +347,24 @@ interactions: ParameterSetName: - --resource-group --name --vm-set-type -c --enable-aad --aad-admin-group-object-ids User-Agent: - - python/3.6.9 (Linux-4.4.0-18362-Microsoft-x86_64-with-Ubuntu-18.04-bionic) - msrest/0.6.11 msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.1 Azure-SDK-For-Python - AZURECLI/2.2.0 + - python/3.6.9 (Linux-4.19.104-microsoft-standard-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.3 Azure-SDK-For-Python + AZURECLI/2.6.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f89a9d05-d602-4dac-928a-f522e1532b8a?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/727d5391-85d4-46fa-9302-156c5f6d3c3e?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"059d9af8-02d6-ac4d-928a-f522e1532b8a\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-03-20T13:13:23.7918109Z\"\n }" + string: "{\n \"name\": \"91537d72-d485-fa46-9302-156c5f6d3c3e\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2020-05-28T05:26:40.042017Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '125' content-type: - application/json date: - - Fri, 20 Mar 2020 13:16:03 GMT + - Thu, 28 May 2020 05:29:13 GMT expires: - '-1' pragma: @@ -394,24 +396,24 @@ interactions: ParameterSetName: - --resource-group --name --vm-set-type -c --enable-aad --aad-admin-group-object-ids User-Agent: - - python/3.6.9 (Linux-4.4.0-18362-Microsoft-x86_64-with-Ubuntu-18.04-bionic) - msrest/0.6.11 msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.1 Azure-SDK-For-Python - AZURECLI/2.2.0 + - python/3.6.9 (Linux-4.19.104-microsoft-standard-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.3 Azure-SDK-For-Python + AZURECLI/2.6.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f89a9d05-d602-4dac-928a-f522e1532b8a?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/727d5391-85d4-46fa-9302-156c5f6d3c3e?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"059d9af8-02d6-ac4d-928a-f522e1532b8a\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-03-20T13:13:23.7918109Z\"\n }" + string: "{\n \"name\": \"91537d72-d485-fa46-9302-156c5f6d3c3e\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2020-05-28T05:26:40.042017Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '125' content-type: - application/json date: - - Fri, 20 Mar 2020 13:16:35 GMT + - Thu, 28 May 2020 05:29:43 GMT expires: - '-1' pragma: @@ -443,24 +445,25 @@ interactions: ParameterSetName: - --resource-group --name --vm-set-type -c --enable-aad --aad-admin-group-object-ids User-Agent: - - python/3.6.9 (Linux-4.4.0-18362-Microsoft-x86_64-with-Ubuntu-18.04-bionic) - msrest/0.6.11 msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.1 Azure-SDK-For-Python - AZURECLI/2.2.0 + - python/3.6.9 (Linux-4.19.104-microsoft-standard-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.3 Azure-SDK-For-Python + AZURECLI/2.6.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f89a9d05-d602-4dac-928a-f522e1532b8a?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/727d5391-85d4-46fa-9302-156c5f6d3c3e?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"059d9af8-02d6-ac4d-928a-f522e1532b8a\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-03-20T13:13:23.7918109Z\"\n }" + string: "{\n \"name\": \"91537d72-d485-fa46-9302-156c5f6d3c3e\",\n \"status\"\ + : \"Succeeded\",\n \"startTime\": \"2020-05-28T05:26:40.042017Z\",\n \"\ + endTime\": \"2020-05-28T05:29:56.0050552Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '169' content-type: - application/json date: - - Fri, 20 Mar 2020 13:17:05 GMT + - Thu, 28 May 2020 05:30:13 GMT expires: - '-1' pragma: @@ -492,200 +495,52 @@ interactions: ParameterSetName: - --resource-group --name --vm-set-type -c --enable-aad --aad-admin-group-object-ids User-Agent: - - python/3.6.9 (Linux-4.4.0-18362-Microsoft-x86_64-with-Ubuntu-18.04-bionic) - msrest/0.6.11 msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.1 Azure-SDK-For-Python - AZURECLI/2.2.0 + - python/3.6.9 (Linux-4.19.104-microsoft-standard-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.3 Azure-SDK-For-Python + AZURECLI/2.6.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f89a9d05-d602-4dac-928a-f522e1532b8a?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"059d9af8-02d6-ac4d-928a-f522e1532b8a\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-03-20T13:13:23.7918109Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Fri, 20 Mar 2020 13:17:37 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --vm-set-type -c --enable-aad --aad-admin-group-object-ids - User-Agent: - - python/3.6.9 (Linux-4.4.0-18362-Microsoft-x86_64-with-Ubuntu-18.04-bionic) - msrest/0.6.11 msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.1 Azure-SDK-For-Python - AZURECLI/2.2.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f89a9d05-d602-4dac-928a-f522e1532b8a?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"059d9af8-02d6-ac4d-928a-f522e1532b8a\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-03-20T13:13:23.7918109Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Fri, 20 Mar 2020 13:18:07 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --vm-set-type -c --enable-aad --aad-admin-group-object-ids - User-Agent: - - python/3.6.9 (Linux-4.4.0-18362-Microsoft-x86_64-with-Ubuntu-18.04-bionic) - msrest/0.6.11 msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.1 Azure-SDK-For-Python - AZURECLI/2.2.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f89a9d05-d602-4dac-928a-f522e1532b8a?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"059d9af8-02d6-ac4d-928a-f522e1532b8a\",\n \"status\"\ - : \"Succeeded\",\n \"startTime\": \"2020-03-20T13:13:23.7918109Z\",\n \"\ - endTime\": \"2020-03-20T13:18:34.24237Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '168' - content-type: - - application/json - date: - - Fri, 20 Mar 2020 13:18:39 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --vm-set-type -c --enable-aad --aad-admin-group-object-ids - User-Agent: - - python/3.6.9 (Linux-4.4.0-18362-Microsoft-x86_64-with-Ubuntu-18.04-bionic) - msrest/0.6.11 msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.1 Azure-SDK-For-Python - AZURECLI/2.2.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2020-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2020-04-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\"\ ,\n \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\"\ : \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \ - \ \"provisioningState\": \"Succeeded\",\n \"kubernetesVersion\": \"1.15.10\"\ - ,\n \"dnsPrefix\": \"cliakstest-clitestlqut5pijr-8ecadf\",\n \"fqdn\"\ - : \"cliakstest-clitestlqut5pijr-8ecadf-6c5f8247.hcp.westus2.staging.azmk8s.io\"\ - ,\n \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \ - \ \"count\": 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\"\ + \ \"provisioningState\": \"Succeeded\",\n \"kubernetesVersion\": \"1.15.11\"\ + ,\n \"dnsPrefix\": \"cliakstest-clitestvouk66jlj-c10894\",\n \"fqdn\"\ + : \"cliakstest-clitestvouk66jlj-c10894-ece69997.hcp.westus2.azmk8s.io\",\n\ + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"\ + count\": 1,\n \"vmSize\": \"Standard_D2s_v3\",\n \"osDiskSizeGB\"\ : 100,\n \"maxPods\": 110,\n \"type\": \"AvailabilitySet\",\n \ \ \"provisioningState\": \"Succeeded\",\n \"orchestratorVersion\": \"\ - 1.15.10\",\n \"mode\": \"User\",\n \"osType\": \"Linux\"\n }\n\ - \ ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \ - \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa\ - \ AAAAB3NzaC1yc2EAAAADAQABAAABAQCtHVMJlUrIzCKG0ZIRSM0uhzKwKiRm8h34gromlIGGmDUMleeEeN7qazI6JztCQupmlAiGZF0OatfvYtmOTbqWnA5z8BFDyYzs/BXVeq4TD77eiinLhDkm9wFVSppS+lBpXhx6YTF9K1DhmOQWDcowdBTPFuDujz882DOxFf4Ph+RgFdU2vDKAXUL9z9h4/djLDW/sB5DzHLbK62notFPa6IZLEjL1Ob8updDqQKSv8z5UB83LLYWchZCbt0xuTkrIbDU679fu0rQtdDKyJo/dhO3AUff4T2r5k94dyX2xmAkEb6ytdECboq6NJySJtntRl5SLt0rX2mONW8o5Vfvd\ - \ \\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\"\ - : {\n \"clientId\": \"00000000-0000-0000-0000-000000000000\"\n },\n \ + 1.15.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n\ + \ \"mode\": \"System\",\n \"osType\": \"Linux\"\n }\n ],\n \ + \ \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \"ssh\"\ + : {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDiOFgDVZSitF+jMxvBpJmYO8ReNVZMG+n996WvKxFfaR9903Zykxrvu7RUqdpZZ0hzzueeLJPJpiGxvk8ur4vnkXJkX7H8fvZZw6EI5PhuD76xXXRdXp9I2dH91oTqJ0Ne/s01K2PcJC+SzkU+icGLsIqP47QVoBL+H1nMapzcZVYYXzPd2u1bJZbGgJZSxEOJenybNY/1qhJGIEhMqLPXcz8QDuqLMrz3WMGLmfwv5SMTzd9ejfRAJ85RXeciTSjUtT37HUDafiql3JxhrrbUkgyuoVMztGp6DvTHb0XKDS06su1jBxQpGuquCKcpJNIa7Z3pJmWSM/b7VahsHzWP\ + \ pmiller@gmail.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\"\ + : {\n \"clientId\": \"709e9be8-2b36-441f-81b5-16bd257fb5cb\"\n },\n \ \ \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n\ \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\"\ : {\n \"networkPlugin\": \"kubenet\",\n \"loadBalancerSku\": \"Standard\"\ ,\n \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"\ count\": 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"\ - id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/a5f154b5-ff37-4502-8e5a-2f4398e719df\"\ + id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/3e0ca7a7-7c0b-4d4f-8f8c-786347dcc849\"\ \n }\n ]\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\"\ : \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\"\ : \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\"\n },\n \"\ aadProfile\": {\n \"managed\": true,\n \"adminGroupObjectIDs\": [\n\ \ \"00000000-0000-0000-0000-000000000001\"\n ],\n \"tenantID\":\ - \ \"00000000-0000-0000-0000-000000000000\"\n },\n \"maxAgentPools\": 1\n\ + \ \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"maxAgentPools\": 1\n\ \ },\n \"sku\": {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n\ \ }" headers: cache-control: - no-cache content-length: - - '2494' + - '2544' content-type: - application/json date: - - Fri, 20 Mar 2020 13:18:43 GMT + - Thu, 28 May 2020 05:30:14 GMT expires: - '-1' pragma: @@ -717,54 +572,54 @@ interactions: ParameterSetName: - --resource-group --name --aad-admin-group-object-ids --aad-tenant-id User-Agent: - - python/3.6.9 (Linux-4.4.0-18362-Microsoft-x86_64-with-Ubuntu-18.04-bionic) - msrest/0.6.11 msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.1 Azure-SDK-For-Python - AZURECLI/2.2.0 + - python/3.6.9 (Linux-4.19.104-microsoft-standard-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.3 Azure-SDK-For-Python + AZURECLI/2.6.0 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2020-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2020-04-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\"\ ,\n \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\"\ : \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \ - \ \"provisioningState\": \"Succeeded\",\n \"kubernetesVersion\": \"1.15.10\"\ - ,\n \"dnsPrefix\": \"cliakstest-clitestlqut5pijr-8ecadf\",\n \"fqdn\"\ - : \"cliakstest-clitestlqut5pijr-8ecadf-6c5f8247.hcp.westus2.staging.azmk8s.io\"\ - ,\n \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \ - \ \"count\": 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\"\ + \ \"provisioningState\": \"Succeeded\",\n \"kubernetesVersion\": \"1.15.11\"\ + ,\n \"dnsPrefix\": \"cliakstest-clitestvouk66jlj-c10894\",\n \"fqdn\"\ + : \"cliakstest-clitestvouk66jlj-c10894-ece69997.hcp.westus2.azmk8s.io\",\n\ + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"\ + count\": 1,\n \"vmSize\": \"Standard_D2s_v3\",\n \"osDiskSizeGB\"\ : 100,\n \"maxPods\": 110,\n \"type\": \"AvailabilitySet\",\n \ \ \"provisioningState\": \"Succeeded\",\n \"orchestratorVersion\": \"\ - 1.15.10\",\n \"mode\": \"User\",\n \"osType\": \"Linux\"\n }\n\ - \ ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \ - \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa\ - \ AAAAB3NzaC1yc2EAAAADAQABAAABAQCtHVMJlUrIzCKG0ZIRSM0uhzKwKiRm8h34gromlIGGmDUMleeEeN7qazI6JztCQupmlAiGZF0OatfvYtmOTbqWnA5z8BFDyYzs/BXVeq4TD77eiinLhDkm9wFVSppS+lBpXhx6YTF9K1DhmOQWDcowdBTPFuDujz882DOxFf4Ph+RgFdU2vDKAXUL9z9h4/djLDW/sB5DzHLbK62notFPa6IZLEjL1Ob8updDqQKSv8z5UB83LLYWchZCbt0xuTkrIbDU679fu0rQtdDKyJo/dhO3AUff4T2r5k94dyX2xmAkEb6ytdECboq6NJySJtntRl5SLt0rX2mONW8o5Vfvd\ - \ \\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\"\ - : {\n \"clientId\": \"00000000-0000-0000-0000-000000000000\"\n },\n \ + 1.15.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n\ + \ \"mode\": \"System\",\n \"osType\": \"Linux\"\n }\n ],\n \ + \ \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \"ssh\"\ + : {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDiOFgDVZSitF+jMxvBpJmYO8ReNVZMG+n996WvKxFfaR9903Zykxrvu7RUqdpZZ0hzzueeLJPJpiGxvk8ur4vnkXJkX7H8fvZZw6EI5PhuD76xXXRdXp9I2dH91oTqJ0Ne/s01K2PcJC+SzkU+icGLsIqP47QVoBL+H1nMapzcZVYYXzPd2u1bJZbGgJZSxEOJenybNY/1qhJGIEhMqLPXcz8QDuqLMrz3WMGLmfwv5SMTzd9ejfRAJ85RXeciTSjUtT37HUDafiql3JxhrrbUkgyuoVMztGp6DvTHb0XKDS06su1jBxQpGuquCKcpJNIa7Z3pJmWSM/b7VahsHzWP\ + \ pmiller@gmail.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\"\ + : {\n \"clientId\": \"709e9be8-2b36-441f-81b5-16bd257fb5cb\"\n },\n \ \ \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n\ \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\"\ : {\n \"networkPlugin\": \"kubenet\",\n \"loadBalancerSku\": \"Standard\"\ ,\n \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"\ count\": 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"\ - id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/a5f154b5-ff37-4502-8e5a-2f4398e719df\"\ + id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/3e0ca7a7-7c0b-4d4f-8f8c-786347dcc849\"\ \n }\n ]\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\"\ : \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\"\ : \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\"\n },\n \"\ aadProfile\": {\n \"managed\": true,\n \"adminGroupObjectIDs\": [\n\ \ \"00000000-0000-0000-0000-000000000001\"\n ],\n \"tenantID\":\ - \ \"00000000-0000-0000-0000-000000000000\"\n },\n \"maxAgentPools\": 1\n\ + \ \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"maxAgentPools\": 1\n\ \ },\n \"sku\": {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n\ \ }" headers: cache-control: - no-cache content-length: - - '2494' + - '2544' content-type: - application/json date: - - Fri, 20 Mar 2020 13:18:45 GMT + - Thu, 28 May 2020 05:30:15 GMT expires: - '-1' pragma: @@ -783,21 +638,23 @@ interactions: code: 200 message: OK - request: - body: 'b''{"location": "westus2", "properties": {"kubernetesVersion": "1.15.10", - "dnsPrefix": "cliakstest-clitestlqut5pijr-8ecadf", "agentPoolProfiles": [{"count": - 1, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": 100, "maxPods": 110, "osType": - "Linux", "type": "AvailabilitySet", "orchestratorVersion": "1.15.10", "name": - "nodepool1"}], "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": - [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCtHVMJlUrIzCKG0ZIRSM0uhzKwKiRm8h34gromlIGGmDUMleeEeN7qazI6JztCQupmlAiGZF0OatfvYtmOTbqWnA5z8BFDyYzs/BXVeq4TD77eiinLhDkm9wFVSppS+lBpXhx6YTF9K1DhmOQWDcowdBTPFuDujz882DOxFf4Ph+RgFdU2vDKAXUL9z9h4/djLDW/sB5DzHLbK62notFPa6IZLEjL1Ob8updDqQKSv8z5UB83LLYWchZCbt0xuTkrIbDU679fu0rQtdDKyJo/dhO3AUff4T2r5k94dyX2xmAkEb6ytdECboq6NJySJtntRl5SLt0rX2mONW8o5Vfvd - \\n"}]}}, "servicePrincipalProfile": {"clientId": "00000000-0000-0000-0000-000000000000"}, + body: 'b''{"location": "westus2", "properties": {"kubernetesVersion": "1.15.11", + "dnsPrefix": "cliakstest-clitestvouk66jlj-c10894", "agentPoolProfiles": [{"count": + 1, "vmSize": "Standard_D2s_v3", "osDiskSizeGB": 100, "maxPods": 110, "osType": + "Linux", "type": "AvailabilitySet", "mode": "System", "orchestratorVersion": + "1.15.11", "enableNodePublicIP": false, "nodeLabels": {}, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDiOFgDVZSitF+jMxvBpJmYO8ReNVZMG+n996WvKxFfaR9903Zykxrvu7RUqdpZZ0hzzueeLJPJpiGxvk8ur4vnkXJkX7H8fvZZw6EI5PhuD76xXXRdXp9I2dH91oTqJ0Ne/s01K2PcJC+SzkU+icGLsIqP47QVoBL+H1nMapzcZVYYXzPd2u1bJZbGgJZSxEOJenybNY/1qhJGIEhMqLPXcz8QDuqLMrz3WMGLmfwv5SMTzd9ejfRAJ85RXeciTSjUtT37HUDafiql3JxhrrbUkgyuoVMztGp6DvTHb0XKDS06su1jBxQpGuquCKcpJNIa7Z3pJmWSM/b7VahsHzWP + pmiller@gmail.com\\n"}]}}, "servicePrincipalProfile": {"clientId": "709e9be8-2b36-441f-81b5-16bd257fb5cb"}, "nodeResourceGroup": "MC_clitest000001_cliakstest000002_westus2", "enableRBAC": true, "enablePodSecurityPolicy": false, "networkProfile": {"networkPlugin": "kubenet", "podCidr": "10.244.0.0/16", "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", "dockerBridgeCidr": "172.17.0.1/16", "outboundType": "loadBalancer", "loadBalancerSku": "Standard", "loadBalancerProfile": {"managedOutboundIPs": - {"count": 1}, "effectiveOutboundIPs": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/a5f154b5-ff37-4502-8e5a-2f4398e719df"}]}}, + {"count": 1}, "effectiveOutboundIPs": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/3e0ca7a7-7c0b-4d4f-8f8c-786347dcc849"}]}}, "aadProfile": {"managed": true, "adminGroupObjectIDs": ["00000000-0000-0000-0000-000000000002"], - "tenantID": "00000000-0000-0000-0000-000000000003"}, "autoScalerProfile": {}}}''' + "tenantID": "00000000-0000-0000-0000-000000000003"}}, "sku": {"name": "Basic", + "tier": "Free"}}''' headers: Accept: - application/json @@ -808,42 +665,43 @@ interactions: Connection: - keep-alive Content-Length: - - '1726' + - '1807' Content-Type: - application/json; charset=utf-8 ParameterSetName: - --resource-group --name --aad-admin-group-object-ids --aad-tenant-id User-Agent: - - python/3.6.9 (Linux-4.4.0-18362-Microsoft-x86_64-with-Ubuntu-18.04-bionic) - msrest/0.6.11 msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.1 Azure-SDK-For-Python - AZURECLI/2.2.0 + - python/3.6.9 (Linux-4.19.104-microsoft-standard-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.3 Azure-SDK-For-Python + AZURECLI/2.6.0 accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2020-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2020-04-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\"\ ,\n \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\"\ : \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \ - \ \"provisioningState\": \"Updating\",\n \"kubernetesVersion\": \"1.15.10\"\ - ,\n \"dnsPrefix\": \"cliakstest-clitestlqut5pijr-8ecadf\",\n \"fqdn\"\ - : \"cliakstest-clitestlqut5pijr-8ecadf-6c5f8247.hcp.westus2.staging.azmk8s.io\"\ - ,\n \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \ - \ \"count\": 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\"\ + \ \"provisioningState\": \"Updating\",\n \"kubernetesVersion\": \"1.15.11\"\ + ,\n \"dnsPrefix\": \"cliakstest-clitestvouk66jlj-c10894\",\n \"fqdn\"\ + : \"cliakstest-clitestvouk66jlj-c10894-ece69997.hcp.westus2.azmk8s.io\",\n\ + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"\ + count\": 1,\n \"vmSize\": \"Standard_D2s_v3\",\n \"osDiskSizeGB\"\ : 100,\n \"maxPods\": 110,\n \"type\": \"AvailabilitySet\",\n \ - \ \"provisioningState\": \"Updating\",\n \"orchestratorVersion\": \"1.15.10\"\ - ,\n \"mode\": \"User\",\n \"osType\": \"Linux\"\n }\n ],\n \ - \ \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \"ssh\"\ - : {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCtHVMJlUrIzCKG0ZIRSM0uhzKwKiRm8h34gromlIGGmDUMleeEeN7qazI6JztCQupmlAiGZF0OatfvYtmOTbqWnA5z8BFDyYzs/BXVeq4TD77eiinLhDkm9wFVSppS+lBpXhx6YTF9K1DhmOQWDcowdBTPFuDujz882DOxFf4Ph+RgFdU2vDKAXUL9z9h4/djLDW/sB5DzHLbK62notFPa6IZLEjL1Ob8updDqQKSv8z5UB83LLYWchZCbt0xuTkrIbDU679fu0rQtdDKyJo/dhO3AUff4T2r5k94dyX2xmAkEb6ytdECboq6NJySJtntRl5SLt0rX2mONW8o5Vfvd\ - \ \\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\"\ - : {\n \"clientId\": \"00000000-0000-0000-0000-000000000000\"\n },\n \ + \ \"provisioningState\": \"Updating\",\n \"orchestratorVersion\": \"1.15.11\"\ + ,\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n \"\ + mode\": \"System\",\n \"osType\": \"Linux\"\n }\n ],\n \"linuxProfile\"\ + : {\n \"adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\"\ + : [\n {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDiOFgDVZSitF+jMxvBpJmYO8ReNVZMG+n996WvKxFfaR9903Zykxrvu7RUqdpZZ0hzzueeLJPJpiGxvk8ur4vnkXJkX7H8fvZZw6EI5PhuD76xXXRdXp9I2dH91oTqJ0Ne/s01K2PcJC+SzkU+icGLsIqP47QVoBL+H1nMapzcZVYYXzPd2u1bJZbGgJZSxEOJenybNY/1qhJGIEhMqLPXcz8QDuqLMrz3WMGLmfwv5SMTzd9ejfRAJ85RXeciTSjUtT37HUDafiql3JxhrrbUkgyuoVMztGp6DvTHb0XKDS06su1jBxQpGuquCKcpJNIa7Z3pJmWSM/b7VahsHzWP\ + \ pmiller@gmail.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\"\ + : {\n \"clientId\": \"709e9be8-2b36-441f-81b5-16bd257fb5cb\"\n },\n \ \ \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n\ \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\"\ : {\n \"networkPlugin\": \"kubenet\",\n \"loadBalancerSku\": \"Standard\"\ ,\n \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"\ count\": 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"\ - id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/a5f154b5-ff37-4502-8e5a-2f4398e719df\"\ + id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/3e0ca7a7-7c0b-4d4f-8f8c-786347dcc849\"\ \n }\n ]\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\"\ : \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\"\ : \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\"\n },\n \"\ @@ -854,15 +712,15 @@ interactions: \ }" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f5de14a2-0965-45de-ad62-3baec9baaa64?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/dfbe2500-faf4-4cce-88d4-ba289027a480?api-version=2016-03-30 cache-control: - no-cache content-length: - - '2492' + - '2542' content-type: - application/json date: - - Fri, 20 Mar 2020 13:18:52 GMT + - Thu, 28 May 2020 05:30:23 GMT expires: - '-1' pragma: @@ -878,7 +736,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1196' + - '1199' status: code: 200 message: OK @@ -896,15 +754,15 @@ interactions: ParameterSetName: - --resource-group --name --aad-admin-group-object-ids --aad-tenant-id User-Agent: - - python/3.6.9 (Linux-4.4.0-18362-Microsoft-x86_64-with-Ubuntu-18.04-bionic) - msrest/0.6.11 msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.1 Azure-SDK-For-Python - AZURECLI/2.2.0 + - python/3.6.9 (Linux-4.19.104-microsoft-standard-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.3 Azure-SDK-For-Python + AZURECLI/2.6.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f5de14a2-0965-45de-ad62-3baec9baaa64?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/dfbe2500-faf4-4cce-88d4-ba289027a480?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"a214def5-6509-de45-ad62-3baec9baaa64\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-03-20T13:18:50.7925156Z\"\n }" + string: "{\n \"name\": \"0025bedf-f4fa-ce4c-88d4-ba289027a480\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2020-05-28T05:30:23.3018282Z\"\n }" headers: cache-control: - no-cache @@ -913,7 +771,7 @@ interactions: content-type: - application/json date: - - Fri, 20 Mar 2020 13:19:23 GMT + - Thu, 28 May 2020 05:30:53 GMT expires: - '-1' pragma: @@ -945,15 +803,15 @@ interactions: ParameterSetName: - --resource-group --name --aad-admin-group-object-ids --aad-tenant-id User-Agent: - - python/3.6.9 (Linux-4.4.0-18362-Microsoft-x86_64-with-Ubuntu-18.04-bionic) - msrest/0.6.11 msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.1 Azure-SDK-For-Python - AZURECLI/2.2.0 + - python/3.6.9 (Linux-4.19.104-microsoft-standard-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.3 Azure-SDK-For-Python + AZURECLI/2.6.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f5de14a2-0965-45de-ad62-3baec9baaa64?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/dfbe2500-faf4-4cce-88d4-ba289027a480?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"a214def5-6509-de45-ad62-3baec9baaa64\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-03-20T13:18:50.7925156Z\"\n }" + string: "{\n \"name\": \"0025bedf-f4fa-ce4c-88d4-ba289027a480\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2020-05-28T05:30:23.3018282Z\"\n }" headers: cache-control: - no-cache @@ -962,7 +820,7 @@ interactions: content-type: - application/json date: - - Fri, 20 Mar 2020 13:19:54 GMT + - Thu, 28 May 2020 05:31:23 GMT expires: - '-1' pragma: @@ -994,15 +852,15 @@ interactions: ParameterSetName: - --resource-group --name --aad-admin-group-object-ids --aad-tenant-id User-Agent: - - python/3.6.9 (Linux-4.4.0-18362-Microsoft-x86_64-with-Ubuntu-18.04-bionic) - msrest/0.6.11 msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.1 Azure-SDK-For-Python - AZURECLI/2.2.0 + - python/3.6.9 (Linux-4.19.104-microsoft-standard-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.3 Azure-SDK-For-Python + AZURECLI/2.6.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f5de14a2-0965-45de-ad62-3baec9baaa64?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/dfbe2500-faf4-4cce-88d4-ba289027a480?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"a214def5-6509-de45-ad62-3baec9baaa64\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-03-20T13:18:50.7925156Z\"\n }" + string: "{\n \"name\": \"0025bedf-f4fa-ce4c-88d4-ba289027a480\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2020-05-28T05:30:23.3018282Z\"\n }" headers: cache-control: - no-cache @@ -1011,7 +869,7 @@ interactions: content-type: - application/json date: - - Fri, 20 Mar 2020 13:20:25 GMT + - Thu, 28 May 2020 05:31:55 GMT expires: - '-1' pragma: @@ -1043,25 +901,25 @@ interactions: ParameterSetName: - --resource-group --name --aad-admin-group-object-ids --aad-tenant-id User-Agent: - - python/3.6.9 (Linux-4.4.0-18362-Microsoft-x86_64-with-Ubuntu-18.04-bionic) - msrest/0.6.11 msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.1 Azure-SDK-For-Python - AZURECLI/2.2.0 + - python/3.6.9 (Linux-4.19.104-microsoft-standard-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.3 Azure-SDK-For-Python + AZURECLI/2.6.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f5de14a2-0965-45de-ad62-3baec9baaa64?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/dfbe2500-faf4-4cce-88d4-ba289027a480?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"a214def5-6509-de45-ad62-3baec9baaa64\",\n \"status\"\ - : \"Succeeded\",\n \"startTime\": \"2020-03-20T13:18:50.7925156Z\",\n \"\ - endTime\": \"2020-03-20T13:20:47.5513407Z\"\n }" + string: "{\n \"name\": \"0025bedf-f4fa-ce4c-88d4-ba289027a480\",\n \"status\"\ + : \"Succeeded\",\n \"startTime\": \"2020-05-28T05:30:23.3018282Z\",\n \"\ + endTime\": \"2020-05-28T05:32:09.892309Z\"\n }" headers: cache-control: - no-cache content-length: - - '170' + - '169' content-type: - application/json date: - - Fri, 20 Mar 2020 13:20:56 GMT + - Thu, 28 May 2020 05:32:25 GMT expires: - '-1' pragma: @@ -1093,35 +951,35 @@ interactions: ParameterSetName: - --resource-group --name --aad-admin-group-object-ids --aad-tenant-id User-Agent: - - python/3.6.9 (Linux-4.4.0-18362-Microsoft-x86_64-with-Ubuntu-18.04-bionic) - msrest/0.6.11 msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.1 Azure-SDK-For-Python - AZURECLI/2.2.0 + - python/3.6.9 (Linux-4.19.104-microsoft-standard-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.3 Azure-SDK-For-Python + AZURECLI/2.6.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2020-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2020-04-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\"\ ,\n \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\"\ : \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \ - \ \"provisioningState\": \"Succeeded\",\n \"kubernetesVersion\": \"1.15.10\"\ - ,\n \"dnsPrefix\": \"cliakstest-clitestlqut5pijr-8ecadf\",\n \"fqdn\"\ - : \"cliakstest-clitestlqut5pijr-8ecadf-6c5f8247.hcp.westus2.staging.azmk8s.io\"\ - ,\n \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \ - \ \"count\": 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\"\ + \ \"provisioningState\": \"Succeeded\",\n \"kubernetesVersion\": \"1.15.11\"\ + ,\n \"dnsPrefix\": \"cliakstest-clitestvouk66jlj-c10894\",\n \"fqdn\"\ + : \"cliakstest-clitestvouk66jlj-c10894-ece69997.hcp.westus2.azmk8s.io\",\n\ + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"\ + count\": 1,\n \"vmSize\": \"Standard_D2s_v3\",\n \"osDiskSizeGB\"\ : 100,\n \"maxPods\": 110,\n \"type\": \"AvailabilitySet\",\n \ \ \"provisioningState\": \"Succeeded\",\n \"orchestratorVersion\": \"\ - 1.15.10\",\n \"mode\": \"User\",\n \"osType\": \"Linux\"\n }\n\ - \ ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \ - \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa\ - \ AAAAB3NzaC1yc2EAAAADAQABAAABAQCtHVMJlUrIzCKG0ZIRSM0uhzKwKiRm8h34gromlIGGmDUMleeEeN7qazI6JztCQupmlAiGZF0OatfvYtmOTbqWnA5z8BFDyYzs/BXVeq4TD77eiinLhDkm9wFVSppS+lBpXhx6YTF9K1DhmOQWDcowdBTPFuDujz882DOxFf4Ph+RgFdU2vDKAXUL9z9h4/djLDW/sB5DzHLbK62notFPa6IZLEjL1Ob8updDqQKSv8z5UB83LLYWchZCbt0xuTkrIbDU679fu0rQtdDKyJo/dhO3AUff4T2r5k94dyX2xmAkEb6ytdECboq6NJySJtntRl5SLt0rX2mONW8o5Vfvd\ - \ \\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\"\ - : {\n \"clientId\": \"00000000-0000-0000-0000-000000000000\"\n },\n \ + 1.15.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n\ + \ \"mode\": \"System\",\n \"osType\": \"Linux\"\n }\n ],\n \ + \ \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \"ssh\"\ + : {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDiOFgDVZSitF+jMxvBpJmYO8ReNVZMG+n996WvKxFfaR9903Zykxrvu7RUqdpZZ0hzzueeLJPJpiGxvk8ur4vnkXJkX7H8fvZZw6EI5PhuD76xXXRdXp9I2dH91oTqJ0Ne/s01K2PcJC+SzkU+icGLsIqP47QVoBL+H1nMapzcZVYYXzPd2u1bJZbGgJZSxEOJenybNY/1qhJGIEhMqLPXcz8QDuqLMrz3WMGLmfwv5SMTzd9ejfRAJ85RXeciTSjUtT37HUDafiql3JxhrrbUkgyuoVMztGp6DvTHb0XKDS06su1jBxQpGuquCKcpJNIa7Z3pJmWSM/b7VahsHzWP\ + \ pmiller@gmail.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\"\ + : {\n \"clientId\": \"709e9be8-2b36-441f-81b5-16bd257fb5cb\"\n },\n \ \ \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n\ \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\"\ : {\n \"networkPlugin\": \"kubenet\",\n \"loadBalancerSku\": \"Standard\"\ ,\n \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"\ count\": 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"\ - id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/a5f154b5-ff37-4502-8e5a-2f4398e719df\"\ + id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/3e0ca7a7-7c0b-4d4f-8f8c-786347dcc849\"\ \n }\n ]\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\"\ : \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\"\ : \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\"\n },\n \"\ @@ -1134,11 +992,11 @@ interactions: cache-control: - no-cache content-length: - - '2494' + - '2544' content-type: - application/json date: - - Fri, 20 Mar 2020 13:20:57 GMT + - Thu, 28 May 2020 05:32:26 GMT expires: - '-1' pragma: diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_ingress_appgw_addon.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_ingress_appgw_addon.yaml new file mode 100644 index 00000000000..dcd8244149a --- /dev/null +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_ingress_appgw_addon.yaml @@ -0,0 +1,662 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-managed-identity -a --appgw-subnet-prefix + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2019-07-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001","name":"clitest000001","type":"Microsoft.Resources/resourceGroups","location":"westus2","tags":{"product":"azurecli","cause":"automation","date":"2020-05-26T08:00:30Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '313' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 26 May 2020 08:00:32 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"location": "westus2", "properties": {"kubernetesVersion": "", "dnsPrefix": + "cliakstest-clitestpkjlbt2tz-86501d", "agentPoolProfiles": [{"count": 3, "vmSize": + "Standard_DS2_v2", "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": + "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": + "Delete", "name": "nodepool1"}], "linuxProfile": {"adminUsername": "azureuser", + "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDdabawEfwOujYnckZRvvkrcqoR+c2bLuoiOddqujUWHu+fBTEwDd8nB0vBemdGLNHmo7B3qpXyq9pcplUaGYzCmRZtnYy35UOtCinMqyT3mIJshJA1cIw70nFJbr2gvDl+XXtxmd59k5bWMUjzNdynurjhcA53b1fMHTFXSd5ugtbJ4SyZxPkNWxRtJ9Dg2RslMZ+3ZA9y8iAAMxnX85HpG1UMpwzvEM/jPoFd43UYB5TFZIRAcvlkZTQKaBtFW+Khg7Jx5C3iyPzSMAgDzS4WsJBCfABpJ8nnGzBEi/orhFydtkE/zsXOEMY8ppUpnBLN+LXD1gqWhEYRLF7atYd3 + vsonline@c541134d8e01\n"}]}}, "servicePrincipalProfile": {"clientId": "xxxx", + "secret": "yyyy"}, "addonProfiles": {"IngressApplicationGateway": + {"enabled": true, "config": {"subnetPrefix": "10.2.0.0/16"}}}, "enableRBAC": + true, "enablePodSecurityPolicy": false, "networkProfile": {"networkPlugin": + "kubenet", "podCidr": "10.244.0.0/16", "serviceCidr": "10.0.0.0/16", "dnsServiceIP": + "10.0.0.10", "dockerBridgeCidr": "172.17.0.1/16", "outboundType": "loadBalancer", + "loadBalancerSku": "standard"}}, "identity": {"type": "SystemAssigned"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + Content-Length: + - '1419' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - --resource-group --name --enable-managed-identity -a --appgw-subnet-prefix + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-mgmt-containerservice/4.4.2 Azure-SDK-For-Python + AZURECLI/2.6.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2020-04-01 + response: + body: + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n + \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": + \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": + \"Creating\",\n \"kubernetesVersion\": \"1.15.11\",\n \"dnsPrefix\": \"cliakstest-clitestpkjlbt2tz-86501d\",\n + \ \"fqdn\": \"cliakstest-clitestpkjlbt2tz-86501d-c53108b5.hcp.westus2.staging.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": + 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 100,\n \"maxPods\": + 110,\n \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": + \"Creating\",\n \"orchestratorVersion\": \"1.15.11\",\n \"enableNodePublicIP\": + false,\n \"nodeLabels\": {},\n \"mode\": \"System\",\n \"osType\": + \"Linux\"\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDdabawEfwOujYnckZRvvkrcqoR+c2bLuoiOddqujUWHu+fBTEwDd8nB0vBemdGLNHmo7B3qpXyq9pcplUaGYzCmRZtnYy35UOtCinMqyT3mIJshJA1cIw70nFJbr2gvDl+XXtxmd59k5bWMUjzNdynurjhcA53b1fMHTFXSd5ugtbJ4SyZxPkNWxRtJ9Dg2RslMZ+3ZA9y8iAAMxnX85HpG1UMpwzvEM/jPoFd43UYB5TFZIRAcvlkZTQKaBtFW+Khg7Jx5C3iyPzSMAgDzS4WsJBCfABpJ8nnGzBEi/orhFydtkE/zsXOEMY8ppUpnBLN+LXD1gqWhEYRLF7atYd3 + vsonline@c541134d8e01\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\": \"msi\"\n },\n \"addonProfiles\": {\n \"IngressApplicationGateway\": + {\n \"enabled\": true,\n \"config\": {\n \"subnetPrefix\": \"10.2.0.0/16\"\n + \ }\n }\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n + \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": + {\n \"networkPlugin\": \"kubenet\",\n \"loadBalancerSku\": \"standard\",\n + \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": + 1\n }\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\": + \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\"\n },\n \"maxAgentPools\": + 10\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\": + \"70523232-bb3c-4694-b82a-7e971bb2cef3\",\n \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n + \ },\n \"sku\": {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n + }" + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/97a7266c-1e3c-4257-bbd0-942292722726?api-version=2016-03-30 + cache-control: + - no-cache + content-length: + - '2396' + content-type: + - application/json + date: + - Tue, 26 May 2020 08:00:38 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1195' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-managed-identity -a --appgw-subnet-prefix + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-mgmt-containerservice/4.4.2 Azure-SDK-For-Python + AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/97a7266c-1e3c-4257-bbd0-942292722726?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"6c26a797-3c1e-5742-bbd0-942292722726\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2020-05-26T08:00:38.9417851Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Tue, 26 May 2020 08:01:08 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-managed-identity -a --appgw-subnet-prefix + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-mgmt-containerservice/4.4.2 Azure-SDK-For-Python + AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/97a7266c-1e3c-4257-bbd0-942292722726?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"6c26a797-3c1e-5742-bbd0-942292722726\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2020-05-26T08:00:38.9417851Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Tue, 26 May 2020 08:01:38 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-managed-identity -a --appgw-subnet-prefix + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-mgmt-containerservice/4.4.2 Azure-SDK-For-Python + AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/97a7266c-1e3c-4257-bbd0-942292722726?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"6c26a797-3c1e-5742-bbd0-942292722726\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2020-05-26T08:00:38.9417851Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Tue, 26 May 2020 08:02:08 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-managed-identity -a --appgw-subnet-prefix + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-mgmt-containerservice/4.4.2 Azure-SDK-For-Python + AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/97a7266c-1e3c-4257-bbd0-942292722726?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"6c26a797-3c1e-5742-bbd0-942292722726\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2020-05-26T08:00:38.9417851Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Tue, 26 May 2020 08:02:39 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-managed-identity -a --appgw-subnet-prefix + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-mgmt-containerservice/4.4.2 Azure-SDK-For-Python + AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/97a7266c-1e3c-4257-bbd0-942292722726?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"6c26a797-3c1e-5742-bbd0-942292722726\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2020-05-26T08:00:38.9417851Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Tue, 26 May 2020 08:03:09 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-managed-identity -a --appgw-subnet-prefix + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-mgmt-containerservice/4.4.2 Azure-SDK-For-Python + AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/97a7266c-1e3c-4257-bbd0-942292722726?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"6c26a797-3c1e-5742-bbd0-942292722726\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2020-05-26T08:00:38.9417851Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Tue, 26 May 2020 08:03:38 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-managed-identity -a --appgw-subnet-prefix + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-mgmt-containerservice/4.4.2 Azure-SDK-For-Python + AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/97a7266c-1e3c-4257-bbd0-942292722726?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"6c26a797-3c1e-5742-bbd0-942292722726\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2020-05-26T08:00:38.9417851Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Tue, 26 May 2020 08:04:09 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-managed-identity -a --appgw-subnet-prefix + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-mgmt-containerservice/4.4.2 Azure-SDK-For-Python + AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/97a7266c-1e3c-4257-bbd0-942292722726?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"6c26a797-3c1e-5742-bbd0-942292722726\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2020-05-26T08:00:38.9417851Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Tue, 26 May 2020 08:04:39 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-managed-identity -a --appgw-subnet-prefix + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-mgmt-containerservice/4.4.2 Azure-SDK-For-Python + AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/97a7266c-1e3c-4257-bbd0-942292722726?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"6c26a797-3c1e-5742-bbd0-942292722726\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2020-05-26T08:00:38.9417851Z\",\n \"endTime\": + \"2020-05-26T08:05:05.8214144Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '170' + content-type: + - application/json + date: + - Tue, 26 May 2020 08:05:09 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-managed-identity -a --appgw-subnet-prefix + User-Agent: + - python/3.8.0 (Linux-5.3.0-1020-azure-x86_64-with-glibc2.2.5) msrest/0.6.11 + msrest_azure/0.6.2 azure-mgmt-containerservice/4.4.2 Azure-SDK-For-Python + AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2020-04-01 + response: + body: + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n + \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": + \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": + \"Succeeded\",\n \"kubernetesVersion\": \"1.15.11\",\n \"dnsPrefix\": + \"cliakstest-clitestpkjlbt2tz-86501d\",\n \"fqdn\": \"cliakstest-clitestpkjlbt2tz-86501d-c53108b5.hcp.westus2.staging.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": + 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 100,\n \"maxPods\": + 110,\n \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": + \"Succeeded\",\n \"orchestratorVersion\": \"1.15.11\",\n \"enableNodePublicIP\": + false,\n \"nodeLabels\": {},\n \"mode\": \"System\",\n \"osType\": + \"Linux\"\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDdabawEfwOujYnckZRvvkrcqoR+c2bLuoiOddqujUWHu+fBTEwDd8nB0vBemdGLNHmo7B3qpXyq9pcplUaGYzCmRZtnYy35UOtCinMqyT3mIJshJA1cIw70nFJbr2gvDl+XXtxmd59k5bWMUjzNdynurjhcA53b1fMHTFXSd5ugtbJ4SyZxPkNWxRtJ9Dg2RslMZ+3ZA9y8iAAMxnX85HpG1UMpwzvEM/jPoFd43UYB5TFZIRAcvlkZTQKaBtFW+Khg7Jx5C3iyPzSMAgDzS4WsJBCfABpJ8nnGzBEi/orhFydtkE/zsXOEMY8ppUpnBLN+LXD1gqWhEYRLF7atYd3 + vsonline@c541134d8e01\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\": \"msi\"\n },\n \"addonProfiles\": {\n \"IngressApplicationGateway\": + {\n \"enabled\": true,\n \"config\": {\n \"subnetPrefix\": \"10.2.0.0/16\"\n + \ },\n \"identity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ingressapplicationgateway-cliakstest000002\",\n + \ \"clientId\": \"44c55a44-1dcb-457e-bc64-c0e0aa547612\",\n \"objectId\": + \"582052a5-5d3a-4893-afb3-31dcb1a27725\"\n }\n }\n },\n \"nodeResourceGroup\": + \"MC_clitest000001_cliakstest000002_westus2\",\n \"enableRBAC\": true,\n + \ \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": + \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n \"loadBalancerProfile\": + {\n \"managedOutboundIPs\": {\n \"count\": 1\n },\n \"effectiveOutboundIPs\": + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/a9cc1522-db77-4dd7-ac15-54b59a26e96b\"\n + \ }\n ]\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\": + \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\"\n },\n \"maxAgentPools\": + 10,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n + \ \"clientId\": \"1baf336b-fdf9-4013-8e4f-48d7654e617d\",\n \"objectId\": + \"b64b9afd-2cdf-44b0-b03b-7d42459c7a49\"\n }\n }\n },\n \"identity\": + {\n \"type\": \"SystemAssigned\",\n \"principalId\": \"70523232-bb3c-4694-b82a-7e971bb2cef3\",\n + \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": + {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" + headers: + cache-control: + - no-cache + content-length: + - '3439' + content-type: + - application/json + date: + - Tue, 26 May 2020 08:05:10 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +version: 1 diff --git a/src/aks-preview/azext_aks_preview/tests/latest/test_aks_commands.py b/src/aks-preview/azext_aks_preview/tests/latest/test_aks_commands.py index 2113c99145f..827de9a85e7 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/test_aks_commands.py +++ b/src/aks-preview/azext_aks_preview/tests/latest/test_aks_commands.py @@ -6,11 +6,21 @@ import unittest from azure.cli.testsdk import ( - ResourceGroupPreparer, RoleBasedServicePrincipalPreparer, ScenarioTest) + ResourceGroupPreparer, RoleBasedServicePrincipalPreparer, ScenarioTest, live_only) from azure_devtools.scenario_tests import AllowLargeResponse class AzureKubernetesServiceScenarioTest(ScenarioTest): + @live_only() # without live only fails with need az login + @AllowLargeResponse() + def test_get_version(self): + versions_cmd = 'aks get-versions -l westus2' + self.cmd(versions_cmd, checks=[ + self.check('type', 'Microsoft.ContainerService/locations/orchestrators'), + self.check('orchestrators[0].orchestratorType', 'Kubernetes') + ]) + + @live_only() # without live only fails with needs .ssh fails (maybe generate-ssh-keys would fix) and maybe az login. @AllowLargeResponse() @ResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') def test_aks_create_and_update_with_managed_aad(self, resource_group, resource_group_location): @@ -22,7 +32,7 @@ def test_aks_create_and_update_with_managed_aad(self, resource_group, resource_g create_cmd = 'aks create --resource-group={resource_group} --name={name} ' \ '--vm-set-type AvailabilitySet -c 1 ' \ - '--enable-aad --aad-admin-group-object-ids 00000000-0000-0000-0000-000000000001' + '--enable-aad --aad-admin-group-object-ids 00000000-0000-0000-0000-000000000001 -o json' self.cmd(create_cmd, checks=[ self.check('provisioningState', 'Succeeded'), self.check('aadProfile.managed', True), @@ -31,10 +41,157 @@ def test_aks_create_and_update_with_managed_aad(self, resource_group, resource_g update_cmd = 'aks update --resource-group={resource_group} --name={name} ' \ '--aad-admin-group-object-ids 00000000-0000-0000-0000-000000000002 ' \ - '--aad-tenant-id 00000000-0000-0000-0000-000000000003' + '--aad-tenant-id 00000000-0000-0000-0000-000000000003 -o json' self.cmd(update_cmd, checks=[ self.check('provisioningState', 'Succeeded'), self.check('aadProfile.managed', True), self.check('aadProfile.adminGroupObjectIds[0]', '00000000-0000-0000-0000-000000000002'), self.check('aadProfile.tenantId', '00000000-0000-0000-0000-000000000003') ]) + + @AllowLargeResponse() + @ResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') + def test_aks_create_with_ingress_appgw_addon(self, resource_group, resource_group_location): + aks_name = self.create_random_name('cliakstest', 16) + self.kwargs.update({ + 'resource_group': resource_group, + 'name': aks_name + }) + + create_cmd = 'aks create --resource-group={resource_group} --name={name} --enable-managed-identity --service-principal xxxx --client-secret yyyy --generate-ssh-keys ' \ + '-a ingress-appgw --appgw-subnet-prefix 10.2.0.0/16 -o json' + self.cmd(create_cmd, checks=[ + self.check('provisioningState', 'Succeeded'), + self.check('addonProfiles.IngressApplicationGateway.enabled', True), + self.check('addonProfiles.IngressApplicationGateway.config.subnetPrefix', "10.2.0.0/16") + ]) + + @AllowLargeResponse() + @ResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') + def test_aks_byo_subnet_with_ingress_appgw_addon(self, resource_group, resource_group_location): + aks_name = self.create_random_name('cliakstest', 16) + vnet_name = self.create_random_name('cliakstest', 16) + appgw_name = self.create_random_name('cliakstest', 16) + self.kwargs.update({ + 'resource_group': resource_group, + 'aks_name': aks_name, + 'vnet_name': vnet_name, + 'appgw_name': appgw_name + }) + + # create virtual network + create_vnet = 'network vnet create --resource-group={resource_group} --name={vnet_name} ' \ + '--address-prefix 11.0.0.0/16 --subnet-name aks-subnet --subnet-prefix 11.0.0.0/24 -o json' + vnet = self.cmd(create_vnet, checks=[ + self.check('newVNet.provisioningState', 'Succeeded') + ]).get_output_in_json() + + create_subnet = 'network vnet subnet create -n appgw-subnet --resource-group={resource_group} --vnet-name {vnet_name} ' \ + '--address-prefixes 11.0.1.0/24 -o json' + self.cmd(create_subnet, checks=[ + self.check('provisioningState', 'Succeeded') + ]) + + vnet_id = vnet['newVNet']["id"] + assert vnet_id is not None + self.kwargs.update({ + 'vnet_id': vnet_id, + }) + + # create aks cluster + create_cmd = 'aks create --resource-group={resource_group} --name={aks_name} --enable-managed-identity --generate-ssh-keys ' \ + '--vnet-subnet-id {vnet_id}/subnets/aks-subnet ' \ + '-a ingress-appgw --appgw-name gateway --appgw-subnet-id {vnet_id}/subnets/appgw-subnet -o json' + aks_cluster = self.cmd(create_cmd, checks=[ + self.check('provisioningState', 'Succeeded'), + self.check('addonProfiles.IngressApplicationGateway.enabled', True), + self.check('addonProfiles.IngressApplicationGateway.config.applicationGatewayName', "gateway"), + self.check('addonProfiles.IngressApplicationGateway.config.subnetId', vnet_id + '/subnets/appgw-subnet') + ]).get_output_in_json() + + addon_client_id = aks_cluster["addonProfiles"]["IngressApplicationGateway"]["identity"]["clientId"] + + self.kwargs.update({ + 'addon_client_id': addon_client_id, + }) + + check_role_assignment = 'role assignment list --assignee {addon_client_id} --scope {vnet_id}/subnets/appgw-subnet --role "4d97b98b-1d4f-4787-a291-c67834d212e7" -o json' + self.cmd(check_role_assignment, checks=[ + self.check('[0].roleDefinitionName', 'Network Contributor') + ]) + + @AllowLargeResponse() + @ResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') + def test_aks_byo_appgw_with_ingress_appgw_addon(self, resource_group, resource_group_location): + aks_name = self.create_random_name('cliakstest', 16) + vnet_name = self.create_random_name('cliakstest', 16) + self.kwargs.update({ + 'resource_group': resource_group, + 'aks_name': aks_name, + 'vnet_name': vnet_name + }) + + # create virtual network + create_vnet = 'network vnet create --resource-group={resource_group} --name={vnet_name} ' \ + '--address-prefix 11.0.0.0/16 --subnet-name aks-subnet --subnet-prefix 11.0.0.0/24 -o json' + vnet = self.cmd(create_vnet, checks=[ + self.check('newVNet.provisioningState', 'Succeeded') + ]).get_output_in_json() + + create_subnet = 'network vnet subnet create -n appgw-subnet --resource-group={resource_group} --vnet-name {vnet_name} ' \ + '--address-prefixes 11.0.1.0/24 -o json' + self.cmd(create_subnet, checks=[ + self.check('provisioningState', 'Succeeded') + ]) + + vnet_id = vnet['newVNet']["id"] + assert vnet_id is not None + self.kwargs.update({ + 'vnet_id': vnet_id, + }) + + # create public ip for app gateway + create_pip = 'network public-ip create -n appgw-ip -g {resource_group} ' \ + '--allocation-method Static --sku Standard -o json' + self.cmd(create_pip, checks=[ + self.check('publicIp.provisioningState', 'Succeeded') + ]) + + # create app gateway + create_appgw = 'network application-gateway create -n appgw -g {resource_group} ' \ + '--sku Standard_v2 --public-ip-address appgw-ip --subnet {vnet_id}/subnets/appgw-subnet' + self.cmd(create_appgw) + + # construct group id + from msrestazure.tools import parse_resource_id, resource_id + parsed_vnet_id = parse_resource_id(vnet_id) + group_id = resource_id(subscription=parsed_vnet_id["subscription"], + resource_group=parsed_vnet_id["resource_group"]) + appgw_id = group_id + "/providers/Microsoft.Network/applicationGateways/appgw" + + self.kwargs.update({ + 'appgw_id': appgw_id, + 'appgw_group_id': group_id + }) + + # create aks cluster + create_cmd = 'aks create -n {aks_name} -g {resource_group} --enable-managed-identity --service-principal xxxx --client-secret yyyy --generate-ssh-keys ' \ + '--vnet-subnet-id {vnet_id}/subnets/aks-subnet ' \ + '-a ingress-appgw --appgw-id {appgw_id} -o json' + aks_cluster = self.cmd(create_cmd, checks=[ + self.check('provisioningState', 'Succeeded'), + self.check('addonProfiles.IngressApplicationGateway.enabled', True), + self.check('addonProfiles.IngressApplicationGateway.config.applicationGatewayId', appgw_id) + ]).get_output_in_json() + + addon_client_id = aks_cluster["addonProfiles"]["IngressApplicationGateway"]["identity"]["clientId"] + + self.kwargs.update({ + 'addon_client_id': addon_client_id, + }) + + # check role assignment + check_role_assignment = 'role assignment list --assignee {addon_client_id} --scope {appgw_group_id} --role "b24988ac-6180-42a0-ab88-20f7382dd24c" -o json' + self.cmd(check_role_assignment, checks=[ + self.check('[0].roleDefinitionName', 'Contributor') + ]) diff --git a/src/aks-preview/azext_aks_preview/tests/latest/test_helpers.py b/src/aks-preview/azext_aks_preview/tests/latest/test_helpers.py index 605421e559e..9f9a02d8ecc 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/test_helpers.py +++ b/src/aks-preview/azext_aks_preview/tests/latest/test_helpers.py @@ -4,7 +4,7 @@ # -------------------------------------------------------------------------------------------- import unittest -from azure.cli.command_modules.acs import _helpers as helpers +import azext_aks_preview._helpers as helpers class TestPopulateApiServerAccessProfile(unittest.TestCase): @@ -44,3 +44,24 @@ def test_casing_as(self): version = "1.15.0" vm_type = helpers._set_vm_set_type("Availabilityset", version) self.assertEqual(vm_type, "AvailabilitySet") + + +class TestTrimContainerName(unittest.TestCase): + def test_trim_fqdn_name_containing_hcp(self): + container_name = 'abcdef-dns-ed55ba6d-hcp-centralus-azmk8s-io' + expected_container_name = 'abcdef-dns-ed55ba6d' + trim_container_name = helpers._trim_fqdn_name_containing_hcp(container_name) + self.assertEqual(expected_container_name, trim_container_name) + + def test_trim_fqdn_name_trailing_dash(self): + container_name = 'dns-ed55ba6ad-e48fe2bd-b4bc-4aac-bc23-29bc44154fe1-privatelink-centralus-azmk8s-io' + expected_container_name = 'dns-ed55ba6ad-e48fe2bd-b4bc-4aac-bc23-29bc44154fe1-privatelink' + trim_container_name = helpers._trim_fqdn_name_containing_hcp( + container_name) + self.assertEqual(expected_container_name, trim_container_name) + + def test_trim_fqdn_name_not_containing_hcp(self): + container_name = 'abcdef-dns-ed55ba6d-e48fe2bd-b4bc-4aac-bc23-29bc44154fe1-privatelink-centralus-azmk8s-io' + expected_container_name = 'abcdef-dns-ed55ba6d-e48fe2bd-b4bc-4aac-bc23-29bc44154fe1-privat' + trim_container_name = helpers._trim_fqdn_name_containing_hcp(container_name) + self.assertEqual(expected_container_name, trim_container_name) diff --git a/src/aks-preview/azext_aks_preview/tests/latest/test_validators.py b/src/aks-preview/azext_aks_preview/tests/latest/test_validators.py index 4757c4f8810..4cd943e1699 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/test_validators.py +++ b/src/aks-preview/azext_aks_preview/tests/latest/test_validators.py @@ -4,7 +4,7 @@ # -------------------------------------------------------------------------------------------- import unittest from azure.cli.core.util import CLIError -from azure.cli.command_modules.acs import _validators as validators +import azext_aks_preview._validators as validators class TestValidateIPRanges(unittest.TestCase): @@ -72,7 +72,7 @@ def test_empty_key_empty_value(self): self.assertEqual(str(cm.exception), err) def test_non_empty_key_empty_value(self): - cluster_autoscaler_profile = ["key1="] + cluster_autoscaler_profile = ["scan-interval="] namespace = Namespace(cluster_autoscaler_profile=cluster_autoscaler_profile) validators.validate_cluster_autoscaler_profile(namespace) @@ -146,3 +146,25 @@ def test_empty_vnet_subnet_id(self): class VnetSubnetIdNamespace: def __init__(self, vnet_subnet_id): self.vnet_subnet_id = vnet_subnet_id + + +class MaxSurgeNamespace: + def __init__(self, max_surge): + self.max_surge = max_surge + + +class TestMaxSurge(unittest.TestCase): + def test_valid_cases(self): + valid = ["5", "33%", "1", "100%"] + for v in valid: + validators.validate_max_surge(MaxSurgeNamespace(v)) + + def test_throws_on_string(self): + with self.assertRaises(CLIError) as cm: + validators.validate_max_surge(MaxSurgeNamespace("foobar")) + self.assertTrue('int or percentage' in str(cm.exception), msg=str(cm.exception)) + + def test_throws_on_negative(self): + with self.assertRaises(CLIError) as cm: + validators.validate_max_surge(MaxSurgeNamespace("-3")) + self.assertTrue('positive' in str(cm.exception), msg=str(cm.exception)) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/container_service_client.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/container_service_client.py index 3a204a666bb..d4488be432f 100644 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/container_service_client.py +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/container_service_client.py @@ -115,6 +115,7 @@ def models(cls, api_version=DEFAULT_API_VERSION): * 2020-01-01: :mod:`v2020_01_01_.models` * 2020-02-01: :mod:`v2020_02_01_.models` * 2020-03-01: :mod:`v2020_03_01_.models` + * 2020-04-01: :mod:`v2020_04_01_.models` """ if api_version == '2017-07-01': from .v2017_07_01 import models @@ -149,6 +150,9 @@ def models(cls, api_version=DEFAULT_API_VERSION): elif api_version == '2020-03-01': from .v2020_03_01 import models return models + elif api_version == '2020-04-01': + from .v2020_04_01 import models + return models raise NotImplementedError("APIVersion {} is not available".format(api_version)) @property @@ -161,7 +165,8 @@ def agent_pools(self): * 2019-10-01: :class:`AgentPoolsOperations` * 2020-01-01: :class:`AgentPoolsOperations` * 2020-02-01: :class:`AgentPoolsOperations` - * 2020-03-01: :class:`AgentPoolsOperations` + * 2020-03-01: :class:`AgentPoolsOperations` + * 2020-04-01: :class:`AgentPoolsOperations` """ api_version = self._get_api_version('agent_pools') if api_version == '2019-02-01': @@ -178,6 +183,8 @@ def agent_pools(self): from .v2020_02_01.operations import AgentPoolsOperations as OperationClass elif api_version == '2020-03-01': from .v2020_03_01.operations import AgentPoolsOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import AgentPoolsOperations as OperationClass else: raise NotImplementedError("APIVersion {} is not available".format(api_version)) return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) @@ -208,6 +215,9 @@ def container_services(self): elif api_version == '2020-03-01': from .v2019_04_01.operations import ContainerServicesOperations as OperationClass api_version = "2019-04-01" #2020-03-01 generated Python SDK contains no list_orchestrator op + elif api_version == '2020-04-01': + from .v2019_04_01.operations import ContainerServicesOperations as OperationClass + api_version = "2019-04-01" #2020-04-01 generated Python SDK contains no list_orchestrator op else: raise NotImplementedError("APIVersion {} is not available".format(api_version)) return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) @@ -224,7 +234,8 @@ def managed_clusters(self): * 2019-10-01: :class:`ManagedClustersOperations` * 2020-01-01: :class:`ManagedClustersOperations` * 2020-02-01: :class:`ManagedClustersOperations` - * 2020-03-01: :class:`ManagedClustersOperations` + * 2020-03-01: :class:`ManagedClustersOperations` + * 2020-04-01: :class:`ManagedClustersOperations` """ api_version = self._get_api_version('managed_clusters') if api_version == '2018-03-31': @@ -245,6 +256,8 @@ def managed_clusters(self): from .v2020_02_01.operations import ManagedClustersOperations as OperationClass elif api_version == '2020-03-01': from .v2020_03_01.operations import ManagedClustersOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import ManagedClustersOperations as OperationClass else: raise NotImplementedError("APIVersion {} is not available".format(api_version)) return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) @@ -275,6 +288,7 @@ def operations(self): * 2020-01-01: :class:`Operations` * 2020-02-01: :class:`Operations` * 2020-03-01: :class:`Operations` + * 2020-04-01: :class:`Operations` """ api_version = self._get_api_version('operations') if api_version == '2018-03-31': @@ -295,6 +309,8 @@ def operations(self): from .v2020_02_01.operations import Operations as OperationClass elif api_version == '2020-03-01': from .v2020_03_01.operations import Operations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import Operations as OperationClass else: raise NotImplementedError("APIVersion {} is not available".format(api_version)) return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/models.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/models.py index 9e0647d2623..89d6392add8 100644 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/models.py +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/models.py @@ -19,4 +19,5 @@ from .v2019_10_01.models import * from .v2020_01_01.models import * from .v2020_02_01.models import * -from .v2020_03_01.models import * +from .v2020_03_01.models import * +from .v2020_04_01.models import * diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_03_01/models/_models.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_03_01/models/_models.py index e6ae04f463d..92c24b12459 100644 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_03_01/models/_models.py +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_03_01/models/_models.py @@ -1779,7 +1779,7 @@ class ManagedClusterPropertiesAutoScalerProfile(Model): """Parameters to be applied to the cluster-autoscaler when enabled. :param balance_similar_node_groups: - :type balance_similar_node_groups: bool + :type balance_similar_node_groups: str :param scan_interval: :type scan_interval: str :param scale_down_delay_after_add: @@ -1799,7 +1799,7 @@ class ManagedClusterPropertiesAutoScalerProfile(Model): """ _attribute_map = { - 'balance_similar_node_groups': {'key': 'balance-similar-node-groups', 'type': 'bool'}, + 'balance_similar_node_groups': {'key': 'balance-similar-node-groups', 'type': 'str'}, 'scan_interval': {'key': 'scan-interval', 'type': 'str'}, 'scale_down_delay_after_add': {'key': 'scale-down-delay-after-add', 'type': 'str'}, 'scale_down_delay_after_delete': {'key': 'scale-down-delay-after-delete', 'type': 'str'}, diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_03_01/models/_models_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_03_01/models/_models_py3.py index 489176d3911..ca7a88f2bdc 100644 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_03_01/models/_models_py3.py +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_03_01/models/_models_py3.py @@ -1779,7 +1779,7 @@ class ManagedClusterPropertiesAutoScalerProfile(Model): """Parameters to be applied to the cluster-autoscaler when enabled. :param balance_similar_node_groups: - :type balance_similar_node_groups: bool + :type balance_similar_node_groups: str :param scan_interval: :type scan_interval: str :param scale_down_delay_after_add: @@ -1799,7 +1799,7 @@ class ManagedClusterPropertiesAutoScalerProfile(Model): """ _attribute_map = { - 'balance_similar_node_groups': {'key': 'balance-similar-node-groups', 'type': 'bool'}, + 'balance_similar_node_groups': {'key': 'balance-similar-node-groups', 'type': 'str'}, 'scan_interval': {'key': 'scan-interval', 'type': 'str'}, 'scale_down_delay_after_add': {'key': 'scale-down-delay-after-add', 'type': 'str'}, 'scale_down_delay_after_delete': {'key': 'scale-down-delay-after-delete', 'type': 'str'}, @@ -1810,7 +1810,7 @@ class ManagedClusterPropertiesAutoScalerProfile(Model): 'max_graceful_termination_sec': {'key': 'max-graceful-termination-sec', 'type': 'str'}, } - def __init__(self, *, balance_similar_node_groups: bool=None, scan_interval: str=None, scale_down_delay_after_add: str=None, scale_down_delay_after_delete: str=None, scale_down_delay_after_failure: str=None, scale_down_unneeded_time: str=None, scale_down_unready_time: str=None, scale_down_utilization_threshold: str=None, max_graceful_termination_sec: str=None, **kwargs) -> None: + def __init__(self, *, balance_similar_node_groups: str=None, scan_interval: str=None, scale_down_delay_after_add: str=None, scale_down_delay_after_delete: str=None, scale_down_delay_after_failure: str=None, scale_down_unneeded_time: str=None, scale_down_unready_time: str=None, scale_down_utilization_threshold: str=None, max_graceful_termination_sec: str=None, **kwargs) -> None: super(ManagedClusterPropertiesAutoScalerProfile, self).__init__(**kwargs) self.balance_similar_node_groups = balance_similar_node_groups self.scan_interval = scan_interval diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_04_01/__init__.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_04_01/__init__.py new file mode 100644 index 00000000000..b7cb9d01cb1 --- /dev/null +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_04_01/__init__.py @@ -0,0 +1,19 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from ._configuration import ContainerServiceClientConfiguration +from ._container_service_client import ContainerServiceClient +__all__ = ['ContainerServiceClient', 'ContainerServiceClientConfiguration'] + +from .version import VERSION + +__version__ = VERSION + diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_04_01/_configuration.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_04_01/_configuration.py new file mode 100644 index 00000000000..e94fbc7005d --- /dev/null +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_04_01/_configuration.py @@ -0,0 +1,50 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +from msrestazure import AzureConfiguration + +from .version import VERSION + + +class ContainerServiceClientConfiguration(AzureConfiguration): + """Configuration for ContainerServiceClient + Note that all parameters used to create this instance are saved as instance + attributes. + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param subscription_id: 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 str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=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 base_url: + base_url = 'https://management.azure.com' + + super(ContainerServiceClientConfiguration, self).__init__(base_url) + + # Starting Autorest.Python 4.0.64, make connection pool activated by default + self.keep_alive = True + + self.add_user_agent('azure-mgmt-containerservice/{}'.format(VERSION)) + self.add_user_agent('Azure-SDK-For-Python') + + self.credentials = credentials + self.subscription_id = subscription_id diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_04_01/_container_service_client.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_04_01/_container_service_client.py new file mode 100644 index 00000000000..152f8b782cd --- /dev/null +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_04_01/_container_service_client.py @@ -0,0 +1,61 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.service_client import SDKClient +from msrest import Serializer, Deserializer + +from ._configuration import ContainerServiceClientConfiguration +from .operations import Operations +from .operations import ManagedClustersOperations +from .operations import AgentPoolsOperations +from . import models + + +class ContainerServiceClient(SDKClient): + """The Container Service Client. + + :ivar config: Configuration for client. + :vartype config: ContainerServiceClientConfiguration + + :ivar operations: Operations operations + :vartype operations: azure.mgmt.containerservice.v2020_04_01.operations.Operations + :ivar managed_clusters: ManagedClusters operations + :vartype managed_clusters: azure.mgmt.containerservice.v2020_04_01.operations.ManagedClustersOperations + :ivar agent_pools: AgentPools operations + :vartype agent_pools: azure.mgmt.containerservice.v2020_04_01.operations.AgentPoolsOperations + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param subscription_id: 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 str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=None): + + self.config = ContainerServiceClientConfiguration(credentials, subscription_id, base_url) + super(ContainerServiceClient, self).__init__(self.config.credentials, self.config) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self.api_version = '2020-04-01' + self._serialize = Serializer(client_models) + self._deserialize = Deserializer(client_models) + + self.operations = Operations( + self._client, self.config, self._serialize, self._deserialize) + self.managed_clusters = ManagedClustersOperations( + self._client, self.config, self._serialize, self._deserialize) + self.agent_pools = AgentPoolsOperations( + self._client, self.config, self._serialize, self._deserialize) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_04_01/models/__init__.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_04_01/models/__init__.py new file mode 100644 index 00000000000..f8c324d8029 --- /dev/null +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_04_01/models/__init__.py @@ -0,0 +1,180 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +try: + from ._models_py3 import AgentPool + from ._models_py3 import AgentPoolAvailableVersions + from ._models_py3 import AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem + from ._models_py3 import AgentPoolUpgradeProfile + from ._models_py3 import AgentPoolUpgradeProfilePropertiesUpgradesItem + from ._models_py3 import AgentPoolUpgradeSettings + from ._models_py3 import ContainerServiceDiagnosticsProfile + from ._models_py3 import ContainerServiceLinuxProfile + from ._models_py3 import ContainerServiceMasterProfile + from ._models_py3 import ContainerServiceNetworkProfile + from ._models_py3 import ContainerServiceSshConfiguration + from ._models_py3 import ContainerServiceSshPublicKey + from ._models_py3 import ContainerServiceVMDiagnostics + from ._models_py3 import CredentialResult + from ._models_py3 import CredentialResults + from ._models_py3 import ManagedCluster + from ._models_py3 import ManagedClusterAADProfile + from ._models_py3 import ManagedClusterAccessProfile + from ._models_py3 import ManagedClusterAddonProfile + from ._models_py3 import ManagedClusterAddonProfileIdentity + from ._models_py3 import ManagedClusterAgentPoolProfile + from ._models_py3 import ManagedClusterAgentPoolProfileProperties + from ._models_py3 import ManagedClusterAPIServerAccessProfile + from ._models_py3 import ManagedClusterIdentity + from ._models_py3 import ManagedClusterLoadBalancerProfile + from ._models_py3 import ManagedClusterLoadBalancerProfileManagedOutboundIPs + from ._models_py3 import ManagedClusterLoadBalancerProfileOutboundIPPrefixes + from ._models_py3 import ManagedClusterLoadBalancerProfileOutboundIPs + from ._models_py3 import ManagedClusterPoolUpgradeProfile + from ._models_py3 import ManagedClusterPoolUpgradeProfileUpgradesItem + from ._models_py3 import ManagedClusterPropertiesAutoScalerProfile + from ._models_py3 import ManagedClusterPropertiesIdentityProfileValue + from ._models_py3 import ManagedClusterServicePrincipalProfile + from ._models_py3 import ManagedClusterSKU + from ._models_py3 import ManagedClusterUpgradeProfile + from ._models_py3 import ManagedClusterWindowsProfile + from ._models_py3 import OperationValue + from ._models_py3 import Resource + from ._models_py3 import ResourceReference + from ._models_py3 import SubResource + from ._models_py3 import TagsObject + from ._models_py3 import UserAssignedIdentity +except (SyntaxError, ImportError): + from ._models import AgentPool + from ._models import AgentPoolAvailableVersions + from ._models import AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem + from ._models import AgentPoolUpgradeProfile + from ._models import AgentPoolUpgradeProfilePropertiesUpgradesItem + from ._models import AgentPoolUpgradeSettings + from ._models import ContainerServiceDiagnosticsProfile + from ._models import ContainerServiceLinuxProfile + from ._models import ContainerServiceMasterProfile + from ._models import ContainerServiceNetworkProfile + from ._models import ContainerServiceSshConfiguration + from ._models import ContainerServiceSshPublicKey + from ._models import ContainerServiceVMDiagnostics + from ._models import CredentialResult + from ._models import CredentialResults + from ._models import ManagedCluster + from ._models import ManagedClusterAADProfile + from ._models import ManagedClusterAccessProfile + from ._models import ManagedClusterAddonProfile + from ._models import ManagedClusterAddonProfileIdentity + from ._models import ManagedClusterAgentPoolProfile + from ._models import ManagedClusterAgentPoolProfileProperties + from ._models import ManagedClusterAPIServerAccessProfile + from ._models import ManagedClusterIdentity + from ._models import ManagedClusterLoadBalancerProfile + from ._models import ManagedClusterLoadBalancerProfileManagedOutboundIPs + from ._models import ManagedClusterLoadBalancerProfileOutboundIPPrefixes + from ._models import ManagedClusterLoadBalancerProfileOutboundIPs + from ._models import ManagedClusterPoolUpgradeProfile + from ._models import ManagedClusterPoolUpgradeProfileUpgradesItem + from ._models import ManagedClusterPropertiesAutoScalerProfile + from ._models import ManagedClusterPropertiesIdentityProfileValue + from ._models import ManagedClusterServicePrincipalProfile + from ._models import ManagedClusterSKU + from ._models import ManagedClusterUpgradeProfile + from ._models import ManagedClusterWindowsProfile + from ._models import OperationValue + from ._models import Resource + from ._models import ResourceReference + from ._models import SubResource + from ._models import TagsObject + from ._models import UserAssignedIdentity +from ._paged_models import AgentPoolPaged +from ._paged_models import ManagedClusterPaged +from ._paged_models import OperationValuePaged +from ._container_service_client_enums import ( + ContainerServiceStorageProfileTypes, + ContainerServiceVMSizeTypes, + OSType, + AgentPoolType, + AgentPoolMode, + ScaleSetPriority, + ScaleSetEvictionPolicy, + NetworkPlugin, + NetworkPolicy, + NetworkMode, + OutboundType, + LoadBalancerSku, + ResourceIdentityType, + ManagedClusterSKUName, + ManagedClusterSKUTier, +) + +__all__ = [ + 'AgentPool', + 'AgentPoolAvailableVersions', + 'AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem', + 'AgentPoolUpgradeProfile', + 'AgentPoolUpgradeProfilePropertiesUpgradesItem', + 'AgentPoolUpgradeSettings', + 'ContainerServiceDiagnosticsProfile', + 'ContainerServiceLinuxProfile', + 'ContainerServiceMasterProfile', + 'ContainerServiceNetworkProfile', + 'ContainerServiceSshConfiguration', + 'ContainerServiceSshPublicKey', + 'ContainerServiceVMDiagnostics', + 'CredentialResult', + 'CredentialResults', + 'ManagedCluster', + 'ManagedClusterAADProfile', + 'ManagedClusterAccessProfile', + 'ManagedClusterAddonProfile', + 'ManagedClusterAddonProfileIdentity', + 'ManagedClusterAgentPoolProfile', + 'ManagedClusterAgentPoolProfileProperties', + 'ManagedClusterAPIServerAccessProfile', + 'ManagedClusterIdentity', + 'ManagedClusterLoadBalancerProfile', + 'ManagedClusterLoadBalancerProfileManagedOutboundIPs', + 'ManagedClusterLoadBalancerProfileOutboundIPPrefixes', + 'ManagedClusterLoadBalancerProfileOutboundIPs', + 'ManagedClusterPoolUpgradeProfile', + 'ManagedClusterPoolUpgradeProfileUpgradesItem', + 'ManagedClusterPropertiesAutoScalerProfile', + 'ManagedClusterPropertiesIdentityProfileValue', + 'ManagedClusterServicePrincipalProfile', + 'ManagedClusterSKU', + 'ManagedClusterUpgradeProfile', + 'ManagedClusterWindowsProfile', + 'OperationValue', + 'Resource', + 'ResourceReference', + 'SubResource', + 'TagsObject', + 'UserAssignedIdentity', + 'OperationValuePaged', + 'ManagedClusterPaged', + 'AgentPoolPaged', + 'ContainerServiceStorageProfileTypes', + 'ContainerServiceVMSizeTypes', + 'OSType', + 'AgentPoolType', + 'AgentPoolMode', + 'ScaleSetPriority', + 'ScaleSetEvictionPolicy', + 'NetworkPlugin', + 'NetworkPolicy', + 'NetworkMode', + 'OutboundType', + 'LoadBalancerSku', + 'ResourceIdentityType', + 'ManagedClusterSKUName', + 'ManagedClusterSKUTier', +] diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_04_01/models/_container_service_client_enums.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_04_01/models/_container_service_client_enums.py new file mode 100644 index 00000000000..2dc7cc068f9 --- /dev/null +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_04_01/models/_container_service_client_enums.py @@ -0,0 +1,273 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from enum import Enum + + +class ContainerServiceStorageProfileTypes(str, Enum): + + storage_account = "StorageAccount" + managed_disks = "ManagedDisks" + + +class ContainerServiceVMSizeTypes(str, Enum): + + standard_a1 = "Standard_A1" + standard_a10 = "Standard_A10" + standard_a11 = "Standard_A11" + standard_a1_v2 = "Standard_A1_v2" + standard_a2 = "Standard_A2" + standard_a2_v2 = "Standard_A2_v2" + standard_a2m_v2 = "Standard_A2m_v2" + standard_a3 = "Standard_A3" + standard_a4 = "Standard_A4" + standard_a4_v2 = "Standard_A4_v2" + standard_a4m_v2 = "Standard_A4m_v2" + standard_a5 = "Standard_A5" + standard_a6 = "Standard_A6" + standard_a7 = "Standard_A7" + standard_a8 = "Standard_A8" + standard_a8_v2 = "Standard_A8_v2" + standard_a8m_v2 = "Standard_A8m_v2" + standard_a9 = "Standard_A9" + standard_b2ms = "Standard_B2ms" + standard_b2s = "Standard_B2s" + standard_b4ms = "Standard_B4ms" + standard_b8ms = "Standard_B8ms" + standard_d1 = "Standard_D1" + standard_d11 = "Standard_D11" + standard_d11_v2 = "Standard_D11_v2" + standard_d11_v2_promo = "Standard_D11_v2_Promo" + standard_d12 = "Standard_D12" + standard_d12_v2 = "Standard_D12_v2" + standard_d12_v2_promo = "Standard_D12_v2_Promo" + standard_d13 = "Standard_D13" + standard_d13_v2 = "Standard_D13_v2" + standard_d13_v2_promo = "Standard_D13_v2_Promo" + standard_d14 = "Standard_D14" + standard_d14_v2 = "Standard_D14_v2" + standard_d14_v2_promo = "Standard_D14_v2_Promo" + standard_d15_v2 = "Standard_D15_v2" + standard_d16_v3 = "Standard_D16_v3" + standard_d16s_v3 = "Standard_D16s_v3" + standard_d1_v2 = "Standard_D1_v2" + standard_d2 = "Standard_D2" + standard_d2_v2 = "Standard_D2_v2" + standard_d2_v2_promo = "Standard_D2_v2_Promo" + standard_d2_v3 = "Standard_D2_v3" + standard_d2s_v3 = "Standard_D2s_v3" + standard_d3 = "Standard_D3" + standard_d32_v3 = "Standard_D32_v3" + standard_d32s_v3 = "Standard_D32s_v3" + standard_d3_v2 = "Standard_D3_v2" + standard_d3_v2_promo = "Standard_D3_v2_Promo" + standard_d4 = "Standard_D4" + standard_d4_v2 = "Standard_D4_v2" + standard_d4_v2_promo = "Standard_D4_v2_Promo" + standard_d4_v3 = "Standard_D4_v3" + standard_d4s_v3 = "Standard_D4s_v3" + standard_d5_v2 = "Standard_D5_v2" + standard_d5_v2_promo = "Standard_D5_v2_Promo" + standard_d64_v3 = "Standard_D64_v3" + standard_d64s_v3 = "Standard_D64s_v3" + standard_d8_v3 = "Standard_D8_v3" + standard_d8s_v3 = "Standard_D8s_v3" + standard_ds1 = "Standard_DS1" + standard_ds11 = "Standard_DS11" + standard_ds11_v2 = "Standard_DS11_v2" + standard_ds11_v2_promo = "Standard_DS11_v2_Promo" + standard_ds12 = "Standard_DS12" + standard_ds12_v2 = "Standard_DS12_v2" + standard_ds12_v2_promo = "Standard_DS12_v2_Promo" + standard_ds13 = "Standard_DS13" + standard_ds13_2_v2 = "Standard_DS13-2_v2" + standard_ds13_4_v2 = "Standard_DS13-4_v2" + standard_ds13_v2 = "Standard_DS13_v2" + standard_ds13_v2_promo = "Standard_DS13_v2_Promo" + standard_ds14 = "Standard_DS14" + standard_ds14_4_v2 = "Standard_DS14-4_v2" + standard_ds14_8_v2 = "Standard_DS14-8_v2" + standard_ds14_v2 = "Standard_DS14_v2" + standard_ds14_v2_promo = "Standard_DS14_v2_Promo" + standard_ds15_v2 = "Standard_DS15_v2" + standard_ds1_v2 = "Standard_DS1_v2" + standard_ds2 = "Standard_DS2" + standard_ds2_v2 = "Standard_DS2_v2" + standard_ds2_v2_promo = "Standard_DS2_v2_Promo" + standard_ds3 = "Standard_DS3" + standard_ds3_v2 = "Standard_DS3_v2" + standard_ds3_v2_promo = "Standard_DS3_v2_Promo" + standard_ds4 = "Standard_DS4" + standard_ds4_v2 = "Standard_DS4_v2" + standard_ds4_v2_promo = "Standard_DS4_v2_Promo" + standard_ds5_v2 = "Standard_DS5_v2" + standard_ds5_v2_promo = "Standard_DS5_v2_Promo" + standard_e16_v3 = "Standard_E16_v3" + standard_e16s_v3 = "Standard_E16s_v3" + standard_e2_v3 = "Standard_E2_v3" + standard_e2s_v3 = "Standard_E2s_v3" + standard_e32_16s_v3 = "Standard_E32-16s_v3" + standard_e32_8s_v3 = "Standard_E32-8s_v3" + standard_e32_v3 = "Standard_E32_v3" + standard_e32s_v3 = "Standard_E32s_v3" + standard_e4_v3 = "Standard_E4_v3" + standard_e4s_v3 = "Standard_E4s_v3" + standard_e64_16s_v3 = "Standard_E64-16s_v3" + standard_e64_32s_v3 = "Standard_E64-32s_v3" + standard_e64_v3 = "Standard_E64_v3" + standard_e64s_v3 = "Standard_E64s_v3" + standard_e8_v3 = "Standard_E8_v3" + standard_e8s_v3 = "Standard_E8s_v3" + standard_f1 = "Standard_F1" + standard_f16 = "Standard_F16" + standard_f16s = "Standard_F16s" + standard_f16s_v2 = "Standard_F16s_v2" + standard_f1s = "Standard_F1s" + standard_f2 = "Standard_F2" + standard_f2s = "Standard_F2s" + standard_f2s_v2 = "Standard_F2s_v2" + standard_f32s_v2 = "Standard_F32s_v2" + standard_f4 = "Standard_F4" + standard_f4s = "Standard_F4s" + standard_f4s_v2 = "Standard_F4s_v2" + standard_f64s_v2 = "Standard_F64s_v2" + standard_f72s_v2 = "Standard_F72s_v2" + standard_f8 = "Standard_F8" + standard_f8s = "Standard_F8s" + standard_f8s_v2 = "Standard_F8s_v2" + standard_g1 = "Standard_G1" + standard_g2 = "Standard_G2" + standard_g3 = "Standard_G3" + standard_g4 = "Standard_G4" + standard_g5 = "Standard_G5" + standard_gs1 = "Standard_GS1" + standard_gs2 = "Standard_GS2" + standard_gs3 = "Standard_GS3" + standard_gs4 = "Standard_GS4" + standard_gs4_4 = "Standard_GS4-4" + standard_gs4_8 = "Standard_GS4-8" + standard_gs5 = "Standard_GS5" + standard_gs5_16 = "Standard_GS5-16" + standard_gs5_8 = "Standard_GS5-8" + standard_h16 = "Standard_H16" + standard_h16m = "Standard_H16m" + standard_h16mr = "Standard_H16mr" + standard_h16r = "Standard_H16r" + standard_h8 = "Standard_H8" + standard_h8m = "Standard_H8m" + standard_l16s = "Standard_L16s" + standard_l32s = "Standard_L32s" + standard_l4s = "Standard_L4s" + standard_l8s = "Standard_L8s" + standard_m128_32ms = "Standard_M128-32ms" + standard_m128_64ms = "Standard_M128-64ms" + standard_m128ms = "Standard_M128ms" + standard_m128s = "Standard_M128s" + standard_m64_16ms = "Standard_M64-16ms" + standard_m64_32ms = "Standard_M64-32ms" + standard_m64ms = "Standard_M64ms" + standard_m64s = "Standard_M64s" + standard_nc12 = "Standard_NC12" + standard_nc12s_v2 = "Standard_NC12s_v2" + standard_nc12s_v3 = "Standard_NC12s_v3" + standard_nc24 = "Standard_NC24" + standard_nc24r = "Standard_NC24r" + standard_nc24rs_v2 = "Standard_NC24rs_v2" + standard_nc24rs_v3 = "Standard_NC24rs_v3" + standard_nc24s_v2 = "Standard_NC24s_v2" + standard_nc24s_v3 = "Standard_NC24s_v3" + standard_nc6 = "Standard_NC6" + standard_nc6s_v2 = "Standard_NC6s_v2" + standard_nc6s_v3 = "Standard_NC6s_v3" + standard_nd12s = "Standard_ND12s" + standard_nd24rs = "Standard_ND24rs" + standard_nd24s = "Standard_ND24s" + standard_nd6s = "Standard_ND6s" + standard_nv12 = "Standard_NV12" + standard_nv24 = "Standard_NV24" + standard_nv6 = "Standard_NV6" + + +class OSType(str, Enum): + + linux = "Linux" + windows = "Windows" + + +class AgentPoolType(str, Enum): + + virtual_machine_scale_sets = "VirtualMachineScaleSets" + availability_set = "AvailabilitySet" + + +class AgentPoolMode(str, Enum): + + system = "System" + user = "User" + + +class ScaleSetPriority(str, Enum): + + spot = "Spot" + regular = "Regular" + + +class ScaleSetEvictionPolicy(str, Enum): + + delete = "Delete" + deallocate = "Deallocate" + + +class NetworkPlugin(str, Enum): + + azure = "azure" + kubenet = "kubenet" + + +class NetworkPolicy(str, Enum): + + calico = "calico" + azure = "azure" + + +class NetworkMode(str, Enum): + + transparent = "transparent" + bridge = "bridge" + + +class OutboundType(str, Enum): + + load_balancer = "loadBalancer" + user_defined_routing = "userDefinedRouting" + + +class LoadBalancerSku(str, Enum): + + standard = "standard" + basic = "basic" + + +class ResourceIdentityType(str, Enum): + + system_assigned = "SystemAssigned" + none = "None" + + +class ManagedClusterSKUName(str, Enum): + + basic = "Basic" + + +class ManagedClusterSKUTier(str, Enum): + + paid = "Paid" + free = "Free" diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_04_01/models/_models.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_04_01/models/_models.py new file mode 100644 index 00000000000..06338479e1c --- /dev/null +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_04_01/models/_models.py @@ -0,0 +1,2100 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model +from msrest.exceptions import HttpOperationError + + +class SubResource(Model): + """Reference to another subresource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :vartype name: str + :ivar type: Resource type + :vartype type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SubResource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + + +class AgentPool(SubResource): + """Agent Pool. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :vartype name: str + :ivar type: Resource type + :vartype type: str + :param count: Required. Number of agents (VMs) to host docker containers. + Allowed values must be in the range of 0 to 100 (inclusive). The default + value is 1. . Default value: 1 . + :type count: int + :param vm_size: Required. Size of agent VMs. Possible values include: + 'Standard_A1', 'Standard_A10', 'Standard_A11', 'Standard_A1_v2', + 'Standard_A2', 'Standard_A2_v2', 'Standard_A2m_v2', 'Standard_A3', + 'Standard_A4', 'Standard_A4_v2', 'Standard_A4m_v2', 'Standard_A5', + 'Standard_A6', 'Standard_A7', 'Standard_A8', 'Standard_A8_v2', + 'Standard_A8m_v2', 'Standard_A9', 'Standard_B2ms', 'Standard_B2s', + 'Standard_B4ms', 'Standard_B8ms', 'Standard_D1', 'Standard_D11', + 'Standard_D11_v2', 'Standard_D11_v2_Promo', 'Standard_D12', + 'Standard_D12_v2', 'Standard_D12_v2_Promo', 'Standard_D13', + 'Standard_D13_v2', 'Standard_D13_v2_Promo', 'Standard_D14', + 'Standard_D14_v2', 'Standard_D14_v2_Promo', 'Standard_D15_v2', + 'Standard_D16_v3', 'Standard_D16s_v3', 'Standard_D1_v2', 'Standard_D2', + 'Standard_D2_v2', 'Standard_D2_v2_Promo', 'Standard_D2_v3', + 'Standard_D2s_v3', 'Standard_D3', 'Standard_D32_v3', 'Standard_D32s_v3', + 'Standard_D3_v2', 'Standard_D3_v2_Promo', 'Standard_D4', 'Standard_D4_v2', + 'Standard_D4_v2_Promo', 'Standard_D4_v3', 'Standard_D4s_v3', + 'Standard_D5_v2', 'Standard_D5_v2_Promo', 'Standard_D64_v3', + 'Standard_D64s_v3', 'Standard_D8_v3', 'Standard_D8s_v3', 'Standard_DS1', + 'Standard_DS11', 'Standard_DS11_v2', 'Standard_DS11_v2_Promo', + 'Standard_DS12', 'Standard_DS12_v2', 'Standard_DS12_v2_Promo', + 'Standard_DS13', 'Standard_DS13-2_v2', 'Standard_DS13-4_v2', + 'Standard_DS13_v2', 'Standard_DS13_v2_Promo', 'Standard_DS14', + 'Standard_DS14-4_v2', 'Standard_DS14-8_v2', 'Standard_DS14_v2', + 'Standard_DS14_v2_Promo', 'Standard_DS15_v2', 'Standard_DS1_v2', + 'Standard_DS2', 'Standard_DS2_v2', 'Standard_DS2_v2_Promo', + 'Standard_DS3', 'Standard_DS3_v2', 'Standard_DS3_v2_Promo', + 'Standard_DS4', 'Standard_DS4_v2', 'Standard_DS4_v2_Promo', + 'Standard_DS5_v2', 'Standard_DS5_v2_Promo', 'Standard_E16_v3', + 'Standard_E16s_v3', 'Standard_E2_v3', 'Standard_E2s_v3', + 'Standard_E32-16s_v3', 'Standard_E32-8s_v3', 'Standard_E32_v3', + 'Standard_E32s_v3', 'Standard_E4_v3', 'Standard_E4s_v3', + 'Standard_E64-16s_v3', 'Standard_E64-32s_v3', 'Standard_E64_v3', + 'Standard_E64s_v3', 'Standard_E8_v3', 'Standard_E8s_v3', 'Standard_F1', + 'Standard_F16', 'Standard_F16s', 'Standard_F16s_v2', 'Standard_F1s', + 'Standard_F2', 'Standard_F2s', 'Standard_F2s_v2', 'Standard_F32s_v2', + 'Standard_F4', 'Standard_F4s', 'Standard_F4s_v2', 'Standard_F64s_v2', + 'Standard_F72s_v2', 'Standard_F8', 'Standard_F8s', 'Standard_F8s_v2', + 'Standard_G1', 'Standard_G2', 'Standard_G3', 'Standard_G4', 'Standard_G5', + 'Standard_GS1', 'Standard_GS2', 'Standard_GS3', 'Standard_GS4', + 'Standard_GS4-4', 'Standard_GS4-8', 'Standard_GS5', 'Standard_GS5-16', + 'Standard_GS5-8', 'Standard_H16', 'Standard_H16m', 'Standard_H16mr', + 'Standard_H16r', 'Standard_H8', 'Standard_H8m', 'Standard_L16s', + 'Standard_L32s', 'Standard_L4s', 'Standard_L8s', 'Standard_M128-32ms', + 'Standard_M128-64ms', 'Standard_M128ms', 'Standard_M128s', + 'Standard_M64-16ms', 'Standard_M64-32ms', 'Standard_M64ms', + 'Standard_M64s', 'Standard_NC12', 'Standard_NC12s_v2', + 'Standard_NC12s_v3', 'Standard_NC24', 'Standard_NC24r', + 'Standard_NC24rs_v2', 'Standard_NC24rs_v3', 'Standard_NC24s_v2', + 'Standard_NC24s_v3', 'Standard_NC6', 'Standard_NC6s_v2', + 'Standard_NC6s_v3', 'Standard_ND12s', 'Standard_ND24rs', 'Standard_ND24s', + 'Standard_ND6s', 'Standard_NV12', 'Standard_NV24', 'Standard_NV6' + :type vm_size: str or + ~azure.mgmt.containerservice.v2020_04_01.models.ContainerServiceVMSizeTypes + :param os_disk_size_gb: OS Disk Size in GB to be used to specify the disk + size for every machine in this master/agent pool. If you specify 0, it + will apply the default osDisk size according to the vmSize specified. + :type os_disk_size_gb: int + :param vnet_subnet_id: VNet SubnetID specifies the VNet's subnet + identifier. + :type vnet_subnet_id: str + :param max_pods: Maximum number of pods that can run on a node. + :type max_pods: int + :param os_type: OsType to be used to specify os type. Choose from Linux + and Windows. Default to Linux. Possible values include: 'Linux', + 'Windows'. Default value: "Linux" . + :type os_type: str or + ~azure.mgmt.containerservice.v2020_04_01.models.OSType + :param max_count: Maximum number of nodes for auto-scaling + :type max_count: int + :param min_count: Minimum number of nodes for auto-scaling + :type min_count: int + :param enable_auto_scaling: Whether to enable auto-scaler + :type enable_auto_scaling: bool + :param agent_pool_type: AgentPoolType represents types of an agent pool. + Possible values include: 'VirtualMachineScaleSets', 'AvailabilitySet' + :type agent_pool_type: str or + ~azure.mgmt.containerservice.v2020_04_01.models.AgentPoolType + :param mode: AgentPoolMode represents mode of an agent pool. Possible + values include: 'System', 'User' + :type mode: str or + ~azure.mgmt.containerservice.v2020_04_01.models.AgentPoolMode + :param orchestrator_version: Version of orchestrator specified when + creating the managed cluster. + :type orchestrator_version: str + :param node_image_version: Version of node image + :type node_image_version: str + :param upgrade_settings: Settings for upgrading the agentpool + :type upgrade_settings: + ~azure.mgmt.containerservice.v2020_04_01.models.AgentPoolUpgradeSettings + :ivar provisioning_state: The current deployment or provisioning state, + which only appears in the response. + :vartype provisioning_state: str + :param availability_zones: Availability zones for nodes. Must use + VirtualMachineScaleSets AgentPoolType. + :type availability_zones: list[str] + :param enable_node_public_ip: Enable public IP for nodes + :type enable_node_public_ip: bool + :param scale_set_priority: ScaleSetPriority to be used to specify virtual + machine scale set priority. Default to regular. Possible values include: + 'Spot', 'Regular'. Default value: "Regular" . + :type scale_set_priority: str or + ~azure.mgmt.containerservice.v2020_04_01.models.ScaleSetPriority + :param scale_set_eviction_policy: ScaleSetEvictionPolicy to be used to + specify eviction policy for Spot virtual machine scale set. Default to + Delete. Possible values include: 'Delete', 'Deallocate'. Default value: + "Delete" . + :type scale_set_eviction_policy: str or + ~azure.mgmt.containerservice.v2020_04_01.models.ScaleSetEvictionPolicy + :param spot_max_price: SpotMaxPrice to be used to specify the maximum + price you are willing to pay in US Dollars. Possible values are any + decimal value greater than zero or -1 which indicates default price to be + up-to on-demand. + :type spot_max_price: float + :param tags: Agent pool tags to be persisted on the agent pool virtual + machine scale set. + :type tags: dict[str, str] + :param node_labels: Agent pool node labels to be persisted across all + nodes in agent pool. + :type node_labels: dict[str, str] + :param node_taints: Taints added to new nodes during node pool create and + scale. For example, key=value:NoSchedule. + :type node_taints: list[str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'count': {'required': True, 'maximum': 100, 'minimum': 0}, + 'vm_size': {'required': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'count': {'key': 'properties.count', 'type': 'int'}, + 'vm_size': {'key': 'properties.vmSize', 'type': 'str'}, + 'os_disk_size_gb': {'key': 'properties.osDiskSizeGB', 'type': 'int'}, + 'vnet_subnet_id': {'key': 'properties.vnetSubnetID', 'type': 'str'}, + 'max_pods': {'key': 'properties.maxPods', 'type': 'int'}, + 'os_type': {'key': 'properties.osType', 'type': 'str'}, + 'max_count': {'key': 'properties.maxCount', 'type': 'int'}, + 'min_count': {'key': 'properties.minCount', 'type': 'int'}, + 'enable_auto_scaling': {'key': 'properties.enableAutoScaling', 'type': 'bool'}, + 'agent_pool_type': {'key': 'properties.type', 'type': 'str'}, + 'mode': {'key': 'properties.mode', 'type': 'str'}, + 'orchestrator_version': {'key': 'properties.orchestratorVersion', 'type': 'str'}, + 'node_image_version': {'key': 'properties.nodeImageVersion', 'type': 'str'}, + 'upgrade_settings': {'key': 'properties.upgradeSettings', 'type': 'AgentPoolUpgradeSettings'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'availability_zones': {'key': 'properties.availabilityZones', 'type': '[str]'}, + 'enable_node_public_ip': {'key': 'properties.enableNodePublicIP', 'type': 'bool'}, + 'scale_set_priority': {'key': 'properties.scaleSetPriority', 'type': 'str'}, + 'scale_set_eviction_policy': {'key': 'properties.scaleSetEvictionPolicy', 'type': 'str'}, + 'spot_max_price': {'key': 'properties.spotMaxPrice', 'type': 'float'}, + 'tags': {'key': 'properties.tags', 'type': '{str}'}, + 'node_labels': {'key': 'properties.nodeLabels', 'type': '{str}'}, + 'node_taints': {'key': 'properties.nodeTaints', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(AgentPool, self).__init__(**kwargs) + self.count = kwargs.get('count', 1) + self.vm_size = kwargs.get('vm_size', None) + self.os_disk_size_gb = kwargs.get('os_disk_size_gb', None) + self.vnet_subnet_id = kwargs.get('vnet_subnet_id', None) + self.max_pods = kwargs.get('max_pods', None) + self.os_type = kwargs.get('os_type', "Linux") + self.max_count = kwargs.get('max_count', None) + self.min_count = kwargs.get('min_count', None) + self.enable_auto_scaling = kwargs.get('enable_auto_scaling', None) + self.agent_pool_type = kwargs.get('agent_pool_type', None) + self.mode = kwargs.get('mode', None) + self.orchestrator_version = kwargs.get('orchestrator_version', None) + self.node_image_version = kwargs.get('node_image_version', None) + self.upgrade_settings = kwargs.get('upgrade_settings', None) + self.provisioning_state = None + self.availability_zones = kwargs.get('availability_zones', None) + self.enable_node_public_ip = kwargs.get('enable_node_public_ip', None) + self.scale_set_priority = kwargs.get('scale_set_priority', "Regular") + self.scale_set_eviction_policy = kwargs.get('scale_set_eviction_policy', "Delete") + self.spot_max_price = kwargs.get('spot_max_price', None) + self.tags = kwargs.get('tags', None) + self.node_labels = kwargs.get('node_labels', None) + self.node_taints = kwargs.get('node_taints', None) + + +class AgentPoolAvailableVersions(Model): + """The list of available versions for an agent pool. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Id of the agent pool available versions. + :vartype id: str + :ivar name: Name of the agent pool available versions. + :vartype name: str + :ivar type: Type of the agent pool available versions. + :vartype type: str + :param agent_pool_versions: List of versions available for agent pool. + :type agent_pool_versions: + list[~azure.mgmt.containerservice.v2020_04_01.models.AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'agent_pool_versions': {'key': 'properties.agentPoolVersions', 'type': '[AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem]'}, + } + + def __init__(self, **kwargs): + super(AgentPoolAvailableVersions, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.agent_pool_versions = kwargs.get('agent_pool_versions', None) + + +class AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem(Model): + """AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem. + + :param default: Whether this version is the default agent pool version. + :type default: bool + :param kubernetes_version: Kubernetes version (major, minor, patch). + :type kubernetes_version: str + :param is_preview: Whether Kubernetes version is currently in preview. + :type is_preview: bool + """ + + _attribute_map = { + 'default': {'key': 'default', 'type': 'bool'}, + 'kubernetes_version': {'key': 'kubernetesVersion', 'type': 'str'}, + 'is_preview': {'key': 'isPreview', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem, self).__init__(**kwargs) + self.default = kwargs.get('default', None) + self.kubernetes_version = kwargs.get('kubernetes_version', None) + self.is_preview = kwargs.get('is_preview', None) + + +class AgentPoolUpgradeProfile(Model): + """The list of available upgrades for an agent pool. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Id of the agent pool upgrade profile. + :vartype id: str + :ivar name: Name of the agent pool upgrade profile. + :vartype name: str + :ivar type: Type of the agent pool upgrade profile. + :vartype type: str + :param kubernetes_version: Required. Kubernetes version (major, minor, + patch). + :type kubernetes_version: str + :param os_type: Required. OsType to be used to specify os type. Choose + from Linux and Windows. Default to Linux. Possible values include: + 'Linux', 'Windows'. Default value: "Linux" . + :type os_type: str or + ~azure.mgmt.containerservice.v2020_04_01.models.OSType + :param upgrades: List of orchestrator types and versions available for + upgrade. + :type upgrades: + list[~azure.mgmt.containerservice.v2020_04_01.models.AgentPoolUpgradeProfilePropertiesUpgradesItem] + :param latest_node_image_version: LatestNodeImageVersion is the latest AKS + supported node image version. + :type latest_node_image_version: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'kubernetes_version': {'required': True}, + 'os_type': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kubernetes_version': {'key': 'properties.kubernetesVersion', 'type': 'str'}, + 'os_type': {'key': 'properties.osType', 'type': 'str'}, + 'upgrades': {'key': 'properties.upgrades', 'type': '[AgentPoolUpgradeProfilePropertiesUpgradesItem]'}, + 'latest_node_image_version': {'key': 'properties.latestNodeImageVersion', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AgentPoolUpgradeProfile, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.kubernetes_version = kwargs.get('kubernetes_version', None) + self.os_type = kwargs.get('os_type', "Linux") + self.upgrades = kwargs.get('upgrades', None) + self.latest_node_image_version = kwargs.get('latest_node_image_version', None) + + +class AgentPoolUpgradeProfilePropertiesUpgradesItem(Model): + """AgentPoolUpgradeProfilePropertiesUpgradesItem. + + :param kubernetes_version: Kubernetes version (major, minor, patch). + :type kubernetes_version: str + :param is_preview: Whether Kubernetes version is currently in preview. + :type is_preview: bool + """ + + _attribute_map = { + 'kubernetes_version': {'key': 'kubernetesVersion', 'type': 'str'}, + 'is_preview': {'key': 'isPreview', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(AgentPoolUpgradeProfilePropertiesUpgradesItem, self).__init__(**kwargs) + self.kubernetes_version = kwargs.get('kubernetes_version', None) + self.is_preview = kwargs.get('is_preview', None) + + +class AgentPoolUpgradeSettings(Model): + """Settings for upgrading an agentpool. + + :param max_surge: Count or percentage of additional nodes to be added + during upgrade. If empty uses AKS default + :type max_surge: str + """ + + _attribute_map = { + 'max_surge': {'key': 'maxSurge', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AgentPoolUpgradeSettings, self).__init__(**kwargs) + self.max_surge = kwargs.get('max_surge', None) + + +class CloudError(Model): + """An error response from the Container service. + + :param error: Details about the error. + :type error: + ~azure.mgmt.containerservice.v2020_04_01.models.CloudErrorBody + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'CloudErrorBody'}, + } + + def __init__(self, **kwargs): + super(CloudError, self).__init__(**kwargs) + self.error = kwargs.get('error', None) + + +class CloudErrorException(HttpOperationError): + """Server responsed with exception of type: 'CloudError'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(CloudErrorException, self).__init__(deserialize, response, 'CloudError', *args) + + +class CloudErrorBody(Model): + """An error response from the Container service. + + :param code: An identifier for the error. Codes are invariant and are + intended to be consumed programmatically. + :type code: str + :param message: A message describing the error, intended to be suitable + for display in a user interface. + :type message: str + :param target: The target of the particular error. For example, the name + of the property in error. + :type target: str + :param details: A list of additional details about the error. + :type details: + list[~azure.mgmt.containerservice.v2020_04_01.models.CloudErrorBody] + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[CloudErrorBody]'}, + } + + def __init__(self, **kwargs): + super(CloudErrorBody, self).__init__(**kwargs) + self.code = kwargs.get('code', None) + self.message = kwargs.get('message', None) + self.target = kwargs.get('target', None) + self.details = kwargs.get('details', None) + + +class ContainerServiceDiagnosticsProfile(Model): + """Profile for diagnostics on the container service cluster. + + All required parameters must be populated in order to send to Azure. + + :param vm_diagnostics: Required. Profile for diagnostics on the container + service VMs. + :type vm_diagnostics: + ~azure.mgmt.containerservice.v2020_04_01.models.ContainerServiceVMDiagnostics + """ + + _validation = { + 'vm_diagnostics': {'required': True}, + } + + _attribute_map = { + 'vm_diagnostics': {'key': 'vmDiagnostics', 'type': 'ContainerServiceVMDiagnostics'}, + } + + def __init__(self, **kwargs): + super(ContainerServiceDiagnosticsProfile, self).__init__(**kwargs) + self.vm_diagnostics = kwargs.get('vm_diagnostics', None) + + +class ContainerServiceLinuxProfile(Model): + """Profile for Linux VMs in the container service cluster. + + All required parameters must be populated in order to send to Azure. + + :param admin_username: Required. The administrator username to use for + Linux VMs. + :type admin_username: str + :param ssh: Required. SSH configuration for Linux-based VMs running on + Azure. + :type ssh: + ~azure.mgmt.containerservice.v2020_04_01.models.ContainerServiceSshConfiguration + """ + + _validation = { + 'admin_username': {'required': True, 'pattern': r'^[A-Za-z][-A-Za-z0-9_]*$'}, + 'ssh': {'required': True}, + } + + _attribute_map = { + 'admin_username': {'key': 'adminUsername', 'type': 'str'}, + 'ssh': {'key': 'ssh', 'type': 'ContainerServiceSshConfiguration'}, + } + + def __init__(self, **kwargs): + super(ContainerServiceLinuxProfile, self).__init__(**kwargs) + self.admin_username = kwargs.get('admin_username', None) + self.ssh = kwargs.get('ssh', None) + + +class ContainerServiceMasterProfile(Model): + """Profile for the container service master. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param count: Number of masters (VMs) in the container service cluster. + Allowed values are 1, 3, and 5. The default value is 1. Default value: 1 . + :type count: int + :param dns_prefix: Required. DNS prefix to be used to create the FQDN for + the master pool. + :type dns_prefix: str + :param vm_size: Required. Size of agent VMs. Possible values include: + 'Standard_A1', 'Standard_A10', 'Standard_A11', 'Standard_A1_v2', + 'Standard_A2', 'Standard_A2_v2', 'Standard_A2m_v2', 'Standard_A3', + 'Standard_A4', 'Standard_A4_v2', 'Standard_A4m_v2', 'Standard_A5', + 'Standard_A6', 'Standard_A7', 'Standard_A8', 'Standard_A8_v2', + 'Standard_A8m_v2', 'Standard_A9', 'Standard_B2ms', 'Standard_B2s', + 'Standard_B4ms', 'Standard_B8ms', 'Standard_D1', 'Standard_D11', + 'Standard_D11_v2', 'Standard_D11_v2_Promo', 'Standard_D12', + 'Standard_D12_v2', 'Standard_D12_v2_Promo', 'Standard_D13', + 'Standard_D13_v2', 'Standard_D13_v2_Promo', 'Standard_D14', + 'Standard_D14_v2', 'Standard_D14_v2_Promo', 'Standard_D15_v2', + 'Standard_D16_v3', 'Standard_D16s_v3', 'Standard_D1_v2', 'Standard_D2', + 'Standard_D2_v2', 'Standard_D2_v2_Promo', 'Standard_D2_v3', + 'Standard_D2s_v3', 'Standard_D3', 'Standard_D32_v3', 'Standard_D32s_v3', + 'Standard_D3_v2', 'Standard_D3_v2_Promo', 'Standard_D4', 'Standard_D4_v2', + 'Standard_D4_v2_Promo', 'Standard_D4_v3', 'Standard_D4s_v3', + 'Standard_D5_v2', 'Standard_D5_v2_Promo', 'Standard_D64_v3', + 'Standard_D64s_v3', 'Standard_D8_v3', 'Standard_D8s_v3', 'Standard_DS1', + 'Standard_DS11', 'Standard_DS11_v2', 'Standard_DS11_v2_Promo', + 'Standard_DS12', 'Standard_DS12_v2', 'Standard_DS12_v2_Promo', + 'Standard_DS13', 'Standard_DS13-2_v2', 'Standard_DS13-4_v2', + 'Standard_DS13_v2', 'Standard_DS13_v2_Promo', 'Standard_DS14', + 'Standard_DS14-4_v2', 'Standard_DS14-8_v2', 'Standard_DS14_v2', + 'Standard_DS14_v2_Promo', 'Standard_DS15_v2', 'Standard_DS1_v2', + 'Standard_DS2', 'Standard_DS2_v2', 'Standard_DS2_v2_Promo', + 'Standard_DS3', 'Standard_DS3_v2', 'Standard_DS3_v2_Promo', + 'Standard_DS4', 'Standard_DS4_v2', 'Standard_DS4_v2_Promo', + 'Standard_DS5_v2', 'Standard_DS5_v2_Promo', 'Standard_E16_v3', + 'Standard_E16s_v3', 'Standard_E2_v3', 'Standard_E2s_v3', + 'Standard_E32-16s_v3', 'Standard_E32-8s_v3', 'Standard_E32_v3', + 'Standard_E32s_v3', 'Standard_E4_v3', 'Standard_E4s_v3', + 'Standard_E64-16s_v3', 'Standard_E64-32s_v3', 'Standard_E64_v3', + 'Standard_E64s_v3', 'Standard_E8_v3', 'Standard_E8s_v3', 'Standard_F1', + 'Standard_F16', 'Standard_F16s', 'Standard_F16s_v2', 'Standard_F1s', + 'Standard_F2', 'Standard_F2s', 'Standard_F2s_v2', 'Standard_F32s_v2', + 'Standard_F4', 'Standard_F4s', 'Standard_F4s_v2', 'Standard_F64s_v2', + 'Standard_F72s_v2', 'Standard_F8', 'Standard_F8s', 'Standard_F8s_v2', + 'Standard_G1', 'Standard_G2', 'Standard_G3', 'Standard_G4', 'Standard_G5', + 'Standard_GS1', 'Standard_GS2', 'Standard_GS3', 'Standard_GS4', + 'Standard_GS4-4', 'Standard_GS4-8', 'Standard_GS5', 'Standard_GS5-16', + 'Standard_GS5-8', 'Standard_H16', 'Standard_H16m', 'Standard_H16mr', + 'Standard_H16r', 'Standard_H8', 'Standard_H8m', 'Standard_L16s', + 'Standard_L32s', 'Standard_L4s', 'Standard_L8s', 'Standard_M128-32ms', + 'Standard_M128-64ms', 'Standard_M128ms', 'Standard_M128s', + 'Standard_M64-16ms', 'Standard_M64-32ms', 'Standard_M64ms', + 'Standard_M64s', 'Standard_NC12', 'Standard_NC12s_v2', + 'Standard_NC12s_v3', 'Standard_NC24', 'Standard_NC24r', + 'Standard_NC24rs_v2', 'Standard_NC24rs_v3', 'Standard_NC24s_v2', + 'Standard_NC24s_v3', 'Standard_NC6', 'Standard_NC6s_v2', + 'Standard_NC6s_v3', 'Standard_ND12s', 'Standard_ND24rs', 'Standard_ND24s', + 'Standard_ND6s', 'Standard_NV12', 'Standard_NV24', 'Standard_NV6' + :type vm_size: str or + ~azure.mgmt.containerservice.v2020_04_01.models.ContainerServiceVMSizeTypes + :param os_disk_size_gb: OS Disk Size in GB to be used to specify the disk + size for every machine in this master/agent pool. If you specify 0, it + will apply the default osDisk size according to the vmSize specified. + :type os_disk_size_gb: int + :param vnet_subnet_id: VNet SubnetID specifies the VNet's subnet + identifier. + :type vnet_subnet_id: str + :param first_consecutive_static_ip: FirstConsecutiveStaticIP used to + specify the first static ip of masters. Default value: "10.240.255.5" . + :type first_consecutive_static_ip: str + :param storage_profile: Storage profile specifies what kind of storage + used. Choose from StorageAccount and ManagedDisks. Leave it empty, we will + choose for you based on the orchestrator choice. Possible values include: + 'StorageAccount', 'ManagedDisks' + :type storage_profile: str or + ~azure.mgmt.containerservice.v2020_04_01.models.ContainerServiceStorageProfileTypes + :ivar fqdn: FQDN for the master pool. + :vartype fqdn: str + """ + + _validation = { + 'dns_prefix': {'required': True}, + 'vm_size': {'required': True}, + 'fqdn': {'readonly': True}, + } + + _attribute_map = { + 'count': {'key': 'count', 'type': 'int'}, + 'dns_prefix': {'key': 'dnsPrefix', 'type': 'str'}, + 'vm_size': {'key': 'vmSize', 'type': 'str'}, + 'os_disk_size_gb': {'key': 'osDiskSizeGB', 'type': 'int'}, + 'vnet_subnet_id': {'key': 'vnetSubnetID', 'type': 'str'}, + 'first_consecutive_static_ip': {'key': 'firstConsecutiveStaticIP', 'type': 'str'}, + 'storage_profile': {'key': 'storageProfile', 'type': 'str'}, + 'fqdn': {'key': 'fqdn', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ContainerServiceMasterProfile, self).__init__(**kwargs) + self.count = kwargs.get('count', 1) + self.dns_prefix = kwargs.get('dns_prefix', None) + self.vm_size = kwargs.get('vm_size', None) + self.os_disk_size_gb = kwargs.get('os_disk_size_gb', None) + self.vnet_subnet_id = kwargs.get('vnet_subnet_id', None) + self.first_consecutive_static_ip = kwargs.get('first_consecutive_static_ip', "10.240.255.5") + self.storage_profile = kwargs.get('storage_profile', None) + self.fqdn = None + + +class ContainerServiceNetworkProfile(Model): + """Profile of network configuration. + + :param network_plugin: Network plugin used for building Kubernetes + network. Possible values include: 'azure', 'kubenet'. Default value: + "kubenet" . + :type network_plugin: str or + ~azure.mgmt.containerservice.v2020_04_01.models.NetworkPlugin + :param network_policy: Network policy used for building Kubernetes + network. Possible values include: 'calico', 'azure' + :type network_policy: str or + ~azure.mgmt.containerservice.v2020_04_01.models.NetworkPolicy + :param network_mode: Network mode used for building Kubernetes network. + Possible values include: 'transparent', 'bridge' + :type network_mode: str or + ~azure.mgmt.containerservice.v2020_04_01.models.NetworkMode + :param pod_cidr: A CIDR notation IP range from which to assign pod IPs + when kubenet is used. Default value: "10.244.0.0/16" . + :type pod_cidr: str + :param service_cidr: A CIDR notation IP range from which to assign service + cluster IPs. It must not overlap with any Subnet IP ranges. Default value: + "10.0.0.0/16" . + :type service_cidr: str + :param dns_service_ip: An IP address assigned to the Kubernetes DNS + service. It must be within the Kubernetes service address range specified + in serviceCidr. Default value: "10.0.0.10" . + :type dns_service_ip: str + :param docker_bridge_cidr: A CIDR notation IP range assigned to the Docker + bridge network. It must not overlap with any Subnet IP ranges or the + Kubernetes service address range. Default value: "172.17.0.1/16" . + :type docker_bridge_cidr: str + :param outbound_type: The outbound (egress) routing method. Possible + values include: 'loadBalancer', 'userDefinedRouting'. Default value: + "loadBalancer" . + :type outbound_type: str or + ~azure.mgmt.containerservice.v2020_04_01.models.OutboundType + :param load_balancer_sku: The load balancer sku for the managed cluster. + Possible values include: 'standard', 'basic' + :type load_balancer_sku: str or + ~azure.mgmt.containerservice.v2020_04_01.models.LoadBalancerSku + :param load_balancer_profile: Profile of the cluster load balancer. + :type load_balancer_profile: + ~azure.mgmt.containerservice.v2020_04_01.models.ManagedClusterLoadBalancerProfile + """ + + _validation = { + 'pod_cidr': {'pattern': r'^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$'}, + 'service_cidr': {'pattern': r'^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$'}, + 'dns_service_ip': {'pattern': r'^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$'}, + 'docker_bridge_cidr': {'pattern': r'^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$'}, + } + + _attribute_map = { + 'network_plugin': {'key': 'networkPlugin', 'type': 'str'}, + 'network_policy': {'key': 'networkPolicy', 'type': 'str'}, + 'network_mode': {'key': 'networkMode', 'type': 'str'}, + 'pod_cidr': {'key': 'podCidr', 'type': 'str'}, + 'service_cidr': {'key': 'serviceCidr', 'type': 'str'}, + 'dns_service_ip': {'key': 'dnsServiceIP', 'type': 'str'}, + 'docker_bridge_cidr': {'key': 'dockerBridgeCidr', 'type': 'str'}, + 'outbound_type': {'key': 'outboundType', 'type': 'str'}, + 'load_balancer_sku': {'key': 'loadBalancerSku', 'type': 'str'}, + 'load_balancer_profile': {'key': 'loadBalancerProfile', 'type': 'ManagedClusterLoadBalancerProfile'}, + } + + def __init__(self, **kwargs): + super(ContainerServiceNetworkProfile, self).__init__(**kwargs) + self.network_plugin = kwargs.get('network_plugin', "kubenet") + self.network_policy = kwargs.get('network_policy', None) + self.network_mode = kwargs.get('network_mode', None) + self.pod_cidr = kwargs.get('pod_cidr', "10.244.0.0/16") + self.service_cidr = kwargs.get('service_cidr', "10.0.0.0/16") + self.dns_service_ip = kwargs.get('dns_service_ip', "10.0.0.10") + self.docker_bridge_cidr = kwargs.get('docker_bridge_cidr', "172.17.0.1/16") + self.outbound_type = kwargs.get('outbound_type', "loadBalancer") + self.load_balancer_sku = kwargs.get('load_balancer_sku', None) + self.load_balancer_profile = kwargs.get('load_balancer_profile', None) + + +class ContainerServiceSshConfiguration(Model): + """SSH configuration for Linux-based VMs running on Azure. + + All required parameters must be populated in order to send to Azure. + + :param public_keys: Required. The list of SSH public keys used to + authenticate with Linux-based VMs. Only expect one key specified. + :type public_keys: + list[~azure.mgmt.containerservice.v2020_04_01.models.ContainerServiceSshPublicKey] + """ + + _validation = { + 'public_keys': {'required': True}, + } + + _attribute_map = { + 'public_keys': {'key': 'publicKeys', 'type': '[ContainerServiceSshPublicKey]'}, + } + + def __init__(self, **kwargs): + super(ContainerServiceSshConfiguration, self).__init__(**kwargs) + self.public_keys = kwargs.get('public_keys', None) + + +class ContainerServiceSshPublicKey(Model): + """Contains information about SSH certificate public key data. + + All required parameters must be populated in order to send to Azure. + + :param key_data: Required. Certificate public key used to authenticate + with VMs through SSH. The certificate must be in PEM format with or + without headers. + :type key_data: str + """ + + _validation = { + 'key_data': {'required': True}, + } + + _attribute_map = { + 'key_data': {'key': 'keyData', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ContainerServiceSshPublicKey, self).__init__(**kwargs) + self.key_data = kwargs.get('key_data', None) + + +class ContainerServiceVMDiagnostics(Model): + """Profile for diagnostics on the container service VMs. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param enabled: Required. Whether the VM diagnostic agent is provisioned + on the VM. + :type enabled: bool + :ivar storage_uri: The URI of the storage account where diagnostics are + stored. + :vartype storage_uri: str + """ + + _validation = { + 'enabled': {'required': True}, + 'storage_uri': {'readonly': True}, + } + + _attribute_map = { + 'enabled': {'key': 'enabled', 'type': 'bool'}, + 'storage_uri': {'key': 'storageUri', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ContainerServiceVMDiagnostics, self).__init__(**kwargs) + self.enabled = kwargs.get('enabled', None) + self.storage_uri = None + + +class CredentialResult(Model): + """The credential result response. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name: The name of the credential. + :vartype name: str + :ivar value: Base64-encoded Kubernetes configuration file. + :vartype value: bytearray + """ + + _validation = { + 'name': {'readonly': True}, + 'value': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'bytearray'}, + } + + def __init__(self, **kwargs): + super(CredentialResult, self).__init__(**kwargs) + self.name = None + self.value = None + + +class CredentialResults(Model): + """The list of credential result response. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar kubeconfigs: Base64-encoded Kubernetes configuration file. + :vartype kubeconfigs: + list[~azure.mgmt.containerservice.v2020_04_01.models.CredentialResult] + """ + + _validation = { + 'kubeconfigs': {'readonly': True}, + } + + _attribute_map = { + 'kubeconfigs': {'key': 'kubeconfigs', 'type': '[CredentialResult]'}, + } + + def __init__(self, **kwargs): + super(CredentialResults, self).__init__(**kwargs) + self.kubeconfigs = None + + +class Resource(Model): + """The Resource model definition. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Resource Id + :vartype id: str + :ivar name: Resource name + :vartype name: str + :ivar type: Resource type + :vartype type: str + :param location: Required. Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, **kwargs): + super(Resource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.location = kwargs.get('location', None) + self.tags = kwargs.get('tags', None) + + +class ManagedCluster(Resource): + """Managed cluster. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Resource Id + :vartype id: str + :ivar name: Resource name + :vartype name: str + :ivar type: Resource type + :vartype type: str + :param location: Required. Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + :ivar provisioning_state: The current deployment or provisioning state, + which only appears in the response. + :vartype provisioning_state: str + :ivar max_agent_pools: The max number of agent pools for the managed + cluster. + :vartype max_agent_pools: int + :param kubernetes_version: Version of Kubernetes specified when creating + the managed cluster. + :type kubernetes_version: str + :param dns_prefix: DNS prefix specified when creating the managed cluster. + :type dns_prefix: str + :ivar fqdn: FQDN for the master pool. + :vartype fqdn: str + :ivar private_fqdn: FQDN of private cluster. + :vartype private_fqdn: str + :param agent_pool_profiles: Properties of the agent pool. + :type agent_pool_profiles: + list[~azure.mgmt.containerservice.v2020_04_01.models.ManagedClusterAgentPoolProfile] + :param linux_profile: Profile for Linux VMs in the container service + cluster. + :type linux_profile: + ~azure.mgmt.containerservice.v2020_04_01.models.ContainerServiceLinuxProfile + :param windows_profile: Profile for Windows VMs in the container service + cluster. + :type windows_profile: + ~azure.mgmt.containerservice.v2020_04_01.models.ManagedClusterWindowsProfile + :param service_principal_profile: Information about a service principal + identity for the cluster to use for manipulating Azure APIs. + :type service_principal_profile: + ~azure.mgmt.containerservice.v2020_04_01.models.ManagedClusterServicePrincipalProfile + :param addon_profiles: Profile of managed cluster add-on. + :type addon_profiles: dict[str, + ~azure.mgmt.containerservice.v2020_04_01.models.ManagedClusterAddonProfile] + :param node_resource_group: Name of the resource group containing agent + pool nodes. + :type node_resource_group: str + :param enable_rbac: Whether to enable Kubernetes Role-Based Access + Control. + :type enable_rbac: bool + :param enable_pod_security_policy: (PREVIEW) Whether to enable Kubernetes + Pod security policy. + :type enable_pod_security_policy: bool + :param network_profile: Profile of network configuration. + :type network_profile: + ~azure.mgmt.containerservice.v2020_04_01.models.ContainerServiceNetworkProfile + :param aad_profile: Profile of Azure Active Directory configuration. + :type aad_profile: + ~azure.mgmt.containerservice.v2020_04_01.models.ManagedClusterAADProfile + :param auto_scaler_profile: Parameters to be applied to the + cluster-autoscaler when enabled + :type auto_scaler_profile: + ~azure.mgmt.containerservice.v2020_04_01.models.ManagedClusterPropertiesAutoScalerProfile + :param api_server_access_profile: Access profile for managed cluster API + server. + :type api_server_access_profile: + ~azure.mgmt.containerservice.v2020_04_01.models.ManagedClusterAPIServerAccessProfile + :param disk_encryption_set_id: ResourceId of the disk encryption set to + use for enabling encryption at rest. + :type disk_encryption_set_id: str + :param identity_profile: Identities associated with the cluster. + :type identity_profile: dict[str, + ~azure.mgmt.containerservice.v2020_04_01.models.ManagedClusterPropertiesIdentityProfileValue] + :param identity: The identity of the managed cluster, if configured. + :type identity: + ~azure.mgmt.containerservice.v2020_04_01.models.ManagedClusterIdentity + :param sku: The managed cluster SKU. + :type sku: + ~azure.mgmt.containerservice.v2020_04_01.models.ManagedClusterSKU + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'max_agent_pools': {'readonly': True}, + 'fqdn': {'readonly': True}, + 'private_fqdn': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'max_agent_pools': {'key': 'properties.maxAgentPools', 'type': 'int'}, + 'kubernetes_version': {'key': 'properties.kubernetesVersion', 'type': 'str'}, + 'dns_prefix': {'key': 'properties.dnsPrefix', 'type': 'str'}, + 'fqdn': {'key': 'properties.fqdn', 'type': 'str'}, + 'private_fqdn': {'key': 'properties.privateFQDN', 'type': 'str'}, + 'agent_pool_profiles': {'key': 'properties.agentPoolProfiles', 'type': '[ManagedClusterAgentPoolProfile]'}, + 'linux_profile': {'key': 'properties.linuxProfile', 'type': 'ContainerServiceLinuxProfile'}, + 'windows_profile': {'key': 'properties.windowsProfile', 'type': 'ManagedClusterWindowsProfile'}, + 'service_principal_profile': {'key': 'properties.servicePrincipalProfile', 'type': 'ManagedClusterServicePrincipalProfile'}, + 'addon_profiles': {'key': 'properties.addonProfiles', 'type': '{ManagedClusterAddonProfile}'}, + 'node_resource_group': {'key': 'properties.nodeResourceGroup', 'type': 'str'}, + 'enable_rbac': {'key': 'properties.enableRBAC', 'type': 'bool'}, + 'enable_pod_security_policy': {'key': 'properties.enablePodSecurityPolicy', 'type': 'bool'}, + 'network_profile': {'key': 'properties.networkProfile', 'type': 'ContainerServiceNetworkProfile'}, + 'aad_profile': {'key': 'properties.aadProfile', 'type': 'ManagedClusterAADProfile'}, + 'auto_scaler_profile': {'key': 'properties.autoScalerProfile', 'type': 'ManagedClusterPropertiesAutoScalerProfile'}, + 'api_server_access_profile': {'key': 'properties.apiServerAccessProfile', 'type': 'ManagedClusterAPIServerAccessProfile'}, + 'disk_encryption_set_id': {'key': 'properties.diskEncryptionSetID', 'type': 'str'}, + 'identity_profile': {'key': 'properties.identityProfile', 'type': '{ManagedClusterPropertiesIdentityProfileValue}'}, + 'identity': {'key': 'identity', 'type': 'ManagedClusterIdentity'}, + 'sku': {'key': 'sku', 'type': 'ManagedClusterSKU'}, + } + + def __init__(self, **kwargs): + super(ManagedCluster, self).__init__(**kwargs) + self.provisioning_state = None + self.max_agent_pools = None + self.kubernetes_version = kwargs.get('kubernetes_version', None) + self.dns_prefix = kwargs.get('dns_prefix', None) + self.fqdn = None + self.private_fqdn = None + self.agent_pool_profiles = kwargs.get('agent_pool_profiles', None) + self.linux_profile = kwargs.get('linux_profile', None) + self.windows_profile = kwargs.get('windows_profile', None) + self.service_principal_profile = kwargs.get('service_principal_profile', None) + self.addon_profiles = kwargs.get('addon_profiles', None) + self.node_resource_group = kwargs.get('node_resource_group', None) + self.enable_rbac = kwargs.get('enable_rbac', None) + self.enable_pod_security_policy = kwargs.get('enable_pod_security_policy', None) + self.network_profile = kwargs.get('network_profile', None) + self.aad_profile = kwargs.get('aad_profile', None) + self.auto_scaler_profile = kwargs.get('auto_scaler_profile', None) + self.api_server_access_profile = kwargs.get('api_server_access_profile', None) + self.disk_encryption_set_id = kwargs.get('disk_encryption_set_id', None) + self.identity_profile = kwargs.get('identity_profile', None) + self.identity = kwargs.get('identity', None) + self.sku = kwargs.get('sku', None) + + +class ManagedClusterAADProfile(Model): + """AADProfile specifies attributes for Azure Active Directory integration. + + :param managed: Whether to enable managed AAD. + :type managed: bool + :param admin_group_object_ids: AAD group object IDs that will have admin + role of the cluster. + :type admin_group_object_ids: list[str] + :param client_app_id: The client AAD application ID. + :type client_app_id: str + :param server_app_id: The server AAD application ID. + :type server_app_id: str + :param server_app_secret: The server AAD application secret. + :type server_app_secret: str + :param tenant_id: The AAD tenant ID to use for authentication. If not + specified, will use the tenant of the deployment subscription. + :type tenant_id: str + """ + + _attribute_map = { + 'managed': {'key': 'managed', 'type': 'bool'}, + 'admin_group_object_ids': {'key': 'adminGroupObjectIDs', 'type': '[str]'}, + 'client_app_id': {'key': 'clientAppID', 'type': 'str'}, + 'server_app_id': {'key': 'serverAppID', 'type': 'str'}, + 'server_app_secret': {'key': 'serverAppSecret', 'type': 'str'}, + 'tenant_id': {'key': 'tenantID', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ManagedClusterAADProfile, self).__init__(**kwargs) + self.managed = kwargs.get('managed', None) + self.admin_group_object_ids = kwargs.get('admin_group_object_ids', None) + self.client_app_id = kwargs.get('client_app_id', None) + self.server_app_id = kwargs.get('server_app_id', None) + self.server_app_secret = kwargs.get('server_app_secret', None) + self.tenant_id = kwargs.get('tenant_id', None) + + +class ManagedClusterAccessProfile(Resource): + """Managed cluster Access Profile. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Resource Id + :vartype id: str + :ivar name: Resource name + :vartype name: str + :ivar type: Resource type + :vartype type: str + :param location: Required. Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + :param kube_config: Base64-encoded Kubernetes configuration file. + :type kube_config: bytearray + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'kube_config': {'key': 'properties.kubeConfig', 'type': 'bytearray'}, + } + + def __init__(self, **kwargs): + super(ManagedClusterAccessProfile, self).__init__(**kwargs) + self.kube_config = kwargs.get('kube_config', None) + + +class ManagedClusterAddonProfile(Model): + """A Kubernetes add-on profile for a managed cluster. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param enabled: Required. Whether the add-on is enabled or not. + :type enabled: bool + :param config: Key-value pairs for configuring an add-on. + :type config: dict[str, str] + :ivar identity: Information of user assigned identity used by this add-on. + :vartype identity: + ~azure.mgmt.containerservice.v2020_04_01.models.ManagedClusterAddonProfileIdentity + """ + + _validation = { + 'enabled': {'required': True}, + 'identity': {'readonly': True}, + } + + _attribute_map = { + 'enabled': {'key': 'enabled', 'type': 'bool'}, + 'config': {'key': 'config', 'type': '{str}'}, + 'identity': {'key': 'identity', 'type': 'ManagedClusterAddonProfileIdentity'}, + } + + def __init__(self, **kwargs): + super(ManagedClusterAddonProfile, self).__init__(**kwargs) + self.enabled = kwargs.get('enabled', None) + self.config = kwargs.get('config', None) + self.identity = None + + +class UserAssignedIdentity(Model): + """UserAssignedIdentity. + + :param resource_id: The resource id of the user assigned identity. + :type resource_id: str + :param client_id: The client id of the user assigned identity. + :type client_id: str + :param object_id: The object id of the user assigned identity. + :type object_id: str + """ + + _attribute_map = { + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + 'client_id': {'key': 'clientId', 'type': 'str'}, + 'object_id': {'key': 'objectId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(UserAssignedIdentity, self).__init__(**kwargs) + self.resource_id = kwargs.get('resource_id', None) + self.client_id = kwargs.get('client_id', None) + self.object_id = kwargs.get('object_id', None) + + +class ManagedClusterAddonProfileIdentity(UserAssignedIdentity): + """Information of user assigned identity used by this add-on. + + :param resource_id: The resource id of the user assigned identity. + :type resource_id: str + :param client_id: The client id of the user assigned identity. + :type client_id: str + :param object_id: The object id of the user assigned identity. + :type object_id: str + """ + + _attribute_map = { + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + 'client_id': {'key': 'clientId', 'type': 'str'}, + 'object_id': {'key': 'objectId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ManagedClusterAddonProfileIdentity, self).__init__(**kwargs) + + +class ManagedClusterAgentPoolProfileProperties(Model): + """Properties for the container service agent pool profile. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param count: Required. Number of agents (VMs) to host docker containers. + Allowed values must be in the range of 0 to 100 (inclusive). The default + value is 1. . Default value: 1 . + :type count: int + :param vm_size: Required. Size of agent VMs. Possible values include: + 'Standard_A1', 'Standard_A10', 'Standard_A11', 'Standard_A1_v2', + 'Standard_A2', 'Standard_A2_v2', 'Standard_A2m_v2', 'Standard_A3', + 'Standard_A4', 'Standard_A4_v2', 'Standard_A4m_v2', 'Standard_A5', + 'Standard_A6', 'Standard_A7', 'Standard_A8', 'Standard_A8_v2', + 'Standard_A8m_v2', 'Standard_A9', 'Standard_B2ms', 'Standard_B2s', + 'Standard_B4ms', 'Standard_B8ms', 'Standard_D1', 'Standard_D11', + 'Standard_D11_v2', 'Standard_D11_v2_Promo', 'Standard_D12', + 'Standard_D12_v2', 'Standard_D12_v2_Promo', 'Standard_D13', + 'Standard_D13_v2', 'Standard_D13_v2_Promo', 'Standard_D14', + 'Standard_D14_v2', 'Standard_D14_v2_Promo', 'Standard_D15_v2', + 'Standard_D16_v3', 'Standard_D16s_v3', 'Standard_D1_v2', 'Standard_D2', + 'Standard_D2_v2', 'Standard_D2_v2_Promo', 'Standard_D2_v3', + 'Standard_D2s_v3', 'Standard_D3', 'Standard_D32_v3', 'Standard_D32s_v3', + 'Standard_D3_v2', 'Standard_D3_v2_Promo', 'Standard_D4', 'Standard_D4_v2', + 'Standard_D4_v2_Promo', 'Standard_D4_v3', 'Standard_D4s_v3', + 'Standard_D5_v2', 'Standard_D5_v2_Promo', 'Standard_D64_v3', + 'Standard_D64s_v3', 'Standard_D8_v3', 'Standard_D8s_v3', 'Standard_DS1', + 'Standard_DS11', 'Standard_DS11_v2', 'Standard_DS11_v2_Promo', + 'Standard_DS12', 'Standard_DS12_v2', 'Standard_DS12_v2_Promo', + 'Standard_DS13', 'Standard_DS13-2_v2', 'Standard_DS13-4_v2', + 'Standard_DS13_v2', 'Standard_DS13_v2_Promo', 'Standard_DS14', + 'Standard_DS14-4_v2', 'Standard_DS14-8_v2', 'Standard_DS14_v2', + 'Standard_DS14_v2_Promo', 'Standard_DS15_v2', 'Standard_DS1_v2', + 'Standard_DS2', 'Standard_DS2_v2', 'Standard_DS2_v2_Promo', + 'Standard_DS3', 'Standard_DS3_v2', 'Standard_DS3_v2_Promo', + 'Standard_DS4', 'Standard_DS4_v2', 'Standard_DS4_v2_Promo', + 'Standard_DS5_v2', 'Standard_DS5_v2_Promo', 'Standard_E16_v3', + 'Standard_E16s_v3', 'Standard_E2_v3', 'Standard_E2s_v3', + 'Standard_E32-16s_v3', 'Standard_E32-8s_v3', 'Standard_E32_v3', + 'Standard_E32s_v3', 'Standard_E4_v3', 'Standard_E4s_v3', + 'Standard_E64-16s_v3', 'Standard_E64-32s_v3', 'Standard_E64_v3', + 'Standard_E64s_v3', 'Standard_E8_v3', 'Standard_E8s_v3', 'Standard_F1', + 'Standard_F16', 'Standard_F16s', 'Standard_F16s_v2', 'Standard_F1s', + 'Standard_F2', 'Standard_F2s', 'Standard_F2s_v2', 'Standard_F32s_v2', + 'Standard_F4', 'Standard_F4s', 'Standard_F4s_v2', 'Standard_F64s_v2', + 'Standard_F72s_v2', 'Standard_F8', 'Standard_F8s', 'Standard_F8s_v2', + 'Standard_G1', 'Standard_G2', 'Standard_G3', 'Standard_G4', 'Standard_G5', + 'Standard_GS1', 'Standard_GS2', 'Standard_GS3', 'Standard_GS4', + 'Standard_GS4-4', 'Standard_GS4-8', 'Standard_GS5', 'Standard_GS5-16', + 'Standard_GS5-8', 'Standard_H16', 'Standard_H16m', 'Standard_H16mr', + 'Standard_H16r', 'Standard_H8', 'Standard_H8m', 'Standard_L16s', + 'Standard_L32s', 'Standard_L4s', 'Standard_L8s', 'Standard_M128-32ms', + 'Standard_M128-64ms', 'Standard_M128ms', 'Standard_M128s', + 'Standard_M64-16ms', 'Standard_M64-32ms', 'Standard_M64ms', + 'Standard_M64s', 'Standard_NC12', 'Standard_NC12s_v2', + 'Standard_NC12s_v3', 'Standard_NC24', 'Standard_NC24r', + 'Standard_NC24rs_v2', 'Standard_NC24rs_v3', 'Standard_NC24s_v2', + 'Standard_NC24s_v3', 'Standard_NC6', 'Standard_NC6s_v2', + 'Standard_NC6s_v3', 'Standard_ND12s', 'Standard_ND24rs', 'Standard_ND24s', + 'Standard_ND6s', 'Standard_NV12', 'Standard_NV24', 'Standard_NV6' + :type vm_size: str or + ~azure.mgmt.containerservice.v2020_04_01.models.ContainerServiceVMSizeTypes + :param os_disk_size_gb: OS Disk Size in GB to be used to specify the disk + size for every machine in this master/agent pool. If you specify 0, it + will apply the default osDisk size according to the vmSize specified. + :type os_disk_size_gb: int + :param vnet_subnet_id: VNet SubnetID specifies the VNet's subnet + identifier. + :type vnet_subnet_id: str + :param max_pods: Maximum number of pods that can run on a node. + :type max_pods: int + :param os_type: OsType to be used to specify os type. Choose from Linux + and Windows. Default to Linux. Possible values include: 'Linux', + 'Windows'. Default value: "Linux" . + :type os_type: str or + ~azure.mgmt.containerservice.v2020_04_01.models.OSType + :param max_count: Maximum number of nodes for auto-scaling + :type max_count: int + :param min_count: Minimum number of nodes for auto-scaling + :type min_count: int + :param enable_auto_scaling: Whether to enable auto-scaler + :type enable_auto_scaling: bool + :param type: AgentPoolType represents types of an agent pool. Possible + values include: 'VirtualMachineScaleSets', 'AvailabilitySet' + :type type: str or + ~azure.mgmt.containerservice.v2020_04_01.models.AgentPoolType + :param mode: AgentPoolMode represents mode of an agent pool. Possible + values include: 'System', 'User' + :type mode: str or + ~azure.mgmt.containerservice.v2020_04_01.models.AgentPoolMode + :param orchestrator_version: Version of orchestrator specified when + creating the managed cluster. + :type orchestrator_version: str + :param node_image_version: Version of node image + :type node_image_version: str + :param upgrade_settings: Settings for upgrading the agentpool + :type upgrade_settings: + ~azure.mgmt.containerservice.v2020_04_01.models.AgentPoolUpgradeSettings + :ivar provisioning_state: The current deployment or provisioning state, + which only appears in the response. + :vartype provisioning_state: str + :param availability_zones: Availability zones for nodes. Must use + VirtualMachineScaleSets AgentPoolType. + :type availability_zones: list[str] + :param enable_node_public_ip: Enable public IP for nodes + :type enable_node_public_ip: bool + :param scale_set_priority: ScaleSetPriority to be used to specify virtual + machine scale set priority. Default to regular. Possible values include: + 'Spot', 'Regular'. Default value: "Regular" . + :type scale_set_priority: str or + ~azure.mgmt.containerservice.v2020_04_01.models.ScaleSetPriority + :param scale_set_eviction_policy: ScaleSetEvictionPolicy to be used to + specify eviction policy for Spot virtual machine scale set. Default to + Delete. Possible values include: 'Delete', 'Deallocate'. Default value: + "Delete" . + :type scale_set_eviction_policy: str or + ~azure.mgmt.containerservice.v2020_04_01.models.ScaleSetEvictionPolicy + :param spot_max_price: SpotMaxPrice to be used to specify the maximum + price you are willing to pay in US Dollars. Possible values are any + decimal value greater than zero or -1 which indicates default price to be + up-to on-demand. + :type spot_max_price: float + :param tags: Agent pool tags to be persisted on the agent pool virtual + machine scale set. + :type tags: dict[str, str] + :param node_labels: Agent pool node labels to be persisted across all + nodes in agent pool. + :type node_labels: dict[str, str] + :param node_taints: Taints added to new nodes during node pool create and + scale. For example, key=value:NoSchedule. + :type node_taints: list[str] + """ + + _validation = { + 'count': {'required': True, 'maximum': 100, 'minimum': 0}, + 'vm_size': {'required': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'count': {'key': 'count', 'type': 'int'}, + 'vm_size': {'key': 'vmSize', 'type': 'str'}, + 'os_disk_size_gb': {'key': 'osDiskSizeGB', 'type': 'int'}, + 'vnet_subnet_id': {'key': 'vnetSubnetID', 'type': 'str'}, + 'max_pods': {'key': 'maxPods', 'type': 'int'}, + 'os_type': {'key': 'osType', 'type': 'str'}, + 'max_count': {'key': 'maxCount', 'type': 'int'}, + 'min_count': {'key': 'minCount', 'type': 'int'}, + 'enable_auto_scaling': {'key': 'enableAutoScaling', 'type': 'bool'}, + 'type': {'key': 'type', 'type': 'str'}, + 'mode': {'key': 'mode', 'type': 'str'}, + 'orchestrator_version': {'key': 'orchestratorVersion', 'type': 'str'}, + 'node_image_version': {'key': 'nodeImageVersion', 'type': 'str'}, + 'upgrade_settings': {'key': 'upgradeSettings', 'type': 'AgentPoolUpgradeSettings'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'availability_zones': {'key': 'availabilityZones', 'type': '[str]'}, + 'enable_node_public_ip': {'key': 'enableNodePublicIP', 'type': 'bool'}, + 'scale_set_priority': {'key': 'scaleSetPriority', 'type': 'str'}, + 'scale_set_eviction_policy': {'key': 'scaleSetEvictionPolicy', 'type': 'str'}, + 'spot_max_price': {'key': 'spotMaxPrice', 'type': 'float'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'node_labels': {'key': 'nodeLabels', 'type': '{str}'}, + 'node_taints': {'key': 'nodeTaints', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(ManagedClusterAgentPoolProfileProperties, self).__init__(**kwargs) + self.count = kwargs.get('count', 1) + self.vm_size = kwargs.get('vm_size', None) + self.os_disk_size_gb = kwargs.get('os_disk_size_gb', None) + self.vnet_subnet_id = kwargs.get('vnet_subnet_id', None) + self.max_pods = kwargs.get('max_pods', None) + self.os_type = kwargs.get('os_type', "Linux") + self.max_count = kwargs.get('max_count', None) + self.min_count = kwargs.get('min_count', None) + self.enable_auto_scaling = kwargs.get('enable_auto_scaling', None) + self.type = kwargs.get('type', None) + self.mode = kwargs.get('mode', None) + self.orchestrator_version = kwargs.get('orchestrator_version', None) + self.node_image_version = kwargs.get('node_image_version', None) + self.upgrade_settings = kwargs.get('upgrade_settings', None) + self.provisioning_state = None + self.availability_zones = kwargs.get('availability_zones', None) + self.enable_node_public_ip = kwargs.get('enable_node_public_ip', None) + self.scale_set_priority = kwargs.get('scale_set_priority', "Regular") + self.scale_set_eviction_policy = kwargs.get('scale_set_eviction_policy', "Delete") + self.spot_max_price = kwargs.get('spot_max_price', None) + self.tags = kwargs.get('tags', None) + self.node_labels = kwargs.get('node_labels', None) + self.node_taints = kwargs.get('node_taints', None) + + +class ManagedClusterAgentPoolProfile(ManagedClusterAgentPoolProfileProperties): + """Profile for the container service agent pool. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param count: Required. Number of agents (VMs) to host docker containers. + Allowed values must be in the range of 0 to 100 (inclusive). The default + value is 1. . Default value: 1 . + :type count: int + :param vm_size: Required. Size of agent VMs. Possible values include: + 'Standard_A1', 'Standard_A10', 'Standard_A11', 'Standard_A1_v2', + 'Standard_A2', 'Standard_A2_v2', 'Standard_A2m_v2', 'Standard_A3', + 'Standard_A4', 'Standard_A4_v2', 'Standard_A4m_v2', 'Standard_A5', + 'Standard_A6', 'Standard_A7', 'Standard_A8', 'Standard_A8_v2', + 'Standard_A8m_v2', 'Standard_A9', 'Standard_B2ms', 'Standard_B2s', + 'Standard_B4ms', 'Standard_B8ms', 'Standard_D1', 'Standard_D11', + 'Standard_D11_v2', 'Standard_D11_v2_Promo', 'Standard_D12', + 'Standard_D12_v2', 'Standard_D12_v2_Promo', 'Standard_D13', + 'Standard_D13_v2', 'Standard_D13_v2_Promo', 'Standard_D14', + 'Standard_D14_v2', 'Standard_D14_v2_Promo', 'Standard_D15_v2', + 'Standard_D16_v3', 'Standard_D16s_v3', 'Standard_D1_v2', 'Standard_D2', + 'Standard_D2_v2', 'Standard_D2_v2_Promo', 'Standard_D2_v3', + 'Standard_D2s_v3', 'Standard_D3', 'Standard_D32_v3', 'Standard_D32s_v3', + 'Standard_D3_v2', 'Standard_D3_v2_Promo', 'Standard_D4', 'Standard_D4_v2', + 'Standard_D4_v2_Promo', 'Standard_D4_v3', 'Standard_D4s_v3', + 'Standard_D5_v2', 'Standard_D5_v2_Promo', 'Standard_D64_v3', + 'Standard_D64s_v3', 'Standard_D8_v3', 'Standard_D8s_v3', 'Standard_DS1', + 'Standard_DS11', 'Standard_DS11_v2', 'Standard_DS11_v2_Promo', + 'Standard_DS12', 'Standard_DS12_v2', 'Standard_DS12_v2_Promo', + 'Standard_DS13', 'Standard_DS13-2_v2', 'Standard_DS13-4_v2', + 'Standard_DS13_v2', 'Standard_DS13_v2_Promo', 'Standard_DS14', + 'Standard_DS14-4_v2', 'Standard_DS14-8_v2', 'Standard_DS14_v2', + 'Standard_DS14_v2_Promo', 'Standard_DS15_v2', 'Standard_DS1_v2', + 'Standard_DS2', 'Standard_DS2_v2', 'Standard_DS2_v2_Promo', + 'Standard_DS3', 'Standard_DS3_v2', 'Standard_DS3_v2_Promo', + 'Standard_DS4', 'Standard_DS4_v2', 'Standard_DS4_v2_Promo', + 'Standard_DS5_v2', 'Standard_DS5_v2_Promo', 'Standard_E16_v3', + 'Standard_E16s_v3', 'Standard_E2_v3', 'Standard_E2s_v3', + 'Standard_E32-16s_v3', 'Standard_E32-8s_v3', 'Standard_E32_v3', + 'Standard_E32s_v3', 'Standard_E4_v3', 'Standard_E4s_v3', + 'Standard_E64-16s_v3', 'Standard_E64-32s_v3', 'Standard_E64_v3', + 'Standard_E64s_v3', 'Standard_E8_v3', 'Standard_E8s_v3', 'Standard_F1', + 'Standard_F16', 'Standard_F16s', 'Standard_F16s_v2', 'Standard_F1s', + 'Standard_F2', 'Standard_F2s', 'Standard_F2s_v2', 'Standard_F32s_v2', + 'Standard_F4', 'Standard_F4s', 'Standard_F4s_v2', 'Standard_F64s_v2', + 'Standard_F72s_v2', 'Standard_F8', 'Standard_F8s', 'Standard_F8s_v2', + 'Standard_G1', 'Standard_G2', 'Standard_G3', 'Standard_G4', 'Standard_G5', + 'Standard_GS1', 'Standard_GS2', 'Standard_GS3', 'Standard_GS4', + 'Standard_GS4-4', 'Standard_GS4-8', 'Standard_GS5', 'Standard_GS5-16', + 'Standard_GS5-8', 'Standard_H16', 'Standard_H16m', 'Standard_H16mr', + 'Standard_H16r', 'Standard_H8', 'Standard_H8m', 'Standard_L16s', + 'Standard_L32s', 'Standard_L4s', 'Standard_L8s', 'Standard_M128-32ms', + 'Standard_M128-64ms', 'Standard_M128ms', 'Standard_M128s', + 'Standard_M64-16ms', 'Standard_M64-32ms', 'Standard_M64ms', + 'Standard_M64s', 'Standard_NC12', 'Standard_NC12s_v2', + 'Standard_NC12s_v3', 'Standard_NC24', 'Standard_NC24r', + 'Standard_NC24rs_v2', 'Standard_NC24rs_v3', 'Standard_NC24s_v2', + 'Standard_NC24s_v3', 'Standard_NC6', 'Standard_NC6s_v2', + 'Standard_NC6s_v3', 'Standard_ND12s', 'Standard_ND24rs', 'Standard_ND24s', + 'Standard_ND6s', 'Standard_NV12', 'Standard_NV24', 'Standard_NV6' + :type vm_size: str or + ~azure.mgmt.containerservice.v2020_04_01.models.ContainerServiceVMSizeTypes + :param os_disk_size_gb: OS Disk Size in GB to be used to specify the disk + size for every machine in this master/agent pool. If you specify 0, it + will apply the default osDisk size according to the vmSize specified. + :type os_disk_size_gb: int + :param vnet_subnet_id: VNet SubnetID specifies the VNet's subnet + identifier. + :type vnet_subnet_id: str + :param max_pods: Maximum number of pods that can run on a node. + :type max_pods: int + :param os_type: OsType to be used to specify os type. Choose from Linux + and Windows. Default to Linux. Possible values include: 'Linux', + 'Windows'. Default value: "Linux" . + :type os_type: str or + ~azure.mgmt.containerservice.v2020_04_01.models.OSType + :param max_count: Maximum number of nodes for auto-scaling + :type max_count: int + :param min_count: Minimum number of nodes for auto-scaling + :type min_count: int + :param enable_auto_scaling: Whether to enable auto-scaler + :type enable_auto_scaling: bool + :param type: AgentPoolType represents types of an agent pool. Possible + values include: 'VirtualMachineScaleSets', 'AvailabilitySet' + :type type: str or + ~azure.mgmt.containerservice.v2020_04_01.models.AgentPoolType + :param mode: AgentPoolMode represents mode of an agent pool. Possible + values include: 'System', 'User' + :type mode: str or + ~azure.mgmt.containerservice.v2020_04_01.models.AgentPoolMode + :param orchestrator_version: Version of orchestrator specified when + creating the managed cluster. + :type orchestrator_version: str + :param node_image_version: Version of node image + :type node_image_version: str + :param upgrade_settings: Settings for upgrading the agentpool + :type upgrade_settings: + ~azure.mgmt.containerservice.v2020_04_01.models.AgentPoolUpgradeSettings + :ivar provisioning_state: The current deployment or provisioning state, + which only appears in the response. + :vartype provisioning_state: str + :param availability_zones: Availability zones for nodes. Must use + VirtualMachineScaleSets AgentPoolType. + :type availability_zones: list[str] + :param enable_node_public_ip: Enable public IP for nodes + :type enable_node_public_ip: bool + :param scale_set_priority: ScaleSetPriority to be used to specify virtual + machine scale set priority. Default to regular. Possible values include: + 'Spot', 'Regular'. Default value: "Regular" . + :type scale_set_priority: str or + ~azure.mgmt.containerservice.v2020_04_01.models.ScaleSetPriority + :param scale_set_eviction_policy: ScaleSetEvictionPolicy to be used to + specify eviction policy for Spot virtual machine scale set. Default to + Delete. Possible values include: 'Delete', 'Deallocate'. Default value: + "Delete" . + :type scale_set_eviction_policy: str or + ~azure.mgmt.containerservice.v2020_04_01.models.ScaleSetEvictionPolicy + :param spot_max_price: SpotMaxPrice to be used to specify the maximum + price you are willing to pay in US Dollars. Possible values are any + decimal value greater than zero or -1 which indicates default price to be + up-to on-demand. + :type spot_max_price: float + :param tags: Agent pool tags to be persisted on the agent pool virtual + machine scale set. + :type tags: dict[str, str] + :param node_labels: Agent pool node labels to be persisted across all + nodes in agent pool. + :type node_labels: dict[str, str] + :param node_taints: Taints added to new nodes during node pool create and + scale. For example, key=value:NoSchedule. + :type node_taints: list[str] + :param name: Required. Unique name of the agent pool profile in the + context of the subscription and resource group. + :type name: str + """ + + _validation = { + 'count': {'required': True, 'maximum': 100, 'minimum': 0}, + 'vm_size': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'name': {'required': True, 'pattern': r'^[a-z][a-z0-9]{0,11}$'}, + } + + _attribute_map = { + 'count': {'key': 'count', 'type': 'int'}, + 'vm_size': {'key': 'vmSize', 'type': 'str'}, + 'os_disk_size_gb': {'key': 'osDiskSizeGB', 'type': 'int'}, + 'vnet_subnet_id': {'key': 'vnetSubnetID', 'type': 'str'}, + 'max_pods': {'key': 'maxPods', 'type': 'int'}, + 'os_type': {'key': 'osType', 'type': 'str'}, + 'max_count': {'key': 'maxCount', 'type': 'int'}, + 'min_count': {'key': 'minCount', 'type': 'int'}, + 'enable_auto_scaling': {'key': 'enableAutoScaling', 'type': 'bool'}, + 'type': {'key': 'type', 'type': 'str'}, + 'mode': {'key': 'mode', 'type': 'str'}, + 'orchestrator_version': {'key': 'orchestratorVersion', 'type': 'str'}, + 'node_image_version': {'key': 'nodeImageVersion', 'type': 'str'}, + 'upgrade_settings': {'key': 'upgradeSettings', 'type': 'AgentPoolUpgradeSettings'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'availability_zones': {'key': 'availabilityZones', 'type': '[str]'}, + 'enable_node_public_ip': {'key': 'enableNodePublicIP', 'type': 'bool'}, + 'scale_set_priority': {'key': 'scaleSetPriority', 'type': 'str'}, + 'scale_set_eviction_policy': {'key': 'scaleSetEvictionPolicy', 'type': 'str'}, + 'spot_max_price': {'key': 'spotMaxPrice', 'type': 'float'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'node_labels': {'key': 'nodeLabels', 'type': '{str}'}, + 'node_taints': {'key': 'nodeTaints', 'type': '[str]'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ManagedClusterAgentPoolProfile, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + + +class ManagedClusterAPIServerAccessProfile(Model): + """Access profile for managed cluster API server. + + :param authorized_ip_ranges: Authorized IP Ranges to kubernetes API + server. + :type authorized_ip_ranges: list[str] + :param enable_private_cluster: Whether to create the cluster as a private + cluster or not. + :type enable_private_cluster: bool + """ + + _attribute_map = { + 'authorized_ip_ranges': {'key': 'authorizedIPRanges', 'type': '[str]'}, + 'enable_private_cluster': {'key': 'enablePrivateCluster', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(ManagedClusterAPIServerAccessProfile, self).__init__(**kwargs) + self.authorized_ip_ranges = kwargs.get('authorized_ip_ranges', None) + self.enable_private_cluster = kwargs.get('enable_private_cluster', None) + + +class ManagedClusterIdentity(Model): + """Identity for the managed cluster. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar principal_id: The principal id of the system assigned identity which + is used by master components. + :vartype principal_id: str + :ivar tenant_id: The tenant id of the system assigned identity which is + used by master components. + :vartype tenant_id: str + :param type: The type of identity used for the managed cluster. Type + 'SystemAssigned' will use an implicitly created identity in master + components and an auto-created user assigned identity in MC_ resource + group in agent nodes. Type 'None' will not use MSI for the managed + cluster, service principal will be used instead. Possible values include: + 'SystemAssigned', 'None' + :type type: str or + ~azure.mgmt.containerservice.v2020_04_01.models.ResourceIdentityType + """ + + _validation = { + 'principal_id': {'readonly': True}, + 'tenant_id': {'readonly': True}, + } + + _attribute_map = { + 'principal_id': {'key': 'principalId', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'ResourceIdentityType'}, + } + + def __init__(self, **kwargs): + super(ManagedClusterIdentity, self).__init__(**kwargs) + self.principal_id = None + self.tenant_id = None + self.type = kwargs.get('type', None) + + +class ManagedClusterLoadBalancerProfile(Model): + """Profile of the managed cluster load balancer. + + :param managed_outbound_ips: Desired managed outbound IPs for the cluster + load balancer. + :type managed_outbound_ips: + ~azure.mgmt.containerservice.v2020_04_01.models.ManagedClusterLoadBalancerProfileManagedOutboundIPs + :param outbound_ip_prefixes: Desired outbound IP Prefix resources for the + cluster load balancer. + :type outbound_ip_prefixes: + ~azure.mgmt.containerservice.v2020_04_01.models.ManagedClusterLoadBalancerProfileOutboundIPPrefixes + :param outbound_ips: Desired outbound IP resources for the cluster load + balancer. + :type outbound_ips: + ~azure.mgmt.containerservice.v2020_04_01.models.ManagedClusterLoadBalancerProfileOutboundIPs + :param effective_outbound_ips: The effective outbound IP resources of the + cluster load balancer. + :type effective_outbound_ips: + list[~azure.mgmt.containerservice.v2020_04_01.models.ResourceReference] + :param allocated_outbound_ports: Desired number of allocated SNAT ports + per VM. Allowed values must be in the range of 0 to 64000 (inclusive). The + default value is 0 which results in Azure dynamically allocating ports. + Default value: 0 . + :type allocated_outbound_ports: int + :param idle_timeout_in_minutes: Desired outbound flow idle timeout in + minutes. Allowed values must be in the range of 4 to 120 (inclusive). The + default value is 30 minutes. Default value: 30 . + :type idle_timeout_in_minutes: int + """ + + _validation = { + 'allocated_outbound_ports': {'maximum': 64000, 'minimum': 0}, + 'idle_timeout_in_minutes': {'maximum': 120, 'minimum': 4}, + } + + _attribute_map = { + 'managed_outbound_ips': {'key': 'managedOutboundIPs', 'type': 'ManagedClusterLoadBalancerProfileManagedOutboundIPs'}, + 'outbound_ip_prefixes': {'key': 'outboundIPPrefixes', 'type': 'ManagedClusterLoadBalancerProfileOutboundIPPrefixes'}, + 'outbound_ips': {'key': 'outboundIPs', 'type': 'ManagedClusterLoadBalancerProfileOutboundIPs'}, + 'effective_outbound_ips': {'key': 'effectiveOutboundIPs', 'type': '[ResourceReference]'}, + 'allocated_outbound_ports': {'key': 'allocatedOutboundPorts', 'type': 'int'}, + 'idle_timeout_in_minutes': {'key': 'idleTimeoutInMinutes', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(ManagedClusterLoadBalancerProfile, self).__init__(**kwargs) + self.managed_outbound_ips = kwargs.get('managed_outbound_ips', None) + self.outbound_ip_prefixes = kwargs.get('outbound_ip_prefixes', None) + self.outbound_ips = kwargs.get('outbound_ips', None) + self.effective_outbound_ips = kwargs.get('effective_outbound_ips', None) + self.allocated_outbound_ports = kwargs.get('allocated_outbound_ports', 0) + self.idle_timeout_in_minutes = kwargs.get('idle_timeout_in_minutes', 30) + + +class ManagedClusterLoadBalancerProfileManagedOutboundIPs(Model): + """Desired managed outbound IPs for the cluster load balancer. + + :param count: Desired number of outbound IP created/managed by Azure for + the cluster load balancer. Allowed values must be in the range of 1 to 100 + (inclusive). The default value is 1. . Default value: 1 . + :type count: int + """ + + _validation = { + 'count': {'maximum': 100, 'minimum': 1}, + } + + _attribute_map = { + 'count': {'key': 'count', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(ManagedClusterLoadBalancerProfileManagedOutboundIPs, self).__init__(**kwargs) + self.count = kwargs.get('count', 1) + + +class ManagedClusterLoadBalancerProfileOutboundIPPrefixes(Model): + """Desired outbound IP Prefix resources for the cluster load balancer. + + :param public_ip_prefixes: A list of public IP prefix resources. + :type public_ip_prefixes: + list[~azure.mgmt.containerservice.v2020_04_01.models.ResourceReference] + """ + + _attribute_map = { + 'public_ip_prefixes': {'key': 'publicIPPrefixes', 'type': '[ResourceReference]'}, + } + + def __init__(self, **kwargs): + super(ManagedClusterLoadBalancerProfileOutboundIPPrefixes, self).__init__(**kwargs) + self.public_ip_prefixes = kwargs.get('public_ip_prefixes', None) + + +class ManagedClusterLoadBalancerProfileOutboundIPs(Model): + """Desired outbound IP resources for the cluster load balancer. + + :param public_ips: A list of public IP resources. + :type public_ips: + list[~azure.mgmt.containerservice.v2020_04_01.models.ResourceReference] + """ + + _attribute_map = { + 'public_ips': {'key': 'publicIPs', 'type': '[ResourceReference]'}, + } + + def __init__(self, **kwargs): + super(ManagedClusterLoadBalancerProfileOutboundIPs, self).__init__(**kwargs) + self.public_ips = kwargs.get('public_ips', None) + + +class ManagedClusterPoolUpgradeProfile(Model): + """The list of available upgrade versions. + + All required parameters must be populated in order to send to Azure. + + :param kubernetes_version: Required. Kubernetes version (major, minor, + patch). + :type kubernetes_version: str + :param name: Pool name. + :type name: str + :param os_type: Required. OsType to be used to specify os type. Choose + from Linux and Windows. Default to Linux. Possible values include: + 'Linux', 'Windows'. Default value: "Linux" . + :type os_type: str or + ~azure.mgmt.containerservice.v2020_04_01.models.OSType + :param upgrades: List of orchestrator types and versions available for + upgrade. + :type upgrades: + list[~azure.mgmt.containerservice.v2020_04_01.models.ManagedClusterPoolUpgradeProfileUpgradesItem] + """ + + _validation = { + 'kubernetes_version': {'required': True}, + 'os_type': {'required': True}, + } + + _attribute_map = { + 'kubernetes_version': {'key': 'kubernetesVersion', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'os_type': {'key': 'osType', 'type': 'str'}, + 'upgrades': {'key': 'upgrades', 'type': '[ManagedClusterPoolUpgradeProfileUpgradesItem]'}, + } + + def __init__(self, **kwargs): + super(ManagedClusterPoolUpgradeProfile, self).__init__(**kwargs) + self.kubernetes_version = kwargs.get('kubernetes_version', None) + self.name = kwargs.get('name', None) + self.os_type = kwargs.get('os_type', "Linux") + self.upgrades = kwargs.get('upgrades', None) + + +class ManagedClusterPoolUpgradeProfileUpgradesItem(Model): + """ManagedClusterPoolUpgradeProfileUpgradesItem. + + :param kubernetes_version: Kubernetes version (major, minor, patch). + :type kubernetes_version: str + :param is_preview: Whether Kubernetes version is currently in preview. + :type is_preview: bool + """ + + _attribute_map = { + 'kubernetes_version': {'key': 'kubernetesVersion', 'type': 'str'}, + 'is_preview': {'key': 'isPreview', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(ManagedClusterPoolUpgradeProfileUpgradesItem, self).__init__(**kwargs) + self.kubernetes_version = kwargs.get('kubernetes_version', None) + self.is_preview = kwargs.get('is_preview', None) + + +class ManagedClusterPropertiesAutoScalerProfile(Model): + """Parameters to be applied to the cluster-autoscaler when enabled. + + :param balance_similar_node_groups: + :type balance_similar_node_groups: str + :param scan_interval: + :type scan_interval: str + :param scale_down_delay_after_add: + :type scale_down_delay_after_add: str + :param scale_down_delay_after_delete: + :type scale_down_delay_after_delete: str + :param scale_down_delay_after_failure: + :type scale_down_delay_after_failure: str + :param scale_down_unneeded_time: + :type scale_down_unneeded_time: str + :param scale_down_unready_time: + :type scale_down_unready_time: str + :param scale_down_utilization_threshold: + :type scale_down_utilization_threshold: str + :param max_graceful_termination_sec: + :type max_graceful_termination_sec: str + """ + + _attribute_map = { + 'balance_similar_node_groups': {'key': 'balance-similar-node-groups', 'type': 'str'}, + 'scan_interval': {'key': 'scan-interval', 'type': 'str'}, + 'scale_down_delay_after_add': {'key': 'scale-down-delay-after-add', 'type': 'str'}, + 'scale_down_delay_after_delete': {'key': 'scale-down-delay-after-delete', 'type': 'str'}, + 'scale_down_delay_after_failure': {'key': 'scale-down-delay-after-failure', 'type': 'str'}, + 'scale_down_unneeded_time': {'key': 'scale-down-unneeded-time', 'type': 'str'}, + 'scale_down_unready_time': {'key': 'scale-down-unready-time', 'type': 'str'}, + 'scale_down_utilization_threshold': {'key': 'scale-down-utilization-threshold', 'type': 'str'}, + 'max_graceful_termination_sec': {'key': 'max-graceful-termination-sec', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ManagedClusterPropertiesAutoScalerProfile, self).__init__(**kwargs) + self.balance_similar_node_groups = kwargs.get('balance_similar_node_groups', None) + self.scan_interval = kwargs.get('scan_interval', None) + self.scale_down_delay_after_add = kwargs.get('scale_down_delay_after_add', None) + self.scale_down_delay_after_delete = kwargs.get('scale_down_delay_after_delete', None) + self.scale_down_delay_after_failure = kwargs.get('scale_down_delay_after_failure', None) + self.scale_down_unneeded_time = kwargs.get('scale_down_unneeded_time', None) + self.scale_down_unready_time = kwargs.get('scale_down_unready_time', None) + self.scale_down_utilization_threshold = kwargs.get('scale_down_utilization_threshold', None) + self.max_graceful_termination_sec = kwargs.get('max_graceful_termination_sec', None) + + +class ManagedClusterPropertiesIdentityProfileValue(UserAssignedIdentity): + """ManagedClusterPropertiesIdentityProfileValue. + + :param resource_id: The resource id of the user assigned identity. + :type resource_id: str + :param client_id: The client id of the user assigned identity. + :type client_id: str + :param object_id: The object id of the user assigned identity. + :type object_id: str + """ + + _attribute_map = { + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + 'client_id': {'key': 'clientId', 'type': 'str'}, + 'object_id': {'key': 'objectId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ManagedClusterPropertiesIdentityProfileValue, self).__init__(**kwargs) + + +class ManagedClusterServicePrincipalProfile(Model): + """Information about a service principal identity for the cluster to use for + manipulating Azure APIs. + + All required parameters must be populated in order to send to Azure. + + :param client_id: Required. The ID for the service principal. + :type client_id: str + :param secret: The secret password associated with the service principal + in plain text. + :type secret: str + """ + + _validation = { + 'client_id': {'required': True}, + } + + _attribute_map = { + 'client_id': {'key': 'clientId', 'type': 'str'}, + 'secret': {'key': 'secret', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ManagedClusterServicePrincipalProfile, self).__init__(**kwargs) + self.client_id = kwargs.get('client_id', None) + self.secret = kwargs.get('secret', None) + + +class ManagedClusterSKU(Model): + """ManagedClusterSKU. + + :param name: Name of a managed cluster SKU. Possible values include: + 'Basic' + :type name: str or + ~azure.mgmt.containerservice.v2020_04_01.models.ManagedClusterSKUName + :param tier: Tier of a managed cluster SKU. Possible values include: + 'Paid', 'Free' + :type tier: str or + ~azure.mgmt.containerservice.v2020_04_01.models.ManagedClusterSKUTier + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ManagedClusterSKU, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.tier = kwargs.get('tier', None) + + +class ManagedClusterUpgradeProfile(Model): + """The list of available upgrades for compute pools. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Id of upgrade profile. + :vartype id: str + :ivar name: Name of upgrade profile. + :vartype name: str + :ivar type: Type of upgrade profile. + :vartype type: str + :param control_plane_profile: Required. The list of available upgrade + versions for the control plane. + :type control_plane_profile: + ~azure.mgmt.containerservice.v2020_04_01.models.ManagedClusterPoolUpgradeProfile + :param agent_pool_profiles: Required. The list of available upgrade + versions for agent pools. + :type agent_pool_profiles: + list[~azure.mgmt.containerservice.v2020_04_01.models.ManagedClusterPoolUpgradeProfile] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'control_plane_profile': {'required': True}, + 'agent_pool_profiles': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'control_plane_profile': {'key': 'properties.controlPlaneProfile', 'type': 'ManagedClusterPoolUpgradeProfile'}, + 'agent_pool_profiles': {'key': 'properties.agentPoolProfiles', 'type': '[ManagedClusterPoolUpgradeProfile]'}, + } + + def __init__(self, **kwargs): + super(ManagedClusterUpgradeProfile, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.control_plane_profile = kwargs.get('control_plane_profile', None) + self.agent_pool_profiles = kwargs.get('agent_pool_profiles', None) + + +class ManagedClusterWindowsProfile(Model): + """Profile for Windows VMs in the container service cluster. + + All required parameters must be populated in order to send to Azure. + + :param admin_username: Required. The administrator username to use for + Windows VMs. + :type admin_username: str + :param admin_password: The administrator password to use for Windows VMs. + :type admin_password: str + """ + + _validation = { + 'admin_username': {'required': True, 'pattern': r'^[a-zA-Z0-9]+([._]?[a-zA-Z0-9]+)*$'}, + 'admin_password': {'pattern': r'^(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%\^&\*\(\)])[a-zA-Z\d!@#$%\^&\*\(\)]{12,123}$'}, + } + + _attribute_map = { + 'admin_username': {'key': 'adminUsername', 'type': 'str'}, + 'admin_password': {'key': 'adminPassword', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ManagedClusterWindowsProfile, self).__init__(**kwargs) + self.admin_username = kwargs.get('admin_username', None) + self.admin_password = kwargs.get('admin_password', None) + + +class OperationValue(Model): + """Describes the properties of a Compute Operation value. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar origin: The origin of the compute operation. + :vartype origin: str + :ivar name: The name of the compute operation. + :vartype name: str + :ivar operation: The display name of the compute operation. + :vartype operation: str + :ivar resource: The display name of the resource the operation applies to. + :vartype resource: str + :ivar description: The description of the operation. + :vartype description: str + :ivar provider: The resource provider for the operation. + :vartype provider: str + """ + + _validation = { + 'origin': {'readonly': True}, + 'name': {'readonly': True}, + 'operation': {'readonly': True}, + 'resource': {'readonly': True}, + 'description': {'readonly': True}, + 'provider': {'readonly': True}, + } + + _attribute_map = { + 'origin': {'key': 'origin', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'operation': {'key': 'display.operation', 'type': 'str'}, + 'resource': {'key': 'display.resource', 'type': 'str'}, + 'description': {'key': 'display.description', 'type': 'str'}, + 'provider': {'key': 'display.provider', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(OperationValue, self).__init__(**kwargs) + self.origin = None + self.name = None + self.operation = None + self.resource = None + self.description = None + self.provider = None + + +class ResourceReference(Model): + """A reference to an Azure resource. + + :param id: The fully qualified Azure resource id. + :type id: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ResourceReference, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + + +class TagsObject(Model): + """Tags object for patch operations. + + :param tags: Resource tags. + :type tags: dict[str, str] + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, **kwargs): + super(TagsObject, self).__init__(**kwargs) + self.tags = kwargs.get('tags', None) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_04_01/models/_models_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_04_01/models/_models_py3.py new file mode 100644 index 00000000000..f0e613b6baa --- /dev/null +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_04_01/models/_models_py3.py @@ -0,0 +1,2100 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model +from msrest.exceptions import HttpOperationError + + +class SubResource(Model): + """Reference to another subresource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :vartype name: str + :ivar type: Resource type + :vartype type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(SubResource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + + +class AgentPool(SubResource): + """Agent Pool. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :vartype name: str + :ivar type: Resource type + :vartype type: str + :param count: Required. Number of agents (VMs) to host docker containers. + Allowed values must be in the range of 0 to 100 (inclusive). The default + value is 1. . Default value: 1 . + :type count: int + :param vm_size: Required. Size of agent VMs. Possible values include: + 'Standard_A1', 'Standard_A10', 'Standard_A11', 'Standard_A1_v2', + 'Standard_A2', 'Standard_A2_v2', 'Standard_A2m_v2', 'Standard_A3', + 'Standard_A4', 'Standard_A4_v2', 'Standard_A4m_v2', 'Standard_A5', + 'Standard_A6', 'Standard_A7', 'Standard_A8', 'Standard_A8_v2', + 'Standard_A8m_v2', 'Standard_A9', 'Standard_B2ms', 'Standard_B2s', + 'Standard_B4ms', 'Standard_B8ms', 'Standard_D1', 'Standard_D11', + 'Standard_D11_v2', 'Standard_D11_v2_Promo', 'Standard_D12', + 'Standard_D12_v2', 'Standard_D12_v2_Promo', 'Standard_D13', + 'Standard_D13_v2', 'Standard_D13_v2_Promo', 'Standard_D14', + 'Standard_D14_v2', 'Standard_D14_v2_Promo', 'Standard_D15_v2', + 'Standard_D16_v3', 'Standard_D16s_v3', 'Standard_D1_v2', 'Standard_D2', + 'Standard_D2_v2', 'Standard_D2_v2_Promo', 'Standard_D2_v3', + 'Standard_D2s_v3', 'Standard_D3', 'Standard_D32_v3', 'Standard_D32s_v3', + 'Standard_D3_v2', 'Standard_D3_v2_Promo', 'Standard_D4', 'Standard_D4_v2', + 'Standard_D4_v2_Promo', 'Standard_D4_v3', 'Standard_D4s_v3', + 'Standard_D5_v2', 'Standard_D5_v2_Promo', 'Standard_D64_v3', + 'Standard_D64s_v3', 'Standard_D8_v3', 'Standard_D8s_v3', 'Standard_DS1', + 'Standard_DS11', 'Standard_DS11_v2', 'Standard_DS11_v2_Promo', + 'Standard_DS12', 'Standard_DS12_v2', 'Standard_DS12_v2_Promo', + 'Standard_DS13', 'Standard_DS13-2_v2', 'Standard_DS13-4_v2', + 'Standard_DS13_v2', 'Standard_DS13_v2_Promo', 'Standard_DS14', + 'Standard_DS14-4_v2', 'Standard_DS14-8_v2', 'Standard_DS14_v2', + 'Standard_DS14_v2_Promo', 'Standard_DS15_v2', 'Standard_DS1_v2', + 'Standard_DS2', 'Standard_DS2_v2', 'Standard_DS2_v2_Promo', + 'Standard_DS3', 'Standard_DS3_v2', 'Standard_DS3_v2_Promo', + 'Standard_DS4', 'Standard_DS4_v2', 'Standard_DS4_v2_Promo', + 'Standard_DS5_v2', 'Standard_DS5_v2_Promo', 'Standard_E16_v3', + 'Standard_E16s_v3', 'Standard_E2_v3', 'Standard_E2s_v3', + 'Standard_E32-16s_v3', 'Standard_E32-8s_v3', 'Standard_E32_v3', + 'Standard_E32s_v3', 'Standard_E4_v3', 'Standard_E4s_v3', + 'Standard_E64-16s_v3', 'Standard_E64-32s_v3', 'Standard_E64_v3', + 'Standard_E64s_v3', 'Standard_E8_v3', 'Standard_E8s_v3', 'Standard_F1', + 'Standard_F16', 'Standard_F16s', 'Standard_F16s_v2', 'Standard_F1s', + 'Standard_F2', 'Standard_F2s', 'Standard_F2s_v2', 'Standard_F32s_v2', + 'Standard_F4', 'Standard_F4s', 'Standard_F4s_v2', 'Standard_F64s_v2', + 'Standard_F72s_v2', 'Standard_F8', 'Standard_F8s', 'Standard_F8s_v2', + 'Standard_G1', 'Standard_G2', 'Standard_G3', 'Standard_G4', 'Standard_G5', + 'Standard_GS1', 'Standard_GS2', 'Standard_GS3', 'Standard_GS4', + 'Standard_GS4-4', 'Standard_GS4-8', 'Standard_GS5', 'Standard_GS5-16', + 'Standard_GS5-8', 'Standard_H16', 'Standard_H16m', 'Standard_H16mr', + 'Standard_H16r', 'Standard_H8', 'Standard_H8m', 'Standard_L16s', + 'Standard_L32s', 'Standard_L4s', 'Standard_L8s', 'Standard_M128-32ms', + 'Standard_M128-64ms', 'Standard_M128ms', 'Standard_M128s', + 'Standard_M64-16ms', 'Standard_M64-32ms', 'Standard_M64ms', + 'Standard_M64s', 'Standard_NC12', 'Standard_NC12s_v2', + 'Standard_NC12s_v3', 'Standard_NC24', 'Standard_NC24r', + 'Standard_NC24rs_v2', 'Standard_NC24rs_v3', 'Standard_NC24s_v2', + 'Standard_NC24s_v3', 'Standard_NC6', 'Standard_NC6s_v2', + 'Standard_NC6s_v3', 'Standard_ND12s', 'Standard_ND24rs', 'Standard_ND24s', + 'Standard_ND6s', 'Standard_NV12', 'Standard_NV24', 'Standard_NV6' + :type vm_size: str or + ~azure.mgmt.containerservice.v2020_04_01.models.ContainerServiceVMSizeTypes + :param os_disk_size_gb: OS Disk Size in GB to be used to specify the disk + size for every machine in this master/agent pool. If you specify 0, it + will apply the default osDisk size according to the vmSize specified. + :type os_disk_size_gb: int + :param vnet_subnet_id: VNet SubnetID specifies the VNet's subnet + identifier. + :type vnet_subnet_id: str + :param max_pods: Maximum number of pods that can run on a node. + :type max_pods: int + :param os_type: OsType to be used to specify os type. Choose from Linux + and Windows. Default to Linux. Possible values include: 'Linux', + 'Windows'. Default value: "Linux" . + :type os_type: str or + ~azure.mgmt.containerservice.v2020_04_01.models.OSType + :param max_count: Maximum number of nodes for auto-scaling + :type max_count: int + :param min_count: Minimum number of nodes for auto-scaling + :type min_count: int + :param enable_auto_scaling: Whether to enable auto-scaler + :type enable_auto_scaling: bool + :param agent_pool_type: AgentPoolType represents types of an agent pool. + Possible values include: 'VirtualMachineScaleSets', 'AvailabilitySet' + :type agent_pool_type: str or + ~azure.mgmt.containerservice.v2020_04_01.models.AgentPoolType + :param mode: AgentPoolMode represents mode of an agent pool. Possible + values include: 'System', 'User' + :type mode: str or + ~azure.mgmt.containerservice.v2020_04_01.models.AgentPoolMode + :param orchestrator_version: Version of orchestrator specified when + creating the managed cluster. + :type orchestrator_version: str + :param node_image_version: Version of node image + :type node_image_version: str + :param upgrade_settings: Settings for upgrading the agentpool + :type upgrade_settings: + ~azure.mgmt.containerservice.v2020_04_01.models.AgentPoolUpgradeSettings + :ivar provisioning_state: The current deployment or provisioning state, + which only appears in the response. + :vartype provisioning_state: str + :param availability_zones: Availability zones for nodes. Must use + VirtualMachineScaleSets AgentPoolType. + :type availability_zones: list[str] + :param enable_node_public_ip: Enable public IP for nodes + :type enable_node_public_ip: bool + :param scale_set_priority: ScaleSetPriority to be used to specify virtual + machine scale set priority. Default to regular. Possible values include: + 'Spot', 'Regular'. Default value: "Regular" . + :type scale_set_priority: str or + ~azure.mgmt.containerservice.v2020_04_01.models.ScaleSetPriority + :param scale_set_eviction_policy: ScaleSetEvictionPolicy to be used to + specify eviction policy for Spot virtual machine scale set. Default to + Delete. Possible values include: 'Delete', 'Deallocate'. Default value: + "Delete" . + :type scale_set_eviction_policy: str or + ~azure.mgmt.containerservice.v2020_04_01.models.ScaleSetEvictionPolicy + :param spot_max_price: SpotMaxPrice to be used to specify the maximum + price you are willing to pay in US Dollars. Possible values are any + decimal value greater than zero or -1 which indicates default price to be + up-to on-demand. + :type spot_max_price: float + :param tags: Agent pool tags to be persisted on the agent pool virtual + machine scale set. + :type tags: dict[str, str] + :param node_labels: Agent pool node labels to be persisted across all + nodes in agent pool. + :type node_labels: dict[str, str] + :param node_taints: Taints added to new nodes during node pool create and + scale. For example, key=value:NoSchedule. + :type node_taints: list[str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'count': {'required': True, 'maximum': 100, 'minimum': 0}, + 'vm_size': {'required': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'count': {'key': 'properties.count', 'type': 'int'}, + 'vm_size': {'key': 'properties.vmSize', 'type': 'str'}, + 'os_disk_size_gb': {'key': 'properties.osDiskSizeGB', 'type': 'int'}, + 'vnet_subnet_id': {'key': 'properties.vnetSubnetID', 'type': 'str'}, + 'max_pods': {'key': 'properties.maxPods', 'type': 'int'}, + 'os_type': {'key': 'properties.osType', 'type': 'str'}, + 'max_count': {'key': 'properties.maxCount', 'type': 'int'}, + 'min_count': {'key': 'properties.minCount', 'type': 'int'}, + 'enable_auto_scaling': {'key': 'properties.enableAutoScaling', 'type': 'bool'}, + 'agent_pool_type': {'key': 'properties.type', 'type': 'str'}, + 'mode': {'key': 'properties.mode', 'type': 'str'}, + 'orchestrator_version': {'key': 'properties.orchestratorVersion', 'type': 'str'}, + 'node_image_version': {'key': 'properties.nodeImageVersion', 'type': 'str'}, + 'upgrade_settings': {'key': 'properties.upgradeSettings', 'type': 'AgentPoolUpgradeSettings'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'availability_zones': {'key': 'properties.availabilityZones', 'type': '[str]'}, + 'enable_node_public_ip': {'key': 'properties.enableNodePublicIP', 'type': 'bool'}, + 'scale_set_priority': {'key': 'properties.scaleSetPriority', 'type': 'str'}, + 'scale_set_eviction_policy': {'key': 'properties.scaleSetEvictionPolicy', 'type': 'str'}, + 'spot_max_price': {'key': 'properties.spotMaxPrice', 'type': 'float'}, + 'tags': {'key': 'properties.tags', 'type': '{str}'}, + 'node_labels': {'key': 'properties.nodeLabels', 'type': '{str}'}, + 'node_taints': {'key': 'properties.nodeTaints', 'type': '[str]'}, + } + + def __init__(self, *, vm_size, count: int=1, os_disk_size_gb: int=None, vnet_subnet_id: str=None, max_pods: int=None, os_type="Linux", max_count: int=None, min_count: int=None, enable_auto_scaling: bool=None, agent_pool_type=None, mode=None, orchestrator_version: str=None, node_image_version: str=None, upgrade_settings=None, availability_zones=None, enable_node_public_ip: bool=None, scale_set_priority="Regular", scale_set_eviction_policy="Delete", spot_max_price: float=None, tags=None, node_labels=None, node_taints=None, **kwargs) -> None: + super(AgentPool, self).__init__(**kwargs) + self.count = count + self.vm_size = vm_size + self.os_disk_size_gb = os_disk_size_gb + self.vnet_subnet_id = vnet_subnet_id + self.max_pods = max_pods + self.os_type = os_type + self.max_count = max_count + self.min_count = min_count + self.enable_auto_scaling = enable_auto_scaling + self.agent_pool_type = agent_pool_type + self.mode = mode + self.orchestrator_version = orchestrator_version + self.node_image_version = node_image_version + self.upgrade_settings = upgrade_settings + self.provisioning_state = None + self.availability_zones = availability_zones + self.enable_node_public_ip = enable_node_public_ip + self.scale_set_priority = scale_set_priority + self.scale_set_eviction_policy = scale_set_eviction_policy + self.spot_max_price = spot_max_price + self.tags = tags + self.node_labels = node_labels + self.node_taints = node_taints + + +class AgentPoolAvailableVersions(Model): + """The list of available versions for an agent pool. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Id of the agent pool available versions. + :vartype id: str + :ivar name: Name of the agent pool available versions. + :vartype name: str + :ivar type: Type of the agent pool available versions. + :vartype type: str + :param agent_pool_versions: List of versions available for agent pool. + :type agent_pool_versions: + list[~azure.mgmt.containerservice.v2020_04_01.models.AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'agent_pool_versions': {'key': 'properties.agentPoolVersions', 'type': '[AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem]'}, + } + + def __init__(self, *, agent_pool_versions=None, **kwargs) -> None: + super(AgentPoolAvailableVersions, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.agent_pool_versions = agent_pool_versions + + +class AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem(Model): + """AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem. + + :param default: Whether this version is the default agent pool version. + :type default: bool + :param kubernetes_version: Kubernetes version (major, minor, patch). + :type kubernetes_version: str + :param is_preview: Whether Kubernetes version is currently in preview. + :type is_preview: bool + """ + + _attribute_map = { + 'default': {'key': 'default', 'type': 'bool'}, + 'kubernetes_version': {'key': 'kubernetesVersion', 'type': 'str'}, + 'is_preview': {'key': 'isPreview', 'type': 'bool'}, + } + + def __init__(self, *, default: bool=None, kubernetes_version: str=None, is_preview: bool=None, **kwargs) -> None: + super(AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem, self).__init__(**kwargs) + self.default = default + self.kubernetes_version = kubernetes_version + self.is_preview = is_preview + + +class AgentPoolUpgradeProfile(Model): + """The list of available upgrades for an agent pool. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Id of the agent pool upgrade profile. + :vartype id: str + :ivar name: Name of the agent pool upgrade profile. + :vartype name: str + :ivar type: Type of the agent pool upgrade profile. + :vartype type: str + :param kubernetes_version: Required. Kubernetes version (major, minor, + patch). + :type kubernetes_version: str + :param os_type: Required. OsType to be used to specify os type. Choose + from Linux and Windows. Default to Linux. Possible values include: + 'Linux', 'Windows'. Default value: "Linux" . + :type os_type: str or + ~azure.mgmt.containerservice.v2020_04_01.models.OSType + :param upgrades: List of orchestrator types and versions available for + upgrade. + :type upgrades: + list[~azure.mgmt.containerservice.v2020_04_01.models.AgentPoolUpgradeProfilePropertiesUpgradesItem] + :param latest_node_image_version: LatestNodeImageVersion is the latest AKS + supported node image version. + :type latest_node_image_version: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'kubernetes_version': {'required': True}, + 'os_type': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kubernetes_version': {'key': 'properties.kubernetesVersion', 'type': 'str'}, + 'os_type': {'key': 'properties.osType', 'type': 'str'}, + 'upgrades': {'key': 'properties.upgrades', 'type': '[AgentPoolUpgradeProfilePropertiesUpgradesItem]'}, + 'latest_node_image_version': {'key': 'properties.latestNodeImageVersion', 'type': 'str'}, + } + + def __init__(self, *, kubernetes_version: str, os_type="Linux", upgrades=None, latest_node_image_version: str=None, **kwargs) -> None: + super(AgentPoolUpgradeProfile, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.kubernetes_version = kubernetes_version + self.os_type = os_type + self.upgrades = upgrades + self.latest_node_image_version = latest_node_image_version + + +class AgentPoolUpgradeProfilePropertiesUpgradesItem(Model): + """AgentPoolUpgradeProfilePropertiesUpgradesItem. + + :param kubernetes_version: Kubernetes version (major, minor, patch). + :type kubernetes_version: str + :param is_preview: Whether Kubernetes version is currently in preview. + :type is_preview: bool + """ + + _attribute_map = { + 'kubernetes_version': {'key': 'kubernetesVersion', 'type': 'str'}, + 'is_preview': {'key': 'isPreview', 'type': 'bool'}, + } + + def __init__(self, *, kubernetes_version: str=None, is_preview: bool=None, **kwargs) -> None: + super(AgentPoolUpgradeProfilePropertiesUpgradesItem, self).__init__(**kwargs) + self.kubernetes_version = kubernetes_version + self.is_preview = is_preview + + +class AgentPoolUpgradeSettings(Model): + """Settings for upgrading an agentpool. + + :param max_surge: Count or percentage of additional nodes to be added + during upgrade. If empty uses AKS default + :type max_surge: str + """ + + _attribute_map = { + 'max_surge': {'key': 'maxSurge', 'type': 'str'}, + } + + def __init__(self, *, max_surge: str=None, **kwargs) -> None: + super(AgentPoolUpgradeSettings, self).__init__(**kwargs) + self.max_surge = max_surge + + +class CloudError(Model): + """An error response from the Container service. + + :param error: Details about the error. + :type error: + ~azure.mgmt.containerservice.v2020_04_01.models.CloudErrorBody + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'CloudErrorBody'}, + } + + def __init__(self, *, error=None, **kwargs) -> None: + super(CloudError, self).__init__(**kwargs) + self.error = error + + +class CloudErrorException(HttpOperationError): + """Server responsed with exception of type: 'CloudError'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(CloudErrorException, self).__init__(deserialize, response, 'CloudError', *args) + + +class CloudErrorBody(Model): + """An error response from the Container service. + + :param code: An identifier for the error. Codes are invariant and are + intended to be consumed programmatically. + :type code: str + :param message: A message describing the error, intended to be suitable + for display in a user interface. + :type message: str + :param target: The target of the particular error. For example, the name + of the property in error. + :type target: str + :param details: A list of additional details about the error. + :type details: + list[~azure.mgmt.containerservice.v2020_04_01.models.CloudErrorBody] + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[CloudErrorBody]'}, + } + + def __init__(self, *, code: str=None, message: str=None, target: str=None, details=None, **kwargs) -> None: + super(CloudErrorBody, self).__init__(**kwargs) + self.code = code + self.message = message + self.target = target + self.details = details + + +class ContainerServiceDiagnosticsProfile(Model): + """Profile for diagnostics on the container service cluster. + + All required parameters must be populated in order to send to Azure. + + :param vm_diagnostics: Required. Profile for diagnostics on the container + service VMs. + :type vm_diagnostics: + ~azure.mgmt.containerservice.v2020_04_01.models.ContainerServiceVMDiagnostics + """ + + _validation = { + 'vm_diagnostics': {'required': True}, + } + + _attribute_map = { + 'vm_diagnostics': {'key': 'vmDiagnostics', 'type': 'ContainerServiceVMDiagnostics'}, + } + + def __init__(self, *, vm_diagnostics, **kwargs) -> None: + super(ContainerServiceDiagnosticsProfile, self).__init__(**kwargs) + self.vm_diagnostics = vm_diagnostics + + +class ContainerServiceLinuxProfile(Model): + """Profile for Linux VMs in the container service cluster. + + All required parameters must be populated in order to send to Azure. + + :param admin_username: Required. The administrator username to use for + Linux VMs. + :type admin_username: str + :param ssh: Required. SSH configuration for Linux-based VMs running on + Azure. + :type ssh: + ~azure.mgmt.containerservice.v2020_04_01.models.ContainerServiceSshConfiguration + """ + + _validation = { + 'admin_username': {'required': True, 'pattern': r'^[A-Za-z][-A-Za-z0-9_]*$'}, + 'ssh': {'required': True}, + } + + _attribute_map = { + 'admin_username': {'key': 'adminUsername', 'type': 'str'}, + 'ssh': {'key': 'ssh', 'type': 'ContainerServiceSshConfiguration'}, + } + + def __init__(self, *, admin_username: str, ssh, **kwargs) -> None: + super(ContainerServiceLinuxProfile, self).__init__(**kwargs) + self.admin_username = admin_username + self.ssh = ssh + + +class ContainerServiceMasterProfile(Model): + """Profile for the container service master. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param count: Number of masters (VMs) in the container service cluster. + Allowed values are 1, 3, and 5. The default value is 1. Default value: 1 . + :type count: int + :param dns_prefix: Required. DNS prefix to be used to create the FQDN for + the master pool. + :type dns_prefix: str + :param vm_size: Required. Size of agent VMs. Possible values include: + 'Standard_A1', 'Standard_A10', 'Standard_A11', 'Standard_A1_v2', + 'Standard_A2', 'Standard_A2_v2', 'Standard_A2m_v2', 'Standard_A3', + 'Standard_A4', 'Standard_A4_v2', 'Standard_A4m_v2', 'Standard_A5', + 'Standard_A6', 'Standard_A7', 'Standard_A8', 'Standard_A8_v2', + 'Standard_A8m_v2', 'Standard_A9', 'Standard_B2ms', 'Standard_B2s', + 'Standard_B4ms', 'Standard_B8ms', 'Standard_D1', 'Standard_D11', + 'Standard_D11_v2', 'Standard_D11_v2_Promo', 'Standard_D12', + 'Standard_D12_v2', 'Standard_D12_v2_Promo', 'Standard_D13', + 'Standard_D13_v2', 'Standard_D13_v2_Promo', 'Standard_D14', + 'Standard_D14_v2', 'Standard_D14_v2_Promo', 'Standard_D15_v2', + 'Standard_D16_v3', 'Standard_D16s_v3', 'Standard_D1_v2', 'Standard_D2', + 'Standard_D2_v2', 'Standard_D2_v2_Promo', 'Standard_D2_v3', + 'Standard_D2s_v3', 'Standard_D3', 'Standard_D32_v3', 'Standard_D32s_v3', + 'Standard_D3_v2', 'Standard_D3_v2_Promo', 'Standard_D4', 'Standard_D4_v2', + 'Standard_D4_v2_Promo', 'Standard_D4_v3', 'Standard_D4s_v3', + 'Standard_D5_v2', 'Standard_D5_v2_Promo', 'Standard_D64_v3', + 'Standard_D64s_v3', 'Standard_D8_v3', 'Standard_D8s_v3', 'Standard_DS1', + 'Standard_DS11', 'Standard_DS11_v2', 'Standard_DS11_v2_Promo', + 'Standard_DS12', 'Standard_DS12_v2', 'Standard_DS12_v2_Promo', + 'Standard_DS13', 'Standard_DS13-2_v2', 'Standard_DS13-4_v2', + 'Standard_DS13_v2', 'Standard_DS13_v2_Promo', 'Standard_DS14', + 'Standard_DS14-4_v2', 'Standard_DS14-8_v2', 'Standard_DS14_v2', + 'Standard_DS14_v2_Promo', 'Standard_DS15_v2', 'Standard_DS1_v2', + 'Standard_DS2', 'Standard_DS2_v2', 'Standard_DS2_v2_Promo', + 'Standard_DS3', 'Standard_DS3_v2', 'Standard_DS3_v2_Promo', + 'Standard_DS4', 'Standard_DS4_v2', 'Standard_DS4_v2_Promo', + 'Standard_DS5_v2', 'Standard_DS5_v2_Promo', 'Standard_E16_v3', + 'Standard_E16s_v3', 'Standard_E2_v3', 'Standard_E2s_v3', + 'Standard_E32-16s_v3', 'Standard_E32-8s_v3', 'Standard_E32_v3', + 'Standard_E32s_v3', 'Standard_E4_v3', 'Standard_E4s_v3', + 'Standard_E64-16s_v3', 'Standard_E64-32s_v3', 'Standard_E64_v3', + 'Standard_E64s_v3', 'Standard_E8_v3', 'Standard_E8s_v3', 'Standard_F1', + 'Standard_F16', 'Standard_F16s', 'Standard_F16s_v2', 'Standard_F1s', + 'Standard_F2', 'Standard_F2s', 'Standard_F2s_v2', 'Standard_F32s_v2', + 'Standard_F4', 'Standard_F4s', 'Standard_F4s_v2', 'Standard_F64s_v2', + 'Standard_F72s_v2', 'Standard_F8', 'Standard_F8s', 'Standard_F8s_v2', + 'Standard_G1', 'Standard_G2', 'Standard_G3', 'Standard_G4', 'Standard_G5', + 'Standard_GS1', 'Standard_GS2', 'Standard_GS3', 'Standard_GS4', + 'Standard_GS4-4', 'Standard_GS4-8', 'Standard_GS5', 'Standard_GS5-16', + 'Standard_GS5-8', 'Standard_H16', 'Standard_H16m', 'Standard_H16mr', + 'Standard_H16r', 'Standard_H8', 'Standard_H8m', 'Standard_L16s', + 'Standard_L32s', 'Standard_L4s', 'Standard_L8s', 'Standard_M128-32ms', + 'Standard_M128-64ms', 'Standard_M128ms', 'Standard_M128s', + 'Standard_M64-16ms', 'Standard_M64-32ms', 'Standard_M64ms', + 'Standard_M64s', 'Standard_NC12', 'Standard_NC12s_v2', + 'Standard_NC12s_v3', 'Standard_NC24', 'Standard_NC24r', + 'Standard_NC24rs_v2', 'Standard_NC24rs_v3', 'Standard_NC24s_v2', + 'Standard_NC24s_v3', 'Standard_NC6', 'Standard_NC6s_v2', + 'Standard_NC6s_v3', 'Standard_ND12s', 'Standard_ND24rs', 'Standard_ND24s', + 'Standard_ND6s', 'Standard_NV12', 'Standard_NV24', 'Standard_NV6' + :type vm_size: str or + ~azure.mgmt.containerservice.v2020_04_01.models.ContainerServiceVMSizeTypes + :param os_disk_size_gb: OS Disk Size in GB to be used to specify the disk + size for every machine in this master/agent pool. If you specify 0, it + will apply the default osDisk size according to the vmSize specified. + :type os_disk_size_gb: int + :param vnet_subnet_id: VNet SubnetID specifies the VNet's subnet + identifier. + :type vnet_subnet_id: str + :param first_consecutive_static_ip: FirstConsecutiveStaticIP used to + specify the first static ip of masters. Default value: "10.240.255.5" . + :type first_consecutive_static_ip: str + :param storage_profile: Storage profile specifies what kind of storage + used. Choose from StorageAccount and ManagedDisks. Leave it empty, we will + choose for you based on the orchestrator choice. Possible values include: + 'StorageAccount', 'ManagedDisks' + :type storage_profile: str or + ~azure.mgmt.containerservice.v2020_04_01.models.ContainerServiceStorageProfileTypes + :ivar fqdn: FQDN for the master pool. + :vartype fqdn: str + """ + + _validation = { + 'dns_prefix': {'required': True}, + 'vm_size': {'required': True}, + 'fqdn': {'readonly': True}, + } + + _attribute_map = { + 'count': {'key': 'count', 'type': 'int'}, + 'dns_prefix': {'key': 'dnsPrefix', 'type': 'str'}, + 'vm_size': {'key': 'vmSize', 'type': 'str'}, + 'os_disk_size_gb': {'key': 'osDiskSizeGB', 'type': 'int'}, + 'vnet_subnet_id': {'key': 'vnetSubnetID', 'type': 'str'}, + 'first_consecutive_static_ip': {'key': 'firstConsecutiveStaticIP', 'type': 'str'}, + 'storage_profile': {'key': 'storageProfile', 'type': 'str'}, + 'fqdn': {'key': 'fqdn', 'type': 'str'}, + } + + def __init__(self, *, dns_prefix: str, vm_size, count: int=1, os_disk_size_gb: int=None, vnet_subnet_id: str=None, first_consecutive_static_ip: str="10.240.255.5", storage_profile=None, **kwargs) -> None: + super(ContainerServiceMasterProfile, self).__init__(**kwargs) + self.count = count + self.dns_prefix = dns_prefix + self.vm_size = vm_size + self.os_disk_size_gb = os_disk_size_gb + self.vnet_subnet_id = vnet_subnet_id + self.first_consecutive_static_ip = first_consecutive_static_ip + self.storage_profile = storage_profile + self.fqdn = None + + +class ContainerServiceNetworkProfile(Model): + """Profile of network configuration. + + :param network_plugin: Network plugin used for building Kubernetes + network. Possible values include: 'azure', 'kubenet'. Default value: + "kubenet" . + :type network_plugin: str or + ~azure.mgmt.containerservice.v2020_04_01.models.NetworkPlugin + :param network_policy: Network policy used for building Kubernetes + network. Possible values include: 'calico', 'azure' + :type network_policy: str or + ~azure.mgmt.containerservice.v2020_04_01.models.NetworkPolicy + :param network_mode: Network mode used for building Kubernetes network. + Possible values include: 'transparent', 'bridge' + :type network_mode: str or + ~azure.mgmt.containerservice.v2020_04_01.models.NetworkMode + :param pod_cidr: A CIDR notation IP range from which to assign pod IPs + when kubenet is used. Default value: "10.244.0.0/16" . + :type pod_cidr: str + :param service_cidr: A CIDR notation IP range from which to assign service + cluster IPs. It must not overlap with any Subnet IP ranges. Default value: + "10.0.0.0/16" . + :type service_cidr: str + :param dns_service_ip: An IP address assigned to the Kubernetes DNS + service. It must be within the Kubernetes service address range specified + in serviceCidr. Default value: "10.0.0.10" . + :type dns_service_ip: str + :param docker_bridge_cidr: A CIDR notation IP range assigned to the Docker + bridge network. It must not overlap with any Subnet IP ranges or the + Kubernetes service address range. Default value: "172.17.0.1/16" . + :type docker_bridge_cidr: str + :param outbound_type: The outbound (egress) routing method. Possible + values include: 'loadBalancer', 'userDefinedRouting'. Default value: + "loadBalancer" . + :type outbound_type: str or + ~azure.mgmt.containerservice.v2020_04_01.models.OutboundType + :param load_balancer_sku: The load balancer sku for the managed cluster. + Possible values include: 'standard', 'basic' + :type load_balancer_sku: str or + ~azure.mgmt.containerservice.v2020_04_01.models.LoadBalancerSku + :param load_balancer_profile: Profile of the cluster load balancer. + :type load_balancer_profile: + ~azure.mgmt.containerservice.v2020_04_01.models.ManagedClusterLoadBalancerProfile + """ + + _validation = { + 'pod_cidr': {'pattern': r'^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$'}, + 'service_cidr': {'pattern': r'^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$'}, + 'dns_service_ip': {'pattern': r'^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$'}, + 'docker_bridge_cidr': {'pattern': r'^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$'}, + } + + _attribute_map = { + 'network_plugin': {'key': 'networkPlugin', 'type': 'str'}, + 'network_policy': {'key': 'networkPolicy', 'type': 'str'}, + 'network_mode': {'key': 'networkMode', 'type': 'str'}, + 'pod_cidr': {'key': 'podCidr', 'type': 'str'}, + 'service_cidr': {'key': 'serviceCidr', 'type': 'str'}, + 'dns_service_ip': {'key': 'dnsServiceIP', 'type': 'str'}, + 'docker_bridge_cidr': {'key': 'dockerBridgeCidr', 'type': 'str'}, + 'outbound_type': {'key': 'outboundType', 'type': 'str'}, + 'load_balancer_sku': {'key': 'loadBalancerSku', 'type': 'str'}, + 'load_balancer_profile': {'key': 'loadBalancerProfile', 'type': 'ManagedClusterLoadBalancerProfile'}, + } + + def __init__(self, *, network_plugin="kubenet", network_policy=None, network_mode=None, pod_cidr: str="10.244.0.0/16", service_cidr: str="10.0.0.0/16", dns_service_ip: str="10.0.0.10", docker_bridge_cidr: str="172.17.0.1/16", outbound_type="loadBalancer", load_balancer_sku=None, load_balancer_profile=None, **kwargs) -> None: + super(ContainerServiceNetworkProfile, self).__init__(**kwargs) + self.network_plugin = network_plugin + self.network_policy = network_policy + self.network_mode = network_mode + self.pod_cidr = pod_cidr + self.service_cidr = service_cidr + self.dns_service_ip = dns_service_ip + self.docker_bridge_cidr = docker_bridge_cidr + self.outbound_type = outbound_type + self.load_balancer_sku = load_balancer_sku + self.load_balancer_profile = load_balancer_profile + + +class ContainerServiceSshConfiguration(Model): + """SSH configuration for Linux-based VMs running on Azure. + + All required parameters must be populated in order to send to Azure. + + :param public_keys: Required. The list of SSH public keys used to + authenticate with Linux-based VMs. Only expect one key specified. + :type public_keys: + list[~azure.mgmt.containerservice.v2020_04_01.models.ContainerServiceSshPublicKey] + """ + + _validation = { + 'public_keys': {'required': True}, + } + + _attribute_map = { + 'public_keys': {'key': 'publicKeys', 'type': '[ContainerServiceSshPublicKey]'}, + } + + def __init__(self, *, public_keys, **kwargs) -> None: + super(ContainerServiceSshConfiguration, self).__init__(**kwargs) + self.public_keys = public_keys + + +class ContainerServiceSshPublicKey(Model): + """Contains information about SSH certificate public key data. + + All required parameters must be populated in order to send to Azure. + + :param key_data: Required. Certificate public key used to authenticate + with VMs through SSH. The certificate must be in PEM format with or + without headers. + :type key_data: str + """ + + _validation = { + 'key_data': {'required': True}, + } + + _attribute_map = { + 'key_data': {'key': 'keyData', 'type': 'str'}, + } + + def __init__(self, *, key_data: str, **kwargs) -> None: + super(ContainerServiceSshPublicKey, self).__init__(**kwargs) + self.key_data = key_data + + +class ContainerServiceVMDiagnostics(Model): + """Profile for diagnostics on the container service VMs. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param enabled: Required. Whether the VM diagnostic agent is provisioned + on the VM. + :type enabled: bool + :ivar storage_uri: The URI of the storage account where diagnostics are + stored. + :vartype storage_uri: str + """ + + _validation = { + 'enabled': {'required': True}, + 'storage_uri': {'readonly': True}, + } + + _attribute_map = { + 'enabled': {'key': 'enabled', 'type': 'bool'}, + 'storage_uri': {'key': 'storageUri', 'type': 'str'}, + } + + def __init__(self, *, enabled: bool, **kwargs) -> None: + super(ContainerServiceVMDiagnostics, self).__init__(**kwargs) + self.enabled = enabled + self.storage_uri = None + + +class CredentialResult(Model): + """The credential result response. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name: The name of the credential. + :vartype name: str + :ivar value: Base64-encoded Kubernetes configuration file. + :vartype value: bytearray + """ + + _validation = { + 'name': {'readonly': True}, + 'value': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'bytearray'}, + } + + def __init__(self, **kwargs) -> None: + super(CredentialResult, self).__init__(**kwargs) + self.name = None + self.value = None + + +class CredentialResults(Model): + """The list of credential result response. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar kubeconfigs: Base64-encoded Kubernetes configuration file. + :vartype kubeconfigs: + list[~azure.mgmt.containerservice.v2020_04_01.models.CredentialResult] + """ + + _validation = { + 'kubeconfigs': {'readonly': True}, + } + + _attribute_map = { + 'kubeconfigs': {'key': 'kubeconfigs', 'type': '[CredentialResult]'}, + } + + def __init__(self, **kwargs) -> None: + super(CredentialResults, self).__init__(**kwargs) + self.kubeconfigs = None + + +class Resource(Model): + """The Resource model definition. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Resource Id + :vartype id: str + :ivar name: Resource name + :vartype name: str + :ivar type: Resource type + :vartype type: str + :param location: Required. Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, *, location: str, tags=None, **kwargs) -> None: + super(Resource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.location = location + self.tags = tags + + +class ManagedCluster(Resource): + """Managed cluster. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Resource Id + :vartype id: str + :ivar name: Resource name + :vartype name: str + :ivar type: Resource type + :vartype type: str + :param location: Required. Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + :ivar provisioning_state: The current deployment or provisioning state, + which only appears in the response. + :vartype provisioning_state: str + :ivar max_agent_pools: The max number of agent pools for the managed + cluster. + :vartype max_agent_pools: int + :param kubernetes_version: Version of Kubernetes specified when creating + the managed cluster. + :type kubernetes_version: str + :param dns_prefix: DNS prefix specified when creating the managed cluster. + :type dns_prefix: str + :ivar fqdn: FQDN for the master pool. + :vartype fqdn: str + :ivar private_fqdn: FQDN of private cluster. + :vartype private_fqdn: str + :param agent_pool_profiles: Properties of the agent pool. + :type agent_pool_profiles: + list[~azure.mgmt.containerservice.v2020_04_01.models.ManagedClusterAgentPoolProfile] + :param linux_profile: Profile for Linux VMs in the container service + cluster. + :type linux_profile: + ~azure.mgmt.containerservice.v2020_04_01.models.ContainerServiceLinuxProfile + :param windows_profile: Profile for Windows VMs in the container service + cluster. + :type windows_profile: + ~azure.mgmt.containerservice.v2020_04_01.models.ManagedClusterWindowsProfile + :param service_principal_profile: Information about a service principal + identity for the cluster to use for manipulating Azure APIs. + :type service_principal_profile: + ~azure.mgmt.containerservice.v2020_04_01.models.ManagedClusterServicePrincipalProfile + :param addon_profiles: Profile of managed cluster add-on. + :type addon_profiles: dict[str, + ~azure.mgmt.containerservice.v2020_04_01.models.ManagedClusterAddonProfile] + :param node_resource_group: Name of the resource group containing agent + pool nodes. + :type node_resource_group: str + :param enable_rbac: Whether to enable Kubernetes Role-Based Access + Control. + :type enable_rbac: bool + :param enable_pod_security_policy: (PREVIEW) Whether to enable Kubernetes + Pod security policy. + :type enable_pod_security_policy: bool + :param network_profile: Profile of network configuration. + :type network_profile: + ~azure.mgmt.containerservice.v2020_04_01.models.ContainerServiceNetworkProfile + :param aad_profile: Profile of Azure Active Directory configuration. + :type aad_profile: + ~azure.mgmt.containerservice.v2020_04_01.models.ManagedClusterAADProfile + :param auto_scaler_profile: Parameters to be applied to the + cluster-autoscaler when enabled + :type auto_scaler_profile: + ~azure.mgmt.containerservice.v2020_04_01.models.ManagedClusterPropertiesAutoScalerProfile + :param api_server_access_profile: Access profile for managed cluster API + server. + :type api_server_access_profile: + ~azure.mgmt.containerservice.v2020_04_01.models.ManagedClusterAPIServerAccessProfile + :param disk_encryption_set_id: ResourceId of the disk encryption set to + use for enabling encryption at rest. + :type disk_encryption_set_id: str + :param identity_profile: Identities associated with the cluster. + :type identity_profile: dict[str, + ~azure.mgmt.containerservice.v2020_04_01.models.ManagedClusterPropertiesIdentityProfileValue] + :param identity: The identity of the managed cluster, if configured. + :type identity: + ~azure.mgmt.containerservice.v2020_04_01.models.ManagedClusterIdentity + :param sku: The managed cluster SKU. + :type sku: + ~azure.mgmt.containerservice.v2020_04_01.models.ManagedClusterSKU + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'max_agent_pools': {'readonly': True}, + 'fqdn': {'readonly': True}, + 'private_fqdn': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'max_agent_pools': {'key': 'properties.maxAgentPools', 'type': 'int'}, + 'kubernetes_version': {'key': 'properties.kubernetesVersion', 'type': 'str'}, + 'dns_prefix': {'key': 'properties.dnsPrefix', 'type': 'str'}, + 'fqdn': {'key': 'properties.fqdn', 'type': 'str'}, + 'private_fqdn': {'key': 'properties.privateFQDN', 'type': 'str'}, + 'agent_pool_profiles': {'key': 'properties.agentPoolProfiles', 'type': '[ManagedClusterAgentPoolProfile]'}, + 'linux_profile': {'key': 'properties.linuxProfile', 'type': 'ContainerServiceLinuxProfile'}, + 'windows_profile': {'key': 'properties.windowsProfile', 'type': 'ManagedClusterWindowsProfile'}, + 'service_principal_profile': {'key': 'properties.servicePrincipalProfile', 'type': 'ManagedClusterServicePrincipalProfile'}, + 'addon_profiles': {'key': 'properties.addonProfiles', 'type': '{ManagedClusterAddonProfile}'}, + 'node_resource_group': {'key': 'properties.nodeResourceGroup', 'type': 'str'}, + 'enable_rbac': {'key': 'properties.enableRBAC', 'type': 'bool'}, + 'enable_pod_security_policy': {'key': 'properties.enablePodSecurityPolicy', 'type': 'bool'}, + 'network_profile': {'key': 'properties.networkProfile', 'type': 'ContainerServiceNetworkProfile'}, + 'aad_profile': {'key': 'properties.aadProfile', 'type': 'ManagedClusterAADProfile'}, + 'auto_scaler_profile': {'key': 'properties.autoScalerProfile', 'type': 'ManagedClusterPropertiesAutoScalerProfile'}, + 'api_server_access_profile': {'key': 'properties.apiServerAccessProfile', 'type': 'ManagedClusterAPIServerAccessProfile'}, + 'disk_encryption_set_id': {'key': 'properties.diskEncryptionSetID', 'type': 'str'}, + 'identity_profile': {'key': 'properties.identityProfile', 'type': '{ManagedClusterPropertiesIdentityProfileValue}'}, + 'identity': {'key': 'identity', 'type': 'ManagedClusterIdentity'}, + 'sku': {'key': 'sku', 'type': 'ManagedClusterSKU'}, + } + + def __init__(self, *, location: str, tags=None, kubernetes_version: str=None, dns_prefix: str=None, agent_pool_profiles=None, linux_profile=None, windows_profile=None, service_principal_profile=None, addon_profiles=None, node_resource_group: str=None, enable_rbac: bool=None, enable_pod_security_policy: bool=None, network_profile=None, aad_profile=None, auto_scaler_profile=None, api_server_access_profile=None, disk_encryption_set_id: str=None, identity_profile=None, identity=None, sku=None, **kwargs) -> None: + super(ManagedCluster, self).__init__(location=location, tags=tags, **kwargs) + self.provisioning_state = None + self.max_agent_pools = None + self.kubernetes_version = kubernetes_version + self.dns_prefix = dns_prefix + self.fqdn = None + self.private_fqdn = None + self.agent_pool_profiles = agent_pool_profiles + self.linux_profile = linux_profile + self.windows_profile = windows_profile + self.service_principal_profile = service_principal_profile + self.addon_profiles = addon_profiles + self.node_resource_group = node_resource_group + self.enable_rbac = enable_rbac + self.enable_pod_security_policy = enable_pod_security_policy + self.network_profile = network_profile + self.aad_profile = aad_profile + self.auto_scaler_profile = auto_scaler_profile + self.api_server_access_profile = api_server_access_profile + self.disk_encryption_set_id = disk_encryption_set_id + self.identity_profile = identity_profile + self.identity = identity + self.sku = sku + + +class ManagedClusterAADProfile(Model): + """AADProfile specifies attributes for Azure Active Directory integration. + + :param managed: Whether to enable managed AAD. + :type managed: bool + :param admin_group_object_ids: AAD group object IDs that will have admin + role of the cluster. + :type admin_group_object_ids: list[str] + :param client_app_id: The client AAD application ID. + :type client_app_id: str + :param server_app_id: The server AAD application ID. + :type server_app_id: str + :param server_app_secret: The server AAD application secret. + :type server_app_secret: str + :param tenant_id: The AAD tenant ID to use for authentication. If not + specified, will use the tenant of the deployment subscription. + :type tenant_id: str + """ + + _attribute_map = { + 'managed': {'key': 'managed', 'type': 'bool'}, + 'admin_group_object_ids': {'key': 'adminGroupObjectIDs', 'type': '[str]'}, + 'client_app_id': {'key': 'clientAppID', 'type': 'str'}, + 'server_app_id': {'key': 'serverAppID', 'type': 'str'}, + 'server_app_secret': {'key': 'serverAppSecret', 'type': 'str'}, + 'tenant_id': {'key': 'tenantID', 'type': 'str'}, + } + + def __init__(self, *, managed: bool=None, admin_group_object_ids=None, client_app_id: str=None, server_app_id: str=None, server_app_secret: str=None, tenant_id: str=None, **kwargs) -> None: + super(ManagedClusterAADProfile, self).__init__(**kwargs) + self.managed = managed + self.admin_group_object_ids = admin_group_object_ids + self.client_app_id = client_app_id + self.server_app_id = server_app_id + self.server_app_secret = server_app_secret + self.tenant_id = tenant_id + + +class ManagedClusterAccessProfile(Resource): + """Managed cluster Access Profile. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Resource Id + :vartype id: str + :ivar name: Resource name + :vartype name: str + :ivar type: Resource type + :vartype type: str + :param location: Required. Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + :param kube_config: Base64-encoded Kubernetes configuration file. + :type kube_config: bytearray + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'kube_config': {'key': 'properties.kubeConfig', 'type': 'bytearray'}, + } + + def __init__(self, *, location: str, tags=None, kube_config: bytearray=None, **kwargs) -> None: + super(ManagedClusterAccessProfile, self).__init__(location=location, tags=tags, **kwargs) + self.kube_config = kube_config + + +class ManagedClusterAddonProfile(Model): + """A Kubernetes add-on profile for a managed cluster. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param enabled: Required. Whether the add-on is enabled or not. + :type enabled: bool + :param config: Key-value pairs for configuring an add-on. + :type config: dict[str, str] + :ivar identity: Information of user assigned identity used by this add-on. + :vartype identity: + ~azure.mgmt.containerservice.v2020_04_01.models.ManagedClusterAddonProfileIdentity + """ + + _validation = { + 'enabled': {'required': True}, + 'identity': {'readonly': True}, + } + + _attribute_map = { + 'enabled': {'key': 'enabled', 'type': 'bool'}, + 'config': {'key': 'config', 'type': '{str}'}, + 'identity': {'key': 'identity', 'type': 'ManagedClusterAddonProfileIdentity'}, + } + + def __init__(self, *, enabled: bool, config=None, **kwargs) -> None: + super(ManagedClusterAddonProfile, self).__init__(**kwargs) + self.enabled = enabled + self.config = config + self.identity = None + + +class UserAssignedIdentity(Model): + """UserAssignedIdentity. + + :param resource_id: The resource id of the user assigned identity. + :type resource_id: str + :param client_id: The client id of the user assigned identity. + :type client_id: str + :param object_id: The object id of the user assigned identity. + :type object_id: str + """ + + _attribute_map = { + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + 'client_id': {'key': 'clientId', 'type': 'str'}, + 'object_id': {'key': 'objectId', 'type': 'str'}, + } + + def __init__(self, *, resource_id: str=None, client_id: str=None, object_id: str=None, **kwargs) -> None: + super(UserAssignedIdentity, self).__init__(**kwargs) + self.resource_id = resource_id + self.client_id = client_id + self.object_id = object_id + + +class ManagedClusterAddonProfileIdentity(UserAssignedIdentity): + """Information of user assigned identity used by this add-on. + + :param resource_id: The resource id of the user assigned identity. + :type resource_id: str + :param client_id: The client id of the user assigned identity. + :type client_id: str + :param object_id: The object id of the user assigned identity. + :type object_id: str + """ + + _attribute_map = { + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + 'client_id': {'key': 'clientId', 'type': 'str'}, + 'object_id': {'key': 'objectId', 'type': 'str'}, + } + + def __init__(self, *, resource_id: str=None, client_id: str=None, object_id: str=None, **kwargs) -> None: + super(ManagedClusterAddonProfileIdentity, self).__init__(resource_id=resource_id, client_id=client_id, object_id=object_id, **kwargs) + + +class ManagedClusterAgentPoolProfileProperties(Model): + """Properties for the container service agent pool profile. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param count: Required. Number of agents (VMs) to host docker containers. + Allowed values must be in the range of 0 to 100 (inclusive). The default + value is 1. . Default value: 1 . + :type count: int + :param vm_size: Required. Size of agent VMs. Possible values include: + 'Standard_A1', 'Standard_A10', 'Standard_A11', 'Standard_A1_v2', + 'Standard_A2', 'Standard_A2_v2', 'Standard_A2m_v2', 'Standard_A3', + 'Standard_A4', 'Standard_A4_v2', 'Standard_A4m_v2', 'Standard_A5', + 'Standard_A6', 'Standard_A7', 'Standard_A8', 'Standard_A8_v2', + 'Standard_A8m_v2', 'Standard_A9', 'Standard_B2ms', 'Standard_B2s', + 'Standard_B4ms', 'Standard_B8ms', 'Standard_D1', 'Standard_D11', + 'Standard_D11_v2', 'Standard_D11_v2_Promo', 'Standard_D12', + 'Standard_D12_v2', 'Standard_D12_v2_Promo', 'Standard_D13', + 'Standard_D13_v2', 'Standard_D13_v2_Promo', 'Standard_D14', + 'Standard_D14_v2', 'Standard_D14_v2_Promo', 'Standard_D15_v2', + 'Standard_D16_v3', 'Standard_D16s_v3', 'Standard_D1_v2', 'Standard_D2', + 'Standard_D2_v2', 'Standard_D2_v2_Promo', 'Standard_D2_v3', + 'Standard_D2s_v3', 'Standard_D3', 'Standard_D32_v3', 'Standard_D32s_v3', + 'Standard_D3_v2', 'Standard_D3_v2_Promo', 'Standard_D4', 'Standard_D4_v2', + 'Standard_D4_v2_Promo', 'Standard_D4_v3', 'Standard_D4s_v3', + 'Standard_D5_v2', 'Standard_D5_v2_Promo', 'Standard_D64_v3', + 'Standard_D64s_v3', 'Standard_D8_v3', 'Standard_D8s_v3', 'Standard_DS1', + 'Standard_DS11', 'Standard_DS11_v2', 'Standard_DS11_v2_Promo', + 'Standard_DS12', 'Standard_DS12_v2', 'Standard_DS12_v2_Promo', + 'Standard_DS13', 'Standard_DS13-2_v2', 'Standard_DS13-4_v2', + 'Standard_DS13_v2', 'Standard_DS13_v2_Promo', 'Standard_DS14', + 'Standard_DS14-4_v2', 'Standard_DS14-8_v2', 'Standard_DS14_v2', + 'Standard_DS14_v2_Promo', 'Standard_DS15_v2', 'Standard_DS1_v2', + 'Standard_DS2', 'Standard_DS2_v2', 'Standard_DS2_v2_Promo', + 'Standard_DS3', 'Standard_DS3_v2', 'Standard_DS3_v2_Promo', + 'Standard_DS4', 'Standard_DS4_v2', 'Standard_DS4_v2_Promo', + 'Standard_DS5_v2', 'Standard_DS5_v2_Promo', 'Standard_E16_v3', + 'Standard_E16s_v3', 'Standard_E2_v3', 'Standard_E2s_v3', + 'Standard_E32-16s_v3', 'Standard_E32-8s_v3', 'Standard_E32_v3', + 'Standard_E32s_v3', 'Standard_E4_v3', 'Standard_E4s_v3', + 'Standard_E64-16s_v3', 'Standard_E64-32s_v3', 'Standard_E64_v3', + 'Standard_E64s_v3', 'Standard_E8_v3', 'Standard_E8s_v3', 'Standard_F1', + 'Standard_F16', 'Standard_F16s', 'Standard_F16s_v2', 'Standard_F1s', + 'Standard_F2', 'Standard_F2s', 'Standard_F2s_v2', 'Standard_F32s_v2', + 'Standard_F4', 'Standard_F4s', 'Standard_F4s_v2', 'Standard_F64s_v2', + 'Standard_F72s_v2', 'Standard_F8', 'Standard_F8s', 'Standard_F8s_v2', + 'Standard_G1', 'Standard_G2', 'Standard_G3', 'Standard_G4', 'Standard_G5', + 'Standard_GS1', 'Standard_GS2', 'Standard_GS3', 'Standard_GS4', + 'Standard_GS4-4', 'Standard_GS4-8', 'Standard_GS5', 'Standard_GS5-16', + 'Standard_GS5-8', 'Standard_H16', 'Standard_H16m', 'Standard_H16mr', + 'Standard_H16r', 'Standard_H8', 'Standard_H8m', 'Standard_L16s', + 'Standard_L32s', 'Standard_L4s', 'Standard_L8s', 'Standard_M128-32ms', + 'Standard_M128-64ms', 'Standard_M128ms', 'Standard_M128s', + 'Standard_M64-16ms', 'Standard_M64-32ms', 'Standard_M64ms', + 'Standard_M64s', 'Standard_NC12', 'Standard_NC12s_v2', + 'Standard_NC12s_v3', 'Standard_NC24', 'Standard_NC24r', + 'Standard_NC24rs_v2', 'Standard_NC24rs_v3', 'Standard_NC24s_v2', + 'Standard_NC24s_v3', 'Standard_NC6', 'Standard_NC6s_v2', + 'Standard_NC6s_v3', 'Standard_ND12s', 'Standard_ND24rs', 'Standard_ND24s', + 'Standard_ND6s', 'Standard_NV12', 'Standard_NV24', 'Standard_NV6' + :type vm_size: str or + ~azure.mgmt.containerservice.v2020_04_01.models.ContainerServiceVMSizeTypes + :param os_disk_size_gb: OS Disk Size in GB to be used to specify the disk + size for every machine in this master/agent pool. If you specify 0, it + will apply the default osDisk size according to the vmSize specified. + :type os_disk_size_gb: int + :param vnet_subnet_id: VNet SubnetID specifies the VNet's subnet + identifier. + :type vnet_subnet_id: str + :param max_pods: Maximum number of pods that can run on a node. + :type max_pods: int + :param os_type: OsType to be used to specify os type. Choose from Linux + and Windows. Default to Linux. Possible values include: 'Linux', + 'Windows'. Default value: "Linux" . + :type os_type: str or + ~azure.mgmt.containerservice.v2020_04_01.models.OSType + :param max_count: Maximum number of nodes for auto-scaling + :type max_count: int + :param min_count: Minimum number of nodes for auto-scaling + :type min_count: int + :param enable_auto_scaling: Whether to enable auto-scaler + :type enable_auto_scaling: bool + :param type: AgentPoolType represents types of an agent pool. Possible + values include: 'VirtualMachineScaleSets', 'AvailabilitySet' + :type type: str or + ~azure.mgmt.containerservice.v2020_04_01.models.AgentPoolType + :param mode: AgentPoolMode represents mode of an agent pool. Possible + values include: 'System', 'User' + :type mode: str or + ~azure.mgmt.containerservice.v2020_04_01.models.AgentPoolMode + :param orchestrator_version: Version of orchestrator specified when + creating the managed cluster. + :type orchestrator_version: str + :param node_image_version: Version of node image + :type node_image_version: str + :param upgrade_settings: Settings for upgrading the agentpool + :type upgrade_settings: + ~azure.mgmt.containerservice.v2020_04_01.models.AgentPoolUpgradeSettings + :ivar provisioning_state: The current deployment or provisioning state, + which only appears in the response. + :vartype provisioning_state: str + :param availability_zones: Availability zones for nodes. Must use + VirtualMachineScaleSets AgentPoolType. + :type availability_zones: list[str] + :param enable_node_public_ip: Enable public IP for nodes + :type enable_node_public_ip: bool + :param scale_set_priority: ScaleSetPriority to be used to specify virtual + machine scale set priority. Default to regular. Possible values include: + 'Spot', 'Regular'. Default value: "Regular" . + :type scale_set_priority: str or + ~azure.mgmt.containerservice.v2020_04_01.models.ScaleSetPriority + :param scale_set_eviction_policy: ScaleSetEvictionPolicy to be used to + specify eviction policy for Spot virtual machine scale set. Default to + Delete. Possible values include: 'Delete', 'Deallocate'. Default value: + "Delete" . + :type scale_set_eviction_policy: str or + ~azure.mgmt.containerservice.v2020_04_01.models.ScaleSetEvictionPolicy + :param spot_max_price: SpotMaxPrice to be used to specify the maximum + price you are willing to pay in US Dollars. Possible values are any + decimal value greater than zero or -1 which indicates default price to be + up-to on-demand. + :type spot_max_price: float + :param tags: Agent pool tags to be persisted on the agent pool virtual + machine scale set. + :type tags: dict[str, str] + :param node_labels: Agent pool node labels to be persisted across all + nodes in agent pool. + :type node_labels: dict[str, str] + :param node_taints: Taints added to new nodes during node pool create and + scale. For example, key=value:NoSchedule. + :type node_taints: list[str] + """ + + _validation = { + 'count': {'required': True, 'maximum': 100, 'minimum': 0}, + 'vm_size': {'required': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'count': {'key': 'count', 'type': 'int'}, + 'vm_size': {'key': 'vmSize', 'type': 'str'}, + 'os_disk_size_gb': {'key': 'osDiskSizeGB', 'type': 'int'}, + 'vnet_subnet_id': {'key': 'vnetSubnetID', 'type': 'str'}, + 'max_pods': {'key': 'maxPods', 'type': 'int'}, + 'os_type': {'key': 'osType', 'type': 'str'}, + 'max_count': {'key': 'maxCount', 'type': 'int'}, + 'min_count': {'key': 'minCount', 'type': 'int'}, + 'enable_auto_scaling': {'key': 'enableAutoScaling', 'type': 'bool'}, + 'type': {'key': 'type', 'type': 'str'}, + 'mode': {'key': 'mode', 'type': 'str'}, + 'orchestrator_version': {'key': 'orchestratorVersion', 'type': 'str'}, + 'node_image_version': {'key': 'nodeImageVersion', 'type': 'str'}, + 'upgrade_settings': {'key': 'upgradeSettings', 'type': 'AgentPoolUpgradeSettings'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'availability_zones': {'key': 'availabilityZones', 'type': '[str]'}, + 'enable_node_public_ip': {'key': 'enableNodePublicIP', 'type': 'bool'}, + 'scale_set_priority': {'key': 'scaleSetPriority', 'type': 'str'}, + 'scale_set_eviction_policy': {'key': 'scaleSetEvictionPolicy', 'type': 'str'}, + 'spot_max_price': {'key': 'spotMaxPrice', 'type': 'float'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'node_labels': {'key': 'nodeLabels', 'type': '{str}'}, + 'node_taints': {'key': 'nodeTaints', 'type': '[str]'}, + } + + def __init__(self, *, vm_size, count: int=1, os_disk_size_gb: int=None, vnet_subnet_id: str=None, max_pods: int=None, os_type="Linux", max_count: int=None, min_count: int=None, enable_auto_scaling: bool=None, type=None, mode=None, orchestrator_version: str=None, node_image_version: str=None, upgrade_settings=None, availability_zones=None, enable_node_public_ip: bool=None, scale_set_priority="Regular", scale_set_eviction_policy="Delete", spot_max_price: float=None, tags=None, node_labels=None, node_taints=None, **kwargs) -> None: + super(ManagedClusterAgentPoolProfileProperties, self).__init__(**kwargs) + self.count = count + self.vm_size = vm_size + self.os_disk_size_gb = os_disk_size_gb + self.vnet_subnet_id = vnet_subnet_id + self.max_pods = max_pods + self.os_type = os_type + self.max_count = max_count + self.min_count = min_count + self.enable_auto_scaling = enable_auto_scaling + self.type = type + self.mode = mode + self.orchestrator_version = orchestrator_version + self.node_image_version = node_image_version + self.upgrade_settings = upgrade_settings + self.provisioning_state = None + self.availability_zones = availability_zones + self.enable_node_public_ip = enable_node_public_ip + self.scale_set_priority = scale_set_priority + self.scale_set_eviction_policy = scale_set_eviction_policy + self.spot_max_price = spot_max_price + self.tags = tags + self.node_labels = node_labels + self.node_taints = node_taints + + +class ManagedClusterAgentPoolProfile(ManagedClusterAgentPoolProfileProperties): + """Profile for the container service agent pool. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param count: Required. Number of agents (VMs) to host docker containers. + Allowed values must be in the range of 0 to 100 (inclusive). The default + value is 1. . Default value: 1 . + :type count: int + :param vm_size: Required. Size of agent VMs. Possible values include: + 'Standard_A1', 'Standard_A10', 'Standard_A11', 'Standard_A1_v2', + 'Standard_A2', 'Standard_A2_v2', 'Standard_A2m_v2', 'Standard_A3', + 'Standard_A4', 'Standard_A4_v2', 'Standard_A4m_v2', 'Standard_A5', + 'Standard_A6', 'Standard_A7', 'Standard_A8', 'Standard_A8_v2', + 'Standard_A8m_v2', 'Standard_A9', 'Standard_B2ms', 'Standard_B2s', + 'Standard_B4ms', 'Standard_B8ms', 'Standard_D1', 'Standard_D11', + 'Standard_D11_v2', 'Standard_D11_v2_Promo', 'Standard_D12', + 'Standard_D12_v2', 'Standard_D12_v2_Promo', 'Standard_D13', + 'Standard_D13_v2', 'Standard_D13_v2_Promo', 'Standard_D14', + 'Standard_D14_v2', 'Standard_D14_v2_Promo', 'Standard_D15_v2', + 'Standard_D16_v3', 'Standard_D16s_v3', 'Standard_D1_v2', 'Standard_D2', + 'Standard_D2_v2', 'Standard_D2_v2_Promo', 'Standard_D2_v3', + 'Standard_D2s_v3', 'Standard_D3', 'Standard_D32_v3', 'Standard_D32s_v3', + 'Standard_D3_v2', 'Standard_D3_v2_Promo', 'Standard_D4', 'Standard_D4_v2', + 'Standard_D4_v2_Promo', 'Standard_D4_v3', 'Standard_D4s_v3', + 'Standard_D5_v2', 'Standard_D5_v2_Promo', 'Standard_D64_v3', + 'Standard_D64s_v3', 'Standard_D8_v3', 'Standard_D8s_v3', 'Standard_DS1', + 'Standard_DS11', 'Standard_DS11_v2', 'Standard_DS11_v2_Promo', + 'Standard_DS12', 'Standard_DS12_v2', 'Standard_DS12_v2_Promo', + 'Standard_DS13', 'Standard_DS13-2_v2', 'Standard_DS13-4_v2', + 'Standard_DS13_v2', 'Standard_DS13_v2_Promo', 'Standard_DS14', + 'Standard_DS14-4_v2', 'Standard_DS14-8_v2', 'Standard_DS14_v2', + 'Standard_DS14_v2_Promo', 'Standard_DS15_v2', 'Standard_DS1_v2', + 'Standard_DS2', 'Standard_DS2_v2', 'Standard_DS2_v2_Promo', + 'Standard_DS3', 'Standard_DS3_v2', 'Standard_DS3_v2_Promo', + 'Standard_DS4', 'Standard_DS4_v2', 'Standard_DS4_v2_Promo', + 'Standard_DS5_v2', 'Standard_DS5_v2_Promo', 'Standard_E16_v3', + 'Standard_E16s_v3', 'Standard_E2_v3', 'Standard_E2s_v3', + 'Standard_E32-16s_v3', 'Standard_E32-8s_v3', 'Standard_E32_v3', + 'Standard_E32s_v3', 'Standard_E4_v3', 'Standard_E4s_v3', + 'Standard_E64-16s_v3', 'Standard_E64-32s_v3', 'Standard_E64_v3', + 'Standard_E64s_v3', 'Standard_E8_v3', 'Standard_E8s_v3', 'Standard_F1', + 'Standard_F16', 'Standard_F16s', 'Standard_F16s_v2', 'Standard_F1s', + 'Standard_F2', 'Standard_F2s', 'Standard_F2s_v2', 'Standard_F32s_v2', + 'Standard_F4', 'Standard_F4s', 'Standard_F4s_v2', 'Standard_F64s_v2', + 'Standard_F72s_v2', 'Standard_F8', 'Standard_F8s', 'Standard_F8s_v2', + 'Standard_G1', 'Standard_G2', 'Standard_G3', 'Standard_G4', 'Standard_G5', + 'Standard_GS1', 'Standard_GS2', 'Standard_GS3', 'Standard_GS4', + 'Standard_GS4-4', 'Standard_GS4-8', 'Standard_GS5', 'Standard_GS5-16', + 'Standard_GS5-8', 'Standard_H16', 'Standard_H16m', 'Standard_H16mr', + 'Standard_H16r', 'Standard_H8', 'Standard_H8m', 'Standard_L16s', + 'Standard_L32s', 'Standard_L4s', 'Standard_L8s', 'Standard_M128-32ms', + 'Standard_M128-64ms', 'Standard_M128ms', 'Standard_M128s', + 'Standard_M64-16ms', 'Standard_M64-32ms', 'Standard_M64ms', + 'Standard_M64s', 'Standard_NC12', 'Standard_NC12s_v2', + 'Standard_NC12s_v3', 'Standard_NC24', 'Standard_NC24r', + 'Standard_NC24rs_v2', 'Standard_NC24rs_v3', 'Standard_NC24s_v2', + 'Standard_NC24s_v3', 'Standard_NC6', 'Standard_NC6s_v2', + 'Standard_NC6s_v3', 'Standard_ND12s', 'Standard_ND24rs', 'Standard_ND24s', + 'Standard_ND6s', 'Standard_NV12', 'Standard_NV24', 'Standard_NV6' + :type vm_size: str or + ~azure.mgmt.containerservice.v2020_04_01.models.ContainerServiceVMSizeTypes + :param os_disk_size_gb: OS Disk Size in GB to be used to specify the disk + size for every machine in this master/agent pool. If you specify 0, it + will apply the default osDisk size according to the vmSize specified. + :type os_disk_size_gb: int + :param vnet_subnet_id: VNet SubnetID specifies the VNet's subnet + identifier. + :type vnet_subnet_id: str + :param max_pods: Maximum number of pods that can run on a node. + :type max_pods: int + :param os_type: OsType to be used to specify os type. Choose from Linux + and Windows. Default to Linux. Possible values include: 'Linux', + 'Windows'. Default value: "Linux" . + :type os_type: str or + ~azure.mgmt.containerservice.v2020_04_01.models.OSType + :param max_count: Maximum number of nodes for auto-scaling + :type max_count: int + :param min_count: Minimum number of nodes for auto-scaling + :type min_count: int + :param enable_auto_scaling: Whether to enable auto-scaler + :type enable_auto_scaling: bool + :param type: AgentPoolType represents types of an agent pool. Possible + values include: 'VirtualMachineScaleSets', 'AvailabilitySet' + :type type: str or + ~azure.mgmt.containerservice.v2020_04_01.models.AgentPoolType + :param mode: AgentPoolMode represents mode of an agent pool. Possible + values include: 'System', 'User' + :type mode: str or + ~azure.mgmt.containerservice.v2020_04_01.models.AgentPoolMode + :param orchestrator_version: Version of orchestrator specified when + creating the managed cluster. + :type orchestrator_version: str + :param node_image_version: Version of node image + :type node_image_version: str + :param upgrade_settings: Settings for upgrading the agentpool + :type upgrade_settings: + ~azure.mgmt.containerservice.v2020_04_01.models.AgentPoolUpgradeSettings + :ivar provisioning_state: The current deployment or provisioning state, + which only appears in the response. + :vartype provisioning_state: str + :param availability_zones: Availability zones for nodes. Must use + VirtualMachineScaleSets AgentPoolType. + :type availability_zones: list[str] + :param enable_node_public_ip: Enable public IP for nodes + :type enable_node_public_ip: bool + :param scale_set_priority: ScaleSetPriority to be used to specify virtual + machine scale set priority. Default to regular. Possible values include: + 'Spot', 'Regular'. Default value: "Regular" . + :type scale_set_priority: str or + ~azure.mgmt.containerservice.v2020_04_01.models.ScaleSetPriority + :param scale_set_eviction_policy: ScaleSetEvictionPolicy to be used to + specify eviction policy for Spot virtual machine scale set. Default to + Delete. Possible values include: 'Delete', 'Deallocate'. Default value: + "Delete" . + :type scale_set_eviction_policy: str or + ~azure.mgmt.containerservice.v2020_04_01.models.ScaleSetEvictionPolicy + :param spot_max_price: SpotMaxPrice to be used to specify the maximum + price you are willing to pay in US Dollars. Possible values are any + decimal value greater than zero or -1 which indicates default price to be + up-to on-demand. + :type spot_max_price: float + :param tags: Agent pool tags to be persisted on the agent pool virtual + machine scale set. + :type tags: dict[str, str] + :param node_labels: Agent pool node labels to be persisted across all + nodes in agent pool. + :type node_labels: dict[str, str] + :param node_taints: Taints added to new nodes during node pool create and + scale. For example, key=value:NoSchedule. + :type node_taints: list[str] + :param name: Required. Unique name of the agent pool profile in the + context of the subscription and resource group. + :type name: str + """ + + _validation = { + 'count': {'required': True, 'maximum': 100, 'minimum': 0}, + 'vm_size': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'name': {'required': True, 'pattern': r'^[a-z][a-z0-9]{0,11}$'}, + } + + _attribute_map = { + 'count': {'key': 'count', 'type': 'int'}, + 'vm_size': {'key': 'vmSize', 'type': 'str'}, + 'os_disk_size_gb': {'key': 'osDiskSizeGB', 'type': 'int'}, + 'vnet_subnet_id': {'key': 'vnetSubnetID', 'type': 'str'}, + 'max_pods': {'key': 'maxPods', 'type': 'int'}, + 'os_type': {'key': 'osType', 'type': 'str'}, + 'max_count': {'key': 'maxCount', 'type': 'int'}, + 'min_count': {'key': 'minCount', 'type': 'int'}, + 'enable_auto_scaling': {'key': 'enableAutoScaling', 'type': 'bool'}, + 'type': {'key': 'type', 'type': 'str'}, + 'mode': {'key': 'mode', 'type': 'str'}, + 'orchestrator_version': {'key': 'orchestratorVersion', 'type': 'str'}, + 'node_image_version': {'key': 'nodeImageVersion', 'type': 'str'}, + 'upgrade_settings': {'key': 'upgradeSettings', 'type': 'AgentPoolUpgradeSettings'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'availability_zones': {'key': 'availabilityZones', 'type': '[str]'}, + 'enable_node_public_ip': {'key': 'enableNodePublicIP', 'type': 'bool'}, + 'scale_set_priority': {'key': 'scaleSetPriority', 'type': 'str'}, + 'scale_set_eviction_policy': {'key': 'scaleSetEvictionPolicy', 'type': 'str'}, + 'spot_max_price': {'key': 'spotMaxPrice', 'type': 'float'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'node_labels': {'key': 'nodeLabels', 'type': '{str}'}, + 'node_taints': {'key': 'nodeTaints', 'type': '[str]'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, *, vm_size, name: str, count: int=1, os_disk_size_gb: int=None, vnet_subnet_id: str=None, max_pods: int=None, os_type="Linux", max_count: int=None, min_count: int=None, enable_auto_scaling: bool=None, type=None, mode=None, orchestrator_version: str=None, node_image_version: str=None, upgrade_settings=None, availability_zones=None, enable_node_public_ip: bool=None, scale_set_priority="Regular", scale_set_eviction_policy="Delete", spot_max_price: float=None, tags=None, node_labels=None, node_taints=None, **kwargs) -> None: + super(ManagedClusterAgentPoolProfile, self).__init__(count=count, vm_size=vm_size, os_disk_size_gb=os_disk_size_gb, vnet_subnet_id=vnet_subnet_id, max_pods=max_pods, os_type=os_type, max_count=max_count, min_count=min_count, enable_auto_scaling=enable_auto_scaling, type=type, mode=mode, orchestrator_version=orchestrator_version, node_image_version=node_image_version, upgrade_settings=upgrade_settings, availability_zones=availability_zones, enable_node_public_ip=enable_node_public_ip, scale_set_priority=scale_set_priority, scale_set_eviction_policy=scale_set_eviction_policy, spot_max_price=spot_max_price, tags=tags, node_labels=node_labels, node_taints=node_taints, **kwargs) + self.name = name + + +class ManagedClusterAPIServerAccessProfile(Model): + """Access profile for managed cluster API server. + + :param authorized_ip_ranges: Authorized IP Ranges to kubernetes API + server. + :type authorized_ip_ranges: list[str] + :param enable_private_cluster: Whether to create the cluster as a private + cluster or not. + :type enable_private_cluster: bool + """ + + _attribute_map = { + 'authorized_ip_ranges': {'key': 'authorizedIPRanges', 'type': '[str]'}, + 'enable_private_cluster': {'key': 'enablePrivateCluster', 'type': 'bool'}, + } + + def __init__(self, *, authorized_ip_ranges=None, enable_private_cluster: bool=None, **kwargs) -> None: + super(ManagedClusterAPIServerAccessProfile, self).__init__(**kwargs) + self.authorized_ip_ranges = authorized_ip_ranges + self.enable_private_cluster = enable_private_cluster + + +class ManagedClusterIdentity(Model): + """Identity for the managed cluster. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar principal_id: The principal id of the system assigned identity which + is used by master components. + :vartype principal_id: str + :ivar tenant_id: The tenant id of the system assigned identity which is + used by master components. + :vartype tenant_id: str + :param type: The type of identity used for the managed cluster. Type + 'SystemAssigned' will use an implicitly created identity in master + components and an auto-created user assigned identity in MC_ resource + group in agent nodes. Type 'None' will not use MSI for the managed + cluster, service principal will be used instead. Possible values include: + 'SystemAssigned', 'None' + :type type: str or + ~azure.mgmt.containerservice.v2020_04_01.models.ResourceIdentityType + """ + + _validation = { + 'principal_id': {'readonly': True}, + 'tenant_id': {'readonly': True}, + } + + _attribute_map = { + 'principal_id': {'key': 'principalId', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'ResourceIdentityType'}, + } + + def __init__(self, *, type=None, **kwargs) -> None: + super(ManagedClusterIdentity, self).__init__(**kwargs) + self.principal_id = None + self.tenant_id = None + self.type = type + + +class ManagedClusterLoadBalancerProfile(Model): + """Profile of the managed cluster load balancer. + + :param managed_outbound_ips: Desired managed outbound IPs for the cluster + load balancer. + :type managed_outbound_ips: + ~azure.mgmt.containerservice.v2020_04_01.models.ManagedClusterLoadBalancerProfileManagedOutboundIPs + :param outbound_ip_prefixes: Desired outbound IP Prefix resources for the + cluster load balancer. + :type outbound_ip_prefixes: + ~azure.mgmt.containerservice.v2020_04_01.models.ManagedClusterLoadBalancerProfileOutboundIPPrefixes + :param outbound_ips: Desired outbound IP resources for the cluster load + balancer. + :type outbound_ips: + ~azure.mgmt.containerservice.v2020_04_01.models.ManagedClusterLoadBalancerProfileOutboundIPs + :param effective_outbound_ips: The effective outbound IP resources of the + cluster load balancer. + :type effective_outbound_ips: + list[~azure.mgmt.containerservice.v2020_04_01.models.ResourceReference] + :param allocated_outbound_ports: Desired number of allocated SNAT ports + per VM. Allowed values must be in the range of 0 to 64000 (inclusive). The + default value is 0 which results in Azure dynamically allocating ports. + Default value: 0 . + :type allocated_outbound_ports: int + :param idle_timeout_in_minutes: Desired outbound flow idle timeout in + minutes. Allowed values must be in the range of 4 to 120 (inclusive). The + default value is 30 minutes. Default value: 30 . + :type idle_timeout_in_minutes: int + """ + + _validation = { + 'allocated_outbound_ports': {'maximum': 64000, 'minimum': 0}, + 'idle_timeout_in_minutes': {'maximum': 120, 'minimum': 4}, + } + + _attribute_map = { + 'managed_outbound_ips': {'key': 'managedOutboundIPs', 'type': 'ManagedClusterLoadBalancerProfileManagedOutboundIPs'}, + 'outbound_ip_prefixes': {'key': 'outboundIPPrefixes', 'type': 'ManagedClusterLoadBalancerProfileOutboundIPPrefixes'}, + 'outbound_ips': {'key': 'outboundIPs', 'type': 'ManagedClusterLoadBalancerProfileOutboundIPs'}, + 'effective_outbound_ips': {'key': 'effectiveOutboundIPs', 'type': '[ResourceReference]'}, + 'allocated_outbound_ports': {'key': 'allocatedOutboundPorts', 'type': 'int'}, + 'idle_timeout_in_minutes': {'key': 'idleTimeoutInMinutes', 'type': 'int'}, + } + + def __init__(self, *, managed_outbound_ips=None, outbound_ip_prefixes=None, outbound_ips=None, effective_outbound_ips=None, allocated_outbound_ports: int=0, idle_timeout_in_minutes: int=30, **kwargs) -> None: + super(ManagedClusterLoadBalancerProfile, self).__init__(**kwargs) + self.managed_outbound_ips = managed_outbound_ips + self.outbound_ip_prefixes = outbound_ip_prefixes + self.outbound_ips = outbound_ips + self.effective_outbound_ips = effective_outbound_ips + self.allocated_outbound_ports = allocated_outbound_ports + self.idle_timeout_in_minutes = idle_timeout_in_minutes + + +class ManagedClusterLoadBalancerProfileManagedOutboundIPs(Model): + """Desired managed outbound IPs for the cluster load balancer. + + :param count: Desired number of outbound IP created/managed by Azure for + the cluster load balancer. Allowed values must be in the range of 1 to 100 + (inclusive). The default value is 1. . Default value: 1 . + :type count: int + """ + + _validation = { + 'count': {'maximum': 100, 'minimum': 1}, + } + + _attribute_map = { + 'count': {'key': 'count', 'type': 'int'}, + } + + def __init__(self, *, count: int=1, **kwargs) -> None: + super(ManagedClusterLoadBalancerProfileManagedOutboundIPs, self).__init__(**kwargs) + self.count = count + + +class ManagedClusterLoadBalancerProfileOutboundIPPrefixes(Model): + """Desired outbound IP Prefix resources for the cluster load balancer. + + :param public_ip_prefixes: A list of public IP prefix resources. + :type public_ip_prefixes: + list[~azure.mgmt.containerservice.v2020_04_01.models.ResourceReference] + """ + + _attribute_map = { + 'public_ip_prefixes': {'key': 'publicIPPrefixes', 'type': '[ResourceReference]'}, + } + + def __init__(self, *, public_ip_prefixes=None, **kwargs) -> None: + super(ManagedClusterLoadBalancerProfileOutboundIPPrefixes, self).__init__(**kwargs) + self.public_ip_prefixes = public_ip_prefixes + + +class ManagedClusterLoadBalancerProfileOutboundIPs(Model): + """Desired outbound IP resources for the cluster load balancer. + + :param public_ips: A list of public IP resources. + :type public_ips: + list[~azure.mgmt.containerservice.v2020_04_01.models.ResourceReference] + """ + + _attribute_map = { + 'public_ips': {'key': 'publicIPs', 'type': '[ResourceReference]'}, + } + + def __init__(self, *, public_ips=None, **kwargs) -> None: + super(ManagedClusterLoadBalancerProfileOutboundIPs, self).__init__(**kwargs) + self.public_ips = public_ips + + +class ManagedClusterPoolUpgradeProfile(Model): + """The list of available upgrade versions. + + All required parameters must be populated in order to send to Azure. + + :param kubernetes_version: Required. Kubernetes version (major, minor, + patch). + :type kubernetes_version: str + :param name: Pool name. + :type name: str + :param os_type: Required. OsType to be used to specify os type. Choose + from Linux and Windows. Default to Linux. Possible values include: + 'Linux', 'Windows'. Default value: "Linux" . + :type os_type: str or + ~azure.mgmt.containerservice.v2020_04_01.models.OSType + :param upgrades: List of orchestrator types and versions available for + upgrade. + :type upgrades: + list[~azure.mgmt.containerservice.v2020_04_01.models.ManagedClusterPoolUpgradeProfileUpgradesItem] + """ + + _validation = { + 'kubernetes_version': {'required': True}, + 'os_type': {'required': True}, + } + + _attribute_map = { + 'kubernetes_version': {'key': 'kubernetesVersion', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'os_type': {'key': 'osType', 'type': 'str'}, + 'upgrades': {'key': 'upgrades', 'type': '[ManagedClusterPoolUpgradeProfileUpgradesItem]'}, + } + + def __init__(self, *, kubernetes_version: str, name: str=None, os_type="Linux", upgrades=None, **kwargs) -> None: + super(ManagedClusterPoolUpgradeProfile, self).__init__(**kwargs) + self.kubernetes_version = kubernetes_version + self.name = name + self.os_type = os_type + self.upgrades = upgrades + + +class ManagedClusterPoolUpgradeProfileUpgradesItem(Model): + """ManagedClusterPoolUpgradeProfileUpgradesItem. + + :param kubernetes_version: Kubernetes version (major, minor, patch). + :type kubernetes_version: str + :param is_preview: Whether Kubernetes version is currently in preview. + :type is_preview: bool + """ + + _attribute_map = { + 'kubernetes_version': {'key': 'kubernetesVersion', 'type': 'str'}, + 'is_preview': {'key': 'isPreview', 'type': 'bool'}, + } + + def __init__(self, *, kubernetes_version: str=None, is_preview: bool=None, **kwargs) -> None: + super(ManagedClusterPoolUpgradeProfileUpgradesItem, self).__init__(**kwargs) + self.kubernetes_version = kubernetes_version + self.is_preview = is_preview + + +class ManagedClusterPropertiesAutoScalerProfile(Model): + """Parameters to be applied to the cluster-autoscaler when enabled. + + :param balance_similar_node_groups: + :type balance_similar_node_groups: str + :param scan_interval: + :type scan_interval: str + :param scale_down_delay_after_add: + :type scale_down_delay_after_add: str + :param scale_down_delay_after_delete: + :type scale_down_delay_after_delete: str + :param scale_down_delay_after_failure: + :type scale_down_delay_after_failure: str + :param scale_down_unneeded_time: + :type scale_down_unneeded_time: str + :param scale_down_unready_time: + :type scale_down_unready_time: str + :param scale_down_utilization_threshold: + :type scale_down_utilization_threshold: str + :param max_graceful_termination_sec: + :type max_graceful_termination_sec: str + """ + + _attribute_map = { + 'balance_similar_node_groups': {'key': 'balance-similar-node-groups', 'type': 'str'}, + 'scan_interval': {'key': 'scan-interval', 'type': 'str'}, + 'scale_down_delay_after_add': {'key': 'scale-down-delay-after-add', 'type': 'str'}, + 'scale_down_delay_after_delete': {'key': 'scale-down-delay-after-delete', 'type': 'str'}, + 'scale_down_delay_after_failure': {'key': 'scale-down-delay-after-failure', 'type': 'str'}, + 'scale_down_unneeded_time': {'key': 'scale-down-unneeded-time', 'type': 'str'}, + 'scale_down_unready_time': {'key': 'scale-down-unready-time', 'type': 'str'}, + 'scale_down_utilization_threshold': {'key': 'scale-down-utilization-threshold', 'type': 'str'}, + 'max_graceful_termination_sec': {'key': 'max-graceful-termination-sec', 'type': 'str'}, + } + + def __init__(self, *, balance_similar_node_groups: str=None, scan_interval: str=None, scale_down_delay_after_add: str=None, scale_down_delay_after_delete: str=None, scale_down_delay_after_failure: str=None, scale_down_unneeded_time: str=None, scale_down_unready_time: str=None, scale_down_utilization_threshold: str=None, max_graceful_termination_sec: str=None, **kwargs) -> None: + super(ManagedClusterPropertiesAutoScalerProfile, self).__init__(**kwargs) + self.balance_similar_node_groups = balance_similar_node_groups + self.scan_interval = scan_interval + self.scale_down_delay_after_add = scale_down_delay_after_add + self.scale_down_delay_after_delete = scale_down_delay_after_delete + self.scale_down_delay_after_failure = scale_down_delay_after_failure + self.scale_down_unneeded_time = scale_down_unneeded_time + self.scale_down_unready_time = scale_down_unready_time + self.scale_down_utilization_threshold = scale_down_utilization_threshold + self.max_graceful_termination_sec = max_graceful_termination_sec + + +class ManagedClusterPropertiesIdentityProfileValue(UserAssignedIdentity): + """ManagedClusterPropertiesIdentityProfileValue. + + :param resource_id: The resource id of the user assigned identity. + :type resource_id: str + :param client_id: The client id of the user assigned identity. + :type client_id: str + :param object_id: The object id of the user assigned identity. + :type object_id: str + """ + + _attribute_map = { + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + 'client_id': {'key': 'clientId', 'type': 'str'}, + 'object_id': {'key': 'objectId', 'type': 'str'}, + } + + def __init__(self, *, resource_id: str=None, client_id: str=None, object_id: str=None, **kwargs) -> None: + super(ManagedClusterPropertiesIdentityProfileValue, self).__init__(resource_id=resource_id, client_id=client_id, object_id=object_id, **kwargs) + + +class ManagedClusterServicePrincipalProfile(Model): + """Information about a service principal identity for the cluster to use for + manipulating Azure APIs. + + All required parameters must be populated in order to send to Azure. + + :param client_id: Required. The ID for the service principal. + :type client_id: str + :param secret: The secret password associated with the service principal + in plain text. + :type secret: str + """ + + _validation = { + 'client_id': {'required': True}, + } + + _attribute_map = { + 'client_id': {'key': 'clientId', 'type': 'str'}, + 'secret': {'key': 'secret', 'type': 'str'}, + } + + def __init__(self, *, client_id: str, secret: str=None, **kwargs) -> None: + super(ManagedClusterServicePrincipalProfile, self).__init__(**kwargs) + self.client_id = client_id + self.secret = secret + + +class ManagedClusterSKU(Model): + """ManagedClusterSKU. + + :param name: Name of a managed cluster SKU. Possible values include: + 'Basic' + :type name: str or + ~azure.mgmt.containerservice.v2020_04_01.models.ManagedClusterSKUName + :param tier: Tier of a managed cluster SKU. Possible values include: + 'Paid', 'Free' + :type tier: str or + ~azure.mgmt.containerservice.v2020_04_01.models.ManagedClusterSKUTier + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + } + + def __init__(self, *, name=None, tier=None, **kwargs) -> None: + super(ManagedClusterSKU, self).__init__(**kwargs) + self.name = name + self.tier = tier + + +class ManagedClusterUpgradeProfile(Model): + """The list of available upgrades for compute pools. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Id of upgrade profile. + :vartype id: str + :ivar name: Name of upgrade profile. + :vartype name: str + :ivar type: Type of upgrade profile. + :vartype type: str + :param control_plane_profile: Required. The list of available upgrade + versions for the control plane. + :type control_plane_profile: + ~azure.mgmt.containerservice.v2020_04_01.models.ManagedClusterPoolUpgradeProfile + :param agent_pool_profiles: Required. The list of available upgrade + versions for agent pools. + :type agent_pool_profiles: + list[~azure.mgmt.containerservice.v2020_04_01.models.ManagedClusterPoolUpgradeProfile] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'control_plane_profile': {'required': True}, + 'agent_pool_profiles': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'control_plane_profile': {'key': 'properties.controlPlaneProfile', 'type': 'ManagedClusterPoolUpgradeProfile'}, + 'agent_pool_profiles': {'key': 'properties.agentPoolProfiles', 'type': '[ManagedClusterPoolUpgradeProfile]'}, + } + + def __init__(self, *, control_plane_profile, agent_pool_profiles, **kwargs) -> None: + super(ManagedClusterUpgradeProfile, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.control_plane_profile = control_plane_profile + self.agent_pool_profiles = agent_pool_profiles + + +class ManagedClusterWindowsProfile(Model): + """Profile for Windows VMs in the container service cluster. + + All required parameters must be populated in order to send to Azure. + + :param admin_username: Required. The administrator username to use for + Windows VMs. + :type admin_username: str + :param admin_password: The administrator password to use for Windows VMs. + :type admin_password: str + """ + + _validation = { + 'admin_username': {'required': True, 'pattern': r'^[a-zA-Z0-9]+([._]?[a-zA-Z0-9]+)*$'}, + 'admin_password': {'pattern': r'^(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%\^&\*\(\)])[a-zA-Z\d!@#$%\^&\*\(\)]{12,123}$'}, + } + + _attribute_map = { + 'admin_username': {'key': 'adminUsername', 'type': 'str'}, + 'admin_password': {'key': 'adminPassword', 'type': 'str'}, + } + + def __init__(self, *, admin_username: str, admin_password: str=None, **kwargs) -> None: + super(ManagedClusterWindowsProfile, self).__init__(**kwargs) + self.admin_username = admin_username + self.admin_password = admin_password + + +class OperationValue(Model): + """Describes the properties of a Compute Operation value. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar origin: The origin of the compute operation. + :vartype origin: str + :ivar name: The name of the compute operation. + :vartype name: str + :ivar operation: The display name of the compute operation. + :vartype operation: str + :ivar resource: The display name of the resource the operation applies to. + :vartype resource: str + :ivar description: The description of the operation. + :vartype description: str + :ivar provider: The resource provider for the operation. + :vartype provider: str + """ + + _validation = { + 'origin': {'readonly': True}, + 'name': {'readonly': True}, + 'operation': {'readonly': True}, + 'resource': {'readonly': True}, + 'description': {'readonly': True}, + 'provider': {'readonly': True}, + } + + _attribute_map = { + 'origin': {'key': 'origin', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'operation': {'key': 'display.operation', 'type': 'str'}, + 'resource': {'key': 'display.resource', 'type': 'str'}, + 'description': {'key': 'display.description', 'type': 'str'}, + 'provider': {'key': 'display.provider', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(OperationValue, self).__init__(**kwargs) + self.origin = None + self.name = None + self.operation = None + self.resource = None + self.description = None + self.provider = None + + +class ResourceReference(Model): + """A reference to an Azure resource. + + :param id: The fully qualified Azure resource id. + :type id: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, **kwargs) -> None: + super(ResourceReference, self).__init__(**kwargs) + self.id = id + + +class TagsObject(Model): + """Tags object for patch operations. + + :param tags: Resource tags. + :type tags: dict[str, str] + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, *, tags=None, **kwargs) -> None: + super(TagsObject, self).__init__(**kwargs) + self.tags = tags diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_04_01/models/_paged_models.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_04_01/models/_paged_models.py new file mode 100644 index 00000000000..a32e4c22c1b --- /dev/null +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_04_01/models/_paged_models.py @@ -0,0 +1,53 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.paging import Paged + + +class OperationValuePaged(Paged): + """ + A paging container for iterating over a list of :class:`OperationValue ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[OperationValue]'} + } + + def __init__(self, *args, **kwargs): + + super(OperationValuePaged, self).__init__(*args, **kwargs) +class ManagedClusterPaged(Paged): + """ + A paging container for iterating over a list of :class:`ManagedCluster ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ManagedCluster]'} + } + + def __init__(self, *args, **kwargs): + + super(ManagedClusterPaged, self).__init__(*args, **kwargs) +class AgentPoolPaged(Paged): + """ + A paging container for iterating over a list of :class:`AgentPool ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[AgentPool]'} + } + + def __init__(self, *args, **kwargs): + + super(AgentPoolPaged, self).__init__(*args, **kwargs) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_04_01/operations/__init__.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_04_01/operations/__init__.py new file mode 100644 index 00000000000..d1b67f7888b --- /dev/null +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_04_01/operations/__init__.py @@ -0,0 +1,20 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from ._operations import Operations +from ._managed_clusters_operations import ManagedClustersOperations +from ._agent_pools_operations import AgentPoolsOperations + +__all__ = [ + 'Operations', + 'ManagedClustersOperations', + 'AgentPoolsOperations', +] diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_04_01/operations/_agent_pools_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_04_01/operations/_agent_pools_operations.py new file mode 100644 index 00000000000..cac05714e4d --- /dev/null +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_04_01/operations/_agent_pools_operations.py @@ -0,0 +1,511 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class AgentPoolsOperations(object): + """AgentPoolsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client Api Version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + def list( + self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): + """Gets a list of agent pools in the specified managed cluster. + + Gets a list of agent pools in the specified managed cluster. The + operation returns properties of each agent pool. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param resource_name: The name of the managed cluster resource. + :type resource_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of AgentPool + :rtype: + ~azure.mgmt.containerservice.v2020_04_01.models.AgentPoolPaged[~azure.mgmt.containerservice.v2020_04_01.models.AgentPool] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=63, min_length=1, pattern=r'^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.AgentPoolPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools'} + + def get( + self, resource_group_name, resource_name, agent_pool_name, custom_headers=None, raw=False, **operation_config): + """Gets the agent pool. + + Gets the details of the agent pool by managed cluster and resource + group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param resource_name: The name of the managed cluster resource. + :type resource_name: str + :param agent_pool_name: The name of the agent pool. + :type agent_pool_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: AgentPool or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.containerservice.v2020_04_01.models.AgentPool or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=63, min_length=1, pattern=r'^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$'), + 'agentPoolName': self._serialize.url("agent_pool_name", agent_pool_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('AgentPool', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}'} + + + def _create_or_update_initial( + self, resource_group_name, resource_name, agent_pool_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=63, min_length=1, pattern=r'^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$'), + 'agentPoolName': self._serialize.url("agent_pool_name", agent_pool_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'AgentPool') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('AgentPool', response) + if response.status_code == 201: + deserialized = self._deserialize('AgentPool', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, resource_name, agent_pool_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates an agent pool. + + Creates or updates an agent pool in the specified managed cluster. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param resource_name: The name of the managed cluster resource. + :type resource_name: str + :param agent_pool_name: The name of the agent pool. + :type agent_pool_name: str + :param parameters: Parameters supplied to the Create or Update an + agent pool operation. + :type parameters: + ~azure.mgmt.containerservice.v2020_04_01.models.AgentPool + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns AgentPool or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.containerservice.v2020_04_01.models.AgentPool] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.containerservice.v2020_04_01.models.AgentPool]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + agent_pool_name=agent_pool_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('AgentPool', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}'} + + + def _delete_initial( + self, resource_group_name, resource_name, agent_pool_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=63, min_length=1, pattern=r'^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$'), + 'agentPoolName': self._serialize.url("agent_pool_name", agent_pool_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, resource_name, agent_pool_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes an agent pool. + + Deletes the agent pool in the specified managed cluster. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param resource_name: The name of the managed cluster resource. + :type resource_name: str + :param agent_pool_name: The name of the agent pool. + :type agent_pool_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + agent_pool_name=agent_pool_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}'} + + def get_upgrade_profile( + self, resource_group_name, resource_name, agent_pool_name, custom_headers=None, raw=False, **operation_config): + """Gets upgrade profile for an agent pool. + + Gets the details of the upgrade profile for an agent pool with a + specified resource group and managed cluster name. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param resource_name: The name of the managed cluster resource. + :type resource_name: str + :param agent_pool_name: The name of the agent pool. + :type agent_pool_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: AgentPoolUpgradeProfile or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.containerservice.v2020_04_01.models.AgentPoolUpgradeProfile + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_upgrade_profile.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=63, min_length=1, pattern=r'^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$'), + 'agentPoolName': self._serialize.url("agent_pool_name", agent_pool_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('AgentPoolUpgradeProfile', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_upgrade_profile.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/upgradeProfiles/default'} + + def get_available_agent_pool_versions( + self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): + """Gets a list of supported versions for the specified agent pool. + + Gets a list of supported versions for the specified agent pool. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param resource_name: The name of the managed cluster resource. + :type resource_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: AgentPoolAvailableVersions or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.containerservice.v2020_04_01.models.AgentPoolAvailableVersions + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_available_agent_pool_versions.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=63, min_length=1, pattern=r'^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('AgentPoolAvailableVersions', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_available_agent_pool_versions.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/availableAgentPoolVersions'} diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_04_01/operations/_managed_clusters_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_04_01/operations/_managed_clusters_operations.py new file mode 100644 index 00000000000..8426985728b --- /dev/null +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_04_01/operations/_managed_clusters_operations.py @@ -0,0 +1,1139 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class ManagedClustersOperations(object): + """ManagedClustersOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client Api Version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Gets a list of managed clusters in the specified subscription. + + Gets a list of managed clusters in the specified subscription. The + operation returns properties of each managed cluster. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of ManagedCluster + :rtype: + ~azure.mgmt.containerservice.v2020_04_01.models.ManagedClusterPaged[~azure.mgmt.containerservice.v2020_04_01.models.ManagedCluster] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.ManagedClusterPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/managedClusters'} + + def list_by_resource_group( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Lists managed clusters in the specified subscription and resource + group. + + Lists managed clusters in the specified subscription and resource + group. The operation returns properties of each managed cluster. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of ManagedCluster + :rtype: + ~azure.mgmt.containerservice.v2020_04_01.models.ManagedClusterPaged[~azure.mgmt.containerservice.v2020_04_01.models.ManagedCluster] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', min_length=1) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.ManagedClusterPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters'} + + def get_upgrade_profile( + self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): + """Gets upgrade profile for a managed cluster. + + Gets the details of the upgrade profile for a managed cluster with a + specified resource group and name. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param resource_name: The name of the managed cluster resource. + :type resource_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ManagedClusterUpgradeProfile or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.containerservice.v2020_04_01.models.ManagedClusterUpgradeProfile + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_upgrade_profile.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=63, min_length=1, pattern=r'^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ManagedClusterUpgradeProfile', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_upgrade_profile.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/upgradeProfiles/default'} + + def get_access_profile( + self, resource_group_name, resource_name, role_name, custom_headers=None, raw=False, **operation_config): + """Gets an access profile of a managed cluster. + + Gets the accessProfile for the specified role name of the managed + cluster with a specified resource group and name. **WARNING**: This API + will be deprecated. Instead use + [ListClusterUserCredentials](https://docs.microsoft.com/en-us/rest/api/aks/managedclusters/listclusterusercredentials) + or + [ListClusterAdminCredentials](https://docs.microsoft.com/en-us/rest/api/aks/managedclusters/listclusteradmincredentials) + . + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param resource_name: The name of the managed cluster resource. + :type resource_name: str + :param role_name: The name of the role for managed cluster + accessProfile resource. + :type role_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ManagedClusterAccessProfile or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.containerservice.v2020_04_01.models.ManagedClusterAccessProfile + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_access_profile.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=63, min_length=1, pattern=r'^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$'), + 'roleName': self._serialize.url("role_name", role_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ManagedClusterAccessProfile', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_access_profile.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/accessProfiles/{roleName}/listCredential'} + + def list_cluster_admin_credentials( + self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): + """Gets cluster admin credential of a managed cluster. + + Gets cluster admin credential of the managed cluster with a specified + resource group and name. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param resource_name: The name of the managed cluster resource. + :type resource_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: CredentialResults or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.containerservice.v2020_04_01.models.CredentialResults or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.list_cluster_admin_credentials.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=63, min_length=1, pattern=r'^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('CredentialResults', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list_cluster_admin_credentials.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterAdminCredential'} + + def list_cluster_user_credentials( + self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): + """Gets cluster user credential of a managed cluster. + + Gets cluster user credential of the managed cluster with a specified + resource group and name. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param resource_name: The name of the managed cluster resource. + :type resource_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: CredentialResults or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.containerservice.v2020_04_01.models.CredentialResults or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.list_cluster_user_credentials.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=63, min_length=1, pattern=r'^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('CredentialResults', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list_cluster_user_credentials.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterUserCredential'} + + def list_cluster_monitoring_user_credentials( + self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): + """Gets cluster monitoring user credential of a managed cluster. + + Gets cluster monitoring user credential of the managed cluster with a + specified resource group and name. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param resource_name: The name of the managed cluster resource. + :type resource_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: CredentialResults or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.containerservice.v2020_04_01.models.CredentialResults or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.list_cluster_monitoring_user_credentials.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=63, min_length=1, pattern=r'^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('CredentialResults', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list_cluster_monitoring_user_credentials.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterMonitoringUserCredential'} + + def get( + self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): + """Gets a managed cluster. + + Gets the details of the managed cluster with a specified resource group + and name. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param resource_name: The name of the managed cluster resource. + :type resource_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ManagedCluster or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.containerservice.v2020_04_01.models.ManagedCluster + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=63, min_length=1, pattern=r'^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ManagedCluster', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}'} + + + def _create_or_update_initial( + self, resource_group_name, resource_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=63, min_length=1, pattern=r'^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'ManagedCluster') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('ManagedCluster', response) + if response.status_code == 201: + deserialized = self._deserialize('ManagedCluster', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, resource_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a managed cluster. + + Creates or updates a managed cluster with the specified configuration + for agents and Kubernetes version. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param resource_name: The name of the managed cluster resource. + :type resource_name: str + :param parameters: Parameters supplied to the Create or Update a + Managed Cluster operation. + :type parameters: + ~azure.mgmt.containerservice.v2020_04_01.models.ManagedCluster + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns ManagedCluster or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.containerservice.v2020_04_01.models.ManagedCluster] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.containerservice.v2020_04_01.models.ManagedCluster]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ManagedCluster', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}'} + + + def _update_tags_initial( + self, resource_group_name, resource_name, tags=None, custom_headers=None, raw=False, **operation_config): + parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=63, min_length=1, pattern=r'^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ManagedCluster', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def update_tags( + self, resource_group_name, resource_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Updates tags on a managed cluster. + + Updates a managed cluster with the specified tags. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param resource_name: The name of the managed cluster resource. + :type resource_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns ManagedCluster or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.containerservice.v2020_04_01.models.ManagedCluster] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.containerservice.v2020_04_01.models.ManagedCluster]] + :raises: :class:`CloudError` + """ + raw_result = self._update_tags_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + tags=tags, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ManagedCluster', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}'} + + + def _delete_initial( + self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=63, min_length=1, pattern=r'^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, resource_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes a managed cluster. + + Deletes the managed cluster with a specified resource group and name. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param resource_name: The name of the managed cluster resource. + :type resource_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}'} + + + def _reset_service_principal_profile_initial( + self, resource_group_name, resource_name, client_id, secret=None, custom_headers=None, raw=False, **operation_config): + parameters = models.ManagedClusterServicePrincipalProfile(client_id=client_id, secret=secret) + + # Construct URL + url = self.reset_service_principal_profile.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=63, min_length=1, pattern=r'^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.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, 'ManagedClusterServicePrincipalProfile') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def reset_service_principal_profile( + self, resource_group_name, resource_name, client_id, secret=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Reset Service Principal Profile of a managed cluster. + + Update the service principal Profile for a managed cluster. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param resource_name: The name of the managed cluster resource. + :type resource_name: str + :param client_id: The ID for the service principal. + :type client_id: str + :param secret: The secret password associated with the service + principal in plain text. + :type secret: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._reset_service_principal_profile_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + client_id=client_id, + secret=secret, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + reset_service_principal_profile.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetServicePrincipalProfile'} + + + def _reset_aad_profile_initial( + self, resource_group_name, resource_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.reset_aad_profile.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=63, min_length=1, pattern=r'^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.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, 'ManagedClusterAADProfile') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def reset_aad_profile( + self, resource_group_name, resource_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Reset AAD Profile of a managed cluster. + + Update the AAD Profile for a managed cluster. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param resource_name: The name of the managed cluster resource. + :type resource_name: str + :param parameters: Parameters supplied to the Reset AAD Profile + operation for a Managed Cluster. + :type parameters: + ~azure.mgmt.containerservice.v2020_04_01.models.ManagedClusterAADProfile + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._reset_aad_profile_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + reset_aad_profile.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetAADProfile'} + + + def _rotate_cluster_certificates_initial( + self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.rotate_cluster_certificates.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=63, min_length=1, pattern=r'^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def rotate_cluster_certificates( + self, resource_group_name, resource_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Rotate certificates of a managed cluster. + + Rotate certificates of a managed cluster. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param resource_name: The name of the managed cluster resource. + :type resource_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._rotate_cluster_certificates_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + rotate_cluster_certificates.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/rotateClusterCertificates'} diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_04_01/operations/_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_04_01/operations/_operations.py new file mode 100644 index 00000000000..9e91e7c0321 --- /dev/null +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_04_01/operations/_operations.py @@ -0,0 +1,102 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class Operations(object): + """Operations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client Api Version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Gets a list of compute operations. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of OperationValue + :rtype: + ~azure.mgmt.containerservice.v2020_04_01.models.OperationValuePaged[~azure.mgmt.containerservice.v2020_04_01.models.OperationValue] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.OperationValuePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/providers/Microsoft.ContainerService/operations'} diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_04_01/version.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_04_01/version.py new file mode 100644 index 00000000000..b4a222521b4 --- /dev/null +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_04_01/version.py @@ -0,0 +1,13 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +VERSION = "2020-04-01" + diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/version.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/version.py index fcd0bbf0414..d3ac05589ba 100644 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/version.py +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/version.py @@ -9,5 +9,5 @@ # regenerated. # -------------------------------------------------------------------------- -VERSION = "4.4.2" +VERSION = "4.4.3" diff --git a/src/aks-preview/setup.py b/src/aks-preview/setup.py index 96980cbd1b1..7f8d9227d86 100644 --- a/src/aks-preview/setup.py +++ b/src/aks-preview/setup.py @@ -8,7 +8,7 @@ from codecs import open as open1 from setuptools import setup, find_packages -VERSION = "0.4.38" +VERSION = "0.4.52" CLASSIFIERS = [ 'Development Status :: 4 - Beta', 'Intended Audience :: Developers', diff --git a/src/alertsmanagement/azext_alertsmanagement/_params.py b/src/alertsmanagement/azext_alertsmanagement/_params.py index cdecafbc146..f8b40c19430 100644 --- a/src/alertsmanagement/azext_alertsmanagement/_params.py +++ b/src/alertsmanagement/azext_alertsmanagement/_params.py @@ -5,7 +5,7 @@ # pylint: disable=line-too-long # pylint: disable=too-many-lines # pylint: disable=too-many-statements -from azext_alertsmanagement.vendored_sdks.alertsmanagement.models import ActionRuleStatus, SuppressionType + from azure.cli.core.commands.parameters import ( tags_type, get_enum_type, @@ -13,6 +13,7 @@ ) from azure.cli.core.commands.validators import get_default_location_from_resource_group from knack.arguments import CLIArgumentType +from .vendored_sdks.alertsmanagement.models import ActionRuleStatus, SuppressionType def load_arguments(self, _): diff --git a/src/alertsmanagement/azext_alertsmanagement/azext_metadata.json b/src/alertsmanagement/azext_alertsmanagement/azext_metadata.json index 55c81bf3328..13025150393 100644 --- a/src/alertsmanagement/azext_alertsmanagement/azext_metadata.json +++ b/src/alertsmanagement/azext_alertsmanagement/azext_metadata.json @@ -1,4 +1,4 @@ { - "azext.isPreview": true, - "azext.minCliCoreVersion": "2.0.67" + "azext.isExperimental": true, + "azext.minCliCoreVersion": "2.3.1" } \ No newline at end of file diff --git a/src/alertsmanagement/azext_alertsmanagement/commands.py b/src/alertsmanagement/azext_alertsmanagement/commands.py index 9a9ce0d2d2b..77b7ce025b4 100644 --- a/src/alertsmanagement/azext_alertsmanagement/commands.py +++ b/src/alertsmanagement/azext_alertsmanagement/commands.py @@ -18,7 +18,7 @@ def load_command_table(self, _): '#ActionRulesOperations.{}', client_factory=cf_action_rules) with self.command_group('monitor action-rule', alertsmanagement_action_rules, client_factory=cf_action_rules, - is_preview=True) as g: + is_experimental=True) as g: g.custom_command('create', 'create_alertsmanagement_action_rule') g.generic_update_command('update', custom_func_name='update_alertsmanagement_action_rule', setter_arg_name='action_rule', getter_name='get_by_name', diff --git a/src/alertsmanagement/azext_alertsmanagement/vendored_sdks/__init__.py b/src/alertsmanagement/azext_alertsmanagement/vendored_sdks/__init__.py new file mode 100644 index 00000000000..a5b81f3bde4 --- /dev/null +++ b/src/alertsmanagement/azext_alertsmanagement/vendored_sdks/__init__.py @@ -0,0 +1,6 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +__import__('pkg_resources').declare_namespace(__name__) diff --git a/src/alertsmanagement/setup.py b/src/alertsmanagement/setup.py index cde4c6b8d68..9d4fd85a920 100644 --- a/src/alertsmanagement/setup.py +++ b/src/alertsmanagement/setup.py @@ -26,7 +26,6 @@ 'Intended Audience :: System Administrators', 'Programming Language :: Python', 'Programming Language :: Python :: 3', - 'Programming Language :: Python :: 3.5', 'Programming Language :: Python :: 3.6', 'Programming Language :: Python :: 3.7', 'Programming Language :: Python :: 3.8', diff --git a/src/application-insights/HISTORY.rst b/src/application-insights/HISTORY.rst index f45725c5d5e..7e7718772be 100644 --- a/src/application-insights/HISTORY.rst +++ b/src/application-insights/HISTORY.rst @@ -1,3 +1,16 @@ +0.1.8 +++++++++++++++++++ + +* Argument `--offset` in `az monitor app-insights query` supports iso8601 format. + +0.1.7 +++++++++++++++++++ + +* support linked storage account for application insights component. +* support link one log analytics workspace to application insights component. +* support setting public network access for application insights component. +* one fix for api-key creation. + 0.1.6 ++++++++++++++++++ diff --git a/src/application-insights/azext_applicationinsights/_client_factory.py b/src/application-insights/azext_applicationinsights/_client_factory.py index ba29ec88ce1..1b1a6d58eec 100644 --- a/src/application-insights/azext_applicationinsights/_client_factory.py +++ b/src/application-insights/azext_applicationinsights/_client_factory.py @@ -36,7 +36,7 @@ def cf_events(cli_ctx, _): def cf_components(cli_ctx, _): - return applicationinsights_mgmt_plane_client(cli_ctx).components + return applicationinsights_mgmt_plane_client(cli_ctx, api_version='2018-05-01-preview').components def cf_component_billing(cli_ctx, _): @@ -45,3 +45,7 @@ def cf_component_billing(cli_ctx, _): def cf_api_key(cli_ctx, _): return applicationinsights_mgmt_plane_client(cli_ctx).api_keys + + +def cf_component_linked_storage_accounts(cli_ctx, _): + return applicationinsights_mgmt_plane_client(cli_ctx).component_linked_storage_accounts diff --git a/src/application-insights/azext_applicationinsights/_help.py b/src/application-insights/azext_applicationinsights/_help.py index 044f2a6d78b..ae6ec7dafd2 100644 --- a/src/application-insights/azext_applicationinsights/_help.py +++ b/src/application-insights/azext_applicationinsights/_help.py @@ -39,7 +39,7 @@ examples: - name: Create a component with kind web and location. text: | - az monitor app-insights component create --app demoApp --location westus2 --kind web -g demoRg --application-type web + az monitor app-insights component create --app demoApp --location westus2 --kind web -g demoRg --application-type web --retention-time 120 """ helps['monitor app-insights component update'] = """ @@ -52,7 +52,7 @@ examples: - name: Update a component with kind web. text: | - az monitor app-insights component update --app demoApp -k web -g demoRg + az monitor app-insights component update --app demoApp -k web -g demoRg --retention-time 120 """ helps['monitor app-insights component update-tags'] = """ @@ -242,3 +242,28 @@ text: | az monitor app-insights events show --app 578f0e27-12e9-4631-bc02-50b965da2633 --type availabilityResults --offset 24h """ + +helps['monitor app-insights component linked-storage'] = """ + type: group + short-summary: Manage linked storage account for an Application Insights component. +""" + +helps['monitor app-insights component linked-storage show'] = """ + type: command + short-summary: Show the details of linked storage account for an Application Insights component. +""" + +helps['monitor app-insights component linked-storage link'] = """ + type: command + short-summary: Link a storage account with an Application Insights component. +""" + +helps['monitor app-insights component linked-storage update'] = """ + type: command + short-summary: Update the linked storage account for an Application Insights component. +""" + +helps['monitor app-insights component linked-storage unlink'] = """ + type: command + short-summary: Unlink a storage account with an Application Insights component. +""" diff --git a/src/application-insights/azext_applicationinsights/_params.py b/src/application-insights/azext_applicationinsights/_params.py index d4965f0e96a..b30204f55ea 100644 --- a/src/application-insights/azext_applicationinsights/_params.py +++ b/src/application-insights/azext_applicationinsights/_params.py @@ -3,10 +3,10 @@ # Licensed under the MIT License. See License.txt in the project root for license information. # -------------------------------------------------------------------------------------------- -# pylint: disable=line-too-long -from azure.cli.core.commands.parameters import get_datetime_type, get_location_type, tags_type, get_three_state_flag +# pylint: disable=line-too-long, too-many-statements +from azure.cli.core.commands.parameters import get_datetime_type, get_location_type, tags_type, get_three_state_flag, get_enum_type from azure.cli.command_modules.monitor.actions import get_period_type -from ._validators import validate_applications +from ._validators import validate_applications, validate_storage_account_name_or_id, validate_log_analytic_workspace_name_or_id def load_arguments(self, _): @@ -24,6 +24,16 @@ def load_arguments(self, _): c.argument('application-type', options_list=['application-type', '--type', '-t'], help="Type of application being monitored. Possible values include: 'web', 'other'. Default value: 'web' .") c.argument('kind', options_list=['--kind', '-k'], help='The kind of application that this component refers to, used to customize UI. This value is a freeform string, values should typically be one of the following: web, ios, other, store, java, phone.') + with self.argument_context('monitor app-insights component') as c: + c.argument('workspace_resource_id', options_list=['--workspace'], validator=validate_log_analytic_workspace_name_or_id, + help='Name or resource ID of a log analytics workspace') + c.argument('retention_in_days', options_list=['--retention-time'], help='Retention in days for Application Insights. The value can be one of the following values: 30,60,90,120,180,270,365,550,730. It can be set only when Application Insights is not connected to a Log Analytics workspace.') + from .vendored_sdks.mgmt_applicationinsights.models import PublicNetworkAccessType + c.argument('public_network_access_for_ingestion', options_list=['--ingestion-access'], help='The public network access type for accessing Application Insights ingestion.', + arg_type=get_enum_type(PublicNetworkAccessType)) + c.argument('public_network_access_for_query', options_list=['--query-access'], help='The public network access type for accessing Application Insights query.', + arg_type=get_enum_type(PublicNetworkAccessType)) + with self.argument_context('monitor app-insights component update-tags') as c: c.argument('tags', tags_type) @@ -65,3 +75,7 @@ def load_arguments(self, _): c.argument('start_time', arg_type=get_datetime_type(help='Start-time of time range for which to retrieve data.')) c.argument('end_time', arg_type=get_datetime_type(help='End of time range for current operation. Defaults to the current time.')) c.argument('offset', help='Filter results based on UTC hour offset.', type=get_period_type(as_timedelta=True)) + + with self.argument_context('monitor app-insights component linked-storage') as c: + c.argument('storage_account_id', options_list=['--storage-account', '-s'], validator=validate_storage_account_name_or_id, + help='Name or ID of a linked storage account.') diff --git a/src/application-insights/azext_applicationinsights/_validators.py b/src/application-insights/azext_applicationinsights/_validators.py index 1b9fbebff67..a41f07163ee 100644 --- a/src/application-insights/azext_applicationinsights/_validators.py +++ b/src/application-insights/azext_applicationinsights/_validators.py @@ -16,3 +16,31 @@ def validate_applications(namespace): raise CLIError("Specify either a full resource id or an application name and resource group.") else: raise CLIError("Resource group only allowed with a single application name.") + + +def validate_storage_account_name_or_id(cmd, namespace): + if namespace.storage_account_id: + from msrestazure.tools import resource_id + from azure.cli.core.commands.client_factory import get_subscription_id + if not is_valid_resource_id(namespace.storage_account_id): + namespace.storage_account_id = resource_id( + subscription=get_subscription_id(cmd.cli_ctx), + resource_group=namespace.resource_group_name, + namespace='Microsoft.Storage', + type='storageAccounts', + name=namespace.storage_account_id + ) + + +def validate_log_analytic_workspace_name_or_id(cmd, namespace): + if namespace.workspace_resource_id: + from msrestazure.tools import resource_id + from azure.cli.core.commands.client_factory import get_subscription_id + if not is_valid_resource_id(namespace.workspace_resource_id): + namespace.workspace_resource_id = resource_id( + subscription=get_subscription_id(cmd.cli_ctx), + resource_group=namespace.resource_group_name, + namespace='microsoft.OperationalInsights', + type='workspaces', + name=namespace.workspace_resource_id + ) diff --git a/src/application-insights/azext_applicationinsights/commands.py b/src/application-insights/azext_applicationinsights/commands.py index af8384faa65..ba1fcce2faa 100644 --- a/src/application-insights/azext_applicationinsights/commands.py +++ b/src/application-insights/azext_applicationinsights/commands.py @@ -13,7 +13,8 @@ cf_query, cf_components, cf_api_key, - cf_component_billing + cf_component_billing, + cf_component_linked_storage_accounts ) @@ -63,6 +64,11 @@ def load_command_table(self, _): client_factory=cf_api_key ) + component_linked_storage_accounts_custom_sdk = CliCommandType( + operations_tmpl='azext_applicationinsights.custom#{}', + client_factory=cf_component_linked_storage_accounts + ) + with self.command_group('monitor app-insights component', command_type=components_sdk, custom_command_type=components_custom_sdk) as g: g.custom_command('create', 'create_or_update_component') g.custom_command('update', 'update_component') @@ -88,3 +94,9 @@ def load_command_table(self, _): with self.command_group('monitor app-insights', query_sdk) as g: g.custom_command('query', 'execute_query') + + with self.command_group('monitor app-insights component linked-storage', custom_command_type=component_linked_storage_accounts_custom_sdk) as g: + g.custom_show_command('show', 'get_component_linked_storage_account') + g.custom_command('link', 'create_component_linked_storage_account') + g.custom_command('update', 'update_component_linked_storage_account') + g.custom_command('unlink', 'delete_component_linked_storage_account') diff --git a/src/application-insights/azext_applicationinsights/custom.py b/src/application-insights/azext_applicationinsights/custom.py index 34e7106ebed..b843137a5df 100644 --- a/src/application-insights/azext_applicationinsights/custom.py +++ b/src/application-insights/azext_applicationinsights/custom.py @@ -3,20 +3,26 @@ # Licensed under the MIT License. See License.txt in the project root for license information. # -------------------------------------------------------------------------------------------- -# pylint: disable=line-too-long +# pylint: disable=line-too-long, protected-access +import datetime +import isodate from knack.util import CLIError from knack.log import get_logger from azext_applicationinsights.vendored_sdks.applicationinsights.models import ErrorResponseException +from msrestazure.azure_exceptions import CloudError from .util import get_id_from_azure_resource, get_query_targets, get_timespan, get_linked_properties logger = get_logger(__name__) +HELP_MESSAGE = " Please use `az feature register --name AIWorkspacePreview --namespace microsoft.insights` to register the feature" def execute_query(cmd, client, application, analytics_query, start_time=None, end_time=None, offset='1h', resource_group_name=None): """Executes a query against the provided Application Insights application.""" from .vendored_sdks.applicationinsights.models import QueryBody targets = get_query_targets(cmd.cli_ctx, application, resource_group_name) + if not isinstance(offset, datetime.timedelta): + offset = isodate.parse_duration(offset) try: return client.query.execute(targets[0], QueryBody(query=analytics_query, timespan=get_timespan(cmd.cli_ctx, start_time, end_time, offset), applications=targets[1:])) except ErrorResponseException as ex: @@ -40,17 +46,66 @@ def get_metrics_metadata(cmd, client, application, resource_group_name=None): return client.metrics.get_metadata(get_id_from_azure_resource(cmd.cli_ctx, application, resource_group=resource_group_name)) -def create_or_update_component(client, application, resource_group_name, location, tags=None, kind="web", application_type='web'): - from .vendored_sdks.mgmt_applicationinsights.models import ApplicationInsightsComponent - component = ApplicationInsightsComponent(location, kind, application_type=application_type, tags=tags) - return client.create_or_update(resource_group_name, application, component) +def create_or_update_component(cmd, client, application, resource_group_name, location, tags=None, + kind="web", application_type='web', workspace_resource_id=None, + public_network_access_for_ingestion=None, public_network_access_for_query=None, retention_in_days=None): + # due to service limitation, we have to do such a hack. We must refract the logic later. + if workspace_resource_id is None: + from .vendored_sdks.mgmt_applicationinsights.v2018_05_01_preview.models import ApplicationInsightsComponent + component = ApplicationInsightsComponent(location=location, kind=kind, application_type=application_type, tags=tags, + public_network_access_for_ingestion=public_network_access_for_ingestion, + public_network_access_for_query=public_network_access_for_query, + retention_in_days=retention_in_days) + return client.create_or_update(resource_group_name, application, component) + + if retention_in_days is not None: + raise CLIError("Retention time can be set only when Application Insights is not connected to a Log Analytics workspace.") + + from .vendored_sdks.mgmt_applicationinsights.v2020_02_02_preview.models import ApplicationInsightsComponent + component = ApplicationInsightsComponent(location=location, kind=kind, application_type=application_type, + tags=tags, workspace_resource_id=workspace_resource_id, + public_network_access_for_ingestion=public_network_access_for_ingestion, + public_network_access_for_query=public_network_access_for_query) + from ._client_factory import applicationinsights_mgmt_plane_client + client = applicationinsights_mgmt_plane_client(cmd.cli_ctx, api_version='2020-02-02-preview').components + try: + return client.create_or_update(resource_group_name, application, component) + except CloudError as ex: + ex.error._message = ex.error._message + HELP_MESSAGE + raise ex -def update_component(client, application, resource_group_name, kind=None): - existing_component = client.get(resource_group_name, application) +def update_component(cmd, client, application, resource_group_name, kind=None, workspace_resource_id=None, + public_network_access_for_ingestion=None, public_network_access_for_query=None, retention_in_days=None): + from ._client_factory import applicationinsights_mgmt_plane_client + if workspace_resource_id is not None: + if retention_in_days is not None: + raise CLIError("Retention time can be set only when Application Insights is not connected to a Log Analytics workspace.") + latest_client = applicationinsights_mgmt_plane_client(cmd.cli_ctx, api_version='2020-02-02-preview').components + try: + existing_component = latest_client.get(resource_group_name, application) + except CloudError as ex: + ex.error._message = ex.error._message + HELP_MESSAGE + raise ex + existing_component.workspace_resource_id = workspace_resource_id or None + else: + existing_component = client.get(resource_group_name, application) if kind: existing_component.kind = kind - return client.create_or_update(resource_group_name, application, existing_component) + if public_network_access_for_ingestion is not None: + existing_component.public_network_access_for_ingestion = public_network_access_for_ingestion + if public_network_access_for_query is not None: + existing_component.public_network_access_for_query = public_network_access_for_query + + if hasattr(existing_component, 'workspace_resource_id') and existing_component.workspace_resource_id is not None: + client = applicationinsights_mgmt_plane_client(cmd.cli_ctx, api_version='2020-02-02-preview').components + return client.create_or_update(resource_group_name, application, existing_component) + + from .vendored_sdks.mgmt_applicationinsights.v2018_05_01_preview.models import ApplicationInsightsComponent + if retention_in_days is not None: + existing_component.retention_in_days = retention_in_days + component = ApplicationInsightsComponent(**(vars(existing_component))) + return client.create_or_update(resource_group_name, application, component) def update_component_tags(client, application, resource_group_name, tags): @@ -61,10 +116,17 @@ def get_component(client, application, resource_group_name): return client.get(resource_group_name, application) -def show_components(client, application=None, resource_group_name=None): +def show_components(cmd, client, application=None, resource_group_name=None): + from ._client_factory import applicationinsights_mgmt_plane_client if application: if resource_group_name: - return client.get(resource_group_name, application) + latest_client = applicationinsights_mgmt_plane_client(cmd.cli_ctx, + api_version='2020-02-02-preview').components + try: + return latest_client.get(resource_group_name, application) + except CloudError: + logger.warning(HELP_MESSAGE) + return client.get(resource_group_name, application) raise CLIError("Application provided without resource group. Either specify app with resource group, or remove app.") if resource_group_name: return client.list_by_resource_group(resource_group_name) @@ -82,7 +144,9 @@ def create_api_key(cmd, client, application, resource_group_name, api_key, read_ if write_properties is None: write_properties = ['WriteAnnotations'] linked_read_properties, linked_write_properties = get_linked_properties(cmd.cli_ctx, application, resource_group_name, read_properties, write_properties) - api_key_request = APIKeyRequest(api_key, linked_read_properties, linked_write_properties) + api_key_request = APIKeyRequest(name=api_key, + linked_read_properties=linked_read_properties, + linked_write_properties=linked_write_properties) return client.create(resource_group_name, application, api_key_request) @@ -118,3 +182,19 @@ def update_component_billing(client, application, resource_group_name, cap=None, resource_name=application, data_volume_cap=billing_features.data_volume_cap, current_billing_features=billing_features.current_billing_features) + + +def get_component_linked_storage_account(client, resource_group_name, application): + return client.get(resource_group_name=resource_group_name, resource_name=application) + + +def create_component_linked_storage_account(client, resource_group_name, application, storage_account_id): + return client.create_and_update(resource_group_name=resource_group_name, resource_name=application, linked_storage_account=storage_account_id) + + +def update_component_linked_storage_account(client, resource_group_name, application, storage_account_id): + return client.update(resource_group_name=resource_group_name, resource_name=application, linked_storage_account=storage_account_id) + + +def delete_component_linked_storage_account(client, resource_group_name, application): + return client.delete(resource_group_name=resource_group_name, resource_name=application) diff --git a/src/application-insights/azext_applicationinsights/tests/latest/recordings/test_api_key.yaml b/src/application-insights/azext_applicationinsights/tests/latest/recordings/test_api_key.yaml index 0bfa1baf516..01c0a19a671 100644 --- a/src/application-insights/azext_applicationinsights/tests/latest/recordings/test_api_key.yaml +++ b/src/application-insights/azext_applicationinsights/tests/latest/recordings/test_api_key.yaml @@ -1,7 +1,8 @@ interactions: - request: body: '{"location": "westus", "kind": "web", "properties": {"Application_Type": - "web", "Flow_Type": "Bluefield", "Request_Source": "rest"}}' + "web", "Flow_Type": "Bluefield", "Request_Source": "rest", "RetentionInDays": + 90}}' headers: Accept: - application/json @@ -12,32 +13,32 @@ interactions: Connection: - keep-alive Content-Length: - - '132' + - '155' Content-Type: - application/json; charset=utf-8 ParameterSetName: - --app --location --kind -g --application-type User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-applicationinsights/0.1.1 Azure-SDK-For-Python AZURECLI/2.1.0 + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-applicationinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.4.0 accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp?api-version=2015-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Insights/components/demoApp?api-version=2018-05-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp","name":"demoApp","type":"microsoft.insights/components","location":"westus","tags":{},"kind":"web","etag":"\"91001882-0000-0700-0000-5e54c0970000\"","properties":{"Ver":"v2","ApplicationId":"demoApp","AppId":"13cc755b-0ba4-4259-bb7a-5426dfb5b666","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"6a4bf3ad-4167-42de-b2e7-0baecf5b95a0","ConnectionString":"InstrumentationKey=6a4bf3ad-4167-42de-b2e7-0baecf5b95a0","Name":"demoApp","CreationDate":"2020-02-25T06:37:11.9695313+00:00","TenantId":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","provisioningState":"Succeeded","SamplingPercentage":null}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp","name":"demoApp","type":"microsoft.insights/components","location":"westus","tags":{},"kind":"web","etag":"\"0800841c-0000-0700-0000-5ea2593e0000\"","properties":{"Ver":"v2","ApplicationId":"demoApp","AppId":"5a7cdf10-6b7e-4f29-b41e-545309ec2a09","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"fa2f0e5b-bf95-42fa-8e90-ba1ea72adb40","ConnectionString":"InstrumentationKey=fa2f0e5b-bf95-42fa-8e90-ba1ea72adb40","Name":"demoApp","CreationDate":"2020-04-24T03:13:02.8547884+00:00","TenantId":"114f01e8-de03-454a-ab74-723456e241cb","provisioningState":"Succeeded","SamplingPercentage":null,"RetentionInDays":90,"Retention":"P90D","publicNetworkAccessForIngestion":"Enabled","publicNetworkAccessForQuery":"Enabled"}}' headers: access-control-expose-headers: - Request-Context cache-control: - no-cache content-length: - - '833' + - '957' content-type: - application/json; charset=utf-8 date: - - Tue, 25 Feb 2020 06:37:16 GMT + - Fri, 24 Apr 2020 03:13:05 GMT expires: - '-1' pragma: @@ -55,7 +56,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1197' x-powered-by: - ASP.NET status: @@ -81,16 +82,16 @@ interactions: ParameterSetName: - --app -g --api-key User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-applicationinsights/0.1.1 Azure-SDK-For-Python AZURECLI/2.1.0 + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-applicationinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.4.0 accept-language: - en-US method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/ApiKeys?api-version=2015-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Insights/components/demoApp/ApiKeys?api-version=2015-05-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/apikeys/3b4ab45d-11e3-4e30-b640-d156f12cde5f","name":"demoKey","linkedReadProperties":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/api","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/agentconfig"],"linkedWriteProperties":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/annotations"],"apiKey":"0kflfmtdga2ztfecwq3er77281slb15ds5tqdzhn","createdDate":"Tue, - 25 Feb 2020 06:37:19 GMT","integrationType":null,"integrationProperty":null}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/apikeys/33d84fd7-1aa2-4626-8f54-07a2a7f625c3","name":"demoKey","linkedReadProperties":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/api","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/agentconfig"],"linkedWriteProperties":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/annotations"],"apiKey":"hr0zj8fh1noyasqjf65j5jv8g2qnx7bdbb4t4rnm","createdDate":"Fri, + 24 Apr 2020 03:13:08 GMT","integrationType":null,"integrationProperty":null}' headers: access-control-expose-headers: - Request-Context @@ -101,7 +102,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 Feb 2020 06:37:19 GMT + - Fri, 24 Apr 2020 03:13:07 GMT expires: - '-1' pragma: @@ -134,21 +135,19 @@ interactions: - monitor app-insights api-key show Connection: - keep-alive - Content-Type: - - application/json; charset=utf-8 ParameterSetName: - --app -g --api-key User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-applicationinsights/0.1.1 Azure-SDK-For-Python AZURECLI/2.1.0 + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-applicationinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.4.0 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/ApiKeys?api-version=2015-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Insights/components/demoApp/ApiKeys?api-version=2015-05-01 response: body: - string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/apikeys/3b4ab45d-11e3-4e30-b640-d156f12cde5f","name":"demoKey","linkedReadProperties":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/api","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/draft","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/extendqueries","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/search","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/aggregate","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/agentconfig"],"linkedWriteProperties":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/annotations"],"createdDate":"Tue, - 25 Feb 2020 06:37:19 GMT","integrationType":null,"integrationProperty":null}]}' + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/apikeys/33d84fd7-1aa2-4626-8f54-07a2a7f625c3","name":"demoKey","linkedReadProperties":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/api","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/draft","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/extendqueries","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/search","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/aggregate","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/agentconfig"],"linkedWriteProperties":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/annotations"],"createdDate":"Fri, + 24 Apr 2020 03:13:08 GMT","integrationType":null,"integrationProperty":null}]}' headers: access-control-expose-headers: - Request-Context @@ -159,7 +158,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 Feb 2020 06:37:20 GMT + - Fri, 24 Apr 2020 03:13:10 GMT expires: - '-1' pragma: @@ -199,16 +198,16 @@ interactions: ParameterSetName: - --app -g --api-key User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-applicationinsights/0.1.1 Azure-SDK-For-Python AZURECLI/2.1.0 + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-applicationinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.4.0 accept-language: - en-US method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/ApiKeys?api-version=2015-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Insights/components/demoApp/ApiKeys?api-version=2015-05-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/apikeys/ec78280f-11d8-46b7-b587-ee1789e8c63a","name":"otherKey","linkedReadProperties":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/api","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/agentconfig"],"linkedWriteProperties":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/annotations"],"apiKey":"sojhjt3f7fr0xz0lbwrw6ih0u58pb1ncd1ltft2j","createdDate":"Tue, - 25 Feb 2020 06:37:24 GMT","integrationType":null,"integrationProperty":null}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/apikeys/49870748-bf6a-4841-86de-09bf586c709d","name":"otherKey","linkedReadProperties":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/api","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/agentconfig"],"linkedWriteProperties":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/annotations"],"apiKey":"wcffbrl38wmkgq4lp2mfrkb6aki76t8hmz6gcz0f","createdDate":"Fri, + 24 Apr 2020 03:13:13 GMT","integrationType":null,"integrationProperty":null}' headers: access-control-expose-headers: - Request-Context @@ -219,7 +218,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 Feb 2020 06:37:23 GMT + - Fri, 24 Apr 2020 03:13:12 GMT expires: - '-1' pragma: @@ -242,43 +241,104 @@ interactions: code: 200 message: OK - request: - body: null + body: 'b''{"name": "emptyKey", "linkedReadProperties": ["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/api", + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/agentconfig"], + "linkedWriteProperties": []}''' headers: Accept: - application/json Accept-Encoding: - gzip, deflate CommandName: - - monitor app-insights api-key show + - monitor app-insights api-key create Connection: - keep-alive + Content-Length: + - '479' Content-Type: - application/json; charset=utf-8 ParameterSetName: + - --app -g --api-key --write-properties + User-Agent: + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-applicationinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.4.0 + accept-language: + - en-US + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Insights/components/demoApp/ApiKeys?api-version=2015-05-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/apikeys/0101d573-96ad-49bd-b8bb-bfc810a6a7f8","name":"emptyKey","linkedReadProperties":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/api","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/agentconfig"],"linkedWriteProperties":[],"apiKey":"lrdm01sidli8s1c22vj87vhz5wdew70x0kcxpnm7","createdDate":"Fri, + 24 Apr 2020 03:13:16 GMT","integrationType":null,"integrationProperty":null}' + headers: + access-control-expose-headers: + - Request-Context + cache-control: + - no-cache + content-length: + - '864' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 24 Apr 2020 03:13:16 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:920e14b1-13f3-461a-a4bb-b4fe6f1a4525 + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - monitor app-insights api-key show + Connection: + - keep-alive + ParameterSetName: - --app -g User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-applicationinsights/0.1.1 Azure-SDK-For-Python AZURECLI/2.1.0 + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-applicationinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.4.0 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/ApiKeys?api-version=2015-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Insights/components/demoApp/ApiKeys?api-version=2015-05-01 response: body: - string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/apikeys/ec78280f-11d8-46b7-b587-ee1789e8c63a","name":"otherKey","linkedReadProperties":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/api","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/draft","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/extendqueries","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/search","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/aggregate","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/agentconfig"],"linkedWriteProperties":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/annotations"],"createdDate":"Tue, - 25 Feb 2020 06:37:24 GMT","integrationType":null,"integrationProperty":null},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/apikeys/3b4ab45d-11e3-4e30-b640-d156f12cde5f","name":"demoKey","linkedReadProperties":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/api","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/draft","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/extendqueries","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/search","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/aggregate","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/agentconfig"],"linkedWriteProperties":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/annotations"],"createdDate":"Tue, - 25 Feb 2020 06:37:19 GMT","integrationType":null,"integrationProperty":null}]}' + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/apikeys/0101d573-96ad-49bd-b8bb-bfc810a6a7f8","name":"emptyKey","linkedReadProperties":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/api","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/draft","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/extendqueries","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/search","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/aggregate","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/agentconfig"],"linkedWriteProperties":[],"createdDate":"Fri, + 24 Apr 2020 03:13:16 GMT","integrationType":null,"integrationProperty":null},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/apikeys/49870748-bf6a-4841-86de-09bf586c709d","name":"otherKey","linkedReadProperties":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/api","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/draft","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/extendqueries","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/search","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/aggregate","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/agentconfig"],"linkedWriteProperties":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/annotations"],"createdDate":"Fri, + 24 Apr 2020 03:13:13 GMT","integrationType":null,"integrationProperty":null},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/apikeys/33d84fd7-1aa2-4626-8f54-07a2a7f625c3","name":"demoKey","linkedReadProperties":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/api","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/draft","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/extendqueries","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/search","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/aggregate","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/agentconfig"],"linkedWriteProperties":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/annotations"],"createdDate":"Fri, + 24 Apr 2020 03:13:08 GMT","integrationType":null,"integrationProperty":null}]}' headers: access-control-expose-headers: - Request-Context cache-control: - no-cache content-length: - - '3662' + - '5284' content-type: - application/json; charset=utf-8 date: - - Tue, 25 Feb 2020 06:37:25 GMT + - Fri, 24 Apr 2020 03:13:18 GMT expires: - '-1' pragma: @@ -309,33 +369,32 @@ interactions: - monitor app-insights api-key delete Connection: - keep-alive - Content-Type: - - application/json; charset=utf-8 ParameterSetName: - --app -g --api-key User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-applicationinsights/0.1.1 Azure-SDK-For-Python AZURECLI/2.1.0 + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-applicationinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.4.0 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/ApiKeys?api-version=2015-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Insights/components/demoApp/ApiKeys?api-version=2015-05-01 response: body: - string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/apikeys/ec78280f-11d8-46b7-b587-ee1789e8c63a","name":"otherKey","linkedReadProperties":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/api","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/draft","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/extendqueries","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/search","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/aggregate","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/agentconfig"],"linkedWriteProperties":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/annotations"],"createdDate":"Tue, - 25 Feb 2020 06:37:24 GMT","integrationType":null,"integrationProperty":null},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/apikeys/3b4ab45d-11e3-4e30-b640-d156f12cde5f","name":"demoKey","linkedReadProperties":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/api","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/draft","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/extendqueries","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/search","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/aggregate","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/agentconfig"],"linkedWriteProperties":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/annotations"],"createdDate":"Tue, - 25 Feb 2020 06:37:19 GMT","integrationType":null,"integrationProperty":null}]}' + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/apikeys/0101d573-96ad-49bd-b8bb-bfc810a6a7f8","name":"emptyKey","linkedReadProperties":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/api","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/draft","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/extendqueries","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/search","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/aggregate","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/agentconfig"],"linkedWriteProperties":[],"createdDate":"Fri, + 24 Apr 2020 03:13:16 GMT","integrationType":null,"integrationProperty":null},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/apikeys/49870748-bf6a-4841-86de-09bf586c709d","name":"otherKey","linkedReadProperties":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/api","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/draft","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/extendqueries","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/search","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/aggregate","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/agentconfig"],"linkedWriteProperties":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/annotations"],"createdDate":"Fri, + 24 Apr 2020 03:13:13 GMT","integrationType":null,"integrationProperty":null},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/apikeys/33d84fd7-1aa2-4626-8f54-07a2a7f625c3","name":"demoKey","linkedReadProperties":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/api","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/draft","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/extendqueries","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/search","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/aggregate","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/agentconfig"],"linkedWriteProperties":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/annotations"],"createdDate":"Fri, + 24 Apr 2020 03:13:08 GMT","integrationType":null,"integrationProperty":null}]}' headers: access-control-expose-headers: - Request-Context cache-control: - no-cache content-length: - - '3662' + - '5284' content-type: - application/json; charset=utf-8 date: - - Tue, 25 Feb 2020 06:37:27 GMT + - Fri, 24 Apr 2020 03:13:20 GMT expires: - '-1' pragma: @@ -368,21 +427,19 @@ interactions: - keep-alive Content-Length: - '0' - Content-Type: - - application/json; charset=utf-8 ParameterSetName: - --app -g --api-key User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-applicationinsights/0.1.1 Azure-SDK-For-Python AZURECLI/2.1.0 + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-applicationinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.4.0 accept-language: - en-US method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/APIKeys/ec78280f-11d8-46b7-b587-ee1789e8c63a?api-version=2015-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Insights/components/demoApp/APIKeys/49870748-bf6a-4841-86de-09bf586c709d?api-version=2015-05-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/apikeys/ec78280f-11d8-46b7-b587-ee1789e8c63a","name":"otherKey","linkedReadProperties":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/api","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/draft","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/extendqueries","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/search","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/aggregate","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/agentconfig"],"linkedWriteProperties":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/annotations"],"createdDate":"Tue, - 25 Feb 2020 06:37:24 GMT","integrationType":null,"integrationProperty":null}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/apikeys/49870748-bf6a-4841-86de-09bf586c709d","name":"otherKey","linkedReadProperties":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/api","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/draft","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/extendqueries","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/search","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/aggregate","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/agentconfig"],"linkedWriteProperties":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/annotations"],"createdDate":"Fri, + 24 Apr 2020 03:13:13 GMT","integrationType":null,"integrationProperty":null}' headers: access-control-expose-headers: - Request-Context @@ -393,7 +450,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 Feb 2020 06:37:29 GMT + - Fri, 24 Apr 2020 03:13:21 GMT expires: - '-1' pragma: diff --git a/src/application-insights/azext_applicationinsights/tests/latest/recordings/test_component.yaml b/src/application-insights/azext_applicationinsights/tests/latest/recordings/test_component.yaml index bdb83e71408..8ab32ca0a27 100644 --- a/src/application-insights/azext_applicationinsights/tests/latest/recordings/test_component.yaml +++ b/src/application-insights/azext_applicationinsights/tests/latest/recordings/test_component.yaml @@ -1,7 +1,8 @@ interactions: - request: body: '{"location": "westus", "kind": "web", "properties": {"Application_Type": - "web", "Flow_Type": "Bluefield", "Request_Source": "rest"}}' + "web", "Flow_Type": "Bluefield", "Request_Source": "rest", "RetentionInDays": + 120}}' headers: Accept: - application/json @@ -12,32 +13,32 @@ interactions: Connection: - keep-alive Content-Length: - - '132' + - '156' Content-Type: - application/json; charset=utf-8 ParameterSetName: - - --app --location --kind -g --application-type + - --app --location --kind -g --application-type --retention-time User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-applicationinsights/0.1.1 Azure-SDK-For-Python AZURECLI/2.1.0 + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 yulocal msrest_azure/0.6.3 + azure-mgmt-applicationinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp?api-version=2015-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Insights/components/demoApp?api-version=2018-05-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp","name":"demoApp","type":"microsoft.insights/components","location":"westus","tags":{},"kind":"web","etag":"\"9100fa8e-0000-0700-0000-5e54c2440000\"","properties":{"Ver":"v2","ApplicationId":"demoApp","AppId":"de019f91-2846-48f1-95e6-c810b1874a3a","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"2d696d25-dd09-4385-86bb-2aff20723016","ConnectionString":"InstrumentationKey=2d696d25-dd09-4385-86bb-2aff20723016","Name":"demoApp","CreationDate":"2020-02-25T06:44:20.0141188+00:00","TenantId":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","provisioningState":"Succeeded","SamplingPercentage":null}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp","name":"demoApp","type":"microsoft.insights/components","location":"westus","tags":{},"kind":"web","etag":"\"27001e7c-0000-0700-0000-5edf07a30000\"","properties":{"Ver":"v2","ApplicationId":"demoApp","AppId":"09212282-19f4-4609-9219-c12ecc73ac20","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"7ee4b5e9-aca5-403e-9ff4-b442d23dd25c","ConnectionString":"InstrumentationKey=7ee4b5e9-aca5-403e-9ff4-b442d23dd25c","Name":"demoApp","CreationDate":"2020-06-09T03:53:07.3140287+00:00","TenantId":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","provisioningState":"Succeeded","SamplingPercentage":null,"RetentionInDays":120,"Retention":"P120D","IngestionMode":"ApplicationInsights","publicNetworkAccessForIngestion":"Enabled","publicNetworkAccessForQuery":"Enabled"}}' headers: access-control-expose-headers: - Request-Context cache-control: - no-cache content-length: - - '833' + - '997' content-type: - application/json; charset=utf-8 date: - - Tue, 25 Feb 2020 06:44:21 GMT + - Tue, 09 Jun 2020 03:53:09 GMT expires: - '-1' pragma: @@ -72,17 +73,15 @@ interactions: - monitor app-insights component billing show Connection: - keep-alive - Content-Type: - - application/json; charset=utf-8 ParameterSetName: - --app -g User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-applicationinsights/0.1.1 Azure-SDK-For-Python AZURECLI/2.1.0 + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 yulocal msrest_azure/0.6.3 + azure-mgmt-applicationinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/currentbillingfeatures?api-version=2015-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Insights/components/demoApp/currentbillingfeatures?api-version=2015-05-01 response: body: string: '{"CurrentBillingFeatures":["Basic"],"DataVolumeCap":{"Cap":100.0,"MaxHistoryCap":1000.0,"ResetTime":0,"WarningThreshold":90,"StopSendNotificationWhenHitThreshold":false,"StopSendNotificationWhenHitCap":false},"EndTime":"2018-04-02T13:00:00+00:00"}' @@ -96,7 +95,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 Feb 2020 06:44:25 GMT + - Tue, 09 Jun 2020 03:53:12 GMT expires: - '-1' pragma: @@ -129,17 +128,15 @@ interactions: - monitor app-insights component billing update Connection: - keep-alive - Content-Type: - - application/json; charset=utf-8 ParameterSetName: - --app -g --cap -s User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-applicationinsights/0.1.1 Azure-SDK-For-Python AZURECLI/2.1.0 + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 yulocal msrest_azure/0.6.3 + azure-mgmt-applicationinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/currentbillingfeatures?api-version=2015-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Insights/components/demoApp/currentbillingfeatures?api-version=2015-05-01 response: body: string: '{"CurrentBillingFeatures":["Basic"],"DataVolumeCap":{"Cap":100.0,"MaxHistoryCap":1000.0,"ResetTime":0,"WarningThreshold":90,"StopSendNotificationWhenHitThreshold":false,"StopSendNotificationWhenHitCap":false},"EndTime":"2018-04-02T13:00:00+00:00"}' @@ -153,7 +150,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 Feb 2020 06:44:27 GMT + - Tue, 09 Jun 2020 03:53:15 GMT expires: - '-1' pragma: @@ -194,12 +191,12 @@ interactions: ParameterSetName: - --app -g --cap -s User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-applicationinsights/0.1.1 Azure-SDK-For-Python AZURECLI/2.1.0 + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 yulocal msrest_azure/0.6.3 + azure-mgmt-applicationinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/currentbillingfeatures?api-version=2015-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Insights/components/demoApp/currentbillingfeatures?api-version=2015-05-01 response: body: string: '{"CurrentBillingFeatures":["Basic"],"DataVolumeCap":{"Cap":200.0,"MaxHistoryCap":1000.0,"ResetTime":0,"WarningThreshold":90,"StopSendNotificationWhenHitThreshold":false,"StopSendNotificationWhenHitCap":true}}' @@ -213,7 +210,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 Feb 2020 06:44:34 GMT + - Tue, 09 Jun 2020 03:53:16 GMT expires: - '-1' pragma: @@ -248,31 +245,29 @@ interactions: - monitor app-insights component update Connection: - keep-alive - Content-Type: - - application/json; charset=utf-8 ParameterSetName: - - --app --kind -g + - --app --kind -g --retention-time User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-applicationinsights/0.1.1 Azure-SDK-For-Python AZURECLI/2.1.0 + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 yulocal msrest_azure/0.6.3 + azure-mgmt-applicationinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp?api-version=2015-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Insights/components/demoApp?api-version=2018-05-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp","name":"demoApp","type":"microsoft.insights/components","location":"westus","tags":{},"kind":"web","etag":"\"9100fa8e-0000-0700-0000-5e54c2440000\"","properties":{"Ver":"v2","ApplicationId":"demoApp","AppId":"de019f91-2846-48f1-95e6-c810b1874a3a","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"2d696d25-dd09-4385-86bb-2aff20723016","ConnectionString":"InstrumentationKey=2d696d25-dd09-4385-86bb-2aff20723016","Name":"demoApp","CreationDate":"2020-02-25T06:44:20.0141188+00:00","TenantId":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","provisioningState":"Succeeded","SamplingPercentage":null}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp","name":"demoApp","type":"microsoft.insights/components","location":"westus","tags":{},"kind":"web","etag":"\"27001e7c-0000-0700-0000-5edf07a30000\"","properties":{"Ver":"v2","ApplicationId":"demoApp","AppId":"09212282-19f4-4609-9219-c12ecc73ac20","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"7ee4b5e9-aca5-403e-9ff4-b442d23dd25c","ConnectionString":"InstrumentationKey=7ee4b5e9-aca5-403e-9ff4-b442d23dd25c","Name":"demoApp","CreationDate":"2020-06-09T03:53:07.3140287+00:00","TenantId":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","provisioningState":"Succeeded","SamplingPercentage":null,"RetentionInDays":120,"Retention":"P120D","IngestionMode":"ApplicationInsights","publicNetworkAccessForIngestion":"Enabled","publicNetworkAccessForQuery":"Enabled"}}' headers: access-control-expose-headers: - Request-Context cache-control: - no-cache content-length: - - '833' + - '997' content-type: - application/json; charset=utf-8 date: - - Tue, 25 Feb 2020 06:44:36 GMT + - Tue, 09 Jun 2020 03:53:18 GMT expires: - '-1' pragma: @@ -296,7 +291,9 @@ interactions: message: OK - request: body: '{"location": "westus", "tags": {}, "kind": "ios", "properties": {"Application_Type": - "web", "Flow_Type": "Bluefield", "Request_Source": "rest"}}' + "web", "Flow_Type": "Bluefield", "Request_Source": "rest", "RetentionInDays": + 180, "publicNetworkAccessForIngestion": "Enabled", "publicNetworkAccessForQuery": + "Enabled"}}' headers: Accept: - application/json @@ -307,32 +304,32 @@ interactions: Connection: - keep-alive Content-Length: - - '144' + - '256' Content-Type: - application/json; charset=utf-8 ParameterSetName: - - --app --kind -g + - --app --kind -g --retention-time User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-applicationinsights/0.1.1 Azure-SDK-For-Python AZURECLI/2.1.0 + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 yulocal msrest_azure/0.6.3 + azure-mgmt-applicationinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp?api-version=2015-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Insights/components/demoApp?api-version=2018-05-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp","name":"demoApp","type":"microsoft.insights/components","location":"westus","tags":{},"kind":"ios","etag":"\"91009c8f-0000-0700-0000-5e54c2570000\"","properties":{"Ver":"v2","ApplicationId":"demoApp","AppId":"de019f91-2846-48f1-95e6-c810b1874a3a","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"2d696d25-dd09-4385-86bb-2aff20723016","ConnectionString":"InstrumentationKey=2d696d25-dd09-4385-86bb-2aff20723016","Name":"demoApp","CreationDate":"2020-02-25T06:44:20.0141188+00:00","TenantId":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","provisioningState":"Succeeded","SamplingPercentage":null}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp","name":"demoApp","type":"microsoft.insights/components","location":"westus","tags":{},"kind":"ios","etag":"\"27004e7c-0000-0700-0000-5edf07af0000\"","properties":{"Ver":"v2","ApplicationId":"demoApp","AppId":"09212282-19f4-4609-9219-c12ecc73ac20","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"7ee4b5e9-aca5-403e-9ff4-b442d23dd25c","ConnectionString":"InstrumentationKey=7ee4b5e9-aca5-403e-9ff4-b442d23dd25c","Name":"demoApp","CreationDate":"2020-06-09T03:53:07.3140287+00:00","TenantId":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","provisioningState":"Succeeded","SamplingPercentage":null,"RetentionInDays":180,"Retention":"P180D","IngestionMode":"ApplicationInsights","publicNetworkAccessForIngestion":"Enabled","publicNetworkAccessForQuery":"Enabled"}}' headers: access-control-expose-headers: - Request-Context cache-control: - no-cache content-length: - - '833' + - '997' content-type: - application/json; charset=utf-8 date: - - Tue, 25 Feb 2020 06:44:42 GMT + - Tue, 09 Jun 2020 03:53:22 GMT expires: - '-1' pragma: @@ -350,7 +347,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1199' x-powered-by: - ASP.NET status: @@ -375,26 +372,26 @@ interactions: ParameterSetName: - --app --location --kind -g --application-type User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-applicationinsights/0.1.1 Azure-SDK-For-Python AZURECLI/2.1.0 + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 yulocal msrest_azure/0.6.3 + azure-mgmt-applicationinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/testApp?api-version=2015-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Insights/components/testApp?api-version=2018-05-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/testApp","name":"testApp","type":"microsoft.insights/components","location":"westus","tags":{},"kind":"ios","etag":"\"9100d58f-0000-0700-0000-5e54c25f0000\"","properties":{"Ver":"v2","ApplicationId":"testApp","AppId":"1460163c-e0b2-426c-817c-0e5a8c8c44d9","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"c2211cfa-2a95-4fcd-b6bf-53f8430f53a1","ConnectionString":"InstrumentationKey=c2211cfa-2a95-4fcd-b6bf-53f8430f53a1","Name":"testApp","CreationDate":"2020-02-25T06:44:47.0858616+00:00","TenantId":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","provisioningState":"Succeeded","SamplingPercentage":null}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/testApp","name":"testApp","type":"microsoft.insights/components","location":"westus","tags":{},"kind":"ios","etag":"\"27006f7c-0000-0700-0000-5edf07ba0000\"","properties":{"Ver":"v2","ApplicationId":"testApp","AppId":"2cdce806-f5ca-46c9-9c22-b9e6d2845afb","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"c045ea6f-c167-4f58-9ff0-a3fac495e514","ConnectionString":"InstrumentationKey=c045ea6f-c167-4f58-9ff0-a3fac495e514","Name":"testApp","CreationDate":"2020-06-09T03:53:30.9274074+00:00","TenantId":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","provisioningState":"Succeeded","SamplingPercentage":null,"RetentionInDays":90,"IngestionMode":"ApplicationInsights","publicNetworkAccessForIngestion":"Enabled","publicNetworkAccessForQuery":"Enabled"}}' headers: access-control-expose-headers: - Request-Context cache-control: - no-cache content-length: - - '833' + - '976' content-type: - application/json; charset=utf-8 date: - - Tue, 25 Feb 2020 06:44:48 GMT + - Tue, 09 Jun 2020 03:53:31 GMT expires: - '-1' pragma: @@ -412,7 +409,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1198' x-powered-by: - ASP.NET status: @@ -429,29 +426,27 @@ interactions: - monitor app-insights component show Connection: - keep-alive - Content-Type: - - application/json; charset=utf-8 ParameterSetName: - -g User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-applicationinsights/0.1.1 Azure-SDK-For-Python AZURECLI/2.1.0 + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 yulocal msrest_azure/0.6.3 + azure-mgmt-applicationinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components?api-version=2015-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Insights/components?api-version=2018-05-01-preview response: body: - string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp","name":"demoApp","type":"microsoft.insights/components","location":"westus","tags":{},"kind":"ios","etag":"\"91009c8f-0000-0700-0000-5e54c2570000\"","properties":{"ApplicationId":"demoApp","AppId":"de019f91-2846-48f1-95e6-c810b1874a3a","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"2d696d25-dd09-4385-86bb-2aff20723016","ConnectionString":"InstrumentationKey=2d696d25-dd09-4385-86bb-2aff20723016","Name":"demoApp","CreationDate":"2020-02-25T06:44:20.0141188+00:00","TenantId":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","provisioningState":"Succeeded","SamplingPercentage":null}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/testApp","name":"testApp","type":"microsoft.insights/components","location":"westus","tags":{},"kind":"ios","etag":"\"9100d58f-0000-0700-0000-5e54c25f0000\"","properties":{"ApplicationId":"testApp","AppId":"1460163c-e0b2-426c-817c-0e5a8c8c44d9","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"c2211cfa-2a95-4fcd-b6bf-53f8430f53a1","ConnectionString":"InstrumentationKey=c2211cfa-2a95-4fcd-b6bf-53f8430f53a1","Name":"testApp","CreationDate":"2020-02-25T06:44:47.0858616+00:00","TenantId":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","provisioningState":"Succeeded","SamplingPercentage":null}}]}' + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp","name":"demoApp","type":"microsoft.insights/components","location":"westus","tags":{},"kind":"ios","etag":"\"27004e7c-0000-0700-0000-5edf07af0000\"","properties":{"ApplicationId":"demoApp","AppId":"09212282-19f4-4609-9219-c12ecc73ac20","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"7ee4b5e9-aca5-403e-9ff4-b442d23dd25c","ConnectionString":"InstrumentationKey=7ee4b5e9-aca5-403e-9ff4-b442d23dd25c","Name":"demoApp","CreationDate":"2020-06-09T03:53:07.3140287+00:00","TenantId":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","provisioningState":"Succeeded","SamplingPercentage":null,"RetentionInDays":180,"Retention":"P180D","IngestionMode":"ApplicationInsights","publicNetworkAccessForIngestion":"Enabled","publicNetworkAccessForQuery":"Enabled"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/testApp","name":"testApp","type":"microsoft.insights/components","location":"westus","tags":{},"kind":"ios","etag":"\"27006f7c-0000-0700-0000-5edf07ba0000\"","properties":{"ApplicationId":"testApp","AppId":"2cdce806-f5ca-46c9-9c22-b9e6d2845afb","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"c045ea6f-c167-4f58-9ff0-a3fac495e514","ConnectionString":"InstrumentationKey=c045ea6f-c167-4f58-9ff0-a3fac495e514","Name":"testApp","CreationDate":"2020-06-09T03:53:30.9274074+00:00","TenantId":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","provisioningState":"Succeeded","SamplingPercentage":null,"RetentionInDays":90,"IngestionMode":"ApplicationInsights","publicNetworkAccessForIngestion":"Enabled","publicNetworkAccessForQuery":"Enabled"}}]}' headers: cache-control: - no-cache content-length: - - '1657' + - '1964' content-type: - application/json; charset=utf-8 date: - - Tue, 25 Feb 2020 06:44:50 GMT + - Tue, 09 Jun 2020 03:53:33 GMT expires: - '-1' pragma: @@ -463,8 +458,63 @@ interactions: x-content-type-options: - nosniff x-ms-original-request-ids: - - 519849f5-579a-11ea-ba84-70bc107e5d50 - - 519849f5-579a-11ea-ba84-70bc107e5d50 + - c9ba2e14-aa04-11ea-bf06-00155dcc7f5d + - c9ba2e14-aa04-11ea-bf06-00155dcc7f5d + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - monitor app-insights component show + Connection: + - keep-alive + ParameterSetName: + - -g --app + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 yulocal msrest_azure/0.6.3 + azure-mgmt-applicationinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Insights/components/testApp?api-version=2020-02-02-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/testApp","name":"testApp","type":"microsoft.insights/components","location":"westus","tags":{},"kind":"ios","etag":"\"27006f7c-0000-0700-0000-5edf07ba0000\"","properties":{"Ver":"v2","ApplicationId":"testApp","AppId":"2cdce806-f5ca-46c9-9c22-b9e6d2845afb","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"c045ea6f-c167-4f58-9ff0-a3fac495e514","Name":"testApp","CreationDate":"2020-06-09T03:53:30.9274074+00:00","TenantId":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","provisioningState":"Succeeded","SamplingPercentage":null,"RetentionInDays":90,"IngestionMode":"ApplicationInsights","publicNetworkAccessForIngestion":"Enabled","publicNetworkAccessForQuery":"Enabled"}}' + headers: + access-control-expose-headers: + - Request-Context + cache-control: + - no-cache + content-length: + - '899' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 09 Jun 2020 03:53:35 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:920e14b1-13f3-461a-a4bb-b4fe6f1a4525 + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET status: code: 200 message: OK @@ -481,17 +531,15 @@ interactions: - keep-alive Content-Length: - '0' - Content-Type: - - application/json; charset=utf-8 ParameterSetName: - --app -g User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-applicationinsights/0.1.1 Azure-SDK-For-Python AZURECLI/2.1.0 + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 yulocal msrest_azure/0.6.3 + azure-mgmt-applicationinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp?api-version=2015-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Insights/components/demoApp?api-version=2018-05-01-preview response: body: string: '' @@ -503,7 +551,7 @@ interactions: content-length: - '0' date: - - Tue, 25 Feb 2020 06:44:59 GMT + - Tue, 09 Jun 2020 03:54:11 GMT expires: - '-1' pragma: diff --git a/src/application-insights/azext_applicationinsights/tests/latest/recordings/test_component_with_linked_storage.yaml b/src/application-insights/azext_applicationinsights/tests/latest/recordings/test_component_with_linked_storage.yaml new file mode 100644 index 00000000000..4d0145920f1 --- /dev/null +++ b/src/application-insights/azext_applicationinsights/tests/latest/recordings/test_component_with_linked_storage.yaml @@ -0,0 +1,525 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - monitor log-analytics workspace create + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.4.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2019-07-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2020-04-27T08:29:38Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '428' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 27 Apr 2020 08:30:42 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"location": "westus", "properties": {"sku": {"name": "PerGB2018"}, "retentionInDays": + 30}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - monitor log-analytics workspace create + Connection: + - keep-alive + Content-Length: + - '91' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -g -n + User-Agent: + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-loganalytics/0.5.0 Azure-SDK-For-Python AZURECLI/2.4.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.OperationalInsights/workspaces/clitest000004?api-version=2020-03-01-preview + response: + body: + string: "{\r\n \"properties\": {\r\n \"source\": \"Azure\",\r\n \"customerId\": + \"b62f4493-9090-4f5e-9f58-d4534318b46a\",\r\n \"provisioningState\": \"Creating\",\r\n + \ \"sku\": {\r\n \"name\": \"pergb2018\",\r\n \"lastSkuUpdate\": + \"Mon, 27 Apr 2020 08:30:50 GMT\"\r\n },\r\n \"retentionInDays\": 30,\r\n + \ \"features\": {\r\n \"legacy\": 0,\r\n \"searchVersion\": 1,\r\n + \ \"enableLogAccessUsingOnlyResourcePermissions\": true\r\n },\r\n + \ \"workspaceCapping\": {\r\n \"dailyQuotaGb\": -1.0,\r\n \"quotaNextResetTime\": + \"Tue, 28 Apr 2020 07:00:00 GMT\",\r\n \"dataIngestionStatus\": \"RespectQuota\"\r\n + \ },\r\n \"publicNetworkAccessForIngestion\": \"Enabled\",\r\n \"publicNetworkAccessForQuery\": + \"Enabled\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/microsoft.operationalinsights/workspaces/clitest000004\",\r\n + \ \"name\": \"clitest000004\",\r\n \"type\": \"Microsoft.OperationalInsights/workspaces\",\r\n + \ \"location\": \"westus\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1026' + content-type: + - application/json + date: + - Mon, 27 Apr 2020 08:30:52 GMT + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + x-powered-by: + - ASP.NET + - ASP.NET + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - monitor log-analytics workspace create + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-loganalytics/0.5.0 Azure-SDK-For-Python AZURECLI/2.4.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.OperationalInsights/workspaces/clitest000004?api-version=2020-03-01-preview + response: + body: + string: "{\r\n \"properties\": {\r\n \"source\": \"Azure\",\r\n \"customerId\": + \"b62f4493-9090-4f5e-9f58-d4534318b46a\",\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"sku\": {\r\n \"name\": \"pergb2018\",\r\n \"lastSkuUpdate\": + \"Mon, 27 Apr 2020 08:30:50 GMT\"\r\n },\r\n \"retentionInDays\": 30,\r\n + \ \"features\": {\r\n \"legacy\": 0,\r\n \"searchVersion\": 1,\r\n + \ \"enableLogAccessUsingOnlyResourcePermissions\": true\r\n },\r\n + \ \"workspaceCapping\": {\r\n \"dailyQuotaGb\": -1.0,\r\n \"quotaNextResetTime\": + \"Tue, 28 Apr 2020 07:00:00 GMT\",\r\n \"dataIngestionStatus\": \"RespectQuota\"\r\n + \ },\r\n \"publicNetworkAccessForIngestion\": \"Enabled\",\r\n \"publicNetworkAccessForQuery\": + \"Enabled\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/microsoft.operationalinsights/workspaces/clitest000004\",\r\n + \ \"name\": \"clitest000004\",\r\n \"type\": \"Microsoft.OperationalInsights/workspaces\",\r\n + \ \"location\": \"westus\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1027' + content-type: + - application/json + date: + - Mon, 27 Apr 2020 08:31:24 GMT + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + - ASP.NET + status: + code: 200 + message: OK +- request: + body: 'b''{"location": "westus", "kind": "web", "properties": {"Application_Type": + "web", "Flow_Type": "Bluefield", "Request_Source": "rest", "WorkspaceResourceId": + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.OperationalInsights/workspaces/clitest000004"}}''' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - monitor app-insights component create + Connection: + - keep-alive + Content-Length: + - '373' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - --app --location --kind -g --workspace --application-type + User-Agent: + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-applicationinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.4.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Insights/components/demoApp?api-version=2020-02-02-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp","name":"demoApp","type":"microsoft.insights/components","location":"westus","tags":{},"kind":"web","etag":"\"1900a607-0000-0700-0000-5ea698790000\"","properties":{"Ver":"v2","ApplicationId":"demoApp","AppId":"8c7760e8-1491-4215-91b9-e22e50f4ca31","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"70c408a2-1982-4e1f-a3c9-6eabf5a352e2","Name":"demoApp","CreationDate":"2020-04-27T08:31:53.5479888+00:00","TenantId":"57947cb5-aadd-4b6c-9e8e-27f545bb7bf5","provisioningState":"Succeeded","SamplingPercentage":null,"WorkspaceResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.OperationalInsights/workspaces/clitest000004","publicNetworkAccessForIngestion":"Enabled","publicNetworkAccessForQuery":"Enabled"}}' + headers: + access-control-expose-headers: + - Request-Context + cache-control: + - no-cache + content-length: + - '1079' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 27 Apr 2020 08:31:56 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:920e14b1-13f3-461a-a4bb-b4fe6f1a4525 + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1197' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: 'b''b\''{"properties": {"linkedStorageAccount": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/component000002"}}\''''' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - monitor app-insights component linked-storage link + Connection: + - keep-alive + Content-Length: + - '255' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - --app -g -s + User-Agent: + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-applicationinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.4.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/linkedStorageAccounts/serviceprofiler?api-version=2020-03-01-preview + response: + body: + string: "{\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/microsoft.insights/components/demoapp/linkedstorageaccounts/serviceprofiler\",\r\n + \ \"name\": \"serviceprofiler\",\r\n \"type\": \"microsoft.insights/components/linkedstorageaccounts\",\r\n + \ \"properties\": {\r\n \"linkedStorageAccount\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/component000002\"\r\n + \ }\r\n}" + headers: + access-control-expose-headers: + - Request-Context + cache-control: + - no-cache + content-length: + - '608' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 27 Apr 2020 08:32:22 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:7f83c1fe-8c94-4d55-9337-4ddc696f61ed + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - monitor app-insights component linked-storage show + Connection: + - keep-alive + ParameterSetName: + - --app -g + User-Agent: + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-applicationinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.4.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/linkedStorageAccounts/serviceprofiler?api-version=2020-03-01-preview + response: + body: + string: "{\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/microsoft.insights/components/demoapp/linkedstorageaccounts/serviceprofiler\",\r\n + \ \"name\": \"serviceprofiler\",\r\n \"type\": \"microsoft.insights/components/linkedstorageaccounts\",\r\n + \ \"properties\": {\r\n \"linkedStorageAccount\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/component000002\"\r\n + \ }\r\n}" + headers: + access-control-expose-headers: + - Request-Context + cache-control: + - no-cache + content-length: + - '608' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 27 Apr 2020 08:32:26 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:7f83c1fe-8c94-4d55-9337-4ddc696f61ed + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: 'b''b\''{"properties": {"linkedStorageAccount": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/component000003"}}\''''' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - monitor app-insights component linked-storage update + Connection: + - keep-alive + Content-Length: + - '255' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - --app -g -s + User-Agent: + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-applicationinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.4.0 + accept-language: + - en-US + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/linkedStorageAccounts/serviceprofiler?api-version=2020-03-01-preview + response: + body: + string: "{\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/microsoft.insights/components/demoapp/linkedstorageaccounts/serviceprofiler\",\r\n + \ \"name\": \"serviceprofiler\",\r\n \"type\": \"microsoft.insights/components/linkedstorageaccounts\",\r\n + \ \"properties\": {\r\n \"linkedStorageAccount\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/component000003\"\r\n + \ }\r\n}" + headers: + access-control-expose-headers: + - Request-Context + cache-control: + - no-cache + content-length: + - '608' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 27 Apr 2020 08:32:30 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:7f83c1fe-8c94-4d55-9337-4ddc696f61ed + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - monitor app-insights component linked-storage unlink + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --app -g + User-Agent: + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-applicationinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.4.0 + accept-language: + - en-US + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/linkedStorageAccounts/serviceprofiler?api-version=2020-03-01-preview + response: + body: + string: '' + headers: + access-control-expose-headers: + - Request-Context + cache-control: + - no-cache + content-length: + - '0' + date: + - Mon, 27 Apr 2020 08:32:34 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:7f83c1fe-8c94-4d55-9337-4ddc696f61ed + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - monitor app-insights component linked-storage show + Connection: + - keep-alive + ParameterSetName: + - --app -g + User-Agent: + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-applicationinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.4.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/linkedStorageAccounts/serviceprofiler?api-version=2020-03-01-preview + response: + body: + string: 'null' + headers: + access-control-expose-headers: + - Request-Context + cache-control: + - no-cache + content-length: + - '4' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 27 Apr 2020 08:32:38 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:7f83c1fe-8c94-4d55-9337-4ddc696f61ed + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 404 + message: Not Found +version: 1 diff --git a/src/application-insights/azext_applicationinsights/tests/latest/recordings/test_component_with_linked_workspace.yaml b/src/application-insights/azext_applicationinsights/tests/latest/recordings/test_component_with_linked_workspace.yaml new file mode 100644 index 00000000000..94c0027ba6c --- /dev/null +++ b/src/application-insights/azext_applicationinsights/tests/latest/recordings/test_component_with_linked_workspace.yaml @@ -0,0 +1,954 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - monitor log-analytics workspace create + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 yulocal msrest_azure/0.6.3 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2019-07-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2020-06-09T07:08:46Z","StorageType":"Standard_LRS","type":"test"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '471' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 09 Jun 2020 07:08:50 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"location": "westus", "properties": {"sku": {"name": "PerGB2018"}, "retentionInDays": + 30, "workspaceCapping": {}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - monitor log-analytics workspace create + Connection: + - keep-alive + Content-Length: + - '115' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -g -n + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 yulocal msrest_azure/0.6.3 + azure-mgmt-loganalytics/0.6.0 Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.OperationalInsights/workspaces/clitest000002?api-version=2020-03-01-preview + response: + body: + string: "{\r\n \"properties\": {\r\n \"source\": \"Azure\",\r\n \"customerId\": + \"4105f725-d6ad-4017-ba33-e1de1b8a1c07\",\r\n \"provisioningState\": \"Creating\",\r\n + \ \"sku\": {\r\n \"name\": \"pergb2018\",\r\n \"maxCapacityReservationLevel\": + 1000,\r\n \"lastSkuUpdate\": \"Tue, 09 Jun 2020 07:08:57 GMT\"\r\n },\r\n + \ \"retentionInDays\": 30,\r\n \"features\": {\r\n \"legacy\": 0,\r\n + \ \"searchVersion\": 1,\r\n \"enableLogAccessUsingOnlyResourcePermissions\": + true\r\n },\r\n \"workspaceCapping\": {\r\n \"dailyQuotaGb\": -1.0,\r\n + \ \"quotaNextResetTime\": \"Tue, 09 Jun 2020 13:00:00 GMT\",\r\n \"dataIngestionStatus\": + \"RespectQuota\"\r\n },\r\n \"publicNetworkAccessForIngestion\": \"Enabled\",\r\n + \ \"publicNetworkAccessForQuery\": \"Enabled\",\r\n \"createdDate\": + \"Tue, 09 Jun 2020 07:08:57 GMT\",\r\n \"modifiedDate\": \"Tue, 09 Jun + 2020 07:08:57 GMT\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/microsoft.operationalinsights/workspaces/clitest000002\",\r\n + \ \"name\": \"clitest000002\",\r\n \"type\": \"Microsoft.OperationalInsights/workspaces\",\r\n + \ \"location\": \"westus\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1177' + content-type: + - application/json + date: + - Tue, 09 Jun 2020 07:08:58 GMT + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-powered-by: + - ASP.NET + - ASP.NET + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - monitor log-analytics workspace create + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 yulocal msrest_azure/0.6.3 + azure-mgmt-loganalytics/0.6.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.OperationalInsights/workspaces/clitest000002?api-version=2020-03-01-preview + response: + body: + string: "{\r\n \"properties\": {\r\n \"source\": \"Azure\",\r\n \"customerId\": + \"4105f725-d6ad-4017-ba33-e1de1b8a1c07\",\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"sku\": {\r\n \"name\": \"pergb2018\",\r\n \"maxCapacityReservationLevel\": + 1000,\r\n \"lastSkuUpdate\": \"Tue, 09 Jun 2020 07:08:57 GMT\"\r\n },\r\n + \ \"retentionInDays\": 30,\r\n \"features\": {\r\n \"legacy\": 0,\r\n + \ \"searchVersion\": 1,\r\n \"enableLogAccessUsingOnlyResourcePermissions\": + true\r\n },\r\n \"workspaceCapping\": {\r\n \"dailyQuotaGb\": -1.0,\r\n + \ \"quotaNextResetTime\": \"Tue, 09 Jun 2020 13:00:00 GMT\",\r\n \"dataIngestionStatus\": + \"RespectQuota\"\r\n },\r\n \"enableFailover\": false,\r\n \"publicNetworkAccessForIngestion\": + \"Enabled\",\r\n \"publicNetworkAccessForQuery\": \"Enabled\",\r\n \"createdDate\": + \"Tue, 09 Jun 2020 07:08:57 GMT\",\r\n \"modifiedDate\": \"Tue, 09 Jun + 2020 07:08:58 GMT\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/microsoft.operationalinsights/workspaces/clitest000002\",\r\n + \ \"name\": \"clitest000002\",\r\n \"type\": \"Microsoft.OperationalInsights/workspaces\",\r\n + \ \"location\": \"westus\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1208' + content-type: + - application/json + date: + - Tue, 09 Jun 2020 07:09:29 GMT + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - monitor log-analytics workspace create + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 yulocal msrest_azure/0.6.3 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2019-07-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2020-06-09T07:08:46Z","StorageType":"Standard_LRS","type":"test"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '471' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 09 Jun 2020 07:09:31 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"location": "westus", "properties": {"sku": {"name": "PerGB2018"}, "retentionInDays": + 30, "workspaceCapping": {}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - monitor log-analytics workspace create + Connection: + - keep-alive + Content-Length: + - '115' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -g -n + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 yulocal msrest_azure/0.6.3 + azure-mgmt-loganalytics/0.6.0 Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.OperationalInsights/workspaces/clitest000003?api-version=2020-03-01-preview + response: + body: + string: "{\r\n \"properties\": {\r\n \"source\": \"Azure\",\r\n \"customerId\": + \"d8068612-6de1-47f4-bfaf-9ad1bb4b27ee\",\r\n \"provisioningState\": \"Creating\",\r\n + \ \"sku\": {\r\n \"name\": \"pergb2018\",\r\n \"maxCapacityReservationLevel\": + 1000,\r\n \"lastSkuUpdate\": \"Tue, 09 Jun 2020 07:09:37 GMT\"\r\n },\r\n + \ \"retentionInDays\": 30,\r\n \"features\": {\r\n \"legacy\": 0,\r\n + \ \"searchVersion\": 1,\r\n \"enableLogAccessUsingOnlyResourcePermissions\": + true\r\n },\r\n \"workspaceCapping\": {\r\n \"dailyQuotaGb\": -1.0,\r\n + \ \"quotaNextResetTime\": \"Wed, 10 Jun 2020 06:00:00 GMT\",\r\n \"dataIngestionStatus\": + \"RespectQuota\"\r\n },\r\n \"publicNetworkAccessForIngestion\": \"Enabled\",\r\n + \ \"publicNetworkAccessForQuery\": \"Enabled\",\r\n \"createdDate\": + \"Tue, 09 Jun 2020 07:09:37 GMT\",\r\n \"modifiedDate\": \"Tue, 09 Jun + 2020 07:09:37 GMT\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/microsoft.operationalinsights/workspaces/clitest000003\",\r\n + \ \"name\": \"clitest000003\",\r\n \"type\": \"Microsoft.OperationalInsights/workspaces\",\r\n + \ \"location\": \"westus\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1177' + content-type: + - application/json + date: + - Tue, 09 Jun 2020 07:09:38 GMT + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-powered-by: + - ASP.NET + - ASP.NET + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - monitor log-analytics workspace create + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 yulocal msrest_azure/0.6.3 + azure-mgmt-loganalytics/0.6.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.OperationalInsights/workspaces/clitest000003?api-version=2020-03-01-preview + response: + body: + string: "{\r\n \"properties\": {\r\n \"source\": \"Azure\",\r\n \"customerId\": + \"d8068612-6de1-47f4-bfaf-9ad1bb4b27ee\",\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"sku\": {\r\n \"name\": \"pergb2018\",\r\n \"maxCapacityReservationLevel\": + 1000,\r\n \"lastSkuUpdate\": \"Tue, 09 Jun 2020 07:09:37 GMT\"\r\n },\r\n + \ \"retentionInDays\": 30,\r\n \"features\": {\r\n \"legacy\": 0,\r\n + \ \"searchVersion\": 1,\r\n \"enableLogAccessUsingOnlyResourcePermissions\": + true\r\n },\r\n \"workspaceCapping\": {\r\n \"dailyQuotaGb\": -1.0,\r\n + \ \"quotaNextResetTime\": \"Wed, 10 Jun 2020 06:00:00 GMT\",\r\n \"dataIngestionStatus\": + \"RespectQuota\"\r\n },\r\n \"enableFailover\": false,\r\n \"publicNetworkAccessForIngestion\": + \"Enabled\",\r\n \"publicNetworkAccessForQuery\": \"Enabled\",\r\n \"createdDate\": + \"Tue, 09 Jun 2020 07:09:37 GMT\",\r\n \"modifiedDate\": \"Tue, 09 Jun + 2020 07:09:38 GMT\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/microsoft.operationalinsights/workspaces/clitest000003\",\r\n + \ \"name\": \"clitest000003\",\r\n \"type\": \"Microsoft.OperationalInsights/workspaces\",\r\n + \ \"location\": \"westus\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1208' + content-type: + - application/json + date: + - Tue, 09 Jun 2020 07:10:10 GMT + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"location": "westus", "kind": "web", "properties": {"Application_Type": + "web", "Flow_Type": "Bluefield", "Request_Source": "rest"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - monitor app-insights component create + Connection: + - keep-alive + Content-Length: + - '132' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - --app --location --kind -g --application-type + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 yulocal msrest_azure/0.6.3 + azure-mgmt-applicationinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Insights/components/demoApp?api-version=2018-05-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp","name":"demoApp","type":"microsoft.insights/components","location":"westus","tags":{},"kind":"web","etag":"\"270025bd-0000-0700-0000-5edf35d80000\"","properties":{"Ver":"v2","ApplicationId":"demoApp","AppId":"a759d28c-6137-45a3-a459-5e1c32bd0976","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"e7c744c9-130f-4a80-957e-0961818a6ffd","ConnectionString":"InstrumentationKey=e7c744c9-130f-4a80-957e-0961818a6ffd","Name":"demoApp","CreationDate":"2020-06-09T07:10:16.604336+00:00","TenantId":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","provisioningState":"Succeeded","SamplingPercentage":null,"RetentionInDays":90,"IngestionMode":"ApplicationInsights","publicNetworkAccessForIngestion":"Enabled","publicNetworkAccessForQuery":"Enabled"}}' + headers: + access-control-expose-headers: + - Request-Context + cache-control: + - no-cache + content-length: + - '975' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 09 Jun 2020 07:10:17 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:920e14b1-13f3-461a-a4bb-b4fe6f1a4525 + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - monitor app-insights component update + Connection: + - keep-alive + ParameterSetName: + - --app --workspace -g + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 yulocal msrest_azure/0.6.3 + azure-mgmt-applicationinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Insights/components/demoApp?api-version=2020-02-02-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp","name":"demoApp","type":"microsoft.insights/components","location":"westus","tags":{},"kind":"web","etag":"\"270025bd-0000-0700-0000-5edf35d80000\"","properties":{"Ver":"v2","ApplicationId":"demoApp","AppId":"a759d28c-6137-45a3-a459-5e1c32bd0976","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"e7c744c9-130f-4a80-957e-0961818a6ffd","Name":"demoApp","CreationDate":"2020-06-09T07:10:16.604336+00:00","TenantId":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","provisioningState":"Succeeded","SamplingPercentage":null,"RetentionInDays":90,"IngestionMode":"ApplicationInsights","publicNetworkAccessForIngestion":"Enabled","publicNetworkAccessForQuery":"Enabled"}}' + headers: + access-control-expose-headers: + - Request-Context + cache-control: + - no-cache + content-length: + - '898' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 09 Jun 2020 07:10:19 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:920e14b1-13f3-461a-a4bb-b4fe6f1a4525 + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: 'b''{"location": "westus", "tags": {}, "kind": "web", "properties": {"Application_Type": + "web", "Flow_Type": "Bluefield", "Request_Source": "rest", "WorkspaceResourceId": + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.OperationalInsights/workspaces/clitest000002", + "publicNetworkAccessForIngestion": "Enabled", "publicNetworkAccessForQuery": + "Enabled"}}''' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - monitor app-insights component update + Connection: + - keep-alive + Content-Length: + - '473' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - --app --workspace -g + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 yulocal msrest_azure/0.6.3 + azure-mgmt-applicationinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Insights/components/demoApp?api-version=2020-02-02-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp","name":"demoApp","type":"microsoft.insights/components","location":"westus","tags":{},"kind":"web","etag":"\"27002bbd-0000-0700-0000-5edf35e00000\"","properties":{"Ver":"v2","ApplicationId":"demoApp","AppId":"a759d28c-6137-45a3-a459-5e1c32bd0976","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"e7c744c9-130f-4a80-957e-0961818a6ffd","Name":"demoApp","CreationDate":"2020-06-09T07:10:16.604336+00:00","TenantId":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","provisioningState":"Succeeded","SamplingPercentage":null,"RetentionInDays":90,"WorkspaceResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.OperationalInsights/workspaces/clitest000002","IngestionMode":"LogAnalytics","publicNetworkAccessForIngestion":"Enabled","publicNetworkAccessForQuery":"Enabled"}}' + headers: + access-control-expose-headers: + - Request-Context + cache-control: + - no-cache + content-length: + - '1130' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 09 Jun 2020 07:10:24 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:920e14b1-13f3-461a-a4bb-b4fe6f1a4525 + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - monitor app-insights component update + Connection: + - keep-alive + ParameterSetName: + - --app --workspace -g + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 yulocal msrest_azure/0.6.3 + azure-mgmt-applicationinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Insights/components/demoApp?api-version=2020-02-02-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp","name":"demoApp","type":"microsoft.insights/components","location":"westus","tags":{},"kind":"web","etag":"\"27002bbd-0000-0700-0000-5edf35e00000\"","properties":{"Ver":"v2","ApplicationId":"demoApp","AppId":"a759d28c-6137-45a3-a459-5e1c32bd0976","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"e7c744c9-130f-4a80-957e-0961818a6ffd","Name":"demoApp","CreationDate":"2020-06-09T07:10:16.604336+00:00","TenantId":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","provisioningState":"Succeeded","SamplingPercentage":null,"RetentionInDays":90,"WorkspaceResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.OperationalInsights/workspaces/clitest000002","IngestionMode":"LogAnalytics","publicNetworkAccessForIngestion":"Enabled","publicNetworkAccessForQuery":"Enabled"}}' + headers: + access-control-expose-headers: + - Request-Context + cache-control: + - no-cache + content-length: + - '1130' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 09 Jun 2020 07:10:25 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:920e14b1-13f3-461a-a4bb-b4fe6f1a4525 + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: 'b''{"location": "westus", "tags": {}, "kind": "web", "properties": {"Application_Type": + "web", "Flow_Type": "Bluefield", "Request_Source": "rest", "WorkspaceResourceId": + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.OperationalInsights/workspaces/clitest000003", + "publicNetworkAccessForIngestion": "Enabled", "publicNetworkAccessForQuery": + "Enabled"}}''' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - monitor app-insights component update + Connection: + - keep-alive + Content-Length: + - '473' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - --app --workspace -g + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 yulocal msrest_azure/0.6.3 + azure-mgmt-applicationinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Insights/components/demoApp?api-version=2020-02-02-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp","name":"demoApp","type":"microsoft.insights/components","location":"westus","tags":{},"kind":"web","etag":"\"27002dbd-0000-0700-0000-5edf35e40000\"","properties":{"Ver":"v2","ApplicationId":"demoApp","AppId":"a759d28c-6137-45a3-a459-5e1c32bd0976","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"e7c744c9-130f-4a80-957e-0961818a6ffd","Name":"demoApp","CreationDate":"2020-06-09T07:10:16.604336+00:00","TenantId":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","provisioningState":"Succeeded","SamplingPercentage":null,"RetentionInDays":90,"WorkspaceResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.OperationalInsights/workspaces/clitest000003","IngestionMode":"LogAnalytics","publicNetworkAccessForIngestion":"Enabled","publicNetworkAccessForQuery":"Enabled"}}' + headers: + access-control-expose-headers: + - Request-Context + cache-control: + - no-cache + content-length: + - '1130' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 09 Jun 2020 07:10:28 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:920e14b1-13f3-461a-a4bb-b4fe6f1a4525 + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - monitor app-insights component update + Connection: + - keep-alive + ParameterSetName: + - --app --workspace --kind -g + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 yulocal msrest_azure/0.6.3 + azure-mgmt-applicationinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Insights/components/demoApp?api-version=2020-02-02-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp","name":"demoApp","type":"microsoft.insights/components","location":"westus","tags":{},"kind":"web","etag":"\"27002dbd-0000-0700-0000-5edf35e40000\"","properties":{"Ver":"v2","ApplicationId":"demoApp","AppId":"a759d28c-6137-45a3-a459-5e1c32bd0976","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"e7c744c9-130f-4a80-957e-0961818a6ffd","Name":"demoApp","CreationDate":"2020-06-09T07:10:16.604336+00:00","TenantId":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","provisioningState":"Succeeded","SamplingPercentage":null,"RetentionInDays":90,"WorkspaceResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.OperationalInsights/workspaces/clitest000003","IngestionMode":"LogAnalytics","publicNetworkAccessForIngestion":"Enabled","publicNetworkAccessForQuery":"Enabled"}}' + headers: + access-control-expose-headers: + - Request-Context + cache-control: + - no-cache + content-length: + - '1130' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 09 Jun 2020 07:10:29 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:920e14b1-13f3-461a-a4bb-b4fe6f1a4525 + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: 'b''{"location": "westus", "tags": {}, "kind": "ios", "properties": {"Application_Type": + "web", "Flow_Type": "Bluefield", "Request_Source": "rest", "WorkspaceResourceId": + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.OperationalInsights/workspaces/clitest000002", + "publicNetworkAccessForIngestion": "Enabled", "publicNetworkAccessForQuery": + "Enabled"}}''' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - monitor app-insights component update + Connection: + - keep-alive + Content-Length: + - '473' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - --app --workspace --kind -g + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 yulocal msrest_azure/0.6.3 + azure-mgmt-applicationinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Insights/components/demoApp?api-version=2020-02-02-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp","name":"demoApp","type":"microsoft.insights/components","location":"westus","tags":{},"kind":"ios","etag":"\"270035bd-0000-0700-0000-5edf35e90000\"","properties":{"Ver":"v2","ApplicationId":"demoApp","AppId":"a759d28c-6137-45a3-a459-5e1c32bd0976","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"e7c744c9-130f-4a80-957e-0961818a6ffd","Name":"demoApp","CreationDate":"2020-06-09T07:10:16.604336+00:00","TenantId":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","provisioningState":"Succeeded","SamplingPercentage":null,"RetentionInDays":90,"WorkspaceResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.OperationalInsights/workspaces/clitest000002","IngestionMode":"LogAnalytics","publicNetworkAccessForIngestion":"Enabled","publicNetworkAccessForQuery":"Enabled"}}' + headers: + access-control-expose-headers: + - Request-Context + cache-control: + - no-cache + content-length: + - '1130' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 09 Jun 2020 07:10:37 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:920e14b1-13f3-461a-a4bb-b4fe6f1a4525 + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: 'b''{"location": "westus", "kind": "ios", "properties": {"Application_Type": + "web", "Flow_Type": "Bluefield", "Request_Source": "rest", "WorkspaceResourceId": + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.OperationalInsights/workspaces/clitest000003"}}''' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - monitor app-insights component create + Connection: + - keep-alive + Content-Length: + - '373' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - --app --workspace --location --kind -g --application-type + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 yulocal msrest_azure/0.6.3 + azure-mgmt-applicationinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Insights/components/testApp?api-version=2020-02-02-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/testApp","name":"testApp","type":"microsoft.insights/components","location":"westus","tags":{},"kind":"ios","etag":"\"27004fbd-0000-0700-0000-5edf36090000\"","properties":{"Ver":"v2","ApplicationId":"testApp","AppId":"3690cbb7-3421-4d91-8dbf-cab15dd77627","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"4b54409a-741f-4e84-8d9c-8754f2b8ed9f","Name":"testApp","CreationDate":"2020-06-09T07:11:04.5847907+00:00","TenantId":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","provisioningState":"Succeeded","SamplingPercentage":null,"RetentionInDays":90,"WorkspaceResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.OperationalInsights/workspaces/clitest000003","IngestionMode":"LogAnalytics","publicNetworkAccessForIngestion":"Enabled","publicNetworkAccessForQuery":"Enabled"}}' + headers: + access-control-expose-headers: + - Request-Context + cache-control: + - no-cache + content-length: + - '1131' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 09 Jun 2020 07:11:28 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:920e14b1-13f3-461a-a4bb-b4fe6f1a4525 + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - monitor app-insights component update + Connection: + - keep-alive + ParameterSetName: + - --app --kind -g + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 yulocal msrest_azure/0.6.3 + azure-mgmt-applicationinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Insights/components/testApp?api-version=2018-05-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/testApp","name":"testApp","type":"microsoft.insights/components","location":"westus","tags":{},"kind":"ios","etag":"\"27004fbd-0000-0700-0000-5edf36090000\"","properties":{"Ver":"v2","ApplicationId":"testApp","AppId":"3690cbb7-3421-4d91-8dbf-cab15dd77627","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"4b54409a-741f-4e84-8d9c-8754f2b8ed9f","ConnectionString":"InstrumentationKey=4b54409a-741f-4e84-8d9c-8754f2b8ed9f","Name":"testApp","CreationDate":"2020-06-09T07:11:04.5847907+00:00","TenantId":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","provisioningState":"Succeeded","SamplingPercentage":null,"RetentionInDays":90,"WorkspaceResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.OperationalInsights/workspaces/clitest000003","IngestionMode":"LogAnalytics","publicNetworkAccessForIngestion":"Enabled","publicNetworkAccessForQuery":"Enabled"}}' + headers: + access-control-expose-headers: + - Request-Context + cache-control: + - no-cache + content-length: + - '1208' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 09 Jun 2020 07:11:30 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:920e14b1-13f3-461a-a4bb-b4fe6f1a4525 + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"location": "westus", "tags": {}, "kind": "ios", "properties": {"Application_Type": + "web", "Flow_Type": "Bluefield", "Request_Source": "rest", "RetentionInDays": + 90, "publicNetworkAccessForIngestion": "Enabled", "publicNetworkAccessForQuery": + "Enabled"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - monitor app-insights component update + Connection: + - keep-alive + Content-Length: + - '255' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - --app --kind -g + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 yulocal msrest_azure/0.6.3 + azure-mgmt-applicationinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Insights/components/testApp?api-version=2018-05-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/testApp","name":"testApp","type":"microsoft.insights/components","location":"westus","tags":{},"kind":"ios","etag":"\"27007cbd-0000-0700-0000-5edf36230000\"","properties":{"Ver":"v2","ApplicationId":"testApp","AppId":"3690cbb7-3421-4d91-8dbf-cab15dd77627","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"4b54409a-741f-4e84-8d9c-8754f2b8ed9f","ConnectionString":"InstrumentationKey=4b54409a-741f-4e84-8d9c-8754f2b8ed9f","Name":"testApp","CreationDate":"2020-06-09T07:11:04.5847907+00:00","TenantId":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","provisioningState":"Succeeded","SamplingPercentage":null,"RetentionInDays":90,"Retention":"P90D","IngestionMode":"ApplicationInsights","publicNetworkAccessForIngestion":"Enabled","publicNetworkAccessForQuery":"Enabled"}}' + headers: + access-control-expose-headers: + - Request-Context + cache-control: + - no-cache + content-length: + - '995' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 09 Jun 2020 07:11:32 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:920e14b1-13f3-461a-a4bb-b4fe6f1a4525 + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +version: 1 diff --git a/src/application-insights/azext_applicationinsights/tests/latest/recordings/test_component_with_public_network_access.yaml b/src/application-insights/azext_applicationinsights/tests/latest/recordings/test_component_with_public_network_access.yaml new file mode 100644 index 00000000000..ef3f191ce37 --- /dev/null +++ b/src/application-insights/azext_applicationinsights/tests/latest/recordings/test_component_with_public_network_access.yaml @@ -0,0 +1,827 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - monitor log-analytics workspace create + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.4.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2019-07-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2020-04-27T06:55:02Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '428' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 27 Apr 2020 06:55:10 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"location": "westus", "properties": {"sku": {"name": "PerGB2018"}, "retentionInDays": + 30}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - monitor log-analytics workspace create + Connection: + - keep-alive + Content-Length: + - '91' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -g -n + User-Agent: + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-loganalytics/0.5.0 Azure-SDK-For-Python AZURECLI/2.4.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.OperationalInsights/workspaces/clitest000002?api-version=2020-03-01-preview + response: + body: + string: "{\r\n \"properties\": {\r\n \"source\": \"Azure\",\r\n \"customerId\": + \"464dcbb5-8819-4ba0-8d6e-67606ba327cb\",\r\n \"provisioningState\": \"Creating\",\r\n + \ \"sku\": {\r\n \"name\": \"pergb2018\",\r\n \"lastSkuUpdate\": + \"Mon, 27 Apr 2020 06:55:23 GMT\"\r\n },\r\n \"retentionInDays\": 30,\r\n + \ \"features\": {\r\n \"legacy\": 0,\r\n \"searchVersion\": 1,\r\n + \ \"enableLogAccessUsingOnlyResourcePermissions\": true\r\n },\r\n + \ \"workspaceCapping\": {\r\n \"dailyQuotaGb\": -1.0,\r\n \"quotaNextResetTime\": + \"Mon, 27 Apr 2020 21:00:00 GMT\",\r\n \"dataIngestionStatus\": \"RespectQuota\"\r\n + \ },\r\n \"publicNetworkAccessForIngestion\": \"Enabled\",\r\n \"publicNetworkAccessForQuery\": + \"Enabled\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/microsoft.operationalinsights/workspaces/clitest000002\",\r\n + \ \"name\": \"clitest000002\",\r\n \"type\": \"Microsoft.OperationalInsights/workspaces\",\r\n + \ \"location\": \"westus\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1026' + content-type: + - application/json + date: + - Mon, 27 Apr 2020 06:55:24 GMT + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1197' + x-powered-by: + - ASP.NET + - ASP.NET + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - monitor log-analytics workspace create + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-loganalytics/0.5.0 Azure-SDK-For-Python AZURECLI/2.4.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.OperationalInsights/workspaces/clitest000002?api-version=2020-03-01-preview + response: + body: + string: "{\r\n \"properties\": {\r\n \"source\": \"Azure\",\r\n \"customerId\": + \"464dcbb5-8819-4ba0-8d6e-67606ba327cb\",\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"sku\": {\r\n \"name\": \"pergb2018\",\r\n \"lastSkuUpdate\": + \"Mon, 27 Apr 2020 06:55:23 GMT\"\r\n },\r\n \"retentionInDays\": 30,\r\n + \ \"features\": {\r\n \"legacy\": 0,\r\n \"searchVersion\": 1,\r\n + \ \"enableLogAccessUsingOnlyResourcePermissions\": true\r\n },\r\n + \ \"workspaceCapping\": {\r\n \"dailyQuotaGb\": -1.0,\r\n \"quotaNextResetTime\": + \"Mon, 27 Apr 2020 21:00:00 GMT\",\r\n \"dataIngestionStatus\": \"RespectQuota\"\r\n + \ },\r\n \"publicNetworkAccessForIngestion\": \"Enabled\",\r\n \"publicNetworkAccessForQuery\": + \"Enabled\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/microsoft.operationalinsights/workspaces/clitest000002\",\r\n + \ \"name\": \"clitest000002\",\r\n \"type\": \"Microsoft.OperationalInsights/workspaces\",\r\n + \ \"location\": \"westus\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1027' + content-type: + - application/json + date: + - Mon, 27 Apr 2020 06:55:55 GMT + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - monitor log-analytics workspace create + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.4.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2019-07-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2020-04-27T06:55:02Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '428' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 27 Apr 2020 06:55:57 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"location": "westus", "properties": {"sku": {"name": "PerGB2018"}, "retentionInDays": + 30}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - monitor log-analytics workspace create + Connection: + - keep-alive + Content-Length: + - '91' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -g -n + User-Agent: + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-loganalytics/0.5.0 Azure-SDK-For-Python AZURECLI/2.4.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.OperationalInsights/workspaces/clitest000003?api-version=2020-03-01-preview + response: + body: + string: "{\r\n \"properties\": {\r\n \"source\": \"Azure\",\r\n \"customerId\": + \"17962751-b050-4e2e-b086-2a3d10b42343\",\r\n \"provisioningState\": \"Creating\",\r\n + \ \"sku\": {\r\n \"name\": \"pergb2018\",\r\n \"lastSkuUpdate\": + \"Mon, 27 Apr 2020 06:56:06 GMT\"\r\n },\r\n \"retentionInDays\": 30,\r\n + \ \"features\": {\r\n \"legacy\": 0,\r\n \"searchVersion\": 1,\r\n + \ \"enableLogAccessUsingOnlyResourcePermissions\": true\r\n },\r\n + \ \"workspaceCapping\": {\r\n \"dailyQuotaGb\": -1.0,\r\n \"quotaNextResetTime\": + \"Mon, 27 Apr 2020 14:00:00 GMT\",\r\n \"dataIngestionStatus\": \"RespectQuota\"\r\n + \ },\r\n \"publicNetworkAccessForIngestion\": \"Enabled\",\r\n \"publicNetworkAccessForQuery\": + \"Enabled\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/microsoft.operationalinsights/workspaces/clitest000003\",\r\n + \ \"name\": \"clitest000003\",\r\n \"type\": \"Microsoft.OperationalInsights/workspaces\",\r\n + \ \"location\": \"westus\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1026' + content-type: + - application/json + date: + - Mon, 27 Apr 2020 06:56:07 GMT + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-powered-by: + - ASP.NET + - ASP.NET + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - monitor log-analytics workspace create + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-loganalytics/0.5.0 Azure-SDK-For-Python AZURECLI/2.4.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.OperationalInsights/workspaces/clitest000003?api-version=2020-03-01-preview + response: + body: + string: "{\r\n \"properties\": {\r\n \"source\": \"Azure\",\r\n \"customerId\": + \"17962751-b050-4e2e-b086-2a3d10b42343\",\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"sku\": {\r\n \"name\": \"pergb2018\",\r\n \"lastSkuUpdate\": + \"Mon, 27 Apr 2020 06:56:06 GMT\"\r\n },\r\n \"retentionInDays\": 30,\r\n + \ \"features\": {\r\n \"legacy\": 0,\r\n \"searchVersion\": 1,\r\n + \ \"enableLogAccessUsingOnlyResourcePermissions\": true\r\n },\r\n + \ \"workspaceCapping\": {\r\n \"dailyQuotaGb\": -1.0,\r\n \"quotaNextResetTime\": + \"Mon, 27 Apr 2020 14:00:00 GMT\",\r\n \"dataIngestionStatus\": \"RespectQuota\"\r\n + \ },\r\n \"publicNetworkAccessForIngestion\": \"Enabled\",\r\n \"publicNetworkAccessForQuery\": + \"Enabled\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/microsoft.operationalinsights/workspaces/clitest000003\",\r\n + \ \"name\": \"clitest000003\",\r\n \"type\": \"Microsoft.OperationalInsights/workspaces\",\r\n + \ \"location\": \"westus\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1027' + content-type: + - application/json + date: + - Mon, 27 Apr 2020 06:56:39 GMT + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"location": "westus", "kind": "web", "properties": {"Application_Type": + "web", "Flow_Type": "Bluefield", "Request_Source": "rest", "RetentionInDays": + 90}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - monitor app-insights component create + Connection: + - keep-alive + Content-Length: + - '155' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - --app --location --kind -g --application-type + User-Agent: + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-applicationinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.4.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Insights/components/demoApp?api-version=2018-05-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp","name":"demoApp","type":"microsoft.insights/components","location":"westus","tags":{},"kind":"web","etag":"\"1800ea8a-0000-0700-0000-5ea6822f0000\"","properties":{"Ver":"v2","ApplicationId":"demoApp","AppId":"f448d256-9440-4108-ab46-8d981bc5cdb6","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"05c3355e-312c-4535-93c3-092995b4c998","ConnectionString":"InstrumentationKey=05c3355e-312c-4535-93c3-092995b4c998","Name":"demoApp","CreationDate":"2020-04-27T06:56:47.271582+00:00","TenantId":"57947cb5-aadd-4b6c-9e8e-27f545bb7bf5","provisioningState":"Succeeded","SamplingPercentage":null,"RetentionInDays":90,"Retention":"P90D","publicNetworkAccessForIngestion":"Enabled","publicNetworkAccessForQuery":"Enabled"}}' + headers: + access-control-expose-headers: + - Request-Context + cache-control: + - no-cache + content-length: + - '956' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 27 Apr 2020 06:56:49 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:920e14b1-13f3-461a-a4bb-b4fe6f1a4525 + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - monitor app-insights component update + Connection: + - keep-alive + ParameterSetName: + - --app --query-access --ingestion-access -g + User-Agent: + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-applicationinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.4.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Insights/components/demoApp?api-version=2018-05-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp","name":"demoApp","type":"microsoft.insights/components","location":"westus","tags":{},"kind":"web","etag":"\"1800ea8a-0000-0700-0000-5ea6822f0000\"","properties":{"Ver":"v2","ApplicationId":"demoApp","AppId":"f448d256-9440-4108-ab46-8d981bc5cdb6","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"05c3355e-312c-4535-93c3-092995b4c998","ConnectionString":"InstrumentationKey=05c3355e-312c-4535-93c3-092995b4c998","Name":"demoApp","CreationDate":"2020-04-27T06:56:47.271582+00:00","TenantId":"57947cb5-aadd-4b6c-9e8e-27f545bb7bf5","provisioningState":"Succeeded","SamplingPercentage":null,"RetentionInDays":90,"Retention":"P90D","publicNetworkAccessForIngestion":"Enabled","publicNetworkAccessForQuery":"Enabled"}}' + headers: + access-control-expose-headers: + - Request-Context + cache-control: + - no-cache + content-length: + - '956' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 27 Apr 2020 06:56:52 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:920e14b1-13f3-461a-a4bb-b4fe6f1a4525 + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"location": "westus", "tags": {}, "kind": "web", "properties": {"Application_Type": + "web", "Flow_Type": "Bluefield", "Request_Source": "rest", "RetentionInDays": + 90, "publicNetworkAccessForIngestion": "Enabled", "publicNetworkAccessForQuery": + "Enabled"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - monitor app-insights component update + Connection: + - keep-alive + Content-Length: + - '255' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - --app --query-access --ingestion-access -g + User-Agent: + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-applicationinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.4.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Insights/components/demoApp?api-version=2018-05-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp","name":"demoApp","type":"microsoft.insights/components","location":"westus","tags":{},"kind":"web","etag":"\"1800268b-0000-0700-0000-5ea682350000\"","properties":{"Ver":"v2","ApplicationId":"demoApp","AppId":"f448d256-9440-4108-ab46-8d981bc5cdb6","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"05c3355e-312c-4535-93c3-092995b4c998","ConnectionString":"InstrumentationKey=05c3355e-312c-4535-93c3-092995b4c998","Name":"demoApp","CreationDate":"2020-04-27T06:56:47.271582+00:00","TenantId":"57947cb5-aadd-4b6c-9e8e-27f545bb7bf5","provisioningState":"Succeeded","SamplingPercentage":null,"RetentionInDays":90,"Retention":"P90D","publicNetworkAccessForIngestion":"Enabled","publicNetworkAccessForQuery":"Enabled"}}' + headers: + access-control-expose-headers: + - Request-Context + cache-control: + - no-cache + content-length: + - '956' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 27 Apr 2020 06:56:54 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:920e14b1-13f3-461a-a4bb-b4fe6f1a4525 + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - monitor app-insights component update + Connection: + - keep-alive + ParameterSetName: + - --app --workspace --query-access --ingestion-access -g + User-Agent: + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-applicationinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.4.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Insights/components/demoApp?api-version=2020-02-02-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp","name":"demoApp","type":"microsoft.insights/components","location":"westus","tags":{},"kind":"web","etag":"\"1800268b-0000-0700-0000-5ea682350000\"","properties":{"Ver":"v2","ApplicationId":"demoApp","AppId":"f448d256-9440-4108-ab46-8d981bc5cdb6","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"05c3355e-312c-4535-93c3-092995b4c998","Name":"demoApp","CreationDate":"2020-04-27T06:56:47.271582+00:00","TenantId":"57947cb5-aadd-4b6c-9e8e-27f545bb7bf5","provisioningState":"Succeeded","SamplingPercentage":null,"RetentionInDays":90,"Retention":"P90D","publicNetworkAccessForIngestion":"Enabled","publicNetworkAccessForQuery":"Enabled"}}' + headers: + access-control-expose-headers: + - Request-Context + cache-control: + - no-cache + content-length: + - '879' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 27 Apr 2020 06:56:57 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:920e14b1-13f3-461a-a4bb-b4fe6f1a4525 + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: 'b''{"location": "westus", "tags": {}, "kind": "web", "properties": {"Application_Type": + "web", "Flow_Type": "Bluefield", "Request_Source": "rest", "WorkspaceResourceId": + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.OperationalInsights/workspaces/clitest000002", + "publicNetworkAccessForIngestion": "Disabled", "publicNetworkAccessForQuery": + "Disabled"}}''' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - monitor app-insights component update + Connection: + - keep-alive + Content-Length: + - '475' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - --app --workspace --query-access --ingestion-access -g + User-Agent: + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-applicationinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.4.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Insights/components/demoApp?api-version=2020-02-02-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp","name":"demoApp","type":"microsoft.insights/components","location":"westus","tags":{},"kind":"web","etag":"\"18004e8b-0000-0700-0000-5ea6823c0000\"","properties":{"Ver":"v2","ApplicationId":"demoApp","AppId":"f448d256-9440-4108-ab46-8d981bc5cdb6","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"05c3355e-312c-4535-93c3-092995b4c998","Name":"demoApp","CreationDate":"2020-04-27T06:56:47.271582+00:00","TenantId":"57947cb5-aadd-4b6c-9e8e-27f545bb7bf5","provisioningState":"Succeeded","SamplingPercentage":null,"RetentionInDays":90,"Retention":"P90D","WorkspaceResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.OperationalInsights/workspaces/clitest000002","publicNetworkAccessForIngestion":"Disabled","publicNetworkAccessForQuery":"Disabled"}}' + headers: + access-control-expose-headers: + - Request-Context + cache-control: + - no-cache + content-length: + - '1120' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 27 Apr 2020 06:57:01 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:920e14b1-13f3-461a-a4bb-b4fe6f1a4525 + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1196' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: 'b''{"location": "westus", "kind": "web", "properties": {"Application_Type": + "web", "Flow_Type": "Bluefield", "Request_Source": "rest", "WorkspaceResourceId": + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.OperationalInsights/workspaces/clitest000003", + "publicNetworkAccessForIngestion": "Disabled", "publicNetworkAccessForQuery": + "Enabled"}}''' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - monitor app-insights component create + Connection: + - keep-alive + Content-Length: + - '462' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - --app --workspace --location --query-access --ingestion-access -g --application-type + User-Agent: + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-applicationinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.4.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Insights/components/testApp?api-version=2020-02-02-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/testApp","name":"testApp","type":"microsoft.insights/components","location":"westus","tags":{},"kind":"web","etag":"\"18009c8b-0000-0700-0000-5ea682480000\"","properties":{"Ver":"v2","ApplicationId":"testApp","AppId":"33ebfb02-f196-4fe9-baaf-14f44b722442","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"edb44ffb-496c-4d0b-a8fd-7e4a1b47799b","Name":"testApp","CreationDate":"2020-04-27T06:57:11.5863937+00:00","TenantId":"57947cb5-aadd-4b6c-9e8e-27f545bb7bf5","provisioningState":"Succeeded","SamplingPercentage":null,"WorkspaceResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.OperationalInsights/workspaces/clitest000003","publicNetworkAccessForIngestion":"Disabled","publicNetworkAccessForQuery":"Enabled"}}' + headers: + access-control-expose-headers: + - Request-Context + cache-control: + - no-cache + content-length: + - '1080' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 27 Apr 2020 06:57:13 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:920e14b1-13f3-461a-a4bb-b4fe6f1a4525 + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - monitor app-insights component update + Connection: + - keep-alive + ParameterSetName: + - --app --kind -g + User-Agent: + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-applicationinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.4.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Insights/components/testApp?api-version=2018-05-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/testApp","name":"testApp","type":"microsoft.insights/components","location":"westus","tags":{},"kind":"web","etag":"\"18009c8b-0000-0700-0000-5ea682480000\"","properties":{"Ver":"v2","ApplicationId":"testApp","AppId":"33ebfb02-f196-4fe9-baaf-14f44b722442","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"edb44ffb-496c-4d0b-a8fd-7e4a1b47799b","ConnectionString":"InstrumentationKey=edb44ffb-496c-4d0b-a8fd-7e4a1b47799b","Name":"testApp","CreationDate":"2020-04-27T06:57:11.5863937+00:00","TenantId":"57947cb5-aadd-4b6c-9e8e-27f545bb7bf5","provisioningState":"Succeeded","SamplingPercentage":null,"WorkspaceResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.OperationalInsights/workspaces/clitest000003","publicNetworkAccessForIngestion":"Disabled","publicNetworkAccessForQuery":"Enabled"}}' + headers: + access-control-expose-headers: + - Request-Context + cache-control: + - no-cache + content-length: + - '1157' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 27 Apr 2020 06:57:16 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:920e14b1-13f3-461a-a4bb-b4fe6f1a4525 + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"location": "westus", "tags": {}, "kind": "ios", "properties": {"Application_Type": + "web", "Flow_Type": "Bluefield", "Request_Source": "rest", "publicNetworkAccessForIngestion": + "Disabled", "publicNetworkAccessForQuery": "Enabled"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - monitor app-insights component update + Connection: + - keep-alive + Content-Length: + - '233' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - --app --kind -g + User-Agent: + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-applicationinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.4.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Insights/components/testApp?api-version=2018-05-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/testApp","name":"testApp","type":"microsoft.insights/components","location":"westus","tags":{},"kind":"ios","etag":"\"1800c68b-0000-0700-0000-5ea6824e0000\"","properties":{"Ver":"v2","ApplicationId":"testApp","AppId":"33ebfb02-f196-4fe9-baaf-14f44b722442","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"edb44ffb-496c-4d0b-a8fd-7e4a1b47799b","ConnectionString":"InstrumentationKey=edb44ffb-496c-4d0b-a8fd-7e4a1b47799b","Name":"testApp","CreationDate":"2020-04-27T06:57:11.5863937+00:00","TenantId":"57947cb5-aadd-4b6c-9e8e-27f545bb7bf5","provisioningState":"Succeeded","SamplingPercentage":null,"publicNetworkAccessForIngestion":"Disabled","publicNetworkAccessForQuery":"Enabled"}}' + headers: + access-control-expose-headers: + - Request-Context + cache-control: + - no-cache + content-length: + - '918' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 27 Apr 2020 06:57:22 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:920e14b1-13f3-461a-a4bb-b4fe6f1a4525 + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1197' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +version: 1 diff --git a/src/application-insights/azext_applicationinsights/tests/latest/recordings/test_metrics_show.yaml b/src/application-insights/azext_applicationinsights/tests/latest/recordings/test_metrics_show.yaml index e93f37588e6..ca8b29fc84c 100644 --- a/src/application-insights/azext_applicationinsights/tests/latest/recordings/test_metrics_show.yaml +++ b/src/application-insights/azext_applicationinsights/tests/latest/recordings/test_metrics_show.yaml @@ -60,10 +60,10 @@ interactions: accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ace-test/providers/microsoft.insights/components/ace-test?api-version=2015-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ace-test/providers/Microsoft.Insights/components/ace-test?api-version=2015-05-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ace-test/providers/microsoft.insights/components/ace-test","name":"ace-test","type":"microsoft.insights/components","location":"westus2","tags":{},"kind":"Node.JS","etag":"\"08005c73-0000-0000-0000-59f3fe650000\"","properties":{"Ver":"v2","ApplicationId":"ace-test","AppId":"578f0e27-12e9-4631-bc02-50b965da2633","Application_Type":"Node.JS","Flow_Type":"Redfield","Request_Source":"IbizaAIExtension","InstrumentationKey":"1145833f-6099-4855-9cb1-557cea26389e","Name":"ace-test","CreationDate":"2017-10-28T03:49:57.2801146+00:00","PackageId":null,"TenantId":"056f3d78-504f-4b60-b19a-276b6f1687db","HockeyAppId":"","HockeyAppToken":null,"provisioningState":"Succeeded","SamplingPercentage":null,"CustomMetricsOptedInType":null,"Retention":null}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ace-test/providers/Microsoft.Insights/components/ace-test","name":"ace-test","type":"Microsoft.Insights/components","location":"westus2","tags":{},"kind":"Node.JS","etag":"\"08005c73-0000-0000-0000-59f3fe650000\"","properties":{"Ver":"v2","ApplicationId":"ace-test","AppId":"578f0e27-12e9-4631-bc02-50b965da2633","Application_Type":"Node.JS","Flow_Type":"Redfield","Request_Source":"IbizaAIExtension","InstrumentationKey":"1145833f-6099-4855-9cb1-557cea26389e","Name":"ace-test","CreationDate":"2017-10-28T03:49:57.2801146+00:00","PackageId":null,"TenantId":"056f3d78-504f-4b60-b19a-276b6f1687db","HockeyAppId":"","HockeyAppToken":null,"provisioningState":"Succeeded","SamplingPercentage":null,"CustomMetricsOptedInType":null,"Retention":null}}' headers: access-control-expose-headers: - Request-Context diff --git a/src/application-insights/azext_applicationinsights/tests/latest/recordings/test_query_execute.yaml b/src/application-insights/azext_applicationinsights/tests/latest/recordings/test_query_execute.yaml index 517d90b6118..4432874c755 100644 --- a/src/application-insights/azext_applicationinsights/tests/latest/recordings/test_query_execute.yaml +++ b/src/application-insights/azext_applicationinsights/tests/latest/recordings/test_query_execute.yaml @@ -64,9 +64,9 @@ interactions: azure-mgmt-applicationinsights/0.1.1 Azure-SDK-For-Python] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ace-test/providers/microsoft.insights/components/ace-test?api-version=2015-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ace-test/providers/Microsoft.Insights/components/ace-test?api-version=2015-05-01 response: - body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ace-test/providers/microsoft.insights/components/ace-test","name":"ace-test","type":"microsoft.insights/components","location":"westus2","tags":{},"kind":"Node.JS","etag":"\"08005c73-0000-0000-0000-59f3fe650000\"","properties":{"Ver":"v2","ApplicationId":"ace-test","AppId":"578f0e27-12e9-4631-bc02-50b965da2633","Application_Type":"Node.JS","Flow_Type":"Redfield","Request_Source":"IbizaAIExtension","InstrumentationKey":"1145833f-6099-4855-9cb1-557cea26389e","Name":"ace-test","CreationDate":"2017-10-28T03:49:57.2801146+00:00","PackageId":null,"TenantId":"056f3d78-504f-4b60-b19a-276b6f1687db","HockeyAppId":"","HockeyAppToken":null,"provisioningState":"Succeeded","SamplingPercentage":null,"CustomMetricsOptedInType":null}}'} + body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ace-test/providers/Microsoft.Insights/components/ace-test","name":"ace-test","type":"Microsoft.Insights/components","location":"westus2","tags":{},"kind":"Node.JS","etag":"\"08005c73-0000-0000-0000-59f3fe650000\"","properties":{"Ver":"v2","ApplicationId":"ace-test","AppId":"578f0e27-12e9-4631-bc02-50b965da2633","Application_Type":"Node.JS","Flow_Type":"Redfield","Request_Source":"IbizaAIExtension","InstrumentationKey":"1145833f-6099-4855-9cb1-557cea26389e","Name":"ace-test","CreationDate":"2017-10-28T03:49:57.2801146+00:00","PackageId":null,"TenantId":"056f3d78-504f-4b60-b19a-276b6f1687db","HockeyAppId":"","HockeyAppToken":null,"provisioningState":"Succeeded","SamplingPercentage":null,"CustomMetricsOptedInType":null}}'} headers: access-control-expose-headers: [Request-Context] cache-control: [no-cache] @@ -122,9 +122,9 @@ interactions: azure-mgmt-applicationinsights/0.1.1 Azure-SDK-For-Python] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ace-test/providers/microsoft.insights/components/ace-test?api-version=2015-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ace-test/providers/Microsoft.Insights/components/ace-test?api-version=2015-05-01 response: - body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ace-test/providers/microsoft.insights/components/ace-test","name":"ace-test","type":"microsoft.insights/components","location":"westus2","tags":{},"kind":"Node.JS","etag":"\"08005c73-0000-0000-0000-59f3fe650000\"","properties":{"Ver":"v2","ApplicationId":"ace-test","AppId":"578f0e27-12e9-4631-bc02-50b965da2633","Application_Type":"Node.JS","Flow_Type":"Redfield","Request_Source":"IbizaAIExtension","InstrumentationKey":"1145833f-6099-4855-9cb1-557cea26389e","Name":"ace-test","CreationDate":"2017-10-28T03:49:57.2801146+00:00","PackageId":null,"TenantId":"056f3d78-504f-4b60-b19a-276b6f1687db","HockeyAppId":"","HockeyAppToken":null,"provisioningState":"Succeeded","SamplingPercentage":null,"CustomMetricsOptedInType":null}}'} + body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ace-test/providers/Microsoft.Insights/components/ace-test","name":"ace-test","type":"Microsoft.Insights/components","location":"westus2","tags":{},"kind":"Node.JS","etag":"\"08005c73-0000-0000-0000-59f3fe650000\"","properties":{"Ver":"v2","ApplicationId":"ace-test","AppId":"578f0e27-12e9-4631-bc02-50b965da2633","Application_Type":"Node.JS","Flow_Type":"Redfield","Request_Source":"IbizaAIExtension","InstrumentationKey":"1145833f-6099-4855-9cb1-557cea26389e","Name":"ace-test","CreationDate":"2017-10-28T03:49:57.2801146+00:00","PackageId":null,"TenantId":"056f3d78-504f-4b60-b19a-276b6f1687db","HockeyAppId":"","HockeyAppToken":null,"provisioningState":"Succeeded","SamplingPercentage":null,"CustomMetricsOptedInType":null}}'} headers: access-control-expose-headers: [Request-Context] cache-control: [no-cache] diff --git a/src/application-insights/azext_applicationinsights/tests/latest/recordings/test_query_execute_with_different_offset.yaml b/src/application-insights/azext_applicationinsights/tests/latest/recordings/test_query_execute_with_different_offset.yaml new file mode 100644 index 00000000000..56d4629e3a3 --- /dev/null +++ b/src/application-insights/azext_applicationinsights/tests/latest/recordings/test_query_execute_with_different_offset.yaml @@ -0,0 +1,92 @@ +interactions: +- request: + body: '{"query": "availabilityResults | distinct name | order by name asc", "timespan": + "2020-06-01T19:21:28.027311/2020-06-05T07:21:28.027311", "applications": []}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '157' + Content-Type: + - application/json; charset=utf-8 + User-Agent: + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.9 azure-applicationinsights/0.1.0 + method: POST + uri: https://api.applicationinsights.io/v1/apps/db709f0e-cb4e-4f43-ba80-05e10d6a4447/query + response: + body: + string: '{"tables":[{"name":"PrimaryResult","columns":[{"name":"name","type":"string"}],"rows":[]}]}' + headers: + access-control-allow-origin: + - '*' + access-control-expose-headers: + - Retry-After,Age,WWW-Authenticate,x-resource-identities,x-ms-status-location + connection: + - keep-alive + content-length: + - '91' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 07:21:29 GMT + strict-transport-security: + - max-age=15724800; includeSubDomains + vary: + - Accept-Encoding + via: + - 1.1 draft-oms-5f5bbdf49d-pgt7m + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"query": "availabilityResults | distinct name | order by name asc", "timespan": + "2020-06-01T19:20:29.882273/2020-06-05T07:21:29.882273", "applications": []}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '157' + Content-Type: + - application/json; charset=utf-8 + User-Agent: + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.9 azure-applicationinsights/0.1.0 + method: POST + uri: https://api.applicationinsights.io/v1/apps/db709f0e-cb4e-4f43-ba80-05e10d6a4447/query + response: + body: + string: '{"tables":[{"name":"PrimaryResult","columns":[{"name":"name","type":"string"}],"rows":[]}]}' + headers: + access-control-allow-origin: + - '*' + access-control-expose-headers: + - Retry-After,Age,WWW-Authenticate,x-resource-identities,x-ms-status-location + connection: + - keep-alive + content-length: + - '91' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 07:21:30 GMT + strict-transport-security: + - max-age=15724800; includeSubDomains + vary: + - Accept-Encoding + via: + - 1.1 draft-oms-5f5bbdf49d-548wj + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +version: 1 diff --git a/src/application-insights/azext_applicationinsights/tests/latest/test_applicationinsights_commands.py b/src/application-insights/azext_applicationinsights/tests/latest/test_applicationinsights_commands.py index 7d78f928adc..812606006d8 100644 --- a/src/application-insights/azext_applicationinsights/tests/latest/test_applicationinsights_commands.py +++ b/src/application-insights/azext_applicationinsights/tests/latest/test_applicationinsights_commands.py @@ -23,6 +23,11 @@ def test_query_execute(self): assert len(query_guid['tables'][0]['rows']) == 37 assert isinstance(query_guid['tables'][0]['rows'][0][1], (int, float, complex)) + def test_query_execute_with_different_offset(self): + """Tests data plane query capabilities for Application Insights.""" + self.cmd('az monitor app-insights query --apps db709f0e-cb4e-4f43-ba80-05e10d6a4447 --analytics-query "availabilityResults | distinct name | order by name asc" --offset P3DT12H') + self.cmd('az monitor app-insights query --apps db709f0e-cb4e-4f43-ba80-05e10d6a4447 --analytics-query "availabilityResults | distinct name | order by name asc" --offset 3d12h1m') + def test_metrics_show(self): self.cmd('az monitor app-insights metrics show --app 578f0e27-12e9-4631-bc02-50b965da2633 --metrics requests/duration --aggregation count sum --start-time 2019-03-06 00:31 +00:00 --end-time 2019-03-06 01:31 +00:00', checks=[ self.check('value."requests/duration".count', 0), diff --git a/src/application-insights/azext_applicationinsights/tests/latest/test_applicationinsights_mgmt.py b/src/application-insights/azext_applicationinsights/tests/latest/test_applicationinsights_mgmt.py index 6ca55a9ec3a..d643017e75e 100644 --- a/src/application-insights/azext_applicationinsights/tests/latest/test_applicationinsights_mgmt.py +++ b/src/application-insights/azext_applicationinsights/tests/latest/test_applicationinsights_mgmt.py @@ -4,7 +4,7 @@ # -------------------------------------------------------------------------------------------- # pylint: disable=line-too-long -from azure.cli.testsdk import ResourceGroupPreparer, ScenarioTest +from azure.cli.testsdk import ResourceGroupPreparer, ScenarioTest, StorageAccountPreparer class ApplicationInsightsManagementClientTests(ScenarioTest): @@ -17,16 +17,18 @@ def test_component(self, resource_group, location): 'name_a': 'demoApp', 'name_b': 'testApp', 'kind': 'web', - 'application_type': 'web' + 'application_type': 'web', + 'retention_time': 120 }) - self.cmd('az monitor app-insights component create --app {name_a} --location {loc} --kind {kind} -g {resource_group} --application-type {application_type}', checks=[ + self.cmd('az monitor app-insights component create --app {name_a} --location {loc} --kind {kind} -g {resource_group} --application-type {application_type} --retention-time {retention_time}', checks=[ self.check('name', '{name_a}'), self.check('location', '{loc}'), self.check('kind', '{kind}'), self.check('applicationType', '{application_type}'), self.check('applicationId', '{name_a}'), self.check('provisioningState', 'Succeeded'), + self.check('retentionInDays', self.kwargs['retention_time']) ]) self.cmd('monitor app-insights component billing show --app {name_a} -g {resource_group}', checks=[ @@ -39,11 +41,13 @@ def test_component(self, resource_group, location): ]) self.kwargs.update({ - 'kind': 'ios' + 'kind': 'ios', + 'retention_time': 180 }) - self.cmd('az monitor app-insights component update --app {name_a} --kind {kind} -g {resource_group}', checks=[ - self.check('kind', '{kind}') + self.cmd('az monitor app-insights component update --app {name_a} --kind {kind} -g {resource_group} --retention-time {retention_time}', checks=[ + self.check('kind', '{kind}'), + self.check('retentionInDays', self.kwargs['retention_time']) ]) self.cmd('az monitor app-insights component create --app {name_b} --location {loc} --kind {kind} -g {resource_group} --application-type {application_type}', checks=[ @@ -54,6 +58,10 @@ def test_component(self, resource_group, location): apps = self.cmd('az monitor app-insights component show -g {resource_group}').get_output_in_json() assert len(apps) == 2 + self.cmd('az monitor app-insights component show -g {resource_group} --app {name_b}', checks=[ + self.check('name', '{name_b}') + ]) + self.cmd('az monitor app-insights component delete --app {name_a} -g {resource_group}', checks=[self.is_empty()]) return @@ -66,6 +74,7 @@ def test_api_key(self, resource_group, location): 'name': 'demoApp', 'apiKey': 'demoKey', 'apiKeyB': 'otherKey', + 'apiKeyC': 'emptyKey', 'kind': 'web', 'application_type': 'web' }) @@ -83,10 +92,140 @@ def test_api_key(self, resource_group, location): api_key = self.cmd('az monitor app-insights api-key create --app {name} -g {resource_group} --api-key {apiKeyB}').get_output_in_json() assert (api_key['apiKey'] is not None) + api_key = self.cmd('az monitor app-insights api-key create --app {name} -g {resource_group} --api-key {apiKeyC} --write-properties ""').get_output_in_json() + assert len(api_key['linkedReadProperties']) >= 2 # Some are not user configurable but will be added automatically + assert len(api_key['linkedWriteProperties']) == 0 + api_keys = self.cmd('az monitor app-insights api-key show --app {name} -g {resource_group}').get_output_in_json() - assert len(api_keys) == 2 + assert len(api_keys) == 3 self.cmd('az monitor app-insights api-key delete --app {name} -g {resource_group} --api-key {apiKeyB}', checks=[ self.check('name', '{apiKeyB}') ]) return + + @ResourceGroupPreparer(parameter_name_for_location='location') + @StorageAccountPreparer(name_prefix='component', kind='StorageV2') + @StorageAccountPreparer(name_prefix='component', kind='StorageV2', parameter_name='storage_account_2') + def test_component_with_linked_storage(self, resource_group, location, storage_account, storage_account_2): + self.kwargs.update({ + 'loc': location, + 'resource_group': resource_group, + 'name_a': 'demoApp', + 'kind': 'web', + 'application_type': 'web', + 'storage_account': storage_account, + 'ws_1': self.create_random_name('clitest', 20), + 'storage_account_2': storage_account_2 + }) + self.cmd('monitor log-analytics workspace create -g {resource_group} -n {ws_1}') + self.cmd( + 'monitor app-insights component create --app {name_a} --location {loc} --kind {kind} -g {resource_group} --workspace {ws_1} --application-type {application_type}', + checks=[ + self.check('name', '{name_a}'), + self.check('location', '{loc}'), + self.check('kind', '{kind}'), + self.check('applicationType', '{application_type}'), + self.check('applicationId', '{name_a}'), + self.check('provisioningState', 'Succeeded'), + ]) + + output_json = self.cmd('monitor app-insights component linked-storage link --app {name_a} -g {resource_group} -s {storage_account}').get_output_in_json() + assert self.kwargs['storage_account'] in output_json['linkedStorageAccount'] + output_json = self.cmd('monitor app-insights component linked-storage show --app {name_a} -g {resource_group}').get_output_in_json() + assert self.kwargs['storage_account'] in output_json['linkedStorageAccount'] + output_json = self.cmd('monitor app-insights component linked-storage update --app {name_a} -g {resource_group} -s {storage_account_2}').get_output_in_json() + assert self.kwargs['storage_account_2'] in output_json['linkedStorageAccount'] + self.cmd('monitor app-insights component linked-storage unlink --app {name_a} -g {resource_group}') + with self.assertRaisesRegexp(SystemExit, '3'): + self.cmd('monitor app-insights component linked-storage show --app {name_a} -g {resource_group}') + + @ResourceGroupPreparer(parameter_name_for_location='location') + def test_component_with_linked_workspace(self, resource_group, location): + self.kwargs.update({ + 'loc': location, + 'resource_group': resource_group, + 'name_a': 'demoApp', + 'name_b': 'testApp', + 'kind': 'web', + 'application_type': 'web', + 'ws_1': self.create_random_name('clitest', 20), + 'ws_2': self.create_random_name('clitest', 20) + }) + + self.cmd('monitor log-analytics workspace create -g {resource_group} -n {ws_1}') + self.cmd('monitor log-analytics workspace create -g {resource_group} -n {ws_2}') + self.cmd( + 'monitor app-insights component create --app {name_a} --location {loc} --kind {kind} -g {resource_group} --application-type {application_type}', + checks=[ + self.check('name', '{name_a}'), + self.check('location', '{loc}'), + self.check('kind', '{kind}'), + self.check('applicationType', '{application_type}'), + self.check('applicationId', '{name_a}'), + self.check('provisioningState', 'Succeeded'), + ]) + + self.kwargs.update({ + 'kind': 'ios' + }) + + output_json = self.cmd('az monitor app-insights component update --app {name_a} --workspace {ws_1} -g {resource_group}').get_output_in_json() + assert self.kwargs['ws_1'] in output_json['workspaceResourceId'] + output_json = self.cmd('az monitor app-insights component update --app {name_a} --workspace {ws_2} -g {resource_group}').get_output_in_json() + assert self.kwargs['ws_2'] in output_json['workspaceResourceId'] + + output_json = self.cmd('az monitor app-insights component update --app {name_a} --workspace {ws_1} --kind {kind} -g {resource_group}').get_output_in_json() + assert self.kwargs['ws_1'] in output_json['workspaceResourceId'] + assert output_json['kind'] == self.kwargs['kind'] + output_json = self.cmd('az monitor app-insights component create --app {name_b} --workspace {ws_2} --location {loc} --kind {kind} -g {resource_group} --application-type {application_type}').get_output_in_json() + assert self.kwargs['ws_2'] in output_json['workspaceResourceId'] + assert output_json['kind'] == self.kwargs['kind'] + output_json = self.cmd('az monitor app-insights component update --app {name_b} --kind {kind} -g {resource_group}').get_output_in_json() + assert output_json['kind'] == self.kwargs['kind'] + + @ResourceGroupPreparer(parameter_name_for_location='location') + def test_component_with_public_network_access(self, resource_group, location): + self.kwargs.update({ + 'loc': location, + 'resource_group': resource_group, + 'name_a': 'demoApp', + 'name_b': 'testApp', + 'kind': 'web', + 'application_type': 'web', + 'ws_1': self.create_random_name('clitest', 20), + 'ws_2': self.create_random_name('clitest', 20) + }) + + self.cmd('monitor log-analytics workspace create -g {resource_group} -n {ws_1}') + self.cmd('monitor log-analytics workspace create -g {resource_group} -n {ws_2}') + self.cmd( + 'monitor app-insights component create --app {name_a} --location {loc} --kind {kind} -g {resource_group} --application-type {application_type}', + checks=[ + self.check('name', '{name_a}'), + self.check('location', '{loc}'), + self.check('kind', '{kind}'), + self.check('applicationType', '{application_type}'), + self.check('applicationId', '{name_a}'), + self.check('provisioningState', 'Succeeded'), + ]) + + output_json = self.cmd('az monitor app-insights component update --app {name_a} --query-access Enabled --ingestion-access Enabled -g {resource_group}').get_output_in_json() + assert output_json['publicNetworkAccessForIngestion'] == 'Enabled' + assert output_json['publicNetworkAccessForQuery'] == 'Enabled' + output_json = self.cmd('az monitor app-insights component update --app {name_a} --workspace {ws_1} --query-access Disabled --ingestion-access Disabled -g {resource_group}').get_output_in_json() + assert self.kwargs['ws_1'] in output_json['workspaceResourceId'] + assert output_json['publicNetworkAccessForIngestion'] == 'Disabled' + assert output_json['publicNetworkAccessForQuery'] == 'Disabled' + output_json = self.cmd('az monitor app-insights component create --app {name_b} --workspace {ws_2} --location {loc} --query-access Enabled --ingestion-access Disabled -g {resource_group} --application-type {application_type}').get_output_in_json() + assert self.kwargs['ws_2'] in output_json['workspaceResourceId'] + assert output_json['publicNetworkAccessForIngestion'] == 'Disabled' + assert output_json['publicNetworkAccessForQuery'] == 'Enabled' + + self.kwargs.update({ + 'kind': 'ios' + }) + + self.cmd('az monitor app-insights component update --app {name_b} --kind {kind} -g {resource_group}', checks=[ + self.check('kind', '{kind}') + ]) diff --git a/src/application-insights/azext_applicationinsights/util.py b/src/application-insights/azext_applicationinsights/util.py index 0550e1e5d6b..ad4ecb0c045 100644 --- a/src/application-insights/azext_applicationinsights/util.py +++ b/src/application-insights/azext_applicationinsights/util.py @@ -6,17 +6,19 @@ from datetime import datetime import dateutil.parser # pylint: disable=import-error from msrestazure.tools import is_valid_resource_id, parse_resource_id -from azext_applicationinsights._client_factory import cf_components, applicationinsights_mgmt_plane_client +from azext_applicationinsights._client_factory import applicationinsights_mgmt_plane_client def get_id_from_azure_resource(cli_ctx, app, resource_group=None): if is_valid_resource_id(app): parsed = parse_resource_id(app) resource_group, name, subscription = parsed["resource_group"], parsed["name"], parsed["subscription"] - client = applicationinsights_mgmt_plane_client(cli_ctx, subscription_id=subscription).components + client = applicationinsights_mgmt_plane_client(cli_ctx, subscription_id=subscription, + api_version='2015-05-01').components return client.get(resource_group, name).app_id if resource_group: - return cf_components(cli_ctx, None).get(resource_group, app).app_id + client = applicationinsights_mgmt_plane_client(cli_ctx, api_version='2015-05-01').components + return client.get(resource_group, app).app_id return app @@ -63,12 +65,12 @@ def get_linked_properties(cli_ctx, app, resource_group, read_properties=None, wr if isinstance(read_properties, list): propLen = len(read_properties) - linked_read_properties = ['{}/{}'.format(tmpl, roles[read_properties[i]]) for i in range(propLen)] + linked_read_properties = ['{}/{}'.format(tmpl, roles[read_properties[i]]) for i in range(propLen) if read_properties[i]] # pylint: disable=line-too-long else: linked_read_properties = ['{}/{}'.format(tmpl, roles[read_properties])] if isinstance(write_properties, list): propLen = len(write_properties) - linked_write_properties = ['{}/{}'.format(tmpl, roles[write_properties[i]]) for i in range(propLen)] + linked_write_properties = ['{}/{}'.format(tmpl, roles[write_properties[i]]) for i in range(propLen) if write_properties[i]] # pylint: disable=line-too-long else: linked_write_properties = ['{}/{}'.format(tmpl, roles[write_properties])] return linked_read_properties, linked_write_properties diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/__init__.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/__init__.py index e33c5d13ed5..298512941d9 100644 --- a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/__init__.py +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/__init__.py @@ -9,10 +9,11 @@ # regenerated. # -------------------------------------------------------------------------- -from .application_insights_management_client import ApplicationInsightsManagementClient -from .version import VERSION +from ._configuration import ApplicationInsightsManagementClientConfiguration +from ._application_insights_management_client import ApplicationInsightsManagementClient +__all__ = ['ApplicationInsightsManagementClient', 'ApplicationInsightsManagementClientConfiguration'] -__all__ = ['ApplicationInsightsManagementClient'] +from .version import VERSION __version__ = VERSION diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/_application_insights_management_client.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/_application_insights_management_client.py new file mode 100644 index 00000000000..d2d1abb1bbf --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/_application_insights_management_client.py @@ -0,0 +1,455 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.service_client import SDKClient +from msrest import Serializer, Deserializer + +from azure.profiles import KnownProfiles, ProfileDefinition +from azure.profiles.multiapiclient import MultiApiClientMixin +from ._configuration import ApplicationInsightsManagementClientConfiguration + + + +class ApplicationInsightsManagementClient(MultiApiClientMixin, SDKClient): + """Composite Swagger for Application Insights Management Client + + This ready contains multiple API versions, to help you deal with all Azure clouds + (Azure Stack, Azure Government, Azure China, etc.). + By default, uses latest API version available on public Azure. + For production, you should stick a particular api-version and/or profile. + The profile sets a mapping between the operation group and an API version. + The api-version parameter sets the default API version if the operation + group is not described in the profile. + + :ivar config: Configuration for client. + :vartype config: ApplicationInsightsManagementClientConfiguration + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param subscription_id: 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 str api_version: API version to use if no profile is provided, or if + missing in profile. + :param str base_url: Service URL + :param profile: A profile definition, from KnownProfiles to dict. + :type profile: azure.profiles.KnownProfiles + """ + + DEFAULT_API_VERSION = '2020-03-01-preview' + _PROFILE_TAG = "azure.mgmt.applicationinsights.ApplicationInsightsManagementClient" + LATEST_PROFILE = ProfileDefinition({ + _PROFILE_TAG: { + None: DEFAULT_API_VERSION, + 'analytics_items': '2015-05-01', + 'annotations': '2015-05-01', + 'api_keys': '2015-05-01', + 'component_available_features': '2015-05-01', + 'component_current_billing_features': '2015-05-01', + 'component_current_pricing_plan': '2017-10-01', + 'component_feature_capabilities': '2015-05-01', + 'component_quota_status': '2015-05-01', + 'components': '2020-02-02-preview', + 'ea_subscription_list_migration_date': '2017-10-01', + 'ea_subscription_migrate_to_new_pricing_model': '2017-10-01', + 'ea_subscription_rollback_to_legacy_pricing_model': '2017-10-01', + 'export_configurations': '2015-05-01', + 'favorites': '2015-05-01', + 'operations': '2015-05-01', + 'proactive_detection_configurations': '2018-05-01-preview', + 'queries': '2019-09-01-preview', + 'query_packs': '2019-09-01-preview', + 'web_test_locations': '2015-05-01', + 'web_tests': '2015-05-01', + 'work_item_configurations': '2015-05-01', + 'workbook_templates': '2019-10-17-preview', + 'workbooks': '2018-06-17-preview', + }}, + _PROFILE_TAG + " latest" + ) + + def __init__(self, credentials, subscription_id, api_version=None, base_url=None, profile=KnownProfiles.default): + self.config = ApplicationInsightsManagementClientConfiguration(credentials, subscription_id, base_url) + super(ApplicationInsightsManagementClient, self).__init__( + credentials, + self.config, + api_version=api_version, + profile=profile + ) + + @classmethod + def _models_dict(cls, api_version): + return {k: v for k, v in cls.models(api_version).__dict__.items() if isinstance(v, type)} + + @classmethod + def models(cls, api_version=DEFAULT_API_VERSION): + """Module depends on the API version: + + * 2015-05-01: :mod:`v2015_05_01.models` + * 2017-10-01: :mod:`v2017_10_01.models` + * 2018-05-01-preview: :mod:`v2018_05_01_preview.models` + * 2018-06-17-preview: :mod:`v2018_06_17_preview.models` + * 2019-09-01-preview: :mod:`v2019_09_01_preview.models` + * 2019-10-17-preview: :mod:`v2019_10_17_preview.models` + * 2020-02-02-preview: :mod:`v2020_02_02_preview.models` + * 2020-03-01-preview: :mod:`v2020_03_01_preview.models` + """ + if api_version == '2015-05-01': + from .v2015_05_01 import models + return models + elif api_version == '2017-10-01': + from .v2017_10_01 import models + return models + elif api_version == '2018-05-01-preview': + from .v2018_05_01_preview import models + return models + elif api_version == '2018-06-17-preview': + from .v2018_06_17_preview import models + return models + elif api_version == '2019-09-01-preview': + from .v2019_09_01_preview import models + return models + elif api_version == '2019-10-17-preview': + from .v2019_10_17_preview import models + return models + elif api_version == '2020-02-02-preview': + from .v2020_02_02_preview import models + return models + elif api_version == '2020-03-01-preview': + from .v2020_03_01_preview import models + return models + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + + @property + def analytics_items(self): + """Instance depends on the API version: + + * 2015-05-01: :class:`AnalyticsItemsOperations` + """ + api_version = self._get_api_version('analytics_items') + if api_version == '2015-05-01': + from .v2015_05_01.operations import AnalyticsItemsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def annotations(self): + """Instance depends on the API version: + + * 2015-05-01: :class:`AnnotationsOperations` + """ + api_version = self._get_api_version('annotations') + if api_version == '2015-05-01': + from .v2015_05_01.operations import AnnotationsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def api_keys(self): + """Instance depends on the API version: + + * 2015-05-01: :class:`APIKeysOperations` + """ + api_version = self._get_api_version('api_keys') + if api_version == '2015-05-01': + from .v2015_05_01.operations import APIKeysOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def component_available_features(self): + """Instance depends on the API version: + + * 2015-05-01: :class:`ComponentAvailableFeaturesOperations` + """ + api_version = self._get_api_version('component_available_features') + if api_version == '2015-05-01': + from .v2015_05_01.operations import ComponentAvailableFeaturesOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def component_current_billing_features(self): + """Instance depends on the API version: + + * 2015-05-01: :class:`ComponentCurrentBillingFeaturesOperations` + """ + api_version = self._get_api_version('component_current_billing_features') + if api_version == '2015-05-01': + from .v2015_05_01.operations import ComponentCurrentBillingFeaturesOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def component_current_pricing_plan(self): + """Instance depends on the API version: + + * 2017-10-01: :class:`ComponentCurrentPricingPlanOperations` + """ + api_version = self._get_api_version('component_current_pricing_plan') + if api_version == '2017-10-01': + from .v2017_10_01.operations import ComponentCurrentPricingPlanOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def component_feature_capabilities(self): + """Instance depends on the API version: + + * 2015-05-01: :class:`ComponentFeatureCapabilitiesOperations` + """ + api_version = self._get_api_version('component_feature_capabilities') + if api_version == '2015-05-01': + from .v2015_05_01.operations import ComponentFeatureCapabilitiesOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def component_linked_storage_accounts(self): + """Instance depends on the API version: + + * 2020-03-01-preview: :class:`ComponentLinkedStorageAccountsOperations` + """ + api_version = self._get_api_version('component_linked_storage_accounts') + if api_version == '2020-03-01-preview': + from .v2020_03_01_preview.operations import ComponentLinkedStorageAccountsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def component_quota_status(self): + """Instance depends on the API version: + + * 2015-05-01: :class:`ComponentQuotaStatusOperations` + """ + api_version = self._get_api_version('component_quota_status') + if api_version == '2015-05-01': + from .v2015_05_01.operations import ComponentQuotaStatusOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def components(self): + """Instance depends on the API version: + + * 2015-05-01: :class:`ComponentsOperations` + * 2018-05-01-preview: :class:`ComponentsOperations` + * 2020-02-02-preview: :class:`ComponentsOperations` + """ + api_version = self._get_api_version('components') + if api_version == '2015-05-01': + from .v2015_05_01.operations import ComponentsOperations as OperationClass + elif api_version == '2018-05-01-preview': + from .v2018_05_01_preview.operations import ComponentsOperations as OperationClass + elif api_version == '2020-02-02-preview': + from .v2020_02_02_preview.operations import ComponentsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def ea_subscription_list_migration_date(self): + """Instance depends on the API version: + + * 2017-10-01: :class:`EASubscriptionListMigrationDateOperations` + """ + api_version = self._get_api_version('ea_subscription_list_migration_date') + if api_version == '2017-10-01': + from .v2017_10_01.operations import EASubscriptionListMigrationDateOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def ea_subscription_migrate_to_new_pricing_model(self): + """Instance depends on the API version: + + * 2017-10-01: :class:`EASubscriptionMigrateToNewPricingModelOperations` + """ + api_version = self._get_api_version('ea_subscription_migrate_to_new_pricing_model') + if api_version == '2017-10-01': + from .v2017_10_01.operations import EASubscriptionMigrateToNewPricingModelOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def ea_subscription_rollback_to_legacy_pricing_model(self): + """Instance depends on the API version: + + * 2017-10-01: :class:`EASubscriptionRollbackToLegacyPricingModelOperations` + """ + api_version = self._get_api_version('ea_subscription_rollback_to_legacy_pricing_model') + if api_version == '2017-10-01': + from .v2017_10_01.operations import EASubscriptionRollbackToLegacyPricingModelOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def export_configurations(self): + """Instance depends on the API version: + + * 2015-05-01: :class:`ExportConfigurationsOperations` + """ + api_version = self._get_api_version('export_configurations') + if api_version == '2015-05-01': + from .v2015_05_01.operations import ExportConfigurationsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def favorites(self): + """Instance depends on the API version: + + * 2015-05-01: :class:`FavoritesOperations` + """ + api_version = self._get_api_version('favorites') + if api_version == '2015-05-01': + from .v2015_05_01.operations import FavoritesOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def operations(self): + """Instance depends on the API version: + + * 2015-05-01: :class:`Operations` + """ + api_version = self._get_api_version('operations') + if api_version == '2015-05-01': + from .v2015_05_01.operations import Operations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def proactive_detection_configurations(self): + """Instance depends on the API version: + + * 2015-05-01: :class:`ProactiveDetectionConfigurationsOperations` + * 2018-05-01-preview: :class:`ProactiveDetectionConfigurationsOperations` + """ + api_version = self._get_api_version('proactive_detection_configurations') + if api_version == '2015-05-01': + from .v2015_05_01.operations import ProactiveDetectionConfigurationsOperations as OperationClass + elif api_version == '2018-05-01-preview': + from .v2018_05_01_preview.operations import ProactiveDetectionConfigurationsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def queries(self): + """Instance depends on the API version: + + * 2019-09-01-preview: :class:`QueriesOperations` + """ + api_version = self._get_api_version('queries') + if api_version == '2019-09-01-preview': + from .v2019_09_01_preview.operations import QueriesOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def query_packs(self): + """Instance depends on the API version: + + * 2019-09-01-preview: :class:`QueryPacksOperations` + """ + api_version = self._get_api_version('query_packs') + if api_version == '2019-09-01-preview': + from .v2019_09_01_preview.operations import QueryPacksOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def web_test_locations(self): + """Instance depends on the API version: + + * 2015-05-01: :class:`WebTestLocationsOperations` + """ + api_version = self._get_api_version('web_test_locations') + if api_version == '2015-05-01': + from .v2015_05_01.operations import WebTestLocationsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def web_tests(self): + """Instance depends on the API version: + + * 2015-05-01: :class:`WebTestsOperations` + """ + api_version = self._get_api_version('web_tests') + if api_version == '2015-05-01': + from .v2015_05_01.operations import WebTestsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def work_item_configurations(self): + """Instance depends on the API version: + + * 2015-05-01: :class:`WorkItemConfigurationsOperations` + """ + api_version = self._get_api_version('work_item_configurations') + if api_version == '2015-05-01': + from .v2015_05_01.operations import WorkItemConfigurationsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def workbook_templates(self): + """Instance depends on the API version: + + * 2019-10-17-preview: :class:`WorkbookTemplatesOperations` + """ + api_version = self._get_api_version('workbook_templates') + if api_version == '2019-10-17-preview': + from .v2019_10_17_preview.operations import WorkbookTemplatesOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def workbooks(self): + """Instance depends on the API version: + + * 2015-05-01: :class:`WorkbooksOperations` + * 2018-06-17-preview: :class:`WorkbooksOperations` + """ + api_version = self._get_api_version('workbooks') + if api_version == '2015-05-01': + from .v2015_05_01.operations import WorkbooksOperations as OperationClass + elif api_version == '2018-06-17-preview': + from .v2018_06_17_preview.operations import WorkbooksOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/_configuration.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/_configuration.py new file mode 100644 index 00000000000..6c855295a4b --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/_configuration.py @@ -0,0 +1,48 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +from msrestazure import AzureConfiguration + +from .version import VERSION + + +class ApplicationInsightsManagementClientConfiguration(AzureConfiguration): + """Configuration for ApplicationInsightsManagementClient + Note that all parameters used to create this instance are saved as instance + attributes. + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=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 base_url: + base_url = 'https://management.azure.com' + + super(ApplicationInsightsManagementClientConfiguration, self).__init__(base_url) + + # Starting Autorest.Python 4.0.64, make connection pool activated by default + self.keep_alive = True + + self.add_user_agent('azure-mgmt-applicationinsights/{}'.format(VERSION)) + self.add_user_agent('Azure-SDK-For-Python') + + self.credentials = credentials + self.subscription_id = subscription_id diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/application_insights_management_client.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/application_insights_management_client.py deleted file mode 100644 index 241589ea580..00000000000 --- a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/application_insights_management_client.py +++ /dev/null @@ -1,116 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# 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.operations import Operations -from .operations.components_operations import ComponentsOperations -from .operations.web_tests_operations import WebTestsOperations -from .operations.export_configurations_operations import ExportConfigurationsOperations -from .operations.proactive_detection_configurations_operations import ProactiveDetectionConfigurationsOperations -from .operations.component_current_billing_features_operations import ComponentCurrentBillingFeaturesOperations -from .operations.component_quota_status_operations import ComponentQuotaStatusOperations -from .operations.api_keys_operations import APIKeysOperations -from . import models - - -class ApplicationInsightsManagementClientConfiguration(AzureConfiguration): - """Configuration for ApplicationInsightsManagementClient - Note that all parameters used to create this instance are saved as instance - attributes. - - :param credentials: Credentials needed for the client to connect to Azure. - :type credentials: :mod:`A msrestazure Credentials - object` - :param subscription_id: The Azure subscription ID. - :type subscription_id: str - :param str base_url: Service URL - """ - - def __init__( - self, credentials, subscription_id, base_url=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 base_url: - base_url = 'https://management.azure.com' - - super(ApplicationInsightsManagementClientConfiguration, self).__init__(base_url) - - self.add_user_agent('azure-mgmt-applicationinsights/{}'.format(VERSION)) - self.add_user_agent('Azure-SDK-For-Python') - - self.credentials = credentials - self.subscription_id = subscription_id - - -class ApplicationInsightsManagementClient(object): - """Composite Swagger for Application Insights Management Client - - :ivar config: Configuration for client. - :vartype config: ApplicationInsightsManagementClientConfiguration - - :ivar operations: Operations operations - :vartype operations: azure.mgmt.applicationinsights.operations.Operations - :ivar components: Components operations - :vartype components: azure.mgmt.applicationinsights.operations.ComponentsOperations - :ivar web_tests: WebTests operations - :vartype web_tests: azure.mgmt.applicationinsights.operations.WebTestsOperations - :ivar export_configurations: ExportConfigurations operations - :vartype export_configurations: azure.mgmt.applicationinsights.operations.ExportConfigurationsOperations - :ivar proactive_detection_configurations: ProactiveDetectionConfigurations operations - :vartype proactive_detection_configurations: azure.mgmt.applicationinsights.operations.ProactiveDetectionConfigurationsOperations - :ivar component_current_billing_features: ComponentCurrentBillingFeatures operations - :vartype component_current_billing_features: azure.mgmt.applicationinsights.operations.ComponentCurrentBillingFeaturesOperations - :ivar component_quota_status: ComponentQuotaStatus operations - :vartype component_quota_status: azure.mgmt.applicationinsights.operations.ComponentQuotaStatusOperations - :ivar api_keys: APIKeys operations - :vartype api_keys: azure.mgmt.applicationinsights.operations.APIKeysOperations - - :param credentials: Credentials needed for the client to connect to Azure. - :type credentials: :mod:`A msrestazure Credentials - object` - :param subscription_id: The Azure subscription ID. - :type subscription_id: str - :param str base_url: Service URL - """ - - def __init__( - self, credentials, subscription_id, base_url=None): - - self.config = ApplicationInsightsManagementClientConfiguration(credentials, subscription_id, base_url) - self._client = ServiceClient(self.config.credentials, self.config) - - client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} - self.api_version = '2015-05-01' - self._serialize = Serializer(client_models) - self._deserialize = Deserializer(client_models) - - self.operations = Operations( - self._client, self.config, self._serialize, self._deserialize) - self.components = ComponentsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.web_tests = WebTestsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.export_configurations = ExportConfigurationsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.proactive_detection_configurations = ProactiveDetectionConfigurationsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.component_current_billing_features = ComponentCurrentBillingFeaturesOperations( - self._client, self.config, self._serialize, self._deserialize) - self.component_quota_status = ComponentQuotaStatusOperations( - self._client, self.config, self._serialize, self._deserialize) - self.api_keys = APIKeysOperations( - self._client, self.config, self._serialize, self._deserialize) diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/models.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/models.py new file mode 100644 index 00000000000..b2518264a52 --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/models.py @@ -0,0 +1,14 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- +from .v2015_05_01.models import * +from .v2017_10_01.models import * +from .v2018_05_01_preview.models import * +from .v2018_06_17_preview.models import * +from .v2019_09_01_preview.models import * +from .v2019_10_17_preview.models import * +from .v2020_02_02_preview.models import * +from .v2020_03_01_preview.models import * diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/models/__init__.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/models/__init__.py deleted file mode 100644 index 40e594f9b55..00000000000 --- a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/models/__init__.py +++ /dev/null @@ -1,68 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .error_response import ErrorResponse, ErrorResponseException -from .operation_display import OperationDisplay -from .operation import Operation -from .resource import Resource -from .tags_resource import TagsResource -from .application_insights_component import ApplicationInsightsComponent -from .web_test_geolocation import WebTestGeolocation -from .web_test_properties_configuration import WebTestPropertiesConfiguration -from .web_test import WebTest -from .application_insights_component_export_request import ApplicationInsightsComponentExportRequest -from .application_insights_component_export_configuration import ApplicationInsightsComponentExportConfiguration -from .application_insights_component_proactive_detection_configuration_rule_definitions import ApplicationInsightsComponentProactiveDetectionConfigurationRuleDefinitions -from .application_insights_component_proactive_detection_configuration import ApplicationInsightsComponentProactiveDetectionConfiguration -from .application_insights_component_data_volume_cap import ApplicationInsightsComponentDataVolumeCap -from .application_insights_component_billing_features import ApplicationInsightsComponentBillingFeatures -from .application_insights_component_quota_status import ApplicationInsightsComponentQuotaStatus -from .api_key_request import APIKeyRequest -from .application_insights_component_api_key import ApplicationInsightsComponentAPIKey -from .operation_paged import OperationPaged -from .application_insights_component_paged import ApplicationInsightsComponentPaged -from .web_test_paged import WebTestPaged -from .application_insights_component_api_key_paged import ApplicationInsightsComponentAPIKeyPaged -from .application_insights_management_client_enums import ( - ApplicationType, - FlowType, - RequestSource, - WebTestKind, -) - -__all__ = [ - 'ErrorResponse', 'ErrorResponseException', - 'OperationDisplay', - 'Operation', - 'Resource', - 'TagsResource', - 'ApplicationInsightsComponent', - 'WebTestGeolocation', - 'WebTestPropertiesConfiguration', - 'WebTest', - 'ApplicationInsightsComponentExportRequest', - 'ApplicationInsightsComponentExportConfiguration', - 'ApplicationInsightsComponentProactiveDetectionConfigurationRuleDefinitions', - 'ApplicationInsightsComponentProactiveDetectionConfiguration', - 'ApplicationInsightsComponentDataVolumeCap', - 'ApplicationInsightsComponentBillingFeatures', - 'ApplicationInsightsComponentQuotaStatus', - 'APIKeyRequest', - 'ApplicationInsightsComponentAPIKey', - 'OperationPaged', - 'ApplicationInsightsComponentPaged', - 'WebTestPaged', - 'ApplicationInsightsComponentAPIKeyPaged', - 'ApplicationType', - 'FlowType', - 'RequestSource', - 'WebTestKind', -] diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/models/api_key_request.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/models/api_key_request.py deleted file mode 100644 index a802d1544b8..00000000000 --- a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/models/api_key_request.py +++ /dev/null @@ -1,36 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class APIKeyRequest(Model): - """An Application Insights component API Key createion request definition. - - :param name: The name of the API Key. - :type name: str - :param linked_read_properties: The read access rights of this API Key. - :type linked_read_properties: list[str] - :param linked_write_properties: The write access rights of this API Key. - :type linked_write_properties: list[str] - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'linked_read_properties': {'key': 'linkedReadProperties', 'type': '[str]'}, - 'linked_write_properties': {'key': 'linkedWriteProperties', 'type': '[str]'}, - } - - def __init__(self, name=None, linked_read_properties=None, linked_write_properties=None): - super(APIKeyRequest, self).__init__() - self.name = name - self.linked_read_properties = linked_read_properties - self.linked_write_properties = linked_write_properties diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/models/application_insights_component.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/models/application_insights_component.py deleted file mode 100644 index f3c11134bfe..00000000000 --- a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/models/application_insights_component.py +++ /dev/null @@ -1,132 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .resource import Resource - - -class ApplicationInsightsComponent(Resource): - """An Application Insights component definition. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar id: Azure resource Id - :vartype id: str - :ivar name: Azure resource name - :vartype name: str - :ivar type: Azure resource type - :vartype type: str - :param location: Resource location - :type location: str - :param tags: Resource tags - :type tags: dict[str, str] - :param kind: The kind of application that this component refers to, used - to customize UI. This value is a freeform string, values should typically - be one of the following: web, ios, other, store, java, phone. - :type kind: str - :ivar application_id: The unique ID of your application. This field - mirrors the 'Name' field and cannot be changed. - :vartype application_id: str - :ivar app_id: Application Insights Unique ID for your Application. - :vartype app_id: str - :param application_type: Type of application being monitored. Possible - values include: 'web', 'other'. Default value: "web" . - :type application_type: str or - ~azure.mgmt.applicationinsights.models.ApplicationType - :param flow_type: Used by the Application Insights system to determine - what kind of flow this component was created by. This is to be set to - 'Bluefield' when creating/updating a component via the REST API. Possible - values include: 'Bluefield'. Default value: "Bluefield" . - :type flow_type: str or ~azure.mgmt.applicationinsights.models.FlowType - :param request_source: Describes what tool created this Application - Insights component. Customers using this API should set this to the - default 'rest'. Possible values include: 'rest'. Default value: "rest" . - :type request_source: str or - ~azure.mgmt.applicationinsights.models.RequestSource - :ivar instrumentation_key: Application Insights Instrumentation key. A - read-only value that applications can use to identify the destination for - all telemetry sent to Azure Application Insights. This value will be - supplied upon construction of each new Application Insights component. - :vartype instrumentation_key: str - :ivar creation_date: Creation Date for the Application Insights component, - in ISO 8601 format. - :vartype creation_date: datetime - :ivar tenant_id: Azure Tenant Id. - :vartype tenant_id: str - :param hockey_app_id: The unique application ID created when a new - application is added to HockeyApp, used for communications with HockeyApp. - :type hockey_app_id: str - :ivar hockey_app_token: Token used to authenticate communications with - between Application Insights and HockeyApp. - :vartype hockey_app_token: str - :ivar provisioning_state: Current state of this component: whether or not - is has been provisioned within the resource group it is defined. Users - cannot change this value but are able to read from it. Values will include - Succeeded, Deploying, Canceled, and Failed. - :vartype provisioning_state: str - :param sampling_percentage: Percentage of the data produced by the - application being monitored that is being sampled for Application Insights - telemetry. - :type sampling_percentage: float - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'location': {'required': True}, - 'kind': {'required': True}, - 'application_id': {'readonly': True}, - 'app_id': {'readonly': True}, - 'application_type': {'required': True}, - 'instrumentation_key': {'readonly': True}, - 'creation_date': {'readonly': True}, - 'tenant_id': {'readonly': True}, - 'hockey_app_token': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'application_id': {'key': 'properties.ApplicationId', 'type': 'str'}, - 'app_id': {'key': 'properties.AppId', 'type': 'str'}, - 'application_type': {'key': 'properties.Application_Type', 'type': 'str'}, - 'flow_type': {'key': 'properties.Flow_Type', 'type': 'str'}, - 'request_source': {'key': 'properties.Request_Source', 'type': 'str'}, - 'instrumentation_key': {'key': 'properties.InstrumentationKey', 'type': 'str'}, - 'creation_date': {'key': 'properties.CreationDate', 'type': 'iso-8601'}, - 'tenant_id': {'key': 'properties.TenantId', 'type': 'str'}, - 'hockey_app_id': {'key': 'properties.HockeyAppId', 'type': 'str'}, - 'hockey_app_token': {'key': 'properties.HockeyAppToken', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'sampling_percentage': {'key': 'properties.SamplingPercentage', 'type': 'float'}, - } - - def __init__(self, location, kind, tags=None, application_type="web", flow_type="Bluefield", request_source="rest", hockey_app_id=None, sampling_percentage=None): - super(ApplicationInsightsComponent, self).__init__(location=location, tags=tags) - self.kind = kind - self.application_id = None - self.app_id = None - self.application_type = application_type - self.flow_type = flow_type - self.request_source = request_source - self.instrumentation_key = None - self.creation_date = None - self.tenant_id = None - self.hockey_app_id = hockey_app_id - self.hockey_app_token = None - self.provisioning_state = None - self.sampling_percentage = sampling_percentage diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/models/application_insights_component_api_key.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/models/application_insights_component_api_key.py deleted file mode 100644 index b5d76a45250..00000000000 --- a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/models/application_insights_component_api_key.py +++ /dev/null @@ -1,58 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ApplicationInsightsComponentAPIKey(Model): - """Properties that define an API key of an Application Insights Component. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar id: The unique ID of the API key inside an Applciation Insights - component. It is auto generated when the API key is created. - :vartype id: str - :ivar api_key: The API key value. It will be only return once when the API - Key was created. - :vartype api_key: str - :param created_date: The create date of this API key. - :type created_date: str - :param name: The name of the API key. - :type name: str - :param linked_read_properties: The read access rights of this API Key. - :type linked_read_properties: list[str] - :param linked_write_properties: The write access rights of this API Key. - :type linked_write_properties: list[str] - """ - - _validation = { - 'id': {'readonly': True}, - 'api_key': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'api_key': {'key': 'apiKey', 'type': 'str'}, - 'created_date': {'key': 'createdDate', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'linked_read_properties': {'key': 'linkedReadProperties', 'type': '[str]'}, - 'linked_write_properties': {'key': 'linkedWriteProperties', 'type': '[str]'}, - } - - def __init__(self, created_date=None, name=None, linked_read_properties=None, linked_write_properties=None): - super(ApplicationInsightsComponentAPIKey, self).__init__() - self.id = None - self.api_key = None - self.created_date = created_date - self.name = name - self.linked_read_properties = linked_read_properties - self.linked_write_properties = linked_write_properties diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/models/application_insights_component_api_key_paged.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/models/application_insights_component_api_key_paged.py deleted file mode 100644 index d3b65643a2b..00000000000 --- a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/models/application_insights_component_api_key_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.paging import Paged - - -class ApplicationInsightsComponentAPIKeyPaged(Paged): - """ - A paging container for iterating over a list of :class:`ApplicationInsightsComponentAPIKey ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[ApplicationInsightsComponentAPIKey]'} - } - - def __init__(self, *args, **kwargs): - - super(ApplicationInsightsComponentAPIKeyPaged, self).__init__(*args, **kwargs) diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/models/application_insights_component_billing_features.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/models/application_insights_component_billing_features.py deleted file mode 100644 index c6a653660cd..00000000000 --- a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/models/application_insights_component_billing_features.py +++ /dev/null @@ -1,36 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ApplicationInsightsComponentBillingFeatures(Model): - """An Application Insights component billing features. - - :param data_volume_cap: An Application Insights component daily data - volumne cap - :type data_volume_cap: - ~azure.mgmt.applicationinsights.models.ApplicationInsightsComponentDataVolumeCap - :param current_billing_features: Current enabled pricing plan. When the - component is in the Enterprise plan, this will list both 'Basic' and - 'Application Insights Enterprise'. - :type current_billing_features: list[str] - """ - - _attribute_map = { - 'data_volume_cap': {'key': 'DataVolumeCap', 'type': 'ApplicationInsightsComponentDataVolumeCap'}, - 'current_billing_features': {'key': 'CurrentBillingFeatures', 'type': '[str]'}, - } - - def __init__(self, data_volume_cap=None, current_billing_features=None): - super(ApplicationInsightsComponentBillingFeatures, self).__init__() - self.data_volume_cap = data_volume_cap - self.current_billing_features = current_billing_features diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/models/application_insights_component_data_volume_cap.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/models/application_insights_component_data_volume_cap.py deleted file mode 100644 index 3fd7a709fc2..00000000000 --- a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/models/application_insights_component_data_volume_cap.py +++ /dev/null @@ -1,59 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ApplicationInsightsComponentDataVolumeCap(Model): - """An Application Insights component daily data volumne cap. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param cap: Daily data volume cap in GB. - :type cap: float - :ivar reset_time: Daily data volume cap UTC reset hour. - :vartype reset_time: int - :param warning_threshold: Reserved, not used for now. - :type warning_threshold: int - :param stop_send_notification_when_hit_threshold: Reserved, not used for - now. - :type stop_send_notification_when_hit_threshold: bool - :param stop_send_notification_when_hit_cap: Do not send a notification - email when the daily data volume cap is met. - :type stop_send_notification_when_hit_cap: bool - :ivar max_history_cap: Maximum daily data volume cap that the user can set - for this component. - :vartype max_history_cap: float - """ - - _validation = { - 'reset_time': {'readonly': True}, - 'max_history_cap': {'readonly': True}, - } - - _attribute_map = { - 'cap': {'key': 'Cap', 'type': 'float'}, - 'reset_time': {'key': 'ResetTime', 'type': 'int'}, - 'warning_threshold': {'key': 'WarningThreshold', 'type': 'int'}, - 'stop_send_notification_when_hit_threshold': {'key': 'StopSendNotificationWhenHitThreshold', 'type': 'bool'}, - 'stop_send_notification_when_hit_cap': {'key': 'StopSendNotificationWhenHitCap', 'type': 'bool'}, - 'max_history_cap': {'key': 'MaxHistoryCap', 'type': 'float'}, - } - - def __init__(self, cap=None, warning_threshold=None, stop_send_notification_when_hit_threshold=None, stop_send_notification_when_hit_cap=None): - super(ApplicationInsightsComponentDataVolumeCap, self).__init__() - self.cap = cap - self.reset_time = None - self.warning_threshold = warning_threshold - self.stop_send_notification_when_hit_threshold = stop_send_notification_when_hit_threshold - self.stop_send_notification_when_hit_cap = stop_send_notification_when_hit_cap - self.max_history_cap = None diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/models/application_insights_component_export_configuration.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/models/application_insights_component_export_configuration.py deleted file mode 100644 index 33a28500dd7..00000000000 --- a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/models/application_insights_component_export_configuration.py +++ /dev/null @@ -1,142 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ApplicationInsightsComponentExportConfiguration(Model): - """Properties that define a Continuous Export configuration. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar export_id: The unique ID of the export configuration inside an - Applciation Insights component. It is auto generated when the Continuous - Export configuration is created. - :vartype export_id: str - :ivar instrumentation_key: The instrumentation key of the Application - Insights component. - :vartype instrumentation_key: str - :param record_types: This comma separated list of document types that will - be exported. The possible values include 'Requests', 'Event', - 'Exceptions', 'Metrics', 'PageViews', 'PageViewPerformance', 'Rdd', - 'PerformanceCounters', 'Availability', 'Messages'. - :type record_types: str - :ivar application_name: The name of the Application Insights component. - :vartype application_name: str - :ivar subscription_id: The subscription of the Application Insights - component. - :vartype subscription_id: str - :ivar resource_group: The resource group of the Application Insights - component. - :vartype resource_group: str - :ivar destination_storage_subscription_id: The destination storage account - subscription ID. - :vartype destination_storage_subscription_id: str - :ivar destination_storage_location_id: The destination account location - ID. - :vartype destination_storage_location_id: str - :ivar destination_account_id: The name of destination account. - :vartype destination_account_id: str - :ivar destination_type: The destination type. - :vartype destination_type: str - :ivar is_user_enabled: This will be 'true' if the Continuous Export - configuration is enabled, otherwise it will be 'false'. - :vartype is_user_enabled: str - :ivar last_user_update: Last time the Continuous Export configuration was - updated. - :vartype last_user_update: str - :param notification_queue_enabled: Deprecated - :type notification_queue_enabled: str - :ivar export_status: This indicates current Continuous Export - configuration status. The possible values are 'Preparing', 'Success', - 'Failure'. - :vartype export_status: str - :ivar last_success_time: The last time data was successfully delivered to - the destination storage container for this Continuous Export - configuration. - :vartype last_success_time: str - :ivar last_gap_time: The last time the Continuous Export configuration - started failing. - :vartype last_gap_time: str - :ivar permanent_error_reason: This is the reason the Continuous Export - configuration started failing. It can be 'AzureStorageNotFound' or - 'AzureStorageAccessDenied'. - :vartype permanent_error_reason: str - :ivar storage_name: The name of the destination storage account. - :vartype storage_name: str - :ivar container_name: The name of the destination storage container. - :vartype container_name: str - """ - - _validation = { - 'export_id': {'readonly': True}, - 'instrumentation_key': {'readonly': True}, - 'application_name': {'readonly': True}, - 'subscription_id': {'readonly': True}, - 'resource_group': {'readonly': True}, - 'destination_storage_subscription_id': {'readonly': True}, - 'destination_storage_location_id': {'readonly': True}, - 'destination_account_id': {'readonly': True}, - 'destination_type': {'readonly': True}, - 'is_user_enabled': {'readonly': True}, - 'last_user_update': {'readonly': True}, - 'export_status': {'readonly': True}, - 'last_success_time': {'readonly': True}, - 'last_gap_time': {'readonly': True}, - 'permanent_error_reason': {'readonly': True}, - 'storage_name': {'readonly': True}, - 'container_name': {'readonly': True}, - } - - _attribute_map = { - 'export_id': {'key': 'ExportId', 'type': 'str'}, - 'instrumentation_key': {'key': 'InstrumentationKey', 'type': 'str'}, - 'record_types': {'key': 'RecordTypes', 'type': 'str'}, - 'application_name': {'key': 'ApplicationName', 'type': 'str'}, - 'subscription_id': {'key': 'SubscriptionId', 'type': 'str'}, - 'resource_group': {'key': 'ResourceGroup', 'type': 'str'}, - 'destination_storage_subscription_id': {'key': 'DestinationStorageSubscriptionId', 'type': 'str'}, - 'destination_storage_location_id': {'key': 'DestinationStorageLocationId', 'type': 'str'}, - 'destination_account_id': {'key': 'DestinationAccountId', 'type': 'str'}, - 'destination_type': {'key': 'DestinationType', 'type': 'str'}, - 'is_user_enabled': {'key': 'IsUserEnabled', 'type': 'str'}, - 'last_user_update': {'key': 'LastUserUpdate', 'type': 'str'}, - 'notification_queue_enabled': {'key': 'NotificationQueueEnabled', 'type': 'str'}, - 'export_status': {'key': 'ExportStatus', 'type': 'str'}, - 'last_success_time': {'key': 'LastSuccessTime', 'type': 'str'}, - 'last_gap_time': {'key': 'LastGapTime', 'type': 'str'}, - 'permanent_error_reason': {'key': 'PermanentErrorReason', 'type': 'str'}, - 'storage_name': {'key': 'StorageName', 'type': 'str'}, - 'container_name': {'key': 'ContainerName', 'type': 'str'}, - } - - def __init__(self, record_types=None, notification_queue_enabled=None): - super(ApplicationInsightsComponentExportConfiguration, self).__init__() - self.export_id = None - self.instrumentation_key = None - self.record_types = record_types - self.application_name = None - self.subscription_id = None - self.resource_group = None - self.destination_storage_subscription_id = None - self.destination_storage_location_id = None - self.destination_account_id = None - self.destination_type = None - self.is_user_enabled = None - self.last_user_update = None - self.notification_queue_enabled = notification_queue_enabled - self.export_status = None - self.last_success_time = None - self.last_gap_time = None - self.permanent_error_reason = None - self.storage_name = None - self.container_name = None diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/models/application_insights_component_export_request.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/models/application_insights_component_export_request.py deleted file mode 100644 index c35eb10ab56..00000000000 --- a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/models/application_insights_component_export_request.py +++ /dev/null @@ -1,69 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ApplicationInsightsComponentExportRequest(Model): - """An Application Insights component Continuous Export configuration request - definition. - - :param record_types: The document types to be exported, as comma separated - values. Allowed values include 'Requests', 'Event', 'Exceptions', - 'Metrics', 'PageViews', 'PageViewPerformance', 'Rdd', - 'PerformanceCounters', 'Availability', 'Messages'. - :type record_types: str - :param destination_type: The Continuous Export destination type. This has - to be 'Blob'. - :type destination_type: str - :param destination_address: The SAS URL for the destination storage - container. It must grant write permission. - :type destination_address: str - :param is_enabled: Set to 'true' to create a Continuous Export - configuration as enabled, otherwise set it to 'false'. - :type is_enabled: str - :param notification_queue_enabled: Deprecated - :type notification_queue_enabled: str - :param notification_queue_uri: Deprecated - :type notification_queue_uri: str - :param destination_storage_subscription_id: The subscription ID of the - destination storage container. - :type destination_storage_subscription_id: str - :param destination_storage_location_id: The location ID of the destination - storage container. - :type destination_storage_location_id: str - :param destination_account_id: The name of destination storage account. - :type destination_account_id: str - """ - - _attribute_map = { - 'record_types': {'key': 'RecordTypes', 'type': 'str'}, - 'destination_type': {'key': 'DestinationType', 'type': 'str'}, - 'destination_address': {'key': 'DestinationAddress', 'type': 'str'}, - 'is_enabled': {'key': 'IsEnabled', 'type': 'str'}, - 'notification_queue_enabled': {'key': 'NotificationQueueEnabled', 'type': 'str'}, - 'notification_queue_uri': {'key': 'NotificationQueueUri', 'type': 'str'}, - 'destination_storage_subscription_id': {'key': 'DestinationStorageSubscriptionId', 'type': 'str'}, - 'destination_storage_location_id': {'key': 'DestinationStorageLocationId', 'type': 'str'}, - 'destination_account_id': {'key': 'DestinationAccountId', 'type': 'str'}, - } - - def __init__(self, record_types=None, destination_type=None, destination_address=None, is_enabled=None, notification_queue_enabled=None, notification_queue_uri=None, destination_storage_subscription_id=None, destination_storage_location_id=None, destination_account_id=None): - super(ApplicationInsightsComponentExportRequest, self).__init__() - self.record_types = record_types - self.destination_type = destination_type - self.destination_address = destination_address - self.is_enabled = is_enabled - self.notification_queue_enabled = notification_queue_enabled - self.notification_queue_uri = notification_queue_uri - self.destination_storage_subscription_id = destination_storage_subscription_id - self.destination_storage_location_id = destination_storage_location_id - self.destination_account_id = destination_account_id diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/models/application_insights_component_paged.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/models/application_insights_component_paged.py deleted file mode 100644 index 7283609bd08..00000000000 --- a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/models/application_insights_component_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.paging import Paged - - -class ApplicationInsightsComponentPaged(Paged): - """ - A paging container for iterating over a list of :class:`ApplicationInsightsComponent ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[ApplicationInsightsComponent]'} - } - - def __init__(self, *args, **kwargs): - - super(ApplicationInsightsComponentPaged, self).__init__(*args, **kwargs) diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/models/application_insights_component_proactive_detection_configuration.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/models/application_insights_component_proactive_detection_configuration.py deleted file mode 100644 index 14734b3c0f6..00000000000 --- a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/models/application_insights_component_proactive_detection_configuration.py +++ /dev/null @@ -1,52 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ApplicationInsightsComponentProactiveDetectionConfiguration(Model): - """Properties that define a ProactiveDetection configuration. - - :param name: The rule name - :type name: str - :param enabled: A flag that indicates whether this rule is enabled by the - user - :type enabled: bool - :param send_emails_to_subscription_owners: A flag that indicated whether - notifications on this rule should be sent to subscription owners - :type send_emails_to_subscription_owners: bool - :param custom_emails: Custom email addresses for this rule notifications - :type custom_emails: list[str] - :param last_updated_time: The last time this rule was updated - :type last_updated_time: str - :param rule_definitions: Static definitions of the ProactiveDetection - configuration rule (same values for all components). - :type rule_definitions: - ~azure.mgmt.applicationinsights.models.ApplicationInsightsComponentProactiveDetectionConfigurationRuleDefinitions - """ - - _attribute_map = { - 'name': {'key': 'Name', 'type': 'str'}, - 'enabled': {'key': 'Enabled', 'type': 'bool'}, - 'send_emails_to_subscription_owners': {'key': 'SendEmailsToSubscriptionOwners', 'type': 'bool'}, - 'custom_emails': {'key': 'CustomEmails', 'type': '[str]'}, - 'last_updated_time': {'key': 'LastUpdatedTime', 'type': 'str'}, - 'rule_definitions': {'key': 'RuleDefinitions', 'type': 'ApplicationInsightsComponentProactiveDetectionConfigurationRuleDefinitions'}, - } - - def __init__(self, name=None, enabled=None, send_emails_to_subscription_owners=None, custom_emails=None, last_updated_time=None, rule_definitions=None): - super(ApplicationInsightsComponentProactiveDetectionConfiguration, self).__init__() - self.name = name - self.enabled = enabled - self.send_emails_to_subscription_owners = send_emails_to_subscription_owners - self.custom_emails = custom_emails - self.last_updated_time = last_updated_time - self.rule_definitions = rule_definitions diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/models/application_insights_component_proactive_detection_configuration_rule_definitions.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/models/application_insights_component_proactive_detection_configuration_rule_definitions.py deleted file mode 100644 index 8fafb0a49a2..00000000000 --- a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/models/application_insights_component_proactive_detection_configuration_rule_definitions.py +++ /dev/null @@ -1,61 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ApplicationInsightsComponentProactiveDetectionConfigurationRuleDefinitions(Model): - """Static definitions of the ProactiveDetection configuration rule (same - values for all components). - - :param name: The rule name - :type name: str - :param display_name: The rule name as it is displayed in UI - :type display_name: str - :param description: The rule description - :type description: str - :param help_url: URL which displays aditional info about the proactive - detection rule - :type help_url: str - :param is_hidden: A flag indicating whether the rule is hidden (from the - UI) - :type is_hidden: bool - :param is_enabled_by_default: A flag indicating whether the rule is - enabled by default - :type is_enabled_by_default: bool - :param is_in_preview: A flag indicating whether the rule is in preview - :type is_in_preview: bool - :param supports_email_notifications: A flag indicating whether email - notifications are supported for detections for this rule - :type supports_email_notifications: bool - """ - - _attribute_map = { - 'name': {'key': 'Name', 'type': 'str'}, - 'display_name': {'key': 'DisplayName', 'type': 'str'}, - 'description': {'key': 'Description', 'type': 'str'}, - 'help_url': {'key': 'HelpUrl', 'type': 'str'}, - 'is_hidden': {'key': 'IsHidden', 'type': 'bool'}, - 'is_enabled_by_default': {'key': 'IsEnabledByDefault', 'type': 'bool'}, - 'is_in_preview': {'key': 'IsInPreview', 'type': 'bool'}, - 'supports_email_notifications': {'key': 'SupportsEmailNotifications', 'type': 'bool'}, - } - - def __init__(self, name=None, display_name=None, description=None, help_url=None, is_hidden=None, is_enabled_by_default=None, is_in_preview=None, supports_email_notifications=None): - super(ApplicationInsightsComponentProactiveDetectionConfigurationRuleDefinitions, self).__init__() - self.name = name - self.display_name = display_name - self.description = description - self.help_url = help_url - self.is_hidden = is_hidden - self.is_enabled_by_default = is_enabled_by_default - self.is_in_preview = is_in_preview - self.supports_email_notifications = supports_email_notifications diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/models/application_insights_component_quota_status.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/models/application_insights_component_quota_status.py deleted file mode 100644 index 6b559a50061..00000000000 --- a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/models/application_insights_component_quota_status.py +++ /dev/null @@ -1,47 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ApplicationInsightsComponentQuotaStatus(Model): - """An Application Insights component daily data volume cap status. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar app_id: The Application ID for the Application Insights component. - :vartype app_id: str - :ivar should_be_throttled: The daily data volume cap is met, and data - ingestion will be stopped. - :vartype should_be_throttled: bool - :ivar expiration_time: Date and time when the daily data volume cap will - be reset, and data ingestion will resume. - :vartype expiration_time: str - """ - - _validation = { - 'app_id': {'readonly': True}, - 'should_be_throttled': {'readonly': True}, - 'expiration_time': {'readonly': True}, - } - - _attribute_map = { - 'app_id': {'key': 'AppId', 'type': 'str'}, - 'should_be_throttled': {'key': 'ShouldBeThrottled', 'type': 'bool'}, - 'expiration_time': {'key': 'ExpirationTime', 'type': 'str'}, - } - - def __init__(self): - super(ApplicationInsightsComponentQuotaStatus, self).__init__() - self.app_id = None - self.should_be_throttled = None - self.expiration_time = None diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/models/application_insights_management_client_enums.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/models/application_insights_management_client_enums.py deleted file mode 100644 index fdb344ca6bf..00000000000 --- a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/models/application_insights_management_client_enums.py +++ /dev/null @@ -1,34 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from enum import Enum - - -class ApplicationType(Enum): - - web = "web" - other = "other" - - -class FlowType(Enum): - - bluefield = "Bluefield" - - -class RequestSource(Enum): - - rest = "rest" - - -class WebTestKind(Enum): - - ping = "ping" - multistep = "multistep" diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/models/error_response.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/models/error_response.py deleted file mode 100644 index ba4967dac93..00000000000 --- a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/models/error_response.py +++ /dev/null @@ -1,46 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model -from msrest.exceptions import HttpOperationError - - -class ErrorResponse(Model): - """Error reponse indicates Insights service is not able to process the - incoming request. The reason is provided in the error message. - - :param code: Error code. - :type code: str - :param message: Error message indicating why the operation failed. - :type message: str - """ - - _attribute_map = { - 'code': {'key': 'code', 'type': 'str'}, - 'message': {'key': 'message', 'type': 'str'}, - } - - def __init__(self, code=None, message=None): - super(ErrorResponse, self).__init__() - self.code = code - self.message = message - - -class ErrorResponseException(HttpOperationError): - """Server responsed with exception of type: 'ErrorResponse'. - - :param deserialize: A deserializer - :param response: Server response to be deserialized. - """ - - def __init__(self, deserialize, response, *args): - - super(ErrorResponseException, self).__init__(deserialize, response, 'ErrorResponse', *args) diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/models/operation.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/models/operation.py deleted file mode 100644 index ff52ee65e1f..00000000000 --- a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/models/operation.py +++ /dev/null @@ -1,32 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class Operation(Model): - """CDN REST API operation. - - :param name: Operation name: {provider}/{resource}/{operation} - :type name: str - :param display: The object that represents the operation. - :type display: ~azure.mgmt.applicationinsights.models.OperationDisplay - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'display': {'key': 'display', 'type': 'OperationDisplay'}, - } - - def __init__(self, name=None, display=None): - super(Operation, self).__init__() - self.name = name - self.display = display diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/models/operation_display.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/models/operation_display.py deleted file mode 100644 index 1bd751e13fa..00000000000 --- a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/models/operation_display.py +++ /dev/null @@ -1,37 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class OperationDisplay(Model): - """The object that represents the operation. - - :param provider: Service provider: Microsoft.Cdn - :type provider: str - :param resource: Resource on which the operation is performed: Profile, - endpoint, etc. - :type resource: str - :param operation: Operation type: Read, write, delete, etc. - :type operation: str - """ - - _attribute_map = { - 'provider': {'key': 'provider', 'type': 'str'}, - 'resource': {'key': 'resource', 'type': 'str'}, - 'operation': {'key': 'operation', 'type': 'str'}, - } - - def __init__(self, provider=None, resource=None, operation=None): - super(OperationDisplay, self).__init__() - self.provider = provider - self.resource = resource - self.operation = operation diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/models/operation_paged.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/models/operation_paged.py deleted file mode 100644 index 73ef02f0886..00000000000 --- a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/models/operation_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.paging import Paged - - -class OperationPaged(Paged): - """ - A paging container for iterating over a list of :class:`Operation ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[Operation]'} - } - - def __init__(self, *args, **kwargs): - - super(OperationPaged, self).__init__(*args, **kwargs) diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/models/resource.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/models/resource.py deleted file mode 100644 index 1552cf70c86..00000000000 --- a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/models/resource.py +++ /dev/null @@ -1,54 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class Resource(Model): - """An azure resource object. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar id: Azure resource Id - :vartype id: str - :ivar name: Azure resource name - :vartype name: str - :ivar type: Azure resource type - :vartype type: str - :param location: Resource location - :type location: str - :param tags: Resource tags - :type tags: dict[str, str] - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'location': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - } - - def __init__(self, location, tags=None): - super(Resource, self).__init__() - self.id = None - self.name = None - self.type = None - self.location = location - self.tags = tags diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/models/tags_resource.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/models/tags_resource.py deleted file mode 100644 index b00182fe1ed..00000000000 --- a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/models/tags_resource.py +++ /dev/null @@ -1,29 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class TagsResource(Model): - """A container holding only the Tags for a resource, allowing the user to - update the tags on a WebTest instance. - - :param tags: Resource tags - :type tags: dict[str, str] - """ - - _attribute_map = { - 'tags': {'key': 'tags', 'type': '{str}'}, - } - - def __init__(self, tags=None): - super(TagsResource, self).__init__() - self.tags = tags diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/models/web_test.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/models/web_test.py deleted file mode 100644 index 103aa8c9c06..00000000000 --- a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/models/web_test.py +++ /dev/null @@ -1,117 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .resource import Resource - - -class WebTest(Resource): - """An Application Insights web test definition. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar id: Azure resource Id - :vartype id: str - :ivar name: Azure resource name - :vartype name: str - :ivar type: Azure resource type - :vartype type: str - :param location: Resource location - :type location: str - :param tags: Resource tags - :type tags: dict[str, str] - :param kind: The kind of web test that this web test watches. Choices are - ping and multistep. Possible values include: 'ping', 'multistep'. Default - value: "ping" . - :type kind: str or ~azure.mgmt.applicationinsights.models.WebTestKind - :param synthetic_monitor_id: Unique ID of this WebTest. This is typically - the same value as the Name field. - :type synthetic_monitor_id: str - :param web_test_name: User defined name if this WebTest. - :type web_test_name: str - :param description: Purpose/user defined descriptive test for this - WebTest. - :type description: str - :param enabled: Is the test actively being monitored. - :type enabled: bool - :param frequency: Interval in seconds between test runs for this WebTest. - Default value is 300. Default value: 300 . - :type frequency: int - :param timeout: Seconds until this WebTest will timeout and fail. Default - value is 30. Default value: 30 . - :type timeout: int - :param web_test_kind: The kind of web test this is, valid choices are ping - and multistep. Possible values include: 'ping', 'multistep'. Default - value: "ping" . - :type web_test_kind: str or - ~azure.mgmt.applicationinsights.models.WebTestKind - :param retry_enabled: Allow for retries should this WebTest fail. - :type retry_enabled: bool - :param locations: A list of where to physically run the tests from to give - global coverage for accessibility of your application. - :type locations: - list[~azure.mgmt.applicationinsights.models.WebTestGeolocation] - :param configuration: An XML configuration specification for a WebTest. - :type configuration: - ~azure.mgmt.applicationinsights.models.WebTestPropertiesConfiguration - :ivar provisioning_state: Current state of this component, whether or not - is has been provisioned within the resource group it is defined. Users - cannot change this value but are able to read from it. Values will include - Succeeded, Deploying, Canceled, and Failed. - :vartype provisioning_state: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'location': {'required': True}, - 'synthetic_monitor_id': {'required': True}, - 'web_test_name': {'required': True}, - 'web_test_kind': {'required': True}, - 'locations': {'required': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'kind': {'key': 'kind', 'type': 'WebTestKind'}, - 'synthetic_monitor_id': {'key': 'properties.SyntheticMonitorId', 'type': 'str'}, - 'web_test_name': {'key': 'properties.Name', 'type': 'str'}, - 'description': {'key': 'properties.Description', 'type': 'str'}, - 'enabled': {'key': 'properties.Enabled', 'type': 'bool'}, - 'frequency': {'key': 'properties.Frequency', 'type': 'int'}, - 'timeout': {'key': 'properties.Timeout', 'type': 'int'}, - 'web_test_kind': {'key': 'properties.Kind', 'type': 'WebTestKind'}, - 'retry_enabled': {'key': 'properties.RetryEnabled', 'type': 'bool'}, - 'locations': {'key': 'properties.Locations', 'type': '[WebTestGeolocation]'}, - 'configuration': {'key': 'properties.Configuration', 'type': 'WebTestPropertiesConfiguration'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - } - - def __init__(self, location, synthetic_monitor_id, web_test_name, locations, tags=None, kind="ping", description=None, enabled=None, frequency=300, timeout=30, web_test_kind="ping", retry_enabled=None, configuration=None): - super(WebTest, self).__init__(location=location, tags=tags) - self.kind = kind - self.synthetic_monitor_id = synthetic_monitor_id - self.web_test_name = web_test_name - self.description = description - self.enabled = enabled - self.frequency = frequency - self.timeout = timeout - self.web_test_kind = web_test_kind - self.retry_enabled = retry_enabled - self.locations = locations - self.configuration = configuration - self.provisioning_state = None diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/models/web_test_geolocation.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/models/web_test_geolocation.py deleted file mode 100644 index 8c52d9c31b8..00000000000 --- a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/models/web_test_geolocation.py +++ /dev/null @@ -1,29 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class WebTestGeolocation(Model): - """Geo-physical location to run a web test from. You must specify one or more - locations for the test to run from. - - :param location: Location ID for the webtest to run from. - :type location: str - """ - - _attribute_map = { - 'location': {'key': 'Id', 'type': 'str'}, - } - - def __init__(self, location=None): - super(WebTestGeolocation, self).__init__() - self.location = location diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/models/web_test_paged.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/models/web_test_paged.py deleted file mode 100644 index ef7b3263882..00000000000 --- a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/models/web_test_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.paging import Paged - - -class WebTestPaged(Paged): - """ - A paging container for iterating over a list of :class:`WebTest ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[WebTest]'} - } - - def __init__(self, *args, **kwargs): - - super(WebTestPaged, self).__init__(*args, **kwargs) diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/models/web_test_properties_configuration.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/models/web_test_properties_configuration.py deleted file mode 100644 index 6ddd1ec152c..00000000000 --- a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/models/web_test_properties_configuration.py +++ /dev/null @@ -1,29 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class WebTestPropertiesConfiguration(Model): - """An XML configuration specification for a WebTest. - - :param web_test: The XML specification of a WebTest to run against an - application. - :type web_test: str - """ - - _attribute_map = { - 'web_test': {'key': 'WebTest', 'type': 'str'}, - } - - def __init__(self, web_test=None): - super(WebTestPropertiesConfiguration, self).__init__() - self.web_test = web_test diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/operations/__init__.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/operations/__init__.py deleted file mode 100644 index d8de45a083e..00000000000 --- a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/operations/__init__.py +++ /dev/null @@ -1,30 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .operations import Operations -from .components_operations import ComponentsOperations -from .web_tests_operations import WebTestsOperations -from .export_configurations_operations import ExportConfigurationsOperations -from .proactive_detection_configurations_operations import ProactiveDetectionConfigurationsOperations -from .component_current_billing_features_operations import ComponentCurrentBillingFeaturesOperations -from .component_quota_status_operations import ComponentQuotaStatusOperations -from .api_keys_operations import APIKeysOperations - -__all__ = [ - 'Operations', - 'ComponentsOperations', - 'WebTestsOperations', - 'ExportConfigurationsOperations', - 'ProactiveDetectionConfigurationsOperations', - 'ComponentCurrentBillingFeaturesOperations', - 'ComponentQuotaStatusOperations', - 'APIKeysOperations', -] diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/operations/api_keys_operations.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/operations/api_keys_operations.py deleted file mode 100644 index a80e2eddf56..00000000000 --- a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/operations/api_keys_operations.py +++ /dev/null @@ -1,318 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError - -from .. import models - - -class APIKeysOperations(object): - """APIKeysOperations 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. - :ivar api_version: Client Api Version. Constant value: "2015-05-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2015-05-01" - - self.config = config - - def list( - self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): - """Gets a list of API keys of an Application Insights component. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param resource_name: The name of the Application Insights component - resource. - :type resource_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of - ApplicationInsightsComponentAPIKey - :rtype: - ~azure.mgmt.applicationinsights.models.ApplicationInsightsComponentAPIKeyPaged[~azure.mgmt.applicationinsights.models.ApplicationInsightsComponentAPIKey] - :raises: :class:`CloudError` - """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/components/{resourceName}/ApiKeys' - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceName': self._serialize.url("resource_name", resource_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # 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 and send request - request = self._client.get(url, query_parameters) - response = self._client.send( - request, header_parameters, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - deserialized = models.ApplicationInsightsComponentAPIKeyPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.ApplicationInsightsComponentAPIKeyPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - - def create( - self, resource_group_name, resource_name, api_key_properties, custom_headers=None, raw=False, **operation_config): - """Create an API Key of an Application Insights component. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param resource_name: The name of the Application Insights component - resource. - :type resource_name: str - :param api_key_properties: Properties that need to be specified to - create an API key of a Application Insights component. - :type api_key_properties: - ~azure.mgmt.applicationinsights.models.APIKeyRequest - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ApplicationInsightsComponentAPIKey or ClientRawResponse if - raw=true - :rtype: - ~azure.mgmt.applicationinsights.models.ApplicationInsightsComponentAPIKey - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/components/{resourceName}/ApiKeys' - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceName': self._serialize.url("resource_name", resource_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.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(api_key_properties, 'APIKeyRequest') - - # Construct and send request - request = self._client.post(url, query_parameters) - response = self._client.send( - request, header_parameters, body_content, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ApplicationInsightsComponentAPIKey', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def delete( - self, resource_group_name, resource_name, key_id, custom_headers=None, raw=False, **operation_config): - """Delete an API Key of an Application Insights component. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param resource_name: The name of the Application Insights component - resource. - :type resource_name: str - :param key_id: The API Key ID. This is unique within a Application - Insights component. - :type key_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 - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ApplicationInsightsComponentAPIKey or ClientRawResponse if - raw=true - :rtype: - ~azure.mgmt.applicationinsights.models.ApplicationInsightsComponentAPIKey - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/components/{resourceName}/APIKeys/{keyId}' - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceName': self._serialize.url("resource_name", resource_name, 'str'), - 'keyId': self._serialize.url("key_id", key_id, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.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 and send request - request = self._client.delete(url, query_parameters) - response = self._client.send(request, header_parameters, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ApplicationInsightsComponentAPIKey', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def get( - self, resource_group_name, resource_name, key_id, custom_headers=None, raw=False, **operation_config): - """Get the API Key for this key id. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param resource_name: The name of the Application Insights component - resource. - :type resource_name: str - :param key_id: The API Key ID. This is unique within a Application - Insights component. - :type key_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 - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ApplicationInsightsComponentAPIKey or ClientRawResponse if - raw=true - :rtype: - ~azure.mgmt.applicationinsights.models.ApplicationInsightsComponentAPIKey - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/components/{resourceName}/APIKeys/{keyId}' - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceName': self._serialize.url("resource_name", resource_name, 'str'), - 'keyId': self._serialize.url("key_id", key_id, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.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 and send request - request = self._client.get(url, query_parameters) - response = self._client.send(request, header_parameters, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ApplicationInsightsComponentAPIKey', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/operations/component_current_billing_features_operations.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/operations/component_current_billing_features_operations.py deleted file mode 100644 index 16cade55aa9..00000000000 --- a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/operations/component_current_billing_features_operations.py +++ /dev/null @@ -1,180 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError - -from .. import models - - -class ComponentCurrentBillingFeaturesOperations(object): - """ComponentCurrentBillingFeaturesOperations 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. - :ivar api_version: Client Api Version. Constant value: "2015-05-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2015-05-01" - - self.config = config - - def get( - self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): - """Returns current billing features for an Application Insights component. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param resource_name: The name of the Application Insights component - resource. - :type resource_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ApplicationInsightsComponentBillingFeatures or - ClientRawResponse if raw=true - :rtype: - ~azure.mgmt.applicationinsights.models.ApplicationInsightsComponentBillingFeatures - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/components/{resourceName}/currentbillingfeatures' - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceName': self._serialize.url("resource_name", resource_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.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 and send request - request = self._client.get(url, query_parameters) - response = self._client.send(request, header_parameters, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ApplicationInsightsComponentBillingFeatures', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def update( - self, resource_group_name, resource_name, data_volume_cap=None, current_billing_features=None, custom_headers=None, raw=False, **operation_config): - """Update current billing features for an Application Insights component. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param resource_name: The name of the Application Insights component - resource. - :type resource_name: str - :param data_volume_cap: An Application Insights component daily data - volumne cap - :type data_volume_cap: - ~azure.mgmt.applicationinsights.models.ApplicationInsightsComponentDataVolumeCap - :param current_billing_features: Current enabled pricing plan. When - the component is in the Enterprise plan, this will list both 'Basic' - and 'Application Insights Enterprise'. - :type current_billing_features: list[str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ApplicationInsightsComponentBillingFeatures or - ClientRawResponse if raw=true - :rtype: - ~azure.mgmt.applicationinsights.models.ApplicationInsightsComponentBillingFeatures - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - billing_features_properties = models.ApplicationInsightsComponentBillingFeatures(data_volume_cap=data_volume_cap, current_billing_features=current_billing_features) - - # Construct URL - url = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/components/{resourceName}/currentbillingfeatures' - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceName': self._serialize.url("resource_name", resource_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.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(billing_features_properties, 'ApplicationInsightsComponentBillingFeatures') - - # Construct and send request - request = self._client.put(url, query_parameters) - response = self._client.send( - request, header_parameters, body_content, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ApplicationInsightsComponentBillingFeatures', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/operations/component_quota_status_operations.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/operations/component_quota_status_operations.py deleted file mode 100644 index 13771c68a22..00000000000 --- a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/operations/component_quota_status_operations.py +++ /dev/null @@ -1,103 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError - -from .. import models - - -class ComponentQuotaStatusOperations(object): - """ComponentQuotaStatusOperations 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. - :ivar api_version: Client Api Version. Constant value: "2015-05-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2015-05-01" - - self.config = config - - def get( - self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): - """Returns daily data volume cap (quota) status for an Application - Insights component. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param resource_name: The name of the Application Insights component - resource. - :type resource_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ApplicationInsightsComponentQuotaStatus or ClientRawResponse - if raw=true - :rtype: - ~azure.mgmt.applicationinsights.models.ApplicationInsightsComponentQuotaStatus - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/components/{resourceName}/quotastatus' - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceName': self._serialize.url("resource_name", resource_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.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 and send request - request = self._client.get(url, query_parameters) - response = self._client.send(request, header_parameters, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ApplicationInsightsComponentQuotaStatus', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/operations/components_operations.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/operations/components_operations.py deleted file mode 100644 index a8ed3b02337..00000000000 --- a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/operations/components_operations.py +++ /dev/null @@ -1,432 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError - -from .. import models - - -class ComponentsOperations(object): - """ComponentsOperations 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. - :ivar api_version: Client Api Version. Constant value: "2015-05-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2015-05-01" - - self.config = config - - def list( - self, custom_headers=None, raw=False, **operation_config): - """Gets a list of all Application Insights components within a - subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of ApplicationInsightsComponent - :rtype: - ~azure.mgmt.applicationinsights.models.ApplicationInsightsComponentPaged[~azure.mgmt.applicationinsights.models.ApplicationInsightsComponent] - :raises: :class:`CloudError` - """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = '/subscriptions/{subscriptionId}/providers/microsoft.insights/components' - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # 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 and send request - request = self._client.get(url, query_parameters) - response = self._client.send( - request, header_parameters, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - deserialized = models.ApplicationInsightsComponentPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.ApplicationInsightsComponentPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - - def list_by_resource_group( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Gets a list of Application Insights components within a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of ApplicationInsightsComponent - :rtype: - ~azure.mgmt.applicationinsights.models.ApplicationInsightsComponentPaged[~azure.mgmt.applicationinsights.models.ApplicationInsightsComponent] - :raises: :class:`CloudError` - """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/components' - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # 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 and send request - request = self._client.get(url, query_parameters) - response = self._client.send( - request, header_parameters, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - deserialized = models.ApplicationInsightsComponentPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.ApplicationInsightsComponentPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - - def delete( - self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): - """Deletes an Application Insights component. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param resource_name: The name of the Application Insights component - resource. - :type resource_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: None or ClientRawResponse if raw=true - :rtype: None or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/components/{resourceName}' - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceName': self._serialize.url("resource_name", resource_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.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 and send request - request = self._client.delete(url, query_parameters) - response = self._client.send(request, header_parameters, stream=False, **operation_config) - - if response.status_code not in [200, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def get( - self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): - """Returns an Application Insights component. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param resource_name: The name of the Application Insights component - resource. - :type resource_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ApplicationInsightsComponent or ClientRawResponse if raw=true - :rtype: - ~azure.mgmt.applicationinsights.models.ApplicationInsightsComponent or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/components/{resourceName}' - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceName': self._serialize.url("resource_name", resource_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.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 and send request - request = self._client.get(url, query_parameters) - response = self._client.send(request, header_parameters, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ApplicationInsightsComponent', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, resource_name, insight_properties, custom_headers=None, raw=False, **operation_config): - """Creates (or updates) an Application Insights component. Note: You - cannot specify a different value for InstrumentationKey nor AppId in - the Put operation. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param resource_name: The name of the Application Insights component - resource. - :type resource_name: str - :param insight_properties: Properties that need to be specified to - create an Application Insights component. - :type insight_properties: - ~azure.mgmt.applicationinsights.models.ApplicationInsightsComponent - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ApplicationInsightsComponent or ClientRawResponse if raw=true - :rtype: - ~azure.mgmt.applicationinsights.models.ApplicationInsightsComponent or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/components/{resourceName}' - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceName': self._serialize.url("resource_name", resource_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.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(insight_properties, 'ApplicationInsightsComponent') - - # Construct and send request - request = self._client.put(url, query_parameters) - response = self._client.send( - request, header_parameters, body_content, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ApplicationInsightsComponent', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def update_tags( - self, resource_group_name, resource_name, tags=None, custom_headers=None, raw=False, **operation_config): - """Updates an existing component's tags. To update other fields use the - CreateOrUpdate method. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param resource_name: The name of the Application Insights component - resource. - :type resource_name: str - :param tags: Resource tags - :type tags: dict[str, str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ApplicationInsightsComponent or ClientRawResponse if raw=true - :rtype: - ~azure.mgmt.applicationinsights.models.ApplicationInsightsComponent or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - component_tags = models.TagsResource(tags=tags) - - # Construct URL - url = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/components/{resourceName}' - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceName': self._serialize.url("resource_name", resource_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.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(component_tags, 'TagsResource') - - # Construct and send request - request = self._client.patch(url, query_parameters) - response = self._client.send( - request, header_parameters, body_content, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ApplicationInsightsComponent', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/operations/export_configurations_operations.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/operations/export_configurations_operations.py deleted file mode 100644 index 8f5cd9f601e..00000000000 --- a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/operations/export_configurations_operations.py +++ /dev/null @@ -1,388 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError - -from .. import models - - -class ExportConfigurationsOperations(object): - """ExportConfigurationsOperations 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. - :ivar api_version: Client Api Version. Constant value: "2015-05-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2015-05-01" - - self.config = config - - def list( - self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): - """Gets a list of Continuous Export configuration of an Application - Insights component. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param resource_name: The name of the Application Insights component - resource. - :type resource_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: list or ClientRawResponse if raw=true - :rtype: - list[~azure.mgmt.applicationinsights.models.ApplicationInsightsComponentExportConfiguration] - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/components/{resourceName}/exportconfiguration' - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceName': self._serialize.url("resource_name", resource_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.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 and send request - request = self._client.get(url, query_parameters) - response = self._client.send(request, header_parameters, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('[ApplicationInsightsComponentExportConfiguration]', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create( - self, resource_group_name, resource_name, export_properties, custom_headers=None, raw=False, **operation_config): - """Create a Continuous Export configuration of an Application Insights - component. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param resource_name: The name of the Application Insights component - resource. - :type resource_name: str - :param export_properties: Properties that need to be specified to - create a Continuous Export configuration of a Application Insights - component. - :type export_properties: - ~azure.mgmt.applicationinsights.models.ApplicationInsightsComponentExportRequest - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: list or ClientRawResponse if raw=true - :rtype: - list[~azure.mgmt.applicationinsights.models.ApplicationInsightsComponentExportConfiguration] - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/components/{resourceName}/exportconfiguration' - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceName': self._serialize.url("resource_name", resource_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.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(export_properties, 'ApplicationInsightsComponentExportRequest') - - # Construct and send request - request = self._client.post(url, query_parameters) - response = self._client.send( - request, header_parameters, body_content, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('[ApplicationInsightsComponentExportConfiguration]', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def delete( - self, resource_group_name, resource_name, export_id, custom_headers=None, raw=False, **operation_config): - """Delete a Continuous Export configuration of an Application Insights - component. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param resource_name: The name of the Application Insights component - resource. - :type resource_name: str - :param export_id: The Continuous Export configuration ID. This is - unique within a Application Insights component. - :type export_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 - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ApplicationInsightsComponentExportConfiguration or - ClientRawResponse if raw=true - :rtype: - ~azure.mgmt.applicationinsights.models.ApplicationInsightsComponentExportConfiguration - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/components/{resourceName}/exportconfiguration/{exportId}' - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceName': self._serialize.url("resource_name", resource_name, 'str'), - 'exportId': self._serialize.url("export_id", export_id, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.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 and send request - request = self._client.delete(url, query_parameters) - response = self._client.send(request, header_parameters, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ApplicationInsightsComponentExportConfiguration', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def get( - self, resource_group_name, resource_name, export_id, custom_headers=None, raw=False, **operation_config): - """Get the Continuous Export configuration for this export id. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param resource_name: The name of the Application Insights component - resource. - :type resource_name: str - :param export_id: The Continuous Export configuration ID. This is - unique within a Application Insights component. - :type export_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 - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ApplicationInsightsComponentExportConfiguration or - ClientRawResponse if raw=true - :rtype: - ~azure.mgmt.applicationinsights.models.ApplicationInsightsComponentExportConfiguration - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/components/{resourceName}/exportconfiguration/{exportId}' - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceName': self._serialize.url("resource_name", resource_name, 'str'), - 'exportId': self._serialize.url("export_id", export_id, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.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 and send request - request = self._client.get(url, query_parameters) - response = self._client.send(request, header_parameters, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ApplicationInsightsComponentExportConfiguration', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def update( - self, resource_group_name, resource_name, export_id, export_properties, custom_headers=None, raw=False, **operation_config): - """Update the Continuous Export configuration for this export id. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param resource_name: The name of the Application Insights component - resource. - :type resource_name: str - :param export_id: The Continuous Export configuration ID. This is - unique within a Application Insights component. - :type export_id: str - :param export_properties: Properties that need to be specified to - update the Continuous Export configuration. - :type export_properties: - ~azure.mgmt.applicationinsights.models.ApplicationInsightsComponentExportRequest - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ApplicationInsightsComponentExportConfiguration or - ClientRawResponse if raw=true - :rtype: - ~azure.mgmt.applicationinsights.models.ApplicationInsightsComponentExportConfiguration - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/components/{resourceName}/exportconfiguration/{exportId}' - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceName': self._serialize.url("resource_name", resource_name, 'str'), - 'exportId': self._serialize.url("export_id", export_id, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.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(export_properties, 'ApplicationInsightsComponentExportRequest') - - # Construct and send request - request = self._client.put(url, query_parameters) - response = self._client.send( - request, header_parameters, body_content, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ApplicationInsightsComponentExportConfiguration', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/operations/operations.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/operations/operations.py deleted file mode 100644 index 8c6c4ab58de..00000000000 --- a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/operations/operations.py +++ /dev/null @@ -1,96 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse - -from .. import models - - -class Operations(object): - """Operations 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. - :ivar api_version: Client Api Version. Constant value: "2015-05-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2015-05-01" - - self.config = config - - def list( - self, custom_headers=None, raw=False, **operation_config): - """Lists all of the available insights REST API operations. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of Operation - :rtype: - ~azure.mgmt.applicationinsights.models.OperationPaged[~azure.mgmt.applicationinsights.models.Operation] - :raises: - :class:`ErrorResponseException` - """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = '/providers/microsoft.insights/operations' - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # 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 and send request - request = self._client.get(url, query_parameters) - response = self._client.send( - request, header_parameters, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorResponseException(self._deserialize, response) - - return response - - # Deserialize response - deserialized = models.OperationPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.OperationPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/operations/proactive_detection_configurations_operations.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/operations/proactive_detection_configurations_operations.py deleted file mode 100644 index 3a5f0b76366..00000000000 --- a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/operations/proactive_detection_configurations_operations.py +++ /dev/null @@ -1,246 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError - -from .. import models - - -class ProactiveDetectionConfigurationsOperations(object): - """ProactiveDetectionConfigurationsOperations 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. - :ivar api_version: Client Api Version. Constant value: "2015-05-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2015-05-01" - - self.config = config - - def list( - self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): - """Gets a list of ProactiveDetection configurations of an Application - Insights component. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param resource_name: The name of the Application Insights component - resource. - :type resource_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: list or ClientRawResponse if raw=true - :rtype: - list[~azure.mgmt.applicationinsights.models.ApplicationInsightsComponentProactiveDetectionConfiguration] - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/components/{resourceName}/ProactiveDetectionConfigs' - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceName': self._serialize.url("resource_name", resource_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.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 and send request - request = self._client.get(url, query_parameters) - response = self._client.send(request, header_parameters, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('[ApplicationInsightsComponentProactiveDetectionConfiguration]', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def get( - self, resource_group_name, resource_name, configuration_id, custom_headers=None, raw=False, **operation_config): - """Get the ProactiveDetection configuration for this configuration id. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param resource_name: The name of the Application Insights component - resource. - :type resource_name: str - :param configuration_id: The ProactiveDetection configuration ID. This - is unique within a Application Insights component. - :type configuration_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 - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ApplicationInsightsComponentProactiveDetectionConfiguration - or ClientRawResponse if raw=true - :rtype: - ~azure.mgmt.applicationinsights.models.ApplicationInsightsComponentProactiveDetectionConfiguration - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/components/{resourceName}/ProactiveDetectionConfigs/{ConfigurationId}' - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceName': self._serialize.url("resource_name", resource_name, 'str'), - 'ConfigurationId': self._serialize.url("configuration_id", configuration_id, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.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 and send request - request = self._client.get(url, query_parameters) - response = self._client.send(request, header_parameters, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ApplicationInsightsComponentProactiveDetectionConfiguration', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def update( - self, resource_group_name, resource_name, configuration_id, proactive_detection_properties, custom_headers=None, raw=False, **operation_config): - """Update the ProactiveDetection configuration for this configuration id. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param resource_name: The name of the Application Insights component - resource. - :type resource_name: str - :param configuration_id: The ProactiveDetection configuration ID. This - is unique within a Application Insights component. - :type configuration_id: str - :param proactive_detection_properties: Properties that need to be - specified to update the ProactiveDetection configuration. - :type proactive_detection_properties: - ~azure.mgmt.applicationinsights.models.ApplicationInsightsComponentProactiveDetectionConfiguration - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ApplicationInsightsComponentProactiveDetectionConfiguration - or ClientRawResponse if raw=true - :rtype: - ~azure.mgmt.applicationinsights.models.ApplicationInsightsComponentProactiveDetectionConfiguration - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/components/{resourceName}/ProactiveDetectionConfigs/{ConfigurationId}' - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceName': self._serialize.url("resource_name", resource_name, 'str'), - 'ConfigurationId': self._serialize.url("configuration_id", configuration_id, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.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(proactive_detection_properties, 'ApplicationInsightsComponentProactiveDetectionConfiguration') - - # Construct and send request - request = self._client.put(url, query_parameters) - response = self._client.send( - request, header_parameters, body_content, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ApplicationInsightsComponentProactiveDetectionConfiguration', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/operations/web_tests_operations.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/operations/web_tests_operations.py deleted file mode 100644 index 44a6e74d6e2..00000000000 --- a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/operations/web_tests_operations.py +++ /dev/null @@ -1,427 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError - -from .. import models - - -class WebTestsOperations(object): - """WebTestsOperations 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. - :ivar api_version: Client Api Version. Constant value: "2015-05-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2015-05-01" - - self.config = config - - def list_by_resource_group( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Get all Application Insights web tests defined within a specified - resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of WebTest - :rtype: - ~azure.mgmt.applicationinsights.models.WebTestPaged[~azure.mgmt.applicationinsights.models.WebTest] - :raises: :class:`CloudError` - """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/webtests' - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # 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 and send request - request = self._client.get(url, query_parameters) - response = self._client.send( - request, header_parameters, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - deserialized = models.WebTestPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.WebTestPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - - def get( - self, resource_group_name, web_test_name, custom_headers=None, raw=False, **operation_config): - """Get a specific Application Insights web test definition. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param web_test_name: The name of the Application Insights webtest - resource. - :type web_test_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: WebTest or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.applicationinsights.models.WebTest or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/webtests/{webTestName}' - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'webTestName': self._serialize.url("web_test_name", web_test_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.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 and send request - request = self._client.get(url, query_parameters) - response = self._client.send(request, header_parameters, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('WebTest', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, web_test_name, web_test_definition, custom_headers=None, raw=False, **operation_config): - """Creates or updates an Application Insights web test definition. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param web_test_name: The name of the Application Insights webtest - resource. - :type web_test_name: str - :param web_test_definition: Properties that need to be specified to - create or update an Application Insights web test definition. - :type web_test_definition: - ~azure.mgmt.applicationinsights.models.WebTest - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: WebTest or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.applicationinsights.models.WebTest or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/webtests/{webTestName}' - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'webTestName': self._serialize.url("web_test_name", web_test_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.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(web_test_definition, 'WebTest') - - # Construct and send request - request = self._client.put(url, query_parameters) - response = self._client.send( - request, header_parameters, body_content, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('WebTest', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def update_tags( - self, resource_group_name, web_test_name, tags=None, custom_headers=None, raw=False, **operation_config): - """Creates or updates an Application Insights web test definition. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param web_test_name: The name of the Application Insights webtest - resource. - :type web_test_name: str - :param tags: Resource tags - :type tags: dict[str, str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: WebTest or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.applicationinsights.models.WebTest or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - web_test_tags = models.TagsResource(tags=tags) - - # Construct URL - url = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/webtests/{webTestName}' - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'webTestName': self._serialize.url("web_test_name", web_test_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.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(web_test_tags, 'TagsResource') - - # Construct and send request - request = self._client.patch(url, query_parameters) - response = self._client.send( - request, header_parameters, body_content, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('WebTest', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def delete( - self, resource_group_name, web_test_name, custom_headers=None, raw=False, **operation_config): - """Deletes an Application Insights web test. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param web_test_name: The name of the Application Insights webtest - resource. - :type web_test_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: None or ClientRawResponse if raw=true - :rtype: None or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/webtests/{webTestName}' - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'webTestName': self._serialize.url("web_test_name", web_test_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.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 and send request - request = self._client.delete(url, query_parameters) - response = self._client.send(request, header_parameters, stream=False, **operation_config) - - if response.status_code not in [200, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def list( - self, custom_headers=None, raw=False, **operation_config): - """Get all Application Insights web test alerts definitioned within a - subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of WebTest - :rtype: - ~azure.mgmt.applicationinsights.models.WebTestPaged[~azure.mgmt.applicationinsights.models.WebTest] - :raises: :class:`CloudError` - """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = '/subscriptions/{subscriptionId}/providers/microsoft.insights/webtests' - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # 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 and send request - request = self._client.get(url, query_parameters) - response = self._client.send( - request, header_parameters, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - deserialized = models.WebTestPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.WebTestPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2015_05_01/__init__.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2015_05_01/__init__.py new file mode 100644 index 00000000000..298512941d9 --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2015_05_01/__init__.py @@ -0,0 +1,19 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from ._configuration import ApplicationInsightsManagementClientConfiguration +from ._application_insights_management_client import ApplicationInsightsManagementClient +__all__ = ['ApplicationInsightsManagementClient', 'ApplicationInsightsManagementClientConfiguration'] + +from .version import VERSION + +__version__ = VERSION + diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2015_05_01/_application_insights_management_client.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2015_05_01/_application_insights_management_client.py new file mode 100644 index 00000000000..59e90899d57 --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2015_05_01/_application_insights_management_client.py @@ -0,0 +1,124 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.service_client import SDKClient +from msrest import Serializer, Deserializer + +from ._configuration import ApplicationInsightsManagementClientConfiguration +from .operations import Operations +from .operations import AnnotationsOperations +from .operations import APIKeysOperations +from .operations import ExportConfigurationsOperations +from .operations import ComponentCurrentBillingFeaturesOperations +from .operations import ComponentQuotaStatusOperations +from .operations import ComponentFeatureCapabilitiesOperations +from .operations import ComponentAvailableFeaturesOperations +from .operations import ProactiveDetectionConfigurationsOperations +from .operations import ComponentsOperations +from .operations import WorkItemConfigurationsOperations +from .operations import FavoritesOperations +from .operations import WebTestLocationsOperations +from .operations import WebTestsOperations +from .operations import AnalyticsItemsOperations +from .operations import WorkbooksOperations +from . import models + + +class ApplicationInsightsManagementClient(SDKClient): + """Composite Swagger for Application Insights Management Client + + :ivar config: Configuration for client. + :vartype config: ApplicationInsightsManagementClientConfiguration + + :ivar operations: Operations operations + :vartype operations: azure.mgmt.applicationinsights.v2015_05_01.operations.Operations + :ivar annotations: Annotations operations + :vartype annotations: azure.mgmt.applicationinsights.v2015_05_01.operations.AnnotationsOperations + :ivar api_keys: APIKeys operations + :vartype api_keys: azure.mgmt.applicationinsights.v2015_05_01.operations.APIKeysOperations + :ivar export_configurations: ExportConfigurations operations + :vartype export_configurations: azure.mgmt.applicationinsights.v2015_05_01.operations.ExportConfigurationsOperations + :ivar component_current_billing_features: ComponentCurrentBillingFeatures operations + :vartype component_current_billing_features: azure.mgmt.applicationinsights.v2015_05_01.operations.ComponentCurrentBillingFeaturesOperations + :ivar component_quota_status: ComponentQuotaStatus operations + :vartype component_quota_status: azure.mgmt.applicationinsights.v2015_05_01.operations.ComponentQuotaStatusOperations + :ivar component_feature_capabilities: ComponentFeatureCapabilities operations + :vartype component_feature_capabilities: azure.mgmt.applicationinsights.v2015_05_01.operations.ComponentFeatureCapabilitiesOperations + :ivar component_available_features: ComponentAvailableFeatures operations + :vartype component_available_features: azure.mgmt.applicationinsights.v2015_05_01.operations.ComponentAvailableFeaturesOperations + :ivar proactive_detection_configurations: ProactiveDetectionConfigurations operations + :vartype proactive_detection_configurations: azure.mgmt.applicationinsights.v2015_05_01.operations.ProactiveDetectionConfigurationsOperations + :ivar components: Components operations + :vartype components: azure.mgmt.applicationinsights.v2015_05_01.operations.ComponentsOperations + :ivar work_item_configurations: WorkItemConfigurations operations + :vartype work_item_configurations: azure.mgmt.applicationinsights.v2015_05_01.operations.WorkItemConfigurationsOperations + :ivar favorites: Favorites operations + :vartype favorites: azure.mgmt.applicationinsights.v2015_05_01.operations.FavoritesOperations + :ivar web_test_locations: WebTestLocations operations + :vartype web_test_locations: azure.mgmt.applicationinsights.v2015_05_01.operations.WebTestLocationsOperations + :ivar web_tests: WebTests operations + :vartype web_tests: azure.mgmt.applicationinsights.v2015_05_01.operations.WebTestsOperations + :ivar analytics_items: AnalyticsItems operations + :vartype analytics_items: azure.mgmt.applicationinsights.v2015_05_01.operations.AnalyticsItemsOperations + :ivar workbooks: Workbooks operations + :vartype workbooks: azure.mgmt.applicationinsights.v2015_05_01.operations.WorkbooksOperations + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=None): + + self.config = ApplicationInsightsManagementClientConfiguration(credentials, subscription_id, base_url) + super(ApplicationInsightsManagementClient, self).__init__(self.config.credentials, self.config) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self.api_version = '2015-05-01' + self._serialize = Serializer(client_models) + self._deserialize = Deserializer(client_models) + + self.operations = Operations( + self._client, self.config, self._serialize, self._deserialize) + self.annotations = AnnotationsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.api_keys = APIKeysOperations( + self._client, self.config, self._serialize, self._deserialize) + self.export_configurations = ExportConfigurationsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.component_current_billing_features = ComponentCurrentBillingFeaturesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.component_quota_status = ComponentQuotaStatusOperations( + self._client, self.config, self._serialize, self._deserialize) + self.component_feature_capabilities = ComponentFeatureCapabilitiesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.component_available_features = ComponentAvailableFeaturesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.proactive_detection_configurations = ProactiveDetectionConfigurationsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.components = ComponentsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.work_item_configurations = WorkItemConfigurationsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.favorites = FavoritesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.web_test_locations = WebTestLocationsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.web_tests = WebTestsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.analytics_items = AnalyticsItemsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.workbooks = WorkbooksOperations( + self._client, self.config, self._serialize, self._deserialize) diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2015_05_01/_configuration.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2015_05_01/_configuration.py new file mode 100644 index 00000000000..6c855295a4b --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2015_05_01/_configuration.py @@ -0,0 +1,48 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +from msrestazure import AzureConfiguration + +from .version import VERSION + + +class ApplicationInsightsManagementClientConfiguration(AzureConfiguration): + """Configuration for ApplicationInsightsManagementClient + Note that all parameters used to create this instance are saved as instance + attributes. + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=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 base_url: + base_url = 'https://management.azure.com' + + super(ApplicationInsightsManagementClientConfiguration, self).__init__(base_url) + + # Starting Autorest.Python 4.0.64, make connection pool activated by default + self.keep_alive = True + + self.add_user_agent('azure-mgmt-applicationinsights/{}'.format(VERSION)) + self.add_user_agent('Azure-SDK-For-Python') + + self.credentials = credentials + self.subscription_id = subscription_id diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2015_05_01/models/__init__.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2015_05_01/models/__init__.py new file mode 100644 index 00000000000..44a11647cfb --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2015_05_01/models/__init__.py @@ -0,0 +1,191 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +try: + from ._models_py3 import Annotation + from ._models_py3 import AnnotationError, AnnotationErrorException + from ._models_py3 import APIKeyRequest + from ._models_py3 import ApplicationInsightsComponent + from ._models_py3 import ApplicationInsightsComponentAnalyticsItem + from ._models_py3 import ApplicationInsightsComponentAnalyticsItemProperties + from ._models_py3 import ApplicationInsightsComponentAPIKey + from ._models_py3 import ApplicationInsightsComponentAvailableFeatures + from ._models_py3 import ApplicationInsightsComponentBillingFeatures + from ._models_py3 import ApplicationInsightsComponentDataVolumeCap + from ._models_py3 import ApplicationInsightsComponentExportConfiguration + from ._models_py3 import ApplicationInsightsComponentExportRequest + from ._models_py3 import ApplicationInsightsComponentFavorite + from ._models_py3 import ApplicationInsightsComponentFeature + from ._models_py3 import ApplicationInsightsComponentFeatureCapabilities + from ._models_py3 import ApplicationInsightsComponentFeatureCapability + from ._models_py3 import ApplicationInsightsComponentProactiveDetectionConfiguration + from ._models_py3 import ApplicationInsightsComponentProactiveDetectionConfigurationRuleDefinitions + from ._models_py3 import ApplicationInsightsComponentQuotaStatus + from ._models_py3 import ApplicationInsightsComponentWebTestLocation + from ._models_py3 import ComponentPurgeBody + from ._models_py3 import ComponentPurgeBodyFilters + from ._models_py3 import ComponentPurgeResponse + from ._models_py3 import ComponentPurgeStatusResponse + from ._models_py3 import ComponentsResource + from ._models_py3 import ErrorFieldContract + from ._models_py3 import ErrorResponse, ErrorResponseException + from ._models_py3 import InnerError + from ._models_py3 import LinkProperties + from ._models_py3 import Operation + from ._models_py3 import OperationDisplay + from ._models_py3 import PrivateLinkScopedResource + from ._models_py3 import TagsResource + from ._models_py3 import WebTest + from ._models_py3 import WebTestGeolocation + from ._models_py3 import WebTestPropertiesConfiguration + from ._models_py3 import WebtestsResource + from ._models_py3 import Workbook + from ._models_py3 import WorkbookError, WorkbookErrorException + from ._models_py3 import WorkbookResource + from ._models_py3 import WorkItemConfiguration + from ._models_py3 import WorkItemConfigurationError, WorkItemConfigurationErrorException + from ._models_py3 import WorkItemCreateConfiguration +except (SyntaxError, ImportError): + from ._models import Annotation + from ._models import AnnotationError, AnnotationErrorException + from ._models import APIKeyRequest + from ._models import ApplicationInsightsComponent + from ._models import ApplicationInsightsComponentAnalyticsItem + from ._models import ApplicationInsightsComponentAnalyticsItemProperties + from ._models import ApplicationInsightsComponentAPIKey + from ._models import ApplicationInsightsComponentAvailableFeatures + from ._models import ApplicationInsightsComponentBillingFeatures + from ._models import ApplicationInsightsComponentDataVolumeCap + from ._models import ApplicationInsightsComponentExportConfiguration + from ._models import ApplicationInsightsComponentExportRequest + from ._models import ApplicationInsightsComponentFavorite + from ._models import ApplicationInsightsComponentFeature + from ._models import ApplicationInsightsComponentFeatureCapabilities + from ._models import ApplicationInsightsComponentFeatureCapability + from ._models import ApplicationInsightsComponentProactiveDetectionConfiguration + from ._models import ApplicationInsightsComponentProactiveDetectionConfigurationRuleDefinitions + from ._models import ApplicationInsightsComponentQuotaStatus + from ._models import ApplicationInsightsComponentWebTestLocation + from ._models import ComponentPurgeBody + from ._models import ComponentPurgeBodyFilters + from ._models import ComponentPurgeResponse + from ._models import ComponentPurgeStatusResponse + from ._models import ComponentsResource + from ._models import ErrorFieldContract + from ._models import ErrorResponse, ErrorResponseException + from ._models import InnerError + from ._models import LinkProperties + from ._models import Operation + from ._models import OperationDisplay + from ._models import PrivateLinkScopedResource + from ._models import TagsResource + from ._models import WebTest + from ._models import WebTestGeolocation + from ._models import WebTestPropertiesConfiguration + from ._models import WebtestsResource + from ._models import Workbook + from ._models import WorkbookError, WorkbookErrorException + from ._models import WorkbookResource + from ._models import WorkItemConfiguration + from ._models import WorkItemConfigurationError, WorkItemConfigurationErrorException + from ._models import WorkItemCreateConfiguration +from ._paged_models import AnnotationPaged +from ._paged_models import ApplicationInsightsComponentAPIKeyPaged +from ._paged_models import ApplicationInsightsComponentPaged +from ._paged_models import ApplicationInsightsComponentWebTestLocationPaged +from ._paged_models import OperationPaged +from ._paged_models import WebTestPaged +from ._paged_models import WorkbookPaged +from ._paged_models import WorkItemConfigurationPaged +from ._application_insights_management_client_enums import ( + ApplicationType, + FlowType, + RequestSource, + PurgeState, + PublicNetworkAccessType, + FavoriteType, + WebTestKind, + ItemScope, + ItemType, + SharedTypeKind, + FavoriteSourceType, + ItemScopePath, + ItemTypeParameter, + CategoryType, +) + +__all__ = [ + 'Annotation', + 'AnnotationError', 'AnnotationErrorException', + 'APIKeyRequest', + 'ApplicationInsightsComponent', + 'ApplicationInsightsComponentAnalyticsItem', + 'ApplicationInsightsComponentAnalyticsItemProperties', + 'ApplicationInsightsComponentAPIKey', + 'ApplicationInsightsComponentAvailableFeatures', + 'ApplicationInsightsComponentBillingFeatures', + 'ApplicationInsightsComponentDataVolumeCap', + 'ApplicationInsightsComponentExportConfiguration', + 'ApplicationInsightsComponentExportRequest', + 'ApplicationInsightsComponentFavorite', + 'ApplicationInsightsComponentFeature', + 'ApplicationInsightsComponentFeatureCapabilities', + 'ApplicationInsightsComponentFeatureCapability', + 'ApplicationInsightsComponentProactiveDetectionConfiguration', + 'ApplicationInsightsComponentProactiveDetectionConfigurationRuleDefinitions', + 'ApplicationInsightsComponentQuotaStatus', + 'ApplicationInsightsComponentWebTestLocation', + 'ComponentPurgeBody', + 'ComponentPurgeBodyFilters', + 'ComponentPurgeResponse', + 'ComponentPurgeStatusResponse', + 'ComponentsResource', + 'ErrorFieldContract', + 'ErrorResponse', 'ErrorResponseException', + 'InnerError', + 'LinkProperties', + 'Operation', + 'OperationDisplay', + 'PrivateLinkScopedResource', + 'TagsResource', + 'WebTest', + 'WebTestGeolocation', + 'WebTestPropertiesConfiguration', + 'WebtestsResource', + 'Workbook', + 'WorkbookError', 'WorkbookErrorException', + 'WorkbookResource', + 'WorkItemConfiguration', + 'WorkItemConfigurationError', 'WorkItemConfigurationErrorException', + 'WorkItemCreateConfiguration', + 'OperationPaged', + 'AnnotationPaged', + 'ApplicationInsightsComponentAPIKeyPaged', + 'ApplicationInsightsComponentPaged', + 'WorkItemConfigurationPaged', + 'ApplicationInsightsComponentWebTestLocationPaged', + 'WebTestPaged', + 'WorkbookPaged', + 'ApplicationType', + 'FlowType', + 'RequestSource', + 'PurgeState', + 'PublicNetworkAccessType', + 'FavoriteType', + 'WebTestKind', + 'ItemScope', + 'ItemType', + 'SharedTypeKind', + 'FavoriteSourceType', + 'ItemScopePath', + 'ItemTypeParameter', + 'CategoryType', +] diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2015_05_01/models/_application_insights_management_client_enums.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2015_05_01/models/_application_insights_management_client_enums.py new file mode 100644 index 00000000000..64bf85e818c --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2015_05_01/models/_application_insights_management_client_enums.py @@ -0,0 +1,107 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from enum import Enum + + +class ApplicationType(str, Enum): + + web = "web" + other = "other" + + +class FlowType(str, Enum): + + bluefield = "Bluefield" + + +class RequestSource(str, Enum): + + rest = "rest" + + +class PurgeState(str, Enum): + + pending = "pending" + completed = "completed" + + +class PublicNetworkAccessType(str, Enum): + + enabled = "Enabled" #: Enables connectivity to Application Insights through public DNS. + disabled = "Disabled" #: Disables public connectivity to Application Insights through public DNS. + + +class FavoriteType(str, Enum): + + shared = "shared" + user = "user" + + +class WebTestKind(str, Enum): + + ping = "ping" + multistep = "multistep" + + +class ItemScope(str, Enum): + + shared = "shared" + user = "user" + + +class ItemType(str, Enum): + + query = "query" + function = "function" + folder = "folder" + recent = "recent" + + +class SharedTypeKind(str, Enum): + + user = "user" + shared = "shared" + + +class FavoriteSourceType(str, Enum): + + retention = "retention" + notebook = "notebook" + sessions = "sessions" + events = "events" + userflows = "userflows" + funnel = "funnel" + impact = "impact" + segmentation = "segmentation" + + +class ItemScopePath(str, Enum): + + analytics_items = "analyticsItems" + myanalytics_items = "myanalyticsItems" + + +class ItemTypeParameter(str, Enum): + + none = "none" + query = "query" + function = "function" + folder = "folder" + recent = "recent" + + +class CategoryType(str, Enum): + + workbook = "workbook" + tsg = "TSG" + performance = "performance" + retention = "retention" diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2015_05_01/models/_models.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2015_05_01/models/_models.py new file mode 100644 index 00000000000..472d68d4503 --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2015_05_01/models/_models.py @@ -0,0 +1,1933 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model +from msrest.exceptions import HttpOperationError + + +class Annotation(Model): + """Annotation associated with an application insights resource. + + :param annotation_name: Name of annotation + :type annotation_name: str + :param category: Category of annotation, free form + :type category: str + :param event_time: Time when event occurred + :type event_time: datetime + :param id: Unique Id for annotation + :type id: str + :param properties: Serialized JSON object for detailed properties + :type properties: str + :param related_annotation: Related parent annotation if any. Default + value: "null" . + :type related_annotation: str + """ + + _attribute_map = { + 'annotation_name': {'key': 'AnnotationName', 'type': 'str'}, + 'category': {'key': 'Category', 'type': 'str'}, + 'event_time': {'key': 'EventTime', 'type': 'iso-8601'}, + 'id': {'key': 'Id', 'type': 'str'}, + 'properties': {'key': 'Properties', 'type': 'str'}, + 'related_annotation': {'key': 'RelatedAnnotation', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Annotation, self).__init__(**kwargs) + self.annotation_name = kwargs.get('annotation_name', None) + self.category = kwargs.get('category', None) + self.event_time = kwargs.get('event_time', None) + self.id = kwargs.get('id', None) + self.properties = kwargs.get('properties', None) + self.related_annotation = kwargs.get('related_annotation', "null") + + +class AnnotationError(Model): + """Error associated with trying to create annotation with Id that already + exist. + + :param code: Error detail code and explanation + :type code: str + :param message: Error message + :type message: str + :param innererror: + :type innererror: + ~azure.mgmt.applicationinsights.v2015_05_01.models.InnerError + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'innererror': {'key': 'innererror', 'type': 'InnerError'}, + } + + def __init__(self, **kwargs): + super(AnnotationError, self).__init__(**kwargs) + self.code = kwargs.get('code', None) + self.message = kwargs.get('message', None) + self.innererror = kwargs.get('innererror', None) + + +class AnnotationErrorException(HttpOperationError): + """Server responsed with exception of type: 'AnnotationError'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(AnnotationErrorException, self).__init__(deserialize, response, 'AnnotationError', *args) + + +class APIKeyRequest(Model): + """An Application Insights component API Key creation request definition. + + :param name: The name of the API Key. + :type name: str + :param linked_read_properties: The read access rights of this API Key. + :type linked_read_properties: list[str] + :param linked_write_properties: The write access rights of this API Key. + :type linked_write_properties: list[str] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'linked_read_properties': {'key': 'linkedReadProperties', 'type': '[str]'}, + 'linked_write_properties': {'key': 'linkedWriteProperties', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(APIKeyRequest, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.linked_read_properties = kwargs.get('linked_read_properties', None) + self.linked_write_properties = kwargs.get('linked_write_properties', None) + + +class ComponentsResource(Model): + """An azure resource object. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Azure resource Id + :vartype id: str + :ivar name: Azure resource name + :vartype name: str + :ivar type: Azure resource type + :vartype type: str + :param location: Required. Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, **kwargs): + super(ComponentsResource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.location = kwargs.get('location', None) + self.tags = kwargs.get('tags', None) + + +class ApplicationInsightsComponent(ComponentsResource): + """An Application Insights component definition. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Azure resource Id + :vartype id: str + :ivar name: Azure resource name + :vartype name: str + :ivar type: Azure resource type + :vartype type: str + :param location: Required. Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + :param kind: Required. The kind of application that this component refers + to, used to customize UI. This value is a freeform string, values should + typically be one of the following: web, ios, other, store, java, phone. + :type kind: str + :ivar application_id: The unique ID of your application. This field + mirrors the 'Name' field and cannot be changed. + :vartype application_id: str + :ivar app_id: Application Insights Unique ID for your Application. + :vartype app_id: str + :param application_type: Required. Type of application being monitored. + Possible values include: 'web', 'other'. Default value: "web" . + :type application_type: str or + ~azure.mgmt.applicationinsights.v2015_05_01.models.ApplicationType + :param flow_type: Used by the Application Insights system to determine + what kind of flow this component was created by. This is to be set to + 'Bluefield' when creating/updating a component via the REST API. Possible + values include: 'Bluefield'. Default value: "Bluefield" . + :type flow_type: str or + ~azure.mgmt.applicationinsights.v2015_05_01.models.FlowType + :param request_source: Describes what tool created this Application + Insights component. Customers using this API should set this to the + default 'rest'. Possible values include: 'rest'. Default value: "rest" . + :type request_source: str or + ~azure.mgmt.applicationinsights.v2015_05_01.models.RequestSource + :ivar instrumentation_key: Application Insights Instrumentation key. A + read-only value that applications can use to identify the destination for + all telemetry sent to Azure Application Insights. This value will be + supplied upon construction of each new Application Insights component. + :vartype instrumentation_key: str + :ivar creation_date: Creation Date for the Application Insights component, + in ISO 8601 format. + :vartype creation_date: datetime + :ivar tenant_id: Azure Tenant Id. + :vartype tenant_id: str + :param hockey_app_id: The unique application ID created when a new + application is added to HockeyApp, used for communications with HockeyApp. + :type hockey_app_id: str + :ivar hockey_app_token: Token used to authenticate communications with + between Application Insights and HockeyApp. + :vartype hockey_app_token: str + :ivar provisioning_state: Current state of this component: whether or not + is has been provisioned within the resource group it is defined. Users + cannot change this value but are able to read from it. Values will include + Succeeded, Deploying, Canceled, and Failed. + :vartype provisioning_state: str + :param sampling_percentage: Percentage of the data produced by the + application being monitored that is being sampled for Application Insights + telemetry. + :type sampling_percentage: float + :ivar connection_string: Application Insights component connection string. + :vartype connection_string: str + :param retention_in_days: Retention period in days. Default value: 90 . + :type retention_in_days: int + :param disable_ip_masking: Disable IP masking. + :type disable_ip_masking: bool + :param immediate_purge_data_on30_days: Purge data immediately after 30 + days. + :type immediate_purge_data_on30_days: bool + :ivar private_link_scoped_resources: List of linked private link scope + resources. + :vartype private_link_scoped_resources: + list[~azure.mgmt.applicationinsights.v2015_05_01.models.PrivateLinkScopedResource] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + 'kind': {'required': True}, + 'application_id': {'readonly': True}, + 'app_id': {'readonly': True}, + 'application_type': {'required': True}, + 'instrumentation_key': {'readonly': True}, + 'creation_date': {'readonly': True}, + 'tenant_id': {'readonly': True}, + 'hockey_app_token': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'connection_string': {'readonly': True}, + 'private_link_scoped_resources': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'application_id': {'key': 'properties.ApplicationId', 'type': 'str'}, + 'app_id': {'key': 'properties.AppId', 'type': 'str'}, + 'application_type': {'key': 'properties.Application_Type', 'type': 'str'}, + 'flow_type': {'key': 'properties.Flow_Type', 'type': 'str'}, + 'request_source': {'key': 'properties.Request_Source', 'type': 'str'}, + 'instrumentation_key': {'key': 'properties.InstrumentationKey', 'type': 'str'}, + 'creation_date': {'key': 'properties.CreationDate', 'type': 'iso-8601'}, + 'tenant_id': {'key': 'properties.TenantId', 'type': 'str'}, + 'hockey_app_id': {'key': 'properties.HockeyAppId', 'type': 'str'}, + 'hockey_app_token': {'key': 'properties.HockeyAppToken', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'sampling_percentage': {'key': 'properties.SamplingPercentage', 'type': 'float'}, + 'connection_string': {'key': 'properties.ConnectionString', 'type': 'str'}, + 'retention_in_days': {'key': 'properties.RetentionInDays', 'type': 'int'}, + 'disable_ip_masking': {'key': 'properties.DisableIpMasking', 'type': 'bool'}, + 'immediate_purge_data_on30_days': {'key': 'properties.ImmediatePurgeDataOn30Days', 'type': 'bool'}, + 'private_link_scoped_resources': {'key': 'properties.PrivateLinkScopedResources', 'type': '[PrivateLinkScopedResource]'}, + } + + def __init__(self, **kwargs): + super(ApplicationInsightsComponent, self).__init__(**kwargs) + self.kind = kwargs.get('kind', None) + self.application_id = None + self.app_id = None + self.application_type = kwargs.get('application_type', "web") + self.flow_type = kwargs.get('flow_type', "Bluefield") + self.request_source = kwargs.get('request_source', "rest") + self.instrumentation_key = None + self.creation_date = None + self.tenant_id = None + self.hockey_app_id = kwargs.get('hockey_app_id', None) + self.hockey_app_token = None + self.provisioning_state = None + self.sampling_percentage = kwargs.get('sampling_percentage', None) + self.connection_string = None + self.retention_in_days = kwargs.get('retention_in_days', 90) + self.disable_ip_masking = kwargs.get('disable_ip_masking', None) + self.immediate_purge_data_on30_days = kwargs.get('immediate_purge_data_on30_days', None) + self.private_link_scoped_resources = None + + +class ApplicationInsightsComponentAnalyticsItem(Model): + """Properties that define an Analytics item that is associated to an + Application Insights component. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Internally assigned unique id of the item definition. + :type id: str + :param name: The user-defined name of the item. + :type name: str + :param content: The content of this item + :type content: str + :ivar version: This instance's version of the data model. This can change + as new features are added. + :vartype version: str + :param scope: Enum indicating if this item definition is owned by a + specific user or is shared between all users with access to the + Application Insights component. Possible values include: 'shared', 'user' + :type scope: str or + ~azure.mgmt.applicationinsights.v2015_05_01.models.ItemScope + :param type: Enum indicating the type of the Analytics item. Possible + values include: 'query', 'function', 'folder', 'recent' + :type type: str or + ~azure.mgmt.applicationinsights.v2015_05_01.models.ItemType + :ivar time_created: Date and time in UTC when this item was created. + :vartype time_created: str + :ivar time_modified: Date and time in UTC of the last modification that + was made to this item. + :vartype time_modified: str + :param properties: + :type properties: + ~azure.mgmt.applicationinsights.v2015_05_01.models.ApplicationInsightsComponentAnalyticsItemProperties + """ + + _validation = { + 'version': {'readonly': True}, + 'time_created': {'readonly': True}, + 'time_modified': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'Id', 'type': 'str'}, + 'name': {'key': 'Name', 'type': 'str'}, + 'content': {'key': 'Content', 'type': 'str'}, + 'version': {'key': 'Version', 'type': 'str'}, + 'scope': {'key': 'Scope', 'type': 'str'}, + 'type': {'key': 'Type', 'type': 'str'}, + 'time_created': {'key': 'TimeCreated', 'type': 'str'}, + 'time_modified': {'key': 'TimeModified', 'type': 'str'}, + 'properties': {'key': 'Properties', 'type': 'ApplicationInsightsComponentAnalyticsItemProperties'}, + } + + def __init__(self, **kwargs): + super(ApplicationInsightsComponentAnalyticsItem, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.name = kwargs.get('name', None) + self.content = kwargs.get('content', None) + self.version = None + self.scope = kwargs.get('scope', None) + self.type = kwargs.get('type', None) + self.time_created = None + self.time_modified = None + self.properties = kwargs.get('properties', None) + + +class ApplicationInsightsComponentAnalyticsItemProperties(Model): + """A set of properties that can be defined in the context of a specific item + type. Each type may have its own properties. + + :param function_alias: A function alias, used when the type of the item is + Function + :type function_alias: str + """ + + _attribute_map = { + 'function_alias': {'key': 'functionAlias', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationInsightsComponentAnalyticsItemProperties, self).__init__(**kwargs) + self.function_alias = kwargs.get('function_alias', None) + + +class ApplicationInsightsComponentAPIKey(Model): + """Properties that define an API key of an Application Insights Component. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: The unique ID of the API key inside an Application Insights + component. It is auto generated when the API key is created. + :vartype id: str + :ivar api_key: The API key value. It will be only return once when the API + Key was created. + :vartype api_key: str + :param created_date: The create date of this API key. + :type created_date: str + :param name: The name of the API key. + :type name: str + :param linked_read_properties: The read access rights of this API Key. + :type linked_read_properties: list[str] + :param linked_write_properties: The write access rights of this API Key. + :type linked_write_properties: list[str] + """ + + _validation = { + 'id': {'readonly': True}, + 'api_key': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'api_key': {'key': 'apiKey', 'type': 'str'}, + 'created_date': {'key': 'createdDate', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'linked_read_properties': {'key': 'linkedReadProperties', 'type': '[str]'}, + 'linked_write_properties': {'key': 'linkedWriteProperties', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(ApplicationInsightsComponentAPIKey, self).__init__(**kwargs) + self.id = None + self.api_key = None + self.created_date = kwargs.get('created_date', None) + self.name = kwargs.get('name', None) + self.linked_read_properties = kwargs.get('linked_read_properties', None) + self.linked_write_properties = kwargs.get('linked_write_properties', None) + + +class ApplicationInsightsComponentAvailableFeatures(Model): + """An Application Insights component available features. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar result: A list of Application Insights component feature. + :vartype result: + list[~azure.mgmt.applicationinsights.v2015_05_01.models.ApplicationInsightsComponentFeature] + """ + + _validation = { + 'result': {'readonly': True}, + } + + _attribute_map = { + 'result': {'key': 'Result', 'type': '[ApplicationInsightsComponentFeature]'}, + } + + def __init__(self, **kwargs): + super(ApplicationInsightsComponentAvailableFeatures, self).__init__(**kwargs) + self.result = None + + +class ApplicationInsightsComponentBillingFeatures(Model): + """An Application Insights component billing features. + + :param data_volume_cap: An Application Insights component daily data + volume cap + :type data_volume_cap: + ~azure.mgmt.applicationinsights.v2015_05_01.models.ApplicationInsightsComponentDataVolumeCap + :param current_billing_features: Current enabled pricing plan. When the + component is in the Enterprise plan, this will list both 'Basic' and + 'Application Insights Enterprise'. + :type current_billing_features: list[str] + """ + + _attribute_map = { + 'data_volume_cap': {'key': 'DataVolumeCap', 'type': 'ApplicationInsightsComponentDataVolumeCap'}, + 'current_billing_features': {'key': 'CurrentBillingFeatures', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(ApplicationInsightsComponentBillingFeatures, self).__init__(**kwargs) + self.data_volume_cap = kwargs.get('data_volume_cap', None) + self.current_billing_features = kwargs.get('current_billing_features', None) + + +class ApplicationInsightsComponentDataVolumeCap(Model): + """An Application Insights component daily data volume cap. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param cap: Daily data volume cap in GB. + :type cap: float + :ivar reset_time: Daily data volume cap UTC reset hour. + :vartype reset_time: int + :param warning_threshold: Reserved, not used for now. + :type warning_threshold: int + :param stop_send_notification_when_hit_threshold: Reserved, not used for + now. + :type stop_send_notification_when_hit_threshold: bool + :param stop_send_notification_when_hit_cap: Do not send a notification + email when the daily data volume cap is met. + :type stop_send_notification_when_hit_cap: bool + :ivar max_history_cap: Maximum daily data volume cap that the user can set + for this component. + :vartype max_history_cap: float + """ + + _validation = { + 'reset_time': {'readonly': True}, + 'max_history_cap': {'readonly': True}, + } + + _attribute_map = { + 'cap': {'key': 'Cap', 'type': 'float'}, + 'reset_time': {'key': 'ResetTime', 'type': 'int'}, + 'warning_threshold': {'key': 'WarningThreshold', 'type': 'int'}, + 'stop_send_notification_when_hit_threshold': {'key': 'StopSendNotificationWhenHitThreshold', 'type': 'bool'}, + 'stop_send_notification_when_hit_cap': {'key': 'StopSendNotificationWhenHitCap', 'type': 'bool'}, + 'max_history_cap': {'key': 'MaxHistoryCap', 'type': 'float'}, + } + + def __init__(self, **kwargs): + super(ApplicationInsightsComponentDataVolumeCap, self).__init__(**kwargs) + self.cap = kwargs.get('cap', None) + self.reset_time = None + self.warning_threshold = kwargs.get('warning_threshold', None) + self.stop_send_notification_when_hit_threshold = kwargs.get('stop_send_notification_when_hit_threshold', None) + self.stop_send_notification_when_hit_cap = kwargs.get('stop_send_notification_when_hit_cap', None) + self.max_history_cap = None + + +class ApplicationInsightsComponentExportConfiguration(Model): + """Properties that define a Continuous Export configuration. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar export_id: The unique ID of the export configuration inside an + Application Insights component. It is auto generated when the Continuous + Export configuration is created. + :vartype export_id: str + :ivar instrumentation_key: The instrumentation key of the Application + Insights component. + :vartype instrumentation_key: str + :param record_types: This comma separated list of document types that will + be exported. The possible values include 'Requests', 'Event', + 'Exceptions', 'Metrics', 'PageViews', 'PageViewPerformance', 'Rdd', + 'PerformanceCounters', 'Availability', 'Messages'. + :type record_types: str + :ivar application_name: The name of the Application Insights component. + :vartype application_name: str + :ivar subscription_id: The subscription of the Application Insights + component. + :vartype subscription_id: str + :ivar resource_group: The resource group of the Application Insights + component. + :vartype resource_group: str + :ivar destination_storage_subscription_id: The destination storage account + subscription ID. + :vartype destination_storage_subscription_id: str + :ivar destination_storage_location_id: The destination account location + ID. + :vartype destination_storage_location_id: str + :ivar destination_account_id: The name of destination account. + :vartype destination_account_id: str + :ivar destination_type: The destination type. + :vartype destination_type: str + :ivar is_user_enabled: This will be 'true' if the Continuous Export + configuration is enabled, otherwise it will be 'false'. + :vartype is_user_enabled: str + :ivar last_user_update: Last time the Continuous Export configuration was + updated. + :vartype last_user_update: str + :param notification_queue_enabled: Deprecated + :type notification_queue_enabled: str + :ivar export_status: This indicates current Continuous Export + configuration status. The possible values are 'Preparing', 'Success', + 'Failure'. + :vartype export_status: str + :ivar last_success_time: The last time data was successfully delivered to + the destination storage container for this Continuous Export + configuration. + :vartype last_success_time: str + :ivar last_gap_time: The last time the Continuous Export configuration + started failing. + :vartype last_gap_time: str + :ivar permanent_error_reason: This is the reason the Continuous Export + configuration started failing. It can be 'AzureStorageNotFound' or + 'AzureStorageAccessDenied'. + :vartype permanent_error_reason: str + :ivar storage_name: The name of the destination storage account. + :vartype storage_name: str + :ivar container_name: The name of the destination storage container. + :vartype container_name: str + """ + + _validation = { + 'export_id': {'readonly': True}, + 'instrumentation_key': {'readonly': True}, + 'application_name': {'readonly': True}, + 'subscription_id': {'readonly': True}, + 'resource_group': {'readonly': True}, + 'destination_storage_subscription_id': {'readonly': True}, + 'destination_storage_location_id': {'readonly': True}, + 'destination_account_id': {'readonly': True}, + 'destination_type': {'readonly': True}, + 'is_user_enabled': {'readonly': True}, + 'last_user_update': {'readonly': True}, + 'export_status': {'readonly': True}, + 'last_success_time': {'readonly': True}, + 'last_gap_time': {'readonly': True}, + 'permanent_error_reason': {'readonly': True}, + 'storage_name': {'readonly': True}, + 'container_name': {'readonly': True}, + } + + _attribute_map = { + 'export_id': {'key': 'ExportId', 'type': 'str'}, + 'instrumentation_key': {'key': 'InstrumentationKey', 'type': 'str'}, + 'record_types': {'key': 'RecordTypes', 'type': 'str'}, + 'application_name': {'key': 'ApplicationName', 'type': 'str'}, + 'subscription_id': {'key': 'SubscriptionId', 'type': 'str'}, + 'resource_group': {'key': 'ResourceGroup', 'type': 'str'}, + 'destination_storage_subscription_id': {'key': 'DestinationStorageSubscriptionId', 'type': 'str'}, + 'destination_storage_location_id': {'key': 'DestinationStorageLocationId', 'type': 'str'}, + 'destination_account_id': {'key': 'DestinationAccountId', 'type': 'str'}, + 'destination_type': {'key': 'DestinationType', 'type': 'str'}, + 'is_user_enabled': {'key': 'IsUserEnabled', 'type': 'str'}, + 'last_user_update': {'key': 'LastUserUpdate', 'type': 'str'}, + 'notification_queue_enabled': {'key': 'NotificationQueueEnabled', 'type': 'str'}, + 'export_status': {'key': 'ExportStatus', 'type': 'str'}, + 'last_success_time': {'key': 'LastSuccessTime', 'type': 'str'}, + 'last_gap_time': {'key': 'LastGapTime', 'type': 'str'}, + 'permanent_error_reason': {'key': 'PermanentErrorReason', 'type': 'str'}, + 'storage_name': {'key': 'StorageName', 'type': 'str'}, + 'container_name': {'key': 'ContainerName', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationInsightsComponentExportConfiguration, self).__init__(**kwargs) + self.export_id = None + self.instrumentation_key = None + self.record_types = kwargs.get('record_types', None) + self.application_name = None + self.subscription_id = None + self.resource_group = None + self.destination_storage_subscription_id = None + self.destination_storage_location_id = None + self.destination_account_id = None + self.destination_type = None + self.is_user_enabled = None + self.last_user_update = None + self.notification_queue_enabled = kwargs.get('notification_queue_enabled', None) + self.export_status = None + self.last_success_time = None + self.last_gap_time = None + self.permanent_error_reason = None + self.storage_name = None + self.container_name = None + + +class ApplicationInsightsComponentExportRequest(Model): + """An Application Insights component Continuous Export configuration request + definition. + + :param record_types: The document types to be exported, as comma separated + values. Allowed values include 'Requests', 'Event', 'Exceptions', + 'Metrics', 'PageViews', 'PageViewPerformance', 'Rdd', + 'PerformanceCounters', 'Availability', 'Messages'. + :type record_types: str + :param destination_type: The Continuous Export destination type. This has + to be 'Blob'. + :type destination_type: str + :param destination_address: The SAS URL for the destination storage + container. It must grant write permission. + :type destination_address: str + :param is_enabled: Set to 'true' to create a Continuous Export + configuration as enabled, otherwise set it to 'false'. + :type is_enabled: str + :param notification_queue_enabled: Deprecated + :type notification_queue_enabled: str + :param notification_queue_uri: Deprecated + :type notification_queue_uri: str + :param destination_storage_subscription_id: The subscription ID of the + destination storage container. + :type destination_storage_subscription_id: str + :param destination_storage_location_id: The location ID of the destination + storage container. + :type destination_storage_location_id: str + :param destination_account_id: The name of destination storage account. + :type destination_account_id: str + """ + + _attribute_map = { + 'record_types': {'key': 'RecordTypes', 'type': 'str'}, + 'destination_type': {'key': 'DestinationType', 'type': 'str'}, + 'destination_address': {'key': 'DestinationAddress', 'type': 'str'}, + 'is_enabled': {'key': 'IsEnabled', 'type': 'str'}, + 'notification_queue_enabled': {'key': 'NotificationQueueEnabled', 'type': 'str'}, + 'notification_queue_uri': {'key': 'NotificationQueueUri', 'type': 'str'}, + 'destination_storage_subscription_id': {'key': 'DestinationStorageSubscriptionId', 'type': 'str'}, + 'destination_storage_location_id': {'key': 'DestinationStorageLocationId', 'type': 'str'}, + 'destination_account_id': {'key': 'DestinationAccountId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationInsightsComponentExportRequest, self).__init__(**kwargs) + self.record_types = kwargs.get('record_types', None) + self.destination_type = kwargs.get('destination_type', None) + self.destination_address = kwargs.get('destination_address', None) + self.is_enabled = kwargs.get('is_enabled', None) + self.notification_queue_enabled = kwargs.get('notification_queue_enabled', None) + self.notification_queue_uri = kwargs.get('notification_queue_uri', None) + self.destination_storage_subscription_id = kwargs.get('destination_storage_subscription_id', None) + self.destination_storage_location_id = kwargs.get('destination_storage_location_id', None) + self.destination_account_id = kwargs.get('destination_account_id', None) + + +class ApplicationInsightsComponentFavorite(Model): + """Properties that define a favorite that is associated to an Application + Insights component. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param name: The user-defined name of the favorite. + :type name: str + :param config: Configuration of this particular favorite, which are driven + by the Azure portal UX. Configuration data is a string containing valid + JSON + :type config: str + :param version: This instance's version of the data model. This can change + as new features are added that can be marked favorite. Current examples + include MetricsExplorer (ME) and Search. + :type version: str + :ivar favorite_id: Internally assigned unique id of the favorite + definition. + :vartype favorite_id: str + :param favorite_type: Enum indicating if this favorite definition is owned + by a specific user or is shared between all users with access to the + Application Insights component. Possible values include: 'shared', 'user' + :type favorite_type: str or + ~azure.mgmt.applicationinsights.v2015_05_01.models.FavoriteType + :param source_type: The source of the favorite definition. + :type source_type: str + :ivar time_modified: Date and time in UTC of the last modification that + was made to this favorite definition. + :vartype time_modified: str + :param tags: A list of 0 or more tags that are associated with this + favorite definition + :type tags: list[str] + :param category: Favorite category, as defined by the user at creation + time. + :type category: str + :param is_generated_from_template: Flag denoting wether or not this + favorite was generated from a template. + :type is_generated_from_template: bool + :ivar user_id: Unique user id of the specific user that owns this + favorite. + :vartype user_id: str + """ + + _validation = { + 'favorite_id': {'readonly': True}, + 'time_modified': {'readonly': True}, + 'user_id': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'Name', 'type': 'str'}, + 'config': {'key': 'Config', 'type': 'str'}, + 'version': {'key': 'Version', 'type': 'str'}, + 'favorite_id': {'key': 'FavoriteId', 'type': 'str'}, + 'favorite_type': {'key': 'FavoriteType', 'type': 'FavoriteType'}, + 'source_type': {'key': 'SourceType', 'type': 'str'}, + 'time_modified': {'key': 'TimeModified', 'type': 'str'}, + 'tags': {'key': 'Tags', 'type': '[str]'}, + 'category': {'key': 'Category', 'type': 'str'}, + 'is_generated_from_template': {'key': 'IsGeneratedFromTemplate', 'type': 'bool'}, + 'user_id': {'key': 'UserId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationInsightsComponentFavorite, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.config = kwargs.get('config', None) + self.version = kwargs.get('version', None) + self.favorite_id = None + self.favorite_type = kwargs.get('favorite_type', None) + self.source_type = kwargs.get('source_type', None) + self.time_modified = None + self.tags = kwargs.get('tags', None) + self.category = kwargs.get('category', None) + self.is_generated_from_template = kwargs.get('is_generated_from_template', None) + self.user_id = None + + +class ApplicationInsightsComponentFeature(Model): + """An Application Insights component daily data volume cap status. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar feature_name: The pricing feature name. + :vartype feature_name: str + :ivar meter_id: The meter id used for the feature. + :vartype meter_id: str + :ivar meter_rate_frequency: The meter rate for the feature's meter. + :vartype meter_rate_frequency: str + :ivar resouce_id: Reserved, not used now. + :vartype resouce_id: str + :ivar is_hidden: Reserved, not used now. + :vartype is_hidden: bool + :ivar capabilities: A list of Application Insights component feature + capability. + :vartype capabilities: + list[~azure.mgmt.applicationinsights.v2015_05_01.models.ApplicationInsightsComponentFeatureCapability] + :ivar title: Display name of the feature. + :vartype title: str + :ivar is_main_feature: Whether can apply addon feature on to it. + :vartype is_main_feature: bool + :ivar supported_addon_features: The add on features on main feature. + :vartype supported_addon_features: str + """ + + _validation = { + 'feature_name': {'readonly': True}, + 'meter_id': {'readonly': True}, + 'meter_rate_frequency': {'readonly': True}, + 'resouce_id': {'readonly': True}, + 'is_hidden': {'readonly': True}, + 'capabilities': {'readonly': True}, + 'title': {'readonly': True}, + 'is_main_feature': {'readonly': True}, + 'supported_addon_features': {'readonly': True}, + } + + _attribute_map = { + 'feature_name': {'key': 'FeatureName', 'type': 'str'}, + 'meter_id': {'key': 'MeterId', 'type': 'str'}, + 'meter_rate_frequency': {'key': 'MeterRateFrequency', 'type': 'str'}, + 'resouce_id': {'key': 'ResouceId', 'type': 'str'}, + 'is_hidden': {'key': 'IsHidden', 'type': 'bool'}, + 'capabilities': {'key': 'Capabilities', 'type': '[ApplicationInsightsComponentFeatureCapability]'}, + 'title': {'key': 'Title', 'type': 'str'}, + 'is_main_feature': {'key': 'IsMainFeature', 'type': 'bool'}, + 'supported_addon_features': {'key': 'SupportedAddonFeatures', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationInsightsComponentFeature, self).__init__(**kwargs) + self.feature_name = None + self.meter_id = None + self.meter_rate_frequency = None + self.resouce_id = None + self.is_hidden = None + self.capabilities = None + self.title = None + self.is_main_feature = None + self.supported_addon_features = None + + +class ApplicationInsightsComponentFeatureCapabilities(Model): + """An Application Insights component feature capabilities. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar support_export_data: Whether allow to use continuous export feature. + :vartype support_export_data: bool + :ivar burst_throttle_policy: Reserved, not used now. + :vartype burst_throttle_policy: str + :ivar metadata_class: Reserved, not used now. + :vartype metadata_class: str + :ivar live_stream_metrics: Reserved, not used now. + :vartype live_stream_metrics: bool + :ivar application_map: Reserved, not used now. + :vartype application_map: bool + :ivar work_item_integration: Whether allow to use work item integration + feature. + :vartype work_item_integration: bool + :ivar power_bi_integration: Reserved, not used now. + :vartype power_bi_integration: bool + :ivar open_schema: Reserved, not used now. + :vartype open_schema: bool + :ivar proactive_detection: Reserved, not used now. + :vartype proactive_detection: bool + :ivar analytics_integration: Reserved, not used now. + :vartype analytics_integration: bool + :ivar multiple_step_web_test: Whether allow to use multiple steps web test + feature. + :vartype multiple_step_web_test: bool + :ivar api_access_level: Reserved, not used now. + :vartype api_access_level: str + :ivar tracking_type: The application insights component used tracking + type. + :vartype tracking_type: str + :ivar daily_cap: Daily data volume cap in GB. + :vartype daily_cap: float + :ivar daily_cap_reset_time: Daily data volume cap UTC reset hour. + :vartype daily_cap_reset_time: float + :ivar throttle_rate: Reserved, not used now. + :vartype throttle_rate: float + """ + + _validation = { + 'support_export_data': {'readonly': True}, + 'burst_throttle_policy': {'readonly': True}, + 'metadata_class': {'readonly': True}, + 'live_stream_metrics': {'readonly': True}, + 'application_map': {'readonly': True}, + 'work_item_integration': {'readonly': True}, + 'power_bi_integration': {'readonly': True}, + 'open_schema': {'readonly': True}, + 'proactive_detection': {'readonly': True}, + 'analytics_integration': {'readonly': True}, + 'multiple_step_web_test': {'readonly': True}, + 'api_access_level': {'readonly': True}, + 'tracking_type': {'readonly': True}, + 'daily_cap': {'readonly': True}, + 'daily_cap_reset_time': {'readonly': True}, + 'throttle_rate': {'readonly': True}, + } + + _attribute_map = { + 'support_export_data': {'key': 'SupportExportData', 'type': 'bool'}, + 'burst_throttle_policy': {'key': 'BurstThrottlePolicy', 'type': 'str'}, + 'metadata_class': {'key': 'MetadataClass', 'type': 'str'}, + 'live_stream_metrics': {'key': 'LiveStreamMetrics', 'type': 'bool'}, + 'application_map': {'key': 'ApplicationMap', 'type': 'bool'}, + 'work_item_integration': {'key': 'WorkItemIntegration', 'type': 'bool'}, + 'power_bi_integration': {'key': 'PowerBIIntegration', 'type': 'bool'}, + 'open_schema': {'key': 'OpenSchema', 'type': 'bool'}, + 'proactive_detection': {'key': 'ProactiveDetection', 'type': 'bool'}, + 'analytics_integration': {'key': 'AnalyticsIntegration', 'type': 'bool'}, + 'multiple_step_web_test': {'key': 'MultipleStepWebTest', 'type': 'bool'}, + 'api_access_level': {'key': 'ApiAccessLevel', 'type': 'str'}, + 'tracking_type': {'key': 'TrackingType', 'type': 'str'}, + 'daily_cap': {'key': 'DailyCap', 'type': 'float'}, + 'daily_cap_reset_time': {'key': 'DailyCapResetTime', 'type': 'float'}, + 'throttle_rate': {'key': 'ThrottleRate', 'type': 'float'}, + } + + def __init__(self, **kwargs): + super(ApplicationInsightsComponentFeatureCapabilities, self).__init__(**kwargs) + self.support_export_data = None + self.burst_throttle_policy = None + self.metadata_class = None + self.live_stream_metrics = None + self.application_map = None + self.work_item_integration = None + self.power_bi_integration = None + self.open_schema = None + self.proactive_detection = None + self.analytics_integration = None + self.multiple_step_web_test = None + self.api_access_level = None + self.tracking_type = None + self.daily_cap = None + self.daily_cap_reset_time = None + self.throttle_rate = None + + +class ApplicationInsightsComponentFeatureCapability(Model): + """An Application Insights component feature capability. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name: The name of the capability. + :vartype name: str + :ivar description: The description of the capability. + :vartype description: str + :ivar value: The value of the capability. + :vartype value: str + :ivar unit: The unit of the capability. + :vartype unit: str + :ivar meter_id: The meter used for the capability. + :vartype meter_id: str + :ivar meter_rate_frequency: The meter rate of the meter. + :vartype meter_rate_frequency: str + """ + + _validation = { + 'name': {'readonly': True}, + 'description': {'readonly': True}, + 'value': {'readonly': True}, + 'unit': {'readonly': True}, + 'meter_id': {'readonly': True}, + 'meter_rate_frequency': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'Name', 'type': 'str'}, + 'description': {'key': 'Description', 'type': 'str'}, + 'value': {'key': 'Value', 'type': 'str'}, + 'unit': {'key': 'Unit', 'type': 'str'}, + 'meter_id': {'key': 'MeterId', 'type': 'str'}, + 'meter_rate_frequency': {'key': 'MeterRateFrequency', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationInsightsComponentFeatureCapability, self).__init__(**kwargs) + self.name = None + self.description = None + self.value = None + self.unit = None + self.meter_id = None + self.meter_rate_frequency = None + + +class ApplicationInsightsComponentProactiveDetectionConfiguration(Model): + """Properties that define a ProactiveDetection configuration. + + :param name: The rule name + :type name: str + :param enabled: A flag that indicates whether this rule is enabled by the + user + :type enabled: bool + :param send_emails_to_subscription_owners: A flag that indicated whether + notifications on this rule should be sent to subscription owners + :type send_emails_to_subscription_owners: bool + :param custom_emails: Custom email addresses for this rule notifications + :type custom_emails: list[str] + :param last_updated_time: The last time this rule was updated + :type last_updated_time: str + :param rule_definitions: Static definitions of the ProactiveDetection + configuration rule (same values for all components). + :type rule_definitions: + ~azure.mgmt.applicationinsights.v2015_05_01.models.ApplicationInsightsComponentProactiveDetectionConfigurationRuleDefinitions + """ + + _attribute_map = { + 'name': {'key': 'Name', 'type': 'str'}, + 'enabled': {'key': 'Enabled', 'type': 'bool'}, + 'send_emails_to_subscription_owners': {'key': 'SendEmailsToSubscriptionOwners', 'type': 'bool'}, + 'custom_emails': {'key': 'CustomEmails', 'type': '[str]'}, + 'last_updated_time': {'key': 'LastUpdatedTime', 'type': 'str'}, + 'rule_definitions': {'key': 'RuleDefinitions', 'type': 'ApplicationInsightsComponentProactiveDetectionConfigurationRuleDefinitions'}, + } + + def __init__(self, **kwargs): + super(ApplicationInsightsComponentProactiveDetectionConfiguration, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.enabled = kwargs.get('enabled', None) + self.send_emails_to_subscription_owners = kwargs.get('send_emails_to_subscription_owners', None) + self.custom_emails = kwargs.get('custom_emails', None) + self.last_updated_time = kwargs.get('last_updated_time', None) + self.rule_definitions = kwargs.get('rule_definitions', None) + + +class ApplicationInsightsComponentProactiveDetectionConfigurationRuleDefinitions(Model): + """Static definitions of the ProactiveDetection configuration rule (same + values for all components). + + :param name: The rule name + :type name: str + :param display_name: The rule name as it is displayed in UI + :type display_name: str + :param description: The rule description + :type description: str + :param help_url: URL which displays additional info about the proactive + detection rule + :type help_url: str + :param is_hidden: A flag indicating whether the rule is hidden (from the + UI) + :type is_hidden: bool + :param is_enabled_by_default: A flag indicating whether the rule is + enabled by default + :type is_enabled_by_default: bool + :param is_in_preview: A flag indicating whether the rule is in preview + :type is_in_preview: bool + :param supports_email_notifications: A flag indicating whether email + notifications are supported for detections for this rule + :type supports_email_notifications: bool + """ + + _attribute_map = { + 'name': {'key': 'Name', 'type': 'str'}, + 'display_name': {'key': 'DisplayName', 'type': 'str'}, + 'description': {'key': 'Description', 'type': 'str'}, + 'help_url': {'key': 'HelpUrl', 'type': 'str'}, + 'is_hidden': {'key': 'IsHidden', 'type': 'bool'}, + 'is_enabled_by_default': {'key': 'IsEnabledByDefault', 'type': 'bool'}, + 'is_in_preview': {'key': 'IsInPreview', 'type': 'bool'}, + 'supports_email_notifications': {'key': 'SupportsEmailNotifications', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(ApplicationInsightsComponentProactiveDetectionConfigurationRuleDefinitions, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.display_name = kwargs.get('display_name', None) + self.description = kwargs.get('description', None) + self.help_url = kwargs.get('help_url', None) + self.is_hidden = kwargs.get('is_hidden', None) + self.is_enabled_by_default = kwargs.get('is_enabled_by_default', None) + self.is_in_preview = kwargs.get('is_in_preview', None) + self.supports_email_notifications = kwargs.get('supports_email_notifications', None) + + +class ApplicationInsightsComponentQuotaStatus(Model): + """An Application Insights component daily data volume cap status. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar app_id: The Application ID for the Application Insights component. + :vartype app_id: str + :ivar should_be_throttled: The daily data volume cap is met, and data + ingestion will be stopped. + :vartype should_be_throttled: bool + :ivar expiration_time: Date and time when the daily data volume cap will + be reset, and data ingestion will resume. + :vartype expiration_time: str + """ + + _validation = { + 'app_id': {'readonly': True}, + 'should_be_throttled': {'readonly': True}, + 'expiration_time': {'readonly': True}, + } + + _attribute_map = { + 'app_id': {'key': 'AppId', 'type': 'str'}, + 'should_be_throttled': {'key': 'ShouldBeThrottled', 'type': 'bool'}, + 'expiration_time': {'key': 'ExpirationTime', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationInsightsComponentQuotaStatus, self).__init__(**kwargs) + self.app_id = None + self.should_be_throttled = None + self.expiration_time = None + + +class ApplicationInsightsComponentWebTestLocation(Model): + """Properties that define a web test location available to an Application + Insights Component. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar display_name: The display name of the web test location. + :vartype display_name: str + :ivar tag: Internally defined geographic location tag. + :vartype tag: str + """ + + _validation = { + 'display_name': {'readonly': True}, + 'tag': {'readonly': True}, + } + + _attribute_map = { + 'display_name': {'key': 'DisplayName', 'type': 'str'}, + 'tag': {'key': 'Tag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationInsightsComponentWebTestLocation, self).__init__(**kwargs) + self.display_name = None + self.tag = None + + +class CloudError(Model): + """CloudError. + """ + + _attribute_map = { + } + + +class ComponentPurgeBody(Model): + """Describes the body of a purge request for an App Insights component. + + All required parameters must be populated in order to send to Azure. + + :param table: Required. Table from which to purge data. + :type table: str + :param filters: Required. The set of columns and filters (queries) to run + over them to purge the resulting data. + :type filters: + list[~azure.mgmt.applicationinsights.v2015_05_01.models.ComponentPurgeBodyFilters] + """ + + _validation = { + 'table': {'required': True}, + 'filters': {'required': True}, + } + + _attribute_map = { + 'table': {'key': 'table', 'type': 'str'}, + 'filters': {'key': 'filters', 'type': '[ComponentPurgeBodyFilters]'}, + } + + def __init__(self, **kwargs): + super(ComponentPurgeBody, self).__init__(**kwargs) + self.table = kwargs.get('table', None) + self.filters = kwargs.get('filters', None) + + +class ComponentPurgeBodyFilters(Model): + """User-defined filters to return data which will be purged from the table. + + :param column: The column of the table over which the given query should + run + :type column: str + :param operator: A query operator to evaluate over the provided column and + value(s). Supported operators are ==, =~, in, in~, >, >=, <, <=, between, + and have the same behavior as they would in a KQL query. + :type operator: str + :param value: the value for the operator to function over. This can be a + number (e.g., > 100), a string (timestamp >= '2017-09-01') or array of + values. + :type value: object + :param key: When filtering over custom dimensions, this key will be used + as the name of the custom dimension. + :type key: str + """ + + _attribute_map = { + 'column': {'key': 'column', 'type': 'str'}, + 'operator': {'key': 'operator', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'object'}, + 'key': {'key': 'key', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ComponentPurgeBodyFilters, self).__init__(**kwargs) + self.column = kwargs.get('column', None) + self.operator = kwargs.get('operator', None) + self.value = kwargs.get('value', None) + self.key = kwargs.get('key', None) + + +class ComponentPurgeResponse(Model): + """Response containing operationId for a specific purge action. + + All required parameters must be populated in order to send to Azure. + + :param operation_id: Required. Id to use when querying for status for a + particular purge operation. + :type operation_id: str + """ + + _validation = { + 'operation_id': {'required': True}, + } + + _attribute_map = { + 'operation_id': {'key': 'operationId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ComponentPurgeResponse, self).__init__(**kwargs) + self.operation_id = kwargs.get('operation_id', None) + + +class ComponentPurgeStatusResponse(Model): + """Response containing status for a specific purge operation. + + All required parameters must be populated in order to send to Azure. + + :param status: Required. Status of the operation represented by the + requested Id. Possible values include: 'pending', 'completed' + :type status: str or + ~azure.mgmt.applicationinsights.v2015_05_01.models.PurgeState + """ + + _validation = { + 'status': {'required': True}, + } + + _attribute_map = { + 'status': {'key': 'status', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ComponentPurgeStatusResponse, self).__init__(**kwargs) + self.status = kwargs.get('status', None) + + +class ErrorFieldContract(Model): + """Error Field contract. + + :param code: Property level error code. + :type code: str + :param message: Human-readable representation of property-level error. + :type message: str + :param target: Property name. + :type target: str + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ErrorFieldContract, self).__init__(**kwargs) + self.code = kwargs.get('code', None) + self.message = kwargs.get('message', None) + self.target = kwargs.get('target', None) + + +class ErrorResponse(Model): + """Error response indicates Insights service is not able to process the + incoming request. The reason is provided in the error message. + + :param code: Error code. + :type code: str + :param message: Error message indicating why the operation failed. + :type message: str + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ErrorResponse, self).__init__(**kwargs) + self.code = kwargs.get('code', None) + self.message = kwargs.get('message', None) + + +class ErrorResponseException(HttpOperationError): + """Server responsed with exception of type: 'ErrorResponse'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(ErrorResponseException, self).__init__(deserialize, response, 'ErrorResponse', *args) + + +class InnerError(Model): + """Inner error. + + :param diagnosticcontext: Provides correlation for request + :type diagnosticcontext: str + :param time: Request time + :type time: datetime + """ + + _attribute_map = { + 'diagnosticcontext': {'key': 'diagnosticcontext', 'type': 'str'}, + 'time': {'key': 'time', 'type': 'iso-8601'}, + } + + def __init__(self, **kwargs): + super(InnerError, self).__init__(**kwargs) + self.diagnosticcontext = kwargs.get('diagnosticcontext', None) + self.time = kwargs.get('time', None) + + +class LinkProperties(Model): + """Contains a sourceId and workbook resource id to link two resources. + + :param source_id: The source Azure resource id + :type source_id: str + :param target_id: The workbook Azure resource id + :type target_id: str + :param category: The category of workbook + :type category: str + """ + + _attribute_map = { + 'source_id': {'key': 'sourceId', 'type': 'str'}, + 'target_id': {'key': 'targetId', 'type': 'str'}, + 'category': {'key': 'category', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(LinkProperties, self).__init__(**kwargs) + self.source_id = kwargs.get('source_id', None) + self.target_id = kwargs.get('target_id', None) + self.category = kwargs.get('category', None) + + +class Operation(Model): + """CDN REST API operation. + + :param name: Operation name: {provider}/{resource}/{operation} + :type name: str + :param display: The object that represents the operation. + :type display: + ~azure.mgmt.applicationinsights.v2015_05_01.models.OperationDisplay + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'OperationDisplay'}, + } + + def __init__(self, **kwargs): + super(Operation, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.display = kwargs.get('display', None) + + +class OperationDisplay(Model): + """The object that represents the operation. + + :param provider: Service provider: Microsoft.Cdn + :type provider: str + :param resource: Resource on which the operation is performed: Profile, + endpoint, etc. + :type resource: str + :param operation: Operation type: Read, write, delete, etc. + :type operation: str + """ + + _attribute_map = { + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(OperationDisplay, self).__init__(**kwargs) + self.provider = kwargs.get('provider', None) + self.resource = kwargs.get('resource', None) + self.operation = kwargs.get('operation', None) + + +class PrivateLinkScopedResource(Model): + """The private link scope resource reference. + + :param resource_id: The full resource Id of the private link scope + resource. + :type resource_id: str + :param scope_id: The private link scope unique Identifier. + :type scope_id: str + """ + + _attribute_map = { + 'resource_id': {'key': 'ResourceId', 'type': 'str'}, + 'scope_id': {'key': 'ScopeId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PrivateLinkScopedResource, self).__init__(**kwargs) + self.resource_id = kwargs.get('resource_id', None) + self.scope_id = kwargs.get('scope_id', None) + + +class TagsResource(Model): + """A container holding only the Tags for a resource, allowing the user to + update the tags on a WebTest instance. + + :param tags: Resource tags + :type tags: dict[str, str] + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, **kwargs): + super(TagsResource, self).__init__(**kwargs) + self.tags = kwargs.get('tags', None) + + +class WebtestsResource(Model): + """An azure resource object. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Azure resource Id + :vartype id: str + :ivar name: Azure resource name + :vartype name: str + :ivar type: Azure resource type + :vartype type: str + :param location: Required. Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, **kwargs): + super(WebtestsResource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.location = kwargs.get('location', None) + self.tags = kwargs.get('tags', None) + + +class WebTest(WebtestsResource): + """An Application Insights web test definition. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Azure resource Id + :vartype id: str + :ivar name: Azure resource name + :vartype name: str + :ivar type: Azure resource type + :vartype type: str + :param location: Required. Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + :param kind: The kind of web test that this web test watches. Choices are + ping and multistep. Possible values include: 'ping', 'multistep'. Default + value: "ping" . + :type kind: str or + ~azure.mgmt.applicationinsights.v2015_05_01.models.WebTestKind + :param synthetic_monitor_id: Required. Unique ID of this WebTest. This is + typically the same value as the Name field. + :type synthetic_monitor_id: str + :param web_test_name: Required. User defined name if this WebTest. + :type web_test_name: str + :param description: Purpose/user defined descriptive test for this + WebTest. + :type description: str + :param enabled: Is the test actively being monitored. + :type enabled: bool + :param frequency: Interval in seconds between test runs for this WebTest. + Default value is 300. Default value: 300 . + :type frequency: int + :param timeout: Seconds until this WebTest will timeout and fail. Default + value is 30. Default value: 30 . + :type timeout: int + :param web_test_kind: Required. The kind of web test this is, valid + choices are ping and multistep. Possible values include: 'ping', + 'multistep'. Default value: "ping" . + :type web_test_kind: str or + ~azure.mgmt.applicationinsights.v2015_05_01.models.WebTestKind + :param retry_enabled: Allow for retries should this WebTest fail. + :type retry_enabled: bool + :param locations: Required. A list of where to physically run the tests + from to give global coverage for accessibility of your application. + :type locations: + list[~azure.mgmt.applicationinsights.v2015_05_01.models.WebTestGeolocation] + :param configuration: An XML configuration specification for a WebTest. + :type configuration: + ~azure.mgmt.applicationinsights.v2015_05_01.models.WebTestPropertiesConfiguration + :ivar provisioning_state: Current state of this component, whether or not + is has been provisioned within the resource group it is defined. Users + cannot change this value but are able to read from it. Values will include + Succeeded, Deploying, Canceled, and Failed. + :vartype provisioning_state: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + 'synthetic_monitor_id': {'required': True}, + 'web_test_name': {'required': True}, + 'web_test_kind': {'required': True}, + 'locations': {'required': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'kind': {'key': 'kind', 'type': 'WebTestKind'}, + 'synthetic_monitor_id': {'key': 'properties.SyntheticMonitorId', 'type': 'str'}, + 'web_test_name': {'key': 'properties.Name', 'type': 'str'}, + 'description': {'key': 'properties.Description', 'type': 'str'}, + 'enabled': {'key': 'properties.Enabled', 'type': 'bool'}, + 'frequency': {'key': 'properties.Frequency', 'type': 'int'}, + 'timeout': {'key': 'properties.Timeout', 'type': 'int'}, + 'web_test_kind': {'key': 'properties.Kind', 'type': 'WebTestKind'}, + 'retry_enabled': {'key': 'properties.RetryEnabled', 'type': 'bool'}, + 'locations': {'key': 'properties.Locations', 'type': '[WebTestGeolocation]'}, + 'configuration': {'key': 'properties.Configuration', 'type': 'WebTestPropertiesConfiguration'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(WebTest, self).__init__(**kwargs) + self.kind = kwargs.get('kind', "ping") + self.synthetic_monitor_id = kwargs.get('synthetic_monitor_id', None) + self.web_test_name = kwargs.get('web_test_name', None) + self.description = kwargs.get('description', None) + self.enabled = kwargs.get('enabled', None) + self.frequency = kwargs.get('frequency', 300) + self.timeout = kwargs.get('timeout', 30) + self.web_test_kind = kwargs.get('web_test_kind', "ping") + self.retry_enabled = kwargs.get('retry_enabled', None) + self.locations = kwargs.get('locations', None) + self.configuration = kwargs.get('configuration', None) + self.provisioning_state = None + + +class WebTestGeolocation(Model): + """Geo-physical location to run a web test from. You must specify one or more + locations for the test to run from. + + :param location: Location ID for the webtest to run from. + :type location: str + """ + + _attribute_map = { + 'location': {'key': 'Id', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(WebTestGeolocation, self).__init__(**kwargs) + self.location = kwargs.get('location', None) + + +class WebTestPropertiesConfiguration(Model): + """An XML configuration specification for a WebTest. + + :param web_test: The XML specification of a WebTest to run against an + application. + :type web_test: str + """ + + _attribute_map = { + 'web_test': {'key': 'WebTest', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(WebTestPropertiesConfiguration, self).__init__(**kwargs) + self.web_test = kwargs.get('web_test', None) + + +class WorkbookResource(Model): + """An azure resource object. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Azure resource Id + :vartype id: str + :ivar name: Azure resource name + :vartype name: str + :ivar type: Azure resource type + :vartype type: str + :param location: Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, **kwargs): + super(WorkbookResource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.location = kwargs.get('location', None) + self.tags = kwargs.get('tags', None) + + +class Workbook(WorkbookResource): + """An Application Insights workbook definition. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Azure resource Id + :vartype id: str + :ivar name: Azure resource name + :vartype name: str + :ivar type: Azure resource type + :vartype type: str + :param location: Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + :param kind: The kind of workbook. Choices are user and shared. Possible + values include: 'user', 'shared' + :type kind: str or + ~azure.mgmt.applicationinsights.v2015_05_01.models.SharedTypeKind + :param workbook_name: Required. The user-defined name of the workbook. + :type workbook_name: str + :param serialized_data: Required. Configuration of this particular + workbook. Configuration data is a string containing valid JSON + :type serialized_data: str + :param version: This instance's version of the data model. This can change + as new features are added that can be marked workbook. + :type version: str + :param workbook_id: Required. Internally assigned unique id of the + workbook definition. + :type workbook_id: str + :param shared_type_kind: Required. Enum indicating if this workbook + definition is owned by a specific user or is shared between all users with + access to the Application Insights component. Possible values include: + 'user', 'shared'. Default value: "shared" . + :type shared_type_kind: str or + ~azure.mgmt.applicationinsights.v2015_05_01.models.SharedTypeKind + :ivar time_modified: Date and time in UTC of the last modification that + was made to this workbook definition. + :vartype time_modified: str + :param category: Required. Workbook category, as defined by the user at + creation time. + :type category: str + :param workbook_tags: A list of 0 or more tags that are associated with + this workbook definition + :type workbook_tags: list[str] + :param user_id: Required. Unique user id of the specific user that owns + this workbook. + :type user_id: str + :param source_resource_id: Optional resourceId for a source resource. + :type source_resource_id: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'workbook_name': {'required': True}, + 'serialized_data': {'required': True}, + 'workbook_id': {'required': True}, + 'shared_type_kind': {'required': True}, + 'time_modified': {'readonly': True}, + 'category': {'required': True}, + 'user_id': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'workbook_name': {'key': 'properties.name', 'type': 'str'}, + 'serialized_data': {'key': 'properties.serializedData', 'type': 'str'}, + 'version': {'key': 'properties.version', 'type': 'str'}, + 'workbook_id': {'key': 'properties.workbookId', 'type': 'str'}, + 'shared_type_kind': {'key': 'properties.kind', 'type': 'str'}, + 'time_modified': {'key': 'properties.timeModified', 'type': 'str'}, + 'category': {'key': 'properties.category', 'type': 'str'}, + 'workbook_tags': {'key': 'properties.tags', 'type': '[str]'}, + 'user_id': {'key': 'properties.userId', 'type': 'str'}, + 'source_resource_id': {'key': 'properties.sourceResourceId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Workbook, self).__init__(**kwargs) + self.kind = kwargs.get('kind', None) + self.workbook_name = kwargs.get('workbook_name', None) + self.serialized_data = kwargs.get('serialized_data', None) + self.version = kwargs.get('version', None) + self.workbook_id = kwargs.get('workbook_id', None) + self.shared_type_kind = kwargs.get('shared_type_kind', "shared") + self.time_modified = None + self.category = kwargs.get('category', None) + self.workbook_tags = kwargs.get('workbook_tags', None) + self.user_id = kwargs.get('user_id', None) + self.source_resource_id = kwargs.get('source_resource_id', None) + + +class WorkbookError(Model): + """Error message body that will indicate why the operation failed. + + :param code: Service-defined error code. This code serves as a sub-status + for the HTTP error code specified in the response. + :type code: str + :param message: Human-readable representation of the error. + :type message: str + :param details: The list of invalid fields send in request, in case of + validation error. + :type details: + list[~azure.mgmt.applicationinsights.v2015_05_01.models.ErrorFieldContract] + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[ErrorFieldContract]'}, + } + + def __init__(self, **kwargs): + super(WorkbookError, self).__init__(**kwargs) + self.code = kwargs.get('code', None) + self.message = kwargs.get('message', None) + self.details = kwargs.get('details', None) + + +class WorkbookErrorException(HttpOperationError): + """Server responsed with exception of type: 'WorkbookError'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(WorkbookErrorException, self).__init__(deserialize, response, 'WorkbookError', *args) + + +class WorkItemConfiguration(Model): + """Work item configuration associated with an application insights resource. + + :param connector_id: Connector identifier where work item is created + :type connector_id: str + :param config_display_name: Configuration friendly name + :type config_display_name: str + :param is_default: Boolean value indicating whether configuration is + default + :type is_default: bool + :param id: Unique Id for work item + :type id: str + :param config_properties: Serialized JSON object for detailed properties + :type config_properties: str + """ + + _attribute_map = { + 'connector_id': {'key': 'ConnectorId', 'type': 'str'}, + 'config_display_name': {'key': 'ConfigDisplayName', 'type': 'str'}, + 'is_default': {'key': 'IsDefault', 'type': 'bool'}, + 'id': {'key': 'Id', 'type': 'str'}, + 'config_properties': {'key': 'ConfigProperties', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(WorkItemConfiguration, self).__init__(**kwargs) + self.connector_id = kwargs.get('connector_id', None) + self.config_display_name = kwargs.get('config_display_name', None) + self.is_default = kwargs.get('is_default', None) + self.id = kwargs.get('id', None) + self.config_properties = kwargs.get('config_properties', None) + + +class WorkItemConfigurationError(Model): + """Error associated with trying to get work item configuration or + configurations. + + :param code: Error detail code and explanation + :type code: str + :param message: Error message + :type message: str + :param innererror: + :type innererror: + ~azure.mgmt.applicationinsights.v2015_05_01.models.InnerError + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'innererror': {'key': 'innererror', 'type': 'InnerError'}, + } + + def __init__(self, **kwargs): + super(WorkItemConfigurationError, self).__init__(**kwargs) + self.code = kwargs.get('code', None) + self.message = kwargs.get('message', None) + self.innererror = kwargs.get('innererror', None) + + +class WorkItemConfigurationErrorException(HttpOperationError): + """Server responsed with exception of type: 'WorkItemConfigurationError'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(WorkItemConfigurationErrorException, self).__init__(deserialize, response, 'WorkItemConfigurationError', *args) + + +class WorkItemCreateConfiguration(Model): + """Work item configuration creation payload. + + :param connector_id: Unique connector id + :type connector_id: str + :param connector_data_configuration: Serialized JSON object for detailed + properties + :type connector_data_configuration: str + :param validate_only: Boolean indicating validate only + :type validate_only: bool + :param work_item_properties: Custom work item properties + :type work_item_properties: dict[str, str] + """ + + _attribute_map = { + 'connector_id': {'key': 'ConnectorId', 'type': 'str'}, + 'connector_data_configuration': {'key': 'ConnectorDataConfiguration', 'type': 'str'}, + 'validate_only': {'key': 'ValidateOnly', 'type': 'bool'}, + 'work_item_properties': {'key': 'WorkItemProperties', 'type': '{str}'}, + } + + def __init__(self, **kwargs): + super(WorkItemCreateConfiguration, self).__init__(**kwargs) + self.connector_id = kwargs.get('connector_id', None) + self.connector_data_configuration = kwargs.get('connector_data_configuration', None) + self.validate_only = kwargs.get('validate_only', None) + self.work_item_properties = kwargs.get('work_item_properties', None) diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2015_05_01/models/_models_py3.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2015_05_01/models/_models_py3.py new file mode 100644 index 00000000000..9d4210e5ffd --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2015_05_01/models/_models_py3.py @@ -0,0 +1,1933 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model +from msrest.exceptions import HttpOperationError + + +class Annotation(Model): + """Annotation associated with an application insights resource. + + :param annotation_name: Name of annotation + :type annotation_name: str + :param category: Category of annotation, free form + :type category: str + :param event_time: Time when event occurred + :type event_time: datetime + :param id: Unique Id for annotation + :type id: str + :param properties: Serialized JSON object for detailed properties + :type properties: str + :param related_annotation: Related parent annotation if any. Default + value: "null" . + :type related_annotation: str + """ + + _attribute_map = { + 'annotation_name': {'key': 'AnnotationName', 'type': 'str'}, + 'category': {'key': 'Category', 'type': 'str'}, + 'event_time': {'key': 'EventTime', 'type': 'iso-8601'}, + 'id': {'key': 'Id', 'type': 'str'}, + 'properties': {'key': 'Properties', 'type': 'str'}, + 'related_annotation': {'key': 'RelatedAnnotation', 'type': 'str'}, + } + + def __init__(self, *, annotation_name: str=None, category: str=None, event_time=None, id: str=None, properties: str=None, related_annotation: str="null", **kwargs) -> None: + super(Annotation, self).__init__(**kwargs) + self.annotation_name = annotation_name + self.category = category + self.event_time = event_time + self.id = id + self.properties = properties + self.related_annotation = related_annotation + + +class AnnotationError(Model): + """Error associated with trying to create annotation with Id that already + exist. + + :param code: Error detail code and explanation + :type code: str + :param message: Error message + :type message: str + :param innererror: + :type innererror: + ~azure.mgmt.applicationinsights.v2015_05_01.models.InnerError + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'innererror': {'key': 'innererror', 'type': 'InnerError'}, + } + + def __init__(self, *, code: str=None, message: str=None, innererror=None, **kwargs) -> None: + super(AnnotationError, self).__init__(**kwargs) + self.code = code + self.message = message + self.innererror = innererror + + +class AnnotationErrorException(HttpOperationError): + """Server responsed with exception of type: 'AnnotationError'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(AnnotationErrorException, self).__init__(deserialize, response, 'AnnotationError', *args) + + +class APIKeyRequest(Model): + """An Application Insights component API Key creation request definition. + + :param name: The name of the API Key. + :type name: str + :param linked_read_properties: The read access rights of this API Key. + :type linked_read_properties: list[str] + :param linked_write_properties: The write access rights of this API Key. + :type linked_write_properties: list[str] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'linked_read_properties': {'key': 'linkedReadProperties', 'type': '[str]'}, + 'linked_write_properties': {'key': 'linkedWriteProperties', 'type': '[str]'}, + } + + def __init__(self, *, name: str=None, linked_read_properties=None, linked_write_properties=None, **kwargs) -> None: + super(APIKeyRequest, self).__init__(**kwargs) + self.name = name + self.linked_read_properties = linked_read_properties + self.linked_write_properties = linked_write_properties + + +class ComponentsResource(Model): + """An azure resource object. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Azure resource Id + :vartype id: str + :ivar name: Azure resource name + :vartype name: str + :ivar type: Azure resource type + :vartype type: str + :param location: Required. Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, *, location: str, tags=None, **kwargs) -> None: + super(ComponentsResource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.location = location + self.tags = tags + + +class ApplicationInsightsComponent(ComponentsResource): + """An Application Insights component definition. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Azure resource Id + :vartype id: str + :ivar name: Azure resource name + :vartype name: str + :ivar type: Azure resource type + :vartype type: str + :param location: Required. Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + :param kind: Required. The kind of application that this component refers + to, used to customize UI. This value is a freeform string, values should + typically be one of the following: web, ios, other, store, java, phone. + :type kind: str + :ivar application_id: The unique ID of your application. This field + mirrors the 'Name' field and cannot be changed. + :vartype application_id: str + :ivar app_id: Application Insights Unique ID for your Application. + :vartype app_id: str + :param application_type: Required. Type of application being monitored. + Possible values include: 'web', 'other'. Default value: "web" . + :type application_type: str or + ~azure.mgmt.applicationinsights.v2015_05_01.models.ApplicationType + :param flow_type: Used by the Application Insights system to determine + what kind of flow this component was created by. This is to be set to + 'Bluefield' when creating/updating a component via the REST API. Possible + values include: 'Bluefield'. Default value: "Bluefield" . + :type flow_type: str or + ~azure.mgmt.applicationinsights.v2015_05_01.models.FlowType + :param request_source: Describes what tool created this Application + Insights component. Customers using this API should set this to the + default 'rest'. Possible values include: 'rest'. Default value: "rest" . + :type request_source: str or + ~azure.mgmt.applicationinsights.v2015_05_01.models.RequestSource + :ivar instrumentation_key: Application Insights Instrumentation key. A + read-only value that applications can use to identify the destination for + all telemetry sent to Azure Application Insights. This value will be + supplied upon construction of each new Application Insights component. + :vartype instrumentation_key: str + :ivar creation_date: Creation Date for the Application Insights component, + in ISO 8601 format. + :vartype creation_date: datetime + :ivar tenant_id: Azure Tenant Id. + :vartype tenant_id: str + :param hockey_app_id: The unique application ID created when a new + application is added to HockeyApp, used for communications with HockeyApp. + :type hockey_app_id: str + :ivar hockey_app_token: Token used to authenticate communications with + between Application Insights and HockeyApp. + :vartype hockey_app_token: str + :ivar provisioning_state: Current state of this component: whether or not + is has been provisioned within the resource group it is defined. Users + cannot change this value but are able to read from it. Values will include + Succeeded, Deploying, Canceled, and Failed. + :vartype provisioning_state: str + :param sampling_percentage: Percentage of the data produced by the + application being monitored that is being sampled for Application Insights + telemetry. + :type sampling_percentage: float + :ivar connection_string: Application Insights component connection string. + :vartype connection_string: str + :param retention_in_days: Retention period in days. Default value: 90 . + :type retention_in_days: int + :param disable_ip_masking: Disable IP masking. + :type disable_ip_masking: bool + :param immediate_purge_data_on30_days: Purge data immediately after 30 + days. + :type immediate_purge_data_on30_days: bool + :ivar private_link_scoped_resources: List of linked private link scope + resources. + :vartype private_link_scoped_resources: + list[~azure.mgmt.applicationinsights.v2015_05_01.models.PrivateLinkScopedResource] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + 'kind': {'required': True}, + 'application_id': {'readonly': True}, + 'app_id': {'readonly': True}, + 'application_type': {'required': True}, + 'instrumentation_key': {'readonly': True}, + 'creation_date': {'readonly': True}, + 'tenant_id': {'readonly': True}, + 'hockey_app_token': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'connection_string': {'readonly': True}, + 'private_link_scoped_resources': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'application_id': {'key': 'properties.ApplicationId', 'type': 'str'}, + 'app_id': {'key': 'properties.AppId', 'type': 'str'}, + 'application_type': {'key': 'properties.Application_Type', 'type': 'str'}, + 'flow_type': {'key': 'properties.Flow_Type', 'type': 'str'}, + 'request_source': {'key': 'properties.Request_Source', 'type': 'str'}, + 'instrumentation_key': {'key': 'properties.InstrumentationKey', 'type': 'str'}, + 'creation_date': {'key': 'properties.CreationDate', 'type': 'iso-8601'}, + 'tenant_id': {'key': 'properties.TenantId', 'type': 'str'}, + 'hockey_app_id': {'key': 'properties.HockeyAppId', 'type': 'str'}, + 'hockey_app_token': {'key': 'properties.HockeyAppToken', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'sampling_percentage': {'key': 'properties.SamplingPercentage', 'type': 'float'}, + 'connection_string': {'key': 'properties.ConnectionString', 'type': 'str'}, + 'retention_in_days': {'key': 'properties.RetentionInDays', 'type': 'int'}, + 'disable_ip_masking': {'key': 'properties.DisableIpMasking', 'type': 'bool'}, + 'immediate_purge_data_on30_days': {'key': 'properties.ImmediatePurgeDataOn30Days', 'type': 'bool'}, + 'private_link_scoped_resources': {'key': 'properties.PrivateLinkScopedResources', 'type': '[PrivateLinkScopedResource]'}, + } + + def __init__(self, *, location: str, kind: str, tags=None, application_type="web", flow_type="Bluefield", request_source="rest", hockey_app_id: str=None, sampling_percentage: float=None, retention_in_days: int=90, disable_ip_masking: bool=None, immediate_purge_data_on30_days: bool=None, **kwargs) -> None: + super(ApplicationInsightsComponent, self).__init__(location=location, tags=tags, **kwargs) + self.kind = kind + self.application_id = None + self.app_id = None + self.application_type = application_type + self.flow_type = flow_type + self.request_source = request_source + self.instrumentation_key = None + self.creation_date = None + self.tenant_id = None + self.hockey_app_id = hockey_app_id + self.hockey_app_token = None + self.provisioning_state = None + self.sampling_percentage = sampling_percentage + self.connection_string = None + self.retention_in_days = retention_in_days + self.disable_ip_masking = disable_ip_masking + self.immediate_purge_data_on30_days = immediate_purge_data_on30_days + self.private_link_scoped_resources = None + + +class ApplicationInsightsComponentAnalyticsItem(Model): + """Properties that define an Analytics item that is associated to an + Application Insights component. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Internally assigned unique id of the item definition. + :type id: str + :param name: The user-defined name of the item. + :type name: str + :param content: The content of this item + :type content: str + :ivar version: This instance's version of the data model. This can change + as new features are added. + :vartype version: str + :param scope: Enum indicating if this item definition is owned by a + specific user or is shared between all users with access to the + Application Insights component. Possible values include: 'shared', 'user' + :type scope: str or + ~azure.mgmt.applicationinsights.v2015_05_01.models.ItemScope + :param type: Enum indicating the type of the Analytics item. Possible + values include: 'query', 'function', 'folder', 'recent' + :type type: str or + ~azure.mgmt.applicationinsights.v2015_05_01.models.ItemType + :ivar time_created: Date and time in UTC when this item was created. + :vartype time_created: str + :ivar time_modified: Date and time in UTC of the last modification that + was made to this item. + :vartype time_modified: str + :param properties: + :type properties: + ~azure.mgmt.applicationinsights.v2015_05_01.models.ApplicationInsightsComponentAnalyticsItemProperties + """ + + _validation = { + 'version': {'readonly': True}, + 'time_created': {'readonly': True}, + 'time_modified': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'Id', 'type': 'str'}, + 'name': {'key': 'Name', 'type': 'str'}, + 'content': {'key': 'Content', 'type': 'str'}, + 'version': {'key': 'Version', 'type': 'str'}, + 'scope': {'key': 'Scope', 'type': 'str'}, + 'type': {'key': 'Type', 'type': 'str'}, + 'time_created': {'key': 'TimeCreated', 'type': 'str'}, + 'time_modified': {'key': 'TimeModified', 'type': 'str'}, + 'properties': {'key': 'Properties', 'type': 'ApplicationInsightsComponentAnalyticsItemProperties'}, + } + + def __init__(self, *, id: str=None, name: str=None, content: str=None, scope=None, type=None, properties=None, **kwargs) -> None: + super(ApplicationInsightsComponentAnalyticsItem, self).__init__(**kwargs) + self.id = id + self.name = name + self.content = content + self.version = None + self.scope = scope + self.type = type + self.time_created = None + self.time_modified = None + self.properties = properties + + +class ApplicationInsightsComponentAnalyticsItemProperties(Model): + """A set of properties that can be defined in the context of a specific item + type. Each type may have its own properties. + + :param function_alias: A function alias, used when the type of the item is + Function + :type function_alias: str + """ + + _attribute_map = { + 'function_alias': {'key': 'functionAlias', 'type': 'str'}, + } + + def __init__(self, *, function_alias: str=None, **kwargs) -> None: + super(ApplicationInsightsComponentAnalyticsItemProperties, self).__init__(**kwargs) + self.function_alias = function_alias + + +class ApplicationInsightsComponentAPIKey(Model): + """Properties that define an API key of an Application Insights Component. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: The unique ID of the API key inside an Application Insights + component. It is auto generated when the API key is created. + :vartype id: str + :ivar api_key: The API key value. It will be only return once when the API + Key was created. + :vartype api_key: str + :param created_date: The create date of this API key. + :type created_date: str + :param name: The name of the API key. + :type name: str + :param linked_read_properties: The read access rights of this API Key. + :type linked_read_properties: list[str] + :param linked_write_properties: The write access rights of this API Key. + :type linked_write_properties: list[str] + """ + + _validation = { + 'id': {'readonly': True}, + 'api_key': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'api_key': {'key': 'apiKey', 'type': 'str'}, + 'created_date': {'key': 'createdDate', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'linked_read_properties': {'key': 'linkedReadProperties', 'type': '[str]'}, + 'linked_write_properties': {'key': 'linkedWriteProperties', 'type': '[str]'}, + } + + def __init__(self, *, created_date: str=None, name: str=None, linked_read_properties=None, linked_write_properties=None, **kwargs) -> None: + super(ApplicationInsightsComponentAPIKey, self).__init__(**kwargs) + self.id = None + self.api_key = None + self.created_date = created_date + self.name = name + self.linked_read_properties = linked_read_properties + self.linked_write_properties = linked_write_properties + + +class ApplicationInsightsComponentAvailableFeatures(Model): + """An Application Insights component available features. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar result: A list of Application Insights component feature. + :vartype result: + list[~azure.mgmt.applicationinsights.v2015_05_01.models.ApplicationInsightsComponentFeature] + """ + + _validation = { + 'result': {'readonly': True}, + } + + _attribute_map = { + 'result': {'key': 'Result', 'type': '[ApplicationInsightsComponentFeature]'}, + } + + def __init__(self, **kwargs) -> None: + super(ApplicationInsightsComponentAvailableFeatures, self).__init__(**kwargs) + self.result = None + + +class ApplicationInsightsComponentBillingFeatures(Model): + """An Application Insights component billing features. + + :param data_volume_cap: An Application Insights component daily data + volume cap + :type data_volume_cap: + ~azure.mgmt.applicationinsights.v2015_05_01.models.ApplicationInsightsComponentDataVolumeCap + :param current_billing_features: Current enabled pricing plan. When the + component is in the Enterprise plan, this will list both 'Basic' and + 'Application Insights Enterprise'. + :type current_billing_features: list[str] + """ + + _attribute_map = { + 'data_volume_cap': {'key': 'DataVolumeCap', 'type': 'ApplicationInsightsComponentDataVolumeCap'}, + 'current_billing_features': {'key': 'CurrentBillingFeatures', 'type': '[str]'}, + } + + def __init__(self, *, data_volume_cap=None, current_billing_features=None, **kwargs) -> None: + super(ApplicationInsightsComponentBillingFeatures, self).__init__(**kwargs) + self.data_volume_cap = data_volume_cap + self.current_billing_features = current_billing_features + + +class ApplicationInsightsComponentDataVolumeCap(Model): + """An Application Insights component daily data volume cap. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param cap: Daily data volume cap in GB. + :type cap: float + :ivar reset_time: Daily data volume cap UTC reset hour. + :vartype reset_time: int + :param warning_threshold: Reserved, not used for now. + :type warning_threshold: int + :param stop_send_notification_when_hit_threshold: Reserved, not used for + now. + :type stop_send_notification_when_hit_threshold: bool + :param stop_send_notification_when_hit_cap: Do not send a notification + email when the daily data volume cap is met. + :type stop_send_notification_when_hit_cap: bool + :ivar max_history_cap: Maximum daily data volume cap that the user can set + for this component. + :vartype max_history_cap: float + """ + + _validation = { + 'reset_time': {'readonly': True}, + 'max_history_cap': {'readonly': True}, + } + + _attribute_map = { + 'cap': {'key': 'Cap', 'type': 'float'}, + 'reset_time': {'key': 'ResetTime', 'type': 'int'}, + 'warning_threshold': {'key': 'WarningThreshold', 'type': 'int'}, + 'stop_send_notification_when_hit_threshold': {'key': 'StopSendNotificationWhenHitThreshold', 'type': 'bool'}, + 'stop_send_notification_when_hit_cap': {'key': 'StopSendNotificationWhenHitCap', 'type': 'bool'}, + 'max_history_cap': {'key': 'MaxHistoryCap', 'type': 'float'}, + } + + def __init__(self, *, cap: float=None, warning_threshold: int=None, stop_send_notification_when_hit_threshold: bool=None, stop_send_notification_when_hit_cap: bool=None, **kwargs) -> None: + super(ApplicationInsightsComponentDataVolumeCap, self).__init__(**kwargs) + self.cap = cap + self.reset_time = None + self.warning_threshold = warning_threshold + self.stop_send_notification_when_hit_threshold = stop_send_notification_when_hit_threshold + self.stop_send_notification_when_hit_cap = stop_send_notification_when_hit_cap + self.max_history_cap = None + + +class ApplicationInsightsComponentExportConfiguration(Model): + """Properties that define a Continuous Export configuration. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar export_id: The unique ID of the export configuration inside an + Application Insights component. It is auto generated when the Continuous + Export configuration is created. + :vartype export_id: str + :ivar instrumentation_key: The instrumentation key of the Application + Insights component. + :vartype instrumentation_key: str + :param record_types: This comma separated list of document types that will + be exported. The possible values include 'Requests', 'Event', + 'Exceptions', 'Metrics', 'PageViews', 'PageViewPerformance', 'Rdd', + 'PerformanceCounters', 'Availability', 'Messages'. + :type record_types: str + :ivar application_name: The name of the Application Insights component. + :vartype application_name: str + :ivar subscription_id: The subscription of the Application Insights + component. + :vartype subscription_id: str + :ivar resource_group: The resource group of the Application Insights + component. + :vartype resource_group: str + :ivar destination_storage_subscription_id: The destination storage account + subscription ID. + :vartype destination_storage_subscription_id: str + :ivar destination_storage_location_id: The destination account location + ID. + :vartype destination_storage_location_id: str + :ivar destination_account_id: The name of destination account. + :vartype destination_account_id: str + :ivar destination_type: The destination type. + :vartype destination_type: str + :ivar is_user_enabled: This will be 'true' if the Continuous Export + configuration is enabled, otherwise it will be 'false'. + :vartype is_user_enabled: str + :ivar last_user_update: Last time the Continuous Export configuration was + updated. + :vartype last_user_update: str + :param notification_queue_enabled: Deprecated + :type notification_queue_enabled: str + :ivar export_status: This indicates current Continuous Export + configuration status. The possible values are 'Preparing', 'Success', + 'Failure'. + :vartype export_status: str + :ivar last_success_time: The last time data was successfully delivered to + the destination storage container for this Continuous Export + configuration. + :vartype last_success_time: str + :ivar last_gap_time: The last time the Continuous Export configuration + started failing. + :vartype last_gap_time: str + :ivar permanent_error_reason: This is the reason the Continuous Export + configuration started failing. It can be 'AzureStorageNotFound' or + 'AzureStorageAccessDenied'. + :vartype permanent_error_reason: str + :ivar storage_name: The name of the destination storage account. + :vartype storage_name: str + :ivar container_name: The name of the destination storage container. + :vartype container_name: str + """ + + _validation = { + 'export_id': {'readonly': True}, + 'instrumentation_key': {'readonly': True}, + 'application_name': {'readonly': True}, + 'subscription_id': {'readonly': True}, + 'resource_group': {'readonly': True}, + 'destination_storage_subscription_id': {'readonly': True}, + 'destination_storage_location_id': {'readonly': True}, + 'destination_account_id': {'readonly': True}, + 'destination_type': {'readonly': True}, + 'is_user_enabled': {'readonly': True}, + 'last_user_update': {'readonly': True}, + 'export_status': {'readonly': True}, + 'last_success_time': {'readonly': True}, + 'last_gap_time': {'readonly': True}, + 'permanent_error_reason': {'readonly': True}, + 'storage_name': {'readonly': True}, + 'container_name': {'readonly': True}, + } + + _attribute_map = { + 'export_id': {'key': 'ExportId', 'type': 'str'}, + 'instrumentation_key': {'key': 'InstrumentationKey', 'type': 'str'}, + 'record_types': {'key': 'RecordTypes', 'type': 'str'}, + 'application_name': {'key': 'ApplicationName', 'type': 'str'}, + 'subscription_id': {'key': 'SubscriptionId', 'type': 'str'}, + 'resource_group': {'key': 'ResourceGroup', 'type': 'str'}, + 'destination_storage_subscription_id': {'key': 'DestinationStorageSubscriptionId', 'type': 'str'}, + 'destination_storage_location_id': {'key': 'DestinationStorageLocationId', 'type': 'str'}, + 'destination_account_id': {'key': 'DestinationAccountId', 'type': 'str'}, + 'destination_type': {'key': 'DestinationType', 'type': 'str'}, + 'is_user_enabled': {'key': 'IsUserEnabled', 'type': 'str'}, + 'last_user_update': {'key': 'LastUserUpdate', 'type': 'str'}, + 'notification_queue_enabled': {'key': 'NotificationQueueEnabled', 'type': 'str'}, + 'export_status': {'key': 'ExportStatus', 'type': 'str'}, + 'last_success_time': {'key': 'LastSuccessTime', 'type': 'str'}, + 'last_gap_time': {'key': 'LastGapTime', 'type': 'str'}, + 'permanent_error_reason': {'key': 'PermanentErrorReason', 'type': 'str'}, + 'storage_name': {'key': 'StorageName', 'type': 'str'}, + 'container_name': {'key': 'ContainerName', 'type': 'str'}, + } + + def __init__(self, *, record_types: str=None, notification_queue_enabled: str=None, **kwargs) -> None: + super(ApplicationInsightsComponentExportConfiguration, self).__init__(**kwargs) + self.export_id = None + self.instrumentation_key = None + self.record_types = record_types + self.application_name = None + self.subscription_id = None + self.resource_group = None + self.destination_storage_subscription_id = None + self.destination_storage_location_id = None + self.destination_account_id = None + self.destination_type = None + self.is_user_enabled = None + self.last_user_update = None + self.notification_queue_enabled = notification_queue_enabled + self.export_status = None + self.last_success_time = None + self.last_gap_time = None + self.permanent_error_reason = None + self.storage_name = None + self.container_name = None + + +class ApplicationInsightsComponentExportRequest(Model): + """An Application Insights component Continuous Export configuration request + definition. + + :param record_types: The document types to be exported, as comma separated + values. Allowed values include 'Requests', 'Event', 'Exceptions', + 'Metrics', 'PageViews', 'PageViewPerformance', 'Rdd', + 'PerformanceCounters', 'Availability', 'Messages'. + :type record_types: str + :param destination_type: The Continuous Export destination type. This has + to be 'Blob'. + :type destination_type: str + :param destination_address: The SAS URL for the destination storage + container. It must grant write permission. + :type destination_address: str + :param is_enabled: Set to 'true' to create a Continuous Export + configuration as enabled, otherwise set it to 'false'. + :type is_enabled: str + :param notification_queue_enabled: Deprecated + :type notification_queue_enabled: str + :param notification_queue_uri: Deprecated + :type notification_queue_uri: str + :param destination_storage_subscription_id: The subscription ID of the + destination storage container. + :type destination_storage_subscription_id: str + :param destination_storage_location_id: The location ID of the destination + storage container. + :type destination_storage_location_id: str + :param destination_account_id: The name of destination storage account. + :type destination_account_id: str + """ + + _attribute_map = { + 'record_types': {'key': 'RecordTypes', 'type': 'str'}, + 'destination_type': {'key': 'DestinationType', 'type': 'str'}, + 'destination_address': {'key': 'DestinationAddress', 'type': 'str'}, + 'is_enabled': {'key': 'IsEnabled', 'type': 'str'}, + 'notification_queue_enabled': {'key': 'NotificationQueueEnabled', 'type': 'str'}, + 'notification_queue_uri': {'key': 'NotificationQueueUri', 'type': 'str'}, + 'destination_storage_subscription_id': {'key': 'DestinationStorageSubscriptionId', 'type': 'str'}, + 'destination_storage_location_id': {'key': 'DestinationStorageLocationId', 'type': 'str'}, + 'destination_account_id': {'key': 'DestinationAccountId', 'type': 'str'}, + } + + def __init__(self, *, record_types: str=None, destination_type: str=None, destination_address: str=None, is_enabled: str=None, notification_queue_enabled: str=None, notification_queue_uri: str=None, destination_storage_subscription_id: str=None, destination_storage_location_id: str=None, destination_account_id: str=None, **kwargs) -> None: + super(ApplicationInsightsComponentExportRequest, self).__init__(**kwargs) + self.record_types = record_types + self.destination_type = destination_type + self.destination_address = destination_address + self.is_enabled = is_enabled + self.notification_queue_enabled = notification_queue_enabled + self.notification_queue_uri = notification_queue_uri + self.destination_storage_subscription_id = destination_storage_subscription_id + self.destination_storage_location_id = destination_storage_location_id + self.destination_account_id = destination_account_id + + +class ApplicationInsightsComponentFavorite(Model): + """Properties that define a favorite that is associated to an Application + Insights component. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param name: The user-defined name of the favorite. + :type name: str + :param config: Configuration of this particular favorite, which are driven + by the Azure portal UX. Configuration data is a string containing valid + JSON + :type config: str + :param version: This instance's version of the data model. This can change + as new features are added that can be marked favorite. Current examples + include MetricsExplorer (ME) and Search. + :type version: str + :ivar favorite_id: Internally assigned unique id of the favorite + definition. + :vartype favorite_id: str + :param favorite_type: Enum indicating if this favorite definition is owned + by a specific user or is shared between all users with access to the + Application Insights component. Possible values include: 'shared', 'user' + :type favorite_type: str or + ~azure.mgmt.applicationinsights.v2015_05_01.models.FavoriteType + :param source_type: The source of the favorite definition. + :type source_type: str + :ivar time_modified: Date and time in UTC of the last modification that + was made to this favorite definition. + :vartype time_modified: str + :param tags: A list of 0 or more tags that are associated with this + favorite definition + :type tags: list[str] + :param category: Favorite category, as defined by the user at creation + time. + :type category: str + :param is_generated_from_template: Flag denoting wether or not this + favorite was generated from a template. + :type is_generated_from_template: bool + :ivar user_id: Unique user id of the specific user that owns this + favorite. + :vartype user_id: str + """ + + _validation = { + 'favorite_id': {'readonly': True}, + 'time_modified': {'readonly': True}, + 'user_id': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'Name', 'type': 'str'}, + 'config': {'key': 'Config', 'type': 'str'}, + 'version': {'key': 'Version', 'type': 'str'}, + 'favorite_id': {'key': 'FavoriteId', 'type': 'str'}, + 'favorite_type': {'key': 'FavoriteType', 'type': 'FavoriteType'}, + 'source_type': {'key': 'SourceType', 'type': 'str'}, + 'time_modified': {'key': 'TimeModified', 'type': 'str'}, + 'tags': {'key': 'Tags', 'type': '[str]'}, + 'category': {'key': 'Category', 'type': 'str'}, + 'is_generated_from_template': {'key': 'IsGeneratedFromTemplate', 'type': 'bool'}, + 'user_id': {'key': 'UserId', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, config: str=None, version: str=None, favorite_type=None, source_type: str=None, tags=None, category: str=None, is_generated_from_template: bool=None, **kwargs) -> None: + super(ApplicationInsightsComponentFavorite, self).__init__(**kwargs) + self.name = name + self.config = config + self.version = version + self.favorite_id = None + self.favorite_type = favorite_type + self.source_type = source_type + self.time_modified = None + self.tags = tags + self.category = category + self.is_generated_from_template = is_generated_from_template + self.user_id = None + + +class ApplicationInsightsComponentFeature(Model): + """An Application Insights component daily data volume cap status. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar feature_name: The pricing feature name. + :vartype feature_name: str + :ivar meter_id: The meter id used for the feature. + :vartype meter_id: str + :ivar meter_rate_frequency: The meter rate for the feature's meter. + :vartype meter_rate_frequency: str + :ivar resouce_id: Reserved, not used now. + :vartype resouce_id: str + :ivar is_hidden: Reserved, not used now. + :vartype is_hidden: bool + :ivar capabilities: A list of Application Insights component feature + capability. + :vartype capabilities: + list[~azure.mgmt.applicationinsights.v2015_05_01.models.ApplicationInsightsComponentFeatureCapability] + :ivar title: Display name of the feature. + :vartype title: str + :ivar is_main_feature: Whether can apply addon feature on to it. + :vartype is_main_feature: bool + :ivar supported_addon_features: The add on features on main feature. + :vartype supported_addon_features: str + """ + + _validation = { + 'feature_name': {'readonly': True}, + 'meter_id': {'readonly': True}, + 'meter_rate_frequency': {'readonly': True}, + 'resouce_id': {'readonly': True}, + 'is_hidden': {'readonly': True}, + 'capabilities': {'readonly': True}, + 'title': {'readonly': True}, + 'is_main_feature': {'readonly': True}, + 'supported_addon_features': {'readonly': True}, + } + + _attribute_map = { + 'feature_name': {'key': 'FeatureName', 'type': 'str'}, + 'meter_id': {'key': 'MeterId', 'type': 'str'}, + 'meter_rate_frequency': {'key': 'MeterRateFrequency', 'type': 'str'}, + 'resouce_id': {'key': 'ResouceId', 'type': 'str'}, + 'is_hidden': {'key': 'IsHidden', 'type': 'bool'}, + 'capabilities': {'key': 'Capabilities', 'type': '[ApplicationInsightsComponentFeatureCapability]'}, + 'title': {'key': 'Title', 'type': 'str'}, + 'is_main_feature': {'key': 'IsMainFeature', 'type': 'bool'}, + 'supported_addon_features': {'key': 'SupportedAddonFeatures', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(ApplicationInsightsComponentFeature, self).__init__(**kwargs) + self.feature_name = None + self.meter_id = None + self.meter_rate_frequency = None + self.resouce_id = None + self.is_hidden = None + self.capabilities = None + self.title = None + self.is_main_feature = None + self.supported_addon_features = None + + +class ApplicationInsightsComponentFeatureCapabilities(Model): + """An Application Insights component feature capabilities. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar support_export_data: Whether allow to use continuous export feature. + :vartype support_export_data: bool + :ivar burst_throttle_policy: Reserved, not used now. + :vartype burst_throttle_policy: str + :ivar metadata_class: Reserved, not used now. + :vartype metadata_class: str + :ivar live_stream_metrics: Reserved, not used now. + :vartype live_stream_metrics: bool + :ivar application_map: Reserved, not used now. + :vartype application_map: bool + :ivar work_item_integration: Whether allow to use work item integration + feature. + :vartype work_item_integration: bool + :ivar power_bi_integration: Reserved, not used now. + :vartype power_bi_integration: bool + :ivar open_schema: Reserved, not used now. + :vartype open_schema: bool + :ivar proactive_detection: Reserved, not used now. + :vartype proactive_detection: bool + :ivar analytics_integration: Reserved, not used now. + :vartype analytics_integration: bool + :ivar multiple_step_web_test: Whether allow to use multiple steps web test + feature. + :vartype multiple_step_web_test: bool + :ivar api_access_level: Reserved, not used now. + :vartype api_access_level: str + :ivar tracking_type: The application insights component used tracking + type. + :vartype tracking_type: str + :ivar daily_cap: Daily data volume cap in GB. + :vartype daily_cap: float + :ivar daily_cap_reset_time: Daily data volume cap UTC reset hour. + :vartype daily_cap_reset_time: float + :ivar throttle_rate: Reserved, not used now. + :vartype throttle_rate: float + """ + + _validation = { + 'support_export_data': {'readonly': True}, + 'burst_throttle_policy': {'readonly': True}, + 'metadata_class': {'readonly': True}, + 'live_stream_metrics': {'readonly': True}, + 'application_map': {'readonly': True}, + 'work_item_integration': {'readonly': True}, + 'power_bi_integration': {'readonly': True}, + 'open_schema': {'readonly': True}, + 'proactive_detection': {'readonly': True}, + 'analytics_integration': {'readonly': True}, + 'multiple_step_web_test': {'readonly': True}, + 'api_access_level': {'readonly': True}, + 'tracking_type': {'readonly': True}, + 'daily_cap': {'readonly': True}, + 'daily_cap_reset_time': {'readonly': True}, + 'throttle_rate': {'readonly': True}, + } + + _attribute_map = { + 'support_export_data': {'key': 'SupportExportData', 'type': 'bool'}, + 'burst_throttle_policy': {'key': 'BurstThrottlePolicy', 'type': 'str'}, + 'metadata_class': {'key': 'MetadataClass', 'type': 'str'}, + 'live_stream_metrics': {'key': 'LiveStreamMetrics', 'type': 'bool'}, + 'application_map': {'key': 'ApplicationMap', 'type': 'bool'}, + 'work_item_integration': {'key': 'WorkItemIntegration', 'type': 'bool'}, + 'power_bi_integration': {'key': 'PowerBIIntegration', 'type': 'bool'}, + 'open_schema': {'key': 'OpenSchema', 'type': 'bool'}, + 'proactive_detection': {'key': 'ProactiveDetection', 'type': 'bool'}, + 'analytics_integration': {'key': 'AnalyticsIntegration', 'type': 'bool'}, + 'multiple_step_web_test': {'key': 'MultipleStepWebTest', 'type': 'bool'}, + 'api_access_level': {'key': 'ApiAccessLevel', 'type': 'str'}, + 'tracking_type': {'key': 'TrackingType', 'type': 'str'}, + 'daily_cap': {'key': 'DailyCap', 'type': 'float'}, + 'daily_cap_reset_time': {'key': 'DailyCapResetTime', 'type': 'float'}, + 'throttle_rate': {'key': 'ThrottleRate', 'type': 'float'}, + } + + def __init__(self, **kwargs) -> None: + super(ApplicationInsightsComponentFeatureCapabilities, self).__init__(**kwargs) + self.support_export_data = None + self.burst_throttle_policy = None + self.metadata_class = None + self.live_stream_metrics = None + self.application_map = None + self.work_item_integration = None + self.power_bi_integration = None + self.open_schema = None + self.proactive_detection = None + self.analytics_integration = None + self.multiple_step_web_test = None + self.api_access_level = None + self.tracking_type = None + self.daily_cap = None + self.daily_cap_reset_time = None + self.throttle_rate = None + + +class ApplicationInsightsComponentFeatureCapability(Model): + """An Application Insights component feature capability. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name: The name of the capability. + :vartype name: str + :ivar description: The description of the capability. + :vartype description: str + :ivar value: The value of the capability. + :vartype value: str + :ivar unit: The unit of the capability. + :vartype unit: str + :ivar meter_id: The meter used for the capability. + :vartype meter_id: str + :ivar meter_rate_frequency: The meter rate of the meter. + :vartype meter_rate_frequency: str + """ + + _validation = { + 'name': {'readonly': True}, + 'description': {'readonly': True}, + 'value': {'readonly': True}, + 'unit': {'readonly': True}, + 'meter_id': {'readonly': True}, + 'meter_rate_frequency': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'Name', 'type': 'str'}, + 'description': {'key': 'Description', 'type': 'str'}, + 'value': {'key': 'Value', 'type': 'str'}, + 'unit': {'key': 'Unit', 'type': 'str'}, + 'meter_id': {'key': 'MeterId', 'type': 'str'}, + 'meter_rate_frequency': {'key': 'MeterRateFrequency', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(ApplicationInsightsComponentFeatureCapability, self).__init__(**kwargs) + self.name = None + self.description = None + self.value = None + self.unit = None + self.meter_id = None + self.meter_rate_frequency = None + + +class ApplicationInsightsComponentProactiveDetectionConfiguration(Model): + """Properties that define a ProactiveDetection configuration. + + :param name: The rule name + :type name: str + :param enabled: A flag that indicates whether this rule is enabled by the + user + :type enabled: bool + :param send_emails_to_subscription_owners: A flag that indicated whether + notifications on this rule should be sent to subscription owners + :type send_emails_to_subscription_owners: bool + :param custom_emails: Custom email addresses for this rule notifications + :type custom_emails: list[str] + :param last_updated_time: The last time this rule was updated + :type last_updated_time: str + :param rule_definitions: Static definitions of the ProactiveDetection + configuration rule (same values for all components). + :type rule_definitions: + ~azure.mgmt.applicationinsights.v2015_05_01.models.ApplicationInsightsComponentProactiveDetectionConfigurationRuleDefinitions + """ + + _attribute_map = { + 'name': {'key': 'Name', 'type': 'str'}, + 'enabled': {'key': 'Enabled', 'type': 'bool'}, + 'send_emails_to_subscription_owners': {'key': 'SendEmailsToSubscriptionOwners', 'type': 'bool'}, + 'custom_emails': {'key': 'CustomEmails', 'type': '[str]'}, + 'last_updated_time': {'key': 'LastUpdatedTime', 'type': 'str'}, + 'rule_definitions': {'key': 'RuleDefinitions', 'type': 'ApplicationInsightsComponentProactiveDetectionConfigurationRuleDefinitions'}, + } + + def __init__(self, *, name: str=None, enabled: bool=None, send_emails_to_subscription_owners: bool=None, custom_emails=None, last_updated_time: str=None, rule_definitions=None, **kwargs) -> None: + super(ApplicationInsightsComponentProactiveDetectionConfiguration, self).__init__(**kwargs) + self.name = name + self.enabled = enabled + self.send_emails_to_subscription_owners = send_emails_to_subscription_owners + self.custom_emails = custom_emails + self.last_updated_time = last_updated_time + self.rule_definitions = rule_definitions + + +class ApplicationInsightsComponentProactiveDetectionConfigurationRuleDefinitions(Model): + """Static definitions of the ProactiveDetection configuration rule (same + values for all components). + + :param name: The rule name + :type name: str + :param display_name: The rule name as it is displayed in UI + :type display_name: str + :param description: The rule description + :type description: str + :param help_url: URL which displays additional info about the proactive + detection rule + :type help_url: str + :param is_hidden: A flag indicating whether the rule is hidden (from the + UI) + :type is_hidden: bool + :param is_enabled_by_default: A flag indicating whether the rule is + enabled by default + :type is_enabled_by_default: bool + :param is_in_preview: A flag indicating whether the rule is in preview + :type is_in_preview: bool + :param supports_email_notifications: A flag indicating whether email + notifications are supported for detections for this rule + :type supports_email_notifications: bool + """ + + _attribute_map = { + 'name': {'key': 'Name', 'type': 'str'}, + 'display_name': {'key': 'DisplayName', 'type': 'str'}, + 'description': {'key': 'Description', 'type': 'str'}, + 'help_url': {'key': 'HelpUrl', 'type': 'str'}, + 'is_hidden': {'key': 'IsHidden', 'type': 'bool'}, + 'is_enabled_by_default': {'key': 'IsEnabledByDefault', 'type': 'bool'}, + 'is_in_preview': {'key': 'IsInPreview', 'type': 'bool'}, + 'supports_email_notifications': {'key': 'SupportsEmailNotifications', 'type': 'bool'}, + } + + def __init__(self, *, name: str=None, display_name: str=None, description: str=None, help_url: str=None, is_hidden: bool=None, is_enabled_by_default: bool=None, is_in_preview: bool=None, supports_email_notifications: bool=None, **kwargs) -> None: + super(ApplicationInsightsComponentProactiveDetectionConfigurationRuleDefinitions, self).__init__(**kwargs) + self.name = name + self.display_name = display_name + self.description = description + self.help_url = help_url + self.is_hidden = is_hidden + self.is_enabled_by_default = is_enabled_by_default + self.is_in_preview = is_in_preview + self.supports_email_notifications = supports_email_notifications + + +class ApplicationInsightsComponentQuotaStatus(Model): + """An Application Insights component daily data volume cap status. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar app_id: The Application ID for the Application Insights component. + :vartype app_id: str + :ivar should_be_throttled: The daily data volume cap is met, and data + ingestion will be stopped. + :vartype should_be_throttled: bool + :ivar expiration_time: Date and time when the daily data volume cap will + be reset, and data ingestion will resume. + :vartype expiration_time: str + """ + + _validation = { + 'app_id': {'readonly': True}, + 'should_be_throttled': {'readonly': True}, + 'expiration_time': {'readonly': True}, + } + + _attribute_map = { + 'app_id': {'key': 'AppId', 'type': 'str'}, + 'should_be_throttled': {'key': 'ShouldBeThrottled', 'type': 'bool'}, + 'expiration_time': {'key': 'ExpirationTime', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(ApplicationInsightsComponentQuotaStatus, self).__init__(**kwargs) + self.app_id = None + self.should_be_throttled = None + self.expiration_time = None + + +class ApplicationInsightsComponentWebTestLocation(Model): + """Properties that define a web test location available to an Application + Insights Component. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar display_name: The display name of the web test location. + :vartype display_name: str + :ivar tag: Internally defined geographic location tag. + :vartype tag: str + """ + + _validation = { + 'display_name': {'readonly': True}, + 'tag': {'readonly': True}, + } + + _attribute_map = { + 'display_name': {'key': 'DisplayName', 'type': 'str'}, + 'tag': {'key': 'Tag', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(ApplicationInsightsComponentWebTestLocation, self).__init__(**kwargs) + self.display_name = None + self.tag = None + + +class CloudError(Model): + """CloudError. + """ + + _attribute_map = { + } + + +class ComponentPurgeBody(Model): + """Describes the body of a purge request for an App Insights component. + + All required parameters must be populated in order to send to Azure. + + :param table: Required. Table from which to purge data. + :type table: str + :param filters: Required. The set of columns and filters (queries) to run + over them to purge the resulting data. + :type filters: + list[~azure.mgmt.applicationinsights.v2015_05_01.models.ComponentPurgeBodyFilters] + """ + + _validation = { + 'table': {'required': True}, + 'filters': {'required': True}, + } + + _attribute_map = { + 'table': {'key': 'table', 'type': 'str'}, + 'filters': {'key': 'filters', 'type': '[ComponentPurgeBodyFilters]'}, + } + + def __init__(self, *, table: str, filters, **kwargs) -> None: + super(ComponentPurgeBody, self).__init__(**kwargs) + self.table = table + self.filters = filters + + +class ComponentPurgeBodyFilters(Model): + """User-defined filters to return data which will be purged from the table. + + :param column: The column of the table over which the given query should + run + :type column: str + :param operator: A query operator to evaluate over the provided column and + value(s). Supported operators are ==, =~, in, in~, >, >=, <, <=, between, + and have the same behavior as they would in a KQL query. + :type operator: str + :param value: the value for the operator to function over. This can be a + number (e.g., > 100), a string (timestamp >= '2017-09-01') or array of + values. + :type value: object + :param key: When filtering over custom dimensions, this key will be used + as the name of the custom dimension. + :type key: str + """ + + _attribute_map = { + 'column': {'key': 'column', 'type': 'str'}, + 'operator': {'key': 'operator', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'object'}, + 'key': {'key': 'key', 'type': 'str'}, + } + + def __init__(self, *, column: str=None, operator: str=None, value=None, key: str=None, **kwargs) -> None: + super(ComponentPurgeBodyFilters, self).__init__(**kwargs) + self.column = column + self.operator = operator + self.value = value + self.key = key + + +class ComponentPurgeResponse(Model): + """Response containing operationId for a specific purge action. + + All required parameters must be populated in order to send to Azure. + + :param operation_id: Required. Id to use when querying for status for a + particular purge operation. + :type operation_id: str + """ + + _validation = { + 'operation_id': {'required': True}, + } + + _attribute_map = { + 'operation_id': {'key': 'operationId', 'type': 'str'}, + } + + def __init__(self, *, operation_id: str, **kwargs) -> None: + super(ComponentPurgeResponse, self).__init__(**kwargs) + self.operation_id = operation_id + + +class ComponentPurgeStatusResponse(Model): + """Response containing status for a specific purge operation. + + All required parameters must be populated in order to send to Azure. + + :param status: Required. Status of the operation represented by the + requested Id. Possible values include: 'pending', 'completed' + :type status: str or + ~azure.mgmt.applicationinsights.v2015_05_01.models.PurgeState + """ + + _validation = { + 'status': {'required': True}, + } + + _attribute_map = { + 'status': {'key': 'status', 'type': 'str'}, + } + + def __init__(self, *, status, **kwargs) -> None: + super(ComponentPurgeStatusResponse, self).__init__(**kwargs) + self.status = status + + +class ErrorFieldContract(Model): + """Error Field contract. + + :param code: Property level error code. + :type code: str + :param message: Human-readable representation of property-level error. + :type message: str + :param target: Property name. + :type target: str + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + } + + def __init__(self, *, code: str=None, message: str=None, target: str=None, **kwargs) -> None: + super(ErrorFieldContract, self).__init__(**kwargs) + self.code = code + self.message = message + self.target = target + + +class ErrorResponse(Model): + """Error response indicates Insights service is not able to process the + incoming request. The reason is provided in the error message. + + :param code: Error code. + :type code: str + :param message: Error message indicating why the operation failed. + :type message: str + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__(self, *, code: str=None, message: str=None, **kwargs) -> None: + super(ErrorResponse, self).__init__(**kwargs) + self.code = code + self.message = message + + +class ErrorResponseException(HttpOperationError): + """Server responsed with exception of type: 'ErrorResponse'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(ErrorResponseException, self).__init__(deserialize, response, 'ErrorResponse', *args) + + +class InnerError(Model): + """Inner error. + + :param diagnosticcontext: Provides correlation for request + :type diagnosticcontext: str + :param time: Request time + :type time: datetime + """ + + _attribute_map = { + 'diagnosticcontext': {'key': 'diagnosticcontext', 'type': 'str'}, + 'time': {'key': 'time', 'type': 'iso-8601'}, + } + + def __init__(self, *, diagnosticcontext: str=None, time=None, **kwargs) -> None: + super(InnerError, self).__init__(**kwargs) + self.diagnosticcontext = diagnosticcontext + self.time = time + + +class LinkProperties(Model): + """Contains a sourceId and workbook resource id to link two resources. + + :param source_id: The source Azure resource id + :type source_id: str + :param target_id: The workbook Azure resource id + :type target_id: str + :param category: The category of workbook + :type category: str + """ + + _attribute_map = { + 'source_id': {'key': 'sourceId', 'type': 'str'}, + 'target_id': {'key': 'targetId', 'type': 'str'}, + 'category': {'key': 'category', 'type': 'str'}, + } + + def __init__(self, *, source_id: str=None, target_id: str=None, category: str=None, **kwargs) -> None: + super(LinkProperties, self).__init__(**kwargs) + self.source_id = source_id + self.target_id = target_id + self.category = category + + +class Operation(Model): + """CDN REST API operation. + + :param name: Operation name: {provider}/{resource}/{operation} + :type name: str + :param display: The object that represents the operation. + :type display: + ~azure.mgmt.applicationinsights.v2015_05_01.models.OperationDisplay + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'OperationDisplay'}, + } + + def __init__(self, *, name: str=None, display=None, **kwargs) -> None: + super(Operation, self).__init__(**kwargs) + self.name = name + self.display = display + + +class OperationDisplay(Model): + """The object that represents the operation. + + :param provider: Service provider: Microsoft.Cdn + :type provider: str + :param resource: Resource on which the operation is performed: Profile, + endpoint, etc. + :type resource: str + :param operation: Operation type: Read, write, delete, etc. + :type operation: str + """ + + _attribute_map = { + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + } + + def __init__(self, *, provider: str=None, resource: str=None, operation: str=None, **kwargs) -> None: + super(OperationDisplay, self).__init__(**kwargs) + self.provider = provider + self.resource = resource + self.operation = operation + + +class PrivateLinkScopedResource(Model): + """The private link scope resource reference. + + :param resource_id: The full resource Id of the private link scope + resource. + :type resource_id: str + :param scope_id: The private link scope unique Identifier. + :type scope_id: str + """ + + _attribute_map = { + 'resource_id': {'key': 'ResourceId', 'type': 'str'}, + 'scope_id': {'key': 'ScopeId', 'type': 'str'}, + } + + def __init__(self, *, resource_id: str=None, scope_id: str=None, **kwargs) -> None: + super(PrivateLinkScopedResource, self).__init__(**kwargs) + self.resource_id = resource_id + self.scope_id = scope_id + + +class TagsResource(Model): + """A container holding only the Tags for a resource, allowing the user to + update the tags on a WebTest instance. + + :param tags: Resource tags + :type tags: dict[str, str] + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, *, tags=None, **kwargs) -> None: + super(TagsResource, self).__init__(**kwargs) + self.tags = tags + + +class WebtestsResource(Model): + """An azure resource object. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Azure resource Id + :vartype id: str + :ivar name: Azure resource name + :vartype name: str + :ivar type: Azure resource type + :vartype type: str + :param location: Required. Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, *, location: str, tags=None, **kwargs) -> None: + super(WebtestsResource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.location = location + self.tags = tags + + +class WebTest(WebtestsResource): + """An Application Insights web test definition. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Azure resource Id + :vartype id: str + :ivar name: Azure resource name + :vartype name: str + :ivar type: Azure resource type + :vartype type: str + :param location: Required. Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + :param kind: The kind of web test that this web test watches. Choices are + ping and multistep. Possible values include: 'ping', 'multistep'. Default + value: "ping" . + :type kind: str or + ~azure.mgmt.applicationinsights.v2015_05_01.models.WebTestKind + :param synthetic_monitor_id: Required. Unique ID of this WebTest. This is + typically the same value as the Name field. + :type synthetic_monitor_id: str + :param web_test_name: Required. User defined name if this WebTest. + :type web_test_name: str + :param description: Purpose/user defined descriptive test for this + WebTest. + :type description: str + :param enabled: Is the test actively being monitored. + :type enabled: bool + :param frequency: Interval in seconds between test runs for this WebTest. + Default value is 300. Default value: 300 . + :type frequency: int + :param timeout: Seconds until this WebTest will timeout and fail. Default + value is 30. Default value: 30 . + :type timeout: int + :param web_test_kind: Required. The kind of web test this is, valid + choices are ping and multistep. Possible values include: 'ping', + 'multistep'. Default value: "ping" . + :type web_test_kind: str or + ~azure.mgmt.applicationinsights.v2015_05_01.models.WebTestKind + :param retry_enabled: Allow for retries should this WebTest fail. + :type retry_enabled: bool + :param locations: Required. A list of where to physically run the tests + from to give global coverage for accessibility of your application. + :type locations: + list[~azure.mgmt.applicationinsights.v2015_05_01.models.WebTestGeolocation] + :param configuration: An XML configuration specification for a WebTest. + :type configuration: + ~azure.mgmt.applicationinsights.v2015_05_01.models.WebTestPropertiesConfiguration + :ivar provisioning_state: Current state of this component, whether or not + is has been provisioned within the resource group it is defined. Users + cannot change this value but are able to read from it. Values will include + Succeeded, Deploying, Canceled, and Failed. + :vartype provisioning_state: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + 'synthetic_monitor_id': {'required': True}, + 'web_test_name': {'required': True}, + 'web_test_kind': {'required': True}, + 'locations': {'required': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'kind': {'key': 'kind', 'type': 'WebTestKind'}, + 'synthetic_monitor_id': {'key': 'properties.SyntheticMonitorId', 'type': 'str'}, + 'web_test_name': {'key': 'properties.Name', 'type': 'str'}, + 'description': {'key': 'properties.Description', 'type': 'str'}, + 'enabled': {'key': 'properties.Enabled', 'type': 'bool'}, + 'frequency': {'key': 'properties.Frequency', 'type': 'int'}, + 'timeout': {'key': 'properties.Timeout', 'type': 'int'}, + 'web_test_kind': {'key': 'properties.Kind', 'type': 'WebTestKind'}, + 'retry_enabled': {'key': 'properties.RetryEnabled', 'type': 'bool'}, + 'locations': {'key': 'properties.Locations', 'type': '[WebTestGeolocation]'}, + 'configuration': {'key': 'properties.Configuration', 'type': 'WebTestPropertiesConfiguration'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + } + + def __init__(self, *, location: str, synthetic_monitor_id: str, web_test_name: str, locations, tags=None, kind="ping", description: str=None, enabled: bool=None, frequency: int=300, timeout: int=30, web_test_kind="ping", retry_enabled: bool=None, configuration=None, **kwargs) -> None: + super(WebTest, self).__init__(location=location, tags=tags, **kwargs) + self.kind = kind + self.synthetic_monitor_id = synthetic_monitor_id + self.web_test_name = web_test_name + self.description = description + self.enabled = enabled + self.frequency = frequency + self.timeout = timeout + self.web_test_kind = web_test_kind + self.retry_enabled = retry_enabled + self.locations = locations + self.configuration = configuration + self.provisioning_state = None + + +class WebTestGeolocation(Model): + """Geo-physical location to run a web test from. You must specify one or more + locations for the test to run from. + + :param location: Location ID for the webtest to run from. + :type location: str + """ + + _attribute_map = { + 'location': {'key': 'Id', 'type': 'str'}, + } + + def __init__(self, *, location: str=None, **kwargs) -> None: + super(WebTestGeolocation, self).__init__(**kwargs) + self.location = location + + +class WebTestPropertiesConfiguration(Model): + """An XML configuration specification for a WebTest. + + :param web_test: The XML specification of a WebTest to run against an + application. + :type web_test: str + """ + + _attribute_map = { + 'web_test': {'key': 'WebTest', 'type': 'str'}, + } + + def __init__(self, *, web_test: str=None, **kwargs) -> None: + super(WebTestPropertiesConfiguration, self).__init__(**kwargs) + self.web_test = web_test + + +class WorkbookResource(Model): + """An azure resource object. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Azure resource Id + :vartype id: str + :ivar name: Azure resource name + :vartype name: str + :ivar type: Azure resource type + :vartype type: str + :param location: Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, *, location: str=None, tags=None, **kwargs) -> None: + super(WorkbookResource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.location = location + self.tags = tags + + +class Workbook(WorkbookResource): + """An Application Insights workbook definition. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Azure resource Id + :vartype id: str + :ivar name: Azure resource name + :vartype name: str + :ivar type: Azure resource type + :vartype type: str + :param location: Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + :param kind: The kind of workbook. Choices are user and shared. Possible + values include: 'user', 'shared' + :type kind: str or + ~azure.mgmt.applicationinsights.v2015_05_01.models.SharedTypeKind + :param workbook_name: Required. The user-defined name of the workbook. + :type workbook_name: str + :param serialized_data: Required. Configuration of this particular + workbook. Configuration data is a string containing valid JSON + :type serialized_data: str + :param version: This instance's version of the data model. This can change + as new features are added that can be marked workbook. + :type version: str + :param workbook_id: Required. Internally assigned unique id of the + workbook definition. + :type workbook_id: str + :param shared_type_kind: Required. Enum indicating if this workbook + definition is owned by a specific user or is shared between all users with + access to the Application Insights component. Possible values include: + 'user', 'shared'. Default value: "shared" . + :type shared_type_kind: str or + ~azure.mgmt.applicationinsights.v2015_05_01.models.SharedTypeKind + :ivar time_modified: Date and time in UTC of the last modification that + was made to this workbook definition. + :vartype time_modified: str + :param category: Required. Workbook category, as defined by the user at + creation time. + :type category: str + :param workbook_tags: A list of 0 or more tags that are associated with + this workbook definition + :type workbook_tags: list[str] + :param user_id: Required. Unique user id of the specific user that owns + this workbook. + :type user_id: str + :param source_resource_id: Optional resourceId for a source resource. + :type source_resource_id: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'workbook_name': {'required': True}, + 'serialized_data': {'required': True}, + 'workbook_id': {'required': True}, + 'shared_type_kind': {'required': True}, + 'time_modified': {'readonly': True}, + 'category': {'required': True}, + 'user_id': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'workbook_name': {'key': 'properties.name', 'type': 'str'}, + 'serialized_data': {'key': 'properties.serializedData', 'type': 'str'}, + 'version': {'key': 'properties.version', 'type': 'str'}, + 'workbook_id': {'key': 'properties.workbookId', 'type': 'str'}, + 'shared_type_kind': {'key': 'properties.kind', 'type': 'str'}, + 'time_modified': {'key': 'properties.timeModified', 'type': 'str'}, + 'category': {'key': 'properties.category', 'type': 'str'}, + 'workbook_tags': {'key': 'properties.tags', 'type': '[str]'}, + 'user_id': {'key': 'properties.userId', 'type': 'str'}, + 'source_resource_id': {'key': 'properties.sourceResourceId', 'type': 'str'}, + } + + def __init__(self, *, workbook_name: str, serialized_data: str, workbook_id: str, category: str, user_id: str, location: str=None, tags=None, kind=None, version: str=None, shared_type_kind="shared", workbook_tags=None, source_resource_id: str=None, **kwargs) -> None: + super(Workbook, self).__init__(location=location, tags=tags, **kwargs) + self.kind = kind + self.workbook_name = workbook_name + self.serialized_data = serialized_data + self.version = version + self.workbook_id = workbook_id + self.shared_type_kind = shared_type_kind + self.time_modified = None + self.category = category + self.workbook_tags = workbook_tags + self.user_id = user_id + self.source_resource_id = source_resource_id + + +class WorkbookError(Model): + """Error message body that will indicate why the operation failed. + + :param code: Service-defined error code. This code serves as a sub-status + for the HTTP error code specified in the response. + :type code: str + :param message: Human-readable representation of the error. + :type message: str + :param details: The list of invalid fields send in request, in case of + validation error. + :type details: + list[~azure.mgmt.applicationinsights.v2015_05_01.models.ErrorFieldContract] + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[ErrorFieldContract]'}, + } + + def __init__(self, *, code: str=None, message: str=None, details=None, **kwargs) -> None: + super(WorkbookError, self).__init__(**kwargs) + self.code = code + self.message = message + self.details = details + + +class WorkbookErrorException(HttpOperationError): + """Server responsed with exception of type: 'WorkbookError'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(WorkbookErrorException, self).__init__(deserialize, response, 'WorkbookError', *args) + + +class WorkItemConfiguration(Model): + """Work item configuration associated with an application insights resource. + + :param connector_id: Connector identifier where work item is created + :type connector_id: str + :param config_display_name: Configuration friendly name + :type config_display_name: str + :param is_default: Boolean value indicating whether configuration is + default + :type is_default: bool + :param id: Unique Id for work item + :type id: str + :param config_properties: Serialized JSON object for detailed properties + :type config_properties: str + """ + + _attribute_map = { + 'connector_id': {'key': 'ConnectorId', 'type': 'str'}, + 'config_display_name': {'key': 'ConfigDisplayName', 'type': 'str'}, + 'is_default': {'key': 'IsDefault', 'type': 'bool'}, + 'id': {'key': 'Id', 'type': 'str'}, + 'config_properties': {'key': 'ConfigProperties', 'type': 'str'}, + } + + def __init__(self, *, connector_id: str=None, config_display_name: str=None, is_default: bool=None, id: str=None, config_properties: str=None, **kwargs) -> None: + super(WorkItemConfiguration, self).__init__(**kwargs) + self.connector_id = connector_id + self.config_display_name = config_display_name + self.is_default = is_default + self.id = id + self.config_properties = config_properties + + +class WorkItemConfigurationError(Model): + """Error associated with trying to get work item configuration or + configurations. + + :param code: Error detail code and explanation + :type code: str + :param message: Error message + :type message: str + :param innererror: + :type innererror: + ~azure.mgmt.applicationinsights.v2015_05_01.models.InnerError + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'innererror': {'key': 'innererror', 'type': 'InnerError'}, + } + + def __init__(self, *, code: str=None, message: str=None, innererror=None, **kwargs) -> None: + super(WorkItemConfigurationError, self).__init__(**kwargs) + self.code = code + self.message = message + self.innererror = innererror + + +class WorkItemConfigurationErrorException(HttpOperationError): + """Server responsed with exception of type: 'WorkItemConfigurationError'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(WorkItemConfigurationErrorException, self).__init__(deserialize, response, 'WorkItemConfigurationError', *args) + + +class WorkItemCreateConfiguration(Model): + """Work item configuration creation payload. + + :param connector_id: Unique connector id + :type connector_id: str + :param connector_data_configuration: Serialized JSON object for detailed + properties + :type connector_data_configuration: str + :param validate_only: Boolean indicating validate only + :type validate_only: bool + :param work_item_properties: Custom work item properties + :type work_item_properties: dict[str, str] + """ + + _attribute_map = { + 'connector_id': {'key': 'ConnectorId', 'type': 'str'}, + 'connector_data_configuration': {'key': 'ConnectorDataConfiguration', 'type': 'str'}, + 'validate_only': {'key': 'ValidateOnly', 'type': 'bool'}, + 'work_item_properties': {'key': 'WorkItemProperties', 'type': '{str}'}, + } + + def __init__(self, *, connector_id: str=None, connector_data_configuration: str=None, validate_only: bool=None, work_item_properties=None, **kwargs) -> None: + super(WorkItemCreateConfiguration, self).__init__(**kwargs) + self.connector_id = connector_id + self.connector_data_configuration = connector_data_configuration + self.validate_only = validate_only + self.work_item_properties = work_item_properties diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2015_05_01/models/_paged_models.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2015_05_01/models/_paged_models.py new file mode 100644 index 00000000000..17a42d8050f --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2015_05_01/models/_paged_models.py @@ -0,0 +1,118 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.paging import Paged + + +class OperationPaged(Paged): + """ + A paging container for iterating over a list of :class:`Operation ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[Operation]'} + } + + def __init__(self, *args, **kwargs): + + super(OperationPaged, self).__init__(*args, **kwargs) +class AnnotationPaged(Paged): + """ + A paging container for iterating over a list of :class:`Annotation ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[Annotation]'} + } + + def __init__(self, *args, **kwargs): + + super(AnnotationPaged, self).__init__(*args, **kwargs) +class ApplicationInsightsComponentAPIKeyPaged(Paged): + """ + A paging container for iterating over a list of :class:`ApplicationInsightsComponentAPIKey ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ApplicationInsightsComponentAPIKey]'} + } + + def __init__(self, *args, **kwargs): + + super(ApplicationInsightsComponentAPIKeyPaged, self).__init__(*args, **kwargs) +class ApplicationInsightsComponentPaged(Paged): + """ + A paging container for iterating over a list of :class:`ApplicationInsightsComponent ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ApplicationInsightsComponent]'} + } + + def __init__(self, *args, **kwargs): + + super(ApplicationInsightsComponentPaged, self).__init__(*args, **kwargs) +class WorkItemConfigurationPaged(Paged): + """ + A paging container for iterating over a list of :class:`WorkItemConfiguration ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[WorkItemConfiguration]'} + } + + def __init__(self, *args, **kwargs): + + super(WorkItemConfigurationPaged, self).__init__(*args, **kwargs) +class ApplicationInsightsComponentWebTestLocationPaged(Paged): + """ + A paging container for iterating over a list of :class:`ApplicationInsightsComponentWebTestLocation ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ApplicationInsightsComponentWebTestLocation]'} + } + + def __init__(self, *args, **kwargs): + + super(ApplicationInsightsComponentWebTestLocationPaged, self).__init__(*args, **kwargs) +class WebTestPaged(Paged): + """ + A paging container for iterating over a list of :class:`WebTest ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[WebTest]'} + } + + def __init__(self, *args, **kwargs): + + super(WebTestPaged, self).__init__(*args, **kwargs) +class WorkbookPaged(Paged): + """ + A paging container for iterating over a list of :class:`Workbook ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[Workbook]'} + } + + def __init__(self, *args, **kwargs): + + super(WorkbookPaged, self).__init__(*args, **kwargs) diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2015_05_01/operations/__init__.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2015_05_01/operations/__init__.py new file mode 100644 index 00000000000..3bd2ec335a0 --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2015_05_01/operations/__init__.py @@ -0,0 +1,46 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from ._operations import Operations +from ._annotations_operations import AnnotationsOperations +from ._api_keys_operations import APIKeysOperations +from ._export_configurations_operations import ExportConfigurationsOperations +from ._component_current_billing_features_operations import ComponentCurrentBillingFeaturesOperations +from ._component_quota_status_operations import ComponentQuotaStatusOperations +from ._component_feature_capabilities_operations import ComponentFeatureCapabilitiesOperations +from ._component_available_features_operations import ComponentAvailableFeaturesOperations +from ._proactive_detection_configurations_operations import ProactiveDetectionConfigurationsOperations +from ._components_operations import ComponentsOperations +from ._work_item_configurations_operations import WorkItemConfigurationsOperations +from ._favorites_operations import FavoritesOperations +from ._web_test_locations_operations import WebTestLocationsOperations +from ._web_tests_operations import WebTestsOperations +from ._analytics_items_operations import AnalyticsItemsOperations +from ._workbooks_operations import WorkbooksOperations + +__all__ = [ + 'Operations', + 'AnnotationsOperations', + 'APIKeysOperations', + 'ExportConfigurationsOperations', + 'ComponentCurrentBillingFeaturesOperations', + 'ComponentQuotaStatusOperations', + 'ComponentFeatureCapabilitiesOperations', + 'ComponentAvailableFeaturesOperations', + 'ProactiveDetectionConfigurationsOperations', + 'ComponentsOperations', + 'WorkItemConfigurationsOperations', + 'FavoritesOperations', + 'WebTestLocationsOperations', + 'WebTestsOperations', + 'AnalyticsItemsOperations', + 'WorkbooksOperations', +] diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2015_05_01/operations/_analytics_items_operations.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2015_05_01/operations/_analytics_items_operations.py new file mode 100644 index 00000000000..09a10624fd5 --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2015_05_01/operations/_analytics_items_operations.py @@ -0,0 +1,374 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class AnalyticsItemsOperations(object): + """AnalyticsItemsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2015-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2015-05-01" + + self.config = config + + def list( + self, resource_group_name, resource_name, scope_path, scope="shared", type="none", include_content=None, custom_headers=None, raw=False, **operation_config): + """Gets a list of Analytics Items defined within an Application Insights + component. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param resource_name: The name of the Application Insights component + resource. + :type resource_name: str + :param scope_path: Enum indicating if this item definition is owned by + a specific user or is shared between all users with access to the + Application Insights component. Possible values include: + 'analyticsItems', 'myanalyticsItems' + :type scope_path: str or + ~azure.mgmt.applicationinsights.v2015_05_01.models.ItemScopePath + :param scope: Enum indicating if this item definition is owned by a + specific user or is shared between all users with access to the + Application Insights component. Possible values include: 'shared', + 'user' + :type scope: str or + ~azure.mgmt.applicationinsights.v2015_05_01.models.ItemScope + :param type: Enum indicating the type of the Analytics item. Possible + values include: 'none', 'query', 'function', 'folder', 'recent' + :type type: str or + ~azure.mgmt.applicationinsights.v2015_05_01.models.ItemTypeParameter + :param include_content: Flag indicating whether or not to return the + content of each applicable item. If false, only return the item + information. + :type include_content: bool + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: list or ClientRawResponse if raw=true + :rtype: + list[~azure.mgmt.applicationinsights.v2015_05_01.models.ApplicationInsightsComponentAnalyticsItem] + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str'), + 'scopePath': self._serialize.url("scope_path", scope_path, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + if scope is not None: + query_parameters['scope'] = self._serialize.query("scope", scope, 'str') + if type is not None: + query_parameters['type'] = self._serialize.query("type", type, 'str') + if include_content is not None: + query_parameters['includeContent'] = self._serialize.query("include_content", include_content, 'bool') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('[ApplicationInsightsComponentAnalyticsItem]', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/components/{resourceName}/{scopePath}'} + + def get( + self, resource_group_name, resource_name, scope_path, id=None, name=None, custom_headers=None, raw=False, **operation_config): + """Gets a specific Analytics Items defined within an Application Insights + component. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param resource_name: The name of the Application Insights component + resource. + :type resource_name: str + :param scope_path: Enum indicating if this item definition is owned by + a specific user or is shared between all users with access to the + Application Insights component. Possible values include: + 'analyticsItems', 'myanalyticsItems' + :type scope_path: str or + ~azure.mgmt.applicationinsights.v2015_05_01.models.ItemScopePath + :param id: The Id of a specific item defined in the Application + Insights component + :type id: str + :param name: The name of a specific item defined in the Application + Insights component + :type name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ApplicationInsightsComponentAnalyticsItem or + ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.applicationinsights.v2015_05_01.models.ApplicationInsightsComponentAnalyticsItem + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str'), + 'scopePath': self._serialize.url("scope_path", scope_path, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + if id is not None: + query_parameters['id'] = self._serialize.query("id", id, 'str') + if name is not None: + query_parameters['name'] = self._serialize.query("name", name, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ApplicationInsightsComponentAnalyticsItem', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/components/{resourceName}/{scopePath}/item'} + + def put( + self, resource_group_name, resource_name, scope_path, item_properties, override_item=None, custom_headers=None, raw=False, **operation_config): + """Adds or Updates a specific Analytics Item within an Application + Insights component. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param resource_name: The name of the Application Insights component + resource. + :type resource_name: str + :param scope_path: Enum indicating if this item definition is owned by + a specific user or is shared between all users with access to the + Application Insights component. Possible values include: + 'analyticsItems', 'myanalyticsItems' + :type scope_path: str or + ~azure.mgmt.applicationinsights.v2015_05_01.models.ItemScopePath + :param item_properties: Properties that need to be specified to create + a new item and add it to an Application Insights component. + :type item_properties: + ~azure.mgmt.applicationinsights.v2015_05_01.models.ApplicationInsightsComponentAnalyticsItem + :param override_item: Flag indicating whether or not to force save an + item. This allows overriding an item if it already exists. + :type override_item: bool + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ApplicationInsightsComponentAnalyticsItem or + ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.applicationinsights.v2015_05_01.models.ApplicationInsightsComponentAnalyticsItem + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.put.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str'), + 'scopePath': self._serialize.url("scope_path", scope_path, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + if override_item is not None: + query_parameters['overrideItem'] = self._serialize.query("override_item", override_item, 'bool') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(item_properties, 'ApplicationInsightsComponentAnalyticsItem') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ApplicationInsightsComponentAnalyticsItem', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + put.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/components/{resourceName}/{scopePath}/item'} + + def delete( + self, resource_group_name, resource_name, scope_path, id=None, name=None, custom_headers=None, raw=False, **operation_config): + """Deletes a specific Analytics Items defined within an Application + Insights component. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param resource_name: The name of the Application Insights component + resource. + :type resource_name: str + :param scope_path: Enum indicating if this item definition is owned by + a specific user or is shared between all users with access to the + Application Insights component. Possible values include: + 'analyticsItems', 'myanalyticsItems' + :type scope_path: str or + ~azure.mgmt.applicationinsights.v2015_05_01.models.ItemScopePath + :param id: The Id of a specific item defined in the Application + Insights component + :type id: str + :param name: The name of a specific item defined in the Application + Insights component + :type name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str'), + 'scopePath': self._serialize.url("scope_path", scope_path, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + if id is not None: + query_parameters['id'] = self._serialize.query("id", id, 'str') + if name is not None: + query_parameters['name'] = self._serialize.query("name", name, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/components/{resourceName}/{scopePath}/item'} diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2015_05_01/operations/_annotations_operations.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2015_05_01/operations/_annotations_operations.py new file mode 100644 index 00000000000..ee2ab6c29dc --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2015_05_01/operations/_annotations_operations.py @@ -0,0 +1,317 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class AnnotationsOperations(object): + """AnnotationsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2015-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2015-05-01" + + self.config = config + + def list( + self, resource_group_name, resource_name, start, end, custom_headers=None, raw=False, **operation_config): + """Gets the list of annotations for a component for given time range. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param resource_name: The name of the Application Insights component + resource. + :type resource_name: str + :param start: The start time to query from for annotations, cannot be + older than 90 days from current date. + :type start: str + :param end: The end time to query for annotations. + :type end: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of Annotation + :rtype: + ~azure.mgmt.applicationinsights.v2015_05_01.models.AnnotationPaged[~azure.mgmt.applicationinsights.v2015_05_01.models.Annotation] + :raises: + :class:`AnnotationErrorException` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + query_parameters['start'] = self._serialize.query("start", start, 'str') + query_parameters['end'] = self._serialize.query("end", end, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.AnnotationErrorException(self._deserialize, response) + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.AnnotationPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/Annotations'} + + def create( + self, resource_group_name, resource_name, annotation_properties, custom_headers=None, raw=False, **operation_config): + """Create an Annotation of an Application Insights component. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param resource_name: The name of the Application Insights component + resource. + :type resource_name: str + :param annotation_properties: Properties that need to be specified to + create an annotation of a Application Insights component. + :type annotation_properties: + ~azure.mgmt.applicationinsights.v2015_05_01.models.Annotation + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: list or ClientRawResponse if raw=true + :rtype: + list[~azure.mgmt.applicationinsights.v2015_05_01.models.Annotation] or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`AnnotationErrorException` + """ + # Construct URL + url = self.create.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(annotation_properties, 'Annotation') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.AnnotationErrorException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('[Annotation]', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/Annotations'} + + def delete( + self, resource_group_name, resource_name, annotation_id, custom_headers=None, raw=False, **operation_config): + """Delete an Annotation of an Application Insights component. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param resource_name: The name of the Application Insights component + resource. + :type resource_name: str + :param annotation_id: The unique annotation ID. This is unique within + a Application Insights component. + :type annotation_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 + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str'), + 'annotationId': self._serialize.url("annotation_id", annotation_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/Annotations/{annotationId}'} + + def get( + self, resource_group_name, resource_name, annotation_id, custom_headers=None, raw=False, **operation_config): + """Get the annotation for given id. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param resource_name: The name of the Application Insights component + resource. + :type resource_name: str + :param annotation_id: The unique annotation ID. This is unique within + a Application Insights component. + :type annotation_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 + :param operation_config: :ref:`Operation configuration + overrides`. + :return: list or ClientRawResponse if raw=true + :rtype: + list[~azure.mgmt.applicationinsights.v2015_05_01.models.Annotation] or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`AnnotationErrorException` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str'), + 'annotationId': self._serialize.url("annotation_id", annotation_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.AnnotationErrorException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('[Annotation]', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/Annotations/{annotationId}'} diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2015_05_01/operations/_api_keys_operations.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2015_05_01/operations/_api_keys_operations.py new file mode 100644 index 00000000000..1ba480c3cde --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2015_05_01/operations/_api_keys_operations.py @@ -0,0 +1,326 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class APIKeysOperations(object): + """APIKeysOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2015-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2015-05-01" + + self.config = config + + def list( + self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): + """Gets a list of API keys of an Application Insights component. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param resource_name: The name of the Application Insights component + resource. + :type resource_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of + ApplicationInsightsComponentAPIKey + :rtype: + ~azure.mgmt.applicationinsights.v2015_05_01.models.ApplicationInsightsComponentAPIKeyPaged[~azure.mgmt.applicationinsights.v2015_05_01.models.ApplicationInsightsComponentAPIKey] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.ApplicationInsightsComponentAPIKeyPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/ApiKeys'} + + def create( + self, resource_group_name, resource_name, api_key_properties, custom_headers=None, raw=False, **operation_config): + """Create an API Key of an Application Insights component. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param resource_name: The name of the Application Insights component + resource. + :type resource_name: str + :param api_key_properties: Properties that need to be specified to + create an API key of a Application Insights component. + :type api_key_properties: + ~azure.mgmt.applicationinsights.v2015_05_01.models.APIKeyRequest + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ApplicationInsightsComponentAPIKey or ClientRawResponse if + raw=true + :rtype: + ~azure.mgmt.applicationinsights.v2015_05_01.models.ApplicationInsightsComponentAPIKey + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.create.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(api_key_properties, 'APIKeyRequest') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ApplicationInsightsComponentAPIKey', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/ApiKeys'} + + def delete( + self, resource_group_name, resource_name, key_id, custom_headers=None, raw=False, **operation_config): + """Delete an API Key of an Application Insights component. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param resource_name: The name of the Application Insights component + resource. + :type resource_name: str + :param key_id: The API Key ID. This is unique within a Application + Insights component. + :type key_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 + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ApplicationInsightsComponentAPIKey or ClientRawResponse if + raw=true + :rtype: + ~azure.mgmt.applicationinsights.v2015_05_01.models.ApplicationInsightsComponentAPIKey + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str'), + 'keyId': self._serialize.url("key_id", key_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ApplicationInsightsComponentAPIKey', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/APIKeys/{keyId}'} + + def get( + self, resource_group_name, resource_name, key_id, custom_headers=None, raw=False, **operation_config): + """Get the API Key for this key id. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param resource_name: The name of the Application Insights component + resource. + :type resource_name: str + :param key_id: The API Key ID. This is unique within a Application + Insights component. + :type key_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 + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ApplicationInsightsComponentAPIKey or ClientRawResponse if + raw=true + :rtype: + ~azure.mgmt.applicationinsights.v2015_05_01.models.ApplicationInsightsComponentAPIKey + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str'), + 'keyId': self._serialize.url("key_id", key_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ApplicationInsightsComponentAPIKey', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/APIKeys/{keyId}'} diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2015_05_01/operations/_component_available_features_operations.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2015_05_01/operations/_component_available_features_operations.py new file mode 100644 index 00000000000..6dcc4364e87 --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2015_05_01/operations/_component_available_features_operations.py @@ -0,0 +1,105 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class ComponentAvailableFeaturesOperations(object): + """ComponentAvailableFeaturesOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2015-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2015-05-01" + + self.config = config + + def get( + self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): + """Returns all available features of the application insights component. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param resource_name: The name of the Application Insights component + resource. + :type resource_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ApplicationInsightsComponentAvailableFeatures or + ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.applicationinsights.v2015_05_01.models.ApplicationInsightsComponentAvailableFeatures + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ApplicationInsightsComponentAvailableFeatures', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/getavailablebillingfeatures'} diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2015_05_01/operations/_component_current_billing_features_operations.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2015_05_01/operations/_component_current_billing_features_operations.py new file mode 100644 index 00000000000..e01909b7ac0 --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2015_05_01/operations/_component_current_billing_features_operations.py @@ -0,0 +1,184 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class ComponentCurrentBillingFeaturesOperations(object): + """ComponentCurrentBillingFeaturesOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2015-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2015-05-01" + + self.config = config + + def get( + self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): + """Returns current billing features for an Application Insights component. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param resource_name: The name of the Application Insights component + resource. + :type resource_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ApplicationInsightsComponentBillingFeatures or + ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.applicationinsights.v2015_05_01.models.ApplicationInsightsComponentBillingFeatures + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ApplicationInsightsComponentBillingFeatures', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/currentbillingfeatures'} + + def update( + self, resource_group_name, resource_name, data_volume_cap=None, current_billing_features=None, custom_headers=None, raw=False, **operation_config): + """Update current billing features for an Application Insights component. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param resource_name: The name of the Application Insights component + resource. + :type resource_name: str + :param data_volume_cap: An Application Insights component daily data + volume cap + :type data_volume_cap: + ~azure.mgmt.applicationinsights.v2015_05_01.models.ApplicationInsightsComponentDataVolumeCap + :param current_billing_features: Current enabled pricing plan. When + the component is in the Enterprise plan, this will list both 'Basic' + and 'Application Insights Enterprise'. + :type current_billing_features: list[str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ApplicationInsightsComponentBillingFeatures or + ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.applicationinsights.v2015_05_01.models.ApplicationInsightsComponentBillingFeatures + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + billing_features_properties = models.ApplicationInsightsComponentBillingFeatures(data_volume_cap=data_volume_cap, current_billing_features=current_billing_features) + + # Construct URL + url = self.update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(billing_features_properties, 'ApplicationInsightsComponentBillingFeatures') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ApplicationInsightsComponentBillingFeatures', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/currentbillingfeatures'} diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2015_05_01/operations/_component_feature_capabilities_operations.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2015_05_01/operations/_component_feature_capabilities_operations.py new file mode 100644 index 00000000000..51515c2c123 --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2015_05_01/operations/_component_feature_capabilities_operations.py @@ -0,0 +1,105 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class ComponentFeatureCapabilitiesOperations(object): + """ComponentFeatureCapabilitiesOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2015-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2015-05-01" + + self.config = config + + def get( + self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): + """Returns feature capabilities of the application insights component. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param resource_name: The name of the Application Insights component + resource. + :type resource_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ApplicationInsightsComponentFeatureCapabilities or + ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.applicationinsights.v2015_05_01.models.ApplicationInsightsComponentFeatureCapabilities + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ApplicationInsightsComponentFeatureCapabilities', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/featurecapabilities'} diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2015_05_01/operations/_component_quota_status_operations.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2015_05_01/operations/_component_quota_status_operations.py new file mode 100644 index 00000000000..7c25baf1f00 --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2015_05_01/operations/_component_quota_status_operations.py @@ -0,0 +1,106 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class ComponentQuotaStatusOperations(object): + """ComponentQuotaStatusOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2015-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2015-05-01" + + self.config = config + + def get( + self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): + """Returns daily data volume cap (quota) status for an Application + Insights component. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param resource_name: The name of the Application Insights component + resource. + :type resource_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ApplicationInsightsComponentQuotaStatus or ClientRawResponse + if raw=true + :rtype: + ~azure.mgmt.applicationinsights.v2015_05_01.models.ApplicationInsightsComponentQuotaStatus + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ApplicationInsightsComponentQuotaStatus', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/quotastatus'} diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2015_05_01/operations/_components_operations.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2015_05_01/operations/_components_operations.py new file mode 100644 index 00000000000..4bdd9a8b3b2 --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2015_05_01/operations/_components_operations.py @@ -0,0 +1,594 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class ComponentsOperations(object): + """ComponentsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2015-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2015-05-01" + + self.config = config + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Gets a list of all Application Insights components within a + subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of ApplicationInsightsComponent + :rtype: + ~azure.mgmt.applicationinsights.v2015_05_01.models.ApplicationInsightsComponentPaged[~azure.mgmt.applicationinsights.v2015_05_01.models.ApplicationInsightsComponent] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.ApplicationInsightsComponentPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Insights/components'} + + def list_by_resource_group( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Gets a list of Application Insights components within a resource group. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of ApplicationInsightsComponent + :rtype: + ~azure.mgmt.applicationinsights.v2015_05_01.models.ApplicationInsightsComponentPaged[~azure.mgmt.applicationinsights.v2015_05_01.models.ApplicationInsightsComponent] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.ApplicationInsightsComponentPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components'} + + def delete( + self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): + """Deletes an Application Insights component. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param resource_name: The name of the Application Insights component + resource. + :type resource_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}'} + + def get( + self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): + """Returns an Application Insights component. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param resource_name: The name of the Application Insights component + resource. + :type resource_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ApplicationInsightsComponent or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.applicationinsights.v2015_05_01.models.ApplicationInsightsComponent + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ApplicationInsightsComponent', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}'} + + def create_or_update( + self, resource_group_name, resource_name, insight_properties, custom_headers=None, raw=False, **operation_config): + """Creates (or updates) an Application Insights component. Note: You + cannot specify a different value for InstrumentationKey nor AppId in + the Put operation. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param resource_name: The name of the Application Insights component + resource. + :type resource_name: str + :param insight_properties: Properties that need to be specified to + create an Application Insights component. + :type insight_properties: + ~azure.mgmt.applicationinsights.v2015_05_01.models.ApplicationInsightsComponent + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ApplicationInsightsComponent or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.applicationinsights.v2015_05_01.models.ApplicationInsightsComponent + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(insight_properties, 'ApplicationInsightsComponent') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ApplicationInsightsComponent', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}'} + + def update_tags( + self, resource_group_name, resource_name, tags=None, custom_headers=None, raw=False, **operation_config): + """Updates an existing component's tags. To update other fields use the + CreateOrUpdate method. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param resource_name: The name of the Application Insights component + resource. + :type resource_name: str + :param tags: Resource tags + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ApplicationInsightsComponent or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.applicationinsights.v2015_05_01.models.ApplicationInsightsComponent + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + component_tags = models.TagsResource(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(component_tags, 'TagsResource') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ApplicationInsightsComponent', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}'} + + def purge( + self, resource_group_name, resource_name, table, filters, custom_headers=None, raw=False, **operation_config): + """Purges data in an Application Insights component by a set of + user-defined filters. + In order to manage system resources, purge requests are throttled at 50 + requests per hour. You should batch the execution of purge requests by + sending a single command whose predicate includes all user identities + that require purging. Use the in operator to specify multiple + identities. You should run the query prior to using for a purge request + to verify that the results are expected. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param resource_name: The name of the Application Insights component + resource. + :type resource_name: str + :param table: Table from which to purge data. + :type table: str + :param filters: The set of columns and filters (queries) to run over + them to purge the resulting data. + :type filters: + list[~azure.mgmt.applicationinsights.v2015_05_01.models.ComponentPurgeBodyFilters] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ComponentPurgeResponse or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.applicationinsights.v2015_05_01.models.ComponentPurgeResponse + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + body = models.ComponentPurgeBody(table=table, filters=filters) + + # Construct URL + url = self.purge.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(body, 'ComponentPurgeBody') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + if response.status_code == 202: + deserialized = self._deserialize('ComponentPurgeResponse', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + purge.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/purge'} + + def get_purge_status( + self, resource_group_name, resource_name, purge_id, custom_headers=None, raw=False, **operation_config): + """Get status for an ongoing purge operation. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param resource_name: The name of the Application Insights component + resource. + :type resource_name: str + :param purge_id: In a purge status request, this is the Id of the + operation the status of which is returned. + :type purge_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 + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ComponentPurgeStatusResponse or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.applicationinsights.v2015_05_01.models.ComponentPurgeStatusResponse + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_purge_status.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str'), + 'purgeId': self._serialize.url("purge_id", purge_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ComponentPurgeStatusResponse', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_purge_status.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/operations/{purgeId}'} diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2015_05_01/operations/_export_configurations_operations.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2015_05_01/operations/_export_configurations_operations.py new file mode 100644 index 00000000000..aaf8b6f8709 --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2015_05_01/operations/_export_configurations_operations.py @@ -0,0 +1,395 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class ExportConfigurationsOperations(object): + """ExportConfigurationsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2015-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2015-05-01" + + self.config = config + + def list( + self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): + """Gets a list of Continuous Export configuration of an Application + Insights component. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param resource_name: The name of the Application Insights component + resource. + :type resource_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: list or ClientRawResponse if raw=true + :rtype: + list[~azure.mgmt.applicationinsights.v2015_05_01.models.ApplicationInsightsComponentExportConfiguration] + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('[ApplicationInsightsComponentExportConfiguration]', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/exportconfiguration'} + + def create( + self, resource_group_name, resource_name, export_properties, custom_headers=None, raw=False, **operation_config): + """Create a Continuous Export configuration of an Application Insights + component. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param resource_name: The name of the Application Insights component + resource. + :type resource_name: str + :param export_properties: Properties that need to be specified to + create a Continuous Export configuration of a Application Insights + component. + :type export_properties: + ~azure.mgmt.applicationinsights.v2015_05_01.models.ApplicationInsightsComponentExportRequest + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: list or ClientRawResponse if raw=true + :rtype: + list[~azure.mgmt.applicationinsights.v2015_05_01.models.ApplicationInsightsComponentExportConfiguration] + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.create.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(export_properties, 'ApplicationInsightsComponentExportRequest') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('[ApplicationInsightsComponentExportConfiguration]', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/exportconfiguration'} + + def delete( + self, resource_group_name, resource_name, export_id, custom_headers=None, raw=False, **operation_config): + """Delete a Continuous Export configuration of an Application Insights + component. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param resource_name: The name of the Application Insights component + resource. + :type resource_name: str + :param export_id: The Continuous Export configuration ID. This is + unique within a Application Insights component. + :type export_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 + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ApplicationInsightsComponentExportConfiguration or + ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.applicationinsights.v2015_05_01.models.ApplicationInsightsComponentExportConfiguration + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str'), + 'exportId': self._serialize.url("export_id", export_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ApplicationInsightsComponentExportConfiguration', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/exportconfiguration/{exportId}'} + + def get( + self, resource_group_name, resource_name, export_id, custom_headers=None, raw=False, **operation_config): + """Get the Continuous Export configuration for this export id. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param resource_name: The name of the Application Insights component + resource. + :type resource_name: str + :param export_id: The Continuous Export configuration ID. This is + unique within a Application Insights component. + :type export_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 + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ApplicationInsightsComponentExportConfiguration or + ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.applicationinsights.v2015_05_01.models.ApplicationInsightsComponentExportConfiguration + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str'), + 'exportId': self._serialize.url("export_id", export_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ApplicationInsightsComponentExportConfiguration', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/exportconfiguration/{exportId}'} + + def update( + self, resource_group_name, resource_name, export_id, export_properties, custom_headers=None, raw=False, **operation_config): + """Update the Continuous Export configuration for this export id. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param resource_name: The name of the Application Insights component + resource. + :type resource_name: str + :param export_id: The Continuous Export configuration ID. This is + unique within a Application Insights component. + :type export_id: str + :param export_properties: Properties that need to be specified to + update the Continuous Export configuration. + :type export_properties: + ~azure.mgmt.applicationinsights.v2015_05_01.models.ApplicationInsightsComponentExportRequest + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ApplicationInsightsComponentExportConfiguration or + ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.applicationinsights.v2015_05_01.models.ApplicationInsightsComponentExportConfiguration + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str'), + 'exportId': self._serialize.url("export_id", export_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(export_properties, 'ApplicationInsightsComponentExportRequest') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ApplicationInsightsComponentExportConfiguration', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/exportconfiguration/{exportId}'} diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2015_05_01/operations/_favorites_operations.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2015_05_01/operations/_favorites_operations.py new file mode 100644 index 00000000000..bf0a809265e --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2015_05_01/operations/_favorites_operations.py @@ -0,0 +1,414 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class FavoritesOperations(object): + """FavoritesOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2015-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2015-05-01" + + self.config = config + + def list( + self, resource_group_name, resource_name, favorite_type="shared", source_type=None, can_fetch_content=None, tags=None, custom_headers=None, raw=False, **operation_config): + """Gets a list of favorites defined within an Application Insights + component. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param resource_name: The name of the Application Insights component + resource. + :type resource_name: str + :param favorite_type: The type of favorite. Value can be either shared + or user. Possible values include: 'shared', 'user' + :type favorite_type: str or + ~azure.mgmt.applicationinsights.v2015_05_01.models.FavoriteType + :param source_type: Source type of favorite to return. When left out, + the source type defaults to 'other' (not present in this enum). + Possible values include: 'retention', 'notebook', 'sessions', + 'events', 'userflows', 'funnel', 'impact', 'segmentation' + :type source_type: str or + ~azure.mgmt.applicationinsights.v2015_05_01.models.FavoriteSourceType + :param can_fetch_content: Flag indicating whether or not to return the + full content for each applicable favorite. If false, only return + summary content for favorites. + :type can_fetch_content: bool + :param tags: Tags that must be present on each favorite returned. + :type tags: list[str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: list or ClientRawResponse if raw=true + :rtype: + list[~azure.mgmt.applicationinsights.v2015_05_01.models.ApplicationInsightsComponentFavorite] + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + if favorite_type is not None: + query_parameters['favoriteType'] = self._serialize.query("favorite_type", favorite_type, 'FavoriteType') + if source_type is not None: + query_parameters['sourceType'] = self._serialize.query("source_type", source_type, 'str') + if can_fetch_content is not None: + query_parameters['canFetchContent'] = self._serialize.query("can_fetch_content", can_fetch_content, 'bool') + if tags is not None: + query_parameters['tags'] = self._serialize.query("tags", tags, '[str]', div=',') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('[ApplicationInsightsComponentFavorite]', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/favorites'} + + def get( + self, resource_group_name, resource_name, favorite_id, custom_headers=None, raw=False, **operation_config): + """Get a single favorite by its FavoriteId, defined within an Application + Insights component. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param resource_name: The name of the Application Insights component + resource. + :type resource_name: str + :param favorite_id: The Id of a specific favorite defined in the + Application Insights component + :type favorite_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 + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ApplicationInsightsComponentFavorite or ClientRawResponse if + raw=true + :rtype: + ~azure.mgmt.applicationinsights.v2015_05_01.models.ApplicationInsightsComponentFavorite + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str'), + 'favoriteId': self._serialize.url("favorite_id", favorite_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ApplicationInsightsComponentFavorite', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/favorites/{favoriteId}'} + + def add( + self, resource_group_name, resource_name, favorite_id, favorite_properties, custom_headers=None, raw=False, **operation_config): + """Adds a new favorites to an Application Insights component. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param resource_name: The name of the Application Insights component + resource. + :type resource_name: str + :param favorite_id: The Id of a specific favorite defined in the + Application Insights component + :type favorite_id: str + :param favorite_properties: Properties that need to be specified to + create a new favorite and add it to an Application Insights component. + :type favorite_properties: + ~azure.mgmt.applicationinsights.v2015_05_01.models.ApplicationInsightsComponentFavorite + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ApplicationInsightsComponentFavorite or ClientRawResponse if + raw=true + :rtype: + ~azure.mgmt.applicationinsights.v2015_05_01.models.ApplicationInsightsComponentFavorite + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.add.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str'), + 'favoriteId': self._serialize.url("favorite_id", favorite_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(favorite_properties, 'ApplicationInsightsComponentFavorite') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ApplicationInsightsComponentFavorite', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + add.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/favorites/{favoriteId}'} + + def update( + self, resource_group_name, resource_name, favorite_id, favorite_properties, custom_headers=None, raw=False, **operation_config): + """Updates a favorite that has already been added to an Application + Insights component. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param resource_name: The name of the Application Insights component + resource. + :type resource_name: str + :param favorite_id: The Id of a specific favorite defined in the + Application Insights component + :type favorite_id: str + :param favorite_properties: Properties that need to be specified to + update the existing favorite. + :type favorite_properties: + ~azure.mgmt.applicationinsights.v2015_05_01.models.ApplicationInsightsComponentFavorite + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ApplicationInsightsComponentFavorite or ClientRawResponse if + raw=true + :rtype: + ~azure.mgmt.applicationinsights.v2015_05_01.models.ApplicationInsightsComponentFavorite + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str'), + 'favoriteId': self._serialize.url("favorite_id", favorite_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(favorite_properties, 'ApplicationInsightsComponentFavorite') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ApplicationInsightsComponentFavorite', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/favorites/{favoriteId}'} + + def delete( + self, resource_group_name, resource_name, favorite_id, custom_headers=None, raw=False, **operation_config): + """Remove a favorite that is associated to an Application Insights + component. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param resource_name: The name of the Application Insights component + resource. + :type resource_name: str + :param favorite_id: The Id of a specific favorite defined in the + Application Insights component + :type favorite_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 + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str'), + 'favoriteId': self._serialize.url("favorite_id", favorite_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/favorites/{favoriteId}'} diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2015_05_01/operations/_operations.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2015_05_01/operations/_operations.py new file mode 100644 index 00000000000..b83ba6c5bb6 --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2015_05_01/operations/_operations.py @@ -0,0 +1,100 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse + +from .. import models + + +class Operations(object): + """Operations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2015-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2015-05-01" + + self.config = config + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Lists all of the available insights REST API operations. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of Operation + :rtype: + ~azure.mgmt.applicationinsights.v2015_05_01.models.OperationPaged[~azure.mgmt.applicationinsights.v2015_05_01.models.Operation] + :raises: + :class:`ErrorResponseException` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.OperationPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/providers/Microsoft.Insights/operations'} diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2015_05_01/operations/_proactive_detection_configurations_operations.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2015_05_01/operations/_proactive_detection_configurations_operations.py new file mode 100644 index 00000000000..809cac1cd38 --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2015_05_01/operations/_proactive_detection_configurations_operations.py @@ -0,0 +1,251 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class ProactiveDetectionConfigurationsOperations(object): + """ProactiveDetectionConfigurationsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2015-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2015-05-01" + + self.config = config + + def list( + self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): + """Gets a list of ProactiveDetection configurations of an Application + Insights component. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param resource_name: The name of the Application Insights component + resource. + :type resource_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: list or ClientRawResponse if raw=true + :rtype: + list[~azure.mgmt.applicationinsights.v2015_05_01.models.ApplicationInsightsComponentProactiveDetectionConfiguration] + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('[ApplicationInsightsComponentProactiveDetectionConfiguration]', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/ProactiveDetectionConfigs'} + + def get( + self, resource_group_name, resource_name, configuration_id, custom_headers=None, raw=False, **operation_config): + """Get the ProactiveDetection configuration for this configuration id. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param resource_name: The name of the Application Insights component + resource. + :type resource_name: str + :param configuration_id: The ProactiveDetection configuration ID. This + is unique within a Application Insights component. + :type configuration_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 + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ApplicationInsightsComponentProactiveDetectionConfiguration + or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.applicationinsights.v2015_05_01.models.ApplicationInsightsComponentProactiveDetectionConfiguration + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str'), + 'ConfigurationId': self._serialize.url("configuration_id", configuration_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ApplicationInsightsComponentProactiveDetectionConfiguration', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/ProactiveDetectionConfigs/{ConfigurationId}'} + + def update( + self, resource_group_name, resource_name, configuration_id, proactive_detection_properties, custom_headers=None, raw=False, **operation_config): + """Update the ProactiveDetection configuration for this configuration id. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param resource_name: The name of the Application Insights component + resource. + :type resource_name: str + :param configuration_id: The ProactiveDetection configuration ID. This + is unique within a Application Insights component. + :type configuration_id: str + :param proactive_detection_properties: Properties that need to be + specified to update the ProactiveDetection configuration. + :type proactive_detection_properties: + ~azure.mgmt.applicationinsights.v2015_05_01.models.ApplicationInsightsComponentProactiveDetectionConfiguration + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ApplicationInsightsComponentProactiveDetectionConfiguration + or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.applicationinsights.v2015_05_01.models.ApplicationInsightsComponentProactiveDetectionConfiguration + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str'), + 'ConfigurationId': self._serialize.url("configuration_id", configuration_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(proactive_detection_properties, 'ApplicationInsightsComponentProactiveDetectionConfiguration') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ApplicationInsightsComponentProactiveDetectionConfiguration', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/ProactiveDetectionConfigs/{ConfigurationId}'} diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2015_05_01/operations/_web_test_locations_operations.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2015_05_01/operations/_web_test_locations_operations.py new file mode 100644 index 00000000000..f20750520e7 --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2015_05_01/operations/_web_test_locations_operations.py @@ -0,0 +1,116 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class WebTestLocationsOperations(object): + """WebTestLocationsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2015-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2015-05-01" + + self.config = config + + def list( + self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): + """Gets a list of web test locations available to this Application + Insights component. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param resource_name: The name of the Application Insights component + resource. + :type resource_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of + ApplicationInsightsComponentWebTestLocation + :rtype: + ~azure.mgmt.applicationinsights.v2015_05_01.models.ApplicationInsightsComponentWebTestLocationPaged[~azure.mgmt.applicationinsights.v2015_05_01.models.ApplicationInsightsComponentWebTestLocation] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.ApplicationInsightsComponentWebTestLocationPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/syntheticmonitorlocations'} diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2015_05_01/operations/_web_tests_operations.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2015_05_01/operations/_web_tests_operations.py new file mode 100644 index 00000000000..c3bf172e11c --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2015_05_01/operations/_web_tests_operations.py @@ -0,0 +1,513 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class WebTestsOperations(object): + """WebTestsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2015-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2015-05-01" + + self.config = config + + def list_by_resource_group( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Get all Application Insights web tests defined within a specified + resource group. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of WebTest + :rtype: + ~azure.mgmt.applicationinsights.v2015_05_01.models.WebTestPaged[~azure.mgmt.applicationinsights.v2015_05_01.models.WebTest] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.WebTestPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/webtests'} + + def get( + self, resource_group_name, web_test_name, custom_headers=None, raw=False, **operation_config): + """Get a specific Application Insights web test definition. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param web_test_name: The name of the Application Insights webtest + resource. + :type web_test_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: WebTest or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.applicationinsights.v2015_05_01.models.WebTest or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'webTestName': self._serialize.url("web_test_name", web_test_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('WebTest', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/webtests/{webTestName}'} + + def create_or_update( + self, resource_group_name, web_test_name, web_test_definition, custom_headers=None, raw=False, **operation_config): + """Creates or updates an Application Insights web test definition. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param web_test_name: The name of the Application Insights webtest + resource. + :type web_test_name: str + :param web_test_definition: Properties that need to be specified to + create or update an Application Insights web test definition. + :type web_test_definition: + ~azure.mgmt.applicationinsights.v2015_05_01.models.WebTest + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: WebTest or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.applicationinsights.v2015_05_01.models.WebTest or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'webTestName': self._serialize.url("web_test_name", web_test_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(web_test_definition, 'WebTest') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('WebTest', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/webtests/{webTestName}'} + + def update_tags( + self, resource_group_name, web_test_name, tags=None, custom_headers=None, raw=False, **operation_config): + """Creates or updates an Application Insights web test definition. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param web_test_name: The name of the Application Insights webtest + resource. + :type web_test_name: str + :param tags: Resource tags + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: WebTest or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.applicationinsights.v2015_05_01.models.WebTest or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + web_test_tags = models.TagsResource(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'webTestName': self._serialize.url("web_test_name", web_test_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(web_test_tags, 'TagsResource') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('WebTest', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/webtests/{webTestName}'} + + def delete( + self, resource_group_name, web_test_name, custom_headers=None, raw=False, **operation_config): + """Deletes an Application Insights web test. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param web_test_name: The name of the Application Insights webtest + resource. + :type web_test_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'webTestName': self._serialize.url("web_test_name", web_test_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/webtests/{webTestName}'} + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Get all Application Insights web test alerts definitions within a + subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of WebTest + :rtype: + ~azure.mgmt.applicationinsights.v2015_05_01.models.WebTestPaged[~azure.mgmt.applicationinsights.v2015_05_01.models.WebTest] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.WebTestPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Insights/webtests'} + + def list_by_component( + self, component_name, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Get all Application Insights web tests defined for the specified + component. + + :param component_name: The name of the Application Insights component + resource. + :type component_name: str + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of WebTest + :rtype: + ~azure.mgmt.applicationinsights.v2015_05_01.models.WebTestPaged[~azure.mgmt.applicationinsights.v2015_05_01.models.WebTest] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_component.metadata['url'] + path_format_arguments = { + 'componentName': self._serialize.url("component_name", component_name, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.WebTestPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_component.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{componentName}/webtests'} diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2015_05_01/operations/_work_item_configurations_operations.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2015_05_01/operations/_work_item_configurations_operations.py new file mode 100644 index 00000000000..c8dd5d0fc59 --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2015_05_01/operations/_work_item_configurations_operations.py @@ -0,0 +1,458 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class WorkItemConfigurationsOperations(object): + """WorkItemConfigurationsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2015-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2015-05-01" + + self.config = config + + def list( + self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): + """Gets the list work item configurations that exist for the application. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param resource_name: The name of the Application Insights component + resource. + :type resource_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of WorkItemConfiguration + :rtype: + ~azure.mgmt.applicationinsights.v2015_05_01.models.WorkItemConfigurationPaged[~azure.mgmt.applicationinsights.v2015_05_01.models.WorkItemConfiguration] + :raises: + :class:`WorkItemConfigurationErrorException` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.WorkItemConfigurationErrorException(self._deserialize, response) + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.WorkItemConfigurationPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/WorkItemConfigs'} + + def create( + self, resource_group_name, resource_name, work_item_configuration_properties, custom_headers=None, raw=False, **operation_config): + """Create a work item configuration for an Application Insights component. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param resource_name: The name of the Application Insights component + resource. + :type resource_name: str + :param work_item_configuration_properties: Properties that need to be + specified to create a work item configuration of a Application + Insights component. + :type work_item_configuration_properties: + ~azure.mgmt.applicationinsights.v2015_05_01.models.WorkItemCreateConfiguration + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: WorkItemConfiguration or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.applicationinsights.v2015_05_01.models.WorkItemConfiguration + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.create.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(work_item_configuration_properties, 'WorkItemCreateConfiguration') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('WorkItemConfiguration', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/WorkItemConfigs'} + + def get_default( + self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): + """Gets default work item configurations that exist for the application. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param resource_name: The name of the Application Insights component + resource. + :type resource_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: WorkItemConfiguration or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.applicationinsights.v2015_05_01.models.WorkItemConfiguration + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_default.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('WorkItemConfiguration', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_default.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/DefaultWorkItemConfig'} + + def delete( + self, resource_group_name, resource_name, work_item_config_id, custom_headers=None, raw=False, **operation_config): + """Delete a work item configuration of an Application Insights component. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param resource_name: The name of the Application Insights component + resource. + :type resource_name: str + :param work_item_config_id: The unique work item configuration Id. + This can be either friendly name of connector as defined in connector + configuration + :type work_item_config_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 + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str'), + 'workItemConfigId': self._serialize.url("work_item_config_id", work_item_config_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/WorkItemConfigs/{workItemConfigId}'} + + def get_item( + self, resource_group_name, resource_name, work_item_config_id, custom_headers=None, raw=False, **operation_config): + """Gets specified work item configuration for an Application Insights + component. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param resource_name: The name of the Application Insights component + resource. + :type resource_name: str + :param work_item_config_id: The unique work item configuration Id. + This can be either friendly name of connector as defined in connector + configuration + :type work_item_config_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 + :param operation_config: :ref:`Operation configuration + overrides`. + :return: WorkItemConfiguration or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.applicationinsights.v2015_05_01.models.WorkItemConfiguration + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_item.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str'), + 'workItemConfigId': self._serialize.url("work_item_config_id", work_item_config_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('WorkItemConfiguration', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_item.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/WorkItemConfigs/{workItemConfigId}'} + + def update_item( + self, resource_group_name, resource_name, work_item_config_id, work_item_configuration_properties, custom_headers=None, raw=False, **operation_config): + """Update a work item configuration for an Application Insights component. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param resource_name: The name of the Application Insights component + resource. + :type resource_name: str + :param work_item_config_id: The unique work item configuration Id. + This can be either friendly name of connector as defined in connector + configuration + :type work_item_config_id: str + :param work_item_configuration_properties: Properties that need to be + specified to update a work item configuration for this Application + Insights component. + :type work_item_configuration_properties: + ~azure.mgmt.applicationinsights.v2015_05_01.models.WorkItemCreateConfiguration + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: WorkItemConfiguration or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.applicationinsights.v2015_05_01.models.WorkItemConfiguration + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.update_item.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str'), + 'workItemConfigId': self._serialize.url("work_item_config_id", work_item_config_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(work_item_configuration_properties, 'WorkItemCreateConfiguration') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('WorkItemConfiguration', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_item.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/WorkItemConfigs/{workItemConfigId}'} diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2015_05_01/operations/_workbooks_operations.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2015_05_01/operations/_workbooks_operations.py new file mode 100644 index 00000000000..48aee77b9de --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2015_05_01/operations/_workbooks_operations.py @@ -0,0 +1,382 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse + +from .. import models + + +class WorkbooksOperations(object): + """WorkbooksOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2015-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2015-05-01" + + self.config = config + + def list_by_resource_group( + self, resource_group_name, category, tags=None, can_fetch_content=None, custom_headers=None, raw=False, **operation_config): + """Get all Workbooks defined within a specified resource group and + category. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param category: Category of workbook to return. Possible values + include: 'workbook', 'TSG', 'performance', 'retention' + :type category: str or + ~azure.mgmt.applicationinsights.v2015_05_01.models.CategoryType + :param tags: Tags presents on each workbook returned. + :type tags: list[str] + :param can_fetch_content: Flag indicating whether or not to return the + full content for each applicable workbook. If false, only return + summary content for workbooks. + :type can_fetch_content: bool + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of Workbook + :rtype: + ~azure.mgmt.applicationinsights.v2015_05_01.models.WorkbookPaged[~azure.mgmt.applicationinsights.v2015_05_01.models.Workbook] + :raises: + :class:`WorkbookErrorException` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['category'] = self._serialize.query("category", category, 'str') + if tags is not None: + query_parameters['tags'] = self._serialize.query("tags", tags, '[str]', div=',') + if can_fetch_content is not None: + query_parameters['canFetchContent'] = self._serialize.query("can_fetch_content", can_fetch_content, 'bool') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.WorkbookErrorException(self._deserialize, response) + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.WorkbookPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroup/{resourceGroupName}/providers/microsoft.insights/workbooks'} + + def get( + self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): + """Get a single workbook by its resourceName. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param resource_name: The name of the Application Insights component + resource. + :type resource_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: Workbook or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.applicationinsights.v2015_05_01.models.Workbook or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`WorkbookErrorException` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.WorkbookErrorException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('Workbook', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroup/{resourceGroupName}/providers/microsoft.insights/workbooks/{resourceName}'} + + def delete( + self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): + """Delete a workbook. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param resource_name: The name of the Application Insights component + resource. + :type resource_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`WorkbookErrorException` + """ + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [201, 204]: + raise models.WorkbookErrorException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroup/{resourceGroupName}/providers/microsoft.insights/workbooks/{resourceName}'} + + def create_or_update( + self, resource_group_name, resource_name, workbook_properties, custom_headers=None, raw=False, **operation_config): + """Create a new workbook. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param resource_name: The name of the Application Insights component + resource. + :type resource_name: str + :param workbook_properties: Properties that need to be specified to + create a new workbook. + :type workbook_properties: + ~azure.mgmt.applicationinsights.v2015_05_01.models.Workbook + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: Workbook or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.applicationinsights.v2015_05_01.models.Workbook or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`WorkbookErrorException` + """ + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(workbook_properties, 'Workbook') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + raise models.WorkbookErrorException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('Workbook', response) + if response.status_code == 201: + deserialized = self._deserialize('Workbook', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroup/{resourceGroupName}/providers/microsoft.insights/workbooks/{resourceName}'} + + def update( + self, resource_group_name, resource_name, workbook_properties, custom_headers=None, raw=False, **operation_config): + """Updates a workbook that has already been added. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param resource_name: The name of the Application Insights component + resource. + :type resource_name: str + :param workbook_properties: Properties that need to be specified to + create a new workbook. + :type workbook_properties: + ~azure.mgmt.applicationinsights.v2015_05_01.models.Workbook + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: Workbook or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.applicationinsights.v2015_05_01.models.Workbook or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`WorkbookErrorException` + """ + # Construct URL + url = self.update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(workbook_properties, 'Workbook') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.WorkbookErrorException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('Workbook', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroup/{resourceGroupName}/providers/microsoft.insights/workbooks/{resourceName}'} diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2015_05_01/version.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2015_05_01/version.py new file mode 100644 index 00000000000..10f4c707bc5 --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2015_05_01/version.py @@ -0,0 +1,13 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +VERSION = "2015-05-01" + diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2017_10_01/__init__.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2017_10_01/__init__.py new file mode 100644 index 00000000000..298512941d9 --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2017_10_01/__init__.py @@ -0,0 +1,19 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from ._configuration import ApplicationInsightsManagementClientConfiguration +from ._application_insights_management_client import ApplicationInsightsManagementClient +__all__ = ['ApplicationInsightsManagementClient', 'ApplicationInsightsManagementClientConfiguration'] + +from .version import VERSION + +__version__ = VERSION + diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2017_10_01/_application_insights_management_client.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2017_10_01/_application_insights_management_client.py new file mode 100644 index 00000000000..46cf6e1043c --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2017_10_01/_application_insights_management_client.py @@ -0,0 +1,64 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.service_client import SDKClient +from msrest import Serializer, Deserializer + +from ._configuration import ApplicationInsightsManagementClientConfiguration +from .operations import EASubscriptionMigrateToNewPricingModelOperations +from .operations import EASubscriptionRollbackToLegacyPricingModelOperations +from .operations import EASubscriptionListMigrationDateOperations +from .operations import ComponentCurrentPricingPlanOperations +from . import models + + +class ApplicationInsightsManagementClient(SDKClient): + """Composite Swagger for Application Insights Management Client + + :ivar config: Configuration for client. + :vartype config: ApplicationInsightsManagementClientConfiguration + + :ivar ea_subscription_migrate_to_new_pricing_model: EASubscriptionMigrateToNewPricingModel operations + :vartype ea_subscription_migrate_to_new_pricing_model: azure.mgmt.applicationinsights.v2017_10_01.operations.EASubscriptionMigrateToNewPricingModelOperations + :ivar ea_subscription_rollback_to_legacy_pricing_model: EASubscriptionRollbackToLegacyPricingModel operations + :vartype ea_subscription_rollback_to_legacy_pricing_model: azure.mgmt.applicationinsights.v2017_10_01.operations.EASubscriptionRollbackToLegacyPricingModelOperations + :ivar ea_subscription_list_migration_date: EASubscriptionListMigrationDate operations + :vartype ea_subscription_list_migration_date: azure.mgmt.applicationinsights.v2017_10_01.operations.EASubscriptionListMigrationDateOperations + :ivar component_current_pricing_plan: ComponentCurrentPricingPlan operations + :vartype component_current_pricing_plan: azure.mgmt.applicationinsights.v2017_10_01.operations.ComponentCurrentPricingPlanOperations + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=None): + + self.config = ApplicationInsightsManagementClientConfiguration(credentials, subscription_id, base_url) + super(ApplicationInsightsManagementClient, self).__init__(self.config.credentials, self.config) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self.api_version = '2017-10-01' + self._serialize = Serializer(client_models) + self._deserialize = Deserializer(client_models) + + self.ea_subscription_migrate_to_new_pricing_model = EASubscriptionMigrateToNewPricingModelOperations( + self._client, self.config, self._serialize, self._deserialize) + self.ea_subscription_rollback_to_legacy_pricing_model = EASubscriptionRollbackToLegacyPricingModelOperations( + self._client, self.config, self._serialize, self._deserialize) + self.ea_subscription_list_migration_date = EASubscriptionListMigrationDateOperations( + self._client, self.config, self._serialize, self._deserialize) + self.component_current_pricing_plan = ComponentCurrentPricingPlanOperations( + self._client, self.config, self._serialize, self._deserialize) diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2017_10_01/_configuration.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2017_10_01/_configuration.py new file mode 100644 index 00000000000..6c855295a4b --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2017_10_01/_configuration.py @@ -0,0 +1,48 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +from msrestazure import AzureConfiguration + +from .version import VERSION + + +class ApplicationInsightsManagementClientConfiguration(AzureConfiguration): + """Configuration for ApplicationInsightsManagementClient + Note that all parameters used to create this instance are saved as instance + attributes. + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=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 base_url: + base_url = 'https://management.azure.com' + + super(ApplicationInsightsManagementClientConfiguration, self).__init__(base_url) + + # Starting Autorest.Python 4.0.64, make connection pool activated by default + self.keep_alive = True + + self.add_user_agent('azure-mgmt-applicationinsights/{}'.format(VERSION)) + self.add_user_agent('Azure-SDK-For-Python') + + self.credentials = credentials + self.subscription_id = subscription_id diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2017_10_01/models/__init__.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2017_10_01/models/__init__.py new file mode 100644 index 00000000000..1a0bb9c4519 --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2017_10_01/models/__init__.py @@ -0,0 +1,25 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +try: + from ._models_py3 import ApplicationInsightsComponentPricingPlan + from ._models_py3 import EASubscriptionMigrationDate + from ._models_py3 import Resource +except (SyntaxError, ImportError): + from ._models import ApplicationInsightsComponentPricingPlan + from ._models import EASubscriptionMigrationDate + from ._models import Resource + +__all__ = [ + 'ApplicationInsightsComponentPricingPlan', + 'EASubscriptionMigrationDate', + 'Resource', +] diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2017_10_01/models/_models.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2017_10_01/models/_models.py new file mode 100644 index 00000000000..49bdf7ba204 --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2017_10_01/models/_models.py @@ -0,0 +1,191 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model +from msrest.exceptions import HttpOperationError + + +class Resource(Model): + """An Azure resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Azure resource Id. + :vartype id: str + :ivar name: Azure resource name. + :vartype name: str + :ivar type: Azure resource type. + :vartype type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Resource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + + +class ApplicationInsightsComponentPricingPlan(Resource): + """An Application Insights component pricing plan. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Azure resource Id. + :vartype id: str + :ivar name: Azure resource name. + :vartype name: str + :ivar type: Azure resource type. + :vartype type: str + :param plan_type: Pricing Plan Type Name. + :type plan_type: str + :param cap: Daily data volume cap in GB. + :type cap: float + :ivar reset_hour: Daily data volume cap UTC reset hour. + :vartype reset_hour: int + :param warning_threshold: Reserved, not used for now. + :type warning_threshold: int + :param stop_send_notification_when_hit_threshold: Reserved, not used for + now. + :type stop_send_notification_when_hit_threshold: bool + :param stop_send_notification_when_hit_cap: Do not send a notification + email when the daily data volume cap is met. + :type stop_send_notification_when_hit_cap: bool + :ivar max_history_cap: Maximum daily data volume cap that the user can set + for this component. + :vartype max_history_cap: float + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'reset_hour': {'readonly': True}, + 'max_history_cap': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'plan_type': {'key': 'properties.planType', 'type': 'str'}, + 'cap': {'key': 'properties.cap', 'type': 'float'}, + 'reset_hour': {'key': 'properties.resetHour', 'type': 'int'}, + 'warning_threshold': {'key': 'properties.warningThreshold', 'type': 'int'}, + 'stop_send_notification_when_hit_threshold': {'key': 'properties.stopSendNotificationWhenHitThreshold', 'type': 'bool'}, + 'stop_send_notification_when_hit_cap': {'key': 'properties.stopSendNotificationWhenHitCap', 'type': 'bool'}, + 'max_history_cap': {'key': 'properties.maxHistoryCap', 'type': 'float'}, + } + + def __init__(self, **kwargs): + super(ApplicationInsightsComponentPricingPlan, self).__init__(**kwargs) + self.plan_type = kwargs.get('plan_type', None) + self.cap = kwargs.get('cap', None) + self.reset_hour = None + self.warning_threshold = kwargs.get('warning_threshold', None) + self.stop_send_notification_when_hit_threshold = kwargs.get('stop_send_notification_when_hit_threshold', None) + self.stop_send_notification_when_hit_cap = kwargs.get('stop_send_notification_when_hit_cap', None) + self.max_history_cap = None + + +class CloudError(Model): + """An error response from the Batch service. + + :param error: Cloud error body. + :type error: + ~azure.mgmt.applicationinsights.v2017_10_01.models.CloudErrorBody + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'CloudErrorBody'}, + } + + def __init__(self, **kwargs): + super(CloudError, self).__init__(**kwargs) + self.error = kwargs.get('error', None) + + +class CloudErrorException(HttpOperationError): + """Server responsed with exception of type: 'CloudError'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(CloudErrorException, self).__init__(deserialize, response, 'CloudError', *args) + + +class CloudErrorBody(Model): + """An error response from the Batch service. + + :param code: An identifier for the error. Codes are invariant and are + intended to be consumed programmatically. + :type code: str + :param message: A message describing the error, intended to be suitable + for display in a user interface. + :type message: str + :param target: The target of the particular error. For example, the name + of the property in error. + :type target: str + :param details: A list of additional details about the error. + :type details: + list[~azure.mgmt.applicationinsights.v2017_10_01.models.CloudErrorBody] + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[CloudErrorBody]'}, + } + + def __init__(self, **kwargs): + super(CloudErrorBody, self).__init__(**kwargs) + self.code = kwargs.get('code', None) + self.message = kwargs.get('message', None) + self.target = kwargs.get('target', None) + self.details = kwargs.get('details', None) + + +class EASubscriptionMigrationDate(Model): + """Subscription migrate date information properties. + + :param is_grand_fatherable_subscription: Is subscription in the grand + fatherable subscription list. + :type is_grand_fatherable_subscription: bool + :param opted_in_date: Time to start using new pricing model. + :type opted_in_date: datetime + """ + + _attribute_map = { + 'is_grand_fatherable_subscription': {'key': 'isGrandFatherableSubscription', 'type': 'bool'}, + 'opted_in_date': {'key': 'optedInDate', 'type': 'iso-8601'}, + } + + def __init__(self, **kwargs): + super(EASubscriptionMigrationDate, self).__init__(**kwargs) + self.is_grand_fatherable_subscription = kwargs.get('is_grand_fatherable_subscription', None) + self.opted_in_date = kwargs.get('opted_in_date', None) diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2017_10_01/models/_models_py3.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2017_10_01/models/_models_py3.py new file mode 100644 index 00000000000..74b7642069d --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2017_10_01/models/_models_py3.py @@ -0,0 +1,191 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model +from msrest.exceptions import HttpOperationError + + +class Resource(Model): + """An Azure resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Azure resource Id. + :vartype id: str + :ivar name: Azure resource name. + :vartype name: str + :ivar type: Azure resource type. + :vartype type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(Resource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + + +class ApplicationInsightsComponentPricingPlan(Resource): + """An Application Insights component pricing plan. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Azure resource Id. + :vartype id: str + :ivar name: Azure resource name. + :vartype name: str + :ivar type: Azure resource type. + :vartype type: str + :param plan_type: Pricing Plan Type Name. + :type plan_type: str + :param cap: Daily data volume cap in GB. + :type cap: float + :ivar reset_hour: Daily data volume cap UTC reset hour. + :vartype reset_hour: int + :param warning_threshold: Reserved, not used for now. + :type warning_threshold: int + :param stop_send_notification_when_hit_threshold: Reserved, not used for + now. + :type stop_send_notification_when_hit_threshold: bool + :param stop_send_notification_when_hit_cap: Do not send a notification + email when the daily data volume cap is met. + :type stop_send_notification_when_hit_cap: bool + :ivar max_history_cap: Maximum daily data volume cap that the user can set + for this component. + :vartype max_history_cap: float + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'reset_hour': {'readonly': True}, + 'max_history_cap': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'plan_type': {'key': 'properties.planType', 'type': 'str'}, + 'cap': {'key': 'properties.cap', 'type': 'float'}, + 'reset_hour': {'key': 'properties.resetHour', 'type': 'int'}, + 'warning_threshold': {'key': 'properties.warningThreshold', 'type': 'int'}, + 'stop_send_notification_when_hit_threshold': {'key': 'properties.stopSendNotificationWhenHitThreshold', 'type': 'bool'}, + 'stop_send_notification_when_hit_cap': {'key': 'properties.stopSendNotificationWhenHitCap', 'type': 'bool'}, + 'max_history_cap': {'key': 'properties.maxHistoryCap', 'type': 'float'}, + } + + def __init__(self, *, plan_type: str=None, cap: float=None, warning_threshold: int=None, stop_send_notification_when_hit_threshold: bool=None, stop_send_notification_when_hit_cap: bool=None, **kwargs) -> None: + super(ApplicationInsightsComponentPricingPlan, self).__init__(**kwargs) + self.plan_type = plan_type + self.cap = cap + self.reset_hour = None + self.warning_threshold = warning_threshold + self.stop_send_notification_when_hit_threshold = stop_send_notification_when_hit_threshold + self.stop_send_notification_when_hit_cap = stop_send_notification_when_hit_cap + self.max_history_cap = None + + +class CloudError(Model): + """An error response from the Batch service. + + :param error: Cloud error body. + :type error: + ~azure.mgmt.applicationinsights.v2017_10_01.models.CloudErrorBody + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'CloudErrorBody'}, + } + + def __init__(self, *, error=None, **kwargs) -> None: + super(CloudError, self).__init__(**kwargs) + self.error = error + + +class CloudErrorException(HttpOperationError): + """Server responsed with exception of type: 'CloudError'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(CloudErrorException, self).__init__(deserialize, response, 'CloudError', *args) + + +class CloudErrorBody(Model): + """An error response from the Batch service. + + :param code: An identifier for the error. Codes are invariant and are + intended to be consumed programmatically. + :type code: str + :param message: A message describing the error, intended to be suitable + for display in a user interface. + :type message: str + :param target: The target of the particular error. For example, the name + of the property in error. + :type target: str + :param details: A list of additional details about the error. + :type details: + list[~azure.mgmt.applicationinsights.v2017_10_01.models.CloudErrorBody] + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[CloudErrorBody]'}, + } + + def __init__(self, *, code: str=None, message: str=None, target: str=None, details=None, **kwargs) -> None: + super(CloudErrorBody, self).__init__(**kwargs) + self.code = code + self.message = message + self.target = target + self.details = details + + +class EASubscriptionMigrationDate(Model): + """Subscription migrate date information properties. + + :param is_grand_fatherable_subscription: Is subscription in the grand + fatherable subscription list. + :type is_grand_fatherable_subscription: bool + :param opted_in_date: Time to start using new pricing model. + :type opted_in_date: datetime + """ + + _attribute_map = { + 'is_grand_fatherable_subscription': {'key': 'isGrandFatherableSubscription', 'type': 'bool'}, + 'opted_in_date': {'key': 'optedInDate', 'type': 'iso-8601'}, + } + + def __init__(self, *, is_grand_fatherable_subscription: bool=None, opted_in_date=None, **kwargs) -> None: + super(EASubscriptionMigrationDate, self).__init__(**kwargs) + self.is_grand_fatherable_subscription = is_grand_fatherable_subscription + self.opted_in_date = opted_in_date diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2017_10_01/operations/__init__.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2017_10_01/operations/__init__.py new file mode 100644 index 00000000000..c4fd7484266 --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2017_10_01/operations/__init__.py @@ -0,0 +1,22 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from ._ea_subscription_migrate_to_new_pricing_model_operations import EASubscriptionMigrateToNewPricingModelOperations +from ._ea_subscription_rollback_to_legacy_pricing_model_operations import EASubscriptionRollbackToLegacyPricingModelOperations +from ._ea_subscription_list_migration_date_operations import EASubscriptionListMigrationDateOperations +from ._component_current_pricing_plan_operations import ComponentCurrentPricingPlanOperations + +__all__ = [ + 'EASubscriptionMigrateToNewPricingModelOperations', + 'EASubscriptionRollbackToLegacyPricingModelOperations', + 'EASubscriptionListMigrationDateOperations', + 'ComponentCurrentPricingPlanOperations', +] diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2017_10_01/operations/_component_current_pricing_plan_operations.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2017_10_01/operations/_component_current_pricing_plan_operations.py new file mode 100644 index 00000000000..0ad252ac270 --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2017_10_01/operations/_component_current_pricing_plan_operations.py @@ -0,0 +1,252 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class ComponentCurrentPricingPlanOperations(object): + """ComponentCurrentPricingPlanOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2017-10-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2017-10-01" + + self.config = config + + def get( + self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): + """Returns the current pricing plan setting for an Application Insights + component. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param resource_name: The name of the Application Insights component + resource. + :type resource_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ApplicationInsightsComponentPricingPlan or ClientRawResponse + if raw=true + :rtype: + ~azure.mgmt.applicationinsights.v2017_10_01.models.ApplicationInsightsComponentPricingPlan + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ApplicationInsightsComponentPricingPlan', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/components/{resourceName}/pricingPlans/current'} + + def create_and_update( + self, resource_group_name, resource_name, pricing_plan_properties, custom_headers=None, raw=False, **operation_config): + """Replace current pricing plan for an Application Insights component. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param resource_name: The name of the Application Insights component + resource. + :type resource_name: str + :param pricing_plan_properties: Properties that need to be specified + to update current pricing plan for an Application Insights component. + :type pricing_plan_properties: + ~azure.mgmt.applicationinsights.v2017_10_01.models.ApplicationInsightsComponentPricingPlan + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ApplicationInsightsComponentPricingPlan or ClientRawResponse + if raw=true + :rtype: + ~azure.mgmt.applicationinsights.v2017_10_01.models.ApplicationInsightsComponentPricingPlan + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.create_and_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(pricing_plan_properties, 'ApplicationInsightsComponentPricingPlan') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ApplicationInsightsComponentPricingPlan', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_and_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/components/{resourceName}/pricingPlans/current'} + + def update( + self, resource_group_name, resource_name, pricing_plan_properties, custom_headers=None, raw=False, **operation_config): + """Update current pricing plan for an Application Insights component. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param resource_name: The name of the Application Insights component + resource. + :type resource_name: str + :param pricing_plan_properties: Properties that need to be specified + to update current pricing plan for an Application Insights component. + :type pricing_plan_properties: + ~azure.mgmt.applicationinsights.v2017_10_01.models.ApplicationInsightsComponentPricingPlan + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ApplicationInsightsComponentPricingPlan or ClientRawResponse + if raw=true + :rtype: + ~azure.mgmt.applicationinsights.v2017_10_01.models.ApplicationInsightsComponentPricingPlan + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(pricing_plan_properties, 'ApplicationInsightsComponentPricingPlan') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ApplicationInsightsComponentPricingPlan', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/components/{resourceName}/pricingPlans/current'} diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2017_10_01/operations/_ea_subscription_list_migration_date_operations.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2017_10_01/operations/_ea_subscription_list_migration_date_operations.py new file mode 100644 index 00000000000..c67b3c20655 --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2017_10_01/operations/_ea_subscription_list_migration_date_operations.py @@ -0,0 +1,96 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class EASubscriptionListMigrationDateOperations(object): + """EASubscriptionListMigrationDateOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2017-10-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2017-10-01" + + self.config = config + + def post( + self, custom_headers=None, raw=False, **operation_config): + """list date to migrate to new pricing model. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: EASubscriptionMigrationDate or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.applicationinsights.v2017_10_01.models.EASubscriptionMigrationDate + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.post.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('EASubscriptionMigrationDate', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + post.metadata = {'url': '/subscriptions/{subscriptionId}/providers/microsoft.insights/listMigrationdate'} diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2017_10_01/operations/_ea_subscription_migrate_to_new_pricing_model_operations.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2017_10_01/operations/_ea_subscription_migrate_to_new_pricing_model_operations.py new file mode 100644 index 00000000000..47dd725572d --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2017_10_01/operations/_ea_subscription_migrate_to_new_pricing_model_operations.py @@ -0,0 +1,87 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class EASubscriptionMigrateToNewPricingModelOperations(object): + """EASubscriptionMigrateToNewPricingModelOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2017-10-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2017-10-01" + + self.config = config + + def post( + self, custom_headers=None, raw=False, **operation_config): + """Enterprise Agreement Customer opted to use new pricing model. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.post.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + post.metadata = {'url': '/subscriptions/{subscriptionId}/providers/microsoft.insights/migrateToNewPricingModel'} diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2017_10_01/operations/_ea_subscription_rollback_to_legacy_pricing_model_operations.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2017_10_01/operations/_ea_subscription_rollback_to_legacy_pricing_model_operations.py new file mode 100644 index 00000000000..e4c7118bedd --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2017_10_01/operations/_ea_subscription_rollback_to_legacy_pricing_model_operations.py @@ -0,0 +1,87 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class EASubscriptionRollbackToLegacyPricingModelOperations(object): + """EASubscriptionRollbackToLegacyPricingModelOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2017-10-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2017-10-01" + + self.config = config + + def post( + self, custom_headers=None, raw=False, **operation_config): + """Enterprise Agreement Customer roll back to use legacy pricing model. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.post.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + post.metadata = {'url': '/subscriptions/{subscriptionId}/providers/microsoft.insights/rollbackToLegacyPricingModel'} diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2017_10_01/version.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2017_10_01/version.py new file mode 100644 index 00000000000..6fd4531cf9a --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2017_10_01/version.py @@ -0,0 +1,13 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +VERSION = "2017-10-01" + diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_05_01_preview/__init__.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_05_01_preview/__init__.py new file mode 100644 index 00000000000..298512941d9 --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_05_01_preview/__init__.py @@ -0,0 +1,19 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from ._configuration import ApplicationInsightsManagementClientConfiguration +from ._application_insights_management_client import ApplicationInsightsManagementClient +__all__ = ['ApplicationInsightsManagementClient', 'ApplicationInsightsManagementClientConfiguration'] + +from .version import VERSION + +__version__ = VERSION + diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_05_01_preview/_application_insights_management_client.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_05_01_preview/_application_insights_management_client.py new file mode 100644 index 00000000000..d98837e38c0 --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_05_01_preview/_application_insights_management_client.py @@ -0,0 +1,54 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.service_client import SDKClient +from msrest import Serializer, Deserializer + +from ._configuration import ApplicationInsightsManagementClientConfiguration +from .operations import ProactiveDetectionConfigurationsOperations +from .operations import ComponentsOperations +from . import models + + +class ApplicationInsightsManagementClient(SDKClient): + """Composite Swagger for Application Insights Management Client + + :ivar config: Configuration for client. + :vartype config: ApplicationInsightsManagementClientConfiguration + + :ivar proactive_detection_configurations: ProactiveDetectionConfigurations operations + :vartype proactive_detection_configurations: azure.mgmt.applicationinsights.v2018_05_01_preview.operations.ProactiveDetectionConfigurationsOperations + :ivar components: Components operations + :vartype components: azure.mgmt.applicationinsights.v2018_05_01_preview.operations.ComponentsOperations + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=None): + + self.config = ApplicationInsightsManagementClientConfiguration(credentials, subscription_id, base_url) + super(ApplicationInsightsManagementClient, self).__init__(self.config.credentials, self.config) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self.api_version = '2018-05-01-preview' + self._serialize = Serializer(client_models) + self._deserialize = Deserializer(client_models) + + self.proactive_detection_configurations = ProactiveDetectionConfigurationsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.components = ComponentsOperations( + self._client, self.config, self._serialize, self._deserialize) diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_05_01_preview/_configuration.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_05_01_preview/_configuration.py new file mode 100644 index 00000000000..6c855295a4b --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_05_01_preview/_configuration.py @@ -0,0 +1,48 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +from msrestazure import AzureConfiguration + +from .version import VERSION + + +class ApplicationInsightsManagementClientConfiguration(AzureConfiguration): + """Configuration for ApplicationInsightsManagementClient + Note that all parameters used to create this instance are saved as instance + attributes. + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=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 base_url: + base_url = 'https://management.azure.com' + + super(ApplicationInsightsManagementClientConfiguration, self).__init__(base_url) + + # Starting Autorest.Python 4.0.64, make connection pool activated by default + self.keep_alive = True + + self.add_user_agent('azure-mgmt-applicationinsights/{}'.format(VERSION)) + self.add_user_agent('Azure-SDK-For-Python') + + self.credentials = credentials + self.subscription_id = subscription_id diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_05_01_preview/models/__init__.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_05_01_preview/models/__init__.py new file mode 100644 index 00000000000..ba5030f7471 --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_05_01_preview/models/__init__.py @@ -0,0 +1,60 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +try: + from ._models_py3 import ApplicationInsightsComponent + from ._models_py3 import ApplicationInsightsComponentProactiveDetectionConfiguration + from ._models_py3 import ApplicationInsightsComponentProactiveDetectionConfigurationPropertiesRuleDefinitions + from ._models_py3 import ComponentPurgeBody + from ._models_py3 import ComponentPurgeBodyFilters + from ._models_py3 import ComponentPurgeResponse + from ._models_py3 import ComponentPurgeStatusResponse + from ._models_py3 import ComponentsResource + from ._models_py3 import PrivateLinkScopedResource + from ._models_py3 import TagsResource +except (SyntaxError, ImportError): + from ._models import ApplicationInsightsComponent + from ._models import ApplicationInsightsComponentProactiveDetectionConfiguration + from ._models import ApplicationInsightsComponentProactiveDetectionConfigurationPropertiesRuleDefinitions + from ._models import ComponentPurgeBody + from ._models import ComponentPurgeBodyFilters + from ._models import ComponentPurgeResponse + from ._models import ComponentPurgeStatusResponse + from ._models import ComponentsResource + from ._models import PrivateLinkScopedResource + from ._models import TagsResource +from ._paged_models import ApplicationInsightsComponentPaged +from ._application_insights_management_client_enums import ( + ApplicationType, + FlowType, + RequestSource, + PublicNetworkAccessType, + PurgeState, +) + +__all__ = [ + 'ApplicationInsightsComponent', + 'ApplicationInsightsComponentProactiveDetectionConfiguration', + 'ApplicationInsightsComponentProactiveDetectionConfigurationPropertiesRuleDefinitions', + 'ComponentPurgeBody', + 'ComponentPurgeBodyFilters', + 'ComponentPurgeResponse', + 'ComponentPurgeStatusResponse', + 'ComponentsResource', + 'PrivateLinkScopedResource', + 'TagsResource', + 'ApplicationInsightsComponentPaged', + 'ApplicationType', + 'FlowType', + 'RequestSource', + 'PublicNetworkAccessType', + 'PurgeState', +] diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_05_01_preview/models/_application_insights_management_client_enums.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_05_01_preview/models/_application_insights_management_client_enums.py new file mode 100644 index 00000000000..cab8df5318d --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_05_01_preview/models/_application_insights_management_client_enums.py @@ -0,0 +1,40 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from enum import Enum + + +class ApplicationType(str, Enum): + + web = "web" + other = "other" + + +class FlowType(str, Enum): + + bluefield = "Bluefield" + + +class RequestSource(str, Enum): + + rest = "rest" + + +class PublicNetworkAccessType(str, Enum): + + enabled = "Enabled" #: Enables connectivity to Application Insights through public DNS. + disabled = "Disabled" #: Disables public connectivity to Application Insights through public DNS. + + +class PurgeState(str, Enum): + + pending = "pending" + completed = "completed" diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_05_01_preview/models/_models.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_05_01_preview/models/_models.py new file mode 100644 index 00000000000..7d95273618e --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_05_01_preview/models/_models.py @@ -0,0 +1,489 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ComponentsResource(Model): + """An azure resource object. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Azure resource Id + :vartype id: str + :ivar name: Azure resource name + :vartype name: str + :ivar type: Azure resource type + :vartype type: str + :param location: Required. Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, **kwargs): + super(ComponentsResource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.location = kwargs.get('location', None) + self.tags = kwargs.get('tags', None) + + +class ApplicationInsightsComponent(ComponentsResource): + """An Application Insights component definition. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Azure resource Id + :vartype id: str + :ivar name: Azure resource name + :vartype name: str + :ivar type: Azure resource type + :vartype type: str + :param location: Required. Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + :param kind: Required. The kind of application that this component refers + to, used to customize UI. This value is a freeform string, values should + typically be one of the following: web, ios, other, store, java, phone. + :type kind: str + :ivar application_id: The unique ID of your application. This field + mirrors the 'Name' field and cannot be changed. + :vartype application_id: str + :ivar app_id: Application Insights Unique ID for your Application. + :vartype app_id: str + :param application_type: Required. Type of application being monitored. + Possible values include: 'web', 'other'. Default value: "web" . + :type application_type: str or + ~azure.mgmt.applicationinsights.v2018_05_01_preview.models.ApplicationType + :param flow_type: Used by the Application Insights system to determine + what kind of flow this component was created by. This is to be set to + 'Bluefield' when creating/updating a component via the REST API. Possible + values include: 'Bluefield'. Default value: "Bluefield" . + :type flow_type: str or + ~azure.mgmt.applicationinsights.v2018_05_01_preview.models.FlowType + :param request_source: Describes what tool created this Application + Insights component. Customers using this API should set this to the + default 'rest'. Possible values include: 'rest'. Default value: "rest" . + :type request_source: str or + ~azure.mgmt.applicationinsights.v2018_05_01_preview.models.RequestSource + :ivar instrumentation_key: Application Insights Instrumentation key. A + read-only value that applications can use to identify the destination for + all telemetry sent to Azure Application Insights. This value will be + supplied upon construction of each new Application Insights component. + :vartype instrumentation_key: str + :ivar creation_date: Creation Date for the Application Insights component, + in ISO 8601 format. + :vartype creation_date: datetime + :ivar tenant_id: Azure Tenant Id. + :vartype tenant_id: str + :param hockey_app_id: The unique application ID created when a new + application is added to HockeyApp, used for communications with HockeyApp. + :type hockey_app_id: str + :ivar hockey_app_token: Token used to authenticate communications with + between Application Insights and HockeyApp. + :vartype hockey_app_token: str + :ivar provisioning_state: Current state of this component: whether or not + is has been provisioned within the resource group it is defined. Users + cannot change this value but are able to read from it. Values will include + Succeeded, Deploying, Canceled, and Failed. + :vartype provisioning_state: str + :param sampling_percentage: Percentage of the data produced by the + application being monitored that is being sampled for Application Insights + telemetry. + :type sampling_percentage: float + :ivar connection_string: Application Insights component connection string. + :vartype connection_string: str + :param retention_in_days: Retention period in days. Default value: 90 . + :type retention_in_days: int + :param disable_ip_masking: Disable IP masking. + :type disable_ip_masking: bool + :param immediate_purge_data_on30_days: Purge data immediately after 30 + days. + :type immediate_purge_data_on30_days: bool + :ivar private_link_scoped_resources: List of linked private link scope + resources. + :vartype private_link_scoped_resources: + list[~azure.mgmt.applicationinsights.v2018_05_01_preview.models.PrivateLinkScopedResource] + :param public_network_access_for_ingestion: The network access type for + accessing Application Insights ingestion. Possible values include: + 'Enabled', 'Disabled'. Default value: "Enabled" . + :type public_network_access_for_ingestion: str or + ~azure.mgmt.applicationinsights.v2018_05_01_preview.models.PublicNetworkAccessType + :param public_network_access_for_query: The network access type for + accessing Application Insights query. Possible values include: 'Enabled', + 'Disabled'. Default value: "Enabled" . + :type public_network_access_for_query: str or + ~azure.mgmt.applicationinsights.v2018_05_01_preview.models.PublicNetworkAccessType + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + 'kind': {'required': True}, + 'application_id': {'readonly': True}, + 'app_id': {'readonly': True}, + 'application_type': {'required': True}, + 'instrumentation_key': {'readonly': True}, + 'creation_date': {'readonly': True}, + 'tenant_id': {'readonly': True}, + 'hockey_app_token': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'connection_string': {'readonly': True}, + 'private_link_scoped_resources': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'application_id': {'key': 'properties.ApplicationId', 'type': 'str'}, + 'app_id': {'key': 'properties.AppId', 'type': 'str'}, + 'application_type': {'key': 'properties.Application_Type', 'type': 'str'}, + 'flow_type': {'key': 'properties.Flow_Type', 'type': 'str'}, + 'request_source': {'key': 'properties.Request_Source', 'type': 'str'}, + 'instrumentation_key': {'key': 'properties.InstrumentationKey', 'type': 'str'}, + 'creation_date': {'key': 'properties.CreationDate', 'type': 'iso-8601'}, + 'tenant_id': {'key': 'properties.TenantId', 'type': 'str'}, + 'hockey_app_id': {'key': 'properties.HockeyAppId', 'type': 'str'}, + 'hockey_app_token': {'key': 'properties.HockeyAppToken', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'sampling_percentage': {'key': 'properties.SamplingPercentage', 'type': 'float'}, + 'connection_string': {'key': 'properties.ConnectionString', 'type': 'str'}, + 'retention_in_days': {'key': 'properties.RetentionInDays', 'type': 'int'}, + 'disable_ip_masking': {'key': 'properties.DisableIpMasking', 'type': 'bool'}, + 'immediate_purge_data_on30_days': {'key': 'properties.ImmediatePurgeDataOn30Days', 'type': 'bool'}, + 'private_link_scoped_resources': {'key': 'properties.PrivateLinkScopedResources', 'type': '[PrivateLinkScopedResource]'}, + 'public_network_access_for_ingestion': {'key': 'properties.publicNetworkAccessForIngestion', 'type': 'str'}, + 'public_network_access_for_query': {'key': 'properties.publicNetworkAccessForQuery', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationInsightsComponent, self).__init__(**kwargs) + self.kind = kwargs.get('kind', None) + self.application_id = None + self.app_id = None + self.application_type = kwargs.get('application_type', "web") + self.flow_type = kwargs.get('flow_type', "Bluefield") + self.request_source = kwargs.get('request_source', "rest") + self.instrumentation_key = None + self.creation_date = None + self.tenant_id = None + self.hockey_app_id = kwargs.get('hockey_app_id', None) + self.hockey_app_token = None + self.provisioning_state = None + self.sampling_percentage = kwargs.get('sampling_percentage', None) + self.connection_string = None + self.retention_in_days = kwargs.get('retention_in_days', 90) + self.disable_ip_masking = kwargs.get('disable_ip_masking', None) + self.immediate_purge_data_on30_days = kwargs.get('immediate_purge_data_on30_days', None) + self.private_link_scoped_resources = None + self.public_network_access_for_ingestion = kwargs.get('public_network_access_for_ingestion', "Enabled") + self.public_network_access_for_query = kwargs.get('public_network_access_for_query', "Enabled") + + +class ApplicationInsightsComponentProactiveDetectionConfiguration(Model): + """A ProactiveDetection configuration definition. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Azure resource Id + :vartype id: str + :param name: Azure resource name + :type name: str + :ivar type: Azure resource type + :vartype type: str + :param location: Resource location + :type location: str + :ivar name1: The rule name + :vartype name1: str + :param enabled: A flag that indicates whether this rule is enabled by the + user + :type enabled: bool + :param send_emails_to_subscription_owners: A flag that indicated whether + notifications on this rule should be sent to subscription owners + :type send_emails_to_subscription_owners: bool + :param custom_emails: Custom email addresses for this rule notifications + :type custom_emails: list[str] + :ivar last_updated_time: The last time this rule was updated + :vartype last_updated_time: str + :param rule_definitions: Static definitions of the ProactiveDetection + configuration rule (same values for all components). + :type rule_definitions: + ~azure.mgmt.applicationinsights.v2018_05_01_preview.models.ApplicationInsightsComponentProactiveDetectionConfigurationPropertiesRuleDefinitions + """ + + _validation = { + 'id': {'readonly': True}, + 'type': {'readonly': True}, + 'name1': {'readonly': True}, + 'last_updated_time': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'name1': {'key': 'properties.Name', 'type': 'str'}, + 'enabled': {'key': 'properties.Enabled', 'type': 'bool'}, + 'send_emails_to_subscription_owners': {'key': 'properties.SendEmailsToSubscriptionOwners', 'type': 'bool'}, + 'custom_emails': {'key': 'properties.CustomEmails', 'type': '[str]'}, + 'last_updated_time': {'key': 'properties.LastUpdatedTime', 'type': 'str'}, + 'rule_definitions': {'key': 'properties.RuleDefinitions', 'type': 'ApplicationInsightsComponentProactiveDetectionConfigurationPropertiesRuleDefinitions'}, + } + + def __init__(self, **kwargs): + super(ApplicationInsightsComponentProactiveDetectionConfiguration, self).__init__(**kwargs) + self.id = None + self.name = kwargs.get('name', None) + self.type = None + self.location = kwargs.get('location', None) + self.name1 = None + self.enabled = kwargs.get('enabled', None) + self.send_emails_to_subscription_owners = kwargs.get('send_emails_to_subscription_owners', None) + self.custom_emails = kwargs.get('custom_emails', None) + self.last_updated_time = None + self.rule_definitions = kwargs.get('rule_definitions', None) + + +class ApplicationInsightsComponentProactiveDetectionConfigurationPropertiesRuleDefinitions(Model): + """Static definitions of the ProactiveDetection configuration rule (same + values for all components). + + :param name: The rule name + :type name: str + :param display_name: The rule name as it is displayed in UI + :type display_name: str + :param description: The rule description + :type description: str + :param help_url: URL which displays additional info about the proactive + detection rule + :type help_url: str + :param is_hidden: A flag indicating whether the rule is hidden (from the + UI) + :type is_hidden: bool + :param is_enabled_by_default: A flag indicating whether the rule is + enabled by default + :type is_enabled_by_default: bool + :param is_in_preview: A flag indicating whether the rule is in preview + :type is_in_preview: bool + :param supports_email_notifications: A flag indicating whether email + notifications are supported for detections for this rule + :type supports_email_notifications: bool + """ + + _attribute_map = { + 'name': {'key': 'Name', 'type': 'str'}, + 'display_name': {'key': 'DisplayName', 'type': 'str'}, + 'description': {'key': 'Description', 'type': 'str'}, + 'help_url': {'key': 'HelpUrl', 'type': 'str'}, + 'is_hidden': {'key': 'IsHidden', 'type': 'bool'}, + 'is_enabled_by_default': {'key': 'IsEnabledByDefault', 'type': 'bool'}, + 'is_in_preview': {'key': 'IsInPreview', 'type': 'bool'}, + 'supports_email_notifications': {'key': 'SupportsEmailNotifications', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(ApplicationInsightsComponentProactiveDetectionConfigurationPropertiesRuleDefinitions, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.display_name = kwargs.get('display_name', None) + self.description = kwargs.get('description', None) + self.help_url = kwargs.get('help_url', None) + self.is_hidden = kwargs.get('is_hidden', None) + self.is_enabled_by_default = kwargs.get('is_enabled_by_default', None) + self.is_in_preview = kwargs.get('is_in_preview', None) + self.supports_email_notifications = kwargs.get('supports_email_notifications', None) + + +class CloudError(Model): + """CloudError. + """ + + _attribute_map = { + } + + +class ComponentPurgeBody(Model): + """Describes the body of a purge request for an App Insights component. + + All required parameters must be populated in order to send to Azure. + + :param table: Required. Table from which to purge data. + :type table: str + :param filters: Required. The set of columns and filters (queries) to run + over them to purge the resulting data. + :type filters: + list[~azure.mgmt.applicationinsights.v2018_05_01_preview.models.ComponentPurgeBodyFilters] + """ + + _validation = { + 'table': {'required': True}, + 'filters': {'required': True}, + } + + _attribute_map = { + 'table': {'key': 'table', 'type': 'str'}, + 'filters': {'key': 'filters', 'type': '[ComponentPurgeBodyFilters]'}, + } + + def __init__(self, **kwargs): + super(ComponentPurgeBody, self).__init__(**kwargs) + self.table = kwargs.get('table', None) + self.filters = kwargs.get('filters', None) + + +class ComponentPurgeBodyFilters(Model): + """User-defined filters to return data which will be purged from the table. + + :param column: The column of the table over which the given query should + run + :type column: str + :param operator: A query operator to evaluate over the provided column and + value(s). Supported operators are ==, =~, in, in~, >, >=, <, <=, between, + and have the same behavior as they would in a KQL query. + :type operator: str + :param value: the value for the operator to function over. This can be a + number (e.g., > 100), a string (timestamp >= '2017-09-01') or array of + values. + :type value: object + :param key: When filtering over custom dimensions, this key will be used + as the name of the custom dimension. + :type key: str + """ + + _attribute_map = { + 'column': {'key': 'column', 'type': 'str'}, + 'operator': {'key': 'operator', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'object'}, + 'key': {'key': 'key', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ComponentPurgeBodyFilters, self).__init__(**kwargs) + self.column = kwargs.get('column', None) + self.operator = kwargs.get('operator', None) + self.value = kwargs.get('value', None) + self.key = kwargs.get('key', None) + + +class ComponentPurgeResponse(Model): + """Response containing operationId for a specific purge action. + + All required parameters must be populated in order to send to Azure. + + :param operation_id: Required. Id to use when querying for status for a + particular purge operation. + :type operation_id: str + """ + + _validation = { + 'operation_id': {'required': True}, + } + + _attribute_map = { + 'operation_id': {'key': 'operationId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ComponentPurgeResponse, self).__init__(**kwargs) + self.operation_id = kwargs.get('operation_id', None) + + +class ComponentPurgeStatusResponse(Model): + """Response containing status for a specific purge operation. + + All required parameters must be populated in order to send to Azure. + + :param status: Required. Status of the operation represented by the + requested Id. Possible values include: 'pending', 'completed' + :type status: str or + ~azure.mgmt.applicationinsights.v2018_05_01_preview.models.PurgeState + """ + + _validation = { + 'status': {'required': True}, + } + + _attribute_map = { + 'status': {'key': 'status', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ComponentPurgeStatusResponse, self).__init__(**kwargs) + self.status = kwargs.get('status', None) + + +class PrivateLinkScopedResource(Model): + """The private link scope resource reference. + + :param resource_id: The full resource Id of the private link scope + resource. + :type resource_id: str + :param scope_id: The private link scope unique Identifier. + :type scope_id: str + """ + + _attribute_map = { + 'resource_id': {'key': 'ResourceId', 'type': 'str'}, + 'scope_id': {'key': 'ScopeId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PrivateLinkScopedResource, self).__init__(**kwargs) + self.resource_id = kwargs.get('resource_id', None) + self.scope_id = kwargs.get('scope_id', None) + + +class TagsResource(Model): + """A container holding only the Tags for a resource, allowing the user to + update the tags on a WebTest instance. + + :param tags: Resource tags + :type tags: dict[str, str] + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, **kwargs): + super(TagsResource, self).__init__(**kwargs) + self.tags = kwargs.get('tags', None) diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_05_01_preview/models/_models_py3.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_05_01_preview/models/_models_py3.py new file mode 100644 index 00000000000..ce015182f99 --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_05_01_preview/models/_models_py3.py @@ -0,0 +1,489 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ComponentsResource(Model): + """An azure resource object. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Azure resource Id + :vartype id: str + :ivar name: Azure resource name + :vartype name: str + :ivar type: Azure resource type + :vartype type: str + :param location: Required. Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, *, location: str, tags=None, **kwargs) -> None: + super(ComponentsResource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.location = location + self.tags = tags + + +class ApplicationInsightsComponent(ComponentsResource): + """An Application Insights component definition. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Azure resource Id + :vartype id: str + :ivar name: Azure resource name + :vartype name: str + :ivar type: Azure resource type + :vartype type: str + :param location: Required. Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + :param kind: Required. The kind of application that this component refers + to, used to customize UI. This value is a freeform string, values should + typically be one of the following: web, ios, other, store, java, phone. + :type kind: str + :ivar application_id: The unique ID of your application. This field + mirrors the 'Name' field and cannot be changed. + :vartype application_id: str + :ivar app_id: Application Insights Unique ID for your Application. + :vartype app_id: str + :param application_type: Required. Type of application being monitored. + Possible values include: 'web', 'other'. Default value: "web" . + :type application_type: str or + ~azure.mgmt.applicationinsights.v2018_05_01_preview.models.ApplicationType + :param flow_type: Used by the Application Insights system to determine + what kind of flow this component was created by. This is to be set to + 'Bluefield' when creating/updating a component via the REST API. Possible + values include: 'Bluefield'. Default value: "Bluefield" . + :type flow_type: str or + ~azure.mgmt.applicationinsights.v2018_05_01_preview.models.FlowType + :param request_source: Describes what tool created this Application + Insights component. Customers using this API should set this to the + default 'rest'. Possible values include: 'rest'. Default value: "rest" . + :type request_source: str or + ~azure.mgmt.applicationinsights.v2018_05_01_preview.models.RequestSource + :ivar instrumentation_key: Application Insights Instrumentation key. A + read-only value that applications can use to identify the destination for + all telemetry sent to Azure Application Insights. This value will be + supplied upon construction of each new Application Insights component. + :vartype instrumentation_key: str + :ivar creation_date: Creation Date for the Application Insights component, + in ISO 8601 format. + :vartype creation_date: datetime + :ivar tenant_id: Azure Tenant Id. + :vartype tenant_id: str + :param hockey_app_id: The unique application ID created when a new + application is added to HockeyApp, used for communications with HockeyApp. + :type hockey_app_id: str + :ivar hockey_app_token: Token used to authenticate communications with + between Application Insights and HockeyApp. + :vartype hockey_app_token: str + :ivar provisioning_state: Current state of this component: whether or not + is has been provisioned within the resource group it is defined. Users + cannot change this value but are able to read from it. Values will include + Succeeded, Deploying, Canceled, and Failed. + :vartype provisioning_state: str + :param sampling_percentage: Percentage of the data produced by the + application being monitored that is being sampled for Application Insights + telemetry. + :type sampling_percentage: float + :ivar connection_string: Application Insights component connection string. + :vartype connection_string: str + :param retention_in_days: Retention period in days. Default value: 90 . + :type retention_in_days: int + :param disable_ip_masking: Disable IP masking. + :type disable_ip_masking: bool + :param immediate_purge_data_on30_days: Purge data immediately after 30 + days. + :type immediate_purge_data_on30_days: bool + :ivar private_link_scoped_resources: List of linked private link scope + resources. + :vartype private_link_scoped_resources: + list[~azure.mgmt.applicationinsights.v2018_05_01_preview.models.PrivateLinkScopedResource] + :param public_network_access_for_ingestion: The network access type for + accessing Application Insights ingestion. Possible values include: + 'Enabled', 'Disabled'. Default value: "Enabled" . + :type public_network_access_for_ingestion: str or + ~azure.mgmt.applicationinsights.v2018_05_01_preview.models.PublicNetworkAccessType + :param public_network_access_for_query: The network access type for + accessing Application Insights query. Possible values include: 'Enabled', + 'Disabled'. Default value: "Enabled" . + :type public_network_access_for_query: str or + ~azure.mgmt.applicationinsights.v2018_05_01_preview.models.PublicNetworkAccessType + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + 'kind': {'required': True}, + 'application_id': {'readonly': True}, + 'app_id': {'readonly': True}, + 'application_type': {'required': True}, + 'instrumentation_key': {'readonly': True}, + 'creation_date': {'readonly': True}, + 'tenant_id': {'readonly': True}, + 'hockey_app_token': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'connection_string': {'readonly': True}, + 'private_link_scoped_resources': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'application_id': {'key': 'properties.ApplicationId', 'type': 'str'}, + 'app_id': {'key': 'properties.AppId', 'type': 'str'}, + 'application_type': {'key': 'properties.Application_Type', 'type': 'str'}, + 'flow_type': {'key': 'properties.Flow_Type', 'type': 'str'}, + 'request_source': {'key': 'properties.Request_Source', 'type': 'str'}, + 'instrumentation_key': {'key': 'properties.InstrumentationKey', 'type': 'str'}, + 'creation_date': {'key': 'properties.CreationDate', 'type': 'iso-8601'}, + 'tenant_id': {'key': 'properties.TenantId', 'type': 'str'}, + 'hockey_app_id': {'key': 'properties.HockeyAppId', 'type': 'str'}, + 'hockey_app_token': {'key': 'properties.HockeyAppToken', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'sampling_percentage': {'key': 'properties.SamplingPercentage', 'type': 'float'}, + 'connection_string': {'key': 'properties.ConnectionString', 'type': 'str'}, + 'retention_in_days': {'key': 'properties.RetentionInDays', 'type': 'int'}, + 'disable_ip_masking': {'key': 'properties.DisableIpMasking', 'type': 'bool'}, + 'immediate_purge_data_on30_days': {'key': 'properties.ImmediatePurgeDataOn30Days', 'type': 'bool'}, + 'private_link_scoped_resources': {'key': 'properties.PrivateLinkScopedResources', 'type': '[PrivateLinkScopedResource]'}, + 'public_network_access_for_ingestion': {'key': 'properties.publicNetworkAccessForIngestion', 'type': 'str'}, + 'public_network_access_for_query': {'key': 'properties.publicNetworkAccessForQuery', 'type': 'str'}, + } + + def __init__(self, *, location: str, kind: str, tags=None, application_type="web", flow_type="Bluefield", request_source="rest", hockey_app_id: str=None, sampling_percentage: float=None, retention_in_days: int=90, disable_ip_masking: bool=None, immediate_purge_data_on30_days: bool=None, public_network_access_for_ingestion="Enabled", public_network_access_for_query="Enabled", **kwargs) -> None: + super(ApplicationInsightsComponent, self).__init__(location=location, tags=tags, **kwargs) + self.kind = kind + self.application_id = None + self.app_id = None + self.application_type = application_type + self.flow_type = flow_type + self.request_source = request_source + self.instrumentation_key = None + self.creation_date = None + self.tenant_id = None + self.hockey_app_id = hockey_app_id + self.hockey_app_token = None + self.provisioning_state = None + self.sampling_percentage = sampling_percentage + self.connection_string = None + self.retention_in_days = retention_in_days + self.disable_ip_masking = disable_ip_masking + self.immediate_purge_data_on30_days = immediate_purge_data_on30_days + self.private_link_scoped_resources = None + self.public_network_access_for_ingestion = public_network_access_for_ingestion + self.public_network_access_for_query = public_network_access_for_query + + +class ApplicationInsightsComponentProactiveDetectionConfiguration(Model): + """A ProactiveDetection configuration definition. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Azure resource Id + :vartype id: str + :param name: Azure resource name + :type name: str + :ivar type: Azure resource type + :vartype type: str + :param location: Resource location + :type location: str + :ivar name1: The rule name + :vartype name1: str + :param enabled: A flag that indicates whether this rule is enabled by the + user + :type enabled: bool + :param send_emails_to_subscription_owners: A flag that indicated whether + notifications on this rule should be sent to subscription owners + :type send_emails_to_subscription_owners: bool + :param custom_emails: Custom email addresses for this rule notifications + :type custom_emails: list[str] + :ivar last_updated_time: The last time this rule was updated + :vartype last_updated_time: str + :param rule_definitions: Static definitions of the ProactiveDetection + configuration rule (same values for all components). + :type rule_definitions: + ~azure.mgmt.applicationinsights.v2018_05_01_preview.models.ApplicationInsightsComponentProactiveDetectionConfigurationPropertiesRuleDefinitions + """ + + _validation = { + 'id': {'readonly': True}, + 'type': {'readonly': True}, + 'name1': {'readonly': True}, + 'last_updated_time': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'name1': {'key': 'properties.Name', 'type': 'str'}, + 'enabled': {'key': 'properties.Enabled', 'type': 'bool'}, + 'send_emails_to_subscription_owners': {'key': 'properties.SendEmailsToSubscriptionOwners', 'type': 'bool'}, + 'custom_emails': {'key': 'properties.CustomEmails', 'type': '[str]'}, + 'last_updated_time': {'key': 'properties.LastUpdatedTime', 'type': 'str'}, + 'rule_definitions': {'key': 'properties.RuleDefinitions', 'type': 'ApplicationInsightsComponentProactiveDetectionConfigurationPropertiesRuleDefinitions'}, + } + + def __init__(self, *, name: str=None, location: str=None, enabled: bool=None, send_emails_to_subscription_owners: bool=None, custom_emails=None, rule_definitions=None, **kwargs) -> None: + super(ApplicationInsightsComponentProactiveDetectionConfiguration, self).__init__(**kwargs) + self.id = None + self.name = name + self.type = None + self.location = location + self.name1 = None + self.enabled = enabled + self.send_emails_to_subscription_owners = send_emails_to_subscription_owners + self.custom_emails = custom_emails + self.last_updated_time = None + self.rule_definitions = rule_definitions + + +class ApplicationInsightsComponentProactiveDetectionConfigurationPropertiesRuleDefinitions(Model): + """Static definitions of the ProactiveDetection configuration rule (same + values for all components). + + :param name: The rule name + :type name: str + :param display_name: The rule name as it is displayed in UI + :type display_name: str + :param description: The rule description + :type description: str + :param help_url: URL which displays additional info about the proactive + detection rule + :type help_url: str + :param is_hidden: A flag indicating whether the rule is hidden (from the + UI) + :type is_hidden: bool + :param is_enabled_by_default: A flag indicating whether the rule is + enabled by default + :type is_enabled_by_default: bool + :param is_in_preview: A flag indicating whether the rule is in preview + :type is_in_preview: bool + :param supports_email_notifications: A flag indicating whether email + notifications are supported for detections for this rule + :type supports_email_notifications: bool + """ + + _attribute_map = { + 'name': {'key': 'Name', 'type': 'str'}, + 'display_name': {'key': 'DisplayName', 'type': 'str'}, + 'description': {'key': 'Description', 'type': 'str'}, + 'help_url': {'key': 'HelpUrl', 'type': 'str'}, + 'is_hidden': {'key': 'IsHidden', 'type': 'bool'}, + 'is_enabled_by_default': {'key': 'IsEnabledByDefault', 'type': 'bool'}, + 'is_in_preview': {'key': 'IsInPreview', 'type': 'bool'}, + 'supports_email_notifications': {'key': 'SupportsEmailNotifications', 'type': 'bool'}, + } + + def __init__(self, *, name: str=None, display_name: str=None, description: str=None, help_url: str=None, is_hidden: bool=None, is_enabled_by_default: bool=None, is_in_preview: bool=None, supports_email_notifications: bool=None, **kwargs) -> None: + super(ApplicationInsightsComponentProactiveDetectionConfigurationPropertiesRuleDefinitions, self).__init__(**kwargs) + self.name = name + self.display_name = display_name + self.description = description + self.help_url = help_url + self.is_hidden = is_hidden + self.is_enabled_by_default = is_enabled_by_default + self.is_in_preview = is_in_preview + self.supports_email_notifications = supports_email_notifications + + +class CloudError(Model): + """CloudError. + """ + + _attribute_map = { + } + + +class ComponentPurgeBody(Model): + """Describes the body of a purge request for an App Insights component. + + All required parameters must be populated in order to send to Azure. + + :param table: Required. Table from which to purge data. + :type table: str + :param filters: Required. The set of columns and filters (queries) to run + over them to purge the resulting data. + :type filters: + list[~azure.mgmt.applicationinsights.v2018_05_01_preview.models.ComponentPurgeBodyFilters] + """ + + _validation = { + 'table': {'required': True}, + 'filters': {'required': True}, + } + + _attribute_map = { + 'table': {'key': 'table', 'type': 'str'}, + 'filters': {'key': 'filters', 'type': '[ComponentPurgeBodyFilters]'}, + } + + def __init__(self, *, table: str, filters, **kwargs) -> None: + super(ComponentPurgeBody, self).__init__(**kwargs) + self.table = table + self.filters = filters + + +class ComponentPurgeBodyFilters(Model): + """User-defined filters to return data which will be purged from the table. + + :param column: The column of the table over which the given query should + run + :type column: str + :param operator: A query operator to evaluate over the provided column and + value(s). Supported operators are ==, =~, in, in~, >, >=, <, <=, between, + and have the same behavior as they would in a KQL query. + :type operator: str + :param value: the value for the operator to function over. This can be a + number (e.g., > 100), a string (timestamp >= '2017-09-01') or array of + values. + :type value: object + :param key: When filtering over custom dimensions, this key will be used + as the name of the custom dimension. + :type key: str + """ + + _attribute_map = { + 'column': {'key': 'column', 'type': 'str'}, + 'operator': {'key': 'operator', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'object'}, + 'key': {'key': 'key', 'type': 'str'}, + } + + def __init__(self, *, column: str=None, operator: str=None, value=None, key: str=None, **kwargs) -> None: + super(ComponentPurgeBodyFilters, self).__init__(**kwargs) + self.column = column + self.operator = operator + self.value = value + self.key = key + + +class ComponentPurgeResponse(Model): + """Response containing operationId for a specific purge action. + + All required parameters must be populated in order to send to Azure. + + :param operation_id: Required. Id to use when querying for status for a + particular purge operation. + :type operation_id: str + """ + + _validation = { + 'operation_id': {'required': True}, + } + + _attribute_map = { + 'operation_id': {'key': 'operationId', 'type': 'str'}, + } + + def __init__(self, *, operation_id: str, **kwargs) -> None: + super(ComponentPurgeResponse, self).__init__(**kwargs) + self.operation_id = operation_id + + +class ComponentPurgeStatusResponse(Model): + """Response containing status for a specific purge operation. + + All required parameters must be populated in order to send to Azure. + + :param status: Required. Status of the operation represented by the + requested Id. Possible values include: 'pending', 'completed' + :type status: str or + ~azure.mgmt.applicationinsights.v2018_05_01_preview.models.PurgeState + """ + + _validation = { + 'status': {'required': True}, + } + + _attribute_map = { + 'status': {'key': 'status', 'type': 'str'}, + } + + def __init__(self, *, status, **kwargs) -> None: + super(ComponentPurgeStatusResponse, self).__init__(**kwargs) + self.status = status + + +class PrivateLinkScopedResource(Model): + """The private link scope resource reference. + + :param resource_id: The full resource Id of the private link scope + resource. + :type resource_id: str + :param scope_id: The private link scope unique Identifier. + :type scope_id: str + """ + + _attribute_map = { + 'resource_id': {'key': 'ResourceId', 'type': 'str'}, + 'scope_id': {'key': 'ScopeId', 'type': 'str'}, + } + + def __init__(self, *, resource_id: str=None, scope_id: str=None, **kwargs) -> None: + super(PrivateLinkScopedResource, self).__init__(**kwargs) + self.resource_id = resource_id + self.scope_id = scope_id + + +class TagsResource(Model): + """A container holding only the Tags for a resource, allowing the user to + update the tags on a WebTest instance. + + :param tags: Resource tags + :type tags: dict[str, str] + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, *, tags=None, **kwargs) -> None: + super(TagsResource, self).__init__(**kwargs) + self.tags = tags diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_05_01_preview/models/_paged_models.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_05_01_preview/models/_paged_models.py new file mode 100644 index 00000000000..5f0557dea71 --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_05_01_preview/models/_paged_models.py @@ -0,0 +1,27 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.paging import Paged + + +class ApplicationInsightsComponentPaged(Paged): + """ + A paging container for iterating over a list of :class:`ApplicationInsightsComponent ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ApplicationInsightsComponent]'} + } + + def __init__(self, *args, **kwargs): + + super(ApplicationInsightsComponentPaged, self).__init__(*args, **kwargs) diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_05_01_preview/operations/__init__.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_05_01_preview/operations/__init__.py new file mode 100644 index 00000000000..6ed05ddaf00 --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_05_01_preview/operations/__init__.py @@ -0,0 +1,18 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from ._proactive_detection_configurations_operations import ProactiveDetectionConfigurationsOperations +from ._components_operations import ComponentsOperations + +__all__ = [ + 'ProactiveDetectionConfigurationsOperations', + 'ComponentsOperations', +] diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_05_01_preview/operations/_components_operations.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_05_01_preview/operations/_components_operations.py new file mode 100644 index 00000000000..1b13e0be0ab --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_05_01_preview/operations/_components_operations.py @@ -0,0 +1,598 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class ComponentsOperations(object): + """ComponentsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2018-05-01-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-05-01-preview" + + self.config = config + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Gets a list of all Application Insights components within a + subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of ApplicationInsightsComponent + :rtype: + ~azure.mgmt.applicationinsights.v2018_05_01_preview.models.ApplicationInsightsComponentPaged[~azure.mgmt.applicationinsights.v2018_05_01_preview.models.ApplicationInsightsComponent] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.ApplicationInsightsComponentPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Insights/components'} + + def list_by_resource_group( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Gets a list of Application Insights components within a resource group. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of ApplicationInsightsComponent + :rtype: + ~azure.mgmt.applicationinsights.v2018_05_01_preview.models.ApplicationInsightsComponentPaged[~azure.mgmt.applicationinsights.v2018_05_01_preview.models.ApplicationInsightsComponent] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.ApplicationInsightsComponentPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components'} + + def delete( + self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): + """Deletes an Application Insights component. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param resource_name: The name of the Application Insights component + resource. + :type resource_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}'} + + def get( + self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): + """Returns an Application Insights component. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param resource_name: The name of the Application Insights component + resource. + :type resource_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ApplicationInsightsComponent or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.applicationinsights.v2018_05_01_preview.models.ApplicationInsightsComponent + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ApplicationInsightsComponent', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}'} + + def create_or_update( + self, resource_group_name, resource_name, insight_properties, custom_headers=None, raw=False, **operation_config): + """Creates (or updates) an Application Insights component. Note: You + cannot specify a different value for InstrumentationKey nor AppId in + the Put operation. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param resource_name: The name of the Application Insights component + resource. + :type resource_name: str + :param insight_properties: Properties that need to be specified to + create an Application Insights component. + :type insight_properties: + ~azure.mgmt.applicationinsights.v2018_05_01_preview.models.ApplicationInsightsComponent + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ApplicationInsightsComponent or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.applicationinsights.v2018_05_01_preview.models.ApplicationInsightsComponent + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(insight_properties, 'ApplicationInsightsComponent') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('ApplicationInsightsComponent', response) + if response.status_code == 201: + deserialized = self._deserialize('ApplicationInsightsComponent', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}'} + + def update_tags( + self, resource_group_name, resource_name, tags=None, custom_headers=None, raw=False, **operation_config): + """Updates an existing component's tags. To update other fields use the + CreateOrUpdate method. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param resource_name: The name of the Application Insights component + resource. + :type resource_name: str + :param tags: Resource tags + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ApplicationInsightsComponent or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.applicationinsights.v2018_05_01_preview.models.ApplicationInsightsComponent + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + component_tags = models.TagsResource(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(component_tags, 'TagsResource') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('ApplicationInsightsComponent', response) + if response.status_code == 201: + deserialized = self._deserialize('ApplicationInsightsComponent', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}'} + + def purge( + self, resource_group_name, resource_name, table, filters, custom_headers=None, raw=False, **operation_config): + """Purges data in an Application Insights component by a set of + user-defined filters. + In order to manage system resources, purge requests are throttled at 50 + requests per hour. You should batch the execution of purge requests by + sending a single command whose predicate includes all user identities + that require purging. Use the in operator to specify multiple + identities. You should run the query prior to using for a purge request + to verify that the results are expected. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param resource_name: The name of the Application Insights component + resource. + :type resource_name: str + :param table: Table from which to purge data. + :type table: str + :param filters: The set of columns and filters (queries) to run over + them to purge the resulting data. + :type filters: + list[~azure.mgmt.applicationinsights.v2018_05_01_preview.models.ComponentPurgeBodyFilters] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ComponentPurgeResponse or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.applicationinsights.v2018_05_01_preview.models.ComponentPurgeResponse + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + body = models.ComponentPurgeBody(table=table, filters=filters) + + # Construct URL + url = self.purge.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(body, 'ComponentPurgeBody') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + if response.status_code == 202: + deserialized = self._deserialize('ComponentPurgeResponse', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + purge.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/purge'} + + def get_purge_status( + self, resource_group_name, resource_name, purge_id, custom_headers=None, raw=False, **operation_config): + """Get status for an ongoing purge operation. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param resource_name: The name of the Application Insights component + resource. + :type resource_name: str + :param purge_id: In a purge status request, this is the Id of the + operation the status of which is returned. + :type purge_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 + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ComponentPurgeStatusResponse or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.applicationinsights.v2018_05_01_preview.models.ComponentPurgeStatusResponse + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_purge_status.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str'), + 'purgeId': self._serialize.url("purge_id", purge_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ComponentPurgeStatusResponse', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_purge_status.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/operations/{purgeId}'} diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_05_01_preview/operations/_proactive_detection_configurations_operations.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_05_01_preview/operations/_proactive_detection_configurations_operations.py new file mode 100644 index 00000000000..1c55d15e5dc --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_05_01_preview/operations/_proactive_detection_configurations_operations.py @@ -0,0 +1,251 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class ProactiveDetectionConfigurationsOperations(object): + """ProactiveDetectionConfigurationsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2018-05-01-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-05-01-preview" + + self.config = config + + def list( + self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): + """Gets a list of ProactiveDetection configurations of an Application + Insights component. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param resource_name: The name of the Application Insights component + resource. + :type resource_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: list or ClientRawResponse if raw=true + :rtype: + list[~azure.mgmt.applicationinsights.v2018_05_01_preview.models.ApplicationInsightsComponentProactiveDetectionConfiguration] + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('[ApplicationInsightsComponentProactiveDetectionConfiguration]', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/ProactiveDetectionConfigs'} + + def get( + self, resource_group_name, resource_name, configuration_id, custom_headers=None, raw=False, **operation_config): + """Get the ProactiveDetection configuration for this configuration id. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param resource_name: The name of the Application Insights component + resource. + :type resource_name: str + :param configuration_id: The ProactiveDetection configuration ID. This + is unique within a Application Insights component. + :type configuration_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 + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ApplicationInsightsComponentProactiveDetectionConfiguration + or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.applicationinsights.v2018_05_01_preview.models.ApplicationInsightsComponentProactiveDetectionConfiguration + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str'), + 'ConfigurationId': self._serialize.url("configuration_id", configuration_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ApplicationInsightsComponentProactiveDetectionConfiguration', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/ProactiveDetectionConfigs/{ConfigurationId}'} + + def update( + self, resource_group_name, resource_name, configuration_id, proactive_detection_properties, custom_headers=None, raw=False, **operation_config): + """Update the ProactiveDetection configuration for this configuration id. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param resource_name: The name of the Application Insights component + resource. + :type resource_name: str + :param configuration_id: The ProactiveDetection configuration ID. This + is unique within a Application Insights component. + :type configuration_id: str + :param proactive_detection_properties: Properties that need to be + specified to update the ProactiveDetection configuration. + :type proactive_detection_properties: + ~azure.mgmt.applicationinsights.v2018_05_01_preview.models.ApplicationInsightsComponentProactiveDetectionConfiguration + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ApplicationInsightsComponentProactiveDetectionConfiguration + or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.applicationinsights.v2018_05_01_preview.models.ApplicationInsightsComponentProactiveDetectionConfiguration + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str'), + 'ConfigurationId': self._serialize.url("configuration_id", configuration_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(proactive_detection_properties, 'ApplicationInsightsComponentProactiveDetectionConfiguration') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ApplicationInsightsComponentProactiveDetectionConfiguration', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/ProactiveDetectionConfigs/{ConfigurationId}'} diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_05_01_preview/version.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_05_01_preview/version.py new file mode 100644 index 00000000000..7921c843fb5 --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_05_01_preview/version.py @@ -0,0 +1,13 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +VERSION = "2018-05-01-preview" + diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_06_17_preview/__init__.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_06_17_preview/__init__.py new file mode 100644 index 00000000000..298512941d9 --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_06_17_preview/__init__.py @@ -0,0 +1,19 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from ._configuration import ApplicationInsightsManagementClientConfiguration +from ._application_insights_management_client import ApplicationInsightsManagementClient +__all__ = ['ApplicationInsightsManagementClient', 'ApplicationInsightsManagementClientConfiguration'] + +from .version import VERSION + +__version__ = VERSION + diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_06_17_preview/_application_insights_management_client.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_06_17_preview/_application_insights_management_client.py new file mode 100644 index 00000000000..8cb035be52a --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_06_17_preview/_application_insights_management_client.py @@ -0,0 +1,49 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.service_client import SDKClient +from msrest import Serializer, Deserializer + +from ._configuration import ApplicationInsightsManagementClientConfiguration +from .operations import WorkbooksOperations +from . import models + + +class ApplicationInsightsManagementClient(SDKClient): + """Composite Swagger for Application Insights Management Client + + :ivar config: Configuration for client. + :vartype config: ApplicationInsightsManagementClientConfiguration + + :ivar workbooks: Workbooks operations + :vartype workbooks: azure.mgmt.applicationinsights.v2018_06_17_preview.operations.WorkbooksOperations + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=None): + + self.config = ApplicationInsightsManagementClientConfiguration(credentials, subscription_id, base_url) + super(ApplicationInsightsManagementClient, self).__init__(self.config.credentials, self.config) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self.api_version = '2018-06-17-preview' + self._serialize = Serializer(client_models) + self._deserialize = Deserializer(client_models) + + self.workbooks = WorkbooksOperations( + self._client, self.config, self._serialize, self._deserialize) diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_06_17_preview/_configuration.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_06_17_preview/_configuration.py new file mode 100644 index 00000000000..6c855295a4b --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_06_17_preview/_configuration.py @@ -0,0 +1,48 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +from msrestazure import AzureConfiguration + +from .version import VERSION + + +class ApplicationInsightsManagementClientConfiguration(AzureConfiguration): + """Configuration for ApplicationInsightsManagementClient + Note that all parameters used to create this instance are saved as instance + attributes. + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=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 base_url: + base_url = 'https://management.azure.com' + + super(ApplicationInsightsManagementClientConfiguration, self).__init__(base_url) + + # Starting Autorest.Python 4.0.64, make connection pool activated by default + self.keep_alive = True + + self.add_user_agent('azure-mgmt-applicationinsights/{}'.format(VERSION)) + self.add_user_agent('Azure-SDK-For-Python') + + self.credentials = credentials + self.subscription_id = subscription_id diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_06_17_preview/models/__init__.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_06_17_preview/models/__init__.py new file mode 100644 index 00000000000..90b398780bc --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_06_17_preview/models/__init__.py @@ -0,0 +1,39 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +try: + from ._models_py3 import ErrorFieldContract + from ._models_py3 import Resource + from ._models_py3 import Workbook + from ._models_py3 import WorkbookError, WorkbookErrorException + from ._models_py3 import WorkbookUpdateParameters +except (SyntaxError, ImportError): + from ._models import ErrorFieldContract + from ._models import Resource + from ._models import Workbook + from ._models import WorkbookError, WorkbookErrorException + from ._models import WorkbookUpdateParameters +from ._paged_models import WorkbookPaged +from ._application_insights_management_client_enums import ( + SharedTypeKind, + CategoryType, +) + +__all__ = [ + 'ErrorFieldContract', + 'Resource', + 'Workbook', + 'WorkbookError', 'WorkbookErrorException', + 'WorkbookUpdateParameters', + 'WorkbookPaged', + 'SharedTypeKind', + 'CategoryType', +] diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_06_17_preview/models/_application_insights_management_client_enums.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_06_17_preview/models/_application_insights_management_client_enums.py new file mode 100644 index 00000000000..9543a1c3d43 --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_06_17_preview/models/_application_insights_management_client_enums.py @@ -0,0 +1,26 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from enum import Enum + + +class SharedTypeKind(str, Enum): + + user = "user" + shared = "shared" + + +class CategoryType(str, Enum): + + workbook = "workbook" + tsg = "TSG" + performance = "performance" + retention = "retention" diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_06_17_preview/models/_models.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_06_17_preview/models/_models.py new file mode 100644 index 00000000000..a1c45697859 --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_06_17_preview/models/_models.py @@ -0,0 +1,261 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model +from msrest.exceptions import HttpOperationError + + +class CloudError(Model): + """CloudError. + """ + + _attribute_map = { + } + + +class ErrorFieldContract(Model): + """Error Field contract. + + :param code: Property level error code. + :type code: str + :param message: Human-readable representation of property-level error. + :type message: str + :param target: Property name. + :type target: str + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ErrorFieldContract, self).__init__(**kwargs) + self.code = kwargs.get('code', None) + self.message = kwargs.get('message', None) + self.target = kwargs.get('target', None) + + +class Resource(Model): + """An azure resource object. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Azure resource Id + :vartype id: str + :ivar name: Azure resource name. This is GUID value. The display name + should be assigned within properties field. + :vartype name: str + :ivar type: Azure resource type + :vartype type: str + :param kind: The kind of workbook. Choices are user and shared. Possible + values include: 'user', 'shared' + :type kind: str or + ~azure.mgmt.applicationinsights.v2018_06_17_preview.models.SharedTypeKind + :param location: Required. Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, **kwargs): + super(Resource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.kind = kwargs.get('kind', None) + self.location = kwargs.get('location', None) + self.tags = kwargs.get('tags', None) + + +class Workbook(Resource): + """An Application Insights workbook definition. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Azure resource Id + :vartype id: str + :ivar name: Azure resource name. This is GUID value. The display name + should be assigned within properties field. + :vartype name: str + :ivar type: Azure resource type + :vartype type: str + :param kind: The kind of workbook. Choices are user and shared. Possible + values include: 'user', 'shared' + :type kind: str or + ~azure.mgmt.applicationinsights.v2018_06_17_preview.models.SharedTypeKind + :param location: Required. Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + :param display_name: Required. The user-defined name (display name) of the + workbook. + :type display_name: str + :param serialized_data: Required. Configuration of this particular + workbook. Configuration data is a string containing valid JSON + :type serialized_data: str + :ivar time_modified: Date and time in UTC of the last modification that + was made to this workbook definition. + :vartype time_modified: str + :param category: Required. Workbook category, as defined by the user at + creation time. + :type category: str + :param version: Workbook version + :type version: str + :param workbook_tags: A list of 0 or more tags that are associated with + this workbook definition + :type workbook_tags: list[str] + :param user_id: Required. Unique user id of the specific user that owns + this workbook. + :type user_id: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + 'display_name': {'required': True}, + 'serialized_data': {'required': True}, + 'time_modified': {'readonly': True}, + 'category': {'required': True}, + 'user_id': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'display_name': {'key': 'properties.displayName', 'type': 'str'}, + 'serialized_data': {'key': 'properties.serializedData', 'type': 'str'}, + 'time_modified': {'key': 'properties.timeModified', 'type': 'str'}, + 'category': {'key': 'properties.category', 'type': 'str'}, + 'version': {'key': 'properties.version', 'type': 'str'}, + 'workbook_tags': {'key': 'properties.tags', 'type': '[str]'}, + 'user_id': {'key': 'properties.userId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Workbook, self).__init__(**kwargs) + self.display_name = kwargs.get('display_name', None) + self.serialized_data = kwargs.get('serialized_data', None) + self.time_modified = None + self.category = kwargs.get('category', None) + self.version = kwargs.get('version', None) + self.workbook_tags = kwargs.get('workbook_tags', None) + self.user_id = kwargs.get('user_id', None) + + +class WorkbookError(Model): + """Error message body that will indicate why the operation failed. + + :param code: Service-defined error code. This code serves as a sub-status + for the HTTP error code specified in the response. + :type code: str + :param message: Human-readable representation of the error. + :type message: str + :param details: The list of invalid fields send in request, in case of + validation error. + :type details: + list[~azure.mgmt.applicationinsights.v2018_06_17_preview.models.ErrorFieldContract] + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[ErrorFieldContract]'}, + } + + def __init__(self, **kwargs): + super(WorkbookError, self).__init__(**kwargs) + self.code = kwargs.get('code', None) + self.message = kwargs.get('message', None) + self.details = kwargs.get('details', None) + + +class WorkbookErrorException(HttpOperationError): + """Server responsed with exception of type: 'WorkbookError'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(WorkbookErrorException, self).__init__(deserialize, response, 'WorkbookError', *args) + + +class WorkbookUpdateParameters(Model): + """The parameters that can be provided when updating workbook properties + properties. + + :param kind: The kind of workbook. Choices are user and shared. Possible + values include: 'user', 'shared' + :type kind: str or + ~azure.mgmt.applicationinsights.v2018_06_17_preview.models.SharedTypeKind + :param tags: Resource tags + :type tags: dict[str, str] + :param display_name: The user-defined name (display name) of the workbook. + :type display_name: str + :param serialized_data: Configuration of this particular workbook. + Configuration data is a string containing valid JSON + :type serialized_data: str + :param category: Workbook category, as defined by the user at creation + time. + :type category: str + :param tags1: A list of 0 or more tags that are associated with this + workbook definition + :type tags1: list[str] + """ + + _attribute_map = { + 'kind': {'key': 'kind', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'display_name': {'key': 'properties.displayName', 'type': 'str'}, + 'serialized_data': {'key': 'properties.serializedData', 'type': 'str'}, + 'category': {'key': 'properties.category', 'type': 'str'}, + 'tags1': {'key': 'properties.tags', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(WorkbookUpdateParameters, self).__init__(**kwargs) + self.kind = kwargs.get('kind', None) + self.tags = kwargs.get('tags', None) + self.display_name = kwargs.get('display_name', None) + self.serialized_data = kwargs.get('serialized_data', None) + self.category = kwargs.get('category', None) + self.tags1 = kwargs.get('tags1', None) diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_06_17_preview/models/_models_py3.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_06_17_preview/models/_models_py3.py new file mode 100644 index 00000000000..59055e5e800 --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_06_17_preview/models/_models_py3.py @@ -0,0 +1,261 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model +from msrest.exceptions import HttpOperationError + + +class CloudError(Model): + """CloudError. + """ + + _attribute_map = { + } + + +class ErrorFieldContract(Model): + """Error Field contract. + + :param code: Property level error code. + :type code: str + :param message: Human-readable representation of property-level error. + :type message: str + :param target: Property name. + :type target: str + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + } + + def __init__(self, *, code: str=None, message: str=None, target: str=None, **kwargs) -> None: + super(ErrorFieldContract, self).__init__(**kwargs) + self.code = code + self.message = message + self.target = target + + +class Resource(Model): + """An azure resource object. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Azure resource Id + :vartype id: str + :ivar name: Azure resource name. This is GUID value. The display name + should be assigned within properties field. + :vartype name: str + :ivar type: Azure resource type + :vartype type: str + :param kind: The kind of workbook. Choices are user and shared. Possible + values include: 'user', 'shared' + :type kind: str or + ~azure.mgmt.applicationinsights.v2018_06_17_preview.models.SharedTypeKind + :param location: Required. Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, *, location: str, kind=None, tags=None, **kwargs) -> None: + super(Resource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.kind = kind + self.location = location + self.tags = tags + + +class Workbook(Resource): + """An Application Insights workbook definition. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Azure resource Id + :vartype id: str + :ivar name: Azure resource name. This is GUID value. The display name + should be assigned within properties field. + :vartype name: str + :ivar type: Azure resource type + :vartype type: str + :param kind: The kind of workbook. Choices are user and shared. Possible + values include: 'user', 'shared' + :type kind: str or + ~azure.mgmt.applicationinsights.v2018_06_17_preview.models.SharedTypeKind + :param location: Required. Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + :param display_name: Required. The user-defined name (display name) of the + workbook. + :type display_name: str + :param serialized_data: Required. Configuration of this particular + workbook. Configuration data is a string containing valid JSON + :type serialized_data: str + :ivar time_modified: Date and time in UTC of the last modification that + was made to this workbook definition. + :vartype time_modified: str + :param category: Required. Workbook category, as defined by the user at + creation time. + :type category: str + :param version: Workbook version + :type version: str + :param workbook_tags: A list of 0 or more tags that are associated with + this workbook definition + :type workbook_tags: list[str] + :param user_id: Required. Unique user id of the specific user that owns + this workbook. + :type user_id: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + 'display_name': {'required': True}, + 'serialized_data': {'required': True}, + 'time_modified': {'readonly': True}, + 'category': {'required': True}, + 'user_id': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'display_name': {'key': 'properties.displayName', 'type': 'str'}, + 'serialized_data': {'key': 'properties.serializedData', 'type': 'str'}, + 'time_modified': {'key': 'properties.timeModified', 'type': 'str'}, + 'category': {'key': 'properties.category', 'type': 'str'}, + 'version': {'key': 'properties.version', 'type': 'str'}, + 'workbook_tags': {'key': 'properties.tags', 'type': '[str]'}, + 'user_id': {'key': 'properties.userId', 'type': 'str'}, + } + + def __init__(self, *, location: str, display_name: str, serialized_data: str, category: str, user_id: str, kind=None, tags=None, version: str=None, workbook_tags=None, **kwargs) -> None: + super(Workbook, self).__init__(kind=kind, location=location, tags=tags, **kwargs) + self.display_name = display_name + self.serialized_data = serialized_data + self.time_modified = None + self.category = category + self.version = version + self.workbook_tags = workbook_tags + self.user_id = user_id + + +class WorkbookError(Model): + """Error message body that will indicate why the operation failed. + + :param code: Service-defined error code. This code serves as a sub-status + for the HTTP error code specified in the response. + :type code: str + :param message: Human-readable representation of the error. + :type message: str + :param details: The list of invalid fields send in request, in case of + validation error. + :type details: + list[~azure.mgmt.applicationinsights.v2018_06_17_preview.models.ErrorFieldContract] + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[ErrorFieldContract]'}, + } + + def __init__(self, *, code: str=None, message: str=None, details=None, **kwargs) -> None: + super(WorkbookError, self).__init__(**kwargs) + self.code = code + self.message = message + self.details = details + + +class WorkbookErrorException(HttpOperationError): + """Server responsed with exception of type: 'WorkbookError'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(WorkbookErrorException, self).__init__(deserialize, response, 'WorkbookError', *args) + + +class WorkbookUpdateParameters(Model): + """The parameters that can be provided when updating workbook properties + properties. + + :param kind: The kind of workbook. Choices are user and shared. Possible + values include: 'user', 'shared' + :type kind: str or + ~azure.mgmt.applicationinsights.v2018_06_17_preview.models.SharedTypeKind + :param tags: Resource tags + :type tags: dict[str, str] + :param display_name: The user-defined name (display name) of the workbook. + :type display_name: str + :param serialized_data: Configuration of this particular workbook. + Configuration data is a string containing valid JSON + :type serialized_data: str + :param category: Workbook category, as defined by the user at creation + time. + :type category: str + :param tags1: A list of 0 or more tags that are associated with this + workbook definition + :type tags1: list[str] + """ + + _attribute_map = { + 'kind': {'key': 'kind', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'display_name': {'key': 'properties.displayName', 'type': 'str'}, + 'serialized_data': {'key': 'properties.serializedData', 'type': 'str'}, + 'category': {'key': 'properties.category', 'type': 'str'}, + 'tags1': {'key': 'properties.tags', 'type': '[str]'}, + } + + def __init__(self, *, kind=None, tags=None, display_name: str=None, serialized_data: str=None, category: str=None, tags1=None, **kwargs) -> None: + super(WorkbookUpdateParameters, self).__init__(**kwargs) + self.kind = kind + self.tags = tags + self.display_name = display_name + self.serialized_data = serialized_data + self.category = category + self.tags1 = tags1 diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_06_17_preview/models/_paged_models.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_06_17_preview/models/_paged_models.py new file mode 100644 index 00000000000..e09ec5de4fb --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_06_17_preview/models/_paged_models.py @@ -0,0 +1,27 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.paging import Paged + + +class WorkbookPaged(Paged): + """ + A paging container for iterating over a list of :class:`Workbook ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[Workbook]'} + } + + def __init__(self, *args, **kwargs): + + super(WorkbookPaged, self).__init__(*args, **kwargs) diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_06_17_preview/operations/__init__.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_06_17_preview/operations/__init__.py new file mode 100644 index 00000000000..fde86e919a6 --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_06_17_preview/operations/__init__.py @@ -0,0 +1,16 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from ._workbooks_operations import WorkbooksOperations + +__all__ = [ + 'WorkbooksOperations', +] diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_06_17_preview/operations/_workbooks_operations.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_06_17_preview/operations/_workbooks_operations.py new file mode 100644 index 00000000000..18e678e0603 --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_06_17_preview/operations/_workbooks_operations.py @@ -0,0 +1,400 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse + +from .. import models + + +class WorkbooksOperations(object): + """WorkbooksOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2018-06-17-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-06-17-preview" + + self.config = config + + def list_by_resource_group( + self, resource_group_name, category, source_id, tags=None, can_fetch_content=None, custom_headers=None, raw=False, **operation_config): + """Get all Workbooks defined within a specified resource group and + category. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param category: Category of workbook to return. Possible values + include: 'workbook', 'TSG', 'performance', 'retention' + :type category: str or + ~azure.mgmt.applicationinsights.v2018_06_17_preview.models.CategoryType + :param source_id: Azure Resource Id that will fetch all related + workbooks. + :type source_id: str + :param tags: Tags presents on each workbook returned. + :type tags: list[str] + :param can_fetch_content: Flag indicating whether or not to return the + full content for each applicable workbook. If false, only return + summary content for workbooks. + :type can_fetch_content: bool + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of Workbook + :rtype: + ~azure.mgmt.applicationinsights.v2018_06_17_preview.models.WorkbookPaged[~azure.mgmt.applicationinsights.v2018_06_17_preview.models.Workbook] + :raises: + :class:`WorkbookErrorException` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['category'] = self._serialize.query("category", category, 'str') + if tags is not None: + query_parameters['tags'] = self._serialize.query("tags", tags, '[str]', div=',') + query_parameters['sourceId'] = self._serialize.query("source_id", source_id, 'str') + if can_fetch_content is not None: + query_parameters['canFetchContent'] = self._serialize.query("can_fetch_content", can_fetch_content, 'bool') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.WorkbookErrorException(self._deserialize, response) + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.WorkbookPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroup/{resourceGroupName}/providers/microsoft.insights/workbooks'} + + def get( + self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): + """Get a single workbook by its resourceName. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param resource_name: The name of the Application Insights component + resource. + :type resource_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: Workbook or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.applicationinsights.v2018_06_17_preview.models.Workbook or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`WorkbookErrorException` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.WorkbookErrorException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('Workbook', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroup/{resourceGroupName}/providers/microsoft.insights/workbooks/{resourceName}'} + + def delete( + self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): + """Delete a workbook. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param resource_name: The name of the Application Insights component + resource. + :type resource_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`WorkbookErrorException` + """ + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [201, 204]: + raise models.WorkbookErrorException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroup/{resourceGroupName}/providers/microsoft.insights/workbooks/{resourceName}'} + + def create_or_update( + self, resource_group_name, resource_name, source_id, workbook_properties, custom_headers=None, raw=False, **operation_config): + """Create a new workbook. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param resource_name: The name of the Application Insights component + resource. + :type resource_name: str + :param source_id: Azure Resource Id that will fetch all related + workbooks. + :type source_id: str + :param workbook_properties: Properties that need to be specified to + create a new workbook. + :type workbook_properties: + ~azure.mgmt.applicationinsights.v2018_06_17_preview.models.Workbook + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: Workbook or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.applicationinsights.v2018_06_17_preview.models.Workbook or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`WorkbookErrorException` + """ + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['sourceId'] = self._serialize.query("source_id", source_id, 'str') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(workbook_properties, 'Workbook') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + raise models.WorkbookErrorException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('Workbook', response) + if response.status_code == 201: + deserialized = self._deserialize('Workbook', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroup/{resourceGroupName}/providers/microsoft.insights/workbooks/{resourceName}'} + + def update( + self, resource_group_name, resource_name, source_id, workbook_update_parameters=None, custom_headers=None, raw=False, **operation_config): + """Updates a workbook that has already been added. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param resource_name: The name of the Application Insights component + resource. + :type resource_name: str + :param source_id: Azure Resource Id that will fetch all related + workbooks. + :type source_id: str + :param workbook_update_parameters: Properties that need to be + specified to create a new workbook. + :type workbook_update_parameters: + ~azure.mgmt.applicationinsights.v2018_06_17_preview.models.WorkbookUpdateParameters + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: Workbook or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.applicationinsights.v2018_06_17_preview.models.Workbook or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`WorkbookErrorException` + """ + # Construct URL + url = self.update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['sourceId'] = self._serialize.query("source_id", source_id, 'str') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 + if workbook_update_parameters is not None: + body_content = self._serialize.body(workbook_update_parameters, 'WorkbookUpdateParameters') + else: + body_content = None + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.WorkbookErrorException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('Workbook', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroup/{resourceGroupName}/providers/microsoft.insights/workbooks/{resourceName}'} diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_06_17_preview/version.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_06_17_preview/version.py new file mode 100644 index 00000000000..a3fe5c0e22e --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_06_17_preview/version.py @@ -0,0 +1,13 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +VERSION = "2018-06-17-preview" + diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2019_09_01_preview/__init__.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2019_09_01_preview/__init__.py new file mode 100644 index 00000000000..298512941d9 --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2019_09_01_preview/__init__.py @@ -0,0 +1,19 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from ._configuration import ApplicationInsightsManagementClientConfiguration +from ._application_insights_management_client import ApplicationInsightsManagementClient +__all__ = ['ApplicationInsightsManagementClient', 'ApplicationInsightsManagementClientConfiguration'] + +from .version import VERSION + +__version__ = VERSION + diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2019_09_01_preview/_application_insights_management_client.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2019_09_01_preview/_application_insights_management_client.py new file mode 100644 index 00000000000..97b6838e03d --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2019_09_01_preview/_application_insights_management_client.py @@ -0,0 +1,54 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.service_client import SDKClient +from msrest import Serializer, Deserializer + +from ._configuration import ApplicationInsightsManagementClientConfiguration +from .operations import QueriesOperations +from .operations import QueryPacksOperations +from . import models + + +class ApplicationInsightsManagementClient(SDKClient): + """Composite Swagger for Application Insights Management Client + + :ivar config: Configuration for client. + :vartype config: ApplicationInsightsManagementClientConfiguration + + :ivar queries: Queries operations + :vartype queries: azure.mgmt.applicationinsights.v2019_09_01_preview.operations.QueriesOperations + :ivar query_packs: QueryPacks operations + :vartype query_packs: azure.mgmt.applicationinsights.v2019_09_01_preview.operations.QueryPacksOperations + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=None): + + self.config = ApplicationInsightsManagementClientConfiguration(credentials, subscription_id, base_url) + super(ApplicationInsightsManagementClient, self).__init__(self.config.credentials, self.config) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self.api_version = '2019-09-01-preview' + self._serialize = Serializer(client_models) + self._deserialize = Deserializer(client_models) + + self.queries = QueriesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.query_packs = QueryPacksOperations( + self._client, self.config, self._serialize, self._deserialize) diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2019_09_01_preview/_configuration.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2019_09_01_preview/_configuration.py new file mode 100644 index 00000000000..6c855295a4b --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2019_09_01_preview/_configuration.py @@ -0,0 +1,48 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +from msrestazure import AzureConfiguration + +from .version import VERSION + + +class ApplicationInsightsManagementClientConfiguration(AzureConfiguration): + """Configuration for ApplicationInsightsManagementClient + Note that all parameters used to create this instance are saved as instance + attributes. + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=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 base_url: + base_url = 'https://management.azure.com' + + super(ApplicationInsightsManagementClientConfiguration, self).__init__(base_url) + + # Starting Autorest.Python 4.0.64, make connection pool activated by default + self.keep_alive = True + + self.add_user_agent('azure-mgmt-applicationinsights/{}'.format(VERSION)) + self.add_user_agent('Azure-SDK-For-Python') + + self.credentials = credentials + self.subscription_id = subscription_id diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2019_09_01_preview/models/__init__.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2019_09_01_preview/models/__init__.py new file mode 100644 index 00000000000..1295c33096a --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2019_09_01_preview/models/__init__.py @@ -0,0 +1,41 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +try: + from ._models_py3 import AzureResourceProperties + from ._models_py3 import ErrorResponse, ErrorResponseException + from ._models_py3 import LogAnalyticsQueryPack + from ._models_py3 import LogAnalyticsQueryPackQuery + from ._models_py3 import LogAnalyticsQueryPackQuerySearchProperties + from ._models_py3 import QueryPacksResource + from ._models_py3 import TagsResource +except (SyntaxError, ImportError): + from ._models import AzureResourceProperties + from ._models import ErrorResponse, ErrorResponseException + from ._models import LogAnalyticsQueryPack + from ._models import LogAnalyticsQueryPackQuery + from ._models import LogAnalyticsQueryPackQuerySearchProperties + from ._models import QueryPacksResource + from ._models import TagsResource +from ._paged_models import LogAnalyticsQueryPackPaged +from ._paged_models import LogAnalyticsQueryPackQueryPaged + +__all__ = [ + 'AzureResourceProperties', + 'ErrorResponse', 'ErrorResponseException', + 'LogAnalyticsQueryPack', + 'LogAnalyticsQueryPackQuery', + 'LogAnalyticsQueryPackQuerySearchProperties', + 'QueryPacksResource', + 'TagsResource', + 'LogAnalyticsQueryPackQueryPaged', + 'LogAnalyticsQueryPackPaged', +] diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2019_09_01_preview/models/_models.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2019_09_01_preview/models/_models.py new file mode 100644 index 00000000000..411eceadf4d --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2019_09_01_preview/models/_models.py @@ -0,0 +1,322 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model +from msrest.exceptions import HttpOperationError + + +class AzureResourceProperties(Model): + """An Azure resource QueryPack-Query object. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Azure resource Id + :vartype id: str + :ivar name: Azure resource name + :vartype name: str + :ivar type: Azure resource type + :vartype type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AzureResourceProperties, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + + +class CloudError(Model): + """CloudError. + """ + + _attribute_map = { + } + + +class ErrorResponse(Model): + """Describe the format of an Error response. + + :param code: Error code + :type code: str + :param message: Error message indicating why the operation failed. + :type message: str + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ErrorResponse, self).__init__(**kwargs) + self.code = kwargs.get('code', None) + self.message = kwargs.get('message', None) + + +class ErrorResponseException(HttpOperationError): + """Server responsed with exception of type: 'ErrorResponse'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(ErrorResponseException, self).__init__(deserialize, response, 'ErrorResponse', *args) + + +class QueryPacksResource(Model): + """An azure resource object. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Azure resource Id + :vartype id: str + :ivar name: Azure resource name + :vartype name: str + :ivar type: Azure resource type + :vartype type: str + :param location: Required. Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, **kwargs): + super(QueryPacksResource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.location = kwargs.get('location', None) + self.tags = kwargs.get('tags', None) + + +class LogAnalyticsQueryPack(QueryPacksResource): + """An Log Analytics QueryPack definition. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Azure resource Id + :vartype id: str + :ivar name: Azure resource name + :vartype name: str + :ivar type: Azure resource type + :vartype type: str + :param location: Required. Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + :ivar query_pack_id: The unique ID of your application. This field cannot + be changed. + :vartype query_pack_id: str + :ivar time_created: Creation Date for the Log Analytics QueryPack, in ISO + 8601 format. + :vartype time_created: datetime + :ivar time_modified: Last modified date of the Log Analytics QueryPack, in + ISO 8601 format. + :vartype time_modified: datetime + :ivar provisioning_state: Current state of this QueryPack: whether or not + is has been provisioned within the resource group it is defined. Users + cannot change this value but are able to read from it. Values will include + Succeeded, Deploying, Canceled, and Failed. + :vartype provisioning_state: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + 'query_pack_id': {'readonly': True}, + 'time_created': {'readonly': True}, + 'time_modified': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'query_pack_id': {'key': 'properties.queryPackId', 'type': 'str'}, + 'time_created': {'key': 'properties.timeCreated', 'type': 'iso-8601'}, + 'time_modified': {'key': 'properties.timeModified', 'type': 'iso-8601'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(LogAnalyticsQueryPack, self).__init__(**kwargs) + self.query_pack_id = None + self.time_created = None + self.time_modified = None + self.provisioning_state = None + + +class LogAnalyticsQueryPackQuery(AzureResourceProperties): + """A Log Analytics QueryPack-Query definition. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Azure resource Id + :vartype id: str + :ivar name: Azure resource name + :vartype name: str + :ivar type: Azure resource type + :vartype type: str + :ivar query_id: The unique ID of your application. This field cannot be + changed. + :vartype query_id: str + :param display_name: Required. Unique display name for your query within + the Query Pack. + :type display_name: str + :ivar time_created: Creation Date for the Log Analytics Query, in ISO 8601 + format. + :vartype time_created: datetime + :ivar time_modified: Last modified date of the Log Analytics Query, in ISO + 8601 format. + :vartype time_modified: datetime + :ivar author: Object Id of user creating the query. + :vartype author: str + :param description: Description of the query. + :type description: str + :param body: Required. Body of the query. + :type body: str + :param linked_resource_id: Resource id associated with the query. + :type linked_resource_id: str + :param categories: Categories associated with the query. + :type categories: list[str] + :param resource_types: Resource Types associated with the query. + :type resource_types: list[str] + :param labels: Labels associated with the query. + :type labels: list[str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'query_id': {'readonly': True}, + 'display_name': {'required': True}, + 'time_created': {'readonly': True}, + 'time_modified': {'readonly': True}, + 'author': {'readonly': True}, + 'body': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'query_id': {'key': 'properties.queryId', 'type': 'str'}, + 'display_name': {'key': 'properties.displayName', 'type': 'str'}, + 'time_created': {'key': 'properties.timeCreated', 'type': 'iso-8601'}, + 'time_modified': {'key': 'properties.timeModified', 'type': 'iso-8601'}, + 'author': {'key': 'properties.author', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'body': {'key': 'properties.body', 'type': 'str'}, + 'linked_resource_id': {'key': 'properties.linkedResourceId', 'type': 'str'}, + 'categories': {'key': 'properties.categories', 'type': '[str]'}, + 'resource_types': {'key': 'properties.resourceTypes', 'type': '[str]'}, + 'labels': {'key': 'properties.labels', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(LogAnalyticsQueryPackQuery, self).__init__(**kwargs) + self.query_id = None + self.display_name = kwargs.get('display_name', None) + self.time_created = None + self.time_modified = None + self.author = None + self.description = kwargs.get('description', None) + self.body = kwargs.get('body', None) + self.linked_resource_id = kwargs.get('linked_resource_id', None) + self.categories = kwargs.get('categories', None) + self.resource_types = kwargs.get('resource_types', None) + self.labels = kwargs.get('labels', None) + + +class LogAnalyticsQueryPackQuerySearchProperties(Model): + """Properties that define an Log Analytics QueryPack-Query search properties. + + :param categories: Categories associated with the query. + :type categories: list[str] + :param resource_types: Resource Types associated with the query. + :type resource_types: list[str] + :param labels: Labels associated with the query. + :type labels: list[str] + """ + + _attribute_map = { + 'categories': {'key': 'categories', 'type': '[str]'}, + 'resource_types': {'key': 'resourceTypes', 'type': '[str]'}, + 'labels': {'key': 'labels', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(LogAnalyticsQueryPackQuerySearchProperties, self).__init__(**kwargs) + self.categories = kwargs.get('categories', None) + self.resource_types = kwargs.get('resource_types', None) + self.labels = kwargs.get('labels', None) + + +class TagsResource(Model): + """A container holding only the Tags for a resource, allowing the user to + update the tags on a QueryPack instance. + + :param tags: Resource tags + :type tags: dict[str, str] + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, **kwargs): + super(TagsResource, self).__init__(**kwargs) + self.tags = kwargs.get('tags', None) diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2019_09_01_preview/models/_models_py3.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2019_09_01_preview/models/_models_py3.py new file mode 100644 index 00000000000..53951bc79d1 --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2019_09_01_preview/models/_models_py3.py @@ -0,0 +1,322 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model +from msrest.exceptions import HttpOperationError + + +class AzureResourceProperties(Model): + """An Azure resource QueryPack-Query object. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Azure resource Id + :vartype id: str + :ivar name: Azure resource name + :vartype name: str + :ivar type: Azure resource type + :vartype type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(AzureResourceProperties, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + + +class CloudError(Model): + """CloudError. + """ + + _attribute_map = { + } + + +class ErrorResponse(Model): + """Describe the format of an Error response. + + :param code: Error code + :type code: str + :param message: Error message indicating why the operation failed. + :type message: str + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__(self, *, code: str=None, message: str=None, **kwargs) -> None: + super(ErrorResponse, self).__init__(**kwargs) + self.code = code + self.message = message + + +class ErrorResponseException(HttpOperationError): + """Server responsed with exception of type: 'ErrorResponse'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(ErrorResponseException, self).__init__(deserialize, response, 'ErrorResponse', *args) + + +class QueryPacksResource(Model): + """An azure resource object. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Azure resource Id + :vartype id: str + :ivar name: Azure resource name + :vartype name: str + :ivar type: Azure resource type + :vartype type: str + :param location: Required. Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, *, location: str, tags=None, **kwargs) -> None: + super(QueryPacksResource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.location = location + self.tags = tags + + +class LogAnalyticsQueryPack(QueryPacksResource): + """An Log Analytics QueryPack definition. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Azure resource Id + :vartype id: str + :ivar name: Azure resource name + :vartype name: str + :ivar type: Azure resource type + :vartype type: str + :param location: Required. Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + :ivar query_pack_id: The unique ID of your application. This field cannot + be changed. + :vartype query_pack_id: str + :ivar time_created: Creation Date for the Log Analytics QueryPack, in ISO + 8601 format. + :vartype time_created: datetime + :ivar time_modified: Last modified date of the Log Analytics QueryPack, in + ISO 8601 format. + :vartype time_modified: datetime + :ivar provisioning_state: Current state of this QueryPack: whether or not + is has been provisioned within the resource group it is defined. Users + cannot change this value but are able to read from it. Values will include + Succeeded, Deploying, Canceled, and Failed. + :vartype provisioning_state: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + 'query_pack_id': {'readonly': True}, + 'time_created': {'readonly': True}, + 'time_modified': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'query_pack_id': {'key': 'properties.queryPackId', 'type': 'str'}, + 'time_created': {'key': 'properties.timeCreated', 'type': 'iso-8601'}, + 'time_modified': {'key': 'properties.timeModified', 'type': 'iso-8601'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + } + + def __init__(self, *, location: str, tags=None, **kwargs) -> None: + super(LogAnalyticsQueryPack, self).__init__(location=location, tags=tags, **kwargs) + self.query_pack_id = None + self.time_created = None + self.time_modified = None + self.provisioning_state = None + + +class LogAnalyticsQueryPackQuery(AzureResourceProperties): + """A Log Analytics QueryPack-Query definition. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Azure resource Id + :vartype id: str + :ivar name: Azure resource name + :vartype name: str + :ivar type: Azure resource type + :vartype type: str + :ivar query_id: The unique ID of your application. This field cannot be + changed. + :vartype query_id: str + :param display_name: Required. Unique display name for your query within + the Query Pack. + :type display_name: str + :ivar time_created: Creation Date for the Log Analytics Query, in ISO 8601 + format. + :vartype time_created: datetime + :ivar time_modified: Last modified date of the Log Analytics Query, in ISO + 8601 format. + :vartype time_modified: datetime + :ivar author: Object Id of user creating the query. + :vartype author: str + :param description: Description of the query. + :type description: str + :param body: Required. Body of the query. + :type body: str + :param linked_resource_id: Resource id associated with the query. + :type linked_resource_id: str + :param categories: Categories associated with the query. + :type categories: list[str] + :param resource_types: Resource Types associated with the query. + :type resource_types: list[str] + :param labels: Labels associated with the query. + :type labels: list[str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'query_id': {'readonly': True}, + 'display_name': {'required': True}, + 'time_created': {'readonly': True}, + 'time_modified': {'readonly': True}, + 'author': {'readonly': True}, + 'body': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'query_id': {'key': 'properties.queryId', 'type': 'str'}, + 'display_name': {'key': 'properties.displayName', 'type': 'str'}, + 'time_created': {'key': 'properties.timeCreated', 'type': 'iso-8601'}, + 'time_modified': {'key': 'properties.timeModified', 'type': 'iso-8601'}, + 'author': {'key': 'properties.author', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'body': {'key': 'properties.body', 'type': 'str'}, + 'linked_resource_id': {'key': 'properties.linkedResourceId', 'type': 'str'}, + 'categories': {'key': 'properties.categories', 'type': '[str]'}, + 'resource_types': {'key': 'properties.resourceTypes', 'type': '[str]'}, + 'labels': {'key': 'properties.labels', 'type': '[str]'}, + } + + def __init__(self, *, display_name: str, body: str, description: str=None, linked_resource_id: str=None, categories=None, resource_types=None, labels=None, **kwargs) -> None: + super(LogAnalyticsQueryPackQuery, self).__init__(**kwargs) + self.query_id = None + self.display_name = display_name + self.time_created = None + self.time_modified = None + self.author = None + self.description = description + self.body = body + self.linked_resource_id = linked_resource_id + self.categories = categories + self.resource_types = resource_types + self.labels = labels + + +class LogAnalyticsQueryPackQuerySearchProperties(Model): + """Properties that define an Log Analytics QueryPack-Query search properties. + + :param categories: Categories associated with the query. + :type categories: list[str] + :param resource_types: Resource Types associated with the query. + :type resource_types: list[str] + :param labels: Labels associated with the query. + :type labels: list[str] + """ + + _attribute_map = { + 'categories': {'key': 'categories', 'type': '[str]'}, + 'resource_types': {'key': 'resourceTypes', 'type': '[str]'}, + 'labels': {'key': 'labels', 'type': '[str]'}, + } + + def __init__(self, *, categories=None, resource_types=None, labels=None, **kwargs) -> None: + super(LogAnalyticsQueryPackQuerySearchProperties, self).__init__(**kwargs) + self.categories = categories + self.resource_types = resource_types + self.labels = labels + + +class TagsResource(Model): + """A container holding only the Tags for a resource, allowing the user to + update the tags on a QueryPack instance. + + :param tags: Resource tags + :type tags: dict[str, str] + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, *, tags=None, **kwargs) -> None: + super(TagsResource, self).__init__(**kwargs) + self.tags = tags diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2019_09_01_preview/models/_paged_models.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2019_09_01_preview/models/_paged_models.py new file mode 100644 index 00000000000..aa3deeaa633 --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2019_09_01_preview/models/_paged_models.py @@ -0,0 +1,40 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.paging import Paged + + +class LogAnalyticsQueryPackQueryPaged(Paged): + """ + A paging container for iterating over a list of :class:`LogAnalyticsQueryPackQuery ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[LogAnalyticsQueryPackQuery]'} + } + + def __init__(self, *args, **kwargs): + + super(LogAnalyticsQueryPackQueryPaged, self).__init__(*args, **kwargs) +class LogAnalyticsQueryPackPaged(Paged): + """ + A paging container for iterating over a list of :class:`LogAnalyticsQueryPack ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[LogAnalyticsQueryPack]'} + } + + def __init__(self, *args, **kwargs): + + super(LogAnalyticsQueryPackPaged, self).__init__(*args, **kwargs) diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2019_09_01_preview/operations/__init__.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2019_09_01_preview/operations/__init__.py new file mode 100644 index 00000000000..d7a4805c2c6 --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2019_09_01_preview/operations/__init__.py @@ -0,0 +1,18 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from ._queries_operations import QueriesOperations +from ._query_packs_operations import QueryPacksOperations + +__all__ = [ + 'QueriesOperations', + 'QueryPacksOperations', +] diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2019_09_01_preview/operations/_queries_operations.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2019_09_01_preview/operations/_queries_operations.py new file mode 100644 index 00000000000..cc037bf33ba --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2019_09_01_preview/operations/_queries_operations.py @@ -0,0 +1,423 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse + +from .. import models + + +class QueriesOperations(object): + """QueriesOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2019-09-01-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2019-09-01-preview" + + self.config = config + + def list( + self, resource_group_name, query_pack_name, top=None, include_body=None, skip_token=None, custom_headers=None, raw=False, **operation_config): + """Gets a list of Queries defined within a Log Analytics QueryPack. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param query_pack_name: The name of the Log Analytics QueryPack + resource. + :type query_pack_name: str + :param top: Maximum items returned in page. + :type top: int + :param include_body: Flag indicating whether or not to return the body + of each applicable query. If false, only return the query information. + :type include_body: bool + :param skip_token: Base64 encoded token used to fetch the next page of + items. Default is null. + :type skip_token: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of LogAnalyticsQueryPackQuery + :rtype: + ~azure.mgmt.applicationinsights.v2019_09_01_preview.models.LogAnalyticsQueryPackQueryPaged[~azure.mgmt.applicationinsights.v2019_09_01_preview.models.LogAnalyticsQueryPackQuery] + :raises: + :class:`ErrorResponseException` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'queryPackName': self._serialize.url("query_pack_name", query_pack_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + if top is not None: + query_parameters['$top'] = self._serialize.query("top", top, 'int') + if include_body is not None: + query_parameters['includeBody'] = self._serialize.query("include_body", include_body, 'bool') + if skip_token is not None: + query_parameters['$skipToken'] = self._serialize.query("skip_token", skip_token, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.LogAnalyticsQueryPackQueryPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/queryPacks/{queryPackName}/queries'} + + def search( + self, resource_group_name, query_pack_name, query_search_properties, top=None, include_body=None, skip_token=None, custom_headers=None, raw=False, **operation_config): + """Search a list of Queries defined within a Log Analytics QueryPack + according to given search properties. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param query_pack_name: The name of the Log Analytics QueryPack + resource. + :type query_pack_name: str + :param query_search_properties: Properties by which to search queries + in the given Log Analytics QueryPack. + :type query_search_properties: + ~azure.mgmt.applicationinsights.v2019_09_01_preview.models.LogAnalyticsQueryPackQuerySearchProperties + :param top: Maximum items returned in page. + :type top: int + :param include_body: Flag indicating whether or not to return the body + of each applicable query. If false, only return the query information. + :type include_body: bool + :param skip_token: Base64 encoded token used to fetch the next page of + items. Default is null. + :type skip_token: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of LogAnalyticsQueryPackQuery + :rtype: + ~azure.mgmt.applicationinsights.v2019_09_01_preview.models.LogAnalyticsQueryPackQueryPaged[~azure.mgmt.applicationinsights.v2019_09_01_preview.models.LogAnalyticsQueryPackQuery] + :raises: + :class:`ErrorResponseException` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.search.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'queryPackName': self._serialize.url("query_pack_name", query_pack_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + if top is not None: + query_parameters['$top'] = self._serialize.query("top", top, 'int') + if include_body is not None: + query_parameters['includeBody'] = self._serialize.query("include_body", include_body, 'bool') + if skip_token is not None: + query_parameters['$skipToken'] = self._serialize.query("skip_token", skip_token, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(query_search_properties, 'LogAnalyticsQueryPackQuerySearchProperties') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.LogAnalyticsQueryPackQueryPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + search.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/queryPacks/{queryPackName}/queries/search'} + + def get( + self, resource_group_name, query_pack_name, query_id, custom_headers=None, raw=False, **operation_config): + """Gets a specific Log Analytics Query defined within a Log Analytics + QueryPack. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param query_pack_name: The name of the Log Analytics QueryPack + resource. + :type query_pack_name: str + :param query_id: The id of a specific query defined in the Log + Analytics QueryPack + :type query_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 + :param operation_config: :ref:`Operation configuration + overrides`. + :return: LogAnalyticsQueryPackQuery or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.applicationinsights.v2019_09_01_preview.models.LogAnalyticsQueryPackQuery + or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'queryPackName': self._serialize.url("query_pack_name", query_pack_name, 'str'), + 'queryId': self._serialize.url("query_id", query_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('LogAnalyticsQueryPackQuery', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/queryPacks/{queryPackName}/queries/{queryId}'} + + def put( + self, resource_group_name, query_pack_name, query_id, query_payload, custom_headers=None, raw=False, **operation_config): + """Adds or Updates a specific Query within a Log Analytics QueryPack. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param query_pack_name: The name of the Log Analytics QueryPack + resource. + :type query_pack_name: str + :param query_id: The id of a specific query defined in the Log + Analytics QueryPack + :type query_id: str + :param query_payload: Properties that need to be specified to create a + new query and add it to a Log Analytics QueryPack. + :type query_payload: + ~azure.mgmt.applicationinsights.v2019_09_01_preview.models.LogAnalyticsQueryPackQuery + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: LogAnalyticsQueryPackQuery or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.applicationinsights.v2019_09_01_preview.models.LogAnalyticsQueryPackQuery + or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.put.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'queryPackName': self._serialize.url("query_pack_name", query_pack_name, 'str'), + 'queryId': self._serialize.url("query_id", query_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(query_payload, 'LogAnalyticsQueryPackQuery') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('LogAnalyticsQueryPackQuery', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + put.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/queryPacks/{queryPackName}/queries/{queryId}'} + + def delete( + self, resource_group_name, query_pack_name, query_id, custom_headers=None, raw=False, **operation_config): + """Deletes a specific Query defined within an Log Analytics QueryPack. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param query_pack_name: The name of the Log Analytics QueryPack + resource. + :type query_pack_name: str + :param query_id: The id of a specific query defined in the Log + Analytics QueryPack + :type query_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 + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'queryPackName': self._serialize.url("query_pack_name", query_pack_name, 'str'), + 'queryId': self._serialize.url("query_id", query_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 204]: + raise models.ErrorResponseException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/queryPacks/{queryPackName}/queries/{queryId}'} diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2019_09_01_preview/operations/_query_packs_operations.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2019_09_01_preview/operations/_query_packs_operations.py new file mode 100644 index 00000000000..3eaaddab0ae --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2019_09_01_preview/operations/_query_packs_operations.py @@ -0,0 +1,437 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse + +from .. import models + + +class QueryPacksOperations(object): + """QueryPacksOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2019-09-01-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2019-09-01-preview" + + self.config = config + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Gets a list of all Log Analytics QueryPacks within a subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of LogAnalyticsQueryPack + :rtype: + ~azure.mgmt.applicationinsights.v2019_09_01_preview.models.LogAnalyticsQueryPackPaged[~azure.mgmt.applicationinsights.v2019_09_01_preview.models.LogAnalyticsQueryPack] + :raises: + :class:`ErrorResponseException` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.LogAnalyticsQueryPackPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/microsoft.insights/queryPacks'} + + def list_by_resource_group( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Gets a list of Log Analytics QueryPacks within a resource group. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of LogAnalyticsQueryPack + :rtype: + ~azure.mgmt.applicationinsights.v2019_09_01_preview.models.LogAnalyticsQueryPackPaged[~azure.mgmt.applicationinsights.v2019_09_01_preview.models.LogAnalyticsQueryPack] + :raises: + :class:`ErrorResponseException` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.LogAnalyticsQueryPackPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/queryPacks'} + + def delete( + self, resource_group_name, query_pack_name, custom_headers=None, raw=False, **operation_config): + """Deletes a Log Analytics QueryPack. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param query_pack_name: The name of the Log Analytics QueryPack + resource. + :type query_pack_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'queryPackName': self._serialize.url("query_pack_name", query_pack_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 204]: + raise models.ErrorResponseException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/queryPacks/{queryPackName}'} + + def get( + self, resource_group_name, query_pack_name, custom_headers=None, raw=False, **operation_config): + """Returns a Log Analytics QueryPack. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param query_pack_name: The name of the Log Analytics QueryPack + resource. + :type query_pack_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: LogAnalyticsQueryPack or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.applicationinsights.v2019_09_01_preview.models.LogAnalyticsQueryPack + or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'queryPackName': self._serialize.url("query_pack_name", query_pack_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('LogAnalyticsQueryPack', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/queryPacks/{queryPackName}'} + + def create_or_update( + self, resource_group_name, query_pack_name, location, tags=None, custom_headers=None, raw=False, **operation_config): + """Creates (or updates) a Log Analytics QueryPack. Note: You cannot + specify a different value for InstrumentationKey nor AppId in the Put + operation. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param query_pack_name: The name of the Log Analytics QueryPack + resource. + :type query_pack_name: str + :param location: Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: LogAnalyticsQueryPack or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.applicationinsights.v2019_09_01_preview.models.LogAnalyticsQueryPack + or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + log_analytics_query_pack_payload = models.LogAnalyticsQueryPack(location=location, tags=tags) + + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'queryPackName': self._serialize.url("query_pack_name", query_pack_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(log_analytics_query_pack_payload, 'LogAnalyticsQueryPack') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('LogAnalyticsQueryPack', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/queryPacks/{queryPackName}'} + + def update_tags( + self, resource_group_name, query_pack_name, tags=None, custom_headers=None, raw=False, **operation_config): + """Updates an existing QueryPack's tags. To update other fields use the + CreateOrUpdate method. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param query_pack_name: The name of the Log Analytics QueryPack + resource. + :type query_pack_name: str + :param tags: Resource tags + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: LogAnalyticsQueryPack or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.applicationinsights.v2019_09_01_preview.models.LogAnalyticsQueryPack + or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + query_pack_tags = models.TagsResource(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'queryPackName': self._serialize.url("query_pack_name", query_pack_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(query_pack_tags, 'TagsResource') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('LogAnalyticsQueryPack', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/queryPacks/{queryPackName}'} diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2019_09_01_preview/version.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2019_09_01_preview/version.py new file mode 100644 index 00000000000..e8485659e01 --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2019_09_01_preview/version.py @@ -0,0 +1,13 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +VERSION = "2019-09-01-preview" + diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2019_10_17_preview/__init__.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2019_10_17_preview/__init__.py new file mode 100644 index 00000000000..298512941d9 --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2019_10_17_preview/__init__.py @@ -0,0 +1,19 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from ._configuration import ApplicationInsightsManagementClientConfiguration +from ._application_insights_management_client import ApplicationInsightsManagementClient +__all__ = ['ApplicationInsightsManagementClient', 'ApplicationInsightsManagementClientConfiguration'] + +from .version import VERSION + +__version__ = VERSION + diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2019_10_17_preview/_application_insights_management_client.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2019_10_17_preview/_application_insights_management_client.py new file mode 100644 index 00000000000..bb7008b820a --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2019_10_17_preview/_application_insights_management_client.py @@ -0,0 +1,49 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.service_client import SDKClient +from msrest import Serializer, Deserializer + +from ._configuration import ApplicationInsightsManagementClientConfiguration +from .operations import WorkbookTemplatesOperations +from . import models + + +class ApplicationInsightsManagementClient(SDKClient): + """Composite Swagger for Application Insights Management Client + + :ivar config: Configuration for client. + :vartype config: ApplicationInsightsManagementClientConfiguration + + :ivar workbook_templates: WorkbookTemplates operations + :vartype workbook_templates: azure.mgmt.applicationinsights.v2019_10_17_preview.operations.WorkbookTemplatesOperations + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=None): + + self.config = ApplicationInsightsManagementClientConfiguration(credentials, subscription_id, base_url) + super(ApplicationInsightsManagementClient, self).__init__(self.config.credentials, self.config) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self.api_version = '2019-10-17-preview' + self._serialize = Serializer(client_models) + self._deserialize = Deserializer(client_models) + + self.workbook_templates = WorkbookTemplatesOperations( + self._client, self.config, self._serialize, self._deserialize) diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2019_10_17_preview/_configuration.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2019_10_17_preview/_configuration.py new file mode 100644 index 00000000000..6c855295a4b --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2019_10_17_preview/_configuration.py @@ -0,0 +1,48 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +from msrestazure import AzureConfiguration + +from .version import VERSION + + +class ApplicationInsightsManagementClientConfiguration(AzureConfiguration): + """Configuration for ApplicationInsightsManagementClient + Note that all parameters used to create this instance are saved as instance + attributes. + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=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 base_url: + base_url = 'https://management.azure.com' + + super(ApplicationInsightsManagementClientConfiguration, self).__init__(base_url) + + # Starting Autorest.Python 4.0.64, make connection pool activated by default + self.keep_alive = True + + self.add_user_agent('azure-mgmt-applicationinsights/{}'.format(VERSION)) + self.add_user_agent('Azure-SDK-For-Python') + + self.credentials = credentials + self.subscription_id = subscription_id diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2019_10_17_preview/models/__init__.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2019_10_17_preview/models/__init__.py new file mode 100644 index 00000000000..99e1f673930 --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2019_10_17_preview/models/__init__.py @@ -0,0 +1,39 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +try: + from ._models_py3 import ErrorFieldContract + from ._models_py3 import WorkbookError, WorkbookErrorException + from ._models_py3 import WorkbookTemplate + from ._models_py3 import WorkbookTemplateGallery + from ._models_py3 import WorkbookTemplateLocalizedGallery + from ._models_py3 import WorkbookTemplateResource + from ._models_py3 import WorkbookTemplateUpdateParameters +except (SyntaxError, ImportError): + from ._models import ErrorFieldContract + from ._models import WorkbookError, WorkbookErrorException + from ._models import WorkbookTemplate + from ._models import WorkbookTemplateGallery + from ._models import WorkbookTemplateLocalizedGallery + from ._models import WorkbookTemplateResource + from ._models import WorkbookTemplateUpdateParameters +from ._paged_models import WorkbookTemplatePaged + +__all__ = [ + 'ErrorFieldContract', + 'WorkbookError', 'WorkbookErrorException', + 'WorkbookTemplate', + 'WorkbookTemplateGallery', + 'WorkbookTemplateLocalizedGallery', + 'WorkbookTemplateResource', + 'WorkbookTemplateUpdateParameters', + 'WorkbookTemplatePaged', +] diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2019_10_17_preview/models/_models.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2019_10_17_preview/models/_models.py new file mode 100644 index 00000000000..16880297700 --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2019_10_17_preview/models/_models.py @@ -0,0 +1,296 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model +from msrest.exceptions import HttpOperationError + + +class CloudError(Model): + """CloudError. + """ + + _attribute_map = { + } + + +class ErrorFieldContract(Model): + """Error Field contract. + + :param code: Property level error code. + :type code: str + :param message: Human-readable representation of property-level error. + :type message: str + :param target: Property name. + :type target: str + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ErrorFieldContract, self).__init__(**kwargs) + self.code = kwargs.get('code', None) + self.message = kwargs.get('message', None) + self.target = kwargs.get('target', None) + + +class WorkbookError(Model): + """Error message body that will indicate why the operation failed. + + :param code: Service-defined error code. This code serves as a sub-status + for the HTTP error code specified in the response. + :type code: str + :param message: Human-readable representation of the error. + :type message: str + :param details: The list of invalid fields send in request, in case of + validation error. + :type details: + list[~azure.mgmt.applicationinsights.v2019_10_17_preview.models.ErrorFieldContract] + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[ErrorFieldContract]'}, + } + + def __init__(self, **kwargs): + super(WorkbookError, self).__init__(**kwargs) + self.code = kwargs.get('code', None) + self.message = kwargs.get('message', None) + self.details = kwargs.get('details', None) + + +class WorkbookErrorException(HttpOperationError): + """Server responsed with exception of type: 'WorkbookError'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(WorkbookErrorException, self).__init__(deserialize, response, 'WorkbookError', *args) + + +class WorkbookTemplateResource(Model): + """An azure resource object. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Azure resource Id + :vartype id: str + :ivar name: Azure resource name. + :vartype name: str + :ivar type: Azure resource type + :vartype type: str + :param location: Required. Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, **kwargs): + super(WorkbookTemplateResource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.location = kwargs.get('location', None) + self.tags = kwargs.get('tags', None) + + +class WorkbookTemplate(WorkbookTemplateResource): + """An Application Insights workbook template definition. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Azure resource Id + :vartype id: str + :ivar name: Azure resource name. + :vartype name: str + :ivar type: Azure resource type + :vartype type: str + :param location: Required. Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + :param priority: Priority of the template. Determines which template to + open when a workbook gallery is opened in viewer mode. + :type priority: int + :param author: Information about the author of the workbook template. + :type author: str + :param template_data: Required. Valid JSON object containing workbook + template payload. + :type template_data: object + :param galleries: Required. Workbook galleries supported by the template. + :type galleries: + list[~azure.mgmt.applicationinsights.v2019_10_17_preview.models.WorkbookTemplateGallery] + :param localized: Key value pair of localized gallery. Each key is the + locale code of languages supported by the Azure portal. + :type localized: dict[str, + list[~azure.mgmt.applicationinsights.v2019_10_17_preview.models.WorkbookTemplateLocalizedGallery]] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + 'template_data': {'required': True}, + 'galleries': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'priority': {'key': 'properties.priority', 'type': 'int'}, + 'author': {'key': 'properties.author', 'type': 'str'}, + 'template_data': {'key': 'properties.templateData', 'type': 'object'}, + 'galleries': {'key': 'properties.galleries', 'type': '[WorkbookTemplateGallery]'}, + 'localized': {'key': 'properties.localized', 'type': '{[WorkbookTemplateLocalizedGallery]}'}, + } + + def __init__(self, **kwargs): + super(WorkbookTemplate, self).__init__(**kwargs) + self.priority = kwargs.get('priority', None) + self.author = kwargs.get('author', None) + self.template_data = kwargs.get('template_data', None) + self.galleries = kwargs.get('galleries', None) + self.localized = kwargs.get('localized', None) + + +class WorkbookTemplateGallery(Model): + """Gallery information for a workbook template. + + :param name: Name of the workbook template in the gallery. + :type name: str + :param category: Category for the gallery. + :type category: str + :param type: Type of workbook supported by the workbook template. + :type type: str + :param order: Order of the template within the gallery. + :type order: int + :param resource_type: Azure resource type supported by the gallery. + :type resource_type: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'category': {'key': 'category', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'order': {'key': 'order', 'type': 'int'}, + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(WorkbookTemplateGallery, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.category = kwargs.get('category', None) + self.type = kwargs.get('type', None) + self.order = kwargs.get('order', None) + self.resource_type = kwargs.get('resource_type', None) + + +class WorkbookTemplateLocalizedGallery(Model): + """Localized template data and gallery information. + + :param template_data: Valid JSON object containing workbook template + payload. + :type template_data: object + :param galleries: Workbook galleries supported by the template. + :type galleries: + list[~azure.mgmt.applicationinsights.v2019_10_17_preview.models.WorkbookTemplateGallery] + """ + + _attribute_map = { + 'template_data': {'key': 'templateData', 'type': 'object'}, + 'galleries': {'key': 'galleries', 'type': '[WorkbookTemplateGallery]'}, + } + + def __init__(self, **kwargs): + super(WorkbookTemplateLocalizedGallery, self).__init__(**kwargs) + self.template_data = kwargs.get('template_data', None) + self.galleries = kwargs.get('galleries', None) + + +class WorkbookTemplateUpdateParameters(Model): + """The parameters that can be provided when updating workbook template. + + All required parameters must be populated in order to send to Azure. + + :param tags: Resource tags + :type tags: dict[str, str] + :param priority: Priority of the template. Determines which template to + open when a workbook gallery is opened in viewer mode. + :type priority: int + :param author: Information about the author of the workbook template. + :type author: str + :param template_data: Required. Valid JSON object containing workbook + template payload. + :type template_data: object + :param galleries: Required. Workbook galleries supported by the template. + :type galleries: + list[~azure.mgmt.applicationinsights.v2019_10_17_preview.models.WorkbookTemplateGallery] + :param localized: Key value pair of localized gallery. Each key is the + locale code of languages supported by the Azure portal. + :type localized: dict[str, + list[~azure.mgmt.applicationinsights.v2019_10_17_preview.models.WorkbookTemplateLocalizedGallery]] + """ + + _validation = { + 'template_data': {'required': True}, + 'galleries': {'required': True}, + } + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + 'priority': {'key': 'properties.priority', 'type': 'int'}, + 'author': {'key': 'properties.author', 'type': 'str'}, + 'template_data': {'key': 'properties.templateData', 'type': 'object'}, + 'galleries': {'key': 'properties.galleries', 'type': '[WorkbookTemplateGallery]'}, + 'localized': {'key': 'properties.localized', 'type': '{[WorkbookTemplateLocalizedGallery]}'}, + } + + def __init__(self, **kwargs): + super(WorkbookTemplateUpdateParameters, self).__init__(**kwargs) + self.tags = kwargs.get('tags', None) + self.priority = kwargs.get('priority', None) + self.author = kwargs.get('author', None) + self.template_data = kwargs.get('template_data', None) + self.galleries = kwargs.get('galleries', None) + self.localized = kwargs.get('localized', None) diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2019_10_17_preview/models/_models_py3.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2019_10_17_preview/models/_models_py3.py new file mode 100644 index 00000000000..6fcea9531a0 --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2019_10_17_preview/models/_models_py3.py @@ -0,0 +1,296 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model +from msrest.exceptions import HttpOperationError + + +class CloudError(Model): + """CloudError. + """ + + _attribute_map = { + } + + +class ErrorFieldContract(Model): + """Error Field contract. + + :param code: Property level error code. + :type code: str + :param message: Human-readable representation of property-level error. + :type message: str + :param target: Property name. + :type target: str + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + } + + def __init__(self, *, code: str=None, message: str=None, target: str=None, **kwargs) -> None: + super(ErrorFieldContract, self).__init__(**kwargs) + self.code = code + self.message = message + self.target = target + + +class WorkbookError(Model): + """Error message body that will indicate why the operation failed. + + :param code: Service-defined error code. This code serves as a sub-status + for the HTTP error code specified in the response. + :type code: str + :param message: Human-readable representation of the error. + :type message: str + :param details: The list of invalid fields send in request, in case of + validation error. + :type details: + list[~azure.mgmt.applicationinsights.v2019_10_17_preview.models.ErrorFieldContract] + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[ErrorFieldContract]'}, + } + + def __init__(self, *, code: str=None, message: str=None, details=None, **kwargs) -> None: + super(WorkbookError, self).__init__(**kwargs) + self.code = code + self.message = message + self.details = details + + +class WorkbookErrorException(HttpOperationError): + """Server responsed with exception of type: 'WorkbookError'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(WorkbookErrorException, self).__init__(deserialize, response, 'WorkbookError', *args) + + +class WorkbookTemplateResource(Model): + """An azure resource object. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Azure resource Id + :vartype id: str + :ivar name: Azure resource name. + :vartype name: str + :ivar type: Azure resource type + :vartype type: str + :param location: Required. Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, *, location: str, tags=None, **kwargs) -> None: + super(WorkbookTemplateResource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.location = location + self.tags = tags + + +class WorkbookTemplate(WorkbookTemplateResource): + """An Application Insights workbook template definition. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Azure resource Id + :vartype id: str + :ivar name: Azure resource name. + :vartype name: str + :ivar type: Azure resource type + :vartype type: str + :param location: Required. Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + :param priority: Priority of the template. Determines which template to + open when a workbook gallery is opened in viewer mode. + :type priority: int + :param author: Information about the author of the workbook template. + :type author: str + :param template_data: Required. Valid JSON object containing workbook + template payload. + :type template_data: object + :param galleries: Required. Workbook galleries supported by the template. + :type galleries: + list[~azure.mgmt.applicationinsights.v2019_10_17_preview.models.WorkbookTemplateGallery] + :param localized: Key value pair of localized gallery. Each key is the + locale code of languages supported by the Azure portal. + :type localized: dict[str, + list[~azure.mgmt.applicationinsights.v2019_10_17_preview.models.WorkbookTemplateLocalizedGallery]] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + 'template_data': {'required': True}, + 'galleries': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'priority': {'key': 'properties.priority', 'type': 'int'}, + 'author': {'key': 'properties.author', 'type': 'str'}, + 'template_data': {'key': 'properties.templateData', 'type': 'object'}, + 'galleries': {'key': 'properties.galleries', 'type': '[WorkbookTemplateGallery]'}, + 'localized': {'key': 'properties.localized', 'type': '{[WorkbookTemplateLocalizedGallery]}'}, + } + + def __init__(self, *, location: str, template_data, galleries, tags=None, priority: int=None, author: str=None, localized=None, **kwargs) -> None: + super(WorkbookTemplate, self).__init__(location=location, tags=tags, **kwargs) + self.priority = priority + self.author = author + self.template_data = template_data + self.galleries = galleries + self.localized = localized + + +class WorkbookTemplateGallery(Model): + """Gallery information for a workbook template. + + :param name: Name of the workbook template in the gallery. + :type name: str + :param category: Category for the gallery. + :type category: str + :param type: Type of workbook supported by the workbook template. + :type type: str + :param order: Order of the template within the gallery. + :type order: int + :param resource_type: Azure resource type supported by the gallery. + :type resource_type: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'category': {'key': 'category', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'order': {'key': 'order', 'type': 'int'}, + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, category: str=None, type: str=None, order: int=None, resource_type: str=None, **kwargs) -> None: + super(WorkbookTemplateGallery, self).__init__(**kwargs) + self.name = name + self.category = category + self.type = type + self.order = order + self.resource_type = resource_type + + +class WorkbookTemplateLocalizedGallery(Model): + """Localized template data and gallery information. + + :param template_data: Valid JSON object containing workbook template + payload. + :type template_data: object + :param galleries: Workbook galleries supported by the template. + :type galleries: + list[~azure.mgmt.applicationinsights.v2019_10_17_preview.models.WorkbookTemplateGallery] + """ + + _attribute_map = { + 'template_data': {'key': 'templateData', 'type': 'object'}, + 'galleries': {'key': 'galleries', 'type': '[WorkbookTemplateGallery]'}, + } + + def __init__(self, *, template_data=None, galleries=None, **kwargs) -> None: + super(WorkbookTemplateLocalizedGallery, self).__init__(**kwargs) + self.template_data = template_data + self.galleries = galleries + + +class WorkbookTemplateUpdateParameters(Model): + """The parameters that can be provided when updating workbook template. + + All required parameters must be populated in order to send to Azure. + + :param tags: Resource tags + :type tags: dict[str, str] + :param priority: Priority of the template. Determines which template to + open when a workbook gallery is opened in viewer mode. + :type priority: int + :param author: Information about the author of the workbook template. + :type author: str + :param template_data: Required. Valid JSON object containing workbook + template payload. + :type template_data: object + :param galleries: Required. Workbook galleries supported by the template. + :type galleries: + list[~azure.mgmt.applicationinsights.v2019_10_17_preview.models.WorkbookTemplateGallery] + :param localized: Key value pair of localized gallery. Each key is the + locale code of languages supported by the Azure portal. + :type localized: dict[str, + list[~azure.mgmt.applicationinsights.v2019_10_17_preview.models.WorkbookTemplateLocalizedGallery]] + """ + + _validation = { + 'template_data': {'required': True}, + 'galleries': {'required': True}, + } + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + 'priority': {'key': 'properties.priority', 'type': 'int'}, + 'author': {'key': 'properties.author', 'type': 'str'}, + 'template_data': {'key': 'properties.templateData', 'type': 'object'}, + 'galleries': {'key': 'properties.galleries', 'type': '[WorkbookTemplateGallery]'}, + 'localized': {'key': 'properties.localized', 'type': '{[WorkbookTemplateLocalizedGallery]}'}, + } + + def __init__(self, *, template_data, galleries, tags=None, priority: int=None, author: str=None, localized=None, **kwargs) -> None: + super(WorkbookTemplateUpdateParameters, self).__init__(**kwargs) + self.tags = tags + self.priority = priority + self.author = author + self.template_data = template_data + self.galleries = galleries + self.localized = localized diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2019_10_17_preview/models/_paged_models.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2019_10_17_preview/models/_paged_models.py new file mode 100644 index 00000000000..b521e3aeb23 --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2019_10_17_preview/models/_paged_models.py @@ -0,0 +1,27 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.paging import Paged + + +class WorkbookTemplatePaged(Paged): + """ + A paging container for iterating over a list of :class:`WorkbookTemplate ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[WorkbookTemplate]'} + } + + def __init__(self, *args, **kwargs): + + super(WorkbookTemplatePaged, self).__init__(*args, **kwargs) diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2019_10_17_preview/operations/__init__.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2019_10_17_preview/operations/__init__.py new file mode 100644 index 00000000000..13a3437c8d3 --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2019_10_17_preview/operations/__init__.py @@ -0,0 +1,16 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from ._workbook_templates_operations import WorkbookTemplatesOperations + +__all__ = [ + 'WorkbookTemplatesOperations', +] diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2019_10_17_preview/operations/_workbook_templates_operations.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2019_10_17_preview/operations/_workbook_templates_operations.py new file mode 100644 index 00000000000..17066285b1a --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2019_10_17_preview/operations/_workbook_templates_operations.py @@ -0,0 +1,372 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse + +from .. import models + + +class WorkbookTemplatesOperations(object): + """WorkbookTemplatesOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2019-10-17-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2019-10-17-preview" + + self.config = config + + def list_by_resource_group( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Get all Workbook templates defined within a specified resource group. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of WorkbookTemplate + :rtype: + ~azure.mgmt.applicationinsights.v2019_10_17_preview.models.WorkbookTemplatePaged[~azure.mgmt.applicationinsights.v2019_10_17_preview.models.WorkbookTemplate] + :raises: + :class:`WorkbookErrorException` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.WorkbookErrorException(self._deserialize, response) + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.WorkbookTemplatePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroup/{resourceGroupName}/providers/microsoft.insights/workbooktemplates'} + + def get( + self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): + """Get a single workbook template by its resourceName. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param resource_name: The name of the Application Insights component + resource. + :type resource_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: WorkbookTemplate or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.applicationinsights.v2019_10_17_preview.models.WorkbookTemplate + or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`WorkbookErrorException` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.WorkbookErrorException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('WorkbookTemplate', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroup/{resourceGroupName}/providers/microsoft.insights/workbooktemplates/{resourceName}'} + + def delete( + self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): + """Delete a workbook template. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param resource_name: The name of the Application Insights component + resource. + :type resource_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`WorkbookErrorException` + """ + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 204]: + raise models.WorkbookErrorException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroup/{resourceGroupName}/providers/microsoft.insights/workbooktemplates/{resourceName}'} + + def create_or_update( + self, resource_group_name, resource_name, workbook_template_properties, custom_headers=None, raw=False, **operation_config): + """Create a new workbook template. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param resource_name: The name of the Application Insights component + resource. + :type resource_name: str + :param workbook_template_properties: Properties that need to be + specified to create a new workbook. + :type workbook_template_properties: + ~azure.mgmt.applicationinsights.v2019_10_17_preview.models.WorkbookTemplate + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: WorkbookTemplate or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.applicationinsights.v2019_10_17_preview.models.WorkbookTemplate + or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`WorkbookErrorException` + """ + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(workbook_template_properties, 'WorkbookTemplate') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + raise models.WorkbookErrorException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('WorkbookTemplate', response) + if response.status_code == 201: + deserialized = self._deserialize('WorkbookTemplate', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroup/{resourceGroupName}/providers/microsoft.insights/workbooktemplates/{resourceName}'} + + def update( + self, resource_group_name, resource_name, workbook_template_update_parameters=None, custom_headers=None, raw=False, **operation_config): + """Updates a workbook template that has already been added. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param resource_name: The name of the Application Insights component + resource. + :type resource_name: str + :param workbook_template_update_parameters: Properties that need to be + specified to patch a workbook template. + :type workbook_template_update_parameters: + ~azure.mgmt.applicationinsights.v2019_10_17_preview.models.WorkbookTemplateUpdateParameters + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: WorkbookTemplate or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.applicationinsights.v2019_10_17_preview.models.WorkbookTemplate + or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`WorkbookErrorException` + """ + # Construct URL + url = self.update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 + if workbook_template_update_parameters is not None: + body_content = self._serialize.body(workbook_template_update_parameters, 'WorkbookTemplateUpdateParameters') + else: + body_content = None + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.WorkbookErrorException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('WorkbookTemplate', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroup/{resourceGroupName}/providers/microsoft.insights/workbooktemplates/{resourceName}'} diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2019_10_17_preview/version.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2019_10_17_preview/version.py new file mode 100644 index 00000000000..663461d3c4c --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2019_10_17_preview/version.py @@ -0,0 +1,13 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +VERSION = "2019-10-17-preview" + diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2020_02_02_preview/__init__.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2020_02_02_preview/__init__.py new file mode 100644 index 00000000000..298512941d9 --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2020_02_02_preview/__init__.py @@ -0,0 +1,19 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from ._configuration import ApplicationInsightsManagementClientConfiguration +from ._application_insights_management_client import ApplicationInsightsManagementClient +__all__ = ['ApplicationInsightsManagementClient', 'ApplicationInsightsManagementClientConfiguration'] + +from .version import VERSION + +__version__ = VERSION + diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2020_02_02_preview/_application_insights_management_client.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2020_02_02_preview/_application_insights_management_client.py new file mode 100644 index 00000000000..4149a084c38 --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2020_02_02_preview/_application_insights_management_client.py @@ -0,0 +1,49 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.service_client import SDKClient +from msrest import Serializer, Deserializer + +from ._configuration import ApplicationInsightsManagementClientConfiguration +from .operations import ComponentsOperations +from . import models + + +class ApplicationInsightsManagementClient(SDKClient): + """Composite Swagger for Application Insights Management Client + + :ivar config: Configuration for client. + :vartype config: ApplicationInsightsManagementClientConfiguration + + :ivar components: Components operations + :vartype components: azure.mgmt.applicationinsights.v2020_02_02_preview.operations.ComponentsOperations + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=None): + + self.config = ApplicationInsightsManagementClientConfiguration(credentials, subscription_id, base_url) + super(ApplicationInsightsManagementClient, self).__init__(self.config.credentials, self.config) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self.api_version = '2020-02-02-preview' + self._serialize = Serializer(client_models) + self._deserialize = Deserializer(client_models) + + self.components = ComponentsOperations( + self._client, self.config, self._serialize, self._deserialize) diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2020_02_02_preview/_configuration.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2020_02_02_preview/_configuration.py new file mode 100644 index 00000000000..6c855295a4b --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2020_02_02_preview/_configuration.py @@ -0,0 +1,48 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +from msrestazure import AzureConfiguration + +from .version import VERSION + + +class ApplicationInsightsManagementClientConfiguration(AzureConfiguration): + """Configuration for ApplicationInsightsManagementClient + Note that all parameters used to create this instance are saved as instance + attributes. + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=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 base_url: + base_url = 'https://management.azure.com' + + super(ApplicationInsightsManagementClientConfiguration, self).__init__(base_url) + + # Starting Autorest.Python 4.0.64, make connection pool activated by default + self.keep_alive = True + + self.add_user_agent('azure-mgmt-applicationinsights/{}'.format(VERSION)) + self.add_user_agent('Azure-SDK-For-Python') + + self.credentials = credentials + self.subscription_id = subscription_id diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2020_02_02_preview/models/__init__.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2020_02_02_preview/models/__init__.py new file mode 100644 index 00000000000..cbde4cca8f3 --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2020_02_02_preview/models/__init__.py @@ -0,0 +1,54 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +try: + from ._models_py3 import ApplicationInsightsComponent + from ._models_py3 import ComponentPurgeBody + from ._models_py3 import ComponentPurgeBodyFilters + from ._models_py3 import ComponentPurgeResponse + from ._models_py3 import ComponentPurgeStatusResponse + from ._models_py3 import ComponentsResource + from ._models_py3 import PrivateLinkScopedResource + from ._models_py3 import TagsResource +except (SyntaxError, ImportError): + from ._models import ApplicationInsightsComponent + from ._models import ComponentPurgeBody + from ._models import ComponentPurgeBodyFilters + from ._models import ComponentPurgeResponse + from ._models import ComponentPurgeStatusResponse + from ._models import ComponentsResource + from ._models import PrivateLinkScopedResource + from ._models import TagsResource +from ._paged_models import ApplicationInsightsComponentPaged +from ._application_insights_management_client_enums import ( + ApplicationType, + FlowType, + RequestSource, + PublicNetworkAccessType, + PurgeState, +) + +__all__ = [ + 'ApplicationInsightsComponent', + 'ComponentPurgeBody', + 'ComponentPurgeBodyFilters', + 'ComponentPurgeResponse', + 'ComponentPurgeStatusResponse', + 'ComponentsResource', + 'PrivateLinkScopedResource', + 'TagsResource', + 'ApplicationInsightsComponentPaged', + 'ApplicationType', + 'FlowType', + 'RequestSource', + 'PublicNetworkAccessType', + 'PurgeState', +] diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2020_02_02_preview/models/_application_insights_management_client_enums.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2020_02_02_preview/models/_application_insights_management_client_enums.py new file mode 100644 index 00000000000..cab8df5318d --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2020_02_02_preview/models/_application_insights_management_client_enums.py @@ -0,0 +1,40 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from enum import Enum + + +class ApplicationType(str, Enum): + + web = "web" + other = "other" + + +class FlowType(str, Enum): + + bluefield = "Bluefield" + + +class RequestSource(str, Enum): + + rest = "rest" + + +class PublicNetworkAccessType(str, Enum): + + enabled = "Enabled" #: Enables connectivity to Application Insights through public DNS. + disabled = "Disabled" #: Disables public connectivity to Application Insights through public DNS. + + +class PurgeState(str, Enum): + + pending = "pending" + completed = "completed" diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2020_02_02_preview/models/_models.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2020_02_02_preview/models/_models.py new file mode 100644 index 00000000000..256b50e40b1 --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2020_02_02_preview/models/_models.py @@ -0,0 +1,381 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ComponentsResource(Model): + """An azure resource object. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Azure resource Id + :vartype id: str + :ivar name: Azure resource name + :vartype name: str + :ivar type: Azure resource type + :vartype type: str + :param location: Required. Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, **kwargs): + super(ComponentsResource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.location = kwargs.get('location', None) + self.tags = kwargs.get('tags', None) + + +class ApplicationInsightsComponent(ComponentsResource): + """An Application Insights component definition. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Azure resource Id + :vartype id: str + :ivar name: Azure resource name + :vartype name: str + :ivar type: Azure resource type + :vartype type: str + :param location: Required. Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + :param kind: Required. The kind of application that this component refers + to, used to customize UI. This value is a freeform string, values should + typically be one of the following: web, ios, other, store, java, phone. + :type kind: str + :ivar application_id: The unique ID of your application. This field + mirrors the 'Name' field and cannot be changed. + :vartype application_id: str + :ivar app_id: Application Insights Unique ID for your Application. + :vartype app_id: str + :param application_type: Required. Type of application being monitored. + Possible values include: 'web', 'other'. Default value: "web" . + :type application_type: str or + ~azure.mgmt.applicationinsights.v2020_02_02_preview.models.ApplicationType + :param flow_type: Used by the Application Insights system to determine + what kind of flow this component was created by. This is to be set to + 'Bluefield' when creating/updating a component via the REST API. Possible + values include: 'Bluefield'. Default value: "Bluefield" . + :type flow_type: str or + ~azure.mgmt.applicationinsights.v2020_02_02_preview.models.FlowType + :param request_source: Describes what tool created this Application + Insights component. Customers using this API should set this to the + default 'rest'. Possible values include: 'rest'. Default value: "rest" . + :type request_source: str or + ~azure.mgmt.applicationinsights.v2020_02_02_preview.models.RequestSource + :ivar instrumentation_key: Application Insights Instrumentation key. A + read-only value that applications can use to identify the destination for + all telemetry sent to Azure Application Insights. This value will be + supplied upon construction of each new Application Insights component. + :vartype instrumentation_key: str + :ivar creation_date: Creation Date for the Application Insights component, + in ISO 8601 format. + :vartype creation_date: datetime + :ivar tenant_id: Azure Tenant Id. + :vartype tenant_id: str + :param hockey_app_id: The unique application ID created when a new + application is added to HockeyApp, used for communications with HockeyApp. + :type hockey_app_id: str + :ivar hockey_app_token: Token used to authenticate communications with + between Application Insights and HockeyApp. + :vartype hockey_app_token: str + :ivar provisioning_state: Current state of this component: whether or not + is has been provisioned within the resource group it is defined. Users + cannot change this value but are able to read from it. Values will include + Succeeded, Deploying, Canceled, and Failed. + :vartype provisioning_state: str + :param sampling_percentage: Percentage of the data produced by the + application being monitored that is being sampled for Application Insights + telemetry. + :type sampling_percentage: float + :ivar connection_string: Application Insights component connection string. + :vartype connection_string: str + :ivar retention_in_days: Retention period in days. + :vartype retention_in_days: int + :param disable_ip_masking: Disable IP masking. + :type disable_ip_masking: bool + :param immediate_purge_data_on30_days: Purge data immediately after 30 + days. + :type immediate_purge_data_on30_days: bool + :param workspace_resource_id: Required. ResourceId of the log analytics + workspace which the data will be ingested to. + :type workspace_resource_id: str + :ivar private_link_scoped_resources: List of linked private link scope + resources. + :vartype private_link_scoped_resources: + list[~azure.mgmt.applicationinsights.v2020_02_02_preview.models.PrivateLinkScopedResource] + :param public_network_access_for_ingestion: The network access type for + accessing Application Insights ingestion. Possible values include: + 'Enabled', 'Disabled'. Default value: "Enabled" . + :type public_network_access_for_ingestion: str or + ~azure.mgmt.applicationinsights.v2020_02_02_preview.models.PublicNetworkAccessType + :param public_network_access_for_query: The network access type for + accessing Application Insights query. Possible values include: 'Enabled', + 'Disabled'. Default value: "Enabled" . + :type public_network_access_for_query: str or + ~azure.mgmt.applicationinsights.v2020_02_02_preview.models.PublicNetworkAccessType + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + 'kind': {'required': True}, + 'application_id': {'readonly': True}, + 'app_id': {'readonly': True}, + 'application_type': {'required': True}, + 'instrumentation_key': {'readonly': True}, + 'creation_date': {'readonly': True}, + 'tenant_id': {'readonly': True}, + 'hockey_app_token': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'connection_string': {'readonly': True}, + 'retention_in_days': {'readonly': True}, + 'workspace_resource_id': {'required': True}, + 'private_link_scoped_resources': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'application_id': {'key': 'properties.ApplicationId', 'type': 'str'}, + 'app_id': {'key': 'properties.AppId', 'type': 'str'}, + 'application_type': {'key': 'properties.Application_Type', 'type': 'str'}, + 'flow_type': {'key': 'properties.Flow_Type', 'type': 'str'}, + 'request_source': {'key': 'properties.Request_Source', 'type': 'str'}, + 'instrumentation_key': {'key': 'properties.InstrumentationKey', 'type': 'str'}, + 'creation_date': {'key': 'properties.CreationDate', 'type': 'iso-8601'}, + 'tenant_id': {'key': 'properties.TenantId', 'type': 'str'}, + 'hockey_app_id': {'key': 'properties.HockeyAppId', 'type': 'str'}, + 'hockey_app_token': {'key': 'properties.HockeyAppToken', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'sampling_percentage': {'key': 'properties.SamplingPercentage', 'type': 'float'}, + 'connection_string': {'key': 'properties.ConnectionString', 'type': 'str'}, + 'retention_in_days': {'key': 'properties.RetentionInDays', 'type': 'int'}, + 'disable_ip_masking': {'key': 'properties.DisableIpMasking', 'type': 'bool'}, + 'immediate_purge_data_on30_days': {'key': 'properties.ImmediatePurgeDataOn30Days', 'type': 'bool'}, + 'workspace_resource_id': {'key': 'properties.WorkspaceResourceId', 'type': 'str'}, + 'private_link_scoped_resources': {'key': 'properties.PrivateLinkScopedResources', 'type': '[PrivateLinkScopedResource]'}, + 'public_network_access_for_ingestion': {'key': 'properties.publicNetworkAccessForIngestion', 'type': 'str'}, + 'public_network_access_for_query': {'key': 'properties.publicNetworkAccessForQuery', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationInsightsComponent, self).__init__(**kwargs) + self.kind = kwargs.get('kind', None) + self.application_id = None + self.app_id = None + self.application_type = kwargs.get('application_type', "web") + self.flow_type = kwargs.get('flow_type', "Bluefield") + self.request_source = kwargs.get('request_source', "rest") + self.instrumentation_key = None + self.creation_date = None + self.tenant_id = None + self.hockey_app_id = kwargs.get('hockey_app_id', None) + self.hockey_app_token = None + self.provisioning_state = None + self.sampling_percentage = kwargs.get('sampling_percentage', None) + self.connection_string = None + self.retention_in_days = None + self.disable_ip_masking = kwargs.get('disable_ip_masking', None) + self.immediate_purge_data_on30_days = kwargs.get('immediate_purge_data_on30_days', None) + self.workspace_resource_id = kwargs.get('workspace_resource_id', None) + self.private_link_scoped_resources = None + self.public_network_access_for_ingestion = kwargs.get('public_network_access_for_ingestion', "Enabled") + self.public_network_access_for_query = kwargs.get('public_network_access_for_query', "Enabled") + + +class CloudError(Model): + """CloudError. + """ + + _attribute_map = { + } + + +class ComponentPurgeBody(Model): + """Describes the body of a purge request for an App Insights component. + + All required parameters must be populated in order to send to Azure. + + :param table: Required. Table from which to purge data. + :type table: str + :param filters: Required. The set of columns and filters (queries) to run + over them to purge the resulting data. + :type filters: + list[~azure.mgmt.applicationinsights.v2020_02_02_preview.models.ComponentPurgeBodyFilters] + """ + + _validation = { + 'table': {'required': True}, + 'filters': {'required': True}, + } + + _attribute_map = { + 'table': {'key': 'table', 'type': 'str'}, + 'filters': {'key': 'filters', 'type': '[ComponentPurgeBodyFilters]'}, + } + + def __init__(self, **kwargs): + super(ComponentPurgeBody, self).__init__(**kwargs) + self.table = kwargs.get('table', None) + self.filters = kwargs.get('filters', None) + + +class ComponentPurgeBodyFilters(Model): + """User-defined filters to return data which will be purged from the table. + + :param column: The column of the table over which the given query should + run + :type column: str + :param operator: A query operator to evaluate over the provided column and + value(s). Supported operators are ==, =~, in, in~, >, >=, <, <=, between, + and have the same behavior as they would in a KQL query. + :type operator: str + :param value: the value for the operator to function over. This can be a + number (e.g., > 100), a string (timestamp >= '2017-09-01') or array of + values. + :type value: object + :param key: When filtering over custom dimensions, this key will be used + as the name of the custom dimension. + :type key: str + """ + + _attribute_map = { + 'column': {'key': 'column', 'type': 'str'}, + 'operator': {'key': 'operator', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'object'}, + 'key': {'key': 'key', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ComponentPurgeBodyFilters, self).__init__(**kwargs) + self.column = kwargs.get('column', None) + self.operator = kwargs.get('operator', None) + self.value = kwargs.get('value', None) + self.key = kwargs.get('key', None) + + +class ComponentPurgeResponse(Model): + """Response containing operationId for a specific purge action. + + All required parameters must be populated in order to send to Azure. + + :param operation_id: Required. Id to use when querying for status for a + particular purge operation. + :type operation_id: str + """ + + _validation = { + 'operation_id': {'required': True}, + } + + _attribute_map = { + 'operation_id': {'key': 'operationId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ComponentPurgeResponse, self).__init__(**kwargs) + self.operation_id = kwargs.get('operation_id', None) + + +class ComponentPurgeStatusResponse(Model): + """Response containing status for a specific purge operation. + + All required parameters must be populated in order to send to Azure. + + :param status: Required. Status of the operation represented by the + requested Id. Possible values include: 'pending', 'completed' + :type status: str or + ~azure.mgmt.applicationinsights.v2020_02_02_preview.models.PurgeState + """ + + _validation = { + 'status': {'required': True}, + } + + _attribute_map = { + 'status': {'key': 'status', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ComponentPurgeStatusResponse, self).__init__(**kwargs) + self.status = kwargs.get('status', None) + + +class PrivateLinkScopedResource(Model): + """The private link scope resource reference. + + :param resource_id: The full resource Id of the private link scope + resource. + :type resource_id: str + :param scope_id: The private link scope unique Identifier. + :type scope_id: str + """ + + _attribute_map = { + 'resource_id': {'key': 'ResourceId', 'type': 'str'}, + 'scope_id': {'key': 'ScopeId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PrivateLinkScopedResource, self).__init__(**kwargs) + self.resource_id = kwargs.get('resource_id', None) + self.scope_id = kwargs.get('scope_id', None) + + +class TagsResource(Model): + """A container holding only the Tags for a resource, allowing the user to + update the tags on a WebTest instance. + + :param tags: Resource tags + :type tags: dict[str, str] + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, **kwargs): + super(TagsResource, self).__init__(**kwargs) + self.tags = kwargs.get('tags', None) diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2020_02_02_preview/models/_models_py3.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2020_02_02_preview/models/_models_py3.py new file mode 100644 index 00000000000..9b8fcb866f9 --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2020_02_02_preview/models/_models_py3.py @@ -0,0 +1,381 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ComponentsResource(Model): + """An azure resource object. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Azure resource Id + :vartype id: str + :ivar name: Azure resource name + :vartype name: str + :ivar type: Azure resource type + :vartype type: str + :param location: Required. Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, *, location: str, tags=None, **kwargs) -> None: + super(ComponentsResource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.location = location + self.tags = tags + + +class ApplicationInsightsComponent(ComponentsResource): + """An Application Insights component definition. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Azure resource Id + :vartype id: str + :ivar name: Azure resource name + :vartype name: str + :ivar type: Azure resource type + :vartype type: str + :param location: Required. Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + :param kind: Required. The kind of application that this component refers + to, used to customize UI. This value is a freeform string, values should + typically be one of the following: web, ios, other, store, java, phone. + :type kind: str + :ivar application_id: The unique ID of your application. This field + mirrors the 'Name' field and cannot be changed. + :vartype application_id: str + :ivar app_id: Application Insights Unique ID for your Application. + :vartype app_id: str + :param application_type: Required. Type of application being monitored. + Possible values include: 'web', 'other'. Default value: "web" . + :type application_type: str or + ~azure.mgmt.applicationinsights.v2020_02_02_preview.models.ApplicationType + :param flow_type: Used by the Application Insights system to determine + what kind of flow this component was created by. This is to be set to + 'Bluefield' when creating/updating a component via the REST API. Possible + values include: 'Bluefield'. Default value: "Bluefield" . + :type flow_type: str or + ~azure.mgmt.applicationinsights.v2020_02_02_preview.models.FlowType + :param request_source: Describes what tool created this Application + Insights component. Customers using this API should set this to the + default 'rest'. Possible values include: 'rest'. Default value: "rest" . + :type request_source: str or + ~azure.mgmt.applicationinsights.v2020_02_02_preview.models.RequestSource + :ivar instrumentation_key: Application Insights Instrumentation key. A + read-only value that applications can use to identify the destination for + all telemetry sent to Azure Application Insights. This value will be + supplied upon construction of each new Application Insights component. + :vartype instrumentation_key: str + :ivar creation_date: Creation Date for the Application Insights component, + in ISO 8601 format. + :vartype creation_date: datetime + :ivar tenant_id: Azure Tenant Id. + :vartype tenant_id: str + :param hockey_app_id: The unique application ID created when a new + application is added to HockeyApp, used for communications with HockeyApp. + :type hockey_app_id: str + :ivar hockey_app_token: Token used to authenticate communications with + between Application Insights and HockeyApp. + :vartype hockey_app_token: str + :ivar provisioning_state: Current state of this component: whether or not + is has been provisioned within the resource group it is defined. Users + cannot change this value but are able to read from it. Values will include + Succeeded, Deploying, Canceled, and Failed. + :vartype provisioning_state: str + :param sampling_percentage: Percentage of the data produced by the + application being monitored that is being sampled for Application Insights + telemetry. + :type sampling_percentage: float + :ivar connection_string: Application Insights component connection string. + :vartype connection_string: str + :ivar retention_in_days: Retention period in days. + :vartype retention_in_days: int + :param disable_ip_masking: Disable IP masking. + :type disable_ip_masking: bool + :param immediate_purge_data_on30_days: Purge data immediately after 30 + days. + :type immediate_purge_data_on30_days: bool + :param workspace_resource_id: Required. ResourceId of the log analytics + workspace which the data will be ingested to. + :type workspace_resource_id: str + :ivar private_link_scoped_resources: List of linked private link scope + resources. + :vartype private_link_scoped_resources: + list[~azure.mgmt.applicationinsights.v2020_02_02_preview.models.PrivateLinkScopedResource] + :param public_network_access_for_ingestion: The network access type for + accessing Application Insights ingestion. Possible values include: + 'Enabled', 'Disabled'. Default value: "Enabled" . + :type public_network_access_for_ingestion: str or + ~azure.mgmt.applicationinsights.v2020_02_02_preview.models.PublicNetworkAccessType + :param public_network_access_for_query: The network access type for + accessing Application Insights query. Possible values include: 'Enabled', + 'Disabled'. Default value: "Enabled" . + :type public_network_access_for_query: str or + ~azure.mgmt.applicationinsights.v2020_02_02_preview.models.PublicNetworkAccessType + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + 'kind': {'required': True}, + 'application_id': {'readonly': True}, + 'app_id': {'readonly': True}, + 'application_type': {'required': True}, + 'instrumentation_key': {'readonly': True}, + 'creation_date': {'readonly': True}, + 'tenant_id': {'readonly': True}, + 'hockey_app_token': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'connection_string': {'readonly': True}, + 'retention_in_days': {'readonly': True}, + 'workspace_resource_id': {'required': True}, + 'private_link_scoped_resources': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'application_id': {'key': 'properties.ApplicationId', 'type': 'str'}, + 'app_id': {'key': 'properties.AppId', 'type': 'str'}, + 'application_type': {'key': 'properties.Application_Type', 'type': 'str'}, + 'flow_type': {'key': 'properties.Flow_Type', 'type': 'str'}, + 'request_source': {'key': 'properties.Request_Source', 'type': 'str'}, + 'instrumentation_key': {'key': 'properties.InstrumentationKey', 'type': 'str'}, + 'creation_date': {'key': 'properties.CreationDate', 'type': 'iso-8601'}, + 'tenant_id': {'key': 'properties.TenantId', 'type': 'str'}, + 'hockey_app_id': {'key': 'properties.HockeyAppId', 'type': 'str'}, + 'hockey_app_token': {'key': 'properties.HockeyAppToken', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'sampling_percentage': {'key': 'properties.SamplingPercentage', 'type': 'float'}, + 'connection_string': {'key': 'properties.ConnectionString', 'type': 'str'}, + 'retention_in_days': {'key': 'properties.RetentionInDays', 'type': 'int'}, + 'disable_ip_masking': {'key': 'properties.DisableIpMasking', 'type': 'bool'}, + 'immediate_purge_data_on30_days': {'key': 'properties.ImmediatePurgeDataOn30Days', 'type': 'bool'}, + 'workspace_resource_id': {'key': 'properties.WorkspaceResourceId', 'type': 'str'}, + 'private_link_scoped_resources': {'key': 'properties.PrivateLinkScopedResources', 'type': '[PrivateLinkScopedResource]'}, + 'public_network_access_for_ingestion': {'key': 'properties.publicNetworkAccessForIngestion', 'type': 'str'}, + 'public_network_access_for_query': {'key': 'properties.publicNetworkAccessForQuery', 'type': 'str'}, + } + + def __init__(self, *, location: str, kind: str, workspace_resource_id: str, tags=None, application_type="web", flow_type="Bluefield", request_source="rest", hockey_app_id: str=None, sampling_percentage: float=None, disable_ip_masking: bool=None, immediate_purge_data_on30_days: bool=None, public_network_access_for_ingestion="Enabled", public_network_access_for_query="Enabled", **kwargs) -> None: + super(ApplicationInsightsComponent, self).__init__(location=location, tags=tags, **kwargs) + self.kind = kind + self.application_id = None + self.app_id = None + self.application_type = application_type + self.flow_type = flow_type + self.request_source = request_source + self.instrumentation_key = None + self.creation_date = None + self.tenant_id = None + self.hockey_app_id = hockey_app_id + self.hockey_app_token = None + self.provisioning_state = None + self.sampling_percentage = sampling_percentage + self.connection_string = None + self.retention_in_days = None + self.disable_ip_masking = disable_ip_masking + self.immediate_purge_data_on30_days = immediate_purge_data_on30_days + self.workspace_resource_id = workspace_resource_id + self.private_link_scoped_resources = None + self.public_network_access_for_ingestion = public_network_access_for_ingestion + self.public_network_access_for_query = public_network_access_for_query + + +class CloudError(Model): + """CloudError. + """ + + _attribute_map = { + } + + +class ComponentPurgeBody(Model): + """Describes the body of a purge request for an App Insights component. + + All required parameters must be populated in order to send to Azure. + + :param table: Required. Table from which to purge data. + :type table: str + :param filters: Required. The set of columns and filters (queries) to run + over them to purge the resulting data. + :type filters: + list[~azure.mgmt.applicationinsights.v2020_02_02_preview.models.ComponentPurgeBodyFilters] + """ + + _validation = { + 'table': {'required': True}, + 'filters': {'required': True}, + } + + _attribute_map = { + 'table': {'key': 'table', 'type': 'str'}, + 'filters': {'key': 'filters', 'type': '[ComponentPurgeBodyFilters]'}, + } + + def __init__(self, *, table: str, filters, **kwargs) -> None: + super(ComponentPurgeBody, self).__init__(**kwargs) + self.table = table + self.filters = filters + + +class ComponentPurgeBodyFilters(Model): + """User-defined filters to return data which will be purged from the table. + + :param column: The column of the table over which the given query should + run + :type column: str + :param operator: A query operator to evaluate over the provided column and + value(s). Supported operators are ==, =~, in, in~, >, >=, <, <=, between, + and have the same behavior as they would in a KQL query. + :type operator: str + :param value: the value for the operator to function over. This can be a + number (e.g., > 100), a string (timestamp >= '2017-09-01') or array of + values. + :type value: object + :param key: When filtering over custom dimensions, this key will be used + as the name of the custom dimension. + :type key: str + """ + + _attribute_map = { + 'column': {'key': 'column', 'type': 'str'}, + 'operator': {'key': 'operator', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'object'}, + 'key': {'key': 'key', 'type': 'str'}, + } + + def __init__(self, *, column: str=None, operator: str=None, value=None, key: str=None, **kwargs) -> None: + super(ComponentPurgeBodyFilters, self).__init__(**kwargs) + self.column = column + self.operator = operator + self.value = value + self.key = key + + +class ComponentPurgeResponse(Model): + """Response containing operationId for a specific purge action. + + All required parameters must be populated in order to send to Azure. + + :param operation_id: Required. Id to use when querying for status for a + particular purge operation. + :type operation_id: str + """ + + _validation = { + 'operation_id': {'required': True}, + } + + _attribute_map = { + 'operation_id': {'key': 'operationId', 'type': 'str'}, + } + + def __init__(self, *, operation_id: str, **kwargs) -> None: + super(ComponentPurgeResponse, self).__init__(**kwargs) + self.operation_id = operation_id + + +class ComponentPurgeStatusResponse(Model): + """Response containing status for a specific purge operation. + + All required parameters must be populated in order to send to Azure. + + :param status: Required. Status of the operation represented by the + requested Id. Possible values include: 'pending', 'completed' + :type status: str or + ~azure.mgmt.applicationinsights.v2020_02_02_preview.models.PurgeState + """ + + _validation = { + 'status': {'required': True}, + } + + _attribute_map = { + 'status': {'key': 'status', 'type': 'str'}, + } + + def __init__(self, *, status, **kwargs) -> None: + super(ComponentPurgeStatusResponse, self).__init__(**kwargs) + self.status = status + + +class PrivateLinkScopedResource(Model): + """The private link scope resource reference. + + :param resource_id: The full resource Id of the private link scope + resource. + :type resource_id: str + :param scope_id: The private link scope unique Identifier. + :type scope_id: str + """ + + _attribute_map = { + 'resource_id': {'key': 'ResourceId', 'type': 'str'}, + 'scope_id': {'key': 'ScopeId', 'type': 'str'}, + } + + def __init__(self, *, resource_id: str=None, scope_id: str=None, **kwargs) -> None: + super(PrivateLinkScopedResource, self).__init__(**kwargs) + self.resource_id = resource_id + self.scope_id = scope_id + + +class TagsResource(Model): + """A container holding only the Tags for a resource, allowing the user to + update the tags on a WebTest instance. + + :param tags: Resource tags + :type tags: dict[str, str] + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, *, tags=None, **kwargs) -> None: + super(TagsResource, self).__init__(**kwargs) + self.tags = tags diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2020_02_02_preview/models/_paged_models.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2020_02_02_preview/models/_paged_models.py new file mode 100644 index 00000000000..0f4379ac3bd --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2020_02_02_preview/models/_paged_models.py @@ -0,0 +1,27 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.paging import Paged + + +class ApplicationInsightsComponentPaged(Paged): + """ + A paging container for iterating over a list of :class:`ApplicationInsightsComponent ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ApplicationInsightsComponent]'} + } + + def __init__(self, *args, **kwargs): + + super(ApplicationInsightsComponentPaged, self).__init__(*args, **kwargs) diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2020_02_02_preview/operations/__init__.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2020_02_02_preview/operations/__init__.py new file mode 100644 index 00000000000..e4259a934db --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2020_02_02_preview/operations/__init__.py @@ -0,0 +1,16 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from ._components_operations import ComponentsOperations + +__all__ = [ + 'ComponentsOperations', +] diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2020_02_02_preview/operations/_components_operations.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2020_02_02_preview/operations/_components_operations.py new file mode 100644 index 00000000000..fb453f6f5ce --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2020_02_02_preview/operations/_components_operations.py @@ -0,0 +1,594 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class ComponentsOperations(object): + """ComponentsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2020-02-02-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-02-02-preview" + + self.config = config + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Gets a list of all Application Insights components within a + subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of ApplicationInsightsComponent + :rtype: + ~azure.mgmt.applicationinsights.v2020_02_02_preview.models.ApplicationInsightsComponentPaged[~azure.mgmt.applicationinsights.v2020_02_02_preview.models.ApplicationInsightsComponent] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.ApplicationInsightsComponentPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Insights/components'} + + def list_by_resource_group( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Gets a list of Application Insights components within a resource group. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of ApplicationInsightsComponent + :rtype: + ~azure.mgmt.applicationinsights.v2020_02_02_preview.models.ApplicationInsightsComponentPaged[~azure.mgmt.applicationinsights.v2020_02_02_preview.models.ApplicationInsightsComponent] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.ApplicationInsightsComponentPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components'} + + def delete( + self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): + """Deletes an Application Insights component. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param resource_name: The name of the Application Insights component + resource. + :type resource_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}'} + + def get( + self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): + """Returns an Application Insights component. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param resource_name: The name of the Application Insights component + resource. + :type resource_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ApplicationInsightsComponent or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.applicationinsights.v2020_02_02_preview.models.ApplicationInsightsComponent + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ApplicationInsightsComponent', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}'} + + def create_or_update( + self, resource_group_name, resource_name, insight_properties, custom_headers=None, raw=False, **operation_config): + """Creates (or updates) an Application Insights component. Note: You + cannot specify a different value for InstrumentationKey nor AppId in + the Put operation. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param resource_name: The name of the Application Insights component + resource. + :type resource_name: str + :param insight_properties: Properties that need to be specified to + create an Application Insights component. + :type insight_properties: + ~azure.mgmt.applicationinsights.v2020_02_02_preview.models.ApplicationInsightsComponent + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ApplicationInsightsComponent or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.applicationinsights.v2020_02_02_preview.models.ApplicationInsightsComponent + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(insight_properties, 'ApplicationInsightsComponent') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ApplicationInsightsComponent', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}'} + + def update_tags( + self, resource_group_name, resource_name, tags=None, custom_headers=None, raw=False, **operation_config): + """Updates an existing component's tags. To update other fields use the + CreateOrUpdate method. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param resource_name: The name of the Application Insights component + resource. + :type resource_name: str + :param tags: Resource tags + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ApplicationInsightsComponent or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.applicationinsights.v2020_02_02_preview.models.ApplicationInsightsComponent + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + component_tags = models.TagsResource(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(component_tags, 'TagsResource') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ApplicationInsightsComponent', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}'} + + def purge( + self, resource_group_name, resource_name, table, filters, custom_headers=None, raw=False, **operation_config): + """Purges data in an Application Insights component by a set of + user-defined filters. + In order to manage system resources, purge requests are throttled at 50 + requests per hour. You should batch the execution of purge requests by + sending a single command whose predicate includes all user identities + that require purging. Use the in operator to specify multiple + identities. You should run the query prior to using for a purge request + to verify that the results are expected. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param resource_name: The name of the Application Insights component + resource. + :type resource_name: str + :param table: Table from which to purge data. + :type table: str + :param filters: The set of columns and filters (queries) to run over + them to purge the resulting data. + :type filters: + list[~azure.mgmt.applicationinsights.v2020_02_02_preview.models.ComponentPurgeBodyFilters] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ComponentPurgeResponse or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.applicationinsights.v2020_02_02_preview.models.ComponentPurgeResponse + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + body = models.ComponentPurgeBody(table=table, filters=filters) + + # Construct URL + url = self.purge.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(body, 'ComponentPurgeBody') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + if response.status_code == 202: + deserialized = self._deserialize('ComponentPurgeResponse', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + purge.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/purge'} + + def get_purge_status( + self, resource_group_name, resource_name, purge_id, custom_headers=None, raw=False, **operation_config): + """Get status for an ongoing purge operation. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param resource_name: The name of the Application Insights component + resource. + :type resource_name: str + :param purge_id: In a purge status request, this is the Id of the + operation the status of which is returned. + :type purge_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 + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ComponentPurgeStatusResponse or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.applicationinsights.v2020_02_02_preview.models.ComponentPurgeStatusResponse + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_purge_status.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str'), + 'purgeId': self._serialize.url("purge_id", purge_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ComponentPurgeStatusResponse', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_purge_status.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/operations/{purgeId}'} diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2020_02_02_preview/version.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2020_02_02_preview/version.py new file mode 100644 index 00000000000..87adec2812d --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2020_02_02_preview/version.py @@ -0,0 +1,13 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +VERSION = "2020-02-02-preview" + diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2020_03_01_preview/__init__.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2020_03_01_preview/__init__.py new file mode 100644 index 00000000000..298512941d9 --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2020_03_01_preview/__init__.py @@ -0,0 +1,19 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from ._configuration import ApplicationInsightsManagementClientConfiguration +from ._application_insights_management_client import ApplicationInsightsManagementClient +__all__ = ['ApplicationInsightsManagementClient', 'ApplicationInsightsManagementClientConfiguration'] + +from .version import VERSION + +__version__ = VERSION + diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2020_03_01_preview/_application_insights_management_client.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2020_03_01_preview/_application_insights_management_client.py new file mode 100644 index 00000000000..047f9a69313 --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2020_03_01_preview/_application_insights_management_client.py @@ -0,0 +1,49 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.service_client import SDKClient +from msrest import Serializer, Deserializer + +from ._configuration import ApplicationInsightsManagementClientConfiguration +from .operations import ComponentLinkedStorageAccountsOperations +from . import models + + +class ApplicationInsightsManagementClient(SDKClient): + """Composite Swagger for Application Insights Management Client + + :ivar config: Configuration for client. + :vartype config: ApplicationInsightsManagementClientConfiguration + + :ivar component_linked_storage_accounts: ComponentLinkedStorageAccounts operations + :vartype component_linked_storage_accounts: azure.mgmt.applicationinsights.v2020_03_01_preview.operations.ComponentLinkedStorageAccountsOperations + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=None): + + self.config = ApplicationInsightsManagementClientConfiguration(credentials, subscription_id, base_url) + super(ApplicationInsightsManagementClient, self).__init__(self.config.credentials, self.config) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self.api_version = '2020-03-01-preview' + self._serialize = Serializer(client_models) + self._deserialize = Deserializer(client_models) + + self.component_linked_storage_accounts = ComponentLinkedStorageAccountsOperations( + self._client, self.config, self._serialize, self._deserialize) diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2020_03_01_preview/_configuration.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2020_03_01_preview/_configuration.py new file mode 100644 index 00000000000..6c855295a4b --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2020_03_01_preview/_configuration.py @@ -0,0 +1,48 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +from msrestazure import AzureConfiguration + +from .version import VERSION + + +class ApplicationInsightsManagementClientConfiguration(AzureConfiguration): + """Configuration for ApplicationInsightsManagementClient + Note that all parameters used to create this instance are saved as instance + attributes. + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=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 base_url: + base_url = 'https://management.azure.com' + + super(ApplicationInsightsManagementClientConfiguration, self).__init__(base_url) + + # Starting Autorest.Python 4.0.64, make connection pool activated by default + self.keep_alive = True + + self.add_user_agent('azure-mgmt-applicationinsights/{}'.format(VERSION)) + self.add_user_agent('Azure-SDK-For-Python') + + self.credentials = credentials + self.subscription_id = subscription_id diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2020_03_01_preview/models/__init__.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2020_03_01_preview/models/__init__.py new file mode 100644 index 00000000000..a622440af61 --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2020_03_01_preview/models/__init__.py @@ -0,0 +1,37 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +try: + from ._models_py3 import AzureEntityResource + from ._models_py3 import ComponentLinkedStorageAccounts + from ._models_py3 import ComponentLinkedStorageAccountsPatch + from ._models_py3 import ErrorResponse, ErrorResponseException + from ._models_py3 import ProxyResource + from ._models_py3 import Resource + from ._models_py3 import TrackedResource +except (SyntaxError, ImportError): + from ._models import AzureEntityResource + from ._models import ComponentLinkedStorageAccounts + from ._models import ComponentLinkedStorageAccountsPatch + from ._models import ErrorResponse, ErrorResponseException + from ._models import ProxyResource + from ._models import Resource + from ._models import TrackedResource + +__all__ = [ + 'AzureEntityResource', + 'ComponentLinkedStorageAccounts', + 'ComponentLinkedStorageAccountsPatch', + 'ErrorResponse', 'ErrorResponseException', + 'ProxyResource', + 'Resource', + 'TrackedResource', +] diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2020_03_01_preview/models/_models.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2020_03_01_preview/models/_models.py new file mode 100644 index 00000000000..1d6c7cfb916 --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2020_03_01_preview/models/_models.py @@ -0,0 +1,254 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model +from msrest.exceptions import HttpOperationError + + +class Resource(Model): + """Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Resource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + + +class AzureEntityResource(Resource): + """The resource model definition for a Azure Resource Manager resource with an + etag. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :ivar etag: Resource Etag. + :vartype etag: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AzureEntityResource, self).__init__(**kwargs) + self.etag = None + + +class CloudError(Model): + """CloudError. + """ + + _attribute_map = { + } + + +class ProxyResource(Resource): + """The resource model definition for a ARM proxy resource. It will have + everything other than required location and tags. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ProxyResource, self).__init__(**kwargs) + + +class ComponentLinkedStorageAccounts(ProxyResource): + """An Application Insights component linked storage accounts. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :param linked_storage_account: Linked storage account resource ID + :type linked_storage_account: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'linked_storage_account': {'key': 'properties.linkedStorageAccount', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ComponentLinkedStorageAccounts, self).__init__(**kwargs) + self.linked_storage_account = kwargs.get('linked_storage_account', None) + + +class ComponentLinkedStorageAccountsPatch(Model): + """An Application Insights component linked storage accounts patch. + + :param linked_storage_account: Linked storage account resource ID + :type linked_storage_account: str + """ + + _attribute_map = { + 'linked_storage_account': {'key': 'properties.linkedStorageAccount', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ComponentLinkedStorageAccountsPatch, self).__init__(**kwargs) + self.linked_storage_account = kwargs.get('linked_storage_account', None) + + +class ErrorResponse(Model): + """Describe the format of an Error response. + + :param code: Error code + :type code: str + :param message: Error message indicating why the operation failed. + :type message: str + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ErrorResponse, self).__init__(**kwargs) + self.code = kwargs.get('code', None) + self.message = kwargs.get('message', None) + + +class ErrorResponseException(HttpOperationError): + """Server responsed with exception of type: 'ErrorResponse'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(ErrorResponseException, self).__init__(deserialize, response, 'ErrorResponse', *args) + + +class TrackedResource(Resource): + """The resource model definition for a ARM tracked top level resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param location: Required. The geo-location where the resource lives + :type location: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'location': {'key': 'location', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(TrackedResource, self).__init__(**kwargs) + self.tags = kwargs.get('tags', None) + self.location = kwargs.get('location', None) diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2020_03_01_preview/models/_models_py3.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2020_03_01_preview/models/_models_py3.py new file mode 100644 index 00000000000..887bad54fdf --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2020_03_01_preview/models/_models_py3.py @@ -0,0 +1,254 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model +from msrest.exceptions import HttpOperationError + + +class Resource(Model): + """Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(Resource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + + +class AzureEntityResource(Resource): + """The resource model definition for a Azure Resource Manager resource with an + etag. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :ivar etag: Resource Etag. + :vartype etag: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(AzureEntityResource, self).__init__(**kwargs) + self.etag = None + + +class CloudError(Model): + """CloudError. + """ + + _attribute_map = { + } + + +class ProxyResource(Resource): + """The resource model definition for a ARM proxy resource. It will have + everything other than required location and tags. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(ProxyResource, self).__init__(**kwargs) + + +class ComponentLinkedStorageAccounts(ProxyResource): + """An Application Insights component linked storage accounts. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :param linked_storage_account: Linked storage account resource ID + :type linked_storage_account: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'linked_storage_account': {'key': 'properties.linkedStorageAccount', 'type': 'str'}, + } + + def __init__(self, *, linked_storage_account: str=None, **kwargs) -> None: + super(ComponentLinkedStorageAccounts, self).__init__(**kwargs) + self.linked_storage_account = linked_storage_account + + +class ComponentLinkedStorageAccountsPatch(Model): + """An Application Insights component linked storage accounts patch. + + :param linked_storage_account: Linked storage account resource ID + :type linked_storage_account: str + """ + + _attribute_map = { + 'linked_storage_account': {'key': 'properties.linkedStorageAccount', 'type': 'str'}, + } + + def __init__(self, *, linked_storage_account: str=None, **kwargs) -> None: + super(ComponentLinkedStorageAccountsPatch, self).__init__(**kwargs) + self.linked_storage_account = linked_storage_account + + +class ErrorResponse(Model): + """Describe the format of an Error response. + + :param code: Error code + :type code: str + :param message: Error message indicating why the operation failed. + :type message: str + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__(self, *, code: str=None, message: str=None, **kwargs) -> None: + super(ErrorResponse, self).__init__(**kwargs) + self.code = code + self.message = message + + +class ErrorResponseException(HttpOperationError): + """Server responsed with exception of type: 'ErrorResponse'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(ErrorResponseException, self).__init__(deserialize, response, 'ErrorResponse', *args) + + +class TrackedResource(Resource): + """The resource model definition for a ARM tracked top level resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param location: Required. The geo-location where the resource lives + :type location: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'location': {'key': 'location', 'type': 'str'}, + } + + def __init__(self, *, location: str, tags=None, **kwargs) -> None: + super(TrackedResource, self).__init__(**kwargs) + self.tags = tags + self.location = location diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2020_03_01_preview/operations/__init__.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2020_03_01_preview/operations/__init__.py new file mode 100644 index 00000000000..c3463e0465f --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2020_03_01_preview/operations/__init__.py @@ -0,0 +1,16 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from ._component_linked_storage_accounts_operations import ComponentLinkedStorageAccountsOperations + +__all__ = [ + 'ComponentLinkedStorageAccountsOperations', +] diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2020_03_01_preview/operations/_component_linked_storage_accounts_operations.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2020_03_01_preview/operations/_component_linked_storage_accounts_operations.py new file mode 100644 index 00000000000..8f664f7027d --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2020_03_01_preview/operations/_component_linked_storage_accounts_operations.py @@ -0,0 +1,309 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse + +from .. import models + + +class ComponentLinkedStorageAccountsOperations(object): + """ComponentLinkedStorageAccountsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2020-03-01-preview". + :ivar storage_type: The type of the Application Insights component data source for the linked storage account. Constant value: "serviceprofiler". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-03-01-preview" + self.storage_type = "serviceprofiler" + + self.config = config + + def get( + self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): + """Returns the current linked storage settings for an Application Insights + component. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param resource_name: The name of the Application Insights component + resource. + :type resource_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ComponentLinkedStorageAccounts or ClientRawResponse if + raw=true + :rtype: + ~azure.mgmt.applicationinsights.v2020_03_01_preview.models.ComponentLinkedStorageAccounts + or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str'), + 'storageType': self._serialize.url("self.storage_type", self.storage_type, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('ComponentLinkedStorageAccounts', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/components/{resourceName}/linkedStorageAccounts/{storageType}'} + + def create_and_update( + self, resource_group_name, resource_name, linked_storage_account=None, custom_headers=None, raw=False, **operation_config): + """Replace current linked storage account for an Application Insights + component. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param resource_name: The name of the Application Insights component + resource. + :type resource_name: str + :param linked_storage_account: Linked storage account resource ID + :type linked_storage_account: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ComponentLinkedStorageAccounts or ClientRawResponse if + raw=true + :rtype: + ~azure.mgmt.applicationinsights.v2020_03_01_preview.models.ComponentLinkedStorageAccounts + or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + linked_storage_accounts_properties = models.ComponentLinkedStorageAccounts(linked_storage_account=linked_storage_account) + + # Construct URL + url = self.create_and_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str'), + 'storageType': self._serialize.url("self.storage_type", self.storage_type, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(linked_storage_accounts_properties, 'ComponentLinkedStorageAccounts') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('ComponentLinkedStorageAccounts', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_and_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/components/{resourceName}/linkedStorageAccounts/{storageType}'} + + def update( + self, resource_group_name, resource_name, linked_storage_account=None, custom_headers=None, raw=False, **operation_config): + """Update linked storage accounts for an Application Insights component. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param resource_name: The name of the Application Insights component + resource. + :type resource_name: str + :param linked_storage_account: Linked storage account resource ID + :type linked_storage_account: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ComponentLinkedStorageAccounts or ClientRawResponse if + raw=true + :rtype: + ~azure.mgmt.applicationinsights.v2020_03_01_preview.models.ComponentLinkedStorageAccounts + or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + linked_storage_accounts_properties = models.ComponentLinkedStorageAccountsPatch(linked_storage_account=linked_storage_account) + + # Construct URL + url = self.update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str'), + 'storageType': self._serialize.url("self.storage_type", self.storage_type, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(linked_storage_accounts_properties, 'ComponentLinkedStorageAccountsPatch') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('ComponentLinkedStorageAccounts', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/components/{resourceName}/linkedStorageAccounts/{storageType}'} + + def delete( + self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): + """Delete linked storage accounts for an Application Insights component. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param resource_name: The name of the Application Insights component + resource. + :type resource_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str'), + 'storageType': self._serialize.url("self.storage_type", self.storage_type, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 204]: + raise models.ErrorResponseException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/components/{resourceName}/linkedStorageAccounts/{storageType}'} diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2020_03_01_preview/version.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2020_03_01_preview/version.py new file mode 100644 index 00000000000..b6fb60cec9a --- /dev/null +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2020_03_01_preview/version.py @@ -0,0 +1,13 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +VERSION = "2020-03-01-preview" + diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/version.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/version.py index e7efe25ea7e..9bd1dfac7ec 100644 --- a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/version.py +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/version.py @@ -9,5 +9,5 @@ # regenerated. # -------------------------------------------------------------------------- -VERSION = "0.1.1" +VERSION = "0.2.0" diff --git a/src/application-insights/setup.py b/src/application-insights/setup.py index a9e0e15e9e2..4d82a2c8791 100644 --- a/src/application-insights/setup.py +++ b/src/application-insights/setup.py @@ -8,7 +8,7 @@ from codecs import open from setuptools import setup, find_packages -VERSION = "0.1.6" +VERSION = "0.1.8" CLASSIFIERS = [ 'Development Status :: 4 - Beta', @@ -24,7 +24,9 @@ 'License :: OSI Approved :: MIT License', ] -DEPENDENCIES = [] +DEPENDENCIES = [ + "isodate~=0.6.0" +] with open('README.rst', 'r', encoding='utf-8') as f: README = f.read() diff --git a/src/azure-firewall/HISTORY.rst b/src/azure-firewall/HISTORY.rst index 1aaf54f7d36..cd244681336 100644 --- a/src/azure-firewall/HISTORY.rst +++ b/src/azure-firewall/HISTORY.rst @@ -3,6 +3,17 @@ Release History =============== + +0.4.0 +++++++ +* `az network firewall create/update`: add --dns-servers, --enable-dns-proxy, --require-dns-proxy-for-network-rules to configure DNS proxy settings. +* `az network firewall policy create/update`: add --dns-servers, --enable-dns-proxy, --require-dns-proxy-for-network-rules to configure DNS proxy settings. +* `az network firewall policy create`: support threat white list arguments. +* `az network firewall create/update`: support --threat-intel-model argument. +0.3.1 +++++++ +* `az network firewall network-rule/nat-rule`: Bug fixes. + 0.3.0 ++++++ * `az network firewall ip-config`: Add management ip config args group. diff --git a/src/azure-firewall/azext_firewall/__init__.py b/src/azure-firewall/azext_firewall/__init__.py index 72712e6ee9c..4d20821fef8 100644 --- a/src/azure-firewall/azext_firewall/__init__.py +++ b/src/azure-firewall/azext_firewall/__init__.py @@ -15,7 +15,7 @@ def __init__(self, cli_ctx=None): from azure.cli.core.commands import CliCommandType from .profiles import CUSTOM_FIREWALL, CUSTOM_FIREWALL_POLICY register_resource_type('latest', CUSTOM_FIREWALL, '2019-11-01') - register_resource_type('latest', CUSTOM_FIREWALL_POLICY, '2019-07-01') + register_resource_type('latest', CUSTOM_FIREWALL_POLICY, '2020-05-01') super(AzureFirewallCommandsLoader, self).__init__( cli_ctx=cli_ctx, diff --git a/src/azure-firewall/azext_firewall/_client_factory.py b/src/azure-firewall/azext_firewall/_client_factory.py index 353122a721d..0e71290236a 100644 --- a/src/azure-firewall/azext_firewall/_client_factory.py +++ b/src/azure-firewall/azext_firewall/_client_factory.py @@ -15,7 +15,7 @@ def network_client_policy_factory(cli_ctx, aux_subscriptions=None, **_): from azure.cli.core.commands.client_factory import get_mgmt_service_client from .profiles import CUSTOM_FIREWALL_POLICY return get_mgmt_service_client(cli_ctx, CUSTOM_FIREWALL_POLICY, aux_subscriptions=aux_subscriptions, - api_version='2019-07-01') + api_version='2020-05-01') def cf_firewalls(cli_ctx, _): @@ -30,5 +30,5 @@ def cf_firewall_policies(cli_ctx, _): return network_client_policy_factory(cli_ctx).firewall_policies -def cf_firewall_policy_rule_groups(cli_ctx, _): - return network_client_policy_factory(cli_ctx).firewall_policy_rule_groups +def cf_firewall_policy_rule_collection_groups(cli_ctx, _): + return network_client_policy_factory(cli_ctx).firewall_policy_rule_collection_groups diff --git a/src/azure-firewall/azext_firewall/_params.py b/src/azure-firewall/azext_firewall/_params.py index 3503aa0b313..58e9fb21ae9 100644 --- a/src/azure-firewall/azext_firewall/_params.py +++ b/src/azure-firewall/azext_firewall/_params.py @@ -7,7 +7,8 @@ import argparse from azure.cli.core.commands.parameters import ( - get_resource_name_completion_list, tags_type, get_enum_type, get_location_type, zones_type) + get_resource_name_completion_list, tags_type, get_enum_type, get_location_type, zones_type, + get_three_state_flag) from azure.cli.core.commands.validators import get_default_location_from_resource_group from knack.arguments import CLIArgumentType @@ -56,6 +57,13 @@ def load_arguments(self, _): 'The default sku in server end is AZFW_VNet. ' 'If you want to attach azure firewall to vhub, you should set sku to AZFW_Hub.') c.argument('private_ranges', nargs='+', validator=process_private_ranges, help='Space-separated list of SNAT private range. Validate values are single Ip, Ip prefixes or a single special value "IANAPrivateRanges"') + c.argument('threat_intel_mode', arg_type=get_enum_type(['Alert', 'Deny', 'Off']), help='The operation mode for Threat Intelligence.') + + with self.argument_context('network firewall', arg_group='DNS') as c: + c.argument('dns_servers', nargs='+', help='Space-separated list of DNS server IP addresses') + c.argument('enable_dns_proxy', arg_type=get_three_state_flag(), help='Enable DNS Proxy') + c.argument('require_dns_proxy_for_network_rules', arg_type=get_three_state_flag(), help='Requires DNS Proxy functionality for FQDNs within Network Rules') + with self.argument_context('network firewall threat-intel-whitelist') as c: c.argument('ip_addresses', nargs='+', validator=process_threat_intel_whitelist_ip_addresses, help='Space-separated list of IPv4 addresses.') c.argument('fqdns', nargs='+', validator=process_threat_intel_whitelist_fqdns, help='Space-separated list of FQDNs.') @@ -140,14 +148,18 @@ def load_arguments(self, _): c.argument('base_policy', validator=validate_firewall_policy, help='The name or ID of parent firewall policy from which rules are inherited.') c.argument('threat_intel_mode', arg_type=get_enum_type(['Alert', 'Deny', 'Off']), help='The operation mode for Threat Intelligence.') + with self.argument_context('network firewall policy', arg_group='Threat Intel Whitelist') as c: + c.argument('ip_addresses', nargs='+', help='Space-separated list of IPv4 addresses.') + c.argument('fqdns', nargs='+', help='Space-separated list of FQDNs.') + with self.argument_context('network firewall policy rule-collection-group') as c: c.argument('firewall_policy_name', options_list=['--policy-name'], help='The name of the Firewall Policy.') - c.argument('rule_group_name', options_list=['--name', '-n'], help='The name of the Firewall Policy Rule Collection Group.') + c.argument('rule_collection_group_name', options_list=['--name', '-n'], help='The name of the Firewall Policy Rule Collection Group.') c.argument('priority', type=int, help='Priority of the Firewall Policy Rule Collection Group') with self.argument_context('network firewall policy rule-collection-group collection') as c: - c.argument('rule_group_name', options_list=['--rule-collection-group-name'], help='The name of the Firewall Policy Rule Collection Group.') - c.argument('rule_name', options_list=['--name', '-n'], help='The name of the collection in Firewall Policy Rule Collection Group.') + c.argument('rule_collection_group_name', options_list=['--rule-collection-group-name'], help='The name of the Firewall Policy Rule Collection Group.') + c.argument('rule_collection_name', options_list=['--name', '-n'], help='The name of the collection in Firewall Policy Rule Collection Group.') c.argument('rule_priority', options_list=['--collection-priority'], type=int, help='The priority of the rule in Firewall Policy Rule Collection Group') c.argument('description', arg_group='Common Rule', help='The description of rule.') c.argument('destination_addresses', arg_group='Common Rule', nargs='+', help="Space-separated list of destination IP addresses.") @@ -169,6 +181,6 @@ def load_arguments(self, _): c.argument('nat_action', options_list=['--action'], arg_type=get_enum_type(['DNAT', 'SNAT']), help='The action type of a rule collection.') with self.argument_context('network firewall policy rule-collection-group collection rule') as c: - c.argument('rule_name', options_list=['--collection-name'], help='The name of the rule collection in Firewall Policy Rule Collection Group.') + c.argument('rule_collection_name', options_list=['--collection-name'], help='The name of the rule collection in Firewall Policy Rule Collection Group.') c.argument('condition_name', options_list=['--name', '-n'], arg_group='Common Rule', help='The name of rule') # endregion diff --git a/src/azure-firewall/azext_firewall/commands.py b/src/azure-firewall/azext_firewall/commands.py index 7f56228e7b6..7a8e50900a7 100644 --- a/src/azure-firewall/azext_firewall/commands.py +++ b/src/azure-firewall/azext_firewall/commands.py @@ -9,7 +9,7 @@ from .custom import build_af_rule_list, build_af_rule_show, build_af_rule_delete from .profiles import CUSTOM_FIREWALL_POLICY -from ._client_factory import cf_firewalls, cf_firewall_fqdn_tags, cf_firewall_policies, cf_firewall_policy_rule_groups +from ._client_factory import cf_firewalls, cf_firewall_fqdn_tags, cf_firewall_policies, cf_firewall_policy_rule_collection_groups from ._util import ( list_network_resource_property, get_network_resource_property_entry, delete_network_resource_property_entry) @@ -37,15 +37,15 @@ def load_command_table(self, _): ) network_firewall_policies_sdk = CliCommandType( - operations_tmpl='azext_firewall.vendored_sdks.v2019_07_01.operations#FirewallPoliciesOperations.{}', + operations_tmpl='azext_firewall.vendored_sdks.v2020_05_01.operations#FirewallPoliciesOperations.{}', client_factory=cf_firewall_policies, resource_type=CUSTOM_FIREWALL_POLICY, min_api='2019-07-01' ) network_firewall_policy_rule_groups = CliCommandType( - operations_tmpl='azext_firewall.vendored_sdks.v2019_07_01.operations#FirewallPolicyRuleGroupsOperations.{}', - client_factory=cf_firewall_policy_rule_groups, + operations_tmpl='azext_firewall.vendored_sdks.v2020_05_01.operations#FirewallPolicyRuleCollectionGroupsOperations.{}', + client_factory=cf_firewall_policy_rule_collection_groups, resource_type=CUSTOM_FIREWALL_POLICY, min_api='2019-07-01' ) @@ -119,19 +119,19 @@ def load_command_table(self, _): g.generic_update_command('update', custom_func_name='update_azure_firewall_policies') with self.command_group('network firewall policy rule-collection-group', network_firewall_policy_rule_groups, resource_type=CUSTOM_FIREWALL_POLICY, is_preview=True) as g: - g.custom_command('create', 'create_azure_firewall_policy_rule_group') - g.generic_update_command('update', custom_func_name='update_azure_firewall_policy_rule_group') + g.custom_command('create', 'create_azure_firewall_policy_rule_collection_group') + g.generic_update_command('update', custom_func_name='update_azure_firewall_policy_rule_collection_group') g.command('delete', 'delete') g.show_command('show') g.command('list', 'list') with self.command_group('network firewall policy rule-collection-group collection', network_firewall_policy_rule_groups, resource_type=CUSTOM_FIREWALL_POLICY, is_preview=True) as g: - g.custom_command('add-nat-collection', 'add_azure_firewall_policy_nat_rule') - g.custom_command('add-filter-collection', 'add_azure_firewall_policy_filter_rule') - g.custom_command('remove', 'remove_azure_firewall_policy_rule') - g.custom_command('list', 'list_azure_firewall_policy_rule') + g.custom_command('add-nat-collection', 'add_azure_firewall_policy_nat_rule_collection') + g.custom_command('add-filter-collection', 'add_azure_firewall_policy_filter_rule_collection') + g.custom_command('remove', 'remove_azure_firewall_policy_rule_collection') + g.custom_command('list', 'list_azure_firewall_policy_rule_collection') with self.command_group('network firewall policy rule-collection-group collection rule', network_firewall_policy_rule_groups, resource_type=CUSTOM_FIREWALL_POLICY, is_preview=True) as g: - g.custom_command('add', 'add_azure_firewall_policy_filter_rule_condition') - g.custom_command('remove', 'remove_azure_firewall_policy_filter_rule_condition') + g.custom_command('add', 'add_azure_firewall_policy_filter_rule') + g.custom_command('remove', 'remove_azure_firewall_policy_filter_rule') # endregion diff --git a/src/azure-firewall/azext_firewall/custom.py b/src/azure-firewall/azext_firewall/custom.py index b0b8e1fcff8..1ec3b7dbbe3 100644 --- a/src/azure-firewall/azext_firewall/custom.py +++ b/src/azure-firewall/azext_firewall/custom.py @@ -65,7 +65,9 @@ def _find_item_at_path(instance, path): # region AzureFirewall def create_azure_firewall(cmd, resource_group_name, azure_firewall_name, location=None, tags=None, zones=None, private_ranges=None, firewall_policy=None, - virtual_hub=None, sku=None): + virtual_hub=None, sku=None, + dns_servers=None, enable_dns_proxy=None, require_dns_proxy_for_network_rules=None, + threat_intel_mode=None): client = network_client_factory(cmd.cli_ctx).azure_firewalls AzureFirewall, SubResource, AzureFirewallSku = cmd.get_models('AzureFirewall', 'SubResource', 'AzureFirewallSku') sku_instance = AzureFirewallSku(name=sku, tier='Standard') @@ -75,16 +77,26 @@ def create_azure_firewall(cmd, resource_group_name, azure_firewall_name, locatio additional_properties={}, virtual_hub=SubResource(id=virtual_hub) if virtual_hub is not None else None, firewall_policy=SubResource(id=firewall_policy) if firewall_policy is not None else None, - sku=sku_instance if sku is not None else None) + sku=sku_instance if sku is not None else None, + threat_intel_mode=threat_intel_mode) if private_ranges is not None: if firewall.additional_properties is None: firewall.additional_properties = {} firewall.additional_properties['Network.SNAT.PrivateRanges'] = private_ranges + + firewall.additional_properties['Network.DNS.EnableProxy'] = \ + enable_dns_proxy if enable_dns_proxy is not None else False + firewall.additional_properties['Network.DNS.RequireProxyForNetworkRules'] = \ + require_dns_proxy_for_network_rules if require_dns_proxy_for_network_rules is not None else True + firewall.additional_properties['Network.DNS.Servers'] = ','.join(dns_servers or '') + return client.create_or_update(resource_group_name, azure_firewall_name, firewall) def update_azure_firewall(cmd, instance, tags=None, zones=None, private_ranges=None, - firewall_policy=None, virtual_hub=None): + firewall_policy=None, virtual_hub=None, + dns_servers=None, enable_dns_proxy=None, require_dns_proxy_for_network_rules=None, + threat_intel_mode=None): SubResource = cmd.get_models('SubResource') if tags is not None: instance.tags = tags @@ -101,6 +113,15 @@ def update_azure_firewall(cmd, instance, tags=None, zones=None, private_ranges=N instance.virtual_hub = None else: instance.virtual_hub = SubResource(id=virtual_hub) + + if enable_dns_proxy is not None: + instance.additional_properties['Network.DNS.EnableProxy'] = enable_dns_proxy + if require_dns_proxy_for_network_rules is not None: + instance.additional_properties['Network.DNS.RequireProxyForNetworkRules'] = require_dns_proxy_for_network_rules + if dns_servers is not None: + instance.additional_properties['Network.DNS.Servers'] = ','.join(dns_servers or '') + if threat_intel_mode is not None: + instance.threat_intel_mode = threat_intel_mode return instance @@ -111,14 +132,13 @@ def list_azure_firewalls(cmd, resource_group_name=None): # pylint: disable=unused-argument def create_af_ip_configuration(cmd, resource_group_name, azure_firewall_name, item_name, public_ip_address, virtual_network_name=None, subnet='AzureFirewallSubnet', - private_ip_address=None, management_item_name=None, management_public_ip_address=None, + management_item_name=None, management_public_ip_address=None, management_virtual_network_name=None, management_subnet='AzureFirewallManagementSubnet'): AzureFirewallIPConfiguration, SubResource = cmd.get_models('AzureFirewallIPConfiguration', 'SubResource') client = network_client_factory(cmd.cli_ctx).azure_firewalls af = client.get(resource_group_name, azure_firewall_name) config = AzureFirewallIPConfiguration( name=item_name, - private_ip_address=private_ip_address, public_ip_address=SubResource(id=public_ip_address) if public_ip_address else None, subnet=SubResource(id=subnet) if subnet else None ) @@ -243,7 +263,7 @@ def _upsert_af_rule(cmd, resource_group_name, firewall_name, collection_param_na item_class, item_name, params, collection_params): client = network_client_factory(cmd.cli_ctx).azure_firewalls af = client.get(resource_group_name, firewall_name) - collection = getattr(af, collection_param_name) + collection = getattr(af, collection_param_name, []) collection_name = collection_params.get('name', '') priority = collection_params.get('priority', None) @@ -273,7 +293,7 @@ def _upsert_af_rule(cmd, resource_group_name, firewall_name, collection_param_na def create_af_network_rule(cmd, resource_group_name, azure_firewall_name, collection_name, item_name, - source_addresses, destination_ports, protocols, destination_fqdns=None, + destination_ports, protocols, destination_fqdns=None, source_addresses=None, destination_addresses=None, description=None, priority=None, action=None, source_ip_groups=None, destination_ip_groups=None): AzureFirewallNetworkRule, AzureFirewallNetworkRuleCollection = cmd.get_models( @@ -300,7 +320,7 @@ def create_af_network_rule(cmd, resource_group_name, azure_firewall_name, collec def create_af_nat_rule(cmd, resource_group_name, azure_firewall_name, collection_name, item_name, - source_addresses, destination_addresses, destination_ports, protocols, translated_port, + destination_addresses, destination_ports, protocols, translated_port, source_addresses=None, translated_address=None, translated_fqdn=None, description=None, priority=None, action=None, source_ip_groups=None): AzureFirewallNatRule, AzureFirewallNatRuleCollection = cmd.get_models( @@ -398,21 +418,65 @@ def delete_azure_firewall_threat_intel_whitelist(cmd, resource_group_name, azure # region AzureFirewallPolicies def create_azure_firewall_policies(cmd, resource_group_name, firewall_policy_name, base_policy=None, - threat_intel_mode=None, location=None, tags=None): + threat_intel_mode=None, location=None, tags=None, ip_addresses=None, + fqdns=None, + dns_servers=None, enable_dns_proxy=None, require_dns_proxy_for_network_rules=None): client = network_client_policy_factory(cmd.cli_ctx).firewall_policies - FirewallPolicy, SubResource = cmd.get_models('FirewallPolicy', 'SubResource') + (FirewallPolicy, + SubResource, + FirewallPolicyThreatIntelWhitelist, + DnsSettings) = cmd.get_models('FirewallPolicy', + 'SubResource', + 'FirewallPolicyThreatIntelWhitelist', + 'DnsSettings') fire_wall_policy = FirewallPolicy(base_policy=SubResource(id=base_policy) if base_policy is not None else None, threat_intel_mode=threat_intel_mode, location=location, tags=tags) + + threat_intel_whitelist = FirewallPolicyThreatIntelWhitelist(ip_addresses=ip_addresses, + fqdns=fqdns) if ip_addresses and fqdns else None + fire_wall_policy.threat_intel_whitelist = threat_intel_whitelist + + if cmd.supported_api_version(min_api='2020-05-01'): + if any([dns_servers, enable_dns_proxy, require_dns_proxy_for_network_rules]): + dns_settings = DnsSettings(servers=dns_servers, + enable_proxy=enable_dns_proxy or False, + require_proxy_for_network_rules=require_dns_proxy_for_network_rules or True) + fire_wall_policy.dns_settings = dns_settings + return client.create_or_update(resource_group_name, firewall_policy_name, fire_wall_policy) -def update_azure_firewall_policies(instance, tags=None, threat_intel_mode=None): +def update_azure_firewall_policies(cmd, + instance, tags=None, threat_intel_mode=None, ip_addresses=None, + fqdns=None, + dns_servers=None, enable_dns_proxy=None, require_dns_proxy_for_network_rules=None): + + (FirewallPolicyThreatIntelWhitelist) = cmd.get_models('FirewallPolicyThreatIntelWhitelist') if tags is not None: instance.tags = tags if threat_intel_mode is not None: instance.threat_intel_mode = threat_intel_mode + + if cmd.supported_api_version(min_api='2020-05-01'): + if instance.dns_settings is None and any([dns_servers, enable_dns_proxy, require_dns_proxy_for_network_rules]): + DnsSettings = cmd.get_models('DnsSettings') + instance.dns_settings = DnsSettings() + if dns_servers is not None: + instance.dns_settings.servers = dns_servers + if enable_dns_proxy is not None: + instance.dns_settings.enable_proxy = enable_dns_proxy + if require_dns_proxy_for_network_rules is not None: + instance.dns_settings.require_proxy_for_network_rules = require_dns_proxy_for_network_rules + + if instance.threat_intel_whitelist is None and any([ip_addresses, fqdns]): + instance.threat_intel_whitelist = FirewallPolicyThreatIntelWhitelist(ip_addresses=ip_addresses, + fqnds=fqdns) + if ip_addresses is not None: + instance.threat_intel_whitelist.ip_addresses = ip_addresses + if fqdns is not None: + instance.threat_intel_whitelist.fqdns = fqdns return instance @@ -423,18 +487,16 @@ def list_azure_firewall_policies(cmd, resource_group_name=None): return client.list_all() -def create_azure_firewall_policy_rule_group(cmd, resource_group_name, firewall_policy_name, rule_group_name, - priority, location=None, tags=None): - client = network_client_policy_factory(cmd.cli_ctx).firewall_policy_rule_groups - FirewallPolicyRuleGroup = cmd.get_models('FirewallPolicyRuleGroup') - rule_group = FirewallPolicyRuleGroup(priority=priority, - location=location, - tags=tags, - name=rule_group_name) - return client.create_or_update(resource_group_name, firewall_policy_name, rule_group_name, rule_group) +def create_azure_firewall_policy_rule_collection_group(cmd, resource_group_name, firewall_policy_name, + rule_collection_group_name, priority): + client = network_client_policy_factory(cmd.cli_ctx).firewall_policy_rule_collection_groups + FirewallPolicyRuleCollectionGroup = cmd.get_models('FirewallPolicyRuleCollectionGroup') + rule_group = FirewallPolicyRuleCollectionGroup(priority=priority, + name=rule_collection_group_name) + return client.create_or_update(resource_group_name, firewall_policy_name, rule_collection_group_name, rule_group) -def update_azure_firewall_policy_rule_group(instance, priority=None, tags=None): +def update_azure_firewall_policy_rule_collection_group(instance, priority=None, tags=None): if tags is not None: instance.tags = tags if priority is not None: @@ -442,159 +504,175 @@ def update_azure_firewall_policy_rule_group(instance, priority=None, tags=None): return instance -def add_azure_firewall_policy_nat_rule(cmd, resource_group_name, firewall_policy_name, rule_group_name, rule_name, - rule_priority, translated_address=None, translated_port=None, nat_action=None, - condition_name=None, description=None, ip_protocols=None, source_addresses=None, - destination_addresses=None, destination_ports=None): - FirewallPolicyNatRule, FirewallPolicyNatRuleAction, \ - NetworkRuleCondition, FirewallPolicyRuleConditionNetworkProtocol = \ - cmd.get_models('FirewallPolicyNatRule', 'FirewallPolicyNatRuleAction', - 'NetworkRuleCondition', 'FirewallPolicyRuleConditionNetworkProtocol') - client = network_client_policy_factory(cmd.cli_ctx).firewall_policy_rule_groups - rule_group = client.get(resource_group_name, firewall_policy_name, rule_group_name) - ip_protocols = list(map(FirewallPolicyRuleConditionNetworkProtocol, ip_protocols)) - rule_condition = NetworkRuleCondition(name=condition_name, - description=description, - rule_condition_type="NetworkRuleCondition", - ip_protocols=ip_protocols, - source_addresses=source_addresses, - destination_addresses=destination_addresses, - destination_ports=destination_ports) - nat_rule = FirewallPolicyNatRule(name=rule_name, - priority=rule_priority, - rule_type="FirewallPolicyNatRule", - translated_address=translated_address, - translated_port=translated_port, - action=FirewallPolicyNatRuleAction(type=nat_action), - rule_condition=rule_condition) - rule_group.rules.append(nat_rule) - return client.create_or_update(resource_group_name, firewall_policy_name, rule_group_name, rule_group) +def add_azure_firewall_policy_nat_rule_collection(cmd, resource_group_name, firewall_policy_name, + rule_collection_group_name, + rule_collection_name, rule_priority, translated_address=None, + translated_port=None, nat_action=None, + condition_name=None, description=None, ip_protocols=None, + source_addresses=None, destination_addresses=None, + destination_ports=None, source_ip_groups=None): + FirewallPolicyNatRuleCollection, FirewallPolicyNatRuleCollectionAction, \ + NatRule, FirewallPolicyRuleNetworkProtocol = \ + cmd.get_models('FirewallPolicyNatRuleCollection', 'FirewallPolicyNatRuleCollectionAction', + 'NatRule', 'FirewallPolicyRuleNetworkProtocol') + client = network_client_policy_factory(cmd.cli_ctx).firewall_policy_rule_collection_groups + rule_collection_group = client.get(resource_group_name, firewall_policy_name, rule_collection_group_name) + ip_protocols = list(map(FirewallPolicyRuleNetworkProtocol, ip_protocols)) + nat_rule = NatRule(name=condition_name, + description=description, + rule_type="NatRule", + ip_protocols=ip_protocols, + source_addresses=source_addresses, + destination_addresses=destination_addresses, + destination_ports=destination_ports, + translated_address=translated_address, + translated_port=translated_port, + source_ip_groups=source_ip_groups) + nat_rule_collection = FirewallPolicyNatRuleCollection(name=rule_collection_name, + priority=rule_priority, + rule_collection_type="FirewallPolicyNatRuleCollection", + action=FirewallPolicyNatRuleCollectionAction( + type=nat_action + ), + rules=[nat_rule]) + rule_collection_group.rule_collections.append(nat_rule_collection) + return client.create_or_update(resource_group_name, firewall_policy_name, + rule_collection_group_name, rule_collection_group) # pylint: disable=too-many-locals -def add_azure_firewall_policy_filter_rule(cmd, resource_group_name, firewall_policy_name, rule_group_name, rule_name, - rule_priority, filter_action=None, condition_name=None, - condition_type=None, description=None, ip_protocols=None, - source_addresses=None, destination_addresses=None, destination_ports=None, - protocols=None, fqdn_tags=None, target_fqdns=None): - NetworkRuleCondition, FirewallPolicyRuleConditionApplicationProtocol,\ - ApplicationRuleCondition, FirewallPolicyFilterRuleAction, FirewallPolicyFilterRule =\ - cmd.get_models('NetworkRuleCondition', 'FirewallPolicyRuleConditionApplicationProtocol', - 'ApplicationRuleCondition', 'FirewallPolicyFilterRuleAction', 'FirewallPolicyFilterRule') - client = network_client_policy_factory(cmd.cli_ctx).firewall_policy_rule_groups - rule_group = client.get(resource_group_name, firewall_policy_name, rule_group_name) - rule_condition = None +def add_azure_firewall_policy_filter_rule_collection(cmd, resource_group_name, firewall_policy_name, + rule_collection_group_name, rule_collection_name, + rule_priority, filter_action=None, condition_name=None, + condition_type=None, description=None, ip_protocols=None, + source_addresses=None, destination_addresses=None, + destination_ports=None, + protocols=None, fqdn_tags=None, target_fqdns=None): + NetworkRule, FirewallPolicyRuleApplicationProtocol,\ + ApplicationRule, FirewallPolicyFilterRuleCollectionAction, FirewallPolicyFilterRuleCollection =\ + cmd.get_models('NetworkRule', 'FirewallPolicyRuleApplicationProtocol', + 'ApplicationRule', 'FirewallPolicyFilterRuleCollectionAction', + 'FirewallPolicyFilterRuleCollection') + client = network_client_policy_factory(cmd.cli_ctx).firewall_policy_rule_collection_groups + rule_collection_group = client.get(resource_group_name, firewall_policy_name, rule_collection_group_name) + rule = None if condition_type == "NetworkRule": - rule_condition = NetworkRuleCondition(name=condition_name, - description=description, - rule_condition_type=condition_type, - ip_protocols=ip_protocols, - source_addresses=source_addresses, - destination_addresses=destination_addresses, - destination_ports=destination_ports) + rule = NetworkRule(name=condition_name, + description=description, + rule_type=condition_type, + ip_protocols=ip_protocols, + source_addresses=source_addresses, + destination_addresses=destination_addresses, + destination_ports=destination_ports) else: - def map_application_condition_protocol(item): - return FirewallPolicyRuleConditionApplicationProtocol(protocol_type=item['protocol_type'], - port=int(item['port'])) - protocols = list(map(map_application_condition_protocol, protocols)) - rule_condition = ApplicationRuleCondition(name=condition_name, - description=description, - rule_condition_type=condition_type, - source_addresses=source_addresses, - protocols=protocols, - destination_addresses=destination_addresses, - destination_ports=destination_ports, - fqdn_tags=fqdn_tags, - target_fqdns=target_fqdns) - filter_rule = FirewallPolicyFilterRule(name=rule_name, - priority=rule_priority, - rule_type="FirewallPolicyFilterRule", - action=FirewallPolicyFilterRuleAction(type=filter_action), - rule_conditions=[rule_condition]) - rule_group.rules.append(filter_rule) - return client.create_or_update(resource_group_name, firewall_policy_name, rule_group_name, rule_group) - - -def remove_azure_firewall_policy_rule(cmd, resource_group_name, firewall_policy_name, rule_group_name, rule_name): - client = network_client_policy_factory(cmd.cli_ctx).firewall_policy_rule_groups - rule_group = client.get(resource_group_name, firewall_policy_name, rule_group_name) - for rule in rule_group.rules: - if rule.name == rule_name: - rule_group.rules.remove(rule) - return client.create_or_update(resource_group_name, firewall_policy_name, rule_group_name, rule_group) - - -def list_azure_firewall_policy_rule(cmd, resource_group_name, firewall_policy_name, rule_group_name): - client = network_client_policy_factory(cmd.cli_ctx).firewall_policy_rule_groups - rule_group = client.get(resource_group_name, firewall_policy_name, rule_group_name) - return rule_group.rules + def map_application_rule_protocol(item): + return FirewallPolicyRuleApplicationProtocol(protocol_type=item['protocol_type'], + port=int(item['port'])) + protocols = list(map(map_application_rule_protocol, protocols)) + rule = ApplicationRule(name=condition_name, + description=description, + rule_type=condition_type, + source_addresses=source_addresses, + protocols=protocols, + destination_addresses=destination_addresses, + destination_ports=destination_ports, + fqdn_tags=fqdn_tags, + target_fqdns=target_fqdns) + filter_rule_collection = FirewallPolicyFilterRuleCollection(name=rule_collection_name, + priority=rule_priority, + rule_collection_type="FirewallPolicyFilterRule", + action=FirewallPolicyFilterRuleCollectionAction( + type=filter_action + ), + rules=[rule]) + rule_collection_group.rule_collections.append(filter_rule_collection) + return client.create_or_update(resource_group_name, firewall_policy_name, + rule_collection_group_name, rule_collection_group) + + +def remove_azure_firewall_policy_rule_collection(cmd, resource_group_name, firewall_policy_name, + rule_collection_group_name, rule_collection_name): + client = network_client_policy_factory(cmd.cli_ctx).firewall_policy_rule_collection_groups + rule_collection_group = client.get(resource_group_name, firewall_policy_name, rule_collection_group_name) + for rule_collection in rule_collection_group.rule_collections: + if rule_collection.name == rule_collection_name: + rule_collection_group.rule_collections.remove(rule_collection) + return client.create_or_update(resource_group_name, firewall_policy_name, + rule_collection_group_name, rule_collection_group) + + +def list_azure_firewall_policy_rule_collection(cmd, resource_group_name, + firewall_policy_name, rule_collection_group_name): + client = network_client_policy_factory(cmd.cli_ctx).firewall_policy_rule_collection_groups + rule_collection_group = client.get(resource_group_name, firewall_policy_name, rule_collection_group_name) + return rule_collection_group.rule_collections # pylint: disable=too-many-locals -def add_azure_firewall_policy_filter_rule_condition(cmd, resource_group_name, firewall_policy_name, rule_group_name, - rule_name, condition_name, condition_type, - description=None, ip_protocols=None, source_addresses=None, - destination_addresses=None, destination_ports=None, - protocols=None, fqdn_tags=None, target_fqdns=None): - NetworkRuleCondition, FirewallPolicyRuleConditionApplicationProtocol, ApplicationRuleCondition = \ - cmd.get_models('NetworkRuleCondition', 'FirewallPolicyRuleConditionApplicationProtocol', - 'ApplicationRuleCondition') - client = network_client_policy_factory(cmd.cli_ctx).firewall_policy_rule_groups - rule_group = client.get(resource_group_name, firewall_policy_name, rule_group_name) - target_rule = None - for rule in rule_group.rules: - if rule.name == rule_name: - target_rule = rule - - if target_rule is None: +def add_azure_firewall_policy_filter_rule(cmd, resource_group_name, firewall_policy_name, + rule_collection_group_name, + rule_collection_name, condition_name, condition_type, + description=None, ip_protocols=None, source_addresses=None, + destination_addresses=None, destination_ports=None, + protocols=None, fqdn_tags=None, target_fqdns=None): + NetworkRule, FirewallPolicyRuleApplicationProtocol, ApplicationRule = \ + cmd.get_models('NetworkRule', 'FirewallPolicyRuleApplicationProtocol', + 'ApplicationRule') + client = network_client_policy_factory(cmd.cli_ctx).firewall_policy_rule_collection_groups + rule_collection_group = client.get(resource_group_name, firewall_policy_name, rule_collection_group_name) + target_rule_collection = None + for rule_collection in rule_collection_group.rule_collections: + if rule_collection.name == rule_collection_name: + target_rule_collection = rule_collection + + if target_rule_collection is None: raise CLIError("Cannot find corresponding rule.") - if target_rule.rule_type == "FirewallPolicyNatRule": - raise CLIError("Only FirewallPolicyFilterRule can support multiple conditions.") - rule_condition = None + rule = None if condition_type == "NetworkRule": - rule_condition = NetworkRuleCondition(name=condition_name, - description=description, - rule_condition_type=condition_type, - ip_protocols=ip_protocols, - source_addresses=source_addresses, - destination_addresses=destination_addresses, - destination_ports=destination_ports) + rule = NetworkRule(name=condition_name, + description=description, + rule_condition_type=condition_type, + ip_protocols=ip_protocols, + source_addresses=source_addresses, + destination_addresses=destination_addresses, + destination_ports=destination_ports) else: - def map_application_condition_protocol(item): - return FirewallPolicyRuleConditionApplicationProtocol(protocol_type=item['protocol_type'], - port=int(item['port'])) - - protocols = list(map(map_application_condition_protocol, protocols)) - rule_condition = ApplicationRuleCondition(name=condition_name, - description=description, - rule_condition_type=condition_type, - source_addresses=source_addresses, - protocols=protocols, - destination_addresses=destination_addresses, - destination_ports=destination_ports, - fqdn_tags=fqdn_tags, - target_fqdns=target_fqdns) - target_rule.rule_conditions.append(rule_condition) - return client.create_or_update(resource_group_name, firewall_policy_name, rule_group_name, rule_group) - - -def remove_azure_firewall_policy_filter_rule_condition(cmd, resource_group_name, firewall_policy_name, rule_group_name, - rule_name, condition_name): - client = network_client_policy_factory(cmd.cli_ctx).firewall_policy_rule_groups - rule_group = client.get(resource_group_name, firewall_policy_name, rule_group_name) - target_rule = None - for rule in rule_group.rules: - if rule.name == rule_name: - target_rule = rule - - if target_rule is None: - raise CLIError("Cannot find corresponding rule.") - - if target_rule.rule_type == "FirewallPolicyNatRule": - raise CLIError("Only FirewallPolicyFilterRule can support multiple conditions") - for condition in target_rule.rule_conditions: - if condition.name == condition_name: - target_rule.rule_conditions.remove(condition) - return client.create_or_update(resource_group_name, firewall_policy_name, rule_group_name, rule_group) + def map_application_rule_protocol(item): + return FirewallPolicyRuleApplicationProtocol(protocol_type=item['protocol_type'], + port=int(item['port'])) + + protocols = list(map(map_application_rule_protocol, protocols)) + rule = ApplicationRule(name=condition_name, + description=description, + rule_condition_type=condition_type, + source_addresses=source_addresses, + protocols=protocols, + destination_addresses=destination_addresses, + destination_ports=destination_ports, + fqdn_tags=fqdn_tags, + target_fqdns=target_fqdns) + target_rule_collection.rules.append(rule) + return client.create_or_update(resource_group_name, firewall_policy_name, + rule_collection_group_name, rule_collection_group) + + +def remove_azure_firewall_policy_filter_rule(cmd, resource_group_name, firewall_policy_name, + rule_collection_group_name, + rule_collection_name, condition_name): + client = network_client_policy_factory(cmd.cli_ctx).firewall_policy_rule_collection_groups + rule_collection_group = client.get(resource_group_name, firewall_policy_name, rule_collection_group_name) + target_rule_collection = None + for rule_collection in rule_collection_group.rule_collections: + if rule_collection.name == rule_collection_name: + target_rule_collection = rule_collection + + if target_rule_collection is None: + raise CLIError("Cannot find corresponding rule collection.") + + for rule in target_rule_collection.rules: + if rule.name == condition_name: + target_rule_collection.rules.remove(rule) + return client.create_or_update(resource_group_name, firewall_policy_name, + rule_collection_group_name, rule_collection_group) # endregion diff --git a/src/azure-firewall/azext_firewall/profiles.py b/src/azure-firewall/azext_firewall/profiles.py index 8348107fdd1..3eb3e8b7b43 100644 --- a/src/azure-firewall/azext_firewall/profiles.py +++ b/src/azure-firewall/azext_firewall/profiles.py @@ -6,4 +6,4 @@ from azure.cli.core.profiles import CustomResourceType CUSTOM_FIREWALL = CustomResourceType('azext_firewall.vendored_sdks.v2019_11_01', 'NetworkManagementClient') -CUSTOM_FIREWALL_POLICY = CustomResourceType('azext_firewall.vendored_sdks.v2019_07_01', 'NetworkManagementClient') +CUSTOM_FIREWALL_POLICY = CustomResourceType('azext_firewall.vendored_sdks.v2020_05_01', 'NetworkManagementClient') diff --git a/src/azure-firewall/azext_firewall/tests/latest/recordings/test_azure_firewall.yaml b/src/azure-firewall/azext_firewall/tests/latest/recordings/test_azure_firewall.yaml index 918909e9ac2..2ae8cc6b265 100644 --- a/src/azure-firewall/azext_firewall/tests/latest/recordings/test_azure_firewall.yaml +++ b/src/azure-firewall/azext_firewall/tests/latest/recordings/test_azure_firewall.yaml @@ -11,17 +11,17 @@ interactions: Connection: - keep-alive ParameterSetName: - - -g -n + - -g -n --threat-intel-mode User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-resource/6.0.0 - Azure-SDK-For-Python AZURECLI/2.0.79 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_azure_firewall000001?api-version=2019-07-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall000001","name":"cli_test_azure_firewall000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2020-01-15T14:07:06Z"},"properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall000001","name":"cli_test_azure_firewall000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2020-06-18T04:18:46Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -30,7 +30,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 15 Jan 2020 14:07:14 GMT + - Thu, 18 Jun 2020 04:18:48 GMT expires: - '-1' pragma: @@ -45,7 +45,9 @@ interactions: code: 200 message: OK - request: - body: '{"location": "westus", "properties": {"additionalProperties": {}}}' + body: '{"location": "westus", "properties": {"threatIntelMode": "Alert", "additionalProperties": + {"Network.DNS.EnableProxy": "False", "Network.DNS.RequireProxyForNetworkRules": + "True", "Network.DNS.Servers": ""}}}' headers: Accept: - application/json @@ -56,39 +58,43 @@ interactions: Connection: - keep-alive Content-Length: - - '66' + - '206' Content-Type: - application/json; charset=utf-8 ParameterSetName: - - -g -n + - -g -n --threat-intel-mode User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-network/9.0.0 - Azure-SDK-For-Python AZURECLI/2.0.79 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 response: body: - string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"0a296bbc-aed9-4f08-bdf4-927e98c35c1d\\\"\",\r\n \"type\": - \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Updating\",\r\n \"sku\": {\r\n \"name\": - \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\": - \"Alert\",\r\n \"additionalProperties\": {},\r\n \"ipConfigurations\": - [],\r\n \"networkRuleCollections\": [],\r\n \"applicationRuleCollections\": - [],\r\n \"natRuleCollections\": []\r\n }\r\n}" + string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall000001/providers/Microsoft.Network/azureFirewalls/af1\"\ + ,\r\n \"etag\": \"W/\\\"ca4e8280-62d9-4f7c-ae43-ac2cc4e38134\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \ + \ \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\ + \r\n },\r\n \"threatIntelMode\": \"Alert\",\r\n \"additionalProperties\"\ + : {\r\n \"Network.DNS.EnableProxy\": \"False\",\r\n \"Network.DNS.RequireProxyForNetworkRules\"\ + : \"True\",\r\n \"Network.DNS.Servers\": \"\"\r\n },\r\n \"ipConfigurations\"\ + : [],\r\n \"networkRuleCollections\": [],\r\n \"applicationRuleCollections\"\ + : [],\r\n \"natRuleCollections\": []\r\n }\r\n}" headers: + azure-asyncnotification: + - Enabled azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/705f363f-0b6c-4674-b046-7657db932b68?api-version=2019-11-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/041d7d71-b3de-4f34-9e9d-31ce974a0ac2?api-version=2019-11-01 cache-control: - no-cache content-length: - - '690' + - '830' content-type: - application/json; charset=utf-8 date: - - Wed, 15 Jan 2020 14:07:19 GMT + - Thu, 18 Jun 2020 04:18:53 GMT expires: - '-1' pragma: @@ -101,9 +107,9 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - b29f9360-78c6-49a5-90c9-78e5ade5a1d2 + - c3042501-c70e-4e07-b128-ba9ccfbf578d x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1198' status: code: 201 message: Created @@ -119,12 +125,12 @@ interactions: Connection: - keep-alive ParameterSetName: - - -g -n + - -g -n --threat-intel-mode User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-network/9.0.0 - Azure-SDK-For-Python AZURECLI/2.0.79 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/705f363f-0b6c-4674-b046-7657db932b68?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/041d7d71-b3de-4f34-9e9d-31ce974a0ac2?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -136,7 +142,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 15 Jan 2020 14:07:30 GMT + - Thu, 18 Jun 2020 04:19:05 GMT expires: - '-1' pragma: @@ -153,7 +159,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 1d040669-8e8f-4908-a6c0-27e191843bc7 + - 4d2e4440-88e5-4aa0-88e5-b8ff47453cff status: code: 200 message: OK @@ -169,33 +175,283 @@ interactions: Connection: - keep-alive ParameterSetName: - - -g -n + - -g -n --threat-intel-mode + User-Agent: + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 + response: + body: + string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall000001/providers/Microsoft.Network/azureFirewalls/af1\"\ + ,\r\n \"etag\": \"W/\\\"41b55752-0b02-42ad-8409-1f7823dd0537\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n\ + \ \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\ + \r\n },\r\n \"threatIntelMode\": \"Alert\",\r\n \"additionalProperties\"\ + : {\r\n \"Network.DNS.EnableProxy\": \"False\",\r\n \"Network.DNS.RequireProxyForNetworkRules\"\ + : \"True\",\r\n \"Network.DNS.Servers\": \"\"\r\n },\r\n \"ipConfigurations\"\ + : [],\r\n \"networkRuleCollections\": [],\r\n \"applicationRuleCollections\"\ + : [],\r\n \"natRuleCollections\": []\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '831' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 18 Jun 2020 04:19:05 GMT + etag: + - W/"41b55752-0b02-42ad-8409-1f7823dd0537" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - d975d81f-6cf4-4eb9-b1f3-0d9ddf4de5f8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall update + Connection: + - keep-alive + ParameterSetName: + - -g -n --threat-intel-mode + User-Agent: + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 + response: + body: + string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall000001/providers/Microsoft.Network/azureFirewalls/af1\"\ + ,\r\n \"etag\": \"W/\\\"41b55752-0b02-42ad-8409-1f7823dd0537\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n\ + \ \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\ + \r\n },\r\n \"threatIntelMode\": \"Alert\",\r\n \"additionalProperties\"\ + : {\r\n \"Network.DNS.EnableProxy\": \"False\",\r\n \"Network.DNS.RequireProxyForNetworkRules\"\ + : \"True\",\r\n \"Network.DNS.Servers\": \"\"\r\n },\r\n \"ipConfigurations\"\ + : [],\r\n \"networkRuleCollections\": [],\r\n \"applicationRuleCollections\"\ + : [],\r\n \"natRuleCollections\": []\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '831' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 18 Jun 2020 04:19:07 GMT + etag: + - W/"41b55752-0b02-42ad-8409-1f7823dd0537" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - d4bbbfcd-ddd2-4b04-8df6-c2d25e074987 + status: + code: 200 + message: OK +- request: + body: 'b''{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall000001/providers/Microsoft.Network/azureFirewalls/af1", + "location": "westus", "properties": {"applicationRuleCollections": [], "natRuleCollections": + [], "networkRuleCollections": [], "ipConfigurations": [], "threatIntelMode": + "Deny", "sku": {"name": "AZFW_VNet", "tier": "Standard"}, "additionalProperties": + {"Network.DNS.EnableProxy": "False", "Network.DNS.RequireProxyForNetworkRules": + "True", "Network.DNS.Servers": ""}}}''' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall update + Connection: + - keep-alive + Content-Length: + - '568' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -g -n --threat-intel-mode + User-Agent: + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 + response: + body: + string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall000001/providers/Microsoft.Network/azureFirewalls/af1\"\ + ,\r\n \"etag\": \"W/\\\"2f1322c0-0e0d-41af-93f2-76311d9c980d\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \ + \ \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\ + \r\n },\r\n \"threatIntelMode\": \"Deny\",\r\n \"additionalProperties\"\ + : {\r\n \"Network.DNS.EnableProxy\": \"False\",\r\n \"Network.DNS.RequireProxyForNetworkRules\"\ + : \"True\",\r\n \"Network.DNS.Servers\": \"\"\r\n },\r\n \"ipConfigurations\"\ + : [],\r\n \"networkRuleCollections\": [],\r\n \"applicationRuleCollections\"\ + : [],\r\n \"natRuleCollections\": []\r\n }\r\n}" + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/2d859492-59b7-408a-93e8-7f66d9b0f178?api-version=2019-11-01 + cache-control: + - no-cache + content-length: + - '829' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 18 Jun 2020 04:19:08 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 9b3134f0-2b6f-4e66-a817-23fa03727705 + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall update + Connection: + - keep-alive + ParameterSetName: + - -g -n --threat-intel-mode + User-Agent: + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/2d859492-59b7-408a-93e8-7f66d9b0f178?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"Succeeded\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '29' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 18 Jun 2020 04:19:19 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - ebacc73b-c374-454b-9492-96dc0d599158 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall update + Connection: + - keep-alive + ParameterSetName: + - -g -n --threat-intel-mode User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-network/9.0.0 - Azure-SDK-For-Python AZURECLI/2.0.79 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 response: body: - string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"31934919-2cf3-4ac3-bef2-3226134baf4b\\\"\",\r\n \"type\": - \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Succeeded\",\r\n \"sku\": {\r\n \"name\": - \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\": - \"Alert\",\r\n \"additionalProperties\": {},\r\n \"ipConfigurations\": - [],\r\n \"networkRuleCollections\": [],\r\n \"applicationRuleCollections\": - [],\r\n \"natRuleCollections\": []\r\n }\r\n}" + string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall000001/providers/Microsoft.Network/azureFirewalls/af1\"\ + ,\r\n \"etag\": \"W/\\\"9836a200-ad6c-44f5-88d2-1f0fdc2c4ce6\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n\ + \ \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\ + \r\n },\r\n \"threatIntelMode\": \"Deny\",\r\n \"additionalProperties\"\ + : {\r\n \"Network.DNS.EnableProxy\": \"False\",\r\n \"Network.DNS.RequireProxyForNetworkRules\"\ + : \"True\",\r\n \"Network.DNS.Servers\": \"\"\r\n },\r\n \"ipConfigurations\"\ + : [],\r\n \"networkRuleCollections\": [],\r\n \"applicationRuleCollections\"\ + : [],\r\n \"natRuleCollections\": []\r\n }\r\n}" headers: cache-control: - no-cache content-length: - - '691' + - '830' content-type: - application/json; charset=utf-8 date: - - Wed, 15 Jan 2020 14:07:31 GMT + - Thu, 18 Jun 2020 04:19:19 GMT etag: - - W/"31934919-2cf3-4ac3-bef2-3226134baf4b" + - W/"9836a200-ad6c-44f5-88d2-1f0fdc2c4ce6" expires: - '-1' pragma: @@ -212,7 +468,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 8521953f-0658-4e37-8421-9e2b567c84f9 + - eef948a6-acfb-41ca-ab48-710e75acffc2 status: code: 200 message: OK @@ -230,33 +486,35 @@ interactions: ParameterSetName: - -g -n User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-network/9.0.0 - Azure-SDK-For-Python AZURECLI/2.0.79 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 response: body: - string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"31934919-2cf3-4ac3-bef2-3226134baf4b\\\"\",\r\n \"type\": - \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Succeeded\",\r\n \"sku\": {\r\n \"name\": - \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\": - \"Alert\",\r\n \"additionalProperties\": {},\r\n \"ipConfigurations\": - [],\r\n \"networkRuleCollections\": [],\r\n \"applicationRuleCollections\": - [],\r\n \"natRuleCollections\": []\r\n }\r\n}" + string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall000001/providers/Microsoft.Network/azureFirewalls/af1\"\ + ,\r\n \"etag\": \"W/\\\"9836a200-ad6c-44f5-88d2-1f0fdc2c4ce6\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n\ + \ \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\ + \r\n },\r\n \"threatIntelMode\": \"Deny\",\r\n \"additionalProperties\"\ + : {\r\n \"Network.DNS.EnableProxy\": \"False\",\r\n \"Network.DNS.RequireProxyForNetworkRules\"\ + : \"True\",\r\n \"Network.DNS.Servers\": \"\"\r\n },\r\n \"ipConfigurations\"\ + : [],\r\n \"networkRuleCollections\": [],\r\n \"applicationRuleCollections\"\ + : [],\r\n \"natRuleCollections\": []\r\n }\r\n}" headers: cache-control: - no-cache content-length: - - '691' + - '830' content-type: - application/json; charset=utf-8 date: - - Wed, 15 Jan 2020 14:07:32 GMT + - Thu, 18 Jun 2020 04:19:21 GMT etag: - - W/"31934919-2cf3-4ac3-bef2-3226134baf4b" + - W/"9836a200-ad6c-44f5-88d2-1f0fdc2c4ce6" expires: - '-1' pragma: @@ -273,7 +531,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 7696c486-5045-4315-82b9-5192af5ab462 + - 61a1e39e-7607-4f15-bcae-c2c94d4fc8b0 status: code: 200 message: OK @@ -291,33 +549,36 @@ interactions: ParameterSetName: - -g User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-network/9.0.0 - Azure-SDK-For-Python AZURECLI/2.0.79 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall000001/providers/Microsoft.Network/azureFirewalls?api-version=2019-11-01 response: body: - string: "{\r\n \"value\": [\r\n {\r\n \"name\": \"af1\",\r\n \"id\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"31934919-2cf3-4ac3-bef2-3226134baf4b\\\"\",\r\n \"type\": - \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": - \"Standard\"\r\n },\r\n \"threatIntelMode\": \"Alert\",\r\n - \ \"additionalProperties\": {},\r\n \"ipConfigurations\": [],\r\n - \ \"networkRuleCollections\": [],\r\n \"applicationRuleCollections\": - [],\r\n \"natRuleCollections\": []\r\n }\r\n }\r\n ]\r\n}" + string: "{\r\n \"value\": [\r\n {\r\n \"name\": \"af1\",\r\n \"\ + id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall000001/providers/Microsoft.Network/azureFirewalls/af1\"\ + ,\r\n \"etag\": \"W/\\\"9836a200-ad6c-44f5-88d2-1f0fdc2c4ce6\\\"\",\r\ + \n \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\"\ + : \"westus\",\r\n \"properties\": {\r\n \"provisioningState\"\ + : \"Succeeded\",\r\n \"sku\": {\r\n \"name\": \"AZFW_VNet\"\ + ,\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\"\ + : \"Deny\",\r\n \"additionalProperties\": {\r\n \"Network.DNS.EnableProxy\"\ + : \"False\",\r\n \"Network.DNS.RequireProxyForNetworkRules\": \"\ + True\",\r\n \"Network.DNS.Servers\": \"\"\r\n },\r\n \ + \ \"ipConfigurations\": [],\r\n \"networkRuleCollections\": [],\r\ + \n \"applicationRuleCollections\": [],\r\n \"natRuleCollections\"\ + : []\r\n }\r\n }\r\n ]\r\n}" headers: cache-control: - no-cache content-length: - - '796' + - '951' content-type: - application/json; charset=utf-8 date: - - Wed, 15 Jan 2020 14:07:34 GMT + - Thu, 18 Jun 2020 04:19:21 GMT expires: - '-1' pragma: @@ -334,7 +595,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 9782fac8-4fef-467e-97ba-237352ffd485 + - 44eaf183-bf1d-4c08-a8d6-1bde15d34e4c status: code: 200 message: OK @@ -354,8 +615,8 @@ interactions: ParameterSetName: - -g -n User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-network/9.0.0 - Azure-SDK-For-Python AZURECLI/2.0.79 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: DELETE @@ -364,18 +625,20 @@ interactions: body: string: '' headers: + azure-asyncnotification: + - Enabled azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/22327ec3-cf0e-401f-9883-01409981d579?api-version=2019-11-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/c9ea598d-2a00-4d6b-b84f-2c002f3f89e9?api-version=2019-11-01 cache-control: - no-cache content-length: - '0' date: - - Wed, 15 Jan 2020 14:07:35 GMT + - Thu, 18 Jun 2020 04:19:22 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operationResults/22327ec3-cf0e-401f-9883-01409981d579?api-version=2019-11-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operationResults/c9ea598d-2a00-4d6b-b84f-2c002f3f89e9?api-version=2019-11-01 pragma: - no-cache server: @@ -386,7 +649,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 707c6407-8398-47fb-9437-bd9fd90fde18 + - 8917a2ae-e46c-4c3f-bd0f-5df9a3c73481 x-ms-ratelimit-remaining-subscription-deletes: - '14999' status: @@ -406,10 +669,10 @@ interactions: ParameterSetName: - -g -n User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-network/9.0.0 - Azure-SDK-For-Python AZURECLI/2.0.79 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/22327ec3-cf0e-401f-9883-01409981d579?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/c9ea598d-2a00-4d6b-b84f-2c002f3f89e9?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -421,7 +684,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 15 Jan 2020 14:07:46 GMT + - Thu, 18 Jun 2020 04:19:34 GMT expires: - '-1' pragma: @@ -438,7 +701,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 400ae967-1d10-437c-886d-fa6f98c20005 + - 55142888-768d-4ad7-9ea2-62116fd32827 status: code: 200 message: OK diff --git a/src/azure-firewall/azext_firewall/tests/latest/recordings/test_azure_firewall_ip_config.yaml b/src/azure-firewall/azext_firewall/tests/latest/recordings/test_azure_firewall_ip_config.yaml index c9a87a897fd..c7012e9b551 100644 --- a/src/azure-firewall/azext_firewall/tests/latest/recordings/test_azure_firewall_ip_config.yaml +++ b/src/azure-firewall/azext_firewall/tests/latest/recordings/test_azure_firewall_ip_config.yaml @@ -13,15 +13,15 @@ interactions: ParameterSetName: - -g -n User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-resource/8.0.1 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_azure_firewall_ip_config000001?api-version=2019-07-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001","name":"cli_test_azure_firewall_ip_config000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2020-02-12T09:31:21Z"},"properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001","name":"cli_test_azure_firewall_ip_config000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2020-06-18T04:19:40Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -30,7 +30,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:31:38 GMT + - Thu, 18 Jun 2020 04:19:42 GMT expires: - '-1' pragma: @@ -45,7 +45,9 @@ interactions: code: 200 message: OK - request: - body: '{"location": "westus", "properties": {"additionalProperties": {}}}' + body: '{"location": "westus", "properties": {"additionalProperties": {"Network.DNS.EnableProxy": + "False", "Network.DNS.RequireProxyForNetworkRules": "True", "Network.DNS.Servers": + ""}}}' headers: Accept: - application/json @@ -56,39 +58,43 @@ interactions: Connection: - keep-alive Content-Length: - - '66' + - '178' Content-Type: - application/json; charset=utf-8 ParameterSetName: - -g -n User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 response: body: - string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"d27aca61-e790-4b17-a922-1f790b422e41\\\"\",\r\n \"type\": - \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Updating\",\r\n \"sku\": {\r\n \"name\": - \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\": - \"Alert\",\r\n \"additionalProperties\": {},\r\n \"ipConfigurations\": - [],\r\n \"networkRuleCollections\": [],\r\n \"applicationRuleCollections\": - [],\r\n \"natRuleCollections\": []\r\n }\r\n}" + string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1\"\ + ,\r\n \"etag\": \"W/\\\"69be03d5-35e3-493f-bb6d-52a1946b25d8\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \ + \ \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\ + \r\n },\r\n \"threatIntelMode\": \"Alert\",\r\n \"additionalProperties\"\ + : {\r\n \"Network.DNS.EnableProxy\": \"False\",\r\n \"Network.DNS.RequireProxyForNetworkRules\"\ + : \"True\",\r\n \"Network.DNS.Servers\": \"\"\r\n },\r\n \"ipConfigurations\"\ + : [],\r\n \"networkRuleCollections\": [],\r\n \"applicationRuleCollections\"\ + : [],\r\n \"natRuleCollections\": []\r\n }\r\n}" headers: + azure-asyncnotification: + - Enabled azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/9dc1e96a-1a14-402f-bade-fa15b3d3bc26?api-version=2019-11-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/dc741430-3139-48d5-ba96-4ec23a2ad5cf?api-version=2019-11-01 cache-control: - no-cache content-length: - - '690' + - '830' content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:31:44 GMT + - Thu, 18 Jun 2020 04:19:48 GMT expires: - '-1' pragma: @@ -101,7 +107,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - a8d94a87-6810-4edd-8300-e77b8bbddd93 + - 533615e1-3428-4553-b30c-85e5f9a9be4a x-ms-ratelimit-remaining-subscription-writes: - '1198' status: @@ -121,10 +127,10 @@ interactions: ParameterSetName: - -g -n User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/9dc1e96a-1a14-402f-bade-fa15b3d3bc26?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/dc741430-3139-48d5-ba96-4ec23a2ad5cf?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -136,7 +142,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:32:01 GMT + - Thu, 18 Jun 2020 04:19:59 GMT expires: - '-1' pragma: @@ -153,7 +159,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 4e19f72e-7dcd-4669-9443-a647561270ed + - d036be3b-abae-44a4-a087-8b5f68c4bd81 status: code: 200 message: OK @@ -171,31 +177,33 @@ interactions: ParameterSetName: - -g -n User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 response: body: - string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"6e48698d-dc89-4799-b3fa-252f5df3b0f1\\\"\",\r\n \"type\": - \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Succeeded\",\r\n \"sku\": {\r\n \"name\": - \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\": - \"Alert\",\r\n \"additionalProperties\": {},\r\n \"ipConfigurations\": - [],\r\n \"networkRuleCollections\": [],\r\n \"applicationRuleCollections\": - [],\r\n \"natRuleCollections\": []\r\n }\r\n}" + string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1\"\ + ,\r\n \"etag\": \"W/\\\"4c567073-1427-4c41-8dba-6d778254aa60\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n\ + \ \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\ + \r\n },\r\n \"threatIntelMode\": \"Alert\",\r\n \"additionalProperties\"\ + : {\r\n \"Network.DNS.EnableProxy\": \"False\",\r\n \"Network.DNS.RequireProxyForNetworkRules\"\ + : \"True\",\r\n \"Network.DNS.Servers\": \"\"\r\n },\r\n \"ipConfigurations\"\ + : [],\r\n \"networkRuleCollections\": [],\r\n \"applicationRuleCollections\"\ + : [],\r\n \"natRuleCollections\": []\r\n }\r\n}" headers: cache-control: - no-cache content-length: - - '691' + - '831' content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:32:02 GMT + - Thu, 18 Jun 2020 04:19:59 GMT etag: - - W/"6e48698d-dc89-4799-b3fa-252f5df3b0f1" + - W/"4c567073-1427-4c41-8dba-6d778254aa60" expires: - '-1' pragma: @@ -212,7 +220,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 0e0a067f-b78b-4ba4-a8ec-3e3fbaf360c0 + - aac540ec-3cdf-4673-aef1-c30763db1980 status: code: 200 message: OK @@ -230,15 +238,15 @@ interactions: ParameterSetName: - -g -n --sku User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-resource/8.0.1 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_azure_firewall_ip_config000001?api-version=2019-07-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001","name":"cli_test_azure_firewall_ip_config000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2020-02-12T09:31:21Z"},"properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001","name":"cli_test_azure_firewall_ip_config000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2020-06-18T04:19:40Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -247,7 +255,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:32:04 GMT + - Thu, 18 Jun 2020 04:20:00 GMT expires: - '-1' pragma: @@ -280,24 +288,27 @@ interactions: ParameterSetName: - -g -n --sku User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip?api-version=2020-04-01 response: body: - string: "{\r\n \"name\": \"pubip\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip\",\r\n - \ \"etag\": \"W/\\\"c97ae51a-24de-4117-be91-63b666598148\\\"\",\r\n \"location\": - \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n - \ \"resourceGuid\": \"061eba7d-1a50-4088-803a-47553e90146d\",\r\n \"publicIPAddressVersion\": - \"IPv4\",\r\n \"publicIPAllocationMethod\": \"Static\",\r\n \"idleTimeoutInMinutes\": - 4,\r\n \"ipTags\": []\r\n },\r\n \"type\": \"Microsoft.Network/publicIPAddresses\",\r\n - \ \"sku\": {\r\n \"name\": \"Standard\"\r\n }\r\n}" + string: "{\r\n \"name\": \"pubip\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip\"\ + ,\r\n \"etag\": \"W/\\\"757b3fe9-2543-4f24-84bf-c14b370c88c0\\\"\",\r\n \ + \ \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\"\ + : \"Updating\",\r\n \"resourceGuid\": \"2cda3344-f2f4-41f1-adff-aa8bf13f40bb\"\ + ,\r\n \"publicIPAddressVersion\": \"IPv4\",\r\n \"publicIPAllocationMethod\"\ + : \"Static\",\r\n \"idleTimeoutInMinutes\": 4,\r\n \"ipTags\": []\r\n\ + \ },\r\n \"type\": \"Microsoft.Network/publicIPAddresses\",\r\n \"sku\"\ + : {\r\n \"name\": \"Standard\"\r\n }\r\n}" headers: + azure-asyncnotification: + - Enabled azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/54302f83-aa97-40d9-8596-676492e04c05?api-version=2019-11-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/ee819350-53bd-478c-b79b-7cfd9a66807c?api-version=2020-04-01 cache-control: - no-cache content-length: @@ -305,7 +316,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:32:11 GMT + - Thu, 18 Jun 2020 04:20:07 GMT expires: - '-1' pragma: @@ -318,9 +329,9 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - f3f5c713-902f-4250-b1da-c0ba635f2043 + - 546bf03a-1022-43bc-bd74-c452a622674e x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1199' status: code: 201 message: Created @@ -338,10 +349,10 @@ interactions: ParameterSetName: - -g -n --sku User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/54302f83-aa97-40d9-8596-676492e04c05?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/ee819350-53bd-478c-b79b-7cfd9a66807c?api-version=2020-04-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -353,7 +364,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:32:17 GMT + - Thu, 18 Jun 2020 04:20:08 GMT expires: - '-1' pragma: @@ -370,7 +381,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - afccf959-fe49-4fbd-a218-f44d27a904e7 + - c80c6972-17b0-4714-8521-fc93b2d1fa08 status: code: 200 message: OK @@ -388,31 +399,31 @@ interactions: ParameterSetName: - -g -n --sku User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip?api-version=2020-04-01 response: body: - string: "{\r\n \"name\": \"pubip\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip\",\r\n - \ \"etag\": \"W/\\\"ba845478-d268-4244-a98a-d2946384e3ac\\\"\",\r\n \"location\": - \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"resourceGuid\": \"061eba7d-1a50-4088-803a-47553e90146d\",\r\n \"ipAddress\": - \"13.88.131.172\",\r\n \"publicIPAddressVersion\": \"IPv4\",\r\n \"publicIPAllocationMethod\": - \"Static\",\r\n \"idleTimeoutInMinutes\": 4,\r\n \"ipTags\": []\r\n - \ },\r\n \"type\": \"Microsoft.Network/publicIPAddresses\",\r\n \"sku\": - {\r\n \"name\": \"Standard\"\r\n }\r\n}" + string: "{\r\n \"name\": \"pubip\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip\"\ + ,\r\n \"etag\": \"W/\\\"343896cb-0b90-49a4-a5a9-c4c9f36c36e9\\\"\",\r\n \ + \ \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\"\ + : \"Succeeded\",\r\n \"resourceGuid\": \"2cda3344-f2f4-41f1-adff-aa8bf13f40bb\"\ + ,\r\n \"ipAddress\": \"52.234.110.140\",\r\n \"publicIPAddressVersion\"\ + : \"IPv4\",\r\n \"publicIPAllocationMethod\": \"Static\",\r\n \"idleTimeoutInMinutes\"\ + : 4,\r\n \"ipTags\": []\r\n },\r\n \"type\": \"Microsoft.Network/publicIPAddresses\"\ + ,\r\n \"sku\": {\r\n \"name\": \"Standard\"\r\n }\r\n}" headers: cache-control: - no-cache content-length: - - '696' + - '697' content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:32:17 GMT + - Thu, 18 Jun 2020 04:20:09 GMT etag: - - W/"ba845478-d268-4244-a98a-d2946384e3ac" + - W/"343896cb-0b90-49a4-a5a9-c4c9f36c36e9" expires: - '-1' pragma: @@ -429,7 +440,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 58c9bb64-14a4-4549-8308-74d3e4c6dab5 + - f5e810f1-7b1c-492e-80fc-19b87d0bab46 status: code: 200 message: OK @@ -447,15 +458,15 @@ interactions: ParameterSetName: - -g -n --sku User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-resource/8.0.1 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_azure_firewall_ip_config000001?api-version=2019-07-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001","name":"cli_test_azure_firewall_ip_config000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2020-02-12T09:31:21Z"},"properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001","name":"cli_test_azure_firewall_ip_config000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2020-06-18T04:19:40Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -464,7 +475,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:32:20 GMT + - Thu, 18 Jun 2020 04:20:09 GMT expires: - '-1' pragma: @@ -497,24 +508,27 @@ interactions: ParameterSetName: - -g -n --sku User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip2?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip2?api-version=2020-04-01 response: body: - string: "{\r\n \"name\": \"pubip2\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip2\",\r\n - \ \"etag\": \"W/\\\"66679ca8-8a33-4cb7-b4ca-6adfee3658fa\\\"\",\r\n \"location\": - \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n - \ \"resourceGuid\": \"ac215f44-b7f7-4bab-9b8e-a169afadb45b\",\r\n \"publicIPAddressVersion\": - \"IPv4\",\r\n \"publicIPAllocationMethod\": \"Static\",\r\n \"idleTimeoutInMinutes\": - 4,\r\n \"ipTags\": []\r\n },\r\n \"type\": \"Microsoft.Network/publicIPAddresses\",\r\n - \ \"sku\": {\r\n \"name\": \"Standard\"\r\n }\r\n}" + string: "{\r\n \"name\": \"pubip2\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip2\"\ + ,\r\n \"etag\": \"W/\\\"7b0b4b62-cc29-4c48-89aa-0a0914a24670\\\"\",\r\n \ + \ \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\"\ + : \"Updating\",\r\n \"resourceGuid\": \"0b965a4e-4ef7-44d5-9e89-c175a7bacf34\"\ + ,\r\n \"publicIPAddressVersion\": \"IPv4\",\r\n \"publicIPAllocationMethod\"\ + : \"Static\",\r\n \"idleTimeoutInMinutes\": 4,\r\n \"ipTags\": []\r\n\ + \ },\r\n \"type\": \"Microsoft.Network/publicIPAddresses\",\r\n \"sku\"\ + : {\r\n \"name\": \"Standard\"\r\n }\r\n}" headers: + azure-asyncnotification: + - Enabled azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/fdf28ea2-cafe-418f-aa5d-6489d936d605?api-version=2019-11-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/eba828ad-607b-4d8b-bf24-65af7d1d6ec0?api-version=2020-04-01 cache-control: - no-cache content-length: @@ -522,7 +536,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:32:29 GMT + - Thu, 18 Jun 2020 04:20:15 GMT expires: - '-1' pragma: @@ -535,9 +549,9 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 65a178c1-89a1-421d-bd66-0a2fc41d84c5 + - 0393fb10-e064-4ea6-8ee8-29e10470e477 x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1195' status: code: 201 message: Created @@ -555,10 +569,10 @@ interactions: ParameterSetName: - -g -n --sku User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/fdf28ea2-cafe-418f-aa5d-6489d936d605?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/eba828ad-607b-4d8b-bf24-65af7d1d6ec0?api-version=2020-04-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -570,7 +584,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:32:32 GMT + - Thu, 18 Jun 2020 04:20:17 GMT expires: - '-1' pragma: @@ -587,7 +601,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 4b9ebeb0-d77a-4043-8e0b-57482782872a + - 5af69841-7c75-4461-837b-35a3f1af8def status: code: 200 message: OK @@ -605,31 +619,31 @@ interactions: ParameterSetName: - -g -n --sku User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip2?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip2?api-version=2020-04-01 response: body: - string: "{\r\n \"name\": \"pubip2\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip2\",\r\n - \ \"etag\": \"W/\\\"b2ce4ba7-181a-4148-b96e-7f9a16cf6530\\\"\",\r\n \"location\": - \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"resourceGuid\": \"ac215f44-b7f7-4bab-9b8e-a169afadb45b\",\r\n \"ipAddress\": - \"13.88.133.8\",\r\n \"publicIPAddressVersion\": \"IPv4\",\r\n \"publicIPAllocationMethod\": - \"Static\",\r\n \"idleTimeoutInMinutes\": 4,\r\n \"ipTags\": []\r\n - \ },\r\n \"type\": \"Microsoft.Network/publicIPAddresses\",\r\n \"sku\": - {\r\n \"name\": \"Standard\"\r\n }\r\n}" + string: "{\r\n \"name\": \"pubip2\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip2\"\ + ,\r\n \"etag\": \"W/\\\"b1c06209-2473-41a8-9700-9ad4fb51e74e\\\"\",\r\n \ + \ \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\"\ + : \"Succeeded\",\r\n \"resourceGuid\": \"0b965a4e-4ef7-44d5-9e89-c175a7bacf34\"\ + ,\r\n \"ipAddress\": \"52.234.110.41\",\r\n \"publicIPAddressVersion\"\ + : \"IPv4\",\r\n \"publicIPAllocationMethod\": \"Static\",\r\n \"idleTimeoutInMinutes\"\ + : 4,\r\n \"ipTags\": []\r\n },\r\n \"type\": \"Microsoft.Network/publicIPAddresses\"\ + ,\r\n \"sku\": {\r\n \"name\": \"Standard\"\r\n }\r\n}" headers: cache-control: - no-cache content-length: - - '696' + - '698' content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:32:32 GMT + - Thu, 18 Jun 2020 04:20:18 GMT etag: - - W/"b2ce4ba7-181a-4148-b96e-7f9a16cf6530" + - W/"b1c06209-2473-41a8-9700-9ad4fb51e74e" expires: - '-1' pragma: @@ -646,7 +660,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 931a8fc4-c250-4e40-b449-61ddc6c2269d + - b4cc766f-76b9-4304-b1f7-f7315188b9cc status: code: 200 message: OK @@ -664,15 +678,15 @@ interactions: ParameterSetName: - -g -n --subnet-name --address-prefixes --subnet-prefixes User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-resource/8.0.1 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_azure_firewall_ip_config000001?api-version=2019-07-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001","name":"cli_test_azure_firewall_ip_config000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2020-02-12T09:31:21Z"},"properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001","name":"cli_test_azure_firewall_ip_config000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2020-06-18T04:19:40Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -681,7 +695,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:32:35 GMT + - Thu, 18 Jun 2020 04:20:18 GMT expires: - '-1' pragma: @@ -715,33 +729,36 @@ interactions: ParameterSetName: - -g -n --subnet-name --address-prefixes --subnet-prefixes User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet?api-version=2019-11-01 - response: - body: - string: "{\r\n \"name\": \"myvnet\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet\",\r\n - \ \"etag\": \"W/\\\"55207bbb-871c-4854-94da-f2a3c3480ab1\\\"\",\r\n \"type\": - \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"westus\",\r\n - \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n - \ \"resourceGuid\": \"567293a5-91f5-4897-8ddc-744850511b2b\",\r\n \"addressSpace\": - {\r\n \"addressPrefixes\": [\r\n \"10.0.0.0/16\"\r\n ]\r\n - \ },\r\n \"dhcpOptions\": {\r\n \"dnsServers\": []\r\n },\r\n - \ \"subnets\": [\r\n {\r\n \"name\": \"AzureFirewallSubnet\",\r\n - \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet/subnets/AzureFirewallSubnet\",\r\n - \ \"etag\": \"W/\\\"55207bbb-871c-4854-94da-f2a3c3480ab1\\\"\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n - \ \"addressPrefix\": \"10.0.0.0/24\",\r\n \"delegations\": - [],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n \"privateLinkServiceNetworkPolicies\": - \"Enabled\"\r\n },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets\"\r\n - \ }\r\n ],\r\n \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\": - false,\r\n \"enableVmProtection\": false\r\n }\r\n}" - headers: + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"myvnet\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet\"\ + ,\r\n \"etag\": \"W/\\\"f129d1f4-7dff-457f-9b18-e21a92a6d47a\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"westus\"\ + ,\r\n \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\":\ + \ \"Updating\",\r\n \"resourceGuid\": \"b92940ec-e51b-4ecd-b2b8-97970e24795f\"\ + ,\r\n \"addressSpace\": {\r\n \"addressPrefixes\": [\r\n \"\ + 10.0.0.0/16\"\r\n ]\r\n },\r\n \"dhcpOptions\": {\r\n \"dnsServers\"\ + : []\r\n },\r\n \"subnets\": [\r\n {\r\n \"name\": \"AzureFirewallSubnet\"\ + ,\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet/subnets/AzureFirewallSubnet\"\ + ,\r\n \"etag\": \"W/\\\"f129d1f4-7dff-457f-9b18-e21a92a6d47a\\\"\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\"\ + ,\r\n \"addressPrefix\": \"10.0.0.0/24\",\r\n \"delegations\"\ + : [],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n \ + \ \"privateLinkServiceNetworkPolicies\": \"Enabled\"\r\n },\r\ + \n \"type\": \"Microsoft.Network/virtualNetworks/subnets\"\r\n \ + \ }\r\n ],\r\n \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\"\ + : false,\r\n \"enableVmProtection\": false\r\n }\r\n}" + headers: + azure-asyncnotification: + - Enabled azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/721684d3-bbd1-44a3-a7a0-5573aab70f59?api-version=2019-11-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/c7c8d006-8c75-457e-b530-43ee24ceb53b?api-version=2020-04-01 cache-control: - no-cache content-length: @@ -749,7 +766,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:32:39 GMT + - Thu, 18 Jun 2020 04:20:26 GMT expires: - '-1' pragma: @@ -762,9 +779,9 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - ecb4400f-3a9e-4a5a-b888-c0f5421a2b6a + - 18281a1e-8a0e-4a2a-b436-4f8ca8b34620 x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1197' status: code: 201 message: Created @@ -782,10 +799,10 @@ interactions: ParameterSetName: - -g -n --subnet-name --address-prefixes --subnet-prefixes User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/721684d3-bbd1-44a3-a7a0-5573aab70f59?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/c7c8d006-8c75-457e-b530-43ee24ceb53b?api-version=2020-04-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -797,7 +814,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:32:46 GMT + - Thu, 18 Jun 2020 04:20:30 GMT expires: - '-1' pragma: @@ -814,7 +831,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 3a34ee04-f3ff-4aca-8c1f-ce067fbc6711 + - 9cd94f4c-0300-4386-a2ff-d6fff676bebb status: code: 200 message: OK @@ -832,28 +849,29 @@ interactions: ParameterSetName: - -g -n --subnet-name --address-prefixes --subnet-prefixes User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet?api-version=2020-04-01 response: body: - string: "{\r\n \"name\": \"myvnet\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet\",\r\n - \ \"etag\": \"W/\\\"cdec0274-2951-4c8d-8e05-4fd2cf14cfb2\\\"\",\r\n \"type\": - \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"westus\",\r\n - \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"resourceGuid\": \"567293a5-91f5-4897-8ddc-744850511b2b\",\r\n \"addressSpace\": - {\r\n \"addressPrefixes\": [\r\n \"10.0.0.0/16\"\r\n ]\r\n - \ },\r\n \"dhcpOptions\": {\r\n \"dnsServers\": []\r\n },\r\n - \ \"subnets\": [\r\n {\r\n \"name\": \"AzureFirewallSubnet\",\r\n - \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet/subnets/AzureFirewallSubnet\",\r\n - \ \"etag\": \"W/\\\"cdec0274-2951-4c8d-8e05-4fd2cf14cfb2\\\"\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"addressPrefix\": \"10.0.0.0/24\",\r\n \"delegations\": - [],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n \"privateLinkServiceNetworkPolicies\": - \"Enabled\"\r\n },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets\"\r\n - \ }\r\n ],\r\n \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\": - false,\r\n \"enableVmProtection\": false\r\n }\r\n}" + string: "{\r\n \"name\": \"myvnet\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet\"\ + ,\r\n \"etag\": \"W/\\\"b8b2ece0-e8f9-4166-a4c7-ae36bb76bb17\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"westus\"\ + ,\r\n \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\":\ + \ \"Succeeded\",\r\n \"resourceGuid\": \"b92940ec-e51b-4ecd-b2b8-97970e24795f\"\ + ,\r\n \"addressSpace\": {\r\n \"addressPrefixes\": [\r\n \"\ + 10.0.0.0/16\"\r\n ]\r\n },\r\n \"dhcpOptions\": {\r\n \"dnsServers\"\ + : []\r\n },\r\n \"subnets\": [\r\n {\r\n \"name\": \"AzureFirewallSubnet\"\ + ,\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet/subnets/AzureFirewallSubnet\"\ + ,\r\n \"etag\": \"W/\\\"b8b2ece0-e8f9-4166-a4c7-ae36bb76bb17\\\"\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ + ,\r\n \"addressPrefix\": \"10.0.0.0/24\",\r\n \"delegations\"\ + : [],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n \ + \ \"privateLinkServiceNetworkPolicies\": \"Enabled\"\r\n },\r\ + \n \"type\": \"Microsoft.Network/virtualNetworks/subnets\"\r\n \ + \ }\r\n ],\r\n \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\"\ + : false,\r\n \"enableVmProtection\": false\r\n }\r\n}" headers: cache-control: - no-cache @@ -862,9 +880,9 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:32:47 GMT + - Thu, 18 Jun 2020 04:20:30 GMT etag: - - W/"cdec0274-2951-4c8d-8e05-4fd2cf14cfb2" + - W/"b8b2ece0-e8f9-4166-a4c7-ae36bb76bb17" expires: - '-1' pragma: @@ -881,7 +899,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - c2fbf15e-ab1a-4d5f-ada2-c7856243e555 + - 38113e41-cbbd-4354-8766-89a35ebed413 status: code: 200 message: OK @@ -899,33 +917,35 @@ interactions: ParameterSetName: - -g -n -f --public-ip-address --vnet-name User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 response: body: - string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"6e48698d-dc89-4799-b3fa-252f5df3b0f1\\\"\",\r\n \"type\": - \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Succeeded\",\r\n \"sku\": {\r\n \"name\": - \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\": - \"Alert\",\r\n \"additionalProperties\": {},\r\n \"ipConfigurations\": - [],\r\n \"networkRuleCollections\": [],\r\n \"applicationRuleCollections\": - [],\r\n \"natRuleCollections\": []\r\n }\r\n}" + string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1\"\ + ,\r\n \"etag\": \"W/\\\"4c567073-1427-4c41-8dba-6d778254aa60\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n\ + \ \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\ + \r\n },\r\n \"threatIntelMode\": \"Alert\",\r\n \"additionalProperties\"\ + : {\r\n \"Network.DNS.EnableProxy\": \"False\",\r\n \"Network.DNS.RequireProxyForNetworkRules\"\ + : \"True\",\r\n \"Network.DNS.Servers\": \"\"\r\n },\r\n \"ipConfigurations\"\ + : [],\r\n \"networkRuleCollections\": [],\r\n \"applicationRuleCollections\"\ + : [],\r\n \"natRuleCollections\": []\r\n }\r\n}" headers: cache-control: - no-cache content-length: - - '691' + - '831' content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:32:50 GMT + - Thu, 18 Jun 2020 04:20:31 GMT etag: - - W/"6e48698d-dc89-4799-b3fa-252f5df3b0f1" + - W/"4c567073-1427-4c41-8dba-6d778254aa60" expires: - '-1' pragma: @@ -942,7 +962,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - a72d607e-5492-444c-9904-ad4ccaffd692 + - aeef8970-a7a5-4da4-b755-b762184d07f7 status: code: 200 message: OK @@ -953,7 +973,8 @@ interactions: {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet/subnets/AzureFirewallSubnet"}, "publicIPAddress": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip"}}, "name": "myipconfig1"}], "threatIntelMode": "Alert", "sku": {"name": "AZFW_VNet", - "tier": "Standard"}, "additionalProperties": {}}}''' + "tier": "Standard"}, "additionalProperties": {"Network.DNS.EnableProxy": "False", + "Network.DNS.RequireProxyForNetworkRules": "True", "Network.DNS.Servers": ""}}}''' headers: Accept: - application/json @@ -964,47 +985,50 @@ interactions: Connection: - keep-alive Content-Length: - - '964' + - '1076' Content-Type: - application/json; charset=utf-8 ParameterSetName: - -g -n -f --public-ip-address --vnet-name User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 response: body: - string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"77bdec02-651a-4e2a-a100-a297c70ee589\\\"\",\r\n \"type\": - \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Updating\",\r\n \"sku\": {\r\n \"name\": - \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\": - \"Alert\",\r\n \"additionalProperties\": {},\r\n \"ipConfigurations\": - [\r\n {\r\n \"name\": \"myipconfig1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1/azureFirewallIpConfigurations/myipconfig1\",\r\n - \ \"etag\": \"W/\\\"77bdec02-651a-4e2a-a100-a297c70ee589\\\"\",\r\n - \ \"type\": \"Microsoft.Network/azureFirewalls/azureFirewallIpConfigurations\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"privateIPAllocationMethod\": \"Dynamic\",\r\n \"publicIPAddress\": - {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip\"\r\n - \ },\r\n \"subnet\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet/subnets/AzureFirewallSubnet\"\r\n - \ }\r\n }\r\n }\r\n ],\r\n \"networkRuleCollections\": - [],\r\n \"applicationRuleCollections\": [],\r\n \"natRuleCollections\": - []\r\n }\r\n}" + string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1\"\ + ,\r\n \"etag\": \"W/\\\"88aa530c-8be7-406f-b75a-217c71609ec5\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \ + \ \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\ + \r\n },\r\n \"threatIntelMode\": \"Alert\",\r\n \"additionalProperties\"\ + : {\r\n \"Network.DNS.EnableProxy\": \"False\",\r\n \"Network.DNS.RequireProxyForNetworkRules\"\ + : \"True\",\r\n \"Network.DNS.Servers\": \"\"\r\n },\r\n \"ipConfigurations\"\ + : [\r\n {\r\n \"name\": \"myipconfig1\",\r\n \"id\": \"\ + /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1/azureFirewallIpConfigurations/myipconfig1\"\ + ,\r\n \"etag\": \"W/\\\"88aa530c-8be7-406f-b75a-217c71609ec5\\\"\"\ + ,\r\n \"type\": \"Microsoft.Network/azureFirewalls/azureFirewallIpConfigurations\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ + ,\r\n \"privateIPAllocationMethod\": \"Dynamic\",\r\n \"\ + publicIPAddress\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip\"\ + \r\n },\r\n \"subnet\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet/subnets/AzureFirewallSubnet\"\ + \r\n }\r\n }\r\n }\r\n ],\r\n \"networkRuleCollections\"\ + : [],\r\n \"applicationRuleCollections\": [],\r\n \"natRuleCollections\"\ + : []\r\n }\r\n}" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/33f43bdb-8726-406b-92ea-6743ad0cc453?api-version=2019-11-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/3d4d3b06-031f-43a6-906f-87e92f75306a?api-version=2019-11-01 cache-control: - no-cache content-length: - - '1815' + - '1955' content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:32:51 GMT + - Thu, 18 Jun 2020 04:20:32 GMT expires: - '-1' pragma: @@ -1021,9 +1045,9 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - e5b6e288-eea2-4482-a5d4-600f0314d0ae + - a1967f26-93a4-4d7d-9101-42b2eae561fc x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1196' status: code: 200 message: OK @@ -1041,10 +1065,10 @@ interactions: ParameterSetName: - -g -n -f --public-ip-address --vnet-name User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/33f43bdb-8726-406b-92ea-6743ad0cc453?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/3d4d3b06-031f-43a6-906f-87e92f75306a?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -1056,7 +1080,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:33:08 GMT + - Thu, 18 Jun 2020 04:20:43 GMT expires: - '-1' pragma: @@ -1073,7 +1097,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - a8bff5c2-cc7c-4bf3-a4bf-741d0477a499 + - 0338f173-7238-4b5c-8a73-ce0edcba2409 status: code: 200 message: OK @@ -1091,10 +1115,10 @@ interactions: ParameterSetName: - -g -n -f --public-ip-address --vnet-name User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/33f43bdb-8726-406b-92ea-6743ad0cc453?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/3d4d3b06-031f-43a6-906f-87e92f75306a?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -1106,7 +1130,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:33:19 GMT + - Thu, 18 Jun 2020 04:20:53 GMT expires: - '-1' pragma: @@ -1123,7 +1147,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - a183b604-046c-4ecc-b8ce-9fc23c943625 + - b64a3227-ba17-426e-bd37-f59eb60e6435 status: code: 200 message: OK @@ -1141,10 +1165,10 @@ interactions: ParameterSetName: - -g -n -f --public-ip-address --vnet-name User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/33f43bdb-8726-406b-92ea-6743ad0cc453?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/3d4d3b06-031f-43a6-906f-87e92f75306a?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -1156,7 +1180,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:33:32 GMT + - Thu, 18 Jun 2020 04:21:03 GMT expires: - '-1' pragma: @@ -1173,7 +1197,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 8ff713bf-bbd4-4737-8474-1f77267dfd97 + - 9136ba97-9e47-47f3-80c9-1a1d95ef6eb1 status: code: 200 message: OK @@ -1191,10 +1215,10 @@ interactions: ParameterSetName: - -g -n -f --public-ip-address --vnet-name User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/33f43bdb-8726-406b-92ea-6743ad0cc453?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/3d4d3b06-031f-43a6-906f-87e92f75306a?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -1206,7 +1230,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:33:42 GMT + - Thu, 18 Jun 2020 04:21:13 GMT expires: - '-1' pragma: @@ -1223,7 +1247,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 965bb55f-2eff-498e-add1-da527a7db376 + - 73f3ca52-bcb5-4823-b3bf-9976dbade6aa status: code: 200 message: OK @@ -1241,10 +1265,10 @@ interactions: ParameterSetName: - -g -n -f --public-ip-address --vnet-name User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/33f43bdb-8726-406b-92ea-6743ad0cc453?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/3d4d3b06-031f-43a6-906f-87e92f75306a?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -1256,7 +1280,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:33:52 GMT + - Thu, 18 Jun 2020 04:21:24 GMT expires: - '-1' pragma: @@ -1273,7 +1297,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 042058fc-ce7e-4c2e-bdfa-7fbe51bce57e + - c87b46b4-0d25-4bd4-aaa0-dd811c3f6fbc status: code: 200 message: OK @@ -1291,10 +1315,10 @@ interactions: ParameterSetName: - -g -n -f --public-ip-address --vnet-name User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/33f43bdb-8726-406b-92ea-6743ad0cc453?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/3d4d3b06-031f-43a6-906f-87e92f75306a?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -1306,7 +1330,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:34:02 GMT + - Thu, 18 Jun 2020 04:21:35 GMT expires: - '-1' pragma: @@ -1323,7 +1347,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - f5883014-aaae-476f-8dd0-ab3ae0b205bf + - 7dda00b7-6745-4d26-a0c1-a3c34046e409 status: code: 200 message: OK @@ -1341,10 +1365,10 @@ interactions: ParameterSetName: - -g -n -f --public-ip-address --vnet-name User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/33f43bdb-8726-406b-92ea-6743ad0cc453?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/3d4d3b06-031f-43a6-906f-87e92f75306a?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -1356,7 +1380,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:34:13 GMT + - Thu, 18 Jun 2020 04:21:45 GMT expires: - '-1' pragma: @@ -1373,7 +1397,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - d3265b2f-ebc1-4be0-8a23-c910c24ca081 + - 5cce2e54-a11d-4a6d-a4ee-2ef48ee36e52 status: code: 200 message: OK @@ -1391,10 +1415,10 @@ interactions: ParameterSetName: - -g -n -f --public-ip-address --vnet-name User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/33f43bdb-8726-406b-92ea-6743ad0cc453?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/3d4d3b06-031f-43a6-906f-87e92f75306a?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -1406,7 +1430,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:34:25 GMT + - Thu, 18 Jun 2020 04:21:55 GMT expires: - '-1' pragma: @@ -1423,7 +1447,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - ecc7dc9b-ce23-408c-bb17-9ca89a3e02eb + - 7d6198ba-7d97-472e-aeff-9b3721a0059c status: code: 200 message: OK @@ -1441,10 +1465,10 @@ interactions: ParameterSetName: - -g -n -f --public-ip-address --vnet-name User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/33f43bdb-8726-406b-92ea-6743ad0cc453?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/3d4d3b06-031f-43a6-906f-87e92f75306a?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -1456,7 +1480,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:34:35 GMT + - Thu, 18 Jun 2020 04:22:05 GMT expires: - '-1' pragma: @@ -1473,7 +1497,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 410f2c93-56ab-4518-b6d2-f4667666b0be + - fab95052-210e-4711-a8db-b8ed4d5d96e1 status: code: 200 message: OK @@ -1491,10 +1515,10 @@ interactions: ParameterSetName: - -g -n -f --public-ip-address --vnet-name User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/33f43bdb-8726-406b-92ea-6743ad0cc453?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/3d4d3b06-031f-43a6-906f-87e92f75306a?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -1506,7 +1530,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:34:45 GMT + - Thu, 18 Jun 2020 04:22:15 GMT expires: - '-1' pragma: @@ -1523,7 +1547,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 2844c156-6382-4cb1-aba5-0aac5863d390 + - 12608557-b866-47e8-a256-674583f29ab4 status: code: 200 message: OK @@ -1541,10 +1565,10 @@ interactions: ParameterSetName: - -g -n -f --public-ip-address --vnet-name User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/33f43bdb-8726-406b-92ea-6743ad0cc453?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/3d4d3b06-031f-43a6-906f-87e92f75306a?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -1556,7 +1580,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:34:57 GMT + - Thu, 18 Jun 2020 04:22:26 GMT expires: - '-1' pragma: @@ -1573,7 +1597,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 4586ae68-c5c5-48c5-93f5-f0d4b8d57257 + - bfa8e19b-0fe6-46f6-9016-5c653d6f7f53 status: code: 200 message: OK @@ -1591,10 +1615,10 @@ interactions: ParameterSetName: - -g -n -f --public-ip-address --vnet-name User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/33f43bdb-8726-406b-92ea-6743ad0cc453?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/3d4d3b06-031f-43a6-906f-87e92f75306a?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -1606,7 +1630,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:35:09 GMT + - Thu, 18 Jun 2020 04:22:36 GMT expires: - '-1' pragma: @@ -1623,7 +1647,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 3ce23249-6d9c-4595-8b49-4e934e25521d + - a5fa547f-f511-40a6-8f5b-bb4e0b2ced66 status: code: 200 message: OK @@ -1641,10 +1665,10 @@ interactions: ParameterSetName: - -g -n -f --public-ip-address --vnet-name User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/33f43bdb-8726-406b-92ea-6743ad0cc453?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/3d4d3b06-031f-43a6-906f-87e92f75306a?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -1656,7 +1680,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:35:20 GMT + - Thu, 18 Jun 2020 04:22:46 GMT expires: - '-1' pragma: @@ -1673,7 +1697,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 94b196e5-ffde-4ef6-bdb9-cf133775ba33 + - 05ad5c68-6d1b-4d64-9116-b2d8b0f93190 status: code: 200 message: OK @@ -1691,10 +1715,10 @@ interactions: ParameterSetName: - -g -n -f --public-ip-address --vnet-name User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/33f43bdb-8726-406b-92ea-6743ad0cc453?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/3d4d3b06-031f-43a6-906f-87e92f75306a?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -1706,7 +1730,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:35:30 GMT + - Thu, 18 Jun 2020 04:22:56 GMT expires: - '-1' pragma: @@ -1723,7 +1747,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - da30e7cf-b204-408e-b645-47023bd332f1 + - b2e2d1f7-7206-4a26-80ac-054eac83bc64 status: code: 200 message: OK @@ -1741,10 +1765,10 @@ interactions: ParameterSetName: - -g -n -f --public-ip-address --vnet-name User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/33f43bdb-8726-406b-92ea-6743ad0cc453?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/3d4d3b06-031f-43a6-906f-87e92f75306a?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -1756,7 +1780,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:35:41 GMT + - Thu, 18 Jun 2020 04:23:06 GMT expires: - '-1' pragma: @@ -1773,7 +1797,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - f94ddc0b-2d49-4081-8179-6274d5503deb + - 6cfe8a28-4307-4198-aba7-542344f02b62 status: code: 200 message: OK @@ -1791,10 +1815,10 @@ interactions: ParameterSetName: - -g -n -f --public-ip-address --vnet-name User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/33f43bdb-8726-406b-92ea-6743ad0cc453?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/3d4d3b06-031f-43a6-906f-87e92f75306a?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -1806,7 +1830,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:35:53 GMT + - Thu, 18 Jun 2020 04:23:18 GMT expires: - '-1' pragma: @@ -1823,7 +1847,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 7937b22f-f861-4c41-90df-79def32b0b61 + - 821b1c65-09f1-4be7-baba-9b6d3a82e8b4 status: code: 200 message: OK @@ -1841,10 +1865,10 @@ interactions: ParameterSetName: - -g -n -f --public-ip-address --vnet-name User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/33f43bdb-8726-406b-92ea-6743ad0cc453?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/3d4d3b06-031f-43a6-906f-87e92f75306a?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -1856,7 +1880,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:36:03 GMT + - Thu, 18 Jun 2020 04:23:28 GMT expires: - '-1' pragma: @@ -1873,7 +1897,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - fdff7bf1-38f3-4e61-9ef3-4f4deb5f7d95 + - cba598aa-7914-40ce-b485-2d216ba6c256 status: code: 200 message: OK @@ -1891,10 +1915,10 @@ interactions: ParameterSetName: - -g -n -f --public-ip-address --vnet-name User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/33f43bdb-8726-406b-92ea-6743ad0cc453?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/3d4d3b06-031f-43a6-906f-87e92f75306a?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -1906,7 +1930,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:36:14 GMT + - Thu, 18 Jun 2020 04:23:38 GMT expires: - '-1' pragma: @@ -1923,7 +1947,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 7bb1aee2-fdc2-417e-a864-d25fd763c367 + - 424ed714-6aa2-4096-b71e-0e295ca023b7 status: code: 200 message: OK @@ -1941,10 +1965,10 @@ interactions: ParameterSetName: - -g -n -f --public-ip-address --vnet-name User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/33f43bdb-8726-406b-92ea-6743ad0cc453?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/3d4d3b06-031f-43a6-906f-87e92f75306a?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -1956,7 +1980,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:36:25 GMT + - Thu, 18 Jun 2020 04:23:48 GMT expires: - '-1' pragma: @@ -1973,7 +1997,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 162af446-385a-4c70-8351-560134c70536 + - 9477e62f-1bd8-4eb0-9fab-ce6840d41fd4 status: code: 200 message: OK @@ -1991,10 +2015,10 @@ interactions: ParameterSetName: - -g -n -f --public-ip-address --vnet-name User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/33f43bdb-8726-406b-92ea-6743ad0cc453?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/3d4d3b06-031f-43a6-906f-87e92f75306a?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -2006,7 +2030,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:36:38 GMT + - Thu, 18 Jun 2020 04:23:58 GMT expires: - '-1' pragma: @@ -2023,7 +2047,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - bf0b1d6f-44fb-4848-86c6-e5fcf76504be + - 247d163f-1d3c-4c07-b0fe-18119854e5e9 status: code: 200 message: OK @@ -2041,10 +2065,10 @@ interactions: ParameterSetName: - -g -n -f --public-ip-address --vnet-name User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/33f43bdb-8726-406b-92ea-6743ad0cc453?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/3d4d3b06-031f-43a6-906f-87e92f75306a?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -2056,7 +2080,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:36:49 GMT + - Thu, 18 Jun 2020 04:24:09 GMT expires: - '-1' pragma: @@ -2073,7 +2097,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 0a258470-0d0f-4776-aead-0c1beb32a249 + - 7de10689-a326-41bf-a62d-4741ab414035 status: code: 200 message: OK @@ -2091,22 +2115,22 @@ interactions: ParameterSetName: - -g -n -f --public-ip-address --vnet-name User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/33f43bdb-8726-406b-92ea-6743ad0cc453?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/3d4d3b06-031f-43a6-906f-87e92f75306a?api-version=2019-11-01 response: body: - string: "{\r\n \"status\": \"InProgress\"\r\n}" + string: "{\r\n \"status\": \"Succeeded\"\r\n}" headers: cache-control: - no-cache content-length: - - '30' + - '29' content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:37:00 GMT + - Thu, 18 Jun 2020 04:24:19 GMT expires: - '-1' pragma: @@ -2123,7 +2147,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 30076084-60b7-4fe3-a427-4e0a411a0ca0 + - 7d16d4e5-b358-404c-ba38-73e26c985c31 status: code: 200 message: OK @@ -2141,22 +2165,43 @@ interactions: ParameterSetName: - -g -n -f --public-ip-address --vnet-name User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/33f43bdb-8726-406b-92ea-6743ad0cc453?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 response: body: - string: "{\r\n \"status\": \"InProgress\"\r\n}" + string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1\"\ + ,\r\n \"etag\": \"W/\\\"71941a40-230d-470c-8ffc-720de68ded7b\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n\ + \ \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\ + \r\n },\r\n \"threatIntelMode\": \"Alert\",\r\n \"additionalProperties\"\ + : {\r\n \"Network.DNS.EnableProxy\": \"False\",\r\n \"Network.DNS.RequireProxyForNetworkRules\"\ + : \"True\",\r\n \"Network.DNS.Servers\": \"\"\r\n },\r\n \"ipConfigurations\"\ + : [\r\n {\r\n \"name\": \"myipconfig1\",\r\n \"id\": \"\ + /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1/azureFirewallIpConfigurations/myipconfig1\"\ + ,\r\n \"etag\": \"W/\\\"71941a40-230d-470c-8ffc-720de68ded7b\\\"\"\ + ,\r\n \"type\": \"Microsoft.Network/azureFirewalls/azureFirewallIpConfigurations\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ + ,\r\n \"privateIPAddress\": \"10.0.0.4\",\r\n \"privateIPAllocationMethod\"\ + : \"Dynamic\",\r\n \"publicIPAddress\": {\r\n \"id\":\ + \ \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip\"\ + \r\n },\r\n \"subnet\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet/subnets/AzureFirewallSubnet\"\ + \r\n }\r\n }\r\n }\r\n ],\r\n \"networkRuleCollections\"\ + : [],\r\n \"applicationRuleCollections\": [],\r\n \"natRuleCollections\"\ + : []\r\n }\r\n}" headers: cache-control: - no-cache content-length: - - '30' + - '1999' content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:37:10 GMT + - Thu, 18 Jun 2020 04:24:19 GMT + etag: + - W/"71941a40-230d-470c-8ffc-720de68ded7b" expires: - '-1' pragma: @@ -2173,7 +2218,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 5d7da7ea-f3bf-41a0-812b-1655ddd58b8b + - e266e21a-c6f8-4251-9936-f0b112e9ddb4 status: code: 200 message: OK @@ -2189,24 +2234,47 @@ interactions: Connection: - keep-alive ParameterSetName: - - -g -n -f --public-ip-address --vnet-name + - -g -n -f --public-ip-address User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/33f43bdb-8726-406b-92ea-6743ad0cc453?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 response: body: - string: "{\r\n \"status\": \"InProgress\"\r\n}" + string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1\"\ + ,\r\n \"etag\": \"W/\\\"71941a40-230d-470c-8ffc-720de68ded7b\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n\ + \ \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\ + \r\n },\r\n \"threatIntelMode\": \"Alert\",\r\n \"additionalProperties\"\ + : {\r\n \"Network.DNS.EnableProxy\": \"False\",\r\n \"Network.DNS.RequireProxyForNetworkRules\"\ + : \"True\",\r\n \"Network.DNS.Servers\": \"\"\r\n },\r\n \"ipConfigurations\"\ + : [\r\n {\r\n \"name\": \"myipconfig1\",\r\n \"id\": \"\ + /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1/azureFirewallIpConfigurations/myipconfig1\"\ + ,\r\n \"etag\": \"W/\\\"71941a40-230d-470c-8ffc-720de68ded7b\\\"\"\ + ,\r\n \"type\": \"Microsoft.Network/azureFirewalls/azureFirewallIpConfigurations\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ + ,\r\n \"privateIPAddress\": \"10.0.0.4\",\r\n \"privateIPAllocationMethod\"\ + : \"Dynamic\",\r\n \"publicIPAddress\": {\r\n \"id\":\ + \ \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip\"\ + \r\n },\r\n \"subnet\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet/subnets/AzureFirewallSubnet\"\ + \r\n }\r\n }\r\n }\r\n ],\r\n \"networkRuleCollections\"\ + : [],\r\n \"applicationRuleCollections\": [],\r\n \"natRuleCollections\"\ + : []\r\n }\r\n}" headers: cache-control: - no-cache content-length: - - '30' + - '1999' content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:37:23 GMT + - Thu, 18 Jun 2020 04:24:21 GMT + etag: + - W/"71941a40-230d-470c-8ffc-720de68ded7b" expires: - '-1' pragma: @@ -2223,12 +2291,20 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 6d37981a-5d2b-4661-9dac-2601d83db126 + - 34bc7bf0-18fa-4083-86ab-dcc99d46d1e2 status: code: 200 message: OK - request: - body: null + body: 'b''{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1", + "location": "westus", "properties": {"applicationRuleCollections": [], "natRuleCollections": + [], "networkRuleCollections": [], "ipConfigurations": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1/azureFirewallIpConfigurations/myipconfig1", + "properties": {"subnet": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet/subnets/AzureFirewallSubnet"}, + "publicIPAddress": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip"}}, + "name": "myipconfig1"}, {"properties": {"publicIPAddress": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip2"}}, + "name": "myipconfig2"}], "threatIntelMode": "Alert", "sku": {"name": "AZFW_VNet", + "tier": "Standard"}, "additionalProperties": {"Network.DNS.EnableProxy": "False", + "Network.DNS.RequireProxyForNetworkRules": "True", "Network.DNS.Servers": ""}}}''' headers: Accept: - application/json @@ -2238,25 +2314,59 @@ interactions: - network firewall ip-config create Connection: - keep-alive + Content-Length: + - '1584' + Content-Type: + - application/json; charset=utf-8 ParameterSetName: - - -g -n -f --public-ip-address --vnet-name + - -g -n -f --public-ip-address User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/33f43bdb-8726-406b-92ea-6743ad0cc453?api-version=2019-11-01 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 response: body: - string: "{\r\n \"status\": \"InProgress\"\r\n}" + string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1\"\ + ,\r\n \"etag\": \"W/\\\"7d70c0f7-73d6-46d0-8a4a-f78265911d47\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \ + \ \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\ + \r\n },\r\n \"threatIntelMode\": \"Alert\",\r\n \"additionalProperties\"\ + : {\r\n \"Network.DNS.EnableProxy\": \"False\",\r\n \"Network.DNS.RequireProxyForNetworkRules\"\ + : \"True\",\r\n \"Network.DNS.Servers\": \"\"\r\n },\r\n \"ipConfigurations\"\ + : [\r\n {\r\n \"name\": \"myipconfig1\",\r\n \"id\": \"\ + /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1/azureFirewallIpConfigurations/myipconfig1\"\ + ,\r\n \"etag\": \"W/\\\"7d70c0f7-73d6-46d0-8a4a-f78265911d47\\\"\"\ + ,\r\n \"type\": \"Microsoft.Network/azureFirewalls/azureFirewallIpConfigurations\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ + ,\r\n \"privateIPAddress\": \"10.0.0.4\",\r\n \"privateIPAllocationMethod\"\ + : \"Dynamic\",\r\n \"publicIPAddress\": {\r\n \"id\":\ + \ \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip\"\ + \r\n },\r\n \"subnet\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet/subnets/AzureFirewallSubnet\"\ + \r\n }\r\n }\r\n },\r\n {\r\n \"name\": \"\ + myipconfig2\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1/azureFirewallIpConfigurations/myipconfig2\"\ + ,\r\n \"etag\": \"W/\\\"7d70c0f7-73d6-46d0-8a4a-f78265911d47\\\"\"\ + ,\r\n \"type\": \"Microsoft.Network/azureFirewalls/azureFirewallIpConfigurations\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ + ,\r\n \"privateIPAllocationMethod\": \"Dynamic\",\r\n \"\ + publicIPAddress\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip2\"\ + \r\n }\r\n }\r\n }\r\n ],\r\n \"networkRuleCollections\"\ + : [],\r\n \"applicationRuleCollections\": [],\r\n \"natRuleCollections\"\ + : []\r\n }\r\n}" headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/025028b7-f874-4c15-a4b1-1794718e24c4?api-version=2019-11-01 cache-control: - no-cache content-length: - - '30' + - '2839' content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:37:34 GMT + - Thu, 18 Jun 2020 04:24:21 GMT expires: - '-1' pragma: @@ -2273,7 +2383,9 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 16c71830-df83-41f3-8a5e-510290fe7a47 + - d38ea26e-46d0-43ef-b752-a310e8fe4c89 + x-ms-ratelimit-remaining-subscription-writes: + - '1193' status: code: 200 message: OK @@ -2289,12 +2401,12 @@ interactions: Connection: - keep-alive ParameterSetName: - - -g -n -f --public-ip-address --vnet-name + - -g -n -f --public-ip-address User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/33f43bdb-8726-406b-92ea-6743ad0cc453?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/025028b7-f874-4c15-a4b1-1794718e24c4?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -2306,7 +2418,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:37:44 GMT + - Thu, 18 Jun 2020 04:24:32 GMT expires: - '-1' pragma: @@ -2323,7 +2435,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - bb3c5b1c-7f2d-4bd0-a09d-17d27d3f7bf3 + - 70aac33c-8766-42ad-9265-acd37491061d status: code: 200 message: OK @@ -2339,12 +2451,12 @@ interactions: Connection: - keep-alive ParameterSetName: - - -g -n -f --public-ip-address --vnet-name + - -g -n -f --public-ip-address User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/33f43bdb-8726-406b-92ea-6743ad0cc453?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/025028b7-f874-4c15-a4b1-1794718e24c4?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -2356,7 +2468,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:37:54 GMT + - Thu, 18 Jun 2020 04:24:42 GMT expires: - '-1' pragma: @@ -2373,7 +2485,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - c527a812-0f7b-4cfd-a1f5-25bf62f17c14 + - 5a4c2511-a331-44dd-a0f3-941a6c2705c9 status: code: 200 message: OK @@ -2389,12 +2501,12 @@ interactions: Connection: - keep-alive ParameterSetName: - - -g -n -f --public-ip-address --vnet-name + - -g -n -f --public-ip-address User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/33f43bdb-8726-406b-92ea-6743ad0cc453?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/025028b7-f874-4c15-a4b1-1794718e24c4?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -2406,7 +2518,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:38:05 GMT + - Thu, 18 Jun 2020 04:24:53 GMT expires: - '-1' pragma: @@ -2423,7 +2535,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - b660489f-7998-4fe6-8382-538effbd7723 + - e083000a-4e06-41ac-b1e8-8f13ea056c41 status: code: 200 message: OK @@ -2439,12 +2551,12 @@ interactions: Connection: - keep-alive ParameterSetName: - - -g -n -f --public-ip-address --vnet-name + - -g -n -f --public-ip-address User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/33f43bdb-8726-406b-92ea-6743ad0cc453?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/025028b7-f874-4c15-a4b1-1794718e24c4?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -2456,7 +2568,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:38:16 GMT + - Thu, 18 Jun 2020 04:25:03 GMT expires: - '-1' pragma: @@ -2473,7 +2585,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 5c12ca5b-1480-4329-b795-1f53e2d23def + - 5b248335-b9bb-470f-8e94-85400a4a1924 status: code: 200 message: OK @@ -2489,12 +2601,12 @@ interactions: Connection: - keep-alive ParameterSetName: - - -g -n -f --public-ip-address --vnet-name + - -g -n -f --public-ip-address User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/33f43bdb-8726-406b-92ea-6743ad0cc453?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/025028b7-f874-4c15-a4b1-1794718e24c4?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -2506,7 +2618,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:38:26 GMT + - Thu, 18 Jun 2020 04:25:13 GMT expires: - '-1' pragma: @@ -2523,7 +2635,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 5eb399fd-61cd-4ea0-99ca-189394f381b3 + - 3160b6cb-953c-46b5-a3d2-29d81b49af39 status: code: 200 message: OK @@ -2539,24 +2651,24 @@ interactions: Connection: - keep-alive ParameterSetName: - - -g -n -f --public-ip-address --vnet-name + - -g -n -f --public-ip-address User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/33f43bdb-8726-406b-92ea-6743ad0cc453?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/025028b7-f874-4c15-a4b1-1794718e24c4?api-version=2019-11-01 response: body: - string: "{\r\n \"status\": \"Succeeded\"\r\n}" + string: "{\r\n \"status\": \"InProgress\"\r\n}" headers: cache-control: - no-cache content-length: - - '29' + - '30' content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:38:37 GMT + - Thu, 18 Jun 2020 04:25:23 GMT expires: - '-1' pragma: @@ -2573,7 +2685,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - d3e68139-c3ba-4f01-b062-871bb6cea7ab + - 84a03680-07c2-448c-94d3-107f0d670645 status: code: 200 message: OK @@ -2589,41 +2701,24 @@ interactions: Connection: - keep-alive ParameterSetName: - - -g -n -f --public-ip-address --vnet-name + - -g -n -f --public-ip-address User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/025028b7-f874-4c15-a4b1-1794718e24c4?api-version=2019-11-01 response: body: - string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"a9e97721-45a4-4633-a65a-042807c343d1\\\"\",\r\n \"type\": - \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Succeeded\",\r\n \"sku\": {\r\n \"name\": - \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\": - \"Alert\",\r\n \"additionalProperties\": {},\r\n \"ipConfigurations\": - [\r\n {\r\n \"name\": \"myipconfig1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1/azureFirewallIpConfigurations/myipconfig1\",\r\n - \ \"etag\": \"W/\\\"a9e97721-45a4-4633-a65a-042807c343d1\\\"\",\r\n - \ \"type\": \"Microsoft.Network/azureFirewalls/azureFirewallIpConfigurations\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"privateIPAddress\": \"10.0.0.4\",\r\n \"privateIPAllocationMethod\": - \"Dynamic\",\r\n \"publicIPAddress\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip\"\r\n - \ },\r\n \"subnet\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet/subnets/AzureFirewallSubnet\"\r\n - \ }\r\n }\r\n }\r\n ],\r\n \"networkRuleCollections\": - [],\r\n \"applicationRuleCollections\": [],\r\n \"natRuleCollections\": - []\r\n }\r\n}" + string: "{\r\n \"status\": \"Succeeded\"\r\n}" headers: cache-control: - no-cache content-length: - - '1859' + - '29' content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:38:38 GMT - etag: - - W/"a9e97721-45a4-4633-a65a-042807c343d1" + - Thu, 18 Jun 2020 04:25:34 GMT expires: - '-1' pragma: @@ -2640,7 +2735,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 5b879eea-3d4b-4c28-b773-db08bbc6611d + - 4eba2066-084f-4c6a-b32b-b5fcd7edae08 status: code: 200 message: OK @@ -2658,41 +2753,50 @@ interactions: ParameterSetName: - -g -n -f --public-ip-address User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 - accept-language: - - en-US + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 response: body: - string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"a9e97721-45a4-4633-a65a-042807c343d1\\\"\",\r\n \"type\": - \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Succeeded\",\r\n \"sku\": {\r\n \"name\": - \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\": - \"Alert\",\r\n \"additionalProperties\": {},\r\n \"ipConfigurations\": - [\r\n {\r\n \"name\": \"myipconfig1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1/azureFirewallIpConfigurations/myipconfig1\",\r\n - \ \"etag\": \"W/\\\"a9e97721-45a4-4633-a65a-042807c343d1\\\"\",\r\n - \ \"type\": \"Microsoft.Network/azureFirewalls/azureFirewallIpConfigurations\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"privateIPAddress\": \"10.0.0.4\",\r\n \"privateIPAllocationMethod\": - \"Dynamic\",\r\n \"publicIPAddress\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip\"\r\n - \ },\r\n \"subnet\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet/subnets/AzureFirewallSubnet\"\r\n - \ }\r\n }\r\n }\r\n ],\r\n \"networkRuleCollections\": - [],\r\n \"applicationRuleCollections\": [],\r\n \"natRuleCollections\": - []\r\n }\r\n}" + string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1\"\ + ,\r\n \"etag\": \"W/\\\"6dec11c5-c637-4ed3-a857-58f51072308b\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n\ + \ \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\ + \r\n },\r\n \"threatIntelMode\": \"Alert\",\r\n \"additionalProperties\"\ + : {\r\n \"Network.DNS.EnableProxy\": \"False\",\r\n \"Network.DNS.RequireProxyForNetworkRules\"\ + : \"True\",\r\n \"Network.DNS.Servers\": \"\"\r\n },\r\n \"ipConfigurations\"\ + : [\r\n {\r\n \"name\": \"myipconfig1\",\r\n \"id\": \"\ + /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1/azureFirewallIpConfigurations/myipconfig1\"\ + ,\r\n \"etag\": \"W/\\\"6dec11c5-c637-4ed3-a857-58f51072308b\\\"\"\ + ,\r\n \"type\": \"Microsoft.Network/azureFirewalls/azureFirewallIpConfigurations\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ + ,\r\n \"privateIPAddress\": \"10.0.0.4\",\r\n \"privateIPAllocationMethod\"\ + : \"Dynamic\",\r\n \"publicIPAddress\": {\r\n \"id\":\ + \ \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip\"\ + \r\n },\r\n \"subnet\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet/subnets/AzureFirewallSubnet\"\ + \r\n }\r\n }\r\n },\r\n {\r\n \"name\": \"\ + myipconfig2\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1/azureFirewallIpConfigurations/myipconfig2\"\ + ,\r\n \"etag\": \"W/\\\"6dec11c5-c637-4ed3-a857-58f51072308b\\\"\"\ + ,\r\n \"type\": \"Microsoft.Network/azureFirewalls/azureFirewallIpConfigurations\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ + ,\r\n \"privateIPAllocationMethod\": \"Dynamic\",\r\n \"\ + publicIPAddress\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip2\"\ + \r\n }\r\n }\r\n }\r\n ],\r\n \"networkRuleCollections\"\ + : [],\r\n \"applicationRuleCollections\": [],\r\n \"natRuleCollections\"\ + : []\r\n }\r\n}" headers: cache-control: - no-cache content-length: - - '1859' + - '2840' content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:38:40 GMT + - Thu, 18 Jun 2020 04:25:34 GMT etag: - - W/"a9e97721-45a4-4633-a65a-042807c343d1" + - W/"6dec11c5-c637-4ed3-a857-58f51072308b" expires: - '-1' pragma: @@ -2709,77 +2813,70 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - f2b982d7-3911-4c7f-a310-f62842074f88 + - 48151d4f-9992-41bb-aef9-e2940a4704f4 status: code: 200 message: OK - request: - body: 'b''{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1", - "location": "westus", "properties": {"applicationRuleCollections": [], "natRuleCollections": - [], "networkRuleCollections": [], "ipConfigurations": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1/azureFirewallIpConfigurations/myipconfig1", - "properties": {"subnet": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet/subnets/AzureFirewallSubnet"}, - "publicIPAddress": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip"}}, - "name": "myipconfig1"}, {"properties": {"publicIPAddress": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip2"}}, - "name": "myipconfig2"}], "threatIntelMode": "Alert", "sku": {"name": "AZFW_VNet", - "tier": "Standard"}, "additionalProperties": {}}}''' + body: null headers: Accept: - application/json Accept-Encoding: - gzip, deflate CommandName: - - network firewall ip-config create + - network firewall ip-config delete Connection: - keep-alive - Content-Length: - - '1472' - Content-Type: - - application/json; charset=utf-8 ParameterSetName: - - -g -n -f --public-ip-address + - -g -n -f User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US - method: PUT + method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 response: body: - string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"89261bdf-5e30-4d70-8b16-404fde55db69\\\"\",\r\n \"type\": - \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Updating\",\r\n \"sku\": {\r\n \"name\": - \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\": - \"Alert\",\r\n \"additionalProperties\": {},\r\n \"ipConfigurations\": - [\r\n {\r\n \"name\": \"myipconfig1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1/azureFirewallIpConfigurations/myipconfig1\",\r\n - \ \"etag\": \"W/\\\"89261bdf-5e30-4d70-8b16-404fde55db69\\\"\",\r\n - \ \"type\": \"Microsoft.Network/azureFirewalls/azureFirewallIpConfigurations\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"privateIPAddress\": \"10.0.0.4\",\r\n \"privateIPAllocationMethod\": - \"Dynamic\",\r\n \"publicIPAddress\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip\"\r\n - \ },\r\n \"subnet\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet/subnets/AzureFirewallSubnet\"\r\n - \ }\r\n }\r\n },\r\n {\r\n \"name\": \"myipconfig2\",\r\n - \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1/azureFirewallIpConfigurations/myipconfig2\",\r\n - \ \"etag\": \"W/\\\"89261bdf-5e30-4d70-8b16-404fde55db69\\\"\",\r\n - \ \"type\": \"Microsoft.Network/azureFirewalls/azureFirewallIpConfigurations\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"privateIPAllocationMethod\": \"Dynamic\",\r\n \"publicIPAddress\": - {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip2\"\r\n - \ }\r\n }\r\n }\r\n ],\r\n \"networkRuleCollections\": - [],\r\n \"applicationRuleCollections\": [],\r\n \"natRuleCollections\": - []\r\n }\r\n}" + string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1\"\ + ,\r\n \"etag\": \"W/\\\"6dec11c5-c637-4ed3-a857-58f51072308b\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n\ + \ \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\ + \r\n },\r\n \"threatIntelMode\": \"Alert\",\r\n \"additionalProperties\"\ + : {\r\n \"Network.DNS.EnableProxy\": \"False\",\r\n \"Network.DNS.RequireProxyForNetworkRules\"\ + : \"True\",\r\n \"Network.DNS.Servers\": \"\"\r\n },\r\n \"ipConfigurations\"\ + : [\r\n {\r\n \"name\": \"myipconfig1\",\r\n \"id\": \"\ + /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1/azureFirewallIpConfigurations/myipconfig1\"\ + ,\r\n \"etag\": \"W/\\\"6dec11c5-c637-4ed3-a857-58f51072308b\\\"\"\ + ,\r\n \"type\": \"Microsoft.Network/azureFirewalls/azureFirewallIpConfigurations\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ + ,\r\n \"privateIPAddress\": \"10.0.0.4\",\r\n \"privateIPAllocationMethod\"\ + : \"Dynamic\",\r\n \"publicIPAddress\": {\r\n \"id\":\ + \ \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip\"\ + \r\n },\r\n \"subnet\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet/subnets/AzureFirewallSubnet\"\ + \r\n }\r\n }\r\n },\r\n {\r\n \"name\": \"\ + myipconfig2\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1/azureFirewallIpConfigurations/myipconfig2\"\ + ,\r\n \"etag\": \"W/\\\"6dec11c5-c637-4ed3-a857-58f51072308b\\\"\"\ + ,\r\n \"type\": \"Microsoft.Network/azureFirewalls/azureFirewallIpConfigurations\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ + ,\r\n \"privateIPAllocationMethod\": \"Dynamic\",\r\n \"\ + publicIPAddress\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip2\"\ + \r\n }\r\n }\r\n }\r\n ],\r\n \"networkRuleCollections\"\ + : [],\r\n \"applicationRuleCollections\": [],\r\n \"natRuleCollections\"\ + : []\r\n }\r\n}" headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/2c9ff2a8-2fa7-4c65-908b-5a7fa9d608f5?api-version=2019-11-01 cache-control: - no-cache content-length: - - '2699' + - '2840' content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:38:41 GMT + - Thu, 18 Jun 2020 04:25:35 GMT + etag: + - W/"6dec11c5-c637-4ed3-a857-58f51072308b" expires: - '-1' pragma: @@ -2796,92 +2893,74 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - d247cc52-1534-4ee1-86d8-8c0a6bb8ba96 - x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - caa6c70f-f4ff-4eb4-bb4c-f3a0f3dd518c status: code: 200 message: OK - request: - body: null + body: 'b''{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1", + "location": "westus", "properties": {"applicationRuleCollections": [], "natRuleCollections": + [], "networkRuleCollections": [], "ipConfigurations": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1/azureFirewallIpConfigurations/myipconfig1", + "properties": {"subnet": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet/subnets/AzureFirewallSubnet"}, + "publicIPAddress": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip"}}, + "name": "myipconfig1"}], "threatIntelMode": "Alert", "sku": {"name": "AZFW_VNet", + "tier": "Standard"}, "additionalProperties": {"Network.DNS.EnableProxy": "False", + "Network.DNS.RequireProxyForNetworkRules": "True", "Network.DNS.Servers": ""}}}''' headers: Accept: - application/json Accept-Encoding: - gzip, deflate CommandName: - - network firewall ip-config create + - network firewall ip-config delete Connection: - keep-alive - ParameterSetName: - - -g -n -f --public-ip-address - User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/2c9ff2a8-2fa7-4c65-908b-5a7fa9d608f5?api-version=2019-11-01 - response: - body: - string: "{\r\n \"status\": \"InProgress\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '30' - content-type: + Content-Length: + - '1317' + Content-Type: - application/json; charset=utf-8 - date: - - Wed, 12 Feb 2020 09:38:52 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-arm-service-request-id: - - 17fe9889-ba95-489e-a84a-6df1be4b7170 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network firewall ip-config create - Connection: - - keep-alive ParameterSetName: - - -g -n -f --public-ip-address + - -g -n -f User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/2c9ff2a8-2fa7-4c65-908b-5a7fa9d608f5?api-version=2019-11-01 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 response: body: - string: "{\r\n \"status\": \"InProgress\"\r\n}" + string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1\"\ + ,\r\n \"etag\": \"W/\\\"c5a70b8b-a3f1-44b2-b11d-0b4c67896369\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \ + \ \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\ + \r\n },\r\n \"threatIntelMode\": \"Alert\",\r\n \"additionalProperties\"\ + : {\r\n \"Network.DNS.EnableProxy\": \"False\",\r\n \"Network.DNS.RequireProxyForNetworkRules\"\ + : \"True\",\r\n \"Network.DNS.Servers\": \"\"\r\n },\r\n \"ipConfigurations\"\ + : [\r\n {\r\n \"name\": \"myipconfig1\",\r\n \"id\": \"\ + /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1/azureFirewallIpConfigurations/myipconfig1\"\ + ,\r\n \"etag\": \"W/\\\"c5a70b8b-a3f1-44b2-b11d-0b4c67896369\\\"\"\ + ,\r\n \"type\": \"Microsoft.Network/azureFirewalls/azureFirewallIpConfigurations\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ + ,\r\n \"privateIPAddress\": \"10.0.0.4\",\r\n \"privateIPAllocationMethod\"\ + : \"Dynamic\",\r\n \"publicIPAddress\": {\r\n \"id\":\ + \ \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip\"\ + \r\n },\r\n \"subnet\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet/subnets/AzureFirewallSubnet\"\ + \r\n }\r\n }\r\n }\r\n ],\r\n \"networkRuleCollections\"\ + : [],\r\n \"applicationRuleCollections\": [],\r\n \"natRuleCollections\"\ + : []\r\n }\r\n}" headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/f62e765e-c2d1-4634-b12f-78bb9221ab06?api-version=2019-11-01 cache-control: - no-cache content-length: - - '30' + - '1998' content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:39:04 GMT + - Thu, 18 Jun 2020 04:25:35 GMT expires: - '-1' pragma: @@ -2898,7 +2977,9 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 1ea9b435-eb71-467d-92f9-ef3979d16049 + - 99f315e6-8534-41c7-9638-a19afc883910 + x-ms-ratelimit-remaining-subscription-writes: + - '1199' status: code: 200 message: OK @@ -2910,16 +2991,16 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - network firewall ip-config create + - network firewall ip-config delete Connection: - keep-alive ParameterSetName: - - -g -n -f --public-ip-address + - -g -n -f User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/2c9ff2a8-2fa7-4c65-908b-5a7fa9d608f5?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/f62e765e-c2d1-4634-b12f-78bb9221ab06?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -2931,7 +3012,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:39:15 GMT + - Thu, 18 Jun 2020 04:25:47 GMT expires: - '-1' pragma: @@ -2948,7 +3029,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 88b06548-c495-4b14-bdca-51fb7a01b4dd + - a36c806d-d8b9-4a18-80f4-75760b4750bb status: code: 200 message: OK @@ -2960,16 +3041,16 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - network firewall ip-config create + - network firewall ip-config delete Connection: - keep-alive ParameterSetName: - - -g -n -f --public-ip-address + - -g -n -f User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/2c9ff2a8-2fa7-4c65-908b-5a7fa9d608f5?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/f62e765e-c2d1-4634-b12f-78bb9221ab06?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -2981,7 +3062,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:39:25 GMT + - Thu, 18 Jun 2020 04:25:57 GMT expires: - '-1' pragma: @@ -2998,7 +3079,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - c9a47f9a-dd47-47f5-9cae-430e3bdf7958 + - de1ef3b8-c510-4e55-b208-388dec8ee00d status: code: 200 message: OK @@ -3010,16 +3091,16 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - network firewall ip-config create + - network firewall ip-config delete Connection: - keep-alive ParameterSetName: - - -g -n -f --public-ip-address + - -g -n -f User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/2c9ff2a8-2fa7-4c65-908b-5a7fa9d608f5?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/f62e765e-c2d1-4634-b12f-78bb9221ab06?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -3031,7 +3112,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:39:36 GMT + - Thu, 18 Jun 2020 04:26:07 GMT expires: - '-1' pragma: @@ -3048,7 +3129,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 44f3dc89-1acb-4239-ba46-0cc2a6d004ca + - efcea9f5-d034-42f6-b137-e166d216abe4 status: code: 200 message: OK @@ -3060,16 +3141,16 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - network firewall ip-config create + - network firewall ip-config delete Connection: - keep-alive ParameterSetName: - - -g -n -f --public-ip-address + - -g -n -f User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/2c9ff2a8-2fa7-4c65-908b-5a7fa9d608f5?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/f62e765e-c2d1-4634-b12f-78bb9221ab06?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -3081,7 +3162,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:39:46 GMT + - Thu, 18 Jun 2020 04:26:17 GMT expires: - '-1' pragma: @@ -3098,7 +3179,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 87573ba2-db83-48a8-9188-90c466b675d3 + - 3e527f92-e435-489a-b12a-ebf07a78a172 status: code: 200 message: OK @@ -3110,16 +3191,16 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - network firewall ip-config create + - network firewall ip-config delete Connection: - keep-alive ParameterSetName: - - -g -n -f --public-ip-address + - -g -n -f User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/2c9ff2a8-2fa7-4c65-908b-5a7fa9d608f5?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/f62e765e-c2d1-4634-b12f-78bb9221ab06?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -3131,7 +3212,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:39:56 GMT + - Thu, 18 Jun 2020 04:26:27 GMT expires: - '-1' pragma: @@ -3148,7 +3229,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 5c1c6c59-1514-4c4c-8a47-2b0b0f3bc6d7 + - f491d03b-5d35-43a8-ae08-d1b26973bc0b status: code: 200 message: OK @@ -3160,16 +3241,16 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - network firewall ip-config create + - network firewall ip-config delete Connection: - keep-alive ParameterSetName: - - -g -n -f --public-ip-address + - -g -n -f User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/2c9ff2a8-2fa7-4c65-908b-5a7fa9d608f5?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/f62e765e-c2d1-4634-b12f-78bb9221ab06?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -3181,7 +3262,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:40:07 GMT + - Thu, 18 Jun 2020 04:26:38 GMT expires: - '-1' pragma: @@ -3198,7 +3279,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 6d129bdd-c6e5-4c89-8376-df8a8f0ac7e6 + - ccfe5945-635b-42f3-a4d8-98573fb61ef6 status: code: 200 message: OK @@ -3210,28 +3291,28 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - network firewall ip-config create + - network firewall ip-config delete Connection: - keep-alive ParameterSetName: - - -g -n -f --public-ip-address + - -g -n -f User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/2c9ff2a8-2fa7-4c65-908b-5a7fa9d608f5?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/f62e765e-c2d1-4634-b12f-78bb9221ab06?api-version=2019-11-01 response: body: - string: "{\r\n \"status\": \"InProgress\"\r\n}" + string: "{\r\n \"status\": \"Succeeded\"\r\n}" headers: cache-control: - no-cache content-length: - - '30' + - '29' content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:40:21 GMT + - Thu, 18 Jun 2020 04:26:49 GMT expires: - '-1' pragma: @@ -3248,7 +3329,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - ac5e197b-85a6-4e95-9871-fc7f3fd32015 + - a6d8d096-88d8-485f-923d-aa7bdc32a831 status: code: 200 message: OK @@ -3260,28 +3341,49 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - network firewall ip-config create + - network firewall ip-config delete Connection: - keep-alive ParameterSetName: - - -g -n -f --public-ip-address + - -g -n -f User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/2c9ff2a8-2fa7-4c65-908b-5a7fa9d608f5?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 response: body: - string: "{\r\n \"status\": \"InProgress\"\r\n}" + string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1\"\ + ,\r\n \"etag\": \"W/\\\"a8a73e08-b5fe-4542-acf1-a0c0232e0209\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n\ + \ \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\ + \r\n },\r\n \"threatIntelMode\": \"Alert\",\r\n \"additionalProperties\"\ + : {\r\n \"Network.DNS.EnableProxy\": \"False\",\r\n \"Network.DNS.RequireProxyForNetworkRules\"\ + : \"True\",\r\n \"Network.DNS.Servers\": \"\"\r\n },\r\n \"ipConfigurations\"\ + : [\r\n {\r\n \"name\": \"myipconfig1\",\r\n \"id\": \"\ + /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1/azureFirewallIpConfigurations/myipconfig1\"\ + ,\r\n \"etag\": \"W/\\\"a8a73e08-b5fe-4542-acf1-a0c0232e0209\\\"\"\ + ,\r\n \"type\": \"Microsoft.Network/azureFirewalls/azureFirewallIpConfigurations\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ + ,\r\n \"privateIPAddress\": \"10.0.0.4\",\r\n \"privateIPAllocationMethod\"\ + : \"Dynamic\",\r\n \"publicIPAddress\": {\r\n \"id\":\ + \ \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip\"\ + \r\n },\r\n \"subnet\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet/subnets/AzureFirewallSubnet\"\ + \r\n }\r\n }\r\n }\r\n ],\r\n \"networkRuleCollections\"\ + : [],\r\n \"applicationRuleCollections\": [],\r\n \"natRuleCollections\"\ + : []\r\n }\r\n}" headers: cache-control: - no-cache content-length: - - '30' + - '1999' content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:40:31 GMT + - Thu, 18 Jun 2020 04:26:49 GMT + etag: + - W/"a8a73e08-b5fe-4542-acf1-a0c0232e0209" expires: - '-1' pragma: @@ -3298,7 +3400,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - eb5fb846-0caf-4e45-87d0-8ba4251bd9ca + - 367b155a-64a7-407b-9899-b88a6a22a0d9 status: code: 200 message: OK @@ -3310,28 +3412,51 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - network firewall ip-config create + - network firewall ip-config delete Connection: - keep-alive ParameterSetName: - - -g -n -f --public-ip-address + - -g -n -f User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/2c9ff2a8-2fa7-4c65-908b-5a7fa9d608f5?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 response: body: - string: "{\r\n \"status\": \"InProgress\"\r\n}" + string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1\"\ + ,\r\n \"etag\": \"W/\\\"a8a73e08-b5fe-4542-acf1-a0c0232e0209\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n\ + \ \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\ + \r\n },\r\n \"threatIntelMode\": \"Alert\",\r\n \"additionalProperties\"\ + : {\r\n \"Network.DNS.EnableProxy\": \"False\",\r\n \"Network.DNS.RequireProxyForNetworkRules\"\ + : \"True\",\r\n \"Network.DNS.Servers\": \"\"\r\n },\r\n \"ipConfigurations\"\ + : [\r\n {\r\n \"name\": \"myipconfig1\",\r\n \"id\": \"\ + /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1/azureFirewallIpConfigurations/myipconfig1\"\ + ,\r\n \"etag\": \"W/\\\"a8a73e08-b5fe-4542-acf1-a0c0232e0209\\\"\"\ + ,\r\n \"type\": \"Microsoft.Network/azureFirewalls/azureFirewallIpConfigurations\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ + ,\r\n \"privateIPAddress\": \"10.0.0.4\",\r\n \"privateIPAllocationMethod\"\ + : \"Dynamic\",\r\n \"publicIPAddress\": {\r\n \"id\":\ + \ \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip\"\ + \r\n },\r\n \"subnet\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet/subnets/AzureFirewallSubnet\"\ + \r\n }\r\n }\r\n }\r\n ],\r\n \"networkRuleCollections\"\ + : [],\r\n \"applicationRuleCollections\": [],\r\n \"natRuleCollections\"\ + : []\r\n }\r\n}" headers: cache-control: - no-cache content-length: - - '30' + - '1999' content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:40:42 GMT + - Thu, 18 Jun 2020 04:26:50 GMT + etag: + - W/"a8a73e08-b5fe-4542-acf1-a0c0232e0209" expires: - '-1' pragma: @@ -3348,40 +3473,62 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 5305da53-9a2a-46f2-8064-0305428cec62 + - be80409d-826b-405c-ad75-d758313d3459 status: code: 200 message: OK - request: - body: null + body: 'b''{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1", + "location": "westus", "properties": {"applicationRuleCollections": [], "natRuleCollections": + [], "networkRuleCollections": [], "threatIntelMode": "Alert", "sku": {"name": + "AZFW_VNet", "tier": "Standard"}, "additionalProperties": {"Network.DNS.EnableProxy": + "False", "Network.DNS.RequireProxyForNetworkRules": "True", "Network.DNS.Servers": + ""}}}''' headers: Accept: - application/json Accept-Encoding: - gzip, deflate CommandName: - - network firewall ip-config create + - network firewall ip-config delete Connection: - keep-alive + Content-Length: + - '545' + Content-Type: + - application/json; charset=utf-8 ParameterSetName: - - -g -n -f --public-ip-address + - -g -n -f User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/2c9ff2a8-2fa7-4c65-908b-5a7fa9d608f5?api-version=2019-11-01 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 response: body: - string: "{\r\n \"status\": \"InProgress\"\r\n}" + string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1\"\ + ,\r\n \"etag\": \"W/\\\"ed5b1bfa-fb9a-4900-9475-415587cd2aef\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \ + \ \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\ + \r\n },\r\n \"threatIntelMode\": \"Alert\",\r\n \"additionalProperties\"\ + : {\r\n \"Network.DNS.EnableProxy\": \"False\",\r\n \"Network.DNS.RequireProxyForNetworkRules\"\ + : \"True\",\r\n \"Network.DNS.Servers\": \"\"\r\n },\r\n \"ipConfigurations\"\ + : [],\r\n \"networkRuleCollections\": [],\r\n \"applicationRuleCollections\"\ + : [],\r\n \"natRuleCollections\": []\r\n }\r\n}" headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/f6c1e615-042e-4463-949a-453dc0918ec7?api-version=2019-11-01 cache-control: - no-cache content-length: - - '30' + - '830' content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:40:52 GMT + - Thu, 18 Jun 2020 04:26:50 GMT expires: - '-1' pragma: @@ -3398,2494 +3545,9 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 99ed761c-5313-48a0-bdd4-886ba10ee455 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network firewall ip-config create - Connection: - - keep-alive - ParameterSetName: - - -g -n -f --public-ip-address - User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/2c9ff2a8-2fa7-4c65-908b-5a7fa9d608f5?api-version=2019-11-01 - response: - body: - string: "{\r\n \"status\": \"InProgress\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '30' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 12 Feb 2020 09:41:02 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-arm-service-request-id: - - b1225495-e081-4ddb-9f0b-a6114d3a3db8 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network firewall ip-config create - Connection: - - keep-alive - ParameterSetName: - - -g -n -f --public-ip-address - User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/2c9ff2a8-2fa7-4c65-908b-5a7fa9d608f5?api-version=2019-11-01 - response: - body: - string: "{\r\n \"status\": \"InProgress\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '30' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 12 Feb 2020 09:41:13 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-arm-service-request-id: - - 1dab1aed-553c-42d8-8d88-86d67b680f4f - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network firewall ip-config create - Connection: - - keep-alive - ParameterSetName: - - -g -n -f --public-ip-address - User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/2c9ff2a8-2fa7-4c65-908b-5a7fa9d608f5?api-version=2019-11-01 - response: - body: - string: "{\r\n \"status\": \"InProgress\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '30' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 12 Feb 2020 09:41:24 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-arm-service-request-id: - - 3286849f-c0ef-47da-bd22-96172f08a1df - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network firewall ip-config create - Connection: - - keep-alive - ParameterSetName: - - -g -n -f --public-ip-address - User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/2c9ff2a8-2fa7-4c65-908b-5a7fa9d608f5?api-version=2019-11-01 - response: - body: - string: "{\r\n \"status\": \"InProgress\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '30' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 12 Feb 2020 09:41:34 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-arm-service-request-id: - - 862fb043-6b45-49ae-8d46-fa20417dbc67 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network firewall ip-config create - Connection: - - keep-alive - ParameterSetName: - - -g -n -f --public-ip-address - User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/2c9ff2a8-2fa7-4c65-908b-5a7fa9d608f5?api-version=2019-11-01 - response: - body: - string: "{\r\n \"status\": \"InProgress\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '30' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 12 Feb 2020 09:41:45 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-arm-service-request-id: - - 524bcf03-73ec-4ba1-b172-97aa9f5b2bd9 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network firewall ip-config create - Connection: - - keep-alive - ParameterSetName: - - -g -n -f --public-ip-address - User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/2c9ff2a8-2fa7-4c65-908b-5a7fa9d608f5?api-version=2019-11-01 - response: - body: - string: "{\r\n \"status\": \"InProgress\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '30' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 12 Feb 2020 09:41:56 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-arm-service-request-id: - - c8793451-cba1-47c9-88cb-18c44e6d8363 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network firewall ip-config create - Connection: - - keep-alive - ParameterSetName: - - -g -n -f --public-ip-address - User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/2c9ff2a8-2fa7-4c65-908b-5a7fa9d608f5?api-version=2019-11-01 - response: - body: - string: "{\r\n \"status\": \"InProgress\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '30' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 12 Feb 2020 09:42:07 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-arm-service-request-id: - - d01cdd2c-03e9-43c1-8134-54cd6895ee67 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network firewall ip-config create - Connection: - - keep-alive - ParameterSetName: - - -g -n -f --public-ip-address - User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/2c9ff2a8-2fa7-4c65-908b-5a7fa9d608f5?api-version=2019-11-01 - response: - body: - string: "{\r\n \"status\": \"InProgress\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '30' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 12 Feb 2020 09:42:17 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-arm-service-request-id: - - aee9593d-42c1-4f36-936c-0aea8540118a - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network firewall ip-config create - Connection: - - keep-alive - ParameterSetName: - - -g -n -f --public-ip-address - User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/2c9ff2a8-2fa7-4c65-908b-5a7fa9d608f5?api-version=2019-11-01 - response: - body: - string: "{\r\n \"status\": \"InProgress\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '30' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 12 Feb 2020 09:42:28 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-arm-service-request-id: - - 96766136-b769-4723-811e-490f8953f2e9 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network firewall ip-config create - Connection: - - keep-alive - ParameterSetName: - - -g -n -f --public-ip-address - User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/2c9ff2a8-2fa7-4c65-908b-5a7fa9d608f5?api-version=2019-11-01 - response: - body: - string: "{\r\n \"status\": \"InProgress\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '30' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 12 Feb 2020 09:42:38 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-arm-service-request-id: - - 8990c694-6e7b-4950-b2c5-8baaf739b79e - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network firewall ip-config create - Connection: - - keep-alive - ParameterSetName: - - -g -n -f --public-ip-address - User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/2c9ff2a8-2fa7-4c65-908b-5a7fa9d608f5?api-version=2019-11-01 - response: - body: - string: "{\r\n \"status\": \"InProgress\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '30' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 12 Feb 2020 09:42:48 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-arm-service-request-id: - - ed02c8c0-4f0f-4c6e-89dd-743b71b79f2a - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network firewall ip-config create - Connection: - - keep-alive - ParameterSetName: - - -g -n -f --public-ip-address - User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/2c9ff2a8-2fa7-4c65-908b-5a7fa9d608f5?api-version=2019-11-01 - response: - body: - string: "{\r\n \"status\": \"InProgress\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '30' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 12 Feb 2020 09:42:59 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-arm-service-request-id: - - f15ab856-f756-4f20-8ef2-6b876b25a7c1 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network firewall ip-config create - Connection: - - keep-alive - ParameterSetName: - - -g -n -f --public-ip-address - User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/2c9ff2a8-2fa7-4c65-908b-5a7fa9d608f5?api-version=2019-11-01 - response: - body: - string: "{\r\n \"status\": \"InProgress\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '30' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 12 Feb 2020 09:43:11 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-arm-service-request-id: - - 0b89e95c-5e8b-4adc-8bed-c4bf28d65fc3 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network firewall ip-config create - Connection: - - keep-alive - ParameterSetName: - - -g -n -f --public-ip-address - User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/2c9ff2a8-2fa7-4c65-908b-5a7fa9d608f5?api-version=2019-11-01 - response: - body: - string: "{\r\n \"status\": \"InProgress\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '30' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 12 Feb 2020 09:43:23 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-arm-service-request-id: - - d41aec0f-fc46-4aa4-ae97-9f1d368ccd87 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network firewall ip-config create - Connection: - - keep-alive - ParameterSetName: - - -g -n -f --public-ip-address - User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/2c9ff2a8-2fa7-4c65-908b-5a7fa9d608f5?api-version=2019-11-01 - response: - body: - string: "{\r\n \"status\": \"InProgress\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '30' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 12 Feb 2020 09:43:33 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-arm-service-request-id: - - d4824298-eadd-4abc-bc8f-d46403d86dbf - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network firewall ip-config create - Connection: - - keep-alive - ParameterSetName: - - -g -n -f --public-ip-address - User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/2c9ff2a8-2fa7-4c65-908b-5a7fa9d608f5?api-version=2019-11-01 - response: - body: - string: "{\r\n \"status\": \"InProgress\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '30' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 12 Feb 2020 09:43:43 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-arm-service-request-id: - - c0220e6d-fef5-4864-985b-8d1c98610338 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network firewall ip-config create - Connection: - - keep-alive - ParameterSetName: - - -g -n -f --public-ip-address - User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/2c9ff2a8-2fa7-4c65-908b-5a7fa9d608f5?api-version=2019-11-01 - response: - body: - string: "{\r\n \"status\": \"InProgress\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '30' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 12 Feb 2020 09:43:53 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-arm-service-request-id: - - af883b04-04d2-49df-beaf-4b2eb93593c5 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network firewall ip-config create - Connection: - - keep-alive - ParameterSetName: - - -g -n -f --public-ip-address - User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/2c9ff2a8-2fa7-4c65-908b-5a7fa9d608f5?api-version=2019-11-01 - response: - body: - string: "{\r\n \"status\": \"InProgress\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '30' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 12 Feb 2020 09:44:04 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-arm-service-request-id: - - 853eb8f7-d111-4860-8887-4824da6428b5 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network firewall ip-config create - Connection: - - keep-alive - ParameterSetName: - - -g -n -f --public-ip-address - User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/2c9ff2a8-2fa7-4c65-908b-5a7fa9d608f5?api-version=2019-11-01 - response: - body: - string: "{\r\n \"status\": \"InProgress\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '30' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 12 Feb 2020 09:44:14 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-arm-service-request-id: - - 1ad778b9-4e41-42c0-aa09-c6d23af8fd3c - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network firewall ip-config create - Connection: - - keep-alive - ParameterSetName: - - -g -n -f --public-ip-address - User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/2c9ff2a8-2fa7-4c65-908b-5a7fa9d608f5?api-version=2019-11-01 - response: - body: - string: "{\r\n \"status\": \"InProgress\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '30' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 12 Feb 2020 09:44:24 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-arm-service-request-id: - - 6fd81e5b-8358-4c80-a957-cdd1da802f5f - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network firewall ip-config create - Connection: - - keep-alive - ParameterSetName: - - -g -n -f --public-ip-address - User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/2c9ff2a8-2fa7-4c65-908b-5a7fa9d608f5?api-version=2019-11-01 - response: - body: - string: "{\r\n \"status\": \"Succeeded\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '29' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 12 Feb 2020 09:44:35 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-arm-service-request-id: - - 72319215-2123-46c8-ba90-21e7670c4d03 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network firewall ip-config create - Connection: - - keep-alive - ParameterSetName: - - -g -n -f --public-ip-address - User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 - response: - body: - string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"cb7f3403-5297-426f-8c81-a496c2d5387d\\\"\",\r\n \"type\": - \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Succeeded\",\r\n \"sku\": {\r\n \"name\": - \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\": - \"Alert\",\r\n \"additionalProperties\": {},\r\n \"ipConfigurations\": - [\r\n {\r\n \"name\": \"myipconfig1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1/azureFirewallIpConfigurations/myipconfig1\",\r\n - \ \"etag\": \"W/\\\"cb7f3403-5297-426f-8c81-a496c2d5387d\\\"\",\r\n - \ \"type\": \"Microsoft.Network/azureFirewalls/azureFirewallIpConfigurations\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"privateIPAddress\": \"10.0.0.4\",\r\n \"privateIPAllocationMethod\": - \"Dynamic\",\r\n \"publicIPAddress\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip\"\r\n - \ },\r\n \"subnet\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet/subnets/AzureFirewallSubnet\"\r\n - \ }\r\n }\r\n },\r\n {\r\n \"name\": \"myipconfig2\",\r\n - \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1/azureFirewallIpConfigurations/myipconfig2\",\r\n - \ \"etag\": \"W/\\\"cb7f3403-5297-426f-8c81-a496c2d5387d\\\"\",\r\n - \ \"type\": \"Microsoft.Network/azureFirewalls/azureFirewallIpConfigurations\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"privateIPAllocationMethod\": \"Dynamic\",\r\n \"publicIPAddress\": - {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip2\"\r\n - \ }\r\n }\r\n }\r\n ],\r\n \"networkRuleCollections\": - [],\r\n \"applicationRuleCollections\": [],\r\n \"natRuleCollections\": - []\r\n }\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '2700' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 12 Feb 2020 09:44:35 GMT - etag: - - W/"cb7f3403-5297-426f-8c81-a496c2d5387d" - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-arm-service-request-id: - - 9abc2953-d2ea-4365-944b-30b655633009 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network firewall ip-config delete - Connection: - - keep-alive - ParameterSetName: - - -g -n -f - User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 - response: - body: - string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"cb7f3403-5297-426f-8c81-a496c2d5387d\\\"\",\r\n \"type\": - \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Succeeded\",\r\n \"sku\": {\r\n \"name\": - \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\": - \"Alert\",\r\n \"additionalProperties\": {},\r\n \"ipConfigurations\": - [\r\n {\r\n \"name\": \"myipconfig1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1/azureFirewallIpConfigurations/myipconfig1\",\r\n - \ \"etag\": \"W/\\\"cb7f3403-5297-426f-8c81-a496c2d5387d\\\"\",\r\n - \ \"type\": \"Microsoft.Network/azureFirewalls/azureFirewallIpConfigurations\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"privateIPAddress\": \"10.0.0.4\",\r\n \"privateIPAllocationMethod\": - \"Dynamic\",\r\n \"publicIPAddress\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip\"\r\n - \ },\r\n \"subnet\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet/subnets/AzureFirewallSubnet\"\r\n - \ }\r\n }\r\n },\r\n {\r\n \"name\": \"myipconfig2\",\r\n - \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1/azureFirewallIpConfigurations/myipconfig2\",\r\n - \ \"etag\": \"W/\\\"cb7f3403-5297-426f-8c81-a496c2d5387d\\\"\",\r\n - \ \"type\": \"Microsoft.Network/azureFirewalls/azureFirewallIpConfigurations\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"privateIPAllocationMethod\": \"Dynamic\",\r\n \"publicIPAddress\": - {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip2\"\r\n - \ }\r\n }\r\n }\r\n ],\r\n \"networkRuleCollections\": - [],\r\n \"applicationRuleCollections\": [],\r\n \"natRuleCollections\": - []\r\n }\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '2700' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 12 Feb 2020 09:44:37 GMT - etag: - - W/"cb7f3403-5297-426f-8c81-a496c2d5387d" - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-arm-service-request-id: - - bb46692c-5d24-44c4-8526-acab4fca2eef - status: - code: 200 - message: OK -- request: - body: 'b''{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1", - "location": "westus", "properties": {"applicationRuleCollections": [], "natRuleCollections": - [], "networkRuleCollections": [], "ipConfigurations": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1/azureFirewallIpConfigurations/myipconfig1", - "properties": {"subnet": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet/subnets/AzureFirewallSubnet"}, - "publicIPAddress": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip"}}, - "name": "myipconfig1"}], "threatIntelMode": "Alert", "sku": {"name": "AZFW_VNet", - "tier": "Standard"}, "additionalProperties": {}}}''' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network firewall ip-config delete - Connection: - - keep-alive - Content-Length: - - '1205' - Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - -g -n -f - User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 - accept-language: - - en-US - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 - response: - body: - string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"7a363217-6a52-41ff-bcd2-5c5d5e97f3ae\\\"\",\r\n \"type\": - \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Updating\",\r\n \"sku\": {\r\n \"name\": - \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\": - \"Alert\",\r\n \"additionalProperties\": {},\r\n \"ipConfigurations\": - [\r\n {\r\n \"name\": \"myipconfig1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1/azureFirewallIpConfigurations/myipconfig1\",\r\n - \ \"etag\": \"W/\\\"7a363217-6a52-41ff-bcd2-5c5d5e97f3ae\\\"\",\r\n - \ \"type\": \"Microsoft.Network/azureFirewalls/azureFirewallIpConfigurations\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"privateIPAddress\": \"10.0.0.4\",\r\n \"privateIPAllocationMethod\": - \"Dynamic\",\r\n \"publicIPAddress\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip\"\r\n - \ },\r\n \"subnet\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet/subnets/AzureFirewallSubnet\"\r\n - \ }\r\n }\r\n }\r\n ],\r\n \"networkRuleCollections\": - [],\r\n \"applicationRuleCollections\": [],\r\n \"natRuleCollections\": - []\r\n }\r\n}" - headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/5aae0ac0-77d0-45c4-a160-379c68f3efe6?api-version=2019-11-01 - cache-control: - - no-cache - content-length: - - '1858' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 12 Feb 2020 09:44:38 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-arm-service-request-id: - - d7e233ec-01f8-49bd-9a79-c4f5acd8b2a6 - x-ms-ratelimit-remaining-subscription-writes: - - '1199' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network firewall ip-config delete - Connection: - - keep-alive - ParameterSetName: - - -g -n -f - User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/5aae0ac0-77d0-45c4-a160-379c68f3efe6?api-version=2019-11-01 - response: - body: - string: "{\r\n \"status\": \"InProgress\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '30' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 12 Feb 2020 09:44:50 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-arm-service-request-id: - - 6541d982-8417-4424-9437-b5f35022e59e - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network firewall ip-config delete - Connection: - - keep-alive - ParameterSetName: - - -g -n -f - User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/5aae0ac0-77d0-45c4-a160-379c68f3efe6?api-version=2019-11-01 - response: - body: - string: "{\r\n \"status\": \"InProgress\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '30' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 12 Feb 2020 09:45:00 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-arm-service-request-id: - - b376d962-bb0d-4ce0-9efd-6586664cc939 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network firewall ip-config delete - Connection: - - keep-alive - ParameterSetName: - - -g -n -f - User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/5aae0ac0-77d0-45c4-a160-379c68f3efe6?api-version=2019-11-01 - response: - body: - string: "{\r\n \"status\": \"InProgress\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '30' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 12 Feb 2020 09:45:10 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-arm-service-request-id: - - 1cdfa187-f694-4389-bf17-d837905a39db - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network firewall ip-config delete - Connection: - - keep-alive - ParameterSetName: - - -g -n -f - User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/5aae0ac0-77d0-45c4-a160-379c68f3efe6?api-version=2019-11-01 - response: - body: - string: "{\r\n \"status\": \"InProgress\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '30' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 12 Feb 2020 09:45:21 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-arm-service-request-id: - - 7e22a082-65b3-4096-a298-d9edf4fafc6a - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network firewall ip-config delete - Connection: - - keep-alive - ParameterSetName: - - -g -n -f - User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/5aae0ac0-77d0-45c4-a160-379c68f3efe6?api-version=2019-11-01 - response: - body: - string: "{\r\n \"status\": \"InProgress\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '30' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 12 Feb 2020 09:45:32 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-arm-service-request-id: - - 172f334c-235b-4deb-bc28-840f2a58e5bf - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network firewall ip-config delete - Connection: - - keep-alive - ParameterSetName: - - -g -n -f - User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/5aae0ac0-77d0-45c4-a160-379c68f3efe6?api-version=2019-11-01 - response: - body: - string: "{\r\n \"status\": \"Succeeded\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '29' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 12 Feb 2020 09:45:43 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-arm-service-request-id: - - 97b05f59-421d-4ff4-9ceb-fd21a23e5c3c - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network firewall ip-config delete - Connection: - - keep-alive - ParameterSetName: - - -g -n -f - User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 - response: - body: - string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"f78c715d-62e7-44f2-970e-fee9664905a4\\\"\",\r\n \"type\": - \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Succeeded\",\r\n \"sku\": {\r\n \"name\": - \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\": - \"Alert\",\r\n \"additionalProperties\": {},\r\n \"ipConfigurations\": - [\r\n {\r\n \"name\": \"myipconfig1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1/azureFirewallIpConfigurations/myipconfig1\",\r\n - \ \"etag\": \"W/\\\"f78c715d-62e7-44f2-970e-fee9664905a4\\\"\",\r\n - \ \"type\": \"Microsoft.Network/azureFirewalls/azureFirewallIpConfigurations\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"privateIPAddress\": \"10.0.0.4\",\r\n \"privateIPAllocationMethod\": - \"Dynamic\",\r\n \"publicIPAddress\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip\"\r\n - \ },\r\n \"subnet\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet/subnets/AzureFirewallSubnet\"\r\n - \ }\r\n }\r\n }\r\n ],\r\n \"networkRuleCollections\": - [],\r\n \"applicationRuleCollections\": [],\r\n \"natRuleCollections\": - []\r\n }\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '1859' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 12 Feb 2020 09:45:43 GMT - etag: - - W/"f78c715d-62e7-44f2-970e-fee9664905a4" - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-arm-service-request-id: - - da4df3df-377e-45ff-8b14-21a082314b09 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network firewall ip-config delete - Connection: - - keep-alive - ParameterSetName: - - -g -n -f - User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 - response: - body: - string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"f78c715d-62e7-44f2-970e-fee9664905a4\\\"\",\r\n \"type\": - \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Succeeded\",\r\n \"sku\": {\r\n \"name\": - \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\": - \"Alert\",\r\n \"additionalProperties\": {},\r\n \"ipConfigurations\": - [\r\n {\r\n \"name\": \"myipconfig1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1/azureFirewallIpConfigurations/myipconfig1\",\r\n - \ \"etag\": \"W/\\\"f78c715d-62e7-44f2-970e-fee9664905a4\\\"\",\r\n - \ \"type\": \"Microsoft.Network/azureFirewalls/azureFirewallIpConfigurations\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"privateIPAddress\": \"10.0.0.4\",\r\n \"privateIPAllocationMethod\": - \"Dynamic\",\r\n \"publicIPAddress\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip\"\r\n - \ },\r\n \"subnet\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet/subnets/AzureFirewallSubnet\"\r\n - \ }\r\n }\r\n }\r\n ],\r\n \"networkRuleCollections\": - [],\r\n \"applicationRuleCollections\": [],\r\n \"natRuleCollections\": - []\r\n }\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '1859' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 12 Feb 2020 09:45:45 GMT - etag: - - W/"f78c715d-62e7-44f2-970e-fee9664905a4" - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-arm-service-request-id: - - 18a026b6-a765-4f35-b349-a51f03bfbda6 - status: - code: 200 - message: OK -- request: - body: 'b''{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1", - "location": "westus", "properties": {"applicationRuleCollections": [], "natRuleCollections": - [], "networkRuleCollections": [], "threatIntelMode": "Alert", "sku": {"name": - "AZFW_VNet", "tier": "Standard"}, "additionalProperties": {}}}''' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network firewall ip-config delete - Connection: - - keep-alive - Content-Length: - - '433' - Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - -g -n -f - User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 - accept-language: - - en-US - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 - response: - body: - string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"295b9021-b6e6-4f42-9c8f-641318513b41\\\"\",\r\n \"type\": - \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Updating\",\r\n \"sku\": {\r\n \"name\": - \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\": - \"Alert\",\r\n \"additionalProperties\": {},\r\n \"ipConfigurations\": - [],\r\n \"networkRuleCollections\": [],\r\n \"applicationRuleCollections\": - [],\r\n \"natRuleCollections\": []\r\n }\r\n}" - headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/7f44ed06-1621-4f29-8d4d-65a22171af7a?api-version=2019-11-01 - cache-control: - - no-cache - content-length: - - '690' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 12 Feb 2020 09:45:45 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-arm-service-request-id: - - 4a8ff497-31c6-49a8-9bcf-e8069d054021 - x-ms-ratelimit-remaining-subscription-writes: - - '1199' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network firewall ip-config delete - Connection: - - keep-alive - ParameterSetName: - - -g -n -f - User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/7f44ed06-1621-4f29-8d4d-65a22171af7a?api-version=2019-11-01 - response: - body: - string: "{\r\n \"status\": \"InProgress\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '30' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 12 Feb 2020 09:45:57 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-arm-service-request-id: - - 9c1d0aee-763d-4d19-9df3-a730358e5818 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network firewall ip-config delete - Connection: - - keep-alive - ParameterSetName: - - -g -n -f - User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/7f44ed06-1621-4f29-8d4d-65a22171af7a?api-version=2019-11-01 - response: - body: - string: "{\r\n \"status\": \"InProgress\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '30' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 12 Feb 2020 09:46:07 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-arm-service-request-id: - - 1a0a2a0f-c8a7-462d-ac67-d77a79cbe6a3 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network firewall ip-config delete - Connection: - - keep-alive - ParameterSetName: - - -g -n -f - User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/7f44ed06-1621-4f29-8d4d-65a22171af7a?api-version=2019-11-01 - response: - body: - string: "{\r\n \"status\": \"InProgress\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '30' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 12 Feb 2020 09:46:17 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-arm-service-request-id: - - c7ff00dd-5666-44db-b58e-c0ae98db8ae0 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network firewall ip-config delete - Connection: - - keep-alive - ParameterSetName: - - -g -n -f - User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/7f44ed06-1621-4f29-8d4d-65a22171af7a?api-version=2019-11-01 - response: - body: - string: "{\r\n \"status\": \"InProgress\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '30' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 12 Feb 2020 09:46:28 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-arm-service-request-id: - - 6bcfb090-86c1-479f-99af-2254e0d84587 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network firewall ip-config delete - Connection: - - keep-alive - ParameterSetName: - - -g -n -f - User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/7f44ed06-1621-4f29-8d4d-65a22171af7a?api-version=2019-11-01 - response: - body: - string: "{\r\n \"status\": \"InProgress\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '30' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 12 Feb 2020 09:46:38 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-arm-service-request-id: - - 94a53465-b263-4a4c-b016-ab2a0daf79f7 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network firewall ip-config delete - Connection: - - keep-alive - ParameterSetName: - - -g -n -f - User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/7f44ed06-1621-4f29-8d4d-65a22171af7a?api-version=2019-11-01 - response: - body: - string: "{\r\n \"status\": \"InProgress\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '30' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 12 Feb 2020 09:46:49 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-arm-service-request-id: - - b91613ca-7747-4919-abec-f6a3810ea25b - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network firewall ip-config delete - Connection: - - keep-alive - ParameterSetName: - - -g -n -f - User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/7f44ed06-1621-4f29-8d4d-65a22171af7a?api-version=2019-11-01 - response: - body: - string: "{\r\n \"status\": \"InProgress\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '30' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 12 Feb 2020 09:46:59 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-arm-service-request-id: - - 14c7149f-6607-4cf5-94b2-c28765081677 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network firewall ip-config delete - Connection: - - keep-alive - ParameterSetName: - - -g -n -f - User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/7f44ed06-1621-4f29-8d4d-65a22171af7a?api-version=2019-11-01 - response: - body: - string: "{\r\n \"status\": \"InProgress\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '30' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 12 Feb 2020 09:47:10 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-arm-service-request-id: - - a001d287-6872-444a-be04-90da4a384630 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network firewall ip-config delete - Connection: - - keep-alive - ParameterSetName: - - -g -n -f - User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/7f44ed06-1621-4f29-8d4d-65a22171af7a?api-version=2019-11-01 - response: - body: - string: "{\r\n \"status\": \"InProgress\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '30' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 12 Feb 2020 09:47:21 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-arm-service-request-id: - - fb8725c3-d294-47d4-98bc-e0bd50aa33c6 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network firewall ip-config delete - Connection: - - keep-alive - ParameterSetName: - - -g -n -f - User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/7f44ed06-1621-4f29-8d4d-65a22171af7a?api-version=2019-11-01 - response: - body: - string: "{\r\n \"status\": \"InProgress\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '30' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 12 Feb 2020 09:47:33 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-arm-service-request-id: - - 6b56c9cd-b3e4-449b-96b1-85804eaf425e - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network firewall ip-config delete - Connection: - - keep-alive - ParameterSetName: - - -g -n -f - User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/7f44ed06-1621-4f29-8d4d-65a22171af7a?api-version=2019-11-01 - response: - body: - string: "{\r\n \"status\": \"InProgress\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '30' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 12 Feb 2020 09:47:46 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-arm-service-request-id: - - 532c27ec-5e1b-4c45-adcf-f59b199ed8d0 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network firewall ip-config delete - Connection: - - keep-alive - ParameterSetName: - - -g -n -f - User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/7f44ed06-1621-4f29-8d4d-65a22171af7a?api-version=2019-11-01 - response: - body: - string: "{\r\n \"status\": \"InProgress\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '30' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 12 Feb 2020 09:47:56 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-arm-service-request-id: - - f673258f-20df-490e-ba3a-65ac1905b990 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network firewall ip-config delete - Connection: - - keep-alive - ParameterSetName: - - -g -n -f - User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/7f44ed06-1621-4f29-8d4d-65a22171af7a?api-version=2019-11-01 - response: - body: - string: "{\r\n \"status\": \"InProgress\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '30' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 12 Feb 2020 09:48:06 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-arm-service-request-id: - - 6384bdaf-e143-4067-b6df-b9318acedb0e - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network firewall ip-config delete - Connection: - - keep-alive - ParameterSetName: - - -g -n -f - User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/7f44ed06-1621-4f29-8d4d-65a22171af7a?api-version=2019-11-01 - response: - body: - string: "{\r\n \"status\": \"InProgress\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '30' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 12 Feb 2020 09:48:16 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-arm-service-request-id: - - 0ddc0e70-6034-4f1a-86bd-d7a075cdf69f + - efa3d714-6bb0-4a8a-b53a-feb860d5526d + x-ms-ratelimit-remaining-subscription-writes: + - '1199' status: code: 200 message: OK @@ -5903,10 +3565,10 @@ interactions: ParameterSetName: - -g -n -f User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/7f44ed06-1621-4f29-8d4d-65a22171af7a?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/f6c1e615-042e-4463-949a-453dc0918ec7?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -5918,7 +3580,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:48:27 GMT + - Thu, 18 Jun 2020 04:27:02 GMT expires: - '-1' pragma: @@ -5935,7 +3597,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 016279d0-3b35-4b80-a409-9275a38783da + - 3ad9fc4f-9f1f-4c83-a6a1-b3f2d67dfe24 status: code: 200 message: OK @@ -5953,10 +3615,10 @@ interactions: ParameterSetName: - -g -n -f User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/7f44ed06-1621-4f29-8d4d-65a22171af7a?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/f6c1e615-042e-4463-949a-453dc0918ec7?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -5968,7 +3630,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:48:37 GMT + - Thu, 18 Jun 2020 04:27:12 GMT expires: - '-1' pragma: @@ -5985,7 +3647,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 07e4d6f9-3978-4677-84b3-660579aac253 + - 4e91bbd0-5ee0-4ea3-b8e3-ac99080d1b37 status: code: 200 message: OK @@ -6003,10 +3665,10 @@ interactions: ParameterSetName: - -g -n -f User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/7f44ed06-1621-4f29-8d4d-65a22171af7a?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/f6c1e615-042e-4463-949a-453dc0918ec7?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -6018,7 +3680,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:48:48 GMT + - Thu, 18 Jun 2020 04:27:22 GMT expires: - '-1' pragma: @@ -6035,7 +3697,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 96ea5e0b-49f5-416c-9b14-00b0f70a6c55 + - ae2d32be-a6ce-482a-99bd-df15189c78e4 status: code: 200 message: OK @@ -6053,10 +3715,10 @@ interactions: ParameterSetName: - -g -n -f User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/7f44ed06-1621-4f29-8d4d-65a22171af7a?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/f6c1e615-042e-4463-949a-453dc0918ec7?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -6068,7 +3730,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:48:59 GMT + - Thu, 18 Jun 2020 04:27:32 GMT expires: - '-1' pragma: @@ -6085,7 +3747,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 734c7286-c77d-4e41-b0ca-a38f982723cc + - 1d6df478-4728-45ca-bd8e-c91dab80d2e7 status: code: 200 message: OK @@ -6103,10 +3765,10 @@ interactions: ParameterSetName: - -g -n -f User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/7f44ed06-1621-4f29-8d4d-65a22171af7a?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/f6c1e615-042e-4463-949a-453dc0918ec7?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -6118,7 +3780,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:49:09 GMT + - Thu, 18 Jun 2020 04:27:43 GMT expires: - '-1' pragma: @@ -6135,7 +3797,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 32903593-c19f-436f-84fe-369ce38ab614 + - 8ce374f7-164f-4fbe-beb8-02678260efa3 status: code: 200 message: OK @@ -6153,10 +3815,10 @@ interactions: ParameterSetName: - -g -n -f User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/7f44ed06-1621-4f29-8d4d-65a22171af7a?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/f6c1e615-042e-4463-949a-453dc0918ec7?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -6168,7 +3830,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:49:20 GMT + - Thu, 18 Jun 2020 04:27:53 GMT expires: - '-1' pragma: @@ -6185,7 +3847,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - d1fe04f1-d818-42de-a06f-0a06301cbba8 + - 5e51381d-bd23-4df9-a3fe-4e4b3a6a1a01 status: code: 200 message: OK @@ -6203,10 +3865,10 @@ interactions: ParameterSetName: - -g -n -f User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/7f44ed06-1621-4f29-8d4d-65a22171af7a?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/f6c1e615-042e-4463-949a-453dc0918ec7?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -6218,7 +3880,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:49:30 GMT + - Thu, 18 Jun 2020 04:28:03 GMT expires: - '-1' pragma: @@ -6235,7 +3897,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 7f08ee5c-71a9-4371-b938-14420f2a9960 + - 4d457e1b-f841-411b-9c98-64bbf07d8d5b status: code: 200 message: OK @@ -6253,10 +3915,10 @@ interactions: ParameterSetName: - -g -n -f User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/7f44ed06-1621-4f29-8d4d-65a22171af7a?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/f6c1e615-042e-4463-949a-453dc0918ec7?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -6268,7 +3930,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:49:41 GMT + - Thu, 18 Jun 2020 04:28:13 GMT expires: - '-1' pragma: @@ -6285,7 +3947,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 2f07e7a1-c75e-451e-8168-43dc27b1ce19 + - fda2db1c-afa4-4027-96fb-0c6a03cb092c status: code: 200 message: OK @@ -6303,10 +3965,10 @@ interactions: ParameterSetName: - -g -n -f User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/7f44ed06-1621-4f29-8d4d-65a22171af7a?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/f6c1e615-042e-4463-949a-453dc0918ec7?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -6318,7 +3980,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:49:51 GMT + - Thu, 18 Jun 2020 04:28:24 GMT expires: - '-1' pragma: @@ -6335,7 +3997,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 4d4963fb-a099-4e8f-8421-0bf0f4c33b74 + - 21f0fa01-f1ed-4808-b804-f36126c37e66 status: code: 200 message: OK @@ -6353,10 +4015,10 @@ interactions: ParameterSetName: - -g -n -f User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/7f44ed06-1621-4f29-8d4d-65a22171af7a?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/f6c1e615-042e-4463-949a-453dc0918ec7?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -6368,7 +4030,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:50:02 GMT + - Thu, 18 Jun 2020 04:28:34 GMT expires: - '-1' pragma: @@ -6385,7 +4047,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - bc05d348-7749-4fff-8887-868ad47659ac + - 866fcba6-6c18-49da-9dc3-b369cce55c94 status: code: 200 message: OK @@ -6403,10 +4065,10 @@ interactions: ParameterSetName: - -g -n -f User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/7f44ed06-1621-4f29-8d4d-65a22171af7a?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/f6c1e615-042e-4463-949a-453dc0918ec7?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -6418,7 +4080,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:50:12 GMT + - Thu, 18 Jun 2020 04:28:45 GMT expires: - '-1' pragma: @@ -6435,7 +4097,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 99957d3b-4e01-4eb9-b08a-21ca928f2c7c + - 7a7f5b0e-999d-4a9b-b4a2-13a9bb86d199 status: code: 200 message: OK @@ -6453,10 +4115,10 @@ interactions: ParameterSetName: - -g -n -f User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/7f44ed06-1621-4f29-8d4d-65a22171af7a?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/f6c1e615-042e-4463-949a-453dc0918ec7?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -6468,7 +4130,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:50:22 GMT + - Thu, 18 Jun 2020 04:28:55 GMT expires: - '-1' pragma: @@ -6485,7 +4147,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 359962a1-f29c-4f46-a3a5-aa890316f288 + - 7df85924-6dac-45b8-9a3f-7f43e838d3ad status: code: 200 message: OK @@ -6503,10 +4165,10 @@ interactions: ParameterSetName: - -g -n -f User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/7f44ed06-1621-4f29-8d4d-65a22171af7a?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/f6c1e615-042e-4463-949a-453dc0918ec7?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -6518,7 +4180,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:50:34 GMT + - Thu, 18 Jun 2020 04:29:05 GMT expires: - '-1' pragma: @@ -6535,7 +4197,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 0ec56cc4-30db-4b59-8f91-42da37c03d9a + - 12c37bbd-144a-41f9-97c0-760c1d4b9398 status: code: 200 message: OK @@ -6553,10 +4215,10 @@ interactions: ParameterSetName: - -g -n -f User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/7f44ed06-1621-4f29-8d4d-65a22171af7a?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/f6c1e615-042e-4463-949a-453dc0918ec7?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -6568,7 +4230,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:50:44 GMT + - Thu, 18 Jun 2020 04:29:16 GMT expires: - '-1' pragma: @@ -6585,7 +4247,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 2568b659-03a2-4c92-a071-f02245a08de2 + - 3dc8c6cc-8bf9-4173-9d9a-7cba839a6c2a status: code: 200 message: OK @@ -6603,10 +4265,10 @@ interactions: ParameterSetName: - -g -n -f User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/7f44ed06-1621-4f29-8d4d-65a22171af7a?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/f6c1e615-042e-4463-949a-453dc0918ec7?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -6618,7 +4280,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:50:55 GMT + - Thu, 18 Jun 2020 04:29:26 GMT expires: - '-1' pragma: @@ -6635,7 +4297,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 861eb4fc-1c91-4ef8-8df0-8155a1ba1e0c + - ba353024-37a9-43d3-9760-8536be384be5 status: code: 200 message: OK @@ -6653,10 +4315,10 @@ interactions: ParameterSetName: - -g -n -f User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/7f44ed06-1621-4f29-8d4d-65a22171af7a?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/f6c1e615-042e-4463-949a-453dc0918ec7?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -6668,7 +4330,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:51:05 GMT + - Thu, 18 Jun 2020 04:29:36 GMT expires: - '-1' pragma: @@ -6685,7 +4347,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 110fc21e-7ca9-4568-a156-dee7106360f6 + - 887548bb-d33c-49a5-ac9a-2177f4360484 status: code: 200 message: OK @@ -6703,10 +4365,10 @@ interactions: ParameterSetName: - -g -n -f User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/7f44ed06-1621-4f29-8d4d-65a22171af7a?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/f6c1e615-042e-4463-949a-453dc0918ec7?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -6718,7 +4380,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:51:15 GMT + - Thu, 18 Jun 2020 04:29:46 GMT expires: - '-1' pragma: @@ -6735,7 +4397,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 8518473e-bf32-4154-b2a5-86f7dc996602 + - 3528bab6-0d25-4e41-ab5a-8dbc8eca9f38 status: code: 200 message: OK @@ -6753,10 +4415,10 @@ interactions: ParameterSetName: - -g -n -f User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/7f44ed06-1621-4f29-8d4d-65a22171af7a?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/f6c1e615-042e-4463-949a-453dc0918ec7?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -6768,7 +4430,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:51:26 GMT + - Thu, 18 Jun 2020 04:29:56 GMT expires: - '-1' pragma: @@ -6785,7 +4447,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 6ad522f3-0174-49f9-983e-a47e324cd9bf + - cc01a2c7-a81a-4fd9-85ed-d8bd650d5e3f status: code: 200 message: OK @@ -6803,10 +4465,10 @@ interactions: ParameterSetName: - -g -n -f User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/7f44ed06-1621-4f29-8d4d-65a22171af7a?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/f6c1e615-042e-4463-949a-453dc0918ec7?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -6818,7 +4480,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:51:36 GMT + - Thu, 18 Jun 2020 04:30:07 GMT expires: - '-1' pragma: @@ -6835,7 +4497,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - ffb25b9f-b4b8-4d31-b8e2-b3589f8f97c0 + - 91201aec-c44f-43c9-aebd-2fd811421965 status: code: 200 message: OK @@ -6853,10 +4515,10 @@ interactions: ParameterSetName: - -g -n -f User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/7f44ed06-1621-4f29-8d4d-65a22171af7a?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/f6c1e615-042e-4463-949a-453dc0918ec7?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -6868,7 +4530,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:51:47 GMT + - Thu, 18 Jun 2020 04:30:17 GMT expires: - '-1' pragma: @@ -6885,7 +4547,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - a7e13295-609a-48a1-9534-9de6c34bbf9f + - f2c8883c-aee7-4e78-873e-38398e1caab2 status: code: 200 message: OK @@ -6903,10 +4565,10 @@ interactions: ParameterSetName: - -g -n -f User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/7f44ed06-1621-4f29-8d4d-65a22171af7a?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/f6c1e615-042e-4463-949a-453dc0918ec7?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -6918,7 +4580,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:51:58 GMT + - Thu, 18 Jun 2020 04:30:27 GMT expires: - '-1' pragma: @@ -6935,7 +4597,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - ab384a2c-c277-4c0a-9312-a016796b66c7 + - 9974f307-3b83-4f5a-ad26-d90533506ba9 status: code: 200 message: OK @@ -6953,10 +4615,10 @@ interactions: ParameterSetName: - -g -n -f User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/7f44ed06-1621-4f29-8d4d-65a22171af7a?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/f6c1e615-042e-4463-949a-453dc0918ec7?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -6968,7 +4630,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:52:09 GMT + - Thu, 18 Jun 2020 04:30:38 GMT expires: - '-1' pragma: @@ -6985,7 +4647,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 2381dbc2-f011-4854-9122-452fa4d4e589 + - 4b728747-4488-4916-b95a-6cd0818474cc status: code: 200 message: OK @@ -7003,10 +4665,10 @@ interactions: ParameterSetName: - -g -n -f User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/7f44ed06-1621-4f29-8d4d-65a22171af7a?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/f6c1e615-042e-4463-949a-453dc0918ec7?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -7018,7 +4680,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:52:19 GMT + - Thu, 18 Jun 2020 04:30:48 GMT expires: - '-1' pragma: @@ -7035,7 +4697,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 7a0363ee-53eb-49fa-864f-05352bb08213 + - f2541d1a-652b-4293-bda2-7b43db0ec7fe status: code: 200 message: OK @@ -7053,10 +4715,10 @@ interactions: ParameterSetName: - -g -n -f User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/7f44ed06-1621-4f29-8d4d-65a22171af7a?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/f6c1e615-042e-4463-949a-453dc0918ec7?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -7068,7 +4730,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:52:30 GMT + - Thu, 18 Jun 2020 04:30:59 GMT expires: - '-1' pragma: @@ -7085,7 +4747,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - cb94b713-adb7-43fa-b5a7-6debb5f38c39 + - 126a2dd7-c482-4daa-9849-45b53c8e7907 status: code: 200 message: OK @@ -7103,10 +4765,10 @@ interactions: ParameterSetName: - -g -n -f User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/7f44ed06-1621-4f29-8d4d-65a22171af7a?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/f6c1e615-042e-4463-949a-453dc0918ec7?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -7118,7 +4780,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:52:41 GMT + - Thu, 18 Jun 2020 04:31:09 GMT expires: - '-1' pragma: @@ -7135,7 +4797,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - f9d01617-57b2-4e17-9720-b3d5af93273a + - 182f53b5-330b-4958-8166-9989833f7c4d status: code: 200 message: OK @@ -7153,10 +4815,10 @@ interactions: ParameterSetName: - -g -n -f User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/7f44ed06-1621-4f29-8d4d-65a22171af7a?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/f6c1e615-042e-4463-949a-453dc0918ec7?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -7168,7 +4830,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:52:51 GMT + - Thu, 18 Jun 2020 04:31:19 GMT expires: - '-1' pragma: @@ -7185,7 +4847,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 4e72cadc-046d-4106-a718-a120b1deed3a + - ff48c594-75e1-4b8c-bba0-ef6f9a5230f6 status: code: 200 message: OK @@ -7203,10 +4865,10 @@ interactions: ParameterSetName: - -g -n -f User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/7f44ed06-1621-4f29-8d4d-65a22171af7a?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/f6c1e615-042e-4463-949a-453dc0918ec7?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -7218,7 +4880,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:53:01 GMT + - Thu, 18 Jun 2020 04:31:29 GMT expires: - '-1' pragma: @@ -7235,7 +4897,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - f66a5920-d377-4c6d-ad75-1b4ee37e1798 + - 54af513a-0fc4-47db-92d6-58f1334643b4 status: code: 200 message: OK @@ -7253,10 +4915,10 @@ interactions: ParameterSetName: - -g -n -f User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/7f44ed06-1621-4f29-8d4d-65a22171af7a?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/f6c1e615-042e-4463-949a-453dc0918ec7?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -7268,7 +4930,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:53:12 GMT + - Thu, 18 Jun 2020 04:31:39 GMT expires: - '-1' pragma: @@ -7285,7 +4947,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 00428e19-fc42-4d7c-8e54-944773a955fa + - 43b00557-0386-46b4-bf16-6080852ae225 status: code: 200 message: OK @@ -7303,10 +4965,10 @@ interactions: ParameterSetName: - -g -n -f User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/7f44ed06-1621-4f29-8d4d-65a22171af7a?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/f6c1e615-042e-4463-949a-453dc0918ec7?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -7318,7 +4980,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:53:23 GMT + - Thu, 18 Jun 2020 04:31:50 GMT expires: - '-1' pragma: @@ -7335,7 +4997,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 43b5a471-3faa-496c-a82f-dd0554e88368 + - e730a4cd-4189-49a2-b608-4904e520e90c status: code: 200 message: OK @@ -7353,10 +5015,10 @@ interactions: ParameterSetName: - -g -n -f User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/7f44ed06-1621-4f29-8d4d-65a22171af7a?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/f6c1e615-042e-4463-949a-453dc0918ec7?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -7368,7 +5030,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:53:34 GMT + - Thu, 18 Jun 2020 04:32:00 GMT expires: - '-1' pragma: @@ -7385,7 +5047,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 06c000bc-8808-49a1-86f6-4d698a9a872e + - 2944815f-ed39-4453-b362-1f8707efbd88 status: code: 200 message: OK @@ -7403,10 +5065,10 @@ interactions: ParameterSetName: - -g -n -f User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/7f44ed06-1621-4f29-8d4d-65a22171af7a?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/f6c1e615-042e-4463-949a-453dc0918ec7?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -7418,7 +5080,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:53:44 GMT + - Thu, 18 Jun 2020 04:32:10 GMT expires: - '-1' pragma: @@ -7435,7 +5097,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 6b6905e4-395f-48a0-91f8-9214e60b8b47 + - 88346b86-8872-4cef-ae78-8489314679b8 status: code: 200 message: OK @@ -7453,10 +5115,10 @@ interactions: ParameterSetName: - -g -n -f User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/7f44ed06-1621-4f29-8d4d-65a22171af7a?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/f6c1e615-042e-4463-949a-453dc0918ec7?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -7468,7 +5130,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:53:55 GMT + - Thu, 18 Jun 2020 04:32:21 GMT expires: - '-1' pragma: @@ -7485,7 +5147,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 2ee4330c-ac08-475a-b70b-298ac487a382 + - 37ad92a1-4d83-4149-8e0b-68d38bad4b12 status: code: 200 message: OK @@ -7503,10 +5165,10 @@ interactions: ParameterSetName: - -g -n -f User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/7f44ed06-1621-4f29-8d4d-65a22171af7a?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/f6c1e615-042e-4463-949a-453dc0918ec7?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -7518,7 +5180,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:54:05 GMT + - Thu, 18 Jun 2020 04:32:32 GMT expires: - '-1' pragma: @@ -7535,7 +5197,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 3f89ca42-7096-4e5c-9fdd-c921932bc443 + - ec55a74b-8449-4c7a-95ca-7a96fd419cac status: code: 200 message: OK @@ -7553,10 +5215,10 @@ interactions: ParameterSetName: - -g -n -f User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/7f44ed06-1621-4f29-8d4d-65a22171af7a?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/f6c1e615-042e-4463-949a-453dc0918ec7?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -7568,7 +5230,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:54:15 GMT + - Thu, 18 Jun 2020 04:32:42 GMT expires: - '-1' pragma: @@ -7585,7 +5247,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - d0d4d739-0126-4e60-9cc1-239ebed0e098 + - 5d4ba2fd-632d-4793-9e4d-1730b9666559 status: code: 200 message: OK @@ -7603,10 +5265,10 @@ interactions: ParameterSetName: - -g -n -f User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/7f44ed06-1621-4f29-8d4d-65a22171af7a?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/f6c1e615-042e-4463-949a-453dc0918ec7?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -7618,7 +5280,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:54:26 GMT + - Thu, 18 Jun 2020 04:32:52 GMT expires: - '-1' pragma: @@ -7635,7 +5297,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - a9a8aec4-840b-4fb3-a4a4-f8ca537819a0 + - a491541e-f9cb-4029-8e7b-595ba79d2f76 status: code: 200 message: OK @@ -7653,10 +5315,10 @@ interactions: ParameterSetName: - -g -n -f User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/7f44ed06-1621-4f29-8d4d-65a22171af7a?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/f6c1e615-042e-4463-949a-453dc0918ec7?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -7668,7 +5330,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:54:36 GMT + - Thu, 18 Jun 2020 04:33:03 GMT expires: - '-1' pragma: @@ -7685,7 +5347,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 051ce726-1fb9-46db-b163-6b634a483992 + - eab95ab6-7b65-463b-b1a3-8b137b20e4a9 status: code: 200 message: OK @@ -7703,10 +5365,10 @@ interactions: ParameterSetName: - -g -n -f User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/7f44ed06-1621-4f29-8d4d-65a22171af7a?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/f6c1e615-042e-4463-949a-453dc0918ec7?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -7718,7 +5380,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:54:47 GMT + - Thu, 18 Jun 2020 04:33:13 GMT expires: - '-1' pragma: @@ -7735,7 +5397,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - da519707-26ff-47d8-b5d7-d7ab3f645612 + - 12d088dd-3e47-4e58-b01c-8a2253790181 status: code: 200 message: OK @@ -7753,10 +5415,10 @@ interactions: ParameterSetName: - -g -n -f User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/7f44ed06-1621-4f29-8d4d-65a22171af7a?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/f6c1e615-042e-4463-949a-453dc0918ec7?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -7768,7 +5430,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:54:57 GMT + - Thu, 18 Jun 2020 04:33:23 GMT expires: - '-1' pragma: @@ -7785,7 +5447,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - c6a1c07c-f333-4571-a555-2b826fbc7b41 + - 6bcdcb43-7a62-47a0-acfb-8e6c3ad5a679 status: code: 200 message: OK @@ -7803,10 +5465,10 @@ interactions: ParameterSetName: - -g -n -f User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/7f44ed06-1621-4f29-8d4d-65a22171af7a?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/f6c1e615-042e-4463-949a-453dc0918ec7?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -7818,7 +5480,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:55:08 GMT + - Thu, 18 Jun 2020 04:33:33 GMT expires: - '-1' pragma: @@ -7835,7 +5497,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 6337a7a8-7675-45f3-a5ce-61d15f0eb965 + - a0ec89fb-5410-46f5-b0e7-8dffa40b28b2 status: code: 200 message: OK @@ -7853,10 +5515,10 @@ interactions: ParameterSetName: - -g -n -f User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/7f44ed06-1621-4f29-8d4d-65a22171af7a?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/f6c1e615-042e-4463-949a-453dc0918ec7?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -7868,7 +5530,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:55:19 GMT + - Thu, 18 Jun 2020 04:33:44 GMT expires: - '-1' pragma: @@ -7885,7 +5547,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - b0096248-bc5d-436b-b9e9-1fd53ee5966f + - 78a385f7-fe46-44d6-9670-7b1404fbc415 status: code: 200 message: OK @@ -7903,10 +5565,10 @@ interactions: ParameterSetName: - -g -n -f User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/7f44ed06-1621-4f29-8d4d-65a22171af7a?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/f6c1e615-042e-4463-949a-453dc0918ec7?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -7918,7 +5580,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:55:29 GMT + - Thu, 18 Jun 2020 04:33:54 GMT expires: - '-1' pragma: @@ -7935,7 +5597,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 9faab0b9-ef99-46c5-adae-39e13b0a26c6 + - a0c5d27a-4acf-457b-b417-3e707fea1f78 status: code: 200 message: OK @@ -7953,10 +5615,10 @@ interactions: ParameterSetName: - -g -n -f User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/7f44ed06-1621-4f29-8d4d-65a22171af7a?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/f6c1e615-042e-4463-949a-453dc0918ec7?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -7968,7 +5630,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:55:39 GMT + - Thu, 18 Jun 2020 04:34:04 GMT expires: - '-1' pragma: @@ -7985,7 +5647,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 0a0c959d-57c1-484e-8f6c-5ed880703143 + - 755df5fd-d996-4079-a153-222110094770 status: code: 200 message: OK @@ -8003,10 +5665,10 @@ interactions: ParameterSetName: - -g -n -f User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/7f44ed06-1621-4f29-8d4d-65a22171af7a?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/f6c1e615-042e-4463-949a-453dc0918ec7?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -8018,7 +5680,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:55:50 GMT + - Thu, 18 Jun 2020 04:34:15 GMT expires: - '-1' pragma: @@ -8035,7 +5697,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - cd174ebb-e16a-4f78-b89b-0afd5abfb777 + - ccb643c0-dec8-4b30-8ae5-8a8f2c90d9e7 status: code: 200 message: OK @@ -8053,10 +5715,10 @@ interactions: ParameterSetName: - -g -n -f User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/7f44ed06-1621-4f29-8d4d-65a22171af7a?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/f6c1e615-042e-4463-949a-453dc0918ec7?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -8068,7 +5730,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:56:00 GMT + - Thu, 18 Jun 2020 04:34:25 GMT expires: - '-1' pragma: @@ -8085,7 +5747,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - d36f46e4-1af1-42d8-a97b-80639d063225 + - 35d52507-1908-4000-8c44-e286ae30c84c status: code: 200 message: OK @@ -8103,10 +5765,10 @@ interactions: ParameterSetName: - -g -n -f User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/7f44ed06-1621-4f29-8d4d-65a22171af7a?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/f6c1e615-042e-4463-949a-453dc0918ec7?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -8118,7 +5780,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:56:11 GMT + - Thu, 18 Jun 2020 04:34:36 GMT expires: - '-1' pragma: @@ -8135,7 +5797,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 11076077-36f3-46f6-8f7b-1813090f3487 + - c4cc500b-67c5-4333-b308-b6ec4909c5a6 status: code: 200 message: OK @@ -8153,10 +5815,10 @@ interactions: ParameterSetName: - -g -n -f User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/7f44ed06-1621-4f29-8d4d-65a22171af7a?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/f6c1e615-042e-4463-949a-453dc0918ec7?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -8168,7 +5830,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:56:21 GMT + - Thu, 18 Jun 2020 04:34:46 GMT expires: - '-1' pragma: @@ -8185,7 +5847,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - a5cb69ba-1d9e-4ee0-992d-0b2b69bd503e + - ca14d2c4-dbee-4212-910d-7fd42165c927 status: code: 200 message: OK @@ -8203,10 +5865,10 @@ interactions: ParameterSetName: - -g -n -f User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/7f44ed06-1621-4f29-8d4d-65a22171af7a?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/f6c1e615-042e-4463-949a-453dc0918ec7?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -8218,7 +5880,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:56:32 GMT + - Thu, 18 Jun 2020 04:34:56 GMT expires: - '-1' pragma: @@ -8235,7 +5897,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - ada48bf7-1a27-4cb9-b81a-ec4e3dc27dcc + - 377dc0c1-00c5-459f-97b2-641cd81fb333 status: code: 200 message: OK @@ -8253,10 +5915,10 @@ interactions: ParameterSetName: - -g -n -f User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/7f44ed06-1621-4f29-8d4d-65a22171af7a?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/f6c1e615-042e-4463-949a-453dc0918ec7?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -8268,7 +5930,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:56:43 GMT + - Thu, 18 Jun 2020 04:35:06 GMT expires: - '-1' pragma: @@ -8285,7 +5947,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 6ae683c1-79aa-4756-ae6a-b97bfaaec023 + - 9f081b56-fe91-48e7-802f-34a47f83c179 status: code: 200 message: OK @@ -8303,10 +5965,10 @@ interactions: ParameterSetName: - -g -n -f User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/7f44ed06-1621-4f29-8d4d-65a22171af7a?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/f6c1e615-042e-4463-949a-453dc0918ec7?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -8318,7 +5980,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:56:53 GMT + - Thu, 18 Jun 2020 04:35:16 GMT expires: - '-1' pragma: @@ -8335,7 +5997,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - cee7908a-fb9d-4f4a-ab3c-6725dda82800 + - e6af29cd-5d6e-4208-be72-5a3c4847f928 status: code: 200 message: OK @@ -8353,31 +6015,33 @@ interactions: ParameterSetName: - -g -n -f User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 response: body: - string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"b7e02a10-f90d-4f90-aa4d-badbbcd6b68b\\\"\",\r\n \"type\": - \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Succeeded\",\r\n \"sku\": {\r\n \"name\": - \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\": - \"Alert\",\r\n \"additionalProperties\": {},\r\n \"ipConfigurations\": - [],\r\n \"networkRuleCollections\": [],\r\n \"applicationRuleCollections\": - [],\r\n \"natRuleCollections\": []\r\n }\r\n}" + string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1\"\ + ,\r\n \"etag\": \"W/\\\"f9bd53ab-799b-404d-97f3-064bb697ac5a\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n\ + \ \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\ + \r\n },\r\n \"threatIntelMode\": \"Alert\",\r\n \"additionalProperties\"\ + : {\r\n \"Network.DNS.EnableProxy\": \"False\",\r\n \"Network.DNS.RequireProxyForNetworkRules\"\ + : \"True\",\r\n \"Network.DNS.Servers\": \"\"\r\n },\r\n \"ipConfigurations\"\ + : [],\r\n \"networkRuleCollections\": [],\r\n \"applicationRuleCollections\"\ + : [],\r\n \"natRuleCollections\": []\r\n }\r\n}" headers: cache-control: - no-cache content-length: - - '691' + - '831' content-type: - application/json; charset=utf-8 date: - - Wed, 12 Feb 2020 09:56:53 GMT + - Thu, 18 Jun 2020 04:35:17 GMT etag: - - W/"b7e02a10-f90d-4f90-aa4d-badbbcd6b68b" + - W/"f9bd53ab-799b-404d-97f3-064bb697ac5a" expires: - '-1' pragma: @@ -8394,7 +6058,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 59df23b0-9781-4a94-8162-6800057d07ec + - 487079b5-bc41-494e-a68c-0a6314e26e72 status: code: 200 message: OK diff --git a/src/azure-firewall/azext_firewall/tests/latest/recordings/test_azure_firewall_management_ip_config.yaml b/src/azure-firewall/azext_firewall/tests/latest/recordings/test_azure_firewall_management_ip_config.yaml index c08cb014ef1..03f565035d0 100644 --- a/src/azure-firewall/azext_firewall/tests/latest/recordings/test_azure_firewall_management_ip_config.yaml +++ b/src/azure-firewall/azext_firewall/tests/latest/recordings/test_azure_firewall_management_ip_config.yaml @@ -285,7 +285,7 @@ interactions: accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip?api-version=2020-04-01 response: body: string: "{\r\n \"name\": \"pubip\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip\",\r\n @@ -391,7 +391,7 @@ interactions: - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip?api-version=2020-04-01 response: body: string: "{\r\n \"name\": \"pubip\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip\",\r\n @@ -502,7 +502,7 @@ interactions: accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip2?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip2?api-version=2020-04-01 response: body: string: "{\r\n \"name\": \"pubip2\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip2\",\r\n @@ -608,7 +608,7 @@ interactions: - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip2?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip2?api-version=2020-04-01 response: body: string: "{\r\n \"name\": \"pubip2\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip2\",\r\n @@ -719,7 +719,7 @@ interactions: accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip3?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip3?api-version=2020-04-01 response: body: string: "{\r\n \"name\": \"pubip3\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip3\",\r\n @@ -825,7 +825,7 @@ interactions: - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip3?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip3?api-version=2020-04-01 response: body: string: "{\r\n \"name\": \"pubip3\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip3\",\r\n @@ -936,7 +936,7 @@ interactions: accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip4?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip4?api-version=2020-04-01 response: body: string: "{\r\n \"name\": \"pubip4\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip4\",\r\n @@ -1042,7 +1042,7 @@ interactions: - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip4?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip4?api-version=2020-04-01 response: body: string: "{\r\n \"name\": \"pubip4\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip4\",\r\n @@ -1154,7 +1154,7 @@ interactions: accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet?api-version=2020-04-01 response: body: string: "{\r\n \"name\": \"myvnet\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet\",\r\n @@ -1269,7 +1269,7 @@ interactions: - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet?api-version=2020-04-01 response: body: string: "{\r\n \"name\": \"myvnet\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet\",\r\n @@ -1389,7 +1389,7 @@ interactions: accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet2?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet2?api-version=2020-04-01 response: body: string: "{\r\n \"name\": \"myvnet2\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet2\",\r\n @@ -1504,7 +1504,7 @@ interactions: - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet2?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet2?api-version=2020-04-01 response: body: string: "{\r\n \"name\": \"myvnet2\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet2\",\r\n @@ -1624,7 +1624,7 @@ interactions: accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet4?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet4?api-version=2020-04-01 response: body: string: "{\r\n \"name\": \"myvnet4\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet4\",\r\n @@ -1739,7 +1739,7 @@ interactions: - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet4?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet4?api-version=2020-04-01 response: body: string: "{\r\n \"name\": \"myvnet4\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet4\",\r\n diff --git a/src/azure-firewall/azext_firewall/tests/latest/recordings/test_azure_firewall_policy.yaml b/src/azure-firewall/azext_firewall/tests/latest/recordings/test_azure_firewall_policy.yaml index 0a692f35f60..4f94953ec7c 100644 --- a/src/azure-firewall/azext_firewall/tests/latest/recordings/test_azure_firewall_policy.yaml +++ b/src/azure-firewall/azext_firewall/tests/latest/recordings/test_azure_firewall_policy.yaml @@ -1,6 +1,7 @@ interactions: - request: - body: '{"location": "westcentralus"}' + body: '{"location": "eastus2euap", "properties": {"threatIntelWhitelist": {"ipAddresses": + ["101.0.0.0", "101.0.0.1"], "fqdns": ["*.microsoft.com"]}}}' headers: Accept: - application/json @@ -11,36 +12,40 @@ interactions: Connection: - keep-alive Content-Length: - - '29' + - '142' Content-Type: - application/json; charset=utf-8 ParameterSetName: - - -g -n -l + - -g -n -l --ip-addresses --fqdns User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-network/7.0.0 - Azure-SDK-For-Python AZURECLI/2.0.79 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy?api-version=2019-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy?api-version=2020-05-01 response: body: - string: "{\r\n \"properties\": {\r\n \"threatIntelMode\": \"Alert\",\r\n - \ \"childPolicies\": [],\r\n \"ruleGroups\": [],\r\n \"firewalls\": - [],\r\n \"provisioningState\": \"Updating\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy\",\r\n - \ \"name\": \"myclipolicy\",\r\n \"type\": \"Microsoft.Network/FirewallPolicies\",\r\n - \ \"etag\": \"2807a7a3-abab-49c0-9cfe-761ffb1d3403\",\r\n \"location\": \"westcentralus\"\r\n}" + string: "{\r\n \"properties\": {\r\n \"threatIntelMode\": \"Alert\",\r\n\ + \ \"threatIntelWhitelist\": {\r\n \"fqdns\": [\r\n \"*.microsoft.com\"\ + \r\n ],\r\n \"ipAddresses\": [\r\n \"101.0.0.0\",\r\n \ + \ \"101.0.0.1\"\r\n ]\r\n },\r\n \"childPolicies\": [],\r\n\ + \ \"ruleCollectionGroups\": [],\r\n \"firewalls\": [],\r\n \"provisioningState\"\ + : \"Updating\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy\"\ + ,\r\n \"name\": \"myclipolicy\",\r\n \"type\": \"Microsoft.Network/FirewallPolicies\"\ + ,\r\n \"etag\": \"5b007988-c622-4b0c-939d-3fa97e106e15\",\r\n \"location\"\ + : \"eastus2euap\"\r\n}" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westcentralus/nfvOperations/d4e9ae35-443e-4cfb-aaa3-932f82aab68d?api-version=2019-07-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus2euap/nfvOperations/1a1c5a22-3b40-44b7-8dba-61859ba716f5?api-version=2020-05-01 cache-control: - no-cache content-length: - - '539' + - '717' content-type: - application/json; charset=utf-8 date: - - Wed, 15 Jan 2020 14:07:25 GMT + - Thu, 18 Jun 2020 04:37:05 GMT expires: - '-1' pragma: @@ -68,12 +73,12 @@ interactions: Connection: - keep-alive ParameterSetName: - - -g -n -l + - -g -n -l --ip-addresses --fqdns User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-network/7.0.0 - Azure-SDK-For-Python AZURECLI/2.0.79 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westcentralus/nfvOperations/d4e9ae35-443e-4cfb-aaa3-932f82aab68d?api-version=2019-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus2euap/nfvOperations/1a1c5a22-3b40-44b7-8dba-61859ba716f5?api-version=2020-05-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -85,7 +90,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 15 Jan 2020 14:07:36 GMT + - Thu, 18 Jun 2020 04:37:16 GMT expires: - '-1' pragma: @@ -115,28 +120,32 @@ interactions: Connection: - keep-alive ParameterSetName: - - -g -n -l + - -g -n -l --ip-addresses --fqdns User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-network/7.0.0 - Azure-SDK-For-Python AZURECLI/2.0.79 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy?api-version=2019-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy?api-version=2020-05-01 response: body: - string: "{\r\n \"properties\": {\r\n \"threatIntelMode\": \"Alert\",\r\n - \ \"childPolicies\": [],\r\n \"ruleGroups\": [],\r\n \"firewalls\": - [],\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy\",\r\n - \ \"name\": \"myclipolicy\",\r\n \"type\": \"Microsoft.Network/FirewallPolicies\",\r\n - \ \"etag\": \"2807a7a3-abab-49c0-9cfe-761ffb1d3403\",\r\n \"location\": \"westcentralus\"\r\n}" + string: "{\r\n \"properties\": {\r\n \"threatIntelMode\": \"Alert\",\r\n\ + \ \"threatIntelWhitelist\": {\r\n \"fqdns\": [\r\n \"*.microsoft.com\"\ + \r\n ],\r\n \"ipAddresses\": [\r\n \"101.0.0.0\",\r\n \ + \ \"101.0.0.1\"\r\n ]\r\n },\r\n \"childPolicies\": [],\r\n\ + \ \"ruleCollectionGroups\": [],\r\n \"firewalls\": [],\r\n \"provisioningState\"\ + : \"Succeeded\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy\"\ + ,\r\n \"name\": \"myclipolicy\",\r\n \"type\": \"Microsoft.Network/FirewallPolicies\"\ + ,\r\n \"etag\": \"5b007988-c622-4b0c-939d-3fa97e106e15\",\r\n \"location\"\ + : \"eastus2euap\"\r\n}" headers: cache-control: - no-cache content-length: - - '540' + - '718' content-type: - application/json; charset=utf-8 date: - - Wed, 15 Jan 2020 14:07:37 GMT + - Thu, 18 Jun 2020 04:37:17 GMT expires: - '-1' pragma: @@ -168,28 +177,32 @@ interactions: ParameterSetName: - -g -n User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-network/7.0.0 - Azure-SDK-For-Python AZURECLI/2.0.79 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy?api-version=2019-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy?api-version=2020-05-01 response: body: - string: "{\r\n \"properties\": {\r\n \"threatIntelMode\": \"Alert\",\r\n - \ \"childPolicies\": [],\r\n \"ruleGroups\": [],\r\n \"firewalls\": - [],\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy\",\r\n - \ \"name\": \"myclipolicy\",\r\n \"type\": \"Microsoft.Network/FirewallPolicies\",\r\n - \ \"etag\": \"2807a7a3-abab-49c0-9cfe-761ffb1d3403\",\r\n \"location\": \"westcentralus\"\r\n}" + string: "{\r\n \"properties\": {\r\n \"threatIntelMode\": \"Alert\",\r\n\ + \ \"threatIntelWhitelist\": {\r\n \"fqdns\": [\r\n \"*.microsoft.com\"\ + \r\n ],\r\n \"ipAddresses\": [\r\n \"101.0.0.0\",\r\n \ + \ \"101.0.0.1\"\r\n ]\r\n },\r\n \"childPolicies\": [],\r\n\ + \ \"ruleCollectionGroups\": [],\r\n \"firewalls\": [],\r\n \"provisioningState\"\ + : \"Succeeded\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy\"\ + ,\r\n \"name\": \"myclipolicy\",\r\n \"type\": \"Microsoft.Network/FirewallPolicies\"\ + ,\r\n \"etag\": \"5b007988-c622-4b0c-939d-3fa97e106e15\",\r\n \"location\"\ + : \"eastus2euap\"\r\n}" headers: cache-control: - no-cache content-length: - - '540' + - '718' content-type: - application/json; charset=utf-8 date: - - Wed, 15 Jan 2020 14:07:41 GMT + - Thu, 18 Jun 2020 04:37:19 GMT expires: - '-1' pragma: @@ -221,30 +234,34 @@ interactions: ParameterSetName: - -g User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-network/7.0.0 - Azure-SDK-For-Python AZURECLI/2.0.79 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies?api-version=2019-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies?api-version=2020-05-01 response: body: - string: "{\r\n \"value\": [\r\n {\r\n \"properties\": {\r\n \"threatIntelMode\": - \"Alert\",\r\n \"childPolicies\": [],\r\n \"ruleGroups\": [],\r\n - \ \"firewalls\": [],\r\n \"provisioningState\": \"Succeeded\"\r\n - \ },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy\",\r\n - \ \"name\": \"myclipolicy\",\r\n \"type\": \"Microsoft.Network/FirewallPolicies\",\r\n - \ \"etag\": \"2807a7a3-abab-49c0-9cfe-761ffb1d3403\",\r\n \"location\": - \"westcentralus\"\r\n }\r\n ]\r\n}" + string: "{\r\n \"value\": [\r\n {\r\n \"properties\": {\r\n \ + \ \"threatIntelMode\": \"Alert\",\r\n \"threatIntelWhitelist\": {\r\ + \n \"fqdns\": [\r\n \"*.microsoft.com\"\r\n ],\r\ + \n \"ipAddresses\": [\r\n \"101.0.0.0\",\r\n \ + \ \"101.0.0.1\"\r\n ]\r\n },\r\n \"childPolicies\"\ + : [],\r\n \"ruleCollectionGroups\": [],\r\n \"firewalls\": [],\r\ + \n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"id\"\ + : \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy\"\ + ,\r\n \"name\": \"myclipolicy\",\r\n \"type\": \"Microsoft.Network/FirewallPolicies\"\ + ,\r\n \"etag\": \"5b007988-c622-4b0c-939d-3fa97e106e15\",\r\n \"\ + location\": \"eastus2euap\"\r\n }\r\n ]\r\n}" headers: cache-control: - no-cache content-length: - - '621' + - '835' content-type: - application/json; charset=utf-8 date: - - Wed, 15 Jan 2020 14:07:43 GMT + - Thu, 18 Jun 2020 04:37:20 GMT expires: - '-1' pragma: @@ -274,30 +291,34 @@ interactions: Connection: - keep-alive User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-network/7.0.0 - Azure-SDK-For-Python AZURECLI/2.0.79 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/firewallPolicies?api-version=2019-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/firewallPolicies?api-version=2020-05-01 response: body: - string: "{\r\n \"value\": [\r\n {\r\n \"properties\": {\r\n \"threatIntelMode\": - \"Alert\",\r\n \"childPolicies\": [],\r\n \"ruleGroups\": [],\r\n - \ \"firewalls\": [],\r\n \"provisioningState\": \"Succeeded\"\r\n - \ },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy\",\r\n - \ \"name\": \"myclipolicy\",\r\n \"type\": \"Microsoft.Network/FirewallPolicies\",\r\n - \ \"etag\": \"2807a7a3-abab-49c0-9cfe-761ffb1d3403\",\r\n \"location\": - \"westcentralus\"\r\n }\r\n ]\r\n}" + string: "{\r\n \"value\": [\r\n {\r\n \"properties\": {\r\n \ + \ \"threatIntelMode\": \"Alert\",\r\n \"threatIntelWhitelist\": {\r\ + \n \"fqdns\": [\r\n \"*.microsoft.com\"\r\n ],\r\ + \n \"ipAddresses\": [\r\n \"101.0.0.0\",\r\n \ + \ \"101.0.0.1\"\r\n ]\r\n },\r\n \"childPolicies\"\ + : [],\r\n \"ruleCollectionGroups\": [],\r\n \"firewalls\": [],\r\ + \n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"id\"\ + : \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy\"\ + ,\r\n \"name\": \"myclipolicy\",\r\n \"type\": \"Microsoft.Network/FirewallPolicies\"\ + ,\r\n \"etag\": \"5b007988-c622-4b0c-939d-3fa97e106e15\",\r\n \"\ + location\": \"eastus2euap\"\r\n }\r\n ]\r\n}" headers: cache-control: - no-cache content-length: - - '621' + - '835' content-type: - application/json; charset=utf-8 date: - - Wed, 15 Jan 2020 14:07:45 GMT + - Thu, 18 Jun 2020 04:37:21 GMT expires: - '-1' pragma: @@ -327,30 +348,34 @@ interactions: Connection: - keep-alive ParameterSetName: - - -g -n --threat-intel-mode + - -g -n --threat-intel-mode --ip-addresses --fqdns User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-network/7.0.0 - Azure-SDK-For-Python AZURECLI/2.0.79 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy?api-version=2019-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy?api-version=2020-05-01 response: body: - string: "{\r\n \"properties\": {\r\n \"threatIntelMode\": \"Alert\",\r\n - \ \"childPolicies\": [],\r\n \"ruleGroups\": [],\r\n \"firewalls\": - [],\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy\",\r\n - \ \"name\": \"myclipolicy\",\r\n \"type\": \"Microsoft.Network/FirewallPolicies\",\r\n - \ \"etag\": \"2807a7a3-abab-49c0-9cfe-761ffb1d3403\",\r\n \"location\": \"westcentralus\"\r\n}" + string: "{\r\n \"properties\": {\r\n \"threatIntelMode\": \"Alert\",\r\n\ + \ \"threatIntelWhitelist\": {\r\n \"fqdns\": [\r\n \"*.microsoft.com\"\ + \r\n ],\r\n \"ipAddresses\": [\r\n \"101.0.0.0\",\r\n \ + \ \"101.0.0.1\"\r\n ]\r\n },\r\n \"childPolicies\": [],\r\n\ + \ \"ruleCollectionGroups\": [],\r\n \"firewalls\": [],\r\n \"provisioningState\"\ + : \"Succeeded\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy\"\ + ,\r\n \"name\": \"myclipolicy\",\r\n \"type\": \"Microsoft.Network/FirewallPolicies\"\ + ,\r\n \"etag\": \"5b007988-c622-4b0c-939d-3fa97e106e15\",\r\n \"location\"\ + : \"eastus2euap\"\r\n}" headers: cache-control: - no-cache content-length: - - '540' + - '718' content-type: - application/json; charset=utf-8 date: - - Wed, 15 Jan 2020 14:07:47 GMT + - Thu, 18 Jun 2020 04:37:23 GMT expires: - '-1' pragma: @@ -370,8 +395,8 @@ interactions: message: OK - request: body: 'b''{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy", - "location": "westcentralus", "properties": {"provisioningState": "Succeeded", - "threatIntelMode": "Deny"}}''' + "location": "eastus2euap", "properties": {"threatIntelMode": "Deny", "threatIntelWhitelist": + {"ipAddresses": ["102.0.0.0", "102.0.0.1"], "fqdns": ["*.google.com"]}}}''' headers: Accept: - application/json @@ -382,36 +407,40 @@ interactions: Connection: - keep-alive Content-Length: - - '315' + - '375' Content-Type: - application/json; charset=utf-8 ParameterSetName: - - -g -n --threat-intel-mode + - -g -n --threat-intel-mode --ip-addresses --fqdns User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-network/7.0.0 - Azure-SDK-For-Python AZURECLI/2.0.79 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy?api-version=2019-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy?api-version=2020-05-01 response: body: - string: "{\r\n \"properties\": {\r\n \"threatIntelMode\": \"Deny\",\r\n - \ \"childPolicies\": [],\r\n \"ruleGroups\": [],\r\n \"firewalls\": - [],\r\n \"provisioningState\": \"Updating\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy\",\r\n - \ \"name\": \"myclipolicy\",\r\n \"type\": \"Microsoft.Network/FirewallPolicies\",\r\n - \ \"etag\": \"5ea0bff0-12d9-458f-8974-ac57f2fb5fb3\",\r\n \"location\": \"westcentralus\"\r\n}" + string: "{\r\n \"properties\": {\r\n \"threatIntelMode\": \"Deny\",\r\n\ + \ \"threatIntelWhitelist\": {\r\n \"fqdns\": [\r\n \"*.google.com\"\ + \r\n ],\r\n \"ipAddresses\": [\r\n \"102.0.0.0\",\r\n \ + \ \"102.0.0.1\"\r\n ]\r\n },\r\n \"childPolicies\": [],\r\n\ + \ \"ruleCollectionGroups\": [],\r\n \"firewalls\": [],\r\n \"provisioningState\"\ + : \"Updating\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy\"\ + ,\r\n \"name\": \"myclipolicy\",\r\n \"type\": \"Microsoft.Network/FirewallPolicies\"\ + ,\r\n \"etag\": \"9fafced2-28a4-43bc-a586-edd05d56f35c\",\r\n \"location\"\ + : \"eastus2euap\"\r\n}" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westcentralus/nfvOperations/8eca045d-097d-4bc8-bcb1-dae6b671c46f?api-version=2019-07-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus2euap/nfvOperations/4293ce8d-f651-451c-8f4b-4b4514c22fe1?api-version=2020-05-01 cache-control: - no-cache content-length: - - '538' + - '713' content-type: - application/json; charset=utf-8 date: - - Wed, 15 Jan 2020 14:07:49 GMT + - Thu, 18 Jun 2020 04:37:26 GMT expires: - '-1' pragma: @@ -443,12 +472,12 @@ interactions: Connection: - keep-alive ParameterSetName: - - -g -n --threat-intel-mode + - -g -n --threat-intel-mode --ip-addresses --fqdns User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-network/7.0.0 - Azure-SDK-For-Python AZURECLI/2.0.79 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westcentralus/nfvOperations/8eca045d-097d-4bc8-bcb1-dae6b671c46f?api-version=2019-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus2euap/nfvOperations/4293ce8d-f651-451c-8f4b-4b4514c22fe1?api-version=2020-05-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -460,7 +489,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 15 Jan 2020 14:08:00 GMT + - Thu, 18 Jun 2020 04:37:38 GMT expires: - '-1' pragma: @@ -490,28 +519,32 @@ interactions: Connection: - keep-alive ParameterSetName: - - -g -n --threat-intel-mode + - -g -n --threat-intel-mode --ip-addresses --fqdns User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-network/7.0.0 - Azure-SDK-For-Python AZURECLI/2.0.79 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy?api-version=2019-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy?api-version=2020-05-01 response: body: - string: "{\r\n \"properties\": {\r\n \"threatIntelMode\": \"Deny\",\r\n - \ \"childPolicies\": [],\r\n \"ruleGroups\": [],\r\n \"firewalls\": - [],\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy\",\r\n - \ \"name\": \"myclipolicy\",\r\n \"type\": \"Microsoft.Network/FirewallPolicies\",\r\n - \ \"etag\": \"5ea0bff0-12d9-458f-8974-ac57f2fb5fb3\",\r\n \"location\": \"westcentralus\"\r\n}" + string: "{\r\n \"properties\": {\r\n \"threatIntelMode\": \"Deny\",\r\n\ + \ \"threatIntelWhitelist\": {\r\n \"fqdns\": [\r\n \"*.google.com\"\ + \r\n ],\r\n \"ipAddresses\": [\r\n \"102.0.0.0\",\r\n \ + \ \"102.0.0.1\"\r\n ]\r\n },\r\n \"childPolicies\": [],\r\n\ + \ \"ruleCollectionGroups\": [],\r\n \"firewalls\": [],\r\n \"provisioningState\"\ + : \"Succeeded\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy\"\ + ,\r\n \"name\": \"myclipolicy\",\r\n \"type\": \"Microsoft.Network/FirewallPolicies\"\ + ,\r\n \"etag\": \"9fafced2-28a4-43bc-a586-edd05d56f35c\",\r\n \"location\"\ + : \"eastus2euap\"\r\n}" headers: cache-control: - no-cache content-length: - - '539' + - '714' content-type: - application/json; charset=utf-8 date: - - Wed, 15 Jan 2020 14:08:01 GMT + - Thu, 18 Jun 2020 04:37:39 GMT expires: - '-1' pragma: @@ -529,51 +562,6 @@ interactions: status: code: 200 message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network firewall policy rule-collection-group create - Connection: - - keep-alive - ParameterSetName: - - -g --priority --policy-name -n - User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-resource/6.0.0 - Azure-SDK-For-Python AZURECLI/2.0.79 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_azure_firewall_policy000001?api-version=2019-07-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001","name":"cli_test_azure_firewall_policy000001","type":"Microsoft.Resources/resourceGroups","location":"westcentralus","tags":{"product":"azurecli","cause":"automation","date":"2020-01-15T14:07:06Z"},"properties":{"provisioningState":"Succeeded"}}' - headers: - cache-control: - - no-cache - content-length: - - '435' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 15 Jan 2020 14:08:02 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK - request: body: '{"properties": {"priority": 10000}, "name": "myclirulecollectiongroup"}' headers: @@ -592,29 +580,30 @@ interactions: ParameterSetName: - -g --priority --policy-name -n User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-network/7.0.0 - Azure-SDK-For-Python AZURECLI/2.0.79 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleGroups/myclirulecollectiongroup?api-version=2019-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleCollectionGroups/myclirulecollectiongroup?api-version=2020-05-01 response: body: - string: "{\r\n \"properties\": {\r\n \"priority\": 10000,\r\n \"rules\": - [],\r\n \"provisioningState\": \"Updating\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleGroups/myclirulecollectiongroup\",\r\n - \ \"name\": \"myclirulecollectiongroup\",\r\n \"type\": \"Microsoft.Network/RuleGroups\",\r\n - \ \"etag\": \"593cf47a-efcc-45e7-9af0-982280329004\",\r\n \"location\": \"westcentralus\"\r\n}" + string: "{\r\n \"properties\": {\r\n \"priority\": 10000,\r\n \"ruleCollections\"\ + : [],\r\n \"provisioningState\": \"Updating\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleCollectionGroups/myclirulecollectiongroup\"\ + ,\r\n \"name\": \"myclirulecollectiongroup\",\r\n \"type\": \"Microsoft.Network/RuleCollectionGroups\"\ + ,\r\n \"etag\": \"34b33746-eb82-43d1-ad57-7f8ba29dbbc5\",\r\n \"location\"\ + : \"eastus2euap\"\r\n}" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westcentralus/nfvOperations/18bb7d28-59c2-498d-8c04-33eab3bf6601?api-version=2019-07-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus2euap/nfvOperations/cbce6cd6-e07a-4df4-b1f6-346edcdcfba1?api-version=2020-05-01 cache-control: - no-cache content-length: - - '520' + - '548' content-type: - application/json; charset=utf-8 date: - - Wed, 15 Jan 2020 14:08:04 GMT + - Thu, 18 Jun 2020 04:37:43 GMT expires: - '-1' pragma: @@ -626,7 +615,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1195' + - '1197' status: code: 201 message: Created @@ -644,10 +633,10 @@ interactions: ParameterSetName: - -g --priority --policy-name -n User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-network/7.0.0 - Azure-SDK-For-Python AZURECLI/2.0.79 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westcentralus/nfvOperations/18bb7d28-59c2-498d-8c04-33eab3bf6601?api-version=2019-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus2euap/nfvOperations/cbce6cd6-e07a-4df4-b1f6-346edcdcfba1?api-version=2020-05-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -659,7 +648,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 15 Jan 2020 14:08:15 GMT + - Thu, 18 Jun 2020 04:37:55 GMT expires: - '-1' pragma: @@ -691,25 +680,27 @@ interactions: ParameterSetName: - -g --priority --policy-name -n User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-network/7.0.0 - Azure-SDK-For-Python AZURECLI/2.0.79 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleGroups/myclirulecollectiongroup?api-version=2019-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleCollectionGroups/myclirulecollectiongroup?api-version=2020-05-01 response: body: - string: "{\r\n \"properties\": {\r\n \"priority\": 10000,\r\n \"rules\": - [],\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleGroups/myclirulecollectiongroup\",\r\n - \ \"name\": \"myclirulecollectiongroup\",\r\n \"type\": \"Microsoft.Network/RuleGroups\",\r\n - \ \"etag\": \"593cf47a-efcc-45e7-9af0-982280329004\",\r\n \"location\": \"westcentralus\"\r\n}" + string: "{\r\n \"properties\": {\r\n \"priority\": 10000,\r\n \"ruleCollections\"\ + : [],\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"id\": \"\ + /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleCollectionGroups/myclirulecollectiongroup\"\ + ,\r\n \"name\": \"myclirulecollectiongroup\",\r\n \"type\": \"Microsoft.Network/RuleCollectionGroups\"\ + ,\r\n \"etag\": \"34b33746-eb82-43d1-ad57-7f8ba29dbbc5\",\r\n \"location\"\ + : \"eastus2euap\"\r\n}" headers: cache-control: - no-cache content-length: - - '521' + - '549' content-type: - application/json; charset=utf-8 date: - - Wed, 15 Jan 2020 14:08:16 GMT + - Thu, 18 Jun 2020 04:37:56 GMT expires: - '-1' pragma: @@ -741,27 +732,29 @@ interactions: ParameterSetName: - -g --policy-name -n User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-network/7.0.0 - Azure-SDK-For-Python AZURECLI/2.0.79 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleGroups/myclirulecollectiongroup?api-version=2019-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleCollectionGroups/myclirulecollectiongroup?api-version=2020-05-01 response: body: - string: "{\r\n \"properties\": {\r\n \"priority\": 10000,\r\n \"rules\": - [],\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleGroups/myclirulecollectiongroup\",\r\n - \ \"name\": \"myclirulecollectiongroup\",\r\n \"type\": \"Microsoft.Network/RuleGroups\",\r\n - \ \"etag\": \"593cf47a-efcc-45e7-9af0-982280329004\",\r\n \"location\": \"westcentralus\"\r\n}" + string: "{\r\n \"properties\": {\r\n \"priority\": 10000,\r\n \"ruleCollections\"\ + : [],\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"id\": \"\ + /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleCollectionGroups/myclirulecollectiongroup\"\ + ,\r\n \"name\": \"myclirulecollectiongroup\",\r\n \"type\": \"Microsoft.Network/RuleCollectionGroups\"\ + ,\r\n \"etag\": \"34b33746-eb82-43d1-ad57-7f8ba29dbbc5\",\r\n \"location\"\ + : \"eastus2euap\"\r\n}" headers: cache-control: - no-cache content-length: - - '521' + - '549' content-type: - application/json; charset=utf-8 date: - - Wed, 15 Jan 2020 14:08:18 GMT + - Thu, 18 Jun 2020 04:37:58 GMT expires: - '-1' pragma: @@ -793,29 +786,29 @@ interactions: ParameterSetName: - -g --policy-name User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-network/7.0.0 - Azure-SDK-For-Python AZURECLI/2.0.79 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleGroups?api-version=2019-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleCollectionGroups?api-version=2020-05-01 response: body: - string: "{\r\n \"value\": [\r\n {\r\n \"properties\": {\r\n \"priority\": - 10000,\r\n \"rules\": [],\r\n \"provisioningState\": \"Succeeded\"\r\n - \ },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleGroups/myclirulecollectiongroup\",\r\n - \ \"name\": \"myclirulecollectiongroup\",\r\n \"type\": \"Microsoft.Network/RuleGroups\",\r\n - \ \"etag\": \"593cf47a-efcc-45e7-9af0-982280329004\",\r\n \"location\": - \"westcentralus\"\r\n }\r\n ]\r\n}" + string: "{\r\n \"value\": [\r\n {\r\n \"properties\": {\r\n \ + \ \"priority\": 10000,\r\n \"ruleCollections\": [],\r\n \"provisioningState\"\ + : \"Succeeded\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleCollectionGroups/myclirulecollectiongroup\"\ + ,\r\n \"name\": \"myclirulecollectiongroup\",\r\n \"type\": \"Microsoft.Network/RuleCollectionGroups\"\ + ,\r\n \"etag\": \"34b33746-eb82-43d1-ad57-7f8ba29dbbc5\",\r\n \"\ + location\": \"eastus2euap\"\r\n }\r\n ]\r\n}" headers: cache-control: - no-cache content-length: - - '594' + - '622' content-type: - application/json; charset=utf-8 date: - - Wed, 15 Jan 2020 14:08:19 GMT + - Thu, 18 Jun 2020 04:37:59 GMT expires: - '-1' pragma: @@ -847,27 +840,29 @@ interactions: ParameterSetName: - -g --policy-name -n --priority User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-network/7.0.0 - Azure-SDK-For-Python AZURECLI/2.0.79 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleGroups/myclirulecollectiongroup?api-version=2019-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleCollectionGroups/myclirulecollectiongroup?api-version=2020-05-01 response: body: - string: "{\r\n \"properties\": {\r\n \"priority\": 10000,\r\n \"rules\": - [],\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleGroups/myclirulecollectiongroup\",\r\n - \ \"name\": \"myclirulecollectiongroup\",\r\n \"type\": \"Microsoft.Network/RuleGroups\",\r\n - \ \"etag\": \"593cf47a-efcc-45e7-9af0-982280329004\",\r\n \"location\": \"westcentralus\"\r\n}" + string: "{\r\n \"properties\": {\r\n \"priority\": 10000,\r\n \"ruleCollections\"\ + : [],\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"id\": \"\ + /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleCollectionGroups/myclirulecollectiongroup\"\ + ,\r\n \"name\": \"myclirulecollectiongroup\",\r\n \"type\": \"Microsoft.Network/RuleCollectionGroups\"\ + ,\r\n \"etag\": \"34b33746-eb82-43d1-ad57-7f8ba29dbbc5\",\r\n \"location\"\ + : \"eastus2euap\"\r\n}" headers: cache-control: - no-cache content-length: - - '521' + - '549' content-type: - application/json; charset=utf-8 date: - - Wed, 15 Jan 2020 14:08:22 GMT + - Thu, 18 Jun 2020 04:38:00 GMT expires: - '-1' pragma: @@ -886,9 +881,8 @@ interactions: code: 200 message: OK - request: - body: 'b''{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleGroups/myclirulecollectiongroup", - "properties": {"priority": 12000, "rules": [], "provisioningState": "Succeeded"}, - "name": "myclirulecollectiongroup"}''' + body: 'b''{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleCollectionGroups/myclirulecollectiongroup", + "properties": {"priority": 12000, "ruleCollections": []}, "name": "myclirulecollectiongroup"}''' headers: Accept: - application/json @@ -899,35 +893,36 @@ interactions: Connection: - keep-alive Content-Length: - - '363' + - '349' Content-Type: - application/json; charset=utf-8 ParameterSetName: - -g --policy-name -n --priority User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-network/7.0.0 - Azure-SDK-For-Python AZURECLI/2.0.79 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleGroups/myclirulecollectiongroup?api-version=2019-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleCollectionGroups/myclirulecollectiongroup?api-version=2020-05-01 response: body: - string: "{\r\n \"properties\": {\r\n \"priority\": 12000,\r\n \"rules\": - [],\r\n \"provisioningState\": \"Updating\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleGroups/myclirulecollectiongroup\",\r\n - \ \"name\": \"myclirulecollectiongroup\",\r\n \"type\": \"Microsoft.Network/RuleGroups\",\r\n - \ \"etag\": \"fb36d0a6-8beb-49db-ae11-efc052811d55\",\r\n \"location\": \"westcentralus\"\r\n}" + string: "{\r\n \"properties\": {\r\n \"priority\": 12000,\r\n \"ruleCollections\"\ + : [],\r\n \"provisioningState\": \"Updating\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleCollectionGroups/myclirulecollectiongroup\"\ + ,\r\n \"name\": \"myclirulecollectiongroup\",\r\n \"type\": \"Microsoft.Network/RuleCollectionGroups\"\ + ,\r\n \"etag\": \"9f5807b0-641e-45c1-a76f-e17f0cd11a23\",\r\n \"location\"\ + : \"eastus2euap\"\r\n}" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westcentralus/nfvOperations/3d77b90e-b64a-4ab7-a890-829239f81abd?api-version=2019-07-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus2euap/nfvOperations/c0ff9486-6d86-414e-9648-289390b4c77f?api-version=2020-05-01 cache-control: - no-cache content-length: - - '520' + - '548' content-type: - application/json; charset=utf-8 date: - - Wed, 15 Jan 2020 14:08:23 GMT + - Thu, 18 Jun 2020 04:38:03 GMT expires: - '-1' pragma: @@ -943,7 +938,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1196' status: code: 200 message: OK @@ -961,10 +956,10 @@ interactions: ParameterSetName: - -g --policy-name -n --priority User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-network/7.0.0 - Azure-SDK-For-Python AZURECLI/2.0.79 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westcentralus/nfvOperations/3d77b90e-b64a-4ab7-a890-829239f81abd?api-version=2019-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus2euap/nfvOperations/c0ff9486-6d86-414e-9648-289390b4c77f?api-version=2020-05-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -976,7 +971,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 15 Jan 2020 14:08:35 GMT + - Thu, 18 Jun 2020 04:38:15 GMT expires: - '-1' pragma: @@ -1008,25 +1003,27 @@ interactions: ParameterSetName: - -g --policy-name -n --priority User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-network/7.0.0 - Azure-SDK-For-Python AZURECLI/2.0.79 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleGroups/myclirulecollectiongroup?api-version=2019-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleCollectionGroups/myclirulecollectiongroup?api-version=2020-05-01 response: body: - string: "{\r\n \"properties\": {\r\n \"priority\": 12000,\r\n \"rules\": - [],\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleGroups/myclirulecollectiongroup\",\r\n - \ \"name\": \"myclirulecollectiongroup\",\r\n \"type\": \"Microsoft.Network/RuleGroups\",\r\n - \ \"etag\": \"fb36d0a6-8beb-49db-ae11-efc052811d55\",\r\n \"location\": \"westcentralus\"\r\n}" + string: "{\r\n \"properties\": {\r\n \"priority\": 12000,\r\n \"ruleCollections\"\ + : [],\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"id\": \"\ + /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleCollectionGroups/myclirulecollectiongroup\"\ + ,\r\n \"name\": \"myclirulecollectiongroup\",\r\n \"type\": \"Microsoft.Network/RuleCollectionGroups\"\ + ,\r\n \"etag\": \"9f5807b0-641e-45c1-a76f-e17f0cd11a23\",\r\n \"location\"\ + : \"eastus2euap\"\r\n}" headers: cache-control: - no-cache content-length: - - '521' + - '549' content-type: - application/json; charset=utf-8 date: - - Wed, 15 Jan 2020 14:08:36 GMT + - Thu, 18 Jun 2020 04:38:16 GMT expires: - '-1' pragma: @@ -1060,27 +1057,29 @@ interactions: --rule-name --description --destination-addresses --source-addresses --translated-address --translated-port --destination-ports --ip-protocols User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-network/7.0.0 - Azure-SDK-For-Python AZURECLI/2.0.79 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleGroups/myclirulecollectiongroup?api-version=2019-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleCollectionGroups/myclirulecollectiongroup?api-version=2020-05-01 response: body: - string: "{\r\n \"properties\": {\r\n \"priority\": 12000,\r\n \"rules\": - [],\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleGroups/myclirulecollectiongroup\",\r\n - \ \"name\": \"myclirulecollectiongroup\",\r\n \"type\": \"Microsoft.Network/RuleGroups\",\r\n - \ \"etag\": \"fb36d0a6-8beb-49db-ae11-efc052811d55\",\r\n \"location\": \"westcentralus\"\r\n}" + string: "{\r\n \"properties\": {\r\n \"priority\": 12000,\r\n \"ruleCollections\"\ + : [],\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"id\": \"\ + /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleCollectionGroups/myclirulecollectiongroup\"\ + ,\r\n \"name\": \"myclirulecollectiongroup\",\r\n \"type\": \"Microsoft.Network/RuleCollectionGroups\"\ + ,\r\n \"etag\": \"9f5807b0-641e-45c1-a76f-e17f0cd11a23\",\r\n \"location\"\ + : \"eastus2euap\"\r\n}" headers: cache-control: - no-cache content-length: - - '521' + - '549' content-type: - application/json; charset=utf-8 date: - - Wed, 15 Jan 2020 14:08:38 GMT + - Thu, 18 Jun 2020 04:38:16 GMT expires: - '-1' pragma: @@ -1099,14 +1098,14 @@ interactions: code: 200 message: OK - request: - body: 'b''{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleGroups/myclirulecollectiongroup", - "properties": {"priority": 12000, "rules": [{"name": "nat-collection", "priority": - 10005, "ruleType": "FirewallPolicyNatRule", "action": {"type": "DNAT"}, "translatedAddress": - "128.1.1.1", "translatedPort": "1234", "ruleCondition": {"name": "network-rule", - "description": "test", "ruleConditionType": "NetworkRuleCondition", "ipProtocols": - ["TCP", "UDP"], "sourceAddresses": ["202.120.36.13", "202.120.36.14"], "destinationAddresses": - ["202.120.36.15"], "destinationPorts": ["12000", "12001"]}}], "provisioningState": - "Succeeded"}, "name": "myclirulecollectiongroup"}''' + body: 'b''{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleCollectionGroups/myclirulecollectiongroup", + "properties": {"priority": 12000, "ruleCollections": [{"name": "nat-collection", + "priority": 10005, "ruleCollectionType": "FirewallPolicyNatRuleCollection", + "action": {"type": "DNAT"}, "rules": [{"name": "network-rule", "description": + "test", "ruleType": "NatRule", "ipProtocols": ["TCP", "UDP"], "sourceAddresses": + ["202.120.36.13", "202.120.36.14"], "destinationAddresses": ["202.120.36.15"], + "destinationPorts": ["12000", "12001"], "translatedAddress": "128.1.1.1", "translatedPort": + "1234"}]}]}, "name": "myclirulecollectiongroup"}''' headers: Accept: - application/json @@ -1117,7 +1116,7 @@ interactions: Connection: - keep-alive Content-Length: - - '813' + - '791' Content-Type: - application/json; charset=utf-8 ParameterSetName: @@ -1125,40 +1124,43 @@ interactions: --rule-name --description --destination-addresses --source-addresses --translated-address --translated-port --destination-ports --ip-protocols User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-network/7.0.0 - Azure-SDK-For-Python AZURECLI/2.0.79 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleGroups/myclirulecollectiongroup?api-version=2019-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleCollectionGroups/myclirulecollectiongroup?api-version=2020-05-01 response: body: - string: "{\r\n \"properties\": {\r\n \"priority\": 12000,\r\n \"rules\": - [\r\n {\r\n \"ruleType\": \"FirewallPolicyNatRule\",\r\n \"action\": - {\r\n \"type\": \"Dnat\"\r\n },\r\n \"translatedAddress\": - \"128.1.1.1\",\r\n \"translatedPort\": \"1234\",\r\n \"ruleCondition\": - {\r\n \"ruleConditionType\": \"NetworkRuleCondition\",\r\n \"name\": - \"network-rule\",\r\n \"ipProtocols\": [\r\n \"TCP\",\r\n - \ \"UDP\"\r\n ],\r\n \"sourceAddresses\": [\r\n - \ \"202.120.36.13\",\r\n \"202.120.36.14\"\r\n ],\r\n - \ \"destinationAddresses\": [\r\n \"202.120.36.15\"\r\n - \ ],\r\n \"destinationPorts\": [\r\n \"12000\",\r\n - \ \"12001\"\r\n ]\r\n },\r\n \"name\": \"nat-collection\",\r\n - \ \"priority\": 10005\r\n }\r\n ],\r\n \"provisioningState\": - \"Updating\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleGroups/myclirulecollectiongroup\",\r\n - \ \"name\": \"myclirulecollectiongroup\",\r\n \"type\": \"Microsoft.Network/RuleGroups\",\r\n - \ \"etag\": \"261fcddb-f7a9-4d8a-95a9-2e0febf1077d\",\r\n \"location\": \"westcentralus\"\r\n}" + string: "{\r\n \"properties\": {\r\n \"priority\": 12000,\r\n \"ruleCollections\"\ + : [\r\n {\r\n \"ruleCollectionType\": \"FirewallPolicyNatRuleCollection\"\ + ,\r\n \"action\": {\r\n \"type\": \"Dnat\"\r\n },\r\ + \n \"rules\": [\r\n {\r\n \"ruleType\": \"NatRule\"\ + ,\r\n \"name\": \"network-rule\",\r\n \"translatedAddress\"\ + : \"128.1.1.1\",\r\n \"translatedPort\": \"1234\",\r\n \ + \ \"ipProtocols\": [\r\n \"TCP\",\r\n \"UDP\"\ + \r\n ],\r\n \"sourceAddresses\": [\r\n \ + \ \"202.120.36.13\",\r\n \"202.120.36.14\"\r\n ],\r\ + \n \"sourceIpGroups\": [],\r\n \"destinationAddresses\"\ + : [\r\n \"202.120.36.15\"\r\n ],\r\n \"\ + destinationPorts\": [\r\n \"12000\",\r\n \"12001\"\ + \r\n ]\r\n }\r\n ],\r\n \"name\": \"nat-collection\"\ + ,\r\n \"priority\": 10005\r\n }\r\n ],\r\n \"provisioningState\"\ + : \"Updating\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleCollectionGroups/myclirulecollectiongroup\"\ + ,\r\n \"name\": \"myclirulecollectiongroup\",\r\n \"type\": \"Microsoft.Network/RuleCollectionGroups\"\ + ,\r\n \"etag\": \"44d0c20b-f925-4b91-9018-50721c4380df\",\r\n \"location\"\ + : \"eastus2euap\"\r\n}" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westcentralus/nfvOperations/e0aff959-8baf-4fea-bdee-1484bf36439b?api-version=2019-07-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus2euap/nfvOperations/e4f19a91-c2df-42c8-bae5-f82467b551d2?api-version=2020-05-01 cache-control: - no-cache content-length: - - '1275' + - '1396' content-type: - application/json; charset=utf-8 date: - - Wed, 15 Jan 2020 14:08:39 GMT + - Thu, 18 Jun 2020 04:38:19 GMT expires: - '-1' pragma: @@ -1194,10 +1196,10 @@ interactions: --rule-name --description --destination-addresses --source-addresses --translated-address --translated-port --destination-ports --ip-protocols User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-network/7.0.0 - Azure-SDK-For-Python AZURECLI/2.0.79 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westcentralus/nfvOperations/e0aff959-8baf-4fea-bdee-1484bf36439b?api-version=2019-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus2euap/nfvOperations/e4f19a91-c2df-42c8-bae5-f82467b551d2?api-version=2020-05-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -1209,7 +1211,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 15 Jan 2020 14:08:50 GMT + - Thu, 18 Jun 2020 04:38:31 GMT expires: - '-1' pragma: @@ -1243,36 +1245,39 @@ interactions: --rule-name --description --destination-addresses --source-addresses --translated-address --translated-port --destination-ports --ip-protocols User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-network/7.0.0 - Azure-SDK-For-Python AZURECLI/2.0.79 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleGroups/myclirulecollectiongroup?api-version=2019-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleCollectionGroups/myclirulecollectiongroup?api-version=2020-05-01 response: body: - string: "{\r\n \"properties\": {\r\n \"priority\": 12000,\r\n \"rules\": - [\r\n {\r\n \"ruleType\": \"FirewallPolicyNatRule\",\r\n \"action\": - {\r\n \"type\": \"Dnat\"\r\n },\r\n \"translatedAddress\": - \"128.1.1.1\",\r\n \"translatedPort\": \"1234\",\r\n \"ruleCondition\": - {\r\n \"ruleConditionType\": \"NetworkRuleCondition\",\r\n \"name\": - \"network-rule\",\r\n \"ipProtocols\": [\r\n \"TCP\",\r\n - \ \"UDP\"\r\n ],\r\n \"sourceAddresses\": [\r\n - \ \"202.120.36.13\",\r\n \"202.120.36.14\"\r\n ],\r\n - \ \"destinationAddresses\": [\r\n \"202.120.36.15\"\r\n - \ ],\r\n \"destinationPorts\": [\r\n \"12000\",\r\n - \ \"12001\"\r\n ]\r\n },\r\n \"name\": \"nat-collection\",\r\n - \ \"priority\": 10005\r\n }\r\n ],\r\n \"provisioningState\": - \"Succeeded\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleGroups/myclirulecollectiongroup\",\r\n - \ \"name\": \"myclirulecollectiongroup\",\r\n \"type\": \"Microsoft.Network/RuleGroups\",\r\n - \ \"etag\": \"261fcddb-f7a9-4d8a-95a9-2e0febf1077d\",\r\n \"location\": \"westcentralus\"\r\n}" + string: "{\r\n \"properties\": {\r\n \"priority\": 12000,\r\n \"ruleCollections\"\ + : [\r\n {\r\n \"ruleCollectionType\": \"FirewallPolicyNatRuleCollection\"\ + ,\r\n \"action\": {\r\n \"type\": \"Dnat\"\r\n },\r\ + \n \"rules\": [\r\n {\r\n \"ruleType\": \"NatRule\"\ + ,\r\n \"name\": \"network-rule\",\r\n \"translatedAddress\"\ + : \"128.1.1.1\",\r\n \"translatedPort\": \"1234\",\r\n \ + \ \"ipProtocols\": [\r\n \"TCP\",\r\n \"UDP\"\ + \r\n ],\r\n \"sourceAddresses\": [\r\n \ + \ \"202.120.36.13\",\r\n \"202.120.36.14\"\r\n ],\r\ + \n \"sourceIpGroups\": [],\r\n \"destinationAddresses\"\ + : [\r\n \"202.120.36.15\"\r\n ],\r\n \"\ + destinationPorts\": [\r\n \"12000\",\r\n \"12001\"\ + \r\n ]\r\n }\r\n ],\r\n \"name\": \"nat-collection\"\ + ,\r\n \"priority\": 10005\r\n }\r\n ],\r\n \"provisioningState\"\ + : \"Succeeded\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleCollectionGroups/myclirulecollectiongroup\"\ + ,\r\n \"name\": \"myclirulecollectiongroup\",\r\n \"type\": \"Microsoft.Network/RuleCollectionGroups\"\ + ,\r\n \"etag\": \"44d0c20b-f925-4b91-9018-50721c4380df\",\r\n \"location\"\ + : \"eastus2euap\"\r\n}" headers: cache-control: - no-cache content-length: - - '1276' + - '1397' content-type: - application/json; charset=utf-8 date: - - Wed, 15 Jan 2020 14:08:50 GMT + - Thu, 18 Jun 2020 04:38:32 GMT expires: - '-1' pragma: @@ -1306,38 +1311,41 @@ interactions: --rule-name --rule-type --description --destination-addresses --source-addresses --destination-ports --ip-protocols User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-network/7.0.0 - Azure-SDK-For-Python AZURECLI/2.0.79 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleGroups/myclirulecollectiongroup?api-version=2019-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleCollectionGroups/myclirulecollectiongroup?api-version=2020-05-01 response: body: - string: "{\r\n \"properties\": {\r\n \"priority\": 12000,\r\n \"rules\": - [\r\n {\r\n \"ruleType\": \"FirewallPolicyNatRule\",\r\n \"action\": - {\r\n \"type\": \"Dnat\"\r\n },\r\n \"translatedAddress\": - \"128.1.1.1\",\r\n \"translatedPort\": \"1234\",\r\n \"ruleCondition\": - {\r\n \"ruleConditionType\": \"NetworkRuleCondition\",\r\n \"name\": - \"network-rule\",\r\n \"ipProtocols\": [\r\n \"TCP\",\r\n - \ \"UDP\"\r\n ],\r\n \"sourceAddresses\": [\r\n - \ \"202.120.36.13\",\r\n \"202.120.36.14\"\r\n ],\r\n - \ \"destinationAddresses\": [\r\n \"202.120.36.15\"\r\n - \ ],\r\n \"destinationPorts\": [\r\n \"12000\",\r\n - \ \"12001\"\r\n ]\r\n },\r\n \"name\": \"nat-collection\",\r\n - \ \"priority\": 10005\r\n }\r\n ],\r\n \"provisioningState\": - \"Succeeded\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleGroups/myclirulecollectiongroup\",\r\n - \ \"name\": \"myclirulecollectiongroup\",\r\n \"type\": \"Microsoft.Network/RuleGroups\",\r\n - \ \"etag\": \"261fcddb-f7a9-4d8a-95a9-2e0febf1077d\",\r\n \"location\": \"westcentralus\"\r\n}" + string: "{\r\n \"properties\": {\r\n \"priority\": 12000,\r\n \"ruleCollections\"\ + : [\r\n {\r\n \"ruleCollectionType\": \"FirewallPolicyNatRuleCollection\"\ + ,\r\n \"action\": {\r\n \"type\": \"Dnat\"\r\n },\r\ + \n \"rules\": [\r\n {\r\n \"ruleType\": \"NatRule\"\ + ,\r\n \"name\": \"network-rule\",\r\n \"translatedAddress\"\ + : \"128.1.1.1\",\r\n \"translatedPort\": \"1234\",\r\n \ + \ \"ipProtocols\": [\r\n \"TCP\",\r\n \"UDP\"\ + \r\n ],\r\n \"sourceAddresses\": [\r\n \ + \ \"202.120.36.13\",\r\n \"202.120.36.14\"\r\n ],\r\ + \n \"sourceIpGroups\": [],\r\n \"destinationAddresses\"\ + : [\r\n \"202.120.36.15\"\r\n ],\r\n \"\ + destinationPorts\": [\r\n \"12000\",\r\n \"12001\"\ + \r\n ]\r\n }\r\n ],\r\n \"name\": \"nat-collection\"\ + ,\r\n \"priority\": 10005\r\n }\r\n ],\r\n \"provisioningState\"\ + : \"Succeeded\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleCollectionGroups/myclirulecollectiongroup\"\ + ,\r\n \"name\": \"myclirulecollectiongroup\",\r\n \"type\": \"Microsoft.Network/RuleCollectionGroups\"\ + ,\r\n \"etag\": \"44d0c20b-f925-4b91-9018-50721c4380df\",\r\n \"location\"\ + : \"eastus2euap\"\r\n}" headers: cache-control: - no-cache content-length: - - '1276' + - '1397' content-type: - application/json; charset=utf-8 date: - - Wed, 15 Jan 2020 14:08:53 GMT + - Thu, 18 Jun 2020 04:38:34 GMT expires: - '-1' pragma: @@ -1356,19 +1364,19 @@ interactions: code: 200 message: OK - request: - body: 'b''{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleGroups/myclirulecollectiongroup", - "properties": {"priority": 12000, "rules": [{"name": "nat-collection", "priority": - 10005, "ruleType": "FirewallPolicyNatRule", "action": {"type": "Dnat"}, "translatedAddress": - "128.1.1.1", "translatedPort": "1234", "ruleCondition": {"name": "network-rule", - "ruleConditionType": "NetworkRuleCondition", "ipProtocols": ["TCP", "UDP"], - "sourceAddresses": ["202.120.36.13", "202.120.36.14"], "destinationAddresses": - ["202.120.36.15"], "destinationPorts": ["12000", "12001"]}}, {"name": "filter-collection-1", - "priority": 13000, "ruleType": "FirewallPolicyFilterRule", "action": {"type": - "Allow"}, "ruleConditions": [{"name": "network-rule", "description": "test", - "ruleConditionType": "NetworkRuleCondition", "ipProtocols": ["Any", "ICMP"], - "sourceAddresses": ["202.120.36.13", "202.120.36.14"], "destinationAddresses": - ["202.120.36.15"], "destinationPorts": ["12003", "12004"]}]}], "provisioningState": - "Succeeded"}, "name": "myclirulecollectiongroup"}''' + body: 'b''{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleCollectionGroups/myclirulecollectiongroup", + "properties": {"priority": 12000, "ruleCollections": [{"name": "nat-collection", + "priority": 10005, "ruleCollectionType": "FirewallPolicyNatRuleCollection", + "action": {"type": "Dnat"}, "rules": [{"name": "network-rule", "ruleType": "NatRule", + "ipProtocols": ["TCP", "UDP"], "sourceAddresses": ["202.120.36.13", "202.120.36.14"], + "destinationAddresses": ["202.120.36.15"], "destinationPorts": ["12000", "12001"], + "translatedAddress": "128.1.1.1", "translatedPort": "1234", "sourceIpGroups": + []}]}, {"name": "filter-collection-1", "priority": 13000, "ruleCollectionType": + "FirewallPolicyFilterRuleCollection", "action": {"type": "Allow"}, "rules": + [{"name": "network-rule", "description": "test", "ruleType": "NetworkRule", + "ipProtocols": ["Any", "ICMP"], "sourceAddresses": ["202.120.36.13", "202.120.36.14"], + "destinationAddresses": ["202.120.36.15"], "destinationPorts": ["12003", "12004"]}]}]}, + "name": "myclirulecollectiongroup"}''' headers: Accept: - application/json @@ -1379,7 +1387,7 @@ interactions: Connection: - keep-alive Content-Length: - - '1195' + - '1188' Content-Type: - application/json; charset=utf-8 ParameterSetName: @@ -1387,51 +1395,56 @@ interactions: --rule-name --rule-type --description --destination-addresses --source-addresses --destination-ports --ip-protocols User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-network/7.0.0 - Azure-SDK-For-Python AZURECLI/2.0.79 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleGroups/myclirulecollectiongroup?api-version=2019-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleCollectionGroups/myclirulecollectiongroup?api-version=2020-05-01 response: body: - string: "{\r\n \"properties\": {\r\n \"priority\": 12000,\r\n \"rules\": - [\r\n {\r\n \"ruleType\": \"FirewallPolicyNatRule\",\r\n \"action\": - {\r\n \"type\": \"Dnat\"\r\n },\r\n \"translatedAddress\": - \"128.1.1.1\",\r\n \"translatedPort\": \"1234\",\r\n \"ruleCondition\": - {\r\n \"ruleConditionType\": \"NetworkRuleCondition\",\r\n \"name\": - \"network-rule\",\r\n \"ipProtocols\": [\r\n \"TCP\",\r\n - \ \"UDP\"\r\n ],\r\n \"sourceAddresses\": [\r\n - \ \"202.120.36.13\",\r\n \"202.120.36.14\"\r\n ],\r\n - \ \"destinationAddresses\": [\r\n \"202.120.36.15\"\r\n - \ ],\r\n \"destinationPorts\": [\r\n \"12000\",\r\n - \ \"12001\"\r\n ]\r\n },\r\n \"name\": \"nat-collection\",\r\n - \ \"priority\": 10005\r\n },\r\n {\r\n \"ruleType\": - \"FirewallPolicyFilterRule\",\r\n \"action\": {\r\n \"type\": - \"Allow\"\r\n },\r\n \"ruleConditions\": [\r\n {\r\n - \ \"ruleConditionType\": \"NetworkRuleCondition\",\r\n \"name\": - \"network-rule\",\r\n \"ipProtocols\": [\r\n \"Any\",\r\n - \ \"ICMP\"\r\n ],\r\n \"sourceAddresses\": - [\r\n \"202.120.36.13\",\r\n \"202.120.36.14\"\r\n - \ ],\r\n \"destinationAddresses\": [\r\n \"202.120.36.15\"\r\n - \ ],\r\n \"destinationPorts\": [\r\n \"12003\",\r\n - \ \"12004\"\r\n ]\r\n }\r\n ],\r\n - \ \"name\": \"filter-collection-1\",\r\n \"priority\": 13000\r\n - \ }\r\n ],\r\n \"provisioningState\": \"Updating\"\r\n },\r\n \"id\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleGroups/myclirulecollectiongroup\",\r\n - \ \"name\": \"myclirulecollectiongroup\",\r\n \"type\": \"Microsoft.Network/RuleGroups\",\r\n - \ \"etag\": \"22b961f2-87df-4b9a-95a7-3389b7f70099\",\r\n \"location\": \"westcentralus\"\r\n}" + string: "{\r\n \"properties\": {\r\n \"priority\": 12000,\r\n \"ruleCollections\"\ + : [\r\n {\r\n \"ruleCollectionType\": \"FirewallPolicyNatRuleCollection\"\ + ,\r\n \"action\": {\r\n \"type\": \"Dnat\"\r\n },\r\ + \n \"rules\": [\r\n {\r\n \"ruleType\": \"NatRule\"\ + ,\r\n \"name\": \"network-rule\",\r\n \"translatedAddress\"\ + : \"128.1.1.1\",\r\n \"translatedPort\": \"1234\",\r\n \ + \ \"ipProtocols\": [\r\n \"TCP\",\r\n \"UDP\"\ + \r\n ],\r\n \"sourceAddresses\": [\r\n \ + \ \"202.120.36.13\",\r\n \"202.120.36.14\"\r\n ],\r\ + \n \"sourceIpGroups\": [],\r\n \"destinationAddresses\"\ + : [\r\n \"202.120.36.15\"\r\n ],\r\n \"\ + destinationPorts\": [\r\n \"12000\",\r\n \"12001\"\ + \r\n ]\r\n }\r\n ],\r\n \"name\": \"nat-collection\"\ + ,\r\n \"priority\": 10005\r\n },\r\n {\r\n \"ruleCollectionType\"\ + : \"FirewallPolicyFilterRuleCollection\",\r\n \"action\": {\r\n \ + \ \"type\": \"Allow\"\r\n },\r\n \"rules\": [\r\n \ + \ {\r\n \"ruleType\": \"NetworkRule\",\r\n \"name\"\ + : \"network-rule\",\r\n \"ipProtocols\": [\r\n \"\ + Any\",\r\n \"ICMP\"\r\n ],\r\n \"sourceAddresses\"\ + : [\r\n \"202.120.36.13\",\r\n \"202.120.36.14\"\ + \r\n ],\r\n \"sourceIpGroups\": [],\r\n \"\ + destinationAddresses\": [\r\n \"202.120.36.15\"\r\n \ + \ ],\r\n \"destinationIpGroups\": [],\r\n \"destinationFqdns\"\ + : [],\r\n \"destinationPorts\": [\r\n \"12003\",\r\ + \n \"12004\"\r\n ]\r\n }\r\n ],\r\n\ + \ \"name\": \"filter-collection-1\",\r\n \"priority\": 13000\r\ + \n }\r\n ],\r\n \"provisioningState\": \"Updating\"\r\n },\r\n\ + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleCollectionGroups/myclirulecollectiongroup\"\ + ,\r\n \"name\": \"myclirulecollectiongroup\",\r\n \"type\": \"Microsoft.Network/RuleCollectionGroups\"\ + ,\r\n \"etag\": \"2176038b-2db3-4cde-8ac8-0a8dc75289cd\",\r\n \"location\"\ + : \"eastus2euap\"\r\n}" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westcentralus/nfvOperations/c9c4e8c5-95da-4991-b4d1-f34c11b8ba77?api-version=2019-07-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus2euap/nfvOperations/490f2b7b-b221-43c1-9643-f4a41c534eed?api-version=2020-05-01 cache-control: - no-cache content-length: - - '2018' + - '2244' content-type: - application/json; charset=utf-8 date: - - Wed, 15 Jan 2020 14:08:54 GMT + - Thu, 18 Jun 2020 04:38:37 GMT expires: - '-1' pragma: @@ -1447,7 +1460,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1198' status: code: 200 message: OK @@ -1467,10 +1480,10 @@ interactions: --rule-name --rule-type --description --destination-addresses --source-addresses --destination-ports --ip-protocols User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-network/7.0.0 - Azure-SDK-For-Python AZURECLI/2.0.79 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westcentralus/nfvOperations/c9c4e8c5-95da-4991-b4d1-f34c11b8ba77?api-version=2019-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus2euap/nfvOperations/490f2b7b-b221-43c1-9643-f4a41c534eed?api-version=2020-05-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -1482,7 +1495,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 15 Jan 2020 14:09:04 GMT + - Thu, 18 Jun 2020 04:38:48 GMT expires: - '-1' pragma: @@ -1516,47 +1529,52 @@ interactions: --rule-name --rule-type --description --destination-addresses --source-addresses --destination-ports --ip-protocols User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-network/7.0.0 - Azure-SDK-For-Python AZURECLI/2.0.79 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleGroups/myclirulecollectiongroup?api-version=2019-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleCollectionGroups/myclirulecollectiongroup?api-version=2020-05-01 response: body: - string: "{\r\n \"properties\": {\r\n \"priority\": 12000,\r\n \"rules\": - [\r\n {\r\n \"ruleType\": \"FirewallPolicyNatRule\",\r\n \"action\": - {\r\n \"type\": \"Dnat\"\r\n },\r\n \"translatedAddress\": - \"128.1.1.1\",\r\n \"translatedPort\": \"1234\",\r\n \"ruleCondition\": - {\r\n \"ruleConditionType\": \"NetworkRuleCondition\",\r\n \"name\": - \"network-rule\",\r\n \"ipProtocols\": [\r\n \"TCP\",\r\n - \ \"UDP\"\r\n ],\r\n \"sourceAddresses\": [\r\n - \ \"202.120.36.13\",\r\n \"202.120.36.14\"\r\n ],\r\n - \ \"destinationAddresses\": [\r\n \"202.120.36.15\"\r\n - \ ],\r\n \"destinationPorts\": [\r\n \"12000\",\r\n - \ \"12001\"\r\n ]\r\n },\r\n \"name\": \"nat-collection\",\r\n - \ \"priority\": 10005\r\n },\r\n {\r\n \"ruleType\": - \"FirewallPolicyFilterRule\",\r\n \"action\": {\r\n \"type\": - \"Allow\"\r\n },\r\n \"ruleConditions\": [\r\n {\r\n - \ \"ruleConditionType\": \"NetworkRuleCondition\",\r\n \"name\": - \"network-rule\",\r\n \"ipProtocols\": [\r\n \"Any\",\r\n - \ \"ICMP\"\r\n ],\r\n \"sourceAddresses\": - [\r\n \"202.120.36.13\",\r\n \"202.120.36.14\"\r\n - \ ],\r\n \"destinationAddresses\": [\r\n \"202.120.36.15\"\r\n - \ ],\r\n \"destinationPorts\": [\r\n \"12003\",\r\n - \ \"12004\"\r\n ]\r\n }\r\n ],\r\n - \ \"name\": \"filter-collection-1\",\r\n \"priority\": 13000\r\n - \ }\r\n ],\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n - \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleGroups/myclirulecollectiongroup\",\r\n - \ \"name\": \"myclirulecollectiongroup\",\r\n \"type\": \"Microsoft.Network/RuleGroups\",\r\n - \ \"etag\": \"22b961f2-87df-4b9a-95a7-3389b7f70099\",\r\n \"location\": \"westcentralus\"\r\n}" + string: "{\r\n \"properties\": {\r\n \"priority\": 12000,\r\n \"ruleCollections\"\ + : [\r\n {\r\n \"ruleCollectionType\": \"FirewallPolicyNatRuleCollection\"\ + ,\r\n \"action\": {\r\n \"type\": \"Dnat\"\r\n },\r\ + \n \"rules\": [\r\n {\r\n \"ruleType\": \"NatRule\"\ + ,\r\n \"name\": \"network-rule\",\r\n \"translatedAddress\"\ + : \"128.1.1.1\",\r\n \"translatedPort\": \"1234\",\r\n \ + \ \"ipProtocols\": [\r\n \"TCP\",\r\n \"UDP\"\ + \r\n ],\r\n \"sourceAddresses\": [\r\n \ + \ \"202.120.36.13\",\r\n \"202.120.36.14\"\r\n ],\r\ + \n \"sourceIpGroups\": [],\r\n \"destinationAddresses\"\ + : [\r\n \"202.120.36.15\"\r\n ],\r\n \"\ + destinationPorts\": [\r\n \"12000\",\r\n \"12001\"\ + \r\n ]\r\n }\r\n ],\r\n \"name\": \"nat-collection\"\ + ,\r\n \"priority\": 10005\r\n },\r\n {\r\n \"ruleCollectionType\"\ + : \"FirewallPolicyFilterRuleCollection\",\r\n \"action\": {\r\n \ + \ \"type\": \"Allow\"\r\n },\r\n \"rules\": [\r\n \ + \ {\r\n \"ruleType\": \"NetworkRule\",\r\n \"name\"\ + : \"network-rule\",\r\n \"ipProtocols\": [\r\n \"\ + Any\",\r\n \"ICMP\"\r\n ],\r\n \"sourceAddresses\"\ + : [\r\n \"202.120.36.13\",\r\n \"202.120.36.14\"\ + \r\n ],\r\n \"sourceIpGroups\": [],\r\n \"\ + destinationAddresses\": [\r\n \"202.120.36.15\"\r\n \ + \ ],\r\n \"destinationIpGroups\": [],\r\n \"destinationFqdns\"\ + : [],\r\n \"destinationPorts\": [\r\n \"12003\",\r\ + \n \"12004\"\r\n ]\r\n }\r\n ],\r\n\ + \ \"name\": \"filter-collection-1\",\r\n \"priority\": 13000\r\ + \n }\r\n ],\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n\ + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleCollectionGroups/myclirulecollectiongroup\"\ + ,\r\n \"name\": \"myclirulecollectiongroup\",\r\n \"type\": \"Microsoft.Network/RuleCollectionGroups\"\ + ,\r\n \"etag\": \"2176038b-2db3-4cde-8ac8-0a8dc75289cd\",\r\n \"location\"\ + : \"eastus2euap\"\r\n}" headers: cache-control: - no-cache content-length: - - '2019' + - '2245' content-type: - application/json; charset=utf-8 date: - - Wed, 15 Jan 2020 14:09:05 GMT + - Thu, 18 Jun 2020 04:38:49 GMT expires: - '-1' pragma: @@ -1590,49 +1608,54 @@ interactions: --rule-name --rule-type --description --destination-addresses --source-addresses --protocols --fqdn-tags User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-network/7.0.0 - Azure-SDK-For-Python AZURECLI/2.0.79 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleGroups/myclirulecollectiongroup?api-version=2019-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleCollectionGroups/myclirulecollectiongroup?api-version=2020-05-01 response: body: - string: "{\r\n \"properties\": {\r\n \"priority\": 12000,\r\n \"rules\": - [\r\n {\r\n \"ruleType\": \"FirewallPolicyNatRule\",\r\n \"action\": - {\r\n \"type\": \"Dnat\"\r\n },\r\n \"translatedAddress\": - \"128.1.1.1\",\r\n \"translatedPort\": \"1234\",\r\n \"ruleCondition\": - {\r\n \"ruleConditionType\": \"NetworkRuleCondition\",\r\n \"name\": - \"network-rule\",\r\n \"ipProtocols\": [\r\n \"TCP\",\r\n - \ \"UDP\"\r\n ],\r\n \"sourceAddresses\": [\r\n - \ \"202.120.36.13\",\r\n \"202.120.36.14\"\r\n ],\r\n - \ \"destinationAddresses\": [\r\n \"202.120.36.15\"\r\n - \ ],\r\n \"destinationPorts\": [\r\n \"12000\",\r\n - \ \"12001\"\r\n ]\r\n },\r\n \"name\": \"nat-collection\",\r\n - \ \"priority\": 10005\r\n },\r\n {\r\n \"ruleType\": - \"FirewallPolicyFilterRule\",\r\n \"action\": {\r\n \"type\": - \"Allow\"\r\n },\r\n \"ruleConditions\": [\r\n {\r\n - \ \"ruleConditionType\": \"NetworkRuleCondition\",\r\n \"name\": - \"network-rule\",\r\n \"ipProtocols\": [\r\n \"Any\",\r\n - \ \"ICMP\"\r\n ],\r\n \"sourceAddresses\": - [\r\n \"202.120.36.13\",\r\n \"202.120.36.14\"\r\n - \ ],\r\n \"destinationAddresses\": [\r\n \"202.120.36.15\"\r\n - \ ],\r\n \"destinationPorts\": [\r\n \"12003\",\r\n - \ \"12004\"\r\n ]\r\n }\r\n ],\r\n - \ \"name\": \"filter-collection-1\",\r\n \"priority\": 13000\r\n - \ }\r\n ],\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n - \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleGroups/myclirulecollectiongroup\",\r\n - \ \"name\": \"myclirulecollectiongroup\",\r\n \"type\": \"Microsoft.Network/RuleGroups\",\r\n - \ \"etag\": \"22b961f2-87df-4b9a-95a7-3389b7f70099\",\r\n \"location\": \"westcentralus\"\r\n}" + string: "{\r\n \"properties\": {\r\n \"priority\": 12000,\r\n \"ruleCollections\"\ + : [\r\n {\r\n \"ruleCollectionType\": \"FirewallPolicyNatRuleCollection\"\ + ,\r\n \"action\": {\r\n \"type\": \"Dnat\"\r\n },\r\ + \n \"rules\": [\r\n {\r\n \"ruleType\": \"NatRule\"\ + ,\r\n \"name\": \"network-rule\",\r\n \"translatedAddress\"\ + : \"128.1.1.1\",\r\n \"translatedPort\": \"1234\",\r\n \ + \ \"ipProtocols\": [\r\n \"TCP\",\r\n \"UDP\"\ + \r\n ],\r\n \"sourceAddresses\": [\r\n \ + \ \"202.120.36.13\",\r\n \"202.120.36.14\"\r\n ],\r\ + \n \"sourceIpGroups\": [],\r\n \"destinationAddresses\"\ + : [\r\n \"202.120.36.15\"\r\n ],\r\n \"\ + destinationPorts\": [\r\n \"12000\",\r\n \"12001\"\ + \r\n ]\r\n }\r\n ],\r\n \"name\": \"nat-collection\"\ + ,\r\n \"priority\": 10005\r\n },\r\n {\r\n \"ruleCollectionType\"\ + : \"FirewallPolicyFilterRuleCollection\",\r\n \"action\": {\r\n \ + \ \"type\": \"Allow\"\r\n },\r\n \"rules\": [\r\n \ + \ {\r\n \"ruleType\": \"NetworkRule\",\r\n \"name\"\ + : \"network-rule\",\r\n \"ipProtocols\": [\r\n \"\ + Any\",\r\n \"ICMP\"\r\n ],\r\n \"sourceAddresses\"\ + : [\r\n \"202.120.36.13\",\r\n \"202.120.36.14\"\ + \r\n ],\r\n \"sourceIpGroups\": [],\r\n \"\ + destinationAddresses\": [\r\n \"202.120.36.15\"\r\n \ + \ ],\r\n \"destinationIpGroups\": [],\r\n \"destinationFqdns\"\ + : [],\r\n \"destinationPorts\": [\r\n \"12003\",\r\ + \n \"12004\"\r\n ]\r\n }\r\n ],\r\n\ + \ \"name\": \"filter-collection-1\",\r\n \"priority\": 13000\r\ + \n }\r\n ],\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n\ + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleCollectionGroups/myclirulecollectiongroup\"\ + ,\r\n \"name\": \"myclirulecollectiongroup\",\r\n \"type\": \"Microsoft.Network/RuleCollectionGroups\"\ + ,\r\n \"etag\": \"2176038b-2db3-4cde-8ac8-0a8dc75289cd\",\r\n \"location\"\ + : \"eastus2euap\"\r\n}" headers: cache-control: - no-cache content-length: - - '2019' + - '2245' content-type: - application/json; charset=utf-8 date: - - Wed, 15 Jan 2020 14:09:08 GMT + - Thu, 18 Jun 2020 04:38:50 GMT expires: - '-1' pragma: @@ -1651,24 +1674,25 @@ interactions: code: 200 message: OK - request: - body: 'b''{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleGroups/myclirulecollectiongroup", - "properties": {"priority": 12000, "rules": [{"name": "nat-collection", "priority": - 10005, "ruleType": "FirewallPolicyNatRule", "action": {"type": "Dnat"}, "translatedAddress": - "128.1.1.1", "translatedPort": "1234", "ruleCondition": {"name": "network-rule", - "ruleConditionType": "NetworkRuleCondition", "ipProtocols": ["TCP", "UDP"], - "sourceAddresses": ["202.120.36.13", "202.120.36.14"], "destinationAddresses": - ["202.120.36.15"], "destinationPorts": ["12000", "12001"]}}, {"name": "filter-collection-1", - "priority": 13000, "ruleType": "FirewallPolicyFilterRule", "action": {"type": - "Allow"}, "ruleConditions": [{"name": "network-rule", "ruleConditionType": "NetworkRuleCondition", - "ipProtocols": ["Any", "ICMP"], "sourceAddresses": ["202.120.36.13", "202.120.36.14"], - "destinationAddresses": ["202.120.36.15"], "destinationPorts": ["12003", "12004"]}]}, - {"name": "filter-collection-2", "priority": 14000, "ruleType": "FirewallPolicyFilterRule", - "action": {"type": "Allow"}, "ruleConditions": [{"name": "application-rule", - "description": "test", "ruleConditionType": "ApplicationRuleCondition", "sourceAddresses": - ["202.120.36.13", "202.120.36.14"], "destinationAddresses": ["202.120.36.15", - "202.120.36.16"], "protocols": [{"protocolType": "Http", "port": 12800}, {"protocolType": - "Https", "port": 12801}], "fqdnTags": ["AzureBackup", "HDInsight"]}]}], "provisioningState": - "Succeeded"}, "name": "myclirulecollectiongroup"}''' + body: 'b''{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleCollectionGroups/myclirulecollectiongroup", + "properties": {"priority": 12000, "ruleCollections": [{"name": "nat-collection", + "priority": 10005, "ruleCollectionType": "FirewallPolicyNatRuleCollection", + "action": {"type": "Dnat"}, "rules": [{"name": "network-rule", "ruleType": "NatRule", + "ipProtocols": ["TCP", "UDP"], "sourceAddresses": ["202.120.36.13", "202.120.36.14"], + "destinationAddresses": ["202.120.36.15"], "destinationPorts": ["12000", "12001"], + "translatedAddress": "128.1.1.1", "translatedPort": "1234", "sourceIpGroups": + []}]}, {"name": "filter-collection-1", "priority": 13000, "ruleCollectionType": + "FirewallPolicyFilterRuleCollection", "action": {"type": "Allow"}, "rules": + [{"name": "network-rule", "ruleType": "NetworkRule", "ipProtocols": ["Any", + "ICMP"], "sourceAddresses": ["202.120.36.13", "202.120.36.14"], "destinationAddresses": + ["202.120.36.15"], "destinationPorts": ["12003", "12004"], "sourceIpGroups": + [], "destinationIpGroups": [], "destinationFqdns": []}]}, {"name": "filter-collection-2", + "priority": 14000, "ruleCollectionType": "FirewallPolicyFilterRuleCollection", + "action": {"type": "Allow"}, "rules": [{"name": "application-rule", "description": + "test", "ruleType": "ApplicationRule", "sourceAddresses": ["202.120.36.13", + "202.120.36.14"], "destinationAddresses": ["202.120.36.15", "202.120.36.16"], + "protocols": [{"protocolType": "Http", "port": 12800}, {"protocolType": "Https", + "port": 12801}], "fqdnTags": ["AzureBackup", "HDInsight"]}]}]}, "name": "myclirulecollectiongroup"}''' headers: Accept: - application/json @@ -1679,7 +1703,7 @@ interactions: Connection: - keep-alive Content-Length: - - '1670' + - '1729' Content-Type: - application/json; charset=utf-8 ParameterSetName: @@ -1687,62 +1711,71 @@ interactions: --rule-name --rule-type --description --destination-addresses --source-addresses --protocols --fqdn-tags User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-network/7.0.0 - Azure-SDK-For-Python AZURECLI/2.0.79 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleGroups/myclirulecollectiongroup?api-version=2019-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleCollectionGroups/myclirulecollectiongroup?api-version=2020-05-01 response: body: - string: "{\r\n \"properties\": {\r\n \"priority\": 12000,\r\n \"rules\": - [\r\n {\r\n \"ruleType\": \"FirewallPolicyNatRule\",\r\n \"action\": - {\r\n \"type\": \"Dnat\"\r\n },\r\n \"translatedAddress\": - \"128.1.1.1\",\r\n \"translatedPort\": \"1234\",\r\n \"ruleCondition\": - {\r\n \"ruleConditionType\": \"NetworkRuleCondition\",\r\n \"name\": - \"network-rule\",\r\n \"ipProtocols\": [\r\n \"TCP\",\r\n - \ \"UDP\"\r\n ],\r\n \"sourceAddresses\": [\r\n - \ \"202.120.36.13\",\r\n \"202.120.36.14\"\r\n ],\r\n - \ \"destinationAddresses\": [\r\n \"202.120.36.15\"\r\n - \ ],\r\n \"destinationPorts\": [\r\n \"12000\",\r\n - \ \"12001\"\r\n ]\r\n },\r\n \"name\": \"nat-collection\",\r\n - \ \"priority\": 10005\r\n },\r\n {\r\n \"ruleType\": - \"FirewallPolicyFilterRule\",\r\n \"action\": {\r\n \"type\": - \"Allow\"\r\n },\r\n \"ruleConditions\": [\r\n {\r\n - \ \"ruleConditionType\": \"NetworkRuleCondition\",\r\n \"name\": - \"network-rule\",\r\n \"ipProtocols\": [\r\n \"Any\",\r\n - \ \"ICMP\"\r\n ],\r\n \"sourceAddresses\": - [\r\n \"202.120.36.13\",\r\n \"202.120.36.14\"\r\n - \ ],\r\n \"destinationAddresses\": [\r\n \"202.120.36.15\"\r\n - \ ],\r\n \"destinationPorts\": [\r\n \"12003\",\r\n - \ \"12004\"\r\n ]\r\n }\r\n ],\r\n - \ \"name\": \"filter-collection-1\",\r\n \"priority\": 13000\r\n - \ },\r\n {\r\n \"ruleType\": \"FirewallPolicyFilterRule\",\r\n - \ \"action\": {\r\n \"type\": \"Allow\"\r\n },\r\n \"ruleConditions\": - [\r\n {\r\n \"ruleConditionType\": \"ApplicationRuleCondition\",\r\n - \ \"name\": \"application-rule\",\r\n \"protocols\": - [\r\n {\r\n \"protocolType\": \"Http\",\r\n \"port\": - 12800\r\n },\r\n {\r\n \"protocolType\": - \"Https\",\r\n \"port\": 12801\r\n }\r\n ],\r\n - \ \"fqdnTags\": [\r\n \"AzureBackup\",\r\n \"HDInsight\"\r\n - \ ],\r\n \"targetFqdns\": [],\r\n \"sourceAddresses\": - [\r\n \"202.120.36.13\",\r\n \"202.120.36.14\"\r\n - \ ]\r\n }\r\n ],\r\n \"name\": \"filter-collection-2\",\r\n - \ \"priority\": 14000\r\n }\r\n ],\r\n \"provisioningState\": - \"Updating\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleGroups/myclirulecollectiongroup\",\r\n - \ \"name\": \"myclirulecollectiongroup\",\r\n \"type\": \"Microsoft.Network/RuleGroups\",\r\n - \ \"etag\": \"47aa89d0-b878-49e4-8176-b5b3fb0b0bc2\",\r\n \"location\": \"westcentralus\"\r\n}" + string: "{\r\n \"properties\": {\r\n \"priority\": 12000,\r\n \"ruleCollections\"\ + : [\r\n {\r\n \"ruleCollectionType\": \"FirewallPolicyNatRuleCollection\"\ + ,\r\n \"action\": {\r\n \"type\": \"Dnat\"\r\n },\r\ + \n \"rules\": [\r\n {\r\n \"ruleType\": \"NatRule\"\ + ,\r\n \"name\": \"network-rule\",\r\n \"translatedAddress\"\ + : \"128.1.1.1\",\r\n \"translatedPort\": \"1234\",\r\n \ + \ \"ipProtocols\": [\r\n \"TCP\",\r\n \"UDP\"\ + \r\n ],\r\n \"sourceAddresses\": [\r\n \ + \ \"202.120.36.13\",\r\n \"202.120.36.14\"\r\n ],\r\ + \n \"sourceIpGroups\": [],\r\n \"destinationAddresses\"\ + : [\r\n \"202.120.36.15\"\r\n ],\r\n \"\ + destinationPorts\": [\r\n \"12000\",\r\n \"12001\"\ + \r\n ]\r\n }\r\n ],\r\n \"name\": \"nat-collection\"\ + ,\r\n \"priority\": 10005\r\n },\r\n {\r\n \"ruleCollectionType\"\ + : \"FirewallPolicyFilterRuleCollection\",\r\n \"action\": {\r\n \ + \ \"type\": \"Allow\"\r\n },\r\n \"rules\": [\r\n \ + \ {\r\n \"ruleType\": \"NetworkRule\",\r\n \"name\"\ + : \"network-rule\",\r\n \"ipProtocols\": [\r\n \"\ + Any\",\r\n \"ICMP\"\r\n ],\r\n \"sourceAddresses\"\ + : [\r\n \"202.120.36.13\",\r\n \"202.120.36.14\"\ + \r\n ],\r\n \"sourceIpGroups\": [],\r\n \"\ + destinationAddresses\": [\r\n \"202.120.36.15\"\r\n \ + \ ],\r\n \"destinationIpGroups\": [],\r\n \"destinationFqdns\"\ + : [],\r\n \"destinationPorts\": [\r\n \"12003\",\r\ + \n \"12004\"\r\n ]\r\n }\r\n ],\r\n\ + \ \"name\": \"filter-collection-1\",\r\n \"priority\": 13000\r\ + \n },\r\n {\r\n \"ruleCollectionType\": \"FirewallPolicyFilterRuleCollection\"\ + ,\r\n \"action\": {\r\n \"type\": \"Allow\"\r\n },\r\ + \n \"rules\": [\r\n {\r\n \"ruleType\": \"ApplicationRule\"\ + ,\r\n \"name\": \"application-rule\",\r\n \"protocols\"\ + : [\r\n {\r\n \"protocolType\": \"Http\",\r\n\ + \ \"port\": 12800\r\n },\r\n {\r\n\ + \ \"protocolType\": \"Https\",\r\n \"port\"\ + : 12801\r\n }\r\n ],\r\n \"fqdnTags\":\ + \ [\r\n \"AzureBackup\",\r\n \"HDInsight\"\r\n \ + \ ],\r\n \"targetFqdns\": [],\r\n \"sourceAddresses\"\ + : [\r\n \"202.120.36.13\",\r\n \"202.120.36.14\"\ + \r\n ],\r\n \"destinationAddresses\": [\r\n \ + \ \"202.120.36.15\",\r\n \"202.120.36.16\"\r\n \ + \ ],\r\n \"sourceIpGroups\": []\r\n }\r\n ],\r\ + \n \"name\": \"filter-collection-2\",\r\n \"priority\": 14000\r\ + \n }\r\n ],\r\n \"provisioningState\": \"Updating\"\r\n },\r\n\ + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleCollectionGroups/myclirulecollectiongroup\"\ + ,\r\n \"name\": \"myclirulecollectiongroup\",\r\n \"type\": \"Microsoft.Network/RuleCollectionGroups\"\ + ,\r\n \"etag\": \"81b7b9e1-ad2f-41e3-98f6-2ba69a9890e1\",\r\n \"location\"\ + : \"eastus2euap\"\r\n}" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westcentralus/nfvOperations/baaaea6e-5a44-4ab5-a3a1-a317973e9d6d?api-version=2019-07-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus2euap/nfvOperations/266e6dd0-83f8-475a-a799-67edd12b269b?api-version=2020-05-01 cache-control: - no-cache content-length: - - '2885' + - '3257' content-type: - application/json; charset=utf-8 date: - - Wed, 15 Jan 2020 14:09:08 GMT + - Thu, 18 Jun 2020 04:38:55 GMT expires: - '-1' pragma: @@ -1758,7 +1791,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1194' + - '1196' status: code: 200 message: OK @@ -1778,10 +1811,10 @@ interactions: --rule-name --rule-type --description --destination-addresses --source-addresses --protocols --fqdn-tags User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-network/7.0.0 - Azure-SDK-For-Python AZURECLI/2.0.79 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westcentralus/nfvOperations/baaaea6e-5a44-4ab5-a3a1-a317973e9d6d?api-version=2019-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus2euap/nfvOperations/266e6dd0-83f8-475a-a799-67edd12b269b?api-version=2020-05-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -1793,7 +1826,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 15 Jan 2020 14:09:21 GMT + - Thu, 18 Jun 2020 04:39:07 GMT expires: - '-1' pragma: @@ -1827,58 +1860,67 @@ interactions: --rule-name --rule-type --description --destination-addresses --source-addresses --protocols --fqdn-tags User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-network/7.0.0 - Azure-SDK-For-Python AZURECLI/2.0.79 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleGroups/myclirulecollectiongroup?api-version=2019-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleCollectionGroups/myclirulecollectiongroup?api-version=2020-05-01 response: body: - string: "{\r\n \"properties\": {\r\n \"priority\": 12000,\r\n \"rules\": - [\r\n {\r\n \"ruleType\": \"FirewallPolicyNatRule\",\r\n \"action\": - {\r\n \"type\": \"Dnat\"\r\n },\r\n \"translatedAddress\": - \"128.1.1.1\",\r\n \"translatedPort\": \"1234\",\r\n \"ruleCondition\": - {\r\n \"ruleConditionType\": \"NetworkRuleCondition\",\r\n \"name\": - \"network-rule\",\r\n \"ipProtocols\": [\r\n \"TCP\",\r\n - \ \"UDP\"\r\n ],\r\n \"sourceAddresses\": [\r\n - \ \"202.120.36.13\",\r\n \"202.120.36.14\"\r\n ],\r\n - \ \"destinationAddresses\": [\r\n \"202.120.36.15\"\r\n - \ ],\r\n \"destinationPorts\": [\r\n \"12000\",\r\n - \ \"12001\"\r\n ]\r\n },\r\n \"name\": \"nat-collection\",\r\n - \ \"priority\": 10005\r\n },\r\n {\r\n \"ruleType\": - \"FirewallPolicyFilterRule\",\r\n \"action\": {\r\n \"type\": - \"Allow\"\r\n },\r\n \"ruleConditions\": [\r\n {\r\n - \ \"ruleConditionType\": \"NetworkRuleCondition\",\r\n \"name\": - \"network-rule\",\r\n \"ipProtocols\": [\r\n \"Any\",\r\n - \ \"ICMP\"\r\n ],\r\n \"sourceAddresses\": - [\r\n \"202.120.36.13\",\r\n \"202.120.36.14\"\r\n - \ ],\r\n \"destinationAddresses\": [\r\n \"202.120.36.15\"\r\n - \ ],\r\n \"destinationPorts\": [\r\n \"12003\",\r\n - \ \"12004\"\r\n ]\r\n }\r\n ],\r\n - \ \"name\": \"filter-collection-1\",\r\n \"priority\": 13000\r\n - \ },\r\n {\r\n \"ruleType\": \"FirewallPolicyFilterRule\",\r\n - \ \"action\": {\r\n \"type\": \"Allow\"\r\n },\r\n \"ruleConditions\": - [\r\n {\r\n \"ruleConditionType\": \"ApplicationRuleCondition\",\r\n - \ \"name\": \"application-rule\",\r\n \"protocols\": - [\r\n {\r\n \"protocolType\": \"Http\",\r\n \"port\": - 12800\r\n },\r\n {\r\n \"protocolType\": - \"Https\",\r\n \"port\": 12801\r\n }\r\n ],\r\n - \ \"fqdnTags\": [\r\n \"AzureBackup\",\r\n \"HDInsight\"\r\n - \ ],\r\n \"targetFqdns\": [],\r\n \"sourceAddresses\": - [\r\n \"202.120.36.13\",\r\n \"202.120.36.14\"\r\n - \ ]\r\n }\r\n ],\r\n \"name\": \"filter-collection-2\",\r\n - \ \"priority\": 14000\r\n }\r\n ],\r\n \"provisioningState\": - \"Succeeded\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleGroups/myclirulecollectiongroup\",\r\n - \ \"name\": \"myclirulecollectiongroup\",\r\n \"type\": \"Microsoft.Network/RuleGroups\",\r\n - \ \"etag\": \"47aa89d0-b878-49e4-8176-b5b3fb0b0bc2\",\r\n \"location\": \"westcentralus\"\r\n}" + string: "{\r\n \"properties\": {\r\n \"priority\": 12000,\r\n \"ruleCollections\"\ + : [\r\n {\r\n \"ruleCollectionType\": \"FirewallPolicyNatRuleCollection\"\ + ,\r\n \"action\": {\r\n \"type\": \"Dnat\"\r\n },\r\ + \n \"rules\": [\r\n {\r\n \"ruleType\": \"NatRule\"\ + ,\r\n \"name\": \"network-rule\",\r\n \"translatedAddress\"\ + : \"128.1.1.1\",\r\n \"translatedPort\": \"1234\",\r\n \ + \ \"ipProtocols\": [\r\n \"TCP\",\r\n \"UDP\"\ + \r\n ],\r\n \"sourceAddresses\": [\r\n \ + \ \"202.120.36.13\",\r\n \"202.120.36.14\"\r\n ],\r\ + \n \"sourceIpGroups\": [],\r\n \"destinationAddresses\"\ + : [\r\n \"202.120.36.15\"\r\n ],\r\n \"\ + destinationPorts\": [\r\n \"12000\",\r\n \"12001\"\ + \r\n ]\r\n }\r\n ],\r\n \"name\": \"nat-collection\"\ + ,\r\n \"priority\": 10005\r\n },\r\n {\r\n \"ruleCollectionType\"\ + : \"FirewallPolicyFilterRuleCollection\",\r\n \"action\": {\r\n \ + \ \"type\": \"Allow\"\r\n },\r\n \"rules\": [\r\n \ + \ {\r\n \"ruleType\": \"NetworkRule\",\r\n \"name\"\ + : \"network-rule\",\r\n \"ipProtocols\": [\r\n \"\ + Any\",\r\n \"ICMP\"\r\n ],\r\n \"sourceAddresses\"\ + : [\r\n \"202.120.36.13\",\r\n \"202.120.36.14\"\ + \r\n ],\r\n \"sourceIpGroups\": [],\r\n \"\ + destinationAddresses\": [\r\n \"202.120.36.15\"\r\n \ + \ ],\r\n \"destinationIpGroups\": [],\r\n \"destinationFqdns\"\ + : [],\r\n \"destinationPorts\": [\r\n \"12003\",\r\ + \n \"12004\"\r\n ]\r\n }\r\n ],\r\n\ + \ \"name\": \"filter-collection-1\",\r\n \"priority\": 13000\r\ + \n },\r\n {\r\n \"ruleCollectionType\": \"FirewallPolicyFilterRuleCollection\"\ + ,\r\n \"action\": {\r\n \"type\": \"Allow\"\r\n },\r\ + \n \"rules\": [\r\n {\r\n \"ruleType\": \"ApplicationRule\"\ + ,\r\n \"name\": \"application-rule\",\r\n \"protocols\"\ + : [\r\n {\r\n \"protocolType\": \"Http\",\r\n\ + \ \"port\": 12800\r\n },\r\n {\r\n\ + \ \"protocolType\": \"Https\",\r\n \"port\"\ + : 12801\r\n }\r\n ],\r\n \"fqdnTags\":\ + \ [\r\n \"AzureBackup\",\r\n \"HDInsight\"\r\n \ + \ ],\r\n \"targetFqdns\": [],\r\n \"sourceAddresses\"\ + : [\r\n \"202.120.36.13\",\r\n \"202.120.36.14\"\ + \r\n ],\r\n \"destinationAddresses\": [\r\n \ + \ \"202.120.36.15\",\r\n \"202.120.36.16\"\r\n \ + \ ],\r\n \"sourceIpGroups\": []\r\n }\r\n ],\r\ + \n \"name\": \"filter-collection-2\",\r\n \"priority\": 14000\r\ + \n }\r\n ],\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n\ + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleCollectionGroups/myclirulecollectiongroup\"\ + ,\r\n \"name\": \"myclirulecollectiongroup\",\r\n \"type\": \"Microsoft.Network/RuleCollectionGroups\"\ + ,\r\n \"etag\": \"81b7b9e1-ad2f-41e3-98f6-2ba69a9890e1\",\r\n \"location\"\ + : \"eastus2euap\"\r\n}" headers: cache-control: - no-cache content-length: - - '2886' + - '3258' content-type: - application/json; charset=utf-8 date: - - Wed, 15 Jan 2020 14:09:22 GMT + - Thu, 18 Jun 2020 04:39:08 GMT expires: - '-1' pragma: @@ -1910,60 +1952,69 @@ interactions: ParameterSetName: - -g --policy-name --rule-collection-group-name User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-network/7.0.0 - Azure-SDK-For-Python AZURECLI/2.0.79 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleGroups/myclirulecollectiongroup?api-version=2019-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleCollectionGroups/myclirulecollectiongroup?api-version=2020-05-01 response: body: - string: "{\r\n \"properties\": {\r\n \"priority\": 12000,\r\n \"rules\": - [\r\n {\r\n \"ruleType\": \"FirewallPolicyNatRule\",\r\n \"action\": - {\r\n \"type\": \"Dnat\"\r\n },\r\n \"translatedAddress\": - \"128.1.1.1\",\r\n \"translatedPort\": \"1234\",\r\n \"ruleCondition\": - {\r\n \"ruleConditionType\": \"NetworkRuleCondition\",\r\n \"name\": - \"network-rule\",\r\n \"ipProtocols\": [\r\n \"TCP\",\r\n - \ \"UDP\"\r\n ],\r\n \"sourceAddresses\": [\r\n - \ \"202.120.36.13\",\r\n \"202.120.36.14\"\r\n ],\r\n - \ \"destinationAddresses\": [\r\n \"202.120.36.15\"\r\n - \ ],\r\n \"destinationPorts\": [\r\n \"12000\",\r\n - \ \"12001\"\r\n ]\r\n },\r\n \"name\": \"nat-collection\",\r\n - \ \"priority\": 10005\r\n },\r\n {\r\n \"ruleType\": - \"FirewallPolicyFilterRule\",\r\n \"action\": {\r\n \"type\": - \"Allow\"\r\n },\r\n \"ruleConditions\": [\r\n {\r\n - \ \"ruleConditionType\": \"NetworkRuleCondition\",\r\n \"name\": - \"network-rule\",\r\n \"ipProtocols\": [\r\n \"Any\",\r\n - \ \"ICMP\"\r\n ],\r\n \"sourceAddresses\": - [\r\n \"202.120.36.13\",\r\n \"202.120.36.14\"\r\n - \ ],\r\n \"destinationAddresses\": [\r\n \"202.120.36.15\"\r\n - \ ],\r\n \"destinationPorts\": [\r\n \"12003\",\r\n - \ \"12004\"\r\n ]\r\n }\r\n ],\r\n - \ \"name\": \"filter-collection-1\",\r\n \"priority\": 13000\r\n - \ },\r\n {\r\n \"ruleType\": \"FirewallPolicyFilterRule\",\r\n - \ \"action\": {\r\n \"type\": \"Allow\"\r\n },\r\n \"ruleConditions\": - [\r\n {\r\n \"ruleConditionType\": \"ApplicationRuleCondition\",\r\n - \ \"name\": \"application-rule\",\r\n \"protocols\": - [\r\n {\r\n \"protocolType\": \"Http\",\r\n \"port\": - 12800\r\n },\r\n {\r\n \"protocolType\": - \"Https\",\r\n \"port\": 12801\r\n }\r\n ],\r\n - \ \"fqdnTags\": [\r\n \"AzureBackup\",\r\n \"HDInsight\"\r\n - \ ],\r\n \"targetFqdns\": [],\r\n \"sourceAddresses\": - [\r\n \"202.120.36.13\",\r\n \"202.120.36.14\"\r\n - \ ]\r\n }\r\n ],\r\n \"name\": \"filter-collection-2\",\r\n - \ \"priority\": 14000\r\n }\r\n ],\r\n \"provisioningState\": - \"Succeeded\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleGroups/myclirulecollectiongroup\",\r\n - \ \"name\": \"myclirulecollectiongroup\",\r\n \"type\": \"Microsoft.Network/RuleGroups\",\r\n - \ \"etag\": \"47aa89d0-b878-49e4-8176-b5b3fb0b0bc2\",\r\n \"location\": \"westcentralus\"\r\n}" + string: "{\r\n \"properties\": {\r\n \"priority\": 12000,\r\n \"ruleCollections\"\ + : [\r\n {\r\n \"ruleCollectionType\": \"FirewallPolicyNatRuleCollection\"\ + ,\r\n \"action\": {\r\n \"type\": \"Dnat\"\r\n },\r\ + \n \"rules\": [\r\n {\r\n \"ruleType\": \"NatRule\"\ + ,\r\n \"name\": \"network-rule\",\r\n \"translatedAddress\"\ + : \"128.1.1.1\",\r\n \"translatedPort\": \"1234\",\r\n \ + \ \"ipProtocols\": [\r\n \"TCP\",\r\n \"UDP\"\ + \r\n ],\r\n \"sourceAddresses\": [\r\n \ + \ \"202.120.36.13\",\r\n \"202.120.36.14\"\r\n ],\r\ + \n \"sourceIpGroups\": [],\r\n \"destinationAddresses\"\ + : [\r\n \"202.120.36.15\"\r\n ],\r\n \"\ + destinationPorts\": [\r\n \"12000\",\r\n \"12001\"\ + \r\n ]\r\n }\r\n ],\r\n \"name\": \"nat-collection\"\ + ,\r\n \"priority\": 10005\r\n },\r\n {\r\n \"ruleCollectionType\"\ + : \"FirewallPolicyFilterRuleCollection\",\r\n \"action\": {\r\n \ + \ \"type\": \"Allow\"\r\n },\r\n \"rules\": [\r\n \ + \ {\r\n \"ruleType\": \"NetworkRule\",\r\n \"name\"\ + : \"network-rule\",\r\n \"ipProtocols\": [\r\n \"\ + Any\",\r\n \"ICMP\"\r\n ],\r\n \"sourceAddresses\"\ + : [\r\n \"202.120.36.13\",\r\n \"202.120.36.14\"\ + \r\n ],\r\n \"sourceIpGroups\": [],\r\n \"\ + destinationAddresses\": [\r\n \"202.120.36.15\"\r\n \ + \ ],\r\n \"destinationIpGroups\": [],\r\n \"destinationFqdns\"\ + : [],\r\n \"destinationPorts\": [\r\n \"12003\",\r\ + \n \"12004\"\r\n ]\r\n }\r\n ],\r\n\ + \ \"name\": \"filter-collection-1\",\r\n \"priority\": 13000\r\ + \n },\r\n {\r\n \"ruleCollectionType\": \"FirewallPolicyFilterRuleCollection\"\ + ,\r\n \"action\": {\r\n \"type\": \"Allow\"\r\n },\r\ + \n \"rules\": [\r\n {\r\n \"ruleType\": \"ApplicationRule\"\ + ,\r\n \"name\": \"application-rule\",\r\n \"protocols\"\ + : [\r\n {\r\n \"protocolType\": \"Http\",\r\n\ + \ \"port\": 12800\r\n },\r\n {\r\n\ + \ \"protocolType\": \"Https\",\r\n \"port\"\ + : 12801\r\n }\r\n ],\r\n \"fqdnTags\":\ + \ [\r\n \"AzureBackup\",\r\n \"HDInsight\"\r\n \ + \ ],\r\n \"targetFqdns\": [],\r\n \"sourceAddresses\"\ + : [\r\n \"202.120.36.13\",\r\n \"202.120.36.14\"\ + \r\n ],\r\n \"destinationAddresses\": [\r\n \ + \ \"202.120.36.15\",\r\n \"202.120.36.16\"\r\n \ + \ ],\r\n \"sourceIpGroups\": []\r\n }\r\n ],\r\ + \n \"name\": \"filter-collection-2\",\r\n \"priority\": 14000\r\ + \n }\r\n ],\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n\ + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleCollectionGroups/myclirulecollectiongroup\"\ + ,\r\n \"name\": \"myclirulecollectiongroup\",\r\n \"type\": \"Microsoft.Network/RuleCollectionGroups\"\ + ,\r\n \"etag\": \"81b7b9e1-ad2f-41e3-98f6-2ba69a9890e1\",\r\n \"location\"\ + : \"eastus2euap\"\r\n}" headers: cache-control: - no-cache content-length: - - '2886' + - '3258' content-type: - application/json; charset=utf-8 date: - - Wed, 15 Jan 2020 14:09:25 GMT + - Thu, 18 Jun 2020 04:39:09 GMT expires: - '-1' pragma: @@ -1996,60 +2047,69 @@ interactions: - -g --policy-name --rule-collection-group-name --collection-name --name --rule-type --description --source-addresses --destination-addresses --protocols --target-fqdns User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-network/7.0.0 - Azure-SDK-For-Python AZURECLI/2.0.79 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleGroups/myclirulecollectiongroup?api-version=2019-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleCollectionGroups/myclirulecollectiongroup?api-version=2020-05-01 response: body: - string: "{\r\n \"properties\": {\r\n \"priority\": 12000,\r\n \"rules\": - [\r\n {\r\n \"ruleType\": \"FirewallPolicyNatRule\",\r\n \"action\": - {\r\n \"type\": \"Dnat\"\r\n },\r\n \"translatedAddress\": - \"128.1.1.1\",\r\n \"translatedPort\": \"1234\",\r\n \"ruleCondition\": - {\r\n \"ruleConditionType\": \"NetworkRuleCondition\",\r\n \"name\": - \"network-rule\",\r\n \"ipProtocols\": [\r\n \"TCP\",\r\n - \ \"UDP\"\r\n ],\r\n \"sourceAddresses\": [\r\n - \ \"202.120.36.13\",\r\n \"202.120.36.14\"\r\n ],\r\n - \ \"destinationAddresses\": [\r\n \"202.120.36.15\"\r\n - \ ],\r\n \"destinationPorts\": [\r\n \"12000\",\r\n - \ \"12001\"\r\n ]\r\n },\r\n \"name\": \"nat-collection\",\r\n - \ \"priority\": 10005\r\n },\r\n {\r\n \"ruleType\": - \"FirewallPolicyFilterRule\",\r\n \"action\": {\r\n \"type\": - \"Allow\"\r\n },\r\n \"ruleConditions\": [\r\n {\r\n - \ \"ruleConditionType\": \"NetworkRuleCondition\",\r\n \"name\": - \"network-rule\",\r\n \"ipProtocols\": [\r\n \"Any\",\r\n - \ \"ICMP\"\r\n ],\r\n \"sourceAddresses\": - [\r\n \"202.120.36.13\",\r\n \"202.120.36.14\"\r\n - \ ],\r\n \"destinationAddresses\": [\r\n \"202.120.36.15\"\r\n - \ ],\r\n \"destinationPorts\": [\r\n \"12003\",\r\n - \ \"12004\"\r\n ]\r\n }\r\n ],\r\n - \ \"name\": \"filter-collection-1\",\r\n \"priority\": 13000\r\n - \ },\r\n {\r\n \"ruleType\": \"FirewallPolicyFilterRule\",\r\n - \ \"action\": {\r\n \"type\": \"Allow\"\r\n },\r\n \"ruleConditions\": - [\r\n {\r\n \"ruleConditionType\": \"ApplicationRuleCondition\",\r\n - \ \"name\": \"application-rule\",\r\n \"protocols\": - [\r\n {\r\n \"protocolType\": \"Http\",\r\n \"port\": - 12800\r\n },\r\n {\r\n \"protocolType\": - \"Https\",\r\n \"port\": 12801\r\n }\r\n ],\r\n - \ \"fqdnTags\": [\r\n \"AzureBackup\",\r\n \"HDInsight\"\r\n - \ ],\r\n \"targetFqdns\": [],\r\n \"sourceAddresses\": - [\r\n \"202.120.36.13\",\r\n \"202.120.36.14\"\r\n - \ ]\r\n }\r\n ],\r\n \"name\": \"filter-collection-2\",\r\n - \ \"priority\": 14000\r\n }\r\n ],\r\n \"provisioningState\": - \"Succeeded\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleGroups/myclirulecollectiongroup\",\r\n - \ \"name\": \"myclirulecollectiongroup\",\r\n \"type\": \"Microsoft.Network/RuleGroups\",\r\n - \ \"etag\": \"47aa89d0-b878-49e4-8176-b5b3fb0b0bc2\",\r\n \"location\": \"westcentralus\"\r\n}" + string: "{\r\n \"properties\": {\r\n \"priority\": 12000,\r\n \"ruleCollections\"\ + : [\r\n {\r\n \"ruleCollectionType\": \"FirewallPolicyNatRuleCollection\"\ + ,\r\n \"action\": {\r\n \"type\": \"Dnat\"\r\n },\r\ + \n \"rules\": [\r\n {\r\n \"ruleType\": \"NatRule\"\ + ,\r\n \"name\": \"network-rule\",\r\n \"translatedAddress\"\ + : \"128.1.1.1\",\r\n \"translatedPort\": \"1234\",\r\n \ + \ \"ipProtocols\": [\r\n \"TCP\",\r\n \"UDP\"\ + \r\n ],\r\n \"sourceAddresses\": [\r\n \ + \ \"202.120.36.13\",\r\n \"202.120.36.14\"\r\n ],\r\ + \n \"sourceIpGroups\": [],\r\n \"destinationAddresses\"\ + : [\r\n \"202.120.36.15\"\r\n ],\r\n \"\ + destinationPorts\": [\r\n \"12000\",\r\n \"12001\"\ + \r\n ]\r\n }\r\n ],\r\n \"name\": \"nat-collection\"\ + ,\r\n \"priority\": 10005\r\n },\r\n {\r\n \"ruleCollectionType\"\ + : \"FirewallPolicyFilterRuleCollection\",\r\n \"action\": {\r\n \ + \ \"type\": \"Allow\"\r\n },\r\n \"rules\": [\r\n \ + \ {\r\n \"ruleType\": \"NetworkRule\",\r\n \"name\"\ + : \"network-rule\",\r\n \"ipProtocols\": [\r\n \"\ + Any\",\r\n \"ICMP\"\r\n ],\r\n \"sourceAddresses\"\ + : [\r\n \"202.120.36.13\",\r\n \"202.120.36.14\"\ + \r\n ],\r\n \"sourceIpGroups\": [],\r\n \"\ + destinationAddresses\": [\r\n \"202.120.36.15\"\r\n \ + \ ],\r\n \"destinationIpGroups\": [],\r\n \"destinationFqdns\"\ + : [],\r\n \"destinationPorts\": [\r\n \"12003\",\r\ + \n \"12004\"\r\n ]\r\n }\r\n ],\r\n\ + \ \"name\": \"filter-collection-1\",\r\n \"priority\": 13000\r\ + \n },\r\n {\r\n \"ruleCollectionType\": \"FirewallPolicyFilterRuleCollection\"\ + ,\r\n \"action\": {\r\n \"type\": \"Allow\"\r\n },\r\ + \n \"rules\": [\r\n {\r\n \"ruleType\": \"ApplicationRule\"\ + ,\r\n \"name\": \"application-rule\",\r\n \"protocols\"\ + : [\r\n {\r\n \"protocolType\": \"Http\",\r\n\ + \ \"port\": 12800\r\n },\r\n {\r\n\ + \ \"protocolType\": \"Https\",\r\n \"port\"\ + : 12801\r\n }\r\n ],\r\n \"fqdnTags\":\ + \ [\r\n \"AzureBackup\",\r\n \"HDInsight\"\r\n \ + \ ],\r\n \"targetFqdns\": [],\r\n \"sourceAddresses\"\ + : [\r\n \"202.120.36.13\",\r\n \"202.120.36.14\"\ + \r\n ],\r\n \"destinationAddresses\": [\r\n \ + \ \"202.120.36.15\",\r\n \"202.120.36.16\"\r\n \ + \ ],\r\n \"sourceIpGroups\": []\r\n }\r\n ],\r\ + \n \"name\": \"filter-collection-2\",\r\n \"priority\": 14000\r\ + \n }\r\n ],\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n\ + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleCollectionGroups/myclirulecollectiongroup\"\ + ,\r\n \"name\": \"myclirulecollectiongroup\",\r\n \"type\": \"Microsoft.Network/RuleCollectionGroups\"\ + ,\r\n \"etag\": \"81b7b9e1-ad2f-41e3-98f6-2ba69a9890e1\",\r\n \"location\"\ + : \"eastus2euap\"\r\n}" headers: cache-control: - no-cache content-length: - - '2886' + - '3258' content-type: - application/json; charset=utf-8 date: - - Wed, 15 Jan 2020 14:09:27 GMT + - Thu, 18 Jun 2020 04:39:11 GMT expires: - '-1' pragma: @@ -2068,27 +2128,29 @@ interactions: code: 200 message: OK - request: - body: 'b''{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleGroups/myclirulecollectiongroup", - "properties": {"priority": 12000, "rules": [{"name": "nat-collection", "priority": - 10005, "ruleType": "FirewallPolicyNatRule", "action": {"type": "Dnat"}, "translatedAddress": - "128.1.1.1", "translatedPort": "1234", "ruleCondition": {"name": "network-rule", - "ruleConditionType": "NetworkRuleCondition", "ipProtocols": ["TCP", "UDP"], - "sourceAddresses": ["202.120.36.13", "202.120.36.14"], "destinationAddresses": - ["202.120.36.15"], "destinationPorts": ["12000", "12001"]}}, {"name": "filter-collection-1", - "priority": 13000, "ruleType": "FirewallPolicyFilterRule", "action": {"type": - "Allow"}, "ruleConditions": [{"name": "network-rule", "ruleConditionType": "NetworkRuleCondition", - "ipProtocols": ["Any", "ICMP"], "sourceAddresses": ["202.120.36.13", "202.120.36.14"], - "destinationAddresses": ["202.120.36.15"], "destinationPorts": ["12003", "12004"]}]}, - {"name": "filter-collection-2", "priority": 14000, "ruleType": "FirewallPolicyFilterRule", - "action": {"type": "Allow"}, "ruleConditions": [{"name": "application-rule", - "ruleConditionType": "ApplicationRuleCondition", "sourceAddresses": ["202.120.36.13", - "202.120.36.14"], "protocols": [{"protocolType": "Http", "port": 12800}, {"protocolType": - "Https", "port": 12801}], "targetFqdns": [], "fqdnTags": ["AzureBackup", "HDInsight"]}, - {"name": "application-rule-2", "description": "test", "ruleConditionType": "ApplicationRuleCondition", - "sourceAddresses": ["202.120.36.13", "202.120.36.14"], "destinationAddresses": + body: 'b''{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleCollectionGroups/myclirulecollectiongroup", + "properties": {"priority": 12000, "ruleCollections": [{"name": "nat-collection", + "priority": 10005, "ruleCollectionType": "FirewallPolicyNatRuleCollection", + "action": {"type": "Dnat"}, "rules": [{"name": "network-rule", "ruleType": "NatRule", + "ipProtocols": ["TCP", "UDP"], "sourceAddresses": ["202.120.36.13", "202.120.36.14"], + "destinationAddresses": ["202.120.36.15"], "destinationPorts": ["12000", "12001"], + "translatedAddress": "128.1.1.1", "translatedPort": "1234", "sourceIpGroups": + []}]}, {"name": "filter-collection-1", "priority": 13000, "ruleCollectionType": + "FirewallPolicyFilterRuleCollection", "action": {"type": "Allow"}, "rules": + [{"name": "network-rule", "ruleType": "NetworkRule", "ipProtocols": ["Any", + "ICMP"], "sourceAddresses": ["202.120.36.13", "202.120.36.14"], "destinationAddresses": + ["202.120.36.15"], "destinationPorts": ["12003", "12004"], "sourceIpGroups": + [], "destinationIpGroups": [], "destinationFqdns": []}]}, {"name": "filter-collection-2", + "priority": 14000, "ruleCollectionType": "FirewallPolicyFilterRuleCollection", + "action": {"type": "Allow"}, "rules": [{"name": "application-rule", "ruleType": + "ApplicationRule", "sourceAddresses": ["202.120.36.13", "202.120.36.14"], "destinationAddresses": ["202.120.36.15", "202.120.36.16"], "protocols": [{"protocolType": "Http", "port": - 12800}, {"protocolType": "Https", "port": 12801}], "targetFqdns": ["www.bing.com"]}]}], - "provisioningState": "Succeeded"}, "name": "myclirulecollectiongroup"}''' + 12800}, {"protocolType": "Https", "port": 12801}], "targetFqdns": [], "fqdnTags": + ["AzureBackup", "HDInsight"], "sourceIpGroups": []}, {"name": "application-rule-2", + "description": "test", "ruleType": "ApplicationRule", "sourceAddresses": ["202.120.36.13", + "202.120.36.14"], "destinationAddresses": ["202.120.36.15", "202.120.36.16"], + "protocols": [{"protocolType": "Http", "port": 12800}, {"protocolType": "Https", + "port": 12801}], "targetFqdns": ["www.bing.com"]}]}]}, "name": "myclirulecollectiongroup"}''' headers: Accept: - application/json @@ -2099,78 +2161,89 @@ interactions: Connection: - keep-alive Content-Length: - - '1956' + - '2079' Content-Type: - application/json; charset=utf-8 ParameterSetName: - -g --policy-name --rule-collection-group-name --collection-name --name --rule-type --description --source-addresses --destination-addresses --protocols --target-fqdns User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-network/7.0.0 - Azure-SDK-For-Python AZURECLI/2.0.79 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleGroups/myclirulecollectiongroup?api-version=2019-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleCollectionGroups/myclirulecollectiongroup?api-version=2020-05-01 response: body: - string: "{\r\n \"properties\": {\r\n \"priority\": 12000,\r\n \"rules\": - [\r\n {\r\n \"ruleType\": \"FirewallPolicyNatRule\",\r\n \"action\": - {\r\n \"type\": \"Dnat\"\r\n },\r\n \"translatedAddress\": - \"128.1.1.1\",\r\n \"translatedPort\": \"1234\",\r\n \"ruleCondition\": - {\r\n \"ruleConditionType\": \"NetworkRuleCondition\",\r\n \"name\": - \"network-rule\",\r\n \"ipProtocols\": [\r\n \"TCP\",\r\n - \ \"UDP\"\r\n ],\r\n \"sourceAddresses\": [\r\n - \ \"202.120.36.13\",\r\n \"202.120.36.14\"\r\n ],\r\n - \ \"destinationAddresses\": [\r\n \"202.120.36.15\"\r\n - \ ],\r\n \"destinationPorts\": [\r\n \"12000\",\r\n - \ \"12001\"\r\n ]\r\n },\r\n \"name\": \"nat-collection\",\r\n - \ \"priority\": 10005\r\n },\r\n {\r\n \"ruleType\": - \"FirewallPolicyFilterRule\",\r\n \"action\": {\r\n \"type\": - \"Allow\"\r\n },\r\n \"ruleConditions\": [\r\n {\r\n - \ \"ruleConditionType\": \"NetworkRuleCondition\",\r\n \"name\": - \"network-rule\",\r\n \"ipProtocols\": [\r\n \"Any\",\r\n - \ \"ICMP\"\r\n ],\r\n \"sourceAddresses\": - [\r\n \"202.120.36.13\",\r\n \"202.120.36.14\"\r\n - \ ],\r\n \"destinationAddresses\": [\r\n \"202.120.36.15\"\r\n - \ ],\r\n \"destinationPorts\": [\r\n \"12003\",\r\n - \ \"12004\"\r\n ]\r\n }\r\n ],\r\n - \ \"name\": \"filter-collection-1\",\r\n \"priority\": 13000\r\n - \ },\r\n {\r\n \"ruleType\": \"FirewallPolicyFilterRule\",\r\n - \ \"action\": {\r\n \"type\": \"Allow\"\r\n },\r\n \"ruleConditions\": - [\r\n {\r\n \"ruleConditionType\": \"ApplicationRuleCondition\",\r\n - \ \"name\": \"application-rule\",\r\n \"protocols\": - [\r\n {\r\n \"protocolType\": \"Http\",\r\n \"port\": - 12800\r\n },\r\n {\r\n \"protocolType\": - \"Https\",\r\n \"port\": 12801\r\n }\r\n ],\r\n - \ \"fqdnTags\": [\r\n \"AzureBackup\",\r\n \"HDInsight\"\r\n - \ ],\r\n \"targetFqdns\": [],\r\n \"sourceAddresses\": - [\r\n \"202.120.36.13\",\r\n \"202.120.36.14\"\r\n - \ ]\r\n },\r\n {\r\n \"ruleConditionType\": - \"ApplicationRuleCondition\",\r\n \"name\": \"application-rule-2\",\r\n - \ \"protocols\": [\r\n {\r\n \"protocolType\": - \"Http\",\r\n \"port\": 12800\r\n },\r\n {\r\n - \ \"protocolType\": \"Https\",\r\n \"port\": - 12801\r\n }\r\n ],\r\n \"fqdnTags\": [],\r\n - \ \"targetFqdns\": [\r\n \"www.bing.com\"\r\n ],\r\n - \ \"sourceAddresses\": [\r\n \"202.120.36.13\",\r\n - \ \"202.120.36.14\"\r\n ]\r\n }\r\n ],\r\n - \ \"name\": \"filter-collection-2\",\r\n \"priority\": 14000\r\n - \ }\r\n ],\r\n \"provisioningState\": \"Updating\"\r\n },\r\n \"id\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleGroups/myclirulecollectiongroup\",\r\n - \ \"name\": \"myclirulecollectiongroup\",\r\n \"type\": \"Microsoft.Network/RuleGroups\",\r\n - \ \"etag\": \"20d3840a-d2bc-4976-9d2f-1286335cb2ed\",\r\n \"location\": \"westcentralus\"\r\n}" + string: "{\r\n \"properties\": {\r\n \"priority\": 12000,\r\n \"ruleCollections\"\ + : [\r\n {\r\n \"ruleCollectionType\": \"FirewallPolicyNatRuleCollection\"\ + ,\r\n \"action\": {\r\n \"type\": \"Dnat\"\r\n },\r\ + \n \"rules\": [\r\n {\r\n \"ruleType\": \"NatRule\"\ + ,\r\n \"name\": \"network-rule\",\r\n \"translatedAddress\"\ + : \"128.1.1.1\",\r\n \"translatedPort\": \"1234\",\r\n \ + \ \"ipProtocols\": [\r\n \"TCP\",\r\n \"UDP\"\ + \r\n ],\r\n \"sourceAddresses\": [\r\n \ + \ \"202.120.36.13\",\r\n \"202.120.36.14\"\r\n ],\r\ + \n \"sourceIpGroups\": [],\r\n \"destinationAddresses\"\ + : [\r\n \"202.120.36.15\"\r\n ],\r\n \"\ + destinationPorts\": [\r\n \"12000\",\r\n \"12001\"\ + \r\n ]\r\n }\r\n ],\r\n \"name\": \"nat-collection\"\ + ,\r\n \"priority\": 10005\r\n },\r\n {\r\n \"ruleCollectionType\"\ + : \"FirewallPolicyFilterRuleCollection\",\r\n \"action\": {\r\n \ + \ \"type\": \"Allow\"\r\n },\r\n \"rules\": [\r\n \ + \ {\r\n \"ruleType\": \"NetworkRule\",\r\n \"name\"\ + : \"network-rule\",\r\n \"ipProtocols\": [\r\n \"\ + Any\",\r\n \"ICMP\"\r\n ],\r\n \"sourceAddresses\"\ + : [\r\n \"202.120.36.13\",\r\n \"202.120.36.14\"\ + \r\n ],\r\n \"sourceIpGroups\": [],\r\n \"\ + destinationAddresses\": [\r\n \"202.120.36.15\"\r\n \ + \ ],\r\n \"destinationIpGroups\": [],\r\n \"destinationFqdns\"\ + : [],\r\n \"destinationPorts\": [\r\n \"12003\",\r\ + \n \"12004\"\r\n ]\r\n }\r\n ],\r\n\ + \ \"name\": \"filter-collection-1\",\r\n \"priority\": 13000\r\ + \n },\r\n {\r\n \"ruleCollectionType\": \"FirewallPolicyFilterRuleCollection\"\ + ,\r\n \"action\": {\r\n \"type\": \"Allow\"\r\n },\r\ + \n \"rules\": [\r\n {\r\n \"ruleType\": \"ApplicationRule\"\ + ,\r\n \"name\": \"application-rule\",\r\n \"protocols\"\ + : [\r\n {\r\n \"protocolType\": \"Http\",\r\n\ + \ \"port\": 12800\r\n },\r\n {\r\n\ + \ \"protocolType\": \"Https\",\r\n \"port\"\ + : 12801\r\n }\r\n ],\r\n \"fqdnTags\":\ + \ [\r\n \"AzureBackup\",\r\n \"HDInsight\"\r\n \ + \ ],\r\n \"targetFqdns\": [],\r\n \"sourceAddresses\"\ + : [\r\n \"202.120.36.13\",\r\n \"202.120.36.14\"\ + \r\n ],\r\n \"destinationAddresses\": [\r\n \ + \ \"202.120.36.15\",\r\n \"202.120.36.16\"\r\n \ + \ ],\r\n \"sourceIpGroups\": []\r\n },\r\n \ + \ {\r\n \"ruleType\": \"ApplicationRule\",\r\n \"name\"\ + : \"application-rule-2\",\r\n \"protocols\": [\r\n \ + \ {\r\n \"protocolType\": \"Http\",\r\n \"\ + port\": 12800\r\n },\r\n {\r\n \"\ + protocolType\": \"Https\",\r\n \"port\": 12801\r\n \ + \ }\r\n ],\r\n \"fqdnTags\": [],\r\n \ + \ \"targetFqdns\": [\r\n \"www.bing.com\"\r\n ],\r\ + \n \"sourceAddresses\": [\r\n \"202.120.36.13\",\r\ + \n \"202.120.36.14\"\r\n ],\r\n \"destinationAddresses\"\ + : [\r\n \"202.120.36.15\",\r\n \"202.120.36.16\"\ + \r\n ],\r\n \"sourceIpGroups\": []\r\n }\r\n\ + \ ],\r\n \"name\": \"filter-collection-2\",\r\n \"priority\"\ + : 14000\r\n }\r\n ],\r\n \"provisioningState\": \"Updating\"\r\n\ + \ },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleCollectionGroups/myclirulecollectiongroup\"\ + ,\r\n \"name\": \"myclirulecollectiongroup\",\r\n \"type\": \"Microsoft.Network/RuleCollectionGroups\"\ + ,\r\n \"etag\": \"37e38f87-a7cc-4df8-b8d7-384acab96a9f\",\r\n \"location\"\ + : \"eastus2euap\"\r\n}" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westcentralus/nfvOperations/3f723fe0-33d3-411e-9091-1801db090c1d?api-version=2019-07-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus2euap/nfvOperations/5de35e1c-6fc8-4e28-b517-98024380f320?api-version=2020-05-01 cache-control: - no-cache content-length: - - '3492' + - '3999' content-type: - application/json; charset=utf-8 date: - - Wed, 15 Jan 2020 14:09:28 GMT + - Thu, 18 Jun 2020 04:39:14 GMT expires: - '-1' pragma: @@ -2205,10 +2278,10 @@ interactions: - -g --policy-name --rule-collection-group-name --collection-name --name --rule-type --description --source-addresses --destination-addresses --protocols --target-fqdns User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-network/7.0.0 - Azure-SDK-For-Python AZURECLI/2.0.79 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westcentralus/nfvOperations/3f723fe0-33d3-411e-9091-1801db090c1d?api-version=2019-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus2euap/nfvOperations/5de35e1c-6fc8-4e28-b517-98024380f320?api-version=2020-05-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -2220,7 +2293,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 15 Jan 2020 14:09:40 GMT + - Thu, 18 Jun 2020 04:39:26 GMT expires: - '-1' pragma: @@ -2253,67 +2326,78 @@ interactions: - -g --policy-name --rule-collection-group-name --collection-name --name --rule-type --description --source-addresses --destination-addresses --protocols --target-fqdns User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-network/7.0.0 - Azure-SDK-For-Python AZURECLI/2.0.79 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleGroups/myclirulecollectiongroup?api-version=2019-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleCollectionGroups/myclirulecollectiongroup?api-version=2020-05-01 response: body: - string: "{\r\n \"properties\": {\r\n \"priority\": 12000,\r\n \"rules\": - [\r\n {\r\n \"ruleType\": \"FirewallPolicyNatRule\",\r\n \"action\": - {\r\n \"type\": \"Dnat\"\r\n },\r\n \"translatedAddress\": - \"128.1.1.1\",\r\n \"translatedPort\": \"1234\",\r\n \"ruleCondition\": - {\r\n \"ruleConditionType\": \"NetworkRuleCondition\",\r\n \"name\": - \"network-rule\",\r\n \"ipProtocols\": [\r\n \"TCP\",\r\n - \ \"UDP\"\r\n ],\r\n \"sourceAddresses\": [\r\n - \ \"202.120.36.13\",\r\n \"202.120.36.14\"\r\n ],\r\n - \ \"destinationAddresses\": [\r\n \"202.120.36.15\"\r\n - \ ],\r\n \"destinationPorts\": [\r\n \"12000\",\r\n - \ \"12001\"\r\n ]\r\n },\r\n \"name\": \"nat-collection\",\r\n - \ \"priority\": 10005\r\n },\r\n {\r\n \"ruleType\": - \"FirewallPolicyFilterRule\",\r\n \"action\": {\r\n \"type\": - \"Allow\"\r\n },\r\n \"ruleConditions\": [\r\n {\r\n - \ \"ruleConditionType\": \"NetworkRuleCondition\",\r\n \"name\": - \"network-rule\",\r\n \"ipProtocols\": [\r\n \"Any\",\r\n - \ \"ICMP\"\r\n ],\r\n \"sourceAddresses\": - [\r\n \"202.120.36.13\",\r\n \"202.120.36.14\"\r\n - \ ],\r\n \"destinationAddresses\": [\r\n \"202.120.36.15\"\r\n - \ ],\r\n \"destinationPorts\": [\r\n \"12003\",\r\n - \ \"12004\"\r\n ]\r\n }\r\n ],\r\n - \ \"name\": \"filter-collection-1\",\r\n \"priority\": 13000\r\n - \ },\r\n {\r\n \"ruleType\": \"FirewallPolicyFilterRule\",\r\n - \ \"action\": {\r\n \"type\": \"Allow\"\r\n },\r\n \"ruleConditions\": - [\r\n {\r\n \"ruleConditionType\": \"ApplicationRuleCondition\",\r\n - \ \"name\": \"application-rule\",\r\n \"protocols\": - [\r\n {\r\n \"protocolType\": \"Http\",\r\n \"port\": - 12800\r\n },\r\n {\r\n \"protocolType\": - \"Https\",\r\n \"port\": 12801\r\n }\r\n ],\r\n - \ \"fqdnTags\": [\r\n \"AzureBackup\",\r\n \"HDInsight\"\r\n - \ ],\r\n \"targetFqdns\": [],\r\n \"sourceAddresses\": - [\r\n \"202.120.36.13\",\r\n \"202.120.36.14\"\r\n - \ ]\r\n },\r\n {\r\n \"ruleConditionType\": - \"ApplicationRuleCondition\",\r\n \"name\": \"application-rule-2\",\r\n - \ \"protocols\": [\r\n {\r\n \"protocolType\": - \"Http\",\r\n \"port\": 12800\r\n },\r\n {\r\n - \ \"protocolType\": \"Https\",\r\n \"port\": - 12801\r\n }\r\n ],\r\n \"fqdnTags\": [],\r\n - \ \"targetFqdns\": [\r\n \"www.bing.com\"\r\n ],\r\n - \ \"sourceAddresses\": [\r\n \"202.120.36.13\",\r\n - \ \"202.120.36.14\"\r\n ]\r\n }\r\n ],\r\n - \ \"name\": \"filter-collection-2\",\r\n \"priority\": 14000\r\n - \ }\r\n ],\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n - \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleGroups/myclirulecollectiongroup\",\r\n - \ \"name\": \"myclirulecollectiongroup\",\r\n \"type\": \"Microsoft.Network/RuleGroups\",\r\n - \ \"etag\": \"20d3840a-d2bc-4976-9d2f-1286335cb2ed\",\r\n \"location\": \"westcentralus\"\r\n}" + string: "{\r\n \"properties\": {\r\n \"priority\": 12000,\r\n \"ruleCollections\"\ + : [\r\n {\r\n \"ruleCollectionType\": \"FirewallPolicyNatRuleCollection\"\ + ,\r\n \"action\": {\r\n \"type\": \"Dnat\"\r\n },\r\ + \n \"rules\": [\r\n {\r\n \"ruleType\": \"NatRule\"\ + ,\r\n \"name\": \"network-rule\",\r\n \"translatedAddress\"\ + : \"128.1.1.1\",\r\n \"translatedPort\": \"1234\",\r\n \ + \ \"ipProtocols\": [\r\n \"TCP\",\r\n \"UDP\"\ + \r\n ],\r\n \"sourceAddresses\": [\r\n \ + \ \"202.120.36.13\",\r\n \"202.120.36.14\"\r\n ],\r\ + \n \"sourceIpGroups\": [],\r\n \"destinationAddresses\"\ + : [\r\n \"202.120.36.15\"\r\n ],\r\n \"\ + destinationPorts\": [\r\n \"12000\",\r\n \"12001\"\ + \r\n ]\r\n }\r\n ],\r\n \"name\": \"nat-collection\"\ + ,\r\n \"priority\": 10005\r\n },\r\n {\r\n \"ruleCollectionType\"\ + : \"FirewallPolicyFilterRuleCollection\",\r\n \"action\": {\r\n \ + \ \"type\": \"Allow\"\r\n },\r\n \"rules\": [\r\n \ + \ {\r\n \"ruleType\": \"NetworkRule\",\r\n \"name\"\ + : \"network-rule\",\r\n \"ipProtocols\": [\r\n \"\ + Any\",\r\n \"ICMP\"\r\n ],\r\n \"sourceAddresses\"\ + : [\r\n \"202.120.36.13\",\r\n \"202.120.36.14\"\ + \r\n ],\r\n \"sourceIpGroups\": [],\r\n \"\ + destinationAddresses\": [\r\n \"202.120.36.15\"\r\n \ + \ ],\r\n \"destinationIpGroups\": [],\r\n \"destinationFqdns\"\ + : [],\r\n \"destinationPorts\": [\r\n \"12003\",\r\ + \n \"12004\"\r\n ]\r\n }\r\n ],\r\n\ + \ \"name\": \"filter-collection-1\",\r\n \"priority\": 13000\r\ + \n },\r\n {\r\n \"ruleCollectionType\": \"FirewallPolicyFilterRuleCollection\"\ + ,\r\n \"action\": {\r\n \"type\": \"Allow\"\r\n },\r\ + \n \"rules\": [\r\n {\r\n \"ruleType\": \"ApplicationRule\"\ + ,\r\n \"name\": \"application-rule\",\r\n \"protocols\"\ + : [\r\n {\r\n \"protocolType\": \"Http\",\r\n\ + \ \"port\": 12800\r\n },\r\n {\r\n\ + \ \"protocolType\": \"Https\",\r\n \"port\"\ + : 12801\r\n }\r\n ],\r\n \"fqdnTags\":\ + \ [\r\n \"AzureBackup\",\r\n \"HDInsight\"\r\n \ + \ ],\r\n \"targetFqdns\": [],\r\n \"sourceAddresses\"\ + : [\r\n \"202.120.36.13\",\r\n \"202.120.36.14\"\ + \r\n ],\r\n \"destinationAddresses\": [\r\n \ + \ \"202.120.36.15\",\r\n \"202.120.36.16\"\r\n \ + \ ],\r\n \"sourceIpGroups\": []\r\n },\r\n \ + \ {\r\n \"ruleType\": \"ApplicationRule\",\r\n \"name\"\ + : \"application-rule-2\",\r\n \"protocols\": [\r\n \ + \ {\r\n \"protocolType\": \"Http\",\r\n \"\ + port\": 12800\r\n },\r\n {\r\n \"\ + protocolType\": \"Https\",\r\n \"port\": 12801\r\n \ + \ }\r\n ],\r\n \"fqdnTags\": [],\r\n \ + \ \"targetFqdns\": [\r\n \"www.bing.com\"\r\n ],\r\ + \n \"sourceAddresses\": [\r\n \"202.120.36.13\",\r\ + \n \"202.120.36.14\"\r\n ],\r\n \"destinationAddresses\"\ + : [\r\n \"202.120.36.15\",\r\n \"202.120.36.16\"\ + \r\n ],\r\n \"sourceIpGroups\": []\r\n }\r\n\ + \ ],\r\n \"name\": \"filter-collection-2\",\r\n \"priority\"\ + : 14000\r\n }\r\n ],\r\n \"provisioningState\": \"Succeeded\"\r\ + \n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleCollectionGroups/myclirulecollectiongroup\"\ + ,\r\n \"name\": \"myclirulecollectiongroup\",\r\n \"type\": \"Microsoft.Network/RuleCollectionGroups\"\ + ,\r\n \"etag\": \"37e38f87-a7cc-4df8-b8d7-384acab96a9f\",\r\n \"location\"\ + : \"eastus2euap\"\r\n}" headers: cache-control: - no-cache content-length: - - '3493' + - '4000' content-type: - application/json; charset=utf-8 date: - - Wed, 15 Jan 2020 14:09:41 GMT + - Thu, 18 Jun 2020 04:39:27 GMT expires: - '-1' pragma: @@ -2347,69 +2431,80 @@ interactions: --description --destination-addresses --source-addresses --destination-ports --ip-protocols User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-network/7.0.0 - Azure-SDK-For-Python AZURECLI/2.0.79 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleGroups/myclirulecollectiongroup?api-version=2019-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleCollectionGroups/myclirulecollectiongroup?api-version=2020-05-01 response: body: - string: "{\r\n \"properties\": {\r\n \"priority\": 12000,\r\n \"rules\": - [\r\n {\r\n \"ruleType\": \"FirewallPolicyNatRule\",\r\n \"action\": - {\r\n \"type\": \"Dnat\"\r\n },\r\n \"translatedAddress\": - \"128.1.1.1\",\r\n \"translatedPort\": \"1234\",\r\n \"ruleCondition\": - {\r\n \"ruleConditionType\": \"NetworkRuleCondition\",\r\n \"name\": - \"network-rule\",\r\n \"ipProtocols\": [\r\n \"TCP\",\r\n - \ \"UDP\"\r\n ],\r\n \"sourceAddresses\": [\r\n - \ \"202.120.36.13\",\r\n \"202.120.36.14\"\r\n ],\r\n - \ \"destinationAddresses\": [\r\n \"202.120.36.15\"\r\n - \ ],\r\n \"destinationPorts\": [\r\n \"12000\",\r\n - \ \"12001\"\r\n ]\r\n },\r\n \"name\": \"nat-collection\",\r\n - \ \"priority\": 10005\r\n },\r\n {\r\n \"ruleType\": - \"FirewallPolicyFilterRule\",\r\n \"action\": {\r\n \"type\": - \"Allow\"\r\n },\r\n \"ruleConditions\": [\r\n {\r\n - \ \"ruleConditionType\": \"NetworkRuleCondition\",\r\n \"name\": - \"network-rule\",\r\n \"ipProtocols\": [\r\n \"Any\",\r\n - \ \"ICMP\"\r\n ],\r\n \"sourceAddresses\": - [\r\n \"202.120.36.13\",\r\n \"202.120.36.14\"\r\n - \ ],\r\n \"destinationAddresses\": [\r\n \"202.120.36.15\"\r\n - \ ],\r\n \"destinationPorts\": [\r\n \"12003\",\r\n - \ \"12004\"\r\n ]\r\n }\r\n ],\r\n - \ \"name\": \"filter-collection-1\",\r\n \"priority\": 13000\r\n - \ },\r\n {\r\n \"ruleType\": \"FirewallPolicyFilterRule\",\r\n - \ \"action\": {\r\n \"type\": \"Allow\"\r\n },\r\n \"ruleConditions\": - [\r\n {\r\n \"ruleConditionType\": \"ApplicationRuleCondition\",\r\n - \ \"name\": \"application-rule\",\r\n \"protocols\": - [\r\n {\r\n \"protocolType\": \"Http\",\r\n \"port\": - 12800\r\n },\r\n {\r\n \"protocolType\": - \"Https\",\r\n \"port\": 12801\r\n }\r\n ],\r\n - \ \"fqdnTags\": [\r\n \"AzureBackup\",\r\n \"HDInsight\"\r\n - \ ],\r\n \"targetFqdns\": [],\r\n \"sourceAddresses\": - [\r\n \"202.120.36.13\",\r\n \"202.120.36.14\"\r\n - \ ]\r\n },\r\n {\r\n \"ruleConditionType\": - \"ApplicationRuleCondition\",\r\n \"name\": \"application-rule-2\",\r\n - \ \"protocols\": [\r\n {\r\n \"protocolType\": - \"Http\",\r\n \"port\": 12800\r\n },\r\n {\r\n - \ \"protocolType\": \"Https\",\r\n \"port\": - 12801\r\n }\r\n ],\r\n \"fqdnTags\": [],\r\n - \ \"targetFqdns\": [\r\n \"www.bing.com\"\r\n ],\r\n - \ \"sourceAddresses\": [\r\n \"202.120.36.13\",\r\n - \ \"202.120.36.14\"\r\n ]\r\n }\r\n ],\r\n - \ \"name\": \"filter-collection-2\",\r\n \"priority\": 14000\r\n - \ }\r\n ],\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n - \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleGroups/myclirulecollectiongroup\",\r\n - \ \"name\": \"myclirulecollectiongroup\",\r\n \"type\": \"Microsoft.Network/RuleGroups\",\r\n - \ \"etag\": \"20d3840a-d2bc-4976-9d2f-1286335cb2ed\",\r\n \"location\": \"westcentralus\"\r\n}" + string: "{\r\n \"properties\": {\r\n \"priority\": 12000,\r\n \"ruleCollections\"\ + : [\r\n {\r\n \"ruleCollectionType\": \"FirewallPolicyNatRuleCollection\"\ + ,\r\n \"action\": {\r\n \"type\": \"Dnat\"\r\n },\r\ + \n \"rules\": [\r\n {\r\n \"ruleType\": \"NatRule\"\ + ,\r\n \"name\": \"network-rule\",\r\n \"translatedAddress\"\ + : \"128.1.1.1\",\r\n \"translatedPort\": \"1234\",\r\n \ + \ \"ipProtocols\": [\r\n \"TCP\",\r\n \"UDP\"\ + \r\n ],\r\n \"sourceAddresses\": [\r\n \ + \ \"202.120.36.13\",\r\n \"202.120.36.14\"\r\n ],\r\ + \n \"sourceIpGroups\": [],\r\n \"destinationAddresses\"\ + : [\r\n \"202.120.36.15\"\r\n ],\r\n \"\ + destinationPorts\": [\r\n \"12000\",\r\n \"12001\"\ + \r\n ]\r\n }\r\n ],\r\n \"name\": \"nat-collection\"\ + ,\r\n \"priority\": 10005\r\n },\r\n {\r\n \"ruleCollectionType\"\ + : \"FirewallPolicyFilterRuleCollection\",\r\n \"action\": {\r\n \ + \ \"type\": \"Allow\"\r\n },\r\n \"rules\": [\r\n \ + \ {\r\n \"ruleType\": \"NetworkRule\",\r\n \"name\"\ + : \"network-rule\",\r\n \"ipProtocols\": [\r\n \"\ + Any\",\r\n \"ICMP\"\r\n ],\r\n \"sourceAddresses\"\ + : [\r\n \"202.120.36.13\",\r\n \"202.120.36.14\"\ + \r\n ],\r\n \"sourceIpGroups\": [],\r\n \"\ + destinationAddresses\": [\r\n \"202.120.36.15\"\r\n \ + \ ],\r\n \"destinationIpGroups\": [],\r\n \"destinationFqdns\"\ + : [],\r\n \"destinationPorts\": [\r\n \"12003\",\r\ + \n \"12004\"\r\n ]\r\n }\r\n ],\r\n\ + \ \"name\": \"filter-collection-1\",\r\n \"priority\": 13000\r\ + \n },\r\n {\r\n \"ruleCollectionType\": \"FirewallPolicyFilterRuleCollection\"\ + ,\r\n \"action\": {\r\n \"type\": \"Allow\"\r\n },\r\ + \n \"rules\": [\r\n {\r\n \"ruleType\": \"ApplicationRule\"\ + ,\r\n \"name\": \"application-rule\",\r\n \"protocols\"\ + : [\r\n {\r\n \"protocolType\": \"Http\",\r\n\ + \ \"port\": 12800\r\n },\r\n {\r\n\ + \ \"protocolType\": \"Https\",\r\n \"port\"\ + : 12801\r\n }\r\n ],\r\n \"fqdnTags\":\ + \ [\r\n \"AzureBackup\",\r\n \"HDInsight\"\r\n \ + \ ],\r\n \"targetFqdns\": [],\r\n \"sourceAddresses\"\ + : [\r\n \"202.120.36.13\",\r\n \"202.120.36.14\"\ + \r\n ],\r\n \"destinationAddresses\": [\r\n \ + \ \"202.120.36.15\",\r\n \"202.120.36.16\"\r\n \ + \ ],\r\n \"sourceIpGroups\": []\r\n },\r\n \ + \ {\r\n \"ruleType\": \"ApplicationRule\",\r\n \"name\"\ + : \"application-rule-2\",\r\n \"protocols\": [\r\n \ + \ {\r\n \"protocolType\": \"Http\",\r\n \"\ + port\": 12800\r\n },\r\n {\r\n \"\ + protocolType\": \"Https\",\r\n \"port\": 12801\r\n \ + \ }\r\n ],\r\n \"fqdnTags\": [],\r\n \ + \ \"targetFqdns\": [\r\n \"www.bing.com\"\r\n ],\r\ + \n \"sourceAddresses\": [\r\n \"202.120.36.13\",\r\ + \n \"202.120.36.14\"\r\n ],\r\n \"destinationAddresses\"\ + : [\r\n \"202.120.36.15\",\r\n \"202.120.36.16\"\ + \r\n ],\r\n \"sourceIpGroups\": []\r\n }\r\n\ + \ ],\r\n \"name\": \"filter-collection-2\",\r\n \"priority\"\ + : 14000\r\n }\r\n ],\r\n \"provisioningState\": \"Succeeded\"\r\ + \n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleCollectionGroups/myclirulecollectiongroup\"\ + ,\r\n \"name\": \"myclirulecollectiongroup\",\r\n \"type\": \"Microsoft.Network/RuleCollectionGroups\"\ + ,\r\n \"etag\": \"37e38f87-a7cc-4df8-b8d7-384acab96a9f\",\r\n \"location\"\ + : \"eastus2euap\"\r\n}" headers: cache-control: - no-cache content-length: - - '3493' + - '4000' content-type: - application/json; charset=utf-8 date: - - Wed, 15 Jan 2020 14:09:42 GMT + - Thu, 18 Jun 2020 04:39:28 GMT expires: - '-1' pragma: @@ -2428,30 +2523,32 @@ interactions: code: 200 message: OK - request: - body: 'b''{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleGroups/myclirulecollectiongroup", - "properties": {"priority": 12000, "rules": [{"name": "nat-collection", "priority": - 10005, "ruleType": "FirewallPolicyNatRule", "action": {"type": "Dnat"}, "translatedAddress": - "128.1.1.1", "translatedPort": "1234", "ruleCondition": {"name": "network-rule", - "ruleConditionType": "NetworkRuleCondition", "ipProtocols": ["TCP", "UDP"], + body: 'b''{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleCollectionGroups/myclirulecollectiongroup", + "properties": {"priority": 12000, "ruleCollections": [{"name": "nat-collection", + "priority": 10005, "ruleCollectionType": "FirewallPolicyNatRuleCollection", + "action": {"type": "Dnat"}, "rules": [{"name": "network-rule", "ruleType": "NatRule", + "ipProtocols": ["TCP", "UDP"], "sourceAddresses": ["202.120.36.13", "202.120.36.14"], + "destinationAddresses": ["202.120.36.15"], "destinationPorts": ["12000", "12001"], + "translatedAddress": "128.1.1.1", "translatedPort": "1234", "sourceIpGroups": + []}]}, {"name": "filter-collection-1", "priority": 13000, "ruleCollectionType": + "FirewallPolicyFilterRuleCollection", "action": {"type": "Allow"}, "rules": + [{"name": "network-rule", "ruleType": "NetworkRule", "ipProtocols": ["Any", + "ICMP"], "sourceAddresses": ["202.120.36.13", "202.120.36.14"], "destinationAddresses": + ["202.120.36.15"], "destinationPorts": ["12003", "12004"], "sourceIpGroups": + [], "destinationIpGroups": [], "destinationFqdns": []}, {"name": "network-rule-2", + "description": "test", "ruleType": "NetworkRule", "ipProtocols": ["Any", "ICMP"], "sourceAddresses": ["202.120.36.13", "202.120.36.14"], "destinationAddresses": - ["202.120.36.15"], "destinationPorts": ["12000", "12001"]}}, {"name": "filter-collection-1", - "priority": 13000, "ruleType": "FirewallPolicyFilterRule", "action": {"type": - "Allow"}, "ruleConditions": [{"name": "network-rule", "ruleConditionType": "NetworkRuleCondition", - "ipProtocols": ["Any", "ICMP"], "sourceAddresses": ["202.120.36.13", "202.120.36.14"], - "destinationAddresses": ["202.120.36.15"], "destinationPorts": ["12003", "12004"]}, - {"name": "network-rule-2", "description": "test", "ruleConditionType": "NetworkRuleCondition", - "ipProtocols": ["Any", "ICMP"], "sourceAddresses": ["202.120.36.13", "202.120.36.14"], - "destinationAddresses": ["202.120.36.15"], "destinationPorts": ["12003", "12004"]}]}, - {"name": "filter-collection-2", "priority": 14000, "ruleType": "FirewallPolicyFilterRule", - "action": {"type": "Allow"}, "ruleConditions": [{"name": "application-rule", - "ruleConditionType": "ApplicationRuleCondition", "sourceAddresses": ["202.120.36.13", - "202.120.36.14"], "protocols": [{"protocolType": "Http", "port": 12800}, {"protocolType": - "Https", "port": 12801}], "targetFqdns": [], "fqdnTags": ["AzureBackup", "HDInsight"]}, - {"name": "application-rule-2", "ruleConditionType": "ApplicationRuleCondition", - "sourceAddresses": ["202.120.36.13", "202.120.36.14"], "protocols": [{"protocolType": + ["202.120.36.15"], "destinationPorts": ["12003", "12004"]}]}, {"name": "filter-collection-2", + "priority": 14000, "ruleCollectionType": "FirewallPolicyFilterRuleCollection", + "action": {"type": "Allow"}, "rules": [{"name": "application-rule", "ruleType": + "ApplicationRule", "sourceAddresses": ["202.120.36.13", "202.120.36.14"], "destinationAddresses": + ["202.120.36.15", "202.120.36.16"], "protocols": [{"protocolType": "Http", "port": + 12800}, {"protocolType": "Https", "port": 12801}], "targetFqdns": [], "fqdnTags": + ["AzureBackup", "HDInsight"], "sourceIpGroups": []}, {"name": "application-rule-2", + "ruleType": "ApplicationRule", "sourceAddresses": ["202.120.36.13", "202.120.36.14"], + "destinationAddresses": ["202.120.36.15", "202.120.36.16"], "protocols": [{"protocolType": "Http", "port": 12800}, {"protocolType": "Https", "port": 12801}], "targetFqdns": - ["www.bing.com"], "fqdnTags": []}]}], "provisioningState": "Succeeded"}, "name": - "myclirulecollectiongroup"}''' + ["www.bing.com"], "fqdnTags": [], "sourceIpGroups": []}]}]}, "name": "myclirulecollectiongroup"}''' headers: Accept: - application/json @@ -2462,7 +2559,7 @@ interactions: Connection: - keep-alive Content-Length: - - '2155' + - '2342' Content-Type: - application/json; charset=utf-8 ParameterSetName: @@ -2470,78 +2567,91 @@ interactions: --description --destination-addresses --source-addresses --destination-ports --ip-protocols User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-network/7.0.0 - Azure-SDK-For-Python AZURECLI/2.0.79 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleGroups/myclirulecollectiongroup?api-version=2019-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleCollectionGroups/myclirulecollectiongroup?api-version=2020-05-01 response: body: - string: "{\r\n \"properties\": {\r\n \"priority\": 12000,\r\n \"rules\": - [\r\n {\r\n \"ruleType\": \"FirewallPolicyNatRule\",\r\n \"action\": - {\r\n \"type\": \"Dnat\"\r\n },\r\n \"translatedAddress\": - \"128.1.1.1\",\r\n \"translatedPort\": \"1234\",\r\n \"ruleCondition\": - {\r\n \"ruleConditionType\": \"NetworkRuleCondition\",\r\n \"name\": - \"network-rule\",\r\n \"ipProtocols\": [\r\n \"TCP\",\r\n - \ \"UDP\"\r\n ],\r\n \"sourceAddresses\": [\r\n - \ \"202.120.36.13\",\r\n \"202.120.36.14\"\r\n ],\r\n - \ \"destinationAddresses\": [\r\n \"202.120.36.15\"\r\n - \ ],\r\n \"destinationPorts\": [\r\n \"12000\",\r\n - \ \"12001\"\r\n ]\r\n },\r\n \"name\": \"nat-collection\",\r\n - \ \"priority\": 10005\r\n },\r\n {\r\n \"ruleType\": - \"FirewallPolicyFilterRule\",\r\n \"action\": {\r\n \"type\": - \"Allow\"\r\n },\r\n \"ruleConditions\": [\r\n {\r\n - \ \"ruleConditionType\": \"NetworkRuleCondition\",\r\n \"name\": - \"network-rule\",\r\n \"ipProtocols\": [\r\n \"Any\",\r\n - \ \"ICMP\"\r\n ],\r\n \"sourceAddresses\": - [\r\n \"202.120.36.13\",\r\n \"202.120.36.14\"\r\n - \ ],\r\n \"destinationAddresses\": [\r\n \"202.120.36.15\"\r\n - \ ],\r\n \"destinationPorts\": [\r\n \"12003\",\r\n - \ \"12004\"\r\n ]\r\n },\r\n {\r\n - \ \"ruleConditionType\": \"NetworkRuleCondition\",\r\n \"name\": - \"network-rule-2\",\r\n \"ipProtocols\": [\r\n \"Any\",\r\n - \ \"ICMP\"\r\n ],\r\n \"sourceAddresses\": - [\r\n \"202.120.36.13\",\r\n \"202.120.36.14\"\r\n - \ ],\r\n \"destinationAddresses\": [\r\n \"202.120.36.15\"\r\n - \ ],\r\n \"destinationPorts\": [\r\n \"12003\",\r\n - \ \"12004\"\r\n ]\r\n }\r\n ],\r\n - \ \"name\": \"filter-collection-1\",\r\n \"priority\": 13000\r\n - \ },\r\n {\r\n \"ruleType\": \"FirewallPolicyFilterRule\",\r\n - \ \"action\": {\r\n \"type\": \"Allow\"\r\n },\r\n \"ruleConditions\": - [\r\n {\r\n \"ruleConditionType\": \"ApplicationRuleCondition\",\r\n - \ \"name\": \"application-rule\",\r\n \"protocols\": - [\r\n {\r\n \"protocolType\": \"Http\",\r\n \"port\": - 12800\r\n },\r\n {\r\n \"protocolType\": - \"Https\",\r\n \"port\": 12801\r\n }\r\n ],\r\n - \ \"fqdnTags\": [\r\n \"AzureBackup\",\r\n \"HDInsight\"\r\n - \ ],\r\n \"targetFqdns\": [],\r\n \"sourceAddresses\": - [\r\n \"202.120.36.13\",\r\n \"202.120.36.14\"\r\n - \ ]\r\n },\r\n {\r\n \"ruleConditionType\": - \"ApplicationRuleCondition\",\r\n \"name\": \"application-rule-2\",\r\n - \ \"protocols\": [\r\n {\r\n \"protocolType\": - \"Http\",\r\n \"port\": 12800\r\n },\r\n {\r\n - \ \"protocolType\": \"Https\",\r\n \"port\": - 12801\r\n }\r\n ],\r\n \"fqdnTags\": [],\r\n - \ \"targetFqdns\": [\r\n \"www.bing.com\"\r\n ],\r\n - \ \"sourceAddresses\": [\r\n \"202.120.36.13\",\r\n - \ \"202.120.36.14\"\r\n ]\r\n }\r\n ],\r\n - \ \"name\": \"filter-collection-2\",\r\n \"priority\": 14000\r\n - \ }\r\n ],\r\n \"provisioningState\": \"Updating\"\r\n },\r\n \"id\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleGroups/myclirulecollectiongroup\",\r\n - \ \"name\": \"myclirulecollectiongroup\",\r\n \"type\": \"Microsoft.Network/RuleGroups\",\r\n - \ \"etag\": \"cfdd4e10-a4ba-4fff-a7e2-0e780c3054b8\",\r\n \"location\": \"westcentralus\"\r\n}" + string: "{\r\n \"properties\": {\r\n \"priority\": 12000,\r\n \"ruleCollections\"\ + : [\r\n {\r\n \"ruleCollectionType\": \"FirewallPolicyNatRuleCollection\"\ + ,\r\n \"action\": {\r\n \"type\": \"Dnat\"\r\n },\r\ + \n \"rules\": [\r\n {\r\n \"ruleType\": \"NatRule\"\ + ,\r\n \"name\": \"network-rule\",\r\n \"translatedAddress\"\ + : \"128.1.1.1\",\r\n \"translatedPort\": \"1234\",\r\n \ + \ \"ipProtocols\": [\r\n \"TCP\",\r\n \"UDP\"\ + \r\n ],\r\n \"sourceAddresses\": [\r\n \ + \ \"202.120.36.13\",\r\n \"202.120.36.14\"\r\n ],\r\ + \n \"sourceIpGroups\": [],\r\n \"destinationAddresses\"\ + : [\r\n \"202.120.36.15\"\r\n ],\r\n \"\ + destinationPorts\": [\r\n \"12000\",\r\n \"12001\"\ + \r\n ]\r\n }\r\n ],\r\n \"name\": \"nat-collection\"\ + ,\r\n \"priority\": 10005\r\n },\r\n {\r\n \"ruleCollectionType\"\ + : \"FirewallPolicyFilterRuleCollection\",\r\n \"action\": {\r\n \ + \ \"type\": \"Allow\"\r\n },\r\n \"rules\": [\r\n \ + \ {\r\n \"ruleType\": \"NetworkRule\",\r\n \"name\"\ + : \"network-rule\",\r\n \"ipProtocols\": [\r\n \"\ + Any\",\r\n \"ICMP\"\r\n ],\r\n \"sourceAddresses\"\ + : [\r\n \"202.120.36.13\",\r\n \"202.120.36.14\"\ + \r\n ],\r\n \"sourceIpGroups\": [],\r\n \"\ + destinationAddresses\": [\r\n \"202.120.36.15\"\r\n \ + \ ],\r\n \"destinationIpGroups\": [],\r\n \"destinationFqdns\"\ + : [],\r\n \"destinationPorts\": [\r\n \"12003\",\r\ + \n \"12004\"\r\n ]\r\n },\r\n {\r\ + \n \"ruleType\": \"NetworkRule\",\r\n \"name\": \"network-rule-2\"\ + ,\r\n \"ipProtocols\": [\r\n \"Any\",\r\n \ + \ \"ICMP\"\r\n ],\r\n \"sourceAddresses\": [\r\n\ + \ \"202.120.36.13\",\r\n \"202.120.36.14\"\r\n \ + \ ],\r\n \"sourceIpGroups\": [],\r\n \"destinationAddresses\"\ + : [\r\n \"202.120.36.15\"\r\n ],\r\n \"\ + destinationIpGroups\": [],\r\n \"destinationFqdns\": [],\r\n \ + \ \"destinationPorts\": [\r\n \"12003\",\r\n \ + \ \"12004\"\r\n ]\r\n }\r\n ],\r\n \ + \ \"name\": \"filter-collection-1\",\r\n \"priority\": 13000\r\n \ + \ },\r\n {\r\n \"ruleCollectionType\": \"FirewallPolicyFilterRuleCollection\"\ + ,\r\n \"action\": {\r\n \"type\": \"Allow\"\r\n },\r\ + \n \"rules\": [\r\n {\r\n \"ruleType\": \"ApplicationRule\"\ + ,\r\n \"name\": \"application-rule\",\r\n \"protocols\"\ + : [\r\n {\r\n \"protocolType\": \"Http\",\r\n\ + \ \"port\": 12800\r\n },\r\n {\r\n\ + \ \"protocolType\": \"Https\",\r\n \"port\"\ + : 12801\r\n }\r\n ],\r\n \"fqdnTags\":\ + \ [\r\n \"AzureBackup\",\r\n \"HDInsight\"\r\n \ + \ ],\r\n \"targetFqdns\": [],\r\n \"sourceAddresses\"\ + : [\r\n \"202.120.36.13\",\r\n \"202.120.36.14\"\ + \r\n ],\r\n \"destinationAddresses\": [\r\n \ + \ \"202.120.36.15\",\r\n \"202.120.36.16\"\r\n \ + \ ],\r\n \"sourceIpGroups\": []\r\n },\r\n \ + \ {\r\n \"ruleType\": \"ApplicationRule\",\r\n \"name\"\ + : \"application-rule-2\",\r\n \"protocols\": [\r\n \ + \ {\r\n \"protocolType\": \"Http\",\r\n \"\ + port\": 12800\r\n },\r\n {\r\n \"\ + protocolType\": \"Https\",\r\n \"port\": 12801\r\n \ + \ }\r\n ],\r\n \"fqdnTags\": [],\r\n \ + \ \"targetFqdns\": [\r\n \"www.bing.com\"\r\n ],\r\ + \n \"sourceAddresses\": [\r\n \"202.120.36.13\",\r\ + \n \"202.120.36.14\"\r\n ],\r\n \"destinationAddresses\"\ + : [\r\n \"202.120.36.15\",\r\n \"202.120.36.16\"\ + \r\n ],\r\n \"sourceIpGroups\": []\r\n }\r\n\ + \ ],\r\n \"name\": \"filter-collection-2\",\r\n \"priority\"\ + : 14000\r\n }\r\n ],\r\n \"provisioningState\": \"Updating\"\r\n\ + \ },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleCollectionGroups/myclirulecollectiongroup\"\ + ,\r\n \"name\": \"myclirulecollectiongroup\",\r\n \"type\": \"Microsoft.Network/RuleCollectionGroups\"\ + ,\r\n \"etag\": \"4b9e90f2-98f7-4e34-ad18-7d359a606071\",\r\n \"location\"\ + : \"eastus2euap\"\r\n}" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westcentralus/nfvOperations/0225217b-fa2e-427f-acfc-6a55fc22c1c3?api-version=2019-07-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus2euap/nfvOperations/2881ecd4-b471-42ad-b27b-f00fb206c088?api-version=2020-05-01 cache-control: - no-cache content-length: - - '4002' + - '4603' content-type: - application/json; charset=utf-8 date: - - Wed, 15 Jan 2020 14:09:43 GMT + - Thu, 18 Jun 2020 04:39:32 GMT expires: - '-1' pragma: @@ -2557,7 +2667,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1197' status: code: 200 message: OK @@ -2577,10 +2687,10 @@ interactions: --description --destination-addresses --source-addresses --destination-ports --ip-protocols User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-network/7.0.0 - Azure-SDK-For-Python AZURECLI/2.0.79 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westcentralus/nfvOperations/0225217b-fa2e-427f-acfc-6a55fc22c1c3?api-version=2019-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus2euap/nfvOperations/2881ecd4-b471-42ad-b27b-f00fb206c088?api-version=2020-05-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -2592,7 +2702,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 15 Jan 2020 14:09:55 GMT + - Thu, 18 Jun 2020 04:39:44 GMT expires: - '-1' pragma: @@ -2626,74 +2736,87 @@ interactions: --description --destination-addresses --source-addresses --destination-ports --ip-protocols User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-network/7.0.0 - Azure-SDK-For-Python AZURECLI/2.0.79 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleGroups/myclirulecollectiongroup?api-version=2019-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleCollectionGroups/myclirulecollectiongroup?api-version=2020-05-01 response: body: - string: "{\r\n \"properties\": {\r\n \"priority\": 12000,\r\n \"rules\": - [\r\n {\r\n \"ruleType\": \"FirewallPolicyNatRule\",\r\n \"action\": - {\r\n \"type\": \"Dnat\"\r\n },\r\n \"translatedAddress\": - \"128.1.1.1\",\r\n \"translatedPort\": \"1234\",\r\n \"ruleCondition\": - {\r\n \"ruleConditionType\": \"NetworkRuleCondition\",\r\n \"name\": - \"network-rule\",\r\n \"ipProtocols\": [\r\n \"TCP\",\r\n - \ \"UDP\"\r\n ],\r\n \"sourceAddresses\": [\r\n - \ \"202.120.36.13\",\r\n \"202.120.36.14\"\r\n ],\r\n - \ \"destinationAddresses\": [\r\n \"202.120.36.15\"\r\n - \ ],\r\n \"destinationPorts\": [\r\n \"12000\",\r\n - \ \"12001\"\r\n ]\r\n },\r\n \"name\": \"nat-collection\",\r\n - \ \"priority\": 10005\r\n },\r\n {\r\n \"ruleType\": - \"FirewallPolicyFilterRule\",\r\n \"action\": {\r\n \"type\": - \"Allow\"\r\n },\r\n \"ruleConditions\": [\r\n {\r\n - \ \"ruleConditionType\": \"NetworkRuleCondition\",\r\n \"name\": - \"network-rule\",\r\n \"ipProtocols\": [\r\n \"Any\",\r\n - \ \"ICMP\"\r\n ],\r\n \"sourceAddresses\": - [\r\n \"202.120.36.13\",\r\n \"202.120.36.14\"\r\n - \ ],\r\n \"destinationAddresses\": [\r\n \"202.120.36.15\"\r\n - \ ],\r\n \"destinationPorts\": [\r\n \"12003\",\r\n - \ \"12004\"\r\n ]\r\n },\r\n {\r\n - \ \"ruleConditionType\": \"NetworkRuleCondition\",\r\n \"name\": - \"network-rule-2\",\r\n \"ipProtocols\": [\r\n \"Any\",\r\n - \ \"ICMP\"\r\n ],\r\n \"sourceAddresses\": - [\r\n \"202.120.36.13\",\r\n \"202.120.36.14\"\r\n - \ ],\r\n \"destinationAddresses\": [\r\n \"202.120.36.15\"\r\n - \ ],\r\n \"destinationPorts\": [\r\n \"12003\",\r\n - \ \"12004\"\r\n ]\r\n }\r\n ],\r\n - \ \"name\": \"filter-collection-1\",\r\n \"priority\": 13000\r\n - \ },\r\n {\r\n \"ruleType\": \"FirewallPolicyFilterRule\",\r\n - \ \"action\": {\r\n \"type\": \"Allow\"\r\n },\r\n \"ruleConditions\": - [\r\n {\r\n \"ruleConditionType\": \"ApplicationRuleCondition\",\r\n - \ \"name\": \"application-rule\",\r\n \"protocols\": - [\r\n {\r\n \"protocolType\": \"Http\",\r\n \"port\": - 12800\r\n },\r\n {\r\n \"protocolType\": - \"Https\",\r\n \"port\": 12801\r\n }\r\n ],\r\n - \ \"fqdnTags\": [\r\n \"AzureBackup\",\r\n \"HDInsight\"\r\n - \ ],\r\n \"targetFqdns\": [],\r\n \"sourceAddresses\": - [\r\n \"202.120.36.13\",\r\n \"202.120.36.14\"\r\n - \ ]\r\n },\r\n {\r\n \"ruleConditionType\": - \"ApplicationRuleCondition\",\r\n \"name\": \"application-rule-2\",\r\n - \ \"protocols\": [\r\n {\r\n \"protocolType\": - \"Http\",\r\n \"port\": 12800\r\n },\r\n {\r\n - \ \"protocolType\": \"Https\",\r\n \"port\": - 12801\r\n }\r\n ],\r\n \"fqdnTags\": [],\r\n - \ \"targetFqdns\": [\r\n \"www.bing.com\"\r\n ],\r\n - \ \"sourceAddresses\": [\r\n \"202.120.36.13\",\r\n - \ \"202.120.36.14\"\r\n ]\r\n }\r\n ],\r\n - \ \"name\": \"filter-collection-2\",\r\n \"priority\": 14000\r\n - \ }\r\n ],\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n - \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleGroups/myclirulecollectiongroup\",\r\n - \ \"name\": \"myclirulecollectiongroup\",\r\n \"type\": \"Microsoft.Network/RuleGroups\",\r\n - \ \"etag\": \"cfdd4e10-a4ba-4fff-a7e2-0e780c3054b8\",\r\n \"location\": \"westcentralus\"\r\n}" + string: "{\r\n \"properties\": {\r\n \"priority\": 12000,\r\n \"ruleCollections\"\ + : [\r\n {\r\n \"ruleCollectionType\": \"FirewallPolicyNatRuleCollection\"\ + ,\r\n \"action\": {\r\n \"type\": \"Dnat\"\r\n },\r\ + \n \"rules\": [\r\n {\r\n \"ruleType\": \"NatRule\"\ + ,\r\n \"name\": \"network-rule\",\r\n \"translatedAddress\"\ + : \"128.1.1.1\",\r\n \"translatedPort\": \"1234\",\r\n \ + \ \"ipProtocols\": [\r\n \"TCP\",\r\n \"UDP\"\ + \r\n ],\r\n \"sourceAddresses\": [\r\n \ + \ \"202.120.36.13\",\r\n \"202.120.36.14\"\r\n ],\r\ + \n \"sourceIpGroups\": [],\r\n \"destinationAddresses\"\ + : [\r\n \"202.120.36.15\"\r\n ],\r\n \"\ + destinationPorts\": [\r\n \"12000\",\r\n \"12001\"\ + \r\n ]\r\n }\r\n ],\r\n \"name\": \"nat-collection\"\ + ,\r\n \"priority\": 10005\r\n },\r\n {\r\n \"ruleCollectionType\"\ + : \"FirewallPolicyFilterRuleCollection\",\r\n \"action\": {\r\n \ + \ \"type\": \"Allow\"\r\n },\r\n \"rules\": [\r\n \ + \ {\r\n \"ruleType\": \"NetworkRule\",\r\n \"name\"\ + : \"network-rule\",\r\n \"ipProtocols\": [\r\n \"\ + Any\",\r\n \"ICMP\"\r\n ],\r\n \"sourceAddresses\"\ + : [\r\n \"202.120.36.13\",\r\n \"202.120.36.14\"\ + \r\n ],\r\n \"sourceIpGroups\": [],\r\n \"\ + destinationAddresses\": [\r\n \"202.120.36.15\"\r\n \ + \ ],\r\n \"destinationIpGroups\": [],\r\n \"destinationFqdns\"\ + : [],\r\n \"destinationPorts\": [\r\n \"12003\",\r\ + \n \"12004\"\r\n ]\r\n },\r\n {\r\ + \n \"ruleType\": \"NetworkRule\",\r\n \"name\": \"network-rule-2\"\ + ,\r\n \"ipProtocols\": [\r\n \"Any\",\r\n \ + \ \"ICMP\"\r\n ],\r\n \"sourceAddresses\": [\r\n\ + \ \"202.120.36.13\",\r\n \"202.120.36.14\"\r\n \ + \ ],\r\n \"sourceIpGroups\": [],\r\n \"destinationAddresses\"\ + : [\r\n \"202.120.36.15\"\r\n ],\r\n \"\ + destinationIpGroups\": [],\r\n \"destinationFqdns\": [],\r\n \ + \ \"destinationPorts\": [\r\n \"12003\",\r\n \ + \ \"12004\"\r\n ]\r\n }\r\n ],\r\n \ + \ \"name\": \"filter-collection-1\",\r\n \"priority\": 13000\r\n \ + \ },\r\n {\r\n \"ruleCollectionType\": \"FirewallPolicyFilterRuleCollection\"\ + ,\r\n \"action\": {\r\n \"type\": \"Allow\"\r\n },\r\ + \n \"rules\": [\r\n {\r\n \"ruleType\": \"ApplicationRule\"\ + ,\r\n \"name\": \"application-rule\",\r\n \"protocols\"\ + : [\r\n {\r\n \"protocolType\": \"Http\",\r\n\ + \ \"port\": 12800\r\n },\r\n {\r\n\ + \ \"protocolType\": \"Https\",\r\n \"port\"\ + : 12801\r\n }\r\n ],\r\n \"fqdnTags\":\ + \ [\r\n \"AzureBackup\",\r\n \"HDInsight\"\r\n \ + \ ],\r\n \"targetFqdns\": [],\r\n \"sourceAddresses\"\ + : [\r\n \"202.120.36.13\",\r\n \"202.120.36.14\"\ + \r\n ],\r\n \"destinationAddresses\": [\r\n \ + \ \"202.120.36.15\",\r\n \"202.120.36.16\"\r\n \ + \ ],\r\n \"sourceIpGroups\": []\r\n },\r\n \ + \ {\r\n \"ruleType\": \"ApplicationRule\",\r\n \"name\"\ + : \"application-rule-2\",\r\n \"protocols\": [\r\n \ + \ {\r\n \"protocolType\": \"Http\",\r\n \"\ + port\": 12800\r\n },\r\n {\r\n \"\ + protocolType\": \"Https\",\r\n \"port\": 12801\r\n \ + \ }\r\n ],\r\n \"fqdnTags\": [],\r\n \ + \ \"targetFqdns\": [\r\n \"www.bing.com\"\r\n ],\r\ + \n \"sourceAddresses\": [\r\n \"202.120.36.13\",\r\ + \n \"202.120.36.14\"\r\n ],\r\n \"destinationAddresses\"\ + : [\r\n \"202.120.36.15\",\r\n \"202.120.36.16\"\ + \r\n ],\r\n \"sourceIpGroups\": []\r\n }\r\n\ + \ ],\r\n \"name\": \"filter-collection-2\",\r\n \"priority\"\ + : 14000\r\n }\r\n ],\r\n \"provisioningState\": \"Succeeded\"\r\ + \n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleCollectionGroups/myclirulecollectiongroup\"\ + ,\r\n \"name\": \"myclirulecollectiongroup\",\r\n \"type\": \"Microsoft.Network/RuleCollectionGroups\"\ + ,\r\n \"etag\": \"4b9e90f2-98f7-4e34-ad18-7d359a606071\",\r\n \"location\"\ + : \"eastus2euap\"\r\n}" headers: cache-control: - no-cache content-length: - - '4003' + - '4604' content-type: - application/json; charset=utf-8 date: - - Wed, 15 Jan 2020 14:09:57 GMT + - Thu, 18 Jun 2020 04:39:45 GMT expires: - '-1' pragma: @@ -2725,76 +2848,89 @@ interactions: ParameterSetName: - -g --policy-name --rule-collection-group-name --collection-name --name User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-network/7.0.0 - Azure-SDK-For-Python AZURECLI/2.0.79 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleGroups/myclirulecollectiongroup?api-version=2019-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleCollectionGroups/myclirulecollectiongroup?api-version=2020-05-01 response: body: - string: "{\r\n \"properties\": {\r\n \"priority\": 12000,\r\n \"rules\": - [\r\n {\r\n \"ruleType\": \"FirewallPolicyNatRule\",\r\n \"action\": - {\r\n \"type\": \"Dnat\"\r\n },\r\n \"translatedAddress\": - \"128.1.1.1\",\r\n \"translatedPort\": \"1234\",\r\n \"ruleCondition\": - {\r\n \"ruleConditionType\": \"NetworkRuleCondition\",\r\n \"name\": - \"network-rule\",\r\n \"ipProtocols\": [\r\n \"TCP\",\r\n - \ \"UDP\"\r\n ],\r\n \"sourceAddresses\": [\r\n - \ \"202.120.36.13\",\r\n \"202.120.36.14\"\r\n ],\r\n - \ \"destinationAddresses\": [\r\n \"202.120.36.15\"\r\n - \ ],\r\n \"destinationPorts\": [\r\n \"12000\",\r\n - \ \"12001\"\r\n ]\r\n },\r\n \"name\": \"nat-collection\",\r\n - \ \"priority\": 10005\r\n },\r\n {\r\n \"ruleType\": - \"FirewallPolicyFilterRule\",\r\n \"action\": {\r\n \"type\": - \"Allow\"\r\n },\r\n \"ruleConditions\": [\r\n {\r\n - \ \"ruleConditionType\": \"NetworkRuleCondition\",\r\n \"name\": - \"network-rule\",\r\n \"ipProtocols\": [\r\n \"Any\",\r\n - \ \"ICMP\"\r\n ],\r\n \"sourceAddresses\": - [\r\n \"202.120.36.13\",\r\n \"202.120.36.14\"\r\n - \ ],\r\n \"destinationAddresses\": [\r\n \"202.120.36.15\"\r\n - \ ],\r\n \"destinationPorts\": [\r\n \"12003\",\r\n - \ \"12004\"\r\n ]\r\n },\r\n {\r\n - \ \"ruleConditionType\": \"NetworkRuleCondition\",\r\n \"name\": - \"network-rule-2\",\r\n \"ipProtocols\": [\r\n \"Any\",\r\n - \ \"ICMP\"\r\n ],\r\n \"sourceAddresses\": - [\r\n \"202.120.36.13\",\r\n \"202.120.36.14\"\r\n - \ ],\r\n \"destinationAddresses\": [\r\n \"202.120.36.15\"\r\n - \ ],\r\n \"destinationPorts\": [\r\n \"12003\",\r\n - \ \"12004\"\r\n ]\r\n }\r\n ],\r\n - \ \"name\": \"filter-collection-1\",\r\n \"priority\": 13000\r\n - \ },\r\n {\r\n \"ruleType\": \"FirewallPolicyFilterRule\",\r\n - \ \"action\": {\r\n \"type\": \"Allow\"\r\n },\r\n \"ruleConditions\": - [\r\n {\r\n \"ruleConditionType\": \"ApplicationRuleCondition\",\r\n - \ \"name\": \"application-rule\",\r\n \"protocols\": - [\r\n {\r\n \"protocolType\": \"Http\",\r\n \"port\": - 12800\r\n },\r\n {\r\n \"protocolType\": - \"Https\",\r\n \"port\": 12801\r\n }\r\n ],\r\n - \ \"fqdnTags\": [\r\n \"AzureBackup\",\r\n \"HDInsight\"\r\n - \ ],\r\n \"targetFqdns\": [],\r\n \"sourceAddresses\": - [\r\n \"202.120.36.13\",\r\n \"202.120.36.14\"\r\n - \ ]\r\n },\r\n {\r\n \"ruleConditionType\": - \"ApplicationRuleCondition\",\r\n \"name\": \"application-rule-2\",\r\n - \ \"protocols\": [\r\n {\r\n \"protocolType\": - \"Http\",\r\n \"port\": 12800\r\n },\r\n {\r\n - \ \"protocolType\": \"Https\",\r\n \"port\": - 12801\r\n }\r\n ],\r\n \"fqdnTags\": [],\r\n - \ \"targetFqdns\": [\r\n \"www.bing.com\"\r\n ],\r\n - \ \"sourceAddresses\": [\r\n \"202.120.36.13\",\r\n - \ \"202.120.36.14\"\r\n ]\r\n }\r\n ],\r\n - \ \"name\": \"filter-collection-2\",\r\n \"priority\": 14000\r\n - \ }\r\n ],\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n - \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleGroups/myclirulecollectiongroup\",\r\n - \ \"name\": \"myclirulecollectiongroup\",\r\n \"type\": \"Microsoft.Network/RuleGroups\",\r\n - \ \"etag\": \"cfdd4e10-a4ba-4fff-a7e2-0e780c3054b8\",\r\n \"location\": \"westcentralus\"\r\n}" + string: "{\r\n \"properties\": {\r\n \"priority\": 12000,\r\n \"ruleCollections\"\ + : [\r\n {\r\n \"ruleCollectionType\": \"FirewallPolicyNatRuleCollection\"\ + ,\r\n \"action\": {\r\n \"type\": \"Dnat\"\r\n },\r\ + \n \"rules\": [\r\n {\r\n \"ruleType\": \"NatRule\"\ + ,\r\n \"name\": \"network-rule\",\r\n \"translatedAddress\"\ + : \"128.1.1.1\",\r\n \"translatedPort\": \"1234\",\r\n \ + \ \"ipProtocols\": [\r\n \"TCP\",\r\n \"UDP\"\ + \r\n ],\r\n \"sourceAddresses\": [\r\n \ + \ \"202.120.36.13\",\r\n \"202.120.36.14\"\r\n ],\r\ + \n \"sourceIpGroups\": [],\r\n \"destinationAddresses\"\ + : [\r\n \"202.120.36.15\"\r\n ],\r\n \"\ + destinationPorts\": [\r\n \"12000\",\r\n \"12001\"\ + \r\n ]\r\n }\r\n ],\r\n \"name\": \"nat-collection\"\ + ,\r\n \"priority\": 10005\r\n },\r\n {\r\n \"ruleCollectionType\"\ + : \"FirewallPolicyFilterRuleCollection\",\r\n \"action\": {\r\n \ + \ \"type\": \"Allow\"\r\n },\r\n \"rules\": [\r\n \ + \ {\r\n \"ruleType\": \"NetworkRule\",\r\n \"name\"\ + : \"network-rule\",\r\n \"ipProtocols\": [\r\n \"\ + Any\",\r\n \"ICMP\"\r\n ],\r\n \"sourceAddresses\"\ + : [\r\n \"202.120.36.13\",\r\n \"202.120.36.14\"\ + \r\n ],\r\n \"sourceIpGroups\": [],\r\n \"\ + destinationAddresses\": [\r\n \"202.120.36.15\"\r\n \ + \ ],\r\n \"destinationIpGroups\": [],\r\n \"destinationFqdns\"\ + : [],\r\n \"destinationPorts\": [\r\n \"12003\",\r\ + \n \"12004\"\r\n ]\r\n },\r\n {\r\ + \n \"ruleType\": \"NetworkRule\",\r\n \"name\": \"network-rule-2\"\ + ,\r\n \"ipProtocols\": [\r\n \"Any\",\r\n \ + \ \"ICMP\"\r\n ],\r\n \"sourceAddresses\": [\r\n\ + \ \"202.120.36.13\",\r\n \"202.120.36.14\"\r\n \ + \ ],\r\n \"sourceIpGroups\": [],\r\n \"destinationAddresses\"\ + : [\r\n \"202.120.36.15\"\r\n ],\r\n \"\ + destinationIpGroups\": [],\r\n \"destinationFqdns\": [],\r\n \ + \ \"destinationPorts\": [\r\n \"12003\",\r\n \ + \ \"12004\"\r\n ]\r\n }\r\n ],\r\n \ + \ \"name\": \"filter-collection-1\",\r\n \"priority\": 13000\r\n \ + \ },\r\n {\r\n \"ruleCollectionType\": \"FirewallPolicyFilterRuleCollection\"\ + ,\r\n \"action\": {\r\n \"type\": \"Allow\"\r\n },\r\ + \n \"rules\": [\r\n {\r\n \"ruleType\": \"ApplicationRule\"\ + ,\r\n \"name\": \"application-rule\",\r\n \"protocols\"\ + : [\r\n {\r\n \"protocolType\": \"Http\",\r\n\ + \ \"port\": 12800\r\n },\r\n {\r\n\ + \ \"protocolType\": \"Https\",\r\n \"port\"\ + : 12801\r\n }\r\n ],\r\n \"fqdnTags\":\ + \ [\r\n \"AzureBackup\",\r\n \"HDInsight\"\r\n \ + \ ],\r\n \"targetFqdns\": [],\r\n \"sourceAddresses\"\ + : [\r\n \"202.120.36.13\",\r\n \"202.120.36.14\"\ + \r\n ],\r\n \"destinationAddresses\": [\r\n \ + \ \"202.120.36.15\",\r\n \"202.120.36.16\"\r\n \ + \ ],\r\n \"sourceIpGroups\": []\r\n },\r\n \ + \ {\r\n \"ruleType\": \"ApplicationRule\",\r\n \"name\"\ + : \"application-rule-2\",\r\n \"protocols\": [\r\n \ + \ {\r\n \"protocolType\": \"Http\",\r\n \"\ + port\": 12800\r\n },\r\n {\r\n \"\ + protocolType\": \"Https\",\r\n \"port\": 12801\r\n \ + \ }\r\n ],\r\n \"fqdnTags\": [],\r\n \ + \ \"targetFqdns\": [\r\n \"www.bing.com\"\r\n ],\r\ + \n \"sourceAddresses\": [\r\n \"202.120.36.13\",\r\ + \n \"202.120.36.14\"\r\n ],\r\n \"destinationAddresses\"\ + : [\r\n \"202.120.36.15\",\r\n \"202.120.36.16\"\ + \r\n ],\r\n \"sourceIpGroups\": []\r\n }\r\n\ + \ ],\r\n \"name\": \"filter-collection-2\",\r\n \"priority\"\ + : 14000\r\n }\r\n ],\r\n \"provisioningState\": \"Succeeded\"\r\ + \n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleCollectionGroups/myclirulecollectiongroup\"\ + ,\r\n \"name\": \"myclirulecollectiongroup\",\r\n \"type\": \"Microsoft.Network/RuleCollectionGroups\"\ + ,\r\n \"etag\": \"4b9e90f2-98f7-4e34-ad18-7d359a606071\",\r\n \"location\"\ + : \"eastus2euap\"\r\n}" headers: cache-control: - no-cache content-length: - - '4003' + - '4604' content-type: - application/json; charset=utf-8 date: - - Wed, 15 Jan 2020 14:09:58 GMT + - Thu, 18 Jun 2020 04:39:47 GMT expires: - '-1' pragma: @@ -2813,27 +2949,29 @@ interactions: code: 200 message: OK - request: - body: 'b''{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleGroups/myclirulecollectiongroup", - "properties": {"priority": 12000, "rules": [{"name": "nat-collection", "priority": - 10005, "ruleType": "FirewallPolicyNatRule", "action": {"type": "Dnat"}, "translatedAddress": - "128.1.1.1", "translatedPort": "1234", "ruleCondition": {"name": "network-rule", - "ruleConditionType": "NetworkRuleCondition", "ipProtocols": ["TCP", "UDP"], - "sourceAddresses": ["202.120.36.13", "202.120.36.14"], "destinationAddresses": - ["202.120.36.15"], "destinationPorts": ["12000", "12001"]}}, {"name": "filter-collection-1", - "priority": 13000, "ruleType": "FirewallPolicyFilterRule", "action": {"type": - "Allow"}, "ruleConditions": [{"name": "network-rule", "ruleConditionType": "NetworkRuleCondition", - "ipProtocols": ["Any", "ICMP"], "sourceAddresses": ["202.120.36.13", "202.120.36.14"], - "destinationAddresses": ["202.120.36.15"], "destinationPorts": ["12003", "12004"]}]}, - {"name": "filter-collection-2", "priority": 14000, "ruleType": "FirewallPolicyFilterRule", - "action": {"type": "Allow"}, "ruleConditions": [{"name": "application-rule", - "ruleConditionType": "ApplicationRuleCondition", "sourceAddresses": ["202.120.36.13", - "202.120.36.14"], "protocols": [{"protocolType": "Http", "port": 12800}, {"protocolType": - "Https", "port": 12801}], "targetFqdns": [], "fqdnTags": ["AzureBackup", "HDInsight"]}, - {"name": "application-rule-2", "ruleConditionType": "ApplicationRuleCondition", - "sourceAddresses": ["202.120.36.13", "202.120.36.14"], "protocols": [{"protocolType": + body: 'b''{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleCollectionGroups/myclirulecollectiongroup", + "properties": {"priority": 12000, "ruleCollections": [{"name": "nat-collection", + "priority": 10005, "ruleCollectionType": "FirewallPolicyNatRuleCollection", + "action": {"type": "Dnat"}, "rules": [{"name": "network-rule", "ruleType": "NatRule", + "ipProtocols": ["TCP", "UDP"], "sourceAddresses": ["202.120.36.13", "202.120.36.14"], + "destinationAddresses": ["202.120.36.15"], "destinationPorts": ["12000", "12001"], + "translatedAddress": "128.1.1.1", "translatedPort": "1234", "sourceIpGroups": + []}]}, {"name": "filter-collection-1", "priority": 13000, "ruleCollectionType": + "FirewallPolicyFilterRuleCollection", "action": {"type": "Allow"}, "rules": + [{"name": "network-rule", "ruleType": "NetworkRule", "ipProtocols": ["Any", + "ICMP"], "sourceAddresses": ["202.120.36.13", "202.120.36.14"], "destinationAddresses": + ["202.120.36.15"], "destinationPorts": ["12003", "12004"], "sourceIpGroups": + [], "destinationIpGroups": [], "destinationFqdns": []}]}, {"name": "filter-collection-2", + "priority": 14000, "ruleCollectionType": "FirewallPolicyFilterRuleCollection", + "action": {"type": "Allow"}, "rules": [{"name": "application-rule", "ruleType": + "ApplicationRule", "sourceAddresses": ["202.120.36.13", "202.120.36.14"], "destinationAddresses": + ["202.120.36.15", "202.120.36.16"], "protocols": [{"protocolType": "Http", "port": + 12800}, {"protocolType": "Https", "port": 12801}], "targetFqdns": [], "fqdnTags": + ["AzureBackup", "HDInsight"], "sourceIpGroups": []}, {"name": "application-rule-2", + "ruleType": "ApplicationRule", "sourceAddresses": ["202.120.36.13", "202.120.36.14"], + "destinationAddresses": ["202.120.36.15", "202.120.36.16"], "protocols": [{"protocolType": "Http", "port": 12800}, {"protocolType": "Https", "port": 12801}], "targetFqdns": - ["www.bing.com"], "fqdnTags": []}]}], "provisioningState": "Succeeded"}, "name": - "myclirulecollectiongroup"}''' + ["www.bing.com"], "fqdnTags": [], "sourceIpGroups": []}]}]}, "name": "myclirulecollectiongroup"}''' headers: Accept: - application/json @@ -2844,77 +2982,88 @@ interactions: Connection: - keep-alive Content-Length: - - '1889' + - '2094' Content-Type: - application/json; charset=utf-8 ParameterSetName: - -g --policy-name --rule-collection-group-name --collection-name --name User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-network/7.0.0 - Azure-SDK-For-Python AZURECLI/2.0.79 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleGroups/myclirulecollectiongroup?api-version=2019-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleCollectionGroups/myclirulecollectiongroup?api-version=2020-05-01 response: body: - string: "{\r\n \"properties\": {\r\n \"priority\": 12000,\r\n \"rules\": - [\r\n {\r\n \"ruleType\": \"FirewallPolicyNatRule\",\r\n \"action\": - {\r\n \"type\": \"Dnat\"\r\n },\r\n \"translatedAddress\": - \"128.1.1.1\",\r\n \"translatedPort\": \"1234\",\r\n \"ruleCondition\": - {\r\n \"ruleConditionType\": \"NetworkRuleCondition\",\r\n \"name\": - \"network-rule\",\r\n \"ipProtocols\": [\r\n \"TCP\",\r\n - \ \"UDP\"\r\n ],\r\n \"sourceAddresses\": [\r\n - \ \"202.120.36.13\",\r\n \"202.120.36.14\"\r\n ],\r\n - \ \"destinationAddresses\": [\r\n \"202.120.36.15\"\r\n - \ ],\r\n \"destinationPorts\": [\r\n \"12000\",\r\n - \ \"12001\"\r\n ]\r\n },\r\n \"name\": \"nat-collection\",\r\n - \ \"priority\": 10005\r\n },\r\n {\r\n \"ruleType\": - \"FirewallPolicyFilterRule\",\r\n \"action\": {\r\n \"type\": - \"Allow\"\r\n },\r\n \"ruleConditions\": [\r\n {\r\n - \ \"ruleConditionType\": \"NetworkRuleCondition\",\r\n \"name\": - \"network-rule\",\r\n \"ipProtocols\": [\r\n \"Any\",\r\n - \ \"ICMP\"\r\n ],\r\n \"sourceAddresses\": - [\r\n \"202.120.36.13\",\r\n \"202.120.36.14\"\r\n - \ ],\r\n \"destinationAddresses\": [\r\n \"202.120.36.15\"\r\n - \ ],\r\n \"destinationPorts\": [\r\n \"12003\",\r\n - \ \"12004\"\r\n ]\r\n }\r\n ],\r\n - \ \"name\": \"filter-collection-1\",\r\n \"priority\": 13000\r\n - \ },\r\n {\r\n \"ruleType\": \"FirewallPolicyFilterRule\",\r\n - \ \"action\": {\r\n \"type\": \"Allow\"\r\n },\r\n \"ruleConditions\": - [\r\n {\r\n \"ruleConditionType\": \"ApplicationRuleCondition\",\r\n - \ \"name\": \"application-rule\",\r\n \"protocols\": - [\r\n {\r\n \"protocolType\": \"Http\",\r\n \"port\": - 12800\r\n },\r\n {\r\n \"protocolType\": - \"Https\",\r\n \"port\": 12801\r\n }\r\n ],\r\n - \ \"fqdnTags\": [\r\n \"AzureBackup\",\r\n \"HDInsight\"\r\n - \ ],\r\n \"targetFqdns\": [],\r\n \"sourceAddresses\": - [\r\n \"202.120.36.13\",\r\n \"202.120.36.14\"\r\n - \ ]\r\n },\r\n {\r\n \"ruleConditionType\": - \"ApplicationRuleCondition\",\r\n \"name\": \"application-rule-2\",\r\n - \ \"protocols\": [\r\n {\r\n \"protocolType\": - \"Http\",\r\n \"port\": 12800\r\n },\r\n {\r\n - \ \"protocolType\": \"Https\",\r\n \"port\": - 12801\r\n }\r\n ],\r\n \"fqdnTags\": [],\r\n - \ \"targetFqdns\": [\r\n \"www.bing.com\"\r\n ],\r\n - \ \"sourceAddresses\": [\r\n \"202.120.36.13\",\r\n - \ \"202.120.36.14\"\r\n ]\r\n }\r\n ],\r\n - \ \"name\": \"filter-collection-2\",\r\n \"priority\": 14000\r\n - \ }\r\n ],\r\n \"provisioningState\": \"Updating\"\r\n },\r\n \"id\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleGroups/myclirulecollectiongroup\",\r\n - \ \"name\": \"myclirulecollectiongroup\",\r\n \"type\": \"Microsoft.Network/RuleGroups\",\r\n - \ \"etag\": \"46c29ef8-c90f-433a-9218-ef977a2b4f44\",\r\n \"location\": \"westcentralus\"\r\n}" + string: "{\r\n \"properties\": {\r\n \"priority\": 12000,\r\n \"ruleCollections\"\ + : [\r\n {\r\n \"ruleCollectionType\": \"FirewallPolicyNatRuleCollection\"\ + ,\r\n \"action\": {\r\n \"type\": \"Dnat\"\r\n },\r\ + \n \"rules\": [\r\n {\r\n \"ruleType\": \"NatRule\"\ + ,\r\n \"name\": \"network-rule\",\r\n \"translatedAddress\"\ + : \"128.1.1.1\",\r\n \"translatedPort\": \"1234\",\r\n \ + \ \"ipProtocols\": [\r\n \"TCP\",\r\n \"UDP\"\ + \r\n ],\r\n \"sourceAddresses\": [\r\n \ + \ \"202.120.36.13\",\r\n \"202.120.36.14\"\r\n ],\r\ + \n \"sourceIpGroups\": [],\r\n \"destinationAddresses\"\ + : [\r\n \"202.120.36.15\"\r\n ],\r\n \"\ + destinationPorts\": [\r\n \"12000\",\r\n \"12001\"\ + \r\n ]\r\n }\r\n ],\r\n \"name\": \"nat-collection\"\ + ,\r\n \"priority\": 10005\r\n },\r\n {\r\n \"ruleCollectionType\"\ + : \"FirewallPolicyFilterRuleCollection\",\r\n \"action\": {\r\n \ + \ \"type\": \"Allow\"\r\n },\r\n \"rules\": [\r\n \ + \ {\r\n \"ruleType\": \"NetworkRule\",\r\n \"name\"\ + : \"network-rule\",\r\n \"ipProtocols\": [\r\n \"\ + Any\",\r\n \"ICMP\"\r\n ],\r\n \"sourceAddresses\"\ + : [\r\n \"202.120.36.13\",\r\n \"202.120.36.14\"\ + \r\n ],\r\n \"sourceIpGroups\": [],\r\n \"\ + destinationAddresses\": [\r\n \"202.120.36.15\"\r\n \ + \ ],\r\n \"destinationIpGroups\": [],\r\n \"destinationFqdns\"\ + : [],\r\n \"destinationPorts\": [\r\n \"12003\",\r\ + \n \"12004\"\r\n ]\r\n }\r\n ],\r\n\ + \ \"name\": \"filter-collection-1\",\r\n \"priority\": 13000\r\ + \n },\r\n {\r\n \"ruleCollectionType\": \"FirewallPolicyFilterRuleCollection\"\ + ,\r\n \"action\": {\r\n \"type\": \"Allow\"\r\n },\r\ + \n \"rules\": [\r\n {\r\n \"ruleType\": \"ApplicationRule\"\ + ,\r\n \"name\": \"application-rule\",\r\n \"protocols\"\ + : [\r\n {\r\n \"protocolType\": \"Http\",\r\n\ + \ \"port\": 12800\r\n },\r\n {\r\n\ + \ \"protocolType\": \"Https\",\r\n \"port\"\ + : 12801\r\n }\r\n ],\r\n \"fqdnTags\":\ + \ [\r\n \"AzureBackup\",\r\n \"HDInsight\"\r\n \ + \ ],\r\n \"targetFqdns\": [],\r\n \"sourceAddresses\"\ + : [\r\n \"202.120.36.13\",\r\n \"202.120.36.14\"\ + \r\n ],\r\n \"destinationAddresses\": [\r\n \ + \ \"202.120.36.15\",\r\n \"202.120.36.16\"\r\n \ + \ ],\r\n \"sourceIpGroups\": []\r\n },\r\n \ + \ {\r\n \"ruleType\": \"ApplicationRule\",\r\n \"name\"\ + : \"application-rule-2\",\r\n \"protocols\": [\r\n \ + \ {\r\n \"protocolType\": \"Http\",\r\n \"\ + port\": 12800\r\n },\r\n {\r\n \"\ + protocolType\": \"Https\",\r\n \"port\": 12801\r\n \ + \ }\r\n ],\r\n \"fqdnTags\": [],\r\n \ + \ \"targetFqdns\": [\r\n \"www.bing.com\"\r\n ],\r\ + \n \"sourceAddresses\": [\r\n \"202.120.36.13\",\r\ + \n \"202.120.36.14\"\r\n ],\r\n \"destinationAddresses\"\ + : [\r\n \"202.120.36.15\",\r\n \"202.120.36.16\"\ + \r\n ],\r\n \"sourceIpGroups\": []\r\n }\r\n\ + \ ],\r\n \"name\": \"filter-collection-2\",\r\n \"priority\"\ + : 14000\r\n }\r\n ],\r\n \"provisioningState\": \"Updating\"\r\n\ + \ },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleCollectionGroups/myclirulecollectiongroup\"\ + ,\r\n \"name\": \"myclirulecollectiongroup\",\r\n \"type\": \"Microsoft.Network/RuleCollectionGroups\"\ + ,\r\n \"etag\": \"14898ba1-79ee-4d8c-a48b-9f31769cc3da\",\r\n \"location\"\ + : \"eastus2euap\"\r\n}" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westcentralus/nfvOperations/e8038c80-26dd-4967-b56a-d6dc91c98cb4?api-version=2019-07-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus2euap/nfvOperations/187445e0-abc5-4b6d-a859-31be8ac305d8?api-version=2020-05-01 cache-control: - no-cache content-length: - - '3492' + - '3999' content-type: - application/json; charset=utf-8 date: - - Wed, 15 Jan 2020 14:09:59 GMT + - Thu, 18 Jun 2020 04:39:51 GMT expires: - '-1' pragma: @@ -2930,7 +3079,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1196' + - '1197' status: code: 200 message: OK @@ -2948,10 +3097,10 @@ interactions: ParameterSetName: - -g --policy-name --rule-collection-group-name --collection-name --name User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-network/7.0.0 - Azure-SDK-For-Python AZURECLI/2.0.79 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westcentralus/nfvOperations/e8038c80-26dd-4967-b56a-d6dc91c98cb4?api-version=2019-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus2euap/nfvOperations/187445e0-abc5-4b6d-a859-31be8ac305d8?api-version=2020-05-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -2963,7 +3112,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 15 Jan 2020 14:10:11 GMT + - Thu, 18 Jun 2020 04:40:02 GMT expires: - '-1' pragma: @@ -2995,67 +3144,78 @@ interactions: ParameterSetName: - -g --policy-name --rule-collection-group-name --collection-name --name User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-network/7.0.0 - Azure-SDK-For-Python AZURECLI/2.0.79 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleGroups/myclirulecollectiongroup?api-version=2019-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleCollectionGroups/myclirulecollectiongroup?api-version=2020-05-01 response: body: - string: "{\r\n \"properties\": {\r\n \"priority\": 12000,\r\n \"rules\": - [\r\n {\r\n \"ruleType\": \"FirewallPolicyNatRule\",\r\n \"action\": - {\r\n \"type\": \"Dnat\"\r\n },\r\n \"translatedAddress\": - \"128.1.1.1\",\r\n \"translatedPort\": \"1234\",\r\n \"ruleCondition\": - {\r\n \"ruleConditionType\": \"NetworkRuleCondition\",\r\n \"name\": - \"network-rule\",\r\n \"ipProtocols\": [\r\n \"TCP\",\r\n - \ \"UDP\"\r\n ],\r\n \"sourceAddresses\": [\r\n - \ \"202.120.36.13\",\r\n \"202.120.36.14\"\r\n ],\r\n - \ \"destinationAddresses\": [\r\n \"202.120.36.15\"\r\n - \ ],\r\n \"destinationPorts\": [\r\n \"12000\",\r\n - \ \"12001\"\r\n ]\r\n },\r\n \"name\": \"nat-collection\",\r\n - \ \"priority\": 10005\r\n },\r\n {\r\n \"ruleType\": - \"FirewallPolicyFilterRule\",\r\n \"action\": {\r\n \"type\": - \"Allow\"\r\n },\r\n \"ruleConditions\": [\r\n {\r\n - \ \"ruleConditionType\": \"NetworkRuleCondition\",\r\n \"name\": - \"network-rule\",\r\n \"ipProtocols\": [\r\n \"Any\",\r\n - \ \"ICMP\"\r\n ],\r\n \"sourceAddresses\": - [\r\n \"202.120.36.13\",\r\n \"202.120.36.14\"\r\n - \ ],\r\n \"destinationAddresses\": [\r\n \"202.120.36.15\"\r\n - \ ],\r\n \"destinationPorts\": [\r\n \"12003\",\r\n - \ \"12004\"\r\n ]\r\n }\r\n ],\r\n - \ \"name\": \"filter-collection-1\",\r\n \"priority\": 13000\r\n - \ },\r\n {\r\n \"ruleType\": \"FirewallPolicyFilterRule\",\r\n - \ \"action\": {\r\n \"type\": \"Allow\"\r\n },\r\n \"ruleConditions\": - [\r\n {\r\n \"ruleConditionType\": \"ApplicationRuleCondition\",\r\n - \ \"name\": \"application-rule\",\r\n \"protocols\": - [\r\n {\r\n \"protocolType\": \"Http\",\r\n \"port\": - 12800\r\n },\r\n {\r\n \"protocolType\": - \"Https\",\r\n \"port\": 12801\r\n }\r\n ],\r\n - \ \"fqdnTags\": [\r\n \"AzureBackup\",\r\n \"HDInsight\"\r\n - \ ],\r\n \"targetFqdns\": [],\r\n \"sourceAddresses\": - [\r\n \"202.120.36.13\",\r\n \"202.120.36.14\"\r\n - \ ]\r\n },\r\n {\r\n \"ruleConditionType\": - \"ApplicationRuleCondition\",\r\n \"name\": \"application-rule-2\",\r\n - \ \"protocols\": [\r\n {\r\n \"protocolType\": - \"Http\",\r\n \"port\": 12800\r\n },\r\n {\r\n - \ \"protocolType\": \"Https\",\r\n \"port\": - 12801\r\n }\r\n ],\r\n \"fqdnTags\": [],\r\n - \ \"targetFqdns\": [\r\n \"www.bing.com\"\r\n ],\r\n - \ \"sourceAddresses\": [\r\n \"202.120.36.13\",\r\n - \ \"202.120.36.14\"\r\n ]\r\n }\r\n ],\r\n - \ \"name\": \"filter-collection-2\",\r\n \"priority\": 14000\r\n - \ }\r\n ],\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n - \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleGroups/myclirulecollectiongroup\",\r\n - \ \"name\": \"myclirulecollectiongroup\",\r\n \"type\": \"Microsoft.Network/RuleGroups\",\r\n - \ \"etag\": \"46c29ef8-c90f-433a-9218-ef977a2b4f44\",\r\n \"location\": \"westcentralus\"\r\n}" + string: "{\r\n \"properties\": {\r\n \"priority\": 12000,\r\n \"ruleCollections\"\ + : [\r\n {\r\n \"ruleCollectionType\": \"FirewallPolicyNatRuleCollection\"\ + ,\r\n \"action\": {\r\n \"type\": \"Dnat\"\r\n },\r\ + \n \"rules\": [\r\n {\r\n \"ruleType\": \"NatRule\"\ + ,\r\n \"name\": \"network-rule\",\r\n \"translatedAddress\"\ + : \"128.1.1.1\",\r\n \"translatedPort\": \"1234\",\r\n \ + \ \"ipProtocols\": [\r\n \"TCP\",\r\n \"UDP\"\ + \r\n ],\r\n \"sourceAddresses\": [\r\n \ + \ \"202.120.36.13\",\r\n \"202.120.36.14\"\r\n ],\r\ + \n \"sourceIpGroups\": [],\r\n \"destinationAddresses\"\ + : [\r\n \"202.120.36.15\"\r\n ],\r\n \"\ + destinationPorts\": [\r\n \"12000\",\r\n \"12001\"\ + \r\n ]\r\n }\r\n ],\r\n \"name\": \"nat-collection\"\ + ,\r\n \"priority\": 10005\r\n },\r\n {\r\n \"ruleCollectionType\"\ + : \"FirewallPolicyFilterRuleCollection\",\r\n \"action\": {\r\n \ + \ \"type\": \"Allow\"\r\n },\r\n \"rules\": [\r\n \ + \ {\r\n \"ruleType\": \"NetworkRule\",\r\n \"name\"\ + : \"network-rule\",\r\n \"ipProtocols\": [\r\n \"\ + Any\",\r\n \"ICMP\"\r\n ],\r\n \"sourceAddresses\"\ + : [\r\n \"202.120.36.13\",\r\n \"202.120.36.14\"\ + \r\n ],\r\n \"sourceIpGroups\": [],\r\n \"\ + destinationAddresses\": [\r\n \"202.120.36.15\"\r\n \ + \ ],\r\n \"destinationIpGroups\": [],\r\n \"destinationFqdns\"\ + : [],\r\n \"destinationPorts\": [\r\n \"12003\",\r\ + \n \"12004\"\r\n ]\r\n }\r\n ],\r\n\ + \ \"name\": \"filter-collection-1\",\r\n \"priority\": 13000\r\ + \n },\r\n {\r\n \"ruleCollectionType\": \"FirewallPolicyFilterRuleCollection\"\ + ,\r\n \"action\": {\r\n \"type\": \"Allow\"\r\n },\r\ + \n \"rules\": [\r\n {\r\n \"ruleType\": \"ApplicationRule\"\ + ,\r\n \"name\": \"application-rule\",\r\n \"protocols\"\ + : [\r\n {\r\n \"protocolType\": \"Http\",\r\n\ + \ \"port\": 12800\r\n },\r\n {\r\n\ + \ \"protocolType\": \"Https\",\r\n \"port\"\ + : 12801\r\n }\r\n ],\r\n \"fqdnTags\":\ + \ [\r\n \"AzureBackup\",\r\n \"HDInsight\"\r\n \ + \ ],\r\n \"targetFqdns\": [],\r\n \"sourceAddresses\"\ + : [\r\n \"202.120.36.13\",\r\n \"202.120.36.14\"\ + \r\n ],\r\n \"destinationAddresses\": [\r\n \ + \ \"202.120.36.15\",\r\n \"202.120.36.16\"\r\n \ + \ ],\r\n \"sourceIpGroups\": []\r\n },\r\n \ + \ {\r\n \"ruleType\": \"ApplicationRule\",\r\n \"name\"\ + : \"application-rule-2\",\r\n \"protocols\": [\r\n \ + \ {\r\n \"protocolType\": \"Http\",\r\n \"\ + port\": 12800\r\n },\r\n {\r\n \"\ + protocolType\": \"Https\",\r\n \"port\": 12801\r\n \ + \ }\r\n ],\r\n \"fqdnTags\": [],\r\n \ + \ \"targetFqdns\": [\r\n \"www.bing.com\"\r\n ],\r\ + \n \"sourceAddresses\": [\r\n \"202.120.36.13\",\r\ + \n \"202.120.36.14\"\r\n ],\r\n \"destinationAddresses\"\ + : [\r\n \"202.120.36.15\",\r\n \"202.120.36.16\"\ + \r\n ],\r\n \"sourceIpGroups\": []\r\n }\r\n\ + \ ],\r\n \"name\": \"filter-collection-2\",\r\n \"priority\"\ + : 14000\r\n }\r\n ],\r\n \"provisioningState\": \"Succeeded\"\r\ + \n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleCollectionGroups/myclirulecollectiongroup\"\ + ,\r\n \"name\": \"myclirulecollectiongroup\",\r\n \"type\": \"Microsoft.Network/RuleCollectionGroups\"\ + ,\r\n \"etag\": \"14898ba1-79ee-4d8c-a48b-9f31769cc3da\",\r\n \"location\"\ + : \"eastus2euap\"\r\n}" headers: cache-control: - no-cache content-length: - - '3493' + - '4000' content-type: - application/json; charset=utf-8 date: - - Wed, 15 Jan 2020 14:10:11 GMT + - Thu, 18 Jun 2020 04:40:03 GMT expires: - '-1' pragma: @@ -3087,69 +3247,80 @@ interactions: ParameterSetName: - -g --policy-name --rule-collection-group-name --name User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-network/7.0.0 - Azure-SDK-For-Python AZURECLI/2.0.79 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleGroups/myclirulecollectiongroup?api-version=2019-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleCollectionGroups/myclirulecollectiongroup?api-version=2020-05-01 response: body: - string: "{\r\n \"properties\": {\r\n \"priority\": 12000,\r\n \"rules\": - [\r\n {\r\n \"ruleType\": \"FirewallPolicyNatRule\",\r\n \"action\": - {\r\n \"type\": \"Dnat\"\r\n },\r\n \"translatedAddress\": - \"128.1.1.1\",\r\n \"translatedPort\": \"1234\",\r\n \"ruleCondition\": - {\r\n \"ruleConditionType\": \"NetworkRuleCondition\",\r\n \"name\": - \"network-rule\",\r\n \"ipProtocols\": [\r\n \"TCP\",\r\n - \ \"UDP\"\r\n ],\r\n \"sourceAddresses\": [\r\n - \ \"202.120.36.13\",\r\n \"202.120.36.14\"\r\n ],\r\n - \ \"destinationAddresses\": [\r\n \"202.120.36.15\"\r\n - \ ],\r\n \"destinationPorts\": [\r\n \"12000\",\r\n - \ \"12001\"\r\n ]\r\n },\r\n \"name\": \"nat-collection\",\r\n - \ \"priority\": 10005\r\n },\r\n {\r\n \"ruleType\": - \"FirewallPolicyFilterRule\",\r\n \"action\": {\r\n \"type\": - \"Allow\"\r\n },\r\n \"ruleConditions\": [\r\n {\r\n - \ \"ruleConditionType\": \"NetworkRuleCondition\",\r\n \"name\": - \"network-rule\",\r\n \"ipProtocols\": [\r\n \"Any\",\r\n - \ \"ICMP\"\r\n ],\r\n \"sourceAddresses\": - [\r\n \"202.120.36.13\",\r\n \"202.120.36.14\"\r\n - \ ],\r\n \"destinationAddresses\": [\r\n \"202.120.36.15\"\r\n - \ ],\r\n \"destinationPorts\": [\r\n \"12003\",\r\n - \ \"12004\"\r\n ]\r\n }\r\n ],\r\n - \ \"name\": \"filter-collection-1\",\r\n \"priority\": 13000\r\n - \ },\r\n {\r\n \"ruleType\": \"FirewallPolicyFilterRule\",\r\n - \ \"action\": {\r\n \"type\": \"Allow\"\r\n },\r\n \"ruleConditions\": - [\r\n {\r\n \"ruleConditionType\": \"ApplicationRuleCondition\",\r\n - \ \"name\": \"application-rule\",\r\n \"protocols\": - [\r\n {\r\n \"protocolType\": \"Http\",\r\n \"port\": - 12800\r\n },\r\n {\r\n \"protocolType\": - \"Https\",\r\n \"port\": 12801\r\n }\r\n ],\r\n - \ \"fqdnTags\": [\r\n \"AzureBackup\",\r\n \"HDInsight\"\r\n - \ ],\r\n \"targetFqdns\": [],\r\n \"sourceAddresses\": - [\r\n \"202.120.36.13\",\r\n \"202.120.36.14\"\r\n - \ ]\r\n },\r\n {\r\n \"ruleConditionType\": - \"ApplicationRuleCondition\",\r\n \"name\": \"application-rule-2\",\r\n - \ \"protocols\": [\r\n {\r\n \"protocolType\": - \"Http\",\r\n \"port\": 12800\r\n },\r\n {\r\n - \ \"protocolType\": \"Https\",\r\n \"port\": - 12801\r\n }\r\n ],\r\n \"fqdnTags\": [],\r\n - \ \"targetFqdns\": [\r\n \"www.bing.com\"\r\n ],\r\n - \ \"sourceAddresses\": [\r\n \"202.120.36.13\",\r\n - \ \"202.120.36.14\"\r\n ]\r\n }\r\n ],\r\n - \ \"name\": \"filter-collection-2\",\r\n \"priority\": 14000\r\n - \ }\r\n ],\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n - \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleGroups/myclirulecollectiongroup\",\r\n - \ \"name\": \"myclirulecollectiongroup\",\r\n \"type\": \"Microsoft.Network/RuleGroups\",\r\n - \ \"etag\": \"46c29ef8-c90f-433a-9218-ef977a2b4f44\",\r\n \"location\": \"westcentralus\"\r\n}" + string: "{\r\n \"properties\": {\r\n \"priority\": 12000,\r\n \"ruleCollections\"\ + : [\r\n {\r\n \"ruleCollectionType\": \"FirewallPolicyNatRuleCollection\"\ + ,\r\n \"action\": {\r\n \"type\": \"Dnat\"\r\n },\r\ + \n \"rules\": [\r\n {\r\n \"ruleType\": \"NatRule\"\ + ,\r\n \"name\": \"network-rule\",\r\n \"translatedAddress\"\ + : \"128.1.1.1\",\r\n \"translatedPort\": \"1234\",\r\n \ + \ \"ipProtocols\": [\r\n \"TCP\",\r\n \"UDP\"\ + \r\n ],\r\n \"sourceAddresses\": [\r\n \ + \ \"202.120.36.13\",\r\n \"202.120.36.14\"\r\n ],\r\ + \n \"sourceIpGroups\": [],\r\n \"destinationAddresses\"\ + : [\r\n \"202.120.36.15\"\r\n ],\r\n \"\ + destinationPorts\": [\r\n \"12000\",\r\n \"12001\"\ + \r\n ]\r\n }\r\n ],\r\n \"name\": \"nat-collection\"\ + ,\r\n \"priority\": 10005\r\n },\r\n {\r\n \"ruleCollectionType\"\ + : \"FirewallPolicyFilterRuleCollection\",\r\n \"action\": {\r\n \ + \ \"type\": \"Allow\"\r\n },\r\n \"rules\": [\r\n \ + \ {\r\n \"ruleType\": \"NetworkRule\",\r\n \"name\"\ + : \"network-rule\",\r\n \"ipProtocols\": [\r\n \"\ + Any\",\r\n \"ICMP\"\r\n ],\r\n \"sourceAddresses\"\ + : [\r\n \"202.120.36.13\",\r\n \"202.120.36.14\"\ + \r\n ],\r\n \"sourceIpGroups\": [],\r\n \"\ + destinationAddresses\": [\r\n \"202.120.36.15\"\r\n \ + \ ],\r\n \"destinationIpGroups\": [],\r\n \"destinationFqdns\"\ + : [],\r\n \"destinationPorts\": [\r\n \"12003\",\r\ + \n \"12004\"\r\n ]\r\n }\r\n ],\r\n\ + \ \"name\": \"filter-collection-1\",\r\n \"priority\": 13000\r\ + \n },\r\n {\r\n \"ruleCollectionType\": \"FirewallPolicyFilterRuleCollection\"\ + ,\r\n \"action\": {\r\n \"type\": \"Allow\"\r\n },\r\ + \n \"rules\": [\r\n {\r\n \"ruleType\": \"ApplicationRule\"\ + ,\r\n \"name\": \"application-rule\",\r\n \"protocols\"\ + : [\r\n {\r\n \"protocolType\": \"Http\",\r\n\ + \ \"port\": 12800\r\n },\r\n {\r\n\ + \ \"protocolType\": \"Https\",\r\n \"port\"\ + : 12801\r\n }\r\n ],\r\n \"fqdnTags\":\ + \ [\r\n \"AzureBackup\",\r\n \"HDInsight\"\r\n \ + \ ],\r\n \"targetFqdns\": [],\r\n \"sourceAddresses\"\ + : [\r\n \"202.120.36.13\",\r\n \"202.120.36.14\"\ + \r\n ],\r\n \"destinationAddresses\": [\r\n \ + \ \"202.120.36.15\",\r\n \"202.120.36.16\"\r\n \ + \ ],\r\n \"sourceIpGroups\": []\r\n },\r\n \ + \ {\r\n \"ruleType\": \"ApplicationRule\",\r\n \"name\"\ + : \"application-rule-2\",\r\n \"protocols\": [\r\n \ + \ {\r\n \"protocolType\": \"Http\",\r\n \"\ + port\": 12800\r\n },\r\n {\r\n \"\ + protocolType\": \"Https\",\r\n \"port\": 12801\r\n \ + \ }\r\n ],\r\n \"fqdnTags\": [],\r\n \ + \ \"targetFqdns\": [\r\n \"www.bing.com\"\r\n ],\r\ + \n \"sourceAddresses\": [\r\n \"202.120.36.13\",\r\ + \n \"202.120.36.14\"\r\n ],\r\n \"destinationAddresses\"\ + : [\r\n \"202.120.36.15\",\r\n \"202.120.36.16\"\ + \r\n ],\r\n \"sourceIpGroups\": []\r\n }\r\n\ + \ ],\r\n \"name\": \"filter-collection-2\",\r\n \"priority\"\ + : 14000\r\n }\r\n ],\r\n \"provisioningState\": \"Succeeded\"\r\ + \n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleCollectionGroups/myclirulecollectiongroup\"\ + ,\r\n \"name\": \"myclirulecollectiongroup\",\r\n \"type\": \"Microsoft.Network/RuleCollectionGroups\"\ + ,\r\n \"etag\": \"14898ba1-79ee-4d8c-a48b-9f31769cc3da\",\r\n \"location\"\ + : \"eastus2euap\"\r\n}" headers: cache-control: - no-cache content-length: - - '3493' + - '4000' content-type: - application/json; charset=utf-8 date: - - Wed, 15 Jan 2020 14:10:13 GMT + - Thu, 18 Jun 2020 04:40:05 GMT expires: - '-1' pragma: @@ -3168,23 +3339,24 @@ interactions: code: 200 message: OK - request: - body: 'b''{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleGroups/myclirulecollectiongroup", - "properties": {"priority": 12000, "rules": [{"name": "nat-collection", "priority": - 10005, "ruleType": "FirewallPolicyNatRule", "action": {"type": "Dnat"}, "translatedAddress": - "128.1.1.1", "translatedPort": "1234", "ruleCondition": {"name": "network-rule", - "ruleConditionType": "NetworkRuleCondition", "ipProtocols": ["TCP", "UDP"], + body: 'b''{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleCollectionGroups/myclirulecollectiongroup", + "properties": {"priority": 12000, "ruleCollections": [{"name": "nat-collection", + "priority": 10005, "ruleCollectionType": "FirewallPolicyNatRuleCollection", + "action": {"type": "Dnat"}, "rules": [{"name": "network-rule", "ruleType": "NatRule", + "ipProtocols": ["TCP", "UDP"], "sourceAddresses": ["202.120.36.13", "202.120.36.14"], + "destinationAddresses": ["202.120.36.15"], "destinationPorts": ["12000", "12001"], + "translatedAddress": "128.1.1.1", "translatedPort": "1234", "sourceIpGroups": + []}]}, {"name": "filter-collection-2", "priority": 14000, "ruleCollectionType": + "FirewallPolicyFilterRuleCollection", "action": {"type": "Allow"}, "rules": + [{"name": "application-rule", "ruleType": "ApplicationRule", "sourceAddresses": + ["202.120.36.13", "202.120.36.14"], "destinationAddresses": ["202.120.36.15", + "202.120.36.16"], "protocols": [{"protocolType": "Http", "port": 12800}, {"protocolType": + "Https", "port": 12801}], "targetFqdns": [], "fqdnTags": ["AzureBackup", "HDInsight"], + "sourceIpGroups": []}, {"name": "application-rule-2", "ruleType": "ApplicationRule", "sourceAddresses": ["202.120.36.13", "202.120.36.14"], "destinationAddresses": - ["202.120.36.15"], "destinationPorts": ["12000", "12001"]}}, {"name": "filter-collection-2", - "priority": 14000, "ruleType": "FirewallPolicyFilterRule", "action": {"type": - "Allow"}, "ruleConditions": [{"name": "application-rule", "ruleConditionType": - "ApplicationRuleCondition", "sourceAddresses": ["202.120.36.13", "202.120.36.14"], - "protocols": [{"protocolType": "Http", "port": 12800}, {"protocolType": "Https", - "port": 12801}], "targetFqdns": [], "fqdnTags": ["AzureBackup", "HDInsight"]}, - {"name": "application-rule-2", "ruleConditionType": "ApplicationRuleCondition", - "sourceAddresses": ["202.120.36.13", "202.120.36.14"], "protocols": [{"protocolType": - "Http", "port": 12800}, {"protocolType": "Https", "port": 12801}], "targetFqdns": - ["www.bing.com"], "fqdnTags": []}]}], "provisioningState": "Succeeded"}, "name": - "myclirulecollectiongroup"}''' + ["202.120.36.15", "202.120.36.16"], "protocols": [{"protocolType": "Http", "port": + 12800}, {"protocolType": "Https", "port": 12801}], "targetFqdns": ["www.bing.com"], + "fqdnTags": [], "sourceIpGroups": []}]}]}, "name": "myclirulecollectiongroup"}''' headers: Accept: - application/json @@ -3195,66 +3367,76 @@ interactions: Connection: - keep-alive Content-Length: - - '1507' + - '1646' Content-Type: - application/json; charset=utf-8 ParameterSetName: - -g --policy-name --rule-collection-group-name --name User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-network/7.0.0 - Azure-SDK-For-Python AZURECLI/2.0.79 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleGroups/myclirulecollectiongroup?api-version=2019-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleCollectionGroups/myclirulecollectiongroup?api-version=2020-05-01 response: body: - string: "{\r\n \"properties\": {\r\n \"priority\": 12000,\r\n \"rules\": - [\r\n {\r\n \"ruleType\": \"FirewallPolicyNatRule\",\r\n \"action\": - {\r\n \"type\": \"Dnat\"\r\n },\r\n \"translatedAddress\": - \"128.1.1.1\",\r\n \"translatedPort\": \"1234\",\r\n \"ruleCondition\": - {\r\n \"ruleConditionType\": \"NetworkRuleCondition\",\r\n \"name\": - \"network-rule\",\r\n \"ipProtocols\": [\r\n \"TCP\",\r\n - \ \"UDP\"\r\n ],\r\n \"sourceAddresses\": [\r\n - \ \"202.120.36.13\",\r\n \"202.120.36.14\"\r\n ],\r\n - \ \"destinationAddresses\": [\r\n \"202.120.36.15\"\r\n - \ ],\r\n \"destinationPorts\": [\r\n \"12000\",\r\n - \ \"12001\"\r\n ]\r\n },\r\n \"name\": \"nat-collection\",\r\n - \ \"priority\": 10005\r\n },\r\n {\r\n \"ruleType\": - \"FirewallPolicyFilterRule\",\r\n \"action\": {\r\n \"type\": - \"Allow\"\r\n },\r\n \"ruleConditions\": [\r\n {\r\n - \ \"ruleConditionType\": \"ApplicationRuleCondition\",\r\n \"name\": - \"application-rule\",\r\n \"protocols\": [\r\n {\r\n - \ \"protocolType\": \"Http\",\r\n \"port\": 12800\r\n - \ },\r\n {\r\n \"protocolType\": \"Https\",\r\n - \ \"port\": 12801\r\n }\r\n ],\r\n \"fqdnTags\": - [\r\n \"AzureBackup\",\r\n \"HDInsight\"\r\n ],\r\n - \ \"targetFqdns\": [],\r\n \"sourceAddresses\": [\r\n - \ \"202.120.36.13\",\r\n \"202.120.36.14\"\r\n ]\r\n - \ },\r\n {\r\n \"ruleConditionType\": \"ApplicationRuleCondition\",\r\n - \ \"name\": \"application-rule-2\",\r\n \"protocols\": - [\r\n {\r\n \"protocolType\": \"Http\",\r\n \"port\": - 12800\r\n },\r\n {\r\n \"protocolType\": - \"Https\",\r\n \"port\": 12801\r\n }\r\n ],\r\n - \ \"fqdnTags\": [],\r\n \"targetFqdns\": [\r\n \"www.bing.com\"\r\n - \ ],\r\n \"sourceAddresses\": [\r\n \"202.120.36.13\",\r\n - \ \"202.120.36.14\"\r\n ]\r\n }\r\n ],\r\n - \ \"name\": \"filter-collection-2\",\r\n \"priority\": 14000\r\n - \ }\r\n ],\r\n \"provisioningState\": \"Updating\"\r\n },\r\n \"id\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleGroups/myclirulecollectiongroup\",\r\n - \ \"name\": \"myclirulecollectiongroup\",\r\n \"type\": \"Microsoft.Network/RuleGroups\",\r\n - \ \"etag\": \"27c030ea-6e5f-4ee1-804d-fe4bf1b83075\",\r\n \"location\": \"westcentralus\"\r\n}" + string: "{\r\n \"properties\": {\r\n \"priority\": 12000,\r\n \"ruleCollections\"\ + : [\r\n {\r\n \"ruleCollectionType\": \"FirewallPolicyNatRuleCollection\"\ + ,\r\n \"action\": {\r\n \"type\": \"Dnat\"\r\n },\r\ + \n \"rules\": [\r\n {\r\n \"ruleType\": \"NatRule\"\ + ,\r\n \"name\": \"network-rule\",\r\n \"translatedAddress\"\ + : \"128.1.1.1\",\r\n \"translatedPort\": \"1234\",\r\n \ + \ \"ipProtocols\": [\r\n \"TCP\",\r\n \"UDP\"\ + \r\n ],\r\n \"sourceAddresses\": [\r\n \ + \ \"202.120.36.13\",\r\n \"202.120.36.14\"\r\n ],\r\ + \n \"sourceIpGroups\": [],\r\n \"destinationAddresses\"\ + : [\r\n \"202.120.36.15\"\r\n ],\r\n \"\ + destinationPorts\": [\r\n \"12000\",\r\n \"12001\"\ + \r\n ]\r\n }\r\n ],\r\n \"name\": \"nat-collection\"\ + ,\r\n \"priority\": 10005\r\n },\r\n {\r\n \"ruleCollectionType\"\ + : \"FirewallPolicyFilterRuleCollection\",\r\n \"action\": {\r\n \ + \ \"type\": \"Allow\"\r\n },\r\n \"rules\": [\r\n \ + \ {\r\n \"ruleType\": \"ApplicationRule\",\r\n \ + \ \"name\": \"application-rule\",\r\n \"protocols\": [\r\n \ + \ {\r\n \"protocolType\": \"Http\",\r\n \ + \ \"port\": 12800\r\n },\r\n {\r\n \ + \ \"protocolType\": \"Https\",\r\n \"port\": 12801\r\ + \n }\r\n ],\r\n \"fqdnTags\": [\r\n \ + \ \"AzureBackup\",\r\n \"HDInsight\"\r\n \ + \ ],\r\n \"targetFqdns\": [],\r\n \"sourceAddresses\"\ + : [\r\n \"202.120.36.13\",\r\n \"202.120.36.14\"\ + \r\n ],\r\n \"destinationAddresses\": [\r\n \ + \ \"202.120.36.15\",\r\n \"202.120.36.16\"\r\n \ + \ ],\r\n \"sourceIpGroups\": []\r\n },\r\n \ + \ {\r\n \"ruleType\": \"ApplicationRule\",\r\n \"name\"\ + : \"application-rule-2\",\r\n \"protocols\": [\r\n \ + \ {\r\n \"protocolType\": \"Http\",\r\n \"\ + port\": 12800\r\n },\r\n {\r\n \"\ + protocolType\": \"Https\",\r\n \"port\": 12801\r\n \ + \ }\r\n ],\r\n \"fqdnTags\": [],\r\n \ + \ \"targetFqdns\": [\r\n \"www.bing.com\"\r\n ],\r\ + \n \"sourceAddresses\": [\r\n \"202.120.36.13\",\r\ + \n \"202.120.36.14\"\r\n ],\r\n \"destinationAddresses\"\ + : [\r\n \"202.120.36.15\",\r\n \"202.120.36.16\"\ + \r\n ],\r\n \"sourceIpGroups\": []\r\n }\r\n\ + \ ],\r\n \"name\": \"filter-collection-2\",\r\n \"priority\"\ + : 14000\r\n }\r\n ],\r\n \"provisioningState\": \"Updating\"\r\n\ + \ },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleCollectionGroups/myclirulecollectiongroup\"\ + ,\r\n \"name\": \"myclirulecollectiongroup\",\r\n \"type\": \"Microsoft.Network/RuleCollectionGroups\"\ + ,\r\n \"etag\": \"cc189863-f80d-44ce-87e1-c7580cdd2a83\",\r\n \"location\"\ + : \"eastus2euap\"\r\n}" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westcentralus/nfvOperations/6d2cf207-c898-40a0-bf5d-3a9229529126?api-version=2019-07-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus2euap/nfvOperations/2fd3e935-a796-414c-a699-9dd237b0a805?api-version=2020-05-01 cache-control: - no-cache content-length: - - '2749' + - '3151' content-type: - application/json; charset=utf-8 date: - - Wed, 15 Jan 2020 14:10:14 GMT + - Thu, 18 Jun 2020 04:40:08 GMT expires: - '-1' pragma: @@ -3270,7 +3452,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1196' + - '1198' status: code: 200 message: OK @@ -3288,10 +3470,10 @@ interactions: ParameterSetName: - -g --policy-name --rule-collection-group-name --name User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-network/7.0.0 - Azure-SDK-For-Python AZURECLI/2.0.79 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westcentralus/nfvOperations/6d2cf207-c898-40a0-bf5d-3a9229529126?api-version=2019-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus2euap/nfvOperations/2fd3e935-a796-414c-a699-9dd237b0a805?api-version=2020-05-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -3303,7 +3485,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 15 Jan 2020 14:10:25 GMT + - Thu, 18 Jun 2020 04:40:19 GMT expires: - '-1' pragma: @@ -3335,56 +3517,66 @@ interactions: ParameterSetName: - -g --policy-name --rule-collection-group-name --name User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-network/7.0.0 - Azure-SDK-For-Python AZURECLI/2.0.79 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleGroups/myclirulecollectiongroup?api-version=2019-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleCollectionGroups/myclirulecollectiongroup?api-version=2020-05-01 response: body: - string: "{\r\n \"properties\": {\r\n \"priority\": 12000,\r\n \"rules\": - [\r\n {\r\n \"ruleType\": \"FirewallPolicyNatRule\",\r\n \"action\": - {\r\n \"type\": \"Dnat\"\r\n },\r\n \"translatedAddress\": - \"128.1.1.1\",\r\n \"translatedPort\": \"1234\",\r\n \"ruleCondition\": - {\r\n \"ruleConditionType\": \"NetworkRuleCondition\",\r\n \"name\": - \"network-rule\",\r\n \"ipProtocols\": [\r\n \"TCP\",\r\n - \ \"UDP\"\r\n ],\r\n \"sourceAddresses\": [\r\n - \ \"202.120.36.13\",\r\n \"202.120.36.14\"\r\n ],\r\n - \ \"destinationAddresses\": [\r\n \"202.120.36.15\"\r\n - \ ],\r\n \"destinationPorts\": [\r\n \"12000\",\r\n - \ \"12001\"\r\n ]\r\n },\r\n \"name\": \"nat-collection\",\r\n - \ \"priority\": 10005\r\n },\r\n {\r\n \"ruleType\": - \"FirewallPolicyFilterRule\",\r\n \"action\": {\r\n \"type\": - \"Allow\"\r\n },\r\n \"ruleConditions\": [\r\n {\r\n - \ \"ruleConditionType\": \"ApplicationRuleCondition\",\r\n \"name\": - \"application-rule\",\r\n \"protocols\": [\r\n {\r\n - \ \"protocolType\": \"Http\",\r\n \"port\": 12800\r\n - \ },\r\n {\r\n \"protocolType\": \"Https\",\r\n - \ \"port\": 12801\r\n }\r\n ],\r\n \"fqdnTags\": - [\r\n \"AzureBackup\",\r\n \"HDInsight\"\r\n ],\r\n - \ \"targetFqdns\": [],\r\n \"sourceAddresses\": [\r\n - \ \"202.120.36.13\",\r\n \"202.120.36.14\"\r\n ]\r\n - \ },\r\n {\r\n \"ruleConditionType\": \"ApplicationRuleCondition\",\r\n - \ \"name\": \"application-rule-2\",\r\n \"protocols\": - [\r\n {\r\n \"protocolType\": \"Http\",\r\n \"port\": - 12800\r\n },\r\n {\r\n \"protocolType\": - \"Https\",\r\n \"port\": 12801\r\n }\r\n ],\r\n - \ \"fqdnTags\": [],\r\n \"targetFqdns\": [\r\n \"www.bing.com\"\r\n - \ ],\r\n \"sourceAddresses\": [\r\n \"202.120.36.13\",\r\n - \ \"202.120.36.14\"\r\n ]\r\n }\r\n ],\r\n - \ \"name\": \"filter-collection-2\",\r\n \"priority\": 14000\r\n - \ }\r\n ],\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n - \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleGroups/myclirulecollectiongroup\",\r\n - \ \"name\": \"myclirulecollectiongroup\",\r\n \"type\": \"Microsoft.Network/RuleGroups\",\r\n - \ \"etag\": \"27c030ea-6e5f-4ee1-804d-fe4bf1b83075\",\r\n \"location\": \"westcentralus\"\r\n}" + string: "{\r\n \"properties\": {\r\n \"priority\": 12000,\r\n \"ruleCollections\"\ + : [\r\n {\r\n \"ruleCollectionType\": \"FirewallPolicyNatRuleCollection\"\ + ,\r\n \"action\": {\r\n \"type\": \"Dnat\"\r\n },\r\ + \n \"rules\": [\r\n {\r\n \"ruleType\": \"NatRule\"\ + ,\r\n \"name\": \"network-rule\",\r\n \"translatedAddress\"\ + : \"128.1.1.1\",\r\n \"translatedPort\": \"1234\",\r\n \ + \ \"ipProtocols\": [\r\n \"TCP\",\r\n \"UDP\"\ + \r\n ],\r\n \"sourceAddresses\": [\r\n \ + \ \"202.120.36.13\",\r\n \"202.120.36.14\"\r\n ],\r\ + \n \"sourceIpGroups\": [],\r\n \"destinationAddresses\"\ + : [\r\n \"202.120.36.15\"\r\n ],\r\n \"\ + destinationPorts\": [\r\n \"12000\",\r\n \"12001\"\ + \r\n ]\r\n }\r\n ],\r\n \"name\": \"nat-collection\"\ + ,\r\n \"priority\": 10005\r\n },\r\n {\r\n \"ruleCollectionType\"\ + : \"FirewallPolicyFilterRuleCollection\",\r\n \"action\": {\r\n \ + \ \"type\": \"Allow\"\r\n },\r\n \"rules\": [\r\n \ + \ {\r\n \"ruleType\": \"ApplicationRule\",\r\n \ + \ \"name\": \"application-rule\",\r\n \"protocols\": [\r\n \ + \ {\r\n \"protocolType\": \"Http\",\r\n \ + \ \"port\": 12800\r\n },\r\n {\r\n \ + \ \"protocolType\": \"Https\",\r\n \"port\": 12801\r\ + \n }\r\n ],\r\n \"fqdnTags\": [\r\n \ + \ \"AzureBackup\",\r\n \"HDInsight\"\r\n \ + \ ],\r\n \"targetFqdns\": [],\r\n \"sourceAddresses\"\ + : [\r\n \"202.120.36.13\",\r\n \"202.120.36.14\"\ + \r\n ],\r\n \"destinationAddresses\": [\r\n \ + \ \"202.120.36.15\",\r\n \"202.120.36.16\"\r\n \ + \ ],\r\n \"sourceIpGroups\": []\r\n },\r\n \ + \ {\r\n \"ruleType\": \"ApplicationRule\",\r\n \"name\"\ + : \"application-rule-2\",\r\n \"protocols\": [\r\n \ + \ {\r\n \"protocolType\": \"Http\",\r\n \"\ + port\": 12800\r\n },\r\n {\r\n \"\ + protocolType\": \"Https\",\r\n \"port\": 12801\r\n \ + \ }\r\n ],\r\n \"fqdnTags\": [],\r\n \ + \ \"targetFqdns\": [\r\n \"www.bing.com\"\r\n ],\r\ + \n \"sourceAddresses\": [\r\n \"202.120.36.13\",\r\ + \n \"202.120.36.14\"\r\n ],\r\n \"destinationAddresses\"\ + : [\r\n \"202.120.36.15\",\r\n \"202.120.36.16\"\ + \r\n ],\r\n \"sourceIpGroups\": []\r\n }\r\n\ + \ ],\r\n \"name\": \"filter-collection-2\",\r\n \"priority\"\ + : 14000\r\n }\r\n ],\r\n \"provisioningState\": \"Succeeded\"\r\ + \n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleCollectionGroups/myclirulecollectiongroup\"\ + ,\r\n \"name\": \"myclirulecollectiongroup\",\r\n \"type\": \"Microsoft.Network/RuleCollectionGroups\"\ + ,\r\n \"etag\": \"cc189863-f80d-44ce-87e1-c7580cdd2a83\",\r\n \"location\"\ + : \"eastus2euap\"\r\n}" headers: cache-control: - no-cache content-length: - - '2750' + - '3152' content-type: - application/json; charset=utf-8 date: - - Wed, 15 Jan 2020 14:10:25 GMT + - Thu, 18 Jun 2020 04:40:19 GMT expires: - '-1' pragma: @@ -3418,64 +3610,74 @@ interactions: ParameterSetName: - -g --policy-name --name User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-network/7.0.0 - Azure-SDK-For-Python AZURECLI/2.0.79 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleGroups/myclirulecollectiongroup?api-version=2019-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleCollectionGroups/myclirulecollectiongroup?api-version=2020-05-01 response: body: - string: "{\r\n \"properties\": {\r\n \"priority\": 12000,\r\n \"rules\": - [\r\n {\r\n \"ruleType\": \"FirewallPolicyNatRule\",\r\n \"action\": - {\r\n \"type\": \"Dnat\"\r\n },\r\n \"translatedAddress\": - \"128.1.1.1\",\r\n \"translatedPort\": \"1234\",\r\n \"ruleCondition\": - {\r\n \"ruleConditionType\": \"NetworkRuleCondition\",\r\n \"name\": - \"network-rule\",\r\n \"ipProtocols\": [\r\n \"TCP\",\r\n - \ \"UDP\"\r\n ],\r\n \"sourceAddresses\": [\r\n - \ \"202.120.36.13\",\r\n \"202.120.36.14\"\r\n ],\r\n - \ \"destinationAddresses\": [\r\n \"202.120.36.15\"\r\n - \ ],\r\n \"destinationPorts\": [\r\n \"12000\",\r\n - \ \"12001\"\r\n ]\r\n },\r\n \"name\": \"nat-collection\",\r\n - \ \"priority\": 10005\r\n },\r\n {\r\n \"ruleType\": - \"FirewallPolicyFilterRule\",\r\n \"action\": {\r\n \"type\": - \"Allow\"\r\n },\r\n \"ruleConditions\": [\r\n {\r\n - \ \"ruleConditionType\": \"ApplicationRuleCondition\",\r\n \"name\": - \"application-rule\",\r\n \"protocols\": [\r\n {\r\n - \ \"protocolType\": \"Http\",\r\n \"port\": 12800\r\n - \ },\r\n {\r\n \"protocolType\": \"Https\",\r\n - \ \"port\": 12801\r\n }\r\n ],\r\n \"fqdnTags\": - [\r\n \"AzureBackup\",\r\n \"HDInsight\"\r\n ],\r\n - \ \"targetFqdns\": [],\r\n \"sourceAddresses\": [\r\n - \ \"202.120.36.13\",\r\n \"202.120.36.14\"\r\n ]\r\n - \ },\r\n {\r\n \"ruleConditionType\": \"ApplicationRuleCondition\",\r\n - \ \"name\": \"application-rule-2\",\r\n \"protocols\": - [\r\n {\r\n \"protocolType\": \"Http\",\r\n \"port\": - 12800\r\n },\r\n {\r\n \"protocolType\": - \"Https\",\r\n \"port\": 12801\r\n }\r\n ],\r\n - \ \"fqdnTags\": [],\r\n \"targetFqdns\": [\r\n \"www.bing.com\"\r\n - \ ],\r\n \"sourceAddresses\": [\r\n \"202.120.36.13\",\r\n - \ \"202.120.36.14\"\r\n ]\r\n }\r\n ],\r\n - \ \"name\": \"filter-collection-2\",\r\n \"priority\": 14000\r\n - \ }\r\n ],\r\n \"provisioningState\": \"Deleting\"\r\n },\r\n \"id\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleGroups/myclirulecollectiongroup\",\r\n - \ \"name\": \"myclirulecollectiongroup\",\r\n \"type\": \"Microsoft.Network/RuleGroups\",\r\n - \ \"etag\": \"27c030ea-6e5f-4ee1-804d-fe4bf1b83075\",\r\n \"location\": \"westcentralus\"\r\n}" + string: "{\r\n \"properties\": {\r\n \"priority\": 12000,\r\n \"ruleCollections\"\ + : [\r\n {\r\n \"ruleCollectionType\": \"FirewallPolicyNatRuleCollection\"\ + ,\r\n \"action\": {\r\n \"type\": \"Dnat\"\r\n },\r\ + \n \"rules\": [\r\n {\r\n \"ruleType\": \"NatRule\"\ + ,\r\n \"name\": \"network-rule\",\r\n \"translatedAddress\"\ + : \"128.1.1.1\",\r\n \"translatedPort\": \"1234\",\r\n \ + \ \"ipProtocols\": [\r\n \"TCP\",\r\n \"UDP\"\ + \r\n ],\r\n \"sourceAddresses\": [\r\n \ + \ \"202.120.36.13\",\r\n \"202.120.36.14\"\r\n ],\r\ + \n \"sourceIpGroups\": [],\r\n \"destinationAddresses\"\ + : [\r\n \"202.120.36.15\"\r\n ],\r\n \"\ + destinationPorts\": [\r\n \"12000\",\r\n \"12001\"\ + \r\n ]\r\n }\r\n ],\r\n \"name\": \"nat-collection\"\ + ,\r\n \"priority\": 10005\r\n },\r\n {\r\n \"ruleCollectionType\"\ + : \"FirewallPolicyFilterRuleCollection\",\r\n \"action\": {\r\n \ + \ \"type\": \"Allow\"\r\n },\r\n \"rules\": [\r\n \ + \ {\r\n \"ruleType\": \"ApplicationRule\",\r\n \ + \ \"name\": \"application-rule\",\r\n \"protocols\": [\r\n \ + \ {\r\n \"protocolType\": \"Http\",\r\n \ + \ \"port\": 12800\r\n },\r\n {\r\n \ + \ \"protocolType\": \"Https\",\r\n \"port\": 12801\r\ + \n }\r\n ],\r\n \"fqdnTags\": [\r\n \ + \ \"AzureBackup\",\r\n \"HDInsight\"\r\n \ + \ ],\r\n \"targetFqdns\": [],\r\n \"sourceAddresses\"\ + : [\r\n \"202.120.36.13\",\r\n \"202.120.36.14\"\ + \r\n ],\r\n \"destinationAddresses\": [\r\n \ + \ \"202.120.36.15\",\r\n \"202.120.36.16\"\r\n \ + \ ],\r\n \"sourceIpGroups\": []\r\n },\r\n \ + \ {\r\n \"ruleType\": \"ApplicationRule\",\r\n \"name\"\ + : \"application-rule-2\",\r\n \"protocols\": [\r\n \ + \ {\r\n \"protocolType\": \"Http\",\r\n \"\ + port\": 12800\r\n },\r\n {\r\n \"\ + protocolType\": \"Https\",\r\n \"port\": 12801\r\n \ + \ }\r\n ],\r\n \"fqdnTags\": [],\r\n \ + \ \"targetFqdns\": [\r\n \"www.bing.com\"\r\n ],\r\ + \n \"sourceAddresses\": [\r\n \"202.120.36.13\",\r\ + \n \"202.120.36.14\"\r\n ],\r\n \"destinationAddresses\"\ + : [\r\n \"202.120.36.15\",\r\n \"202.120.36.16\"\ + \r\n ],\r\n \"sourceIpGroups\": []\r\n }\r\n\ + \ ],\r\n \"name\": \"filter-collection-2\",\r\n \"priority\"\ + : 14000\r\n }\r\n ],\r\n \"provisioningState\": \"Deleting\"\r\n\ + \ },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleCollectionGroups/myclirulecollectiongroup\"\ + ,\r\n \"name\": \"myclirulecollectiongroup\",\r\n \"type\": \"Microsoft.Network/RuleCollectionGroups\"\ + ,\r\n \"etag\": \"cc189863-f80d-44ce-87e1-c7580cdd2a83\",\r\n \"location\"\ + : \"eastus2euap\"\r\n}" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westcentralus/nfvOperations/70aceab6-d7ea-4fb3-92c2-eb40a5801d42?api-version=2019-07-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus2euap/nfvOperations/480af805-5c60-4976-9a83-2bd113193785?api-version=2020-05-01 cache-control: - no-cache content-length: - - '2749' + - '3151' content-type: - application/json; charset=utf-8 date: - - Wed, 15 Jan 2020 14:10:28 GMT + - Thu, 18 Jun 2020 04:40:24 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westcentralus/nfvOperationResults/70aceab6-d7ea-4fb3-92c2-eb40a5801d42?api-version=2019-07-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus2euap/nfvOperationResults/480af805-5c60-4976-9a83-2bd113193785?api-version=2020-05-01 pragma: - no-cache server: @@ -3503,10 +3705,10 @@ interactions: ParameterSetName: - -g --policy-name --name User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-network/7.0.0 - Azure-SDK-For-Python AZURECLI/2.0.79 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westcentralus/nfvOperations/70aceab6-d7ea-4fb3-92c2-eb40a5801d42?api-version=2019-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus2euap/nfvOperations/480af805-5c60-4976-9a83-2bd113193785?api-version=2020-05-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -3518,7 +3720,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 15 Jan 2020 14:10:38 GMT + - Thu, 18 Jun 2020 04:40:35 GMT expires: - '-1' pragma: @@ -3550,12 +3752,12 @@ interactions: ParameterSetName: - -g --policy-name User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-network/7.0.0 - Azure-SDK-For-Python AZURECLI/2.0.79 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleGroups?api-version=2019-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy/ruleCollectionGroups?api-version=2020-05-01 response: body: string: "{\r\n \"value\": []\r\n}" @@ -3567,7 +3769,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 15 Jan 2020 14:10:41 GMT + - Thu, 18 Jun 2020 04:40:37 GMT expires: - '-1' pragma: @@ -3601,12 +3803,12 @@ interactions: ParameterSetName: - -g --name User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-network/7.0.0 - Azure-SDK-For-Python AZURECLI/2.0.79 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy?api-version=2019-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy?api-version=2020-05-01 response: body: string: '' @@ -3616,7 +3818,7 @@ interactions: content-length: - '0' date: - - Wed, 15 Jan 2020 14:10:49 GMT + - Thu, 18 Jun 2020 04:40:45 GMT expires: - '-1' pragma: diff --git a/src/azure-firewall/azext_firewall/tests/latest/recordings/test_azure_firewall_policy_with_threat_intel_whitelist.yaml b/src/azure-firewall/azext_firewall/tests/latest/recordings/test_azure_firewall_policy_with_threat_intel_whitelist.yaml new file mode 100644 index 00000000000..8557a501dfb --- /dev/null +++ b/src/azure-firewall/azext_firewall/tests/latest/recordings/test_azure_firewall_policy_with_threat_intel_whitelist.yaml @@ -0,0 +1,385 @@ +interactions: +- request: + body: '{"location": "eastus2euap"}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall policy create + Connection: + - keep-alive + Content-Length: + - '27' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -g -n -l + User-Agent: + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy_with_threat_intel_whitelist000001/providers/Microsoft.Network/firewallPolicies/myclipolicy?api-version=2020-05-01 + response: + body: + string: "{\r\n \"properties\": {\r\n \"threatIntelMode\": \"Alert\",\r\n\ + \ \"childPolicies\": [],\r\n \"ruleCollectionGroups\": [],\r\n \"\ + firewalls\": [],\r\n \"provisioningState\": \"Updating\"\r\n },\r\n \"\ + id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy_with_threat_intel_whitelist000001/providers/Microsoft.Network/firewallPolicies/myclipolicy\"\ + ,\r\n \"name\": \"myclipolicy\",\r\n \"type\": \"Microsoft.Network/FirewallPolicies\"\ + ,\r\n \"etag\": \"2123b60c-1e95-49aa-a941-d5f5c33fccf5\",\r\n \"location\"\ + : \"eastus2euap\"\r\n}" + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus2euap/nfvOperations/fc05c49c-3d22-4247-9728-af7804e5f83d?api-version=2020-05-01 + cache-control: + - no-cache + content-length: + - '547' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 18 Jun 2020 04:41:07 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1196' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall policy create + Connection: + - keep-alive + ParameterSetName: + - -g -n -l + User-Agent: + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus2euap/nfvOperations/fc05c49c-3d22-4247-9728-af7804e5f83d?api-version=2020-05-01 + response: + body: + string: "{\r\n \"status\": \"Succeeded\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '29' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 18 Jun 2020 04:41:18 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall policy create + Connection: + - keep-alive + ParameterSetName: + - -g -n -l + User-Agent: + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy_with_threat_intel_whitelist000001/providers/Microsoft.Network/firewallPolicies/myclipolicy?api-version=2020-05-01 + response: + body: + string: "{\r\n \"properties\": {\r\n \"threatIntelMode\": \"Alert\",\r\n\ + \ \"childPolicies\": [],\r\n \"ruleCollectionGroups\": [],\r\n \"\ + firewalls\": [],\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \ + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy_with_threat_intel_whitelist000001/providers/Microsoft.Network/firewallPolicies/myclipolicy\"\ + ,\r\n \"name\": \"myclipolicy\",\r\n \"type\": \"Microsoft.Network/FirewallPolicies\"\ + ,\r\n \"etag\": \"2123b60c-1e95-49aa-a941-d5f5c33fccf5\",\r\n \"location\"\ + : \"eastus2euap\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '548' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 18 Jun 2020 04:41:19 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall policy update + Connection: + - keep-alive + ParameterSetName: + - -g -n --threat-intel-mode --ip-addresses --fqdns + User-Agent: + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy_with_threat_intel_whitelist000001/providers/Microsoft.Network/firewallPolicies/myclipolicy?api-version=2020-05-01 + response: + body: + string: "{\r\n \"properties\": {\r\n \"threatIntelMode\": \"Alert\",\r\n\ + \ \"childPolicies\": [],\r\n \"ruleCollectionGroups\": [],\r\n \"\ + firewalls\": [],\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \ + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy_with_threat_intel_whitelist000001/providers/Microsoft.Network/firewallPolicies/myclipolicy\"\ + ,\r\n \"name\": \"myclipolicy\",\r\n \"type\": \"Microsoft.Network/FirewallPolicies\"\ + ,\r\n \"etag\": \"2123b60c-1e95-49aa-a941-d5f5c33fccf5\",\r\n \"location\"\ + : \"eastus2euap\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '548' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 18 Jun 2020 04:41:22 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: 'b''{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy_with_threat_intel_whitelist000001/providers/Microsoft.Network/firewallPolicies/myclipolicy", + "location": "eastus2euap", "properties": {"threatIntelMode": "Deny", "threatIntelWhitelist": + {"ipAddresses": ["102.0.0.0", "102.0.0.1"], "fqdns": ["*.google.com"]}}}''' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall policy update + Connection: + - keep-alive + Content-Length: + - '375' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -g -n --threat-intel-mode --ip-addresses --fqdns + User-Agent: + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy_with_threat_intel_whitelist000001/providers/Microsoft.Network/firewallPolicies/myclipolicy?api-version=2020-05-01 + response: + body: + string: "{\r\n \"properties\": {\r\n \"threatIntelMode\": \"Deny\",\r\n\ + \ \"threatIntelWhitelist\": {\r\n \"fqdns\": [\r\n \"*.google.com\"\ + \r\n ],\r\n \"ipAddresses\": [\r\n \"102.0.0.0\",\r\n \ + \ \"102.0.0.1\"\r\n ]\r\n },\r\n \"childPolicies\": [],\r\n\ + \ \"ruleCollectionGroups\": [],\r\n \"firewalls\": [],\r\n \"provisioningState\"\ + : \"Updating\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy_with_threat_intel_whitelist000001/providers/Microsoft.Network/firewallPolicies/myclipolicy\"\ + ,\r\n \"name\": \"myclipolicy\",\r\n \"type\": \"Microsoft.Network/FirewallPolicies\"\ + ,\r\n \"etag\": \"2be1f178-a463-495b-9a3d-87e3de13ae52\",\r\n \"location\"\ + : \"eastus2euap\"\r\n}" + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus2euap/nfvOperations/1861dd6d-852a-4b85-9ab0-e0aef9856f63?api-version=2020-05-01 + cache-control: + - no-cache + content-length: + - '713' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 18 Jun 2020 04:41:24 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1197' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall policy update + Connection: + - keep-alive + ParameterSetName: + - -g -n --threat-intel-mode --ip-addresses --fqdns + User-Agent: + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus2euap/nfvOperations/1861dd6d-852a-4b85-9ab0-e0aef9856f63?api-version=2020-05-01 + response: + body: + string: "{\r\n \"status\": \"Succeeded\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '29' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 18 Jun 2020 04:41:36 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall policy update + Connection: + - keep-alive + ParameterSetName: + - -g -n --threat-intel-mode --ip-addresses --fqdns + User-Agent: + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy_with_threat_intel_whitelist000001/providers/Microsoft.Network/firewallPolicies/myclipolicy?api-version=2020-05-01 + response: + body: + string: "{\r\n \"properties\": {\r\n \"threatIntelMode\": \"Deny\",\r\n\ + \ \"threatIntelWhitelist\": {\r\n \"fqdns\": [\r\n \"*.google.com\"\ + \r\n ],\r\n \"ipAddresses\": [\r\n \"102.0.0.0\",\r\n \ + \ \"102.0.0.1\"\r\n ]\r\n },\r\n \"childPolicies\": [],\r\n\ + \ \"ruleCollectionGroups\": [],\r\n \"firewalls\": [],\r\n \"provisioningState\"\ + : \"Succeeded\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_policy_with_threat_intel_whitelist000001/providers/Microsoft.Network/firewallPolicies/myclipolicy\"\ + ,\r\n \"name\": \"myclipolicy\",\r\n \"type\": \"Microsoft.Network/FirewallPolicies\"\ + ,\r\n \"etag\": \"2be1f178-a463-495b-9a3d-87e3de13ae52\",\r\n \"location\"\ + : \"eastus2euap\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '714' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 18 Jun 2020 04:41:37 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +version: 1 diff --git a/src/azure-firewall/azext_firewall/tests/latest/recordings/test_azure_firewall_rules.yaml b/src/azure-firewall/azext_firewall/tests/latest/recordings/test_azure_firewall_rules.yaml index 71476fca7d0..9e8da79ecd1 100644 --- a/src/azure-firewall/azext_firewall/tests/latest/recordings/test_azure_firewall_rules.yaml +++ b/src/azure-firewall/azext_firewall/tests/latest/recordings/test_azure_firewall_rules.yaml @@ -13,15 +13,15 @@ interactions: ParameterSetName: - -g -n User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-resource/6.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_azure_firewall_rules000001?api-version=2019-07-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules000001","name":"cli_test_azure_firewall_rules000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2020-02-06T05:45:49Z"},"properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules000001","name":"cli_test_azure_firewall_rules000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2020-06-18T04:41:44Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -30,7 +30,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 06 Feb 2020 05:45:56 GMT + - Thu, 18 Jun 2020 04:41:47 GMT expires: - '-1' pragma: @@ -45,7 +45,9 @@ interactions: code: 200 message: OK - request: - body: '{"location": "westus", "properties": {"additionalProperties": {}}}' + body: '{"location": "westus", "properties": {"additionalProperties": {"Network.DNS.EnableProxy": + "False", "Network.DNS.RequireProxyForNetworkRules": "True", "Network.DNS.Servers": + ""}}}' headers: Accept: - application/json @@ -56,39 +58,43 @@ interactions: Connection: - keep-alive Content-Length: - - '66' + - '178' Content-Type: - application/json; charset=utf-8 ParameterSetName: - -g -n User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 response: body: - string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"8b2c5607-c729-4e0c-9685-9e2c469e9350\\\"\",\r\n \"type\": - \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Updating\",\r\n \"sku\": {\r\n \"name\": - \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\": - \"Alert\",\r\n \"additionalProperties\": {},\r\n \"ipConfigurations\": - [],\r\n \"networkRuleCollections\": [],\r\n \"applicationRuleCollections\": - [],\r\n \"natRuleCollections\": []\r\n }\r\n}" + string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules000001/providers/Microsoft.Network/azureFirewalls/af1\"\ + ,\r\n \"etag\": \"W/\\\"9c4531f6-0682-4e29-ad12-d7ee2909fd48\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \ + \ \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\ + \r\n },\r\n \"threatIntelMode\": \"Alert\",\r\n \"additionalProperties\"\ + : {\r\n \"Network.DNS.EnableProxy\": \"False\",\r\n \"Network.DNS.RequireProxyForNetworkRules\"\ + : \"True\",\r\n \"Network.DNS.Servers\": \"\"\r\n },\r\n \"ipConfigurations\"\ + : [],\r\n \"networkRuleCollections\": [],\r\n \"applicationRuleCollections\"\ + : [],\r\n \"natRuleCollections\": []\r\n }\r\n}" headers: + azure-asyncnotification: + - Enabled azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/31a77fcc-b36d-4a7a-8789-73a07936c2e5?api-version=2019-11-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/4eafa8c4-d0ec-4996-b13e-9f8c12f451fe?api-version=2019-11-01 cache-control: - no-cache content-length: - - '690' + - '830' content-type: - application/json; charset=utf-8 date: - - Thu, 06 Feb 2020 05:46:00 GMT + - Thu, 18 Jun 2020 04:41:52 GMT expires: - '-1' pragma: @@ -101,9 +107,9 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - cbb7b911-64e1-4541-b2c8-2cc7e16e4ea7 + - 39ecb34d-2812-4cf0-9667-cd6d128f0368 x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1195' status: code: 201 message: Created @@ -121,10 +127,10 @@ interactions: ParameterSetName: - -g -n User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/31a77fcc-b36d-4a7a-8789-73a07936c2e5?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/4eafa8c4-d0ec-4996-b13e-9f8c12f451fe?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -136,7 +142,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 06 Feb 2020 05:46:13 GMT + - Thu, 18 Jun 2020 04:42:04 GMT expires: - '-1' pragma: @@ -153,7 +159,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 83ddb6a7-4171-46bc-a1f8-788ac1c89f03 + - e4f704f9-3881-4362-98e4-43d2e08f707d status: code: 200 message: OK @@ -171,31 +177,33 @@ interactions: ParameterSetName: - -g -n User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 response: body: - string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"47147db9-0c93-44f7-9ddb-3b035ecc9a50\\\"\",\r\n \"type\": - \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Succeeded\",\r\n \"sku\": {\r\n \"name\": - \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\": - \"Alert\",\r\n \"additionalProperties\": {},\r\n \"ipConfigurations\": - [],\r\n \"networkRuleCollections\": [],\r\n \"applicationRuleCollections\": - [],\r\n \"natRuleCollections\": []\r\n }\r\n}" + string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules000001/providers/Microsoft.Network/azureFirewalls/af1\"\ + ,\r\n \"etag\": \"W/\\\"a753a89e-650d-4bc0-a853-6c34e3114cd8\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n\ + \ \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\ + \r\n },\r\n \"threatIntelMode\": \"Alert\",\r\n \"additionalProperties\"\ + : {\r\n \"Network.DNS.EnableProxy\": \"False\",\r\n \"Network.DNS.RequireProxyForNetworkRules\"\ + : \"True\",\r\n \"Network.DNS.Servers\": \"\"\r\n },\r\n \"ipConfigurations\"\ + : [],\r\n \"networkRuleCollections\": [],\r\n \"applicationRuleCollections\"\ + : [],\r\n \"natRuleCollections\": []\r\n }\r\n}" headers: cache-control: - no-cache content-length: - - '691' + - '831' content-type: - application/json; charset=utf-8 date: - - Thu, 06 Feb 2020 05:46:14 GMT + - Thu, 18 Jun 2020 04:42:04 GMT etag: - - W/"47147db9-0c93-44f7-9ddb-3b035ecc9a50" + - W/"a753a89e-650d-4bc0-a853-6c34e3114cd8" expires: - '-1' pragma: @@ -212,7 +220,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - eea9cc55-6301-490d-86e0-4e178f5ef1cd + - b589b790-86f1-42fd-b49b-2e520e94c111 status: code: 200 message: OK @@ -231,33 +239,35 @@ interactions: - -g -n -c --priority --action -f --source-addresses --protocols --destination-fqdns --destination-ports User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 response: body: - string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"47147db9-0c93-44f7-9ddb-3b035ecc9a50\\\"\",\r\n \"type\": - \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Succeeded\",\r\n \"sku\": {\r\n \"name\": - \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\": - \"Alert\",\r\n \"additionalProperties\": {},\r\n \"ipConfigurations\": - [],\r\n \"networkRuleCollections\": [],\r\n \"applicationRuleCollections\": - [],\r\n \"natRuleCollections\": []\r\n }\r\n}" + string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules000001/providers/Microsoft.Network/azureFirewalls/af1\"\ + ,\r\n \"etag\": \"W/\\\"a753a89e-650d-4bc0-a853-6c34e3114cd8\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n\ + \ \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\ + \r\n },\r\n \"threatIntelMode\": \"Alert\",\r\n \"additionalProperties\"\ + : {\r\n \"Network.DNS.EnableProxy\": \"False\",\r\n \"Network.DNS.RequireProxyForNetworkRules\"\ + : \"True\",\r\n \"Network.DNS.Servers\": \"\"\r\n },\r\n \"ipConfigurations\"\ + : [],\r\n \"networkRuleCollections\": [],\r\n \"applicationRuleCollections\"\ + : [],\r\n \"natRuleCollections\": []\r\n }\r\n}" headers: cache-control: - no-cache content-length: - - '691' + - '831' content-type: - application/json; charset=utf-8 date: - - Thu, 06 Feb 2020 05:46:16 GMT + - Thu, 18 Jun 2020 04:42:05 GMT etag: - - W/"47147db9-0c93-44f7-9ddb-3b035ecc9a50" + - W/"a753a89e-650d-4bc0-a853-6c34e3114cd8" expires: - '-1' pragma: @@ -274,7 +284,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 8a3dbb50-1ae9-40b7-b4d3-5e5bbd2c31f8 + - 81a49e84-9dec-468e-8dad-7f8fa5227ce3 status: code: 200 message: OK @@ -286,7 +296,8 @@ interactions: "TCP", "ICMP"], "sourceAddresses": ["10.0.0.0", "111.1.0.0/24"], "destinationPorts": ["80"], "destinationFqdns": ["www.bing.com"]}]}, "name": "rc1"}], "ipConfigurations": [], "threatIntelMode": "Alert", "sku": {"name": "AZFW_VNet", "tier": "Standard"}, - "additionalProperties": {}}}''' + "additionalProperties": {"Network.DNS.EnableProxy": "False", "Network.DNS.RequireProxyForNetworkRules": + "True", "Network.DNS.Servers": ""}}}''' headers: Accept: - application/json @@ -297,55 +308,58 @@ interactions: Connection: - keep-alive Content-Length: - - '726' + - '838' Content-Type: - application/json; charset=utf-8 ParameterSetName: - -g -n -c --priority --action -f --source-addresses --protocols --destination-fqdns --destination-ports User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 response: body: - string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"64a98a58-0ad7-43d4-b87e-c98be3117bcf\\\"\",\r\n \"type\": - \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Updating\",\r\n \"sku\": {\r\n \"name\": - \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\": - \"Alert\",\r\n \"additionalProperties\": {},\r\n \"ipConfigurations\": - [],\r\n \"networkRuleCollections\": [\r\n {\r\n \"name\": \"rc1\",\r\n - \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules000001/providers/Microsoft.Network/azureFirewalls/af1/networkRuleCollections/rc1\",\r\n - \ \"etag\": \"W/\\\"64a98a58-0ad7-43d4-b87e-c98be3117bcf\\\"\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n - \ \"priority\": 10000,\r\n \"action\": {\r\n \"type\": - \"Allow\"\r\n },\r\n \"rules\": [\r\n {\r\n \"name\": - \"network-rule1\",\r\n \"protocols\": [\r\n \"UDP\",\r\n - \ \"TCP\",\r\n \"ICMP\"\r\n ],\r\n - \ \"sourceAddresses\": [\r\n \"10.0.0.0\",\r\n - \ \"111.1.0.0/24\"\r\n ],\r\n \"destinationAddresses\": - [],\r\n \"sourceIpGroups\": [],\r\n \"destinationIpGroups\": - [],\r\n \"destinationFqdns\": [\r\n \"www.bing.com\"\r\n - \ ],\r\n \"destinationPorts\": [\r\n \"80\"\r\n - \ ]\r\n }\r\n ]\r\n },\r\n \"type\": - \"Microsoft.Network/azureFirewalls/networkRuleCollections\"\r\n }\r\n - \ ],\r\n \"applicationRuleCollections\": [],\r\n \"natRuleCollections\": - []\r\n }\r\n}" + string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules000001/providers/Microsoft.Network/azureFirewalls/af1\"\ + ,\r\n \"etag\": \"W/\\\"c3722002-f31f-4c0f-981e-981ec51aa628\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \ + \ \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\ + \r\n },\r\n \"threatIntelMode\": \"Alert\",\r\n \"additionalProperties\"\ + : {\r\n \"Network.DNS.EnableProxy\": \"False\",\r\n \"Network.DNS.RequireProxyForNetworkRules\"\ + : \"True\",\r\n \"Network.DNS.Servers\": \"\"\r\n },\r\n \"ipConfigurations\"\ + : [],\r\n \"networkRuleCollections\": [\r\n {\r\n \"name\"\ + : \"rc1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules000001/providers/Microsoft.Network/azureFirewalls/af1/networkRuleCollections/rc1\"\ + ,\r\n \"etag\": \"W/\\\"c3722002-f31f-4c0f-981e-981ec51aa628\\\"\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\"\ + ,\r\n \"priority\": 10000,\r\n \"action\": {\r\n \ + \ \"type\": \"Allow\"\r\n },\r\n \"rules\": [\r\n \ + \ {\r\n \"name\": \"network-rule1\",\r\n \ + \ \"protocols\": [\r\n \"UDP\",\r\n \"TCP\"\ + ,\r\n \"ICMP\"\r\n ],\r\n \"sourceAddresses\"\ + : [\r\n \"10.0.0.0\",\r\n \"111.1.0.0/24\"\r\ + \n ],\r\n \"destinationAddresses\": [],\r\n \ + \ \"sourceIpGroups\": [],\r\n \"destinationIpGroups\"\ + : [],\r\n \"destinationFqdns\": [\r\n \"www.bing.com\"\ + \r\n ],\r\n \"destinationPorts\": [\r\n \ + \ \"80\"\r\n ]\r\n }\r\n ]\r\n \ + \ },\r\n \"type\": \"Microsoft.Network/azureFirewalls/networkRuleCollections\"\ + \r\n }\r\n ],\r\n \"applicationRuleCollections\": [],\r\n \"\ + natRuleCollections\": []\r\n }\r\n}" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/661d0352-9223-45b5-a800-c8c5f16aaaac?api-version=2019-11-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/b90a1667-9208-4435-b67c-965c66e2a064?api-version=2019-11-01 cache-control: - no-cache content-length: - - '1913' + - '2053' content-type: - application/json; charset=utf-8 date: - - Thu, 06 Feb 2020 05:46:17 GMT + - Thu, 18 Jun 2020 04:42:06 GMT expires: - '-1' pragma: @@ -362,9 +376,9 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 0e0147e6-0217-40d0-96b8-e123b8870e4b + - 2694b7f3-c290-46f2-aa4e-feef7715813e x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1190' status: code: 200 message: OK @@ -383,10 +397,10 @@ interactions: - -g -n -c --priority --action -f --source-addresses --protocols --destination-fqdns --destination-ports User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/661d0352-9223-45b5-a800-c8c5f16aaaac?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/b90a1667-9208-4435-b67c-965c66e2a064?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -398,7 +412,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 06 Feb 2020 05:46:28 GMT + - Thu, 18 Jun 2020 04:42:17 GMT expires: - '-1' pragma: @@ -415,7 +429,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 41f14400-c218-4d20-a40d-6a329647db7f + - 7f9f34fc-3d21-4995-920e-e00d2d196804 status: code: 200 message: OK @@ -434,46 +448,49 @@ interactions: - -g -n -c --priority --action -f --source-addresses --protocols --destination-fqdns --destination-ports User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 response: body: - string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"8f856bec-d3dc-4193-87d1-1c9d9bb8fde4\\\"\",\r\n \"type\": - \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Succeeded\",\r\n \"sku\": {\r\n \"name\": - \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\": - \"Alert\",\r\n \"additionalProperties\": {},\r\n \"ipConfigurations\": - [],\r\n \"networkRuleCollections\": [\r\n {\r\n \"name\": \"rc1\",\r\n - \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules000001/providers/Microsoft.Network/azureFirewalls/af1/networkRuleCollections/rc1\",\r\n - \ \"etag\": \"W/\\\"8f856bec-d3dc-4193-87d1-1c9d9bb8fde4\\\"\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"priority\": 10000,\r\n \"action\": {\r\n \"type\": - \"Allow\"\r\n },\r\n \"rules\": [\r\n {\r\n \"name\": - \"network-rule1\",\r\n \"protocols\": [\r\n \"UDP\",\r\n - \ \"TCP\",\r\n \"ICMP\"\r\n ],\r\n - \ \"sourceAddresses\": [\r\n \"10.0.0.0\",\r\n - \ \"111.1.0.0/24\"\r\n ],\r\n \"destinationAddresses\": - [],\r\n \"sourceIpGroups\": [],\r\n \"destinationIpGroups\": - [],\r\n \"destinationFqdns\": [\r\n \"www.bing.com\"\r\n - \ ],\r\n \"destinationPorts\": [\r\n \"80\"\r\n - \ ]\r\n }\r\n ]\r\n },\r\n \"type\": - \"Microsoft.Network/azureFirewalls/networkRuleCollections\"\r\n }\r\n - \ ],\r\n \"applicationRuleCollections\": [],\r\n \"natRuleCollections\": - []\r\n }\r\n}" + string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules000001/providers/Microsoft.Network/azureFirewalls/af1\"\ + ,\r\n \"etag\": \"W/\\\"686a108e-35e7-416f-af45-24d2094fcdc7\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n\ + \ \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\ + \r\n },\r\n \"threatIntelMode\": \"Alert\",\r\n \"additionalProperties\"\ + : {\r\n \"Network.DNS.EnableProxy\": \"False\",\r\n \"Network.DNS.RequireProxyForNetworkRules\"\ + : \"True\",\r\n \"Network.DNS.Servers\": \"\"\r\n },\r\n \"ipConfigurations\"\ + : [],\r\n \"networkRuleCollections\": [\r\n {\r\n \"name\"\ + : \"rc1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules000001/providers/Microsoft.Network/azureFirewalls/af1/networkRuleCollections/rc1\"\ + ,\r\n \"etag\": \"W/\\\"686a108e-35e7-416f-af45-24d2094fcdc7\\\"\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ + ,\r\n \"priority\": 10000,\r\n \"action\": {\r\n \ + \ \"type\": \"Allow\"\r\n },\r\n \"rules\": [\r\n \ + \ {\r\n \"name\": \"network-rule1\",\r\n \ + \ \"protocols\": [\r\n \"UDP\",\r\n \"TCP\"\ + ,\r\n \"ICMP\"\r\n ],\r\n \"sourceAddresses\"\ + : [\r\n \"10.0.0.0\",\r\n \"111.1.0.0/24\"\r\ + \n ],\r\n \"destinationAddresses\": [],\r\n \ + \ \"sourceIpGroups\": [],\r\n \"destinationIpGroups\"\ + : [],\r\n \"destinationFqdns\": [\r\n \"www.bing.com\"\ + \r\n ],\r\n \"destinationPorts\": [\r\n \ + \ \"80\"\r\n ]\r\n }\r\n ]\r\n \ + \ },\r\n \"type\": \"Microsoft.Network/azureFirewalls/networkRuleCollections\"\ + \r\n }\r\n ],\r\n \"applicationRuleCollections\": [],\r\n \"\ + natRuleCollections\": []\r\n }\r\n}" headers: cache-control: - no-cache content-length: - - '1915' + - '2055' content-type: - application/json; charset=utf-8 date: - - Thu, 06 Feb 2020 05:46:28 GMT + - Thu, 18 Jun 2020 04:42:17 GMT etag: - - W/"8f856bec-d3dc-4193-87d1-1c9d9bb8fde4" + - W/"686a108e-35e7-416f-af45-24d2094fcdc7" expires: - '-1' pragma: @@ -490,7 +507,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - ccaa5373-248f-4a87-b319-b6390787ee02 + - 35d59a55-e2ce-4402-8d6d-6658728a7456 status: code: 200 message: OK @@ -509,48 +526,51 @@ interactions: - -g -n -c --priority --action -f --source-addresses --protocols --translated-fqdn --destination-ports --destination-addresses --translated-port User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 response: body: - string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"8f856bec-d3dc-4193-87d1-1c9d9bb8fde4\\\"\",\r\n \"type\": - \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Succeeded\",\r\n \"sku\": {\r\n \"name\": - \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\": - \"Alert\",\r\n \"additionalProperties\": {},\r\n \"ipConfigurations\": - [],\r\n \"networkRuleCollections\": [\r\n {\r\n \"name\": \"rc1\",\r\n - \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules000001/providers/Microsoft.Network/azureFirewalls/af1/networkRuleCollections/rc1\",\r\n - \ \"etag\": \"W/\\\"8f856bec-d3dc-4193-87d1-1c9d9bb8fde4\\\"\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"priority\": 10000,\r\n \"action\": {\r\n \"type\": - \"Allow\"\r\n },\r\n \"rules\": [\r\n {\r\n \"name\": - \"network-rule1\",\r\n \"protocols\": [\r\n \"UDP\",\r\n - \ \"TCP\",\r\n \"ICMP\"\r\n ],\r\n - \ \"sourceAddresses\": [\r\n \"10.0.0.0\",\r\n - \ \"111.1.0.0/24\"\r\n ],\r\n \"destinationAddresses\": - [],\r\n \"sourceIpGroups\": [],\r\n \"destinationIpGroups\": - [],\r\n \"destinationFqdns\": [\r\n \"www.bing.com\"\r\n - \ ],\r\n \"destinationPorts\": [\r\n \"80\"\r\n - \ ]\r\n }\r\n ]\r\n },\r\n \"type\": - \"Microsoft.Network/azureFirewalls/networkRuleCollections\"\r\n }\r\n - \ ],\r\n \"applicationRuleCollections\": [],\r\n \"natRuleCollections\": - []\r\n }\r\n}" + string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules000001/providers/Microsoft.Network/azureFirewalls/af1\"\ + ,\r\n \"etag\": \"W/\\\"686a108e-35e7-416f-af45-24d2094fcdc7\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n\ + \ \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\ + \r\n },\r\n \"threatIntelMode\": \"Alert\",\r\n \"additionalProperties\"\ + : {\r\n \"Network.DNS.EnableProxy\": \"False\",\r\n \"Network.DNS.RequireProxyForNetworkRules\"\ + : \"True\",\r\n \"Network.DNS.Servers\": \"\"\r\n },\r\n \"ipConfigurations\"\ + : [],\r\n \"networkRuleCollections\": [\r\n {\r\n \"name\"\ + : \"rc1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules000001/providers/Microsoft.Network/azureFirewalls/af1/networkRuleCollections/rc1\"\ + ,\r\n \"etag\": \"W/\\\"686a108e-35e7-416f-af45-24d2094fcdc7\\\"\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ + ,\r\n \"priority\": 10000,\r\n \"action\": {\r\n \ + \ \"type\": \"Allow\"\r\n },\r\n \"rules\": [\r\n \ + \ {\r\n \"name\": \"network-rule1\",\r\n \ + \ \"protocols\": [\r\n \"UDP\",\r\n \"TCP\"\ + ,\r\n \"ICMP\"\r\n ],\r\n \"sourceAddresses\"\ + : [\r\n \"10.0.0.0\",\r\n \"111.1.0.0/24\"\r\ + \n ],\r\n \"destinationAddresses\": [],\r\n \ + \ \"sourceIpGroups\": [],\r\n \"destinationIpGroups\"\ + : [],\r\n \"destinationFqdns\": [\r\n \"www.bing.com\"\ + \r\n ],\r\n \"destinationPorts\": [\r\n \ + \ \"80\"\r\n ]\r\n }\r\n ]\r\n \ + \ },\r\n \"type\": \"Microsoft.Network/azureFirewalls/networkRuleCollections\"\ + \r\n }\r\n ],\r\n \"applicationRuleCollections\": [],\r\n \"\ + natRuleCollections\": []\r\n }\r\n}" headers: cache-control: - no-cache content-length: - - '1915' + - '2055' content-type: - application/json; charset=utf-8 date: - - Thu, 06 Feb 2020 05:46:36 GMT + - Thu, 18 Jun 2020 04:42:19 GMT etag: - - W/"8f856bec-d3dc-4193-87d1-1c9d9bb8fde4" + - W/"686a108e-35e7-416f-af45-24d2094fcdc7" expires: - '-1' pragma: @@ -567,7 +587,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 098140fd-b821-4c50-a91a-37aabe6ccff7 + - e09b3602-818a-4b81-9e40-e5f41ae4dcb9 status: code: 200 message: OK @@ -584,7 +604,9 @@ interactions: "111.1.0.0/24"], "destinationAddresses": [], "destinationPorts": ["80"], "destinationFqdns": ["www.bing.com"], "sourceIpGroups": [], "destinationIpGroups": []}]}, "name": "rc1"}], "ipConfigurations": [], "threatIntelMode": "Alert", "sku": {"name": - "AZFW_VNet", "tier": "Standard"}, "additionalProperties": {}}}''' + "AZFW_VNet", "tier": "Standard"}, "additionalProperties": {"Network.DNS.EnableProxy": + "False", "Network.DNS.RequireProxyForNetworkRules": "True", "Network.DNS.Servers": + ""}}}''' headers: Accept: - application/json @@ -595,69 +617,74 @@ interactions: Connection: - keep-alive Content-Length: - - '1358' + - '1470' Content-Type: - application/json; charset=utf-8 ParameterSetName: - -g -n -c --priority --action -f --source-addresses --protocols --translated-fqdn --destination-ports --destination-addresses --translated-port User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 response: body: - string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"6479d9b4-084a-48f8-a54d-b18aced30953\\\"\",\r\n \"type\": - \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Updating\",\r\n \"sku\": {\r\n \"name\": - \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\": - \"Alert\",\r\n \"additionalProperties\": {},\r\n \"ipConfigurations\": - [],\r\n \"networkRuleCollections\": [\r\n {\r\n \"name\": \"rc1\",\r\n - \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules000001/providers/Microsoft.Network/azureFirewalls/af1/networkRuleCollections/rc1\",\r\n - \ \"etag\": \"W/\\\"6479d9b4-084a-48f8-a54d-b18aced30953\\\"\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n - \ \"priority\": 10000,\r\n \"action\": {\r\n \"type\": - \"Allow\"\r\n },\r\n \"rules\": [\r\n {\r\n \"name\": - \"network-rule1\",\r\n \"protocols\": [\r\n \"UDP\",\r\n - \ \"TCP\",\r\n \"ICMP\"\r\n ],\r\n - \ \"sourceAddresses\": [\r\n \"10.0.0.0\",\r\n - \ \"111.1.0.0/24\"\r\n ],\r\n \"destinationAddresses\": - [],\r\n \"sourceIpGroups\": [],\r\n \"destinationIpGroups\": - [],\r\n \"destinationFqdns\": [\r\n \"www.bing.com\"\r\n - \ ],\r\n \"destinationPorts\": [\r\n \"80\"\r\n - \ ]\r\n }\r\n ]\r\n },\r\n \"type\": - \"Microsoft.Network/azureFirewalls/networkRuleCollections\"\r\n }\r\n - \ ],\r\n \"applicationRuleCollections\": [],\r\n \"natRuleCollections\": - [\r\n {\r\n \"name\": \"rc2\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules000001/providers/Microsoft.Network/azureFirewalls/af1/natRuleCollections/rc2\",\r\n - \ \"etag\": \"W/\\\"6479d9b4-084a-48f8-a54d-b18aced30953\\\"\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n - \ \"priority\": 10001,\r\n \"action\": {\r\n \"type\": - \"Dnat\"\r\n },\r\n \"rules\": [\r\n {\r\n \"name\": - \"network-rule1\",\r\n \"protocols\": [\r\n \"UDP\",\r\n - \ \"TCP\"\r\n ],\r\n \"translatedFqdn\": - \"server1.internal.com\",\r\n \"translatedPort\": \"95\",\r\n - \ \"sourceAddresses\": [\r\n \"10.0.0.0\",\r\n - \ \"111.1.0.0/24\"\r\n ],\r\n \"sourceIpGroups\": - [],\r\n \"destinationAddresses\": [\r\n \"12.36.22.14\"\r\n - \ ],\r\n \"destinationPorts\": [\r\n \"96\"\r\n - \ ]\r\n }\r\n ]\r\n },\r\n \"type\": - \"Microsoft.Network/azureFirewalls/natRuleCollections\"\r\n }\r\n ]\r\n - \ }\r\n}" + string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules000001/providers/Microsoft.Network/azureFirewalls/af1\"\ + ,\r\n \"etag\": \"W/\\\"91d5a8ae-d18c-47e3-a32e-ce34b1fe8b48\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \ + \ \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\ + \r\n },\r\n \"threatIntelMode\": \"Alert\",\r\n \"additionalProperties\"\ + : {\r\n \"Network.DNS.EnableProxy\": \"False\",\r\n \"Network.DNS.RequireProxyForNetworkRules\"\ + : \"True\",\r\n \"Network.DNS.Servers\": \"\"\r\n },\r\n \"ipConfigurations\"\ + : [],\r\n \"networkRuleCollections\": [\r\n {\r\n \"name\"\ + : \"rc1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules000001/providers/Microsoft.Network/azureFirewalls/af1/networkRuleCollections/rc1\"\ + ,\r\n \"etag\": \"W/\\\"91d5a8ae-d18c-47e3-a32e-ce34b1fe8b48\\\"\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\"\ + ,\r\n \"priority\": 10000,\r\n \"action\": {\r\n \ + \ \"type\": \"Allow\"\r\n },\r\n \"rules\": [\r\n \ + \ {\r\n \"name\": \"network-rule1\",\r\n \ + \ \"protocols\": [\r\n \"UDP\",\r\n \"TCP\"\ + ,\r\n \"ICMP\"\r\n ],\r\n \"sourceAddresses\"\ + : [\r\n \"10.0.0.0\",\r\n \"111.1.0.0/24\"\r\ + \n ],\r\n \"destinationAddresses\": [],\r\n \ + \ \"sourceIpGroups\": [],\r\n \"destinationIpGroups\"\ + : [],\r\n \"destinationFqdns\": [\r\n \"www.bing.com\"\ + \r\n ],\r\n \"destinationPorts\": [\r\n \ + \ \"80\"\r\n ]\r\n }\r\n ]\r\n \ + \ },\r\n \"type\": \"Microsoft.Network/azureFirewalls/networkRuleCollections\"\ + \r\n }\r\n ],\r\n \"applicationRuleCollections\": [],\r\n \"\ + natRuleCollections\": [\r\n {\r\n \"name\": \"rc2\",\r\n \ + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules000001/providers/Microsoft.Network/azureFirewalls/af1/natRuleCollections/rc2\"\ + ,\r\n \"etag\": \"W/\\\"91d5a8ae-d18c-47e3-a32e-ce34b1fe8b48\\\"\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\"\ + ,\r\n \"priority\": 10001,\r\n \"action\": {\r\n \ + \ \"type\": \"Dnat\"\r\n },\r\n \"rules\": [\r\n \ + \ {\r\n \"name\": \"network-rule1\",\r\n \ + \ \"protocols\": [\r\n \"UDP\",\r\n \"TCP\"\ + \r\n ],\r\n \"translatedFqdn\": \"server1.internal.com\"\ + ,\r\n \"translatedPort\": \"95\",\r\n \"sourceAddresses\"\ + : [\r\n \"10.0.0.0\",\r\n \"111.1.0.0/24\"\r\ + \n ],\r\n \"sourceIpGroups\": [],\r\n \ + \ \"destinationAddresses\": [\r\n \"12.36.22.14\"\r\n \ + \ ],\r\n \"destinationPorts\": [\r\n \ + \ \"96\"\r\n ]\r\n }\r\n ]\r\n },\r\ + \n \"type\": \"Microsoft.Network/azureFirewalls/natRuleCollections\"\ + \r\n }\r\n ]\r\n }\r\n}" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/4d1a2054-0bc5-4d83-b348-a0b5c022251e?api-version=2019-11-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/048444f9-41cf-42e1-8ed1-361c736f2b0d?api-version=2019-11-01 cache-control: - no-cache content-length: - - '3116' + - '3256' content-type: - application/json; charset=utf-8 date: - - Thu, 06 Feb 2020 05:46:37 GMT + - Thu, 18 Jun 2020 04:42:19 GMT expires: - '-1' pragma: @@ -674,9 +701,9 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - d3ed99bc-0486-40ab-9f26-a8ca400e14dc + - 7108bf8e-ccbe-46aa-8743-f4479433461c x-ms-ratelimit-remaining-subscription-writes: - - '1196' + - '1198' status: code: 200 message: OK @@ -695,10 +722,10 @@ interactions: - -g -n -c --priority --action -f --source-addresses --protocols --translated-fqdn --destination-ports --destination-addresses --translated-port User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/4d1a2054-0bc5-4d83-b348-a0b5c022251e?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/048444f9-41cf-42e1-8ed1-361c736f2b0d?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -710,7 +737,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 06 Feb 2020 05:46:48 GMT + - Thu, 18 Jun 2020 04:42:30 GMT expires: - '-1' pragma: @@ -727,7 +754,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 85f8ab7d-586a-4c63-92b6-79ea9914d4ed + - 1a6b3a68-02de-43b6-b065-e8851a26403b status: code: 200 message: OK @@ -746,60 +773,65 @@ interactions: - -g -n -c --priority --action -f --source-addresses --protocols --translated-fqdn --destination-ports --destination-addresses --translated-port User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 response: body: - string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"97d6550a-c957-466f-9df9-f3726351de37\\\"\",\r\n \"type\": - \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Succeeded\",\r\n \"sku\": {\r\n \"name\": - \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\": - \"Alert\",\r\n \"additionalProperties\": {},\r\n \"ipConfigurations\": - [],\r\n \"networkRuleCollections\": [\r\n {\r\n \"name\": \"rc1\",\r\n - \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules000001/providers/Microsoft.Network/azureFirewalls/af1/networkRuleCollections/rc1\",\r\n - \ \"etag\": \"W/\\\"97d6550a-c957-466f-9df9-f3726351de37\\\"\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"priority\": 10000,\r\n \"action\": {\r\n \"type\": - \"Allow\"\r\n },\r\n \"rules\": [\r\n {\r\n \"name\": - \"network-rule1\",\r\n \"protocols\": [\r\n \"UDP\",\r\n - \ \"TCP\",\r\n \"ICMP\"\r\n ],\r\n - \ \"sourceAddresses\": [\r\n \"10.0.0.0\",\r\n - \ \"111.1.0.0/24\"\r\n ],\r\n \"destinationAddresses\": - [],\r\n \"sourceIpGroups\": [],\r\n \"destinationIpGroups\": - [],\r\n \"destinationFqdns\": [\r\n \"www.bing.com\"\r\n - \ ],\r\n \"destinationPorts\": [\r\n \"80\"\r\n - \ ]\r\n }\r\n ]\r\n },\r\n \"type\": - \"Microsoft.Network/azureFirewalls/networkRuleCollections\"\r\n }\r\n - \ ],\r\n \"applicationRuleCollections\": [],\r\n \"natRuleCollections\": - [\r\n {\r\n \"name\": \"rc2\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules000001/providers/Microsoft.Network/azureFirewalls/af1/natRuleCollections/rc2\",\r\n - \ \"etag\": \"W/\\\"97d6550a-c957-466f-9df9-f3726351de37\\\"\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"priority\": 10001,\r\n \"action\": {\r\n \"type\": - \"Dnat\"\r\n },\r\n \"rules\": [\r\n {\r\n \"name\": - \"network-rule1\",\r\n \"protocols\": [\r\n \"UDP\",\r\n - \ \"TCP\"\r\n ],\r\n \"translatedFqdn\": - \"server1.internal.com\",\r\n \"translatedPort\": \"95\",\r\n - \ \"sourceAddresses\": [\r\n \"10.0.0.0\",\r\n - \ \"111.1.0.0/24\"\r\n ],\r\n \"sourceIpGroups\": - [],\r\n \"destinationAddresses\": [\r\n \"12.36.22.14\"\r\n - \ ],\r\n \"destinationPorts\": [\r\n \"96\"\r\n - \ ]\r\n }\r\n ]\r\n },\r\n \"type\": - \"Microsoft.Network/azureFirewalls/natRuleCollections\"\r\n }\r\n ]\r\n - \ }\r\n}" + string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules000001/providers/Microsoft.Network/azureFirewalls/af1\"\ + ,\r\n \"etag\": \"W/\\\"35e3ccb1-c91f-4fe9-a55a-1fa3025bab15\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n\ + \ \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\ + \r\n },\r\n \"threatIntelMode\": \"Alert\",\r\n \"additionalProperties\"\ + : {\r\n \"Network.DNS.EnableProxy\": \"False\",\r\n \"Network.DNS.RequireProxyForNetworkRules\"\ + : \"True\",\r\n \"Network.DNS.Servers\": \"\"\r\n },\r\n \"ipConfigurations\"\ + : [],\r\n \"networkRuleCollections\": [\r\n {\r\n \"name\"\ + : \"rc1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules000001/providers/Microsoft.Network/azureFirewalls/af1/networkRuleCollections/rc1\"\ + ,\r\n \"etag\": \"W/\\\"35e3ccb1-c91f-4fe9-a55a-1fa3025bab15\\\"\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ + ,\r\n \"priority\": 10000,\r\n \"action\": {\r\n \ + \ \"type\": \"Allow\"\r\n },\r\n \"rules\": [\r\n \ + \ {\r\n \"name\": \"network-rule1\",\r\n \ + \ \"protocols\": [\r\n \"UDP\",\r\n \"TCP\"\ + ,\r\n \"ICMP\"\r\n ],\r\n \"sourceAddresses\"\ + : [\r\n \"10.0.0.0\",\r\n \"111.1.0.0/24\"\r\ + \n ],\r\n \"destinationAddresses\": [],\r\n \ + \ \"sourceIpGroups\": [],\r\n \"destinationIpGroups\"\ + : [],\r\n \"destinationFqdns\": [\r\n \"www.bing.com\"\ + \r\n ],\r\n \"destinationPorts\": [\r\n \ + \ \"80\"\r\n ]\r\n }\r\n ]\r\n \ + \ },\r\n \"type\": \"Microsoft.Network/azureFirewalls/networkRuleCollections\"\ + \r\n }\r\n ],\r\n \"applicationRuleCollections\": [],\r\n \"\ + natRuleCollections\": [\r\n {\r\n \"name\": \"rc2\",\r\n \ + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules000001/providers/Microsoft.Network/azureFirewalls/af1/natRuleCollections/rc2\"\ + ,\r\n \"etag\": \"W/\\\"35e3ccb1-c91f-4fe9-a55a-1fa3025bab15\\\"\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ + ,\r\n \"priority\": 10001,\r\n \"action\": {\r\n \ + \ \"type\": \"Dnat\"\r\n },\r\n \"rules\": [\r\n \ + \ {\r\n \"name\": \"network-rule1\",\r\n \ + \ \"protocols\": [\r\n \"UDP\",\r\n \"TCP\"\ + \r\n ],\r\n \"translatedFqdn\": \"server1.internal.com\"\ + ,\r\n \"translatedPort\": \"95\",\r\n \"sourceAddresses\"\ + : [\r\n \"10.0.0.0\",\r\n \"111.1.0.0/24\"\r\ + \n ],\r\n \"sourceIpGroups\": [],\r\n \ + \ \"destinationAddresses\": [\r\n \"12.36.22.14\"\r\n \ + \ ],\r\n \"destinationPorts\": [\r\n \ + \ \"96\"\r\n ]\r\n }\r\n ]\r\n },\r\ + \n \"type\": \"Microsoft.Network/azureFirewalls/natRuleCollections\"\ + \r\n }\r\n ]\r\n }\r\n}" headers: cache-control: - no-cache content-length: - - '3119' + - '3259' content-type: - application/json; charset=utf-8 date: - - Thu, 06 Feb 2020 05:46:49 GMT + - Thu, 18 Jun 2020 04:42:30 GMT etag: - - W/"97d6550a-c957-466f-9df9-f3726351de37" + - W/"35e3ccb1-c91f-4fe9-a55a-1fa3025bab15" expires: - '-1' pragma: @@ -816,7 +848,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 99f0a6a9-6d0b-4b5a-b393-681606602655 + - 60d072e4-86c0-48ce-8e31-3e4b2b9255e5 status: code: 200 message: OK @@ -836,8 +868,8 @@ interactions: ParameterSetName: - -g -n User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: DELETE @@ -846,18 +878,20 @@ interactions: body: string: '' headers: + azure-asyncnotification: + - Enabled azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/712d37c3-a72d-4783-8528-cd0207ccfe5e?api-version=2019-11-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/37892818-f3bd-4b4b-841b-382c63a5eff8?api-version=2019-11-01 cache-control: - no-cache content-length: - '0' date: - - Thu, 06 Feb 2020 05:46:51 GMT + - Thu, 18 Jun 2020 04:42:31 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operationResults/712d37c3-a72d-4783-8528-cd0207ccfe5e?api-version=2019-11-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operationResults/37892818-f3bd-4b4b-841b-382c63a5eff8?api-version=2019-11-01 pragma: - no-cache server: @@ -868,9 +902,9 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 9b26b696-5517-4121-af29-ecbefd98f56e + - 74d1f491-8ed2-48ca-8746-ed675b8da287 x-ms-ratelimit-remaining-subscription-deletes: - - '14998' + - '14999' status: code: 202 message: Accepted @@ -888,10 +922,10 @@ interactions: ParameterSetName: - -g -n User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/712d37c3-a72d-4783-8528-cd0207ccfe5e?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/37892818-f3bd-4b4b-841b-382c63a5eff8?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -903,7 +937,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 06 Feb 2020 05:47:03 GMT + - Thu, 18 Jun 2020 04:42:42 GMT expires: - '-1' pragma: @@ -920,7 +954,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - c5c7b7cc-ac8a-4dcb-9b41-ec6b14e608ca + - 067fcbff-470e-4801-b6ef-bd78bd065545 status: code: 200 message: OK diff --git a/src/azure-firewall/azext_firewall/tests/latest/recordings/test_azure_firewall_rules_with_ipgroups.yaml b/src/azure-firewall/azext_firewall/tests/latest/recordings/test_azure_firewall_rules_with_ipgroups.yaml index 484667b1c16..6e965a83330 100644 --- a/src/azure-firewall/azext_firewall/tests/latest/recordings/test_azure_firewall_rules_with_ipgroups.yaml +++ b/src/azure-firewall/azext_firewall/tests/latest/recordings/test_azure_firewall_rules_with_ipgroups.yaml @@ -13,15 +13,15 @@ interactions: ParameterSetName: - -n -g --ip-addresses User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-resource/8.0.1 Azure-SDK-For-Python AZURECLI/2.1.0 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_azure_firewall_rules_with_ipgroups000001?api-version=2019-07-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001","name":"cli_test_azure_firewall_rules_with_ipgroups000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2020-03-06T07:56:07Z"},"properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001","name":"cli_test_azure_firewall_rules_with_ipgroups000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2020-06-18T04:42:50Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -30,7 +30,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 06 Mar 2020 07:56:12 GMT + - Thu, 18 Jun 2020 04:42:52 GMT expires: - '-1' pragma: @@ -62,30 +62,32 @@ interactions: ParameterSetName: - -n -g --ip-addresses User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/7.0.0 Azure-SDK-For-Python AZURECLI/2.1.0 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/7.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup?api-version=2019-09-01 response: body: - string: "{\r\n \"properties\": {\r\n \"firewalls\": [],\r\n \"ipAddresses\": - [\r\n \"10.0.0.0\",\r\n \"10.0.0.1\"\r\n ],\r\n \"provisioningState\": - \"Updating\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup\",\r\n - \ \"name\": \"sourceipgroup\",\r\n \"type\": \"Microsoft.Network/IpGroups\",\r\n - \ \"etag\": \"6074c8b2-9346-46fc-9da2-4cec052e041d\",\r\n \"location\": \"westus\"\r\n}" + string: "{\r\n \"properties\": {\r\n \"firewalls\": [],\r\n \"firewallPolicies\"\ + : [],\r\n \"ipAddresses\": [\r\n \"10.0.0.0\",\r\n \"10.0.0.1\"\ + \r\n ],\r\n \"provisioningState\": \"Updating\"\r\n },\r\n \"id\"\ + : \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup\"\ + ,\r\n \"name\": \"sourceipgroup\",\r\n \"type\": \"Microsoft.Network/IpGroups\"\ + ,\r\n \"etag\": \"46ca2029-44bf-4126-8a63-cb5ea72f246c\",\r\n \"location\"\ + : \"westus\"\r\n}" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/nfvOperations/17ec7cbd-714e-4230-8332-80ba9dbbde2a?api-version=2019-09-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/nfvOperations/c7e22754-8c82-4fe7-9fec-d92859cd19f2?api-version=2019-09-01 cache-control: - no-cache content-length: - - '505' + - '534' content-type: - application/json; charset=utf-8 date: - - Fri, 06 Mar 2020 07:56:21 GMT + - Thu, 18 Jun 2020 04:43:00 GMT expires: - '-1' pragma: @@ -97,7 +99,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1197' status: code: 201 message: Created @@ -115,10 +117,10 @@ interactions: ParameterSetName: - -n -g --ip-addresses User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/7.0.0 Azure-SDK-For-Python AZURECLI/2.1.0 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/7.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/nfvOperations/17ec7cbd-714e-4230-8332-80ba9dbbde2a?api-version=2019-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/nfvOperations/c7e22754-8c82-4fe7-9fec-d92859cd19f2?api-version=2019-09-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -130,7 +132,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 06 Mar 2020 07:56:33 GMT + - Thu, 18 Jun 2020 04:43:11 GMT expires: - '-1' pragma: @@ -162,26 +164,28 @@ interactions: ParameterSetName: - -n -g --ip-addresses User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/7.0.0 Azure-SDK-For-Python AZURECLI/2.1.0 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/7.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup?api-version=2019-09-01 response: body: - string: "{\r\n \"properties\": {\r\n \"firewalls\": [],\r\n \"ipAddresses\": - [\r\n \"10.0.0.0\",\r\n \"10.0.0.1\"\r\n ],\r\n \"provisioningState\": - \"Succeeded\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup\",\r\n - \ \"name\": \"sourceipgroup\",\r\n \"type\": \"Microsoft.Network/IpGroups\",\r\n - \ \"etag\": \"6074c8b2-9346-46fc-9da2-4cec052e041d\",\r\n \"location\": \"westus\"\r\n}" + string: "{\r\n \"properties\": {\r\n \"firewalls\": [],\r\n \"firewallPolicies\"\ + : [],\r\n \"ipAddresses\": [\r\n \"10.0.0.0\",\r\n \"10.0.0.1\"\ + \r\n ],\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"id\"\ + : \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup\"\ + ,\r\n \"name\": \"sourceipgroup\",\r\n \"type\": \"Microsoft.Network/IpGroups\"\ + ,\r\n \"etag\": \"46ca2029-44bf-4126-8a63-cb5ea72f246c\",\r\n \"location\"\ + : \"westus\"\r\n}" headers: cache-control: - no-cache content-length: - - '506' + - '535' content-type: - application/json; charset=utf-8 date: - - Fri, 06 Mar 2020 07:56:34 GMT + - Thu, 18 Jun 2020 04:43:12 GMT expires: - '-1' pragma: @@ -213,15 +217,15 @@ interactions: ParameterSetName: - -n -g --ip-addresses User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-resource/8.0.1 Azure-SDK-For-Python AZURECLI/2.1.0 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_azure_firewall_rules_with_ipgroups000001?api-version=2019-07-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001","name":"cli_test_azure_firewall_rules_with_ipgroups000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2020-03-06T07:56:07Z"},"properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001","name":"cli_test_azure_firewall_rules_with_ipgroups000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2020-06-18T04:42:50Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -230,7 +234,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 06 Mar 2020 07:56:35 GMT + - Thu, 18 Jun 2020 04:43:12 GMT expires: - '-1' pragma: @@ -262,30 +266,32 @@ interactions: ParameterSetName: - -n -g --ip-addresses User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/7.0.0 Azure-SDK-For-Python AZURECLI/2.1.0 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/7.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/destinationipgroup?api-version=2019-09-01 response: body: - string: "{\r\n \"properties\": {\r\n \"firewalls\": [],\r\n \"ipAddresses\": - [\r\n \"10.0.0.2\",\r\n \"10.0.0.3\"\r\n ],\r\n \"provisioningState\": - \"Updating\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/destinationipgroup\",\r\n - \ \"name\": \"destinationipgroup\",\r\n \"type\": \"Microsoft.Network/IpGroups\",\r\n - \ \"etag\": \"9fddecf6-f7a1-4897-8c52-4de36cb4be3f\",\r\n \"location\": \"westus\"\r\n}" + string: "{\r\n \"properties\": {\r\n \"firewalls\": [],\r\n \"firewallPolicies\"\ + : [],\r\n \"ipAddresses\": [\r\n \"10.0.0.2\",\r\n \"10.0.0.3\"\ + \r\n ],\r\n \"provisioningState\": \"Updating\"\r\n },\r\n \"id\"\ + : \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/destinationipgroup\"\ + ,\r\n \"name\": \"destinationipgroup\",\r\n \"type\": \"Microsoft.Network/IpGroups\"\ + ,\r\n \"etag\": \"dae96663-5f0b-4949-af76-a39fda53d3ab\",\r\n \"location\"\ + : \"westus\"\r\n}" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/nfvOperations/2843bad4-dd51-42bf-90c0-32f215d1cfac?api-version=2019-09-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/nfvOperations/1792bec6-3ccd-4d0e-bb73-b6b118cddf2b?api-version=2019-09-01 cache-control: - no-cache content-length: - - '515' + - '544' content-type: - application/json; charset=utf-8 date: - - Fri, 06 Mar 2020 07:56:43 GMT + - Thu, 18 Jun 2020 04:43:19 GMT expires: - '-1' pragma: @@ -297,7 +303,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1189' status: code: 201 message: Created @@ -315,10 +321,10 @@ interactions: ParameterSetName: - -n -g --ip-addresses User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/7.0.0 Azure-SDK-For-Python AZURECLI/2.1.0 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/7.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/nfvOperations/2843bad4-dd51-42bf-90c0-32f215d1cfac?api-version=2019-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/nfvOperations/1792bec6-3ccd-4d0e-bb73-b6b118cddf2b?api-version=2019-09-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -330,7 +336,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 06 Mar 2020 07:56:54 GMT + - Thu, 18 Jun 2020 04:43:29 GMT expires: - '-1' pragma: @@ -362,26 +368,28 @@ interactions: ParameterSetName: - -n -g --ip-addresses User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/7.0.0 Azure-SDK-For-Python AZURECLI/2.1.0 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/7.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/destinationipgroup?api-version=2019-09-01 response: body: - string: "{\r\n \"properties\": {\r\n \"firewalls\": [],\r\n \"ipAddresses\": - [\r\n \"10.0.0.2\",\r\n \"10.0.0.3\"\r\n ],\r\n \"provisioningState\": - \"Succeeded\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/destinationipgroup\",\r\n - \ \"name\": \"destinationipgroup\",\r\n \"type\": \"Microsoft.Network/IpGroups\",\r\n - \ \"etag\": \"9fddecf6-f7a1-4897-8c52-4de36cb4be3f\",\r\n \"location\": \"westus\"\r\n}" + string: "{\r\n \"properties\": {\r\n \"firewalls\": [],\r\n \"firewallPolicies\"\ + : [],\r\n \"ipAddresses\": [\r\n \"10.0.0.2\",\r\n \"10.0.0.3\"\ + \r\n ],\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"id\"\ + : \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/destinationipgroup\"\ + ,\r\n \"name\": \"destinationipgroup\",\r\n \"type\": \"Microsoft.Network/IpGroups\"\ + ,\r\n \"etag\": \"dae96663-5f0b-4949-af76-a39fda53d3ab\",\r\n \"location\"\ + : \"westus\"\r\n}" headers: cache-control: - no-cache content-length: - - '516' + - '545' content-type: - application/json; charset=utf-8 date: - - Fri, 06 Mar 2020 07:56:54 GMT + - Thu, 18 Jun 2020 04:43:30 GMT expires: - '-1' pragma: @@ -413,15 +421,15 @@ interactions: ParameterSetName: - -g -n User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-resource/8.0.1 Azure-SDK-For-Python AZURECLI/2.1.0 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_azure_firewall_rules_with_ipgroups000001?api-version=2019-07-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001","name":"cli_test_azure_firewall_rules_with_ipgroups000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2020-03-06T07:56:07Z"},"properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001","name":"cli_test_azure_firewall_rules_with_ipgroups000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2020-06-18T04:42:50Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -430,7 +438,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 06 Mar 2020 07:56:56 GMT + - Thu, 18 Jun 2020 04:43:32 GMT expires: - '-1' pragma: @@ -445,7 +453,9 @@ interactions: code: 200 message: OK - request: - body: '{"location": "westus", "properties": {"additionalProperties": {}}}' + body: '{"location": "westus", "properties": {"additionalProperties": {"Network.DNS.EnableProxy": + "False", "Network.DNS.RequireProxyForNetworkRules": "True", "Network.DNS.Servers": + ""}}}' headers: Accept: - application/json @@ -456,41 +466,43 @@ interactions: Connection: - keep-alive Content-Length: - - '66' + - '178' Content-Type: - application/json; charset=utf-8 ParameterSetName: - -g -n User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.1.0 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 response: body: - string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"ca2020fa-9375-4fa5-bdc8-7c43486c9961\\\"\",\r\n \"type\": - \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Updating\",\r\n \"sku\": {\r\n \"name\": - \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\": - \"Alert\",\r\n \"additionalProperties\": {},\r\n \"ipConfigurations\": - [],\r\n \"networkRuleCollections\": [],\r\n \"applicationRuleCollections\": - [],\r\n \"natRuleCollections\": []\r\n }\r\n}" + string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1\"\ + ,\r\n \"etag\": \"W/\\\"a1188a6c-e3c8-41aa-b74e-0836cfb17fc5\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \ + \ \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\ + \r\n },\r\n \"threatIntelMode\": \"Alert\",\r\n \"additionalProperties\"\ + : {\r\n \"Network.DNS.EnableProxy\": \"False\",\r\n \"Network.DNS.RequireProxyForNetworkRules\"\ + : \"True\",\r\n \"Network.DNS.Servers\": \"\"\r\n },\r\n \"ipConfigurations\"\ + : [],\r\n \"networkRuleCollections\": [],\r\n \"applicationRuleCollections\"\ + : [],\r\n \"natRuleCollections\": []\r\n }\r\n}" headers: azure-asyncnotification: - Enabled azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/e9ab4c11-e586-40a4-8977-8477c4d83299?api-version=2019-11-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/93b7febf-b878-40ec-ab0c-b512a802fc9c?api-version=2019-11-01 cache-control: - no-cache content-length: - - '690' + - '830' content-type: - application/json; charset=utf-8 date: - - Fri, 06 Mar 2020 07:57:03 GMT + - Thu, 18 Jun 2020 04:43:37 GMT expires: - '-1' pragma: @@ -503,9 +515,9 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 21e5435d-b497-4084-b808-5034c97c786c + - 93afa32e-363a-4d0f-ba00-2c4d4f9f7b1f x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1195' status: code: 201 message: Created @@ -523,10 +535,10 @@ interactions: ParameterSetName: - -g -n User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.1.0 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/e9ab4c11-e586-40a4-8977-8477c4d83299?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/93b7febf-b878-40ec-ab0c-b512a802fc9c?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -538,7 +550,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 06 Mar 2020 07:57:14 GMT + - Thu, 18 Jun 2020 04:43:48 GMT expires: - '-1' pragma: @@ -555,7 +567,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 9c00475c-1aa1-492c-a697-79af38994c36 + - 0f901781-3994-4c7a-a2c0-04297c46f28b status: code: 200 message: OK @@ -573,31 +585,33 @@ interactions: ParameterSetName: - -g -n User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.1.0 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 response: body: - string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"a3c7dba4-e7b1-4c31-b3d9-6fbeb6161e20\\\"\",\r\n \"type\": - \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Succeeded\",\r\n \"sku\": {\r\n \"name\": - \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\": - \"Alert\",\r\n \"additionalProperties\": {},\r\n \"ipConfigurations\": - [],\r\n \"networkRuleCollections\": [],\r\n \"applicationRuleCollections\": - [],\r\n \"natRuleCollections\": []\r\n }\r\n}" + string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1\"\ + ,\r\n \"etag\": \"W/\\\"5f18912c-c676-43ed-a44c-fd5e07d41f40\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n\ + \ \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\ + \r\n },\r\n \"threatIntelMode\": \"Alert\",\r\n \"additionalProperties\"\ + : {\r\n \"Network.DNS.EnableProxy\": \"False\",\r\n \"Network.DNS.RequireProxyForNetworkRules\"\ + : \"True\",\r\n \"Network.DNS.Servers\": \"\"\r\n },\r\n \"ipConfigurations\"\ + : [],\r\n \"networkRuleCollections\": [],\r\n \"applicationRuleCollections\"\ + : [],\r\n \"natRuleCollections\": []\r\n }\r\n}" headers: cache-control: - no-cache content-length: - - '691' + - '831' content-type: - application/json; charset=utf-8 date: - - Fri, 06 Mar 2020 07:57:15 GMT + - Thu, 18 Jun 2020 04:43:48 GMT etag: - - W/"a3c7dba4-e7b1-4c31-b3d9-6fbeb6161e20" + - W/"5f18912c-c676-43ed-a44c-fd5e07d41f40" expires: - '-1' pragma: @@ -614,7 +628,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - f3e9b965-b203-4485-941c-1bbbf6511edb + - 87e5a0d7-0140-425e-aa60-b1aad6b2f2f3 status: code: 200 message: OK @@ -630,36 +644,38 @@ interactions: Connection: - keep-alive ParameterSetName: - - -g -n -c --priority --action -f --source-addresses --protocols --destination-ip-groups + - -g -n -c --priority --action -f --source-ip-group --protocols --destination-ip-groups --destination-ports User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.1.0 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 response: body: - string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"a3c7dba4-e7b1-4c31-b3d9-6fbeb6161e20\\\"\",\r\n \"type\": - \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Succeeded\",\r\n \"sku\": {\r\n \"name\": - \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\": - \"Alert\",\r\n \"additionalProperties\": {},\r\n \"ipConfigurations\": - [],\r\n \"networkRuleCollections\": [],\r\n \"applicationRuleCollections\": - [],\r\n \"natRuleCollections\": []\r\n }\r\n}" + string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1\"\ + ,\r\n \"etag\": \"W/\\\"5f18912c-c676-43ed-a44c-fd5e07d41f40\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n\ + \ \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\ + \r\n },\r\n \"threatIntelMode\": \"Alert\",\r\n \"additionalProperties\"\ + : {\r\n \"Network.DNS.EnableProxy\": \"False\",\r\n \"Network.DNS.RequireProxyForNetworkRules\"\ + : \"True\",\r\n \"Network.DNS.Servers\": \"\"\r\n },\r\n \"ipConfigurations\"\ + : [],\r\n \"networkRuleCollections\": [],\r\n \"applicationRuleCollections\"\ + : [],\r\n \"natRuleCollections\": []\r\n }\r\n}" headers: cache-control: - no-cache content-length: - - '691' + - '831' content-type: - application/json; charset=utf-8 date: - - Fri, 06 Mar 2020 07:57:16 GMT + - Thu, 18 Jun 2020 04:43:50 GMT etag: - - W/"a3c7dba4-e7b1-4c31-b3d9-6fbeb6161e20" + - W/"5f18912c-c676-43ed-a44c-fd5e07d41f40" expires: - '-1' pragma: @@ -676,7 +692,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - f3499664-c0d0-4e47-ae5c-866fed4d590e + - dba58c9b-ed72-4da3-bfb3-860aa76aeb8d status: code: 200 message: OK @@ -685,10 +701,12 @@ interactions: "location": "westus", "properties": {"applicationRuleCollections": [], "natRuleCollections": [], "networkRuleCollections": [{"properties": {"priority": 10000, "action": {"type": "Allow"}, "rules": [{"name": "network-rule1", "protocols": ["UDP", - "TCP", "ICMP"], "sourceAddresses": ["10.0.0.0", "111.1.0.0/24"], "destinationPorts": - ["80"], "destinationIpGroups": ["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/destinationipgroup"]}]}, + "TCP", "ICMP"], "destinationPorts": ["80"], "sourceIpGroups": ["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup"], + "destinationIpGroups": ["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/destinationipgroup"]}]}, "name": "rc1"}], "ipConfigurations": [], "threatIntelMode": "Alert", "sku": - {"name": "AZFW_VNet", "tier": "Standard"}, "additionalProperties": {}}}''' + {"name": "AZFW_VNet", "tier": "Standard"}, "additionalProperties": {"Network.DNS.EnableProxy": + "False", "Network.DNS.RequireProxyForNetworkRules": "True", "Network.DNS.Servers": + ""}}}''' headers: Accept: - application/json @@ -699,55 +717,59 @@ interactions: Connection: - keep-alive Content-Length: - - '915' + - '1195' Content-Type: - application/json; charset=utf-8 ParameterSetName: - - -g -n -c --priority --action -f --source-addresses --protocols --destination-ip-groups + - -g -n -c --priority --action -f --source-ip-group --protocols --destination-ip-groups --destination-ports User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.1.0 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 response: body: - string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"bfb93fbb-f0fa-4733-ad86-eb7c793caea1\\\"\",\r\n \"type\": - \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Updating\",\r\n \"sku\": {\r\n \"name\": - \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\": - \"Alert\",\r\n \"additionalProperties\": {},\r\n \"ipConfigurations\": - [],\r\n \"networkRuleCollections\": [\r\n {\r\n \"name\": \"rc1\",\r\n - \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1/networkRuleCollections/rc1\",\r\n - \ \"etag\": \"W/\\\"bfb93fbb-f0fa-4733-ad86-eb7c793caea1\\\"\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n - \ \"priority\": 10000,\r\n \"action\": {\r\n \"type\": - \"Allow\"\r\n },\r\n \"rules\": [\r\n {\r\n \"name\": - \"network-rule1\",\r\n \"protocols\": [\r\n \"UDP\",\r\n - \ \"TCP\",\r\n \"ICMP\"\r\n ],\r\n - \ \"sourceAddresses\": [\r\n \"10.0.0.0\",\r\n - \ \"111.1.0.0/24\"\r\n ],\r\n \"destinationAddresses\": - [],\r\n \"sourceIpGroups\": [],\r\n \"destinationIpGroups\": - [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/destinationipgroup\"\r\n - \ ],\r\n \"destinationFqdns\": [],\r\n \"destinationPorts\": - [\r\n \"80\"\r\n ]\r\n }\r\n ]\r\n - \ },\r\n \"type\": \"Microsoft.Network/azureFirewalls/networkRuleCollections\"\r\n - \ }\r\n ],\r\n \"applicationRuleCollections\": [],\r\n \"natRuleCollections\": - []\r\n }\r\n}" + string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1\"\ + ,\r\n \"etag\": \"W/\\\"32520bb3-9a4d-4754-af50-88e1cf24a8c6\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \ + \ \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\ + \r\n },\r\n \"threatIntelMode\": \"Alert\",\r\n \"additionalProperties\"\ + : {\r\n \"Network.DNS.EnableProxy\": \"False\",\r\n \"Network.DNS.RequireProxyForNetworkRules\"\ + : \"True\",\r\n \"Network.DNS.Servers\": \"\"\r\n },\r\n \"ipConfigurations\"\ + : [],\r\n \"networkRuleCollections\": [\r\n {\r\n \"name\"\ + : \"rc1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1/networkRuleCollections/rc1\"\ + ,\r\n \"etag\": \"W/\\\"32520bb3-9a4d-4754-af50-88e1cf24a8c6\\\"\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\"\ + ,\r\n \"priority\": 10000,\r\n \"action\": {\r\n \ + \ \"type\": \"Allow\"\r\n },\r\n \"rules\": [\r\n \ + \ {\r\n \"name\": \"network-rule1\",\r\n \ + \ \"protocols\": [\r\n \"UDP\",\r\n \"TCP\"\ + ,\r\n \"ICMP\"\r\n ],\r\n \"sourceAddresses\"\ + : [],\r\n \"destinationAddresses\": [],\r\n \"sourceIpGroups\"\ + : [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup\"\ + \r\n ],\r\n \"destinationIpGroups\": [\r\n \ + \ \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/destinationipgroup\"\ + \r\n ],\r\n \"destinationFqdns\": [],\r\n \ + \ \"destinationPorts\": [\r\n \"80\"\r\n \ + \ ]\r\n }\r\n ]\r\n },\r\n \"type\": \"\ + Microsoft.Network/azureFirewalls/networkRuleCollections\"\r\n }\r\n \ + \ ],\r\n \"applicationRuleCollections\": [],\r\n \"natRuleCollections\"\ + : []\r\n }\r\n}" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/c9856743-82d4-4432-ac17-f5e64f96e1f4?api-version=2019-11-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/2f5fe5f4-291d-4a93-b3c2-8495d1d427db?api-version=2019-11-01 cache-control: - no-cache content-length: - - '2099' + - '2391' content-type: - application/json; charset=utf-8 date: - - Fri, 06 Mar 2020 07:57:18 GMT + - Thu, 18 Jun 2020 04:43:52 GMT expires: - '-1' pragma: @@ -764,9 +786,9 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - da3c37de-e121-4bbb-a3a2-2794a5f25e17 + - 00381a6b-e97e-409f-b823-74ecf1388138 x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1196' status: code: 200 message: OK @@ -782,13 +804,13 @@ interactions: Connection: - keep-alive ParameterSetName: - - -g -n -c --priority --action -f --source-addresses --protocols --destination-ip-groups + - -g -n -c --priority --action -f --source-ip-group --protocols --destination-ip-groups --destination-ports User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.1.0 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/c9856743-82d4-4432-ac17-f5e64f96e1f4?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/2f5fe5f4-291d-4a93-b3c2-8495d1d427db?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -800,7 +822,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 06 Mar 2020 07:57:28 GMT + - Thu, 18 Jun 2020 04:44:03 GMT expires: - '-1' pragma: @@ -817,7 +839,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 906e6b1c-7c89-414f-aa08-ee3bc5e042e1 + - c8594a55-3dad-47fc-9d7f-635a59924df2 status: code: 200 message: OK @@ -833,49 +855,53 @@ interactions: Connection: - keep-alive ParameterSetName: - - -g -n -c --priority --action -f --source-addresses --protocols --destination-ip-groups + - -g -n -c --priority --action -f --source-ip-group --protocols --destination-ip-groups --destination-ports User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.1.0 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 response: body: - string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"19181a0d-d04d-4995-baa4-9dc92f3e3096\\\"\",\r\n \"type\": - \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Succeeded\",\r\n \"sku\": {\r\n \"name\": - \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\": - \"Alert\",\r\n \"additionalProperties\": {},\r\n \"ipConfigurations\": - [],\r\n \"networkRuleCollections\": [\r\n {\r\n \"name\": \"rc1\",\r\n - \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1/networkRuleCollections/rc1\",\r\n - \ \"etag\": \"W/\\\"19181a0d-d04d-4995-baa4-9dc92f3e3096\\\"\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"priority\": 10000,\r\n \"action\": {\r\n \"type\": - \"Allow\"\r\n },\r\n \"rules\": [\r\n {\r\n \"name\": - \"network-rule1\",\r\n \"protocols\": [\r\n \"UDP\",\r\n - \ \"TCP\",\r\n \"ICMP\"\r\n ],\r\n - \ \"sourceAddresses\": [\r\n \"10.0.0.0\",\r\n - \ \"111.1.0.0/24\"\r\n ],\r\n \"destinationAddresses\": - [],\r\n \"sourceIpGroups\": [],\r\n \"destinationIpGroups\": - [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/destinationipgroup\"\r\n - \ ],\r\n \"destinationFqdns\": [],\r\n \"destinationPorts\": - [\r\n \"80\"\r\n ]\r\n }\r\n ]\r\n - \ },\r\n \"type\": \"Microsoft.Network/azureFirewalls/networkRuleCollections\"\r\n - \ }\r\n ],\r\n \"applicationRuleCollections\": [],\r\n \"natRuleCollections\": - []\r\n }\r\n}" + string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1\"\ + ,\r\n \"etag\": \"W/\\\"c84b9a93-1676-40e5-8d78-4264f51deaf3\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n\ + \ \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\ + \r\n },\r\n \"threatIntelMode\": \"Alert\",\r\n \"additionalProperties\"\ + : {\r\n \"Network.DNS.EnableProxy\": \"False\",\r\n \"Network.DNS.RequireProxyForNetworkRules\"\ + : \"True\",\r\n \"Network.DNS.Servers\": \"\"\r\n },\r\n \"ipConfigurations\"\ + : [],\r\n \"networkRuleCollections\": [\r\n {\r\n \"name\"\ + : \"rc1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1/networkRuleCollections/rc1\"\ + ,\r\n \"etag\": \"W/\\\"c84b9a93-1676-40e5-8d78-4264f51deaf3\\\"\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ + ,\r\n \"priority\": 10000,\r\n \"action\": {\r\n \ + \ \"type\": \"Allow\"\r\n },\r\n \"rules\": [\r\n \ + \ {\r\n \"name\": \"network-rule1\",\r\n \ + \ \"protocols\": [\r\n \"UDP\",\r\n \"TCP\"\ + ,\r\n \"ICMP\"\r\n ],\r\n \"sourceAddresses\"\ + : [],\r\n \"destinationAddresses\": [],\r\n \"sourceIpGroups\"\ + : [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup\"\ + \r\n ],\r\n \"destinationIpGroups\": [\r\n \ + \ \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/destinationipgroup\"\ + \r\n ],\r\n \"destinationFqdns\": [],\r\n \ + \ \"destinationPorts\": [\r\n \"80\"\r\n \ + \ ]\r\n }\r\n ]\r\n },\r\n \"type\": \"\ + Microsoft.Network/azureFirewalls/networkRuleCollections\"\r\n }\r\n \ + \ ],\r\n \"applicationRuleCollections\": [],\r\n \"natRuleCollections\"\ + : []\r\n }\r\n}" headers: cache-control: - no-cache content-length: - - '2101' + - '2393' content-type: - application/json; charset=utf-8 date: - - Fri, 06 Mar 2020 07:57:29 GMT + - Thu, 18 Jun 2020 04:44:03 GMT etag: - - W/"19181a0d-d04d-4995-baa4-9dc92f3e3096" + - W/"c84b9a93-1676-40e5-8d78-4264f51deaf3" expires: - '-1' pragma: @@ -892,7 +918,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - fcf9005c-23e8-4993-8806-974866003996 + - 477c428e-eea2-426d-bcd4-adbf3c9f4b09 status: code: 200 message: OK @@ -910,48 +936,52 @@ interactions: ParameterSetName: - -g -n -c -f --source-addresses --protocols --destination-ip-groups --destination-ports User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.1.0 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 response: body: - string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"19181a0d-d04d-4995-baa4-9dc92f3e3096\\\"\",\r\n \"type\": - \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Succeeded\",\r\n \"sku\": {\r\n \"name\": - \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\": - \"Alert\",\r\n \"additionalProperties\": {},\r\n \"ipConfigurations\": - [],\r\n \"networkRuleCollections\": [\r\n {\r\n \"name\": \"rc1\",\r\n - \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1/networkRuleCollections/rc1\",\r\n - \ \"etag\": \"W/\\\"19181a0d-d04d-4995-baa4-9dc92f3e3096\\\"\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"priority\": 10000,\r\n \"action\": {\r\n \"type\": - \"Allow\"\r\n },\r\n \"rules\": [\r\n {\r\n \"name\": - \"network-rule1\",\r\n \"protocols\": [\r\n \"UDP\",\r\n - \ \"TCP\",\r\n \"ICMP\"\r\n ],\r\n - \ \"sourceAddresses\": [\r\n \"10.0.0.0\",\r\n - \ \"111.1.0.0/24\"\r\n ],\r\n \"destinationAddresses\": - [],\r\n \"sourceIpGroups\": [],\r\n \"destinationIpGroups\": - [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/destinationipgroup\"\r\n - \ ],\r\n \"destinationFqdns\": [],\r\n \"destinationPorts\": - [\r\n \"80\"\r\n ]\r\n }\r\n ]\r\n - \ },\r\n \"type\": \"Microsoft.Network/azureFirewalls/networkRuleCollections\"\r\n - \ }\r\n ],\r\n \"applicationRuleCollections\": [],\r\n \"natRuleCollections\": - []\r\n }\r\n}" + string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1\"\ + ,\r\n \"etag\": \"W/\\\"c84b9a93-1676-40e5-8d78-4264f51deaf3\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n\ + \ \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\ + \r\n },\r\n \"threatIntelMode\": \"Alert\",\r\n \"additionalProperties\"\ + : {\r\n \"Network.DNS.EnableProxy\": \"False\",\r\n \"Network.DNS.RequireProxyForNetworkRules\"\ + : \"True\",\r\n \"Network.DNS.Servers\": \"\"\r\n },\r\n \"ipConfigurations\"\ + : [],\r\n \"networkRuleCollections\": [\r\n {\r\n \"name\"\ + : \"rc1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1/networkRuleCollections/rc1\"\ + ,\r\n \"etag\": \"W/\\\"c84b9a93-1676-40e5-8d78-4264f51deaf3\\\"\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ + ,\r\n \"priority\": 10000,\r\n \"action\": {\r\n \ + \ \"type\": \"Allow\"\r\n },\r\n \"rules\": [\r\n \ + \ {\r\n \"name\": \"network-rule1\",\r\n \ + \ \"protocols\": [\r\n \"UDP\",\r\n \"TCP\"\ + ,\r\n \"ICMP\"\r\n ],\r\n \"sourceAddresses\"\ + : [],\r\n \"destinationAddresses\": [],\r\n \"sourceIpGroups\"\ + : [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup\"\ + \r\n ],\r\n \"destinationIpGroups\": [\r\n \ + \ \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/destinationipgroup\"\ + \r\n ],\r\n \"destinationFqdns\": [],\r\n \ + \ \"destinationPorts\": [\r\n \"80\"\r\n \ + \ ]\r\n }\r\n ]\r\n },\r\n \"type\": \"\ + Microsoft.Network/azureFirewalls/networkRuleCollections\"\r\n }\r\n \ + \ ],\r\n \"applicationRuleCollections\": [],\r\n \"natRuleCollections\"\ + : []\r\n }\r\n}" headers: cache-control: - no-cache content-length: - - '2101' + - '2393' content-type: - application/json; charset=utf-8 date: - - Fri, 06 Mar 2020 07:57:30 GMT + - Thu, 18 Jun 2020 04:44:05 GMT etag: - - W/"19181a0d-d04d-4995-baa4-9dc92f3e3096" + - W/"c84b9a93-1676-40e5-8d78-4264f51deaf3" expires: - '-1' pragma: @@ -968,7 +998,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 5b1604cf-b48f-4974-9a1d-bbf550d3d5a0 + - 580baad1-0bc6-4e17-baee-54c9b53d3269 status: code: 200 message: OK @@ -977,13 +1007,16 @@ interactions: "location": "westus", "properties": {"applicationRuleCollections": [], "natRuleCollections": [], "networkRuleCollections": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1/networkRuleCollections/rc1", "properties": {"priority": 10000, "action": {"type": "Allow"}, "rules": [{"name": - "network-rule1", "protocols": ["UDP", "TCP", "ICMP"], "sourceAddresses": ["10.0.0.0", - "111.1.0.0/24"], "destinationAddresses": [], "destinationPorts": ["80"], "destinationFqdns": - [], "sourceIpGroups": [], "destinationIpGroups": ["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/destinationipgroup"]}, + "network-rule1", "protocols": ["UDP", "TCP", "ICMP"], "sourceAddresses": [], + "destinationAddresses": [], "destinationPorts": ["80"], "destinationFqdns": + [], "sourceIpGroups": ["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup"], + "destinationIpGroups": ["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/destinationipgroup"]}, {"name": "network-rule2", "protocols": ["UDP", "TCP"], "sourceAddresses": ["10.0.0.1", "111.2.0.0/24"], "destinationPorts": ["81"], "destinationIpGroups": ["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/destinationipgroup"]}]}, "name": "rc1"}], "ipConfigurations": [], "threatIntelMode": "Alert", "sku": - {"name": "AZFW_VNet", "tier": "Standard"}, "additionalProperties": {}}}''' + {"name": "AZFW_VNet", "tier": "Standard"}, "additionalProperties": {"Network.DNS.EnableProxy": + "False", "Network.DNS.RequireProxyForNetworkRules": "True", "Network.DNS.Servers": + ""}}}''' headers: Accept: - application/json @@ -994,62 +1027,67 @@ interactions: Connection: - keep-alive Content-Length: - - '1575' + - '1856' Content-Type: - application/json; charset=utf-8 ParameterSetName: - -g -n -c -f --source-addresses --protocols --destination-ip-groups --destination-ports User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.1.0 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 response: body: - string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"a9f79b6b-56ac-4107-a3ab-1265db12823e\\\"\",\r\n \"type\": - \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Updating\",\r\n \"sku\": {\r\n \"name\": - \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\": - \"Alert\",\r\n \"additionalProperties\": {},\r\n \"ipConfigurations\": - [],\r\n \"networkRuleCollections\": [\r\n {\r\n \"name\": \"rc1\",\r\n - \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1/networkRuleCollections/rc1\",\r\n - \ \"etag\": \"W/\\\"a9f79b6b-56ac-4107-a3ab-1265db12823e\\\"\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n - \ \"priority\": 10000,\r\n \"action\": {\r\n \"type\": - \"Allow\"\r\n },\r\n \"rules\": [\r\n {\r\n \"name\": - \"network-rule1\",\r\n \"protocols\": [\r\n \"UDP\",\r\n - \ \"TCP\",\r\n \"ICMP\"\r\n ],\r\n - \ \"sourceAddresses\": [\r\n \"10.0.0.0\",\r\n - \ \"111.1.0.0/24\"\r\n ],\r\n \"destinationAddresses\": - [],\r\n \"sourceIpGroups\": [],\r\n \"destinationIpGroups\": - [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/destinationipgroup\"\r\n - \ ],\r\n \"destinationFqdns\": [],\r\n \"destinationPorts\": - [\r\n \"80\"\r\n ]\r\n },\r\n {\r\n - \ \"name\": \"network-rule2\",\r\n \"protocols\": - [\r\n \"UDP\",\r\n \"TCP\"\r\n ],\r\n - \ \"sourceAddresses\": [\r\n \"10.0.0.1\",\r\n - \ \"111.2.0.0/24\"\r\n ],\r\n \"destinationAddresses\": - [],\r\n \"sourceIpGroups\": [],\r\n \"destinationIpGroups\": - [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/destinationipgroup\"\r\n - \ ],\r\n \"destinationFqdns\": [],\r\n \"destinationPorts\": - [\r\n \"81\"\r\n ]\r\n }\r\n ]\r\n - \ },\r\n \"type\": \"Microsoft.Network/azureFirewalls/networkRuleCollections\"\r\n - \ }\r\n ],\r\n \"applicationRuleCollections\": [],\r\n \"natRuleCollections\": - []\r\n }\r\n}" + string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1\"\ + ,\r\n \"etag\": \"W/\\\"d274e672-d7b6-4fec-a359-eec5dd454398\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \ + \ \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\ + \r\n },\r\n \"threatIntelMode\": \"Alert\",\r\n \"additionalProperties\"\ + : {\r\n \"Network.DNS.EnableProxy\": \"False\",\r\n \"Network.DNS.RequireProxyForNetworkRules\"\ + : \"True\",\r\n \"Network.DNS.Servers\": \"\"\r\n },\r\n \"ipConfigurations\"\ + : [],\r\n \"networkRuleCollections\": [\r\n {\r\n \"name\"\ + : \"rc1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1/networkRuleCollections/rc1\"\ + ,\r\n \"etag\": \"W/\\\"d274e672-d7b6-4fec-a359-eec5dd454398\\\"\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\"\ + ,\r\n \"priority\": 10000,\r\n \"action\": {\r\n \ + \ \"type\": \"Allow\"\r\n },\r\n \"rules\": [\r\n \ + \ {\r\n \"name\": \"network-rule1\",\r\n \ + \ \"protocols\": [\r\n \"UDP\",\r\n \"TCP\"\ + ,\r\n \"ICMP\"\r\n ],\r\n \"sourceAddresses\"\ + : [],\r\n \"destinationAddresses\": [],\r\n \"sourceIpGroups\"\ + : [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup\"\ + \r\n ],\r\n \"destinationIpGroups\": [\r\n \ + \ \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/destinationipgroup\"\ + \r\n ],\r\n \"destinationFqdns\": [],\r\n \ + \ \"destinationPorts\": [\r\n \"80\"\r\n \ + \ ]\r\n },\r\n {\r\n \"name\": \"network-rule2\"\ + ,\r\n \"protocols\": [\r\n \"UDP\",\r\n \ + \ \"TCP\"\r\n ],\r\n \"sourceAddresses\"\ + : [\r\n \"10.0.0.1\",\r\n \"111.2.0.0/24\"\r\ + \n ],\r\n \"destinationAddresses\": [],\r\n \ + \ \"sourceIpGroups\": [],\r\n \"destinationIpGroups\"\ + : [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/destinationipgroup\"\ + \r\n ],\r\n \"destinationFqdns\": [],\r\n \ + \ \"destinationPorts\": [\r\n \"81\"\r\n \ + \ ]\r\n }\r\n ]\r\n },\r\n \"type\": \"\ + Microsoft.Network/azureFirewalls/networkRuleCollections\"\r\n }\r\n \ + \ ],\r\n \"applicationRuleCollections\": [],\r\n \"natRuleCollections\"\ + : []\r\n }\r\n}" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8721512c-e631-4784-808c-886431162077?api-version=2019-11-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/ae02d6c8-0a2c-4733-81b9-b72c191b9573?api-version=2019-11-01 cache-control: - no-cache content-length: - - '2851' + - '3143' content-type: - application/json; charset=utf-8 date: - - Fri, 06 Mar 2020 07:57:32 GMT + - Thu, 18 Jun 2020 04:44:06 GMT expires: - '-1' pragma: @@ -1066,7 +1104,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 6377921f-a1cf-4642-b4d8-a13d0f222204 + - c8a0250d-c8a3-40ec-b27c-24b8e57c5fea x-ms-ratelimit-remaining-subscription-writes: - '1196' status: @@ -1086,10 +1124,10 @@ interactions: ParameterSetName: - -g -n -c -f --source-addresses --protocols --destination-ip-groups --destination-ports User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.1.0 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8721512c-e631-4784-808c-886431162077?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/ae02d6c8-0a2c-4733-81b9-b72c191b9573?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -1101,7 +1139,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 06 Mar 2020 07:57:43 GMT + - Thu, 18 Jun 2020 04:44:16 GMT expires: - '-1' pragma: @@ -1118,7 +1156,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 8e90f79a-8c30-4b44-9022-2d71b46894b2 + - 0918abf7-0fba-4074-b3b9-4297a477720f status: code: 200 message: OK @@ -1136,54 +1174,59 @@ interactions: ParameterSetName: - -g -n -c -f --source-addresses --protocols --destination-ip-groups --destination-ports User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.1.0 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 response: body: - string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"3427f1ac-ef46-4f81-af25-2f341fb604bd\\\"\",\r\n \"type\": - \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Succeeded\",\r\n \"sku\": {\r\n \"name\": - \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\": - \"Alert\",\r\n \"additionalProperties\": {},\r\n \"ipConfigurations\": - [],\r\n \"networkRuleCollections\": [\r\n {\r\n \"name\": \"rc1\",\r\n - \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1/networkRuleCollections/rc1\",\r\n - \ \"etag\": \"W/\\\"3427f1ac-ef46-4f81-af25-2f341fb604bd\\\"\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"priority\": 10000,\r\n \"action\": {\r\n \"type\": - \"Allow\"\r\n },\r\n \"rules\": [\r\n {\r\n \"name\": - \"network-rule1\",\r\n \"protocols\": [\r\n \"UDP\",\r\n - \ \"TCP\",\r\n \"ICMP\"\r\n ],\r\n - \ \"sourceAddresses\": [\r\n \"10.0.0.0\",\r\n - \ \"111.1.0.0/24\"\r\n ],\r\n \"destinationAddresses\": - [],\r\n \"sourceIpGroups\": [],\r\n \"destinationIpGroups\": - [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/destinationipgroup\"\r\n - \ ],\r\n \"destinationFqdns\": [],\r\n \"destinationPorts\": - [\r\n \"80\"\r\n ]\r\n },\r\n {\r\n - \ \"name\": \"network-rule2\",\r\n \"protocols\": - [\r\n \"UDP\",\r\n \"TCP\"\r\n ],\r\n - \ \"sourceAddresses\": [\r\n \"10.0.0.1\",\r\n - \ \"111.2.0.0/24\"\r\n ],\r\n \"destinationAddresses\": - [],\r\n \"sourceIpGroups\": [],\r\n \"destinationIpGroups\": - [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/destinationipgroup\"\r\n - \ ],\r\n \"destinationFqdns\": [],\r\n \"destinationPorts\": - [\r\n \"81\"\r\n ]\r\n }\r\n ]\r\n - \ },\r\n \"type\": \"Microsoft.Network/azureFirewalls/networkRuleCollections\"\r\n - \ }\r\n ],\r\n \"applicationRuleCollections\": [],\r\n \"natRuleCollections\": - []\r\n }\r\n}" + string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1\"\ + ,\r\n \"etag\": \"W/\\\"2d0a24bc-481f-49c6-95b4-10b34dcf42c9\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n\ + \ \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\ + \r\n },\r\n \"threatIntelMode\": \"Alert\",\r\n \"additionalProperties\"\ + : {\r\n \"Network.DNS.EnableProxy\": \"False\",\r\n \"Network.DNS.RequireProxyForNetworkRules\"\ + : \"True\",\r\n \"Network.DNS.Servers\": \"\"\r\n },\r\n \"ipConfigurations\"\ + : [],\r\n \"networkRuleCollections\": [\r\n {\r\n \"name\"\ + : \"rc1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1/networkRuleCollections/rc1\"\ + ,\r\n \"etag\": \"W/\\\"2d0a24bc-481f-49c6-95b4-10b34dcf42c9\\\"\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ + ,\r\n \"priority\": 10000,\r\n \"action\": {\r\n \ + \ \"type\": \"Allow\"\r\n },\r\n \"rules\": [\r\n \ + \ {\r\n \"name\": \"network-rule1\",\r\n \ + \ \"protocols\": [\r\n \"UDP\",\r\n \"TCP\"\ + ,\r\n \"ICMP\"\r\n ],\r\n \"sourceAddresses\"\ + : [],\r\n \"destinationAddresses\": [],\r\n \"sourceIpGroups\"\ + : [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup\"\ + \r\n ],\r\n \"destinationIpGroups\": [\r\n \ + \ \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/destinationipgroup\"\ + \r\n ],\r\n \"destinationFqdns\": [],\r\n \ + \ \"destinationPorts\": [\r\n \"80\"\r\n \ + \ ]\r\n },\r\n {\r\n \"name\": \"network-rule2\"\ + ,\r\n \"protocols\": [\r\n \"UDP\",\r\n \ + \ \"TCP\"\r\n ],\r\n \"sourceAddresses\"\ + : [\r\n \"10.0.0.1\",\r\n \"111.2.0.0/24\"\r\ + \n ],\r\n \"destinationAddresses\": [],\r\n \ + \ \"sourceIpGroups\": [],\r\n \"destinationIpGroups\"\ + : [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/destinationipgroup\"\ + \r\n ],\r\n \"destinationFqdns\": [],\r\n \ + \ \"destinationPorts\": [\r\n \"81\"\r\n \ + \ ]\r\n }\r\n ]\r\n },\r\n \"type\": \"\ + Microsoft.Network/azureFirewalls/networkRuleCollections\"\r\n }\r\n \ + \ ],\r\n \"applicationRuleCollections\": [],\r\n \"natRuleCollections\"\ + : []\r\n }\r\n}" headers: cache-control: - no-cache content-length: - - '2853' + - '3145' content-type: - application/json; charset=utf-8 date: - - Fri, 06 Mar 2020 07:57:43 GMT + - Thu, 18 Jun 2020 04:44:17 GMT etag: - - W/"3427f1ac-ef46-4f81-af25-2f341fb604bd" + - W/"2d0a24bc-481f-49c6-95b4-10b34dcf42c9" expires: - '-1' pragma: @@ -1200,7 +1243,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 28c14463-70d8-4f80-b299-6aa20cafbc5d + - 451859a1-a784-426c-bdcf-1f5517f42ab1 status: code: 200 message: OK @@ -1216,59 +1259,64 @@ interactions: Connection: - keep-alive ParameterSetName: - - -g -n -c --priority --action -f --source-addresses --protocols --translated-fqdn + - -g -n -c --priority --action -f --source-ip-group --protocols --translated-fqdn --destination-ports --destination-addresses --translated-port --source-ip-groups User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.1.0 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 response: body: - string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"3427f1ac-ef46-4f81-af25-2f341fb604bd\\\"\",\r\n \"type\": - \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Succeeded\",\r\n \"sku\": {\r\n \"name\": - \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\": - \"Alert\",\r\n \"additionalProperties\": {},\r\n \"ipConfigurations\": - [],\r\n \"networkRuleCollections\": [\r\n {\r\n \"name\": \"rc1\",\r\n - \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1/networkRuleCollections/rc1\",\r\n - \ \"etag\": \"W/\\\"3427f1ac-ef46-4f81-af25-2f341fb604bd\\\"\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"priority\": 10000,\r\n \"action\": {\r\n \"type\": - \"Allow\"\r\n },\r\n \"rules\": [\r\n {\r\n \"name\": - \"network-rule1\",\r\n \"protocols\": [\r\n \"UDP\",\r\n - \ \"TCP\",\r\n \"ICMP\"\r\n ],\r\n - \ \"sourceAddresses\": [\r\n \"10.0.0.0\",\r\n - \ \"111.1.0.0/24\"\r\n ],\r\n \"destinationAddresses\": - [],\r\n \"sourceIpGroups\": [],\r\n \"destinationIpGroups\": - [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/destinationipgroup\"\r\n - \ ],\r\n \"destinationFqdns\": [],\r\n \"destinationPorts\": - [\r\n \"80\"\r\n ]\r\n },\r\n {\r\n - \ \"name\": \"network-rule2\",\r\n \"protocols\": - [\r\n \"UDP\",\r\n \"TCP\"\r\n ],\r\n - \ \"sourceAddresses\": [\r\n \"10.0.0.1\",\r\n - \ \"111.2.0.0/24\"\r\n ],\r\n \"destinationAddresses\": - [],\r\n \"sourceIpGroups\": [],\r\n \"destinationIpGroups\": - [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/destinationipgroup\"\r\n - \ ],\r\n \"destinationFqdns\": [],\r\n \"destinationPorts\": - [\r\n \"81\"\r\n ]\r\n }\r\n ]\r\n - \ },\r\n \"type\": \"Microsoft.Network/azureFirewalls/networkRuleCollections\"\r\n - \ }\r\n ],\r\n \"applicationRuleCollections\": [],\r\n \"natRuleCollections\": - []\r\n }\r\n}" + string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1\"\ + ,\r\n \"etag\": \"W/\\\"2d0a24bc-481f-49c6-95b4-10b34dcf42c9\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n\ + \ \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\ + \r\n },\r\n \"threatIntelMode\": \"Alert\",\r\n \"additionalProperties\"\ + : {\r\n \"Network.DNS.EnableProxy\": \"False\",\r\n \"Network.DNS.RequireProxyForNetworkRules\"\ + : \"True\",\r\n \"Network.DNS.Servers\": \"\"\r\n },\r\n \"ipConfigurations\"\ + : [],\r\n \"networkRuleCollections\": [\r\n {\r\n \"name\"\ + : \"rc1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1/networkRuleCollections/rc1\"\ + ,\r\n \"etag\": \"W/\\\"2d0a24bc-481f-49c6-95b4-10b34dcf42c9\\\"\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ + ,\r\n \"priority\": 10000,\r\n \"action\": {\r\n \ + \ \"type\": \"Allow\"\r\n },\r\n \"rules\": [\r\n \ + \ {\r\n \"name\": \"network-rule1\",\r\n \ + \ \"protocols\": [\r\n \"UDP\",\r\n \"TCP\"\ + ,\r\n \"ICMP\"\r\n ],\r\n \"sourceAddresses\"\ + : [],\r\n \"destinationAddresses\": [],\r\n \"sourceIpGroups\"\ + : [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup\"\ + \r\n ],\r\n \"destinationIpGroups\": [\r\n \ + \ \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/destinationipgroup\"\ + \r\n ],\r\n \"destinationFqdns\": [],\r\n \ + \ \"destinationPorts\": [\r\n \"80\"\r\n \ + \ ]\r\n },\r\n {\r\n \"name\": \"network-rule2\"\ + ,\r\n \"protocols\": [\r\n \"UDP\",\r\n \ + \ \"TCP\"\r\n ],\r\n \"sourceAddresses\"\ + : [\r\n \"10.0.0.1\",\r\n \"111.2.0.0/24\"\r\ + \n ],\r\n \"destinationAddresses\": [],\r\n \ + \ \"sourceIpGroups\": [],\r\n \"destinationIpGroups\"\ + : [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/destinationipgroup\"\ + \r\n ],\r\n \"destinationFqdns\": [],\r\n \ + \ \"destinationPorts\": [\r\n \"81\"\r\n \ + \ ]\r\n }\r\n ]\r\n },\r\n \"type\": \"\ + Microsoft.Network/azureFirewalls/networkRuleCollections\"\r\n }\r\n \ + \ ],\r\n \"applicationRuleCollections\": [],\r\n \"natRuleCollections\"\ + : []\r\n }\r\n}" headers: cache-control: - no-cache content-length: - - '2853' + - '3145' content-type: - application/json; charset=utf-8 date: - - Fri, 06 Mar 2020 07:57:46 GMT + - Thu, 18 Jun 2020 04:44:18 GMT etag: - - W/"3427f1ac-ef46-4f81-af25-2f341fb604bd" + - W/"2d0a24bc-481f-49c6-95b4-10b34dcf42c9" expires: - '-1' pragma: @@ -1285,7 +1333,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 212ddef3-512c-4fb5-8bcf-9867590a980b + - aa2b0865-be93-4a7e-9ddd-6550871a1f27 status: code: 200 message: OK @@ -1293,19 +1341,22 @@ interactions: body: 'b''{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1", "location": "westus", "properties": {"applicationRuleCollections": [], "natRuleCollections": [{"properties": {"priority": 10001, "action": {"type": "Dnat"}, "rules": [{"name": - "network-rule1", "sourceAddresses": ["10.0.0.0", "111.1.0.0/24"], "destinationAddresses": - ["12.36.22.14"], "destinationPorts": ["96"], "protocols": ["UDP", "TCP"], "translatedPort": - "95", "translatedFqdn": "server1.internal.com", "sourceIpGroups": ["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup"]}]}, + "network-rule1", "destinationAddresses": ["12.36.22.14"], "destinationPorts": + ["96"], "protocols": ["UDP", "TCP"], "translatedPort": "95", "translatedFqdn": + "server1.internal.com", "sourceIpGroups": ["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup"]}]}, "name": "rc2"}], "networkRuleCollections": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1/networkRuleCollections/rc1", "properties": {"priority": 10000, "action": {"type": "Allow"}, "rules": [{"name": - "network-rule1", "protocols": ["UDP", "TCP", "ICMP"], "sourceAddresses": ["10.0.0.0", - "111.1.0.0/24"], "destinationAddresses": [], "destinationPorts": ["80"], "destinationFqdns": - [], "sourceIpGroups": [], "destinationIpGroups": ["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/destinationipgroup"]}, + "network-rule1", "protocols": ["UDP", "TCP", "ICMP"], "sourceAddresses": [], + "destinationAddresses": [], "destinationPorts": ["80"], "destinationFqdns": + [], "sourceIpGroups": ["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup"], + "destinationIpGroups": ["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/destinationipgroup"]}, {"name": "network-rule2", "protocols": ["UDP", "TCP"], "sourceAddresses": ["10.0.0.1", "111.2.0.0/24"], "destinationAddresses": [], "destinationPorts": ["81"], "destinationFqdns": [], "sourceIpGroups": [], "destinationIpGroups": ["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/destinationipgroup"]}]}, "name": "rc1"}], "ipConfigurations": [], "threatIntelMode": "Alert", "sku": - {"name": "AZFW_VNet", "tier": "Standard"}, "additionalProperties": {}}}''' + {"name": "AZFW_VNet", "tier": "Standard"}, "additionalProperties": {"Network.DNS.EnableProxy": + "False", "Network.DNS.RequireProxyForNetworkRules": "True", "Network.DNS.Servers": + ""}}}''' headers: Accept: - application/json @@ -1316,78 +1367,82 @@ interactions: Connection: - keep-alive Content-Length: - - '2195' + - '2427' Content-Type: - application/json; charset=utf-8 ParameterSetName: - - -g -n -c --priority --action -f --source-addresses --protocols --translated-fqdn + - -g -n -c --priority --action -f --source-ip-group --protocols --translated-fqdn --destination-ports --destination-addresses --translated-port --source-ip-groups User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.1.0 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 response: body: - string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"f9e1da24-d630-4b1e-9c0f-ed4551f70f5c\\\"\",\r\n \"type\": - \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Updating\",\r\n \"sku\": {\r\n \"name\": - \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\": - \"Alert\",\r\n \"additionalProperties\": {},\r\n \"ipConfigurations\": - [],\r\n \"networkRuleCollections\": [\r\n {\r\n \"name\": \"rc1\",\r\n - \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1/networkRuleCollections/rc1\",\r\n - \ \"etag\": \"W/\\\"f9e1da24-d630-4b1e-9c0f-ed4551f70f5c\\\"\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n - \ \"priority\": 10000,\r\n \"action\": {\r\n \"type\": - \"Allow\"\r\n },\r\n \"rules\": [\r\n {\r\n \"name\": - \"network-rule1\",\r\n \"protocols\": [\r\n \"UDP\",\r\n - \ \"TCP\",\r\n \"ICMP\"\r\n ],\r\n - \ \"sourceAddresses\": [\r\n \"10.0.0.0\",\r\n - \ \"111.1.0.0/24\"\r\n ],\r\n \"destinationAddresses\": - [],\r\n \"sourceIpGroups\": [],\r\n \"destinationIpGroups\": - [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/destinationipgroup\"\r\n - \ ],\r\n \"destinationFqdns\": [],\r\n \"destinationPorts\": - [\r\n \"80\"\r\n ]\r\n },\r\n {\r\n - \ \"name\": \"network-rule2\",\r\n \"protocols\": - [\r\n \"UDP\",\r\n \"TCP\"\r\n ],\r\n - \ \"sourceAddresses\": [\r\n \"10.0.0.1\",\r\n - \ \"111.2.0.0/24\"\r\n ],\r\n \"destinationAddresses\": - [],\r\n \"sourceIpGroups\": [],\r\n \"destinationIpGroups\": - [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/destinationipgroup\"\r\n - \ ],\r\n \"destinationFqdns\": [],\r\n \"destinationPorts\": - [\r\n \"81\"\r\n ]\r\n }\r\n ]\r\n - \ },\r\n \"type\": \"Microsoft.Network/azureFirewalls/networkRuleCollections\"\r\n - \ }\r\n ],\r\n \"applicationRuleCollections\": [],\r\n \"natRuleCollections\": - [\r\n {\r\n \"name\": \"rc2\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1/natRuleCollections/rc2\",\r\n - \ \"etag\": \"W/\\\"f9e1da24-d630-4b1e-9c0f-ed4551f70f5c\\\"\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n - \ \"priority\": 10001,\r\n \"action\": {\r\n \"type\": - \"Dnat\"\r\n },\r\n \"rules\": [\r\n {\r\n \"name\": - \"network-rule1\",\r\n \"protocols\": [\r\n \"UDP\",\r\n - \ \"TCP\"\r\n ],\r\n \"translatedFqdn\": - \"server1.internal.com\",\r\n \"translatedPort\": \"95\",\r\n - \ \"sourceAddresses\": [\r\n \"10.0.0.0\",\r\n - \ \"111.1.0.0/24\"\r\n ],\r\n \"sourceIpGroups\": - [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup\"\r\n - \ ],\r\n \"destinationAddresses\": [\r\n \"12.36.22.14\"\r\n - \ ],\r\n \"destinationPorts\": [\r\n \"96\"\r\n - \ ]\r\n }\r\n ]\r\n },\r\n \"type\": - \"Microsoft.Network/azureFirewalls/natRuleCollections\"\r\n }\r\n ]\r\n - \ }\r\n}" + string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1\"\ + ,\r\n \"etag\": \"W/\\\"06631bfd-d70d-4d14-b576-6d7130de62d2\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \ + \ \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\ + \r\n },\r\n \"threatIntelMode\": \"Alert\",\r\n \"additionalProperties\"\ + : {\r\n \"Network.DNS.EnableProxy\": \"False\",\r\n \"Network.DNS.RequireProxyForNetworkRules\"\ + : \"True\",\r\n \"Network.DNS.Servers\": \"\"\r\n },\r\n \"ipConfigurations\"\ + : [],\r\n \"networkRuleCollections\": [\r\n {\r\n \"name\"\ + : \"rc1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1/networkRuleCollections/rc1\"\ + ,\r\n \"etag\": \"W/\\\"06631bfd-d70d-4d14-b576-6d7130de62d2\\\"\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\"\ + ,\r\n \"priority\": 10000,\r\n \"action\": {\r\n \ + \ \"type\": \"Allow\"\r\n },\r\n \"rules\": [\r\n \ + \ {\r\n \"name\": \"network-rule1\",\r\n \ + \ \"protocols\": [\r\n \"UDP\",\r\n \"TCP\"\ + ,\r\n \"ICMP\"\r\n ],\r\n \"sourceAddresses\"\ + : [],\r\n \"destinationAddresses\": [],\r\n \"sourceIpGroups\"\ + : [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup\"\ + \r\n ],\r\n \"destinationIpGroups\": [\r\n \ + \ \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/destinationipgroup\"\ + \r\n ],\r\n \"destinationFqdns\": [],\r\n \ + \ \"destinationPorts\": [\r\n \"80\"\r\n \ + \ ]\r\n },\r\n {\r\n \"name\": \"network-rule2\"\ + ,\r\n \"protocols\": [\r\n \"UDP\",\r\n \ + \ \"TCP\"\r\n ],\r\n \"sourceAddresses\"\ + : [\r\n \"10.0.0.1\",\r\n \"111.2.0.0/24\"\r\ + \n ],\r\n \"destinationAddresses\": [],\r\n \ + \ \"sourceIpGroups\": [],\r\n \"destinationIpGroups\"\ + : [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/destinationipgroup\"\ + \r\n ],\r\n \"destinationFqdns\": [],\r\n \ + \ \"destinationPorts\": [\r\n \"81\"\r\n \ + \ ]\r\n }\r\n ]\r\n },\r\n \"type\": \"\ + Microsoft.Network/azureFirewalls/networkRuleCollections\"\r\n }\r\n \ + \ ],\r\n \"applicationRuleCollections\": [],\r\n \"natRuleCollections\"\ + : [\r\n {\r\n \"name\": \"rc2\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1/natRuleCollections/rc2\"\ + ,\r\n \"etag\": \"W/\\\"06631bfd-d70d-4d14-b576-6d7130de62d2\\\"\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\"\ + ,\r\n \"priority\": 10001,\r\n \"action\": {\r\n \ + \ \"type\": \"Dnat\"\r\n },\r\n \"rules\": [\r\n \ + \ {\r\n \"name\": \"network-rule1\",\r\n \ + \ \"protocols\": [\r\n \"UDP\",\r\n \"TCP\"\ + \r\n ],\r\n \"translatedFqdn\": \"server1.internal.com\"\ + ,\r\n \"translatedPort\": \"95\",\r\n \"sourceAddresses\"\ + : [],\r\n \"sourceIpGroups\": [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup\"\ + \r\n ],\r\n \"destinationAddresses\": [\r\n \ + \ \"12.36.22.14\"\r\n ],\r\n \"destinationPorts\"\ + : [\r\n \"96\"\r\n ]\r\n }\r\n \ + \ ]\r\n },\r\n \"type\": \"Microsoft.Network/azureFirewalls/natRuleCollections\"\ + \r\n }\r\n ]\r\n }\r\n}" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/e3d1cdab-801e-4154-89e9-fddee03ac7ea?api-version=2019-11-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/ba661be6-6a5d-4e12-8ce2-fcb71add0bc3?api-version=2019-11-01 cache-control: - no-cache content-length: - - '4283' + - '4498' content-type: - application/json; charset=utf-8 date: - - Fri, 06 Mar 2020 07:57:48 GMT + - Thu, 18 Jun 2020 04:44:18 GMT expires: - '-1' pragma: @@ -1404,9 +1459,9 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - c404cdce-17c3-4638-a28f-3fe41b85035a + - 6a512e72-67d1-4572-9cac-41935c18633f x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1197' status: code: 200 message: OK @@ -1422,13 +1477,13 @@ interactions: Connection: - keep-alive ParameterSetName: - - -g -n -c --priority --action -f --source-addresses --protocols --translated-fqdn + - -g -n -c --priority --action -f --source-ip-group --protocols --translated-fqdn --destination-ports --destination-addresses --translated-port --source-ip-groups User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.1.0 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/e3d1cdab-801e-4154-89e9-fddee03ac7ea?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/ba661be6-6a5d-4e12-8ce2-fcb71add0bc3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -1440,7 +1495,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 06 Mar 2020 07:57:59 GMT + - Thu, 18 Jun 2020 04:44:29 GMT expires: - '-1' pragma: @@ -1457,7 +1512,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 0680198c-cc98-4c5e-94d6-4d41ce80c2e5 + - a83d8c51-abde-446d-8496-587de30443d2 status: code: 200 message: OK @@ -1473,72 +1528,76 @@ interactions: Connection: - keep-alive ParameterSetName: - - -g -n -c --priority --action -f --source-addresses --protocols --translated-fqdn + - -g -n -c --priority --action -f --source-ip-group --protocols --translated-fqdn --destination-ports --destination-addresses --translated-port --source-ip-groups User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.1.0 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 response: body: - string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"8aaba88a-3f9b-40a5-ab70-49ed00dfdae3\\\"\",\r\n \"type\": - \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Succeeded\",\r\n \"sku\": {\r\n \"name\": - \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\": - \"Alert\",\r\n \"additionalProperties\": {},\r\n \"ipConfigurations\": - [],\r\n \"networkRuleCollections\": [\r\n {\r\n \"name\": \"rc1\",\r\n - \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1/networkRuleCollections/rc1\",\r\n - \ \"etag\": \"W/\\\"8aaba88a-3f9b-40a5-ab70-49ed00dfdae3\\\"\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"priority\": 10000,\r\n \"action\": {\r\n \"type\": - \"Allow\"\r\n },\r\n \"rules\": [\r\n {\r\n \"name\": - \"network-rule1\",\r\n \"protocols\": [\r\n \"UDP\",\r\n - \ \"TCP\",\r\n \"ICMP\"\r\n ],\r\n - \ \"sourceAddresses\": [\r\n \"10.0.0.0\",\r\n - \ \"111.1.0.0/24\"\r\n ],\r\n \"destinationAddresses\": - [],\r\n \"sourceIpGroups\": [],\r\n \"destinationIpGroups\": - [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/destinationipgroup\"\r\n - \ ],\r\n \"destinationFqdns\": [],\r\n \"destinationPorts\": - [\r\n \"80\"\r\n ]\r\n },\r\n {\r\n - \ \"name\": \"network-rule2\",\r\n \"protocols\": - [\r\n \"UDP\",\r\n \"TCP\"\r\n ],\r\n - \ \"sourceAddresses\": [\r\n \"10.0.0.1\",\r\n - \ \"111.2.0.0/24\"\r\n ],\r\n \"destinationAddresses\": - [],\r\n \"sourceIpGroups\": [],\r\n \"destinationIpGroups\": - [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/destinationipgroup\"\r\n - \ ],\r\n \"destinationFqdns\": [],\r\n \"destinationPorts\": - [\r\n \"81\"\r\n ]\r\n }\r\n ]\r\n - \ },\r\n \"type\": \"Microsoft.Network/azureFirewalls/networkRuleCollections\"\r\n - \ }\r\n ],\r\n \"applicationRuleCollections\": [],\r\n \"natRuleCollections\": - [\r\n {\r\n \"name\": \"rc2\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1/natRuleCollections/rc2\",\r\n - \ \"etag\": \"W/\\\"8aaba88a-3f9b-40a5-ab70-49ed00dfdae3\\\"\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"priority\": 10001,\r\n \"action\": {\r\n \"type\": - \"Dnat\"\r\n },\r\n \"rules\": [\r\n {\r\n \"name\": - \"network-rule1\",\r\n \"protocols\": [\r\n \"UDP\",\r\n - \ \"TCP\"\r\n ],\r\n \"translatedFqdn\": - \"server1.internal.com\",\r\n \"translatedPort\": \"95\",\r\n - \ \"sourceAddresses\": [\r\n \"10.0.0.0\",\r\n - \ \"111.1.0.0/24\"\r\n ],\r\n \"sourceIpGroups\": - [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup\"\r\n - \ ],\r\n \"destinationAddresses\": [\r\n \"12.36.22.14\"\r\n - \ ],\r\n \"destinationPorts\": [\r\n \"96\"\r\n - \ ]\r\n }\r\n ]\r\n },\r\n \"type\": - \"Microsoft.Network/azureFirewalls/natRuleCollections\"\r\n }\r\n ]\r\n - \ }\r\n}" + string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1\"\ + ,\r\n \"etag\": \"W/\\\"0f93fcec-ffb4-4063-8450-a5ad4941056b\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n\ + \ \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\ + \r\n },\r\n \"threatIntelMode\": \"Alert\",\r\n \"additionalProperties\"\ + : {\r\n \"Network.DNS.EnableProxy\": \"False\",\r\n \"Network.DNS.RequireProxyForNetworkRules\"\ + : \"True\",\r\n \"Network.DNS.Servers\": \"\"\r\n },\r\n \"ipConfigurations\"\ + : [],\r\n \"networkRuleCollections\": [\r\n {\r\n \"name\"\ + : \"rc1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1/networkRuleCollections/rc1\"\ + ,\r\n \"etag\": \"W/\\\"0f93fcec-ffb4-4063-8450-a5ad4941056b\\\"\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ + ,\r\n \"priority\": 10000,\r\n \"action\": {\r\n \ + \ \"type\": \"Allow\"\r\n },\r\n \"rules\": [\r\n \ + \ {\r\n \"name\": \"network-rule1\",\r\n \ + \ \"protocols\": [\r\n \"UDP\",\r\n \"TCP\"\ + ,\r\n \"ICMP\"\r\n ],\r\n \"sourceAddresses\"\ + : [],\r\n \"destinationAddresses\": [],\r\n \"sourceIpGroups\"\ + : [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup\"\ + \r\n ],\r\n \"destinationIpGroups\": [\r\n \ + \ \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/destinationipgroup\"\ + \r\n ],\r\n \"destinationFqdns\": [],\r\n \ + \ \"destinationPorts\": [\r\n \"80\"\r\n \ + \ ]\r\n },\r\n {\r\n \"name\": \"network-rule2\"\ + ,\r\n \"protocols\": [\r\n \"UDP\",\r\n \ + \ \"TCP\"\r\n ],\r\n \"sourceAddresses\"\ + : [\r\n \"10.0.0.1\",\r\n \"111.2.0.0/24\"\r\ + \n ],\r\n \"destinationAddresses\": [],\r\n \ + \ \"sourceIpGroups\": [],\r\n \"destinationIpGroups\"\ + : [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/destinationipgroup\"\ + \r\n ],\r\n \"destinationFqdns\": [],\r\n \ + \ \"destinationPorts\": [\r\n \"81\"\r\n \ + \ ]\r\n }\r\n ]\r\n },\r\n \"type\": \"\ + Microsoft.Network/azureFirewalls/networkRuleCollections\"\r\n }\r\n \ + \ ],\r\n \"applicationRuleCollections\": [],\r\n \"natRuleCollections\"\ + : [\r\n {\r\n \"name\": \"rc2\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1/natRuleCollections/rc2\"\ + ,\r\n \"etag\": \"W/\\\"0f93fcec-ffb4-4063-8450-a5ad4941056b\\\"\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ + ,\r\n \"priority\": 10001,\r\n \"action\": {\r\n \ + \ \"type\": \"Dnat\"\r\n },\r\n \"rules\": [\r\n \ + \ {\r\n \"name\": \"network-rule1\",\r\n \ + \ \"protocols\": [\r\n \"UDP\",\r\n \"TCP\"\ + \r\n ],\r\n \"translatedFqdn\": \"server1.internal.com\"\ + ,\r\n \"translatedPort\": \"95\",\r\n \"sourceAddresses\"\ + : [],\r\n \"sourceIpGroups\": [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup\"\ + \r\n ],\r\n \"destinationAddresses\": [\r\n \ + \ \"12.36.22.14\"\r\n ],\r\n \"destinationPorts\"\ + : [\r\n \"96\"\r\n ]\r\n }\r\n \ + \ ]\r\n },\r\n \"type\": \"Microsoft.Network/azureFirewalls/natRuleCollections\"\ + \r\n }\r\n ]\r\n }\r\n}" headers: cache-control: - no-cache content-length: - - '4286' + - '4501' content-type: - application/json; charset=utf-8 date: - - Fri, 06 Mar 2020 07:57:59 GMT + - Thu, 18 Jun 2020 04:44:29 GMT etag: - - W/"8aaba88a-3f9b-40a5-ab70-49ed00dfdae3" + - W/"0f93fcec-ffb4-4063-8450-a5ad4941056b" expires: - '-1' pragma: @@ -1555,7 +1614,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 687f1da2-fa5f-402f-9b46-9bc64b53a01c + - 4df257ff-53ca-40c6-b0ce-aa78bb5effd4 status: code: 200 message: OK @@ -1574,71 +1633,75 @@ interactions: - -g -n -c -f --source-addresses --protocols --translated-fqdn --destination-ports --destination-addresses --translated-port --source-ip-groups User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.1.0 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 response: body: - string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"8aaba88a-3f9b-40a5-ab70-49ed00dfdae3\\\"\",\r\n \"type\": - \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Succeeded\",\r\n \"sku\": {\r\n \"name\": - \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\": - \"Alert\",\r\n \"additionalProperties\": {},\r\n \"ipConfigurations\": - [],\r\n \"networkRuleCollections\": [\r\n {\r\n \"name\": \"rc1\",\r\n - \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1/networkRuleCollections/rc1\",\r\n - \ \"etag\": \"W/\\\"8aaba88a-3f9b-40a5-ab70-49ed00dfdae3\\\"\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"priority\": 10000,\r\n \"action\": {\r\n \"type\": - \"Allow\"\r\n },\r\n \"rules\": [\r\n {\r\n \"name\": - \"network-rule1\",\r\n \"protocols\": [\r\n \"UDP\",\r\n - \ \"TCP\",\r\n \"ICMP\"\r\n ],\r\n - \ \"sourceAddresses\": [\r\n \"10.0.0.0\",\r\n - \ \"111.1.0.0/24\"\r\n ],\r\n \"destinationAddresses\": - [],\r\n \"sourceIpGroups\": [],\r\n \"destinationIpGroups\": - [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/destinationipgroup\"\r\n - \ ],\r\n \"destinationFqdns\": [],\r\n \"destinationPorts\": - [\r\n \"80\"\r\n ]\r\n },\r\n {\r\n - \ \"name\": \"network-rule2\",\r\n \"protocols\": - [\r\n \"UDP\",\r\n \"TCP\"\r\n ],\r\n - \ \"sourceAddresses\": [\r\n \"10.0.0.1\",\r\n - \ \"111.2.0.0/24\"\r\n ],\r\n \"destinationAddresses\": - [],\r\n \"sourceIpGroups\": [],\r\n \"destinationIpGroups\": - [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/destinationipgroup\"\r\n - \ ],\r\n \"destinationFqdns\": [],\r\n \"destinationPorts\": - [\r\n \"81\"\r\n ]\r\n }\r\n ]\r\n - \ },\r\n \"type\": \"Microsoft.Network/azureFirewalls/networkRuleCollections\"\r\n - \ }\r\n ],\r\n \"applicationRuleCollections\": [],\r\n \"natRuleCollections\": - [\r\n {\r\n \"name\": \"rc2\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1/natRuleCollections/rc2\",\r\n - \ \"etag\": \"W/\\\"8aaba88a-3f9b-40a5-ab70-49ed00dfdae3\\\"\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"priority\": 10001,\r\n \"action\": {\r\n \"type\": - \"Dnat\"\r\n },\r\n \"rules\": [\r\n {\r\n \"name\": - \"network-rule1\",\r\n \"protocols\": [\r\n \"UDP\",\r\n - \ \"TCP\"\r\n ],\r\n \"translatedFqdn\": - \"server1.internal.com\",\r\n \"translatedPort\": \"95\",\r\n - \ \"sourceAddresses\": [\r\n \"10.0.0.0\",\r\n - \ \"111.1.0.0/24\"\r\n ],\r\n \"sourceIpGroups\": - [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup\"\r\n - \ ],\r\n \"destinationAddresses\": [\r\n \"12.36.22.14\"\r\n - \ ],\r\n \"destinationPorts\": [\r\n \"96\"\r\n - \ ]\r\n }\r\n ]\r\n },\r\n \"type\": - \"Microsoft.Network/azureFirewalls/natRuleCollections\"\r\n }\r\n ]\r\n - \ }\r\n}" + string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1\"\ + ,\r\n \"etag\": \"W/\\\"0f93fcec-ffb4-4063-8450-a5ad4941056b\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n\ + \ \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\ + \r\n },\r\n \"threatIntelMode\": \"Alert\",\r\n \"additionalProperties\"\ + : {\r\n \"Network.DNS.EnableProxy\": \"False\",\r\n \"Network.DNS.RequireProxyForNetworkRules\"\ + : \"True\",\r\n \"Network.DNS.Servers\": \"\"\r\n },\r\n \"ipConfigurations\"\ + : [],\r\n \"networkRuleCollections\": [\r\n {\r\n \"name\"\ + : \"rc1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1/networkRuleCollections/rc1\"\ + ,\r\n \"etag\": \"W/\\\"0f93fcec-ffb4-4063-8450-a5ad4941056b\\\"\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ + ,\r\n \"priority\": 10000,\r\n \"action\": {\r\n \ + \ \"type\": \"Allow\"\r\n },\r\n \"rules\": [\r\n \ + \ {\r\n \"name\": \"network-rule1\",\r\n \ + \ \"protocols\": [\r\n \"UDP\",\r\n \"TCP\"\ + ,\r\n \"ICMP\"\r\n ],\r\n \"sourceAddresses\"\ + : [],\r\n \"destinationAddresses\": [],\r\n \"sourceIpGroups\"\ + : [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup\"\ + \r\n ],\r\n \"destinationIpGroups\": [\r\n \ + \ \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/destinationipgroup\"\ + \r\n ],\r\n \"destinationFqdns\": [],\r\n \ + \ \"destinationPorts\": [\r\n \"80\"\r\n \ + \ ]\r\n },\r\n {\r\n \"name\": \"network-rule2\"\ + ,\r\n \"protocols\": [\r\n \"UDP\",\r\n \ + \ \"TCP\"\r\n ],\r\n \"sourceAddresses\"\ + : [\r\n \"10.0.0.1\",\r\n \"111.2.0.0/24\"\r\ + \n ],\r\n \"destinationAddresses\": [],\r\n \ + \ \"sourceIpGroups\": [],\r\n \"destinationIpGroups\"\ + : [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/destinationipgroup\"\ + \r\n ],\r\n \"destinationFqdns\": [],\r\n \ + \ \"destinationPorts\": [\r\n \"81\"\r\n \ + \ ]\r\n }\r\n ]\r\n },\r\n \"type\": \"\ + Microsoft.Network/azureFirewalls/networkRuleCollections\"\r\n }\r\n \ + \ ],\r\n \"applicationRuleCollections\": [],\r\n \"natRuleCollections\"\ + : [\r\n {\r\n \"name\": \"rc2\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1/natRuleCollections/rc2\"\ + ,\r\n \"etag\": \"W/\\\"0f93fcec-ffb4-4063-8450-a5ad4941056b\\\"\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ + ,\r\n \"priority\": 10001,\r\n \"action\": {\r\n \ + \ \"type\": \"Dnat\"\r\n },\r\n \"rules\": [\r\n \ + \ {\r\n \"name\": \"network-rule1\",\r\n \ + \ \"protocols\": [\r\n \"UDP\",\r\n \"TCP\"\ + \r\n ],\r\n \"translatedFqdn\": \"server1.internal.com\"\ + ,\r\n \"translatedPort\": \"95\",\r\n \"sourceAddresses\"\ + : [],\r\n \"sourceIpGroups\": [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup\"\ + \r\n ],\r\n \"destinationAddresses\": [\r\n \ + \ \"12.36.22.14\"\r\n ],\r\n \"destinationPorts\"\ + : [\r\n \"96\"\r\n ]\r\n }\r\n \ + \ ]\r\n },\r\n \"type\": \"Microsoft.Network/azureFirewalls/natRuleCollections\"\ + \r\n }\r\n ]\r\n }\r\n}" headers: cache-control: - no-cache content-length: - - '4286' + - '4501' content-type: - application/json; charset=utf-8 date: - - Fri, 06 Mar 2020 07:58:01 GMT + - Thu, 18 Jun 2020 04:44:30 GMT etag: - - W/"8aaba88a-3f9b-40a5-ab70-49ed00dfdae3" + - W/"0f93fcec-ffb4-4063-8450-a5ad4941056b" expires: - '-1' pragma: @@ -1655,7 +1718,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - f7f0a19c-e920-4af9-a8ec-ae13c822ff7a + - 44f23204-0f89-4b5b-b473-57727142793e status: code: 200 message: OK @@ -1664,22 +1727,25 @@ interactions: "location": "westus", "properties": {"applicationRuleCollections": [], "natRuleCollections": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1/natRuleCollections/rc2", "properties": {"priority": 10001, "action": {"type": "Dnat"}, "rules": [{"name": - "network-rule1", "sourceAddresses": ["10.0.0.0", "111.1.0.0/24"], "destinationAddresses": - ["12.36.22.14"], "destinationPorts": ["96"], "protocols": ["UDP", "TCP"], "translatedPort": - "95", "translatedFqdn": "server1.internal.com", "sourceIpGroups": ["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup"]}, + "network-rule1", "sourceAddresses": [], "destinationAddresses": ["12.36.22.14"], + "destinationPorts": ["96"], "protocols": ["UDP", "TCP"], "translatedPort": "95", + "translatedFqdn": "server1.internal.com", "sourceIpGroups": ["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup"]}, {"name": "network-rule2", "sourceAddresses": ["10.0.0.1", "111.2.0.0/24"], "destinationAddresses": ["12.36.22.15"], "destinationPorts": ["97"], "protocols": ["UDP", "TCP"], "translatedPort": "96", "translatedFqdn": "server2.internal.com", "sourceIpGroups": ["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup"]}]}, "name": "rc2"}], "networkRuleCollections": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1/networkRuleCollections/rc1", "properties": {"priority": 10000, "action": {"type": "Allow"}, "rules": [{"name": - "network-rule1", "protocols": ["UDP", "TCP", "ICMP"], "sourceAddresses": ["10.0.0.0", - "111.1.0.0/24"], "destinationAddresses": [], "destinationPorts": ["80"], "destinationFqdns": - [], "sourceIpGroups": [], "destinationIpGroups": ["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/destinationipgroup"]}, + "network-rule1", "protocols": ["UDP", "TCP", "ICMP"], "sourceAddresses": [], + "destinationAddresses": [], "destinationPorts": ["80"], "destinationFqdns": + [], "sourceIpGroups": ["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup"], + "destinationIpGroups": ["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/destinationipgroup"]}, {"name": "network-rule2", "protocols": ["UDP", "TCP"], "sourceAddresses": ["10.0.0.1", "111.2.0.0/24"], "destinationAddresses": [], "destinationPorts": ["81"], "destinationFqdns": [], "sourceIpGroups": [], "destinationIpGroups": ["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/destinationipgroup"]}]}, "name": "rc1"}], "ipConfigurations": [], "threatIntelMode": "Alert", "sku": - {"name": "AZFW_VNet", "tier": "Standard"}, "additionalProperties": {}}}''' + {"name": "AZFW_VNet", "tier": "Standard"}, "additionalProperties": {"Network.DNS.EnableProxy": + "False", "Network.DNS.RequireProxyForNetworkRules": "True", "Network.DNS.Servers": + ""}}}''' headers: Accept: - application/json @@ -1690,87 +1756,92 @@ interactions: Connection: - keep-alive Content-Length: - - '2874' + - '3129' Content-Type: - application/json; charset=utf-8 ParameterSetName: - -g -n -c -f --source-addresses --protocols --translated-fqdn --destination-ports --destination-addresses --translated-port --source-ip-groups User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.1.0 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 response: body: - string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"d80e69e1-df52-414e-a3cc-dc64e5669ab2\\\"\",\r\n \"type\": - \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Updating\",\r\n \"sku\": {\r\n \"name\": - \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\": - \"Alert\",\r\n \"additionalProperties\": {},\r\n \"ipConfigurations\": - [],\r\n \"networkRuleCollections\": [\r\n {\r\n \"name\": \"rc1\",\r\n - \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1/networkRuleCollections/rc1\",\r\n - \ \"etag\": \"W/\\\"d80e69e1-df52-414e-a3cc-dc64e5669ab2\\\"\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n - \ \"priority\": 10000,\r\n \"action\": {\r\n \"type\": - \"Allow\"\r\n },\r\n \"rules\": [\r\n {\r\n \"name\": - \"network-rule1\",\r\n \"protocols\": [\r\n \"UDP\",\r\n - \ \"TCP\",\r\n \"ICMP\"\r\n ],\r\n - \ \"sourceAddresses\": [\r\n \"10.0.0.0\",\r\n - \ \"111.1.0.0/24\"\r\n ],\r\n \"destinationAddresses\": - [],\r\n \"sourceIpGroups\": [],\r\n \"destinationIpGroups\": - [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/destinationipgroup\"\r\n - \ ],\r\n \"destinationFqdns\": [],\r\n \"destinationPorts\": - [\r\n \"80\"\r\n ]\r\n },\r\n {\r\n - \ \"name\": \"network-rule2\",\r\n \"protocols\": - [\r\n \"UDP\",\r\n \"TCP\"\r\n ],\r\n - \ \"sourceAddresses\": [\r\n \"10.0.0.1\",\r\n - \ \"111.2.0.0/24\"\r\n ],\r\n \"destinationAddresses\": - [],\r\n \"sourceIpGroups\": [],\r\n \"destinationIpGroups\": - [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/destinationipgroup\"\r\n - \ ],\r\n \"destinationFqdns\": [],\r\n \"destinationPorts\": - [\r\n \"81\"\r\n ]\r\n }\r\n ]\r\n - \ },\r\n \"type\": \"Microsoft.Network/azureFirewalls/networkRuleCollections\"\r\n - \ }\r\n ],\r\n \"applicationRuleCollections\": [],\r\n \"natRuleCollections\": - [\r\n {\r\n \"name\": \"rc2\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1/natRuleCollections/rc2\",\r\n - \ \"etag\": \"W/\\\"d80e69e1-df52-414e-a3cc-dc64e5669ab2\\\"\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n - \ \"priority\": 10001,\r\n \"action\": {\r\n \"type\": - \"Dnat\"\r\n },\r\n \"rules\": [\r\n {\r\n \"name\": - \"network-rule1\",\r\n \"protocols\": [\r\n \"UDP\",\r\n - \ \"TCP\"\r\n ],\r\n \"translatedFqdn\": - \"server1.internal.com\",\r\n \"translatedPort\": \"95\",\r\n - \ \"sourceAddresses\": [\r\n \"10.0.0.0\",\r\n - \ \"111.1.0.0/24\"\r\n ],\r\n \"sourceIpGroups\": - [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup\"\r\n - \ ],\r\n \"destinationAddresses\": [\r\n \"12.36.22.14\"\r\n - \ ],\r\n \"destinationPorts\": [\r\n \"96\"\r\n - \ ]\r\n },\r\n {\r\n \"name\": - \"network-rule2\",\r\n \"protocols\": [\r\n \"UDP\",\r\n - \ \"TCP\"\r\n ],\r\n \"translatedFqdn\": - \"server2.internal.com\",\r\n \"translatedPort\": \"96\",\r\n - \ \"sourceAddresses\": [\r\n \"10.0.0.1\",\r\n - \ \"111.2.0.0/24\"\r\n ],\r\n \"sourceIpGroups\": - [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup\"\r\n - \ ],\r\n \"destinationAddresses\": [\r\n \"12.36.22.15\"\r\n - \ ],\r\n \"destinationPorts\": [\r\n \"97\"\r\n - \ ]\r\n }\r\n ]\r\n },\r\n \"type\": - \"Microsoft.Network/azureFirewalls/natRuleCollections\"\r\n }\r\n ]\r\n - \ }\r\n}" + string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1\"\ + ,\r\n \"etag\": \"W/\\\"d405ac76-14af-44eb-a058-e494a00f96f5\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \ + \ \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\ + \r\n },\r\n \"threatIntelMode\": \"Alert\",\r\n \"additionalProperties\"\ + : {\r\n \"Network.DNS.EnableProxy\": \"False\",\r\n \"Network.DNS.RequireProxyForNetworkRules\"\ + : \"True\",\r\n \"Network.DNS.Servers\": \"\"\r\n },\r\n \"ipConfigurations\"\ + : [],\r\n \"networkRuleCollections\": [\r\n {\r\n \"name\"\ + : \"rc1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1/networkRuleCollections/rc1\"\ + ,\r\n \"etag\": \"W/\\\"d405ac76-14af-44eb-a058-e494a00f96f5\\\"\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\"\ + ,\r\n \"priority\": 10000,\r\n \"action\": {\r\n \ + \ \"type\": \"Allow\"\r\n },\r\n \"rules\": [\r\n \ + \ {\r\n \"name\": \"network-rule1\",\r\n \ + \ \"protocols\": [\r\n \"UDP\",\r\n \"TCP\"\ + ,\r\n \"ICMP\"\r\n ],\r\n \"sourceAddresses\"\ + : [],\r\n \"destinationAddresses\": [],\r\n \"sourceIpGroups\"\ + : [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup\"\ + \r\n ],\r\n \"destinationIpGroups\": [\r\n \ + \ \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/destinationipgroup\"\ + \r\n ],\r\n \"destinationFqdns\": [],\r\n \ + \ \"destinationPorts\": [\r\n \"80\"\r\n \ + \ ]\r\n },\r\n {\r\n \"name\": \"network-rule2\"\ + ,\r\n \"protocols\": [\r\n \"UDP\",\r\n \ + \ \"TCP\"\r\n ],\r\n \"sourceAddresses\"\ + : [\r\n \"10.0.0.1\",\r\n \"111.2.0.0/24\"\r\ + \n ],\r\n \"destinationAddresses\": [],\r\n \ + \ \"sourceIpGroups\": [],\r\n \"destinationIpGroups\"\ + : [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/destinationipgroup\"\ + \r\n ],\r\n \"destinationFqdns\": [],\r\n \ + \ \"destinationPorts\": [\r\n \"81\"\r\n \ + \ ]\r\n }\r\n ]\r\n },\r\n \"type\": \"\ + Microsoft.Network/azureFirewalls/networkRuleCollections\"\r\n }\r\n \ + \ ],\r\n \"applicationRuleCollections\": [],\r\n \"natRuleCollections\"\ + : [\r\n {\r\n \"name\": \"rc2\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1/natRuleCollections/rc2\"\ + ,\r\n \"etag\": \"W/\\\"d405ac76-14af-44eb-a058-e494a00f96f5\\\"\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\"\ + ,\r\n \"priority\": 10001,\r\n \"action\": {\r\n \ + \ \"type\": \"Dnat\"\r\n },\r\n \"rules\": [\r\n \ + \ {\r\n \"name\": \"network-rule1\",\r\n \ + \ \"protocols\": [\r\n \"UDP\",\r\n \"TCP\"\ + \r\n ],\r\n \"translatedFqdn\": \"server1.internal.com\"\ + ,\r\n \"translatedPort\": \"95\",\r\n \"sourceAddresses\"\ + : [],\r\n \"sourceIpGroups\": [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup\"\ + \r\n ],\r\n \"destinationAddresses\": [\r\n \ + \ \"12.36.22.14\"\r\n ],\r\n \"destinationPorts\"\ + : [\r\n \"96\"\r\n ]\r\n },\r\n \ + \ {\r\n \"name\": \"network-rule2\",\r\n \ + \ \"protocols\": [\r\n \"UDP\",\r\n \"TCP\"\ + \r\n ],\r\n \"translatedFqdn\": \"server2.internal.com\"\ + ,\r\n \"translatedPort\": \"96\",\r\n \"sourceAddresses\"\ + : [\r\n \"10.0.0.1\",\r\n \"111.2.0.0/24\"\r\ + \n ],\r\n \"sourceIpGroups\": [\r\n \ + \ \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup\"\ + \r\n ],\r\n \"destinationAddresses\": [\r\n \ + \ \"12.36.22.15\"\r\n ],\r\n \"destinationPorts\"\ + : [\r\n \"97\"\r\n ]\r\n }\r\n \ + \ ]\r\n },\r\n \"type\": \"Microsoft.Network/azureFirewalls/natRuleCollections\"\ + \r\n }\r\n ]\r\n }\r\n}" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/d212f957-e719-4ee2-b642-36bb93211cfa?api-version=2019-11-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8588c24e-794c-409a-900e-d43634de0a4f?api-version=2019-11-01 cache-control: - no-cache content-length: - - '5092' + - '5307' content-type: - application/json; charset=utf-8 date: - - Fri, 06 Mar 2020 07:58:02 GMT + - Thu, 18 Jun 2020 04:44:31 GMT expires: - '-1' pragma: @@ -1787,9 +1858,9 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 2707d441-f91c-4798-b694-1b215b3748d4 + - e94e1ee5-ea77-4676-89c1-e73c9607b365 x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1195' status: code: 200 message: OK @@ -1808,10 +1879,10 @@ interactions: - -g -n -c -f --source-addresses --protocols --translated-fqdn --destination-ports --destination-addresses --translated-port --source-ip-groups User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.1.0 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/d212f957-e719-4ee2-b642-36bb93211cfa?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8588c24e-794c-409a-900e-d43634de0a4f?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -1823,7 +1894,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 06 Mar 2020 07:58:13 GMT + - Thu, 18 Jun 2020 04:44:42 GMT expires: - '-1' pragma: @@ -1840,7 +1911,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - dcca55a5-90d4-414f-b026-f6bcd78b6320 + - 338ca589-acf0-4d7a-9b82-af594da860d5 status: code: 200 message: OK @@ -1859,78 +1930,83 @@ interactions: - -g -n -c -f --source-addresses --protocols --translated-fqdn --destination-ports --destination-addresses --translated-port --source-ip-groups User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.1.0 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 response: body: - string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"81d327b8-6214-4f68-85a1-367b6e9ce476\\\"\",\r\n \"type\": - \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Succeeded\",\r\n \"sku\": {\r\n \"name\": - \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\": - \"Alert\",\r\n \"additionalProperties\": {},\r\n \"ipConfigurations\": - [],\r\n \"networkRuleCollections\": [\r\n {\r\n \"name\": \"rc1\",\r\n - \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1/networkRuleCollections/rc1\",\r\n - \ \"etag\": \"W/\\\"81d327b8-6214-4f68-85a1-367b6e9ce476\\\"\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"priority\": 10000,\r\n \"action\": {\r\n \"type\": - \"Allow\"\r\n },\r\n \"rules\": [\r\n {\r\n \"name\": - \"network-rule1\",\r\n \"protocols\": [\r\n \"UDP\",\r\n - \ \"TCP\",\r\n \"ICMP\"\r\n ],\r\n - \ \"sourceAddresses\": [\r\n \"10.0.0.0\",\r\n - \ \"111.1.0.0/24\"\r\n ],\r\n \"destinationAddresses\": - [],\r\n \"sourceIpGroups\": [],\r\n \"destinationIpGroups\": - [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/destinationipgroup\"\r\n - \ ],\r\n \"destinationFqdns\": [],\r\n \"destinationPorts\": - [\r\n \"80\"\r\n ]\r\n },\r\n {\r\n - \ \"name\": \"network-rule2\",\r\n \"protocols\": - [\r\n \"UDP\",\r\n \"TCP\"\r\n ],\r\n - \ \"sourceAddresses\": [\r\n \"10.0.0.1\",\r\n - \ \"111.2.0.0/24\"\r\n ],\r\n \"destinationAddresses\": - [],\r\n \"sourceIpGroups\": [],\r\n \"destinationIpGroups\": - [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/destinationipgroup\"\r\n - \ ],\r\n \"destinationFqdns\": [],\r\n \"destinationPorts\": - [\r\n \"81\"\r\n ]\r\n }\r\n ]\r\n - \ },\r\n \"type\": \"Microsoft.Network/azureFirewalls/networkRuleCollections\"\r\n - \ }\r\n ],\r\n \"applicationRuleCollections\": [],\r\n \"natRuleCollections\": - [\r\n {\r\n \"name\": \"rc2\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1/natRuleCollections/rc2\",\r\n - \ \"etag\": \"W/\\\"81d327b8-6214-4f68-85a1-367b6e9ce476\\\"\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"priority\": 10001,\r\n \"action\": {\r\n \"type\": - \"Dnat\"\r\n },\r\n \"rules\": [\r\n {\r\n \"name\": - \"network-rule1\",\r\n \"protocols\": [\r\n \"UDP\",\r\n - \ \"TCP\"\r\n ],\r\n \"translatedFqdn\": - \"server1.internal.com\",\r\n \"translatedPort\": \"95\",\r\n - \ \"sourceAddresses\": [\r\n \"10.0.0.0\",\r\n - \ \"111.1.0.0/24\"\r\n ],\r\n \"sourceIpGroups\": - [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup\"\r\n - \ ],\r\n \"destinationAddresses\": [\r\n \"12.36.22.14\"\r\n - \ ],\r\n \"destinationPorts\": [\r\n \"96\"\r\n - \ ]\r\n },\r\n {\r\n \"name\": - \"network-rule2\",\r\n \"protocols\": [\r\n \"UDP\",\r\n - \ \"TCP\"\r\n ],\r\n \"translatedFqdn\": - \"server2.internal.com\",\r\n \"translatedPort\": \"96\",\r\n - \ \"sourceAddresses\": [\r\n \"10.0.0.1\",\r\n - \ \"111.2.0.0/24\"\r\n ],\r\n \"sourceIpGroups\": - [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup\"\r\n - \ ],\r\n \"destinationAddresses\": [\r\n \"12.36.22.15\"\r\n - \ ],\r\n \"destinationPorts\": [\r\n \"97\"\r\n - \ ]\r\n }\r\n ]\r\n },\r\n \"type\": - \"Microsoft.Network/azureFirewalls/natRuleCollections\"\r\n }\r\n ]\r\n - \ }\r\n}" + string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1\"\ + ,\r\n \"etag\": \"W/\\\"72fbc665-1bd4-4c2c-be9f-40a1cacf2163\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n\ + \ \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\ + \r\n },\r\n \"threatIntelMode\": \"Alert\",\r\n \"additionalProperties\"\ + : {\r\n \"Network.DNS.EnableProxy\": \"False\",\r\n \"Network.DNS.RequireProxyForNetworkRules\"\ + : \"True\",\r\n \"Network.DNS.Servers\": \"\"\r\n },\r\n \"ipConfigurations\"\ + : [],\r\n \"networkRuleCollections\": [\r\n {\r\n \"name\"\ + : \"rc1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1/networkRuleCollections/rc1\"\ + ,\r\n \"etag\": \"W/\\\"72fbc665-1bd4-4c2c-be9f-40a1cacf2163\\\"\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ + ,\r\n \"priority\": 10000,\r\n \"action\": {\r\n \ + \ \"type\": \"Allow\"\r\n },\r\n \"rules\": [\r\n \ + \ {\r\n \"name\": \"network-rule1\",\r\n \ + \ \"protocols\": [\r\n \"UDP\",\r\n \"TCP\"\ + ,\r\n \"ICMP\"\r\n ],\r\n \"sourceAddresses\"\ + : [],\r\n \"destinationAddresses\": [],\r\n \"sourceIpGroups\"\ + : [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup\"\ + \r\n ],\r\n \"destinationIpGroups\": [\r\n \ + \ \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/destinationipgroup\"\ + \r\n ],\r\n \"destinationFqdns\": [],\r\n \ + \ \"destinationPorts\": [\r\n \"80\"\r\n \ + \ ]\r\n },\r\n {\r\n \"name\": \"network-rule2\"\ + ,\r\n \"protocols\": [\r\n \"UDP\",\r\n \ + \ \"TCP\"\r\n ],\r\n \"sourceAddresses\"\ + : [\r\n \"10.0.0.1\",\r\n \"111.2.0.0/24\"\r\ + \n ],\r\n \"destinationAddresses\": [],\r\n \ + \ \"sourceIpGroups\": [],\r\n \"destinationIpGroups\"\ + : [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/destinationipgroup\"\ + \r\n ],\r\n \"destinationFqdns\": [],\r\n \ + \ \"destinationPorts\": [\r\n \"81\"\r\n \ + \ ]\r\n }\r\n ]\r\n },\r\n \"type\": \"\ + Microsoft.Network/azureFirewalls/networkRuleCollections\"\r\n }\r\n \ + \ ],\r\n \"applicationRuleCollections\": [],\r\n \"natRuleCollections\"\ + : [\r\n {\r\n \"name\": \"rc2\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1/natRuleCollections/rc2\"\ + ,\r\n \"etag\": \"W/\\\"72fbc665-1bd4-4c2c-be9f-40a1cacf2163\\\"\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ + ,\r\n \"priority\": 10001,\r\n \"action\": {\r\n \ + \ \"type\": \"Dnat\"\r\n },\r\n \"rules\": [\r\n \ + \ {\r\n \"name\": \"network-rule1\",\r\n \ + \ \"protocols\": [\r\n \"UDP\",\r\n \"TCP\"\ + \r\n ],\r\n \"translatedFqdn\": \"server1.internal.com\"\ + ,\r\n \"translatedPort\": \"95\",\r\n \"sourceAddresses\"\ + : [],\r\n \"sourceIpGroups\": [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup\"\ + \r\n ],\r\n \"destinationAddresses\": [\r\n \ + \ \"12.36.22.14\"\r\n ],\r\n \"destinationPorts\"\ + : [\r\n \"96\"\r\n ]\r\n },\r\n \ + \ {\r\n \"name\": \"network-rule2\",\r\n \ + \ \"protocols\": [\r\n \"UDP\",\r\n \"TCP\"\ + \r\n ],\r\n \"translatedFqdn\": \"server2.internal.com\"\ + ,\r\n \"translatedPort\": \"96\",\r\n \"sourceAddresses\"\ + : [\r\n \"10.0.0.1\",\r\n \"111.2.0.0/24\"\r\ + \n ],\r\n \"sourceIpGroups\": [\r\n \ + \ \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup\"\ + \r\n ],\r\n \"destinationAddresses\": [\r\n \ + \ \"12.36.22.15\"\r\n ],\r\n \"destinationPorts\"\ + : [\r\n \"97\"\r\n ]\r\n }\r\n \ + \ ]\r\n },\r\n \"type\": \"Microsoft.Network/azureFirewalls/natRuleCollections\"\ + \r\n }\r\n ]\r\n }\r\n}" headers: cache-control: - no-cache content-length: - - '5095' + - '5310' content-type: - application/json; charset=utf-8 date: - - Fri, 06 Mar 2020 07:58:14 GMT + - Thu, 18 Jun 2020 04:44:42 GMT etag: - - W/"81d327b8-6214-4f68-85a1-367b6e9ce476" + - W/"72fbc665-1bd4-4c2c-be9f-40a1cacf2163" expires: - '-1' pragma: @@ -1947,7 +2023,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 446026c1-d468-4090-b5e2-a7376ffec421 + - c036e73c-c74b-4628-af71-8eda1455be13 status: code: 200 message: OK @@ -1965,80 +2041,85 @@ interactions: ParameterSetName: - -f -n --protocols -g -c --priority --action --source-ip-groups --target-fqdns User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.1.0 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 response: body: - string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"81d327b8-6214-4f68-85a1-367b6e9ce476\\\"\",\r\n \"type\": - \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Succeeded\",\r\n \"sku\": {\r\n \"name\": - \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\": - \"Alert\",\r\n \"additionalProperties\": {},\r\n \"ipConfigurations\": - [],\r\n \"networkRuleCollections\": [\r\n {\r\n \"name\": \"rc1\",\r\n - \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1/networkRuleCollections/rc1\",\r\n - \ \"etag\": \"W/\\\"81d327b8-6214-4f68-85a1-367b6e9ce476\\\"\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"priority\": 10000,\r\n \"action\": {\r\n \"type\": - \"Allow\"\r\n },\r\n \"rules\": [\r\n {\r\n \"name\": - \"network-rule1\",\r\n \"protocols\": [\r\n \"UDP\",\r\n - \ \"TCP\",\r\n \"ICMP\"\r\n ],\r\n - \ \"sourceAddresses\": [\r\n \"10.0.0.0\",\r\n - \ \"111.1.0.0/24\"\r\n ],\r\n \"destinationAddresses\": - [],\r\n \"sourceIpGroups\": [],\r\n \"destinationIpGroups\": - [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/destinationipgroup\"\r\n - \ ],\r\n \"destinationFqdns\": [],\r\n \"destinationPorts\": - [\r\n \"80\"\r\n ]\r\n },\r\n {\r\n - \ \"name\": \"network-rule2\",\r\n \"protocols\": - [\r\n \"UDP\",\r\n \"TCP\"\r\n ],\r\n - \ \"sourceAddresses\": [\r\n \"10.0.0.1\",\r\n - \ \"111.2.0.0/24\"\r\n ],\r\n \"destinationAddresses\": - [],\r\n \"sourceIpGroups\": [],\r\n \"destinationIpGroups\": - [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/destinationipgroup\"\r\n - \ ],\r\n \"destinationFqdns\": [],\r\n \"destinationPorts\": - [\r\n \"81\"\r\n ]\r\n }\r\n ]\r\n - \ },\r\n \"type\": \"Microsoft.Network/azureFirewalls/networkRuleCollections\"\r\n - \ }\r\n ],\r\n \"applicationRuleCollections\": [],\r\n \"natRuleCollections\": - [\r\n {\r\n \"name\": \"rc2\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1/natRuleCollections/rc2\",\r\n - \ \"etag\": \"W/\\\"81d327b8-6214-4f68-85a1-367b6e9ce476\\\"\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"priority\": 10001,\r\n \"action\": {\r\n \"type\": - \"Dnat\"\r\n },\r\n \"rules\": [\r\n {\r\n \"name\": - \"network-rule1\",\r\n \"protocols\": [\r\n \"UDP\",\r\n - \ \"TCP\"\r\n ],\r\n \"translatedFqdn\": - \"server1.internal.com\",\r\n \"translatedPort\": \"95\",\r\n - \ \"sourceAddresses\": [\r\n \"10.0.0.0\",\r\n - \ \"111.1.0.0/24\"\r\n ],\r\n \"sourceIpGroups\": - [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup\"\r\n - \ ],\r\n \"destinationAddresses\": [\r\n \"12.36.22.14\"\r\n - \ ],\r\n \"destinationPorts\": [\r\n \"96\"\r\n - \ ]\r\n },\r\n {\r\n \"name\": - \"network-rule2\",\r\n \"protocols\": [\r\n \"UDP\",\r\n - \ \"TCP\"\r\n ],\r\n \"translatedFqdn\": - \"server2.internal.com\",\r\n \"translatedPort\": \"96\",\r\n - \ \"sourceAddresses\": [\r\n \"10.0.0.1\",\r\n - \ \"111.2.0.0/24\"\r\n ],\r\n \"sourceIpGroups\": - [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup\"\r\n - \ ],\r\n \"destinationAddresses\": [\r\n \"12.36.22.15\"\r\n - \ ],\r\n \"destinationPorts\": [\r\n \"97\"\r\n - \ ]\r\n }\r\n ]\r\n },\r\n \"type\": - \"Microsoft.Network/azureFirewalls/natRuleCollections\"\r\n }\r\n ]\r\n - \ }\r\n}" + string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1\"\ + ,\r\n \"etag\": \"W/\\\"72fbc665-1bd4-4c2c-be9f-40a1cacf2163\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n\ + \ \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\ + \r\n },\r\n \"threatIntelMode\": \"Alert\",\r\n \"additionalProperties\"\ + : {\r\n \"Network.DNS.EnableProxy\": \"False\",\r\n \"Network.DNS.RequireProxyForNetworkRules\"\ + : \"True\",\r\n \"Network.DNS.Servers\": \"\"\r\n },\r\n \"ipConfigurations\"\ + : [],\r\n \"networkRuleCollections\": [\r\n {\r\n \"name\"\ + : \"rc1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1/networkRuleCollections/rc1\"\ + ,\r\n \"etag\": \"W/\\\"72fbc665-1bd4-4c2c-be9f-40a1cacf2163\\\"\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ + ,\r\n \"priority\": 10000,\r\n \"action\": {\r\n \ + \ \"type\": \"Allow\"\r\n },\r\n \"rules\": [\r\n \ + \ {\r\n \"name\": \"network-rule1\",\r\n \ + \ \"protocols\": [\r\n \"UDP\",\r\n \"TCP\"\ + ,\r\n \"ICMP\"\r\n ],\r\n \"sourceAddresses\"\ + : [],\r\n \"destinationAddresses\": [],\r\n \"sourceIpGroups\"\ + : [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup\"\ + \r\n ],\r\n \"destinationIpGroups\": [\r\n \ + \ \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/destinationipgroup\"\ + \r\n ],\r\n \"destinationFqdns\": [],\r\n \ + \ \"destinationPorts\": [\r\n \"80\"\r\n \ + \ ]\r\n },\r\n {\r\n \"name\": \"network-rule2\"\ + ,\r\n \"protocols\": [\r\n \"UDP\",\r\n \ + \ \"TCP\"\r\n ],\r\n \"sourceAddresses\"\ + : [\r\n \"10.0.0.1\",\r\n \"111.2.0.0/24\"\r\ + \n ],\r\n \"destinationAddresses\": [],\r\n \ + \ \"sourceIpGroups\": [],\r\n \"destinationIpGroups\"\ + : [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/destinationipgroup\"\ + \r\n ],\r\n \"destinationFqdns\": [],\r\n \ + \ \"destinationPorts\": [\r\n \"81\"\r\n \ + \ ]\r\n }\r\n ]\r\n },\r\n \"type\": \"\ + Microsoft.Network/azureFirewalls/networkRuleCollections\"\r\n }\r\n \ + \ ],\r\n \"applicationRuleCollections\": [],\r\n \"natRuleCollections\"\ + : [\r\n {\r\n \"name\": \"rc2\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1/natRuleCollections/rc2\"\ + ,\r\n \"etag\": \"W/\\\"72fbc665-1bd4-4c2c-be9f-40a1cacf2163\\\"\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ + ,\r\n \"priority\": 10001,\r\n \"action\": {\r\n \ + \ \"type\": \"Dnat\"\r\n },\r\n \"rules\": [\r\n \ + \ {\r\n \"name\": \"network-rule1\",\r\n \ + \ \"protocols\": [\r\n \"UDP\",\r\n \"TCP\"\ + \r\n ],\r\n \"translatedFqdn\": \"server1.internal.com\"\ + ,\r\n \"translatedPort\": \"95\",\r\n \"sourceAddresses\"\ + : [],\r\n \"sourceIpGroups\": [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup\"\ + \r\n ],\r\n \"destinationAddresses\": [\r\n \ + \ \"12.36.22.14\"\r\n ],\r\n \"destinationPorts\"\ + : [\r\n \"96\"\r\n ]\r\n },\r\n \ + \ {\r\n \"name\": \"network-rule2\",\r\n \ + \ \"protocols\": [\r\n \"UDP\",\r\n \"TCP\"\ + \r\n ],\r\n \"translatedFqdn\": \"server2.internal.com\"\ + ,\r\n \"translatedPort\": \"96\",\r\n \"sourceAddresses\"\ + : [\r\n \"10.0.0.1\",\r\n \"111.2.0.0/24\"\r\ + \n ],\r\n \"sourceIpGroups\": [\r\n \ + \ \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup\"\ + \r\n ],\r\n \"destinationAddresses\": [\r\n \ + \ \"12.36.22.15\"\r\n ],\r\n \"destinationPorts\"\ + : [\r\n \"97\"\r\n ]\r\n }\r\n \ + \ ]\r\n },\r\n \"type\": \"Microsoft.Network/azureFirewalls/natRuleCollections\"\ + \r\n }\r\n ]\r\n }\r\n}" headers: cache-control: - no-cache content-length: - - '5095' + - '5310' content-type: - application/json; charset=utf-8 date: - - Fri, 06 Mar 2020 07:58:15 GMT + - Thu, 18 Jun 2020 04:44:43 GMT etag: - - W/"81d327b8-6214-4f68-85a1-367b6e9ce476" + - W/"72fbc665-1bd4-4c2c-be9f-40a1cacf2163" expires: - '-1' pragma: @@ -2055,7 +2136,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 649d9290-23b9-48c9-83af-3753e68e5c32 + - a12b1ef6-0c77-46b6-9ff9-f3f776933db8 status: code: 200 message: OK @@ -2067,22 +2148,25 @@ interactions: "port": 8080}], "targetFqdns": ["www.bing.com"], "sourceIpGroups": ["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup"]}]}, "name": "rc3"}], "natRuleCollections": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1/natRuleCollections/rc2", "properties": {"priority": 10001, "action": {"type": "Dnat"}, "rules": [{"name": - "network-rule1", "sourceAddresses": ["10.0.0.0", "111.1.0.0/24"], "destinationAddresses": - ["12.36.22.14"], "destinationPorts": ["96"], "protocols": ["UDP", "TCP"], "translatedPort": - "95", "translatedFqdn": "server1.internal.com", "sourceIpGroups": ["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup"]}, + "network-rule1", "sourceAddresses": [], "destinationAddresses": ["12.36.22.14"], + "destinationPorts": ["96"], "protocols": ["UDP", "TCP"], "translatedPort": "95", + "translatedFqdn": "server1.internal.com", "sourceIpGroups": ["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup"]}, {"name": "network-rule2", "sourceAddresses": ["10.0.0.1", "111.2.0.0/24"], "destinationAddresses": ["12.36.22.15"], "destinationPorts": ["97"], "protocols": ["UDP", "TCP"], "translatedPort": "96", "translatedFqdn": "server2.internal.com", "sourceIpGroups": ["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup"]}]}, "name": "rc2"}], "networkRuleCollections": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1/networkRuleCollections/rc1", "properties": {"priority": 10000, "action": {"type": "Allow"}, "rules": [{"name": - "network-rule1", "protocols": ["UDP", "TCP", "ICMP"], "sourceAddresses": ["10.0.0.0", - "111.1.0.0/24"], "destinationAddresses": [], "destinationPorts": ["80"], "destinationFqdns": - [], "sourceIpGroups": [], "destinationIpGroups": ["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/destinationipgroup"]}, + "network-rule1", "protocols": ["UDP", "TCP", "ICMP"], "sourceAddresses": [], + "destinationAddresses": [], "destinationPorts": ["80"], "destinationFqdns": + [], "sourceIpGroups": ["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup"], + "destinationIpGroups": ["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/destinationipgroup"]}, {"name": "network-rule2", "protocols": ["UDP", "TCP"], "sourceAddresses": ["10.0.0.1", "111.2.0.0/24"], "destinationAddresses": [], "destinationPorts": ["81"], "destinationFqdns": [], "sourceIpGroups": [], "destinationIpGroups": ["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/destinationipgroup"]}]}, "name": "rc1"}], "ipConfigurations": [], "threatIntelMode": "Alert", "sku": - {"name": "AZFW_VNet", "tier": "Standard"}, "additionalProperties": {}}}''' + {"name": "AZFW_VNet", "tier": "Standard"}, "additionalProperties": {"Network.DNS.EnableProxy": + "False", "Network.DNS.RequireProxyForNetworkRules": "True", "Network.DNS.Servers": + ""}}}''' headers: Accept: - application/json @@ -2093,102 +2177,109 @@ interactions: Connection: - keep-alive Content-Length: - - '3331' + - '3586' Content-Type: - application/json; charset=utf-8 ParameterSetName: - -f -n --protocols -g -c --priority --action --source-ip-groups --target-fqdns User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.1.0 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 response: body: - string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"cfd9c29f-f0fe-49ab-9fbb-6a1eedead7d7\\\"\",\r\n \"type\": - \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Updating\",\r\n \"sku\": {\r\n \"name\": - \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\": - \"Alert\",\r\n \"additionalProperties\": {},\r\n \"ipConfigurations\": - [],\r\n \"networkRuleCollections\": [\r\n {\r\n \"name\": \"rc1\",\r\n - \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1/networkRuleCollections/rc1\",\r\n - \ \"etag\": \"W/\\\"cfd9c29f-f0fe-49ab-9fbb-6a1eedead7d7\\\"\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n - \ \"priority\": 10000,\r\n \"action\": {\r\n \"type\": - \"Allow\"\r\n },\r\n \"rules\": [\r\n {\r\n \"name\": - \"network-rule1\",\r\n \"protocols\": [\r\n \"UDP\",\r\n - \ \"TCP\",\r\n \"ICMP\"\r\n ],\r\n - \ \"sourceAddresses\": [\r\n \"10.0.0.0\",\r\n - \ \"111.1.0.0/24\"\r\n ],\r\n \"destinationAddresses\": - [],\r\n \"sourceIpGroups\": [],\r\n \"destinationIpGroups\": - [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/destinationipgroup\"\r\n - \ ],\r\n \"destinationFqdns\": [],\r\n \"destinationPorts\": - [\r\n \"80\"\r\n ]\r\n },\r\n {\r\n - \ \"name\": \"network-rule2\",\r\n \"protocols\": - [\r\n \"UDP\",\r\n \"TCP\"\r\n ],\r\n - \ \"sourceAddresses\": [\r\n \"10.0.0.1\",\r\n - \ \"111.2.0.0/24\"\r\n ],\r\n \"destinationAddresses\": - [],\r\n \"sourceIpGroups\": [],\r\n \"destinationIpGroups\": - [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/destinationipgroup\"\r\n - \ ],\r\n \"destinationFqdns\": [],\r\n \"destinationPorts\": - [\r\n \"81\"\r\n ]\r\n }\r\n ]\r\n - \ },\r\n \"type\": \"Microsoft.Network/azureFirewalls/networkRuleCollections\"\r\n - \ }\r\n ],\r\n \"applicationRuleCollections\": [\r\n {\r\n - \ \"name\": \"rc3\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1/applicationRuleCollections/rc3\",\r\n - \ \"etag\": \"W/\\\"cfd9c29f-f0fe-49ab-9fbb-6a1eedead7d7\\\"\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n - \ \"priority\": 10000,\r\n \"action\": {\r\n \"type\": - \"Allow\"\r\n },\r\n \"rules\": [\r\n {\r\n \"name\": - \"app-rule1\",\r\n \"priority\": 0,\r\n \"direction\": - \"Inbound\",\r\n \"protocols\": [\r\n {\r\n \"protocolType\": - \"Http\",\r\n \"port\": 80\r\n },\r\n {\r\n - \ \"protocolType\": \"Https\",\r\n \"port\": - 8080\r\n }\r\n ],\r\n \"fqdnTags\": - [],\r\n \"targetFqdns\": [\r\n \"www.bing.com\"\r\n - \ ],\r\n \"actions\": [],\r\n \"sourceAddresses\": - [],\r\n \"sourceIpGroups\": [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup\"\r\n - \ ]\r\n }\r\n ]\r\n },\r\n \"type\": - \"Microsoft.Network/azureFirewalls/applicationRuleCollections\"\r\n }\r\n - \ ],\r\n \"natRuleCollections\": [\r\n {\r\n \"name\": \"rc2\",\r\n - \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1/natRuleCollections/rc2\",\r\n - \ \"etag\": \"W/\\\"cfd9c29f-f0fe-49ab-9fbb-6a1eedead7d7\\\"\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n - \ \"priority\": 10001,\r\n \"action\": {\r\n \"type\": - \"Dnat\"\r\n },\r\n \"rules\": [\r\n {\r\n \"name\": - \"network-rule1\",\r\n \"protocols\": [\r\n \"UDP\",\r\n - \ \"TCP\"\r\n ],\r\n \"translatedFqdn\": - \"server1.internal.com\",\r\n \"translatedPort\": \"95\",\r\n - \ \"sourceAddresses\": [\r\n \"10.0.0.0\",\r\n - \ \"111.1.0.0/24\"\r\n ],\r\n \"sourceIpGroups\": - [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup\"\r\n - \ ],\r\n \"destinationAddresses\": [\r\n \"12.36.22.14\"\r\n - \ ],\r\n \"destinationPorts\": [\r\n \"96\"\r\n - \ ]\r\n },\r\n {\r\n \"name\": - \"network-rule2\",\r\n \"protocols\": [\r\n \"UDP\",\r\n - \ \"TCP\"\r\n ],\r\n \"translatedFqdn\": - \"server2.internal.com\",\r\n \"translatedPort\": \"96\",\r\n - \ \"sourceAddresses\": [\r\n \"10.0.0.1\",\r\n - \ \"111.2.0.0/24\"\r\n ],\r\n \"sourceIpGroups\": - [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup\"\r\n - \ ],\r\n \"destinationAddresses\": [\r\n \"12.36.22.15\"\r\n - \ ],\r\n \"destinationPorts\": [\r\n \"97\"\r\n - \ ]\r\n }\r\n ]\r\n },\r\n \"type\": - \"Microsoft.Network/azureFirewalls/natRuleCollections\"\r\n }\r\n ]\r\n - \ }\r\n}" + string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1\"\ + ,\r\n \"etag\": \"W/\\\"e32830b2-7456-4e73-9037-0b664037a5e2\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \ + \ \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\ + \r\n },\r\n \"threatIntelMode\": \"Alert\",\r\n \"additionalProperties\"\ + : {\r\n \"Network.DNS.EnableProxy\": \"False\",\r\n \"Network.DNS.RequireProxyForNetworkRules\"\ + : \"True\",\r\n \"Network.DNS.Servers\": \"\"\r\n },\r\n \"ipConfigurations\"\ + : [],\r\n \"networkRuleCollections\": [\r\n {\r\n \"name\"\ + : \"rc1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1/networkRuleCollections/rc1\"\ + ,\r\n \"etag\": \"W/\\\"e32830b2-7456-4e73-9037-0b664037a5e2\\\"\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\"\ + ,\r\n \"priority\": 10000,\r\n \"action\": {\r\n \ + \ \"type\": \"Allow\"\r\n },\r\n \"rules\": [\r\n \ + \ {\r\n \"name\": \"network-rule1\",\r\n \ + \ \"protocols\": [\r\n \"UDP\",\r\n \"TCP\"\ + ,\r\n \"ICMP\"\r\n ],\r\n \"sourceAddresses\"\ + : [],\r\n \"destinationAddresses\": [],\r\n \"sourceIpGroups\"\ + : [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup\"\ + \r\n ],\r\n \"destinationIpGroups\": [\r\n \ + \ \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/destinationipgroup\"\ + \r\n ],\r\n \"destinationFqdns\": [],\r\n \ + \ \"destinationPorts\": [\r\n \"80\"\r\n \ + \ ]\r\n },\r\n {\r\n \"name\": \"network-rule2\"\ + ,\r\n \"protocols\": [\r\n \"UDP\",\r\n \ + \ \"TCP\"\r\n ],\r\n \"sourceAddresses\"\ + : [\r\n \"10.0.0.1\",\r\n \"111.2.0.0/24\"\r\ + \n ],\r\n \"destinationAddresses\": [],\r\n \ + \ \"sourceIpGroups\": [],\r\n \"destinationIpGroups\"\ + : [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/destinationipgroup\"\ + \r\n ],\r\n \"destinationFqdns\": [],\r\n \ + \ \"destinationPorts\": [\r\n \"81\"\r\n \ + \ ]\r\n }\r\n ]\r\n },\r\n \"type\": \"\ + Microsoft.Network/azureFirewalls/networkRuleCollections\"\r\n }\r\n \ + \ ],\r\n \"applicationRuleCollections\": [\r\n {\r\n \"name\"\ + : \"rc3\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1/applicationRuleCollections/rc3\"\ + ,\r\n \"etag\": \"W/\\\"e32830b2-7456-4e73-9037-0b664037a5e2\\\"\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\"\ + ,\r\n \"priority\": 10000,\r\n \"action\": {\r\n \ + \ \"type\": \"Allow\"\r\n },\r\n \"rules\": [\r\n \ + \ {\r\n \"name\": \"app-rule1\",\r\n \"\ + priority\": 0,\r\n \"direction\": \"Inbound\",\r\n \ + \ \"protocols\": [\r\n {\r\n \"protocolType\"\ + : \"Http\",\r\n \"port\": 80\r\n },\r\n \ + \ {\r\n \"protocolType\": \"Https\",\r\n \ + \ \"port\": 8080\r\n }\r\n ],\r\n\ + \ \"fqdnTags\": [],\r\n \"targetFqdns\": [\r\n \ + \ \"www.bing.com\"\r\n ],\r\n \"actions\"\ + : [],\r\n \"sourceAddresses\": [],\r\n \"sourceIpGroups\"\ + : [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup\"\ + \r\n ]\r\n }\r\n ]\r\n },\r\n \ + \ \"type\": \"Microsoft.Network/azureFirewalls/applicationRuleCollections\"\ + \r\n }\r\n ],\r\n \"natRuleCollections\": [\r\n {\r\n \ + \ \"name\": \"rc2\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1/natRuleCollections/rc2\"\ + ,\r\n \"etag\": \"W/\\\"e32830b2-7456-4e73-9037-0b664037a5e2\\\"\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\"\ + ,\r\n \"priority\": 10001,\r\n \"action\": {\r\n \ + \ \"type\": \"Dnat\"\r\n },\r\n \"rules\": [\r\n \ + \ {\r\n \"name\": \"network-rule1\",\r\n \ + \ \"protocols\": [\r\n \"UDP\",\r\n \"TCP\"\ + \r\n ],\r\n \"translatedFqdn\": \"server1.internal.com\"\ + ,\r\n \"translatedPort\": \"95\",\r\n \"sourceAddresses\"\ + : [],\r\n \"sourceIpGroups\": [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup\"\ + \r\n ],\r\n \"destinationAddresses\": [\r\n \ + \ \"12.36.22.14\"\r\n ],\r\n \"destinationPorts\"\ + : [\r\n \"96\"\r\n ]\r\n },\r\n \ + \ {\r\n \"name\": \"network-rule2\",\r\n \ + \ \"protocols\": [\r\n \"UDP\",\r\n \"TCP\"\ + \r\n ],\r\n \"translatedFqdn\": \"server2.internal.com\"\ + ,\r\n \"translatedPort\": \"96\",\r\n \"sourceAddresses\"\ + : [\r\n \"10.0.0.1\",\r\n \"111.2.0.0/24\"\r\ + \n ],\r\n \"sourceIpGroups\": [\r\n \ + \ \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup\"\ + \r\n ],\r\n \"destinationAddresses\": [\r\n \ + \ \"12.36.22.15\"\r\n ],\r\n \"destinationPorts\"\ + : [\r\n \"97\"\r\n ]\r\n }\r\n \ + \ ]\r\n },\r\n \"type\": \"Microsoft.Network/azureFirewalls/natRuleCollections\"\ + \r\n }\r\n ]\r\n }\r\n}" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/379616c1-b588-4dd5-ab78-eaca0f5aacc7?api-version=2019-11-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/86d2af07-c144-46c3-8b17-f57b13e30f8c?api-version=2019-11-01 cache-control: - no-cache content-length: - - '6588' + - '6803' content-type: - application/json; charset=utf-8 date: - - Fri, 06 Mar 2020 07:58:16 GMT + - Thu, 18 Jun 2020 04:44:44 GMT expires: - '-1' pragma: @@ -2205,9 +2296,9 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 34aa7ba6-31c0-4f0f-b4cf-f83b3932761f + - 0666982f-41e9-4c74-b72c-1c273a7dc430 x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1195' status: code: 200 message: OK @@ -2225,10 +2316,10 @@ interactions: ParameterSetName: - -f -n --protocols -g -c --priority --action --source-ip-groups --target-fqdns User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.1.0 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/379616c1-b588-4dd5-ab78-eaca0f5aacc7?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/86d2af07-c144-46c3-8b17-f57b13e30f8c?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -2240,7 +2331,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 06 Mar 2020 07:58:27 GMT + - Thu, 18 Jun 2020 04:44:54 GMT expires: - '-1' pragma: @@ -2257,7 +2348,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - d38eedbe-0a45-4b21-bf49-4b49aa72f92f + - 4b7e33f0-cfd9-4480-9645-dfb1ec752a6d status: code: 200 message: OK @@ -2275,94 +2366,101 @@ interactions: ParameterSetName: - -f -n --protocols -g -c --priority --action --source-ip-groups --target-fqdns User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.1.0 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 response: body: - string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"252f3aea-8349-4f68-ae76-1abcd0118090\\\"\",\r\n \"type\": - \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Succeeded\",\r\n \"sku\": {\r\n \"name\": - \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\": - \"Alert\",\r\n \"additionalProperties\": {},\r\n \"ipConfigurations\": - [],\r\n \"networkRuleCollections\": [\r\n {\r\n \"name\": \"rc1\",\r\n - \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1/networkRuleCollections/rc1\",\r\n - \ \"etag\": \"W/\\\"252f3aea-8349-4f68-ae76-1abcd0118090\\\"\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"priority\": 10000,\r\n \"action\": {\r\n \"type\": - \"Allow\"\r\n },\r\n \"rules\": [\r\n {\r\n \"name\": - \"network-rule1\",\r\n \"protocols\": [\r\n \"UDP\",\r\n - \ \"TCP\",\r\n \"ICMP\"\r\n ],\r\n - \ \"sourceAddresses\": [\r\n \"10.0.0.0\",\r\n - \ \"111.1.0.0/24\"\r\n ],\r\n \"destinationAddresses\": - [],\r\n \"sourceIpGroups\": [],\r\n \"destinationIpGroups\": - [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/destinationipgroup\"\r\n - \ ],\r\n \"destinationFqdns\": [],\r\n \"destinationPorts\": - [\r\n \"80\"\r\n ]\r\n },\r\n {\r\n - \ \"name\": \"network-rule2\",\r\n \"protocols\": - [\r\n \"UDP\",\r\n \"TCP\"\r\n ],\r\n - \ \"sourceAddresses\": [\r\n \"10.0.0.1\",\r\n - \ \"111.2.0.0/24\"\r\n ],\r\n \"destinationAddresses\": - [],\r\n \"sourceIpGroups\": [],\r\n \"destinationIpGroups\": - [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/destinationipgroup\"\r\n - \ ],\r\n \"destinationFqdns\": [],\r\n \"destinationPorts\": - [\r\n \"81\"\r\n ]\r\n }\r\n ]\r\n - \ },\r\n \"type\": \"Microsoft.Network/azureFirewalls/networkRuleCollections\"\r\n - \ }\r\n ],\r\n \"applicationRuleCollections\": [\r\n {\r\n - \ \"name\": \"rc3\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1/applicationRuleCollections/rc3\",\r\n - \ \"etag\": \"W/\\\"252f3aea-8349-4f68-ae76-1abcd0118090\\\"\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"priority\": 10000,\r\n \"action\": {\r\n \"type\": - \"Allow\"\r\n },\r\n \"rules\": [\r\n {\r\n \"name\": - \"app-rule1\",\r\n \"priority\": 0,\r\n \"direction\": - \"Inbound\",\r\n \"protocols\": [\r\n {\r\n \"protocolType\": - \"Http\",\r\n \"port\": 80\r\n },\r\n {\r\n - \ \"protocolType\": \"Https\",\r\n \"port\": - 8080\r\n }\r\n ],\r\n \"fqdnTags\": - [],\r\n \"targetFqdns\": [\r\n \"www.bing.com\"\r\n - \ ],\r\n \"actions\": [],\r\n \"sourceAddresses\": - [],\r\n \"sourceIpGroups\": [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup\"\r\n - \ ]\r\n }\r\n ]\r\n },\r\n \"type\": - \"Microsoft.Network/azureFirewalls/applicationRuleCollections\"\r\n }\r\n - \ ],\r\n \"natRuleCollections\": [\r\n {\r\n \"name\": \"rc2\",\r\n - \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1/natRuleCollections/rc2\",\r\n - \ \"etag\": \"W/\\\"252f3aea-8349-4f68-ae76-1abcd0118090\\\"\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"priority\": 10001,\r\n \"action\": {\r\n \"type\": - \"Dnat\"\r\n },\r\n \"rules\": [\r\n {\r\n \"name\": - \"network-rule1\",\r\n \"protocols\": [\r\n \"UDP\",\r\n - \ \"TCP\"\r\n ],\r\n \"translatedFqdn\": - \"server1.internal.com\",\r\n \"translatedPort\": \"95\",\r\n - \ \"sourceAddresses\": [\r\n \"10.0.0.0\",\r\n - \ \"111.1.0.0/24\"\r\n ],\r\n \"sourceIpGroups\": - [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup\"\r\n - \ ],\r\n \"destinationAddresses\": [\r\n \"12.36.22.14\"\r\n - \ ],\r\n \"destinationPorts\": [\r\n \"96\"\r\n - \ ]\r\n },\r\n {\r\n \"name\": - \"network-rule2\",\r\n \"protocols\": [\r\n \"UDP\",\r\n - \ \"TCP\"\r\n ],\r\n \"translatedFqdn\": - \"server2.internal.com\",\r\n \"translatedPort\": \"96\",\r\n - \ \"sourceAddresses\": [\r\n \"10.0.0.1\",\r\n - \ \"111.2.0.0/24\"\r\n ],\r\n \"sourceIpGroups\": - [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup\"\r\n - \ ],\r\n \"destinationAddresses\": [\r\n \"12.36.22.15\"\r\n - \ ],\r\n \"destinationPorts\": [\r\n \"97\"\r\n - \ ]\r\n }\r\n ]\r\n },\r\n \"type\": - \"Microsoft.Network/azureFirewalls/natRuleCollections\"\r\n }\r\n ]\r\n - \ }\r\n}" + string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1\"\ + ,\r\n \"etag\": \"W/\\\"1a120c72-2ae8-422b-a8ba-2c7c130d5639\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n\ + \ \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\ + \r\n },\r\n \"threatIntelMode\": \"Alert\",\r\n \"additionalProperties\"\ + : {\r\n \"Network.DNS.EnableProxy\": \"False\",\r\n \"Network.DNS.RequireProxyForNetworkRules\"\ + : \"True\",\r\n \"Network.DNS.Servers\": \"\"\r\n },\r\n \"ipConfigurations\"\ + : [],\r\n \"networkRuleCollections\": [\r\n {\r\n \"name\"\ + : \"rc1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1/networkRuleCollections/rc1\"\ + ,\r\n \"etag\": \"W/\\\"1a120c72-2ae8-422b-a8ba-2c7c130d5639\\\"\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ + ,\r\n \"priority\": 10000,\r\n \"action\": {\r\n \ + \ \"type\": \"Allow\"\r\n },\r\n \"rules\": [\r\n \ + \ {\r\n \"name\": \"network-rule1\",\r\n \ + \ \"protocols\": [\r\n \"UDP\",\r\n \"TCP\"\ + ,\r\n \"ICMP\"\r\n ],\r\n \"sourceAddresses\"\ + : [],\r\n \"destinationAddresses\": [],\r\n \"sourceIpGroups\"\ + : [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup\"\ + \r\n ],\r\n \"destinationIpGroups\": [\r\n \ + \ \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/destinationipgroup\"\ + \r\n ],\r\n \"destinationFqdns\": [],\r\n \ + \ \"destinationPorts\": [\r\n \"80\"\r\n \ + \ ]\r\n },\r\n {\r\n \"name\": \"network-rule2\"\ + ,\r\n \"protocols\": [\r\n \"UDP\",\r\n \ + \ \"TCP\"\r\n ],\r\n \"sourceAddresses\"\ + : [\r\n \"10.0.0.1\",\r\n \"111.2.0.0/24\"\r\ + \n ],\r\n \"destinationAddresses\": [],\r\n \ + \ \"sourceIpGroups\": [],\r\n \"destinationIpGroups\"\ + : [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/destinationipgroup\"\ + \r\n ],\r\n \"destinationFqdns\": [],\r\n \ + \ \"destinationPorts\": [\r\n \"81\"\r\n \ + \ ]\r\n }\r\n ]\r\n },\r\n \"type\": \"\ + Microsoft.Network/azureFirewalls/networkRuleCollections\"\r\n }\r\n \ + \ ],\r\n \"applicationRuleCollections\": [\r\n {\r\n \"name\"\ + : \"rc3\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1/applicationRuleCollections/rc3\"\ + ,\r\n \"etag\": \"W/\\\"1a120c72-2ae8-422b-a8ba-2c7c130d5639\\\"\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ + ,\r\n \"priority\": 10000,\r\n \"action\": {\r\n \ + \ \"type\": \"Allow\"\r\n },\r\n \"rules\": [\r\n \ + \ {\r\n \"name\": \"app-rule1\",\r\n \"\ + priority\": 0,\r\n \"direction\": \"Inbound\",\r\n \ + \ \"protocols\": [\r\n {\r\n \"protocolType\"\ + : \"Http\",\r\n \"port\": 80\r\n },\r\n \ + \ {\r\n \"protocolType\": \"Https\",\r\n \ + \ \"port\": 8080\r\n }\r\n ],\r\n\ + \ \"fqdnTags\": [],\r\n \"targetFqdns\": [\r\n \ + \ \"www.bing.com\"\r\n ],\r\n \"actions\"\ + : [],\r\n \"sourceAddresses\": [],\r\n \"sourceIpGroups\"\ + : [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup\"\ + \r\n ]\r\n }\r\n ]\r\n },\r\n \ + \ \"type\": \"Microsoft.Network/azureFirewalls/applicationRuleCollections\"\ + \r\n }\r\n ],\r\n \"natRuleCollections\": [\r\n {\r\n \ + \ \"name\": \"rc2\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1/natRuleCollections/rc2\"\ + ,\r\n \"etag\": \"W/\\\"1a120c72-2ae8-422b-a8ba-2c7c130d5639\\\"\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ + ,\r\n \"priority\": 10001,\r\n \"action\": {\r\n \ + \ \"type\": \"Dnat\"\r\n },\r\n \"rules\": [\r\n \ + \ {\r\n \"name\": \"network-rule1\",\r\n \ + \ \"protocols\": [\r\n \"UDP\",\r\n \"TCP\"\ + \r\n ],\r\n \"translatedFqdn\": \"server1.internal.com\"\ + ,\r\n \"translatedPort\": \"95\",\r\n \"sourceAddresses\"\ + : [],\r\n \"sourceIpGroups\": [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup\"\ + \r\n ],\r\n \"destinationAddresses\": [\r\n \ + \ \"12.36.22.14\"\r\n ],\r\n \"destinationPorts\"\ + : [\r\n \"96\"\r\n ]\r\n },\r\n \ + \ {\r\n \"name\": \"network-rule2\",\r\n \ + \ \"protocols\": [\r\n \"UDP\",\r\n \"TCP\"\ + \r\n ],\r\n \"translatedFqdn\": \"server2.internal.com\"\ + ,\r\n \"translatedPort\": \"96\",\r\n \"sourceAddresses\"\ + : [\r\n \"10.0.0.1\",\r\n \"111.2.0.0/24\"\r\ + \n ],\r\n \"sourceIpGroups\": [\r\n \ + \ \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup\"\ + \r\n ],\r\n \"destinationAddresses\": [\r\n \ + \ \"12.36.22.15\"\r\n ],\r\n \"destinationPorts\"\ + : [\r\n \"97\"\r\n ]\r\n }\r\n \ + \ ]\r\n },\r\n \"type\": \"Microsoft.Network/azureFirewalls/natRuleCollections\"\ + \r\n }\r\n ]\r\n }\r\n}" headers: cache-control: - no-cache content-length: - - '6592' + - '6807' content-type: - application/json; charset=utf-8 date: - - Fri, 06 Mar 2020 07:58:28 GMT + - Thu, 18 Jun 2020 04:44:55 GMT etag: - - W/"252f3aea-8349-4f68-ae76-1abcd0118090" + - W/"1a120c72-2ae8-422b-a8ba-2c7c130d5639" expires: - '-1' pragma: @@ -2379,7 +2477,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 8bbada3b-9461-42f5-a6ee-0c6ebd5a0679 + - 7c9d8196-3756-490e-bba9-44ed1e634238 status: code: 200 message: OK @@ -2397,96 +2495,103 @@ interactions: ParameterSetName: - -f -n --protocols -g -c --source-ip-groups --target-fqdns User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.1.0 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 response: body: - string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"252f3aea-8349-4f68-ae76-1abcd0118090\\\"\",\r\n \"type\": - \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Succeeded\",\r\n \"sku\": {\r\n \"name\": - \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\": - \"Alert\",\r\n \"additionalProperties\": {},\r\n \"ipConfigurations\": - [],\r\n \"networkRuleCollections\": [\r\n {\r\n \"name\": \"rc1\",\r\n - \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1/networkRuleCollections/rc1\",\r\n - \ \"etag\": \"W/\\\"252f3aea-8349-4f68-ae76-1abcd0118090\\\"\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"priority\": 10000,\r\n \"action\": {\r\n \"type\": - \"Allow\"\r\n },\r\n \"rules\": [\r\n {\r\n \"name\": - \"network-rule1\",\r\n \"protocols\": [\r\n \"UDP\",\r\n - \ \"TCP\",\r\n \"ICMP\"\r\n ],\r\n - \ \"sourceAddresses\": [\r\n \"10.0.0.0\",\r\n - \ \"111.1.0.0/24\"\r\n ],\r\n \"destinationAddresses\": - [],\r\n \"sourceIpGroups\": [],\r\n \"destinationIpGroups\": - [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/destinationipgroup\"\r\n - \ ],\r\n \"destinationFqdns\": [],\r\n \"destinationPorts\": - [\r\n \"80\"\r\n ]\r\n },\r\n {\r\n - \ \"name\": \"network-rule2\",\r\n \"protocols\": - [\r\n \"UDP\",\r\n \"TCP\"\r\n ],\r\n - \ \"sourceAddresses\": [\r\n \"10.0.0.1\",\r\n - \ \"111.2.0.0/24\"\r\n ],\r\n \"destinationAddresses\": - [],\r\n \"sourceIpGroups\": [],\r\n \"destinationIpGroups\": - [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/destinationipgroup\"\r\n - \ ],\r\n \"destinationFqdns\": [],\r\n \"destinationPorts\": - [\r\n \"81\"\r\n ]\r\n }\r\n ]\r\n - \ },\r\n \"type\": \"Microsoft.Network/azureFirewalls/networkRuleCollections\"\r\n - \ }\r\n ],\r\n \"applicationRuleCollections\": [\r\n {\r\n - \ \"name\": \"rc3\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1/applicationRuleCollections/rc3\",\r\n - \ \"etag\": \"W/\\\"252f3aea-8349-4f68-ae76-1abcd0118090\\\"\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"priority\": 10000,\r\n \"action\": {\r\n \"type\": - \"Allow\"\r\n },\r\n \"rules\": [\r\n {\r\n \"name\": - \"app-rule1\",\r\n \"priority\": 0,\r\n \"direction\": - \"Inbound\",\r\n \"protocols\": [\r\n {\r\n \"protocolType\": - \"Http\",\r\n \"port\": 80\r\n },\r\n {\r\n - \ \"protocolType\": \"Https\",\r\n \"port\": - 8080\r\n }\r\n ],\r\n \"fqdnTags\": - [],\r\n \"targetFqdns\": [\r\n \"www.bing.com\"\r\n - \ ],\r\n \"actions\": [],\r\n \"sourceAddresses\": - [],\r\n \"sourceIpGroups\": [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup\"\r\n - \ ]\r\n }\r\n ]\r\n },\r\n \"type\": - \"Microsoft.Network/azureFirewalls/applicationRuleCollections\"\r\n }\r\n - \ ],\r\n \"natRuleCollections\": [\r\n {\r\n \"name\": \"rc2\",\r\n - \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1/natRuleCollections/rc2\",\r\n - \ \"etag\": \"W/\\\"252f3aea-8349-4f68-ae76-1abcd0118090\\\"\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"priority\": 10001,\r\n \"action\": {\r\n \"type\": - \"Dnat\"\r\n },\r\n \"rules\": [\r\n {\r\n \"name\": - \"network-rule1\",\r\n \"protocols\": [\r\n \"UDP\",\r\n - \ \"TCP\"\r\n ],\r\n \"translatedFqdn\": - \"server1.internal.com\",\r\n \"translatedPort\": \"95\",\r\n - \ \"sourceAddresses\": [\r\n \"10.0.0.0\",\r\n - \ \"111.1.0.0/24\"\r\n ],\r\n \"sourceIpGroups\": - [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup\"\r\n - \ ],\r\n \"destinationAddresses\": [\r\n \"12.36.22.14\"\r\n - \ ],\r\n \"destinationPorts\": [\r\n \"96\"\r\n - \ ]\r\n },\r\n {\r\n \"name\": - \"network-rule2\",\r\n \"protocols\": [\r\n \"UDP\",\r\n - \ \"TCP\"\r\n ],\r\n \"translatedFqdn\": - \"server2.internal.com\",\r\n \"translatedPort\": \"96\",\r\n - \ \"sourceAddresses\": [\r\n \"10.0.0.1\",\r\n - \ \"111.2.0.0/24\"\r\n ],\r\n \"sourceIpGroups\": - [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup\"\r\n - \ ],\r\n \"destinationAddresses\": [\r\n \"12.36.22.15\"\r\n - \ ],\r\n \"destinationPorts\": [\r\n \"97\"\r\n - \ ]\r\n }\r\n ]\r\n },\r\n \"type\": - \"Microsoft.Network/azureFirewalls/natRuleCollections\"\r\n }\r\n ]\r\n - \ }\r\n}" + string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1\"\ + ,\r\n \"etag\": \"W/\\\"1a120c72-2ae8-422b-a8ba-2c7c130d5639\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n\ + \ \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\ + \r\n },\r\n \"threatIntelMode\": \"Alert\",\r\n \"additionalProperties\"\ + : {\r\n \"Network.DNS.EnableProxy\": \"False\",\r\n \"Network.DNS.RequireProxyForNetworkRules\"\ + : \"True\",\r\n \"Network.DNS.Servers\": \"\"\r\n },\r\n \"ipConfigurations\"\ + : [],\r\n \"networkRuleCollections\": [\r\n {\r\n \"name\"\ + : \"rc1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1/networkRuleCollections/rc1\"\ + ,\r\n \"etag\": \"W/\\\"1a120c72-2ae8-422b-a8ba-2c7c130d5639\\\"\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ + ,\r\n \"priority\": 10000,\r\n \"action\": {\r\n \ + \ \"type\": \"Allow\"\r\n },\r\n \"rules\": [\r\n \ + \ {\r\n \"name\": \"network-rule1\",\r\n \ + \ \"protocols\": [\r\n \"UDP\",\r\n \"TCP\"\ + ,\r\n \"ICMP\"\r\n ],\r\n \"sourceAddresses\"\ + : [],\r\n \"destinationAddresses\": [],\r\n \"sourceIpGroups\"\ + : [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup\"\ + \r\n ],\r\n \"destinationIpGroups\": [\r\n \ + \ \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/destinationipgroup\"\ + \r\n ],\r\n \"destinationFqdns\": [],\r\n \ + \ \"destinationPorts\": [\r\n \"80\"\r\n \ + \ ]\r\n },\r\n {\r\n \"name\": \"network-rule2\"\ + ,\r\n \"protocols\": [\r\n \"UDP\",\r\n \ + \ \"TCP\"\r\n ],\r\n \"sourceAddresses\"\ + : [\r\n \"10.0.0.1\",\r\n \"111.2.0.0/24\"\r\ + \n ],\r\n \"destinationAddresses\": [],\r\n \ + \ \"sourceIpGroups\": [],\r\n \"destinationIpGroups\"\ + : [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/destinationipgroup\"\ + \r\n ],\r\n \"destinationFqdns\": [],\r\n \ + \ \"destinationPorts\": [\r\n \"81\"\r\n \ + \ ]\r\n }\r\n ]\r\n },\r\n \"type\": \"\ + Microsoft.Network/azureFirewalls/networkRuleCollections\"\r\n }\r\n \ + \ ],\r\n \"applicationRuleCollections\": [\r\n {\r\n \"name\"\ + : \"rc3\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1/applicationRuleCollections/rc3\"\ + ,\r\n \"etag\": \"W/\\\"1a120c72-2ae8-422b-a8ba-2c7c130d5639\\\"\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ + ,\r\n \"priority\": 10000,\r\n \"action\": {\r\n \ + \ \"type\": \"Allow\"\r\n },\r\n \"rules\": [\r\n \ + \ {\r\n \"name\": \"app-rule1\",\r\n \"\ + priority\": 0,\r\n \"direction\": \"Inbound\",\r\n \ + \ \"protocols\": [\r\n {\r\n \"protocolType\"\ + : \"Http\",\r\n \"port\": 80\r\n },\r\n \ + \ {\r\n \"protocolType\": \"Https\",\r\n \ + \ \"port\": 8080\r\n }\r\n ],\r\n\ + \ \"fqdnTags\": [],\r\n \"targetFqdns\": [\r\n \ + \ \"www.bing.com\"\r\n ],\r\n \"actions\"\ + : [],\r\n \"sourceAddresses\": [],\r\n \"sourceIpGroups\"\ + : [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup\"\ + \r\n ]\r\n }\r\n ]\r\n },\r\n \ + \ \"type\": \"Microsoft.Network/azureFirewalls/applicationRuleCollections\"\ + \r\n }\r\n ],\r\n \"natRuleCollections\": [\r\n {\r\n \ + \ \"name\": \"rc2\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1/natRuleCollections/rc2\"\ + ,\r\n \"etag\": \"W/\\\"1a120c72-2ae8-422b-a8ba-2c7c130d5639\\\"\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ + ,\r\n \"priority\": 10001,\r\n \"action\": {\r\n \ + \ \"type\": \"Dnat\"\r\n },\r\n \"rules\": [\r\n \ + \ {\r\n \"name\": \"network-rule1\",\r\n \ + \ \"protocols\": [\r\n \"UDP\",\r\n \"TCP\"\ + \r\n ],\r\n \"translatedFqdn\": \"server1.internal.com\"\ + ,\r\n \"translatedPort\": \"95\",\r\n \"sourceAddresses\"\ + : [],\r\n \"sourceIpGroups\": [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup\"\ + \r\n ],\r\n \"destinationAddresses\": [\r\n \ + \ \"12.36.22.14\"\r\n ],\r\n \"destinationPorts\"\ + : [\r\n \"96\"\r\n ]\r\n },\r\n \ + \ {\r\n \"name\": \"network-rule2\",\r\n \ + \ \"protocols\": [\r\n \"UDP\",\r\n \"TCP\"\ + \r\n ],\r\n \"translatedFqdn\": \"server2.internal.com\"\ + ,\r\n \"translatedPort\": \"96\",\r\n \"sourceAddresses\"\ + : [\r\n \"10.0.0.1\",\r\n \"111.2.0.0/24\"\r\ + \n ],\r\n \"sourceIpGroups\": [\r\n \ + \ \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup\"\ + \r\n ],\r\n \"destinationAddresses\": [\r\n \ + \ \"12.36.22.15\"\r\n ],\r\n \"destinationPorts\"\ + : [\r\n \"97\"\r\n ]\r\n }\r\n \ + \ ]\r\n },\r\n \"type\": \"Microsoft.Network/azureFirewalls/natRuleCollections\"\ + \r\n }\r\n ]\r\n }\r\n}" headers: cache-control: - no-cache content-length: - - '6592' + - '6807' content-type: - application/json; charset=utf-8 date: - - Fri, 06 Mar 2020 07:58:30 GMT + - Thu, 18 Jun 2020 04:44:56 GMT etag: - - W/"252f3aea-8349-4f68-ae76-1abcd0118090" + - W/"1a120c72-2ae8-422b-a8ba-2c7c130d5639" expires: - '-1' pragma: @@ -2503,7 +2608,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - da191488-0830-4865-bd29-5e10815d34d6 + - c1f37010-be8f-4eb3-8180-e7fab695c010 status: code: 200 message: OK @@ -2519,22 +2624,25 @@ interactions: ["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup"]}]}, "name": "rc3"}], "natRuleCollections": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1/natRuleCollections/rc2", "properties": {"priority": 10001, "action": {"type": "Dnat"}, "rules": [{"name": - "network-rule1", "sourceAddresses": ["10.0.0.0", "111.1.0.0/24"], "destinationAddresses": - ["12.36.22.14"], "destinationPorts": ["96"], "protocols": ["UDP", "TCP"], "translatedPort": - "95", "translatedFqdn": "server1.internal.com", "sourceIpGroups": ["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup"]}, + "network-rule1", "sourceAddresses": [], "destinationAddresses": ["12.36.22.14"], + "destinationPorts": ["96"], "protocols": ["UDP", "TCP"], "translatedPort": "95", + "translatedFqdn": "server1.internal.com", "sourceIpGroups": ["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup"]}, {"name": "network-rule2", "sourceAddresses": ["10.0.0.1", "111.2.0.0/24"], "destinationAddresses": ["12.36.22.15"], "destinationPorts": ["97"], "protocols": ["UDP", "TCP"], "translatedPort": "96", "translatedFqdn": "server2.internal.com", "sourceIpGroups": ["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup"]}]}, "name": "rc2"}], "networkRuleCollections": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1/networkRuleCollections/rc1", "properties": {"priority": 10000, "action": {"type": "Allow"}, "rules": [{"name": - "network-rule1", "protocols": ["UDP", "TCP", "ICMP"], "sourceAddresses": ["10.0.0.0", - "111.1.0.0/24"], "destinationAddresses": [], "destinationPorts": ["80"], "destinationFqdns": - [], "sourceIpGroups": [], "destinationIpGroups": ["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/destinationipgroup"]}, + "network-rule1", "protocols": ["UDP", "TCP", "ICMP"], "sourceAddresses": [], + "destinationAddresses": [], "destinationPorts": ["80"], "destinationFqdns": + [], "sourceIpGroups": ["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup"], + "destinationIpGroups": ["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/destinationipgroup"]}, {"name": "network-rule2", "protocols": ["UDP", "TCP"], "sourceAddresses": ["10.0.0.1", "111.2.0.0/24"], "destinationAddresses": [], "destinationPorts": ["81"], "destinationFqdns": [], "sourceIpGroups": [], "destinationIpGroups": ["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/destinationipgroup"]}]}, "name": "rc1"}], "ipConfigurations": [], "threatIntelMode": "Alert", "sku": - {"name": "AZFW_VNet", "tier": "Standard"}, "additionalProperties": {}}}''' + {"name": "AZFW_VNet", "tier": "Standard"}, "additionalProperties": {"Network.DNS.EnableProxy": + "False", "Network.DNS.RequireProxyForNetworkRules": "True", "Network.DNS.Servers": + ""}}}''' headers: Accept: - application/json @@ -2545,111 +2653,120 @@ interactions: Connection: - keep-alive Content-Length: - - '3972' + - '4227' Content-Type: - application/json; charset=utf-8 ParameterSetName: - -f -n --protocols -g -c --source-ip-groups --target-fqdns User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.1.0 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 response: body: - string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"2cd8996f-d831-4435-a7cb-e9f5ef605264\\\"\",\r\n \"type\": - \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Updating\",\r\n \"sku\": {\r\n \"name\": - \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\": - \"Alert\",\r\n \"additionalProperties\": {},\r\n \"ipConfigurations\": - [],\r\n \"networkRuleCollections\": [\r\n {\r\n \"name\": \"rc1\",\r\n - \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1/networkRuleCollections/rc1\",\r\n - \ \"etag\": \"W/\\\"2cd8996f-d831-4435-a7cb-e9f5ef605264\\\"\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n - \ \"priority\": 10000,\r\n \"action\": {\r\n \"type\": - \"Allow\"\r\n },\r\n \"rules\": [\r\n {\r\n \"name\": - \"network-rule1\",\r\n \"protocols\": [\r\n \"UDP\",\r\n - \ \"TCP\",\r\n \"ICMP\"\r\n ],\r\n - \ \"sourceAddresses\": [\r\n \"10.0.0.0\",\r\n - \ \"111.1.0.0/24\"\r\n ],\r\n \"destinationAddresses\": - [],\r\n \"sourceIpGroups\": [],\r\n \"destinationIpGroups\": - [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/destinationipgroup\"\r\n - \ ],\r\n \"destinationFqdns\": [],\r\n \"destinationPorts\": - [\r\n \"80\"\r\n ]\r\n },\r\n {\r\n - \ \"name\": \"network-rule2\",\r\n \"protocols\": - [\r\n \"UDP\",\r\n \"TCP\"\r\n ],\r\n - \ \"sourceAddresses\": [\r\n \"10.0.0.1\",\r\n - \ \"111.2.0.0/24\"\r\n ],\r\n \"destinationAddresses\": - [],\r\n \"sourceIpGroups\": [],\r\n \"destinationIpGroups\": - [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/destinationipgroup\"\r\n - \ ],\r\n \"destinationFqdns\": [],\r\n \"destinationPorts\": - [\r\n \"81\"\r\n ]\r\n }\r\n ]\r\n - \ },\r\n \"type\": \"Microsoft.Network/azureFirewalls/networkRuleCollections\"\r\n - \ }\r\n ],\r\n \"applicationRuleCollections\": [\r\n {\r\n - \ \"name\": \"rc3\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1/applicationRuleCollections/rc3\",\r\n - \ \"etag\": \"W/\\\"2cd8996f-d831-4435-a7cb-e9f5ef605264\\\"\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n - \ \"priority\": 10000,\r\n \"action\": {\r\n \"type\": - \"Allow\"\r\n },\r\n \"rules\": [\r\n {\r\n \"name\": - \"app-rule1\",\r\n \"priority\": 0,\r\n \"direction\": - \"Inbound\",\r\n \"protocols\": [\r\n {\r\n \"protocolType\": - \"Http\",\r\n \"port\": 80\r\n },\r\n {\r\n - \ \"protocolType\": \"Https\",\r\n \"port\": - 8080\r\n }\r\n ],\r\n \"fqdnTags\": - [],\r\n \"targetFqdns\": [\r\n \"www.bing.com\"\r\n - \ ],\r\n \"actions\": [],\r\n \"sourceAddresses\": - [],\r\n \"sourceIpGroups\": [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup\"\r\n - \ ]\r\n },\r\n {\r\n \"name\": - \"app-rule2\",\r\n \"priority\": 0,\r\n \"direction\": - \"Inbound\",\r\n \"protocols\": [\r\n {\r\n \"protocolType\": - \"Http\",\r\n \"port\": 80\r\n },\r\n {\r\n - \ \"protocolType\": \"Https\",\r\n \"port\": - 8080\r\n }\r\n ],\r\n \"fqdnTags\": - [],\r\n \"targetFqdns\": [\r\n \"www.microsoft.com\"\r\n - \ ],\r\n \"actions\": [],\r\n \"sourceAddresses\": - [],\r\n \"sourceIpGroups\": [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup\"\r\n - \ ]\r\n }\r\n ]\r\n },\r\n \"type\": - \"Microsoft.Network/azureFirewalls/applicationRuleCollections\"\r\n }\r\n - \ ],\r\n \"natRuleCollections\": [\r\n {\r\n \"name\": \"rc2\",\r\n - \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1/natRuleCollections/rc2\",\r\n - \ \"etag\": \"W/\\\"2cd8996f-d831-4435-a7cb-e9f5ef605264\\\"\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n - \ \"priority\": 10001,\r\n \"action\": {\r\n \"type\": - \"Dnat\"\r\n },\r\n \"rules\": [\r\n {\r\n \"name\": - \"network-rule1\",\r\n \"protocols\": [\r\n \"UDP\",\r\n - \ \"TCP\"\r\n ],\r\n \"translatedFqdn\": - \"server1.internal.com\",\r\n \"translatedPort\": \"95\",\r\n - \ \"sourceAddresses\": [\r\n \"10.0.0.0\",\r\n - \ \"111.1.0.0/24\"\r\n ],\r\n \"sourceIpGroups\": - [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup\"\r\n - \ ],\r\n \"destinationAddresses\": [\r\n \"12.36.22.14\"\r\n - \ ],\r\n \"destinationPorts\": [\r\n \"96\"\r\n - \ ]\r\n },\r\n {\r\n \"name\": - \"network-rule2\",\r\n \"protocols\": [\r\n \"UDP\",\r\n - \ \"TCP\"\r\n ],\r\n \"translatedFqdn\": - \"server2.internal.com\",\r\n \"translatedPort\": \"96\",\r\n - \ \"sourceAddresses\": [\r\n \"10.0.0.1\",\r\n - \ \"111.2.0.0/24\"\r\n ],\r\n \"sourceIpGroups\": - [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup\"\r\n - \ ],\r\n \"destinationAddresses\": [\r\n \"12.36.22.15\"\r\n - \ ],\r\n \"destinationPorts\": [\r\n \"97\"\r\n - \ ]\r\n }\r\n ]\r\n },\r\n \"type\": - \"Microsoft.Network/azureFirewalls/natRuleCollections\"\r\n }\r\n ]\r\n - \ }\r\n}" + string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1\"\ + ,\r\n \"etag\": \"W/\\\"d1997c6c-7c0d-47bd-b315-44454de5cc12\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \ + \ \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\ + \r\n },\r\n \"threatIntelMode\": \"Alert\",\r\n \"additionalProperties\"\ + : {\r\n \"Network.DNS.EnableProxy\": \"False\",\r\n \"Network.DNS.RequireProxyForNetworkRules\"\ + : \"True\",\r\n \"Network.DNS.Servers\": \"\"\r\n },\r\n \"ipConfigurations\"\ + : [],\r\n \"networkRuleCollections\": [\r\n {\r\n \"name\"\ + : \"rc1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1/networkRuleCollections/rc1\"\ + ,\r\n \"etag\": \"W/\\\"d1997c6c-7c0d-47bd-b315-44454de5cc12\\\"\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\"\ + ,\r\n \"priority\": 10000,\r\n \"action\": {\r\n \ + \ \"type\": \"Allow\"\r\n },\r\n \"rules\": [\r\n \ + \ {\r\n \"name\": \"network-rule1\",\r\n \ + \ \"protocols\": [\r\n \"UDP\",\r\n \"TCP\"\ + ,\r\n \"ICMP\"\r\n ],\r\n \"sourceAddresses\"\ + : [],\r\n \"destinationAddresses\": [],\r\n \"sourceIpGroups\"\ + : [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup\"\ + \r\n ],\r\n \"destinationIpGroups\": [\r\n \ + \ \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/destinationipgroup\"\ + \r\n ],\r\n \"destinationFqdns\": [],\r\n \ + \ \"destinationPorts\": [\r\n \"80\"\r\n \ + \ ]\r\n },\r\n {\r\n \"name\": \"network-rule2\"\ + ,\r\n \"protocols\": [\r\n \"UDP\",\r\n \ + \ \"TCP\"\r\n ],\r\n \"sourceAddresses\"\ + : [\r\n \"10.0.0.1\",\r\n \"111.2.0.0/24\"\r\ + \n ],\r\n \"destinationAddresses\": [],\r\n \ + \ \"sourceIpGroups\": [],\r\n \"destinationIpGroups\"\ + : [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/destinationipgroup\"\ + \r\n ],\r\n \"destinationFqdns\": [],\r\n \ + \ \"destinationPorts\": [\r\n \"81\"\r\n \ + \ ]\r\n }\r\n ]\r\n },\r\n \"type\": \"\ + Microsoft.Network/azureFirewalls/networkRuleCollections\"\r\n }\r\n \ + \ ],\r\n \"applicationRuleCollections\": [\r\n {\r\n \"name\"\ + : \"rc3\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1/applicationRuleCollections/rc3\"\ + ,\r\n \"etag\": \"W/\\\"d1997c6c-7c0d-47bd-b315-44454de5cc12\\\"\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\"\ + ,\r\n \"priority\": 10000,\r\n \"action\": {\r\n \ + \ \"type\": \"Allow\"\r\n },\r\n \"rules\": [\r\n \ + \ {\r\n \"name\": \"app-rule1\",\r\n \"\ + priority\": 0,\r\n \"direction\": \"Inbound\",\r\n \ + \ \"protocols\": [\r\n {\r\n \"protocolType\"\ + : \"Http\",\r\n \"port\": 80\r\n },\r\n \ + \ {\r\n \"protocolType\": \"Https\",\r\n \ + \ \"port\": 8080\r\n }\r\n ],\r\n\ + \ \"fqdnTags\": [],\r\n \"targetFqdns\": [\r\n \ + \ \"www.bing.com\"\r\n ],\r\n \"actions\"\ + : [],\r\n \"sourceAddresses\": [],\r\n \"sourceIpGroups\"\ + : [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup\"\ + \r\n ]\r\n },\r\n {\r\n \"\ + name\": \"app-rule2\",\r\n \"priority\": 0,\r\n \ + \ \"direction\": \"Inbound\",\r\n \"protocols\": [\r\n \ + \ {\r\n \"protocolType\": \"Http\",\r\n \ + \ \"port\": 80\r\n },\r\n {\r\n \ + \ \"protocolType\": \"Https\",\r\n \"port\"\ + : 8080\r\n }\r\n ],\r\n \"fqdnTags\"\ + : [],\r\n \"targetFqdns\": [\r\n \"www.microsoft.com\"\ + \r\n ],\r\n \"actions\": [],\r\n \"\ + sourceAddresses\": [],\r\n \"sourceIpGroups\": [\r\n \ + \ \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup\"\ + \r\n ]\r\n }\r\n ]\r\n },\r\n \ + \ \"type\": \"Microsoft.Network/azureFirewalls/applicationRuleCollections\"\ + \r\n }\r\n ],\r\n \"natRuleCollections\": [\r\n {\r\n \ + \ \"name\": \"rc2\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1/natRuleCollections/rc2\"\ + ,\r\n \"etag\": \"W/\\\"d1997c6c-7c0d-47bd-b315-44454de5cc12\\\"\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\"\ + ,\r\n \"priority\": 10001,\r\n \"action\": {\r\n \ + \ \"type\": \"Dnat\"\r\n },\r\n \"rules\": [\r\n \ + \ {\r\n \"name\": \"network-rule1\",\r\n \ + \ \"protocols\": [\r\n \"UDP\",\r\n \"TCP\"\ + \r\n ],\r\n \"translatedFqdn\": \"server1.internal.com\"\ + ,\r\n \"translatedPort\": \"95\",\r\n \"sourceAddresses\"\ + : [],\r\n \"sourceIpGroups\": [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup\"\ + \r\n ],\r\n \"destinationAddresses\": [\r\n \ + \ \"12.36.22.14\"\r\n ],\r\n \"destinationPorts\"\ + : [\r\n \"96\"\r\n ]\r\n },\r\n \ + \ {\r\n \"name\": \"network-rule2\",\r\n \ + \ \"protocols\": [\r\n \"UDP\",\r\n \"TCP\"\ + \r\n ],\r\n \"translatedFqdn\": \"server2.internal.com\"\ + ,\r\n \"translatedPort\": \"96\",\r\n \"sourceAddresses\"\ + : [\r\n \"10.0.0.1\",\r\n \"111.2.0.0/24\"\r\ + \n ],\r\n \"sourceIpGroups\": [\r\n \ + \ \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup\"\ + \r\n ],\r\n \"destinationAddresses\": [\r\n \ + \ \"12.36.22.15\"\r\n ],\r\n \"destinationPorts\"\ + : [\r\n \"97\"\r\n ]\r\n }\r\n \ + \ ]\r\n },\r\n \"type\": \"Microsoft.Network/azureFirewalls/natRuleCollections\"\ + \r\n }\r\n ]\r\n }\r\n}" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/c8781167-3615-4e29-a715-24ef2809538e?api-version=2019-11-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/aa330f16-f764-49c2-b02e-b8db83b13ef1?api-version=2019-11-01 cache-control: - no-cache content-length: - - '7449' + - '7664' content-type: - application/json; charset=utf-8 date: - - Fri, 06 Mar 2020 07:58:32 GMT + - Thu, 18 Jun 2020 04:44:57 GMT expires: - '-1' pragma: @@ -2666,9 +2783,9 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 6cd83e99-2bef-4634-b8ca-91f4156b262d + - 20fa506e-6e82-4be6-b8f3-68ef1d6d417e x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1196' status: code: 200 message: OK @@ -2686,10 +2803,10 @@ interactions: ParameterSetName: - -f -n --protocols -g -c --source-ip-groups --target-fqdns User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.1.0 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/c8781167-3615-4e29-a715-24ef2809538e?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/aa330f16-f764-49c2-b02e-b8db83b13ef1?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -2701,7 +2818,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 06 Mar 2020 07:58:46 GMT + - Thu, 18 Jun 2020 04:45:09 GMT expires: - '-1' pragma: @@ -2718,7 +2835,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 789ac8c5-a6cb-4cba-8dc1-9e34ddad0897 + - 8487fc5e-31dd-4eb0-8153-a0367dac5e61 status: code: 200 message: OK @@ -2736,103 +2853,112 @@ interactions: ParameterSetName: - -f -n --protocols -g -c --source-ip-groups --target-fqdns User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.1.0 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 response: body: - string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"39cda49b-1553-4000-b41b-1198dcae263b\\\"\",\r\n \"type\": - \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Succeeded\",\r\n \"sku\": {\r\n \"name\": - \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\": - \"Alert\",\r\n \"additionalProperties\": {},\r\n \"ipConfigurations\": - [],\r\n \"networkRuleCollections\": [\r\n {\r\n \"name\": \"rc1\",\r\n - \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1/networkRuleCollections/rc1\",\r\n - \ \"etag\": \"W/\\\"39cda49b-1553-4000-b41b-1198dcae263b\\\"\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"priority\": 10000,\r\n \"action\": {\r\n \"type\": - \"Allow\"\r\n },\r\n \"rules\": [\r\n {\r\n \"name\": - \"network-rule1\",\r\n \"protocols\": [\r\n \"UDP\",\r\n - \ \"TCP\",\r\n \"ICMP\"\r\n ],\r\n - \ \"sourceAddresses\": [\r\n \"10.0.0.0\",\r\n - \ \"111.1.0.0/24\"\r\n ],\r\n \"destinationAddresses\": - [],\r\n \"sourceIpGroups\": [],\r\n \"destinationIpGroups\": - [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/destinationipgroup\"\r\n - \ ],\r\n \"destinationFqdns\": [],\r\n \"destinationPorts\": - [\r\n \"80\"\r\n ]\r\n },\r\n {\r\n - \ \"name\": \"network-rule2\",\r\n \"protocols\": - [\r\n \"UDP\",\r\n \"TCP\"\r\n ],\r\n - \ \"sourceAddresses\": [\r\n \"10.0.0.1\",\r\n - \ \"111.2.0.0/24\"\r\n ],\r\n \"destinationAddresses\": - [],\r\n \"sourceIpGroups\": [],\r\n \"destinationIpGroups\": - [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/destinationipgroup\"\r\n - \ ],\r\n \"destinationFqdns\": [],\r\n \"destinationPorts\": - [\r\n \"81\"\r\n ]\r\n }\r\n ]\r\n - \ },\r\n \"type\": \"Microsoft.Network/azureFirewalls/networkRuleCollections\"\r\n - \ }\r\n ],\r\n \"applicationRuleCollections\": [\r\n {\r\n - \ \"name\": \"rc3\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1/applicationRuleCollections/rc3\",\r\n - \ \"etag\": \"W/\\\"39cda49b-1553-4000-b41b-1198dcae263b\\\"\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"priority\": 10000,\r\n \"action\": {\r\n \"type\": - \"Allow\"\r\n },\r\n \"rules\": [\r\n {\r\n \"name\": - \"app-rule1\",\r\n \"priority\": 0,\r\n \"direction\": - \"Inbound\",\r\n \"protocols\": [\r\n {\r\n \"protocolType\": - \"Http\",\r\n \"port\": 80\r\n },\r\n {\r\n - \ \"protocolType\": \"Https\",\r\n \"port\": - 8080\r\n }\r\n ],\r\n \"fqdnTags\": - [],\r\n \"targetFqdns\": [\r\n \"www.bing.com\"\r\n - \ ],\r\n \"actions\": [],\r\n \"sourceAddresses\": - [],\r\n \"sourceIpGroups\": [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup\"\r\n - \ ]\r\n },\r\n {\r\n \"name\": - \"app-rule2\",\r\n \"priority\": 0,\r\n \"direction\": - \"Inbound\",\r\n \"protocols\": [\r\n {\r\n \"protocolType\": - \"Http\",\r\n \"port\": 80\r\n },\r\n {\r\n - \ \"protocolType\": \"Https\",\r\n \"port\": - 8080\r\n }\r\n ],\r\n \"fqdnTags\": - [],\r\n \"targetFqdns\": [\r\n \"www.microsoft.com\"\r\n - \ ],\r\n \"actions\": [],\r\n \"sourceAddresses\": - [],\r\n \"sourceIpGroups\": [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup\"\r\n - \ ]\r\n }\r\n ]\r\n },\r\n \"type\": - \"Microsoft.Network/azureFirewalls/applicationRuleCollections\"\r\n }\r\n - \ ],\r\n \"natRuleCollections\": [\r\n {\r\n \"name\": \"rc2\",\r\n - \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1/natRuleCollections/rc2\",\r\n - \ \"etag\": \"W/\\\"39cda49b-1553-4000-b41b-1198dcae263b\\\"\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"priority\": 10001,\r\n \"action\": {\r\n \"type\": - \"Dnat\"\r\n },\r\n \"rules\": [\r\n {\r\n \"name\": - \"network-rule1\",\r\n \"protocols\": [\r\n \"UDP\",\r\n - \ \"TCP\"\r\n ],\r\n \"translatedFqdn\": - \"server1.internal.com\",\r\n \"translatedPort\": \"95\",\r\n - \ \"sourceAddresses\": [\r\n \"10.0.0.0\",\r\n - \ \"111.1.0.0/24\"\r\n ],\r\n \"sourceIpGroups\": - [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup\"\r\n - \ ],\r\n \"destinationAddresses\": [\r\n \"12.36.22.14\"\r\n - \ ],\r\n \"destinationPorts\": [\r\n \"96\"\r\n - \ ]\r\n },\r\n {\r\n \"name\": - \"network-rule2\",\r\n \"protocols\": [\r\n \"UDP\",\r\n - \ \"TCP\"\r\n ],\r\n \"translatedFqdn\": - \"server2.internal.com\",\r\n \"translatedPort\": \"96\",\r\n - \ \"sourceAddresses\": [\r\n \"10.0.0.1\",\r\n - \ \"111.2.0.0/24\"\r\n ],\r\n \"sourceIpGroups\": - [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup\"\r\n - \ ],\r\n \"destinationAddresses\": [\r\n \"12.36.22.15\"\r\n - \ ],\r\n \"destinationPorts\": [\r\n \"97\"\r\n - \ ]\r\n }\r\n ]\r\n },\r\n \"type\": - \"Microsoft.Network/azureFirewalls/natRuleCollections\"\r\n }\r\n ]\r\n - \ }\r\n}" + string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1\"\ + ,\r\n \"etag\": \"W/\\\"25ac2e03-9ca6-4ca2-b103-64785b8c0e92\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n\ + \ \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\ + \r\n },\r\n \"threatIntelMode\": \"Alert\",\r\n \"additionalProperties\"\ + : {\r\n \"Network.DNS.EnableProxy\": \"False\",\r\n \"Network.DNS.RequireProxyForNetworkRules\"\ + : \"True\",\r\n \"Network.DNS.Servers\": \"\"\r\n },\r\n \"ipConfigurations\"\ + : [],\r\n \"networkRuleCollections\": [\r\n {\r\n \"name\"\ + : \"rc1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1/networkRuleCollections/rc1\"\ + ,\r\n \"etag\": \"W/\\\"25ac2e03-9ca6-4ca2-b103-64785b8c0e92\\\"\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ + ,\r\n \"priority\": 10000,\r\n \"action\": {\r\n \ + \ \"type\": \"Allow\"\r\n },\r\n \"rules\": [\r\n \ + \ {\r\n \"name\": \"network-rule1\",\r\n \ + \ \"protocols\": [\r\n \"UDP\",\r\n \"TCP\"\ + ,\r\n \"ICMP\"\r\n ],\r\n \"sourceAddresses\"\ + : [],\r\n \"destinationAddresses\": [],\r\n \"sourceIpGroups\"\ + : [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup\"\ + \r\n ],\r\n \"destinationIpGroups\": [\r\n \ + \ \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/destinationipgroup\"\ + \r\n ],\r\n \"destinationFqdns\": [],\r\n \ + \ \"destinationPorts\": [\r\n \"80\"\r\n \ + \ ]\r\n },\r\n {\r\n \"name\": \"network-rule2\"\ + ,\r\n \"protocols\": [\r\n \"UDP\",\r\n \ + \ \"TCP\"\r\n ],\r\n \"sourceAddresses\"\ + : [\r\n \"10.0.0.1\",\r\n \"111.2.0.0/24\"\r\ + \n ],\r\n \"destinationAddresses\": [],\r\n \ + \ \"sourceIpGroups\": [],\r\n \"destinationIpGroups\"\ + : [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/destinationipgroup\"\ + \r\n ],\r\n \"destinationFqdns\": [],\r\n \ + \ \"destinationPorts\": [\r\n \"81\"\r\n \ + \ ]\r\n }\r\n ]\r\n },\r\n \"type\": \"\ + Microsoft.Network/azureFirewalls/networkRuleCollections\"\r\n }\r\n \ + \ ],\r\n \"applicationRuleCollections\": [\r\n {\r\n \"name\"\ + : \"rc3\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1/applicationRuleCollections/rc3\"\ + ,\r\n \"etag\": \"W/\\\"25ac2e03-9ca6-4ca2-b103-64785b8c0e92\\\"\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ + ,\r\n \"priority\": 10000,\r\n \"action\": {\r\n \ + \ \"type\": \"Allow\"\r\n },\r\n \"rules\": [\r\n \ + \ {\r\n \"name\": \"app-rule1\",\r\n \"\ + priority\": 0,\r\n \"direction\": \"Inbound\",\r\n \ + \ \"protocols\": [\r\n {\r\n \"protocolType\"\ + : \"Http\",\r\n \"port\": 80\r\n },\r\n \ + \ {\r\n \"protocolType\": \"Https\",\r\n \ + \ \"port\": 8080\r\n }\r\n ],\r\n\ + \ \"fqdnTags\": [],\r\n \"targetFqdns\": [\r\n \ + \ \"www.bing.com\"\r\n ],\r\n \"actions\"\ + : [],\r\n \"sourceAddresses\": [],\r\n \"sourceIpGroups\"\ + : [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup\"\ + \r\n ]\r\n },\r\n {\r\n \"\ + name\": \"app-rule2\",\r\n \"priority\": 0,\r\n \ + \ \"direction\": \"Inbound\",\r\n \"protocols\": [\r\n \ + \ {\r\n \"protocolType\": \"Http\",\r\n \ + \ \"port\": 80\r\n },\r\n {\r\n \ + \ \"protocolType\": \"Https\",\r\n \"port\"\ + : 8080\r\n }\r\n ],\r\n \"fqdnTags\"\ + : [],\r\n \"targetFqdns\": [\r\n \"www.microsoft.com\"\ + \r\n ],\r\n \"actions\": [],\r\n \"\ + sourceAddresses\": [],\r\n \"sourceIpGroups\": [\r\n \ + \ \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup\"\ + \r\n ]\r\n }\r\n ]\r\n },\r\n \ + \ \"type\": \"Microsoft.Network/azureFirewalls/applicationRuleCollections\"\ + \r\n }\r\n ],\r\n \"natRuleCollections\": [\r\n {\r\n \ + \ \"name\": \"rc2\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/azureFirewalls/af1/natRuleCollections/rc2\"\ + ,\r\n \"etag\": \"W/\\\"25ac2e03-9ca6-4ca2-b103-64785b8c0e92\\\"\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ + ,\r\n \"priority\": 10001,\r\n \"action\": {\r\n \ + \ \"type\": \"Dnat\"\r\n },\r\n \"rules\": [\r\n \ + \ {\r\n \"name\": \"network-rule1\",\r\n \ + \ \"protocols\": [\r\n \"UDP\",\r\n \"TCP\"\ + \r\n ],\r\n \"translatedFqdn\": \"server1.internal.com\"\ + ,\r\n \"translatedPort\": \"95\",\r\n \"sourceAddresses\"\ + : [],\r\n \"sourceIpGroups\": [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup\"\ + \r\n ],\r\n \"destinationAddresses\": [\r\n \ + \ \"12.36.22.14\"\r\n ],\r\n \"destinationPorts\"\ + : [\r\n \"96\"\r\n ]\r\n },\r\n \ + \ {\r\n \"name\": \"network-rule2\",\r\n \ + \ \"protocols\": [\r\n \"UDP\",\r\n \"TCP\"\ + \r\n ],\r\n \"translatedFqdn\": \"server2.internal.com\"\ + ,\r\n \"translatedPort\": \"96\",\r\n \"sourceAddresses\"\ + : [\r\n \"10.0.0.1\",\r\n \"111.2.0.0/24\"\r\ + \n ],\r\n \"sourceIpGroups\": [\r\n \ + \ \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_rules_with_ipgroups000001/providers/Microsoft.Network/ipGroups/sourceipgroup\"\ + \r\n ],\r\n \"destinationAddresses\": [\r\n \ + \ \"12.36.22.15\"\r\n ],\r\n \"destinationPorts\"\ + : [\r\n \"97\"\r\n ]\r\n }\r\n \ + \ ]\r\n },\r\n \"type\": \"Microsoft.Network/azureFirewalls/natRuleCollections\"\ + \r\n }\r\n ]\r\n }\r\n}" headers: cache-control: - no-cache content-length: - - '7453' + - '7668' content-type: - application/json; charset=utf-8 date: - - Fri, 06 Mar 2020 07:58:46 GMT + - Thu, 18 Jun 2020 04:45:09 GMT etag: - - W/"39cda49b-1553-4000-b41b-1198dcae263b" + - W/"25ac2e03-9ca6-4ca2-b103-64785b8c0e92" expires: - '-1' pragma: @@ -2849,7 +2975,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 0d862069-14f2-4905-a055-a063448833ed + - 69c3cacb-a55e-4ab7-9d58-73fc8b5933a8 status: code: 200 message: OK @@ -2869,8 +2995,8 @@ interactions: ParameterSetName: - -g -n User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.1.0 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: DELETE @@ -2882,17 +3008,17 @@ interactions: azure-asyncnotification: - Enabled azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/9f71c7b0-5daf-4388-a986-95e90b5b106d?api-version=2019-11-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/4ebbc8c4-269a-4e24-9a18-e131427a9591?api-version=2019-11-01 cache-control: - no-cache content-length: - '0' date: - - Fri, 06 Mar 2020 07:58:49 GMT + - Thu, 18 Jun 2020 04:45:10 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operationResults/9f71c7b0-5daf-4388-a986-95e90b5b106d?api-version=2019-11-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operationResults/4ebbc8c4-269a-4e24-9a18-e131427a9591?api-version=2019-11-01 pragma: - no-cache server: @@ -2903,9 +3029,9 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - a041fe08-32c6-445a-a737-8c5ad3638331 + - 13bcd282-88fd-42d2-8af8-ebd643a4073d x-ms-ratelimit-remaining-subscription-deletes: - - '14999' + - '14998' status: code: 202 message: Accepted @@ -2923,10 +3049,10 @@ interactions: ParameterSetName: - -g -n User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.1.0 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/9f71c7b0-5daf-4388-a986-95e90b5b106d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/4ebbc8c4-269a-4e24-9a18-e131427a9591?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -2938,7 +3064,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 06 Mar 2020 07:59:00 GMT + - Thu, 18 Jun 2020 04:45:21 GMT expires: - '-1' pragma: @@ -2955,7 +3081,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 8bf77baf-7cca-419d-82d3-8fcc4ffcfd50 + - f2ad4c97-9814-4d2c-8ef8-4b5d045f4637 status: code: 200 message: OK diff --git a/src/azure-firewall/azext_firewall/tests/latest/recordings/test_azure_firewall_threat_intel_whitelist.yaml b/src/azure-firewall/azext_firewall/tests/latest/recordings/test_azure_firewall_threat_intel_whitelist.yaml index 328e888942f..7007ccfe67f 100644 --- a/src/azure-firewall/azext_firewall/tests/latest/recordings/test_azure_firewall_threat_intel_whitelist.yaml +++ b/src/azure-firewall/azext_firewall/tests/latest/recordings/test_azure_firewall_threat_intel_whitelist.yaml @@ -13,15 +13,15 @@ interactions: ParameterSetName: - -g -n --private-ranges User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-resource/6.0.0 - Azure-SDK-For-Python AZURECLI/2.0.79 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_azure_firewall_threat_intel_whitelist000001?api-version=2019-07-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_threat_intel_whitelist000001","name":"cli_test_azure_firewall_threat_intel_whitelist000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2020-01-15T14:07:06Z"},"properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_threat_intel_whitelist000001","name":"cli_test_azure_firewall_threat_intel_whitelist000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2020-06-18T04:45:28Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -30,7 +30,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 15 Jan 2020 14:07:16 GMT + - Thu, 18 Jun 2020 04:45:31 GMT expires: - '-1' pragma: @@ -46,7 +46,8 @@ interactions: message: OK - request: body: '{"location": "westus", "properties": {"additionalProperties": {"Network.SNAT.PrivateRanges": - "10.0.0.0, 10.0.0.0/24, IANAPrivateRanges"}}}' + "10.0.0.0, 10.0.0.0/24, IANAPrivateRanges", "Network.DNS.EnableProxy": "False", + "Network.DNS.RequireProxyForNetworkRules": "True", "Network.DNS.Servers": ""}}}' headers: Accept: - application/json @@ -57,40 +58,44 @@ interactions: Connection: - keep-alive Content-Length: - - '138' + - '252' Content-Type: - application/json; charset=utf-8 ParameterSetName: - -g -n --private-ranges User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-network/9.0.0 - Azure-SDK-For-Python AZURECLI/2.0.79 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_threat_intel_whitelist000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 response: body: - string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_threat_intel_whitelist000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"d8a82705-f8b7-4399-96e0-b370e64704ca\\\"\",\r\n \"type\": - \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Updating\",\r\n \"sku\": {\r\n \"name\": - \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\": - \"Alert\",\r\n \"additionalProperties\": {\r\n \"Network.SNAT.PrivateRanges\": - \"10.0.0.0, 10.0.0.0/24, IANAPrivateRanges\"\r\n },\r\n \"ipConfigurations\": - [],\r\n \"networkRuleCollections\": [],\r\n \"applicationRuleCollections\": - [],\r\n \"natRuleCollections\": []\r\n }\r\n}" + string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_threat_intel_whitelist000001/providers/Microsoft.Network/azureFirewalls/af1\"\ + ,\r\n \"etag\": \"W/\\\"4d8d934f-08dc-4a83-a34c-e92e8327a2a2\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \ + \ \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\ + \r\n },\r\n \"threatIntelMode\": \"Alert\",\r\n \"additionalProperties\"\ + : {\r\n \"Network.SNAT.PrivateRanges\": \"10.0.0.0, 10.0.0.0/24, IANAPrivateRanges\"\ + ,\r\n \"Network.DNS.EnableProxy\": \"False\",\r\n \"Network.DNS.RequireProxyForNetworkRules\"\ + : \"True\",\r\n \"Network.DNS.Servers\": \"\"\r\n },\r\n \"ipConfigurations\"\ + : [],\r\n \"networkRuleCollections\": [],\r\n \"applicationRuleCollections\"\ + : [],\r\n \"natRuleCollections\": []\r\n }\r\n}" headers: + azure-asyncnotification: + - Enabled azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/fd486550-1d50-44bc-84fa-3d35488b5b90?api-version=2019-11-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8656ccc5-8968-48ff-a2ed-d87d04086eac?api-version=2019-11-01 cache-control: - no-cache content-length: - - '776' + - '911' content-type: - application/json; charset=utf-8 date: - - Wed, 15 Jan 2020 14:07:20 GMT + - Thu, 18 Jun 2020 04:45:36 GMT expires: - '-1' pragma: @@ -103,9 +108,9 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - fa74a39e-1c01-44dd-b47b-b1a4646eb400 + - 05dcacba-7c40-4974-a4fa-c658f2fadaaa x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1194' status: code: 201 message: Created @@ -123,10 +128,10 @@ interactions: ParameterSetName: - -g -n --private-ranges User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-network/9.0.0 - Azure-SDK-For-Python AZURECLI/2.0.79 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/fd486550-1d50-44bc-84fa-3d35488b5b90?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8656ccc5-8968-48ff-a2ed-d87d04086eac?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -138,7 +143,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 15 Jan 2020 14:07:31 GMT + - Thu, 18 Jun 2020 04:45:47 GMT expires: - '-1' pragma: @@ -155,7 +160,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - ed16bee8-d56b-4f69-a989-fa4cf9d66a25 + - 81f09ad1-ed7b-4492-80dd-b6f9c87b5db7 status: code: 200 message: OK @@ -173,32 +178,34 @@ interactions: ParameterSetName: - -g -n --private-ranges User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-network/9.0.0 - Azure-SDK-For-Python AZURECLI/2.0.79 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_threat_intel_whitelist000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 response: body: - string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_threat_intel_whitelist000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"6fb844c0-183b-4749-a91d-b355734bb883\\\"\",\r\n \"type\": - \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Succeeded\",\r\n \"sku\": {\r\n \"name\": - \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\": - \"Alert\",\r\n \"additionalProperties\": {\r\n \"Network.SNAT.PrivateRanges\": - \"10.0.0.0, 10.0.0.0/24, IANAPrivateRanges\"\r\n },\r\n \"ipConfigurations\": - [],\r\n \"networkRuleCollections\": [],\r\n \"applicationRuleCollections\": - [],\r\n \"natRuleCollections\": []\r\n }\r\n}" + string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_threat_intel_whitelist000001/providers/Microsoft.Network/azureFirewalls/af1\"\ + ,\r\n \"etag\": \"W/\\\"6aee84ea-1e98-449a-9803-4479f8ebc697\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n\ + \ \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\ + \r\n },\r\n \"threatIntelMode\": \"Alert\",\r\n \"additionalProperties\"\ + : {\r\n \"Network.SNAT.PrivateRanges\": \"10.0.0.0, 10.0.0.0/24, IANAPrivateRanges\"\ + ,\r\n \"Network.DNS.EnableProxy\": \"False\",\r\n \"Network.DNS.RequireProxyForNetworkRules\"\ + : \"True\",\r\n \"Network.DNS.Servers\": \"\"\r\n },\r\n \"ipConfigurations\"\ + : [],\r\n \"networkRuleCollections\": [],\r\n \"applicationRuleCollections\"\ + : [],\r\n \"natRuleCollections\": []\r\n }\r\n}" headers: cache-control: - no-cache content-length: - - '777' + - '912' content-type: - application/json; charset=utf-8 date: - - Wed, 15 Jan 2020 14:07:32 GMT + - Thu, 18 Jun 2020 04:45:47 GMT etag: - - W/"6fb844c0-183b-4749-a91d-b355734bb883" + - W/"6aee84ea-1e98-449a-9803-4479f8ebc697" expires: - '-1' pragma: @@ -215,7 +222,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 16ae7604-c1ca-4f64-aac2-115ef5b071e9 + - eb97ce5d-662f-4863-a409-1070178278a3 status: code: 200 message: OK @@ -233,34 +240,36 @@ interactions: ParameterSetName: - -g -n --ip-addresses --fqdns User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-network/9.0.0 - Azure-SDK-For-Python AZURECLI/2.0.79 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_threat_intel_whitelist000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 response: body: - string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_threat_intel_whitelist000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"6fb844c0-183b-4749-a91d-b355734bb883\\\"\",\r\n \"type\": - \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Succeeded\",\r\n \"sku\": {\r\n \"name\": - \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\": - \"Alert\",\r\n \"additionalProperties\": {\r\n \"Network.SNAT.PrivateRanges\": - \"10.0.0.0, 10.0.0.0/24, IANAPrivateRanges\"\r\n },\r\n \"ipConfigurations\": - [],\r\n \"networkRuleCollections\": [],\r\n \"applicationRuleCollections\": - [],\r\n \"natRuleCollections\": []\r\n }\r\n}" + string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_threat_intel_whitelist000001/providers/Microsoft.Network/azureFirewalls/af1\"\ + ,\r\n \"etag\": \"W/\\\"6aee84ea-1e98-449a-9803-4479f8ebc697\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n\ + \ \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\ + \r\n },\r\n \"threatIntelMode\": \"Alert\",\r\n \"additionalProperties\"\ + : {\r\n \"Network.SNAT.PrivateRanges\": \"10.0.0.0, 10.0.0.0/24, IANAPrivateRanges\"\ + ,\r\n \"Network.DNS.EnableProxy\": \"False\",\r\n \"Network.DNS.RequireProxyForNetworkRules\"\ + : \"True\",\r\n \"Network.DNS.Servers\": \"\"\r\n },\r\n \"ipConfigurations\"\ + : [],\r\n \"networkRuleCollections\": [],\r\n \"applicationRuleCollections\"\ + : [],\r\n \"natRuleCollections\": []\r\n }\r\n}" headers: cache-control: - no-cache content-length: - - '777' + - '912' content-type: - application/json; charset=utf-8 date: - - Wed, 15 Jan 2020 14:07:33 GMT + - Thu, 18 Jun 2020 04:45:49 GMT etag: - - W/"6fb844c0-183b-4749-a91d-b355734bb883" + - W/"6aee84ea-1e98-449a-9803-4479f8ebc697" expires: - '-1' pragma: @@ -277,7 +286,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 789259b0-401b-4105-aa1c-d1ce37d983ec + - f838cb3a-16d9-49da-842b-3fde4689f40d status: code: 200 message: OK @@ -286,9 +295,10 @@ interactions: "location": "westus", "properties": {"applicationRuleCollections": [], "natRuleCollections": [], "networkRuleCollections": [], "ipConfigurations": [], "threatIntelMode": "Alert", "sku": {"name": "AZFW_VNet", "tier": "Standard"}, "additionalProperties": - {"Network.SNAT.PrivateRanges": "10.0.0.0, 10.0.0.0/24, IANAPrivateRanges", "ThreatIntel.Whitelist.IpAddresses": - "10.0.0.0, 10.0.0.1", "ThreatIntel.Whitelist.FQDNs": "www.bing.com, *.microsoft.com, - *google.com"}}}''' + {"Network.SNAT.PrivateRanges": "10.0.0.0, 10.0.0.0/24, IANAPrivateRanges", "Network.DNS.EnableProxy": + "False", "Network.DNS.RequireProxyForNetworkRules": "True", "Network.DNS.Servers": + "", "ThreatIntel.Whitelist.IpAddresses": "10.0.0.0, 10.0.0.1", "ThreatIntel.Whitelist.FQDNs": + "www.bing.com, *.microsoft.com, *google.com"}}}''' headers: Accept: - application/json @@ -299,42 +309,44 @@ interactions: Connection: - keep-alive Content-Length: - - '665' + - '779' Content-Type: - application/json; charset=utf-8 ParameterSetName: - -g -n --ip-addresses --fqdns User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-network/9.0.0 - Azure-SDK-For-Python AZURECLI/2.0.79 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_threat_intel_whitelist000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 response: body: - string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_threat_intel_whitelist000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"02c01cb7-8171-425e-ba67-251a6d8313a9\\\"\",\r\n \"type\": - \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Updating\",\r\n \"sku\": {\r\n \"name\": - \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\": - \"Alert\",\r\n \"additionalProperties\": {\r\n \"Network.SNAT.PrivateRanges\": - \"10.0.0.0, 10.0.0.0/24, IANAPrivateRanges\",\r\n \"ThreatIntel.Whitelist.IpAddresses\": - \"10.0.0.0, 10.0.0.1\",\r\n \"ThreatIntel.Whitelist.FQDNs\": \"www.bing.com, - *.microsoft.com, *google.com\"\r\n },\r\n \"ipConfigurations\": [],\r\n - \ \"networkRuleCollections\": [],\r\n \"applicationRuleCollections\": - [],\r\n \"natRuleCollections\": []\r\n }\r\n}" + string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_threat_intel_whitelist000001/providers/Microsoft.Network/azureFirewalls/af1\"\ + ,\r\n \"etag\": \"W/\\\"a7c75527-272c-4bb6-b2e6-edccb543541b\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \ + \ \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\ + \r\n },\r\n \"threatIntelMode\": \"Alert\",\r\n \"additionalProperties\"\ + : {\r\n \"Network.SNAT.PrivateRanges\": \"10.0.0.0, 10.0.0.0/24, IANAPrivateRanges\"\ + ,\r\n \"Network.DNS.EnableProxy\": \"False\",\r\n \"Network.DNS.RequireProxyForNetworkRules\"\ + : \"True\",\r\n \"Network.DNS.Servers\": \"\",\r\n \"ThreatIntel.Whitelist.IpAddresses\"\ + : \"10.0.0.0, 10.0.0.1\",\r\n \"ThreatIntel.Whitelist.FQDNs\": \"www.bing.com,\ + \ *.microsoft.com, *google.com\"\r\n },\r\n \"ipConfigurations\": [],\r\ + \n \"networkRuleCollections\": [],\r\n \"applicationRuleCollections\"\ + : [],\r\n \"natRuleCollections\": []\r\n }\r\n}" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/451bba93-c7a5-44c7-a3eb-0e769795ae34?api-version=2019-11-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/9ef49a14-135c-42d6-8b72-a37eb0bdf6f7?api-version=2019-11-01 cache-control: - no-cache content-length: - - '926' + - '1061' content-type: - application/json; charset=utf-8 date: - - Wed, 15 Jan 2020 14:07:34 GMT + - Thu, 18 Jun 2020 04:45:49 GMT expires: - '-1' pragma: @@ -351,9 +363,9 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 5b81ea33-4790-4a27-9e2d-7deca8a1db1d + - e8f3ac52-4dc7-49b2-a8bd-36313386d8b6 x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1196' status: code: 200 message: OK @@ -371,10 +383,10 @@ interactions: ParameterSetName: - -g -n --ip-addresses --fqdns User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-network/9.0.0 - Azure-SDK-For-Python AZURECLI/2.0.79 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/451bba93-c7a5-44c7-a3eb-0e769795ae34?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/9ef49a14-135c-42d6-8b72-a37eb0bdf6f7?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -386,7 +398,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 15 Jan 2020 14:07:45 GMT + - Thu, 18 Jun 2020 04:46:00 GMT expires: - '-1' pragma: @@ -403,7 +415,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - cf0435b9-c8b8-4b36-8db2-7bf4a93bf4b1 + - a0643975-8b13-4c22-a0f4-e4cd4fc1b7fa status: code: 200 message: OK @@ -421,34 +433,36 @@ interactions: ParameterSetName: - -g -n --ip-addresses --fqdns User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-network/9.0.0 - Azure-SDK-For-Python AZURECLI/2.0.79 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_threat_intel_whitelist000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 response: body: - string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_threat_intel_whitelist000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"bd1254cf-dcf0-45f7-be6c-d9137229f0ac\\\"\",\r\n \"type\": - \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Succeeded\",\r\n \"sku\": {\r\n \"name\": - \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\": - \"Alert\",\r\n \"additionalProperties\": {\r\n \"Network.SNAT.PrivateRanges\": - \"10.0.0.0, 10.0.0.0/24, IANAPrivateRanges\",\r\n \"ThreatIntel.Whitelist.IpAddresses\": - \"10.0.0.0, 10.0.0.1\",\r\n \"ThreatIntel.Whitelist.FQDNs\": \"www.bing.com, - *.microsoft.com, *google.com\"\r\n },\r\n \"ipConfigurations\": [],\r\n - \ \"networkRuleCollections\": [],\r\n \"applicationRuleCollections\": - [],\r\n \"natRuleCollections\": []\r\n }\r\n}" + string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_threat_intel_whitelist000001/providers/Microsoft.Network/azureFirewalls/af1\"\ + ,\r\n \"etag\": \"W/\\\"4a12beaa-7884-4d44-8400-3b84a3bfb83a\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n\ + \ \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\ + \r\n },\r\n \"threatIntelMode\": \"Alert\",\r\n \"additionalProperties\"\ + : {\r\n \"Network.SNAT.PrivateRanges\": \"10.0.0.0, 10.0.0.0/24, IANAPrivateRanges\"\ + ,\r\n \"Network.DNS.EnableProxy\": \"False\",\r\n \"Network.DNS.RequireProxyForNetworkRules\"\ + : \"True\",\r\n \"Network.DNS.Servers\": \"\",\r\n \"ThreatIntel.Whitelist.IpAddresses\"\ + : \"10.0.0.0, 10.0.0.1\",\r\n \"ThreatIntel.Whitelist.FQDNs\": \"www.bing.com,\ + \ *.microsoft.com, *google.com\"\r\n },\r\n \"ipConfigurations\": [],\r\ + \n \"networkRuleCollections\": [],\r\n \"applicationRuleCollections\"\ + : [],\r\n \"natRuleCollections\": []\r\n }\r\n}" headers: cache-control: - no-cache content-length: - - '927' + - '1062' content-type: - application/json; charset=utf-8 date: - - Wed, 15 Jan 2020 14:07:46 GMT + - Thu, 18 Jun 2020 04:46:01 GMT etag: - - W/"bd1254cf-dcf0-45f7-be6c-d9137229f0ac" + - W/"4a12beaa-7884-4d44-8400-3b84a3bfb83a" expires: - '-1' pragma: @@ -465,7 +479,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - a61c1b18-ff1a-43bc-aa5f-1a977ab4cc26 + - c1d84473-43b8-473f-9a30-b1e2b7f29cab status: code: 200 message: OK @@ -483,36 +497,38 @@ interactions: ParameterSetName: - -g -n User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-network/9.0.0 - Azure-SDK-For-Python AZURECLI/2.0.79 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_threat_intel_whitelist000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 response: body: - string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_threat_intel_whitelist000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"bd1254cf-dcf0-45f7-be6c-d9137229f0ac\\\"\",\r\n \"type\": - \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Succeeded\",\r\n \"sku\": {\r\n \"name\": - \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\": - \"Alert\",\r\n \"additionalProperties\": {\r\n \"Network.SNAT.PrivateRanges\": - \"10.0.0.0, 10.0.0.0/24, IANAPrivateRanges\",\r\n \"ThreatIntel.Whitelist.IpAddresses\": - \"10.0.0.0, 10.0.0.1\",\r\n \"ThreatIntel.Whitelist.FQDNs\": \"www.bing.com, - *.microsoft.com, *google.com\"\r\n },\r\n \"ipConfigurations\": [],\r\n - \ \"networkRuleCollections\": [],\r\n \"applicationRuleCollections\": - [],\r\n \"natRuleCollections\": []\r\n }\r\n}" + string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_threat_intel_whitelist000001/providers/Microsoft.Network/azureFirewalls/af1\"\ + ,\r\n \"etag\": \"W/\\\"4a12beaa-7884-4d44-8400-3b84a3bfb83a\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n\ + \ \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\ + \r\n },\r\n \"threatIntelMode\": \"Alert\",\r\n \"additionalProperties\"\ + : {\r\n \"Network.SNAT.PrivateRanges\": \"10.0.0.0, 10.0.0.0/24, IANAPrivateRanges\"\ + ,\r\n \"Network.DNS.EnableProxy\": \"False\",\r\n \"Network.DNS.RequireProxyForNetworkRules\"\ + : \"True\",\r\n \"Network.DNS.Servers\": \"\",\r\n \"ThreatIntel.Whitelist.IpAddresses\"\ + : \"10.0.0.0, 10.0.0.1\",\r\n \"ThreatIntel.Whitelist.FQDNs\": \"www.bing.com,\ + \ *.microsoft.com, *google.com\"\r\n },\r\n \"ipConfigurations\": [],\r\ + \n \"networkRuleCollections\": [],\r\n \"applicationRuleCollections\"\ + : [],\r\n \"natRuleCollections\": []\r\n }\r\n}" headers: cache-control: - no-cache content-length: - - '927' + - '1062' content-type: - application/json; charset=utf-8 date: - - Wed, 15 Jan 2020 14:07:48 GMT + - Thu, 18 Jun 2020 04:46:02 GMT etag: - - W/"bd1254cf-dcf0-45f7-be6c-d9137229f0ac" + - W/"4a12beaa-7884-4d44-8400-3b84a3bfb83a" expires: - '-1' pragma: @@ -529,7 +545,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 7bdeb37f-153d-4ecd-912d-58d7ffb7f722 + - 31a01a7c-4e0b-44ef-8d3e-ebbe9bf04c25 status: code: 200 message: OK @@ -547,36 +563,38 @@ interactions: ParameterSetName: - -g -n --ip-addresses --fqdns User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-network/9.0.0 - Azure-SDK-For-Python AZURECLI/2.0.79 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_threat_intel_whitelist000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 response: body: - string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_threat_intel_whitelist000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"bd1254cf-dcf0-45f7-be6c-d9137229f0ac\\\"\",\r\n \"type\": - \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Succeeded\",\r\n \"sku\": {\r\n \"name\": - \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\": - \"Alert\",\r\n \"additionalProperties\": {\r\n \"Network.SNAT.PrivateRanges\": - \"10.0.0.0, 10.0.0.0/24, IANAPrivateRanges\",\r\n \"ThreatIntel.Whitelist.IpAddresses\": - \"10.0.0.0, 10.0.0.1\",\r\n \"ThreatIntel.Whitelist.FQDNs\": \"www.bing.com, - *.microsoft.com, *google.com\"\r\n },\r\n \"ipConfigurations\": [],\r\n - \ \"networkRuleCollections\": [],\r\n \"applicationRuleCollections\": - [],\r\n \"natRuleCollections\": []\r\n }\r\n}" + string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_threat_intel_whitelist000001/providers/Microsoft.Network/azureFirewalls/af1\"\ + ,\r\n \"etag\": \"W/\\\"4a12beaa-7884-4d44-8400-3b84a3bfb83a\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n\ + \ \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\ + \r\n },\r\n \"threatIntelMode\": \"Alert\",\r\n \"additionalProperties\"\ + : {\r\n \"Network.SNAT.PrivateRanges\": \"10.0.0.0, 10.0.0.0/24, IANAPrivateRanges\"\ + ,\r\n \"Network.DNS.EnableProxy\": \"False\",\r\n \"Network.DNS.RequireProxyForNetworkRules\"\ + : \"True\",\r\n \"Network.DNS.Servers\": \"\",\r\n \"ThreatIntel.Whitelist.IpAddresses\"\ + : \"10.0.0.0, 10.0.0.1\",\r\n \"ThreatIntel.Whitelist.FQDNs\": \"www.bing.com,\ + \ *.microsoft.com, *google.com\"\r\n },\r\n \"ipConfigurations\": [],\r\ + \n \"networkRuleCollections\": [],\r\n \"applicationRuleCollections\"\ + : [],\r\n \"natRuleCollections\": []\r\n }\r\n}" headers: cache-control: - no-cache content-length: - - '927' + - '1062' content-type: - application/json; charset=utf-8 date: - - Wed, 15 Jan 2020 14:07:48 GMT + - Thu, 18 Jun 2020 04:46:03 GMT etag: - - W/"bd1254cf-dcf0-45f7-be6c-d9137229f0ac" + - W/"4a12beaa-7884-4d44-8400-3b84a3bfb83a" expires: - '-1' pragma: @@ -593,7 +611,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 907c0391-5d44-4eeb-9526-b7a881bc786d + - 695e21e9-0ec8-4606-975e-7cb5ed0b585d status: code: 200 message: OK @@ -602,9 +620,10 @@ interactions: "location": "westus", "properties": {"applicationRuleCollections": [], "natRuleCollections": [], "networkRuleCollections": [], "ipConfigurations": [], "threatIntelMode": "Alert", "sku": {"name": "AZFW_VNet", "tier": "Standard"}, "additionalProperties": - {"Network.SNAT.PrivateRanges": "10.0.0.0, 10.0.0.0/24, IANAPrivateRanges", "ThreatIntel.Whitelist.IpAddresses": - "10.0.0.1, 10.0.0.0", "ThreatIntel.Whitelist.FQDNs": "*google.com, www.bing.com, - *.microsoft.com"}}}''' + {"Network.SNAT.PrivateRanges": "10.0.0.0, 10.0.0.0/24, IANAPrivateRanges", "Network.DNS.EnableProxy": + "False", "Network.DNS.RequireProxyForNetworkRules": "True", "Network.DNS.Servers": + "", "ThreatIntel.Whitelist.IpAddresses": "10.0.0.1, 10.0.0.0", "ThreatIntel.Whitelist.FQDNs": + "*google.com, www.bing.com, *.microsoft.com"}}}''' headers: Accept: - application/json @@ -615,42 +634,44 @@ interactions: Connection: - keep-alive Content-Length: - - '665' + - '779' Content-Type: - application/json; charset=utf-8 ParameterSetName: - -g -n --ip-addresses --fqdns User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-network/9.0.0 - Azure-SDK-For-Python AZURECLI/2.0.79 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_threat_intel_whitelist000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 response: body: - string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_threat_intel_whitelist000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"359e71f6-d92e-4a16-82be-3a2096309dcb\\\"\",\r\n \"type\": - \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Updating\",\r\n \"sku\": {\r\n \"name\": - \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\": - \"Alert\",\r\n \"additionalProperties\": {\r\n \"Network.SNAT.PrivateRanges\": - \"10.0.0.0, 10.0.0.0/24, IANAPrivateRanges\",\r\n \"ThreatIntel.Whitelist.IpAddresses\": - \"10.0.0.1, 10.0.0.0\",\r\n \"ThreatIntel.Whitelist.FQDNs\": \"*google.com, - www.bing.com, *.microsoft.com\"\r\n },\r\n \"ipConfigurations\": [],\r\n - \ \"networkRuleCollections\": [],\r\n \"applicationRuleCollections\": - [],\r\n \"natRuleCollections\": []\r\n }\r\n}" + string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_threat_intel_whitelist000001/providers/Microsoft.Network/azureFirewalls/af1\"\ + ,\r\n \"etag\": \"W/\\\"e0d3fae1-921a-4ae0-9036-a46a3667001f\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \ + \ \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\ + \r\n },\r\n \"threatIntelMode\": \"Alert\",\r\n \"additionalProperties\"\ + : {\r\n \"Network.SNAT.PrivateRanges\": \"10.0.0.0, 10.0.0.0/24, IANAPrivateRanges\"\ + ,\r\n \"Network.DNS.EnableProxy\": \"False\",\r\n \"Network.DNS.RequireProxyForNetworkRules\"\ + : \"True\",\r\n \"Network.DNS.Servers\": \"\",\r\n \"ThreatIntel.Whitelist.IpAddresses\"\ + : \"10.0.0.1, 10.0.0.0\",\r\n \"ThreatIntel.Whitelist.FQDNs\": \"*google.com,\ + \ www.bing.com, *.microsoft.com\"\r\n },\r\n \"ipConfigurations\": [],\r\ + \n \"networkRuleCollections\": [],\r\n \"applicationRuleCollections\"\ + : [],\r\n \"natRuleCollections\": []\r\n }\r\n}" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/58b0280d-1c88-4d82-8c05-1e2b04fdf935?api-version=2019-11-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/ee6e73e1-906d-4045-b753-7534ec058f3f?api-version=2019-11-01 cache-control: - no-cache content-length: - - '926' + - '1061' content-type: - application/json; charset=utf-8 date: - - Wed, 15 Jan 2020 14:07:49 GMT + - Thu, 18 Jun 2020 04:46:04 GMT expires: - '-1' pragma: @@ -667,9 +688,9 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - e8233c86-a454-4247-a7ab-ba151e32f8f1 + - 0ee7083d-671a-43bd-9b68-e158c64e78e9 x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1196' status: code: 200 message: OK @@ -687,10 +708,10 @@ interactions: ParameterSetName: - -g -n --ip-addresses --fqdns User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-network/9.0.0 - Azure-SDK-For-Python AZURECLI/2.0.79 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/58b0280d-1c88-4d82-8c05-1e2b04fdf935?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/ee6e73e1-906d-4045-b753-7534ec058f3f?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -702,7 +723,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 15 Jan 2020 14:08:00 GMT + - Thu, 18 Jun 2020 04:46:16 GMT expires: - '-1' pragma: @@ -719,7 +740,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 352a95de-61e8-4d61-83e7-9bffefc78973 + - 5f54b86d-3f51-4ee0-88dd-2678f2a21da9 status: code: 200 message: OK @@ -737,34 +758,36 @@ interactions: ParameterSetName: - -g -n --ip-addresses --fqdns User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-network/9.0.0 - Azure-SDK-For-Python AZURECLI/2.0.79 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_threat_intel_whitelist000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 response: body: - string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_threat_intel_whitelist000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"d894cb53-0035-4b62-b9f4-c6964d7b20fb\\\"\",\r\n \"type\": - \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Succeeded\",\r\n \"sku\": {\r\n \"name\": - \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\": - \"Alert\",\r\n \"additionalProperties\": {\r\n \"Network.SNAT.PrivateRanges\": - \"10.0.0.0, 10.0.0.0/24, IANAPrivateRanges\",\r\n \"ThreatIntel.Whitelist.IpAddresses\": - \"10.0.0.1, 10.0.0.0\",\r\n \"ThreatIntel.Whitelist.FQDNs\": \"*google.com, - www.bing.com, *.microsoft.com\"\r\n },\r\n \"ipConfigurations\": [],\r\n - \ \"networkRuleCollections\": [],\r\n \"applicationRuleCollections\": - [],\r\n \"natRuleCollections\": []\r\n }\r\n}" + string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_threat_intel_whitelist000001/providers/Microsoft.Network/azureFirewalls/af1\"\ + ,\r\n \"etag\": \"W/\\\"02ab74a9-2888-47d5-a15a-a36cd9113278\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n\ + \ \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\ + \r\n },\r\n \"threatIntelMode\": \"Alert\",\r\n \"additionalProperties\"\ + : {\r\n \"Network.SNAT.PrivateRanges\": \"10.0.0.0, 10.0.0.0/24, IANAPrivateRanges\"\ + ,\r\n \"Network.DNS.EnableProxy\": \"False\",\r\n \"Network.DNS.RequireProxyForNetworkRules\"\ + : \"True\",\r\n \"Network.DNS.Servers\": \"\",\r\n \"ThreatIntel.Whitelist.IpAddresses\"\ + : \"10.0.0.1, 10.0.0.0\",\r\n \"ThreatIntel.Whitelist.FQDNs\": \"*google.com,\ + \ www.bing.com, *.microsoft.com\"\r\n },\r\n \"ipConfigurations\": [],\r\ + \n \"networkRuleCollections\": [],\r\n \"applicationRuleCollections\"\ + : [],\r\n \"natRuleCollections\": []\r\n }\r\n}" headers: cache-control: - no-cache content-length: - - '927' + - '1062' content-type: - application/json; charset=utf-8 date: - - Wed, 15 Jan 2020 14:08:01 GMT + - Thu, 18 Jun 2020 04:46:16 GMT etag: - - W/"d894cb53-0035-4b62-b9f4-c6964d7b20fb" + - W/"02ab74a9-2888-47d5-a15a-a36cd9113278" expires: - '-1' pragma: @@ -781,7 +804,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - a804aa70-baab-4610-8eb0-7d71284ceebc + - 05b6f83c-3777-49e2-9c1c-f3568bd7008f status: code: 200 message: OK @@ -799,36 +822,38 @@ interactions: ParameterSetName: - -g -n --private-ranges User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-network/9.0.0 - Azure-SDK-For-Python AZURECLI/2.0.79 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_threat_intel_whitelist000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 response: body: - string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_threat_intel_whitelist000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"d894cb53-0035-4b62-b9f4-c6964d7b20fb\\\"\",\r\n \"type\": - \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Succeeded\",\r\n \"sku\": {\r\n \"name\": - \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\": - \"Alert\",\r\n \"additionalProperties\": {\r\n \"Network.SNAT.PrivateRanges\": - \"10.0.0.0, 10.0.0.0/24, IANAPrivateRanges\",\r\n \"ThreatIntel.Whitelist.IpAddresses\": - \"10.0.0.1, 10.0.0.0\",\r\n \"ThreatIntel.Whitelist.FQDNs\": \"*google.com, - www.bing.com, *.microsoft.com\"\r\n },\r\n \"ipConfigurations\": [],\r\n - \ \"networkRuleCollections\": [],\r\n \"applicationRuleCollections\": - [],\r\n \"natRuleCollections\": []\r\n }\r\n}" + string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_threat_intel_whitelist000001/providers/Microsoft.Network/azureFirewalls/af1\"\ + ,\r\n \"etag\": \"W/\\\"02ab74a9-2888-47d5-a15a-a36cd9113278\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n\ + \ \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\ + \r\n },\r\n \"threatIntelMode\": \"Alert\",\r\n \"additionalProperties\"\ + : {\r\n \"Network.SNAT.PrivateRanges\": \"10.0.0.0, 10.0.0.0/24, IANAPrivateRanges\"\ + ,\r\n \"Network.DNS.EnableProxy\": \"False\",\r\n \"Network.DNS.RequireProxyForNetworkRules\"\ + : \"True\",\r\n \"Network.DNS.Servers\": \"\",\r\n \"ThreatIntel.Whitelist.IpAddresses\"\ + : \"10.0.0.1, 10.0.0.0\",\r\n \"ThreatIntel.Whitelist.FQDNs\": \"*google.com,\ + \ www.bing.com, *.microsoft.com\"\r\n },\r\n \"ipConfigurations\": [],\r\ + \n \"networkRuleCollections\": [],\r\n \"applicationRuleCollections\"\ + : [],\r\n \"natRuleCollections\": []\r\n }\r\n}" headers: cache-control: - no-cache content-length: - - '927' + - '1062' content-type: - application/json; charset=utf-8 date: - - Wed, 15 Jan 2020 14:08:02 GMT + - Thu, 18 Jun 2020 04:46:17 GMT etag: - - W/"d894cb53-0035-4b62-b9f4-c6964d7b20fb" + - W/"02ab74a9-2888-47d5-a15a-a36cd9113278" expires: - '-1' pragma: @@ -845,7 +870,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 6aaa2b59-d4e7-42dc-90bc-855334239a6e + - acfff67b-4cde-43d3-8297-4befb2408ef6 status: code: 200 message: OK @@ -854,9 +879,10 @@ interactions: "location": "westus", "properties": {"applicationRuleCollections": [], "natRuleCollections": [], "networkRuleCollections": [], "ipConfigurations": [], "threatIntelMode": "Alert", "sku": {"name": "AZFW_VNet", "tier": "Standard"}, "additionalProperties": - {"Network.SNAT.PrivateRanges": "IANAPrivateRanges, 10.0.0.1, 10.0.0.0/16", "ThreatIntel.Whitelist.IpAddresses": - "10.0.0.1, 10.0.0.0", "ThreatIntel.Whitelist.FQDNs": "*google.com, www.bing.com, - *.microsoft.com"}}}''' + {"Network.SNAT.PrivateRanges": "IANAPrivateRanges, 10.0.0.1, 10.0.0.0/16", "Network.DNS.EnableProxy": + "False", "Network.DNS.RequireProxyForNetworkRules": "True", "Network.DNS.Servers": + "", "ThreatIntel.Whitelist.IpAddresses": "10.0.0.1, 10.0.0.0", "ThreatIntel.Whitelist.FQDNs": + "*google.com, www.bing.com, *.microsoft.com"}}}''' headers: Accept: - application/json @@ -867,42 +893,45 @@ interactions: Connection: - keep-alive Content-Length: - - '665' + - '779' Content-Type: - application/json; charset=utf-8 ParameterSetName: - -g -n --private-ranges User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-network/9.0.0 - Azure-SDK-For-Python AZURECLI/2.0.79 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_threat_intel_whitelist000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 response: body: - string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_threat_intel_whitelist000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"94d461c3-be85-43ec-9182-fb594dbf9746\\\"\",\r\n \"type\": - \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Updating\",\r\n \"sku\": {\r\n \"name\": - \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\": - \"Alert\",\r\n \"additionalProperties\": {\r\n \"Network.SNAT.PrivateRanges\": - \"IANAPrivateRanges, 10.0.0.1, 10.0.0.0/16\",\r\n \"ThreatIntel.Whitelist.IpAddresses\": - \"10.0.0.1, 10.0.0.0\",\r\n \"ThreatIntel.Whitelist.FQDNs\": \"*google.com, - www.bing.com, *.microsoft.com\"\r\n },\r\n \"ipConfigurations\": [],\r\n - \ \"networkRuleCollections\": [],\r\n \"applicationRuleCollections\": - [],\r\n \"natRuleCollections\": []\r\n }\r\n}" + string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_threat_intel_whitelist000001/providers/Microsoft.Network/azureFirewalls/af1\"\ + ,\r\n \"etag\": \"W/\\\"df05519a-a1d4-48bf-a719-70c796949d21\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \ + \ \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\ + \r\n },\r\n \"threatIntelMode\": \"Alert\",\r\n \"additionalProperties\"\ + : {\r\n \"Network.SNAT.PrivateRanges\": \"IANAPrivateRanges, 10.0.0.1,\ + \ 10.0.0.0/16\",\r\n \"Network.DNS.EnableProxy\": \"False\",\r\n \ + \ \"Network.DNS.RequireProxyForNetworkRules\": \"True\",\r\n \"Network.DNS.Servers\"\ + : \"\",\r\n \"ThreatIntel.Whitelist.IpAddresses\": \"10.0.0.1, 10.0.0.0\"\ + ,\r\n \"ThreatIntel.Whitelist.FQDNs\": \"*google.com, www.bing.com, *.microsoft.com\"\ + \r\n },\r\n \"ipConfigurations\": [],\r\n \"networkRuleCollections\"\ + : [],\r\n \"applicationRuleCollections\": [],\r\n \"natRuleCollections\"\ + : []\r\n }\r\n}" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/7f5774dc-5ad0-4b40-8147-ced006f9c197?api-version=2019-11-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/78f5ee04-4745-4488-8703-129829d6f994?api-version=2019-11-01 cache-control: - no-cache content-length: - - '926' + - '1061' content-type: - application/json; charset=utf-8 date: - - Wed, 15 Jan 2020 14:08:02 GMT + - Thu, 18 Jun 2020 04:46:18 GMT expires: - '-1' pragma: @@ -919,9 +948,9 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - a8863645-e830-4c59-b4e0-edc44416dc8f + - 3d9b04bf-b4df-49d3-b6c1-af72eefe9a25 x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1195' status: code: 200 message: OK @@ -939,10 +968,10 @@ interactions: ParameterSetName: - -g -n --private-ranges User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-network/9.0.0 - Azure-SDK-For-Python AZURECLI/2.0.79 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/7f5774dc-5ad0-4b40-8147-ced006f9c197?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/78f5ee04-4745-4488-8703-129829d6f994?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -954,7 +983,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 15 Jan 2020 14:08:14 GMT + - Thu, 18 Jun 2020 04:46:29 GMT expires: - '-1' pragma: @@ -971,7 +1000,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - b8e5b656-5202-4be7-9449-c32f7162ee2c + - 711a0b90-2284-4ada-9b1b-4276d48b0c92 status: code: 200 message: OK @@ -989,34 +1018,37 @@ interactions: ParameterSetName: - -g -n --private-ranges User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-network/9.0.0 - Azure-SDK-For-Python AZURECLI/2.0.79 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_threat_intel_whitelist000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 response: body: - string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_threat_intel_whitelist000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"b42ee221-e648-41b3-9e10-ae03755c133a\\\"\",\r\n \"type\": - \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Succeeded\",\r\n \"sku\": {\r\n \"name\": - \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\": - \"Alert\",\r\n \"additionalProperties\": {\r\n \"Network.SNAT.PrivateRanges\": - \"IANAPrivateRanges, 10.0.0.1, 10.0.0.0/16\",\r\n \"ThreatIntel.Whitelist.IpAddresses\": - \"10.0.0.1, 10.0.0.0\",\r\n \"ThreatIntel.Whitelist.FQDNs\": \"*google.com, - www.bing.com, *.microsoft.com\"\r\n },\r\n \"ipConfigurations\": [],\r\n - \ \"networkRuleCollections\": [],\r\n \"applicationRuleCollections\": - [],\r\n \"natRuleCollections\": []\r\n }\r\n}" + string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_threat_intel_whitelist000001/providers/Microsoft.Network/azureFirewalls/af1\"\ + ,\r\n \"etag\": \"W/\\\"2d9357a6-1d28-4948-996a-04c39300dfaa\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n\ + \ \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\ + \r\n },\r\n \"threatIntelMode\": \"Alert\",\r\n \"additionalProperties\"\ + : {\r\n \"Network.SNAT.PrivateRanges\": \"IANAPrivateRanges, 10.0.0.1,\ + \ 10.0.0.0/16\",\r\n \"Network.DNS.EnableProxy\": \"False\",\r\n \ + \ \"Network.DNS.RequireProxyForNetworkRules\": \"True\",\r\n \"Network.DNS.Servers\"\ + : \"\",\r\n \"ThreatIntel.Whitelist.IpAddresses\": \"10.0.0.1, 10.0.0.0\"\ + ,\r\n \"ThreatIntel.Whitelist.FQDNs\": \"*google.com, www.bing.com, *.microsoft.com\"\ + \r\n },\r\n \"ipConfigurations\": [],\r\n \"networkRuleCollections\"\ + : [],\r\n \"applicationRuleCollections\": [],\r\n \"natRuleCollections\"\ + : []\r\n }\r\n}" headers: cache-control: - no-cache content-length: - - '927' + - '1062' content-type: - application/json; charset=utf-8 date: - - Wed, 15 Jan 2020 14:08:15 GMT + - Thu, 18 Jun 2020 04:46:29 GMT etag: - - W/"b42ee221-e648-41b3-9e10-ae03755c133a" + - W/"2d9357a6-1d28-4948-996a-04c39300dfaa" expires: - '-1' pragma: @@ -1033,7 +1065,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 7bbf18a9-927f-46a9-84c2-da8661c82423 + - a2d94300-09d3-4fbb-b1e7-eeceb1be0da4 status: code: 200 message: OK @@ -1051,36 +1083,39 @@ interactions: ParameterSetName: - -g -n User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-network/9.0.0 - Azure-SDK-For-Python AZURECLI/2.0.79 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_threat_intel_whitelist000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 response: body: - string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_threat_intel_whitelist000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"b42ee221-e648-41b3-9e10-ae03755c133a\\\"\",\r\n \"type\": - \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Succeeded\",\r\n \"sku\": {\r\n \"name\": - \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\": - \"Alert\",\r\n \"additionalProperties\": {\r\n \"Network.SNAT.PrivateRanges\": - \"IANAPrivateRanges, 10.0.0.1, 10.0.0.0/16\",\r\n \"ThreatIntel.Whitelist.IpAddresses\": - \"10.0.0.1, 10.0.0.0\",\r\n \"ThreatIntel.Whitelist.FQDNs\": \"*google.com, - www.bing.com, *.microsoft.com\"\r\n },\r\n \"ipConfigurations\": [],\r\n - \ \"networkRuleCollections\": [],\r\n \"applicationRuleCollections\": - [],\r\n \"natRuleCollections\": []\r\n }\r\n}" + string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_threat_intel_whitelist000001/providers/Microsoft.Network/azureFirewalls/af1\"\ + ,\r\n \"etag\": \"W/\\\"2d9357a6-1d28-4948-996a-04c39300dfaa\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n\ + \ \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\ + \r\n },\r\n \"threatIntelMode\": \"Alert\",\r\n \"additionalProperties\"\ + : {\r\n \"Network.SNAT.PrivateRanges\": \"IANAPrivateRanges, 10.0.0.1,\ + \ 10.0.0.0/16\",\r\n \"Network.DNS.EnableProxy\": \"False\",\r\n \ + \ \"Network.DNS.RequireProxyForNetworkRules\": \"True\",\r\n \"Network.DNS.Servers\"\ + : \"\",\r\n \"ThreatIntel.Whitelist.IpAddresses\": \"10.0.0.1, 10.0.0.0\"\ + ,\r\n \"ThreatIntel.Whitelist.FQDNs\": \"*google.com, www.bing.com, *.microsoft.com\"\ + \r\n },\r\n \"ipConfigurations\": [],\r\n \"networkRuleCollections\"\ + : [],\r\n \"applicationRuleCollections\": [],\r\n \"natRuleCollections\"\ + : []\r\n }\r\n}" headers: cache-control: - no-cache content-length: - - '927' + - '1062' content-type: - application/json; charset=utf-8 date: - - Wed, 15 Jan 2020 14:08:16 GMT + - Thu, 18 Jun 2020 04:46:30 GMT etag: - - W/"b42ee221-e648-41b3-9e10-ae03755c133a" + - W/"2d9357a6-1d28-4948-996a-04c39300dfaa" expires: - '-1' pragma: @@ -1097,7 +1132,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 6e365d92-987c-487f-ac88-79011dc586cc + - b0017f88-7388-4b9a-bca4-b9084f9c8f34 status: code: 200 message: OK @@ -1106,7 +1141,9 @@ interactions: "location": "westus", "properties": {"applicationRuleCollections": [], "natRuleCollections": [], "networkRuleCollections": [], "ipConfigurations": [], "threatIntelMode": "Alert", "sku": {"name": "AZFW_VNet", "tier": "Standard"}, "additionalProperties": - {"Network.SNAT.PrivateRanges": "IANAPrivateRanges, 10.0.0.1, 10.0.0.0/16"}}}''' + {"Network.SNAT.PrivateRanges": "IANAPrivateRanges, 10.0.0.1, 10.0.0.0/16", "Network.DNS.EnableProxy": + "False", "Network.DNS.RequireProxyForNetworkRules": "True", "Network.DNS.Servers": + ""}}}''' headers: Accept: - application/json @@ -1117,40 +1154,43 @@ interactions: Connection: - keep-alive Content-Length: - - '529' + - '643' Content-Type: - application/json; charset=utf-8 ParameterSetName: - -g -n User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-network/9.0.0 - Azure-SDK-For-Python AZURECLI/2.0.79 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_threat_intel_whitelist000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 response: body: - string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_threat_intel_whitelist000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"d1d427cc-35f9-4321-80d4-f00690d066d3\\\"\",\r\n \"type\": - \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Updating\",\r\n \"sku\": {\r\n \"name\": - \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\": - \"Alert\",\r\n \"additionalProperties\": {\r\n \"Network.SNAT.PrivateRanges\": - \"IANAPrivateRanges, 10.0.0.1, 10.0.0.0/16\"\r\n },\r\n \"ipConfigurations\": - [],\r\n \"networkRuleCollections\": [],\r\n \"applicationRuleCollections\": - [],\r\n \"natRuleCollections\": []\r\n }\r\n}" + string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_threat_intel_whitelist000001/providers/Microsoft.Network/azureFirewalls/af1\"\ + ,\r\n \"etag\": \"W/\\\"155a68be-c47e-4cb3-9cfc-c7c4bc1df2a9\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \ + \ \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\ + \r\n },\r\n \"threatIntelMode\": \"Alert\",\r\n \"additionalProperties\"\ + : {\r\n \"Network.SNAT.PrivateRanges\": \"IANAPrivateRanges, 10.0.0.1,\ + \ 10.0.0.0/16\",\r\n \"Network.DNS.EnableProxy\": \"False\",\r\n \ + \ \"Network.DNS.RequireProxyForNetworkRules\": \"True\",\r\n \"Network.DNS.Servers\"\ + : \"\"\r\n },\r\n \"ipConfigurations\": [],\r\n \"networkRuleCollections\"\ + : [],\r\n \"applicationRuleCollections\": [],\r\n \"natRuleCollections\"\ + : []\r\n }\r\n}" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/bbcd3f51-771b-4d8b-82fd-e6627d0bed9d?api-version=2019-11-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/4543316e-2947-46c4-bfe6-34c952254f0d?api-version=2019-11-01 cache-control: - no-cache content-length: - - '776' + - '911' content-type: - application/json; charset=utf-8 date: - - Wed, 15 Jan 2020 14:08:17 GMT + - Thu, 18 Jun 2020 04:46:31 GMT expires: - '-1' pragma: @@ -1167,9 +1207,9 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - c70f920f-fd3f-496d-9f83-361cb06cc1e4 + - 0d1bb44f-da81-43f8-a7e1-6e5dcb7d8249 x-ms-ratelimit-remaining-subscription-writes: - - '1196' + - '1188' status: code: 200 message: OK @@ -1187,10 +1227,10 @@ interactions: ParameterSetName: - -g -n User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-network/9.0.0 - Azure-SDK-For-Python AZURECLI/2.0.79 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/bbcd3f51-771b-4d8b-82fd-e6627d0bed9d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/4543316e-2947-46c4-bfe6-34c952254f0d?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -1202,7 +1242,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 15 Jan 2020 14:08:27 GMT + - Thu, 18 Jun 2020 04:46:42 GMT expires: - '-1' pragma: @@ -1219,7 +1259,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - fe8c9870-97aa-45d9-8fad-cb6acb49fcec + - 95d0dc40-1713-44f7-8822-b6ac9e51c739 status: code: 200 message: OK @@ -1237,32 +1277,35 @@ interactions: ParameterSetName: - -g -n User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-network/9.0.0 - Azure-SDK-For-Python AZURECLI/2.0.79 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_threat_intel_whitelist000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 response: body: - string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_threat_intel_whitelist000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"3e3d79d1-e4b3-4c68-8da0-ef0631562394\\\"\",\r\n \"type\": - \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Succeeded\",\r\n \"sku\": {\r\n \"name\": - \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\": - \"Alert\",\r\n \"additionalProperties\": {\r\n \"Network.SNAT.PrivateRanges\": - \"IANAPrivateRanges, 10.0.0.1, 10.0.0.0/16\"\r\n },\r\n \"ipConfigurations\": - [],\r\n \"networkRuleCollections\": [],\r\n \"applicationRuleCollections\": - [],\r\n \"natRuleCollections\": []\r\n }\r\n}" + string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_threat_intel_whitelist000001/providers/Microsoft.Network/azureFirewalls/af1\"\ + ,\r\n \"etag\": \"W/\\\"911cd6a7-16e4-4275-9a3c-72a89b89cc13\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n\ + \ \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\ + \r\n },\r\n \"threatIntelMode\": \"Alert\",\r\n \"additionalProperties\"\ + : {\r\n \"Network.SNAT.PrivateRanges\": \"IANAPrivateRanges, 10.0.0.1,\ + \ 10.0.0.0/16\",\r\n \"Network.DNS.EnableProxy\": \"False\",\r\n \ + \ \"Network.DNS.RequireProxyForNetworkRules\": \"True\",\r\n \"Network.DNS.Servers\"\ + : \"\"\r\n },\r\n \"ipConfigurations\": [],\r\n \"networkRuleCollections\"\ + : [],\r\n \"applicationRuleCollections\": [],\r\n \"natRuleCollections\"\ + : []\r\n }\r\n}" headers: cache-control: - no-cache content-length: - - '777' + - '912' content-type: - application/json; charset=utf-8 date: - - Wed, 15 Jan 2020 14:08:27 GMT + - Thu, 18 Jun 2020 04:46:42 GMT etag: - - W/"3e3d79d1-e4b3-4c68-8da0-ef0631562394" + - W/"911cd6a7-16e4-4275-9a3c-72a89b89cc13" expires: - '-1' pragma: @@ -1279,7 +1322,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - ac0dafbb-9455-40e7-ad1e-c50f18621d1c + - d94731b9-cf03-43df-b4e4-f013b1761ec1 status: code: 200 message: OK diff --git a/src/azure-firewall/azext_firewall/tests/latest/recordings/test_azure_firewall_virtual_hub.yaml b/src/azure-firewall/azext_firewall/tests/latest/recordings/test_azure_firewall_virtual_hub.yaml index 742ea804ae3..681fb39290d 100644 --- a/src/azure-firewall/azext_firewall/tests/latest/recordings/test_azure_firewall_virtual_hub.yaml +++ b/src/azure-firewall/azext_firewall/tests/latest/recordings/test_azure_firewall_virtual_hub.yaml @@ -13,15 +13,15 @@ interactions: ParameterSetName: - -n -g --type User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-resource/6.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_azure_firewall_virtual_hub000001?api-version=2019-07-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001","name":"cli_test_azure_firewall_virtual_hub000001","type":"Microsoft.Resources/resourceGroups","location":"eastus","tags":{"product":"azurecli","cause":"automation","date":"2020-02-07T06:29:19Z"},"properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001","name":"cli_test_azure_firewall_virtual_hub000001","type":"Microsoft.Resources/resourceGroups","location":"eastus","tags":{"product":"azurecli","cause":"automation","date":"2020-06-18T04:46:48Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -30,7 +30,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:29:28 GMT + - Thu, 18 Jun 2020 04:46:52 GMT expires: - '-1' pragma: @@ -62,31 +62,34 @@ interactions: ParameterSetName: - -n -g --type User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/virtualWans/clitestvwan?api-version=2018-08-01 response: body: - string: "{\r\n \"name\": \"clitestvwan\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/virtualWans/clitestvwan\",\r\n - \ \"etag\": \"W/\\\"5fa712f9-a80b-400d-90a3-398af9c2be72\\\"\",\r\n \"type\": - \"Microsoft.Network/virtualWans\",\r\n \"location\": \"eastus\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Updating\",\r\n \"disableVpnEncryption\": - false,\r\n \"allowBranchToBranchTraffic\": true,\r\n \"allowVnetToVnetTraffic\": - false,\r\n \"office365LocalBreakoutCategory\": \"None\"\r\n }\r\n}" + string: "{\r\n \"name\": \"clitestvwan\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/virtualWans/clitestvwan\"\ + ,\r\n \"etag\": \"W/\\\"aa75db40-a77a-461e-ad06-402314443360\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/virtualWans\",\r\n \"location\": \"eastus\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \ + \ \"disableVpnEncryption\": false,\r\n \"allowBranchToBranchTraffic\"\ + : true,\r\n \"allowVnetToVnetTraffic\": true,\r\n \"office365LocalBreakoutCategory\"\ + : \"None\"\r\n }\r\n}" headers: + azure-asyncnotification: + - Enabled azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/b1777832-6cd3-4503-8922-2ae3cabfcf8b?api-version=2018-08-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/a43656c9-1485-4ca3-adba-7c84fb74fe6e?api-version=2018-08-01 cache-control: - no-cache content-length: - - '586' + - '585' content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:29:37 GMT + - Thu, 18 Jun 2020 04:47:02 GMT expires: - '-1' pragma: @@ -99,9 +102,9 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - e6cbda92-fc8c-4019-bca6-cb1cfb072bf3 + - a578de6f-3b62-4e05-bfb2-a27f7b0f1044 x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1196' status: code: 201 message: Created @@ -119,10 +122,10 @@ interactions: ParameterSetName: - -n -g --type User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/b1777832-6cd3-4503-8922-2ae3cabfcf8b?api-version=2018-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/a43656c9-1485-4ca3-adba-7c84fb74fe6e?api-version=2018-08-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -134,7 +137,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:29:52 GMT + - Thu, 18 Jun 2020 04:47:13 GMT expires: - '-1' pragma: @@ -151,7 +154,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 8b0c01a7-19df-4b91-bde0-0f61191b1ff7 + - 66dd0a9e-0d0a-415a-afc1-90d52b366561 status: code: 200 message: OK @@ -169,29 +172,30 @@ interactions: ParameterSetName: - -n -g --type User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/virtualWans/clitestvwan?api-version=2018-08-01 response: body: - string: "{\r\n \"name\": \"clitestvwan\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/virtualWans/clitestvwan\",\r\n - \ \"etag\": \"W/\\\"3ea0f88e-e8b8-45ea-b17f-b0f23cfc12e9\\\"\",\r\n \"type\": - \"Microsoft.Network/virtualWans\",\r\n \"location\": \"eastus\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Succeeded\",\r\n \"disableVpnEncryption\": - false,\r\n \"allowBranchToBranchTraffic\": true,\r\n \"allowVnetToVnetTraffic\": - false,\r\n \"office365LocalBreakoutCategory\": \"None\"\r\n }\r\n}" + string: "{\r\n \"name\": \"clitestvwan\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/virtualWans/clitestvwan\"\ + ,\r\n \"etag\": \"W/\\\"642daacd-bfc4-4042-812b-7c2c7b3aa645\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/virtualWans\",\r\n \"location\": \"eastus\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n\ + \ \"disableVpnEncryption\": false,\r\n \"allowBranchToBranchTraffic\"\ + : true,\r\n \"allowVnetToVnetTraffic\": true,\r\n \"office365LocalBreakoutCategory\"\ + : \"None\"\r\n }\r\n}" headers: cache-control: - no-cache content-length: - - '587' + - '586' content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:29:53 GMT + - Thu, 18 Jun 2020 04:47:14 GMT etag: - - W/"3ea0f88e-e8b8-45ea-b17f-b0f23cfc12e9" + - W/"642daacd-bfc4-4042-812b-7c2c7b3aa645" expires: - '-1' pragma: @@ -208,7 +212,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 29350f5f-0ed0-4928-8690-c877ae876829 + - 53d159e6-0f8f-433c-a06a-560f6a8eb989 status: code: 200 message: OK @@ -231,32 +235,35 @@ interactions: ParameterSetName: - -g -n --vwan --address-prefix -l --sku User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/virtualHubs/clitestvhub?api-version=2018-08-01 response: body: - string: "{\r\n \"name\": \"clitestvhub\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/virtualHubs/clitestvhub\",\r\n - \ \"etag\": \"W/\\\"686816e8-7aef-4da8-862b-030e108fc551\\\"\",\r\n \"type\": - \"Microsoft.Network/virtualHubs\",\r\n \"location\": \"eastus\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Updating\",\r\n \"virtualNetworkConnections\": - [],\r\n \"addressPrefix\": \"10.0.0.0/24\",\r\n \"routeTable\": {\r\n - \ \"routes\": []\r\n },\r\n \"virtualWan\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/virtualWans/clitestvwan\"\r\n - \ }\r\n }\r\n}" + string: "{\r\n \"name\": \"clitestvhub\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/virtualHubs/clitestvhub\"\ + ,\r\n \"etag\": \"W/\\\"7b912dd6-8b7b-4baf-9e75-f6699307a6d5\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/virtualHubs\",\r\n \"location\": \"eastus\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \ + \ \"virtualNetworkConnections\": [],\r\n \"addressPrefix\": \"10.0.0.0/24\"\ + ,\r\n \"virtualRouterIps\": [],\r\n \"routeTable\": {\r\n \"routes\"\ + : []\r\n },\r\n \"virtualWan\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/virtualWans/clitestvwan\"\ + \r\n }\r\n }\r\n}" headers: + azure-asyncnotification: + - Enabled azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/b4631c3f-fa7b-49f5-89e8-66f7622068ae?api-version=2018-08-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1b6d1487-8537-4428-873e-a33bdde3ab70?api-version=2018-08-01 cache-control: - no-cache content-length: - - '787' + - '816' content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:30:04 GMT + - Thu, 18 Jun 2020 04:47:24 GMT expires: - '-1' pragma: @@ -269,9 +276,9 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 2d5a4a07-b69b-449a-a6f8-da8130f6ea1d + - f06b0bbc-a801-41a8-b2d5-b5dca9f51aeb x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1195' status: code: 201 message: Created @@ -289,10 +296,10 @@ interactions: ParameterSetName: - -g -n --vwan --address-prefix -l --sku User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/b4631c3f-fa7b-49f5-89e8-66f7622068ae?api-version=2018-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1b6d1487-8537-4428-873e-a33bdde3ab70?api-version=2018-08-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -304,7 +311,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:30:16 GMT + - Thu, 18 Jun 2020 04:47:35 GMT expires: - '-1' pragma: @@ -321,7 +328,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - dbef1dcb-b6ee-42c7-a7c4-f5a8cbd70bed + - b3234d77-bc54-4fff-b998-9ab6c9e3b9c2 status: code: 200 message: OK @@ -339,10 +346,10 @@ interactions: ParameterSetName: - -g -n --vwan --address-prefix -l --sku User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/b4631c3f-fa7b-49f5-89e8-66f7622068ae?api-version=2018-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1b6d1487-8537-4428-873e-a33bdde3ab70?api-version=2018-08-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -354,7 +361,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:30:32 GMT + - Thu, 18 Jun 2020 04:47:47 GMT expires: - '-1' pragma: @@ -371,7 +378,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 6c299e72-b0a3-4b6f-9aec-4495991822d4 + - 55b87bd8-9bad-4407-8ebb-a63b6a92cced status: code: 200 message: OK @@ -389,10 +396,10 @@ interactions: ParameterSetName: - -g -n --vwan --address-prefix -l --sku User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/b4631c3f-fa7b-49f5-89e8-66f7622068ae?api-version=2018-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1b6d1487-8537-4428-873e-a33bdde3ab70?api-version=2018-08-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -404,7 +411,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:30:51 GMT + - Thu, 18 Jun 2020 04:47:57 GMT expires: - '-1' pragma: @@ -421,7 +428,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - fd25ab4f-b8f8-46c6-9ab6-df769cda6fb1 + - 21f93d6a-7e12-4174-bbc9-e8531b30821c status: code: 200 message: OK @@ -439,10 +446,10 @@ interactions: ParameterSetName: - -g -n --vwan --address-prefix -l --sku User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/b4631c3f-fa7b-49f5-89e8-66f7622068ae?api-version=2018-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1b6d1487-8537-4428-873e-a33bdde3ab70?api-version=2018-08-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -454,7 +461,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:31:02 GMT + - Thu, 18 Jun 2020 04:48:09 GMT expires: - '-1' pragma: @@ -471,7 +478,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - c04f6976-921e-467f-a4a0-9cd47fd216ae + - 6b78d767-122a-4bb8-8b62-be25f8efdabf status: code: 200 message: OK @@ -489,10 +496,10 @@ interactions: ParameterSetName: - -g -n --vwan --address-prefix -l --sku User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/b4631c3f-fa7b-49f5-89e8-66f7622068ae?api-version=2018-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1b6d1487-8537-4428-873e-a33bdde3ab70?api-version=2018-08-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -504,7 +511,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:31:17 GMT + - Thu, 18 Jun 2020 04:48:19 GMT expires: - '-1' pragma: @@ -521,7 +528,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 7e0ae180-7ff2-45fe-a8dc-e8f23b3b65f9 + - 86802397-f079-45a9-8edd-525879d8714d status: code: 200 message: OK @@ -539,10 +546,10 @@ interactions: ParameterSetName: - -g -n --vwan --address-prefix -l --sku User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/b4631c3f-fa7b-49f5-89e8-66f7622068ae?api-version=2018-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1b6d1487-8537-4428-873e-a33bdde3ab70?api-version=2018-08-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -554,7 +561,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:31:28 GMT + - Thu, 18 Jun 2020 04:48:31 GMT expires: - '-1' pragma: @@ -571,7 +578,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - fc881b4b-edd2-478c-9208-d7ccae6ee4d6 + - 37ea8b61-8c13-4c0c-bb40-fbd4fe1e25c1 status: code: 200 message: OK @@ -589,10 +596,10 @@ interactions: ParameterSetName: - -g -n --vwan --address-prefix -l --sku User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/b4631c3f-fa7b-49f5-89e8-66f7622068ae?api-version=2018-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1b6d1487-8537-4428-873e-a33bdde3ab70?api-version=2018-08-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -604,7 +611,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:31:39 GMT + - Thu, 18 Jun 2020 04:48:42 GMT expires: - '-1' pragma: @@ -621,7 +628,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - e38cb122-5806-42da-be8c-18c369653732 + - 750be3c2-b04e-42c3-9c1b-adb16e775518 status: code: 200 message: OK @@ -639,10 +646,10 @@ interactions: ParameterSetName: - -g -n --vwan --address-prefix -l --sku User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/b4631c3f-fa7b-49f5-89e8-66f7622068ae?api-version=2018-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1b6d1487-8537-4428-873e-a33bdde3ab70?api-version=2018-08-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -654,7 +661,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:31:51 GMT + - Thu, 18 Jun 2020 04:48:54 GMT expires: - '-1' pragma: @@ -671,7 +678,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 07481d44-b3c3-40a3-91e8-05b433b6aedc + - 6588e50c-be55-4fc6-aa64-a4eda683963f status: code: 200 message: OK @@ -689,10 +696,10 @@ interactions: ParameterSetName: - -g -n --vwan --address-prefix -l --sku User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/b4631c3f-fa7b-49f5-89e8-66f7622068ae?api-version=2018-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1b6d1487-8537-4428-873e-a33bdde3ab70?api-version=2018-08-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -704,7 +711,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:32:05 GMT + - Thu, 18 Jun 2020 04:49:05 GMT expires: - '-1' pragma: @@ -721,7 +728,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - cfc473b9-daac-4425-9dce-d7dfa2253abd + - 5a3eb81d-030a-457c-83c9-8b2954415a43 status: code: 200 message: OK @@ -739,10 +746,10 @@ interactions: ParameterSetName: - -g -n --vwan --address-prefix -l --sku User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/b4631c3f-fa7b-49f5-89e8-66f7622068ae?api-version=2018-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1b6d1487-8537-4428-873e-a33bdde3ab70?api-version=2018-08-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -754,7 +761,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:32:17 GMT + - Thu, 18 Jun 2020 04:49:16 GMT expires: - '-1' pragma: @@ -771,7 +778,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - ce0f6396-49b5-4cfd-97e8-f04be81fd822 + - 953ce6f6-2ee0-4534-8ae5-85f6a655e283 status: code: 200 message: OK @@ -789,22 +796,22 @@ interactions: ParameterSetName: - -g -n --vwan --address-prefix -l --sku User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/b4631c3f-fa7b-49f5-89e8-66f7622068ae?api-version=2018-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1b6d1487-8537-4428-873e-a33bdde3ab70?api-version=2018-08-01 response: body: - string: "{\r\n \"status\": \"Succeeded\"\r\n}" + string: "{\r\n \"status\": \"InProgress\"\r\n}" headers: cache-control: - no-cache content-length: - - '29' + - '30' content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:32:32 GMT + - Thu, 18 Jun 2020 04:49:27 GMT expires: - '-1' pragma: @@ -821,7 +828,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - d5b0b89c-028b-41d9-9826-d572eda8f3f1 + - fb579aeb-bdb0-4435-8d65-9235a1573752 status: code: 200 message: OK @@ -839,28 +846,22 @@ interactions: ParameterSetName: - -g -n --vwan --address-prefix -l --sku User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/virtualHubs/clitestvhub?api-version=2018-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1b6d1487-8537-4428-873e-a33bdde3ab70?api-version=2018-08-01 response: body: - string: "{\r\n \"name\": \"clitestvhub\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/virtualHubs/clitestvhub\",\r\n - \ \"etag\": \"W/\\\"661e134f-54dd-4ca7-a437-0bd708688849\\\"\",\r\n \"type\": - \"Microsoft.Network/virtualHubs\",\r\n \"location\": \"eastus\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Succeeded\",\r\n \"virtualNetworkConnections\": - [],\r\n \"addressPrefix\": \"10.0.0.0/24\",\r\n \"routeTable\": {\r\n - \ \"routes\": []\r\n },\r\n \"virtualWan\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/virtualWans/clitestvwan\"\r\n - \ }\r\n }\r\n}" + string: "{\r\n \"status\": \"InProgress\"\r\n}" headers: cache-control: - no-cache content-length: - - '788' + - '30' content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:32:42 GMT + - Thu, 18 Jun 2020 04:49:38 GMT expires: - '-1' pragma: @@ -877,7 +878,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 0d9f88c8-67a0-4d66-a5fb-0c504b5389f4 + - f384c5ee-737f-493e-8f38-6141bf152746 status: code: 200 message: OK @@ -889,87 +890,78 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - network firewall create + - network vhub create Connection: - keep-alive ParameterSetName: - - -g -n --sku + - -g -n --vwan --address-prefix -l --sku User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-resource/6.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 - accept-language: - - en-US + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_azure_firewall_virtual_hub000001?api-version=2019-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1b6d1487-8537-4428-873e-a33bdde3ab70?api-version=2018-08-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001","name":"cli_test_azure_firewall_virtual_hub000001","type":"Microsoft.Resources/resourceGroups","location":"eastus","tags":{"product":"azurecli","cause":"automation","date":"2020-02-07T06:29:19Z"},"properties":{"provisioningState":"Succeeded"}}' + string: "{\r\n \"status\": \"InProgress\"\r\n}" headers: cache-control: - no-cache content-length: - - '428' + - '30' content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:32:47 GMT + - Thu, 18 Jun 2020 04:49:50 GMT expires: - '-1' pragma: - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 strict-transport-security: - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked vary: - Accept-Encoding x-content-type-options: - nosniff + x-ms-arm-service-request-id: + - 2fbe87e9-139b-4137-aaef-9925ffbe3f23 status: code: 200 message: OK - request: - body: '{"location": "eastus", "properties": {"sku": {"name": "AZFW_Hub", "tier": - "Standard"}, "additionalProperties": {}}}' + body: null headers: Accept: - application/json Accept-Encoding: - gzip, deflate CommandName: - - network firewall create + - network vhub create Connection: - keep-alive - Content-Length: - - '115' - Content-Type: - - application/json; charset=utf-8 ParameterSetName: - - -g -n --sku + - -g -n --vwan --address-prefix -l --sku User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 - accept-language: - - en-US - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1b6d1487-8537-4428-873e-a33bdde3ab70?api-version=2018-08-01 response: body: - string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"de1a9f27-0297-4126-8761-058f3dee12d0\\\"\",\r\n \"type\": - \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"eastus\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Updating\",\r\n \"sku\": {\r\n \"name\": - \"AZFW_Hub\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"additionalProperties\": - {}\r\n }\r\n}" + string: "{\r\n \"status\": \"InProgress\"\r\n}" headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/dc49290a-ffd2-4d57-84f6-ab526bf70ec9?api-version=2019-11-01 cache-control: - no-cache content-length: - - '522' + - '30' content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:32:55 GMT + - Thu, 18 Jun 2020 04:50:00 GMT expires: - '-1' pragma: @@ -979,15 +971,17 @@ interactions: - Microsoft-HTTPAPI/2.0 strict-transport-security: - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding x-content-type-options: - nosniff x-ms-arm-service-request-id: - - f6f93145-94d4-4928-b350-b0ba89992939 - x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - aa450c24-ee74-49aa-8857-4c4b3baa940c status: - code: 201 - message: Created + code: 200 + message: OK - request: body: null headers: @@ -996,28 +990,28 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - network firewall create + - network vhub create Connection: - keep-alive ParameterSetName: - - -g -n --sku + - -g -n --vwan --address-prefix -l --sku User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/dc49290a-ffd2-4d57-84f6-ab526bf70ec9?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1b6d1487-8537-4428-873e-a33bdde3ab70?api-version=2018-08-01 response: body: - string: "{\r\n \"status\": \"Succeeded\"\r\n}" + string: "{\r\n \"status\": \"InProgress\"\r\n}" headers: cache-control: - no-cache content-length: - - '29' + - '30' content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:33:06 GMT + - Thu, 18 Jun 2020 04:50:12 GMT expires: - '-1' pragma: @@ -1034,7 +1028,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 2a5fb6ab-65df-4ff2-828d-5cd99c815d8d + - 91cff8d6-ea6d-475c-9133-6bb7a98b67cb status: code: 200 message: OK @@ -1046,35 +1040,28 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - network firewall create + - network vhub create Connection: - keep-alive ParameterSetName: - - -g -n --sku + - -g -n --vwan --address-prefix -l --sku User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1b6d1487-8537-4428-873e-a33bdde3ab70?api-version=2018-08-01 response: body: - string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"aaf88070-8558-4000-add4-20fefcb8aabd\\\"\",\r\n \"type\": - \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"eastus\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Succeeded\",\r\n \"sku\": {\r\n \"name\": - \"AZFW_Hub\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"additionalProperties\": - {}\r\n }\r\n}" + string: "{\r\n \"status\": \"InProgress\"\r\n}" headers: cache-control: - no-cache content-length: - - '523' + - '30' content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:33:07 GMT - etag: - - W/"aaf88070-8558-4000-add4-20fefcb8aabd" + - Thu, 18 Jun 2020 04:50:23 GMT expires: - '-1' pragma: @@ -1091,7 +1078,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - f7d6eb69-1b95-49e8-8948-e6ab8f454543 + - 979f11d8-c6c4-450d-8180-ab3d0893d3e6 status: code: 200 message: OK @@ -1103,37 +1090,28 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - network firewall update + - network vhub create Connection: - keep-alive ParameterSetName: - - -g -n --vhub + - -g -n --vwan --address-prefix -l --sku User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 - accept-language: - - en-US + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1b6d1487-8537-4428-873e-a33bdde3ab70?api-version=2018-08-01 response: body: - string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"aaf88070-8558-4000-add4-20fefcb8aabd\\\"\",\r\n \"type\": - \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"eastus\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Succeeded\",\r\n \"sku\": {\r\n \"name\": - \"AZFW_Hub\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"additionalProperties\": - {}\r\n }\r\n}" + string: "{\r\n \"status\": \"Succeeded\"\r\n}" headers: cache-control: - no-cache content-length: - - '523' + - '29' content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:33:09 GMT - etag: - - W/"aaf88070-8558-4000-add4-20fefcb8aabd" + - Thu, 18 Jun 2020 04:50:35 GMT expires: - '-1' pragma: @@ -1150,56 +1128,47 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - ace0b2bf-04e6-4834-a3ba-3a13d31afaa5 + - d9926db1-2de8-4f6a-b8e6-8e2a2c681042 status: code: 200 message: OK - request: - body: 'b''{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/azureFirewalls/af1", - "location": "eastus", "properties": {"virtualHub": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/virtualHubs/clitestvhub"}, - "sku": {"name": "AZFW_Hub", "tier": "Standard"}, "additionalProperties": {}}}''' + body: null headers: Accept: - application/json Accept-Encoding: - gzip, deflate CommandName: - - network firewall update + - network vhub create Connection: - keep-alive - Content-Length: - - '534' - Content-Type: - - application/json; charset=utf-8 ParameterSetName: - - -g -n --vhub + - -g -n --vwan --address-prefix -l --sku User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 - accept-language: - - en-US - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/virtualHubs/clitestvhub?api-version=2018-08-01 response: body: - string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"265ff055-d550-4d46-9d30-de78ba6a032e\\\"\",\r\n \"type\": - \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"eastus\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Updating\",\r\n \"sku\": {\r\n \"name\": - \"AZFW_Hub\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"additionalProperties\": - {},\r\n \"virtualHub\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/virtualHubs/clitestvhub\"\r\n - \ }\r\n }\r\n}" + string: "{\r\n \"name\": \"clitestvhub\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/virtualHubs/clitestvhub\"\ + ,\r\n \"etag\": \"W/\\\"5d03b972-315f-4b6a-a04e-39ab7e1d6893\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/virtualHubs\",\r\n \"location\": \"eastus\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n\ + \ \"virtualNetworkConnections\": [],\r\n \"addressPrefix\": \"10.0.0.0/24\"\ + ,\r\n \"virtualRouterIps\": [],\r\n \"routeTable\": {\r\n \"routes\"\ + : []\r\n },\r\n \"virtualWan\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/virtualWans/clitestvwan\"\ + \r\n }\r\n }\r\n}" headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 cache-control: - no-cache content-length: - - '761' + - '817' content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:33:13 GMT + - Thu, 18 Jun 2020 04:50:35 GMT expires: - '-1' pragma: @@ -1216,9 +1185,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - f1f016ae-9747-4590-b380-1c28853725a9 - x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - d481c4e3-90c2-4d97-87a0-33832fc2f3a2 status: code: 200 message: OK @@ -1230,78 +1197,92 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - network firewall update + - network firewall create Connection: - keep-alive ParameterSetName: - - -g -n --vhub + - -g -n --sku User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_azure_firewall_virtual_hub000001?api-version=2019-07-01 response: body: - string: "{\r\n \"status\": \"InProgress\"\r\n}" + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001","name":"cli_test_azure_firewall_virtual_hub000001","type":"Microsoft.Resources/resourceGroups","location":"eastus","tags":{"product":"azurecli","cause":"automation","date":"2020-06-18T04:46:48Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '30' + - '428' content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:33:26 GMT + - Thu, 18 Jun 2020 04:50:36 GMT expires: - '-1' pragma: - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 strict-transport-security: - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked vary: - Accept-Encoding x-content-type-options: - nosniff - x-ms-arm-service-request-id: - - 0d878d27-c589-4e98-a3d6-9fe90bf2a49b status: code: 200 message: OK - request: - body: null + body: '{"location": "eastus", "properties": {"sku": {"name": "AZFW_Hub", "tier": + "Standard"}, "additionalProperties": {"Network.DNS.EnableProxy": "False", "Network.DNS.RequireProxyForNetworkRules": + "True", "Network.DNS.Servers": ""}}}' headers: Accept: - application/json Accept-Encoding: - gzip, deflate CommandName: - - network firewall update + - network firewall create Connection: - keep-alive + Content-Length: + - '227' + Content-Type: + - application/json; charset=utf-8 ParameterSetName: - - -g -n --vhub + - -g -n --sku User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 response: body: - string: "{\r\n \"status\": \"InProgress\"\r\n}" + string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/azureFirewalls/af1\"\ + ,\r\n \"etag\": \"W/\\\"e185c78c-b1d5-4d8d-8c23-8f5869012767\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"eastus\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \ + \ \"sku\": {\r\n \"name\": \"AZFW_Hub\",\r\n \"tier\": \"Standard\"\ + \r\n },\r\n \"additionalProperties\": {\r\n \"Network.DNS.EnableProxy\"\ + : \"False\",\r\n \"Network.DNS.RequireProxyForNetworkRules\": \"True\"\ + ,\r\n \"Network.DNS.Servers\": \"\"\r\n }\r\n }\r\n}" headers: + azure-asyncnotification: + - Enabled + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/831184f3-a613-4ae4-b31d-ae4b36b2e110?api-version=2019-11-01 cache-control: - no-cache content-length: - - '30' + - '662' content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:33:36 GMT + - Thu, 18 Jun 2020 04:50:42 GMT expires: - '-1' pragma: @@ -1311,17 +1292,15 @@ interactions: - Microsoft-HTTPAPI/2.0 strict-transport-security: - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 8b090ea4-75e6-4856-ad60-84ae4e36c4cf + - bec34f9a-f24a-4e75-b5c9-d54f66ee998f + x-ms-ratelimit-remaining-subscription-writes: + - '1188' status: - code: 200 - message: OK + code: 201 + message: Created - request: body: null headers: @@ -1330,28 +1309,28 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - network firewall update + - network firewall create Connection: - keep-alive ParameterSetName: - - -g -n --vhub + - -g -n --sku User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/831184f3-a613-4ae4-b31d-ae4b36b2e110?api-version=2019-11-01 response: body: - string: "{\r\n \"status\": \"InProgress\"\r\n}" + string: "{\r\n \"status\": \"Succeeded\"\r\n}" headers: cache-control: - no-cache content-length: - - '30' + - '29' content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:33:46 GMT + - Thu, 18 Jun 2020 04:50:54 GMT expires: - '-1' pragma: @@ -1368,7 +1347,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - e8ef3a49-a392-4af4-a9a5-3ac14c3463f4 + - 386bc8f3-43ca-483f-abd1-fa637b7651ac status: code: 200 message: OK @@ -1380,28 +1359,37 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - network firewall update + - network firewall create Connection: - keep-alive ParameterSetName: - - -g -n --vhub + - -g -n --sku User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 response: body: - string: "{\r\n \"status\": \"InProgress\"\r\n}" + string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/azureFirewalls/af1\"\ + ,\r\n \"etag\": \"W/\\\"1f28b841-793d-42e0-b3f0-373e987b2910\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"eastus\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n\ + \ \"sku\": {\r\n \"name\": \"AZFW_Hub\",\r\n \"tier\": \"Standard\"\ + \r\n },\r\n \"additionalProperties\": {\r\n \"Network.DNS.EnableProxy\"\ + : \"False\",\r\n \"Network.DNS.RequireProxyForNetworkRules\": \"True\"\ + ,\r\n \"Network.DNS.Servers\": \"\"\r\n }\r\n }\r\n}" headers: cache-control: - no-cache content-length: - - '30' + - '663' content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:33:56 GMT + - Thu, 18 Jun 2020 04:50:54 GMT + etag: + - W/"1f28b841-793d-42e0-b3f0-373e987b2910" expires: - '-1' pragma: @@ -1418,7 +1406,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - a07b90d2-e3f3-4348-9054-25acb8a775d4 + - 2198dc5e-7c30-48d7-8a09-7775c57b0e43 status: code: 200 message: OK @@ -1436,22 +1424,33 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 response: body: - string: "{\r\n \"status\": \"InProgress\"\r\n}" + string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/azureFirewalls/af1\"\ + ,\r\n \"etag\": \"W/\\\"1f28b841-793d-42e0-b3f0-373e987b2910\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"eastus\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n\ + \ \"sku\": {\r\n \"name\": \"AZFW_Hub\",\r\n \"tier\": \"Standard\"\ + \r\n },\r\n \"additionalProperties\": {\r\n \"Network.DNS.EnableProxy\"\ + : \"False\",\r\n \"Network.DNS.RequireProxyForNetworkRules\": \"True\"\ + ,\r\n \"Network.DNS.Servers\": \"\"\r\n }\r\n }\r\n}" headers: cache-control: - no-cache content-length: - - '30' + - '663' content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:34:08 GMT + - Thu, 18 Jun 2020 04:50:56 GMT + etag: + - W/"1f28b841-793d-42e0-b3f0-373e987b2910" expires: - '-1' pragma: @@ -1468,12 +1467,16 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - aad60b6a-f977-4993-bb10-944dcbc14910 + - 18ef787e-38a8-4458-afb5-831307895f89 status: code: 200 message: OK - request: - body: null + body: 'b''{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/azureFirewalls/af1", + "location": "eastus", "properties": {"virtualHub": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/virtualHubs/clitestvhub"}, + "sku": {"name": "AZFW_Hub", "tier": "Standard"}, "additionalProperties": {"Network.DNS.EnableProxy": + "False", "Network.DNS.RequireProxyForNetworkRules": "True", "Network.DNS.Servers": + ""}}}''' headers: Accept: - application/json @@ -1483,25 +1486,43 @@ interactions: - network firewall update Connection: - keep-alive + Content-Length: + - '646' + Content-Type: + - application/json; charset=utf-8 ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 response: body: - string: "{\r\n \"status\": \"InProgress\"\r\n}" + string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/azureFirewalls/af1\"\ + ,\r\n \"etag\": \"W/\\\"d63f3799-9770-4686-b530-02a520043b66\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"eastus\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \ + \ \"sku\": {\r\n \"name\": \"AZFW_Hub\",\r\n \"tier\": \"Standard\"\ + \r\n },\r\n \"additionalProperties\": {\r\n \"Network.DNS.EnableProxy\"\ + : \"False\",\r\n \"Network.DNS.RequireProxyForNetworkRules\": \"True\"\ + ,\r\n \"Network.DNS.Servers\": \"\"\r\n },\r\n \"virtualHub\":\ + \ {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/virtualHubs/clitestvhub\"\ + \r\n },\r\n \"hubIPAddresses\": {\r\n \"publicIPAddresses\": []\r\ + \n }\r\n }\r\n}" headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 cache-control: - no-cache content-length: - - '30' + - '965' content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:34:18 GMT + - Thu, 18 Jun 2020 04:50:56 GMT expires: - '-1' pragma: @@ -1518,7 +1539,9 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - f318c08c-001a-4e1c-9977-72fb5f3cc29f + - e4e2515e-8055-4f1e-a1a0-3c6639c4d8bc + x-ms-ratelimit-remaining-subscription-writes: + - '1194' status: code: 200 message: OK @@ -1536,10 +1559,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -1551,7 +1574,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:34:29 GMT + - Thu, 18 Jun 2020 04:51:08 GMT expires: - '-1' pragma: @@ -1568,7 +1591,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 8d7a279f-72b9-4703-8721-652fc0f9ea8c + - b1959fdd-8ed3-4222-b269-a5d471b1fb73 status: code: 200 message: OK @@ -1586,10 +1609,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -1601,7 +1624,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:34:40 GMT + - Thu, 18 Jun 2020 04:51:18 GMT expires: - '-1' pragma: @@ -1618,7 +1641,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - a5f1f61f-7dfa-4fc4-9826-ff023f3534c6 + - ed3a2ef9-98d5-4db6-b878-675ed3e40e84 status: code: 200 message: OK @@ -1636,10 +1659,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -1651,7 +1674,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:34:50 GMT + - Thu, 18 Jun 2020 04:51:28 GMT expires: - '-1' pragma: @@ -1668,7 +1691,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - a9be1827-a16d-46ad-a42f-a1f9ce127ec4 + - 4933151a-4dfc-4797-a33e-ff8e63fbad0e status: code: 200 message: OK @@ -1686,10 +1709,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -1701,7 +1724,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:35:00 GMT + - Thu, 18 Jun 2020 04:51:39 GMT expires: - '-1' pragma: @@ -1718,7 +1741,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 84c5d38c-47a8-4d41-a37d-2f924ad59d42 + - 15fc42fc-730d-4e9d-9e77-8fc14527d761 status: code: 200 message: OK @@ -1736,10 +1759,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -1751,7 +1774,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:35:11 GMT + - Thu, 18 Jun 2020 04:51:49 GMT expires: - '-1' pragma: @@ -1768,7 +1791,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 48bafa8d-8de1-44f6-a71d-520f4f002484 + - 5c412c13-93bc-4655-a0b0-1a6552ab48c3 status: code: 200 message: OK @@ -1786,10 +1809,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -1801,7 +1824,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:35:21 GMT + - Thu, 18 Jun 2020 04:52:00 GMT expires: - '-1' pragma: @@ -1818,7 +1841,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 6d9904ad-643b-4f5d-b0a2-4095dc56e2fc + - 45628431-aba8-46e7-b5f7-24c48fcbb5e1 status: code: 200 message: OK @@ -1836,10 +1859,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -1851,7 +1874,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:35:32 GMT + - Thu, 18 Jun 2020 04:52:10 GMT expires: - '-1' pragma: @@ -1868,7 +1891,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - aa2b58b8-9195-443a-8254-43fc75a0119d + - d077bbc7-1dfa-4122-80ca-c826c49dfa2f status: code: 200 message: OK @@ -1886,10 +1909,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -1901,7 +1924,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:35:43 GMT + - Thu, 18 Jun 2020 04:52:21 GMT expires: - '-1' pragma: @@ -1918,7 +1941,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 386da327-796a-4777-8fc5-a84241f26261 + - c4ed7e5e-ee36-458f-b881-db02411d94f1 status: code: 200 message: OK @@ -1936,10 +1959,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -1951,7 +1974,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:35:53 GMT + - Thu, 18 Jun 2020 04:52:31 GMT expires: - '-1' pragma: @@ -1968,7 +1991,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 2851457b-3432-4e80-94ae-9fab8f6d11d3 + - a288ae84-cfdd-43fc-a7af-e6e84b2084df status: code: 200 message: OK @@ -1986,10 +2009,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -2001,7 +2024,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:36:04 GMT + - Thu, 18 Jun 2020 04:52:41 GMT expires: - '-1' pragma: @@ -2018,7 +2041,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 21476104-3876-473f-a375-091b6d3b9275 + - 85a10564-be88-4382-9504-14446cc7930f status: code: 200 message: OK @@ -2036,10 +2059,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -2051,7 +2074,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:36:14 GMT + - Thu, 18 Jun 2020 04:52:51 GMT expires: - '-1' pragma: @@ -2068,7 +2091,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - f9f20196-d9d2-47b5-a766-e9db9997adbe + - ee128c29-26c3-4eee-b4f5-118d7b05d607 status: code: 200 message: OK @@ -2086,10 +2109,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -2101,7 +2124,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:36:24 GMT + - Thu, 18 Jun 2020 04:53:01 GMT expires: - '-1' pragma: @@ -2118,7 +2141,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 2cde9daf-cf60-4d1c-ba4b-aa2806a8b0df + - f7a994f1-0384-41b3-9be0-03acb60016ce status: code: 200 message: OK @@ -2136,10 +2159,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -2151,7 +2174,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:36:35 GMT + - Thu, 18 Jun 2020 04:53:12 GMT expires: - '-1' pragma: @@ -2168,7 +2191,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 116ab137-8be6-4054-addf-dc21aac81687 + - 2661e5ec-b130-4dee-9217-11978d674d72 status: code: 200 message: OK @@ -2186,10 +2209,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -2201,7 +2224,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:36:45 GMT + - Thu, 18 Jun 2020 04:53:22 GMT expires: - '-1' pragma: @@ -2218,7 +2241,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 73a0b2d4-2f21-423c-ba96-3febe59fdc26 + - 47454763-1b65-45f3-93ad-f640e8a5c601 status: code: 200 message: OK @@ -2236,10 +2259,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -2251,7 +2274,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:36:56 GMT + - Thu, 18 Jun 2020 04:53:32 GMT expires: - '-1' pragma: @@ -2268,7 +2291,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - cdf39002-0c16-408f-b808-c1ff65a5a070 + - 74f8ce51-e7cf-4798-b02f-71890cd82bc6 status: code: 200 message: OK @@ -2286,10 +2309,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -2301,7 +2324,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:37:07 GMT + - Thu, 18 Jun 2020 04:53:43 GMT expires: - '-1' pragma: @@ -2318,7 +2341,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 5fb987d0-1872-4dc1-a758-f801f33318a7 + - 4c6fa1c2-152d-432e-b448-5cbf5e95862b status: code: 200 message: OK @@ -2336,10 +2359,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -2351,7 +2374,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:37:17 GMT + - Thu, 18 Jun 2020 04:53:54 GMT expires: - '-1' pragma: @@ -2368,7 +2391,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 70871b72-cc65-4893-978c-c2a8ce8a3599 + - 1388176c-f2ae-454b-9345-93ac71b0c309 status: code: 200 message: OK @@ -2386,10 +2409,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -2401,7 +2424,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:37:27 GMT + - Thu, 18 Jun 2020 04:54:04 GMT expires: - '-1' pragma: @@ -2418,7 +2441,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - a69af652-b640-400c-9920-c12a1809ff21 + - f837cb0c-f63b-4288-a786-1d298f43f65f status: code: 200 message: OK @@ -2436,10 +2459,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -2451,7 +2474,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:37:38 GMT + - Thu, 18 Jun 2020 04:54:14 GMT expires: - '-1' pragma: @@ -2468,7 +2491,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - f507494d-f787-4b4d-acd8-77e1ca98d9b0 + - b222176d-8bb5-4e2c-a16b-8b22eaf69cbb status: code: 200 message: OK @@ -2486,10 +2509,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -2501,7 +2524,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:37:48 GMT + - Thu, 18 Jun 2020 04:54:25 GMT expires: - '-1' pragma: @@ -2518,7 +2541,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 3f4f6d7f-ef5f-40ca-ba76-3522125cbb58 + - a98da3f4-f91b-48eb-a3a5-cd9a47e43c6a status: code: 200 message: OK @@ -2536,10 +2559,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -2551,7 +2574,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:37:58 GMT + - Thu, 18 Jun 2020 04:54:35 GMT expires: - '-1' pragma: @@ -2568,7 +2591,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - b736935e-21fb-4e50-a3b1-d309c4e1fc23 + - 41952933-efc5-4f9d-858e-f8d35818d020 status: code: 200 message: OK @@ -2586,10 +2609,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -2601,7 +2624,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:38:10 GMT + - Thu, 18 Jun 2020 04:54:45 GMT expires: - '-1' pragma: @@ -2618,7 +2641,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 0bef7208-7d03-4d8e-aec0-5b939c530a73 + - 3cc9f37d-6321-43ac-b17a-49cdf2d33611 status: code: 200 message: OK @@ -2636,10 +2659,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -2651,7 +2674,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:38:21 GMT + - Thu, 18 Jun 2020 04:54:55 GMT expires: - '-1' pragma: @@ -2668,7 +2691,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 6860066e-41c3-487b-ac89-6e486b07efcb + - 357b14ee-8a6e-4cfc-843d-e50222097b15 status: code: 200 message: OK @@ -2686,10 +2709,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -2701,7 +2724,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:38:31 GMT + - Thu, 18 Jun 2020 04:55:06 GMT expires: - '-1' pragma: @@ -2718,7 +2741,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 7692d883-29d9-4c6d-a07a-f8bb59bc365f + - 8e6058da-39bb-4b43-a2cc-96c0f38af48d status: code: 200 message: OK @@ -2736,10 +2759,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -2751,7 +2774,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:38:41 GMT + - Thu, 18 Jun 2020 04:55:17 GMT expires: - '-1' pragma: @@ -2768,7 +2791,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - f8ae4aec-1d0c-472a-b46d-a453b8ded8b6 + - 7a677649-7934-46d5-93da-2a82d030395a status: code: 200 message: OK @@ -2786,10 +2809,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -2801,7 +2824,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:38:52 GMT + - Thu, 18 Jun 2020 04:55:27 GMT expires: - '-1' pragma: @@ -2818,7 +2841,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 6f403c8e-b9bf-4b5b-b6ef-93103185e7f6 + - 4bce56ad-89cb-4122-8474-3302223b5b23 status: code: 200 message: OK @@ -2836,10 +2859,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -2851,7 +2874,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:39:02 GMT + - Thu, 18 Jun 2020 04:55:37 GMT expires: - '-1' pragma: @@ -2868,7 +2891,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - ef2f3f84-a399-4484-9e1c-6cf42a6e8b8d + - f942dd5c-2f33-4400-b9b6-94693c8fa0f1 status: code: 200 message: OK @@ -2886,10 +2909,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -2901,7 +2924,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:39:14 GMT + - Thu, 18 Jun 2020 04:55:48 GMT expires: - '-1' pragma: @@ -2918,7 +2941,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 584d2149-f9af-4e66-aebd-a9677c6b0d0d + - 79ff6ba8-c5ea-4389-a017-906471bee71f status: code: 200 message: OK @@ -2936,10 +2959,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -2951,7 +2974,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:39:25 GMT + - Thu, 18 Jun 2020 04:55:59 GMT expires: - '-1' pragma: @@ -2968,7 +2991,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - f6e00194-5e3f-4429-b7b8-a58412d257ff + - 513007ab-2473-4dd3-a794-a210e994c3d3 status: code: 200 message: OK @@ -2986,10 +3009,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -3001,7 +3024,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:39:36 GMT + - Thu, 18 Jun 2020 04:56:09 GMT expires: - '-1' pragma: @@ -3018,7 +3041,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 49e0a608-7603-4e76-9e40-87eb92284fe8 + - cee4e5bc-04de-4abb-afb8-7a90524337a5 status: code: 200 message: OK @@ -3036,10 +3059,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -3051,7 +3074,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:39:46 GMT + - Thu, 18 Jun 2020 04:56:22 GMT expires: - '-1' pragma: @@ -3068,7 +3091,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 37cbdfd4-667b-4ec6-9091-b7cde45fc5f6 + - 8bb4e8f0-6e5c-4888-8b47-a2fd535b485b status: code: 200 message: OK @@ -3086,10 +3109,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -3101,7 +3124,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:39:57 GMT + - Thu, 18 Jun 2020 04:56:32 GMT expires: - '-1' pragma: @@ -3118,7 +3141,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - c4249b92-f715-4dbf-8f95-93ee18bf181d + - b4f88a05-83d8-4441-b564-c07f2a8866e1 status: code: 200 message: OK @@ -3136,10 +3159,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -3151,7 +3174,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:40:07 GMT + - Thu, 18 Jun 2020 04:56:43 GMT expires: - '-1' pragma: @@ -3168,7 +3191,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - e3eb0004-119e-4b08-a935-a882f0fd6f29 + - eb5a1312-4ccc-4142-b96e-680da6ffe5e2 status: code: 200 message: OK @@ -3186,10 +3209,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -3201,7 +3224,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:40:17 GMT + - Thu, 18 Jun 2020 04:56:53 GMT expires: - '-1' pragma: @@ -3218,7 +3241,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 271b63f8-ccf8-4af5-920e-4afcc7840d0b + - f00a26f8-65ca-450d-80f2-f58695293836 status: code: 200 message: OK @@ -3236,10 +3259,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -3251,7 +3274,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:40:27 GMT + - Thu, 18 Jun 2020 04:57:03 GMT expires: - '-1' pragma: @@ -3268,7 +3291,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 78803a14-1bf5-490f-9e57-fe91cca8104d + - b2992fac-5371-409b-b024-60b30a505fcd status: code: 200 message: OK @@ -3286,10 +3309,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -3301,7 +3324,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:40:39 GMT + - Thu, 18 Jun 2020 04:57:14 GMT expires: - '-1' pragma: @@ -3318,7 +3341,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 8e73fdb6-3171-4442-be53-888d6941806b + - 0c55316f-db3c-46d2-8cc9-6cb2cf5a956f status: code: 200 message: OK @@ -3336,10 +3359,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -3351,7 +3374,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:40:50 GMT + - Thu, 18 Jun 2020 04:57:24 GMT expires: - '-1' pragma: @@ -3368,7 +3391,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - f21813ec-965b-4ece-a7fb-bdf0d9a24b57 + - 209a2d61-7d6b-4d69-8526-706d9b7b0ced status: code: 200 message: OK @@ -3386,10 +3409,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -3401,7 +3424,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:41:00 GMT + - Thu, 18 Jun 2020 04:57:34 GMT expires: - '-1' pragma: @@ -3418,7 +3441,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - ace3a25a-8e1e-4486-b4dd-8a2b9091f22e + - 11561691-b1bc-4038-b142-723abc5ad7db status: code: 200 message: OK @@ -3436,10 +3459,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -3451,7 +3474,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:41:11 GMT + - Thu, 18 Jun 2020 04:57:45 GMT expires: - '-1' pragma: @@ -3468,7 +3491,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 5ee6e38e-4097-4cea-8f67-0b3ca98c086b + - ec6fcfae-aa27-40af-8b93-1d7e5810bc1c status: code: 200 message: OK @@ -3486,10 +3509,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -3501,7 +3524,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:41:21 GMT + - Thu, 18 Jun 2020 04:57:56 GMT expires: - '-1' pragma: @@ -3518,7 +3541,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - a7c7ed70-371b-49b2-8a85-51854abd6b43 + - f47ce27b-08e2-440e-aee6-7b855ad6d323 status: code: 200 message: OK @@ -3536,10 +3559,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -3551,7 +3574,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:41:31 GMT + - Thu, 18 Jun 2020 04:58:06 GMT expires: - '-1' pragma: @@ -3568,7 +3591,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 4e3d3d5e-8507-4537-b9f2-56a787e307aa + - 8c60e4f4-a50c-4c71-a3a9-51fe09c9c37f status: code: 200 message: OK @@ -3586,10 +3609,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -3601,7 +3624,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:41:41 GMT + - Thu, 18 Jun 2020 04:58:16 GMT expires: - '-1' pragma: @@ -3618,7 +3641,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 46f1d681-5a80-4521-8e2d-4787ce84bc52 + - dd141e55-d112-4b6f-9568-1a9d4780ac91 status: code: 200 message: OK @@ -3636,10 +3659,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -3651,7 +3674,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:41:53 GMT + - Thu, 18 Jun 2020 04:58:26 GMT expires: - '-1' pragma: @@ -3668,7 +3691,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - deda7ebc-f8ed-44fb-85a9-2c77cfbf533b + - c0067447-7506-4245-a17f-da8a75bd5b79 status: code: 200 message: OK @@ -3686,10 +3709,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -3701,7 +3724,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:42:04 GMT + - Thu, 18 Jun 2020 04:58:36 GMT expires: - '-1' pragma: @@ -3718,7 +3741,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - a08b68fd-0520-4093-91ab-a5c16abe9b44 + - 61e586b2-47a5-44d3-8b97-dbb32e2bc3a2 status: code: 200 message: OK @@ -3736,10 +3759,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -3751,7 +3774,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:42:14 GMT + - Thu, 18 Jun 2020 04:58:47 GMT expires: - '-1' pragma: @@ -3768,7 +3791,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 95598a16-e167-442c-abc9-852db9709f88 + - f78ab29b-5c77-480c-81e3-0ac3cc0a6ed8 status: code: 200 message: OK @@ -3786,10 +3809,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -3801,7 +3824,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:42:24 GMT + - Thu, 18 Jun 2020 04:58:57 GMT expires: - '-1' pragma: @@ -3818,7 +3841,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - dbd68d4e-4f32-444a-9587-84aba884c996 + - 7d70c1d6-5505-4bd6-b6f6-90c22158a6d1 status: code: 200 message: OK @@ -3836,10 +3859,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -3851,7 +3874,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:42:35 GMT + - Thu, 18 Jun 2020 04:59:08 GMT expires: - '-1' pragma: @@ -3868,7 +3891,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 37fa4118-83e2-4e9b-8093-f32978d435a3 + - 987b644b-00ea-421a-a88b-97aa1d19b4e6 status: code: 200 message: OK @@ -3886,10 +3909,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -3901,7 +3924,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:42:46 GMT + - Thu, 18 Jun 2020 04:59:18 GMT expires: - '-1' pragma: @@ -3918,7 +3941,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 716e8722-51be-4815-b5eb-14306a819596 + - eeae3b70-a9af-41e7-891d-542fb5113c40 status: code: 200 message: OK @@ -3936,10 +3959,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -3951,7 +3974,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:42:56 GMT + - Thu, 18 Jun 2020 04:59:29 GMT expires: - '-1' pragma: @@ -3968,7 +3991,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 769fd218-48ba-4c0b-bead-4bda429a8006 + - 8ec62036-8895-43e2-b862-f6803e973991 status: code: 200 message: OK @@ -3986,10 +4009,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -4001,7 +4024,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:43:07 GMT + - Thu, 18 Jun 2020 04:59:39 GMT expires: - '-1' pragma: @@ -4018,7 +4041,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - bd6a3431-1a84-47f0-84a0-02ec6738db81 + - 7d21e374-be26-418d-9337-753fec14ffe0 status: code: 200 message: OK @@ -4036,10 +4059,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -4051,7 +4074,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:43:18 GMT + - Thu, 18 Jun 2020 04:59:49 GMT expires: - '-1' pragma: @@ -4068,7 +4091,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 47f8935d-e3b0-4109-9c7e-aa6d2d0946a7 + - e0e56983-e0b7-4851-bdd0-61241a74308c status: code: 200 message: OK @@ -4086,10 +4109,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -4101,7 +4124,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:43:28 GMT + - Thu, 18 Jun 2020 04:59:59 GMT expires: - '-1' pragma: @@ -4118,7 +4141,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 2ed8bac6-f6c7-4105-974e-eecf19ea23f6 + - 578e4fa4-99e6-4889-8e4a-c6b1127852a8 status: code: 200 message: OK @@ -4136,10 +4159,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -4151,7 +4174,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:43:38 GMT + - Thu, 18 Jun 2020 05:00:10 GMT expires: - '-1' pragma: @@ -4168,7 +4191,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 64156889-522f-4a21-bc5c-1f7e682f52ae + - 0078e3e1-e273-4b9c-867d-3c7a74f5ec6e status: code: 200 message: OK @@ -4186,10 +4209,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -4201,7 +4224,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:43:50 GMT + - Thu, 18 Jun 2020 05:00:20 GMT expires: - '-1' pragma: @@ -4218,7 +4241,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 0492faa1-8ac8-4230-8207-3d795ca49476 + - c57e84b1-216c-4b18-b863-5fc58a8004ff status: code: 200 message: OK @@ -4236,10 +4259,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -4251,7 +4274,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:44:00 GMT + - Thu, 18 Jun 2020 05:00:30 GMT expires: - '-1' pragma: @@ -4268,7 +4291,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - c8193728-bdf9-4516-ac06-0eef51fc4e24 + - 71d26175-4d61-44cb-97b6-db2e37d4ad47 status: code: 200 message: OK @@ -4286,10 +4309,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -4301,7 +4324,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:44:10 GMT + - Thu, 18 Jun 2020 05:00:41 GMT expires: - '-1' pragma: @@ -4318,7 +4341,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 9ceba674-7d54-432f-8911-e95ab800aebc + - ccc52c08-82f0-45da-b475-8e56254fc426 status: code: 200 message: OK @@ -4336,10 +4359,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -4351,7 +4374,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:44:21 GMT + - Thu, 18 Jun 2020 05:00:52 GMT expires: - '-1' pragma: @@ -4368,7 +4391,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 9944dc45-2843-44fc-a4c5-da30da02095d + - 7c01c391-9d45-44dc-b409-5ac2c48dc519 status: code: 200 message: OK @@ -4386,10 +4409,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -4401,7 +4424,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:44:32 GMT + - Thu, 18 Jun 2020 05:01:03 GMT expires: - '-1' pragma: @@ -4418,7 +4441,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - c5fcffb4-5db1-44a1-9121-7065e92c9da5 + - 36b02673-c453-44c7-9577-beb1264833a0 status: code: 200 message: OK @@ -4436,10 +4459,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -4451,7 +4474,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:44:42 GMT + - Thu, 18 Jun 2020 05:01:13 GMT expires: - '-1' pragma: @@ -4468,7 +4491,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 557d34ff-6be5-4cf6-9b03-08b20696321d + - 69159022-dca5-4f9d-ab79-329cd87e4646 status: code: 200 message: OK @@ -4486,10 +4509,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -4501,7 +4524,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:44:52 GMT + - Thu, 18 Jun 2020 05:01:23 GMT expires: - '-1' pragma: @@ -4518,7 +4541,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 306b59a3-5a6f-46b2-86fa-ebde8db3807c + - 20b8387d-0811-47dc-8c07-454b385ede04 status: code: 200 message: OK @@ -4536,10 +4559,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -4551,7 +4574,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:45:04 GMT + - Thu, 18 Jun 2020 05:01:34 GMT expires: - '-1' pragma: @@ -4568,7 +4591,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - e88f1be8-8453-40dd-aaea-3058ec0dac7c + - c2104397-21e2-4264-9080-6f8a151e4a4f status: code: 200 message: OK @@ -4586,10 +4609,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -4601,7 +4624,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:45:14 GMT + - Thu, 18 Jun 2020 05:01:44 GMT expires: - '-1' pragma: @@ -4618,7 +4641,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - a492e462-ced6-4366-8ed9-3ab39295c340 + - 42a4574c-f3f8-4d47-93ce-6dae4573e97e status: code: 200 message: OK @@ -4636,10 +4659,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -4651,7 +4674,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:45:24 GMT + - Thu, 18 Jun 2020 05:01:54 GMT expires: - '-1' pragma: @@ -4668,7 +4691,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - d3a88ebf-cc11-455b-99ba-460fc5544e61 + - 02cb4d39-582d-43a3-b375-2bbb86246dcc status: code: 200 message: OK @@ -4686,10 +4709,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -4701,7 +4724,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:45:34 GMT + - Thu, 18 Jun 2020 05:02:05 GMT expires: - '-1' pragma: @@ -4718,7 +4741,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - b4c9d8c3-5dfb-4549-ba07-98ad17dd599a + - e002422e-7d55-4a32-bf3f-a9c35caed417 status: code: 200 message: OK @@ -4736,10 +4759,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -4751,7 +4774,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:45:45 GMT + - Thu, 18 Jun 2020 05:02:15 GMT expires: - '-1' pragma: @@ -4768,7 +4791,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - ed4efd47-1db3-400b-8c6e-ec94c6a4ab35 + - 15e93891-a341-4488-b9ad-72a8ae5f5e8d status: code: 200 message: OK @@ -4786,10 +4809,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -4801,7 +4824,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:45:55 GMT + - Thu, 18 Jun 2020 05:02:25 GMT expires: - '-1' pragma: @@ -4818,7 +4841,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 392f32e7-c57b-4307-b689-9d6ab7747ff8 + - e8599900-3dc5-4d3a-9bc8-058a62805929 status: code: 200 message: OK @@ -4836,10 +4859,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -4851,7 +4874,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:46:07 GMT + - Thu, 18 Jun 2020 05:02:35 GMT expires: - '-1' pragma: @@ -4868,7 +4891,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 9bd79183-eb55-476d-b840-f6ad542832d9 + - 548fe542-f446-4ceb-9559-47d4eb74b2ae status: code: 200 message: OK @@ -4886,10 +4909,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -4901,7 +4924,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:46:17 GMT + - Thu, 18 Jun 2020 05:02:45 GMT expires: - '-1' pragma: @@ -4918,7 +4941,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 901c53fb-3aa7-40f4-ab9c-8242096c33fb + - 80d72bb3-010c-48b4-99a2-d9ba3d056115 status: code: 200 message: OK @@ -4936,10 +4959,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -4951,7 +4974,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:46:27 GMT + - Thu, 18 Jun 2020 05:02:57 GMT expires: - '-1' pragma: @@ -4968,7 +4991,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 370bf588-e99a-403c-8472-b8fc479f8208 + - a9fb78a6-595c-4566-9d9b-a3544232c960 status: code: 200 message: OK @@ -4986,10 +5009,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -5001,7 +5024,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:46:37 GMT + - Thu, 18 Jun 2020 05:03:07 GMT expires: - '-1' pragma: @@ -5018,7 +5041,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - afe8c416-748b-4c7e-9cbb-84607685334d + - 36f62de9-dc79-41a6-8783-8fcf44fc2c47 status: code: 200 message: OK @@ -5036,10 +5059,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -5051,7 +5074,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:46:47 GMT + - Thu, 18 Jun 2020 05:03:17 GMT expires: - '-1' pragma: @@ -5068,7 +5091,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 3f1587c7-e2c5-4178-a8e6-d0118fcbb25c + - 13703f4a-d347-4f8d-8b27-0d09cba1a030 status: code: 200 message: OK @@ -5086,10 +5109,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -5101,7 +5124,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:46:58 GMT + - Thu, 18 Jun 2020 05:03:27 GMT expires: - '-1' pragma: @@ -5118,7 +5141,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 16ee08c2-7848-40b3-9bb9-22e7865a321d + - 20d56b65-27e7-4fd4-b9ac-807694bbab9a status: code: 200 message: OK @@ -5136,10 +5159,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -5151,7 +5174,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:47:08 GMT + - Thu, 18 Jun 2020 05:03:38 GMT expires: - '-1' pragma: @@ -5168,7 +5191,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - a2bbc507-7aa7-488a-8b2b-d3c85b0c9561 + - 943c7493-0f48-406b-ada8-9706fcb43d2c status: code: 200 message: OK @@ -5186,10 +5209,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -5201,7 +5224,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:47:20 GMT + - Thu, 18 Jun 2020 05:03:48 GMT expires: - '-1' pragma: @@ -5218,7 +5241,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 16468916-dd1f-48e5-957a-9822e16b67fc + - 45302f87-df0d-401b-80cc-ba9dbf11303e status: code: 200 message: OK @@ -5236,10 +5259,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -5251,7 +5274,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:47:31 GMT + - Thu, 18 Jun 2020 05:03:58 GMT expires: - '-1' pragma: @@ -5268,7 +5291,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - b27b426c-a90f-45a1-bb06-4755739238f2 + - de1082bf-0c3e-4af1-adf1-0dbf18770a93 status: code: 200 message: OK @@ -5286,10 +5309,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -5301,7 +5324,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:47:41 GMT + - Thu, 18 Jun 2020 05:04:09 GMT expires: - '-1' pragma: @@ -5318,7 +5341,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 4edbd6b6-026c-4e32-b4c6-53aeab7d44dc + - d2a59c6c-7c1b-46f0-9970-8e2f49f6d9eb status: code: 200 message: OK @@ -5336,10 +5359,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -5351,7 +5374,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:47:51 GMT + - Thu, 18 Jun 2020 05:04:19 GMT expires: - '-1' pragma: @@ -5368,7 +5391,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - cbd14050-122d-43fc-bda4-cc6415ecd90f + - 27aa879f-8533-40fe-a553-b636194ed249 status: code: 200 message: OK @@ -5386,10 +5409,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -5401,7 +5424,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:48:01 GMT + - Thu, 18 Jun 2020 05:04:29 GMT expires: - '-1' pragma: @@ -5418,7 +5441,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 21603bfd-2a78-4f95-ad04-4adec781b3fc + - 3c5dd302-a14f-4322-bfb5-8bd174a6276b status: code: 200 message: OK @@ -5436,10 +5459,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -5451,7 +5474,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:48:12 GMT + - Thu, 18 Jun 2020 05:04:39 GMT expires: - '-1' pragma: @@ -5468,7 +5491,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - bd1ab20a-ff7a-4a4b-8fe9-8cd1fd7d201f + - b4816121-b3a5-4e57-8f4f-f689fc90f846 status: code: 200 message: OK @@ -5486,10 +5509,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -5501,7 +5524,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:48:23 GMT + - Thu, 18 Jun 2020 05:04:50 GMT expires: - '-1' pragma: @@ -5518,7 +5541,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 572f0d58-720a-464b-b7ac-e97cd5d35163 + - 64116c00-f433-4500-abdf-08ba7ded0562 status: code: 200 message: OK @@ -5536,10 +5559,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -5551,7 +5574,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:48:33 GMT + - Thu, 18 Jun 2020 05:05:02 GMT expires: - '-1' pragma: @@ -5568,7 +5591,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 7a90a96c-679a-4c2a-841b-a3e7c124ff66 + - 25ce6b5a-0356-49cf-952a-32df886fa390 status: code: 200 message: OK @@ -5586,10 +5609,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -5601,7 +5624,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:48:45 GMT + - Thu, 18 Jun 2020 05:05:12 GMT expires: - '-1' pragma: @@ -5618,7 +5641,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 531ec998-b6db-4f26-aaf7-bf86858d6303 + - 3f05382e-1b8c-4926-8144-231a56401489 status: code: 200 message: OK @@ -5636,10 +5659,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -5651,7 +5674,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:48:55 GMT + - Thu, 18 Jun 2020 05:05:22 GMT expires: - '-1' pragma: @@ -5668,7 +5691,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 648f7e85-54cf-48d6-82e8-762ec1d336f3 + - cc51ed4a-5cc1-491f-9cf0-e879ff66295b status: code: 200 message: OK @@ -5686,10 +5709,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -5701,7 +5724,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:49:05 GMT + - Thu, 18 Jun 2020 05:05:32 GMT expires: - '-1' pragma: @@ -5718,7 +5741,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - cf9a0933-bb43-4fed-a2bc-4b5c9090ae72 + - e5b1886f-af03-425f-a41f-567fe4ec7f7e status: code: 200 message: OK @@ -5736,10 +5759,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -5751,7 +5774,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:49:16 GMT + - Thu, 18 Jun 2020 05:05:42 GMT expires: - '-1' pragma: @@ -5768,7 +5791,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - a9f9965b-408e-4324-bd56-36f1bf548fcf + - 2bb69204-6e9a-4510-98da-61993fdc69b4 status: code: 200 message: OK @@ -5786,10 +5809,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -5801,7 +5824,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:49:28 GMT + - Thu, 18 Jun 2020 05:05:53 GMT expires: - '-1' pragma: @@ -5818,7 +5841,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - a118dae2-129e-4327-bc87-e1e00c3e32b1 + - 9caedb16-1521-4051-ad1a-8229d3e65753 status: code: 200 message: OK @@ -5836,10 +5859,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -5851,7 +5874,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:49:38 GMT + - Thu, 18 Jun 2020 05:06:03 GMT expires: - '-1' pragma: @@ -5868,7 +5891,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 72d4a4f4-502b-4ec4-ac45-d0761502c0d3 + - b86b202f-f5a6-4059-887d-ca414d5775d1 status: code: 200 message: OK @@ -5886,10 +5909,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -5901,7 +5924,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:49:48 GMT + - Thu, 18 Jun 2020 05:06:13 GMT expires: - '-1' pragma: @@ -5918,7 +5941,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - a43087b2-d918-4624-baa9-2bb45b3c4984 + - 114c115d-05dd-4d82-9cd5-976dee171303 status: code: 200 message: OK @@ -5936,10 +5959,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -5951,7 +5974,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:49:59 GMT + - Thu, 18 Jun 2020 05:06:23 GMT expires: - '-1' pragma: @@ -5968,7 +5991,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - d156abf0-414a-4812-ab45-232414581db9 + - 56034e49-9006-493f-b9c9-9b32d7877b9d status: code: 200 message: OK @@ -5986,10 +6009,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -6001,7 +6024,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:50:09 GMT + - Thu, 18 Jun 2020 05:06:35 GMT expires: - '-1' pragma: @@ -6018,7 +6041,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 546fb6fb-1c36-46d3-a955-01dff82f24ea + - 8b3ef636-7144-4e29-82dd-94bbe7ef662c status: code: 200 message: OK @@ -6036,10 +6059,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -6051,7 +6074,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:50:19 GMT + - Thu, 18 Jun 2020 05:06:45 GMT expires: - '-1' pragma: @@ -6068,7 +6091,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 62a2f3fc-8fb4-4315-b41a-b00c25176986 + - 9cad5e47-1363-45bf-b3f5-abe426f26108 status: code: 200 message: OK @@ -6086,10 +6109,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -6101,7 +6124,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:50:29 GMT + - Thu, 18 Jun 2020 05:06:55 GMT expires: - '-1' pragma: @@ -6118,7 +6141,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - fe997dc2-d5b2-4469-837a-3588c3155f2c + - 01e2599a-aaf0-4040-aaeb-3c447f92f9bc status: code: 200 message: OK @@ -6136,10 +6159,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -6151,7 +6174,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:50:41 GMT + - Thu, 18 Jun 2020 05:07:05 GMT expires: - '-1' pragma: @@ -6168,7 +6191,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 730ee272-e5fa-424a-bf3f-b69acd9498bd + - 5215cffd-b7e5-4e87-84cd-eeaf30bb60f4 status: code: 200 message: OK @@ -6186,10 +6209,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -6201,7 +6224,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:50:52 GMT + - Thu, 18 Jun 2020 05:07:15 GMT expires: - '-1' pragma: @@ -6218,7 +6241,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 89548e2f-36ec-4a4c-a1b9-9d52bbcc79f8 + - 4c62ffa6-4d61-4551-b987-96ca752f003f status: code: 200 message: OK @@ -6236,10 +6259,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -6251,7 +6274,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:51:02 GMT + - Thu, 18 Jun 2020 05:07:26 GMT expires: - '-1' pragma: @@ -6268,7 +6291,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - dcc8cf66-35ba-4cc8-8717-5ab28c420435 + - 36601327-7c5e-4a1a-97fa-023c5f4e101a status: code: 200 message: OK @@ -6286,10 +6309,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -6301,7 +6324,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:51:13 GMT + - Thu, 18 Jun 2020 05:07:37 GMT expires: - '-1' pragma: @@ -6318,7 +6341,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - efe90529-c1fc-45b9-a0b5-144ff1e94283 + - a314a995-f6fb-471e-ad26-7fcd4079c460 status: code: 200 message: OK @@ -6336,10 +6359,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -6351,7 +6374,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:51:23 GMT + - Thu, 18 Jun 2020 05:07:47 GMT expires: - '-1' pragma: @@ -6368,7 +6391,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - bd815eba-ac39-4263-9196-4f54d8b4f0f8 + - 540d0305-f707-49f8-b479-82f8df92545e status: code: 200 message: OK @@ -6386,10 +6409,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -6401,7 +6424,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:51:33 GMT + - Thu, 18 Jun 2020 05:07:57 GMT expires: - '-1' pragma: @@ -6418,7 +6441,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 45848d05-2dc5-47fa-b47e-3333253e4cd7 + - 8638f7b7-76e9-4384-b9f7-7340565a0ba2 status: code: 200 message: OK @@ -6436,10 +6459,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -6451,7 +6474,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:51:43 GMT + - Thu, 18 Jun 2020 05:08:08 GMT expires: - '-1' pragma: @@ -6468,7 +6491,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - d32ceaa3-7ef9-4f3d-9675-f9d2461ae2e1 + - e4258650-2118-4880-b9b3-0119db98e56c status: code: 200 message: OK @@ -6486,10 +6509,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -6501,7 +6524,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:51:54 GMT + - Thu, 18 Jun 2020 05:08:18 GMT expires: - '-1' pragma: @@ -6518,7 +6541,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - acab2cb5-65f3-4415-8281-4440c7468445 + - ef6fccd4-c296-433f-8848-91b1a4d5dd15 status: code: 200 message: OK @@ -6536,10 +6559,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -6551,7 +6574,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:52:05 GMT + - Thu, 18 Jun 2020 05:08:28 GMT expires: - '-1' pragma: @@ -6568,7 +6591,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - ba3ab58a-88e8-4ea9-8b17-fd7ced909313 + - 666b0ce6-a653-4af0-b45a-e8d5bd58b454 status: code: 200 message: OK @@ -6586,10 +6609,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -6601,7 +6624,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:52:16 GMT + - Thu, 18 Jun 2020 05:08:38 GMT expires: - '-1' pragma: @@ -6618,7 +6641,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 90067347-27a6-4e58-9166-ebb4d234db53 + - 20b21b5d-fd37-45e8-87a5-a9730908eb42 status: code: 200 message: OK @@ -6636,10 +6659,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -6651,7 +6674,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:52:26 GMT + - Thu, 18 Jun 2020 05:08:49 GMT expires: - '-1' pragma: @@ -6668,7 +6691,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 88d8ab83-b777-402c-a170-e1d94ded95de + - 9c39458b-0aec-462a-8d9e-1c0b5006e743 status: code: 200 message: OK @@ -6686,10 +6709,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -6701,7 +6724,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:52:37 GMT + - Thu, 18 Jun 2020 05:08:59 GMT expires: - '-1' pragma: @@ -6718,7 +6741,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 147aa286-0716-4af9-ba07-0d0f1bd39112 + - 306fa11d-cbf8-4d0b-8290-bc4689acab41 status: code: 200 message: OK @@ -6736,10 +6759,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -6751,7 +6774,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:52:47 GMT + - Thu, 18 Jun 2020 05:09:11 GMT expires: - '-1' pragma: @@ -6768,7 +6791,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 4e75be5f-b29f-46e3-ad7a-d78b2117c785 + - 51a72553-0074-4a69-9f37-0e2ecab3b0d6 status: code: 200 message: OK @@ -6786,10 +6809,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -6801,7 +6824,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:52:57 GMT + - Thu, 18 Jun 2020 05:09:21 GMT expires: - '-1' pragma: @@ -6818,7 +6841,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - c63099d2-6a7b-4242-9e37-9f681b8b6167 + - fec295f1-bdb2-4f02-98b8-5501afddb1fa status: code: 200 message: OK @@ -6836,10 +6859,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -6851,7 +6874,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:53:09 GMT + - Thu, 18 Jun 2020 05:09:31 GMT expires: - '-1' pragma: @@ -6868,7 +6891,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - fc95742a-9f92-4a4c-ba92-be7439f8e297 + - 516056c2-e404-4e3c-af63-fa36817075c3 status: code: 200 message: OK @@ -6886,10 +6909,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -6901,7 +6924,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:53:19 GMT + - Thu, 18 Jun 2020 05:09:42 GMT expires: - '-1' pragma: @@ -6918,7 +6941,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 9214f7b4-72fd-4e37-9632-c04cc820e8f0 + - abfa2e0c-4ee9-49bb-935e-4231484befed status: code: 200 message: OK @@ -6936,10 +6959,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -6951,7 +6974,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:53:29 GMT + - Thu, 18 Jun 2020 05:09:52 GMT expires: - '-1' pragma: @@ -6968,7 +6991,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 5980c361-9fb9-436a-aabf-67bf048f1a76 + - 214c6109-251d-4f9b-bbf2-2a908ee5b669 status: code: 200 message: OK @@ -6986,10 +7009,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -7001,7 +7024,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:53:39 GMT + - Thu, 18 Jun 2020 05:10:02 GMT expires: - '-1' pragma: @@ -7018,7 +7041,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - c43fbd50-fc75-4f26-9919-066fcbb4a8f9 + - 0ba897b7-cdb7-4dcd-8615-60e2404e9c6a status: code: 200 message: OK @@ -7036,10 +7059,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -7051,7 +7074,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:53:50 GMT + - Thu, 18 Jun 2020 05:10:12 GMT expires: - '-1' pragma: @@ -7068,7 +7091,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 888a83fb-a785-4d98-a2ea-8ecca61fac78 + - 210c819d-b66d-49d9-8976-b142c432e714 status: code: 200 message: OK @@ -7086,10 +7109,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -7101,7 +7124,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:54:00 GMT + - Thu, 18 Jun 2020 05:10:23 GMT expires: - '-1' pragma: @@ -7118,7 +7141,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 873e3201-2f27-45f6-bad5-37289239a1e9 + - 63749294-6eda-46dd-b4d6-df96006c65a0 status: code: 200 message: OK @@ -7136,10 +7159,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -7151,7 +7174,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:54:11 GMT + - Thu, 18 Jun 2020 05:10:33 GMT expires: - '-1' pragma: @@ -7168,7 +7191,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - a6308934-9903-45be-88ca-f66d55ef369f + - 92dcb9dd-9c79-4ae6-8baf-7c17688e7adf status: code: 200 message: OK @@ -7186,10 +7209,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -7201,7 +7224,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:54:22 GMT + - Thu, 18 Jun 2020 05:10:43 GMT expires: - '-1' pragma: @@ -7218,7 +7241,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - eb7b5f3c-62cf-4491-8721-a51186a5d27c + - 2dd250fe-1586-4300-ae09-380178d52020 status: code: 200 message: OK @@ -7236,10 +7259,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -7251,7 +7274,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:54:32 GMT + - Thu, 18 Jun 2020 05:10:53 GMT expires: - '-1' pragma: @@ -7268,7 +7291,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 2085339b-090d-4b36-b4e8-c04de45843b3 + - 2ec909c8-c535-4595-b1d9-93a91d863f42 status: code: 200 message: OK @@ -7286,10 +7309,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -7301,7 +7324,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:54:42 GMT + - Thu, 18 Jun 2020 05:11:05 GMT expires: - '-1' pragma: @@ -7318,7 +7341,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 72fc0dba-3a5d-4765-93af-f41f410e8d0d + - b5d37268-22ec-4c53-a090-64422bf5ad9b status: code: 200 message: OK @@ -7336,10 +7359,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -7351,7 +7374,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:54:53 GMT + - Thu, 18 Jun 2020 05:11:15 GMT expires: - '-1' pragma: @@ -7368,7 +7391,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 4b006eea-a3a0-4ab2-b922-952e140606e6 + - 8f07f2a8-fb9f-4e72-beed-d7f8519dba01 status: code: 200 message: OK @@ -7386,22 +7409,22 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ccef7a85-76ef-4644-9860-b0c5f1d806e3?api-version=2019-11-01 response: body: - string: "{\r\n \"status\": \"InProgress\"\r\n}" + string: "{\r\n \"status\": \"Succeeded\"\r\n}" headers: cache-control: - no-cache content-length: - - '30' + - '29' content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:55:03 GMT + - Thu, 18 Jun 2020 05:11:25 GMT expires: - '-1' pragma: @@ -7418,7 +7441,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 8b387c88-138f-48e9-8da0-659dbed3910e + - 70e0d755-0235-4f9e-9e74-bb937e6d52a3 status: code: 200 message: OK @@ -7436,22 +7459,36 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 response: body: - string: "{\r\n \"status\": \"InProgress\"\r\n}" + string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/azureFirewalls/af1\"\ + ,\r\n \"etag\": \"W/\\\"6a65855f-0d49-469f-9c95-4c53bdb8deb2\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"eastus\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n\ + \ \"sku\": {\r\n \"name\": \"AZFW_Hub\",\r\n \"tier\": \"Standard\"\ + \r\n },\r\n \"additionalProperties\": {\r\n \"Network.DNS.EnableProxy\"\ + : \"False\",\r\n \"Network.DNS.RequireProxyForNetworkRules\": \"True\"\ + ,\r\n \"Network.DNS.Servers\": \"\"\r\n },\r\n \"virtualHub\":\ + \ {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/virtualHubs/clitestvhub\"\ + \r\n },\r\n \"hubIPAddresses\": {\r\n \"privateIPAddress\": \"\ + 10.0.0.132\",\r\n \"publicIPAddresses\": [\r\n {\r\n \ + \ \"address\": \"52.191.35.10\"\r\n }\r\n ]\r\n }\r\n }\r\n\ + }" headers: cache-control: - no-cache content-length: - - '30' + - '1074' content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:55:13 GMT + - Thu, 18 Jun 2020 05:11:26 GMT + etag: + - W/"6a65855f-0d49-469f-9c95-4c53bdb8deb2" expires: - '-1' pragma: @@ -7468,7 +7505,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 9c4f22c2-865a-4281-80f1-a463b70f27eb + - 42eb00fc-90d7-426b-829f-82bb7ddffaeb status: code: 200 message: OK @@ -7486,22 +7523,38 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 response: body: - string: "{\r\n \"status\": \"InProgress\"\r\n}" + string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/azureFirewalls/af1\"\ + ,\r\n \"etag\": \"W/\\\"6a65855f-0d49-469f-9c95-4c53bdb8deb2\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"eastus\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n\ + \ \"sku\": {\r\n \"name\": \"AZFW_Hub\",\r\n \"tier\": \"Standard\"\ + \r\n },\r\n \"additionalProperties\": {\r\n \"Network.DNS.EnableProxy\"\ + : \"False\",\r\n \"Network.DNS.RequireProxyForNetworkRules\": \"True\"\ + ,\r\n \"Network.DNS.Servers\": \"\"\r\n },\r\n \"virtualHub\":\ + \ {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/virtualHubs/clitestvhub\"\ + \r\n },\r\n \"hubIPAddresses\": {\r\n \"privateIPAddress\": \"\ + 10.0.0.132\",\r\n \"publicIPAddresses\": [\r\n {\r\n \ + \ \"address\": \"52.191.35.10\"\r\n }\r\n ]\r\n }\r\n }\r\n\ + }" headers: cache-control: - no-cache content-length: - - '30' + - '1074' content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:55:25 GMT + - Thu, 18 Jun 2020 05:11:26 GMT + etag: + - W/"6a65855f-0d49-469f-9c95-4c53bdb8deb2" expires: - '-1' pragma: @@ -7518,12 +7571,15 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - e0569d90-67cf-495c-b917-e10cdfc57f9f + - 2c08aa0d-bfe1-4a2a-a7de-b4bdc1ad0094 status: code: 200 message: OK - request: - body: null + body: 'b''{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/azureFirewalls/af1", + "location": "eastus", "properties": {"sku": {"name": "AZFW_Hub", "tier": "Standard"}, + "additionalProperties": {"Network.DNS.EnableProxy": "False", "Network.DNS.RequireProxyForNetworkRules": + "True", "Network.DNS.Servers": ""}}}''' headers: Accept: - application/json @@ -7533,25 +7589,43 @@ interactions: - network firewall update Connection: - keep-alive + Content-Length: + - '426' + Content-Type: + - application/json; charset=utf-8 ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 response: body: - string: "{\r\n \"status\": \"InProgress\"\r\n}" + string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/azureFirewalls/af1\"\ + ,\r\n \"etag\": \"W/\\\"c6bb3000-41af-4bf0-a9fb-b29905d32e7b\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"eastus\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \ + \ \"sku\": {\r\n \"name\": \"AZFW_Hub\",\r\n \"tier\": \"Standard\"\ + \r\n },\r\n \"additionalProperties\": {\r\n \"Network.DNS.EnableProxy\"\ + : \"False\",\r\n \"Network.DNS.RequireProxyForNetworkRules\": \"True\"\ + ,\r\n \"Network.DNS.Servers\": \"\"\r\n },\r\n \"hubIPAddresses\"\ + : {\r\n \"privateIPAddress\": \"10.0.0.132\",\r\n \"publicIPAddresses\"\ + : [\r\n {\r\n \"address\": \"52.191.35.10\"\r\n }\r\ + \n ]\r\n }\r\n }\r\n}" headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/3c07f678-8db8-40da-8680-2d1f1185309a?api-version=2019-11-01 cache-control: - no-cache content-length: - - '30' + - '834' content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:55:36 GMT + - Thu, 18 Jun 2020 05:11:27 GMT expires: - '-1' pragma: @@ -7568,7 +7642,9 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 785b8be5-f8c2-4aae-8112-e5ae26b7e937 + - 774c4fae-e360-4772-81da-9bc8df162834 + x-ms-ratelimit-remaining-subscription-writes: + - '1193' status: code: 200 message: OK @@ -7586,10 +7662,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/3c07f678-8db8-40da-8680-2d1f1185309a?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -7601,7 +7677,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:55:46 GMT + - Thu, 18 Jun 2020 05:11:39 GMT expires: - '-1' pragma: @@ -7618,7 +7694,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 317d5be2-beaa-4050-a0ab-5f300909895b + - 6023982d-3c5a-4c3e-93a1-b58fd7a9c3e7 status: code: 200 message: OK @@ -7636,10 +7712,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/3c07f678-8db8-40da-8680-2d1f1185309a?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -7651,7 +7727,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:55:57 GMT + - Thu, 18 Jun 2020 05:11:49 GMT expires: - '-1' pragma: @@ -7668,7 +7744,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 77858581-415a-4983-be4f-51e91077e02d + - 6a792c3e-8777-4f8c-b88d-02bcb9a396c1 status: code: 200 message: OK @@ -7686,10 +7762,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/3c07f678-8db8-40da-8680-2d1f1185309a?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -7701,7 +7777,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:56:07 GMT + - Thu, 18 Jun 2020 05:11:59 GMT expires: - '-1' pragma: @@ -7718,7 +7794,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 2be67c83-b90e-466d-bdce-55715d023fbd + - 902b9367-ca09-494a-97ac-5d25e092e503 status: code: 200 message: OK @@ -7736,10 +7812,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/3c07f678-8db8-40da-8680-2d1f1185309a?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -7751,7 +7827,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:56:17 GMT + - Thu, 18 Jun 2020 05:12:09 GMT expires: - '-1' pragma: @@ -7768,7 +7844,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 18fa8fb3-563b-4278-b99c-ca14df596249 + - 5f6f3117-f5ae-437d-94bb-aba3e73c9966 status: code: 200 message: OK @@ -7786,22 +7862,22 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/030bedbb-011d-450b-874f-2d74b1b0050d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/3c07f678-8db8-40da-8680-2d1f1185309a?api-version=2019-11-01 response: body: - string: "{\r\n \"status\": \"Succeeded\"\r\n}" + string: "{\r\n \"status\": \"InProgress\"\r\n}" headers: cache-control: - no-cache content-length: - - '29' + - '30' content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:56:28 GMT + - Thu, 18 Jun 2020 05:12:20 GMT expires: - '-1' pragma: @@ -7818,7 +7894,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 9ac71379-0939-4eba-9e7a-2cb51d317c60 + - 0d075e1d-36c8-46f7-9a82-1a749c836791 status: code: 200 message: OK @@ -7836,32 +7912,22 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/3c07f678-8db8-40da-8680-2d1f1185309a?api-version=2019-11-01 response: body: - string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"cadde2db-29c5-4b6a-8c5a-d7f092784f9b\\\"\",\r\n \"type\": - \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"eastus\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Succeeded\",\r\n \"sku\": {\r\n \"name\": - \"AZFW_Hub\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"additionalProperties\": - {},\r\n \"virtualHub\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/virtualHubs/clitestvhub\"\r\n - \ },\r\n \"hubIPAddresses\": {\r\n \"privateIPAddress\": \"10.0.0.68\",\r\n - \ \"publicIPAddresses\": [\r\n {\r\n \"address\": \"52.142.19.158\"\r\n - \ }\r\n ]\r\n }\r\n }\r\n}" + string: "{\r\n \"status\": \"InProgress\"\r\n}" headers: cache-control: - no-cache content-length: - - '934' + - '30' content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:56:28 GMT - etag: - - W/"cadde2db-29c5-4b6a-8c5a-d7f092784f9b" + - Thu, 18 Jun 2020 05:12:30 GMT expires: - '-1' pragma: @@ -7878,7 +7944,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - f401d97c-dca7-4556-857d-3e724527cd29 + - 66dff39b-31d7-40f0-9fa8-7ebe03b1ff7a status: code: 200 message: OK @@ -7896,34 +7962,22 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 - accept-language: - - en-US + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/3c07f678-8db8-40da-8680-2d1f1185309a?api-version=2019-11-01 response: body: - string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"cadde2db-29c5-4b6a-8c5a-d7f092784f9b\\\"\",\r\n \"type\": - \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"eastus\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Succeeded\",\r\n \"sku\": {\r\n \"name\": - \"AZFW_Hub\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"additionalProperties\": - {},\r\n \"virtualHub\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/virtualHubs/clitestvhub\"\r\n - \ },\r\n \"hubIPAddresses\": {\r\n \"privateIPAddress\": \"10.0.0.68\",\r\n - \ \"publicIPAddresses\": [\r\n {\r\n \"address\": \"52.142.19.158\"\r\n - \ }\r\n ]\r\n }\r\n }\r\n}" + string: "{\r\n \"status\": \"InProgress\"\r\n}" headers: cache-control: - no-cache content-length: - - '934' + - '30' content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:56:30 GMT - etag: - - W/"cadde2db-29c5-4b6a-8c5a-d7f092784f9b" + - Thu, 18 Jun 2020 05:12:40 GMT expires: - '-1' pragma: @@ -7940,14 +7994,12 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 63465469-7e9c-4a51-97a3-754c4a85b2d8 + - 1f012e1a-dbd4-48f8-a436-cf28dd02cf32 status: code: 200 message: OK - request: - body: 'b''{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/azureFirewalls/af1", - "location": "eastus", "properties": {"sku": {"name": "AZFW_Hub", "tier": "Standard"}, - "additionalProperties": {}}}''' + body: null headers: Accept: - application/json @@ -7957,40 +8009,25 @@ interactions: - network firewall update Connection: - keep-alive - Content-Length: - - '314' - Content-Type: - - application/json; charset=utf-8 ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 - accept-language: - - en-US - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/3c07f678-8db8-40da-8680-2d1f1185309a?api-version=2019-11-01 response: body: - string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"4996f5a6-cc48-474c-8cc4-4829ac15ec2b\\\"\",\r\n \"type\": - \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"eastus\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Updating\",\r\n \"sku\": {\r\n \"name\": - \"AZFW_Hub\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"additionalProperties\": - {},\r\n \"hubIPAddresses\": {\r\n \"privateIPAddress\": \"10.0.0.68\",\r\n - \ \"publicIPAddresses\": [\r\n {\r\n \"address\": \"52.142.19.158\"\r\n - \ }\r\n ]\r\n }\r\n }\r\n}" + string: "{\r\n \"status\": \"InProgress\"\r\n}" headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1c236976-69db-47d7-8a20-d595454d0fcd?api-version=2019-11-01 cache-control: - no-cache content-length: - - '694' + - '30' content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:56:55 GMT + - Thu, 18 Jun 2020 05:12:51 GMT expires: - '-1' pragma: @@ -8007,9 +8044,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 1f4cc370-6abe-4f48-b4c1-df519b866a4c - x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - 231cf726-18c3-4ea7-aec4-18257a2f8421 status: code: 200 message: OK @@ -8027,10 +8062,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1c236976-69db-47d7-8a20-d595454d0fcd?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/3c07f678-8db8-40da-8680-2d1f1185309a?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -8042,7 +8077,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:57:09 GMT + - Thu, 18 Jun 2020 05:13:01 GMT expires: - '-1' pragma: @@ -8059,7 +8094,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 7d2bbb99-e0d5-4b5f-b650-022e629f56d9 + - fd603e18-148d-43a6-8bb5-16c6033068c3 status: code: 200 message: OK @@ -8077,10 +8112,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1c236976-69db-47d7-8a20-d595454d0fcd?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/3c07f678-8db8-40da-8680-2d1f1185309a?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -8092,7 +8127,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:57:20 GMT + - Thu, 18 Jun 2020 05:13:11 GMT expires: - '-1' pragma: @@ -8109,7 +8144,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - bae0ce57-c5ce-43f4-a44b-e0ae82696199 + - 3d8a2bf3-e1b9-4b3f-add1-2398b332474d status: code: 200 message: OK @@ -8127,10 +8162,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1c236976-69db-47d7-8a20-d595454d0fcd?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/3c07f678-8db8-40da-8680-2d1f1185309a?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -8142,7 +8177,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:57:31 GMT + - Thu, 18 Jun 2020 05:13:21 GMT expires: - '-1' pragma: @@ -8159,7 +8194,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - e83855c2-c891-441e-a9b8-55137159ef91 + - 67768d51-0f0d-44a2-97c1-ac1c281dec85 status: code: 200 message: OK @@ -8177,10 +8212,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1c236976-69db-47d7-8a20-d595454d0fcd?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/3c07f678-8db8-40da-8680-2d1f1185309a?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -8192,7 +8227,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:57:42 GMT + - Thu, 18 Jun 2020 05:13:33 GMT expires: - '-1' pragma: @@ -8209,7 +8244,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - ef74ade4-2af1-4e50-af46-f7d8bab28c24 + - 940264a5-fd1a-45bf-b4f2-19c28d526f63 status: code: 200 message: OK @@ -8227,10 +8262,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1c236976-69db-47d7-8a20-d595454d0fcd?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/3c07f678-8db8-40da-8680-2d1f1185309a?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -8242,7 +8277,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:57:53 GMT + - Thu, 18 Jun 2020 05:13:43 GMT expires: - '-1' pragma: @@ -8259,7 +8294,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 96b8691f-2ac4-4e49-adb7-222b0b67622d + - 60d21d9f-f42e-410c-b898-2ffe0998bd15 status: code: 200 message: OK @@ -8277,10 +8312,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1c236976-69db-47d7-8a20-d595454d0fcd?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/3c07f678-8db8-40da-8680-2d1f1185309a?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -8292,7 +8327,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:58:03 GMT + - Thu, 18 Jun 2020 05:13:53 GMT expires: - '-1' pragma: @@ -8309,7 +8344,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 2d45a98a-6313-4e2d-bdcd-7ec96009e72b + - 22eff4ce-f938-4094-843d-828e9d84158f status: code: 200 message: OK @@ -8327,10 +8362,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1c236976-69db-47d7-8a20-d595454d0fcd?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/3c07f678-8db8-40da-8680-2d1f1185309a?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -8342,7 +8377,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:58:14 GMT + - Thu, 18 Jun 2020 05:14:04 GMT expires: - '-1' pragma: @@ -8359,7 +8394,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - d8b71a4c-098f-41f6-83ba-6548bbd225e5 + - 5c5c38a9-1621-4edd-aa3d-7954c3ddccc5 status: code: 200 message: OK @@ -8377,10 +8412,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1c236976-69db-47d7-8a20-d595454d0fcd?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/3c07f678-8db8-40da-8680-2d1f1185309a?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -8392,7 +8427,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:58:24 GMT + - Thu, 18 Jun 2020 05:14:14 GMT expires: - '-1' pragma: @@ -8409,7 +8444,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 88430ded-506c-44b3-a0f3-0d13865686d9 + - b1dfe552-d08f-4a79-b1bc-f787597bc968 status: code: 200 message: OK @@ -8427,10 +8462,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1c236976-69db-47d7-8a20-d595454d0fcd?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/3c07f678-8db8-40da-8680-2d1f1185309a?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -8442,7 +8477,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:58:35 GMT + - Thu, 18 Jun 2020 05:14:24 GMT expires: - '-1' pragma: @@ -8459,7 +8494,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - f5819e21-14ae-4aaa-a797-ca324ba264be + - 36420c76-314d-422e-9f9d-69c5a838a9b2 status: code: 200 message: OK @@ -8477,10 +8512,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1c236976-69db-47d7-8a20-d595454d0fcd?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/3c07f678-8db8-40da-8680-2d1f1185309a?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -8492,7 +8527,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:58:45 GMT + - Thu, 18 Jun 2020 05:14:34 GMT expires: - '-1' pragma: @@ -8509,7 +8544,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - adbe9645-d454-40b0-83a3-81d62019db31 + - 166bed09-719c-4470-b79a-f03957f7ac1b status: code: 200 message: OK @@ -8527,10 +8562,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1c236976-69db-47d7-8a20-d595454d0fcd?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/3c07f678-8db8-40da-8680-2d1f1185309a?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -8542,7 +8577,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:58:57 GMT + - Thu, 18 Jun 2020 05:14:45 GMT expires: - '-1' pragma: @@ -8559,7 +8594,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - cce88146-9ba6-48b6-bf4b-5dc24a73507b + - f4c97166-9d52-4fe7-a6d7-749988ff6696 status: code: 200 message: OK @@ -8577,10 +8612,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1c236976-69db-47d7-8a20-d595454d0fcd?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/3c07f678-8db8-40da-8680-2d1f1185309a?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -8592,7 +8627,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:59:07 GMT + - Thu, 18 Jun 2020 05:14:55 GMT expires: - '-1' pragma: @@ -8609,7 +8644,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - b2a7045b-3b08-4b69-8e13-e210d0df2bf8 + - 94017463-cdbc-4998-9012-a5bbb87d86a9 status: code: 200 message: OK @@ -8627,10 +8662,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1c236976-69db-47d7-8a20-d595454d0fcd?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/3c07f678-8db8-40da-8680-2d1f1185309a?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -8642,7 +8677,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:59:18 GMT + - Thu, 18 Jun 2020 05:15:05 GMT expires: - '-1' pragma: @@ -8659,7 +8694,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 7c4c307d-f1cc-4a7e-af37-af069e2ae052 + - 7d760933-2d5d-40d4-bf20-85ba3956ae7e status: code: 200 message: OK @@ -8677,10 +8712,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1c236976-69db-47d7-8a20-d595454d0fcd?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/3c07f678-8db8-40da-8680-2d1f1185309a?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -8692,7 +8727,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:59:29 GMT + - Thu, 18 Jun 2020 05:15:16 GMT expires: - '-1' pragma: @@ -8709,7 +8744,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 022ab7d8-dff2-40a3-a3aa-af05fd1e745d + - 3ca737ee-0773-440d-bf7d-b4b2e8400e7a status: code: 200 message: OK @@ -8727,10 +8762,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1c236976-69db-47d7-8a20-d595454d0fcd?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/3c07f678-8db8-40da-8680-2d1f1185309a?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -8742,7 +8777,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:59:40 GMT + - Thu, 18 Jun 2020 05:15:26 GMT expires: - '-1' pragma: @@ -8759,7 +8794,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - e4d6c656-61b8-4fc3-b824-be7de8cda8d3 + - 13c268ae-c187-478a-ab8d-1f21d44d95d6 status: code: 200 message: OK @@ -8777,10 +8812,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1c236976-69db-47d7-8a20-d595454d0fcd?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/3c07f678-8db8-40da-8680-2d1f1185309a?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -8792,7 +8827,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 06:59:50 GMT + - Thu, 18 Jun 2020 05:15:36 GMT expires: - '-1' pragma: @@ -8809,7 +8844,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 2ba6c218-c286-4921-923e-1bfd44f1ba9a + - af4acefe-4136-4ab7-9ca8-9a852039289a status: code: 200 message: OK @@ -8827,10 +8862,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1c236976-69db-47d7-8a20-d595454d0fcd?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/3c07f678-8db8-40da-8680-2d1f1185309a?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -8842,7 +8877,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:00:01 GMT + - Thu, 18 Jun 2020 05:15:47 GMT expires: - '-1' pragma: @@ -8859,7 +8894,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - ab71fa11-56d2-4781-8af6-dc270a9e51c5 + - 95256da3-f013-42cf-9ab7-496e6edcb088 status: code: 200 message: OK @@ -8877,10 +8912,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1c236976-69db-47d7-8a20-d595454d0fcd?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/3c07f678-8db8-40da-8680-2d1f1185309a?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -8892,7 +8927,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:00:11 GMT + - Thu, 18 Jun 2020 05:15:58 GMT expires: - '-1' pragma: @@ -8909,7 +8944,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 9b14af01-943b-4a0b-bdd0-a8b18430946e + - 555e4c74-537c-460d-ade4-2bef10850342 status: code: 200 message: OK @@ -8927,10 +8962,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1c236976-69db-47d7-8a20-d595454d0fcd?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/3c07f678-8db8-40da-8680-2d1f1185309a?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -8942,7 +8977,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:00:21 GMT + - Thu, 18 Jun 2020 05:16:08 GMT expires: - '-1' pragma: @@ -8959,7 +8994,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 5411b706-2a68-4598-b900-af09b77dfe61 + - f552a4a5-f50d-49a8-8b67-586f5465e7c8 status: code: 200 message: OK @@ -8977,10 +9012,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1c236976-69db-47d7-8a20-d595454d0fcd?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/3c07f678-8db8-40da-8680-2d1f1185309a?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -8992,7 +9027,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:00:32 GMT + - Thu, 18 Jun 2020 05:16:19 GMT expires: - '-1' pragma: @@ -9009,7 +9044,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - b4c7472e-1519-44b8-8623-95abb81839b5 + - 3bb0ebab-963e-429d-91c0-79e7f872477c status: code: 200 message: OK @@ -9027,10 +9062,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1c236976-69db-47d7-8a20-d595454d0fcd?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/3c07f678-8db8-40da-8680-2d1f1185309a?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -9042,7 +9077,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:00:44 GMT + - Thu, 18 Jun 2020 05:16:29 GMT expires: - '-1' pragma: @@ -9059,7 +9094,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 6692dc60-62e6-41f4-9204-bef358d014ab + - c94f4b82-6f63-4440-8924-406629186b1d status: code: 200 message: OK @@ -9077,10 +9112,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1c236976-69db-47d7-8a20-d595454d0fcd?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/3c07f678-8db8-40da-8680-2d1f1185309a?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -9092,7 +9127,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:00:54 GMT + - Thu, 18 Jun 2020 05:16:39 GMT expires: - '-1' pragma: @@ -9109,7 +9144,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 3761c373-d767-4fd5-9d36-ae93b94e55d5 + - af1fa7f7-d6a7-45ef-8644-a9a55e011f6c status: code: 200 message: OK @@ -9127,10 +9162,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1c236976-69db-47d7-8a20-d595454d0fcd?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/3c07f678-8db8-40da-8680-2d1f1185309a?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -9142,7 +9177,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:01:04 GMT + - Thu, 18 Jun 2020 05:16:50 GMT expires: - '-1' pragma: @@ -9159,7 +9194,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 87db80d3-e429-4e14-bee5-633385be79bf + - fc1d69f7-7b9e-4e73-ae21-0dc84d0776fd status: code: 200 message: OK @@ -9177,10 +9212,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1c236976-69db-47d7-8a20-d595454d0fcd?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/3c07f678-8db8-40da-8680-2d1f1185309a?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -9192,7 +9227,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:01:17 GMT + - Thu, 18 Jun 2020 05:17:00 GMT expires: - '-1' pragma: @@ -9209,7 +9244,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - ac60be7c-c518-43bf-bd93-9a4186040afb + - d8f221a6-db8b-440f-be0b-ce57ccc8a9c4 status: code: 200 message: OK @@ -9227,10 +9262,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1c236976-69db-47d7-8a20-d595454d0fcd?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/3c07f678-8db8-40da-8680-2d1f1185309a?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -9242,7 +9277,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:01:28 GMT + - Thu, 18 Jun 2020 05:17:12 GMT expires: - '-1' pragma: @@ -9259,7 +9294,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 6f0c9380-18b0-43bd-8b52-222635e064bf + - a5cd2008-e295-4e49-ba87-dfce12692cc9 status: code: 200 message: OK @@ -9277,10 +9312,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1c236976-69db-47d7-8a20-d595454d0fcd?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/3c07f678-8db8-40da-8680-2d1f1185309a?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -9292,7 +9327,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:01:38 GMT + - Thu, 18 Jun 2020 05:17:22 GMT expires: - '-1' pragma: @@ -9309,7 +9344,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 67a0a1e4-bbcf-4c7e-af79-26cd5a432764 + - 2d02a148-5483-40e7-b587-c1323196e64f status: code: 200 message: OK @@ -9327,10 +9362,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1c236976-69db-47d7-8a20-d595454d0fcd?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/3c07f678-8db8-40da-8680-2d1f1185309a?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -9342,7 +9377,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:01:50 GMT + - Thu, 18 Jun 2020 05:17:32 GMT expires: - '-1' pragma: @@ -9359,7 +9394,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 08c30ae0-dcf2-40cb-bd72-3b5834b5c497 + - f28ac706-4a4f-4ba3-91e2-887b5a2904e4 status: code: 200 message: OK @@ -9377,10 +9412,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1c236976-69db-47d7-8a20-d595454d0fcd?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/3c07f678-8db8-40da-8680-2d1f1185309a?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -9392,7 +9427,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:02:01 GMT + - Thu, 18 Jun 2020 05:17:42 GMT expires: - '-1' pragma: @@ -9409,7 +9444,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - f102a5c4-500c-4dfa-8228-2a8c59068c40 + - d43dd6ca-7ed9-445e-979d-4a268750bb0c status: code: 200 message: OK @@ -9427,10 +9462,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1c236976-69db-47d7-8a20-d595454d0fcd?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/3c07f678-8db8-40da-8680-2d1f1185309a?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -9442,7 +9477,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:02:11 GMT + - Thu, 18 Jun 2020 05:17:53 GMT expires: - '-1' pragma: @@ -9459,7 +9494,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - d060d056-0649-41ec-acf8-c2c61c6f25d1 + - f93c8fa6-7e05-44a6-843a-afed43c9a5d3 status: code: 200 message: OK @@ -9477,10 +9512,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1c236976-69db-47d7-8a20-d595454d0fcd?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/3c07f678-8db8-40da-8680-2d1f1185309a?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -9492,7 +9527,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:02:21 GMT + - Thu, 18 Jun 2020 05:18:03 GMT expires: - '-1' pragma: @@ -9509,7 +9544,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 56793315-f731-4321-a2e4-31d31904d58d + - 85e640ff-37b0-4e46-a861-6be5895a8d45 status: code: 200 message: OK @@ -9527,10 +9562,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1c236976-69db-47d7-8a20-d595454d0fcd?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/3c07f678-8db8-40da-8680-2d1f1185309a?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -9542,7 +9577,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:02:32 GMT + - Thu, 18 Jun 2020 05:18:13 GMT expires: - '-1' pragma: @@ -9559,7 +9594,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 446af872-9790-43a7-9470-e7604c54cba3 + - 44f6c2fa-34c0-4bd6-99b2-90a4b20f6832 status: code: 200 message: OK @@ -9577,10 +9612,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1c236976-69db-47d7-8a20-d595454d0fcd?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/3c07f678-8db8-40da-8680-2d1f1185309a?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -9592,7 +9627,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:02:42 GMT + - Thu, 18 Jun 2020 05:18:24 GMT expires: - '-1' pragma: @@ -9609,7 +9644,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - e1f69a03-c68c-4ba6-bdb1-1e9abd43654d + - 288fe08d-6acc-4987-985c-e17eb29ec611 status: code: 200 message: OK @@ -9627,10 +9662,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1c236976-69db-47d7-8a20-d595454d0fcd?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/3c07f678-8db8-40da-8680-2d1f1185309a?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -9642,7 +9677,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:02:52 GMT + - Thu, 18 Jun 2020 05:18:34 GMT expires: - '-1' pragma: @@ -9659,7 +9694,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - bbf0afe6-dba7-4b62-a161-fe6d0af1d4fa + - 75856040-3312-4554-b507-4fd369072f68 status: code: 200 message: OK @@ -9677,10 +9712,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1c236976-69db-47d7-8a20-d595454d0fcd?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/3c07f678-8db8-40da-8680-2d1f1185309a?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -9692,7 +9727,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:03:03 GMT + - Thu, 18 Jun 2020 05:18:44 GMT expires: - '-1' pragma: @@ -9709,7 +9744,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 9a3d3b80-b430-4c83-a98e-8446958d586b + - f8e37a7d-526f-4e9a-8ce1-788cf1f52094 status: code: 200 message: OK @@ -9727,10 +9762,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1c236976-69db-47d7-8a20-d595454d0fcd?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/3c07f678-8db8-40da-8680-2d1f1185309a?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -9742,7 +9777,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:03:14 GMT + - Thu, 18 Jun 2020 05:18:55 GMT expires: - '-1' pragma: @@ -9759,7 +9794,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 81a40fd9-fa85-4ae4-bb41-bc3563cf2ff1 + - 76e3dfa9-22df-4f46-937a-bf409d9a69ec status: code: 200 message: OK @@ -9777,10 +9812,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1c236976-69db-47d7-8a20-d595454d0fcd?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/3c07f678-8db8-40da-8680-2d1f1185309a?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -9792,7 +9827,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:03:25 GMT + - Thu, 18 Jun 2020 05:19:05 GMT expires: - '-1' pragma: @@ -9809,7 +9844,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 6f809420-3331-4ea5-a173-3c4965b7837c + - 96ab3523-2853-450f-93b4-4aded375cbe8 status: code: 200 message: OK @@ -9827,10 +9862,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1c236976-69db-47d7-8a20-d595454d0fcd?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/3c07f678-8db8-40da-8680-2d1f1185309a?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -9842,7 +9877,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:03:35 GMT + - Thu, 18 Jun 2020 05:19:16 GMT expires: - '-1' pragma: @@ -9859,7 +9894,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 2f45a69f-5214-4faa-959b-60cab1701e9e + - cb9c6fa5-baf0-4622-a364-471db7987b5e status: code: 200 message: OK @@ -9877,10 +9912,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1c236976-69db-47d7-8a20-d595454d0fcd?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/3c07f678-8db8-40da-8680-2d1f1185309a?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -9892,7 +9927,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:03:46 GMT + - Thu, 18 Jun 2020 05:19:26 GMT expires: - '-1' pragma: @@ -9909,7 +9944,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 3237b0da-de30-4e82-9617-4c38d54ab0ac + - 2248888c-bf77-47bc-bf05-a1c55c956ef0 status: code: 200 message: OK @@ -9927,10 +9962,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1c236976-69db-47d7-8a20-d595454d0fcd?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/3c07f678-8db8-40da-8680-2d1f1185309a?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -9942,7 +9977,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:03:56 GMT + - Thu, 18 Jun 2020 05:19:37 GMT expires: - '-1' pragma: @@ -9959,7 +9994,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 92e05320-72e8-4778-9db6-f2ab39331dc7 + - b9f69b1b-f808-4ffe-be7e-c2d2eb73dc64 status: code: 200 message: OK @@ -9977,10 +10012,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1c236976-69db-47d7-8a20-d595454d0fcd?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/3c07f678-8db8-40da-8680-2d1f1185309a?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -9992,7 +10027,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:04:06 GMT + - Thu, 18 Jun 2020 05:19:47 GMT expires: - '-1' pragma: @@ -10009,7 +10044,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 3e3c1ff2-d52b-4de2-9ff8-be1e446242e8 + - f9c0cbad-1c51-4e74-8cc2-6934d663e1cd status: code: 200 message: OK @@ -10027,10 +10062,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1c236976-69db-47d7-8a20-d595454d0fcd?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/3c07f678-8db8-40da-8680-2d1f1185309a?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -10042,7 +10077,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:04:18 GMT + - Thu, 18 Jun 2020 05:19:57 GMT expires: - '-1' pragma: @@ -10059,7 +10094,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 34044157-363f-4638-ad15-31e1506f84f5 + - b9b3f50e-2970-4911-9d5c-b442ab06054d status: code: 200 message: OK @@ -10077,10 +10112,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1c236976-69db-47d7-8a20-d595454d0fcd?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/3c07f678-8db8-40da-8680-2d1f1185309a?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -10092,7 +10127,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:04:31 GMT + - Thu, 18 Jun 2020 05:20:07 GMT expires: - '-1' pragma: @@ -10109,7 +10144,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 7459f791-5d46-47d6-bd39-218604d097b9 + - 711c6bd6-3a68-4528-8c8c-2683cb89d958 status: code: 200 message: OK @@ -10127,10 +10162,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1c236976-69db-47d7-8a20-d595454d0fcd?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/3c07f678-8db8-40da-8680-2d1f1185309a?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -10142,7 +10177,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:04:46 GMT + - Thu, 18 Jun 2020 05:20:18 GMT expires: - '-1' pragma: @@ -10159,7 +10194,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - eb8703fb-b5b6-4dac-a9e4-c8ef15d95ef5 + - 314f20b3-82c3-40ab-8ae2-0af5e1925bbf status: code: 200 message: OK @@ -10177,10 +10212,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1c236976-69db-47d7-8a20-d595454d0fcd?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/3c07f678-8db8-40da-8680-2d1f1185309a?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -10192,7 +10227,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:04:56 GMT + - Thu, 18 Jun 2020 05:20:28 GMT expires: - '-1' pragma: @@ -10209,7 +10244,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 48dc41b3-6f28-48d5-a2a0-fe02c97cb8ad + - 13c46ad1-2115-4994-84ac-b9cd88700afb status: code: 200 message: OK @@ -10227,10 +10262,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1c236976-69db-47d7-8a20-d595454d0fcd?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/3c07f678-8db8-40da-8680-2d1f1185309a?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -10242,7 +10277,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:05:07 GMT + - Thu, 18 Jun 2020 05:20:38 GMT expires: - '-1' pragma: @@ -10259,7 +10294,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - ea6de016-9d9d-4946-bc35-d24782b0eb27 + - 585e6b82-c7a8-46f5-8c32-1577bb09a16e status: code: 200 message: OK @@ -10277,10 +10312,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1c236976-69db-47d7-8a20-d595454d0fcd?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/3c07f678-8db8-40da-8680-2d1f1185309a?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -10292,7 +10327,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:05:17 GMT + - Thu, 18 Jun 2020 05:20:50 GMT expires: - '-1' pragma: @@ -10309,7 +10344,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 922588c2-bf44-4586-a9a9-30b7594fea78 + - 6dc9d303-b701-4ab2-a6d5-ffca6c020548 status: code: 200 message: OK @@ -10327,10 +10362,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1c236976-69db-47d7-8a20-d595454d0fcd?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/3c07f678-8db8-40da-8680-2d1f1185309a?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -10342,7 +10377,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:05:29 GMT + - Thu, 18 Jun 2020 05:21:00 GMT expires: - '-1' pragma: @@ -10359,7 +10394,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 6a912847-f19e-4388-9c89-483fd7be8600 + - 6501a6fa-ef8c-42d4-941b-df05b6bfad13 status: code: 200 message: OK @@ -10377,10 +10412,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1c236976-69db-47d7-8a20-d595454d0fcd?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/3c07f678-8db8-40da-8680-2d1f1185309a?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -10392,7 +10427,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:05:41 GMT + - Thu, 18 Jun 2020 05:21:11 GMT expires: - '-1' pragma: @@ -10409,7 +10444,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 856a247a-514d-455f-b858-9284f9fe7d34 + - 35e632c6-8ebe-4218-be00-36c3c748d9cf status: code: 200 message: OK @@ -10427,10 +10462,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1c236976-69db-47d7-8a20-d595454d0fcd?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/3c07f678-8db8-40da-8680-2d1f1185309a?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -10442,7 +10477,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:05:51 GMT + - Thu, 18 Jun 2020 05:21:21 GMT expires: - '-1' pragma: @@ -10459,7 +10494,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 2418e4ae-35a8-496d-a202-26be213888a7 + - 252f0a0f-b1a7-44b8-aaa7-ef45c3c66048 status: code: 200 message: OK @@ -10477,10 +10512,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1c236976-69db-47d7-8a20-d595454d0fcd?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/3c07f678-8db8-40da-8680-2d1f1185309a?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -10492,7 +10527,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:06:02 GMT + - Thu, 18 Jun 2020 05:21:31 GMT expires: - '-1' pragma: @@ -10509,7 +10544,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - f50c314b-1dfb-4313-8ee9-de6716e96532 + - 031cb610-5b1c-495a-8aa2-96d19ebc935f status: code: 200 message: OK @@ -10527,10 +10562,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1c236976-69db-47d7-8a20-d595454d0fcd?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/3c07f678-8db8-40da-8680-2d1f1185309a?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -10542,7 +10577,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:06:20 GMT + - Thu, 18 Jun 2020 05:21:42 GMT expires: - '-1' pragma: @@ -10559,7 +10594,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 73b1746e-214c-4411-8d4b-efc856f519d2 + - 7eab180f-2f3e-4deb-8b17-5a4c592233d2 status: code: 200 message: OK @@ -10577,22 +10612,22 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1c236976-69db-47d7-8a20-d595454d0fcd?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/3c07f678-8db8-40da-8680-2d1f1185309a?api-version=2019-11-01 response: body: - string: "{\r\n \"status\": \"InProgress\"\r\n}" + string: "{\r\n \"status\": \"Succeeded\"\r\n}" headers: cache-control: - no-cache content-length: - - '30' + - '29' content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:06:31 GMT + - Thu, 18 Jun 2020 05:21:52 GMT expires: - '-1' pragma: @@ -10609,7 +10644,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 26cadfbd-77db-4484-bcd2-c8d8471ab783 + - 551fe7e3-8429-4b00-82ed-1398718f7295 status: code: 200 message: OK @@ -10627,22 +10662,34 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1c236976-69db-47d7-8a20-d595454d0fcd?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 response: body: - string: "{\r\n \"status\": \"InProgress\"\r\n}" + string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/azureFirewalls/af1\"\ + ,\r\n \"etag\": \"W/\\\"d44fab2c-1a21-4d81-974e-bcea67cca52e\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"eastus\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n\ + \ \"sku\": {\r\n \"name\": \"AZFW_Hub\",\r\n \"tier\": \"Standard\"\ + \r\n },\r\n \"additionalProperties\": {\r\n \"Network.DNS.EnableProxy\"\ + : \"False\",\r\n \"Network.DNS.RequireProxyForNetworkRules\": \"True\"\ + ,\r\n \"Network.DNS.Servers\": \"\"\r\n },\r\n \"hubIPAddresses\"\ + : {\r\n \"privateIPAddress\": \"10.0.0.132\",\r\n \"publicIPAddresses\"\ + : [\r\n {\r\n \"address\": \"52.191.35.10\"\r\n }\r\ + \n ]\r\n }\r\n }\r\n}" headers: cache-control: - no-cache content-length: - - '30' + - '835' content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:06:42 GMT + - Thu, 18 Jun 2020 05:21:52 GMT + etag: + - W/"d44fab2c-1a21-4d81-974e-bcea67cca52e" expires: - '-1' pragma: @@ -10659,7 +10706,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - eaf16809-224e-4f8c-b749-0dfc5fe6907f + - badbf441-5c61-4777-b701-8a09d3ec0382 status: code: 200 message: OK @@ -10671,45 +10718,154 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - network firewall update + - network vwan create Connection: - keep-alive ParameterSetName: - - -g -n --vhub + - -n -g --type User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1c236976-69db-47d7-8a20-d595454d0fcd?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_azure_firewall_virtual_hub000001?api-version=2019-07-01 response: body: - string: "{\r\n \"status\": \"InProgress\"\r\n}" + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001","name":"cli_test_azure_firewall_virtual_hub000001","type":"Microsoft.Resources/resourceGroups","location":"eastus","tags":{"product":"azurecli","cause":"automation","date":"2020-06-18T04:46:48Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '30' + - '428' content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:06:53 GMT + - Thu, 18 Jun 2020 05:21:53 GMT expires: - '-1' pragma: - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 strict-transport-security: - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked vary: - Accept-Encoding x-content-type-options: - nosniff + status: + code: 200 + message: OK +- request: + body: '{"location": "eastus"}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vwan create + Connection: + - keep-alive + Content-Length: + - '22' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -n -g --type + User-Agent: + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/virtualWans/clitestvwan2?api-version=2018-08-01 + response: + body: + string: "{\r\n \"name\": \"clitestvwan2\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/virtualWans/clitestvwan2\"\ + ,\r\n \"etag\": \"W/\\\"1969473d-9583-488f-ac8d-ae481fa1d09a\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/virtualWans\",\r\n \"location\": \"eastus\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \ + \ \"disableVpnEncryption\": false,\r\n \"allowBranchToBranchTraffic\"\ + : true,\r\n \"allowVnetToVnetTraffic\": true,\r\n \"office365LocalBreakoutCategory\"\ + : \"None\"\r\n }\r\n}" + headers: + azure-asyncnotification: + - Enabled + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/de0bb78d-9fda-4965-90d1-52d44b2a274d?api-version=2018-08-01 + cache-control: + - no-cache + content-length: + - '587' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 18 Jun 2020 05:22:01 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff x-ms-arm-service-request-id: - - 0c105f9e-152f-47c0-9c29-cfe0bdb7528a + - c0054636-bd66-45b2-ad67-596150609734 + x-ms-ratelimit-remaining-subscription-writes: + - '1192' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vwan create + Connection: + - keep-alive + ParameterSetName: + - -n -g --type + User-Agent: + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/de0bb78d-9fda-4965-90d1-52d44b2a274d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"Succeeded\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '29' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 18 Jun 2020 05:22:11 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - c171fe78-fd93-40c3-9843-a5fbfb2ec63e status: code: 200 message: OK @@ -10721,16 +10877,140 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - network firewall update + - network vwan create Connection: - keep-alive ParameterSetName: - - -g -n --vhub + - -n -g --type + User-Agent: + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/virtualWans/clitestvwan2?api-version=2018-08-01 + response: + body: + string: "{\r\n \"name\": \"clitestvwan2\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/virtualWans/clitestvwan2\"\ + ,\r\n \"etag\": \"W/\\\"9fc73c64-f71e-4ea7-a611-bd4dc12d0e65\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/virtualWans\",\r\n \"location\": \"eastus\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n\ + \ \"disableVpnEncryption\": false,\r\n \"allowBranchToBranchTraffic\"\ + : true,\r\n \"allowVnetToVnetTraffic\": true,\r\n \"office365LocalBreakoutCategory\"\ + : \"None\"\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '588' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 18 Jun 2020 05:22:12 GMT + etag: + - W/"9fc73c64-f71e-4ea7-a611-bd4dc12d0e65" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - fff7791a-84be-4b17-b4d0-0e1e92996cda + status: + code: 200 + message: OK +- request: + body: 'b''{"location": "eastus", "properties": {"virtualWan": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/virtualWans/clitestvwan2"}, + "addressPrefix": "10.0.0.0/24"}}''' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub create + Connection: + - keep-alive + Content-Length: + - '291' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -g -n --vwan --address-prefix -l --sku + User-Agent: + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/virtualHubs/clitestvhub2?api-version=2018-08-01 + response: + body: + string: "{\r\n \"name\": \"clitestvhub2\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/virtualHubs/clitestvhub2\"\ + ,\r\n \"etag\": \"W/\\\"82fcdf61-cd6d-45cf-97aa-e9621aaa983c\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/virtualHubs\",\r\n \"location\": \"eastus\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \ + \ \"virtualNetworkConnections\": [],\r\n \"addressPrefix\": \"10.0.0.0/24\"\ + ,\r\n \"virtualRouterIps\": [],\r\n \"routeTable\": {\r\n \"routes\"\ + : []\r\n },\r\n \"virtualWan\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/virtualWans/clitestvwan2\"\ + \r\n }\r\n }\r\n}" + headers: + azure-asyncnotification: + - Enabled + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/3a712a31-558d-4f2f-ad4a-1746cea1fa23?api-version=2018-08-01 + cache-control: + - no-cache + content-length: + - '819' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 18 Jun 2020 05:22:19 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - cc16c00b-360c-414f-85fe-b3dba10f03ee + x-ms-ratelimit-remaining-subscription-writes: + - '1197' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vwan --address-prefix -l --sku User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1c236976-69db-47d7-8a20-d595454d0fcd?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/3a712a31-558d-4f2f-ad4a-1746cea1fa23?api-version=2018-08-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -10742,7 +11022,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:07:04 GMT + - Thu, 18 Jun 2020 05:22:30 GMT expires: - '-1' pragma: @@ -10759,7 +11039,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 4999e8e7-9fe3-42ad-8a34-d62559117eef + - 5e185651-3115-47b6-9721-81999666406f status: code: 200 message: OK @@ -10771,16 +11051,116 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - network firewall update + - network vhub create Connection: - keep-alive ParameterSetName: - - -g -n --vhub + - -g -n --vwan --address-prefix -l --sku + User-Agent: + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/3a712a31-558d-4f2f-ad4a-1746cea1fa23?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 18 Jun 2020 05:22:42 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - d2e28517-5844-4d63-bda7-e4aa01c59148 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vwan --address-prefix -l --sku + User-Agent: + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/3a712a31-558d-4f2f-ad4a-1746cea1fa23?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 18 Jun 2020 05:22:52 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 1fbae878-b29b-4693-97c4-a525d06b8286 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vwan --address-prefix -l --sku User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1c236976-69db-47d7-8a20-d595454d0fcd?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/3a712a31-558d-4f2f-ad4a-1746cea1fa23?api-version=2018-08-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -10792,7 +11172,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:07:15 GMT + - Thu, 18 Jun 2020 05:23:04 GMT expires: - '-1' pragma: @@ -10809,7 +11189,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - a0866497-32d7-4b49-a7fa-8e96bf591c00 + - 2cbe094d-5a34-4c8d-96e2-20cc9f8ea7bd status: code: 200 message: OK @@ -10821,16 +11201,16 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - network firewall update + - network vhub create Connection: - keep-alive ParameterSetName: - - -g -n --vhub + - -g -n --vwan --address-prefix -l --sku User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1c236976-69db-47d7-8a20-d595454d0fcd?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/3a712a31-558d-4f2f-ad4a-1746cea1fa23?api-version=2018-08-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -10842,7 +11222,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:07:32 GMT + - Thu, 18 Jun 2020 05:23:14 GMT expires: - '-1' pragma: @@ -10859,7 +11239,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - bdb49a91-8946-4359-8d7c-7b9cc06ff841 + - 4efe7d8b-9258-470c-9cee-9271df5123d3 status: code: 200 message: OK @@ -10871,16 +11251,16 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - network firewall update + - network vhub create Connection: - keep-alive ParameterSetName: - - -g -n --vhub + - -g -n --vwan --address-prefix -l --sku User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1c236976-69db-47d7-8a20-d595454d0fcd?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/3a712a31-558d-4f2f-ad4a-1746cea1fa23?api-version=2018-08-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -10892,7 +11272,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:07:43 GMT + - Thu, 18 Jun 2020 05:23:25 GMT expires: - '-1' pragma: @@ -10909,7 +11289,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - fd31f699-2d27-4d54-85d4-f098240a6676 + - 3dcc6f2b-b8b2-43b5-8917-4f70a4a79b14 status: code: 200 message: OK @@ -10921,16 +11301,16 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - network firewall update + - network vhub create Connection: - keep-alive ParameterSetName: - - -g -n --vhub + - -g -n --vwan --address-prefix -l --sku User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1c236976-69db-47d7-8a20-d595454d0fcd?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/3a712a31-558d-4f2f-ad4a-1746cea1fa23?api-version=2018-08-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -10942,7 +11322,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:07:54 GMT + - Thu, 18 Jun 2020 05:23:37 GMT expires: - '-1' pragma: @@ -10959,7 +11339,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 74f33018-dbdc-4221-9d0c-cae1ef7980f2 + - 210f1849-fc3d-4b74-920b-028fa87b7401 status: code: 200 message: OK @@ -10971,16 +11351,16 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - network firewall update + - network vhub create Connection: - keep-alive ParameterSetName: - - -g -n --vhub + - -g -n --vwan --address-prefix -l --sku User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1c236976-69db-47d7-8a20-d595454d0fcd?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/3a712a31-558d-4f2f-ad4a-1746cea1fa23?api-version=2018-08-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -10992,7 +11372,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:08:04 GMT + - Thu, 18 Jun 2020 05:23:47 GMT expires: - '-1' pragma: @@ -11009,7 +11389,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 3cec7766-e264-4fc5-ab5c-6ac33ddc3145 + - 641736cf-3824-4ea9-8dc4-09859f05bea8 status: code: 200 message: OK @@ -11021,16 +11401,16 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - network firewall update + - network vhub create Connection: - keep-alive ParameterSetName: - - -g -n --vhub + - -g -n --vwan --address-prefix -l --sku User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1c236976-69db-47d7-8a20-d595454d0fcd?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/3a712a31-558d-4f2f-ad4a-1746cea1fa23?api-version=2018-08-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -11042,7 +11422,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:08:14 GMT + - Thu, 18 Jun 2020 05:23:57 GMT expires: - '-1' pragma: @@ -11059,7 +11439,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 16b48873-6eb0-4d8f-bf03-39343ee1643a + - 06ff685d-46d4-4d04-874a-efc4f2879362 status: code: 200 message: OK @@ -11071,16 +11451,16 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - network firewall update + - network vhub create Connection: - keep-alive ParameterSetName: - - -g -n --vhub + - -g -n --vwan --address-prefix -l --sku User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1c236976-69db-47d7-8a20-d595454d0fcd?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/3a712a31-558d-4f2f-ad4a-1746cea1fa23?api-version=2018-08-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -11092,7 +11472,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:08:25 GMT + - Thu, 18 Jun 2020 05:24:09 GMT expires: - '-1' pragma: @@ -11109,7 +11489,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 5f34d859-9156-4825-8899-0be6cb70b6fe + - 70541502-4121-46b5-ade6-d9b4ef755c84 status: code: 200 message: OK @@ -11121,16 +11501,16 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - network firewall update + - network vhub create Connection: - keep-alive ParameterSetName: - - -g -n --vhub + - -g -n --vwan --address-prefix -l --sku User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1c236976-69db-47d7-8a20-d595454d0fcd?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/3a712a31-558d-4f2f-ad4a-1746cea1fa23?api-version=2018-08-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -11142,7 +11522,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:08:39 GMT + - Thu, 18 Jun 2020 05:24:20 GMT expires: - '-1' pragma: @@ -11159,7 +11539,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 397536ae-5929-4034-97fb-6965cd31cf7b + - d00a52f3-baea-475b-a320-6452284a3389 status: code: 200 message: OK @@ -11171,16 +11551,16 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - network firewall update + - network vhub create Connection: - keep-alive ParameterSetName: - - -g -n --vhub + - -g -n --vwan --address-prefix -l --sku User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1c236976-69db-47d7-8a20-d595454d0fcd?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/3a712a31-558d-4f2f-ad4a-1746cea1fa23?api-version=2018-08-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -11192,7 +11572,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:08:50 GMT + - Thu, 18 Jun 2020 05:24:31 GMT expires: - '-1' pragma: @@ -11209,7 +11589,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - d621c161-c9a5-419e-b2c6-75931d463e2d + - f327d711-e99c-484b-8497-96cef481c17b status: code: 200 message: OK @@ -11221,16 +11601,16 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - network firewall update + - network vhub create Connection: - keep-alive ParameterSetName: - - -g -n --vhub + - -g -n --vwan --address-prefix -l --sku User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1c236976-69db-47d7-8a20-d595454d0fcd?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/3a712a31-558d-4f2f-ad4a-1746cea1fa23?api-version=2018-08-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -11242,7 +11622,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:09:00 GMT + - Thu, 18 Jun 2020 05:24:42 GMT expires: - '-1' pragma: @@ -11259,7 +11639,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - e7fbaa9e-2aae-4f14-967f-69ad0b5cc1ea + - 1ff02793-b492-4766-8a91-0a040148ce7d status: code: 200 message: OK @@ -11271,16 +11651,16 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - network firewall update + - network vhub create Connection: - keep-alive ParameterSetName: - - -g -n --vhub + - -g -n --vwan --address-prefix -l --sku User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1c236976-69db-47d7-8a20-d595454d0fcd?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/3a712a31-558d-4f2f-ad4a-1746cea1fa23?api-version=2018-08-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -11292,7 +11672,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:09:11 GMT + - Thu, 18 Jun 2020 05:24:53 GMT expires: - '-1' pragma: @@ -11309,7 +11689,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - f66b5e9c-3b0c-4d79-92e9-7a0572b0746c + - 34269a17-903b-4a2e-b756-4066849203fb status: code: 200 message: OK @@ -11321,16 +11701,16 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - network firewall update + - network vhub create Connection: - keep-alive ParameterSetName: - - -g -n --vhub + - -g -n --vwan --address-prefix -l --sku User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1c236976-69db-47d7-8a20-d595454d0fcd?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/3a712a31-558d-4f2f-ad4a-1746cea1fa23?api-version=2018-08-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -11342,7 +11722,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:09:21 GMT + - Thu, 18 Jun 2020 05:25:04 GMT expires: - '-1' pragma: @@ -11359,7 +11739,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - f0cfe1f0-e1fb-4297-8ca8-41391c028916 + - 7efae3f1-8058-4cc1-8c2f-2fbf7276fb90 status: code: 200 message: OK @@ -11371,16 +11751,16 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - network firewall update + - network vhub create Connection: - keep-alive ParameterSetName: - - -g -n --vhub + - -g -n --vwan --address-prefix -l --sku User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1c236976-69db-47d7-8a20-d595454d0fcd?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/3a712a31-558d-4f2f-ad4a-1746cea1fa23?api-version=2018-08-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -11392,7 +11772,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:09:31 GMT + - Thu, 18 Jun 2020 05:25:15 GMT expires: - '-1' pragma: @@ -11409,7 +11789,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - f1a2d259-f5f0-40f0-acfa-358a9564be59 + - dac27378-4f05-4eba-ab35-3e23bbd3c0ed status: code: 200 message: OK @@ -11421,16 +11801,16 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - network firewall update + - network vhub create Connection: - keep-alive ParameterSetName: - - -g -n --vhub + - -g -n --vwan --address-prefix -l --sku User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1c236976-69db-47d7-8a20-d595454d0fcd?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/3a712a31-558d-4f2f-ad4a-1746cea1fa23?api-version=2018-08-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -11442,7 +11822,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:09:41 GMT + - Thu, 18 Jun 2020 05:25:26 GMT expires: - '-1' pragma: @@ -11459,7 +11839,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 7632c801-e1b3-48b5-bed7-b24bdc01154a + - 944c6cbc-1779-4766-b0d3-a82524f24192 status: code: 200 message: OK @@ -11471,28 +11851,28 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - network firewall update + - network vhub create Connection: - keep-alive ParameterSetName: - - -g -n --vhub + - -g -n --vwan --address-prefix -l --sku User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1c236976-69db-47d7-8a20-d595454d0fcd?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/3a712a31-558d-4f2f-ad4a-1746cea1fa23?api-version=2018-08-01 response: body: - string: "{\r\n \"status\": \"InProgress\"\r\n}" + string: "{\r\n \"status\": \"Succeeded\"\r\n}" headers: cache-control: - no-cache content-length: - - '30' + - '29' content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:09:53 GMT + - Thu, 18 Jun 2020 05:25:37 GMT expires: - '-1' pragma: @@ -11509,7 +11889,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 923b6fb3-cd51-4e08-9b1b-b3855378dc0a + - 82ab12d1-1a2c-43f2-b77c-a51f6a9cb9c9 status: code: 200 message: OK @@ -11521,28 +11901,35 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - network firewall update + - network vhub create Connection: - keep-alive ParameterSetName: - - -g -n --vhub + - -g -n --vwan --address-prefix -l --sku User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1c236976-69db-47d7-8a20-d595454d0fcd?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/virtualHubs/clitestvhub2?api-version=2018-08-01 response: body: - string: "{\r\n \"status\": \"InProgress\"\r\n}" + string: "{\r\n \"name\": \"clitestvhub2\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/virtualHubs/clitestvhub2\"\ + ,\r\n \"etag\": \"W/\\\"ef07e37d-c1a4-44d5-9334-526a4b328947\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/virtualHubs\",\r\n \"location\": \"eastus\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n\ + \ \"virtualNetworkConnections\": [],\r\n \"addressPrefix\": \"10.0.0.0/24\"\ + ,\r\n \"virtualRouterIps\": [],\r\n \"routeTable\": {\r\n \"routes\"\ + : []\r\n },\r\n \"virtualWan\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/virtualWans/clitestvwan2\"\ + \r\n }\r\n }\r\n}" headers: cache-control: - no-cache content-length: - - '30' + - '820' content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:10:04 GMT + - Thu, 18 Jun 2020 05:25:37 GMT expires: - '-1' pragma: @@ -11559,7 +11946,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 55d1a4a5-2a6c-4494-a829-49b4c33c27b5 + - c85092b8-26e7-4785-9f4e-f8de16d80fe1 status: code: 200 message: OK @@ -11577,22 +11964,36 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1c236976-69db-47d7-8a20-d595454d0fcd?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 response: body: - string: "{\r\n \"status\": \"InProgress\"\r\n}" + string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/azureFirewalls/af1\"\ + ,\r\n \"etag\": \"W/\\\"d44fab2c-1a21-4d81-974e-bcea67cca52e\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"eastus\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n\ + \ \"sku\": {\r\n \"name\": \"AZFW_Hub\",\r\n \"tier\": \"Standard\"\ + \r\n },\r\n \"additionalProperties\": {\r\n \"Network.DNS.EnableProxy\"\ + : \"False\",\r\n \"Network.DNS.RequireProxyForNetworkRules\": \"True\"\ + ,\r\n \"Network.DNS.Servers\": \"\"\r\n },\r\n \"hubIPAddresses\"\ + : {\r\n \"privateIPAddress\": \"10.0.0.132\",\r\n \"publicIPAddresses\"\ + : [\r\n {\r\n \"address\": \"52.191.35.10\"\r\n }\r\ + \n ]\r\n }\r\n }\r\n}" headers: cache-control: - no-cache content-length: - - '30' + - '835' content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:10:14 GMT + - Thu, 18 Jun 2020 05:25:40 GMT + etag: + - W/"d44fab2c-1a21-4d81-974e-bcea67cca52e" expires: - '-1' pragma: @@ -11609,12 +12010,16 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 7286bf7e-844f-4cc0-b8ae-d80223e96c73 + - ccfbe4b7-7071-4be3-9052-bc0861c3c7b7 status: code: 200 message: OK - request: - body: null + body: 'b''{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/azureFirewalls/af1", + "location": "eastus", "properties": {"virtualHub": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/virtualHubs/clitestvhub2"}, + "sku": {"name": "AZFW_Hub", "tier": "Standard"}, "additionalProperties": {"Network.DNS.EnableProxy": + "False", "Network.DNS.RequireProxyForNetworkRules": "True", "Network.DNS.Servers": + ""}}}''' headers: Accept: - application/json @@ -11624,25 +12029,45 @@ interactions: - network firewall update Connection: - keep-alive + Content-Length: + - '647' + Content-Type: + - application/json; charset=utf-8 ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1c236976-69db-47d7-8a20-d595454d0fcd?api-version=2019-11-01 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 response: body: - string: "{\r\n \"status\": \"InProgress\"\r\n}" + string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/azureFirewalls/af1\"\ + ,\r\n \"etag\": \"W/\\\"0809cef8-706a-4a5d-86eb-74140ec06ff5\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"eastus\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \ + \ \"sku\": {\r\n \"name\": \"AZFW_Hub\",\r\n \"tier\": \"Standard\"\ + \r\n },\r\n \"additionalProperties\": {\r\n \"Network.DNS.EnableProxy\"\ + : \"False\",\r\n \"Network.DNS.RequireProxyForNetworkRules\": \"True\"\ + ,\r\n \"Network.DNS.Servers\": \"\"\r\n },\r\n \"virtualHub\":\ + \ {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/virtualHubs/clitestvhub2\"\ + \r\n },\r\n \"hubIPAddresses\": {\r\n \"privateIPAddress\": \"\ + 10.0.0.132\",\r\n \"publicIPAddresses\": [\r\n {\r\n \ + \ \"address\": \"52.191.35.10\"\r\n }\r\n ]\r\n }\r\n }\r\n\ + }" headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 cache-control: - no-cache content-length: - - '30' + - '1074' content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:10:25 GMT + - Thu, 18 Jun 2020 05:25:41 GMT expires: - '-1' pragma: @@ -11659,7 +12084,9 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 1c175e09-fe3d-4702-9481-7c0af94ab407 + - 2d3206b7-db44-424f-8596-b28bd7a2f40b + x-ms-ratelimit-remaining-subscription-writes: + - '1196' status: code: 200 message: OK @@ -11677,10 +12104,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1c236976-69db-47d7-8a20-d595454d0fcd?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -11692,7 +12119,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:10:35 GMT + - Thu, 18 Jun 2020 05:25:51 GMT expires: - '-1' pragma: @@ -11709,7 +12136,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 1fdecea8-ea55-4101-b3c3-789ceb9bb30f + - 2ba10a0a-21cc-4615-87f7-604197a77eac status: code: 200 message: OK @@ -11727,22 +12154,22 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1c236976-69db-47d7-8a20-d595454d0fcd?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: - string: "{\r\n \"status\": \"Succeeded\"\r\n}" + string: "{\r\n \"status\": \"InProgress\"\r\n}" headers: cache-control: - no-cache content-length: - - '29' + - '30' content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:12:29 GMT + - Thu, 18 Jun 2020 05:26:01 GMT expires: - '-1' pragma: @@ -11759,7 +12186,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - cc2372ef-8ecd-45c9-ae7c-de786f519bdf + - 70da18de-008c-408e-b66b-97ca0771e627 status: code: 200 message: OK @@ -11777,31 +12204,22 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: - string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"5e9998e2-da27-42c1-a7bd-2aca3fe2c25c\\\"\",\r\n \"type\": - \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"eastus\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Succeeded\",\r\n \"sku\": {\r\n \"name\": - \"AZFW_Hub\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"additionalProperties\": - {},\r\n \"hubIPAddresses\": {\r\n \"privateIPAddress\": \"10.0.0.68\",\r\n - \ \"publicIPAddresses\": [\r\n {\r\n \"address\": \"52.142.19.158\"\r\n - \ }\r\n ]\r\n }\r\n }\r\n}" + string: "{\r\n \"status\": \"InProgress\"\r\n}" headers: cache-control: - no-cache content-length: - - '695' + - '30' content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:12:29 GMT - etag: - - W/"5e9998e2-da27-42c1-a7bd-2aca3fe2c25c" + - Thu, 18 Jun 2020 05:26:12 GMT expires: - '-1' pragma: @@ -11818,7 +12236,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - e9c5c2c1-54cf-44df-a197-ce897c31f0c2 + - eccde37d-07e0-4f8e-94d7-b4cd66cd98dc status: code: 200 message: OK @@ -11830,86 +12248,78 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - network vwan create + - network firewall update Connection: - keep-alive ParameterSetName: - - -n -g --type + - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-resource/6.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 - accept-language: - - en-US + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_azure_firewall_virtual_hub000001?api-version=2019-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001","name":"cli_test_azure_firewall_virtual_hub000001","type":"Microsoft.Resources/resourceGroups","location":"eastus","tags":{"product":"azurecli","cause":"automation","date":"2020-02-07T06:29:19Z"},"properties":{"provisioningState":"Succeeded"}}' + string: "{\r\n \"status\": \"InProgress\"\r\n}" headers: cache-control: - no-cache content-length: - - '428' + - '30' content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:12:34 GMT + - Thu, 18 Jun 2020 05:26:22 GMT expires: - '-1' pragma: - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 strict-transport-security: - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked vary: - Accept-Encoding x-content-type-options: - nosniff + x-ms-arm-service-request-id: + - ec61bc43-950d-4e7f-b239-7559e74f81db status: code: 200 message: OK - request: - body: '{"location": "eastus"}' + body: null headers: Accept: - application/json Accept-Encoding: - gzip, deflate CommandName: - - network vwan create + - network firewall update Connection: - keep-alive - Content-Length: - - '22' - Content-Type: - - application/json; charset=utf-8 ParameterSetName: - - -n -g --type + - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.81 - accept-language: - - en-US - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/virtualWans/clitestvwan2?api-version=2018-08-01 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: - string: "{\r\n \"name\": \"clitestvwan2\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/virtualWans/clitestvwan2\",\r\n - \ \"etag\": \"W/\\\"3e790f82-5f93-47d8-87a1-5e0979ef47b1\\\"\",\r\n \"type\": - \"Microsoft.Network/virtualWans\",\r\n \"location\": \"eastus\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Updating\",\r\n \"disableVpnEncryption\": - false,\r\n \"allowBranchToBranchTraffic\": true,\r\n \"allowVnetToVnetTraffic\": - false,\r\n \"office365LocalBreakoutCategory\": \"None\"\r\n }\r\n}" + string: "{\r\n \"status\": \"InProgress\"\r\n}" headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/d8f32041-4d18-4a3f-ae4e-58bdd20cae45?api-version=2018-08-01 cache-control: - no-cache content-length: - - '588' + - '30' content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:13:06 GMT + - Thu, 18 Jun 2020 05:26:32 GMT expires: - '-1' pragma: @@ -11919,15 +12329,17 @@ interactions: - Microsoft-HTTPAPI/2.0 strict-transport-security: - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding x-content-type-options: - nosniff x-ms-arm-service-request-id: - - d28704f8-404b-4c80-986d-4681b1f5837b - x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - 90f12a1d-4a66-41ff-a9ef-cc1a0c9b721c status: - code: 201 - message: Created + code: 200 + message: OK - request: body: null headers: @@ -11936,28 +12348,28 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - network vwan create + - network firewall update Connection: - keep-alive ParameterSetName: - - -n -g --type + - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/d8f32041-4d18-4a3f-ae4e-58bdd20cae45?api-version=2018-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: - string: "{\r\n \"status\": \"Succeeded\"\r\n}" + string: "{\r\n \"status\": \"InProgress\"\r\n}" headers: cache-control: - no-cache content-length: - - '29' + - '30' content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:13:17 GMT + - Thu, 18 Jun 2020 05:26:43 GMT expires: - '-1' pragma: @@ -11974,7 +12386,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 1edf5875-c168-4428-8874-f238b1acfb55 + - 329c2848-b90d-4ef0-aa45-0140ff728db7 status: code: 200 message: OK @@ -11986,35 +12398,28 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - network vwan create + - network firewall update Connection: - keep-alive ParameterSetName: - - -n -g --type + - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/virtualWans/clitestvwan2?api-version=2018-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: - string: "{\r\n \"name\": \"clitestvwan2\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/virtualWans/clitestvwan2\",\r\n - \ \"etag\": \"W/\\\"4ff6e850-4e5a-4689-b204-4ae6d1c72955\\\"\",\r\n \"type\": - \"Microsoft.Network/virtualWans\",\r\n \"location\": \"eastus\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Succeeded\",\r\n \"disableVpnEncryption\": - false,\r\n \"allowBranchToBranchTraffic\": true,\r\n \"allowVnetToVnetTraffic\": - false,\r\n \"office365LocalBreakoutCategory\": \"None\"\r\n }\r\n}" + string: "{\r\n \"status\": \"InProgress\"\r\n}" headers: cache-control: - no-cache content-length: - - '589' + - '30' content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:13:18 GMT - etag: - - W/"4ff6e850-4e5a-4689-b204-4ae6d1c72955" + - Thu, 18 Jun 2020 05:26:53 GMT expires: - '-1' pragma: @@ -12031,55 +12436,40 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 00807b0e-58d5-47cd-b860-40a9bada7378 + - af373324-889d-4595-bf41-83c25fe9fc2a status: code: 200 message: OK - request: - body: 'b''{"location": "eastus", "properties": {"virtualWan": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/virtualWans/clitestvwan2"}, - "addressPrefix": "10.0.0.0/24"}}''' + body: null headers: Accept: - application/json Accept-Encoding: - gzip, deflate CommandName: - - network vhub create + - network firewall update Connection: - keep-alive - Content-Length: - - '291' - Content-Type: - - application/json; charset=utf-8 ParameterSetName: - - -g -n --vwan --address-prefix -l --sku + - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.81 - accept-language: - - en-US - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/virtualHubs/clitestvhub2?api-version=2018-08-01 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: - string: "{\r\n \"name\": \"clitestvhub2\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/virtualHubs/clitestvhub2\",\r\n - \ \"etag\": \"W/\\\"010a8cfd-26e7-4cf4-9fe5-0c0a13a7e769\\\"\",\r\n \"type\": - \"Microsoft.Network/virtualHubs\",\r\n \"location\": \"eastus\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Updating\",\r\n \"virtualNetworkConnections\": - [],\r\n \"addressPrefix\": \"10.0.0.0/24\",\r\n \"routeTable\": {\r\n - \ \"routes\": []\r\n },\r\n \"virtualWan\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/virtualWans/clitestvwan2\"\r\n - \ }\r\n }\r\n}" + string: "{\r\n \"status\": \"InProgress\"\r\n}" headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ead09fb8-2fbe-4a7f-a269-f26cfce15267?api-version=2018-08-01 cache-control: - no-cache content-length: - - '790' + - '30' content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:13:37 GMT + - Thu, 18 Jun 2020 05:27:03 GMT expires: - '-1' pragma: @@ -12089,15 +12479,17 @@ interactions: - Microsoft-HTTPAPI/2.0 strict-transport-security: - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 3793da97-4544-4b54-8910-fed37ed97122 - x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - 5af2e3d1-9239-48ba-b74d-daa59d886399 status: - code: 201 - message: Created + code: 200 + message: OK - request: body: null headers: @@ -12106,16 +12498,16 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - network vhub create + - network firewall update Connection: - keep-alive ParameterSetName: - - -g -n --vwan --address-prefix -l --sku + - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ead09fb8-2fbe-4a7f-a269-f26cfce15267?api-version=2018-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -12127,7 +12519,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:13:58 GMT + - Thu, 18 Jun 2020 05:27:15 GMT expires: - '-1' pragma: @@ -12144,7 +12536,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 5d841a56-69f0-4425-aed4-8352494c7c44 + - 542f1b63-0d82-484c-85c5-4510dcbd2072 status: code: 200 message: OK @@ -12156,16 +12548,16 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - network vhub create + - network firewall update Connection: - keep-alive ParameterSetName: - - -g -n --vwan --address-prefix -l --sku + - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ead09fb8-2fbe-4a7f-a269-f26cfce15267?api-version=2018-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -12177,7 +12569,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:14:10 GMT + - Thu, 18 Jun 2020 05:27:25 GMT expires: - '-1' pragma: @@ -12194,7 +12586,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 4db58db7-2984-47b1-8dd2-11ebf12cc102 + - f05252a5-0d9a-4105-9b87-e4abd0584c44 status: code: 200 message: OK @@ -12206,16 +12598,16 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - network vhub create + - network firewall update Connection: - keep-alive ParameterSetName: - - -g -n --vwan --address-prefix -l --sku + - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ead09fb8-2fbe-4a7f-a269-f26cfce15267?api-version=2018-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -12227,7 +12619,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:14:23 GMT + - Thu, 18 Jun 2020 05:27:35 GMT expires: - '-1' pragma: @@ -12244,7 +12636,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 0725d5fe-cba1-4ca3-b66e-4ee33ccadbab + - b8c15c94-d271-4178-baee-85410c39b88e status: code: 200 message: OK @@ -12256,16 +12648,16 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - network vhub create + - network firewall update Connection: - keep-alive ParameterSetName: - - -g -n --vwan --address-prefix -l --sku + - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ead09fb8-2fbe-4a7f-a269-f26cfce15267?api-version=2018-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -12277,7 +12669,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:14:34 GMT + - Thu, 18 Jun 2020 05:27:45 GMT expires: - '-1' pragma: @@ -12294,7 +12686,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - f39a6492-5360-4192-a7f4-634e59142579 + - 6fb2415c-8400-4b15-a727-bdb7735c47a5 status: code: 200 message: OK @@ -12306,16 +12698,16 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - network vhub create + - network firewall update Connection: - keep-alive ParameterSetName: - - -g -n --vwan --address-prefix -l --sku + - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ead09fb8-2fbe-4a7f-a269-f26cfce15267?api-version=2018-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -12327,7 +12719,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:14:46 GMT + - Thu, 18 Jun 2020 05:27:56 GMT expires: - '-1' pragma: @@ -12344,7 +12736,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - e0bb0a2d-d634-41fd-a905-90145aec2e17 + - ddad4d72-577a-4b3a-b639-b7133d054881 status: code: 200 message: OK @@ -12356,16 +12748,16 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - network vhub create + - network firewall update Connection: - keep-alive ParameterSetName: - - -g -n --vwan --address-prefix -l --sku + - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ead09fb8-2fbe-4a7f-a269-f26cfce15267?api-version=2018-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -12377,7 +12769,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:14:58 GMT + - Thu, 18 Jun 2020 05:28:06 GMT expires: - '-1' pragma: @@ -12394,7 +12786,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 26c03c46-2a5a-44be-b483-b2e68d037c1b + - 53906770-d8ca-4bf3-a3b8-24c7f71b1541 status: code: 200 message: OK @@ -12406,16 +12798,16 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - network vhub create + - network firewall update Connection: - keep-alive ParameterSetName: - - -g -n --vwan --address-prefix -l --sku + - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ead09fb8-2fbe-4a7f-a269-f26cfce15267?api-version=2018-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -12427,7 +12819,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:15:19 GMT + - Thu, 18 Jun 2020 05:28:16 GMT expires: - '-1' pragma: @@ -12444,7 +12836,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 98ed32ba-9a9e-47cc-b3c9-06ae64e4f35c + - 3419030b-3da1-439c-b794-f4cd394997ad status: code: 200 message: OK @@ -12456,16 +12848,16 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - network vhub create + - network firewall update Connection: - keep-alive ParameterSetName: - - -g -n --vwan --address-prefix -l --sku + - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ead09fb8-2fbe-4a7f-a269-f26cfce15267?api-version=2018-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -12477,7 +12869,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:15:46 GMT + - Thu, 18 Jun 2020 05:28:27 GMT expires: - '-1' pragma: @@ -12494,7 +12886,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 74247b51-2076-43b6-b67d-164a03e33dd9 + - 5a672237-4fc4-4081-ac26-e7ec3d91179d status: code: 200 message: OK @@ -12506,16 +12898,16 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - network vhub create + - network firewall update Connection: - keep-alive ParameterSetName: - - -g -n --vwan --address-prefix -l --sku + - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ead09fb8-2fbe-4a7f-a269-f26cfce15267?api-version=2018-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -12527,7 +12919,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:15:57 GMT + - Thu, 18 Jun 2020 05:28:37 GMT expires: - '-1' pragma: @@ -12544,7 +12936,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 7148196d-6e9b-46d7-8190-384283bf1279 + - 3e569176-d51c-4d17-b8c1-cff64d913519 status: code: 200 message: OK @@ -12556,28 +12948,28 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - network vhub create + - network firewall update Connection: - keep-alive ParameterSetName: - - -g -n --vwan --address-prefix -l --sku + - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ead09fb8-2fbe-4a7f-a269-f26cfce15267?api-version=2018-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: - string: "{\r\n \"status\": \"Succeeded\"\r\n}" + string: "{\r\n \"status\": \"InProgress\"\r\n}" headers: cache-control: - no-cache content-length: - - '29' + - '30' content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:16:22 GMT + - Thu, 18 Jun 2020 05:28:47 GMT expires: - '-1' pragma: @@ -12594,7 +12986,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 49420c4f-96cf-4bff-a16c-c249d045f1e2 + - 7c61681b-1c99-49d1-8f71-58e26f9acede status: code: 200 message: OK @@ -12606,34 +12998,28 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - network vhub create + - network firewall update Connection: - keep-alive ParameterSetName: - - -g -n --vwan --address-prefix -l --sku + - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/virtualHubs/clitestvhub2?api-version=2018-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: - string: "{\r\n \"name\": \"clitestvhub2\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/virtualHubs/clitestvhub2\",\r\n - \ \"etag\": \"W/\\\"2e7c540a-7646-4839-9951-9bd11aa7b876\\\"\",\r\n \"type\": - \"Microsoft.Network/virtualHubs\",\r\n \"location\": \"eastus\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Succeeded\",\r\n \"virtualNetworkConnections\": - [],\r\n \"addressPrefix\": \"10.0.0.0/24\",\r\n \"routeTable\": {\r\n - \ \"routes\": []\r\n },\r\n \"virtualWan\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/virtualWans/clitestvwan2\"\r\n - \ }\r\n }\r\n}" + string: "{\r\n \"status\": \"InProgress\"\r\n}" headers: cache-control: - no-cache content-length: - - '791' + - '30' content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:16:24 GMT + - Thu, 18 Jun 2020 05:28:58 GMT expires: - '-1' pragma: @@ -12650,7 +13036,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 28f1db88-6562-4d01-a955-2f5b3ecac53d + - eac2afdd-6794-47fb-968d-1ae5ef3ba111 status: code: 200 message: OK @@ -12668,33 +13054,22 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 - accept-language: - - en-US + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: - string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"5e9998e2-da27-42c1-a7bd-2aca3fe2c25c\\\"\",\r\n \"type\": - \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"eastus\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Succeeded\",\r\n \"sku\": {\r\n \"name\": - \"AZFW_Hub\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"additionalProperties\": - {},\r\n \"hubIPAddresses\": {\r\n \"privateIPAddress\": \"10.0.0.68\",\r\n - \ \"publicIPAddresses\": [\r\n {\r\n \"address\": \"52.142.19.158\"\r\n - \ }\r\n ]\r\n }\r\n }\r\n}" + string: "{\r\n \"status\": \"InProgress\"\r\n}" headers: cache-control: - no-cache content-length: - - '695' + - '30' content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:16:25 GMT - etag: - - W/"5e9998e2-da27-42c1-a7bd-2aca3fe2c25c" + - Thu, 18 Jun 2020 05:29:08 GMT expires: - '-1' pragma: @@ -12711,14 +13086,12 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - d19d7d22-6b88-43f3-a1ba-895181fcfd11 + - 21f94bab-4297-4c9b-b13b-eec86d56389a status: code: 200 message: OK - request: - body: 'b''{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/azureFirewalls/af1", - "location": "eastus", "properties": {"virtualHub": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/virtualHubs/clitestvhub2"}, - "sku": {"name": "AZFW_Hub", "tier": "Standard"}, "additionalProperties": {}}}''' + body: null headers: Accept: - application/json @@ -12728,41 +13101,25 @@ interactions: - network firewall update Connection: - keep-alive - Content-Length: - - '535' - Content-Type: - - application/json; charset=utf-8 ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 - accept-language: - - en-US - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: - string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"0939110e-8ff8-413e-a13b-a8f0cda16760\\\"\",\r\n \"type\": - \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"eastus\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Updating\",\r\n \"sku\": {\r\n \"name\": - \"AZFW_Hub\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"additionalProperties\": - {},\r\n \"virtualHub\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/virtualHubs/clitestvhub2\"\r\n - \ },\r\n \"hubIPAddresses\": {\r\n \"privateIPAddress\": \"10.0.0.68\",\r\n - \ \"publicIPAddresses\": [\r\n {\r\n \"address\": \"52.142.19.158\"\r\n - \ }\r\n ]\r\n }\r\n }\r\n}" + string: "{\r\n \"status\": \"InProgress\"\r\n}" headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 cache-control: - no-cache content-length: - - '934' + - '30' content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:16:27 GMT + - Thu, 18 Jun 2020 05:29:19 GMT expires: - '-1' pragma: @@ -12779,9 +13136,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - bda6ae4d-08e2-47c7-ae27-2ba648a7a639 - x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - e2b0b045-7d55-47e7-917a-7667bc42a5bb status: code: 200 message: OK @@ -12799,10 +13154,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -12814,7 +13169,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:16:40 GMT + - Thu, 18 Jun 2020 05:29:30 GMT expires: - '-1' pragma: @@ -12831,7 +13186,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 6e37aa5c-5d54-4321-aebf-633075f30522 + - caad1ede-6f20-4a32-8a39-62b6106dcbd7 status: code: 200 message: OK @@ -12849,10 +13204,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -12864,7 +13219,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:16:50 GMT + - Thu, 18 Jun 2020 05:29:40 GMT expires: - '-1' pragma: @@ -12881,7 +13236,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 3802b444-de8c-4c35-91cc-90d4b3c28f58 + - 81a2d939-0a11-4c4e-9c5a-344e50e1c248 status: code: 200 message: OK @@ -12899,10 +13254,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -12914,7 +13269,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:17:01 GMT + - Thu, 18 Jun 2020 05:29:50 GMT expires: - '-1' pragma: @@ -12931,7 +13286,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 8e2afdc8-94e9-4b1a-b8ce-eb60917d1726 + - edf35b81-a33f-45d9-a377-4138afe1923f status: code: 200 message: OK @@ -12949,10 +13304,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -12964,7 +13319,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:17:11 GMT + - Thu, 18 Jun 2020 05:30:01 GMT expires: - '-1' pragma: @@ -12981,7 +13336,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 88b3bd2b-22eb-4920-884a-bc29a33e2c0c + - cf4a110b-0997-4fba-92f7-3d616a01fac0 status: code: 200 message: OK @@ -12999,10 +13354,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -13014,7 +13369,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:17:23 GMT + - Thu, 18 Jun 2020 05:30:11 GMT expires: - '-1' pragma: @@ -13031,7 +13386,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 66a272a3-e6b8-4298-94ff-c589a3e2def6 + - 75bac1b5-5c85-4b0d-b53a-ce8cc854dcd4 status: code: 200 message: OK @@ -13049,10 +13404,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -13064,7 +13419,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:17:33 GMT + - Thu, 18 Jun 2020 05:30:21 GMT expires: - '-1' pragma: @@ -13081,7 +13436,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 39fce9fd-bfd3-43f1-ad10-09b82c494058 + - cff558c2-0480-4a71-9365-0c977bb249af status: code: 200 message: OK @@ -13099,10 +13454,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -13114,7 +13469,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:17:43 GMT + - Thu, 18 Jun 2020 05:30:31 GMT expires: - '-1' pragma: @@ -13131,7 +13486,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 4822852b-0275-42dd-86b0-ef904deb073b + - 358c5e4f-58cb-4765-a751-fc63e68e2f39 status: code: 200 message: OK @@ -13149,10 +13504,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -13164,7 +13519,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:17:54 GMT + - Thu, 18 Jun 2020 05:30:42 GMT expires: - '-1' pragma: @@ -13181,7 +13536,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 5ff0f8d4-c7a8-467e-add7-ba853e1c9709 + - b616731a-215f-44bc-88bb-ec399afeb6af status: code: 200 message: OK @@ -13199,10 +13554,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -13214,7 +13569,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:18:04 GMT + - Thu, 18 Jun 2020 05:30:52 GMT expires: - '-1' pragma: @@ -13231,7 +13586,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 5f930507-056e-4fd5-9763-cc80082c09c0 + - 545188ec-938d-4a84-9b48-45d9054f7a82 status: code: 200 message: OK @@ -13249,10 +13604,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -13264,7 +13619,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:18:16 GMT + - Thu, 18 Jun 2020 05:31:02 GMT expires: - '-1' pragma: @@ -13281,7 +13636,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - ba842ba3-09a8-4297-b268-405f1dee8dbb + - 5807977b-496c-42be-b1c3-926dcc813266 status: code: 200 message: OK @@ -13299,10 +13654,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -13314,7 +13669,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:18:27 GMT + - Thu, 18 Jun 2020 05:31:14 GMT expires: - '-1' pragma: @@ -13331,7 +13686,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 1e0a10b3-c018-494c-9ef2-454b5cdc515a + - 9f8c8451-1fef-4493-b146-c0a422a2c891 status: code: 200 message: OK @@ -13349,10 +13704,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -13364,7 +13719,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:18:37 GMT + - Thu, 18 Jun 2020 05:31:24 GMT expires: - '-1' pragma: @@ -13381,7 +13736,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 64622398-9b9d-4e97-b9b4-53e58dbfa209 + - bcd0b6c3-e424-4a59-ad04-550270592175 status: code: 200 message: OK @@ -13399,10 +13754,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -13414,7 +13769,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:18:47 GMT + - Thu, 18 Jun 2020 05:31:34 GMT expires: - '-1' pragma: @@ -13431,7 +13786,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 1557098a-966d-45de-b68a-225adc5b8abc + - 7bce4d18-b515-4466-8a59-ad7ff0f5303b status: code: 200 message: OK @@ -13449,10 +13804,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -13464,7 +13819,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:18:57 GMT + - Thu, 18 Jun 2020 05:31:44 GMT expires: - '-1' pragma: @@ -13481,7 +13836,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 47b9cc0a-8a8d-4ed6-bbae-db2e618ad181 + - 0c88fe87-f479-4004-b1fb-e6010adf62de status: code: 200 message: OK @@ -13499,10 +13854,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -13514,7 +13869,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:19:08 GMT + - Thu, 18 Jun 2020 05:31:55 GMT expires: - '-1' pragma: @@ -13531,7 +13886,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 6f989bc0-a0fe-49f9-b7cd-cad30353ed09 + - 7a1635ee-6873-405f-9be0-5febb3b10b36 status: code: 200 message: OK @@ -13549,10 +13904,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -13564,7 +13919,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:19:18 GMT + - Thu, 18 Jun 2020 05:32:05 GMT expires: - '-1' pragma: @@ -13581,7 +13936,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - c90b81f4-d17c-44b7-b3a3-f33673a57497 + - 31e01d3b-6b93-4d60-8945-09289de498ff status: code: 200 message: OK @@ -13599,10 +13954,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -13614,7 +13969,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:19:29 GMT + - Thu, 18 Jun 2020 05:32:15 GMT expires: - '-1' pragma: @@ -13631,7 +13986,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 58932c33-1f63-48e0-ae54-efe64a370ffc + - 4e0645c9-c992-4770-9492-72b07169658c status: code: 200 message: OK @@ -13649,10 +14004,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -13664,7 +14019,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:19:39 GMT + - Thu, 18 Jun 2020 05:32:25 GMT expires: - '-1' pragma: @@ -13681,7 +14036,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 7493d318-062d-4412-80cd-512c06a8ef41 + - 1b6b0af3-b35b-4015-a1d5-36b03e793e44 status: code: 200 message: OK @@ -13699,10 +14054,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -13714,7 +14069,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:19:51 GMT + - Thu, 18 Jun 2020 05:32:36 GMT expires: - '-1' pragma: @@ -13731,7 +14086,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - d9b79e44-908a-44d6-b92e-647055cb19b3 + - 7eba9ca1-6e81-4093-837e-8d71f457bf5a status: code: 200 message: OK @@ -13749,10 +14104,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -13764,7 +14119,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:20:03 GMT + - Thu, 18 Jun 2020 05:32:46 GMT expires: - '-1' pragma: @@ -13781,7 +14136,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 1c29787f-18ee-41de-a6f1-3497630dccdf + - d9a277d7-158d-4b52-b158-3fb2407eb199 status: code: 200 message: OK @@ -13799,10 +14154,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -13814,7 +14169,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:20:13 GMT + - Thu, 18 Jun 2020 05:32:57 GMT expires: - '-1' pragma: @@ -13831,7 +14186,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - eecbfc19-bbaf-4222-8dd0-6594ea6be994 + - 774e0889-e0a3-4d82-a227-8528f89996d1 status: code: 200 message: OK @@ -13849,10 +14204,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -13864,7 +14219,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:20:23 GMT + - Thu, 18 Jun 2020 05:33:08 GMT expires: - '-1' pragma: @@ -13881,7 +14236,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 3f60e9ca-7f02-4865-b87a-2870d3e2b708 + - e3cc84ac-6719-4936-944f-e470635701b0 status: code: 200 message: OK @@ -13899,10 +14254,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -13914,7 +14269,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:20:34 GMT + - Thu, 18 Jun 2020 05:33:18 GMT expires: - '-1' pragma: @@ -13931,7 +14286,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - a0edf222-fcf8-4030-be43-7947ee81695e + - cc5bdc08-a6e4-48ab-88b9-8473ef7bb3b5 status: code: 200 message: OK @@ -13949,10 +14304,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -13964,7 +14319,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:20:44 GMT + - Thu, 18 Jun 2020 05:33:28 GMT expires: - '-1' pragma: @@ -13981,7 +14336,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - a8bfbae5-3fd0-4270-8b33-d62f8af122ee + - a88b7614-185a-482d-8d0a-3ea8ad937d11 status: code: 200 message: OK @@ -13999,10 +14354,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -14014,7 +14369,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:20:55 GMT + - Thu, 18 Jun 2020 05:33:39 GMT expires: - '-1' pragma: @@ -14031,7 +14386,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 2ac453c1-1466-4e53-9e32-6490c33a2e28 + - 0d641b01-4165-4405-9a96-81c545a67033 status: code: 200 message: OK @@ -14049,10 +14404,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -14064,7 +14419,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:21:06 GMT + - Thu, 18 Jun 2020 05:33:49 GMT expires: - '-1' pragma: @@ -14081,7 +14436,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - bf667ee3-ea9c-4986-961d-a31d503038d3 + - 16124642-646a-4f94-9e87-91b1e50c036a status: code: 200 message: OK @@ -14099,10 +14454,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -14114,7 +14469,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:21:16 GMT + - Thu, 18 Jun 2020 05:33:59 GMT expires: - '-1' pragma: @@ -14131,7 +14486,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 39c6b80c-9d9a-4520-818d-a15240db18d2 + - cf017fdc-5195-4ff6-87bf-b91476224c31 status: code: 200 message: OK @@ -14149,10 +14504,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -14164,7 +14519,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:21:27 GMT + - Thu, 18 Jun 2020 05:34:10 GMT expires: - '-1' pragma: @@ -14181,7 +14536,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 1e804589-cde4-4c34-a681-1a84eec1a03f + - b5c62150-b080-4abc-b282-02d266d0a6c1 status: code: 200 message: OK @@ -14199,10 +14554,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -14214,7 +14569,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:21:38 GMT + - Thu, 18 Jun 2020 05:34:20 GMT expires: - '-1' pragma: @@ -14231,7 +14586,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 8590dcdc-4db3-484d-854f-2b1cce6ac2c0 + - d7dd0c41-9650-48e0-9810-1c3d622729d3 status: code: 200 message: OK @@ -14249,10 +14604,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -14264,7 +14619,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:21:48 GMT + - Thu, 18 Jun 2020 05:34:31 GMT expires: - '-1' pragma: @@ -14281,7 +14636,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 265cc5a4-92c1-4772-a568-e55352ed46fb + - 10dca31c-8074-4caf-91d3-46a76d9efaac status: code: 200 message: OK @@ -14299,10 +14654,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -14314,7 +14669,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:22:00 GMT + - Thu, 18 Jun 2020 05:34:41 GMT expires: - '-1' pragma: @@ -14331,7 +14686,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 1ddd1186-4a81-46f6-8273-cdbba900112b + - 53b62c9d-2e58-4bae-a278-d0508de2aa5e status: code: 200 message: OK @@ -14349,10 +14704,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -14364,7 +14719,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:22:13 GMT + - Thu, 18 Jun 2020 05:34:51 GMT expires: - '-1' pragma: @@ -14381,7 +14736,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 380c7a7c-d1f0-4240-9793-227147163d66 + - a7245aa3-3ef3-4fe7-914d-1882ade8afb6 status: code: 200 message: OK @@ -14399,10 +14754,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -14414,7 +14769,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:22:24 GMT + - Thu, 18 Jun 2020 05:35:02 GMT expires: - '-1' pragma: @@ -14431,7 +14786,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - db713f44-8fd9-46a2-9727-803f8319dad4 + - 7413b2b3-fef4-42a5-be43-cd443c32d17c status: code: 200 message: OK @@ -14449,10 +14804,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -14464,7 +14819,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:22:35 GMT + - Thu, 18 Jun 2020 05:35:12 GMT expires: - '-1' pragma: @@ -14481,7 +14836,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 4bfa5e59-3725-4f67-a9c3-042c46e4253e + - 951a43b9-995e-474c-a416-181c4b0da0e3 status: code: 200 message: OK @@ -14499,10 +14854,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -14514,7 +14869,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:22:46 GMT + - Thu, 18 Jun 2020 05:35:22 GMT expires: - '-1' pragma: @@ -14531,7 +14886,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - bd7620a8-5d6c-4683-9385-2a03c3afe3cf + - b3fdecb4-c535-4bdf-b998-25d673b3033c status: code: 200 message: OK @@ -14549,10 +14904,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -14564,7 +14919,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:22:56 GMT + - Thu, 18 Jun 2020 05:35:33 GMT expires: - '-1' pragma: @@ -14581,7 +14936,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 0aea5a82-d0e5-4801-ac05-d39eed305d52 + - 3ed836a7-fc55-403c-a1d5-1b6b62879d7c status: code: 200 message: OK @@ -14599,10 +14954,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -14614,7 +14969,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:23:06 GMT + - Thu, 18 Jun 2020 05:35:44 GMT expires: - '-1' pragma: @@ -14631,7 +14986,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - a743cf1b-54b1-4cea-94c5-9599710761a6 + - 0c8e9de7-6f41-4cd0-aded-250a7ab152e5 status: code: 200 message: OK @@ -14649,10 +15004,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -14664,7 +15019,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:23:17 GMT + - Thu, 18 Jun 2020 05:35:54 GMT expires: - '-1' pragma: @@ -14681,7 +15036,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 89063fe6-8281-45f7-aac0-c4b8091b0393 + - f176026c-59b7-47f7-9a69-2d6ed6f10f19 status: code: 200 message: OK @@ -14699,10 +15054,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -14714,7 +15069,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:23:28 GMT + - Thu, 18 Jun 2020 05:36:04 GMT expires: - '-1' pragma: @@ -14731,7 +15086,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - a3b23d6f-ef78-434b-9cd9-9f92fe23050d + - ac5519fc-71de-4418-8283-d9123a56f23e status: code: 200 message: OK @@ -14749,10 +15104,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -14764,7 +15119,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:23:38 GMT + - Thu, 18 Jun 2020 05:36:15 GMT expires: - '-1' pragma: @@ -14781,7 +15136,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 82fe3fd9-5b42-4ac1-b694-c87fc55378b6 + - a70fd513-ce1d-4f9f-9e40-4ce6ce5e8213 status: code: 200 message: OK @@ -14799,10 +15154,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -14814,7 +15169,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:23:50 GMT + - Thu, 18 Jun 2020 05:36:25 GMT expires: - '-1' pragma: @@ -14831,7 +15186,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 21b68348-938b-473f-ab84-72b59006876f + - 0404681c-88f6-4d1e-96a3-f40a4daa1847 status: code: 200 message: OK @@ -14849,10 +15204,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -14864,7 +15219,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:24:01 GMT + - Thu, 18 Jun 2020 05:36:35 GMT expires: - '-1' pragma: @@ -14881,7 +15236,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 686914de-1c08-4e84-bff0-942adb31fcc4 + - 94cbd889-1486-4bda-ac0f-4aa662723698 status: code: 200 message: OK @@ -14899,10 +15254,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -14914,7 +15269,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:24:11 GMT + - Thu, 18 Jun 2020 05:36:46 GMT expires: - '-1' pragma: @@ -14931,7 +15286,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - a06733c4-8b55-466b-a1b6-b6e1aeaf3760 + - 97eb8a0f-9045-482a-8259-ec090cb8f3ed status: code: 200 message: OK @@ -14949,10 +15304,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -14964,7 +15319,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:24:30 GMT + - Thu, 18 Jun 2020 05:36:56 GMT expires: - '-1' pragma: @@ -14981,7 +15336,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - f9b0ff10-65a9-40d3-a549-ca07e20402a1 + - d67a5537-5ca4-4441-9803-990c7bd40bab status: code: 200 message: OK @@ -14999,10 +15354,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -15014,7 +15369,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:24:40 GMT + - Thu, 18 Jun 2020 05:37:06 GMT expires: - '-1' pragma: @@ -15031,7 +15386,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - a2e18732-528d-4362-94c1-641cf0d45211 + - 095088f2-39e5-470e-9cc5-b391703ad6f2 status: code: 200 message: OK @@ -15049,10 +15404,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -15064,7 +15419,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:24:50 GMT + - Thu, 18 Jun 2020 05:37:17 GMT expires: - '-1' pragma: @@ -15081,7 +15436,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - cd097687-a3c1-466c-be83-ba257b6ba93c + - fbf04852-3a4b-4951-b7f6-fffd32b0fddc status: code: 200 message: OK @@ -15099,10 +15454,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -15114,7 +15469,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:25:01 GMT + - Thu, 18 Jun 2020 05:37:27 GMT expires: - '-1' pragma: @@ -15131,7 +15486,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 0dd3b9f4-4e6f-4961-97a1-0f36db3272b3 + - eed00e04-56f9-4fe2-b4cc-daeec6a6d44f status: code: 200 message: OK @@ -15149,10 +15504,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -15164,7 +15519,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:25:11 GMT + - Thu, 18 Jun 2020 05:37:37 GMT expires: - '-1' pragma: @@ -15181,7 +15536,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 38db0497-ef05-485e-aa0c-a09cce2932cf + - c5a152e7-366a-4016-924a-aa0eafcb81cb status: code: 200 message: OK @@ -15199,10 +15554,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -15214,7 +15569,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:25:23 GMT + - Thu, 18 Jun 2020 05:37:48 GMT expires: - '-1' pragma: @@ -15231,7 +15586,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 49f76ed1-b9c3-4921-828e-b92c2765c359 + - 76a18ee9-c7f8-429c-bbfe-2c5798d410fd status: code: 200 message: OK @@ -15249,10 +15604,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -15264,7 +15619,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:25:33 GMT + - Thu, 18 Jun 2020 05:37:58 GMT expires: - '-1' pragma: @@ -15281,7 +15636,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 6e74dc61-6ab2-49a1-8515-d02eb7816662 + - 6c1e5ef4-fa20-43e9-997a-7281cd60932a status: code: 200 message: OK @@ -15299,10 +15654,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -15314,7 +15669,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:25:44 GMT + - Thu, 18 Jun 2020 05:38:08 GMT expires: - '-1' pragma: @@ -15331,7 +15686,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 98efd760-1e7f-4f06-aeb3-b2c58c49bee2 + - 00312287-02f9-4085-8d51-dce58026f270 status: code: 200 message: OK @@ -15349,10 +15704,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -15364,7 +15719,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:25:54 GMT + - Thu, 18 Jun 2020 05:38:19 GMT expires: - '-1' pragma: @@ -15381,7 +15736,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - c075927d-84e5-46eb-9b04-d586f4b8d97d + - 6e631f1e-3e94-4b21-8003-0b834f584196 status: code: 200 message: OK @@ -15399,10 +15754,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -15414,7 +15769,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:26:04 GMT + - Thu, 18 Jun 2020 05:38:30 GMT expires: - '-1' pragma: @@ -15431,7 +15786,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 1a130ba3-51a0-4174-8bee-8380e77de6ec + - a3e24b3d-06ce-4d08-bf91-c83418180cc2 status: code: 200 message: OK @@ -15449,10 +15804,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -15464,7 +15819,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:26:16 GMT + - Thu, 18 Jun 2020 05:38:40 GMT expires: - '-1' pragma: @@ -15481,7 +15836,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 97d30fe5-ca28-4a73-a03c-daea04b8d896 + - f777a5f1-3375-4804-9461-09e9c30c471b status: code: 200 message: OK @@ -15499,10 +15854,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -15514,7 +15869,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:26:26 GMT + - Thu, 18 Jun 2020 05:38:50 GMT expires: - '-1' pragma: @@ -15531,7 +15886,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - a5f2ad9d-3078-47dd-bf9f-5f10f4c24d3f + - f3520387-d3fb-488c-8c98-5c23ebc6a3f1 status: code: 200 message: OK @@ -15549,10 +15904,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -15564,7 +15919,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:26:37 GMT + - Thu, 18 Jun 2020 05:39:01 GMT expires: - '-1' pragma: @@ -15581,7 +15936,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 9671e89a-a359-4769-9d45-feaab791ccfb + - 454dad56-4ec9-43e5-938d-49c341d7e92c status: code: 200 message: OK @@ -15599,10 +15954,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -15614,7 +15969,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:26:47 GMT + - Thu, 18 Jun 2020 05:39:11 GMT expires: - '-1' pragma: @@ -15631,7 +15986,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - d63f9009-a207-4b96-954e-a4a5b09c13cf + - 30607701-ba24-4b1e-a2f6-e28b9fbe7875 status: code: 200 message: OK @@ -15649,10 +16004,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -15664,7 +16019,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:26:57 GMT + - Thu, 18 Jun 2020 05:39:21 GMT expires: - '-1' pragma: @@ -15681,7 +16036,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - a16c1f9e-bd6c-4739-98b4-5f6d72c9701b + - aec9f3f1-1541-47fe-bfd1-ab15bbb09874 status: code: 200 message: OK @@ -15699,10 +16054,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -15714,7 +16069,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:27:08 GMT + - Thu, 18 Jun 2020 05:39:32 GMT expires: - '-1' pragma: @@ -15731,7 +16086,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 403c1778-c861-49cd-b436-c380fcb96825 + - f37142ab-2270-4d3f-8699-46fbd28b76f1 status: code: 200 message: OK @@ -15749,10 +16104,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -15764,7 +16119,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:27:18 GMT + - Thu, 18 Jun 2020 05:39:42 GMT expires: - '-1' pragma: @@ -15781,7 +16136,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 08f7ed58-7da6-43da-b772-ea90d546f98a + - be7b559e-a144-4fd1-8295-0ebce065790e status: code: 200 message: OK @@ -15799,10 +16154,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -15814,7 +16169,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:27:28 GMT + - Thu, 18 Jun 2020 05:39:53 GMT expires: - '-1' pragma: @@ -15831,7 +16186,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 972fc8e6-20ea-46c4-8427-56c33ffaaa0e + - 68b03d02-e70e-459c-8c0c-440c9b7788d5 status: code: 200 message: OK @@ -15849,10 +16204,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -15864,7 +16219,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:27:40 GMT + - Thu, 18 Jun 2020 05:40:03 GMT expires: - '-1' pragma: @@ -15881,7 +16236,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 8dd22770-9d07-4016-8b20-4891ae3e75e9 + - 5cd99a43-8781-498a-a65a-9b03b4ba45b7 status: code: 200 message: OK @@ -15899,10 +16254,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -15914,7 +16269,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:27:50 GMT + - Thu, 18 Jun 2020 05:40:13 GMT expires: - '-1' pragma: @@ -15931,7 +16286,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - fcf004e7-cbb9-4d13-a7f4-d9febb90485c + - 4ee363d9-79f9-4755-ae72-7573fee22249 status: code: 200 message: OK @@ -15949,10 +16304,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -15964,7 +16319,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:28:01 GMT + - Thu, 18 Jun 2020 05:40:24 GMT expires: - '-1' pragma: @@ -15981,7 +16336,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 27daa5e5-9031-45df-b5f6-280954f3c918 + - bea5aa49-5981-4a22-bff0-2f3d4be19c86 status: code: 200 message: OK @@ -15999,10 +16354,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -16014,7 +16369,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:28:12 GMT + - Thu, 18 Jun 2020 05:40:35 GMT expires: - '-1' pragma: @@ -16031,7 +16386,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - b48d78c5-c7bb-4407-b21a-9db093d22810 + - 497ff9e1-6b3e-4832-b5ec-0bcd1ec7f6b8 status: code: 200 message: OK @@ -16049,10 +16404,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -16064,7 +16419,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:28:22 GMT + - Thu, 18 Jun 2020 05:40:45 GMT expires: - '-1' pragma: @@ -16081,7 +16436,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - dbfd47d1-7662-4a6a-8736-c4564b1c788f + - e2f44fde-407c-4c47-9fcf-9326f165495a status: code: 200 message: OK @@ -16099,10 +16454,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -16114,7 +16469,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:28:33 GMT + - Thu, 18 Jun 2020 05:40:55 GMT expires: - '-1' pragma: @@ -16131,7 +16486,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 578c0a60-685c-4993-9807-fe88d3ba51e5 + - 9a0afcf8-d548-42cd-88db-16b07df9168c status: code: 200 message: OK @@ -16149,10 +16504,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -16164,7 +16519,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:28:43 GMT + - Thu, 18 Jun 2020 05:41:06 GMT expires: - '-1' pragma: @@ -16181,7 +16536,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 1c708de2-8f16-456b-82d0-10d5171f71d9 + - aa68ddc7-d148-4ee3-8dac-4b2f5f9e7c96 status: code: 200 message: OK @@ -16199,10 +16554,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -16214,7 +16569,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:28:54 GMT + - Thu, 18 Jun 2020 05:41:16 GMT expires: - '-1' pragma: @@ -16231,7 +16586,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - a83d0af1-9c87-4f7f-a715-2ba258c23395 + - c84d3478-90f0-49d5-8850-e3999a82de6b status: code: 200 message: OK @@ -16249,10 +16604,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -16264,7 +16619,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:29:05 GMT + - Thu, 18 Jun 2020 05:41:26 GMT expires: - '-1' pragma: @@ -16281,7 +16636,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 97438457-11f4-4212-8b76-8b0e153f10e8 + - 837af78a-e3e7-4182-806c-17a238516f6a status: code: 200 message: OK @@ -16299,10 +16654,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -16314,7 +16669,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:29:16 GMT + - Thu, 18 Jun 2020 05:41:37 GMT expires: - '-1' pragma: @@ -16331,7 +16686,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 5c1e767f-5d48-4b6f-8d5c-f71eec7be09a + - 4d141c90-6b52-4721-9308-2317c14243e6 status: code: 200 message: OK @@ -16349,10 +16704,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -16364,7 +16719,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:29:27 GMT + - Thu, 18 Jun 2020 05:41:47 GMT expires: - '-1' pragma: @@ -16381,7 +16736,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 61516056-3a31-4169-af11-6b69c86c91b9 + - 377bb6c4-278e-4e9f-a58e-c3949be5f4f2 status: code: 200 message: OK @@ -16399,10 +16754,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -16414,7 +16769,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:29:37 GMT + - Thu, 18 Jun 2020 05:41:57 GMT expires: - '-1' pragma: @@ -16431,7 +16786,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 8173a82e-f3d4-4d8b-99ce-3f723d6e6614 + - 5c08f026-15a5-41d2-b539-6a61ed7f67ca status: code: 200 message: OK @@ -16449,10 +16804,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -16464,7 +16819,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:29:48 GMT + - Thu, 18 Jun 2020 05:42:07 GMT expires: - '-1' pragma: @@ -16481,7 +16836,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - cad0041d-ed0b-4556-b1b8-a79b086b311d + - 54d1981d-8641-4c19-9b33-28cdd9c98f31 status: code: 200 message: OK @@ -16499,10 +16854,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -16514,7 +16869,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:29:58 GMT + - Thu, 18 Jun 2020 05:42:18 GMT expires: - '-1' pragma: @@ -16531,7 +16886,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 68c09a99-a4e3-42a4-b48d-19567d69ccd4 + - 7badbf24-4ead-4c3d-9e74-cbfba37c562d status: code: 200 message: OK @@ -16549,10 +16904,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -16564,7 +16919,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:30:10 GMT + - Thu, 18 Jun 2020 05:42:28 GMT expires: - '-1' pragma: @@ -16581,7 +16936,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - f024fde2-ac34-45a5-b2fe-6941dd9ac41b + - 88ab991e-7ef8-4bcf-ab05-0be8e0d23343 status: code: 200 message: OK @@ -16599,10 +16954,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -16614,7 +16969,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:30:20 GMT + - Thu, 18 Jun 2020 05:42:39 GMT expires: - '-1' pragma: @@ -16631,7 +16986,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 35da3c3f-194a-4237-a311-75246a57d8dd + - 4149feef-af93-4074-a68c-b6a346cf7590 status: code: 200 message: OK @@ -16649,10 +17004,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -16664,7 +17019,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:30:30 GMT + - Thu, 18 Jun 2020 05:42:50 GMT expires: - '-1' pragma: @@ -16681,7 +17036,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 7b45b7a3-7fda-4f5d-9242-4eb98a5d7635 + - e87eb63b-c749-4765-8491-5b1af620cce3 status: code: 200 message: OK @@ -16699,10 +17054,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -16714,7 +17069,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:30:40 GMT + - Thu, 18 Jun 2020 05:43:00 GMT expires: - '-1' pragma: @@ -16731,7 +17086,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - cda0e812-16cc-4bef-a557-b7e9040ee56a + - 57b0e3ef-c38e-42a3-ab07-364dbdf21067 status: code: 200 message: OK @@ -16749,10 +17104,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -16764,7 +17119,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:30:52 GMT + - Thu, 18 Jun 2020 05:43:10 GMT expires: - '-1' pragma: @@ -16781,7 +17136,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - a134d7ce-804d-43f0-ae6d-84e956fdece8 + - fe104c21-96a7-4630-ad67-26f4799a06a5 status: code: 200 message: OK @@ -16799,10 +17154,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -16814,7 +17169,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:31:06 GMT + - Thu, 18 Jun 2020 05:43:20 GMT expires: - '-1' pragma: @@ -16831,7 +17186,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - af64a912-deec-4ed0-ac23-f2a730472ded + - 4bfd8690-35d1-490d-b615-15e2fda467cd status: code: 200 message: OK @@ -16849,10 +17204,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -16864,7 +17219,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:31:16 GMT + - Thu, 18 Jun 2020 05:43:31 GMT expires: - '-1' pragma: @@ -16881,7 +17236,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - afaac3bf-ffdc-4d86-835d-9e3a018df3d4 + - 2c346653-4c6f-4ff9-b394-34537808786e status: code: 200 message: OK @@ -16899,10 +17254,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -16914,7 +17269,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:31:27 GMT + - Thu, 18 Jun 2020 05:43:41 GMT expires: - '-1' pragma: @@ -16931,7 +17286,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 5ca37c4e-3903-4dd8-a902-2273dbcae2f1 + - f38d9644-5ccc-4e33-abcf-823549753234 status: code: 200 message: OK @@ -16949,10 +17304,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -16964,7 +17319,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:31:37 GMT + - Thu, 18 Jun 2020 05:43:51 GMT expires: - '-1' pragma: @@ -16981,7 +17336,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 9d409556-7d45-4400-837d-19cb77e7de9a + - 7bb6693e-5a8e-4138-bca9-dabba064edb8 status: code: 200 message: OK @@ -16999,10 +17354,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -17014,7 +17369,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:31:48 GMT + - Thu, 18 Jun 2020 05:44:02 GMT expires: - '-1' pragma: @@ -17031,7 +17386,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 6ae841c7-ca4d-4bc2-8734-adcd03b9f0fa + - ff5375ee-fd93-441f-bee3-f9f664954cdc status: code: 200 message: OK @@ -17049,10 +17404,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -17064,7 +17419,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:32:00 GMT + - Thu, 18 Jun 2020 05:44:12 GMT expires: - '-1' pragma: @@ -17081,7 +17436,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - e70137ee-ae6d-44f3-948e-bc3aab8778e2 + - dea84639-b23e-4a47-9cd8-94d69ceab14b status: code: 200 message: OK @@ -17099,10 +17454,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -17114,7 +17469,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:32:11 GMT + - Thu, 18 Jun 2020 05:44:22 GMT expires: - '-1' pragma: @@ -17131,7 +17486,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - c0aec1cd-c9d5-4c0a-bfd9-3e8be95eb3d3 + - 11d00328-7dc2-4ec5-b753-d641b9549406 status: code: 200 message: OK @@ -17149,10 +17504,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -17164,7 +17519,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:32:22 GMT + - Thu, 18 Jun 2020 05:44:32 GMT expires: - '-1' pragma: @@ -17181,7 +17536,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 5b5cae83-e395-4c61-aa2b-c431bb32b859 + - 29d60b03-ab27-435b-bb7d-92154270b5c2 status: code: 200 message: OK @@ -17199,10 +17554,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -17214,7 +17569,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:34:20 GMT + - Thu, 18 Jun 2020 05:44:43 GMT expires: - '-1' pragma: @@ -17231,7 +17586,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 254131f1-9619-4f86-92ca-37b1908fb71b + - eff5897d-3b54-4a42-bed1-eae09798d260 status: code: 200 message: OK @@ -17249,10 +17604,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -17264,7 +17619,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:34:31 GMT + - Thu, 18 Jun 2020 05:44:54 GMT expires: - '-1' pragma: @@ -17281,7 +17636,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - e1dcc5dc-68f9-45db-8eb4-24164d3ba957 + - 6eaf315b-da19-4f03-9f4d-685418d67374 status: code: 200 message: OK @@ -17299,10 +17654,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -17314,7 +17669,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:34:42 GMT + - Thu, 18 Jun 2020 05:45:05 GMT expires: - '-1' pragma: @@ -17331,7 +17686,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - f7180fa6-450d-4163-9940-7ceb6acf2c56 + - 89b02a1f-3530-453f-8899-d72e5bcece82 status: code: 200 message: OK @@ -17349,10 +17704,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -17364,7 +17719,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:36:43 GMT + - Thu, 18 Jun 2020 05:45:15 GMT expires: - '-1' pragma: @@ -17381,7 +17736,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 5d34ef3b-617d-4f60-a901-3e9959cbbbb7 + - b789ce3e-4932-4553-89de-38c64ca106af status: code: 200 message: OK @@ -17399,10 +17754,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -17414,7 +17769,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:36:53 GMT + - Thu, 18 Jun 2020 05:45:26 GMT expires: - '-1' pragma: @@ -17431,7 +17786,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 576d0491-d9c7-4258-9ba8-9433be6dcf1d + - 748f48ba-1536-4494-9635-69163afa4186 status: code: 200 message: OK @@ -17449,10 +17804,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -17464,7 +17819,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:37:04 GMT + - Thu, 18 Jun 2020 05:45:36 GMT expires: - '-1' pragma: @@ -17481,7 +17836,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - b61ec0b3-19a5-4820-88cc-15fa5ff53332 + - 8ad7c580-b6dd-4f90-bf00-b93f06e740b3 status: code: 200 message: OK @@ -17499,10 +17854,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -17514,7 +17869,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:37:14 GMT + - Thu, 18 Jun 2020 05:45:46 GMT expires: - '-1' pragma: @@ -17531,7 +17886,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 787c9132-4942-40ae-ac2d-51bc7aaa7316 + - aa090e8e-5923-46c6-8f0c-039e1e7820a4 status: code: 200 message: OK @@ -17549,10 +17904,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -17564,7 +17919,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:37:26 GMT + - Thu, 18 Jun 2020 05:45:56 GMT expires: - '-1' pragma: @@ -17581,7 +17936,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - f3f153bd-c7a6-47f6-9205-3fb60d6b13a3 + - b5fad509-b0b3-424f-a50c-603edeed8f82 status: code: 200 message: OK @@ -17599,10 +17954,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -17614,7 +17969,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:37:36 GMT + - Thu, 18 Jun 2020 05:46:07 GMT expires: - '-1' pragma: @@ -17631,7 +17986,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - e07acefb-2742-4bc4-8345-705c4d3c3dcd + - 0e38c191-303c-4c79-bba1-878aba2c1be1 status: code: 200 message: OK @@ -17649,10 +18004,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -17664,7 +18019,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:37:47 GMT + - Thu, 18 Jun 2020 05:46:17 GMT expires: - '-1' pragma: @@ -17681,7 +18036,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 403972a4-1e58-4c4c-b069-6d6e40e96ad9 + - 76552390-a1e6-441d-983e-87ff686540a2 status: code: 200 message: OK @@ -17699,10 +18054,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -17714,7 +18069,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:37:57 GMT + - Thu, 18 Jun 2020 05:46:27 GMT expires: - '-1' pragma: @@ -17731,7 +18086,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - cc86c690-a8af-46bf-8b56-f7fd54a8493c + - b4197287-4e67-40b3-8c4e-6ac8ae314a59 status: code: 200 message: OK @@ -17749,10 +18104,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -17764,7 +18119,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:38:08 GMT + - Thu, 18 Jun 2020 05:46:37 GMT expires: - '-1' pragma: @@ -17781,7 +18136,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 66fac5cb-8fa2-46ee-b680-6f9cbfba3ff9 + - 13247696-0f3e-439e-8a78-c6eb6f098d12 status: code: 200 message: OK @@ -17799,10 +18154,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -17814,7 +18169,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:38:18 GMT + - Thu, 18 Jun 2020 05:46:49 GMT expires: - '-1' pragma: @@ -17831,7 +18186,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - d7b776a9-bd27-40bf-a2a1-3778f2f67b99 + - e30ed21a-6a10-481e-af9a-da768ea7c710 status: code: 200 message: OK @@ -17849,10 +18204,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -17864,7 +18219,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:38:29 GMT + - Thu, 18 Jun 2020 05:46:59 GMT expires: - '-1' pragma: @@ -17881,7 +18236,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 896eea04-3d4e-4525-ae85-f68f2c2d5f21 + - 969b8216-266d-41ee-9f73-7b40553eee4e status: code: 200 message: OK @@ -17899,10 +18254,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -17914,7 +18269,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:38:39 GMT + - Thu, 18 Jun 2020 05:47:09 GMT expires: - '-1' pragma: @@ -17931,7 +18286,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - bb5fdd8a-f767-42bc-9482-17eae138a24e + - fbcc5efc-b136-41e8-8dfc-fb13f885d89b status: code: 200 message: OK @@ -17949,10 +18304,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -17964,7 +18319,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:38:51 GMT + - Thu, 18 Jun 2020 05:47:20 GMT expires: - '-1' pragma: @@ -17981,7 +18336,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 003fff08-45cc-441f-b0c7-b984300a99f3 + - cabe0c75-be3d-4e55-aba0-d06c3be05290 status: code: 200 message: OK @@ -17999,10 +18354,10 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/fd8a470d-f7d3-4b75-832b-18da75895f03?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/162c2aec-8ec7-4ff2-ba76-6077da75dd3b?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -18014,7 +18369,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:39:01 GMT + - Thu, 18 Jun 2020 05:47:30 GMT expires: - '-1' pragma: @@ -18031,7 +18386,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 59cc3f86-c167-49b3-8158-88403b725ac3 + - 48283c43-7630-4c02-aa05-c58a5fa01a02 status: code: 200 message: OK @@ -18049,32 +18404,36 @@ interactions: ParameterSetName: - -g -n --vhub User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 response: body: - string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"52d26015-6de2-4752-9a27-9dade077bf84\\\"\",\r\n \"type\": - \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"eastus\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Succeeded\",\r\n \"sku\": {\r\n \"name\": - \"AZFW_Hub\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"additionalProperties\": - {},\r\n \"virtualHub\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/virtualHubs/clitestvhub2\"\r\n - \ },\r\n \"hubIPAddresses\": {\r\n \"privateIPAddress\": \"10.0.0.68\",\r\n - \ \"publicIPAddresses\": [\r\n {\r\n \"address\": \"20.185.9.170\"\r\n - \ }\r\n ]\r\n }\r\n }\r\n}" + string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/azureFirewalls/af1\"\ + ,\r\n \"etag\": \"W/\\\"79110204-1a20-4682-921b-16a9a1904020\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"eastus\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n\ + \ \"sku\": {\r\n \"name\": \"AZFW_Hub\",\r\n \"tier\": \"Standard\"\ + \r\n },\r\n \"additionalProperties\": {\r\n \"Network.DNS.EnableProxy\"\ + : \"False\",\r\n \"Network.DNS.RequireProxyForNetworkRules\": \"True\"\ + ,\r\n \"Network.DNS.Servers\": \"\"\r\n },\r\n \"virtualHub\":\ + \ {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_virtual_hub000001/providers/Microsoft.Network/virtualHubs/clitestvhub2\"\ + \r\n },\r\n \"hubIPAddresses\": {\r\n \"privateIPAddress\": \"\ + 10.0.0.132\",\r\n \"publicIPAddresses\": [\r\n {\r\n \ + \ \"address\": \"52.147.213.241\"\r\n }\r\n ]\r\n }\r\n }\r\ + \n}" headers: cache-control: - no-cache content-length: - - '934' + - '1077' content-type: - application/json; charset=utf-8 date: - - Fri, 07 Feb 2020 07:39:01 GMT + - Thu, 18 Jun 2020 05:47:30 GMT etag: - - W/"52d26015-6de2-4752-9a27-9dade077bf84" + - W/"79110204-1a20-4682-921b-16a9a1904020" expires: - '-1' pragma: @@ -18091,7 +18450,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - ff99d410-8ec1-417f-b29a-b1f0ea25862c + - 00567e2f-9160-4e75-9f00-ab56877a94e0 status: code: 200 message: OK diff --git a/src/azure-firewall/azext_firewall/tests/latest/recordings/test_azure_firewall_with_firewall_policy.yaml b/src/azure-firewall/azext_firewall/tests/latest/recordings/test_azure_firewall_with_firewall_policy.yaml index 472d97e0c03..2767a965259 100644 --- a/src/azure-firewall/azext_firewall/tests/latest/recordings/test_azure_firewall_with_firewall_policy.yaml +++ b/src/azure-firewall/azext_firewall/tests/latest/recordings/test_azure_firewall_with_firewall_policy.yaml @@ -954,7 +954,7 @@ interactions: accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_with_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy?api-version=2019-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_with_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy?api-version=2020-05-01 response: body: string: "{\r\n \"properties\": {\r\n \"threatIntelMode\": \"Alert\",\r\n @@ -964,7 +964,7 @@ interactions: \ \"etag\": \"d49ce5d4-8c71-486c-b8d8-d9d9ce04bf3b\",\r\n \"location\": \"westcentralus\"\r\n}" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westcentralus/nfvOperations/a0d8ed98-39ba-48b4-a831-451a24908dc7?api-version=2019-07-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westcentralus/nfvOperations/a0d8ed98-39ba-48b4-a831-451a24908dc7?api-version=2020-05-01 cache-control: - no-cache content-length: @@ -1005,7 +1005,7 @@ interactions: - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 azure-mgmt-network/7.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westcentralus/nfvOperations/a0d8ed98-39ba-48b4-a831-451a24908dc7?api-version=2019-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westcentralus/nfvOperations/a0d8ed98-39ba-48b4-a831-451a24908dc7?api-version=2020-05-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -1052,7 +1052,7 @@ interactions: - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 azure-mgmt-network/7.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_with_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy?api-version=2019-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_with_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy?api-version=2020-05-01 response: body: string: "{\r\n \"properties\": {\r\n \"threatIntelMode\": \"Alert\",\r\n @@ -8457,7 +8457,7 @@ interactions: accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_with_firewall_policy000001/providers/Microsoft.Network/publicIPAddresses/pubip?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_with_firewall_policy000001/providers/Microsoft.Network/publicIPAddresses/pubip?api-version=2020-04-01 response: body: string: "{\r\n \"name\": \"pubip\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_with_firewall_policy000001/providers/Microsoft.Network/publicIPAddresses/pubip\",\r\n @@ -8565,7 +8565,7 @@ interactions: - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_with_firewall_policy000001/providers/Microsoft.Network/publicIPAddresses/pubip?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_with_firewall_policy000001/providers/Microsoft.Network/publicIPAddresses/pubip?api-version=2020-04-01 response: body: string: "{\r\n \"name\": \"pubip\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_with_firewall_policy000001/providers/Microsoft.Network/publicIPAddresses/pubip\",\r\n @@ -8632,7 +8632,7 @@ interactions: accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_with_firewall_policy000001/providers/Microsoft.Network/virtualNetworks/myvnet?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_with_firewall_policy000001/providers/Microsoft.Network/virtualNetworks/myvnet?api-version=2020-04-01 response: body: string: "{\r\n \"name\": \"myvnet\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_with_firewall_policy000001/providers/Microsoft.Network/virtualNetworks/myvnet\",\r\n @@ -8749,7 +8749,7 @@ interactions: - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_with_firewall_policy000001/providers/Microsoft.Network/virtualNetworks/myvnet?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_with_firewall_policy000001/providers/Microsoft.Network/virtualNetworks/myvnet?api-version=2020-04-01 response: body: string: "{\r\n \"name\": \"myvnet\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_with_firewall_policy000001/providers/Microsoft.Network/virtualNetworks/myvnet\",\r\n @@ -9933,7 +9933,7 @@ interactions: accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_with_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy2?api-version=2019-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_with_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy2?api-version=2020-05-01 response: body: string: "{\r\n \"properties\": {\r\n \"threatIntelMode\": \"Alert\",\r\n @@ -9943,7 +9943,7 @@ interactions: \ \"etag\": \"ab87c416-dfa9-46d6-80ae-5538d9eabc77\",\r\n \"location\": \"westcentralus\"\r\n}" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westcentralus/nfvOperations/8655b1b6-ae36-4099-8ffc-1a7fd19edf30?api-version=2019-07-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westcentralus/nfvOperations/8655b1b6-ae36-4099-8ffc-1a7fd19edf30?api-version=2020-05-01 cache-control: - no-cache content-length: @@ -9984,7 +9984,7 @@ interactions: - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 azure-mgmt-network/7.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westcentralus/nfvOperations/8655b1b6-ae36-4099-8ffc-1a7fd19edf30?api-version=2019-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westcentralus/nfvOperations/8655b1b6-ae36-4099-8ffc-1a7fd19edf30?api-version=2020-05-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -10031,7 +10031,7 @@ interactions: - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 azure-mgmt-network/7.0.0 Azure-SDK-For-Python AZURECLI/2.0.81 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_with_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy2?api-version=2019-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_with_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy2?api-version=2020-05-01 response: body: string: "{\r\n \"properties\": {\r\n \"threatIntelMode\": \"Alert\",\r\n diff --git a/src/azure-firewall/azext_firewall/tests/latest/recordings/test_azure_firewall_zones.yaml b/src/azure-firewall/azext_firewall/tests/latest/recordings/test_azure_firewall_zones.yaml index f57189bad1f..5e436897fff 100644 --- a/src/azure-firewall/azext_firewall/tests/latest/recordings/test_azure_firewall_zones.yaml +++ b/src/azure-firewall/azext_firewall/tests/latest/recordings/test_azure_firewall_zones.yaml @@ -13,15 +13,15 @@ interactions: ParameterSetName: - -g -n --zones User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-resource/6.0.0 - Azure-SDK-For-Python AZURECLI/2.0.79 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_azure_firewall_zones000001?api-version=2019-07-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_zones000001","name":"cli_test_azure_firewall_zones000001","type":"Microsoft.Resources/resourceGroups","location":"eastus","tags":{"product":"azurecli","cause":"automation","date":"2020-01-15T14:07:06Z"},"properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_zones000001","name":"cli_test_azure_firewall_zones000001","type":"Microsoft.Resources/resourceGroups","location":"eastus","tags":{"product":"azurecli","cause":"automation","date":"2020-06-18T06:28:10Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -30,7 +30,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 15 Jan 2020 14:07:16 GMT + - Thu, 18 Jun 2020 06:28:14 GMT expires: - '-1' pragma: @@ -45,8 +45,9 @@ interactions: code: 200 message: OK - request: - body: '{"location": "eastus", "properties": {"additionalProperties": {}}, "zones": - ["1", "3"]}' + body: '{"location": "eastus", "properties": {"additionalProperties": {"Network.DNS.EnableProxy": + "False", "Network.DNS.RequireProxyForNetworkRules": "True", "Network.DNS.Servers": + ""}}, "zones": ["1", "3"]}' headers: Accept: - application/json @@ -57,40 +58,44 @@ interactions: Connection: - keep-alive Content-Length: - - '87' + - '199' Content-Type: - application/json; charset=utf-8 ParameterSetName: - -g -n --zones User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-network/9.0.0 - Azure-SDK-For-Python AZURECLI/2.0.79 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_zones000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 response: body: - string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_zones000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"4a7b8090-24cf-49af-b565-dc708e6815f7\\\"\",\r\n \"type\": - \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"eastus\",\r\n \"zones\": - [\r\n \"1\",\r\n \"3\"\r\n ],\r\n \"properties\": {\r\n \"provisioningState\": - \"Updating\",\r\n \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": - \"Standard\"\r\n },\r\n \"threatIntelMode\": \"Alert\",\r\n \"additionalProperties\": - {},\r\n \"ipConfigurations\": [],\r\n \"networkRuleCollections\": [],\r\n - \ \"applicationRuleCollections\": [],\r\n \"natRuleCollections\": []\r\n - \ }\r\n}" + string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_zones000001/providers/Microsoft.Network/azureFirewalls/af1\"\ + ,\r\n \"etag\": \"W/\\\"a1f21dfe-5344-44a3-b2d1-9be1431c1fc0\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"eastus\"\ + ,\r\n \"zones\": [\r\n \"1\",\r\n \"3\"\r\n ],\r\n \"properties\"\ + : {\r\n \"provisioningState\": \"Updating\",\r\n \"sku\": {\r\n \ + \ \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n\ + \ \"threatIntelMode\": \"Alert\",\r\n \"additionalProperties\": {\r\n\ + \ \"Network.DNS.EnableProxy\": \"False\",\r\n \"Network.DNS.RequireProxyForNetworkRules\"\ + : \"True\",\r\n \"Network.DNS.Servers\": \"\"\r\n },\r\n \"ipConfigurations\"\ + : [],\r\n \"networkRuleCollections\": [],\r\n \"applicationRuleCollections\"\ + : [],\r\n \"natRuleCollections\": []\r\n }\r\n}" headers: + azure-asyncnotification: + - Enabled azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/2663cba4-b069-40fb-afe6-830fdb0eda6d?api-version=2019-11-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/37296221-e831-4367-9422-3449b80a21a3?api-version=2019-11-01 cache-control: - no-cache content-length: - - '729' + - '869' content-type: - application/json; charset=utf-8 date: - - Wed, 15 Jan 2020 14:07:24 GMT + - Thu, 18 Jun 2020 06:28:22 GMT expires: - '-1' pragma: @@ -103,9 +108,9 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 2ecc0742-1b0d-4a38-894e-ed798c95bbc9 + - c7eba9b9-bd4e-47bc-9ce5-b6231d428f5e x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1199' status: code: 201 message: Created @@ -123,10 +128,10 @@ interactions: ParameterSetName: - -g -n --zones User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-network/9.0.0 - Azure-SDK-For-Python AZURECLI/2.0.79 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/2663cba4-b069-40fb-afe6-830fdb0eda6d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/37296221-e831-4367-9422-3449b80a21a3?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -138,7 +143,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 15 Jan 2020 14:07:35 GMT + - Thu, 18 Jun 2020 06:28:33 GMT expires: - '-1' pragma: @@ -155,7 +160,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 1dee594f-0aa5-41e4-ad2f-b1d47396dda4 + - fb4a01bd-fa18-40c3-9ce9-3870a2247922 status: code: 200 message: OK @@ -173,32 +178,34 @@ interactions: ParameterSetName: - -g -n --zones User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-network/9.0.0 - Azure-SDK-For-Python AZURECLI/2.0.79 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_zones000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 response: body: - string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_zones000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"e550d002-5ac3-4b8c-aef4-9260a26cb34e\\\"\",\r\n \"type\": - \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"eastus\",\r\n \"zones\": - [\r\n \"1\",\r\n \"3\"\r\n ],\r\n \"properties\": {\r\n \"provisioningState\": - \"Succeeded\",\r\n \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": - \"Standard\"\r\n },\r\n \"threatIntelMode\": \"Alert\",\r\n \"additionalProperties\": - {},\r\n \"ipConfigurations\": [],\r\n \"networkRuleCollections\": [],\r\n - \ \"applicationRuleCollections\": [],\r\n \"natRuleCollections\": []\r\n - \ }\r\n}" + string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_zones000001/providers/Microsoft.Network/azureFirewalls/af1\"\ + ,\r\n \"etag\": \"W/\\\"f8285e89-a634-4249-996a-f2bc851b22a9\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"eastus\"\ + ,\r\n \"zones\": [\r\n \"1\",\r\n \"3\"\r\n ],\r\n \"properties\"\ + : {\r\n \"provisioningState\": \"Succeeded\",\r\n \"sku\": {\r\n \ + \ \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n\ + \ \"threatIntelMode\": \"Alert\",\r\n \"additionalProperties\": {\r\n\ + \ \"Network.DNS.EnableProxy\": \"False\",\r\n \"Network.DNS.RequireProxyForNetworkRules\"\ + : \"True\",\r\n \"Network.DNS.Servers\": \"\"\r\n },\r\n \"ipConfigurations\"\ + : [],\r\n \"networkRuleCollections\": [],\r\n \"applicationRuleCollections\"\ + : [],\r\n \"natRuleCollections\": []\r\n }\r\n}" headers: cache-control: - no-cache content-length: - - '730' + - '870' content-type: - application/json; charset=utf-8 date: - - Wed, 15 Jan 2020 14:07:35 GMT + - Thu, 18 Jun 2020 06:28:34 GMT etag: - - W/"e550d002-5ac3-4b8c-aef4-9260a26cb34e" + - W/"f8285e89-a634-4249-996a-f2bc851b22a9" expires: - '-1' pragma: @@ -215,7 +222,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 572d1da4-88c5-4067-8464-9edebf2f5409 + - a9dfdf45-a550-435a-8d8b-cead75b0be3a status: code: 200 message: OK @@ -233,34 +240,36 @@ interactions: ParameterSetName: - -g -n --zones User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-network/9.0.0 - Azure-SDK-For-Python AZURECLI/2.0.79 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_zones000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 response: body: - string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_zones000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"e550d002-5ac3-4b8c-aef4-9260a26cb34e\\\"\",\r\n \"type\": - \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"eastus\",\r\n \"zones\": - [\r\n \"1\",\r\n \"3\"\r\n ],\r\n \"properties\": {\r\n \"provisioningState\": - \"Succeeded\",\r\n \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": - \"Standard\"\r\n },\r\n \"threatIntelMode\": \"Alert\",\r\n \"additionalProperties\": - {},\r\n \"ipConfigurations\": [],\r\n \"networkRuleCollections\": [],\r\n - \ \"applicationRuleCollections\": [],\r\n \"natRuleCollections\": []\r\n - \ }\r\n}" + string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_zones000001/providers/Microsoft.Network/azureFirewalls/af1\"\ + ,\r\n \"etag\": \"W/\\\"f8285e89-a634-4249-996a-f2bc851b22a9\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"eastus\"\ + ,\r\n \"zones\": [\r\n \"1\",\r\n \"3\"\r\n ],\r\n \"properties\"\ + : {\r\n \"provisioningState\": \"Succeeded\",\r\n \"sku\": {\r\n \ + \ \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n\ + \ \"threatIntelMode\": \"Alert\",\r\n \"additionalProperties\": {\r\n\ + \ \"Network.DNS.EnableProxy\": \"False\",\r\n \"Network.DNS.RequireProxyForNetworkRules\"\ + : \"True\",\r\n \"Network.DNS.Servers\": \"\"\r\n },\r\n \"ipConfigurations\"\ + : [],\r\n \"networkRuleCollections\": [],\r\n \"applicationRuleCollections\"\ + : [],\r\n \"natRuleCollections\": []\r\n }\r\n}" headers: cache-control: - no-cache content-length: - - '730' + - '870' content-type: - application/json; charset=utf-8 date: - - Wed, 15 Jan 2020 14:07:37 GMT + - Thu, 18 Jun 2020 06:28:34 GMT etag: - - W/"e550d002-5ac3-4b8c-aef4-9260a26cb34e" + - W/"f8285e89-a634-4249-996a-f2bc851b22a9" expires: - '-1' pragma: @@ -277,7 +286,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 38b257a3-ed95-45ba-b247-721f4d5a5bff + - 59d10902-4e0c-42a3-b772-418f257c9a34 status: code: 200 message: OK @@ -286,7 +295,8 @@ interactions: "location": "eastus", "properties": {"applicationRuleCollections": [], "natRuleCollections": [], "networkRuleCollections": [], "ipConfigurations": [], "threatIntelMode": "Alert", "sku": {"name": "AZFW_VNet", "tier": "Standard"}, "additionalProperties": - {}}, "zones": ["1"]}''' + {"Network.DNS.EnableProxy": "False", "Network.DNS.RequireProxyForNetworkRules": + "True", "Network.DNS.Servers": ""}}, "zones": ["1"]}''' headers: Accept: - application/json @@ -297,40 +307,44 @@ interactions: Connection: - keep-alive Content-Length: - - '473' + - '585' Content-Type: - application/json; charset=utf-8 ParameterSetName: - -g -n --zones User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-network/9.0.0 - Azure-SDK-For-Python AZURECLI/2.0.79 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_zones000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 response: body: - string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_zones000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"716eb2f2-9835-4f57-ac52-7577d587ca6d\\\"\",\r\n \"type\": - \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"eastus\",\r\n \"zones\": - [\r\n \"1\"\r\n ],\r\n \"properties\": {\r\n \"provisioningState\": - \"Updating\",\r\n \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": - \"Standard\"\r\n },\r\n \"threatIntelMode\": \"Alert\",\r\n \"additionalProperties\": - {},\r\n \"ipConfigurations\": [],\r\n \"networkRuleCollections\": [],\r\n - \ \"applicationRuleCollections\": [],\r\n \"natRuleCollections\": []\r\n - \ }\r\n}" + string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_zones000001/providers/Microsoft.Network/azureFirewalls/af1\"\ + ,\r\n \"etag\": \"W/\\\"a1924ce1-ea44-4f6e-bcc3-3c70858f19a9\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"eastus\"\ + ,\r\n \"zones\": [\r\n \"1\"\r\n ],\r\n \"properties\": {\r\n \"\ + provisioningState\": \"Updating\",\r\n \"sku\": {\r\n \"name\": \"\ + AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\"\ + : \"Alert\",\r\n \"additionalProperties\": {\r\n \"Network.DNS.EnableProxy\"\ + : \"False\",\r\n \"Network.DNS.RequireProxyForNetworkRules\": \"True\"\ + ,\r\n \"Network.DNS.Servers\": \"\"\r\n },\r\n \"ipConfigurations\"\ + : [],\r\n \"networkRuleCollections\": [],\r\n \"applicationRuleCollections\"\ + : [],\r\n \"natRuleCollections\": []\r\n }\r\n}" headers: + azure-asyncnotification: + - Enabled azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/bb5b84f2-f45d-4b10-88bb-9f871f11b637?api-version=2019-11-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/3f3adc32-93b0-4ebc-9016-e8b69172cf03?api-version=2019-11-01 cache-control: - no-cache content-length: - - '719' + - '859' content-type: - application/json; charset=utf-8 date: - - Wed, 15 Jan 2020 14:07:44 GMT + - Thu, 18 Jun 2020 06:28:40 GMT expires: - '-1' pragma: @@ -347,9 +361,9 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 3aa0e879-6dd2-49f8-882e-3be0ffe12076 + - cc9eb03d-63a2-49dd-9e1d-060a378c0ba2 x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1197' status: code: 200 message: OK @@ -367,10 +381,10 @@ interactions: ParameterSetName: - -g -n --zones User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-network/9.0.0 - Azure-SDK-For-Python AZURECLI/2.0.79 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/bb5b84f2-f45d-4b10-88bb-9f871f11b637?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/3f3adc32-93b0-4ebc-9016-e8b69172cf03?api-version=2019-11-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -382,7 +396,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 15 Jan 2020 14:07:56 GMT + - Thu, 18 Jun 2020 06:28:51 GMT expires: - '-1' pragma: @@ -399,7 +413,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 3dbbc34c-ddd8-4607-818e-d59b6fcb2395 + - 34e78442-7225-4ec1-8ce3-db768dbaefce status: code: 200 message: OK @@ -417,32 +431,34 @@ interactions: ParameterSetName: - -g -n --zones User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-network/9.0.0 - Azure-SDK-For-Python AZURECLI/2.0.79 + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_zones000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2019-11-01 response: body: - string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_zones000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"a8ad56aa-4793-4035-8473-dd027d49fb16\\\"\",\r\n \"type\": - \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"eastus\",\r\n \"zones\": - [\r\n \"1\"\r\n ],\r\n \"properties\": {\r\n \"provisioningState\": - \"Succeeded\",\r\n \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": - \"Standard\"\r\n },\r\n \"threatIntelMode\": \"Alert\",\r\n \"additionalProperties\": - {},\r\n \"ipConfigurations\": [],\r\n \"networkRuleCollections\": [],\r\n - \ \"applicationRuleCollections\": [],\r\n \"natRuleCollections\": []\r\n - \ }\r\n}" + string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_zones000001/providers/Microsoft.Network/azureFirewalls/af1\"\ + ,\r\n \"etag\": \"W/\\\"fb8c94c2-78f9-47e4-8ca3-8694fca6f8ea\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"eastus\"\ + ,\r\n \"zones\": [\r\n \"1\"\r\n ],\r\n \"properties\": {\r\n \"\ + provisioningState\": \"Succeeded\",\r\n \"sku\": {\r\n \"name\": \"\ + AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\"\ + : \"Alert\",\r\n \"additionalProperties\": {\r\n \"Network.DNS.EnableProxy\"\ + : \"False\",\r\n \"Network.DNS.RequireProxyForNetworkRules\": \"True\"\ + ,\r\n \"Network.DNS.Servers\": \"\"\r\n },\r\n \"ipConfigurations\"\ + : [],\r\n \"networkRuleCollections\": [],\r\n \"applicationRuleCollections\"\ + : [],\r\n \"natRuleCollections\": []\r\n }\r\n}" headers: cache-control: - no-cache content-length: - - '720' + - '860' content-type: - application/json; charset=utf-8 date: - - Wed, 15 Jan 2020 14:07:56 GMT + - Thu, 18 Jun 2020 06:28:52 GMT etag: - - W/"a8ad56aa-4793-4035-8473-dd027d49fb16" + - W/"fb8c94c2-78f9-47e4-8ca3-8694fca6f8ea" expires: - '-1' pragma: @@ -459,7 +475,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 21a4a51a-6e48-43bb-9140-ef3d3b89f45c + - a6dd3982-b7e0-4874-b1f0-968fbe3a6209 status: code: 200 message: OK diff --git a/src/azure-firewall/azext_firewall/tests/latest/recordings/test_firewall_policy_with_dns_settings.yaml b/src/azure-firewall/azext_firewall/tests/latest/recordings/test_firewall_policy_with_dns_settings.yaml new file mode 100644 index 00000000000..8ca20866462 --- /dev/null +++ b/src/azure-firewall/azext_firewall/tests/latest/recordings/test_firewall_policy_with_dns_settings.yaml @@ -0,0 +1,839 @@ +interactions: +- request: + body: '{"location": "eastus2euap", "properties": {"dnsSettings": {"servers": ["10.0.0.1", + "10.0.0.2", "10.0.0.3"], "enableProxy": false, "requireProxyForNetworkRules": + true}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall policy create + Connection: + - keep-alive + Content-Length: + - '168' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - --resource-group --location --name --dns-servers + User-Agent: + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_firewall_policy_with_dns_settings000001/providers/Microsoft.Network/firewallPolicies/fwp01?api-version=2020-05-01 + response: + body: + string: "{\r\n \"properties\": {\r\n \"threatIntelMode\": \"Alert\",\r\n\ + \ \"dnsSettings\": {\r\n \"servers\": [\r\n \"10.0.0.1\",\r\ + \n \"10.0.0.2\",\r\n \"10.0.0.3\"\r\n ],\r\n \"requireProxyForNetworkRules\"\ + : true\r\n },\r\n \"childPolicies\": [],\r\n \"ruleCollectionGroups\"\ + : [],\r\n \"firewalls\": [],\r\n \"provisioningState\": \"Updating\"\ + \r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_firewall_policy_with_dns_settings000001/providers/Microsoft.Network/firewallPolicies/fwp01\"\ + ,\r\n \"name\": \"fwp01\",\r\n \"type\": \"Microsoft.Network/FirewallPolicies\"\ + ,\r\n \"etag\": \"169df5d7-9442-4a67-971d-7ab9c2ce7334\",\r\n \"location\"\ + : \"eastus2euap\"\r\n}" + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus2euap/nfvOperations/9a8f16a3-b6e8-409d-99f0-fddfc11a68da?api-version=2020-05-01 + cache-control: + - no-cache + content-length: + - '700' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 18 Jun 2020 06:29:10 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall policy create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --location --name --dns-servers + User-Agent: + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus2euap/nfvOperations/9a8f16a3-b6e8-409d-99f0-fddfc11a68da?api-version=2020-05-01 + response: + body: + string: "{\r\n \"status\": \"Succeeded\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '29' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 18 Jun 2020 06:29:22 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall policy create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --location --name --dns-servers + User-Agent: + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_firewall_policy_with_dns_settings000001/providers/Microsoft.Network/firewallPolicies/fwp01?api-version=2020-05-01 + response: + body: + string: "{\r\n \"properties\": {\r\n \"threatIntelMode\": \"Alert\",\r\n\ + \ \"dnsSettings\": {\r\n \"servers\": [\r\n \"10.0.0.1\",\r\ + \n \"10.0.0.2\",\r\n \"10.0.0.3\"\r\n ],\r\n \"requireProxyForNetworkRules\"\ + : true\r\n },\r\n \"childPolicies\": [],\r\n \"ruleCollectionGroups\"\ + : [],\r\n \"firewalls\": [],\r\n \"provisioningState\": \"Succeeded\"\ + \r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_firewall_policy_with_dns_settings000001/providers/Microsoft.Network/firewallPolicies/fwp01\"\ + ,\r\n \"name\": \"fwp01\",\r\n \"type\": \"Microsoft.Network/FirewallPolicies\"\ + ,\r\n \"etag\": \"169df5d7-9442-4a67-971d-7ab9c2ce7334\",\r\n \"location\"\ + : \"eastus2euap\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '701' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 18 Jun 2020 06:29:23 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall policy show + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name + User-Agent: + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_firewall_policy_with_dns_settings000001/providers/Microsoft.Network/firewallPolicies/fwp01?api-version=2020-05-01 + response: + body: + string: "{\r\n \"properties\": {\r\n \"threatIntelMode\": \"Alert\",\r\n\ + \ \"dnsSettings\": {\r\n \"servers\": [\r\n \"10.0.0.1\",\r\ + \n \"10.0.0.2\",\r\n \"10.0.0.3\"\r\n ],\r\n \"requireProxyForNetworkRules\"\ + : true\r\n },\r\n \"childPolicies\": [],\r\n \"ruleCollectionGroups\"\ + : [],\r\n \"firewalls\": [],\r\n \"provisioningState\": \"Succeeded\"\ + \r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_firewall_policy_with_dns_settings000001/providers/Microsoft.Network/firewallPolicies/fwp01\"\ + ,\r\n \"name\": \"fwp01\",\r\n \"type\": \"Microsoft.Network/FirewallPolicies\"\ + ,\r\n \"etag\": \"169df5d7-9442-4a67-971d-7ab9c2ce7334\",\r\n \"location\"\ + : \"eastus2euap\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '701' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 18 Jun 2020 06:29:25 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall policy update + Connection: + - keep-alive + ParameterSetName: + - --resource --name --dns-servers --enable-dns-proxy + User-Agent: + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_firewall_policy_with_dns_settings000001/providers/Microsoft.Network/firewallPolicies/fwp01?api-version=2020-05-01 + response: + body: + string: "{\r\n \"properties\": {\r\n \"threatIntelMode\": \"Alert\",\r\n\ + \ \"dnsSettings\": {\r\n \"servers\": [\r\n \"10.0.0.1\",\r\ + \n \"10.0.0.2\",\r\n \"10.0.0.3\"\r\n ],\r\n \"requireProxyForNetworkRules\"\ + : true\r\n },\r\n \"childPolicies\": [],\r\n \"ruleCollectionGroups\"\ + : [],\r\n \"firewalls\": [],\r\n \"provisioningState\": \"Succeeded\"\ + \r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_firewall_policy_with_dns_settings000001/providers/Microsoft.Network/firewallPolicies/fwp01\"\ + ,\r\n \"name\": \"fwp01\",\r\n \"type\": \"Microsoft.Network/FirewallPolicies\"\ + ,\r\n \"etag\": \"169df5d7-9442-4a67-971d-7ab9c2ce7334\",\r\n \"location\"\ + : \"eastus2euap\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '701' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 18 Jun 2020 06:29:28 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: 'b''{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_firewall_policy_with_dns_settings000001/providers/Microsoft.Network/firewallPolicies/fwp01", + "location": "eastus2euap", "properties": {"threatIntelMode": "Alert", "dnsSettings": + {"servers": ["10.0.1.0"], "enableProxy": true, "requireProxyForNetworkRules": + true}}}''' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall policy update + Connection: + - keep-alive + Content-Length: + - '374' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - --resource --name --dns-servers --enable-dns-proxy + User-Agent: + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_firewall_policy_with_dns_settings000001/providers/Microsoft.Network/firewallPolicies/fwp01?api-version=2020-05-01 + response: + body: + string: "{\r\n \"properties\": {\r\n \"threatIntelMode\": \"Alert\",\r\n\ + \ \"dnsSettings\": {\r\n \"servers\": [\r\n \"10.0.1.0\"\r\n\ + \ ],\r\n \"enableProxy\": true,\r\n \"requireProxyForNetworkRules\"\ + : true\r\n },\r\n \"childPolicies\": [],\r\n \"ruleCollectionGroups\"\ + : [],\r\n \"firewalls\": [],\r\n \"provisioningState\": \"Updating\"\ + \r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_firewall_policy_with_dns_settings000001/providers/Microsoft.Network/firewallPolicies/fwp01\"\ + ,\r\n \"name\": \"fwp01\",\r\n \"type\": \"Microsoft.Network/FirewallPolicies\"\ + ,\r\n \"etag\": \"a068ab59-c694-42a3-92e4-f4753ab77052\",\r\n \"location\"\ + : \"eastus2euap\"\r\n}" + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus2euap/nfvOperations/6a26d7e3-15df-4156-844a-a0c5e30d674f?api-version=2020-05-01 + cache-control: + - no-cache + content-length: + - '686' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 18 Jun 2020 06:29:29 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1197' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall policy update + Connection: + - keep-alive + ParameterSetName: + - --resource --name --dns-servers --enable-dns-proxy + User-Agent: + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus2euap/nfvOperations/6a26d7e3-15df-4156-844a-a0c5e30d674f?api-version=2020-05-01 + response: + body: + string: "{\r\n \"status\": \"Succeeded\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '29' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 18 Jun 2020 06:29:40 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall policy update + Connection: + - keep-alive + ParameterSetName: + - --resource --name --dns-servers --enable-dns-proxy + User-Agent: + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_firewall_policy_with_dns_settings000001/providers/Microsoft.Network/firewallPolicies/fwp01?api-version=2020-05-01 + response: + body: + string: "{\r\n \"properties\": {\r\n \"threatIntelMode\": \"Alert\",\r\n\ + \ \"dnsSettings\": {\r\n \"servers\": [\r\n \"10.0.1.0\"\r\n\ + \ ],\r\n \"enableProxy\": true,\r\n \"requireProxyForNetworkRules\"\ + : true\r\n },\r\n \"childPolicies\": [],\r\n \"ruleCollectionGroups\"\ + : [],\r\n \"firewalls\": [],\r\n \"provisioningState\": \"Succeeded\"\ + \r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_firewall_policy_with_dns_settings000001/providers/Microsoft.Network/firewallPolicies/fwp01\"\ + ,\r\n \"name\": \"fwp01\",\r\n \"type\": \"Microsoft.Network/FirewallPolicies\"\ + ,\r\n \"etag\": \"a068ab59-c694-42a3-92e4-f4753ab77052\",\r\n \"location\"\ + : \"eastus2euap\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '687' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 18 Jun 2020 06:29:41 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall policy show + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name + User-Agent: + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_firewall_policy_with_dns_settings000001/providers/Microsoft.Network/firewallPolicies/fwp01?api-version=2020-05-01 + response: + body: + string: "{\r\n \"properties\": {\r\n \"threatIntelMode\": \"Alert\",\r\n\ + \ \"dnsSettings\": {\r\n \"servers\": [\r\n \"10.0.1.0\"\r\n\ + \ ],\r\n \"enableProxy\": true,\r\n \"requireProxyForNetworkRules\"\ + : true\r\n },\r\n \"childPolicies\": [],\r\n \"ruleCollectionGroups\"\ + : [],\r\n \"firewalls\": [],\r\n \"provisioningState\": \"Succeeded\"\ + \r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_firewall_policy_with_dns_settings000001/providers/Microsoft.Network/firewallPolicies/fwp01\"\ + ,\r\n \"name\": \"fwp01\",\r\n \"type\": \"Microsoft.Network/FirewallPolicies\"\ + ,\r\n \"etag\": \"a068ab59-c694-42a3-92e4-f4753ab77052\",\r\n \"location\"\ + : \"eastus2euap\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '687' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 18 Jun 2020 06:29:43 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall policy update + Connection: + - keep-alive + ParameterSetName: + - --resource --name --require-dns-proxy-for-network-rules + User-Agent: + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_firewall_policy_with_dns_settings000001/providers/Microsoft.Network/firewallPolicies/fwp01?api-version=2020-05-01 + response: + body: + string: "{\r\n \"properties\": {\r\n \"threatIntelMode\": \"Alert\",\r\n\ + \ \"dnsSettings\": {\r\n \"servers\": [\r\n \"10.0.1.0\"\r\n\ + \ ],\r\n \"enableProxy\": true,\r\n \"requireProxyForNetworkRules\"\ + : true\r\n },\r\n \"childPolicies\": [],\r\n \"ruleCollectionGroups\"\ + : [],\r\n \"firewalls\": [],\r\n \"provisioningState\": \"Succeeded\"\ + \r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_firewall_policy_with_dns_settings000001/providers/Microsoft.Network/firewallPolicies/fwp01\"\ + ,\r\n \"name\": \"fwp01\",\r\n \"type\": \"Microsoft.Network/FirewallPolicies\"\ + ,\r\n \"etag\": \"a068ab59-c694-42a3-92e4-f4753ab77052\",\r\n \"location\"\ + : \"eastus2euap\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '687' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 18 Jun 2020 06:29:44 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: 'b''{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_firewall_policy_with_dns_settings000001/providers/Microsoft.Network/firewallPolicies/fwp01", + "location": "eastus2euap", "properties": {"threatIntelMode": "Alert", "dnsSettings": + {"servers": ["10.0.1.0"], "enableProxy": true, "requireProxyForNetworkRules": + false}}}''' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall policy update + Connection: + - keep-alive + Content-Length: + - '375' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - --resource --name --require-dns-proxy-for-network-rules + User-Agent: + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_firewall_policy_with_dns_settings000001/providers/Microsoft.Network/firewallPolicies/fwp01?api-version=2020-05-01 + response: + body: + string: "{\r\n \"properties\": {\r\n \"threatIntelMode\": \"Alert\",\r\n\ + \ \"dnsSettings\": {\r\n \"servers\": [\r\n \"10.0.1.0\"\r\n\ + \ ],\r\n \"enableProxy\": true,\r\n \"requireProxyForNetworkRules\"\ + : false\r\n },\r\n \"childPolicies\": [],\r\n \"ruleCollectionGroups\"\ + : [],\r\n \"firewalls\": [],\r\n \"provisioningState\": \"Updating\"\ + \r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_firewall_policy_with_dns_settings000001/providers/Microsoft.Network/firewallPolicies/fwp01\"\ + ,\r\n \"name\": \"fwp01\",\r\n \"type\": \"Microsoft.Network/FirewallPolicies\"\ + ,\r\n \"etag\": \"82f8ad3a-6710-465f-871a-3b8a14be2222\",\r\n \"location\"\ + : \"eastus2euap\"\r\n}" + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus2euap/nfvOperations/77c1fd17-7c3f-4be7-9494-53891acc1ec6?api-version=2020-05-01 + cache-control: + - no-cache + content-length: + - '687' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 18 Jun 2020 06:29:47 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall policy update + Connection: + - keep-alive + ParameterSetName: + - --resource --name --require-dns-proxy-for-network-rules + User-Agent: + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus2euap/nfvOperations/77c1fd17-7c3f-4be7-9494-53891acc1ec6?api-version=2020-05-01 + response: + body: + string: "{\r\n \"status\": \"Succeeded\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '29' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 18 Jun 2020 06:29:57 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall policy update + Connection: + - keep-alive + ParameterSetName: + - --resource --name --require-dns-proxy-for-network-rules + User-Agent: + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_firewall_policy_with_dns_settings000001/providers/Microsoft.Network/firewallPolicies/fwp01?api-version=2020-05-01 + response: + body: + string: "{\r\n \"properties\": {\r\n \"threatIntelMode\": \"Alert\",\r\n\ + \ \"dnsSettings\": {\r\n \"servers\": [\r\n \"10.0.1.0\"\r\n\ + \ ],\r\n \"enableProxy\": true,\r\n \"requireProxyForNetworkRules\"\ + : false\r\n },\r\n \"childPolicies\": [],\r\n \"ruleCollectionGroups\"\ + : [],\r\n \"firewalls\": [],\r\n \"provisioningState\": \"Succeeded\"\ + \r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_firewall_policy_with_dns_settings000001/providers/Microsoft.Network/firewallPolicies/fwp01\"\ + ,\r\n \"name\": \"fwp01\",\r\n \"type\": \"Microsoft.Network/FirewallPolicies\"\ + ,\r\n \"etag\": \"82f8ad3a-6710-465f-871a-3b8a14be2222\",\r\n \"location\"\ + : \"eastus2euap\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '688' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 18 Jun 2020 06:29:58 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall policy show + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name + User-Agent: + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_firewall_policy_with_dns_settings000001/providers/Microsoft.Network/firewallPolicies/fwp01?api-version=2020-05-01 + response: + body: + string: "{\r\n \"properties\": {\r\n \"threatIntelMode\": \"Alert\",\r\n\ + \ \"dnsSettings\": {\r\n \"servers\": [\r\n \"10.0.1.0\"\r\n\ + \ ],\r\n \"enableProxy\": true,\r\n \"requireProxyForNetworkRules\"\ + : false\r\n },\r\n \"childPolicies\": [],\r\n \"ruleCollectionGroups\"\ + : [],\r\n \"firewalls\": [],\r\n \"provisioningState\": \"Succeeded\"\ + \r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_firewall_policy_with_dns_settings000001/providers/Microsoft.Network/firewallPolicies/fwp01\"\ + ,\r\n \"name\": \"fwp01\",\r\n \"type\": \"Microsoft.Network/FirewallPolicies\"\ + ,\r\n \"etag\": \"82f8ad3a-6710-465f-871a-3b8a14be2222\",\r\n \"location\"\ + : \"eastus2euap\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '688' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 18 Jun 2020 06:29:59 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall policy delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --resource-group --name + User-Agent: + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_firewall_policy_with_dns_settings000001/providers/Microsoft.Network/firewallPolicies/fwp01?api-version=2020-05-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Thu, 18 Jun 2020 06:30:08 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + status: + code: 200 + message: OK +version: 1 diff --git a/src/azure-firewall/azext_firewall/tests/latest/recordings/test_firewall_with_dns_proxy.yaml b/src/azure-firewall/azext_firewall/tests/latest/recordings/test_firewall_with_dns_proxy.yaml new file mode 100644 index 00000000000..22a9e79082f --- /dev/null +++ b/src/azure-firewall/azext_firewall/tests/latest/recordings/test_firewall_with_dns_proxy.yaml @@ -0,0 +1,714 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --dns-servers --enable-dns-proxy --require-dns-proxy-for-network-rules + User-Agent: + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/test_firewall_with_dns_proxy000001?api-version=2019-07-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_firewall_with_dns_proxy000001","name":"test_firewall_with_dns_proxy000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2020-06-18T06:47:29Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '428' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 18 Jun 2020 06:47:32 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"location": "westus", "properties": {"additionalProperties": {"Network.DNS.EnableProxy": + "False", "Network.DNS.RequireProxyForNetworkRules": "False", "Network.DNS.Servers": + "10.0.0.2,10.0.0.3"}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + Content-Length: + - '196' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -g -n --dns-servers --enable-dns-proxy --require-dns-proxy-for-network-rules + User-Agent: + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_firewall_with_dns_proxy000001/providers/Microsoft.Network/azureFirewalls/fw01?api-version=2019-11-01 + response: + body: + string: "{\r\n \"name\": \"fw01\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_firewall_with_dns_proxy000001/providers/Microsoft.Network/azureFirewalls/fw01\"\ + ,\r\n \"etag\": \"W/\\\"3411901e-abe5-4dbf-bd70-146422077ed5\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \ + \ \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\ + \r\n },\r\n \"threatIntelMode\": \"Alert\",\r\n \"additionalProperties\"\ + : {\r\n \"Network.DNS.EnableProxy\": \"False\",\r\n \"Network.DNS.RequireProxyForNetworkRules\"\ + : \"False\",\r\n \"Network.DNS.Servers\": \"10.0.0.2,10.0.0.3\"\r\n \ + \ },\r\n \"ipConfigurations\": [],\r\n \"networkRuleCollections\"\ + : [],\r\n \"applicationRuleCollections\": [],\r\n \"natRuleCollections\"\ + : []\r\n }\r\n}" + headers: + azure-asyncnotification: + - Enabled + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/b650da3c-8640-42a5-9a07-c629bea423b7?api-version=2019-11-01 + cache-control: + - no-cache + content-length: + - '850' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 18 Jun 2020 06:47:37 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 4950c7db-54f1-43ad-a19b-25da616f3f06 + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --dns-servers --enable-dns-proxy --require-dns-proxy-for-network-rules + User-Agent: + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/b650da3c-8640-42a5-9a07-c629bea423b7?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"Succeeded\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '29' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 18 Jun 2020 06:47:48 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - c218954c-e54d-4f2c-b00b-3950989f547c + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --dns-servers --enable-dns-proxy --require-dns-proxy-for-network-rules + User-Agent: + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_firewall_with_dns_proxy000001/providers/Microsoft.Network/azureFirewalls/fw01?api-version=2019-11-01 + response: + body: + string: "{\r\n \"name\": \"fw01\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_firewall_with_dns_proxy000001/providers/Microsoft.Network/azureFirewalls/fw01\"\ + ,\r\n \"etag\": \"W/\\\"a893a3f1-b6b5-48e0-9935-35b16c9bf32d\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n\ + \ \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\ + \r\n },\r\n \"threatIntelMode\": \"Alert\",\r\n \"additionalProperties\"\ + : {\r\n \"Network.DNS.EnableProxy\": \"False\",\r\n \"Network.DNS.RequireProxyForNetworkRules\"\ + : \"False\",\r\n \"Network.DNS.Servers\": \"10.0.0.2,10.0.0.3\"\r\n \ + \ },\r\n \"ipConfigurations\": [],\r\n \"networkRuleCollections\"\ + : [],\r\n \"applicationRuleCollections\": [],\r\n \"natRuleCollections\"\ + : []\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '851' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 18 Jun 2020 06:47:48 GMT + etag: + - W/"a893a3f1-b6b5-48e0-9935-35b16c9bf32d" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - cbd5f571-12b8-4771-94da-3d49c0bdab64 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall show + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_firewall_with_dns_proxy000001/providers/Microsoft.Network/azureFirewalls/fw01?api-version=2019-11-01 + response: + body: + string: "{\r\n \"name\": \"fw01\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_firewall_with_dns_proxy000001/providers/Microsoft.Network/azureFirewalls/fw01\"\ + ,\r\n \"etag\": \"W/\\\"a893a3f1-b6b5-48e0-9935-35b16c9bf32d\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n\ + \ \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\ + \r\n },\r\n \"threatIntelMode\": \"Alert\",\r\n \"additionalProperties\"\ + : {\r\n \"Network.DNS.EnableProxy\": \"False\",\r\n \"Network.DNS.RequireProxyForNetworkRules\"\ + : \"False\",\r\n \"Network.DNS.Servers\": \"10.0.0.2,10.0.0.3\"\r\n \ + \ },\r\n \"ipConfigurations\": [],\r\n \"networkRuleCollections\"\ + : [],\r\n \"applicationRuleCollections\": [],\r\n \"natRuleCollections\"\ + : []\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '851' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 18 Jun 2020 06:47:49 GMT + etag: + - W/"a893a3f1-b6b5-48e0-9935-35b16c9bf32d" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - bbe3eae6-77b9-4f4f-bdd1-4501d551b7eb + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall update + Connection: + - keep-alive + ParameterSetName: + - -g -n --enable-dns-proxy + User-Agent: + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_firewall_with_dns_proxy000001/providers/Microsoft.Network/azureFirewalls/fw01?api-version=2019-11-01 + response: + body: + string: "{\r\n \"name\": \"fw01\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_firewall_with_dns_proxy000001/providers/Microsoft.Network/azureFirewalls/fw01\"\ + ,\r\n \"etag\": \"W/\\\"a893a3f1-b6b5-48e0-9935-35b16c9bf32d\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n\ + \ \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\ + \r\n },\r\n \"threatIntelMode\": \"Alert\",\r\n \"additionalProperties\"\ + : {\r\n \"Network.DNS.EnableProxy\": \"False\",\r\n \"Network.DNS.RequireProxyForNetworkRules\"\ + : \"False\",\r\n \"Network.DNS.Servers\": \"10.0.0.2,10.0.0.3\"\r\n \ + \ },\r\n \"ipConfigurations\": [],\r\n \"networkRuleCollections\"\ + : [],\r\n \"applicationRuleCollections\": [],\r\n \"natRuleCollections\"\ + : []\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '851' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 18 Jun 2020 06:47:50 GMT + etag: + - W/"a893a3f1-b6b5-48e0-9935-35b16c9bf32d" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 21aff139-50d9-4298-8607-bf844085f68c + status: + code: 200 + message: OK +- request: + body: 'b''{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_firewall_with_dns_proxy000001/providers/Microsoft.Network/azureFirewalls/fw01", + "location": "westus", "properties": {"applicationRuleCollections": [], "natRuleCollections": + [], "networkRuleCollections": [], "ipConfigurations": [], "threatIntelMode": + "Alert", "sku": {"name": "AZFW_VNet", "tier": "Standard"}, "additionalProperties": + {"Network.DNS.EnableProxy": "True", "Network.DNS.RequireProxyForNetworkRules": + "False", "Network.DNS.Servers": "10.0.0.2,10.0.0.3"}}}''' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall update + Connection: + - keep-alive + Content-Length: + - '587' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -g -n --enable-dns-proxy + User-Agent: + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_firewall_with_dns_proxy000001/providers/Microsoft.Network/azureFirewalls/fw01?api-version=2019-11-01 + response: + body: + string: "{\r\n \"name\": \"fw01\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_firewall_with_dns_proxy000001/providers/Microsoft.Network/azureFirewalls/fw01\"\ + ,\r\n \"etag\": \"W/\\\"3afa22c7-87f5-4eb2-8308-98cbd6e1ccf7\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \ + \ \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\ + \r\n },\r\n \"threatIntelMode\": \"Alert\",\r\n \"additionalProperties\"\ + : {\r\n \"Network.DNS.EnableProxy\": \"True\",\r\n \"Network.DNS.RequireProxyForNetworkRules\"\ + : \"False\",\r\n \"Network.DNS.Servers\": \"10.0.0.2,10.0.0.3\"\r\n \ + \ },\r\n \"ipConfigurations\": [],\r\n \"networkRuleCollections\"\ + : [],\r\n \"applicationRuleCollections\": [],\r\n \"natRuleCollections\"\ + : []\r\n }\r\n}" + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/ba80de27-ec40-4e63-8c16-9ff3152f468e?api-version=2019-11-01 + cache-control: + - no-cache + content-length: + - '849' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 18 Jun 2020 06:47:51 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - dfbc27cc-d5d6-4b07-958e-a70c2803364e + x-ms-ratelimit-remaining-subscription-writes: + - '1197' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall update + Connection: + - keep-alive + ParameterSetName: + - -g -n --enable-dns-proxy + User-Agent: + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/ba80de27-ec40-4e63-8c16-9ff3152f468e?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"Succeeded\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '29' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 18 Jun 2020 06:48:02 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 5f3ec0b2-bff3-4f1e-bc8a-db6d9e6b6aad + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall update + Connection: + - keep-alive + ParameterSetName: + - -g -n --enable-dns-proxy + User-Agent: + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_firewall_with_dns_proxy000001/providers/Microsoft.Network/azureFirewalls/fw01?api-version=2019-11-01 + response: + body: + string: "{\r\n \"name\": \"fw01\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_firewall_with_dns_proxy000001/providers/Microsoft.Network/azureFirewalls/fw01\"\ + ,\r\n \"etag\": \"W/\\\"67d7d4a1-8fc3-4d54-950d-301f65abe003\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n\ + \ \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\ + \r\n },\r\n \"threatIntelMode\": \"Alert\",\r\n \"additionalProperties\"\ + : {\r\n \"Network.DNS.EnableProxy\": \"True\",\r\n \"Network.DNS.RequireProxyForNetworkRules\"\ + : \"False\",\r\n \"Network.DNS.Servers\": \"10.0.0.2,10.0.0.3\"\r\n \ + \ },\r\n \"ipConfigurations\": [],\r\n \"networkRuleCollections\"\ + : [],\r\n \"applicationRuleCollections\": [],\r\n \"natRuleCollections\"\ + : []\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '850' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 18 Jun 2020 06:48:03 GMT + etag: + - W/"67d7d4a1-8fc3-4d54-950d-301f65abe003" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - c6aac6cc-d505-4d46-8db2-4ffd75b65cd1 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall show + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_firewall_with_dns_proxy000001/providers/Microsoft.Network/azureFirewalls/fw01?api-version=2019-11-01 + response: + body: + string: "{\r\n \"name\": \"fw01\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_firewall_with_dns_proxy000001/providers/Microsoft.Network/azureFirewalls/fw01\"\ + ,\r\n \"etag\": \"W/\\\"67d7d4a1-8fc3-4d54-950d-301f65abe003\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n\ + \ \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\ + \r\n },\r\n \"threatIntelMode\": \"Alert\",\r\n \"additionalProperties\"\ + : {\r\n \"Network.DNS.EnableProxy\": \"True\",\r\n \"Network.DNS.RequireProxyForNetworkRules\"\ + : \"False\",\r\n \"Network.DNS.Servers\": \"10.0.0.2,10.0.0.3\"\r\n \ + \ },\r\n \"ipConfigurations\": [],\r\n \"networkRuleCollections\"\ + : [],\r\n \"applicationRuleCollections\": [],\r\n \"natRuleCollections\"\ + : []\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '850' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 18 Jun 2020 06:48:04 GMT + etag: + - W/"67d7d4a1-8fc3-4d54-950d-301f65abe003" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 437d0d28-332a-40f2-8c34-a936cba2d254 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g --name + User-Agent: + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_firewall_with_dns_proxy000001/providers/Microsoft.Network/azureFirewalls/fw01?api-version=2019-11-01 + response: + body: + string: '' + headers: + azure-asyncnotification: + - Enabled + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/7ae91052-b590-473d-b3d0-bbb564c1a709?api-version=2019-11-01 + cache-control: + - no-cache + content-length: + - '0' + date: + - Thu, 18 Jun 2020 06:48:06 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operationResults/7ae91052-b590-473d-b3d0-bbb564c1a709?api-version=2019-11-01 + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 3f255219-8be3-4436-8379-42d95c5fe7f2 + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall delete + Connection: + - keep-alive + ParameterSetName: + - -g --name + User-Agent: + - python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) msrest/0.6.9 + msrest_azure/0.6.3 azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/7ae91052-b590-473d-b3d0-bbb564c1a709?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"Succeeded\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '29' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 18 Jun 2020 06:48:17 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 321c6dd1-854d-4d96-8d59-7af327d974af + status: + code: 200 + message: OK +version: 1 diff --git a/src/azure-firewall/azext_firewall/tests/latest/test_azure_firewall_scenario.py b/src/azure-firewall/azext_firewall/tests/latest/test_azure_firewall_scenario.py index 0249c2b3dcf..c0a026efe2e 100644 --- a/src/azure-firewall/azext_firewall/tests/latest/test_azure_firewall_scenario.py +++ b/src/azure-firewall/azext_firewall/tests/latest/test_azure_firewall_scenario.py @@ -27,7 +27,12 @@ def test_azure_firewall(self, resource_group): 'rule1': 'rule1', 'rule2': 'rule2' }) - self.cmd('network firewall create -g {rg} -n {af}') + self.cmd('network firewall create -g {rg} -n {af} --threat-intel-mode Alert', checks=[ + self.check('threatIntelMode', 'Alert') + ]) + self.cmd('network firewall update -g {rg} -n {af} --threat-intel-mode Deny', checks=[ + self.check('threatIntelMode', 'Deny') + ]) self.cmd('network firewall show -g {rg} -n {af}') self.cmd('network firewall list -g {rg}') self.cmd('network firewall delete -g {rg} -n {af}') @@ -201,9 +206,9 @@ def test_azure_firewall_rules_with_ipgroups(self, resource_group): self.cmd('network ip-group create -n {source_ip_group} -g {rg} --ip-addresses 10.0.0.0 10.0.0.1') self.cmd('network ip-group create -n {destination_ip_group} -g {rg} --ip-addresses 10.0.0.2 10.0.0.3') self.cmd('network firewall create -g {rg} -n {af}') - self.cmd('network firewall network-rule create -g {rg} -n {network_rule1} -c {coll} --priority 10000 --action Allow -f {af} --source-addresses 10.0.0.0 111.1.0.0/24 --protocols UDP TCP ICMP --destination-ip-groups {destination_ip_group} --destination-ports 80') + self.cmd('network firewall network-rule create -g {rg} -n {network_rule1} -c {coll} --priority 10000 --action Allow -f {af} --source-ip-group {source_ip_group} --protocols UDP TCP ICMP --destination-ip-groups {destination_ip_group} --destination-ports 80') self.cmd('network firewall network-rule create -g {rg} -n {network_rule2} -c {coll} -f {af} --source-addresses 10.0.0.1 111.2.0.0/24 --protocols UDP TCP --destination-ip-groups {destination_ip_group} --destination-ports 81') - self.cmd('network firewall nat-rule create -g {rg} -n {network_rule1} -c {coll2} --priority 10001 --action Dnat -f {af} --source-addresses 10.0.0.0 111.1.0.0/24 --protocols UDP TCP --translated-fqdn server1.internal.com --destination-ports 96 --destination-addresses 12.36.22.14 --translated-port 95 --source-ip-groups {source_ip_group}') + self.cmd('network firewall nat-rule create -g {rg} -n {network_rule1} -c {coll2} --priority 10001 --action Dnat -f {af} --source-ip-group {source_ip_group} --protocols UDP TCP --translated-fqdn server1.internal.com --destination-ports 96 --destination-addresses 12.36.22.14 --translated-port 95 --source-ip-groups {source_ip_group}') self.cmd('network firewall nat-rule create -g {rg} -n {network_rule2} -c {coll2} -f {af} --source-addresses 10.0.0.1 111.2.0.0/24 --protocols UDP TCP --translated-fqdn server2.internal.com --destination-ports 97 --destination-addresses 12.36.22.15 --translated-port 96 --source-ip-groups {source_ip_group}') self.cmd('network firewall application-rule create -f {af} -n {app_rule1} --protocols Http=80 Https=8080 -g {rg} -c {coll3} --priority 10000 --action Allow --source-ip-groups {source_ip_group} --target-fqdns www.bing.com') self.cmd('network firewall application-rule create -f {af} -n {app_rule2} --protocols Http=80 Https=8080 -g {rg} -c {coll3} --source-ip-groups {source_ip_group} --target-fqdns www.microsoft.com') @@ -242,8 +247,8 @@ def test_azure_firewall_virtual_hub(self, resource_group): self.cmd('network vhub create -g {rg} -n {vhub2} --vwan {vwan2} --address-prefix 10.0.0.0/24 -l eastus --sku Standard') self.cmd('network firewall update -g {rg} -n {af} --vhub {vhub2}') - @ResourceGroupPreparer(name_prefix='cli_test_azure_firewall_with_firewall_policy', location='eastus') - def test_azure_firewall_with_firewall_policy(self, resource_group): + @ResourceGroupPreparer(name_prefix='cli_test_azure_firewall_with_firewall_policy', location='eastus2') + def test_azure_firewall_with_firewall_policy(self, resource_group, resource_group_location): self.kwargs.update({ 'af': 'af1', @@ -257,13 +262,14 @@ def test_azure_firewall_with_firewall_policy(self, resource_group): 'pubip': 'pubip', 'vnet': 'myvnet', 'ipconfig': 'myipconfig1', + 'location': resource_group_location }) # test firewall policy with vhub firewall # self.cmd('extension add -n virtual-wan') self.cmd('network vwan create -n {vwan} -g {rg} --type Standard') - self.cmd('network vhub create -g {rg} -n {vhub} --vwan {vwan} --address-prefix 10.0.0.0/24 -l eastus --sku Standard') + self.cmd('network vhub create -g {rg} -n {vhub} --vwan {vwan} --address-prefix 10.0.0.0/24 -l {location} --sku Standard') - self.cmd('network firewall policy create -g {rg} -n {policy} -l westcentralus', checks=[ + self.cmd('network firewall policy create -g {rg} -n {policy} -l {location}', checks=[ self.check('type', 'Microsoft.Network/FirewallPolicies'), self.check('name', '{policy}') ]) @@ -284,15 +290,14 @@ def test_azure_firewall_with_firewall_policy(self, resource_group): self.check('name', '{ipconfig}'), self.check('subnet.id', subnet_id_default) ]) - self.cmd('network firewall policy create -g {rg} -n {policy2} -l westcentralus', checks=[ + self.cmd('network firewall policy create -g {rg} -n {policy2} -l {location}', checks=[ self.check('type', 'Microsoft.Network/FirewallPolicies'), self.check('name', '{policy2}') ]) self.cmd('network firewall update -g {rg} -n {af2} --firewall-policy {policy2}') - @ResourceGroupPreparer(name_prefix='cli_test_azure_firewall_policy', location='westcentralus') - def test_azure_firewall_policy(self, resource_group, resource_group_location): - from knack.util import CLIError + @ResourceGroupPreparer(name_prefix='cli_test_azure_firewall_policy_with_threat_intel_whitelist', location='eastus2euap') + def test_azure_firewall_policy_with_threat_intel_whitelist(self, resource_group, resource_group_location): self.kwargs.update({ 'collectiongroup': 'myclirulecollectiongroup', 'policy': 'myclipolicy', @@ -305,6 +310,37 @@ def test_azure_firewall_policy(self, resource_group, resource_group_location): self.check('name', '{policy}') ]) + self.cmd('network firewall policy update -g {rg} -n {policy} --threat-intel-mode Deny ' + '--ip-addresses 102.0.0.0 102.0.0.1 --fqdns *.google.com', + checks=[ + self.check('type', 'Microsoft.Network/FirewallPolicies'), + self.check('name', '{policy}'), + self.check('threatIntelMode', 'Deny'), + self.check('threatIntelWhitelist.fqdns[0]', '*.google.com'), + self.check('threatIntelWhitelist.ipAddresses[0]', '102.0.0.0'), + self.check('threatIntelWhitelist.ipAddresses[1]', '102.0.0.1') + ]) + + @ResourceGroupPreparer(name_prefix='cli_test_azure_firewall_policy', location='eastus2euap') + def test_azure_firewall_policy(self, resource_group, resource_group_location): + from knack.util import CLIError + self.kwargs.update({ + 'collectiongroup': 'myclirulecollectiongroup', + 'policy': 'myclipolicy', + 'rg': resource_group, + 'location': resource_group_location, + 'collection_group_priority': 10000 + }) + self.cmd('network firewall policy create -g {rg} -n {policy} -l {location} ' + '--ip-addresses 101.0.0.0 101.0.0.1 --fqdns *.microsoft.com', + checks=[ + self.check('type', 'Microsoft.Network/FirewallPolicies'), + self.check('name', '{policy}'), + self.check('threatIntelWhitelist.fqdns[0]', '*.microsoft.com'), + self.check('threatIntelWhitelist.ipAddresses[0]', '101.0.0.0'), + self.check('threatIntelWhitelist.ipAddresses[1]', '101.0.0.1') + ]) + self.cmd('network firewall policy show -g {rg} -n {policy}', checks=[ self.check('type', 'Microsoft.Network/FirewallPolicies'), self.check('name', '{policy}') @@ -317,32 +353,37 @@ def test_azure_firewall_policy(self, resource_group, resource_group_location): self.cmd('network firewall policy list') - self.cmd('network firewall policy update -g {rg} -n {policy} --threat-intel-mode Deny', checks=[ - self.check('type', 'Microsoft.Network/FirewallPolicies'), - self.check('name', '{policy}'), - self.check('threatIntelMode', 'Deny') - ]) + self.cmd('network firewall policy update -g {rg} -n {policy} --threat-intel-mode Deny ' + '--ip-addresses 102.0.0.0 102.0.0.1 --fqdns *.google.com', + checks=[ + self.check('type', 'Microsoft.Network/FirewallPolicies'), + self.check('name', '{policy}'), + self.check('threatIntelMode', 'Deny'), + self.check('threatIntelWhitelist.fqdns[0]', '*.google.com'), + self.check('threatIntelWhitelist.ipAddresses[0]', '102.0.0.0'), + self.check('threatIntelWhitelist.ipAddresses[1]', '102.0.0.1') + ]) self.cmd('network firewall policy rule-collection-group create -g {rg} --priority {collection_group_priority} --policy-name {policy} -n {collectiongroup}', checks=[ - self.check('type', 'Microsoft.Network/RuleGroups'), + self.check('type', 'Microsoft.Network/RuleCollectionGroups'), self.check('name', '{collectiongroup}') ]) self.cmd('network firewall policy rule-collection-group show -g {rg} --policy-name {policy} -n {collectiongroup}', checks=[ - self.check('type', 'Microsoft.Network/RuleGroups'), + self.check('type', 'Microsoft.Network/RuleCollectionGroups'), self.check('name', '{collectiongroup}'), self.check('priority', '{collection_group_priority}') ]) self.cmd('network firewall policy rule-collection-group list -g {rg} --policy-name {policy}', checks=[ self.check('length(@)', 1), - self.check('@[0].type', 'Microsoft.Network/RuleGroups'), + self.check('@[0].type', 'Microsoft.Network/RuleCollectionGroups'), self.check('@[0].name', '{collectiongroup}'), self.check('@[0].priority', '{collection_group_priority}') ]) self.cmd('network firewall policy rule-collection-group update -g {rg} --policy-name {policy} -n {collectiongroup} --priority 12000', checks=[ - self.check('type', 'Microsoft.Network/RuleGroups'), + self.check('type', 'Microsoft.Network/RuleCollectionGroups'), self.check('name', '{collectiongroup}'), self.check('priority', 12000) ]) @@ -353,9 +394,9 @@ def test_azure_firewall_policy(self, resource_group, resource_group_location): --destination-addresses "202.120.36.15" --source-addresses "202.120.36.13" "202.120.36.14" \ --translated-address 128.1.1.1 --translated-port 1234 \ --destination-ports 12000 12001 --ip-protocols TCP UDP', checks=[ - self.check('length(rules)', 1), - self.check('rules[0].ruleType', "FirewallPolicyNatRule"), - self.check('rules[0].name', "nat-collection") + self.check('length(ruleCollections)', 1), + self.check('ruleCollections[0].ruleCollectionType', "FirewallPolicyNatRuleCollection"), + self.check('ruleCollections[0].name', "nat-collection") ]) self.cmd('network firewall policy rule-collection-group collection add-filter-collection -g {rg} --policy-name {policy} \ @@ -363,9 +404,9 @@ def test_azure_firewall_policy(self, resource_group, resource_group_location): --action Allow --rule-name network-rule --rule-type NetworkRule \ --description "test" --destination-addresses "202.120.36.15" --source-addresses "202.120.36.13" "202.120.36.14" \ --destination-ports 12003 12004 --ip-protocols Any ICMP', checks=[ - self.check('length(rules)', 2), - self.check('rules[1].ruleType', "FirewallPolicyFilterRule"), - self.check('rules[1].name', "filter-collection-1") + self.check('length(ruleCollections)', 2), + self.check('ruleCollections[1].ruleCollectionType', "FirewallPolicyFilterRuleCollection"), + self.check('ruleCollections[1].name', "filter-collection-1") ]) self.cmd('network firewall policy rule-collection-group collection add-filter-collection -g {rg} --policy-name {policy} \ @@ -373,9 +414,9 @@ def test_azure_firewall_policy(self, resource_group, resource_group_location): --action Allow --rule-name application-rule --rule-type ApplicationRule \ --description "test" --destination-addresses "202.120.36.15" "202.120.36.16" --source-addresses "202.120.36.13" "202.120.36.14" --protocols Http=12800 Https=12801 \ --fqdn-tags AzureBackup HDInsight', checks=[ - self.check('length(rules)', 3), - self.check('rules[2].ruleType', "FirewallPolicyFilterRule"), - self.check('rules[2].name', "filter-collection-2") + self.check('length(ruleCollections)', 3), + self.check('ruleCollections[2].ruleCollectionType', "FirewallPolicyFilterRuleCollection"), + self.check('ruleCollections[2].name', "filter-collection-2") ]) self.cmd('network firewall policy rule-collection-group collection list -g {rg} --policy-name {policy} \ @@ -387,7 +428,7 @@ def test_azure_firewall_policy(self, resource_group, resource_group_location): --rule-collection-group-name {collectiongroup} --collection-name filter-collection-2 --name application-rule-2 \ --rule-type ApplicationRule --description "test" --source-addresses 202.120.36.13 202.120.36.14 \ --destination-addresses 202.120.36.15 202.120.36.16 --protocols Http=12800 Https=12801 --target-fqdns www.bing.com', checks=[ - self.check('length(rules[2].ruleConditions)', 2) + self.check('length(ruleCollections[2].rules)', 2) ]) self.cmd('network firewall policy rule-collection-group collection rule add -g {rg} --policy-name {policy} \ @@ -395,18 +436,18 @@ def test_azure_firewall_policy(self, resource_group, resource_group_location): --name network-rule-2 --rule-type NetworkRule \ --description "test" --destination-addresses "202.120.36.15" --source-addresses "202.120.36.13" "202.120.36.14" \ --destination-ports 12003 12004 --ip-protocols Any ICMP', checks=[ - self.check('length(rules[1].ruleConditions)', 2) + self.check('length(ruleCollections[1].rules)', 2) ]) self.cmd('network firewall policy rule-collection-group collection rule remove -g {rg} --policy-name {policy} \ --rule-collection-group-name {collectiongroup} --collection-name filter-collection-1 --name network-rule-2', checks=[ - self.check('length(rules[1].ruleConditions)', 1), - self.check('rules[1].ruleConditions[0].name', 'network-rule') + self.check('length(ruleCollections[1].rules)', 1), + self.check('ruleCollections[1].rules[0].name', 'network-rule') ]) self.cmd('network firewall policy rule-collection-group collection remove -g {rg} --policy-name {policy} \ --rule-collection-group-name {collectiongroup} --name filter-collection-1', checks=[ - self.check('length(rules)', 2) + self.check('length(ruleCollections)', 2) ]) self.cmd('network firewall policy rule-collection-group delete -g {rg} --policy-name {policy} --name {collectiongroup}') @@ -416,3 +457,85 @@ def test_azure_firewall_policy(self, resource_group, resource_group_location): ]) self.cmd('network firewall policy delete -g {rg} --name {policy}') + + @ResourceGroupPreparer(name_prefix='test_firewall_policy_with_dns_settings') + def test_firewall_policy_with_dns_settings(self, resource_group): + self.kwargs.update({ + 'rg': resource_group, + 'location': 'eastus2euap', # available only in this location for now + 'policy': 'fwp01', + 'dns_servers': '10.0.0.1 10.0.0.2 10.0.0.3', + }) + + creation_data = self.cmd('network firewall policy create ' + '--resource-group {rg} ' + '--location {location} ' + '--name {policy} ' + '--dns-servers {dns_servers} ').get_output_in_json() + self.assertEqual(creation_data['name'], self.kwargs['policy']) + self.assertEqual(creation_data['dnsSettings']['servers'], self.kwargs['dns_servers'].split()) + self.assertEqual(creation_data['dnsSettings']['enableProxy'], None) # None instead of False + self.assertEqual(creation_data['dnsSettings']['requireProxyForNetworkRules'], True) + + show_data = self.cmd('network firewall policy show --resource-group {rg} --name {policy}').get_output_in_json() + self.assertEqual(show_data['name'], self.kwargs['policy']) + self.assertEqual(show_data['dnsSettings']['servers'], self.kwargs['dns_servers'].split()) + self.assertEqual(show_data['dnsSettings']['enableProxy'], None) + self.assertEqual(show_data['dnsSettings']['requireProxyForNetworkRules'], True) + + self.cmd('network firewall policy update ' + '--resource {rg} ' + '--name {policy} ' + '--dns-servers 10.0.1.0 ' + '--enable-dns-proxy true ').get_output_in_json() + show_data = self.cmd('network firewall policy show --resource-group {rg} --name {policy}').get_output_in_json() + self.assertEqual(show_data['name'], self.kwargs['policy']) + self.assertEqual(show_data['dnsSettings']['servers'], ['10.0.1.0']) # update successfully + self.assertEqual(show_data['dnsSettings']['enableProxy'], True) # update succesefully + self.assertEqual(show_data['dnsSettings']['requireProxyForNetworkRules'], True) + + self.cmd('network firewall policy update ' + '--resource {rg} ' + '--name {policy} ' + '--require-dns-proxy-for-network-rules false').get_output_in_json() + show_data = self.cmd('network firewall policy show --resource-group {rg} --name {policy}').get_output_in_json() + self.assertEqual(show_data['name'], self.kwargs['policy']) + self.assertEqual(show_data['dnsSettings']['servers'], ['10.0.1.0']) + self.assertEqual(show_data['dnsSettings']['enableProxy'], True) + self.assertEqual(show_data['dnsSettings']['requireProxyForNetworkRules'], False) + + self.cmd('network firewall policy delete --resource-group {rg} --name {policy} ') + + @ResourceGroupPreparer(name_prefix='test_firewall_with_dns_proxy') + def test_firewall_with_dns_proxy(self, resource_group): + self.kwargs.update({ + 'rg': resource_group, + 'fw': 'fw01', + 'dns_servers': '10.0.0.2 10.0.0.3' + }) + + creation_data = self.cmd('network firewall create -g {rg} -n {fw} ' + '--dns-servers {dns_servers} ' + '--enable-dns-proxy false ' + '--require-dns-proxy-for-network-rules false').get_output_in_json() + self.assertEqual(creation_data['name'], self.kwargs['fw']) + self.assertEqual(creation_data['Network.DNS.Servers'], "10.0.0.2,10.0.0.3") + self.assertEqual(creation_data['Network.DNS.EnableProxy'], 'False') + self.assertEqual(creation_data['Network.DNS.RequireProxyForNetworkRules'], 'False') + + show_data = self.cmd('network firewall show -g {rg} -n {fw}').get_output_in_json() + self.assertEqual(show_data['name'], self.kwargs['fw']) + self.assertEqual(show_data['Network.DNS.Servers'], "10.0.0.2,10.0.0.3") + self.assertEqual(show_data['Network.DNS.EnableProxy'], 'False') + self.assertEqual(show_data['Network.DNS.RequireProxyForNetworkRules'], 'False') + + self.cmd('network firewall update -g {rg} -n {fw} ' + '--enable-dns-proxy true').get_output_in_json() + + show_data = self.cmd('network firewall show -g {rg} -n {fw}').get_output_in_json() + self.assertEqual(show_data['name'], self.kwargs['fw']) + self.assertEqual(show_data['Network.DNS.Servers'], "10.0.0.2,10.0.0.3") + self.assertEqual(show_data['Network.DNS.EnableProxy'], 'True') + self.assertEqual(show_data['Network.DNS.RequireProxyForNetworkRules'], 'False') + + self.cmd('network firewall delete -g {rg} --name {fw}') diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/_network_management_client.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/_network_management_client.py deleted file mode 100644 index a049c96b5d5..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/_network_management_client.py +++ /dev/null @@ -1,4850 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.service_client import SDKClient -from msrest import Serializer, Deserializer - -from azure.profiles import KnownProfiles, ProfileDefinition -from azure.profiles.multiapiclient import MultiApiClientMixin -from ._configuration import NetworkManagementClientConfiguration -from ._operations_mixin import NetworkManagementClientOperationsMixin - - -class NetworkManagementClient(NetworkManagementClientOperationsMixin, MultiApiClientMixin, SDKClient): - """Network Client - - This ready contains multiple API versions, to help you deal with all Azure clouds - (Azure Stack, Azure Government, Azure China, etc.). - By default, uses latest API version available on public Azure. - For production, you should stick a particular api-version and/or profile. - The profile sets a mapping between the operation group and an API version. - The api-version parameter sets the default API version if the operation - group is not described in the profile. - - :ivar config: Configuration for client. - :vartype config: NetworkManagementClientConfiguration - - :param credentials: Credentials needed for the client to connect to Azure. - :type credentials: :mod:`A msrestazure Credentials - object` - :param subscription_id: 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 str api_version: API version to use if no profile is provided, or if - missing in profile. - :param str base_url: Service URL - :param profile: A profile definition, from KnownProfiles to dict. - :type profile: azure.profiles.KnownProfiles - """ - - DEFAULT_API_VERSION = '2019-09-01' - _PROFILE_TAG = "azure.mgmt.network.NetworkManagementClient" - LATEST_PROFILE = ProfileDefinition({ - _PROFILE_TAG: { - None: DEFAULT_API_VERSION, - 'interface_endpoints': '2019-02-01', - 'p2s_vpn_server_configurations': '2019-07-01', - 'virtual_wa_ns': '2018-07-01', - }}, - _PROFILE_TAG + " latest" - ) - - def __init__(self, credentials, subscription_id, api_version=None, base_url=None, profile=KnownProfiles.default): - self.config = NetworkManagementClientConfiguration(credentials, subscription_id, base_url) - super(NetworkManagementClient, self).__init__( - credentials, - self.config, - api_version=api_version, - profile=profile - ) - - @classmethod - def _models_dict(cls, api_version): - return {k: v for k, v in cls.models(api_version).__dict__.items() if isinstance(v, type)} - - @classmethod - def models(cls, api_version=DEFAULT_API_VERSION): - """Module depends on the API version: - - * 2015-06-15: :mod:`v2015_06_15.models` - * 2016-09-01: :mod:`v2016_09_01.models` - * 2016-12-01: :mod:`v2016_12_01.models` - * 2017-03-01: :mod:`v2017_03_01.models` - * 2017-06-01: :mod:`v2017_06_01.models` - * 2017-08-01: :mod:`v2017_08_01.models` - * 2017-09-01: :mod:`v2017_09_01.models` - * 2017-10-01: :mod:`v2017_10_01.models` - * 2017-11-01: :mod:`v2017_11_01.models` - * 2018-01-01: :mod:`v2018_01_01.models` - * 2018-02-01: :mod:`v2018_02_01.models` - * 2018-04-01: :mod:`v2018_04_01.models` - * 2018-06-01: :mod:`v2018_06_01.models` - * 2018-07-01: :mod:`v2018_07_01.models` - * 2018-08-01: :mod:`v2018_08_01.models` - * 2018-10-01: :mod:`v2018_10_01.models` - * 2018-11-01: :mod:`v2018_11_01.models` - * 2018-12-01: :mod:`v2018_12_01.models` - * 2019-02-01: :mod:`v2019_02_01.models` - * 2019-04-01: :mod:`v2019_04_01.models` - * 2019-06-01: :mod:`v2019_06_01.models` - * 2019-07-01: :mod:`v2019_07_01.models` - * 2019-08-01: :mod:`v2019_08_01.models` - * 2019-09-01: :mod:`v2019_09_01.models` - """ - if api_version == '2015-06-15': - from .v2015_06_15 import models - return models - elif api_version == '2016-09-01': - from .v2016_09_01 import models - return models - elif api_version == '2016-12-01': - from .v2016_12_01 import models - return models - elif api_version == '2017-03-01': - from .v2017_03_01 import models - return models - elif api_version == '2017-06-01': - from .v2017_06_01 import models - return models - elif api_version == '2017-08-01': - from .v2017_08_01 import models - return models - elif api_version == '2017-09-01': - from .v2017_09_01 import models - return models - elif api_version == '2017-10-01': - from .v2017_10_01 import models - return models - elif api_version == '2017-11-01': - from .v2017_11_01 import models - return models - elif api_version == '2018-01-01': - from .v2018_01_01 import models - return models - elif api_version == '2018-02-01': - from .v2018_02_01 import models - return models - elif api_version == '2018-04-01': - from .v2018_04_01 import models - return models - elif api_version == '2018-06-01': - from .v2018_06_01 import models - return models - elif api_version == '2018-07-01': - from .v2018_07_01 import models - return models - elif api_version == '2018-08-01': - from .v2018_08_01 import models - return models - elif api_version == '2018-10-01': - from .v2018_10_01 import models - return models - elif api_version == '2018-11-01': - from .v2018_11_01 import models - return models - elif api_version == '2018-12-01': - from .v2018_12_01 import models - return models - elif api_version == '2019-02-01': - from .v2019_02_01 import models - return models - elif api_version == '2019-04-01': - from .v2019_04_01 import models - return models - elif api_version == '2019-06-01': - from .v2019_06_01 import models - return models - elif api_version == '2019-07-01': - from .v2019_07_01 import models - return models - elif api_version == '2019-08-01': - from .v2019_08_01 import models - return models - elif api_version == '2019-09-01': - from .v2019_09_01 import models - return models - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - - @property - def application_gateways(self): - """Instance depends on the API version: - - * 2015-06-15: :class:`ApplicationGatewaysOperations` - * 2016-09-01: :class:`ApplicationGatewaysOperations` - * 2016-12-01: :class:`ApplicationGatewaysOperations` - * 2017-03-01: :class:`ApplicationGatewaysOperations` - * 2017-06-01: :class:`ApplicationGatewaysOperations` - * 2017-08-01: :class:`ApplicationGatewaysOperations` - * 2017-09-01: :class:`ApplicationGatewaysOperations` - * 2017-10-01: :class:`ApplicationGatewaysOperations` - * 2017-11-01: :class:`ApplicationGatewaysOperations` - * 2018-01-01: :class:`ApplicationGatewaysOperations` - * 2018-02-01: :class:`ApplicationGatewaysOperations` - * 2018-04-01: :class:`ApplicationGatewaysOperations` - * 2018-06-01: :class:`ApplicationGatewaysOperations` - * 2018-07-01: :class:`ApplicationGatewaysOperations` - * 2018-08-01: :class:`ApplicationGatewaysOperations` - * 2018-10-01: :class:`ApplicationGatewaysOperations` - * 2018-11-01: :class:`ApplicationGatewaysOperations` - * 2018-12-01: :class:`ApplicationGatewaysOperations` - * 2019-02-01: :class:`ApplicationGatewaysOperations` - * 2019-04-01: :class:`ApplicationGatewaysOperations` - * 2019-06-01: :class:`ApplicationGatewaysOperations` - * 2019-07-01: :class:`ApplicationGatewaysOperations` - * 2019-08-01: :class:`ApplicationGatewaysOperations` - * 2019-09-01: :class:`ApplicationGatewaysOperations` - """ - api_version = self._get_api_version('application_gateways') - if api_version == '2015-06-15': - from .v2015_06_15.operations import ApplicationGatewaysOperations as OperationClass - elif api_version == '2016-09-01': - from .v2016_09_01.operations import ApplicationGatewaysOperations as OperationClass - elif api_version == '2016-12-01': - from .v2016_12_01.operations import ApplicationGatewaysOperations as OperationClass - elif api_version == '2017-03-01': - from .v2017_03_01.operations import ApplicationGatewaysOperations as OperationClass - elif api_version == '2017-06-01': - from .v2017_06_01.operations import ApplicationGatewaysOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import ApplicationGatewaysOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import ApplicationGatewaysOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import ApplicationGatewaysOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import ApplicationGatewaysOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import ApplicationGatewaysOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import ApplicationGatewaysOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import ApplicationGatewaysOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import ApplicationGatewaysOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import ApplicationGatewaysOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import ApplicationGatewaysOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import ApplicationGatewaysOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import ApplicationGatewaysOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import ApplicationGatewaysOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import ApplicationGatewaysOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import ApplicationGatewaysOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import ApplicationGatewaysOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import ApplicationGatewaysOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import ApplicationGatewaysOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import ApplicationGatewaysOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def application_security_groups(self): - """Instance depends on the API version: - - * 2017-09-01: :class:`ApplicationSecurityGroupsOperations` - * 2017-10-01: :class:`ApplicationSecurityGroupsOperations` - * 2017-11-01: :class:`ApplicationSecurityGroupsOperations` - * 2018-01-01: :class:`ApplicationSecurityGroupsOperations` - * 2018-02-01: :class:`ApplicationSecurityGroupsOperations` - * 2018-04-01: :class:`ApplicationSecurityGroupsOperations` - * 2018-06-01: :class:`ApplicationSecurityGroupsOperations` - * 2018-07-01: :class:`ApplicationSecurityGroupsOperations` - * 2018-08-01: :class:`ApplicationSecurityGroupsOperations` - * 2018-10-01: :class:`ApplicationSecurityGroupsOperations` - * 2018-11-01: :class:`ApplicationSecurityGroupsOperations` - * 2018-12-01: :class:`ApplicationSecurityGroupsOperations` - * 2019-02-01: :class:`ApplicationSecurityGroupsOperations` - * 2019-04-01: :class:`ApplicationSecurityGroupsOperations` - * 2019-06-01: :class:`ApplicationSecurityGroupsOperations` - * 2019-07-01: :class:`ApplicationSecurityGroupsOperations` - * 2019-08-01: :class:`ApplicationSecurityGroupsOperations` - * 2019-09-01: :class:`ApplicationSecurityGroupsOperations` - """ - api_version = self._get_api_version('application_security_groups') - if api_version == '2017-09-01': - from .v2017_09_01.operations import ApplicationSecurityGroupsOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import ApplicationSecurityGroupsOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import ApplicationSecurityGroupsOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import ApplicationSecurityGroupsOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import ApplicationSecurityGroupsOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import ApplicationSecurityGroupsOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import ApplicationSecurityGroupsOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import ApplicationSecurityGroupsOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import ApplicationSecurityGroupsOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import ApplicationSecurityGroupsOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import ApplicationSecurityGroupsOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import ApplicationSecurityGroupsOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import ApplicationSecurityGroupsOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import ApplicationSecurityGroupsOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import ApplicationSecurityGroupsOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import ApplicationSecurityGroupsOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import ApplicationSecurityGroupsOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import ApplicationSecurityGroupsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def available_delegations(self): - """Instance depends on the API version: - - * 2018-08-01: :class:`AvailableDelegationsOperations` - * 2018-10-01: :class:`AvailableDelegationsOperations` - * 2018-11-01: :class:`AvailableDelegationsOperations` - * 2018-12-01: :class:`AvailableDelegationsOperations` - * 2019-02-01: :class:`AvailableDelegationsOperations` - * 2019-04-01: :class:`AvailableDelegationsOperations` - * 2019-06-01: :class:`AvailableDelegationsOperations` - * 2019-07-01: :class:`AvailableDelegationsOperations` - * 2019-08-01: :class:`AvailableDelegationsOperations` - * 2019-09-01: :class:`AvailableDelegationsOperations` - """ - api_version = self._get_api_version('available_delegations') - if api_version == '2018-08-01': - from .v2018_08_01.operations import AvailableDelegationsOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import AvailableDelegationsOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import AvailableDelegationsOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import AvailableDelegationsOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import AvailableDelegationsOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import AvailableDelegationsOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import AvailableDelegationsOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import AvailableDelegationsOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import AvailableDelegationsOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import AvailableDelegationsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def available_endpoint_services(self): - """Instance depends on the API version: - - * 2017-06-01: :class:`AvailableEndpointServicesOperations` - * 2017-08-01: :class:`AvailableEndpointServicesOperations` - * 2017-09-01: :class:`AvailableEndpointServicesOperations` - * 2017-10-01: :class:`AvailableEndpointServicesOperations` - * 2017-11-01: :class:`AvailableEndpointServicesOperations` - * 2018-01-01: :class:`AvailableEndpointServicesOperations` - * 2018-02-01: :class:`AvailableEndpointServicesOperations` - * 2018-04-01: :class:`AvailableEndpointServicesOperations` - * 2018-06-01: :class:`AvailableEndpointServicesOperations` - * 2018-07-01: :class:`AvailableEndpointServicesOperations` - * 2018-08-01: :class:`AvailableEndpointServicesOperations` - * 2018-10-01: :class:`AvailableEndpointServicesOperations` - * 2018-11-01: :class:`AvailableEndpointServicesOperations` - * 2018-12-01: :class:`AvailableEndpointServicesOperations` - * 2019-02-01: :class:`AvailableEndpointServicesOperations` - * 2019-04-01: :class:`AvailableEndpointServicesOperations` - * 2019-06-01: :class:`AvailableEndpointServicesOperations` - * 2019-07-01: :class:`AvailableEndpointServicesOperations` - * 2019-08-01: :class:`AvailableEndpointServicesOperations` - * 2019-09-01: :class:`AvailableEndpointServicesOperations` - """ - api_version = self._get_api_version('available_endpoint_services') - if api_version == '2017-06-01': - from .v2017_06_01.operations import AvailableEndpointServicesOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import AvailableEndpointServicesOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import AvailableEndpointServicesOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import AvailableEndpointServicesOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import AvailableEndpointServicesOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import AvailableEndpointServicesOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import AvailableEndpointServicesOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import AvailableEndpointServicesOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import AvailableEndpointServicesOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import AvailableEndpointServicesOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import AvailableEndpointServicesOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import AvailableEndpointServicesOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import AvailableEndpointServicesOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import AvailableEndpointServicesOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import AvailableEndpointServicesOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import AvailableEndpointServicesOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import AvailableEndpointServicesOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import AvailableEndpointServicesOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import AvailableEndpointServicesOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import AvailableEndpointServicesOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def available_private_endpoint_types(self): - """Instance depends on the API version: - - * 2019-04-01: :class:`AvailablePrivateEndpointTypesOperations` - * 2019-06-01: :class:`AvailablePrivateEndpointTypesOperations` - * 2019-07-01: :class:`AvailablePrivateEndpointTypesOperations` - * 2019-08-01: :class:`AvailablePrivateEndpointTypesOperations` - * 2019-09-01: :class:`AvailablePrivateEndpointTypesOperations` - """ - api_version = self._get_api_version('available_private_endpoint_types') - if api_version == '2019-04-01': - from .v2019_04_01.operations import AvailablePrivateEndpointTypesOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import AvailablePrivateEndpointTypesOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import AvailablePrivateEndpointTypesOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import AvailablePrivateEndpointTypesOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import AvailablePrivateEndpointTypesOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def available_resource_group_delegations(self): - """Instance depends on the API version: - - * 2018-08-01: :class:`AvailableResourceGroupDelegationsOperations` - * 2018-10-01: :class:`AvailableResourceGroupDelegationsOperations` - * 2018-11-01: :class:`AvailableResourceGroupDelegationsOperations` - * 2018-12-01: :class:`AvailableResourceGroupDelegationsOperations` - * 2019-02-01: :class:`AvailableResourceGroupDelegationsOperations` - * 2019-04-01: :class:`AvailableResourceGroupDelegationsOperations` - * 2019-06-01: :class:`AvailableResourceGroupDelegationsOperations` - * 2019-07-01: :class:`AvailableResourceGroupDelegationsOperations` - * 2019-08-01: :class:`AvailableResourceGroupDelegationsOperations` - * 2019-09-01: :class:`AvailableResourceGroupDelegationsOperations` - """ - api_version = self._get_api_version('available_resource_group_delegations') - if api_version == '2018-08-01': - from .v2018_08_01.operations import AvailableResourceGroupDelegationsOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import AvailableResourceGroupDelegationsOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import AvailableResourceGroupDelegationsOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import AvailableResourceGroupDelegationsOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import AvailableResourceGroupDelegationsOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import AvailableResourceGroupDelegationsOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import AvailableResourceGroupDelegationsOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import AvailableResourceGroupDelegationsOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import AvailableResourceGroupDelegationsOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import AvailableResourceGroupDelegationsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def available_service_aliases(self): - """Instance depends on the API version: - - * 2019-08-01: :class:`AvailableServiceAliasesOperations` - * 2019-09-01: :class:`AvailableServiceAliasesOperations` - """ - api_version = self._get_api_version('available_service_aliases') - if api_version == '2019-08-01': - from .v2019_08_01.operations import AvailableServiceAliasesOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import AvailableServiceAliasesOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def azure_firewall_fqdn_tags(self): - """Instance depends on the API version: - - * 2018-08-01: :class:`AzureFirewallFqdnTagsOperations` - * 2018-10-01: :class:`AzureFirewallFqdnTagsOperations` - * 2018-11-01: :class:`AzureFirewallFqdnTagsOperations` - * 2018-12-01: :class:`AzureFirewallFqdnTagsOperations` - * 2019-02-01: :class:`AzureFirewallFqdnTagsOperations` - * 2019-04-01: :class:`AzureFirewallFqdnTagsOperations` - * 2019-06-01: :class:`AzureFirewallFqdnTagsOperations` - * 2019-07-01: :class:`AzureFirewallFqdnTagsOperations` - * 2019-08-01: :class:`AzureFirewallFqdnTagsOperations` - * 2019-09-01: :class:`AzureFirewallFqdnTagsOperations` - """ - api_version = self._get_api_version('azure_firewall_fqdn_tags') - if api_version == '2018-08-01': - from .v2018_08_01.operations import AzureFirewallFqdnTagsOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import AzureFirewallFqdnTagsOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import AzureFirewallFqdnTagsOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import AzureFirewallFqdnTagsOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import AzureFirewallFqdnTagsOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import AzureFirewallFqdnTagsOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import AzureFirewallFqdnTagsOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import AzureFirewallFqdnTagsOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import AzureFirewallFqdnTagsOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import AzureFirewallFqdnTagsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def azure_firewalls(self): - """Instance depends on the API version: - - * 2018-04-01: :class:`AzureFirewallsOperations` - * 2018-06-01: :class:`AzureFirewallsOperations` - * 2018-07-01: :class:`AzureFirewallsOperations` - * 2018-08-01: :class:`AzureFirewallsOperations` - * 2018-10-01: :class:`AzureFirewallsOperations` - * 2018-11-01: :class:`AzureFirewallsOperations` - * 2018-12-01: :class:`AzureFirewallsOperations` - * 2019-02-01: :class:`AzureFirewallsOperations` - * 2019-04-01: :class:`AzureFirewallsOperations` - * 2019-06-01: :class:`AzureFirewallsOperations` - * 2019-07-01: :class:`AzureFirewallsOperations` - * 2019-08-01: :class:`AzureFirewallsOperations` - * 2019-09-01: :class:`AzureFirewallsOperations` - """ - api_version = self._get_api_version('azure_firewalls') - if api_version == '2018-04-01': - from .v2018_04_01.operations import AzureFirewallsOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import AzureFirewallsOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import AzureFirewallsOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import AzureFirewallsOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import AzureFirewallsOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import AzureFirewallsOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import AzureFirewallsOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import AzureFirewallsOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import AzureFirewallsOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import AzureFirewallsOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import AzureFirewallsOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import AzureFirewallsOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import AzureFirewallsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def bastion_hosts(self): - """Instance depends on the API version: - - * 2019-04-01: :class:`BastionHostsOperations` - * 2019-06-01: :class:`BastionHostsOperations` - * 2019-07-01: :class:`BastionHostsOperations` - * 2019-08-01: :class:`BastionHostsOperations` - * 2019-09-01: :class:`BastionHostsOperations` - """ - api_version = self._get_api_version('bastion_hosts') - if api_version == '2019-04-01': - from .v2019_04_01.operations import BastionHostsOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import BastionHostsOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import BastionHostsOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import BastionHostsOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import BastionHostsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def bgp_service_communities(self): - """Instance depends on the API version: - - * 2016-12-01: :class:`BgpServiceCommunitiesOperations` - * 2017-03-01: :class:`BgpServiceCommunitiesOperations` - * 2017-06-01: :class:`BgpServiceCommunitiesOperations` - * 2017-08-01: :class:`BgpServiceCommunitiesOperations` - * 2017-09-01: :class:`BgpServiceCommunitiesOperations` - * 2017-10-01: :class:`BgpServiceCommunitiesOperations` - * 2017-11-01: :class:`BgpServiceCommunitiesOperations` - * 2018-01-01: :class:`BgpServiceCommunitiesOperations` - * 2018-02-01: :class:`BgpServiceCommunitiesOperations` - * 2018-04-01: :class:`BgpServiceCommunitiesOperations` - * 2018-06-01: :class:`BgpServiceCommunitiesOperations` - * 2018-07-01: :class:`BgpServiceCommunitiesOperations` - * 2018-08-01: :class:`BgpServiceCommunitiesOperations` - * 2018-10-01: :class:`BgpServiceCommunitiesOperations` - * 2018-11-01: :class:`BgpServiceCommunitiesOperations` - * 2018-12-01: :class:`BgpServiceCommunitiesOperations` - * 2019-02-01: :class:`BgpServiceCommunitiesOperations` - * 2019-04-01: :class:`BgpServiceCommunitiesOperations` - * 2019-06-01: :class:`BgpServiceCommunitiesOperations` - * 2019-07-01: :class:`BgpServiceCommunitiesOperations` - * 2019-08-01: :class:`BgpServiceCommunitiesOperations` - * 2019-09-01: :class:`BgpServiceCommunitiesOperations` - """ - api_version = self._get_api_version('bgp_service_communities') - if api_version == '2016-12-01': - from .v2016_12_01.operations import BgpServiceCommunitiesOperations as OperationClass - elif api_version == '2017-03-01': - from .v2017_03_01.operations import BgpServiceCommunitiesOperations as OperationClass - elif api_version == '2017-06-01': - from .v2017_06_01.operations import BgpServiceCommunitiesOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import BgpServiceCommunitiesOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import BgpServiceCommunitiesOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import BgpServiceCommunitiesOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import BgpServiceCommunitiesOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import BgpServiceCommunitiesOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import BgpServiceCommunitiesOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import BgpServiceCommunitiesOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import BgpServiceCommunitiesOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import BgpServiceCommunitiesOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import BgpServiceCommunitiesOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import BgpServiceCommunitiesOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import BgpServiceCommunitiesOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import BgpServiceCommunitiesOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import BgpServiceCommunitiesOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import BgpServiceCommunitiesOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import BgpServiceCommunitiesOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import BgpServiceCommunitiesOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import BgpServiceCommunitiesOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import BgpServiceCommunitiesOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def connection_monitors(self): - """Instance depends on the API version: - - * 2017-10-01: :class:`ConnectionMonitorsOperations` - * 2017-11-01: :class:`ConnectionMonitorsOperations` - * 2018-01-01: :class:`ConnectionMonitorsOperations` - * 2018-02-01: :class:`ConnectionMonitorsOperations` - * 2018-04-01: :class:`ConnectionMonitorsOperations` - * 2018-06-01: :class:`ConnectionMonitorsOperations` - * 2018-07-01: :class:`ConnectionMonitorsOperations` - * 2018-08-01: :class:`ConnectionMonitorsOperations` - * 2018-10-01: :class:`ConnectionMonitorsOperations` - * 2018-11-01: :class:`ConnectionMonitorsOperations` - * 2018-12-01: :class:`ConnectionMonitorsOperations` - * 2019-02-01: :class:`ConnectionMonitorsOperations` - * 2019-04-01: :class:`ConnectionMonitorsOperations` - * 2019-06-01: :class:`ConnectionMonitorsOperations` - * 2019-07-01: :class:`ConnectionMonitorsOperations` - * 2019-08-01: :class:`ConnectionMonitorsOperations` - * 2019-09-01: :class:`ConnectionMonitorsOperations` - """ - api_version = self._get_api_version('connection_monitors') - if api_version == '2017-10-01': - from .v2017_10_01.operations import ConnectionMonitorsOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import ConnectionMonitorsOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import ConnectionMonitorsOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import ConnectionMonitorsOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import ConnectionMonitorsOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import ConnectionMonitorsOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import ConnectionMonitorsOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import ConnectionMonitorsOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import ConnectionMonitorsOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import ConnectionMonitorsOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import ConnectionMonitorsOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import ConnectionMonitorsOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import ConnectionMonitorsOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import ConnectionMonitorsOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import ConnectionMonitorsOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import ConnectionMonitorsOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import ConnectionMonitorsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def ddos_custom_policies(self): - """Instance depends on the API version: - - * 2018-11-01: :class:`DdosCustomPoliciesOperations` - * 2018-12-01: :class:`DdosCustomPoliciesOperations` - * 2019-02-01: :class:`DdosCustomPoliciesOperations` - * 2019-04-01: :class:`DdosCustomPoliciesOperations` - * 2019-06-01: :class:`DdosCustomPoliciesOperations` - * 2019-07-01: :class:`DdosCustomPoliciesOperations` - * 2019-08-01: :class:`DdosCustomPoliciesOperations` - * 2019-09-01: :class:`DdosCustomPoliciesOperations` - """ - api_version = self._get_api_version('ddos_custom_policies') - if api_version == '2018-11-01': - from .v2018_11_01.operations import DdosCustomPoliciesOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import DdosCustomPoliciesOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import DdosCustomPoliciesOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import DdosCustomPoliciesOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import DdosCustomPoliciesOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import DdosCustomPoliciesOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import DdosCustomPoliciesOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import DdosCustomPoliciesOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def ddos_protection_plans(self): - """Instance depends on the API version: - - * 2018-02-01: :class:`DdosProtectionPlansOperations` - * 2018-04-01: :class:`DdosProtectionPlansOperations` - * 2018-06-01: :class:`DdosProtectionPlansOperations` - * 2018-07-01: :class:`DdosProtectionPlansOperations` - * 2018-08-01: :class:`DdosProtectionPlansOperations` - * 2018-10-01: :class:`DdosProtectionPlansOperations` - * 2018-11-01: :class:`DdosProtectionPlansOperations` - * 2018-12-01: :class:`DdosProtectionPlansOperations` - * 2019-02-01: :class:`DdosProtectionPlansOperations` - * 2019-04-01: :class:`DdosProtectionPlansOperations` - * 2019-06-01: :class:`DdosProtectionPlansOperations` - * 2019-07-01: :class:`DdosProtectionPlansOperations` - * 2019-08-01: :class:`DdosProtectionPlansOperations` - * 2019-09-01: :class:`DdosProtectionPlansOperations` - """ - api_version = self._get_api_version('ddos_protection_plans') - if api_version == '2018-02-01': - from .v2018_02_01.operations import DdosProtectionPlansOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import DdosProtectionPlansOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import DdosProtectionPlansOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import DdosProtectionPlansOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import DdosProtectionPlansOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import DdosProtectionPlansOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import DdosProtectionPlansOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import DdosProtectionPlansOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import DdosProtectionPlansOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import DdosProtectionPlansOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import DdosProtectionPlansOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import DdosProtectionPlansOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import DdosProtectionPlansOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import DdosProtectionPlansOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def default_security_rules(self): - """Instance depends on the API version: - - * 2017-06-01: :class:`DefaultSecurityRulesOperations` - * 2017-08-01: :class:`DefaultSecurityRulesOperations` - * 2017-09-01: :class:`DefaultSecurityRulesOperations` - * 2017-10-01: :class:`DefaultSecurityRulesOperations` - * 2017-11-01: :class:`DefaultSecurityRulesOperations` - * 2018-01-01: :class:`DefaultSecurityRulesOperations` - * 2018-02-01: :class:`DefaultSecurityRulesOperations` - * 2018-04-01: :class:`DefaultSecurityRulesOperations` - * 2018-06-01: :class:`DefaultSecurityRulesOperations` - * 2018-07-01: :class:`DefaultSecurityRulesOperations` - * 2018-08-01: :class:`DefaultSecurityRulesOperations` - * 2018-10-01: :class:`DefaultSecurityRulesOperations` - * 2018-11-01: :class:`DefaultSecurityRulesOperations` - * 2018-12-01: :class:`DefaultSecurityRulesOperations` - * 2019-02-01: :class:`DefaultSecurityRulesOperations` - * 2019-04-01: :class:`DefaultSecurityRulesOperations` - * 2019-06-01: :class:`DefaultSecurityRulesOperations` - * 2019-07-01: :class:`DefaultSecurityRulesOperations` - * 2019-08-01: :class:`DefaultSecurityRulesOperations` - * 2019-09-01: :class:`DefaultSecurityRulesOperations` - """ - api_version = self._get_api_version('default_security_rules') - if api_version == '2017-06-01': - from .v2017_06_01.operations import DefaultSecurityRulesOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import DefaultSecurityRulesOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import DefaultSecurityRulesOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import DefaultSecurityRulesOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import DefaultSecurityRulesOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import DefaultSecurityRulesOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import DefaultSecurityRulesOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import DefaultSecurityRulesOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import DefaultSecurityRulesOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import DefaultSecurityRulesOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import DefaultSecurityRulesOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import DefaultSecurityRulesOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import DefaultSecurityRulesOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import DefaultSecurityRulesOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import DefaultSecurityRulesOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import DefaultSecurityRulesOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import DefaultSecurityRulesOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import DefaultSecurityRulesOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import DefaultSecurityRulesOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import DefaultSecurityRulesOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def express_route_circuit_authorizations(self): - """Instance depends on the API version: - - * 2015-06-15: :class:`ExpressRouteCircuitAuthorizationsOperations` - * 2016-09-01: :class:`ExpressRouteCircuitAuthorizationsOperations` - * 2016-12-01: :class:`ExpressRouteCircuitAuthorizationsOperations` - * 2017-03-01: :class:`ExpressRouteCircuitAuthorizationsOperations` - * 2017-06-01: :class:`ExpressRouteCircuitAuthorizationsOperations` - * 2017-08-01: :class:`ExpressRouteCircuitAuthorizationsOperations` - * 2017-09-01: :class:`ExpressRouteCircuitAuthorizationsOperations` - * 2017-10-01: :class:`ExpressRouteCircuitAuthorizationsOperations` - * 2017-11-01: :class:`ExpressRouteCircuitAuthorizationsOperations` - * 2018-01-01: :class:`ExpressRouteCircuitAuthorizationsOperations` - * 2018-02-01: :class:`ExpressRouteCircuitAuthorizationsOperations` - * 2018-04-01: :class:`ExpressRouteCircuitAuthorizationsOperations` - * 2018-06-01: :class:`ExpressRouteCircuitAuthorizationsOperations` - * 2018-07-01: :class:`ExpressRouteCircuitAuthorizationsOperations` - * 2018-08-01: :class:`ExpressRouteCircuitAuthorizationsOperations` - * 2018-10-01: :class:`ExpressRouteCircuitAuthorizationsOperations` - * 2018-11-01: :class:`ExpressRouteCircuitAuthorizationsOperations` - * 2018-12-01: :class:`ExpressRouteCircuitAuthorizationsOperations` - * 2019-02-01: :class:`ExpressRouteCircuitAuthorizationsOperations` - * 2019-04-01: :class:`ExpressRouteCircuitAuthorizationsOperations` - * 2019-06-01: :class:`ExpressRouteCircuitAuthorizationsOperations` - * 2019-07-01: :class:`ExpressRouteCircuitAuthorizationsOperations` - * 2019-08-01: :class:`ExpressRouteCircuitAuthorizationsOperations` - * 2019-09-01: :class:`ExpressRouteCircuitAuthorizationsOperations` - """ - api_version = self._get_api_version('express_route_circuit_authorizations') - if api_version == '2015-06-15': - from .v2015_06_15.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass - elif api_version == '2016-09-01': - from .v2016_09_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass - elif api_version == '2016-12-01': - from .v2016_12_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass - elif api_version == '2017-03-01': - from .v2017_03_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass - elif api_version == '2017-06-01': - from .v2017_06_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def express_route_circuit_connections(self): - """Instance depends on the API version: - - * 2018-02-01: :class:`ExpressRouteCircuitConnectionsOperations` - * 2018-04-01: :class:`ExpressRouteCircuitConnectionsOperations` - * 2018-06-01: :class:`ExpressRouteCircuitConnectionsOperations` - * 2018-07-01: :class:`ExpressRouteCircuitConnectionsOperations` - * 2018-08-01: :class:`ExpressRouteCircuitConnectionsOperations` - * 2018-10-01: :class:`ExpressRouteCircuitConnectionsOperations` - * 2018-11-01: :class:`ExpressRouteCircuitConnectionsOperations` - * 2018-12-01: :class:`ExpressRouteCircuitConnectionsOperations` - * 2019-02-01: :class:`ExpressRouteCircuitConnectionsOperations` - * 2019-04-01: :class:`ExpressRouteCircuitConnectionsOperations` - * 2019-06-01: :class:`ExpressRouteCircuitConnectionsOperations` - * 2019-07-01: :class:`ExpressRouteCircuitConnectionsOperations` - * 2019-08-01: :class:`ExpressRouteCircuitConnectionsOperations` - * 2019-09-01: :class:`ExpressRouteCircuitConnectionsOperations` - """ - api_version = self._get_api_version('express_route_circuit_connections') - if api_version == '2018-02-01': - from .v2018_02_01.operations import ExpressRouteCircuitConnectionsOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import ExpressRouteCircuitConnectionsOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import ExpressRouteCircuitConnectionsOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import ExpressRouteCircuitConnectionsOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import ExpressRouteCircuitConnectionsOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import ExpressRouteCircuitConnectionsOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import ExpressRouteCircuitConnectionsOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import ExpressRouteCircuitConnectionsOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import ExpressRouteCircuitConnectionsOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import ExpressRouteCircuitConnectionsOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import ExpressRouteCircuitConnectionsOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import ExpressRouteCircuitConnectionsOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import ExpressRouteCircuitConnectionsOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import ExpressRouteCircuitConnectionsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def express_route_circuit_peerings(self): - """Instance depends on the API version: - - * 2015-06-15: :class:`ExpressRouteCircuitPeeringsOperations` - * 2016-09-01: :class:`ExpressRouteCircuitPeeringsOperations` - * 2016-12-01: :class:`ExpressRouteCircuitPeeringsOperations` - * 2017-03-01: :class:`ExpressRouteCircuitPeeringsOperations` - * 2017-06-01: :class:`ExpressRouteCircuitPeeringsOperations` - * 2017-08-01: :class:`ExpressRouteCircuitPeeringsOperations` - * 2017-09-01: :class:`ExpressRouteCircuitPeeringsOperations` - * 2017-10-01: :class:`ExpressRouteCircuitPeeringsOperations` - * 2017-11-01: :class:`ExpressRouteCircuitPeeringsOperations` - * 2018-01-01: :class:`ExpressRouteCircuitPeeringsOperations` - * 2018-02-01: :class:`ExpressRouteCircuitPeeringsOperations` - * 2018-04-01: :class:`ExpressRouteCircuitPeeringsOperations` - * 2018-06-01: :class:`ExpressRouteCircuitPeeringsOperations` - * 2018-07-01: :class:`ExpressRouteCircuitPeeringsOperations` - * 2018-08-01: :class:`ExpressRouteCircuitPeeringsOperations` - * 2018-10-01: :class:`ExpressRouteCircuitPeeringsOperations` - * 2018-11-01: :class:`ExpressRouteCircuitPeeringsOperations` - * 2018-12-01: :class:`ExpressRouteCircuitPeeringsOperations` - * 2019-02-01: :class:`ExpressRouteCircuitPeeringsOperations` - * 2019-04-01: :class:`ExpressRouteCircuitPeeringsOperations` - * 2019-06-01: :class:`ExpressRouteCircuitPeeringsOperations` - * 2019-07-01: :class:`ExpressRouteCircuitPeeringsOperations` - * 2019-08-01: :class:`ExpressRouteCircuitPeeringsOperations` - * 2019-09-01: :class:`ExpressRouteCircuitPeeringsOperations` - """ - api_version = self._get_api_version('express_route_circuit_peerings') - if api_version == '2015-06-15': - from .v2015_06_15.operations import ExpressRouteCircuitPeeringsOperations as OperationClass - elif api_version == '2016-09-01': - from .v2016_09_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass - elif api_version == '2016-12-01': - from .v2016_12_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass - elif api_version == '2017-03-01': - from .v2017_03_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass - elif api_version == '2017-06-01': - from .v2017_06_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def express_route_circuits(self): - """Instance depends on the API version: - - * 2015-06-15: :class:`ExpressRouteCircuitsOperations` - * 2016-09-01: :class:`ExpressRouteCircuitsOperations` - * 2016-12-01: :class:`ExpressRouteCircuitsOperations` - * 2017-03-01: :class:`ExpressRouteCircuitsOperations` - * 2017-06-01: :class:`ExpressRouteCircuitsOperations` - * 2017-08-01: :class:`ExpressRouteCircuitsOperations` - * 2017-09-01: :class:`ExpressRouteCircuitsOperations` - * 2017-10-01: :class:`ExpressRouteCircuitsOperations` - * 2017-11-01: :class:`ExpressRouteCircuitsOperations` - * 2018-01-01: :class:`ExpressRouteCircuitsOperations` - * 2018-02-01: :class:`ExpressRouteCircuitsOperations` - * 2018-04-01: :class:`ExpressRouteCircuitsOperations` - * 2018-06-01: :class:`ExpressRouteCircuitsOperations` - * 2018-07-01: :class:`ExpressRouteCircuitsOperations` - * 2018-08-01: :class:`ExpressRouteCircuitsOperations` - * 2018-10-01: :class:`ExpressRouteCircuitsOperations` - * 2018-11-01: :class:`ExpressRouteCircuitsOperations` - * 2018-12-01: :class:`ExpressRouteCircuitsOperations` - * 2019-02-01: :class:`ExpressRouteCircuitsOperations` - * 2019-04-01: :class:`ExpressRouteCircuitsOperations` - * 2019-06-01: :class:`ExpressRouteCircuitsOperations` - * 2019-07-01: :class:`ExpressRouteCircuitsOperations` - * 2019-08-01: :class:`ExpressRouteCircuitsOperations` - * 2019-09-01: :class:`ExpressRouteCircuitsOperations` - """ - api_version = self._get_api_version('express_route_circuits') - if api_version == '2015-06-15': - from .v2015_06_15.operations import ExpressRouteCircuitsOperations as OperationClass - elif api_version == '2016-09-01': - from .v2016_09_01.operations import ExpressRouteCircuitsOperations as OperationClass - elif api_version == '2016-12-01': - from .v2016_12_01.operations import ExpressRouteCircuitsOperations as OperationClass - elif api_version == '2017-03-01': - from .v2017_03_01.operations import ExpressRouteCircuitsOperations as OperationClass - elif api_version == '2017-06-01': - from .v2017_06_01.operations import ExpressRouteCircuitsOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import ExpressRouteCircuitsOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import ExpressRouteCircuitsOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import ExpressRouteCircuitsOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import ExpressRouteCircuitsOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import ExpressRouteCircuitsOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import ExpressRouteCircuitsOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import ExpressRouteCircuitsOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import ExpressRouteCircuitsOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import ExpressRouteCircuitsOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import ExpressRouteCircuitsOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import ExpressRouteCircuitsOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import ExpressRouteCircuitsOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import ExpressRouteCircuitsOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import ExpressRouteCircuitsOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import ExpressRouteCircuitsOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import ExpressRouteCircuitsOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import ExpressRouteCircuitsOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import ExpressRouteCircuitsOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import ExpressRouteCircuitsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def express_route_connections(self): - """Instance depends on the API version: - - * 2018-08-01: :class:`ExpressRouteConnectionsOperations` - * 2018-10-01: :class:`ExpressRouteConnectionsOperations` - * 2018-11-01: :class:`ExpressRouteConnectionsOperations` - * 2018-12-01: :class:`ExpressRouteConnectionsOperations` - * 2019-02-01: :class:`ExpressRouteConnectionsOperations` - * 2019-04-01: :class:`ExpressRouteConnectionsOperations` - * 2019-06-01: :class:`ExpressRouteConnectionsOperations` - * 2019-07-01: :class:`ExpressRouteConnectionsOperations` - * 2019-08-01: :class:`ExpressRouteConnectionsOperations` - * 2019-09-01: :class:`ExpressRouteConnectionsOperations` - """ - api_version = self._get_api_version('express_route_connections') - if api_version == '2018-08-01': - from .v2018_08_01.operations import ExpressRouteConnectionsOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import ExpressRouteConnectionsOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import ExpressRouteConnectionsOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import ExpressRouteConnectionsOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import ExpressRouteConnectionsOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import ExpressRouteConnectionsOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import ExpressRouteConnectionsOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import ExpressRouteConnectionsOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import ExpressRouteConnectionsOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import ExpressRouteConnectionsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def express_route_cross_connection_peerings(self): - """Instance depends on the API version: - - * 2018-02-01: :class:`ExpressRouteCrossConnectionPeeringsOperations` - * 2018-04-01: :class:`ExpressRouteCrossConnectionPeeringsOperations` - * 2018-06-01: :class:`ExpressRouteCrossConnectionPeeringsOperations` - * 2018-07-01: :class:`ExpressRouteCrossConnectionPeeringsOperations` - * 2018-08-01: :class:`ExpressRouteCrossConnectionPeeringsOperations` - * 2018-10-01: :class:`ExpressRouteCrossConnectionPeeringsOperations` - * 2018-11-01: :class:`ExpressRouteCrossConnectionPeeringsOperations` - * 2018-12-01: :class:`ExpressRouteCrossConnectionPeeringsOperations` - * 2019-02-01: :class:`ExpressRouteCrossConnectionPeeringsOperations` - * 2019-04-01: :class:`ExpressRouteCrossConnectionPeeringsOperations` - * 2019-06-01: :class:`ExpressRouteCrossConnectionPeeringsOperations` - * 2019-07-01: :class:`ExpressRouteCrossConnectionPeeringsOperations` - * 2019-08-01: :class:`ExpressRouteCrossConnectionPeeringsOperations` - * 2019-09-01: :class:`ExpressRouteCrossConnectionPeeringsOperations` - """ - api_version = self._get_api_version('express_route_cross_connection_peerings') - if api_version == '2018-02-01': - from .v2018_02_01.operations import ExpressRouteCrossConnectionPeeringsOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import ExpressRouteCrossConnectionPeeringsOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import ExpressRouteCrossConnectionPeeringsOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import ExpressRouteCrossConnectionPeeringsOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import ExpressRouteCrossConnectionPeeringsOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import ExpressRouteCrossConnectionPeeringsOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import ExpressRouteCrossConnectionPeeringsOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import ExpressRouteCrossConnectionPeeringsOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import ExpressRouteCrossConnectionPeeringsOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import ExpressRouteCrossConnectionPeeringsOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import ExpressRouteCrossConnectionPeeringsOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import ExpressRouteCrossConnectionPeeringsOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import ExpressRouteCrossConnectionPeeringsOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import ExpressRouteCrossConnectionPeeringsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def express_route_cross_connections(self): - """Instance depends on the API version: - - * 2018-02-01: :class:`ExpressRouteCrossConnectionsOperations` - * 2018-04-01: :class:`ExpressRouteCrossConnectionsOperations` - * 2018-06-01: :class:`ExpressRouteCrossConnectionsOperations` - * 2018-07-01: :class:`ExpressRouteCrossConnectionsOperations` - * 2018-08-01: :class:`ExpressRouteCrossConnectionsOperations` - * 2018-10-01: :class:`ExpressRouteCrossConnectionsOperations` - * 2018-11-01: :class:`ExpressRouteCrossConnectionsOperations` - * 2018-12-01: :class:`ExpressRouteCrossConnectionsOperations` - * 2019-02-01: :class:`ExpressRouteCrossConnectionsOperations` - * 2019-04-01: :class:`ExpressRouteCrossConnectionsOperations` - * 2019-06-01: :class:`ExpressRouteCrossConnectionsOperations` - * 2019-07-01: :class:`ExpressRouteCrossConnectionsOperations` - * 2019-08-01: :class:`ExpressRouteCrossConnectionsOperations` - * 2019-09-01: :class:`ExpressRouteCrossConnectionsOperations` - """ - api_version = self._get_api_version('express_route_cross_connections') - if api_version == '2018-02-01': - from .v2018_02_01.operations import ExpressRouteCrossConnectionsOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import ExpressRouteCrossConnectionsOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import ExpressRouteCrossConnectionsOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import ExpressRouteCrossConnectionsOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import ExpressRouteCrossConnectionsOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import ExpressRouteCrossConnectionsOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import ExpressRouteCrossConnectionsOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import ExpressRouteCrossConnectionsOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import ExpressRouteCrossConnectionsOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import ExpressRouteCrossConnectionsOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import ExpressRouteCrossConnectionsOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import ExpressRouteCrossConnectionsOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import ExpressRouteCrossConnectionsOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import ExpressRouteCrossConnectionsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def express_route_gateways(self): - """Instance depends on the API version: - - * 2018-08-01: :class:`ExpressRouteGatewaysOperations` - * 2018-10-01: :class:`ExpressRouteGatewaysOperations` - * 2018-11-01: :class:`ExpressRouteGatewaysOperations` - * 2018-12-01: :class:`ExpressRouteGatewaysOperations` - * 2019-02-01: :class:`ExpressRouteGatewaysOperations` - * 2019-04-01: :class:`ExpressRouteGatewaysOperations` - * 2019-06-01: :class:`ExpressRouteGatewaysOperations` - * 2019-07-01: :class:`ExpressRouteGatewaysOperations` - * 2019-08-01: :class:`ExpressRouteGatewaysOperations` - * 2019-09-01: :class:`ExpressRouteGatewaysOperations` - """ - api_version = self._get_api_version('express_route_gateways') - if api_version == '2018-08-01': - from .v2018_08_01.operations import ExpressRouteGatewaysOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import ExpressRouteGatewaysOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import ExpressRouteGatewaysOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import ExpressRouteGatewaysOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import ExpressRouteGatewaysOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import ExpressRouteGatewaysOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import ExpressRouteGatewaysOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import ExpressRouteGatewaysOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import ExpressRouteGatewaysOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import ExpressRouteGatewaysOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def express_route_links(self): - """Instance depends on the API version: - - * 2018-08-01: :class:`ExpressRouteLinksOperations` - * 2018-10-01: :class:`ExpressRouteLinksOperations` - * 2018-11-01: :class:`ExpressRouteLinksOperations` - * 2018-12-01: :class:`ExpressRouteLinksOperations` - * 2019-02-01: :class:`ExpressRouteLinksOperations` - * 2019-04-01: :class:`ExpressRouteLinksOperations` - * 2019-06-01: :class:`ExpressRouteLinksOperations` - * 2019-07-01: :class:`ExpressRouteLinksOperations` - * 2019-08-01: :class:`ExpressRouteLinksOperations` - * 2019-09-01: :class:`ExpressRouteLinksOperations` - """ - api_version = self._get_api_version('express_route_links') - if api_version == '2018-08-01': - from .v2018_08_01.operations import ExpressRouteLinksOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import ExpressRouteLinksOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import ExpressRouteLinksOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import ExpressRouteLinksOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import ExpressRouteLinksOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import ExpressRouteLinksOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import ExpressRouteLinksOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import ExpressRouteLinksOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import ExpressRouteLinksOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import ExpressRouteLinksOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def express_route_ports(self): - """Instance depends on the API version: - - * 2018-08-01: :class:`ExpressRoutePortsOperations` - * 2018-10-01: :class:`ExpressRoutePortsOperations` - * 2018-11-01: :class:`ExpressRoutePortsOperations` - * 2018-12-01: :class:`ExpressRoutePortsOperations` - * 2019-02-01: :class:`ExpressRoutePortsOperations` - * 2019-04-01: :class:`ExpressRoutePortsOperations` - * 2019-06-01: :class:`ExpressRoutePortsOperations` - * 2019-07-01: :class:`ExpressRoutePortsOperations` - * 2019-08-01: :class:`ExpressRoutePortsOperations` - * 2019-09-01: :class:`ExpressRoutePortsOperations` - """ - api_version = self._get_api_version('express_route_ports') - if api_version == '2018-08-01': - from .v2018_08_01.operations import ExpressRoutePortsOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import ExpressRoutePortsOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import ExpressRoutePortsOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import ExpressRoutePortsOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import ExpressRoutePortsOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import ExpressRoutePortsOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import ExpressRoutePortsOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import ExpressRoutePortsOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import ExpressRoutePortsOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import ExpressRoutePortsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def express_route_ports_locations(self): - """Instance depends on the API version: - - * 2018-08-01: :class:`ExpressRoutePortsLocationsOperations` - * 2018-10-01: :class:`ExpressRoutePortsLocationsOperations` - * 2018-11-01: :class:`ExpressRoutePortsLocationsOperations` - * 2018-12-01: :class:`ExpressRoutePortsLocationsOperations` - * 2019-02-01: :class:`ExpressRoutePortsLocationsOperations` - * 2019-04-01: :class:`ExpressRoutePortsLocationsOperations` - * 2019-06-01: :class:`ExpressRoutePortsLocationsOperations` - * 2019-07-01: :class:`ExpressRoutePortsLocationsOperations` - * 2019-08-01: :class:`ExpressRoutePortsLocationsOperations` - * 2019-09-01: :class:`ExpressRoutePortsLocationsOperations` - """ - api_version = self._get_api_version('express_route_ports_locations') - if api_version == '2018-08-01': - from .v2018_08_01.operations import ExpressRoutePortsLocationsOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import ExpressRoutePortsLocationsOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import ExpressRoutePortsLocationsOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import ExpressRoutePortsLocationsOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import ExpressRoutePortsLocationsOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import ExpressRoutePortsLocationsOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import ExpressRoutePortsLocationsOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import ExpressRoutePortsLocationsOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import ExpressRoutePortsLocationsOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import ExpressRoutePortsLocationsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def express_route_service_providers(self): - """Instance depends on the API version: - - * 2015-06-15: :class:`ExpressRouteServiceProvidersOperations` - * 2016-09-01: :class:`ExpressRouteServiceProvidersOperations` - * 2016-12-01: :class:`ExpressRouteServiceProvidersOperations` - * 2017-03-01: :class:`ExpressRouteServiceProvidersOperations` - * 2017-06-01: :class:`ExpressRouteServiceProvidersOperations` - * 2017-08-01: :class:`ExpressRouteServiceProvidersOperations` - * 2017-09-01: :class:`ExpressRouteServiceProvidersOperations` - * 2017-10-01: :class:`ExpressRouteServiceProvidersOperations` - * 2017-11-01: :class:`ExpressRouteServiceProvidersOperations` - * 2018-01-01: :class:`ExpressRouteServiceProvidersOperations` - * 2018-02-01: :class:`ExpressRouteServiceProvidersOperations` - * 2018-04-01: :class:`ExpressRouteServiceProvidersOperations` - * 2018-06-01: :class:`ExpressRouteServiceProvidersOperations` - * 2018-07-01: :class:`ExpressRouteServiceProvidersOperations` - * 2018-08-01: :class:`ExpressRouteServiceProvidersOperations` - * 2018-10-01: :class:`ExpressRouteServiceProvidersOperations` - * 2018-11-01: :class:`ExpressRouteServiceProvidersOperations` - * 2018-12-01: :class:`ExpressRouteServiceProvidersOperations` - * 2019-02-01: :class:`ExpressRouteServiceProvidersOperations` - * 2019-04-01: :class:`ExpressRouteServiceProvidersOperations` - * 2019-06-01: :class:`ExpressRouteServiceProvidersOperations` - * 2019-07-01: :class:`ExpressRouteServiceProvidersOperations` - * 2019-08-01: :class:`ExpressRouteServiceProvidersOperations` - * 2019-09-01: :class:`ExpressRouteServiceProvidersOperations` - """ - api_version = self._get_api_version('express_route_service_providers') - if api_version == '2015-06-15': - from .v2015_06_15.operations import ExpressRouteServiceProvidersOperations as OperationClass - elif api_version == '2016-09-01': - from .v2016_09_01.operations import ExpressRouteServiceProvidersOperations as OperationClass - elif api_version == '2016-12-01': - from .v2016_12_01.operations import ExpressRouteServiceProvidersOperations as OperationClass - elif api_version == '2017-03-01': - from .v2017_03_01.operations import ExpressRouteServiceProvidersOperations as OperationClass - elif api_version == '2017-06-01': - from .v2017_06_01.operations import ExpressRouteServiceProvidersOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import ExpressRouteServiceProvidersOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import ExpressRouteServiceProvidersOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import ExpressRouteServiceProvidersOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import ExpressRouteServiceProvidersOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import ExpressRouteServiceProvidersOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import ExpressRouteServiceProvidersOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import ExpressRouteServiceProvidersOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import ExpressRouteServiceProvidersOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import ExpressRouteServiceProvidersOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import ExpressRouteServiceProvidersOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import ExpressRouteServiceProvidersOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import ExpressRouteServiceProvidersOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import ExpressRouteServiceProvidersOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import ExpressRouteServiceProvidersOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import ExpressRouteServiceProvidersOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import ExpressRouteServiceProvidersOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import ExpressRouteServiceProvidersOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import ExpressRouteServiceProvidersOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import ExpressRouteServiceProvidersOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def firewall_policies(self): - """Instance depends on the API version: - - * 2019-06-01: :class:`FirewallPoliciesOperations` - * 2019-07-01: :class:`FirewallPoliciesOperations` - * 2019-08-01: :class:`FirewallPoliciesOperations` - * 2019-09-01: :class:`FirewallPoliciesOperations` - """ - api_version = self._get_api_version('firewall_policies') - if api_version == '2019-06-01': - from .v2019_06_01.operations import FirewallPoliciesOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import FirewallPoliciesOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import FirewallPoliciesOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import FirewallPoliciesOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def firewall_policy_rule_groups(self): - """Instance depends on the API version: - - * 2019-06-01: :class:`FirewallPolicyRuleGroupsOperations` - * 2019-07-01: :class:`FirewallPolicyRuleGroupsOperations` - * 2019-08-01: :class:`FirewallPolicyRuleGroupsOperations` - * 2019-09-01: :class:`FirewallPolicyRuleGroupsOperations` - """ - api_version = self._get_api_version('firewall_policy_rule_groups') - if api_version == '2019-06-01': - from .v2019_06_01.operations import FirewallPolicyRuleGroupsOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import FirewallPolicyRuleGroupsOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import FirewallPolicyRuleGroupsOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import FirewallPolicyRuleGroupsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def hub_virtual_network_connections(self): - """Instance depends on the API version: - - * 2018-04-01: :class:`HubVirtualNetworkConnectionsOperations` - * 2018-06-01: :class:`HubVirtualNetworkConnectionsOperations` - * 2018-07-01: :class:`HubVirtualNetworkConnectionsOperations` - * 2018-08-01: :class:`HubVirtualNetworkConnectionsOperations` - * 2018-10-01: :class:`HubVirtualNetworkConnectionsOperations` - * 2018-11-01: :class:`HubVirtualNetworkConnectionsOperations` - * 2018-12-01: :class:`HubVirtualNetworkConnectionsOperations` - * 2019-02-01: :class:`HubVirtualNetworkConnectionsOperations` - * 2019-04-01: :class:`HubVirtualNetworkConnectionsOperations` - * 2019-06-01: :class:`HubVirtualNetworkConnectionsOperations` - * 2019-07-01: :class:`HubVirtualNetworkConnectionsOperations` - * 2019-08-01: :class:`HubVirtualNetworkConnectionsOperations` - * 2019-09-01: :class:`HubVirtualNetworkConnectionsOperations` - """ - api_version = self._get_api_version('hub_virtual_network_connections') - if api_version == '2018-04-01': - from .v2018_04_01.operations import HubVirtualNetworkConnectionsOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import HubVirtualNetworkConnectionsOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import HubVirtualNetworkConnectionsOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import HubVirtualNetworkConnectionsOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import HubVirtualNetworkConnectionsOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import HubVirtualNetworkConnectionsOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import HubVirtualNetworkConnectionsOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import HubVirtualNetworkConnectionsOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import HubVirtualNetworkConnectionsOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import HubVirtualNetworkConnectionsOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import HubVirtualNetworkConnectionsOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import HubVirtualNetworkConnectionsOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import HubVirtualNetworkConnectionsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def inbound_nat_rules(self): - """Instance depends on the API version: - - * 2017-06-01: :class:`InboundNatRulesOperations` - * 2017-08-01: :class:`InboundNatRulesOperations` - * 2017-09-01: :class:`InboundNatRulesOperations` - * 2017-10-01: :class:`InboundNatRulesOperations` - * 2017-11-01: :class:`InboundNatRulesOperations` - * 2018-01-01: :class:`InboundNatRulesOperations` - * 2018-02-01: :class:`InboundNatRulesOperations` - * 2018-04-01: :class:`InboundNatRulesOperations` - * 2018-06-01: :class:`InboundNatRulesOperations` - * 2018-07-01: :class:`InboundNatRulesOperations` - * 2018-08-01: :class:`InboundNatRulesOperations` - * 2018-10-01: :class:`InboundNatRulesOperations` - * 2018-11-01: :class:`InboundNatRulesOperations` - * 2018-12-01: :class:`InboundNatRulesOperations` - * 2019-02-01: :class:`InboundNatRulesOperations` - * 2019-04-01: :class:`InboundNatRulesOperations` - * 2019-06-01: :class:`InboundNatRulesOperations` - * 2019-07-01: :class:`InboundNatRulesOperations` - * 2019-08-01: :class:`InboundNatRulesOperations` - * 2019-09-01: :class:`InboundNatRulesOperations` - """ - api_version = self._get_api_version('inbound_nat_rules') - if api_version == '2017-06-01': - from .v2017_06_01.operations import InboundNatRulesOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import InboundNatRulesOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import InboundNatRulesOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import InboundNatRulesOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import InboundNatRulesOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import InboundNatRulesOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import InboundNatRulesOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import InboundNatRulesOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import InboundNatRulesOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import InboundNatRulesOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import InboundNatRulesOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import InboundNatRulesOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import InboundNatRulesOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import InboundNatRulesOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import InboundNatRulesOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import InboundNatRulesOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import InboundNatRulesOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import InboundNatRulesOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import InboundNatRulesOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import InboundNatRulesOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def interface_endpoints(self): - """Instance depends on the API version: - - * 2018-08-01: :class:`InterfaceEndpointsOperations` - * 2018-10-01: :class:`InterfaceEndpointsOperations` - * 2018-11-01: :class:`InterfaceEndpointsOperations` - * 2018-12-01: :class:`InterfaceEndpointsOperations` - * 2019-02-01: :class:`InterfaceEndpointsOperations` - """ - api_version = self._get_api_version('interface_endpoints') - if api_version == '2018-08-01': - from .v2018_08_01.operations import InterfaceEndpointsOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import InterfaceEndpointsOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import InterfaceEndpointsOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import InterfaceEndpointsOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import InterfaceEndpointsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def ip_groups(self): - """Instance depends on the API version: - - * 2019-09-01: :class:`IpGroupsOperations` - """ - api_version = self._get_api_version('ip_groups') - if api_version == '2019-09-01': - from .v2019_09_01.operations import IpGroupsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def load_balancer_backend_address_pools(self): - """Instance depends on the API version: - - * 2017-06-01: :class:`LoadBalancerBackendAddressPoolsOperations` - * 2017-08-01: :class:`LoadBalancerBackendAddressPoolsOperations` - * 2017-09-01: :class:`LoadBalancerBackendAddressPoolsOperations` - * 2017-10-01: :class:`LoadBalancerBackendAddressPoolsOperations` - * 2017-11-01: :class:`LoadBalancerBackendAddressPoolsOperations` - * 2018-01-01: :class:`LoadBalancerBackendAddressPoolsOperations` - * 2018-02-01: :class:`LoadBalancerBackendAddressPoolsOperations` - * 2018-04-01: :class:`LoadBalancerBackendAddressPoolsOperations` - * 2018-06-01: :class:`LoadBalancerBackendAddressPoolsOperations` - * 2018-07-01: :class:`LoadBalancerBackendAddressPoolsOperations` - * 2018-08-01: :class:`LoadBalancerBackendAddressPoolsOperations` - * 2018-10-01: :class:`LoadBalancerBackendAddressPoolsOperations` - * 2018-11-01: :class:`LoadBalancerBackendAddressPoolsOperations` - * 2018-12-01: :class:`LoadBalancerBackendAddressPoolsOperations` - * 2019-02-01: :class:`LoadBalancerBackendAddressPoolsOperations` - * 2019-04-01: :class:`LoadBalancerBackendAddressPoolsOperations` - * 2019-06-01: :class:`LoadBalancerBackendAddressPoolsOperations` - * 2019-07-01: :class:`LoadBalancerBackendAddressPoolsOperations` - * 2019-08-01: :class:`LoadBalancerBackendAddressPoolsOperations` - * 2019-09-01: :class:`LoadBalancerBackendAddressPoolsOperations` - """ - api_version = self._get_api_version('load_balancer_backend_address_pools') - if api_version == '2017-06-01': - from .v2017_06_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def load_balancer_frontend_ip_configurations(self): - """Instance depends on the API version: - - * 2017-06-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` - * 2017-08-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` - * 2017-09-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` - * 2017-10-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` - * 2017-11-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` - * 2018-01-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` - * 2018-02-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` - * 2018-04-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` - * 2018-06-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` - * 2018-07-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` - * 2018-08-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` - * 2018-10-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` - * 2018-11-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` - * 2018-12-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` - * 2019-02-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` - * 2019-04-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` - * 2019-06-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` - * 2019-07-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` - * 2019-08-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` - * 2019-09-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` - """ - api_version = self._get_api_version('load_balancer_frontend_ip_configurations') - if api_version == '2017-06-01': - from .v2017_06_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def load_balancer_load_balancing_rules(self): - """Instance depends on the API version: - - * 2017-06-01: :class:`LoadBalancerLoadBalancingRulesOperations` - * 2017-08-01: :class:`LoadBalancerLoadBalancingRulesOperations` - * 2017-09-01: :class:`LoadBalancerLoadBalancingRulesOperations` - * 2017-10-01: :class:`LoadBalancerLoadBalancingRulesOperations` - * 2017-11-01: :class:`LoadBalancerLoadBalancingRulesOperations` - * 2018-01-01: :class:`LoadBalancerLoadBalancingRulesOperations` - * 2018-02-01: :class:`LoadBalancerLoadBalancingRulesOperations` - * 2018-04-01: :class:`LoadBalancerLoadBalancingRulesOperations` - * 2018-06-01: :class:`LoadBalancerLoadBalancingRulesOperations` - * 2018-07-01: :class:`LoadBalancerLoadBalancingRulesOperations` - * 2018-08-01: :class:`LoadBalancerLoadBalancingRulesOperations` - * 2018-10-01: :class:`LoadBalancerLoadBalancingRulesOperations` - * 2018-11-01: :class:`LoadBalancerLoadBalancingRulesOperations` - * 2018-12-01: :class:`LoadBalancerLoadBalancingRulesOperations` - * 2019-02-01: :class:`LoadBalancerLoadBalancingRulesOperations` - * 2019-04-01: :class:`LoadBalancerLoadBalancingRulesOperations` - * 2019-06-01: :class:`LoadBalancerLoadBalancingRulesOperations` - * 2019-07-01: :class:`LoadBalancerLoadBalancingRulesOperations` - * 2019-08-01: :class:`LoadBalancerLoadBalancingRulesOperations` - * 2019-09-01: :class:`LoadBalancerLoadBalancingRulesOperations` - """ - api_version = self._get_api_version('load_balancer_load_balancing_rules') - if api_version == '2017-06-01': - from .v2017_06_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def load_balancer_network_interfaces(self): - """Instance depends on the API version: - - * 2017-06-01: :class:`LoadBalancerNetworkInterfacesOperations` - * 2017-08-01: :class:`LoadBalancerNetworkInterfacesOperations` - * 2017-09-01: :class:`LoadBalancerNetworkInterfacesOperations` - * 2017-10-01: :class:`LoadBalancerNetworkInterfacesOperations` - * 2017-11-01: :class:`LoadBalancerNetworkInterfacesOperations` - * 2018-01-01: :class:`LoadBalancerNetworkInterfacesOperations` - * 2018-02-01: :class:`LoadBalancerNetworkInterfacesOperations` - * 2018-04-01: :class:`LoadBalancerNetworkInterfacesOperations` - * 2018-06-01: :class:`LoadBalancerNetworkInterfacesOperations` - * 2018-07-01: :class:`LoadBalancerNetworkInterfacesOperations` - * 2018-08-01: :class:`LoadBalancerNetworkInterfacesOperations` - * 2018-10-01: :class:`LoadBalancerNetworkInterfacesOperations` - * 2018-11-01: :class:`LoadBalancerNetworkInterfacesOperations` - * 2018-12-01: :class:`LoadBalancerNetworkInterfacesOperations` - * 2019-02-01: :class:`LoadBalancerNetworkInterfacesOperations` - * 2019-04-01: :class:`LoadBalancerNetworkInterfacesOperations` - * 2019-06-01: :class:`LoadBalancerNetworkInterfacesOperations` - * 2019-07-01: :class:`LoadBalancerNetworkInterfacesOperations` - * 2019-08-01: :class:`LoadBalancerNetworkInterfacesOperations` - * 2019-09-01: :class:`LoadBalancerNetworkInterfacesOperations` - """ - api_version = self._get_api_version('load_balancer_network_interfaces') - if api_version == '2017-06-01': - from .v2017_06_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def load_balancer_outbound_rules(self): - """Instance depends on the API version: - - * 2018-08-01: :class:`LoadBalancerOutboundRulesOperations` - * 2018-10-01: :class:`LoadBalancerOutboundRulesOperations` - * 2018-11-01: :class:`LoadBalancerOutboundRulesOperations` - * 2018-12-01: :class:`LoadBalancerOutboundRulesOperations` - * 2019-02-01: :class:`LoadBalancerOutboundRulesOperations` - * 2019-04-01: :class:`LoadBalancerOutboundRulesOperations` - * 2019-06-01: :class:`LoadBalancerOutboundRulesOperations` - * 2019-07-01: :class:`LoadBalancerOutboundRulesOperations` - * 2019-08-01: :class:`LoadBalancerOutboundRulesOperations` - * 2019-09-01: :class:`LoadBalancerOutboundRulesOperations` - """ - api_version = self._get_api_version('load_balancer_outbound_rules') - if api_version == '2018-08-01': - from .v2018_08_01.operations import LoadBalancerOutboundRulesOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import LoadBalancerOutboundRulesOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import LoadBalancerOutboundRulesOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import LoadBalancerOutboundRulesOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import LoadBalancerOutboundRulesOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import LoadBalancerOutboundRulesOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import LoadBalancerOutboundRulesOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import LoadBalancerOutboundRulesOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import LoadBalancerOutboundRulesOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import LoadBalancerOutboundRulesOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def load_balancer_probes(self): - """Instance depends on the API version: - - * 2017-06-01: :class:`LoadBalancerProbesOperations` - * 2017-08-01: :class:`LoadBalancerProbesOperations` - * 2017-09-01: :class:`LoadBalancerProbesOperations` - * 2017-10-01: :class:`LoadBalancerProbesOperations` - * 2017-11-01: :class:`LoadBalancerProbesOperations` - * 2018-01-01: :class:`LoadBalancerProbesOperations` - * 2018-02-01: :class:`LoadBalancerProbesOperations` - * 2018-04-01: :class:`LoadBalancerProbesOperations` - * 2018-06-01: :class:`LoadBalancerProbesOperations` - * 2018-07-01: :class:`LoadBalancerProbesOperations` - * 2018-08-01: :class:`LoadBalancerProbesOperations` - * 2018-10-01: :class:`LoadBalancerProbesOperations` - * 2018-11-01: :class:`LoadBalancerProbesOperations` - * 2018-12-01: :class:`LoadBalancerProbesOperations` - * 2019-02-01: :class:`LoadBalancerProbesOperations` - * 2019-04-01: :class:`LoadBalancerProbesOperations` - * 2019-06-01: :class:`LoadBalancerProbesOperations` - * 2019-07-01: :class:`LoadBalancerProbesOperations` - * 2019-08-01: :class:`LoadBalancerProbesOperations` - * 2019-09-01: :class:`LoadBalancerProbesOperations` - """ - api_version = self._get_api_version('load_balancer_probes') - if api_version == '2017-06-01': - from .v2017_06_01.operations import LoadBalancerProbesOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import LoadBalancerProbesOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import LoadBalancerProbesOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import LoadBalancerProbesOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import LoadBalancerProbesOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import LoadBalancerProbesOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import LoadBalancerProbesOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import LoadBalancerProbesOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import LoadBalancerProbesOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import LoadBalancerProbesOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import LoadBalancerProbesOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import LoadBalancerProbesOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import LoadBalancerProbesOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import LoadBalancerProbesOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import LoadBalancerProbesOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import LoadBalancerProbesOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import LoadBalancerProbesOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import LoadBalancerProbesOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import LoadBalancerProbesOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import LoadBalancerProbesOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def load_balancers(self): - """Instance depends on the API version: - - * 2015-06-15: :class:`LoadBalancersOperations` - * 2016-09-01: :class:`LoadBalancersOperations` - * 2016-12-01: :class:`LoadBalancersOperations` - * 2017-03-01: :class:`LoadBalancersOperations` - * 2017-06-01: :class:`LoadBalancersOperations` - * 2017-08-01: :class:`LoadBalancersOperations` - * 2017-09-01: :class:`LoadBalancersOperations` - * 2017-10-01: :class:`LoadBalancersOperations` - * 2017-11-01: :class:`LoadBalancersOperations` - * 2018-01-01: :class:`LoadBalancersOperations` - * 2018-02-01: :class:`LoadBalancersOperations` - * 2018-04-01: :class:`LoadBalancersOperations` - * 2018-06-01: :class:`LoadBalancersOperations` - * 2018-07-01: :class:`LoadBalancersOperations` - * 2018-08-01: :class:`LoadBalancersOperations` - * 2018-10-01: :class:`LoadBalancersOperations` - * 2018-11-01: :class:`LoadBalancersOperations` - * 2018-12-01: :class:`LoadBalancersOperations` - * 2019-02-01: :class:`LoadBalancersOperations` - * 2019-04-01: :class:`LoadBalancersOperations` - * 2019-06-01: :class:`LoadBalancersOperations` - * 2019-07-01: :class:`LoadBalancersOperations` - * 2019-08-01: :class:`LoadBalancersOperations` - * 2019-09-01: :class:`LoadBalancersOperations` - """ - api_version = self._get_api_version('load_balancers') - if api_version == '2015-06-15': - from .v2015_06_15.operations import LoadBalancersOperations as OperationClass - elif api_version == '2016-09-01': - from .v2016_09_01.operations import LoadBalancersOperations as OperationClass - elif api_version == '2016-12-01': - from .v2016_12_01.operations import LoadBalancersOperations as OperationClass - elif api_version == '2017-03-01': - from .v2017_03_01.operations import LoadBalancersOperations as OperationClass - elif api_version == '2017-06-01': - from .v2017_06_01.operations import LoadBalancersOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import LoadBalancersOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import LoadBalancersOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import LoadBalancersOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import LoadBalancersOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import LoadBalancersOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import LoadBalancersOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import LoadBalancersOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import LoadBalancersOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import LoadBalancersOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import LoadBalancersOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import LoadBalancersOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import LoadBalancersOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import LoadBalancersOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import LoadBalancersOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import LoadBalancersOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import LoadBalancersOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import LoadBalancersOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import LoadBalancersOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import LoadBalancersOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def local_network_gateways(self): - """Instance depends on the API version: - - * 2015-06-15: :class:`LocalNetworkGatewaysOperations` - * 2016-09-01: :class:`LocalNetworkGatewaysOperations` - * 2016-12-01: :class:`LocalNetworkGatewaysOperations` - * 2017-03-01: :class:`LocalNetworkGatewaysOperations` - * 2017-06-01: :class:`LocalNetworkGatewaysOperations` - * 2017-08-01: :class:`LocalNetworkGatewaysOperations` - * 2017-09-01: :class:`LocalNetworkGatewaysOperations` - * 2017-10-01: :class:`LocalNetworkGatewaysOperations` - * 2017-11-01: :class:`LocalNetworkGatewaysOperations` - * 2018-01-01: :class:`LocalNetworkGatewaysOperations` - * 2018-02-01: :class:`LocalNetworkGatewaysOperations` - * 2018-04-01: :class:`LocalNetworkGatewaysOperations` - * 2018-06-01: :class:`LocalNetworkGatewaysOperations` - * 2018-07-01: :class:`LocalNetworkGatewaysOperations` - * 2018-08-01: :class:`LocalNetworkGatewaysOperations` - * 2018-10-01: :class:`LocalNetworkGatewaysOperations` - * 2018-11-01: :class:`LocalNetworkGatewaysOperations` - * 2018-12-01: :class:`LocalNetworkGatewaysOperations` - * 2019-02-01: :class:`LocalNetworkGatewaysOperations` - * 2019-04-01: :class:`LocalNetworkGatewaysOperations` - * 2019-06-01: :class:`LocalNetworkGatewaysOperations` - * 2019-07-01: :class:`LocalNetworkGatewaysOperations` - * 2019-08-01: :class:`LocalNetworkGatewaysOperations` - * 2019-09-01: :class:`LocalNetworkGatewaysOperations` - """ - api_version = self._get_api_version('local_network_gateways') - if api_version == '2015-06-15': - from .v2015_06_15.operations import LocalNetworkGatewaysOperations as OperationClass - elif api_version == '2016-09-01': - from .v2016_09_01.operations import LocalNetworkGatewaysOperations as OperationClass - elif api_version == '2016-12-01': - from .v2016_12_01.operations import LocalNetworkGatewaysOperations as OperationClass - elif api_version == '2017-03-01': - from .v2017_03_01.operations import LocalNetworkGatewaysOperations as OperationClass - elif api_version == '2017-06-01': - from .v2017_06_01.operations import LocalNetworkGatewaysOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import LocalNetworkGatewaysOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import LocalNetworkGatewaysOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import LocalNetworkGatewaysOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import LocalNetworkGatewaysOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import LocalNetworkGatewaysOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import LocalNetworkGatewaysOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import LocalNetworkGatewaysOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import LocalNetworkGatewaysOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import LocalNetworkGatewaysOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import LocalNetworkGatewaysOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import LocalNetworkGatewaysOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import LocalNetworkGatewaysOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import LocalNetworkGatewaysOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import LocalNetworkGatewaysOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import LocalNetworkGatewaysOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import LocalNetworkGatewaysOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import LocalNetworkGatewaysOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import LocalNetworkGatewaysOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import LocalNetworkGatewaysOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def nat_gateways(self): - """Instance depends on the API version: - - * 2019-02-01: :class:`NatGatewaysOperations` - * 2019-04-01: :class:`NatGatewaysOperations` - * 2019-06-01: :class:`NatGatewaysOperations` - * 2019-07-01: :class:`NatGatewaysOperations` - * 2019-08-01: :class:`NatGatewaysOperations` - * 2019-09-01: :class:`NatGatewaysOperations` - """ - api_version = self._get_api_version('nat_gateways') - if api_version == '2019-02-01': - from .v2019_02_01.operations import NatGatewaysOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import NatGatewaysOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import NatGatewaysOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import NatGatewaysOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import NatGatewaysOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import NatGatewaysOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def network_interface_ip_configurations(self): - """Instance depends on the API version: - - * 2017-06-01: :class:`NetworkInterfaceIPConfigurationsOperations` - * 2017-08-01: :class:`NetworkInterfaceIPConfigurationsOperations` - * 2017-09-01: :class:`NetworkInterfaceIPConfigurationsOperations` - * 2017-10-01: :class:`NetworkInterfaceIPConfigurationsOperations` - * 2017-11-01: :class:`NetworkInterfaceIPConfigurationsOperations` - * 2018-01-01: :class:`NetworkInterfaceIPConfigurationsOperations` - * 2018-02-01: :class:`NetworkInterfaceIPConfigurationsOperations` - * 2018-04-01: :class:`NetworkInterfaceIPConfigurationsOperations` - * 2018-06-01: :class:`NetworkInterfaceIPConfigurationsOperations` - * 2018-07-01: :class:`NetworkInterfaceIPConfigurationsOperations` - * 2018-08-01: :class:`NetworkInterfaceIPConfigurationsOperations` - * 2018-10-01: :class:`NetworkInterfaceIPConfigurationsOperations` - * 2018-11-01: :class:`NetworkInterfaceIPConfigurationsOperations` - * 2018-12-01: :class:`NetworkInterfaceIPConfigurationsOperations` - * 2019-02-01: :class:`NetworkInterfaceIPConfigurationsOperations` - * 2019-04-01: :class:`NetworkInterfaceIPConfigurationsOperations` - * 2019-06-01: :class:`NetworkInterfaceIPConfigurationsOperations` - * 2019-07-01: :class:`NetworkInterfaceIPConfigurationsOperations` - * 2019-08-01: :class:`NetworkInterfaceIPConfigurationsOperations` - * 2019-09-01: :class:`NetworkInterfaceIPConfigurationsOperations` - """ - api_version = self._get_api_version('network_interface_ip_configurations') - if api_version == '2017-06-01': - from .v2017_06_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def network_interface_load_balancers(self): - """Instance depends on the API version: - - * 2017-06-01: :class:`NetworkInterfaceLoadBalancersOperations` - * 2017-08-01: :class:`NetworkInterfaceLoadBalancersOperations` - * 2017-09-01: :class:`NetworkInterfaceLoadBalancersOperations` - * 2017-10-01: :class:`NetworkInterfaceLoadBalancersOperations` - * 2017-11-01: :class:`NetworkInterfaceLoadBalancersOperations` - * 2018-01-01: :class:`NetworkInterfaceLoadBalancersOperations` - * 2018-02-01: :class:`NetworkInterfaceLoadBalancersOperations` - * 2018-04-01: :class:`NetworkInterfaceLoadBalancersOperations` - * 2018-06-01: :class:`NetworkInterfaceLoadBalancersOperations` - * 2018-07-01: :class:`NetworkInterfaceLoadBalancersOperations` - * 2018-08-01: :class:`NetworkInterfaceLoadBalancersOperations` - * 2018-10-01: :class:`NetworkInterfaceLoadBalancersOperations` - * 2018-11-01: :class:`NetworkInterfaceLoadBalancersOperations` - * 2018-12-01: :class:`NetworkInterfaceLoadBalancersOperations` - * 2019-02-01: :class:`NetworkInterfaceLoadBalancersOperations` - * 2019-04-01: :class:`NetworkInterfaceLoadBalancersOperations` - * 2019-06-01: :class:`NetworkInterfaceLoadBalancersOperations` - * 2019-07-01: :class:`NetworkInterfaceLoadBalancersOperations` - * 2019-08-01: :class:`NetworkInterfaceLoadBalancersOperations` - * 2019-09-01: :class:`NetworkInterfaceLoadBalancersOperations` - """ - api_version = self._get_api_version('network_interface_load_balancers') - if api_version == '2017-06-01': - from .v2017_06_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def network_interface_tap_configurations(self): - """Instance depends on the API version: - - * 2018-08-01: :class:`NetworkInterfaceTapConfigurationsOperations` - * 2018-10-01: :class:`NetworkInterfaceTapConfigurationsOperations` - * 2018-11-01: :class:`NetworkInterfaceTapConfigurationsOperations` - * 2018-12-01: :class:`NetworkInterfaceTapConfigurationsOperations` - * 2019-02-01: :class:`NetworkInterfaceTapConfigurationsOperations` - * 2019-04-01: :class:`NetworkInterfaceTapConfigurationsOperations` - * 2019-06-01: :class:`NetworkInterfaceTapConfigurationsOperations` - * 2019-07-01: :class:`NetworkInterfaceTapConfigurationsOperations` - * 2019-08-01: :class:`NetworkInterfaceTapConfigurationsOperations` - * 2019-09-01: :class:`NetworkInterfaceTapConfigurationsOperations` - """ - api_version = self._get_api_version('network_interface_tap_configurations') - if api_version == '2018-08-01': - from .v2018_08_01.operations import NetworkInterfaceTapConfigurationsOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import NetworkInterfaceTapConfigurationsOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import NetworkInterfaceTapConfigurationsOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import NetworkInterfaceTapConfigurationsOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import NetworkInterfaceTapConfigurationsOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import NetworkInterfaceTapConfigurationsOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import NetworkInterfaceTapConfigurationsOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import NetworkInterfaceTapConfigurationsOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import NetworkInterfaceTapConfigurationsOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import NetworkInterfaceTapConfigurationsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def network_interfaces(self): - """Instance depends on the API version: - - * 2015-06-15: :class:`NetworkInterfacesOperations` - * 2016-09-01: :class:`NetworkInterfacesOperations` - * 2016-12-01: :class:`NetworkInterfacesOperations` - * 2017-03-01: :class:`NetworkInterfacesOperations` - * 2017-06-01: :class:`NetworkInterfacesOperations` - * 2017-08-01: :class:`NetworkInterfacesOperations` - * 2017-09-01: :class:`NetworkInterfacesOperations` - * 2017-10-01: :class:`NetworkInterfacesOperations` - * 2017-11-01: :class:`NetworkInterfacesOperations` - * 2018-01-01: :class:`NetworkInterfacesOperations` - * 2018-02-01: :class:`NetworkInterfacesOperations` - * 2018-04-01: :class:`NetworkInterfacesOperations` - * 2018-06-01: :class:`NetworkInterfacesOperations` - * 2018-07-01: :class:`NetworkInterfacesOperations` - * 2018-08-01: :class:`NetworkInterfacesOperations` - * 2018-10-01: :class:`NetworkInterfacesOperations` - * 2018-11-01: :class:`NetworkInterfacesOperations` - * 2018-12-01: :class:`NetworkInterfacesOperations` - * 2019-02-01: :class:`NetworkInterfacesOperations` - * 2019-04-01: :class:`NetworkInterfacesOperations` - * 2019-06-01: :class:`NetworkInterfacesOperations` - * 2019-07-01: :class:`NetworkInterfacesOperations` - * 2019-08-01: :class:`NetworkInterfacesOperations` - * 2019-09-01: :class:`NetworkInterfacesOperations` - """ - api_version = self._get_api_version('network_interfaces') - if api_version == '2015-06-15': - from .v2015_06_15.operations import NetworkInterfacesOperations as OperationClass - elif api_version == '2016-09-01': - from .v2016_09_01.operations import NetworkInterfacesOperations as OperationClass - elif api_version == '2016-12-01': - from .v2016_12_01.operations import NetworkInterfacesOperations as OperationClass - elif api_version == '2017-03-01': - from .v2017_03_01.operations import NetworkInterfacesOperations as OperationClass - elif api_version == '2017-06-01': - from .v2017_06_01.operations import NetworkInterfacesOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import NetworkInterfacesOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import NetworkInterfacesOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import NetworkInterfacesOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import NetworkInterfacesOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import NetworkInterfacesOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import NetworkInterfacesOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import NetworkInterfacesOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import NetworkInterfacesOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import NetworkInterfacesOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import NetworkInterfacesOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import NetworkInterfacesOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import NetworkInterfacesOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import NetworkInterfacesOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import NetworkInterfacesOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import NetworkInterfacesOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import NetworkInterfacesOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import NetworkInterfacesOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import NetworkInterfacesOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import NetworkInterfacesOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def network_profiles(self): - """Instance depends on the API version: - - * 2018-08-01: :class:`NetworkProfilesOperations` - * 2018-10-01: :class:`NetworkProfilesOperations` - * 2018-11-01: :class:`NetworkProfilesOperations` - * 2018-12-01: :class:`NetworkProfilesOperations` - * 2019-02-01: :class:`NetworkProfilesOperations` - * 2019-04-01: :class:`NetworkProfilesOperations` - * 2019-06-01: :class:`NetworkProfilesOperations` - * 2019-07-01: :class:`NetworkProfilesOperations` - * 2019-08-01: :class:`NetworkProfilesOperations` - * 2019-09-01: :class:`NetworkProfilesOperations` - """ - api_version = self._get_api_version('network_profiles') - if api_version == '2018-08-01': - from .v2018_08_01.operations import NetworkProfilesOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import NetworkProfilesOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import NetworkProfilesOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import NetworkProfilesOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import NetworkProfilesOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import NetworkProfilesOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import NetworkProfilesOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import NetworkProfilesOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import NetworkProfilesOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import NetworkProfilesOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def network_security_groups(self): - """Instance depends on the API version: - - * 2015-06-15: :class:`NetworkSecurityGroupsOperations` - * 2016-09-01: :class:`NetworkSecurityGroupsOperations` - * 2016-12-01: :class:`NetworkSecurityGroupsOperations` - * 2017-03-01: :class:`NetworkSecurityGroupsOperations` - * 2017-06-01: :class:`NetworkSecurityGroupsOperations` - * 2017-08-01: :class:`NetworkSecurityGroupsOperations` - * 2017-09-01: :class:`NetworkSecurityGroupsOperations` - * 2017-10-01: :class:`NetworkSecurityGroupsOperations` - * 2017-11-01: :class:`NetworkSecurityGroupsOperations` - * 2018-01-01: :class:`NetworkSecurityGroupsOperations` - * 2018-02-01: :class:`NetworkSecurityGroupsOperations` - * 2018-04-01: :class:`NetworkSecurityGroupsOperations` - * 2018-06-01: :class:`NetworkSecurityGroupsOperations` - * 2018-07-01: :class:`NetworkSecurityGroupsOperations` - * 2018-08-01: :class:`NetworkSecurityGroupsOperations` - * 2018-10-01: :class:`NetworkSecurityGroupsOperations` - * 2018-11-01: :class:`NetworkSecurityGroupsOperations` - * 2018-12-01: :class:`NetworkSecurityGroupsOperations` - * 2019-02-01: :class:`NetworkSecurityGroupsOperations` - * 2019-04-01: :class:`NetworkSecurityGroupsOperations` - * 2019-06-01: :class:`NetworkSecurityGroupsOperations` - * 2019-07-01: :class:`NetworkSecurityGroupsOperations` - * 2019-08-01: :class:`NetworkSecurityGroupsOperations` - * 2019-09-01: :class:`NetworkSecurityGroupsOperations` - """ - api_version = self._get_api_version('network_security_groups') - if api_version == '2015-06-15': - from .v2015_06_15.operations import NetworkSecurityGroupsOperations as OperationClass - elif api_version == '2016-09-01': - from .v2016_09_01.operations import NetworkSecurityGroupsOperations as OperationClass - elif api_version == '2016-12-01': - from .v2016_12_01.operations import NetworkSecurityGroupsOperations as OperationClass - elif api_version == '2017-03-01': - from .v2017_03_01.operations import NetworkSecurityGroupsOperations as OperationClass - elif api_version == '2017-06-01': - from .v2017_06_01.operations import NetworkSecurityGroupsOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import NetworkSecurityGroupsOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import NetworkSecurityGroupsOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import NetworkSecurityGroupsOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import NetworkSecurityGroupsOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import NetworkSecurityGroupsOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import NetworkSecurityGroupsOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import NetworkSecurityGroupsOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import NetworkSecurityGroupsOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import NetworkSecurityGroupsOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import NetworkSecurityGroupsOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import NetworkSecurityGroupsOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import NetworkSecurityGroupsOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import NetworkSecurityGroupsOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import NetworkSecurityGroupsOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import NetworkSecurityGroupsOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import NetworkSecurityGroupsOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import NetworkSecurityGroupsOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import NetworkSecurityGroupsOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import NetworkSecurityGroupsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def network_watchers(self): - """Instance depends on the API version: - - * 2016-09-01: :class:`NetworkWatchersOperations` - * 2016-12-01: :class:`NetworkWatchersOperations` - * 2017-03-01: :class:`NetworkWatchersOperations` - * 2017-06-01: :class:`NetworkWatchersOperations` - * 2017-08-01: :class:`NetworkWatchersOperations` - * 2017-09-01: :class:`NetworkWatchersOperations` - * 2017-10-01: :class:`NetworkWatchersOperations` - * 2017-11-01: :class:`NetworkWatchersOperations` - * 2018-01-01: :class:`NetworkWatchersOperations` - * 2018-02-01: :class:`NetworkWatchersOperations` - * 2018-04-01: :class:`NetworkWatchersOperations` - * 2018-06-01: :class:`NetworkWatchersOperations` - * 2018-07-01: :class:`NetworkWatchersOperations` - * 2018-08-01: :class:`NetworkWatchersOperations` - * 2018-10-01: :class:`NetworkWatchersOperations` - * 2018-11-01: :class:`NetworkWatchersOperations` - * 2018-12-01: :class:`NetworkWatchersOperations` - * 2019-02-01: :class:`NetworkWatchersOperations` - * 2019-04-01: :class:`NetworkWatchersOperations` - * 2019-06-01: :class:`NetworkWatchersOperations` - * 2019-07-01: :class:`NetworkWatchersOperations` - * 2019-08-01: :class:`NetworkWatchersOperations` - * 2019-09-01: :class:`NetworkWatchersOperations` - """ - api_version = self._get_api_version('network_watchers') - if api_version == '2016-09-01': - from .v2016_09_01.operations import NetworkWatchersOperations as OperationClass - elif api_version == '2016-12-01': - from .v2016_12_01.operations import NetworkWatchersOperations as OperationClass - elif api_version == '2017-03-01': - from .v2017_03_01.operations import NetworkWatchersOperations as OperationClass - elif api_version == '2017-06-01': - from .v2017_06_01.operations import NetworkWatchersOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import NetworkWatchersOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import NetworkWatchersOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import NetworkWatchersOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import NetworkWatchersOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import NetworkWatchersOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import NetworkWatchersOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import NetworkWatchersOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import NetworkWatchersOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import NetworkWatchersOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import NetworkWatchersOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import NetworkWatchersOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import NetworkWatchersOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import NetworkWatchersOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import NetworkWatchersOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import NetworkWatchersOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import NetworkWatchersOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import NetworkWatchersOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import NetworkWatchersOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import NetworkWatchersOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def operations(self): - """Instance depends on the API version: - - * 2017-09-01: :class:`Operations` - * 2017-10-01: :class:`Operations` - * 2017-11-01: :class:`Operations` - * 2018-01-01: :class:`Operations` - * 2018-02-01: :class:`Operations` - * 2018-04-01: :class:`Operations` - * 2018-06-01: :class:`Operations` - * 2018-07-01: :class:`Operations` - * 2018-08-01: :class:`Operations` - * 2018-10-01: :class:`Operations` - * 2018-11-01: :class:`Operations` - * 2018-12-01: :class:`Operations` - * 2019-02-01: :class:`Operations` - * 2019-04-01: :class:`Operations` - * 2019-06-01: :class:`Operations` - * 2019-07-01: :class:`Operations` - * 2019-08-01: :class:`Operations` - * 2019-09-01: :class:`Operations` - """ - api_version = self._get_api_version('operations') - if api_version == '2017-09-01': - from .v2017_09_01.operations import Operations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import Operations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import Operations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import Operations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import Operations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import Operations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import Operations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import Operations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import Operations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import Operations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import Operations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import Operations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import Operations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import Operations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import Operations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import Operations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import Operations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import Operations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def p2s_vpn_gateways(self): - """Instance depends on the API version: - - * 2018-08-01: :class:`P2sVpnGatewaysOperations` - * 2018-10-01: :class:`P2sVpnGatewaysOperations` - * 2018-11-01: :class:`P2sVpnGatewaysOperations` - * 2018-12-01: :class:`P2sVpnGatewaysOperations` - * 2019-02-01: :class:`P2sVpnGatewaysOperations` - * 2019-04-01: :class:`P2sVpnGatewaysOperations` - * 2019-06-01: :class:`P2sVpnGatewaysOperations` - * 2019-07-01: :class:`P2sVpnGatewaysOperations` - * 2019-08-01: :class:`P2sVpnGatewaysOperations` - * 2019-09-01: :class:`P2sVpnGatewaysOperations` - """ - api_version = self._get_api_version('p2s_vpn_gateways') - if api_version == '2018-08-01': - from .v2018_08_01.operations import P2sVpnGatewaysOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import P2sVpnGatewaysOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import P2sVpnGatewaysOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import P2sVpnGatewaysOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import P2sVpnGatewaysOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import P2sVpnGatewaysOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import P2sVpnGatewaysOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import P2sVpnGatewaysOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import P2sVpnGatewaysOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import P2sVpnGatewaysOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def p2s_vpn_server_configurations(self): - """Instance depends on the API version: - - * 2018-08-01: :class:`P2sVpnServerConfigurationsOperations` - * 2018-10-01: :class:`P2sVpnServerConfigurationsOperations` - * 2018-11-01: :class:`P2sVpnServerConfigurationsOperations` - * 2018-12-01: :class:`P2sVpnServerConfigurationsOperations` - * 2019-02-01: :class:`P2sVpnServerConfigurationsOperations` - * 2019-04-01: :class:`P2sVpnServerConfigurationsOperations` - * 2019-06-01: :class:`P2sVpnServerConfigurationsOperations` - * 2019-07-01: :class:`P2sVpnServerConfigurationsOperations` - """ - api_version = self._get_api_version('p2s_vpn_server_configurations') - if api_version == '2018-08-01': - from .v2018_08_01.operations import P2sVpnServerConfigurationsOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import P2sVpnServerConfigurationsOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import P2sVpnServerConfigurationsOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import P2sVpnServerConfigurationsOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import P2sVpnServerConfigurationsOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import P2sVpnServerConfigurationsOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import P2sVpnServerConfigurationsOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import P2sVpnServerConfigurationsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def packet_captures(self): - """Instance depends on the API version: - - * 2016-09-01: :class:`PacketCapturesOperations` - * 2016-12-01: :class:`PacketCapturesOperations` - * 2017-03-01: :class:`PacketCapturesOperations` - * 2017-06-01: :class:`PacketCapturesOperations` - * 2017-08-01: :class:`PacketCapturesOperations` - * 2017-09-01: :class:`PacketCapturesOperations` - * 2017-10-01: :class:`PacketCapturesOperations` - * 2017-11-01: :class:`PacketCapturesOperations` - * 2018-01-01: :class:`PacketCapturesOperations` - * 2018-02-01: :class:`PacketCapturesOperations` - * 2018-04-01: :class:`PacketCapturesOperations` - * 2018-06-01: :class:`PacketCapturesOperations` - * 2018-07-01: :class:`PacketCapturesOperations` - * 2018-08-01: :class:`PacketCapturesOperations` - * 2018-10-01: :class:`PacketCapturesOperations` - * 2018-11-01: :class:`PacketCapturesOperations` - * 2018-12-01: :class:`PacketCapturesOperations` - * 2019-02-01: :class:`PacketCapturesOperations` - * 2019-04-01: :class:`PacketCapturesOperations` - * 2019-06-01: :class:`PacketCapturesOperations` - * 2019-07-01: :class:`PacketCapturesOperations` - * 2019-08-01: :class:`PacketCapturesOperations` - * 2019-09-01: :class:`PacketCapturesOperations` - """ - api_version = self._get_api_version('packet_captures') - if api_version == '2016-09-01': - from .v2016_09_01.operations import PacketCapturesOperations as OperationClass - elif api_version == '2016-12-01': - from .v2016_12_01.operations import PacketCapturesOperations as OperationClass - elif api_version == '2017-03-01': - from .v2017_03_01.operations import PacketCapturesOperations as OperationClass - elif api_version == '2017-06-01': - from .v2017_06_01.operations import PacketCapturesOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import PacketCapturesOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import PacketCapturesOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import PacketCapturesOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import PacketCapturesOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import PacketCapturesOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import PacketCapturesOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import PacketCapturesOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import PacketCapturesOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import PacketCapturesOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import PacketCapturesOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import PacketCapturesOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import PacketCapturesOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import PacketCapturesOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import PacketCapturesOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import PacketCapturesOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import PacketCapturesOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import PacketCapturesOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import PacketCapturesOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import PacketCapturesOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def peer_express_route_circuit_connections(self): - """Instance depends on the API version: - - * 2018-12-01: :class:`PeerExpressRouteCircuitConnectionsOperations` - * 2019-02-01: :class:`PeerExpressRouteCircuitConnectionsOperations` - * 2019-04-01: :class:`PeerExpressRouteCircuitConnectionsOperations` - * 2019-06-01: :class:`PeerExpressRouteCircuitConnectionsOperations` - * 2019-07-01: :class:`PeerExpressRouteCircuitConnectionsOperations` - * 2019-08-01: :class:`PeerExpressRouteCircuitConnectionsOperations` - * 2019-09-01: :class:`PeerExpressRouteCircuitConnectionsOperations` - """ - api_version = self._get_api_version('peer_express_route_circuit_connections') - if api_version == '2018-12-01': - from .v2018_12_01.operations import PeerExpressRouteCircuitConnectionsOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import PeerExpressRouteCircuitConnectionsOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import PeerExpressRouteCircuitConnectionsOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import PeerExpressRouteCircuitConnectionsOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import PeerExpressRouteCircuitConnectionsOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import PeerExpressRouteCircuitConnectionsOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import PeerExpressRouteCircuitConnectionsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def private_endpoints(self): - """Instance depends on the API version: - - * 2019-04-01: :class:`PrivateEndpointsOperations` - * 2019-06-01: :class:`PrivateEndpointsOperations` - * 2019-07-01: :class:`PrivateEndpointsOperations` - * 2019-08-01: :class:`PrivateEndpointsOperations` - * 2019-09-01: :class:`PrivateEndpointsOperations` - """ - api_version = self._get_api_version('private_endpoints') - if api_version == '2019-04-01': - from .v2019_04_01.operations import PrivateEndpointsOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import PrivateEndpointsOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import PrivateEndpointsOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import PrivateEndpointsOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import PrivateEndpointsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def private_link_services(self): - """Instance depends on the API version: - - * 2019-04-01: :class:`PrivateLinkServicesOperations` - * 2019-06-01: :class:`PrivateLinkServicesOperations` - * 2019-07-01: :class:`PrivateLinkServicesOperations` - * 2019-08-01: :class:`PrivateLinkServicesOperations` - * 2019-09-01: :class:`PrivateLinkServicesOperations` - """ - api_version = self._get_api_version('private_link_services') - if api_version == '2019-04-01': - from .v2019_04_01.operations import PrivateLinkServicesOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import PrivateLinkServicesOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import PrivateLinkServicesOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import PrivateLinkServicesOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import PrivateLinkServicesOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def public_ip_addresses(self): - """Instance depends on the API version: - - * 2015-06-15: :class:`PublicIPAddressesOperations` - * 2016-09-01: :class:`PublicIPAddressesOperations` - * 2016-12-01: :class:`PublicIPAddressesOperations` - * 2017-03-01: :class:`PublicIPAddressesOperations` - * 2017-06-01: :class:`PublicIPAddressesOperations` - * 2017-08-01: :class:`PublicIPAddressesOperations` - * 2017-09-01: :class:`PublicIPAddressesOperations` - * 2017-10-01: :class:`PublicIPAddressesOperations` - * 2017-11-01: :class:`PublicIPAddressesOperations` - * 2018-01-01: :class:`PublicIPAddressesOperations` - * 2018-02-01: :class:`PublicIPAddressesOperations` - * 2018-04-01: :class:`PublicIPAddressesOperations` - * 2018-06-01: :class:`PublicIPAddressesOperations` - * 2018-07-01: :class:`PublicIPAddressesOperations` - * 2018-08-01: :class:`PublicIPAddressesOperations` - * 2018-10-01: :class:`PublicIPAddressesOperations` - * 2018-11-01: :class:`PublicIPAddressesOperations` - * 2018-12-01: :class:`PublicIPAddressesOperations` - * 2019-02-01: :class:`PublicIPAddressesOperations` - * 2019-04-01: :class:`PublicIPAddressesOperations` - * 2019-06-01: :class:`PublicIPAddressesOperations` - * 2019-07-01: :class:`PublicIPAddressesOperations` - * 2019-08-01: :class:`PublicIPAddressesOperations` - * 2019-09-01: :class:`PublicIPAddressesOperations` - """ - api_version = self._get_api_version('public_ip_addresses') - if api_version == '2015-06-15': - from .v2015_06_15.operations import PublicIPAddressesOperations as OperationClass - elif api_version == '2016-09-01': - from .v2016_09_01.operations import PublicIPAddressesOperations as OperationClass - elif api_version == '2016-12-01': - from .v2016_12_01.operations import PublicIPAddressesOperations as OperationClass - elif api_version == '2017-03-01': - from .v2017_03_01.operations import PublicIPAddressesOperations as OperationClass - elif api_version == '2017-06-01': - from .v2017_06_01.operations import PublicIPAddressesOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import PublicIPAddressesOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import PublicIPAddressesOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import PublicIPAddressesOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import PublicIPAddressesOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import PublicIPAddressesOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import PublicIPAddressesOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import PublicIPAddressesOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import PublicIPAddressesOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import PublicIPAddressesOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import PublicIPAddressesOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import PublicIPAddressesOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import PublicIPAddressesOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import PublicIPAddressesOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import PublicIPAddressesOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import PublicIPAddressesOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import PublicIPAddressesOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import PublicIPAddressesOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import PublicIPAddressesOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import PublicIPAddressesOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def public_ip_prefixes(self): - """Instance depends on the API version: - - * 2018-07-01: :class:`PublicIPPrefixesOperations` - * 2018-08-01: :class:`PublicIPPrefixesOperations` - * 2018-10-01: :class:`PublicIPPrefixesOperations` - * 2018-11-01: :class:`PublicIPPrefixesOperations` - * 2018-12-01: :class:`PublicIPPrefixesOperations` - * 2019-02-01: :class:`PublicIPPrefixesOperations` - * 2019-04-01: :class:`PublicIPPrefixesOperations` - * 2019-06-01: :class:`PublicIPPrefixesOperations` - * 2019-07-01: :class:`PublicIPPrefixesOperations` - * 2019-08-01: :class:`PublicIPPrefixesOperations` - * 2019-09-01: :class:`PublicIPPrefixesOperations` - """ - api_version = self._get_api_version('public_ip_prefixes') - if api_version == '2018-07-01': - from .v2018_07_01.operations import PublicIPPrefixesOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import PublicIPPrefixesOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import PublicIPPrefixesOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import PublicIPPrefixesOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import PublicIPPrefixesOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import PublicIPPrefixesOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import PublicIPPrefixesOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import PublicIPPrefixesOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import PublicIPPrefixesOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import PublicIPPrefixesOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import PublicIPPrefixesOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def resource_navigation_links(self): - """Instance depends on the API version: - - * 2019-02-01: :class:`ResourceNavigationLinksOperations` - * 2019-04-01: :class:`ResourceNavigationLinksOperations` - * 2019-06-01: :class:`ResourceNavigationLinksOperations` - * 2019-07-01: :class:`ResourceNavigationLinksOperations` - * 2019-08-01: :class:`ResourceNavigationLinksOperations` - * 2019-09-01: :class:`ResourceNavigationLinksOperations` - """ - api_version = self._get_api_version('resource_navigation_links') - if api_version == '2019-02-01': - from .v2019_02_01.operations import ResourceNavigationLinksOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import ResourceNavigationLinksOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import ResourceNavigationLinksOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import ResourceNavigationLinksOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import ResourceNavigationLinksOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import ResourceNavigationLinksOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def route_filter_rules(self): - """Instance depends on the API version: - - * 2016-12-01: :class:`RouteFilterRulesOperations` - * 2017-03-01: :class:`RouteFilterRulesOperations` - * 2017-06-01: :class:`RouteFilterRulesOperations` - * 2017-08-01: :class:`RouteFilterRulesOperations` - * 2017-09-01: :class:`RouteFilterRulesOperations` - * 2017-10-01: :class:`RouteFilterRulesOperations` - * 2017-11-01: :class:`RouteFilterRulesOperations` - * 2018-01-01: :class:`RouteFilterRulesOperations` - * 2018-02-01: :class:`RouteFilterRulesOperations` - * 2018-04-01: :class:`RouteFilterRulesOperations` - * 2018-06-01: :class:`RouteFilterRulesOperations` - * 2018-07-01: :class:`RouteFilterRulesOperations` - * 2018-08-01: :class:`RouteFilterRulesOperations` - * 2018-10-01: :class:`RouteFilterRulesOperations` - * 2018-11-01: :class:`RouteFilterRulesOperations` - * 2018-12-01: :class:`RouteFilterRulesOperations` - * 2019-02-01: :class:`RouteFilterRulesOperations` - * 2019-04-01: :class:`RouteFilterRulesOperations` - * 2019-06-01: :class:`RouteFilterRulesOperations` - * 2019-07-01: :class:`RouteFilterRulesOperations` - * 2019-08-01: :class:`RouteFilterRulesOperations` - * 2019-09-01: :class:`RouteFilterRulesOperations` - """ - api_version = self._get_api_version('route_filter_rules') - if api_version == '2016-12-01': - from .v2016_12_01.operations import RouteFilterRulesOperations as OperationClass - elif api_version == '2017-03-01': - from .v2017_03_01.operations import RouteFilterRulesOperations as OperationClass - elif api_version == '2017-06-01': - from .v2017_06_01.operations import RouteFilterRulesOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import RouteFilterRulesOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import RouteFilterRulesOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import RouteFilterRulesOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import RouteFilterRulesOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import RouteFilterRulesOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import RouteFilterRulesOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import RouteFilterRulesOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import RouteFilterRulesOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import RouteFilterRulesOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import RouteFilterRulesOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import RouteFilterRulesOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import RouteFilterRulesOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import RouteFilterRulesOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import RouteFilterRulesOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import RouteFilterRulesOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import RouteFilterRulesOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import RouteFilterRulesOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import RouteFilterRulesOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import RouteFilterRulesOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def route_filters(self): - """Instance depends on the API version: - - * 2016-12-01: :class:`RouteFiltersOperations` - * 2017-03-01: :class:`RouteFiltersOperations` - * 2017-06-01: :class:`RouteFiltersOperations` - * 2017-08-01: :class:`RouteFiltersOperations` - * 2017-09-01: :class:`RouteFiltersOperations` - * 2017-10-01: :class:`RouteFiltersOperations` - * 2017-11-01: :class:`RouteFiltersOperations` - * 2018-01-01: :class:`RouteFiltersOperations` - * 2018-02-01: :class:`RouteFiltersOperations` - * 2018-04-01: :class:`RouteFiltersOperations` - * 2018-06-01: :class:`RouteFiltersOperations` - * 2018-07-01: :class:`RouteFiltersOperations` - * 2018-08-01: :class:`RouteFiltersOperations` - * 2018-10-01: :class:`RouteFiltersOperations` - * 2018-11-01: :class:`RouteFiltersOperations` - * 2018-12-01: :class:`RouteFiltersOperations` - * 2019-02-01: :class:`RouteFiltersOperations` - * 2019-04-01: :class:`RouteFiltersOperations` - * 2019-06-01: :class:`RouteFiltersOperations` - * 2019-07-01: :class:`RouteFiltersOperations` - * 2019-08-01: :class:`RouteFiltersOperations` - * 2019-09-01: :class:`RouteFiltersOperations` - """ - api_version = self._get_api_version('route_filters') - if api_version == '2016-12-01': - from .v2016_12_01.operations import RouteFiltersOperations as OperationClass - elif api_version == '2017-03-01': - from .v2017_03_01.operations import RouteFiltersOperations as OperationClass - elif api_version == '2017-06-01': - from .v2017_06_01.operations import RouteFiltersOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import RouteFiltersOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import RouteFiltersOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import RouteFiltersOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import RouteFiltersOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import RouteFiltersOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import RouteFiltersOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import RouteFiltersOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import RouteFiltersOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import RouteFiltersOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import RouteFiltersOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import RouteFiltersOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import RouteFiltersOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import RouteFiltersOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import RouteFiltersOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import RouteFiltersOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import RouteFiltersOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import RouteFiltersOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import RouteFiltersOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import RouteFiltersOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def route_tables(self): - """Instance depends on the API version: - - * 2015-06-15: :class:`RouteTablesOperations` - * 2016-09-01: :class:`RouteTablesOperations` - * 2016-12-01: :class:`RouteTablesOperations` - * 2017-03-01: :class:`RouteTablesOperations` - * 2017-06-01: :class:`RouteTablesOperations` - * 2017-08-01: :class:`RouteTablesOperations` - * 2017-09-01: :class:`RouteTablesOperations` - * 2017-10-01: :class:`RouteTablesOperations` - * 2017-11-01: :class:`RouteTablesOperations` - * 2018-01-01: :class:`RouteTablesOperations` - * 2018-02-01: :class:`RouteTablesOperations` - * 2018-04-01: :class:`RouteTablesOperations` - * 2018-06-01: :class:`RouteTablesOperations` - * 2018-07-01: :class:`RouteTablesOperations` - * 2018-08-01: :class:`RouteTablesOperations` - * 2018-10-01: :class:`RouteTablesOperations` - * 2018-11-01: :class:`RouteTablesOperations` - * 2018-12-01: :class:`RouteTablesOperations` - * 2019-02-01: :class:`RouteTablesOperations` - * 2019-04-01: :class:`RouteTablesOperations` - * 2019-06-01: :class:`RouteTablesOperations` - * 2019-07-01: :class:`RouteTablesOperations` - * 2019-08-01: :class:`RouteTablesOperations` - * 2019-09-01: :class:`RouteTablesOperations` - """ - api_version = self._get_api_version('route_tables') - if api_version == '2015-06-15': - from .v2015_06_15.operations import RouteTablesOperations as OperationClass - elif api_version == '2016-09-01': - from .v2016_09_01.operations import RouteTablesOperations as OperationClass - elif api_version == '2016-12-01': - from .v2016_12_01.operations import RouteTablesOperations as OperationClass - elif api_version == '2017-03-01': - from .v2017_03_01.operations import RouteTablesOperations as OperationClass - elif api_version == '2017-06-01': - from .v2017_06_01.operations import RouteTablesOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import RouteTablesOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import RouteTablesOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import RouteTablesOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import RouteTablesOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import RouteTablesOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import RouteTablesOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import RouteTablesOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import RouteTablesOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import RouteTablesOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import RouteTablesOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import RouteTablesOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import RouteTablesOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import RouteTablesOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import RouteTablesOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import RouteTablesOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import RouteTablesOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import RouteTablesOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import RouteTablesOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import RouteTablesOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def routes(self): - """Instance depends on the API version: - - * 2015-06-15: :class:`RoutesOperations` - * 2016-09-01: :class:`RoutesOperations` - * 2016-12-01: :class:`RoutesOperations` - * 2017-03-01: :class:`RoutesOperations` - * 2017-06-01: :class:`RoutesOperations` - * 2017-08-01: :class:`RoutesOperations` - * 2017-09-01: :class:`RoutesOperations` - * 2017-10-01: :class:`RoutesOperations` - * 2017-11-01: :class:`RoutesOperations` - * 2018-01-01: :class:`RoutesOperations` - * 2018-02-01: :class:`RoutesOperations` - * 2018-04-01: :class:`RoutesOperations` - * 2018-06-01: :class:`RoutesOperations` - * 2018-07-01: :class:`RoutesOperations` - * 2018-08-01: :class:`RoutesOperations` - * 2018-10-01: :class:`RoutesOperations` - * 2018-11-01: :class:`RoutesOperations` - * 2018-12-01: :class:`RoutesOperations` - * 2019-02-01: :class:`RoutesOperations` - * 2019-04-01: :class:`RoutesOperations` - * 2019-06-01: :class:`RoutesOperations` - * 2019-07-01: :class:`RoutesOperations` - * 2019-08-01: :class:`RoutesOperations` - * 2019-09-01: :class:`RoutesOperations` - """ - api_version = self._get_api_version('routes') - if api_version == '2015-06-15': - from .v2015_06_15.operations import RoutesOperations as OperationClass - elif api_version == '2016-09-01': - from .v2016_09_01.operations import RoutesOperations as OperationClass - elif api_version == '2016-12-01': - from .v2016_12_01.operations import RoutesOperations as OperationClass - elif api_version == '2017-03-01': - from .v2017_03_01.operations import RoutesOperations as OperationClass - elif api_version == '2017-06-01': - from .v2017_06_01.operations import RoutesOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import RoutesOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import RoutesOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import RoutesOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import RoutesOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import RoutesOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import RoutesOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import RoutesOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import RoutesOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import RoutesOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import RoutesOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import RoutesOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import RoutesOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import RoutesOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import RoutesOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import RoutesOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import RoutesOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import RoutesOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import RoutesOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import RoutesOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def security_rules(self): - """Instance depends on the API version: - - * 2015-06-15: :class:`SecurityRulesOperations` - * 2016-09-01: :class:`SecurityRulesOperations` - * 2016-12-01: :class:`SecurityRulesOperations` - * 2017-03-01: :class:`SecurityRulesOperations` - * 2017-06-01: :class:`SecurityRulesOperations` - * 2017-08-01: :class:`SecurityRulesOperations` - * 2017-09-01: :class:`SecurityRulesOperations` - * 2017-10-01: :class:`SecurityRulesOperations` - * 2017-11-01: :class:`SecurityRulesOperations` - * 2018-01-01: :class:`SecurityRulesOperations` - * 2018-02-01: :class:`SecurityRulesOperations` - * 2018-04-01: :class:`SecurityRulesOperations` - * 2018-06-01: :class:`SecurityRulesOperations` - * 2018-07-01: :class:`SecurityRulesOperations` - * 2018-08-01: :class:`SecurityRulesOperations` - * 2018-10-01: :class:`SecurityRulesOperations` - * 2018-11-01: :class:`SecurityRulesOperations` - * 2018-12-01: :class:`SecurityRulesOperations` - * 2019-02-01: :class:`SecurityRulesOperations` - * 2019-04-01: :class:`SecurityRulesOperations` - * 2019-06-01: :class:`SecurityRulesOperations` - * 2019-07-01: :class:`SecurityRulesOperations` - * 2019-08-01: :class:`SecurityRulesOperations` - * 2019-09-01: :class:`SecurityRulesOperations` - """ - api_version = self._get_api_version('security_rules') - if api_version == '2015-06-15': - from .v2015_06_15.operations import SecurityRulesOperations as OperationClass - elif api_version == '2016-09-01': - from .v2016_09_01.operations import SecurityRulesOperations as OperationClass - elif api_version == '2016-12-01': - from .v2016_12_01.operations import SecurityRulesOperations as OperationClass - elif api_version == '2017-03-01': - from .v2017_03_01.operations import SecurityRulesOperations as OperationClass - elif api_version == '2017-06-01': - from .v2017_06_01.operations import SecurityRulesOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import SecurityRulesOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import SecurityRulesOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import SecurityRulesOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import SecurityRulesOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import SecurityRulesOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import SecurityRulesOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import SecurityRulesOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import SecurityRulesOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import SecurityRulesOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import SecurityRulesOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import SecurityRulesOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import SecurityRulesOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import SecurityRulesOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import SecurityRulesOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import SecurityRulesOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import SecurityRulesOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import SecurityRulesOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import SecurityRulesOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import SecurityRulesOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def service_association_links(self): - """Instance depends on the API version: - - * 2019-02-01: :class:`ServiceAssociationLinksOperations` - * 2019-04-01: :class:`ServiceAssociationLinksOperations` - * 2019-06-01: :class:`ServiceAssociationLinksOperations` - * 2019-07-01: :class:`ServiceAssociationLinksOperations` - * 2019-08-01: :class:`ServiceAssociationLinksOperations` - * 2019-09-01: :class:`ServiceAssociationLinksOperations` - """ - api_version = self._get_api_version('service_association_links') - if api_version == '2019-02-01': - from .v2019_02_01.operations import ServiceAssociationLinksOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import ServiceAssociationLinksOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import ServiceAssociationLinksOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import ServiceAssociationLinksOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import ServiceAssociationLinksOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import ServiceAssociationLinksOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def service_endpoint_policies(self): - """Instance depends on the API version: - - * 2018-07-01: :class:`ServiceEndpointPoliciesOperations` - * 2018-08-01: :class:`ServiceEndpointPoliciesOperations` - * 2018-10-01: :class:`ServiceEndpointPoliciesOperations` - * 2018-11-01: :class:`ServiceEndpointPoliciesOperations` - * 2018-12-01: :class:`ServiceEndpointPoliciesOperations` - * 2019-02-01: :class:`ServiceEndpointPoliciesOperations` - * 2019-04-01: :class:`ServiceEndpointPoliciesOperations` - * 2019-06-01: :class:`ServiceEndpointPoliciesOperations` - * 2019-07-01: :class:`ServiceEndpointPoliciesOperations` - * 2019-08-01: :class:`ServiceEndpointPoliciesOperations` - * 2019-09-01: :class:`ServiceEndpointPoliciesOperations` - """ - api_version = self._get_api_version('service_endpoint_policies') - if api_version == '2018-07-01': - from .v2018_07_01.operations import ServiceEndpointPoliciesOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import ServiceEndpointPoliciesOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import ServiceEndpointPoliciesOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import ServiceEndpointPoliciesOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import ServiceEndpointPoliciesOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import ServiceEndpointPoliciesOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import ServiceEndpointPoliciesOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import ServiceEndpointPoliciesOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import ServiceEndpointPoliciesOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import ServiceEndpointPoliciesOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import ServiceEndpointPoliciesOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def service_endpoint_policy_definitions(self): - """Instance depends on the API version: - - * 2018-07-01: :class:`ServiceEndpointPolicyDefinitionsOperations` - * 2018-08-01: :class:`ServiceEndpointPolicyDefinitionsOperations` - * 2018-10-01: :class:`ServiceEndpointPolicyDefinitionsOperations` - * 2018-11-01: :class:`ServiceEndpointPolicyDefinitionsOperations` - * 2018-12-01: :class:`ServiceEndpointPolicyDefinitionsOperations` - * 2019-02-01: :class:`ServiceEndpointPolicyDefinitionsOperations` - * 2019-04-01: :class:`ServiceEndpointPolicyDefinitionsOperations` - * 2019-06-01: :class:`ServiceEndpointPolicyDefinitionsOperations` - * 2019-07-01: :class:`ServiceEndpointPolicyDefinitionsOperations` - * 2019-08-01: :class:`ServiceEndpointPolicyDefinitionsOperations` - * 2019-09-01: :class:`ServiceEndpointPolicyDefinitionsOperations` - """ - api_version = self._get_api_version('service_endpoint_policy_definitions') - if api_version == '2018-07-01': - from .v2018_07_01.operations import ServiceEndpointPolicyDefinitionsOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import ServiceEndpointPolicyDefinitionsOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import ServiceEndpointPolicyDefinitionsOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import ServiceEndpointPolicyDefinitionsOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import ServiceEndpointPolicyDefinitionsOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import ServiceEndpointPolicyDefinitionsOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import ServiceEndpointPolicyDefinitionsOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import ServiceEndpointPolicyDefinitionsOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import ServiceEndpointPolicyDefinitionsOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import ServiceEndpointPolicyDefinitionsOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import ServiceEndpointPolicyDefinitionsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def service_tags(self): - """Instance depends on the API version: - - * 2019-04-01: :class:`ServiceTagsOperations` - * 2019-06-01: :class:`ServiceTagsOperations` - * 2019-07-01: :class:`ServiceTagsOperations` - * 2019-08-01: :class:`ServiceTagsOperations` - * 2019-09-01: :class:`ServiceTagsOperations` - """ - api_version = self._get_api_version('service_tags') - if api_version == '2019-04-01': - from .v2019_04_01.operations import ServiceTagsOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import ServiceTagsOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import ServiceTagsOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import ServiceTagsOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import ServiceTagsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def subnets(self): - """Instance depends on the API version: - - * 2015-06-15: :class:`SubnetsOperations` - * 2016-09-01: :class:`SubnetsOperations` - * 2016-12-01: :class:`SubnetsOperations` - * 2017-03-01: :class:`SubnetsOperations` - * 2017-06-01: :class:`SubnetsOperations` - * 2017-08-01: :class:`SubnetsOperations` - * 2017-09-01: :class:`SubnetsOperations` - * 2017-10-01: :class:`SubnetsOperations` - * 2017-11-01: :class:`SubnetsOperations` - * 2018-01-01: :class:`SubnetsOperations` - * 2018-02-01: :class:`SubnetsOperations` - * 2018-04-01: :class:`SubnetsOperations` - * 2018-06-01: :class:`SubnetsOperations` - * 2018-07-01: :class:`SubnetsOperations` - * 2018-08-01: :class:`SubnetsOperations` - * 2018-10-01: :class:`SubnetsOperations` - * 2018-11-01: :class:`SubnetsOperations` - * 2018-12-01: :class:`SubnetsOperations` - * 2019-02-01: :class:`SubnetsOperations` - * 2019-04-01: :class:`SubnetsOperations` - * 2019-06-01: :class:`SubnetsOperations` - * 2019-07-01: :class:`SubnetsOperations` - * 2019-08-01: :class:`SubnetsOperations` - * 2019-09-01: :class:`SubnetsOperations` - """ - api_version = self._get_api_version('subnets') - if api_version == '2015-06-15': - from .v2015_06_15.operations import SubnetsOperations as OperationClass - elif api_version == '2016-09-01': - from .v2016_09_01.operations import SubnetsOperations as OperationClass - elif api_version == '2016-12-01': - from .v2016_12_01.operations import SubnetsOperations as OperationClass - elif api_version == '2017-03-01': - from .v2017_03_01.operations import SubnetsOperations as OperationClass - elif api_version == '2017-06-01': - from .v2017_06_01.operations import SubnetsOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import SubnetsOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import SubnetsOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import SubnetsOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import SubnetsOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import SubnetsOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import SubnetsOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import SubnetsOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import SubnetsOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import SubnetsOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import SubnetsOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import SubnetsOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import SubnetsOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import SubnetsOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import SubnetsOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import SubnetsOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import SubnetsOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import SubnetsOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import SubnetsOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import SubnetsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def usages(self): - """Instance depends on the API version: - - * 2015-06-15: :class:`UsagesOperations` - * 2016-09-01: :class:`UsagesOperations` - * 2016-12-01: :class:`UsagesOperations` - * 2017-03-01: :class:`UsagesOperations` - * 2017-06-01: :class:`UsagesOperations` - * 2017-08-01: :class:`UsagesOperations` - * 2017-09-01: :class:`UsagesOperations` - * 2017-10-01: :class:`UsagesOperations` - * 2017-11-01: :class:`UsagesOperations` - * 2018-01-01: :class:`UsagesOperations` - * 2018-02-01: :class:`UsagesOperations` - * 2018-04-01: :class:`UsagesOperations` - * 2018-06-01: :class:`UsagesOperations` - * 2018-07-01: :class:`UsagesOperations` - * 2018-08-01: :class:`UsagesOperations` - * 2018-10-01: :class:`UsagesOperations` - * 2018-11-01: :class:`UsagesOperations` - * 2018-12-01: :class:`UsagesOperations` - * 2019-02-01: :class:`UsagesOperations` - * 2019-04-01: :class:`UsagesOperations` - * 2019-06-01: :class:`UsagesOperations` - * 2019-07-01: :class:`UsagesOperations` - * 2019-08-01: :class:`UsagesOperations` - * 2019-09-01: :class:`UsagesOperations` - """ - api_version = self._get_api_version('usages') - if api_version == '2015-06-15': - from .v2015_06_15.operations import UsagesOperations as OperationClass - elif api_version == '2016-09-01': - from .v2016_09_01.operations import UsagesOperations as OperationClass - elif api_version == '2016-12-01': - from .v2016_12_01.operations import UsagesOperations as OperationClass - elif api_version == '2017-03-01': - from .v2017_03_01.operations import UsagesOperations as OperationClass - elif api_version == '2017-06-01': - from .v2017_06_01.operations import UsagesOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import UsagesOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import UsagesOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import UsagesOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import UsagesOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import UsagesOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import UsagesOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import UsagesOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import UsagesOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import UsagesOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import UsagesOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import UsagesOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import UsagesOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import UsagesOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import UsagesOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import UsagesOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import UsagesOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import UsagesOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import UsagesOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import UsagesOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def virtual_hub_route_table_v2s(self): - """Instance depends on the API version: - - * 2019-09-01: :class:`VirtualHubRouteTableV2sOperations` - """ - api_version = self._get_api_version('virtual_hub_route_table_v2s') - if api_version == '2019-09-01': - from .v2019_09_01.operations import VirtualHubRouteTableV2sOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def virtual_hubs(self): - """Instance depends on the API version: - - * 2018-04-01: :class:`VirtualHubsOperations` - * 2018-06-01: :class:`VirtualHubsOperations` - * 2018-07-01: :class:`VirtualHubsOperations` - * 2018-08-01: :class:`VirtualHubsOperations` - * 2018-10-01: :class:`VirtualHubsOperations` - * 2018-11-01: :class:`VirtualHubsOperations` - * 2018-12-01: :class:`VirtualHubsOperations` - * 2019-02-01: :class:`VirtualHubsOperations` - * 2019-04-01: :class:`VirtualHubsOperations` - * 2019-06-01: :class:`VirtualHubsOperations` - * 2019-07-01: :class:`VirtualHubsOperations` - * 2019-08-01: :class:`VirtualHubsOperations` - * 2019-09-01: :class:`VirtualHubsOperations` - """ - api_version = self._get_api_version('virtual_hubs') - if api_version == '2018-04-01': - from .v2018_04_01.operations import VirtualHubsOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import VirtualHubsOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import VirtualHubsOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import VirtualHubsOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import VirtualHubsOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import VirtualHubsOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import VirtualHubsOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import VirtualHubsOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import VirtualHubsOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import VirtualHubsOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import VirtualHubsOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import VirtualHubsOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import VirtualHubsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def virtual_network_gateway_connections(self): - """Instance depends on the API version: - - * 2015-06-15: :class:`VirtualNetworkGatewayConnectionsOperations` - * 2016-09-01: :class:`VirtualNetworkGatewayConnectionsOperations` - * 2016-12-01: :class:`VirtualNetworkGatewayConnectionsOperations` - * 2017-03-01: :class:`VirtualNetworkGatewayConnectionsOperations` - * 2017-06-01: :class:`VirtualNetworkGatewayConnectionsOperations` - * 2017-08-01: :class:`VirtualNetworkGatewayConnectionsOperations` - * 2017-09-01: :class:`VirtualNetworkGatewayConnectionsOperations` - * 2017-10-01: :class:`VirtualNetworkGatewayConnectionsOperations` - * 2017-11-01: :class:`VirtualNetworkGatewayConnectionsOperations` - * 2018-01-01: :class:`VirtualNetworkGatewayConnectionsOperations` - * 2018-02-01: :class:`VirtualNetworkGatewayConnectionsOperations` - * 2018-04-01: :class:`VirtualNetworkGatewayConnectionsOperations` - * 2018-06-01: :class:`VirtualNetworkGatewayConnectionsOperations` - * 2018-07-01: :class:`VirtualNetworkGatewayConnectionsOperations` - * 2018-08-01: :class:`VirtualNetworkGatewayConnectionsOperations` - * 2018-10-01: :class:`VirtualNetworkGatewayConnectionsOperations` - * 2018-11-01: :class:`VirtualNetworkGatewayConnectionsOperations` - * 2018-12-01: :class:`VirtualNetworkGatewayConnectionsOperations` - * 2019-02-01: :class:`VirtualNetworkGatewayConnectionsOperations` - * 2019-04-01: :class:`VirtualNetworkGatewayConnectionsOperations` - * 2019-06-01: :class:`VirtualNetworkGatewayConnectionsOperations` - * 2019-07-01: :class:`VirtualNetworkGatewayConnectionsOperations` - * 2019-08-01: :class:`VirtualNetworkGatewayConnectionsOperations` - * 2019-09-01: :class:`VirtualNetworkGatewayConnectionsOperations` - """ - api_version = self._get_api_version('virtual_network_gateway_connections') - if api_version == '2015-06-15': - from .v2015_06_15.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass - elif api_version == '2016-09-01': - from .v2016_09_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass - elif api_version == '2016-12-01': - from .v2016_12_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass - elif api_version == '2017-03-01': - from .v2017_03_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass - elif api_version == '2017-06-01': - from .v2017_06_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def virtual_network_gateways(self): - """Instance depends on the API version: - - * 2015-06-15: :class:`VirtualNetworkGatewaysOperations` - * 2016-09-01: :class:`VirtualNetworkGatewaysOperations` - * 2016-12-01: :class:`VirtualNetworkGatewaysOperations` - * 2017-03-01: :class:`VirtualNetworkGatewaysOperations` - * 2017-06-01: :class:`VirtualNetworkGatewaysOperations` - * 2017-08-01: :class:`VirtualNetworkGatewaysOperations` - * 2017-09-01: :class:`VirtualNetworkGatewaysOperations` - * 2017-10-01: :class:`VirtualNetworkGatewaysOperations` - * 2017-11-01: :class:`VirtualNetworkGatewaysOperations` - * 2018-01-01: :class:`VirtualNetworkGatewaysOperations` - * 2018-02-01: :class:`VirtualNetworkGatewaysOperations` - * 2018-04-01: :class:`VirtualNetworkGatewaysOperations` - * 2018-06-01: :class:`VirtualNetworkGatewaysOperations` - * 2018-07-01: :class:`VirtualNetworkGatewaysOperations` - * 2018-08-01: :class:`VirtualNetworkGatewaysOperations` - * 2018-10-01: :class:`VirtualNetworkGatewaysOperations` - * 2018-11-01: :class:`VirtualNetworkGatewaysOperations` - * 2018-12-01: :class:`VirtualNetworkGatewaysOperations` - * 2019-02-01: :class:`VirtualNetworkGatewaysOperations` - * 2019-04-01: :class:`VirtualNetworkGatewaysOperations` - * 2019-06-01: :class:`VirtualNetworkGatewaysOperations` - * 2019-07-01: :class:`VirtualNetworkGatewaysOperations` - * 2019-08-01: :class:`VirtualNetworkGatewaysOperations` - * 2019-09-01: :class:`VirtualNetworkGatewaysOperations` - """ - api_version = self._get_api_version('virtual_network_gateways') - if api_version == '2015-06-15': - from .v2015_06_15.operations import VirtualNetworkGatewaysOperations as OperationClass - elif api_version == '2016-09-01': - from .v2016_09_01.operations import VirtualNetworkGatewaysOperations as OperationClass - elif api_version == '2016-12-01': - from .v2016_12_01.operations import VirtualNetworkGatewaysOperations as OperationClass - elif api_version == '2017-03-01': - from .v2017_03_01.operations import VirtualNetworkGatewaysOperations as OperationClass - elif api_version == '2017-06-01': - from .v2017_06_01.operations import VirtualNetworkGatewaysOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import VirtualNetworkGatewaysOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import VirtualNetworkGatewaysOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import VirtualNetworkGatewaysOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import VirtualNetworkGatewaysOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import VirtualNetworkGatewaysOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import VirtualNetworkGatewaysOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import VirtualNetworkGatewaysOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import VirtualNetworkGatewaysOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import VirtualNetworkGatewaysOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import VirtualNetworkGatewaysOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import VirtualNetworkGatewaysOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import VirtualNetworkGatewaysOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import VirtualNetworkGatewaysOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import VirtualNetworkGatewaysOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import VirtualNetworkGatewaysOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import VirtualNetworkGatewaysOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import VirtualNetworkGatewaysOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import VirtualNetworkGatewaysOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import VirtualNetworkGatewaysOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def virtual_network_peerings(self): - """Instance depends on the API version: - - * 2016-09-01: :class:`VirtualNetworkPeeringsOperations` - * 2016-12-01: :class:`VirtualNetworkPeeringsOperations` - * 2017-03-01: :class:`VirtualNetworkPeeringsOperations` - * 2017-06-01: :class:`VirtualNetworkPeeringsOperations` - * 2017-08-01: :class:`VirtualNetworkPeeringsOperations` - * 2017-09-01: :class:`VirtualNetworkPeeringsOperations` - * 2017-10-01: :class:`VirtualNetworkPeeringsOperations` - * 2017-11-01: :class:`VirtualNetworkPeeringsOperations` - * 2018-01-01: :class:`VirtualNetworkPeeringsOperations` - * 2018-02-01: :class:`VirtualNetworkPeeringsOperations` - * 2018-04-01: :class:`VirtualNetworkPeeringsOperations` - * 2018-06-01: :class:`VirtualNetworkPeeringsOperations` - * 2018-07-01: :class:`VirtualNetworkPeeringsOperations` - * 2018-08-01: :class:`VirtualNetworkPeeringsOperations` - * 2018-10-01: :class:`VirtualNetworkPeeringsOperations` - * 2018-11-01: :class:`VirtualNetworkPeeringsOperations` - * 2018-12-01: :class:`VirtualNetworkPeeringsOperations` - * 2019-02-01: :class:`VirtualNetworkPeeringsOperations` - * 2019-04-01: :class:`VirtualNetworkPeeringsOperations` - * 2019-06-01: :class:`VirtualNetworkPeeringsOperations` - * 2019-07-01: :class:`VirtualNetworkPeeringsOperations` - * 2019-08-01: :class:`VirtualNetworkPeeringsOperations` - * 2019-09-01: :class:`VirtualNetworkPeeringsOperations` - """ - api_version = self._get_api_version('virtual_network_peerings') - if api_version == '2016-09-01': - from .v2016_09_01.operations import VirtualNetworkPeeringsOperations as OperationClass - elif api_version == '2016-12-01': - from .v2016_12_01.operations import VirtualNetworkPeeringsOperations as OperationClass - elif api_version == '2017-03-01': - from .v2017_03_01.operations import VirtualNetworkPeeringsOperations as OperationClass - elif api_version == '2017-06-01': - from .v2017_06_01.operations import VirtualNetworkPeeringsOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import VirtualNetworkPeeringsOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import VirtualNetworkPeeringsOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import VirtualNetworkPeeringsOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import VirtualNetworkPeeringsOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import VirtualNetworkPeeringsOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import VirtualNetworkPeeringsOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import VirtualNetworkPeeringsOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import VirtualNetworkPeeringsOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import VirtualNetworkPeeringsOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import VirtualNetworkPeeringsOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import VirtualNetworkPeeringsOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import VirtualNetworkPeeringsOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import VirtualNetworkPeeringsOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import VirtualNetworkPeeringsOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import VirtualNetworkPeeringsOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import VirtualNetworkPeeringsOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import VirtualNetworkPeeringsOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import VirtualNetworkPeeringsOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import VirtualNetworkPeeringsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def virtual_network_taps(self): - """Instance depends on the API version: - - * 2018-08-01: :class:`VirtualNetworkTapsOperations` - * 2018-10-01: :class:`VirtualNetworkTapsOperations` - * 2018-11-01: :class:`VirtualNetworkTapsOperations` - * 2018-12-01: :class:`VirtualNetworkTapsOperations` - * 2019-02-01: :class:`VirtualNetworkTapsOperations` - * 2019-04-01: :class:`VirtualNetworkTapsOperations` - * 2019-06-01: :class:`VirtualNetworkTapsOperations` - * 2019-07-01: :class:`VirtualNetworkTapsOperations` - * 2019-08-01: :class:`VirtualNetworkTapsOperations` - * 2019-09-01: :class:`VirtualNetworkTapsOperations` - """ - api_version = self._get_api_version('virtual_network_taps') - if api_version == '2018-08-01': - from .v2018_08_01.operations import VirtualNetworkTapsOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import VirtualNetworkTapsOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import VirtualNetworkTapsOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import VirtualNetworkTapsOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import VirtualNetworkTapsOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import VirtualNetworkTapsOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import VirtualNetworkTapsOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import VirtualNetworkTapsOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import VirtualNetworkTapsOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import VirtualNetworkTapsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def virtual_networks(self): - """Instance depends on the API version: - - * 2015-06-15: :class:`VirtualNetworksOperations` - * 2016-09-01: :class:`VirtualNetworksOperations` - * 2016-12-01: :class:`VirtualNetworksOperations` - * 2017-03-01: :class:`VirtualNetworksOperations` - * 2017-06-01: :class:`VirtualNetworksOperations` - * 2017-08-01: :class:`VirtualNetworksOperations` - * 2017-09-01: :class:`VirtualNetworksOperations` - * 2017-10-01: :class:`VirtualNetworksOperations` - * 2017-11-01: :class:`VirtualNetworksOperations` - * 2018-01-01: :class:`VirtualNetworksOperations` - * 2018-02-01: :class:`VirtualNetworksOperations` - * 2018-04-01: :class:`VirtualNetworksOperations` - * 2018-06-01: :class:`VirtualNetworksOperations` - * 2018-07-01: :class:`VirtualNetworksOperations` - * 2018-08-01: :class:`VirtualNetworksOperations` - * 2018-10-01: :class:`VirtualNetworksOperations` - * 2018-11-01: :class:`VirtualNetworksOperations` - * 2018-12-01: :class:`VirtualNetworksOperations` - * 2019-02-01: :class:`VirtualNetworksOperations` - * 2019-04-01: :class:`VirtualNetworksOperations` - * 2019-06-01: :class:`VirtualNetworksOperations` - * 2019-07-01: :class:`VirtualNetworksOperations` - * 2019-08-01: :class:`VirtualNetworksOperations` - * 2019-09-01: :class:`VirtualNetworksOperations` - """ - api_version = self._get_api_version('virtual_networks') - if api_version == '2015-06-15': - from .v2015_06_15.operations import VirtualNetworksOperations as OperationClass - elif api_version == '2016-09-01': - from .v2016_09_01.operations import VirtualNetworksOperations as OperationClass - elif api_version == '2016-12-01': - from .v2016_12_01.operations import VirtualNetworksOperations as OperationClass - elif api_version == '2017-03-01': - from .v2017_03_01.operations import VirtualNetworksOperations as OperationClass - elif api_version == '2017-06-01': - from .v2017_06_01.operations import VirtualNetworksOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import VirtualNetworksOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import VirtualNetworksOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import VirtualNetworksOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import VirtualNetworksOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import VirtualNetworksOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import VirtualNetworksOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import VirtualNetworksOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import VirtualNetworksOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import VirtualNetworksOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import VirtualNetworksOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import VirtualNetworksOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import VirtualNetworksOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import VirtualNetworksOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import VirtualNetworksOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import VirtualNetworksOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import VirtualNetworksOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import VirtualNetworksOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import VirtualNetworksOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import VirtualNetworksOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def virtual_router_peerings(self): - """Instance depends on the API version: - - * 2019-07-01: :class:`VirtualRouterPeeringsOperations` - * 2019-08-01: :class:`VirtualRouterPeeringsOperations` - * 2019-09-01: :class:`VirtualRouterPeeringsOperations` - """ - api_version = self._get_api_version('virtual_router_peerings') - if api_version == '2019-07-01': - from .v2019_07_01.operations import VirtualRouterPeeringsOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import VirtualRouterPeeringsOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import VirtualRouterPeeringsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def virtual_routers(self): - """Instance depends on the API version: - - * 2019-07-01: :class:`VirtualRoutersOperations` - * 2019-08-01: :class:`VirtualRoutersOperations` - * 2019-09-01: :class:`VirtualRoutersOperations` - """ - api_version = self._get_api_version('virtual_routers') - if api_version == '2019-07-01': - from .v2019_07_01.operations import VirtualRoutersOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import VirtualRoutersOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import VirtualRoutersOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def virtual_wa_ns(self): - """Instance depends on the API version: - - * 2018-04-01: :class:`VirtualWANsOperations` - * 2018-06-01: :class:`VirtualWANsOperations` - * 2018-07-01: :class:`VirtualWANsOperations` - """ - api_version = self._get_api_version('virtual_wa_ns') - if api_version == '2018-04-01': - from .v2018_04_01.operations import VirtualWANsOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import VirtualWANsOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import VirtualWANsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def virtual_wans(self): - """Instance depends on the API version: - - * 2018-08-01: :class:`VirtualWansOperations` - * 2018-10-01: :class:`VirtualWansOperations` - * 2018-11-01: :class:`VirtualWansOperations` - * 2018-12-01: :class:`VirtualWansOperations` - * 2019-02-01: :class:`VirtualWansOperations` - * 2019-04-01: :class:`VirtualWansOperations` - * 2019-06-01: :class:`VirtualWansOperations` - * 2019-07-01: :class:`VirtualWansOperations` - * 2019-08-01: :class:`VirtualWansOperations` - * 2019-09-01: :class:`VirtualWansOperations` - """ - api_version = self._get_api_version('virtual_wans') - if api_version == '2018-08-01': - from .v2018_08_01.operations import VirtualWansOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import VirtualWansOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import VirtualWansOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import VirtualWansOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import VirtualWansOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import VirtualWansOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import VirtualWansOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import VirtualWansOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import VirtualWansOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import VirtualWansOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def vpn_connections(self): - """Instance depends on the API version: - - * 2018-04-01: :class:`VpnConnectionsOperations` - * 2018-06-01: :class:`VpnConnectionsOperations` - * 2018-07-01: :class:`VpnConnectionsOperations` - * 2018-08-01: :class:`VpnConnectionsOperations` - * 2018-10-01: :class:`VpnConnectionsOperations` - * 2018-11-01: :class:`VpnConnectionsOperations` - * 2018-12-01: :class:`VpnConnectionsOperations` - * 2019-02-01: :class:`VpnConnectionsOperations` - * 2019-04-01: :class:`VpnConnectionsOperations` - * 2019-06-01: :class:`VpnConnectionsOperations` - * 2019-07-01: :class:`VpnConnectionsOperations` - * 2019-08-01: :class:`VpnConnectionsOperations` - * 2019-09-01: :class:`VpnConnectionsOperations` - """ - api_version = self._get_api_version('vpn_connections') - if api_version == '2018-04-01': - from .v2018_04_01.operations import VpnConnectionsOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import VpnConnectionsOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import VpnConnectionsOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import VpnConnectionsOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import VpnConnectionsOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import VpnConnectionsOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import VpnConnectionsOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import VpnConnectionsOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import VpnConnectionsOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import VpnConnectionsOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import VpnConnectionsOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import VpnConnectionsOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import VpnConnectionsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def vpn_gateways(self): - """Instance depends on the API version: - - * 2018-04-01: :class:`VpnGatewaysOperations` - * 2018-06-01: :class:`VpnGatewaysOperations` - * 2018-07-01: :class:`VpnGatewaysOperations` - * 2018-08-01: :class:`VpnGatewaysOperations` - * 2018-10-01: :class:`VpnGatewaysOperations` - * 2018-11-01: :class:`VpnGatewaysOperations` - * 2018-12-01: :class:`VpnGatewaysOperations` - * 2019-02-01: :class:`VpnGatewaysOperations` - * 2019-04-01: :class:`VpnGatewaysOperations` - * 2019-06-01: :class:`VpnGatewaysOperations` - * 2019-07-01: :class:`VpnGatewaysOperations` - * 2019-08-01: :class:`VpnGatewaysOperations` - * 2019-09-01: :class:`VpnGatewaysOperations` - """ - api_version = self._get_api_version('vpn_gateways') - if api_version == '2018-04-01': - from .v2018_04_01.operations import VpnGatewaysOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import VpnGatewaysOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import VpnGatewaysOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import VpnGatewaysOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import VpnGatewaysOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import VpnGatewaysOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import VpnGatewaysOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import VpnGatewaysOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import VpnGatewaysOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import VpnGatewaysOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import VpnGatewaysOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import VpnGatewaysOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import VpnGatewaysOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def vpn_link_connections(self): - """Instance depends on the API version: - - * 2019-06-01: :class:`VpnLinkConnectionsOperations` - * 2019-07-01: :class:`VpnLinkConnectionsOperations` - * 2019-08-01: :class:`VpnLinkConnectionsOperations` - * 2019-09-01: :class:`VpnLinkConnectionsOperations` - """ - api_version = self._get_api_version('vpn_link_connections') - if api_version == '2019-06-01': - from .v2019_06_01.operations import VpnLinkConnectionsOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import VpnLinkConnectionsOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import VpnLinkConnectionsOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import VpnLinkConnectionsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def vpn_server_configurations(self): - """Instance depends on the API version: - - * 2019-08-01: :class:`VpnServerConfigurationsOperations` - * 2019-09-01: :class:`VpnServerConfigurationsOperations` - """ - api_version = self._get_api_version('vpn_server_configurations') - if api_version == '2019-08-01': - from .v2019_08_01.operations import VpnServerConfigurationsOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import VpnServerConfigurationsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def vpn_server_configurations_associated_with_virtual_wan(self): - """Instance depends on the API version: - - * 2019-08-01: :class:`VpnServerConfigurationsAssociatedWithVirtualWanOperations` - * 2019-09-01: :class:`VpnServerConfigurationsAssociatedWithVirtualWanOperations` - """ - api_version = self._get_api_version('vpn_server_configurations_associated_with_virtual_wan') - if api_version == '2019-08-01': - from .v2019_08_01.operations import VpnServerConfigurationsAssociatedWithVirtualWanOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import VpnServerConfigurationsAssociatedWithVirtualWanOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def vpn_site_link_connections(self): - """Instance depends on the API version: - - * 2019-06-01: :class:`VpnSiteLinkConnectionsOperations` - * 2019-07-01: :class:`VpnSiteLinkConnectionsOperations` - * 2019-08-01: :class:`VpnSiteLinkConnectionsOperations` - * 2019-09-01: :class:`VpnSiteLinkConnectionsOperations` - """ - api_version = self._get_api_version('vpn_site_link_connections') - if api_version == '2019-06-01': - from .v2019_06_01.operations import VpnSiteLinkConnectionsOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import VpnSiteLinkConnectionsOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import VpnSiteLinkConnectionsOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import VpnSiteLinkConnectionsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def vpn_site_links(self): - """Instance depends on the API version: - - * 2019-06-01: :class:`VpnSiteLinksOperations` - * 2019-07-01: :class:`VpnSiteLinksOperations` - * 2019-08-01: :class:`VpnSiteLinksOperations` - * 2019-09-01: :class:`VpnSiteLinksOperations` - """ - api_version = self._get_api_version('vpn_site_links') - if api_version == '2019-06-01': - from .v2019_06_01.operations import VpnSiteLinksOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import VpnSiteLinksOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import VpnSiteLinksOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import VpnSiteLinksOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def vpn_sites(self): - """Instance depends on the API version: - - * 2018-04-01: :class:`VpnSitesOperations` - * 2018-06-01: :class:`VpnSitesOperations` - * 2018-07-01: :class:`VpnSitesOperations` - * 2018-08-01: :class:`VpnSitesOperations` - * 2018-10-01: :class:`VpnSitesOperations` - * 2018-11-01: :class:`VpnSitesOperations` - * 2018-12-01: :class:`VpnSitesOperations` - * 2019-02-01: :class:`VpnSitesOperations` - * 2019-04-01: :class:`VpnSitesOperations` - * 2019-06-01: :class:`VpnSitesOperations` - * 2019-07-01: :class:`VpnSitesOperations` - * 2019-08-01: :class:`VpnSitesOperations` - * 2019-09-01: :class:`VpnSitesOperations` - """ - api_version = self._get_api_version('vpn_sites') - if api_version == '2018-04-01': - from .v2018_04_01.operations import VpnSitesOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import VpnSitesOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import VpnSitesOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import VpnSitesOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import VpnSitesOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import VpnSitesOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import VpnSitesOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import VpnSitesOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import VpnSitesOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import VpnSitesOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import VpnSitesOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import VpnSitesOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import VpnSitesOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def vpn_sites_configuration(self): - """Instance depends on the API version: - - * 2018-04-01: :class:`VpnSitesConfigurationOperations` - * 2018-06-01: :class:`VpnSitesConfigurationOperations` - * 2018-07-01: :class:`VpnSitesConfigurationOperations` - * 2018-08-01: :class:`VpnSitesConfigurationOperations` - * 2018-10-01: :class:`VpnSitesConfigurationOperations` - * 2018-11-01: :class:`VpnSitesConfigurationOperations` - * 2018-12-01: :class:`VpnSitesConfigurationOperations` - * 2019-02-01: :class:`VpnSitesConfigurationOperations` - * 2019-04-01: :class:`VpnSitesConfigurationOperations` - * 2019-06-01: :class:`VpnSitesConfigurationOperations` - * 2019-07-01: :class:`VpnSitesConfigurationOperations` - * 2019-08-01: :class:`VpnSitesConfigurationOperations` - * 2019-09-01: :class:`VpnSitesConfigurationOperations` - """ - api_version = self._get_api_version('vpn_sites_configuration') - if api_version == '2018-04-01': - from .v2018_04_01.operations import VpnSitesConfigurationOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import VpnSitesConfigurationOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import VpnSitesConfigurationOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import VpnSitesConfigurationOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import VpnSitesConfigurationOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import VpnSitesConfigurationOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import VpnSitesConfigurationOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import VpnSitesConfigurationOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import VpnSitesConfigurationOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import VpnSitesConfigurationOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import VpnSitesConfigurationOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import VpnSitesConfigurationOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import VpnSitesConfigurationOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def web_application_firewall_policies(self): - """Instance depends on the API version: - - * 2018-12-01: :class:`WebApplicationFirewallPoliciesOperations` - * 2019-02-01: :class:`WebApplicationFirewallPoliciesOperations` - * 2019-04-01: :class:`WebApplicationFirewallPoliciesOperations` - * 2019-06-01: :class:`WebApplicationFirewallPoliciesOperations` - * 2019-07-01: :class:`WebApplicationFirewallPoliciesOperations` - * 2019-08-01: :class:`WebApplicationFirewallPoliciesOperations` - * 2019-09-01: :class:`WebApplicationFirewallPoliciesOperations` - """ - api_version = self._get_api_version('web_application_firewall_policies') - if api_version == '2018-12-01': - from .v2018_12_01.operations import WebApplicationFirewallPoliciesOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import WebApplicationFirewallPoliciesOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import WebApplicationFirewallPoliciesOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import WebApplicationFirewallPoliciesOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import WebApplicationFirewallPoliciesOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import WebApplicationFirewallPoliciesOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import WebApplicationFirewallPoliciesOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/_operations_mixin.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/_operations_mixin.py deleted file mode 100644 index b064f1de9b2..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/_operations_mixin.py +++ /dev/null @@ -1,190 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- -from msrest import Serializer, Deserializer - - -class NetworkManagementClientOperationsMixin(object): - - - def check_dns_name_availability(self, location, domain_name_label, custom_headers=None, raw=False, **operation_config): - """Checks whether a domain name in the cloudapp.azure.com zone is - available for use. - - :param location: The location of the domain name. - :type location: str - :param domain_name_label: The domain name to be verified. It must - conform to the following regular expression: - ^[a-z][a-z0-9-]{1,61}[a-z0-9]$. - :type domain_name_label: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: DnsNameAvailabilityResult or ClientRawResponse if raw=true - :rtype: - ~azure.mgmt.network.v2019_09_01.models.DnsNameAvailabilityResult or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - - """ - api_version = self._get_api_version('check_dns_name_availability') - if api_version == '2015-06-15': - from .v2015_06_15.operations import NetworkManagementClientOperationsMixin as OperationClass - elif api_version == '2016-09-01': - from .v2016_09_01.operations import NetworkManagementClientOperationsMixin as OperationClass - elif api_version == '2016-12-01': - from .v2016_12_01.operations import NetworkManagementClientOperationsMixin as OperationClass - elif api_version == '2017-03-01': - from .v2017_03_01.operations import NetworkManagementClientOperationsMixin as OperationClass - elif api_version == '2017-06-01': - from .v2017_06_01.operations import NetworkManagementClientOperationsMixin as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import NetworkManagementClientOperationsMixin as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import NetworkManagementClientOperationsMixin as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import NetworkManagementClientOperationsMixin as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import NetworkManagementClientOperationsMixin as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import NetworkManagementClientOperationsMixin as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import NetworkManagementClientOperationsMixin as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import NetworkManagementClientOperationsMixin as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import NetworkManagementClientOperationsMixin as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import NetworkManagementClientOperationsMixin as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import NetworkManagementClientOperationsMixin as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import NetworkManagementClientOperationsMixin as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import NetworkManagementClientOperationsMixin as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import NetworkManagementClientOperationsMixin as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import NetworkManagementClientOperationsMixin as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import NetworkManagementClientOperationsMixin as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import NetworkManagementClientOperationsMixin as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import NetworkManagementClientOperationsMixin as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import NetworkManagementClientOperationsMixin as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import NetworkManagementClientOperationsMixin as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - mixin_instance = OperationClass() - mixin_instance._client = self._client - mixin_instance.config = self.config - mixin_instance._serialize = Serializer(self._models_dict(api_version)) - mixin_instance._deserialize = Deserializer(self._models_dict(api_version)) - return mixin_instance.check_dns_name_availability(location, domain_name_label, custom_headers, raw, **operation_config) - - def generatevirtualwanvpnserverconfigurationvpnprofile(self, resource_group_name, virtual_wan_name, vpn_server_configuration_resource_id=None, authentication_method=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Generates a unique VPN profile for P2S clients for VirtualWan and - associated VpnServerConfiguration combination in the specified resource - group. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param virtual_wan_name: The name of the VirtualWAN whose associated - VpnServerConfigurations is needed. - :type virtual_wan_name: str - :param vpn_server_configuration_resource_id: VpnServerConfiguration - partial resource uri with which VirtualWan is associated to. - :type vpn_server_configuration_resource_id: str - :param authentication_method: VPN client authentication method. - Possible values include: 'EAPTLS', 'EAPMSCHAPv2' - :type authentication_method: str or - ~azure.mgmt.network.v2019_09_01.models.AuthenticationMethod - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns VpnProfileResponse or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.VpnProfileResponse] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.VpnProfileResponse]] - :raises: :class:`CloudError` - - """ - api_version = self._get_api_version('generatevirtualwanvpnserverconfigurationvpnprofile') - if api_version == '2019-08-01': - from .v2019_08_01.operations import NetworkManagementClientOperationsMixin as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import NetworkManagementClientOperationsMixin as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - mixin_instance = OperationClass() - mixin_instance._client = self._client - mixin_instance.config = self.config - mixin_instance._serialize = Serializer(self._models_dict(api_version)) - mixin_instance._deserialize = Deserializer(self._models_dict(api_version)) - return mixin_instance.generatevirtualwanvpnserverconfigurationvpnprofile(resource_group_name, virtual_wan_name, vpn_server_configuration_resource_id, authentication_method, custom_headers, raw, polling, **operation_config) - - def supported_security_providers(self, resource_group_name, virtual_wan_name, custom_headers=None, raw=False, **operation_config): - """Gives the supported security providers for the virtual wan. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param virtual_wan_name: The name of the VirtualWAN for which - supported security providers are needed. - :type virtual_wan_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: VirtualWanSecurityProviders or ClientRawResponse if raw=true - :rtype: - ~azure.mgmt.network.v2019_09_01.models.VirtualWanSecurityProviders or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - - """ - api_version = self._get_api_version('supported_security_providers') - if api_version == '2018-08-01': - from .v2018_08_01.operations import NetworkManagementClientOperationsMixin as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import NetworkManagementClientOperationsMixin as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import NetworkManagementClientOperationsMixin as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import NetworkManagementClientOperationsMixin as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import NetworkManagementClientOperationsMixin as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import NetworkManagementClientOperationsMixin as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import NetworkManagementClientOperationsMixin as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import NetworkManagementClientOperationsMixin as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import NetworkManagementClientOperationsMixin as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import NetworkManagementClientOperationsMixin as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - mixin_instance = OperationClass() - mixin_instance._client = self._client - mixin_instance.config = self.config - mixin_instance._serialize = Serializer(self._models_dict(api_version)) - mixin_instance._deserialize = Deserializer(self._models_dict(api_version)) - return mixin_instance.supported_security_providers(resource_group_name, virtual_wan_name, custom_headers, raw, **operation_config) diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/models.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/models.py deleted file mode 100644 index 8206be69af7..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/models.py +++ /dev/null @@ -1,10 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -------------------------------------------------------------------------- -from .v2018_07_01.models import * -from .v2019_02_01.models import * -from .v2019_07_01.models import * -from .v2019_09_01.models import * diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/_network_management_client.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/_network_management_client.py deleted file mode 100644 index 7c25c2398da..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/_network_management_client.py +++ /dev/null @@ -1,466 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.service_client import SDKClient -from msrest import Serializer, Deserializer - -from ._configuration import NetworkManagementClientConfiguration -from .operations import NetworkManagementClientOperationsMixin -from .operations import ApplicationGatewaysOperations -from .operations import ApplicationSecurityGroupsOperations -from .operations import AvailableDelegationsOperations -from .operations import AvailableResourceGroupDelegationsOperations -from .operations import AzureFirewallsOperations -from .operations import AzureFirewallFqdnTagsOperations -from .operations import BastionHostsOperations -from .operations import DdosCustomPoliciesOperations -from .operations import DdosProtectionPlansOperations -from .operations import AvailableEndpointServicesOperations -from .operations import ExpressRouteCircuitAuthorizationsOperations -from .operations import ExpressRouteCircuitPeeringsOperations -from .operations import ExpressRouteCircuitConnectionsOperations -from .operations import PeerExpressRouteCircuitConnectionsOperations -from .operations import ExpressRouteCircuitsOperations -from .operations import ExpressRouteServiceProvidersOperations -from .operations import ExpressRouteCrossConnectionsOperations -from .operations import ExpressRouteCrossConnectionPeeringsOperations -from .operations import ExpressRouteGatewaysOperations -from .operations import ExpressRouteConnectionsOperations -from .operations import ExpressRoutePortsLocationsOperations -from .operations import ExpressRoutePortsOperations -from .operations import ExpressRouteLinksOperations -from .operations import FirewallPoliciesOperations -from .operations import FirewallPolicyRuleGroupsOperations -from .operations import LoadBalancersOperations -from .operations import LoadBalancerBackendAddressPoolsOperations -from .operations import LoadBalancerFrontendIPConfigurationsOperations -from .operations import InboundNatRulesOperations -from .operations import LoadBalancerLoadBalancingRulesOperations -from .operations import LoadBalancerOutboundRulesOperations -from .operations import LoadBalancerNetworkInterfacesOperations -from .operations import LoadBalancerProbesOperations -from .operations import NatGatewaysOperations -from .operations import NetworkInterfacesOperations -from .operations import NetworkInterfaceIPConfigurationsOperations -from .operations import NetworkInterfaceLoadBalancersOperations -from .operations import NetworkInterfaceTapConfigurationsOperations -from .operations import NetworkProfilesOperations -from .operations import NetworkSecurityGroupsOperations -from .operations import SecurityRulesOperations -from .operations import DefaultSecurityRulesOperations -from .operations import NetworkWatchersOperations -from .operations import PacketCapturesOperations -from .operations import ConnectionMonitorsOperations -from .operations import Operations -from .operations import PrivateEndpointsOperations -from .operations import AvailablePrivateEndpointTypesOperations -from .operations import PrivateLinkServicesOperations -from .operations import PublicIPAddressesOperations -from .operations import PublicIPPrefixesOperations -from .operations import RouteFiltersOperations -from .operations import RouteFilterRulesOperations -from .operations import RouteTablesOperations -from .operations import RoutesOperations -from .operations import BgpServiceCommunitiesOperations -from .operations import ServiceEndpointPoliciesOperations -from .operations import ServiceEndpointPolicyDefinitionsOperations -from .operations import ServiceTagsOperations -from .operations import UsagesOperations -from .operations import VirtualNetworksOperations -from .operations import SubnetsOperations -from .operations import ResourceNavigationLinksOperations -from .operations import ServiceAssociationLinksOperations -from .operations import VirtualNetworkPeeringsOperations -from .operations import VirtualNetworkGatewaysOperations -from .operations import VirtualNetworkGatewayConnectionsOperations -from .operations import LocalNetworkGatewaysOperations -from .operations import VirtualNetworkTapsOperations -from .operations import VirtualRoutersOperations -from .operations import VirtualRouterPeeringsOperations -from .operations import VirtualWansOperations -from .operations import VpnSitesOperations -from .operations import VpnSiteLinksOperations -from .operations import VpnSitesConfigurationOperations -from .operations import VirtualHubsOperations -from .operations import HubVirtualNetworkConnectionsOperations -from .operations import VpnGatewaysOperations -from .operations import VpnConnectionsOperations -from .operations import VpnSiteLinkConnectionsOperations -from .operations import VpnLinkConnectionsOperations -from .operations import P2sVpnServerConfigurationsOperations -from .operations import P2sVpnGatewaysOperations -from .operations import WebApplicationFirewallPoliciesOperations -from . import models - - -class NetworkManagementClient(NetworkManagementClientOperationsMixin, SDKClient): - """Network Client - - :ivar config: Configuration for client. - :vartype config: NetworkManagementClientConfiguration - - :ivar application_gateways: ApplicationGateways operations - :vartype application_gateways: azure.mgmt.network.v2019_07_01.operations.ApplicationGatewaysOperations - :ivar application_security_groups: ApplicationSecurityGroups operations - :vartype application_security_groups: azure.mgmt.network.v2019_07_01.operations.ApplicationSecurityGroupsOperations - :ivar available_delegations: AvailableDelegations operations - :vartype available_delegations: azure.mgmt.network.v2019_07_01.operations.AvailableDelegationsOperations - :ivar available_resource_group_delegations: AvailableResourceGroupDelegations operations - :vartype available_resource_group_delegations: azure.mgmt.network.v2019_07_01.operations.AvailableResourceGroupDelegationsOperations - :ivar azure_firewalls: AzureFirewalls operations - :vartype azure_firewalls: azure.mgmt.network.v2019_07_01.operations.AzureFirewallsOperations - :ivar azure_firewall_fqdn_tags: AzureFirewallFqdnTags operations - :vartype azure_firewall_fqdn_tags: azure.mgmt.network.v2019_07_01.operations.AzureFirewallFqdnTagsOperations - :ivar bastion_hosts: BastionHosts operations - :vartype bastion_hosts: azure.mgmt.network.v2019_07_01.operations.BastionHostsOperations - :ivar ddos_custom_policies: DdosCustomPolicies operations - :vartype ddos_custom_policies: azure.mgmt.network.v2019_07_01.operations.DdosCustomPoliciesOperations - :ivar ddos_protection_plans: DdosProtectionPlans operations - :vartype ddos_protection_plans: azure.mgmt.network.v2019_07_01.operations.DdosProtectionPlansOperations - :ivar available_endpoint_services: AvailableEndpointServices operations - :vartype available_endpoint_services: azure.mgmt.network.v2019_07_01.operations.AvailableEndpointServicesOperations - :ivar express_route_circuit_authorizations: ExpressRouteCircuitAuthorizations operations - :vartype express_route_circuit_authorizations: azure.mgmt.network.v2019_07_01.operations.ExpressRouteCircuitAuthorizationsOperations - :ivar express_route_circuit_peerings: ExpressRouteCircuitPeerings operations - :vartype express_route_circuit_peerings: azure.mgmt.network.v2019_07_01.operations.ExpressRouteCircuitPeeringsOperations - :ivar express_route_circuit_connections: ExpressRouteCircuitConnections operations - :vartype express_route_circuit_connections: azure.mgmt.network.v2019_07_01.operations.ExpressRouteCircuitConnectionsOperations - :ivar peer_express_route_circuit_connections: PeerExpressRouteCircuitConnections operations - :vartype peer_express_route_circuit_connections: azure.mgmt.network.v2019_07_01.operations.PeerExpressRouteCircuitConnectionsOperations - :ivar express_route_circuits: ExpressRouteCircuits operations - :vartype express_route_circuits: azure.mgmt.network.v2019_07_01.operations.ExpressRouteCircuitsOperations - :ivar express_route_service_providers: ExpressRouteServiceProviders operations - :vartype express_route_service_providers: azure.mgmt.network.v2019_07_01.operations.ExpressRouteServiceProvidersOperations - :ivar express_route_cross_connections: ExpressRouteCrossConnections operations - :vartype express_route_cross_connections: azure.mgmt.network.v2019_07_01.operations.ExpressRouteCrossConnectionsOperations - :ivar express_route_cross_connection_peerings: ExpressRouteCrossConnectionPeerings operations - :vartype express_route_cross_connection_peerings: azure.mgmt.network.v2019_07_01.operations.ExpressRouteCrossConnectionPeeringsOperations - :ivar express_route_gateways: ExpressRouteGateways operations - :vartype express_route_gateways: azure.mgmt.network.v2019_07_01.operations.ExpressRouteGatewaysOperations - :ivar express_route_connections: ExpressRouteConnections operations - :vartype express_route_connections: azure.mgmt.network.v2019_07_01.operations.ExpressRouteConnectionsOperations - :ivar express_route_ports_locations: ExpressRoutePortsLocations operations - :vartype express_route_ports_locations: azure.mgmt.network.v2019_07_01.operations.ExpressRoutePortsLocationsOperations - :ivar express_route_ports: ExpressRoutePorts operations - :vartype express_route_ports: azure.mgmt.network.v2019_07_01.operations.ExpressRoutePortsOperations - :ivar express_route_links: ExpressRouteLinks operations - :vartype express_route_links: azure.mgmt.network.v2019_07_01.operations.ExpressRouteLinksOperations - :ivar firewall_policies: FirewallPolicies operations - :vartype firewall_policies: azure.mgmt.network.v2019_07_01.operations.FirewallPoliciesOperations - :ivar firewall_policy_rule_groups: FirewallPolicyRuleGroups operations - :vartype firewall_policy_rule_groups: azure.mgmt.network.v2019_07_01.operations.FirewallPolicyRuleGroupsOperations - :ivar load_balancers: LoadBalancers operations - :vartype load_balancers: azure.mgmt.network.v2019_07_01.operations.LoadBalancersOperations - :ivar load_balancer_backend_address_pools: LoadBalancerBackendAddressPools operations - :vartype load_balancer_backend_address_pools: azure.mgmt.network.v2019_07_01.operations.LoadBalancerBackendAddressPoolsOperations - :ivar load_balancer_frontend_ip_configurations: LoadBalancerFrontendIPConfigurations operations - :vartype load_balancer_frontend_ip_configurations: azure.mgmt.network.v2019_07_01.operations.LoadBalancerFrontendIPConfigurationsOperations - :ivar inbound_nat_rules: InboundNatRules operations - :vartype inbound_nat_rules: azure.mgmt.network.v2019_07_01.operations.InboundNatRulesOperations - :ivar load_balancer_load_balancing_rules: LoadBalancerLoadBalancingRules operations - :vartype load_balancer_load_balancing_rules: azure.mgmt.network.v2019_07_01.operations.LoadBalancerLoadBalancingRulesOperations - :ivar load_balancer_outbound_rules: LoadBalancerOutboundRules operations - :vartype load_balancer_outbound_rules: azure.mgmt.network.v2019_07_01.operations.LoadBalancerOutboundRulesOperations - :ivar load_balancer_network_interfaces: LoadBalancerNetworkInterfaces operations - :vartype load_balancer_network_interfaces: azure.mgmt.network.v2019_07_01.operations.LoadBalancerNetworkInterfacesOperations - :ivar load_balancer_probes: LoadBalancerProbes operations - :vartype load_balancer_probes: azure.mgmt.network.v2019_07_01.operations.LoadBalancerProbesOperations - :ivar nat_gateways: NatGateways operations - :vartype nat_gateways: azure.mgmt.network.v2019_07_01.operations.NatGatewaysOperations - :ivar network_interfaces: NetworkInterfaces operations - :vartype network_interfaces: azure.mgmt.network.v2019_07_01.operations.NetworkInterfacesOperations - :ivar network_interface_ip_configurations: NetworkInterfaceIPConfigurations operations - :vartype network_interface_ip_configurations: azure.mgmt.network.v2019_07_01.operations.NetworkInterfaceIPConfigurationsOperations - :ivar network_interface_load_balancers: NetworkInterfaceLoadBalancers operations - :vartype network_interface_load_balancers: azure.mgmt.network.v2019_07_01.operations.NetworkInterfaceLoadBalancersOperations - :ivar network_interface_tap_configurations: NetworkInterfaceTapConfigurations operations - :vartype network_interface_tap_configurations: azure.mgmt.network.v2019_07_01.operations.NetworkInterfaceTapConfigurationsOperations - :ivar network_profiles: NetworkProfiles operations - :vartype network_profiles: azure.mgmt.network.v2019_07_01.operations.NetworkProfilesOperations - :ivar network_security_groups: NetworkSecurityGroups operations - :vartype network_security_groups: azure.mgmt.network.v2019_07_01.operations.NetworkSecurityGroupsOperations - :ivar security_rules: SecurityRules operations - :vartype security_rules: azure.mgmt.network.v2019_07_01.operations.SecurityRulesOperations - :ivar default_security_rules: DefaultSecurityRules operations - :vartype default_security_rules: azure.mgmt.network.v2019_07_01.operations.DefaultSecurityRulesOperations - :ivar network_watchers: NetworkWatchers operations - :vartype network_watchers: azure.mgmt.network.v2019_07_01.operations.NetworkWatchersOperations - :ivar packet_captures: PacketCaptures operations - :vartype packet_captures: azure.mgmt.network.v2019_07_01.operations.PacketCapturesOperations - :ivar connection_monitors: ConnectionMonitors operations - :vartype connection_monitors: azure.mgmt.network.v2019_07_01.operations.ConnectionMonitorsOperations - :ivar operations: Operations operations - :vartype operations: azure.mgmt.network.v2019_07_01.operations.Operations - :ivar private_endpoints: PrivateEndpoints operations - :vartype private_endpoints: azure.mgmt.network.v2019_07_01.operations.PrivateEndpointsOperations - :ivar available_private_endpoint_types: AvailablePrivateEndpointTypes operations - :vartype available_private_endpoint_types: azure.mgmt.network.v2019_07_01.operations.AvailablePrivateEndpointTypesOperations - :ivar private_link_services: PrivateLinkServices operations - :vartype private_link_services: azure.mgmt.network.v2019_07_01.operations.PrivateLinkServicesOperations - :ivar public_ip_addresses: PublicIPAddresses operations - :vartype public_ip_addresses: azure.mgmt.network.v2019_07_01.operations.PublicIPAddressesOperations - :ivar public_ip_prefixes: PublicIPPrefixes operations - :vartype public_ip_prefixes: azure.mgmt.network.v2019_07_01.operations.PublicIPPrefixesOperations - :ivar route_filters: RouteFilters operations - :vartype route_filters: azure.mgmt.network.v2019_07_01.operations.RouteFiltersOperations - :ivar route_filter_rules: RouteFilterRules operations - :vartype route_filter_rules: azure.mgmt.network.v2019_07_01.operations.RouteFilterRulesOperations - :ivar route_tables: RouteTables operations - :vartype route_tables: azure.mgmt.network.v2019_07_01.operations.RouteTablesOperations - :ivar routes: Routes operations - :vartype routes: azure.mgmt.network.v2019_07_01.operations.RoutesOperations - :ivar bgp_service_communities: BgpServiceCommunities operations - :vartype bgp_service_communities: azure.mgmt.network.v2019_07_01.operations.BgpServiceCommunitiesOperations - :ivar service_endpoint_policies: ServiceEndpointPolicies operations - :vartype service_endpoint_policies: azure.mgmt.network.v2019_07_01.operations.ServiceEndpointPoliciesOperations - :ivar service_endpoint_policy_definitions: ServiceEndpointPolicyDefinitions operations - :vartype service_endpoint_policy_definitions: azure.mgmt.network.v2019_07_01.operations.ServiceEndpointPolicyDefinitionsOperations - :ivar service_tags: ServiceTags operations - :vartype service_tags: azure.mgmt.network.v2019_07_01.operations.ServiceTagsOperations - :ivar usages: Usages operations - :vartype usages: azure.mgmt.network.v2019_07_01.operations.UsagesOperations - :ivar virtual_networks: VirtualNetworks operations - :vartype virtual_networks: azure.mgmt.network.v2019_07_01.operations.VirtualNetworksOperations - :ivar subnets: Subnets operations - :vartype subnets: azure.mgmt.network.v2019_07_01.operations.SubnetsOperations - :ivar resource_navigation_links: ResourceNavigationLinks operations - :vartype resource_navigation_links: azure.mgmt.network.v2019_07_01.operations.ResourceNavigationLinksOperations - :ivar service_association_links: ServiceAssociationLinks operations - :vartype service_association_links: azure.mgmt.network.v2019_07_01.operations.ServiceAssociationLinksOperations - :ivar virtual_network_peerings: VirtualNetworkPeerings operations - :vartype virtual_network_peerings: azure.mgmt.network.v2019_07_01.operations.VirtualNetworkPeeringsOperations - :ivar virtual_network_gateways: VirtualNetworkGateways operations - :vartype virtual_network_gateways: azure.mgmt.network.v2019_07_01.operations.VirtualNetworkGatewaysOperations - :ivar virtual_network_gateway_connections: VirtualNetworkGatewayConnections operations - :vartype virtual_network_gateway_connections: azure.mgmt.network.v2019_07_01.operations.VirtualNetworkGatewayConnectionsOperations - :ivar local_network_gateways: LocalNetworkGateways operations - :vartype local_network_gateways: azure.mgmt.network.v2019_07_01.operations.LocalNetworkGatewaysOperations - :ivar virtual_network_taps: VirtualNetworkTaps operations - :vartype virtual_network_taps: azure.mgmt.network.v2019_07_01.operations.VirtualNetworkTapsOperations - :ivar virtual_routers: VirtualRouters operations - :vartype virtual_routers: azure.mgmt.network.v2019_07_01.operations.VirtualRoutersOperations - :ivar virtual_router_peerings: VirtualRouterPeerings operations - :vartype virtual_router_peerings: azure.mgmt.network.v2019_07_01.operations.VirtualRouterPeeringsOperations - :ivar virtual_wans: VirtualWans operations - :vartype virtual_wans: azure.mgmt.network.v2019_07_01.operations.VirtualWansOperations - :ivar vpn_sites: VpnSites operations - :vartype vpn_sites: azure.mgmt.network.v2019_07_01.operations.VpnSitesOperations - :ivar vpn_site_links: VpnSiteLinks operations - :vartype vpn_site_links: azure.mgmt.network.v2019_07_01.operations.VpnSiteLinksOperations - :ivar vpn_sites_configuration: VpnSitesConfiguration operations - :vartype vpn_sites_configuration: azure.mgmt.network.v2019_07_01.operations.VpnSitesConfigurationOperations - :ivar virtual_hubs: VirtualHubs operations - :vartype virtual_hubs: azure.mgmt.network.v2019_07_01.operations.VirtualHubsOperations - :ivar hub_virtual_network_connections: HubVirtualNetworkConnections operations - :vartype hub_virtual_network_connections: azure.mgmt.network.v2019_07_01.operations.HubVirtualNetworkConnectionsOperations - :ivar vpn_gateways: VpnGateways operations - :vartype vpn_gateways: azure.mgmt.network.v2019_07_01.operations.VpnGatewaysOperations - :ivar vpn_connections: VpnConnections operations - :vartype vpn_connections: azure.mgmt.network.v2019_07_01.operations.VpnConnectionsOperations - :ivar vpn_site_link_connections: VpnSiteLinkConnections operations - :vartype vpn_site_link_connections: azure.mgmt.network.v2019_07_01.operations.VpnSiteLinkConnectionsOperations - :ivar vpn_link_connections: VpnLinkConnections operations - :vartype vpn_link_connections: azure.mgmt.network.v2019_07_01.operations.VpnLinkConnectionsOperations - :ivar p2s_vpn_server_configurations: P2sVpnServerConfigurations operations - :vartype p2s_vpn_server_configurations: azure.mgmt.network.v2019_07_01.operations.P2sVpnServerConfigurationsOperations - :ivar p2s_vpn_gateways: P2sVpnGateways operations - :vartype p2s_vpn_gateways: azure.mgmt.network.v2019_07_01.operations.P2sVpnGatewaysOperations - :ivar web_application_firewall_policies: WebApplicationFirewallPolicies operations - :vartype web_application_firewall_policies: azure.mgmt.network.v2019_07_01.operations.WebApplicationFirewallPoliciesOperations - - :param credentials: Credentials needed for the client to connect to Azure. - :type credentials: :mod:`A msrestazure Credentials - object` - :param subscription_id: The subscription credentials which uniquely - identify the Microsoft Azure subscription. The subscription ID forms part - of the URI for every service call. - :type subscription_id: str - :param str base_url: Service URL - """ - - def __init__( - self, credentials, subscription_id, base_url=None): - - self.config = NetworkManagementClientConfiguration(credentials, subscription_id, base_url) - super(NetworkManagementClient, self).__init__(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.application_gateways = ApplicationGatewaysOperations( - self._client, self.config, self._serialize, self._deserialize) - self.application_security_groups = ApplicationSecurityGroupsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.available_delegations = AvailableDelegationsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.available_resource_group_delegations = AvailableResourceGroupDelegationsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.azure_firewalls = AzureFirewallsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.azure_firewall_fqdn_tags = AzureFirewallFqdnTagsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.bastion_hosts = BastionHostsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.ddos_custom_policies = DdosCustomPoliciesOperations( - self._client, self.config, self._serialize, self._deserialize) - self.ddos_protection_plans = DdosProtectionPlansOperations( - self._client, self.config, self._serialize, self._deserialize) - self.available_endpoint_services = AvailableEndpointServicesOperations( - self._client, self.config, self._serialize, self._deserialize) - self.express_route_circuit_authorizations = ExpressRouteCircuitAuthorizationsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.express_route_circuit_peerings = ExpressRouteCircuitPeeringsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.express_route_circuit_connections = ExpressRouteCircuitConnectionsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.peer_express_route_circuit_connections = PeerExpressRouteCircuitConnectionsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.express_route_circuits = ExpressRouteCircuitsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.express_route_service_providers = ExpressRouteServiceProvidersOperations( - self._client, self.config, self._serialize, self._deserialize) - self.express_route_cross_connections = ExpressRouteCrossConnectionsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.express_route_cross_connection_peerings = ExpressRouteCrossConnectionPeeringsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.express_route_gateways = ExpressRouteGatewaysOperations( - self._client, self.config, self._serialize, self._deserialize) - self.express_route_connections = ExpressRouteConnectionsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.express_route_ports_locations = ExpressRoutePortsLocationsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.express_route_ports = ExpressRoutePortsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.express_route_links = ExpressRouteLinksOperations( - self._client, self.config, self._serialize, self._deserialize) - self.firewall_policies = FirewallPoliciesOperations( - self._client, self.config, self._serialize, self._deserialize) - self.firewall_policy_rule_groups = FirewallPolicyRuleGroupsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.load_balancers = LoadBalancersOperations( - self._client, self.config, self._serialize, self._deserialize) - self.load_balancer_backend_address_pools = LoadBalancerBackendAddressPoolsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.load_balancer_frontend_ip_configurations = LoadBalancerFrontendIPConfigurationsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.inbound_nat_rules = InboundNatRulesOperations( - self._client, self.config, self._serialize, self._deserialize) - self.load_balancer_load_balancing_rules = LoadBalancerLoadBalancingRulesOperations( - self._client, self.config, self._serialize, self._deserialize) - self.load_balancer_outbound_rules = LoadBalancerOutboundRulesOperations( - self._client, self.config, self._serialize, self._deserialize) - self.load_balancer_network_interfaces = LoadBalancerNetworkInterfacesOperations( - self._client, self.config, self._serialize, self._deserialize) - self.load_balancer_probes = LoadBalancerProbesOperations( - self._client, self.config, self._serialize, self._deserialize) - self.nat_gateways = NatGatewaysOperations( - self._client, self.config, self._serialize, self._deserialize) - self.network_interfaces = NetworkInterfacesOperations( - self._client, self.config, self._serialize, self._deserialize) - self.network_interface_ip_configurations = NetworkInterfaceIPConfigurationsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.network_interface_load_balancers = NetworkInterfaceLoadBalancersOperations( - self._client, self.config, self._serialize, self._deserialize) - self.network_interface_tap_configurations = NetworkInterfaceTapConfigurationsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.network_profiles = NetworkProfilesOperations( - self._client, self.config, self._serialize, self._deserialize) - self.network_security_groups = NetworkSecurityGroupsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.security_rules = SecurityRulesOperations( - self._client, self.config, self._serialize, self._deserialize) - self.default_security_rules = DefaultSecurityRulesOperations( - self._client, self.config, self._serialize, self._deserialize) - self.network_watchers = NetworkWatchersOperations( - self._client, self.config, self._serialize, self._deserialize) - self.packet_captures = PacketCapturesOperations( - self._client, self.config, self._serialize, self._deserialize) - self.connection_monitors = ConnectionMonitorsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.operations = Operations( - self._client, self.config, self._serialize, self._deserialize) - self.private_endpoints = PrivateEndpointsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.available_private_endpoint_types = AvailablePrivateEndpointTypesOperations( - self._client, self.config, self._serialize, self._deserialize) - self.private_link_services = PrivateLinkServicesOperations( - self._client, self.config, self._serialize, self._deserialize) - self.public_ip_addresses = PublicIPAddressesOperations( - self._client, self.config, self._serialize, self._deserialize) - self.public_ip_prefixes = PublicIPPrefixesOperations( - self._client, self.config, self._serialize, self._deserialize) - self.route_filters = RouteFiltersOperations( - self._client, self.config, self._serialize, self._deserialize) - self.route_filter_rules = RouteFilterRulesOperations( - self._client, self.config, self._serialize, self._deserialize) - self.route_tables = RouteTablesOperations( - self._client, self.config, self._serialize, self._deserialize) - self.routes = RoutesOperations( - self._client, self.config, self._serialize, self._deserialize) - self.bgp_service_communities = BgpServiceCommunitiesOperations( - self._client, self.config, self._serialize, self._deserialize) - self.service_endpoint_policies = ServiceEndpointPoliciesOperations( - self._client, self.config, self._serialize, self._deserialize) - self.service_endpoint_policy_definitions = ServiceEndpointPolicyDefinitionsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.service_tags = ServiceTagsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.usages = UsagesOperations( - self._client, self.config, self._serialize, self._deserialize) - self.virtual_networks = VirtualNetworksOperations( - self._client, self.config, self._serialize, self._deserialize) - self.subnets = SubnetsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.resource_navigation_links = ResourceNavigationLinksOperations( - self._client, self.config, self._serialize, self._deserialize) - self.service_association_links = ServiceAssociationLinksOperations( - self._client, self.config, self._serialize, self._deserialize) - self.virtual_network_peerings = VirtualNetworkPeeringsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.virtual_network_gateways = VirtualNetworkGatewaysOperations( - self._client, self.config, self._serialize, self._deserialize) - self.virtual_network_gateway_connections = VirtualNetworkGatewayConnectionsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.local_network_gateways = LocalNetworkGatewaysOperations( - self._client, self.config, self._serialize, self._deserialize) - self.virtual_network_taps = VirtualNetworkTapsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.virtual_routers = VirtualRoutersOperations( - self._client, self.config, self._serialize, self._deserialize) - self.virtual_router_peerings = VirtualRouterPeeringsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.virtual_wans = VirtualWansOperations( - self._client, self.config, self._serialize, self._deserialize) - self.vpn_sites = VpnSitesOperations( - self._client, self.config, self._serialize, self._deserialize) - self.vpn_site_links = VpnSiteLinksOperations( - self._client, self.config, self._serialize, self._deserialize) - self.vpn_sites_configuration = VpnSitesConfigurationOperations( - self._client, self.config, self._serialize, self._deserialize) - self.virtual_hubs = VirtualHubsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.hub_virtual_network_connections = HubVirtualNetworkConnectionsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.vpn_gateways = VpnGatewaysOperations( - self._client, self.config, self._serialize, self._deserialize) - self.vpn_connections = VpnConnectionsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.vpn_site_link_connections = VpnSiteLinkConnectionsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.vpn_link_connections = VpnLinkConnectionsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.p2s_vpn_server_configurations = P2sVpnServerConfigurationsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.p2s_vpn_gateways = P2sVpnGatewaysOperations( - self._client, self.config, self._serialize, self._deserialize) - self.web_application_firewall_policies = WebApplicationFirewallPoliciesOperations( - self._client, self.config, self._serialize, self._deserialize) diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/models/__init__.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/models/__init__.py deleted file mode 100644 index 5e987dbe2fc..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/models/__init__.py +++ /dev/null @@ -1,1415 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -try: - from ._models_py3 import AddressSpace - from ._models_py3 import ApplicationGateway - from ._models_py3 import ApplicationGatewayAuthenticationCertificate - from ._models_py3 import ApplicationGatewayAutoscaleConfiguration - from ._models_py3 import ApplicationGatewayAvailableSslOptions - from ._models_py3 import ApplicationGatewayAvailableWafRuleSetsResult - from ._models_py3 import ApplicationGatewayBackendAddress - from ._models_py3 import ApplicationGatewayBackendAddressPool - from ._models_py3 import ApplicationGatewayBackendHealth - from ._models_py3 import ApplicationGatewayBackendHealthHttpSettings - from ._models_py3 import ApplicationGatewayBackendHealthOnDemand - from ._models_py3 import ApplicationGatewayBackendHealthPool - from ._models_py3 import ApplicationGatewayBackendHealthServer - from ._models_py3 import ApplicationGatewayBackendHttpSettings - from ._models_py3 import ApplicationGatewayConnectionDraining - from ._models_py3 import ApplicationGatewayCustomError - from ._models_py3 import ApplicationGatewayFirewallDisabledRuleGroup - from ._models_py3 import ApplicationGatewayFirewallExclusion - from ._models_py3 import ApplicationGatewayFirewallRule - from ._models_py3 import ApplicationGatewayFirewallRuleGroup - from ._models_py3 import ApplicationGatewayFirewallRuleSet - from ._models_py3 import ApplicationGatewayFrontendIPConfiguration - from ._models_py3 import ApplicationGatewayFrontendPort - from ._models_py3 import ApplicationGatewayHeaderConfiguration - from ._models_py3 import ApplicationGatewayHttpListener - from ._models_py3 import ApplicationGatewayIPConfiguration - from ._models_py3 import ApplicationGatewayOnDemandProbe - from ._models_py3 import ApplicationGatewayPathRule - from ._models_py3 import ApplicationGatewayProbe - from ._models_py3 import ApplicationGatewayProbeHealthResponseMatch - from ._models_py3 import ApplicationGatewayRedirectConfiguration - from ._models_py3 import ApplicationGatewayRequestRoutingRule - from ._models_py3 import ApplicationGatewayRewriteRule - from ._models_py3 import ApplicationGatewayRewriteRuleActionSet - from ._models_py3 import ApplicationGatewayRewriteRuleCondition - from ._models_py3 import ApplicationGatewayRewriteRuleSet - from ._models_py3 import ApplicationGatewaySku - from ._models_py3 import ApplicationGatewaySslCertificate - from ._models_py3 import ApplicationGatewaySslPolicy - from ._models_py3 import ApplicationGatewaySslPredefinedPolicy - from ._models_py3 import ApplicationGatewayTrustedRootCertificate - from ._models_py3 import ApplicationGatewayUrlPathMap - from ._models_py3 import ApplicationGatewayWebApplicationFirewallConfiguration - from ._models_py3 import ApplicationRuleCondition - from ._models_py3 import ApplicationSecurityGroup - from ._models_py3 import AutoApprovedPrivateLinkService - from ._models_py3 import Availability - from ._models_py3 import AvailableDelegation - from ._models_py3 import AvailablePrivateEndpointType - from ._models_py3 import AvailableProvidersList - from ._models_py3 import AvailableProvidersListCity - from ._models_py3 import AvailableProvidersListCountry - from ._models_py3 import AvailableProvidersListParameters - from ._models_py3 import AvailableProvidersListState - from ._models_py3 import AzureAsyncOperationResult - from ._models_py3 import AzureFirewall - from ._models_py3 import AzureFirewallApplicationRule - from ._models_py3 import AzureFirewallApplicationRuleCollection - from ._models_py3 import AzureFirewallApplicationRuleProtocol - from ._models_py3 import AzureFirewallFqdnTag - from ._models_py3 import AzureFirewallIPConfiguration - from ._models_py3 import AzureFirewallNatRCAction - from ._models_py3 import AzureFirewallNatRule - from ._models_py3 import AzureFirewallNatRuleCollection - from ._models_py3 import AzureFirewallNetworkRule - from ._models_py3 import AzureFirewallNetworkRuleCollection - from ._models_py3 import AzureFirewallPublicIPAddress - from ._models_py3 import AzureFirewallRCAction - from ._models_py3 import AzureReachabilityReport - from ._models_py3 import AzureReachabilityReportItem - from ._models_py3 import AzureReachabilityReportLatencyInfo - from ._models_py3 import AzureReachabilityReportLocation - from ._models_py3 import AzureReachabilityReportParameters - from ._models_py3 import BackendAddressPool - from ._models_py3 import BastionHost - from ._models_py3 import BastionHostIPConfiguration - from ._models_py3 import BGPCommunity - from ._models_py3 import BgpPeerStatus - from ._models_py3 import BgpPeerStatusListResult - from ._models_py3 import BgpServiceCommunity - from ._models_py3 import BgpSettings - from ._models_py3 import CheckPrivateLinkServiceVisibilityRequest - from ._models_py3 import ConnectionMonitor - from ._models_py3 import ConnectionMonitorDestination - from ._models_py3 import ConnectionMonitorParameters - from ._models_py3 import ConnectionMonitorQueryResult - from ._models_py3 import ConnectionMonitorResult - from ._models_py3 import ConnectionMonitorSource - from ._models_py3 import ConnectionResetSharedKey - from ._models_py3 import ConnectionSharedKey - from ._models_py3 import ConnectionStateSnapshot - from ._models_py3 import ConnectivityDestination - from ._models_py3 import ConnectivityHop - from ._models_py3 import ConnectivityInformation - from ._models_py3 import ConnectivityIssue - from ._models_py3 import ConnectivityParameters - from ._models_py3 import ConnectivitySource - from ._models_py3 import Container - from ._models_py3 import ContainerNetworkInterface - from ._models_py3 import ContainerNetworkInterfaceConfiguration - from ._models_py3 import ContainerNetworkInterfaceIpConfiguration - from ._models_py3 import DdosCustomPolicy - from ._models_py3 import DdosProtectionPlan - from ._models_py3 import DdosSettings - from ._models_py3 import Delegation - from ._models_py3 import DeviceProperties - from ._models_py3 import DhcpOptions - from ._models_py3 import Dimension - from ._models_py3 import DnsNameAvailabilityResult - from ._models_py3 import EffectiveNetworkSecurityGroup - from ._models_py3 import EffectiveNetworkSecurityGroupAssociation - from ._models_py3 import EffectiveNetworkSecurityGroupListResult - from ._models_py3 import EffectiveNetworkSecurityRule - from ._models_py3 import EffectiveRoute - from ._models_py3 import EffectiveRouteListResult - from ._models_py3 import EndpointServiceResult - from ._models_py3 import Error, ErrorException - from ._models_py3 import ErrorDetails - from ._models_py3 import ErrorResponse, ErrorResponseException - from ._models_py3 import EvaluatedNetworkSecurityGroup - from ._models_py3 import ExpressRouteCircuit - from ._models_py3 import ExpressRouteCircuitArpTable - from ._models_py3 import ExpressRouteCircuitAuthorization - from ._models_py3 import ExpressRouteCircuitConnection - from ._models_py3 import ExpressRouteCircuitPeering - from ._models_py3 import ExpressRouteCircuitPeeringConfig - from ._models_py3 import ExpressRouteCircuitPeeringId - from ._models_py3 import ExpressRouteCircuitReference - from ._models_py3 import ExpressRouteCircuitRoutesTable - from ._models_py3 import ExpressRouteCircuitRoutesTableSummary - from ._models_py3 import ExpressRouteCircuitsArpTableListResult - from ._models_py3 import ExpressRouteCircuitServiceProviderProperties - from ._models_py3 import ExpressRouteCircuitSku - from ._models_py3 import ExpressRouteCircuitsRoutesTableListResult - from ._models_py3 import ExpressRouteCircuitsRoutesTableSummaryListResult - from ._models_py3 import ExpressRouteCircuitStats - from ._models_py3 import ExpressRouteConnection - from ._models_py3 import ExpressRouteConnectionId - from ._models_py3 import ExpressRouteConnectionList - from ._models_py3 import ExpressRouteCrossConnection - from ._models_py3 import ExpressRouteCrossConnectionPeering - from ._models_py3 import ExpressRouteCrossConnectionRoutesTableSummary - from ._models_py3 import ExpressRouteCrossConnectionsRoutesTableSummaryListResult - from ._models_py3 import ExpressRouteGateway - from ._models_py3 import ExpressRouteGatewayList - from ._models_py3 import ExpressRouteGatewayPropertiesAutoScaleConfiguration - from ._models_py3 import ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds - from ._models_py3 import ExpressRouteLink - from ._models_py3 import ExpressRouteLinkMacSecConfig - from ._models_py3 import ExpressRoutePort - from ._models_py3 import ExpressRoutePortsLocation - from ._models_py3 import ExpressRoutePortsLocationBandwidths - from ._models_py3 import ExpressRouteServiceProvider - from ._models_py3 import ExpressRouteServiceProviderBandwidthsOffered - from ._models_py3 import FirewallPolicy - from ._models_py3 import FirewallPolicyFilterRule - from ._models_py3 import FirewallPolicyFilterRuleAction - from ._models_py3 import FirewallPolicyNatRule - from ._models_py3 import FirewallPolicyNatRuleAction - from ._models_py3 import FirewallPolicyRule - from ._models_py3 import FirewallPolicyRuleCondition - from ._models_py3 import FirewallPolicyRuleConditionApplicationProtocol - from ._models_py3 import FirewallPolicyRuleGroup - from ._models_py3 import FlowLogFormatParameters - from ._models_py3 import FlowLogInformation - from ._models_py3 import FlowLogStatusParameters - from ._models_py3 import FrontendIPConfiguration - from ._models_py3 import GatewayRoute - from ._models_py3 import GatewayRouteListResult - from ._models_py3 import GetVpnSitesConfigurationRequest - from ._models_py3 import HTTPConfiguration - from ._models_py3 import HTTPHeader - from ._models_py3 import HubIPAddresses - from ._models_py3 import HubVirtualNetworkConnection - from ._models_py3 import InboundNatPool - from ._models_py3 import InboundNatRule - from ._models_py3 import IPAddressAvailabilityResult - from ._models_py3 import IPConfiguration - from ._models_py3 import IPConfigurationProfile - from ._models_py3 import IpsecPolicy - from ._models_py3 import IpTag - from ._models_py3 import Ipv6ExpressRouteCircuitPeeringConfig - from ._models_py3 import LoadBalancer - from ._models_py3 import LoadBalancerSku - from ._models_py3 import LoadBalancingRule - from ._models_py3 import LocalNetworkGateway - from ._models_py3 import LogSpecification - from ._models_py3 import ManagedServiceIdentity - from ._models_py3 import ManagedServiceIdentityUserAssignedIdentitiesValue - from ._models_py3 import MatchCondition - from ._models_py3 import MatchedRule - from ._models_py3 import MatchVariable - from ._models_py3 import MetricSpecification - from ._models_py3 import NatGateway - from ._models_py3 import NatGatewaySku - from ._models_py3 import NetworkConfigurationDiagnosticParameters - from ._models_py3 import NetworkConfigurationDiagnosticProfile - from ._models_py3 import NetworkConfigurationDiagnosticResponse - from ._models_py3 import NetworkConfigurationDiagnosticResult - from ._models_py3 import NetworkIntentPolicy - from ._models_py3 import NetworkIntentPolicyConfiguration - from ._models_py3 import NetworkInterface - from ._models_py3 import NetworkInterfaceAssociation - from ._models_py3 import NetworkInterfaceDnsSettings - from ._models_py3 import NetworkInterfaceIPConfiguration - from ._models_py3 import NetworkInterfaceIPConfigurationPrivateLinkConnectionProperties - from ._models_py3 import NetworkInterfaceTapConfiguration - from ._models_py3 import NetworkProfile - from ._models_py3 import NetworkRuleCondition - from ._models_py3 import NetworkSecurityGroup - from ._models_py3 import NetworkSecurityGroupResult - from ._models_py3 import NetworkSecurityRulesEvaluationResult - from ._models_py3 import NetworkWatcher - from ._models_py3 import NextHopParameters - from ._models_py3 import NextHopResult - from ._models_py3 import Operation - from ._models_py3 import OperationDisplay - from ._models_py3 import OperationPropertiesFormatServiceSpecification - from ._models_py3 import OutboundRule - from ._models_py3 import P2SVpnGateway - from ._models_py3 import P2SVpnProfileParameters - from ._models_py3 import P2SVpnServerConfigRadiusClientRootCertificate - from ._models_py3 import P2SVpnServerConfigRadiusServerRootCertificate - from ._models_py3 import P2SVpnServerConfiguration - from ._models_py3 import P2SVpnServerConfigVpnClientRevokedCertificate - from ._models_py3 import P2SVpnServerConfigVpnClientRootCertificate - from ._models_py3 import PacketCapture - from ._models_py3 import PacketCaptureFilter - from ._models_py3 import PacketCaptureParameters - from ._models_py3 import PacketCaptureQueryStatusResult - from ._models_py3 import PacketCaptureResult - from ._models_py3 import PacketCaptureStorageLocation - from ._models_py3 import PatchRouteFilter - from ._models_py3 import PatchRouteFilterRule - from ._models_py3 import PeerExpressRouteCircuitConnection - from ._models_py3 import PolicySettings - from ._models_py3 import PrepareNetworkPoliciesRequest - from ._models_py3 import PrivateEndpoint - from ._models_py3 import PrivateEndpointConnection - from ._models_py3 import PrivateLinkService - from ._models_py3 import PrivateLinkServiceConnection - from ._models_py3 import PrivateLinkServiceConnectionState - from ._models_py3 import PrivateLinkServiceIpConfiguration - from ._models_py3 import PrivateLinkServicePropertiesAutoApproval - from ._models_py3 import PrivateLinkServicePropertiesVisibility - from ._models_py3 import PrivateLinkServiceVisibility - from ._models_py3 import Probe - from ._models_py3 import ProtocolConfiguration - from ._models_py3 import ProtocolCustomSettingsFormat - from ._models_py3 import PublicIPAddress - from ._models_py3 import PublicIPAddressDnsSettings - from ._models_py3 import PublicIPAddressSku - from ._models_py3 import PublicIPPrefix - from ._models_py3 import PublicIPPrefixSku - from ._models_py3 import QueryTroubleshootingParameters - from ._models_py3 import ReferencedPublicIpAddress - from ._models_py3 import Resource - from ._models_py3 import ResourceNavigationLink - from ._models_py3 import ResourceNavigationLinksListResult - from ._models_py3 import ResourceSet - from ._models_py3 import RetentionPolicyParameters - from ._models_py3 import Route - from ._models_py3 import RouteFilter - from ._models_py3 import RouteFilterRule - from ._models_py3 import RouteTable - from ._models_py3 import SecurityGroupNetworkInterface - from ._models_py3 import SecurityGroupViewParameters - from ._models_py3 import SecurityGroupViewResult - from ._models_py3 import SecurityRule - from ._models_py3 import SecurityRuleAssociations - from ._models_py3 import ServiceAssociationLink - from ._models_py3 import ServiceAssociationLinksListResult - from ._models_py3 import ServiceEndpointPolicy - from ._models_py3 import ServiceEndpointPolicyDefinition - from ._models_py3 import ServiceEndpointPropertiesFormat - from ._models_py3 import ServiceTagInformation - from ._models_py3 import ServiceTagInformationPropertiesFormat - from ._models_py3 import ServiceTagsListResult - from ._models_py3 import Subnet - from ._models_py3 import SubnetAssociation - from ._models_py3 import SubResource - from ._models_py3 import TagsObject - from ._models_py3 import Topology - from ._models_py3 import TopologyAssociation - from ._models_py3 import TopologyParameters - from ._models_py3 import TopologyResource - from ._models_py3 import TrafficAnalyticsConfigurationProperties - from ._models_py3 import TrafficAnalyticsProperties - from ._models_py3 import TrafficSelectorPolicy - from ._models_py3 import TroubleshootingDetails - from ._models_py3 import TroubleshootingParameters - from ._models_py3 import TroubleshootingRecommendedActions - from ._models_py3 import TroubleshootingResult - from ._models_py3 import TunnelConnectionHealth - from ._models_py3 import UnprepareNetworkPoliciesRequest - from ._models_py3 import Usage - from ._models_py3 import UsageName - from ._models_py3 import VerificationIPFlowParameters - from ._models_py3 import VerificationIPFlowResult - from ._models_py3 import VirtualHub - from ._models_py3 import VirtualHubId - from ._models_py3 import VirtualHubRoute - from ._models_py3 import VirtualHubRouteTable - from ._models_py3 import VirtualNetwork - from ._models_py3 import VirtualNetworkConnectionGatewayReference - from ._models_py3 import VirtualNetworkGateway - from ._models_py3 import VirtualNetworkGatewayConnection - from ._models_py3 import VirtualNetworkGatewayConnectionListEntity - from ._models_py3 import VirtualNetworkGatewayIPConfiguration - from ._models_py3 import VirtualNetworkGatewaySku - from ._models_py3 import VirtualNetworkPeering - from ._models_py3 import VirtualNetworkTap - from ._models_py3 import VirtualNetworkUsage - from ._models_py3 import VirtualNetworkUsageName - from ._models_py3 import VirtualRouter - from ._models_py3 import VirtualRouterPeering - from ._models_py3 import VirtualWAN - from ._models_py3 import VirtualWanSecurityProvider - from ._models_py3 import VirtualWanSecurityProviders - from ._models_py3 import VpnClientConfiguration - from ._models_py3 import VpnClientConnectionHealth - from ._models_py3 import VpnClientConnectionHealthDetail - from ._models_py3 import VpnClientConnectionHealthDetailListResult - from ._models_py3 import VpnClientIPsecParameters - from ._models_py3 import VpnClientParameters - from ._models_py3 import VpnClientRevokedCertificate - from ._models_py3 import VpnClientRootCertificate - from ._models_py3 import VpnConnection - from ._models_py3 import VpnDeviceScriptParameters - from ._models_py3 import VpnGateway - from ._models_py3 import VpnLinkBgpSettings - from ._models_py3 import VpnLinkProviderProperties - from ._models_py3 import VpnPacketCaptureStartParameters - from ._models_py3 import VpnPacketCaptureStopParameters - from ._models_py3 import VpnProfileResponse - from ._models_py3 import VpnSite - from ._models_py3 import VpnSiteId - from ._models_py3 import VpnSiteLink - from ._models_py3 import VpnSiteLinkConnection - from ._models_py3 import WebApplicationFirewallCustomRule - from ._models_py3 import WebApplicationFirewallPolicy -except (SyntaxError, ImportError): - from ._models import AddressSpace - from ._models import ApplicationGateway - from ._models import ApplicationGatewayAuthenticationCertificate - from ._models import ApplicationGatewayAutoscaleConfiguration - from ._models import ApplicationGatewayAvailableSslOptions - from ._models import ApplicationGatewayAvailableWafRuleSetsResult - from ._models import ApplicationGatewayBackendAddress - from ._models import ApplicationGatewayBackendAddressPool - from ._models import ApplicationGatewayBackendHealth - from ._models import ApplicationGatewayBackendHealthHttpSettings - from ._models import ApplicationGatewayBackendHealthOnDemand - from ._models import ApplicationGatewayBackendHealthPool - from ._models import ApplicationGatewayBackendHealthServer - from ._models import ApplicationGatewayBackendHttpSettings - from ._models import ApplicationGatewayConnectionDraining - from ._models import ApplicationGatewayCustomError - from ._models import ApplicationGatewayFirewallDisabledRuleGroup - from ._models import ApplicationGatewayFirewallExclusion - from ._models import ApplicationGatewayFirewallRule - from ._models import ApplicationGatewayFirewallRuleGroup - from ._models import ApplicationGatewayFirewallRuleSet - from ._models import ApplicationGatewayFrontendIPConfiguration - from ._models import ApplicationGatewayFrontendPort - from ._models import ApplicationGatewayHeaderConfiguration - from ._models import ApplicationGatewayHttpListener - from ._models import ApplicationGatewayIPConfiguration - from ._models import ApplicationGatewayOnDemandProbe - from ._models import ApplicationGatewayPathRule - from ._models import ApplicationGatewayProbe - from ._models import ApplicationGatewayProbeHealthResponseMatch - from ._models import ApplicationGatewayRedirectConfiguration - from ._models import ApplicationGatewayRequestRoutingRule - from ._models import ApplicationGatewayRewriteRule - from ._models import ApplicationGatewayRewriteRuleActionSet - from ._models import ApplicationGatewayRewriteRuleCondition - from ._models import ApplicationGatewayRewriteRuleSet - from ._models import ApplicationGatewaySku - from ._models import ApplicationGatewaySslCertificate - from ._models import ApplicationGatewaySslPolicy - from ._models import ApplicationGatewaySslPredefinedPolicy - from ._models import ApplicationGatewayTrustedRootCertificate - from ._models import ApplicationGatewayUrlPathMap - from ._models import ApplicationGatewayWebApplicationFirewallConfiguration - from ._models import ApplicationRuleCondition - from ._models import ApplicationSecurityGroup - from ._models import AutoApprovedPrivateLinkService - from ._models import Availability - from ._models import AvailableDelegation - from ._models import AvailablePrivateEndpointType - from ._models import AvailableProvidersList - from ._models import AvailableProvidersListCity - from ._models import AvailableProvidersListCountry - from ._models import AvailableProvidersListParameters - from ._models import AvailableProvidersListState - from ._models import AzureAsyncOperationResult - from ._models import AzureFirewall - from ._models import AzureFirewallApplicationRule - from ._models import AzureFirewallApplicationRuleCollection - from ._models import AzureFirewallApplicationRuleProtocol - from ._models import AzureFirewallFqdnTag - from ._models import AzureFirewallIPConfiguration - from ._models import AzureFirewallNatRCAction - from ._models import AzureFirewallNatRule - from ._models import AzureFirewallNatRuleCollection - from ._models import AzureFirewallNetworkRule - from ._models import AzureFirewallNetworkRuleCollection - from ._models import AzureFirewallPublicIPAddress - from ._models import AzureFirewallRCAction - from ._models import AzureReachabilityReport - from ._models import AzureReachabilityReportItem - from ._models import AzureReachabilityReportLatencyInfo - from ._models import AzureReachabilityReportLocation - from ._models import AzureReachabilityReportParameters - from ._models import BackendAddressPool - from ._models import BastionHost - from ._models import BastionHostIPConfiguration - from ._models import BGPCommunity - from ._models import BgpPeerStatus - from ._models import BgpPeerStatusListResult - from ._models import BgpServiceCommunity - from ._models import BgpSettings - from ._models import CheckPrivateLinkServiceVisibilityRequest - from ._models import ConnectionMonitor - from ._models import ConnectionMonitorDestination - from ._models import ConnectionMonitorParameters - from ._models import ConnectionMonitorQueryResult - from ._models import ConnectionMonitorResult - from ._models import ConnectionMonitorSource - from ._models import ConnectionResetSharedKey - from ._models import ConnectionSharedKey - from ._models import ConnectionStateSnapshot - from ._models import ConnectivityDestination - from ._models import ConnectivityHop - from ._models import ConnectivityInformation - from ._models import ConnectivityIssue - from ._models import ConnectivityParameters - from ._models import ConnectivitySource - from ._models import Container - from ._models import ContainerNetworkInterface - from ._models import ContainerNetworkInterfaceConfiguration - from ._models import ContainerNetworkInterfaceIpConfiguration - from ._models import DdosCustomPolicy - from ._models import DdosProtectionPlan - from ._models import DdosSettings - from ._models import Delegation - from ._models import DeviceProperties - from ._models import DhcpOptions - from ._models import Dimension - from ._models import DnsNameAvailabilityResult - from ._models import EffectiveNetworkSecurityGroup - from ._models import EffectiveNetworkSecurityGroupAssociation - from ._models import EffectiveNetworkSecurityGroupListResult - from ._models import EffectiveNetworkSecurityRule - from ._models import EffectiveRoute - from ._models import EffectiveRouteListResult - from ._models import EndpointServiceResult - from ._models import Error, ErrorException - from ._models import ErrorDetails - from ._models import ErrorResponse, ErrorResponseException - from ._models import EvaluatedNetworkSecurityGroup - from ._models import ExpressRouteCircuit - from ._models import ExpressRouteCircuitArpTable - from ._models import ExpressRouteCircuitAuthorization - from ._models import ExpressRouteCircuitConnection - from ._models import ExpressRouteCircuitPeering - from ._models import ExpressRouteCircuitPeeringConfig - from ._models import ExpressRouteCircuitPeeringId - from ._models import ExpressRouteCircuitReference - from ._models import ExpressRouteCircuitRoutesTable - from ._models import ExpressRouteCircuitRoutesTableSummary - from ._models import ExpressRouteCircuitsArpTableListResult - from ._models import ExpressRouteCircuitServiceProviderProperties - from ._models import ExpressRouteCircuitSku - from ._models import ExpressRouteCircuitsRoutesTableListResult - from ._models import ExpressRouteCircuitsRoutesTableSummaryListResult - from ._models import ExpressRouteCircuitStats - from ._models import ExpressRouteConnection - from ._models import ExpressRouteConnectionId - from ._models import ExpressRouteConnectionList - from ._models import ExpressRouteCrossConnection - from ._models import ExpressRouteCrossConnectionPeering - from ._models import ExpressRouteCrossConnectionRoutesTableSummary - from ._models import ExpressRouteCrossConnectionsRoutesTableSummaryListResult - from ._models import ExpressRouteGateway - from ._models import ExpressRouteGatewayList - from ._models import ExpressRouteGatewayPropertiesAutoScaleConfiguration - from ._models import ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds - from ._models import ExpressRouteLink - from ._models import ExpressRouteLinkMacSecConfig - from ._models import ExpressRoutePort - from ._models import ExpressRoutePortsLocation - from ._models import ExpressRoutePortsLocationBandwidths - from ._models import ExpressRouteServiceProvider - from ._models import ExpressRouteServiceProviderBandwidthsOffered - from ._models import FirewallPolicy - from ._models import FirewallPolicyFilterRule - from ._models import FirewallPolicyFilterRuleAction - from ._models import FirewallPolicyNatRule - from ._models import FirewallPolicyNatRuleAction - from ._models import FirewallPolicyRule - from ._models import FirewallPolicyRuleCondition - from ._models import FirewallPolicyRuleConditionApplicationProtocol - from ._models import FirewallPolicyRuleGroup - from ._models import FlowLogFormatParameters - from ._models import FlowLogInformation - from ._models import FlowLogStatusParameters - from ._models import FrontendIPConfiguration - from ._models import GatewayRoute - from ._models import GatewayRouteListResult - from ._models import GetVpnSitesConfigurationRequest - from ._models import HTTPConfiguration - from ._models import HTTPHeader - from ._models import HubIPAddresses - from ._models import HubVirtualNetworkConnection - from ._models import InboundNatPool - from ._models import InboundNatRule - from ._models import IPAddressAvailabilityResult - from ._models import IPConfiguration - from ._models import IPConfigurationProfile - from ._models import IpsecPolicy - from ._models import IpTag - from ._models import Ipv6ExpressRouteCircuitPeeringConfig - from ._models import LoadBalancer - from ._models import LoadBalancerSku - from ._models import LoadBalancingRule - from ._models import LocalNetworkGateway - from ._models import LogSpecification - from ._models import ManagedServiceIdentity - from ._models import ManagedServiceIdentityUserAssignedIdentitiesValue - from ._models import MatchCondition - from ._models import MatchedRule - from ._models import MatchVariable - from ._models import MetricSpecification - from ._models import NatGateway - from ._models import NatGatewaySku - from ._models import NetworkConfigurationDiagnosticParameters - from ._models import NetworkConfigurationDiagnosticProfile - from ._models import NetworkConfigurationDiagnosticResponse - from ._models import NetworkConfigurationDiagnosticResult - from ._models import NetworkIntentPolicy - from ._models import NetworkIntentPolicyConfiguration - from ._models import NetworkInterface - from ._models import NetworkInterfaceAssociation - from ._models import NetworkInterfaceDnsSettings - from ._models import NetworkInterfaceIPConfiguration - from ._models import NetworkInterfaceIPConfigurationPrivateLinkConnectionProperties - from ._models import NetworkInterfaceTapConfiguration - from ._models import NetworkProfile - from ._models import NetworkRuleCondition - from ._models import NetworkSecurityGroup - from ._models import NetworkSecurityGroupResult - from ._models import NetworkSecurityRulesEvaluationResult - from ._models import NetworkWatcher - from ._models import NextHopParameters - from ._models import NextHopResult - from ._models import Operation - from ._models import OperationDisplay - from ._models import OperationPropertiesFormatServiceSpecification - from ._models import OutboundRule - from ._models import P2SVpnGateway - from ._models import P2SVpnProfileParameters - from ._models import P2SVpnServerConfigRadiusClientRootCertificate - from ._models import P2SVpnServerConfigRadiusServerRootCertificate - from ._models import P2SVpnServerConfiguration - from ._models import P2SVpnServerConfigVpnClientRevokedCertificate - from ._models import P2SVpnServerConfigVpnClientRootCertificate - from ._models import PacketCapture - from ._models import PacketCaptureFilter - from ._models import PacketCaptureParameters - from ._models import PacketCaptureQueryStatusResult - from ._models import PacketCaptureResult - from ._models import PacketCaptureStorageLocation - from ._models import PatchRouteFilter - from ._models import PatchRouteFilterRule - from ._models import PeerExpressRouteCircuitConnection - from ._models import PolicySettings - from ._models import PrepareNetworkPoliciesRequest - from ._models import PrivateEndpoint - from ._models import PrivateEndpointConnection - from ._models import PrivateLinkService - from ._models import PrivateLinkServiceConnection - from ._models import PrivateLinkServiceConnectionState - from ._models import PrivateLinkServiceIpConfiguration - from ._models import PrivateLinkServicePropertiesAutoApproval - from ._models import PrivateLinkServicePropertiesVisibility - from ._models import PrivateLinkServiceVisibility - from ._models import Probe - from ._models import ProtocolConfiguration - from ._models import ProtocolCustomSettingsFormat - from ._models import PublicIPAddress - from ._models import PublicIPAddressDnsSettings - from ._models import PublicIPAddressSku - from ._models import PublicIPPrefix - from ._models import PublicIPPrefixSku - from ._models import QueryTroubleshootingParameters - from ._models import ReferencedPublicIpAddress - from ._models import Resource - from ._models import ResourceNavigationLink - from ._models import ResourceNavigationLinksListResult - from ._models import ResourceSet - from ._models import RetentionPolicyParameters - from ._models import Route - from ._models import RouteFilter - from ._models import RouteFilterRule - from ._models import RouteTable - from ._models import SecurityGroupNetworkInterface - from ._models import SecurityGroupViewParameters - from ._models import SecurityGroupViewResult - from ._models import SecurityRule - from ._models import SecurityRuleAssociations - from ._models import ServiceAssociationLink - from ._models import ServiceAssociationLinksListResult - from ._models import ServiceEndpointPolicy - from ._models import ServiceEndpointPolicyDefinition - from ._models import ServiceEndpointPropertiesFormat - from ._models import ServiceTagInformation - from ._models import ServiceTagInformationPropertiesFormat - from ._models import ServiceTagsListResult - from ._models import Subnet - from ._models import SubnetAssociation - from ._models import SubResource - from ._models import TagsObject - from ._models import Topology - from ._models import TopologyAssociation - from ._models import TopologyParameters - from ._models import TopologyResource - from ._models import TrafficAnalyticsConfigurationProperties - from ._models import TrafficAnalyticsProperties - from ._models import TrafficSelectorPolicy - from ._models import TroubleshootingDetails - from ._models import TroubleshootingParameters - from ._models import TroubleshootingRecommendedActions - from ._models import TroubleshootingResult - from ._models import TunnelConnectionHealth - from ._models import UnprepareNetworkPoliciesRequest - from ._models import Usage - from ._models import UsageName - from ._models import VerificationIPFlowParameters - from ._models import VerificationIPFlowResult - from ._models import VirtualHub - from ._models import VirtualHubId - from ._models import VirtualHubRoute - from ._models import VirtualHubRouteTable - from ._models import VirtualNetwork - from ._models import VirtualNetworkConnectionGatewayReference - from ._models import VirtualNetworkGateway - from ._models import VirtualNetworkGatewayConnection - from ._models import VirtualNetworkGatewayConnectionListEntity - from ._models import VirtualNetworkGatewayIPConfiguration - from ._models import VirtualNetworkGatewaySku - from ._models import VirtualNetworkPeering - from ._models import VirtualNetworkTap - from ._models import VirtualNetworkUsage - from ._models import VirtualNetworkUsageName - from ._models import VirtualRouter - from ._models import VirtualRouterPeering - from ._models import VirtualWAN - from ._models import VirtualWanSecurityProvider - from ._models import VirtualWanSecurityProviders - from ._models import VpnClientConfiguration - from ._models import VpnClientConnectionHealth - from ._models import VpnClientConnectionHealthDetail - from ._models import VpnClientConnectionHealthDetailListResult - from ._models import VpnClientIPsecParameters - from ._models import VpnClientParameters - from ._models import VpnClientRevokedCertificate - from ._models import VpnClientRootCertificate - from ._models import VpnConnection - from ._models import VpnDeviceScriptParameters - from ._models import VpnGateway - from ._models import VpnLinkBgpSettings - from ._models import VpnLinkProviderProperties - from ._models import VpnPacketCaptureStartParameters - from ._models import VpnPacketCaptureStopParameters - from ._models import VpnProfileResponse - from ._models import VpnSite - from ._models import VpnSiteId - from ._models import VpnSiteLink - from ._models import VpnSiteLinkConnection - from ._models import WebApplicationFirewallCustomRule - from ._models import WebApplicationFirewallPolicy -from ._paged_models import ApplicationGatewayPaged -from ._paged_models import ApplicationGatewaySslPredefinedPolicyPaged -from ._paged_models import ApplicationSecurityGroupPaged -from ._paged_models import AutoApprovedPrivateLinkServicePaged -from ._paged_models import AvailableDelegationPaged -from ._paged_models import AvailablePrivateEndpointTypePaged -from ._paged_models import AzureFirewallFqdnTagPaged -from ._paged_models import AzureFirewallPaged -from ._paged_models import BackendAddressPoolPaged -from ._paged_models import BastionHostPaged -from ._paged_models import BgpServiceCommunityPaged -from ._paged_models import ConnectionMonitorResultPaged -from ._paged_models import DdosProtectionPlanPaged -from ._paged_models import EndpointServiceResultPaged -from ._paged_models import ExpressRouteCircuitAuthorizationPaged -from ._paged_models import ExpressRouteCircuitConnectionPaged -from ._paged_models import ExpressRouteCircuitPaged -from ._paged_models import ExpressRouteCircuitPeeringPaged -from ._paged_models import ExpressRouteCrossConnectionPaged -from ._paged_models import ExpressRouteCrossConnectionPeeringPaged -from ._paged_models import ExpressRouteLinkPaged -from ._paged_models import ExpressRoutePortPaged -from ._paged_models import ExpressRoutePortsLocationPaged -from ._paged_models import ExpressRouteServiceProviderPaged -from ._paged_models import FirewallPolicyPaged -from ._paged_models import FirewallPolicyRuleGroupPaged -from ._paged_models import FrontendIPConfigurationPaged -from ._paged_models import HubVirtualNetworkConnectionPaged -from ._paged_models import InboundNatRulePaged -from ._paged_models import LoadBalancerPaged -from ._paged_models import LoadBalancingRulePaged -from ._paged_models import LocalNetworkGatewayPaged -from ._paged_models import NatGatewayPaged -from ._paged_models import NetworkInterfaceIPConfigurationPaged -from ._paged_models import NetworkInterfacePaged -from ._paged_models import NetworkInterfaceTapConfigurationPaged -from ._paged_models import NetworkProfilePaged -from ._paged_models import NetworkSecurityGroupPaged -from ._paged_models import NetworkWatcherPaged -from ._paged_models import OperationPaged -from ._paged_models import OutboundRulePaged -from ._paged_models import P2SVpnGatewayPaged -from ._paged_models import P2SVpnServerConfigurationPaged -from ._paged_models import PacketCaptureResultPaged -from ._paged_models import PeerExpressRouteCircuitConnectionPaged -from ._paged_models import PrivateEndpointPaged -from ._paged_models import PrivateLinkServicePaged -from ._paged_models import ProbePaged -from ._paged_models import PublicIPAddressPaged -from ._paged_models import PublicIPPrefixPaged -from ._paged_models import RouteFilterPaged -from ._paged_models import RouteFilterRulePaged -from ._paged_models import RoutePaged -from ._paged_models import RouteTablePaged -from ._paged_models import SecurityRulePaged -from ._paged_models import ServiceEndpointPolicyDefinitionPaged -from ._paged_models import ServiceEndpointPolicyPaged -from ._paged_models import SubnetPaged -from ._paged_models import UsagePaged -from ._paged_models import VirtualHubPaged -from ._paged_models import VirtualNetworkGatewayConnectionListEntityPaged -from ._paged_models import VirtualNetworkGatewayConnectionPaged -from ._paged_models import VirtualNetworkGatewayPaged -from ._paged_models import VirtualNetworkPaged -from ._paged_models import VirtualNetworkPeeringPaged -from ._paged_models import VirtualNetworkTapPaged -from ._paged_models import VirtualNetworkUsagePaged -from ._paged_models import VirtualRouterPaged -from ._paged_models import VirtualRouterPeeringPaged -from ._paged_models import VirtualWANPaged -from ._paged_models import VpnConnectionPaged -from ._paged_models import VpnGatewayPaged -from ._paged_models import VpnSiteLinkConnectionPaged -from ._paged_models import VpnSiteLinkPaged -from ._paged_models import VpnSitePaged -from ._paged_models import WebApplicationFirewallPolicyPaged -from ._network_management_client_enums import ( - ApplicationGatewayProtocol, - ProvisioningState, - IPAllocationMethod, - IPVersion, - SecurityRuleProtocol, - SecurityRuleAccess, - SecurityRuleDirection, - RouteNextHopType, - PublicIPAddressSkuName, - DdosSettingsProtectionCoverage, - TransportProtocol, - ApplicationGatewayCookieBasedAffinity, - ApplicationGatewayBackendHealthServerHealth, - ApplicationGatewaySkuName, - ApplicationGatewayTier, - ApplicationGatewaySslProtocol, - ApplicationGatewaySslPolicyType, - ApplicationGatewaySslPolicyName, - ApplicationGatewaySslCipherSuite, - ApplicationGatewayCustomErrorStatusCode, - ApplicationGatewayRequestRoutingRuleType, - ApplicationGatewayRedirectType, - ApplicationGatewayOperationalState, - ApplicationGatewayFirewallMode, - ResourceIdentityType, - AzureFirewallRCActionType, - AzureFirewallApplicationRuleProtocolType, - AzureFirewallNatRCActionType, - AzureFirewallNetworkRuleProtocol, - AzureFirewallThreatIntelMode, - DdosCustomPolicyProtocol, - DdosCustomPolicyTriggerSensitivityOverride, - AuthorizationUseStatus, - ExpressRouteCircuitPeeringAdvertisedPublicPrefixState, - ExpressRouteCircuitPeeringState, - ExpressRoutePeeringType, - ExpressRoutePeeringState, - CircuitConnectionStatus, - ExpressRouteCircuitSkuTier, - ExpressRouteCircuitSkuFamily, - ServiceProviderProvisioningState, - ExpressRouteLinkMacSecCipher, - ExpressRouteLinkConnectorType, - ExpressRouteLinkAdminState, - ExpressRoutePortsEncapsulation, - FirewallPolicyNatRuleActionType, - FirewallPolicyFilterRuleActionType, - FirewallPolicyRuleConditionApplicationProtocolType, - FirewallPolicyRuleConditionNetworkProtocol, - LoadBalancerSkuName, - LoadDistribution, - ProbeProtocol, - LoadBalancerOutboundRuleProtocol, - NatGatewaySkuName, - NetworkOperationStatus, - Access, - AuthenticationMethod, - EffectiveSecurityRuleProtocol, - EffectiveRouteSource, - EffectiveRouteState, - AssociationType, - Direction, - IpFlowProtocol, - NextHopType, - PcProtocol, - PcStatus, - PcError, - FlowLogFormatType, - Protocol, - HTTPMethod, - Origin, - Severity, - IssueType, - ConnectionStatus, - VerbosityLevel, - ConnectionState, - EvaluationState, - ConnectionMonitorSourceStatus, - PublicIPPrefixSkuName, - VirtualNetworkPeeringState, - VirtualNetworkGatewayType, - VpnType, - VpnGatewayGeneration, - VirtualNetworkGatewaySkuName, - VirtualNetworkGatewaySkuTier, - VpnClientProtocol, - IpsecEncryption, - IpsecIntegrity, - IkeEncryption, - IkeIntegrity, - DhGroup, - PfsGroup, - BgpPeerState, - ProcessorArchitecture, - VirtualNetworkGatewayConnectionStatus, - VirtualNetworkGatewayConnectionType, - VirtualNetworkGatewayConnectionProtocol, - OfficeTrafficCategory, - VpnGatewayTunnelingProtocol, - VpnConnectionStatus, - VirtualWanSecurityProviderType, - TunnelConnectionStatus, - HubVirtualNetworkConnectionStatus, - WebApplicationFirewallEnabledState, - WebApplicationFirewallMode, - WebApplicationFirewallRuleType, - WebApplicationFirewallMatchVariable, - WebApplicationFirewallOperator, - WebApplicationFirewallTransform, - WebApplicationFirewallAction, - WebApplicationFirewallPolicyResourceState, -) - -__all__ = [ - 'AddressSpace', - 'ApplicationGateway', - 'ApplicationGatewayAuthenticationCertificate', - 'ApplicationGatewayAutoscaleConfiguration', - 'ApplicationGatewayAvailableSslOptions', - 'ApplicationGatewayAvailableWafRuleSetsResult', - 'ApplicationGatewayBackendAddress', - 'ApplicationGatewayBackendAddressPool', - 'ApplicationGatewayBackendHealth', - 'ApplicationGatewayBackendHealthHttpSettings', - 'ApplicationGatewayBackendHealthOnDemand', - 'ApplicationGatewayBackendHealthPool', - 'ApplicationGatewayBackendHealthServer', - 'ApplicationGatewayBackendHttpSettings', - 'ApplicationGatewayConnectionDraining', - 'ApplicationGatewayCustomError', - 'ApplicationGatewayFirewallDisabledRuleGroup', - 'ApplicationGatewayFirewallExclusion', - 'ApplicationGatewayFirewallRule', - 'ApplicationGatewayFirewallRuleGroup', - 'ApplicationGatewayFirewallRuleSet', - 'ApplicationGatewayFrontendIPConfiguration', - 'ApplicationGatewayFrontendPort', - 'ApplicationGatewayHeaderConfiguration', - 'ApplicationGatewayHttpListener', - 'ApplicationGatewayIPConfiguration', - 'ApplicationGatewayOnDemandProbe', - 'ApplicationGatewayPathRule', - 'ApplicationGatewayProbe', - 'ApplicationGatewayProbeHealthResponseMatch', - 'ApplicationGatewayRedirectConfiguration', - 'ApplicationGatewayRequestRoutingRule', - 'ApplicationGatewayRewriteRule', - 'ApplicationGatewayRewriteRuleActionSet', - 'ApplicationGatewayRewriteRuleCondition', - 'ApplicationGatewayRewriteRuleSet', - 'ApplicationGatewaySku', - 'ApplicationGatewaySslCertificate', - 'ApplicationGatewaySslPolicy', - 'ApplicationGatewaySslPredefinedPolicy', - 'ApplicationGatewayTrustedRootCertificate', - 'ApplicationGatewayUrlPathMap', - 'ApplicationGatewayWebApplicationFirewallConfiguration', - 'ApplicationRuleCondition', - 'ApplicationSecurityGroup', - 'AutoApprovedPrivateLinkService', - 'Availability', - 'AvailableDelegation', - 'AvailablePrivateEndpointType', - 'AvailableProvidersList', - 'AvailableProvidersListCity', - 'AvailableProvidersListCountry', - 'AvailableProvidersListParameters', - 'AvailableProvidersListState', - 'AzureAsyncOperationResult', - 'AzureFirewall', - 'AzureFirewallApplicationRule', - 'AzureFirewallApplicationRuleCollection', - 'AzureFirewallApplicationRuleProtocol', - 'AzureFirewallFqdnTag', - 'AzureFirewallIPConfiguration', - 'AzureFirewallNatRCAction', - 'AzureFirewallNatRule', - 'AzureFirewallNatRuleCollection', - 'AzureFirewallNetworkRule', - 'AzureFirewallNetworkRuleCollection', - 'AzureFirewallPublicIPAddress', - 'AzureFirewallRCAction', - 'AzureReachabilityReport', - 'AzureReachabilityReportItem', - 'AzureReachabilityReportLatencyInfo', - 'AzureReachabilityReportLocation', - 'AzureReachabilityReportParameters', - 'BackendAddressPool', - 'BastionHost', - 'BastionHostIPConfiguration', - 'BGPCommunity', - 'BgpPeerStatus', - 'BgpPeerStatusListResult', - 'BgpServiceCommunity', - 'BgpSettings', - 'CheckPrivateLinkServiceVisibilityRequest', - 'ConnectionMonitor', - 'ConnectionMonitorDestination', - 'ConnectionMonitorParameters', - 'ConnectionMonitorQueryResult', - 'ConnectionMonitorResult', - 'ConnectionMonitorSource', - 'ConnectionResetSharedKey', - 'ConnectionSharedKey', - 'ConnectionStateSnapshot', - 'ConnectivityDestination', - 'ConnectivityHop', - 'ConnectivityInformation', - 'ConnectivityIssue', - 'ConnectivityParameters', - 'ConnectivitySource', - 'Container', - 'ContainerNetworkInterface', - 'ContainerNetworkInterfaceConfiguration', - 'ContainerNetworkInterfaceIpConfiguration', - 'DdosCustomPolicy', - 'DdosProtectionPlan', - 'DdosSettings', - 'Delegation', - 'DeviceProperties', - 'DhcpOptions', - 'Dimension', - 'DnsNameAvailabilityResult', - 'EffectiveNetworkSecurityGroup', - 'EffectiveNetworkSecurityGroupAssociation', - 'EffectiveNetworkSecurityGroupListResult', - 'EffectiveNetworkSecurityRule', - 'EffectiveRoute', - 'EffectiveRouteListResult', - 'EndpointServiceResult', - 'Error', 'ErrorException', - 'ErrorDetails', - 'ErrorResponse', 'ErrorResponseException', - 'EvaluatedNetworkSecurityGroup', - 'ExpressRouteCircuit', - 'ExpressRouteCircuitArpTable', - 'ExpressRouteCircuitAuthorization', - 'ExpressRouteCircuitConnection', - 'ExpressRouteCircuitPeering', - 'ExpressRouteCircuitPeeringConfig', - 'ExpressRouteCircuitPeeringId', - 'ExpressRouteCircuitReference', - 'ExpressRouteCircuitRoutesTable', - 'ExpressRouteCircuitRoutesTableSummary', - 'ExpressRouteCircuitsArpTableListResult', - 'ExpressRouteCircuitServiceProviderProperties', - 'ExpressRouteCircuitSku', - 'ExpressRouteCircuitsRoutesTableListResult', - 'ExpressRouteCircuitsRoutesTableSummaryListResult', - 'ExpressRouteCircuitStats', - 'ExpressRouteConnection', - 'ExpressRouteConnectionId', - 'ExpressRouteConnectionList', - 'ExpressRouteCrossConnection', - 'ExpressRouteCrossConnectionPeering', - 'ExpressRouteCrossConnectionRoutesTableSummary', - 'ExpressRouteCrossConnectionsRoutesTableSummaryListResult', - 'ExpressRouteGateway', - 'ExpressRouteGatewayList', - 'ExpressRouteGatewayPropertiesAutoScaleConfiguration', - 'ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds', - 'ExpressRouteLink', - 'ExpressRouteLinkMacSecConfig', - 'ExpressRoutePort', - 'ExpressRoutePortsLocation', - 'ExpressRoutePortsLocationBandwidths', - 'ExpressRouteServiceProvider', - 'ExpressRouteServiceProviderBandwidthsOffered', - 'FirewallPolicy', - 'FirewallPolicyFilterRule', - 'FirewallPolicyFilterRuleAction', - 'FirewallPolicyNatRule', - 'FirewallPolicyNatRuleAction', - 'FirewallPolicyRule', - 'FirewallPolicyRuleCondition', - 'FirewallPolicyRuleConditionApplicationProtocol', - 'FirewallPolicyRuleGroup', - 'FlowLogFormatParameters', - 'FlowLogInformation', - 'FlowLogStatusParameters', - 'FrontendIPConfiguration', - 'GatewayRoute', - 'GatewayRouteListResult', - 'GetVpnSitesConfigurationRequest', - 'HTTPConfiguration', - 'HTTPHeader', - 'HubIPAddresses', - 'HubVirtualNetworkConnection', - 'InboundNatPool', - 'InboundNatRule', - 'IPAddressAvailabilityResult', - 'IPConfiguration', - 'IPConfigurationProfile', - 'IpsecPolicy', - 'IpTag', - 'Ipv6ExpressRouteCircuitPeeringConfig', - 'LoadBalancer', - 'LoadBalancerSku', - 'LoadBalancingRule', - 'LocalNetworkGateway', - 'LogSpecification', - 'ManagedServiceIdentity', - 'ManagedServiceIdentityUserAssignedIdentitiesValue', - 'MatchCondition', - 'MatchedRule', - 'MatchVariable', - 'MetricSpecification', - 'NatGateway', - 'NatGatewaySku', - 'NetworkConfigurationDiagnosticParameters', - 'NetworkConfigurationDiagnosticProfile', - 'NetworkConfigurationDiagnosticResponse', - 'NetworkConfigurationDiagnosticResult', - 'NetworkIntentPolicy', - 'NetworkIntentPolicyConfiguration', - 'NetworkInterface', - 'NetworkInterfaceAssociation', - 'NetworkInterfaceDnsSettings', - 'NetworkInterfaceIPConfiguration', - 'NetworkInterfaceIPConfigurationPrivateLinkConnectionProperties', - 'NetworkInterfaceTapConfiguration', - 'NetworkProfile', - 'NetworkRuleCondition', - 'NetworkSecurityGroup', - 'NetworkSecurityGroupResult', - 'NetworkSecurityRulesEvaluationResult', - 'NetworkWatcher', - 'NextHopParameters', - 'NextHopResult', - 'Operation', - 'OperationDisplay', - 'OperationPropertiesFormatServiceSpecification', - 'OutboundRule', - 'P2SVpnGateway', - 'P2SVpnProfileParameters', - 'P2SVpnServerConfigRadiusClientRootCertificate', - 'P2SVpnServerConfigRadiusServerRootCertificate', - 'P2SVpnServerConfiguration', - 'P2SVpnServerConfigVpnClientRevokedCertificate', - 'P2SVpnServerConfigVpnClientRootCertificate', - 'PacketCapture', - 'PacketCaptureFilter', - 'PacketCaptureParameters', - 'PacketCaptureQueryStatusResult', - 'PacketCaptureResult', - 'PacketCaptureStorageLocation', - 'PatchRouteFilter', - 'PatchRouteFilterRule', - 'PeerExpressRouteCircuitConnection', - 'PolicySettings', - 'PrepareNetworkPoliciesRequest', - 'PrivateEndpoint', - 'PrivateEndpointConnection', - 'PrivateLinkService', - 'PrivateLinkServiceConnection', - 'PrivateLinkServiceConnectionState', - 'PrivateLinkServiceIpConfiguration', - 'PrivateLinkServicePropertiesAutoApproval', - 'PrivateLinkServicePropertiesVisibility', - 'PrivateLinkServiceVisibility', - 'Probe', - 'ProtocolConfiguration', - 'ProtocolCustomSettingsFormat', - 'PublicIPAddress', - 'PublicIPAddressDnsSettings', - 'PublicIPAddressSku', - 'PublicIPPrefix', - 'PublicIPPrefixSku', - 'QueryTroubleshootingParameters', - 'ReferencedPublicIpAddress', - 'Resource', - 'ResourceNavigationLink', - 'ResourceNavigationLinksListResult', - 'ResourceSet', - 'RetentionPolicyParameters', - 'Route', - 'RouteFilter', - 'RouteFilterRule', - 'RouteTable', - 'SecurityGroupNetworkInterface', - 'SecurityGroupViewParameters', - 'SecurityGroupViewResult', - 'SecurityRule', - 'SecurityRuleAssociations', - 'ServiceAssociationLink', - 'ServiceAssociationLinksListResult', - 'ServiceEndpointPolicy', - 'ServiceEndpointPolicyDefinition', - 'ServiceEndpointPropertiesFormat', - 'ServiceTagInformation', - 'ServiceTagInformationPropertiesFormat', - 'ServiceTagsListResult', - 'Subnet', - 'SubnetAssociation', - 'SubResource', - 'TagsObject', - 'Topology', - 'TopologyAssociation', - 'TopologyParameters', - 'TopologyResource', - 'TrafficAnalyticsConfigurationProperties', - 'TrafficAnalyticsProperties', - 'TrafficSelectorPolicy', - 'TroubleshootingDetails', - 'TroubleshootingParameters', - 'TroubleshootingRecommendedActions', - 'TroubleshootingResult', - 'TunnelConnectionHealth', - 'UnprepareNetworkPoliciesRequest', - 'Usage', - 'UsageName', - 'VerificationIPFlowParameters', - 'VerificationIPFlowResult', - 'VirtualHub', - 'VirtualHubId', - 'VirtualHubRoute', - 'VirtualHubRouteTable', - 'VirtualNetwork', - 'VirtualNetworkConnectionGatewayReference', - 'VirtualNetworkGateway', - 'VirtualNetworkGatewayConnection', - 'VirtualNetworkGatewayConnectionListEntity', - 'VirtualNetworkGatewayIPConfiguration', - 'VirtualNetworkGatewaySku', - 'VirtualNetworkPeering', - 'VirtualNetworkTap', - 'VirtualNetworkUsage', - 'VirtualNetworkUsageName', - 'VirtualRouter', - 'VirtualRouterPeering', - 'VirtualWAN', - 'VirtualWanSecurityProvider', - 'VirtualWanSecurityProviders', - 'VpnClientConfiguration', - 'VpnClientConnectionHealth', - 'VpnClientConnectionHealthDetail', - 'VpnClientConnectionHealthDetailListResult', - 'VpnClientIPsecParameters', - 'VpnClientParameters', - 'VpnClientRevokedCertificate', - 'VpnClientRootCertificate', - 'VpnConnection', - 'VpnDeviceScriptParameters', - 'VpnGateway', - 'VpnLinkBgpSettings', - 'VpnLinkProviderProperties', - 'VpnPacketCaptureStartParameters', - 'VpnPacketCaptureStopParameters', - 'VpnProfileResponse', - 'VpnSite', - 'VpnSiteId', - 'VpnSiteLink', - 'VpnSiteLinkConnection', - 'WebApplicationFirewallCustomRule', - 'WebApplicationFirewallPolicy', - 'ApplicationGatewayPaged', - 'ApplicationGatewaySslPredefinedPolicyPaged', - 'ApplicationSecurityGroupPaged', - 'AvailableDelegationPaged', - 'AzureFirewallPaged', - 'AzureFirewallFqdnTagPaged', - 'BastionHostPaged', - 'DdosProtectionPlanPaged', - 'EndpointServiceResultPaged', - 'ExpressRouteCircuitAuthorizationPaged', - 'ExpressRouteCircuitPeeringPaged', - 'ExpressRouteCircuitConnectionPaged', - 'PeerExpressRouteCircuitConnectionPaged', - 'ExpressRouteCircuitPaged', - 'ExpressRouteServiceProviderPaged', - 'ExpressRouteCrossConnectionPaged', - 'ExpressRouteCrossConnectionPeeringPaged', - 'ExpressRoutePortsLocationPaged', - 'ExpressRoutePortPaged', - 'ExpressRouteLinkPaged', - 'FirewallPolicyPaged', - 'FirewallPolicyRuleGroupPaged', - 'LoadBalancerPaged', - 'BackendAddressPoolPaged', - 'FrontendIPConfigurationPaged', - 'InboundNatRulePaged', - 'LoadBalancingRulePaged', - 'OutboundRulePaged', - 'NetworkInterfacePaged', - 'ProbePaged', - 'NatGatewayPaged', - 'NetworkInterfaceIPConfigurationPaged', - 'NetworkInterfaceTapConfigurationPaged', - 'NetworkProfilePaged', - 'NetworkSecurityGroupPaged', - 'SecurityRulePaged', - 'NetworkWatcherPaged', - 'PacketCaptureResultPaged', - 'ConnectionMonitorResultPaged', - 'OperationPaged', - 'PrivateEndpointPaged', - 'AvailablePrivateEndpointTypePaged', - 'PrivateLinkServicePaged', - 'AutoApprovedPrivateLinkServicePaged', - 'PublicIPAddressPaged', - 'PublicIPPrefixPaged', - 'RouteFilterPaged', - 'RouteFilterRulePaged', - 'RouteTablePaged', - 'RoutePaged', - 'BgpServiceCommunityPaged', - 'ServiceEndpointPolicyPaged', - 'ServiceEndpointPolicyDefinitionPaged', - 'UsagePaged', - 'VirtualNetworkPaged', - 'VirtualNetworkUsagePaged', - 'SubnetPaged', - 'VirtualNetworkPeeringPaged', - 'VirtualNetworkGatewayPaged', - 'VirtualNetworkGatewayConnectionListEntityPaged', - 'VirtualNetworkGatewayConnectionPaged', - 'LocalNetworkGatewayPaged', - 'VirtualNetworkTapPaged', - 'VirtualRouterPaged', - 'VirtualRouterPeeringPaged', - 'VirtualWANPaged', - 'VpnSitePaged', - 'VpnSiteLinkPaged', - 'VirtualHubPaged', - 'HubVirtualNetworkConnectionPaged', - 'VpnGatewayPaged', - 'VpnConnectionPaged', - 'VpnSiteLinkConnectionPaged', - 'P2SVpnServerConfigurationPaged', - 'P2SVpnGatewayPaged', - 'WebApplicationFirewallPolicyPaged', - 'ApplicationGatewayProtocol', - 'ProvisioningState', - 'IPAllocationMethod', - 'IPVersion', - 'SecurityRuleProtocol', - 'SecurityRuleAccess', - 'SecurityRuleDirection', - 'RouteNextHopType', - 'PublicIPAddressSkuName', - 'DdosSettingsProtectionCoverage', - 'TransportProtocol', - 'ApplicationGatewayCookieBasedAffinity', - 'ApplicationGatewayBackendHealthServerHealth', - 'ApplicationGatewaySkuName', - 'ApplicationGatewayTier', - 'ApplicationGatewaySslProtocol', - 'ApplicationGatewaySslPolicyType', - 'ApplicationGatewaySslPolicyName', - 'ApplicationGatewaySslCipherSuite', - 'ApplicationGatewayCustomErrorStatusCode', - 'ApplicationGatewayRequestRoutingRuleType', - 'ApplicationGatewayRedirectType', - 'ApplicationGatewayOperationalState', - 'ApplicationGatewayFirewallMode', - 'ResourceIdentityType', - 'AzureFirewallRCActionType', - 'AzureFirewallApplicationRuleProtocolType', - 'AzureFirewallNatRCActionType', - 'AzureFirewallNetworkRuleProtocol', - 'AzureFirewallThreatIntelMode', - 'DdosCustomPolicyProtocol', - 'DdosCustomPolicyTriggerSensitivityOverride', - 'AuthorizationUseStatus', - 'ExpressRouteCircuitPeeringAdvertisedPublicPrefixState', - 'ExpressRouteCircuitPeeringState', - 'ExpressRoutePeeringType', - 'ExpressRoutePeeringState', - 'CircuitConnectionStatus', - 'ExpressRouteCircuitSkuTier', - 'ExpressRouteCircuitSkuFamily', - 'ServiceProviderProvisioningState', - 'ExpressRouteLinkMacSecCipher', - 'ExpressRouteLinkConnectorType', - 'ExpressRouteLinkAdminState', - 'ExpressRoutePortsEncapsulation', - 'FirewallPolicyNatRuleActionType', - 'FirewallPolicyFilterRuleActionType', - 'FirewallPolicyRuleConditionApplicationProtocolType', - 'FirewallPolicyRuleConditionNetworkProtocol', - 'LoadBalancerSkuName', - 'LoadDistribution', - 'ProbeProtocol', - 'LoadBalancerOutboundRuleProtocol', - 'NatGatewaySkuName', - 'NetworkOperationStatus', - 'Access', - 'AuthenticationMethod', - 'EffectiveSecurityRuleProtocol', - 'EffectiveRouteSource', - 'EffectiveRouteState', - 'AssociationType', - 'Direction', - 'IpFlowProtocol', - 'NextHopType', - 'PcProtocol', - 'PcStatus', - 'PcError', - 'FlowLogFormatType', - 'Protocol', - 'HTTPMethod', - 'Origin', - 'Severity', - 'IssueType', - 'ConnectionStatus', - 'VerbosityLevel', - 'ConnectionState', - 'EvaluationState', - 'ConnectionMonitorSourceStatus', - 'PublicIPPrefixSkuName', - 'VirtualNetworkPeeringState', - 'VirtualNetworkGatewayType', - 'VpnType', - 'VpnGatewayGeneration', - 'VirtualNetworkGatewaySkuName', - 'VirtualNetworkGatewaySkuTier', - 'VpnClientProtocol', - 'IpsecEncryption', - 'IpsecIntegrity', - 'IkeEncryption', - 'IkeIntegrity', - 'DhGroup', - 'PfsGroup', - 'BgpPeerState', - 'ProcessorArchitecture', - 'VirtualNetworkGatewayConnectionStatus', - 'VirtualNetworkGatewayConnectionType', - 'VirtualNetworkGatewayConnectionProtocol', - 'OfficeTrafficCategory', - 'VpnGatewayTunnelingProtocol', - 'VpnConnectionStatus', - 'VirtualWanSecurityProviderType', - 'TunnelConnectionStatus', - 'HubVirtualNetworkConnectionStatus', - 'WebApplicationFirewallEnabledState', - 'WebApplicationFirewallMode', - 'WebApplicationFirewallRuleType', - 'WebApplicationFirewallMatchVariable', - 'WebApplicationFirewallOperator', - 'WebApplicationFirewallTransform', - 'WebApplicationFirewallAction', - 'WebApplicationFirewallPolicyResourceState', -] diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/models/_models.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/models/_models.py deleted file mode 100644 index 386ec4de942..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/models/_models.py +++ /dev/null @@ -1,15429 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model -from msrest.exceptions import HttpOperationError - - -class AddressSpace(Model): - """AddressSpace contains an array of IP address ranges that can be used by - subnets of the virtual network. - - :param address_prefixes: A list of address blocks reserved for this - virtual network in CIDR notation. - :type address_prefixes: list[str] - """ - - _attribute_map = { - 'address_prefixes': {'key': 'addressPrefixes', 'type': '[str]'}, - } - - def __init__(self, **kwargs): - super(AddressSpace, self).__init__(**kwargs) - self.address_prefixes = kwargs.get('address_prefixes', None) - - -class Resource(Model): - """Common resource representation. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - } - - def __init__(self, **kwargs): - super(Resource, self).__init__(**kwargs) - self.id = kwargs.get('id', None) - self.name = None - self.type = None - self.location = kwargs.get('location', None) - self.tags = kwargs.get('tags', None) - - -class ApplicationGateway(Resource): - """Application gateway resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param sku: SKU of the application gateway resource. - :type sku: ~azure.mgmt.network.v2019_07_01.models.ApplicationGatewaySku - :param ssl_policy: SSL policy of the application gateway resource. - :type ssl_policy: - ~azure.mgmt.network.v2019_07_01.models.ApplicationGatewaySslPolicy - :ivar operational_state: Operational state of the application gateway - resource. Possible values include: 'Stopped', 'Starting', 'Running', - 'Stopping' - :vartype operational_state: str or - ~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayOperationalState - :param gateway_ip_configurations: Subnets of the application gateway - resource. For default limits, see [Application Gateway - limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). - :type gateway_ip_configurations: - list[~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayIPConfiguration] - :param authentication_certificates: Authentication certificates of the - application gateway resource. For default limits, see [Application Gateway - limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). - :type authentication_certificates: - list[~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayAuthenticationCertificate] - :param trusted_root_certificates: Trusted Root certificates of the - application gateway resource. For default limits, see [Application Gateway - limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). - :type trusted_root_certificates: - list[~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayTrustedRootCertificate] - :param ssl_certificates: SSL certificates of the application gateway - resource. For default limits, see [Application Gateway - limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). - :type ssl_certificates: - list[~azure.mgmt.network.v2019_07_01.models.ApplicationGatewaySslCertificate] - :param frontend_ip_configurations: Frontend IP addresses of the - application gateway resource. For default limits, see [Application Gateway - limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). - :type frontend_ip_configurations: - list[~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayFrontendIPConfiguration] - :param frontend_ports: Frontend ports of the application gateway resource. - For default limits, see [Application Gateway - limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). - :type frontend_ports: - list[~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayFrontendPort] - :param probes: Probes of the application gateway resource. - :type probes: - list[~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayProbe] - :param backend_address_pools: Backend address pool of the application - gateway resource. For default limits, see [Application Gateway - limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). - :type backend_address_pools: - list[~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayBackendAddressPool] - :param backend_http_settings_collection: Backend http settings of the - application gateway resource. For default limits, see [Application Gateway - limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). - :type backend_http_settings_collection: - list[~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayBackendHttpSettings] - :param http_listeners: Http listeners of the application gateway resource. - For default limits, see [Application Gateway - limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). - :type http_listeners: - list[~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayHttpListener] - :param url_path_maps: URL path map of the application gateway resource. - For default limits, see [Application Gateway - limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). - :type url_path_maps: - list[~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayUrlPathMap] - :param request_routing_rules: Request routing rules of the application - gateway resource. - :type request_routing_rules: - list[~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayRequestRoutingRule] - :param rewrite_rule_sets: Rewrite rules for the application gateway - resource. - :type rewrite_rule_sets: - list[~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayRewriteRuleSet] - :param redirect_configurations: Redirect configurations of the application - gateway resource. For default limits, see [Application Gateway - limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). - :type redirect_configurations: - list[~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayRedirectConfiguration] - :param web_application_firewall_configuration: Web application firewall - configuration. - :type web_application_firewall_configuration: - ~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayWebApplicationFirewallConfiguration - :param firewall_policy: Reference of the FirewallPolicy resource. - :type firewall_policy: ~azure.mgmt.network.v2019_07_01.models.SubResource - :param enable_http2: Whether HTTP2 is enabled on the application gateway - resource. - :type enable_http2: bool - :param enable_fips: Whether FIPS is enabled on the application gateway - resource. - :type enable_fips: bool - :param autoscale_configuration: Autoscale Configuration. - :type autoscale_configuration: - ~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayAutoscaleConfiguration - :param resource_guid: The resource GUID property of the application - gateway resource. - :type resource_guid: str - :param provisioning_state: The provisioning state of the application - gateway resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param custom_error_configurations: Custom error configurations of the - application gateway resource. - :type custom_error_configurations: - list[~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayCustomError] - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - :param zones: A list of availability zones denoting where the resource - needs to come from. - :type zones: list[str] - :param identity: The identity of the application gateway, if configured. - :type identity: - ~azure.mgmt.network.v2019_07_01.models.ManagedServiceIdentity - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'operational_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'sku': {'key': 'properties.sku', 'type': 'ApplicationGatewaySku'}, - 'ssl_policy': {'key': 'properties.sslPolicy', 'type': 'ApplicationGatewaySslPolicy'}, - 'operational_state': {'key': 'properties.operationalState', 'type': 'str'}, - 'gateway_ip_configurations': {'key': 'properties.gatewayIPConfigurations', 'type': '[ApplicationGatewayIPConfiguration]'}, - 'authentication_certificates': {'key': 'properties.authenticationCertificates', 'type': '[ApplicationGatewayAuthenticationCertificate]'}, - 'trusted_root_certificates': {'key': 'properties.trustedRootCertificates', 'type': '[ApplicationGatewayTrustedRootCertificate]'}, - 'ssl_certificates': {'key': 'properties.sslCertificates', 'type': '[ApplicationGatewaySslCertificate]'}, - 'frontend_ip_configurations': {'key': 'properties.frontendIPConfigurations', 'type': '[ApplicationGatewayFrontendIPConfiguration]'}, - 'frontend_ports': {'key': 'properties.frontendPorts', 'type': '[ApplicationGatewayFrontendPort]'}, - 'probes': {'key': 'properties.probes', 'type': '[ApplicationGatewayProbe]'}, - 'backend_address_pools': {'key': 'properties.backendAddressPools', 'type': '[ApplicationGatewayBackendAddressPool]'}, - 'backend_http_settings_collection': {'key': 'properties.backendHttpSettingsCollection', 'type': '[ApplicationGatewayBackendHttpSettings]'}, - 'http_listeners': {'key': 'properties.httpListeners', 'type': '[ApplicationGatewayHttpListener]'}, - 'url_path_maps': {'key': 'properties.urlPathMaps', 'type': '[ApplicationGatewayUrlPathMap]'}, - 'request_routing_rules': {'key': 'properties.requestRoutingRules', 'type': '[ApplicationGatewayRequestRoutingRule]'}, - 'rewrite_rule_sets': {'key': 'properties.rewriteRuleSets', 'type': '[ApplicationGatewayRewriteRuleSet]'}, - 'redirect_configurations': {'key': 'properties.redirectConfigurations', 'type': '[ApplicationGatewayRedirectConfiguration]'}, - 'web_application_firewall_configuration': {'key': 'properties.webApplicationFirewallConfiguration', 'type': 'ApplicationGatewayWebApplicationFirewallConfiguration'}, - 'firewall_policy': {'key': 'properties.firewallPolicy', 'type': 'SubResource'}, - 'enable_http2': {'key': 'properties.enableHttp2', 'type': 'bool'}, - 'enable_fips': {'key': 'properties.enableFips', 'type': 'bool'}, - 'autoscale_configuration': {'key': 'properties.autoscaleConfiguration', 'type': 'ApplicationGatewayAutoscaleConfiguration'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'custom_error_configurations': {'key': 'properties.customErrorConfigurations', 'type': '[ApplicationGatewayCustomError]'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'zones': {'key': 'zones', 'type': '[str]'}, - 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, - } - - def __init__(self, **kwargs): - super(ApplicationGateway, self).__init__(**kwargs) - self.sku = kwargs.get('sku', None) - self.ssl_policy = kwargs.get('ssl_policy', None) - self.operational_state = None - self.gateway_ip_configurations = kwargs.get('gateway_ip_configurations', None) - self.authentication_certificates = kwargs.get('authentication_certificates', None) - self.trusted_root_certificates = kwargs.get('trusted_root_certificates', None) - self.ssl_certificates = kwargs.get('ssl_certificates', None) - self.frontend_ip_configurations = kwargs.get('frontend_ip_configurations', None) - self.frontend_ports = kwargs.get('frontend_ports', None) - self.probes = kwargs.get('probes', None) - self.backend_address_pools = kwargs.get('backend_address_pools', None) - self.backend_http_settings_collection = kwargs.get('backend_http_settings_collection', None) - self.http_listeners = kwargs.get('http_listeners', None) - self.url_path_maps = kwargs.get('url_path_maps', None) - self.request_routing_rules = kwargs.get('request_routing_rules', None) - self.rewrite_rule_sets = kwargs.get('rewrite_rule_sets', None) - self.redirect_configurations = kwargs.get('redirect_configurations', None) - self.web_application_firewall_configuration = kwargs.get('web_application_firewall_configuration', None) - self.firewall_policy = kwargs.get('firewall_policy', None) - self.enable_http2 = kwargs.get('enable_http2', None) - self.enable_fips = kwargs.get('enable_fips', None) - self.autoscale_configuration = kwargs.get('autoscale_configuration', None) - self.resource_guid = kwargs.get('resource_guid', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.custom_error_configurations = kwargs.get('custom_error_configurations', None) - self.etag = kwargs.get('etag', None) - self.zones = kwargs.get('zones', None) - self.identity = kwargs.get('identity', None) - - -class SubResource(Model): - """Reference to another subresource. - - :param id: Resource ID. - :type id: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(SubResource, self).__init__(**kwargs) - self.id = kwargs.get('id', None) - - -class ApplicationGatewayAuthenticationCertificate(SubResource): - """Authentication certificates of an application gateway. - - :param id: Resource ID. - :type id: str - :param data: Certificate public data. - :type data: str - :param provisioning_state: The provisioning state of the authentication - certificate resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: Name of the authentication certificate that is unique within - an Application Gateway. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - :param type: Type of the resource. - :type type: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'data': {'key': 'properties.data', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayAuthenticationCertificate, self).__init__(**kwargs) - self.data = kwargs.get('data', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.name = kwargs.get('name', None) - self.etag = kwargs.get('etag', None) - self.type = kwargs.get('type', None) - - -class ApplicationGatewayAutoscaleConfiguration(Model): - """Application Gateway autoscale configuration. - - All required parameters must be populated in order to send to Azure. - - :param min_capacity: Required. Lower bound on number of Application - Gateway capacity. - :type min_capacity: int - :param max_capacity: Upper bound on number of Application Gateway - capacity. - :type max_capacity: int - """ - - _validation = { - 'min_capacity': {'required': True, 'minimum': 0}, - 'max_capacity': {'minimum': 2}, - } - - _attribute_map = { - 'min_capacity': {'key': 'minCapacity', 'type': 'int'}, - 'max_capacity': {'key': 'maxCapacity', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayAutoscaleConfiguration, self).__init__(**kwargs) - self.min_capacity = kwargs.get('min_capacity', None) - self.max_capacity = kwargs.get('max_capacity', None) - - -class ApplicationGatewayAvailableSslOptions(Resource): - """Response for ApplicationGatewayAvailableSslOptions API service call. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param predefined_policies: List of available Ssl predefined policy. - :type predefined_policies: - list[~azure.mgmt.network.v2019_07_01.models.SubResource] - :param default_policy: Name of the Ssl predefined policy applied by - default to application gateway. Possible values include: - 'AppGwSslPolicy20150501', 'AppGwSslPolicy20170401', - 'AppGwSslPolicy20170401S' - :type default_policy: str or - ~azure.mgmt.network.v2019_07_01.models.ApplicationGatewaySslPolicyName - :param available_cipher_suites: List of available Ssl cipher suites. - :type available_cipher_suites: list[str or - ~azure.mgmt.network.v2019_07_01.models.ApplicationGatewaySslCipherSuite] - :param available_protocols: List of available Ssl protocols. - :type available_protocols: list[str or - ~azure.mgmt.network.v2019_07_01.models.ApplicationGatewaySslProtocol] - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'predefined_policies': {'key': 'properties.predefinedPolicies', 'type': '[SubResource]'}, - 'default_policy': {'key': 'properties.defaultPolicy', 'type': 'str'}, - 'available_cipher_suites': {'key': 'properties.availableCipherSuites', 'type': '[str]'}, - 'available_protocols': {'key': 'properties.availableProtocols', 'type': '[str]'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayAvailableSslOptions, self).__init__(**kwargs) - self.predefined_policies = kwargs.get('predefined_policies', None) - self.default_policy = kwargs.get('default_policy', None) - self.available_cipher_suites = kwargs.get('available_cipher_suites', None) - self.available_protocols = kwargs.get('available_protocols', None) - - -class ApplicationGatewayAvailableWafRuleSetsResult(Model): - """Response for ApplicationGatewayAvailableWafRuleSets API service call. - - :param value: The list of application gateway rule sets. - :type value: - list[~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayFirewallRuleSet] - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[ApplicationGatewayFirewallRuleSet]'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayAvailableWafRuleSetsResult, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - - -class ApplicationGatewayBackendAddress(Model): - """Backend address of an application gateway. - - :param fqdn: Fully qualified domain name (FQDN). - :type fqdn: str - :param ip_address: IP address. - :type ip_address: str - """ - - _attribute_map = { - 'fqdn': {'key': 'fqdn', 'type': 'str'}, - 'ip_address': {'key': 'ipAddress', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayBackendAddress, self).__init__(**kwargs) - self.fqdn = kwargs.get('fqdn', None) - self.ip_address = kwargs.get('ip_address', None) - - -class ApplicationGatewayBackendAddressPool(SubResource): - """Backend Address Pool of an application gateway. - - :param id: Resource ID. - :type id: str - :param backend_ip_configurations: Collection of references to IPs defined - in network interfaces. - :type backend_ip_configurations: - list[~azure.mgmt.network.v2019_07_01.models.NetworkInterfaceIPConfiguration] - :param backend_addresses: Backend addresses. - :type backend_addresses: - list[~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayBackendAddress] - :param provisioning_state: The provisioning state of the backend address - pool resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: Name of the backend address pool that is unique within an - Application Gateway. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - :param type: Type of the resource. - :type type: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'backend_ip_configurations': {'key': 'properties.backendIPConfigurations', 'type': '[NetworkInterfaceIPConfiguration]'}, - 'backend_addresses': {'key': 'properties.backendAddresses', 'type': '[ApplicationGatewayBackendAddress]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayBackendAddressPool, self).__init__(**kwargs) - self.backend_ip_configurations = kwargs.get('backend_ip_configurations', None) - self.backend_addresses = kwargs.get('backend_addresses', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.name = kwargs.get('name', None) - self.etag = kwargs.get('etag', None) - self.type = kwargs.get('type', None) - - -class ApplicationGatewayBackendHealth(Model): - """Response for ApplicationGatewayBackendHealth API service call. - - :param backend_address_pools: A list of - ApplicationGatewayBackendHealthPool resources. - :type backend_address_pools: - list[~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayBackendHealthPool] - """ - - _attribute_map = { - 'backend_address_pools': {'key': 'backendAddressPools', 'type': '[ApplicationGatewayBackendHealthPool]'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayBackendHealth, self).__init__(**kwargs) - self.backend_address_pools = kwargs.get('backend_address_pools', None) - - -class ApplicationGatewayBackendHealthHttpSettings(Model): - """Application gateway BackendHealthHttp settings. - - :param backend_http_settings: Reference of an - ApplicationGatewayBackendHttpSettings resource. - :type backend_http_settings: - ~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayBackendHttpSettings - :param servers: List of ApplicationGatewayBackendHealthServer resources. - :type servers: - list[~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayBackendHealthServer] - """ - - _attribute_map = { - 'backend_http_settings': {'key': 'backendHttpSettings', 'type': 'ApplicationGatewayBackendHttpSettings'}, - 'servers': {'key': 'servers', 'type': '[ApplicationGatewayBackendHealthServer]'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayBackendHealthHttpSettings, self).__init__(**kwargs) - self.backend_http_settings = kwargs.get('backend_http_settings', None) - self.servers = kwargs.get('servers', None) - - -class ApplicationGatewayBackendHealthOnDemand(Model): - """Result of on demand test probe. - - :param backend_address_pool: Reference of an - ApplicationGatewayBackendAddressPool resource. - :type backend_address_pool: - ~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayBackendAddressPool - :param backend_health_http_settings: Application gateway BackendHealthHttp - settings. - :type backend_health_http_settings: - ~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayBackendHealthHttpSettings - """ - - _attribute_map = { - 'backend_address_pool': {'key': 'backendAddressPool', 'type': 'ApplicationGatewayBackendAddressPool'}, - 'backend_health_http_settings': {'key': 'backendHealthHttpSettings', 'type': 'ApplicationGatewayBackendHealthHttpSettings'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayBackendHealthOnDemand, self).__init__(**kwargs) - self.backend_address_pool = kwargs.get('backend_address_pool', None) - self.backend_health_http_settings = kwargs.get('backend_health_http_settings', None) - - -class ApplicationGatewayBackendHealthPool(Model): - """Application gateway BackendHealth pool. - - :param backend_address_pool: Reference of an - ApplicationGatewayBackendAddressPool resource. - :type backend_address_pool: - ~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayBackendAddressPool - :param backend_http_settings_collection: List of - ApplicationGatewayBackendHealthHttpSettings resources. - :type backend_http_settings_collection: - list[~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayBackendHealthHttpSettings] - """ - - _attribute_map = { - 'backend_address_pool': {'key': 'backendAddressPool', 'type': 'ApplicationGatewayBackendAddressPool'}, - 'backend_http_settings_collection': {'key': 'backendHttpSettingsCollection', 'type': '[ApplicationGatewayBackendHealthHttpSettings]'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayBackendHealthPool, self).__init__(**kwargs) - self.backend_address_pool = kwargs.get('backend_address_pool', None) - self.backend_http_settings_collection = kwargs.get('backend_http_settings_collection', None) - - -class ApplicationGatewayBackendHealthServer(Model): - """Application gateway backendhealth http settings. - - :param address: IP address or FQDN of backend server. - :type address: str - :param ip_configuration: Reference of IP configuration of backend server. - :type ip_configuration: - ~azure.mgmt.network.v2019_07_01.models.NetworkInterfaceIPConfiguration - :param health: Health of backend server. Possible values include: - 'Unknown', 'Up', 'Down', 'Partial', 'Draining' - :type health: str or - ~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayBackendHealthServerHealth - :param health_probe_log: Health Probe Log. - :type health_probe_log: str - """ - - _attribute_map = { - 'address': {'key': 'address', 'type': 'str'}, - 'ip_configuration': {'key': 'ipConfiguration', 'type': 'NetworkInterfaceIPConfiguration'}, - 'health': {'key': 'health', 'type': 'str'}, - 'health_probe_log': {'key': 'healthProbeLog', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayBackendHealthServer, self).__init__(**kwargs) - self.address = kwargs.get('address', None) - self.ip_configuration = kwargs.get('ip_configuration', None) - self.health = kwargs.get('health', None) - self.health_probe_log = kwargs.get('health_probe_log', None) - - -class ApplicationGatewayBackendHttpSettings(SubResource): - """Backend address pool settings of an application gateway. - - :param id: Resource ID. - :type id: str - :param port: The destination port on the backend. - :type port: int - :param protocol: The protocol used to communicate with the backend. - Possible values include: 'Http', 'Https' - :type protocol: str or - ~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayProtocol - :param cookie_based_affinity: Cookie based affinity. Possible values - include: 'Enabled', 'Disabled' - :type cookie_based_affinity: str or - ~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayCookieBasedAffinity - :param request_timeout: Request timeout in seconds. Application Gateway - will fail the request if response is not received within RequestTimeout. - Acceptable values are from 1 second to 86400 seconds. - :type request_timeout: int - :param probe: Probe resource of an application gateway. - :type probe: ~azure.mgmt.network.v2019_07_01.models.SubResource - :param authentication_certificates: Array of references to application - gateway authentication certificates. - :type authentication_certificates: - list[~azure.mgmt.network.v2019_07_01.models.SubResource] - :param trusted_root_certificates: Array of references to application - gateway trusted root certificates. - :type trusted_root_certificates: - list[~azure.mgmt.network.v2019_07_01.models.SubResource] - :param connection_draining: Connection draining of the backend http - settings resource. - :type connection_draining: - ~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayConnectionDraining - :param host_name: Host header to be sent to the backend servers. - :type host_name: str - :param pick_host_name_from_backend_address: Whether to pick host header - should be picked from the host name of the backend server. Default value - is false. - :type pick_host_name_from_backend_address: bool - :param affinity_cookie_name: Cookie name to use for the affinity cookie. - :type affinity_cookie_name: str - :param probe_enabled: Whether the probe is enabled. Default value is - false. - :type probe_enabled: bool - :param path: Path which should be used as a prefix for all HTTP requests. - Null means no path will be prefixed. Default value is null. - :type path: str - :param provisioning_state: The provisioning state of the backend HTTP - settings resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: Name of the backend http settings that is unique within an - Application Gateway. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - :param type: Type of the resource. - :type type: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'port': {'key': 'properties.port', 'type': 'int'}, - 'protocol': {'key': 'properties.protocol', 'type': 'str'}, - 'cookie_based_affinity': {'key': 'properties.cookieBasedAffinity', 'type': 'str'}, - 'request_timeout': {'key': 'properties.requestTimeout', 'type': 'int'}, - 'probe': {'key': 'properties.probe', 'type': 'SubResource'}, - 'authentication_certificates': {'key': 'properties.authenticationCertificates', 'type': '[SubResource]'}, - 'trusted_root_certificates': {'key': 'properties.trustedRootCertificates', 'type': '[SubResource]'}, - 'connection_draining': {'key': 'properties.connectionDraining', 'type': 'ApplicationGatewayConnectionDraining'}, - 'host_name': {'key': 'properties.hostName', 'type': 'str'}, - 'pick_host_name_from_backend_address': {'key': 'properties.pickHostNameFromBackendAddress', 'type': 'bool'}, - 'affinity_cookie_name': {'key': 'properties.affinityCookieName', 'type': 'str'}, - 'probe_enabled': {'key': 'properties.probeEnabled', 'type': 'bool'}, - 'path': {'key': 'properties.path', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayBackendHttpSettings, self).__init__(**kwargs) - self.port = kwargs.get('port', None) - self.protocol = kwargs.get('protocol', None) - self.cookie_based_affinity = kwargs.get('cookie_based_affinity', None) - self.request_timeout = kwargs.get('request_timeout', None) - self.probe = kwargs.get('probe', None) - self.authentication_certificates = kwargs.get('authentication_certificates', None) - self.trusted_root_certificates = kwargs.get('trusted_root_certificates', None) - self.connection_draining = kwargs.get('connection_draining', None) - self.host_name = kwargs.get('host_name', None) - self.pick_host_name_from_backend_address = kwargs.get('pick_host_name_from_backend_address', None) - self.affinity_cookie_name = kwargs.get('affinity_cookie_name', None) - self.probe_enabled = kwargs.get('probe_enabled', None) - self.path = kwargs.get('path', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.name = kwargs.get('name', None) - self.etag = kwargs.get('etag', None) - self.type = kwargs.get('type', None) - - -class ApplicationGatewayConnectionDraining(Model): - """Connection draining allows open connections to a backend server to be - active for a specified time after the backend server got removed from the - configuration. - - All required parameters must be populated in order to send to Azure. - - :param enabled: Required. Whether connection draining is enabled or not. - :type enabled: bool - :param drain_timeout_in_sec: Required. The number of seconds connection - draining is active. Acceptable values are from 1 second to 3600 seconds. - :type drain_timeout_in_sec: int - """ - - _validation = { - 'enabled': {'required': True}, - 'drain_timeout_in_sec': {'required': True, 'maximum': 3600, 'minimum': 1}, - } - - _attribute_map = { - 'enabled': {'key': 'enabled', 'type': 'bool'}, - 'drain_timeout_in_sec': {'key': 'drainTimeoutInSec', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayConnectionDraining, self).__init__(**kwargs) - self.enabled = kwargs.get('enabled', None) - self.drain_timeout_in_sec = kwargs.get('drain_timeout_in_sec', None) - - -class ApplicationGatewayCustomError(Model): - """Customer error of an application gateway. - - :param status_code: Status code of the application gateway customer error. - Possible values include: 'HttpStatus403', 'HttpStatus502' - :type status_code: str or - ~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayCustomErrorStatusCode - :param custom_error_page_url: Error page URL of the application gateway - customer error. - :type custom_error_page_url: str - """ - - _attribute_map = { - 'status_code': {'key': 'statusCode', 'type': 'str'}, - 'custom_error_page_url': {'key': 'customErrorPageUrl', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayCustomError, self).__init__(**kwargs) - self.status_code = kwargs.get('status_code', None) - self.custom_error_page_url = kwargs.get('custom_error_page_url', None) - - -class ApplicationGatewayFirewallDisabledRuleGroup(Model): - """Allows to disable rules within a rule group or an entire rule group. - - All required parameters must be populated in order to send to Azure. - - :param rule_group_name: Required. The name of the rule group that will be - disabled. - :type rule_group_name: str - :param rules: The list of rules that will be disabled. If null, all rules - of the rule group will be disabled. - :type rules: list[int] - """ - - _validation = { - 'rule_group_name': {'required': True}, - } - - _attribute_map = { - 'rule_group_name': {'key': 'ruleGroupName', 'type': 'str'}, - 'rules': {'key': 'rules', 'type': '[int]'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayFirewallDisabledRuleGroup, self).__init__(**kwargs) - self.rule_group_name = kwargs.get('rule_group_name', None) - self.rules = kwargs.get('rules', None) - - -class ApplicationGatewayFirewallExclusion(Model): - """Allow to exclude some variable satisfy the condition for the WAF check. - - All required parameters must be populated in order to send to Azure. - - :param match_variable: Required. The variable to be excluded. - :type match_variable: str - :param selector_match_operator: Required. When matchVariable is a - collection, operate on the selector to specify which elements in the - collection this exclusion applies to. - :type selector_match_operator: str - :param selector: Required. When matchVariable is a collection, operator - used to specify which elements in the collection this exclusion applies - to. - :type selector: str - """ - - _validation = { - 'match_variable': {'required': True}, - 'selector_match_operator': {'required': True}, - 'selector': {'required': True}, - } - - _attribute_map = { - 'match_variable': {'key': 'matchVariable', 'type': 'str'}, - 'selector_match_operator': {'key': 'selectorMatchOperator', 'type': 'str'}, - 'selector': {'key': 'selector', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayFirewallExclusion, self).__init__(**kwargs) - self.match_variable = kwargs.get('match_variable', None) - self.selector_match_operator = kwargs.get('selector_match_operator', None) - self.selector = kwargs.get('selector', None) - - -class ApplicationGatewayFirewallRule(Model): - """A web application firewall rule. - - All required parameters must be populated in order to send to Azure. - - :param rule_id: Required. The identifier of the web application firewall - rule. - :type rule_id: int - :param description: The description of the web application firewall rule. - :type description: str - """ - - _validation = { - 'rule_id': {'required': True}, - } - - _attribute_map = { - 'rule_id': {'key': 'ruleId', 'type': 'int'}, - 'description': {'key': 'description', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayFirewallRule, self).__init__(**kwargs) - self.rule_id = kwargs.get('rule_id', None) - self.description = kwargs.get('description', None) - - -class ApplicationGatewayFirewallRuleGroup(Model): - """A web application firewall rule group. - - All required parameters must be populated in order to send to Azure. - - :param rule_group_name: Required. The name of the web application firewall - rule group. - :type rule_group_name: str - :param description: The description of the web application firewall rule - group. - :type description: str - :param rules: Required. The rules of the web application firewall rule - group. - :type rules: - list[~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayFirewallRule] - """ - - _validation = { - 'rule_group_name': {'required': True}, - 'rules': {'required': True}, - } - - _attribute_map = { - 'rule_group_name': {'key': 'ruleGroupName', 'type': 'str'}, - 'description': {'key': 'description', 'type': 'str'}, - 'rules': {'key': 'rules', 'type': '[ApplicationGatewayFirewallRule]'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayFirewallRuleGroup, self).__init__(**kwargs) - self.rule_group_name = kwargs.get('rule_group_name', None) - self.description = kwargs.get('description', None) - self.rules = kwargs.get('rules', None) - - -class ApplicationGatewayFirewallRuleSet(Resource): - """A web application firewall rule set. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param provisioning_state: The provisioning state of the web application - firewall rule set. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param rule_set_type: Required. The type of the web application firewall - rule set. - :type rule_set_type: str - :param rule_set_version: Required. The version of the web application - firewall rule set type. - :type rule_set_version: str - :param rule_groups: Required. The rule groups of the web application - firewall rule set. - :type rule_groups: - list[~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayFirewallRuleGroup] - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'rule_set_type': {'required': True}, - 'rule_set_version': {'required': True}, - 'rule_groups': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'rule_set_type': {'key': 'properties.ruleSetType', 'type': 'str'}, - 'rule_set_version': {'key': 'properties.ruleSetVersion', 'type': 'str'}, - 'rule_groups': {'key': 'properties.ruleGroups', 'type': '[ApplicationGatewayFirewallRuleGroup]'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayFirewallRuleSet, self).__init__(**kwargs) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.rule_set_type = kwargs.get('rule_set_type', None) - self.rule_set_version = kwargs.get('rule_set_version', None) - self.rule_groups = kwargs.get('rule_groups', None) - - -class ApplicationGatewayFrontendIPConfiguration(SubResource): - """Frontend IP configuration of an application gateway. - - :param id: Resource ID. - :type id: str - :param private_ip_address: PrivateIPAddress of the network interface IP - Configuration. - :type private_ip_address: str - :param private_ip_allocation_method: The private IP address allocation - method. Possible values include: 'Static', 'Dynamic' - :type private_ip_allocation_method: str or - ~azure.mgmt.network.v2019_07_01.models.IPAllocationMethod - :param subnet: Reference of the subnet resource. - :type subnet: ~azure.mgmt.network.v2019_07_01.models.SubResource - :param public_ip_address: Reference of the PublicIP resource. - :type public_ip_address: - ~azure.mgmt.network.v2019_07_01.models.SubResource - :param provisioning_state: The provisioning state of the frontend IP - configuration resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: Name of the frontend IP configuration that is unique within - an Application Gateway. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - :param type: Type of the resource. - :type type: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, - 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, - 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, - 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'SubResource'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayFrontendIPConfiguration, self).__init__(**kwargs) - self.private_ip_address = kwargs.get('private_ip_address', None) - self.private_ip_allocation_method = kwargs.get('private_ip_allocation_method', None) - self.subnet = kwargs.get('subnet', None) - self.public_ip_address = kwargs.get('public_ip_address', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.name = kwargs.get('name', None) - self.etag = kwargs.get('etag', None) - self.type = kwargs.get('type', None) - - -class ApplicationGatewayFrontendPort(SubResource): - """Frontend port of an application gateway. - - :param id: Resource ID. - :type id: str - :param port: Frontend port. - :type port: int - :param provisioning_state: The provisioning state of the frontend port - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: Name of the frontend port that is unique within an - Application Gateway. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - :param type: Type of the resource. - :type type: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'port': {'key': 'properties.port', 'type': 'int'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayFrontendPort, self).__init__(**kwargs) - self.port = kwargs.get('port', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.name = kwargs.get('name', None) - self.etag = kwargs.get('etag', None) - self.type = kwargs.get('type', None) - - -class ApplicationGatewayHeaderConfiguration(Model): - """Header configuration of the Actions set in Application Gateway. - - :param header_name: Header name of the header configuration. - :type header_name: str - :param header_value: Header value of the header configuration. - :type header_value: str - """ - - _attribute_map = { - 'header_name': {'key': 'headerName', 'type': 'str'}, - 'header_value': {'key': 'headerValue', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayHeaderConfiguration, self).__init__(**kwargs) - self.header_name = kwargs.get('header_name', None) - self.header_value = kwargs.get('header_value', None) - - -class ApplicationGatewayHttpListener(SubResource): - """Http listener of an application gateway. - - :param id: Resource ID. - :type id: str - :param frontend_ip_configuration: Frontend IP configuration resource of an - application gateway. - :type frontend_ip_configuration: - ~azure.mgmt.network.v2019_07_01.models.SubResource - :param frontend_port: Frontend port resource of an application gateway. - :type frontend_port: ~azure.mgmt.network.v2019_07_01.models.SubResource - :param protocol: Protocol of the HTTP listener. Possible values include: - 'Http', 'Https' - :type protocol: str or - ~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayProtocol - :param host_name: Host name of HTTP listener. - :type host_name: str - :param ssl_certificate: SSL certificate resource of an application - gateway. - :type ssl_certificate: ~azure.mgmt.network.v2019_07_01.models.SubResource - :param require_server_name_indication: Applicable only if protocol is - https. Enables SNI for multi-hosting. - :type require_server_name_indication: bool - :param provisioning_state: The provisioning state of the HTTP listener - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param custom_error_configurations: Custom error configurations of the - HTTP listener. - :type custom_error_configurations: - list[~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayCustomError] - :param name: Name of the HTTP listener that is unique within an - Application Gateway. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - :param type: Type of the resource. - :type type: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'frontend_ip_configuration': {'key': 'properties.frontendIPConfiguration', 'type': 'SubResource'}, - 'frontend_port': {'key': 'properties.frontendPort', 'type': 'SubResource'}, - 'protocol': {'key': 'properties.protocol', 'type': 'str'}, - 'host_name': {'key': 'properties.hostName', 'type': 'str'}, - 'ssl_certificate': {'key': 'properties.sslCertificate', 'type': 'SubResource'}, - 'require_server_name_indication': {'key': 'properties.requireServerNameIndication', 'type': 'bool'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'custom_error_configurations': {'key': 'properties.customErrorConfigurations', 'type': '[ApplicationGatewayCustomError]'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayHttpListener, self).__init__(**kwargs) - self.frontend_ip_configuration = kwargs.get('frontend_ip_configuration', None) - self.frontend_port = kwargs.get('frontend_port', None) - self.protocol = kwargs.get('protocol', None) - self.host_name = kwargs.get('host_name', None) - self.ssl_certificate = kwargs.get('ssl_certificate', None) - self.require_server_name_indication = kwargs.get('require_server_name_indication', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.custom_error_configurations = kwargs.get('custom_error_configurations', None) - self.name = kwargs.get('name', None) - self.etag = kwargs.get('etag', None) - self.type = kwargs.get('type', None) - - -class ApplicationGatewayIPConfiguration(SubResource): - """IP configuration of an application gateway. Currently 1 public and 1 - private IP configuration is allowed. - - :param id: Resource ID. - :type id: str - :param subnet: Reference of the subnet resource. A subnet from where - application gateway gets its private address. - :type subnet: ~azure.mgmt.network.v2019_07_01.models.SubResource - :param provisioning_state: The provisioning state of the application - gateway IP configuration resource. Possible values include: 'Succeeded', - 'Updating', 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: Name of the IP configuration that is unique within an - Application Gateway. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - :param type: Type of the resource. - :type type: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayIPConfiguration, self).__init__(**kwargs) - self.subnet = kwargs.get('subnet', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.name = kwargs.get('name', None) - self.etag = kwargs.get('etag', None) - self.type = kwargs.get('type', None) - - -class ApplicationGatewayOnDemandProbe(Model): - """Details of on demand test probe request. - - :param protocol: The protocol used for the probe. Possible values include: - 'Http', 'Https' - :type protocol: str or - ~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayProtocol - :param host: Host name to send the probe to. - :type host: str - :param path: Relative path of probe. Valid path starts from '/'. Probe is - sent to ://:. - :type path: str - :param timeout: The probe timeout in seconds. Probe marked as failed if - valid response is not received with this timeout period. Acceptable values - are from 1 second to 86400 seconds. - :type timeout: int - :param pick_host_name_from_backend_http_settings: Whether the host header - should be picked from the backend http settings. Default value is false. - :type pick_host_name_from_backend_http_settings: bool - :param match: Criterion for classifying a healthy probe response. - :type match: - ~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayProbeHealthResponseMatch - :param backend_address_pool: Reference of backend pool of application - gateway to which probe request will be sent. - :type backend_address_pool: - ~azure.mgmt.network.v2019_07_01.models.SubResource - :param backend_http_settings: Reference of backend http setting of - application gateway to be used for test probe. - :type backend_http_settings: - ~azure.mgmt.network.v2019_07_01.models.SubResource - """ - - _attribute_map = { - 'protocol': {'key': 'protocol', 'type': 'str'}, - 'host': {'key': 'host', 'type': 'str'}, - 'path': {'key': 'path', 'type': 'str'}, - 'timeout': {'key': 'timeout', 'type': 'int'}, - 'pick_host_name_from_backend_http_settings': {'key': 'pickHostNameFromBackendHttpSettings', 'type': 'bool'}, - 'match': {'key': 'match', 'type': 'ApplicationGatewayProbeHealthResponseMatch'}, - 'backend_address_pool': {'key': 'backendAddressPool', 'type': 'SubResource'}, - 'backend_http_settings': {'key': 'backendHttpSettings', 'type': 'SubResource'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayOnDemandProbe, self).__init__(**kwargs) - self.protocol = kwargs.get('protocol', None) - self.host = kwargs.get('host', None) - self.path = kwargs.get('path', None) - self.timeout = kwargs.get('timeout', None) - self.pick_host_name_from_backend_http_settings = kwargs.get('pick_host_name_from_backend_http_settings', None) - self.match = kwargs.get('match', None) - self.backend_address_pool = kwargs.get('backend_address_pool', None) - self.backend_http_settings = kwargs.get('backend_http_settings', None) - - -class ApplicationGatewayPathRule(SubResource): - """Path rule of URL path map of an application gateway. - - :param id: Resource ID. - :type id: str - :param paths: Path rules of URL path map. - :type paths: list[str] - :param backend_address_pool: Backend address pool resource of URL path map - path rule. - :type backend_address_pool: - ~azure.mgmt.network.v2019_07_01.models.SubResource - :param backend_http_settings: Backend http settings resource of URL path - map path rule. - :type backend_http_settings: - ~azure.mgmt.network.v2019_07_01.models.SubResource - :param redirect_configuration: Redirect configuration resource of URL path - map path rule. - :type redirect_configuration: - ~azure.mgmt.network.v2019_07_01.models.SubResource - :param rewrite_rule_set: Rewrite rule set resource of URL path map path - rule. - :type rewrite_rule_set: ~azure.mgmt.network.v2019_07_01.models.SubResource - :param provisioning_state: The provisioning state of the path rule - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: Name of the path rule that is unique within an Application - Gateway. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - :param type: Type of the resource. - :type type: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'paths': {'key': 'properties.paths', 'type': '[str]'}, - 'backend_address_pool': {'key': 'properties.backendAddressPool', 'type': 'SubResource'}, - 'backend_http_settings': {'key': 'properties.backendHttpSettings', 'type': 'SubResource'}, - 'redirect_configuration': {'key': 'properties.redirectConfiguration', 'type': 'SubResource'}, - 'rewrite_rule_set': {'key': 'properties.rewriteRuleSet', 'type': 'SubResource'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayPathRule, self).__init__(**kwargs) - self.paths = kwargs.get('paths', None) - self.backend_address_pool = kwargs.get('backend_address_pool', None) - self.backend_http_settings = kwargs.get('backend_http_settings', None) - self.redirect_configuration = kwargs.get('redirect_configuration', None) - self.rewrite_rule_set = kwargs.get('rewrite_rule_set', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.name = kwargs.get('name', None) - self.etag = kwargs.get('etag', None) - self.type = kwargs.get('type', None) - - -class ApplicationGatewayProbe(SubResource): - """Probe of the application gateway. - - :param id: Resource ID. - :type id: str - :param protocol: The protocol used for the probe. Possible values include: - 'Http', 'Https' - :type protocol: str or - ~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayProtocol - :param host: Host name to send the probe to. - :type host: str - :param path: Relative path of probe. Valid path starts from '/'. Probe is - sent to ://:. - :type path: str - :param interval: The probing interval in seconds. This is the time - interval between two consecutive probes. Acceptable values are from 1 - second to 86400 seconds. - :type interval: int - :param timeout: The probe timeout in seconds. Probe marked as failed if - valid response is not received with this timeout period. Acceptable values - are from 1 second to 86400 seconds. - :type timeout: int - :param unhealthy_threshold: The probe retry count. Backend server is - marked down after consecutive probe failure count reaches - UnhealthyThreshold. Acceptable values are from 1 second to 20. - :type unhealthy_threshold: int - :param pick_host_name_from_backend_http_settings: Whether the host header - should be picked from the backend http settings. Default value is false. - :type pick_host_name_from_backend_http_settings: bool - :param min_servers: Minimum number of servers that are always marked - healthy. Default value is 0. - :type min_servers: int - :param match: Criterion for classifying a healthy probe response. - :type match: - ~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayProbeHealthResponseMatch - :param provisioning_state: The provisioning state of the probe resource. - Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param port: Custom port which will be used for probing the backend - servers. The valid value ranges from 1 to 65535. In case not set, port - from http settings will be used. This property is valid for Standard_v2 - and WAF_v2 only. - :type port: int - :param name: Name of the probe that is unique within an Application - Gateway. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - :param type: Type of the resource. - :type type: str - """ - - _validation = { - 'port': {'maximum': 65535, 'minimum': 1}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'protocol': {'key': 'properties.protocol', 'type': 'str'}, - 'host': {'key': 'properties.host', 'type': 'str'}, - 'path': {'key': 'properties.path', 'type': 'str'}, - 'interval': {'key': 'properties.interval', 'type': 'int'}, - 'timeout': {'key': 'properties.timeout', 'type': 'int'}, - 'unhealthy_threshold': {'key': 'properties.unhealthyThreshold', 'type': 'int'}, - 'pick_host_name_from_backend_http_settings': {'key': 'properties.pickHostNameFromBackendHttpSettings', 'type': 'bool'}, - 'min_servers': {'key': 'properties.minServers', 'type': 'int'}, - 'match': {'key': 'properties.match', 'type': 'ApplicationGatewayProbeHealthResponseMatch'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'port': {'key': 'properties.port', 'type': 'int'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayProbe, self).__init__(**kwargs) - self.protocol = kwargs.get('protocol', None) - self.host = kwargs.get('host', None) - self.path = kwargs.get('path', None) - self.interval = kwargs.get('interval', None) - self.timeout = kwargs.get('timeout', None) - self.unhealthy_threshold = kwargs.get('unhealthy_threshold', None) - self.pick_host_name_from_backend_http_settings = kwargs.get('pick_host_name_from_backend_http_settings', None) - self.min_servers = kwargs.get('min_servers', None) - self.match = kwargs.get('match', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.port = kwargs.get('port', None) - self.name = kwargs.get('name', None) - self.etag = kwargs.get('etag', None) - self.type = kwargs.get('type', None) - - -class ApplicationGatewayProbeHealthResponseMatch(Model): - """Application gateway probe health response match. - - :param body: Body that must be contained in the health response. Default - value is empty. - :type body: str - :param status_codes: Allowed ranges of healthy status codes. Default range - of healthy status codes is 200-399. - :type status_codes: list[str] - """ - - _attribute_map = { - 'body': {'key': 'body', 'type': 'str'}, - 'status_codes': {'key': 'statusCodes', 'type': '[str]'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayProbeHealthResponseMatch, self).__init__(**kwargs) - self.body = kwargs.get('body', None) - self.status_codes = kwargs.get('status_codes', None) - - -class ApplicationGatewayRedirectConfiguration(SubResource): - """Redirect configuration of an application gateway. - - :param id: Resource ID. - :type id: str - :param redirect_type: HTTP redirection type. Possible values include: - 'Permanent', 'Found', 'SeeOther', 'Temporary' - :type redirect_type: str or - ~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayRedirectType - :param target_listener: Reference to a listener to redirect the request - to. - :type target_listener: ~azure.mgmt.network.v2019_07_01.models.SubResource - :param target_url: Url to redirect the request to. - :type target_url: str - :param include_path: Include path in the redirected url. - :type include_path: bool - :param include_query_string: Include query string in the redirected url. - :type include_query_string: bool - :param request_routing_rules: Request routing specifying redirect - configuration. - :type request_routing_rules: - list[~azure.mgmt.network.v2019_07_01.models.SubResource] - :param url_path_maps: Url path maps specifying default redirect - configuration. - :type url_path_maps: - list[~azure.mgmt.network.v2019_07_01.models.SubResource] - :param path_rules: Path rules specifying redirect configuration. - :type path_rules: list[~azure.mgmt.network.v2019_07_01.models.SubResource] - :param name: Name of the redirect configuration that is unique within an - Application Gateway. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - :param type: Type of the resource. - :type type: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'redirect_type': {'key': 'properties.redirectType', 'type': 'str'}, - 'target_listener': {'key': 'properties.targetListener', 'type': 'SubResource'}, - 'target_url': {'key': 'properties.targetUrl', 'type': 'str'}, - 'include_path': {'key': 'properties.includePath', 'type': 'bool'}, - 'include_query_string': {'key': 'properties.includeQueryString', 'type': 'bool'}, - 'request_routing_rules': {'key': 'properties.requestRoutingRules', 'type': '[SubResource]'}, - 'url_path_maps': {'key': 'properties.urlPathMaps', 'type': '[SubResource]'}, - 'path_rules': {'key': 'properties.pathRules', 'type': '[SubResource]'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayRedirectConfiguration, self).__init__(**kwargs) - self.redirect_type = kwargs.get('redirect_type', None) - self.target_listener = kwargs.get('target_listener', None) - self.target_url = kwargs.get('target_url', None) - self.include_path = kwargs.get('include_path', None) - self.include_query_string = kwargs.get('include_query_string', None) - self.request_routing_rules = kwargs.get('request_routing_rules', None) - self.url_path_maps = kwargs.get('url_path_maps', None) - self.path_rules = kwargs.get('path_rules', None) - self.name = kwargs.get('name', None) - self.etag = kwargs.get('etag', None) - self.type = kwargs.get('type', None) - - -class ApplicationGatewayRequestRoutingRule(SubResource): - """Request routing rule of an application gateway. - - :param id: Resource ID. - :type id: str - :param rule_type: Rule type. Possible values include: 'Basic', - 'PathBasedRouting' - :type rule_type: str or - ~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayRequestRoutingRuleType - :param priority: Priority of the request routing rule. - :type priority: int - :param backend_address_pool: Backend address pool resource of the - application gateway. - :type backend_address_pool: - ~azure.mgmt.network.v2019_07_01.models.SubResource - :param backend_http_settings: Backend http settings resource of the - application gateway. - :type backend_http_settings: - ~azure.mgmt.network.v2019_07_01.models.SubResource - :param http_listener: Http listener resource of the application gateway. - :type http_listener: ~azure.mgmt.network.v2019_07_01.models.SubResource - :param url_path_map: URL path map resource of the application gateway. - :type url_path_map: ~azure.mgmt.network.v2019_07_01.models.SubResource - :param rewrite_rule_set: Rewrite Rule Set resource in Basic rule of the - application gateway. - :type rewrite_rule_set: ~azure.mgmt.network.v2019_07_01.models.SubResource - :param redirect_configuration: Redirect configuration resource of the - application gateway. - :type redirect_configuration: - ~azure.mgmt.network.v2019_07_01.models.SubResource - :param provisioning_state: The provisioning state of the request routing - rule resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: Name of the request routing rule that is unique within an - Application Gateway. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - :param type: Type of the resource. - :type type: str - """ - - _validation = { - 'priority': {'maximum': 20000, 'minimum': 1}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'rule_type': {'key': 'properties.ruleType', 'type': 'str'}, - 'priority': {'key': 'properties.priority', 'type': 'int'}, - 'backend_address_pool': {'key': 'properties.backendAddressPool', 'type': 'SubResource'}, - 'backend_http_settings': {'key': 'properties.backendHttpSettings', 'type': 'SubResource'}, - 'http_listener': {'key': 'properties.httpListener', 'type': 'SubResource'}, - 'url_path_map': {'key': 'properties.urlPathMap', 'type': 'SubResource'}, - 'rewrite_rule_set': {'key': 'properties.rewriteRuleSet', 'type': 'SubResource'}, - 'redirect_configuration': {'key': 'properties.redirectConfiguration', 'type': 'SubResource'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayRequestRoutingRule, self).__init__(**kwargs) - self.rule_type = kwargs.get('rule_type', None) - self.priority = kwargs.get('priority', None) - self.backend_address_pool = kwargs.get('backend_address_pool', None) - self.backend_http_settings = kwargs.get('backend_http_settings', None) - self.http_listener = kwargs.get('http_listener', None) - self.url_path_map = kwargs.get('url_path_map', None) - self.rewrite_rule_set = kwargs.get('rewrite_rule_set', None) - self.redirect_configuration = kwargs.get('redirect_configuration', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.name = kwargs.get('name', None) - self.etag = kwargs.get('etag', None) - self.type = kwargs.get('type', None) - - -class ApplicationGatewayRewriteRule(Model): - """Rewrite rule of an application gateway. - - :param name: Name of the rewrite rule that is unique within an Application - Gateway. - :type name: str - :param rule_sequence: Rule Sequence of the rewrite rule that determines - the order of execution of a particular rule in a RewriteRuleSet. - :type rule_sequence: int - :param conditions: Conditions based on which the action set execution will - be evaluated. - :type conditions: - list[~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayRewriteRuleCondition] - :param action_set: Set of actions to be done as part of the rewrite Rule. - :type action_set: - ~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayRewriteRuleActionSet - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'rule_sequence': {'key': 'ruleSequence', 'type': 'int'}, - 'conditions': {'key': 'conditions', 'type': '[ApplicationGatewayRewriteRuleCondition]'}, - 'action_set': {'key': 'actionSet', 'type': 'ApplicationGatewayRewriteRuleActionSet'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayRewriteRule, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.rule_sequence = kwargs.get('rule_sequence', None) - self.conditions = kwargs.get('conditions', None) - self.action_set = kwargs.get('action_set', None) - - -class ApplicationGatewayRewriteRuleActionSet(Model): - """Set of actions in the Rewrite Rule in Application Gateway. - - :param request_header_configurations: Request Header Actions in the Action - Set. - :type request_header_configurations: - list[~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayHeaderConfiguration] - :param response_header_configurations: Response Header Actions in the - Action Set. - :type response_header_configurations: - list[~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayHeaderConfiguration] - """ - - _attribute_map = { - 'request_header_configurations': {'key': 'requestHeaderConfigurations', 'type': '[ApplicationGatewayHeaderConfiguration]'}, - 'response_header_configurations': {'key': 'responseHeaderConfigurations', 'type': '[ApplicationGatewayHeaderConfiguration]'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayRewriteRuleActionSet, self).__init__(**kwargs) - self.request_header_configurations = kwargs.get('request_header_configurations', None) - self.response_header_configurations = kwargs.get('response_header_configurations', None) - - -class ApplicationGatewayRewriteRuleCondition(Model): - """Set of conditions in the Rewrite Rule in Application Gateway. - - :param variable: The condition parameter of the RewriteRuleCondition. - :type variable: str - :param pattern: The pattern, either fixed string or regular expression, - that evaluates the truthfulness of the condition. - :type pattern: str - :param ignore_case: Setting this paramter to truth value with force the - pattern to do a case in-sensitive comparison. - :type ignore_case: bool - :param negate: Setting this value as truth will force to check the - negation of the condition given by the user. - :type negate: bool - """ - - _attribute_map = { - 'variable': {'key': 'variable', 'type': 'str'}, - 'pattern': {'key': 'pattern', 'type': 'str'}, - 'ignore_case': {'key': 'ignoreCase', 'type': 'bool'}, - 'negate': {'key': 'negate', 'type': 'bool'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayRewriteRuleCondition, self).__init__(**kwargs) - self.variable = kwargs.get('variable', None) - self.pattern = kwargs.get('pattern', None) - self.ignore_case = kwargs.get('ignore_case', None) - self.negate = kwargs.get('negate', None) - - -class ApplicationGatewayRewriteRuleSet(SubResource): - """Rewrite rule set of an application gateway. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param rewrite_rules: Rewrite rules in the rewrite rule set. - :type rewrite_rules: - list[~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayRewriteRule] - :ivar provisioning_state: The provisioning state of the rewrite rule set - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: Name of the rewrite rule set that is unique within an - Application Gateway. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'rewrite_rules': {'key': 'properties.rewriteRules', 'type': '[ApplicationGatewayRewriteRule]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayRewriteRuleSet, self).__init__(**kwargs) - self.rewrite_rules = kwargs.get('rewrite_rules', None) - self.provisioning_state = None - self.name = kwargs.get('name', None) - self.etag = None - - -class ApplicationGatewaySku(Model): - """SKU of an application gateway. - - :param name: Name of an application gateway SKU. Possible values include: - 'Standard_Small', 'Standard_Medium', 'Standard_Large', 'WAF_Medium', - 'WAF_Large', 'Standard_v2', 'WAF_v2' - :type name: str or - ~azure.mgmt.network.v2019_07_01.models.ApplicationGatewaySkuName - :param tier: Tier of an application gateway. Possible values include: - 'Standard', 'WAF', 'Standard_v2', 'WAF_v2' - :type tier: str or - ~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayTier - :param capacity: Capacity (instance count) of an application gateway. - :type capacity: int - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'tier': {'key': 'tier', 'type': 'str'}, - 'capacity': {'key': 'capacity', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewaySku, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.tier = kwargs.get('tier', None) - self.capacity = kwargs.get('capacity', None) - - -class ApplicationGatewaySslCertificate(SubResource): - """SSL certificates of an application gateway. - - :param id: Resource ID. - :type id: str - :param data: Base-64 encoded pfx certificate. Only applicable in PUT - Request. - :type data: str - :param password: Password for the pfx file specified in data. Only - applicable in PUT request. - :type password: str - :param public_cert_data: Base-64 encoded Public cert data corresponding to - pfx specified in data. Only applicable in GET request. - :type public_cert_data: str - :param key_vault_secret_id: Secret Id of (base-64 encoded unencrypted pfx) - 'Secret' or 'Certificate' object stored in KeyVault. - :type key_vault_secret_id: str - :param provisioning_state: The provisioning state of the SSL certificate - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: Name of the SSL certificate that is unique within an - Application Gateway. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - :param type: Type of the resource. - :type type: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'data': {'key': 'properties.data', 'type': 'str'}, - 'password': {'key': 'properties.password', 'type': 'str'}, - 'public_cert_data': {'key': 'properties.publicCertData', 'type': 'str'}, - 'key_vault_secret_id': {'key': 'properties.keyVaultSecretId', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewaySslCertificate, self).__init__(**kwargs) - self.data = kwargs.get('data', None) - self.password = kwargs.get('password', None) - self.public_cert_data = kwargs.get('public_cert_data', None) - self.key_vault_secret_id = kwargs.get('key_vault_secret_id', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.name = kwargs.get('name', None) - self.etag = kwargs.get('etag', None) - self.type = kwargs.get('type', None) - - -class ApplicationGatewaySslPolicy(Model): - """Application Gateway Ssl policy. - - :param disabled_ssl_protocols: Ssl protocols to be disabled on application - gateway. - :type disabled_ssl_protocols: list[str or - ~azure.mgmt.network.v2019_07_01.models.ApplicationGatewaySslProtocol] - :param policy_type: Type of Ssl Policy. Possible values include: - 'Predefined', 'Custom' - :type policy_type: str or - ~azure.mgmt.network.v2019_07_01.models.ApplicationGatewaySslPolicyType - :param policy_name: Name of Ssl predefined policy. Possible values - include: 'AppGwSslPolicy20150501', 'AppGwSslPolicy20170401', - 'AppGwSslPolicy20170401S' - :type policy_name: str or - ~azure.mgmt.network.v2019_07_01.models.ApplicationGatewaySslPolicyName - :param cipher_suites: Ssl cipher suites to be enabled in the specified - order to application gateway. - :type cipher_suites: list[str or - ~azure.mgmt.network.v2019_07_01.models.ApplicationGatewaySslCipherSuite] - :param min_protocol_version: Minimum version of Ssl protocol to be - supported on application gateway. Possible values include: 'TLSv1_0', - 'TLSv1_1', 'TLSv1_2' - :type min_protocol_version: str or - ~azure.mgmt.network.v2019_07_01.models.ApplicationGatewaySslProtocol - """ - - _attribute_map = { - 'disabled_ssl_protocols': {'key': 'disabledSslProtocols', 'type': '[str]'}, - 'policy_type': {'key': 'policyType', 'type': 'str'}, - 'policy_name': {'key': 'policyName', 'type': 'str'}, - 'cipher_suites': {'key': 'cipherSuites', 'type': '[str]'}, - 'min_protocol_version': {'key': 'minProtocolVersion', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewaySslPolicy, self).__init__(**kwargs) - self.disabled_ssl_protocols = kwargs.get('disabled_ssl_protocols', None) - self.policy_type = kwargs.get('policy_type', None) - self.policy_name = kwargs.get('policy_name', None) - self.cipher_suites = kwargs.get('cipher_suites', None) - self.min_protocol_version = kwargs.get('min_protocol_version', None) - - -class ApplicationGatewaySslPredefinedPolicy(SubResource): - """An Ssl predefined policy. - - :param id: Resource ID. - :type id: str - :param name: Name of the Ssl predefined policy. - :type name: str - :param cipher_suites: Ssl cipher suites to be enabled in the specified - order for application gateway. - :type cipher_suites: list[str or - ~azure.mgmt.network.v2019_07_01.models.ApplicationGatewaySslCipherSuite] - :param min_protocol_version: Minimum version of Ssl protocol to be - supported on application gateway. Possible values include: 'TLSv1_0', - 'TLSv1_1', 'TLSv1_2' - :type min_protocol_version: str or - ~azure.mgmt.network.v2019_07_01.models.ApplicationGatewaySslProtocol - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'cipher_suites': {'key': 'properties.cipherSuites', 'type': '[str]'}, - 'min_protocol_version': {'key': 'properties.minProtocolVersion', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewaySslPredefinedPolicy, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.cipher_suites = kwargs.get('cipher_suites', None) - self.min_protocol_version = kwargs.get('min_protocol_version', None) - - -class ApplicationGatewayTrustedRootCertificate(SubResource): - """Trusted Root certificates of an application gateway. - - :param id: Resource ID. - :type id: str - :param data: Certificate public data. - :type data: str - :param key_vault_secret_id: Secret Id of (base-64 encoded unencrypted pfx) - 'Secret' or 'Certificate' object stored in KeyVault. - :type key_vault_secret_id: str - :param provisioning_state: The provisioning state of the trusted root - certificate resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: Name of the trusted root certificate that is unique within an - Application Gateway. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - :param type: Type of the resource. - :type type: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'data': {'key': 'properties.data', 'type': 'str'}, - 'key_vault_secret_id': {'key': 'properties.keyVaultSecretId', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayTrustedRootCertificate, self).__init__(**kwargs) - self.data = kwargs.get('data', None) - self.key_vault_secret_id = kwargs.get('key_vault_secret_id', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.name = kwargs.get('name', None) - self.etag = kwargs.get('etag', None) - self.type = kwargs.get('type', None) - - -class ApplicationGatewayUrlPathMap(SubResource): - """UrlPathMaps give a url path to the backend mapping information for - PathBasedRouting. - - :param id: Resource ID. - :type id: str - :param default_backend_address_pool: Default backend address pool resource - of URL path map. - :type default_backend_address_pool: - ~azure.mgmt.network.v2019_07_01.models.SubResource - :param default_backend_http_settings: Default backend http settings - resource of URL path map. - :type default_backend_http_settings: - ~azure.mgmt.network.v2019_07_01.models.SubResource - :param default_rewrite_rule_set: Default Rewrite rule set resource of URL - path map. - :type default_rewrite_rule_set: - ~azure.mgmt.network.v2019_07_01.models.SubResource - :param default_redirect_configuration: Default redirect configuration - resource of URL path map. - :type default_redirect_configuration: - ~azure.mgmt.network.v2019_07_01.models.SubResource - :param path_rules: Path rule of URL path map resource. - :type path_rules: - list[~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayPathRule] - :param provisioning_state: The provisioning state of the URL path map - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: Name of the URL path map that is unique within an Application - Gateway. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - :param type: Type of the resource. - :type type: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'default_backend_address_pool': {'key': 'properties.defaultBackendAddressPool', 'type': 'SubResource'}, - 'default_backend_http_settings': {'key': 'properties.defaultBackendHttpSettings', 'type': 'SubResource'}, - 'default_rewrite_rule_set': {'key': 'properties.defaultRewriteRuleSet', 'type': 'SubResource'}, - 'default_redirect_configuration': {'key': 'properties.defaultRedirectConfiguration', 'type': 'SubResource'}, - 'path_rules': {'key': 'properties.pathRules', 'type': '[ApplicationGatewayPathRule]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayUrlPathMap, self).__init__(**kwargs) - self.default_backend_address_pool = kwargs.get('default_backend_address_pool', None) - self.default_backend_http_settings = kwargs.get('default_backend_http_settings', None) - self.default_rewrite_rule_set = kwargs.get('default_rewrite_rule_set', None) - self.default_redirect_configuration = kwargs.get('default_redirect_configuration', None) - self.path_rules = kwargs.get('path_rules', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.name = kwargs.get('name', None) - self.etag = kwargs.get('etag', None) - self.type = kwargs.get('type', None) - - -class ApplicationGatewayWebApplicationFirewallConfiguration(Model): - """Application gateway web application firewall configuration. - - All required parameters must be populated in order to send to Azure. - - :param enabled: Required. Whether the web application firewall is enabled - or not. - :type enabled: bool - :param firewall_mode: Required. Web application firewall mode. Possible - values include: 'Detection', 'Prevention' - :type firewall_mode: str or - ~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayFirewallMode - :param rule_set_type: Required. The type of the web application firewall - rule set. Possible values are: 'OWASP'. - :type rule_set_type: str - :param rule_set_version: Required. The version of the rule set type. - :type rule_set_version: str - :param disabled_rule_groups: The disabled rule groups. - :type disabled_rule_groups: - list[~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayFirewallDisabledRuleGroup] - :param request_body_check: Whether allow WAF to check request Body. - :type request_body_check: bool - :param max_request_body_size: Maximum request body size for WAF. - :type max_request_body_size: int - :param max_request_body_size_in_kb: Maximum request body size in Kb for - WAF. - :type max_request_body_size_in_kb: int - :param file_upload_limit_in_mb: Maximum file upload size in Mb for WAF. - :type file_upload_limit_in_mb: int - :param exclusions: The exclusion list. - :type exclusions: - list[~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayFirewallExclusion] - """ - - _validation = { - 'enabled': {'required': True}, - 'firewall_mode': {'required': True}, - 'rule_set_type': {'required': True}, - 'rule_set_version': {'required': True}, - 'max_request_body_size': {'maximum': 128, 'minimum': 8}, - 'max_request_body_size_in_kb': {'maximum': 128, 'minimum': 8}, - 'file_upload_limit_in_mb': {'minimum': 0}, - } - - _attribute_map = { - 'enabled': {'key': 'enabled', 'type': 'bool'}, - 'firewall_mode': {'key': 'firewallMode', 'type': 'str'}, - 'rule_set_type': {'key': 'ruleSetType', 'type': 'str'}, - 'rule_set_version': {'key': 'ruleSetVersion', 'type': 'str'}, - 'disabled_rule_groups': {'key': 'disabledRuleGroups', 'type': '[ApplicationGatewayFirewallDisabledRuleGroup]'}, - 'request_body_check': {'key': 'requestBodyCheck', 'type': 'bool'}, - 'max_request_body_size': {'key': 'maxRequestBodySize', 'type': 'int'}, - 'max_request_body_size_in_kb': {'key': 'maxRequestBodySizeInKb', 'type': 'int'}, - 'file_upload_limit_in_mb': {'key': 'fileUploadLimitInMb', 'type': 'int'}, - 'exclusions': {'key': 'exclusions', 'type': '[ApplicationGatewayFirewallExclusion]'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayWebApplicationFirewallConfiguration, self).__init__(**kwargs) - self.enabled = kwargs.get('enabled', None) - self.firewall_mode = kwargs.get('firewall_mode', None) - self.rule_set_type = kwargs.get('rule_set_type', None) - self.rule_set_version = kwargs.get('rule_set_version', None) - self.disabled_rule_groups = kwargs.get('disabled_rule_groups', None) - self.request_body_check = kwargs.get('request_body_check', None) - self.max_request_body_size = kwargs.get('max_request_body_size', None) - self.max_request_body_size_in_kb = kwargs.get('max_request_body_size_in_kb', None) - self.file_upload_limit_in_mb = kwargs.get('file_upload_limit_in_mb', None) - self.exclusions = kwargs.get('exclusions', None) - - -class FirewallPolicyRuleCondition(Model): - """Properties of a rule. - - You probably want to use the sub-classes and not this class directly. Known - sub-classes are: ApplicationRuleCondition, NetworkRuleCondition - - All required parameters must be populated in order to send to Azure. - - :param name: Name of the rule condition. - :type name: str - :param description: Description of the rule condition. - :type description: str - :param rule_condition_type: Required. Constant filled by server. - :type rule_condition_type: str - """ - - _validation = { - 'rule_condition_type': {'required': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'description': {'key': 'description', 'type': 'str'}, - 'rule_condition_type': {'key': 'ruleConditionType', 'type': 'str'}, - } - - _subtype_map = { - 'rule_condition_type': {'ApplicationRuleCondition': 'ApplicationRuleCondition', 'NetworkRuleCondition': 'NetworkRuleCondition'} - } - - def __init__(self, **kwargs): - super(FirewallPolicyRuleCondition, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.description = kwargs.get('description', None) - self.rule_condition_type = None - - -class ApplicationRuleCondition(FirewallPolicyRuleCondition): - """Rule condition of type application. - - All required parameters must be populated in order to send to Azure. - - :param name: Name of the rule condition. - :type name: str - :param description: Description of the rule condition. - :type description: str - :param rule_condition_type: Required. Constant filled by server. - :type rule_condition_type: str - :param source_addresses: List of source IP addresses for this rule. - :type source_addresses: list[str] - :param destination_addresses: List of destination IP addresses or Service - Tags. - :type destination_addresses: list[str] - :param protocols: Array of Application Protocols. - :type protocols: - list[~azure.mgmt.network.v2019_07_01.models.FirewallPolicyRuleConditionApplicationProtocol] - :param target_fqdns: List of FQDNs for this rule condition. - :type target_fqdns: list[str] - :param fqdn_tags: List of FQDN Tags for this rule condition. - :type fqdn_tags: list[str] - """ - - _validation = { - 'rule_condition_type': {'required': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'description': {'key': 'description', 'type': 'str'}, - 'rule_condition_type': {'key': 'ruleConditionType', 'type': 'str'}, - 'source_addresses': {'key': 'sourceAddresses', 'type': '[str]'}, - 'destination_addresses': {'key': 'destinationAddresses', 'type': '[str]'}, - 'protocols': {'key': 'protocols', 'type': '[FirewallPolicyRuleConditionApplicationProtocol]'}, - 'target_fqdns': {'key': 'targetFqdns', 'type': '[str]'}, - 'fqdn_tags': {'key': 'fqdnTags', 'type': '[str]'}, - } - - def __init__(self, **kwargs): - super(ApplicationRuleCondition, self).__init__(**kwargs) - self.source_addresses = kwargs.get('source_addresses', None) - self.destination_addresses = kwargs.get('destination_addresses', None) - self.protocols = kwargs.get('protocols', None) - self.target_fqdns = kwargs.get('target_fqdns', None) - self.fqdn_tags = kwargs.get('fqdn_tags', None) - self.rule_condition_type = 'ApplicationRuleCondition' - - -class ApplicationSecurityGroup(Resource): - """An application security group in a resource group. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :ivar resource_guid: The resource GUID property of the application - security group resource. It uniquely identifies a resource, even if the - user changes its name or migrate the resource across subscriptions or - resource groups. - :vartype resource_guid: str - :ivar provisioning_state: The provisioning state of the application - security group resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'resource_guid': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ApplicationSecurityGroup, self).__init__(**kwargs) - self.resource_guid = None - self.provisioning_state = None - self.etag = None - - -class AutoApprovedPrivateLinkService(Model): - """The information of an AutoApprovedPrivateLinkService. - - :param private_link_service: The id of the private link service resource. - :type private_link_service: str - """ - - _attribute_map = { - 'private_link_service': {'key': 'privateLinkService', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(AutoApprovedPrivateLinkService, self).__init__(**kwargs) - self.private_link_service = kwargs.get('private_link_service', None) - - -class Availability(Model): - """Availability of the metric. - - :param time_grain: The time grain of the availability. - :type time_grain: str - :param retention: The retention of the availability. - :type retention: str - :param blob_duration: Duration of the availability blob. - :type blob_duration: str - """ - - _attribute_map = { - 'time_grain': {'key': 'timeGrain', 'type': 'str'}, - 'retention': {'key': 'retention', 'type': 'str'}, - 'blob_duration': {'key': 'blobDuration', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(Availability, self).__init__(**kwargs) - self.time_grain = kwargs.get('time_grain', None) - self.retention = kwargs.get('retention', None) - self.blob_duration = kwargs.get('blob_duration', None) - - -class AvailableDelegation(Model): - """The serviceName of an AvailableDelegation indicates a possible delegation - for a subnet. - - :param name: The name of the AvailableDelegation resource. - :type name: str - :param id: A unique identifier of the AvailableDelegation resource. - :type id: str - :param type: Resource type. - :type type: str - :param service_name: The name of the service and resource. - :type service_name: str - :param actions: Describes the actions permitted to the service upon - delegation. - :type actions: list[str] - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'id': {'key': 'id', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'service_name': {'key': 'serviceName', 'type': 'str'}, - 'actions': {'key': 'actions', 'type': '[str]'}, - } - - def __init__(self, **kwargs): - super(AvailableDelegation, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.id = kwargs.get('id', None) - self.type = kwargs.get('type', None) - self.service_name = kwargs.get('service_name', None) - self.actions = kwargs.get('actions', None) - - -class AvailablePrivateEndpointType(Model): - """The information of an AvailablePrivateEndpointType. - - :param name: The name of the service and resource. - :type name: str - :param id: A unique identifier of the AvailablePrivateEndpoint Type - resource. - :type id: str - :param type: Resource type. - :type type: str - :param resource_name: The name of the service and resource. - :type resource_name: str - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'id': {'key': 'id', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'resource_name': {'key': 'resourceName', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(AvailablePrivateEndpointType, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.id = kwargs.get('id', None) - self.type = kwargs.get('type', None) - self.resource_name = kwargs.get('resource_name', None) - - -class AvailableProvidersList(Model): - """List of available countries with details. - - All required parameters must be populated in order to send to Azure. - - :param countries: Required. List of available countries. - :type countries: - list[~azure.mgmt.network.v2019_07_01.models.AvailableProvidersListCountry] - """ - - _validation = { - 'countries': {'required': True}, - } - - _attribute_map = { - 'countries': {'key': 'countries', 'type': '[AvailableProvidersListCountry]'}, - } - - def __init__(self, **kwargs): - super(AvailableProvidersList, self).__init__(**kwargs) - self.countries = kwargs.get('countries', None) - - -class AvailableProvidersListCity(Model): - """City or town details. - - :param city_name: The city or town name. - :type city_name: str - :param providers: A list of Internet service providers. - :type providers: list[str] - """ - - _attribute_map = { - 'city_name': {'key': 'cityName', 'type': 'str'}, - 'providers': {'key': 'providers', 'type': '[str]'}, - } - - def __init__(self, **kwargs): - super(AvailableProvidersListCity, self).__init__(**kwargs) - self.city_name = kwargs.get('city_name', None) - self.providers = kwargs.get('providers', None) - - -class AvailableProvidersListCountry(Model): - """Country details. - - :param country_name: The country name. - :type country_name: str - :param providers: A list of Internet service providers. - :type providers: list[str] - :param states: List of available states in the country. - :type states: - list[~azure.mgmt.network.v2019_07_01.models.AvailableProvidersListState] - """ - - _attribute_map = { - 'country_name': {'key': 'countryName', 'type': 'str'}, - 'providers': {'key': 'providers', 'type': '[str]'}, - 'states': {'key': 'states', 'type': '[AvailableProvidersListState]'}, - } - - def __init__(self, **kwargs): - super(AvailableProvidersListCountry, self).__init__(**kwargs) - self.country_name = kwargs.get('country_name', None) - self.providers = kwargs.get('providers', None) - self.states = kwargs.get('states', None) - - -class AvailableProvidersListParameters(Model): - """Constraints that determine the list of available Internet service - providers. - - :param azure_locations: A list of Azure regions. - :type azure_locations: list[str] - :param country: The country for available providers list. - :type country: str - :param state: The state for available providers list. - :type state: str - :param city: The city or town for available providers list. - :type city: str - """ - - _attribute_map = { - 'azure_locations': {'key': 'azureLocations', 'type': '[str]'}, - 'country': {'key': 'country', 'type': 'str'}, - 'state': {'key': 'state', 'type': 'str'}, - 'city': {'key': 'city', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(AvailableProvidersListParameters, self).__init__(**kwargs) - self.azure_locations = kwargs.get('azure_locations', None) - self.country = kwargs.get('country', None) - self.state = kwargs.get('state', None) - self.city = kwargs.get('city', None) - - -class AvailableProvidersListState(Model): - """State details. - - :param state_name: The state name. - :type state_name: str - :param providers: A list of Internet service providers. - :type providers: list[str] - :param cities: List of available cities or towns in the state. - :type cities: - list[~azure.mgmt.network.v2019_07_01.models.AvailableProvidersListCity] - """ - - _attribute_map = { - 'state_name': {'key': 'stateName', 'type': 'str'}, - 'providers': {'key': 'providers', 'type': '[str]'}, - 'cities': {'key': 'cities', 'type': '[AvailableProvidersListCity]'}, - } - - def __init__(self, **kwargs): - super(AvailableProvidersListState, self).__init__(**kwargs) - self.state_name = kwargs.get('state_name', None) - self.providers = kwargs.get('providers', None) - self.cities = kwargs.get('cities', None) - - -class AzureAsyncOperationResult(Model): - """The response body contains the status of the specified asynchronous - operation, indicating whether it has succeeded, is in progress, or has - failed. Note that this status is distinct from the HTTP status code - returned for the Get Operation Status operation itself. If the asynchronous - operation succeeded, the response body includes the HTTP status code for - the successful request. If the asynchronous operation failed, the response - body includes the HTTP status code for the failed request and error - information regarding the failure. - - :param status: Status of the Azure async operation. Possible values - include: 'InProgress', 'Succeeded', 'Failed' - :type status: str or - ~azure.mgmt.network.v2019_07_01.models.NetworkOperationStatus - :param error: Details of the error occurred during specified asynchronous - operation. - :type error: ~azure.mgmt.network.v2019_07_01.models.Error - """ - - _attribute_map = { - 'status': {'key': 'status', 'type': 'str'}, - 'error': {'key': 'error', 'type': 'Error'}, - } - - def __init__(self, **kwargs): - super(AzureAsyncOperationResult, self).__init__(**kwargs) - self.status = kwargs.get('status', None) - self.error = kwargs.get('error', None) - - -class AzureFirewall(Resource): - """Azure Firewall resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param application_rule_collections: Collection of application rule - collections used by Azure Firewall. - :type application_rule_collections: - list[~azure.mgmt.network.v2019_07_01.models.AzureFirewallApplicationRuleCollection] - :param nat_rule_collections: Collection of NAT rule collections used by - Azure Firewall. - :type nat_rule_collections: - list[~azure.mgmt.network.v2019_07_01.models.AzureFirewallNatRuleCollection] - :param network_rule_collections: Collection of network rule collections - used by Azure Firewall. - :type network_rule_collections: - list[~azure.mgmt.network.v2019_07_01.models.AzureFirewallNetworkRuleCollection] - :param ip_configurations: IP configuration of the Azure Firewall resource. - :type ip_configurations: - list[~azure.mgmt.network.v2019_07_01.models.AzureFirewallIPConfiguration] - :param provisioning_state: The provisioning state of the Azure firewall - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param threat_intel_mode: The operation mode for Threat Intelligence. - Possible values include: 'Alert', 'Deny', 'Off' - :type threat_intel_mode: str or - ~azure.mgmt.network.v2019_07_01.models.AzureFirewallThreatIntelMode - :param virtual_hub: The virtualHub to which the firewall belongs. - :type virtual_hub: ~azure.mgmt.network.v2019_07_01.models.SubResource - :param firewall_policy: The firewallPolicy associated with this azure - firewall. - :type firewall_policy: ~azure.mgmt.network.v2019_07_01.models.SubResource - :ivar hub_ip_addresses: IP addresses associated with AzureFirewall. - :vartype hub_ip_addresses: - ~azure.mgmt.network.v2019_07_01.models.HubIPAddresses - :param zones: A list of availability zones denoting where the resource - needs to come from. - :type zones: list[str] - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'hub_ip_addresses': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'application_rule_collections': {'key': 'properties.applicationRuleCollections', 'type': '[AzureFirewallApplicationRuleCollection]'}, - 'nat_rule_collections': {'key': 'properties.natRuleCollections', 'type': '[AzureFirewallNatRuleCollection]'}, - 'network_rule_collections': {'key': 'properties.networkRuleCollections', 'type': '[AzureFirewallNetworkRuleCollection]'}, - 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[AzureFirewallIPConfiguration]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'threat_intel_mode': {'key': 'properties.threatIntelMode', 'type': 'str'}, - 'virtual_hub': {'key': 'properties.virtualHub', 'type': 'SubResource'}, - 'firewall_policy': {'key': 'properties.firewallPolicy', 'type': 'SubResource'}, - 'hub_ip_addresses': {'key': 'properties.hubIpAddresses', 'type': 'HubIPAddresses'}, - 'zones': {'key': 'zones', 'type': '[str]'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(AzureFirewall, self).__init__(**kwargs) - self.application_rule_collections = kwargs.get('application_rule_collections', None) - self.nat_rule_collections = kwargs.get('nat_rule_collections', None) - self.network_rule_collections = kwargs.get('network_rule_collections', None) - self.ip_configurations = kwargs.get('ip_configurations', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.threat_intel_mode = kwargs.get('threat_intel_mode', None) - self.virtual_hub = kwargs.get('virtual_hub', None) - self.firewall_policy = kwargs.get('firewall_policy', None) - self.hub_ip_addresses = None - self.zones = kwargs.get('zones', None) - self.etag = None - - -class AzureFirewallApplicationRule(Model): - """Properties of an application rule. - - :param name: Name of the application rule. - :type name: str - :param description: Description of the rule. - :type description: str - :param source_addresses: List of source IP addresses for this rule. - :type source_addresses: list[str] - :param protocols: Array of ApplicationRuleProtocols. - :type protocols: - list[~azure.mgmt.network.v2019_07_01.models.AzureFirewallApplicationRuleProtocol] - :param target_fqdns: List of FQDNs for this rule. - :type target_fqdns: list[str] - :param fqdn_tags: List of FQDN Tags for this rule. - :type fqdn_tags: list[str] - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'description': {'key': 'description', 'type': 'str'}, - 'source_addresses': {'key': 'sourceAddresses', 'type': '[str]'}, - 'protocols': {'key': 'protocols', 'type': '[AzureFirewallApplicationRuleProtocol]'}, - 'target_fqdns': {'key': 'targetFqdns', 'type': '[str]'}, - 'fqdn_tags': {'key': 'fqdnTags', 'type': '[str]'}, - } - - def __init__(self, **kwargs): - super(AzureFirewallApplicationRule, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.description = kwargs.get('description', None) - self.source_addresses = kwargs.get('source_addresses', None) - self.protocols = kwargs.get('protocols', None) - self.target_fqdns = kwargs.get('target_fqdns', None) - self.fqdn_tags = kwargs.get('fqdn_tags', None) - - -class AzureFirewallApplicationRuleCollection(SubResource): - """Application rule collection resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param priority: Priority of the application rule collection resource. - :type priority: int - :param action: The action type of a rule collection. - :type action: ~azure.mgmt.network.v2019_07_01.models.AzureFirewallRCAction - :param rules: Collection of rules used by a application rule collection. - :type rules: - list[~azure.mgmt.network.v2019_07_01.models.AzureFirewallApplicationRule] - :param provisioning_state: The provisioning state of the application rule - collection resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: The name of the resource that is unique within the Azure - firewall. This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'priority': {'maximum': 65000, 'minimum': 100}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'priority': {'key': 'properties.priority', 'type': 'int'}, - 'action': {'key': 'properties.action', 'type': 'AzureFirewallRCAction'}, - 'rules': {'key': 'properties.rules', 'type': '[AzureFirewallApplicationRule]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(AzureFirewallApplicationRuleCollection, self).__init__(**kwargs) - self.priority = kwargs.get('priority', None) - self.action = kwargs.get('action', None) - self.rules = kwargs.get('rules', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.name = kwargs.get('name', None) - self.etag = None - - -class AzureFirewallApplicationRuleProtocol(Model): - """Properties of the application rule protocol. - - :param protocol_type: Protocol type. Possible values include: 'Http', - 'Https', 'Mssql' - :type protocol_type: str or - ~azure.mgmt.network.v2019_07_01.models.AzureFirewallApplicationRuleProtocolType - :param port: Port number for the protocol, cannot be greater than 64000. - This field is optional. - :type port: int - """ - - _validation = { - 'port': {'maximum': 64000, 'minimum': 0}, - } - - _attribute_map = { - 'protocol_type': {'key': 'protocolType', 'type': 'str'}, - 'port': {'key': 'port', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(AzureFirewallApplicationRuleProtocol, self).__init__(**kwargs) - self.protocol_type = kwargs.get('protocol_type', None) - self.port = kwargs.get('port', None) - - -class AzureFirewallFqdnTag(Resource): - """Azure Firewall FQDN Tag Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :ivar provisioning_state: The provisioning state of the Azure firewall - FQDN tag resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :ivar fqdn_tag_name: The name of this FQDN Tag. - :vartype fqdn_tag_name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'fqdn_tag_name': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'fqdn_tag_name': {'key': 'properties.fqdnTagName', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(AzureFirewallFqdnTag, self).__init__(**kwargs) - self.provisioning_state = None - self.fqdn_tag_name = None - self.etag = None - - -class AzureFirewallIPConfiguration(SubResource): - """IP configuration of an Azure Firewall. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar private_ip_address: The Firewall Internal Load Balancer IP to be - used as the next hop in User Defined Routes. - :vartype private_ip_address: str - :param subnet: Reference of the subnet resource. This resource must be - named 'AzureFirewallSubnet'. - :type subnet: ~azure.mgmt.network.v2019_07_01.models.SubResource - :param public_ip_address: Reference of the PublicIP resource. This field - is a mandatory input if subnet is not null. - :type public_ip_address: - ~azure.mgmt.network.v2019_07_01.models.SubResource - :param provisioning_state: The provisioning state of the Azure firewall IP - configuration resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: Name of the resource that is unique within a resource group. - This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'private_ip_address': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, - 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, - 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'SubResource'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(AzureFirewallIPConfiguration, self).__init__(**kwargs) - self.private_ip_address = None - self.subnet = kwargs.get('subnet', None) - self.public_ip_address = kwargs.get('public_ip_address', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.name = kwargs.get('name', None) - self.etag = None - - -class AzureFirewallNatRCAction(Model): - """AzureFirewall NAT Rule Collection Action. - - :param type: The type of action. Possible values include: 'Snat', 'Dnat' - :type type: str or - ~azure.mgmt.network.v2019_07_01.models.AzureFirewallNatRCActionType - """ - - _attribute_map = { - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(AzureFirewallNatRCAction, self).__init__(**kwargs) - self.type = kwargs.get('type', None) - - -class AzureFirewallNatRule(Model): - """Properties of a NAT rule. - - :param name: Name of the NAT rule. - :type name: str - :param description: Description of the rule. - :type description: str - :param source_addresses: List of source IP addresses for this rule. - :type source_addresses: list[str] - :param destination_addresses: List of destination IP addresses for this - rule. Supports IP ranges, prefixes, and service tags. - :type destination_addresses: list[str] - :param destination_ports: List of destination ports. - :type destination_ports: list[str] - :param protocols: Array of AzureFirewallNetworkRuleProtocols applicable to - this NAT rule. - :type protocols: list[str or - ~azure.mgmt.network.v2019_07_01.models.AzureFirewallNetworkRuleProtocol] - :param translated_address: The translated address for this NAT rule. - :type translated_address: str - :param translated_port: The translated port for this NAT rule. - :type translated_port: str - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'description': {'key': 'description', 'type': 'str'}, - 'source_addresses': {'key': 'sourceAddresses', 'type': '[str]'}, - 'destination_addresses': {'key': 'destinationAddresses', 'type': '[str]'}, - 'destination_ports': {'key': 'destinationPorts', 'type': '[str]'}, - 'protocols': {'key': 'protocols', 'type': '[str]'}, - 'translated_address': {'key': 'translatedAddress', 'type': 'str'}, - 'translated_port': {'key': 'translatedPort', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(AzureFirewallNatRule, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.description = kwargs.get('description', None) - self.source_addresses = kwargs.get('source_addresses', None) - self.destination_addresses = kwargs.get('destination_addresses', None) - self.destination_ports = kwargs.get('destination_ports', None) - self.protocols = kwargs.get('protocols', None) - self.translated_address = kwargs.get('translated_address', None) - self.translated_port = kwargs.get('translated_port', None) - - -class AzureFirewallNatRuleCollection(SubResource): - """NAT rule collection resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param priority: Priority of the NAT rule collection resource. - :type priority: int - :param action: The action type of a NAT rule collection. - :type action: - ~azure.mgmt.network.v2019_07_01.models.AzureFirewallNatRCAction - :param rules: Collection of rules used by a NAT rule collection. - :type rules: - list[~azure.mgmt.network.v2019_07_01.models.AzureFirewallNatRule] - :param provisioning_state: The provisioning state of the NAT rule - collection resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: The name of the resource that is unique within the Azure - firewall. This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'priority': {'maximum': 65000, 'minimum': 100}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'priority': {'key': 'properties.priority', 'type': 'int'}, - 'action': {'key': 'properties.action', 'type': 'AzureFirewallNatRCAction'}, - 'rules': {'key': 'properties.rules', 'type': '[AzureFirewallNatRule]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(AzureFirewallNatRuleCollection, self).__init__(**kwargs) - self.priority = kwargs.get('priority', None) - self.action = kwargs.get('action', None) - self.rules = kwargs.get('rules', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.name = kwargs.get('name', None) - self.etag = None - - -class AzureFirewallNetworkRule(Model): - """Properties of the network rule. - - :param name: Name of the network rule. - :type name: str - :param description: Description of the rule. - :type description: str - :param protocols: Array of AzureFirewallNetworkRuleProtocols. - :type protocols: list[str or - ~azure.mgmt.network.v2019_07_01.models.AzureFirewallNetworkRuleProtocol] - :param source_addresses: List of source IP addresses for this rule. - :type source_addresses: list[str] - :param destination_addresses: List of destination IP addresses. - :type destination_addresses: list[str] - :param destination_ports: List of destination ports. - :type destination_ports: list[str] - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'description': {'key': 'description', 'type': 'str'}, - 'protocols': {'key': 'protocols', 'type': '[str]'}, - 'source_addresses': {'key': 'sourceAddresses', 'type': '[str]'}, - 'destination_addresses': {'key': 'destinationAddresses', 'type': '[str]'}, - 'destination_ports': {'key': 'destinationPorts', 'type': '[str]'}, - } - - def __init__(self, **kwargs): - super(AzureFirewallNetworkRule, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.description = kwargs.get('description', None) - self.protocols = kwargs.get('protocols', None) - self.source_addresses = kwargs.get('source_addresses', None) - self.destination_addresses = kwargs.get('destination_addresses', None) - self.destination_ports = kwargs.get('destination_ports', None) - - -class AzureFirewallNetworkRuleCollection(SubResource): - """Network rule collection resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param priority: Priority of the network rule collection resource. - :type priority: int - :param action: The action type of a rule collection. - :type action: ~azure.mgmt.network.v2019_07_01.models.AzureFirewallRCAction - :param rules: Collection of rules used by a network rule collection. - :type rules: - list[~azure.mgmt.network.v2019_07_01.models.AzureFirewallNetworkRule] - :param provisioning_state: The provisioning state of the network rule - collection resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: The name of the resource that is unique within the Azure - firewall. This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'priority': {'maximum': 65000, 'minimum': 100}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'priority': {'key': 'properties.priority', 'type': 'int'}, - 'action': {'key': 'properties.action', 'type': 'AzureFirewallRCAction'}, - 'rules': {'key': 'properties.rules', 'type': '[AzureFirewallNetworkRule]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(AzureFirewallNetworkRuleCollection, self).__init__(**kwargs) - self.priority = kwargs.get('priority', None) - self.action = kwargs.get('action', None) - self.rules = kwargs.get('rules', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.name = kwargs.get('name', None) - self.etag = None - - -class AzureFirewallPublicIPAddress(Model): - """Public IP Address associated with azure firewall. - - :param address: Public IP Address value. - :type address: str - """ - - _attribute_map = { - 'address': {'key': 'address', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(AzureFirewallPublicIPAddress, self).__init__(**kwargs) - self.address = kwargs.get('address', None) - - -class AzureFirewallRCAction(Model): - """Properties of the AzureFirewallRCAction. - - :param type: The type of action. Possible values include: 'Allow', 'Deny' - :type type: str or - ~azure.mgmt.network.v2019_07_01.models.AzureFirewallRCActionType - """ - - _attribute_map = { - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(AzureFirewallRCAction, self).__init__(**kwargs) - self.type = kwargs.get('type', None) - - -class AzureReachabilityReport(Model): - """Azure reachability report details. - - All required parameters must be populated in order to send to Azure. - - :param aggregation_level: Required. The aggregation level of Azure - reachability report. Can be Country, State or City. - :type aggregation_level: str - :param provider_location: Required. Parameters that define a geographic - location. - :type provider_location: - ~azure.mgmt.network.v2019_07_01.models.AzureReachabilityReportLocation - :param reachability_report: Required. List of Azure reachability report - items. - :type reachability_report: - list[~azure.mgmt.network.v2019_07_01.models.AzureReachabilityReportItem] - """ - - _validation = { - 'aggregation_level': {'required': True}, - 'provider_location': {'required': True}, - 'reachability_report': {'required': True}, - } - - _attribute_map = { - 'aggregation_level': {'key': 'aggregationLevel', 'type': 'str'}, - 'provider_location': {'key': 'providerLocation', 'type': 'AzureReachabilityReportLocation'}, - 'reachability_report': {'key': 'reachabilityReport', 'type': '[AzureReachabilityReportItem]'}, - } - - def __init__(self, **kwargs): - super(AzureReachabilityReport, self).__init__(**kwargs) - self.aggregation_level = kwargs.get('aggregation_level', None) - self.provider_location = kwargs.get('provider_location', None) - self.reachability_report = kwargs.get('reachability_report', None) - - -class AzureReachabilityReportItem(Model): - """Azure reachability report details for a given provider location. - - :param provider: The Internet service provider. - :type provider: str - :param azure_location: The Azure region. - :type azure_location: str - :param latencies: List of latency details for each of the time series. - :type latencies: - list[~azure.mgmt.network.v2019_07_01.models.AzureReachabilityReportLatencyInfo] - """ - - _attribute_map = { - 'provider': {'key': 'provider', 'type': 'str'}, - 'azure_location': {'key': 'azureLocation', 'type': 'str'}, - 'latencies': {'key': 'latencies', 'type': '[AzureReachabilityReportLatencyInfo]'}, - } - - def __init__(self, **kwargs): - super(AzureReachabilityReportItem, self).__init__(**kwargs) - self.provider = kwargs.get('provider', None) - self.azure_location = kwargs.get('azure_location', None) - self.latencies = kwargs.get('latencies', None) - - -class AzureReachabilityReportLatencyInfo(Model): - """Details on latency for a time series. - - :param time_stamp: The time stamp. - :type time_stamp: datetime - :param score: The relative latency score between 1 and 100, higher values - indicating a faster connection. - :type score: int - """ - - _validation = { - 'score': {'maximum': 100, 'minimum': 1}, - } - - _attribute_map = { - 'time_stamp': {'key': 'timeStamp', 'type': 'iso-8601'}, - 'score': {'key': 'score', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(AzureReachabilityReportLatencyInfo, self).__init__(**kwargs) - self.time_stamp = kwargs.get('time_stamp', None) - self.score = kwargs.get('score', None) - - -class AzureReachabilityReportLocation(Model): - """Parameters that define a geographic location. - - All required parameters must be populated in order to send to Azure. - - :param country: Required. The name of the country. - :type country: str - :param state: The name of the state. - :type state: str - :param city: The name of the city or town. - :type city: str - """ - - _validation = { - 'country': {'required': True}, - } - - _attribute_map = { - 'country': {'key': 'country', 'type': 'str'}, - 'state': {'key': 'state', 'type': 'str'}, - 'city': {'key': 'city', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(AzureReachabilityReportLocation, self).__init__(**kwargs) - self.country = kwargs.get('country', None) - self.state = kwargs.get('state', None) - self.city = kwargs.get('city', None) - - -class AzureReachabilityReportParameters(Model): - """Geographic and time constraints for Azure reachability report. - - All required parameters must be populated in order to send to Azure. - - :param provider_location: Required. Parameters that define a geographic - location. - :type provider_location: - ~azure.mgmt.network.v2019_07_01.models.AzureReachabilityReportLocation - :param providers: List of Internet service providers. - :type providers: list[str] - :param azure_locations: Optional Azure regions to scope the query to. - :type azure_locations: list[str] - :param start_time: Required. The start time for the Azure reachability - report. - :type start_time: datetime - :param end_time: Required. The end time for the Azure reachability report. - :type end_time: datetime - """ - - _validation = { - 'provider_location': {'required': True}, - 'start_time': {'required': True}, - 'end_time': {'required': True}, - } - - _attribute_map = { - 'provider_location': {'key': 'providerLocation', 'type': 'AzureReachabilityReportLocation'}, - 'providers': {'key': 'providers', 'type': '[str]'}, - 'azure_locations': {'key': 'azureLocations', 'type': '[str]'}, - 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, - 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, - } - - def __init__(self, **kwargs): - super(AzureReachabilityReportParameters, self).__init__(**kwargs) - self.provider_location = kwargs.get('provider_location', None) - self.providers = kwargs.get('providers', None) - self.azure_locations = kwargs.get('azure_locations', None) - self.start_time = kwargs.get('start_time', None) - self.end_time = kwargs.get('end_time', None) - - -class BackendAddressPool(SubResource): - """Pool of backend IP addresses. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar backend_ip_configurations: An array of references to IP addresses - defined in network interfaces. - :vartype backend_ip_configurations: - list[~azure.mgmt.network.v2019_07_01.models.NetworkInterfaceIPConfiguration] - :ivar load_balancing_rules: An array of references to load balancing rules - that use this backend address pool. - :vartype load_balancing_rules: - list[~azure.mgmt.network.v2019_07_01.models.SubResource] - :ivar outbound_rule: A reference to an outbound rule that uses this - backend address pool. - :vartype outbound_rule: ~azure.mgmt.network.v2019_07_01.models.SubResource - :ivar outbound_rules: An array of references to outbound rules that use - this backend address pool. - :vartype outbound_rules: - list[~azure.mgmt.network.v2019_07_01.models.SubResource] - :param provisioning_state: The provisioning state of the backend address - pool resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: The name of the resource that is unique within the set of - backend address pools used by the load balancer. This name can be used to - access the resource. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - :ivar type: Type of the resource. - :vartype type: str - """ - - _validation = { - 'backend_ip_configurations': {'readonly': True}, - 'load_balancing_rules': {'readonly': True}, - 'outbound_rule': {'readonly': True}, - 'outbound_rules': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'backend_ip_configurations': {'key': 'properties.backendIPConfigurations', 'type': '[NetworkInterfaceIPConfiguration]'}, - 'load_balancing_rules': {'key': 'properties.loadBalancingRules', 'type': '[SubResource]'}, - 'outbound_rule': {'key': 'properties.outboundRule', 'type': 'SubResource'}, - 'outbound_rules': {'key': 'properties.outboundRules', 'type': '[SubResource]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(BackendAddressPool, self).__init__(**kwargs) - self.backend_ip_configurations = None - self.load_balancing_rules = None - self.outbound_rule = None - self.outbound_rules = None - self.provisioning_state = kwargs.get('provisioning_state', None) - self.name = kwargs.get('name', None) - self.etag = kwargs.get('etag', None) - self.type = None - - -class BastionHost(Resource): - """Bastion Host resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param ip_configurations: IP configuration of the Bastion Host resource. - :type ip_configurations: - list[~azure.mgmt.network.v2019_07_01.models.BastionHostIPConfiguration] - :param dns_name: FQDN for the endpoint on which bastion host is - accessible. - :type dns_name: str - :param provisioning_state: The provisioning state of the bastion host - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[BastionHostIPConfiguration]'}, - 'dns_name': {'key': 'properties.dnsName', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(BastionHost, self).__init__(**kwargs) - self.ip_configurations = kwargs.get('ip_configurations', None) - self.dns_name = kwargs.get('dns_name', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.etag = None - - -class BastionHostIPConfiguration(SubResource): - """IP configuration of an Bastion Host. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :param subnet: Required. Reference of the subnet resource. - :type subnet: ~azure.mgmt.network.v2019_07_01.models.SubResource - :param public_ip_address: Required. Reference of the PublicIP resource. - :type public_ip_address: - ~azure.mgmt.network.v2019_07_01.models.SubResource - :param provisioning_state: The provisioning state of the bastion host IP - configuration resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param private_ip_allocation_method: Private IP allocation method. - Possible values include: 'Static', 'Dynamic' - :type private_ip_allocation_method: str or - ~azure.mgmt.network.v2019_07_01.models.IPAllocationMethod - :param name: Name of the resource that is unique within a resource group. - This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :ivar type: Ip configuration type. - :vartype type: str - """ - - _validation = { - 'subnet': {'required': True}, - 'public_ip_address': {'required': True}, - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, - 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'SubResource'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(BastionHostIPConfiguration, self).__init__(**kwargs) - self.subnet = kwargs.get('subnet', None) - self.public_ip_address = kwargs.get('public_ip_address', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.private_ip_allocation_method = kwargs.get('private_ip_allocation_method', None) - self.name = kwargs.get('name', None) - self.etag = None - self.type = None - - -class BGPCommunity(Model): - """Contains bgp community information offered in Service Community resources. - - :param service_supported_region: The region which the service support. - e.g. For O365, region is Global. - :type service_supported_region: str - :param community_name: The name of the bgp community. e.g. Skype. - :type community_name: str - :param community_value: The value of the bgp community. For more - information: - https://docs.microsoft.com/en-us/azure/expressroute/expressroute-routing. - :type community_value: str - :param community_prefixes: The prefixes that the bgp community contains. - :type community_prefixes: list[str] - :param is_authorized_to_use: Customer is authorized to use bgp community - or not. - :type is_authorized_to_use: bool - :param service_group: The service group of the bgp community contains. - :type service_group: str - """ - - _attribute_map = { - 'service_supported_region': {'key': 'serviceSupportedRegion', 'type': 'str'}, - 'community_name': {'key': 'communityName', 'type': 'str'}, - 'community_value': {'key': 'communityValue', 'type': 'str'}, - 'community_prefixes': {'key': 'communityPrefixes', 'type': '[str]'}, - 'is_authorized_to_use': {'key': 'isAuthorizedToUse', 'type': 'bool'}, - 'service_group': {'key': 'serviceGroup', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(BGPCommunity, self).__init__(**kwargs) - self.service_supported_region = kwargs.get('service_supported_region', None) - self.community_name = kwargs.get('community_name', None) - self.community_value = kwargs.get('community_value', None) - self.community_prefixes = kwargs.get('community_prefixes', None) - self.is_authorized_to_use = kwargs.get('is_authorized_to_use', None) - self.service_group = kwargs.get('service_group', None) - - -class BgpPeerStatus(Model): - """BGP peer status details. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar local_address: The virtual network gateway's local address. - :vartype local_address: str - :ivar neighbor: The remote BGP peer. - :vartype neighbor: str - :ivar asn: The autonomous system number of the remote BGP peer. - :vartype asn: int - :ivar state: The BGP peer state. Possible values include: 'Unknown', - 'Stopped', 'Idle', 'Connecting', 'Connected' - :vartype state: str or ~azure.mgmt.network.v2019_07_01.models.BgpPeerState - :ivar connected_duration: For how long the peering has been up. - :vartype connected_duration: str - :ivar routes_received: The number of routes learned from this peer. - :vartype routes_received: long - :ivar messages_sent: The number of BGP messages sent. - :vartype messages_sent: long - :ivar messages_received: The number of BGP messages received. - :vartype messages_received: long - """ - - _validation = { - 'local_address': {'readonly': True}, - 'neighbor': {'readonly': True}, - 'asn': {'readonly': True}, - 'state': {'readonly': True}, - 'connected_duration': {'readonly': True}, - 'routes_received': {'readonly': True}, - 'messages_sent': {'readonly': True}, - 'messages_received': {'readonly': True}, - } - - _attribute_map = { - 'local_address': {'key': 'localAddress', 'type': 'str'}, - 'neighbor': {'key': 'neighbor', 'type': 'str'}, - 'asn': {'key': 'asn', 'type': 'int'}, - 'state': {'key': 'state', 'type': 'str'}, - 'connected_duration': {'key': 'connectedDuration', 'type': 'str'}, - 'routes_received': {'key': 'routesReceived', 'type': 'long'}, - 'messages_sent': {'key': 'messagesSent', 'type': 'long'}, - 'messages_received': {'key': 'messagesReceived', 'type': 'long'}, - } - - def __init__(self, **kwargs): - super(BgpPeerStatus, self).__init__(**kwargs) - self.local_address = None - self.neighbor = None - self.asn = None - self.state = None - self.connected_duration = None - self.routes_received = None - self.messages_sent = None - self.messages_received = None - - -class BgpPeerStatusListResult(Model): - """Response for list BGP peer status API service call. - - :param value: List of BGP peers. - :type value: list[~azure.mgmt.network.v2019_07_01.models.BgpPeerStatus] - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[BgpPeerStatus]'}, - } - - def __init__(self, **kwargs): - super(BgpPeerStatusListResult, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - - -class BgpServiceCommunity(Resource): - """Service Community Properties. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param service_name: The name of the bgp community. e.g. Skype. - :type service_name: str - :param bgp_communities: A list of bgp communities. - :type bgp_communities: - list[~azure.mgmt.network.v2019_07_01.models.BGPCommunity] - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'service_name': {'key': 'properties.serviceName', 'type': 'str'}, - 'bgp_communities': {'key': 'properties.bgpCommunities', 'type': '[BGPCommunity]'}, - } - - def __init__(self, **kwargs): - super(BgpServiceCommunity, self).__init__(**kwargs) - self.service_name = kwargs.get('service_name', None) - self.bgp_communities = kwargs.get('bgp_communities', None) - - -class BgpSettings(Model): - """BGP settings details. - - :param asn: The BGP speaker's ASN. - :type asn: long - :param bgp_peering_address: The BGP peering address and BGP identifier of - this BGP speaker. - :type bgp_peering_address: str - :param peer_weight: The weight added to routes learned from this BGP - speaker. - :type peer_weight: int - """ - - _attribute_map = { - 'asn': {'key': 'asn', 'type': 'long'}, - 'bgp_peering_address': {'key': 'bgpPeeringAddress', 'type': 'str'}, - 'peer_weight': {'key': 'peerWeight', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(BgpSettings, self).__init__(**kwargs) - self.asn = kwargs.get('asn', None) - self.bgp_peering_address = kwargs.get('bgp_peering_address', None) - self.peer_weight = kwargs.get('peer_weight', None) - - -class CheckPrivateLinkServiceVisibilityRequest(Model): - """Request body of the CheckPrivateLinkServiceVisibility API service call. - - :param private_link_service_alias: The alias of the private link service. - :type private_link_service_alias: str - """ - - _attribute_map = { - 'private_link_service_alias': {'key': 'privateLinkServiceAlias', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(CheckPrivateLinkServiceVisibilityRequest, self).__init__(**kwargs) - self.private_link_service_alias = kwargs.get('private_link_service_alias', None) - - -class CloudError(Model): - """An error response from the Batch service. - - :param error: Cloud error body. - :type error: ~azure.mgmt.network.v2019_07_01.models.CloudErrorBody - """ - - _attribute_map = { - 'error': {'key': 'error', 'type': 'CloudErrorBody'}, - } - - def __init__(self, **kwargs): - super(CloudError, self).__init__(**kwargs) - self.error = kwargs.get('error', None) - - -class CloudErrorException(HttpOperationError): - """Server responsed with exception of type: 'CloudError'. - - :param deserialize: A deserializer - :param response: Server response to be deserialized. - """ - - def __init__(self, deserialize, response, *args): - - super(CloudErrorException, self).__init__(deserialize, response, 'CloudError', *args) - - -class CloudErrorBody(Model): - """An error response from the Batch service. - - :param code: An identifier for the error. Codes are invariant and are - intended to be consumed programmatically. - :type code: str - :param message: A message describing the error, intended to be suitable - for display in a user interface. - :type message: str - :param target: The target of the particular error. For example, the name - of the property in error. - :type target: str - :param details: A list of additional details about the error. - :type details: list[~azure.mgmt.network.v2019_07_01.models.CloudErrorBody] - """ - - _attribute_map = { - 'code': {'key': 'code', 'type': 'str'}, - 'message': {'key': 'message', 'type': 'str'}, - 'target': {'key': 'target', 'type': 'str'}, - 'details': {'key': 'details', 'type': '[CloudErrorBody]'}, - } - - def __init__(self, **kwargs): - super(CloudErrorBody, self).__init__(**kwargs) - self.code = kwargs.get('code', None) - self.message = kwargs.get('message', None) - self.target = kwargs.get('target', None) - self.details = kwargs.get('details', None) - - -class ConnectionMonitor(Model): - """Parameters that define the operation to create a connection monitor. - - All required parameters must be populated in order to send to Azure. - - :param location: Connection monitor location. - :type location: str - :param tags: Connection monitor tags. - :type tags: dict[str, str] - :param source: Required. Describes the source of connection monitor. - :type source: - ~azure.mgmt.network.v2019_07_01.models.ConnectionMonitorSource - :param destination: Required. Describes the destination of connection - monitor. - :type destination: - ~azure.mgmt.network.v2019_07_01.models.ConnectionMonitorDestination - :param auto_start: Determines if the connection monitor will start - automatically once created. Default value: True . - :type auto_start: bool - :param monitoring_interval_in_seconds: Monitoring interval in seconds. - Default value: 60 . - :type monitoring_interval_in_seconds: int - """ - - _validation = { - 'source': {'required': True}, - 'destination': {'required': True}, - } - - _attribute_map = { - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'source': {'key': 'properties.source', 'type': 'ConnectionMonitorSource'}, - 'destination': {'key': 'properties.destination', 'type': 'ConnectionMonitorDestination'}, - 'auto_start': {'key': 'properties.autoStart', 'type': 'bool'}, - 'monitoring_interval_in_seconds': {'key': 'properties.monitoringIntervalInSeconds', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(ConnectionMonitor, self).__init__(**kwargs) - self.location = kwargs.get('location', None) - self.tags = kwargs.get('tags', None) - self.source = kwargs.get('source', None) - self.destination = kwargs.get('destination', None) - self.auto_start = kwargs.get('auto_start', True) - self.monitoring_interval_in_seconds = kwargs.get('monitoring_interval_in_seconds', 60) - - -class ConnectionMonitorDestination(Model): - """Describes the destination of connection monitor. - - :param resource_id: The ID of the resource used as the destination by - connection monitor. - :type resource_id: str - :param address: Address of the connection monitor destination (IP or - domain name). - :type address: str - :param port: The destination port used by connection monitor. - :type port: int - """ - - _attribute_map = { - 'resource_id': {'key': 'resourceId', 'type': 'str'}, - 'address': {'key': 'address', 'type': 'str'}, - 'port': {'key': 'port', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(ConnectionMonitorDestination, self).__init__(**kwargs) - self.resource_id = kwargs.get('resource_id', None) - self.address = kwargs.get('address', None) - self.port = kwargs.get('port', None) - - -class ConnectionMonitorParameters(Model): - """Parameters that define the operation to create a connection monitor. - - All required parameters must be populated in order to send to Azure. - - :param source: Required. Describes the source of connection monitor. - :type source: - ~azure.mgmt.network.v2019_07_01.models.ConnectionMonitorSource - :param destination: Required. Describes the destination of connection - monitor. - :type destination: - ~azure.mgmt.network.v2019_07_01.models.ConnectionMonitorDestination - :param auto_start: Determines if the connection monitor will start - automatically once created. Default value: True . - :type auto_start: bool - :param monitoring_interval_in_seconds: Monitoring interval in seconds. - Default value: 60 . - :type monitoring_interval_in_seconds: int - """ - - _validation = { - 'source': {'required': True}, - 'destination': {'required': True}, - } - - _attribute_map = { - 'source': {'key': 'source', 'type': 'ConnectionMonitorSource'}, - 'destination': {'key': 'destination', 'type': 'ConnectionMonitorDestination'}, - 'auto_start': {'key': 'autoStart', 'type': 'bool'}, - 'monitoring_interval_in_seconds': {'key': 'monitoringIntervalInSeconds', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(ConnectionMonitorParameters, self).__init__(**kwargs) - self.source = kwargs.get('source', None) - self.destination = kwargs.get('destination', None) - self.auto_start = kwargs.get('auto_start', True) - self.monitoring_interval_in_seconds = kwargs.get('monitoring_interval_in_seconds', 60) - - -class ConnectionMonitorQueryResult(Model): - """List of connection states snapshots. - - :param source_status: Status of connection monitor source. Possible values - include: 'Unknown', 'Active', 'Inactive' - :type source_status: str or - ~azure.mgmt.network.v2019_07_01.models.ConnectionMonitorSourceStatus - :param states: Information about connection states. - :type states: - list[~azure.mgmt.network.v2019_07_01.models.ConnectionStateSnapshot] - """ - - _attribute_map = { - 'source_status': {'key': 'sourceStatus', 'type': 'str'}, - 'states': {'key': 'states', 'type': '[ConnectionStateSnapshot]'}, - } - - def __init__(self, **kwargs): - super(ConnectionMonitorQueryResult, self).__init__(**kwargs) - self.source_status = kwargs.get('source_status', None) - self.states = kwargs.get('states', None) - - -class ConnectionMonitorResult(Model): - """Information about the connection monitor. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :ivar name: Name of the connection monitor. - :vartype name: str - :ivar id: ID of the connection monitor. - :vartype id: str - :param etag: A unique read-only string that changes whenever the resource - is updated. Default value: "A unique read-only string that changes - whenever the resource is updated." . - :type etag: str - :ivar type: Connection monitor type. - :vartype type: str - :param location: Connection monitor location. - :type location: str - :param tags: Connection monitor tags. - :type tags: dict[str, str] - :param source: Required. Describes the source of connection monitor. - :type source: - ~azure.mgmt.network.v2019_07_01.models.ConnectionMonitorSource - :param destination: Required. Describes the destination of connection - monitor. - :type destination: - ~azure.mgmt.network.v2019_07_01.models.ConnectionMonitorDestination - :param auto_start: Determines if the connection monitor will start - automatically once created. Default value: True . - :type auto_start: bool - :param monitoring_interval_in_seconds: Monitoring interval in seconds. - Default value: 60 . - :type monitoring_interval_in_seconds: int - :param provisioning_state: The provisioning state of the connection - monitor. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param start_time: The date and time when the connection monitor was - started. - :type start_time: datetime - :param monitoring_status: The monitoring status of the connection monitor. - :type monitoring_status: str - """ - - _validation = { - 'name': {'readonly': True}, - 'id': {'readonly': True}, - 'type': {'readonly': True}, - 'source': {'required': True}, - 'destination': {'required': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'id': {'key': 'id', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'source': {'key': 'properties.source', 'type': 'ConnectionMonitorSource'}, - 'destination': {'key': 'properties.destination', 'type': 'ConnectionMonitorDestination'}, - 'auto_start': {'key': 'properties.autoStart', 'type': 'bool'}, - 'monitoring_interval_in_seconds': {'key': 'properties.monitoringIntervalInSeconds', 'type': 'int'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'start_time': {'key': 'properties.startTime', 'type': 'iso-8601'}, - 'monitoring_status': {'key': 'properties.monitoringStatus', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ConnectionMonitorResult, self).__init__(**kwargs) - self.name = None - self.id = None - self.etag = kwargs.get('etag', "A unique read-only string that changes whenever the resource is updated.") - self.type = None - self.location = kwargs.get('location', None) - self.tags = kwargs.get('tags', None) - self.source = kwargs.get('source', None) - self.destination = kwargs.get('destination', None) - self.auto_start = kwargs.get('auto_start', True) - self.monitoring_interval_in_seconds = kwargs.get('monitoring_interval_in_seconds', 60) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.start_time = kwargs.get('start_time', None) - self.monitoring_status = kwargs.get('monitoring_status', None) - - -class ConnectionMonitorSource(Model): - """Describes the source of connection monitor. - - All required parameters must be populated in order to send to Azure. - - :param resource_id: Required. The ID of the resource used as the source by - connection monitor. - :type resource_id: str - :param port: The source port used by connection monitor. - :type port: int - """ - - _validation = { - 'resource_id': {'required': True}, - } - - _attribute_map = { - 'resource_id': {'key': 'resourceId', 'type': 'str'}, - 'port': {'key': 'port', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(ConnectionMonitorSource, self).__init__(**kwargs) - self.resource_id = kwargs.get('resource_id', None) - self.port = kwargs.get('port', None) - - -class ConnectionResetSharedKey(Model): - """The virtual network connection reset shared key. - - All required parameters must be populated in order to send to Azure. - - :param key_length: Required. The virtual network connection reset shared - key length, should between 1 and 128. - :type key_length: int - """ - - _validation = { - 'key_length': {'required': True, 'maximum': 128, 'minimum': 1}, - } - - _attribute_map = { - 'key_length': {'key': 'keyLength', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(ConnectionResetSharedKey, self).__init__(**kwargs) - self.key_length = kwargs.get('key_length', None) - - -class ConnectionSharedKey(SubResource): - """Response for GetConnectionSharedKey API service call. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :param value: Required. The virtual network connection shared key value. - :type value: str - """ - - _validation = { - 'value': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'value': {'key': 'value', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ConnectionSharedKey, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - - -class ConnectionStateSnapshot(Model): - """Connection state snapshot. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param connection_state: The connection state. Possible values include: - 'Reachable', 'Unreachable', 'Unknown' - :type connection_state: str or - ~azure.mgmt.network.v2019_07_01.models.ConnectionState - :param start_time: The start time of the connection snapshot. - :type start_time: datetime - :param end_time: The end time of the connection snapshot. - :type end_time: datetime - :param evaluation_state: Connectivity analysis evaluation state. Possible - values include: 'NotStarted', 'InProgress', 'Completed' - :type evaluation_state: str or - ~azure.mgmt.network.v2019_07_01.models.EvaluationState - :param avg_latency_in_ms: Average latency in ms. - :type avg_latency_in_ms: int - :param min_latency_in_ms: Minimum latency in ms. - :type min_latency_in_ms: int - :param max_latency_in_ms: Maximum latency in ms. - :type max_latency_in_ms: int - :param probes_sent: The number of sent probes. - :type probes_sent: int - :param probes_failed: The number of failed probes. - :type probes_failed: int - :ivar hops: List of hops between the source and the destination. - :vartype hops: - list[~azure.mgmt.network.v2019_07_01.models.ConnectivityHop] - """ - - _validation = { - 'hops': {'readonly': True}, - } - - _attribute_map = { - 'connection_state': {'key': 'connectionState', 'type': 'str'}, - 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, - 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, - 'evaluation_state': {'key': 'evaluationState', 'type': 'str'}, - 'avg_latency_in_ms': {'key': 'avgLatencyInMs', 'type': 'int'}, - 'min_latency_in_ms': {'key': 'minLatencyInMs', 'type': 'int'}, - 'max_latency_in_ms': {'key': 'maxLatencyInMs', 'type': 'int'}, - 'probes_sent': {'key': 'probesSent', 'type': 'int'}, - 'probes_failed': {'key': 'probesFailed', 'type': 'int'}, - 'hops': {'key': 'hops', 'type': '[ConnectivityHop]'}, - } - - def __init__(self, **kwargs): - super(ConnectionStateSnapshot, self).__init__(**kwargs) - self.connection_state = kwargs.get('connection_state', None) - self.start_time = kwargs.get('start_time', None) - self.end_time = kwargs.get('end_time', None) - self.evaluation_state = kwargs.get('evaluation_state', None) - self.avg_latency_in_ms = kwargs.get('avg_latency_in_ms', None) - self.min_latency_in_ms = kwargs.get('min_latency_in_ms', None) - self.max_latency_in_ms = kwargs.get('max_latency_in_ms', None) - self.probes_sent = kwargs.get('probes_sent', None) - self.probes_failed = kwargs.get('probes_failed', None) - self.hops = None - - -class ConnectivityDestination(Model): - """Parameters that define destination of connection. - - :param resource_id: The ID of the resource to which a connection attempt - will be made. - :type resource_id: str - :param address: The IP address or URI the resource to which a connection - attempt will be made. - :type address: str - :param port: Port on which check connectivity will be performed. - :type port: int - """ - - _attribute_map = { - 'resource_id': {'key': 'resourceId', 'type': 'str'}, - 'address': {'key': 'address', 'type': 'str'}, - 'port': {'key': 'port', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(ConnectivityDestination, self).__init__(**kwargs) - self.resource_id = kwargs.get('resource_id', None) - self.address = kwargs.get('address', None) - self.port = kwargs.get('port', None) - - -class ConnectivityHop(Model): - """Information about a hop between the source and the destination. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar type: The type of the hop. - :vartype type: str - :ivar id: The ID of the hop. - :vartype id: str - :ivar address: The IP address of the hop. - :vartype address: str - :ivar resource_id: The ID of the resource corresponding to this hop. - :vartype resource_id: str - :ivar next_hop_ids: List of next hop identifiers. - :vartype next_hop_ids: list[str] - :ivar issues: List of issues. - :vartype issues: - list[~azure.mgmt.network.v2019_07_01.models.ConnectivityIssue] - """ - - _validation = { - 'type': {'readonly': True}, - 'id': {'readonly': True}, - 'address': {'readonly': True}, - 'resource_id': {'readonly': True}, - 'next_hop_ids': {'readonly': True}, - 'issues': {'readonly': True}, - } - - _attribute_map = { - 'type': {'key': 'type', 'type': 'str'}, - 'id': {'key': 'id', 'type': 'str'}, - 'address': {'key': 'address', 'type': 'str'}, - 'resource_id': {'key': 'resourceId', 'type': 'str'}, - 'next_hop_ids': {'key': 'nextHopIds', 'type': '[str]'}, - 'issues': {'key': 'issues', 'type': '[ConnectivityIssue]'}, - } - - def __init__(self, **kwargs): - super(ConnectivityHop, self).__init__(**kwargs) - self.type = None - self.id = None - self.address = None - self.resource_id = None - self.next_hop_ids = None - self.issues = None - - -class ConnectivityInformation(Model): - """Information on the connectivity status. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar hops: List of hops between the source and the destination. - :vartype hops: - list[~azure.mgmt.network.v2019_07_01.models.ConnectivityHop] - :ivar connection_status: The connection status. Possible values include: - 'Unknown', 'Connected', 'Disconnected', 'Degraded' - :vartype connection_status: str or - ~azure.mgmt.network.v2019_07_01.models.ConnectionStatus - :ivar avg_latency_in_ms: Average latency in milliseconds. - :vartype avg_latency_in_ms: int - :ivar min_latency_in_ms: Minimum latency in milliseconds. - :vartype min_latency_in_ms: int - :ivar max_latency_in_ms: Maximum latency in milliseconds. - :vartype max_latency_in_ms: int - :ivar probes_sent: Total number of probes sent. - :vartype probes_sent: int - :ivar probes_failed: Number of failed probes. - :vartype probes_failed: int - """ - - _validation = { - 'hops': {'readonly': True}, - 'connection_status': {'readonly': True}, - 'avg_latency_in_ms': {'readonly': True}, - 'min_latency_in_ms': {'readonly': True}, - 'max_latency_in_ms': {'readonly': True}, - 'probes_sent': {'readonly': True}, - 'probes_failed': {'readonly': True}, - } - - _attribute_map = { - 'hops': {'key': 'hops', 'type': '[ConnectivityHop]'}, - 'connection_status': {'key': 'connectionStatus', 'type': 'str'}, - 'avg_latency_in_ms': {'key': 'avgLatencyInMs', 'type': 'int'}, - 'min_latency_in_ms': {'key': 'minLatencyInMs', 'type': 'int'}, - 'max_latency_in_ms': {'key': 'maxLatencyInMs', 'type': 'int'}, - 'probes_sent': {'key': 'probesSent', 'type': 'int'}, - 'probes_failed': {'key': 'probesFailed', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(ConnectivityInformation, self).__init__(**kwargs) - self.hops = None - self.connection_status = None - self.avg_latency_in_ms = None - self.min_latency_in_ms = None - self.max_latency_in_ms = None - self.probes_sent = None - self.probes_failed = None - - -class ConnectivityIssue(Model): - """Information about an issue encountered in the process of checking for - connectivity. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar origin: The origin of the issue. Possible values include: 'Local', - 'Inbound', 'Outbound' - :vartype origin: str or ~azure.mgmt.network.v2019_07_01.models.Origin - :ivar severity: The severity of the issue. Possible values include: - 'Error', 'Warning' - :vartype severity: str or ~azure.mgmt.network.v2019_07_01.models.Severity - :ivar type: The type of issue. Possible values include: 'Unknown', - 'AgentStopped', 'GuestFirewall', 'DnsResolution', 'SocketBind', - 'NetworkSecurityRule', 'UserDefinedRoute', 'PortThrottled', 'Platform' - :vartype type: str or ~azure.mgmt.network.v2019_07_01.models.IssueType - :ivar context: Provides additional context on the issue. - :vartype context: list[dict[str, str]] - """ - - _validation = { - 'origin': {'readonly': True}, - 'severity': {'readonly': True}, - 'type': {'readonly': True}, - 'context': {'readonly': True}, - } - - _attribute_map = { - 'origin': {'key': 'origin', 'type': 'str'}, - 'severity': {'key': 'severity', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'context': {'key': 'context', 'type': '[{str}]'}, - } - - def __init__(self, **kwargs): - super(ConnectivityIssue, self).__init__(**kwargs) - self.origin = None - self.severity = None - self.type = None - self.context = None - - -class ConnectivityParameters(Model): - """Parameters that determine how the connectivity check will be performed. - - All required parameters must be populated in order to send to Azure. - - :param source: Required. Describes the source of the connection. - :type source: ~azure.mgmt.network.v2019_07_01.models.ConnectivitySource - :param destination: Required. Describes the destination of connection. - :type destination: - ~azure.mgmt.network.v2019_07_01.models.ConnectivityDestination - :param protocol: Network protocol. Possible values include: 'Tcp', 'Http', - 'Https', 'Icmp' - :type protocol: str or ~azure.mgmt.network.v2019_07_01.models.Protocol - :param protocol_configuration: Configuration of the protocol. - :type protocol_configuration: - ~azure.mgmt.network.v2019_07_01.models.ProtocolConfiguration - """ - - _validation = { - 'source': {'required': True}, - 'destination': {'required': True}, - } - - _attribute_map = { - 'source': {'key': 'source', 'type': 'ConnectivitySource'}, - 'destination': {'key': 'destination', 'type': 'ConnectivityDestination'}, - 'protocol': {'key': 'protocol', 'type': 'str'}, - 'protocol_configuration': {'key': 'protocolConfiguration', 'type': 'ProtocolConfiguration'}, - } - - def __init__(self, **kwargs): - super(ConnectivityParameters, self).__init__(**kwargs) - self.source = kwargs.get('source', None) - self.destination = kwargs.get('destination', None) - self.protocol = kwargs.get('protocol', None) - self.protocol_configuration = kwargs.get('protocol_configuration', None) - - -class ConnectivitySource(Model): - """Parameters that define the source of the connection. - - All required parameters must be populated in order to send to Azure. - - :param resource_id: Required. The ID of the resource from which a - connectivity check will be initiated. - :type resource_id: str - :param port: The source port from which a connectivity check will be - performed. - :type port: int - """ - - _validation = { - 'resource_id': {'required': True}, - } - - _attribute_map = { - 'resource_id': {'key': 'resourceId', 'type': 'str'}, - 'port': {'key': 'port', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(ConnectivitySource, self).__init__(**kwargs) - self.resource_id = kwargs.get('resource_id', None) - self.port = kwargs.get('port', None) - - -class Container(SubResource): - """Reference to container resource in remote resource provider. - - :param id: Resource ID. - :type id: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(Container, self).__init__(**kwargs) - - -class ContainerNetworkInterface(SubResource): - """Container network interface child resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param container_network_interface_configuration: Container network - interface configuration from which this container network interface is - created. - :type container_network_interface_configuration: - ~azure.mgmt.network.v2019_07_01.models.ContainerNetworkInterfaceConfiguration - :param container: Reference to the container to which this container - network interface is attached. - :type container: ~azure.mgmt.network.v2019_07_01.models.Container - :param ip_configurations: Reference to the ip configuration on this - container nic. - :type ip_configurations: - list[~azure.mgmt.network.v2019_07_01.models.ContainerNetworkInterfaceIpConfiguration] - :ivar provisioning_state: The provisioning state of the container network - interface resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: The name of the resource. This name can be used to access the - resource. - :type name: str - :ivar type: Sub Resource type. - :vartype type: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'container_network_interface_configuration': {'key': 'properties.containerNetworkInterfaceConfiguration', 'type': 'ContainerNetworkInterfaceConfiguration'}, - 'container': {'key': 'properties.container', 'type': 'Container'}, - 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[ContainerNetworkInterfaceIpConfiguration]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ContainerNetworkInterface, self).__init__(**kwargs) - self.container_network_interface_configuration = kwargs.get('container_network_interface_configuration', None) - self.container = kwargs.get('container', None) - self.ip_configurations = kwargs.get('ip_configurations', None) - self.provisioning_state = None - self.name = kwargs.get('name', None) - self.type = None - self.etag = kwargs.get('etag', None) - - -class ContainerNetworkInterfaceConfiguration(SubResource): - """Container network interface configuration child resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param ip_configurations: A list of ip configurations of the container - network interface configuration. - :type ip_configurations: - list[~azure.mgmt.network.v2019_07_01.models.IPConfigurationProfile] - :param container_network_interfaces: A list of container network - interfaces created from this container network interface configuration. - :type container_network_interfaces: - list[~azure.mgmt.network.v2019_07_01.models.SubResource] - :ivar provisioning_state: The provisioning state of the container network - interface configuration resource. Possible values include: 'Succeeded', - 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: The name of the resource. This name can be used to access the - resource. - :type name: str - :ivar type: Sub Resource type. - :vartype type: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[IPConfigurationProfile]'}, - 'container_network_interfaces': {'key': 'properties.containerNetworkInterfaces', 'type': '[SubResource]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ContainerNetworkInterfaceConfiguration, self).__init__(**kwargs) - self.ip_configurations = kwargs.get('ip_configurations', None) - self.container_network_interfaces = kwargs.get('container_network_interfaces', None) - self.provisioning_state = None - self.name = kwargs.get('name', None) - self.type = None - self.etag = kwargs.get('etag', None) - - -class ContainerNetworkInterfaceIpConfiguration(Model): - """The ip configuration for a container network interface. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar provisioning_state: The provisioning state of the container network - interface IP configuration resource. Possible values include: 'Succeeded', - 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: The name of the resource. This name can be used to access the - resource. - :type name: str - :ivar type: Sub Resource type. - :vartype type: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ContainerNetworkInterfaceIpConfiguration, self).__init__(**kwargs) - self.provisioning_state = None - self.name = kwargs.get('name', None) - self.type = None - self.etag = kwargs.get('etag', None) - - -class DdosCustomPolicy(Resource): - """A DDoS custom policy in a resource group. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :ivar resource_guid: The resource GUID property of the DDoS custom policy - resource. It uniquely identifies the resource, even if the user changes - its name or migrate the resource across subscriptions or resource groups. - :vartype resource_guid: str - :ivar provisioning_state: The provisioning state of the DDoS custom policy - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :ivar public_ip_addresses: The list of public IPs associated with the DDoS - custom policy resource. This list is read-only. - :vartype public_ip_addresses: - list[~azure.mgmt.network.v2019_07_01.models.SubResource] - :param protocol_custom_settings: The protocol-specific DDoS policy - customization parameters. - :type protocol_custom_settings: - list[~azure.mgmt.network.v2019_07_01.models.ProtocolCustomSettingsFormat] - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'resource_guid': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'public_ip_addresses': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'public_ip_addresses': {'key': 'properties.publicIPAddresses', 'type': '[SubResource]'}, - 'protocol_custom_settings': {'key': 'properties.protocolCustomSettings', 'type': '[ProtocolCustomSettingsFormat]'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(DdosCustomPolicy, self).__init__(**kwargs) - self.resource_guid = None - self.provisioning_state = None - self.public_ip_addresses = None - self.protocol_custom_settings = kwargs.get('protocol_custom_settings', None) - self.etag = None - - -class DdosProtectionPlan(Model): - """A DDoS protection plan in a resource group. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar id: Resource ID. - :vartype id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :ivar resource_guid: The resource GUID property of the DDoS protection - plan resource. It uniquely identifies the resource, even if the user - changes its name or migrate the resource across subscriptions or resource - groups. - :vartype resource_guid: str - :ivar provisioning_state: The provisioning state of the DDoS protection - plan resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :ivar virtual_networks: The list of virtual networks associated with the - DDoS protection plan resource. This list is read-only. - :vartype virtual_networks: - list[~azure.mgmt.network.v2019_07_01.models.SubResource] - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'resource_guid': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'virtual_networks': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'virtual_networks': {'key': 'properties.virtualNetworks', 'type': '[SubResource]'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(DdosProtectionPlan, self).__init__(**kwargs) - self.id = None - self.name = None - self.type = None - self.location = kwargs.get('location', None) - self.tags = kwargs.get('tags', None) - self.resource_guid = None - self.provisioning_state = None - self.virtual_networks = None - self.etag = None - - -class DdosSettings(Model): - """Contains the DDoS protection settings of the public IP. - - :param ddos_custom_policy: The DDoS custom policy associated with the - public IP. - :type ddos_custom_policy: - ~azure.mgmt.network.v2019_07_01.models.SubResource - :param protection_coverage: The DDoS protection policy customizability of - the public IP. Only standard coverage will have the ability to be - customized. Possible values include: 'Basic', 'Standard' - :type protection_coverage: str or - ~azure.mgmt.network.v2019_07_01.models.DdosSettingsProtectionCoverage - """ - - _attribute_map = { - 'ddos_custom_policy': {'key': 'ddosCustomPolicy', 'type': 'SubResource'}, - 'protection_coverage': {'key': 'protectionCoverage', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(DdosSettings, self).__init__(**kwargs) - self.ddos_custom_policy = kwargs.get('ddos_custom_policy', None) - self.protection_coverage = kwargs.get('protection_coverage', None) - - -class Delegation(SubResource): - """Details the service to which the subnet is delegated. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param service_name: The name of the service to whom the subnet should be - delegated (e.g. Microsoft.Sql/servers). - :type service_name: str - :param actions: Describes the actions permitted to the service upon - delegation. - :type actions: list[str] - :ivar provisioning_state: The provisioning state of the service delegation - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: The name of the resource that is unique within a subnet. This - name can be used to access the resource. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'service_name': {'key': 'properties.serviceName', 'type': 'str'}, - 'actions': {'key': 'properties.actions', 'type': '[str]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(Delegation, self).__init__(**kwargs) - self.service_name = kwargs.get('service_name', None) - self.actions = kwargs.get('actions', None) - self.provisioning_state = None - self.name = kwargs.get('name', None) - self.etag = kwargs.get('etag', None) - - -class DeviceProperties(Model): - """List of properties of the device. - - :param device_vendor: Name of the device Vendor. - :type device_vendor: str - :param device_model: Model of the device. - :type device_model: str - :param link_speed_in_mbps: Link speed. - :type link_speed_in_mbps: int - """ - - _attribute_map = { - 'device_vendor': {'key': 'deviceVendor', 'type': 'str'}, - 'device_model': {'key': 'deviceModel', 'type': 'str'}, - 'link_speed_in_mbps': {'key': 'linkSpeedInMbps', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(DeviceProperties, self).__init__(**kwargs) - self.device_vendor = kwargs.get('device_vendor', None) - self.device_model = kwargs.get('device_model', None) - self.link_speed_in_mbps = kwargs.get('link_speed_in_mbps', None) - - -class DhcpOptions(Model): - """DhcpOptions contains an array of DNS servers available to VMs deployed in - the virtual network. Standard DHCP option for a subnet overrides VNET DHCP - options. - - :param dns_servers: The list of DNS servers IP addresses. - :type dns_servers: list[str] - """ - - _attribute_map = { - 'dns_servers': {'key': 'dnsServers', 'type': '[str]'}, - } - - def __init__(self, **kwargs): - super(DhcpOptions, self).__init__(**kwargs) - self.dns_servers = kwargs.get('dns_servers', None) - - -class Dimension(Model): - """Dimension of the metric. - - :param name: The name of the dimension. - :type name: str - :param display_name: The display name of the dimension. - :type display_name: str - :param internal_name: The internal name of the dimension. - :type internal_name: str - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'display_name': {'key': 'displayName', 'type': 'str'}, - 'internal_name': {'key': 'internalName', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(Dimension, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.display_name = kwargs.get('display_name', None) - self.internal_name = kwargs.get('internal_name', None) - - -class DnsNameAvailabilityResult(Model): - """Response for the CheckDnsNameAvailability API service call. - - :param available: Domain availability (True/False). - :type available: bool - """ - - _attribute_map = { - 'available': {'key': 'available', 'type': 'bool'}, - } - - def __init__(self, **kwargs): - super(DnsNameAvailabilityResult, self).__init__(**kwargs) - self.available = kwargs.get('available', None) - - -class EffectiveNetworkSecurityGroup(Model): - """Effective network security group. - - :param network_security_group: The ID of network security group that is - applied. - :type network_security_group: - ~azure.mgmt.network.v2019_07_01.models.SubResource - :param association: Associated resources. - :type association: - ~azure.mgmt.network.v2019_07_01.models.EffectiveNetworkSecurityGroupAssociation - :param effective_security_rules: A collection of effective security rules. - :type effective_security_rules: - list[~azure.mgmt.network.v2019_07_01.models.EffectiveNetworkSecurityRule] - :param tag_map: Mapping of tags to list of IP Addresses included within - the tag. - :type tag_map: dict[str, list[str]] - """ - - _attribute_map = { - 'network_security_group': {'key': 'networkSecurityGroup', 'type': 'SubResource'}, - 'association': {'key': 'association', 'type': 'EffectiveNetworkSecurityGroupAssociation'}, - 'effective_security_rules': {'key': 'effectiveSecurityRules', 'type': '[EffectiveNetworkSecurityRule]'}, - 'tag_map': {'key': 'tagMap', 'type': '{[str]}'}, - } - - def __init__(self, **kwargs): - super(EffectiveNetworkSecurityGroup, self).__init__(**kwargs) - self.network_security_group = kwargs.get('network_security_group', None) - self.association = kwargs.get('association', None) - self.effective_security_rules = kwargs.get('effective_security_rules', None) - self.tag_map = kwargs.get('tag_map', None) - - -class EffectiveNetworkSecurityGroupAssociation(Model): - """The effective network security group association. - - :param subnet: The ID of the subnet if assigned. - :type subnet: ~azure.mgmt.network.v2019_07_01.models.SubResource - :param network_interface: The ID of the network interface if assigned. - :type network_interface: - ~azure.mgmt.network.v2019_07_01.models.SubResource - """ - - _attribute_map = { - 'subnet': {'key': 'subnet', 'type': 'SubResource'}, - 'network_interface': {'key': 'networkInterface', 'type': 'SubResource'}, - } - - def __init__(self, **kwargs): - super(EffectiveNetworkSecurityGroupAssociation, self).__init__(**kwargs) - self.subnet = kwargs.get('subnet', None) - self.network_interface = kwargs.get('network_interface', None) - - -class EffectiveNetworkSecurityGroupListResult(Model): - """Response for list effective network security groups API service call. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param value: A list of effective network security groups. - :type value: - list[~azure.mgmt.network.v2019_07_01.models.EffectiveNetworkSecurityGroup] - :ivar next_link: The URL to get the next set of results. - :vartype next_link: str - """ - - _validation = { - 'next_link': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[EffectiveNetworkSecurityGroup]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(EffectiveNetworkSecurityGroupListResult, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - self.next_link = None - - -class EffectiveNetworkSecurityRule(Model): - """Effective network security rules. - - :param name: The name of the security rule specified by the user (if - created by the user). - :type name: str - :param protocol: The network protocol this rule applies to. Possible - values include: 'Tcp', 'Udp', 'All' - :type protocol: str or - ~azure.mgmt.network.v2019_07_01.models.EffectiveSecurityRuleProtocol - :param source_port_range: The source port or range. - :type source_port_range: str - :param destination_port_range: The destination port or range. - :type destination_port_range: str - :param source_port_ranges: The source port ranges. Expected values include - a single integer between 0 and 65535, a range using '-' as separator (e.g. - 100-400), or an asterisk (*). - :type source_port_ranges: list[str] - :param destination_port_ranges: The destination port ranges. Expected - values include a single integer between 0 and 65535, a range using '-' as - separator (e.g. 100-400), or an asterisk (*). - :type destination_port_ranges: list[str] - :param source_address_prefix: The source address prefix. - :type source_address_prefix: str - :param destination_address_prefix: The destination address prefix. - :type destination_address_prefix: str - :param source_address_prefixes: The source address prefixes. Expected - values include CIDR IP ranges, Default Tags (VirtualNetwork, - AzureLoadBalancer, Internet), System Tags, and the asterisk (*). - :type source_address_prefixes: list[str] - :param destination_address_prefixes: The destination address prefixes. - Expected values include CIDR IP ranges, Default Tags (VirtualNetwork, - AzureLoadBalancer, Internet), System Tags, and the asterisk (*). - :type destination_address_prefixes: list[str] - :param expanded_source_address_prefix: The expanded source address prefix. - :type expanded_source_address_prefix: list[str] - :param expanded_destination_address_prefix: Expanded destination address - prefix. - :type expanded_destination_address_prefix: list[str] - :param access: Whether network traffic is allowed or denied. Possible - values include: 'Allow', 'Deny' - :type access: str or - ~azure.mgmt.network.v2019_07_01.models.SecurityRuleAccess - :param priority: The priority of the rule. - :type priority: int - :param direction: The direction of the rule. Possible values include: - 'Inbound', 'Outbound' - :type direction: str or - ~azure.mgmt.network.v2019_07_01.models.SecurityRuleDirection - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'protocol': {'key': 'protocol', 'type': 'str'}, - 'source_port_range': {'key': 'sourcePortRange', 'type': 'str'}, - 'destination_port_range': {'key': 'destinationPortRange', 'type': 'str'}, - 'source_port_ranges': {'key': 'sourcePortRanges', 'type': '[str]'}, - 'destination_port_ranges': {'key': 'destinationPortRanges', 'type': '[str]'}, - 'source_address_prefix': {'key': 'sourceAddressPrefix', 'type': 'str'}, - 'destination_address_prefix': {'key': 'destinationAddressPrefix', 'type': 'str'}, - 'source_address_prefixes': {'key': 'sourceAddressPrefixes', 'type': '[str]'}, - 'destination_address_prefixes': {'key': 'destinationAddressPrefixes', 'type': '[str]'}, - 'expanded_source_address_prefix': {'key': 'expandedSourceAddressPrefix', 'type': '[str]'}, - 'expanded_destination_address_prefix': {'key': 'expandedDestinationAddressPrefix', 'type': '[str]'}, - 'access': {'key': 'access', 'type': 'str'}, - 'priority': {'key': 'priority', 'type': 'int'}, - 'direction': {'key': 'direction', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(EffectiveNetworkSecurityRule, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.protocol = kwargs.get('protocol', None) - self.source_port_range = kwargs.get('source_port_range', None) - self.destination_port_range = kwargs.get('destination_port_range', None) - self.source_port_ranges = kwargs.get('source_port_ranges', None) - self.destination_port_ranges = kwargs.get('destination_port_ranges', None) - self.source_address_prefix = kwargs.get('source_address_prefix', None) - self.destination_address_prefix = kwargs.get('destination_address_prefix', None) - self.source_address_prefixes = kwargs.get('source_address_prefixes', None) - self.destination_address_prefixes = kwargs.get('destination_address_prefixes', None) - self.expanded_source_address_prefix = kwargs.get('expanded_source_address_prefix', None) - self.expanded_destination_address_prefix = kwargs.get('expanded_destination_address_prefix', None) - self.access = kwargs.get('access', None) - self.priority = kwargs.get('priority', None) - self.direction = kwargs.get('direction', None) - - -class EffectiveRoute(Model): - """Effective Route. - - :param name: The name of the user defined route. This is optional. - :type name: str - :param disable_bgp_route_propagation: If true, on-premises routes are not - propagated to the network interfaces in the subnet. - :type disable_bgp_route_propagation: bool - :param source: Who created the route. Possible values include: 'Unknown', - 'User', 'VirtualNetworkGateway', 'Default' - :type source: str or - ~azure.mgmt.network.v2019_07_01.models.EffectiveRouteSource - :param state: The value of effective route. Possible values include: - 'Active', 'Invalid' - :type state: str or - ~azure.mgmt.network.v2019_07_01.models.EffectiveRouteState - :param address_prefix: The address prefixes of the effective routes in - CIDR notation. - :type address_prefix: list[str] - :param next_hop_ip_address: The IP address of the next hop of the - effective route. - :type next_hop_ip_address: list[str] - :param next_hop_type: The type of Azure hop the packet should be sent to. - Possible values include: 'VirtualNetworkGateway', 'VnetLocal', 'Internet', - 'VirtualAppliance', 'None' - :type next_hop_type: str or - ~azure.mgmt.network.v2019_07_01.models.RouteNextHopType - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'disable_bgp_route_propagation': {'key': 'disableBgpRoutePropagation', 'type': 'bool'}, - 'source': {'key': 'source', 'type': 'str'}, - 'state': {'key': 'state', 'type': 'str'}, - 'address_prefix': {'key': 'addressPrefix', 'type': '[str]'}, - 'next_hop_ip_address': {'key': 'nextHopIpAddress', 'type': '[str]'}, - 'next_hop_type': {'key': 'nextHopType', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(EffectiveRoute, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.disable_bgp_route_propagation = kwargs.get('disable_bgp_route_propagation', None) - self.source = kwargs.get('source', None) - self.state = kwargs.get('state', None) - self.address_prefix = kwargs.get('address_prefix', None) - self.next_hop_ip_address = kwargs.get('next_hop_ip_address', None) - self.next_hop_type = kwargs.get('next_hop_type', None) - - -class EffectiveRouteListResult(Model): - """Response for list effective route API service call. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param value: A list of effective routes. - :type value: list[~azure.mgmt.network.v2019_07_01.models.EffectiveRoute] - :ivar next_link: The URL to get the next set of results. - :vartype next_link: str - """ - - _validation = { - 'next_link': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[EffectiveRoute]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(EffectiveRouteListResult, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - self.next_link = None - - -class EndpointServiceResult(SubResource): - """Endpoint service. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Name of the endpoint service. - :vartype name: str - :ivar type: Type of the endpoint service. - :vartype type: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(EndpointServiceResult, self).__init__(**kwargs) - self.name = None - self.type = None - - -class Error(Model): - """Common error representation. - - :param code: Error code. - :type code: str - :param message: Error message. - :type message: str - :param target: Error target. - :type target: str - :param details: Error details. - :type details: list[~azure.mgmt.network.v2019_07_01.models.ErrorDetails] - :param inner_error: Inner error message. - :type inner_error: str - """ - - _attribute_map = { - 'code': {'key': 'code', 'type': 'str'}, - 'message': {'key': 'message', 'type': 'str'}, - 'target': {'key': 'target', 'type': 'str'}, - 'details': {'key': 'details', 'type': '[ErrorDetails]'}, - 'inner_error': {'key': 'innerError', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(Error, self).__init__(**kwargs) - self.code = kwargs.get('code', None) - self.message = kwargs.get('message', None) - self.target = kwargs.get('target', None) - self.details = kwargs.get('details', None) - self.inner_error = kwargs.get('inner_error', None) - - -class ErrorException(HttpOperationError): - """Server responsed with exception of type: 'Error'. - - :param deserialize: A deserializer - :param response: Server response to be deserialized. - """ - - def __init__(self, deserialize, response, *args): - - super(ErrorException, self).__init__(deserialize, response, 'Error', *args) - - -class ErrorDetails(Model): - """Common error details representation. - - :param code: Error code. - :type code: str - :param target: Error target. - :type target: str - :param message: Error message. - :type message: str - """ - - _attribute_map = { - 'code': {'key': 'code', 'type': 'str'}, - 'target': {'key': 'target', 'type': 'str'}, - 'message': {'key': 'message', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ErrorDetails, self).__init__(**kwargs) - self.code = kwargs.get('code', None) - self.target = kwargs.get('target', None) - self.message = kwargs.get('message', None) - - -class ErrorResponse(Model): - """The error object. - - :param error: Error. The error details object. - :type error: ~azure.mgmt.network.v2019_07_01.models.ErrorDetails - """ - - _attribute_map = { - 'error': {'key': 'error', 'type': 'ErrorDetails'}, - } - - def __init__(self, **kwargs): - super(ErrorResponse, self).__init__(**kwargs) - self.error = kwargs.get('error', None) - - -class ErrorResponseException(HttpOperationError): - """Server responsed with exception of type: 'ErrorResponse'. - - :param deserialize: A deserializer - :param response: Server response to be deserialized. - """ - - def __init__(self, deserialize, response, *args): - - super(ErrorResponseException, self).__init__(deserialize, response, 'ErrorResponse', *args) - - -class EvaluatedNetworkSecurityGroup(Model): - """Results of network security group evaluation. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param network_security_group_id: Network security group ID. - :type network_security_group_id: str - :param applied_to: Resource ID of nic or subnet to which network security - group is applied. - :type applied_to: str - :param matched_rule: Matched network security rule. - :type matched_rule: ~azure.mgmt.network.v2019_07_01.models.MatchedRule - :ivar rules_evaluation_result: List of network security rules evaluation - results. - :vartype rules_evaluation_result: - list[~azure.mgmt.network.v2019_07_01.models.NetworkSecurityRulesEvaluationResult] - """ - - _validation = { - 'rules_evaluation_result': {'readonly': True}, - } - - _attribute_map = { - 'network_security_group_id': {'key': 'networkSecurityGroupId', 'type': 'str'}, - 'applied_to': {'key': 'appliedTo', 'type': 'str'}, - 'matched_rule': {'key': 'matchedRule', 'type': 'MatchedRule'}, - 'rules_evaluation_result': {'key': 'rulesEvaluationResult', 'type': '[NetworkSecurityRulesEvaluationResult]'}, - } - - def __init__(self, **kwargs): - super(EvaluatedNetworkSecurityGroup, self).__init__(**kwargs) - self.network_security_group_id = kwargs.get('network_security_group_id', None) - self.applied_to = kwargs.get('applied_to', None) - self.matched_rule = kwargs.get('matched_rule', None) - self.rules_evaluation_result = None - - -class ExpressRouteCircuit(Resource): - """ExpressRouteCircuit resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param sku: The SKU. - :type sku: ~azure.mgmt.network.v2019_07_01.models.ExpressRouteCircuitSku - :param allow_classic_operations: Allow classic operations. - :type allow_classic_operations: bool - :param circuit_provisioning_state: The CircuitProvisioningState state of - the resource. - :type circuit_provisioning_state: str - :param service_provider_provisioning_state: The - ServiceProviderProvisioningState state of the resource. Possible values - include: 'NotProvisioned', 'Provisioning', 'Provisioned', 'Deprovisioning' - :type service_provider_provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ServiceProviderProvisioningState - :param authorizations: The list of authorizations. - :type authorizations: - list[~azure.mgmt.network.v2019_07_01.models.ExpressRouteCircuitAuthorization] - :param peerings: The list of peerings. - :type peerings: - list[~azure.mgmt.network.v2019_07_01.models.ExpressRouteCircuitPeering] - :param service_key: The ServiceKey. - :type service_key: str - :param service_provider_notes: The ServiceProviderNotes. - :type service_provider_notes: str - :param service_provider_properties: The ServiceProviderProperties. - :type service_provider_properties: - ~azure.mgmt.network.v2019_07_01.models.ExpressRouteCircuitServiceProviderProperties - :param express_route_port: The reference to the ExpressRoutePort resource - when the circuit is provisioned on an ExpressRoutePort resource. - :type express_route_port: - ~azure.mgmt.network.v2019_07_01.models.SubResource - :param bandwidth_in_gbps: The bandwidth of the circuit when the circuit is - provisioned on an ExpressRoutePort resource. - :type bandwidth_in_gbps: float - :ivar stag: The identifier of the circuit traffic. Outer tag for QinQ - encapsulation. - :vartype stag: int - :param provisioning_state: The provisioning state of the express route - circuit resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param gateway_manager_etag: The GatewayManager Etag. - :type gateway_manager_etag: str - :param global_reach_enabled: Flag denoting Global reach status. - :type global_reach_enabled: bool - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'stag': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'sku': {'key': 'sku', 'type': 'ExpressRouteCircuitSku'}, - 'allow_classic_operations': {'key': 'properties.allowClassicOperations', 'type': 'bool'}, - 'circuit_provisioning_state': {'key': 'properties.circuitProvisioningState', 'type': 'str'}, - 'service_provider_provisioning_state': {'key': 'properties.serviceProviderProvisioningState', 'type': 'str'}, - 'authorizations': {'key': 'properties.authorizations', 'type': '[ExpressRouteCircuitAuthorization]'}, - 'peerings': {'key': 'properties.peerings', 'type': '[ExpressRouteCircuitPeering]'}, - 'service_key': {'key': 'properties.serviceKey', 'type': 'str'}, - 'service_provider_notes': {'key': 'properties.serviceProviderNotes', 'type': 'str'}, - 'service_provider_properties': {'key': 'properties.serviceProviderProperties', 'type': 'ExpressRouteCircuitServiceProviderProperties'}, - 'express_route_port': {'key': 'properties.expressRoutePort', 'type': 'SubResource'}, - 'bandwidth_in_gbps': {'key': 'properties.bandwidthInGbps', 'type': 'float'}, - 'stag': {'key': 'properties.stag', 'type': 'int'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'gateway_manager_etag': {'key': 'properties.gatewayManagerEtag', 'type': 'str'}, - 'global_reach_enabled': {'key': 'properties.globalReachEnabled', 'type': 'bool'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ExpressRouteCircuit, self).__init__(**kwargs) - self.sku = kwargs.get('sku', None) - self.allow_classic_operations = kwargs.get('allow_classic_operations', None) - self.circuit_provisioning_state = kwargs.get('circuit_provisioning_state', None) - self.service_provider_provisioning_state = kwargs.get('service_provider_provisioning_state', None) - self.authorizations = kwargs.get('authorizations', None) - self.peerings = kwargs.get('peerings', None) - self.service_key = kwargs.get('service_key', None) - self.service_provider_notes = kwargs.get('service_provider_notes', None) - self.service_provider_properties = kwargs.get('service_provider_properties', None) - self.express_route_port = kwargs.get('express_route_port', None) - self.bandwidth_in_gbps = kwargs.get('bandwidth_in_gbps', None) - self.stag = None - self.provisioning_state = kwargs.get('provisioning_state', None) - self.gateway_manager_etag = kwargs.get('gateway_manager_etag', None) - self.global_reach_enabled = kwargs.get('global_reach_enabled', None) - self.etag = None - - -class ExpressRouteCircuitArpTable(Model): - """The ARP table associated with the ExpressRouteCircuit. - - :param age: Entry age in minutes. - :type age: int - :param interface: Interface address. - :type interface: str - :param ip_address: The IP address. - :type ip_address: str - :param mac_address: The MAC address. - :type mac_address: str - """ - - _attribute_map = { - 'age': {'key': 'age', 'type': 'int'}, - 'interface': {'key': 'interface', 'type': 'str'}, - 'ip_address': {'key': 'ipAddress', 'type': 'str'}, - 'mac_address': {'key': 'macAddress', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ExpressRouteCircuitArpTable, self).__init__(**kwargs) - self.age = kwargs.get('age', None) - self.interface = kwargs.get('interface', None) - self.ip_address = kwargs.get('ip_address', None) - self.mac_address = kwargs.get('mac_address', None) - - -class ExpressRouteCircuitAuthorization(SubResource): - """Authorization in an ExpressRouteCircuit resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param authorization_key: The authorization key. - :type authorization_key: str - :param authorization_use_status: The authorization use status. Possible - values include: 'Available', 'InUse' - :type authorization_use_status: str or - ~azure.mgmt.network.v2019_07_01.models.AuthorizationUseStatus - :param provisioning_state: The provisioning state of the authorization - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :ivar type: Type of the resource. - :vartype type: str - """ - - _validation = { - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'authorization_key': {'key': 'properties.authorizationKey', 'type': 'str'}, - 'authorization_use_status': {'key': 'properties.authorizationUseStatus', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ExpressRouteCircuitAuthorization, self).__init__(**kwargs) - self.authorization_key = kwargs.get('authorization_key', None) - self.authorization_use_status = kwargs.get('authorization_use_status', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.name = kwargs.get('name', None) - self.etag = None - self.type = None - - -class ExpressRouteCircuitConnection(SubResource): - """Express Route Circuit Connection in an ExpressRouteCircuitPeering resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param express_route_circuit_peering: Reference to Express Route Circuit - Private Peering Resource of the circuit initiating connection. - :type express_route_circuit_peering: - ~azure.mgmt.network.v2019_07_01.models.SubResource - :param peer_express_route_circuit_peering: Reference to Express Route - Circuit Private Peering Resource of the peered circuit. - :type peer_express_route_circuit_peering: - ~azure.mgmt.network.v2019_07_01.models.SubResource - :param address_prefix: /29 IP address space to carve out Customer - addresses for tunnels. - :type address_prefix: str - :param authorization_key: The authorization key. - :type authorization_key: str - :param circuit_connection_status: Express Route Circuit connection state. - Possible values include: 'Connected', 'Connecting', 'Disconnected' - :type circuit_connection_status: str or - ~azure.mgmt.network.v2019_07_01.models.CircuitConnectionStatus - :ivar provisioning_state: The provisioning state of the express route - circuit connection resource. Possible values include: 'Succeeded', - 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :ivar type: Type of the resource. - :vartype type: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'express_route_circuit_peering': {'key': 'properties.expressRouteCircuitPeering', 'type': 'SubResource'}, - 'peer_express_route_circuit_peering': {'key': 'properties.peerExpressRouteCircuitPeering', 'type': 'SubResource'}, - 'address_prefix': {'key': 'properties.addressPrefix', 'type': 'str'}, - 'authorization_key': {'key': 'properties.authorizationKey', 'type': 'str'}, - 'circuit_connection_status': {'key': 'properties.circuitConnectionStatus', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ExpressRouteCircuitConnection, self).__init__(**kwargs) - self.express_route_circuit_peering = kwargs.get('express_route_circuit_peering', None) - self.peer_express_route_circuit_peering = kwargs.get('peer_express_route_circuit_peering', None) - self.address_prefix = kwargs.get('address_prefix', None) - self.authorization_key = kwargs.get('authorization_key', None) - self.circuit_connection_status = kwargs.get('circuit_connection_status', None) - self.provisioning_state = None - self.name = kwargs.get('name', None) - self.etag = None - self.type = None - - -class ExpressRouteCircuitPeering(SubResource): - """Peering in an ExpressRouteCircuit resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param peering_type: The peering type. Possible values include: - 'AzurePublicPeering', 'AzurePrivatePeering', 'MicrosoftPeering' - :type peering_type: str or - ~azure.mgmt.network.v2019_07_01.models.ExpressRoutePeeringType - :param state: The peering state. Possible values include: 'Disabled', - 'Enabled' - :type state: str or - ~azure.mgmt.network.v2019_07_01.models.ExpressRoutePeeringState - :param azure_asn: The Azure ASN. - :type azure_asn: int - :param peer_asn: The peer ASN. - :type peer_asn: long - :param primary_peer_address_prefix: The primary address prefix. - :type primary_peer_address_prefix: str - :param secondary_peer_address_prefix: The secondary address prefix. - :type secondary_peer_address_prefix: str - :param primary_azure_port: The primary port. - :type primary_azure_port: str - :param secondary_azure_port: The secondary port. - :type secondary_azure_port: str - :param shared_key: The shared key. - :type shared_key: str - :param vlan_id: The VLAN ID. - :type vlan_id: int - :param microsoft_peering_config: The Microsoft peering configuration. - :type microsoft_peering_config: - ~azure.mgmt.network.v2019_07_01.models.ExpressRouteCircuitPeeringConfig - :param stats: The peering stats of express route circuit. - :type stats: - ~azure.mgmt.network.v2019_07_01.models.ExpressRouteCircuitStats - :param provisioning_state: The provisioning state of the express route - circuit peering resource. Possible values include: 'Succeeded', - 'Updating', 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param gateway_manager_etag: The GatewayManager Etag. - :type gateway_manager_etag: str - :param last_modified_by: Who was the last to modify the peering. - :type last_modified_by: str - :param route_filter: The reference of the RouteFilter resource. - :type route_filter: ~azure.mgmt.network.v2019_07_01.models.SubResource - :param ipv6_peering_config: The IPv6 peering configuration. - :type ipv6_peering_config: - ~azure.mgmt.network.v2019_07_01.models.Ipv6ExpressRouteCircuitPeeringConfig - :param express_route_connection: The ExpressRoute connection. - :type express_route_connection: - ~azure.mgmt.network.v2019_07_01.models.ExpressRouteConnectionId - :param connections: The list of circuit connections associated with Azure - Private Peering for this circuit. - :type connections: - list[~azure.mgmt.network.v2019_07_01.models.ExpressRouteCircuitConnection] - :ivar peered_connections: The list of peered circuit connections - associated with Azure Private Peering for this circuit. - :vartype peered_connections: - list[~azure.mgmt.network.v2019_07_01.models.PeerExpressRouteCircuitConnection] - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :ivar type: Type of the resource. - :vartype type: str - """ - - _validation = { - 'peer_asn': {'maximum': 4294967295, 'minimum': 1}, - 'peered_connections': {'readonly': True}, - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'peering_type': {'key': 'properties.peeringType', 'type': 'str'}, - 'state': {'key': 'properties.state', 'type': 'str'}, - 'azure_asn': {'key': 'properties.azureASN', 'type': 'int'}, - 'peer_asn': {'key': 'properties.peerASN', 'type': 'long'}, - 'primary_peer_address_prefix': {'key': 'properties.primaryPeerAddressPrefix', 'type': 'str'}, - 'secondary_peer_address_prefix': {'key': 'properties.secondaryPeerAddressPrefix', 'type': 'str'}, - 'primary_azure_port': {'key': 'properties.primaryAzurePort', 'type': 'str'}, - 'secondary_azure_port': {'key': 'properties.secondaryAzurePort', 'type': 'str'}, - 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, - 'vlan_id': {'key': 'properties.vlanId', 'type': 'int'}, - 'microsoft_peering_config': {'key': 'properties.microsoftPeeringConfig', 'type': 'ExpressRouteCircuitPeeringConfig'}, - 'stats': {'key': 'properties.stats', 'type': 'ExpressRouteCircuitStats'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'gateway_manager_etag': {'key': 'properties.gatewayManagerEtag', 'type': 'str'}, - 'last_modified_by': {'key': 'properties.lastModifiedBy', 'type': 'str'}, - 'route_filter': {'key': 'properties.routeFilter', 'type': 'SubResource'}, - 'ipv6_peering_config': {'key': 'properties.ipv6PeeringConfig', 'type': 'Ipv6ExpressRouteCircuitPeeringConfig'}, - 'express_route_connection': {'key': 'properties.expressRouteConnection', 'type': 'ExpressRouteConnectionId'}, - 'connections': {'key': 'properties.connections', 'type': '[ExpressRouteCircuitConnection]'}, - 'peered_connections': {'key': 'properties.peeredConnections', 'type': '[PeerExpressRouteCircuitConnection]'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ExpressRouteCircuitPeering, self).__init__(**kwargs) - self.peering_type = kwargs.get('peering_type', None) - self.state = kwargs.get('state', None) - self.azure_asn = kwargs.get('azure_asn', None) - self.peer_asn = kwargs.get('peer_asn', None) - self.primary_peer_address_prefix = kwargs.get('primary_peer_address_prefix', None) - self.secondary_peer_address_prefix = kwargs.get('secondary_peer_address_prefix', None) - self.primary_azure_port = kwargs.get('primary_azure_port', None) - self.secondary_azure_port = kwargs.get('secondary_azure_port', None) - self.shared_key = kwargs.get('shared_key', None) - self.vlan_id = kwargs.get('vlan_id', None) - self.microsoft_peering_config = kwargs.get('microsoft_peering_config', None) - self.stats = kwargs.get('stats', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.gateway_manager_etag = kwargs.get('gateway_manager_etag', None) - self.last_modified_by = kwargs.get('last_modified_by', None) - self.route_filter = kwargs.get('route_filter', None) - self.ipv6_peering_config = kwargs.get('ipv6_peering_config', None) - self.express_route_connection = kwargs.get('express_route_connection', None) - self.connections = kwargs.get('connections', None) - self.peered_connections = None - self.name = kwargs.get('name', None) - self.etag = None - self.type = None - - -class ExpressRouteCircuitPeeringConfig(Model): - """Specifies the peering configuration. - - :param advertised_public_prefixes: The reference of - AdvertisedPublicPrefixes. - :type advertised_public_prefixes: list[str] - :param advertised_communities: The communities of bgp peering. Specified - for microsoft peering. - :type advertised_communities: list[str] - :param advertised_public_prefixes_state: The advertised public prefix - state of the Peering resource. Possible values include: 'NotConfigured', - 'Configuring', 'Configured', 'ValidationNeeded' - :type advertised_public_prefixes_state: str or - ~azure.mgmt.network.v2019_07_01.models.ExpressRouteCircuitPeeringAdvertisedPublicPrefixState - :param legacy_mode: The legacy mode of the peering. - :type legacy_mode: int - :param customer_asn: The CustomerASN of the peering. - :type customer_asn: int - :param routing_registry_name: The RoutingRegistryName of the - configuration. - :type routing_registry_name: str - """ - - _attribute_map = { - 'advertised_public_prefixes': {'key': 'advertisedPublicPrefixes', 'type': '[str]'}, - 'advertised_communities': {'key': 'advertisedCommunities', 'type': '[str]'}, - 'advertised_public_prefixes_state': {'key': 'advertisedPublicPrefixesState', 'type': 'str'}, - 'legacy_mode': {'key': 'legacyMode', 'type': 'int'}, - 'customer_asn': {'key': 'customerASN', 'type': 'int'}, - 'routing_registry_name': {'key': 'routingRegistryName', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ExpressRouteCircuitPeeringConfig, self).__init__(**kwargs) - self.advertised_public_prefixes = kwargs.get('advertised_public_prefixes', None) - self.advertised_communities = kwargs.get('advertised_communities', None) - self.advertised_public_prefixes_state = kwargs.get('advertised_public_prefixes_state', None) - self.legacy_mode = kwargs.get('legacy_mode', None) - self.customer_asn = kwargs.get('customer_asn', None) - self.routing_registry_name = kwargs.get('routing_registry_name', None) - - -class ExpressRouteCircuitPeeringId(Model): - """ExpressRoute circuit peering identifier. - - :param id: The ID of the ExpressRoute circuit peering. - :type id: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ExpressRouteCircuitPeeringId, self).__init__(**kwargs) - self.id = kwargs.get('id', None) - - -class ExpressRouteCircuitReference(Model): - """Reference to an express route circuit. - - :param id: Corresponding Express Route Circuit Id. - :type id: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ExpressRouteCircuitReference, self).__init__(**kwargs) - self.id = kwargs.get('id', None) - - -class ExpressRouteCircuitRoutesTable(Model): - """The routes table associated with the ExpressRouteCircuit. - - :param network: IP address of a network entity. - :type network: str - :param next_hop: NextHop address. - :type next_hop: str - :param loc_prf: Local preference value as set with the set - local-preference route-map configuration command. - :type loc_prf: str - :param weight: Route Weight. - :type weight: int - :param path: Autonomous system paths to the destination network. - :type path: str - """ - - _attribute_map = { - 'network': {'key': 'network', 'type': 'str'}, - 'next_hop': {'key': 'nextHop', 'type': 'str'}, - 'loc_prf': {'key': 'locPrf', 'type': 'str'}, - 'weight': {'key': 'weight', 'type': 'int'}, - 'path': {'key': 'path', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ExpressRouteCircuitRoutesTable, self).__init__(**kwargs) - self.network = kwargs.get('network', None) - self.next_hop = kwargs.get('next_hop', None) - self.loc_prf = kwargs.get('loc_prf', None) - self.weight = kwargs.get('weight', None) - self.path = kwargs.get('path', None) - - -class ExpressRouteCircuitRoutesTableSummary(Model): - """The routes table associated with the ExpressRouteCircuit. - - :param neighbor: IP address of the neighbor. - :type neighbor: str - :param v: BGP version number spoken to the neighbor. - :type v: int - :param as_property: Autonomous system number. - :type as_property: int - :param up_down: The length of time that the BGP session has been in the - Established state, or the current status if not in the Established state. - :type up_down: str - :param state_pfx_rcd: Current state of the BGP session, and the number of - prefixes that have been received from a neighbor or peer group. - :type state_pfx_rcd: str - """ - - _attribute_map = { - 'neighbor': {'key': 'neighbor', 'type': 'str'}, - 'v': {'key': 'v', 'type': 'int'}, - 'as_property': {'key': 'as', 'type': 'int'}, - 'up_down': {'key': 'upDown', 'type': 'str'}, - 'state_pfx_rcd': {'key': 'statePfxRcd', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ExpressRouteCircuitRoutesTableSummary, self).__init__(**kwargs) - self.neighbor = kwargs.get('neighbor', None) - self.v = kwargs.get('v', None) - self.as_property = kwargs.get('as_property', None) - self.up_down = kwargs.get('up_down', None) - self.state_pfx_rcd = kwargs.get('state_pfx_rcd', None) - - -class ExpressRouteCircuitsArpTableListResult(Model): - """Response for ListArpTable associated with the Express Route Circuits API. - - :param value: A list of the ARP tables. - :type value: - list[~azure.mgmt.network.v2019_07_01.models.ExpressRouteCircuitArpTable] - :param next_link: The URL to get the next set of results. - :type next_link: str - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[ExpressRouteCircuitArpTable]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ExpressRouteCircuitsArpTableListResult, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - self.next_link = kwargs.get('next_link', None) - - -class ExpressRouteCircuitServiceProviderProperties(Model): - """Contains ServiceProviderProperties in an ExpressRouteCircuit. - - :param service_provider_name: The serviceProviderName. - :type service_provider_name: str - :param peering_location: The peering location. - :type peering_location: str - :param bandwidth_in_mbps: The BandwidthInMbps. - :type bandwidth_in_mbps: int - """ - - _attribute_map = { - 'service_provider_name': {'key': 'serviceProviderName', 'type': 'str'}, - 'peering_location': {'key': 'peeringLocation', 'type': 'str'}, - 'bandwidth_in_mbps': {'key': 'bandwidthInMbps', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(ExpressRouteCircuitServiceProviderProperties, self).__init__(**kwargs) - self.service_provider_name = kwargs.get('service_provider_name', None) - self.peering_location = kwargs.get('peering_location', None) - self.bandwidth_in_mbps = kwargs.get('bandwidth_in_mbps', None) - - -class ExpressRouteCircuitSku(Model): - """Contains SKU in an ExpressRouteCircuit. - - :param name: The name of the SKU. - :type name: str - :param tier: The tier of the SKU. Possible values include: 'Standard', - 'Premium', 'Basic', 'Local' - :type tier: str or - ~azure.mgmt.network.v2019_07_01.models.ExpressRouteCircuitSkuTier - :param family: The family of the SKU. Possible values include: - 'UnlimitedData', 'MeteredData' - :type family: str or - ~azure.mgmt.network.v2019_07_01.models.ExpressRouteCircuitSkuFamily - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'tier': {'key': 'tier', 'type': 'str'}, - 'family': {'key': 'family', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ExpressRouteCircuitSku, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.tier = kwargs.get('tier', None) - self.family = kwargs.get('family', None) - - -class ExpressRouteCircuitsRoutesTableListResult(Model): - """Response for ListRoutesTable associated with the Express Route Circuits - API. - - :param value: The list of routes table. - :type value: - list[~azure.mgmt.network.v2019_07_01.models.ExpressRouteCircuitRoutesTable] - :param next_link: The URL to get the next set of results. - :type next_link: str - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[ExpressRouteCircuitRoutesTable]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ExpressRouteCircuitsRoutesTableListResult, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - self.next_link = kwargs.get('next_link', None) - - -class ExpressRouteCircuitsRoutesTableSummaryListResult(Model): - """Response for ListRoutesTable associated with the Express Route Circuits - API. - - :param value: A list of the routes table. - :type value: - list[~azure.mgmt.network.v2019_07_01.models.ExpressRouteCircuitRoutesTableSummary] - :param next_link: The URL to get the next set of results. - :type next_link: str - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[ExpressRouteCircuitRoutesTableSummary]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ExpressRouteCircuitsRoutesTableSummaryListResult, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - self.next_link = kwargs.get('next_link', None) - - -class ExpressRouteCircuitStats(Model): - """Contains stats associated with the peering. - - :param primarybytes_in: The Primary BytesIn of the peering. - :type primarybytes_in: long - :param primarybytes_out: The primary BytesOut of the peering. - :type primarybytes_out: long - :param secondarybytes_in: The secondary BytesIn of the peering. - :type secondarybytes_in: long - :param secondarybytes_out: The secondary BytesOut of the peering. - :type secondarybytes_out: long - """ - - _attribute_map = { - 'primarybytes_in': {'key': 'primarybytesIn', 'type': 'long'}, - 'primarybytes_out': {'key': 'primarybytesOut', 'type': 'long'}, - 'secondarybytes_in': {'key': 'secondarybytesIn', 'type': 'long'}, - 'secondarybytes_out': {'key': 'secondarybytesOut', 'type': 'long'}, - } - - def __init__(self, **kwargs): - super(ExpressRouteCircuitStats, self).__init__(**kwargs) - self.primarybytes_in = kwargs.get('primarybytes_in', None) - self.primarybytes_out = kwargs.get('primarybytes_out', None) - self.secondarybytes_in = kwargs.get('secondarybytes_in', None) - self.secondarybytes_out = kwargs.get('secondarybytes_out', None) - - -class ExpressRouteConnection(SubResource): - """ExpressRouteConnection resource. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :param provisioning_state: The provisioning state of the express route - connection resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param express_route_circuit_peering: Required. The ExpressRoute circuit - peering. - :type express_route_circuit_peering: - ~azure.mgmt.network.v2019_07_01.models.ExpressRouteCircuitPeeringId - :param authorization_key: Authorization key to establish the connection. - :type authorization_key: str - :param routing_weight: The routing weight associated to the connection. - :type routing_weight: int - :param name: Required. The name of the resource. - :type name: str - """ - - _validation = { - 'express_route_circuit_peering': {'required': True}, - 'name': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'express_route_circuit_peering': {'key': 'properties.expressRouteCircuitPeering', 'type': 'ExpressRouteCircuitPeeringId'}, - 'authorization_key': {'key': 'properties.authorizationKey', 'type': 'str'}, - 'routing_weight': {'key': 'properties.routingWeight', 'type': 'int'}, - 'name': {'key': 'name', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ExpressRouteConnection, self).__init__(**kwargs) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.express_route_circuit_peering = kwargs.get('express_route_circuit_peering', None) - self.authorization_key = kwargs.get('authorization_key', None) - self.routing_weight = kwargs.get('routing_weight', None) - self.name = kwargs.get('name', None) - - -class ExpressRouteConnectionId(Model): - """The ID of the ExpressRouteConnection. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar id: The ID of the ExpressRouteConnection. - :vartype id: str - """ - - _validation = { - 'id': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ExpressRouteConnectionId, self).__init__(**kwargs) - self.id = None - - -class ExpressRouteConnectionList(Model): - """ExpressRouteConnection list. - - :param value: The list of ExpressRoute connections. - :type value: - list[~azure.mgmt.network.v2019_07_01.models.ExpressRouteConnection] - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[ExpressRouteConnection]'}, - } - - def __init__(self, **kwargs): - super(ExpressRouteConnectionList, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - - -class ExpressRouteCrossConnection(Resource): - """ExpressRouteCrossConnection resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :ivar primary_azure_port: The name of the primary port. - :vartype primary_azure_port: str - :ivar secondary_azure_port: The name of the secondary port. - :vartype secondary_azure_port: str - :ivar s_tag: The identifier of the circuit traffic. - :vartype s_tag: int - :param peering_location: The peering location of the ExpressRoute circuit. - :type peering_location: str - :param bandwidth_in_mbps: The circuit bandwidth In Mbps. - :type bandwidth_in_mbps: int - :param express_route_circuit: The ExpressRouteCircuit. - :type express_route_circuit: - ~azure.mgmt.network.v2019_07_01.models.ExpressRouteCircuitReference - :param service_provider_provisioning_state: The provisioning state of the - circuit in the connectivity provider system. Possible values include: - 'NotProvisioned', 'Provisioning', 'Provisioned', 'Deprovisioning' - :type service_provider_provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ServiceProviderProvisioningState - :param service_provider_notes: Additional read only notes set by the - connectivity provider. - :type service_provider_notes: str - :ivar provisioning_state: The provisioning state of the express route - cross connection resource. Possible values include: 'Succeeded', - 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param peerings: The list of peerings. - :type peerings: - list[~azure.mgmt.network.v2019_07_01.models.ExpressRouteCrossConnectionPeering] - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'primary_azure_port': {'readonly': True}, - 'secondary_azure_port': {'readonly': True}, - 's_tag': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'primary_azure_port': {'key': 'properties.primaryAzurePort', 'type': 'str'}, - 'secondary_azure_port': {'key': 'properties.secondaryAzurePort', 'type': 'str'}, - 's_tag': {'key': 'properties.sTag', 'type': 'int'}, - 'peering_location': {'key': 'properties.peeringLocation', 'type': 'str'}, - 'bandwidth_in_mbps': {'key': 'properties.bandwidthInMbps', 'type': 'int'}, - 'express_route_circuit': {'key': 'properties.expressRouteCircuit', 'type': 'ExpressRouteCircuitReference'}, - 'service_provider_provisioning_state': {'key': 'properties.serviceProviderProvisioningState', 'type': 'str'}, - 'service_provider_notes': {'key': 'properties.serviceProviderNotes', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'peerings': {'key': 'properties.peerings', 'type': '[ExpressRouteCrossConnectionPeering]'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ExpressRouteCrossConnection, self).__init__(**kwargs) - self.primary_azure_port = None - self.secondary_azure_port = None - self.s_tag = None - self.peering_location = kwargs.get('peering_location', None) - self.bandwidth_in_mbps = kwargs.get('bandwidth_in_mbps', None) - self.express_route_circuit = kwargs.get('express_route_circuit', None) - self.service_provider_provisioning_state = kwargs.get('service_provider_provisioning_state', None) - self.service_provider_notes = kwargs.get('service_provider_notes', None) - self.provisioning_state = None - self.peerings = kwargs.get('peerings', None) - self.etag = None - - -class ExpressRouteCrossConnectionPeering(SubResource): - """Peering in an ExpressRoute Cross Connection resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param peering_type: The peering type. Possible values include: - 'AzurePublicPeering', 'AzurePrivatePeering', 'MicrosoftPeering' - :type peering_type: str or - ~azure.mgmt.network.v2019_07_01.models.ExpressRoutePeeringType - :param state: The peering state. Possible values include: 'Disabled', - 'Enabled' - :type state: str or - ~azure.mgmt.network.v2019_07_01.models.ExpressRoutePeeringState - :ivar azure_asn: The Azure ASN. - :vartype azure_asn: int - :param peer_asn: The peer ASN. - :type peer_asn: long - :param primary_peer_address_prefix: The primary address prefix. - :type primary_peer_address_prefix: str - :param secondary_peer_address_prefix: The secondary address prefix. - :type secondary_peer_address_prefix: str - :ivar primary_azure_port: The primary port. - :vartype primary_azure_port: str - :ivar secondary_azure_port: The secondary port. - :vartype secondary_azure_port: str - :param shared_key: The shared key. - :type shared_key: str - :param vlan_id: The VLAN ID. - :type vlan_id: int - :param microsoft_peering_config: The Microsoft peering configuration. - :type microsoft_peering_config: - ~azure.mgmt.network.v2019_07_01.models.ExpressRouteCircuitPeeringConfig - :ivar provisioning_state: The provisioning state of the express route - cross connection peering resource. Possible values include: 'Succeeded', - 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param gateway_manager_etag: The GatewayManager Etag. - :type gateway_manager_etag: str - :param last_modified_by: Who was the last to modify the peering. - :type last_modified_by: str - :param ipv6_peering_config: The IPv6 peering configuration. - :type ipv6_peering_config: - ~azure.mgmt.network.v2019_07_01.models.Ipv6ExpressRouteCircuitPeeringConfig - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'azure_asn': {'readonly': True}, - 'peer_asn': {'maximum': 4294967295, 'minimum': 1}, - 'primary_azure_port': {'readonly': True}, - 'secondary_azure_port': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'peering_type': {'key': 'properties.peeringType', 'type': 'str'}, - 'state': {'key': 'properties.state', 'type': 'str'}, - 'azure_asn': {'key': 'properties.azureASN', 'type': 'int'}, - 'peer_asn': {'key': 'properties.peerASN', 'type': 'long'}, - 'primary_peer_address_prefix': {'key': 'properties.primaryPeerAddressPrefix', 'type': 'str'}, - 'secondary_peer_address_prefix': {'key': 'properties.secondaryPeerAddressPrefix', 'type': 'str'}, - 'primary_azure_port': {'key': 'properties.primaryAzurePort', 'type': 'str'}, - 'secondary_azure_port': {'key': 'properties.secondaryAzurePort', 'type': 'str'}, - 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, - 'vlan_id': {'key': 'properties.vlanId', 'type': 'int'}, - 'microsoft_peering_config': {'key': 'properties.microsoftPeeringConfig', 'type': 'ExpressRouteCircuitPeeringConfig'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'gateway_manager_etag': {'key': 'properties.gatewayManagerEtag', 'type': 'str'}, - 'last_modified_by': {'key': 'properties.lastModifiedBy', 'type': 'str'}, - 'ipv6_peering_config': {'key': 'properties.ipv6PeeringConfig', 'type': 'Ipv6ExpressRouteCircuitPeeringConfig'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ExpressRouteCrossConnectionPeering, self).__init__(**kwargs) - self.peering_type = kwargs.get('peering_type', None) - self.state = kwargs.get('state', None) - self.azure_asn = None - self.peer_asn = kwargs.get('peer_asn', None) - self.primary_peer_address_prefix = kwargs.get('primary_peer_address_prefix', None) - self.secondary_peer_address_prefix = kwargs.get('secondary_peer_address_prefix', None) - self.primary_azure_port = None - self.secondary_azure_port = None - self.shared_key = kwargs.get('shared_key', None) - self.vlan_id = kwargs.get('vlan_id', None) - self.microsoft_peering_config = kwargs.get('microsoft_peering_config', None) - self.provisioning_state = None - self.gateway_manager_etag = kwargs.get('gateway_manager_etag', None) - self.last_modified_by = kwargs.get('last_modified_by', None) - self.ipv6_peering_config = kwargs.get('ipv6_peering_config', None) - self.name = kwargs.get('name', None) - self.etag = None - - -class ExpressRouteCrossConnectionRoutesTableSummary(Model): - """The routes table associated with the ExpressRouteCircuit. - - :param neighbor: IP address of Neighbor router. - :type neighbor: str - :param asn: Autonomous system number. - :type asn: int - :param up_down: The length of time that the BGP session has been in the - Established state, or the current status if not in the Established state. - :type up_down: str - :param state_or_prefixes_received: Current state of the BGP session, and - the number of prefixes that have been received from a neighbor or peer - group. - :type state_or_prefixes_received: str - """ - - _attribute_map = { - 'neighbor': {'key': 'neighbor', 'type': 'str'}, - 'asn': {'key': 'asn', 'type': 'int'}, - 'up_down': {'key': 'upDown', 'type': 'str'}, - 'state_or_prefixes_received': {'key': 'stateOrPrefixesReceived', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ExpressRouteCrossConnectionRoutesTableSummary, self).__init__(**kwargs) - self.neighbor = kwargs.get('neighbor', None) - self.asn = kwargs.get('asn', None) - self.up_down = kwargs.get('up_down', None) - self.state_or_prefixes_received = kwargs.get('state_or_prefixes_received', None) - - -class ExpressRouteCrossConnectionsRoutesTableSummaryListResult(Model): - """Response for ListRoutesTable associated with the Express Route Cross - Connections. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param value: A list of the routes table. - :type value: - list[~azure.mgmt.network.v2019_07_01.models.ExpressRouteCrossConnectionRoutesTableSummary] - :ivar next_link: The URL to get the next set of results. - :vartype next_link: str - """ - - _validation = { - 'next_link': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[ExpressRouteCrossConnectionRoutesTableSummary]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ExpressRouteCrossConnectionsRoutesTableSummaryListResult, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - self.next_link = None - - -class ExpressRouteGateway(Resource): - """ExpressRoute gateway resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param auto_scale_configuration: Configuration for auto scaling. - :type auto_scale_configuration: - ~azure.mgmt.network.v2019_07_01.models.ExpressRouteGatewayPropertiesAutoScaleConfiguration - :ivar express_route_connections: List of ExpressRoute connections to the - ExpressRoute gateway. - :vartype express_route_connections: - list[~azure.mgmt.network.v2019_07_01.models.ExpressRouteConnection] - :param provisioning_state: The provisioning state of the express route - gateway resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param virtual_hub: Required. The Virtual Hub where the ExpressRoute - gateway is or will be deployed. - :type virtual_hub: ~azure.mgmt.network.v2019_07_01.models.VirtualHubId - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'express_route_connections': {'readonly': True}, - 'virtual_hub': {'required': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'auto_scale_configuration': {'key': 'properties.autoScaleConfiguration', 'type': 'ExpressRouteGatewayPropertiesAutoScaleConfiguration'}, - 'express_route_connections': {'key': 'properties.expressRouteConnections', 'type': '[ExpressRouteConnection]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'virtual_hub': {'key': 'properties.virtualHub', 'type': 'VirtualHubId'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ExpressRouteGateway, self).__init__(**kwargs) - self.auto_scale_configuration = kwargs.get('auto_scale_configuration', None) - self.express_route_connections = None - self.provisioning_state = kwargs.get('provisioning_state', None) - self.virtual_hub = kwargs.get('virtual_hub', None) - self.etag = None - - -class ExpressRouteGatewayList(Model): - """List of ExpressRoute gateways. - - :param value: List of ExpressRoute gateways. - :type value: - list[~azure.mgmt.network.v2019_07_01.models.ExpressRouteGateway] - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[ExpressRouteGateway]'}, - } - - def __init__(self, **kwargs): - super(ExpressRouteGatewayList, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - - -class ExpressRouteGatewayPropertiesAutoScaleConfiguration(Model): - """Configuration for auto scaling. - - :param bounds: Minimum and maximum number of scale units to deploy. - :type bounds: - ~azure.mgmt.network.v2019_07_01.models.ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds - """ - - _attribute_map = { - 'bounds': {'key': 'bounds', 'type': 'ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds'}, - } - - def __init__(self, **kwargs): - super(ExpressRouteGatewayPropertiesAutoScaleConfiguration, self).__init__(**kwargs) - self.bounds = kwargs.get('bounds', None) - - -class ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds(Model): - """Minimum and maximum number of scale units to deploy. - - :param min: Minimum number of scale units deployed for ExpressRoute - gateway. - :type min: int - :param max: Maximum number of scale units deployed for ExpressRoute - gateway. - :type max: int - """ - - _attribute_map = { - 'min': {'key': 'min', 'type': 'int'}, - 'max': {'key': 'max', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds, self).__init__(**kwargs) - self.min = kwargs.get('min', None) - self.max = kwargs.get('max', None) - - -class ExpressRouteLink(SubResource): - """ExpressRouteLink. - - ExpressRouteLink child resource definition. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar router_name: Name of Azure router associated with physical port. - :vartype router_name: str - :ivar interface_name: Name of Azure router interface. - :vartype interface_name: str - :ivar patch_panel_id: Mapping between physical port to patch panel port. - :vartype patch_panel_id: str - :ivar rack_id: Mapping of physical patch panel to rack. - :vartype rack_id: str - :ivar connector_type: Physical fiber port type. Possible values include: - 'LC', 'SC' - :vartype connector_type: str or - ~azure.mgmt.network.v2019_07_01.models.ExpressRouteLinkConnectorType - :param admin_state: Administrative state of the physical port. Possible - values include: 'Enabled', 'Disabled' - :type admin_state: str or - ~azure.mgmt.network.v2019_07_01.models.ExpressRouteLinkAdminState - :ivar provisioning_state: The provisioning state of the express route link - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param mac_sec_config: MacSec configuration. - :type mac_sec_config: - ~azure.mgmt.network.v2019_07_01.models.ExpressRouteLinkMacSecConfig - :param name: Name of child port resource that is unique among child port - resources of the parent. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'router_name': {'readonly': True}, - 'interface_name': {'readonly': True}, - 'patch_panel_id': {'readonly': True}, - 'rack_id': {'readonly': True}, - 'connector_type': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'router_name': {'key': 'properties.routerName', 'type': 'str'}, - 'interface_name': {'key': 'properties.interfaceName', 'type': 'str'}, - 'patch_panel_id': {'key': 'properties.patchPanelId', 'type': 'str'}, - 'rack_id': {'key': 'properties.rackId', 'type': 'str'}, - 'connector_type': {'key': 'properties.connectorType', 'type': 'str'}, - 'admin_state': {'key': 'properties.adminState', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'mac_sec_config': {'key': 'properties.macSecConfig', 'type': 'ExpressRouteLinkMacSecConfig'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ExpressRouteLink, self).__init__(**kwargs) - self.router_name = None - self.interface_name = None - self.patch_panel_id = None - self.rack_id = None - self.connector_type = None - self.admin_state = kwargs.get('admin_state', None) - self.provisioning_state = None - self.mac_sec_config = kwargs.get('mac_sec_config', None) - self.name = kwargs.get('name', None) - self.etag = None - - -class ExpressRouteLinkMacSecConfig(Model): - """Definition of ExpressRouteLink Mac Security configuration. - - ExpressRouteLink Mac Security Configuration. - - :param ckn_secret_identifier: Keyvault Secret Identifier URL containing - Mac security CKN key. - :type ckn_secret_identifier: str - :param cak_secret_identifier: Keyvault Secret Identifier URL containing - Mac security CAK key. - :type cak_secret_identifier: str - :param cipher: Mac security cipher. Possible values include: - 'gcm-aes-128', 'gcm-aes-256' - :type cipher: str or - ~azure.mgmt.network.v2019_07_01.models.ExpressRouteLinkMacSecCipher - """ - - _attribute_map = { - 'ckn_secret_identifier': {'key': 'cknSecretIdentifier', 'type': 'str'}, - 'cak_secret_identifier': {'key': 'cakSecretIdentifier', 'type': 'str'}, - 'cipher': {'key': 'cipher', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ExpressRouteLinkMacSecConfig, self).__init__(**kwargs) - self.ckn_secret_identifier = kwargs.get('ckn_secret_identifier', None) - self.cak_secret_identifier = kwargs.get('cak_secret_identifier', None) - self.cipher = kwargs.get('cipher', None) - - -class ExpressRoutePort(Resource): - """ExpressRoute Port. - - ExpressRoutePort resource definition. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param peering_location: The name of the peering location that the - ExpressRoutePort is mapped to physically. - :type peering_location: str - :param bandwidth_in_gbps: Bandwidth of procured ports in Gbps. - :type bandwidth_in_gbps: int - :ivar provisioned_bandwidth_in_gbps: Aggregate Gbps of associated circuit - bandwidths. - :vartype provisioned_bandwidth_in_gbps: float - :ivar mtu: Maximum transmission unit of the physical port pair(s). - :vartype mtu: str - :param encapsulation: Encapsulation method on physical ports. Possible - values include: 'Dot1Q', 'QinQ' - :type encapsulation: str or - ~azure.mgmt.network.v2019_07_01.models.ExpressRoutePortsEncapsulation - :ivar ether_type: Ether type of the physical port. - :vartype ether_type: str - :ivar allocation_date: Date of the physical port allocation to be used in - Letter of Authorization. - :vartype allocation_date: str - :param links: ExpressRouteLink Sub-Resources. The set of physical links of - the ExpressRoutePort resource. - :type links: list[~azure.mgmt.network.v2019_07_01.models.ExpressRouteLink] - :ivar circuits: Reference the ExpressRoute circuit(s) that are provisioned - on this ExpressRoutePort resource. - :vartype circuits: - list[~azure.mgmt.network.v2019_07_01.models.SubResource] - :ivar provisioning_state: The provisioning state of the express route port - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param resource_guid: The resource GUID property of the express route port - resource. - :type resource_guid: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :param identity: The identity of ExpressRoutePort, if configured. - :type identity: - ~azure.mgmt.network.v2019_07_01.models.ManagedServiceIdentity - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'provisioned_bandwidth_in_gbps': {'readonly': True}, - 'mtu': {'readonly': True}, - 'ether_type': {'readonly': True}, - 'allocation_date': {'readonly': True}, - 'circuits': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'peering_location': {'key': 'properties.peeringLocation', 'type': 'str'}, - 'bandwidth_in_gbps': {'key': 'properties.bandwidthInGbps', 'type': 'int'}, - 'provisioned_bandwidth_in_gbps': {'key': 'properties.provisionedBandwidthInGbps', 'type': 'float'}, - 'mtu': {'key': 'properties.mtu', 'type': 'str'}, - 'encapsulation': {'key': 'properties.encapsulation', 'type': 'str'}, - 'ether_type': {'key': 'properties.etherType', 'type': 'str'}, - 'allocation_date': {'key': 'properties.allocationDate', 'type': 'str'}, - 'links': {'key': 'properties.links', 'type': '[ExpressRouteLink]'}, - 'circuits': {'key': 'properties.circuits', 'type': '[SubResource]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, - } - - def __init__(self, **kwargs): - super(ExpressRoutePort, self).__init__(**kwargs) - self.peering_location = kwargs.get('peering_location', None) - self.bandwidth_in_gbps = kwargs.get('bandwidth_in_gbps', None) - self.provisioned_bandwidth_in_gbps = None - self.mtu = None - self.encapsulation = kwargs.get('encapsulation', None) - self.ether_type = None - self.allocation_date = None - self.links = kwargs.get('links', None) - self.circuits = None - self.provisioning_state = None - self.resource_guid = kwargs.get('resource_guid', None) - self.etag = None - self.identity = kwargs.get('identity', None) - - -class ExpressRoutePortsLocation(Resource): - """ExpressRoutePorts Peering Location. - - Definition of the ExpressRoutePorts peering location resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :ivar address: Address of peering location. - :vartype address: str - :ivar contact: Contact details of peering locations. - :vartype contact: str - :param available_bandwidths: The inventory of available ExpressRoutePort - bandwidths. - :type available_bandwidths: - list[~azure.mgmt.network.v2019_07_01.models.ExpressRoutePortsLocationBandwidths] - :ivar provisioning_state: The provisioning state of the express route port - location resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'address': {'readonly': True}, - 'contact': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'address': {'key': 'properties.address', 'type': 'str'}, - 'contact': {'key': 'properties.contact', 'type': 'str'}, - 'available_bandwidths': {'key': 'properties.availableBandwidths', 'type': '[ExpressRoutePortsLocationBandwidths]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ExpressRoutePortsLocation, self).__init__(**kwargs) - self.address = None - self.contact = None - self.available_bandwidths = kwargs.get('available_bandwidths', None) - self.provisioning_state = None - - -class ExpressRoutePortsLocationBandwidths(Model): - """ExpressRoutePorts Location Bandwidths. - - Real-time inventory of available ExpressRoute port bandwidths. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar offer_name: Bandwidth descriptive name. - :vartype offer_name: str - :ivar value_in_gbps: Bandwidth value in Gbps. - :vartype value_in_gbps: int - """ - - _validation = { - 'offer_name': {'readonly': True}, - 'value_in_gbps': {'readonly': True}, - } - - _attribute_map = { - 'offer_name': {'key': 'offerName', 'type': 'str'}, - 'value_in_gbps': {'key': 'valueInGbps', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(ExpressRoutePortsLocationBandwidths, self).__init__(**kwargs) - self.offer_name = None - self.value_in_gbps = None - - -class ExpressRouteServiceProvider(Resource): - """A ExpressRouteResourceProvider object. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param peering_locations: A list of peering locations. - :type peering_locations: list[str] - :param bandwidths_offered: A list of bandwidths offered. - :type bandwidths_offered: - list[~azure.mgmt.network.v2019_07_01.models.ExpressRouteServiceProviderBandwidthsOffered] - :param provisioning_state: The provisioning state of the express route - service provider resource. Possible values include: 'Succeeded', - 'Updating', 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'peering_locations': {'key': 'properties.peeringLocations', 'type': '[str]'}, - 'bandwidths_offered': {'key': 'properties.bandwidthsOffered', 'type': '[ExpressRouteServiceProviderBandwidthsOffered]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ExpressRouteServiceProvider, self).__init__(**kwargs) - self.peering_locations = kwargs.get('peering_locations', None) - self.bandwidths_offered = kwargs.get('bandwidths_offered', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - - -class ExpressRouteServiceProviderBandwidthsOffered(Model): - """Contains bandwidths offered in ExpressRouteServiceProvider resources. - - :param offer_name: The OfferName. - :type offer_name: str - :param value_in_mbps: The ValueInMbps. - :type value_in_mbps: int - """ - - _attribute_map = { - 'offer_name': {'key': 'offerName', 'type': 'str'}, - 'value_in_mbps': {'key': 'valueInMbps', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(ExpressRouteServiceProviderBandwidthsOffered, self).__init__(**kwargs) - self.offer_name = kwargs.get('offer_name', None) - self.value_in_mbps = kwargs.get('value_in_mbps', None) - - -class FirewallPolicy(Resource): - """FirewallPolicy Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :ivar rule_groups: List of references to FirewallPolicyRuleGroups. - :vartype rule_groups: - list[~azure.mgmt.network.v2019_07_01.models.SubResource] - :param provisioning_state: The provisioning state of the firewall policy - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param base_policy: The parent firewall policy from which rules are - inherited. - :type base_policy: ~azure.mgmt.network.v2019_07_01.models.SubResource - :ivar firewalls: List of references to Azure Firewalls that this Firewall - Policy is associated with. - :vartype firewalls: - list[~azure.mgmt.network.v2019_07_01.models.SubResource] - :ivar child_policies: List of references to Child Firewall Policies. - :vartype child_policies: - list[~azure.mgmt.network.v2019_07_01.models.SubResource] - :param threat_intel_mode: The operation mode for Threat Intelligence. - Possible values include: 'Alert', 'Deny', 'Off' - :type threat_intel_mode: str or - ~azure.mgmt.network.v2019_07_01.models.AzureFirewallThreatIntelMode - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'rule_groups': {'readonly': True}, - 'firewalls': {'readonly': True}, - 'child_policies': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'rule_groups': {'key': 'properties.ruleGroups', 'type': '[SubResource]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'base_policy': {'key': 'properties.basePolicy', 'type': 'SubResource'}, - 'firewalls': {'key': 'properties.firewalls', 'type': '[SubResource]'}, - 'child_policies': {'key': 'properties.childPolicies', 'type': '[SubResource]'}, - 'threat_intel_mode': {'key': 'properties.threatIntelMode', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(FirewallPolicy, self).__init__(**kwargs) - self.rule_groups = None - self.provisioning_state = kwargs.get('provisioning_state', None) - self.base_policy = kwargs.get('base_policy', None) - self.firewalls = None - self.child_policies = None - self.threat_intel_mode = kwargs.get('threat_intel_mode', None) - self.etag = None - - -class FirewallPolicyRule(Model): - """Properties of the rule. - - You probably want to use the sub-classes and not this class directly. Known - sub-classes are: FirewallPolicyNatRule, FirewallPolicyFilterRule - - All required parameters must be populated in order to send to Azure. - - :param name: The name of the rule. - :type name: str - :param priority: Priority of the Firewall Policy Rule resource. - :type priority: int - :param rule_type: Required. Constant filled by server. - :type rule_type: str - """ - - _validation = { - 'priority': {'maximum': 65000, 'minimum': 100}, - 'rule_type': {'required': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'priority': {'key': 'priority', 'type': 'int'}, - 'rule_type': {'key': 'ruleType', 'type': 'str'}, - } - - _subtype_map = { - 'rule_type': {'FirewallPolicyNatRule': 'FirewallPolicyNatRule', 'FirewallPolicyFilterRule': 'FirewallPolicyFilterRule'} - } - - def __init__(self, **kwargs): - super(FirewallPolicyRule, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.priority = kwargs.get('priority', None) - self.rule_type = None - - -class FirewallPolicyFilterRule(FirewallPolicyRule): - """Firewall Policy Filter Rule. - - All required parameters must be populated in order to send to Azure. - - :param name: The name of the rule. - :type name: str - :param priority: Priority of the Firewall Policy Rule resource. - :type priority: int - :param rule_type: Required. Constant filled by server. - :type rule_type: str - :param action: The action type of a Filter rule. - :type action: - ~azure.mgmt.network.v2019_07_01.models.FirewallPolicyFilterRuleAction - :param rule_conditions: Collection of rule conditions used by a rule. - :type rule_conditions: - list[~azure.mgmt.network.v2019_07_01.models.FirewallPolicyRuleCondition] - """ - - _validation = { - 'priority': {'maximum': 65000, 'minimum': 100}, - 'rule_type': {'required': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'priority': {'key': 'priority', 'type': 'int'}, - 'rule_type': {'key': 'ruleType', 'type': 'str'}, - 'action': {'key': 'action', 'type': 'FirewallPolicyFilterRuleAction'}, - 'rule_conditions': {'key': 'ruleConditions', 'type': '[FirewallPolicyRuleCondition]'}, - } - - def __init__(self, **kwargs): - super(FirewallPolicyFilterRule, self).__init__(**kwargs) - self.action = kwargs.get('action', None) - self.rule_conditions = kwargs.get('rule_conditions', None) - self.rule_type = 'FirewallPolicyFilterRule' - - -class FirewallPolicyFilterRuleAction(Model): - """Properties of the FirewallPolicyFilterRuleAction. - - :param type: The type of action. Possible values include: 'Allow', 'Deny', - 'Alert ' - :type type: str or - ~azure.mgmt.network.v2019_07_01.models.FirewallPolicyFilterRuleActionType - """ - - _attribute_map = { - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(FirewallPolicyFilterRuleAction, self).__init__(**kwargs) - self.type = kwargs.get('type', None) - - -class FirewallPolicyNatRule(FirewallPolicyRule): - """Firewall Policy NAT Rule. - - All required parameters must be populated in order to send to Azure. - - :param name: The name of the rule. - :type name: str - :param priority: Priority of the Firewall Policy Rule resource. - :type priority: int - :param rule_type: Required. Constant filled by server. - :type rule_type: str - :param action: The action type of a Nat rule. - :type action: - ~azure.mgmt.network.v2019_07_01.models.FirewallPolicyNatRuleAction - :param translated_address: The translated address for this NAT rule. - :type translated_address: str - :param translated_port: The translated port for this NAT rule. - :type translated_port: str - :param rule_condition: The match conditions for incoming traffic. - :type rule_condition: - ~azure.mgmt.network.v2019_07_01.models.FirewallPolicyRuleCondition - """ - - _validation = { - 'priority': {'maximum': 65000, 'minimum': 100}, - 'rule_type': {'required': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'priority': {'key': 'priority', 'type': 'int'}, - 'rule_type': {'key': 'ruleType', 'type': 'str'}, - 'action': {'key': 'action', 'type': 'FirewallPolicyNatRuleAction'}, - 'translated_address': {'key': 'translatedAddress', 'type': 'str'}, - 'translated_port': {'key': 'translatedPort', 'type': 'str'}, - 'rule_condition': {'key': 'ruleCondition', 'type': 'FirewallPolicyRuleCondition'}, - } - - def __init__(self, **kwargs): - super(FirewallPolicyNatRule, self).__init__(**kwargs) - self.action = kwargs.get('action', None) - self.translated_address = kwargs.get('translated_address', None) - self.translated_port = kwargs.get('translated_port', None) - self.rule_condition = kwargs.get('rule_condition', None) - self.rule_type = 'FirewallPolicyNatRule' - - -class FirewallPolicyNatRuleAction(Model): - """Properties of the FirewallPolicyNatRuleAction. - - :param type: The type of action. Possible values include: 'DNAT', 'SNAT' - :type type: str or - ~azure.mgmt.network.v2019_07_01.models.FirewallPolicyNatRuleActionType - """ - - _attribute_map = { - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(FirewallPolicyNatRuleAction, self).__init__(**kwargs) - self.type = kwargs.get('type', None) - - -class FirewallPolicyRuleConditionApplicationProtocol(Model): - """Properties of the application rule protocol. - - :param protocol_type: Protocol type. Possible values include: 'Http', - 'Https' - :type protocol_type: str or - ~azure.mgmt.network.v2019_07_01.models.FirewallPolicyRuleConditionApplicationProtocolType - :param port: Port number for the protocol, cannot be greater than 64000. - :type port: int - """ - - _validation = { - 'port': {'maximum': 64000, 'minimum': 0}, - } - - _attribute_map = { - 'protocol_type': {'key': 'protocolType', 'type': 'str'}, - 'port': {'key': 'port', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(FirewallPolicyRuleConditionApplicationProtocol, self).__init__(**kwargs) - self.protocol_type = kwargs.get('protocol_type', None) - self.port = kwargs.get('port', None) - - -class FirewallPolicyRuleGroup(SubResource): - """Rule Group resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param priority: Priority of the Firewall Policy Rule Group resource. - :type priority: int - :param rules: Group of Firewall Policy rules. - :type rules: - list[~azure.mgmt.network.v2019_07_01.models.FirewallPolicyRule] - :param provisioning_state: The provisioning state of the firewall policy - rule group resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :ivar type: Rule Group type. - :vartype type: str - """ - - _validation = { - 'priority': {'maximum': 65000, 'minimum': 100}, - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'priority': {'key': 'properties.priority', 'type': 'int'}, - 'rules': {'key': 'properties.rules', 'type': '[FirewallPolicyRule]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(FirewallPolicyRuleGroup, self).__init__(**kwargs) - self.priority = kwargs.get('priority', None) - self.rules = kwargs.get('rules', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.name = kwargs.get('name', None) - self.etag = None - self.type = None - - -class FlowLogFormatParameters(Model): - """Parameters that define the flow log format. - - :param type: The file type of flow log. Possible values include: 'JSON' - :type type: str or - ~azure.mgmt.network.v2019_07_01.models.FlowLogFormatType - :param version: The version (revision) of the flow log. Default value: 0 . - :type version: int - """ - - _attribute_map = { - 'type': {'key': 'type', 'type': 'str'}, - 'version': {'key': 'version', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(FlowLogFormatParameters, self).__init__(**kwargs) - self.type = kwargs.get('type', None) - self.version = kwargs.get('version', 0) - - -class FlowLogInformation(Model): - """Information on the configuration of flow log and traffic analytics - (optional) . - - All required parameters must be populated in order to send to Azure. - - :param target_resource_id: Required. The ID of the resource to configure - for flow log and traffic analytics (optional) . - :type target_resource_id: str - :param storage_id: Required. ID of the storage account which is used to - store the flow log. - :type storage_id: str - :param enabled: Required. Flag to enable/disable flow logging. - :type enabled: bool - :param retention_policy: Parameters that define the retention policy for - flow log. - :type retention_policy: - ~azure.mgmt.network.v2019_07_01.models.RetentionPolicyParameters - :param format: Parameters that define the flow log format. - :type format: - ~azure.mgmt.network.v2019_07_01.models.FlowLogFormatParameters - :param flow_analytics_configuration: Parameters that define the - configuration of traffic analytics. - :type flow_analytics_configuration: - ~azure.mgmt.network.v2019_07_01.models.TrafficAnalyticsProperties - """ - - _validation = { - 'target_resource_id': {'required': True}, - 'storage_id': {'required': True}, - 'enabled': {'required': True}, - } - - _attribute_map = { - 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, - 'storage_id': {'key': 'properties.storageId', 'type': 'str'}, - 'enabled': {'key': 'properties.enabled', 'type': 'bool'}, - 'retention_policy': {'key': 'properties.retentionPolicy', 'type': 'RetentionPolicyParameters'}, - 'format': {'key': 'properties.format', 'type': 'FlowLogFormatParameters'}, - 'flow_analytics_configuration': {'key': 'flowAnalyticsConfiguration', 'type': 'TrafficAnalyticsProperties'}, - } - - def __init__(self, **kwargs): - super(FlowLogInformation, self).__init__(**kwargs) - self.target_resource_id = kwargs.get('target_resource_id', None) - self.storage_id = kwargs.get('storage_id', None) - self.enabled = kwargs.get('enabled', None) - self.retention_policy = kwargs.get('retention_policy', None) - self.format = kwargs.get('format', None) - self.flow_analytics_configuration = kwargs.get('flow_analytics_configuration', None) - - -class FlowLogStatusParameters(Model): - """Parameters that define a resource to query flow log and traffic analytics - (optional) status. - - All required parameters must be populated in order to send to Azure. - - :param target_resource_id: Required. The target resource where getting the - flow log and traffic analytics (optional) status. - :type target_resource_id: str - """ - - _validation = { - 'target_resource_id': {'required': True}, - } - - _attribute_map = { - 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(FlowLogStatusParameters, self).__init__(**kwargs) - self.target_resource_id = kwargs.get('target_resource_id', None) - - -class FrontendIPConfiguration(SubResource): - """Frontend IP address of the load balancer. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar inbound_nat_rules: An array of references to inbound rules that use - this frontend IP. - :vartype inbound_nat_rules: - list[~azure.mgmt.network.v2019_07_01.models.SubResource] - :ivar inbound_nat_pools: An array of references to inbound pools that use - this frontend IP. - :vartype inbound_nat_pools: - list[~azure.mgmt.network.v2019_07_01.models.SubResource] - :ivar outbound_rules: An array of references to outbound rules that use - this frontend IP. - :vartype outbound_rules: - list[~azure.mgmt.network.v2019_07_01.models.SubResource] - :ivar load_balancing_rules: An array of references to load balancing rules - that use this frontend IP. - :vartype load_balancing_rules: - list[~azure.mgmt.network.v2019_07_01.models.SubResource] - :param private_ip_address: The private IP address of the IP configuration. - :type private_ip_address: str - :param private_ip_allocation_method: The Private IP allocation method. - Possible values include: 'Static', 'Dynamic' - :type private_ip_allocation_method: str or - ~azure.mgmt.network.v2019_07_01.models.IPAllocationMethod - :param private_ip_address_version: Whether the specific ipconfiguration is - IPv4 or IPv6. Default is taken as IPv4. Possible values include: 'IPv4', - 'IPv6' - :type private_ip_address_version: str or - ~azure.mgmt.network.v2019_07_01.models.IPVersion - :param subnet: The reference of the subnet resource. - :type subnet: ~azure.mgmt.network.v2019_07_01.models.Subnet - :param public_ip_address: The reference of the Public IP resource. - :type public_ip_address: - ~azure.mgmt.network.v2019_07_01.models.PublicIPAddress - :param public_ip_prefix: The reference of the Public IP Prefix resource. - :type public_ip_prefix: ~azure.mgmt.network.v2019_07_01.models.SubResource - :param provisioning_state: The provisioning state of the frontend IP - configuration resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: The name of the resource that is unique within the set of - frontend IP configurations used by the load balancer. This name can be - used to access the resource. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - :ivar type: Type of the resource. - :vartype type: str - :param zones: A list of availability zones denoting the IP allocated for - the resource needs to come from. - :type zones: list[str] - """ - - _validation = { - 'inbound_nat_rules': {'readonly': True}, - 'inbound_nat_pools': {'readonly': True}, - 'outbound_rules': {'readonly': True}, - 'load_balancing_rules': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'inbound_nat_rules': {'key': 'properties.inboundNatRules', 'type': '[SubResource]'}, - 'inbound_nat_pools': {'key': 'properties.inboundNatPools', 'type': '[SubResource]'}, - 'outbound_rules': {'key': 'properties.outboundRules', 'type': '[SubResource]'}, - 'load_balancing_rules': {'key': 'properties.loadBalancingRules', 'type': '[SubResource]'}, - 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, - 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, - 'private_ip_address_version': {'key': 'properties.privateIPAddressVersion', 'type': 'str'}, - 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, - 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'PublicIPAddress'}, - 'public_ip_prefix': {'key': 'properties.publicIPPrefix', 'type': 'SubResource'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'zones': {'key': 'zones', 'type': '[str]'}, - } - - def __init__(self, **kwargs): - super(FrontendIPConfiguration, self).__init__(**kwargs) - self.inbound_nat_rules = None - self.inbound_nat_pools = None - self.outbound_rules = None - self.load_balancing_rules = None - self.private_ip_address = kwargs.get('private_ip_address', None) - self.private_ip_allocation_method = kwargs.get('private_ip_allocation_method', None) - self.private_ip_address_version = kwargs.get('private_ip_address_version', None) - self.subnet = kwargs.get('subnet', None) - self.public_ip_address = kwargs.get('public_ip_address', None) - self.public_ip_prefix = kwargs.get('public_ip_prefix', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.name = kwargs.get('name', None) - self.etag = kwargs.get('etag', None) - self.type = None - self.zones = kwargs.get('zones', None) - - -class GatewayRoute(Model): - """Gateway routing details. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar local_address: The gateway's local address. - :vartype local_address: str - :ivar network: The route's network prefix. - :vartype network: str - :ivar next_hop: The route's next hop. - :vartype next_hop: str - :ivar source_peer: The peer this route was learned from. - :vartype source_peer: str - :ivar origin: The source this route was learned from. - :vartype origin: str - :ivar as_path: The route's AS path sequence. - :vartype as_path: str - :ivar weight: The route's weight. - :vartype weight: int - """ - - _validation = { - 'local_address': {'readonly': True}, - 'network': {'readonly': True}, - 'next_hop': {'readonly': True}, - 'source_peer': {'readonly': True}, - 'origin': {'readonly': True}, - 'as_path': {'readonly': True}, - 'weight': {'readonly': True}, - } - - _attribute_map = { - 'local_address': {'key': 'localAddress', 'type': 'str'}, - 'network': {'key': 'network', 'type': 'str'}, - 'next_hop': {'key': 'nextHop', 'type': 'str'}, - 'source_peer': {'key': 'sourcePeer', 'type': 'str'}, - 'origin': {'key': 'origin', 'type': 'str'}, - 'as_path': {'key': 'asPath', 'type': 'str'}, - 'weight': {'key': 'weight', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(GatewayRoute, self).__init__(**kwargs) - self.local_address = None - self.network = None - self.next_hop = None - self.source_peer = None - self.origin = None - self.as_path = None - self.weight = None - - -class GatewayRouteListResult(Model): - """List of virtual network gateway routes. - - :param value: List of gateway routes. - :type value: list[~azure.mgmt.network.v2019_07_01.models.GatewayRoute] - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[GatewayRoute]'}, - } - - def __init__(self, **kwargs): - super(GatewayRouteListResult, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - - -class GetVpnSitesConfigurationRequest(Model): - """List of Vpn-Sites. - - All required parameters must be populated in order to send to Azure. - - :param vpn_sites: List of resource-ids of the vpn-sites for which config - is to be downloaded. - :type vpn_sites: list[str] - :param output_blob_sas_url: Required. The sas-url to download the - configurations for vpn-sites. - :type output_blob_sas_url: str - """ - - _validation = { - 'output_blob_sas_url': {'required': True}, - } - - _attribute_map = { - 'vpn_sites': {'key': 'vpnSites', 'type': '[str]'}, - 'output_blob_sas_url': {'key': 'outputBlobSasUrl', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(GetVpnSitesConfigurationRequest, self).__init__(**kwargs) - self.vpn_sites = kwargs.get('vpn_sites', None) - self.output_blob_sas_url = kwargs.get('output_blob_sas_url', None) - - -class HTTPConfiguration(Model): - """HTTP configuration of the connectivity check. - - :param method: HTTP method. Possible values include: 'Get' - :type method: str or ~azure.mgmt.network.v2019_07_01.models.HTTPMethod - :param headers: List of HTTP headers. - :type headers: list[~azure.mgmt.network.v2019_07_01.models.HTTPHeader] - :param valid_status_codes: Valid status codes. - :type valid_status_codes: list[int] - """ - - _attribute_map = { - 'method': {'key': 'method', 'type': 'str'}, - 'headers': {'key': 'headers', 'type': '[HTTPHeader]'}, - 'valid_status_codes': {'key': 'validStatusCodes', 'type': '[int]'}, - } - - def __init__(self, **kwargs): - super(HTTPConfiguration, self).__init__(**kwargs) - self.method = kwargs.get('method', None) - self.headers = kwargs.get('headers', None) - self.valid_status_codes = kwargs.get('valid_status_codes', None) - - -class HTTPHeader(Model): - """Describes the HTTP header. - - :param name: The name in HTTP header. - :type name: str - :param value: The value in HTTP header. - :type value: str - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'value': {'key': 'value', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(HTTPHeader, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.value = kwargs.get('value', None) - - -class HubIPAddresses(Model): - """IP addresses associated with azure firewall. - - :param public_ip_addresses: List of Public IP addresses associated with - azure firewall. - :type public_ip_addresses: - list[~azure.mgmt.network.v2019_07_01.models.AzureFirewallPublicIPAddress] - :param private_ip_address: Private IP Address associated with azure - firewall. - :type private_ip_address: str - """ - - _attribute_map = { - 'public_ip_addresses': {'key': 'publicIPAddresses', 'type': '[AzureFirewallPublicIPAddress]'}, - 'private_ip_address': {'key': 'privateIPAddress', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(HubIPAddresses, self).__init__(**kwargs) - self.public_ip_addresses = kwargs.get('public_ip_addresses', None) - self.private_ip_address = kwargs.get('private_ip_address', None) - - -class HubVirtualNetworkConnection(SubResource): - """HubVirtualNetworkConnection Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param remote_virtual_network: Reference to the remote virtual network. - :type remote_virtual_network: - ~azure.mgmt.network.v2019_07_01.models.SubResource - :param allow_hub_to_remote_vnet_transit: VirtualHub to RemoteVnet transit - to enabled or not. - :type allow_hub_to_remote_vnet_transit: bool - :param allow_remote_vnet_to_use_hub_vnet_gateways: Allow RemoteVnet to use - Virtual Hub's gateways. - :type allow_remote_vnet_to_use_hub_vnet_gateways: bool - :param enable_internet_security: Enable internet security. - :type enable_internet_security: bool - :param provisioning_state: The provisioning state of the hub virtual - network connection resource. Possible values include: 'Succeeded', - 'Updating', 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'remote_virtual_network': {'key': 'properties.remoteVirtualNetwork', 'type': 'SubResource'}, - 'allow_hub_to_remote_vnet_transit': {'key': 'properties.allowHubToRemoteVnetTransit', 'type': 'bool'}, - 'allow_remote_vnet_to_use_hub_vnet_gateways': {'key': 'properties.allowRemoteVnetToUseHubVnetGateways', 'type': 'bool'}, - 'enable_internet_security': {'key': 'properties.enableInternetSecurity', 'type': 'bool'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(HubVirtualNetworkConnection, self).__init__(**kwargs) - self.remote_virtual_network = kwargs.get('remote_virtual_network', None) - self.allow_hub_to_remote_vnet_transit = kwargs.get('allow_hub_to_remote_vnet_transit', None) - self.allow_remote_vnet_to_use_hub_vnet_gateways = kwargs.get('allow_remote_vnet_to_use_hub_vnet_gateways', None) - self.enable_internet_security = kwargs.get('enable_internet_security', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.name = kwargs.get('name', None) - self.etag = None - - -class InboundNatPool(SubResource): - """Inbound NAT pool of the load balancer. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :param frontend_ip_configuration: A reference to frontend IP addresses. - :type frontend_ip_configuration: - ~azure.mgmt.network.v2019_07_01.models.SubResource - :param protocol: Required. The reference to the transport protocol used by - the inbound NAT pool. Possible values include: 'Udp', 'Tcp', 'All' - :type protocol: str or - ~azure.mgmt.network.v2019_07_01.models.TransportProtocol - :param frontend_port_range_start: Required. The first port number in the - range of external ports that will be used to provide Inbound Nat to NICs - associated with a load balancer. Acceptable values range between 1 and - 65534. - :type frontend_port_range_start: int - :param frontend_port_range_end: Required. The last port number in the - range of external ports that will be used to provide Inbound Nat to NICs - associated with a load balancer. Acceptable values range between 1 and - 65535. - :type frontend_port_range_end: int - :param backend_port: Required. The port used for internal connections on - the endpoint. Acceptable values are between 1 and 65535. - :type backend_port: int - :param idle_timeout_in_minutes: The timeout for the TCP idle connection. - The value can be set between 4 and 30 minutes. The default value is 4 - minutes. This element is only used when the protocol is set to TCP. - :type idle_timeout_in_minutes: int - :param enable_floating_ip: Configures a virtual machine's endpoint for the - floating IP capability required to configure a SQL AlwaysOn Availability - Group. This setting is required when using the SQL AlwaysOn Availability - Groups in SQL server. This setting can't be changed after you create the - endpoint. - :type enable_floating_ip: bool - :param enable_tcp_reset: Receive bidirectional TCP Reset on TCP flow idle - timeout or unexpected connection termination. This element is only used - when the protocol is set to TCP. - :type enable_tcp_reset: bool - :param provisioning_state: The provisioning state of the inbound NAT pool - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: The name of the resource that is unique within the set of - inbound NAT pools used by the load balancer. This name can be used to - access the resource. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - :ivar type: Type of the resource. - :vartype type: str - """ - - _validation = { - 'protocol': {'required': True}, - 'frontend_port_range_start': {'required': True}, - 'frontend_port_range_end': {'required': True}, - 'backend_port': {'required': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'frontend_ip_configuration': {'key': 'properties.frontendIPConfiguration', 'type': 'SubResource'}, - 'protocol': {'key': 'properties.protocol', 'type': 'str'}, - 'frontend_port_range_start': {'key': 'properties.frontendPortRangeStart', 'type': 'int'}, - 'frontend_port_range_end': {'key': 'properties.frontendPortRangeEnd', 'type': 'int'}, - 'backend_port': {'key': 'properties.backendPort', 'type': 'int'}, - 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, - 'enable_floating_ip': {'key': 'properties.enableFloatingIP', 'type': 'bool'}, - 'enable_tcp_reset': {'key': 'properties.enableTcpReset', 'type': 'bool'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(InboundNatPool, self).__init__(**kwargs) - self.frontend_ip_configuration = kwargs.get('frontend_ip_configuration', None) - self.protocol = kwargs.get('protocol', None) - self.frontend_port_range_start = kwargs.get('frontend_port_range_start', None) - self.frontend_port_range_end = kwargs.get('frontend_port_range_end', None) - self.backend_port = kwargs.get('backend_port', None) - self.idle_timeout_in_minutes = kwargs.get('idle_timeout_in_minutes', None) - self.enable_floating_ip = kwargs.get('enable_floating_ip', None) - self.enable_tcp_reset = kwargs.get('enable_tcp_reset', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.name = kwargs.get('name', None) - self.etag = kwargs.get('etag', None) - self.type = None - - -class InboundNatRule(SubResource): - """Inbound NAT rule of the load balancer. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param frontend_ip_configuration: A reference to frontend IP addresses. - :type frontend_ip_configuration: - ~azure.mgmt.network.v2019_07_01.models.SubResource - :ivar backend_ip_configuration: A reference to a private IP address - defined on a network interface of a VM. Traffic sent to the frontend port - of each of the frontend IP configurations is forwarded to the backend IP. - :vartype backend_ip_configuration: - ~azure.mgmt.network.v2019_07_01.models.NetworkInterfaceIPConfiguration - :param protocol: The reference to the transport protocol used by the load - balancing rule. Possible values include: 'Udp', 'Tcp', 'All' - :type protocol: str or - ~azure.mgmt.network.v2019_07_01.models.TransportProtocol - :param frontend_port: The port for the external endpoint. Port numbers for - each rule must be unique within the Load Balancer. Acceptable values range - from 1 to 65534. - :type frontend_port: int - :param backend_port: The port used for the internal endpoint. Acceptable - values range from 1 to 65535. - :type backend_port: int - :param idle_timeout_in_minutes: The timeout for the TCP idle connection. - The value can be set between 4 and 30 minutes. The default value is 4 - minutes. This element is only used when the protocol is set to TCP. - :type idle_timeout_in_minutes: int - :param enable_floating_ip: Configures a virtual machine's endpoint for the - floating IP capability required to configure a SQL AlwaysOn Availability - Group. This setting is required when using the SQL AlwaysOn Availability - Groups in SQL server. This setting can't be changed after you create the - endpoint. - :type enable_floating_ip: bool - :param enable_tcp_reset: Receive bidirectional TCP Reset on TCP flow idle - timeout or unexpected connection termination. This element is only used - when the protocol is set to TCP. - :type enable_tcp_reset: bool - :param provisioning_state: The provisioning state of the inbound NAT rule - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: The name of the resource that is unique within the set of - inbound NAT rules used by the load balancer. This name can be used to - access the resource. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - :ivar type: Type of the resource. - :vartype type: str - """ - - _validation = { - 'backend_ip_configuration': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'frontend_ip_configuration': {'key': 'properties.frontendIPConfiguration', 'type': 'SubResource'}, - 'backend_ip_configuration': {'key': 'properties.backendIPConfiguration', 'type': 'NetworkInterfaceIPConfiguration'}, - 'protocol': {'key': 'properties.protocol', 'type': 'str'}, - 'frontend_port': {'key': 'properties.frontendPort', 'type': 'int'}, - 'backend_port': {'key': 'properties.backendPort', 'type': 'int'}, - 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, - 'enable_floating_ip': {'key': 'properties.enableFloatingIP', 'type': 'bool'}, - 'enable_tcp_reset': {'key': 'properties.enableTcpReset', 'type': 'bool'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(InboundNatRule, self).__init__(**kwargs) - self.frontend_ip_configuration = kwargs.get('frontend_ip_configuration', None) - self.backend_ip_configuration = None - self.protocol = kwargs.get('protocol', None) - self.frontend_port = kwargs.get('frontend_port', None) - self.backend_port = kwargs.get('backend_port', None) - self.idle_timeout_in_minutes = kwargs.get('idle_timeout_in_minutes', None) - self.enable_floating_ip = kwargs.get('enable_floating_ip', None) - self.enable_tcp_reset = kwargs.get('enable_tcp_reset', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.name = kwargs.get('name', None) - self.etag = kwargs.get('etag', None) - self.type = None - - -class IPAddressAvailabilityResult(Model): - """Response for CheckIPAddressAvailability API service call. - - :param available: Private IP address availability. - :type available: bool - :param available_ip_addresses: Contains other available private IP - addresses if the asked for address is taken. - :type available_ip_addresses: list[str] - """ - - _attribute_map = { - 'available': {'key': 'available', 'type': 'bool'}, - 'available_ip_addresses': {'key': 'availableIPAddresses', 'type': '[str]'}, - } - - def __init__(self, **kwargs): - super(IPAddressAvailabilityResult, self).__init__(**kwargs) - self.available = kwargs.get('available', None) - self.available_ip_addresses = kwargs.get('available_ip_addresses', None) - - -class IPConfiguration(SubResource): - """IP configuration. - - :param id: Resource ID. - :type id: str - :param private_ip_address: The private IP address of the IP configuration. - :type private_ip_address: str - :param private_ip_allocation_method: The private IP address allocation - method. Possible values include: 'Static', 'Dynamic' - :type private_ip_allocation_method: str or - ~azure.mgmt.network.v2019_07_01.models.IPAllocationMethod - :param subnet: The reference of the subnet resource. - :type subnet: ~azure.mgmt.network.v2019_07_01.models.Subnet - :param public_ip_address: The reference of the public IP resource. - :type public_ip_address: - ~azure.mgmt.network.v2019_07_01.models.PublicIPAddress - :param provisioning_state: The provisioning state of the IP configuration - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, - 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, - 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, - 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'PublicIPAddress'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(IPConfiguration, self).__init__(**kwargs) - self.private_ip_address = kwargs.get('private_ip_address', None) - self.private_ip_allocation_method = kwargs.get('private_ip_allocation_method', None) - self.subnet = kwargs.get('subnet', None) - self.public_ip_address = kwargs.get('public_ip_address', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.name = kwargs.get('name', None) - self.etag = kwargs.get('etag', None) - - -class IPConfigurationProfile(SubResource): - """IP configuration profile child resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param subnet: The reference of the subnet resource to create a container - network interface ip configuration. - :type subnet: ~azure.mgmt.network.v2019_07_01.models.Subnet - :ivar provisioning_state: The provisioning state of the IP configuration - profile resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: The name of the resource. This name can be used to access the - resource. - :type name: str - :ivar type: Sub Resource type. - :vartype type: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(IPConfigurationProfile, self).__init__(**kwargs) - self.subnet = kwargs.get('subnet', None) - self.provisioning_state = None - self.name = kwargs.get('name', None) - self.type = None - self.etag = kwargs.get('etag', None) - - -class IpsecPolicy(Model): - """An IPSec Policy configuration for a virtual network gateway connection. - - All required parameters must be populated in order to send to Azure. - - :param sa_life_time_seconds: Required. The IPSec Security Association - (also called Quick Mode or Phase 2 SA) lifetime in seconds for a site to - site VPN tunnel. - :type sa_life_time_seconds: int - :param sa_data_size_kilobytes: Required. The IPSec Security Association - (also called Quick Mode or Phase 2 SA) payload size in KB for a site to - site VPN tunnel. - :type sa_data_size_kilobytes: int - :param ipsec_encryption: Required. The IPSec encryption algorithm (IKE - phase 1). Possible values include: 'None', 'DES', 'DES3', 'AES128', - 'AES192', 'AES256', 'GCMAES128', 'GCMAES192', 'GCMAES256' - :type ipsec_encryption: str or - ~azure.mgmt.network.v2019_07_01.models.IpsecEncryption - :param ipsec_integrity: Required. The IPSec integrity algorithm (IKE phase - 1). Possible values include: 'MD5', 'SHA1', 'SHA256', 'GCMAES128', - 'GCMAES192', 'GCMAES256' - :type ipsec_integrity: str or - ~azure.mgmt.network.v2019_07_01.models.IpsecIntegrity - :param ike_encryption: Required. The IKE encryption algorithm (IKE phase - 2). Possible values include: 'DES', 'DES3', 'AES128', 'AES192', 'AES256', - 'GCMAES256', 'GCMAES128' - :type ike_encryption: str or - ~azure.mgmt.network.v2019_07_01.models.IkeEncryption - :param ike_integrity: Required. The IKE integrity algorithm (IKE phase 2). - Possible values include: 'MD5', 'SHA1', 'SHA256', 'SHA384', 'GCMAES256', - 'GCMAES128' - :type ike_integrity: str or - ~azure.mgmt.network.v2019_07_01.models.IkeIntegrity - :param dh_group: Required. The DH Group used in IKE Phase 1 for initial - SA. Possible values include: 'None', 'DHGroup1', 'DHGroup2', 'DHGroup14', - 'DHGroup2048', 'ECP256', 'ECP384', 'DHGroup24' - :type dh_group: str or ~azure.mgmt.network.v2019_07_01.models.DhGroup - :param pfs_group: Required. The Pfs Group used in IKE Phase 2 for new - child SA. Possible values include: 'None', 'PFS1', 'PFS2', 'PFS2048', - 'ECP256', 'ECP384', 'PFS24', 'PFS14', 'PFSMM' - :type pfs_group: str or ~azure.mgmt.network.v2019_07_01.models.PfsGroup - """ - - _validation = { - 'sa_life_time_seconds': {'required': True}, - 'sa_data_size_kilobytes': {'required': True}, - 'ipsec_encryption': {'required': True}, - 'ipsec_integrity': {'required': True}, - 'ike_encryption': {'required': True}, - 'ike_integrity': {'required': True}, - 'dh_group': {'required': True}, - 'pfs_group': {'required': True}, - } - - _attribute_map = { - 'sa_life_time_seconds': {'key': 'saLifeTimeSeconds', 'type': 'int'}, - 'sa_data_size_kilobytes': {'key': 'saDataSizeKilobytes', 'type': 'int'}, - 'ipsec_encryption': {'key': 'ipsecEncryption', 'type': 'str'}, - 'ipsec_integrity': {'key': 'ipsecIntegrity', 'type': 'str'}, - 'ike_encryption': {'key': 'ikeEncryption', 'type': 'str'}, - 'ike_integrity': {'key': 'ikeIntegrity', 'type': 'str'}, - 'dh_group': {'key': 'dhGroup', 'type': 'str'}, - 'pfs_group': {'key': 'pfsGroup', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(IpsecPolicy, self).__init__(**kwargs) - self.sa_life_time_seconds = kwargs.get('sa_life_time_seconds', None) - self.sa_data_size_kilobytes = kwargs.get('sa_data_size_kilobytes', None) - self.ipsec_encryption = kwargs.get('ipsec_encryption', None) - self.ipsec_integrity = kwargs.get('ipsec_integrity', None) - self.ike_encryption = kwargs.get('ike_encryption', None) - self.ike_integrity = kwargs.get('ike_integrity', None) - self.dh_group = kwargs.get('dh_group', None) - self.pfs_group = kwargs.get('pfs_group', None) - - -class IpTag(Model): - """Contains the IpTag associated with the object. - - :param ip_tag_type: The IP tag type. Example: FirstPartyUsage. - :type ip_tag_type: str - :param tag: The value of the IP tag associated with the public IP. - Example: SQL. - :type tag: str - """ - - _attribute_map = { - 'ip_tag_type': {'key': 'ipTagType', 'type': 'str'}, - 'tag': {'key': 'tag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(IpTag, self).__init__(**kwargs) - self.ip_tag_type = kwargs.get('ip_tag_type', None) - self.tag = kwargs.get('tag', None) - - -class Ipv6ExpressRouteCircuitPeeringConfig(Model): - """Contains IPv6 peering config. - - :param primary_peer_address_prefix: The primary address prefix. - :type primary_peer_address_prefix: str - :param secondary_peer_address_prefix: The secondary address prefix. - :type secondary_peer_address_prefix: str - :param microsoft_peering_config: The Microsoft peering configuration. - :type microsoft_peering_config: - ~azure.mgmt.network.v2019_07_01.models.ExpressRouteCircuitPeeringConfig - :param route_filter: The reference of the RouteFilter resource. - :type route_filter: ~azure.mgmt.network.v2019_07_01.models.SubResource - :param state: The state of peering. Possible values include: 'Disabled', - 'Enabled' - :type state: str or - ~azure.mgmt.network.v2019_07_01.models.ExpressRouteCircuitPeeringState - """ - - _attribute_map = { - 'primary_peer_address_prefix': {'key': 'primaryPeerAddressPrefix', 'type': 'str'}, - 'secondary_peer_address_prefix': {'key': 'secondaryPeerAddressPrefix', 'type': 'str'}, - 'microsoft_peering_config': {'key': 'microsoftPeeringConfig', 'type': 'ExpressRouteCircuitPeeringConfig'}, - 'route_filter': {'key': 'routeFilter', 'type': 'SubResource'}, - 'state': {'key': 'state', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(Ipv6ExpressRouteCircuitPeeringConfig, self).__init__(**kwargs) - self.primary_peer_address_prefix = kwargs.get('primary_peer_address_prefix', None) - self.secondary_peer_address_prefix = kwargs.get('secondary_peer_address_prefix', None) - self.microsoft_peering_config = kwargs.get('microsoft_peering_config', None) - self.route_filter = kwargs.get('route_filter', None) - self.state = kwargs.get('state', None) - - -class LoadBalancer(Resource): - """LoadBalancer resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param sku: The load balancer SKU. - :type sku: ~azure.mgmt.network.v2019_07_01.models.LoadBalancerSku - :param frontend_ip_configurations: Object representing the frontend IPs to - be used for the load balancer. - :type frontend_ip_configurations: - list[~azure.mgmt.network.v2019_07_01.models.FrontendIPConfiguration] - :param backend_address_pools: Collection of backend address pools used by - a load balancer. - :type backend_address_pools: - list[~azure.mgmt.network.v2019_07_01.models.BackendAddressPool] - :param load_balancing_rules: Object collection representing the load - balancing rules Gets the provisioning. - :type load_balancing_rules: - list[~azure.mgmt.network.v2019_07_01.models.LoadBalancingRule] - :param probes: Collection of probe objects used in the load balancer. - :type probes: list[~azure.mgmt.network.v2019_07_01.models.Probe] - :param inbound_nat_rules: Collection of inbound NAT Rules used by a load - balancer. Defining inbound NAT rules on your load balancer is mutually - exclusive with defining an inbound NAT pool. Inbound NAT pools are - referenced from virtual machine scale sets. NICs that are associated with - individual virtual machines cannot reference an Inbound NAT pool. They - have to reference individual inbound NAT rules. - :type inbound_nat_rules: - list[~azure.mgmt.network.v2019_07_01.models.InboundNatRule] - :param inbound_nat_pools: Defines an external port range for inbound NAT - to a single backend port on NICs associated with a load balancer. Inbound - NAT rules are created automatically for each NIC associated with the Load - Balancer using an external port from this range. Defining an Inbound NAT - pool on your Load Balancer is mutually exclusive with defining inbound Nat - rules. Inbound NAT pools are referenced from virtual machine scale sets. - NICs that are associated with individual virtual machines cannot reference - an inbound NAT pool. They have to reference individual inbound NAT rules. - :type inbound_nat_pools: - list[~azure.mgmt.network.v2019_07_01.models.InboundNatPool] - :param outbound_rules: The outbound rules. - :type outbound_rules: - list[~azure.mgmt.network.v2019_07_01.models.OutboundRule] - :param resource_guid: The resource GUID property of the load balancer - resource. - :type resource_guid: str - :param provisioning_state: The provisioning state of the load balancer - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'sku': {'key': 'sku', 'type': 'LoadBalancerSku'}, - 'frontend_ip_configurations': {'key': 'properties.frontendIPConfigurations', 'type': '[FrontendIPConfiguration]'}, - 'backend_address_pools': {'key': 'properties.backendAddressPools', 'type': '[BackendAddressPool]'}, - 'load_balancing_rules': {'key': 'properties.loadBalancingRules', 'type': '[LoadBalancingRule]'}, - 'probes': {'key': 'properties.probes', 'type': '[Probe]'}, - 'inbound_nat_rules': {'key': 'properties.inboundNatRules', 'type': '[InboundNatRule]'}, - 'inbound_nat_pools': {'key': 'properties.inboundNatPools', 'type': '[InboundNatPool]'}, - 'outbound_rules': {'key': 'properties.outboundRules', 'type': '[OutboundRule]'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(LoadBalancer, self).__init__(**kwargs) - self.sku = kwargs.get('sku', None) - self.frontend_ip_configurations = kwargs.get('frontend_ip_configurations', None) - self.backend_address_pools = kwargs.get('backend_address_pools', None) - self.load_balancing_rules = kwargs.get('load_balancing_rules', None) - self.probes = kwargs.get('probes', None) - self.inbound_nat_rules = kwargs.get('inbound_nat_rules', None) - self.inbound_nat_pools = kwargs.get('inbound_nat_pools', None) - self.outbound_rules = kwargs.get('outbound_rules', None) - self.resource_guid = kwargs.get('resource_guid', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.etag = kwargs.get('etag', None) - - -class LoadBalancerSku(Model): - """SKU of a load balancer. - - :param name: Name of a load balancer SKU. Possible values include: - 'Basic', 'Standard' - :type name: str or - ~azure.mgmt.network.v2019_07_01.models.LoadBalancerSkuName - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(LoadBalancerSku, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - - -class LoadBalancingRule(SubResource): - """A load balancing rule for a load balancer. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :param frontend_ip_configuration: A reference to frontend IP addresses. - :type frontend_ip_configuration: - ~azure.mgmt.network.v2019_07_01.models.SubResource - :param backend_address_pool: A reference to a pool of DIPs. Inbound - traffic is randomly load balanced across IPs in the backend IPs. - :type backend_address_pool: - ~azure.mgmt.network.v2019_07_01.models.SubResource - :param probe: The reference of the load balancer probe used by the load - balancing rule. - :type probe: ~azure.mgmt.network.v2019_07_01.models.SubResource - :param protocol: Required. The reference to the transport protocol used by - the load balancing rule. Possible values include: 'Udp', 'Tcp', 'All' - :type protocol: str or - ~azure.mgmt.network.v2019_07_01.models.TransportProtocol - :param load_distribution: The load distribution policy for this rule. - Possible values include: 'Default', 'SourceIP', 'SourceIPProtocol' - :type load_distribution: str or - ~azure.mgmt.network.v2019_07_01.models.LoadDistribution - :param frontend_port: Required. The port for the external endpoint. Port - numbers for each rule must be unique within the Load Balancer. Acceptable - values are between 0 and 65534. Note that value 0 enables "Any Port". - :type frontend_port: int - :param backend_port: The port used for internal connections on the - endpoint. Acceptable values are between 0 and 65535. Note that value 0 - enables "Any Port". - :type backend_port: int - :param idle_timeout_in_minutes: The timeout for the TCP idle connection. - The value can be set between 4 and 30 minutes. The default value is 4 - minutes. This element is only used when the protocol is set to TCP. - :type idle_timeout_in_minutes: int - :param enable_floating_ip: Configures a virtual machine's endpoint for the - floating IP capability required to configure a SQL AlwaysOn Availability - Group. This setting is required when using the SQL AlwaysOn Availability - Groups in SQL server. This setting can't be changed after you create the - endpoint. - :type enable_floating_ip: bool - :param enable_tcp_reset: Receive bidirectional TCP Reset on TCP flow idle - timeout or unexpected connection termination. This element is only used - when the protocol is set to TCP. - :type enable_tcp_reset: bool - :param disable_outbound_snat: Configures SNAT for the VMs in the backend - pool to use the publicIP address specified in the frontend of the load - balancing rule. - :type disable_outbound_snat: bool - :param provisioning_state: The provisioning state of the load balancing - rule resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: The name of the resource that is unique within the set of - load balancing rules used by the load balancer. This name can be used to - access the resource. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - :ivar type: Type of the resource. - :vartype type: str - """ - - _validation = { - 'protocol': {'required': True}, - 'frontend_port': {'required': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'frontend_ip_configuration': {'key': 'properties.frontendIPConfiguration', 'type': 'SubResource'}, - 'backend_address_pool': {'key': 'properties.backendAddressPool', 'type': 'SubResource'}, - 'probe': {'key': 'properties.probe', 'type': 'SubResource'}, - 'protocol': {'key': 'properties.protocol', 'type': 'str'}, - 'load_distribution': {'key': 'properties.loadDistribution', 'type': 'str'}, - 'frontend_port': {'key': 'properties.frontendPort', 'type': 'int'}, - 'backend_port': {'key': 'properties.backendPort', 'type': 'int'}, - 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, - 'enable_floating_ip': {'key': 'properties.enableFloatingIP', 'type': 'bool'}, - 'enable_tcp_reset': {'key': 'properties.enableTcpReset', 'type': 'bool'}, - 'disable_outbound_snat': {'key': 'properties.disableOutboundSnat', 'type': 'bool'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(LoadBalancingRule, self).__init__(**kwargs) - self.frontend_ip_configuration = kwargs.get('frontend_ip_configuration', None) - self.backend_address_pool = kwargs.get('backend_address_pool', None) - self.probe = kwargs.get('probe', None) - self.protocol = kwargs.get('protocol', None) - self.load_distribution = kwargs.get('load_distribution', None) - self.frontend_port = kwargs.get('frontend_port', None) - self.backend_port = kwargs.get('backend_port', None) - self.idle_timeout_in_minutes = kwargs.get('idle_timeout_in_minutes', None) - self.enable_floating_ip = kwargs.get('enable_floating_ip', None) - self.enable_tcp_reset = kwargs.get('enable_tcp_reset', None) - self.disable_outbound_snat = kwargs.get('disable_outbound_snat', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.name = kwargs.get('name', None) - self.etag = kwargs.get('etag', None) - self.type = None - - -class LocalNetworkGateway(Resource): - """A common class for general resource information. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param local_network_address_space: Local network site address space. - :type local_network_address_space: - ~azure.mgmt.network.v2019_07_01.models.AddressSpace - :param gateway_ip_address: IP address of local network gateway. - :type gateway_ip_address: str - :param bgp_settings: Local network gateway's BGP speaker settings. - :type bgp_settings: ~azure.mgmt.network.v2019_07_01.models.BgpSettings - :param resource_guid: The resource GUID property of the local network - gateway resource. - :type resource_guid: str - :ivar provisioning_state: The provisioning state of the local network - gateway resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'local_network_address_space': {'key': 'properties.localNetworkAddressSpace', 'type': 'AddressSpace'}, - 'gateway_ip_address': {'key': 'properties.gatewayIpAddress', 'type': 'str'}, - 'bgp_settings': {'key': 'properties.bgpSettings', 'type': 'BgpSettings'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(LocalNetworkGateway, self).__init__(**kwargs) - self.local_network_address_space = kwargs.get('local_network_address_space', None) - self.gateway_ip_address = kwargs.get('gateway_ip_address', None) - self.bgp_settings = kwargs.get('bgp_settings', None) - self.resource_guid = kwargs.get('resource_guid', None) - self.provisioning_state = None - self.etag = kwargs.get('etag', None) - - -class LogSpecification(Model): - """Description of logging specification. - - :param name: The name of the specification. - :type name: str - :param display_name: The display name of the specification. - :type display_name: str - :param blob_duration: Duration of the blob. - :type blob_duration: str - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'display_name': {'key': 'displayName', 'type': 'str'}, - 'blob_duration': {'key': 'blobDuration', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(LogSpecification, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.display_name = kwargs.get('display_name', None) - self.blob_duration = kwargs.get('blob_duration', None) - - -class ManagedServiceIdentity(Model): - """Identity for the resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar principal_id: The principal id of the system assigned identity. This - property will only be provided for a system assigned identity. - :vartype principal_id: str - :ivar tenant_id: The tenant id of the system assigned identity. This - property will only be provided for a system assigned identity. - :vartype tenant_id: str - :param type: The type of identity used for the resource. The type - 'SystemAssigned, UserAssigned' includes both an implicitly created - identity and a set of user assigned identities. The type 'None' will - remove any identities from the virtual machine. Possible values include: - 'SystemAssigned', 'UserAssigned', 'SystemAssigned, UserAssigned', 'None' - :type type: str or - ~azure.mgmt.network.v2019_07_01.models.ResourceIdentityType - :param user_assigned_identities: The list of user identities associated - with resource. The user identity dictionary key references will be ARM - resource ids in the form: - '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. - :type user_assigned_identities: dict[str, - ~azure.mgmt.network.v2019_07_01.models.ManagedServiceIdentityUserAssignedIdentitiesValue] - """ - - _validation = { - 'principal_id': {'readonly': True}, - 'tenant_id': {'readonly': True}, - } - - _attribute_map = { - 'principal_id': {'key': 'principalId', 'type': 'str'}, - 'tenant_id': {'key': 'tenantId', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'ResourceIdentityType'}, - 'user_assigned_identities': {'key': 'userAssignedIdentities', 'type': '{ManagedServiceIdentityUserAssignedIdentitiesValue}'}, - } - - def __init__(self, **kwargs): - super(ManagedServiceIdentity, self).__init__(**kwargs) - self.principal_id = None - self.tenant_id = None - self.type = kwargs.get('type', None) - self.user_assigned_identities = kwargs.get('user_assigned_identities', None) - - -class ManagedServiceIdentityUserAssignedIdentitiesValue(Model): - """ManagedServiceIdentityUserAssignedIdentitiesValue. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar principal_id: The principal id of user assigned identity. - :vartype principal_id: str - :ivar client_id: The client id of user assigned identity. - :vartype client_id: str - """ - - _validation = { - 'principal_id': {'readonly': True}, - 'client_id': {'readonly': True}, - } - - _attribute_map = { - 'principal_id': {'key': 'principalId', 'type': 'str'}, - 'client_id': {'key': 'clientId', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ManagedServiceIdentityUserAssignedIdentitiesValue, self).__init__(**kwargs) - self.principal_id = None - self.client_id = None - - -class MatchCondition(Model): - """Define match conditions. - - All required parameters must be populated in order to send to Azure. - - :param match_variables: Required. List of match variables. - :type match_variables: - list[~azure.mgmt.network.v2019_07_01.models.MatchVariable] - :param operator: Required. Describes operator to be matched. Possible - values include: 'IPMatch', 'Equal', 'Contains', 'LessThan', 'GreaterThan', - 'LessThanOrEqual', 'GreaterThanOrEqual', 'BeginsWith', 'EndsWith', 'Regex' - :type operator: str or - ~azure.mgmt.network.v2019_07_01.models.WebApplicationFirewallOperator - :param negation_conditon: Describes if this is negate condition or not. - :type negation_conditon: bool - :param match_values: Required. Match value. - :type match_values: list[str] - :param transforms: List of transforms. - :type transforms: list[str or - ~azure.mgmt.network.v2019_07_01.models.WebApplicationFirewallTransform] - """ - - _validation = { - 'match_variables': {'required': True}, - 'operator': {'required': True}, - 'match_values': {'required': True}, - } - - _attribute_map = { - 'match_variables': {'key': 'matchVariables', 'type': '[MatchVariable]'}, - 'operator': {'key': 'operator', 'type': 'str'}, - 'negation_conditon': {'key': 'negationConditon', 'type': 'bool'}, - 'match_values': {'key': 'matchValues', 'type': '[str]'}, - 'transforms': {'key': 'transforms', 'type': '[str]'}, - } - - def __init__(self, **kwargs): - super(MatchCondition, self).__init__(**kwargs) - self.match_variables = kwargs.get('match_variables', None) - self.operator = kwargs.get('operator', None) - self.negation_conditon = kwargs.get('negation_conditon', None) - self.match_values = kwargs.get('match_values', None) - self.transforms = kwargs.get('transforms', None) - - -class MatchedRule(Model): - """Matched rule. - - :param rule_name: Name of the matched network security rule. - :type rule_name: str - :param action: The network traffic is allowed or denied. Possible values - are 'Allow' and 'Deny'. - :type action: str - """ - - _attribute_map = { - 'rule_name': {'key': 'ruleName', 'type': 'str'}, - 'action': {'key': 'action', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(MatchedRule, self).__init__(**kwargs) - self.rule_name = kwargs.get('rule_name', None) - self.action = kwargs.get('action', None) - - -class MatchVariable(Model): - """Define match variables. - - All required parameters must be populated in order to send to Azure. - - :param variable_name: Required. Match Variable. Possible values include: - 'RemoteAddr', 'RequestMethod', 'QueryString', 'PostArgs', 'RequestUri', - 'RequestHeaders', 'RequestBody', 'RequestCookies' - :type variable_name: str or - ~azure.mgmt.network.v2019_07_01.models.WebApplicationFirewallMatchVariable - :param selector: Describes field of the matchVariable collection. - :type selector: str - """ - - _validation = { - 'variable_name': {'required': True}, - } - - _attribute_map = { - 'variable_name': {'key': 'variableName', 'type': 'str'}, - 'selector': {'key': 'selector', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(MatchVariable, self).__init__(**kwargs) - self.variable_name = kwargs.get('variable_name', None) - self.selector = kwargs.get('selector', None) - - -class MetricSpecification(Model): - """Description of metrics specification. - - :param name: The name of the metric. - :type name: str - :param display_name: The display name of the metric. - :type display_name: str - :param display_description: The description of the metric. - :type display_description: str - :param unit: Units the metric to be displayed in. - :type unit: str - :param aggregation_type: The aggregation type. - :type aggregation_type: str - :param availabilities: List of availability. - :type availabilities: - list[~azure.mgmt.network.v2019_07_01.models.Availability] - :param enable_regional_mdm_account: Whether regional MDM account enabled. - :type enable_regional_mdm_account: bool - :param fill_gap_with_zero: Whether gaps would be filled with zeros. - :type fill_gap_with_zero: bool - :param metric_filter_pattern: Pattern for the filter of the metric. - :type metric_filter_pattern: str - :param dimensions: List of dimensions. - :type dimensions: list[~azure.mgmt.network.v2019_07_01.models.Dimension] - :param is_internal: Whether the metric is internal. - :type is_internal: bool - :param source_mdm_account: The source MDM account. - :type source_mdm_account: str - :param source_mdm_namespace: The source MDM namespace. - :type source_mdm_namespace: str - :param resource_id_dimension_name_override: The resource Id dimension name - override. - :type resource_id_dimension_name_override: str - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'display_name': {'key': 'displayName', 'type': 'str'}, - 'display_description': {'key': 'displayDescription', 'type': 'str'}, - 'unit': {'key': 'unit', 'type': 'str'}, - 'aggregation_type': {'key': 'aggregationType', 'type': 'str'}, - 'availabilities': {'key': 'availabilities', 'type': '[Availability]'}, - 'enable_regional_mdm_account': {'key': 'enableRegionalMdmAccount', 'type': 'bool'}, - 'fill_gap_with_zero': {'key': 'fillGapWithZero', 'type': 'bool'}, - 'metric_filter_pattern': {'key': 'metricFilterPattern', 'type': 'str'}, - 'dimensions': {'key': 'dimensions', 'type': '[Dimension]'}, - 'is_internal': {'key': 'isInternal', 'type': 'bool'}, - 'source_mdm_account': {'key': 'sourceMdmAccount', 'type': 'str'}, - 'source_mdm_namespace': {'key': 'sourceMdmNamespace', 'type': 'str'}, - 'resource_id_dimension_name_override': {'key': 'resourceIdDimensionNameOverride', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(MetricSpecification, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.display_name = kwargs.get('display_name', None) - self.display_description = kwargs.get('display_description', None) - self.unit = kwargs.get('unit', None) - self.aggregation_type = kwargs.get('aggregation_type', None) - self.availabilities = kwargs.get('availabilities', None) - self.enable_regional_mdm_account = kwargs.get('enable_regional_mdm_account', None) - self.fill_gap_with_zero = kwargs.get('fill_gap_with_zero', None) - self.metric_filter_pattern = kwargs.get('metric_filter_pattern', None) - self.dimensions = kwargs.get('dimensions', None) - self.is_internal = kwargs.get('is_internal', None) - self.source_mdm_account = kwargs.get('source_mdm_account', None) - self.source_mdm_namespace = kwargs.get('source_mdm_namespace', None) - self.resource_id_dimension_name_override = kwargs.get('resource_id_dimension_name_override', None) - - -class NatGateway(Resource): - """Nat Gateway resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param sku: The nat gateway SKU. - :type sku: ~azure.mgmt.network.v2019_07_01.models.NatGatewaySku - :param idle_timeout_in_minutes: The idle timeout of the nat gateway. - :type idle_timeout_in_minutes: int - :param public_ip_addresses: An array of public ip addresses associated - with the nat gateway resource. - :type public_ip_addresses: - list[~azure.mgmt.network.v2019_07_01.models.SubResource] - :param public_ip_prefixes: An array of public ip prefixes associated with - the nat gateway resource. - :type public_ip_prefixes: - list[~azure.mgmt.network.v2019_07_01.models.SubResource] - :ivar subnets: An array of references to the subnets using this nat - gateway resource. - :vartype subnets: list[~azure.mgmt.network.v2019_07_01.models.SubResource] - :param resource_guid: The resource GUID property of the NAT gateway - resource. - :type resource_guid: str - :param provisioning_state: The provisioning state of the NAT gateway - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param zones: A list of availability zones denoting the zone in which Nat - Gateway should be deployed. - :type zones: list[str] - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'subnets': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'sku': {'key': 'sku', 'type': 'NatGatewaySku'}, - 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, - 'public_ip_addresses': {'key': 'properties.publicIpAddresses', 'type': '[SubResource]'}, - 'public_ip_prefixes': {'key': 'properties.publicIpPrefixes', 'type': '[SubResource]'}, - 'subnets': {'key': 'properties.subnets', 'type': '[SubResource]'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'zones': {'key': 'zones', 'type': '[str]'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(NatGateway, self).__init__(**kwargs) - self.sku = kwargs.get('sku', None) - self.idle_timeout_in_minutes = kwargs.get('idle_timeout_in_minutes', None) - self.public_ip_addresses = kwargs.get('public_ip_addresses', None) - self.public_ip_prefixes = kwargs.get('public_ip_prefixes', None) - self.subnets = None - self.resource_guid = kwargs.get('resource_guid', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.zones = kwargs.get('zones', None) - self.etag = kwargs.get('etag', None) - - -class NatGatewaySku(Model): - """SKU of nat gateway. - - :param name: Name of Nat Gateway SKU. Possible values include: 'Standard' - :type name: str or - ~azure.mgmt.network.v2019_07_01.models.NatGatewaySkuName - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(NatGatewaySku, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - - -class NetworkConfigurationDiagnosticParameters(Model): - """Parameters to get network configuration diagnostic. - - All required parameters must be populated in order to send to Azure. - - :param target_resource_id: Required. The ID of the target resource to - perform network configuration diagnostic. Valid options are VM, - NetworkInterface, VMSS/NetworkInterface and Application Gateway. - :type target_resource_id: str - :param verbosity_level: Verbosity level. Possible values include: - 'Normal', 'Minimum', 'Full' - :type verbosity_level: str or - ~azure.mgmt.network.v2019_07_01.models.VerbosityLevel - :param profiles: Required. List of network configuration diagnostic - profiles. - :type profiles: - list[~azure.mgmt.network.v2019_07_01.models.NetworkConfigurationDiagnosticProfile] - """ - - _validation = { - 'target_resource_id': {'required': True}, - 'profiles': {'required': True}, - } - - _attribute_map = { - 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, - 'verbosity_level': {'key': 'verbosityLevel', 'type': 'str'}, - 'profiles': {'key': 'profiles', 'type': '[NetworkConfigurationDiagnosticProfile]'}, - } - - def __init__(self, **kwargs): - super(NetworkConfigurationDiagnosticParameters, self).__init__(**kwargs) - self.target_resource_id = kwargs.get('target_resource_id', None) - self.verbosity_level = kwargs.get('verbosity_level', None) - self.profiles = kwargs.get('profiles', None) - - -class NetworkConfigurationDiagnosticProfile(Model): - """Parameters to compare with network configuration. - - All required parameters must be populated in order to send to Azure. - - :param direction: Required. The direction of the traffic. Possible values - include: 'Inbound', 'Outbound' - :type direction: str or ~azure.mgmt.network.v2019_07_01.models.Direction - :param protocol: Required. Protocol to be verified on. Accepted values are - '*', TCP, UDP. - :type protocol: str - :param source: Required. Traffic source. Accepted values are '*', IP - Address/CIDR, Service Tag. - :type source: str - :param destination: Required. Traffic destination. Accepted values are: - '*', IP Address/CIDR, Service Tag. - :type destination: str - :param destination_port: Required. Traffic destination port. Accepted - values are '*', port (for example, 3389) and port range (for example, - 80-100). - :type destination_port: str - """ - - _validation = { - 'direction': {'required': True}, - 'protocol': {'required': True}, - 'source': {'required': True}, - 'destination': {'required': True}, - 'destination_port': {'required': True}, - } - - _attribute_map = { - 'direction': {'key': 'direction', 'type': 'str'}, - 'protocol': {'key': 'protocol', 'type': 'str'}, - 'source': {'key': 'source', 'type': 'str'}, - 'destination': {'key': 'destination', 'type': 'str'}, - 'destination_port': {'key': 'destinationPort', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(NetworkConfigurationDiagnosticProfile, self).__init__(**kwargs) - self.direction = kwargs.get('direction', None) - self.protocol = kwargs.get('protocol', None) - self.source = kwargs.get('source', None) - self.destination = kwargs.get('destination', None) - self.destination_port = kwargs.get('destination_port', None) - - -class NetworkConfigurationDiagnosticResponse(Model): - """Results of network configuration diagnostic on the target resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar results: List of network configuration diagnostic results. - :vartype results: - list[~azure.mgmt.network.v2019_07_01.models.NetworkConfigurationDiagnosticResult] - """ - - _validation = { - 'results': {'readonly': True}, - } - - _attribute_map = { - 'results': {'key': 'results', 'type': '[NetworkConfigurationDiagnosticResult]'}, - } - - def __init__(self, **kwargs): - super(NetworkConfigurationDiagnosticResponse, self).__init__(**kwargs) - self.results = None - - -class NetworkConfigurationDiagnosticResult(Model): - """Network configuration diagnostic result corresponded to provided traffic - query. - - :param profile: Network configuration diagnostic profile. - :type profile: - ~azure.mgmt.network.v2019_07_01.models.NetworkConfigurationDiagnosticProfile - :param network_security_group_result: Network security group result. - :type network_security_group_result: - ~azure.mgmt.network.v2019_07_01.models.NetworkSecurityGroupResult - """ - - _attribute_map = { - 'profile': {'key': 'profile', 'type': 'NetworkConfigurationDiagnosticProfile'}, - 'network_security_group_result': {'key': 'networkSecurityGroupResult', 'type': 'NetworkSecurityGroupResult'}, - } - - def __init__(self, **kwargs): - super(NetworkConfigurationDiagnosticResult, self).__init__(**kwargs) - self.profile = kwargs.get('profile', None) - self.network_security_group_result = kwargs.get('network_security_group_result', None) - - -class NetworkIntentPolicy(Resource): - """Network Intent Policy resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(NetworkIntentPolicy, self).__init__(**kwargs) - self.etag = kwargs.get('etag', None) - - -class NetworkIntentPolicyConfiguration(Model): - """Details of NetworkIntentPolicyConfiguration for - PrepareNetworkPoliciesRequest. - - :param network_intent_policy_name: The name of the Network Intent Policy - for storing in target subscription. - :type network_intent_policy_name: str - :param source_network_intent_policy: Source network intent policy. - :type source_network_intent_policy: - ~azure.mgmt.network.v2019_07_01.models.NetworkIntentPolicy - """ - - _attribute_map = { - 'network_intent_policy_name': {'key': 'networkIntentPolicyName', 'type': 'str'}, - 'source_network_intent_policy': {'key': 'sourceNetworkIntentPolicy', 'type': 'NetworkIntentPolicy'}, - } - - def __init__(self, **kwargs): - super(NetworkIntentPolicyConfiguration, self).__init__(**kwargs) - self.network_intent_policy_name = kwargs.get('network_intent_policy_name', None) - self.source_network_intent_policy = kwargs.get('source_network_intent_policy', None) - - -class NetworkInterface(Resource): - """A network interface in a resource group. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :ivar virtual_machine: The reference of a virtual machine. - :vartype virtual_machine: - ~azure.mgmt.network.v2019_07_01.models.SubResource - :param network_security_group: The reference of the NetworkSecurityGroup - resource. - :type network_security_group: - ~azure.mgmt.network.v2019_07_01.models.NetworkSecurityGroup - :ivar private_endpoint: A reference to the private endpoint to which the - network interface is linked. - :vartype private_endpoint: - ~azure.mgmt.network.v2019_07_01.models.PrivateEndpoint - :param ip_configurations: A list of IPConfigurations of the network - interface. - :type ip_configurations: - list[~azure.mgmt.network.v2019_07_01.models.NetworkInterfaceIPConfiguration] - :param tap_configurations: A list of TapConfigurations of the network - interface. - :type tap_configurations: - list[~azure.mgmt.network.v2019_07_01.models.NetworkInterfaceTapConfiguration] - :param dns_settings: The DNS settings in network interface. - :type dns_settings: - ~azure.mgmt.network.v2019_07_01.models.NetworkInterfaceDnsSettings - :param mac_address: The MAC address of the network interface. - :type mac_address: str - :param primary: Whether this is a primary network interface on a virtual - machine. - :type primary: bool - :param enable_accelerated_networking: If the network interface is - accelerated networking enabled. - :type enable_accelerated_networking: bool - :param enable_ip_forwarding: Indicates whether IP forwarding is enabled on - this network interface. - :type enable_ip_forwarding: bool - :ivar hosted_workloads: A list of references to linked BareMetal - resources. - :vartype hosted_workloads: list[str] - :param resource_guid: The resource GUID property of the network interface - resource. - :type resource_guid: str - :param provisioning_state: The provisioning state of the network interface - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'virtual_machine': {'readonly': True}, - 'private_endpoint': {'readonly': True}, - 'hosted_workloads': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'virtual_machine': {'key': 'properties.virtualMachine', 'type': 'SubResource'}, - 'network_security_group': {'key': 'properties.networkSecurityGroup', 'type': 'NetworkSecurityGroup'}, - 'private_endpoint': {'key': 'properties.privateEndpoint', 'type': 'PrivateEndpoint'}, - 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[NetworkInterfaceIPConfiguration]'}, - 'tap_configurations': {'key': 'properties.tapConfigurations', 'type': '[NetworkInterfaceTapConfiguration]'}, - 'dns_settings': {'key': 'properties.dnsSettings', 'type': 'NetworkInterfaceDnsSettings'}, - 'mac_address': {'key': 'properties.macAddress', 'type': 'str'}, - 'primary': {'key': 'properties.primary', 'type': 'bool'}, - 'enable_accelerated_networking': {'key': 'properties.enableAcceleratedNetworking', 'type': 'bool'}, - 'enable_ip_forwarding': {'key': 'properties.enableIPForwarding', 'type': 'bool'}, - 'hosted_workloads': {'key': 'properties.hostedWorkloads', 'type': '[str]'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(NetworkInterface, self).__init__(**kwargs) - self.virtual_machine = None - self.network_security_group = kwargs.get('network_security_group', None) - self.private_endpoint = None - self.ip_configurations = kwargs.get('ip_configurations', None) - self.tap_configurations = kwargs.get('tap_configurations', None) - self.dns_settings = kwargs.get('dns_settings', None) - self.mac_address = kwargs.get('mac_address', None) - self.primary = kwargs.get('primary', None) - self.enable_accelerated_networking = kwargs.get('enable_accelerated_networking', None) - self.enable_ip_forwarding = kwargs.get('enable_ip_forwarding', None) - self.hosted_workloads = None - self.resource_guid = kwargs.get('resource_guid', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.etag = kwargs.get('etag', None) - - -class NetworkInterfaceAssociation(Model): - """Network interface and its custom security rules. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar id: Network interface ID. - :vartype id: str - :param security_rules: Collection of custom security rules. - :type security_rules: - list[~azure.mgmt.network.v2019_07_01.models.SecurityRule] - """ - - _validation = { - 'id': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'security_rules': {'key': 'securityRules', 'type': '[SecurityRule]'}, - } - - def __init__(self, **kwargs): - super(NetworkInterfaceAssociation, self).__init__(**kwargs) - self.id = None - self.security_rules = kwargs.get('security_rules', None) - - -class NetworkInterfaceDnsSettings(Model): - """DNS settings of a network interface. - - :param dns_servers: List of DNS servers IP addresses. Use - 'AzureProvidedDNS' to switch to azure provided DNS resolution. - 'AzureProvidedDNS' value cannot be combined with other IPs, it must be the - only value in dnsServers collection. - :type dns_servers: list[str] - :param applied_dns_servers: If the VM that uses this NIC is part of an - Availability Set, then this list will have the union of all DNS servers - from all NICs that are part of the Availability Set. This property is what - is configured on each of those VMs. - :type applied_dns_servers: list[str] - :param internal_dns_name_label: Relative DNS name for this NIC used for - internal communications between VMs in the same virtual network. - :type internal_dns_name_label: str - :param internal_fqdn: Fully qualified DNS name supporting internal - communications between VMs in the same virtual network. - :type internal_fqdn: str - :param internal_domain_name_suffix: Even if internalDnsNameLabel is not - specified, a DNS entry is created for the primary NIC of the VM. This DNS - name can be constructed by concatenating the VM name with the value of - internalDomainNameSuffix. - :type internal_domain_name_suffix: str - """ - - _attribute_map = { - 'dns_servers': {'key': 'dnsServers', 'type': '[str]'}, - 'applied_dns_servers': {'key': 'appliedDnsServers', 'type': '[str]'}, - 'internal_dns_name_label': {'key': 'internalDnsNameLabel', 'type': 'str'}, - 'internal_fqdn': {'key': 'internalFqdn', 'type': 'str'}, - 'internal_domain_name_suffix': {'key': 'internalDomainNameSuffix', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(NetworkInterfaceDnsSettings, self).__init__(**kwargs) - self.dns_servers = kwargs.get('dns_servers', None) - self.applied_dns_servers = kwargs.get('applied_dns_servers', None) - self.internal_dns_name_label = kwargs.get('internal_dns_name_label', None) - self.internal_fqdn = kwargs.get('internal_fqdn', None) - self.internal_domain_name_suffix = kwargs.get('internal_domain_name_suffix', None) - - -class NetworkInterfaceIPConfiguration(SubResource): - """IPConfiguration in a network interface. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param virtual_network_taps: The reference to Virtual Network Taps. - :type virtual_network_taps: - list[~azure.mgmt.network.v2019_07_01.models.VirtualNetworkTap] - :param application_gateway_backend_address_pools: The reference of - ApplicationGatewayBackendAddressPool resource. - :type application_gateway_backend_address_pools: - list[~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayBackendAddressPool] - :param load_balancer_backend_address_pools: The reference of - LoadBalancerBackendAddressPool resource. - :type load_balancer_backend_address_pools: - list[~azure.mgmt.network.v2019_07_01.models.BackendAddressPool] - :param load_balancer_inbound_nat_rules: A list of references of - LoadBalancerInboundNatRules. - :type load_balancer_inbound_nat_rules: - list[~azure.mgmt.network.v2019_07_01.models.InboundNatRule] - :param private_ip_address: Private IP address of the IP configuration. - :type private_ip_address: str - :param private_ip_allocation_method: The private IP address allocation - method. Possible values include: 'Static', 'Dynamic' - :type private_ip_allocation_method: str or - ~azure.mgmt.network.v2019_07_01.models.IPAllocationMethod - :param private_ip_address_version: Whether the specific IP configuration - is IPv4 or IPv6. Default is IPv4. Possible values include: 'IPv4', 'IPv6' - :type private_ip_address_version: str or - ~azure.mgmt.network.v2019_07_01.models.IPVersion - :param subnet: Subnet bound to the IP configuration. - :type subnet: ~azure.mgmt.network.v2019_07_01.models.Subnet - :param primary: Whether this is a primary customer address on the network - interface. - :type primary: bool - :param public_ip_address: Public IP address bound to the IP configuration. - :type public_ip_address: - ~azure.mgmt.network.v2019_07_01.models.PublicIPAddress - :param application_security_groups: Application security groups in which - the IP configuration is included. - :type application_security_groups: - list[~azure.mgmt.network.v2019_07_01.models.ApplicationSecurityGroup] - :param provisioning_state: The provisioning state of the network interface - IP configuration. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :ivar private_link_connection_properties: PrivateLinkConnection properties - for the network interface. - :vartype private_link_connection_properties: - ~azure.mgmt.network.v2019_07_01.models.NetworkInterfaceIPConfigurationPrivateLinkConnectionProperties - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'private_link_connection_properties': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'virtual_network_taps': {'key': 'properties.virtualNetworkTaps', 'type': '[VirtualNetworkTap]'}, - 'application_gateway_backend_address_pools': {'key': 'properties.applicationGatewayBackendAddressPools', 'type': '[ApplicationGatewayBackendAddressPool]'}, - 'load_balancer_backend_address_pools': {'key': 'properties.loadBalancerBackendAddressPools', 'type': '[BackendAddressPool]'}, - 'load_balancer_inbound_nat_rules': {'key': 'properties.loadBalancerInboundNatRules', 'type': '[InboundNatRule]'}, - 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, - 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, - 'private_ip_address_version': {'key': 'properties.privateIPAddressVersion', 'type': 'str'}, - 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, - 'primary': {'key': 'properties.primary', 'type': 'bool'}, - 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'PublicIPAddress'}, - 'application_security_groups': {'key': 'properties.applicationSecurityGroups', 'type': '[ApplicationSecurityGroup]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'private_link_connection_properties': {'key': 'properties.privateLinkConnectionProperties', 'type': 'NetworkInterfaceIPConfigurationPrivateLinkConnectionProperties'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(NetworkInterfaceIPConfiguration, self).__init__(**kwargs) - self.virtual_network_taps = kwargs.get('virtual_network_taps', None) - self.application_gateway_backend_address_pools = kwargs.get('application_gateway_backend_address_pools', None) - self.load_balancer_backend_address_pools = kwargs.get('load_balancer_backend_address_pools', None) - self.load_balancer_inbound_nat_rules = kwargs.get('load_balancer_inbound_nat_rules', None) - self.private_ip_address = kwargs.get('private_ip_address', None) - self.private_ip_allocation_method = kwargs.get('private_ip_allocation_method', None) - self.private_ip_address_version = kwargs.get('private_ip_address_version', None) - self.subnet = kwargs.get('subnet', None) - self.primary = kwargs.get('primary', None) - self.public_ip_address = kwargs.get('public_ip_address', None) - self.application_security_groups = kwargs.get('application_security_groups', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.private_link_connection_properties = None - self.name = kwargs.get('name', None) - self.etag = kwargs.get('etag', None) - - -class NetworkInterfaceIPConfigurationPrivateLinkConnectionProperties(Model): - """PrivateLinkConnection properties for the network interface. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar group_id: The group ID for current private link connection. - :vartype group_id: str - :ivar required_member_name: The required member name for current private - link connection. - :vartype required_member_name: str - :ivar fqdns: List of FQDNs for current private link connection. - :vartype fqdns: list[str] - """ - - _validation = { - 'group_id': {'readonly': True}, - 'required_member_name': {'readonly': True}, - 'fqdns': {'readonly': True}, - } - - _attribute_map = { - 'group_id': {'key': 'groupId', 'type': 'str'}, - 'required_member_name': {'key': 'requiredMemberName', 'type': 'str'}, - 'fqdns': {'key': 'fqdns', 'type': '[str]'}, - } - - def __init__(self, **kwargs): - super(NetworkInterfaceIPConfigurationPrivateLinkConnectionProperties, self).__init__(**kwargs) - self.group_id = None - self.required_member_name = None - self.fqdns = None - - -class NetworkInterfaceTapConfiguration(SubResource): - """Tap configuration in a Network Interface. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param virtual_network_tap: The reference of the Virtual Network Tap - resource. - :type virtual_network_tap: - ~azure.mgmt.network.v2019_07_01.models.VirtualNetworkTap - :ivar provisioning_state: The provisioning state of the network interface - tap configuration resource. Possible values include: 'Succeeded', - 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - :ivar type: Sub Resource type. - :vartype type: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'virtual_network_tap': {'key': 'properties.virtualNetworkTap', 'type': 'VirtualNetworkTap'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(NetworkInterfaceTapConfiguration, self).__init__(**kwargs) - self.virtual_network_tap = kwargs.get('virtual_network_tap', None) - self.provisioning_state = None - self.name = kwargs.get('name', None) - self.etag = kwargs.get('etag', None) - self.type = None - - -class NetworkProfile(Resource): - """Network profile resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param container_network_interfaces: List of child container network - interfaces. - :type container_network_interfaces: - list[~azure.mgmt.network.v2019_07_01.models.ContainerNetworkInterface] - :param container_network_interface_configurations: List of chid container - network interface configurations. - :type container_network_interface_configurations: - list[~azure.mgmt.network.v2019_07_01.models.ContainerNetworkInterfaceConfiguration] - :ivar resource_guid: The resource GUID property of the network profile - resource. - :vartype resource_guid: str - :ivar provisioning_state: The provisioning state of the network profile - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'resource_guid': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'container_network_interfaces': {'key': 'properties.containerNetworkInterfaces', 'type': '[ContainerNetworkInterface]'}, - 'container_network_interface_configurations': {'key': 'properties.containerNetworkInterfaceConfigurations', 'type': '[ContainerNetworkInterfaceConfiguration]'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(NetworkProfile, self).__init__(**kwargs) - self.container_network_interfaces = kwargs.get('container_network_interfaces', None) - self.container_network_interface_configurations = kwargs.get('container_network_interface_configurations', None) - self.resource_guid = None - self.provisioning_state = None - self.etag = kwargs.get('etag', None) - - -class NetworkRuleCondition(FirewallPolicyRuleCondition): - """Rule condition of type network. - - All required parameters must be populated in order to send to Azure. - - :param name: Name of the rule condition. - :type name: str - :param description: Description of the rule condition. - :type description: str - :param rule_condition_type: Required. Constant filled by server. - :type rule_condition_type: str - :param ip_protocols: Array of FirewallPolicyRuleConditionNetworkProtocols. - :type ip_protocols: list[str or - ~azure.mgmt.network.v2019_07_01.models.FirewallPolicyRuleConditionNetworkProtocol] - :param source_addresses: List of source IP addresses for this rule. - :type source_addresses: list[str] - :param destination_addresses: List of destination IP addresses or Service - Tags. - :type destination_addresses: list[str] - :param destination_ports: List of destination ports. - :type destination_ports: list[str] - """ - - _validation = { - 'rule_condition_type': {'required': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'description': {'key': 'description', 'type': 'str'}, - 'rule_condition_type': {'key': 'ruleConditionType', 'type': 'str'}, - 'ip_protocols': {'key': 'ipProtocols', 'type': '[str]'}, - 'source_addresses': {'key': 'sourceAddresses', 'type': '[str]'}, - 'destination_addresses': {'key': 'destinationAddresses', 'type': '[str]'}, - 'destination_ports': {'key': 'destinationPorts', 'type': '[str]'}, - } - - def __init__(self, **kwargs): - super(NetworkRuleCondition, self).__init__(**kwargs) - self.ip_protocols = kwargs.get('ip_protocols', None) - self.source_addresses = kwargs.get('source_addresses', None) - self.destination_addresses = kwargs.get('destination_addresses', None) - self.destination_ports = kwargs.get('destination_ports', None) - self.rule_condition_type = 'NetworkRuleCondition' - - -class NetworkSecurityGroup(Resource): - """NetworkSecurityGroup resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param security_rules: A collection of security rules of the network - security group. - :type security_rules: - list[~azure.mgmt.network.v2019_07_01.models.SecurityRule] - :param default_security_rules: The default security rules of network - security group. - :type default_security_rules: - list[~azure.mgmt.network.v2019_07_01.models.SecurityRule] - :ivar network_interfaces: A collection of references to network - interfaces. - :vartype network_interfaces: - list[~azure.mgmt.network.v2019_07_01.models.NetworkInterface] - :ivar subnets: A collection of references to subnets. - :vartype subnets: list[~azure.mgmt.network.v2019_07_01.models.Subnet] - :param resource_guid: The resource GUID property of the network security - group resource. - :type resource_guid: str - :param provisioning_state: The provisioning state of the network security - group resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'network_interfaces': {'readonly': True}, - 'subnets': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'security_rules': {'key': 'properties.securityRules', 'type': '[SecurityRule]'}, - 'default_security_rules': {'key': 'properties.defaultSecurityRules', 'type': '[SecurityRule]'}, - 'network_interfaces': {'key': 'properties.networkInterfaces', 'type': '[NetworkInterface]'}, - 'subnets': {'key': 'properties.subnets', 'type': '[Subnet]'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(NetworkSecurityGroup, self).__init__(**kwargs) - self.security_rules = kwargs.get('security_rules', None) - self.default_security_rules = kwargs.get('default_security_rules', None) - self.network_interfaces = None - self.subnets = None - self.resource_guid = kwargs.get('resource_guid', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.etag = kwargs.get('etag', None) - - -class NetworkSecurityGroupResult(Model): - """Network configuration diagnostic result corresponded provided traffic - query. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param security_rule_access_result: The network traffic is allowed or - denied. Possible values include: 'Allow', 'Deny' - :type security_rule_access_result: str or - ~azure.mgmt.network.v2019_07_01.models.SecurityRuleAccess - :ivar evaluated_network_security_groups: List of results network security - groups diagnostic. - :vartype evaluated_network_security_groups: - list[~azure.mgmt.network.v2019_07_01.models.EvaluatedNetworkSecurityGroup] - """ - - _validation = { - 'evaluated_network_security_groups': {'readonly': True}, - } - - _attribute_map = { - 'security_rule_access_result': {'key': 'securityRuleAccessResult', 'type': 'str'}, - 'evaluated_network_security_groups': {'key': 'evaluatedNetworkSecurityGroups', 'type': '[EvaluatedNetworkSecurityGroup]'}, - } - - def __init__(self, **kwargs): - super(NetworkSecurityGroupResult, self).__init__(**kwargs) - self.security_rule_access_result = kwargs.get('security_rule_access_result', None) - self.evaluated_network_security_groups = None - - -class NetworkSecurityRulesEvaluationResult(Model): - """Network security rules evaluation result. - - :param name: Name of the network security rule. - :type name: str - :param protocol_matched: Value indicating whether protocol is matched. - :type protocol_matched: bool - :param source_matched: Value indicating whether source is matched. - :type source_matched: bool - :param source_port_matched: Value indicating whether source port is - matched. - :type source_port_matched: bool - :param destination_matched: Value indicating whether destination is - matched. - :type destination_matched: bool - :param destination_port_matched: Value indicating whether destination port - is matched. - :type destination_port_matched: bool - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'protocol_matched': {'key': 'protocolMatched', 'type': 'bool'}, - 'source_matched': {'key': 'sourceMatched', 'type': 'bool'}, - 'source_port_matched': {'key': 'sourcePortMatched', 'type': 'bool'}, - 'destination_matched': {'key': 'destinationMatched', 'type': 'bool'}, - 'destination_port_matched': {'key': 'destinationPortMatched', 'type': 'bool'}, - } - - def __init__(self, **kwargs): - super(NetworkSecurityRulesEvaluationResult, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.protocol_matched = kwargs.get('protocol_matched', None) - self.source_matched = kwargs.get('source_matched', None) - self.source_port_matched = kwargs.get('source_port_matched', None) - self.destination_matched = kwargs.get('destination_matched', None) - self.destination_port_matched = kwargs.get('destination_port_matched', None) - - -class NetworkWatcher(Resource): - """Network watcher in a resource group. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - :param provisioning_state: The provisioning state of the network watcher - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(NetworkWatcher, self).__init__(**kwargs) - self.etag = kwargs.get('etag', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - - -class NextHopParameters(Model): - """Parameters that define the source and destination endpoint. - - All required parameters must be populated in order to send to Azure. - - :param target_resource_id: Required. The resource identifier of the target - resource against which the action is to be performed. - :type target_resource_id: str - :param source_ip_address: Required. The source IP address. - :type source_ip_address: str - :param destination_ip_address: Required. The destination IP address. - :type destination_ip_address: str - :param target_nic_resource_id: The NIC ID. (If VM has multiple NICs and IP - forwarding is enabled on any of the nics, then this parameter must be - specified. Otherwise optional). - :type target_nic_resource_id: str - """ - - _validation = { - 'target_resource_id': {'required': True}, - 'source_ip_address': {'required': True}, - 'destination_ip_address': {'required': True}, - } - - _attribute_map = { - 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, - 'source_ip_address': {'key': 'sourceIPAddress', 'type': 'str'}, - 'destination_ip_address': {'key': 'destinationIPAddress', 'type': 'str'}, - 'target_nic_resource_id': {'key': 'targetNicResourceId', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(NextHopParameters, self).__init__(**kwargs) - self.target_resource_id = kwargs.get('target_resource_id', None) - self.source_ip_address = kwargs.get('source_ip_address', None) - self.destination_ip_address = kwargs.get('destination_ip_address', None) - self.target_nic_resource_id = kwargs.get('target_nic_resource_id', None) - - -class NextHopResult(Model): - """The information about next hop from the specified VM. - - :param next_hop_type: Next hop type. Possible values include: 'Internet', - 'VirtualAppliance', 'VirtualNetworkGateway', 'VnetLocal', - 'HyperNetGateway', 'None' - :type next_hop_type: str or - ~azure.mgmt.network.v2019_07_01.models.NextHopType - :param next_hop_ip_address: Next hop IP Address. - :type next_hop_ip_address: str - :param route_table_id: The resource identifier for the route table - associated with the route being returned. If the route being returned does - not correspond to any user created routes then this field will be the - string 'System Route'. - :type route_table_id: str - """ - - _attribute_map = { - 'next_hop_type': {'key': 'nextHopType', 'type': 'str'}, - 'next_hop_ip_address': {'key': 'nextHopIpAddress', 'type': 'str'}, - 'route_table_id': {'key': 'routeTableId', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(NextHopResult, self).__init__(**kwargs) - self.next_hop_type = kwargs.get('next_hop_type', None) - self.next_hop_ip_address = kwargs.get('next_hop_ip_address', None) - self.route_table_id = kwargs.get('route_table_id', None) - - -class Operation(Model): - """Network REST API operation definition. - - :param name: Operation name: {provider}/{resource}/{operation}. - :type name: str - :param display: Display metadata associated with the operation. - :type display: ~azure.mgmt.network.v2019_07_01.models.OperationDisplay - :param origin: Origin of the operation. - :type origin: str - :param service_specification: Specification of the service. - :type service_specification: - ~azure.mgmt.network.v2019_07_01.models.OperationPropertiesFormatServiceSpecification - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'display': {'key': 'display', 'type': 'OperationDisplay'}, - 'origin': {'key': 'origin', 'type': 'str'}, - 'service_specification': {'key': 'properties.serviceSpecification', 'type': 'OperationPropertiesFormatServiceSpecification'}, - } - - def __init__(self, **kwargs): - super(Operation, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.display = kwargs.get('display', None) - self.origin = kwargs.get('origin', None) - self.service_specification = kwargs.get('service_specification', None) - - -class OperationDisplay(Model): - """Display metadata associated with the operation. - - :param provider: Service provider: Microsoft Network. - :type provider: str - :param resource: Resource on which the operation is performed. - :type resource: str - :param operation: Type of the operation: get, read, delete, etc. - :type operation: str - :param description: Description of the operation. - :type description: str - """ - - _attribute_map = { - 'provider': {'key': 'provider', 'type': 'str'}, - 'resource': {'key': 'resource', 'type': 'str'}, - 'operation': {'key': 'operation', 'type': 'str'}, - 'description': {'key': 'description', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(OperationDisplay, self).__init__(**kwargs) - self.provider = kwargs.get('provider', None) - self.resource = kwargs.get('resource', None) - self.operation = kwargs.get('operation', None) - self.description = kwargs.get('description', None) - - -class OperationPropertiesFormatServiceSpecification(Model): - """Specification of the service. - - :param metric_specifications: Operation service specification. - :type metric_specifications: - list[~azure.mgmt.network.v2019_07_01.models.MetricSpecification] - :param log_specifications: Operation log specification. - :type log_specifications: - list[~azure.mgmt.network.v2019_07_01.models.LogSpecification] - """ - - _attribute_map = { - 'metric_specifications': {'key': 'metricSpecifications', 'type': '[MetricSpecification]'}, - 'log_specifications': {'key': 'logSpecifications', 'type': '[LogSpecification]'}, - } - - def __init__(self, **kwargs): - super(OperationPropertiesFormatServiceSpecification, self).__init__(**kwargs) - self.metric_specifications = kwargs.get('metric_specifications', None) - self.log_specifications = kwargs.get('log_specifications', None) - - -class OutboundRule(SubResource): - """Outbound rule of the load balancer. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :param allocated_outbound_ports: The number of outbound ports to be used - for NAT. - :type allocated_outbound_ports: int - :param frontend_ip_configurations: Required. The Frontend IP addresses of - the load balancer. - :type frontend_ip_configurations: - list[~azure.mgmt.network.v2019_07_01.models.SubResource] - :param backend_address_pool: Required. A reference to a pool of DIPs. - Outbound traffic is randomly load balanced across IPs in the backend IPs. - :type backend_address_pool: - ~azure.mgmt.network.v2019_07_01.models.SubResource - :param provisioning_state: The provisioning state of the outbound rule - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param protocol: Required. The protocol for the outbound rule in load - balancer. Possible values include: 'Tcp', 'Udp', 'All' - :type protocol: str or - ~azure.mgmt.network.v2019_07_01.models.LoadBalancerOutboundRuleProtocol - :param enable_tcp_reset: Receive bidirectional TCP Reset on TCP flow idle - timeout or unexpected connection termination. This element is only used - when the protocol is set to TCP. - :type enable_tcp_reset: bool - :param idle_timeout_in_minutes: The timeout for the TCP idle connection. - :type idle_timeout_in_minutes: int - :param name: The name of the resource that is unique within the set of - outbound rules used by the load balancer. This name can be used to access - the resource. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - :ivar type: Type of the resource. - :vartype type: str - """ - - _validation = { - 'frontend_ip_configurations': {'required': True}, - 'backend_address_pool': {'required': True}, - 'protocol': {'required': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'allocated_outbound_ports': {'key': 'properties.allocatedOutboundPorts', 'type': 'int'}, - 'frontend_ip_configurations': {'key': 'properties.frontendIPConfigurations', 'type': '[SubResource]'}, - 'backend_address_pool': {'key': 'properties.backendAddressPool', 'type': 'SubResource'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'protocol': {'key': 'properties.protocol', 'type': 'str'}, - 'enable_tcp_reset': {'key': 'properties.enableTcpReset', 'type': 'bool'}, - 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(OutboundRule, self).__init__(**kwargs) - self.allocated_outbound_ports = kwargs.get('allocated_outbound_ports', None) - self.frontend_ip_configurations = kwargs.get('frontend_ip_configurations', None) - self.backend_address_pool = kwargs.get('backend_address_pool', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.protocol = kwargs.get('protocol', None) - self.enable_tcp_reset = kwargs.get('enable_tcp_reset', None) - self.idle_timeout_in_minutes = kwargs.get('idle_timeout_in_minutes', None) - self.name = kwargs.get('name', None) - self.etag = kwargs.get('etag', None) - self.type = None - - -class P2SVpnGateway(Resource): - """P2SVpnGateway Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param virtual_hub: The VirtualHub to which the gateway belongs. - :type virtual_hub: ~azure.mgmt.network.v2019_07_01.models.SubResource - :param provisioning_state: The provisioning state of the P2S VPN gateway - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param vpn_gateway_scale_unit: The scale unit for this p2s vpn gateway. - :type vpn_gateway_scale_unit: int - :param p2_svpn_server_configuration: The P2SVpnServerConfiguration to - which the p2sVpnGateway is attached to. - :type p2_svpn_server_configuration: - ~azure.mgmt.network.v2019_07_01.models.SubResource - :param vpn_client_address_pool: The reference of the address space - resource which represents Address space for P2S VpnClient. - :type vpn_client_address_pool: - ~azure.mgmt.network.v2019_07_01.models.AddressSpace - :param custom_routes: The reference of the address space resource which - represents the custom routes specified by the customer for P2SVpnGateway - and P2S VpnClient. - :type custom_routes: ~azure.mgmt.network.v2019_07_01.models.AddressSpace - :ivar vpn_client_connection_health: All P2S VPN clients' connection health - status. - :vartype vpn_client_connection_health: - ~azure.mgmt.network.v2019_07_01.models.VpnClientConnectionHealth - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'vpn_client_connection_health': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'virtual_hub': {'key': 'properties.virtualHub', 'type': 'SubResource'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'vpn_gateway_scale_unit': {'key': 'properties.vpnGatewayScaleUnit', 'type': 'int'}, - 'p2_svpn_server_configuration': {'key': 'properties.p2SVpnServerConfiguration', 'type': 'SubResource'}, - 'vpn_client_address_pool': {'key': 'properties.vpnClientAddressPool', 'type': 'AddressSpace'}, - 'custom_routes': {'key': 'properties.customRoutes', 'type': 'AddressSpace'}, - 'vpn_client_connection_health': {'key': 'properties.vpnClientConnectionHealth', 'type': 'VpnClientConnectionHealth'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(P2SVpnGateway, self).__init__(**kwargs) - self.virtual_hub = kwargs.get('virtual_hub', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.vpn_gateway_scale_unit = kwargs.get('vpn_gateway_scale_unit', None) - self.p2_svpn_server_configuration = kwargs.get('p2_svpn_server_configuration', None) - self.vpn_client_address_pool = kwargs.get('vpn_client_address_pool', None) - self.custom_routes = kwargs.get('custom_routes', None) - self.vpn_client_connection_health = None - self.etag = None - - -class P2SVpnProfileParameters(Model): - """Vpn Client Parameters for package generation. - - :param authentication_method: VPN client authentication method. Possible - values include: 'EAPTLS', 'EAPMSCHAPv2' - :type authentication_method: str or - ~azure.mgmt.network.v2019_07_01.models.AuthenticationMethod - """ - - _attribute_map = { - 'authentication_method': {'key': 'authenticationMethod', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(P2SVpnProfileParameters, self).__init__(**kwargs) - self.authentication_method = kwargs.get('authentication_method', None) - - -class P2SVpnServerConfigRadiusClientRootCertificate(SubResource): - """Radius client root certificate of P2SVpnServerConfiguration. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param thumbprint: The Radius client root certificate thumbprint. - :type thumbprint: str - :ivar provisioning_state: The provisioning state of the radius client root - certificate resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'thumbprint': {'key': 'properties.thumbprint', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(P2SVpnServerConfigRadiusClientRootCertificate, self).__init__(**kwargs) - self.thumbprint = kwargs.get('thumbprint', None) - self.provisioning_state = None - self.name = kwargs.get('name', None) - self.etag = kwargs.get('etag', None) - - -class P2SVpnServerConfigRadiusServerRootCertificate(SubResource): - """Radius Server root certificate of P2SVpnServerConfiguration. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :param public_cert_data: Required. The certificate public data. - :type public_cert_data: str - :ivar provisioning_state: The provisioning state of the radius server root - certificate resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'public_cert_data': {'required': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'public_cert_data': {'key': 'properties.publicCertData', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(P2SVpnServerConfigRadiusServerRootCertificate, self).__init__(**kwargs) - self.public_cert_data = kwargs.get('public_cert_data', None) - self.provisioning_state = None - self.name = kwargs.get('name', None) - self.etag = kwargs.get('etag', None) - - -class P2SVpnServerConfiguration(SubResource): - """P2SVpnServerConfiguration Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param p2_svpn_server_configuration_properties_name: The name of the - P2SVpnServerConfiguration that is unique within a VirtualWan in a resource - group. This name can be used to access the resource along with Paren - VirtualWan resource name. - :type p2_svpn_server_configuration_properties_name: str - :param vpn_protocols: VPN protocols for the P2SVpnServerConfiguration. - :type vpn_protocols: list[str or - ~azure.mgmt.network.v2019_07_01.models.VpnGatewayTunnelingProtocol] - :param p2_svpn_server_config_vpn_client_root_certificates: VPN client root - certificate of P2SVpnServerConfiguration. - :type p2_svpn_server_config_vpn_client_root_certificates: - list[~azure.mgmt.network.v2019_07_01.models.P2SVpnServerConfigVpnClientRootCertificate] - :param p2_svpn_server_config_vpn_client_revoked_certificates: VPN client - revoked certificate of P2SVpnServerConfiguration. - :type p2_svpn_server_config_vpn_client_revoked_certificates: - list[~azure.mgmt.network.v2019_07_01.models.P2SVpnServerConfigVpnClientRevokedCertificate] - :param p2_svpn_server_config_radius_server_root_certificates: Radius - Server root certificate of P2SVpnServerConfiguration. - :type p2_svpn_server_config_radius_server_root_certificates: - list[~azure.mgmt.network.v2019_07_01.models.P2SVpnServerConfigRadiusServerRootCertificate] - :param p2_svpn_server_config_radius_client_root_certificates: Radius - client root certificate of P2SVpnServerConfiguration. - :type p2_svpn_server_config_radius_client_root_certificates: - list[~azure.mgmt.network.v2019_07_01.models.P2SVpnServerConfigRadiusClientRootCertificate] - :param vpn_client_ipsec_policies: VpnClientIpsecPolicies for - P2SVpnServerConfiguration. - :type vpn_client_ipsec_policies: - list[~azure.mgmt.network.v2019_07_01.models.IpsecPolicy] - :param radius_server_address: The radius server address property of the - P2SVpnServerConfiguration resource for point to site client connection. - :type radius_server_address: str - :param radius_server_secret: The radius secret property of the - P2SVpnServerConfiguration resource for point to site client connection. - :type radius_server_secret: str - :ivar provisioning_state: The provisioning state of the P2S VPN server - configuration resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :ivar p2_svpn_gateways: List of references to P2SVpnGateways. - :vartype p2_svpn_gateways: - list[~azure.mgmt.network.v2019_07_01.models.SubResource] - :param p2_svpn_server_configuration_properties_etag: A unique read-only - string that changes whenever the resource is updated. - :type p2_svpn_server_configuration_properties_etag: str - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'p2_svpn_gateways': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'p2_svpn_server_configuration_properties_name': {'key': 'properties.name', 'type': 'str'}, - 'vpn_protocols': {'key': 'properties.vpnProtocols', 'type': '[str]'}, - 'p2_svpn_server_config_vpn_client_root_certificates': {'key': 'properties.p2SVpnServerConfigVpnClientRootCertificates', 'type': '[P2SVpnServerConfigVpnClientRootCertificate]'}, - 'p2_svpn_server_config_vpn_client_revoked_certificates': {'key': 'properties.p2SVpnServerConfigVpnClientRevokedCertificates', 'type': '[P2SVpnServerConfigVpnClientRevokedCertificate]'}, - 'p2_svpn_server_config_radius_server_root_certificates': {'key': 'properties.p2SVpnServerConfigRadiusServerRootCertificates', 'type': '[P2SVpnServerConfigRadiusServerRootCertificate]'}, - 'p2_svpn_server_config_radius_client_root_certificates': {'key': 'properties.p2SVpnServerConfigRadiusClientRootCertificates', 'type': '[P2SVpnServerConfigRadiusClientRootCertificate]'}, - 'vpn_client_ipsec_policies': {'key': 'properties.vpnClientIpsecPolicies', 'type': '[IpsecPolicy]'}, - 'radius_server_address': {'key': 'properties.radiusServerAddress', 'type': 'str'}, - 'radius_server_secret': {'key': 'properties.radiusServerSecret', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'p2_svpn_gateways': {'key': 'properties.p2SVpnGateways', 'type': '[SubResource]'}, - 'p2_svpn_server_configuration_properties_etag': {'key': 'properties.etag', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(P2SVpnServerConfiguration, self).__init__(**kwargs) - self.p2_svpn_server_configuration_properties_name = kwargs.get('p2_svpn_server_configuration_properties_name', None) - self.vpn_protocols = kwargs.get('vpn_protocols', None) - self.p2_svpn_server_config_vpn_client_root_certificates = kwargs.get('p2_svpn_server_config_vpn_client_root_certificates', None) - self.p2_svpn_server_config_vpn_client_revoked_certificates = kwargs.get('p2_svpn_server_config_vpn_client_revoked_certificates', None) - self.p2_svpn_server_config_radius_server_root_certificates = kwargs.get('p2_svpn_server_config_radius_server_root_certificates', None) - self.p2_svpn_server_config_radius_client_root_certificates = kwargs.get('p2_svpn_server_config_radius_client_root_certificates', None) - self.vpn_client_ipsec_policies = kwargs.get('vpn_client_ipsec_policies', None) - self.radius_server_address = kwargs.get('radius_server_address', None) - self.radius_server_secret = kwargs.get('radius_server_secret', None) - self.provisioning_state = None - self.p2_svpn_gateways = None - self.p2_svpn_server_configuration_properties_etag = kwargs.get('p2_svpn_server_configuration_properties_etag', None) - self.name = kwargs.get('name', None) - self.etag = None - - -class P2SVpnServerConfigVpnClientRevokedCertificate(SubResource): - """VPN client revoked certificate of P2SVpnServerConfiguration. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param thumbprint: The revoked VPN client certificate thumbprint. - :type thumbprint: str - :ivar provisioning_state: The provisioning state of the VPN client revoked - certificate resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'thumbprint': {'key': 'properties.thumbprint', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(P2SVpnServerConfigVpnClientRevokedCertificate, self).__init__(**kwargs) - self.thumbprint = kwargs.get('thumbprint', None) - self.provisioning_state = None - self.name = kwargs.get('name', None) - self.etag = kwargs.get('etag', None) - - -class P2SVpnServerConfigVpnClientRootCertificate(SubResource): - """VPN client root certificate of P2SVpnServerConfiguration. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :param public_cert_data: Required. The certificate public data. - :type public_cert_data: str - :ivar provisioning_state: The provisioning state of the VPN client root - certificate resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'public_cert_data': {'required': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'public_cert_data': {'key': 'properties.publicCertData', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(P2SVpnServerConfigVpnClientRootCertificate, self).__init__(**kwargs) - self.public_cert_data = kwargs.get('public_cert_data', None) - self.provisioning_state = None - self.name = kwargs.get('name', None) - self.etag = kwargs.get('etag', None) - - -class PacketCapture(Model): - """Parameters that define the create packet capture operation. - - All required parameters must be populated in order to send to Azure. - - :param target: Required. The ID of the targeted resource, only VM is - currently supported. - :type target: str - :param bytes_to_capture_per_packet: Number of bytes captured per packet, - the remaining bytes are truncated. Default value: 0 . - :type bytes_to_capture_per_packet: int - :param total_bytes_per_session: Maximum size of the capture output. - Default value: 1073741824 . - :type total_bytes_per_session: int - :param time_limit_in_seconds: Maximum duration of the capture session in - seconds. Default value: 18000 . - :type time_limit_in_seconds: int - :param storage_location: Required. Describes the storage location for a - packet capture session. - :type storage_location: - ~azure.mgmt.network.v2019_07_01.models.PacketCaptureStorageLocation - :param filters: A list of packet capture filters. - :type filters: - list[~azure.mgmt.network.v2019_07_01.models.PacketCaptureFilter] - """ - - _validation = { - 'target': {'required': True}, - 'storage_location': {'required': True}, - } - - _attribute_map = { - 'target': {'key': 'properties.target', 'type': 'str'}, - 'bytes_to_capture_per_packet': {'key': 'properties.bytesToCapturePerPacket', 'type': 'int'}, - 'total_bytes_per_session': {'key': 'properties.totalBytesPerSession', 'type': 'int'}, - 'time_limit_in_seconds': {'key': 'properties.timeLimitInSeconds', 'type': 'int'}, - 'storage_location': {'key': 'properties.storageLocation', 'type': 'PacketCaptureStorageLocation'}, - 'filters': {'key': 'properties.filters', 'type': '[PacketCaptureFilter]'}, - } - - def __init__(self, **kwargs): - super(PacketCapture, self).__init__(**kwargs) - self.target = kwargs.get('target', None) - self.bytes_to_capture_per_packet = kwargs.get('bytes_to_capture_per_packet', 0) - self.total_bytes_per_session = kwargs.get('total_bytes_per_session', 1073741824) - self.time_limit_in_seconds = kwargs.get('time_limit_in_seconds', 18000) - self.storage_location = kwargs.get('storage_location', None) - self.filters = kwargs.get('filters', None) - - -class PacketCaptureFilter(Model): - """Filter that is applied to packet capture request. Multiple filters can be - applied. - - :param protocol: Protocol to be filtered on. Possible values include: - 'TCP', 'UDP', 'Any'. Default value: "Any" . - :type protocol: str or ~azure.mgmt.network.v2019_07_01.models.PcProtocol - :param local_ip_address: Local IP Address to be filtered on. Notation: - "127.0.0.1" for single address entry. "127.0.0.1-127.0.0.255" for range. - "127.0.0.1;127.0.0.5"? for multiple entries. Multiple ranges not currently - supported. Mixing ranges with multiple entries not currently supported. - Default = null. - :type local_ip_address: str - :param remote_ip_address: Local IP Address to be filtered on. Notation: - "127.0.0.1" for single address entry. "127.0.0.1-127.0.0.255" for range. - "127.0.0.1;127.0.0.5;" for multiple entries. Multiple ranges not currently - supported. Mixing ranges with multiple entries not currently supported. - Default = null. - :type remote_ip_address: str - :param local_port: Local port to be filtered on. Notation: "80" for single - port entry."80-85" for range. "80;443;" for multiple entries. Multiple - ranges not currently supported. Mixing ranges with multiple entries not - currently supported. Default = null. - :type local_port: str - :param remote_port: Remote port to be filtered on. Notation: "80" for - single port entry."80-85" for range. "80;443;" for multiple entries. - Multiple ranges not currently supported. Mixing ranges with multiple - entries not currently supported. Default = null. - :type remote_port: str - """ - - _attribute_map = { - 'protocol': {'key': 'protocol', 'type': 'str'}, - 'local_ip_address': {'key': 'localIPAddress', 'type': 'str'}, - 'remote_ip_address': {'key': 'remoteIPAddress', 'type': 'str'}, - 'local_port': {'key': 'localPort', 'type': 'str'}, - 'remote_port': {'key': 'remotePort', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(PacketCaptureFilter, self).__init__(**kwargs) - self.protocol = kwargs.get('protocol', "Any") - self.local_ip_address = kwargs.get('local_ip_address', None) - self.remote_ip_address = kwargs.get('remote_ip_address', None) - self.local_port = kwargs.get('local_port', None) - self.remote_port = kwargs.get('remote_port', None) - - -class PacketCaptureParameters(Model): - """Parameters that define the create packet capture operation. - - All required parameters must be populated in order to send to Azure. - - :param target: Required. The ID of the targeted resource, only VM is - currently supported. - :type target: str - :param bytes_to_capture_per_packet: Number of bytes captured per packet, - the remaining bytes are truncated. Default value: 0 . - :type bytes_to_capture_per_packet: int - :param total_bytes_per_session: Maximum size of the capture output. - Default value: 1073741824 . - :type total_bytes_per_session: int - :param time_limit_in_seconds: Maximum duration of the capture session in - seconds. Default value: 18000 . - :type time_limit_in_seconds: int - :param storage_location: Required. Describes the storage location for a - packet capture session. - :type storage_location: - ~azure.mgmt.network.v2019_07_01.models.PacketCaptureStorageLocation - :param filters: A list of packet capture filters. - :type filters: - list[~azure.mgmt.network.v2019_07_01.models.PacketCaptureFilter] - """ - - _validation = { - 'target': {'required': True}, - 'storage_location': {'required': True}, - } - - _attribute_map = { - 'target': {'key': 'target', 'type': 'str'}, - 'bytes_to_capture_per_packet': {'key': 'bytesToCapturePerPacket', 'type': 'int'}, - 'total_bytes_per_session': {'key': 'totalBytesPerSession', 'type': 'int'}, - 'time_limit_in_seconds': {'key': 'timeLimitInSeconds', 'type': 'int'}, - 'storage_location': {'key': 'storageLocation', 'type': 'PacketCaptureStorageLocation'}, - 'filters': {'key': 'filters', 'type': '[PacketCaptureFilter]'}, - } - - def __init__(self, **kwargs): - super(PacketCaptureParameters, self).__init__(**kwargs) - self.target = kwargs.get('target', None) - self.bytes_to_capture_per_packet = kwargs.get('bytes_to_capture_per_packet', 0) - self.total_bytes_per_session = kwargs.get('total_bytes_per_session', 1073741824) - self.time_limit_in_seconds = kwargs.get('time_limit_in_seconds', 18000) - self.storage_location = kwargs.get('storage_location', None) - self.filters = kwargs.get('filters', None) - - -class PacketCaptureQueryStatusResult(Model): - """Status of packet capture session. - - :param name: The name of the packet capture resource. - :type name: str - :param id: The ID of the packet capture resource. - :type id: str - :param capture_start_time: The start time of the packet capture session. - :type capture_start_time: datetime - :param packet_capture_status: The status of the packet capture session. - Possible values include: 'NotStarted', 'Running', 'Stopped', 'Error', - 'Unknown' - :type packet_capture_status: str or - ~azure.mgmt.network.v2019_07_01.models.PcStatus - :param stop_reason: The reason the current packet capture session was - stopped. - :type stop_reason: str - :param packet_capture_error: List of errors of packet capture session. - :type packet_capture_error: list[str or - ~azure.mgmt.network.v2019_07_01.models.PcError] - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'id': {'key': 'id', 'type': 'str'}, - 'capture_start_time': {'key': 'captureStartTime', 'type': 'iso-8601'}, - 'packet_capture_status': {'key': 'packetCaptureStatus', 'type': 'str'}, - 'stop_reason': {'key': 'stopReason', 'type': 'str'}, - 'packet_capture_error': {'key': 'packetCaptureError', 'type': '[str]'}, - } - - def __init__(self, **kwargs): - super(PacketCaptureQueryStatusResult, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.id = kwargs.get('id', None) - self.capture_start_time = kwargs.get('capture_start_time', None) - self.packet_capture_status = kwargs.get('packet_capture_status', None) - self.stop_reason = kwargs.get('stop_reason', None) - self.packet_capture_error = kwargs.get('packet_capture_error', None) - - -class PacketCaptureResult(Model): - """Information about packet capture session. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :ivar name: Name of the packet capture session. - :vartype name: str - :ivar id: ID of the packet capture operation. - :vartype id: str - :param etag: A unique read-only string that changes whenever the resource - is updated. Default value: "A unique read-only string that changes - whenever the resource is updated." . - :type etag: str - :param target: Required. The ID of the targeted resource, only VM is - currently supported. - :type target: str - :param bytes_to_capture_per_packet: Number of bytes captured per packet, - the remaining bytes are truncated. Default value: 0 . - :type bytes_to_capture_per_packet: int - :param total_bytes_per_session: Maximum size of the capture output. - Default value: 1073741824 . - :type total_bytes_per_session: int - :param time_limit_in_seconds: Maximum duration of the capture session in - seconds. Default value: 18000 . - :type time_limit_in_seconds: int - :param storage_location: Required. Describes the storage location for a - packet capture session. - :type storage_location: - ~azure.mgmt.network.v2019_07_01.models.PacketCaptureStorageLocation - :param filters: A list of packet capture filters. - :type filters: - list[~azure.mgmt.network.v2019_07_01.models.PacketCaptureFilter] - :param provisioning_state: The provisioning state of the packet capture - session. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - """ - - _validation = { - 'name': {'readonly': True}, - 'id': {'readonly': True}, - 'target': {'required': True}, - 'storage_location': {'required': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'id': {'key': 'id', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'target': {'key': 'properties.target', 'type': 'str'}, - 'bytes_to_capture_per_packet': {'key': 'properties.bytesToCapturePerPacket', 'type': 'int'}, - 'total_bytes_per_session': {'key': 'properties.totalBytesPerSession', 'type': 'int'}, - 'time_limit_in_seconds': {'key': 'properties.timeLimitInSeconds', 'type': 'int'}, - 'storage_location': {'key': 'properties.storageLocation', 'type': 'PacketCaptureStorageLocation'}, - 'filters': {'key': 'properties.filters', 'type': '[PacketCaptureFilter]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(PacketCaptureResult, self).__init__(**kwargs) - self.name = None - self.id = None - self.etag = kwargs.get('etag', "A unique read-only string that changes whenever the resource is updated.") - self.target = kwargs.get('target', None) - self.bytes_to_capture_per_packet = kwargs.get('bytes_to_capture_per_packet', 0) - self.total_bytes_per_session = kwargs.get('total_bytes_per_session', 1073741824) - self.time_limit_in_seconds = kwargs.get('time_limit_in_seconds', 18000) - self.storage_location = kwargs.get('storage_location', None) - self.filters = kwargs.get('filters', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - - -class PacketCaptureStorageLocation(Model): - """Describes the storage location for a packet capture session. - - :param storage_id: The ID of the storage account to save the packet - capture session. Required if no local file path is provided. - :type storage_id: str - :param storage_path: The URI of the storage path to save the packet - capture. Must be a well-formed URI describing the location to save the - packet capture. - :type storage_path: str - :param file_path: A valid local path on the targeting VM. Must include the - name of the capture file (*.cap). For linux virtual machine it must start - with /var/captures. Required if no storage ID is provided, otherwise - optional. - :type file_path: str - """ - - _attribute_map = { - 'storage_id': {'key': 'storageId', 'type': 'str'}, - 'storage_path': {'key': 'storagePath', 'type': 'str'}, - 'file_path': {'key': 'filePath', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(PacketCaptureStorageLocation, self).__init__(**kwargs) - self.storage_id = kwargs.get('storage_id', None) - self.storage_path = kwargs.get('storage_path', None) - self.file_path = kwargs.get('file_path', None) - - -class PatchRouteFilter(SubResource): - """Route Filter Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param rules: Collection of RouteFilterRules contained within a route - filter. - :type rules: list[~azure.mgmt.network.v2019_07_01.models.RouteFilterRule] - :param peerings: A collection of references to express route circuit - peerings. - :type peerings: - list[~azure.mgmt.network.v2019_07_01.models.ExpressRouteCircuitPeering] - :param ipv6_peerings: A collection of references to express route circuit - ipv6 peerings. - :type ipv6_peerings: - list[~azure.mgmt.network.v2019_07_01.models.ExpressRouteCircuitPeering] - :ivar provisioning_state: The provisioning state of the route filter - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :ivar name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :vartype name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :ivar type: Resource type. - :vartype type: str - :param tags: Resource tags. - :type tags: dict[str, str] - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'name': {'readonly': True}, - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'rules': {'key': 'properties.rules', 'type': '[RouteFilterRule]'}, - 'peerings': {'key': 'properties.peerings', 'type': '[ExpressRouteCircuitPeering]'}, - 'ipv6_peerings': {'key': 'properties.ipv6Peerings', 'type': '[ExpressRouteCircuitPeering]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - } - - def __init__(self, **kwargs): - super(PatchRouteFilter, self).__init__(**kwargs) - self.rules = kwargs.get('rules', None) - self.peerings = kwargs.get('peerings', None) - self.ipv6_peerings = kwargs.get('ipv6_peerings', None) - self.provisioning_state = None - self.name = None - self.etag = None - self.type = None - self.tags = kwargs.get('tags', None) - - -class PatchRouteFilterRule(SubResource): - """Route Filter Rule Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :param access: Required. The access type of the rule. Possible values - include: 'Allow', 'Deny' - :type access: str or ~azure.mgmt.network.v2019_07_01.models.Access - :ivar route_filter_rule_type: Required. The rule type of the rule. Default - value: "Community" . - :vartype route_filter_rule_type: str - :param communities: Required. The collection for bgp community values to - filter on. e.g. ['12076:5010','12076:5020']. - :type communities: list[str] - :ivar provisioning_state: The provisioning state of the route filter rule - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :ivar name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :vartype name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'access': {'required': True}, - 'route_filter_rule_type': {'required': True, 'constant': True}, - 'communities': {'required': True}, - 'provisioning_state': {'readonly': True}, - 'name': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'access': {'key': 'properties.access', 'type': 'str'}, - 'route_filter_rule_type': {'key': 'properties.routeFilterRuleType', 'type': 'str'}, - 'communities': {'key': 'properties.communities', 'type': '[str]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - route_filter_rule_type = "Community" - - def __init__(self, **kwargs): - super(PatchRouteFilterRule, self).__init__(**kwargs) - self.access = kwargs.get('access', None) - self.communities = kwargs.get('communities', None) - self.provisioning_state = None - self.name = None - self.etag = None - - -class PeerExpressRouteCircuitConnection(SubResource): - """Peer Express Route Circuit Connection in an ExpressRouteCircuitPeering - resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param express_route_circuit_peering: Reference to Express Route Circuit - Private Peering Resource of the circuit. - :type express_route_circuit_peering: - ~azure.mgmt.network.v2019_07_01.models.SubResource - :param peer_express_route_circuit_peering: Reference to Express Route - Circuit Private Peering Resource of the peered circuit. - :type peer_express_route_circuit_peering: - ~azure.mgmt.network.v2019_07_01.models.SubResource - :param address_prefix: /29 IP address space to carve out Customer - addresses for tunnels. - :type address_prefix: str - :param circuit_connection_status: Express Route Circuit connection state. - Possible values include: 'Connected', 'Connecting', 'Disconnected' - :type circuit_connection_status: str or - ~azure.mgmt.network.v2019_07_01.models.CircuitConnectionStatus - :param connection_name: The name of the express route circuit connection - resource. - :type connection_name: str - :param auth_resource_guid: The resource guid of the authorization used for - the express route circuit connection. - :type auth_resource_guid: str - :ivar provisioning_state: The provisioning state of the peer express route - circuit connection resource. Possible values include: 'Succeeded', - 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :ivar type: Type of the resource. - :vartype type: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'express_route_circuit_peering': {'key': 'properties.expressRouteCircuitPeering', 'type': 'SubResource'}, - 'peer_express_route_circuit_peering': {'key': 'properties.peerExpressRouteCircuitPeering', 'type': 'SubResource'}, - 'address_prefix': {'key': 'properties.addressPrefix', 'type': 'str'}, - 'circuit_connection_status': {'key': 'properties.circuitConnectionStatus', 'type': 'str'}, - 'connection_name': {'key': 'properties.connectionName', 'type': 'str'}, - 'auth_resource_guid': {'key': 'properties.authResourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(PeerExpressRouteCircuitConnection, self).__init__(**kwargs) - self.express_route_circuit_peering = kwargs.get('express_route_circuit_peering', None) - self.peer_express_route_circuit_peering = kwargs.get('peer_express_route_circuit_peering', None) - self.address_prefix = kwargs.get('address_prefix', None) - self.circuit_connection_status = kwargs.get('circuit_connection_status', None) - self.connection_name = kwargs.get('connection_name', None) - self.auth_resource_guid = kwargs.get('auth_resource_guid', None) - self.provisioning_state = None - self.name = kwargs.get('name', None) - self.etag = None - self.type = None - - -class PolicySettings(Model): - """Defines contents of a web application firewall global configuration. - - :param enabled_state: Describes if the policy is in enabled state or - disabled state. Possible values include: 'Disabled', 'Enabled' - :type enabled_state: str or - ~azure.mgmt.network.v2019_07_01.models.WebApplicationFirewallEnabledState - :param mode: Describes if it is in detection mode or prevention mode at - policy level. Possible values include: 'Prevention', 'Detection' - :type mode: str or - ~azure.mgmt.network.v2019_07_01.models.WebApplicationFirewallMode - """ - - _attribute_map = { - 'enabled_state': {'key': 'enabledState', 'type': 'str'}, - 'mode': {'key': 'mode', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(PolicySettings, self).__init__(**kwargs) - self.enabled_state = kwargs.get('enabled_state', None) - self.mode = kwargs.get('mode', None) - - -class PrepareNetworkPoliciesRequest(Model): - """Details of PrepareNetworkPolicies for Subnet. - - :param service_name: The name of the service for which subnet is being - prepared for. - :type service_name: str - :param network_intent_policy_configurations: A list of - NetworkIntentPolicyConfiguration. - :type network_intent_policy_configurations: - list[~azure.mgmt.network.v2019_07_01.models.NetworkIntentPolicyConfiguration] - """ - - _attribute_map = { - 'service_name': {'key': 'serviceName', 'type': 'str'}, - 'network_intent_policy_configurations': {'key': 'networkIntentPolicyConfigurations', 'type': '[NetworkIntentPolicyConfiguration]'}, - } - - def __init__(self, **kwargs): - super(PrepareNetworkPoliciesRequest, self).__init__(**kwargs) - self.service_name = kwargs.get('service_name', None) - self.network_intent_policy_configurations = kwargs.get('network_intent_policy_configurations', None) - - -class PrivateEndpoint(Resource): - """Private endpoint resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param subnet: The ID of the subnet from which the private IP will be - allocated. - :type subnet: ~azure.mgmt.network.v2019_07_01.models.Subnet - :ivar network_interfaces: An array of references to the network interfaces - created for this private endpoint. - :vartype network_interfaces: - list[~azure.mgmt.network.v2019_07_01.models.NetworkInterface] - :param provisioning_state: The provisioning state of the private endpoint - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param private_link_service_connections: A grouping of information about - the connection to the remote resource. - :type private_link_service_connections: - list[~azure.mgmt.network.v2019_07_01.models.PrivateLinkServiceConnection] - :param manual_private_link_service_connections: A grouping of information - about the connection to the remote resource. Used when the network admin - does not have access to approve connections to the remote resource. - :type manual_private_link_service_connections: - list[~azure.mgmt.network.v2019_07_01.models.PrivateLinkServiceConnection] - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'network_interfaces': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, - 'network_interfaces': {'key': 'properties.networkInterfaces', 'type': '[NetworkInterface]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'private_link_service_connections': {'key': 'properties.privateLinkServiceConnections', 'type': '[PrivateLinkServiceConnection]'}, - 'manual_private_link_service_connections': {'key': 'properties.manualPrivateLinkServiceConnections', 'type': '[PrivateLinkServiceConnection]'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(PrivateEndpoint, self).__init__(**kwargs) - self.subnet = kwargs.get('subnet', None) - self.network_interfaces = None - self.provisioning_state = kwargs.get('provisioning_state', None) - self.private_link_service_connections = kwargs.get('private_link_service_connections', None) - self.manual_private_link_service_connections = kwargs.get('manual_private_link_service_connections', None) - self.etag = kwargs.get('etag', None) - - -class PrivateEndpointConnection(SubResource): - """PrivateEndpointConnection resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param private_endpoint: The resource of private end point. - :type private_endpoint: - ~azure.mgmt.network.v2019_07_01.models.PrivateEndpoint - :param private_link_service_connection_state: A collection of information - about the state of the connection between service consumer and provider. - :type private_link_service_connection_state: - ~azure.mgmt.network.v2019_07_01.models.PrivateLinkServiceConnectionState - :param provisioning_state: The provisioning state of the private endpoint - connection resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar type: The resource type. - :vartype type: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'type': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'private_endpoint': {'key': 'properties.privateEndpoint', 'type': 'PrivateEndpoint'}, - 'private_link_service_connection_state': {'key': 'properties.privateLinkServiceConnectionState', 'type': 'PrivateLinkServiceConnectionState'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(PrivateEndpointConnection, self).__init__(**kwargs) - self.private_endpoint = kwargs.get('private_endpoint', None) - self.private_link_service_connection_state = kwargs.get('private_link_service_connection_state', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.name = kwargs.get('name', None) - self.type = None - self.etag = None - - -class PrivateLinkService(Resource): - """Private link service resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param load_balancer_frontend_ip_configurations: An array of references to - the load balancer IP configurations. - :type load_balancer_frontend_ip_configurations: - list[~azure.mgmt.network.v2019_07_01.models.FrontendIPConfiguration] - :param ip_configurations: An array of private link service IP - configurations. - :type ip_configurations: - list[~azure.mgmt.network.v2019_07_01.models.PrivateLinkServiceIpConfiguration] - :ivar network_interfaces: An array of references to the network interfaces - created for this private link service. - :vartype network_interfaces: - list[~azure.mgmt.network.v2019_07_01.models.NetworkInterface] - :param provisioning_state: The provisioning state of the private link - service resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param private_endpoint_connections: An array of list about connections to - the private endpoint. - :type private_endpoint_connections: - list[~azure.mgmt.network.v2019_07_01.models.PrivateEndpointConnection] - :param visibility: The visibility list of the private link service. - :type visibility: - ~azure.mgmt.network.v2019_07_01.models.PrivateLinkServicePropertiesVisibility - :param auto_approval: The auto-approval list of the private link service. - :type auto_approval: - ~azure.mgmt.network.v2019_07_01.models.PrivateLinkServicePropertiesAutoApproval - :param fqdns: The list of Fqdn. - :type fqdns: list[str] - :ivar alias: The alias of the private link service. - :vartype alias: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'network_interfaces': {'readonly': True}, - 'alias': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'load_balancer_frontend_ip_configurations': {'key': 'properties.loadBalancerFrontendIpConfigurations', 'type': '[FrontendIPConfiguration]'}, - 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[PrivateLinkServiceIpConfiguration]'}, - 'network_interfaces': {'key': 'properties.networkInterfaces', 'type': '[NetworkInterface]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'private_endpoint_connections': {'key': 'properties.privateEndpointConnections', 'type': '[PrivateEndpointConnection]'}, - 'visibility': {'key': 'properties.visibility', 'type': 'PrivateLinkServicePropertiesVisibility'}, - 'auto_approval': {'key': 'properties.autoApproval', 'type': 'PrivateLinkServicePropertiesAutoApproval'}, - 'fqdns': {'key': 'properties.fqdns', 'type': '[str]'}, - 'alias': {'key': 'properties.alias', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(PrivateLinkService, self).__init__(**kwargs) - self.load_balancer_frontend_ip_configurations = kwargs.get('load_balancer_frontend_ip_configurations', None) - self.ip_configurations = kwargs.get('ip_configurations', None) - self.network_interfaces = None - self.provisioning_state = kwargs.get('provisioning_state', None) - self.private_endpoint_connections = kwargs.get('private_endpoint_connections', None) - self.visibility = kwargs.get('visibility', None) - self.auto_approval = kwargs.get('auto_approval', None) - self.fqdns = kwargs.get('fqdns', None) - self.alias = None - self.etag = kwargs.get('etag', None) - - -class PrivateLinkServiceConnection(SubResource): - """PrivateLinkServiceConnection resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param provisioning_state: The provisioning state of the private link - service connection resource. Possible values include: 'Succeeded', - 'Updating', 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param private_link_service_id: The resource id of private link service. - :type private_link_service_id: str - :param group_ids: The ID(s) of the group(s) obtained from the remote - resource that this private endpoint should connect to. - :type group_ids: list[str] - :param request_message: A message passed to the owner of the remote - resource with this connection request. Restricted to 140 chars. - :type request_message: str - :param private_link_service_connection_state: A collection of read-only - information about the state of the connection to the remote resource. - :type private_link_service_connection_state: - ~azure.mgmt.network.v2019_07_01.models.PrivateLinkServiceConnectionState - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar type: The resource type. - :vartype type: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'type': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'private_link_service_id': {'key': 'properties.privateLinkServiceId', 'type': 'str'}, - 'group_ids': {'key': 'properties.groupIds', 'type': '[str]'}, - 'request_message': {'key': 'properties.requestMessage', 'type': 'str'}, - 'private_link_service_connection_state': {'key': 'properties.privateLinkServiceConnectionState', 'type': 'PrivateLinkServiceConnectionState'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(PrivateLinkServiceConnection, self).__init__(**kwargs) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.private_link_service_id = kwargs.get('private_link_service_id', None) - self.group_ids = kwargs.get('group_ids', None) - self.request_message = kwargs.get('request_message', None) - self.private_link_service_connection_state = kwargs.get('private_link_service_connection_state', None) - self.name = kwargs.get('name', None) - self.type = None - self.etag = None - - -class PrivateLinkServiceConnectionState(Model): - """A collection of information about the state of the connection between - service consumer and provider. - - :param status: Indicates whether the connection has been - Approved/Rejected/Removed by the owner of the service. - :type status: str - :param description: The reason for approval/rejection of the connection. - :type description: str - :param action_required: A message indicating if changes on the service - provider require any updates on the consumer. - :type action_required: str - """ - - _attribute_map = { - 'status': {'key': 'status', 'type': 'str'}, - 'description': {'key': 'description', 'type': 'str'}, - 'action_required': {'key': 'actionRequired', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(PrivateLinkServiceConnectionState, self).__init__(**kwargs) - self.status = kwargs.get('status', None) - self.description = kwargs.get('description', None) - self.action_required = kwargs.get('action_required', None) - - -class PrivateLinkServiceIpConfiguration(SubResource): - """The private link service ip configuration. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param private_ip_address: The private IP address of the IP configuration. - :type private_ip_address: str - :param private_ip_allocation_method: The private IP address allocation - method. Possible values include: 'Static', 'Dynamic' - :type private_ip_allocation_method: str or - ~azure.mgmt.network.v2019_07_01.models.IPAllocationMethod - :param subnet: The reference to the subnet resource. - :type subnet: ~azure.mgmt.network.v2019_07_01.models.Subnet - :param primary: Whether the ip configuration is primary or not. - :type primary: bool - :param provisioning_state: The provisioning state of the private link - service IP configuration resource. Possible values include: 'Succeeded', - 'Updating', 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param private_ip_address_version: Whether the specific IP configuration - is IPv4 or IPv6. Default is IPv4. Possible values include: 'IPv4', 'IPv6' - :type private_ip_address_version: str or - ~azure.mgmt.network.v2019_07_01.models.IPVersion - :param name: The name of private link service ip configuration. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :ivar type: The resource type. - :vartype type: str - """ - - _validation = { - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, - 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, - 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, - 'primary': {'key': 'properties.primary', 'type': 'bool'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'private_ip_address_version': {'key': 'properties.privateIPAddressVersion', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(PrivateLinkServiceIpConfiguration, self).__init__(**kwargs) - self.private_ip_address = kwargs.get('private_ip_address', None) - self.private_ip_allocation_method = kwargs.get('private_ip_allocation_method', None) - self.subnet = kwargs.get('subnet', None) - self.primary = kwargs.get('primary', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.private_ip_address_version = kwargs.get('private_ip_address_version', None) - self.name = kwargs.get('name', None) - self.etag = None - self.type = None - - -class ResourceSet(Model): - """The base resource set for visibility and auto-approval. - - :param subscriptions: The list of subscriptions. - :type subscriptions: list[str] - """ - - _attribute_map = { - 'subscriptions': {'key': 'subscriptions', 'type': '[str]'}, - } - - def __init__(self, **kwargs): - super(ResourceSet, self).__init__(**kwargs) - self.subscriptions = kwargs.get('subscriptions', None) - - -class PrivateLinkServicePropertiesAutoApproval(ResourceSet): - """The auto-approval list of the private link service. - - :param subscriptions: The list of subscriptions. - :type subscriptions: list[str] - """ - - _attribute_map = { - 'subscriptions': {'key': 'subscriptions', 'type': '[str]'}, - } - - def __init__(self, **kwargs): - super(PrivateLinkServicePropertiesAutoApproval, self).__init__(**kwargs) - - -class PrivateLinkServicePropertiesVisibility(ResourceSet): - """The visibility list of the private link service. - - :param subscriptions: The list of subscriptions. - :type subscriptions: list[str] - """ - - _attribute_map = { - 'subscriptions': {'key': 'subscriptions', 'type': '[str]'}, - } - - def __init__(self, **kwargs): - super(PrivateLinkServicePropertiesVisibility, self).__init__(**kwargs) - - -class PrivateLinkServiceVisibility(Model): - """Response for the CheckPrivateLinkServiceVisibility API service call. - - :param visible: Private Link Service Visibility (True/False). - :type visible: bool - """ - - _attribute_map = { - 'visible': {'key': 'visible', 'type': 'bool'}, - } - - def __init__(self, **kwargs): - super(PrivateLinkServiceVisibility, self).__init__(**kwargs) - self.visible = kwargs.get('visible', None) - - -class Probe(SubResource): - """A load balancer probe. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :ivar load_balancing_rules: The load balancer rules that use this probe. - :vartype load_balancing_rules: - list[~azure.mgmt.network.v2019_07_01.models.SubResource] - :param protocol: Required. The protocol of the end point. If 'Tcp' is - specified, a received ACK is required for the probe to be successful. If - 'Http' or 'Https' is specified, a 200 OK response from the specifies URI - is required for the probe to be successful. Possible values include: - 'Http', 'Tcp', 'Https' - :type protocol: str or - ~azure.mgmt.network.v2019_07_01.models.ProbeProtocol - :param port: Required. The port for communicating the probe. Possible - values range from 1 to 65535, inclusive. - :type port: int - :param interval_in_seconds: The interval, in seconds, for how frequently - to probe the endpoint for health status. Typically, the interval is - slightly less than half the allocated timeout period (in seconds) which - allows two full probes before taking the instance out of rotation. The - default value is 15, the minimum value is 5. - :type interval_in_seconds: int - :param number_of_probes: The number of probes where if no response, will - result in stopping further traffic from being delivered to the endpoint. - This values allows endpoints to be taken out of rotation faster or slower - than the typical times used in Azure. - :type number_of_probes: int - :param request_path: The URI used for requesting health status from the - VM. Path is required if a protocol is set to http. Otherwise, it is not - allowed. There is no default value. - :type request_path: str - :param provisioning_state: The provisioning state of the probe resource. - Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: The name of the resource that is unique within the set of - probes used by the load balancer. This name can be used to access the - resource. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - :ivar type: Type of the resource. - :vartype type: str - """ - - _validation = { - 'load_balancing_rules': {'readonly': True}, - 'protocol': {'required': True}, - 'port': {'required': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'load_balancing_rules': {'key': 'properties.loadBalancingRules', 'type': '[SubResource]'}, - 'protocol': {'key': 'properties.protocol', 'type': 'str'}, - 'port': {'key': 'properties.port', 'type': 'int'}, - 'interval_in_seconds': {'key': 'properties.intervalInSeconds', 'type': 'int'}, - 'number_of_probes': {'key': 'properties.numberOfProbes', 'type': 'int'}, - 'request_path': {'key': 'properties.requestPath', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(Probe, self).__init__(**kwargs) - self.load_balancing_rules = None - self.protocol = kwargs.get('protocol', None) - self.port = kwargs.get('port', None) - self.interval_in_seconds = kwargs.get('interval_in_seconds', None) - self.number_of_probes = kwargs.get('number_of_probes', None) - self.request_path = kwargs.get('request_path', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.name = kwargs.get('name', None) - self.etag = kwargs.get('etag', None) - self.type = None - - -class ProtocolConfiguration(Model): - """Configuration of the protocol. - - :param http_configuration: HTTP configuration of the connectivity check. - :type http_configuration: - ~azure.mgmt.network.v2019_07_01.models.HTTPConfiguration - """ - - _attribute_map = { - 'http_configuration': {'key': 'HTTPConfiguration', 'type': 'HTTPConfiguration'}, - } - - def __init__(self, **kwargs): - super(ProtocolConfiguration, self).__init__(**kwargs) - self.http_configuration = kwargs.get('http_configuration', None) - - -class ProtocolCustomSettingsFormat(Model): - """DDoS custom policy properties. - - :param protocol: The protocol for which the DDoS protection policy is - being customized. Possible values include: 'Tcp', 'Udp', 'Syn' - :type protocol: str or - ~azure.mgmt.network.v2019_07_01.models.DdosCustomPolicyProtocol - :param trigger_rate_override: The customized DDoS protection trigger rate. - :type trigger_rate_override: str - :param source_rate_override: The customized DDoS protection source rate. - :type source_rate_override: str - :param trigger_sensitivity_override: The customized DDoS protection - trigger rate sensitivity degrees. High: Trigger rate set with most - sensitivity w.r.t. normal traffic. Default: Trigger rate set with moderate - sensitivity w.r.t. normal traffic. Low: Trigger rate set with less - sensitivity w.r.t. normal traffic. Relaxed: Trigger rate set with least - sensitivity w.r.t. normal traffic. Possible values include: 'Relaxed', - 'Low', 'Default', 'High' - :type trigger_sensitivity_override: str or - ~azure.mgmt.network.v2019_07_01.models.DdosCustomPolicyTriggerSensitivityOverride - """ - - _attribute_map = { - 'protocol': {'key': 'protocol', 'type': 'str'}, - 'trigger_rate_override': {'key': 'triggerRateOverride', 'type': 'str'}, - 'source_rate_override': {'key': 'sourceRateOverride', 'type': 'str'}, - 'trigger_sensitivity_override': {'key': 'triggerSensitivityOverride', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ProtocolCustomSettingsFormat, self).__init__(**kwargs) - self.protocol = kwargs.get('protocol', None) - self.trigger_rate_override = kwargs.get('trigger_rate_override', None) - self.source_rate_override = kwargs.get('source_rate_override', None) - self.trigger_sensitivity_override = kwargs.get('trigger_sensitivity_override', None) - - -class PublicIPAddress(Resource): - """Public IP address resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param sku: The public IP address SKU. - :type sku: ~azure.mgmt.network.v2019_07_01.models.PublicIPAddressSku - :param public_ip_allocation_method: The public IP address allocation - method. Possible values include: 'Static', 'Dynamic' - :type public_ip_allocation_method: str or - ~azure.mgmt.network.v2019_07_01.models.IPAllocationMethod - :param public_ip_address_version: The public IP address version. Possible - values include: 'IPv4', 'IPv6' - :type public_ip_address_version: str or - ~azure.mgmt.network.v2019_07_01.models.IPVersion - :ivar ip_configuration: The IP configuration associated with the public IP - address. - :vartype ip_configuration: - ~azure.mgmt.network.v2019_07_01.models.IPConfiguration - :param dns_settings: The FQDN of the DNS record associated with the public - IP address. - :type dns_settings: - ~azure.mgmt.network.v2019_07_01.models.PublicIPAddressDnsSettings - :param ddos_settings: The DDoS protection custom policy associated with - the public IP address. - :type ddos_settings: ~azure.mgmt.network.v2019_07_01.models.DdosSettings - :param ip_tags: The list of tags associated with the public IP address. - :type ip_tags: list[~azure.mgmt.network.v2019_07_01.models.IpTag] - :param ip_address: The IP address associated with the public IP address - resource. - :type ip_address: str - :param public_ip_prefix: The Public IP Prefix this Public IP Address - should be allocated from. - :type public_ip_prefix: ~azure.mgmt.network.v2019_07_01.models.SubResource - :param idle_timeout_in_minutes: The idle timeout of the public IP address. - :type idle_timeout_in_minutes: int - :param resource_guid: The resource GUID property of the public IP address - resource. - :type resource_guid: str - :param provisioning_state: The provisioning state of the public IP address - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - :param zones: A list of availability zones denoting the IP allocated for - the resource needs to come from. - :type zones: list[str] - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'ip_configuration': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'sku': {'key': 'sku', 'type': 'PublicIPAddressSku'}, - 'public_ip_allocation_method': {'key': 'properties.publicIPAllocationMethod', 'type': 'str'}, - 'public_ip_address_version': {'key': 'properties.publicIPAddressVersion', 'type': 'str'}, - 'ip_configuration': {'key': 'properties.ipConfiguration', 'type': 'IPConfiguration'}, - 'dns_settings': {'key': 'properties.dnsSettings', 'type': 'PublicIPAddressDnsSettings'}, - 'ddos_settings': {'key': 'properties.ddosSettings', 'type': 'DdosSettings'}, - 'ip_tags': {'key': 'properties.ipTags', 'type': '[IpTag]'}, - 'ip_address': {'key': 'properties.ipAddress', 'type': 'str'}, - 'public_ip_prefix': {'key': 'properties.publicIPPrefix', 'type': 'SubResource'}, - 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'zones': {'key': 'zones', 'type': '[str]'}, - } - - def __init__(self, **kwargs): - super(PublicIPAddress, self).__init__(**kwargs) - self.sku = kwargs.get('sku', None) - self.public_ip_allocation_method = kwargs.get('public_ip_allocation_method', None) - self.public_ip_address_version = kwargs.get('public_ip_address_version', None) - self.ip_configuration = None - self.dns_settings = kwargs.get('dns_settings', None) - self.ddos_settings = kwargs.get('ddos_settings', None) - self.ip_tags = kwargs.get('ip_tags', None) - self.ip_address = kwargs.get('ip_address', None) - self.public_ip_prefix = kwargs.get('public_ip_prefix', None) - self.idle_timeout_in_minutes = kwargs.get('idle_timeout_in_minutes', None) - self.resource_guid = kwargs.get('resource_guid', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.etag = kwargs.get('etag', None) - self.zones = kwargs.get('zones', None) - - -class PublicIPAddressDnsSettings(Model): - """Contains FQDN of the DNS record associated with the public IP address. - - :param domain_name_label: The domain name label. The concatenation of the - domain name label and the regionalized DNS zone make up the fully - qualified domain name associated with the public IP address. If a domain - name label is specified, an A DNS record is created for the public IP in - the Microsoft Azure DNS system. - :type domain_name_label: str - :param fqdn: The Fully Qualified Domain Name of the A DNS record - associated with the public IP. This is the concatenation of the - domainNameLabel and the regionalized DNS zone. - :type fqdn: str - :param reverse_fqdn: The reverse FQDN. A user-visible, fully qualified - domain name that resolves to this public IP address. If the reverseFqdn is - specified, then a PTR DNS record is created pointing from the IP address - in the in-addr.arpa domain to the reverse FQDN. - :type reverse_fqdn: str - """ - - _attribute_map = { - 'domain_name_label': {'key': 'domainNameLabel', 'type': 'str'}, - 'fqdn': {'key': 'fqdn', 'type': 'str'}, - 'reverse_fqdn': {'key': 'reverseFqdn', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(PublicIPAddressDnsSettings, self).__init__(**kwargs) - self.domain_name_label = kwargs.get('domain_name_label', None) - self.fqdn = kwargs.get('fqdn', None) - self.reverse_fqdn = kwargs.get('reverse_fqdn', None) - - -class PublicIPAddressSku(Model): - """SKU of a public IP address. - - :param name: Name of a public IP address SKU. Possible values include: - 'Basic', 'Standard' - :type name: str or - ~azure.mgmt.network.v2019_07_01.models.PublicIPAddressSkuName - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(PublicIPAddressSku, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - - -class PublicIPPrefix(Resource): - """Public IP prefix resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param sku: The public IP prefix SKU. - :type sku: ~azure.mgmt.network.v2019_07_01.models.PublicIPPrefixSku - :param public_ip_address_version: The public IP address version. Possible - values include: 'IPv4', 'IPv6' - :type public_ip_address_version: str or - ~azure.mgmt.network.v2019_07_01.models.IPVersion - :param ip_tags: The list of tags associated with the public IP prefix. - :type ip_tags: list[~azure.mgmt.network.v2019_07_01.models.IpTag] - :param prefix_length: The Length of the Public IP Prefix. - :type prefix_length: int - :param ip_prefix: The allocated Prefix. - :type ip_prefix: str - :param public_ip_addresses: The list of all referenced PublicIPAddresses. - :type public_ip_addresses: - list[~azure.mgmt.network.v2019_07_01.models.ReferencedPublicIpAddress] - :ivar load_balancer_frontend_ip_configuration: The reference to load - balancer frontend IP configuration associated with the public IP prefix. - :vartype load_balancer_frontend_ip_configuration: - ~azure.mgmt.network.v2019_07_01.models.SubResource - :param resource_guid: The resource GUID property of the public IP prefix - resource. - :type resource_guid: str - :param provisioning_state: The provisioning state of the public IP prefix - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - :param zones: A list of availability zones denoting the IP allocated for - the resource needs to come from. - :type zones: list[str] - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'load_balancer_frontend_ip_configuration': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'sku': {'key': 'sku', 'type': 'PublicIPPrefixSku'}, - 'public_ip_address_version': {'key': 'properties.publicIPAddressVersion', 'type': 'str'}, - 'ip_tags': {'key': 'properties.ipTags', 'type': '[IpTag]'}, - 'prefix_length': {'key': 'properties.prefixLength', 'type': 'int'}, - 'ip_prefix': {'key': 'properties.ipPrefix', 'type': 'str'}, - 'public_ip_addresses': {'key': 'properties.publicIPAddresses', 'type': '[ReferencedPublicIpAddress]'}, - 'load_balancer_frontend_ip_configuration': {'key': 'properties.loadBalancerFrontendIpConfiguration', 'type': 'SubResource'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'zones': {'key': 'zones', 'type': '[str]'}, - } - - def __init__(self, **kwargs): - super(PublicIPPrefix, self).__init__(**kwargs) - self.sku = kwargs.get('sku', None) - self.public_ip_address_version = kwargs.get('public_ip_address_version', None) - self.ip_tags = kwargs.get('ip_tags', None) - self.prefix_length = kwargs.get('prefix_length', None) - self.ip_prefix = kwargs.get('ip_prefix', None) - self.public_ip_addresses = kwargs.get('public_ip_addresses', None) - self.load_balancer_frontend_ip_configuration = None - self.resource_guid = kwargs.get('resource_guid', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.etag = kwargs.get('etag', None) - self.zones = kwargs.get('zones', None) - - -class PublicIPPrefixSku(Model): - """SKU of a public IP prefix. - - :param name: Name of a public IP prefix SKU. Possible values include: - 'Standard' - :type name: str or - ~azure.mgmt.network.v2019_07_01.models.PublicIPPrefixSkuName - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(PublicIPPrefixSku, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - - -class QueryTroubleshootingParameters(Model): - """Parameters that define the resource to query the troubleshooting result. - - All required parameters must be populated in order to send to Azure. - - :param target_resource_id: Required. The target resource ID to query the - troubleshooting result. - :type target_resource_id: str - """ - - _validation = { - 'target_resource_id': {'required': True}, - } - - _attribute_map = { - 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(QueryTroubleshootingParameters, self).__init__(**kwargs) - self.target_resource_id = kwargs.get('target_resource_id', None) - - -class ReferencedPublicIpAddress(Model): - """Reference to a public IP address. - - :param id: The PublicIPAddress Reference. - :type id: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ReferencedPublicIpAddress, self).__init__(**kwargs) - self.id = kwargs.get('id', None) - - -class ResourceNavigationLink(SubResource): - """ResourceNavigationLink resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param linked_resource_type: Resource type of the linked resource. - :type linked_resource_type: str - :param link: Link to the external resource. - :type link: str - :ivar provisioning_state: The provisioning state of the resource - navigation link resource. Possible values include: 'Succeeded', - 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: Name of the resource that is unique within a resource group. - This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :ivar type: Resource type. - :vartype type: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'linked_resource_type': {'key': 'properties.linkedResourceType', 'type': 'str'}, - 'link': {'key': 'properties.link', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ResourceNavigationLink, self).__init__(**kwargs) - self.linked_resource_type = kwargs.get('linked_resource_type', None) - self.link = kwargs.get('link', None) - self.provisioning_state = None - self.name = kwargs.get('name', None) - self.etag = None - self.type = None - - -class ResourceNavigationLinksListResult(Model): - """Response for ResourceNavigationLinks_List operation. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param value: The resource navigation links in a subnet. - :type value: - list[~azure.mgmt.network.v2019_07_01.models.ResourceNavigationLink] - :ivar next_link: The URL to get the next set of results. - :vartype next_link: str - """ - - _validation = { - 'next_link': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[ResourceNavigationLink]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ResourceNavigationLinksListResult, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - self.next_link = None - - -class RetentionPolicyParameters(Model): - """Parameters that define the retention policy for flow log. - - :param days: Number of days to retain flow log records. Default value: 0 . - :type days: int - :param enabled: Flag to enable/disable retention. Default value: False . - :type enabled: bool - """ - - _attribute_map = { - 'days': {'key': 'days', 'type': 'int'}, - 'enabled': {'key': 'enabled', 'type': 'bool'}, - } - - def __init__(self, **kwargs): - super(RetentionPolicyParameters, self).__init__(**kwargs) - self.days = kwargs.get('days', 0) - self.enabled = kwargs.get('enabled', False) - - -class Route(SubResource): - """Route resource. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :param address_prefix: The destination CIDR to which the route applies. - :type address_prefix: str - :param next_hop_type: Required. The type of Azure hop the packet should be - sent to. Possible values include: 'VirtualNetworkGateway', 'VnetLocal', - 'Internet', 'VirtualAppliance', 'None' - :type next_hop_type: str or - ~azure.mgmt.network.v2019_07_01.models.RouteNextHopType - :param next_hop_ip_address: The IP address packets should be forwarded to. - Next hop values are only allowed in routes where the next hop type is - VirtualAppliance. - :type next_hop_ip_address: str - :param provisioning_state: The provisioning state of the route resource. - Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'next_hop_type': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'address_prefix': {'key': 'properties.addressPrefix', 'type': 'str'}, - 'next_hop_type': {'key': 'properties.nextHopType', 'type': 'str'}, - 'next_hop_ip_address': {'key': 'properties.nextHopIpAddress', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(Route, self).__init__(**kwargs) - self.address_prefix = kwargs.get('address_prefix', None) - self.next_hop_type = kwargs.get('next_hop_type', None) - self.next_hop_ip_address = kwargs.get('next_hop_ip_address', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.name = kwargs.get('name', None) - self.etag = kwargs.get('etag', None) - - -class RouteFilter(Resource): - """Route Filter Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param rules: Collection of RouteFilterRules contained within a route - filter. - :type rules: list[~azure.mgmt.network.v2019_07_01.models.RouteFilterRule] - :param peerings: A collection of references to express route circuit - peerings. - :type peerings: - list[~azure.mgmt.network.v2019_07_01.models.ExpressRouteCircuitPeering] - :param ipv6_peerings: A collection of references to express route circuit - ipv6 peerings. - :type ipv6_peerings: - list[~azure.mgmt.network.v2019_07_01.models.ExpressRouteCircuitPeering] - :ivar provisioning_state: The provisioning state of the route filter - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'rules': {'key': 'properties.rules', 'type': '[RouteFilterRule]'}, - 'peerings': {'key': 'properties.peerings', 'type': '[ExpressRouteCircuitPeering]'}, - 'ipv6_peerings': {'key': 'properties.ipv6Peerings', 'type': '[ExpressRouteCircuitPeering]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(RouteFilter, self).__init__(**kwargs) - self.rules = kwargs.get('rules', None) - self.peerings = kwargs.get('peerings', None) - self.ipv6_peerings = kwargs.get('ipv6_peerings', None) - self.provisioning_state = None - self.etag = None - - -class RouteFilterRule(SubResource): - """Route Filter Rule Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :param access: Required. The access type of the rule. Possible values - include: 'Allow', 'Deny' - :type access: str or ~azure.mgmt.network.v2019_07_01.models.Access - :ivar route_filter_rule_type: Required. The rule type of the rule. Default - value: "Community" . - :vartype route_filter_rule_type: str - :param communities: Required. The collection for bgp community values to - filter on. e.g. ['12076:5010','12076:5020']. - :type communities: list[str] - :ivar provisioning_state: The provisioning state of the route filter rule - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :param location: Resource location. - :type location: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'access': {'required': True}, - 'route_filter_rule_type': {'required': True, 'constant': True}, - 'communities': {'required': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'access': {'key': 'properties.access', 'type': 'str'}, - 'route_filter_rule_type': {'key': 'properties.routeFilterRuleType', 'type': 'str'}, - 'communities': {'key': 'properties.communities', 'type': '[str]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - route_filter_rule_type = "Community" - - def __init__(self, **kwargs): - super(RouteFilterRule, self).__init__(**kwargs) - self.access = kwargs.get('access', None) - self.communities = kwargs.get('communities', None) - self.provisioning_state = None - self.name = kwargs.get('name', None) - self.location = kwargs.get('location', None) - self.etag = None - - -class RouteTable(Resource): - """Route table resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param routes: Collection of routes contained within a route table. - :type routes: list[~azure.mgmt.network.v2019_07_01.models.Route] - :ivar subnets: A collection of references to subnets. - :vartype subnets: list[~azure.mgmt.network.v2019_07_01.models.Subnet] - :param disable_bgp_route_propagation: Whether to disable the routes - learned by BGP on that route table. True means disable. - :type disable_bgp_route_propagation: bool - :param provisioning_state: The provisioning state of the route table - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'subnets': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'routes': {'key': 'properties.routes', 'type': '[Route]'}, - 'subnets': {'key': 'properties.subnets', 'type': '[Subnet]'}, - 'disable_bgp_route_propagation': {'key': 'properties.disableBgpRoutePropagation', 'type': 'bool'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(RouteTable, self).__init__(**kwargs) - self.routes = kwargs.get('routes', None) - self.subnets = None - self.disable_bgp_route_propagation = kwargs.get('disable_bgp_route_propagation', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.etag = kwargs.get('etag', None) - - -class SecurityGroupNetworkInterface(Model): - """Network interface and all its associated security rules. - - :param id: ID of the network interface. - :type id: str - :param security_rule_associations: All security rules associated with the - network interface. - :type security_rule_associations: - ~azure.mgmt.network.v2019_07_01.models.SecurityRuleAssociations - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'security_rule_associations': {'key': 'securityRuleAssociations', 'type': 'SecurityRuleAssociations'}, - } - - def __init__(self, **kwargs): - super(SecurityGroupNetworkInterface, self).__init__(**kwargs) - self.id = kwargs.get('id', None) - self.security_rule_associations = kwargs.get('security_rule_associations', None) - - -class SecurityGroupViewParameters(Model): - """Parameters that define the VM to check security groups for. - - All required parameters must be populated in order to send to Azure. - - :param target_resource_id: Required. ID of the target VM. - :type target_resource_id: str - """ - - _validation = { - 'target_resource_id': {'required': True}, - } - - _attribute_map = { - 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(SecurityGroupViewParameters, self).__init__(**kwargs) - self.target_resource_id = kwargs.get('target_resource_id', None) - - -class SecurityGroupViewResult(Model): - """The information about security rules applied to the specified VM. - - :param network_interfaces: List of network interfaces on the specified VM. - :type network_interfaces: - list[~azure.mgmt.network.v2019_07_01.models.SecurityGroupNetworkInterface] - """ - - _attribute_map = { - 'network_interfaces': {'key': 'networkInterfaces', 'type': '[SecurityGroupNetworkInterface]'}, - } - - def __init__(self, **kwargs): - super(SecurityGroupViewResult, self).__init__(**kwargs) - self.network_interfaces = kwargs.get('network_interfaces', None) - - -class SecurityRule(SubResource): - """Network security rule. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :param description: A description for this rule. Restricted to 140 chars. - :type description: str - :param protocol: Required. Network protocol this rule applies to. Possible - values include: 'Tcp', 'Udp', 'Icmp', 'Esp', '*' - :type protocol: str or - ~azure.mgmt.network.v2019_07_01.models.SecurityRuleProtocol - :param source_port_range: The source port or range. Integer or range - between 0 and 65535. Asterisk '*' can also be used to match all ports. - :type source_port_range: str - :param destination_port_range: The destination port or range. Integer or - range between 0 and 65535. Asterisk '*' can also be used to match all - ports. - :type destination_port_range: str - :param source_address_prefix: The CIDR or source IP range. Asterisk '*' - can also be used to match all source IPs. Default tags such as - 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. If - this is an ingress rule, specifies where network traffic originates from. - :type source_address_prefix: str - :param source_address_prefixes: The CIDR or source IP ranges. - :type source_address_prefixes: list[str] - :param source_application_security_groups: The application security group - specified as source. - :type source_application_security_groups: - list[~azure.mgmt.network.v2019_07_01.models.ApplicationSecurityGroup] - :param destination_address_prefix: The destination address prefix. CIDR or - destination IP range. Asterisk '*' can also be used to match all source - IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and - 'Internet' can also be used. - :type destination_address_prefix: str - :param destination_address_prefixes: The destination address prefixes. - CIDR or destination IP ranges. - :type destination_address_prefixes: list[str] - :param destination_application_security_groups: The application security - group specified as destination. - :type destination_application_security_groups: - list[~azure.mgmt.network.v2019_07_01.models.ApplicationSecurityGroup] - :param source_port_ranges: The source port ranges. - :type source_port_ranges: list[str] - :param destination_port_ranges: The destination port ranges. - :type destination_port_ranges: list[str] - :param access: Required. The network traffic is allowed or denied. - Possible values include: 'Allow', 'Deny' - :type access: str or - ~azure.mgmt.network.v2019_07_01.models.SecurityRuleAccess - :param priority: The priority of the rule. The value can be between 100 - and 4096. The priority number must be unique for each rule in the - collection. The lower the priority number, the higher the priority of the - rule. - :type priority: int - :param direction: Required. The direction of the rule. The direction - specifies if rule will be evaluated on incoming or outgoing traffic. - Possible values include: 'Inbound', 'Outbound' - :type direction: str or - ~azure.mgmt.network.v2019_07_01.models.SecurityRuleDirection - :param provisioning_state: The provisioning state of the security rule - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'protocol': {'required': True}, - 'access': {'required': True}, - 'direction': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'description': {'key': 'properties.description', 'type': 'str'}, - 'protocol': {'key': 'properties.protocol', 'type': 'str'}, - 'source_port_range': {'key': 'properties.sourcePortRange', 'type': 'str'}, - 'destination_port_range': {'key': 'properties.destinationPortRange', 'type': 'str'}, - 'source_address_prefix': {'key': 'properties.sourceAddressPrefix', 'type': 'str'}, - 'source_address_prefixes': {'key': 'properties.sourceAddressPrefixes', 'type': '[str]'}, - 'source_application_security_groups': {'key': 'properties.sourceApplicationSecurityGroups', 'type': '[ApplicationSecurityGroup]'}, - 'destination_address_prefix': {'key': 'properties.destinationAddressPrefix', 'type': 'str'}, - 'destination_address_prefixes': {'key': 'properties.destinationAddressPrefixes', 'type': '[str]'}, - 'destination_application_security_groups': {'key': 'properties.destinationApplicationSecurityGroups', 'type': '[ApplicationSecurityGroup]'}, - 'source_port_ranges': {'key': 'properties.sourcePortRanges', 'type': '[str]'}, - 'destination_port_ranges': {'key': 'properties.destinationPortRanges', 'type': '[str]'}, - 'access': {'key': 'properties.access', 'type': 'str'}, - 'priority': {'key': 'properties.priority', 'type': 'int'}, - 'direction': {'key': 'properties.direction', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(SecurityRule, self).__init__(**kwargs) - self.description = kwargs.get('description', None) - self.protocol = kwargs.get('protocol', None) - self.source_port_range = kwargs.get('source_port_range', None) - self.destination_port_range = kwargs.get('destination_port_range', None) - self.source_address_prefix = kwargs.get('source_address_prefix', None) - self.source_address_prefixes = kwargs.get('source_address_prefixes', None) - self.source_application_security_groups = kwargs.get('source_application_security_groups', None) - self.destination_address_prefix = kwargs.get('destination_address_prefix', None) - self.destination_address_prefixes = kwargs.get('destination_address_prefixes', None) - self.destination_application_security_groups = kwargs.get('destination_application_security_groups', None) - self.source_port_ranges = kwargs.get('source_port_ranges', None) - self.destination_port_ranges = kwargs.get('destination_port_ranges', None) - self.access = kwargs.get('access', None) - self.priority = kwargs.get('priority', None) - self.direction = kwargs.get('direction', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.name = kwargs.get('name', None) - self.etag = kwargs.get('etag', None) - - -class SecurityRuleAssociations(Model): - """All security rules associated with the network interface. - - :param network_interface_association: Network interface and it's custom - security rules. - :type network_interface_association: - ~azure.mgmt.network.v2019_07_01.models.NetworkInterfaceAssociation - :param subnet_association: Subnet and it's custom security rules. - :type subnet_association: - ~azure.mgmt.network.v2019_07_01.models.SubnetAssociation - :param default_security_rules: Collection of default security rules of the - network security group. - :type default_security_rules: - list[~azure.mgmt.network.v2019_07_01.models.SecurityRule] - :param effective_security_rules: Collection of effective security rules. - :type effective_security_rules: - list[~azure.mgmt.network.v2019_07_01.models.EffectiveNetworkSecurityRule] - """ - - _attribute_map = { - 'network_interface_association': {'key': 'networkInterfaceAssociation', 'type': 'NetworkInterfaceAssociation'}, - 'subnet_association': {'key': 'subnetAssociation', 'type': 'SubnetAssociation'}, - 'default_security_rules': {'key': 'defaultSecurityRules', 'type': '[SecurityRule]'}, - 'effective_security_rules': {'key': 'effectiveSecurityRules', 'type': '[EffectiveNetworkSecurityRule]'}, - } - - def __init__(self, **kwargs): - super(SecurityRuleAssociations, self).__init__(**kwargs) - self.network_interface_association = kwargs.get('network_interface_association', None) - self.subnet_association = kwargs.get('subnet_association', None) - self.default_security_rules = kwargs.get('default_security_rules', None) - self.effective_security_rules = kwargs.get('effective_security_rules', None) - - -class ServiceAssociationLink(SubResource): - """ServiceAssociationLink resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param linked_resource_type: Resource type of the linked resource. - :type linked_resource_type: str - :param link: Link to the external resource. - :type link: str - :ivar provisioning_state: The provisioning state of the service - association link resource. Possible values include: 'Succeeded', - 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param allow_delete: If true, the resource can be deleted. - :type allow_delete: bool - :param locations: A list of locations. - :type locations: list[str] - :param name: Name of the resource that is unique within a resource group. - This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :param type: Resource type. - :type type: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'linked_resource_type': {'key': 'properties.linkedResourceType', 'type': 'str'}, - 'link': {'key': 'properties.link', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'allow_delete': {'key': 'properties.allowDelete', 'type': 'bool'}, - 'locations': {'key': 'properties.locations', 'type': '[str]'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ServiceAssociationLink, self).__init__(**kwargs) - self.linked_resource_type = kwargs.get('linked_resource_type', None) - self.link = kwargs.get('link', None) - self.provisioning_state = None - self.allow_delete = kwargs.get('allow_delete', None) - self.locations = kwargs.get('locations', None) - self.name = kwargs.get('name', None) - self.etag = None - self.type = kwargs.get('type', None) - - -class ServiceAssociationLinksListResult(Model): - """Response for ServiceAssociationLinks_List operation. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param value: The service association links in a subnet. - :type value: - list[~azure.mgmt.network.v2019_07_01.models.ServiceAssociationLink] - :ivar next_link: The URL to get the next set of results. - :vartype next_link: str - """ - - _validation = { - 'next_link': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[ServiceAssociationLink]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ServiceAssociationLinksListResult, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - self.next_link = None - - -class ServiceEndpointPolicy(Resource): - """Service End point policy resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param service_endpoint_policy_definitions: A collection of service - endpoint policy definitions of the service endpoint policy. - :type service_endpoint_policy_definitions: - list[~azure.mgmt.network.v2019_07_01.models.ServiceEndpointPolicyDefinition] - :ivar subnets: A collection of references to subnets. - :vartype subnets: list[~azure.mgmt.network.v2019_07_01.models.Subnet] - :ivar resource_guid: The resource GUID property of the service endpoint - policy resource. - :vartype resource_guid: str - :ivar provisioning_state: The provisioning state of the service endpoint - policy resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'subnets': {'readonly': True}, - 'resource_guid': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'service_endpoint_policy_definitions': {'key': 'properties.serviceEndpointPolicyDefinitions', 'type': '[ServiceEndpointPolicyDefinition]'}, - 'subnets': {'key': 'properties.subnets', 'type': '[Subnet]'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ServiceEndpointPolicy, self).__init__(**kwargs) - self.service_endpoint_policy_definitions = kwargs.get('service_endpoint_policy_definitions', None) - self.subnets = None - self.resource_guid = None - self.provisioning_state = None - self.etag = kwargs.get('etag', None) - - -class ServiceEndpointPolicyDefinition(SubResource): - """Service Endpoint policy definitions. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param description: A description for this rule. Restricted to 140 chars. - :type description: str - :param service: Service endpoint name. - :type service: str - :param service_resources: A list of service resources. - :type service_resources: list[str] - :ivar provisioning_state: The provisioning state of the service endpoint - policy definition resource. Possible values include: 'Succeeded', - 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'description': {'key': 'properties.description', 'type': 'str'}, - 'service': {'key': 'properties.service', 'type': 'str'}, - 'service_resources': {'key': 'properties.serviceResources', 'type': '[str]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ServiceEndpointPolicyDefinition, self).__init__(**kwargs) - self.description = kwargs.get('description', None) - self.service = kwargs.get('service', None) - self.service_resources = kwargs.get('service_resources', None) - self.provisioning_state = None - self.name = kwargs.get('name', None) - self.etag = kwargs.get('etag', None) - - -class ServiceEndpointPropertiesFormat(Model): - """The service endpoint properties. - - :param service: The type of the endpoint service. - :type service: str - :param locations: A list of locations. - :type locations: list[str] - :param provisioning_state: The provisioning state of the service endpoint - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - """ - - _attribute_map = { - 'service': {'key': 'service', 'type': 'str'}, - 'locations': {'key': 'locations', 'type': '[str]'}, - 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ServiceEndpointPropertiesFormat, self).__init__(**kwargs) - self.service = kwargs.get('service', None) - self.locations = kwargs.get('locations', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - - -class ServiceTagInformation(Model): - """The service tag information. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar properties: Properties of the service tag information. - :vartype properties: - ~azure.mgmt.network.v2019_07_01.models.ServiceTagInformationPropertiesFormat - :ivar name: The name of service tag. - :vartype name: str - :ivar id: The ID of service tag. - :vartype id: str - """ - - _validation = { - 'properties': {'readonly': True}, - 'name': {'readonly': True}, - 'id': {'readonly': True}, - } - - _attribute_map = { - 'properties': {'key': 'properties', 'type': 'ServiceTagInformationPropertiesFormat'}, - 'name': {'key': 'name', 'type': 'str'}, - 'id': {'key': 'id', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ServiceTagInformation, self).__init__(**kwargs) - self.properties = None - self.name = None - self.id = None - - -class ServiceTagInformationPropertiesFormat(Model): - """Properties of the service tag information. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar change_number: The iteration number of service tag. - :vartype change_number: str - :ivar region: The region of service tag. - :vartype region: str - :ivar system_service: The name of system service. - :vartype system_service: str - :ivar address_prefixes: The list of IP address prefixes. - :vartype address_prefixes: list[str] - """ - - _validation = { - 'change_number': {'readonly': True}, - 'region': {'readonly': True}, - 'system_service': {'readonly': True}, - 'address_prefixes': {'readonly': True}, - } - - _attribute_map = { - 'change_number': {'key': 'changeNumber', 'type': 'str'}, - 'region': {'key': 'region', 'type': 'str'}, - 'system_service': {'key': 'systemService', 'type': 'str'}, - 'address_prefixes': {'key': 'addressPrefixes', 'type': '[str]'}, - } - - def __init__(self, **kwargs): - super(ServiceTagInformationPropertiesFormat, self).__init__(**kwargs) - self.change_number = None - self.region = None - self.system_service = None - self.address_prefixes = None - - -class ServiceTagsListResult(Model): - """Response for the ListServiceTags API service call. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar name: The name of the cloud. - :vartype name: str - :ivar id: The ID of the cloud. - :vartype id: str - :ivar type: The azure resource type. - :vartype type: str - :ivar change_number: The iteration number. - :vartype change_number: str - :ivar cloud: The name of the cloud. - :vartype cloud: str - :ivar values: The list of service tag information resources. - :vartype values: - list[~azure.mgmt.network.v2019_07_01.models.ServiceTagInformation] - """ - - _validation = { - 'name': {'readonly': True}, - 'id': {'readonly': True}, - 'type': {'readonly': True}, - 'change_number': {'readonly': True}, - 'cloud': {'readonly': True}, - 'values': {'readonly': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'id': {'key': 'id', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'change_number': {'key': 'changeNumber', 'type': 'str'}, - 'cloud': {'key': 'cloud', 'type': 'str'}, - 'values': {'key': 'values', 'type': '[ServiceTagInformation]'}, - } - - def __init__(self, **kwargs): - super(ServiceTagsListResult, self).__init__(**kwargs) - self.name = None - self.id = None - self.type = None - self.change_number = None - self.cloud = None - self.values = None - - -class Subnet(SubResource): - """Subnet in a virtual network resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param address_prefix: The address prefix for the subnet. - :type address_prefix: str - :param address_prefixes: List of address prefixes for the subnet. - :type address_prefixes: list[str] - :param network_security_group: The reference of the NetworkSecurityGroup - resource. - :type network_security_group: - ~azure.mgmt.network.v2019_07_01.models.NetworkSecurityGroup - :param route_table: The reference of the RouteTable resource. - :type route_table: ~azure.mgmt.network.v2019_07_01.models.RouteTable - :param nat_gateway: Nat gateway associated with this subnet. - :type nat_gateway: ~azure.mgmt.network.v2019_07_01.models.SubResource - :param service_endpoints: An array of service endpoints. - :type service_endpoints: - list[~azure.mgmt.network.v2019_07_01.models.ServiceEndpointPropertiesFormat] - :param service_endpoint_policies: An array of service endpoint policies. - :type service_endpoint_policies: - list[~azure.mgmt.network.v2019_07_01.models.ServiceEndpointPolicy] - :ivar private_endpoints: An array of references to private endpoints. - :vartype private_endpoints: - list[~azure.mgmt.network.v2019_07_01.models.PrivateEndpoint] - :ivar ip_configurations: An array of references to the network interface - IP configurations using subnet. - :vartype ip_configurations: - list[~azure.mgmt.network.v2019_07_01.models.IPConfiguration] - :ivar ip_configuration_profiles: Array of IP configuration profiles which - reference this subnet. - :vartype ip_configuration_profiles: - list[~azure.mgmt.network.v2019_07_01.models.IPConfigurationProfile] - :param resource_navigation_links: An array of references to the external - resources using subnet. - :type resource_navigation_links: - list[~azure.mgmt.network.v2019_07_01.models.ResourceNavigationLink] - :param service_association_links: An array of references to services - injecting into this subnet. - :type service_association_links: - list[~azure.mgmt.network.v2019_07_01.models.ServiceAssociationLink] - :param delegations: An array of references to the delegations on the - subnet. - :type delegations: list[~azure.mgmt.network.v2019_07_01.models.Delegation] - :ivar purpose: A read-only string identifying the intention of use for - this subnet based on delegations and other user-defined properties. - :vartype purpose: str - :param provisioning_state: The provisioning state of the subnet resource. - Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param private_endpoint_network_policies: Enable or Disable apply network - policies on private end point in the subnet. - :type private_endpoint_network_policies: str - :param private_link_service_network_policies: Enable or Disable apply - network policies on private link service in the subnet. - :type private_link_service_network_policies: str - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'private_endpoints': {'readonly': True}, - 'ip_configurations': {'readonly': True}, - 'ip_configuration_profiles': {'readonly': True}, - 'purpose': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'address_prefix': {'key': 'properties.addressPrefix', 'type': 'str'}, - 'address_prefixes': {'key': 'properties.addressPrefixes', 'type': '[str]'}, - 'network_security_group': {'key': 'properties.networkSecurityGroup', 'type': 'NetworkSecurityGroup'}, - 'route_table': {'key': 'properties.routeTable', 'type': 'RouteTable'}, - 'nat_gateway': {'key': 'properties.natGateway', 'type': 'SubResource'}, - 'service_endpoints': {'key': 'properties.serviceEndpoints', 'type': '[ServiceEndpointPropertiesFormat]'}, - 'service_endpoint_policies': {'key': 'properties.serviceEndpointPolicies', 'type': '[ServiceEndpointPolicy]'}, - 'private_endpoints': {'key': 'properties.privateEndpoints', 'type': '[PrivateEndpoint]'}, - 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[IPConfiguration]'}, - 'ip_configuration_profiles': {'key': 'properties.ipConfigurationProfiles', 'type': '[IPConfigurationProfile]'}, - 'resource_navigation_links': {'key': 'properties.resourceNavigationLinks', 'type': '[ResourceNavigationLink]'}, - 'service_association_links': {'key': 'properties.serviceAssociationLinks', 'type': '[ServiceAssociationLink]'}, - 'delegations': {'key': 'properties.delegations', 'type': '[Delegation]'}, - 'purpose': {'key': 'properties.purpose', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'private_endpoint_network_policies': {'key': 'properties.privateEndpointNetworkPolicies', 'type': 'str'}, - 'private_link_service_network_policies': {'key': 'properties.privateLinkServiceNetworkPolicies', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(Subnet, self).__init__(**kwargs) - self.address_prefix = kwargs.get('address_prefix', None) - self.address_prefixes = kwargs.get('address_prefixes', None) - self.network_security_group = kwargs.get('network_security_group', None) - self.route_table = kwargs.get('route_table', None) - self.nat_gateway = kwargs.get('nat_gateway', None) - self.service_endpoints = kwargs.get('service_endpoints', None) - self.service_endpoint_policies = kwargs.get('service_endpoint_policies', None) - self.private_endpoints = None - self.ip_configurations = None - self.ip_configuration_profiles = None - self.resource_navigation_links = kwargs.get('resource_navigation_links', None) - self.service_association_links = kwargs.get('service_association_links', None) - self.delegations = kwargs.get('delegations', None) - self.purpose = None - self.provisioning_state = kwargs.get('provisioning_state', None) - self.private_endpoint_network_policies = kwargs.get('private_endpoint_network_policies', None) - self.private_link_service_network_policies = kwargs.get('private_link_service_network_policies', None) - self.name = kwargs.get('name', None) - self.etag = kwargs.get('etag', None) - - -class SubnetAssociation(Model): - """Subnet and it's custom security rules. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar id: Subnet ID. - :vartype id: str - :param security_rules: Collection of custom security rules. - :type security_rules: - list[~azure.mgmt.network.v2019_07_01.models.SecurityRule] - """ - - _validation = { - 'id': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'security_rules': {'key': 'securityRules', 'type': '[SecurityRule]'}, - } - - def __init__(self, **kwargs): - super(SubnetAssociation, self).__init__(**kwargs) - self.id = None - self.security_rules = kwargs.get('security_rules', None) - - -class TagsObject(Model): - """Tags object for patch operations. - - :param tags: Resource tags. - :type tags: dict[str, str] - """ - - _attribute_map = { - 'tags': {'key': 'tags', 'type': '{str}'}, - } - - def __init__(self, **kwargs): - super(TagsObject, self).__init__(**kwargs) - self.tags = kwargs.get('tags', None) - - -class Topology(Model): - """Topology of the specified resource group. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar id: GUID representing the operation id. - :vartype id: str - :ivar created_date_time: The datetime when the topology was initially - created for the resource group. - :vartype created_date_time: datetime - :ivar last_modified: The datetime when the topology was last modified. - :vartype last_modified: datetime - :param resources: A list of topology resources. - :type resources: - list[~azure.mgmt.network.v2019_07_01.models.TopologyResource] - """ - - _validation = { - 'id': {'readonly': True}, - 'created_date_time': {'readonly': True}, - 'last_modified': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'created_date_time': {'key': 'createdDateTime', 'type': 'iso-8601'}, - 'last_modified': {'key': 'lastModified', 'type': 'iso-8601'}, - 'resources': {'key': 'resources', 'type': '[TopologyResource]'}, - } - - def __init__(self, **kwargs): - super(Topology, self).__init__(**kwargs) - self.id = None - self.created_date_time = None - self.last_modified = None - self.resources = kwargs.get('resources', None) - - -class TopologyAssociation(Model): - """Resources that have an association with the parent resource. - - :param name: The name of the resource that is associated with the parent - resource. - :type name: str - :param resource_id: The ID of the resource that is associated with the - parent resource. - :type resource_id: str - :param association_type: The association type of the child resource to the - parent resource. Possible values include: 'Associated', 'Contains' - :type association_type: str or - ~azure.mgmt.network.v2019_07_01.models.AssociationType - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'resource_id': {'key': 'resourceId', 'type': 'str'}, - 'association_type': {'key': 'associationType', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(TopologyAssociation, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.resource_id = kwargs.get('resource_id', None) - self.association_type = kwargs.get('association_type', None) - - -class TopologyParameters(Model): - """Parameters that define the representation of topology. - - :param target_resource_group_name: The name of the target resource group - to perform topology on. - :type target_resource_group_name: str - :param target_virtual_network: The reference of the Virtual Network - resource. - :type target_virtual_network: - ~azure.mgmt.network.v2019_07_01.models.SubResource - :param target_subnet: The reference of the Subnet resource. - :type target_subnet: ~azure.mgmt.network.v2019_07_01.models.SubResource - """ - - _attribute_map = { - 'target_resource_group_name': {'key': 'targetResourceGroupName', 'type': 'str'}, - 'target_virtual_network': {'key': 'targetVirtualNetwork', 'type': 'SubResource'}, - 'target_subnet': {'key': 'targetSubnet', 'type': 'SubResource'}, - } - - def __init__(self, **kwargs): - super(TopologyParameters, self).__init__(**kwargs) - self.target_resource_group_name = kwargs.get('target_resource_group_name', None) - self.target_virtual_network = kwargs.get('target_virtual_network', None) - self.target_subnet = kwargs.get('target_subnet', None) - - -class TopologyResource(Model): - """The network resource topology information for the given resource group. - - :param name: Name of the resource. - :type name: str - :param id: ID of the resource. - :type id: str - :param location: Resource location. - :type location: str - :param associations: Holds the associations the resource has with other - resources in the resource group. - :type associations: - list[~azure.mgmt.network.v2019_07_01.models.TopologyAssociation] - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'id': {'key': 'id', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'associations': {'key': 'associations', 'type': '[TopologyAssociation]'}, - } - - def __init__(self, **kwargs): - super(TopologyResource, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.id = kwargs.get('id', None) - self.location = kwargs.get('location', None) - self.associations = kwargs.get('associations', None) - - -class TrafficAnalyticsConfigurationProperties(Model): - """Parameters that define the configuration of traffic analytics. - - All required parameters must be populated in order to send to Azure. - - :param enabled: Required. Flag to enable/disable traffic analytics. - :type enabled: bool - :param workspace_id: The resource guid of the attached workspace. - :type workspace_id: str - :param workspace_region: The location of the attached workspace. - :type workspace_region: str - :param workspace_resource_id: Resource Id of the attached workspace. - :type workspace_resource_id: str - :param traffic_analytics_interval: The interval in minutes which would - decide how frequently TA service should do flow analytics. - :type traffic_analytics_interval: int - """ - - _validation = { - 'enabled': {'required': True}, - } - - _attribute_map = { - 'enabled': {'key': 'enabled', 'type': 'bool'}, - 'workspace_id': {'key': 'workspaceId', 'type': 'str'}, - 'workspace_region': {'key': 'workspaceRegion', 'type': 'str'}, - 'workspace_resource_id': {'key': 'workspaceResourceId', 'type': 'str'}, - 'traffic_analytics_interval': {'key': 'trafficAnalyticsInterval', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(TrafficAnalyticsConfigurationProperties, self).__init__(**kwargs) - self.enabled = kwargs.get('enabled', None) - self.workspace_id = kwargs.get('workspace_id', None) - self.workspace_region = kwargs.get('workspace_region', None) - self.workspace_resource_id = kwargs.get('workspace_resource_id', None) - self.traffic_analytics_interval = kwargs.get('traffic_analytics_interval', None) - - -class TrafficAnalyticsProperties(Model): - """Parameters that define the configuration of traffic analytics. - - All required parameters must be populated in order to send to Azure. - - :param network_watcher_flow_analytics_configuration: Required. Parameters - that define the configuration of traffic analytics. - :type network_watcher_flow_analytics_configuration: - ~azure.mgmt.network.v2019_07_01.models.TrafficAnalyticsConfigurationProperties - """ - - _validation = { - 'network_watcher_flow_analytics_configuration': {'required': True}, - } - - _attribute_map = { - 'network_watcher_flow_analytics_configuration': {'key': 'networkWatcherFlowAnalyticsConfiguration', 'type': 'TrafficAnalyticsConfigurationProperties'}, - } - - def __init__(self, **kwargs): - super(TrafficAnalyticsProperties, self).__init__(**kwargs) - self.network_watcher_flow_analytics_configuration = kwargs.get('network_watcher_flow_analytics_configuration', None) - - -class TrafficSelectorPolicy(Model): - """An traffic selector policy for a virtual network gateway connection. - - All required parameters must be populated in order to send to Azure. - - :param local_address_ranges: Required. A collection of local address - spaces in CIDR format - :type local_address_ranges: list[str] - :param remote_address_ranges: Required. A collection of remote address - spaces in CIDR format - :type remote_address_ranges: list[str] - """ - - _validation = { - 'local_address_ranges': {'required': True}, - 'remote_address_ranges': {'required': True}, - } - - _attribute_map = { - 'local_address_ranges': {'key': 'localAddressRanges', 'type': '[str]'}, - 'remote_address_ranges': {'key': 'remoteAddressRanges', 'type': '[str]'}, - } - - def __init__(self, **kwargs): - super(TrafficSelectorPolicy, self).__init__(**kwargs) - self.local_address_ranges = kwargs.get('local_address_ranges', None) - self.remote_address_ranges = kwargs.get('remote_address_ranges', None) - - -class TroubleshootingDetails(Model): - """Information gained from troubleshooting of specified resource. - - :param id: The id of the get troubleshoot operation. - :type id: str - :param reason_type: Reason type of failure. - :type reason_type: str - :param summary: A summary of troubleshooting. - :type summary: str - :param detail: Details on troubleshooting results. - :type detail: str - :param recommended_actions: List of recommended actions. - :type recommended_actions: - list[~azure.mgmt.network.v2019_07_01.models.TroubleshootingRecommendedActions] - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'reason_type': {'key': 'reasonType', 'type': 'str'}, - 'summary': {'key': 'summary', 'type': 'str'}, - 'detail': {'key': 'detail', 'type': 'str'}, - 'recommended_actions': {'key': 'recommendedActions', 'type': '[TroubleshootingRecommendedActions]'}, - } - - def __init__(self, **kwargs): - super(TroubleshootingDetails, self).__init__(**kwargs) - self.id = kwargs.get('id', None) - self.reason_type = kwargs.get('reason_type', None) - self.summary = kwargs.get('summary', None) - self.detail = kwargs.get('detail', None) - self.recommended_actions = kwargs.get('recommended_actions', None) - - -class TroubleshootingParameters(Model): - """Parameters that define the resource to troubleshoot. - - All required parameters must be populated in order to send to Azure. - - :param target_resource_id: Required. The target resource to troubleshoot. - :type target_resource_id: str - :param storage_id: Required. The ID for the storage account to save the - troubleshoot result. - :type storage_id: str - :param storage_path: Required. The path to the blob to save the - troubleshoot result in. - :type storage_path: str - """ - - _validation = { - 'target_resource_id': {'required': True}, - 'storage_id': {'required': True}, - 'storage_path': {'required': True}, - } - - _attribute_map = { - 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, - 'storage_id': {'key': 'properties.storageId', 'type': 'str'}, - 'storage_path': {'key': 'properties.storagePath', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(TroubleshootingParameters, self).__init__(**kwargs) - self.target_resource_id = kwargs.get('target_resource_id', None) - self.storage_id = kwargs.get('storage_id', None) - self.storage_path = kwargs.get('storage_path', None) - - -class TroubleshootingRecommendedActions(Model): - """Recommended actions based on discovered issues. - - :param action_id: ID of the recommended action. - :type action_id: str - :param action_text: Description of recommended actions. - :type action_text: str - :param action_uri: The uri linking to a documentation for the recommended - troubleshooting actions. - :type action_uri: str - :param action_uri_text: The information from the URI for the recommended - troubleshooting actions. - :type action_uri_text: str - """ - - _attribute_map = { - 'action_id': {'key': 'actionId', 'type': 'str'}, - 'action_text': {'key': 'actionText', 'type': 'str'}, - 'action_uri': {'key': 'actionUri', 'type': 'str'}, - 'action_uri_text': {'key': 'actionUriText', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(TroubleshootingRecommendedActions, self).__init__(**kwargs) - self.action_id = kwargs.get('action_id', None) - self.action_text = kwargs.get('action_text', None) - self.action_uri = kwargs.get('action_uri', None) - self.action_uri_text = kwargs.get('action_uri_text', None) - - -class TroubleshootingResult(Model): - """Troubleshooting information gained from specified resource. - - :param start_time: The start time of the troubleshooting. - :type start_time: datetime - :param end_time: The end time of the troubleshooting. - :type end_time: datetime - :param code: The result code of the troubleshooting. - :type code: str - :param results: Information from troubleshooting. - :type results: - list[~azure.mgmt.network.v2019_07_01.models.TroubleshootingDetails] - """ - - _attribute_map = { - 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, - 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, - 'code': {'key': 'code', 'type': 'str'}, - 'results': {'key': 'results', 'type': '[TroubleshootingDetails]'}, - } - - def __init__(self, **kwargs): - super(TroubleshootingResult, self).__init__(**kwargs) - self.start_time = kwargs.get('start_time', None) - self.end_time = kwargs.get('end_time', None) - self.code = kwargs.get('code', None) - self.results = kwargs.get('results', None) - - -class TunnelConnectionHealth(Model): - """VirtualNetworkGatewayConnection properties. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar tunnel: Tunnel name. - :vartype tunnel: str - :ivar connection_status: Virtual Network Gateway connection status. - Possible values include: 'Unknown', 'Connecting', 'Connected', - 'NotConnected' - :vartype connection_status: str or - ~azure.mgmt.network.v2019_07_01.models.VirtualNetworkGatewayConnectionStatus - :ivar ingress_bytes_transferred: The Ingress Bytes Transferred in this - connection. - :vartype ingress_bytes_transferred: long - :ivar egress_bytes_transferred: The Egress Bytes Transferred in this - connection. - :vartype egress_bytes_transferred: long - :ivar last_connection_established_utc_time: The time at which connection - was established in Utc format. - :vartype last_connection_established_utc_time: str - """ - - _validation = { - 'tunnel': {'readonly': True}, - 'connection_status': {'readonly': True}, - 'ingress_bytes_transferred': {'readonly': True}, - 'egress_bytes_transferred': {'readonly': True}, - 'last_connection_established_utc_time': {'readonly': True}, - } - - _attribute_map = { - 'tunnel': {'key': 'tunnel', 'type': 'str'}, - 'connection_status': {'key': 'connectionStatus', 'type': 'str'}, - 'ingress_bytes_transferred': {'key': 'ingressBytesTransferred', 'type': 'long'}, - 'egress_bytes_transferred': {'key': 'egressBytesTransferred', 'type': 'long'}, - 'last_connection_established_utc_time': {'key': 'lastConnectionEstablishedUtcTime', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(TunnelConnectionHealth, self).__init__(**kwargs) - self.tunnel = None - self.connection_status = None - self.ingress_bytes_transferred = None - self.egress_bytes_transferred = None - self.last_connection_established_utc_time = None - - -class UnprepareNetworkPoliciesRequest(Model): - """Details of UnprepareNetworkPolicies for Subnet. - - :param service_name: The name of the service for which subnet is being - unprepared for. - :type service_name: str - """ - - _attribute_map = { - 'service_name': {'key': 'serviceName', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(UnprepareNetworkPoliciesRequest, self).__init__(**kwargs) - self.service_name = kwargs.get('service_name', None) - - -class Usage(Model): - """Describes network resource usage. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :ivar id: Resource identifier. - :vartype id: str - :ivar unit: Required. An enum describing the unit of measurement. Default - value: "Count" . - :vartype unit: str - :param current_value: Required. The current value of the usage. - :type current_value: long - :param limit: Required. The limit of usage. - :type limit: long - :param name: Required. The name of the type of usage. - :type name: ~azure.mgmt.network.v2019_07_01.models.UsageName - """ - - _validation = { - 'id': {'readonly': True}, - 'unit': {'required': True, 'constant': True}, - 'current_value': {'required': True}, - 'limit': {'required': True}, - 'name': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'unit': {'key': 'unit', 'type': 'str'}, - 'current_value': {'key': 'currentValue', 'type': 'long'}, - 'limit': {'key': 'limit', 'type': 'long'}, - 'name': {'key': 'name', 'type': 'UsageName'}, - } - - unit = "Count" - - def __init__(self, **kwargs): - super(Usage, self).__init__(**kwargs) - self.id = None - self.current_value = kwargs.get('current_value', None) - self.limit = kwargs.get('limit', None) - self.name = kwargs.get('name', None) - - -class UsageName(Model): - """The usage names. - - :param value: A string describing the resource name. - :type value: str - :param localized_value: A localized string describing the resource name. - :type localized_value: str - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': 'str'}, - 'localized_value': {'key': 'localizedValue', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(UsageName, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - self.localized_value = kwargs.get('localized_value', None) - - -class VerificationIPFlowParameters(Model): - """Parameters that define the IP flow to be verified. - - All required parameters must be populated in order to send to Azure. - - :param target_resource_id: Required. The ID of the target resource to - perform next-hop on. - :type target_resource_id: str - :param direction: Required. The direction of the packet represented as a - 5-tuple. Possible values include: 'Inbound', 'Outbound' - :type direction: str or ~azure.mgmt.network.v2019_07_01.models.Direction - :param protocol: Required. Protocol to be verified on. Possible values - include: 'TCP', 'UDP' - :type protocol: str or - ~azure.mgmt.network.v2019_07_01.models.IpFlowProtocol - :param local_port: Required. The local port. Acceptable values are a - single integer in the range (0-65535). Support for * for the source port, - which depends on the direction. - :type local_port: str - :param remote_port: Required. The remote port. Acceptable values are a - single integer in the range (0-65535). Support for * for the source port, - which depends on the direction. - :type remote_port: str - :param local_ip_address: Required. The local IP address. Acceptable values - are valid IPv4 addresses. - :type local_ip_address: str - :param remote_ip_address: Required. The remote IP address. Acceptable - values are valid IPv4 addresses. - :type remote_ip_address: str - :param target_nic_resource_id: The NIC ID. (If VM has multiple NICs and IP - forwarding is enabled on any of them, then this parameter must be - specified. Otherwise optional). - :type target_nic_resource_id: str - """ - - _validation = { - 'target_resource_id': {'required': True}, - 'direction': {'required': True}, - 'protocol': {'required': True}, - 'local_port': {'required': True}, - 'remote_port': {'required': True}, - 'local_ip_address': {'required': True}, - 'remote_ip_address': {'required': True}, - } - - _attribute_map = { - 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, - 'direction': {'key': 'direction', 'type': 'str'}, - 'protocol': {'key': 'protocol', 'type': 'str'}, - 'local_port': {'key': 'localPort', 'type': 'str'}, - 'remote_port': {'key': 'remotePort', 'type': 'str'}, - 'local_ip_address': {'key': 'localIPAddress', 'type': 'str'}, - 'remote_ip_address': {'key': 'remoteIPAddress', 'type': 'str'}, - 'target_nic_resource_id': {'key': 'targetNicResourceId', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VerificationIPFlowParameters, self).__init__(**kwargs) - self.target_resource_id = kwargs.get('target_resource_id', None) - self.direction = kwargs.get('direction', None) - self.protocol = kwargs.get('protocol', None) - self.local_port = kwargs.get('local_port', None) - self.remote_port = kwargs.get('remote_port', None) - self.local_ip_address = kwargs.get('local_ip_address', None) - self.remote_ip_address = kwargs.get('remote_ip_address', None) - self.target_nic_resource_id = kwargs.get('target_nic_resource_id', None) - - -class VerificationIPFlowResult(Model): - """Results of IP flow verification on the target resource. - - :param access: Indicates whether the traffic is allowed or denied. - Possible values include: 'Allow', 'Deny' - :type access: str or ~azure.mgmt.network.v2019_07_01.models.Access - :param rule_name: Name of the rule. If input is not matched against any - security rule, it is not displayed. - :type rule_name: str - """ - - _attribute_map = { - 'access': {'key': 'access', 'type': 'str'}, - 'rule_name': {'key': 'ruleName', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VerificationIPFlowResult, self).__init__(**kwargs) - self.access = kwargs.get('access', None) - self.rule_name = kwargs.get('rule_name', None) - - -class VirtualHub(Resource): - """VirtualHub Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param virtual_wan: The VirtualWAN to which the VirtualHub belongs. - :type virtual_wan: ~azure.mgmt.network.v2019_07_01.models.SubResource - :param vpn_gateway: The VpnGateway associated with this VirtualHub. - :type vpn_gateway: ~azure.mgmt.network.v2019_07_01.models.SubResource - :param p2_svpn_gateway: The P2SVpnGateway associated with this VirtualHub. - :type p2_svpn_gateway: ~azure.mgmt.network.v2019_07_01.models.SubResource - :param express_route_gateway: The expressRouteGateway associated with this - VirtualHub. - :type express_route_gateway: - ~azure.mgmt.network.v2019_07_01.models.SubResource - :param virtual_network_connections: List of all vnet connections with this - VirtualHub. - :type virtual_network_connections: - list[~azure.mgmt.network.v2019_07_01.models.HubVirtualNetworkConnection] - :param address_prefix: Address-prefix for this VirtualHub. - :type address_prefix: str - :param route_table: The routeTable associated with this virtual hub. - :type route_table: - ~azure.mgmt.network.v2019_07_01.models.VirtualHubRouteTable - :param provisioning_state: The provisioning state of the virtual hub - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'virtual_wan': {'key': 'properties.virtualWan', 'type': 'SubResource'}, - 'vpn_gateway': {'key': 'properties.vpnGateway', 'type': 'SubResource'}, - 'p2_svpn_gateway': {'key': 'properties.p2SVpnGateway', 'type': 'SubResource'}, - 'express_route_gateway': {'key': 'properties.expressRouteGateway', 'type': 'SubResource'}, - 'virtual_network_connections': {'key': 'properties.virtualNetworkConnections', 'type': '[HubVirtualNetworkConnection]'}, - 'address_prefix': {'key': 'properties.addressPrefix', 'type': 'str'}, - 'route_table': {'key': 'properties.routeTable', 'type': 'VirtualHubRouteTable'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VirtualHub, self).__init__(**kwargs) - self.virtual_wan = kwargs.get('virtual_wan', None) - self.vpn_gateway = kwargs.get('vpn_gateway', None) - self.p2_svpn_gateway = kwargs.get('p2_svpn_gateway', None) - self.express_route_gateway = kwargs.get('express_route_gateway', None) - self.virtual_network_connections = kwargs.get('virtual_network_connections', None) - self.address_prefix = kwargs.get('address_prefix', None) - self.route_table = kwargs.get('route_table', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.etag = None - - -class VirtualHubId(Model): - """Virtual Hub identifier. - - :param id: The resource URI for the Virtual Hub where the ExpressRoute - gateway is or will be deployed. The Virtual Hub resource and the - ExpressRoute gateway resource reside in the same subscription. - :type id: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VirtualHubId, self).__init__(**kwargs) - self.id = kwargs.get('id', None) - - -class VirtualHubRoute(Model): - """VirtualHub route. - - :param address_prefixes: List of all addressPrefixes. - :type address_prefixes: list[str] - :param next_hop_ip_address: NextHop ip address. - :type next_hop_ip_address: str - """ - - _attribute_map = { - 'address_prefixes': {'key': 'addressPrefixes', 'type': '[str]'}, - 'next_hop_ip_address': {'key': 'nextHopIpAddress', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VirtualHubRoute, self).__init__(**kwargs) - self.address_prefixes = kwargs.get('address_prefixes', None) - self.next_hop_ip_address = kwargs.get('next_hop_ip_address', None) - - -class VirtualHubRouteTable(Model): - """VirtualHub route table. - - :param routes: List of all routes. - :type routes: list[~azure.mgmt.network.v2019_07_01.models.VirtualHubRoute] - """ - - _attribute_map = { - 'routes': {'key': 'routes', 'type': '[VirtualHubRoute]'}, - } - - def __init__(self, **kwargs): - super(VirtualHubRouteTable, self).__init__(**kwargs) - self.routes = kwargs.get('routes', None) - - -class VirtualNetwork(Resource): - """Virtual Network resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param address_space: The AddressSpace that contains an array of IP - address ranges that can be used by subnets. - :type address_space: ~azure.mgmt.network.v2019_07_01.models.AddressSpace - :param dhcp_options: The dhcpOptions that contains an array of DNS servers - available to VMs deployed in the virtual network. - :type dhcp_options: ~azure.mgmt.network.v2019_07_01.models.DhcpOptions - :param subnets: A list of subnets in a Virtual Network. - :type subnets: list[~azure.mgmt.network.v2019_07_01.models.Subnet] - :param virtual_network_peerings: A list of peerings in a Virtual Network. - :type virtual_network_peerings: - list[~azure.mgmt.network.v2019_07_01.models.VirtualNetworkPeering] - :param resource_guid: The resourceGuid property of the Virtual Network - resource. - :type resource_guid: str - :param provisioning_state: The provisioning state of the virtual network - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param enable_ddos_protection: Indicates if DDoS protection is enabled for - all the protected resources in the virtual network. It requires a DDoS - protection plan associated with the resource. Default value: False . - :type enable_ddos_protection: bool - :param enable_vm_protection: Indicates if VM protection is enabled for all - the subnets in the virtual network. Default value: False . - :type enable_vm_protection: bool - :param ddos_protection_plan: The DDoS protection plan associated with the - virtual network. - :type ddos_protection_plan: - ~azure.mgmt.network.v2019_07_01.models.SubResource - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'address_space': {'key': 'properties.addressSpace', 'type': 'AddressSpace'}, - 'dhcp_options': {'key': 'properties.dhcpOptions', 'type': 'DhcpOptions'}, - 'subnets': {'key': 'properties.subnets', 'type': '[Subnet]'}, - 'virtual_network_peerings': {'key': 'properties.virtualNetworkPeerings', 'type': '[VirtualNetworkPeering]'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'enable_ddos_protection': {'key': 'properties.enableDdosProtection', 'type': 'bool'}, - 'enable_vm_protection': {'key': 'properties.enableVmProtection', 'type': 'bool'}, - 'ddos_protection_plan': {'key': 'properties.ddosProtectionPlan', 'type': 'SubResource'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VirtualNetwork, self).__init__(**kwargs) - self.address_space = kwargs.get('address_space', None) - self.dhcp_options = kwargs.get('dhcp_options', None) - self.subnets = kwargs.get('subnets', None) - self.virtual_network_peerings = kwargs.get('virtual_network_peerings', None) - self.resource_guid = kwargs.get('resource_guid', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.enable_ddos_protection = kwargs.get('enable_ddos_protection', False) - self.enable_vm_protection = kwargs.get('enable_vm_protection', False) - self.ddos_protection_plan = kwargs.get('ddos_protection_plan', None) - self.etag = kwargs.get('etag', None) - - -class VirtualNetworkConnectionGatewayReference(Model): - """A reference to VirtualNetworkGateway or LocalNetworkGateway resource. - - All required parameters must be populated in order to send to Azure. - - :param id: Required. The ID of VirtualNetworkGateway or - LocalNetworkGateway resource. - :type id: str - """ - - _validation = { - 'id': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VirtualNetworkConnectionGatewayReference, self).__init__(**kwargs) - self.id = kwargs.get('id', None) - - -class VirtualNetworkGateway(Resource): - """A common class for general resource information. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param ip_configurations: IP configurations for virtual network gateway. - :type ip_configurations: - list[~azure.mgmt.network.v2019_07_01.models.VirtualNetworkGatewayIPConfiguration] - :param gateway_type: The type of this virtual network gateway. Possible - values include: 'Vpn', 'ExpressRoute' - :type gateway_type: str or - ~azure.mgmt.network.v2019_07_01.models.VirtualNetworkGatewayType - :param vpn_type: The type of this virtual network gateway. Possible values - include: 'PolicyBased', 'RouteBased' - :type vpn_type: str or ~azure.mgmt.network.v2019_07_01.models.VpnType - :param vpn_gateway_generation: The generation for this - VirtualNetworkGateway. Must be None if gatewayType is not VPN. Possible - values include: 'None', 'Generation1', 'Generation2' - :type vpn_gateway_generation: str or - ~azure.mgmt.network.v2019_07_01.models.VpnGatewayGeneration - :param enable_bgp: Whether BGP is enabled for this virtual network gateway - or not. - :type enable_bgp: bool - :param active_active: ActiveActive flag. - :type active_active: bool - :param gateway_default_site: The reference of the LocalNetworkGateway - resource which represents local network site having default routes. Assign - Null value in case of removing existing default site setting. - :type gateway_default_site: - ~azure.mgmt.network.v2019_07_01.models.SubResource - :param sku: The reference of the VirtualNetworkGatewaySku resource which - represents the SKU selected for Virtual network gateway. - :type sku: ~azure.mgmt.network.v2019_07_01.models.VirtualNetworkGatewaySku - :param vpn_client_configuration: The reference of the - VpnClientConfiguration resource which represents the P2S VpnClient - configurations. - :type vpn_client_configuration: - ~azure.mgmt.network.v2019_07_01.models.VpnClientConfiguration - :param bgp_settings: Virtual network gateway's BGP speaker settings. - :type bgp_settings: ~azure.mgmt.network.v2019_07_01.models.BgpSettings - :param custom_routes: The reference of the address space resource which - represents the custom routes address space specified by the customer for - virtual network gateway and VpnClient. - :type custom_routes: ~azure.mgmt.network.v2019_07_01.models.AddressSpace - :param resource_guid: The resource GUID property of the virtual network - gateway resource. - :type resource_guid: str - :ivar provisioning_state: The provisioning state of the virtual network - gateway resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[VirtualNetworkGatewayIPConfiguration]'}, - 'gateway_type': {'key': 'properties.gatewayType', 'type': 'str'}, - 'vpn_type': {'key': 'properties.vpnType', 'type': 'str'}, - 'vpn_gateway_generation': {'key': 'properties.vpnGatewayGeneration', 'type': 'str'}, - 'enable_bgp': {'key': 'properties.enableBgp', 'type': 'bool'}, - 'active_active': {'key': 'properties.activeActive', 'type': 'bool'}, - 'gateway_default_site': {'key': 'properties.gatewayDefaultSite', 'type': 'SubResource'}, - 'sku': {'key': 'properties.sku', 'type': 'VirtualNetworkGatewaySku'}, - 'vpn_client_configuration': {'key': 'properties.vpnClientConfiguration', 'type': 'VpnClientConfiguration'}, - 'bgp_settings': {'key': 'properties.bgpSettings', 'type': 'BgpSettings'}, - 'custom_routes': {'key': 'properties.customRoutes', 'type': 'AddressSpace'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VirtualNetworkGateway, self).__init__(**kwargs) - self.ip_configurations = kwargs.get('ip_configurations', None) - self.gateway_type = kwargs.get('gateway_type', None) - self.vpn_type = kwargs.get('vpn_type', None) - self.vpn_gateway_generation = kwargs.get('vpn_gateway_generation', None) - self.enable_bgp = kwargs.get('enable_bgp', None) - self.active_active = kwargs.get('active_active', None) - self.gateway_default_site = kwargs.get('gateway_default_site', None) - self.sku = kwargs.get('sku', None) - self.vpn_client_configuration = kwargs.get('vpn_client_configuration', None) - self.bgp_settings = kwargs.get('bgp_settings', None) - self.custom_routes = kwargs.get('custom_routes', None) - self.resource_guid = kwargs.get('resource_guid', None) - self.provisioning_state = None - self.etag = kwargs.get('etag', None) - - -class VirtualNetworkGatewayConnection(Resource): - """A common class for general resource information. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param authorization_key: The authorizationKey. - :type authorization_key: str - :param virtual_network_gateway1: Required. The reference to virtual - network gateway resource. - :type virtual_network_gateway1: - ~azure.mgmt.network.v2019_07_01.models.VirtualNetworkGateway - :param virtual_network_gateway2: The reference to virtual network gateway - resource. - :type virtual_network_gateway2: - ~azure.mgmt.network.v2019_07_01.models.VirtualNetworkGateway - :param local_network_gateway2: The reference to local network gateway - resource. - :type local_network_gateway2: - ~azure.mgmt.network.v2019_07_01.models.LocalNetworkGateway - :param connection_type: Required. Gateway connection type. Possible values - include: 'IPsec', 'Vnet2Vnet', 'ExpressRoute', 'VPNClient' - :type connection_type: str or - ~azure.mgmt.network.v2019_07_01.models.VirtualNetworkGatewayConnectionType - :param connection_protocol: Connection protocol used for this connection. - Possible values include: 'IKEv2', 'IKEv1' - :type connection_protocol: str or - ~azure.mgmt.network.v2019_07_01.models.VirtualNetworkGatewayConnectionProtocol - :param routing_weight: The routing weight. - :type routing_weight: int - :param shared_key: The IPSec shared key. - :type shared_key: str - :ivar connection_status: Virtual Network Gateway connection status. - Possible values include: 'Unknown', 'Connecting', 'Connected', - 'NotConnected' - :vartype connection_status: str or - ~azure.mgmt.network.v2019_07_01.models.VirtualNetworkGatewayConnectionStatus - :ivar tunnel_connection_status: Collection of all tunnels' connection - health status. - :vartype tunnel_connection_status: - list[~azure.mgmt.network.v2019_07_01.models.TunnelConnectionHealth] - :ivar egress_bytes_transferred: The egress bytes transferred in this - connection. - :vartype egress_bytes_transferred: long - :ivar ingress_bytes_transferred: The ingress bytes transferred in this - connection. - :vartype ingress_bytes_transferred: long - :param peer: The reference to peerings resource. - :type peer: ~azure.mgmt.network.v2019_07_01.models.SubResource - :param enable_bgp: EnableBgp flag. - :type enable_bgp: bool - :param use_policy_based_traffic_selectors: Enable policy-based traffic - selectors. - :type use_policy_based_traffic_selectors: bool - :param ipsec_policies: The IPSec Policies to be considered by this - connection. - :type ipsec_policies: - list[~azure.mgmt.network.v2019_07_01.models.IpsecPolicy] - :param traffic_selector_policies: The Traffic Selector Policies to be - considered by this connection. - :type traffic_selector_policies: - list[~azure.mgmt.network.v2019_07_01.models.TrafficSelectorPolicy] - :param resource_guid: The resource GUID property of the virtual network - gateway connection resource. - :type resource_guid: str - :ivar provisioning_state: The provisioning state of the virtual network - gateway connection resource. Possible values include: 'Succeeded', - 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param express_route_gateway_bypass: Bypass ExpressRoute Gateway for data - forwarding. - :type express_route_gateway_bypass: bool - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'virtual_network_gateway1': {'required': True}, - 'connection_type': {'required': True}, - 'connection_status': {'readonly': True}, - 'tunnel_connection_status': {'readonly': True}, - 'egress_bytes_transferred': {'readonly': True}, - 'ingress_bytes_transferred': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'authorization_key': {'key': 'properties.authorizationKey', 'type': 'str'}, - 'virtual_network_gateway1': {'key': 'properties.virtualNetworkGateway1', 'type': 'VirtualNetworkGateway'}, - 'virtual_network_gateway2': {'key': 'properties.virtualNetworkGateway2', 'type': 'VirtualNetworkGateway'}, - 'local_network_gateway2': {'key': 'properties.localNetworkGateway2', 'type': 'LocalNetworkGateway'}, - 'connection_type': {'key': 'properties.connectionType', 'type': 'str'}, - 'connection_protocol': {'key': 'properties.connectionProtocol', 'type': 'str'}, - 'routing_weight': {'key': 'properties.routingWeight', 'type': 'int'}, - 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, - 'connection_status': {'key': 'properties.connectionStatus', 'type': 'str'}, - 'tunnel_connection_status': {'key': 'properties.tunnelConnectionStatus', 'type': '[TunnelConnectionHealth]'}, - 'egress_bytes_transferred': {'key': 'properties.egressBytesTransferred', 'type': 'long'}, - 'ingress_bytes_transferred': {'key': 'properties.ingressBytesTransferred', 'type': 'long'}, - 'peer': {'key': 'properties.peer', 'type': 'SubResource'}, - 'enable_bgp': {'key': 'properties.enableBgp', 'type': 'bool'}, - 'use_policy_based_traffic_selectors': {'key': 'properties.usePolicyBasedTrafficSelectors', 'type': 'bool'}, - 'ipsec_policies': {'key': 'properties.ipsecPolicies', 'type': '[IpsecPolicy]'}, - 'traffic_selector_policies': {'key': 'properties.trafficSelectorPolicies', 'type': '[TrafficSelectorPolicy]'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'express_route_gateway_bypass': {'key': 'properties.expressRouteGatewayBypass', 'type': 'bool'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VirtualNetworkGatewayConnection, self).__init__(**kwargs) - self.authorization_key = kwargs.get('authorization_key', None) - self.virtual_network_gateway1 = kwargs.get('virtual_network_gateway1', None) - self.virtual_network_gateway2 = kwargs.get('virtual_network_gateway2', None) - self.local_network_gateway2 = kwargs.get('local_network_gateway2', None) - self.connection_type = kwargs.get('connection_type', None) - self.connection_protocol = kwargs.get('connection_protocol', None) - self.routing_weight = kwargs.get('routing_weight', None) - self.shared_key = kwargs.get('shared_key', None) - self.connection_status = None - self.tunnel_connection_status = None - self.egress_bytes_transferred = None - self.ingress_bytes_transferred = None - self.peer = kwargs.get('peer', None) - self.enable_bgp = kwargs.get('enable_bgp', None) - self.use_policy_based_traffic_selectors = kwargs.get('use_policy_based_traffic_selectors', None) - self.ipsec_policies = kwargs.get('ipsec_policies', None) - self.traffic_selector_policies = kwargs.get('traffic_selector_policies', None) - self.resource_guid = kwargs.get('resource_guid', None) - self.provisioning_state = None - self.express_route_gateway_bypass = kwargs.get('express_route_gateway_bypass', None) - self.etag = kwargs.get('etag', None) - - -class VirtualNetworkGatewayConnectionListEntity(Resource): - """A common class for general resource information. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param authorization_key: The authorizationKey. - :type authorization_key: str - :param virtual_network_gateway1: Required. The reference to virtual - network gateway resource. - :type virtual_network_gateway1: - ~azure.mgmt.network.v2019_07_01.models.VirtualNetworkConnectionGatewayReference - :param virtual_network_gateway2: The reference to virtual network gateway - resource. - :type virtual_network_gateway2: - ~azure.mgmt.network.v2019_07_01.models.VirtualNetworkConnectionGatewayReference - :param local_network_gateway2: The reference to local network gateway - resource. - :type local_network_gateway2: - ~azure.mgmt.network.v2019_07_01.models.VirtualNetworkConnectionGatewayReference - :param connection_type: Required. Gateway connection type. Possible values - include: 'IPsec', 'Vnet2Vnet', 'ExpressRoute', 'VPNClient' - :type connection_type: str or - ~azure.mgmt.network.v2019_07_01.models.VirtualNetworkGatewayConnectionType - :param connection_protocol: Connection protocol used for this connection. - Possible values include: 'IKEv2', 'IKEv1' - :type connection_protocol: str or - ~azure.mgmt.network.v2019_07_01.models.VirtualNetworkGatewayConnectionProtocol - :param routing_weight: The routing weight. - :type routing_weight: int - :param shared_key: The IPSec shared key. - :type shared_key: str - :ivar connection_status: Virtual Network Gateway connection status. - Possible values include: 'Unknown', 'Connecting', 'Connected', - 'NotConnected' - :vartype connection_status: str or - ~azure.mgmt.network.v2019_07_01.models.VirtualNetworkGatewayConnectionStatus - :ivar tunnel_connection_status: Collection of all tunnels' connection - health status. - :vartype tunnel_connection_status: - list[~azure.mgmt.network.v2019_07_01.models.TunnelConnectionHealth] - :ivar egress_bytes_transferred: The egress bytes transferred in this - connection. - :vartype egress_bytes_transferred: long - :ivar ingress_bytes_transferred: The ingress bytes transferred in this - connection. - :vartype ingress_bytes_transferred: long - :param peer: The reference to peerings resource. - :type peer: ~azure.mgmt.network.v2019_07_01.models.SubResource - :param enable_bgp: EnableBgp flag. - :type enable_bgp: bool - :param use_policy_based_traffic_selectors: Enable policy-based traffic - selectors. - :type use_policy_based_traffic_selectors: bool - :param ipsec_policies: The IPSec Policies to be considered by this - connection. - :type ipsec_policies: - list[~azure.mgmt.network.v2019_07_01.models.IpsecPolicy] - :param traffic_selector_policies: The Traffic Selector Policies to be - considered by this connection. - :type traffic_selector_policies: - list[~azure.mgmt.network.v2019_07_01.models.TrafficSelectorPolicy] - :param resource_guid: The resource GUID property of the virtual network - gateway connection resource. - :type resource_guid: str - :ivar provisioning_state: The provisioning state of the virtual network - gateway connection resource. Possible values include: 'Succeeded', - 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param express_route_gateway_bypass: Bypass ExpressRoute Gateway for data - forwarding. - :type express_route_gateway_bypass: bool - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'virtual_network_gateway1': {'required': True}, - 'connection_type': {'required': True}, - 'connection_status': {'readonly': True}, - 'tunnel_connection_status': {'readonly': True}, - 'egress_bytes_transferred': {'readonly': True}, - 'ingress_bytes_transferred': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'authorization_key': {'key': 'properties.authorizationKey', 'type': 'str'}, - 'virtual_network_gateway1': {'key': 'properties.virtualNetworkGateway1', 'type': 'VirtualNetworkConnectionGatewayReference'}, - 'virtual_network_gateway2': {'key': 'properties.virtualNetworkGateway2', 'type': 'VirtualNetworkConnectionGatewayReference'}, - 'local_network_gateway2': {'key': 'properties.localNetworkGateway2', 'type': 'VirtualNetworkConnectionGatewayReference'}, - 'connection_type': {'key': 'properties.connectionType', 'type': 'str'}, - 'connection_protocol': {'key': 'properties.connectionProtocol', 'type': 'str'}, - 'routing_weight': {'key': 'properties.routingWeight', 'type': 'int'}, - 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, - 'connection_status': {'key': 'properties.connectionStatus', 'type': 'str'}, - 'tunnel_connection_status': {'key': 'properties.tunnelConnectionStatus', 'type': '[TunnelConnectionHealth]'}, - 'egress_bytes_transferred': {'key': 'properties.egressBytesTransferred', 'type': 'long'}, - 'ingress_bytes_transferred': {'key': 'properties.ingressBytesTransferred', 'type': 'long'}, - 'peer': {'key': 'properties.peer', 'type': 'SubResource'}, - 'enable_bgp': {'key': 'properties.enableBgp', 'type': 'bool'}, - 'use_policy_based_traffic_selectors': {'key': 'properties.usePolicyBasedTrafficSelectors', 'type': 'bool'}, - 'ipsec_policies': {'key': 'properties.ipsecPolicies', 'type': '[IpsecPolicy]'}, - 'traffic_selector_policies': {'key': 'properties.trafficSelectorPolicies', 'type': '[TrafficSelectorPolicy]'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'express_route_gateway_bypass': {'key': 'properties.expressRouteGatewayBypass', 'type': 'bool'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VirtualNetworkGatewayConnectionListEntity, self).__init__(**kwargs) - self.authorization_key = kwargs.get('authorization_key', None) - self.virtual_network_gateway1 = kwargs.get('virtual_network_gateway1', None) - self.virtual_network_gateway2 = kwargs.get('virtual_network_gateway2', None) - self.local_network_gateway2 = kwargs.get('local_network_gateway2', None) - self.connection_type = kwargs.get('connection_type', None) - self.connection_protocol = kwargs.get('connection_protocol', None) - self.routing_weight = kwargs.get('routing_weight', None) - self.shared_key = kwargs.get('shared_key', None) - self.connection_status = None - self.tunnel_connection_status = None - self.egress_bytes_transferred = None - self.ingress_bytes_transferred = None - self.peer = kwargs.get('peer', None) - self.enable_bgp = kwargs.get('enable_bgp', None) - self.use_policy_based_traffic_selectors = kwargs.get('use_policy_based_traffic_selectors', None) - self.ipsec_policies = kwargs.get('ipsec_policies', None) - self.traffic_selector_policies = kwargs.get('traffic_selector_policies', None) - self.resource_guid = kwargs.get('resource_guid', None) - self.provisioning_state = None - self.express_route_gateway_bypass = kwargs.get('express_route_gateway_bypass', None) - self.etag = kwargs.get('etag', None) - - -class VirtualNetworkGatewayIPConfiguration(SubResource): - """IP configuration for virtual network gateway. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param private_ip_allocation_method: The private IP address allocation - method. Possible values include: 'Static', 'Dynamic' - :type private_ip_allocation_method: str or - ~azure.mgmt.network.v2019_07_01.models.IPAllocationMethod - :param subnet: The reference of the subnet resource. - :type subnet: ~azure.mgmt.network.v2019_07_01.models.SubResource - :param public_ip_address: The reference of the public IP resource. - :type public_ip_address: - ~azure.mgmt.network.v2019_07_01.models.SubResource - :ivar provisioning_state: The provisioning state of the virtual network - gateway IP configuration resource. Possible values include: 'Succeeded', - 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, - 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, - 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'SubResource'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VirtualNetworkGatewayIPConfiguration, self).__init__(**kwargs) - self.private_ip_allocation_method = kwargs.get('private_ip_allocation_method', None) - self.subnet = kwargs.get('subnet', None) - self.public_ip_address = kwargs.get('public_ip_address', None) - self.provisioning_state = None - self.name = kwargs.get('name', None) - self.etag = kwargs.get('etag', None) - - -class VirtualNetworkGatewaySku(Model): - """VirtualNetworkGatewaySku details. - - :param name: Gateway SKU name. Possible values include: 'Basic', - 'HighPerformance', 'Standard', 'UltraPerformance', 'VpnGw1', 'VpnGw2', - 'VpnGw3', 'VpnGw4', 'VpnGw5', 'VpnGw1AZ', 'VpnGw2AZ', 'VpnGw3AZ', - 'VpnGw4AZ', 'VpnGw5AZ', 'ErGw1AZ', 'ErGw2AZ', 'ErGw3AZ' - :type name: str or - ~azure.mgmt.network.v2019_07_01.models.VirtualNetworkGatewaySkuName - :param tier: Gateway SKU tier. Possible values include: 'Basic', - 'HighPerformance', 'Standard', 'UltraPerformance', 'VpnGw1', 'VpnGw2', - 'VpnGw3', 'VpnGw4', 'VpnGw5', 'VpnGw1AZ', 'VpnGw2AZ', 'VpnGw3AZ', - 'VpnGw4AZ', 'VpnGw5AZ', 'ErGw1AZ', 'ErGw2AZ', 'ErGw3AZ' - :type tier: str or - ~azure.mgmt.network.v2019_07_01.models.VirtualNetworkGatewaySkuTier - :param capacity: The capacity. - :type capacity: int - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'tier': {'key': 'tier', 'type': 'str'}, - 'capacity': {'key': 'capacity', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(VirtualNetworkGatewaySku, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.tier = kwargs.get('tier', None) - self.capacity = kwargs.get('capacity', None) - - -class VirtualNetworkPeering(SubResource): - """Peerings in a virtual network resource. - - :param id: Resource ID. - :type id: str - :param allow_virtual_network_access: Whether the VMs in the local virtual - network space would be able to access the VMs in remote virtual network - space. - :type allow_virtual_network_access: bool - :param allow_forwarded_traffic: Whether the forwarded traffic from the VMs - in the local virtual network will be allowed/disallowed in remote virtual - network. - :type allow_forwarded_traffic: bool - :param allow_gateway_transit: If gateway links can be used in remote - virtual networking to link to this virtual network. - :type allow_gateway_transit: bool - :param use_remote_gateways: If remote gateways can be used on this virtual - network. If the flag is set to true, and allowGatewayTransit on remote - peering is also true, virtual network will use gateways of remote virtual - network for transit. Only one peering can have this flag set to true. This - flag cannot be set if virtual network already has a gateway. - :type use_remote_gateways: bool - :param remote_virtual_network: The reference of the remote virtual - network. The remote virtual network can be in the same or different region - (preview). See here to register for the preview and learn more - (https://docs.microsoft.com/en-us/azure/virtual-network/virtual-network-create-peering). - :type remote_virtual_network: - ~azure.mgmt.network.v2019_07_01.models.SubResource - :param remote_address_space: The reference of the remote virtual network - address space. - :type remote_address_space: - ~azure.mgmt.network.v2019_07_01.models.AddressSpace - :param peering_state: The status of the virtual network peering. Possible - values include: 'Initiated', 'Connected', 'Disconnected' - :type peering_state: str or - ~azure.mgmt.network.v2019_07_01.models.VirtualNetworkPeeringState - :param provisioning_state: The provisioning state of the virtual network - peering resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'allow_virtual_network_access': {'key': 'properties.allowVirtualNetworkAccess', 'type': 'bool'}, - 'allow_forwarded_traffic': {'key': 'properties.allowForwardedTraffic', 'type': 'bool'}, - 'allow_gateway_transit': {'key': 'properties.allowGatewayTransit', 'type': 'bool'}, - 'use_remote_gateways': {'key': 'properties.useRemoteGateways', 'type': 'bool'}, - 'remote_virtual_network': {'key': 'properties.remoteVirtualNetwork', 'type': 'SubResource'}, - 'remote_address_space': {'key': 'properties.remoteAddressSpace', 'type': 'AddressSpace'}, - 'peering_state': {'key': 'properties.peeringState', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VirtualNetworkPeering, self).__init__(**kwargs) - self.allow_virtual_network_access = kwargs.get('allow_virtual_network_access', None) - self.allow_forwarded_traffic = kwargs.get('allow_forwarded_traffic', None) - self.allow_gateway_transit = kwargs.get('allow_gateway_transit', None) - self.use_remote_gateways = kwargs.get('use_remote_gateways', None) - self.remote_virtual_network = kwargs.get('remote_virtual_network', None) - self.remote_address_space = kwargs.get('remote_address_space', None) - self.peering_state = kwargs.get('peering_state', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.name = kwargs.get('name', None) - self.etag = kwargs.get('etag', None) - - -class VirtualNetworkTap(Resource): - """Virtual Network Tap resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :ivar network_interface_tap_configurations: Specifies the list of resource - IDs for the network interface IP configuration that needs to be tapped. - :vartype network_interface_tap_configurations: - list[~azure.mgmt.network.v2019_07_01.models.NetworkInterfaceTapConfiguration] - :ivar resource_guid: The resource GUID property of the virtual network tap - resource. - :vartype resource_guid: str - :ivar provisioning_state: The provisioning state of the virtual network - tap resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param destination_network_interface_ip_configuration: The reference to - the private IP Address of the collector nic that will receive the tap. - :type destination_network_interface_ip_configuration: - ~azure.mgmt.network.v2019_07_01.models.NetworkInterfaceIPConfiguration - :param destination_load_balancer_front_end_ip_configuration: The reference - to the private IP address on the internal Load Balancer that will receive - the tap. - :type destination_load_balancer_front_end_ip_configuration: - ~azure.mgmt.network.v2019_07_01.models.FrontendIPConfiguration - :param destination_port: The VXLAN destination port that will receive the - tapped traffic. - :type destination_port: int - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'network_interface_tap_configurations': {'readonly': True}, - 'resource_guid': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'network_interface_tap_configurations': {'key': 'properties.networkInterfaceTapConfigurations', 'type': '[NetworkInterfaceTapConfiguration]'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'destination_network_interface_ip_configuration': {'key': 'properties.destinationNetworkInterfaceIPConfiguration', 'type': 'NetworkInterfaceIPConfiguration'}, - 'destination_load_balancer_front_end_ip_configuration': {'key': 'properties.destinationLoadBalancerFrontEndIPConfiguration', 'type': 'FrontendIPConfiguration'}, - 'destination_port': {'key': 'properties.destinationPort', 'type': 'int'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VirtualNetworkTap, self).__init__(**kwargs) - self.network_interface_tap_configurations = None - self.resource_guid = None - self.provisioning_state = None - self.destination_network_interface_ip_configuration = kwargs.get('destination_network_interface_ip_configuration', None) - self.destination_load_balancer_front_end_ip_configuration = kwargs.get('destination_load_balancer_front_end_ip_configuration', None) - self.destination_port = kwargs.get('destination_port', None) - self.etag = kwargs.get('etag', None) - - -class VirtualNetworkUsage(Model): - """Usage details for subnet. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar current_value: Indicates number of IPs used from the Subnet. - :vartype current_value: float - :ivar id: Subnet identifier. - :vartype id: str - :ivar limit: Indicates the size of the subnet. - :vartype limit: float - :ivar name: The name containing common and localized value for usage. - :vartype name: - ~azure.mgmt.network.v2019_07_01.models.VirtualNetworkUsageName - :ivar unit: Usage units. Returns 'Count'. - :vartype unit: str - """ - - _validation = { - 'current_value': {'readonly': True}, - 'id': {'readonly': True}, - 'limit': {'readonly': True}, - 'name': {'readonly': True}, - 'unit': {'readonly': True}, - } - - _attribute_map = { - 'current_value': {'key': 'currentValue', 'type': 'float'}, - 'id': {'key': 'id', 'type': 'str'}, - 'limit': {'key': 'limit', 'type': 'float'}, - 'name': {'key': 'name', 'type': 'VirtualNetworkUsageName'}, - 'unit': {'key': 'unit', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VirtualNetworkUsage, self).__init__(**kwargs) - self.current_value = None - self.id = None - self.limit = None - self.name = None - self.unit = None - - -class VirtualNetworkUsageName(Model): - """Usage strings container. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar localized_value: Localized subnet size and usage string. - :vartype localized_value: str - :ivar value: Subnet size and usage string. - :vartype value: str - """ - - _validation = { - 'localized_value': {'readonly': True}, - 'value': {'readonly': True}, - } - - _attribute_map = { - 'localized_value': {'key': 'localizedValue', 'type': 'str'}, - 'value': {'key': 'value', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VirtualNetworkUsageName, self).__init__(**kwargs) - self.localized_value = None - self.value = None - - -class VirtualRouter(Resource): - """VirtualRouter Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param virtual_router_asn: VirtualRouter ASN. - :type virtual_router_asn: long - :param virtual_router_ips: VirtualRouter IPs - :type virtual_router_ips: list[str] - :param hosted_subnet: The Subnet on which VirtualRouter is hosted. - :type hosted_subnet: ~azure.mgmt.network.v2019_07_01.models.SubResource - :param hosted_gateway: The Gateway on which VirtualRouter is hosted. - :type hosted_gateway: ~azure.mgmt.network.v2019_07_01.models.SubResource - :ivar peerings: List of references to VirtualRouterPeerings - :vartype peerings: - list[~azure.mgmt.network.v2019_07_01.models.SubResource] - :ivar provisioning_state: The provisioning state of the resource. Possible - values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :ivar etag: Gets a unique read-only string that changes whenever the - resource is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'virtual_router_asn': {'maximum': 4294967295, 'minimum': 1}, - 'peerings': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'virtual_router_asn': {'key': 'properties.virtualRouterAsn', 'type': 'long'}, - 'virtual_router_ips': {'key': 'properties.virtualRouterIps', 'type': '[str]'}, - 'hosted_subnet': {'key': 'properties.hostedSubnet', 'type': 'SubResource'}, - 'hosted_gateway': {'key': 'properties.hostedGateway', 'type': 'SubResource'}, - 'peerings': {'key': 'properties.peerings', 'type': '[SubResource]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VirtualRouter, self).__init__(**kwargs) - self.virtual_router_asn = kwargs.get('virtual_router_asn', None) - self.virtual_router_ips = kwargs.get('virtual_router_ips', None) - self.hosted_subnet = kwargs.get('hosted_subnet', None) - self.hosted_gateway = kwargs.get('hosted_gateway', None) - self.peerings = None - self.provisioning_state = None - self.etag = None - - -class VirtualRouterPeering(SubResource): - """Virtual Router Peering resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param peer_asn: Peer ASN. - :type peer_asn: long - :param peer_ip: Peer IP. - :type peer_ip: str - :ivar provisioning_state: The provisioning state of the resource. Possible - values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: Gets name of the peering unique to VirtualRouter. This name - can be used to access the resource. - :type name: str - :ivar etag: Gets a unique read-only string that changes whenever the - resource is updated. - :vartype etag: str - :ivar type: Peering type. - :vartype type: str - """ - - _validation = { - 'peer_asn': {'maximum': 4294967295, 'minimum': 1}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'peer_asn': {'key': 'properties.peerAsn', 'type': 'long'}, - 'peer_ip': {'key': 'properties.peerIp', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VirtualRouterPeering, self).__init__(**kwargs) - self.peer_asn = kwargs.get('peer_asn', None) - self.peer_ip = kwargs.get('peer_ip', None) - self.provisioning_state = None - self.name = kwargs.get('name', None) - self.etag = None - self.type = None - - -class VirtualWAN(Resource): - """VirtualWAN Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param disable_vpn_encryption: Vpn encryption to be disabled or not. - :type disable_vpn_encryption: bool - :ivar virtual_hubs: List of VirtualHubs in the VirtualWAN. - :vartype virtual_hubs: - list[~azure.mgmt.network.v2019_07_01.models.SubResource] - :ivar vpn_sites: List of VpnSites in the VirtualWAN. - :vartype vpn_sites: - list[~azure.mgmt.network.v2019_07_01.models.SubResource] - :param security_provider_name: The Security Provider name. - :type security_provider_name: str - :param allow_branch_to_branch_traffic: True if branch to branch traffic is - allowed. - :type allow_branch_to_branch_traffic: bool - :param allow_vnet_to_vnet_traffic: True if Vnet to Vnet traffic is - allowed. - :type allow_vnet_to_vnet_traffic: bool - :param office365_local_breakout_category: The office local breakout - category. Possible values include: 'Optimize', 'OptimizeAndAllow', 'All', - 'None' - :type office365_local_breakout_category: str or - ~azure.mgmt.network.v2019_07_01.models.OfficeTrafficCategory - :param p2_svpn_server_configurations: List of all - P2SVpnServerConfigurations associated with the virtual wan. - :type p2_svpn_server_configurations: - list[~azure.mgmt.network.v2019_07_01.models.P2SVpnServerConfiguration] - :param provisioning_state: The provisioning state of the virtual WAN - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'virtual_hubs': {'readonly': True}, - 'vpn_sites': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'disable_vpn_encryption': {'key': 'properties.disableVpnEncryption', 'type': 'bool'}, - 'virtual_hubs': {'key': 'properties.virtualHubs', 'type': '[SubResource]'}, - 'vpn_sites': {'key': 'properties.vpnSites', 'type': '[SubResource]'}, - 'security_provider_name': {'key': 'properties.securityProviderName', 'type': 'str'}, - 'allow_branch_to_branch_traffic': {'key': 'properties.allowBranchToBranchTraffic', 'type': 'bool'}, - 'allow_vnet_to_vnet_traffic': {'key': 'properties.allowVnetToVnetTraffic', 'type': 'bool'}, - 'office365_local_breakout_category': {'key': 'properties.office365LocalBreakoutCategory', 'type': 'str'}, - 'p2_svpn_server_configurations': {'key': 'properties.p2SVpnServerConfigurations', 'type': '[P2SVpnServerConfiguration]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VirtualWAN, self).__init__(**kwargs) - self.disable_vpn_encryption = kwargs.get('disable_vpn_encryption', None) - self.virtual_hubs = None - self.vpn_sites = None - self.security_provider_name = kwargs.get('security_provider_name', None) - self.allow_branch_to_branch_traffic = kwargs.get('allow_branch_to_branch_traffic', None) - self.allow_vnet_to_vnet_traffic = kwargs.get('allow_vnet_to_vnet_traffic', None) - self.office365_local_breakout_category = kwargs.get('office365_local_breakout_category', None) - self.p2_svpn_server_configurations = kwargs.get('p2_svpn_server_configurations', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.etag = None - - -class VirtualWanSecurityProvider(Model): - """Collection of SecurityProviders. - - :param name: Name of the security provider. - :type name: str - :param url: Url of the security provider. - :type url: str - :param type: Name of the security provider. Possible values include: - 'External', 'Native' - :type type: str or - ~azure.mgmt.network.v2019_07_01.models.VirtualWanSecurityProviderType - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'url': {'key': 'url', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VirtualWanSecurityProvider, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.url = kwargs.get('url', None) - self.type = kwargs.get('type', None) - - -class VirtualWanSecurityProviders(Model): - """Collection of SecurityProviders. - - :param supported_providers: List of VirtualWAN security providers. - :type supported_providers: - list[~azure.mgmt.network.v2019_07_01.models.VirtualWanSecurityProvider] - """ - - _attribute_map = { - 'supported_providers': {'key': 'supportedProviders', 'type': '[VirtualWanSecurityProvider]'}, - } - - def __init__(self, **kwargs): - super(VirtualWanSecurityProviders, self).__init__(**kwargs) - self.supported_providers = kwargs.get('supported_providers', None) - - -class VpnClientConfiguration(Model): - """VpnClientConfiguration for P2S client. - - :param vpn_client_address_pool: The reference of the address space - resource which represents Address space for P2S VpnClient. - :type vpn_client_address_pool: - ~azure.mgmt.network.v2019_07_01.models.AddressSpace - :param vpn_client_root_certificates: VpnClientRootCertificate for virtual - network gateway. - :type vpn_client_root_certificates: - list[~azure.mgmt.network.v2019_07_01.models.VpnClientRootCertificate] - :param vpn_client_revoked_certificates: VpnClientRevokedCertificate for - Virtual network gateway. - :type vpn_client_revoked_certificates: - list[~azure.mgmt.network.v2019_07_01.models.VpnClientRevokedCertificate] - :param vpn_client_protocols: VpnClientProtocols for Virtual network - gateway. - :type vpn_client_protocols: list[str or - ~azure.mgmt.network.v2019_07_01.models.VpnClientProtocol] - :param vpn_client_ipsec_policies: VpnClientIpsecPolicies for virtual - network gateway P2S client. - :type vpn_client_ipsec_policies: - list[~azure.mgmt.network.v2019_07_01.models.IpsecPolicy] - :param radius_server_address: The radius server address property of the - VirtualNetworkGateway resource for vpn client connection. - :type radius_server_address: str - :param radius_server_secret: The radius secret property of the - VirtualNetworkGateway resource for vpn client connection. - :type radius_server_secret: str - :param aad_tenant: The AADTenant property of the VirtualNetworkGateway - resource for vpn client connection used for AAD authentication. - :type aad_tenant: str - :param aad_audience: The AADAudience property of the VirtualNetworkGateway - resource for vpn client connection used for AAD authentication. - :type aad_audience: str - :param aad_issuer: The AADIssuer property of the VirtualNetworkGateway - resource for vpn client connection used for AAD authentication. - :type aad_issuer: str - """ - - _attribute_map = { - 'vpn_client_address_pool': {'key': 'vpnClientAddressPool', 'type': 'AddressSpace'}, - 'vpn_client_root_certificates': {'key': 'vpnClientRootCertificates', 'type': '[VpnClientRootCertificate]'}, - 'vpn_client_revoked_certificates': {'key': 'vpnClientRevokedCertificates', 'type': '[VpnClientRevokedCertificate]'}, - 'vpn_client_protocols': {'key': 'vpnClientProtocols', 'type': '[str]'}, - 'vpn_client_ipsec_policies': {'key': 'vpnClientIpsecPolicies', 'type': '[IpsecPolicy]'}, - 'radius_server_address': {'key': 'radiusServerAddress', 'type': 'str'}, - 'radius_server_secret': {'key': 'radiusServerSecret', 'type': 'str'}, - 'aad_tenant': {'key': 'aadTenant', 'type': 'str'}, - 'aad_audience': {'key': 'aadAudience', 'type': 'str'}, - 'aad_issuer': {'key': 'aadIssuer', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VpnClientConfiguration, self).__init__(**kwargs) - self.vpn_client_address_pool = kwargs.get('vpn_client_address_pool', None) - self.vpn_client_root_certificates = kwargs.get('vpn_client_root_certificates', None) - self.vpn_client_revoked_certificates = kwargs.get('vpn_client_revoked_certificates', None) - self.vpn_client_protocols = kwargs.get('vpn_client_protocols', None) - self.vpn_client_ipsec_policies = kwargs.get('vpn_client_ipsec_policies', None) - self.radius_server_address = kwargs.get('radius_server_address', None) - self.radius_server_secret = kwargs.get('radius_server_secret', None) - self.aad_tenant = kwargs.get('aad_tenant', None) - self.aad_audience = kwargs.get('aad_audience', None) - self.aad_issuer = kwargs.get('aad_issuer', None) - - -class VpnClientConnectionHealth(Model): - """VpnClientConnectionHealth properties. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar total_ingress_bytes_transferred: Total of the Ingress Bytes - Transferred in this P2S Vpn connection. - :vartype total_ingress_bytes_transferred: long - :ivar total_egress_bytes_transferred: Total of the Egress Bytes - Transferred in this connection. - :vartype total_egress_bytes_transferred: long - :param vpn_client_connections_count: The total of p2s vpn clients - connected at this time to this P2SVpnGateway. - :type vpn_client_connections_count: int - :param allocated_ip_addresses: List of allocated ip addresses to the - connected p2s vpn clients. - :type allocated_ip_addresses: list[str] - """ - - _validation = { - 'total_ingress_bytes_transferred': {'readonly': True}, - 'total_egress_bytes_transferred': {'readonly': True}, - } - - _attribute_map = { - 'total_ingress_bytes_transferred': {'key': 'totalIngressBytesTransferred', 'type': 'long'}, - 'total_egress_bytes_transferred': {'key': 'totalEgressBytesTransferred', 'type': 'long'}, - 'vpn_client_connections_count': {'key': 'vpnClientConnectionsCount', 'type': 'int'}, - 'allocated_ip_addresses': {'key': 'allocatedIpAddresses', 'type': '[str]'}, - } - - def __init__(self, **kwargs): - super(VpnClientConnectionHealth, self).__init__(**kwargs) - self.total_ingress_bytes_transferred = None - self.total_egress_bytes_transferred = None - self.vpn_client_connections_count = kwargs.get('vpn_client_connections_count', None) - self.allocated_ip_addresses = kwargs.get('allocated_ip_addresses', None) - - -class VpnClientConnectionHealthDetail(Model): - """VPN client connection health detail. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar vpn_connection_id: The vpn client Id. - :vartype vpn_connection_id: str - :ivar vpn_connection_duration: The duration time of a connected vpn - client. - :vartype vpn_connection_duration: long - :ivar vpn_connection_time: The start time of a connected vpn client. - :vartype vpn_connection_time: str - :ivar public_ip_address: The public Ip of a connected vpn client. - :vartype public_ip_address: str - :ivar private_ip_address: The assigned private Ip of a connected vpn - client. - :vartype private_ip_address: str - :ivar vpn_user_name: The user name of a connected vpn client. - :vartype vpn_user_name: str - :ivar max_bandwidth: The max band width. - :vartype max_bandwidth: long - :ivar egress_packets_transferred: The egress packets per second. - :vartype egress_packets_transferred: long - :ivar egress_bytes_transferred: The egress bytes per second. - :vartype egress_bytes_transferred: long - :ivar ingress_packets_transferred: The ingress packets per second. - :vartype ingress_packets_transferred: long - :ivar ingress_bytes_transferred: The ingress bytes per second. - :vartype ingress_bytes_transferred: long - :ivar max_packets_per_second: The max packets transferred per second. - :vartype max_packets_per_second: long - """ - - _validation = { - 'vpn_connection_id': {'readonly': True}, - 'vpn_connection_duration': {'readonly': True}, - 'vpn_connection_time': {'readonly': True}, - 'public_ip_address': {'readonly': True}, - 'private_ip_address': {'readonly': True}, - 'vpn_user_name': {'readonly': True}, - 'max_bandwidth': {'readonly': True}, - 'egress_packets_transferred': {'readonly': True}, - 'egress_bytes_transferred': {'readonly': True}, - 'ingress_packets_transferred': {'readonly': True}, - 'ingress_bytes_transferred': {'readonly': True}, - 'max_packets_per_second': {'readonly': True}, - } - - _attribute_map = { - 'vpn_connection_id': {'key': 'vpnConnectionId', 'type': 'str'}, - 'vpn_connection_duration': {'key': 'vpnConnectionDuration', 'type': 'long'}, - 'vpn_connection_time': {'key': 'vpnConnectionTime', 'type': 'str'}, - 'public_ip_address': {'key': 'publicIpAddress', 'type': 'str'}, - 'private_ip_address': {'key': 'privateIpAddress', 'type': 'str'}, - 'vpn_user_name': {'key': 'vpnUserName', 'type': 'str'}, - 'max_bandwidth': {'key': 'maxBandwidth', 'type': 'long'}, - 'egress_packets_transferred': {'key': 'egressPacketsTransferred', 'type': 'long'}, - 'egress_bytes_transferred': {'key': 'egressBytesTransferred', 'type': 'long'}, - 'ingress_packets_transferred': {'key': 'ingressPacketsTransferred', 'type': 'long'}, - 'ingress_bytes_transferred': {'key': 'ingressBytesTransferred', 'type': 'long'}, - 'max_packets_per_second': {'key': 'maxPacketsPerSecond', 'type': 'long'}, - } - - def __init__(self, **kwargs): - super(VpnClientConnectionHealthDetail, self).__init__(**kwargs) - self.vpn_connection_id = None - self.vpn_connection_duration = None - self.vpn_connection_time = None - self.public_ip_address = None - self.private_ip_address = None - self.vpn_user_name = None - self.max_bandwidth = None - self.egress_packets_transferred = None - self.egress_bytes_transferred = None - self.ingress_packets_transferred = None - self.ingress_bytes_transferred = None - self.max_packets_per_second = None - - -class VpnClientConnectionHealthDetailListResult(Model): - """List of virtual network gateway vpn client connection health. - - :param value: List of vpn client connection health. - :type value: - list[~azure.mgmt.network.v2019_07_01.models.VpnClientConnectionHealthDetail] - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[VpnClientConnectionHealthDetail]'}, - } - - def __init__(self, **kwargs): - super(VpnClientConnectionHealthDetailListResult, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - - -class VpnClientIPsecParameters(Model): - """An IPSec parameters for a virtual network gateway P2S connection. - - All required parameters must be populated in order to send to Azure. - - :param sa_life_time_seconds: Required. The IPSec Security Association - (also called Quick Mode or Phase 2 SA) lifetime in seconds for P2S client. - :type sa_life_time_seconds: int - :param sa_data_size_kilobytes: Required. The IPSec Security Association - (also called Quick Mode or Phase 2 SA) payload size in KB for P2S client.. - :type sa_data_size_kilobytes: int - :param ipsec_encryption: Required. The IPSec encryption algorithm (IKE - phase 1). Possible values include: 'None', 'DES', 'DES3', 'AES128', - 'AES192', 'AES256', 'GCMAES128', 'GCMAES192', 'GCMAES256' - :type ipsec_encryption: str or - ~azure.mgmt.network.v2019_07_01.models.IpsecEncryption - :param ipsec_integrity: Required. The IPSec integrity algorithm (IKE phase - 1). Possible values include: 'MD5', 'SHA1', 'SHA256', 'GCMAES128', - 'GCMAES192', 'GCMAES256' - :type ipsec_integrity: str or - ~azure.mgmt.network.v2019_07_01.models.IpsecIntegrity - :param ike_encryption: Required. The IKE encryption algorithm (IKE phase - 2). Possible values include: 'DES', 'DES3', 'AES128', 'AES192', 'AES256', - 'GCMAES256', 'GCMAES128' - :type ike_encryption: str or - ~azure.mgmt.network.v2019_07_01.models.IkeEncryption - :param ike_integrity: Required. The IKE integrity algorithm (IKE phase 2). - Possible values include: 'MD5', 'SHA1', 'SHA256', 'SHA384', 'GCMAES256', - 'GCMAES128' - :type ike_integrity: str or - ~azure.mgmt.network.v2019_07_01.models.IkeIntegrity - :param dh_group: Required. The DH Group used in IKE Phase 1 for initial - SA. Possible values include: 'None', 'DHGroup1', 'DHGroup2', 'DHGroup14', - 'DHGroup2048', 'ECP256', 'ECP384', 'DHGroup24' - :type dh_group: str or ~azure.mgmt.network.v2019_07_01.models.DhGroup - :param pfs_group: Required. The Pfs Group used in IKE Phase 2 for new - child SA. Possible values include: 'None', 'PFS1', 'PFS2', 'PFS2048', - 'ECP256', 'ECP384', 'PFS24', 'PFS14', 'PFSMM' - :type pfs_group: str or ~azure.mgmt.network.v2019_07_01.models.PfsGroup - """ - - _validation = { - 'sa_life_time_seconds': {'required': True}, - 'sa_data_size_kilobytes': {'required': True}, - 'ipsec_encryption': {'required': True}, - 'ipsec_integrity': {'required': True}, - 'ike_encryption': {'required': True}, - 'ike_integrity': {'required': True}, - 'dh_group': {'required': True}, - 'pfs_group': {'required': True}, - } - - _attribute_map = { - 'sa_life_time_seconds': {'key': 'saLifeTimeSeconds', 'type': 'int'}, - 'sa_data_size_kilobytes': {'key': 'saDataSizeKilobytes', 'type': 'int'}, - 'ipsec_encryption': {'key': 'ipsecEncryption', 'type': 'str'}, - 'ipsec_integrity': {'key': 'ipsecIntegrity', 'type': 'str'}, - 'ike_encryption': {'key': 'ikeEncryption', 'type': 'str'}, - 'ike_integrity': {'key': 'ikeIntegrity', 'type': 'str'}, - 'dh_group': {'key': 'dhGroup', 'type': 'str'}, - 'pfs_group': {'key': 'pfsGroup', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VpnClientIPsecParameters, self).__init__(**kwargs) - self.sa_life_time_seconds = kwargs.get('sa_life_time_seconds', None) - self.sa_data_size_kilobytes = kwargs.get('sa_data_size_kilobytes', None) - self.ipsec_encryption = kwargs.get('ipsec_encryption', None) - self.ipsec_integrity = kwargs.get('ipsec_integrity', None) - self.ike_encryption = kwargs.get('ike_encryption', None) - self.ike_integrity = kwargs.get('ike_integrity', None) - self.dh_group = kwargs.get('dh_group', None) - self.pfs_group = kwargs.get('pfs_group', None) - - -class VpnClientParameters(Model): - """Vpn Client Parameters for package generation. - - :param processor_architecture: VPN client Processor Architecture. Possible - values include: 'Amd64', 'X86' - :type processor_architecture: str or - ~azure.mgmt.network.v2019_07_01.models.ProcessorArchitecture - :param authentication_method: VPN client authentication method. Possible - values include: 'EAPTLS', 'EAPMSCHAPv2' - :type authentication_method: str or - ~azure.mgmt.network.v2019_07_01.models.AuthenticationMethod - :param radius_server_auth_certificate: The public certificate data for the - radius server authentication certificate as a Base-64 encoded string. - Required only if external radius authentication has been configured with - EAPTLS authentication. - :type radius_server_auth_certificate: str - :param client_root_certificates: A list of client root certificates public - certificate data encoded as Base-64 strings. Optional parameter for - external radius based authentication with EAPTLS. - :type client_root_certificates: list[str] - """ - - _attribute_map = { - 'processor_architecture': {'key': 'processorArchitecture', 'type': 'str'}, - 'authentication_method': {'key': 'authenticationMethod', 'type': 'str'}, - 'radius_server_auth_certificate': {'key': 'radiusServerAuthCertificate', 'type': 'str'}, - 'client_root_certificates': {'key': 'clientRootCertificates', 'type': '[str]'}, - } - - def __init__(self, **kwargs): - super(VpnClientParameters, self).__init__(**kwargs) - self.processor_architecture = kwargs.get('processor_architecture', None) - self.authentication_method = kwargs.get('authentication_method', None) - self.radius_server_auth_certificate = kwargs.get('radius_server_auth_certificate', None) - self.client_root_certificates = kwargs.get('client_root_certificates', None) - - -class VpnClientRevokedCertificate(SubResource): - """VPN client revoked certificate of virtual network gateway. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param thumbprint: The revoked VPN client certificate thumbprint. - :type thumbprint: str - :ivar provisioning_state: The provisioning state of the VPN client revoked - certificate resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'thumbprint': {'key': 'properties.thumbprint', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VpnClientRevokedCertificate, self).__init__(**kwargs) - self.thumbprint = kwargs.get('thumbprint', None) - self.provisioning_state = None - self.name = kwargs.get('name', None) - self.etag = kwargs.get('etag', None) - - -class VpnClientRootCertificate(SubResource): - """VPN client root certificate of virtual network gateway. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :param public_cert_data: Required. The certificate public data. - :type public_cert_data: str - :ivar provisioning_state: The provisioning state of the VPN client root - certificate resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'public_cert_data': {'required': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'public_cert_data': {'key': 'properties.publicCertData', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VpnClientRootCertificate, self).__init__(**kwargs) - self.public_cert_data = kwargs.get('public_cert_data', None) - self.provisioning_state = None - self.name = kwargs.get('name', None) - self.etag = kwargs.get('etag', None) - - -class VpnConnection(SubResource): - """VpnConnection Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param remote_vpn_site: Id of the connected vpn site. - :type remote_vpn_site: ~azure.mgmt.network.v2019_07_01.models.SubResource - :param routing_weight: Routing weight for vpn connection. - :type routing_weight: int - :param connection_status: The connection status. Possible values include: - 'Unknown', 'Connecting', 'Connected', 'NotConnected' - :type connection_status: str or - ~azure.mgmt.network.v2019_07_01.models.VpnConnectionStatus - :param vpn_connection_protocol_type: Connection protocol used for this - connection. Possible values include: 'IKEv2', 'IKEv1' - :type vpn_connection_protocol_type: str or - ~azure.mgmt.network.v2019_07_01.models.VirtualNetworkGatewayConnectionProtocol - :ivar ingress_bytes_transferred: Ingress bytes transferred. - :vartype ingress_bytes_transferred: long - :ivar egress_bytes_transferred: Egress bytes transferred. - :vartype egress_bytes_transferred: long - :param connection_bandwidth: Expected bandwidth in MBPS. - :type connection_bandwidth: int - :param shared_key: SharedKey for the vpn connection. - :type shared_key: str - :param enable_bgp: EnableBgp flag. - :type enable_bgp: bool - :param use_policy_based_traffic_selectors: Enable policy-based traffic - selectors. - :type use_policy_based_traffic_selectors: bool - :param ipsec_policies: The IPSec Policies to be considered by this - connection. - :type ipsec_policies: - list[~azure.mgmt.network.v2019_07_01.models.IpsecPolicy] - :param enable_rate_limiting: EnableBgp flag. - :type enable_rate_limiting: bool - :param enable_internet_security: Enable internet security. - :type enable_internet_security: bool - :param use_local_azure_ip_address: Use local azure ip to initiate - connection. - :type use_local_azure_ip_address: bool - :param provisioning_state: The provisioning state of the VPN connection - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param vpn_link_connections: List of all vpn site link connections to the - gateway. - :type vpn_link_connections: - list[~azure.mgmt.network.v2019_07_01.models.VpnSiteLinkConnection] - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'ingress_bytes_transferred': {'readonly': True}, - 'egress_bytes_transferred': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'remote_vpn_site': {'key': 'properties.remoteVpnSite', 'type': 'SubResource'}, - 'routing_weight': {'key': 'properties.routingWeight', 'type': 'int'}, - 'connection_status': {'key': 'properties.connectionStatus', 'type': 'str'}, - 'vpn_connection_protocol_type': {'key': 'properties.vpnConnectionProtocolType', 'type': 'str'}, - 'ingress_bytes_transferred': {'key': 'properties.ingressBytesTransferred', 'type': 'long'}, - 'egress_bytes_transferred': {'key': 'properties.egressBytesTransferred', 'type': 'long'}, - 'connection_bandwidth': {'key': 'properties.connectionBandwidth', 'type': 'int'}, - 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, - 'enable_bgp': {'key': 'properties.enableBgp', 'type': 'bool'}, - 'use_policy_based_traffic_selectors': {'key': 'properties.usePolicyBasedTrafficSelectors', 'type': 'bool'}, - 'ipsec_policies': {'key': 'properties.ipsecPolicies', 'type': '[IpsecPolicy]'}, - 'enable_rate_limiting': {'key': 'properties.enableRateLimiting', 'type': 'bool'}, - 'enable_internet_security': {'key': 'properties.enableInternetSecurity', 'type': 'bool'}, - 'use_local_azure_ip_address': {'key': 'properties.useLocalAzureIpAddress', 'type': 'bool'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'vpn_link_connections': {'key': 'properties.vpnLinkConnections', 'type': '[VpnSiteLinkConnection]'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VpnConnection, self).__init__(**kwargs) - self.remote_vpn_site = kwargs.get('remote_vpn_site', None) - self.routing_weight = kwargs.get('routing_weight', None) - self.connection_status = kwargs.get('connection_status', None) - self.vpn_connection_protocol_type = kwargs.get('vpn_connection_protocol_type', None) - self.ingress_bytes_transferred = None - self.egress_bytes_transferred = None - self.connection_bandwidth = kwargs.get('connection_bandwidth', None) - self.shared_key = kwargs.get('shared_key', None) - self.enable_bgp = kwargs.get('enable_bgp', None) - self.use_policy_based_traffic_selectors = kwargs.get('use_policy_based_traffic_selectors', None) - self.ipsec_policies = kwargs.get('ipsec_policies', None) - self.enable_rate_limiting = kwargs.get('enable_rate_limiting', None) - self.enable_internet_security = kwargs.get('enable_internet_security', None) - self.use_local_azure_ip_address = kwargs.get('use_local_azure_ip_address', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.vpn_link_connections = kwargs.get('vpn_link_connections', None) - self.name = kwargs.get('name', None) - self.etag = None - - -class VpnDeviceScriptParameters(Model): - """Vpn device configuration script generation parameters. - - :param vendor: The vendor for the vpn device. - :type vendor: str - :param device_family: The device family for the vpn device. - :type device_family: str - :param firmware_version: The firmware version for the vpn device. - :type firmware_version: str - """ - - _attribute_map = { - 'vendor': {'key': 'vendor', 'type': 'str'}, - 'device_family': {'key': 'deviceFamily', 'type': 'str'}, - 'firmware_version': {'key': 'firmwareVersion', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VpnDeviceScriptParameters, self).__init__(**kwargs) - self.vendor = kwargs.get('vendor', None) - self.device_family = kwargs.get('device_family', None) - self.firmware_version = kwargs.get('firmware_version', None) - - -class VpnGateway(Resource): - """VpnGateway Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param virtual_hub: The VirtualHub to which the gateway belongs. - :type virtual_hub: ~azure.mgmt.network.v2019_07_01.models.SubResource - :param connections: List of all vpn connections to the gateway. - :type connections: - list[~azure.mgmt.network.v2019_07_01.models.VpnConnection] - :param bgp_settings: Local network gateway's BGP speaker settings. - :type bgp_settings: ~azure.mgmt.network.v2019_07_01.models.BgpSettings - :param provisioning_state: The provisioning state of the VPN gateway - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param vpn_gateway_scale_unit: The scale unit for this vpn gateway. - :type vpn_gateway_scale_unit: int - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'virtual_hub': {'key': 'properties.virtualHub', 'type': 'SubResource'}, - 'connections': {'key': 'properties.connections', 'type': '[VpnConnection]'}, - 'bgp_settings': {'key': 'properties.bgpSettings', 'type': 'BgpSettings'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'vpn_gateway_scale_unit': {'key': 'properties.vpnGatewayScaleUnit', 'type': 'int'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VpnGateway, self).__init__(**kwargs) - self.virtual_hub = kwargs.get('virtual_hub', None) - self.connections = kwargs.get('connections', None) - self.bgp_settings = kwargs.get('bgp_settings', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.vpn_gateway_scale_unit = kwargs.get('vpn_gateway_scale_unit', None) - self.etag = None - - -class VpnLinkBgpSettings(Model): - """BGP settings details for a link. - - :param asn: The BGP speaker's ASN. - :type asn: long - :param bgp_peering_address: The BGP peering address and BGP identifier of - this BGP speaker. - :type bgp_peering_address: str - """ - - _attribute_map = { - 'asn': {'key': 'asn', 'type': 'long'}, - 'bgp_peering_address': {'key': 'bgpPeeringAddress', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VpnLinkBgpSettings, self).__init__(**kwargs) - self.asn = kwargs.get('asn', None) - self.bgp_peering_address = kwargs.get('bgp_peering_address', None) - - -class VpnLinkProviderProperties(Model): - """List of properties of a link provider. - - :param link_provider_name: Name of the link provider. - :type link_provider_name: str - :param link_speed_in_mbps: Link speed. - :type link_speed_in_mbps: int - """ - - _attribute_map = { - 'link_provider_name': {'key': 'linkProviderName', 'type': 'str'}, - 'link_speed_in_mbps': {'key': 'linkSpeedInMbps', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(VpnLinkProviderProperties, self).__init__(**kwargs) - self.link_provider_name = kwargs.get('link_provider_name', None) - self.link_speed_in_mbps = kwargs.get('link_speed_in_mbps', None) - - -class VpnPacketCaptureStartParameters(Model): - """Start packet capture parameters on virtual network gateway. - - :param filter_data: Start Packet capture parameters. - :type filter_data: str - """ - - _attribute_map = { - 'filter_data': {'key': 'filterData', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VpnPacketCaptureStartParameters, self).__init__(**kwargs) - self.filter_data = kwargs.get('filter_data', None) - - -class VpnPacketCaptureStopParameters(Model): - """Stop packet capture parameters. - - :param sas_url: SAS url for packet capture on virtual network gateway. - :type sas_url: str - """ - - _attribute_map = { - 'sas_url': {'key': 'sasUrl', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VpnPacketCaptureStopParameters, self).__init__(**kwargs) - self.sas_url = kwargs.get('sas_url', None) - - -class VpnProfileResponse(Model): - """Vpn Profile Response for package generation. - - :param profile_url: URL to the VPN profile. - :type profile_url: str - """ - - _attribute_map = { - 'profile_url': {'key': 'profileUrl', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VpnProfileResponse, self).__init__(**kwargs) - self.profile_url = kwargs.get('profile_url', None) - - -class VpnSite(Resource): - """VpnSite Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param virtual_wan: The VirtualWAN to which the vpnSite belongs. - :type virtual_wan: ~azure.mgmt.network.v2019_07_01.models.SubResource - :param device_properties: The device properties. - :type device_properties: - ~azure.mgmt.network.v2019_07_01.models.DeviceProperties - :param ip_address: The ip-address for the vpn-site. - :type ip_address: str - :param site_key: The key for vpn-site that can be used for connections. - :type site_key: str - :param address_space: The AddressSpace that contains an array of IP - address ranges. - :type address_space: ~azure.mgmt.network.v2019_07_01.models.AddressSpace - :param bgp_properties: The set of bgp properties. - :type bgp_properties: ~azure.mgmt.network.v2019_07_01.models.BgpSettings - :param provisioning_state: The provisioning state of the VPN site - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param is_security_site: IsSecuritySite flag. - :type is_security_site: bool - :param vpn_site_links: List of all vpn site links. - :type vpn_site_links: - list[~azure.mgmt.network.v2019_07_01.models.VpnSiteLink] - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'virtual_wan': {'key': 'properties.virtualWan', 'type': 'SubResource'}, - 'device_properties': {'key': 'properties.deviceProperties', 'type': 'DeviceProperties'}, - 'ip_address': {'key': 'properties.ipAddress', 'type': 'str'}, - 'site_key': {'key': 'properties.siteKey', 'type': 'str'}, - 'address_space': {'key': 'properties.addressSpace', 'type': 'AddressSpace'}, - 'bgp_properties': {'key': 'properties.bgpProperties', 'type': 'BgpSettings'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'is_security_site': {'key': 'properties.isSecuritySite', 'type': 'bool'}, - 'vpn_site_links': {'key': 'properties.vpnSiteLinks', 'type': '[VpnSiteLink]'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VpnSite, self).__init__(**kwargs) - self.virtual_wan = kwargs.get('virtual_wan', None) - self.device_properties = kwargs.get('device_properties', None) - self.ip_address = kwargs.get('ip_address', None) - self.site_key = kwargs.get('site_key', None) - self.address_space = kwargs.get('address_space', None) - self.bgp_properties = kwargs.get('bgp_properties', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.is_security_site = kwargs.get('is_security_site', None) - self.vpn_site_links = kwargs.get('vpn_site_links', None) - self.etag = None - - -class VpnSiteId(Model): - """VpnSite Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar vpn_site: The resource-uri of the vpn-site for which config is to be - fetched. - :vartype vpn_site: str - """ - - _validation = { - 'vpn_site': {'readonly': True}, - } - - _attribute_map = { - 'vpn_site': {'key': 'vpnSite', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VpnSiteId, self).__init__(**kwargs) - self.vpn_site = None - - -class VpnSiteLink(SubResource): - """VpnSiteLink Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param link_properties: The link provider properties. - :type link_properties: - ~azure.mgmt.network.v2019_07_01.models.VpnLinkProviderProperties - :param ip_address: The ip-address for the vpn-site-link. - :type ip_address: str - :param bgp_properties: The set of bgp properties. - :type bgp_properties: - ~azure.mgmt.network.v2019_07_01.models.VpnLinkBgpSettings - :param provisioning_state: The provisioning state of the VPN site link - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar type: Resource type. - :vartype type: str - """ - - _validation = { - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'link_properties': {'key': 'properties.linkProperties', 'type': 'VpnLinkProviderProperties'}, - 'ip_address': {'key': 'properties.ipAddress', 'type': 'str'}, - 'bgp_properties': {'key': 'properties.bgpProperties', 'type': 'VpnLinkBgpSettings'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VpnSiteLink, self).__init__(**kwargs) - self.link_properties = kwargs.get('link_properties', None) - self.ip_address = kwargs.get('ip_address', None) - self.bgp_properties = kwargs.get('bgp_properties', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.etag = None - self.name = kwargs.get('name', None) - self.type = None - - -class VpnSiteLinkConnection(SubResource): - """VpnSiteLinkConnection Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param vpn_site_link: Id of the connected vpn site link. - :type vpn_site_link: ~azure.mgmt.network.v2019_07_01.models.SubResource - :param routing_weight: Routing weight for vpn connection. - :type routing_weight: int - :param connection_status: The connection status. Possible values include: - 'Unknown', 'Connecting', 'Connected', 'NotConnected' - :type connection_status: str or - ~azure.mgmt.network.v2019_07_01.models.VpnConnectionStatus - :param vpn_connection_protocol_type: Connection protocol used for this - connection. Possible values include: 'IKEv2', 'IKEv1' - :type vpn_connection_protocol_type: str or - ~azure.mgmt.network.v2019_07_01.models.VirtualNetworkGatewayConnectionProtocol - :ivar ingress_bytes_transferred: Ingress bytes transferred. - :vartype ingress_bytes_transferred: long - :ivar egress_bytes_transferred: Egress bytes transferred. - :vartype egress_bytes_transferred: long - :param connection_bandwidth: Expected bandwidth in MBPS. - :type connection_bandwidth: int - :param shared_key: SharedKey for the vpn connection. - :type shared_key: str - :param enable_bgp: EnableBgp flag. - :type enable_bgp: bool - :param use_policy_based_traffic_selectors: Enable policy-based traffic - selectors. - :type use_policy_based_traffic_selectors: bool - :param ipsec_policies: The IPSec Policies to be considered by this - connection. - :type ipsec_policies: - list[~azure.mgmt.network.v2019_07_01.models.IpsecPolicy] - :param enable_rate_limiting: EnableBgp flag. - :type enable_rate_limiting: bool - :param use_local_azure_ip_address: Use local azure ip to initiate - connection. - :type use_local_azure_ip_address: bool - :param provisioning_state: The provisioning state of the VPN site link - connection resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :ivar type: Resource type. - :vartype type: str - """ - - _validation = { - 'ingress_bytes_transferred': {'readonly': True}, - 'egress_bytes_transferred': {'readonly': True}, - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'vpn_site_link': {'key': 'properties.vpnSiteLink', 'type': 'SubResource'}, - 'routing_weight': {'key': 'properties.routingWeight', 'type': 'int'}, - 'connection_status': {'key': 'properties.connectionStatus', 'type': 'str'}, - 'vpn_connection_protocol_type': {'key': 'properties.vpnConnectionProtocolType', 'type': 'str'}, - 'ingress_bytes_transferred': {'key': 'properties.ingressBytesTransferred', 'type': 'long'}, - 'egress_bytes_transferred': {'key': 'properties.egressBytesTransferred', 'type': 'long'}, - 'connection_bandwidth': {'key': 'properties.connectionBandwidth', 'type': 'int'}, - 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, - 'enable_bgp': {'key': 'properties.enableBgp', 'type': 'bool'}, - 'use_policy_based_traffic_selectors': {'key': 'properties.usePolicyBasedTrafficSelectors', 'type': 'bool'}, - 'ipsec_policies': {'key': 'properties.ipsecPolicies', 'type': '[IpsecPolicy]'}, - 'enable_rate_limiting': {'key': 'properties.enableRateLimiting', 'type': 'bool'}, - 'use_local_azure_ip_address': {'key': 'properties.useLocalAzureIpAddress', 'type': 'bool'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VpnSiteLinkConnection, self).__init__(**kwargs) - self.vpn_site_link = kwargs.get('vpn_site_link', None) - self.routing_weight = kwargs.get('routing_weight', None) - self.connection_status = kwargs.get('connection_status', None) - self.vpn_connection_protocol_type = kwargs.get('vpn_connection_protocol_type', None) - self.ingress_bytes_transferred = None - self.egress_bytes_transferred = None - self.connection_bandwidth = kwargs.get('connection_bandwidth', None) - self.shared_key = kwargs.get('shared_key', None) - self.enable_bgp = kwargs.get('enable_bgp', None) - self.use_policy_based_traffic_selectors = kwargs.get('use_policy_based_traffic_selectors', None) - self.ipsec_policies = kwargs.get('ipsec_policies', None) - self.enable_rate_limiting = kwargs.get('enable_rate_limiting', None) - self.use_local_azure_ip_address = kwargs.get('use_local_azure_ip_address', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.name = kwargs.get('name', None) - self.etag = None - self.type = None - - -class WebApplicationFirewallCustomRule(Model): - """Defines contents of a web application rule. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :param name: The name of the resource that is unique within a policy. This - name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :param priority: Required. Describes priority of the rule. Rules with a - lower value will be evaluated before rules with a higher value. - :type priority: int - :param rule_type: Required. Describes type of rule. Possible values - include: 'MatchRule', 'Invalid' - :type rule_type: str or - ~azure.mgmt.network.v2019_07_01.models.WebApplicationFirewallRuleType - :param match_conditions: Required. List of match conditions. - :type match_conditions: - list[~azure.mgmt.network.v2019_07_01.models.MatchCondition] - :param action: Required. Type of Actions. Possible values include: - 'Allow', 'Block', 'Log' - :type action: str or - ~azure.mgmt.network.v2019_07_01.models.WebApplicationFirewallAction - """ - - _validation = { - 'name': {'max_length': 128}, - 'etag': {'readonly': True}, - 'priority': {'required': True}, - 'rule_type': {'required': True}, - 'match_conditions': {'required': True}, - 'action': {'required': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'priority': {'key': 'priority', 'type': 'int'}, - 'rule_type': {'key': 'ruleType', 'type': 'str'}, - 'match_conditions': {'key': 'matchConditions', 'type': '[MatchCondition]'}, - 'action': {'key': 'action', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(WebApplicationFirewallCustomRule, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.etag = None - self.priority = kwargs.get('priority', None) - self.rule_type = kwargs.get('rule_type', None) - self.match_conditions = kwargs.get('match_conditions', None) - self.action = kwargs.get('action', None) - - -class WebApplicationFirewallPolicy(Resource): - """Defines web application firewall policy. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param policy_settings: Describes policySettings for policy. - :type policy_settings: - ~azure.mgmt.network.v2019_07_01.models.PolicySettings - :param custom_rules: Describes custom rules inside the policy. - :type custom_rules: - list[~azure.mgmt.network.v2019_07_01.models.WebApplicationFirewallCustomRule] - :ivar application_gateways: A collection of references to application - gateways. - :vartype application_gateways: - list[~azure.mgmt.network.v2019_07_01.models.ApplicationGateway] - :ivar provisioning_state: The provisioning state of the web application - firewall policy resource. Possible values include: 'Succeeded', - 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :ivar resource_state: Resource status of the policy. Resource status of - the policy. Possible values include: 'Creating', 'Enabling', 'Enabled', - 'Disabling', 'Disabled', 'Deleting' - :vartype resource_state: str or - ~azure.mgmt.network.v2019_07_01.models.WebApplicationFirewallPolicyResourceState - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'application_gateways': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'resource_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'policy_settings': {'key': 'properties.policySettings', 'type': 'PolicySettings'}, - 'custom_rules': {'key': 'properties.customRules', 'type': '[WebApplicationFirewallCustomRule]'}, - 'application_gateways': {'key': 'properties.applicationGateways', 'type': '[ApplicationGateway]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'resource_state': {'key': 'properties.resourceState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(WebApplicationFirewallPolicy, self).__init__(**kwargs) - self.policy_settings = kwargs.get('policy_settings', None) - self.custom_rules = kwargs.get('custom_rules', None) - self.application_gateways = None - self.provisioning_state = None - self.resource_state = None - self.etag = kwargs.get('etag', None) diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/models/_models_py3.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/models/_models_py3.py deleted file mode 100644 index 1870d94ee73..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/models/_models_py3.py +++ /dev/null @@ -1,15429 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model -from msrest.exceptions import HttpOperationError - - -class AddressSpace(Model): - """AddressSpace contains an array of IP address ranges that can be used by - subnets of the virtual network. - - :param address_prefixes: A list of address blocks reserved for this - virtual network in CIDR notation. - :type address_prefixes: list[str] - """ - - _attribute_map = { - 'address_prefixes': {'key': 'addressPrefixes', 'type': '[str]'}, - } - - def __init__(self, *, address_prefixes=None, **kwargs) -> None: - super(AddressSpace, self).__init__(**kwargs) - self.address_prefixes = address_prefixes - - -class Resource(Model): - """Common resource representation. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, **kwargs) -> None: - super(Resource, self).__init__(**kwargs) - self.id = id - self.name = None - self.type = None - self.location = location - self.tags = tags - - -class ApplicationGateway(Resource): - """Application gateway resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param sku: SKU of the application gateway resource. - :type sku: ~azure.mgmt.network.v2019_07_01.models.ApplicationGatewaySku - :param ssl_policy: SSL policy of the application gateway resource. - :type ssl_policy: - ~azure.mgmt.network.v2019_07_01.models.ApplicationGatewaySslPolicy - :ivar operational_state: Operational state of the application gateway - resource. Possible values include: 'Stopped', 'Starting', 'Running', - 'Stopping' - :vartype operational_state: str or - ~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayOperationalState - :param gateway_ip_configurations: Subnets of the application gateway - resource. For default limits, see [Application Gateway - limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). - :type gateway_ip_configurations: - list[~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayIPConfiguration] - :param authentication_certificates: Authentication certificates of the - application gateway resource. For default limits, see [Application Gateway - limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). - :type authentication_certificates: - list[~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayAuthenticationCertificate] - :param trusted_root_certificates: Trusted Root certificates of the - application gateway resource. For default limits, see [Application Gateway - limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). - :type trusted_root_certificates: - list[~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayTrustedRootCertificate] - :param ssl_certificates: SSL certificates of the application gateway - resource. For default limits, see [Application Gateway - limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). - :type ssl_certificates: - list[~azure.mgmt.network.v2019_07_01.models.ApplicationGatewaySslCertificate] - :param frontend_ip_configurations: Frontend IP addresses of the - application gateway resource. For default limits, see [Application Gateway - limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). - :type frontend_ip_configurations: - list[~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayFrontendIPConfiguration] - :param frontend_ports: Frontend ports of the application gateway resource. - For default limits, see [Application Gateway - limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). - :type frontend_ports: - list[~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayFrontendPort] - :param probes: Probes of the application gateway resource. - :type probes: - list[~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayProbe] - :param backend_address_pools: Backend address pool of the application - gateway resource. For default limits, see [Application Gateway - limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). - :type backend_address_pools: - list[~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayBackendAddressPool] - :param backend_http_settings_collection: Backend http settings of the - application gateway resource. For default limits, see [Application Gateway - limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). - :type backend_http_settings_collection: - list[~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayBackendHttpSettings] - :param http_listeners: Http listeners of the application gateway resource. - For default limits, see [Application Gateway - limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). - :type http_listeners: - list[~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayHttpListener] - :param url_path_maps: URL path map of the application gateway resource. - For default limits, see [Application Gateway - limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). - :type url_path_maps: - list[~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayUrlPathMap] - :param request_routing_rules: Request routing rules of the application - gateway resource. - :type request_routing_rules: - list[~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayRequestRoutingRule] - :param rewrite_rule_sets: Rewrite rules for the application gateway - resource. - :type rewrite_rule_sets: - list[~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayRewriteRuleSet] - :param redirect_configurations: Redirect configurations of the application - gateway resource. For default limits, see [Application Gateway - limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). - :type redirect_configurations: - list[~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayRedirectConfiguration] - :param web_application_firewall_configuration: Web application firewall - configuration. - :type web_application_firewall_configuration: - ~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayWebApplicationFirewallConfiguration - :param firewall_policy: Reference of the FirewallPolicy resource. - :type firewall_policy: ~azure.mgmt.network.v2019_07_01.models.SubResource - :param enable_http2: Whether HTTP2 is enabled on the application gateway - resource. - :type enable_http2: bool - :param enable_fips: Whether FIPS is enabled on the application gateway - resource. - :type enable_fips: bool - :param autoscale_configuration: Autoscale Configuration. - :type autoscale_configuration: - ~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayAutoscaleConfiguration - :param resource_guid: The resource GUID property of the application - gateway resource. - :type resource_guid: str - :param provisioning_state: The provisioning state of the application - gateway resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param custom_error_configurations: Custom error configurations of the - application gateway resource. - :type custom_error_configurations: - list[~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayCustomError] - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - :param zones: A list of availability zones denoting where the resource - needs to come from. - :type zones: list[str] - :param identity: The identity of the application gateway, if configured. - :type identity: - ~azure.mgmt.network.v2019_07_01.models.ManagedServiceIdentity - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'operational_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'sku': {'key': 'properties.sku', 'type': 'ApplicationGatewaySku'}, - 'ssl_policy': {'key': 'properties.sslPolicy', 'type': 'ApplicationGatewaySslPolicy'}, - 'operational_state': {'key': 'properties.operationalState', 'type': 'str'}, - 'gateway_ip_configurations': {'key': 'properties.gatewayIPConfigurations', 'type': '[ApplicationGatewayIPConfiguration]'}, - 'authentication_certificates': {'key': 'properties.authenticationCertificates', 'type': '[ApplicationGatewayAuthenticationCertificate]'}, - 'trusted_root_certificates': {'key': 'properties.trustedRootCertificates', 'type': '[ApplicationGatewayTrustedRootCertificate]'}, - 'ssl_certificates': {'key': 'properties.sslCertificates', 'type': '[ApplicationGatewaySslCertificate]'}, - 'frontend_ip_configurations': {'key': 'properties.frontendIPConfigurations', 'type': '[ApplicationGatewayFrontendIPConfiguration]'}, - 'frontend_ports': {'key': 'properties.frontendPorts', 'type': '[ApplicationGatewayFrontendPort]'}, - 'probes': {'key': 'properties.probes', 'type': '[ApplicationGatewayProbe]'}, - 'backend_address_pools': {'key': 'properties.backendAddressPools', 'type': '[ApplicationGatewayBackendAddressPool]'}, - 'backend_http_settings_collection': {'key': 'properties.backendHttpSettingsCollection', 'type': '[ApplicationGatewayBackendHttpSettings]'}, - 'http_listeners': {'key': 'properties.httpListeners', 'type': '[ApplicationGatewayHttpListener]'}, - 'url_path_maps': {'key': 'properties.urlPathMaps', 'type': '[ApplicationGatewayUrlPathMap]'}, - 'request_routing_rules': {'key': 'properties.requestRoutingRules', 'type': '[ApplicationGatewayRequestRoutingRule]'}, - 'rewrite_rule_sets': {'key': 'properties.rewriteRuleSets', 'type': '[ApplicationGatewayRewriteRuleSet]'}, - 'redirect_configurations': {'key': 'properties.redirectConfigurations', 'type': '[ApplicationGatewayRedirectConfiguration]'}, - 'web_application_firewall_configuration': {'key': 'properties.webApplicationFirewallConfiguration', 'type': 'ApplicationGatewayWebApplicationFirewallConfiguration'}, - 'firewall_policy': {'key': 'properties.firewallPolicy', 'type': 'SubResource'}, - 'enable_http2': {'key': 'properties.enableHttp2', 'type': 'bool'}, - 'enable_fips': {'key': 'properties.enableFips', 'type': 'bool'}, - 'autoscale_configuration': {'key': 'properties.autoscaleConfiguration', 'type': 'ApplicationGatewayAutoscaleConfiguration'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'custom_error_configurations': {'key': 'properties.customErrorConfigurations', 'type': '[ApplicationGatewayCustomError]'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'zones': {'key': 'zones', 'type': '[str]'}, - 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, sku=None, ssl_policy=None, gateway_ip_configurations=None, authentication_certificates=None, trusted_root_certificates=None, ssl_certificates=None, frontend_ip_configurations=None, frontend_ports=None, probes=None, backend_address_pools=None, backend_http_settings_collection=None, http_listeners=None, url_path_maps=None, request_routing_rules=None, rewrite_rule_sets=None, redirect_configurations=None, web_application_firewall_configuration=None, firewall_policy=None, enable_http2: bool=None, enable_fips: bool=None, autoscale_configuration=None, resource_guid: str=None, provisioning_state=None, custom_error_configurations=None, etag: str=None, zones=None, identity=None, **kwargs) -> None: - super(ApplicationGateway, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.sku = sku - self.ssl_policy = ssl_policy - self.operational_state = None - self.gateway_ip_configurations = gateway_ip_configurations - self.authentication_certificates = authentication_certificates - self.trusted_root_certificates = trusted_root_certificates - self.ssl_certificates = ssl_certificates - self.frontend_ip_configurations = frontend_ip_configurations - self.frontend_ports = frontend_ports - self.probes = probes - self.backend_address_pools = backend_address_pools - self.backend_http_settings_collection = backend_http_settings_collection - self.http_listeners = http_listeners - self.url_path_maps = url_path_maps - self.request_routing_rules = request_routing_rules - self.rewrite_rule_sets = rewrite_rule_sets - self.redirect_configurations = redirect_configurations - self.web_application_firewall_configuration = web_application_firewall_configuration - self.firewall_policy = firewall_policy - self.enable_http2 = enable_http2 - self.enable_fips = enable_fips - self.autoscale_configuration = autoscale_configuration - self.resource_guid = resource_guid - self.provisioning_state = provisioning_state - self.custom_error_configurations = custom_error_configurations - self.etag = etag - self.zones = zones - self.identity = identity - - -class SubResource(Model): - """Reference to another subresource. - - :param id: Resource ID. - :type id: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, **kwargs) -> None: - super(SubResource, self).__init__(**kwargs) - self.id = id - - -class ApplicationGatewayAuthenticationCertificate(SubResource): - """Authentication certificates of an application gateway. - - :param id: Resource ID. - :type id: str - :param data: Certificate public data. - :type data: str - :param provisioning_state: The provisioning state of the authentication - certificate resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: Name of the authentication certificate that is unique within - an Application Gateway. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - :param type: Type of the resource. - :type type: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'data': {'key': 'properties.data', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, data: str=None, provisioning_state=None, name: str=None, etag: str=None, type: str=None, **kwargs) -> None: - super(ApplicationGatewayAuthenticationCertificate, self).__init__(id=id, **kwargs) - self.data = data - self.provisioning_state = provisioning_state - self.name = name - self.etag = etag - self.type = type - - -class ApplicationGatewayAutoscaleConfiguration(Model): - """Application Gateway autoscale configuration. - - All required parameters must be populated in order to send to Azure. - - :param min_capacity: Required. Lower bound on number of Application - Gateway capacity. - :type min_capacity: int - :param max_capacity: Upper bound on number of Application Gateway - capacity. - :type max_capacity: int - """ - - _validation = { - 'min_capacity': {'required': True, 'minimum': 0}, - 'max_capacity': {'minimum': 2}, - } - - _attribute_map = { - 'min_capacity': {'key': 'minCapacity', 'type': 'int'}, - 'max_capacity': {'key': 'maxCapacity', 'type': 'int'}, - } - - def __init__(self, *, min_capacity: int, max_capacity: int=None, **kwargs) -> None: - super(ApplicationGatewayAutoscaleConfiguration, self).__init__(**kwargs) - self.min_capacity = min_capacity - self.max_capacity = max_capacity - - -class ApplicationGatewayAvailableSslOptions(Resource): - """Response for ApplicationGatewayAvailableSslOptions API service call. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param predefined_policies: List of available Ssl predefined policy. - :type predefined_policies: - list[~azure.mgmt.network.v2019_07_01.models.SubResource] - :param default_policy: Name of the Ssl predefined policy applied by - default to application gateway. Possible values include: - 'AppGwSslPolicy20150501', 'AppGwSslPolicy20170401', - 'AppGwSslPolicy20170401S' - :type default_policy: str or - ~azure.mgmt.network.v2019_07_01.models.ApplicationGatewaySslPolicyName - :param available_cipher_suites: List of available Ssl cipher suites. - :type available_cipher_suites: list[str or - ~azure.mgmt.network.v2019_07_01.models.ApplicationGatewaySslCipherSuite] - :param available_protocols: List of available Ssl protocols. - :type available_protocols: list[str or - ~azure.mgmt.network.v2019_07_01.models.ApplicationGatewaySslProtocol] - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'predefined_policies': {'key': 'properties.predefinedPolicies', 'type': '[SubResource]'}, - 'default_policy': {'key': 'properties.defaultPolicy', 'type': 'str'}, - 'available_cipher_suites': {'key': 'properties.availableCipherSuites', 'type': '[str]'}, - 'available_protocols': {'key': 'properties.availableProtocols', 'type': '[str]'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, predefined_policies=None, default_policy=None, available_cipher_suites=None, available_protocols=None, **kwargs) -> None: - super(ApplicationGatewayAvailableSslOptions, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.predefined_policies = predefined_policies - self.default_policy = default_policy - self.available_cipher_suites = available_cipher_suites - self.available_protocols = available_protocols - - -class ApplicationGatewayAvailableWafRuleSetsResult(Model): - """Response for ApplicationGatewayAvailableWafRuleSets API service call. - - :param value: The list of application gateway rule sets. - :type value: - list[~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayFirewallRuleSet] - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[ApplicationGatewayFirewallRuleSet]'}, - } - - def __init__(self, *, value=None, **kwargs) -> None: - super(ApplicationGatewayAvailableWafRuleSetsResult, self).__init__(**kwargs) - self.value = value - - -class ApplicationGatewayBackendAddress(Model): - """Backend address of an application gateway. - - :param fqdn: Fully qualified domain name (FQDN). - :type fqdn: str - :param ip_address: IP address. - :type ip_address: str - """ - - _attribute_map = { - 'fqdn': {'key': 'fqdn', 'type': 'str'}, - 'ip_address': {'key': 'ipAddress', 'type': 'str'}, - } - - def __init__(self, *, fqdn: str=None, ip_address: str=None, **kwargs) -> None: - super(ApplicationGatewayBackendAddress, self).__init__(**kwargs) - self.fqdn = fqdn - self.ip_address = ip_address - - -class ApplicationGatewayBackendAddressPool(SubResource): - """Backend Address Pool of an application gateway. - - :param id: Resource ID. - :type id: str - :param backend_ip_configurations: Collection of references to IPs defined - in network interfaces. - :type backend_ip_configurations: - list[~azure.mgmt.network.v2019_07_01.models.NetworkInterfaceIPConfiguration] - :param backend_addresses: Backend addresses. - :type backend_addresses: - list[~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayBackendAddress] - :param provisioning_state: The provisioning state of the backend address - pool resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: Name of the backend address pool that is unique within an - Application Gateway. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - :param type: Type of the resource. - :type type: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'backend_ip_configurations': {'key': 'properties.backendIPConfigurations', 'type': '[NetworkInterfaceIPConfiguration]'}, - 'backend_addresses': {'key': 'properties.backendAddresses', 'type': '[ApplicationGatewayBackendAddress]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, backend_ip_configurations=None, backend_addresses=None, provisioning_state=None, name: str=None, etag: str=None, type: str=None, **kwargs) -> None: - super(ApplicationGatewayBackendAddressPool, self).__init__(id=id, **kwargs) - self.backend_ip_configurations = backend_ip_configurations - self.backend_addresses = backend_addresses - self.provisioning_state = provisioning_state - self.name = name - self.etag = etag - self.type = type - - -class ApplicationGatewayBackendHealth(Model): - """Response for ApplicationGatewayBackendHealth API service call. - - :param backend_address_pools: A list of - ApplicationGatewayBackendHealthPool resources. - :type backend_address_pools: - list[~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayBackendHealthPool] - """ - - _attribute_map = { - 'backend_address_pools': {'key': 'backendAddressPools', 'type': '[ApplicationGatewayBackendHealthPool]'}, - } - - def __init__(self, *, backend_address_pools=None, **kwargs) -> None: - super(ApplicationGatewayBackendHealth, self).__init__(**kwargs) - self.backend_address_pools = backend_address_pools - - -class ApplicationGatewayBackendHealthHttpSettings(Model): - """Application gateway BackendHealthHttp settings. - - :param backend_http_settings: Reference of an - ApplicationGatewayBackendHttpSettings resource. - :type backend_http_settings: - ~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayBackendHttpSettings - :param servers: List of ApplicationGatewayBackendHealthServer resources. - :type servers: - list[~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayBackendHealthServer] - """ - - _attribute_map = { - 'backend_http_settings': {'key': 'backendHttpSettings', 'type': 'ApplicationGatewayBackendHttpSettings'}, - 'servers': {'key': 'servers', 'type': '[ApplicationGatewayBackendHealthServer]'}, - } - - def __init__(self, *, backend_http_settings=None, servers=None, **kwargs) -> None: - super(ApplicationGatewayBackendHealthHttpSettings, self).__init__(**kwargs) - self.backend_http_settings = backend_http_settings - self.servers = servers - - -class ApplicationGatewayBackendHealthOnDemand(Model): - """Result of on demand test probe. - - :param backend_address_pool: Reference of an - ApplicationGatewayBackendAddressPool resource. - :type backend_address_pool: - ~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayBackendAddressPool - :param backend_health_http_settings: Application gateway BackendHealthHttp - settings. - :type backend_health_http_settings: - ~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayBackendHealthHttpSettings - """ - - _attribute_map = { - 'backend_address_pool': {'key': 'backendAddressPool', 'type': 'ApplicationGatewayBackendAddressPool'}, - 'backend_health_http_settings': {'key': 'backendHealthHttpSettings', 'type': 'ApplicationGatewayBackendHealthHttpSettings'}, - } - - def __init__(self, *, backend_address_pool=None, backend_health_http_settings=None, **kwargs) -> None: - super(ApplicationGatewayBackendHealthOnDemand, self).__init__(**kwargs) - self.backend_address_pool = backend_address_pool - self.backend_health_http_settings = backend_health_http_settings - - -class ApplicationGatewayBackendHealthPool(Model): - """Application gateway BackendHealth pool. - - :param backend_address_pool: Reference of an - ApplicationGatewayBackendAddressPool resource. - :type backend_address_pool: - ~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayBackendAddressPool - :param backend_http_settings_collection: List of - ApplicationGatewayBackendHealthHttpSettings resources. - :type backend_http_settings_collection: - list[~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayBackendHealthHttpSettings] - """ - - _attribute_map = { - 'backend_address_pool': {'key': 'backendAddressPool', 'type': 'ApplicationGatewayBackendAddressPool'}, - 'backend_http_settings_collection': {'key': 'backendHttpSettingsCollection', 'type': '[ApplicationGatewayBackendHealthHttpSettings]'}, - } - - def __init__(self, *, backend_address_pool=None, backend_http_settings_collection=None, **kwargs) -> None: - super(ApplicationGatewayBackendHealthPool, self).__init__(**kwargs) - self.backend_address_pool = backend_address_pool - self.backend_http_settings_collection = backend_http_settings_collection - - -class ApplicationGatewayBackendHealthServer(Model): - """Application gateway backendhealth http settings. - - :param address: IP address or FQDN of backend server. - :type address: str - :param ip_configuration: Reference of IP configuration of backend server. - :type ip_configuration: - ~azure.mgmt.network.v2019_07_01.models.NetworkInterfaceIPConfiguration - :param health: Health of backend server. Possible values include: - 'Unknown', 'Up', 'Down', 'Partial', 'Draining' - :type health: str or - ~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayBackendHealthServerHealth - :param health_probe_log: Health Probe Log. - :type health_probe_log: str - """ - - _attribute_map = { - 'address': {'key': 'address', 'type': 'str'}, - 'ip_configuration': {'key': 'ipConfiguration', 'type': 'NetworkInterfaceIPConfiguration'}, - 'health': {'key': 'health', 'type': 'str'}, - 'health_probe_log': {'key': 'healthProbeLog', 'type': 'str'}, - } - - def __init__(self, *, address: str=None, ip_configuration=None, health=None, health_probe_log: str=None, **kwargs) -> None: - super(ApplicationGatewayBackendHealthServer, self).__init__(**kwargs) - self.address = address - self.ip_configuration = ip_configuration - self.health = health - self.health_probe_log = health_probe_log - - -class ApplicationGatewayBackendHttpSettings(SubResource): - """Backend address pool settings of an application gateway. - - :param id: Resource ID. - :type id: str - :param port: The destination port on the backend. - :type port: int - :param protocol: The protocol used to communicate with the backend. - Possible values include: 'Http', 'Https' - :type protocol: str or - ~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayProtocol - :param cookie_based_affinity: Cookie based affinity. Possible values - include: 'Enabled', 'Disabled' - :type cookie_based_affinity: str or - ~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayCookieBasedAffinity - :param request_timeout: Request timeout in seconds. Application Gateway - will fail the request if response is not received within RequestTimeout. - Acceptable values are from 1 second to 86400 seconds. - :type request_timeout: int - :param probe: Probe resource of an application gateway. - :type probe: ~azure.mgmt.network.v2019_07_01.models.SubResource - :param authentication_certificates: Array of references to application - gateway authentication certificates. - :type authentication_certificates: - list[~azure.mgmt.network.v2019_07_01.models.SubResource] - :param trusted_root_certificates: Array of references to application - gateway trusted root certificates. - :type trusted_root_certificates: - list[~azure.mgmt.network.v2019_07_01.models.SubResource] - :param connection_draining: Connection draining of the backend http - settings resource. - :type connection_draining: - ~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayConnectionDraining - :param host_name: Host header to be sent to the backend servers. - :type host_name: str - :param pick_host_name_from_backend_address: Whether to pick host header - should be picked from the host name of the backend server. Default value - is false. - :type pick_host_name_from_backend_address: bool - :param affinity_cookie_name: Cookie name to use for the affinity cookie. - :type affinity_cookie_name: str - :param probe_enabled: Whether the probe is enabled. Default value is - false. - :type probe_enabled: bool - :param path: Path which should be used as a prefix for all HTTP requests. - Null means no path will be prefixed. Default value is null. - :type path: str - :param provisioning_state: The provisioning state of the backend HTTP - settings resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: Name of the backend http settings that is unique within an - Application Gateway. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - :param type: Type of the resource. - :type type: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'port': {'key': 'properties.port', 'type': 'int'}, - 'protocol': {'key': 'properties.protocol', 'type': 'str'}, - 'cookie_based_affinity': {'key': 'properties.cookieBasedAffinity', 'type': 'str'}, - 'request_timeout': {'key': 'properties.requestTimeout', 'type': 'int'}, - 'probe': {'key': 'properties.probe', 'type': 'SubResource'}, - 'authentication_certificates': {'key': 'properties.authenticationCertificates', 'type': '[SubResource]'}, - 'trusted_root_certificates': {'key': 'properties.trustedRootCertificates', 'type': '[SubResource]'}, - 'connection_draining': {'key': 'properties.connectionDraining', 'type': 'ApplicationGatewayConnectionDraining'}, - 'host_name': {'key': 'properties.hostName', 'type': 'str'}, - 'pick_host_name_from_backend_address': {'key': 'properties.pickHostNameFromBackendAddress', 'type': 'bool'}, - 'affinity_cookie_name': {'key': 'properties.affinityCookieName', 'type': 'str'}, - 'probe_enabled': {'key': 'properties.probeEnabled', 'type': 'bool'}, - 'path': {'key': 'properties.path', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, port: int=None, protocol=None, cookie_based_affinity=None, request_timeout: int=None, probe=None, authentication_certificates=None, trusted_root_certificates=None, connection_draining=None, host_name: str=None, pick_host_name_from_backend_address: bool=None, affinity_cookie_name: str=None, probe_enabled: bool=None, path: str=None, provisioning_state=None, name: str=None, etag: str=None, type: str=None, **kwargs) -> None: - super(ApplicationGatewayBackendHttpSettings, self).__init__(id=id, **kwargs) - self.port = port - self.protocol = protocol - self.cookie_based_affinity = cookie_based_affinity - self.request_timeout = request_timeout - self.probe = probe - self.authentication_certificates = authentication_certificates - self.trusted_root_certificates = trusted_root_certificates - self.connection_draining = connection_draining - self.host_name = host_name - self.pick_host_name_from_backend_address = pick_host_name_from_backend_address - self.affinity_cookie_name = affinity_cookie_name - self.probe_enabled = probe_enabled - self.path = path - self.provisioning_state = provisioning_state - self.name = name - self.etag = etag - self.type = type - - -class ApplicationGatewayConnectionDraining(Model): - """Connection draining allows open connections to a backend server to be - active for a specified time after the backend server got removed from the - configuration. - - All required parameters must be populated in order to send to Azure. - - :param enabled: Required. Whether connection draining is enabled or not. - :type enabled: bool - :param drain_timeout_in_sec: Required. The number of seconds connection - draining is active. Acceptable values are from 1 second to 3600 seconds. - :type drain_timeout_in_sec: int - """ - - _validation = { - 'enabled': {'required': True}, - 'drain_timeout_in_sec': {'required': True, 'maximum': 3600, 'minimum': 1}, - } - - _attribute_map = { - 'enabled': {'key': 'enabled', 'type': 'bool'}, - 'drain_timeout_in_sec': {'key': 'drainTimeoutInSec', 'type': 'int'}, - } - - def __init__(self, *, enabled: bool, drain_timeout_in_sec: int, **kwargs) -> None: - super(ApplicationGatewayConnectionDraining, self).__init__(**kwargs) - self.enabled = enabled - self.drain_timeout_in_sec = drain_timeout_in_sec - - -class ApplicationGatewayCustomError(Model): - """Customer error of an application gateway. - - :param status_code: Status code of the application gateway customer error. - Possible values include: 'HttpStatus403', 'HttpStatus502' - :type status_code: str or - ~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayCustomErrorStatusCode - :param custom_error_page_url: Error page URL of the application gateway - customer error. - :type custom_error_page_url: str - """ - - _attribute_map = { - 'status_code': {'key': 'statusCode', 'type': 'str'}, - 'custom_error_page_url': {'key': 'customErrorPageUrl', 'type': 'str'}, - } - - def __init__(self, *, status_code=None, custom_error_page_url: str=None, **kwargs) -> None: - super(ApplicationGatewayCustomError, self).__init__(**kwargs) - self.status_code = status_code - self.custom_error_page_url = custom_error_page_url - - -class ApplicationGatewayFirewallDisabledRuleGroup(Model): - """Allows to disable rules within a rule group or an entire rule group. - - All required parameters must be populated in order to send to Azure. - - :param rule_group_name: Required. The name of the rule group that will be - disabled. - :type rule_group_name: str - :param rules: The list of rules that will be disabled. If null, all rules - of the rule group will be disabled. - :type rules: list[int] - """ - - _validation = { - 'rule_group_name': {'required': True}, - } - - _attribute_map = { - 'rule_group_name': {'key': 'ruleGroupName', 'type': 'str'}, - 'rules': {'key': 'rules', 'type': '[int]'}, - } - - def __init__(self, *, rule_group_name: str, rules=None, **kwargs) -> None: - super(ApplicationGatewayFirewallDisabledRuleGroup, self).__init__(**kwargs) - self.rule_group_name = rule_group_name - self.rules = rules - - -class ApplicationGatewayFirewallExclusion(Model): - """Allow to exclude some variable satisfy the condition for the WAF check. - - All required parameters must be populated in order to send to Azure. - - :param match_variable: Required. The variable to be excluded. - :type match_variable: str - :param selector_match_operator: Required. When matchVariable is a - collection, operate on the selector to specify which elements in the - collection this exclusion applies to. - :type selector_match_operator: str - :param selector: Required. When matchVariable is a collection, operator - used to specify which elements in the collection this exclusion applies - to. - :type selector: str - """ - - _validation = { - 'match_variable': {'required': True}, - 'selector_match_operator': {'required': True}, - 'selector': {'required': True}, - } - - _attribute_map = { - 'match_variable': {'key': 'matchVariable', 'type': 'str'}, - 'selector_match_operator': {'key': 'selectorMatchOperator', 'type': 'str'}, - 'selector': {'key': 'selector', 'type': 'str'}, - } - - def __init__(self, *, match_variable: str, selector_match_operator: str, selector: str, **kwargs) -> None: - super(ApplicationGatewayFirewallExclusion, self).__init__(**kwargs) - self.match_variable = match_variable - self.selector_match_operator = selector_match_operator - self.selector = selector - - -class ApplicationGatewayFirewallRule(Model): - """A web application firewall rule. - - All required parameters must be populated in order to send to Azure. - - :param rule_id: Required. The identifier of the web application firewall - rule. - :type rule_id: int - :param description: The description of the web application firewall rule. - :type description: str - """ - - _validation = { - 'rule_id': {'required': True}, - } - - _attribute_map = { - 'rule_id': {'key': 'ruleId', 'type': 'int'}, - 'description': {'key': 'description', 'type': 'str'}, - } - - def __init__(self, *, rule_id: int, description: str=None, **kwargs) -> None: - super(ApplicationGatewayFirewallRule, self).__init__(**kwargs) - self.rule_id = rule_id - self.description = description - - -class ApplicationGatewayFirewallRuleGroup(Model): - """A web application firewall rule group. - - All required parameters must be populated in order to send to Azure. - - :param rule_group_name: Required. The name of the web application firewall - rule group. - :type rule_group_name: str - :param description: The description of the web application firewall rule - group. - :type description: str - :param rules: Required. The rules of the web application firewall rule - group. - :type rules: - list[~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayFirewallRule] - """ - - _validation = { - 'rule_group_name': {'required': True}, - 'rules': {'required': True}, - } - - _attribute_map = { - 'rule_group_name': {'key': 'ruleGroupName', 'type': 'str'}, - 'description': {'key': 'description', 'type': 'str'}, - 'rules': {'key': 'rules', 'type': '[ApplicationGatewayFirewallRule]'}, - } - - def __init__(self, *, rule_group_name: str, rules, description: str=None, **kwargs) -> None: - super(ApplicationGatewayFirewallRuleGroup, self).__init__(**kwargs) - self.rule_group_name = rule_group_name - self.description = description - self.rules = rules - - -class ApplicationGatewayFirewallRuleSet(Resource): - """A web application firewall rule set. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param provisioning_state: The provisioning state of the web application - firewall rule set. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param rule_set_type: Required. The type of the web application firewall - rule set. - :type rule_set_type: str - :param rule_set_version: Required. The version of the web application - firewall rule set type. - :type rule_set_version: str - :param rule_groups: Required. The rule groups of the web application - firewall rule set. - :type rule_groups: - list[~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayFirewallRuleGroup] - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'rule_set_type': {'required': True}, - 'rule_set_version': {'required': True}, - 'rule_groups': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'rule_set_type': {'key': 'properties.ruleSetType', 'type': 'str'}, - 'rule_set_version': {'key': 'properties.ruleSetVersion', 'type': 'str'}, - 'rule_groups': {'key': 'properties.ruleGroups', 'type': '[ApplicationGatewayFirewallRuleGroup]'}, - } - - def __init__(self, *, rule_set_type: str, rule_set_version: str, rule_groups, id: str=None, location: str=None, tags=None, provisioning_state=None, **kwargs) -> None: - super(ApplicationGatewayFirewallRuleSet, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.provisioning_state = provisioning_state - self.rule_set_type = rule_set_type - self.rule_set_version = rule_set_version - self.rule_groups = rule_groups - - -class ApplicationGatewayFrontendIPConfiguration(SubResource): - """Frontend IP configuration of an application gateway. - - :param id: Resource ID. - :type id: str - :param private_ip_address: PrivateIPAddress of the network interface IP - Configuration. - :type private_ip_address: str - :param private_ip_allocation_method: The private IP address allocation - method. Possible values include: 'Static', 'Dynamic' - :type private_ip_allocation_method: str or - ~azure.mgmt.network.v2019_07_01.models.IPAllocationMethod - :param subnet: Reference of the subnet resource. - :type subnet: ~azure.mgmt.network.v2019_07_01.models.SubResource - :param public_ip_address: Reference of the PublicIP resource. - :type public_ip_address: - ~azure.mgmt.network.v2019_07_01.models.SubResource - :param provisioning_state: The provisioning state of the frontend IP - configuration resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: Name of the frontend IP configuration that is unique within - an Application Gateway. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - :param type: Type of the resource. - :type type: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, - 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, - 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, - 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'SubResource'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, private_ip_address: str=None, private_ip_allocation_method=None, subnet=None, public_ip_address=None, provisioning_state=None, name: str=None, etag: str=None, type: str=None, **kwargs) -> None: - super(ApplicationGatewayFrontendIPConfiguration, self).__init__(id=id, **kwargs) - self.private_ip_address = private_ip_address - self.private_ip_allocation_method = private_ip_allocation_method - self.subnet = subnet - self.public_ip_address = public_ip_address - self.provisioning_state = provisioning_state - self.name = name - self.etag = etag - self.type = type - - -class ApplicationGatewayFrontendPort(SubResource): - """Frontend port of an application gateway. - - :param id: Resource ID. - :type id: str - :param port: Frontend port. - :type port: int - :param provisioning_state: The provisioning state of the frontend port - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: Name of the frontend port that is unique within an - Application Gateway. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - :param type: Type of the resource. - :type type: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'port': {'key': 'properties.port', 'type': 'int'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, port: int=None, provisioning_state=None, name: str=None, etag: str=None, type: str=None, **kwargs) -> None: - super(ApplicationGatewayFrontendPort, self).__init__(id=id, **kwargs) - self.port = port - self.provisioning_state = provisioning_state - self.name = name - self.etag = etag - self.type = type - - -class ApplicationGatewayHeaderConfiguration(Model): - """Header configuration of the Actions set in Application Gateway. - - :param header_name: Header name of the header configuration. - :type header_name: str - :param header_value: Header value of the header configuration. - :type header_value: str - """ - - _attribute_map = { - 'header_name': {'key': 'headerName', 'type': 'str'}, - 'header_value': {'key': 'headerValue', 'type': 'str'}, - } - - def __init__(self, *, header_name: str=None, header_value: str=None, **kwargs) -> None: - super(ApplicationGatewayHeaderConfiguration, self).__init__(**kwargs) - self.header_name = header_name - self.header_value = header_value - - -class ApplicationGatewayHttpListener(SubResource): - """Http listener of an application gateway. - - :param id: Resource ID. - :type id: str - :param frontend_ip_configuration: Frontend IP configuration resource of an - application gateway. - :type frontend_ip_configuration: - ~azure.mgmt.network.v2019_07_01.models.SubResource - :param frontend_port: Frontend port resource of an application gateway. - :type frontend_port: ~azure.mgmt.network.v2019_07_01.models.SubResource - :param protocol: Protocol of the HTTP listener. Possible values include: - 'Http', 'Https' - :type protocol: str or - ~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayProtocol - :param host_name: Host name of HTTP listener. - :type host_name: str - :param ssl_certificate: SSL certificate resource of an application - gateway. - :type ssl_certificate: ~azure.mgmt.network.v2019_07_01.models.SubResource - :param require_server_name_indication: Applicable only if protocol is - https. Enables SNI for multi-hosting. - :type require_server_name_indication: bool - :param provisioning_state: The provisioning state of the HTTP listener - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param custom_error_configurations: Custom error configurations of the - HTTP listener. - :type custom_error_configurations: - list[~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayCustomError] - :param name: Name of the HTTP listener that is unique within an - Application Gateway. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - :param type: Type of the resource. - :type type: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'frontend_ip_configuration': {'key': 'properties.frontendIPConfiguration', 'type': 'SubResource'}, - 'frontend_port': {'key': 'properties.frontendPort', 'type': 'SubResource'}, - 'protocol': {'key': 'properties.protocol', 'type': 'str'}, - 'host_name': {'key': 'properties.hostName', 'type': 'str'}, - 'ssl_certificate': {'key': 'properties.sslCertificate', 'type': 'SubResource'}, - 'require_server_name_indication': {'key': 'properties.requireServerNameIndication', 'type': 'bool'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'custom_error_configurations': {'key': 'properties.customErrorConfigurations', 'type': '[ApplicationGatewayCustomError]'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, frontend_ip_configuration=None, frontend_port=None, protocol=None, host_name: str=None, ssl_certificate=None, require_server_name_indication: bool=None, provisioning_state=None, custom_error_configurations=None, name: str=None, etag: str=None, type: str=None, **kwargs) -> None: - super(ApplicationGatewayHttpListener, self).__init__(id=id, **kwargs) - self.frontend_ip_configuration = frontend_ip_configuration - self.frontend_port = frontend_port - self.protocol = protocol - self.host_name = host_name - self.ssl_certificate = ssl_certificate - self.require_server_name_indication = require_server_name_indication - self.provisioning_state = provisioning_state - self.custom_error_configurations = custom_error_configurations - self.name = name - self.etag = etag - self.type = type - - -class ApplicationGatewayIPConfiguration(SubResource): - """IP configuration of an application gateway. Currently 1 public and 1 - private IP configuration is allowed. - - :param id: Resource ID. - :type id: str - :param subnet: Reference of the subnet resource. A subnet from where - application gateway gets its private address. - :type subnet: ~azure.mgmt.network.v2019_07_01.models.SubResource - :param provisioning_state: The provisioning state of the application - gateway IP configuration resource. Possible values include: 'Succeeded', - 'Updating', 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: Name of the IP configuration that is unique within an - Application Gateway. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - :param type: Type of the resource. - :type type: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, subnet=None, provisioning_state=None, name: str=None, etag: str=None, type: str=None, **kwargs) -> None: - super(ApplicationGatewayIPConfiguration, self).__init__(id=id, **kwargs) - self.subnet = subnet - self.provisioning_state = provisioning_state - self.name = name - self.etag = etag - self.type = type - - -class ApplicationGatewayOnDemandProbe(Model): - """Details of on demand test probe request. - - :param protocol: The protocol used for the probe. Possible values include: - 'Http', 'Https' - :type protocol: str or - ~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayProtocol - :param host: Host name to send the probe to. - :type host: str - :param path: Relative path of probe. Valid path starts from '/'. Probe is - sent to ://:. - :type path: str - :param timeout: The probe timeout in seconds. Probe marked as failed if - valid response is not received with this timeout period. Acceptable values - are from 1 second to 86400 seconds. - :type timeout: int - :param pick_host_name_from_backend_http_settings: Whether the host header - should be picked from the backend http settings. Default value is false. - :type pick_host_name_from_backend_http_settings: bool - :param match: Criterion for classifying a healthy probe response. - :type match: - ~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayProbeHealthResponseMatch - :param backend_address_pool: Reference of backend pool of application - gateway to which probe request will be sent. - :type backend_address_pool: - ~azure.mgmt.network.v2019_07_01.models.SubResource - :param backend_http_settings: Reference of backend http setting of - application gateway to be used for test probe. - :type backend_http_settings: - ~azure.mgmt.network.v2019_07_01.models.SubResource - """ - - _attribute_map = { - 'protocol': {'key': 'protocol', 'type': 'str'}, - 'host': {'key': 'host', 'type': 'str'}, - 'path': {'key': 'path', 'type': 'str'}, - 'timeout': {'key': 'timeout', 'type': 'int'}, - 'pick_host_name_from_backend_http_settings': {'key': 'pickHostNameFromBackendHttpSettings', 'type': 'bool'}, - 'match': {'key': 'match', 'type': 'ApplicationGatewayProbeHealthResponseMatch'}, - 'backend_address_pool': {'key': 'backendAddressPool', 'type': 'SubResource'}, - 'backend_http_settings': {'key': 'backendHttpSettings', 'type': 'SubResource'}, - } - - def __init__(self, *, protocol=None, host: str=None, path: str=None, timeout: int=None, pick_host_name_from_backend_http_settings: bool=None, match=None, backend_address_pool=None, backend_http_settings=None, **kwargs) -> None: - super(ApplicationGatewayOnDemandProbe, self).__init__(**kwargs) - self.protocol = protocol - self.host = host - self.path = path - self.timeout = timeout - self.pick_host_name_from_backend_http_settings = pick_host_name_from_backend_http_settings - self.match = match - self.backend_address_pool = backend_address_pool - self.backend_http_settings = backend_http_settings - - -class ApplicationGatewayPathRule(SubResource): - """Path rule of URL path map of an application gateway. - - :param id: Resource ID. - :type id: str - :param paths: Path rules of URL path map. - :type paths: list[str] - :param backend_address_pool: Backend address pool resource of URL path map - path rule. - :type backend_address_pool: - ~azure.mgmt.network.v2019_07_01.models.SubResource - :param backend_http_settings: Backend http settings resource of URL path - map path rule. - :type backend_http_settings: - ~azure.mgmt.network.v2019_07_01.models.SubResource - :param redirect_configuration: Redirect configuration resource of URL path - map path rule. - :type redirect_configuration: - ~azure.mgmt.network.v2019_07_01.models.SubResource - :param rewrite_rule_set: Rewrite rule set resource of URL path map path - rule. - :type rewrite_rule_set: ~azure.mgmt.network.v2019_07_01.models.SubResource - :param provisioning_state: The provisioning state of the path rule - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: Name of the path rule that is unique within an Application - Gateway. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - :param type: Type of the resource. - :type type: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'paths': {'key': 'properties.paths', 'type': '[str]'}, - 'backend_address_pool': {'key': 'properties.backendAddressPool', 'type': 'SubResource'}, - 'backend_http_settings': {'key': 'properties.backendHttpSettings', 'type': 'SubResource'}, - 'redirect_configuration': {'key': 'properties.redirectConfiguration', 'type': 'SubResource'}, - 'rewrite_rule_set': {'key': 'properties.rewriteRuleSet', 'type': 'SubResource'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, paths=None, backend_address_pool=None, backend_http_settings=None, redirect_configuration=None, rewrite_rule_set=None, provisioning_state=None, name: str=None, etag: str=None, type: str=None, **kwargs) -> None: - super(ApplicationGatewayPathRule, self).__init__(id=id, **kwargs) - self.paths = paths - self.backend_address_pool = backend_address_pool - self.backend_http_settings = backend_http_settings - self.redirect_configuration = redirect_configuration - self.rewrite_rule_set = rewrite_rule_set - self.provisioning_state = provisioning_state - self.name = name - self.etag = etag - self.type = type - - -class ApplicationGatewayProbe(SubResource): - """Probe of the application gateway. - - :param id: Resource ID. - :type id: str - :param protocol: The protocol used for the probe. Possible values include: - 'Http', 'Https' - :type protocol: str or - ~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayProtocol - :param host: Host name to send the probe to. - :type host: str - :param path: Relative path of probe. Valid path starts from '/'. Probe is - sent to ://:. - :type path: str - :param interval: The probing interval in seconds. This is the time - interval between two consecutive probes. Acceptable values are from 1 - second to 86400 seconds. - :type interval: int - :param timeout: The probe timeout in seconds. Probe marked as failed if - valid response is not received with this timeout period. Acceptable values - are from 1 second to 86400 seconds. - :type timeout: int - :param unhealthy_threshold: The probe retry count. Backend server is - marked down after consecutive probe failure count reaches - UnhealthyThreshold. Acceptable values are from 1 second to 20. - :type unhealthy_threshold: int - :param pick_host_name_from_backend_http_settings: Whether the host header - should be picked from the backend http settings. Default value is false. - :type pick_host_name_from_backend_http_settings: bool - :param min_servers: Minimum number of servers that are always marked - healthy. Default value is 0. - :type min_servers: int - :param match: Criterion for classifying a healthy probe response. - :type match: - ~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayProbeHealthResponseMatch - :param provisioning_state: The provisioning state of the probe resource. - Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param port: Custom port which will be used for probing the backend - servers. The valid value ranges from 1 to 65535. In case not set, port - from http settings will be used. This property is valid for Standard_v2 - and WAF_v2 only. - :type port: int - :param name: Name of the probe that is unique within an Application - Gateway. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - :param type: Type of the resource. - :type type: str - """ - - _validation = { - 'port': {'maximum': 65535, 'minimum': 1}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'protocol': {'key': 'properties.protocol', 'type': 'str'}, - 'host': {'key': 'properties.host', 'type': 'str'}, - 'path': {'key': 'properties.path', 'type': 'str'}, - 'interval': {'key': 'properties.interval', 'type': 'int'}, - 'timeout': {'key': 'properties.timeout', 'type': 'int'}, - 'unhealthy_threshold': {'key': 'properties.unhealthyThreshold', 'type': 'int'}, - 'pick_host_name_from_backend_http_settings': {'key': 'properties.pickHostNameFromBackendHttpSettings', 'type': 'bool'}, - 'min_servers': {'key': 'properties.minServers', 'type': 'int'}, - 'match': {'key': 'properties.match', 'type': 'ApplicationGatewayProbeHealthResponseMatch'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'port': {'key': 'properties.port', 'type': 'int'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, protocol=None, host: str=None, path: str=None, interval: int=None, timeout: int=None, unhealthy_threshold: int=None, pick_host_name_from_backend_http_settings: bool=None, min_servers: int=None, match=None, provisioning_state=None, port: int=None, name: str=None, etag: str=None, type: str=None, **kwargs) -> None: - super(ApplicationGatewayProbe, self).__init__(id=id, **kwargs) - self.protocol = protocol - self.host = host - self.path = path - self.interval = interval - self.timeout = timeout - self.unhealthy_threshold = unhealthy_threshold - self.pick_host_name_from_backend_http_settings = pick_host_name_from_backend_http_settings - self.min_servers = min_servers - self.match = match - self.provisioning_state = provisioning_state - self.port = port - self.name = name - self.etag = etag - self.type = type - - -class ApplicationGatewayProbeHealthResponseMatch(Model): - """Application gateway probe health response match. - - :param body: Body that must be contained in the health response. Default - value is empty. - :type body: str - :param status_codes: Allowed ranges of healthy status codes. Default range - of healthy status codes is 200-399. - :type status_codes: list[str] - """ - - _attribute_map = { - 'body': {'key': 'body', 'type': 'str'}, - 'status_codes': {'key': 'statusCodes', 'type': '[str]'}, - } - - def __init__(self, *, body: str=None, status_codes=None, **kwargs) -> None: - super(ApplicationGatewayProbeHealthResponseMatch, self).__init__(**kwargs) - self.body = body - self.status_codes = status_codes - - -class ApplicationGatewayRedirectConfiguration(SubResource): - """Redirect configuration of an application gateway. - - :param id: Resource ID. - :type id: str - :param redirect_type: HTTP redirection type. Possible values include: - 'Permanent', 'Found', 'SeeOther', 'Temporary' - :type redirect_type: str or - ~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayRedirectType - :param target_listener: Reference to a listener to redirect the request - to. - :type target_listener: ~azure.mgmt.network.v2019_07_01.models.SubResource - :param target_url: Url to redirect the request to. - :type target_url: str - :param include_path: Include path in the redirected url. - :type include_path: bool - :param include_query_string: Include query string in the redirected url. - :type include_query_string: bool - :param request_routing_rules: Request routing specifying redirect - configuration. - :type request_routing_rules: - list[~azure.mgmt.network.v2019_07_01.models.SubResource] - :param url_path_maps: Url path maps specifying default redirect - configuration. - :type url_path_maps: - list[~azure.mgmt.network.v2019_07_01.models.SubResource] - :param path_rules: Path rules specifying redirect configuration. - :type path_rules: list[~azure.mgmt.network.v2019_07_01.models.SubResource] - :param name: Name of the redirect configuration that is unique within an - Application Gateway. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - :param type: Type of the resource. - :type type: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'redirect_type': {'key': 'properties.redirectType', 'type': 'str'}, - 'target_listener': {'key': 'properties.targetListener', 'type': 'SubResource'}, - 'target_url': {'key': 'properties.targetUrl', 'type': 'str'}, - 'include_path': {'key': 'properties.includePath', 'type': 'bool'}, - 'include_query_string': {'key': 'properties.includeQueryString', 'type': 'bool'}, - 'request_routing_rules': {'key': 'properties.requestRoutingRules', 'type': '[SubResource]'}, - 'url_path_maps': {'key': 'properties.urlPathMaps', 'type': '[SubResource]'}, - 'path_rules': {'key': 'properties.pathRules', 'type': '[SubResource]'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, redirect_type=None, target_listener=None, target_url: str=None, include_path: bool=None, include_query_string: bool=None, request_routing_rules=None, url_path_maps=None, path_rules=None, name: str=None, etag: str=None, type: str=None, **kwargs) -> None: - super(ApplicationGatewayRedirectConfiguration, self).__init__(id=id, **kwargs) - self.redirect_type = redirect_type - self.target_listener = target_listener - self.target_url = target_url - self.include_path = include_path - self.include_query_string = include_query_string - self.request_routing_rules = request_routing_rules - self.url_path_maps = url_path_maps - self.path_rules = path_rules - self.name = name - self.etag = etag - self.type = type - - -class ApplicationGatewayRequestRoutingRule(SubResource): - """Request routing rule of an application gateway. - - :param id: Resource ID. - :type id: str - :param rule_type: Rule type. Possible values include: 'Basic', - 'PathBasedRouting' - :type rule_type: str or - ~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayRequestRoutingRuleType - :param priority: Priority of the request routing rule. - :type priority: int - :param backend_address_pool: Backend address pool resource of the - application gateway. - :type backend_address_pool: - ~azure.mgmt.network.v2019_07_01.models.SubResource - :param backend_http_settings: Backend http settings resource of the - application gateway. - :type backend_http_settings: - ~azure.mgmt.network.v2019_07_01.models.SubResource - :param http_listener: Http listener resource of the application gateway. - :type http_listener: ~azure.mgmt.network.v2019_07_01.models.SubResource - :param url_path_map: URL path map resource of the application gateway. - :type url_path_map: ~azure.mgmt.network.v2019_07_01.models.SubResource - :param rewrite_rule_set: Rewrite Rule Set resource in Basic rule of the - application gateway. - :type rewrite_rule_set: ~azure.mgmt.network.v2019_07_01.models.SubResource - :param redirect_configuration: Redirect configuration resource of the - application gateway. - :type redirect_configuration: - ~azure.mgmt.network.v2019_07_01.models.SubResource - :param provisioning_state: The provisioning state of the request routing - rule resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: Name of the request routing rule that is unique within an - Application Gateway. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - :param type: Type of the resource. - :type type: str - """ - - _validation = { - 'priority': {'maximum': 20000, 'minimum': 1}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'rule_type': {'key': 'properties.ruleType', 'type': 'str'}, - 'priority': {'key': 'properties.priority', 'type': 'int'}, - 'backend_address_pool': {'key': 'properties.backendAddressPool', 'type': 'SubResource'}, - 'backend_http_settings': {'key': 'properties.backendHttpSettings', 'type': 'SubResource'}, - 'http_listener': {'key': 'properties.httpListener', 'type': 'SubResource'}, - 'url_path_map': {'key': 'properties.urlPathMap', 'type': 'SubResource'}, - 'rewrite_rule_set': {'key': 'properties.rewriteRuleSet', 'type': 'SubResource'}, - 'redirect_configuration': {'key': 'properties.redirectConfiguration', 'type': 'SubResource'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, rule_type=None, priority: int=None, backend_address_pool=None, backend_http_settings=None, http_listener=None, url_path_map=None, rewrite_rule_set=None, redirect_configuration=None, provisioning_state=None, name: str=None, etag: str=None, type: str=None, **kwargs) -> None: - super(ApplicationGatewayRequestRoutingRule, self).__init__(id=id, **kwargs) - self.rule_type = rule_type - self.priority = priority - self.backend_address_pool = backend_address_pool - self.backend_http_settings = backend_http_settings - self.http_listener = http_listener - self.url_path_map = url_path_map - self.rewrite_rule_set = rewrite_rule_set - self.redirect_configuration = redirect_configuration - self.provisioning_state = provisioning_state - self.name = name - self.etag = etag - self.type = type - - -class ApplicationGatewayRewriteRule(Model): - """Rewrite rule of an application gateway. - - :param name: Name of the rewrite rule that is unique within an Application - Gateway. - :type name: str - :param rule_sequence: Rule Sequence of the rewrite rule that determines - the order of execution of a particular rule in a RewriteRuleSet. - :type rule_sequence: int - :param conditions: Conditions based on which the action set execution will - be evaluated. - :type conditions: - list[~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayRewriteRuleCondition] - :param action_set: Set of actions to be done as part of the rewrite Rule. - :type action_set: - ~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayRewriteRuleActionSet - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'rule_sequence': {'key': 'ruleSequence', 'type': 'int'}, - 'conditions': {'key': 'conditions', 'type': '[ApplicationGatewayRewriteRuleCondition]'}, - 'action_set': {'key': 'actionSet', 'type': 'ApplicationGatewayRewriteRuleActionSet'}, - } - - def __init__(self, *, name: str=None, rule_sequence: int=None, conditions=None, action_set=None, **kwargs) -> None: - super(ApplicationGatewayRewriteRule, self).__init__(**kwargs) - self.name = name - self.rule_sequence = rule_sequence - self.conditions = conditions - self.action_set = action_set - - -class ApplicationGatewayRewriteRuleActionSet(Model): - """Set of actions in the Rewrite Rule in Application Gateway. - - :param request_header_configurations: Request Header Actions in the Action - Set. - :type request_header_configurations: - list[~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayHeaderConfiguration] - :param response_header_configurations: Response Header Actions in the - Action Set. - :type response_header_configurations: - list[~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayHeaderConfiguration] - """ - - _attribute_map = { - 'request_header_configurations': {'key': 'requestHeaderConfigurations', 'type': '[ApplicationGatewayHeaderConfiguration]'}, - 'response_header_configurations': {'key': 'responseHeaderConfigurations', 'type': '[ApplicationGatewayHeaderConfiguration]'}, - } - - def __init__(self, *, request_header_configurations=None, response_header_configurations=None, **kwargs) -> None: - super(ApplicationGatewayRewriteRuleActionSet, self).__init__(**kwargs) - self.request_header_configurations = request_header_configurations - self.response_header_configurations = response_header_configurations - - -class ApplicationGatewayRewriteRuleCondition(Model): - """Set of conditions in the Rewrite Rule in Application Gateway. - - :param variable: The condition parameter of the RewriteRuleCondition. - :type variable: str - :param pattern: The pattern, either fixed string or regular expression, - that evaluates the truthfulness of the condition. - :type pattern: str - :param ignore_case: Setting this paramter to truth value with force the - pattern to do a case in-sensitive comparison. - :type ignore_case: bool - :param negate: Setting this value as truth will force to check the - negation of the condition given by the user. - :type negate: bool - """ - - _attribute_map = { - 'variable': {'key': 'variable', 'type': 'str'}, - 'pattern': {'key': 'pattern', 'type': 'str'}, - 'ignore_case': {'key': 'ignoreCase', 'type': 'bool'}, - 'negate': {'key': 'negate', 'type': 'bool'}, - } - - def __init__(self, *, variable: str=None, pattern: str=None, ignore_case: bool=None, negate: bool=None, **kwargs) -> None: - super(ApplicationGatewayRewriteRuleCondition, self).__init__(**kwargs) - self.variable = variable - self.pattern = pattern - self.ignore_case = ignore_case - self.negate = negate - - -class ApplicationGatewayRewriteRuleSet(SubResource): - """Rewrite rule set of an application gateway. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param rewrite_rules: Rewrite rules in the rewrite rule set. - :type rewrite_rules: - list[~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayRewriteRule] - :ivar provisioning_state: The provisioning state of the rewrite rule set - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: Name of the rewrite rule set that is unique within an - Application Gateway. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'rewrite_rules': {'key': 'properties.rewriteRules', 'type': '[ApplicationGatewayRewriteRule]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, rewrite_rules=None, name: str=None, **kwargs) -> None: - super(ApplicationGatewayRewriteRuleSet, self).__init__(id=id, **kwargs) - self.rewrite_rules = rewrite_rules - self.provisioning_state = None - self.name = name - self.etag = None - - -class ApplicationGatewaySku(Model): - """SKU of an application gateway. - - :param name: Name of an application gateway SKU. Possible values include: - 'Standard_Small', 'Standard_Medium', 'Standard_Large', 'WAF_Medium', - 'WAF_Large', 'Standard_v2', 'WAF_v2' - :type name: str or - ~azure.mgmt.network.v2019_07_01.models.ApplicationGatewaySkuName - :param tier: Tier of an application gateway. Possible values include: - 'Standard', 'WAF', 'Standard_v2', 'WAF_v2' - :type tier: str or - ~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayTier - :param capacity: Capacity (instance count) of an application gateway. - :type capacity: int - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'tier': {'key': 'tier', 'type': 'str'}, - 'capacity': {'key': 'capacity', 'type': 'int'}, - } - - def __init__(self, *, name=None, tier=None, capacity: int=None, **kwargs) -> None: - super(ApplicationGatewaySku, self).__init__(**kwargs) - self.name = name - self.tier = tier - self.capacity = capacity - - -class ApplicationGatewaySslCertificate(SubResource): - """SSL certificates of an application gateway. - - :param id: Resource ID. - :type id: str - :param data: Base-64 encoded pfx certificate. Only applicable in PUT - Request. - :type data: str - :param password: Password for the pfx file specified in data. Only - applicable in PUT request. - :type password: str - :param public_cert_data: Base-64 encoded Public cert data corresponding to - pfx specified in data. Only applicable in GET request. - :type public_cert_data: str - :param key_vault_secret_id: Secret Id of (base-64 encoded unencrypted pfx) - 'Secret' or 'Certificate' object stored in KeyVault. - :type key_vault_secret_id: str - :param provisioning_state: The provisioning state of the SSL certificate - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: Name of the SSL certificate that is unique within an - Application Gateway. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - :param type: Type of the resource. - :type type: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'data': {'key': 'properties.data', 'type': 'str'}, - 'password': {'key': 'properties.password', 'type': 'str'}, - 'public_cert_data': {'key': 'properties.publicCertData', 'type': 'str'}, - 'key_vault_secret_id': {'key': 'properties.keyVaultSecretId', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, data: str=None, password: str=None, public_cert_data: str=None, key_vault_secret_id: str=None, provisioning_state=None, name: str=None, etag: str=None, type: str=None, **kwargs) -> None: - super(ApplicationGatewaySslCertificate, self).__init__(id=id, **kwargs) - self.data = data - self.password = password - self.public_cert_data = public_cert_data - self.key_vault_secret_id = key_vault_secret_id - self.provisioning_state = provisioning_state - self.name = name - self.etag = etag - self.type = type - - -class ApplicationGatewaySslPolicy(Model): - """Application Gateway Ssl policy. - - :param disabled_ssl_protocols: Ssl protocols to be disabled on application - gateway. - :type disabled_ssl_protocols: list[str or - ~azure.mgmt.network.v2019_07_01.models.ApplicationGatewaySslProtocol] - :param policy_type: Type of Ssl Policy. Possible values include: - 'Predefined', 'Custom' - :type policy_type: str or - ~azure.mgmt.network.v2019_07_01.models.ApplicationGatewaySslPolicyType - :param policy_name: Name of Ssl predefined policy. Possible values - include: 'AppGwSslPolicy20150501', 'AppGwSslPolicy20170401', - 'AppGwSslPolicy20170401S' - :type policy_name: str or - ~azure.mgmt.network.v2019_07_01.models.ApplicationGatewaySslPolicyName - :param cipher_suites: Ssl cipher suites to be enabled in the specified - order to application gateway. - :type cipher_suites: list[str or - ~azure.mgmt.network.v2019_07_01.models.ApplicationGatewaySslCipherSuite] - :param min_protocol_version: Minimum version of Ssl protocol to be - supported on application gateway. Possible values include: 'TLSv1_0', - 'TLSv1_1', 'TLSv1_2' - :type min_protocol_version: str or - ~azure.mgmt.network.v2019_07_01.models.ApplicationGatewaySslProtocol - """ - - _attribute_map = { - 'disabled_ssl_protocols': {'key': 'disabledSslProtocols', 'type': '[str]'}, - 'policy_type': {'key': 'policyType', 'type': 'str'}, - 'policy_name': {'key': 'policyName', 'type': 'str'}, - 'cipher_suites': {'key': 'cipherSuites', 'type': '[str]'}, - 'min_protocol_version': {'key': 'minProtocolVersion', 'type': 'str'}, - } - - def __init__(self, *, disabled_ssl_protocols=None, policy_type=None, policy_name=None, cipher_suites=None, min_protocol_version=None, **kwargs) -> None: - super(ApplicationGatewaySslPolicy, self).__init__(**kwargs) - self.disabled_ssl_protocols = disabled_ssl_protocols - self.policy_type = policy_type - self.policy_name = policy_name - self.cipher_suites = cipher_suites - self.min_protocol_version = min_protocol_version - - -class ApplicationGatewaySslPredefinedPolicy(SubResource): - """An Ssl predefined policy. - - :param id: Resource ID. - :type id: str - :param name: Name of the Ssl predefined policy. - :type name: str - :param cipher_suites: Ssl cipher suites to be enabled in the specified - order for application gateway. - :type cipher_suites: list[str or - ~azure.mgmt.network.v2019_07_01.models.ApplicationGatewaySslCipherSuite] - :param min_protocol_version: Minimum version of Ssl protocol to be - supported on application gateway. Possible values include: 'TLSv1_0', - 'TLSv1_1', 'TLSv1_2' - :type min_protocol_version: str or - ~azure.mgmt.network.v2019_07_01.models.ApplicationGatewaySslProtocol - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'cipher_suites': {'key': 'properties.cipherSuites', 'type': '[str]'}, - 'min_protocol_version': {'key': 'properties.minProtocolVersion', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, name: str=None, cipher_suites=None, min_protocol_version=None, **kwargs) -> None: - super(ApplicationGatewaySslPredefinedPolicy, self).__init__(id=id, **kwargs) - self.name = name - self.cipher_suites = cipher_suites - self.min_protocol_version = min_protocol_version - - -class ApplicationGatewayTrustedRootCertificate(SubResource): - """Trusted Root certificates of an application gateway. - - :param id: Resource ID. - :type id: str - :param data: Certificate public data. - :type data: str - :param key_vault_secret_id: Secret Id of (base-64 encoded unencrypted pfx) - 'Secret' or 'Certificate' object stored in KeyVault. - :type key_vault_secret_id: str - :param provisioning_state: The provisioning state of the trusted root - certificate resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: Name of the trusted root certificate that is unique within an - Application Gateway. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - :param type: Type of the resource. - :type type: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'data': {'key': 'properties.data', 'type': 'str'}, - 'key_vault_secret_id': {'key': 'properties.keyVaultSecretId', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, data: str=None, key_vault_secret_id: str=None, provisioning_state=None, name: str=None, etag: str=None, type: str=None, **kwargs) -> None: - super(ApplicationGatewayTrustedRootCertificate, self).__init__(id=id, **kwargs) - self.data = data - self.key_vault_secret_id = key_vault_secret_id - self.provisioning_state = provisioning_state - self.name = name - self.etag = etag - self.type = type - - -class ApplicationGatewayUrlPathMap(SubResource): - """UrlPathMaps give a url path to the backend mapping information for - PathBasedRouting. - - :param id: Resource ID. - :type id: str - :param default_backend_address_pool: Default backend address pool resource - of URL path map. - :type default_backend_address_pool: - ~azure.mgmt.network.v2019_07_01.models.SubResource - :param default_backend_http_settings: Default backend http settings - resource of URL path map. - :type default_backend_http_settings: - ~azure.mgmt.network.v2019_07_01.models.SubResource - :param default_rewrite_rule_set: Default Rewrite rule set resource of URL - path map. - :type default_rewrite_rule_set: - ~azure.mgmt.network.v2019_07_01.models.SubResource - :param default_redirect_configuration: Default redirect configuration - resource of URL path map. - :type default_redirect_configuration: - ~azure.mgmt.network.v2019_07_01.models.SubResource - :param path_rules: Path rule of URL path map resource. - :type path_rules: - list[~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayPathRule] - :param provisioning_state: The provisioning state of the URL path map - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: Name of the URL path map that is unique within an Application - Gateway. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - :param type: Type of the resource. - :type type: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'default_backend_address_pool': {'key': 'properties.defaultBackendAddressPool', 'type': 'SubResource'}, - 'default_backend_http_settings': {'key': 'properties.defaultBackendHttpSettings', 'type': 'SubResource'}, - 'default_rewrite_rule_set': {'key': 'properties.defaultRewriteRuleSet', 'type': 'SubResource'}, - 'default_redirect_configuration': {'key': 'properties.defaultRedirectConfiguration', 'type': 'SubResource'}, - 'path_rules': {'key': 'properties.pathRules', 'type': '[ApplicationGatewayPathRule]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, default_backend_address_pool=None, default_backend_http_settings=None, default_rewrite_rule_set=None, default_redirect_configuration=None, path_rules=None, provisioning_state=None, name: str=None, etag: str=None, type: str=None, **kwargs) -> None: - super(ApplicationGatewayUrlPathMap, self).__init__(id=id, **kwargs) - self.default_backend_address_pool = default_backend_address_pool - self.default_backend_http_settings = default_backend_http_settings - self.default_rewrite_rule_set = default_rewrite_rule_set - self.default_redirect_configuration = default_redirect_configuration - self.path_rules = path_rules - self.provisioning_state = provisioning_state - self.name = name - self.etag = etag - self.type = type - - -class ApplicationGatewayWebApplicationFirewallConfiguration(Model): - """Application gateway web application firewall configuration. - - All required parameters must be populated in order to send to Azure. - - :param enabled: Required. Whether the web application firewall is enabled - or not. - :type enabled: bool - :param firewall_mode: Required. Web application firewall mode. Possible - values include: 'Detection', 'Prevention' - :type firewall_mode: str or - ~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayFirewallMode - :param rule_set_type: Required. The type of the web application firewall - rule set. Possible values are: 'OWASP'. - :type rule_set_type: str - :param rule_set_version: Required. The version of the rule set type. - :type rule_set_version: str - :param disabled_rule_groups: The disabled rule groups. - :type disabled_rule_groups: - list[~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayFirewallDisabledRuleGroup] - :param request_body_check: Whether allow WAF to check request Body. - :type request_body_check: bool - :param max_request_body_size: Maximum request body size for WAF. - :type max_request_body_size: int - :param max_request_body_size_in_kb: Maximum request body size in Kb for - WAF. - :type max_request_body_size_in_kb: int - :param file_upload_limit_in_mb: Maximum file upload size in Mb for WAF. - :type file_upload_limit_in_mb: int - :param exclusions: The exclusion list. - :type exclusions: - list[~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayFirewallExclusion] - """ - - _validation = { - 'enabled': {'required': True}, - 'firewall_mode': {'required': True}, - 'rule_set_type': {'required': True}, - 'rule_set_version': {'required': True}, - 'max_request_body_size': {'maximum': 128, 'minimum': 8}, - 'max_request_body_size_in_kb': {'maximum': 128, 'minimum': 8}, - 'file_upload_limit_in_mb': {'minimum': 0}, - } - - _attribute_map = { - 'enabled': {'key': 'enabled', 'type': 'bool'}, - 'firewall_mode': {'key': 'firewallMode', 'type': 'str'}, - 'rule_set_type': {'key': 'ruleSetType', 'type': 'str'}, - 'rule_set_version': {'key': 'ruleSetVersion', 'type': 'str'}, - 'disabled_rule_groups': {'key': 'disabledRuleGroups', 'type': '[ApplicationGatewayFirewallDisabledRuleGroup]'}, - 'request_body_check': {'key': 'requestBodyCheck', 'type': 'bool'}, - 'max_request_body_size': {'key': 'maxRequestBodySize', 'type': 'int'}, - 'max_request_body_size_in_kb': {'key': 'maxRequestBodySizeInKb', 'type': 'int'}, - 'file_upload_limit_in_mb': {'key': 'fileUploadLimitInMb', 'type': 'int'}, - 'exclusions': {'key': 'exclusions', 'type': '[ApplicationGatewayFirewallExclusion]'}, - } - - def __init__(self, *, enabled: bool, firewall_mode, rule_set_type: str, rule_set_version: str, disabled_rule_groups=None, request_body_check: bool=None, max_request_body_size: int=None, max_request_body_size_in_kb: int=None, file_upload_limit_in_mb: int=None, exclusions=None, **kwargs) -> None: - super(ApplicationGatewayWebApplicationFirewallConfiguration, self).__init__(**kwargs) - self.enabled = enabled - self.firewall_mode = firewall_mode - self.rule_set_type = rule_set_type - self.rule_set_version = rule_set_version - self.disabled_rule_groups = disabled_rule_groups - self.request_body_check = request_body_check - self.max_request_body_size = max_request_body_size - self.max_request_body_size_in_kb = max_request_body_size_in_kb - self.file_upload_limit_in_mb = file_upload_limit_in_mb - self.exclusions = exclusions - - -class FirewallPolicyRuleCondition(Model): - """Properties of a rule. - - You probably want to use the sub-classes and not this class directly. Known - sub-classes are: ApplicationRuleCondition, NetworkRuleCondition - - All required parameters must be populated in order to send to Azure. - - :param name: Name of the rule condition. - :type name: str - :param description: Description of the rule condition. - :type description: str - :param rule_condition_type: Required. Constant filled by server. - :type rule_condition_type: str - """ - - _validation = { - 'rule_condition_type': {'required': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'description': {'key': 'description', 'type': 'str'}, - 'rule_condition_type': {'key': 'ruleConditionType', 'type': 'str'}, - } - - _subtype_map = { - 'rule_condition_type': {'ApplicationRuleCondition': 'ApplicationRuleCondition', 'NetworkRuleCondition': 'NetworkRuleCondition'} - } - - def __init__(self, *, name: str=None, description: str=None, **kwargs) -> None: - super(FirewallPolicyRuleCondition, self).__init__(**kwargs) - self.name = name - self.description = description - self.rule_condition_type = None - - -class ApplicationRuleCondition(FirewallPolicyRuleCondition): - """Rule condition of type application. - - All required parameters must be populated in order to send to Azure. - - :param name: Name of the rule condition. - :type name: str - :param description: Description of the rule condition. - :type description: str - :param rule_condition_type: Required. Constant filled by server. - :type rule_condition_type: str - :param source_addresses: List of source IP addresses for this rule. - :type source_addresses: list[str] - :param destination_addresses: List of destination IP addresses or Service - Tags. - :type destination_addresses: list[str] - :param protocols: Array of Application Protocols. - :type protocols: - list[~azure.mgmt.network.v2019_07_01.models.FirewallPolicyRuleConditionApplicationProtocol] - :param target_fqdns: List of FQDNs for this rule condition. - :type target_fqdns: list[str] - :param fqdn_tags: List of FQDN Tags for this rule condition. - :type fqdn_tags: list[str] - """ - - _validation = { - 'rule_condition_type': {'required': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'description': {'key': 'description', 'type': 'str'}, - 'rule_condition_type': {'key': 'ruleConditionType', 'type': 'str'}, - 'source_addresses': {'key': 'sourceAddresses', 'type': '[str]'}, - 'destination_addresses': {'key': 'destinationAddresses', 'type': '[str]'}, - 'protocols': {'key': 'protocols', 'type': '[FirewallPolicyRuleConditionApplicationProtocol]'}, - 'target_fqdns': {'key': 'targetFqdns', 'type': '[str]'}, - 'fqdn_tags': {'key': 'fqdnTags', 'type': '[str]'}, - } - - def __init__(self, *, name: str=None, description: str=None, source_addresses=None, destination_addresses=None, protocols=None, target_fqdns=None, fqdn_tags=None, **kwargs) -> None: - super(ApplicationRuleCondition, self).__init__(name=name, description=description, **kwargs) - self.source_addresses = source_addresses - self.destination_addresses = destination_addresses - self.protocols = protocols - self.target_fqdns = target_fqdns - self.fqdn_tags = fqdn_tags - self.rule_condition_type = 'ApplicationRuleCondition' - - -class ApplicationSecurityGroup(Resource): - """An application security group in a resource group. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :ivar resource_guid: The resource GUID property of the application - security group resource. It uniquely identifies a resource, even if the - user changes its name or migrate the resource across subscriptions or - resource groups. - :vartype resource_guid: str - :ivar provisioning_state: The provisioning state of the application - security group resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'resource_guid': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, **kwargs) -> None: - super(ApplicationSecurityGroup, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.resource_guid = None - self.provisioning_state = None - self.etag = None - - -class AutoApprovedPrivateLinkService(Model): - """The information of an AutoApprovedPrivateLinkService. - - :param private_link_service: The id of the private link service resource. - :type private_link_service: str - """ - - _attribute_map = { - 'private_link_service': {'key': 'privateLinkService', 'type': 'str'}, - } - - def __init__(self, *, private_link_service: str=None, **kwargs) -> None: - super(AutoApprovedPrivateLinkService, self).__init__(**kwargs) - self.private_link_service = private_link_service - - -class Availability(Model): - """Availability of the metric. - - :param time_grain: The time grain of the availability. - :type time_grain: str - :param retention: The retention of the availability. - :type retention: str - :param blob_duration: Duration of the availability blob. - :type blob_duration: str - """ - - _attribute_map = { - 'time_grain': {'key': 'timeGrain', 'type': 'str'}, - 'retention': {'key': 'retention', 'type': 'str'}, - 'blob_duration': {'key': 'blobDuration', 'type': 'str'}, - } - - def __init__(self, *, time_grain: str=None, retention: str=None, blob_duration: str=None, **kwargs) -> None: - super(Availability, self).__init__(**kwargs) - self.time_grain = time_grain - self.retention = retention - self.blob_duration = blob_duration - - -class AvailableDelegation(Model): - """The serviceName of an AvailableDelegation indicates a possible delegation - for a subnet. - - :param name: The name of the AvailableDelegation resource. - :type name: str - :param id: A unique identifier of the AvailableDelegation resource. - :type id: str - :param type: Resource type. - :type type: str - :param service_name: The name of the service and resource. - :type service_name: str - :param actions: Describes the actions permitted to the service upon - delegation. - :type actions: list[str] - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'id': {'key': 'id', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'service_name': {'key': 'serviceName', 'type': 'str'}, - 'actions': {'key': 'actions', 'type': '[str]'}, - } - - def __init__(self, *, name: str=None, id: str=None, type: str=None, service_name: str=None, actions=None, **kwargs) -> None: - super(AvailableDelegation, self).__init__(**kwargs) - self.name = name - self.id = id - self.type = type - self.service_name = service_name - self.actions = actions - - -class AvailablePrivateEndpointType(Model): - """The information of an AvailablePrivateEndpointType. - - :param name: The name of the service and resource. - :type name: str - :param id: A unique identifier of the AvailablePrivateEndpoint Type - resource. - :type id: str - :param type: Resource type. - :type type: str - :param resource_name: The name of the service and resource. - :type resource_name: str - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'id': {'key': 'id', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'resource_name': {'key': 'resourceName', 'type': 'str'}, - } - - def __init__(self, *, name: str=None, id: str=None, type: str=None, resource_name: str=None, **kwargs) -> None: - super(AvailablePrivateEndpointType, self).__init__(**kwargs) - self.name = name - self.id = id - self.type = type - self.resource_name = resource_name - - -class AvailableProvidersList(Model): - """List of available countries with details. - - All required parameters must be populated in order to send to Azure. - - :param countries: Required. List of available countries. - :type countries: - list[~azure.mgmt.network.v2019_07_01.models.AvailableProvidersListCountry] - """ - - _validation = { - 'countries': {'required': True}, - } - - _attribute_map = { - 'countries': {'key': 'countries', 'type': '[AvailableProvidersListCountry]'}, - } - - def __init__(self, *, countries, **kwargs) -> None: - super(AvailableProvidersList, self).__init__(**kwargs) - self.countries = countries - - -class AvailableProvidersListCity(Model): - """City or town details. - - :param city_name: The city or town name. - :type city_name: str - :param providers: A list of Internet service providers. - :type providers: list[str] - """ - - _attribute_map = { - 'city_name': {'key': 'cityName', 'type': 'str'}, - 'providers': {'key': 'providers', 'type': '[str]'}, - } - - def __init__(self, *, city_name: str=None, providers=None, **kwargs) -> None: - super(AvailableProvidersListCity, self).__init__(**kwargs) - self.city_name = city_name - self.providers = providers - - -class AvailableProvidersListCountry(Model): - """Country details. - - :param country_name: The country name. - :type country_name: str - :param providers: A list of Internet service providers. - :type providers: list[str] - :param states: List of available states in the country. - :type states: - list[~azure.mgmt.network.v2019_07_01.models.AvailableProvidersListState] - """ - - _attribute_map = { - 'country_name': {'key': 'countryName', 'type': 'str'}, - 'providers': {'key': 'providers', 'type': '[str]'}, - 'states': {'key': 'states', 'type': '[AvailableProvidersListState]'}, - } - - def __init__(self, *, country_name: str=None, providers=None, states=None, **kwargs) -> None: - super(AvailableProvidersListCountry, self).__init__(**kwargs) - self.country_name = country_name - self.providers = providers - self.states = states - - -class AvailableProvidersListParameters(Model): - """Constraints that determine the list of available Internet service - providers. - - :param azure_locations: A list of Azure regions. - :type azure_locations: list[str] - :param country: The country for available providers list. - :type country: str - :param state: The state for available providers list. - :type state: str - :param city: The city or town for available providers list. - :type city: str - """ - - _attribute_map = { - 'azure_locations': {'key': 'azureLocations', 'type': '[str]'}, - 'country': {'key': 'country', 'type': 'str'}, - 'state': {'key': 'state', 'type': 'str'}, - 'city': {'key': 'city', 'type': 'str'}, - } - - def __init__(self, *, azure_locations=None, country: str=None, state: str=None, city: str=None, **kwargs) -> None: - super(AvailableProvidersListParameters, self).__init__(**kwargs) - self.azure_locations = azure_locations - self.country = country - self.state = state - self.city = city - - -class AvailableProvidersListState(Model): - """State details. - - :param state_name: The state name. - :type state_name: str - :param providers: A list of Internet service providers. - :type providers: list[str] - :param cities: List of available cities or towns in the state. - :type cities: - list[~azure.mgmt.network.v2019_07_01.models.AvailableProvidersListCity] - """ - - _attribute_map = { - 'state_name': {'key': 'stateName', 'type': 'str'}, - 'providers': {'key': 'providers', 'type': '[str]'}, - 'cities': {'key': 'cities', 'type': '[AvailableProvidersListCity]'}, - } - - def __init__(self, *, state_name: str=None, providers=None, cities=None, **kwargs) -> None: - super(AvailableProvidersListState, self).__init__(**kwargs) - self.state_name = state_name - self.providers = providers - self.cities = cities - - -class AzureAsyncOperationResult(Model): - """The response body contains the status of the specified asynchronous - operation, indicating whether it has succeeded, is in progress, or has - failed. Note that this status is distinct from the HTTP status code - returned for the Get Operation Status operation itself. If the asynchronous - operation succeeded, the response body includes the HTTP status code for - the successful request. If the asynchronous operation failed, the response - body includes the HTTP status code for the failed request and error - information regarding the failure. - - :param status: Status of the Azure async operation. Possible values - include: 'InProgress', 'Succeeded', 'Failed' - :type status: str or - ~azure.mgmt.network.v2019_07_01.models.NetworkOperationStatus - :param error: Details of the error occurred during specified asynchronous - operation. - :type error: ~azure.mgmt.network.v2019_07_01.models.Error - """ - - _attribute_map = { - 'status': {'key': 'status', 'type': 'str'}, - 'error': {'key': 'error', 'type': 'Error'}, - } - - def __init__(self, *, status=None, error=None, **kwargs) -> None: - super(AzureAsyncOperationResult, self).__init__(**kwargs) - self.status = status - self.error = error - - -class AzureFirewall(Resource): - """Azure Firewall resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param application_rule_collections: Collection of application rule - collections used by Azure Firewall. - :type application_rule_collections: - list[~azure.mgmt.network.v2019_07_01.models.AzureFirewallApplicationRuleCollection] - :param nat_rule_collections: Collection of NAT rule collections used by - Azure Firewall. - :type nat_rule_collections: - list[~azure.mgmt.network.v2019_07_01.models.AzureFirewallNatRuleCollection] - :param network_rule_collections: Collection of network rule collections - used by Azure Firewall. - :type network_rule_collections: - list[~azure.mgmt.network.v2019_07_01.models.AzureFirewallNetworkRuleCollection] - :param ip_configurations: IP configuration of the Azure Firewall resource. - :type ip_configurations: - list[~azure.mgmt.network.v2019_07_01.models.AzureFirewallIPConfiguration] - :param provisioning_state: The provisioning state of the Azure firewall - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param threat_intel_mode: The operation mode for Threat Intelligence. - Possible values include: 'Alert', 'Deny', 'Off' - :type threat_intel_mode: str or - ~azure.mgmt.network.v2019_07_01.models.AzureFirewallThreatIntelMode - :param virtual_hub: The virtualHub to which the firewall belongs. - :type virtual_hub: ~azure.mgmt.network.v2019_07_01.models.SubResource - :param firewall_policy: The firewallPolicy associated with this azure - firewall. - :type firewall_policy: ~azure.mgmt.network.v2019_07_01.models.SubResource - :ivar hub_ip_addresses: IP addresses associated with AzureFirewall. - :vartype hub_ip_addresses: - ~azure.mgmt.network.v2019_07_01.models.HubIPAddresses - :param zones: A list of availability zones denoting where the resource - needs to come from. - :type zones: list[str] - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'hub_ip_addresses': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'application_rule_collections': {'key': 'properties.applicationRuleCollections', 'type': '[AzureFirewallApplicationRuleCollection]'}, - 'nat_rule_collections': {'key': 'properties.natRuleCollections', 'type': '[AzureFirewallNatRuleCollection]'}, - 'network_rule_collections': {'key': 'properties.networkRuleCollections', 'type': '[AzureFirewallNetworkRuleCollection]'}, - 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[AzureFirewallIPConfiguration]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'threat_intel_mode': {'key': 'properties.threatIntelMode', 'type': 'str'}, - 'virtual_hub': {'key': 'properties.virtualHub', 'type': 'SubResource'}, - 'firewall_policy': {'key': 'properties.firewallPolicy', 'type': 'SubResource'}, - 'hub_ip_addresses': {'key': 'properties.hubIpAddresses', 'type': 'HubIPAddresses'}, - 'zones': {'key': 'zones', 'type': '[str]'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, application_rule_collections=None, nat_rule_collections=None, network_rule_collections=None, ip_configurations=None, provisioning_state=None, threat_intel_mode=None, virtual_hub=None, firewall_policy=None, zones=None, **kwargs) -> None: - super(AzureFirewall, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.application_rule_collections = application_rule_collections - self.nat_rule_collections = nat_rule_collections - self.network_rule_collections = network_rule_collections - self.ip_configurations = ip_configurations - self.provisioning_state = provisioning_state - self.threat_intel_mode = threat_intel_mode - self.virtual_hub = virtual_hub - self.firewall_policy = firewall_policy - self.hub_ip_addresses = None - self.zones = zones - self.etag = None - - -class AzureFirewallApplicationRule(Model): - """Properties of an application rule. - - :param name: Name of the application rule. - :type name: str - :param description: Description of the rule. - :type description: str - :param source_addresses: List of source IP addresses for this rule. - :type source_addresses: list[str] - :param protocols: Array of ApplicationRuleProtocols. - :type protocols: - list[~azure.mgmt.network.v2019_07_01.models.AzureFirewallApplicationRuleProtocol] - :param target_fqdns: List of FQDNs for this rule. - :type target_fqdns: list[str] - :param fqdn_tags: List of FQDN Tags for this rule. - :type fqdn_tags: list[str] - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'description': {'key': 'description', 'type': 'str'}, - 'source_addresses': {'key': 'sourceAddresses', 'type': '[str]'}, - 'protocols': {'key': 'protocols', 'type': '[AzureFirewallApplicationRuleProtocol]'}, - 'target_fqdns': {'key': 'targetFqdns', 'type': '[str]'}, - 'fqdn_tags': {'key': 'fqdnTags', 'type': '[str]'}, - } - - def __init__(self, *, name: str=None, description: str=None, source_addresses=None, protocols=None, target_fqdns=None, fqdn_tags=None, **kwargs) -> None: - super(AzureFirewallApplicationRule, self).__init__(**kwargs) - self.name = name - self.description = description - self.source_addresses = source_addresses - self.protocols = protocols - self.target_fqdns = target_fqdns - self.fqdn_tags = fqdn_tags - - -class AzureFirewallApplicationRuleCollection(SubResource): - """Application rule collection resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param priority: Priority of the application rule collection resource. - :type priority: int - :param action: The action type of a rule collection. - :type action: ~azure.mgmt.network.v2019_07_01.models.AzureFirewallRCAction - :param rules: Collection of rules used by a application rule collection. - :type rules: - list[~azure.mgmt.network.v2019_07_01.models.AzureFirewallApplicationRule] - :param provisioning_state: The provisioning state of the application rule - collection resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: The name of the resource that is unique within the Azure - firewall. This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'priority': {'maximum': 65000, 'minimum': 100}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'priority': {'key': 'properties.priority', 'type': 'int'}, - 'action': {'key': 'properties.action', 'type': 'AzureFirewallRCAction'}, - 'rules': {'key': 'properties.rules', 'type': '[AzureFirewallApplicationRule]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, priority: int=None, action=None, rules=None, provisioning_state=None, name: str=None, **kwargs) -> None: - super(AzureFirewallApplicationRuleCollection, self).__init__(id=id, **kwargs) - self.priority = priority - self.action = action - self.rules = rules - self.provisioning_state = provisioning_state - self.name = name - self.etag = None - - -class AzureFirewallApplicationRuleProtocol(Model): - """Properties of the application rule protocol. - - :param protocol_type: Protocol type. Possible values include: 'Http', - 'Https', 'Mssql' - :type protocol_type: str or - ~azure.mgmt.network.v2019_07_01.models.AzureFirewallApplicationRuleProtocolType - :param port: Port number for the protocol, cannot be greater than 64000. - This field is optional. - :type port: int - """ - - _validation = { - 'port': {'maximum': 64000, 'minimum': 0}, - } - - _attribute_map = { - 'protocol_type': {'key': 'protocolType', 'type': 'str'}, - 'port': {'key': 'port', 'type': 'int'}, - } - - def __init__(self, *, protocol_type=None, port: int=None, **kwargs) -> None: - super(AzureFirewallApplicationRuleProtocol, self).__init__(**kwargs) - self.protocol_type = protocol_type - self.port = port - - -class AzureFirewallFqdnTag(Resource): - """Azure Firewall FQDN Tag Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :ivar provisioning_state: The provisioning state of the Azure firewall - FQDN tag resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :ivar fqdn_tag_name: The name of this FQDN Tag. - :vartype fqdn_tag_name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'fqdn_tag_name': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'fqdn_tag_name': {'key': 'properties.fqdnTagName', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, **kwargs) -> None: - super(AzureFirewallFqdnTag, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.provisioning_state = None - self.fqdn_tag_name = None - self.etag = None - - -class AzureFirewallIPConfiguration(SubResource): - """IP configuration of an Azure Firewall. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar private_ip_address: The Firewall Internal Load Balancer IP to be - used as the next hop in User Defined Routes. - :vartype private_ip_address: str - :param subnet: Reference of the subnet resource. This resource must be - named 'AzureFirewallSubnet'. - :type subnet: ~azure.mgmt.network.v2019_07_01.models.SubResource - :param public_ip_address: Reference of the PublicIP resource. This field - is a mandatory input if subnet is not null. - :type public_ip_address: - ~azure.mgmt.network.v2019_07_01.models.SubResource - :param provisioning_state: The provisioning state of the Azure firewall IP - configuration resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: Name of the resource that is unique within a resource group. - This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'private_ip_address': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, - 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, - 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'SubResource'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, subnet=None, public_ip_address=None, provisioning_state=None, name: str=None, **kwargs) -> None: - super(AzureFirewallIPConfiguration, self).__init__(id=id, **kwargs) - self.private_ip_address = None - self.subnet = subnet - self.public_ip_address = public_ip_address - self.provisioning_state = provisioning_state - self.name = name - self.etag = None - - -class AzureFirewallNatRCAction(Model): - """AzureFirewall NAT Rule Collection Action. - - :param type: The type of action. Possible values include: 'Snat', 'Dnat' - :type type: str or - ~azure.mgmt.network.v2019_07_01.models.AzureFirewallNatRCActionType - """ - - _attribute_map = { - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, type=None, **kwargs) -> None: - super(AzureFirewallNatRCAction, self).__init__(**kwargs) - self.type = type - - -class AzureFirewallNatRule(Model): - """Properties of a NAT rule. - - :param name: Name of the NAT rule. - :type name: str - :param description: Description of the rule. - :type description: str - :param source_addresses: List of source IP addresses for this rule. - :type source_addresses: list[str] - :param destination_addresses: List of destination IP addresses for this - rule. Supports IP ranges, prefixes, and service tags. - :type destination_addresses: list[str] - :param destination_ports: List of destination ports. - :type destination_ports: list[str] - :param protocols: Array of AzureFirewallNetworkRuleProtocols applicable to - this NAT rule. - :type protocols: list[str or - ~azure.mgmt.network.v2019_07_01.models.AzureFirewallNetworkRuleProtocol] - :param translated_address: The translated address for this NAT rule. - :type translated_address: str - :param translated_port: The translated port for this NAT rule. - :type translated_port: str - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'description': {'key': 'description', 'type': 'str'}, - 'source_addresses': {'key': 'sourceAddresses', 'type': '[str]'}, - 'destination_addresses': {'key': 'destinationAddresses', 'type': '[str]'}, - 'destination_ports': {'key': 'destinationPorts', 'type': '[str]'}, - 'protocols': {'key': 'protocols', 'type': '[str]'}, - 'translated_address': {'key': 'translatedAddress', 'type': 'str'}, - 'translated_port': {'key': 'translatedPort', 'type': 'str'}, - } - - def __init__(self, *, name: str=None, description: str=None, source_addresses=None, destination_addresses=None, destination_ports=None, protocols=None, translated_address: str=None, translated_port: str=None, **kwargs) -> None: - super(AzureFirewallNatRule, self).__init__(**kwargs) - self.name = name - self.description = description - self.source_addresses = source_addresses - self.destination_addresses = destination_addresses - self.destination_ports = destination_ports - self.protocols = protocols - self.translated_address = translated_address - self.translated_port = translated_port - - -class AzureFirewallNatRuleCollection(SubResource): - """NAT rule collection resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param priority: Priority of the NAT rule collection resource. - :type priority: int - :param action: The action type of a NAT rule collection. - :type action: - ~azure.mgmt.network.v2019_07_01.models.AzureFirewallNatRCAction - :param rules: Collection of rules used by a NAT rule collection. - :type rules: - list[~azure.mgmt.network.v2019_07_01.models.AzureFirewallNatRule] - :param provisioning_state: The provisioning state of the NAT rule - collection resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: The name of the resource that is unique within the Azure - firewall. This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'priority': {'maximum': 65000, 'minimum': 100}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'priority': {'key': 'properties.priority', 'type': 'int'}, - 'action': {'key': 'properties.action', 'type': 'AzureFirewallNatRCAction'}, - 'rules': {'key': 'properties.rules', 'type': '[AzureFirewallNatRule]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, priority: int=None, action=None, rules=None, provisioning_state=None, name: str=None, **kwargs) -> None: - super(AzureFirewallNatRuleCollection, self).__init__(id=id, **kwargs) - self.priority = priority - self.action = action - self.rules = rules - self.provisioning_state = provisioning_state - self.name = name - self.etag = None - - -class AzureFirewallNetworkRule(Model): - """Properties of the network rule. - - :param name: Name of the network rule. - :type name: str - :param description: Description of the rule. - :type description: str - :param protocols: Array of AzureFirewallNetworkRuleProtocols. - :type protocols: list[str or - ~azure.mgmt.network.v2019_07_01.models.AzureFirewallNetworkRuleProtocol] - :param source_addresses: List of source IP addresses for this rule. - :type source_addresses: list[str] - :param destination_addresses: List of destination IP addresses. - :type destination_addresses: list[str] - :param destination_ports: List of destination ports. - :type destination_ports: list[str] - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'description': {'key': 'description', 'type': 'str'}, - 'protocols': {'key': 'protocols', 'type': '[str]'}, - 'source_addresses': {'key': 'sourceAddresses', 'type': '[str]'}, - 'destination_addresses': {'key': 'destinationAddresses', 'type': '[str]'}, - 'destination_ports': {'key': 'destinationPorts', 'type': '[str]'}, - } - - def __init__(self, *, name: str=None, description: str=None, protocols=None, source_addresses=None, destination_addresses=None, destination_ports=None, **kwargs) -> None: - super(AzureFirewallNetworkRule, self).__init__(**kwargs) - self.name = name - self.description = description - self.protocols = protocols - self.source_addresses = source_addresses - self.destination_addresses = destination_addresses - self.destination_ports = destination_ports - - -class AzureFirewallNetworkRuleCollection(SubResource): - """Network rule collection resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param priority: Priority of the network rule collection resource. - :type priority: int - :param action: The action type of a rule collection. - :type action: ~azure.mgmt.network.v2019_07_01.models.AzureFirewallRCAction - :param rules: Collection of rules used by a network rule collection. - :type rules: - list[~azure.mgmt.network.v2019_07_01.models.AzureFirewallNetworkRule] - :param provisioning_state: The provisioning state of the network rule - collection resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: The name of the resource that is unique within the Azure - firewall. This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'priority': {'maximum': 65000, 'minimum': 100}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'priority': {'key': 'properties.priority', 'type': 'int'}, - 'action': {'key': 'properties.action', 'type': 'AzureFirewallRCAction'}, - 'rules': {'key': 'properties.rules', 'type': '[AzureFirewallNetworkRule]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, priority: int=None, action=None, rules=None, provisioning_state=None, name: str=None, **kwargs) -> None: - super(AzureFirewallNetworkRuleCollection, self).__init__(id=id, **kwargs) - self.priority = priority - self.action = action - self.rules = rules - self.provisioning_state = provisioning_state - self.name = name - self.etag = None - - -class AzureFirewallPublicIPAddress(Model): - """Public IP Address associated with azure firewall. - - :param address: Public IP Address value. - :type address: str - """ - - _attribute_map = { - 'address': {'key': 'address', 'type': 'str'}, - } - - def __init__(self, *, address: str=None, **kwargs) -> None: - super(AzureFirewallPublicIPAddress, self).__init__(**kwargs) - self.address = address - - -class AzureFirewallRCAction(Model): - """Properties of the AzureFirewallRCAction. - - :param type: The type of action. Possible values include: 'Allow', 'Deny' - :type type: str or - ~azure.mgmt.network.v2019_07_01.models.AzureFirewallRCActionType - """ - - _attribute_map = { - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, type=None, **kwargs) -> None: - super(AzureFirewallRCAction, self).__init__(**kwargs) - self.type = type - - -class AzureReachabilityReport(Model): - """Azure reachability report details. - - All required parameters must be populated in order to send to Azure. - - :param aggregation_level: Required. The aggregation level of Azure - reachability report. Can be Country, State or City. - :type aggregation_level: str - :param provider_location: Required. Parameters that define a geographic - location. - :type provider_location: - ~azure.mgmt.network.v2019_07_01.models.AzureReachabilityReportLocation - :param reachability_report: Required. List of Azure reachability report - items. - :type reachability_report: - list[~azure.mgmt.network.v2019_07_01.models.AzureReachabilityReportItem] - """ - - _validation = { - 'aggregation_level': {'required': True}, - 'provider_location': {'required': True}, - 'reachability_report': {'required': True}, - } - - _attribute_map = { - 'aggregation_level': {'key': 'aggregationLevel', 'type': 'str'}, - 'provider_location': {'key': 'providerLocation', 'type': 'AzureReachabilityReportLocation'}, - 'reachability_report': {'key': 'reachabilityReport', 'type': '[AzureReachabilityReportItem]'}, - } - - def __init__(self, *, aggregation_level: str, provider_location, reachability_report, **kwargs) -> None: - super(AzureReachabilityReport, self).__init__(**kwargs) - self.aggregation_level = aggregation_level - self.provider_location = provider_location - self.reachability_report = reachability_report - - -class AzureReachabilityReportItem(Model): - """Azure reachability report details for a given provider location. - - :param provider: The Internet service provider. - :type provider: str - :param azure_location: The Azure region. - :type azure_location: str - :param latencies: List of latency details for each of the time series. - :type latencies: - list[~azure.mgmt.network.v2019_07_01.models.AzureReachabilityReportLatencyInfo] - """ - - _attribute_map = { - 'provider': {'key': 'provider', 'type': 'str'}, - 'azure_location': {'key': 'azureLocation', 'type': 'str'}, - 'latencies': {'key': 'latencies', 'type': '[AzureReachabilityReportLatencyInfo]'}, - } - - def __init__(self, *, provider: str=None, azure_location: str=None, latencies=None, **kwargs) -> None: - super(AzureReachabilityReportItem, self).__init__(**kwargs) - self.provider = provider - self.azure_location = azure_location - self.latencies = latencies - - -class AzureReachabilityReportLatencyInfo(Model): - """Details on latency for a time series. - - :param time_stamp: The time stamp. - :type time_stamp: datetime - :param score: The relative latency score between 1 and 100, higher values - indicating a faster connection. - :type score: int - """ - - _validation = { - 'score': {'maximum': 100, 'minimum': 1}, - } - - _attribute_map = { - 'time_stamp': {'key': 'timeStamp', 'type': 'iso-8601'}, - 'score': {'key': 'score', 'type': 'int'}, - } - - def __init__(self, *, time_stamp=None, score: int=None, **kwargs) -> None: - super(AzureReachabilityReportLatencyInfo, self).__init__(**kwargs) - self.time_stamp = time_stamp - self.score = score - - -class AzureReachabilityReportLocation(Model): - """Parameters that define a geographic location. - - All required parameters must be populated in order to send to Azure. - - :param country: Required. The name of the country. - :type country: str - :param state: The name of the state. - :type state: str - :param city: The name of the city or town. - :type city: str - """ - - _validation = { - 'country': {'required': True}, - } - - _attribute_map = { - 'country': {'key': 'country', 'type': 'str'}, - 'state': {'key': 'state', 'type': 'str'}, - 'city': {'key': 'city', 'type': 'str'}, - } - - def __init__(self, *, country: str, state: str=None, city: str=None, **kwargs) -> None: - super(AzureReachabilityReportLocation, self).__init__(**kwargs) - self.country = country - self.state = state - self.city = city - - -class AzureReachabilityReportParameters(Model): - """Geographic and time constraints for Azure reachability report. - - All required parameters must be populated in order to send to Azure. - - :param provider_location: Required. Parameters that define a geographic - location. - :type provider_location: - ~azure.mgmt.network.v2019_07_01.models.AzureReachabilityReportLocation - :param providers: List of Internet service providers. - :type providers: list[str] - :param azure_locations: Optional Azure regions to scope the query to. - :type azure_locations: list[str] - :param start_time: Required. The start time for the Azure reachability - report. - :type start_time: datetime - :param end_time: Required. The end time for the Azure reachability report. - :type end_time: datetime - """ - - _validation = { - 'provider_location': {'required': True}, - 'start_time': {'required': True}, - 'end_time': {'required': True}, - } - - _attribute_map = { - 'provider_location': {'key': 'providerLocation', 'type': 'AzureReachabilityReportLocation'}, - 'providers': {'key': 'providers', 'type': '[str]'}, - 'azure_locations': {'key': 'azureLocations', 'type': '[str]'}, - 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, - 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, - } - - def __init__(self, *, provider_location, start_time, end_time, providers=None, azure_locations=None, **kwargs) -> None: - super(AzureReachabilityReportParameters, self).__init__(**kwargs) - self.provider_location = provider_location - self.providers = providers - self.azure_locations = azure_locations - self.start_time = start_time - self.end_time = end_time - - -class BackendAddressPool(SubResource): - """Pool of backend IP addresses. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar backend_ip_configurations: An array of references to IP addresses - defined in network interfaces. - :vartype backend_ip_configurations: - list[~azure.mgmt.network.v2019_07_01.models.NetworkInterfaceIPConfiguration] - :ivar load_balancing_rules: An array of references to load balancing rules - that use this backend address pool. - :vartype load_balancing_rules: - list[~azure.mgmt.network.v2019_07_01.models.SubResource] - :ivar outbound_rule: A reference to an outbound rule that uses this - backend address pool. - :vartype outbound_rule: ~azure.mgmt.network.v2019_07_01.models.SubResource - :ivar outbound_rules: An array of references to outbound rules that use - this backend address pool. - :vartype outbound_rules: - list[~azure.mgmt.network.v2019_07_01.models.SubResource] - :param provisioning_state: The provisioning state of the backend address - pool resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: The name of the resource that is unique within the set of - backend address pools used by the load balancer. This name can be used to - access the resource. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - :ivar type: Type of the resource. - :vartype type: str - """ - - _validation = { - 'backend_ip_configurations': {'readonly': True}, - 'load_balancing_rules': {'readonly': True}, - 'outbound_rule': {'readonly': True}, - 'outbound_rules': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'backend_ip_configurations': {'key': 'properties.backendIPConfigurations', 'type': '[NetworkInterfaceIPConfiguration]'}, - 'load_balancing_rules': {'key': 'properties.loadBalancingRules', 'type': '[SubResource]'}, - 'outbound_rule': {'key': 'properties.outboundRule', 'type': 'SubResource'}, - 'outbound_rules': {'key': 'properties.outboundRules', 'type': '[SubResource]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, provisioning_state=None, name: str=None, etag: str=None, **kwargs) -> None: - super(BackendAddressPool, self).__init__(id=id, **kwargs) - self.backend_ip_configurations = None - self.load_balancing_rules = None - self.outbound_rule = None - self.outbound_rules = None - self.provisioning_state = provisioning_state - self.name = name - self.etag = etag - self.type = None - - -class BastionHost(Resource): - """Bastion Host resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param ip_configurations: IP configuration of the Bastion Host resource. - :type ip_configurations: - list[~azure.mgmt.network.v2019_07_01.models.BastionHostIPConfiguration] - :param dns_name: FQDN for the endpoint on which bastion host is - accessible. - :type dns_name: str - :param provisioning_state: The provisioning state of the bastion host - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[BastionHostIPConfiguration]'}, - 'dns_name': {'key': 'properties.dnsName', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, ip_configurations=None, dns_name: str=None, provisioning_state=None, **kwargs) -> None: - super(BastionHost, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.ip_configurations = ip_configurations - self.dns_name = dns_name - self.provisioning_state = provisioning_state - self.etag = None - - -class BastionHostIPConfiguration(SubResource): - """IP configuration of an Bastion Host. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :param subnet: Required. Reference of the subnet resource. - :type subnet: ~azure.mgmt.network.v2019_07_01.models.SubResource - :param public_ip_address: Required. Reference of the PublicIP resource. - :type public_ip_address: - ~azure.mgmt.network.v2019_07_01.models.SubResource - :param provisioning_state: The provisioning state of the bastion host IP - configuration resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param private_ip_allocation_method: Private IP allocation method. - Possible values include: 'Static', 'Dynamic' - :type private_ip_allocation_method: str or - ~azure.mgmt.network.v2019_07_01.models.IPAllocationMethod - :param name: Name of the resource that is unique within a resource group. - This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :ivar type: Ip configuration type. - :vartype type: str - """ - - _validation = { - 'subnet': {'required': True}, - 'public_ip_address': {'required': True}, - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, - 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'SubResource'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, subnet, public_ip_address, id: str=None, provisioning_state=None, private_ip_allocation_method=None, name: str=None, **kwargs) -> None: - super(BastionHostIPConfiguration, self).__init__(id=id, **kwargs) - self.subnet = subnet - self.public_ip_address = public_ip_address - self.provisioning_state = provisioning_state - self.private_ip_allocation_method = private_ip_allocation_method - self.name = name - self.etag = None - self.type = None - - -class BGPCommunity(Model): - """Contains bgp community information offered in Service Community resources. - - :param service_supported_region: The region which the service support. - e.g. For O365, region is Global. - :type service_supported_region: str - :param community_name: The name of the bgp community. e.g. Skype. - :type community_name: str - :param community_value: The value of the bgp community. For more - information: - https://docs.microsoft.com/en-us/azure/expressroute/expressroute-routing. - :type community_value: str - :param community_prefixes: The prefixes that the bgp community contains. - :type community_prefixes: list[str] - :param is_authorized_to_use: Customer is authorized to use bgp community - or not. - :type is_authorized_to_use: bool - :param service_group: The service group of the bgp community contains. - :type service_group: str - """ - - _attribute_map = { - 'service_supported_region': {'key': 'serviceSupportedRegion', 'type': 'str'}, - 'community_name': {'key': 'communityName', 'type': 'str'}, - 'community_value': {'key': 'communityValue', 'type': 'str'}, - 'community_prefixes': {'key': 'communityPrefixes', 'type': '[str]'}, - 'is_authorized_to_use': {'key': 'isAuthorizedToUse', 'type': 'bool'}, - 'service_group': {'key': 'serviceGroup', 'type': 'str'}, - } - - def __init__(self, *, service_supported_region: str=None, community_name: str=None, community_value: str=None, community_prefixes=None, is_authorized_to_use: bool=None, service_group: str=None, **kwargs) -> None: - super(BGPCommunity, self).__init__(**kwargs) - self.service_supported_region = service_supported_region - self.community_name = community_name - self.community_value = community_value - self.community_prefixes = community_prefixes - self.is_authorized_to_use = is_authorized_to_use - self.service_group = service_group - - -class BgpPeerStatus(Model): - """BGP peer status details. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar local_address: The virtual network gateway's local address. - :vartype local_address: str - :ivar neighbor: The remote BGP peer. - :vartype neighbor: str - :ivar asn: The autonomous system number of the remote BGP peer. - :vartype asn: int - :ivar state: The BGP peer state. Possible values include: 'Unknown', - 'Stopped', 'Idle', 'Connecting', 'Connected' - :vartype state: str or ~azure.mgmt.network.v2019_07_01.models.BgpPeerState - :ivar connected_duration: For how long the peering has been up. - :vartype connected_duration: str - :ivar routes_received: The number of routes learned from this peer. - :vartype routes_received: long - :ivar messages_sent: The number of BGP messages sent. - :vartype messages_sent: long - :ivar messages_received: The number of BGP messages received. - :vartype messages_received: long - """ - - _validation = { - 'local_address': {'readonly': True}, - 'neighbor': {'readonly': True}, - 'asn': {'readonly': True}, - 'state': {'readonly': True}, - 'connected_duration': {'readonly': True}, - 'routes_received': {'readonly': True}, - 'messages_sent': {'readonly': True}, - 'messages_received': {'readonly': True}, - } - - _attribute_map = { - 'local_address': {'key': 'localAddress', 'type': 'str'}, - 'neighbor': {'key': 'neighbor', 'type': 'str'}, - 'asn': {'key': 'asn', 'type': 'int'}, - 'state': {'key': 'state', 'type': 'str'}, - 'connected_duration': {'key': 'connectedDuration', 'type': 'str'}, - 'routes_received': {'key': 'routesReceived', 'type': 'long'}, - 'messages_sent': {'key': 'messagesSent', 'type': 'long'}, - 'messages_received': {'key': 'messagesReceived', 'type': 'long'}, - } - - def __init__(self, **kwargs) -> None: - super(BgpPeerStatus, self).__init__(**kwargs) - self.local_address = None - self.neighbor = None - self.asn = None - self.state = None - self.connected_duration = None - self.routes_received = None - self.messages_sent = None - self.messages_received = None - - -class BgpPeerStatusListResult(Model): - """Response for list BGP peer status API service call. - - :param value: List of BGP peers. - :type value: list[~azure.mgmt.network.v2019_07_01.models.BgpPeerStatus] - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[BgpPeerStatus]'}, - } - - def __init__(self, *, value=None, **kwargs) -> None: - super(BgpPeerStatusListResult, self).__init__(**kwargs) - self.value = value - - -class BgpServiceCommunity(Resource): - """Service Community Properties. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param service_name: The name of the bgp community. e.g. Skype. - :type service_name: str - :param bgp_communities: A list of bgp communities. - :type bgp_communities: - list[~azure.mgmt.network.v2019_07_01.models.BGPCommunity] - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'service_name': {'key': 'properties.serviceName', 'type': 'str'}, - 'bgp_communities': {'key': 'properties.bgpCommunities', 'type': '[BGPCommunity]'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, service_name: str=None, bgp_communities=None, **kwargs) -> None: - super(BgpServiceCommunity, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.service_name = service_name - self.bgp_communities = bgp_communities - - -class BgpSettings(Model): - """BGP settings details. - - :param asn: The BGP speaker's ASN. - :type asn: long - :param bgp_peering_address: The BGP peering address and BGP identifier of - this BGP speaker. - :type bgp_peering_address: str - :param peer_weight: The weight added to routes learned from this BGP - speaker. - :type peer_weight: int - """ - - _attribute_map = { - 'asn': {'key': 'asn', 'type': 'long'}, - 'bgp_peering_address': {'key': 'bgpPeeringAddress', 'type': 'str'}, - 'peer_weight': {'key': 'peerWeight', 'type': 'int'}, - } - - def __init__(self, *, asn: int=None, bgp_peering_address: str=None, peer_weight: int=None, **kwargs) -> None: - super(BgpSettings, self).__init__(**kwargs) - self.asn = asn - self.bgp_peering_address = bgp_peering_address - self.peer_weight = peer_weight - - -class CheckPrivateLinkServiceVisibilityRequest(Model): - """Request body of the CheckPrivateLinkServiceVisibility API service call. - - :param private_link_service_alias: The alias of the private link service. - :type private_link_service_alias: str - """ - - _attribute_map = { - 'private_link_service_alias': {'key': 'privateLinkServiceAlias', 'type': 'str'}, - } - - def __init__(self, *, private_link_service_alias: str=None, **kwargs) -> None: - super(CheckPrivateLinkServiceVisibilityRequest, self).__init__(**kwargs) - self.private_link_service_alias = private_link_service_alias - - -class CloudError(Model): - """An error response from the Batch service. - - :param error: Cloud error body. - :type error: ~azure.mgmt.network.v2019_07_01.models.CloudErrorBody - """ - - _attribute_map = { - 'error': {'key': 'error', 'type': 'CloudErrorBody'}, - } - - def __init__(self, *, error=None, **kwargs) -> None: - super(CloudError, self).__init__(**kwargs) - self.error = error - - -class CloudErrorException(HttpOperationError): - """Server responsed with exception of type: 'CloudError'. - - :param deserialize: A deserializer - :param response: Server response to be deserialized. - """ - - def __init__(self, deserialize, response, *args): - - super(CloudErrorException, self).__init__(deserialize, response, 'CloudError', *args) - - -class CloudErrorBody(Model): - """An error response from the Batch service. - - :param code: An identifier for the error. Codes are invariant and are - intended to be consumed programmatically. - :type code: str - :param message: A message describing the error, intended to be suitable - for display in a user interface. - :type message: str - :param target: The target of the particular error. For example, the name - of the property in error. - :type target: str - :param details: A list of additional details about the error. - :type details: list[~azure.mgmt.network.v2019_07_01.models.CloudErrorBody] - """ - - _attribute_map = { - 'code': {'key': 'code', 'type': 'str'}, - 'message': {'key': 'message', 'type': 'str'}, - 'target': {'key': 'target', 'type': 'str'}, - 'details': {'key': 'details', 'type': '[CloudErrorBody]'}, - } - - def __init__(self, *, code: str=None, message: str=None, target: str=None, details=None, **kwargs) -> None: - super(CloudErrorBody, self).__init__(**kwargs) - self.code = code - self.message = message - self.target = target - self.details = details - - -class ConnectionMonitor(Model): - """Parameters that define the operation to create a connection monitor. - - All required parameters must be populated in order to send to Azure. - - :param location: Connection monitor location. - :type location: str - :param tags: Connection monitor tags. - :type tags: dict[str, str] - :param source: Required. Describes the source of connection monitor. - :type source: - ~azure.mgmt.network.v2019_07_01.models.ConnectionMonitorSource - :param destination: Required. Describes the destination of connection - monitor. - :type destination: - ~azure.mgmt.network.v2019_07_01.models.ConnectionMonitorDestination - :param auto_start: Determines if the connection monitor will start - automatically once created. Default value: True . - :type auto_start: bool - :param monitoring_interval_in_seconds: Monitoring interval in seconds. - Default value: 60 . - :type monitoring_interval_in_seconds: int - """ - - _validation = { - 'source': {'required': True}, - 'destination': {'required': True}, - } - - _attribute_map = { - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'source': {'key': 'properties.source', 'type': 'ConnectionMonitorSource'}, - 'destination': {'key': 'properties.destination', 'type': 'ConnectionMonitorDestination'}, - 'auto_start': {'key': 'properties.autoStart', 'type': 'bool'}, - 'monitoring_interval_in_seconds': {'key': 'properties.monitoringIntervalInSeconds', 'type': 'int'}, - } - - def __init__(self, *, source, destination, location: str=None, tags=None, auto_start: bool=True, monitoring_interval_in_seconds: int=60, **kwargs) -> None: - super(ConnectionMonitor, self).__init__(**kwargs) - self.location = location - self.tags = tags - self.source = source - self.destination = destination - self.auto_start = auto_start - self.monitoring_interval_in_seconds = monitoring_interval_in_seconds - - -class ConnectionMonitorDestination(Model): - """Describes the destination of connection monitor. - - :param resource_id: The ID of the resource used as the destination by - connection monitor. - :type resource_id: str - :param address: Address of the connection monitor destination (IP or - domain name). - :type address: str - :param port: The destination port used by connection monitor. - :type port: int - """ - - _attribute_map = { - 'resource_id': {'key': 'resourceId', 'type': 'str'}, - 'address': {'key': 'address', 'type': 'str'}, - 'port': {'key': 'port', 'type': 'int'}, - } - - def __init__(self, *, resource_id: str=None, address: str=None, port: int=None, **kwargs) -> None: - super(ConnectionMonitorDestination, self).__init__(**kwargs) - self.resource_id = resource_id - self.address = address - self.port = port - - -class ConnectionMonitorParameters(Model): - """Parameters that define the operation to create a connection monitor. - - All required parameters must be populated in order to send to Azure. - - :param source: Required. Describes the source of connection monitor. - :type source: - ~azure.mgmt.network.v2019_07_01.models.ConnectionMonitorSource - :param destination: Required. Describes the destination of connection - monitor. - :type destination: - ~azure.mgmt.network.v2019_07_01.models.ConnectionMonitorDestination - :param auto_start: Determines if the connection monitor will start - automatically once created. Default value: True . - :type auto_start: bool - :param monitoring_interval_in_seconds: Monitoring interval in seconds. - Default value: 60 . - :type monitoring_interval_in_seconds: int - """ - - _validation = { - 'source': {'required': True}, - 'destination': {'required': True}, - } - - _attribute_map = { - 'source': {'key': 'source', 'type': 'ConnectionMonitorSource'}, - 'destination': {'key': 'destination', 'type': 'ConnectionMonitorDestination'}, - 'auto_start': {'key': 'autoStart', 'type': 'bool'}, - 'monitoring_interval_in_seconds': {'key': 'monitoringIntervalInSeconds', 'type': 'int'}, - } - - def __init__(self, *, source, destination, auto_start: bool=True, monitoring_interval_in_seconds: int=60, **kwargs) -> None: - super(ConnectionMonitorParameters, self).__init__(**kwargs) - self.source = source - self.destination = destination - self.auto_start = auto_start - self.monitoring_interval_in_seconds = monitoring_interval_in_seconds - - -class ConnectionMonitorQueryResult(Model): - """List of connection states snapshots. - - :param source_status: Status of connection monitor source. Possible values - include: 'Unknown', 'Active', 'Inactive' - :type source_status: str or - ~azure.mgmt.network.v2019_07_01.models.ConnectionMonitorSourceStatus - :param states: Information about connection states. - :type states: - list[~azure.mgmt.network.v2019_07_01.models.ConnectionStateSnapshot] - """ - - _attribute_map = { - 'source_status': {'key': 'sourceStatus', 'type': 'str'}, - 'states': {'key': 'states', 'type': '[ConnectionStateSnapshot]'}, - } - - def __init__(self, *, source_status=None, states=None, **kwargs) -> None: - super(ConnectionMonitorQueryResult, self).__init__(**kwargs) - self.source_status = source_status - self.states = states - - -class ConnectionMonitorResult(Model): - """Information about the connection monitor. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :ivar name: Name of the connection monitor. - :vartype name: str - :ivar id: ID of the connection monitor. - :vartype id: str - :param etag: A unique read-only string that changes whenever the resource - is updated. Default value: "A unique read-only string that changes - whenever the resource is updated." . - :type etag: str - :ivar type: Connection monitor type. - :vartype type: str - :param location: Connection monitor location. - :type location: str - :param tags: Connection monitor tags. - :type tags: dict[str, str] - :param source: Required. Describes the source of connection monitor. - :type source: - ~azure.mgmt.network.v2019_07_01.models.ConnectionMonitorSource - :param destination: Required. Describes the destination of connection - monitor. - :type destination: - ~azure.mgmt.network.v2019_07_01.models.ConnectionMonitorDestination - :param auto_start: Determines if the connection monitor will start - automatically once created. Default value: True . - :type auto_start: bool - :param monitoring_interval_in_seconds: Monitoring interval in seconds. - Default value: 60 . - :type monitoring_interval_in_seconds: int - :param provisioning_state: The provisioning state of the connection - monitor. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param start_time: The date and time when the connection monitor was - started. - :type start_time: datetime - :param monitoring_status: The monitoring status of the connection monitor. - :type monitoring_status: str - """ - - _validation = { - 'name': {'readonly': True}, - 'id': {'readonly': True}, - 'type': {'readonly': True}, - 'source': {'required': True}, - 'destination': {'required': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'id': {'key': 'id', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'source': {'key': 'properties.source', 'type': 'ConnectionMonitorSource'}, - 'destination': {'key': 'properties.destination', 'type': 'ConnectionMonitorDestination'}, - 'auto_start': {'key': 'properties.autoStart', 'type': 'bool'}, - 'monitoring_interval_in_seconds': {'key': 'properties.monitoringIntervalInSeconds', 'type': 'int'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'start_time': {'key': 'properties.startTime', 'type': 'iso-8601'}, - 'monitoring_status': {'key': 'properties.monitoringStatus', 'type': 'str'}, - } - - def __init__(self, *, source, destination, etag: str="A unique read-only string that changes whenever the resource is updated.", location: str=None, tags=None, auto_start: bool=True, monitoring_interval_in_seconds: int=60, provisioning_state=None, start_time=None, monitoring_status: str=None, **kwargs) -> None: - super(ConnectionMonitorResult, self).__init__(**kwargs) - self.name = None - self.id = None - self.etag = etag - self.type = None - self.location = location - self.tags = tags - self.source = source - self.destination = destination - self.auto_start = auto_start - self.monitoring_interval_in_seconds = monitoring_interval_in_seconds - self.provisioning_state = provisioning_state - self.start_time = start_time - self.monitoring_status = monitoring_status - - -class ConnectionMonitorSource(Model): - """Describes the source of connection monitor. - - All required parameters must be populated in order to send to Azure. - - :param resource_id: Required. The ID of the resource used as the source by - connection monitor. - :type resource_id: str - :param port: The source port used by connection monitor. - :type port: int - """ - - _validation = { - 'resource_id': {'required': True}, - } - - _attribute_map = { - 'resource_id': {'key': 'resourceId', 'type': 'str'}, - 'port': {'key': 'port', 'type': 'int'}, - } - - def __init__(self, *, resource_id: str, port: int=None, **kwargs) -> None: - super(ConnectionMonitorSource, self).__init__(**kwargs) - self.resource_id = resource_id - self.port = port - - -class ConnectionResetSharedKey(Model): - """The virtual network connection reset shared key. - - All required parameters must be populated in order to send to Azure. - - :param key_length: Required. The virtual network connection reset shared - key length, should between 1 and 128. - :type key_length: int - """ - - _validation = { - 'key_length': {'required': True, 'maximum': 128, 'minimum': 1}, - } - - _attribute_map = { - 'key_length': {'key': 'keyLength', 'type': 'int'}, - } - - def __init__(self, *, key_length: int, **kwargs) -> None: - super(ConnectionResetSharedKey, self).__init__(**kwargs) - self.key_length = key_length - - -class ConnectionSharedKey(SubResource): - """Response for GetConnectionSharedKey API service call. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :param value: Required. The virtual network connection shared key value. - :type value: str - """ - - _validation = { - 'value': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'value': {'key': 'value', 'type': 'str'}, - } - - def __init__(self, *, value: str, id: str=None, **kwargs) -> None: - super(ConnectionSharedKey, self).__init__(id=id, **kwargs) - self.value = value - - -class ConnectionStateSnapshot(Model): - """Connection state snapshot. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param connection_state: The connection state. Possible values include: - 'Reachable', 'Unreachable', 'Unknown' - :type connection_state: str or - ~azure.mgmt.network.v2019_07_01.models.ConnectionState - :param start_time: The start time of the connection snapshot. - :type start_time: datetime - :param end_time: The end time of the connection snapshot. - :type end_time: datetime - :param evaluation_state: Connectivity analysis evaluation state. Possible - values include: 'NotStarted', 'InProgress', 'Completed' - :type evaluation_state: str or - ~azure.mgmt.network.v2019_07_01.models.EvaluationState - :param avg_latency_in_ms: Average latency in ms. - :type avg_latency_in_ms: int - :param min_latency_in_ms: Minimum latency in ms. - :type min_latency_in_ms: int - :param max_latency_in_ms: Maximum latency in ms. - :type max_latency_in_ms: int - :param probes_sent: The number of sent probes. - :type probes_sent: int - :param probes_failed: The number of failed probes. - :type probes_failed: int - :ivar hops: List of hops between the source and the destination. - :vartype hops: - list[~azure.mgmt.network.v2019_07_01.models.ConnectivityHop] - """ - - _validation = { - 'hops': {'readonly': True}, - } - - _attribute_map = { - 'connection_state': {'key': 'connectionState', 'type': 'str'}, - 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, - 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, - 'evaluation_state': {'key': 'evaluationState', 'type': 'str'}, - 'avg_latency_in_ms': {'key': 'avgLatencyInMs', 'type': 'int'}, - 'min_latency_in_ms': {'key': 'minLatencyInMs', 'type': 'int'}, - 'max_latency_in_ms': {'key': 'maxLatencyInMs', 'type': 'int'}, - 'probes_sent': {'key': 'probesSent', 'type': 'int'}, - 'probes_failed': {'key': 'probesFailed', 'type': 'int'}, - 'hops': {'key': 'hops', 'type': '[ConnectivityHop]'}, - } - - def __init__(self, *, connection_state=None, start_time=None, end_time=None, evaluation_state=None, avg_latency_in_ms: int=None, min_latency_in_ms: int=None, max_latency_in_ms: int=None, probes_sent: int=None, probes_failed: int=None, **kwargs) -> None: - super(ConnectionStateSnapshot, self).__init__(**kwargs) - self.connection_state = connection_state - self.start_time = start_time - self.end_time = end_time - self.evaluation_state = evaluation_state - self.avg_latency_in_ms = avg_latency_in_ms - self.min_latency_in_ms = min_latency_in_ms - self.max_latency_in_ms = max_latency_in_ms - self.probes_sent = probes_sent - self.probes_failed = probes_failed - self.hops = None - - -class ConnectivityDestination(Model): - """Parameters that define destination of connection. - - :param resource_id: The ID of the resource to which a connection attempt - will be made. - :type resource_id: str - :param address: The IP address or URI the resource to which a connection - attempt will be made. - :type address: str - :param port: Port on which check connectivity will be performed. - :type port: int - """ - - _attribute_map = { - 'resource_id': {'key': 'resourceId', 'type': 'str'}, - 'address': {'key': 'address', 'type': 'str'}, - 'port': {'key': 'port', 'type': 'int'}, - } - - def __init__(self, *, resource_id: str=None, address: str=None, port: int=None, **kwargs) -> None: - super(ConnectivityDestination, self).__init__(**kwargs) - self.resource_id = resource_id - self.address = address - self.port = port - - -class ConnectivityHop(Model): - """Information about a hop between the source and the destination. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar type: The type of the hop. - :vartype type: str - :ivar id: The ID of the hop. - :vartype id: str - :ivar address: The IP address of the hop. - :vartype address: str - :ivar resource_id: The ID of the resource corresponding to this hop. - :vartype resource_id: str - :ivar next_hop_ids: List of next hop identifiers. - :vartype next_hop_ids: list[str] - :ivar issues: List of issues. - :vartype issues: - list[~azure.mgmt.network.v2019_07_01.models.ConnectivityIssue] - """ - - _validation = { - 'type': {'readonly': True}, - 'id': {'readonly': True}, - 'address': {'readonly': True}, - 'resource_id': {'readonly': True}, - 'next_hop_ids': {'readonly': True}, - 'issues': {'readonly': True}, - } - - _attribute_map = { - 'type': {'key': 'type', 'type': 'str'}, - 'id': {'key': 'id', 'type': 'str'}, - 'address': {'key': 'address', 'type': 'str'}, - 'resource_id': {'key': 'resourceId', 'type': 'str'}, - 'next_hop_ids': {'key': 'nextHopIds', 'type': '[str]'}, - 'issues': {'key': 'issues', 'type': '[ConnectivityIssue]'}, - } - - def __init__(self, **kwargs) -> None: - super(ConnectivityHop, self).__init__(**kwargs) - self.type = None - self.id = None - self.address = None - self.resource_id = None - self.next_hop_ids = None - self.issues = None - - -class ConnectivityInformation(Model): - """Information on the connectivity status. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar hops: List of hops between the source and the destination. - :vartype hops: - list[~azure.mgmt.network.v2019_07_01.models.ConnectivityHop] - :ivar connection_status: The connection status. Possible values include: - 'Unknown', 'Connected', 'Disconnected', 'Degraded' - :vartype connection_status: str or - ~azure.mgmt.network.v2019_07_01.models.ConnectionStatus - :ivar avg_latency_in_ms: Average latency in milliseconds. - :vartype avg_latency_in_ms: int - :ivar min_latency_in_ms: Minimum latency in milliseconds. - :vartype min_latency_in_ms: int - :ivar max_latency_in_ms: Maximum latency in milliseconds. - :vartype max_latency_in_ms: int - :ivar probes_sent: Total number of probes sent. - :vartype probes_sent: int - :ivar probes_failed: Number of failed probes. - :vartype probes_failed: int - """ - - _validation = { - 'hops': {'readonly': True}, - 'connection_status': {'readonly': True}, - 'avg_latency_in_ms': {'readonly': True}, - 'min_latency_in_ms': {'readonly': True}, - 'max_latency_in_ms': {'readonly': True}, - 'probes_sent': {'readonly': True}, - 'probes_failed': {'readonly': True}, - } - - _attribute_map = { - 'hops': {'key': 'hops', 'type': '[ConnectivityHop]'}, - 'connection_status': {'key': 'connectionStatus', 'type': 'str'}, - 'avg_latency_in_ms': {'key': 'avgLatencyInMs', 'type': 'int'}, - 'min_latency_in_ms': {'key': 'minLatencyInMs', 'type': 'int'}, - 'max_latency_in_ms': {'key': 'maxLatencyInMs', 'type': 'int'}, - 'probes_sent': {'key': 'probesSent', 'type': 'int'}, - 'probes_failed': {'key': 'probesFailed', 'type': 'int'}, - } - - def __init__(self, **kwargs) -> None: - super(ConnectivityInformation, self).__init__(**kwargs) - self.hops = None - self.connection_status = None - self.avg_latency_in_ms = None - self.min_latency_in_ms = None - self.max_latency_in_ms = None - self.probes_sent = None - self.probes_failed = None - - -class ConnectivityIssue(Model): - """Information about an issue encountered in the process of checking for - connectivity. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar origin: The origin of the issue. Possible values include: 'Local', - 'Inbound', 'Outbound' - :vartype origin: str or ~azure.mgmt.network.v2019_07_01.models.Origin - :ivar severity: The severity of the issue. Possible values include: - 'Error', 'Warning' - :vartype severity: str or ~azure.mgmt.network.v2019_07_01.models.Severity - :ivar type: The type of issue. Possible values include: 'Unknown', - 'AgentStopped', 'GuestFirewall', 'DnsResolution', 'SocketBind', - 'NetworkSecurityRule', 'UserDefinedRoute', 'PortThrottled', 'Platform' - :vartype type: str or ~azure.mgmt.network.v2019_07_01.models.IssueType - :ivar context: Provides additional context on the issue. - :vartype context: list[dict[str, str]] - """ - - _validation = { - 'origin': {'readonly': True}, - 'severity': {'readonly': True}, - 'type': {'readonly': True}, - 'context': {'readonly': True}, - } - - _attribute_map = { - 'origin': {'key': 'origin', 'type': 'str'}, - 'severity': {'key': 'severity', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'context': {'key': 'context', 'type': '[{str}]'}, - } - - def __init__(self, **kwargs) -> None: - super(ConnectivityIssue, self).__init__(**kwargs) - self.origin = None - self.severity = None - self.type = None - self.context = None - - -class ConnectivityParameters(Model): - """Parameters that determine how the connectivity check will be performed. - - All required parameters must be populated in order to send to Azure. - - :param source: Required. Describes the source of the connection. - :type source: ~azure.mgmt.network.v2019_07_01.models.ConnectivitySource - :param destination: Required. Describes the destination of connection. - :type destination: - ~azure.mgmt.network.v2019_07_01.models.ConnectivityDestination - :param protocol: Network protocol. Possible values include: 'Tcp', 'Http', - 'Https', 'Icmp' - :type protocol: str or ~azure.mgmt.network.v2019_07_01.models.Protocol - :param protocol_configuration: Configuration of the protocol. - :type protocol_configuration: - ~azure.mgmt.network.v2019_07_01.models.ProtocolConfiguration - """ - - _validation = { - 'source': {'required': True}, - 'destination': {'required': True}, - } - - _attribute_map = { - 'source': {'key': 'source', 'type': 'ConnectivitySource'}, - 'destination': {'key': 'destination', 'type': 'ConnectivityDestination'}, - 'protocol': {'key': 'protocol', 'type': 'str'}, - 'protocol_configuration': {'key': 'protocolConfiguration', 'type': 'ProtocolConfiguration'}, - } - - def __init__(self, *, source, destination, protocol=None, protocol_configuration=None, **kwargs) -> None: - super(ConnectivityParameters, self).__init__(**kwargs) - self.source = source - self.destination = destination - self.protocol = protocol - self.protocol_configuration = protocol_configuration - - -class ConnectivitySource(Model): - """Parameters that define the source of the connection. - - All required parameters must be populated in order to send to Azure. - - :param resource_id: Required. The ID of the resource from which a - connectivity check will be initiated. - :type resource_id: str - :param port: The source port from which a connectivity check will be - performed. - :type port: int - """ - - _validation = { - 'resource_id': {'required': True}, - } - - _attribute_map = { - 'resource_id': {'key': 'resourceId', 'type': 'str'}, - 'port': {'key': 'port', 'type': 'int'}, - } - - def __init__(self, *, resource_id: str, port: int=None, **kwargs) -> None: - super(ConnectivitySource, self).__init__(**kwargs) - self.resource_id = resource_id - self.port = port - - -class Container(SubResource): - """Reference to container resource in remote resource provider. - - :param id: Resource ID. - :type id: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, **kwargs) -> None: - super(Container, self).__init__(id=id, **kwargs) - - -class ContainerNetworkInterface(SubResource): - """Container network interface child resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param container_network_interface_configuration: Container network - interface configuration from which this container network interface is - created. - :type container_network_interface_configuration: - ~azure.mgmt.network.v2019_07_01.models.ContainerNetworkInterfaceConfiguration - :param container: Reference to the container to which this container - network interface is attached. - :type container: ~azure.mgmt.network.v2019_07_01.models.Container - :param ip_configurations: Reference to the ip configuration on this - container nic. - :type ip_configurations: - list[~azure.mgmt.network.v2019_07_01.models.ContainerNetworkInterfaceIpConfiguration] - :ivar provisioning_state: The provisioning state of the container network - interface resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: The name of the resource. This name can be used to access the - resource. - :type name: str - :ivar type: Sub Resource type. - :vartype type: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'container_network_interface_configuration': {'key': 'properties.containerNetworkInterfaceConfiguration', 'type': 'ContainerNetworkInterfaceConfiguration'}, - 'container': {'key': 'properties.container', 'type': 'Container'}, - 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[ContainerNetworkInterfaceIpConfiguration]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, container_network_interface_configuration=None, container=None, ip_configurations=None, name: str=None, etag: str=None, **kwargs) -> None: - super(ContainerNetworkInterface, self).__init__(id=id, **kwargs) - self.container_network_interface_configuration = container_network_interface_configuration - self.container = container - self.ip_configurations = ip_configurations - self.provisioning_state = None - self.name = name - self.type = None - self.etag = etag - - -class ContainerNetworkInterfaceConfiguration(SubResource): - """Container network interface configuration child resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param ip_configurations: A list of ip configurations of the container - network interface configuration. - :type ip_configurations: - list[~azure.mgmt.network.v2019_07_01.models.IPConfigurationProfile] - :param container_network_interfaces: A list of container network - interfaces created from this container network interface configuration. - :type container_network_interfaces: - list[~azure.mgmt.network.v2019_07_01.models.SubResource] - :ivar provisioning_state: The provisioning state of the container network - interface configuration resource. Possible values include: 'Succeeded', - 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: The name of the resource. This name can be used to access the - resource. - :type name: str - :ivar type: Sub Resource type. - :vartype type: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[IPConfigurationProfile]'}, - 'container_network_interfaces': {'key': 'properties.containerNetworkInterfaces', 'type': '[SubResource]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, ip_configurations=None, container_network_interfaces=None, name: str=None, etag: str=None, **kwargs) -> None: - super(ContainerNetworkInterfaceConfiguration, self).__init__(id=id, **kwargs) - self.ip_configurations = ip_configurations - self.container_network_interfaces = container_network_interfaces - self.provisioning_state = None - self.name = name - self.type = None - self.etag = etag - - -class ContainerNetworkInterfaceIpConfiguration(Model): - """The ip configuration for a container network interface. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar provisioning_state: The provisioning state of the container network - interface IP configuration resource. Possible values include: 'Succeeded', - 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: The name of the resource. This name can be used to access the - resource. - :type name: str - :ivar type: Sub Resource type. - :vartype type: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, name: str=None, etag: str=None, **kwargs) -> None: - super(ContainerNetworkInterfaceIpConfiguration, self).__init__(**kwargs) - self.provisioning_state = None - self.name = name - self.type = None - self.etag = etag - - -class DdosCustomPolicy(Resource): - """A DDoS custom policy in a resource group. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :ivar resource_guid: The resource GUID property of the DDoS custom policy - resource. It uniquely identifies the resource, even if the user changes - its name or migrate the resource across subscriptions or resource groups. - :vartype resource_guid: str - :ivar provisioning_state: The provisioning state of the DDoS custom policy - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :ivar public_ip_addresses: The list of public IPs associated with the DDoS - custom policy resource. This list is read-only. - :vartype public_ip_addresses: - list[~azure.mgmt.network.v2019_07_01.models.SubResource] - :param protocol_custom_settings: The protocol-specific DDoS policy - customization parameters. - :type protocol_custom_settings: - list[~azure.mgmt.network.v2019_07_01.models.ProtocolCustomSettingsFormat] - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'resource_guid': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'public_ip_addresses': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'public_ip_addresses': {'key': 'properties.publicIPAddresses', 'type': '[SubResource]'}, - 'protocol_custom_settings': {'key': 'properties.protocolCustomSettings', 'type': '[ProtocolCustomSettingsFormat]'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, protocol_custom_settings=None, **kwargs) -> None: - super(DdosCustomPolicy, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.resource_guid = None - self.provisioning_state = None - self.public_ip_addresses = None - self.protocol_custom_settings = protocol_custom_settings - self.etag = None - - -class DdosProtectionPlan(Model): - """A DDoS protection plan in a resource group. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar id: Resource ID. - :vartype id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :ivar resource_guid: The resource GUID property of the DDoS protection - plan resource. It uniquely identifies the resource, even if the user - changes its name or migrate the resource across subscriptions or resource - groups. - :vartype resource_guid: str - :ivar provisioning_state: The provisioning state of the DDoS protection - plan resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :ivar virtual_networks: The list of virtual networks associated with the - DDoS protection plan resource. This list is read-only. - :vartype virtual_networks: - list[~azure.mgmt.network.v2019_07_01.models.SubResource] - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'resource_guid': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'virtual_networks': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'virtual_networks': {'key': 'properties.virtualNetworks', 'type': '[SubResource]'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, location: str=None, tags=None, **kwargs) -> None: - super(DdosProtectionPlan, self).__init__(**kwargs) - self.id = None - self.name = None - self.type = None - self.location = location - self.tags = tags - self.resource_guid = None - self.provisioning_state = None - self.virtual_networks = None - self.etag = None - - -class DdosSettings(Model): - """Contains the DDoS protection settings of the public IP. - - :param ddos_custom_policy: The DDoS custom policy associated with the - public IP. - :type ddos_custom_policy: - ~azure.mgmt.network.v2019_07_01.models.SubResource - :param protection_coverage: The DDoS protection policy customizability of - the public IP. Only standard coverage will have the ability to be - customized. Possible values include: 'Basic', 'Standard' - :type protection_coverage: str or - ~azure.mgmt.network.v2019_07_01.models.DdosSettingsProtectionCoverage - """ - - _attribute_map = { - 'ddos_custom_policy': {'key': 'ddosCustomPolicy', 'type': 'SubResource'}, - 'protection_coverage': {'key': 'protectionCoverage', 'type': 'str'}, - } - - def __init__(self, *, ddos_custom_policy=None, protection_coverage=None, **kwargs) -> None: - super(DdosSettings, self).__init__(**kwargs) - self.ddos_custom_policy = ddos_custom_policy - self.protection_coverage = protection_coverage - - -class Delegation(SubResource): - """Details the service to which the subnet is delegated. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param service_name: The name of the service to whom the subnet should be - delegated (e.g. Microsoft.Sql/servers). - :type service_name: str - :param actions: Describes the actions permitted to the service upon - delegation. - :type actions: list[str] - :ivar provisioning_state: The provisioning state of the service delegation - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: The name of the resource that is unique within a subnet. This - name can be used to access the resource. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'service_name': {'key': 'properties.serviceName', 'type': 'str'}, - 'actions': {'key': 'properties.actions', 'type': '[str]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, service_name: str=None, actions=None, name: str=None, etag: str=None, **kwargs) -> None: - super(Delegation, self).__init__(id=id, **kwargs) - self.service_name = service_name - self.actions = actions - self.provisioning_state = None - self.name = name - self.etag = etag - - -class DeviceProperties(Model): - """List of properties of the device. - - :param device_vendor: Name of the device Vendor. - :type device_vendor: str - :param device_model: Model of the device. - :type device_model: str - :param link_speed_in_mbps: Link speed. - :type link_speed_in_mbps: int - """ - - _attribute_map = { - 'device_vendor': {'key': 'deviceVendor', 'type': 'str'}, - 'device_model': {'key': 'deviceModel', 'type': 'str'}, - 'link_speed_in_mbps': {'key': 'linkSpeedInMbps', 'type': 'int'}, - } - - def __init__(self, *, device_vendor: str=None, device_model: str=None, link_speed_in_mbps: int=None, **kwargs) -> None: - super(DeviceProperties, self).__init__(**kwargs) - self.device_vendor = device_vendor - self.device_model = device_model - self.link_speed_in_mbps = link_speed_in_mbps - - -class DhcpOptions(Model): - """DhcpOptions contains an array of DNS servers available to VMs deployed in - the virtual network. Standard DHCP option for a subnet overrides VNET DHCP - options. - - :param dns_servers: The list of DNS servers IP addresses. - :type dns_servers: list[str] - """ - - _attribute_map = { - 'dns_servers': {'key': 'dnsServers', 'type': '[str]'}, - } - - def __init__(self, *, dns_servers=None, **kwargs) -> None: - super(DhcpOptions, self).__init__(**kwargs) - self.dns_servers = dns_servers - - -class Dimension(Model): - """Dimension of the metric. - - :param name: The name of the dimension. - :type name: str - :param display_name: The display name of the dimension. - :type display_name: str - :param internal_name: The internal name of the dimension. - :type internal_name: str - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'display_name': {'key': 'displayName', 'type': 'str'}, - 'internal_name': {'key': 'internalName', 'type': 'str'}, - } - - def __init__(self, *, name: str=None, display_name: str=None, internal_name: str=None, **kwargs) -> None: - super(Dimension, self).__init__(**kwargs) - self.name = name - self.display_name = display_name - self.internal_name = internal_name - - -class DnsNameAvailabilityResult(Model): - """Response for the CheckDnsNameAvailability API service call. - - :param available: Domain availability (True/False). - :type available: bool - """ - - _attribute_map = { - 'available': {'key': 'available', 'type': 'bool'}, - } - - def __init__(self, *, available: bool=None, **kwargs) -> None: - super(DnsNameAvailabilityResult, self).__init__(**kwargs) - self.available = available - - -class EffectiveNetworkSecurityGroup(Model): - """Effective network security group. - - :param network_security_group: The ID of network security group that is - applied. - :type network_security_group: - ~azure.mgmt.network.v2019_07_01.models.SubResource - :param association: Associated resources. - :type association: - ~azure.mgmt.network.v2019_07_01.models.EffectiveNetworkSecurityGroupAssociation - :param effective_security_rules: A collection of effective security rules. - :type effective_security_rules: - list[~azure.mgmt.network.v2019_07_01.models.EffectiveNetworkSecurityRule] - :param tag_map: Mapping of tags to list of IP Addresses included within - the tag. - :type tag_map: dict[str, list[str]] - """ - - _attribute_map = { - 'network_security_group': {'key': 'networkSecurityGroup', 'type': 'SubResource'}, - 'association': {'key': 'association', 'type': 'EffectiveNetworkSecurityGroupAssociation'}, - 'effective_security_rules': {'key': 'effectiveSecurityRules', 'type': '[EffectiveNetworkSecurityRule]'}, - 'tag_map': {'key': 'tagMap', 'type': '{[str]}'}, - } - - def __init__(self, *, network_security_group=None, association=None, effective_security_rules=None, tag_map=None, **kwargs) -> None: - super(EffectiveNetworkSecurityGroup, self).__init__(**kwargs) - self.network_security_group = network_security_group - self.association = association - self.effective_security_rules = effective_security_rules - self.tag_map = tag_map - - -class EffectiveNetworkSecurityGroupAssociation(Model): - """The effective network security group association. - - :param subnet: The ID of the subnet if assigned. - :type subnet: ~azure.mgmt.network.v2019_07_01.models.SubResource - :param network_interface: The ID of the network interface if assigned. - :type network_interface: - ~azure.mgmt.network.v2019_07_01.models.SubResource - """ - - _attribute_map = { - 'subnet': {'key': 'subnet', 'type': 'SubResource'}, - 'network_interface': {'key': 'networkInterface', 'type': 'SubResource'}, - } - - def __init__(self, *, subnet=None, network_interface=None, **kwargs) -> None: - super(EffectiveNetworkSecurityGroupAssociation, self).__init__(**kwargs) - self.subnet = subnet - self.network_interface = network_interface - - -class EffectiveNetworkSecurityGroupListResult(Model): - """Response for list effective network security groups API service call. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param value: A list of effective network security groups. - :type value: - list[~azure.mgmt.network.v2019_07_01.models.EffectiveNetworkSecurityGroup] - :ivar next_link: The URL to get the next set of results. - :vartype next_link: str - """ - - _validation = { - 'next_link': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[EffectiveNetworkSecurityGroup]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__(self, *, value=None, **kwargs) -> None: - super(EffectiveNetworkSecurityGroupListResult, self).__init__(**kwargs) - self.value = value - self.next_link = None - - -class EffectiveNetworkSecurityRule(Model): - """Effective network security rules. - - :param name: The name of the security rule specified by the user (if - created by the user). - :type name: str - :param protocol: The network protocol this rule applies to. Possible - values include: 'Tcp', 'Udp', 'All' - :type protocol: str or - ~azure.mgmt.network.v2019_07_01.models.EffectiveSecurityRuleProtocol - :param source_port_range: The source port or range. - :type source_port_range: str - :param destination_port_range: The destination port or range. - :type destination_port_range: str - :param source_port_ranges: The source port ranges. Expected values include - a single integer between 0 and 65535, a range using '-' as separator (e.g. - 100-400), or an asterisk (*). - :type source_port_ranges: list[str] - :param destination_port_ranges: The destination port ranges. Expected - values include a single integer between 0 and 65535, a range using '-' as - separator (e.g. 100-400), or an asterisk (*). - :type destination_port_ranges: list[str] - :param source_address_prefix: The source address prefix. - :type source_address_prefix: str - :param destination_address_prefix: The destination address prefix. - :type destination_address_prefix: str - :param source_address_prefixes: The source address prefixes. Expected - values include CIDR IP ranges, Default Tags (VirtualNetwork, - AzureLoadBalancer, Internet), System Tags, and the asterisk (*). - :type source_address_prefixes: list[str] - :param destination_address_prefixes: The destination address prefixes. - Expected values include CIDR IP ranges, Default Tags (VirtualNetwork, - AzureLoadBalancer, Internet), System Tags, and the asterisk (*). - :type destination_address_prefixes: list[str] - :param expanded_source_address_prefix: The expanded source address prefix. - :type expanded_source_address_prefix: list[str] - :param expanded_destination_address_prefix: Expanded destination address - prefix. - :type expanded_destination_address_prefix: list[str] - :param access: Whether network traffic is allowed or denied. Possible - values include: 'Allow', 'Deny' - :type access: str or - ~azure.mgmt.network.v2019_07_01.models.SecurityRuleAccess - :param priority: The priority of the rule. - :type priority: int - :param direction: The direction of the rule. Possible values include: - 'Inbound', 'Outbound' - :type direction: str or - ~azure.mgmt.network.v2019_07_01.models.SecurityRuleDirection - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'protocol': {'key': 'protocol', 'type': 'str'}, - 'source_port_range': {'key': 'sourcePortRange', 'type': 'str'}, - 'destination_port_range': {'key': 'destinationPortRange', 'type': 'str'}, - 'source_port_ranges': {'key': 'sourcePortRanges', 'type': '[str]'}, - 'destination_port_ranges': {'key': 'destinationPortRanges', 'type': '[str]'}, - 'source_address_prefix': {'key': 'sourceAddressPrefix', 'type': 'str'}, - 'destination_address_prefix': {'key': 'destinationAddressPrefix', 'type': 'str'}, - 'source_address_prefixes': {'key': 'sourceAddressPrefixes', 'type': '[str]'}, - 'destination_address_prefixes': {'key': 'destinationAddressPrefixes', 'type': '[str]'}, - 'expanded_source_address_prefix': {'key': 'expandedSourceAddressPrefix', 'type': '[str]'}, - 'expanded_destination_address_prefix': {'key': 'expandedDestinationAddressPrefix', 'type': '[str]'}, - 'access': {'key': 'access', 'type': 'str'}, - 'priority': {'key': 'priority', 'type': 'int'}, - 'direction': {'key': 'direction', 'type': 'str'}, - } - - def __init__(self, *, name: str=None, protocol=None, source_port_range: str=None, destination_port_range: str=None, source_port_ranges=None, destination_port_ranges=None, source_address_prefix: str=None, destination_address_prefix: str=None, source_address_prefixes=None, destination_address_prefixes=None, expanded_source_address_prefix=None, expanded_destination_address_prefix=None, access=None, priority: int=None, direction=None, **kwargs) -> None: - super(EffectiveNetworkSecurityRule, self).__init__(**kwargs) - self.name = name - self.protocol = protocol - self.source_port_range = source_port_range - self.destination_port_range = destination_port_range - self.source_port_ranges = source_port_ranges - self.destination_port_ranges = destination_port_ranges - self.source_address_prefix = source_address_prefix - self.destination_address_prefix = destination_address_prefix - self.source_address_prefixes = source_address_prefixes - self.destination_address_prefixes = destination_address_prefixes - self.expanded_source_address_prefix = expanded_source_address_prefix - self.expanded_destination_address_prefix = expanded_destination_address_prefix - self.access = access - self.priority = priority - self.direction = direction - - -class EffectiveRoute(Model): - """Effective Route. - - :param name: The name of the user defined route. This is optional. - :type name: str - :param disable_bgp_route_propagation: If true, on-premises routes are not - propagated to the network interfaces in the subnet. - :type disable_bgp_route_propagation: bool - :param source: Who created the route. Possible values include: 'Unknown', - 'User', 'VirtualNetworkGateway', 'Default' - :type source: str or - ~azure.mgmt.network.v2019_07_01.models.EffectiveRouteSource - :param state: The value of effective route. Possible values include: - 'Active', 'Invalid' - :type state: str or - ~azure.mgmt.network.v2019_07_01.models.EffectiveRouteState - :param address_prefix: The address prefixes of the effective routes in - CIDR notation. - :type address_prefix: list[str] - :param next_hop_ip_address: The IP address of the next hop of the - effective route. - :type next_hop_ip_address: list[str] - :param next_hop_type: The type of Azure hop the packet should be sent to. - Possible values include: 'VirtualNetworkGateway', 'VnetLocal', 'Internet', - 'VirtualAppliance', 'None' - :type next_hop_type: str or - ~azure.mgmt.network.v2019_07_01.models.RouteNextHopType - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'disable_bgp_route_propagation': {'key': 'disableBgpRoutePropagation', 'type': 'bool'}, - 'source': {'key': 'source', 'type': 'str'}, - 'state': {'key': 'state', 'type': 'str'}, - 'address_prefix': {'key': 'addressPrefix', 'type': '[str]'}, - 'next_hop_ip_address': {'key': 'nextHopIpAddress', 'type': '[str]'}, - 'next_hop_type': {'key': 'nextHopType', 'type': 'str'}, - } - - def __init__(self, *, name: str=None, disable_bgp_route_propagation: bool=None, source=None, state=None, address_prefix=None, next_hop_ip_address=None, next_hop_type=None, **kwargs) -> None: - super(EffectiveRoute, self).__init__(**kwargs) - self.name = name - self.disable_bgp_route_propagation = disable_bgp_route_propagation - self.source = source - self.state = state - self.address_prefix = address_prefix - self.next_hop_ip_address = next_hop_ip_address - self.next_hop_type = next_hop_type - - -class EffectiveRouteListResult(Model): - """Response for list effective route API service call. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param value: A list of effective routes. - :type value: list[~azure.mgmt.network.v2019_07_01.models.EffectiveRoute] - :ivar next_link: The URL to get the next set of results. - :vartype next_link: str - """ - - _validation = { - 'next_link': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[EffectiveRoute]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__(self, *, value=None, **kwargs) -> None: - super(EffectiveRouteListResult, self).__init__(**kwargs) - self.value = value - self.next_link = None - - -class EndpointServiceResult(SubResource): - """Endpoint service. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Name of the endpoint service. - :vartype name: str - :ivar type: Type of the endpoint service. - :vartype type: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, **kwargs) -> None: - super(EndpointServiceResult, self).__init__(id=id, **kwargs) - self.name = None - self.type = None - - -class Error(Model): - """Common error representation. - - :param code: Error code. - :type code: str - :param message: Error message. - :type message: str - :param target: Error target. - :type target: str - :param details: Error details. - :type details: list[~azure.mgmt.network.v2019_07_01.models.ErrorDetails] - :param inner_error: Inner error message. - :type inner_error: str - """ - - _attribute_map = { - 'code': {'key': 'code', 'type': 'str'}, - 'message': {'key': 'message', 'type': 'str'}, - 'target': {'key': 'target', 'type': 'str'}, - 'details': {'key': 'details', 'type': '[ErrorDetails]'}, - 'inner_error': {'key': 'innerError', 'type': 'str'}, - } - - def __init__(self, *, code: str=None, message: str=None, target: str=None, details=None, inner_error: str=None, **kwargs) -> None: - super(Error, self).__init__(**kwargs) - self.code = code - self.message = message - self.target = target - self.details = details - self.inner_error = inner_error - - -class ErrorException(HttpOperationError): - """Server responsed with exception of type: 'Error'. - - :param deserialize: A deserializer - :param response: Server response to be deserialized. - """ - - def __init__(self, deserialize, response, *args): - - super(ErrorException, self).__init__(deserialize, response, 'Error', *args) - - -class ErrorDetails(Model): - """Common error details representation. - - :param code: Error code. - :type code: str - :param target: Error target. - :type target: str - :param message: Error message. - :type message: str - """ - - _attribute_map = { - 'code': {'key': 'code', 'type': 'str'}, - 'target': {'key': 'target', 'type': 'str'}, - 'message': {'key': 'message', 'type': 'str'}, - } - - def __init__(self, *, code: str=None, target: str=None, message: str=None, **kwargs) -> None: - super(ErrorDetails, self).__init__(**kwargs) - self.code = code - self.target = target - self.message = message - - -class ErrorResponse(Model): - """The error object. - - :param error: Error. The error details object. - :type error: ~azure.mgmt.network.v2019_07_01.models.ErrorDetails - """ - - _attribute_map = { - 'error': {'key': 'error', 'type': 'ErrorDetails'}, - } - - def __init__(self, *, error=None, **kwargs) -> None: - super(ErrorResponse, self).__init__(**kwargs) - self.error = error - - -class ErrorResponseException(HttpOperationError): - """Server responsed with exception of type: 'ErrorResponse'. - - :param deserialize: A deserializer - :param response: Server response to be deserialized. - """ - - def __init__(self, deserialize, response, *args): - - super(ErrorResponseException, self).__init__(deserialize, response, 'ErrorResponse', *args) - - -class EvaluatedNetworkSecurityGroup(Model): - """Results of network security group evaluation. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param network_security_group_id: Network security group ID. - :type network_security_group_id: str - :param applied_to: Resource ID of nic or subnet to which network security - group is applied. - :type applied_to: str - :param matched_rule: Matched network security rule. - :type matched_rule: ~azure.mgmt.network.v2019_07_01.models.MatchedRule - :ivar rules_evaluation_result: List of network security rules evaluation - results. - :vartype rules_evaluation_result: - list[~azure.mgmt.network.v2019_07_01.models.NetworkSecurityRulesEvaluationResult] - """ - - _validation = { - 'rules_evaluation_result': {'readonly': True}, - } - - _attribute_map = { - 'network_security_group_id': {'key': 'networkSecurityGroupId', 'type': 'str'}, - 'applied_to': {'key': 'appliedTo', 'type': 'str'}, - 'matched_rule': {'key': 'matchedRule', 'type': 'MatchedRule'}, - 'rules_evaluation_result': {'key': 'rulesEvaluationResult', 'type': '[NetworkSecurityRulesEvaluationResult]'}, - } - - def __init__(self, *, network_security_group_id: str=None, applied_to: str=None, matched_rule=None, **kwargs) -> None: - super(EvaluatedNetworkSecurityGroup, self).__init__(**kwargs) - self.network_security_group_id = network_security_group_id - self.applied_to = applied_to - self.matched_rule = matched_rule - self.rules_evaluation_result = None - - -class ExpressRouteCircuit(Resource): - """ExpressRouteCircuit resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param sku: The SKU. - :type sku: ~azure.mgmt.network.v2019_07_01.models.ExpressRouteCircuitSku - :param allow_classic_operations: Allow classic operations. - :type allow_classic_operations: bool - :param circuit_provisioning_state: The CircuitProvisioningState state of - the resource. - :type circuit_provisioning_state: str - :param service_provider_provisioning_state: The - ServiceProviderProvisioningState state of the resource. Possible values - include: 'NotProvisioned', 'Provisioning', 'Provisioned', 'Deprovisioning' - :type service_provider_provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ServiceProviderProvisioningState - :param authorizations: The list of authorizations. - :type authorizations: - list[~azure.mgmt.network.v2019_07_01.models.ExpressRouteCircuitAuthorization] - :param peerings: The list of peerings. - :type peerings: - list[~azure.mgmt.network.v2019_07_01.models.ExpressRouteCircuitPeering] - :param service_key: The ServiceKey. - :type service_key: str - :param service_provider_notes: The ServiceProviderNotes. - :type service_provider_notes: str - :param service_provider_properties: The ServiceProviderProperties. - :type service_provider_properties: - ~azure.mgmt.network.v2019_07_01.models.ExpressRouteCircuitServiceProviderProperties - :param express_route_port: The reference to the ExpressRoutePort resource - when the circuit is provisioned on an ExpressRoutePort resource. - :type express_route_port: - ~azure.mgmt.network.v2019_07_01.models.SubResource - :param bandwidth_in_gbps: The bandwidth of the circuit when the circuit is - provisioned on an ExpressRoutePort resource. - :type bandwidth_in_gbps: float - :ivar stag: The identifier of the circuit traffic. Outer tag for QinQ - encapsulation. - :vartype stag: int - :param provisioning_state: The provisioning state of the express route - circuit resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param gateway_manager_etag: The GatewayManager Etag. - :type gateway_manager_etag: str - :param global_reach_enabled: Flag denoting Global reach status. - :type global_reach_enabled: bool - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'stag': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'sku': {'key': 'sku', 'type': 'ExpressRouteCircuitSku'}, - 'allow_classic_operations': {'key': 'properties.allowClassicOperations', 'type': 'bool'}, - 'circuit_provisioning_state': {'key': 'properties.circuitProvisioningState', 'type': 'str'}, - 'service_provider_provisioning_state': {'key': 'properties.serviceProviderProvisioningState', 'type': 'str'}, - 'authorizations': {'key': 'properties.authorizations', 'type': '[ExpressRouteCircuitAuthorization]'}, - 'peerings': {'key': 'properties.peerings', 'type': '[ExpressRouteCircuitPeering]'}, - 'service_key': {'key': 'properties.serviceKey', 'type': 'str'}, - 'service_provider_notes': {'key': 'properties.serviceProviderNotes', 'type': 'str'}, - 'service_provider_properties': {'key': 'properties.serviceProviderProperties', 'type': 'ExpressRouteCircuitServiceProviderProperties'}, - 'express_route_port': {'key': 'properties.expressRoutePort', 'type': 'SubResource'}, - 'bandwidth_in_gbps': {'key': 'properties.bandwidthInGbps', 'type': 'float'}, - 'stag': {'key': 'properties.stag', 'type': 'int'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'gateway_manager_etag': {'key': 'properties.gatewayManagerEtag', 'type': 'str'}, - 'global_reach_enabled': {'key': 'properties.globalReachEnabled', 'type': 'bool'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, sku=None, allow_classic_operations: bool=None, circuit_provisioning_state: str=None, service_provider_provisioning_state=None, authorizations=None, peerings=None, service_key: str=None, service_provider_notes: str=None, service_provider_properties=None, express_route_port=None, bandwidth_in_gbps: float=None, provisioning_state=None, gateway_manager_etag: str=None, global_reach_enabled: bool=None, **kwargs) -> None: - super(ExpressRouteCircuit, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.sku = sku - self.allow_classic_operations = allow_classic_operations - self.circuit_provisioning_state = circuit_provisioning_state - self.service_provider_provisioning_state = service_provider_provisioning_state - self.authorizations = authorizations - self.peerings = peerings - self.service_key = service_key - self.service_provider_notes = service_provider_notes - self.service_provider_properties = service_provider_properties - self.express_route_port = express_route_port - self.bandwidth_in_gbps = bandwidth_in_gbps - self.stag = None - self.provisioning_state = provisioning_state - self.gateway_manager_etag = gateway_manager_etag - self.global_reach_enabled = global_reach_enabled - self.etag = None - - -class ExpressRouteCircuitArpTable(Model): - """The ARP table associated with the ExpressRouteCircuit. - - :param age: Entry age in minutes. - :type age: int - :param interface: Interface address. - :type interface: str - :param ip_address: The IP address. - :type ip_address: str - :param mac_address: The MAC address. - :type mac_address: str - """ - - _attribute_map = { - 'age': {'key': 'age', 'type': 'int'}, - 'interface': {'key': 'interface', 'type': 'str'}, - 'ip_address': {'key': 'ipAddress', 'type': 'str'}, - 'mac_address': {'key': 'macAddress', 'type': 'str'}, - } - - def __init__(self, *, age: int=None, interface: str=None, ip_address: str=None, mac_address: str=None, **kwargs) -> None: - super(ExpressRouteCircuitArpTable, self).__init__(**kwargs) - self.age = age - self.interface = interface - self.ip_address = ip_address - self.mac_address = mac_address - - -class ExpressRouteCircuitAuthorization(SubResource): - """Authorization in an ExpressRouteCircuit resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param authorization_key: The authorization key. - :type authorization_key: str - :param authorization_use_status: The authorization use status. Possible - values include: 'Available', 'InUse' - :type authorization_use_status: str or - ~azure.mgmt.network.v2019_07_01.models.AuthorizationUseStatus - :param provisioning_state: The provisioning state of the authorization - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :ivar type: Type of the resource. - :vartype type: str - """ - - _validation = { - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'authorization_key': {'key': 'properties.authorizationKey', 'type': 'str'}, - 'authorization_use_status': {'key': 'properties.authorizationUseStatus', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, authorization_key: str=None, authorization_use_status=None, provisioning_state=None, name: str=None, **kwargs) -> None: - super(ExpressRouteCircuitAuthorization, self).__init__(id=id, **kwargs) - self.authorization_key = authorization_key - self.authorization_use_status = authorization_use_status - self.provisioning_state = provisioning_state - self.name = name - self.etag = None - self.type = None - - -class ExpressRouteCircuitConnection(SubResource): - """Express Route Circuit Connection in an ExpressRouteCircuitPeering resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param express_route_circuit_peering: Reference to Express Route Circuit - Private Peering Resource of the circuit initiating connection. - :type express_route_circuit_peering: - ~azure.mgmt.network.v2019_07_01.models.SubResource - :param peer_express_route_circuit_peering: Reference to Express Route - Circuit Private Peering Resource of the peered circuit. - :type peer_express_route_circuit_peering: - ~azure.mgmt.network.v2019_07_01.models.SubResource - :param address_prefix: /29 IP address space to carve out Customer - addresses for tunnels. - :type address_prefix: str - :param authorization_key: The authorization key. - :type authorization_key: str - :param circuit_connection_status: Express Route Circuit connection state. - Possible values include: 'Connected', 'Connecting', 'Disconnected' - :type circuit_connection_status: str or - ~azure.mgmt.network.v2019_07_01.models.CircuitConnectionStatus - :ivar provisioning_state: The provisioning state of the express route - circuit connection resource. Possible values include: 'Succeeded', - 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :ivar type: Type of the resource. - :vartype type: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'express_route_circuit_peering': {'key': 'properties.expressRouteCircuitPeering', 'type': 'SubResource'}, - 'peer_express_route_circuit_peering': {'key': 'properties.peerExpressRouteCircuitPeering', 'type': 'SubResource'}, - 'address_prefix': {'key': 'properties.addressPrefix', 'type': 'str'}, - 'authorization_key': {'key': 'properties.authorizationKey', 'type': 'str'}, - 'circuit_connection_status': {'key': 'properties.circuitConnectionStatus', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, express_route_circuit_peering=None, peer_express_route_circuit_peering=None, address_prefix: str=None, authorization_key: str=None, circuit_connection_status=None, name: str=None, **kwargs) -> None: - super(ExpressRouteCircuitConnection, self).__init__(id=id, **kwargs) - self.express_route_circuit_peering = express_route_circuit_peering - self.peer_express_route_circuit_peering = peer_express_route_circuit_peering - self.address_prefix = address_prefix - self.authorization_key = authorization_key - self.circuit_connection_status = circuit_connection_status - self.provisioning_state = None - self.name = name - self.etag = None - self.type = None - - -class ExpressRouteCircuitPeering(SubResource): - """Peering in an ExpressRouteCircuit resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param peering_type: The peering type. Possible values include: - 'AzurePublicPeering', 'AzurePrivatePeering', 'MicrosoftPeering' - :type peering_type: str or - ~azure.mgmt.network.v2019_07_01.models.ExpressRoutePeeringType - :param state: The peering state. Possible values include: 'Disabled', - 'Enabled' - :type state: str or - ~azure.mgmt.network.v2019_07_01.models.ExpressRoutePeeringState - :param azure_asn: The Azure ASN. - :type azure_asn: int - :param peer_asn: The peer ASN. - :type peer_asn: long - :param primary_peer_address_prefix: The primary address prefix. - :type primary_peer_address_prefix: str - :param secondary_peer_address_prefix: The secondary address prefix. - :type secondary_peer_address_prefix: str - :param primary_azure_port: The primary port. - :type primary_azure_port: str - :param secondary_azure_port: The secondary port. - :type secondary_azure_port: str - :param shared_key: The shared key. - :type shared_key: str - :param vlan_id: The VLAN ID. - :type vlan_id: int - :param microsoft_peering_config: The Microsoft peering configuration. - :type microsoft_peering_config: - ~azure.mgmt.network.v2019_07_01.models.ExpressRouteCircuitPeeringConfig - :param stats: The peering stats of express route circuit. - :type stats: - ~azure.mgmt.network.v2019_07_01.models.ExpressRouteCircuitStats - :param provisioning_state: The provisioning state of the express route - circuit peering resource. Possible values include: 'Succeeded', - 'Updating', 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param gateway_manager_etag: The GatewayManager Etag. - :type gateway_manager_etag: str - :param last_modified_by: Who was the last to modify the peering. - :type last_modified_by: str - :param route_filter: The reference of the RouteFilter resource. - :type route_filter: ~azure.mgmt.network.v2019_07_01.models.SubResource - :param ipv6_peering_config: The IPv6 peering configuration. - :type ipv6_peering_config: - ~azure.mgmt.network.v2019_07_01.models.Ipv6ExpressRouteCircuitPeeringConfig - :param express_route_connection: The ExpressRoute connection. - :type express_route_connection: - ~azure.mgmt.network.v2019_07_01.models.ExpressRouteConnectionId - :param connections: The list of circuit connections associated with Azure - Private Peering for this circuit. - :type connections: - list[~azure.mgmt.network.v2019_07_01.models.ExpressRouteCircuitConnection] - :ivar peered_connections: The list of peered circuit connections - associated with Azure Private Peering for this circuit. - :vartype peered_connections: - list[~azure.mgmt.network.v2019_07_01.models.PeerExpressRouteCircuitConnection] - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :ivar type: Type of the resource. - :vartype type: str - """ - - _validation = { - 'peer_asn': {'maximum': 4294967295, 'minimum': 1}, - 'peered_connections': {'readonly': True}, - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'peering_type': {'key': 'properties.peeringType', 'type': 'str'}, - 'state': {'key': 'properties.state', 'type': 'str'}, - 'azure_asn': {'key': 'properties.azureASN', 'type': 'int'}, - 'peer_asn': {'key': 'properties.peerASN', 'type': 'long'}, - 'primary_peer_address_prefix': {'key': 'properties.primaryPeerAddressPrefix', 'type': 'str'}, - 'secondary_peer_address_prefix': {'key': 'properties.secondaryPeerAddressPrefix', 'type': 'str'}, - 'primary_azure_port': {'key': 'properties.primaryAzurePort', 'type': 'str'}, - 'secondary_azure_port': {'key': 'properties.secondaryAzurePort', 'type': 'str'}, - 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, - 'vlan_id': {'key': 'properties.vlanId', 'type': 'int'}, - 'microsoft_peering_config': {'key': 'properties.microsoftPeeringConfig', 'type': 'ExpressRouteCircuitPeeringConfig'}, - 'stats': {'key': 'properties.stats', 'type': 'ExpressRouteCircuitStats'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'gateway_manager_etag': {'key': 'properties.gatewayManagerEtag', 'type': 'str'}, - 'last_modified_by': {'key': 'properties.lastModifiedBy', 'type': 'str'}, - 'route_filter': {'key': 'properties.routeFilter', 'type': 'SubResource'}, - 'ipv6_peering_config': {'key': 'properties.ipv6PeeringConfig', 'type': 'Ipv6ExpressRouteCircuitPeeringConfig'}, - 'express_route_connection': {'key': 'properties.expressRouteConnection', 'type': 'ExpressRouteConnectionId'}, - 'connections': {'key': 'properties.connections', 'type': '[ExpressRouteCircuitConnection]'}, - 'peered_connections': {'key': 'properties.peeredConnections', 'type': '[PeerExpressRouteCircuitConnection]'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, peering_type=None, state=None, azure_asn: int=None, peer_asn: int=None, primary_peer_address_prefix: str=None, secondary_peer_address_prefix: str=None, primary_azure_port: str=None, secondary_azure_port: str=None, shared_key: str=None, vlan_id: int=None, microsoft_peering_config=None, stats=None, provisioning_state=None, gateway_manager_etag: str=None, last_modified_by: str=None, route_filter=None, ipv6_peering_config=None, express_route_connection=None, connections=None, name: str=None, **kwargs) -> None: - super(ExpressRouteCircuitPeering, self).__init__(id=id, **kwargs) - self.peering_type = peering_type - self.state = state - self.azure_asn = azure_asn - self.peer_asn = peer_asn - self.primary_peer_address_prefix = primary_peer_address_prefix - self.secondary_peer_address_prefix = secondary_peer_address_prefix - self.primary_azure_port = primary_azure_port - self.secondary_azure_port = secondary_azure_port - self.shared_key = shared_key - self.vlan_id = vlan_id - self.microsoft_peering_config = microsoft_peering_config - self.stats = stats - self.provisioning_state = provisioning_state - self.gateway_manager_etag = gateway_manager_etag - self.last_modified_by = last_modified_by - self.route_filter = route_filter - self.ipv6_peering_config = ipv6_peering_config - self.express_route_connection = express_route_connection - self.connections = connections - self.peered_connections = None - self.name = name - self.etag = None - self.type = None - - -class ExpressRouteCircuitPeeringConfig(Model): - """Specifies the peering configuration. - - :param advertised_public_prefixes: The reference of - AdvertisedPublicPrefixes. - :type advertised_public_prefixes: list[str] - :param advertised_communities: The communities of bgp peering. Specified - for microsoft peering. - :type advertised_communities: list[str] - :param advertised_public_prefixes_state: The advertised public prefix - state of the Peering resource. Possible values include: 'NotConfigured', - 'Configuring', 'Configured', 'ValidationNeeded' - :type advertised_public_prefixes_state: str or - ~azure.mgmt.network.v2019_07_01.models.ExpressRouteCircuitPeeringAdvertisedPublicPrefixState - :param legacy_mode: The legacy mode of the peering. - :type legacy_mode: int - :param customer_asn: The CustomerASN of the peering. - :type customer_asn: int - :param routing_registry_name: The RoutingRegistryName of the - configuration. - :type routing_registry_name: str - """ - - _attribute_map = { - 'advertised_public_prefixes': {'key': 'advertisedPublicPrefixes', 'type': '[str]'}, - 'advertised_communities': {'key': 'advertisedCommunities', 'type': '[str]'}, - 'advertised_public_prefixes_state': {'key': 'advertisedPublicPrefixesState', 'type': 'str'}, - 'legacy_mode': {'key': 'legacyMode', 'type': 'int'}, - 'customer_asn': {'key': 'customerASN', 'type': 'int'}, - 'routing_registry_name': {'key': 'routingRegistryName', 'type': 'str'}, - } - - def __init__(self, *, advertised_public_prefixes=None, advertised_communities=None, advertised_public_prefixes_state=None, legacy_mode: int=None, customer_asn: int=None, routing_registry_name: str=None, **kwargs) -> None: - super(ExpressRouteCircuitPeeringConfig, self).__init__(**kwargs) - self.advertised_public_prefixes = advertised_public_prefixes - self.advertised_communities = advertised_communities - self.advertised_public_prefixes_state = advertised_public_prefixes_state - self.legacy_mode = legacy_mode - self.customer_asn = customer_asn - self.routing_registry_name = routing_registry_name - - -class ExpressRouteCircuitPeeringId(Model): - """ExpressRoute circuit peering identifier. - - :param id: The ID of the ExpressRoute circuit peering. - :type id: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, **kwargs) -> None: - super(ExpressRouteCircuitPeeringId, self).__init__(**kwargs) - self.id = id - - -class ExpressRouteCircuitReference(Model): - """Reference to an express route circuit. - - :param id: Corresponding Express Route Circuit Id. - :type id: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, **kwargs) -> None: - super(ExpressRouteCircuitReference, self).__init__(**kwargs) - self.id = id - - -class ExpressRouteCircuitRoutesTable(Model): - """The routes table associated with the ExpressRouteCircuit. - - :param network: IP address of a network entity. - :type network: str - :param next_hop: NextHop address. - :type next_hop: str - :param loc_prf: Local preference value as set with the set - local-preference route-map configuration command. - :type loc_prf: str - :param weight: Route Weight. - :type weight: int - :param path: Autonomous system paths to the destination network. - :type path: str - """ - - _attribute_map = { - 'network': {'key': 'network', 'type': 'str'}, - 'next_hop': {'key': 'nextHop', 'type': 'str'}, - 'loc_prf': {'key': 'locPrf', 'type': 'str'}, - 'weight': {'key': 'weight', 'type': 'int'}, - 'path': {'key': 'path', 'type': 'str'}, - } - - def __init__(self, *, network: str=None, next_hop: str=None, loc_prf: str=None, weight: int=None, path: str=None, **kwargs) -> None: - super(ExpressRouteCircuitRoutesTable, self).__init__(**kwargs) - self.network = network - self.next_hop = next_hop - self.loc_prf = loc_prf - self.weight = weight - self.path = path - - -class ExpressRouteCircuitRoutesTableSummary(Model): - """The routes table associated with the ExpressRouteCircuit. - - :param neighbor: IP address of the neighbor. - :type neighbor: str - :param v: BGP version number spoken to the neighbor. - :type v: int - :param as_property: Autonomous system number. - :type as_property: int - :param up_down: The length of time that the BGP session has been in the - Established state, or the current status if not in the Established state. - :type up_down: str - :param state_pfx_rcd: Current state of the BGP session, and the number of - prefixes that have been received from a neighbor or peer group. - :type state_pfx_rcd: str - """ - - _attribute_map = { - 'neighbor': {'key': 'neighbor', 'type': 'str'}, - 'v': {'key': 'v', 'type': 'int'}, - 'as_property': {'key': 'as', 'type': 'int'}, - 'up_down': {'key': 'upDown', 'type': 'str'}, - 'state_pfx_rcd': {'key': 'statePfxRcd', 'type': 'str'}, - } - - def __init__(self, *, neighbor: str=None, v: int=None, as_property: int=None, up_down: str=None, state_pfx_rcd: str=None, **kwargs) -> None: - super(ExpressRouteCircuitRoutesTableSummary, self).__init__(**kwargs) - self.neighbor = neighbor - self.v = v - self.as_property = as_property - self.up_down = up_down - self.state_pfx_rcd = state_pfx_rcd - - -class ExpressRouteCircuitsArpTableListResult(Model): - """Response for ListArpTable associated with the Express Route Circuits API. - - :param value: A list of the ARP tables. - :type value: - list[~azure.mgmt.network.v2019_07_01.models.ExpressRouteCircuitArpTable] - :param next_link: The URL to get the next set of results. - :type next_link: str - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[ExpressRouteCircuitArpTable]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__(self, *, value=None, next_link: str=None, **kwargs) -> None: - super(ExpressRouteCircuitsArpTableListResult, self).__init__(**kwargs) - self.value = value - self.next_link = next_link - - -class ExpressRouteCircuitServiceProviderProperties(Model): - """Contains ServiceProviderProperties in an ExpressRouteCircuit. - - :param service_provider_name: The serviceProviderName. - :type service_provider_name: str - :param peering_location: The peering location. - :type peering_location: str - :param bandwidth_in_mbps: The BandwidthInMbps. - :type bandwidth_in_mbps: int - """ - - _attribute_map = { - 'service_provider_name': {'key': 'serviceProviderName', 'type': 'str'}, - 'peering_location': {'key': 'peeringLocation', 'type': 'str'}, - 'bandwidth_in_mbps': {'key': 'bandwidthInMbps', 'type': 'int'}, - } - - def __init__(self, *, service_provider_name: str=None, peering_location: str=None, bandwidth_in_mbps: int=None, **kwargs) -> None: - super(ExpressRouteCircuitServiceProviderProperties, self).__init__(**kwargs) - self.service_provider_name = service_provider_name - self.peering_location = peering_location - self.bandwidth_in_mbps = bandwidth_in_mbps - - -class ExpressRouteCircuitSku(Model): - """Contains SKU in an ExpressRouteCircuit. - - :param name: The name of the SKU. - :type name: str - :param tier: The tier of the SKU. Possible values include: 'Standard', - 'Premium', 'Basic', 'Local' - :type tier: str or - ~azure.mgmt.network.v2019_07_01.models.ExpressRouteCircuitSkuTier - :param family: The family of the SKU. Possible values include: - 'UnlimitedData', 'MeteredData' - :type family: str or - ~azure.mgmt.network.v2019_07_01.models.ExpressRouteCircuitSkuFamily - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'tier': {'key': 'tier', 'type': 'str'}, - 'family': {'key': 'family', 'type': 'str'}, - } - - def __init__(self, *, name: str=None, tier=None, family=None, **kwargs) -> None: - super(ExpressRouteCircuitSku, self).__init__(**kwargs) - self.name = name - self.tier = tier - self.family = family - - -class ExpressRouteCircuitsRoutesTableListResult(Model): - """Response for ListRoutesTable associated with the Express Route Circuits - API. - - :param value: The list of routes table. - :type value: - list[~azure.mgmt.network.v2019_07_01.models.ExpressRouteCircuitRoutesTable] - :param next_link: The URL to get the next set of results. - :type next_link: str - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[ExpressRouteCircuitRoutesTable]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__(self, *, value=None, next_link: str=None, **kwargs) -> None: - super(ExpressRouteCircuitsRoutesTableListResult, self).__init__(**kwargs) - self.value = value - self.next_link = next_link - - -class ExpressRouteCircuitsRoutesTableSummaryListResult(Model): - """Response for ListRoutesTable associated with the Express Route Circuits - API. - - :param value: A list of the routes table. - :type value: - list[~azure.mgmt.network.v2019_07_01.models.ExpressRouteCircuitRoutesTableSummary] - :param next_link: The URL to get the next set of results. - :type next_link: str - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[ExpressRouteCircuitRoutesTableSummary]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__(self, *, value=None, next_link: str=None, **kwargs) -> None: - super(ExpressRouteCircuitsRoutesTableSummaryListResult, self).__init__(**kwargs) - self.value = value - self.next_link = next_link - - -class ExpressRouteCircuitStats(Model): - """Contains stats associated with the peering. - - :param primarybytes_in: The Primary BytesIn of the peering. - :type primarybytes_in: long - :param primarybytes_out: The primary BytesOut of the peering. - :type primarybytes_out: long - :param secondarybytes_in: The secondary BytesIn of the peering. - :type secondarybytes_in: long - :param secondarybytes_out: The secondary BytesOut of the peering. - :type secondarybytes_out: long - """ - - _attribute_map = { - 'primarybytes_in': {'key': 'primarybytesIn', 'type': 'long'}, - 'primarybytes_out': {'key': 'primarybytesOut', 'type': 'long'}, - 'secondarybytes_in': {'key': 'secondarybytesIn', 'type': 'long'}, - 'secondarybytes_out': {'key': 'secondarybytesOut', 'type': 'long'}, - } - - def __init__(self, *, primarybytes_in: int=None, primarybytes_out: int=None, secondarybytes_in: int=None, secondarybytes_out: int=None, **kwargs) -> None: - super(ExpressRouteCircuitStats, self).__init__(**kwargs) - self.primarybytes_in = primarybytes_in - self.primarybytes_out = primarybytes_out - self.secondarybytes_in = secondarybytes_in - self.secondarybytes_out = secondarybytes_out - - -class ExpressRouteConnection(SubResource): - """ExpressRouteConnection resource. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :param provisioning_state: The provisioning state of the express route - connection resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param express_route_circuit_peering: Required. The ExpressRoute circuit - peering. - :type express_route_circuit_peering: - ~azure.mgmt.network.v2019_07_01.models.ExpressRouteCircuitPeeringId - :param authorization_key: Authorization key to establish the connection. - :type authorization_key: str - :param routing_weight: The routing weight associated to the connection. - :type routing_weight: int - :param name: Required. The name of the resource. - :type name: str - """ - - _validation = { - 'express_route_circuit_peering': {'required': True}, - 'name': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'express_route_circuit_peering': {'key': 'properties.expressRouteCircuitPeering', 'type': 'ExpressRouteCircuitPeeringId'}, - 'authorization_key': {'key': 'properties.authorizationKey', 'type': 'str'}, - 'routing_weight': {'key': 'properties.routingWeight', 'type': 'int'}, - 'name': {'key': 'name', 'type': 'str'}, - } - - def __init__(self, *, express_route_circuit_peering, name: str, id: str=None, provisioning_state=None, authorization_key: str=None, routing_weight: int=None, **kwargs) -> None: - super(ExpressRouteConnection, self).__init__(id=id, **kwargs) - self.provisioning_state = provisioning_state - self.express_route_circuit_peering = express_route_circuit_peering - self.authorization_key = authorization_key - self.routing_weight = routing_weight - self.name = name - - -class ExpressRouteConnectionId(Model): - """The ID of the ExpressRouteConnection. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar id: The ID of the ExpressRouteConnection. - :vartype id: str - """ - - _validation = { - 'id': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - } - - def __init__(self, **kwargs) -> None: - super(ExpressRouteConnectionId, self).__init__(**kwargs) - self.id = None - - -class ExpressRouteConnectionList(Model): - """ExpressRouteConnection list. - - :param value: The list of ExpressRoute connections. - :type value: - list[~azure.mgmt.network.v2019_07_01.models.ExpressRouteConnection] - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[ExpressRouteConnection]'}, - } - - def __init__(self, *, value=None, **kwargs) -> None: - super(ExpressRouteConnectionList, self).__init__(**kwargs) - self.value = value - - -class ExpressRouteCrossConnection(Resource): - """ExpressRouteCrossConnection resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :ivar primary_azure_port: The name of the primary port. - :vartype primary_azure_port: str - :ivar secondary_azure_port: The name of the secondary port. - :vartype secondary_azure_port: str - :ivar s_tag: The identifier of the circuit traffic. - :vartype s_tag: int - :param peering_location: The peering location of the ExpressRoute circuit. - :type peering_location: str - :param bandwidth_in_mbps: The circuit bandwidth In Mbps. - :type bandwidth_in_mbps: int - :param express_route_circuit: The ExpressRouteCircuit. - :type express_route_circuit: - ~azure.mgmt.network.v2019_07_01.models.ExpressRouteCircuitReference - :param service_provider_provisioning_state: The provisioning state of the - circuit in the connectivity provider system. Possible values include: - 'NotProvisioned', 'Provisioning', 'Provisioned', 'Deprovisioning' - :type service_provider_provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ServiceProviderProvisioningState - :param service_provider_notes: Additional read only notes set by the - connectivity provider. - :type service_provider_notes: str - :ivar provisioning_state: The provisioning state of the express route - cross connection resource. Possible values include: 'Succeeded', - 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param peerings: The list of peerings. - :type peerings: - list[~azure.mgmt.network.v2019_07_01.models.ExpressRouteCrossConnectionPeering] - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'primary_azure_port': {'readonly': True}, - 'secondary_azure_port': {'readonly': True}, - 's_tag': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'primary_azure_port': {'key': 'properties.primaryAzurePort', 'type': 'str'}, - 'secondary_azure_port': {'key': 'properties.secondaryAzurePort', 'type': 'str'}, - 's_tag': {'key': 'properties.sTag', 'type': 'int'}, - 'peering_location': {'key': 'properties.peeringLocation', 'type': 'str'}, - 'bandwidth_in_mbps': {'key': 'properties.bandwidthInMbps', 'type': 'int'}, - 'express_route_circuit': {'key': 'properties.expressRouteCircuit', 'type': 'ExpressRouteCircuitReference'}, - 'service_provider_provisioning_state': {'key': 'properties.serviceProviderProvisioningState', 'type': 'str'}, - 'service_provider_notes': {'key': 'properties.serviceProviderNotes', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'peerings': {'key': 'properties.peerings', 'type': '[ExpressRouteCrossConnectionPeering]'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, peering_location: str=None, bandwidth_in_mbps: int=None, express_route_circuit=None, service_provider_provisioning_state=None, service_provider_notes: str=None, peerings=None, **kwargs) -> None: - super(ExpressRouteCrossConnection, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.primary_azure_port = None - self.secondary_azure_port = None - self.s_tag = None - self.peering_location = peering_location - self.bandwidth_in_mbps = bandwidth_in_mbps - self.express_route_circuit = express_route_circuit - self.service_provider_provisioning_state = service_provider_provisioning_state - self.service_provider_notes = service_provider_notes - self.provisioning_state = None - self.peerings = peerings - self.etag = None - - -class ExpressRouteCrossConnectionPeering(SubResource): - """Peering in an ExpressRoute Cross Connection resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param peering_type: The peering type. Possible values include: - 'AzurePublicPeering', 'AzurePrivatePeering', 'MicrosoftPeering' - :type peering_type: str or - ~azure.mgmt.network.v2019_07_01.models.ExpressRoutePeeringType - :param state: The peering state. Possible values include: 'Disabled', - 'Enabled' - :type state: str or - ~azure.mgmt.network.v2019_07_01.models.ExpressRoutePeeringState - :ivar azure_asn: The Azure ASN. - :vartype azure_asn: int - :param peer_asn: The peer ASN. - :type peer_asn: long - :param primary_peer_address_prefix: The primary address prefix. - :type primary_peer_address_prefix: str - :param secondary_peer_address_prefix: The secondary address prefix. - :type secondary_peer_address_prefix: str - :ivar primary_azure_port: The primary port. - :vartype primary_azure_port: str - :ivar secondary_azure_port: The secondary port. - :vartype secondary_azure_port: str - :param shared_key: The shared key. - :type shared_key: str - :param vlan_id: The VLAN ID. - :type vlan_id: int - :param microsoft_peering_config: The Microsoft peering configuration. - :type microsoft_peering_config: - ~azure.mgmt.network.v2019_07_01.models.ExpressRouteCircuitPeeringConfig - :ivar provisioning_state: The provisioning state of the express route - cross connection peering resource. Possible values include: 'Succeeded', - 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param gateway_manager_etag: The GatewayManager Etag. - :type gateway_manager_etag: str - :param last_modified_by: Who was the last to modify the peering. - :type last_modified_by: str - :param ipv6_peering_config: The IPv6 peering configuration. - :type ipv6_peering_config: - ~azure.mgmt.network.v2019_07_01.models.Ipv6ExpressRouteCircuitPeeringConfig - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'azure_asn': {'readonly': True}, - 'peer_asn': {'maximum': 4294967295, 'minimum': 1}, - 'primary_azure_port': {'readonly': True}, - 'secondary_azure_port': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'peering_type': {'key': 'properties.peeringType', 'type': 'str'}, - 'state': {'key': 'properties.state', 'type': 'str'}, - 'azure_asn': {'key': 'properties.azureASN', 'type': 'int'}, - 'peer_asn': {'key': 'properties.peerASN', 'type': 'long'}, - 'primary_peer_address_prefix': {'key': 'properties.primaryPeerAddressPrefix', 'type': 'str'}, - 'secondary_peer_address_prefix': {'key': 'properties.secondaryPeerAddressPrefix', 'type': 'str'}, - 'primary_azure_port': {'key': 'properties.primaryAzurePort', 'type': 'str'}, - 'secondary_azure_port': {'key': 'properties.secondaryAzurePort', 'type': 'str'}, - 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, - 'vlan_id': {'key': 'properties.vlanId', 'type': 'int'}, - 'microsoft_peering_config': {'key': 'properties.microsoftPeeringConfig', 'type': 'ExpressRouteCircuitPeeringConfig'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'gateway_manager_etag': {'key': 'properties.gatewayManagerEtag', 'type': 'str'}, - 'last_modified_by': {'key': 'properties.lastModifiedBy', 'type': 'str'}, - 'ipv6_peering_config': {'key': 'properties.ipv6PeeringConfig', 'type': 'Ipv6ExpressRouteCircuitPeeringConfig'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, peering_type=None, state=None, peer_asn: int=None, primary_peer_address_prefix: str=None, secondary_peer_address_prefix: str=None, shared_key: str=None, vlan_id: int=None, microsoft_peering_config=None, gateway_manager_etag: str=None, last_modified_by: str=None, ipv6_peering_config=None, name: str=None, **kwargs) -> None: - super(ExpressRouteCrossConnectionPeering, self).__init__(id=id, **kwargs) - self.peering_type = peering_type - self.state = state - self.azure_asn = None - self.peer_asn = peer_asn - self.primary_peer_address_prefix = primary_peer_address_prefix - self.secondary_peer_address_prefix = secondary_peer_address_prefix - self.primary_azure_port = None - self.secondary_azure_port = None - self.shared_key = shared_key - self.vlan_id = vlan_id - self.microsoft_peering_config = microsoft_peering_config - self.provisioning_state = None - self.gateway_manager_etag = gateway_manager_etag - self.last_modified_by = last_modified_by - self.ipv6_peering_config = ipv6_peering_config - self.name = name - self.etag = None - - -class ExpressRouteCrossConnectionRoutesTableSummary(Model): - """The routes table associated with the ExpressRouteCircuit. - - :param neighbor: IP address of Neighbor router. - :type neighbor: str - :param asn: Autonomous system number. - :type asn: int - :param up_down: The length of time that the BGP session has been in the - Established state, or the current status if not in the Established state. - :type up_down: str - :param state_or_prefixes_received: Current state of the BGP session, and - the number of prefixes that have been received from a neighbor or peer - group. - :type state_or_prefixes_received: str - """ - - _attribute_map = { - 'neighbor': {'key': 'neighbor', 'type': 'str'}, - 'asn': {'key': 'asn', 'type': 'int'}, - 'up_down': {'key': 'upDown', 'type': 'str'}, - 'state_or_prefixes_received': {'key': 'stateOrPrefixesReceived', 'type': 'str'}, - } - - def __init__(self, *, neighbor: str=None, asn: int=None, up_down: str=None, state_or_prefixes_received: str=None, **kwargs) -> None: - super(ExpressRouteCrossConnectionRoutesTableSummary, self).__init__(**kwargs) - self.neighbor = neighbor - self.asn = asn - self.up_down = up_down - self.state_or_prefixes_received = state_or_prefixes_received - - -class ExpressRouteCrossConnectionsRoutesTableSummaryListResult(Model): - """Response for ListRoutesTable associated with the Express Route Cross - Connections. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param value: A list of the routes table. - :type value: - list[~azure.mgmt.network.v2019_07_01.models.ExpressRouteCrossConnectionRoutesTableSummary] - :ivar next_link: The URL to get the next set of results. - :vartype next_link: str - """ - - _validation = { - 'next_link': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[ExpressRouteCrossConnectionRoutesTableSummary]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__(self, *, value=None, **kwargs) -> None: - super(ExpressRouteCrossConnectionsRoutesTableSummaryListResult, self).__init__(**kwargs) - self.value = value - self.next_link = None - - -class ExpressRouteGateway(Resource): - """ExpressRoute gateway resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param auto_scale_configuration: Configuration for auto scaling. - :type auto_scale_configuration: - ~azure.mgmt.network.v2019_07_01.models.ExpressRouteGatewayPropertiesAutoScaleConfiguration - :ivar express_route_connections: List of ExpressRoute connections to the - ExpressRoute gateway. - :vartype express_route_connections: - list[~azure.mgmt.network.v2019_07_01.models.ExpressRouteConnection] - :param provisioning_state: The provisioning state of the express route - gateway resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param virtual_hub: Required. The Virtual Hub where the ExpressRoute - gateway is or will be deployed. - :type virtual_hub: ~azure.mgmt.network.v2019_07_01.models.VirtualHubId - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'express_route_connections': {'readonly': True}, - 'virtual_hub': {'required': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'auto_scale_configuration': {'key': 'properties.autoScaleConfiguration', 'type': 'ExpressRouteGatewayPropertiesAutoScaleConfiguration'}, - 'express_route_connections': {'key': 'properties.expressRouteConnections', 'type': '[ExpressRouteConnection]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'virtual_hub': {'key': 'properties.virtualHub', 'type': 'VirtualHubId'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, virtual_hub, id: str=None, location: str=None, tags=None, auto_scale_configuration=None, provisioning_state=None, **kwargs) -> None: - super(ExpressRouteGateway, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.auto_scale_configuration = auto_scale_configuration - self.express_route_connections = None - self.provisioning_state = provisioning_state - self.virtual_hub = virtual_hub - self.etag = None - - -class ExpressRouteGatewayList(Model): - """List of ExpressRoute gateways. - - :param value: List of ExpressRoute gateways. - :type value: - list[~azure.mgmt.network.v2019_07_01.models.ExpressRouteGateway] - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[ExpressRouteGateway]'}, - } - - def __init__(self, *, value=None, **kwargs) -> None: - super(ExpressRouteGatewayList, self).__init__(**kwargs) - self.value = value - - -class ExpressRouteGatewayPropertiesAutoScaleConfiguration(Model): - """Configuration for auto scaling. - - :param bounds: Minimum and maximum number of scale units to deploy. - :type bounds: - ~azure.mgmt.network.v2019_07_01.models.ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds - """ - - _attribute_map = { - 'bounds': {'key': 'bounds', 'type': 'ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds'}, - } - - def __init__(self, *, bounds=None, **kwargs) -> None: - super(ExpressRouteGatewayPropertiesAutoScaleConfiguration, self).__init__(**kwargs) - self.bounds = bounds - - -class ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds(Model): - """Minimum and maximum number of scale units to deploy. - - :param min: Minimum number of scale units deployed for ExpressRoute - gateway. - :type min: int - :param max: Maximum number of scale units deployed for ExpressRoute - gateway. - :type max: int - """ - - _attribute_map = { - 'min': {'key': 'min', 'type': 'int'}, - 'max': {'key': 'max', 'type': 'int'}, - } - - def __init__(self, *, min: int=None, max: int=None, **kwargs) -> None: - super(ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds, self).__init__(**kwargs) - self.min = min - self.max = max - - -class ExpressRouteLink(SubResource): - """ExpressRouteLink. - - ExpressRouteLink child resource definition. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar router_name: Name of Azure router associated with physical port. - :vartype router_name: str - :ivar interface_name: Name of Azure router interface. - :vartype interface_name: str - :ivar patch_panel_id: Mapping between physical port to patch panel port. - :vartype patch_panel_id: str - :ivar rack_id: Mapping of physical patch panel to rack. - :vartype rack_id: str - :ivar connector_type: Physical fiber port type. Possible values include: - 'LC', 'SC' - :vartype connector_type: str or - ~azure.mgmt.network.v2019_07_01.models.ExpressRouteLinkConnectorType - :param admin_state: Administrative state of the physical port. Possible - values include: 'Enabled', 'Disabled' - :type admin_state: str or - ~azure.mgmt.network.v2019_07_01.models.ExpressRouteLinkAdminState - :ivar provisioning_state: The provisioning state of the express route link - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param mac_sec_config: MacSec configuration. - :type mac_sec_config: - ~azure.mgmt.network.v2019_07_01.models.ExpressRouteLinkMacSecConfig - :param name: Name of child port resource that is unique among child port - resources of the parent. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'router_name': {'readonly': True}, - 'interface_name': {'readonly': True}, - 'patch_panel_id': {'readonly': True}, - 'rack_id': {'readonly': True}, - 'connector_type': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'router_name': {'key': 'properties.routerName', 'type': 'str'}, - 'interface_name': {'key': 'properties.interfaceName', 'type': 'str'}, - 'patch_panel_id': {'key': 'properties.patchPanelId', 'type': 'str'}, - 'rack_id': {'key': 'properties.rackId', 'type': 'str'}, - 'connector_type': {'key': 'properties.connectorType', 'type': 'str'}, - 'admin_state': {'key': 'properties.adminState', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'mac_sec_config': {'key': 'properties.macSecConfig', 'type': 'ExpressRouteLinkMacSecConfig'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, admin_state=None, mac_sec_config=None, name: str=None, **kwargs) -> None: - super(ExpressRouteLink, self).__init__(id=id, **kwargs) - self.router_name = None - self.interface_name = None - self.patch_panel_id = None - self.rack_id = None - self.connector_type = None - self.admin_state = admin_state - self.provisioning_state = None - self.mac_sec_config = mac_sec_config - self.name = name - self.etag = None - - -class ExpressRouteLinkMacSecConfig(Model): - """Definition of ExpressRouteLink Mac Security configuration. - - ExpressRouteLink Mac Security Configuration. - - :param ckn_secret_identifier: Keyvault Secret Identifier URL containing - Mac security CKN key. - :type ckn_secret_identifier: str - :param cak_secret_identifier: Keyvault Secret Identifier URL containing - Mac security CAK key. - :type cak_secret_identifier: str - :param cipher: Mac security cipher. Possible values include: - 'gcm-aes-128', 'gcm-aes-256' - :type cipher: str or - ~azure.mgmt.network.v2019_07_01.models.ExpressRouteLinkMacSecCipher - """ - - _attribute_map = { - 'ckn_secret_identifier': {'key': 'cknSecretIdentifier', 'type': 'str'}, - 'cak_secret_identifier': {'key': 'cakSecretIdentifier', 'type': 'str'}, - 'cipher': {'key': 'cipher', 'type': 'str'}, - } - - def __init__(self, *, ckn_secret_identifier: str=None, cak_secret_identifier: str=None, cipher=None, **kwargs) -> None: - super(ExpressRouteLinkMacSecConfig, self).__init__(**kwargs) - self.ckn_secret_identifier = ckn_secret_identifier - self.cak_secret_identifier = cak_secret_identifier - self.cipher = cipher - - -class ExpressRoutePort(Resource): - """ExpressRoute Port. - - ExpressRoutePort resource definition. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param peering_location: The name of the peering location that the - ExpressRoutePort is mapped to physically. - :type peering_location: str - :param bandwidth_in_gbps: Bandwidth of procured ports in Gbps. - :type bandwidth_in_gbps: int - :ivar provisioned_bandwidth_in_gbps: Aggregate Gbps of associated circuit - bandwidths. - :vartype provisioned_bandwidth_in_gbps: float - :ivar mtu: Maximum transmission unit of the physical port pair(s). - :vartype mtu: str - :param encapsulation: Encapsulation method on physical ports. Possible - values include: 'Dot1Q', 'QinQ' - :type encapsulation: str or - ~azure.mgmt.network.v2019_07_01.models.ExpressRoutePortsEncapsulation - :ivar ether_type: Ether type of the physical port. - :vartype ether_type: str - :ivar allocation_date: Date of the physical port allocation to be used in - Letter of Authorization. - :vartype allocation_date: str - :param links: ExpressRouteLink Sub-Resources. The set of physical links of - the ExpressRoutePort resource. - :type links: list[~azure.mgmt.network.v2019_07_01.models.ExpressRouteLink] - :ivar circuits: Reference the ExpressRoute circuit(s) that are provisioned - on this ExpressRoutePort resource. - :vartype circuits: - list[~azure.mgmt.network.v2019_07_01.models.SubResource] - :ivar provisioning_state: The provisioning state of the express route port - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param resource_guid: The resource GUID property of the express route port - resource. - :type resource_guid: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :param identity: The identity of ExpressRoutePort, if configured. - :type identity: - ~azure.mgmt.network.v2019_07_01.models.ManagedServiceIdentity - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'provisioned_bandwidth_in_gbps': {'readonly': True}, - 'mtu': {'readonly': True}, - 'ether_type': {'readonly': True}, - 'allocation_date': {'readonly': True}, - 'circuits': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'peering_location': {'key': 'properties.peeringLocation', 'type': 'str'}, - 'bandwidth_in_gbps': {'key': 'properties.bandwidthInGbps', 'type': 'int'}, - 'provisioned_bandwidth_in_gbps': {'key': 'properties.provisionedBandwidthInGbps', 'type': 'float'}, - 'mtu': {'key': 'properties.mtu', 'type': 'str'}, - 'encapsulation': {'key': 'properties.encapsulation', 'type': 'str'}, - 'ether_type': {'key': 'properties.etherType', 'type': 'str'}, - 'allocation_date': {'key': 'properties.allocationDate', 'type': 'str'}, - 'links': {'key': 'properties.links', 'type': '[ExpressRouteLink]'}, - 'circuits': {'key': 'properties.circuits', 'type': '[SubResource]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, peering_location: str=None, bandwidth_in_gbps: int=None, encapsulation=None, links=None, resource_guid: str=None, identity=None, **kwargs) -> None: - super(ExpressRoutePort, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.peering_location = peering_location - self.bandwidth_in_gbps = bandwidth_in_gbps - self.provisioned_bandwidth_in_gbps = None - self.mtu = None - self.encapsulation = encapsulation - self.ether_type = None - self.allocation_date = None - self.links = links - self.circuits = None - self.provisioning_state = None - self.resource_guid = resource_guid - self.etag = None - self.identity = identity - - -class ExpressRoutePortsLocation(Resource): - """ExpressRoutePorts Peering Location. - - Definition of the ExpressRoutePorts peering location resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :ivar address: Address of peering location. - :vartype address: str - :ivar contact: Contact details of peering locations. - :vartype contact: str - :param available_bandwidths: The inventory of available ExpressRoutePort - bandwidths. - :type available_bandwidths: - list[~azure.mgmt.network.v2019_07_01.models.ExpressRoutePortsLocationBandwidths] - :ivar provisioning_state: The provisioning state of the express route port - location resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'address': {'readonly': True}, - 'contact': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'address': {'key': 'properties.address', 'type': 'str'}, - 'contact': {'key': 'properties.contact', 'type': 'str'}, - 'available_bandwidths': {'key': 'properties.availableBandwidths', 'type': '[ExpressRoutePortsLocationBandwidths]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, available_bandwidths=None, **kwargs) -> None: - super(ExpressRoutePortsLocation, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.address = None - self.contact = None - self.available_bandwidths = available_bandwidths - self.provisioning_state = None - - -class ExpressRoutePortsLocationBandwidths(Model): - """ExpressRoutePorts Location Bandwidths. - - Real-time inventory of available ExpressRoute port bandwidths. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar offer_name: Bandwidth descriptive name. - :vartype offer_name: str - :ivar value_in_gbps: Bandwidth value in Gbps. - :vartype value_in_gbps: int - """ - - _validation = { - 'offer_name': {'readonly': True}, - 'value_in_gbps': {'readonly': True}, - } - - _attribute_map = { - 'offer_name': {'key': 'offerName', 'type': 'str'}, - 'value_in_gbps': {'key': 'valueInGbps', 'type': 'int'}, - } - - def __init__(self, **kwargs) -> None: - super(ExpressRoutePortsLocationBandwidths, self).__init__(**kwargs) - self.offer_name = None - self.value_in_gbps = None - - -class ExpressRouteServiceProvider(Resource): - """A ExpressRouteResourceProvider object. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param peering_locations: A list of peering locations. - :type peering_locations: list[str] - :param bandwidths_offered: A list of bandwidths offered. - :type bandwidths_offered: - list[~azure.mgmt.network.v2019_07_01.models.ExpressRouteServiceProviderBandwidthsOffered] - :param provisioning_state: The provisioning state of the express route - service provider resource. Possible values include: 'Succeeded', - 'Updating', 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'peering_locations': {'key': 'properties.peeringLocations', 'type': '[str]'}, - 'bandwidths_offered': {'key': 'properties.bandwidthsOffered', 'type': '[ExpressRouteServiceProviderBandwidthsOffered]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, peering_locations=None, bandwidths_offered=None, provisioning_state=None, **kwargs) -> None: - super(ExpressRouteServiceProvider, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.peering_locations = peering_locations - self.bandwidths_offered = bandwidths_offered - self.provisioning_state = provisioning_state - - -class ExpressRouteServiceProviderBandwidthsOffered(Model): - """Contains bandwidths offered in ExpressRouteServiceProvider resources. - - :param offer_name: The OfferName. - :type offer_name: str - :param value_in_mbps: The ValueInMbps. - :type value_in_mbps: int - """ - - _attribute_map = { - 'offer_name': {'key': 'offerName', 'type': 'str'}, - 'value_in_mbps': {'key': 'valueInMbps', 'type': 'int'}, - } - - def __init__(self, *, offer_name: str=None, value_in_mbps: int=None, **kwargs) -> None: - super(ExpressRouteServiceProviderBandwidthsOffered, self).__init__(**kwargs) - self.offer_name = offer_name - self.value_in_mbps = value_in_mbps - - -class FirewallPolicy(Resource): - """FirewallPolicy Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :ivar rule_groups: List of references to FirewallPolicyRuleGroups. - :vartype rule_groups: - list[~azure.mgmt.network.v2019_07_01.models.SubResource] - :param provisioning_state: The provisioning state of the firewall policy - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param base_policy: The parent firewall policy from which rules are - inherited. - :type base_policy: ~azure.mgmt.network.v2019_07_01.models.SubResource - :ivar firewalls: List of references to Azure Firewalls that this Firewall - Policy is associated with. - :vartype firewalls: - list[~azure.mgmt.network.v2019_07_01.models.SubResource] - :ivar child_policies: List of references to Child Firewall Policies. - :vartype child_policies: - list[~azure.mgmt.network.v2019_07_01.models.SubResource] - :param threat_intel_mode: The operation mode for Threat Intelligence. - Possible values include: 'Alert', 'Deny', 'Off' - :type threat_intel_mode: str or - ~azure.mgmt.network.v2019_07_01.models.AzureFirewallThreatIntelMode - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'rule_groups': {'readonly': True}, - 'firewalls': {'readonly': True}, - 'child_policies': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'rule_groups': {'key': 'properties.ruleGroups', 'type': '[SubResource]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'base_policy': {'key': 'properties.basePolicy', 'type': 'SubResource'}, - 'firewalls': {'key': 'properties.firewalls', 'type': '[SubResource]'}, - 'child_policies': {'key': 'properties.childPolicies', 'type': '[SubResource]'}, - 'threat_intel_mode': {'key': 'properties.threatIntelMode', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, provisioning_state=None, base_policy=None, threat_intel_mode=None, **kwargs) -> None: - super(FirewallPolicy, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.rule_groups = None - self.provisioning_state = provisioning_state - self.base_policy = base_policy - self.firewalls = None - self.child_policies = None - self.threat_intel_mode = threat_intel_mode - self.etag = None - - -class FirewallPolicyRule(Model): - """Properties of the rule. - - You probably want to use the sub-classes and not this class directly. Known - sub-classes are: FirewallPolicyNatRule, FirewallPolicyFilterRule - - All required parameters must be populated in order to send to Azure. - - :param name: The name of the rule. - :type name: str - :param priority: Priority of the Firewall Policy Rule resource. - :type priority: int - :param rule_type: Required. Constant filled by server. - :type rule_type: str - """ - - _validation = { - 'priority': {'maximum': 65000, 'minimum': 100}, - 'rule_type': {'required': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'priority': {'key': 'priority', 'type': 'int'}, - 'rule_type': {'key': 'ruleType', 'type': 'str'}, - } - - _subtype_map = { - 'rule_type': {'FirewallPolicyNatRule': 'FirewallPolicyNatRule', 'FirewallPolicyFilterRule': 'FirewallPolicyFilterRule'} - } - - def __init__(self, *, name: str=None, priority: int=None, **kwargs) -> None: - super(FirewallPolicyRule, self).__init__(**kwargs) - self.name = name - self.priority = priority - self.rule_type = None - - -class FirewallPolicyFilterRule(FirewallPolicyRule): - """Firewall Policy Filter Rule. - - All required parameters must be populated in order to send to Azure. - - :param name: The name of the rule. - :type name: str - :param priority: Priority of the Firewall Policy Rule resource. - :type priority: int - :param rule_type: Required. Constant filled by server. - :type rule_type: str - :param action: The action type of a Filter rule. - :type action: - ~azure.mgmt.network.v2019_07_01.models.FirewallPolicyFilterRuleAction - :param rule_conditions: Collection of rule conditions used by a rule. - :type rule_conditions: - list[~azure.mgmt.network.v2019_07_01.models.FirewallPolicyRuleCondition] - """ - - _validation = { - 'priority': {'maximum': 65000, 'minimum': 100}, - 'rule_type': {'required': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'priority': {'key': 'priority', 'type': 'int'}, - 'rule_type': {'key': 'ruleType', 'type': 'str'}, - 'action': {'key': 'action', 'type': 'FirewallPolicyFilterRuleAction'}, - 'rule_conditions': {'key': 'ruleConditions', 'type': '[FirewallPolicyRuleCondition]'}, - } - - def __init__(self, *, name: str=None, priority: int=None, action=None, rule_conditions=None, **kwargs) -> None: - super(FirewallPolicyFilterRule, self).__init__(name=name, priority=priority, **kwargs) - self.action = action - self.rule_conditions = rule_conditions - self.rule_type = 'FirewallPolicyFilterRule' - - -class FirewallPolicyFilterRuleAction(Model): - """Properties of the FirewallPolicyFilterRuleAction. - - :param type: The type of action. Possible values include: 'Allow', 'Deny', - 'Alert ' - :type type: str or - ~azure.mgmt.network.v2019_07_01.models.FirewallPolicyFilterRuleActionType - """ - - _attribute_map = { - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, type=None, **kwargs) -> None: - super(FirewallPolicyFilterRuleAction, self).__init__(**kwargs) - self.type = type - - -class FirewallPolicyNatRule(FirewallPolicyRule): - """Firewall Policy NAT Rule. - - All required parameters must be populated in order to send to Azure. - - :param name: The name of the rule. - :type name: str - :param priority: Priority of the Firewall Policy Rule resource. - :type priority: int - :param rule_type: Required. Constant filled by server. - :type rule_type: str - :param action: The action type of a Nat rule. - :type action: - ~azure.mgmt.network.v2019_07_01.models.FirewallPolicyNatRuleAction - :param translated_address: The translated address for this NAT rule. - :type translated_address: str - :param translated_port: The translated port for this NAT rule. - :type translated_port: str - :param rule_condition: The match conditions for incoming traffic. - :type rule_condition: - ~azure.mgmt.network.v2019_07_01.models.FirewallPolicyRuleCondition - """ - - _validation = { - 'priority': {'maximum': 65000, 'minimum': 100}, - 'rule_type': {'required': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'priority': {'key': 'priority', 'type': 'int'}, - 'rule_type': {'key': 'ruleType', 'type': 'str'}, - 'action': {'key': 'action', 'type': 'FirewallPolicyNatRuleAction'}, - 'translated_address': {'key': 'translatedAddress', 'type': 'str'}, - 'translated_port': {'key': 'translatedPort', 'type': 'str'}, - 'rule_condition': {'key': 'ruleCondition', 'type': 'FirewallPolicyRuleCondition'}, - } - - def __init__(self, *, name: str=None, priority: int=None, action=None, translated_address: str=None, translated_port: str=None, rule_condition=None, **kwargs) -> None: - super(FirewallPolicyNatRule, self).__init__(name=name, priority=priority, **kwargs) - self.action = action - self.translated_address = translated_address - self.translated_port = translated_port - self.rule_condition = rule_condition - self.rule_type = 'FirewallPolicyNatRule' - - -class FirewallPolicyNatRuleAction(Model): - """Properties of the FirewallPolicyNatRuleAction. - - :param type: The type of action. Possible values include: 'DNAT', 'SNAT' - :type type: str or - ~azure.mgmt.network.v2019_07_01.models.FirewallPolicyNatRuleActionType - """ - - _attribute_map = { - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, type=None, **kwargs) -> None: - super(FirewallPolicyNatRuleAction, self).__init__(**kwargs) - self.type = type - - -class FirewallPolicyRuleConditionApplicationProtocol(Model): - """Properties of the application rule protocol. - - :param protocol_type: Protocol type. Possible values include: 'Http', - 'Https' - :type protocol_type: str or - ~azure.mgmt.network.v2019_07_01.models.FirewallPolicyRuleConditionApplicationProtocolType - :param port: Port number for the protocol, cannot be greater than 64000. - :type port: int - """ - - _validation = { - 'port': {'maximum': 64000, 'minimum': 0}, - } - - _attribute_map = { - 'protocol_type': {'key': 'protocolType', 'type': 'str'}, - 'port': {'key': 'port', 'type': 'int'}, - } - - def __init__(self, *, protocol_type=None, port: int=None, **kwargs) -> None: - super(FirewallPolicyRuleConditionApplicationProtocol, self).__init__(**kwargs) - self.protocol_type = protocol_type - self.port = port - - -class FirewallPolicyRuleGroup(SubResource): - """Rule Group resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param priority: Priority of the Firewall Policy Rule Group resource. - :type priority: int - :param rules: Group of Firewall Policy rules. - :type rules: - list[~azure.mgmt.network.v2019_07_01.models.FirewallPolicyRule] - :param provisioning_state: The provisioning state of the firewall policy - rule group resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :ivar type: Rule Group type. - :vartype type: str - """ - - _validation = { - 'priority': {'maximum': 65000, 'minimum': 100}, - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'priority': {'key': 'properties.priority', 'type': 'int'}, - 'rules': {'key': 'properties.rules', 'type': '[FirewallPolicyRule]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, priority: int=None, rules=None, provisioning_state=None, name: str=None, **kwargs) -> None: - super(FirewallPolicyRuleGroup, self).__init__(id=id, **kwargs) - self.priority = priority - self.rules = rules - self.provisioning_state = provisioning_state - self.name = name - self.etag = None - self.type = None - - -class FlowLogFormatParameters(Model): - """Parameters that define the flow log format. - - :param type: The file type of flow log. Possible values include: 'JSON' - :type type: str or - ~azure.mgmt.network.v2019_07_01.models.FlowLogFormatType - :param version: The version (revision) of the flow log. Default value: 0 . - :type version: int - """ - - _attribute_map = { - 'type': {'key': 'type', 'type': 'str'}, - 'version': {'key': 'version', 'type': 'int'}, - } - - def __init__(self, *, type=None, version: int=0, **kwargs) -> None: - super(FlowLogFormatParameters, self).__init__(**kwargs) - self.type = type - self.version = version - - -class FlowLogInformation(Model): - """Information on the configuration of flow log and traffic analytics - (optional) . - - All required parameters must be populated in order to send to Azure. - - :param target_resource_id: Required. The ID of the resource to configure - for flow log and traffic analytics (optional) . - :type target_resource_id: str - :param storage_id: Required. ID of the storage account which is used to - store the flow log. - :type storage_id: str - :param enabled: Required. Flag to enable/disable flow logging. - :type enabled: bool - :param retention_policy: Parameters that define the retention policy for - flow log. - :type retention_policy: - ~azure.mgmt.network.v2019_07_01.models.RetentionPolicyParameters - :param format: Parameters that define the flow log format. - :type format: - ~azure.mgmt.network.v2019_07_01.models.FlowLogFormatParameters - :param flow_analytics_configuration: Parameters that define the - configuration of traffic analytics. - :type flow_analytics_configuration: - ~azure.mgmt.network.v2019_07_01.models.TrafficAnalyticsProperties - """ - - _validation = { - 'target_resource_id': {'required': True}, - 'storage_id': {'required': True}, - 'enabled': {'required': True}, - } - - _attribute_map = { - 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, - 'storage_id': {'key': 'properties.storageId', 'type': 'str'}, - 'enabled': {'key': 'properties.enabled', 'type': 'bool'}, - 'retention_policy': {'key': 'properties.retentionPolicy', 'type': 'RetentionPolicyParameters'}, - 'format': {'key': 'properties.format', 'type': 'FlowLogFormatParameters'}, - 'flow_analytics_configuration': {'key': 'flowAnalyticsConfiguration', 'type': 'TrafficAnalyticsProperties'}, - } - - def __init__(self, *, target_resource_id: str, storage_id: str, enabled: bool, retention_policy=None, format=None, flow_analytics_configuration=None, **kwargs) -> None: - super(FlowLogInformation, self).__init__(**kwargs) - self.target_resource_id = target_resource_id - self.storage_id = storage_id - self.enabled = enabled - self.retention_policy = retention_policy - self.format = format - self.flow_analytics_configuration = flow_analytics_configuration - - -class FlowLogStatusParameters(Model): - """Parameters that define a resource to query flow log and traffic analytics - (optional) status. - - All required parameters must be populated in order to send to Azure. - - :param target_resource_id: Required. The target resource where getting the - flow log and traffic analytics (optional) status. - :type target_resource_id: str - """ - - _validation = { - 'target_resource_id': {'required': True}, - } - - _attribute_map = { - 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, - } - - def __init__(self, *, target_resource_id: str, **kwargs) -> None: - super(FlowLogStatusParameters, self).__init__(**kwargs) - self.target_resource_id = target_resource_id - - -class FrontendIPConfiguration(SubResource): - """Frontend IP address of the load balancer. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar inbound_nat_rules: An array of references to inbound rules that use - this frontend IP. - :vartype inbound_nat_rules: - list[~azure.mgmt.network.v2019_07_01.models.SubResource] - :ivar inbound_nat_pools: An array of references to inbound pools that use - this frontend IP. - :vartype inbound_nat_pools: - list[~azure.mgmt.network.v2019_07_01.models.SubResource] - :ivar outbound_rules: An array of references to outbound rules that use - this frontend IP. - :vartype outbound_rules: - list[~azure.mgmt.network.v2019_07_01.models.SubResource] - :ivar load_balancing_rules: An array of references to load balancing rules - that use this frontend IP. - :vartype load_balancing_rules: - list[~azure.mgmt.network.v2019_07_01.models.SubResource] - :param private_ip_address: The private IP address of the IP configuration. - :type private_ip_address: str - :param private_ip_allocation_method: The Private IP allocation method. - Possible values include: 'Static', 'Dynamic' - :type private_ip_allocation_method: str or - ~azure.mgmt.network.v2019_07_01.models.IPAllocationMethod - :param private_ip_address_version: Whether the specific ipconfiguration is - IPv4 or IPv6. Default is taken as IPv4. Possible values include: 'IPv4', - 'IPv6' - :type private_ip_address_version: str or - ~azure.mgmt.network.v2019_07_01.models.IPVersion - :param subnet: The reference of the subnet resource. - :type subnet: ~azure.mgmt.network.v2019_07_01.models.Subnet - :param public_ip_address: The reference of the Public IP resource. - :type public_ip_address: - ~azure.mgmt.network.v2019_07_01.models.PublicIPAddress - :param public_ip_prefix: The reference of the Public IP Prefix resource. - :type public_ip_prefix: ~azure.mgmt.network.v2019_07_01.models.SubResource - :param provisioning_state: The provisioning state of the frontend IP - configuration resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: The name of the resource that is unique within the set of - frontend IP configurations used by the load balancer. This name can be - used to access the resource. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - :ivar type: Type of the resource. - :vartype type: str - :param zones: A list of availability zones denoting the IP allocated for - the resource needs to come from. - :type zones: list[str] - """ - - _validation = { - 'inbound_nat_rules': {'readonly': True}, - 'inbound_nat_pools': {'readonly': True}, - 'outbound_rules': {'readonly': True}, - 'load_balancing_rules': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'inbound_nat_rules': {'key': 'properties.inboundNatRules', 'type': '[SubResource]'}, - 'inbound_nat_pools': {'key': 'properties.inboundNatPools', 'type': '[SubResource]'}, - 'outbound_rules': {'key': 'properties.outboundRules', 'type': '[SubResource]'}, - 'load_balancing_rules': {'key': 'properties.loadBalancingRules', 'type': '[SubResource]'}, - 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, - 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, - 'private_ip_address_version': {'key': 'properties.privateIPAddressVersion', 'type': 'str'}, - 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, - 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'PublicIPAddress'}, - 'public_ip_prefix': {'key': 'properties.publicIPPrefix', 'type': 'SubResource'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'zones': {'key': 'zones', 'type': '[str]'}, - } - - def __init__(self, *, id: str=None, private_ip_address: str=None, private_ip_allocation_method=None, private_ip_address_version=None, subnet=None, public_ip_address=None, public_ip_prefix=None, provisioning_state=None, name: str=None, etag: str=None, zones=None, **kwargs) -> None: - super(FrontendIPConfiguration, self).__init__(id=id, **kwargs) - self.inbound_nat_rules = None - self.inbound_nat_pools = None - self.outbound_rules = None - self.load_balancing_rules = None - self.private_ip_address = private_ip_address - self.private_ip_allocation_method = private_ip_allocation_method - self.private_ip_address_version = private_ip_address_version - self.subnet = subnet - self.public_ip_address = public_ip_address - self.public_ip_prefix = public_ip_prefix - self.provisioning_state = provisioning_state - self.name = name - self.etag = etag - self.type = None - self.zones = zones - - -class GatewayRoute(Model): - """Gateway routing details. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar local_address: The gateway's local address. - :vartype local_address: str - :ivar network: The route's network prefix. - :vartype network: str - :ivar next_hop: The route's next hop. - :vartype next_hop: str - :ivar source_peer: The peer this route was learned from. - :vartype source_peer: str - :ivar origin: The source this route was learned from. - :vartype origin: str - :ivar as_path: The route's AS path sequence. - :vartype as_path: str - :ivar weight: The route's weight. - :vartype weight: int - """ - - _validation = { - 'local_address': {'readonly': True}, - 'network': {'readonly': True}, - 'next_hop': {'readonly': True}, - 'source_peer': {'readonly': True}, - 'origin': {'readonly': True}, - 'as_path': {'readonly': True}, - 'weight': {'readonly': True}, - } - - _attribute_map = { - 'local_address': {'key': 'localAddress', 'type': 'str'}, - 'network': {'key': 'network', 'type': 'str'}, - 'next_hop': {'key': 'nextHop', 'type': 'str'}, - 'source_peer': {'key': 'sourcePeer', 'type': 'str'}, - 'origin': {'key': 'origin', 'type': 'str'}, - 'as_path': {'key': 'asPath', 'type': 'str'}, - 'weight': {'key': 'weight', 'type': 'int'}, - } - - def __init__(self, **kwargs) -> None: - super(GatewayRoute, self).__init__(**kwargs) - self.local_address = None - self.network = None - self.next_hop = None - self.source_peer = None - self.origin = None - self.as_path = None - self.weight = None - - -class GatewayRouteListResult(Model): - """List of virtual network gateway routes. - - :param value: List of gateway routes. - :type value: list[~azure.mgmt.network.v2019_07_01.models.GatewayRoute] - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[GatewayRoute]'}, - } - - def __init__(self, *, value=None, **kwargs) -> None: - super(GatewayRouteListResult, self).__init__(**kwargs) - self.value = value - - -class GetVpnSitesConfigurationRequest(Model): - """List of Vpn-Sites. - - All required parameters must be populated in order to send to Azure. - - :param vpn_sites: List of resource-ids of the vpn-sites for which config - is to be downloaded. - :type vpn_sites: list[str] - :param output_blob_sas_url: Required. The sas-url to download the - configurations for vpn-sites. - :type output_blob_sas_url: str - """ - - _validation = { - 'output_blob_sas_url': {'required': True}, - } - - _attribute_map = { - 'vpn_sites': {'key': 'vpnSites', 'type': '[str]'}, - 'output_blob_sas_url': {'key': 'outputBlobSasUrl', 'type': 'str'}, - } - - def __init__(self, *, output_blob_sas_url: str, vpn_sites=None, **kwargs) -> None: - super(GetVpnSitesConfigurationRequest, self).__init__(**kwargs) - self.vpn_sites = vpn_sites - self.output_blob_sas_url = output_blob_sas_url - - -class HTTPConfiguration(Model): - """HTTP configuration of the connectivity check. - - :param method: HTTP method. Possible values include: 'Get' - :type method: str or ~azure.mgmt.network.v2019_07_01.models.HTTPMethod - :param headers: List of HTTP headers. - :type headers: list[~azure.mgmt.network.v2019_07_01.models.HTTPHeader] - :param valid_status_codes: Valid status codes. - :type valid_status_codes: list[int] - """ - - _attribute_map = { - 'method': {'key': 'method', 'type': 'str'}, - 'headers': {'key': 'headers', 'type': '[HTTPHeader]'}, - 'valid_status_codes': {'key': 'validStatusCodes', 'type': '[int]'}, - } - - def __init__(self, *, method=None, headers=None, valid_status_codes=None, **kwargs) -> None: - super(HTTPConfiguration, self).__init__(**kwargs) - self.method = method - self.headers = headers - self.valid_status_codes = valid_status_codes - - -class HTTPHeader(Model): - """Describes the HTTP header. - - :param name: The name in HTTP header. - :type name: str - :param value: The value in HTTP header. - :type value: str - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'value': {'key': 'value', 'type': 'str'}, - } - - def __init__(self, *, name: str=None, value: str=None, **kwargs) -> None: - super(HTTPHeader, self).__init__(**kwargs) - self.name = name - self.value = value - - -class HubIPAddresses(Model): - """IP addresses associated with azure firewall. - - :param public_ip_addresses: List of Public IP addresses associated with - azure firewall. - :type public_ip_addresses: - list[~azure.mgmt.network.v2019_07_01.models.AzureFirewallPublicIPAddress] - :param private_ip_address: Private IP Address associated with azure - firewall. - :type private_ip_address: str - """ - - _attribute_map = { - 'public_ip_addresses': {'key': 'publicIPAddresses', 'type': '[AzureFirewallPublicIPAddress]'}, - 'private_ip_address': {'key': 'privateIPAddress', 'type': 'str'}, - } - - def __init__(self, *, public_ip_addresses=None, private_ip_address: str=None, **kwargs) -> None: - super(HubIPAddresses, self).__init__(**kwargs) - self.public_ip_addresses = public_ip_addresses - self.private_ip_address = private_ip_address - - -class HubVirtualNetworkConnection(SubResource): - """HubVirtualNetworkConnection Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param remote_virtual_network: Reference to the remote virtual network. - :type remote_virtual_network: - ~azure.mgmt.network.v2019_07_01.models.SubResource - :param allow_hub_to_remote_vnet_transit: VirtualHub to RemoteVnet transit - to enabled or not. - :type allow_hub_to_remote_vnet_transit: bool - :param allow_remote_vnet_to_use_hub_vnet_gateways: Allow RemoteVnet to use - Virtual Hub's gateways. - :type allow_remote_vnet_to_use_hub_vnet_gateways: bool - :param enable_internet_security: Enable internet security. - :type enable_internet_security: bool - :param provisioning_state: The provisioning state of the hub virtual - network connection resource. Possible values include: 'Succeeded', - 'Updating', 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'remote_virtual_network': {'key': 'properties.remoteVirtualNetwork', 'type': 'SubResource'}, - 'allow_hub_to_remote_vnet_transit': {'key': 'properties.allowHubToRemoteVnetTransit', 'type': 'bool'}, - 'allow_remote_vnet_to_use_hub_vnet_gateways': {'key': 'properties.allowRemoteVnetToUseHubVnetGateways', 'type': 'bool'}, - 'enable_internet_security': {'key': 'properties.enableInternetSecurity', 'type': 'bool'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, remote_virtual_network=None, allow_hub_to_remote_vnet_transit: bool=None, allow_remote_vnet_to_use_hub_vnet_gateways: bool=None, enable_internet_security: bool=None, provisioning_state=None, name: str=None, **kwargs) -> None: - super(HubVirtualNetworkConnection, self).__init__(id=id, **kwargs) - self.remote_virtual_network = remote_virtual_network - self.allow_hub_to_remote_vnet_transit = allow_hub_to_remote_vnet_transit - self.allow_remote_vnet_to_use_hub_vnet_gateways = allow_remote_vnet_to_use_hub_vnet_gateways - self.enable_internet_security = enable_internet_security - self.provisioning_state = provisioning_state - self.name = name - self.etag = None - - -class InboundNatPool(SubResource): - """Inbound NAT pool of the load balancer. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :param frontend_ip_configuration: A reference to frontend IP addresses. - :type frontend_ip_configuration: - ~azure.mgmt.network.v2019_07_01.models.SubResource - :param protocol: Required. The reference to the transport protocol used by - the inbound NAT pool. Possible values include: 'Udp', 'Tcp', 'All' - :type protocol: str or - ~azure.mgmt.network.v2019_07_01.models.TransportProtocol - :param frontend_port_range_start: Required. The first port number in the - range of external ports that will be used to provide Inbound Nat to NICs - associated with a load balancer. Acceptable values range between 1 and - 65534. - :type frontend_port_range_start: int - :param frontend_port_range_end: Required. The last port number in the - range of external ports that will be used to provide Inbound Nat to NICs - associated with a load balancer. Acceptable values range between 1 and - 65535. - :type frontend_port_range_end: int - :param backend_port: Required. The port used for internal connections on - the endpoint. Acceptable values are between 1 and 65535. - :type backend_port: int - :param idle_timeout_in_minutes: The timeout for the TCP idle connection. - The value can be set between 4 and 30 minutes. The default value is 4 - minutes. This element is only used when the protocol is set to TCP. - :type idle_timeout_in_minutes: int - :param enable_floating_ip: Configures a virtual machine's endpoint for the - floating IP capability required to configure a SQL AlwaysOn Availability - Group. This setting is required when using the SQL AlwaysOn Availability - Groups in SQL server. This setting can't be changed after you create the - endpoint. - :type enable_floating_ip: bool - :param enable_tcp_reset: Receive bidirectional TCP Reset on TCP flow idle - timeout or unexpected connection termination. This element is only used - when the protocol is set to TCP. - :type enable_tcp_reset: bool - :param provisioning_state: The provisioning state of the inbound NAT pool - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: The name of the resource that is unique within the set of - inbound NAT pools used by the load balancer. This name can be used to - access the resource. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - :ivar type: Type of the resource. - :vartype type: str - """ - - _validation = { - 'protocol': {'required': True}, - 'frontend_port_range_start': {'required': True}, - 'frontend_port_range_end': {'required': True}, - 'backend_port': {'required': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'frontend_ip_configuration': {'key': 'properties.frontendIPConfiguration', 'type': 'SubResource'}, - 'protocol': {'key': 'properties.protocol', 'type': 'str'}, - 'frontend_port_range_start': {'key': 'properties.frontendPortRangeStart', 'type': 'int'}, - 'frontend_port_range_end': {'key': 'properties.frontendPortRangeEnd', 'type': 'int'}, - 'backend_port': {'key': 'properties.backendPort', 'type': 'int'}, - 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, - 'enable_floating_ip': {'key': 'properties.enableFloatingIP', 'type': 'bool'}, - 'enable_tcp_reset': {'key': 'properties.enableTcpReset', 'type': 'bool'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, protocol, frontend_port_range_start: int, frontend_port_range_end: int, backend_port: int, id: str=None, frontend_ip_configuration=None, idle_timeout_in_minutes: int=None, enable_floating_ip: bool=None, enable_tcp_reset: bool=None, provisioning_state=None, name: str=None, etag: str=None, **kwargs) -> None: - super(InboundNatPool, self).__init__(id=id, **kwargs) - self.frontend_ip_configuration = frontend_ip_configuration - self.protocol = protocol - self.frontend_port_range_start = frontend_port_range_start - self.frontend_port_range_end = frontend_port_range_end - self.backend_port = backend_port - self.idle_timeout_in_minutes = idle_timeout_in_minutes - self.enable_floating_ip = enable_floating_ip - self.enable_tcp_reset = enable_tcp_reset - self.provisioning_state = provisioning_state - self.name = name - self.etag = etag - self.type = None - - -class InboundNatRule(SubResource): - """Inbound NAT rule of the load balancer. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param frontend_ip_configuration: A reference to frontend IP addresses. - :type frontend_ip_configuration: - ~azure.mgmt.network.v2019_07_01.models.SubResource - :ivar backend_ip_configuration: A reference to a private IP address - defined on a network interface of a VM. Traffic sent to the frontend port - of each of the frontend IP configurations is forwarded to the backend IP. - :vartype backend_ip_configuration: - ~azure.mgmt.network.v2019_07_01.models.NetworkInterfaceIPConfiguration - :param protocol: The reference to the transport protocol used by the load - balancing rule. Possible values include: 'Udp', 'Tcp', 'All' - :type protocol: str or - ~azure.mgmt.network.v2019_07_01.models.TransportProtocol - :param frontend_port: The port for the external endpoint. Port numbers for - each rule must be unique within the Load Balancer. Acceptable values range - from 1 to 65534. - :type frontend_port: int - :param backend_port: The port used for the internal endpoint. Acceptable - values range from 1 to 65535. - :type backend_port: int - :param idle_timeout_in_minutes: The timeout for the TCP idle connection. - The value can be set between 4 and 30 minutes. The default value is 4 - minutes. This element is only used when the protocol is set to TCP. - :type idle_timeout_in_minutes: int - :param enable_floating_ip: Configures a virtual machine's endpoint for the - floating IP capability required to configure a SQL AlwaysOn Availability - Group. This setting is required when using the SQL AlwaysOn Availability - Groups in SQL server. This setting can't be changed after you create the - endpoint. - :type enable_floating_ip: bool - :param enable_tcp_reset: Receive bidirectional TCP Reset on TCP flow idle - timeout or unexpected connection termination. This element is only used - when the protocol is set to TCP. - :type enable_tcp_reset: bool - :param provisioning_state: The provisioning state of the inbound NAT rule - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: The name of the resource that is unique within the set of - inbound NAT rules used by the load balancer. This name can be used to - access the resource. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - :ivar type: Type of the resource. - :vartype type: str - """ - - _validation = { - 'backend_ip_configuration': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'frontend_ip_configuration': {'key': 'properties.frontendIPConfiguration', 'type': 'SubResource'}, - 'backend_ip_configuration': {'key': 'properties.backendIPConfiguration', 'type': 'NetworkInterfaceIPConfiguration'}, - 'protocol': {'key': 'properties.protocol', 'type': 'str'}, - 'frontend_port': {'key': 'properties.frontendPort', 'type': 'int'}, - 'backend_port': {'key': 'properties.backendPort', 'type': 'int'}, - 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, - 'enable_floating_ip': {'key': 'properties.enableFloatingIP', 'type': 'bool'}, - 'enable_tcp_reset': {'key': 'properties.enableTcpReset', 'type': 'bool'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, frontend_ip_configuration=None, protocol=None, frontend_port: int=None, backend_port: int=None, idle_timeout_in_minutes: int=None, enable_floating_ip: bool=None, enable_tcp_reset: bool=None, provisioning_state=None, name: str=None, etag: str=None, **kwargs) -> None: - super(InboundNatRule, self).__init__(id=id, **kwargs) - self.frontend_ip_configuration = frontend_ip_configuration - self.backend_ip_configuration = None - self.protocol = protocol - self.frontend_port = frontend_port - self.backend_port = backend_port - self.idle_timeout_in_minutes = idle_timeout_in_minutes - self.enable_floating_ip = enable_floating_ip - self.enable_tcp_reset = enable_tcp_reset - self.provisioning_state = provisioning_state - self.name = name - self.etag = etag - self.type = None - - -class IPAddressAvailabilityResult(Model): - """Response for CheckIPAddressAvailability API service call. - - :param available: Private IP address availability. - :type available: bool - :param available_ip_addresses: Contains other available private IP - addresses if the asked for address is taken. - :type available_ip_addresses: list[str] - """ - - _attribute_map = { - 'available': {'key': 'available', 'type': 'bool'}, - 'available_ip_addresses': {'key': 'availableIPAddresses', 'type': '[str]'}, - } - - def __init__(self, *, available: bool=None, available_ip_addresses=None, **kwargs) -> None: - super(IPAddressAvailabilityResult, self).__init__(**kwargs) - self.available = available - self.available_ip_addresses = available_ip_addresses - - -class IPConfiguration(SubResource): - """IP configuration. - - :param id: Resource ID. - :type id: str - :param private_ip_address: The private IP address of the IP configuration. - :type private_ip_address: str - :param private_ip_allocation_method: The private IP address allocation - method. Possible values include: 'Static', 'Dynamic' - :type private_ip_allocation_method: str or - ~azure.mgmt.network.v2019_07_01.models.IPAllocationMethod - :param subnet: The reference of the subnet resource. - :type subnet: ~azure.mgmt.network.v2019_07_01.models.Subnet - :param public_ip_address: The reference of the public IP resource. - :type public_ip_address: - ~azure.mgmt.network.v2019_07_01.models.PublicIPAddress - :param provisioning_state: The provisioning state of the IP configuration - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, - 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, - 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, - 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'PublicIPAddress'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, private_ip_address: str=None, private_ip_allocation_method=None, subnet=None, public_ip_address=None, provisioning_state=None, name: str=None, etag: str=None, **kwargs) -> None: - super(IPConfiguration, self).__init__(id=id, **kwargs) - self.private_ip_address = private_ip_address - self.private_ip_allocation_method = private_ip_allocation_method - self.subnet = subnet - self.public_ip_address = public_ip_address - self.provisioning_state = provisioning_state - self.name = name - self.etag = etag - - -class IPConfigurationProfile(SubResource): - """IP configuration profile child resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param subnet: The reference of the subnet resource to create a container - network interface ip configuration. - :type subnet: ~azure.mgmt.network.v2019_07_01.models.Subnet - :ivar provisioning_state: The provisioning state of the IP configuration - profile resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: The name of the resource. This name can be used to access the - resource. - :type name: str - :ivar type: Sub Resource type. - :vartype type: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, subnet=None, name: str=None, etag: str=None, **kwargs) -> None: - super(IPConfigurationProfile, self).__init__(id=id, **kwargs) - self.subnet = subnet - self.provisioning_state = None - self.name = name - self.type = None - self.etag = etag - - -class IpsecPolicy(Model): - """An IPSec Policy configuration for a virtual network gateway connection. - - All required parameters must be populated in order to send to Azure. - - :param sa_life_time_seconds: Required. The IPSec Security Association - (also called Quick Mode or Phase 2 SA) lifetime in seconds for a site to - site VPN tunnel. - :type sa_life_time_seconds: int - :param sa_data_size_kilobytes: Required. The IPSec Security Association - (also called Quick Mode or Phase 2 SA) payload size in KB for a site to - site VPN tunnel. - :type sa_data_size_kilobytes: int - :param ipsec_encryption: Required. The IPSec encryption algorithm (IKE - phase 1). Possible values include: 'None', 'DES', 'DES3', 'AES128', - 'AES192', 'AES256', 'GCMAES128', 'GCMAES192', 'GCMAES256' - :type ipsec_encryption: str or - ~azure.mgmt.network.v2019_07_01.models.IpsecEncryption - :param ipsec_integrity: Required. The IPSec integrity algorithm (IKE phase - 1). Possible values include: 'MD5', 'SHA1', 'SHA256', 'GCMAES128', - 'GCMAES192', 'GCMAES256' - :type ipsec_integrity: str or - ~azure.mgmt.network.v2019_07_01.models.IpsecIntegrity - :param ike_encryption: Required. The IKE encryption algorithm (IKE phase - 2). Possible values include: 'DES', 'DES3', 'AES128', 'AES192', 'AES256', - 'GCMAES256', 'GCMAES128' - :type ike_encryption: str or - ~azure.mgmt.network.v2019_07_01.models.IkeEncryption - :param ike_integrity: Required. The IKE integrity algorithm (IKE phase 2). - Possible values include: 'MD5', 'SHA1', 'SHA256', 'SHA384', 'GCMAES256', - 'GCMAES128' - :type ike_integrity: str or - ~azure.mgmt.network.v2019_07_01.models.IkeIntegrity - :param dh_group: Required. The DH Group used in IKE Phase 1 for initial - SA. Possible values include: 'None', 'DHGroup1', 'DHGroup2', 'DHGroup14', - 'DHGroup2048', 'ECP256', 'ECP384', 'DHGroup24' - :type dh_group: str or ~azure.mgmt.network.v2019_07_01.models.DhGroup - :param pfs_group: Required. The Pfs Group used in IKE Phase 2 for new - child SA. Possible values include: 'None', 'PFS1', 'PFS2', 'PFS2048', - 'ECP256', 'ECP384', 'PFS24', 'PFS14', 'PFSMM' - :type pfs_group: str or ~azure.mgmt.network.v2019_07_01.models.PfsGroup - """ - - _validation = { - 'sa_life_time_seconds': {'required': True}, - 'sa_data_size_kilobytes': {'required': True}, - 'ipsec_encryption': {'required': True}, - 'ipsec_integrity': {'required': True}, - 'ike_encryption': {'required': True}, - 'ike_integrity': {'required': True}, - 'dh_group': {'required': True}, - 'pfs_group': {'required': True}, - } - - _attribute_map = { - 'sa_life_time_seconds': {'key': 'saLifeTimeSeconds', 'type': 'int'}, - 'sa_data_size_kilobytes': {'key': 'saDataSizeKilobytes', 'type': 'int'}, - 'ipsec_encryption': {'key': 'ipsecEncryption', 'type': 'str'}, - 'ipsec_integrity': {'key': 'ipsecIntegrity', 'type': 'str'}, - 'ike_encryption': {'key': 'ikeEncryption', 'type': 'str'}, - 'ike_integrity': {'key': 'ikeIntegrity', 'type': 'str'}, - 'dh_group': {'key': 'dhGroup', 'type': 'str'}, - 'pfs_group': {'key': 'pfsGroup', 'type': 'str'}, - } - - def __init__(self, *, sa_life_time_seconds: int, sa_data_size_kilobytes: int, ipsec_encryption, ipsec_integrity, ike_encryption, ike_integrity, dh_group, pfs_group, **kwargs) -> None: - super(IpsecPolicy, self).__init__(**kwargs) - self.sa_life_time_seconds = sa_life_time_seconds - self.sa_data_size_kilobytes = sa_data_size_kilobytes - self.ipsec_encryption = ipsec_encryption - self.ipsec_integrity = ipsec_integrity - self.ike_encryption = ike_encryption - self.ike_integrity = ike_integrity - self.dh_group = dh_group - self.pfs_group = pfs_group - - -class IpTag(Model): - """Contains the IpTag associated with the object. - - :param ip_tag_type: The IP tag type. Example: FirstPartyUsage. - :type ip_tag_type: str - :param tag: The value of the IP tag associated with the public IP. - Example: SQL. - :type tag: str - """ - - _attribute_map = { - 'ip_tag_type': {'key': 'ipTagType', 'type': 'str'}, - 'tag': {'key': 'tag', 'type': 'str'}, - } - - def __init__(self, *, ip_tag_type: str=None, tag: str=None, **kwargs) -> None: - super(IpTag, self).__init__(**kwargs) - self.ip_tag_type = ip_tag_type - self.tag = tag - - -class Ipv6ExpressRouteCircuitPeeringConfig(Model): - """Contains IPv6 peering config. - - :param primary_peer_address_prefix: The primary address prefix. - :type primary_peer_address_prefix: str - :param secondary_peer_address_prefix: The secondary address prefix. - :type secondary_peer_address_prefix: str - :param microsoft_peering_config: The Microsoft peering configuration. - :type microsoft_peering_config: - ~azure.mgmt.network.v2019_07_01.models.ExpressRouteCircuitPeeringConfig - :param route_filter: The reference of the RouteFilter resource. - :type route_filter: ~azure.mgmt.network.v2019_07_01.models.SubResource - :param state: The state of peering. Possible values include: 'Disabled', - 'Enabled' - :type state: str or - ~azure.mgmt.network.v2019_07_01.models.ExpressRouteCircuitPeeringState - """ - - _attribute_map = { - 'primary_peer_address_prefix': {'key': 'primaryPeerAddressPrefix', 'type': 'str'}, - 'secondary_peer_address_prefix': {'key': 'secondaryPeerAddressPrefix', 'type': 'str'}, - 'microsoft_peering_config': {'key': 'microsoftPeeringConfig', 'type': 'ExpressRouteCircuitPeeringConfig'}, - 'route_filter': {'key': 'routeFilter', 'type': 'SubResource'}, - 'state': {'key': 'state', 'type': 'str'}, - } - - def __init__(self, *, primary_peer_address_prefix: str=None, secondary_peer_address_prefix: str=None, microsoft_peering_config=None, route_filter=None, state=None, **kwargs) -> None: - super(Ipv6ExpressRouteCircuitPeeringConfig, self).__init__(**kwargs) - self.primary_peer_address_prefix = primary_peer_address_prefix - self.secondary_peer_address_prefix = secondary_peer_address_prefix - self.microsoft_peering_config = microsoft_peering_config - self.route_filter = route_filter - self.state = state - - -class LoadBalancer(Resource): - """LoadBalancer resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param sku: The load balancer SKU. - :type sku: ~azure.mgmt.network.v2019_07_01.models.LoadBalancerSku - :param frontend_ip_configurations: Object representing the frontend IPs to - be used for the load balancer. - :type frontend_ip_configurations: - list[~azure.mgmt.network.v2019_07_01.models.FrontendIPConfiguration] - :param backend_address_pools: Collection of backend address pools used by - a load balancer. - :type backend_address_pools: - list[~azure.mgmt.network.v2019_07_01.models.BackendAddressPool] - :param load_balancing_rules: Object collection representing the load - balancing rules Gets the provisioning. - :type load_balancing_rules: - list[~azure.mgmt.network.v2019_07_01.models.LoadBalancingRule] - :param probes: Collection of probe objects used in the load balancer. - :type probes: list[~azure.mgmt.network.v2019_07_01.models.Probe] - :param inbound_nat_rules: Collection of inbound NAT Rules used by a load - balancer. Defining inbound NAT rules on your load balancer is mutually - exclusive with defining an inbound NAT pool. Inbound NAT pools are - referenced from virtual machine scale sets. NICs that are associated with - individual virtual machines cannot reference an Inbound NAT pool. They - have to reference individual inbound NAT rules. - :type inbound_nat_rules: - list[~azure.mgmt.network.v2019_07_01.models.InboundNatRule] - :param inbound_nat_pools: Defines an external port range for inbound NAT - to a single backend port on NICs associated with a load balancer. Inbound - NAT rules are created automatically for each NIC associated with the Load - Balancer using an external port from this range. Defining an Inbound NAT - pool on your Load Balancer is mutually exclusive with defining inbound Nat - rules. Inbound NAT pools are referenced from virtual machine scale sets. - NICs that are associated with individual virtual machines cannot reference - an inbound NAT pool. They have to reference individual inbound NAT rules. - :type inbound_nat_pools: - list[~azure.mgmt.network.v2019_07_01.models.InboundNatPool] - :param outbound_rules: The outbound rules. - :type outbound_rules: - list[~azure.mgmt.network.v2019_07_01.models.OutboundRule] - :param resource_guid: The resource GUID property of the load balancer - resource. - :type resource_guid: str - :param provisioning_state: The provisioning state of the load balancer - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'sku': {'key': 'sku', 'type': 'LoadBalancerSku'}, - 'frontend_ip_configurations': {'key': 'properties.frontendIPConfigurations', 'type': '[FrontendIPConfiguration]'}, - 'backend_address_pools': {'key': 'properties.backendAddressPools', 'type': '[BackendAddressPool]'}, - 'load_balancing_rules': {'key': 'properties.loadBalancingRules', 'type': '[LoadBalancingRule]'}, - 'probes': {'key': 'properties.probes', 'type': '[Probe]'}, - 'inbound_nat_rules': {'key': 'properties.inboundNatRules', 'type': '[InboundNatRule]'}, - 'inbound_nat_pools': {'key': 'properties.inboundNatPools', 'type': '[InboundNatPool]'}, - 'outbound_rules': {'key': 'properties.outboundRules', 'type': '[OutboundRule]'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, sku=None, frontend_ip_configurations=None, backend_address_pools=None, load_balancing_rules=None, probes=None, inbound_nat_rules=None, inbound_nat_pools=None, outbound_rules=None, resource_guid: str=None, provisioning_state=None, etag: str=None, **kwargs) -> None: - super(LoadBalancer, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.sku = sku - self.frontend_ip_configurations = frontend_ip_configurations - self.backend_address_pools = backend_address_pools - self.load_balancing_rules = load_balancing_rules - self.probes = probes - self.inbound_nat_rules = inbound_nat_rules - self.inbound_nat_pools = inbound_nat_pools - self.outbound_rules = outbound_rules - self.resource_guid = resource_guid - self.provisioning_state = provisioning_state - self.etag = etag - - -class LoadBalancerSku(Model): - """SKU of a load balancer. - - :param name: Name of a load balancer SKU. Possible values include: - 'Basic', 'Standard' - :type name: str or - ~azure.mgmt.network.v2019_07_01.models.LoadBalancerSkuName - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - } - - def __init__(self, *, name=None, **kwargs) -> None: - super(LoadBalancerSku, self).__init__(**kwargs) - self.name = name - - -class LoadBalancingRule(SubResource): - """A load balancing rule for a load balancer. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :param frontend_ip_configuration: A reference to frontend IP addresses. - :type frontend_ip_configuration: - ~azure.mgmt.network.v2019_07_01.models.SubResource - :param backend_address_pool: A reference to a pool of DIPs. Inbound - traffic is randomly load balanced across IPs in the backend IPs. - :type backend_address_pool: - ~azure.mgmt.network.v2019_07_01.models.SubResource - :param probe: The reference of the load balancer probe used by the load - balancing rule. - :type probe: ~azure.mgmt.network.v2019_07_01.models.SubResource - :param protocol: Required. The reference to the transport protocol used by - the load balancing rule. Possible values include: 'Udp', 'Tcp', 'All' - :type protocol: str or - ~azure.mgmt.network.v2019_07_01.models.TransportProtocol - :param load_distribution: The load distribution policy for this rule. - Possible values include: 'Default', 'SourceIP', 'SourceIPProtocol' - :type load_distribution: str or - ~azure.mgmt.network.v2019_07_01.models.LoadDistribution - :param frontend_port: Required. The port for the external endpoint. Port - numbers for each rule must be unique within the Load Balancer. Acceptable - values are between 0 and 65534. Note that value 0 enables "Any Port". - :type frontend_port: int - :param backend_port: The port used for internal connections on the - endpoint. Acceptable values are between 0 and 65535. Note that value 0 - enables "Any Port". - :type backend_port: int - :param idle_timeout_in_minutes: The timeout for the TCP idle connection. - The value can be set between 4 and 30 minutes. The default value is 4 - minutes. This element is only used when the protocol is set to TCP. - :type idle_timeout_in_minutes: int - :param enable_floating_ip: Configures a virtual machine's endpoint for the - floating IP capability required to configure a SQL AlwaysOn Availability - Group. This setting is required when using the SQL AlwaysOn Availability - Groups in SQL server. This setting can't be changed after you create the - endpoint. - :type enable_floating_ip: bool - :param enable_tcp_reset: Receive bidirectional TCP Reset on TCP flow idle - timeout or unexpected connection termination. This element is only used - when the protocol is set to TCP. - :type enable_tcp_reset: bool - :param disable_outbound_snat: Configures SNAT for the VMs in the backend - pool to use the publicIP address specified in the frontend of the load - balancing rule. - :type disable_outbound_snat: bool - :param provisioning_state: The provisioning state of the load balancing - rule resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: The name of the resource that is unique within the set of - load balancing rules used by the load balancer. This name can be used to - access the resource. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - :ivar type: Type of the resource. - :vartype type: str - """ - - _validation = { - 'protocol': {'required': True}, - 'frontend_port': {'required': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'frontend_ip_configuration': {'key': 'properties.frontendIPConfiguration', 'type': 'SubResource'}, - 'backend_address_pool': {'key': 'properties.backendAddressPool', 'type': 'SubResource'}, - 'probe': {'key': 'properties.probe', 'type': 'SubResource'}, - 'protocol': {'key': 'properties.protocol', 'type': 'str'}, - 'load_distribution': {'key': 'properties.loadDistribution', 'type': 'str'}, - 'frontend_port': {'key': 'properties.frontendPort', 'type': 'int'}, - 'backend_port': {'key': 'properties.backendPort', 'type': 'int'}, - 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, - 'enable_floating_ip': {'key': 'properties.enableFloatingIP', 'type': 'bool'}, - 'enable_tcp_reset': {'key': 'properties.enableTcpReset', 'type': 'bool'}, - 'disable_outbound_snat': {'key': 'properties.disableOutboundSnat', 'type': 'bool'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, protocol, frontend_port: int, id: str=None, frontend_ip_configuration=None, backend_address_pool=None, probe=None, load_distribution=None, backend_port: int=None, idle_timeout_in_minutes: int=None, enable_floating_ip: bool=None, enable_tcp_reset: bool=None, disable_outbound_snat: bool=None, provisioning_state=None, name: str=None, etag: str=None, **kwargs) -> None: - super(LoadBalancingRule, self).__init__(id=id, **kwargs) - self.frontend_ip_configuration = frontend_ip_configuration - self.backend_address_pool = backend_address_pool - self.probe = probe - self.protocol = protocol - self.load_distribution = load_distribution - self.frontend_port = frontend_port - self.backend_port = backend_port - self.idle_timeout_in_minutes = idle_timeout_in_minutes - self.enable_floating_ip = enable_floating_ip - self.enable_tcp_reset = enable_tcp_reset - self.disable_outbound_snat = disable_outbound_snat - self.provisioning_state = provisioning_state - self.name = name - self.etag = etag - self.type = None - - -class LocalNetworkGateway(Resource): - """A common class for general resource information. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param local_network_address_space: Local network site address space. - :type local_network_address_space: - ~azure.mgmt.network.v2019_07_01.models.AddressSpace - :param gateway_ip_address: IP address of local network gateway. - :type gateway_ip_address: str - :param bgp_settings: Local network gateway's BGP speaker settings. - :type bgp_settings: ~azure.mgmt.network.v2019_07_01.models.BgpSettings - :param resource_guid: The resource GUID property of the local network - gateway resource. - :type resource_guid: str - :ivar provisioning_state: The provisioning state of the local network - gateway resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'local_network_address_space': {'key': 'properties.localNetworkAddressSpace', 'type': 'AddressSpace'}, - 'gateway_ip_address': {'key': 'properties.gatewayIpAddress', 'type': 'str'}, - 'bgp_settings': {'key': 'properties.bgpSettings', 'type': 'BgpSettings'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, local_network_address_space=None, gateway_ip_address: str=None, bgp_settings=None, resource_guid: str=None, etag: str=None, **kwargs) -> None: - super(LocalNetworkGateway, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.local_network_address_space = local_network_address_space - self.gateway_ip_address = gateway_ip_address - self.bgp_settings = bgp_settings - self.resource_guid = resource_guid - self.provisioning_state = None - self.etag = etag - - -class LogSpecification(Model): - """Description of logging specification. - - :param name: The name of the specification. - :type name: str - :param display_name: The display name of the specification. - :type display_name: str - :param blob_duration: Duration of the blob. - :type blob_duration: str - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'display_name': {'key': 'displayName', 'type': 'str'}, - 'blob_duration': {'key': 'blobDuration', 'type': 'str'}, - } - - def __init__(self, *, name: str=None, display_name: str=None, blob_duration: str=None, **kwargs) -> None: - super(LogSpecification, self).__init__(**kwargs) - self.name = name - self.display_name = display_name - self.blob_duration = blob_duration - - -class ManagedServiceIdentity(Model): - """Identity for the resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar principal_id: The principal id of the system assigned identity. This - property will only be provided for a system assigned identity. - :vartype principal_id: str - :ivar tenant_id: The tenant id of the system assigned identity. This - property will only be provided for a system assigned identity. - :vartype tenant_id: str - :param type: The type of identity used for the resource. The type - 'SystemAssigned, UserAssigned' includes both an implicitly created - identity and a set of user assigned identities. The type 'None' will - remove any identities from the virtual machine. Possible values include: - 'SystemAssigned', 'UserAssigned', 'SystemAssigned, UserAssigned', 'None' - :type type: str or - ~azure.mgmt.network.v2019_07_01.models.ResourceIdentityType - :param user_assigned_identities: The list of user identities associated - with resource. The user identity dictionary key references will be ARM - resource ids in the form: - '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. - :type user_assigned_identities: dict[str, - ~azure.mgmt.network.v2019_07_01.models.ManagedServiceIdentityUserAssignedIdentitiesValue] - """ - - _validation = { - 'principal_id': {'readonly': True}, - 'tenant_id': {'readonly': True}, - } - - _attribute_map = { - 'principal_id': {'key': 'principalId', 'type': 'str'}, - 'tenant_id': {'key': 'tenantId', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'ResourceIdentityType'}, - 'user_assigned_identities': {'key': 'userAssignedIdentities', 'type': '{ManagedServiceIdentityUserAssignedIdentitiesValue}'}, - } - - def __init__(self, *, type=None, user_assigned_identities=None, **kwargs) -> None: - super(ManagedServiceIdentity, self).__init__(**kwargs) - self.principal_id = None - self.tenant_id = None - self.type = type - self.user_assigned_identities = user_assigned_identities - - -class ManagedServiceIdentityUserAssignedIdentitiesValue(Model): - """ManagedServiceIdentityUserAssignedIdentitiesValue. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar principal_id: The principal id of user assigned identity. - :vartype principal_id: str - :ivar client_id: The client id of user assigned identity. - :vartype client_id: str - """ - - _validation = { - 'principal_id': {'readonly': True}, - 'client_id': {'readonly': True}, - } - - _attribute_map = { - 'principal_id': {'key': 'principalId', 'type': 'str'}, - 'client_id': {'key': 'clientId', 'type': 'str'}, - } - - def __init__(self, **kwargs) -> None: - super(ManagedServiceIdentityUserAssignedIdentitiesValue, self).__init__(**kwargs) - self.principal_id = None - self.client_id = None - - -class MatchCondition(Model): - """Define match conditions. - - All required parameters must be populated in order to send to Azure. - - :param match_variables: Required. List of match variables. - :type match_variables: - list[~azure.mgmt.network.v2019_07_01.models.MatchVariable] - :param operator: Required. Describes operator to be matched. Possible - values include: 'IPMatch', 'Equal', 'Contains', 'LessThan', 'GreaterThan', - 'LessThanOrEqual', 'GreaterThanOrEqual', 'BeginsWith', 'EndsWith', 'Regex' - :type operator: str or - ~azure.mgmt.network.v2019_07_01.models.WebApplicationFirewallOperator - :param negation_conditon: Describes if this is negate condition or not. - :type negation_conditon: bool - :param match_values: Required. Match value. - :type match_values: list[str] - :param transforms: List of transforms. - :type transforms: list[str or - ~azure.mgmt.network.v2019_07_01.models.WebApplicationFirewallTransform] - """ - - _validation = { - 'match_variables': {'required': True}, - 'operator': {'required': True}, - 'match_values': {'required': True}, - } - - _attribute_map = { - 'match_variables': {'key': 'matchVariables', 'type': '[MatchVariable]'}, - 'operator': {'key': 'operator', 'type': 'str'}, - 'negation_conditon': {'key': 'negationConditon', 'type': 'bool'}, - 'match_values': {'key': 'matchValues', 'type': '[str]'}, - 'transforms': {'key': 'transforms', 'type': '[str]'}, - } - - def __init__(self, *, match_variables, operator, match_values, negation_conditon: bool=None, transforms=None, **kwargs) -> None: - super(MatchCondition, self).__init__(**kwargs) - self.match_variables = match_variables - self.operator = operator - self.negation_conditon = negation_conditon - self.match_values = match_values - self.transforms = transforms - - -class MatchedRule(Model): - """Matched rule. - - :param rule_name: Name of the matched network security rule. - :type rule_name: str - :param action: The network traffic is allowed or denied. Possible values - are 'Allow' and 'Deny'. - :type action: str - """ - - _attribute_map = { - 'rule_name': {'key': 'ruleName', 'type': 'str'}, - 'action': {'key': 'action', 'type': 'str'}, - } - - def __init__(self, *, rule_name: str=None, action: str=None, **kwargs) -> None: - super(MatchedRule, self).__init__(**kwargs) - self.rule_name = rule_name - self.action = action - - -class MatchVariable(Model): - """Define match variables. - - All required parameters must be populated in order to send to Azure. - - :param variable_name: Required. Match Variable. Possible values include: - 'RemoteAddr', 'RequestMethod', 'QueryString', 'PostArgs', 'RequestUri', - 'RequestHeaders', 'RequestBody', 'RequestCookies' - :type variable_name: str or - ~azure.mgmt.network.v2019_07_01.models.WebApplicationFirewallMatchVariable - :param selector: Describes field of the matchVariable collection. - :type selector: str - """ - - _validation = { - 'variable_name': {'required': True}, - } - - _attribute_map = { - 'variable_name': {'key': 'variableName', 'type': 'str'}, - 'selector': {'key': 'selector', 'type': 'str'}, - } - - def __init__(self, *, variable_name, selector: str=None, **kwargs) -> None: - super(MatchVariable, self).__init__(**kwargs) - self.variable_name = variable_name - self.selector = selector - - -class MetricSpecification(Model): - """Description of metrics specification. - - :param name: The name of the metric. - :type name: str - :param display_name: The display name of the metric. - :type display_name: str - :param display_description: The description of the metric. - :type display_description: str - :param unit: Units the metric to be displayed in. - :type unit: str - :param aggregation_type: The aggregation type. - :type aggregation_type: str - :param availabilities: List of availability. - :type availabilities: - list[~azure.mgmt.network.v2019_07_01.models.Availability] - :param enable_regional_mdm_account: Whether regional MDM account enabled. - :type enable_regional_mdm_account: bool - :param fill_gap_with_zero: Whether gaps would be filled with zeros. - :type fill_gap_with_zero: bool - :param metric_filter_pattern: Pattern for the filter of the metric. - :type metric_filter_pattern: str - :param dimensions: List of dimensions. - :type dimensions: list[~azure.mgmt.network.v2019_07_01.models.Dimension] - :param is_internal: Whether the metric is internal. - :type is_internal: bool - :param source_mdm_account: The source MDM account. - :type source_mdm_account: str - :param source_mdm_namespace: The source MDM namespace. - :type source_mdm_namespace: str - :param resource_id_dimension_name_override: The resource Id dimension name - override. - :type resource_id_dimension_name_override: str - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'display_name': {'key': 'displayName', 'type': 'str'}, - 'display_description': {'key': 'displayDescription', 'type': 'str'}, - 'unit': {'key': 'unit', 'type': 'str'}, - 'aggregation_type': {'key': 'aggregationType', 'type': 'str'}, - 'availabilities': {'key': 'availabilities', 'type': '[Availability]'}, - 'enable_regional_mdm_account': {'key': 'enableRegionalMdmAccount', 'type': 'bool'}, - 'fill_gap_with_zero': {'key': 'fillGapWithZero', 'type': 'bool'}, - 'metric_filter_pattern': {'key': 'metricFilterPattern', 'type': 'str'}, - 'dimensions': {'key': 'dimensions', 'type': '[Dimension]'}, - 'is_internal': {'key': 'isInternal', 'type': 'bool'}, - 'source_mdm_account': {'key': 'sourceMdmAccount', 'type': 'str'}, - 'source_mdm_namespace': {'key': 'sourceMdmNamespace', 'type': 'str'}, - 'resource_id_dimension_name_override': {'key': 'resourceIdDimensionNameOverride', 'type': 'str'}, - } - - def __init__(self, *, name: str=None, display_name: str=None, display_description: str=None, unit: str=None, aggregation_type: str=None, availabilities=None, enable_regional_mdm_account: bool=None, fill_gap_with_zero: bool=None, metric_filter_pattern: str=None, dimensions=None, is_internal: bool=None, source_mdm_account: str=None, source_mdm_namespace: str=None, resource_id_dimension_name_override: str=None, **kwargs) -> None: - super(MetricSpecification, self).__init__(**kwargs) - self.name = name - self.display_name = display_name - self.display_description = display_description - self.unit = unit - self.aggregation_type = aggregation_type - self.availabilities = availabilities - self.enable_regional_mdm_account = enable_regional_mdm_account - self.fill_gap_with_zero = fill_gap_with_zero - self.metric_filter_pattern = metric_filter_pattern - self.dimensions = dimensions - self.is_internal = is_internal - self.source_mdm_account = source_mdm_account - self.source_mdm_namespace = source_mdm_namespace - self.resource_id_dimension_name_override = resource_id_dimension_name_override - - -class NatGateway(Resource): - """Nat Gateway resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param sku: The nat gateway SKU. - :type sku: ~azure.mgmt.network.v2019_07_01.models.NatGatewaySku - :param idle_timeout_in_minutes: The idle timeout of the nat gateway. - :type idle_timeout_in_minutes: int - :param public_ip_addresses: An array of public ip addresses associated - with the nat gateway resource. - :type public_ip_addresses: - list[~azure.mgmt.network.v2019_07_01.models.SubResource] - :param public_ip_prefixes: An array of public ip prefixes associated with - the nat gateway resource. - :type public_ip_prefixes: - list[~azure.mgmt.network.v2019_07_01.models.SubResource] - :ivar subnets: An array of references to the subnets using this nat - gateway resource. - :vartype subnets: list[~azure.mgmt.network.v2019_07_01.models.SubResource] - :param resource_guid: The resource GUID property of the NAT gateway - resource. - :type resource_guid: str - :param provisioning_state: The provisioning state of the NAT gateway - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param zones: A list of availability zones denoting the zone in which Nat - Gateway should be deployed. - :type zones: list[str] - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'subnets': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'sku': {'key': 'sku', 'type': 'NatGatewaySku'}, - 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, - 'public_ip_addresses': {'key': 'properties.publicIpAddresses', 'type': '[SubResource]'}, - 'public_ip_prefixes': {'key': 'properties.publicIpPrefixes', 'type': '[SubResource]'}, - 'subnets': {'key': 'properties.subnets', 'type': '[SubResource]'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'zones': {'key': 'zones', 'type': '[str]'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, sku=None, idle_timeout_in_minutes: int=None, public_ip_addresses=None, public_ip_prefixes=None, resource_guid: str=None, provisioning_state=None, zones=None, etag: str=None, **kwargs) -> None: - super(NatGateway, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.sku = sku - self.idle_timeout_in_minutes = idle_timeout_in_minutes - self.public_ip_addresses = public_ip_addresses - self.public_ip_prefixes = public_ip_prefixes - self.subnets = None - self.resource_guid = resource_guid - self.provisioning_state = provisioning_state - self.zones = zones - self.etag = etag - - -class NatGatewaySku(Model): - """SKU of nat gateway. - - :param name: Name of Nat Gateway SKU. Possible values include: 'Standard' - :type name: str or - ~azure.mgmt.network.v2019_07_01.models.NatGatewaySkuName - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - } - - def __init__(self, *, name=None, **kwargs) -> None: - super(NatGatewaySku, self).__init__(**kwargs) - self.name = name - - -class NetworkConfigurationDiagnosticParameters(Model): - """Parameters to get network configuration diagnostic. - - All required parameters must be populated in order to send to Azure. - - :param target_resource_id: Required. The ID of the target resource to - perform network configuration diagnostic. Valid options are VM, - NetworkInterface, VMSS/NetworkInterface and Application Gateway. - :type target_resource_id: str - :param verbosity_level: Verbosity level. Possible values include: - 'Normal', 'Minimum', 'Full' - :type verbosity_level: str or - ~azure.mgmt.network.v2019_07_01.models.VerbosityLevel - :param profiles: Required. List of network configuration diagnostic - profiles. - :type profiles: - list[~azure.mgmt.network.v2019_07_01.models.NetworkConfigurationDiagnosticProfile] - """ - - _validation = { - 'target_resource_id': {'required': True}, - 'profiles': {'required': True}, - } - - _attribute_map = { - 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, - 'verbosity_level': {'key': 'verbosityLevel', 'type': 'str'}, - 'profiles': {'key': 'profiles', 'type': '[NetworkConfigurationDiagnosticProfile]'}, - } - - def __init__(self, *, target_resource_id: str, profiles, verbosity_level=None, **kwargs) -> None: - super(NetworkConfigurationDiagnosticParameters, self).__init__(**kwargs) - self.target_resource_id = target_resource_id - self.verbosity_level = verbosity_level - self.profiles = profiles - - -class NetworkConfigurationDiagnosticProfile(Model): - """Parameters to compare with network configuration. - - All required parameters must be populated in order to send to Azure. - - :param direction: Required. The direction of the traffic. Possible values - include: 'Inbound', 'Outbound' - :type direction: str or ~azure.mgmt.network.v2019_07_01.models.Direction - :param protocol: Required. Protocol to be verified on. Accepted values are - '*', TCP, UDP. - :type protocol: str - :param source: Required. Traffic source. Accepted values are '*', IP - Address/CIDR, Service Tag. - :type source: str - :param destination: Required. Traffic destination. Accepted values are: - '*', IP Address/CIDR, Service Tag. - :type destination: str - :param destination_port: Required. Traffic destination port. Accepted - values are '*', port (for example, 3389) and port range (for example, - 80-100). - :type destination_port: str - """ - - _validation = { - 'direction': {'required': True}, - 'protocol': {'required': True}, - 'source': {'required': True}, - 'destination': {'required': True}, - 'destination_port': {'required': True}, - } - - _attribute_map = { - 'direction': {'key': 'direction', 'type': 'str'}, - 'protocol': {'key': 'protocol', 'type': 'str'}, - 'source': {'key': 'source', 'type': 'str'}, - 'destination': {'key': 'destination', 'type': 'str'}, - 'destination_port': {'key': 'destinationPort', 'type': 'str'}, - } - - def __init__(self, *, direction, protocol: str, source: str, destination: str, destination_port: str, **kwargs) -> None: - super(NetworkConfigurationDiagnosticProfile, self).__init__(**kwargs) - self.direction = direction - self.protocol = protocol - self.source = source - self.destination = destination - self.destination_port = destination_port - - -class NetworkConfigurationDiagnosticResponse(Model): - """Results of network configuration diagnostic on the target resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar results: List of network configuration diagnostic results. - :vartype results: - list[~azure.mgmt.network.v2019_07_01.models.NetworkConfigurationDiagnosticResult] - """ - - _validation = { - 'results': {'readonly': True}, - } - - _attribute_map = { - 'results': {'key': 'results', 'type': '[NetworkConfigurationDiagnosticResult]'}, - } - - def __init__(self, **kwargs) -> None: - super(NetworkConfigurationDiagnosticResponse, self).__init__(**kwargs) - self.results = None - - -class NetworkConfigurationDiagnosticResult(Model): - """Network configuration diagnostic result corresponded to provided traffic - query. - - :param profile: Network configuration diagnostic profile. - :type profile: - ~azure.mgmt.network.v2019_07_01.models.NetworkConfigurationDiagnosticProfile - :param network_security_group_result: Network security group result. - :type network_security_group_result: - ~azure.mgmt.network.v2019_07_01.models.NetworkSecurityGroupResult - """ - - _attribute_map = { - 'profile': {'key': 'profile', 'type': 'NetworkConfigurationDiagnosticProfile'}, - 'network_security_group_result': {'key': 'networkSecurityGroupResult', 'type': 'NetworkSecurityGroupResult'}, - } - - def __init__(self, *, profile=None, network_security_group_result=None, **kwargs) -> None: - super(NetworkConfigurationDiagnosticResult, self).__init__(**kwargs) - self.profile = profile - self.network_security_group_result = network_security_group_result - - -class NetworkIntentPolicy(Resource): - """Network Intent Policy resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, etag: str=None, **kwargs) -> None: - super(NetworkIntentPolicy, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.etag = etag - - -class NetworkIntentPolicyConfiguration(Model): - """Details of NetworkIntentPolicyConfiguration for - PrepareNetworkPoliciesRequest. - - :param network_intent_policy_name: The name of the Network Intent Policy - for storing in target subscription. - :type network_intent_policy_name: str - :param source_network_intent_policy: Source network intent policy. - :type source_network_intent_policy: - ~azure.mgmt.network.v2019_07_01.models.NetworkIntentPolicy - """ - - _attribute_map = { - 'network_intent_policy_name': {'key': 'networkIntentPolicyName', 'type': 'str'}, - 'source_network_intent_policy': {'key': 'sourceNetworkIntentPolicy', 'type': 'NetworkIntentPolicy'}, - } - - def __init__(self, *, network_intent_policy_name: str=None, source_network_intent_policy=None, **kwargs) -> None: - super(NetworkIntentPolicyConfiguration, self).__init__(**kwargs) - self.network_intent_policy_name = network_intent_policy_name - self.source_network_intent_policy = source_network_intent_policy - - -class NetworkInterface(Resource): - """A network interface in a resource group. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :ivar virtual_machine: The reference of a virtual machine. - :vartype virtual_machine: - ~azure.mgmt.network.v2019_07_01.models.SubResource - :param network_security_group: The reference of the NetworkSecurityGroup - resource. - :type network_security_group: - ~azure.mgmt.network.v2019_07_01.models.NetworkSecurityGroup - :ivar private_endpoint: A reference to the private endpoint to which the - network interface is linked. - :vartype private_endpoint: - ~azure.mgmt.network.v2019_07_01.models.PrivateEndpoint - :param ip_configurations: A list of IPConfigurations of the network - interface. - :type ip_configurations: - list[~azure.mgmt.network.v2019_07_01.models.NetworkInterfaceIPConfiguration] - :param tap_configurations: A list of TapConfigurations of the network - interface. - :type tap_configurations: - list[~azure.mgmt.network.v2019_07_01.models.NetworkInterfaceTapConfiguration] - :param dns_settings: The DNS settings in network interface. - :type dns_settings: - ~azure.mgmt.network.v2019_07_01.models.NetworkInterfaceDnsSettings - :param mac_address: The MAC address of the network interface. - :type mac_address: str - :param primary: Whether this is a primary network interface on a virtual - machine. - :type primary: bool - :param enable_accelerated_networking: If the network interface is - accelerated networking enabled. - :type enable_accelerated_networking: bool - :param enable_ip_forwarding: Indicates whether IP forwarding is enabled on - this network interface. - :type enable_ip_forwarding: bool - :ivar hosted_workloads: A list of references to linked BareMetal - resources. - :vartype hosted_workloads: list[str] - :param resource_guid: The resource GUID property of the network interface - resource. - :type resource_guid: str - :param provisioning_state: The provisioning state of the network interface - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'virtual_machine': {'readonly': True}, - 'private_endpoint': {'readonly': True}, - 'hosted_workloads': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'virtual_machine': {'key': 'properties.virtualMachine', 'type': 'SubResource'}, - 'network_security_group': {'key': 'properties.networkSecurityGroup', 'type': 'NetworkSecurityGroup'}, - 'private_endpoint': {'key': 'properties.privateEndpoint', 'type': 'PrivateEndpoint'}, - 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[NetworkInterfaceIPConfiguration]'}, - 'tap_configurations': {'key': 'properties.tapConfigurations', 'type': '[NetworkInterfaceTapConfiguration]'}, - 'dns_settings': {'key': 'properties.dnsSettings', 'type': 'NetworkInterfaceDnsSettings'}, - 'mac_address': {'key': 'properties.macAddress', 'type': 'str'}, - 'primary': {'key': 'properties.primary', 'type': 'bool'}, - 'enable_accelerated_networking': {'key': 'properties.enableAcceleratedNetworking', 'type': 'bool'}, - 'enable_ip_forwarding': {'key': 'properties.enableIPForwarding', 'type': 'bool'}, - 'hosted_workloads': {'key': 'properties.hostedWorkloads', 'type': '[str]'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, network_security_group=None, ip_configurations=None, tap_configurations=None, dns_settings=None, mac_address: str=None, primary: bool=None, enable_accelerated_networking: bool=None, enable_ip_forwarding: bool=None, resource_guid: str=None, provisioning_state=None, etag: str=None, **kwargs) -> None: - super(NetworkInterface, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.virtual_machine = None - self.network_security_group = network_security_group - self.private_endpoint = None - self.ip_configurations = ip_configurations - self.tap_configurations = tap_configurations - self.dns_settings = dns_settings - self.mac_address = mac_address - self.primary = primary - self.enable_accelerated_networking = enable_accelerated_networking - self.enable_ip_forwarding = enable_ip_forwarding - self.hosted_workloads = None - self.resource_guid = resource_guid - self.provisioning_state = provisioning_state - self.etag = etag - - -class NetworkInterfaceAssociation(Model): - """Network interface and its custom security rules. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar id: Network interface ID. - :vartype id: str - :param security_rules: Collection of custom security rules. - :type security_rules: - list[~azure.mgmt.network.v2019_07_01.models.SecurityRule] - """ - - _validation = { - 'id': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'security_rules': {'key': 'securityRules', 'type': '[SecurityRule]'}, - } - - def __init__(self, *, security_rules=None, **kwargs) -> None: - super(NetworkInterfaceAssociation, self).__init__(**kwargs) - self.id = None - self.security_rules = security_rules - - -class NetworkInterfaceDnsSettings(Model): - """DNS settings of a network interface. - - :param dns_servers: List of DNS servers IP addresses. Use - 'AzureProvidedDNS' to switch to azure provided DNS resolution. - 'AzureProvidedDNS' value cannot be combined with other IPs, it must be the - only value in dnsServers collection. - :type dns_servers: list[str] - :param applied_dns_servers: If the VM that uses this NIC is part of an - Availability Set, then this list will have the union of all DNS servers - from all NICs that are part of the Availability Set. This property is what - is configured on each of those VMs. - :type applied_dns_servers: list[str] - :param internal_dns_name_label: Relative DNS name for this NIC used for - internal communications between VMs in the same virtual network. - :type internal_dns_name_label: str - :param internal_fqdn: Fully qualified DNS name supporting internal - communications between VMs in the same virtual network. - :type internal_fqdn: str - :param internal_domain_name_suffix: Even if internalDnsNameLabel is not - specified, a DNS entry is created for the primary NIC of the VM. This DNS - name can be constructed by concatenating the VM name with the value of - internalDomainNameSuffix. - :type internal_domain_name_suffix: str - """ - - _attribute_map = { - 'dns_servers': {'key': 'dnsServers', 'type': '[str]'}, - 'applied_dns_servers': {'key': 'appliedDnsServers', 'type': '[str]'}, - 'internal_dns_name_label': {'key': 'internalDnsNameLabel', 'type': 'str'}, - 'internal_fqdn': {'key': 'internalFqdn', 'type': 'str'}, - 'internal_domain_name_suffix': {'key': 'internalDomainNameSuffix', 'type': 'str'}, - } - - def __init__(self, *, dns_servers=None, applied_dns_servers=None, internal_dns_name_label: str=None, internal_fqdn: str=None, internal_domain_name_suffix: str=None, **kwargs) -> None: - super(NetworkInterfaceDnsSettings, self).__init__(**kwargs) - self.dns_servers = dns_servers - self.applied_dns_servers = applied_dns_servers - self.internal_dns_name_label = internal_dns_name_label - self.internal_fqdn = internal_fqdn - self.internal_domain_name_suffix = internal_domain_name_suffix - - -class NetworkInterfaceIPConfiguration(SubResource): - """IPConfiguration in a network interface. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param virtual_network_taps: The reference to Virtual Network Taps. - :type virtual_network_taps: - list[~azure.mgmt.network.v2019_07_01.models.VirtualNetworkTap] - :param application_gateway_backend_address_pools: The reference of - ApplicationGatewayBackendAddressPool resource. - :type application_gateway_backend_address_pools: - list[~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayBackendAddressPool] - :param load_balancer_backend_address_pools: The reference of - LoadBalancerBackendAddressPool resource. - :type load_balancer_backend_address_pools: - list[~azure.mgmt.network.v2019_07_01.models.BackendAddressPool] - :param load_balancer_inbound_nat_rules: A list of references of - LoadBalancerInboundNatRules. - :type load_balancer_inbound_nat_rules: - list[~azure.mgmt.network.v2019_07_01.models.InboundNatRule] - :param private_ip_address: Private IP address of the IP configuration. - :type private_ip_address: str - :param private_ip_allocation_method: The private IP address allocation - method. Possible values include: 'Static', 'Dynamic' - :type private_ip_allocation_method: str or - ~azure.mgmt.network.v2019_07_01.models.IPAllocationMethod - :param private_ip_address_version: Whether the specific IP configuration - is IPv4 or IPv6. Default is IPv4. Possible values include: 'IPv4', 'IPv6' - :type private_ip_address_version: str or - ~azure.mgmt.network.v2019_07_01.models.IPVersion - :param subnet: Subnet bound to the IP configuration. - :type subnet: ~azure.mgmt.network.v2019_07_01.models.Subnet - :param primary: Whether this is a primary customer address on the network - interface. - :type primary: bool - :param public_ip_address: Public IP address bound to the IP configuration. - :type public_ip_address: - ~azure.mgmt.network.v2019_07_01.models.PublicIPAddress - :param application_security_groups: Application security groups in which - the IP configuration is included. - :type application_security_groups: - list[~azure.mgmt.network.v2019_07_01.models.ApplicationSecurityGroup] - :param provisioning_state: The provisioning state of the network interface - IP configuration. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :ivar private_link_connection_properties: PrivateLinkConnection properties - for the network interface. - :vartype private_link_connection_properties: - ~azure.mgmt.network.v2019_07_01.models.NetworkInterfaceIPConfigurationPrivateLinkConnectionProperties - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'private_link_connection_properties': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'virtual_network_taps': {'key': 'properties.virtualNetworkTaps', 'type': '[VirtualNetworkTap]'}, - 'application_gateway_backend_address_pools': {'key': 'properties.applicationGatewayBackendAddressPools', 'type': '[ApplicationGatewayBackendAddressPool]'}, - 'load_balancer_backend_address_pools': {'key': 'properties.loadBalancerBackendAddressPools', 'type': '[BackendAddressPool]'}, - 'load_balancer_inbound_nat_rules': {'key': 'properties.loadBalancerInboundNatRules', 'type': '[InboundNatRule]'}, - 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, - 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, - 'private_ip_address_version': {'key': 'properties.privateIPAddressVersion', 'type': 'str'}, - 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, - 'primary': {'key': 'properties.primary', 'type': 'bool'}, - 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'PublicIPAddress'}, - 'application_security_groups': {'key': 'properties.applicationSecurityGroups', 'type': '[ApplicationSecurityGroup]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'private_link_connection_properties': {'key': 'properties.privateLinkConnectionProperties', 'type': 'NetworkInterfaceIPConfigurationPrivateLinkConnectionProperties'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, virtual_network_taps=None, application_gateway_backend_address_pools=None, load_balancer_backend_address_pools=None, load_balancer_inbound_nat_rules=None, private_ip_address: str=None, private_ip_allocation_method=None, private_ip_address_version=None, subnet=None, primary: bool=None, public_ip_address=None, application_security_groups=None, provisioning_state=None, name: str=None, etag: str=None, **kwargs) -> None: - super(NetworkInterfaceIPConfiguration, self).__init__(id=id, **kwargs) - self.virtual_network_taps = virtual_network_taps - self.application_gateway_backend_address_pools = application_gateway_backend_address_pools - self.load_balancer_backend_address_pools = load_balancer_backend_address_pools - self.load_balancer_inbound_nat_rules = load_balancer_inbound_nat_rules - self.private_ip_address = private_ip_address - self.private_ip_allocation_method = private_ip_allocation_method - self.private_ip_address_version = private_ip_address_version - self.subnet = subnet - self.primary = primary - self.public_ip_address = public_ip_address - self.application_security_groups = application_security_groups - self.provisioning_state = provisioning_state - self.private_link_connection_properties = None - self.name = name - self.etag = etag - - -class NetworkInterfaceIPConfigurationPrivateLinkConnectionProperties(Model): - """PrivateLinkConnection properties for the network interface. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar group_id: The group ID for current private link connection. - :vartype group_id: str - :ivar required_member_name: The required member name for current private - link connection. - :vartype required_member_name: str - :ivar fqdns: List of FQDNs for current private link connection. - :vartype fqdns: list[str] - """ - - _validation = { - 'group_id': {'readonly': True}, - 'required_member_name': {'readonly': True}, - 'fqdns': {'readonly': True}, - } - - _attribute_map = { - 'group_id': {'key': 'groupId', 'type': 'str'}, - 'required_member_name': {'key': 'requiredMemberName', 'type': 'str'}, - 'fqdns': {'key': 'fqdns', 'type': '[str]'}, - } - - def __init__(self, **kwargs) -> None: - super(NetworkInterfaceIPConfigurationPrivateLinkConnectionProperties, self).__init__(**kwargs) - self.group_id = None - self.required_member_name = None - self.fqdns = None - - -class NetworkInterfaceTapConfiguration(SubResource): - """Tap configuration in a Network Interface. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param virtual_network_tap: The reference of the Virtual Network Tap - resource. - :type virtual_network_tap: - ~azure.mgmt.network.v2019_07_01.models.VirtualNetworkTap - :ivar provisioning_state: The provisioning state of the network interface - tap configuration resource. Possible values include: 'Succeeded', - 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - :ivar type: Sub Resource type. - :vartype type: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'virtual_network_tap': {'key': 'properties.virtualNetworkTap', 'type': 'VirtualNetworkTap'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, virtual_network_tap=None, name: str=None, etag: str=None, **kwargs) -> None: - super(NetworkInterfaceTapConfiguration, self).__init__(id=id, **kwargs) - self.virtual_network_tap = virtual_network_tap - self.provisioning_state = None - self.name = name - self.etag = etag - self.type = None - - -class NetworkProfile(Resource): - """Network profile resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param container_network_interfaces: List of child container network - interfaces. - :type container_network_interfaces: - list[~azure.mgmt.network.v2019_07_01.models.ContainerNetworkInterface] - :param container_network_interface_configurations: List of chid container - network interface configurations. - :type container_network_interface_configurations: - list[~azure.mgmt.network.v2019_07_01.models.ContainerNetworkInterfaceConfiguration] - :ivar resource_guid: The resource GUID property of the network profile - resource. - :vartype resource_guid: str - :ivar provisioning_state: The provisioning state of the network profile - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'resource_guid': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'container_network_interfaces': {'key': 'properties.containerNetworkInterfaces', 'type': '[ContainerNetworkInterface]'}, - 'container_network_interface_configurations': {'key': 'properties.containerNetworkInterfaceConfigurations', 'type': '[ContainerNetworkInterfaceConfiguration]'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, container_network_interfaces=None, container_network_interface_configurations=None, etag: str=None, **kwargs) -> None: - super(NetworkProfile, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.container_network_interfaces = container_network_interfaces - self.container_network_interface_configurations = container_network_interface_configurations - self.resource_guid = None - self.provisioning_state = None - self.etag = etag - - -class NetworkRuleCondition(FirewallPolicyRuleCondition): - """Rule condition of type network. - - All required parameters must be populated in order to send to Azure. - - :param name: Name of the rule condition. - :type name: str - :param description: Description of the rule condition. - :type description: str - :param rule_condition_type: Required. Constant filled by server. - :type rule_condition_type: str - :param ip_protocols: Array of FirewallPolicyRuleConditionNetworkProtocols. - :type ip_protocols: list[str or - ~azure.mgmt.network.v2019_07_01.models.FirewallPolicyRuleConditionNetworkProtocol] - :param source_addresses: List of source IP addresses for this rule. - :type source_addresses: list[str] - :param destination_addresses: List of destination IP addresses or Service - Tags. - :type destination_addresses: list[str] - :param destination_ports: List of destination ports. - :type destination_ports: list[str] - """ - - _validation = { - 'rule_condition_type': {'required': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'description': {'key': 'description', 'type': 'str'}, - 'rule_condition_type': {'key': 'ruleConditionType', 'type': 'str'}, - 'ip_protocols': {'key': 'ipProtocols', 'type': '[str]'}, - 'source_addresses': {'key': 'sourceAddresses', 'type': '[str]'}, - 'destination_addresses': {'key': 'destinationAddresses', 'type': '[str]'}, - 'destination_ports': {'key': 'destinationPorts', 'type': '[str]'}, - } - - def __init__(self, *, name: str=None, description: str=None, ip_protocols=None, source_addresses=None, destination_addresses=None, destination_ports=None, **kwargs) -> None: - super(NetworkRuleCondition, self).__init__(name=name, description=description, **kwargs) - self.ip_protocols = ip_protocols - self.source_addresses = source_addresses - self.destination_addresses = destination_addresses - self.destination_ports = destination_ports - self.rule_condition_type = 'NetworkRuleCondition' - - -class NetworkSecurityGroup(Resource): - """NetworkSecurityGroup resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param security_rules: A collection of security rules of the network - security group. - :type security_rules: - list[~azure.mgmt.network.v2019_07_01.models.SecurityRule] - :param default_security_rules: The default security rules of network - security group. - :type default_security_rules: - list[~azure.mgmt.network.v2019_07_01.models.SecurityRule] - :ivar network_interfaces: A collection of references to network - interfaces. - :vartype network_interfaces: - list[~azure.mgmt.network.v2019_07_01.models.NetworkInterface] - :ivar subnets: A collection of references to subnets. - :vartype subnets: list[~azure.mgmt.network.v2019_07_01.models.Subnet] - :param resource_guid: The resource GUID property of the network security - group resource. - :type resource_guid: str - :param provisioning_state: The provisioning state of the network security - group resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'network_interfaces': {'readonly': True}, - 'subnets': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'security_rules': {'key': 'properties.securityRules', 'type': '[SecurityRule]'}, - 'default_security_rules': {'key': 'properties.defaultSecurityRules', 'type': '[SecurityRule]'}, - 'network_interfaces': {'key': 'properties.networkInterfaces', 'type': '[NetworkInterface]'}, - 'subnets': {'key': 'properties.subnets', 'type': '[Subnet]'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, security_rules=None, default_security_rules=None, resource_guid: str=None, provisioning_state=None, etag: str=None, **kwargs) -> None: - super(NetworkSecurityGroup, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.security_rules = security_rules - self.default_security_rules = default_security_rules - self.network_interfaces = None - self.subnets = None - self.resource_guid = resource_guid - self.provisioning_state = provisioning_state - self.etag = etag - - -class NetworkSecurityGroupResult(Model): - """Network configuration diagnostic result corresponded provided traffic - query. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param security_rule_access_result: The network traffic is allowed or - denied. Possible values include: 'Allow', 'Deny' - :type security_rule_access_result: str or - ~azure.mgmt.network.v2019_07_01.models.SecurityRuleAccess - :ivar evaluated_network_security_groups: List of results network security - groups diagnostic. - :vartype evaluated_network_security_groups: - list[~azure.mgmt.network.v2019_07_01.models.EvaluatedNetworkSecurityGroup] - """ - - _validation = { - 'evaluated_network_security_groups': {'readonly': True}, - } - - _attribute_map = { - 'security_rule_access_result': {'key': 'securityRuleAccessResult', 'type': 'str'}, - 'evaluated_network_security_groups': {'key': 'evaluatedNetworkSecurityGroups', 'type': '[EvaluatedNetworkSecurityGroup]'}, - } - - def __init__(self, *, security_rule_access_result=None, **kwargs) -> None: - super(NetworkSecurityGroupResult, self).__init__(**kwargs) - self.security_rule_access_result = security_rule_access_result - self.evaluated_network_security_groups = None - - -class NetworkSecurityRulesEvaluationResult(Model): - """Network security rules evaluation result. - - :param name: Name of the network security rule. - :type name: str - :param protocol_matched: Value indicating whether protocol is matched. - :type protocol_matched: bool - :param source_matched: Value indicating whether source is matched. - :type source_matched: bool - :param source_port_matched: Value indicating whether source port is - matched. - :type source_port_matched: bool - :param destination_matched: Value indicating whether destination is - matched. - :type destination_matched: bool - :param destination_port_matched: Value indicating whether destination port - is matched. - :type destination_port_matched: bool - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'protocol_matched': {'key': 'protocolMatched', 'type': 'bool'}, - 'source_matched': {'key': 'sourceMatched', 'type': 'bool'}, - 'source_port_matched': {'key': 'sourcePortMatched', 'type': 'bool'}, - 'destination_matched': {'key': 'destinationMatched', 'type': 'bool'}, - 'destination_port_matched': {'key': 'destinationPortMatched', 'type': 'bool'}, - } - - def __init__(self, *, name: str=None, protocol_matched: bool=None, source_matched: bool=None, source_port_matched: bool=None, destination_matched: bool=None, destination_port_matched: bool=None, **kwargs) -> None: - super(NetworkSecurityRulesEvaluationResult, self).__init__(**kwargs) - self.name = name - self.protocol_matched = protocol_matched - self.source_matched = source_matched - self.source_port_matched = source_port_matched - self.destination_matched = destination_matched - self.destination_port_matched = destination_port_matched - - -class NetworkWatcher(Resource): - """Network watcher in a resource group. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - :param provisioning_state: The provisioning state of the network watcher - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, etag: str=None, provisioning_state=None, **kwargs) -> None: - super(NetworkWatcher, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.etag = etag - self.provisioning_state = provisioning_state - - -class NextHopParameters(Model): - """Parameters that define the source and destination endpoint. - - All required parameters must be populated in order to send to Azure. - - :param target_resource_id: Required. The resource identifier of the target - resource against which the action is to be performed. - :type target_resource_id: str - :param source_ip_address: Required. The source IP address. - :type source_ip_address: str - :param destination_ip_address: Required. The destination IP address. - :type destination_ip_address: str - :param target_nic_resource_id: The NIC ID. (If VM has multiple NICs and IP - forwarding is enabled on any of the nics, then this parameter must be - specified. Otherwise optional). - :type target_nic_resource_id: str - """ - - _validation = { - 'target_resource_id': {'required': True}, - 'source_ip_address': {'required': True}, - 'destination_ip_address': {'required': True}, - } - - _attribute_map = { - 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, - 'source_ip_address': {'key': 'sourceIPAddress', 'type': 'str'}, - 'destination_ip_address': {'key': 'destinationIPAddress', 'type': 'str'}, - 'target_nic_resource_id': {'key': 'targetNicResourceId', 'type': 'str'}, - } - - def __init__(self, *, target_resource_id: str, source_ip_address: str, destination_ip_address: str, target_nic_resource_id: str=None, **kwargs) -> None: - super(NextHopParameters, self).__init__(**kwargs) - self.target_resource_id = target_resource_id - self.source_ip_address = source_ip_address - self.destination_ip_address = destination_ip_address - self.target_nic_resource_id = target_nic_resource_id - - -class NextHopResult(Model): - """The information about next hop from the specified VM. - - :param next_hop_type: Next hop type. Possible values include: 'Internet', - 'VirtualAppliance', 'VirtualNetworkGateway', 'VnetLocal', - 'HyperNetGateway', 'None' - :type next_hop_type: str or - ~azure.mgmt.network.v2019_07_01.models.NextHopType - :param next_hop_ip_address: Next hop IP Address. - :type next_hop_ip_address: str - :param route_table_id: The resource identifier for the route table - associated with the route being returned. If the route being returned does - not correspond to any user created routes then this field will be the - string 'System Route'. - :type route_table_id: str - """ - - _attribute_map = { - 'next_hop_type': {'key': 'nextHopType', 'type': 'str'}, - 'next_hop_ip_address': {'key': 'nextHopIpAddress', 'type': 'str'}, - 'route_table_id': {'key': 'routeTableId', 'type': 'str'}, - } - - def __init__(self, *, next_hop_type=None, next_hop_ip_address: str=None, route_table_id: str=None, **kwargs) -> None: - super(NextHopResult, self).__init__(**kwargs) - self.next_hop_type = next_hop_type - self.next_hop_ip_address = next_hop_ip_address - self.route_table_id = route_table_id - - -class Operation(Model): - """Network REST API operation definition. - - :param name: Operation name: {provider}/{resource}/{operation}. - :type name: str - :param display: Display metadata associated with the operation. - :type display: ~azure.mgmt.network.v2019_07_01.models.OperationDisplay - :param origin: Origin of the operation. - :type origin: str - :param service_specification: Specification of the service. - :type service_specification: - ~azure.mgmt.network.v2019_07_01.models.OperationPropertiesFormatServiceSpecification - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'display': {'key': 'display', 'type': 'OperationDisplay'}, - 'origin': {'key': 'origin', 'type': 'str'}, - 'service_specification': {'key': 'properties.serviceSpecification', 'type': 'OperationPropertiesFormatServiceSpecification'}, - } - - def __init__(self, *, name: str=None, display=None, origin: str=None, service_specification=None, **kwargs) -> None: - super(Operation, self).__init__(**kwargs) - self.name = name - self.display = display - self.origin = origin - self.service_specification = service_specification - - -class OperationDisplay(Model): - """Display metadata associated with the operation. - - :param provider: Service provider: Microsoft Network. - :type provider: str - :param resource: Resource on which the operation is performed. - :type resource: str - :param operation: Type of the operation: get, read, delete, etc. - :type operation: str - :param description: Description of the operation. - :type description: str - """ - - _attribute_map = { - 'provider': {'key': 'provider', 'type': 'str'}, - 'resource': {'key': 'resource', 'type': 'str'}, - 'operation': {'key': 'operation', 'type': 'str'}, - 'description': {'key': 'description', 'type': 'str'}, - } - - def __init__(self, *, provider: str=None, resource: str=None, operation: str=None, description: str=None, **kwargs) -> None: - super(OperationDisplay, self).__init__(**kwargs) - self.provider = provider - self.resource = resource - self.operation = operation - self.description = description - - -class OperationPropertiesFormatServiceSpecification(Model): - """Specification of the service. - - :param metric_specifications: Operation service specification. - :type metric_specifications: - list[~azure.mgmt.network.v2019_07_01.models.MetricSpecification] - :param log_specifications: Operation log specification. - :type log_specifications: - list[~azure.mgmt.network.v2019_07_01.models.LogSpecification] - """ - - _attribute_map = { - 'metric_specifications': {'key': 'metricSpecifications', 'type': '[MetricSpecification]'}, - 'log_specifications': {'key': 'logSpecifications', 'type': '[LogSpecification]'}, - } - - def __init__(self, *, metric_specifications=None, log_specifications=None, **kwargs) -> None: - super(OperationPropertiesFormatServiceSpecification, self).__init__(**kwargs) - self.metric_specifications = metric_specifications - self.log_specifications = log_specifications - - -class OutboundRule(SubResource): - """Outbound rule of the load balancer. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :param allocated_outbound_ports: The number of outbound ports to be used - for NAT. - :type allocated_outbound_ports: int - :param frontend_ip_configurations: Required. The Frontend IP addresses of - the load balancer. - :type frontend_ip_configurations: - list[~azure.mgmt.network.v2019_07_01.models.SubResource] - :param backend_address_pool: Required. A reference to a pool of DIPs. - Outbound traffic is randomly load balanced across IPs in the backend IPs. - :type backend_address_pool: - ~azure.mgmt.network.v2019_07_01.models.SubResource - :param provisioning_state: The provisioning state of the outbound rule - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param protocol: Required. The protocol for the outbound rule in load - balancer. Possible values include: 'Tcp', 'Udp', 'All' - :type protocol: str or - ~azure.mgmt.network.v2019_07_01.models.LoadBalancerOutboundRuleProtocol - :param enable_tcp_reset: Receive bidirectional TCP Reset on TCP flow idle - timeout or unexpected connection termination. This element is only used - when the protocol is set to TCP. - :type enable_tcp_reset: bool - :param idle_timeout_in_minutes: The timeout for the TCP idle connection. - :type idle_timeout_in_minutes: int - :param name: The name of the resource that is unique within the set of - outbound rules used by the load balancer. This name can be used to access - the resource. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - :ivar type: Type of the resource. - :vartype type: str - """ - - _validation = { - 'frontend_ip_configurations': {'required': True}, - 'backend_address_pool': {'required': True}, - 'protocol': {'required': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'allocated_outbound_ports': {'key': 'properties.allocatedOutboundPorts', 'type': 'int'}, - 'frontend_ip_configurations': {'key': 'properties.frontendIPConfigurations', 'type': '[SubResource]'}, - 'backend_address_pool': {'key': 'properties.backendAddressPool', 'type': 'SubResource'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'protocol': {'key': 'properties.protocol', 'type': 'str'}, - 'enable_tcp_reset': {'key': 'properties.enableTcpReset', 'type': 'bool'}, - 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, frontend_ip_configurations, backend_address_pool, protocol, id: str=None, allocated_outbound_ports: int=None, provisioning_state=None, enable_tcp_reset: bool=None, idle_timeout_in_minutes: int=None, name: str=None, etag: str=None, **kwargs) -> None: - super(OutboundRule, self).__init__(id=id, **kwargs) - self.allocated_outbound_ports = allocated_outbound_ports - self.frontend_ip_configurations = frontend_ip_configurations - self.backend_address_pool = backend_address_pool - self.provisioning_state = provisioning_state - self.protocol = protocol - self.enable_tcp_reset = enable_tcp_reset - self.idle_timeout_in_minutes = idle_timeout_in_minutes - self.name = name - self.etag = etag - self.type = None - - -class P2SVpnGateway(Resource): - """P2SVpnGateway Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param virtual_hub: The VirtualHub to which the gateway belongs. - :type virtual_hub: ~azure.mgmt.network.v2019_07_01.models.SubResource - :param provisioning_state: The provisioning state of the P2S VPN gateway - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param vpn_gateway_scale_unit: The scale unit for this p2s vpn gateway. - :type vpn_gateway_scale_unit: int - :param p2_svpn_server_configuration: The P2SVpnServerConfiguration to - which the p2sVpnGateway is attached to. - :type p2_svpn_server_configuration: - ~azure.mgmt.network.v2019_07_01.models.SubResource - :param vpn_client_address_pool: The reference of the address space - resource which represents Address space for P2S VpnClient. - :type vpn_client_address_pool: - ~azure.mgmt.network.v2019_07_01.models.AddressSpace - :param custom_routes: The reference of the address space resource which - represents the custom routes specified by the customer for P2SVpnGateway - and P2S VpnClient. - :type custom_routes: ~azure.mgmt.network.v2019_07_01.models.AddressSpace - :ivar vpn_client_connection_health: All P2S VPN clients' connection health - status. - :vartype vpn_client_connection_health: - ~azure.mgmt.network.v2019_07_01.models.VpnClientConnectionHealth - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'vpn_client_connection_health': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'virtual_hub': {'key': 'properties.virtualHub', 'type': 'SubResource'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'vpn_gateway_scale_unit': {'key': 'properties.vpnGatewayScaleUnit', 'type': 'int'}, - 'p2_svpn_server_configuration': {'key': 'properties.p2SVpnServerConfiguration', 'type': 'SubResource'}, - 'vpn_client_address_pool': {'key': 'properties.vpnClientAddressPool', 'type': 'AddressSpace'}, - 'custom_routes': {'key': 'properties.customRoutes', 'type': 'AddressSpace'}, - 'vpn_client_connection_health': {'key': 'properties.vpnClientConnectionHealth', 'type': 'VpnClientConnectionHealth'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, virtual_hub=None, provisioning_state=None, vpn_gateway_scale_unit: int=None, p2_svpn_server_configuration=None, vpn_client_address_pool=None, custom_routes=None, **kwargs) -> None: - super(P2SVpnGateway, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.virtual_hub = virtual_hub - self.provisioning_state = provisioning_state - self.vpn_gateway_scale_unit = vpn_gateway_scale_unit - self.p2_svpn_server_configuration = p2_svpn_server_configuration - self.vpn_client_address_pool = vpn_client_address_pool - self.custom_routes = custom_routes - self.vpn_client_connection_health = None - self.etag = None - - -class P2SVpnProfileParameters(Model): - """Vpn Client Parameters for package generation. - - :param authentication_method: VPN client authentication method. Possible - values include: 'EAPTLS', 'EAPMSCHAPv2' - :type authentication_method: str or - ~azure.mgmt.network.v2019_07_01.models.AuthenticationMethod - """ - - _attribute_map = { - 'authentication_method': {'key': 'authenticationMethod', 'type': 'str'}, - } - - def __init__(self, *, authentication_method=None, **kwargs) -> None: - super(P2SVpnProfileParameters, self).__init__(**kwargs) - self.authentication_method = authentication_method - - -class P2SVpnServerConfigRadiusClientRootCertificate(SubResource): - """Radius client root certificate of P2SVpnServerConfiguration. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param thumbprint: The Radius client root certificate thumbprint. - :type thumbprint: str - :ivar provisioning_state: The provisioning state of the radius client root - certificate resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'thumbprint': {'key': 'properties.thumbprint', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, thumbprint: str=None, name: str=None, etag: str=None, **kwargs) -> None: - super(P2SVpnServerConfigRadiusClientRootCertificate, self).__init__(id=id, **kwargs) - self.thumbprint = thumbprint - self.provisioning_state = None - self.name = name - self.etag = etag - - -class P2SVpnServerConfigRadiusServerRootCertificate(SubResource): - """Radius Server root certificate of P2SVpnServerConfiguration. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :param public_cert_data: Required. The certificate public data. - :type public_cert_data: str - :ivar provisioning_state: The provisioning state of the radius server root - certificate resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'public_cert_data': {'required': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'public_cert_data': {'key': 'properties.publicCertData', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, public_cert_data: str, id: str=None, name: str=None, etag: str=None, **kwargs) -> None: - super(P2SVpnServerConfigRadiusServerRootCertificate, self).__init__(id=id, **kwargs) - self.public_cert_data = public_cert_data - self.provisioning_state = None - self.name = name - self.etag = etag - - -class P2SVpnServerConfiguration(SubResource): - """P2SVpnServerConfiguration Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param p2_svpn_server_configuration_properties_name: The name of the - P2SVpnServerConfiguration that is unique within a VirtualWan in a resource - group. This name can be used to access the resource along with Paren - VirtualWan resource name. - :type p2_svpn_server_configuration_properties_name: str - :param vpn_protocols: VPN protocols for the P2SVpnServerConfiguration. - :type vpn_protocols: list[str or - ~azure.mgmt.network.v2019_07_01.models.VpnGatewayTunnelingProtocol] - :param p2_svpn_server_config_vpn_client_root_certificates: VPN client root - certificate of P2SVpnServerConfiguration. - :type p2_svpn_server_config_vpn_client_root_certificates: - list[~azure.mgmt.network.v2019_07_01.models.P2SVpnServerConfigVpnClientRootCertificate] - :param p2_svpn_server_config_vpn_client_revoked_certificates: VPN client - revoked certificate of P2SVpnServerConfiguration. - :type p2_svpn_server_config_vpn_client_revoked_certificates: - list[~azure.mgmt.network.v2019_07_01.models.P2SVpnServerConfigVpnClientRevokedCertificate] - :param p2_svpn_server_config_radius_server_root_certificates: Radius - Server root certificate of P2SVpnServerConfiguration. - :type p2_svpn_server_config_radius_server_root_certificates: - list[~azure.mgmt.network.v2019_07_01.models.P2SVpnServerConfigRadiusServerRootCertificate] - :param p2_svpn_server_config_radius_client_root_certificates: Radius - client root certificate of P2SVpnServerConfiguration. - :type p2_svpn_server_config_radius_client_root_certificates: - list[~azure.mgmt.network.v2019_07_01.models.P2SVpnServerConfigRadiusClientRootCertificate] - :param vpn_client_ipsec_policies: VpnClientIpsecPolicies for - P2SVpnServerConfiguration. - :type vpn_client_ipsec_policies: - list[~azure.mgmt.network.v2019_07_01.models.IpsecPolicy] - :param radius_server_address: The radius server address property of the - P2SVpnServerConfiguration resource for point to site client connection. - :type radius_server_address: str - :param radius_server_secret: The radius secret property of the - P2SVpnServerConfiguration resource for point to site client connection. - :type radius_server_secret: str - :ivar provisioning_state: The provisioning state of the P2S VPN server - configuration resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :ivar p2_svpn_gateways: List of references to P2SVpnGateways. - :vartype p2_svpn_gateways: - list[~azure.mgmt.network.v2019_07_01.models.SubResource] - :param p2_svpn_server_configuration_properties_etag: A unique read-only - string that changes whenever the resource is updated. - :type p2_svpn_server_configuration_properties_etag: str - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'p2_svpn_gateways': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'p2_svpn_server_configuration_properties_name': {'key': 'properties.name', 'type': 'str'}, - 'vpn_protocols': {'key': 'properties.vpnProtocols', 'type': '[str]'}, - 'p2_svpn_server_config_vpn_client_root_certificates': {'key': 'properties.p2SVpnServerConfigVpnClientRootCertificates', 'type': '[P2SVpnServerConfigVpnClientRootCertificate]'}, - 'p2_svpn_server_config_vpn_client_revoked_certificates': {'key': 'properties.p2SVpnServerConfigVpnClientRevokedCertificates', 'type': '[P2SVpnServerConfigVpnClientRevokedCertificate]'}, - 'p2_svpn_server_config_radius_server_root_certificates': {'key': 'properties.p2SVpnServerConfigRadiusServerRootCertificates', 'type': '[P2SVpnServerConfigRadiusServerRootCertificate]'}, - 'p2_svpn_server_config_radius_client_root_certificates': {'key': 'properties.p2SVpnServerConfigRadiusClientRootCertificates', 'type': '[P2SVpnServerConfigRadiusClientRootCertificate]'}, - 'vpn_client_ipsec_policies': {'key': 'properties.vpnClientIpsecPolicies', 'type': '[IpsecPolicy]'}, - 'radius_server_address': {'key': 'properties.radiusServerAddress', 'type': 'str'}, - 'radius_server_secret': {'key': 'properties.radiusServerSecret', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'p2_svpn_gateways': {'key': 'properties.p2SVpnGateways', 'type': '[SubResource]'}, - 'p2_svpn_server_configuration_properties_etag': {'key': 'properties.etag', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, p2_svpn_server_configuration_properties_name: str=None, vpn_protocols=None, p2_svpn_server_config_vpn_client_root_certificates=None, p2_svpn_server_config_vpn_client_revoked_certificates=None, p2_svpn_server_config_radius_server_root_certificates=None, p2_svpn_server_config_radius_client_root_certificates=None, vpn_client_ipsec_policies=None, radius_server_address: str=None, radius_server_secret: str=None, p2_svpn_server_configuration_properties_etag: str=None, name: str=None, **kwargs) -> None: - super(P2SVpnServerConfiguration, self).__init__(id=id, **kwargs) - self.p2_svpn_server_configuration_properties_name = p2_svpn_server_configuration_properties_name - self.vpn_protocols = vpn_protocols - self.p2_svpn_server_config_vpn_client_root_certificates = p2_svpn_server_config_vpn_client_root_certificates - self.p2_svpn_server_config_vpn_client_revoked_certificates = p2_svpn_server_config_vpn_client_revoked_certificates - self.p2_svpn_server_config_radius_server_root_certificates = p2_svpn_server_config_radius_server_root_certificates - self.p2_svpn_server_config_radius_client_root_certificates = p2_svpn_server_config_radius_client_root_certificates - self.vpn_client_ipsec_policies = vpn_client_ipsec_policies - self.radius_server_address = radius_server_address - self.radius_server_secret = radius_server_secret - self.provisioning_state = None - self.p2_svpn_gateways = None - self.p2_svpn_server_configuration_properties_etag = p2_svpn_server_configuration_properties_etag - self.name = name - self.etag = None - - -class P2SVpnServerConfigVpnClientRevokedCertificate(SubResource): - """VPN client revoked certificate of P2SVpnServerConfiguration. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param thumbprint: The revoked VPN client certificate thumbprint. - :type thumbprint: str - :ivar provisioning_state: The provisioning state of the VPN client revoked - certificate resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'thumbprint': {'key': 'properties.thumbprint', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, thumbprint: str=None, name: str=None, etag: str=None, **kwargs) -> None: - super(P2SVpnServerConfigVpnClientRevokedCertificate, self).__init__(id=id, **kwargs) - self.thumbprint = thumbprint - self.provisioning_state = None - self.name = name - self.etag = etag - - -class P2SVpnServerConfigVpnClientRootCertificate(SubResource): - """VPN client root certificate of P2SVpnServerConfiguration. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :param public_cert_data: Required. The certificate public data. - :type public_cert_data: str - :ivar provisioning_state: The provisioning state of the VPN client root - certificate resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'public_cert_data': {'required': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'public_cert_data': {'key': 'properties.publicCertData', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, public_cert_data: str, id: str=None, name: str=None, etag: str=None, **kwargs) -> None: - super(P2SVpnServerConfigVpnClientRootCertificate, self).__init__(id=id, **kwargs) - self.public_cert_data = public_cert_data - self.provisioning_state = None - self.name = name - self.etag = etag - - -class PacketCapture(Model): - """Parameters that define the create packet capture operation. - - All required parameters must be populated in order to send to Azure. - - :param target: Required. The ID of the targeted resource, only VM is - currently supported. - :type target: str - :param bytes_to_capture_per_packet: Number of bytes captured per packet, - the remaining bytes are truncated. Default value: 0 . - :type bytes_to_capture_per_packet: int - :param total_bytes_per_session: Maximum size of the capture output. - Default value: 1073741824 . - :type total_bytes_per_session: int - :param time_limit_in_seconds: Maximum duration of the capture session in - seconds. Default value: 18000 . - :type time_limit_in_seconds: int - :param storage_location: Required. Describes the storage location for a - packet capture session. - :type storage_location: - ~azure.mgmt.network.v2019_07_01.models.PacketCaptureStorageLocation - :param filters: A list of packet capture filters. - :type filters: - list[~azure.mgmt.network.v2019_07_01.models.PacketCaptureFilter] - """ - - _validation = { - 'target': {'required': True}, - 'storage_location': {'required': True}, - } - - _attribute_map = { - 'target': {'key': 'properties.target', 'type': 'str'}, - 'bytes_to_capture_per_packet': {'key': 'properties.bytesToCapturePerPacket', 'type': 'int'}, - 'total_bytes_per_session': {'key': 'properties.totalBytesPerSession', 'type': 'int'}, - 'time_limit_in_seconds': {'key': 'properties.timeLimitInSeconds', 'type': 'int'}, - 'storage_location': {'key': 'properties.storageLocation', 'type': 'PacketCaptureStorageLocation'}, - 'filters': {'key': 'properties.filters', 'type': '[PacketCaptureFilter]'}, - } - - def __init__(self, *, target: str, storage_location, bytes_to_capture_per_packet: int=0, total_bytes_per_session: int=1073741824, time_limit_in_seconds: int=18000, filters=None, **kwargs) -> None: - super(PacketCapture, self).__init__(**kwargs) - self.target = target - self.bytes_to_capture_per_packet = bytes_to_capture_per_packet - self.total_bytes_per_session = total_bytes_per_session - self.time_limit_in_seconds = time_limit_in_seconds - self.storage_location = storage_location - self.filters = filters - - -class PacketCaptureFilter(Model): - """Filter that is applied to packet capture request. Multiple filters can be - applied. - - :param protocol: Protocol to be filtered on. Possible values include: - 'TCP', 'UDP', 'Any'. Default value: "Any" . - :type protocol: str or ~azure.mgmt.network.v2019_07_01.models.PcProtocol - :param local_ip_address: Local IP Address to be filtered on. Notation: - "127.0.0.1" for single address entry. "127.0.0.1-127.0.0.255" for range. - "127.0.0.1;127.0.0.5"? for multiple entries. Multiple ranges not currently - supported. Mixing ranges with multiple entries not currently supported. - Default = null. - :type local_ip_address: str - :param remote_ip_address: Local IP Address to be filtered on. Notation: - "127.0.0.1" for single address entry. "127.0.0.1-127.0.0.255" for range. - "127.0.0.1;127.0.0.5;" for multiple entries. Multiple ranges not currently - supported. Mixing ranges with multiple entries not currently supported. - Default = null. - :type remote_ip_address: str - :param local_port: Local port to be filtered on. Notation: "80" for single - port entry."80-85" for range. "80;443;" for multiple entries. Multiple - ranges not currently supported. Mixing ranges with multiple entries not - currently supported. Default = null. - :type local_port: str - :param remote_port: Remote port to be filtered on. Notation: "80" for - single port entry."80-85" for range. "80;443;" for multiple entries. - Multiple ranges not currently supported. Mixing ranges with multiple - entries not currently supported. Default = null. - :type remote_port: str - """ - - _attribute_map = { - 'protocol': {'key': 'protocol', 'type': 'str'}, - 'local_ip_address': {'key': 'localIPAddress', 'type': 'str'}, - 'remote_ip_address': {'key': 'remoteIPAddress', 'type': 'str'}, - 'local_port': {'key': 'localPort', 'type': 'str'}, - 'remote_port': {'key': 'remotePort', 'type': 'str'}, - } - - def __init__(self, *, protocol="Any", local_ip_address: str=None, remote_ip_address: str=None, local_port: str=None, remote_port: str=None, **kwargs) -> None: - super(PacketCaptureFilter, self).__init__(**kwargs) - self.protocol = protocol - self.local_ip_address = local_ip_address - self.remote_ip_address = remote_ip_address - self.local_port = local_port - self.remote_port = remote_port - - -class PacketCaptureParameters(Model): - """Parameters that define the create packet capture operation. - - All required parameters must be populated in order to send to Azure. - - :param target: Required. The ID of the targeted resource, only VM is - currently supported. - :type target: str - :param bytes_to_capture_per_packet: Number of bytes captured per packet, - the remaining bytes are truncated. Default value: 0 . - :type bytes_to_capture_per_packet: int - :param total_bytes_per_session: Maximum size of the capture output. - Default value: 1073741824 . - :type total_bytes_per_session: int - :param time_limit_in_seconds: Maximum duration of the capture session in - seconds. Default value: 18000 . - :type time_limit_in_seconds: int - :param storage_location: Required. Describes the storage location for a - packet capture session. - :type storage_location: - ~azure.mgmt.network.v2019_07_01.models.PacketCaptureStorageLocation - :param filters: A list of packet capture filters. - :type filters: - list[~azure.mgmt.network.v2019_07_01.models.PacketCaptureFilter] - """ - - _validation = { - 'target': {'required': True}, - 'storage_location': {'required': True}, - } - - _attribute_map = { - 'target': {'key': 'target', 'type': 'str'}, - 'bytes_to_capture_per_packet': {'key': 'bytesToCapturePerPacket', 'type': 'int'}, - 'total_bytes_per_session': {'key': 'totalBytesPerSession', 'type': 'int'}, - 'time_limit_in_seconds': {'key': 'timeLimitInSeconds', 'type': 'int'}, - 'storage_location': {'key': 'storageLocation', 'type': 'PacketCaptureStorageLocation'}, - 'filters': {'key': 'filters', 'type': '[PacketCaptureFilter]'}, - } - - def __init__(self, *, target: str, storage_location, bytes_to_capture_per_packet: int=0, total_bytes_per_session: int=1073741824, time_limit_in_seconds: int=18000, filters=None, **kwargs) -> None: - super(PacketCaptureParameters, self).__init__(**kwargs) - self.target = target - self.bytes_to_capture_per_packet = bytes_to_capture_per_packet - self.total_bytes_per_session = total_bytes_per_session - self.time_limit_in_seconds = time_limit_in_seconds - self.storage_location = storage_location - self.filters = filters - - -class PacketCaptureQueryStatusResult(Model): - """Status of packet capture session. - - :param name: The name of the packet capture resource. - :type name: str - :param id: The ID of the packet capture resource. - :type id: str - :param capture_start_time: The start time of the packet capture session. - :type capture_start_time: datetime - :param packet_capture_status: The status of the packet capture session. - Possible values include: 'NotStarted', 'Running', 'Stopped', 'Error', - 'Unknown' - :type packet_capture_status: str or - ~azure.mgmt.network.v2019_07_01.models.PcStatus - :param stop_reason: The reason the current packet capture session was - stopped. - :type stop_reason: str - :param packet_capture_error: List of errors of packet capture session. - :type packet_capture_error: list[str or - ~azure.mgmt.network.v2019_07_01.models.PcError] - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'id': {'key': 'id', 'type': 'str'}, - 'capture_start_time': {'key': 'captureStartTime', 'type': 'iso-8601'}, - 'packet_capture_status': {'key': 'packetCaptureStatus', 'type': 'str'}, - 'stop_reason': {'key': 'stopReason', 'type': 'str'}, - 'packet_capture_error': {'key': 'packetCaptureError', 'type': '[str]'}, - } - - def __init__(self, *, name: str=None, id: str=None, capture_start_time=None, packet_capture_status=None, stop_reason: str=None, packet_capture_error=None, **kwargs) -> None: - super(PacketCaptureQueryStatusResult, self).__init__(**kwargs) - self.name = name - self.id = id - self.capture_start_time = capture_start_time - self.packet_capture_status = packet_capture_status - self.stop_reason = stop_reason - self.packet_capture_error = packet_capture_error - - -class PacketCaptureResult(Model): - """Information about packet capture session. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :ivar name: Name of the packet capture session. - :vartype name: str - :ivar id: ID of the packet capture operation. - :vartype id: str - :param etag: A unique read-only string that changes whenever the resource - is updated. Default value: "A unique read-only string that changes - whenever the resource is updated." . - :type etag: str - :param target: Required. The ID of the targeted resource, only VM is - currently supported. - :type target: str - :param bytes_to_capture_per_packet: Number of bytes captured per packet, - the remaining bytes are truncated. Default value: 0 . - :type bytes_to_capture_per_packet: int - :param total_bytes_per_session: Maximum size of the capture output. - Default value: 1073741824 . - :type total_bytes_per_session: int - :param time_limit_in_seconds: Maximum duration of the capture session in - seconds. Default value: 18000 . - :type time_limit_in_seconds: int - :param storage_location: Required. Describes the storage location for a - packet capture session. - :type storage_location: - ~azure.mgmt.network.v2019_07_01.models.PacketCaptureStorageLocation - :param filters: A list of packet capture filters. - :type filters: - list[~azure.mgmt.network.v2019_07_01.models.PacketCaptureFilter] - :param provisioning_state: The provisioning state of the packet capture - session. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - """ - - _validation = { - 'name': {'readonly': True}, - 'id': {'readonly': True}, - 'target': {'required': True}, - 'storage_location': {'required': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'id': {'key': 'id', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'target': {'key': 'properties.target', 'type': 'str'}, - 'bytes_to_capture_per_packet': {'key': 'properties.bytesToCapturePerPacket', 'type': 'int'}, - 'total_bytes_per_session': {'key': 'properties.totalBytesPerSession', 'type': 'int'}, - 'time_limit_in_seconds': {'key': 'properties.timeLimitInSeconds', 'type': 'int'}, - 'storage_location': {'key': 'properties.storageLocation', 'type': 'PacketCaptureStorageLocation'}, - 'filters': {'key': 'properties.filters', 'type': '[PacketCaptureFilter]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - } - - def __init__(self, *, target: str, storage_location, etag: str="A unique read-only string that changes whenever the resource is updated.", bytes_to_capture_per_packet: int=0, total_bytes_per_session: int=1073741824, time_limit_in_seconds: int=18000, filters=None, provisioning_state=None, **kwargs) -> None: - super(PacketCaptureResult, self).__init__(**kwargs) - self.name = None - self.id = None - self.etag = etag - self.target = target - self.bytes_to_capture_per_packet = bytes_to_capture_per_packet - self.total_bytes_per_session = total_bytes_per_session - self.time_limit_in_seconds = time_limit_in_seconds - self.storage_location = storage_location - self.filters = filters - self.provisioning_state = provisioning_state - - -class PacketCaptureStorageLocation(Model): - """Describes the storage location for a packet capture session. - - :param storage_id: The ID of the storage account to save the packet - capture session. Required if no local file path is provided. - :type storage_id: str - :param storage_path: The URI of the storage path to save the packet - capture. Must be a well-formed URI describing the location to save the - packet capture. - :type storage_path: str - :param file_path: A valid local path on the targeting VM. Must include the - name of the capture file (*.cap). For linux virtual machine it must start - with /var/captures. Required if no storage ID is provided, otherwise - optional. - :type file_path: str - """ - - _attribute_map = { - 'storage_id': {'key': 'storageId', 'type': 'str'}, - 'storage_path': {'key': 'storagePath', 'type': 'str'}, - 'file_path': {'key': 'filePath', 'type': 'str'}, - } - - def __init__(self, *, storage_id: str=None, storage_path: str=None, file_path: str=None, **kwargs) -> None: - super(PacketCaptureStorageLocation, self).__init__(**kwargs) - self.storage_id = storage_id - self.storage_path = storage_path - self.file_path = file_path - - -class PatchRouteFilter(SubResource): - """Route Filter Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param rules: Collection of RouteFilterRules contained within a route - filter. - :type rules: list[~azure.mgmt.network.v2019_07_01.models.RouteFilterRule] - :param peerings: A collection of references to express route circuit - peerings. - :type peerings: - list[~azure.mgmt.network.v2019_07_01.models.ExpressRouteCircuitPeering] - :param ipv6_peerings: A collection of references to express route circuit - ipv6 peerings. - :type ipv6_peerings: - list[~azure.mgmt.network.v2019_07_01.models.ExpressRouteCircuitPeering] - :ivar provisioning_state: The provisioning state of the route filter - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :ivar name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :vartype name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :ivar type: Resource type. - :vartype type: str - :param tags: Resource tags. - :type tags: dict[str, str] - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'name': {'readonly': True}, - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'rules': {'key': 'properties.rules', 'type': '[RouteFilterRule]'}, - 'peerings': {'key': 'properties.peerings', 'type': '[ExpressRouteCircuitPeering]'}, - 'ipv6_peerings': {'key': 'properties.ipv6Peerings', 'type': '[ExpressRouteCircuitPeering]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - } - - def __init__(self, *, id: str=None, rules=None, peerings=None, ipv6_peerings=None, tags=None, **kwargs) -> None: - super(PatchRouteFilter, self).__init__(id=id, **kwargs) - self.rules = rules - self.peerings = peerings - self.ipv6_peerings = ipv6_peerings - self.provisioning_state = None - self.name = None - self.etag = None - self.type = None - self.tags = tags - - -class PatchRouteFilterRule(SubResource): - """Route Filter Rule Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :param access: Required. The access type of the rule. Possible values - include: 'Allow', 'Deny' - :type access: str or ~azure.mgmt.network.v2019_07_01.models.Access - :ivar route_filter_rule_type: Required. The rule type of the rule. Default - value: "Community" . - :vartype route_filter_rule_type: str - :param communities: Required. The collection for bgp community values to - filter on. e.g. ['12076:5010','12076:5020']. - :type communities: list[str] - :ivar provisioning_state: The provisioning state of the route filter rule - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :ivar name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :vartype name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'access': {'required': True}, - 'route_filter_rule_type': {'required': True, 'constant': True}, - 'communities': {'required': True}, - 'provisioning_state': {'readonly': True}, - 'name': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'access': {'key': 'properties.access', 'type': 'str'}, - 'route_filter_rule_type': {'key': 'properties.routeFilterRuleType', 'type': 'str'}, - 'communities': {'key': 'properties.communities', 'type': '[str]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - route_filter_rule_type = "Community" - - def __init__(self, *, access, communities, id: str=None, **kwargs) -> None: - super(PatchRouteFilterRule, self).__init__(id=id, **kwargs) - self.access = access - self.communities = communities - self.provisioning_state = None - self.name = None - self.etag = None - - -class PeerExpressRouteCircuitConnection(SubResource): - """Peer Express Route Circuit Connection in an ExpressRouteCircuitPeering - resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param express_route_circuit_peering: Reference to Express Route Circuit - Private Peering Resource of the circuit. - :type express_route_circuit_peering: - ~azure.mgmt.network.v2019_07_01.models.SubResource - :param peer_express_route_circuit_peering: Reference to Express Route - Circuit Private Peering Resource of the peered circuit. - :type peer_express_route_circuit_peering: - ~azure.mgmt.network.v2019_07_01.models.SubResource - :param address_prefix: /29 IP address space to carve out Customer - addresses for tunnels. - :type address_prefix: str - :param circuit_connection_status: Express Route Circuit connection state. - Possible values include: 'Connected', 'Connecting', 'Disconnected' - :type circuit_connection_status: str or - ~azure.mgmt.network.v2019_07_01.models.CircuitConnectionStatus - :param connection_name: The name of the express route circuit connection - resource. - :type connection_name: str - :param auth_resource_guid: The resource guid of the authorization used for - the express route circuit connection. - :type auth_resource_guid: str - :ivar provisioning_state: The provisioning state of the peer express route - circuit connection resource. Possible values include: 'Succeeded', - 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :ivar type: Type of the resource. - :vartype type: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'express_route_circuit_peering': {'key': 'properties.expressRouteCircuitPeering', 'type': 'SubResource'}, - 'peer_express_route_circuit_peering': {'key': 'properties.peerExpressRouteCircuitPeering', 'type': 'SubResource'}, - 'address_prefix': {'key': 'properties.addressPrefix', 'type': 'str'}, - 'circuit_connection_status': {'key': 'properties.circuitConnectionStatus', 'type': 'str'}, - 'connection_name': {'key': 'properties.connectionName', 'type': 'str'}, - 'auth_resource_guid': {'key': 'properties.authResourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, express_route_circuit_peering=None, peer_express_route_circuit_peering=None, address_prefix: str=None, circuit_connection_status=None, connection_name: str=None, auth_resource_guid: str=None, name: str=None, **kwargs) -> None: - super(PeerExpressRouteCircuitConnection, self).__init__(id=id, **kwargs) - self.express_route_circuit_peering = express_route_circuit_peering - self.peer_express_route_circuit_peering = peer_express_route_circuit_peering - self.address_prefix = address_prefix - self.circuit_connection_status = circuit_connection_status - self.connection_name = connection_name - self.auth_resource_guid = auth_resource_guid - self.provisioning_state = None - self.name = name - self.etag = None - self.type = None - - -class PolicySettings(Model): - """Defines contents of a web application firewall global configuration. - - :param enabled_state: Describes if the policy is in enabled state or - disabled state. Possible values include: 'Disabled', 'Enabled' - :type enabled_state: str or - ~azure.mgmt.network.v2019_07_01.models.WebApplicationFirewallEnabledState - :param mode: Describes if it is in detection mode or prevention mode at - policy level. Possible values include: 'Prevention', 'Detection' - :type mode: str or - ~azure.mgmt.network.v2019_07_01.models.WebApplicationFirewallMode - """ - - _attribute_map = { - 'enabled_state': {'key': 'enabledState', 'type': 'str'}, - 'mode': {'key': 'mode', 'type': 'str'}, - } - - def __init__(self, *, enabled_state=None, mode=None, **kwargs) -> None: - super(PolicySettings, self).__init__(**kwargs) - self.enabled_state = enabled_state - self.mode = mode - - -class PrepareNetworkPoliciesRequest(Model): - """Details of PrepareNetworkPolicies for Subnet. - - :param service_name: The name of the service for which subnet is being - prepared for. - :type service_name: str - :param network_intent_policy_configurations: A list of - NetworkIntentPolicyConfiguration. - :type network_intent_policy_configurations: - list[~azure.mgmt.network.v2019_07_01.models.NetworkIntentPolicyConfiguration] - """ - - _attribute_map = { - 'service_name': {'key': 'serviceName', 'type': 'str'}, - 'network_intent_policy_configurations': {'key': 'networkIntentPolicyConfigurations', 'type': '[NetworkIntentPolicyConfiguration]'}, - } - - def __init__(self, *, service_name: str=None, network_intent_policy_configurations=None, **kwargs) -> None: - super(PrepareNetworkPoliciesRequest, self).__init__(**kwargs) - self.service_name = service_name - self.network_intent_policy_configurations = network_intent_policy_configurations - - -class PrivateEndpoint(Resource): - """Private endpoint resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param subnet: The ID of the subnet from which the private IP will be - allocated. - :type subnet: ~azure.mgmt.network.v2019_07_01.models.Subnet - :ivar network_interfaces: An array of references to the network interfaces - created for this private endpoint. - :vartype network_interfaces: - list[~azure.mgmt.network.v2019_07_01.models.NetworkInterface] - :param provisioning_state: The provisioning state of the private endpoint - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param private_link_service_connections: A grouping of information about - the connection to the remote resource. - :type private_link_service_connections: - list[~azure.mgmt.network.v2019_07_01.models.PrivateLinkServiceConnection] - :param manual_private_link_service_connections: A grouping of information - about the connection to the remote resource. Used when the network admin - does not have access to approve connections to the remote resource. - :type manual_private_link_service_connections: - list[~azure.mgmt.network.v2019_07_01.models.PrivateLinkServiceConnection] - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'network_interfaces': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, - 'network_interfaces': {'key': 'properties.networkInterfaces', 'type': '[NetworkInterface]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'private_link_service_connections': {'key': 'properties.privateLinkServiceConnections', 'type': '[PrivateLinkServiceConnection]'}, - 'manual_private_link_service_connections': {'key': 'properties.manualPrivateLinkServiceConnections', 'type': '[PrivateLinkServiceConnection]'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, subnet=None, provisioning_state=None, private_link_service_connections=None, manual_private_link_service_connections=None, etag: str=None, **kwargs) -> None: - super(PrivateEndpoint, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.subnet = subnet - self.network_interfaces = None - self.provisioning_state = provisioning_state - self.private_link_service_connections = private_link_service_connections - self.manual_private_link_service_connections = manual_private_link_service_connections - self.etag = etag - - -class PrivateEndpointConnection(SubResource): - """PrivateEndpointConnection resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param private_endpoint: The resource of private end point. - :type private_endpoint: - ~azure.mgmt.network.v2019_07_01.models.PrivateEndpoint - :param private_link_service_connection_state: A collection of information - about the state of the connection between service consumer and provider. - :type private_link_service_connection_state: - ~azure.mgmt.network.v2019_07_01.models.PrivateLinkServiceConnectionState - :param provisioning_state: The provisioning state of the private endpoint - connection resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar type: The resource type. - :vartype type: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'type': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'private_endpoint': {'key': 'properties.privateEndpoint', 'type': 'PrivateEndpoint'}, - 'private_link_service_connection_state': {'key': 'properties.privateLinkServiceConnectionState', 'type': 'PrivateLinkServiceConnectionState'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, private_endpoint=None, private_link_service_connection_state=None, provisioning_state=None, name: str=None, **kwargs) -> None: - super(PrivateEndpointConnection, self).__init__(id=id, **kwargs) - self.private_endpoint = private_endpoint - self.private_link_service_connection_state = private_link_service_connection_state - self.provisioning_state = provisioning_state - self.name = name - self.type = None - self.etag = None - - -class PrivateLinkService(Resource): - """Private link service resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param load_balancer_frontend_ip_configurations: An array of references to - the load balancer IP configurations. - :type load_balancer_frontend_ip_configurations: - list[~azure.mgmt.network.v2019_07_01.models.FrontendIPConfiguration] - :param ip_configurations: An array of private link service IP - configurations. - :type ip_configurations: - list[~azure.mgmt.network.v2019_07_01.models.PrivateLinkServiceIpConfiguration] - :ivar network_interfaces: An array of references to the network interfaces - created for this private link service. - :vartype network_interfaces: - list[~azure.mgmt.network.v2019_07_01.models.NetworkInterface] - :param provisioning_state: The provisioning state of the private link - service resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param private_endpoint_connections: An array of list about connections to - the private endpoint. - :type private_endpoint_connections: - list[~azure.mgmt.network.v2019_07_01.models.PrivateEndpointConnection] - :param visibility: The visibility list of the private link service. - :type visibility: - ~azure.mgmt.network.v2019_07_01.models.PrivateLinkServicePropertiesVisibility - :param auto_approval: The auto-approval list of the private link service. - :type auto_approval: - ~azure.mgmt.network.v2019_07_01.models.PrivateLinkServicePropertiesAutoApproval - :param fqdns: The list of Fqdn. - :type fqdns: list[str] - :ivar alias: The alias of the private link service. - :vartype alias: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'network_interfaces': {'readonly': True}, - 'alias': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'load_balancer_frontend_ip_configurations': {'key': 'properties.loadBalancerFrontendIpConfigurations', 'type': '[FrontendIPConfiguration]'}, - 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[PrivateLinkServiceIpConfiguration]'}, - 'network_interfaces': {'key': 'properties.networkInterfaces', 'type': '[NetworkInterface]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'private_endpoint_connections': {'key': 'properties.privateEndpointConnections', 'type': '[PrivateEndpointConnection]'}, - 'visibility': {'key': 'properties.visibility', 'type': 'PrivateLinkServicePropertiesVisibility'}, - 'auto_approval': {'key': 'properties.autoApproval', 'type': 'PrivateLinkServicePropertiesAutoApproval'}, - 'fqdns': {'key': 'properties.fqdns', 'type': '[str]'}, - 'alias': {'key': 'properties.alias', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, load_balancer_frontend_ip_configurations=None, ip_configurations=None, provisioning_state=None, private_endpoint_connections=None, visibility=None, auto_approval=None, fqdns=None, etag: str=None, **kwargs) -> None: - super(PrivateLinkService, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.load_balancer_frontend_ip_configurations = load_balancer_frontend_ip_configurations - self.ip_configurations = ip_configurations - self.network_interfaces = None - self.provisioning_state = provisioning_state - self.private_endpoint_connections = private_endpoint_connections - self.visibility = visibility - self.auto_approval = auto_approval - self.fqdns = fqdns - self.alias = None - self.etag = etag - - -class PrivateLinkServiceConnection(SubResource): - """PrivateLinkServiceConnection resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param provisioning_state: The provisioning state of the private link - service connection resource. Possible values include: 'Succeeded', - 'Updating', 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param private_link_service_id: The resource id of private link service. - :type private_link_service_id: str - :param group_ids: The ID(s) of the group(s) obtained from the remote - resource that this private endpoint should connect to. - :type group_ids: list[str] - :param request_message: A message passed to the owner of the remote - resource with this connection request. Restricted to 140 chars. - :type request_message: str - :param private_link_service_connection_state: A collection of read-only - information about the state of the connection to the remote resource. - :type private_link_service_connection_state: - ~azure.mgmt.network.v2019_07_01.models.PrivateLinkServiceConnectionState - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar type: The resource type. - :vartype type: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'type': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'private_link_service_id': {'key': 'properties.privateLinkServiceId', 'type': 'str'}, - 'group_ids': {'key': 'properties.groupIds', 'type': '[str]'}, - 'request_message': {'key': 'properties.requestMessage', 'type': 'str'}, - 'private_link_service_connection_state': {'key': 'properties.privateLinkServiceConnectionState', 'type': 'PrivateLinkServiceConnectionState'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, provisioning_state=None, private_link_service_id: str=None, group_ids=None, request_message: str=None, private_link_service_connection_state=None, name: str=None, **kwargs) -> None: - super(PrivateLinkServiceConnection, self).__init__(id=id, **kwargs) - self.provisioning_state = provisioning_state - self.private_link_service_id = private_link_service_id - self.group_ids = group_ids - self.request_message = request_message - self.private_link_service_connection_state = private_link_service_connection_state - self.name = name - self.type = None - self.etag = None - - -class PrivateLinkServiceConnectionState(Model): - """A collection of information about the state of the connection between - service consumer and provider. - - :param status: Indicates whether the connection has been - Approved/Rejected/Removed by the owner of the service. - :type status: str - :param description: The reason for approval/rejection of the connection. - :type description: str - :param action_required: A message indicating if changes on the service - provider require any updates on the consumer. - :type action_required: str - """ - - _attribute_map = { - 'status': {'key': 'status', 'type': 'str'}, - 'description': {'key': 'description', 'type': 'str'}, - 'action_required': {'key': 'actionRequired', 'type': 'str'}, - } - - def __init__(self, *, status: str=None, description: str=None, action_required: str=None, **kwargs) -> None: - super(PrivateLinkServiceConnectionState, self).__init__(**kwargs) - self.status = status - self.description = description - self.action_required = action_required - - -class PrivateLinkServiceIpConfiguration(SubResource): - """The private link service ip configuration. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param private_ip_address: The private IP address of the IP configuration. - :type private_ip_address: str - :param private_ip_allocation_method: The private IP address allocation - method. Possible values include: 'Static', 'Dynamic' - :type private_ip_allocation_method: str or - ~azure.mgmt.network.v2019_07_01.models.IPAllocationMethod - :param subnet: The reference to the subnet resource. - :type subnet: ~azure.mgmt.network.v2019_07_01.models.Subnet - :param primary: Whether the ip configuration is primary or not. - :type primary: bool - :param provisioning_state: The provisioning state of the private link - service IP configuration resource. Possible values include: 'Succeeded', - 'Updating', 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param private_ip_address_version: Whether the specific IP configuration - is IPv4 or IPv6. Default is IPv4. Possible values include: 'IPv4', 'IPv6' - :type private_ip_address_version: str or - ~azure.mgmt.network.v2019_07_01.models.IPVersion - :param name: The name of private link service ip configuration. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :ivar type: The resource type. - :vartype type: str - """ - - _validation = { - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, - 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, - 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, - 'primary': {'key': 'properties.primary', 'type': 'bool'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'private_ip_address_version': {'key': 'properties.privateIPAddressVersion', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, private_ip_address: str=None, private_ip_allocation_method=None, subnet=None, primary: bool=None, provisioning_state=None, private_ip_address_version=None, name: str=None, **kwargs) -> None: - super(PrivateLinkServiceIpConfiguration, self).__init__(id=id, **kwargs) - self.private_ip_address = private_ip_address - self.private_ip_allocation_method = private_ip_allocation_method - self.subnet = subnet - self.primary = primary - self.provisioning_state = provisioning_state - self.private_ip_address_version = private_ip_address_version - self.name = name - self.etag = None - self.type = None - - -class ResourceSet(Model): - """The base resource set for visibility and auto-approval. - - :param subscriptions: The list of subscriptions. - :type subscriptions: list[str] - """ - - _attribute_map = { - 'subscriptions': {'key': 'subscriptions', 'type': '[str]'}, - } - - def __init__(self, *, subscriptions=None, **kwargs) -> None: - super(ResourceSet, self).__init__(**kwargs) - self.subscriptions = subscriptions - - -class PrivateLinkServicePropertiesAutoApproval(ResourceSet): - """The auto-approval list of the private link service. - - :param subscriptions: The list of subscriptions. - :type subscriptions: list[str] - """ - - _attribute_map = { - 'subscriptions': {'key': 'subscriptions', 'type': '[str]'}, - } - - def __init__(self, *, subscriptions=None, **kwargs) -> None: - super(PrivateLinkServicePropertiesAutoApproval, self).__init__(subscriptions=subscriptions, **kwargs) - - -class PrivateLinkServicePropertiesVisibility(ResourceSet): - """The visibility list of the private link service. - - :param subscriptions: The list of subscriptions. - :type subscriptions: list[str] - """ - - _attribute_map = { - 'subscriptions': {'key': 'subscriptions', 'type': '[str]'}, - } - - def __init__(self, *, subscriptions=None, **kwargs) -> None: - super(PrivateLinkServicePropertiesVisibility, self).__init__(subscriptions=subscriptions, **kwargs) - - -class PrivateLinkServiceVisibility(Model): - """Response for the CheckPrivateLinkServiceVisibility API service call. - - :param visible: Private Link Service Visibility (True/False). - :type visible: bool - """ - - _attribute_map = { - 'visible': {'key': 'visible', 'type': 'bool'}, - } - - def __init__(self, *, visible: bool=None, **kwargs) -> None: - super(PrivateLinkServiceVisibility, self).__init__(**kwargs) - self.visible = visible - - -class Probe(SubResource): - """A load balancer probe. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :ivar load_balancing_rules: The load balancer rules that use this probe. - :vartype load_balancing_rules: - list[~azure.mgmt.network.v2019_07_01.models.SubResource] - :param protocol: Required. The protocol of the end point. If 'Tcp' is - specified, a received ACK is required for the probe to be successful. If - 'Http' or 'Https' is specified, a 200 OK response from the specifies URI - is required for the probe to be successful. Possible values include: - 'Http', 'Tcp', 'Https' - :type protocol: str or - ~azure.mgmt.network.v2019_07_01.models.ProbeProtocol - :param port: Required. The port for communicating the probe. Possible - values range from 1 to 65535, inclusive. - :type port: int - :param interval_in_seconds: The interval, in seconds, for how frequently - to probe the endpoint for health status. Typically, the interval is - slightly less than half the allocated timeout period (in seconds) which - allows two full probes before taking the instance out of rotation. The - default value is 15, the minimum value is 5. - :type interval_in_seconds: int - :param number_of_probes: The number of probes where if no response, will - result in stopping further traffic from being delivered to the endpoint. - This values allows endpoints to be taken out of rotation faster or slower - than the typical times used in Azure. - :type number_of_probes: int - :param request_path: The URI used for requesting health status from the - VM. Path is required if a protocol is set to http. Otherwise, it is not - allowed. There is no default value. - :type request_path: str - :param provisioning_state: The provisioning state of the probe resource. - Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: The name of the resource that is unique within the set of - probes used by the load balancer. This name can be used to access the - resource. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - :ivar type: Type of the resource. - :vartype type: str - """ - - _validation = { - 'load_balancing_rules': {'readonly': True}, - 'protocol': {'required': True}, - 'port': {'required': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'load_balancing_rules': {'key': 'properties.loadBalancingRules', 'type': '[SubResource]'}, - 'protocol': {'key': 'properties.protocol', 'type': 'str'}, - 'port': {'key': 'properties.port', 'type': 'int'}, - 'interval_in_seconds': {'key': 'properties.intervalInSeconds', 'type': 'int'}, - 'number_of_probes': {'key': 'properties.numberOfProbes', 'type': 'int'}, - 'request_path': {'key': 'properties.requestPath', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, protocol, port: int, id: str=None, interval_in_seconds: int=None, number_of_probes: int=None, request_path: str=None, provisioning_state=None, name: str=None, etag: str=None, **kwargs) -> None: - super(Probe, self).__init__(id=id, **kwargs) - self.load_balancing_rules = None - self.protocol = protocol - self.port = port - self.interval_in_seconds = interval_in_seconds - self.number_of_probes = number_of_probes - self.request_path = request_path - self.provisioning_state = provisioning_state - self.name = name - self.etag = etag - self.type = None - - -class ProtocolConfiguration(Model): - """Configuration of the protocol. - - :param http_configuration: HTTP configuration of the connectivity check. - :type http_configuration: - ~azure.mgmt.network.v2019_07_01.models.HTTPConfiguration - """ - - _attribute_map = { - 'http_configuration': {'key': 'HTTPConfiguration', 'type': 'HTTPConfiguration'}, - } - - def __init__(self, *, http_configuration=None, **kwargs) -> None: - super(ProtocolConfiguration, self).__init__(**kwargs) - self.http_configuration = http_configuration - - -class ProtocolCustomSettingsFormat(Model): - """DDoS custom policy properties. - - :param protocol: The protocol for which the DDoS protection policy is - being customized. Possible values include: 'Tcp', 'Udp', 'Syn' - :type protocol: str or - ~azure.mgmt.network.v2019_07_01.models.DdosCustomPolicyProtocol - :param trigger_rate_override: The customized DDoS protection trigger rate. - :type trigger_rate_override: str - :param source_rate_override: The customized DDoS protection source rate. - :type source_rate_override: str - :param trigger_sensitivity_override: The customized DDoS protection - trigger rate sensitivity degrees. High: Trigger rate set with most - sensitivity w.r.t. normal traffic. Default: Trigger rate set with moderate - sensitivity w.r.t. normal traffic. Low: Trigger rate set with less - sensitivity w.r.t. normal traffic. Relaxed: Trigger rate set with least - sensitivity w.r.t. normal traffic. Possible values include: 'Relaxed', - 'Low', 'Default', 'High' - :type trigger_sensitivity_override: str or - ~azure.mgmt.network.v2019_07_01.models.DdosCustomPolicyTriggerSensitivityOverride - """ - - _attribute_map = { - 'protocol': {'key': 'protocol', 'type': 'str'}, - 'trigger_rate_override': {'key': 'triggerRateOverride', 'type': 'str'}, - 'source_rate_override': {'key': 'sourceRateOverride', 'type': 'str'}, - 'trigger_sensitivity_override': {'key': 'triggerSensitivityOverride', 'type': 'str'}, - } - - def __init__(self, *, protocol=None, trigger_rate_override: str=None, source_rate_override: str=None, trigger_sensitivity_override=None, **kwargs) -> None: - super(ProtocolCustomSettingsFormat, self).__init__(**kwargs) - self.protocol = protocol - self.trigger_rate_override = trigger_rate_override - self.source_rate_override = source_rate_override - self.trigger_sensitivity_override = trigger_sensitivity_override - - -class PublicIPAddress(Resource): - """Public IP address resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param sku: The public IP address SKU. - :type sku: ~azure.mgmt.network.v2019_07_01.models.PublicIPAddressSku - :param public_ip_allocation_method: The public IP address allocation - method. Possible values include: 'Static', 'Dynamic' - :type public_ip_allocation_method: str or - ~azure.mgmt.network.v2019_07_01.models.IPAllocationMethod - :param public_ip_address_version: The public IP address version. Possible - values include: 'IPv4', 'IPv6' - :type public_ip_address_version: str or - ~azure.mgmt.network.v2019_07_01.models.IPVersion - :ivar ip_configuration: The IP configuration associated with the public IP - address. - :vartype ip_configuration: - ~azure.mgmt.network.v2019_07_01.models.IPConfiguration - :param dns_settings: The FQDN of the DNS record associated with the public - IP address. - :type dns_settings: - ~azure.mgmt.network.v2019_07_01.models.PublicIPAddressDnsSettings - :param ddos_settings: The DDoS protection custom policy associated with - the public IP address. - :type ddos_settings: ~azure.mgmt.network.v2019_07_01.models.DdosSettings - :param ip_tags: The list of tags associated with the public IP address. - :type ip_tags: list[~azure.mgmt.network.v2019_07_01.models.IpTag] - :param ip_address: The IP address associated with the public IP address - resource. - :type ip_address: str - :param public_ip_prefix: The Public IP Prefix this Public IP Address - should be allocated from. - :type public_ip_prefix: ~azure.mgmt.network.v2019_07_01.models.SubResource - :param idle_timeout_in_minutes: The idle timeout of the public IP address. - :type idle_timeout_in_minutes: int - :param resource_guid: The resource GUID property of the public IP address - resource. - :type resource_guid: str - :param provisioning_state: The provisioning state of the public IP address - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - :param zones: A list of availability zones denoting the IP allocated for - the resource needs to come from. - :type zones: list[str] - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'ip_configuration': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'sku': {'key': 'sku', 'type': 'PublicIPAddressSku'}, - 'public_ip_allocation_method': {'key': 'properties.publicIPAllocationMethod', 'type': 'str'}, - 'public_ip_address_version': {'key': 'properties.publicIPAddressVersion', 'type': 'str'}, - 'ip_configuration': {'key': 'properties.ipConfiguration', 'type': 'IPConfiguration'}, - 'dns_settings': {'key': 'properties.dnsSettings', 'type': 'PublicIPAddressDnsSettings'}, - 'ddos_settings': {'key': 'properties.ddosSettings', 'type': 'DdosSettings'}, - 'ip_tags': {'key': 'properties.ipTags', 'type': '[IpTag]'}, - 'ip_address': {'key': 'properties.ipAddress', 'type': 'str'}, - 'public_ip_prefix': {'key': 'properties.publicIPPrefix', 'type': 'SubResource'}, - 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'zones': {'key': 'zones', 'type': '[str]'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, sku=None, public_ip_allocation_method=None, public_ip_address_version=None, dns_settings=None, ddos_settings=None, ip_tags=None, ip_address: str=None, public_ip_prefix=None, idle_timeout_in_minutes: int=None, resource_guid: str=None, provisioning_state=None, etag: str=None, zones=None, **kwargs) -> None: - super(PublicIPAddress, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.sku = sku - self.public_ip_allocation_method = public_ip_allocation_method - self.public_ip_address_version = public_ip_address_version - self.ip_configuration = None - self.dns_settings = dns_settings - self.ddos_settings = ddos_settings - self.ip_tags = ip_tags - self.ip_address = ip_address - self.public_ip_prefix = public_ip_prefix - self.idle_timeout_in_minutes = idle_timeout_in_minutes - self.resource_guid = resource_guid - self.provisioning_state = provisioning_state - self.etag = etag - self.zones = zones - - -class PublicIPAddressDnsSettings(Model): - """Contains FQDN of the DNS record associated with the public IP address. - - :param domain_name_label: The domain name label. The concatenation of the - domain name label and the regionalized DNS zone make up the fully - qualified domain name associated with the public IP address. If a domain - name label is specified, an A DNS record is created for the public IP in - the Microsoft Azure DNS system. - :type domain_name_label: str - :param fqdn: The Fully Qualified Domain Name of the A DNS record - associated with the public IP. This is the concatenation of the - domainNameLabel and the regionalized DNS zone. - :type fqdn: str - :param reverse_fqdn: The reverse FQDN. A user-visible, fully qualified - domain name that resolves to this public IP address. If the reverseFqdn is - specified, then a PTR DNS record is created pointing from the IP address - in the in-addr.arpa domain to the reverse FQDN. - :type reverse_fqdn: str - """ - - _attribute_map = { - 'domain_name_label': {'key': 'domainNameLabel', 'type': 'str'}, - 'fqdn': {'key': 'fqdn', 'type': 'str'}, - 'reverse_fqdn': {'key': 'reverseFqdn', 'type': 'str'}, - } - - def __init__(self, *, domain_name_label: str=None, fqdn: str=None, reverse_fqdn: str=None, **kwargs) -> None: - super(PublicIPAddressDnsSettings, self).__init__(**kwargs) - self.domain_name_label = domain_name_label - self.fqdn = fqdn - self.reverse_fqdn = reverse_fqdn - - -class PublicIPAddressSku(Model): - """SKU of a public IP address. - - :param name: Name of a public IP address SKU. Possible values include: - 'Basic', 'Standard' - :type name: str or - ~azure.mgmt.network.v2019_07_01.models.PublicIPAddressSkuName - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - } - - def __init__(self, *, name=None, **kwargs) -> None: - super(PublicIPAddressSku, self).__init__(**kwargs) - self.name = name - - -class PublicIPPrefix(Resource): - """Public IP prefix resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param sku: The public IP prefix SKU. - :type sku: ~azure.mgmt.network.v2019_07_01.models.PublicIPPrefixSku - :param public_ip_address_version: The public IP address version. Possible - values include: 'IPv4', 'IPv6' - :type public_ip_address_version: str or - ~azure.mgmt.network.v2019_07_01.models.IPVersion - :param ip_tags: The list of tags associated with the public IP prefix. - :type ip_tags: list[~azure.mgmt.network.v2019_07_01.models.IpTag] - :param prefix_length: The Length of the Public IP Prefix. - :type prefix_length: int - :param ip_prefix: The allocated Prefix. - :type ip_prefix: str - :param public_ip_addresses: The list of all referenced PublicIPAddresses. - :type public_ip_addresses: - list[~azure.mgmt.network.v2019_07_01.models.ReferencedPublicIpAddress] - :ivar load_balancer_frontend_ip_configuration: The reference to load - balancer frontend IP configuration associated with the public IP prefix. - :vartype load_balancer_frontend_ip_configuration: - ~azure.mgmt.network.v2019_07_01.models.SubResource - :param resource_guid: The resource GUID property of the public IP prefix - resource. - :type resource_guid: str - :param provisioning_state: The provisioning state of the public IP prefix - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - :param zones: A list of availability zones denoting the IP allocated for - the resource needs to come from. - :type zones: list[str] - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'load_balancer_frontend_ip_configuration': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'sku': {'key': 'sku', 'type': 'PublicIPPrefixSku'}, - 'public_ip_address_version': {'key': 'properties.publicIPAddressVersion', 'type': 'str'}, - 'ip_tags': {'key': 'properties.ipTags', 'type': '[IpTag]'}, - 'prefix_length': {'key': 'properties.prefixLength', 'type': 'int'}, - 'ip_prefix': {'key': 'properties.ipPrefix', 'type': 'str'}, - 'public_ip_addresses': {'key': 'properties.publicIPAddresses', 'type': '[ReferencedPublicIpAddress]'}, - 'load_balancer_frontend_ip_configuration': {'key': 'properties.loadBalancerFrontendIpConfiguration', 'type': 'SubResource'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'zones': {'key': 'zones', 'type': '[str]'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, sku=None, public_ip_address_version=None, ip_tags=None, prefix_length: int=None, ip_prefix: str=None, public_ip_addresses=None, resource_guid: str=None, provisioning_state=None, etag: str=None, zones=None, **kwargs) -> None: - super(PublicIPPrefix, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.sku = sku - self.public_ip_address_version = public_ip_address_version - self.ip_tags = ip_tags - self.prefix_length = prefix_length - self.ip_prefix = ip_prefix - self.public_ip_addresses = public_ip_addresses - self.load_balancer_frontend_ip_configuration = None - self.resource_guid = resource_guid - self.provisioning_state = provisioning_state - self.etag = etag - self.zones = zones - - -class PublicIPPrefixSku(Model): - """SKU of a public IP prefix. - - :param name: Name of a public IP prefix SKU. Possible values include: - 'Standard' - :type name: str or - ~azure.mgmt.network.v2019_07_01.models.PublicIPPrefixSkuName - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - } - - def __init__(self, *, name=None, **kwargs) -> None: - super(PublicIPPrefixSku, self).__init__(**kwargs) - self.name = name - - -class QueryTroubleshootingParameters(Model): - """Parameters that define the resource to query the troubleshooting result. - - All required parameters must be populated in order to send to Azure. - - :param target_resource_id: Required. The target resource ID to query the - troubleshooting result. - :type target_resource_id: str - """ - - _validation = { - 'target_resource_id': {'required': True}, - } - - _attribute_map = { - 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, - } - - def __init__(self, *, target_resource_id: str, **kwargs) -> None: - super(QueryTroubleshootingParameters, self).__init__(**kwargs) - self.target_resource_id = target_resource_id - - -class ReferencedPublicIpAddress(Model): - """Reference to a public IP address. - - :param id: The PublicIPAddress Reference. - :type id: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, **kwargs) -> None: - super(ReferencedPublicIpAddress, self).__init__(**kwargs) - self.id = id - - -class ResourceNavigationLink(SubResource): - """ResourceNavigationLink resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param linked_resource_type: Resource type of the linked resource. - :type linked_resource_type: str - :param link: Link to the external resource. - :type link: str - :ivar provisioning_state: The provisioning state of the resource - navigation link resource. Possible values include: 'Succeeded', - 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: Name of the resource that is unique within a resource group. - This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :ivar type: Resource type. - :vartype type: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'linked_resource_type': {'key': 'properties.linkedResourceType', 'type': 'str'}, - 'link': {'key': 'properties.link', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, linked_resource_type: str=None, link: str=None, name: str=None, **kwargs) -> None: - super(ResourceNavigationLink, self).__init__(id=id, **kwargs) - self.linked_resource_type = linked_resource_type - self.link = link - self.provisioning_state = None - self.name = name - self.etag = None - self.type = None - - -class ResourceNavigationLinksListResult(Model): - """Response for ResourceNavigationLinks_List operation. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param value: The resource navigation links in a subnet. - :type value: - list[~azure.mgmt.network.v2019_07_01.models.ResourceNavigationLink] - :ivar next_link: The URL to get the next set of results. - :vartype next_link: str - """ - - _validation = { - 'next_link': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[ResourceNavigationLink]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__(self, *, value=None, **kwargs) -> None: - super(ResourceNavigationLinksListResult, self).__init__(**kwargs) - self.value = value - self.next_link = None - - -class RetentionPolicyParameters(Model): - """Parameters that define the retention policy for flow log. - - :param days: Number of days to retain flow log records. Default value: 0 . - :type days: int - :param enabled: Flag to enable/disable retention. Default value: False . - :type enabled: bool - """ - - _attribute_map = { - 'days': {'key': 'days', 'type': 'int'}, - 'enabled': {'key': 'enabled', 'type': 'bool'}, - } - - def __init__(self, *, days: int=0, enabled: bool=False, **kwargs) -> None: - super(RetentionPolicyParameters, self).__init__(**kwargs) - self.days = days - self.enabled = enabled - - -class Route(SubResource): - """Route resource. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :param address_prefix: The destination CIDR to which the route applies. - :type address_prefix: str - :param next_hop_type: Required. The type of Azure hop the packet should be - sent to. Possible values include: 'VirtualNetworkGateway', 'VnetLocal', - 'Internet', 'VirtualAppliance', 'None' - :type next_hop_type: str or - ~azure.mgmt.network.v2019_07_01.models.RouteNextHopType - :param next_hop_ip_address: The IP address packets should be forwarded to. - Next hop values are only allowed in routes where the next hop type is - VirtualAppliance. - :type next_hop_ip_address: str - :param provisioning_state: The provisioning state of the route resource. - Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'next_hop_type': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'address_prefix': {'key': 'properties.addressPrefix', 'type': 'str'}, - 'next_hop_type': {'key': 'properties.nextHopType', 'type': 'str'}, - 'next_hop_ip_address': {'key': 'properties.nextHopIpAddress', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, next_hop_type, id: str=None, address_prefix: str=None, next_hop_ip_address: str=None, provisioning_state=None, name: str=None, etag: str=None, **kwargs) -> None: - super(Route, self).__init__(id=id, **kwargs) - self.address_prefix = address_prefix - self.next_hop_type = next_hop_type - self.next_hop_ip_address = next_hop_ip_address - self.provisioning_state = provisioning_state - self.name = name - self.etag = etag - - -class RouteFilter(Resource): - """Route Filter Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param rules: Collection of RouteFilterRules contained within a route - filter. - :type rules: list[~azure.mgmt.network.v2019_07_01.models.RouteFilterRule] - :param peerings: A collection of references to express route circuit - peerings. - :type peerings: - list[~azure.mgmt.network.v2019_07_01.models.ExpressRouteCircuitPeering] - :param ipv6_peerings: A collection of references to express route circuit - ipv6 peerings. - :type ipv6_peerings: - list[~azure.mgmt.network.v2019_07_01.models.ExpressRouteCircuitPeering] - :ivar provisioning_state: The provisioning state of the route filter - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'rules': {'key': 'properties.rules', 'type': '[RouteFilterRule]'}, - 'peerings': {'key': 'properties.peerings', 'type': '[ExpressRouteCircuitPeering]'}, - 'ipv6_peerings': {'key': 'properties.ipv6Peerings', 'type': '[ExpressRouteCircuitPeering]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, rules=None, peerings=None, ipv6_peerings=None, **kwargs) -> None: - super(RouteFilter, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.rules = rules - self.peerings = peerings - self.ipv6_peerings = ipv6_peerings - self.provisioning_state = None - self.etag = None - - -class RouteFilterRule(SubResource): - """Route Filter Rule Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :param access: Required. The access type of the rule. Possible values - include: 'Allow', 'Deny' - :type access: str or ~azure.mgmt.network.v2019_07_01.models.Access - :ivar route_filter_rule_type: Required. The rule type of the rule. Default - value: "Community" . - :vartype route_filter_rule_type: str - :param communities: Required. The collection for bgp community values to - filter on. e.g. ['12076:5010','12076:5020']. - :type communities: list[str] - :ivar provisioning_state: The provisioning state of the route filter rule - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :param location: Resource location. - :type location: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'access': {'required': True}, - 'route_filter_rule_type': {'required': True, 'constant': True}, - 'communities': {'required': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'access': {'key': 'properties.access', 'type': 'str'}, - 'route_filter_rule_type': {'key': 'properties.routeFilterRuleType', 'type': 'str'}, - 'communities': {'key': 'properties.communities', 'type': '[str]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - route_filter_rule_type = "Community" - - def __init__(self, *, access, communities, id: str=None, name: str=None, location: str=None, **kwargs) -> None: - super(RouteFilterRule, self).__init__(id=id, **kwargs) - self.access = access - self.communities = communities - self.provisioning_state = None - self.name = name - self.location = location - self.etag = None - - -class RouteTable(Resource): - """Route table resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param routes: Collection of routes contained within a route table. - :type routes: list[~azure.mgmt.network.v2019_07_01.models.Route] - :ivar subnets: A collection of references to subnets. - :vartype subnets: list[~azure.mgmt.network.v2019_07_01.models.Subnet] - :param disable_bgp_route_propagation: Whether to disable the routes - learned by BGP on that route table. True means disable. - :type disable_bgp_route_propagation: bool - :param provisioning_state: The provisioning state of the route table - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'subnets': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'routes': {'key': 'properties.routes', 'type': '[Route]'}, - 'subnets': {'key': 'properties.subnets', 'type': '[Subnet]'}, - 'disable_bgp_route_propagation': {'key': 'properties.disableBgpRoutePropagation', 'type': 'bool'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, routes=None, disable_bgp_route_propagation: bool=None, provisioning_state=None, etag: str=None, **kwargs) -> None: - super(RouteTable, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.routes = routes - self.subnets = None - self.disable_bgp_route_propagation = disable_bgp_route_propagation - self.provisioning_state = provisioning_state - self.etag = etag - - -class SecurityGroupNetworkInterface(Model): - """Network interface and all its associated security rules. - - :param id: ID of the network interface. - :type id: str - :param security_rule_associations: All security rules associated with the - network interface. - :type security_rule_associations: - ~azure.mgmt.network.v2019_07_01.models.SecurityRuleAssociations - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'security_rule_associations': {'key': 'securityRuleAssociations', 'type': 'SecurityRuleAssociations'}, - } - - def __init__(self, *, id: str=None, security_rule_associations=None, **kwargs) -> None: - super(SecurityGroupNetworkInterface, self).__init__(**kwargs) - self.id = id - self.security_rule_associations = security_rule_associations - - -class SecurityGroupViewParameters(Model): - """Parameters that define the VM to check security groups for. - - All required parameters must be populated in order to send to Azure. - - :param target_resource_id: Required. ID of the target VM. - :type target_resource_id: str - """ - - _validation = { - 'target_resource_id': {'required': True}, - } - - _attribute_map = { - 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, - } - - def __init__(self, *, target_resource_id: str, **kwargs) -> None: - super(SecurityGroupViewParameters, self).__init__(**kwargs) - self.target_resource_id = target_resource_id - - -class SecurityGroupViewResult(Model): - """The information about security rules applied to the specified VM. - - :param network_interfaces: List of network interfaces on the specified VM. - :type network_interfaces: - list[~azure.mgmt.network.v2019_07_01.models.SecurityGroupNetworkInterface] - """ - - _attribute_map = { - 'network_interfaces': {'key': 'networkInterfaces', 'type': '[SecurityGroupNetworkInterface]'}, - } - - def __init__(self, *, network_interfaces=None, **kwargs) -> None: - super(SecurityGroupViewResult, self).__init__(**kwargs) - self.network_interfaces = network_interfaces - - -class SecurityRule(SubResource): - """Network security rule. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :param description: A description for this rule. Restricted to 140 chars. - :type description: str - :param protocol: Required. Network protocol this rule applies to. Possible - values include: 'Tcp', 'Udp', 'Icmp', 'Esp', '*' - :type protocol: str or - ~azure.mgmt.network.v2019_07_01.models.SecurityRuleProtocol - :param source_port_range: The source port or range. Integer or range - between 0 and 65535. Asterisk '*' can also be used to match all ports. - :type source_port_range: str - :param destination_port_range: The destination port or range. Integer or - range between 0 and 65535. Asterisk '*' can also be used to match all - ports. - :type destination_port_range: str - :param source_address_prefix: The CIDR or source IP range. Asterisk '*' - can also be used to match all source IPs. Default tags such as - 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. If - this is an ingress rule, specifies where network traffic originates from. - :type source_address_prefix: str - :param source_address_prefixes: The CIDR or source IP ranges. - :type source_address_prefixes: list[str] - :param source_application_security_groups: The application security group - specified as source. - :type source_application_security_groups: - list[~azure.mgmt.network.v2019_07_01.models.ApplicationSecurityGroup] - :param destination_address_prefix: The destination address prefix. CIDR or - destination IP range. Asterisk '*' can also be used to match all source - IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and - 'Internet' can also be used. - :type destination_address_prefix: str - :param destination_address_prefixes: The destination address prefixes. - CIDR or destination IP ranges. - :type destination_address_prefixes: list[str] - :param destination_application_security_groups: The application security - group specified as destination. - :type destination_application_security_groups: - list[~azure.mgmt.network.v2019_07_01.models.ApplicationSecurityGroup] - :param source_port_ranges: The source port ranges. - :type source_port_ranges: list[str] - :param destination_port_ranges: The destination port ranges. - :type destination_port_ranges: list[str] - :param access: Required. The network traffic is allowed or denied. - Possible values include: 'Allow', 'Deny' - :type access: str or - ~azure.mgmt.network.v2019_07_01.models.SecurityRuleAccess - :param priority: The priority of the rule. The value can be between 100 - and 4096. The priority number must be unique for each rule in the - collection. The lower the priority number, the higher the priority of the - rule. - :type priority: int - :param direction: Required. The direction of the rule. The direction - specifies if rule will be evaluated on incoming or outgoing traffic. - Possible values include: 'Inbound', 'Outbound' - :type direction: str or - ~azure.mgmt.network.v2019_07_01.models.SecurityRuleDirection - :param provisioning_state: The provisioning state of the security rule - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'protocol': {'required': True}, - 'access': {'required': True}, - 'direction': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'description': {'key': 'properties.description', 'type': 'str'}, - 'protocol': {'key': 'properties.protocol', 'type': 'str'}, - 'source_port_range': {'key': 'properties.sourcePortRange', 'type': 'str'}, - 'destination_port_range': {'key': 'properties.destinationPortRange', 'type': 'str'}, - 'source_address_prefix': {'key': 'properties.sourceAddressPrefix', 'type': 'str'}, - 'source_address_prefixes': {'key': 'properties.sourceAddressPrefixes', 'type': '[str]'}, - 'source_application_security_groups': {'key': 'properties.sourceApplicationSecurityGroups', 'type': '[ApplicationSecurityGroup]'}, - 'destination_address_prefix': {'key': 'properties.destinationAddressPrefix', 'type': 'str'}, - 'destination_address_prefixes': {'key': 'properties.destinationAddressPrefixes', 'type': '[str]'}, - 'destination_application_security_groups': {'key': 'properties.destinationApplicationSecurityGroups', 'type': '[ApplicationSecurityGroup]'}, - 'source_port_ranges': {'key': 'properties.sourcePortRanges', 'type': '[str]'}, - 'destination_port_ranges': {'key': 'properties.destinationPortRanges', 'type': '[str]'}, - 'access': {'key': 'properties.access', 'type': 'str'}, - 'priority': {'key': 'properties.priority', 'type': 'int'}, - 'direction': {'key': 'properties.direction', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, protocol, access, direction, id: str=None, description: str=None, source_port_range: str=None, destination_port_range: str=None, source_address_prefix: str=None, source_address_prefixes=None, source_application_security_groups=None, destination_address_prefix: str=None, destination_address_prefixes=None, destination_application_security_groups=None, source_port_ranges=None, destination_port_ranges=None, priority: int=None, provisioning_state=None, name: str=None, etag: str=None, **kwargs) -> None: - super(SecurityRule, self).__init__(id=id, **kwargs) - self.description = description - self.protocol = protocol - self.source_port_range = source_port_range - self.destination_port_range = destination_port_range - self.source_address_prefix = source_address_prefix - self.source_address_prefixes = source_address_prefixes - self.source_application_security_groups = source_application_security_groups - self.destination_address_prefix = destination_address_prefix - self.destination_address_prefixes = destination_address_prefixes - self.destination_application_security_groups = destination_application_security_groups - self.source_port_ranges = source_port_ranges - self.destination_port_ranges = destination_port_ranges - self.access = access - self.priority = priority - self.direction = direction - self.provisioning_state = provisioning_state - self.name = name - self.etag = etag - - -class SecurityRuleAssociations(Model): - """All security rules associated with the network interface. - - :param network_interface_association: Network interface and it's custom - security rules. - :type network_interface_association: - ~azure.mgmt.network.v2019_07_01.models.NetworkInterfaceAssociation - :param subnet_association: Subnet and it's custom security rules. - :type subnet_association: - ~azure.mgmt.network.v2019_07_01.models.SubnetAssociation - :param default_security_rules: Collection of default security rules of the - network security group. - :type default_security_rules: - list[~azure.mgmt.network.v2019_07_01.models.SecurityRule] - :param effective_security_rules: Collection of effective security rules. - :type effective_security_rules: - list[~azure.mgmt.network.v2019_07_01.models.EffectiveNetworkSecurityRule] - """ - - _attribute_map = { - 'network_interface_association': {'key': 'networkInterfaceAssociation', 'type': 'NetworkInterfaceAssociation'}, - 'subnet_association': {'key': 'subnetAssociation', 'type': 'SubnetAssociation'}, - 'default_security_rules': {'key': 'defaultSecurityRules', 'type': '[SecurityRule]'}, - 'effective_security_rules': {'key': 'effectiveSecurityRules', 'type': '[EffectiveNetworkSecurityRule]'}, - } - - def __init__(self, *, network_interface_association=None, subnet_association=None, default_security_rules=None, effective_security_rules=None, **kwargs) -> None: - super(SecurityRuleAssociations, self).__init__(**kwargs) - self.network_interface_association = network_interface_association - self.subnet_association = subnet_association - self.default_security_rules = default_security_rules - self.effective_security_rules = effective_security_rules - - -class ServiceAssociationLink(SubResource): - """ServiceAssociationLink resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param linked_resource_type: Resource type of the linked resource. - :type linked_resource_type: str - :param link: Link to the external resource. - :type link: str - :ivar provisioning_state: The provisioning state of the service - association link resource. Possible values include: 'Succeeded', - 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param allow_delete: If true, the resource can be deleted. - :type allow_delete: bool - :param locations: A list of locations. - :type locations: list[str] - :param name: Name of the resource that is unique within a resource group. - This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :param type: Resource type. - :type type: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'linked_resource_type': {'key': 'properties.linkedResourceType', 'type': 'str'}, - 'link': {'key': 'properties.link', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'allow_delete': {'key': 'properties.allowDelete', 'type': 'bool'}, - 'locations': {'key': 'properties.locations', 'type': '[str]'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, linked_resource_type: str=None, link: str=None, allow_delete: bool=None, locations=None, name: str=None, type: str=None, **kwargs) -> None: - super(ServiceAssociationLink, self).__init__(id=id, **kwargs) - self.linked_resource_type = linked_resource_type - self.link = link - self.provisioning_state = None - self.allow_delete = allow_delete - self.locations = locations - self.name = name - self.etag = None - self.type = type - - -class ServiceAssociationLinksListResult(Model): - """Response for ServiceAssociationLinks_List operation. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param value: The service association links in a subnet. - :type value: - list[~azure.mgmt.network.v2019_07_01.models.ServiceAssociationLink] - :ivar next_link: The URL to get the next set of results. - :vartype next_link: str - """ - - _validation = { - 'next_link': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[ServiceAssociationLink]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__(self, *, value=None, **kwargs) -> None: - super(ServiceAssociationLinksListResult, self).__init__(**kwargs) - self.value = value - self.next_link = None - - -class ServiceEndpointPolicy(Resource): - """Service End point policy resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param service_endpoint_policy_definitions: A collection of service - endpoint policy definitions of the service endpoint policy. - :type service_endpoint_policy_definitions: - list[~azure.mgmt.network.v2019_07_01.models.ServiceEndpointPolicyDefinition] - :ivar subnets: A collection of references to subnets. - :vartype subnets: list[~azure.mgmt.network.v2019_07_01.models.Subnet] - :ivar resource_guid: The resource GUID property of the service endpoint - policy resource. - :vartype resource_guid: str - :ivar provisioning_state: The provisioning state of the service endpoint - policy resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'subnets': {'readonly': True}, - 'resource_guid': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'service_endpoint_policy_definitions': {'key': 'properties.serviceEndpointPolicyDefinitions', 'type': '[ServiceEndpointPolicyDefinition]'}, - 'subnets': {'key': 'properties.subnets', 'type': '[Subnet]'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, service_endpoint_policy_definitions=None, etag: str=None, **kwargs) -> None: - super(ServiceEndpointPolicy, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.service_endpoint_policy_definitions = service_endpoint_policy_definitions - self.subnets = None - self.resource_guid = None - self.provisioning_state = None - self.etag = etag - - -class ServiceEndpointPolicyDefinition(SubResource): - """Service Endpoint policy definitions. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param description: A description for this rule. Restricted to 140 chars. - :type description: str - :param service: Service endpoint name. - :type service: str - :param service_resources: A list of service resources. - :type service_resources: list[str] - :ivar provisioning_state: The provisioning state of the service endpoint - policy definition resource. Possible values include: 'Succeeded', - 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'description': {'key': 'properties.description', 'type': 'str'}, - 'service': {'key': 'properties.service', 'type': 'str'}, - 'service_resources': {'key': 'properties.serviceResources', 'type': '[str]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, description: str=None, service: str=None, service_resources=None, name: str=None, etag: str=None, **kwargs) -> None: - super(ServiceEndpointPolicyDefinition, self).__init__(id=id, **kwargs) - self.description = description - self.service = service - self.service_resources = service_resources - self.provisioning_state = None - self.name = name - self.etag = etag - - -class ServiceEndpointPropertiesFormat(Model): - """The service endpoint properties. - - :param service: The type of the endpoint service. - :type service: str - :param locations: A list of locations. - :type locations: list[str] - :param provisioning_state: The provisioning state of the service endpoint - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - """ - - _attribute_map = { - 'service': {'key': 'service', 'type': 'str'}, - 'locations': {'key': 'locations', 'type': '[str]'}, - 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, - } - - def __init__(self, *, service: str=None, locations=None, provisioning_state=None, **kwargs) -> None: - super(ServiceEndpointPropertiesFormat, self).__init__(**kwargs) - self.service = service - self.locations = locations - self.provisioning_state = provisioning_state - - -class ServiceTagInformation(Model): - """The service tag information. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar properties: Properties of the service tag information. - :vartype properties: - ~azure.mgmt.network.v2019_07_01.models.ServiceTagInformationPropertiesFormat - :ivar name: The name of service tag. - :vartype name: str - :ivar id: The ID of service tag. - :vartype id: str - """ - - _validation = { - 'properties': {'readonly': True}, - 'name': {'readonly': True}, - 'id': {'readonly': True}, - } - - _attribute_map = { - 'properties': {'key': 'properties', 'type': 'ServiceTagInformationPropertiesFormat'}, - 'name': {'key': 'name', 'type': 'str'}, - 'id': {'key': 'id', 'type': 'str'}, - } - - def __init__(self, **kwargs) -> None: - super(ServiceTagInformation, self).__init__(**kwargs) - self.properties = None - self.name = None - self.id = None - - -class ServiceTagInformationPropertiesFormat(Model): - """Properties of the service tag information. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar change_number: The iteration number of service tag. - :vartype change_number: str - :ivar region: The region of service tag. - :vartype region: str - :ivar system_service: The name of system service. - :vartype system_service: str - :ivar address_prefixes: The list of IP address prefixes. - :vartype address_prefixes: list[str] - """ - - _validation = { - 'change_number': {'readonly': True}, - 'region': {'readonly': True}, - 'system_service': {'readonly': True}, - 'address_prefixes': {'readonly': True}, - } - - _attribute_map = { - 'change_number': {'key': 'changeNumber', 'type': 'str'}, - 'region': {'key': 'region', 'type': 'str'}, - 'system_service': {'key': 'systemService', 'type': 'str'}, - 'address_prefixes': {'key': 'addressPrefixes', 'type': '[str]'}, - } - - def __init__(self, **kwargs) -> None: - super(ServiceTagInformationPropertiesFormat, self).__init__(**kwargs) - self.change_number = None - self.region = None - self.system_service = None - self.address_prefixes = None - - -class ServiceTagsListResult(Model): - """Response for the ListServiceTags API service call. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar name: The name of the cloud. - :vartype name: str - :ivar id: The ID of the cloud. - :vartype id: str - :ivar type: The azure resource type. - :vartype type: str - :ivar change_number: The iteration number. - :vartype change_number: str - :ivar cloud: The name of the cloud. - :vartype cloud: str - :ivar values: The list of service tag information resources. - :vartype values: - list[~azure.mgmt.network.v2019_07_01.models.ServiceTagInformation] - """ - - _validation = { - 'name': {'readonly': True}, - 'id': {'readonly': True}, - 'type': {'readonly': True}, - 'change_number': {'readonly': True}, - 'cloud': {'readonly': True}, - 'values': {'readonly': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'id': {'key': 'id', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'change_number': {'key': 'changeNumber', 'type': 'str'}, - 'cloud': {'key': 'cloud', 'type': 'str'}, - 'values': {'key': 'values', 'type': '[ServiceTagInformation]'}, - } - - def __init__(self, **kwargs) -> None: - super(ServiceTagsListResult, self).__init__(**kwargs) - self.name = None - self.id = None - self.type = None - self.change_number = None - self.cloud = None - self.values = None - - -class Subnet(SubResource): - """Subnet in a virtual network resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param address_prefix: The address prefix for the subnet. - :type address_prefix: str - :param address_prefixes: List of address prefixes for the subnet. - :type address_prefixes: list[str] - :param network_security_group: The reference of the NetworkSecurityGroup - resource. - :type network_security_group: - ~azure.mgmt.network.v2019_07_01.models.NetworkSecurityGroup - :param route_table: The reference of the RouteTable resource. - :type route_table: ~azure.mgmt.network.v2019_07_01.models.RouteTable - :param nat_gateway: Nat gateway associated with this subnet. - :type nat_gateway: ~azure.mgmt.network.v2019_07_01.models.SubResource - :param service_endpoints: An array of service endpoints. - :type service_endpoints: - list[~azure.mgmt.network.v2019_07_01.models.ServiceEndpointPropertiesFormat] - :param service_endpoint_policies: An array of service endpoint policies. - :type service_endpoint_policies: - list[~azure.mgmt.network.v2019_07_01.models.ServiceEndpointPolicy] - :ivar private_endpoints: An array of references to private endpoints. - :vartype private_endpoints: - list[~azure.mgmt.network.v2019_07_01.models.PrivateEndpoint] - :ivar ip_configurations: An array of references to the network interface - IP configurations using subnet. - :vartype ip_configurations: - list[~azure.mgmt.network.v2019_07_01.models.IPConfiguration] - :ivar ip_configuration_profiles: Array of IP configuration profiles which - reference this subnet. - :vartype ip_configuration_profiles: - list[~azure.mgmt.network.v2019_07_01.models.IPConfigurationProfile] - :param resource_navigation_links: An array of references to the external - resources using subnet. - :type resource_navigation_links: - list[~azure.mgmt.network.v2019_07_01.models.ResourceNavigationLink] - :param service_association_links: An array of references to services - injecting into this subnet. - :type service_association_links: - list[~azure.mgmt.network.v2019_07_01.models.ServiceAssociationLink] - :param delegations: An array of references to the delegations on the - subnet. - :type delegations: list[~azure.mgmt.network.v2019_07_01.models.Delegation] - :ivar purpose: A read-only string identifying the intention of use for - this subnet based on delegations and other user-defined properties. - :vartype purpose: str - :param provisioning_state: The provisioning state of the subnet resource. - Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param private_endpoint_network_policies: Enable or Disable apply network - policies on private end point in the subnet. - :type private_endpoint_network_policies: str - :param private_link_service_network_policies: Enable or Disable apply - network policies on private link service in the subnet. - :type private_link_service_network_policies: str - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'private_endpoints': {'readonly': True}, - 'ip_configurations': {'readonly': True}, - 'ip_configuration_profiles': {'readonly': True}, - 'purpose': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'address_prefix': {'key': 'properties.addressPrefix', 'type': 'str'}, - 'address_prefixes': {'key': 'properties.addressPrefixes', 'type': '[str]'}, - 'network_security_group': {'key': 'properties.networkSecurityGroup', 'type': 'NetworkSecurityGroup'}, - 'route_table': {'key': 'properties.routeTable', 'type': 'RouteTable'}, - 'nat_gateway': {'key': 'properties.natGateway', 'type': 'SubResource'}, - 'service_endpoints': {'key': 'properties.serviceEndpoints', 'type': '[ServiceEndpointPropertiesFormat]'}, - 'service_endpoint_policies': {'key': 'properties.serviceEndpointPolicies', 'type': '[ServiceEndpointPolicy]'}, - 'private_endpoints': {'key': 'properties.privateEndpoints', 'type': '[PrivateEndpoint]'}, - 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[IPConfiguration]'}, - 'ip_configuration_profiles': {'key': 'properties.ipConfigurationProfiles', 'type': '[IPConfigurationProfile]'}, - 'resource_navigation_links': {'key': 'properties.resourceNavigationLinks', 'type': '[ResourceNavigationLink]'}, - 'service_association_links': {'key': 'properties.serviceAssociationLinks', 'type': '[ServiceAssociationLink]'}, - 'delegations': {'key': 'properties.delegations', 'type': '[Delegation]'}, - 'purpose': {'key': 'properties.purpose', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'private_endpoint_network_policies': {'key': 'properties.privateEndpointNetworkPolicies', 'type': 'str'}, - 'private_link_service_network_policies': {'key': 'properties.privateLinkServiceNetworkPolicies', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, address_prefix: str=None, address_prefixes=None, network_security_group=None, route_table=None, nat_gateway=None, service_endpoints=None, service_endpoint_policies=None, resource_navigation_links=None, service_association_links=None, delegations=None, provisioning_state=None, private_endpoint_network_policies: str=None, private_link_service_network_policies: str=None, name: str=None, etag: str=None, **kwargs) -> None: - super(Subnet, self).__init__(id=id, **kwargs) - self.address_prefix = address_prefix - self.address_prefixes = address_prefixes - self.network_security_group = network_security_group - self.route_table = route_table - self.nat_gateway = nat_gateway - self.service_endpoints = service_endpoints - self.service_endpoint_policies = service_endpoint_policies - self.private_endpoints = None - self.ip_configurations = None - self.ip_configuration_profiles = None - self.resource_navigation_links = resource_navigation_links - self.service_association_links = service_association_links - self.delegations = delegations - self.purpose = None - self.provisioning_state = provisioning_state - self.private_endpoint_network_policies = private_endpoint_network_policies - self.private_link_service_network_policies = private_link_service_network_policies - self.name = name - self.etag = etag - - -class SubnetAssociation(Model): - """Subnet and it's custom security rules. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar id: Subnet ID. - :vartype id: str - :param security_rules: Collection of custom security rules. - :type security_rules: - list[~azure.mgmt.network.v2019_07_01.models.SecurityRule] - """ - - _validation = { - 'id': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'security_rules': {'key': 'securityRules', 'type': '[SecurityRule]'}, - } - - def __init__(self, *, security_rules=None, **kwargs) -> None: - super(SubnetAssociation, self).__init__(**kwargs) - self.id = None - self.security_rules = security_rules - - -class TagsObject(Model): - """Tags object for patch operations. - - :param tags: Resource tags. - :type tags: dict[str, str] - """ - - _attribute_map = { - 'tags': {'key': 'tags', 'type': '{str}'}, - } - - def __init__(self, *, tags=None, **kwargs) -> None: - super(TagsObject, self).__init__(**kwargs) - self.tags = tags - - -class Topology(Model): - """Topology of the specified resource group. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar id: GUID representing the operation id. - :vartype id: str - :ivar created_date_time: The datetime when the topology was initially - created for the resource group. - :vartype created_date_time: datetime - :ivar last_modified: The datetime when the topology was last modified. - :vartype last_modified: datetime - :param resources: A list of topology resources. - :type resources: - list[~azure.mgmt.network.v2019_07_01.models.TopologyResource] - """ - - _validation = { - 'id': {'readonly': True}, - 'created_date_time': {'readonly': True}, - 'last_modified': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'created_date_time': {'key': 'createdDateTime', 'type': 'iso-8601'}, - 'last_modified': {'key': 'lastModified', 'type': 'iso-8601'}, - 'resources': {'key': 'resources', 'type': '[TopologyResource]'}, - } - - def __init__(self, *, resources=None, **kwargs) -> None: - super(Topology, self).__init__(**kwargs) - self.id = None - self.created_date_time = None - self.last_modified = None - self.resources = resources - - -class TopologyAssociation(Model): - """Resources that have an association with the parent resource. - - :param name: The name of the resource that is associated with the parent - resource. - :type name: str - :param resource_id: The ID of the resource that is associated with the - parent resource. - :type resource_id: str - :param association_type: The association type of the child resource to the - parent resource. Possible values include: 'Associated', 'Contains' - :type association_type: str or - ~azure.mgmt.network.v2019_07_01.models.AssociationType - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'resource_id': {'key': 'resourceId', 'type': 'str'}, - 'association_type': {'key': 'associationType', 'type': 'str'}, - } - - def __init__(self, *, name: str=None, resource_id: str=None, association_type=None, **kwargs) -> None: - super(TopologyAssociation, self).__init__(**kwargs) - self.name = name - self.resource_id = resource_id - self.association_type = association_type - - -class TopologyParameters(Model): - """Parameters that define the representation of topology. - - :param target_resource_group_name: The name of the target resource group - to perform topology on. - :type target_resource_group_name: str - :param target_virtual_network: The reference of the Virtual Network - resource. - :type target_virtual_network: - ~azure.mgmt.network.v2019_07_01.models.SubResource - :param target_subnet: The reference of the Subnet resource. - :type target_subnet: ~azure.mgmt.network.v2019_07_01.models.SubResource - """ - - _attribute_map = { - 'target_resource_group_name': {'key': 'targetResourceGroupName', 'type': 'str'}, - 'target_virtual_network': {'key': 'targetVirtualNetwork', 'type': 'SubResource'}, - 'target_subnet': {'key': 'targetSubnet', 'type': 'SubResource'}, - } - - def __init__(self, *, target_resource_group_name: str=None, target_virtual_network=None, target_subnet=None, **kwargs) -> None: - super(TopologyParameters, self).__init__(**kwargs) - self.target_resource_group_name = target_resource_group_name - self.target_virtual_network = target_virtual_network - self.target_subnet = target_subnet - - -class TopologyResource(Model): - """The network resource topology information for the given resource group. - - :param name: Name of the resource. - :type name: str - :param id: ID of the resource. - :type id: str - :param location: Resource location. - :type location: str - :param associations: Holds the associations the resource has with other - resources in the resource group. - :type associations: - list[~azure.mgmt.network.v2019_07_01.models.TopologyAssociation] - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'id': {'key': 'id', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'associations': {'key': 'associations', 'type': '[TopologyAssociation]'}, - } - - def __init__(self, *, name: str=None, id: str=None, location: str=None, associations=None, **kwargs) -> None: - super(TopologyResource, self).__init__(**kwargs) - self.name = name - self.id = id - self.location = location - self.associations = associations - - -class TrafficAnalyticsConfigurationProperties(Model): - """Parameters that define the configuration of traffic analytics. - - All required parameters must be populated in order to send to Azure. - - :param enabled: Required. Flag to enable/disable traffic analytics. - :type enabled: bool - :param workspace_id: The resource guid of the attached workspace. - :type workspace_id: str - :param workspace_region: The location of the attached workspace. - :type workspace_region: str - :param workspace_resource_id: Resource Id of the attached workspace. - :type workspace_resource_id: str - :param traffic_analytics_interval: The interval in minutes which would - decide how frequently TA service should do flow analytics. - :type traffic_analytics_interval: int - """ - - _validation = { - 'enabled': {'required': True}, - } - - _attribute_map = { - 'enabled': {'key': 'enabled', 'type': 'bool'}, - 'workspace_id': {'key': 'workspaceId', 'type': 'str'}, - 'workspace_region': {'key': 'workspaceRegion', 'type': 'str'}, - 'workspace_resource_id': {'key': 'workspaceResourceId', 'type': 'str'}, - 'traffic_analytics_interval': {'key': 'trafficAnalyticsInterval', 'type': 'int'}, - } - - def __init__(self, *, enabled: bool, workspace_id: str=None, workspace_region: str=None, workspace_resource_id: str=None, traffic_analytics_interval: int=None, **kwargs) -> None: - super(TrafficAnalyticsConfigurationProperties, self).__init__(**kwargs) - self.enabled = enabled - self.workspace_id = workspace_id - self.workspace_region = workspace_region - self.workspace_resource_id = workspace_resource_id - self.traffic_analytics_interval = traffic_analytics_interval - - -class TrafficAnalyticsProperties(Model): - """Parameters that define the configuration of traffic analytics. - - All required parameters must be populated in order to send to Azure. - - :param network_watcher_flow_analytics_configuration: Required. Parameters - that define the configuration of traffic analytics. - :type network_watcher_flow_analytics_configuration: - ~azure.mgmt.network.v2019_07_01.models.TrafficAnalyticsConfigurationProperties - """ - - _validation = { - 'network_watcher_flow_analytics_configuration': {'required': True}, - } - - _attribute_map = { - 'network_watcher_flow_analytics_configuration': {'key': 'networkWatcherFlowAnalyticsConfiguration', 'type': 'TrafficAnalyticsConfigurationProperties'}, - } - - def __init__(self, *, network_watcher_flow_analytics_configuration, **kwargs) -> None: - super(TrafficAnalyticsProperties, self).__init__(**kwargs) - self.network_watcher_flow_analytics_configuration = network_watcher_flow_analytics_configuration - - -class TrafficSelectorPolicy(Model): - """An traffic selector policy for a virtual network gateway connection. - - All required parameters must be populated in order to send to Azure. - - :param local_address_ranges: Required. A collection of local address - spaces in CIDR format - :type local_address_ranges: list[str] - :param remote_address_ranges: Required. A collection of remote address - spaces in CIDR format - :type remote_address_ranges: list[str] - """ - - _validation = { - 'local_address_ranges': {'required': True}, - 'remote_address_ranges': {'required': True}, - } - - _attribute_map = { - 'local_address_ranges': {'key': 'localAddressRanges', 'type': '[str]'}, - 'remote_address_ranges': {'key': 'remoteAddressRanges', 'type': '[str]'}, - } - - def __init__(self, *, local_address_ranges, remote_address_ranges, **kwargs) -> None: - super(TrafficSelectorPolicy, self).__init__(**kwargs) - self.local_address_ranges = local_address_ranges - self.remote_address_ranges = remote_address_ranges - - -class TroubleshootingDetails(Model): - """Information gained from troubleshooting of specified resource. - - :param id: The id of the get troubleshoot operation. - :type id: str - :param reason_type: Reason type of failure. - :type reason_type: str - :param summary: A summary of troubleshooting. - :type summary: str - :param detail: Details on troubleshooting results. - :type detail: str - :param recommended_actions: List of recommended actions. - :type recommended_actions: - list[~azure.mgmt.network.v2019_07_01.models.TroubleshootingRecommendedActions] - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'reason_type': {'key': 'reasonType', 'type': 'str'}, - 'summary': {'key': 'summary', 'type': 'str'}, - 'detail': {'key': 'detail', 'type': 'str'}, - 'recommended_actions': {'key': 'recommendedActions', 'type': '[TroubleshootingRecommendedActions]'}, - } - - def __init__(self, *, id: str=None, reason_type: str=None, summary: str=None, detail: str=None, recommended_actions=None, **kwargs) -> None: - super(TroubleshootingDetails, self).__init__(**kwargs) - self.id = id - self.reason_type = reason_type - self.summary = summary - self.detail = detail - self.recommended_actions = recommended_actions - - -class TroubleshootingParameters(Model): - """Parameters that define the resource to troubleshoot. - - All required parameters must be populated in order to send to Azure. - - :param target_resource_id: Required. The target resource to troubleshoot. - :type target_resource_id: str - :param storage_id: Required. The ID for the storage account to save the - troubleshoot result. - :type storage_id: str - :param storage_path: Required. The path to the blob to save the - troubleshoot result in. - :type storage_path: str - """ - - _validation = { - 'target_resource_id': {'required': True}, - 'storage_id': {'required': True}, - 'storage_path': {'required': True}, - } - - _attribute_map = { - 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, - 'storage_id': {'key': 'properties.storageId', 'type': 'str'}, - 'storage_path': {'key': 'properties.storagePath', 'type': 'str'}, - } - - def __init__(self, *, target_resource_id: str, storage_id: str, storage_path: str, **kwargs) -> None: - super(TroubleshootingParameters, self).__init__(**kwargs) - self.target_resource_id = target_resource_id - self.storage_id = storage_id - self.storage_path = storage_path - - -class TroubleshootingRecommendedActions(Model): - """Recommended actions based on discovered issues. - - :param action_id: ID of the recommended action. - :type action_id: str - :param action_text: Description of recommended actions. - :type action_text: str - :param action_uri: The uri linking to a documentation for the recommended - troubleshooting actions. - :type action_uri: str - :param action_uri_text: The information from the URI for the recommended - troubleshooting actions. - :type action_uri_text: str - """ - - _attribute_map = { - 'action_id': {'key': 'actionId', 'type': 'str'}, - 'action_text': {'key': 'actionText', 'type': 'str'}, - 'action_uri': {'key': 'actionUri', 'type': 'str'}, - 'action_uri_text': {'key': 'actionUriText', 'type': 'str'}, - } - - def __init__(self, *, action_id: str=None, action_text: str=None, action_uri: str=None, action_uri_text: str=None, **kwargs) -> None: - super(TroubleshootingRecommendedActions, self).__init__(**kwargs) - self.action_id = action_id - self.action_text = action_text - self.action_uri = action_uri - self.action_uri_text = action_uri_text - - -class TroubleshootingResult(Model): - """Troubleshooting information gained from specified resource. - - :param start_time: The start time of the troubleshooting. - :type start_time: datetime - :param end_time: The end time of the troubleshooting. - :type end_time: datetime - :param code: The result code of the troubleshooting. - :type code: str - :param results: Information from troubleshooting. - :type results: - list[~azure.mgmt.network.v2019_07_01.models.TroubleshootingDetails] - """ - - _attribute_map = { - 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, - 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, - 'code': {'key': 'code', 'type': 'str'}, - 'results': {'key': 'results', 'type': '[TroubleshootingDetails]'}, - } - - def __init__(self, *, start_time=None, end_time=None, code: str=None, results=None, **kwargs) -> None: - super(TroubleshootingResult, self).__init__(**kwargs) - self.start_time = start_time - self.end_time = end_time - self.code = code - self.results = results - - -class TunnelConnectionHealth(Model): - """VirtualNetworkGatewayConnection properties. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar tunnel: Tunnel name. - :vartype tunnel: str - :ivar connection_status: Virtual Network Gateway connection status. - Possible values include: 'Unknown', 'Connecting', 'Connected', - 'NotConnected' - :vartype connection_status: str or - ~azure.mgmt.network.v2019_07_01.models.VirtualNetworkGatewayConnectionStatus - :ivar ingress_bytes_transferred: The Ingress Bytes Transferred in this - connection. - :vartype ingress_bytes_transferred: long - :ivar egress_bytes_transferred: The Egress Bytes Transferred in this - connection. - :vartype egress_bytes_transferred: long - :ivar last_connection_established_utc_time: The time at which connection - was established in Utc format. - :vartype last_connection_established_utc_time: str - """ - - _validation = { - 'tunnel': {'readonly': True}, - 'connection_status': {'readonly': True}, - 'ingress_bytes_transferred': {'readonly': True}, - 'egress_bytes_transferred': {'readonly': True}, - 'last_connection_established_utc_time': {'readonly': True}, - } - - _attribute_map = { - 'tunnel': {'key': 'tunnel', 'type': 'str'}, - 'connection_status': {'key': 'connectionStatus', 'type': 'str'}, - 'ingress_bytes_transferred': {'key': 'ingressBytesTransferred', 'type': 'long'}, - 'egress_bytes_transferred': {'key': 'egressBytesTransferred', 'type': 'long'}, - 'last_connection_established_utc_time': {'key': 'lastConnectionEstablishedUtcTime', 'type': 'str'}, - } - - def __init__(self, **kwargs) -> None: - super(TunnelConnectionHealth, self).__init__(**kwargs) - self.tunnel = None - self.connection_status = None - self.ingress_bytes_transferred = None - self.egress_bytes_transferred = None - self.last_connection_established_utc_time = None - - -class UnprepareNetworkPoliciesRequest(Model): - """Details of UnprepareNetworkPolicies for Subnet. - - :param service_name: The name of the service for which subnet is being - unprepared for. - :type service_name: str - """ - - _attribute_map = { - 'service_name': {'key': 'serviceName', 'type': 'str'}, - } - - def __init__(self, *, service_name: str=None, **kwargs) -> None: - super(UnprepareNetworkPoliciesRequest, self).__init__(**kwargs) - self.service_name = service_name - - -class Usage(Model): - """Describes network resource usage. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :ivar id: Resource identifier. - :vartype id: str - :ivar unit: Required. An enum describing the unit of measurement. Default - value: "Count" . - :vartype unit: str - :param current_value: Required. The current value of the usage. - :type current_value: long - :param limit: Required. The limit of usage. - :type limit: long - :param name: Required. The name of the type of usage. - :type name: ~azure.mgmt.network.v2019_07_01.models.UsageName - """ - - _validation = { - 'id': {'readonly': True}, - 'unit': {'required': True, 'constant': True}, - 'current_value': {'required': True}, - 'limit': {'required': True}, - 'name': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'unit': {'key': 'unit', 'type': 'str'}, - 'current_value': {'key': 'currentValue', 'type': 'long'}, - 'limit': {'key': 'limit', 'type': 'long'}, - 'name': {'key': 'name', 'type': 'UsageName'}, - } - - unit = "Count" - - def __init__(self, *, current_value: int, limit: int, name, **kwargs) -> None: - super(Usage, self).__init__(**kwargs) - self.id = None - self.current_value = current_value - self.limit = limit - self.name = name - - -class UsageName(Model): - """The usage names. - - :param value: A string describing the resource name. - :type value: str - :param localized_value: A localized string describing the resource name. - :type localized_value: str - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': 'str'}, - 'localized_value': {'key': 'localizedValue', 'type': 'str'}, - } - - def __init__(self, *, value: str=None, localized_value: str=None, **kwargs) -> None: - super(UsageName, self).__init__(**kwargs) - self.value = value - self.localized_value = localized_value - - -class VerificationIPFlowParameters(Model): - """Parameters that define the IP flow to be verified. - - All required parameters must be populated in order to send to Azure. - - :param target_resource_id: Required. The ID of the target resource to - perform next-hop on. - :type target_resource_id: str - :param direction: Required. The direction of the packet represented as a - 5-tuple. Possible values include: 'Inbound', 'Outbound' - :type direction: str or ~azure.mgmt.network.v2019_07_01.models.Direction - :param protocol: Required. Protocol to be verified on. Possible values - include: 'TCP', 'UDP' - :type protocol: str or - ~azure.mgmt.network.v2019_07_01.models.IpFlowProtocol - :param local_port: Required. The local port. Acceptable values are a - single integer in the range (0-65535). Support for * for the source port, - which depends on the direction. - :type local_port: str - :param remote_port: Required. The remote port. Acceptable values are a - single integer in the range (0-65535). Support for * for the source port, - which depends on the direction. - :type remote_port: str - :param local_ip_address: Required. The local IP address. Acceptable values - are valid IPv4 addresses. - :type local_ip_address: str - :param remote_ip_address: Required. The remote IP address. Acceptable - values are valid IPv4 addresses. - :type remote_ip_address: str - :param target_nic_resource_id: The NIC ID. (If VM has multiple NICs and IP - forwarding is enabled on any of them, then this parameter must be - specified. Otherwise optional). - :type target_nic_resource_id: str - """ - - _validation = { - 'target_resource_id': {'required': True}, - 'direction': {'required': True}, - 'protocol': {'required': True}, - 'local_port': {'required': True}, - 'remote_port': {'required': True}, - 'local_ip_address': {'required': True}, - 'remote_ip_address': {'required': True}, - } - - _attribute_map = { - 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, - 'direction': {'key': 'direction', 'type': 'str'}, - 'protocol': {'key': 'protocol', 'type': 'str'}, - 'local_port': {'key': 'localPort', 'type': 'str'}, - 'remote_port': {'key': 'remotePort', 'type': 'str'}, - 'local_ip_address': {'key': 'localIPAddress', 'type': 'str'}, - 'remote_ip_address': {'key': 'remoteIPAddress', 'type': 'str'}, - 'target_nic_resource_id': {'key': 'targetNicResourceId', 'type': 'str'}, - } - - def __init__(self, *, target_resource_id: str, direction, protocol, local_port: str, remote_port: str, local_ip_address: str, remote_ip_address: str, target_nic_resource_id: str=None, **kwargs) -> None: - super(VerificationIPFlowParameters, self).__init__(**kwargs) - self.target_resource_id = target_resource_id - self.direction = direction - self.protocol = protocol - self.local_port = local_port - self.remote_port = remote_port - self.local_ip_address = local_ip_address - self.remote_ip_address = remote_ip_address - self.target_nic_resource_id = target_nic_resource_id - - -class VerificationIPFlowResult(Model): - """Results of IP flow verification on the target resource. - - :param access: Indicates whether the traffic is allowed or denied. - Possible values include: 'Allow', 'Deny' - :type access: str or ~azure.mgmt.network.v2019_07_01.models.Access - :param rule_name: Name of the rule. If input is not matched against any - security rule, it is not displayed. - :type rule_name: str - """ - - _attribute_map = { - 'access': {'key': 'access', 'type': 'str'}, - 'rule_name': {'key': 'ruleName', 'type': 'str'}, - } - - def __init__(self, *, access=None, rule_name: str=None, **kwargs) -> None: - super(VerificationIPFlowResult, self).__init__(**kwargs) - self.access = access - self.rule_name = rule_name - - -class VirtualHub(Resource): - """VirtualHub Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param virtual_wan: The VirtualWAN to which the VirtualHub belongs. - :type virtual_wan: ~azure.mgmt.network.v2019_07_01.models.SubResource - :param vpn_gateway: The VpnGateway associated with this VirtualHub. - :type vpn_gateway: ~azure.mgmt.network.v2019_07_01.models.SubResource - :param p2_svpn_gateway: The P2SVpnGateway associated with this VirtualHub. - :type p2_svpn_gateway: ~azure.mgmt.network.v2019_07_01.models.SubResource - :param express_route_gateway: The expressRouteGateway associated with this - VirtualHub. - :type express_route_gateway: - ~azure.mgmt.network.v2019_07_01.models.SubResource - :param virtual_network_connections: List of all vnet connections with this - VirtualHub. - :type virtual_network_connections: - list[~azure.mgmt.network.v2019_07_01.models.HubVirtualNetworkConnection] - :param address_prefix: Address-prefix for this VirtualHub. - :type address_prefix: str - :param route_table: The routeTable associated with this virtual hub. - :type route_table: - ~azure.mgmt.network.v2019_07_01.models.VirtualHubRouteTable - :param provisioning_state: The provisioning state of the virtual hub - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'virtual_wan': {'key': 'properties.virtualWan', 'type': 'SubResource'}, - 'vpn_gateway': {'key': 'properties.vpnGateway', 'type': 'SubResource'}, - 'p2_svpn_gateway': {'key': 'properties.p2SVpnGateway', 'type': 'SubResource'}, - 'express_route_gateway': {'key': 'properties.expressRouteGateway', 'type': 'SubResource'}, - 'virtual_network_connections': {'key': 'properties.virtualNetworkConnections', 'type': '[HubVirtualNetworkConnection]'}, - 'address_prefix': {'key': 'properties.addressPrefix', 'type': 'str'}, - 'route_table': {'key': 'properties.routeTable', 'type': 'VirtualHubRouteTable'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, virtual_wan=None, vpn_gateway=None, p2_svpn_gateway=None, express_route_gateway=None, virtual_network_connections=None, address_prefix: str=None, route_table=None, provisioning_state=None, **kwargs) -> None: - super(VirtualHub, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.virtual_wan = virtual_wan - self.vpn_gateway = vpn_gateway - self.p2_svpn_gateway = p2_svpn_gateway - self.express_route_gateway = express_route_gateway - self.virtual_network_connections = virtual_network_connections - self.address_prefix = address_prefix - self.route_table = route_table - self.provisioning_state = provisioning_state - self.etag = None - - -class VirtualHubId(Model): - """Virtual Hub identifier. - - :param id: The resource URI for the Virtual Hub where the ExpressRoute - gateway is or will be deployed. The Virtual Hub resource and the - ExpressRoute gateway resource reside in the same subscription. - :type id: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, **kwargs) -> None: - super(VirtualHubId, self).__init__(**kwargs) - self.id = id - - -class VirtualHubRoute(Model): - """VirtualHub route. - - :param address_prefixes: List of all addressPrefixes. - :type address_prefixes: list[str] - :param next_hop_ip_address: NextHop ip address. - :type next_hop_ip_address: str - """ - - _attribute_map = { - 'address_prefixes': {'key': 'addressPrefixes', 'type': '[str]'}, - 'next_hop_ip_address': {'key': 'nextHopIpAddress', 'type': 'str'}, - } - - def __init__(self, *, address_prefixes=None, next_hop_ip_address: str=None, **kwargs) -> None: - super(VirtualHubRoute, self).__init__(**kwargs) - self.address_prefixes = address_prefixes - self.next_hop_ip_address = next_hop_ip_address - - -class VirtualHubRouteTable(Model): - """VirtualHub route table. - - :param routes: List of all routes. - :type routes: list[~azure.mgmt.network.v2019_07_01.models.VirtualHubRoute] - """ - - _attribute_map = { - 'routes': {'key': 'routes', 'type': '[VirtualHubRoute]'}, - } - - def __init__(self, *, routes=None, **kwargs) -> None: - super(VirtualHubRouteTable, self).__init__(**kwargs) - self.routes = routes - - -class VirtualNetwork(Resource): - """Virtual Network resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param address_space: The AddressSpace that contains an array of IP - address ranges that can be used by subnets. - :type address_space: ~azure.mgmt.network.v2019_07_01.models.AddressSpace - :param dhcp_options: The dhcpOptions that contains an array of DNS servers - available to VMs deployed in the virtual network. - :type dhcp_options: ~azure.mgmt.network.v2019_07_01.models.DhcpOptions - :param subnets: A list of subnets in a Virtual Network. - :type subnets: list[~azure.mgmt.network.v2019_07_01.models.Subnet] - :param virtual_network_peerings: A list of peerings in a Virtual Network. - :type virtual_network_peerings: - list[~azure.mgmt.network.v2019_07_01.models.VirtualNetworkPeering] - :param resource_guid: The resourceGuid property of the Virtual Network - resource. - :type resource_guid: str - :param provisioning_state: The provisioning state of the virtual network - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param enable_ddos_protection: Indicates if DDoS protection is enabled for - all the protected resources in the virtual network. It requires a DDoS - protection plan associated with the resource. Default value: False . - :type enable_ddos_protection: bool - :param enable_vm_protection: Indicates if VM protection is enabled for all - the subnets in the virtual network. Default value: False . - :type enable_vm_protection: bool - :param ddos_protection_plan: The DDoS protection plan associated with the - virtual network. - :type ddos_protection_plan: - ~azure.mgmt.network.v2019_07_01.models.SubResource - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'address_space': {'key': 'properties.addressSpace', 'type': 'AddressSpace'}, - 'dhcp_options': {'key': 'properties.dhcpOptions', 'type': 'DhcpOptions'}, - 'subnets': {'key': 'properties.subnets', 'type': '[Subnet]'}, - 'virtual_network_peerings': {'key': 'properties.virtualNetworkPeerings', 'type': '[VirtualNetworkPeering]'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'enable_ddos_protection': {'key': 'properties.enableDdosProtection', 'type': 'bool'}, - 'enable_vm_protection': {'key': 'properties.enableVmProtection', 'type': 'bool'}, - 'ddos_protection_plan': {'key': 'properties.ddosProtectionPlan', 'type': 'SubResource'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, address_space=None, dhcp_options=None, subnets=None, virtual_network_peerings=None, resource_guid: str=None, provisioning_state=None, enable_ddos_protection: bool=False, enable_vm_protection: bool=False, ddos_protection_plan=None, etag: str=None, **kwargs) -> None: - super(VirtualNetwork, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.address_space = address_space - self.dhcp_options = dhcp_options - self.subnets = subnets - self.virtual_network_peerings = virtual_network_peerings - self.resource_guid = resource_guid - self.provisioning_state = provisioning_state - self.enable_ddos_protection = enable_ddos_protection - self.enable_vm_protection = enable_vm_protection - self.ddos_protection_plan = ddos_protection_plan - self.etag = etag - - -class VirtualNetworkConnectionGatewayReference(Model): - """A reference to VirtualNetworkGateway or LocalNetworkGateway resource. - - All required parameters must be populated in order to send to Azure. - - :param id: Required. The ID of VirtualNetworkGateway or - LocalNetworkGateway resource. - :type id: str - """ - - _validation = { - 'id': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - } - - def __init__(self, *, id: str, **kwargs) -> None: - super(VirtualNetworkConnectionGatewayReference, self).__init__(**kwargs) - self.id = id - - -class VirtualNetworkGateway(Resource): - """A common class for general resource information. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param ip_configurations: IP configurations for virtual network gateway. - :type ip_configurations: - list[~azure.mgmt.network.v2019_07_01.models.VirtualNetworkGatewayIPConfiguration] - :param gateway_type: The type of this virtual network gateway. Possible - values include: 'Vpn', 'ExpressRoute' - :type gateway_type: str or - ~azure.mgmt.network.v2019_07_01.models.VirtualNetworkGatewayType - :param vpn_type: The type of this virtual network gateway. Possible values - include: 'PolicyBased', 'RouteBased' - :type vpn_type: str or ~azure.mgmt.network.v2019_07_01.models.VpnType - :param vpn_gateway_generation: The generation for this - VirtualNetworkGateway. Must be None if gatewayType is not VPN. Possible - values include: 'None', 'Generation1', 'Generation2' - :type vpn_gateway_generation: str or - ~azure.mgmt.network.v2019_07_01.models.VpnGatewayGeneration - :param enable_bgp: Whether BGP is enabled for this virtual network gateway - or not. - :type enable_bgp: bool - :param active_active: ActiveActive flag. - :type active_active: bool - :param gateway_default_site: The reference of the LocalNetworkGateway - resource which represents local network site having default routes. Assign - Null value in case of removing existing default site setting. - :type gateway_default_site: - ~azure.mgmt.network.v2019_07_01.models.SubResource - :param sku: The reference of the VirtualNetworkGatewaySku resource which - represents the SKU selected for Virtual network gateway. - :type sku: ~azure.mgmt.network.v2019_07_01.models.VirtualNetworkGatewaySku - :param vpn_client_configuration: The reference of the - VpnClientConfiguration resource which represents the P2S VpnClient - configurations. - :type vpn_client_configuration: - ~azure.mgmt.network.v2019_07_01.models.VpnClientConfiguration - :param bgp_settings: Virtual network gateway's BGP speaker settings. - :type bgp_settings: ~azure.mgmt.network.v2019_07_01.models.BgpSettings - :param custom_routes: The reference of the address space resource which - represents the custom routes address space specified by the customer for - virtual network gateway and VpnClient. - :type custom_routes: ~azure.mgmt.network.v2019_07_01.models.AddressSpace - :param resource_guid: The resource GUID property of the virtual network - gateway resource. - :type resource_guid: str - :ivar provisioning_state: The provisioning state of the virtual network - gateway resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[VirtualNetworkGatewayIPConfiguration]'}, - 'gateway_type': {'key': 'properties.gatewayType', 'type': 'str'}, - 'vpn_type': {'key': 'properties.vpnType', 'type': 'str'}, - 'vpn_gateway_generation': {'key': 'properties.vpnGatewayGeneration', 'type': 'str'}, - 'enable_bgp': {'key': 'properties.enableBgp', 'type': 'bool'}, - 'active_active': {'key': 'properties.activeActive', 'type': 'bool'}, - 'gateway_default_site': {'key': 'properties.gatewayDefaultSite', 'type': 'SubResource'}, - 'sku': {'key': 'properties.sku', 'type': 'VirtualNetworkGatewaySku'}, - 'vpn_client_configuration': {'key': 'properties.vpnClientConfiguration', 'type': 'VpnClientConfiguration'}, - 'bgp_settings': {'key': 'properties.bgpSettings', 'type': 'BgpSettings'}, - 'custom_routes': {'key': 'properties.customRoutes', 'type': 'AddressSpace'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, ip_configurations=None, gateway_type=None, vpn_type=None, vpn_gateway_generation=None, enable_bgp: bool=None, active_active: bool=None, gateway_default_site=None, sku=None, vpn_client_configuration=None, bgp_settings=None, custom_routes=None, resource_guid: str=None, etag: str=None, **kwargs) -> None: - super(VirtualNetworkGateway, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.ip_configurations = ip_configurations - self.gateway_type = gateway_type - self.vpn_type = vpn_type - self.vpn_gateway_generation = vpn_gateway_generation - self.enable_bgp = enable_bgp - self.active_active = active_active - self.gateway_default_site = gateway_default_site - self.sku = sku - self.vpn_client_configuration = vpn_client_configuration - self.bgp_settings = bgp_settings - self.custom_routes = custom_routes - self.resource_guid = resource_guid - self.provisioning_state = None - self.etag = etag - - -class VirtualNetworkGatewayConnection(Resource): - """A common class for general resource information. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param authorization_key: The authorizationKey. - :type authorization_key: str - :param virtual_network_gateway1: Required. The reference to virtual - network gateway resource. - :type virtual_network_gateway1: - ~azure.mgmt.network.v2019_07_01.models.VirtualNetworkGateway - :param virtual_network_gateway2: The reference to virtual network gateway - resource. - :type virtual_network_gateway2: - ~azure.mgmt.network.v2019_07_01.models.VirtualNetworkGateway - :param local_network_gateway2: The reference to local network gateway - resource. - :type local_network_gateway2: - ~azure.mgmt.network.v2019_07_01.models.LocalNetworkGateway - :param connection_type: Required. Gateway connection type. Possible values - include: 'IPsec', 'Vnet2Vnet', 'ExpressRoute', 'VPNClient' - :type connection_type: str or - ~azure.mgmt.network.v2019_07_01.models.VirtualNetworkGatewayConnectionType - :param connection_protocol: Connection protocol used for this connection. - Possible values include: 'IKEv2', 'IKEv1' - :type connection_protocol: str or - ~azure.mgmt.network.v2019_07_01.models.VirtualNetworkGatewayConnectionProtocol - :param routing_weight: The routing weight. - :type routing_weight: int - :param shared_key: The IPSec shared key. - :type shared_key: str - :ivar connection_status: Virtual Network Gateway connection status. - Possible values include: 'Unknown', 'Connecting', 'Connected', - 'NotConnected' - :vartype connection_status: str or - ~azure.mgmt.network.v2019_07_01.models.VirtualNetworkGatewayConnectionStatus - :ivar tunnel_connection_status: Collection of all tunnels' connection - health status. - :vartype tunnel_connection_status: - list[~azure.mgmt.network.v2019_07_01.models.TunnelConnectionHealth] - :ivar egress_bytes_transferred: The egress bytes transferred in this - connection. - :vartype egress_bytes_transferred: long - :ivar ingress_bytes_transferred: The ingress bytes transferred in this - connection. - :vartype ingress_bytes_transferred: long - :param peer: The reference to peerings resource. - :type peer: ~azure.mgmt.network.v2019_07_01.models.SubResource - :param enable_bgp: EnableBgp flag. - :type enable_bgp: bool - :param use_policy_based_traffic_selectors: Enable policy-based traffic - selectors. - :type use_policy_based_traffic_selectors: bool - :param ipsec_policies: The IPSec Policies to be considered by this - connection. - :type ipsec_policies: - list[~azure.mgmt.network.v2019_07_01.models.IpsecPolicy] - :param traffic_selector_policies: The Traffic Selector Policies to be - considered by this connection. - :type traffic_selector_policies: - list[~azure.mgmt.network.v2019_07_01.models.TrafficSelectorPolicy] - :param resource_guid: The resource GUID property of the virtual network - gateway connection resource. - :type resource_guid: str - :ivar provisioning_state: The provisioning state of the virtual network - gateway connection resource. Possible values include: 'Succeeded', - 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param express_route_gateway_bypass: Bypass ExpressRoute Gateway for data - forwarding. - :type express_route_gateway_bypass: bool - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'virtual_network_gateway1': {'required': True}, - 'connection_type': {'required': True}, - 'connection_status': {'readonly': True}, - 'tunnel_connection_status': {'readonly': True}, - 'egress_bytes_transferred': {'readonly': True}, - 'ingress_bytes_transferred': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'authorization_key': {'key': 'properties.authorizationKey', 'type': 'str'}, - 'virtual_network_gateway1': {'key': 'properties.virtualNetworkGateway1', 'type': 'VirtualNetworkGateway'}, - 'virtual_network_gateway2': {'key': 'properties.virtualNetworkGateway2', 'type': 'VirtualNetworkGateway'}, - 'local_network_gateway2': {'key': 'properties.localNetworkGateway2', 'type': 'LocalNetworkGateway'}, - 'connection_type': {'key': 'properties.connectionType', 'type': 'str'}, - 'connection_protocol': {'key': 'properties.connectionProtocol', 'type': 'str'}, - 'routing_weight': {'key': 'properties.routingWeight', 'type': 'int'}, - 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, - 'connection_status': {'key': 'properties.connectionStatus', 'type': 'str'}, - 'tunnel_connection_status': {'key': 'properties.tunnelConnectionStatus', 'type': '[TunnelConnectionHealth]'}, - 'egress_bytes_transferred': {'key': 'properties.egressBytesTransferred', 'type': 'long'}, - 'ingress_bytes_transferred': {'key': 'properties.ingressBytesTransferred', 'type': 'long'}, - 'peer': {'key': 'properties.peer', 'type': 'SubResource'}, - 'enable_bgp': {'key': 'properties.enableBgp', 'type': 'bool'}, - 'use_policy_based_traffic_selectors': {'key': 'properties.usePolicyBasedTrafficSelectors', 'type': 'bool'}, - 'ipsec_policies': {'key': 'properties.ipsecPolicies', 'type': '[IpsecPolicy]'}, - 'traffic_selector_policies': {'key': 'properties.trafficSelectorPolicies', 'type': '[TrafficSelectorPolicy]'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'express_route_gateway_bypass': {'key': 'properties.expressRouteGatewayBypass', 'type': 'bool'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, virtual_network_gateway1, connection_type, id: str=None, location: str=None, tags=None, authorization_key: str=None, virtual_network_gateway2=None, local_network_gateway2=None, connection_protocol=None, routing_weight: int=None, shared_key: str=None, peer=None, enable_bgp: bool=None, use_policy_based_traffic_selectors: bool=None, ipsec_policies=None, traffic_selector_policies=None, resource_guid: str=None, express_route_gateway_bypass: bool=None, etag: str=None, **kwargs) -> None: - super(VirtualNetworkGatewayConnection, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.authorization_key = authorization_key - self.virtual_network_gateway1 = virtual_network_gateway1 - self.virtual_network_gateway2 = virtual_network_gateway2 - self.local_network_gateway2 = local_network_gateway2 - self.connection_type = connection_type - self.connection_protocol = connection_protocol - self.routing_weight = routing_weight - self.shared_key = shared_key - self.connection_status = None - self.tunnel_connection_status = None - self.egress_bytes_transferred = None - self.ingress_bytes_transferred = None - self.peer = peer - self.enable_bgp = enable_bgp - self.use_policy_based_traffic_selectors = use_policy_based_traffic_selectors - self.ipsec_policies = ipsec_policies - self.traffic_selector_policies = traffic_selector_policies - self.resource_guid = resource_guid - self.provisioning_state = None - self.express_route_gateway_bypass = express_route_gateway_bypass - self.etag = etag - - -class VirtualNetworkGatewayConnectionListEntity(Resource): - """A common class for general resource information. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param authorization_key: The authorizationKey. - :type authorization_key: str - :param virtual_network_gateway1: Required. The reference to virtual - network gateway resource. - :type virtual_network_gateway1: - ~azure.mgmt.network.v2019_07_01.models.VirtualNetworkConnectionGatewayReference - :param virtual_network_gateway2: The reference to virtual network gateway - resource. - :type virtual_network_gateway2: - ~azure.mgmt.network.v2019_07_01.models.VirtualNetworkConnectionGatewayReference - :param local_network_gateway2: The reference to local network gateway - resource. - :type local_network_gateway2: - ~azure.mgmt.network.v2019_07_01.models.VirtualNetworkConnectionGatewayReference - :param connection_type: Required. Gateway connection type. Possible values - include: 'IPsec', 'Vnet2Vnet', 'ExpressRoute', 'VPNClient' - :type connection_type: str or - ~azure.mgmt.network.v2019_07_01.models.VirtualNetworkGatewayConnectionType - :param connection_protocol: Connection protocol used for this connection. - Possible values include: 'IKEv2', 'IKEv1' - :type connection_protocol: str or - ~azure.mgmt.network.v2019_07_01.models.VirtualNetworkGatewayConnectionProtocol - :param routing_weight: The routing weight. - :type routing_weight: int - :param shared_key: The IPSec shared key. - :type shared_key: str - :ivar connection_status: Virtual Network Gateway connection status. - Possible values include: 'Unknown', 'Connecting', 'Connected', - 'NotConnected' - :vartype connection_status: str or - ~azure.mgmt.network.v2019_07_01.models.VirtualNetworkGatewayConnectionStatus - :ivar tunnel_connection_status: Collection of all tunnels' connection - health status. - :vartype tunnel_connection_status: - list[~azure.mgmt.network.v2019_07_01.models.TunnelConnectionHealth] - :ivar egress_bytes_transferred: The egress bytes transferred in this - connection. - :vartype egress_bytes_transferred: long - :ivar ingress_bytes_transferred: The ingress bytes transferred in this - connection. - :vartype ingress_bytes_transferred: long - :param peer: The reference to peerings resource. - :type peer: ~azure.mgmt.network.v2019_07_01.models.SubResource - :param enable_bgp: EnableBgp flag. - :type enable_bgp: bool - :param use_policy_based_traffic_selectors: Enable policy-based traffic - selectors. - :type use_policy_based_traffic_selectors: bool - :param ipsec_policies: The IPSec Policies to be considered by this - connection. - :type ipsec_policies: - list[~azure.mgmt.network.v2019_07_01.models.IpsecPolicy] - :param traffic_selector_policies: The Traffic Selector Policies to be - considered by this connection. - :type traffic_selector_policies: - list[~azure.mgmt.network.v2019_07_01.models.TrafficSelectorPolicy] - :param resource_guid: The resource GUID property of the virtual network - gateway connection resource. - :type resource_guid: str - :ivar provisioning_state: The provisioning state of the virtual network - gateway connection resource. Possible values include: 'Succeeded', - 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param express_route_gateway_bypass: Bypass ExpressRoute Gateway for data - forwarding. - :type express_route_gateway_bypass: bool - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'virtual_network_gateway1': {'required': True}, - 'connection_type': {'required': True}, - 'connection_status': {'readonly': True}, - 'tunnel_connection_status': {'readonly': True}, - 'egress_bytes_transferred': {'readonly': True}, - 'ingress_bytes_transferred': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'authorization_key': {'key': 'properties.authorizationKey', 'type': 'str'}, - 'virtual_network_gateway1': {'key': 'properties.virtualNetworkGateway1', 'type': 'VirtualNetworkConnectionGatewayReference'}, - 'virtual_network_gateway2': {'key': 'properties.virtualNetworkGateway2', 'type': 'VirtualNetworkConnectionGatewayReference'}, - 'local_network_gateway2': {'key': 'properties.localNetworkGateway2', 'type': 'VirtualNetworkConnectionGatewayReference'}, - 'connection_type': {'key': 'properties.connectionType', 'type': 'str'}, - 'connection_protocol': {'key': 'properties.connectionProtocol', 'type': 'str'}, - 'routing_weight': {'key': 'properties.routingWeight', 'type': 'int'}, - 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, - 'connection_status': {'key': 'properties.connectionStatus', 'type': 'str'}, - 'tunnel_connection_status': {'key': 'properties.tunnelConnectionStatus', 'type': '[TunnelConnectionHealth]'}, - 'egress_bytes_transferred': {'key': 'properties.egressBytesTransferred', 'type': 'long'}, - 'ingress_bytes_transferred': {'key': 'properties.ingressBytesTransferred', 'type': 'long'}, - 'peer': {'key': 'properties.peer', 'type': 'SubResource'}, - 'enable_bgp': {'key': 'properties.enableBgp', 'type': 'bool'}, - 'use_policy_based_traffic_selectors': {'key': 'properties.usePolicyBasedTrafficSelectors', 'type': 'bool'}, - 'ipsec_policies': {'key': 'properties.ipsecPolicies', 'type': '[IpsecPolicy]'}, - 'traffic_selector_policies': {'key': 'properties.trafficSelectorPolicies', 'type': '[TrafficSelectorPolicy]'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'express_route_gateway_bypass': {'key': 'properties.expressRouteGatewayBypass', 'type': 'bool'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, virtual_network_gateway1, connection_type, id: str=None, location: str=None, tags=None, authorization_key: str=None, virtual_network_gateway2=None, local_network_gateway2=None, connection_protocol=None, routing_weight: int=None, shared_key: str=None, peer=None, enable_bgp: bool=None, use_policy_based_traffic_selectors: bool=None, ipsec_policies=None, traffic_selector_policies=None, resource_guid: str=None, express_route_gateway_bypass: bool=None, etag: str=None, **kwargs) -> None: - super(VirtualNetworkGatewayConnectionListEntity, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.authorization_key = authorization_key - self.virtual_network_gateway1 = virtual_network_gateway1 - self.virtual_network_gateway2 = virtual_network_gateway2 - self.local_network_gateway2 = local_network_gateway2 - self.connection_type = connection_type - self.connection_protocol = connection_protocol - self.routing_weight = routing_weight - self.shared_key = shared_key - self.connection_status = None - self.tunnel_connection_status = None - self.egress_bytes_transferred = None - self.ingress_bytes_transferred = None - self.peer = peer - self.enable_bgp = enable_bgp - self.use_policy_based_traffic_selectors = use_policy_based_traffic_selectors - self.ipsec_policies = ipsec_policies - self.traffic_selector_policies = traffic_selector_policies - self.resource_guid = resource_guid - self.provisioning_state = None - self.express_route_gateway_bypass = express_route_gateway_bypass - self.etag = etag - - -class VirtualNetworkGatewayIPConfiguration(SubResource): - """IP configuration for virtual network gateway. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param private_ip_allocation_method: The private IP address allocation - method. Possible values include: 'Static', 'Dynamic' - :type private_ip_allocation_method: str or - ~azure.mgmt.network.v2019_07_01.models.IPAllocationMethod - :param subnet: The reference of the subnet resource. - :type subnet: ~azure.mgmt.network.v2019_07_01.models.SubResource - :param public_ip_address: The reference of the public IP resource. - :type public_ip_address: - ~azure.mgmt.network.v2019_07_01.models.SubResource - :ivar provisioning_state: The provisioning state of the virtual network - gateway IP configuration resource. Possible values include: 'Succeeded', - 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, - 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, - 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'SubResource'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, private_ip_allocation_method=None, subnet=None, public_ip_address=None, name: str=None, etag: str=None, **kwargs) -> None: - super(VirtualNetworkGatewayIPConfiguration, self).__init__(id=id, **kwargs) - self.private_ip_allocation_method = private_ip_allocation_method - self.subnet = subnet - self.public_ip_address = public_ip_address - self.provisioning_state = None - self.name = name - self.etag = etag - - -class VirtualNetworkGatewaySku(Model): - """VirtualNetworkGatewaySku details. - - :param name: Gateway SKU name. Possible values include: 'Basic', - 'HighPerformance', 'Standard', 'UltraPerformance', 'VpnGw1', 'VpnGw2', - 'VpnGw3', 'VpnGw4', 'VpnGw5', 'VpnGw1AZ', 'VpnGw2AZ', 'VpnGw3AZ', - 'VpnGw4AZ', 'VpnGw5AZ', 'ErGw1AZ', 'ErGw2AZ', 'ErGw3AZ' - :type name: str or - ~azure.mgmt.network.v2019_07_01.models.VirtualNetworkGatewaySkuName - :param tier: Gateway SKU tier. Possible values include: 'Basic', - 'HighPerformance', 'Standard', 'UltraPerformance', 'VpnGw1', 'VpnGw2', - 'VpnGw3', 'VpnGw4', 'VpnGw5', 'VpnGw1AZ', 'VpnGw2AZ', 'VpnGw3AZ', - 'VpnGw4AZ', 'VpnGw5AZ', 'ErGw1AZ', 'ErGw2AZ', 'ErGw3AZ' - :type tier: str or - ~azure.mgmt.network.v2019_07_01.models.VirtualNetworkGatewaySkuTier - :param capacity: The capacity. - :type capacity: int - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'tier': {'key': 'tier', 'type': 'str'}, - 'capacity': {'key': 'capacity', 'type': 'int'}, - } - - def __init__(self, *, name=None, tier=None, capacity: int=None, **kwargs) -> None: - super(VirtualNetworkGatewaySku, self).__init__(**kwargs) - self.name = name - self.tier = tier - self.capacity = capacity - - -class VirtualNetworkPeering(SubResource): - """Peerings in a virtual network resource. - - :param id: Resource ID. - :type id: str - :param allow_virtual_network_access: Whether the VMs in the local virtual - network space would be able to access the VMs in remote virtual network - space. - :type allow_virtual_network_access: bool - :param allow_forwarded_traffic: Whether the forwarded traffic from the VMs - in the local virtual network will be allowed/disallowed in remote virtual - network. - :type allow_forwarded_traffic: bool - :param allow_gateway_transit: If gateway links can be used in remote - virtual networking to link to this virtual network. - :type allow_gateway_transit: bool - :param use_remote_gateways: If remote gateways can be used on this virtual - network. If the flag is set to true, and allowGatewayTransit on remote - peering is also true, virtual network will use gateways of remote virtual - network for transit. Only one peering can have this flag set to true. This - flag cannot be set if virtual network already has a gateway. - :type use_remote_gateways: bool - :param remote_virtual_network: The reference of the remote virtual - network. The remote virtual network can be in the same or different region - (preview). See here to register for the preview and learn more - (https://docs.microsoft.com/en-us/azure/virtual-network/virtual-network-create-peering). - :type remote_virtual_network: - ~azure.mgmt.network.v2019_07_01.models.SubResource - :param remote_address_space: The reference of the remote virtual network - address space. - :type remote_address_space: - ~azure.mgmt.network.v2019_07_01.models.AddressSpace - :param peering_state: The status of the virtual network peering. Possible - values include: 'Initiated', 'Connected', 'Disconnected' - :type peering_state: str or - ~azure.mgmt.network.v2019_07_01.models.VirtualNetworkPeeringState - :param provisioning_state: The provisioning state of the virtual network - peering resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'allow_virtual_network_access': {'key': 'properties.allowVirtualNetworkAccess', 'type': 'bool'}, - 'allow_forwarded_traffic': {'key': 'properties.allowForwardedTraffic', 'type': 'bool'}, - 'allow_gateway_transit': {'key': 'properties.allowGatewayTransit', 'type': 'bool'}, - 'use_remote_gateways': {'key': 'properties.useRemoteGateways', 'type': 'bool'}, - 'remote_virtual_network': {'key': 'properties.remoteVirtualNetwork', 'type': 'SubResource'}, - 'remote_address_space': {'key': 'properties.remoteAddressSpace', 'type': 'AddressSpace'}, - 'peering_state': {'key': 'properties.peeringState', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, allow_virtual_network_access: bool=None, allow_forwarded_traffic: bool=None, allow_gateway_transit: bool=None, use_remote_gateways: bool=None, remote_virtual_network=None, remote_address_space=None, peering_state=None, provisioning_state=None, name: str=None, etag: str=None, **kwargs) -> None: - super(VirtualNetworkPeering, self).__init__(id=id, **kwargs) - self.allow_virtual_network_access = allow_virtual_network_access - self.allow_forwarded_traffic = allow_forwarded_traffic - self.allow_gateway_transit = allow_gateway_transit - self.use_remote_gateways = use_remote_gateways - self.remote_virtual_network = remote_virtual_network - self.remote_address_space = remote_address_space - self.peering_state = peering_state - self.provisioning_state = provisioning_state - self.name = name - self.etag = etag - - -class VirtualNetworkTap(Resource): - """Virtual Network Tap resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :ivar network_interface_tap_configurations: Specifies the list of resource - IDs for the network interface IP configuration that needs to be tapped. - :vartype network_interface_tap_configurations: - list[~azure.mgmt.network.v2019_07_01.models.NetworkInterfaceTapConfiguration] - :ivar resource_guid: The resource GUID property of the virtual network tap - resource. - :vartype resource_guid: str - :ivar provisioning_state: The provisioning state of the virtual network - tap resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param destination_network_interface_ip_configuration: The reference to - the private IP Address of the collector nic that will receive the tap. - :type destination_network_interface_ip_configuration: - ~azure.mgmt.network.v2019_07_01.models.NetworkInterfaceIPConfiguration - :param destination_load_balancer_front_end_ip_configuration: The reference - to the private IP address on the internal Load Balancer that will receive - the tap. - :type destination_load_balancer_front_end_ip_configuration: - ~azure.mgmt.network.v2019_07_01.models.FrontendIPConfiguration - :param destination_port: The VXLAN destination port that will receive the - tapped traffic. - :type destination_port: int - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'network_interface_tap_configurations': {'readonly': True}, - 'resource_guid': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'network_interface_tap_configurations': {'key': 'properties.networkInterfaceTapConfigurations', 'type': '[NetworkInterfaceTapConfiguration]'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'destination_network_interface_ip_configuration': {'key': 'properties.destinationNetworkInterfaceIPConfiguration', 'type': 'NetworkInterfaceIPConfiguration'}, - 'destination_load_balancer_front_end_ip_configuration': {'key': 'properties.destinationLoadBalancerFrontEndIPConfiguration', 'type': 'FrontendIPConfiguration'}, - 'destination_port': {'key': 'properties.destinationPort', 'type': 'int'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, destination_network_interface_ip_configuration=None, destination_load_balancer_front_end_ip_configuration=None, destination_port: int=None, etag: str=None, **kwargs) -> None: - super(VirtualNetworkTap, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.network_interface_tap_configurations = None - self.resource_guid = None - self.provisioning_state = None - self.destination_network_interface_ip_configuration = destination_network_interface_ip_configuration - self.destination_load_balancer_front_end_ip_configuration = destination_load_balancer_front_end_ip_configuration - self.destination_port = destination_port - self.etag = etag - - -class VirtualNetworkUsage(Model): - """Usage details for subnet. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar current_value: Indicates number of IPs used from the Subnet. - :vartype current_value: float - :ivar id: Subnet identifier. - :vartype id: str - :ivar limit: Indicates the size of the subnet. - :vartype limit: float - :ivar name: The name containing common and localized value for usage. - :vartype name: - ~azure.mgmt.network.v2019_07_01.models.VirtualNetworkUsageName - :ivar unit: Usage units. Returns 'Count'. - :vartype unit: str - """ - - _validation = { - 'current_value': {'readonly': True}, - 'id': {'readonly': True}, - 'limit': {'readonly': True}, - 'name': {'readonly': True}, - 'unit': {'readonly': True}, - } - - _attribute_map = { - 'current_value': {'key': 'currentValue', 'type': 'float'}, - 'id': {'key': 'id', 'type': 'str'}, - 'limit': {'key': 'limit', 'type': 'float'}, - 'name': {'key': 'name', 'type': 'VirtualNetworkUsageName'}, - 'unit': {'key': 'unit', 'type': 'str'}, - } - - def __init__(self, **kwargs) -> None: - super(VirtualNetworkUsage, self).__init__(**kwargs) - self.current_value = None - self.id = None - self.limit = None - self.name = None - self.unit = None - - -class VirtualNetworkUsageName(Model): - """Usage strings container. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar localized_value: Localized subnet size and usage string. - :vartype localized_value: str - :ivar value: Subnet size and usage string. - :vartype value: str - """ - - _validation = { - 'localized_value': {'readonly': True}, - 'value': {'readonly': True}, - } - - _attribute_map = { - 'localized_value': {'key': 'localizedValue', 'type': 'str'}, - 'value': {'key': 'value', 'type': 'str'}, - } - - def __init__(self, **kwargs) -> None: - super(VirtualNetworkUsageName, self).__init__(**kwargs) - self.localized_value = None - self.value = None - - -class VirtualRouter(Resource): - """VirtualRouter Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param virtual_router_asn: VirtualRouter ASN. - :type virtual_router_asn: long - :param virtual_router_ips: VirtualRouter IPs - :type virtual_router_ips: list[str] - :param hosted_subnet: The Subnet on which VirtualRouter is hosted. - :type hosted_subnet: ~azure.mgmt.network.v2019_07_01.models.SubResource - :param hosted_gateway: The Gateway on which VirtualRouter is hosted. - :type hosted_gateway: ~azure.mgmt.network.v2019_07_01.models.SubResource - :ivar peerings: List of references to VirtualRouterPeerings - :vartype peerings: - list[~azure.mgmt.network.v2019_07_01.models.SubResource] - :ivar provisioning_state: The provisioning state of the resource. Possible - values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :ivar etag: Gets a unique read-only string that changes whenever the - resource is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'virtual_router_asn': {'maximum': 4294967295, 'minimum': 1}, - 'peerings': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'virtual_router_asn': {'key': 'properties.virtualRouterAsn', 'type': 'long'}, - 'virtual_router_ips': {'key': 'properties.virtualRouterIps', 'type': '[str]'}, - 'hosted_subnet': {'key': 'properties.hostedSubnet', 'type': 'SubResource'}, - 'hosted_gateway': {'key': 'properties.hostedGateway', 'type': 'SubResource'}, - 'peerings': {'key': 'properties.peerings', 'type': '[SubResource]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, virtual_router_asn: int=None, virtual_router_ips=None, hosted_subnet=None, hosted_gateway=None, **kwargs) -> None: - super(VirtualRouter, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.virtual_router_asn = virtual_router_asn - self.virtual_router_ips = virtual_router_ips - self.hosted_subnet = hosted_subnet - self.hosted_gateway = hosted_gateway - self.peerings = None - self.provisioning_state = None - self.etag = None - - -class VirtualRouterPeering(SubResource): - """Virtual Router Peering resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param peer_asn: Peer ASN. - :type peer_asn: long - :param peer_ip: Peer IP. - :type peer_ip: str - :ivar provisioning_state: The provisioning state of the resource. Possible - values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: Gets name of the peering unique to VirtualRouter. This name - can be used to access the resource. - :type name: str - :ivar etag: Gets a unique read-only string that changes whenever the - resource is updated. - :vartype etag: str - :ivar type: Peering type. - :vartype type: str - """ - - _validation = { - 'peer_asn': {'maximum': 4294967295, 'minimum': 1}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'peer_asn': {'key': 'properties.peerAsn', 'type': 'long'}, - 'peer_ip': {'key': 'properties.peerIp', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, peer_asn: int=None, peer_ip: str=None, name: str=None, **kwargs) -> None: - super(VirtualRouterPeering, self).__init__(id=id, **kwargs) - self.peer_asn = peer_asn - self.peer_ip = peer_ip - self.provisioning_state = None - self.name = name - self.etag = None - self.type = None - - -class VirtualWAN(Resource): - """VirtualWAN Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param disable_vpn_encryption: Vpn encryption to be disabled or not. - :type disable_vpn_encryption: bool - :ivar virtual_hubs: List of VirtualHubs in the VirtualWAN. - :vartype virtual_hubs: - list[~azure.mgmt.network.v2019_07_01.models.SubResource] - :ivar vpn_sites: List of VpnSites in the VirtualWAN. - :vartype vpn_sites: - list[~azure.mgmt.network.v2019_07_01.models.SubResource] - :param security_provider_name: The Security Provider name. - :type security_provider_name: str - :param allow_branch_to_branch_traffic: True if branch to branch traffic is - allowed. - :type allow_branch_to_branch_traffic: bool - :param allow_vnet_to_vnet_traffic: True if Vnet to Vnet traffic is - allowed. - :type allow_vnet_to_vnet_traffic: bool - :param office365_local_breakout_category: The office local breakout - category. Possible values include: 'Optimize', 'OptimizeAndAllow', 'All', - 'None' - :type office365_local_breakout_category: str or - ~azure.mgmt.network.v2019_07_01.models.OfficeTrafficCategory - :param p2_svpn_server_configurations: List of all - P2SVpnServerConfigurations associated with the virtual wan. - :type p2_svpn_server_configurations: - list[~azure.mgmt.network.v2019_07_01.models.P2SVpnServerConfiguration] - :param provisioning_state: The provisioning state of the virtual WAN - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'virtual_hubs': {'readonly': True}, - 'vpn_sites': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'disable_vpn_encryption': {'key': 'properties.disableVpnEncryption', 'type': 'bool'}, - 'virtual_hubs': {'key': 'properties.virtualHubs', 'type': '[SubResource]'}, - 'vpn_sites': {'key': 'properties.vpnSites', 'type': '[SubResource]'}, - 'security_provider_name': {'key': 'properties.securityProviderName', 'type': 'str'}, - 'allow_branch_to_branch_traffic': {'key': 'properties.allowBranchToBranchTraffic', 'type': 'bool'}, - 'allow_vnet_to_vnet_traffic': {'key': 'properties.allowVnetToVnetTraffic', 'type': 'bool'}, - 'office365_local_breakout_category': {'key': 'properties.office365LocalBreakoutCategory', 'type': 'str'}, - 'p2_svpn_server_configurations': {'key': 'properties.p2SVpnServerConfigurations', 'type': '[P2SVpnServerConfiguration]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, disable_vpn_encryption: bool=None, security_provider_name: str=None, allow_branch_to_branch_traffic: bool=None, allow_vnet_to_vnet_traffic: bool=None, office365_local_breakout_category=None, p2_svpn_server_configurations=None, provisioning_state=None, **kwargs) -> None: - super(VirtualWAN, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.disable_vpn_encryption = disable_vpn_encryption - self.virtual_hubs = None - self.vpn_sites = None - self.security_provider_name = security_provider_name - self.allow_branch_to_branch_traffic = allow_branch_to_branch_traffic - self.allow_vnet_to_vnet_traffic = allow_vnet_to_vnet_traffic - self.office365_local_breakout_category = office365_local_breakout_category - self.p2_svpn_server_configurations = p2_svpn_server_configurations - self.provisioning_state = provisioning_state - self.etag = None - - -class VirtualWanSecurityProvider(Model): - """Collection of SecurityProviders. - - :param name: Name of the security provider. - :type name: str - :param url: Url of the security provider. - :type url: str - :param type: Name of the security provider. Possible values include: - 'External', 'Native' - :type type: str or - ~azure.mgmt.network.v2019_07_01.models.VirtualWanSecurityProviderType - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'url': {'key': 'url', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, name: str=None, url: str=None, type=None, **kwargs) -> None: - super(VirtualWanSecurityProvider, self).__init__(**kwargs) - self.name = name - self.url = url - self.type = type - - -class VirtualWanSecurityProviders(Model): - """Collection of SecurityProviders. - - :param supported_providers: List of VirtualWAN security providers. - :type supported_providers: - list[~azure.mgmt.network.v2019_07_01.models.VirtualWanSecurityProvider] - """ - - _attribute_map = { - 'supported_providers': {'key': 'supportedProviders', 'type': '[VirtualWanSecurityProvider]'}, - } - - def __init__(self, *, supported_providers=None, **kwargs) -> None: - super(VirtualWanSecurityProviders, self).__init__(**kwargs) - self.supported_providers = supported_providers - - -class VpnClientConfiguration(Model): - """VpnClientConfiguration for P2S client. - - :param vpn_client_address_pool: The reference of the address space - resource which represents Address space for P2S VpnClient. - :type vpn_client_address_pool: - ~azure.mgmt.network.v2019_07_01.models.AddressSpace - :param vpn_client_root_certificates: VpnClientRootCertificate for virtual - network gateway. - :type vpn_client_root_certificates: - list[~azure.mgmt.network.v2019_07_01.models.VpnClientRootCertificate] - :param vpn_client_revoked_certificates: VpnClientRevokedCertificate for - Virtual network gateway. - :type vpn_client_revoked_certificates: - list[~azure.mgmt.network.v2019_07_01.models.VpnClientRevokedCertificate] - :param vpn_client_protocols: VpnClientProtocols for Virtual network - gateway. - :type vpn_client_protocols: list[str or - ~azure.mgmt.network.v2019_07_01.models.VpnClientProtocol] - :param vpn_client_ipsec_policies: VpnClientIpsecPolicies for virtual - network gateway P2S client. - :type vpn_client_ipsec_policies: - list[~azure.mgmt.network.v2019_07_01.models.IpsecPolicy] - :param radius_server_address: The radius server address property of the - VirtualNetworkGateway resource for vpn client connection. - :type radius_server_address: str - :param radius_server_secret: The radius secret property of the - VirtualNetworkGateway resource for vpn client connection. - :type radius_server_secret: str - :param aad_tenant: The AADTenant property of the VirtualNetworkGateway - resource for vpn client connection used for AAD authentication. - :type aad_tenant: str - :param aad_audience: The AADAudience property of the VirtualNetworkGateway - resource for vpn client connection used for AAD authentication. - :type aad_audience: str - :param aad_issuer: The AADIssuer property of the VirtualNetworkGateway - resource for vpn client connection used for AAD authentication. - :type aad_issuer: str - """ - - _attribute_map = { - 'vpn_client_address_pool': {'key': 'vpnClientAddressPool', 'type': 'AddressSpace'}, - 'vpn_client_root_certificates': {'key': 'vpnClientRootCertificates', 'type': '[VpnClientRootCertificate]'}, - 'vpn_client_revoked_certificates': {'key': 'vpnClientRevokedCertificates', 'type': '[VpnClientRevokedCertificate]'}, - 'vpn_client_protocols': {'key': 'vpnClientProtocols', 'type': '[str]'}, - 'vpn_client_ipsec_policies': {'key': 'vpnClientIpsecPolicies', 'type': '[IpsecPolicy]'}, - 'radius_server_address': {'key': 'radiusServerAddress', 'type': 'str'}, - 'radius_server_secret': {'key': 'radiusServerSecret', 'type': 'str'}, - 'aad_tenant': {'key': 'aadTenant', 'type': 'str'}, - 'aad_audience': {'key': 'aadAudience', 'type': 'str'}, - 'aad_issuer': {'key': 'aadIssuer', 'type': 'str'}, - } - - def __init__(self, *, vpn_client_address_pool=None, vpn_client_root_certificates=None, vpn_client_revoked_certificates=None, vpn_client_protocols=None, vpn_client_ipsec_policies=None, radius_server_address: str=None, radius_server_secret: str=None, aad_tenant: str=None, aad_audience: str=None, aad_issuer: str=None, **kwargs) -> None: - super(VpnClientConfiguration, self).__init__(**kwargs) - self.vpn_client_address_pool = vpn_client_address_pool - self.vpn_client_root_certificates = vpn_client_root_certificates - self.vpn_client_revoked_certificates = vpn_client_revoked_certificates - self.vpn_client_protocols = vpn_client_protocols - self.vpn_client_ipsec_policies = vpn_client_ipsec_policies - self.radius_server_address = radius_server_address - self.radius_server_secret = radius_server_secret - self.aad_tenant = aad_tenant - self.aad_audience = aad_audience - self.aad_issuer = aad_issuer - - -class VpnClientConnectionHealth(Model): - """VpnClientConnectionHealth properties. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar total_ingress_bytes_transferred: Total of the Ingress Bytes - Transferred in this P2S Vpn connection. - :vartype total_ingress_bytes_transferred: long - :ivar total_egress_bytes_transferred: Total of the Egress Bytes - Transferred in this connection. - :vartype total_egress_bytes_transferred: long - :param vpn_client_connections_count: The total of p2s vpn clients - connected at this time to this P2SVpnGateway. - :type vpn_client_connections_count: int - :param allocated_ip_addresses: List of allocated ip addresses to the - connected p2s vpn clients. - :type allocated_ip_addresses: list[str] - """ - - _validation = { - 'total_ingress_bytes_transferred': {'readonly': True}, - 'total_egress_bytes_transferred': {'readonly': True}, - } - - _attribute_map = { - 'total_ingress_bytes_transferred': {'key': 'totalIngressBytesTransferred', 'type': 'long'}, - 'total_egress_bytes_transferred': {'key': 'totalEgressBytesTransferred', 'type': 'long'}, - 'vpn_client_connections_count': {'key': 'vpnClientConnectionsCount', 'type': 'int'}, - 'allocated_ip_addresses': {'key': 'allocatedIpAddresses', 'type': '[str]'}, - } - - def __init__(self, *, vpn_client_connections_count: int=None, allocated_ip_addresses=None, **kwargs) -> None: - super(VpnClientConnectionHealth, self).__init__(**kwargs) - self.total_ingress_bytes_transferred = None - self.total_egress_bytes_transferred = None - self.vpn_client_connections_count = vpn_client_connections_count - self.allocated_ip_addresses = allocated_ip_addresses - - -class VpnClientConnectionHealthDetail(Model): - """VPN client connection health detail. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar vpn_connection_id: The vpn client Id. - :vartype vpn_connection_id: str - :ivar vpn_connection_duration: The duration time of a connected vpn - client. - :vartype vpn_connection_duration: long - :ivar vpn_connection_time: The start time of a connected vpn client. - :vartype vpn_connection_time: str - :ivar public_ip_address: The public Ip of a connected vpn client. - :vartype public_ip_address: str - :ivar private_ip_address: The assigned private Ip of a connected vpn - client. - :vartype private_ip_address: str - :ivar vpn_user_name: The user name of a connected vpn client. - :vartype vpn_user_name: str - :ivar max_bandwidth: The max band width. - :vartype max_bandwidth: long - :ivar egress_packets_transferred: The egress packets per second. - :vartype egress_packets_transferred: long - :ivar egress_bytes_transferred: The egress bytes per second. - :vartype egress_bytes_transferred: long - :ivar ingress_packets_transferred: The ingress packets per second. - :vartype ingress_packets_transferred: long - :ivar ingress_bytes_transferred: The ingress bytes per second. - :vartype ingress_bytes_transferred: long - :ivar max_packets_per_second: The max packets transferred per second. - :vartype max_packets_per_second: long - """ - - _validation = { - 'vpn_connection_id': {'readonly': True}, - 'vpn_connection_duration': {'readonly': True}, - 'vpn_connection_time': {'readonly': True}, - 'public_ip_address': {'readonly': True}, - 'private_ip_address': {'readonly': True}, - 'vpn_user_name': {'readonly': True}, - 'max_bandwidth': {'readonly': True}, - 'egress_packets_transferred': {'readonly': True}, - 'egress_bytes_transferred': {'readonly': True}, - 'ingress_packets_transferred': {'readonly': True}, - 'ingress_bytes_transferred': {'readonly': True}, - 'max_packets_per_second': {'readonly': True}, - } - - _attribute_map = { - 'vpn_connection_id': {'key': 'vpnConnectionId', 'type': 'str'}, - 'vpn_connection_duration': {'key': 'vpnConnectionDuration', 'type': 'long'}, - 'vpn_connection_time': {'key': 'vpnConnectionTime', 'type': 'str'}, - 'public_ip_address': {'key': 'publicIpAddress', 'type': 'str'}, - 'private_ip_address': {'key': 'privateIpAddress', 'type': 'str'}, - 'vpn_user_name': {'key': 'vpnUserName', 'type': 'str'}, - 'max_bandwidth': {'key': 'maxBandwidth', 'type': 'long'}, - 'egress_packets_transferred': {'key': 'egressPacketsTransferred', 'type': 'long'}, - 'egress_bytes_transferred': {'key': 'egressBytesTransferred', 'type': 'long'}, - 'ingress_packets_transferred': {'key': 'ingressPacketsTransferred', 'type': 'long'}, - 'ingress_bytes_transferred': {'key': 'ingressBytesTransferred', 'type': 'long'}, - 'max_packets_per_second': {'key': 'maxPacketsPerSecond', 'type': 'long'}, - } - - def __init__(self, **kwargs) -> None: - super(VpnClientConnectionHealthDetail, self).__init__(**kwargs) - self.vpn_connection_id = None - self.vpn_connection_duration = None - self.vpn_connection_time = None - self.public_ip_address = None - self.private_ip_address = None - self.vpn_user_name = None - self.max_bandwidth = None - self.egress_packets_transferred = None - self.egress_bytes_transferred = None - self.ingress_packets_transferred = None - self.ingress_bytes_transferred = None - self.max_packets_per_second = None - - -class VpnClientConnectionHealthDetailListResult(Model): - """List of virtual network gateway vpn client connection health. - - :param value: List of vpn client connection health. - :type value: - list[~azure.mgmt.network.v2019_07_01.models.VpnClientConnectionHealthDetail] - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[VpnClientConnectionHealthDetail]'}, - } - - def __init__(self, *, value=None, **kwargs) -> None: - super(VpnClientConnectionHealthDetailListResult, self).__init__(**kwargs) - self.value = value - - -class VpnClientIPsecParameters(Model): - """An IPSec parameters for a virtual network gateway P2S connection. - - All required parameters must be populated in order to send to Azure. - - :param sa_life_time_seconds: Required. The IPSec Security Association - (also called Quick Mode or Phase 2 SA) lifetime in seconds for P2S client. - :type sa_life_time_seconds: int - :param sa_data_size_kilobytes: Required. The IPSec Security Association - (also called Quick Mode or Phase 2 SA) payload size in KB for P2S client.. - :type sa_data_size_kilobytes: int - :param ipsec_encryption: Required. The IPSec encryption algorithm (IKE - phase 1). Possible values include: 'None', 'DES', 'DES3', 'AES128', - 'AES192', 'AES256', 'GCMAES128', 'GCMAES192', 'GCMAES256' - :type ipsec_encryption: str or - ~azure.mgmt.network.v2019_07_01.models.IpsecEncryption - :param ipsec_integrity: Required. The IPSec integrity algorithm (IKE phase - 1). Possible values include: 'MD5', 'SHA1', 'SHA256', 'GCMAES128', - 'GCMAES192', 'GCMAES256' - :type ipsec_integrity: str or - ~azure.mgmt.network.v2019_07_01.models.IpsecIntegrity - :param ike_encryption: Required. The IKE encryption algorithm (IKE phase - 2). Possible values include: 'DES', 'DES3', 'AES128', 'AES192', 'AES256', - 'GCMAES256', 'GCMAES128' - :type ike_encryption: str or - ~azure.mgmt.network.v2019_07_01.models.IkeEncryption - :param ike_integrity: Required. The IKE integrity algorithm (IKE phase 2). - Possible values include: 'MD5', 'SHA1', 'SHA256', 'SHA384', 'GCMAES256', - 'GCMAES128' - :type ike_integrity: str or - ~azure.mgmt.network.v2019_07_01.models.IkeIntegrity - :param dh_group: Required. The DH Group used in IKE Phase 1 for initial - SA. Possible values include: 'None', 'DHGroup1', 'DHGroup2', 'DHGroup14', - 'DHGroup2048', 'ECP256', 'ECP384', 'DHGroup24' - :type dh_group: str or ~azure.mgmt.network.v2019_07_01.models.DhGroup - :param pfs_group: Required. The Pfs Group used in IKE Phase 2 for new - child SA. Possible values include: 'None', 'PFS1', 'PFS2', 'PFS2048', - 'ECP256', 'ECP384', 'PFS24', 'PFS14', 'PFSMM' - :type pfs_group: str or ~azure.mgmt.network.v2019_07_01.models.PfsGroup - """ - - _validation = { - 'sa_life_time_seconds': {'required': True}, - 'sa_data_size_kilobytes': {'required': True}, - 'ipsec_encryption': {'required': True}, - 'ipsec_integrity': {'required': True}, - 'ike_encryption': {'required': True}, - 'ike_integrity': {'required': True}, - 'dh_group': {'required': True}, - 'pfs_group': {'required': True}, - } - - _attribute_map = { - 'sa_life_time_seconds': {'key': 'saLifeTimeSeconds', 'type': 'int'}, - 'sa_data_size_kilobytes': {'key': 'saDataSizeKilobytes', 'type': 'int'}, - 'ipsec_encryption': {'key': 'ipsecEncryption', 'type': 'str'}, - 'ipsec_integrity': {'key': 'ipsecIntegrity', 'type': 'str'}, - 'ike_encryption': {'key': 'ikeEncryption', 'type': 'str'}, - 'ike_integrity': {'key': 'ikeIntegrity', 'type': 'str'}, - 'dh_group': {'key': 'dhGroup', 'type': 'str'}, - 'pfs_group': {'key': 'pfsGroup', 'type': 'str'}, - } - - def __init__(self, *, sa_life_time_seconds: int, sa_data_size_kilobytes: int, ipsec_encryption, ipsec_integrity, ike_encryption, ike_integrity, dh_group, pfs_group, **kwargs) -> None: - super(VpnClientIPsecParameters, self).__init__(**kwargs) - self.sa_life_time_seconds = sa_life_time_seconds - self.sa_data_size_kilobytes = sa_data_size_kilobytes - self.ipsec_encryption = ipsec_encryption - self.ipsec_integrity = ipsec_integrity - self.ike_encryption = ike_encryption - self.ike_integrity = ike_integrity - self.dh_group = dh_group - self.pfs_group = pfs_group - - -class VpnClientParameters(Model): - """Vpn Client Parameters for package generation. - - :param processor_architecture: VPN client Processor Architecture. Possible - values include: 'Amd64', 'X86' - :type processor_architecture: str or - ~azure.mgmt.network.v2019_07_01.models.ProcessorArchitecture - :param authentication_method: VPN client authentication method. Possible - values include: 'EAPTLS', 'EAPMSCHAPv2' - :type authentication_method: str or - ~azure.mgmt.network.v2019_07_01.models.AuthenticationMethod - :param radius_server_auth_certificate: The public certificate data for the - radius server authentication certificate as a Base-64 encoded string. - Required only if external radius authentication has been configured with - EAPTLS authentication. - :type radius_server_auth_certificate: str - :param client_root_certificates: A list of client root certificates public - certificate data encoded as Base-64 strings. Optional parameter for - external radius based authentication with EAPTLS. - :type client_root_certificates: list[str] - """ - - _attribute_map = { - 'processor_architecture': {'key': 'processorArchitecture', 'type': 'str'}, - 'authentication_method': {'key': 'authenticationMethod', 'type': 'str'}, - 'radius_server_auth_certificate': {'key': 'radiusServerAuthCertificate', 'type': 'str'}, - 'client_root_certificates': {'key': 'clientRootCertificates', 'type': '[str]'}, - } - - def __init__(self, *, processor_architecture=None, authentication_method=None, radius_server_auth_certificate: str=None, client_root_certificates=None, **kwargs) -> None: - super(VpnClientParameters, self).__init__(**kwargs) - self.processor_architecture = processor_architecture - self.authentication_method = authentication_method - self.radius_server_auth_certificate = radius_server_auth_certificate - self.client_root_certificates = client_root_certificates - - -class VpnClientRevokedCertificate(SubResource): - """VPN client revoked certificate of virtual network gateway. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param thumbprint: The revoked VPN client certificate thumbprint. - :type thumbprint: str - :ivar provisioning_state: The provisioning state of the VPN client revoked - certificate resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'thumbprint': {'key': 'properties.thumbprint', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, thumbprint: str=None, name: str=None, etag: str=None, **kwargs) -> None: - super(VpnClientRevokedCertificate, self).__init__(id=id, **kwargs) - self.thumbprint = thumbprint - self.provisioning_state = None - self.name = name - self.etag = etag - - -class VpnClientRootCertificate(SubResource): - """VPN client root certificate of virtual network gateway. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :param public_cert_data: Required. The certificate public data. - :type public_cert_data: str - :ivar provisioning_state: The provisioning state of the VPN client root - certificate resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'public_cert_data': {'required': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'public_cert_data': {'key': 'properties.publicCertData', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, public_cert_data: str, id: str=None, name: str=None, etag: str=None, **kwargs) -> None: - super(VpnClientRootCertificate, self).__init__(id=id, **kwargs) - self.public_cert_data = public_cert_data - self.provisioning_state = None - self.name = name - self.etag = etag - - -class VpnConnection(SubResource): - """VpnConnection Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param remote_vpn_site: Id of the connected vpn site. - :type remote_vpn_site: ~azure.mgmt.network.v2019_07_01.models.SubResource - :param routing_weight: Routing weight for vpn connection. - :type routing_weight: int - :param connection_status: The connection status. Possible values include: - 'Unknown', 'Connecting', 'Connected', 'NotConnected' - :type connection_status: str or - ~azure.mgmt.network.v2019_07_01.models.VpnConnectionStatus - :param vpn_connection_protocol_type: Connection protocol used for this - connection. Possible values include: 'IKEv2', 'IKEv1' - :type vpn_connection_protocol_type: str or - ~azure.mgmt.network.v2019_07_01.models.VirtualNetworkGatewayConnectionProtocol - :ivar ingress_bytes_transferred: Ingress bytes transferred. - :vartype ingress_bytes_transferred: long - :ivar egress_bytes_transferred: Egress bytes transferred. - :vartype egress_bytes_transferred: long - :param connection_bandwidth: Expected bandwidth in MBPS. - :type connection_bandwidth: int - :param shared_key: SharedKey for the vpn connection. - :type shared_key: str - :param enable_bgp: EnableBgp flag. - :type enable_bgp: bool - :param use_policy_based_traffic_selectors: Enable policy-based traffic - selectors. - :type use_policy_based_traffic_selectors: bool - :param ipsec_policies: The IPSec Policies to be considered by this - connection. - :type ipsec_policies: - list[~azure.mgmt.network.v2019_07_01.models.IpsecPolicy] - :param enable_rate_limiting: EnableBgp flag. - :type enable_rate_limiting: bool - :param enable_internet_security: Enable internet security. - :type enable_internet_security: bool - :param use_local_azure_ip_address: Use local azure ip to initiate - connection. - :type use_local_azure_ip_address: bool - :param provisioning_state: The provisioning state of the VPN connection - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param vpn_link_connections: List of all vpn site link connections to the - gateway. - :type vpn_link_connections: - list[~azure.mgmt.network.v2019_07_01.models.VpnSiteLinkConnection] - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'ingress_bytes_transferred': {'readonly': True}, - 'egress_bytes_transferred': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'remote_vpn_site': {'key': 'properties.remoteVpnSite', 'type': 'SubResource'}, - 'routing_weight': {'key': 'properties.routingWeight', 'type': 'int'}, - 'connection_status': {'key': 'properties.connectionStatus', 'type': 'str'}, - 'vpn_connection_protocol_type': {'key': 'properties.vpnConnectionProtocolType', 'type': 'str'}, - 'ingress_bytes_transferred': {'key': 'properties.ingressBytesTransferred', 'type': 'long'}, - 'egress_bytes_transferred': {'key': 'properties.egressBytesTransferred', 'type': 'long'}, - 'connection_bandwidth': {'key': 'properties.connectionBandwidth', 'type': 'int'}, - 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, - 'enable_bgp': {'key': 'properties.enableBgp', 'type': 'bool'}, - 'use_policy_based_traffic_selectors': {'key': 'properties.usePolicyBasedTrafficSelectors', 'type': 'bool'}, - 'ipsec_policies': {'key': 'properties.ipsecPolicies', 'type': '[IpsecPolicy]'}, - 'enable_rate_limiting': {'key': 'properties.enableRateLimiting', 'type': 'bool'}, - 'enable_internet_security': {'key': 'properties.enableInternetSecurity', 'type': 'bool'}, - 'use_local_azure_ip_address': {'key': 'properties.useLocalAzureIpAddress', 'type': 'bool'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'vpn_link_connections': {'key': 'properties.vpnLinkConnections', 'type': '[VpnSiteLinkConnection]'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, remote_vpn_site=None, routing_weight: int=None, connection_status=None, vpn_connection_protocol_type=None, connection_bandwidth: int=None, shared_key: str=None, enable_bgp: bool=None, use_policy_based_traffic_selectors: bool=None, ipsec_policies=None, enable_rate_limiting: bool=None, enable_internet_security: bool=None, use_local_azure_ip_address: bool=None, provisioning_state=None, vpn_link_connections=None, name: str=None, **kwargs) -> None: - super(VpnConnection, self).__init__(id=id, **kwargs) - self.remote_vpn_site = remote_vpn_site - self.routing_weight = routing_weight - self.connection_status = connection_status - self.vpn_connection_protocol_type = vpn_connection_protocol_type - self.ingress_bytes_transferred = None - self.egress_bytes_transferred = None - self.connection_bandwidth = connection_bandwidth - self.shared_key = shared_key - self.enable_bgp = enable_bgp - self.use_policy_based_traffic_selectors = use_policy_based_traffic_selectors - self.ipsec_policies = ipsec_policies - self.enable_rate_limiting = enable_rate_limiting - self.enable_internet_security = enable_internet_security - self.use_local_azure_ip_address = use_local_azure_ip_address - self.provisioning_state = provisioning_state - self.vpn_link_connections = vpn_link_connections - self.name = name - self.etag = None - - -class VpnDeviceScriptParameters(Model): - """Vpn device configuration script generation parameters. - - :param vendor: The vendor for the vpn device. - :type vendor: str - :param device_family: The device family for the vpn device. - :type device_family: str - :param firmware_version: The firmware version for the vpn device. - :type firmware_version: str - """ - - _attribute_map = { - 'vendor': {'key': 'vendor', 'type': 'str'}, - 'device_family': {'key': 'deviceFamily', 'type': 'str'}, - 'firmware_version': {'key': 'firmwareVersion', 'type': 'str'}, - } - - def __init__(self, *, vendor: str=None, device_family: str=None, firmware_version: str=None, **kwargs) -> None: - super(VpnDeviceScriptParameters, self).__init__(**kwargs) - self.vendor = vendor - self.device_family = device_family - self.firmware_version = firmware_version - - -class VpnGateway(Resource): - """VpnGateway Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param virtual_hub: The VirtualHub to which the gateway belongs. - :type virtual_hub: ~azure.mgmt.network.v2019_07_01.models.SubResource - :param connections: List of all vpn connections to the gateway. - :type connections: - list[~azure.mgmt.network.v2019_07_01.models.VpnConnection] - :param bgp_settings: Local network gateway's BGP speaker settings. - :type bgp_settings: ~azure.mgmt.network.v2019_07_01.models.BgpSettings - :param provisioning_state: The provisioning state of the VPN gateway - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param vpn_gateway_scale_unit: The scale unit for this vpn gateway. - :type vpn_gateway_scale_unit: int - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'virtual_hub': {'key': 'properties.virtualHub', 'type': 'SubResource'}, - 'connections': {'key': 'properties.connections', 'type': '[VpnConnection]'}, - 'bgp_settings': {'key': 'properties.bgpSettings', 'type': 'BgpSettings'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'vpn_gateway_scale_unit': {'key': 'properties.vpnGatewayScaleUnit', 'type': 'int'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, virtual_hub=None, connections=None, bgp_settings=None, provisioning_state=None, vpn_gateway_scale_unit: int=None, **kwargs) -> None: - super(VpnGateway, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.virtual_hub = virtual_hub - self.connections = connections - self.bgp_settings = bgp_settings - self.provisioning_state = provisioning_state - self.vpn_gateway_scale_unit = vpn_gateway_scale_unit - self.etag = None - - -class VpnLinkBgpSettings(Model): - """BGP settings details for a link. - - :param asn: The BGP speaker's ASN. - :type asn: long - :param bgp_peering_address: The BGP peering address and BGP identifier of - this BGP speaker. - :type bgp_peering_address: str - """ - - _attribute_map = { - 'asn': {'key': 'asn', 'type': 'long'}, - 'bgp_peering_address': {'key': 'bgpPeeringAddress', 'type': 'str'}, - } - - def __init__(self, *, asn: int=None, bgp_peering_address: str=None, **kwargs) -> None: - super(VpnLinkBgpSettings, self).__init__(**kwargs) - self.asn = asn - self.bgp_peering_address = bgp_peering_address - - -class VpnLinkProviderProperties(Model): - """List of properties of a link provider. - - :param link_provider_name: Name of the link provider. - :type link_provider_name: str - :param link_speed_in_mbps: Link speed. - :type link_speed_in_mbps: int - """ - - _attribute_map = { - 'link_provider_name': {'key': 'linkProviderName', 'type': 'str'}, - 'link_speed_in_mbps': {'key': 'linkSpeedInMbps', 'type': 'int'}, - } - - def __init__(self, *, link_provider_name: str=None, link_speed_in_mbps: int=None, **kwargs) -> None: - super(VpnLinkProviderProperties, self).__init__(**kwargs) - self.link_provider_name = link_provider_name - self.link_speed_in_mbps = link_speed_in_mbps - - -class VpnPacketCaptureStartParameters(Model): - """Start packet capture parameters on virtual network gateway. - - :param filter_data: Start Packet capture parameters. - :type filter_data: str - """ - - _attribute_map = { - 'filter_data': {'key': 'filterData', 'type': 'str'}, - } - - def __init__(self, *, filter_data: str=None, **kwargs) -> None: - super(VpnPacketCaptureStartParameters, self).__init__(**kwargs) - self.filter_data = filter_data - - -class VpnPacketCaptureStopParameters(Model): - """Stop packet capture parameters. - - :param sas_url: SAS url for packet capture on virtual network gateway. - :type sas_url: str - """ - - _attribute_map = { - 'sas_url': {'key': 'sasUrl', 'type': 'str'}, - } - - def __init__(self, *, sas_url: str=None, **kwargs) -> None: - super(VpnPacketCaptureStopParameters, self).__init__(**kwargs) - self.sas_url = sas_url - - -class VpnProfileResponse(Model): - """Vpn Profile Response for package generation. - - :param profile_url: URL to the VPN profile. - :type profile_url: str - """ - - _attribute_map = { - 'profile_url': {'key': 'profileUrl', 'type': 'str'}, - } - - def __init__(self, *, profile_url: str=None, **kwargs) -> None: - super(VpnProfileResponse, self).__init__(**kwargs) - self.profile_url = profile_url - - -class VpnSite(Resource): - """VpnSite Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param virtual_wan: The VirtualWAN to which the vpnSite belongs. - :type virtual_wan: ~azure.mgmt.network.v2019_07_01.models.SubResource - :param device_properties: The device properties. - :type device_properties: - ~azure.mgmt.network.v2019_07_01.models.DeviceProperties - :param ip_address: The ip-address for the vpn-site. - :type ip_address: str - :param site_key: The key for vpn-site that can be used for connections. - :type site_key: str - :param address_space: The AddressSpace that contains an array of IP - address ranges. - :type address_space: ~azure.mgmt.network.v2019_07_01.models.AddressSpace - :param bgp_properties: The set of bgp properties. - :type bgp_properties: ~azure.mgmt.network.v2019_07_01.models.BgpSettings - :param provisioning_state: The provisioning state of the VPN site - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param is_security_site: IsSecuritySite flag. - :type is_security_site: bool - :param vpn_site_links: List of all vpn site links. - :type vpn_site_links: - list[~azure.mgmt.network.v2019_07_01.models.VpnSiteLink] - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'virtual_wan': {'key': 'properties.virtualWan', 'type': 'SubResource'}, - 'device_properties': {'key': 'properties.deviceProperties', 'type': 'DeviceProperties'}, - 'ip_address': {'key': 'properties.ipAddress', 'type': 'str'}, - 'site_key': {'key': 'properties.siteKey', 'type': 'str'}, - 'address_space': {'key': 'properties.addressSpace', 'type': 'AddressSpace'}, - 'bgp_properties': {'key': 'properties.bgpProperties', 'type': 'BgpSettings'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'is_security_site': {'key': 'properties.isSecuritySite', 'type': 'bool'}, - 'vpn_site_links': {'key': 'properties.vpnSiteLinks', 'type': '[VpnSiteLink]'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, virtual_wan=None, device_properties=None, ip_address: str=None, site_key: str=None, address_space=None, bgp_properties=None, provisioning_state=None, is_security_site: bool=None, vpn_site_links=None, **kwargs) -> None: - super(VpnSite, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.virtual_wan = virtual_wan - self.device_properties = device_properties - self.ip_address = ip_address - self.site_key = site_key - self.address_space = address_space - self.bgp_properties = bgp_properties - self.provisioning_state = provisioning_state - self.is_security_site = is_security_site - self.vpn_site_links = vpn_site_links - self.etag = None - - -class VpnSiteId(Model): - """VpnSite Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar vpn_site: The resource-uri of the vpn-site for which config is to be - fetched. - :vartype vpn_site: str - """ - - _validation = { - 'vpn_site': {'readonly': True}, - } - - _attribute_map = { - 'vpn_site': {'key': 'vpnSite', 'type': 'str'}, - } - - def __init__(self, **kwargs) -> None: - super(VpnSiteId, self).__init__(**kwargs) - self.vpn_site = None - - -class VpnSiteLink(SubResource): - """VpnSiteLink Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param link_properties: The link provider properties. - :type link_properties: - ~azure.mgmt.network.v2019_07_01.models.VpnLinkProviderProperties - :param ip_address: The ip-address for the vpn-site-link. - :type ip_address: str - :param bgp_properties: The set of bgp properties. - :type bgp_properties: - ~azure.mgmt.network.v2019_07_01.models.VpnLinkBgpSettings - :param provisioning_state: The provisioning state of the VPN site link - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar type: Resource type. - :vartype type: str - """ - - _validation = { - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'link_properties': {'key': 'properties.linkProperties', 'type': 'VpnLinkProviderProperties'}, - 'ip_address': {'key': 'properties.ipAddress', 'type': 'str'}, - 'bgp_properties': {'key': 'properties.bgpProperties', 'type': 'VpnLinkBgpSettings'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, link_properties=None, ip_address: str=None, bgp_properties=None, provisioning_state=None, name: str=None, **kwargs) -> None: - super(VpnSiteLink, self).__init__(id=id, **kwargs) - self.link_properties = link_properties - self.ip_address = ip_address - self.bgp_properties = bgp_properties - self.provisioning_state = provisioning_state - self.etag = None - self.name = name - self.type = None - - -class VpnSiteLinkConnection(SubResource): - """VpnSiteLinkConnection Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param vpn_site_link: Id of the connected vpn site link. - :type vpn_site_link: ~azure.mgmt.network.v2019_07_01.models.SubResource - :param routing_weight: Routing weight for vpn connection. - :type routing_weight: int - :param connection_status: The connection status. Possible values include: - 'Unknown', 'Connecting', 'Connected', 'NotConnected' - :type connection_status: str or - ~azure.mgmt.network.v2019_07_01.models.VpnConnectionStatus - :param vpn_connection_protocol_type: Connection protocol used for this - connection. Possible values include: 'IKEv2', 'IKEv1' - :type vpn_connection_protocol_type: str or - ~azure.mgmt.network.v2019_07_01.models.VirtualNetworkGatewayConnectionProtocol - :ivar ingress_bytes_transferred: Ingress bytes transferred. - :vartype ingress_bytes_transferred: long - :ivar egress_bytes_transferred: Egress bytes transferred. - :vartype egress_bytes_transferred: long - :param connection_bandwidth: Expected bandwidth in MBPS. - :type connection_bandwidth: int - :param shared_key: SharedKey for the vpn connection. - :type shared_key: str - :param enable_bgp: EnableBgp flag. - :type enable_bgp: bool - :param use_policy_based_traffic_selectors: Enable policy-based traffic - selectors. - :type use_policy_based_traffic_selectors: bool - :param ipsec_policies: The IPSec Policies to be considered by this - connection. - :type ipsec_policies: - list[~azure.mgmt.network.v2019_07_01.models.IpsecPolicy] - :param enable_rate_limiting: EnableBgp flag. - :type enable_rate_limiting: bool - :param use_local_azure_ip_address: Use local azure ip to initiate - connection. - :type use_local_azure_ip_address: bool - :param provisioning_state: The provisioning state of the VPN site link - connection resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :ivar type: Resource type. - :vartype type: str - """ - - _validation = { - 'ingress_bytes_transferred': {'readonly': True}, - 'egress_bytes_transferred': {'readonly': True}, - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'vpn_site_link': {'key': 'properties.vpnSiteLink', 'type': 'SubResource'}, - 'routing_weight': {'key': 'properties.routingWeight', 'type': 'int'}, - 'connection_status': {'key': 'properties.connectionStatus', 'type': 'str'}, - 'vpn_connection_protocol_type': {'key': 'properties.vpnConnectionProtocolType', 'type': 'str'}, - 'ingress_bytes_transferred': {'key': 'properties.ingressBytesTransferred', 'type': 'long'}, - 'egress_bytes_transferred': {'key': 'properties.egressBytesTransferred', 'type': 'long'}, - 'connection_bandwidth': {'key': 'properties.connectionBandwidth', 'type': 'int'}, - 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, - 'enable_bgp': {'key': 'properties.enableBgp', 'type': 'bool'}, - 'use_policy_based_traffic_selectors': {'key': 'properties.usePolicyBasedTrafficSelectors', 'type': 'bool'}, - 'ipsec_policies': {'key': 'properties.ipsecPolicies', 'type': '[IpsecPolicy]'}, - 'enable_rate_limiting': {'key': 'properties.enableRateLimiting', 'type': 'bool'}, - 'use_local_azure_ip_address': {'key': 'properties.useLocalAzureIpAddress', 'type': 'bool'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, vpn_site_link=None, routing_weight: int=None, connection_status=None, vpn_connection_protocol_type=None, connection_bandwidth: int=None, shared_key: str=None, enable_bgp: bool=None, use_policy_based_traffic_selectors: bool=None, ipsec_policies=None, enable_rate_limiting: bool=None, use_local_azure_ip_address: bool=None, provisioning_state=None, name: str=None, **kwargs) -> None: - super(VpnSiteLinkConnection, self).__init__(id=id, **kwargs) - self.vpn_site_link = vpn_site_link - self.routing_weight = routing_weight - self.connection_status = connection_status - self.vpn_connection_protocol_type = vpn_connection_protocol_type - self.ingress_bytes_transferred = None - self.egress_bytes_transferred = None - self.connection_bandwidth = connection_bandwidth - self.shared_key = shared_key - self.enable_bgp = enable_bgp - self.use_policy_based_traffic_selectors = use_policy_based_traffic_selectors - self.ipsec_policies = ipsec_policies - self.enable_rate_limiting = enable_rate_limiting - self.use_local_azure_ip_address = use_local_azure_ip_address - self.provisioning_state = provisioning_state - self.name = name - self.etag = None - self.type = None - - -class WebApplicationFirewallCustomRule(Model): - """Defines contents of a web application rule. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :param name: The name of the resource that is unique within a policy. This - name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :param priority: Required. Describes priority of the rule. Rules with a - lower value will be evaluated before rules with a higher value. - :type priority: int - :param rule_type: Required. Describes type of rule. Possible values - include: 'MatchRule', 'Invalid' - :type rule_type: str or - ~azure.mgmt.network.v2019_07_01.models.WebApplicationFirewallRuleType - :param match_conditions: Required. List of match conditions. - :type match_conditions: - list[~azure.mgmt.network.v2019_07_01.models.MatchCondition] - :param action: Required. Type of Actions. Possible values include: - 'Allow', 'Block', 'Log' - :type action: str or - ~azure.mgmt.network.v2019_07_01.models.WebApplicationFirewallAction - """ - - _validation = { - 'name': {'max_length': 128}, - 'etag': {'readonly': True}, - 'priority': {'required': True}, - 'rule_type': {'required': True}, - 'match_conditions': {'required': True}, - 'action': {'required': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'priority': {'key': 'priority', 'type': 'int'}, - 'rule_type': {'key': 'ruleType', 'type': 'str'}, - 'match_conditions': {'key': 'matchConditions', 'type': '[MatchCondition]'}, - 'action': {'key': 'action', 'type': 'str'}, - } - - def __init__(self, *, priority: int, rule_type, match_conditions, action, name: str=None, **kwargs) -> None: - super(WebApplicationFirewallCustomRule, self).__init__(**kwargs) - self.name = name - self.etag = None - self.priority = priority - self.rule_type = rule_type - self.match_conditions = match_conditions - self.action = action - - -class WebApplicationFirewallPolicy(Resource): - """Defines web application firewall policy. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param policy_settings: Describes policySettings for policy. - :type policy_settings: - ~azure.mgmt.network.v2019_07_01.models.PolicySettings - :param custom_rules: Describes custom rules inside the policy. - :type custom_rules: - list[~azure.mgmt.network.v2019_07_01.models.WebApplicationFirewallCustomRule] - :ivar application_gateways: A collection of references to application - gateways. - :vartype application_gateways: - list[~azure.mgmt.network.v2019_07_01.models.ApplicationGateway] - :ivar provisioning_state: The provisioning state of the web application - firewall policy resource. Possible values include: 'Succeeded', - 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_07_01.models.ProvisioningState - :ivar resource_state: Resource status of the policy. Resource status of - the policy. Possible values include: 'Creating', 'Enabling', 'Enabled', - 'Disabling', 'Disabled', 'Deleting' - :vartype resource_state: str or - ~azure.mgmt.network.v2019_07_01.models.WebApplicationFirewallPolicyResourceState - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'application_gateways': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'resource_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'policy_settings': {'key': 'properties.policySettings', 'type': 'PolicySettings'}, - 'custom_rules': {'key': 'properties.customRules', 'type': '[WebApplicationFirewallCustomRule]'}, - 'application_gateways': {'key': 'properties.applicationGateways', 'type': '[ApplicationGateway]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'resource_state': {'key': 'properties.resourceState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, policy_settings=None, custom_rules=None, etag: str=None, **kwargs) -> None: - super(WebApplicationFirewallPolicy, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.policy_settings = policy_settings - self.custom_rules = custom_rules - self.application_gateways = None - self.provisioning_state = None - self.resource_state = None - self.etag = etag diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/models/_network_management_client_enums.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/models/_network_management_client_enums.py deleted file mode 100644 index 705dc933b1c..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/models/_network_management_client_enums.py +++ /dev/null @@ -1,883 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from enum import Enum - - -class ApplicationGatewayProtocol(str, Enum): - - http = "Http" - https = "Https" - - -class ProvisioningState(str, Enum): - - succeeded = "Succeeded" - updating = "Updating" - deleting = "Deleting" - failed = "Failed" - - -class IPAllocationMethod(str, Enum): - - static = "Static" - dynamic = "Dynamic" - - -class IPVersion(str, Enum): - - ipv4 = "IPv4" - ipv6 = "IPv6" - - -class SecurityRuleProtocol(str, Enum): - - tcp = "Tcp" - udp = "Udp" - icmp = "Icmp" - esp = "Esp" - asterisk = "*" - - -class SecurityRuleAccess(str, Enum): - - allow = "Allow" - deny = "Deny" - - -class SecurityRuleDirection(str, Enum): - - inbound = "Inbound" - outbound = "Outbound" - - -class RouteNextHopType(str, Enum): - - virtual_network_gateway = "VirtualNetworkGateway" - vnet_local = "VnetLocal" - internet = "Internet" - virtual_appliance = "VirtualAppliance" - none = "None" - - -class PublicIPAddressSkuName(str, Enum): - - basic = "Basic" - standard = "Standard" - - -class DdosSettingsProtectionCoverage(str, Enum): - - basic = "Basic" - standard = "Standard" - - -class TransportProtocol(str, Enum): - - udp = "Udp" - tcp = "Tcp" - all = "All" - - -class ApplicationGatewayCookieBasedAffinity(str, Enum): - - enabled = "Enabled" - disabled = "Disabled" - - -class ApplicationGatewayBackendHealthServerHealth(str, Enum): - - unknown = "Unknown" - up = "Up" - down = "Down" - partial = "Partial" - draining = "Draining" - - -class ApplicationGatewaySkuName(str, Enum): - - standard_small = "Standard_Small" - standard_medium = "Standard_Medium" - standard_large = "Standard_Large" - waf_medium = "WAF_Medium" - waf_large = "WAF_Large" - standard_v2 = "Standard_v2" - waf_v2 = "WAF_v2" - - -class ApplicationGatewayTier(str, Enum): - - standard = "Standard" - waf = "WAF" - standard_v2 = "Standard_v2" - waf_v2 = "WAF_v2" - - -class ApplicationGatewaySslProtocol(str, Enum): - - tl_sv1_0 = "TLSv1_0" - tl_sv1_1 = "TLSv1_1" - tl_sv1_2 = "TLSv1_2" - - -class ApplicationGatewaySslPolicyType(str, Enum): - - predefined = "Predefined" - custom = "Custom" - - -class ApplicationGatewaySslPolicyName(str, Enum): - - app_gw_ssl_policy20150501 = "AppGwSslPolicy20150501" - app_gw_ssl_policy20170401 = "AppGwSslPolicy20170401" - app_gw_ssl_policy20170401_s = "AppGwSslPolicy20170401S" - - -class ApplicationGatewaySslCipherSuite(str, Enum): - - tls_ecdhe_rsa_with_aes_256_cbc_sha384 = "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384" - tls_ecdhe_rsa_with_aes_128_cbc_sha256 = "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256" - tls_ecdhe_rsa_with_aes_256_cbc_sha = "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA" - tls_ecdhe_rsa_with_aes_128_cbc_sha = "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA" - tls_dhe_rsa_with_aes_256_gcm_sha384 = "TLS_DHE_RSA_WITH_AES_256_GCM_SHA384" - tls_dhe_rsa_with_aes_128_gcm_sha256 = "TLS_DHE_RSA_WITH_AES_128_GCM_SHA256" - tls_dhe_rsa_with_aes_256_cbc_sha = "TLS_DHE_RSA_WITH_AES_256_CBC_SHA" - tls_dhe_rsa_with_aes_128_cbc_sha = "TLS_DHE_RSA_WITH_AES_128_CBC_SHA" - tls_rsa_with_aes_256_gcm_sha384 = "TLS_RSA_WITH_AES_256_GCM_SHA384" - tls_rsa_with_aes_128_gcm_sha256 = "TLS_RSA_WITH_AES_128_GCM_SHA256" - tls_rsa_with_aes_256_cbc_sha256 = "TLS_RSA_WITH_AES_256_CBC_SHA256" - tls_rsa_with_aes_128_cbc_sha256 = "TLS_RSA_WITH_AES_128_CBC_SHA256" - tls_rsa_with_aes_256_cbc_sha = "TLS_RSA_WITH_AES_256_CBC_SHA" - tls_rsa_with_aes_128_cbc_sha = "TLS_RSA_WITH_AES_128_CBC_SHA" - tls_ecdhe_ecdsa_with_aes_256_gcm_sha384 = "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384" - tls_ecdhe_ecdsa_with_aes_128_gcm_sha256 = "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256" - tls_ecdhe_ecdsa_with_aes_256_cbc_sha384 = "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384" - tls_ecdhe_ecdsa_with_aes_128_cbc_sha256 = "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256" - tls_ecdhe_ecdsa_with_aes_256_cbc_sha = "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA" - tls_ecdhe_ecdsa_with_aes_128_cbc_sha = "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA" - tls_dhe_dss_with_aes_256_cbc_sha256 = "TLS_DHE_DSS_WITH_AES_256_CBC_SHA256" - tls_dhe_dss_with_aes_128_cbc_sha256 = "TLS_DHE_DSS_WITH_AES_128_CBC_SHA256" - tls_dhe_dss_with_aes_256_cbc_sha = "TLS_DHE_DSS_WITH_AES_256_CBC_SHA" - tls_dhe_dss_with_aes_128_cbc_sha = "TLS_DHE_DSS_WITH_AES_128_CBC_SHA" - tls_rsa_with_3_des_ede_cbc_sha = "TLS_RSA_WITH_3DES_EDE_CBC_SHA" - tls_dhe_dss_with_3_des_ede_cbc_sha = "TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA" - tls_ecdhe_rsa_with_aes_128_gcm_sha256 = "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256" - tls_ecdhe_rsa_with_aes_256_gcm_sha384 = "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384" - - -class ApplicationGatewayCustomErrorStatusCode(str, Enum): - - http_status403 = "HttpStatus403" - http_status502 = "HttpStatus502" - - -class ApplicationGatewayRequestRoutingRuleType(str, Enum): - - basic = "Basic" - path_based_routing = "PathBasedRouting" - - -class ApplicationGatewayRedirectType(str, Enum): - - permanent = "Permanent" - found = "Found" - see_other = "SeeOther" - temporary = "Temporary" - - -class ApplicationGatewayOperationalState(str, Enum): - - stopped = "Stopped" - starting = "Starting" - running = "Running" - stopping = "Stopping" - - -class ApplicationGatewayFirewallMode(str, Enum): - - detection = "Detection" - prevention = "Prevention" - - -class ResourceIdentityType(str, Enum): - - system_assigned = "SystemAssigned" - user_assigned = "UserAssigned" - system_assigned_user_assigned = "SystemAssigned, UserAssigned" - none = "None" - - -class AzureFirewallRCActionType(str, Enum): - - allow = "Allow" - deny = "Deny" - - -class AzureFirewallApplicationRuleProtocolType(str, Enum): - - http = "Http" - https = "Https" - mssql = "Mssql" - - -class AzureFirewallNatRCActionType(str, Enum): - - snat = "Snat" - dnat = "Dnat" - - -class AzureFirewallNetworkRuleProtocol(str, Enum): - - tcp = "TCP" - udp = "UDP" - any = "Any" - icmp = "ICMP" - - -class AzureFirewallThreatIntelMode(str, Enum): - - alert = "Alert" - deny = "Deny" - off = "Off" - - -class DdosCustomPolicyProtocol(str, Enum): - - tcp = "Tcp" - udp = "Udp" - syn = "Syn" - - -class DdosCustomPolicyTriggerSensitivityOverride(str, Enum): - - relaxed = "Relaxed" - low = "Low" - default = "Default" - high = "High" - - -class AuthorizationUseStatus(str, Enum): - - available = "Available" - in_use = "InUse" - - -class ExpressRouteCircuitPeeringAdvertisedPublicPrefixState(str, Enum): - - not_configured = "NotConfigured" - configuring = "Configuring" - configured = "Configured" - validation_needed = "ValidationNeeded" - - -class ExpressRouteCircuitPeeringState(str, Enum): - - disabled = "Disabled" - enabled = "Enabled" - - -class ExpressRoutePeeringType(str, Enum): - - azure_public_peering = "AzurePublicPeering" - azure_private_peering = "AzurePrivatePeering" - microsoft_peering = "MicrosoftPeering" - - -class ExpressRoutePeeringState(str, Enum): - - disabled = "Disabled" - enabled = "Enabled" - - -class CircuitConnectionStatus(str, Enum): - - connected = "Connected" - connecting = "Connecting" - disconnected = "Disconnected" - - -class ExpressRouteCircuitSkuTier(str, Enum): - - standard = "Standard" - premium = "Premium" - basic = "Basic" - local = "Local" - - -class ExpressRouteCircuitSkuFamily(str, Enum): - - unlimited_data = "UnlimitedData" - metered_data = "MeteredData" - - -class ServiceProviderProvisioningState(str, Enum): - - not_provisioned = "NotProvisioned" - provisioning = "Provisioning" - provisioned = "Provisioned" - deprovisioning = "Deprovisioning" - - -class ExpressRouteLinkMacSecCipher(str, Enum): - - gcm_aes_128 = "gcm-aes-128" - gcm_aes_256 = "gcm-aes-256" - - -class ExpressRouteLinkConnectorType(str, Enum): - - lc = "LC" - sc = "SC" - - -class ExpressRouteLinkAdminState(str, Enum): - - enabled = "Enabled" - disabled = "Disabled" - - -class ExpressRoutePortsEncapsulation(str, Enum): - - dot1_q = "Dot1Q" - qin_q = "QinQ" - - -class FirewallPolicyNatRuleActionType(str, Enum): - - dnat = "DNAT" - snat = "SNAT" - - -class FirewallPolicyFilterRuleActionType(str, Enum): - - allow = "Allow" - deny = "Deny" - alert = "Alert " - - -class FirewallPolicyRuleConditionApplicationProtocolType(str, Enum): - - http = "Http" - https = "Https" - - -class FirewallPolicyRuleConditionNetworkProtocol(str, Enum): - - tcp = "TCP" - udp = "UDP" - any = "Any" - icmp = "ICMP" - - -class LoadBalancerSkuName(str, Enum): - - basic = "Basic" - standard = "Standard" - - -class LoadDistribution(str, Enum): - - default = "Default" - source_ip = "SourceIP" - source_ip_protocol = "SourceIPProtocol" - - -class ProbeProtocol(str, Enum): - - http = "Http" - tcp = "Tcp" - https = "Https" - - -class LoadBalancerOutboundRuleProtocol(str, Enum): - - tcp = "Tcp" - udp = "Udp" - all = "All" - - -class NatGatewaySkuName(str, Enum): - - standard = "Standard" - - -class NetworkOperationStatus(str, Enum): - - in_progress = "InProgress" - succeeded = "Succeeded" - failed = "Failed" - - -class Access(str, Enum): - - allow = "Allow" - deny = "Deny" - - -class AuthenticationMethod(str, Enum): - - eaptls = "EAPTLS" - eapmscha_pv2 = "EAPMSCHAPv2" - - -class EffectiveSecurityRuleProtocol(str, Enum): - - tcp = "Tcp" - udp = "Udp" - all = "All" - - -class EffectiveRouteSource(str, Enum): - - unknown = "Unknown" - user = "User" - virtual_network_gateway = "VirtualNetworkGateway" - default = "Default" - - -class EffectiveRouteState(str, Enum): - - active = "Active" - invalid = "Invalid" - - -class AssociationType(str, Enum): - - associated = "Associated" - contains = "Contains" - - -class Direction(str, Enum): - - inbound = "Inbound" - outbound = "Outbound" - - -class IpFlowProtocol(str, Enum): - - tcp = "TCP" - udp = "UDP" - - -class NextHopType(str, Enum): - - internet = "Internet" - virtual_appliance = "VirtualAppliance" - virtual_network_gateway = "VirtualNetworkGateway" - vnet_local = "VnetLocal" - hyper_net_gateway = "HyperNetGateway" - none = "None" - - -class PcProtocol(str, Enum): - - tcp = "TCP" - udp = "UDP" - any = "Any" - - -class PcStatus(str, Enum): - - not_started = "NotStarted" - running = "Running" - stopped = "Stopped" - error = "Error" - unknown = "Unknown" - - -class PcError(str, Enum): - - internal_error = "InternalError" - agent_stopped = "AgentStopped" - capture_failed = "CaptureFailed" - local_file_failed = "LocalFileFailed" - storage_failed = "StorageFailed" - - -class FlowLogFormatType(str, Enum): - - json = "JSON" - - -class Protocol(str, Enum): - - tcp = "Tcp" - http = "Http" - https = "Https" - icmp = "Icmp" - - -class HTTPMethod(str, Enum): - - get = "Get" - - -class Origin(str, Enum): - - local = "Local" - inbound = "Inbound" - outbound = "Outbound" - - -class Severity(str, Enum): - - error = "Error" - warning = "Warning" - - -class IssueType(str, Enum): - - unknown = "Unknown" - agent_stopped = "AgentStopped" - guest_firewall = "GuestFirewall" - dns_resolution = "DnsResolution" - socket_bind = "SocketBind" - network_security_rule = "NetworkSecurityRule" - user_defined_route = "UserDefinedRoute" - port_throttled = "PortThrottled" - platform = "Platform" - - -class ConnectionStatus(str, Enum): - - unknown = "Unknown" - connected = "Connected" - disconnected = "Disconnected" - degraded = "Degraded" - - -class VerbosityLevel(str, Enum): - - normal = "Normal" - minimum = "Minimum" - full = "Full" - - -class ConnectionState(str, Enum): - - reachable = "Reachable" - unreachable = "Unreachable" - unknown = "Unknown" - - -class EvaluationState(str, Enum): - - not_started = "NotStarted" - in_progress = "InProgress" - completed = "Completed" - - -class ConnectionMonitorSourceStatus(str, Enum): - - unknown = "Unknown" - active = "Active" - inactive = "Inactive" - - -class PublicIPPrefixSkuName(str, Enum): - - standard = "Standard" - - -class VirtualNetworkPeeringState(str, Enum): - - initiated = "Initiated" - connected = "Connected" - disconnected = "Disconnected" - - -class VirtualNetworkGatewayType(str, Enum): - - vpn = "Vpn" - express_route = "ExpressRoute" - - -class VpnType(str, Enum): - - policy_based = "PolicyBased" - route_based = "RouteBased" - - -class VpnGatewayGeneration(str, Enum): - - none = "None" - generation1 = "Generation1" - generation2 = "Generation2" - - -class VirtualNetworkGatewaySkuName(str, Enum): - - basic = "Basic" - high_performance = "HighPerformance" - standard = "Standard" - ultra_performance = "UltraPerformance" - vpn_gw1 = "VpnGw1" - vpn_gw2 = "VpnGw2" - vpn_gw3 = "VpnGw3" - vpn_gw4 = "VpnGw4" - vpn_gw5 = "VpnGw5" - vpn_gw1_az = "VpnGw1AZ" - vpn_gw2_az = "VpnGw2AZ" - vpn_gw3_az = "VpnGw3AZ" - vpn_gw4_az = "VpnGw4AZ" - vpn_gw5_az = "VpnGw5AZ" - er_gw1_az = "ErGw1AZ" - er_gw2_az = "ErGw2AZ" - er_gw3_az = "ErGw3AZ" - - -class VirtualNetworkGatewaySkuTier(str, Enum): - - basic = "Basic" - high_performance = "HighPerformance" - standard = "Standard" - ultra_performance = "UltraPerformance" - vpn_gw1 = "VpnGw1" - vpn_gw2 = "VpnGw2" - vpn_gw3 = "VpnGw3" - vpn_gw4 = "VpnGw4" - vpn_gw5 = "VpnGw5" - vpn_gw1_az = "VpnGw1AZ" - vpn_gw2_az = "VpnGw2AZ" - vpn_gw3_az = "VpnGw3AZ" - vpn_gw4_az = "VpnGw4AZ" - vpn_gw5_az = "VpnGw5AZ" - er_gw1_az = "ErGw1AZ" - er_gw2_az = "ErGw2AZ" - er_gw3_az = "ErGw3AZ" - - -class VpnClientProtocol(str, Enum): - - ike_v2 = "IkeV2" - sstp = "SSTP" - open_vpn = "OpenVPN" - - -class IpsecEncryption(str, Enum): - - none = "None" - des = "DES" - des3 = "DES3" - aes128 = "AES128" - aes192 = "AES192" - aes256 = "AES256" - gcmaes128 = "GCMAES128" - gcmaes192 = "GCMAES192" - gcmaes256 = "GCMAES256" - - -class IpsecIntegrity(str, Enum): - - md5 = "MD5" - sha1 = "SHA1" - sha256 = "SHA256" - gcmaes128 = "GCMAES128" - gcmaes192 = "GCMAES192" - gcmaes256 = "GCMAES256" - - -class IkeEncryption(str, Enum): - - des = "DES" - des3 = "DES3" - aes128 = "AES128" - aes192 = "AES192" - aes256 = "AES256" - gcmaes256 = "GCMAES256" - gcmaes128 = "GCMAES128" - - -class IkeIntegrity(str, Enum): - - md5 = "MD5" - sha1 = "SHA1" - sha256 = "SHA256" - sha384 = "SHA384" - gcmaes256 = "GCMAES256" - gcmaes128 = "GCMAES128" - - -class DhGroup(str, Enum): - - none = "None" - dh_group1 = "DHGroup1" - dh_group2 = "DHGroup2" - dh_group14 = "DHGroup14" - dh_group2048 = "DHGroup2048" - ecp256 = "ECP256" - ecp384 = "ECP384" - dh_group24 = "DHGroup24" - - -class PfsGroup(str, Enum): - - none = "None" - pfs1 = "PFS1" - pfs2 = "PFS2" - pfs2048 = "PFS2048" - ecp256 = "ECP256" - ecp384 = "ECP384" - pfs24 = "PFS24" - pfs14 = "PFS14" - pfsmm = "PFSMM" - - -class BgpPeerState(str, Enum): - - unknown = "Unknown" - stopped = "Stopped" - idle = "Idle" - connecting = "Connecting" - connected = "Connected" - - -class ProcessorArchitecture(str, Enum): - - amd64 = "Amd64" - x86 = "X86" - - -class VirtualNetworkGatewayConnectionStatus(str, Enum): - - unknown = "Unknown" - connecting = "Connecting" - connected = "Connected" - not_connected = "NotConnected" - - -class VirtualNetworkGatewayConnectionType(str, Enum): - - ipsec = "IPsec" - vnet2_vnet = "Vnet2Vnet" - express_route = "ExpressRoute" - vpn_client = "VPNClient" - - -class VirtualNetworkGatewayConnectionProtocol(str, Enum): - - ik_ev2 = "IKEv2" - ik_ev1 = "IKEv1" - - -class OfficeTrafficCategory(str, Enum): - - optimize = "Optimize" - optimize_and_allow = "OptimizeAndAllow" - all = "All" - none = "None" - - -class VpnGatewayTunnelingProtocol(str, Enum): - - ike_v2 = "IkeV2" - open_vpn = "OpenVPN" - - -class VpnConnectionStatus(str, Enum): - - unknown = "Unknown" - connecting = "Connecting" - connected = "Connected" - not_connected = "NotConnected" - - -class VirtualWanSecurityProviderType(str, Enum): - - external = "External" - native = "Native" - - -class TunnelConnectionStatus(str, Enum): - - unknown = "Unknown" - connecting = "Connecting" - connected = "Connected" - not_connected = "NotConnected" - - -class HubVirtualNetworkConnectionStatus(str, Enum): - - unknown = "Unknown" - connecting = "Connecting" - connected = "Connected" - not_connected = "NotConnected" - - -class WebApplicationFirewallEnabledState(str, Enum): - - disabled = "Disabled" - enabled = "Enabled" - - -class WebApplicationFirewallMode(str, Enum): - - prevention = "Prevention" - detection = "Detection" - - -class WebApplicationFirewallRuleType(str, Enum): - - match_rule = "MatchRule" - invalid = "Invalid" - - -class WebApplicationFirewallMatchVariable(str, Enum): - - remote_addr = "RemoteAddr" - request_method = "RequestMethod" - query_string = "QueryString" - post_args = "PostArgs" - request_uri = "RequestUri" - request_headers = "RequestHeaders" - request_body = "RequestBody" - request_cookies = "RequestCookies" - - -class WebApplicationFirewallOperator(str, Enum): - - ip_match = "IPMatch" - equal = "Equal" - contains = "Contains" - less_than = "LessThan" - greater_than = "GreaterThan" - less_than_or_equal = "LessThanOrEqual" - greater_than_or_equal = "GreaterThanOrEqual" - begins_with = "BeginsWith" - ends_with = "EndsWith" - regex = "Regex" - - -class WebApplicationFirewallTransform(str, Enum): - - lowercase = "Lowercase" - trim = "Trim" - url_decode = "UrlDecode" - url_encode = "UrlEncode" - remove_nulls = "RemoveNulls" - html_entity_decode = "HtmlEntityDecode" - - -class WebApplicationFirewallAction(str, Enum): - - allow = "Allow" - block = "Block" - log = "Log" - - -class WebApplicationFirewallPolicyResourceState(str, Enum): - - creating = "Creating" - enabling = "Enabling" - enabled = "Enabled" - disabling = "Disabling" - disabled = "Disabled" - deleting = "Deleting" diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/models/_paged_models.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/models/_paged_models.py deleted file mode 100644 index f2a43d7b7c0..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/models/_paged_models.py +++ /dev/null @@ -1,1002 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.paging import Paged - - -class ApplicationGatewayPaged(Paged): - """ - A paging container for iterating over a list of :class:`ApplicationGateway ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[ApplicationGateway]'} - } - - def __init__(self, *args, **kwargs): - - super(ApplicationGatewayPaged, self).__init__(*args, **kwargs) -class ApplicationGatewaySslPredefinedPolicyPaged(Paged): - """ - A paging container for iterating over a list of :class:`ApplicationGatewaySslPredefinedPolicy ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[ApplicationGatewaySslPredefinedPolicy]'} - } - - def __init__(self, *args, **kwargs): - - super(ApplicationGatewaySslPredefinedPolicyPaged, self).__init__(*args, **kwargs) -class ApplicationSecurityGroupPaged(Paged): - """ - A paging container for iterating over a list of :class:`ApplicationSecurityGroup ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[ApplicationSecurityGroup]'} - } - - def __init__(self, *args, **kwargs): - - super(ApplicationSecurityGroupPaged, self).__init__(*args, **kwargs) -class AvailableDelegationPaged(Paged): - """ - A paging container for iterating over a list of :class:`AvailableDelegation ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[AvailableDelegation]'} - } - - def __init__(self, *args, **kwargs): - - super(AvailableDelegationPaged, self).__init__(*args, **kwargs) -class AzureFirewallPaged(Paged): - """ - A paging container for iterating over a list of :class:`AzureFirewall ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[AzureFirewall]'} - } - - def __init__(self, *args, **kwargs): - - super(AzureFirewallPaged, self).__init__(*args, **kwargs) -class AzureFirewallFqdnTagPaged(Paged): - """ - A paging container for iterating over a list of :class:`AzureFirewallFqdnTag ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[AzureFirewallFqdnTag]'} - } - - def __init__(self, *args, **kwargs): - - super(AzureFirewallFqdnTagPaged, self).__init__(*args, **kwargs) -class BastionHostPaged(Paged): - """ - A paging container for iterating over a list of :class:`BastionHost ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[BastionHost]'} - } - - def __init__(self, *args, **kwargs): - - super(BastionHostPaged, self).__init__(*args, **kwargs) -class DdosProtectionPlanPaged(Paged): - """ - A paging container for iterating over a list of :class:`DdosProtectionPlan ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[DdosProtectionPlan]'} - } - - def __init__(self, *args, **kwargs): - - super(DdosProtectionPlanPaged, self).__init__(*args, **kwargs) -class EndpointServiceResultPaged(Paged): - """ - A paging container for iterating over a list of :class:`EndpointServiceResult ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[EndpointServiceResult]'} - } - - def __init__(self, *args, **kwargs): - - super(EndpointServiceResultPaged, self).__init__(*args, **kwargs) -class ExpressRouteCircuitAuthorizationPaged(Paged): - """ - A paging container for iterating over a list of :class:`ExpressRouteCircuitAuthorization ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[ExpressRouteCircuitAuthorization]'} - } - - def __init__(self, *args, **kwargs): - - super(ExpressRouteCircuitAuthorizationPaged, self).__init__(*args, **kwargs) -class ExpressRouteCircuitPeeringPaged(Paged): - """ - A paging container for iterating over a list of :class:`ExpressRouteCircuitPeering ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[ExpressRouteCircuitPeering]'} - } - - def __init__(self, *args, **kwargs): - - super(ExpressRouteCircuitPeeringPaged, self).__init__(*args, **kwargs) -class ExpressRouteCircuitConnectionPaged(Paged): - """ - A paging container for iterating over a list of :class:`ExpressRouteCircuitConnection ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[ExpressRouteCircuitConnection]'} - } - - def __init__(self, *args, **kwargs): - - super(ExpressRouteCircuitConnectionPaged, self).__init__(*args, **kwargs) -class PeerExpressRouteCircuitConnectionPaged(Paged): - """ - A paging container for iterating over a list of :class:`PeerExpressRouteCircuitConnection ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[PeerExpressRouteCircuitConnection]'} - } - - def __init__(self, *args, **kwargs): - - super(PeerExpressRouteCircuitConnectionPaged, self).__init__(*args, **kwargs) -class ExpressRouteCircuitPaged(Paged): - """ - A paging container for iterating over a list of :class:`ExpressRouteCircuit ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[ExpressRouteCircuit]'} - } - - def __init__(self, *args, **kwargs): - - super(ExpressRouteCircuitPaged, self).__init__(*args, **kwargs) -class ExpressRouteServiceProviderPaged(Paged): - """ - A paging container for iterating over a list of :class:`ExpressRouteServiceProvider ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[ExpressRouteServiceProvider]'} - } - - def __init__(self, *args, **kwargs): - - super(ExpressRouteServiceProviderPaged, self).__init__(*args, **kwargs) -class ExpressRouteCrossConnectionPaged(Paged): - """ - A paging container for iterating over a list of :class:`ExpressRouteCrossConnection ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[ExpressRouteCrossConnection]'} - } - - def __init__(self, *args, **kwargs): - - super(ExpressRouteCrossConnectionPaged, self).__init__(*args, **kwargs) -class ExpressRouteCrossConnectionPeeringPaged(Paged): - """ - A paging container for iterating over a list of :class:`ExpressRouteCrossConnectionPeering ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[ExpressRouteCrossConnectionPeering]'} - } - - def __init__(self, *args, **kwargs): - - super(ExpressRouteCrossConnectionPeeringPaged, self).__init__(*args, **kwargs) -class ExpressRoutePortsLocationPaged(Paged): - """ - A paging container for iterating over a list of :class:`ExpressRoutePortsLocation ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[ExpressRoutePortsLocation]'} - } - - def __init__(self, *args, **kwargs): - - super(ExpressRoutePortsLocationPaged, self).__init__(*args, **kwargs) -class ExpressRoutePortPaged(Paged): - """ - A paging container for iterating over a list of :class:`ExpressRoutePort ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[ExpressRoutePort]'} - } - - def __init__(self, *args, **kwargs): - - super(ExpressRoutePortPaged, self).__init__(*args, **kwargs) -class ExpressRouteLinkPaged(Paged): - """ - A paging container for iterating over a list of :class:`ExpressRouteLink ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[ExpressRouteLink]'} - } - - def __init__(self, *args, **kwargs): - - super(ExpressRouteLinkPaged, self).__init__(*args, **kwargs) -class FirewallPolicyPaged(Paged): - """ - A paging container for iterating over a list of :class:`FirewallPolicy ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[FirewallPolicy]'} - } - - def __init__(self, *args, **kwargs): - - super(FirewallPolicyPaged, self).__init__(*args, **kwargs) -class FirewallPolicyRuleGroupPaged(Paged): - """ - A paging container for iterating over a list of :class:`FirewallPolicyRuleGroup ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[FirewallPolicyRuleGroup]'} - } - - def __init__(self, *args, **kwargs): - - super(FirewallPolicyRuleGroupPaged, self).__init__(*args, **kwargs) -class LoadBalancerPaged(Paged): - """ - A paging container for iterating over a list of :class:`LoadBalancer ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[LoadBalancer]'} - } - - def __init__(self, *args, **kwargs): - - super(LoadBalancerPaged, self).__init__(*args, **kwargs) -class BackendAddressPoolPaged(Paged): - """ - A paging container for iterating over a list of :class:`BackendAddressPool ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[BackendAddressPool]'} - } - - def __init__(self, *args, **kwargs): - - super(BackendAddressPoolPaged, self).__init__(*args, **kwargs) -class FrontendIPConfigurationPaged(Paged): - """ - A paging container for iterating over a list of :class:`FrontendIPConfiguration ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[FrontendIPConfiguration]'} - } - - def __init__(self, *args, **kwargs): - - super(FrontendIPConfigurationPaged, self).__init__(*args, **kwargs) -class InboundNatRulePaged(Paged): - """ - A paging container for iterating over a list of :class:`InboundNatRule ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[InboundNatRule]'} - } - - def __init__(self, *args, **kwargs): - - super(InboundNatRulePaged, self).__init__(*args, **kwargs) -class LoadBalancingRulePaged(Paged): - """ - A paging container for iterating over a list of :class:`LoadBalancingRule ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[LoadBalancingRule]'} - } - - def __init__(self, *args, **kwargs): - - super(LoadBalancingRulePaged, self).__init__(*args, **kwargs) -class OutboundRulePaged(Paged): - """ - A paging container for iterating over a list of :class:`OutboundRule ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[OutboundRule]'} - } - - def __init__(self, *args, **kwargs): - - super(OutboundRulePaged, self).__init__(*args, **kwargs) -class NetworkInterfacePaged(Paged): - """ - A paging container for iterating over a list of :class:`NetworkInterface ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[NetworkInterface]'} - } - - def __init__(self, *args, **kwargs): - - super(NetworkInterfacePaged, self).__init__(*args, **kwargs) -class ProbePaged(Paged): - """ - A paging container for iterating over a list of :class:`Probe ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[Probe]'} - } - - def __init__(self, *args, **kwargs): - - super(ProbePaged, self).__init__(*args, **kwargs) -class NatGatewayPaged(Paged): - """ - A paging container for iterating over a list of :class:`NatGateway ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[NatGateway]'} - } - - def __init__(self, *args, **kwargs): - - super(NatGatewayPaged, self).__init__(*args, **kwargs) -class NetworkInterfaceIPConfigurationPaged(Paged): - """ - A paging container for iterating over a list of :class:`NetworkInterfaceIPConfiguration ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[NetworkInterfaceIPConfiguration]'} - } - - def __init__(self, *args, **kwargs): - - super(NetworkInterfaceIPConfigurationPaged, self).__init__(*args, **kwargs) -class NetworkInterfaceTapConfigurationPaged(Paged): - """ - A paging container for iterating over a list of :class:`NetworkInterfaceTapConfiguration ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[NetworkInterfaceTapConfiguration]'} - } - - def __init__(self, *args, **kwargs): - - super(NetworkInterfaceTapConfigurationPaged, self).__init__(*args, **kwargs) -class NetworkProfilePaged(Paged): - """ - A paging container for iterating over a list of :class:`NetworkProfile ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[NetworkProfile]'} - } - - def __init__(self, *args, **kwargs): - - super(NetworkProfilePaged, self).__init__(*args, **kwargs) -class NetworkSecurityGroupPaged(Paged): - """ - A paging container for iterating over a list of :class:`NetworkSecurityGroup ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[NetworkSecurityGroup]'} - } - - def __init__(self, *args, **kwargs): - - super(NetworkSecurityGroupPaged, self).__init__(*args, **kwargs) -class SecurityRulePaged(Paged): - """ - A paging container for iterating over a list of :class:`SecurityRule ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[SecurityRule]'} - } - - def __init__(self, *args, **kwargs): - - super(SecurityRulePaged, self).__init__(*args, **kwargs) -class NetworkWatcherPaged(Paged): - """ - A paging container for iterating over a list of :class:`NetworkWatcher ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[NetworkWatcher]'} - } - - def __init__(self, *args, **kwargs): - - super(NetworkWatcherPaged, self).__init__(*args, **kwargs) -class PacketCaptureResultPaged(Paged): - """ - A paging container for iterating over a list of :class:`PacketCaptureResult ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[PacketCaptureResult]'} - } - - def __init__(self, *args, **kwargs): - - super(PacketCaptureResultPaged, self).__init__(*args, **kwargs) -class ConnectionMonitorResultPaged(Paged): - """ - A paging container for iterating over a list of :class:`ConnectionMonitorResult ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[ConnectionMonitorResult]'} - } - - def __init__(self, *args, **kwargs): - - super(ConnectionMonitorResultPaged, self).__init__(*args, **kwargs) -class OperationPaged(Paged): - """ - A paging container for iterating over a list of :class:`Operation ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[Operation]'} - } - - def __init__(self, *args, **kwargs): - - super(OperationPaged, self).__init__(*args, **kwargs) -class PrivateEndpointPaged(Paged): - """ - A paging container for iterating over a list of :class:`PrivateEndpoint ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[PrivateEndpoint]'} - } - - def __init__(self, *args, **kwargs): - - super(PrivateEndpointPaged, self).__init__(*args, **kwargs) -class AvailablePrivateEndpointTypePaged(Paged): - """ - A paging container for iterating over a list of :class:`AvailablePrivateEndpointType ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[AvailablePrivateEndpointType]'} - } - - def __init__(self, *args, **kwargs): - - super(AvailablePrivateEndpointTypePaged, self).__init__(*args, **kwargs) -class PrivateLinkServicePaged(Paged): - """ - A paging container for iterating over a list of :class:`PrivateLinkService ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[PrivateLinkService]'} - } - - def __init__(self, *args, **kwargs): - - super(PrivateLinkServicePaged, self).__init__(*args, **kwargs) -class AutoApprovedPrivateLinkServicePaged(Paged): - """ - A paging container for iterating over a list of :class:`AutoApprovedPrivateLinkService ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[AutoApprovedPrivateLinkService]'} - } - - def __init__(self, *args, **kwargs): - - super(AutoApprovedPrivateLinkServicePaged, self).__init__(*args, **kwargs) -class PublicIPAddressPaged(Paged): - """ - A paging container for iterating over a list of :class:`PublicIPAddress ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[PublicIPAddress]'} - } - - def __init__(self, *args, **kwargs): - - super(PublicIPAddressPaged, self).__init__(*args, **kwargs) -class PublicIPPrefixPaged(Paged): - """ - A paging container for iterating over a list of :class:`PublicIPPrefix ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[PublicIPPrefix]'} - } - - def __init__(self, *args, **kwargs): - - super(PublicIPPrefixPaged, self).__init__(*args, **kwargs) -class RouteFilterPaged(Paged): - """ - A paging container for iterating over a list of :class:`RouteFilter ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[RouteFilter]'} - } - - def __init__(self, *args, **kwargs): - - super(RouteFilterPaged, self).__init__(*args, **kwargs) -class RouteFilterRulePaged(Paged): - """ - A paging container for iterating over a list of :class:`RouteFilterRule ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[RouteFilterRule]'} - } - - def __init__(self, *args, **kwargs): - - super(RouteFilterRulePaged, self).__init__(*args, **kwargs) -class RouteTablePaged(Paged): - """ - A paging container for iterating over a list of :class:`RouteTable ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[RouteTable]'} - } - - def __init__(self, *args, **kwargs): - - super(RouteTablePaged, self).__init__(*args, **kwargs) -class RoutePaged(Paged): - """ - A paging container for iterating over a list of :class:`Route ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[Route]'} - } - - def __init__(self, *args, **kwargs): - - super(RoutePaged, self).__init__(*args, **kwargs) -class BgpServiceCommunityPaged(Paged): - """ - A paging container for iterating over a list of :class:`BgpServiceCommunity ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[BgpServiceCommunity]'} - } - - def __init__(self, *args, **kwargs): - - super(BgpServiceCommunityPaged, self).__init__(*args, **kwargs) -class ServiceEndpointPolicyPaged(Paged): - """ - A paging container for iterating over a list of :class:`ServiceEndpointPolicy ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[ServiceEndpointPolicy]'} - } - - def __init__(self, *args, **kwargs): - - super(ServiceEndpointPolicyPaged, self).__init__(*args, **kwargs) -class ServiceEndpointPolicyDefinitionPaged(Paged): - """ - A paging container for iterating over a list of :class:`ServiceEndpointPolicyDefinition ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[ServiceEndpointPolicyDefinition]'} - } - - def __init__(self, *args, **kwargs): - - super(ServiceEndpointPolicyDefinitionPaged, self).__init__(*args, **kwargs) -class UsagePaged(Paged): - """ - A paging container for iterating over a list of :class:`Usage ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[Usage]'} - } - - def __init__(self, *args, **kwargs): - - super(UsagePaged, self).__init__(*args, **kwargs) -class VirtualNetworkPaged(Paged): - """ - A paging container for iterating over a list of :class:`VirtualNetwork ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[VirtualNetwork]'} - } - - def __init__(self, *args, **kwargs): - - super(VirtualNetworkPaged, self).__init__(*args, **kwargs) -class VirtualNetworkUsagePaged(Paged): - """ - A paging container for iterating over a list of :class:`VirtualNetworkUsage ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[VirtualNetworkUsage]'} - } - - def __init__(self, *args, **kwargs): - - super(VirtualNetworkUsagePaged, self).__init__(*args, **kwargs) -class SubnetPaged(Paged): - """ - A paging container for iterating over a list of :class:`Subnet ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[Subnet]'} - } - - def __init__(self, *args, **kwargs): - - super(SubnetPaged, self).__init__(*args, **kwargs) -class VirtualNetworkPeeringPaged(Paged): - """ - A paging container for iterating over a list of :class:`VirtualNetworkPeering ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[VirtualNetworkPeering]'} - } - - def __init__(self, *args, **kwargs): - - super(VirtualNetworkPeeringPaged, self).__init__(*args, **kwargs) -class VirtualNetworkGatewayPaged(Paged): - """ - A paging container for iterating over a list of :class:`VirtualNetworkGateway ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[VirtualNetworkGateway]'} - } - - def __init__(self, *args, **kwargs): - - super(VirtualNetworkGatewayPaged, self).__init__(*args, **kwargs) -class VirtualNetworkGatewayConnectionListEntityPaged(Paged): - """ - A paging container for iterating over a list of :class:`VirtualNetworkGatewayConnectionListEntity ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[VirtualNetworkGatewayConnectionListEntity]'} - } - - def __init__(self, *args, **kwargs): - - super(VirtualNetworkGatewayConnectionListEntityPaged, self).__init__(*args, **kwargs) -class VirtualNetworkGatewayConnectionPaged(Paged): - """ - A paging container for iterating over a list of :class:`VirtualNetworkGatewayConnection ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[VirtualNetworkGatewayConnection]'} - } - - def __init__(self, *args, **kwargs): - - super(VirtualNetworkGatewayConnectionPaged, self).__init__(*args, **kwargs) -class LocalNetworkGatewayPaged(Paged): - """ - A paging container for iterating over a list of :class:`LocalNetworkGateway ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[LocalNetworkGateway]'} - } - - def __init__(self, *args, **kwargs): - - super(LocalNetworkGatewayPaged, self).__init__(*args, **kwargs) -class VirtualNetworkTapPaged(Paged): - """ - A paging container for iterating over a list of :class:`VirtualNetworkTap ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[VirtualNetworkTap]'} - } - - def __init__(self, *args, **kwargs): - - super(VirtualNetworkTapPaged, self).__init__(*args, **kwargs) -class VirtualRouterPaged(Paged): - """ - A paging container for iterating over a list of :class:`VirtualRouter ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[VirtualRouter]'} - } - - def __init__(self, *args, **kwargs): - - super(VirtualRouterPaged, self).__init__(*args, **kwargs) -class VirtualRouterPeeringPaged(Paged): - """ - A paging container for iterating over a list of :class:`VirtualRouterPeering ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[VirtualRouterPeering]'} - } - - def __init__(self, *args, **kwargs): - - super(VirtualRouterPeeringPaged, self).__init__(*args, **kwargs) -class VirtualWANPaged(Paged): - """ - A paging container for iterating over a list of :class:`VirtualWAN ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[VirtualWAN]'} - } - - def __init__(self, *args, **kwargs): - - super(VirtualWANPaged, self).__init__(*args, **kwargs) -class VpnSitePaged(Paged): - """ - A paging container for iterating over a list of :class:`VpnSite ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[VpnSite]'} - } - - def __init__(self, *args, **kwargs): - - super(VpnSitePaged, self).__init__(*args, **kwargs) -class VpnSiteLinkPaged(Paged): - """ - A paging container for iterating over a list of :class:`VpnSiteLink ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[VpnSiteLink]'} - } - - def __init__(self, *args, **kwargs): - - super(VpnSiteLinkPaged, self).__init__(*args, **kwargs) -class VirtualHubPaged(Paged): - """ - A paging container for iterating over a list of :class:`VirtualHub ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[VirtualHub]'} - } - - def __init__(self, *args, **kwargs): - - super(VirtualHubPaged, self).__init__(*args, **kwargs) -class HubVirtualNetworkConnectionPaged(Paged): - """ - A paging container for iterating over a list of :class:`HubVirtualNetworkConnection ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[HubVirtualNetworkConnection]'} - } - - def __init__(self, *args, **kwargs): - - super(HubVirtualNetworkConnectionPaged, self).__init__(*args, **kwargs) -class VpnGatewayPaged(Paged): - """ - A paging container for iterating over a list of :class:`VpnGateway ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[VpnGateway]'} - } - - def __init__(self, *args, **kwargs): - - super(VpnGatewayPaged, self).__init__(*args, **kwargs) -class VpnConnectionPaged(Paged): - """ - A paging container for iterating over a list of :class:`VpnConnection ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[VpnConnection]'} - } - - def __init__(self, *args, **kwargs): - - super(VpnConnectionPaged, self).__init__(*args, **kwargs) -class VpnSiteLinkConnectionPaged(Paged): - """ - A paging container for iterating over a list of :class:`VpnSiteLinkConnection ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[VpnSiteLinkConnection]'} - } - - def __init__(self, *args, **kwargs): - - super(VpnSiteLinkConnectionPaged, self).__init__(*args, **kwargs) -class P2SVpnServerConfigurationPaged(Paged): - """ - A paging container for iterating over a list of :class:`P2SVpnServerConfiguration ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[P2SVpnServerConfiguration]'} - } - - def __init__(self, *args, **kwargs): - - super(P2SVpnServerConfigurationPaged, self).__init__(*args, **kwargs) -class P2SVpnGatewayPaged(Paged): - """ - A paging container for iterating over a list of :class:`P2SVpnGateway ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[P2SVpnGateway]'} - } - - def __init__(self, *args, **kwargs): - - super(P2SVpnGatewayPaged, self).__init__(*args, **kwargs) -class WebApplicationFirewallPolicyPaged(Paged): - """ - A paging container for iterating over a list of :class:`WebApplicationFirewallPolicy ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[WebApplicationFirewallPolicy]'} - } - - def __init__(self, *args, **kwargs): - - super(WebApplicationFirewallPolicyPaged, self).__init__(*args, **kwargs) diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/__init__.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/__init__.py deleted file mode 100644 index 46472dd669d..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/__init__.py +++ /dev/null @@ -1,184 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from ._application_gateways_operations import ApplicationGatewaysOperations -from ._application_security_groups_operations import ApplicationSecurityGroupsOperations -from ._available_delegations_operations import AvailableDelegationsOperations -from ._available_resource_group_delegations_operations import AvailableResourceGroupDelegationsOperations -from ._azure_firewalls_operations import AzureFirewallsOperations -from ._azure_firewall_fqdn_tags_operations import AzureFirewallFqdnTagsOperations -from ._bastion_hosts_operations import BastionHostsOperations -from ._ddos_custom_policies_operations import DdosCustomPoliciesOperations -from ._ddos_protection_plans_operations import DdosProtectionPlansOperations -from ._available_endpoint_services_operations import AvailableEndpointServicesOperations -from ._express_route_circuit_authorizations_operations import ExpressRouteCircuitAuthorizationsOperations -from ._express_route_circuit_peerings_operations import ExpressRouteCircuitPeeringsOperations -from ._express_route_circuit_connections_operations import ExpressRouteCircuitConnectionsOperations -from ._peer_express_route_circuit_connections_operations import PeerExpressRouteCircuitConnectionsOperations -from ._express_route_circuits_operations import ExpressRouteCircuitsOperations -from ._express_route_service_providers_operations import ExpressRouteServiceProvidersOperations -from ._express_route_cross_connections_operations import ExpressRouteCrossConnectionsOperations -from ._express_route_cross_connection_peerings_operations import ExpressRouteCrossConnectionPeeringsOperations -from ._express_route_gateways_operations import ExpressRouteGatewaysOperations -from ._express_route_connections_operations import ExpressRouteConnectionsOperations -from ._express_route_ports_locations_operations import ExpressRoutePortsLocationsOperations -from ._express_route_ports_operations import ExpressRoutePortsOperations -from ._express_route_links_operations import ExpressRouteLinksOperations -from ._firewall_policies_operations import FirewallPoliciesOperations -from ._firewall_policy_rule_groups_operations import FirewallPolicyRuleGroupsOperations -from ._load_balancers_operations import LoadBalancersOperations -from ._load_balancer_backend_address_pools_operations import LoadBalancerBackendAddressPoolsOperations -from ._load_balancer_frontend_ip_configurations_operations import LoadBalancerFrontendIPConfigurationsOperations -from ._inbound_nat_rules_operations import InboundNatRulesOperations -from ._load_balancer_load_balancing_rules_operations import LoadBalancerLoadBalancingRulesOperations -from ._load_balancer_outbound_rules_operations import LoadBalancerOutboundRulesOperations -from ._load_balancer_network_interfaces_operations import LoadBalancerNetworkInterfacesOperations -from ._load_balancer_probes_operations import LoadBalancerProbesOperations -from ._nat_gateways_operations import NatGatewaysOperations -from ._network_interfaces_operations import NetworkInterfacesOperations -from ._network_interface_ip_configurations_operations import NetworkInterfaceIPConfigurationsOperations -from ._network_interface_load_balancers_operations import NetworkInterfaceLoadBalancersOperations -from ._network_interface_tap_configurations_operations import NetworkInterfaceTapConfigurationsOperations -from ._network_profiles_operations import NetworkProfilesOperations -from ._network_security_groups_operations import NetworkSecurityGroupsOperations -from ._security_rules_operations import SecurityRulesOperations -from ._default_security_rules_operations import DefaultSecurityRulesOperations -from ._network_watchers_operations import NetworkWatchersOperations -from ._packet_captures_operations import PacketCapturesOperations -from ._connection_monitors_operations import ConnectionMonitorsOperations -from ._operations import Operations -from ._private_endpoints_operations import PrivateEndpointsOperations -from ._available_private_endpoint_types_operations import AvailablePrivateEndpointTypesOperations -from ._private_link_services_operations import PrivateLinkServicesOperations -from ._public_ip_addresses_operations import PublicIPAddressesOperations -from ._public_ip_prefixes_operations import PublicIPPrefixesOperations -from ._route_filters_operations import RouteFiltersOperations -from ._route_filter_rules_operations import RouteFilterRulesOperations -from ._route_tables_operations import RouteTablesOperations -from ._routes_operations import RoutesOperations -from ._bgp_service_communities_operations import BgpServiceCommunitiesOperations -from ._service_endpoint_policies_operations import ServiceEndpointPoliciesOperations -from ._service_endpoint_policy_definitions_operations import ServiceEndpointPolicyDefinitionsOperations -from ._service_tags_operations import ServiceTagsOperations -from ._usages_operations import UsagesOperations -from ._virtual_networks_operations import VirtualNetworksOperations -from ._subnets_operations import SubnetsOperations -from ._resource_navigation_links_operations import ResourceNavigationLinksOperations -from ._service_association_links_operations import ServiceAssociationLinksOperations -from ._virtual_network_peerings_operations import VirtualNetworkPeeringsOperations -from ._virtual_network_gateways_operations import VirtualNetworkGatewaysOperations -from ._virtual_network_gateway_connections_operations import VirtualNetworkGatewayConnectionsOperations -from ._local_network_gateways_operations import LocalNetworkGatewaysOperations -from ._virtual_network_taps_operations import VirtualNetworkTapsOperations -from ._virtual_routers_operations import VirtualRoutersOperations -from ._virtual_router_peerings_operations import VirtualRouterPeeringsOperations -from ._virtual_wans_operations import VirtualWansOperations -from ._vpn_sites_operations import VpnSitesOperations -from ._vpn_site_links_operations import VpnSiteLinksOperations -from ._vpn_sites_configuration_operations import VpnSitesConfigurationOperations -from ._virtual_hubs_operations import VirtualHubsOperations -from ._hub_virtual_network_connections_operations import HubVirtualNetworkConnectionsOperations -from ._vpn_gateways_operations import VpnGatewaysOperations -from ._vpn_connections_operations import VpnConnectionsOperations -from ._vpn_site_link_connections_operations import VpnSiteLinkConnectionsOperations -from ._vpn_link_connections_operations import VpnLinkConnectionsOperations -from ._p2s_vpn_server_configurations_operations import P2sVpnServerConfigurationsOperations -from ._p2s_vpn_gateways_operations import P2sVpnGatewaysOperations -from ._web_application_firewall_policies_operations import WebApplicationFirewallPoliciesOperations -from ._network_management_client_operations import NetworkManagementClientOperationsMixin - -__all__ = [ - 'ApplicationGatewaysOperations', - 'ApplicationSecurityGroupsOperations', - 'AvailableDelegationsOperations', - 'AvailableResourceGroupDelegationsOperations', - 'AzureFirewallsOperations', - 'AzureFirewallFqdnTagsOperations', - 'BastionHostsOperations', - 'DdosCustomPoliciesOperations', - 'DdosProtectionPlansOperations', - 'AvailableEndpointServicesOperations', - 'ExpressRouteCircuitAuthorizationsOperations', - 'ExpressRouteCircuitPeeringsOperations', - 'ExpressRouteCircuitConnectionsOperations', - 'PeerExpressRouteCircuitConnectionsOperations', - 'ExpressRouteCircuitsOperations', - 'ExpressRouteServiceProvidersOperations', - 'ExpressRouteCrossConnectionsOperations', - 'ExpressRouteCrossConnectionPeeringsOperations', - 'ExpressRouteGatewaysOperations', - 'ExpressRouteConnectionsOperations', - 'ExpressRoutePortsLocationsOperations', - 'ExpressRoutePortsOperations', - 'ExpressRouteLinksOperations', - 'FirewallPoliciesOperations', - 'FirewallPolicyRuleGroupsOperations', - 'LoadBalancersOperations', - 'LoadBalancerBackendAddressPoolsOperations', - 'LoadBalancerFrontendIPConfigurationsOperations', - 'InboundNatRulesOperations', - 'LoadBalancerLoadBalancingRulesOperations', - 'LoadBalancerOutboundRulesOperations', - 'LoadBalancerNetworkInterfacesOperations', - 'LoadBalancerProbesOperations', - 'NatGatewaysOperations', - 'NetworkInterfacesOperations', - 'NetworkInterfaceIPConfigurationsOperations', - 'NetworkInterfaceLoadBalancersOperations', - 'NetworkInterfaceTapConfigurationsOperations', - 'NetworkProfilesOperations', - 'NetworkSecurityGroupsOperations', - 'SecurityRulesOperations', - 'DefaultSecurityRulesOperations', - 'NetworkWatchersOperations', - 'PacketCapturesOperations', - 'ConnectionMonitorsOperations', - 'Operations', - 'PrivateEndpointsOperations', - 'AvailablePrivateEndpointTypesOperations', - 'PrivateLinkServicesOperations', - 'PublicIPAddressesOperations', - 'PublicIPPrefixesOperations', - 'RouteFiltersOperations', - 'RouteFilterRulesOperations', - 'RouteTablesOperations', - 'RoutesOperations', - 'BgpServiceCommunitiesOperations', - 'ServiceEndpointPoliciesOperations', - 'ServiceEndpointPolicyDefinitionsOperations', - 'ServiceTagsOperations', - 'UsagesOperations', - 'VirtualNetworksOperations', - 'SubnetsOperations', - 'ResourceNavigationLinksOperations', - 'ServiceAssociationLinksOperations', - 'VirtualNetworkPeeringsOperations', - 'VirtualNetworkGatewaysOperations', - 'VirtualNetworkGatewayConnectionsOperations', - 'LocalNetworkGatewaysOperations', - 'VirtualNetworkTapsOperations', - 'VirtualRoutersOperations', - 'VirtualRouterPeeringsOperations', - 'VirtualWansOperations', - 'VpnSitesOperations', - 'VpnSiteLinksOperations', - 'VpnSitesConfigurationOperations', - 'VirtualHubsOperations', - 'HubVirtualNetworkConnectionsOperations', - 'VpnGatewaysOperations', - 'VpnConnectionsOperations', - 'VpnSiteLinkConnectionsOperations', - 'VpnLinkConnectionsOperations', - 'P2sVpnServerConfigurationsOperations', - 'P2sVpnGatewaysOperations', - 'WebApplicationFirewallPoliciesOperations', - 'NetworkManagementClientOperationsMixin', -] diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_application_gateways_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_application_gateways_operations.py deleted file mode 100644 index 5202fbd9c17..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_application_gateways_operations.py +++ /dev/null @@ -1,1292 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class ApplicationGatewaysOperations(object): - """ApplicationGatewaysOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-07-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-07-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, application_gateway_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'applicationGatewayName': self._serialize.url("application_gateway_name", application_gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, application_gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified application gateway. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param application_gateway_name: The name of the application gateway. - :type application_gateway_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - application_gateway_name=application_gateway_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}'} - - def get( - self, resource_group_name, application_gateway_name, custom_headers=None, raw=False, **operation_config): - """Gets the specified application gateway. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param application_gateway_name: The name of the application gateway. - :type application_gateway_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ApplicationGateway or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_07_01.models.ApplicationGateway or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'applicationGatewayName': self._serialize.url("application_gateway_name", application_gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ApplicationGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}'} - - - def _create_or_update_initial( - self, resource_group_name, application_gateway_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'applicationGatewayName': self._serialize.url("application_gateway_name", application_gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'ApplicationGateway') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('ApplicationGateway', response) - if response.status_code == 201: - deserialized = self._deserialize('ApplicationGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, application_gateway_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates the specified application gateway. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param application_gateway_name: The name of the application gateway. - :type application_gateway_name: str - :param parameters: Parameters supplied to the create or update - application gateway operation. - :type parameters: - ~azure.mgmt.network.v2019_07_01.models.ApplicationGateway - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns ApplicationGateway or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.ApplicationGateway] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.ApplicationGateway]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - application_gateway_name=application_gateway_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ApplicationGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}'} - - - def _update_tags_initial( - self, resource_group_name, application_gateway_name, tags=None, custom_headers=None, raw=False, **operation_config): - parameters = models.TagsObject(tags=tags) - - # Construct URL - url = self.update_tags.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'applicationGatewayName': self._serialize.url("application_gateway_name", application_gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'TagsObject') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ApplicationGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def update_tags( - self, resource_group_name, application_gateway_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Updates the specified application gateway tags. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param application_gateway_name: The name of the application gateway. - :type application_gateway_name: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns ApplicationGateway or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.ApplicationGateway] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.ApplicationGateway]] - :raises: :class:`CloudError` - """ - raw_result = self._update_tags_initial( - resource_group_name=resource_group_name, - application_gateway_name=application_gateway_name, - tags=tags, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ApplicationGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}'} - - def list( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Lists all application gateways in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of ApplicationGateway - :rtype: - ~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayPaged[~azure.mgmt.network.v2019_07_01.models.ApplicationGateway] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.ApplicationGatewayPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways'} - - def list_all( - self, custom_headers=None, raw=False, **operation_config): - """Gets all the application gateways in a subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of ApplicationGateway - :rtype: - ~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayPaged[~azure.mgmt.network.v2019_07_01.models.ApplicationGateway] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_all.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.ApplicationGatewayPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGateways'} - - - def _start_initial( - self, resource_group_name, application_gateway_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.start.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'applicationGatewayName': self._serialize.url("application_gateway_name", application_gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def start( - self, resource_group_name, application_gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Starts the specified application gateway. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param application_gateway_name: The name of the application gateway. - :type application_gateway_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._start_initial( - resource_group_name=resource_group_name, - application_gateway_name=application_gateway_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - start.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}/start'} - - - def _stop_initial( - self, resource_group_name, application_gateway_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.stop.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'applicationGatewayName': self._serialize.url("application_gateway_name", application_gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def stop( - self, resource_group_name, application_gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Stops the specified application gateway in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param application_gateway_name: The name of the application gateway. - :type application_gateway_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._stop_initial( - resource_group_name=resource_group_name, - application_gateway_name=application_gateway_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - stop.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}/stop'} - - - def _backend_health_initial( - self, resource_group_name, application_gateway_name, expand=None, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.backend_health.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'applicationGatewayName': self._serialize.url("application_gateway_name", application_gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - if expand is not None: - query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - 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('ApplicationGatewayBackendHealth', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def backend_health( - self, resource_group_name, application_gateway_name, expand=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Gets the backend health of the specified application gateway in a - resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param application_gateway_name: The name of the application gateway. - :type application_gateway_name: str - :param expand: Expands BackendAddressPool and BackendHttpSettings - referenced in backend health. - :type expand: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - ApplicationGatewayBackendHealth or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayBackendHealth] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayBackendHealth]] - :raises: :class:`CloudError` - """ - raw_result = self._backend_health_initial( - resource_group_name=resource_group_name, - application_gateway_name=application_gateway_name, - expand=expand, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ApplicationGatewayBackendHealth', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - backend_health.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}/backendhealth'} - - - def _backend_health_on_demand_initial( - self, resource_group_name, application_gateway_name, probe_request, expand=None, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.backend_health_on_demand.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'applicationGatewayName': self._serialize.url("application_gateway_name", application_gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - if expand is not None: - query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(probe_request, 'ApplicationGatewayOnDemandProbe') - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - 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('ApplicationGatewayBackendHealthOnDemand', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def backend_health_on_demand( - self, resource_group_name, application_gateway_name, probe_request, expand=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Gets the backend health for given combination of backend pool and http - setting of the specified application gateway in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param application_gateway_name: The name of the application gateway. - :type application_gateway_name: str - :param probe_request: Request body for on-demand test probe operation. - :type probe_request: - ~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayOnDemandProbe - :param expand: Expands BackendAddressPool and BackendHttpSettings - referenced in backend health. - :type expand: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - ApplicationGatewayBackendHealthOnDemand or - ClientRawResponse if - raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayBackendHealthOnDemand] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayBackendHealthOnDemand]] - :raises: :class:`CloudError` - """ - raw_result = self._backend_health_on_demand_initial( - resource_group_name=resource_group_name, - application_gateway_name=application_gateway_name, - probe_request=probe_request, - expand=expand, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ApplicationGatewayBackendHealthOnDemand', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - backend_health_on_demand.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}/getBackendHealthOnDemand'} - - def list_available_server_variables( - self, custom_headers=None, raw=False, **operation_config): - """Lists all available server variables. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: list or ClientRawResponse if raw=true - :rtype: list[str] or ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorException` - """ - # Construct URL - url = self.list_available_server_variables.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorException(self._deserialize, response) - - deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('[str]', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - list_available_server_variables.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableServerVariables'} - - def list_available_request_headers( - self, custom_headers=None, raw=False, **operation_config): - """Lists all available request headers. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: list or ClientRawResponse if raw=true - :rtype: list[str] or ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorException` - """ - # Construct URL - url = self.list_available_request_headers.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorException(self._deserialize, response) - - deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('[str]', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - list_available_request_headers.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableRequestHeaders'} - - def list_available_response_headers( - self, custom_headers=None, raw=False, **operation_config): - """Lists all available response headers. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: list or ClientRawResponse if raw=true - :rtype: list[str] or ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorException` - """ - # Construct URL - url = self.list_available_response_headers.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorException(self._deserialize, response) - - deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('[str]', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - list_available_response_headers.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableResponseHeaders'} - - def list_available_waf_rule_sets( - self, custom_headers=None, raw=False, **operation_config): - """Lists all available web application firewall rule sets. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ApplicationGatewayAvailableWafRuleSetsResult or - ClientRawResponse if raw=true - :rtype: - ~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayAvailableWafRuleSetsResult - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.list_available_waf_rule_sets.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ApplicationGatewayAvailableWafRuleSetsResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - list_available_waf_rule_sets.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableWafRuleSets'} - - def list_available_ssl_options( - self, custom_headers=None, raw=False, **operation_config): - """Lists available Ssl options for configuring Ssl policy. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ApplicationGatewayAvailableSslOptions or ClientRawResponse if - raw=true - :rtype: - ~azure.mgmt.network.v2019_07_01.models.ApplicationGatewayAvailableSslOptions - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.list_available_ssl_options.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ApplicationGatewayAvailableSslOptions', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - list_available_ssl_options.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableSslOptions/default'} - - def list_available_ssl_predefined_policies( - self, custom_headers=None, raw=False, **operation_config): - """Lists all SSL predefined policies for configuring Ssl policy. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of - ApplicationGatewaySslPredefinedPolicy - :rtype: - ~azure.mgmt.network.v2019_07_01.models.ApplicationGatewaySslPredefinedPolicyPaged[~azure.mgmt.network.v2019_07_01.models.ApplicationGatewaySslPredefinedPolicy] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_available_ssl_predefined_policies.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.ApplicationGatewaySslPredefinedPolicyPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_available_ssl_predefined_policies.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableSslOptions/default/predefinedPolicies'} - - def get_ssl_predefined_policy( - self, predefined_policy_name, custom_headers=None, raw=False, **operation_config): - """Gets Ssl predefined policy with the specified policy name. - - :param predefined_policy_name: Name of Ssl predefined policy. - :type predefined_policy_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ApplicationGatewaySslPredefinedPolicy or ClientRawResponse if - raw=true - :rtype: - ~azure.mgmt.network.v2019_07_01.models.ApplicationGatewaySslPredefinedPolicy - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get_ssl_predefined_policy.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'predefinedPolicyName': self._serialize.url("predefined_policy_name", predefined_policy_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ApplicationGatewaySslPredefinedPolicy', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get_ssl_predefined_policy.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableSslOptions/default/predefinedPolicies/{predefinedPolicyName}'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_application_security_groups_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_application_security_groups_operations.py deleted file mode 100644 index a34e0e840cd..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_application_security_groups_operations.py +++ /dev/null @@ -1,530 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class ApplicationSecurityGroupsOperations(object): - """ApplicationSecurityGroupsOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-07-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-07-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, application_security_group_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'applicationSecurityGroupName': self._serialize.url("application_security_group_name", application_security_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, application_security_group_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified application security group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param application_security_group_name: The name of the application - security group. - :type application_security_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - application_security_group_name=application_security_group_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationSecurityGroups/{applicationSecurityGroupName}'} - - def get( - self, resource_group_name, application_security_group_name, custom_headers=None, raw=False, **operation_config): - """Gets information about the specified application security group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param application_security_group_name: The name of the application - security group. - :type application_security_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ApplicationSecurityGroup or ClientRawResponse if raw=true - :rtype: - ~azure.mgmt.network.v2019_07_01.models.ApplicationSecurityGroup or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'applicationSecurityGroupName': self._serialize.url("application_security_group_name", application_security_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ApplicationSecurityGroup', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationSecurityGroups/{applicationSecurityGroupName}'} - - - def _create_or_update_initial( - self, resource_group_name, application_security_group_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'applicationSecurityGroupName': self._serialize.url("application_security_group_name", application_security_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'ApplicationSecurityGroup') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('ApplicationSecurityGroup', response) - if response.status_code == 201: - deserialized = self._deserialize('ApplicationSecurityGroup', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, application_security_group_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates an application security group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param application_security_group_name: The name of the application - security group. - :type application_security_group_name: str - :param parameters: Parameters supplied to the create or update - ApplicationSecurityGroup operation. - :type parameters: - ~azure.mgmt.network.v2019_07_01.models.ApplicationSecurityGroup - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - ApplicationSecurityGroup or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.ApplicationSecurityGroup] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.ApplicationSecurityGroup]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - application_security_group_name=application_security_group_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ApplicationSecurityGroup', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationSecurityGroups/{applicationSecurityGroupName}'} - - - def _update_tags_initial( - self, resource_group_name, application_security_group_name, tags=None, custom_headers=None, raw=False, **operation_config): - parameters = models.TagsObject(tags=tags) - - # Construct URL - url = self.update_tags.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'applicationSecurityGroupName': self._serialize.url("application_security_group_name", application_security_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'TagsObject') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ApplicationSecurityGroup', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def update_tags( - self, resource_group_name, application_security_group_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Updates an application security group's tags. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param application_security_group_name: The name of the application - security group. - :type application_security_group_name: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - ApplicationSecurityGroup or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.ApplicationSecurityGroup] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.ApplicationSecurityGroup]] - :raises: :class:`CloudError` - """ - raw_result = self._update_tags_initial( - resource_group_name=resource_group_name, - application_security_group_name=application_security_group_name, - tags=tags, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ApplicationSecurityGroup', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationSecurityGroups/{applicationSecurityGroupName}'} - - def list_all( - self, custom_headers=None, raw=False, **operation_config): - """Gets all application security groups in a subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of ApplicationSecurityGroup - :rtype: - ~azure.mgmt.network.v2019_07_01.models.ApplicationSecurityGroupPaged[~azure.mgmt.network.v2019_07_01.models.ApplicationSecurityGroup] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_all.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.ApplicationSecurityGroupPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationSecurityGroups'} - - def list( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Gets all the application security groups in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of ApplicationSecurityGroup - :rtype: - ~azure.mgmt.network.v2019_07_01.models.ApplicationSecurityGroupPaged[~azure.mgmt.network.v2019_07_01.models.ApplicationSecurityGroup] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.ApplicationSecurityGroupPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationSecurityGroups'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_available_delegations_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_available_delegations_operations.py deleted file mode 100644 index a4b54197713..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_available_delegations_operations.py +++ /dev/null @@ -1,110 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError - -from .. import models - - -class AvailableDelegationsOperations(object): - """AvailableDelegationsOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-07-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-07-01" - - self.config = config - - def list( - self, location, custom_headers=None, raw=False, **operation_config): - """Gets all of the available subnet delegations for this subscription in - this region. - - :param location: The location of the subnet. - :type location: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of AvailableDelegation - :rtype: - ~azure.mgmt.network.v2019_07_01.models.AvailableDelegationPaged[~azure.mgmt.network.v2019_07_01.models.AvailableDelegation] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'location': self._serialize.url("location", location, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.AvailableDelegationPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/availableDelegations'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_available_endpoint_services_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_available_endpoint_services_operations.py deleted file mode 100644 index c31666a1d94..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_available_endpoint_services_operations.py +++ /dev/null @@ -1,109 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError - -from .. import models - - -class AvailableEndpointServicesOperations(object): - """AvailableEndpointServicesOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-07-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-07-01" - - self.config = config - - def list( - self, location, custom_headers=None, raw=False, **operation_config): - """List what values of endpoint services are available for use. - - :param location: The location to check available endpoint services. - :type location: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of EndpointServiceResult - :rtype: - ~azure.mgmt.network.v2019_07_01.models.EndpointServiceResultPaged[~azure.mgmt.network.v2019_07_01.models.EndpointServiceResult] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'location': self._serialize.url("location", location, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.EndpointServiceResultPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/virtualNetworkAvailableEndpointServices'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_available_private_endpoint_types_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_available_private_endpoint_types_operations.py deleted file mode 100644 index ef977cf067f..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_available_private_endpoint_types_operations.py +++ /dev/null @@ -1,183 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError - -from .. import models - - -class AvailablePrivateEndpointTypesOperations(object): - """AvailablePrivateEndpointTypesOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-07-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-07-01" - - self.config = config - - def list( - self, location, custom_headers=None, raw=False, **operation_config): - """Returns all of the resource types that can be linked to a Private - Endpoint in this subscription in this region. - - :param location: The location of the domain name. - :type location: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of AvailablePrivateEndpointType - :rtype: - ~azure.mgmt.network.v2019_07_01.models.AvailablePrivateEndpointTypePaged[~azure.mgmt.network.v2019_07_01.models.AvailablePrivateEndpointType] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'location': self._serialize.url("location", location, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.AvailablePrivateEndpointTypePaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/availablePrivateEndpointTypes'} - - def list_by_resource_group( - self, location, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Returns all of the resource types that can be linked to a Private - Endpoint in this subscription in this region. - - :param location: The location of the domain name. - :type location: str - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of AvailablePrivateEndpointType - :rtype: - ~azure.mgmt.network.v2019_07_01.models.AvailablePrivateEndpointTypePaged[~azure.mgmt.network.v2019_07_01.models.AvailablePrivateEndpointType] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_by_resource_group.metadata['url'] - path_format_arguments = { - 'location': self._serialize.url("location", location, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.AvailablePrivateEndpointTypePaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/locations/{location}/availablePrivateEndpointTypes'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_available_resource_group_delegations_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_available_resource_group_delegations_operations.py deleted file mode 100644 index 7ca0e13cba4..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_available_resource_group_delegations_operations.py +++ /dev/null @@ -1,113 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError - -from .. import models - - -class AvailableResourceGroupDelegationsOperations(object): - """AvailableResourceGroupDelegationsOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-07-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-07-01" - - self.config = config - - def list( - self, location, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Gets all of the available subnet delegations for this resource group in - this region. - - :param location: The location of the domain name. - :type location: str - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of AvailableDelegation - :rtype: - ~azure.mgmt.network.v2019_07_01.models.AvailableDelegationPaged[~azure.mgmt.network.v2019_07_01.models.AvailableDelegation] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'location': self._serialize.url("location", location, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.AvailableDelegationPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/locations/{location}/availableDelegations'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_azure_firewall_fqdn_tags_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_azure_firewall_fqdn_tags_operations.py deleted file mode 100644 index 4e02ebf1b9a..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_azure_firewall_fqdn_tags_operations.py +++ /dev/null @@ -1,106 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError - -from .. import models - - -class AzureFirewallFqdnTagsOperations(object): - """AzureFirewallFqdnTagsOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-07-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-07-01" - - self.config = config - - def list_all( - self, custom_headers=None, raw=False, **operation_config): - """Gets all the Azure Firewall FQDN Tags in a subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of AzureFirewallFqdnTag - :rtype: - ~azure.mgmt.network.v2019_07_01.models.AzureFirewallFqdnTagPaged[~azure.mgmt.network.v2019_07_01.models.AzureFirewallFqdnTag] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_all.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.AzureFirewallFqdnTagPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/azureFirewallFqdnTags'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_azure_firewalls_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_azure_firewalls_operations.py deleted file mode 100644 index 8909eb5067f..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_azure_firewalls_operations.py +++ /dev/null @@ -1,488 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class AzureFirewallsOperations(object): - """AzureFirewallsOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-07-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-07-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, azure_firewall_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'azureFirewallName': self._serialize.url("azure_firewall_name", azure_firewall_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, azure_firewall_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified Azure Firewall. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param azure_firewall_name: The name of the Azure Firewall. - :type azure_firewall_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - azure_firewall_name=azure_firewall_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/azureFirewalls/{azureFirewallName}'} - - def get( - self, resource_group_name, azure_firewall_name, custom_headers=None, raw=False, **operation_config): - """Gets the specified Azure Firewall. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param azure_firewall_name: The name of the Azure Firewall. - :type azure_firewall_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: AzureFirewall or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_07_01.models.AzureFirewall or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'azureFirewallName': self._serialize.url("azure_firewall_name", azure_firewall_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('AzureFirewall', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/azureFirewalls/{azureFirewallName}'} - - - def _create_or_update_initial( - self, resource_group_name, azure_firewall_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'azureFirewallName': self._serialize.url("azure_firewall_name", azure_firewall_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'AzureFirewall') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('AzureFirewall', response) - if response.status_code == 201: - deserialized = self._deserialize('AzureFirewall', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, azure_firewall_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates the specified Azure Firewall. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param azure_firewall_name: The name of the Azure Firewall. - :type azure_firewall_name: str - :param parameters: Parameters supplied to the create or update Azure - Firewall operation. - :type parameters: ~azure.mgmt.network.v2019_07_01.models.AzureFirewall - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns AzureFirewall or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.AzureFirewall] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.AzureFirewall]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - azure_firewall_name=azure_firewall_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('AzureFirewall', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/azureFirewalls/{azureFirewallName}'} - - def update_tags( - self, resource_group_name, azure_firewall_name, parameters, custom_headers=None, raw=False, **operation_config): - """Updates tags for an Azure Firewall resource. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param azure_firewall_name: The name of the Azure Firewall. - :type azure_firewall_name: str - :param parameters: Parameters supplied to the create or update Azure - Firewall operation. - :type parameters: ~azure.mgmt.network.v2019_07_01.models.AzureFirewall - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: AzureFirewall or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_07_01.models.AzureFirewall or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.update_tags.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'azureFirewallName': self._serialize.url("azure_firewall_name", azure_firewall_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'AzureFirewall') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('AzureFirewall', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/azureFirewalls/{azureFirewallName}'} - - def list( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Lists all Azure Firewalls in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of AzureFirewall - :rtype: - ~azure.mgmt.network.v2019_07_01.models.AzureFirewallPaged[~azure.mgmt.network.v2019_07_01.models.AzureFirewall] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.AzureFirewallPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/azureFirewalls'} - - def list_all( - self, custom_headers=None, raw=False, **operation_config): - """Gets all the Azure Firewalls in a subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of AzureFirewall - :rtype: - ~azure.mgmt.network.v2019_07_01.models.AzureFirewallPaged[~azure.mgmt.network.v2019_07_01.models.AzureFirewall] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_all.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.AzureFirewallPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/azureFirewalls'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_bastion_hosts_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_bastion_hosts_operations.py deleted file mode 100644 index 40c1b2d58c8..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_bastion_hosts_operations.py +++ /dev/null @@ -1,420 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class BastionHostsOperations(object): - """BastionHostsOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-07-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-07-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, bastion_host_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'bastionHostName': self._serialize.url("bastion_host_name", bastion_host_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, bastion_host_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified Bastion Host. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param bastion_host_name: The name of the Bastion Host. - :type bastion_host_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - bastion_host_name=bastion_host_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts/{bastionHostName}'} - - def get( - self, resource_group_name, bastion_host_name, custom_headers=None, raw=False, **operation_config): - """Gets the specified Bastion Host. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param bastion_host_name: The name of the Bastion Host. - :type bastion_host_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: BastionHost or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_07_01.models.BastionHost or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'bastionHostName': self._serialize.url("bastion_host_name", bastion_host_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('BastionHost', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts/{bastionHostName}'} - - - def _create_or_update_initial( - self, resource_group_name, bastion_host_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'bastionHostName': self._serialize.url("bastion_host_name", bastion_host_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'BastionHost') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('BastionHost', response) - if response.status_code == 201: - deserialized = self._deserialize('BastionHost', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, bastion_host_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates the specified Bastion Host. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param bastion_host_name: The name of the Bastion Host. - :type bastion_host_name: str - :param parameters: Parameters supplied to the create or update Bastion - Host operation. - :type parameters: ~azure.mgmt.network.v2019_07_01.models.BastionHost - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns BastionHost or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.BastionHost] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.BastionHost]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - bastion_host_name=bastion_host_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('BastionHost', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts/{bastionHostName}'} - - def list( - self, custom_headers=None, raw=False, **operation_config): - """Lists all Bastion Hosts in a subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of BastionHost - :rtype: - ~azure.mgmt.network.v2019_07_01.models.BastionHostPaged[~azure.mgmt.network.v2019_07_01.models.BastionHost] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.BastionHostPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/bastionHosts'} - - def list_by_resource_group( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Lists all Bastion Hosts in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of BastionHost - :rtype: - ~azure.mgmt.network.v2019_07_01.models.BastionHostPaged[~azure.mgmt.network.v2019_07_01.models.BastionHost] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_by_resource_group.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.BastionHostPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_bgp_service_communities_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_bgp_service_communities_operations.py deleted file mode 100644 index 36da220e9eb..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_bgp_service_communities_operations.py +++ /dev/null @@ -1,106 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError - -from .. import models - - -class BgpServiceCommunitiesOperations(object): - """BgpServiceCommunitiesOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-07-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-07-01" - - self.config = config - - def list( - self, custom_headers=None, raw=False, **operation_config): - """Gets all the available bgp service communities. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of BgpServiceCommunity - :rtype: - ~azure.mgmt.network.v2019_07_01.models.BgpServiceCommunityPaged[~azure.mgmt.network.v2019_07_01.models.BgpServiceCommunity] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.BgpServiceCommunityPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/bgpServiceCommunities'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_connection_monitors_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_connection_monitors_operations.py deleted file mode 100644 index 9201732f681..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_connection_monitors_operations.py +++ /dev/null @@ -1,706 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class ConnectionMonitorsOperations(object): - """ConnectionMonitorsOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-06-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-06-01" - - self.config = config - - - def _create_or_update_initial( - self, resource_group_name, network_watcher_name, connection_monitor_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), - 'connectionMonitorName': self._serialize.url("connection_monitor_name", connection_monitor_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'ConnectionMonitor') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 201]: - raise models.ErrorResponseException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('ConnectionMonitorResult', response) - if response.status_code == 201: - deserialized = self._deserialize('ConnectionMonitorResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, network_watcher_name, connection_monitor_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Create or update a connection monitor. - - :param resource_group_name: The name of the resource group containing - Network Watcher. - :type resource_group_name: str - :param network_watcher_name: The name of the Network Watcher resource. - :type network_watcher_name: str - :param connection_monitor_name: The name of the connection monitor. - :type connection_monitor_name: str - :param parameters: Parameters that define the operation to create a - connection monitor. - :type parameters: - ~azure.mgmt.network.v2019_07_01.models.ConnectionMonitor - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns ConnectionMonitorResult - or ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.ConnectionMonitorResult] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.ConnectionMonitorResult]] - :raises: - :class:`ErrorResponseException` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - network_watcher_name=network_watcher_name, - connection_monitor_name=connection_monitor_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ConnectionMonitorResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}'} - - def get( - self, resource_group_name, network_watcher_name, connection_monitor_name, custom_headers=None, raw=False, **operation_config): - """Gets a connection monitor by name. - - :param resource_group_name: The name of the resource group containing - Network Watcher. - :type resource_group_name: str - :param network_watcher_name: The name of the Network Watcher resource. - :type network_watcher_name: str - :param connection_monitor_name: The name of the connection monitor. - :type connection_monitor_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ConnectionMonitorResult or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_07_01.models.ConnectionMonitorResult - or ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorResponseException` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), - 'connectionMonitorName': self._serialize.url("connection_monitor_name", connection_monitor_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorResponseException(self._deserialize, response) - - deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('ConnectionMonitorResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}'} - - - def _delete_initial( - self, resource_group_name, network_watcher_name, connection_monitor_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), - 'connectionMonitorName': self._serialize.url("connection_monitor_name", connection_monitor_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [202, 204]: - raise models.ErrorResponseException(self._deserialize, response) - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, network_watcher_name, connection_monitor_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified connection monitor. - - :param resource_group_name: The name of the resource group containing - Network Watcher. - :type resource_group_name: str - :param network_watcher_name: The name of the Network Watcher resource. - :type network_watcher_name: str - :param connection_monitor_name: The name of the connection monitor. - :type connection_monitor_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: - :class:`ErrorResponseException` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - network_watcher_name=network_watcher_name, - connection_monitor_name=connection_monitor_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}'} - - def update_tags( - self, resource_group_name, network_watcher_name, connection_monitor_name, tags=None, custom_headers=None, raw=False, **operation_config): - """Update tags of the specified connection monitor. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_watcher_name: The name of the network watcher. - :type network_watcher_name: str - :param connection_monitor_name: The name of the connection monitor. - :type connection_monitor_name: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ConnectionMonitorResult or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_07_01.models.ConnectionMonitorResult - or ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorResponseException` - """ - parameters = models.TagsObject(tags=tags) - - # Construct URL - url = self.update_tags.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), - 'connectionMonitorName': self._serialize.url("connection_monitor_name", connection_monitor_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'TagsObject') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorResponseException(self._deserialize, response) - - deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('ConnectionMonitorResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}'} - - - def _stop_initial( - self, resource_group_name, network_watcher_name, connection_monitor_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.stop.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), - 'connectionMonitorName': self._serialize.url("connection_monitor_name", connection_monitor_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - raise models.ErrorResponseException(self._deserialize, response) - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def stop( - self, resource_group_name, network_watcher_name, connection_monitor_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Stops the specified connection monitor. - - :param resource_group_name: The name of the resource group containing - Network Watcher. - :type resource_group_name: str - :param network_watcher_name: The name of the Network Watcher resource. - :type network_watcher_name: str - :param connection_monitor_name: The name of the connection monitor. - :type connection_monitor_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: - :class:`ErrorResponseException` - """ - raw_result = self._stop_initial( - resource_group_name=resource_group_name, - network_watcher_name=network_watcher_name, - connection_monitor_name=connection_monitor_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - stop.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}/stop'} - - - def _start_initial( - self, resource_group_name, network_watcher_name, connection_monitor_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.start.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), - 'connectionMonitorName': self._serialize.url("connection_monitor_name", connection_monitor_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - raise models.ErrorResponseException(self._deserialize, response) - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def start( - self, resource_group_name, network_watcher_name, connection_monitor_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Starts the specified connection monitor. - - :param resource_group_name: The name of the resource group containing - Network Watcher. - :type resource_group_name: str - :param network_watcher_name: The name of the Network Watcher resource. - :type network_watcher_name: str - :param connection_monitor_name: The name of the connection monitor. - :type connection_monitor_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: - :class:`ErrorResponseException` - """ - raw_result = self._start_initial( - resource_group_name=resource_group_name, - network_watcher_name=network_watcher_name, - connection_monitor_name=connection_monitor_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - start.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}/start'} - - - def _query_initial( - self, resource_group_name, network_watcher_name, connection_monitor_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.query.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), - 'connectionMonitorName': self._serialize.url("connection_monitor_name", connection_monitor_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - raise models.ErrorResponseException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('ConnectionMonitorQueryResult', response) - if response.status_code == 202: - deserialized = self._deserialize('ConnectionMonitorQueryResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def query( - self, resource_group_name, network_watcher_name, connection_monitor_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Query a snapshot of the most recent connection states. - - :param resource_group_name: The name of the resource group containing - Network Watcher. - :type resource_group_name: str - :param network_watcher_name: The name of the Network Watcher resource. - :type network_watcher_name: str - :param connection_monitor_name: The name given to the connection - monitor. - :type connection_monitor_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - ConnectionMonitorQueryResult or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.ConnectionMonitorQueryResult] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.ConnectionMonitorQueryResult]] - :raises: - :class:`ErrorResponseException` - """ - raw_result = self._query_initial( - resource_group_name=resource_group_name, - network_watcher_name=network_watcher_name, - connection_monitor_name=connection_monitor_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ConnectionMonitorQueryResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - query.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}/query'} - - def list( - self, resource_group_name, network_watcher_name, custom_headers=None, raw=False, **operation_config): - """Lists all connection monitors for the specified Network Watcher. - - :param resource_group_name: The name of the resource group containing - Network Watcher. - :type resource_group_name: str - :param network_watcher_name: The name of the Network Watcher resource. - :type network_watcher_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of ConnectionMonitorResult - :rtype: - ~azure.mgmt.network.v2019_07_01.models.ConnectionMonitorResultPaged[~azure.mgmt.network.v2019_07_01.models.ConnectionMonitorResult] - :raises: - :class:`ErrorResponseException` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorResponseException(self._deserialize, response) - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.ConnectionMonitorResultPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_ddos_custom_policies_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_ddos_custom_policies_operations.py deleted file mode 100644 index 55f0c5c6fe4..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_ddos_custom_policies_operations.py +++ /dev/null @@ -1,388 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class DdosCustomPoliciesOperations(object): - """DdosCustomPoliciesOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-07-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-07-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, ddos_custom_policy_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'ddosCustomPolicyName': self._serialize.url("ddos_custom_policy_name", ddos_custom_policy_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, ddos_custom_policy_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified DDoS custom policy. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param ddos_custom_policy_name: The name of the DDoS custom policy. - :type ddos_custom_policy_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - ddos_custom_policy_name=ddos_custom_policy_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosCustomPolicies/{ddosCustomPolicyName}'} - - def get( - self, resource_group_name, ddos_custom_policy_name, custom_headers=None, raw=False, **operation_config): - """Gets information about the specified DDoS custom policy. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param ddos_custom_policy_name: The name of the DDoS custom policy. - :type ddos_custom_policy_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: DdosCustomPolicy or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_07_01.models.DdosCustomPolicy or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'ddosCustomPolicyName': self._serialize.url("ddos_custom_policy_name", ddos_custom_policy_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('DdosCustomPolicy', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosCustomPolicies/{ddosCustomPolicyName}'} - - - def _create_or_update_initial( - self, resource_group_name, ddos_custom_policy_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'ddosCustomPolicyName': self._serialize.url("ddos_custom_policy_name", ddos_custom_policy_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'DdosCustomPolicy') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('DdosCustomPolicy', response) - if response.status_code == 201: - deserialized = self._deserialize('DdosCustomPolicy', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, ddos_custom_policy_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates a DDoS custom policy. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param ddos_custom_policy_name: The name of the DDoS custom policy. - :type ddos_custom_policy_name: str - :param parameters: Parameters supplied to the create or update - operation. - :type parameters: - ~azure.mgmt.network.v2019_07_01.models.DdosCustomPolicy - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns DdosCustomPolicy or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.DdosCustomPolicy] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.DdosCustomPolicy]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - ddos_custom_policy_name=ddos_custom_policy_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('DdosCustomPolicy', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosCustomPolicies/{ddosCustomPolicyName}'} - - - def _update_tags_initial( - self, resource_group_name, ddos_custom_policy_name, tags=None, custom_headers=None, raw=False, **operation_config): - parameters = models.TagsObject(tags=tags) - - # Construct URL - url = self.update_tags.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'ddosCustomPolicyName': self._serialize.url("ddos_custom_policy_name", ddos_custom_policy_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'TagsObject') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('DdosCustomPolicy', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def update_tags( - self, resource_group_name, ddos_custom_policy_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Update a DDoS custom policy tags. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param ddos_custom_policy_name: The name of the DDoS custom policy. - :type ddos_custom_policy_name: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns DdosCustomPolicy or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.DdosCustomPolicy] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.DdosCustomPolicy]] - :raises: :class:`CloudError` - """ - raw_result = self._update_tags_initial( - resource_group_name=resource_group_name, - ddos_custom_policy_name=ddos_custom_policy_name, - tags=tags, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('DdosCustomPolicy', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosCustomPolicies/{ddosCustomPolicyName}'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_ddos_protection_plans_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_ddos_protection_plans_operations.py deleted file mode 100644 index 237fb17dc7e..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_ddos_protection_plans_operations.py +++ /dev/null @@ -1,530 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class DdosProtectionPlansOperations(object): - """DdosProtectionPlansOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-07-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-07-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, ddos_protection_plan_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'ddosProtectionPlanName': self._serialize.url("ddos_protection_plan_name", ddos_protection_plan_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, ddos_protection_plan_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified DDoS protection plan. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param ddos_protection_plan_name: The name of the DDoS protection - plan. - :type ddos_protection_plan_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - ddos_protection_plan_name=ddos_protection_plan_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosProtectionPlans/{ddosProtectionPlanName}'} - - def get( - self, resource_group_name, ddos_protection_plan_name, custom_headers=None, raw=False, **operation_config): - """Gets information about the specified DDoS protection plan. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param ddos_protection_plan_name: The name of the DDoS protection - plan. - :type ddos_protection_plan_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: DdosProtectionPlan or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_07_01.models.DdosProtectionPlan or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'ddosProtectionPlanName': self._serialize.url("ddos_protection_plan_name", ddos_protection_plan_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('DdosProtectionPlan', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosProtectionPlans/{ddosProtectionPlanName}'} - - - def _create_or_update_initial( - self, resource_group_name, ddos_protection_plan_name, location=None, tags=None, custom_headers=None, raw=False, **operation_config): - parameters = models.DdosProtectionPlan(location=location, tags=tags) - - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'ddosProtectionPlanName': self._serialize.url("ddos_protection_plan_name", ddos_protection_plan_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'DdosProtectionPlan') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('DdosProtectionPlan', response) - if response.status_code == 201: - deserialized = self._deserialize('DdosProtectionPlan', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, ddos_protection_plan_name, location=None, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates a DDoS protection plan. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param ddos_protection_plan_name: The name of the DDoS protection - plan. - :type ddos_protection_plan_name: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns DdosProtectionPlan or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.DdosProtectionPlan] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.DdosProtectionPlan]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - ddos_protection_plan_name=ddos_protection_plan_name, - location=location, - tags=tags, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('DdosProtectionPlan', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosProtectionPlans/{ddosProtectionPlanName}'} - - - def _update_tags_initial( - self, resource_group_name, ddos_protection_plan_name, tags=None, custom_headers=None, raw=False, **operation_config): - parameters = models.TagsObject(tags=tags) - - # Construct URL - url = self.update_tags.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'ddosProtectionPlanName': self._serialize.url("ddos_protection_plan_name", ddos_protection_plan_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'TagsObject') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('DdosProtectionPlan', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def update_tags( - self, resource_group_name, ddos_protection_plan_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Update a DDoS protection plan tags. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param ddos_protection_plan_name: The name of the DDoS protection - plan. - :type ddos_protection_plan_name: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns DdosProtectionPlan or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.DdosProtectionPlan] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.DdosProtectionPlan]] - :raises: :class:`CloudError` - """ - raw_result = self._update_tags_initial( - resource_group_name=resource_group_name, - ddos_protection_plan_name=ddos_protection_plan_name, - tags=tags, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('DdosProtectionPlan', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosProtectionPlans/{ddosProtectionPlanName}'} - - def list( - self, custom_headers=None, raw=False, **operation_config): - """Gets all DDoS protection plans in a subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of DdosProtectionPlan - :rtype: - ~azure.mgmt.network.v2019_07_01.models.DdosProtectionPlanPaged[~azure.mgmt.network.v2019_07_01.models.DdosProtectionPlan] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.DdosProtectionPlanPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/ddosProtectionPlans'} - - def list_by_resource_group( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Gets all the DDoS protection plans in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of DdosProtectionPlan - :rtype: - ~azure.mgmt.network.v2019_07_01.models.DdosProtectionPlanPaged[~azure.mgmt.network.v2019_07_01.models.DdosProtectionPlan] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_by_resource_group.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.DdosProtectionPlanPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosProtectionPlans'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_default_security_rules_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_default_security_rules_operations.py deleted file mode 100644 index d9f10596834..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_default_security_rules_operations.py +++ /dev/null @@ -1,179 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError - -from .. import models - - -class DefaultSecurityRulesOperations(object): - """DefaultSecurityRulesOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-07-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-07-01" - - self.config = config - - def list( - self, resource_group_name, network_security_group_name, custom_headers=None, raw=False, **operation_config): - """Gets all default security rules in a network security group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_security_group_name: The name of the network security - group. - :type network_security_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of SecurityRule - :rtype: - ~azure.mgmt.network.v2019_07_01.models.SecurityRulePaged[~azure.mgmt.network.v2019_07_01.models.SecurityRule] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkSecurityGroupName': self._serialize.url("network_security_group_name", network_security_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.SecurityRulePaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/defaultSecurityRules'} - - def get( - self, resource_group_name, network_security_group_name, default_security_rule_name, custom_headers=None, raw=False, **operation_config): - """Get the specified default network security rule. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_security_group_name: The name of the network security - group. - :type network_security_group_name: str - :param default_security_rule_name: The name of the default security - rule. - :type default_security_rule_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: SecurityRule or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_07_01.models.SecurityRule or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkSecurityGroupName': self._serialize.url("network_security_group_name", network_security_group_name, 'str'), - 'defaultSecurityRuleName': self._serialize.url("default_security_rule_name", default_security_rule_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('SecurityRule', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/defaultSecurityRules/{defaultSecurityRuleName}'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_express_route_circuit_authorizations_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_express_route_circuit_authorizations_operations.py deleted file mode 100644 index d6756d8e278..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_express_route_circuit_authorizations_operations.py +++ /dev/null @@ -1,375 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class ExpressRouteCircuitAuthorizationsOperations(object): - """ExpressRouteCircuitAuthorizationsOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-07-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-07-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, circuit_name, authorization_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), - 'authorizationName': self._serialize.url("authorization_name", authorization_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, circuit_name, authorization_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified authorization from the specified express route - circuit. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param circuit_name: The name of the express route circuit. - :type circuit_name: str - :param authorization_name: The name of the authorization. - :type authorization_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - circuit_name=circuit_name, - authorization_name=authorization_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/authorizations/{authorizationName}'} - - def get( - self, resource_group_name, circuit_name, authorization_name, custom_headers=None, raw=False, **operation_config): - """Gets the specified authorization from the specified express route - circuit. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param circuit_name: The name of the express route circuit. - :type circuit_name: str - :param authorization_name: The name of the authorization. - :type authorization_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ExpressRouteCircuitAuthorization or ClientRawResponse if - raw=true - :rtype: - ~azure.mgmt.network.v2019_07_01.models.ExpressRouteCircuitAuthorization - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), - 'authorizationName': self._serialize.url("authorization_name", authorization_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ExpressRouteCircuitAuthorization', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/authorizations/{authorizationName}'} - - - def _create_or_update_initial( - self, resource_group_name, circuit_name, authorization_name, authorization_parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), - 'authorizationName': self._serialize.url("authorization_name", authorization_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(authorization_parameters, 'ExpressRouteCircuitAuthorization') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('ExpressRouteCircuitAuthorization', response) - if response.status_code == 201: - deserialized = self._deserialize('ExpressRouteCircuitAuthorization', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, circuit_name, authorization_name, authorization_parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates an authorization in the specified express route - circuit. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param circuit_name: The name of the express route circuit. - :type circuit_name: str - :param authorization_name: The name of the authorization. - :type authorization_name: str - :param authorization_parameters: Parameters supplied to the create or - update express route circuit authorization operation. - :type authorization_parameters: - ~azure.mgmt.network.v2019_07_01.models.ExpressRouteCircuitAuthorization - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - ExpressRouteCircuitAuthorization or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.ExpressRouteCircuitAuthorization] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.ExpressRouteCircuitAuthorization]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - circuit_name=circuit_name, - authorization_name=authorization_name, - authorization_parameters=authorization_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ExpressRouteCircuitAuthorization', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/authorizations/{authorizationName}'} - - def list( - self, resource_group_name, circuit_name, custom_headers=None, raw=False, **operation_config): - """Gets all authorizations in an express route circuit. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param circuit_name: The name of the circuit. - :type circuit_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of ExpressRouteCircuitAuthorization - :rtype: - ~azure.mgmt.network.v2019_07_01.models.ExpressRouteCircuitAuthorizationPaged[~azure.mgmt.network.v2019_07_01.models.ExpressRouteCircuitAuthorization] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.ExpressRouteCircuitAuthorizationPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/authorizations'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_express_route_circuit_connections_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_express_route_circuit_connections_operations.py deleted file mode 100644 index f85d55e598d..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_express_route_circuit_connections_operations.py +++ /dev/null @@ -1,394 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class ExpressRouteCircuitConnectionsOperations(object): - """ExpressRouteCircuitConnectionsOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-07-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-07-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, circuit_name, peering_name, connection_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), - 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), - 'connectionName': self._serialize.url("connection_name", connection_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, circuit_name, peering_name, connection_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified Express Route Circuit Connection from the - specified express route circuit. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param circuit_name: The name of the express route circuit. - :type circuit_name: str - :param peering_name: The name of the peering. - :type peering_name: str - :param connection_name: The name of the express route circuit - connection. - :type connection_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - circuit_name=circuit_name, - peering_name=peering_name, - connection_name=connection_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/connections/{connectionName}'} - - def get( - self, resource_group_name, circuit_name, peering_name, connection_name, custom_headers=None, raw=False, **operation_config): - """Gets the specified Express Route Circuit Connection from the specified - express route circuit. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param circuit_name: The name of the express route circuit. - :type circuit_name: str - :param peering_name: The name of the peering. - :type peering_name: str - :param connection_name: The name of the express route circuit - connection. - :type connection_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ExpressRouteCircuitConnection or ClientRawResponse if - raw=true - :rtype: - ~azure.mgmt.network.v2019_07_01.models.ExpressRouteCircuitConnection - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), - 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), - 'connectionName': self._serialize.url("connection_name", connection_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ExpressRouteCircuitConnection', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/connections/{connectionName}'} - - - def _create_or_update_initial( - self, resource_group_name, circuit_name, peering_name, connection_name, express_route_circuit_connection_parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), - 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), - 'connectionName': self._serialize.url("connection_name", connection_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(express_route_circuit_connection_parameters, 'ExpressRouteCircuitConnection') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('ExpressRouteCircuitConnection', response) - if response.status_code == 201: - deserialized = self._deserialize('ExpressRouteCircuitConnection', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, circuit_name, peering_name, connection_name, express_route_circuit_connection_parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates a Express Route Circuit Connection in the specified - express route circuits. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param circuit_name: The name of the express route circuit. - :type circuit_name: str - :param peering_name: The name of the peering. - :type peering_name: str - :param connection_name: The name of the express route circuit - connection. - :type connection_name: str - :param express_route_circuit_connection_parameters: Parameters - supplied to the create or update express route circuit connection - operation. - :type express_route_circuit_connection_parameters: - ~azure.mgmt.network.v2019_07_01.models.ExpressRouteCircuitConnection - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - ExpressRouteCircuitConnection or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.ExpressRouteCircuitConnection] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.ExpressRouteCircuitConnection]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - circuit_name=circuit_name, - peering_name=peering_name, - connection_name=connection_name, - express_route_circuit_connection_parameters=express_route_circuit_connection_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ExpressRouteCircuitConnection', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/connections/{connectionName}'} - - def list( - self, resource_group_name, circuit_name, peering_name, custom_headers=None, raw=False, **operation_config): - """Gets all global reach connections associated with a private peering in - an express route circuit. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param circuit_name: The name of the circuit. - :type circuit_name: str - :param peering_name: The name of the peering. - :type peering_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of ExpressRouteCircuitConnection - :rtype: - ~azure.mgmt.network.v2019_07_01.models.ExpressRouteCircuitConnectionPaged[~azure.mgmt.network.v2019_07_01.models.ExpressRouteCircuitConnection] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), - 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.ExpressRouteCircuitConnectionPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/connections'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_express_route_circuit_peerings_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_express_route_circuit_peerings_operations.py deleted file mode 100644 index 19cb10dd318..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_express_route_circuit_peerings_operations.py +++ /dev/null @@ -1,371 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class ExpressRouteCircuitPeeringsOperations(object): - """ExpressRouteCircuitPeeringsOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-07-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-07-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, circuit_name, peering_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), - 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, circuit_name, peering_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified peering from the specified express route circuit. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param circuit_name: The name of the express route circuit. - :type circuit_name: str - :param peering_name: The name of the peering. - :type peering_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - circuit_name=circuit_name, - peering_name=peering_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}'} - - def get( - self, resource_group_name, circuit_name, peering_name, custom_headers=None, raw=False, **operation_config): - """Gets the specified peering for the express route circuit. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param circuit_name: The name of the express route circuit. - :type circuit_name: str - :param peering_name: The name of the peering. - :type peering_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ExpressRouteCircuitPeering or ClientRawResponse if raw=true - :rtype: - ~azure.mgmt.network.v2019_07_01.models.ExpressRouteCircuitPeering or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), - 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ExpressRouteCircuitPeering', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}'} - - - def _create_or_update_initial( - self, resource_group_name, circuit_name, peering_name, peering_parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), - 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(peering_parameters, 'ExpressRouteCircuitPeering') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('ExpressRouteCircuitPeering', response) - if response.status_code == 201: - deserialized = self._deserialize('ExpressRouteCircuitPeering', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, circuit_name, peering_name, peering_parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates a peering in the specified express route circuits. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param circuit_name: The name of the express route circuit. - :type circuit_name: str - :param peering_name: The name of the peering. - :type peering_name: str - :param peering_parameters: Parameters supplied to the create or update - express route circuit peering operation. - :type peering_parameters: - ~azure.mgmt.network.v2019_07_01.models.ExpressRouteCircuitPeering - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - ExpressRouteCircuitPeering or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.ExpressRouteCircuitPeering] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.ExpressRouteCircuitPeering]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - circuit_name=circuit_name, - peering_name=peering_name, - peering_parameters=peering_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ExpressRouteCircuitPeering', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}'} - - def list( - self, resource_group_name, circuit_name, custom_headers=None, raw=False, **operation_config): - """Gets all peerings in a specified express route circuit. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param circuit_name: The name of the express route circuit. - :type circuit_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of ExpressRouteCircuitPeering - :rtype: - ~azure.mgmt.network.v2019_07_01.models.ExpressRouteCircuitPeeringPaged[~azure.mgmt.network.v2019_07_01.models.ExpressRouteCircuitPeering] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.ExpressRouteCircuitPeeringPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_express_route_circuits_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_express_route_circuits_operations.py deleted file mode 100644 index cd59c63e35b..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_express_route_circuits_operations.py +++ /dev/null @@ -1,961 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class ExpressRouteCircuitsOperations(object): - """ExpressRouteCircuitsOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-07-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-07-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, circuit_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, circuit_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified express route circuit. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param circuit_name: The name of the express route circuit. - :type circuit_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - circuit_name=circuit_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}'} - - def get( - self, resource_group_name, circuit_name, custom_headers=None, raw=False, **operation_config): - """Gets information about the specified express route circuit. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param circuit_name: The name of express route circuit. - :type circuit_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ExpressRouteCircuit or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_07_01.models.ExpressRouteCircuit or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ExpressRouteCircuit', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}'} - - - def _create_or_update_initial( - self, resource_group_name, circuit_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'ExpressRouteCircuit') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('ExpressRouteCircuit', response) - if response.status_code == 201: - deserialized = self._deserialize('ExpressRouteCircuit', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, circuit_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates an express route circuit. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param circuit_name: The name of the circuit. - :type circuit_name: str - :param parameters: Parameters supplied to the create or update express - route circuit operation. - :type parameters: - ~azure.mgmt.network.v2019_07_01.models.ExpressRouteCircuit - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns ExpressRouteCircuit or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.ExpressRouteCircuit] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.ExpressRouteCircuit]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - circuit_name=circuit_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ExpressRouteCircuit', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}'} - - - def _update_tags_initial( - self, resource_group_name, circuit_name, tags=None, custom_headers=None, raw=False, **operation_config): - parameters = models.TagsObject(tags=tags) - - # Construct URL - url = self.update_tags.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'TagsObject') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ExpressRouteCircuit', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def update_tags( - self, resource_group_name, circuit_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Updates an express route circuit tags. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param circuit_name: The name of the circuit. - :type circuit_name: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns ExpressRouteCircuit or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.ExpressRouteCircuit] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.ExpressRouteCircuit]] - :raises: :class:`CloudError` - """ - raw_result = self._update_tags_initial( - resource_group_name=resource_group_name, - circuit_name=circuit_name, - tags=tags, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ExpressRouteCircuit', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}'} - - - def _list_arp_table_initial( - self, resource_group_name, circuit_name, peering_name, device_path, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.list_arp_table.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), - 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), - 'devicePath': self._serialize.url("device_path", device_path, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - 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('ExpressRouteCircuitsArpTableListResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def list_arp_table( - self, resource_group_name, circuit_name, peering_name, device_path, custom_headers=None, raw=False, polling=True, **operation_config): - """Gets the currently advertised ARP table associated with the express - route circuit in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param circuit_name: The name of the express route circuit. - :type circuit_name: str - :param peering_name: The name of the peering. - :type peering_name: str - :param device_path: The path of the device. - :type device_path: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - ExpressRouteCircuitsArpTableListResult or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.ExpressRouteCircuitsArpTableListResult] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.ExpressRouteCircuitsArpTableListResult]] - :raises: :class:`CloudError` - """ - raw_result = self._list_arp_table_initial( - resource_group_name=resource_group_name, - circuit_name=circuit_name, - peering_name=peering_name, - device_path=device_path, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ExpressRouteCircuitsArpTableListResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - list_arp_table.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/arpTables/{devicePath}'} - - - def _list_routes_table_initial( - self, resource_group_name, circuit_name, peering_name, device_path, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.list_routes_table.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), - 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), - 'devicePath': self._serialize.url("device_path", device_path, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - 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('ExpressRouteCircuitsRoutesTableListResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def list_routes_table( - self, resource_group_name, circuit_name, peering_name, device_path, custom_headers=None, raw=False, polling=True, **operation_config): - """Gets the currently advertised routes table associated with the express - route circuit in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param circuit_name: The name of the express route circuit. - :type circuit_name: str - :param peering_name: The name of the peering. - :type peering_name: str - :param device_path: The path of the device. - :type device_path: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - ExpressRouteCircuitsRoutesTableListResult or - ClientRawResponse if - raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.ExpressRouteCircuitsRoutesTableListResult] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.ExpressRouteCircuitsRoutesTableListResult]] - :raises: :class:`CloudError` - """ - raw_result = self._list_routes_table_initial( - resource_group_name=resource_group_name, - circuit_name=circuit_name, - peering_name=peering_name, - device_path=device_path, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ExpressRouteCircuitsRoutesTableListResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - list_routes_table.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/routeTables/{devicePath}'} - - - def _list_routes_table_summary_initial( - self, resource_group_name, circuit_name, peering_name, device_path, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.list_routes_table_summary.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), - 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), - 'devicePath': self._serialize.url("device_path", device_path, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - 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('ExpressRouteCircuitsRoutesTableSummaryListResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def list_routes_table_summary( - self, resource_group_name, circuit_name, peering_name, device_path, custom_headers=None, raw=False, polling=True, **operation_config): - """Gets the currently advertised routes table summary associated with the - express route circuit in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param circuit_name: The name of the express route circuit. - :type circuit_name: str - :param peering_name: The name of the peering. - :type peering_name: str - :param device_path: The path of the device. - :type device_path: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - ExpressRouteCircuitsRoutesTableSummaryListResult or - ClientRawResponse if - raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.ExpressRouteCircuitsRoutesTableSummaryListResult] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.ExpressRouteCircuitsRoutesTableSummaryListResult]] - :raises: :class:`CloudError` - """ - raw_result = self._list_routes_table_summary_initial( - resource_group_name=resource_group_name, - circuit_name=circuit_name, - peering_name=peering_name, - device_path=device_path, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ExpressRouteCircuitsRoutesTableSummaryListResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - list_routes_table_summary.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/routeTablesSummary/{devicePath}'} - - def get_stats( - self, resource_group_name, circuit_name, custom_headers=None, raw=False, **operation_config): - """Gets all the stats from an express route circuit in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param circuit_name: The name of the express route circuit. - :type circuit_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ExpressRouteCircuitStats or ClientRawResponse if raw=true - :rtype: - ~azure.mgmt.network.v2019_07_01.models.ExpressRouteCircuitStats or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get_stats.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ExpressRouteCircuitStats', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get_stats.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/stats'} - - def get_peering_stats( - self, resource_group_name, circuit_name, peering_name, custom_headers=None, raw=False, **operation_config): - """Gets all stats from an express route circuit in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param circuit_name: The name of the express route circuit. - :type circuit_name: str - :param peering_name: The name of the peering. - :type peering_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ExpressRouteCircuitStats or ClientRawResponse if raw=true - :rtype: - ~azure.mgmt.network.v2019_07_01.models.ExpressRouteCircuitStats or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get_peering_stats.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), - 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ExpressRouteCircuitStats', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get_peering_stats.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/stats'} - - def list( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Gets all the express route circuits in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of ExpressRouteCircuit - :rtype: - ~azure.mgmt.network.v2019_07_01.models.ExpressRouteCircuitPaged[~azure.mgmt.network.v2019_07_01.models.ExpressRouteCircuit] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.ExpressRouteCircuitPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits'} - - def list_all( - self, custom_headers=None, raw=False, **operation_config): - """Gets all the express route circuits in a subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of ExpressRouteCircuit - :rtype: - ~azure.mgmt.network.v2019_07_01.models.ExpressRouteCircuitPaged[~azure.mgmt.network.v2019_07_01.models.ExpressRouteCircuit] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_all.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.ExpressRouteCircuitPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/expressRouteCircuits'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_express_route_connections_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_express_route_connections_operations.py deleted file mode 100644 index faaec398dc8..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_express_route_connections_operations.py +++ /dev/null @@ -1,364 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class ExpressRouteConnectionsOperations(object): - """ExpressRouteConnectionsOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-07-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-07-01" - - self.config = config - - - def _create_or_update_initial( - self, resource_group_name, express_route_gateway_name, connection_name, put_express_route_connection_parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'expressRouteGatewayName': self._serialize.url("express_route_gateway_name", express_route_gateway_name, 'str'), - 'connectionName': self._serialize.url("connection_name", connection_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(put_express_route_connection_parameters, 'ExpressRouteConnection') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('ExpressRouteConnection', response) - if response.status_code == 201: - deserialized = self._deserialize('ExpressRouteConnection', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, express_route_gateway_name, connection_name, put_express_route_connection_parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates a connection between an ExpressRoute gateway and an - ExpressRoute circuit. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param express_route_gateway_name: The name of the ExpressRoute - gateway. - :type express_route_gateway_name: str - :param connection_name: The name of the connection subresource. - :type connection_name: str - :param put_express_route_connection_parameters: Parameters required in - an ExpressRouteConnection PUT operation. - :type put_express_route_connection_parameters: - ~azure.mgmt.network.v2019_07_01.models.ExpressRouteConnection - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns ExpressRouteConnection - or ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.ExpressRouteConnection] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.ExpressRouteConnection]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - express_route_gateway_name=express_route_gateway_name, - connection_name=connection_name, - put_express_route_connection_parameters=put_express_route_connection_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ExpressRouteConnection', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteGateways/{expressRouteGatewayName}/expressRouteConnections/{connectionName}'} - - def get( - self, resource_group_name, express_route_gateway_name, connection_name, custom_headers=None, raw=False, **operation_config): - """Gets the specified ExpressRouteConnection. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param express_route_gateway_name: The name of the ExpressRoute - gateway. - :type express_route_gateway_name: str - :param connection_name: The name of the ExpressRoute connection. - :type connection_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ExpressRouteConnection or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_07_01.models.ExpressRouteConnection - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'expressRouteGatewayName': self._serialize.url("express_route_gateway_name", express_route_gateway_name, 'str'), - 'connectionName': self._serialize.url("connection_name", connection_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ExpressRouteConnection', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteGateways/{expressRouteGatewayName}/expressRouteConnections/{connectionName}'} - - - def _delete_initial( - self, resource_group_name, express_route_gateway_name, connection_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'expressRouteGatewayName': self._serialize.url("express_route_gateway_name", express_route_gateway_name, 'str'), - 'connectionName': self._serialize.url("connection_name", connection_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, express_route_gateway_name, connection_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes a connection to a ExpressRoute circuit. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param express_route_gateway_name: The name of the ExpressRoute - gateway. - :type express_route_gateway_name: str - :param connection_name: The name of the connection subresource. - :type connection_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - express_route_gateway_name=express_route_gateway_name, - connection_name=connection_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteGateways/{expressRouteGatewayName}/expressRouteConnections/{connectionName}'} - - def list( - self, resource_group_name, express_route_gateway_name, custom_headers=None, raw=False, **operation_config): - """Lists ExpressRouteConnections. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param express_route_gateway_name: The name of the ExpressRoute - gateway. - :type express_route_gateway_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ExpressRouteConnectionList or ClientRawResponse if raw=true - :rtype: - ~azure.mgmt.network.v2019_07_01.models.ExpressRouteConnectionList or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'expressRouteGatewayName': self._serialize.url("express_route_gateway_name", express_route_gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ExpressRouteConnectionList', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteGateways/{expressRouteGatewayName}/expressRouteConnections'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_express_route_cross_connection_peerings_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_express_route_cross_connection_peerings_operations.py deleted file mode 100644 index 3df55016bda..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_express_route_cross_connection_peerings_operations.py +++ /dev/null @@ -1,378 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class ExpressRouteCrossConnectionPeeringsOperations(object): - """ExpressRouteCrossConnectionPeeringsOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-07-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-07-01" - - self.config = config - - def list( - self, resource_group_name, cross_connection_name, custom_headers=None, raw=False, **operation_config): - """Gets all peerings in a specified ExpressRouteCrossConnection. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param cross_connection_name: The name of the - ExpressRouteCrossConnection. - :type cross_connection_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of - ExpressRouteCrossConnectionPeering - :rtype: - ~azure.mgmt.network.v2019_07_01.models.ExpressRouteCrossConnectionPeeringPaged[~azure.mgmt.network.v2019_07_01.models.ExpressRouteCrossConnectionPeering] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'crossConnectionName': self._serialize.url("cross_connection_name", cross_connection_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.ExpressRouteCrossConnectionPeeringPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings'} - - - def _delete_initial( - self, resource_group_name, cross_connection_name, peering_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'crossConnectionName': self._serialize.url("cross_connection_name", cross_connection_name, 'str'), - 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, cross_connection_name, peering_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified peering from the ExpressRouteCrossConnection. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param cross_connection_name: The name of the - ExpressRouteCrossConnection. - :type cross_connection_name: str - :param peering_name: The name of the peering. - :type peering_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - cross_connection_name=cross_connection_name, - peering_name=peering_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}'} - - def get( - self, resource_group_name, cross_connection_name, peering_name, custom_headers=None, raw=False, **operation_config): - """Gets the specified peering for the ExpressRouteCrossConnection. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param cross_connection_name: The name of the - ExpressRouteCrossConnection. - :type cross_connection_name: str - :param peering_name: The name of the peering. - :type peering_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ExpressRouteCrossConnectionPeering or ClientRawResponse if - raw=true - :rtype: - ~azure.mgmt.network.v2019_07_01.models.ExpressRouteCrossConnectionPeering - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'crossConnectionName': self._serialize.url("cross_connection_name", cross_connection_name, 'str'), - 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ExpressRouteCrossConnectionPeering', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}'} - - - def _create_or_update_initial( - self, resource_group_name, cross_connection_name, peering_name, peering_parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'crossConnectionName': self._serialize.url("cross_connection_name", cross_connection_name, 'str'), - 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(peering_parameters, 'ExpressRouteCrossConnectionPeering') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('ExpressRouteCrossConnectionPeering', response) - if response.status_code == 201: - deserialized = self._deserialize('ExpressRouteCrossConnectionPeering', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, cross_connection_name, peering_name, peering_parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates a peering in the specified - ExpressRouteCrossConnection. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param cross_connection_name: The name of the - ExpressRouteCrossConnection. - :type cross_connection_name: str - :param peering_name: The name of the peering. - :type peering_name: str - :param peering_parameters: Parameters supplied to the create or update - ExpressRouteCrossConnection peering operation. - :type peering_parameters: - ~azure.mgmt.network.v2019_07_01.models.ExpressRouteCrossConnectionPeering - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - ExpressRouteCrossConnectionPeering or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.ExpressRouteCrossConnectionPeering] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.ExpressRouteCrossConnectionPeering]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - cross_connection_name=cross_connection_name, - peering_name=peering_name, - peering_parameters=peering_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ExpressRouteCrossConnectionPeering', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_express_route_cross_connections_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_express_route_cross_connections_operations.py deleted file mode 100644 index 13fbc312df4..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_express_route_cross_connections_operations.py +++ /dev/null @@ -1,762 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class ExpressRouteCrossConnectionsOperations(object): - """ExpressRouteCrossConnectionsOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-07-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-07-01" - - self.config = config - - def list( - self, custom_headers=None, raw=False, **operation_config): - """Retrieves all the ExpressRouteCrossConnections in a subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of ExpressRouteCrossConnection - :rtype: - ~azure.mgmt.network.v2019_07_01.models.ExpressRouteCrossConnectionPaged[~azure.mgmt.network.v2019_07_01.models.ExpressRouteCrossConnection] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.ExpressRouteCrossConnectionPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/expressRouteCrossConnections'} - - def list_by_resource_group( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Retrieves all the ExpressRouteCrossConnections in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of ExpressRouteCrossConnection - :rtype: - ~azure.mgmt.network.v2019_07_01.models.ExpressRouteCrossConnectionPaged[~azure.mgmt.network.v2019_07_01.models.ExpressRouteCrossConnection] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_by_resource_group.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.ExpressRouteCrossConnectionPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections'} - - def get( - self, resource_group_name, cross_connection_name, custom_headers=None, raw=False, **operation_config): - """Gets details about the specified ExpressRouteCrossConnection. - - :param resource_group_name: The name of the resource group (peering - location of the circuit). - :type resource_group_name: str - :param cross_connection_name: The name of the - ExpressRouteCrossConnection (service key of the circuit). - :type cross_connection_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ExpressRouteCrossConnection or ClientRawResponse if raw=true - :rtype: - ~azure.mgmt.network.v2019_07_01.models.ExpressRouteCrossConnection or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'crossConnectionName': self._serialize.url("cross_connection_name", cross_connection_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ExpressRouteCrossConnection', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}'} - - - def _create_or_update_initial( - self, resource_group_name, cross_connection_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'crossConnectionName': self._serialize.url("cross_connection_name", cross_connection_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'ExpressRouteCrossConnection') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ExpressRouteCrossConnection', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, cross_connection_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Update the specified ExpressRouteCrossConnection. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param cross_connection_name: The name of the - ExpressRouteCrossConnection. - :type cross_connection_name: str - :param parameters: Parameters supplied to the update express route - crossConnection operation. - :type parameters: - ~azure.mgmt.network.v2019_07_01.models.ExpressRouteCrossConnection - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - ExpressRouteCrossConnection or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.ExpressRouteCrossConnection] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.ExpressRouteCrossConnection]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - cross_connection_name=cross_connection_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ExpressRouteCrossConnection', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}'} - - - def _update_tags_initial( - self, resource_group_name, cross_connection_name, tags=None, custom_headers=None, raw=False, **operation_config): - cross_connection_parameters = models.TagsObject(tags=tags) - - # Construct URL - url = self.update_tags.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'crossConnectionName': self._serialize.url("cross_connection_name", cross_connection_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(cross_connection_parameters, 'TagsObject') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ExpressRouteCrossConnection', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def update_tags( - self, resource_group_name, cross_connection_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Updates an express route cross connection tags. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param cross_connection_name: The name of the cross connection. - :type cross_connection_name: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - ExpressRouteCrossConnection or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.ExpressRouteCrossConnection] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.ExpressRouteCrossConnection]] - :raises: :class:`CloudError` - """ - raw_result = self._update_tags_initial( - resource_group_name=resource_group_name, - cross_connection_name=cross_connection_name, - tags=tags, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ExpressRouteCrossConnection', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}'} - - - def _list_arp_table_initial( - self, resource_group_name, cross_connection_name, peering_name, device_path, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.list_arp_table.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'crossConnectionName': self._serialize.url("cross_connection_name", cross_connection_name, 'str'), - 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), - 'devicePath': self._serialize.url("device_path", device_path, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - 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('ExpressRouteCircuitsArpTableListResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def list_arp_table( - self, resource_group_name, cross_connection_name, peering_name, device_path, custom_headers=None, raw=False, polling=True, **operation_config): - """Gets the currently advertised ARP table associated with the express - route cross connection in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param cross_connection_name: The name of the - ExpressRouteCrossConnection. - :type cross_connection_name: str - :param peering_name: The name of the peering. - :type peering_name: str - :param device_path: The path of the device. - :type device_path: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - ExpressRouteCircuitsArpTableListResult or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.ExpressRouteCircuitsArpTableListResult] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.ExpressRouteCircuitsArpTableListResult]] - :raises: :class:`CloudError` - """ - raw_result = self._list_arp_table_initial( - resource_group_name=resource_group_name, - cross_connection_name=cross_connection_name, - peering_name=peering_name, - device_path=device_path, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ExpressRouteCircuitsArpTableListResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - list_arp_table.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}/arpTables/{devicePath}'} - - - def _list_routes_table_summary_initial( - self, resource_group_name, cross_connection_name, peering_name, device_path, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.list_routes_table_summary.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'crossConnectionName': self._serialize.url("cross_connection_name", cross_connection_name, 'str'), - 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), - 'devicePath': self._serialize.url("device_path", device_path, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - 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('ExpressRouteCrossConnectionsRoutesTableSummaryListResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def list_routes_table_summary( - self, resource_group_name, cross_connection_name, peering_name, device_path, custom_headers=None, raw=False, polling=True, **operation_config): - """Gets the route table summary associated with the express route cross - connection in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param cross_connection_name: The name of the - ExpressRouteCrossConnection. - :type cross_connection_name: str - :param peering_name: The name of the peering. - :type peering_name: str - :param device_path: The path of the device. - :type device_path: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - ExpressRouteCrossConnectionsRoutesTableSummaryListResult or - ClientRawResponse - if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.ExpressRouteCrossConnectionsRoutesTableSummaryListResult] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.ExpressRouteCrossConnectionsRoutesTableSummaryListResult]] - :raises: :class:`CloudError` - """ - raw_result = self._list_routes_table_summary_initial( - resource_group_name=resource_group_name, - cross_connection_name=cross_connection_name, - peering_name=peering_name, - device_path=device_path, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ExpressRouteCrossConnectionsRoutesTableSummaryListResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - list_routes_table_summary.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}/routeTablesSummary/{devicePath}'} - - - def _list_routes_table_initial( - self, resource_group_name, cross_connection_name, peering_name, device_path, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.list_routes_table.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'crossConnectionName': self._serialize.url("cross_connection_name", cross_connection_name, 'str'), - 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), - 'devicePath': self._serialize.url("device_path", device_path, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - 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('ExpressRouteCircuitsRoutesTableListResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def list_routes_table( - self, resource_group_name, cross_connection_name, peering_name, device_path, custom_headers=None, raw=False, polling=True, **operation_config): - """Gets the currently advertised routes table associated with the express - route cross connection in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param cross_connection_name: The name of the - ExpressRouteCrossConnection. - :type cross_connection_name: str - :param peering_name: The name of the peering. - :type peering_name: str - :param device_path: The path of the device. - :type device_path: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - ExpressRouteCircuitsRoutesTableListResult or - ClientRawResponse if - raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.ExpressRouteCircuitsRoutesTableListResult] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.ExpressRouteCircuitsRoutesTableListResult]] - :raises: :class:`CloudError` - """ - raw_result = self._list_routes_table_initial( - resource_group_name=resource_group_name, - cross_connection_name=cross_connection_name, - peering_name=peering_name, - device_path=device_path, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ExpressRouteCircuitsRoutesTableListResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - list_routes_table.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}/routeTables/{devicePath}'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_express_route_gateways_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_express_route_gateways_operations.py deleted file mode 100644 index 983f4f2fa7f..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_express_route_gateways_operations.py +++ /dev/null @@ -1,405 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class ExpressRouteGatewaysOperations(object): - """ExpressRouteGatewaysOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-07-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-07-01" - - self.config = config - - def list_by_subscription( - self, custom_headers=None, raw=False, **operation_config): - """Lists ExpressRoute gateways under a given subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ExpressRouteGatewayList or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_07_01.models.ExpressRouteGatewayList - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.list_by_subscription.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ExpressRouteGatewayList', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - list_by_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/expressRouteGateways'} - - def list_by_resource_group( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Lists ExpressRoute gateways in a given resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ExpressRouteGatewayList or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_07_01.models.ExpressRouteGatewayList - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.list_by_resource_group.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ExpressRouteGatewayList', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteGateways'} - - - def _create_or_update_initial( - self, resource_group_name, express_route_gateway_name, put_express_route_gateway_parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'expressRouteGatewayName': self._serialize.url("express_route_gateway_name", express_route_gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(put_express_route_gateway_parameters, 'ExpressRouteGateway') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('ExpressRouteGateway', response) - if response.status_code == 201: - deserialized = self._deserialize('ExpressRouteGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, express_route_gateway_name, put_express_route_gateway_parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates a ExpressRoute gateway in a specified resource - group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param express_route_gateway_name: The name of the ExpressRoute - gateway. - :type express_route_gateway_name: str - :param put_express_route_gateway_parameters: Parameters required in an - ExpressRoute gateway PUT operation. - :type put_express_route_gateway_parameters: - ~azure.mgmt.network.v2019_07_01.models.ExpressRouteGateway - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns ExpressRouteGateway or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.ExpressRouteGateway] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.ExpressRouteGateway]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - express_route_gateway_name=express_route_gateway_name, - put_express_route_gateway_parameters=put_express_route_gateway_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ExpressRouteGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteGateways/{expressRouteGatewayName}'} - - def get( - self, resource_group_name, express_route_gateway_name, custom_headers=None, raw=False, **operation_config): - """Fetches the details of a ExpressRoute gateway in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param express_route_gateway_name: The name of the ExpressRoute - gateway. - :type express_route_gateway_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ExpressRouteGateway or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_07_01.models.ExpressRouteGateway or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'expressRouteGatewayName': self._serialize.url("express_route_gateway_name", express_route_gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ExpressRouteGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteGateways/{expressRouteGatewayName}'} - - - def _delete_initial( - self, resource_group_name, express_route_gateway_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'expressRouteGatewayName': self._serialize.url("express_route_gateway_name", express_route_gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, express_route_gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified ExpressRoute gateway in a resource group. An - ExpressRoute gateway resource can only be deleted when there are no - connection subresources. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param express_route_gateway_name: The name of the ExpressRoute - gateway. - :type express_route_gateway_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - express_route_gateway_name=express_route_gateway_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteGateways/{expressRouteGatewayName}'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_express_route_links_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_express_route_links_operations.py deleted file mode 100644 index b3ac9f4f454..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_express_route_links_operations.py +++ /dev/null @@ -1,179 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError - -from .. import models - - -class ExpressRouteLinksOperations(object): - """ExpressRouteLinksOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-07-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-07-01" - - self.config = config - - def get( - self, resource_group_name, express_route_port_name, link_name, custom_headers=None, raw=False, **operation_config): - """Retrieves the specified ExpressRouteLink resource. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param express_route_port_name: The name of the ExpressRoutePort - resource. - :type express_route_port_name: str - :param link_name: The name of the ExpressRouteLink resource. - :type link_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ExpressRouteLink or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_07_01.models.ExpressRouteLink or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'expressRoutePortName': self._serialize.url("express_route_port_name", express_route_port_name, 'str'), - 'linkName': self._serialize.url("link_name", link_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ExpressRouteLink', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ExpressRoutePorts/{expressRoutePortName}/links/{linkName}'} - - def list( - self, resource_group_name, express_route_port_name, custom_headers=None, raw=False, **operation_config): - """Retrieve the ExpressRouteLink sub-resources of the specified - ExpressRoutePort resource. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param express_route_port_name: The name of the ExpressRoutePort - resource. - :type express_route_port_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of ExpressRouteLink - :rtype: - ~azure.mgmt.network.v2019_07_01.models.ExpressRouteLinkPaged[~azure.mgmt.network.v2019_07_01.models.ExpressRouteLink] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'expressRoutePortName': self._serialize.url("express_route_port_name", express_route_port_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.ExpressRouteLinkPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ExpressRoutePorts/{expressRoutePortName}/links'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_express_route_ports_locations_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_express_route_ports_locations_operations.py deleted file mode 100644 index df7f6921a3d..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_express_route_ports_locations_operations.py +++ /dev/null @@ -1,169 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError - -from .. import models - - -class ExpressRoutePortsLocationsOperations(object): - """ExpressRoutePortsLocationsOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-07-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-07-01" - - self.config = config - - def list( - self, custom_headers=None, raw=False, **operation_config): - """Retrieves all ExpressRoutePort peering locations. Does not return - available bandwidths for each location. Available bandwidths can only - be obtained when retrieving a specific peering location. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of ExpressRoutePortsLocation - :rtype: - ~azure.mgmt.network.v2019_07_01.models.ExpressRoutePortsLocationPaged[~azure.mgmt.network.v2019_07_01.models.ExpressRoutePortsLocation] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.ExpressRoutePortsLocationPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/ExpressRoutePortsLocations'} - - def get( - self, location_name, custom_headers=None, raw=False, **operation_config): - """Retrieves a single ExpressRoutePort peering location, including the - list of available bandwidths available at said peering location. - - :param location_name: Name of the requested ExpressRoutePort peering - location. - :type location_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ExpressRoutePortsLocation or ClientRawResponse if raw=true - :rtype: - ~azure.mgmt.network.v2019_07_01.models.ExpressRoutePortsLocation or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'locationName': self._serialize.url("location_name", location_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ExpressRoutePortsLocation', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/ExpressRoutePortsLocations/{locationName}'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_express_route_ports_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_express_route_ports_operations.py deleted file mode 100644 index 5f36af3cbc4..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_express_route_ports_operations.py +++ /dev/null @@ -1,527 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class ExpressRoutePortsOperations(object): - """ExpressRoutePortsOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-07-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-07-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, express_route_port_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'expressRoutePortName': self._serialize.url("express_route_port_name", express_route_port_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, express_route_port_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified ExpressRoutePort resource. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param express_route_port_name: The name of the ExpressRoutePort - resource. - :type express_route_port_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - express_route_port_name=express_route_port_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ExpressRoutePorts/{expressRoutePortName}'} - - def get( - self, resource_group_name, express_route_port_name, custom_headers=None, raw=False, **operation_config): - """Retrieves the requested ExpressRoutePort resource. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param express_route_port_name: The name of ExpressRoutePort. - :type express_route_port_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ExpressRoutePort or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_07_01.models.ExpressRoutePort or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'expressRoutePortName': self._serialize.url("express_route_port_name", express_route_port_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ExpressRoutePort', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ExpressRoutePorts/{expressRoutePortName}'} - - - def _create_or_update_initial( - self, resource_group_name, express_route_port_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'expressRoutePortName': self._serialize.url("express_route_port_name", express_route_port_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'ExpressRoutePort') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('ExpressRoutePort', response) - if response.status_code == 201: - deserialized = self._deserialize('ExpressRoutePort', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, express_route_port_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates the specified ExpressRoutePort resource. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param express_route_port_name: The name of the ExpressRoutePort - resource. - :type express_route_port_name: str - :param parameters: Parameters supplied to the create ExpressRoutePort - operation. - :type parameters: - ~azure.mgmt.network.v2019_07_01.models.ExpressRoutePort - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns ExpressRoutePort or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.ExpressRoutePort] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.ExpressRoutePort]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - express_route_port_name=express_route_port_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ExpressRoutePort', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ExpressRoutePorts/{expressRoutePortName}'} - - - def _update_tags_initial( - self, resource_group_name, express_route_port_name, tags=None, custom_headers=None, raw=False, **operation_config): - parameters = models.TagsObject(tags=tags) - - # Construct URL - url = self.update_tags.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'expressRoutePortName': self._serialize.url("express_route_port_name", express_route_port_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'TagsObject') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ExpressRoutePort', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def update_tags( - self, resource_group_name, express_route_port_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Update ExpressRoutePort tags. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param express_route_port_name: The name of the ExpressRoutePort - resource. - :type express_route_port_name: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns ExpressRoutePort or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.ExpressRoutePort] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.ExpressRoutePort]] - :raises: :class:`CloudError` - """ - raw_result = self._update_tags_initial( - resource_group_name=resource_group_name, - express_route_port_name=express_route_port_name, - tags=tags, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ExpressRoutePort', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ExpressRoutePorts/{expressRoutePortName}'} - - def list_by_resource_group( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """List all the ExpressRoutePort resources in the specified resource - group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of ExpressRoutePort - :rtype: - ~azure.mgmt.network.v2019_07_01.models.ExpressRoutePortPaged[~azure.mgmt.network.v2019_07_01.models.ExpressRoutePort] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_by_resource_group.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.ExpressRoutePortPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ExpressRoutePorts'} - - def list( - self, custom_headers=None, raw=False, **operation_config): - """List all the ExpressRoutePort resources in the specified subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of ExpressRoutePort - :rtype: - ~azure.mgmt.network.v2019_07_01.models.ExpressRoutePortPaged[~azure.mgmt.network.v2019_07_01.models.ExpressRoutePort] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.ExpressRoutePortPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/ExpressRoutePorts'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_express_route_service_providers_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_express_route_service_providers_operations.py deleted file mode 100644 index 7eeaaa99873..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_express_route_service_providers_operations.py +++ /dev/null @@ -1,106 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError - -from .. import models - - -class ExpressRouteServiceProvidersOperations(object): - """ExpressRouteServiceProvidersOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-07-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-07-01" - - self.config = config - - def list( - self, custom_headers=None, raw=False, **operation_config): - """Gets all the available express route service providers. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of ExpressRouteServiceProvider - :rtype: - ~azure.mgmt.network.v2019_07_01.models.ExpressRouteServiceProviderPaged[~azure.mgmt.network.v2019_07_01.models.ExpressRouteServiceProvider] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.ExpressRouteServiceProviderPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/expressRouteServiceProviders'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_firewall_policies_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_firewall_policies_operations.py deleted file mode 100644 index 768ab21e9fa..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_firewall_policies_operations.py +++ /dev/null @@ -1,495 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class FirewallPoliciesOperations(object): - """FirewallPoliciesOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-07-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-07-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, firewall_policy_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'firewallPolicyName': self._serialize.url("firewall_policy_name", firewall_policy_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, firewall_policy_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified Firewall Policy. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param firewall_policy_name: The name of the Firewall Policy. - :type firewall_policy_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - firewall_policy_name=firewall_policy_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies/{firewallPolicyName}'} - - def get( - self, resource_group_name, firewall_policy_name, expand=None, custom_headers=None, raw=False, **operation_config): - """Gets the specified Firewall Policy. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param firewall_policy_name: The name of the Firewall Policy. - :type firewall_policy_name: str - :param expand: Expands referenced resources. - :type expand: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: FirewallPolicy or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_07_01.models.FirewallPolicy or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'firewallPolicyName': self._serialize.url("firewall_policy_name", firewall_policy_name, 'str'), - '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.api_version", self.api_version, 'str') - if expand is not None: - query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('FirewallPolicy', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies/{firewallPolicyName}'} - - def update_tags( - self, resource_group_name, firewall_policy_name, tags=None, custom_headers=None, raw=False, **operation_config): - """Updates a Firewall Policy Tags. - - :param resource_group_name: The resource group name of the Firewall - Policy. - :type resource_group_name: str - :param firewall_policy_name: The name of the Firewall Policy being - updated. - :type firewall_policy_name: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: FirewallPolicy or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_07_01.models.FirewallPolicy or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorException` - """ - firewall_policy_parameters = models.TagsObject(tags=tags) - - # Construct URL - url = self.update_tags.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'firewallPolicyName': self._serialize.url("firewall_policy_name", firewall_policy_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(firewall_policy_parameters, 'TagsObject') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorException(self._deserialize, response) - - deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('FirewallPolicy', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies/{firewallPolicyName}'} - - - def _create_or_update_initial( - self, resource_group_name, firewall_policy_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'firewallPolicyName': self._serialize.url("firewall_policy_name", firewall_policy_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'FirewallPolicy') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('FirewallPolicy', response) - if response.status_code == 201: - deserialized = self._deserialize('FirewallPolicy', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, firewall_policy_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates the specified Firewall Policy. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param firewall_policy_name: The name of the Firewall Policy. - :type firewall_policy_name: str - :param parameters: Parameters supplied to the create or update - Firewall Policy operation. - :type parameters: - ~azure.mgmt.network.v2019_07_01.models.FirewallPolicy - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns FirewallPolicy or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.FirewallPolicy] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.FirewallPolicy]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - firewall_policy_name=firewall_policy_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('FirewallPolicy', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies/{firewallPolicyName}'} - - def list( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Lists all Firewall Policies in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of FirewallPolicy - :rtype: - ~azure.mgmt.network.v2019_07_01.models.FirewallPolicyPaged[~azure.mgmt.network.v2019_07_01.models.FirewallPolicy] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.FirewallPolicyPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies'} - - def list_all( - self, custom_headers=None, raw=False, **operation_config): - """Gets all the Firewall Policies in a subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of FirewallPolicy - :rtype: - ~azure.mgmt.network.v2019_07_01.models.FirewallPolicyPaged[~azure.mgmt.network.v2019_07_01.models.FirewallPolicy] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_all.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.FirewallPolicyPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/firewallPolicies'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_firewall_policy_rule_groups_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_firewall_policy_rule_groups_operations.py deleted file mode 100644 index b7dfde0caca..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_firewall_policy_rule_groups_operations.py +++ /dev/null @@ -1,369 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class FirewallPolicyRuleGroupsOperations(object): - """FirewallPolicyRuleGroupsOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-07-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-07-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, firewall_policy_name, rule_group_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'firewallPolicyName': self._serialize.url("firewall_policy_name", firewall_policy_name, 'str'), - 'ruleGroupName': self._serialize.url("rule_group_name", rule_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, firewall_policy_name, rule_group_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified FirewallPolicyRuleGroup. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param firewall_policy_name: The name of the Firewall Policy. - :type firewall_policy_name: str - :param rule_group_name: The name of the FirewallPolicyRuleGroup. - :type rule_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - firewall_policy_name=firewall_policy_name, - rule_group_name=rule_group_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies/{firewallPolicyName}/ruleGroups/{ruleGroupName}'} - - def get( - self, resource_group_name, firewall_policy_name, rule_group_name, custom_headers=None, raw=False, **operation_config): - """Gets the specified FirewallPolicyRuleGroup. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param firewall_policy_name: The name of the Firewall Policy. - :type firewall_policy_name: str - :param rule_group_name: The name of the FirewallPolicyRuleGroup. - :type rule_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: FirewallPolicyRuleGroup or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_07_01.models.FirewallPolicyRuleGroup - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'firewallPolicyName': self._serialize.url("firewall_policy_name", firewall_policy_name, 'str'), - 'ruleGroupName': self._serialize.url("rule_group_name", rule_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('FirewallPolicyRuleGroup', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies/{firewallPolicyName}/ruleGroups/{ruleGroupName}'} - - - def _create_or_update_initial( - self, resource_group_name, firewall_policy_name, rule_group_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'firewallPolicyName': self._serialize.url("firewall_policy_name", firewall_policy_name, 'str'), - 'ruleGroupName': self._serialize.url("rule_group_name", rule_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'FirewallPolicyRuleGroup') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('FirewallPolicyRuleGroup', response) - if response.status_code == 201: - deserialized = self._deserialize('FirewallPolicyRuleGroup', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, firewall_policy_name, rule_group_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates the specified FirewallPolicyRuleGroup. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param firewall_policy_name: The name of the Firewall Policy. - :type firewall_policy_name: str - :param rule_group_name: The name of the FirewallPolicyRuleGroup. - :type rule_group_name: str - :param parameters: Parameters supplied to the create or update - FirewallPolicyRuleGroup operation. - :type parameters: - ~azure.mgmt.network.v2019_07_01.models.FirewallPolicyRuleGroup - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns FirewallPolicyRuleGroup - or ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.FirewallPolicyRuleGroup] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.FirewallPolicyRuleGroup]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - firewall_policy_name=firewall_policy_name, - rule_group_name=rule_group_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('FirewallPolicyRuleGroup', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies/{firewallPolicyName}/ruleGroups/{ruleGroupName}'} - - def list( - self, resource_group_name, firewall_policy_name, custom_headers=None, raw=False, **operation_config): - """Lists all FirewallPolicyRuleGroups in a FirewallPolicy resource. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param firewall_policy_name: The name of the Firewall Policy. - :type firewall_policy_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of FirewallPolicyRuleGroup - :rtype: - ~azure.mgmt.network.v2019_07_01.models.FirewallPolicyRuleGroupPaged[~azure.mgmt.network.v2019_07_01.models.FirewallPolicyRuleGroup] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'firewallPolicyName': self._serialize.url("firewall_policy_name", firewall_policy_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.FirewallPolicyRuleGroupPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies/{firewallPolicyName}/ruleGroups'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_hub_virtual_network_connections_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_hub_virtual_network_connections_operations.py deleted file mode 100644 index 5b79d222c65..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_hub_virtual_network_connections_operations.py +++ /dev/null @@ -1,174 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse - -from .. import models - - -class HubVirtualNetworkConnectionsOperations(object): - """HubVirtualNetworkConnectionsOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-07-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-07-01" - - self.config = config - - def get( - self, resource_group_name, virtual_hub_name, connection_name, custom_headers=None, raw=False, **operation_config): - """Retrieves the details of a HubVirtualNetworkConnection. - - :param resource_group_name: The resource group name of the VirtualHub. - :type resource_group_name: str - :param virtual_hub_name: The name of the VirtualHub. - :type virtual_hub_name: str - :param connection_name: The name of the vpn connection. - :type connection_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: HubVirtualNetworkConnection or ClientRawResponse if raw=true - :rtype: - ~azure.mgmt.network.v2019_07_01.models.HubVirtualNetworkConnection or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorException` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualHubName': self._serialize.url("virtual_hub_name", virtual_hub_name, 'str'), - 'connectionName': self._serialize.url("connection_name", connection_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorException(self._deserialize, response) - - deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('HubVirtualNetworkConnection', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}/hubVirtualNetworkConnections/{connectionName}'} - - def list( - self, resource_group_name, virtual_hub_name, custom_headers=None, raw=False, **operation_config): - """Retrieves the details of all HubVirtualNetworkConnections. - - :param resource_group_name: The resource group name of the VirtualHub. - :type resource_group_name: str - :param virtual_hub_name: The name of the VirtualHub. - :type virtual_hub_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of HubVirtualNetworkConnection - :rtype: - ~azure.mgmt.network.v2019_07_01.models.HubVirtualNetworkConnectionPaged[~azure.mgmt.network.v2019_07_01.models.HubVirtualNetworkConnection] - :raises: - :class:`ErrorException` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualHubName': self._serialize.url("virtual_hub_name", virtual_hub_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorException(self._deserialize, response) - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.HubVirtualNetworkConnectionPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}/hubVirtualNetworkConnections'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_inbound_nat_rules_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_inbound_nat_rules_operations.py deleted file mode 100644 index e907957407f..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_inbound_nat_rules_operations.py +++ /dev/null @@ -1,373 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class InboundNatRulesOperations(object): - """InboundNatRulesOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-07-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-07-01" - - self.config = config - - def list( - self, resource_group_name, load_balancer_name, custom_headers=None, raw=False, **operation_config): - """Gets all the inbound nat rules in a load balancer. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param load_balancer_name: The name of the load balancer. - :type load_balancer_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of InboundNatRule - :rtype: - ~azure.mgmt.network.v2019_07_01.models.InboundNatRulePaged[~azure.mgmt.network.v2019_07_01.models.InboundNatRule] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.InboundNatRulePaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/inboundNatRules'} - - - def _delete_initial( - self, resource_group_name, load_balancer_name, inbound_nat_rule_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), - 'inboundNatRuleName': self._serialize.url("inbound_nat_rule_name", inbound_nat_rule_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, load_balancer_name, inbound_nat_rule_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified load balancer inbound nat rule. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param load_balancer_name: The name of the load balancer. - :type load_balancer_name: str - :param inbound_nat_rule_name: The name of the inbound nat rule. - :type inbound_nat_rule_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - load_balancer_name=load_balancer_name, - inbound_nat_rule_name=inbound_nat_rule_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/inboundNatRules/{inboundNatRuleName}'} - - def get( - self, resource_group_name, load_balancer_name, inbound_nat_rule_name, expand=None, custom_headers=None, raw=False, **operation_config): - """Gets the specified load balancer inbound nat rule. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param load_balancer_name: The name of the load balancer. - :type load_balancer_name: str - :param inbound_nat_rule_name: The name of the inbound nat rule. - :type inbound_nat_rule_name: str - :param expand: Expands referenced resources. - :type expand: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: InboundNatRule or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_07_01.models.InboundNatRule or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), - 'inboundNatRuleName': self._serialize.url("inbound_nat_rule_name", inbound_nat_rule_name, 'str'), - '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.api_version", self.api_version, 'str') - if expand is not None: - query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('InboundNatRule', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/inboundNatRules/{inboundNatRuleName}'} - - - def _create_or_update_initial( - self, resource_group_name, load_balancer_name, inbound_nat_rule_name, inbound_nat_rule_parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), - 'inboundNatRuleName': self._serialize.url("inbound_nat_rule_name", inbound_nat_rule_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(inbound_nat_rule_parameters, 'InboundNatRule') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('InboundNatRule', response) - if response.status_code == 201: - deserialized = self._deserialize('InboundNatRule', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, load_balancer_name, inbound_nat_rule_name, inbound_nat_rule_parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates a load balancer inbound nat rule. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param load_balancer_name: The name of the load balancer. - :type load_balancer_name: str - :param inbound_nat_rule_name: The name of the inbound nat rule. - :type inbound_nat_rule_name: str - :param inbound_nat_rule_parameters: Parameters supplied to the create - or update inbound nat rule operation. - :type inbound_nat_rule_parameters: - ~azure.mgmt.network.v2019_07_01.models.InboundNatRule - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns InboundNatRule or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.InboundNatRule] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.InboundNatRule]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - load_balancer_name=load_balancer_name, - inbound_nat_rule_name=inbound_nat_rule_name, - inbound_nat_rule_parameters=inbound_nat_rule_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('InboundNatRule', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/inboundNatRules/{inboundNatRuleName}'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_load_balancer_backend_address_pools_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_load_balancer_backend_address_pools_operations.py deleted file mode 100644 index 09179014aa2..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_load_balancer_backend_address_pools_operations.py +++ /dev/null @@ -1,177 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError - -from .. import models - - -class LoadBalancerBackendAddressPoolsOperations(object): - """LoadBalancerBackendAddressPoolsOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-07-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-07-01" - - self.config = config - - def list( - self, resource_group_name, load_balancer_name, custom_headers=None, raw=False, **operation_config): - """Gets all the load balancer backed address pools. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param load_balancer_name: The name of the load balancer. - :type load_balancer_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of BackendAddressPool - :rtype: - ~azure.mgmt.network.v2019_07_01.models.BackendAddressPoolPaged[~azure.mgmt.network.v2019_07_01.models.BackendAddressPool] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.BackendAddressPoolPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/backendAddressPools'} - - def get( - self, resource_group_name, load_balancer_name, backend_address_pool_name, custom_headers=None, raw=False, **operation_config): - """Gets load balancer backend address pool. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param load_balancer_name: The name of the load balancer. - :type load_balancer_name: str - :param backend_address_pool_name: The name of the backend address - pool. - :type backend_address_pool_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: BackendAddressPool or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_07_01.models.BackendAddressPool or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), - 'backendAddressPoolName': self._serialize.url("backend_address_pool_name", backend_address_pool_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('BackendAddressPool', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/backendAddressPools/{backendAddressPoolName}'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_load_balancer_frontend_ip_configurations_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_load_balancer_frontend_ip_configurations_operations.py deleted file mode 100644 index b53b2554760..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_load_balancer_frontend_ip_configurations_operations.py +++ /dev/null @@ -1,177 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError - -from .. import models - - -class LoadBalancerFrontendIPConfigurationsOperations(object): - """LoadBalancerFrontendIPConfigurationsOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-07-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-07-01" - - self.config = config - - def list( - self, resource_group_name, load_balancer_name, custom_headers=None, raw=False, **operation_config): - """Gets all the load balancer frontend IP configurations. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param load_balancer_name: The name of the load balancer. - :type load_balancer_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of FrontendIPConfiguration - :rtype: - ~azure.mgmt.network.v2019_07_01.models.FrontendIPConfigurationPaged[~azure.mgmt.network.v2019_07_01.models.FrontendIPConfiguration] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.FrontendIPConfigurationPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/frontendIPConfigurations'} - - def get( - self, resource_group_name, load_balancer_name, frontend_ip_configuration_name, custom_headers=None, raw=False, **operation_config): - """Gets load balancer frontend IP configuration. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param load_balancer_name: The name of the load balancer. - :type load_balancer_name: str - :param frontend_ip_configuration_name: The name of the frontend IP - configuration. - :type frontend_ip_configuration_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: FrontendIPConfiguration or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_07_01.models.FrontendIPConfiguration - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), - 'frontendIPConfigurationName': self._serialize.url("frontend_ip_configuration_name", frontend_ip_configuration_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('FrontendIPConfiguration', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/frontendIPConfigurations/{frontendIPConfigurationName}'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_load_balancer_load_balancing_rules_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_load_balancer_load_balancing_rules_operations.py deleted file mode 100644 index 84d0e2adc6e..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_load_balancer_load_balancing_rules_operations.py +++ /dev/null @@ -1,176 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError - -from .. import models - - -class LoadBalancerLoadBalancingRulesOperations(object): - """LoadBalancerLoadBalancingRulesOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-07-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-07-01" - - self.config = config - - def list( - self, resource_group_name, load_balancer_name, custom_headers=None, raw=False, **operation_config): - """Gets all the load balancing rules in a load balancer. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param load_balancer_name: The name of the load balancer. - :type load_balancer_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of LoadBalancingRule - :rtype: - ~azure.mgmt.network.v2019_07_01.models.LoadBalancingRulePaged[~azure.mgmt.network.v2019_07_01.models.LoadBalancingRule] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.LoadBalancingRulePaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/loadBalancingRules'} - - def get( - self, resource_group_name, load_balancer_name, load_balancing_rule_name, custom_headers=None, raw=False, **operation_config): - """Gets the specified load balancer load balancing rule. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param load_balancer_name: The name of the load balancer. - :type load_balancer_name: str - :param load_balancing_rule_name: The name of the load balancing rule. - :type load_balancing_rule_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: LoadBalancingRule or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_07_01.models.LoadBalancingRule or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), - 'loadBalancingRuleName': self._serialize.url("load_balancing_rule_name", load_balancing_rule_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('LoadBalancingRule', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/loadBalancingRules/{loadBalancingRuleName}'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_load_balancer_network_interfaces_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_load_balancer_network_interfaces_operations.py deleted file mode 100644 index 58fc3255e94..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_load_balancer_network_interfaces_operations.py +++ /dev/null @@ -1,112 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError - -from .. import models - - -class LoadBalancerNetworkInterfacesOperations(object): - """LoadBalancerNetworkInterfacesOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-07-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-07-01" - - self.config = config - - def list( - self, resource_group_name, load_balancer_name, custom_headers=None, raw=False, **operation_config): - """Gets associated load balancer network interfaces. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param load_balancer_name: The name of the load balancer. - :type load_balancer_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of NetworkInterface - :rtype: - ~azure.mgmt.network.v2019_07_01.models.NetworkInterfacePaged[~azure.mgmt.network.v2019_07_01.models.NetworkInterface] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.NetworkInterfacePaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/networkInterfaces'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_load_balancer_outbound_rules_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_load_balancer_outbound_rules_operations.py deleted file mode 100644 index b76b7c1927f..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_load_balancer_outbound_rules_operations.py +++ /dev/null @@ -1,176 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError - -from .. import models - - -class LoadBalancerOutboundRulesOperations(object): - """LoadBalancerOutboundRulesOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-07-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-07-01" - - self.config = config - - def list( - self, resource_group_name, load_balancer_name, custom_headers=None, raw=False, **operation_config): - """Gets all the outbound rules in a load balancer. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param load_balancer_name: The name of the load balancer. - :type load_balancer_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of OutboundRule - :rtype: - ~azure.mgmt.network.v2019_07_01.models.OutboundRulePaged[~azure.mgmt.network.v2019_07_01.models.OutboundRule] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.OutboundRulePaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/outboundRules'} - - def get( - self, resource_group_name, load_balancer_name, outbound_rule_name, custom_headers=None, raw=False, **operation_config): - """Gets the specified load balancer outbound rule. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param load_balancer_name: The name of the load balancer. - :type load_balancer_name: str - :param outbound_rule_name: The name of the outbound rule. - :type outbound_rule_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: OutboundRule or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_07_01.models.OutboundRule or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), - 'outboundRuleName': self._serialize.url("outbound_rule_name", outbound_rule_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('OutboundRule', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/outboundRules/{outboundRuleName}'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_load_balancer_probes_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_load_balancer_probes_operations.py deleted file mode 100644 index 1c1a9d91106..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_load_balancer_probes_operations.py +++ /dev/null @@ -1,176 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError - -from .. import models - - -class LoadBalancerProbesOperations(object): - """LoadBalancerProbesOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-07-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-07-01" - - self.config = config - - def list( - self, resource_group_name, load_balancer_name, custom_headers=None, raw=False, **operation_config): - """Gets all the load balancer probes. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param load_balancer_name: The name of the load balancer. - :type load_balancer_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of Probe - :rtype: - ~azure.mgmt.network.v2019_07_01.models.ProbePaged[~azure.mgmt.network.v2019_07_01.models.Probe] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.ProbePaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes'} - - def get( - self, resource_group_name, load_balancer_name, probe_name, custom_headers=None, raw=False, **operation_config): - """Gets load balancer probe. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param load_balancer_name: The name of the load balancer. - :type load_balancer_name: str - :param probe_name: The name of the probe. - :type probe_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: Probe or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_07_01.models.Probe or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), - 'probeName': self._serialize.url("probe_name", probe_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('Probe', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes/{probeName}'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_load_balancers_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_load_balancers_operations.py deleted file mode 100644 index 50671403769..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_load_balancers_operations.py +++ /dev/null @@ -1,526 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class LoadBalancersOperations(object): - """LoadBalancersOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-07-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-07-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, load_balancer_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, load_balancer_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified load balancer. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param load_balancer_name: The name of the load balancer. - :type load_balancer_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - load_balancer_name=load_balancer_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}'} - - def get( - self, resource_group_name, load_balancer_name, expand=None, custom_headers=None, raw=False, **operation_config): - """Gets the specified load balancer. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param load_balancer_name: The name of the load balancer. - :type load_balancer_name: str - :param expand: Expands referenced resources. - :type expand: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: LoadBalancer or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_07_01.models.LoadBalancer or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), - '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.api_version", self.api_version, 'str') - if expand is not None: - query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('LoadBalancer', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}'} - - - def _create_or_update_initial( - self, resource_group_name, load_balancer_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'LoadBalancer') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('LoadBalancer', response) - if response.status_code == 201: - deserialized = self._deserialize('LoadBalancer', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, load_balancer_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates a load balancer. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param load_balancer_name: The name of the load balancer. - :type load_balancer_name: str - :param parameters: Parameters supplied to the create or update load - balancer operation. - :type parameters: ~azure.mgmt.network.v2019_07_01.models.LoadBalancer - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns LoadBalancer or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.LoadBalancer] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.LoadBalancer]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - load_balancer_name=load_balancer_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('LoadBalancer', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}'} - - - def _update_tags_initial( - self, resource_group_name, load_balancer_name, tags=None, custom_headers=None, raw=False, **operation_config): - parameters = models.TagsObject(tags=tags) - - # Construct URL - url = self.update_tags.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'TagsObject') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('LoadBalancer', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def update_tags( - self, resource_group_name, load_balancer_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Updates a load balancer tags. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param load_balancer_name: The name of the load balancer. - :type load_balancer_name: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns LoadBalancer or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.LoadBalancer] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.LoadBalancer]] - :raises: :class:`CloudError` - """ - raw_result = self._update_tags_initial( - resource_group_name=resource_group_name, - load_balancer_name=load_balancer_name, - tags=tags, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('LoadBalancer', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}'} - - def list_all( - self, custom_headers=None, raw=False, **operation_config): - """Gets all the load balancers in a subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of LoadBalancer - :rtype: - ~azure.mgmt.network.v2019_07_01.models.LoadBalancerPaged[~azure.mgmt.network.v2019_07_01.models.LoadBalancer] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_all.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.LoadBalancerPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/loadBalancers'} - - def list( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Gets all the load balancers in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of LoadBalancer - :rtype: - ~azure.mgmt.network.v2019_07_01.models.LoadBalancerPaged[~azure.mgmt.network.v2019_07_01.models.LoadBalancer] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.LoadBalancerPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_local_network_gateways_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_local_network_gateways_operations.py deleted file mode 100644 index 7449bba284a..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_local_network_gateways_operations.py +++ /dev/null @@ -1,462 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class LocalNetworkGatewaysOperations(object): - """LocalNetworkGatewaysOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-07-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-07-01" - - self.config = config - - - def _create_or_update_initial( - self, resource_group_name, local_network_gateway_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'localNetworkGatewayName': self._serialize.url("local_network_gateway_name", local_network_gateway_name, 'str', min_length=1), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'LocalNetworkGateway') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('LocalNetworkGateway', response) - if response.status_code == 201: - deserialized = self._deserialize('LocalNetworkGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, local_network_gateway_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates a local network gateway in the specified resource - group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param local_network_gateway_name: The name of the local network - gateway. - :type local_network_gateway_name: str - :param parameters: Parameters supplied to the create or update local - network gateway operation. - :type parameters: - ~azure.mgmt.network.v2019_07_01.models.LocalNetworkGateway - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns LocalNetworkGateway or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.LocalNetworkGateway] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.LocalNetworkGateway]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - local_network_gateway_name=local_network_gateway_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('LocalNetworkGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/localNetworkGateways/{localNetworkGatewayName}'} - - def get( - self, resource_group_name, local_network_gateway_name, custom_headers=None, raw=False, **operation_config): - """Gets the specified local network gateway in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param local_network_gateway_name: The name of the local network - gateway. - :type local_network_gateway_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: LocalNetworkGateway or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_07_01.models.LocalNetworkGateway or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'localNetworkGatewayName': self._serialize.url("local_network_gateway_name", local_network_gateway_name, 'str', min_length=1), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('LocalNetworkGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/localNetworkGateways/{localNetworkGatewayName}'} - - - def _delete_initial( - self, resource_group_name, local_network_gateway_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'localNetworkGatewayName': self._serialize.url("local_network_gateway_name", local_network_gateway_name, 'str', min_length=1), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, local_network_gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified local network gateway. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param local_network_gateway_name: The name of the local network - gateway. - :type local_network_gateway_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - local_network_gateway_name=local_network_gateway_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/localNetworkGateways/{localNetworkGatewayName}'} - - - def _update_tags_initial( - self, resource_group_name, local_network_gateway_name, tags=None, custom_headers=None, raw=False, **operation_config): - parameters = models.TagsObject(tags=tags) - - # Construct URL - url = self.update_tags.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'localNetworkGatewayName': self._serialize.url("local_network_gateway_name", local_network_gateway_name, 'str', min_length=1), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'TagsObject') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('LocalNetworkGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def update_tags( - self, resource_group_name, local_network_gateway_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Updates a local network gateway tags. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param local_network_gateway_name: The name of the local network - gateway. - :type local_network_gateway_name: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns LocalNetworkGateway or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.LocalNetworkGateway] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.LocalNetworkGateway]] - :raises: :class:`CloudError` - """ - raw_result = self._update_tags_initial( - resource_group_name=resource_group_name, - local_network_gateway_name=local_network_gateway_name, - tags=tags, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('LocalNetworkGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/localNetworkGateways/{localNetworkGatewayName}'} - - def list( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Gets all the local network gateways in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of LocalNetworkGateway - :rtype: - ~azure.mgmt.network.v2019_07_01.models.LocalNetworkGatewayPaged[~azure.mgmt.network.v2019_07_01.models.LocalNetworkGateway] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.LocalNetworkGatewayPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/localNetworkGateways'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_nat_gateways_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_nat_gateways_operations.py deleted file mode 100644 index 78a6dc6abde..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_nat_gateways_operations.py +++ /dev/null @@ -1,495 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class NatGatewaysOperations(object): - """NatGatewaysOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-07-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-07-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, nat_gateway_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'natGatewayName': self._serialize.url("nat_gateway_name", nat_gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, nat_gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified nat gateway. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param nat_gateway_name: The name of the nat gateway. - :type nat_gateway_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - nat_gateway_name=nat_gateway_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/natGateways/{natGatewayName}'} - - def get( - self, resource_group_name, nat_gateway_name, expand=None, custom_headers=None, raw=False, **operation_config): - """Gets the specified nat gateway in a specified resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param nat_gateway_name: The name of the nat gateway. - :type nat_gateway_name: str - :param expand: Expands referenced resources. - :type expand: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: NatGateway or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_07_01.models.NatGateway or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'natGatewayName': self._serialize.url("nat_gateway_name", nat_gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - if expand is not None: - query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('NatGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/natGateways/{natGatewayName}'} - - - def _create_or_update_initial( - self, resource_group_name, nat_gateway_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'natGatewayName': self._serialize.url("nat_gateway_name", nat_gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'NatGateway') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 201, 202]: - 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('NatGateway', response) - if response.status_code == 201: - deserialized = self._deserialize('NatGateway', response) - if response.status_code == 202: - deserialized = self._deserialize('NatGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, nat_gateway_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates a nat gateway. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param nat_gateway_name: The name of the nat gateway. - :type nat_gateway_name: str - :param parameters: Parameters supplied to the create or update nat - gateway operation. - :type parameters: ~azure.mgmt.network.v2019_07_01.models.NatGateway - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns NatGateway or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.NatGateway] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.NatGateway]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - nat_gateway_name=nat_gateway_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('NatGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/natGateways/{natGatewayName}'} - - def update_tags( - self, resource_group_name, nat_gateway_name, tags=None, custom_headers=None, raw=False, **operation_config): - """Updates nat gateway tags. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param nat_gateway_name: The name of the nat gateway. - :type nat_gateway_name: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: NatGateway or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_07_01.models.NatGateway or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - parameters = models.TagsObject(tags=tags) - - # Construct URL - url = self.update_tags.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'natGatewayName': self._serialize.url("nat_gateway_name", nat_gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'TagsObject') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('NatGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/natGateways/{natGatewayName}'} - - def list_all( - self, custom_headers=None, raw=False, **operation_config): - """Gets all the Nat Gateways in a subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of NatGateway - :rtype: - ~azure.mgmt.network.v2019_07_01.models.NatGatewayPaged[~azure.mgmt.network.v2019_07_01.models.NatGateway] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_all.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.NatGatewayPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/natGateways'} - - def list( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Gets all nat gateways in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of NatGateway - :rtype: - ~azure.mgmt.network.v2019_07_01.models.NatGatewayPaged[~azure.mgmt.network.v2019_07_01.models.NatGateway] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.NatGatewayPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/natGateways'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_network_interface_ip_configurations_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_network_interface_ip_configurations_operations.py deleted file mode 100644 index dd359a68f0f..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_network_interface_ip_configurations_operations.py +++ /dev/null @@ -1,178 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError - -from .. import models - - -class NetworkInterfaceIPConfigurationsOperations(object): - """NetworkInterfaceIPConfigurationsOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-07-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-07-01" - - self.config = config - - def list( - self, resource_group_name, network_interface_name, custom_headers=None, raw=False, **operation_config): - """Get all ip configurations in a network interface. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_interface_name: The name of the network interface. - :type network_interface_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of NetworkInterfaceIPConfiguration - :rtype: - ~azure.mgmt.network.v2019_07_01.models.NetworkInterfaceIPConfigurationPaged[~azure.mgmt.network.v2019_07_01.models.NetworkInterfaceIPConfiguration] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.NetworkInterfaceIPConfigurationPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/ipConfigurations'} - - def get( - self, resource_group_name, network_interface_name, ip_configuration_name, custom_headers=None, raw=False, **operation_config): - """Gets the specified network interface ip configuration. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_interface_name: The name of the network interface. - :type network_interface_name: str - :param ip_configuration_name: The name of the ip configuration name. - :type ip_configuration_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: NetworkInterfaceIPConfiguration or ClientRawResponse if - raw=true - :rtype: - ~azure.mgmt.network.v2019_07_01.models.NetworkInterfaceIPConfiguration - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), - 'ipConfigurationName': self._serialize.url("ip_configuration_name", ip_configuration_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('NetworkInterfaceIPConfiguration', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/ipConfigurations/{ipConfigurationName}'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_network_interface_load_balancers_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_network_interface_load_balancers_operations.py deleted file mode 100644 index 634f85a1821..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_network_interface_load_balancers_operations.py +++ /dev/null @@ -1,112 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError - -from .. import models - - -class NetworkInterfaceLoadBalancersOperations(object): - """NetworkInterfaceLoadBalancersOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-07-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-07-01" - - self.config = config - - def list( - self, resource_group_name, network_interface_name, custom_headers=None, raw=False, **operation_config): - """List all load balancers in a network interface. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_interface_name: The name of the network interface. - :type network_interface_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of LoadBalancer - :rtype: - ~azure.mgmt.network.v2019_07_01.models.LoadBalancerPaged[~azure.mgmt.network.v2019_07_01.models.LoadBalancer] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.LoadBalancerPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/loadBalancers'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_network_interface_tap_configurations_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_network_interface_tap_configurations_operations.py deleted file mode 100644 index 2a18f49a9c1..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_network_interface_tap_configurations_operations.py +++ /dev/null @@ -1,373 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class NetworkInterfaceTapConfigurationsOperations(object): - """NetworkInterfaceTapConfigurationsOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-07-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-07-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, network_interface_name, tap_configuration_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), - 'tapConfigurationName': self._serialize.url("tap_configuration_name", tap_configuration_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, network_interface_name, tap_configuration_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified tap configuration from the NetworkInterface. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_interface_name: The name of the network interface. - :type network_interface_name: str - :param tap_configuration_name: The name of the tap configuration. - :type tap_configuration_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - network_interface_name=network_interface_name, - tap_configuration_name=tap_configuration_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/tapConfigurations/{tapConfigurationName}'} - - def get( - self, resource_group_name, network_interface_name, tap_configuration_name, custom_headers=None, raw=False, **operation_config): - """Get the specified tap configuration on a network interface. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_interface_name: The name of the network interface. - :type network_interface_name: str - :param tap_configuration_name: The name of the tap configuration. - :type tap_configuration_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: NetworkInterfaceTapConfiguration or ClientRawResponse if - raw=true - :rtype: - ~azure.mgmt.network.v2019_07_01.models.NetworkInterfaceTapConfiguration - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), - 'tapConfigurationName': self._serialize.url("tap_configuration_name", tap_configuration_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('NetworkInterfaceTapConfiguration', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/tapConfigurations/{tapConfigurationName}'} - - - def _create_or_update_initial( - self, resource_group_name, network_interface_name, tap_configuration_name, tap_configuration_parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), - 'tapConfigurationName': self._serialize.url("tap_configuration_name", tap_configuration_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(tap_configuration_parameters, 'NetworkInterfaceTapConfiguration') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('NetworkInterfaceTapConfiguration', response) - if response.status_code == 201: - deserialized = self._deserialize('NetworkInterfaceTapConfiguration', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, network_interface_name, tap_configuration_name, tap_configuration_parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates a Tap configuration in the specified - NetworkInterface. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_interface_name: The name of the network interface. - :type network_interface_name: str - :param tap_configuration_name: The name of the tap configuration. - :type tap_configuration_name: str - :param tap_configuration_parameters: Parameters supplied to the create - or update tap configuration operation. - :type tap_configuration_parameters: - ~azure.mgmt.network.v2019_07_01.models.NetworkInterfaceTapConfiguration - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - NetworkInterfaceTapConfiguration or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.NetworkInterfaceTapConfiguration] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.NetworkInterfaceTapConfiguration]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - network_interface_name=network_interface_name, - tap_configuration_name=tap_configuration_name, - tap_configuration_parameters=tap_configuration_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('NetworkInterfaceTapConfiguration', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/tapConfigurations/{tapConfigurationName}'} - - def list( - self, resource_group_name, network_interface_name, custom_headers=None, raw=False, **operation_config): - """Get all Tap configurations in a network interface. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_interface_name: The name of the network interface. - :type network_interface_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of NetworkInterfaceTapConfiguration - :rtype: - ~azure.mgmt.network.v2019_07_01.models.NetworkInterfaceTapConfigurationPaged[~azure.mgmt.network.v2019_07_01.models.NetworkInterfaceTapConfiguration] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.NetworkInterfaceTapConfigurationPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/tapConfigurations'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_network_interfaces_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_network_interfaces_operations.py deleted file mode 100644 index 072d60e5839..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_network_interfaces_operations.py +++ /dev/null @@ -1,1124 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class NetworkInterfacesOperations(object): - """NetworkInterfacesOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - - self.config = config - - - def _delete_initial( - self, resource_group_name, network_interface_name, custom_headers=None, raw=False, **operation_config): - api_version = "2019-07-01" - - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), - '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("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, network_interface_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified network interface. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_interface_name: The name of the network interface. - :type network_interface_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - network_interface_name=network_interface_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}'} - - def get( - self, resource_group_name, network_interface_name, expand=None, custom_headers=None, raw=False, **operation_config): - """Gets information about the specified network interface. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_interface_name: The name of the network interface. - :type network_interface_name: str - :param expand: Expands referenced resources. - :type expand: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: NetworkInterface or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_07_01.models.NetworkInterface or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - api_version = "2019-07-01" - - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), - '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("api_version", api_version, 'str') - if expand is not None: - query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('NetworkInterface', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}'} - - - def _create_or_update_initial( - self, resource_group_name, network_interface_name, parameters, custom_headers=None, raw=False, **operation_config): - api_version = "2019-07-01" - - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), - '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("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'NetworkInterface') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('NetworkInterface', response) - if response.status_code == 201: - deserialized = self._deserialize('NetworkInterface', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, network_interface_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates a network interface. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_interface_name: The name of the network interface. - :type network_interface_name: str - :param parameters: Parameters supplied to the create or update network - interface operation. - :type parameters: - ~azure.mgmt.network.v2019_07_01.models.NetworkInterface - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns NetworkInterface or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.NetworkInterface] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.NetworkInterface]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - network_interface_name=network_interface_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('NetworkInterface', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}'} - - - def _update_tags_initial( - self, resource_group_name, network_interface_name, tags=None, custom_headers=None, raw=False, **operation_config): - parameters = models.TagsObject(tags=tags) - - api_version = "2019-07-01" - - # Construct URL - url = self.update_tags.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), - '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("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'TagsObject') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('NetworkInterface', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def update_tags( - self, resource_group_name, network_interface_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Updates a network interface tags. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_interface_name: The name of the network interface. - :type network_interface_name: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns NetworkInterface or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.NetworkInterface] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.NetworkInterface]] - :raises: :class:`CloudError` - """ - raw_result = self._update_tags_initial( - resource_group_name=resource_group_name, - network_interface_name=network_interface_name, - tags=tags, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('NetworkInterface', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}'} - - def list_all( - self, custom_headers=None, raw=False, **operation_config): - """Gets all network interfaces in a subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of NetworkInterface - :rtype: - ~azure.mgmt.network.v2019_07_01.models.NetworkInterfacePaged[~azure.mgmt.network.v2019_07_01.models.NetworkInterface] - :raises: :class:`CloudError` - """ - api_version = "2019-07-01" - - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_all.metadata['url'] - path_format_arguments = { - '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("api_version", api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.NetworkInterfacePaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkInterfaces'} - - def list( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Gets all network interfaces in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of NetworkInterface - :rtype: - ~azure.mgmt.network.v2019_07_01.models.NetworkInterfacePaged[~azure.mgmt.network.v2019_07_01.models.NetworkInterface] - :raises: :class:`CloudError` - """ - api_version = "2019-07-01" - - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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("api_version", api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.NetworkInterfacePaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces'} - - - def _get_effective_route_table_initial( - self, resource_group_name, network_interface_name, custom_headers=None, raw=False, **operation_config): - api_version = "2019-07-01" - - # Construct URL - url = self.get_effective_route_table.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), - '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("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - 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('EffectiveRouteListResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def get_effective_route_table( - self, resource_group_name, network_interface_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Gets all route tables applied to a network interface. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_interface_name: The name of the network interface. - :type network_interface_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - EffectiveRouteListResult or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.EffectiveRouteListResult] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.EffectiveRouteListResult]] - :raises: :class:`CloudError` - """ - raw_result = self._get_effective_route_table_initial( - resource_group_name=resource_group_name, - network_interface_name=network_interface_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('EffectiveRouteListResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - get_effective_route_table.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/effectiveRouteTable'} - - - def _list_effective_network_security_groups_initial( - self, resource_group_name, network_interface_name, custom_headers=None, raw=False, **operation_config): - api_version = "2019-07-01" - - # Construct URL - url = self.list_effective_network_security_groups.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), - '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("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - 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('EffectiveNetworkSecurityGroupListResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def list_effective_network_security_groups( - self, resource_group_name, network_interface_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Gets all network security groups applied to a network interface. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_interface_name: The name of the network interface. - :type network_interface_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - EffectiveNetworkSecurityGroupListResult or - ClientRawResponse if - raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.EffectiveNetworkSecurityGroupListResult] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.EffectiveNetworkSecurityGroupListResult]] - :raises: :class:`CloudError` - """ - raw_result = self._list_effective_network_security_groups_initial( - resource_group_name=resource_group_name, - network_interface_name=network_interface_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('EffectiveNetworkSecurityGroupListResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - list_effective_network_security_groups.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/effectiveNetworkSecurityGroups'} - - def list_virtual_machine_scale_set_vm_network_interfaces( - self, resource_group_name, virtual_machine_scale_set_name, virtualmachine_index, custom_headers=None, raw=False, **operation_config): - """Gets information about all network interfaces in a virtual machine in a - virtual machine scale set. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_machine_scale_set_name: The name of the virtual machine - scale set. - :type virtual_machine_scale_set_name: str - :param virtualmachine_index: The virtual machine index. - :type virtualmachine_index: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of NetworkInterface - :rtype: - ~azure.mgmt.network.v2019_07_01.models.NetworkInterfacePaged[~azure.mgmt.network.v2019_07_01.models.NetworkInterface] - :raises: :class:`CloudError` - """ - api_version = "2018-10-01" - - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_virtual_machine_scale_set_vm_network_interfaces.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualMachineScaleSetName': self._serialize.url("virtual_machine_scale_set_name", virtual_machine_scale_set_name, 'str'), - 'virtualmachineIndex': self._serialize.url("virtualmachine_index", virtualmachine_index, 'str'), - '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("api_version", api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.NetworkInterfacePaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_virtual_machine_scale_set_vm_network_interfaces.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces'} - - def list_virtual_machine_scale_set_network_interfaces( - self, resource_group_name, virtual_machine_scale_set_name, custom_headers=None, raw=False, **operation_config): - """Gets all network interfaces in a virtual machine scale set. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_machine_scale_set_name: The name of the virtual machine - scale set. - :type virtual_machine_scale_set_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of NetworkInterface - :rtype: - ~azure.mgmt.network.v2019_07_01.models.NetworkInterfacePaged[~azure.mgmt.network.v2019_07_01.models.NetworkInterface] - :raises: :class:`CloudError` - """ - api_version = "2018-10-01" - - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_virtual_machine_scale_set_network_interfaces.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualMachineScaleSetName': self._serialize.url("virtual_machine_scale_set_name", virtual_machine_scale_set_name, 'str'), - '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("api_version", api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.NetworkInterfacePaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_virtual_machine_scale_set_network_interfaces.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/networkInterfaces'} - - def get_virtual_machine_scale_set_network_interface( - self, resource_group_name, virtual_machine_scale_set_name, virtualmachine_index, network_interface_name, expand=None, custom_headers=None, raw=False, **operation_config): - """Get the specified network interface in a virtual machine scale set. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_machine_scale_set_name: The name of the virtual machine - scale set. - :type virtual_machine_scale_set_name: str - :param virtualmachine_index: The virtual machine index. - :type virtualmachine_index: str - :param network_interface_name: The name of the network interface. - :type network_interface_name: str - :param expand: Expands referenced resources. - :type expand: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: NetworkInterface or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_07_01.models.NetworkInterface or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - api_version = "2018-10-01" - - # Construct URL - url = self.get_virtual_machine_scale_set_network_interface.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualMachineScaleSetName': self._serialize.url("virtual_machine_scale_set_name", virtual_machine_scale_set_name, 'str'), - 'virtualmachineIndex': self._serialize.url("virtualmachine_index", virtualmachine_index, 'str'), - 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), - '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("api_version", api_version, 'str') - if expand is not None: - query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('NetworkInterface', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get_virtual_machine_scale_set_network_interface.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}'} - - def list_virtual_machine_scale_set_ip_configurations( - self, resource_group_name, virtual_machine_scale_set_name, virtualmachine_index, network_interface_name, expand=None, custom_headers=None, raw=False, **operation_config): - """Get the specified network interface ip configuration in a virtual - machine scale set. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_machine_scale_set_name: The name of the virtual machine - scale set. - :type virtual_machine_scale_set_name: str - :param virtualmachine_index: The virtual machine index. - :type virtualmachine_index: str - :param network_interface_name: The name of the network interface. - :type network_interface_name: str - :param expand: Expands referenced resources. - :type expand: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of NetworkInterfaceIPConfiguration - :rtype: - ~azure.mgmt.network.v2019_07_01.models.NetworkInterfaceIPConfigurationPaged[~azure.mgmt.network.v2019_07_01.models.NetworkInterfaceIPConfiguration] - :raises: :class:`CloudError` - """ - api_version = "2018-10-01" - - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_virtual_machine_scale_set_ip_configurations.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualMachineScaleSetName': self._serialize.url("virtual_machine_scale_set_name", virtual_machine_scale_set_name, 'str'), - 'virtualmachineIndex': self._serialize.url("virtualmachine_index", virtualmachine_index, 'str'), - 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), - '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("api_version", api_version, 'str') - if expand is not None: - query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.NetworkInterfaceIPConfigurationPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_virtual_machine_scale_set_ip_configurations.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}/ipConfigurations'} - - def get_virtual_machine_scale_set_ip_configuration( - self, resource_group_name, virtual_machine_scale_set_name, virtualmachine_index, network_interface_name, ip_configuration_name, expand=None, custom_headers=None, raw=False, **operation_config): - """Get the specified network interface ip configuration in a virtual - machine scale set. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_machine_scale_set_name: The name of the virtual machine - scale set. - :type virtual_machine_scale_set_name: str - :param virtualmachine_index: The virtual machine index. - :type virtualmachine_index: str - :param network_interface_name: The name of the network interface. - :type network_interface_name: str - :param ip_configuration_name: The name of the ip configuration. - :type ip_configuration_name: str - :param expand: Expands referenced resources. - :type expand: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: NetworkInterfaceIPConfiguration or ClientRawResponse if - raw=true - :rtype: - ~azure.mgmt.network.v2019_07_01.models.NetworkInterfaceIPConfiguration - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - api_version = "2018-10-01" - - # Construct URL - url = self.get_virtual_machine_scale_set_ip_configuration.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualMachineScaleSetName': self._serialize.url("virtual_machine_scale_set_name", virtual_machine_scale_set_name, 'str'), - 'virtualmachineIndex': self._serialize.url("virtualmachine_index", virtualmachine_index, 'str'), - 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), - 'ipConfigurationName': self._serialize.url("ip_configuration_name", ip_configuration_name, 'str'), - '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("api_version", api_version, 'str') - if expand is not None: - query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('NetworkInterfaceIPConfiguration', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get_virtual_machine_scale_set_ip_configuration.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}/ipConfigurations/{ipConfigurationName}'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_network_management_client_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_network_management_client_operations.py deleted file mode 100644 index db2426576b7..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_network_management_client_operations.py +++ /dev/null @@ -1,151 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# 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 msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling -from .. import models -import uuid - - -class NetworkManagementClientOperationsMixin(object): - - def check_dns_name_availability( - self, location, domain_name_label, custom_headers=None, raw=False, **operation_config): - """Checks whether a domain name in the cloudapp.azure.com zone is - available for use. - - :param location: The location of the domain name. - :type location: str - :param domain_name_label: The domain name to be verified. It must - conform to the following regular expression: - ^[a-z][a-z0-9-]{1,61}[a-z0-9]$. - :type domain_name_label: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: DnsNameAvailabilityResult or ClientRawResponse if raw=true - :rtype: - ~azure.mgmt.network.v2019_07_01.models.DnsNameAvailabilityResult or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - api_version = "2019-07-01" - - # Construct URL - url = self.check_dns_name_availability.metadata['url'] - path_format_arguments = { - 'location': self._serialize.url("location", location, 'str'), - '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['domainNameLabel'] = self._serialize.query("domain_name_label", domain_name_label, 'str') - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('DnsNameAvailabilityResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - check_dns_name_availability.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/CheckDnsNameAvailability'} - - def supported_security_providers( - self, resource_group_name, virtual_wan_name, custom_headers=None, raw=False, **operation_config): - """Gives the supported security providers for the virtual wan. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param virtual_wan_name: The name of the VirtualWAN for which - supported security providers are needed. - :type virtual_wan_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: VirtualWanSecurityProviders or ClientRawResponse if raw=true - :rtype: - ~azure.mgmt.network.v2019_07_01.models.VirtualWanSecurityProviders or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorException` - """ - api_version = "2019-07-01" - - # Construct URL - url = self.supported_security_providers.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualWANName': self._serialize.url("virtual_wan_name", virtual_wan_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorException(self._deserialize, response) - - deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('VirtualWanSecurityProviders', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - supported_security_providers.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{virtualWANName}/supportedSecurityProviders'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_network_profiles_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_network_profiles_operations.py deleted file mode 100644 index 347d011f9d3..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_network_profiles_operations.py +++ /dev/null @@ -1,527 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class NetworkProfilesOperations(object): - """NetworkProfilesOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-07-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-07-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, network_profile_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkProfileName': self._serialize.url("network_profile_name", network_profile_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, network_profile_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified network profile. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_profile_name: The name of the NetworkProfile. - :type network_profile_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - network_profile_name=network_profile_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkProfiles/{networkProfileName}'} - - def get( - self, resource_group_name, network_profile_name, expand=None, custom_headers=None, raw=False, **operation_config): - """Gets the specified network profile in a specified resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_profile_name: The name of the public IP prefix. - :type network_profile_name: str - :param expand: Expands referenced resources. - :type expand: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: NetworkProfile or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_07_01.models.NetworkProfile or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkProfileName': self._serialize.url("network_profile_name", network_profile_name, 'str'), - '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.api_version", self.api_version, 'str') - if expand is not None: - query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('NetworkProfile', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkProfiles/{networkProfileName}'} - - - def _create_or_update_initial( - self, resource_group_name, network_profile_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkProfileName': self._serialize.url("network_profile_name", network_profile_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'NetworkProfile') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('NetworkProfile', response) - if response.status_code == 201: - deserialized = self._deserialize('NetworkProfile', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, network_profile_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates a network profile. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_profile_name: The name of the network profile. - :type network_profile_name: str - :param parameters: Parameters supplied to the create or update network - profile operation. - :type parameters: - ~azure.mgmt.network.v2019_07_01.models.NetworkProfile - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns NetworkProfile or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.NetworkProfile] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.NetworkProfile]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - network_profile_name=network_profile_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('NetworkProfile', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkProfiles/{networkProfileName}'} - - - def _update_tags_initial( - self, resource_group_name, network_profile_name, tags=None, custom_headers=None, raw=False, **operation_config): - parameters = models.TagsObject(tags=tags) - - # Construct URL - url = self.update_tags.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkProfileName': self._serialize.url("network_profile_name", network_profile_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'TagsObject') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('NetworkProfile', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def update_tags( - self, resource_group_name, network_profile_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Updates network profile tags. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_profile_name: The name of the network profile. - :type network_profile_name: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns NetworkProfile or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.NetworkProfile] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.NetworkProfile]] - :raises: :class:`CloudError` - """ - raw_result = self._update_tags_initial( - resource_group_name=resource_group_name, - network_profile_name=network_profile_name, - tags=tags, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('NetworkProfile', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkProfiles/{networkProfileName}'} - - def list_all( - self, custom_headers=None, raw=False, **operation_config): - """Gets all the network profiles in a subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of NetworkProfile - :rtype: - ~azure.mgmt.network.v2019_07_01.models.NetworkProfilePaged[~azure.mgmt.network.v2019_07_01.models.NetworkProfile] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_all.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.NetworkProfilePaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkProfiles'} - - def list( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Gets all network profiles in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of NetworkProfile - :rtype: - ~azure.mgmt.network.v2019_07_01.models.NetworkProfilePaged[~azure.mgmt.network.v2019_07_01.models.NetworkProfile] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.NetworkProfilePaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkProfiles'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_network_security_groups_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_network_security_groups_operations.py deleted file mode 100644 index 98afeb26f73..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_network_security_groups_operations.py +++ /dev/null @@ -1,532 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class NetworkSecurityGroupsOperations(object): - """NetworkSecurityGroupsOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-07-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-07-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, network_security_group_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkSecurityGroupName': self._serialize.url("network_security_group_name", network_security_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, network_security_group_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified network security group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_security_group_name: The name of the network security - group. - :type network_security_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - network_security_group_name=network_security_group_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}'} - - def get( - self, resource_group_name, network_security_group_name, expand=None, custom_headers=None, raw=False, **operation_config): - """Gets the specified network security group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_security_group_name: The name of the network security - group. - :type network_security_group_name: str - :param expand: Expands referenced resources. - :type expand: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: NetworkSecurityGroup or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_07_01.models.NetworkSecurityGroup or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkSecurityGroupName': self._serialize.url("network_security_group_name", network_security_group_name, 'str'), - '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.api_version", self.api_version, 'str') - if expand is not None: - query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('NetworkSecurityGroup', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}'} - - - def _create_or_update_initial( - self, resource_group_name, network_security_group_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkSecurityGroupName': self._serialize.url("network_security_group_name", network_security_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'NetworkSecurityGroup') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('NetworkSecurityGroup', response) - if response.status_code == 201: - deserialized = self._deserialize('NetworkSecurityGroup', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, network_security_group_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates a network security group in the specified resource - group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_security_group_name: The name of the network security - group. - :type network_security_group_name: str - :param parameters: Parameters supplied to the create or update network - security group operation. - :type parameters: - ~azure.mgmt.network.v2019_07_01.models.NetworkSecurityGroup - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns NetworkSecurityGroup or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.NetworkSecurityGroup] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.NetworkSecurityGroup]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - network_security_group_name=network_security_group_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('NetworkSecurityGroup', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}'} - - - def _update_tags_initial( - self, resource_group_name, network_security_group_name, tags=None, custom_headers=None, raw=False, **operation_config): - parameters = models.TagsObject(tags=tags) - - # Construct URL - url = self.update_tags.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkSecurityGroupName': self._serialize.url("network_security_group_name", network_security_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'TagsObject') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('NetworkSecurityGroup', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def update_tags( - self, resource_group_name, network_security_group_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Updates a network security group tags. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_security_group_name: The name of the network security - group. - :type network_security_group_name: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns NetworkSecurityGroup or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.NetworkSecurityGroup] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.NetworkSecurityGroup]] - :raises: :class:`CloudError` - """ - raw_result = self._update_tags_initial( - resource_group_name=resource_group_name, - network_security_group_name=network_security_group_name, - tags=tags, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('NetworkSecurityGroup', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}'} - - def list_all( - self, custom_headers=None, raw=False, **operation_config): - """Gets all network security groups in a subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of NetworkSecurityGroup - :rtype: - ~azure.mgmt.network.v2019_07_01.models.NetworkSecurityGroupPaged[~azure.mgmt.network.v2019_07_01.models.NetworkSecurityGroup] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_all.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.NetworkSecurityGroupPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkSecurityGroups'} - - def list( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Gets all network security groups in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of NetworkSecurityGroup - :rtype: - ~azure.mgmt.network.v2019_07_01.models.NetworkSecurityGroupPaged[~azure.mgmt.network.v2019_07_01.models.NetworkSecurityGroup] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.NetworkSecurityGroupPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_network_watchers_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_network_watchers_operations.py deleted file mode 100644 index 6d0ba697640..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_network_watchers_operations.py +++ /dev/null @@ -1,1672 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class NetworkWatchersOperations(object): - """NetworkWatchersOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-07-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-07-01" - - self.config = config - - def create_or_update( - self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, **operation_config): - """Creates or updates a network watcher in the specified resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_watcher_name: The name of the network watcher. - :type network_watcher_name: str - :param parameters: Parameters that define the network watcher - resource. - :type parameters: - ~azure.mgmt.network.v2019_07_01.models.NetworkWatcher - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: NetworkWatcher or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_07_01.models.NetworkWatcher or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorResponseException` - """ - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'NetworkWatcher') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 201]: - raise models.ErrorResponseException(self._deserialize, response) - - deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('NetworkWatcher', response) - if response.status_code == 201: - deserialized = self._deserialize('NetworkWatcher', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}'} - - def get( - self, resource_group_name, network_watcher_name, custom_headers=None, raw=False, **operation_config): - """Gets the specified network watcher by resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_watcher_name: The name of the network watcher. - :type network_watcher_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: NetworkWatcher or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_07_01.models.NetworkWatcher or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorResponseException` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorResponseException(self._deserialize, response) - - deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('NetworkWatcher', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}'} - - - def _delete_initial( - self, resource_group_name, network_watcher_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [202, 204]: - raise models.ErrorResponseException(self._deserialize, response) - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, network_watcher_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified network watcher resource. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_watcher_name: The name of the network watcher. - :type network_watcher_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: - :class:`ErrorResponseException` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - network_watcher_name=network_watcher_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}'} - - def update_tags( - self, resource_group_name, network_watcher_name, tags=None, custom_headers=None, raw=False, **operation_config): - """Updates a network watcher tags. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_watcher_name: The name of the network watcher. - :type network_watcher_name: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: NetworkWatcher or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_07_01.models.NetworkWatcher or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorResponseException` - """ - parameters = models.TagsObject(tags=tags) - - # Construct URL - url = self.update_tags.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'TagsObject') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorResponseException(self._deserialize, response) - - deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('NetworkWatcher', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}'} - - def list( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Gets all network watchers by resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of NetworkWatcher - :rtype: - ~azure.mgmt.network.v2019_07_01.models.NetworkWatcherPaged[~azure.mgmt.network.v2019_07_01.models.NetworkWatcher] - :raises: - :class:`ErrorResponseException` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorResponseException(self._deserialize, response) - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.NetworkWatcherPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers'} - - def list_all( - self, custom_headers=None, raw=False, **operation_config): - """Gets all network watchers by subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of NetworkWatcher - :rtype: - ~azure.mgmt.network.v2019_07_01.models.NetworkWatcherPaged[~azure.mgmt.network.v2019_07_01.models.NetworkWatcher] - :raises: - :class:`ErrorResponseException` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_all.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorResponseException(self._deserialize, response) - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.NetworkWatcherPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkWatchers'} - - def get_topology( - self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, **operation_config): - """Gets the current network topology by resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_watcher_name: The name of the network watcher. - :type network_watcher_name: str - :param parameters: Parameters that define the representation of - topology. - :type parameters: - ~azure.mgmt.network.v2019_07_01.models.TopologyParameters - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: Topology or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_07_01.models.Topology or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorResponseException` - """ - # Construct URL - url = self.get_topology.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'TopologyParameters') - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorResponseException(self._deserialize, response) - - deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('Topology', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get_topology.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/topology'} - - - def _verify_ip_flow_initial( - self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.verify_ip_flow.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'VerificationIPFlowParameters') - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - raise models.ErrorResponseException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('VerificationIPFlowResult', response) - if response.status_code == 202: - deserialized = self._deserialize('VerificationIPFlowResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def verify_ip_flow( - self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Verify IP flow from the specified VM to a location given the currently - configured NSG rules. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_watcher_name: The name of the network watcher. - :type network_watcher_name: str - :param parameters: Parameters that define the IP flow to be verified. - :type parameters: - ~azure.mgmt.network.v2019_07_01.models.VerificationIPFlowParameters - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - VerificationIPFlowResult or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.VerificationIPFlowResult] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.VerificationIPFlowResult]] - :raises: - :class:`ErrorResponseException` - """ - raw_result = self._verify_ip_flow_initial( - resource_group_name=resource_group_name, - network_watcher_name=network_watcher_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('VerificationIPFlowResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - verify_ip_flow.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/ipFlowVerify'} - - - def _get_next_hop_initial( - self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.get_next_hop.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'NextHopParameters') - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - raise models.ErrorResponseException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('NextHopResult', response) - if response.status_code == 202: - deserialized = self._deserialize('NextHopResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def get_next_hop( - self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Gets the next hop from the specified VM. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_watcher_name: The name of the network watcher. - :type network_watcher_name: str - :param parameters: Parameters that define the source and destination - endpoint. - :type parameters: - ~azure.mgmt.network.v2019_07_01.models.NextHopParameters - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns NextHopResult or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.NextHopResult] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.NextHopResult]] - :raises: - :class:`ErrorResponseException` - """ - raw_result = self._get_next_hop_initial( - resource_group_name=resource_group_name, - network_watcher_name=network_watcher_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('NextHopResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - get_next_hop.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/nextHop'} - - - def _get_vm_security_rules_initial( - self, resource_group_name, network_watcher_name, target_resource_id, custom_headers=None, raw=False, **operation_config): - parameters = models.SecurityGroupViewParameters(target_resource_id=target_resource_id) - - # Construct URL - url = self.get_vm_security_rules.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'SecurityGroupViewParameters') - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - raise models.ErrorResponseException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('SecurityGroupViewResult', response) - if response.status_code == 202: - deserialized = self._deserialize('SecurityGroupViewResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def get_vm_security_rules( - self, resource_group_name, network_watcher_name, target_resource_id, custom_headers=None, raw=False, polling=True, **operation_config): - """Gets the configured and effective security group rules on the specified - VM. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_watcher_name: The name of the network watcher. - :type network_watcher_name: str - :param target_resource_id: ID of the target VM. - :type target_resource_id: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns SecurityGroupViewResult - or ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.SecurityGroupViewResult] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.SecurityGroupViewResult]] - :raises: - :class:`ErrorResponseException` - """ - raw_result = self._get_vm_security_rules_initial( - resource_group_name=resource_group_name, - network_watcher_name=network_watcher_name, - target_resource_id=target_resource_id, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('SecurityGroupViewResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - get_vm_security_rules.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/securityGroupView'} - - - def _get_troubleshooting_initial( - self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.get_troubleshooting.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'TroubleshootingParameters') - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - raise models.ErrorResponseException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('TroubleshootingResult', response) - if response.status_code == 202: - deserialized = self._deserialize('TroubleshootingResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def get_troubleshooting( - self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Initiate troubleshooting on a specified resource. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_watcher_name: The name of the network watcher resource. - :type network_watcher_name: str - :param parameters: Parameters that define the resource to - troubleshoot. - :type parameters: - ~azure.mgmt.network.v2019_07_01.models.TroubleshootingParameters - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns TroubleshootingResult - or ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.TroubleshootingResult] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.TroubleshootingResult]] - :raises: - :class:`ErrorResponseException` - """ - raw_result = self._get_troubleshooting_initial( - resource_group_name=resource_group_name, - network_watcher_name=network_watcher_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('TroubleshootingResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - get_troubleshooting.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/troubleshoot'} - - - def _get_troubleshooting_result_initial( - self, resource_group_name, network_watcher_name, target_resource_id, custom_headers=None, raw=False, **operation_config): - parameters = models.QueryTroubleshootingParameters(target_resource_id=target_resource_id) - - # Construct URL - url = self.get_troubleshooting_result.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'QueryTroubleshootingParameters') - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - raise models.ErrorResponseException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('TroubleshootingResult', response) - if response.status_code == 202: - deserialized = self._deserialize('TroubleshootingResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def get_troubleshooting_result( - self, resource_group_name, network_watcher_name, target_resource_id, custom_headers=None, raw=False, polling=True, **operation_config): - """Get the last completed troubleshooting result on a specified resource. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_watcher_name: The name of the network watcher resource. - :type network_watcher_name: str - :param target_resource_id: The target resource ID to query the - troubleshooting result. - :type target_resource_id: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns TroubleshootingResult - or ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.TroubleshootingResult] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.TroubleshootingResult]] - :raises: - :class:`ErrorResponseException` - """ - raw_result = self._get_troubleshooting_result_initial( - resource_group_name=resource_group_name, - network_watcher_name=network_watcher_name, - target_resource_id=target_resource_id, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('TroubleshootingResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - get_troubleshooting_result.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/queryTroubleshootResult'} - - - def _set_flow_log_configuration_initial( - self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.set_flow_log_configuration.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'FlowLogInformation') - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - raise models.ErrorResponseException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('FlowLogInformation', response) - if response.status_code == 202: - deserialized = self._deserialize('FlowLogInformation', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def set_flow_log_configuration( - self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Configures flow log and traffic analytics (optional) on a specified - resource. - - :param resource_group_name: The name of the network watcher resource - group. - :type resource_group_name: str - :param network_watcher_name: The name of the network watcher resource. - :type network_watcher_name: str - :param parameters: Parameters that define the configuration of flow - log. - :type parameters: - ~azure.mgmt.network.v2019_07_01.models.FlowLogInformation - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns FlowLogInformation or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.FlowLogInformation] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.FlowLogInformation]] - :raises: - :class:`ErrorResponseException` - """ - raw_result = self._set_flow_log_configuration_initial( - resource_group_name=resource_group_name, - network_watcher_name=network_watcher_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('FlowLogInformation', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - set_flow_log_configuration.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/configureFlowLog'} - - - def _get_flow_log_status_initial( - self, resource_group_name, network_watcher_name, target_resource_id, custom_headers=None, raw=False, **operation_config): - parameters = models.FlowLogStatusParameters(target_resource_id=target_resource_id) - - # Construct URL - url = self.get_flow_log_status.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'FlowLogStatusParameters') - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - raise models.ErrorResponseException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('FlowLogInformation', response) - if response.status_code == 202: - deserialized = self._deserialize('FlowLogInformation', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def get_flow_log_status( - self, resource_group_name, network_watcher_name, target_resource_id, custom_headers=None, raw=False, polling=True, **operation_config): - """Queries status of flow log and traffic analytics (optional) on a - specified resource. - - :param resource_group_name: The name of the network watcher resource - group. - :type resource_group_name: str - :param network_watcher_name: The name of the network watcher resource. - :type network_watcher_name: str - :param target_resource_id: The target resource where getting the flow - log and traffic analytics (optional) status. - :type target_resource_id: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns FlowLogInformation or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.FlowLogInformation] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.FlowLogInformation]] - :raises: - :class:`ErrorResponseException` - """ - raw_result = self._get_flow_log_status_initial( - resource_group_name=resource_group_name, - network_watcher_name=network_watcher_name, - target_resource_id=target_resource_id, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('FlowLogInformation', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - get_flow_log_status.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/queryFlowLogStatus'} - - - def _check_connectivity_initial( - self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.check_connectivity.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'ConnectivityParameters') - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - raise models.ErrorResponseException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('ConnectivityInformation', response) - if response.status_code == 202: - deserialized = self._deserialize('ConnectivityInformation', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def check_connectivity( - self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Verifies the possibility of establishing a direct TCP connection from a - virtual machine to a given endpoint including another VM or an - arbitrary remote server. - - :param resource_group_name: The name of the network watcher resource - group. - :type resource_group_name: str - :param network_watcher_name: The name of the network watcher resource. - :type network_watcher_name: str - :param parameters: Parameters that determine how the connectivity - check will be performed. - :type parameters: - ~azure.mgmt.network.v2019_07_01.models.ConnectivityParameters - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns ConnectivityInformation - or ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.ConnectivityInformation] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.ConnectivityInformation]] - :raises: - :class:`ErrorResponseException` - """ - raw_result = self._check_connectivity_initial( - resource_group_name=resource_group_name, - network_watcher_name=network_watcher_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ConnectivityInformation', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - check_connectivity.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectivityCheck'} - - - def _get_azure_reachability_report_initial( - self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.get_azure_reachability_report.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'AzureReachabilityReportParameters') - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - raise models.ErrorResponseException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('AzureReachabilityReport', response) - if response.status_code == 202: - deserialized = self._deserialize('AzureReachabilityReport', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def get_azure_reachability_report( - self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Gets the relative latency score for internet service providers from a - specified location to Azure regions. - - :param resource_group_name: The name of the network watcher resource - group. - :type resource_group_name: str - :param network_watcher_name: The name of the network watcher resource. - :type network_watcher_name: str - :param parameters: Parameters that determine Azure reachability report - configuration. - :type parameters: - ~azure.mgmt.network.v2019_07_01.models.AzureReachabilityReportParameters - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns AzureReachabilityReport - or ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.AzureReachabilityReport] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.AzureReachabilityReport]] - :raises: - :class:`ErrorResponseException` - """ - raw_result = self._get_azure_reachability_report_initial( - resource_group_name=resource_group_name, - network_watcher_name=network_watcher_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('AzureReachabilityReport', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - get_azure_reachability_report.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/azureReachabilityReport'} - - - def _list_available_providers_initial( - self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.list_available_providers.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'AvailableProvidersListParameters') - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - raise models.ErrorResponseException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('AvailableProvidersList', response) - if response.status_code == 202: - deserialized = self._deserialize('AvailableProvidersList', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def list_available_providers( - self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Lists all available internet service providers for a specified Azure - region. - - :param resource_group_name: The name of the network watcher resource - group. - :type resource_group_name: str - :param network_watcher_name: The name of the network watcher resource. - :type network_watcher_name: str - :param parameters: Parameters that scope the list of available - providers. - :type parameters: - ~azure.mgmt.network.v2019_07_01.models.AvailableProvidersListParameters - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns AvailableProvidersList - or ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.AvailableProvidersList] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.AvailableProvidersList]] - :raises: - :class:`ErrorResponseException` - """ - raw_result = self._list_available_providers_initial( - resource_group_name=resource_group_name, - network_watcher_name=network_watcher_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('AvailableProvidersList', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - list_available_providers.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/availableProvidersList'} - - - def _get_network_configuration_diagnostic_initial( - self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.get_network_configuration_diagnostic.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'NetworkConfigurationDiagnosticParameters') - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - raise models.ErrorResponseException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('NetworkConfigurationDiagnosticResponse', response) - if response.status_code == 202: - deserialized = self._deserialize('NetworkConfigurationDiagnosticResponse', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def get_network_configuration_diagnostic( - self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Gets Network Configuration Diagnostic data to help customers understand - and debug network behavior. It provides detailed information on what - security rules were applied to a specified traffic flow and the result - of evaluating these rules. Customers must provide details of a flow - like source, destination, protocol, etc. The API returns whether - traffic was allowed or denied, the rules evaluated for the specified - flow and the evaluation results. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_watcher_name: The name of the network watcher. - :type network_watcher_name: str - :param parameters: Parameters to get network configuration diagnostic. - :type parameters: - ~azure.mgmt.network.v2019_07_01.models.NetworkConfigurationDiagnosticParameters - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - NetworkConfigurationDiagnosticResponse or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.NetworkConfigurationDiagnosticResponse] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.NetworkConfigurationDiagnosticResponse]] - :raises: - :class:`ErrorResponseException` - """ - raw_result = self._get_network_configuration_diagnostic_initial( - resource_group_name=resource_group_name, - network_watcher_name=network_watcher_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('NetworkConfigurationDiagnosticResponse', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - get_network_configuration_diagnostic.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/networkConfigurationDiagnostic'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_operations.py deleted file mode 100644 index 4ccbb6aa67c..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_operations.py +++ /dev/null @@ -1,102 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError - -from .. import models - - -class Operations(object): - """Operations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-07-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-07-01" - - self.config = config - - def list( - self, custom_headers=None, raw=False, **operation_config): - """Lists all of the available Network Rest API operations. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of Operation - :rtype: - ~azure.mgmt.network.v2019_07_01.models.OperationPaged[~azure.mgmt.network.v2019_07_01.models.Operation] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.OperationPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/providers/Microsoft.Network/operations'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_p2s_vpn_gateways_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_p2s_vpn_gateways_operations.py deleted file mode 100644 index b2d5e823245..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_p2s_vpn_gateways_operations.py +++ /dev/null @@ -1,724 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class P2sVpnGatewaysOperations(object): - """P2sVpnGatewaysOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-07-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-07-01" - - self.config = config - - def get( - self, resource_group_name, gateway_name, custom_headers=None, raw=False, **operation_config): - """Retrieves the details of a virtual wan p2s vpn gateway. - - :param resource_group_name: The resource group name of the - P2SVpnGateway. - :type resource_group_name: str - :param gateway_name: The name of the gateway. - :type gateway_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: P2SVpnGateway or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_07_01.models.P2SVpnGateway or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorException` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorException(self._deserialize, response) - - deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('P2SVpnGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/p2svpnGateways/{gatewayName}'} - - - def _create_or_update_initial( - self, resource_group_name, gateway_name, p2_svpn_gateway_parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(p2_svpn_gateway_parameters, 'P2SVpnGateway') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 201]: - raise models.ErrorException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('P2SVpnGateway', response) - if response.status_code == 201: - deserialized = self._deserialize('P2SVpnGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, gateway_name, p2_svpn_gateway_parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates a virtual wan p2s vpn gateway if it doesn't exist else updates - the existing gateway. - - :param resource_group_name: The resource group name of the - P2SVpnGateway. - :type resource_group_name: str - :param gateway_name: The name of the gateway. - :type gateway_name: str - :param p2_svpn_gateway_parameters: Parameters supplied to create or - Update a virtual wan p2s vpn gateway. - :type p2_svpn_gateway_parameters: - ~azure.mgmt.network.v2019_07_01.models.P2SVpnGateway - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns P2SVpnGateway or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.P2SVpnGateway] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.P2SVpnGateway]] - :raises: - :class:`ErrorException` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - gateway_name=gateway_name, - p2_svpn_gateway_parameters=p2_svpn_gateway_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('P2SVpnGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/p2svpnGateways/{gatewayName}'} - - - def _update_tags_initial( - self, resource_group_name, gateway_name, tags=None, custom_headers=None, raw=False, **operation_config): - p2_svpn_gateway_parameters = models.TagsObject(tags=tags) - - # Construct URL - url = self.update_tags.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(p2_svpn_gateway_parameters, 'TagsObject') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 201]: - raise models.ErrorException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('P2SVpnGateway', response) - if response.status_code == 201: - deserialized = self._deserialize('P2SVpnGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def update_tags( - self, resource_group_name, gateway_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Updates virtual wan p2s vpn gateway tags. - - :param resource_group_name: The resource group name of the - P2SVpnGateway. - :type resource_group_name: str - :param gateway_name: The name of the gateway. - :type gateway_name: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns P2SVpnGateway or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.P2SVpnGateway] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.P2SVpnGateway]] - :raises: - :class:`ErrorException` - """ - raw_result = self._update_tags_initial( - resource_group_name=resource_group_name, - gateway_name=gateway_name, - tags=tags, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('P2SVpnGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/p2svpnGateways/{gatewayName}'} - - - def _delete_initial( - self, resource_group_name, gateway_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - raise models.ErrorException(self._deserialize, response) - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes a virtual wan p2s vpn gateway. - - :param resource_group_name: The resource group name of the - P2SVpnGateway. - :type resource_group_name: str - :param gateway_name: The name of the gateway. - :type gateway_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: - :class:`ErrorException` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - gateway_name=gateway_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/p2svpnGateways/{gatewayName}'} - - def list_by_resource_group( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Lists all the P2SVpnGateways in a resource group. - - :param resource_group_name: The resource group name of the - P2SVpnGateway. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of P2SVpnGateway - :rtype: - ~azure.mgmt.network.v2019_07_01.models.P2SVpnGatewayPaged[~azure.mgmt.network.v2019_07_01.models.P2SVpnGateway] - :raises: - :class:`ErrorException` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_by_resource_group.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorException(self._deserialize, response) - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.P2SVpnGatewayPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/p2svpnGateways'} - - def list( - self, custom_headers=None, raw=False, **operation_config): - """Lists all the P2SVpnGateways in a subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of P2SVpnGateway - :rtype: - ~azure.mgmt.network.v2019_07_01.models.P2SVpnGatewayPaged[~azure.mgmt.network.v2019_07_01.models.P2SVpnGateway] - :raises: - :class:`ErrorException` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorException(self._deserialize, response) - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.P2SVpnGatewayPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/p2svpnGateways'} - - - def _generate_vpn_profile_initial( - self, resource_group_name, gateway_name, authentication_method=None, custom_headers=None, raw=False, **operation_config): - parameters = models.P2SVpnProfileParameters(authentication_method=authentication_method) - - # Construct URL - url = self.generate_vpn_profile.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'P2SVpnProfileParameters') - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - 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('VpnProfileResponse', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def generate_vpn_profile( - self, resource_group_name, gateway_name, authentication_method=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Generates VPN profile for P2S client of the P2SVpnGateway in the - specified resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param gateway_name: The name of the P2SVpnGateway. - :type gateway_name: str - :param authentication_method: VPN client authentication method. - Possible values include: 'EAPTLS', 'EAPMSCHAPv2' - :type authentication_method: str or - ~azure.mgmt.network.v2019_07_01.models.AuthenticationMethod - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns VpnProfileResponse or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.VpnProfileResponse] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.VpnProfileResponse]] - :raises: :class:`CloudError` - """ - raw_result = self._generate_vpn_profile_initial( - resource_group_name=resource_group_name, - gateway_name=gateway_name, - authentication_method=authentication_method, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('VpnProfileResponse', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - generate_vpn_profile.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/p2svpnGateways/{gatewayName}/generatevpnprofile'} - - - def _get_p2s_vpn_connection_health_initial( - self, resource_group_name, gateway_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.get_p2s_vpn_connection_health.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - 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('P2SVpnGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def get_p2s_vpn_connection_health( - self, resource_group_name, gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Gets the connection health of P2S clients of the virtual wan - P2SVpnGateway in the specified resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param gateway_name: The name of the P2SVpnGateway. - :type gateway_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns P2SVpnGateway or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.P2SVpnGateway] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.P2SVpnGateway]] - :raises: :class:`CloudError` - """ - raw_result = self._get_p2s_vpn_connection_health_initial( - resource_group_name=resource_group_name, - gateway_name=gateway_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('P2SVpnGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - get_p2s_vpn_connection_health.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/p2svpnGateways/{gatewayName}/getP2sVpnConnectionHealth'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_p2s_vpn_server_configurations_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_p2s_vpn_server_configurations_operations.py deleted file mode 100644 index 84193c3a24b..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_p2s_vpn_server_configurations_operations.py +++ /dev/null @@ -1,372 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class P2sVpnServerConfigurationsOperations(object): - """P2sVpnServerConfigurationsOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-07-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-07-01" - - self.config = config - - def get( - self, resource_group_name, virtual_wan_name, p2_svpn_server_configuration_name, custom_headers=None, raw=False, **operation_config): - """Retrieves the details of a P2SVpnServerConfiguration. - - :param resource_group_name: The resource group name of the - P2SVpnServerConfiguration. - :type resource_group_name: str - :param virtual_wan_name: The name of the VirtualWan. - :type virtual_wan_name: str - :param p2_svpn_server_configuration_name: The name of the - P2SVpnServerConfiguration. - :type p2_svpn_server_configuration_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: P2SVpnServerConfiguration or ClientRawResponse if raw=true - :rtype: - ~azure.mgmt.network.v2019_07_01.models.P2SVpnServerConfiguration or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorException` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualWanName': self._serialize.url("virtual_wan_name", virtual_wan_name, 'str'), - 'p2SVpnServerConfigurationName': self._serialize.url("p2_svpn_server_configuration_name", p2_svpn_server_configuration_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorException(self._deserialize, response) - - deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('P2SVpnServerConfiguration', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{virtualWanName}/p2sVpnServerConfigurations/{p2SVpnServerConfigurationName}'} - - - def _create_or_update_initial( - self, resource_group_name, virtual_wan_name, p2_svpn_server_configuration_name, p2_svpn_server_configuration_parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualWanName': self._serialize.url("virtual_wan_name", virtual_wan_name, 'str'), - 'p2SVpnServerConfigurationName': self._serialize.url("p2_svpn_server_configuration_name", p2_svpn_server_configuration_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(p2_svpn_server_configuration_parameters, 'P2SVpnServerConfiguration') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 201]: - raise models.ErrorException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('P2SVpnServerConfiguration', response) - if response.status_code == 201: - deserialized = self._deserialize('P2SVpnServerConfiguration', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, virtual_wan_name, p2_svpn_server_configuration_name, p2_svpn_server_configuration_parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates a P2SVpnServerConfiguration to associate with a VirtualWan if - it doesn't exist else updates the existing P2SVpnServerConfiguration. - - :param resource_group_name: The resource group name of the VirtualWan. - :type resource_group_name: str - :param virtual_wan_name: The name of the VirtualWan. - :type virtual_wan_name: str - :param p2_svpn_server_configuration_name: The name of the - P2SVpnServerConfiguration. - :type p2_svpn_server_configuration_name: str - :param p2_svpn_server_configuration_parameters: Parameters supplied to - create or Update a P2SVpnServerConfiguration. - :type p2_svpn_server_configuration_parameters: - ~azure.mgmt.network.v2019_07_01.models.P2SVpnServerConfiguration - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - P2SVpnServerConfiguration or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.P2SVpnServerConfiguration] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.P2SVpnServerConfiguration]] - :raises: - :class:`ErrorException` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - virtual_wan_name=virtual_wan_name, - p2_svpn_server_configuration_name=p2_svpn_server_configuration_name, - p2_svpn_server_configuration_parameters=p2_svpn_server_configuration_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('P2SVpnServerConfiguration', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{virtualWanName}/p2sVpnServerConfigurations/{p2SVpnServerConfigurationName}'} - - - def _delete_initial( - self, resource_group_name, virtual_wan_name, p2_svpn_server_configuration_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualWanName': self._serialize.url("virtual_wan_name", virtual_wan_name, 'str'), - 'p2SVpnServerConfigurationName': self._serialize.url("p2_svpn_server_configuration_name", p2_svpn_server_configuration_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - raise models.ErrorException(self._deserialize, response) - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, virtual_wan_name, p2_svpn_server_configuration_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes a P2SVpnServerConfiguration. - - :param resource_group_name: The resource group name of the - P2SVpnServerConfiguration. - :type resource_group_name: str - :param virtual_wan_name: The name of the VirtualWan. - :type virtual_wan_name: str - :param p2_svpn_server_configuration_name: The name of the - P2SVpnServerConfiguration. - :type p2_svpn_server_configuration_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: - :class:`ErrorException` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - virtual_wan_name=virtual_wan_name, - p2_svpn_server_configuration_name=p2_svpn_server_configuration_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{virtualWanName}/p2sVpnServerConfigurations/{p2SVpnServerConfigurationName}'} - - def list_by_virtual_wan( - self, resource_group_name, virtual_wan_name, custom_headers=None, raw=False, **operation_config): - """Retrieves all P2SVpnServerConfigurations for a particular VirtualWan. - - :param resource_group_name: The resource group name of the VirtualWan. - :type resource_group_name: str - :param virtual_wan_name: The name of the VirtualWan. - :type virtual_wan_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of P2SVpnServerConfiguration - :rtype: - ~azure.mgmt.network.v2019_07_01.models.P2SVpnServerConfigurationPaged[~azure.mgmt.network.v2019_07_01.models.P2SVpnServerConfiguration] - :raises: - :class:`ErrorException` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_by_virtual_wan.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualWanName': self._serialize.url("virtual_wan_name", virtual_wan_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorException(self._deserialize, response) - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.P2SVpnServerConfigurationPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_by_virtual_wan.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{virtualWanName}/p2sVpnServerConfigurations'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_packet_captures_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_packet_captures_operations.py deleted file mode 100644 index c121fbd8c62..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_packet_captures_operations.py +++ /dev/null @@ -1,543 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class PacketCapturesOperations(object): - """PacketCapturesOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-07-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-07-01" - - self.config = config - - - def _create_initial( - self, resource_group_name, network_watcher_name, packet_capture_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), - 'packetCaptureName': self._serialize.url("packet_capture_name", packet_capture_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'PacketCapture') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [201]: - raise models.ErrorResponseException(self._deserialize, response) - - deserialized = None - - if response.status_code == 201: - deserialized = self._deserialize('PacketCaptureResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create( - self, resource_group_name, network_watcher_name, packet_capture_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Create and start a packet capture on the specified VM. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_watcher_name: The name of the network watcher. - :type network_watcher_name: str - :param packet_capture_name: The name of the packet capture session. - :type packet_capture_name: str - :param parameters: Parameters that define the create packet capture - operation. - :type parameters: ~azure.mgmt.network.v2019_07_01.models.PacketCapture - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns PacketCaptureResult or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.PacketCaptureResult] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.PacketCaptureResult]] - :raises: - :class:`ErrorResponseException` - """ - raw_result = self._create_initial( - resource_group_name=resource_group_name, - network_watcher_name=network_watcher_name, - packet_capture_name=packet_capture_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('PacketCaptureResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures/{packetCaptureName}'} - - def get( - self, resource_group_name, network_watcher_name, packet_capture_name, custom_headers=None, raw=False, **operation_config): - """Gets a packet capture session by name. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_watcher_name: The name of the network watcher. - :type network_watcher_name: str - :param packet_capture_name: The name of the packet capture session. - :type packet_capture_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: PacketCaptureResult or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_07_01.models.PacketCaptureResult or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorResponseException` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), - 'packetCaptureName': self._serialize.url("packet_capture_name", packet_capture_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorResponseException(self._deserialize, response) - - deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('PacketCaptureResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures/{packetCaptureName}'} - - - def _delete_initial( - self, resource_group_name, network_watcher_name, packet_capture_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), - 'packetCaptureName': self._serialize.url("packet_capture_name", packet_capture_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [202, 204]: - raise models.ErrorResponseException(self._deserialize, response) - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, network_watcher_name, packet_capture_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified packet capture session. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_watcher_name: The name of the network watcher. - :type network_watcher_name: str - :param packet_capture_name: The name of the packet capture session. - :type packet_capture_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: - :class:`ErrorResponseException` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - network_watcher_name=network_watcher_name, - packet_capture_name=packet_capture_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures/{packetCaptureName}'} - - - def _stop_initial( - self, resource_group_name, network_watcher_name, packet_capture_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.stop.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), - 'packetCaptureName': self._serialize.url("packet_capture_name", packet_capture_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - raise models.ErrorResponseException(self._deserialize, response) - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def stop( - self, resource_group_name, network_watcher_name, packet_capture_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Stops a specified packet capture session. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_watcher_name: The name of the network watcher. - :type network_watcher_name: str - :param packet_capture_name: The name of the packet capture session. - :type packet_capture_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: - :class:`ErrorResponseException` - """ - raw_result = self._stop_initial( - resource_group_name=resource_group_name, - network_watcher_name=network_watcher_name, - packet_capture_name=packet_capture_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - stop.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures/{packetCaptureName}/stop'} - - - def _get_status_initial( - self, resource_group_name, network_watcher_name, packet_capture_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.get_status.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), - 'packetCaptureName': self._serialize.url("packet_capture_name", packet_capture_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - raise models.ErrorResponseException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('PacketCaptureQueryStatusResult', response) - if response.status_code == 202: - deserialized = self._deserialize('PacketCaptureQueryStatusResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def get_status( - self, resource_group_name, network_watcher_name, packet_capture_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Query the status of a running packet capture session. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_watcher_name: The name of the Network Watcher resource. - :type network_watcher_name: str - :param packet_capture_name: The name given to the packet capture - session. - :type packet_capture_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - PacketCaptureQueryStatusResult or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.PacketCaptureQueryStatusResult] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.PacketCaptureQueryStatusResult]] - :raises: - :class:`ErrorResponseException` - """ - raw_result = self._get_status_initial( - resource_group_name=resource_group_name, - network_watcher_name=network_watcher_name, - packet_capture_name=packet_capture_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('PacketCaptureQueryStatusResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - get_status.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures/{packetCaptureName}/queryStatus'} - - def list( - self, resource_group_name, network_watcher_name, custom_headers=None, raw=False, **operation_config): - """Lists all packet capture sessions within the specified resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_watcher_name: The name of the Network Watcher resource. - :type network_watcher_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of PacketCaptureResult - :rtype: - ~azure.mgmt.network.v2019_07_01.models.PacketCaptureResultPaged[~azure.mgmt.network.v2019_07_01.models.PacketCaptureResult] - :raises: - :class:`ErrorResponseException` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorResponseException(self._deserialize, response) - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.PacketCaptureResultPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_peer_express_route_circuit_connections_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_peer_express_route_circuit_connections_operations.py deleted file mode 100644 index 93f30b17dac..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_peer_express_route_circuit_connections_operations.py +++ /dev/null @@ -1,188 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError - -from .. import models - - -class PeerExpressRouteCircuitConnectionsOperations(object): - """PeerExpressRouteCircuitConnectionsOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-07-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-07-01" - - self.config = config - - def get( - self, resource_group_name, circuit_name, peering_name, connection_name, custom_headers=None, raw=False, **operation_config): - """Gets the specified Peer Express Route Circuit Connection from the - specified express route circuit. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param circuit_name: The name of the express route circuit. - :type circuit_name: str - :param peering_name: The name of the peering. - :type peering_name: str - :param connection_name: The name of the peer express route circuit - connection. - :type connection_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: PeerExpressRouteCircuitConnection or ClientRawResponse if - raw=true - :rtype: - ~azure.mgmt.network.v2019_07_01.models.PeerExpressRouteCircuitConnection - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), - 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), - 'connectionName': self._serialize.url("connection_name", connection_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('PeerExpressRouteCircuitConnection', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/peerConnections/{connectionName}'} - - def list( - self, resource_group_name, circuit_name, peering_name, custom_headers=None, raw=False, **operation_config): - """Gets all global reach peer connections associated with a private - peering in an express route circuit. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param circuit_name: The name of the circuit. - :type circuit_name: str - :param peering_name: The name of the peering. - :type peering_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of - PeerExpressRouteCircuitConnection - :rtype: - ~azure.mgmt.network.v2019_07_01.models.PeerExpressRouteCircuitConnectionPaged[~azure.mgmt.network.v2019_07_01.models.PeerExpressRouteCircuitConnection] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), - 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.PeerExpressRouteCircuitConnectionPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/peerConnections'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_private_endpoints_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_private_endpoints_operations.py deleted file mode 100644 index 7bb243e3b58..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_private_endpoints_operations.py +++ /dev/null @@ -1,419 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class PrivateEndpointsOperations(object): - """PrivateEndpointsOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-07-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-07-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, private_endpoint_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'privateEndpointName': self._serialize.url("private_endpoint_name", private_endpoint_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - raise models.ErrorException(self._deserialize, response) - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, private_endpoint_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified private endpoint. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param private_endpoint_name: The name of the private endpoint. - :type private_endpoint_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: - :class:`ErrorException` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - private_endpoint_name=private_endpoint_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints/{privateEndpointName}'} - - def get( - self, resource_group_name, private_endpoint_name, expand=None, custom_headers=None, raw=False, **operation_config): - """Gets the specified private endpoint by resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param private_endpoint_name: The name of the private endpoint. - :type private_endpoint_name: str - :param expand: Expands referenced resources. - :type expand: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: PrivateEndpoint or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_07_01.models.PrivateEndpoint or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorException` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'privateEndpointName': self._serialize.url("private_endpoint_name", private_endpoint_name, 'str'), - '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.api_version", self.api_version, 'str') - if expand is not None: - query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorException(self._deserialize, response) - - deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('PrivateEndpoint', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints/{privateEndpointName}'} - - - def _create_or_update_initial( - self, resource_group_name, private_endpoint_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'privateEndpointName': self._serialize.url("private_endpoint_name", private_endpoint_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'PrivateEndpoint') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 201]: - raise models.ErrorException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('PrivateEndpoint', response) - if response.status_code == 201: - deserialized = self._deserialize('PrivateEndpoint', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, private_endpoint_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates an private endpoint in the specified resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param private_endpoint_name: The name of the private endpoint. - :type private_endpoint_name: str - :param parameters: Parameters supplied to the create or update private - endpoint operation. - :type parameters: - ~azure.mgmt.network.v2019_07_01.models.PrivateEndpoint - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns PrivateEndpoint or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.PrivateEndpoint] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.PrivateEndpoint]] - :raises: - :class:`ErrorException` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - private_endpoint_name=private_endpoint_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('PrivateEndpoint', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints/{privateEndpointName}'} - - def list( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Gets all private endpoints in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of PrivateEndpoint - :rtype: - ~azure.mgmt.network.v2019_07_01.models.PrivateEndpointPaged[~azure.mgmt.network.v2019_07_01.models.PrivateEndpoint] - :raises: - :class:`ErrorException` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorException(self._deserialize, response) - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.PrivateEndpointPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints'} - - def list_by_subscription( - self, custom_headers=None, raw=False, **operation_config): - """Gets all private endpoints in a subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of PrivateEndpoint - :rtype: - ~azure.mgmt.network.v2019_07_01.models.PrivateEndpointPaged[~azure.mgmt.network.v2019_07_01.models.PrivateEndpoint] - :raises: - :class:`ErrorException` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_by_subscription.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorException(self._deserialize, response) - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.PrivateEndpointPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_by_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/privateEndpoints'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_private_link_services_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_private_link_services_operations.py deleted file mode 100644 index cf0f9df4e77..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_private_link_services_operations.py +++ /dev/null @@ -1,864 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class PrivateLinkServicesOperations(object): - """PrivateLinkServicesOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-07-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-07-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, service_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'serviceName': self._serialize.url("service_name", service_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - raise models.ErrorException(self._deserialize, response) - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, service_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified private link service. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param service_name: The name of the private link service. - :type service_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: - :class:`ErrorException` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - service_name=service_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateLinkServices/{serviceName}'} - - def get( - self, resource_group_name, service_name, expand=None, custom_headers=None, raw=False, **operation_config): - """Gets the specified private link service by resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param service_name: The name of the private link service. - :type service_name: str - :param expand: Expands referenced resources. - :type expand: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: PrivateLinkService or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_07_01.models.PrivateLinkService or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorException` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'serviceName': self._serialize.url("service_name", service_name, 'str'), - '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.api_version", self.api_version, 'str') - if expand is not None: - query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorException(self._deserialize, response) - - deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('PrivateLinkService', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateLinkServices/{serviceName}'} - - - def _create_or_update_initial( - self, resource_group_name, service_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'serviceName': self._serialize.url("service_name", service_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'PrivateLinkService') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 201]: - raise models.ErrorException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('PrivateLinkService', response) - if response.status_code == 201: - deserialized = self._deserialize('PrivateLinkService', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, service_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates an private link service in the specified resource - group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param service_name: The name of the private link service. - :type service_name: str - :param parameters: Parameters supplied to the create or update private - link service operation. - :type parameters: - ~azure.mgmt.network.v2019_07_01.models.PrivateLinkService - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns PrivateLinkService or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.PrivateLinkService] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.PrivateLinkService]] - :raises: - :class:`ErrorException` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - service_name=service_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('PrivateLinkService', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateLinkServices/{serviceName}'} - - def list( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Gets all private link services in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of PrivateLinkService - :rtype: - ~azure.mgmt.network.v2019_07_01.models.PrivateLinkServicePaged[~azure.mgmt.network.v2019_07_01.models.PrivateLinkService] - :raises: - :class:`ErrorException` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorException(self._deserialize, response) - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.PrivateLinkServicePaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateLinkServices'} - - def list_by_subscription( - self, custom_headers=None, raw=False, **operation_config): - """Gets all private link service in a subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of PrivateLinkService - :rtype: - ~azure.mgmt.network.v2019_07_01.models.PrivateLinkServicePaged[~azure.mgmt.network.v2019_07_01.models.PrivateLinkService] - :raises: - :class:`ErrorException` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_by_subscription.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorException(self._deserialize, response) - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.PrivateLinkServicePaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_by_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/privateLinkServices'} - - def update_private_endpoint_connection( - self, resource_group_name, service_name, pe_connection_name, parameters, custom_headers=None, raw=False, **operation_config): - """Approve or reject private end point connection for a private link - service in a subscription. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param service_name: The name of the private link service. - :type service_name: str - :param pe_connection_name: The name of the private end point - connection. - :type pe_connection_name: str - :param parameters: Parameters supplied to approve or reject the - private end point connection. - :type parameters: - ~azure.mgmt.network.v2019_07_01.models.PrivateEndpointConnection - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: PrivateEndpointConnection or ClientRawResponse if raw=true - :rtype: - ~azure.mgmt.network.v2019_07_01.models.PrivateEndpointConnection or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorException` - """ - # Construct URL - url = self.update_private_endpoint_connection.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'serviceName': self._serialize.url("service_name", service_name, 'str'), - 'peConnectionName': self._serialize.url("pe_connection_name", pe_connection_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'PrivateEndpointConnection') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorException(self._deserialize, response) - - deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('PrivateEndpointConnection', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - update_private_endpoint_connection.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateLinkServices/{serviceName}/privateEndpointConnections/{peConnectionName}'} - - - def _delete_private_endpoint_connection_initial( - self, resource_group_name, service_name, pe_connection_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete_private_endpoint_connection.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'serviceName': self._serialize.url("service_name", service_name, 'str'), - 'peConnectionName': self._serialize.url("pe_connection_name", pe_connection_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - raise models.ErrorException(self._deserialize, response) - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete_private_endpoint_connection( - self, resource_group_name, service_name, pe_connection_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Delete private end point connection for a private link service in a - subscription. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param service_name: The name of the private link service. - :type service_name: str - :param pe_connection_name: The name of the private end point - connection. - :type pe_connection_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: - :class:`ErrorException` - """ - raw_result = self._delete_private_endpoint_connection_initial( - resource_group_name=resource_group_name, - service_name=service_name, - pe_connection_name=pe_connection_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete_private_endpoint_connection.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateLinkServices/{serviceName}/privateEndpointConnections/{peConnectionName}'} - - def check_private_link_service_visibility( - self, location, private_link_service_alias=None, custom_headers=None, raw=False, **operation_config): - """Checks whether the subscription is visible to private link service. - - :param location: The location of the domain name. - :type location: str - :param private_link_service_alias: The alias of the private link - service. - :type private_link_service_alias: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: PrivateLinkServiceVisibility or ClientRawResponse if raw=true - :rtype: - ~azure.mgmt.network.v2019_07_01.models.PrivateLinkServiceVisibility or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - parameters = models.CheckPrivateLinkServiceVisibilityRequest(private_link_service_alias=private_link_service_alias) - - # Construct URL - url = self.check_private_link_service_visibility.metadata['url'] - path_format_arguments = { - 'location': self._serialize.url("location", location, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'CheckPrivateLinkServiceVisibilityRequest') - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('PrivateLinkServiceVisibility', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - check_private_link_service_visibility.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/checkPrivateLinkServiceVisibility'} - - def check_private_link_service_visibility_by_resource_group( - self, location, resource_group_name, private_link_service_alias=None, custom_headers=None, raw=False, **operation_config): - """Checks whether the subscription is visible to private link service in - the specified resource group. - - :param location: The location of the domain name. - :type location: str - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param private_link_service_alias: The alias of the private link - service. - :type private_link_service_alias: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: PrivateLinkServiceVisibility or ClientRawResponse if raw=true - :rtype: - ~azure.mgmt.network.v2019_07_01.models.PrivateLinkServiceVisibility or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - parameters = models.CheckPrivateLinkServiceVisibilityRequest(private_link_service_alias=private_link_service_alias) - - # Construct URL - url = self.check_private_link_service_visibility_by_resource_group.metadata['url'] - path_format_arguments = { - 'location': self._serialize.url("location", location, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'CheckPrivateLinkServiceVisibilityRequest') - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('PrivateLinkServiceVisibility', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - check_private_link_service_visibility_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/locations/{location}/checkPrivateLinkServiceVisibility'} - - def list_auto_approved_private_link_services( - self, location, custom_headers=None, raw=False, **operation_config): - """Returns all of the private link service ids that can be linked to a - Private Endpoint with auto approved in this subscription in this - region. - - :param location: The location of the domain name. - :type location: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of AutoApprovedPrivateLinkService - :rtype: - ~azure.mgmt.network.v2019_07_01.models.AutoApprovedPrivateLinkServicePaged[~azure.mgmt.network.v2019_07_01.models.AutoApprovedPrivateLinkService] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_auto_approved_private_link_services.metadata['url'] - path_format_arguments = { - 'location': self._serialize.url("location", location, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.AutoApprovedPrivateLinkServicePaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_auto_approved_private_link_services.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/autoApprovedPrivateLinkServices'} - - def list_auto_approved_private_link_services_by_resource_group( - self, location, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Returns all of the private link service ids that can be linked to a - Private Endpoint with auto approved in this subscription in this - region. - - :param location: The location of the domain name. - :type location: str - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of AutoApprovedPrivateLinkService - :rtype: - ~azure.mgmt.network.v2019_07_01.models.AutoApprovedPrivateLinkServicePaged[~azure.mgmt.network.v2019_07_01.models.AutoApprovedPrivateLinkService] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_auto_approved_private_link_services_by_resource_group.metadata['url'] - path_format_arguments = { - 'location': self._serialize.url("location", location, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.AutoApprovedPrivateLinkServicePaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_auto_approved_private_link_services_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/locations/{location}/autoApprovedPrivateLinkServices'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_public_ip_addresses_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_public_ip_addresses_operations.py deleted file mode 100644 index 997973314be..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_public_ip_addresses_operations.py +++ /dev/null @@ -1,778 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class PublicIPAddressesOperations(object): - """PublicIPAddressesOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - - self.config = config - - - def _delete_initial( - self, resource_group_name, public_ip_address_name, custom_headers=None, raw=False, **operation_config): - api_version = "2019-07-01" - - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'publicIpAddressName': self._serialize.url("public_ip_address_name", public_ip_address_name, 'str'), - '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("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, public_ip_address_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified public IP address. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param public_ip_address_name: The name of the subnet. - :type public_ip_address_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - public_ip_address_name=public_ip_address_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses/{publicIpAddressName}'} - - def get( - self, resource_group_name, public_ip_address_name, expand=None, custom_headers=None, raw=False, **operation_config): - """Gets the specified public IP address in a specified resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param public_ip_address_name: The name of the subnet. - :type public_ip_address_name: str - :param expand: Expands referenced resources. - :type expand: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: PublicIPAddress or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_07_01.models.PublicIPAddress or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - api_version = "2019-07-01" - - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'publicIpAddressName': self._serialize.url("public_ip_address_name", public_ip_address_name, 'str'), - '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("api_version", api_version, 'str') - if expand is not None: - query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('PublicIPAddress', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses/{publicIpAddressName}'} - - - def _create_or_update_initial( - self, resource_group_name, public_ip_address_name, parameters, custom_headers=None, raw=False, **operation_config): - api_version = "2019-07-01" - - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'publicIpAddressName': self._serialize.url("public_ip_address_name", public_ip_address_name, 'str'), - '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("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'PublicIPAddress') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('PublicIPAddress', response) - if response.status_code == 201: - deserialized = self._deserialize('PublicIPAddress', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, public_ip_address_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates a static or dynamic public IP address. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param public_ip_address_name: The name of the public IP address. - :type public_ip_address_name: str - :param parameters: Parameters supplied to the create or update public - IP address operation. - :type parameters: - ~azure.mgmt.network.v2019_07_01.models.PublicIPAddress - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns PublicIPAddress or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.PublicIPAddress] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.PublicIPAddress]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - public_ip_address_name=public_ip_address_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('PublicIPAddress', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses/{publicIpAddressName}'} - - - def _update_tags_initial( - self, resource_group_name, public_ip_address_name, tags=None, custom_headers=None, raw=False, **operation_config): - parameters = models.TagsObject(tags=tags) - - api_version = "2019-07-01" - - # Construct URL - url = self.update_tags.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'publicIpAddressName': self._serialize.url("public_ip_address_name", public_ip_address_name, 'str'), - '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("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'TagsObject') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('PublicIPAddress', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def update_tags( - self, resource_group_name, public_ip_address_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Updates public IP address tags. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param public_ip_address_name: The name of the public IP address. - :type public_ip_address_name: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns PublicIPAddress or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.PublicIPAddress] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.PublicIPAddress]] - :raises: :class:`CloudError` - """ - raw_result = self._update_tags_initial( - resource_group_name=resource_group_name, - public_ip_address_name=public_ip_address_name, - tags=tags, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('PublicIPAddress', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses/{publicIpAddressName}'} - - def list_all( - self, custom_headers=None, raw=False, **operation_config): - """Gets all the public IP addresses in a subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of PublicIPAddress - :rtype: - ~azure.mgmt.network.v2019_07_01.models.PublicIPAddressPaged[~azure.mgmt.network.v2019_07_01.models.PublicIPAddress] - :raises: :class:`CloudError` - """ - api_version = "2019-07-01" - - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_all.metadata['url'] - path_format_arguments = { - '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("api_version", api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.PublicIPAddressPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/publicIPAddresses'} - - def list( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Gets all public IP addresses in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of PublicIPAddress - :rtype: - ~azure.mgmt.network.v2019_07_01.models.PublicIPAddressPaged[~azure.mgmt.network.v2019_07_01.models.PublicIPAddress] - :raises: :class:`CloudError` - """ - api_version = "2019-07-01" - - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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("api_version", api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.PublicIPAddressPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses'} - - def list_virtual_machine_scale_set_public_ip_addresses( - self, resource_group_name, virtual_machine_scale_set_name, custom_headers=None, raw=False, **operation_config): - """Gets information about all public IP addresses on a virtual machine - scale set level. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_machine_scale_set_name: The name of the virtual machine - scale set. - :type virtual_machine_scale_set_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of PublicIPAddress - :rtype: - ~azure.mgmt.network.v2019_07_01.models.PublicIPAddressPaged[~azure.mgmt.network.v2019_07_01.models.PublicIPAddress] - :raises: :class:`CloudError` - """ - api_version = "2018-10-01" - - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_virtual_machine_scale_set_public_ip_addresses.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualMachineScaleSetName': self._serialize.url("virtual_machine_scale_set_name", virtual_machine_scale_set_name, 'str'), - '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("api_version", api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.PublicIPAddressPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_virtual_machine_scale_set_public_ip_addresses.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/publicipaddresses'} - - def list_virtual_machine_scale_set_vm_public_ip_addresses( - self, resource_group_name, virtual_machine_scale_set_name, virtualmachine_index, network_interface_name, ip_configuration_name, custom_headers=None, raw=False, **operation_config): - """Gets information about all public IP addresses in a virtual machine IP - configuration in a virtual machine scale set. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_machine_scale_set_name: The name of the virtual machine - scale set. - :type virtual_machine_scale_set_name: str - :param virtualmachine_index: The virtual machine index. - :type virtualmachine_index: str - :param network_interface_name: The network interface name. - :type network_interface_name: str - :param ip_configuration_name: The IP configuration name. - :type ip_configuration_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of PublicIPAddress - :rtype: - ~azure.mgmt.network.v2019_07_01.models.PublicIPAddressPaged[~azure.mgmt.network.v2019_07_01.models.PublicIPAddress] - :raises: :class:`CloudError` - """ - api_version = "2018-10-01" - - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_virtual_machine_scale_set_vm_public_ip_addresses.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualMachineScaleSetName': self._serialize.url("virtual_machine_scale_set_name", virtual_machine_scale_set_name, 'str'), - 'virtualmachineIndex': self._serialize.url("virtualmachine_index", virtualmachine_index, 'str'), - 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), - 'ipConfigurationName': self._serialize.url("ip_configuration_name", ip_configuration_name, 'str'), - '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("api_version", api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.PublicIPAddressPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_virtual_machine_scale_set_vm_public_ip_addresses.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}/ipconfigurations/{ipConfigurationName}/publicipaddresses'} - - def get_virtual_machine_scale_set_public_ip_address( - self, resource_group_name, virtual_machine_scale_set_name, virtualmachine_index, network_interface_name, ip_configuration_name, public_ip_address_name, expand=None, custom_headers=None, raw=False, **operation_config): - """Get the specified public IP address in a virtual machine scale set. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_machine_scale_set_name: The name of the virtual machine - scale set. - :type virtual_machine_scale_set_name: str - :param virtualmachine_index: The virtual machine index. - :type virtualmachine_index: str - :param network_interface_name: The name of the network interface. - :type network_interface_name: str - :param ip_configuration_name: The name of the IP configuration. - :type ip_configuration_name: str - :param public_ip_address_name: The name of the public IP Address. - :type public_ip_address_name: str - :param expand: Expands referenced resources. - :type expand: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: PublicIPAddress or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_07_01.models.PublicIPAddress or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - api_version = "2018-10-01" - - # Construct URL - url = self.get_virtual_machine_scale_set_public_ip_address.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualMachineScaleSetName': self._serialize.url("virtual_machine_scale_set_name", virtual_machine_scale_set_name, 'str'), - 'virtualmachineIndex': self._serialize.url("virtualmachine_index", virtualmachine_index, 'str'), - 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), - 'ipConfigurationName': self._serialize.url("ip_configuration_name", ip_configuration_name, 'str'), - 'publicIpAddressName': self._serialize.url("public_ip_address_name", public_ip_address_name, 'str'), - '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("api_version", api_version, 'str') - if expand is not None: - query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('PublicIPAddress', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get_virtual_machine_scale_set_public_ip_address.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}/ipconfigurations/{ipConfigurationName}/publicipaddresses/{publicIpAddressName}'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_public_ip_prefixes_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_public_ip_prefixes_operations.py deleted file mode 100644 index 014e79deb3c..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_public_ip_prefixes_operations.py +++ /dev/null @@ -1,527 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class PublicIPPrefixesOperations(object): - """PublicIPPrefixesOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-07-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-07-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, public_ip_prefix_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'publicIpPrefixName': self._serialize.url("public_ip_prefix_name", public_ip_prefix_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, public_ip_prefix_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified public IP prefix. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param public_ip_prefix_name: The name of the PublicIpPrefix. - :type public_ip_prefix_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - public_ip_prefix_name=public_ip_prefix_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIpPrefixName}'} - - def get( - self, resource_group_name, public_ip_prefix_name, expand=None, custom_headers=None, raw=False, **operation_config): - """Gets the specified public IP prefix in a specified resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param public_ip_prefix_name: The name of the public IP prefix. - :type public_ip_prefix_name: str - :param expand: Expands referenced resources. - :type expand: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: PublicIPPrefix or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_07_01.models.PublicIPPrefix or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'publicIpPrefixName': self._serialize.url("public_ip_prefix_name", public_ip_prefix_name, 'str'), - '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.api_version", self.api_version, 'str') - if expand is not None: - query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('PublicIPPrefix', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIpPrefixName}'} - - - def _create_or_update_initial( - self, resource_group_name, public_ip_prefix_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'publicIpPrefixName': self._serialize.url("public_ip_prefix_name", public_ip_prefix_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'PublicIPPrefix') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('PublicIPPrefix', response) - if response.status_code == 201: - deserialized = self._deserialize('PublicIPPrefix', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, public_ip_prefix_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates a static or dynamic public IP prefix. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param public_ip_prefix_name: The name of the public IP prefix. - :type public_ip_prefix_name: str - :param parameters: Parameters supplied to the create or update public - IP prefix operation. - :type parameters: - ~azure.mgmt.network.v2019_07_01.models.PublicIPPrefix - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns PublicIPPrefix or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.PublicIPPrefix] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.PublicIPPrefix]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - public_ip_prefix_name=public_ip_prefix_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('PublicIPPrefix', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIpPrefixName}'} - - - def _update_tags_initial( - self, resource_group_name, public_ip_prefix_name, tags=None, custom_headers=None, raw=False, **operation_config): - parameters = models.TagsObject(tags=tags) - - # Construct URL - url = self.update_tags.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'publicIpPrefixName': self._serialize.url("public_ip_prefix_name", public_ip_prefix_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'TagsObject') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('PublicIPPrefix', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def update_tags( - self, resource_group_name, public_ip_prefix_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Updates public IP prefix tags. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param public_ip_prefix_name: The name of the public IP prefix. - :type public_ip_prefix_name: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns PublicIPPrefix or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.PublicIPPrefix] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.PublicIPPrefix]] - :raises: :class:`CloudError` - """ - raw_result = self._update_tags_initial( - resource_group_name=resource_group_name, - public_ip_prefix_name=public_ip_prefix_name, - tags=tags, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('PublicIPPrefix', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIpPrefixName}'} - - def list_all( - self, custom_headers=None, raw=False, **operation_config): - """Gets all the public IP prefixes in a subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of PublicIPPrefix - :rtype: - ~azure.mgmt.network.v2019_07_01.models.PublicIPPrefixPaged[~azure.mgmt.network.v2019_07_01.models.PublicIPPrefix] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_all.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.PublicIPPrefixPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/publicIPPrefixes'} - - def list( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Gets all public IP prefixes in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of PublicIPPrefix - :rtype: - ~azure.mgmt.network.v2019_07_01.models.PublicIPPrefixPaged[~azure.mgmt.network.v2019_07_01.models.PublicIPPrefix] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.PublicIPPrefixPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_resource_navigation_links_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_resource_navigation_links_operations.py deleted file mode 100644 index 9e7649f7c29..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_resource_navigation_links_operations.py +++ /dev/null @@ -1,106 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError - -from .. import models - - -class ResourceNavigationLinksOperations(object): - """ResourceNavigationLinksOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-07-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-07-01" - - self.config = config - - def list( - self, resource_group_name, virtual_network_name, subnet_name, custom_headers=None, raw=False, **operation_config): - """Gets a list of resource navigation links for a subnet. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_name: The name of the virtual network. - :type virtual_network_name: str - :param subnet_name: The name of the subnet. - :type subnet_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ResourceNavigationLinksListResult or ClientRawResponse if - raw=true - :rtype: - ~azure.mgmt.network.v2019_07_01.models.ResourceNavigationLinksListResult - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), - 'subnetName': self._serialize.url("subnet_name", subnet_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ResourceNavigationLinksListResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}/ResourceNavigationLinks'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_route_filter_rules_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_route_filter_rules_operations.py deleted file mode 100644 index c8bf7e87ffc..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_route_filter_rules_operations.py +++ /dev/null @@ -1,475 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class RouteFilterRulesOperations(object): - """RouteFilterRulesOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-07-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-07-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, route_filter_name, rule_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'routeFilterName': self._serialize.url("route_filter_name", route_filter_name, 'str'), - 'ruleName': self._serialize.url("rule_name", rule_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, route_filter_name, rule_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified rule from a route filter. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param route_filter_name: The name of the route filter. - :type route_filter_name: str - :param rule_name: The name of the rule. - :type rule_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - route_filter_name=route_filter_name, - rule_name=rule_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}/routeFilterRules/{ruleName}'} - - def get( - self, resource_group_name, route_filter_name, rule_name, custom_headers=None, raw=False, **operation_config): - """Gets the specified rule from a route filter. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param route_filter_name: The name of the route filter. - :type route_filter_name: str - :param rule_name: The name of the rule. - :type rule_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: RouteFilterRule or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_07_01.models.RouteFilterRule or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'routeFilterName': self._serialize.url("route_filter_name", route_filter_name, 'str'), - 'ruleName': self._serialize.url("rule_name", rule_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('RouteFilterRule', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}/routeFilterRules/{ruleName}'} - - - def _create_or_update_initial( - self, resource_group_name, route_filter_name, rule_name, route_filter_rule_parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'routeFilterName': self._serialize.url("route_filter_name", route_filter_name, 'str'), - 'ruleName': self._serialize.url("rule_name", rule_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(route_filter_rule_parameters, 'RouteFilterRule') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('RouteFilterRule', response) - if response.status_code == 201: - deserialized = self._deserialize('RouteFilterRule', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, route_filter_name, rule_name, route_filter_rule_parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates a route in the specified route filter. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param route_filter_name: The name of the route filter. - :type route_filter_name: str - :param rule_name: The name of the route filter rule. - :type rule_name: str - :param route_filter_rule_parameters: Parameters supplied to the create - or update route filter rule operation. - :type route_filter_rule_parameters: - ~azure.mgmt.network.v2019_07_01.models.RouteFilterRule - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns RouteFilterRule or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.RouteFilterRule] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.RouteFilterRule]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - route_filter_name=route_filter_name, - rule_name=rule_name, - route_filter_rule_parameters=route_filter_rule_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('RouteFilterRule', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}/routeFilterRules/{ruleName}'} - - - def _update_initial( - self, resource_group_name, route_filter_name, rule_name, route_filter_rule_parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'routeFilterName': self._serialize.url("route_filter_name", route_filter_name, 'str'), - 'ruleName': self._serialize.url("rule_name", rule_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(route_filter_rule_parameters, 'PatchRouteFilterRule') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('RouteFilterRule', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def update( - self, resource_group_name, route_filter_name, rule_name, route_filter_rule_parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Updates a route in the specified route filter. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param route_filter_name: The name of the route filter. - :type route_filter_name: str - :param rule_name: The name of the route filter rule. - :type rule_name: str - :param route_filter_rule_parameters: Parameters supplied to the update - route filter rule operation. - :type route_filter_rule_parameters: - ~azure.mgmt.network.v2019_07_01.models.PatchRouteFilterRule - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns RouteFilterRule or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.RouteFilterRule] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.RouteFilterRule]] - :raises: :class:`CloudError` - """ - raw_result = self._update_initial( - resource_group_name=resource_group_name, - route_filter_name=route_filter_name, - rule_name=rule_name, - route_filter_rule_parameters=route_filter_rule_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('RouteFilterRule', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}/routeFilterRules/{ruleName}'} - - def list_by_route_filter( - self, resource_group_name, route_filter_name, custom_headers=None, raw=False, **operation_config): - """Gets all RouteFilterRules in a route filter. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param route_filter_name: The name of the route filter. - :type route_filter_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of RouteFilterRule - :rtype: - ~azure.mgmt.network.v2019_07_01.models.RouteFilterRulePaged[~azure.mgmt.network.v2019_07_01.models.RouteFilterRule] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_by_route_filter.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'routeFilterName': self._serialize.url("route_filter_name", route_filter_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.RouteFilterRulePaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_by_route_filter.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}/routeFilterRules'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_route_filters_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_route_filters_operations.py deleted file mode 100644 index 1b61db24a0a..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_route_filters_operations.py +++ /dev/null @@ -1,527 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class RouteFiltersOperations(object): - """RouteFiltersOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-07-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-07-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, route_filter_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'routeFilterName': self._serialize.url("route_filter_name", route_filter_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, route_filter_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified route filter. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param route_filter_name: The name of the route filter. - :type route_filter_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - route_filter_name=route_filter_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}'} - - def get( - self, resource_group_name, route_filter_name, expand=None, custom_headers=None, raw=False, **operation_config): - """Gets the specified route filter. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param route_filter_name: The name of the route filter. - :type route_filter_name: str - :param expand: Expands referenced express route bgp peering resources. - :type expand: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: RouteFilter or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_07_01.models.RouteFilter or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'routeFilterName': self._serialize.url("route_filter_name", route_filter_name, 'str'), - '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.api_version", self.api_version, 'str') - if expand is not None: - query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('RouteFilter', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}'} - - - def _create_or_update_initial( - self, resource_group_name, route_filter_name, route_filter_parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'routeFilterName': self._serialize.url("route_filter_name", route_filter_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(route_filter_parameters, 'RouteFilter') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('RouteFilter', response) - if response.status_code == 201: - deserialized = self._deserialize('RouteFilter', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, route_filter_name, route_filter_parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates a route filter in a specified resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param route_filter_name: The name of the route filter. - :type route_filter_name: str - :param route_filter_parameters: Parameters supplied to the create or - update route filter operation. - :type route_filter_parameters: - ~azure.mgmt.network.v2019_07_01.models.RouteFilter - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns RouteFilter or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.RouteFilter] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.RouteFilter]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - route_filter_name=route_filter_name, - route_filter_parameters=route_filter_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('RouteFilter', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}'} - - - def _update_initial( - self, resource_group_name, route_filter_name, route_filter_parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'routeFilterName': self._serialize.url("route_filter_name", route_filter_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(route_filter_parameters, 'PatchRouteFilter') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('RouteFilter', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def update( - self, resource_group_name, route_filter_name, route_filter_parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Updates a route filter in a specified resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param route_filter_name: The name of the route filter. - :type route_filter_name: str - :param route_filter_parameters: Parameters supplied to the update - route filter operation. - :type route_filter_parameters: - ~azure.mgmt.network.v2019_07_01.models.PatchRouteFilter - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns RouteFilter or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.RouteFilter] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.RouteFilter]] - :raises: :class:`CloudError` - """ - raw_result = self._update_initial( - resource_group_name=resource_group_name, - route_filter_name=route_filter_name, - route_filter_parameters=route_filter_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('RouteFilter', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}'} - - def list_by_resource_group( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Gets all route filters in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of RouteFilter - :rtype: - ~azure.mgmt.network.v2019_07_01.models.RouteFilterPaged[~azure.mgmt.network.v2019_07_01.models.RouteFilter] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_by_resource_group.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.RouteFilterPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters'} - - def list( - self, custom_headers=None, raw=False, **operation_config): - """Gets all route filters in a subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of RouteFilter - :rtype: - ~azure.mgmt.network.v2019_07_01.models.RouteFilterPaged[~azure.mgmt.network.v2019_07_01.models.RouteFilter] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.RouteFilterPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/routeFilters'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_route_tables_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_route_tables_operations.py deleted file mode 100644 index 8171b492916..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_route_tables_operations.py +++ /dev/null @@ -1,526 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class RouteTablesOperations(object): - """RouteTablesOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-07-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-07-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, route_table_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'routeTableName': self._serialize.url("route_table_name", route_table_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, route_table_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified route table. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param route_table_name: The name of the route table. - :type route_table_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - route_table_name=route_table_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}'} - - def get( - self, resource_group_name, route_table_name, expand=None, custom_headers=None, raw=False, **operation_config): - """Gets the specified route table. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param route_table_name: The name of the route table. - :type route_table_name: str - :param expand: Expands referenced resources. - :type expand: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: RouteTable or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_07_01.models.RouteTable or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'routeTableName': self._serialize.url("route_table_name", route_table_name, 'str'), - '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.api_version", self.api_version, 'str') - if expand is not None: - query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('RouteTable', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}'} - - - def _create_or_update_initial( - self, resource_group_name, route_table_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'routeTableName': self._serialize.url("route_table_name", route_table_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'RouteTable') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('RouteTable', response) - if response.status_code == 201: - deserialized = self._deserialize('RouteTable', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, route_table_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Create or updates a route table in a specified resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param route_table_name: The name of the route table. - :type route_table_name: str - :param parameters: Parameters supplied to the create or update route - table operation. - :type parameters: ~azure.mgmt.network.v2019_07_01.models.RouteTable - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns RouteTable or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.RouteTable] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.RouteTable]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - route_table_name=route_table_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('RouteTable', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}'} - - - def _update_tags_initial( - self, resource_group_name, route_table_name, tags=None, custom_headers=None, raw=False, **operation_config): - parameters = models.TagsObject(tags=tags) - - # Construct URL - url = self.update_tags.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'routeTableName': self._serialize.url("route_table_name", route_table_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'TagsObject') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('RouteTable', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def update_tags( - self, resource_group_name, route_table_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Updates a route table tags. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param route_table_name: The name of the route table. - :type route_table_name: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns RouteTable or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.RouteTable] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.RouteTable]] - :raises: :class:`CloudError` - """ - raw_result = self._update_tags_initial( - resource_group_name=resource_group_name, - route_table_name=route_table_name, - tags=tags, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('RouteTable', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}'} - - def list( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Gets all route tables in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of RouteTable - :rtype: - ~azure.mgmt.network.v2019_07_01.models.RouteTablePaged[~azure.mgmt.network.v2019_07_01.models.RouteTable] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.RouteTablePaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables'} - - def list_all( - self, custom_headers=None, raw=False, **operation_config): - """Gets all route tables in a subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of RouteTable - :rtype: - ~azure.mgmt.network.v2019_07_01.models.RouteTablePaged[~azure.mgmt.network.v2019_07_01.models.RouteTable] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_all.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.RouteTablePaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/routeTables'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_routes_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_routes_operations.py deleted file mode 100644 index 2faa8afc5be..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_routes_operations.py +++ /dev/null @@ -1,368 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class RoutesOperations(object): - """RoutesOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-07-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-07-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, route_table_name, route_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'routeTableName': self._serialize.url("route_table_name", route_table_name, 'str'), - 'routeName': self._serialize.url("route_name", route_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, route_table_name, route_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified route from a route table. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param route_table_name: The name of the route table. - :type route_table_name: str - :param route_name: The name of the route. - :type route_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - route_table_name=route_table_name, - route_name=route_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}/routes/{routeName}'} - - def get( - self, resource_group_name, route_table_name, route_name, custom_headers=None, raw=False, **operation_config): - """Gets the specified route from a route table. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param route_table_name: The name of the route table. - :type route_table_name: str - :param route_name: The name of the route. - :type route_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: Route or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_07_01.models.Route or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'routeTableName': self._serialize.url("route_table_name", route_table_name, 'str'), - 'routeName': self._serialize.url("route_name", route_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('Route', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}/routes/{routeName}'} - - - def _create_or_update_initial( - self, resource_group_name, route_table_name, route_name, route_parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'routeTableName': self._serialize.url("route_table_name", route_table_name, 'str'), - 'routeName': self._serialize.url("route_name", route_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(route_parameters, 'Route') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('Route', response) - if response.status_code == 201: - deserialized = self._deserialize('Route', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, route_table_name, route_name, route_parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates a route in the specified route table. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param route_table_name: The name of the route table. - :type route_table_name: str - :param route_name: The name of the route. - :type route_name: str - :param route_parameters: Parameters supplied to the create or update - route operation. - :type route_parameters: ~azure.mgmt.network.v2019_07_01.models.Route - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns Route or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.Route] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.Route]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - route_table_name=route_table_name, - route_name=route_name, - route_parameters=route_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('Route', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}/routes/{routeName}'} - - def list( - self, resource_group_name, route_table_name, custom_headers=None, raw=False, **operation_config): - """Gets all routes in a route table. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param route_table_name: The name of the route table. - :type route_table_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of Route - :rtype: - ~azure.mgmt.network.v2019_07_01.models.RoutePaged[~azure.mgmt.network.v2019_07_01.models.Route] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'routeTableName': self._serialize.url("route_table_name", route_table_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.RoutePaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}/routes'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_security_rules_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_security_rules_operations.py deleted file mode 100644 index e9fbc0eb428..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_security_rules_operations.py +++ /dev/null @@ -1,374 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class SecurityRulesOperations(object): - """SecurityRulesOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-07-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-07-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, network_security_group_name, security_rule_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkSecurityGroupName': self._serialize.url("network_security_group_name", network_security_group_name, 'str'), - 'securityRuleName': self._serialize.url("security_rule_name", security_rule_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, network_security_group_name, security_rule_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified network security rule. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_security_group_name: The name of the network security - group. - :type network_security_group_name: str - :param security_rule_name: The name of the security rule. - :type security_rule_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - network_security_group_name=network_security_group_name, - security_rule_name=security_rule_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/securityRules/{securityRuleName}'} - - def get( - self, resource_group_name, network_security_group_name, security_rule_name, custom_headers=None, raw=False, **operation_config): - """Get the specified network security rule. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_security_group_name: The name of the network security - group. - :type network_security_group_name: str - :param security_rule_name: The name of the security rule. - :type security_rule_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: SecurityRule or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_07_01.models.SecurityRule or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkSecurityGroupName': self._serialize.url("network_security_group_name", network_security_group_name, 'str'), - 'securityRuleName': self._serialize.url("security_rule_name", security_rule_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('SecurityRule', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/securityRules/{securityRuleName}'} - - - def _create_or_update_initial( - self, resource_group_name, network_security_group_name, security_rule_name, security_rule_parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkSecurityGroupName': self._serialize.url("network_security_group_name", network_security_group_name, 'str'), - 'securityRuleName': self._serialize.url("security_rule_name", security_rule_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(security_rule_parameters, 'SecurityRule') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('SecurityRule', response) - if response.status_code == 201: - deserialized = self._deserialize('SecurityRule', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, network_security_group_name, security_rule_name, security_rule_parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates a security rule in the specified network security - group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_security_group_name: The name of the network security - group. - :type network_security_group_name: str - :param security_rule_name: The name of the security rule. - :type security_rule_name: str - :param security_rule_parameters: Parameters supplied to the create or - update network security rule operation. - :type security_rule_parameters: - ~azure.mgmt.network.v2019_07_01.models.SecurityRule - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns SecurityRule or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.SecurityRule] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.SecurityRule]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - network_security_group_name=network_security_group_name, - security_rule_name=security_rule_name, - security_rule_parameters=security_rule_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('SecurityRule', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/securityRules/{securityRuleName}'} - - def list( - self, resource_group_name, network_security_group_name, custom_headers=None, raw=False, **operation_config): - """Gets all security rules in a network security group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_security_group_name: The name of the network security - group. - :type network_security_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of SecurityRule - :rtype: - ~azure.mgmt.network.v2019_07_01.models.SecurityRulePaged[~azure.mgmt.network.v2019_07_01.models.SecurityRule] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkSecurityGroupName': self._serialize.url("network_security_group_name", network_security_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.SecurityRulePaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/securityRules'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_service_association_links_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_service_association_links_operations.py deleted file mode 100644 index dfc95e7de44..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_service_association_links_operations.py +++ /dev/null @@ -1,106 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError - -from .. import models - - -class ServiceAssociationLinksOperations(object): - """ServiceAssociationLinksOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-07-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-07-01" - - self.config = config - - def list( - self, resource_group_name, virtual_network_name, subnet_name, custom_headers=None, raw=False, **operation_config): - """Gets a list of service association links for a subnet. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_name: The name of the virtual network. - :type virtual_network_name: str - :param subnet_name: The name of the subnet. - :type subnet_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ServiceAssociationLinksListResult or ClientRawResponse if - raw=true - :rtype: - ~azure.mgmt.network.v2019_07_01.models.ServiceAssociationLinksListResult - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), - 'subnetName': self._serialize.url("subnet_name", subnet_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ServiceAssociationLinksListResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}/ServiceAssociationLinks'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_service_endpoint_policies_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_service_endpoint_policies_operations.py deleted file mode 100644 index a017253673e..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_service_endpoint_policies_operations.py +++ /dev/null @@ -1,532 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class ServiceEndpointPoliciesOperations(object): - """ServiceEndpointPoliciesOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-07-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-07-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, service_endpoint_policy_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'serviceEndpointPolicyName': self._serialize.url("service_endpoint_policy_name", service_endpoint_policy_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, service_endpoint_policy_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified service endpoint policy. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param service_endpoint_policy_name: The name of the service endpoint - policy. - :type service_endpoint_policy_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - service_endpoint_policy_name=service_endpoint_policy_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/serviceEndpointPolicies/{serviceEndpointPolicyName}'} - - def get( - self, resource_group_name, service_endpoint_policy_name, expand=None, custom_headers=None, raw=False, **operation_config): - """Gets the specified service Endpoint Policies in a specified resource - group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param service_endpoint_policy_name: The name of the service endpoint - policy. - :type service_endpoint_policy_name: str - :param expand: Expands referenced resources. - :type expand: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ServiceEndpointPolicy or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_07_01.models.ServiceEndpointPolicy - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'serviceEndpointPolicyName': self._serialize.url("service_endpoint_policy_name", service_endpoint_policy_name, 'str'), - '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.api_version", self.api_version, 'str') - if expand is not None: - query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ServiceEndpointPolicy', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/serviceEndpointPolicies/{serviceEndpointPolicyName}'} - - - def _create_or_update_initial( - self, resource_group_name, service_endpoint_policy_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'serviceEndpointPolicyName': self._serialize.url("service_endpoint_policy_name", service_endpoint_policy_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'ServiceEndpointPolicy') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('ServiceEndpointPolicy', response) - if response.status_code == 201: - deserialized = self._deserialize('ServiceEndpointPolicy', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, service_endpoint_policy_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates a service Endpoint Policies. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param service_endpoint_policy_name: The name of the service endpoint - policy. - :type service_endpoint_policy_name: str - :param parameters: Parameters supplied to the create or update service - endpoint policy operation. - :type parameters: - ~azure.mgmt.network.v2019_07_01.models.ServiceEndpointPolicy - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns ServiceEndpointPolicy - or ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.ServiceEndpointPolicy] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.ServiceEndpointPolicy]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - service_endpoint_policy_name=service_endpoint_policy_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ServiceEndpointPolicy', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/serviceEndpointPolicies/{serviceEndpointPolicyName}'} - - - def _update_initial( - self, resource_group_name, service_endpoint_policy_name, tags=None, custom_headers=None, raw=False, **operation_config): - parameters = models.TagsObject(tags=tags) - - # Construct URL - url = self.update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'serviceEndpointPolicyName': self._serialize.url("service_endpoint_policy_name", service_endpoint_policy_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'TagsObject') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ServiceEndpointPolicy', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def update( - self, resource_group_name, service_endpoint_policy_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Updates service Endpoint Policies. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param service_endpoint_policy_name: The name of the service endpoint - policy. - :type service_endpoint_policy_name: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns ServiceEndpointPolicy - or ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.ServiceEndpointPolicy] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.ServiceEndpointPolicy]] - :raises: :class:`CloudError` - """ - raw_result = self._update_initial( - resource_group_name=resource_group_name, - service_endpoint_policy_name=service_endpoint_policy_name, - tags=tags, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ServiceEndpointPolicy', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/serviceEndpointPolicies/{serviceEndpointPolicyName}'} - - def list( - self, custom_headers=None, raw=False, **operation_config): - """Gets all the service endpoint policies in a subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of ServiceEndpointPolicy - :rtype: - ~azure.mgmt.network.v2019_07_01.models.ServiceEndpointPolicyPaged[~azure.mgmt.network.v2019_07_01.models.ServiceEndpointPolicy] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.ServiceEndpointPolicyPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/ServiceEndpointPolicies'} - - def list_by_resource_group( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Gets all service endpoint Policies in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of ServiceEndpointPolicy - :rtype: - ~azure.mgmt.network.v2019_07_01.models.ServiceEndpointPolicyPaged[~azure.mgmt.network.v2019_07_01.models.ServiceEndpointPolicy] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_by_resource_group.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.ServiceEndpointPolicyPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/serviceEndpointPolicies'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_service_endpoint_policy_definitions_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_service_endpoint_policy_definitions_operations.py deleted file mode 100644 index 38be42f08bb..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_service_endpoint_policy_definitions_operations.py +++ /dev/null @@ -1,382 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class ServiceEndpointPolicyDefinitionsOperations(object): - """ServiceEndpointPolicyDefinitionsOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-07-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-07-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, service_endpoint_policy_name, service_endpoint_policy_definition_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'serviceEndpointPolicyName': self._serialize.url("service_endpoint_policy_name", service_endpoint_policy_name, 'str'), - 'serviceEndpointPolicyDefinitionName': self._serialize.url("service_endpoint_policy_definition_name", service_endpoint_policy_definition_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, service_endpoint_policy_name, service_endpoint_policy_definition_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified ServiceEndpoint policy definitions. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param service_endpoint_policy_name: The name of the Service Endpoint - Policy. - :type service_endpoint_policy_name: str - :param service_endpoint_policy_definition_name: The name of the - service endpoint policy definition. - :type service_endpoint_policy_definition_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - service_endpoint_policy_name=service_endpoint_policy_name, - service_endpoint_policy_definition_name=service_endpoint_policy_definition_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/serviceEndpointPolicies/{serviceEndpointPolicyName}/serviceEndpointPolicyDefinitions/{serviceEndpointPolicyDefinitionName}'} - - def get( - self, resource_group_name, service_endpoint_policy_name, service_endpoint_policy_definition_name, custom_headers=None, raw=False, **operation_config): - """Get the specified service endpoint policy definitions from service - endpoint policy. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param service_endpoint_policy_name: The name of the service endpoint - policy name. - :type service_endpoint_policy_name: str - :param service_endpoint_policy_definition_name: The name of the - service endpoint policy definition name. - :type service_endpoint_policy_definition_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ServiceEndpointPolicyDefinition or ClientRawResponse if - raw=true - :rtype: - ~azure.mgmt.network.v2019_07_01.models.ServiceEndpointPolicyDefinition - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'serviceEndpointPolicyName': self._serialize.url("service_endpoint_policy_name", service_endpoint_policy_name, 'str'), - 'serviceEndpointPolicyDefinitionName': self._serialize.url("service_endpoint_policy_definition_name", service_endpoint_policy_definition_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ServiceEndpointPolicyDefinition', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/serviceEndpointPolicies/{serviceEndpointPolicyName}/serviceEndpointPolicyDefinitions/{serviceEndpointPolicyDefinitionName}'} - - - def _create_or_update_initial( - self, resource_group_name, service_endpoint_policy_name, service_endpoint_policy_definition_name, service_endpoint_policy_definitions, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'serviceEndpointPolicyName': self._serialize.url("service_endpoint_policy_name", service_endpoint_policy_name, 'str'), - 'serviceEndpointPolicyDefinitionName': self._serialize.url("service_endpoint_policy_definition_name", service_endpoint_policy_definition_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(service_endpoint_policy_definitions, 'ServiceEndpointPolicyDefinition') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('ServiceEndpointPolicyDefinition', response) - if response.status_code == 201: - deserialized = self._deserialize('ServiceEndpointPolicyDefinition', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, service_endpoint_policy_name, service_endpoint_policy_definition_name, service_endpoint_policy_definitions, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates a service endpoint policy definition in the - specified service endpoint policy. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param service_endpoint_policy_name: The name of the service endpoint - policy. - :type service_endpoint_policy_name: str - :param service_endpoint_policy_definition_name: The name of the - service endpoint policy definition name. - :type service_endpoint_policy_definition_name: str - :param service_endpoint_policy_definitions: Parameters supplied to the - create or update service endpoint policy operation. - :type service_endpoint_policy_definitions: - ~azure.mgmt.network.v2019_07_01.models.ServiceEndpointPolicyDefinition - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - ServiceEndpointPolicyDefinition or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.ServiceEndpointPolicyDefinition] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.ServiceEndpointPolicyDefinition]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - service_endpoint_policy_name=service_endpoint_policy_name, - service_endpoint_policy_definition_name=service_endpoint_policy_definition_name, - service_endpoint_policy_definitions=service_endpoint_policy_definitions, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ServiceEndpointPolicyDefinition', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/serviceEndpointPolicies/{serviceEndpointPolicyName}/serviceEndpointPolicyDefinitions/{serviceEndpointPolicyDefinitionName}'} - - def list_by_resource_group( - self, resource_group_name, service_endpoint_policy_name, custom_headers=None, raw=False, **operation_config): - """Gets all service endpoint policy definitions in a service end point - policy. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param service_endpoint_policy_name: The name of the service endpoint - policy name. - :type service_endpoint_policy_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of ServiceEndpointPolicyDefinition - :rtype: - ~azure.mgmt.network.v2019_07_01.models.ServiceEndpointPolicyDefinitionPaged[~azure.mgmt.network.v2019_07_01.models.ServiceEndpointPolicyDefinition] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_by_resource_group.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'serviceEndpointPolicyName': self._serialize.url("service_endpoint_policy_name", service_endpoint_policy_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.ServiceEndpointPolicyDefinitionPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/serviceEndpointPolicies/{serviceEndpointPolicyName}/serviceEndpointPolicyDefinitions'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_service_tags_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_service_tags_operations.py deleted file mode 100644 index be7def5aed0..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_service_tags_operations.py +++ /dev/null @@ -1,101 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError - -from .. import models - - -class ServiceTagsOperations(object): - """ServiceTagsOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-07-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-07-01" - - self.config = config - - def list( - self, location, custom_headers=None, raw=False, **operation_config): - """Gets a list of service tag information resources. - - :param location: The location that will be used as a reference for - version (not as a filter based on location, you will get the list of - service tags with prefix details across all regions but limited to the - cloud that your subscription belongs to). - :type location: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ServiceTagsListResult or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_07_01.models.ServiceTagsListResult - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'location': self._serialize.url("location", location, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ServiceTagsListResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/serviceTags'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_subnets_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_subnets_operations.py deleted file mode 100644 index 4ec46f49cb5..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_subnets_operations.py +++ /dev/null @@ -1,563 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class SubnetsOperations(object): - """SubnetsOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-07-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-07-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, virtual_network_name, subnet_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), - 'subnetName': self._serialize.url("subnet_name", subnet_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, virtual_network_name, subnet_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified subnet. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_name: The name of the virtual network. - :type virtual_network_name: str - :param subnet_name: The name of the subnet. - :type subnet_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - virtual_network_name=virtual_network_name, - subnet_name=subnet_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}'} - - def get( - self, resource_group_name, virtual_network_name, subnet_name, expand=None, custom_headers=None, raw=False, **operation_config): - """Gets the specified subnet by virtual network and resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_name: The name of the virtual network. - :type virtual_network_name: str - :param subnet_name: The name of the subnet. - :type subnet_name: str - :param expand: Expands referenced resources. - :type expand: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: Subnet or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_07_01.models.Subnet or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), - 'subnetName': self._serialize.url("subnet_name", subnet_name, 'str'), - '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.api_version", self.api_version, 'str') - if expand is not None: - query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('Subnet', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}'} - - - def _create_or_update_initial( - self, resource_group_name, virtual_network_name, subnet_name, subnet_parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), - 'subnetName': self._serialize.url("subnet_name", subnet_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(subnet_parameters, 'Subnet') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('Subnet', response) - if response.status_code == 201: - deserialized = self._deserialize('Subnet', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, virtual_network_name, subnet_name, subnet_parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates a subnet in the specified virtual network. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_name: The name of the virtual network. - :type virtual_network_name: str - :param subnet_name: The name of the subnet. - :type subnet_name: str - :param subnet_parameters: Parameters supplied to the create or update - subnet operation. - :type subnet_parameters: ~azure.mgmt.network.v2019_07_01.models.Subnet - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns Subnet or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.Subnet] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.Subnet]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - virtual_network_name=virtual_network_name, - subnet_name=subnet_name, - subnet_parameters=subnet_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('Subnet', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}'} - - - def _prepare_network_policies_initial( - self, resource_group_name, virtual_network_name, subnet_name, service_name=None, network_intent_policy_configurations=None, custom_headers=None, raw=False, **operation_config): - prepare_network_policies_request_parameters = models.PrepareNetworkPoliciesRequest(service_name=service_name, network_intent_policy_configurations=network_intent_policy_configurations) - - # Construct URL - url = self.prepare_network_policies.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), - 'subnetName': self._serialize.url("subnet_name", subnet_name, 'str'), - '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.api_version", self.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(prepare_network_policies_request_parameters, 'PrepareNetworkPoliciesRequest') - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def prepare_network_policies( - self, resource_group_name, virtual_network_name, subnet_name, service_name=None, network_intent_policy_configurations=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Prepares a subnet by applying network intent policies. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_name: The name of the virtual network. - :type virtual_network_name: str - :param subnet_name: The name of the subnet. - :type subnet_name: str - :param service_name: The name of the service for which subnet is being - prepared for. - :type service_name: str - :param network_intent_policy_configurations: A list of - NetworkIntentPolicyConfiguration. - :type network_intent_policy_configurations: - list[~azure.mgmt.network.v2019_07_01.models.NetworkIntentPolicyConfiguration] - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._prepare_network_policies_initial( - resource_group_name=resource_group_name, - virtual_network_name=virtual_network_name, - subnet_name=subnet_name, - service_name=service_name, - network_intent_policy_configurations=network_intent_policy_configurations, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - prepare_network_policies.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}/PrepareNetworkPolicies'} - - - def _unprepare_network_policies_initial( - self, resource_group_name, virtual_network_name, subnet_name, service_name=None, custom_headers=None, raw=False, **operation_config): - unprepare_network_policies_request_parameters = models.UnprepareNetworkPoliciesRequest(service_name=service_name) - - # Construct URL - url = self.unprepare_network_policies.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), - 'subnetName': self._serialize.url("subnet_name", subnet_name, 'str'), - '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.api_version", self.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(unprepare_network_policies_request_parameters, 'UnprepareNetworkPoliciesRequest') - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def unprepare_network_policies( - self, resource_group_name, virtual_network_name, subnet_name, service_name=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Unprepares a subnet by removing network intent policies. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_name: The name of the virtual network. - :type virtual_network_name: str - :param subnet_name: The name of the subnet. - :type subnet_name: str - :param service_name: The name of the service for which subnet is being - unprepared for. - :type service_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._unprepare_network_policies_initial( - resource_group_name=resource_group_name, - virtual_network_name=virtual_network_name, - subnet_name=subnet_name, - service_name=service_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - unprepare_network_policies.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}/UnprepareNetworkPolicies'} - - def list( - self, resource_group_name, virtual_network_name, custom_headers=None, raw=False, **operation_config): - """Gets all subnets in a virtual network. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_name: The name of the virtual network. - :type virtual_network_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of Subnet - :rtype: - ~azure.mgmt.network.v2019_07_01.models.SubnetPaged[~azure.mgmt.network.v2019_07_01.models.Subnet] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.SubnetPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_usages_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_usages_operations.py deleted file mode 100644 index 2f857d4e3ba..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_usages_operations.py +++ /dev/null @@ -1,109 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError - -from .. import models - - -class UsagesOperations(object): - """UsagesOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-07-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-07-01" - - self.config = config - - def list( - self, location, custom_headers=None, raw=False, **operation_config): - """List network usages for a subscription. - - :param location: The location where resource usage is queried. - :type location: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of Usage - :rtype: - ~azure.mgmt.network.v2019_07_01.models.UsagePaged[~azure.mgmt.network.v2019_07_01.models.Usage] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'location': self._serialize.url("location", location, 'str', pattern=r'^[-\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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.UsagePaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/usages'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_virtual_hubs_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_virtual_hubs_operations.py deleted file mode 100644 index 21822a007d4..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_virtual_hubs_operations.py +++ /dev/null @@ -1,519 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class VirtualHubsOperations(object): - """VirtualHubsOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-07-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-07-01" - - self.config = config - - def get( - self, resource_group_name, virtual_hub_name, custom_headers=None, raw=False, **operation_config): - """Retrieves the details of a VirtualHub. - - :param resource_group_name: The resource group name of the VirtualHub. - :type resource_group_name: str - :param virtual_hub_name: The name of the VirtualHub. - :type virtual_hub_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: VirtualHub or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_07_01.models.VirtualHub or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorException` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualHubName': self._serialize.url("virtual_hub_name", virtual_hub_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorException(self._deserialize, response) - - deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('VirtualHub', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}'} - - - def _create_or_update_initial( - self, resource_group_name, virtual_hub_name, virtual_hub_parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualHubName': self._serialize.url("virtual_hub_name", virtual_hub_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(virtual_hub_parameters, 'VirtualHub') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 201]: - raise models.ErrorException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('VirtualHub', response) - if response.status_code == 201: - deserialized = self._deserialize('VirtualHub', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, virtual_hub_name, virtual_hub_parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates a VirtualHub resource if it doesn't exist else updates the - existing VirtualHub. - - :param resource_group_name: The resource group name of the VirtualHub. - :type resource_group_name: str - :param virtual_hub_name: The name of the VirtualHub. - :type virtual_hub_name: str - :param virtual_hub_parameters: Parameters supplied to create or update - VirtualHub. - :type virtual_hub_parameters: - ~azure.mgmt.network.v2019_07_01.models.VirtualHub - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns VirtualHub or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.VirtualHub] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.VirtualHub]] - :raises: - :class:`ErrorException` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - virtual_hub_name=virtual_hub_name, - virtual_hub_parameters=virtual_hub_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('VirtualHub', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}'} - - - def _update_tags_initial( - self, resource_group_name, virtual_hub_name, tags=None, custom_headers=None, raw=False, **operation_config): - virtual_hub_parameters = models.TagsObject(tags=tags) - - # Construct URL - url = self.update_tags.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualHubName': self._serialize.url("virtual_hub_name", virtual_hub_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(virtual_hub_parameters, 'TagsObject') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 201]: - raise models.ErrorException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('VirtualHub', response) - if response.status_code == 201: - deserialized = self._deserialize('VirtualHub', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def update_tags( - self, resource_group_name, virtual_hub_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Updates VirtualHub tags. - - :param resource_group_name: The resource group name of the VirtualHub. - :type resource_group_name: str - :param virtual_hub_name: The name of the VirtualHub. - :type virtual_hub_name: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns VirtualHub or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.VirtualHub] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.VirtualHub]] - :raises: - :class:`ErrorException` - """ - raw_result = self._update_tags_initial( - resource_group_name=resource_group_name, - virtual_hub_name=virtual_hub_name, - tags=tags, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('VirtualHub', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}'} - - - def _delete_initial( - self, resource_group_name, virtual_hub_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualHubName': self._serialize.url("virtual_hub_name", virtual_hub_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - raise models.ErrorException(self._deserialize, response) - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, virtual_hub_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes a VirtualHub. - - :param resource_group_name: The resource group name of the VirtualHub. - :type resource_group_name: str - :param virtual_hub_name: The name of the VirtualHub. - :type virtual_hub_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: - :class:`ErrorException` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - virtual_hub_name=virtual_hub_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}'} - - def list_by_resource_group( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Lists all the VirtualHubs in a resource group. - - :param resource_group_name: The resource group name of the VirtualHub. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of VirtualHub - :rtype: - ~azure.mgmt.network.v2019_07_01.models.VirtualHubPaged[~azure.mgmt.network.v2019_07_01.models.VirtualHub] - :raises: - :class:`ErrorException` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_by_resource_group.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorException(self._deserialize, response) - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.VirtualHubPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs'} - - def list( - self, custom_headers=None, raw=False, **operation_config): - """Lists all the VirtualHubs in a subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of VirtualHub - :rtype: - ~azure.mgmt.network.v2019_07_01.models.VirtualHubPaged[~azure.mgmt.network.v2019_07_01.models.VirtualHub] - :raises: - :class:`ErrorException` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorException(self._deserialize, response) - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.VirtualHubPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/virtualHubs'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_virtual_network_gateway_connections_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_virtual_network_gateway_connections_operations.py deleted file mode 100644 index 2719f230a0c..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_virtual_network_gateway_connections_operations.py +++ /dev/null @@ -1,958 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class VirtualNetworkGatewayConnectionsOperations(object): - """VirtualNetworkGatewayConnectionsOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-07-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-07-01" - - self.config = config - - - def _create_or_update_initial( - self, resource_group_name, virtual_network_gateway_connection_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkGatewayConnectionName': self._serialize.url("virtual_network_gateway_connection_name", virtual_network_gateway_connection_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'VirtualNetworkGatewayConnection') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('VirtualNetworkGatewayConnection', response) - if response.status_code == 201: - deserialized = self._deserialize('VirtualNetworkGatewayConnection', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, virtual_network_gateway_connection_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates a virtual network gateway connection in the - specified resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_gateway_connection_name: The name of the - virtual network gateway connection. - :type virtual_network_gateway_connection_name: str - :param parameters: Parameters supplied to the create or update virtual - network gateway connection operation. - :type parameters: - ~azure.mgmt.network.v2019_07_01.models.VirtualNetworkGatewayConnection - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - VirtualNetworkGatewayConnection or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.VirtualNetworkGatewayConnection] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.VirtualNetworkGatewayConnection]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - virtual_network_gateway_connection_name=virtual_network_gateway_connection_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('VirtualNetworkGatewayConnection', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}'} - - def get( - self, resource_group_name, virtual_network_gateway_connection_name, custom_headers=None, raw=False, **operation_config): - """Gets the specified virtual network gateway connection by resource - group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_gateway_connection_name: The name of the - virtual network gateway connection. - :type virtual_network_gateway_connection_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: VirtualNetworkGatewayConnection or ClientRawResponse if - raw=true - :rtype: - ~azure.mgmt.network.v2019_07_01.models.VirtualNetworkGatewayConnection - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkGatewayConnectionName': self._serialize.url("virtual_network_gateway_connection_name", virtual_network_gateway_connection_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('VirtualNetworkGatewayConnection', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}'} - - - def _delete_initial( - self, resource_group_name, virtual_network_gateway_connection_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkGatewayConnectionName': self._serialize.url("virtual_network_gateway_connection_name", virtual_network_gateway_connection_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, virtual_network_gateway_connection_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified virtual network Gateway connection. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_gateway_connection_name: The name of the - virtual network gateway connection. - :type virtual_network_gateway_connection_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - virtual_network_gateway_connection_name=virtual_network_gateway_connection_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}'} - - - def _update_tags_initial( - self, resource_group_name, virtual_network_gateway_connection_name, tags=None, custom_headers=None, raw=False, **operation_config): - parameters = models.TagsObject(tags=tags) - - # Construct URL - url = self.update_tags.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkGatewayConnectionName': self._serialize.url("virtual_network_gateway_connection_name", virtual_network_gateway_connection_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'TagsObject') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - 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('VirtualNetworkGatewayConnection', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def update_tags( - self, resource_group_name, virtual_network_gateway_connection_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Updates a virtual network gateway connection tags. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_gateway_connection_name: The name of the - virtual network gateway connection. - :type virtual_network_gateway_connection_name: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - VirtualNetworkGatewayConnection or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.VirtualNetworkGatewayConnection] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.VirtualNetworkGatewayConnection]] - :raises: :class:`CloudError` - """ - raw_result = self._update_tags_initial( - resource_group_name=resource_group_name, - virtual_network_gateway_connection_name=virtual_network_gateway_connection_name, - tags=tags, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('VirtualNetworkGatewayConnection', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}'} - - - def _set_shared_key_initial( - self, resource_group_name, virtual_network_gateway_connection_name, value, id=None, custom_headers=None, raw=False, **operation_config): - parameters = models.ConnectionSharedKey(id=id, value=value) - - # Construct URL - url = self.set_shared_key.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkGatewayConnectionName': self._serialize.url("virtual_network_gateway_connection_name", virtual_network_gateway_connection_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'ConnectionSharedKey') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('ConnectionSharedKey', response) - if response.status_code == 201: - deserialized = self._deserialize('ConnectionSharedKey', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def set_shared_key( - self, resource_group_name, virtual_network_gateway_connection_name, value, id=None, custom_headers=None, raw=False, polling=True, **operation_config): - """The Put VirtualNetworkGatewayConnectionSharedKey operation sets the - virtual network gateway connection shared key for passed virtual - network gateway connection in the specified resource group through - Network resource provider. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_gateway_connection_name: The virtual network - gateway connection name. - :type virtual_network_gateway_connection_name: str - :param value: The virtual network connection shared key value. - :type value: str - :param id: Resource ID. - :type id: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns ConnectionSharedKey or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.ConnectionSharedKey] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.ConnectionSharedKey]] - :raises: :class:`CloudError` - """ - raw_result = self._set_shared_key_initial( - resource_group_name=resource_group_name, - virtual_network_gateway_connection_name=virtual_network_gateway_connection_name, - value=value, - id=id, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ConnectionSharedKey', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - set_shared_key.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/sharedkey'} - - def get_shared_key( - self, resource_group_name, virtual_network_gateway_connection_name, custom_headers=None, raw=False, **operation_config): - """The Get VirtualNetworkGatewayConnectionSharedKey operation retrieves - information about the specified virtual network gateway connection - shared key through Network resource provider. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_gateway_connection_name: The virtual network - gateway connection shared key name. - :type virtual_network_gateway_connection_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ConnectionSharedKey or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_07_01.models.ConnectionSharedKey or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get_shared_key.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkGatewayConnectionName': self._serialize.url("virtual_network_gateway_connection_name", virtual_network_gateway_connection_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ConnectionSharedKey', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get_shared_key.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/sharedkey'} - - def list( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """The List VirtualNetworkGatewayConnections operation retrieves all the - virtual network gateways connections created. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of VirtualNetworkGatewayConnection - :rtype: - ~azure.mgmt.network.v2019_07_01.models.VirtualNetworkGatewayConnectionPaged[~azure.mgmt.network.v2019_07_01.models.VirtualNetworkGatewayConnection] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.VirtualNetworkGatewayConnectionPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections'} - - - def _reset_shared_key_initial( - self, resource_group_name, virtual_network_gateway_connection_name, key_length, custom_headers=None, raw=False, **operation_config): - parameters = models.ConnectionResetSharedKey(key_length=key_length) - - # Construct URL - url = self.reset_shared_key.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkGatewayConnectionName': self._serialize.url("virtual_network_gateway_connection_name", virtual_network_gateway_connection_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'ConnectionResetSharedKey') - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - 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('ConnectionResetSharedKey', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def reset_shared_key( - self, resource_group_name, virtual_network_gateway_connection_name, key_length, custom_headers=None, raw=False, polling=True, **operation_config): - """The VirtualNetworkGatewayConnectionResetSharedKey operation resets the - virtual network gateway connection shared key for passed virtual - network gateway connection in the specified resource group through - Network resource provider. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_gateway_connection_name: The virtual network - gateway connection reset shared key Name. - :type virtual_network_gateway_connection_name: str - :param key_length: The virtual network connection reset shared key - length, should between 1 and 128. - :type key_length: int - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - ConnectionResetSharedKey or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.ConnectionResetSharedKey] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.ConnectionResetSharedKey]] - :raises: :class:`CloudError` - """ - raw_result = self._reset_shared_key_initial( - resource_group_name=resource_group_name, - virtual_network_gateway_connection_name=virtual_network_gateway_connection_name, - key_length=key_length, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ConnectionResetSharedKey', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - reset_shared_key.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/sharedkey/reset'} - - - def _start_packet_capture_initial( - self, resource_group_name, virtual_network_gateway_connection_name, filter_data=None, custom_headers=None, raw=False, **operation_config): - parameters = None - if filter_data is not None: - parameters = models.VpnPacketCaptureStartParameters(filter_data=filter_data) - - # Construct URL - url = self.start_packet_capture.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkGatewayConnectionName': self._serialize.url("virtual_network_gateway_connection_name", virtual_network_gateway_connection_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 - if parameters is not None: - body_content = self._serialize.body(parameters, 'VpnPacketCaptureStartParameters') - else: - body_content = None - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - raise models.ErrorException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('str', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def start_packet_capture( - self, resource_group_name, virtual_network_gateway_connection_name, filter_data=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Starts packet capture on virtual network gateway connection in the - specified resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_gateway_connection_name: The name of the - virtual network gateway connection. - :type virtual_network_gateway_connection_name: str - :param filter_data: Start Packet capture parameters. - :type filter_data: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns str or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[str] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[str]] - :raises: - :class:`ErrorException` - """ - raw_result = self._start_packet_capture_initial( - resource_group_name=resource_group_name, - virtual_network_gateway_connection_name=virtual_network_gateway_connection_name, - filter_data=filter_data, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('str', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - start_packet_capture.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/startPacketCapture'} - - - def _stop_packet_capture_initial( - self, resource_group_name, virtual_network_gateway_connection_name, sas_url=None, custom_headers=None, raw=False, **operation_config): - parameters = models.VpnPacketCaptureStopParameters(sas_url=sas_url) - - # Construct URL - url = self.stop_packet_capture.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkGatewayConnectionName': self._serialize.url("virtual_network_gateway_connection_name", virtual_network_gateway_connection_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'VpnPacketCaptureStopParameters') - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - raise models.ErrorException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('str', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def stop_packet_capture( - self, resource_group_name, virtual_network_gateway_connection_name, sas_url=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Stops packet capture on virtual network gateway connection in the - specified resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_gateway_connection_name: The name of the - virtual network gateway Connection. - :type virtual_network_gateway_connection_name: str - :param sas_url: SAS url for packet capture on virtual network gateway. - :type sas_url: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns str or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[str] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[str]] - :raises: - :class:`ErrorException` - """ - raw_result = self._stop_packet_capture_initial( - resource_group_name=resource_group_name, - virtual_network_gateway_connection_name=virtual_network_gateway_connection_name, - sas_url=sas_url, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('str', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - stop_packet_capture.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/stopPacketCapture'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_virtual_network_gateways_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_virtual_network_gateways_operations.py deleted file mode 100644 index d97fcf854de..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_virtual_network_gateways_operations.py +++ /dev/null @@ -1,1948 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class VirtualNetworkGatewaysOperations(object): - """VirtualNetworkGatewaysOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-07-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-07-01" - - self.config = config - - - def _create_or_update_initial( - self, resource_group_name, virtual_network_gateway_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'VirtualNetworkGateway') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('VirtualNetworkGateway', response) - if response.status_code == 201: - deserialized = self._deserialize('VirtualNetworkGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, virtual_network_gateway_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates a virtual network gateway in the specified resource - group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_gateway_name: The name of the virtual network - gateway. - :type virtual_network_gateway_name: str - :param parameters: Parameters supplied to create or update virtual - network gateway operation. - :type parameters: - ~azure.mgmt.network.v2019_07_01.models.VirtualNetworkGateway - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns VirtualNetworkGateway - or ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.VirtualNetworkGateway] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.VirtualNetworkGateway]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - virtual_network_gateway_name=virtual_network_gateway_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('VirtualNetworkGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}'} - - def get( - self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, **operation_config): - """Gets the specified virtual network gateway by resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_gateway_name: The name of the virtual network - gateway. - :type virtual_network_gateway_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: VirtualNetworkGateway or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_07_01.models.VirtualNetworkGateway - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('VirtualNetworkGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}'} - - - def _delete_initial( - self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified virtual network gateway. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_gateway_name: The name of the virtual network - gateway. - :type virtual_network_gateway_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - virtual_network_gateway_name=virtual_network_gateway_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}'} - - - def _update_tags_initial( - self, resource_group_name, virtual_network_gateway_name, tags=None, custom_headers=None, raw=False, **operation_config): - parameters = models.TagsObject(tags=tags) - - # Construct URL - url = self.update_tags.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'TagsObject') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - 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('VirtualNetworkGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def update_tags( - self, resource_group_name, virtual_network_gateway_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Updates a virtual network gateway tags. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_gateway_name: The name of the virtual network - gateway. - :type virtual_network_gateway_name: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns VirtualNetworkGateway - or ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.VirtualNetworkGateway] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.VirtualNetworkGateway]] - :raises: :class:`CloudError` - """ - raw_result = self._update_tags_initial( - resource_group_name=resource_group_name, - virtual_network_gateway_name=virtual_network_gateway_name, - tags=tags, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('VirtualNetworkGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}'} - - def list( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Gets all virtual network gateways by resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of VirtualNetworkGateway - :rtype: - ~azure.mgmt.network.v2019_07_01.models.VirtualNetworkGatewayPaged[~azure.mgmt.network.v2019_07_01.models.VirtualNetworkGateway] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.VirtualNetworkGatewayPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways'} - - def list_connections( - self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, **operation_config): - """Gets all the connections in a virtual network gateway. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_gateway_name: The name of the virtual network - gateway. - :type virtual_network_gateway_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of - VirtualNetworkGatewayConnectionListEntity - :rtype: - ~azure.mgmt.network.v2019_07_01.models.VirtualNetworkGatewayConnectionListEntityPaged[~azure.mgmt.network.v2019_07_01.models.VirtualNetworkGatewayConnectionListEntity] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_connections.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.VirtualNetworkGatewayConnectionListEntityPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_connections.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/connections'} - - - def _reset_initial( - self, resource_group_name, virtual_network_gateway_name, gateway_vip=None, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.reset.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str'), - '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 = {} - if gateway_vip is not None: - query_parameters['gatewayVip'] = self._serialize.query("gateway_vip", gateway_vip, 'str') - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - 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('VirtualNetworkGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def reset( - self, resource_group_name, virtual_network_gateway_name, gateway_vip=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Resets the primary of the virtual network gateway in the specified - resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_gateway_name: The name of the virtual network - gateway. - :type virtual_network_gateway_name: str - :param gateway_vip: Virtual network gateway vip address supplied to - the begin reset of the active-active feature enabled gateway. - :type gateway_vip: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns VirtualNetworkGateway - or ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.VirtualNetworkGateway] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.VirtualNetworkGateway]] - :raises: :class:`CloudError` - """ - raw_result = self._reset_initial( - resource_group_name=resource_group_name, - virtual_network_gateway_name=virtual_network_gateway_name, - gateway_vip=gateway_vip, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('VirtualNetworkGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - reset.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/reset'} - - - def _reset_vpn_client_shared_key_initial( - self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.reset_vpn_client_shared_key.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def reset_vpn_client_shared_key( - self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Resets the VPN client shared key of the virtual network gateway in the - specified resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_gateway_name: The name of the virtual network - gateway. - :type virtual_network_gateway_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._reset_vpn_client_shared_key_initial( - resource_group_name=resource_group_name, - virtual_network_gateway_name=virtual_network_gateway_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - reset_vpn_client_shared_key.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/resetvpnclientsharedkey'} - - - def _generatevpnclientpackage_initial( - self, resource_group_name, virtual_network_gateway_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.generatevpnclientpackage.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'VpnClientParameters') - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - 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('str', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def generatevpnclientpackage( - self, resource_group_name, virtual_network_gateway_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Generates VPN client package for P2S client of the virtual network - gateway in the specified resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_gateway_name: The name of the virtual network - gateway. - :type virtual_network_gateway_name: str - :param parameters: Parameters supplied to the generate virtual network - gateway VPN client package operation. - :type parameters: - ~azure.mgmt.network.v2019_07_01.models.VpnClientParameters - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns str or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[str] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[str]] - :raises: :class:`CloudError` - """ - raw_result = self._generatevpnclientpackage_initial( - resource_group_name=resource_group_name, - virtual_network_gateway_name=virtual_network_gateway_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('str', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - generatevpnclientpackage.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/generatevpnclientpackage'} - - - def _generate_vpn_profile_initial( - self, resource_group_name, virtual_network_gateway_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.generate_vpn_profile.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'VpnClientParameters') - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - 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('str', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def generate_vpn_profile( - self, resource_group_name, virtual_network_gateway_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Generates VPN profile for P2S client of the virtual network gateway in - the specified resource group. Used for IKEV2 and radius based - authentication. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_gateway_name: The name of the virtual network - gateway. - :type virtual_network_gateway_name: str - :param parameters: Parameters supplied to the generate virtual network - gateway VPN client package operation. - :type parameters: - ~azure.mgmt.network.v2019_07_01.models.VpnClientParameters - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns str or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[str] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[str]] - :raises: :class:`CloudError` - """ - raw_result = self._generate_vpn_profile_initial( - resource_group_name=resource_group_name, - virtual_network_gateway_name=virtual_network_gateway_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('str', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - generate_vpn_profile.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/generatevpnprofile'} - - - def _get_vpn_profile_package_url_initial( - self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.get_vpn_profile_package_url.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - 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('str', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def get_vpn_profile_package_url( - self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Gets pre-generated VPN profile for P2S client of the virtual network - gateway in the specified resource group. The profile needs to be - generated first using generateVpnProfile. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_gateway_name: The name of the virtual network - gateway. - :type virtual_network_gateway_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns str or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[str] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[str]] - :raises: :class:`CloudError` - """ - raw_result = self._get_vpn_profile_package_url_initial( - resource_group_name=resource_group_name, - virtual_network_gateway_name=virtual_network_gateway_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('str', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - get_vpn_profile_package_url.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getvpnprofilepackageurl'} - - - def _get_bgp_peer_status_initial( - self, resource_group_name, virtual_network_gateway_name, peer=None, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.get_bgp_peer_status.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str'), - '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 = {} - if peer is not None: - query_parameters['peer'] = self._serialize.query("peer", peer, 'str') - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - 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('BgpPeerStatusListResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def get_bgp_peer_status( - self, resource_group_name, virtual_network_gateway_name, peer=None, custom_headers=None, raw=False, polling=True, **operation_config): - """The GetBgpPeerStatus operation retrieves the status of all BGP peers. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_gateway_name: The name of the virtual network - gateway. - :type virtual_network_gateway_name: str - :param peer: The IP address of the peer to retrieve the status of. - :type peer: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns BgpPeerStatusListResult - or ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.BgpPeerStatusListResult] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.BgpPeerStatusListResult]] - :raises: :class:`CloudError` - """ - raw_result = self._get_bgp_peer_status_initial( - resource_group_name=resource_group_name, - virtual_network_gateway_name=virtual_network_gateway_name, - peer=peer, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('BgpPeerStatusListResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - get_bgp_peer_status.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getBgpPeerStatus'} - - def supported_vpn_devices( - self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, **operation_config): - """Gets a xml format representation for supported vpn devices. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_gateway_name: The name of the virtual network - gateway. - :type virtual_network_gateway_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: str or ClientRawResponse if raw=true - :rtype: str or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.supported_vpn_devices.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('str', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - supported_vpn_devices.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/supportedvpndevices'} - - - def _get_learned_routes_initial( - self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.get_learned_routes.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - 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('GatewayRouteListResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def get_learned_routes( - self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): - """This operation retrieves a list of routes the virtual network gateway - has learned, including routes learned from BGP peers. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_gateway_name: The name of the virtual network - gateway. - :type virtual_network_gateway_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns GatewayRouteListResult - or ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.GatewayRouteListResult] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.GatewayRouteListResult]] - :raises: :class:`CloudError` - """ - raw_result = self._get_learned_routes_initial( - resource_group_name=resource_group_name, - virtual_network_gateway_name=virtual_network_gateway_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('GatewayRouteListResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - get_learned_routes.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getLearnedRoutes'} - - - def _get_advertised_routes_initial( - self, resource_group_name, virtual_network_gateway_name, peer, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.get_advertised_routes.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str'), - '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['peer'] = self._serialize.query("peer", peer, 'str') - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - 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('GatewayRouteListResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def get_advertised_routes( - self, resource_group_name, virtual_network_gateway_name, peer, custom_headers=None, raw=False, polling=True, **operation_config): - """This operation retrieves a list of routes the virtual network gateway - is advertising to the specified peer. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_gateway_name: The name of the virtual network - gateway. - :type virtual_network_gateway_name: str - :param peer: The IP address of the peer. - :type peer: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns GatewayRouteListResult - or ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.GatewayRouteListResult] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.GatewayRouteListResult]] - :raises: :class:`CloudError` - """ - raw_result = self._get_advertised_routes_initial( - resource_group_name=resource_group_name, - virtual_network_gateway_name=virtual_network_gateway_name, - peer=peer, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('GatewayRouteListResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - get_advertised_routes.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getAdvertisedRoutes'} - - - def _set_vpnclient_ipsec_parameters_initial( - self, resource_group_name, virtual_network_gateway_name, vpnclient_ipsec_params, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.set_vpnclient_ipsec_parameters.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(vpnclient_ipsec_params, 'VpnClientIPsecParameters') - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - 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('VpnClientIPsecParameters', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def set_vpnclient_ipsec_parameters( - self, resource_group_name, virtual_network_gateway_name, vpnclient_ipsec_params, custom_headers=None, raw=False, polling=True, **operation_config): - """The Set VpnclientIpsecParameters operation sets the vpnclient ipsec - policy for P2S client of virtual network gateway in the specified - resource group through Network resource provider. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_gateway_name: The name of the virtual network - gateway. - :type virtual_network_gateway_name: str - :param vpnclient_ipsec_params: Parameters supplied to the Begin Set - vpnclient ipsec parameters of Virtual Network Gateway P2S client - operation through Network resource provider. - :type vpnclient_ipsec_params: - ~azure.mgmt.network.v2019_07_01.models.VpnClientIPsecParameters - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - VpnClientIPsecParameters or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.VpnClientIPsecParameters] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.VpnClientIPsecParameters]] - :raises: :class:`CloudError` - """ - raw_result = self._set_vpnclient_ipsec_parameters_initial( - resource_group_name=resource_group_name, - virtual_network_gateway_name=virtual_network_gateway_name, - vpnclient_ipsec_params=vpnclient_ipsec_params, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('VpnClientIPsecParameters', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - set_vpnclient_ipsec_parameters.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/setvpnclientipsecparameters'} - - - def _get_vpnclient_ipsec_parameters_initial( - self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.get_vpnclient_ipsec_parameters.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('VpnClientIPsecParameters', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def get_vpnclient_ipsec_parameters( - self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): - """The Get VpnclientIpsecParameters operation retrieves information about - the vpnclient ipsec policy for P2S client of virtual network gateway in - the specified resource group through Network resource provider. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_gateway_name: The virtual network gateway name. - :type virtual_network_gateway_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - VpnClientIPsecParameters or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.VpnClientIPsecParameters] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.VpnClientIPsecParameters]] - :raises: :class:`CloudError` - """ - raw_result = self._get_vpnclient_ipsec_parameters_initial( - resource_group_name=resource_group_name, - virtual_network_gateway_name=virtual_network_gateway_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('VpnClientIPsecParameters', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - get_vpnclient_ipsec_parameters.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getvpnclientipsecparameters'} - - def vpn_device_configuration_script( - self, resource_group_name, virtual_network_gateway_connection_name, parameters, custom_headers=None, raw=False, **operation_config): - """Gets a xml format representation for vpn device configuration script. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_gateway_connection_name: The name of the - virtual network gateway connection for which the configuration script - is generated. - :type virtual_network_gateway_connection_name: str - :param parameters: Parameters supplied to the generate vpn device - script operation. - :type parameters: - ~azure.mgmt.network.v2019_07_01.models.VpnDeviceScriptParameters - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: str or ClientRawResponse if raw=true - :rtype: str or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.vpn_device_configuration_script.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkGatewayConnectionName': self._serialize.url("virtual_network_gateway_connection_name", virtual_network_gateway_connection_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'VpnDeviceScriptParameters') - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('str', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - vpn_device_configuration_script.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/vpndeviceconfigurationscript'} - - - def _start_packet_capture_initial( - self, resource_group_name, virtual_network_gateway_name, filter_data=None, custom_headers=None, raw=False, **operation_config): - parameters = None - if filter_data is not None: - parameters = models.VpnPacketCaptureStartParameters(filter_data=filter_data) - - # Construct URL - url = self.start_packet_capture.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 - if parameters is not None: - body_content = self._serialize.body(parameters, 'VpnPacketCaptureStartParameters') - else: - body_content = None - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - raise models.ErrorException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('str', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def start_packet_capture( - self, resource_group_name, virtual_network_gateway_name, filter_data=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Starts packet capture on virtual network gateway in the specified - resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_gateway_name: The name of the virtual network - gateway. - :type virtual_network_gateway_name: str - :param filter_data: Start Packet capture parameters. - :type filter_data: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns str or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[str] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[str]] - :raises: - :class:`ErrorException` - """ - raw_result = self._start_packet_capture_initial( - resource_group_name=resource_group_name, - virtual_network_gateway_name=virtual_network_gateway_name, - filter_data=filter_data, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('str', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - start_packet_capture.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/startPacketCapture'} - - - def _stop_packet_capture_initial( - self, resource_group_name, virtual_network_gateway_name, sas_url=None, custom_headers=None, raw=False, **operation_config): - parameters = models.VpnPacketCaptureStopParameters(sas_url=sas_url) - - # Construct URL - url = self.stop_packet_capture.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'VpnPacketCaptureStopParameters') - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - raise models.ErrorException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('str', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def stop_packet_capture( - self, resource_group_name, virtual_network_gateway_name, sas_url=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Stops packet capture on virtual network gateway in the specified - resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_gateway_name: The name of the virtual network - gateway. - :type virtual_network_gateway_name: str - :param sas_url: SAS url for packet capture on virtual network gateway. - :type sas_url: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns str or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[str] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[str]] - :raises: - :class:`ErrorException` - """ - raw_result = self._stop_packet_capture_initial( - resource_group_name=resource_group_name, - virtual_network_gateway_name=virtual_network_gateway_name, - sas_url=sas_url, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('str', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - stop_packet_capture.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/stopPacketCapture'} - - - def _get_vpnclient_connection_health_initial( - self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.get_vpnclient_connection_health.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - 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('VpnClientConnectionHealthDetailListResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def get_vpnclient_connection_health( - self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Get VPN client connection health detail per P2S client connection of - the virtual network gateway in the specified resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_gateway_name: The name of the virtual network - gateway. - :type virtual_network_gateway_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - VpnClientConnectionHealthDetailListResult or - ClientRawResponse if - raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.VpnClientConnectionHealthDetailListResult] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.VpnClientConnectionHealthDetailListResult]] - :raises: :class:`CloudError` - """ - raw_result = self._get_vpnclient_connection_health_initial( - resource_group_name=resource_group_name, - virtual_network_gateway_name=virtual_network_gateway_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('VpnClientConnectionHealthDetailListResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - get_vpnclient_connection_health.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getVpnClientConnectionHealth'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_virtual_network_peerings_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_virtual_network_peerings_operations.py deleted file mode 100644 index 8f216d9f86f..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_virtual_network_peerings_operations.py +++ /dev/null @@ -1,371 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class VirtualNetworkPeeringsOperations(object): - """VirtualNetworkPeeringsOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-07-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-07-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, virtual_network_name, virtual_network_peering_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), - 'virtualNetworkPeeringName': self._serialize.url("virtual_network_peering_name", virtual_network_peering_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, virtual_network_name, virtual_network_peering_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified virtual network peering. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_name: The name of the virtual network. - :type virtual_network_name: str - :param virtual_network_peering_name: The name of the virtual network - peering. - :type virtual_network_peering_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - virtual_network_name=virtual_network_name, - virtual_network_peering_name=virtual_network_peering_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/virtualNetworkPeerings/{virtualNetworkPeeringName}'} - - def get( - self, resource_group_name, virtual_network_name, virtual_network_peering_name, custom_headers=None, raw=False, **operation_config): - """Gets the specified virtual network peering. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_name: The name of the virtual network. - :type virtual_network_name: str - :param virtual_network_peering_name: The name of the virtual network - peering. - :type virtual_network_peering_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: VirtualNetworkPeering or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_07_01.models.VirtualNetworkPeering - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), - 'virtualNetworkPeeringName': self._serialize.url("virtual_network_peering_name", virtual_network_peering_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('VirtualNetworkPeering', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/virtualNetworkPeerings/{virtualNetworkPeeringName}'} - - - def _create_or_update_initial( - self, resource_group_name, virtual_network_name, virtual_network_peering_name, virtual_network_peering_parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), - 'virtualNetworkPeeringName': self._serialize.url("virtual_network_peering_name", virtual_network_peering_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(virtual_network_peering_parameters, 'VirtualNetworkPeering') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('VirtualNetworkPeering', response) - if response.status_code == 201: - deserialized = self._deserialize('VirtualNetworkPeering', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, virtual_network_name, virtual_network_peering_name, virtual_network_peering_parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates a peering in the specified virtual network. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_name: The name of the virtual network. - :type virtual_network_name: str - :param virtual_network_peering_name: The name of the peering. - :type virtual_network_peering_name: str - :param virtual_network_peering_parameters: Parameters supplied to the - create or update virtual network peering operation. - :type virtual_network_peering_parameters: - ~azure.mgmt.network.v2019_07_01.models.VirtualNetworkPeering - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns VirtualNetworkPeering - or ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.VirtualNetworkPeering] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.VirtualNetworkPeering]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - virtual_network_name=virtual_network_name, - virtual_network_peering_name=virtual_network_peering_name, - virtual_network_peering_parameters=virtual_network_peering_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('VirtualNetworkPeering', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/virtualNetworkPeerings/{virtualNetworkPeeringName}'} - - def list( - self, resource_group_name, virtual_network_name, custom_headers=None, raw=False, **operation_config): - """Gets all virtual network peerings in a virtual network. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_name: The name of the virtual network. - :type virtual_network_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of VirtualNetworkPeering - :rtype: - ~azure.mgmt.network.v2019_07_01.models.VirtualNetworkPeeringPaged[~azure.mgmt.network.v2019_07_01.models.VirtualNetworkPeering] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.VirtualNetworkPeeringPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/virtualNetworkPeerings'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_virtual_network_taps_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_virtual_network_taps_operations.py deleted file mode 100644 index 1c1577edf1f..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_virtual_network_taps_operations.py +++ /dev/null @@ -1,523 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class VirtualNetworkTapsOperations(object): - """VirtualNetworkTapsOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-07-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-07-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, tap_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'tapName': self._serialize.url("tap_name", tap_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, tap_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified virtual network tap. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param tap_name: The name of the virtual network tap. - :type tap_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - tap_name=tap_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkTaps/{tapName}'} - - def get( - self, resource_group_name, tap_name, custom_headers=None, raw=False, **operation_config): - """Gets information about the specified virtual network tap. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param tap_name: The name of virtual network tap. - :type tap_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: VirtualNetworkTap or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_07_01.models.VirtualNetworkTap or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'tapName': self._serialize.url("tap_name", tap_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('VirtualNetworkTap', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkTaps/{tapName}'} - - - def _create_or_update_initial( - self, resource_group_name, tap_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'tapName': self._serialize.url("tap_name", tap_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'VirtualNetworkTap') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('VirtualNetworkTap', response) - if response.status_code == 201: - deserialized = self._deserialize('VirtualNetworkTap', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, tap_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates a Virtual Network Tap. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param tap_name: The name of the virtual network tap. - :type tap_name: str - :param parameters: Parameters supplied to the create or update virtual - network tap operation. - :type parameters: - ~azure.mgmt.network.v2019_07_01.models.VirtualNetworkTap - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns VirtualNetworkTap or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.VirtualNetworkTap] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.VirtualNetworkTap]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - tap_name=tap_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('VirtualNetworkTap', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkTaps/{tapName}'} - - - def _update_tags_initial( - self, resource_group_name, tap_name, tags=None, custom_headers=None, raw=False, **operation_config): - tap_parameters = models.TagsObject(tags=tags) - - # Construct URL - url = self.update_tags.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'tapName': self._serialize.url("tap_name", tap_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(tap_parameters, 'TagsObject') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('VirtualNetworkTap', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def update_tags( - self, resource_group_name, tap_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Updates an VirtualNetworkTap tags. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param tap_name: The name of the tap. - :type tap_name: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns VirtualNetworkTap or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.VirtualNetworkTap] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.VirtualNetworkTap]] - :raises: :class:`CloudError` - """ - raw_result = self._update_tags_initial( - resource_group_name=resource_group_name, - tap_name=tap_name, - tags=tags, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('VirtualNetworkTap', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkTaps/{tapName}'} - - def list_all( - self, custom_headers=None, raw=False, **operation_config): - """Gets all the VirtualNetworkTaps in a subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of VirtualNetworkTap - :rtype: - ~azure.mgmt.network.v2019_07_01.models.VirtualNetworkTapPaged[~azure.mgmt.network.v2019_07_01.models.VirtualNetworkTap] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_all.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.VirtualNetworkTapPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/virtualNetworkTaps'} - - def list_by_resource_group( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Gets all the VirtualNetworkTaps in a subscription. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of VirtualNetworkTap - :rtype: - ~azure.mgmt.network.v2019_07_01.models.VirtualNetworkTapPaged[~azure.mgmt.network.v2019_07_01.models.VirtualNetworkTap] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_by_resource_group.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.VirtualNetworkTapPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkTaps'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_virtual_networks_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_virtual_networks_operations.py deleted file mode 100644 index 2b4ae27c8c2..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_virtual_networks_operations.py +++ /dev/null @@ -1,664 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class VirtualNetworksOperations(object): - """VirtualNetworksOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-07-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-07-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, virtual_network_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, virtual_network_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified virtual network. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_name: The name of the virtual network. - :type virtual_network_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - virtual_network_name=virtual_network_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}'} - - def get( - self, resource_group_name, virtual_network_name, expand=None, custom_headers=None, raw=False, **operation_config): - """Gets the specified virtual network by resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_name: The name of the virtual network. - :type virtual_network_name: str - :param expand: Expands referenced resources. - :type expand: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: VirtualNetwork or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_07_01.models.VirtualNetwork or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), - '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.api_version", self.api_version, 'str') - if expand is not None: - query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('VirtualNetwork', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}'} - - - def _create_or_update_initial( - self, resource_group_name, virtual_network_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'VirtualNetwork') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('VirtualNetwork', response) - if response.status_code == 201: - deserialized = self._deserialize('VirtualNetwork', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, virtual_network_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates a virtual network in the specified resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_name: The name of the virtual network. - :type virtual_network_name: str - :param parameters: Parameters supplied to the create or update virtual - network operation. - :type parameters: - ~azure.mgmt.network.v2019_07_01.models.VirtualNetwork - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns VirtualNetwork or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.VirtualNetwork] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.VirtualNetwork]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - virtual_network_name=virtual_network_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('VirtualNetwork', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}'} - - - def _update_tags_initial( - self, resource_group_name, virtual_network_name, tags=None, custom_headers=None, raw=False, **operation_config): - parameters = models.TagsObject(tags=tags) - - # Construct URL - url = self.update_tags.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'TagsObject') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('VirtualNetwork', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def update_tags( - self, resource_group_name, virtual_network_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Updates a virtual network tags. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_name: The name of the virtual network. - :type virtual_network_name: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns VirtualNetwork or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.VirtualNetwork] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.VirtualNetwork]] - :raises: :class:`CloudError` - """ - raw_result = self._update_tags_initial( - resource_group_name=resource_group_name, - virtual_network_name=virtual_network_name, - tags=tags, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('VirtualNetwork', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}'} - - def list_all( - self, custom_headers=None, raw=False, **operation_config): - """Gets all virtual networks in a subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of VirtualNetwork - :rtype: - ~azure.mgmt.network.v2019_07_01.models.VirtualNetworkPaged[~azure.mgmt.network.v2019_07_01.models.VirtualNetwork] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_all.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.VirtualNetworkPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/virtualNetworks'} - - def list( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Gets all virtual networks in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of VirtualNetwork - :rtype: - ~azure.mgmt.network.v2019_07_01.models.VirtualNetworkPaged[~azure.mgmt.network.v2019_07_01.models.VirtualNetwork] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.VirtualNetworkPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks'} - - def check_ip_address_availability( - self, resource_group_name, virtual_network_name, ip_address, custom_headers=None, raw=False, **operation_config): - """Checks whether a private IP address is available for use. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_name: The name of the virtual network. - :type virtual_network_name: str - :param ip_address: The private IP address to be verified. - :type ip_address: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: IPAddressAvailabilityResult or ClientRawResponse if raw=true - :rtype: - ~azure.mgmt.network.v2019_07_01.models.IPAddressAvailabilityResult or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.check_ip_address_availability.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), - '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['ipAddress'] = self._serialize.query("ip_address", ip_address, 'str') - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('IPAddressAvailabilityResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - check_ip_address_availability.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/CheckIPAddressAvailability'} - - def list_usage( - self, resource_group_name, virtual_network_name, custom_headers=None, raw=False, **operation_config): - """Lists usage stats. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_name: The name of the virtual network. - :type virtual_network_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of VirtualNetworkUsage - :rtype: - ~azure.mgmt.network.v2019_07_01.models.VirtualNetworkUsagePaged[~azure.mgmt.network.v2019_07_01.models.VirtualNetworkUsage] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_usage.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.VirtualNetworkUsagePaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_usage.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/usages'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_virtual_router_peerings_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_virtual_router_peerings_operations.py deleted file mode 100644 index 75fda3d33b5..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_virtual_router_peerings_operations.py +++ /dev/null @@ -1,437 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class VirtualRouterPeeringsOperations(object): - """VirtualRouterPeeringsOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-07-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-07-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, virtual_router_name, peering_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualRouterName': self._serialize.url("virtual_router_name", virtual_router_name, 'str'), - 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - raise models.ErrorException(self._deserialize, response) - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, virtual_router_name, peering_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified peering from a Virtual Router. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_router_name: The name of the Virtual Router. - :type virtual_router_name: str - :param peering_name: The name of the peering. - :type peering_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: - :class:`ErrorException` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - virtual_router_name=virtual_router_name, - peering_name=peering_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualRouters/{virtualRouterName}/peerings/{peeringName}'} - - def get( - self, resource_group_name, virtual_router_name, peering_name, custom_headers=None, raw=False, **operation_config): - """Gets the specified Virtual Router Peering. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_router_name: The name of the Virtual Router. - :type virtual_router_name: str - :param peering_name: The name of the Virtual Router Peering. - :type peering_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: VirtualRouterPeering or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_07_01.models.VirtualRouterPeering or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorException` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualRouterName': self._serialize.url("virtual_router_name", virtual_router_name, 'str'), - 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorException(self._deserialize, response) - - deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('VirtualRouterPeering', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualRouters/{virtualRouterName}/peerings/{peeringName}'} - - def update( - self, resource_group_name, virtual_router_name, peering_name, parameters, custom_headers=None, raw=False, **operation_config): - """Updates a Virtual Router Peering. - - :param resource_group_name: The resource group name of the Virtual - Router Peering. - :type resource_group_name: str - :param virtual_router_name: The name of the Virtual Router. - :type virtual_router_name: str - :param peering_name: The name of the Virtual Router Peering being - updated. - :type peering_name: str - :param parameters: Parameters supplied to update Virtual Router - Peering operation. - :type parameters: - ~azure.mgmt.network.v2019_07_01.models.VirtualRouterPeering - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: VirtualRouterPeering or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_07_01.models.VirtualRouterPeering or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorException` - """ - # Construct URL - url = self.update.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualRouterName': self._serialize.url("virtual_router_name", virtual_router_name, 'str'), - 'peeringName': self._serialize.url("peering_name", peering_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'VirtualRouterPeering') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorException(self._deserialize, response) - - deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('VirtualRouterPeering', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualRouters/{virtualRouterName}/peerings/{peeringName}'} - - - def _create_or_update_initial( - self, resource_group_name, virtual_router_name, peering_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualRouterName': self._serialize.url("virtual_router_name", virtual_router_name, 'str'), - 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'VirtualRouterPeering') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 201]: - raise models.ErrorException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('VirtualRouterPeering', response) - if response.status_code == 201: - deserialized = self._deserialize('VirtualRouterPeering', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, virtual_router_name, peering_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates the specified Virtual Router Peering. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_router_name: The name of the Virtual Router. - :type virtual_router_name: str - :param peering_name: The name of the Virtual Router Peering. - :type peering_name: str - :param parameters: Parameters supplied to the create or update Virtual - Router Peering operation. - :type parameters: - ~azure.mgmt.network.v2019_07_01.models.VirtualRouterPeering - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns VirtualRouterPeering or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.VirtualRouterPeering] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.VirtualRouterPeering]] - :raises: - :class:`ErrorException` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - virtual_router_name=virtual_router_name, - peering_name=peering_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('VirtualRouterPeering', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualRouters/{virtualRouterName}/peerings/{peeringName}'} - - def list( - self, resource_group_name, virtual_router_name, custom_headers=None, raw=False, **operation_config): - """Lists all Virtual Router Peerings in a Virtual Router resource. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_router_name: The name of the Virtual Router. - :type virtual_router_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of VirtualRouterPeering - :rtype: - ~azure.mgmt.network.v2019_07_01.models.VirtualRouterPeeringPaged[~azure.mgmt.network.v2019_07_01.models.VirtualRouterPeering] - :raises: - :class:`ErrorException` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualRouterName': self._serialize.url("virtual_router_name", virtual_router_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorException(self._deserialize, response) - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.VirtualRouterPeeringPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualRouters/{virtualRouterName}/peerings'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_virtual_routers_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_virtual_routers_operations.py deleted file mode 100644 index 0645b529453..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_virtual_routers_operations.py +++ /dev/null @@ -1,488 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class VirtualRoutersOperations(object): - """VirtualRoutersOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-07-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-07-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, virtual_router_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualRouterName': self._serialize.url("virtual_router_name", virtual_router_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - raise models.ErrorException(self._deserialize, response) - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, virtual_router_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified Virtual Router. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_router_name: The name of the Virtual Router. - :type virtual_router_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: - :class:`ErrorException` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - virtual_router_name=virtual_router_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualRouters/{virtualRouterName}'} - - def get( - self, resource_group_name, virtual_router_name, expand=None, custom_headers=None, raw=False, **operation_config): - """Gets the specified Virtual Router. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_router_name: The name of the Virtual Router. - :type virtual_router_name: str - :param expand: Expands referenced resources. - :type expand: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: VirtualRouter or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_07_01.models.VirtualRouter or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorException` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualRouterName': self._serialize.url("virtual_router_name", virtual_router_name, 'str'), - '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.api_version", self.api_version, 'str') - if expand is not None: - query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorException(self._deserialize, response) - - deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('VirtualRouter', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualRouters/{virtualRouterName}'} - - def update( - self, resource_group_name, virtual_router_name, tags=None, custom_headers=None, raw=False, **operation_config): - """Updates a Virtual Router. - - :param resource_group_name: The resource group name of the Virtual - Router. - :type resource_group_name: str - :param virtual_router_name: The name of the Virtual Router being - updated. - :type virtual_router_name: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: VirtualRouter or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_07_01.models.VirtualRouter or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorException` - """ - parameters = models.TagsObject(tags=tags) - - # Construct URL - url = self.update.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualRouterName': self._serialize.url("virtual_router_name", virtual_router_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'TagsObject') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorException(self._deserialize, response) - - deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('VirtualRouter', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualRouters/{virtualRouterName}'} - - - def _create_or_update_initial( - self, resource_group_name, virtual_router_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualRouterName': self._serialize.url("virtual_router_name", virtual_router_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'VirtualRouter') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 201]: - raise models.ErrorException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('VirtualRouter', response) - if response.status_code == 201: - deserialized = self._deserialize('VirtualRouter', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, virtual_router_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates the specified Virtual Router. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_router_name: The name of the Virtual Router. - :type virtual_router_name: str - :param parameters: Parameters supplied to the create or update Virtual - Router. - :type parameters: ~azure.mgmt.network.v2019_07_01.models.VirtualRouter - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns VirtualRouter or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.VirtualRouter] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.VirtualRouter]] - :raises: - :class:`ErrorException` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - virtual_router_name=virtual_router_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('VirtualRouter', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualRouters/{virtualRouterName}'} - - def list_by_resource_group( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Lists all Virtual Routers in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of VirtualRouter - :rtype: - ~azure.mgmt.network.v2019_07_01.models.VirtualRouterPaged[~azure.mgmt.network.v2019_07_01.models.VirtualRouter] - :raises: - :class:`ErrorException` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_by_resource_group.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorException(self._deserialize, response) - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.VirtualRouterPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualRouters'} - - def list( - self, custom_headers=None, raw=False, **operation_config): - """Gets all the Virtual Routers in a subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of VirtualRouter - :rtype: - ~azure.mgmt.network.v2019_07_01.models.VirtualRouterPaged[~azure.mgmt.network.v2019_07_01.models.VirtualRouter] - :raises: - :class:`ErrorException` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorException(self._deserialize, response) - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.VirtualRouterPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/virtualRouters'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_virtual_wans_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_virtual_wans_operations.py deleted file mode 100644 index e9b70a1cb5b..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_virtual_wans_operations.py +++ /dev/null @@ -1,520 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class VirtualWansOperations(object): - """VirtualWansOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-07-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-07-01" - - self.config = config - - def get( - self, resource_group_name, virtual_wan_name, custom_headers=None, raw=False, **operation_config): - """Retrieves the details of a VirtualWAN. - - :param resource_group_name: The resource group name of the VirtualWan. - :type resource_group_name: str - :param virtual_wan_name: The name of the VirtualWAN being retrieved. - :type virtual_wan_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: VirtualWAN or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_07_01.models.VirtualWAN or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorException` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'VirtualWANName': self._serialize.url("virtual_wan_name", virtual_wan_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorException(self._deserialize, response) - - deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('VirtualWAN', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{VirtualWANName}'} - - - def _create_or_update_initial( - self, resource_group_name, virtual_wan_name, wan_parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'VirtualWANName': self._serialize.url("virtual_wan_name", virtual_wan_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(wan_parameters, 'VirtualWAN') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 201]: - raise models.ErrorException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('VirtualWAN', response) - if response.status_code == 201: - deserialized = self._deserialize('VirtualWAN', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, virtual_wan_name, wan_parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates a VirtualWAN resource if it doesn't exist else updates the - existing VirtualWAN. - - :param resource_group_name: The resource group name of the VirtualWan. - :type resource_group_name: str - :param virtual_wan_name: The name of the VirtualWAN being created or - updated. - :type virtual_wan_name: str - :param wan_parameters: Parameters supplied to create or update - VirtualWAN. - :type wan_parameters: - ~azure.mgmt.network.v2019_07_01.models.VirtualWAN - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns VirtualWAN or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.VirtualWAN] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.VirtualWAN]] - :raises: - :class:`ErrorException` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - virtual_wan_name=virtual_wan_name, - wan_parameters=wan_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('VirtualWAN', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{VirtualWANName}'} - - - def _update_tags_initial( - self, resource_group_name, virtual_wan_name, tags=None, custom_headers=None, raw=False, **operation_config): - wan_parameters = models.TagsObject(tags=tags) - - # Construct URL - url = self.update_tags.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'VirtualWANName': self._serialize.url("virtual_wan_name", virtual_wan_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(wan_parameters, 'TagsObject') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 201]: - raise models.ErrorException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('VirtualWAN', response) - if response.status_code == 201: - deserialized = self._deserialize('VirtualWAN', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def update_tags( - self, resource_group_name, virtual_wan_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Updates a VirtualWAN tags. - - :param resource_group_name: The resource group name of the VirtualWan. - :type resource_group_name: str - :param virtual_wan_name: The name of the VirtualWAN being updated. - :type virtual_wan_name: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns VirtualWAN or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.VirtualWAN] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.VirtualWAN]] - :raises: - :class:`ErrorException` - """ - raw_result = self._update_tags_initial( - resource_group_name=resource_group_name, - virtual_wan_name=virtual_wan_name, - tags=tags, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('VirtualWAN', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{VirtualWANName}'} - - - def _delete_initial( - self, resource_group_name, virtual_wan_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'VirtualWANName': self._serialize.url("virtual_wan_name", virtual_wan_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - raise models.ErrorException(self._deserialize, response) - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, virtual_wan_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes a VirtualWAN. - - :param resource_group_name: The resource group name of the VirtualWan. - :type resource_group_name: str - :param virtual_wan_name: The name of the VirtualWAN being deleted. - :type virtual_wan_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: - :class:`ErrorException` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - virtual_wan_name=virtual_wan_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{VirtualWANName}'} - - def list_by_resource_group( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Lists all the VirtualWANs in a resource group. - - :param resource_group_name: The resource group name of the VirtualWan. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of VirtualWAN - :rtype: - ~azure.mgmt.network.v2019_07_01.models.VirtualWANPaged[~azure.mgmt.network.v2019_07_01.models.VirtualWAN] - :raises: - :class:`ErrorException` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_by_resource_group.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorException(self._deserialize, response) - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.VirtualWANPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans'} - - def list( - self, custom_headers=None, raw=False, **operation_config): - """Lists all the VirtualWANs in a subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of VirtualWAN - :rtype: - ~azure.mgmt.network.v2019_07_01.models.VirtualWANPaged[~azure.mgmt.network.v2019_07_01.models.VirtualWAN] - :raises: - :class:`ErrorException` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorException(self._deserialize, response) - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.VirtualWANPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/virtualWans'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_vpn_connections_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_vpn_connections_operations.py deleted file mode 100644 index f5883e6b202..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_vpn_connections_operations.py +++ /dev/null @@ -1,365 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class VpnConnectionsOperations(object): - """VpnConnectionsOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-07-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-07-01" - - self.config = config - - def get( - self, resource_group_name, gateway_name, connection_name, custom_headers=None, raw=False, **operation_config): - """Retrieves the details of a vpn connection. - - :param resource_group_name: The resource group name of the VpnGateway. - :type resource_group_name: str - :param gateway_name: The name of the gateway. - :type gateway_name: str - :param connection_name: The name of the vpn connection. - :type connection_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: VpnConnection or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_07_01.models.VpnConnection or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorException` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str'), - 'connectionName': self._serialize.url("connection_name", connection_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorException(self._deserialize, response) - - deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('VpnConnection', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/vpnConnections/{connectionName}'} - - - def _create_or_update_initial( - self, resource_group_name, gateway_name, connection_name, vpn_connection_parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str'), - 'connectionName': self._serialize.url("connection_name", connection_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(vpn_connection_parameters, 'VpnConnection') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 201]: - raise models.ErrorException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('VpnConnection', response) - if response.status_code == 201: - deserialized = self._deserialize('VpnConnection', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, gateway_name, connection_name, vpn_connection_parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates a vpn connection to a scalable vpn gateway if it doesn't exist - else updates the existing connection. - - :param resource_group_name: The resource group name of the VpnGateway. - :type resource_group_name: str - :param gateway_name: The name of the gateway. - :type gateway_name: str - :param connection_name: The name of the connection. - :type connection_name: str - :param vpn_connection_parameters: Parameters supplied to create or - Update a VPN Connection. - :type vpn_connection_parameters: - ~azure.mgmt.network.v2019_07_01.models.VpnConnection - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns VpnConnection or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.VpnConnection] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.VpnConnection]] - :raises: - :class:`ErrorException` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - gateway_name=gateway_name, - connection_name=connection_name, - vpn_connection_parameters=vpn_connection_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('VpnConnection', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/vpnConnections/{connectionName}'} - - - def _delete_initial( - self, resource_group_name, gateway_name, connection_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str'), - 'connectionName': self._serialize.url("connection_name", connection_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - raise models.ErrorException(self._deserialize, response) - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, gateway_name, connection_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes a vpn connection. - - :param resource_group_name: The resource group name of the VpnGateway. - :type resource_group_name: str - :param gateway_name: The name of the gateway. - :type gateway_name: str - :param connection_name: The name of the connection. - :type connection_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: - :class:`ErrorException` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - gateway_name=gateway_name, - connection_name=connection_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/vpnConnections/{connectionName}'} - - def list_by_vpn_gateway( - self, resource_group_name, gateway_name, custom_headers=None, raw=False, **operation_config): - """Retrieves all vpn connections for a particular virtual wan vpn gateway. - - :param resource_group_name: The resource group name of the VpnGateway. - :type resource_group_name: str - :param gateway_name: The name of the gateway. - :type gateway_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of VpnConnection - :rtype: - ~azure.mgmt.network.v2019_07_01.models.VpnConnectionPaged[~azure.mgmt.network.v2019_07_01.models.VpnConnection] - :raises: - :class:`ErrorException` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_by_vpn_gateway.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorException(self._deserialize, response) - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.VpnConnectionPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_by_vpn_gateway.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/vpnConnections'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_vpn_gateways_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_vpn_gateways_operations.py deleted file mode 100644 index 322091b2952..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_vpn_gateways_operations.py +++ /dev/null @@ -1,613 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class VpnGatewaysOperations(object): - """VpnGatewaysOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-07-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-07-01" - - self.config = config - - def get( - self, resource_group_name, gateway_name, custom_headers=None, raw=False, **operation_config): - """Retrieves the details of a virtual wan vpn gateway. - - :param resource_group_name: The resource group name of the VpnGateway. - :type resource_group_name: str - :param gateway_name: The name of the gateway. - :type gateway_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: VpnGateway or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_07_01.models.VpnGateway or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorException` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorException(self._deserialize, response) - - deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('VpnGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}'} - - - def _create_or_update_initial( - self, resource_group_name, gateway_name, vpn_gateway_parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(vpn_gateway_parameters, 'VpnGateway') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 201]: - raise models.ErrorException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('VpnGateway', response) - if response.status_code == 201: - deserialized = self._deserialize('VpnGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, gateway_name, vpn_gateway_parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates a virtual wan vpn gateway if it doesn't exist else updates the - existing gateway. - - :param resource_group_name: The resource group name of the VpnGateway. - :type resource_group_name: str - :param gateway_name: The name of the gateway. - :type gateway_name: str - :param vpn_gateway_parameters: Parameters supplied to create or Update - a virtual wan vpn gateway. - :type vpn_gateway_parameters: - ~azure.mgmt.network.v2019_07_01.models.VpnGateway - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns VpnGateway or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.VpnGateway] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.VpnGateway]] - :raises: - :class:`ErrorException` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - gateway_name=gateway_name, - vpn_gateway_parameters=vpn_gateway_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('VpnGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}'} - - - def _update_tags_initial( - self, resource_group_name, gateway_name, tags=None, custom_headers=None, raw=False, **operation_config): - vpn_gateway_parameters = models.TagsObject(tags=tags) - - # Construct URL - url = self.update_tags.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(vpn_gateway_parameters, 'TagsObject') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 201]: - raise models.ErrorException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('VpnGateway', response) - if response.status_code == 201: - deserialized = self._deserialize('VpnGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def update_tags( - self, resource_group_name, gateway_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Updates virtual wan vpn gateway tags. - - :param resource_group_name: The resource group name of the VpnGateway. - :type resource_group_name: str - :param gateway_name: The name of the gateway. - :type gateway_name: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns VpnGateway or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.VpnGateway] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.VpnGateway]] - :raises: - :class:`ErrorException` - """ - raw_result = self._update_tags_initial( - resource_group_name=resource_group_name, - gateway_name=gateway_name, - tags=tags, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('VpnGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}'} - - - def _delete_initial( - self, resource_group_name, gateway_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - raise models.ErrorException(self._deserialize, response) - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes a virtual wan vpn gateway. - - :param resource_group_name: The resource group name of the VpnGateway. - :type resource_group_name: str - :param gateway_name: The name of the gateway. - :type gateway_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: - :class:`ErrorException` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - gateway_name=gateway_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}'} - - - def _reset_initial( - self, resource_group_name, gateway_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.reset.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - 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('VpnGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def reset( - self, resource_group_name, gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Resets the primary of the vpn gateway in the specified resource group. - - :param resource_group_name: The resource group name of the VpnGateway. - :type resource_group_name: str - :param gateway_name: The name of the gateway. - :type gateway_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns VpnGateway or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.VpnGateway] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.VpnGateway]] - :raises: :class:`CloudError` - """ - raw_result = self._reset_initial( - resource_group_name=resource_group_name, - gateway_name=gateway_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('VpnGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - reset.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/reset'} - - def list_by_resource_group( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Lists all the VpnGateways in a resource group. - - :param resource_group_name: The resource group name of the VpnGateway. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of VpnGateway - :rtype: - ~azure.mgmt.network.v2019_07_01.models.VpnGatewayPaged[~azure.mgmt.network.v2019_07_01.models.VpnGateway] - :raises: - :class:`ErrorException` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_by_resource_group.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorException(self._deserialize, response) - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.VpnGatewayPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways'} - - def list( - self, custom_headers=None, raw=False, **operation_config): - """Lists all the VpnGateways in a subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of VpnGateway - :rtype: - ~azure.mgmt.network.v2019_07_01.models.VpnGatewayPaged[~azure.mgmt.network.v2019_07_01.models.VpnGateway] - :raises: - :class:`ErrorException` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorException(self._deserialize, response) - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.VpnGatewayPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/vpnGateways'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_vpn_link_connections_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_vpn_link_connections_operations.py deleted file mode 100644 index 01067c97a94..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_vpn_link_connections_operations.py +++ /dev/null @@ -1,114 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse - -from .. import models - - -class VpnLinkConnectionsOperations(object): - """VpnLinkConnectionsOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-07-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-07-01" - - self.config = config - - def list_by_vpn_connection( - self, resource_group_name, gateway_name, connection_name, custom_headers=None, raw=False, **operation_config): - """Retrieves all vpn site link connections for a particular virtual wan - vpn gateway vpn connection. - - :param resource_group_name: The resource group name of the VpnGateway. - :type resource_group_name: str - :param gateway_name: The name of the gateway. - :type gateway_name: str - :param connection_name: The name of the vpn connection. - :type connection_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of VpnSiteLinkConnection - :rtype: - ~azure.mgmt.network.v2019_07_01.models.VpnSiteLinkConnectionPaged[~azure.mgmt.network.v2019_07_01.models.VpnSiteLinkConnection] - :raises: - :class:`ErrorException` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_by_vpn_connection.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str'), - 'connectionName': self._serialize.url("connection_name", connection_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorException(self._deserialize, response) - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.VpnSiteLinkConnectionPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_by_vpn_connection.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/vpnConnections/{connectionName}/vpnLinkConnections'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_vpn_site_link_connections_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_vpn_site_link_connections_operations.py deleted file mode 100644 index 6773b29584b..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_vpn_site_link_connections_operations.py +++ /dev/null @@ -1,105 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse - -from .. import models - - -class VpnSiteLinkConnectionsOperations(object): - """VpnSiteLinkConnectionsOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-07-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-07-01" - - self.config = config - - def get( - self, resource_group_name, gateway_name, connection_name, link_connection_name, custom_headers=None, raw=False, **operation_config): - """Retrieves the details of a vpn site link connection. - - :param resource_group_name: The resource group name of the VpnGateway. - :type resource_group_name: str - :param gateway_name: The name of the gateway. - :type gateway_name: str - :param connection_name: The name of the vpn connection. - :type connection_name: str - :param link_connection_name: The name of the vpn connection. - :type link_connection_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: VpnSiteLinkConnection or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_07_01.models.VpnSiteLinkConnection - or ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorException` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str'), - 'connectionName': self._serialize.url("connection_name", connection_name, 'str'), - 'linkConnectionName': self._serialize.url("link_connection_name", link_connection_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorException(self._deserialize, response) - - deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('VpnSiteLinkConnection', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/vpnConnections/{connectionName}/vpnLinkConnections/{linkConnectionName}'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_vpn_site_links_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_vpn_site_links_operations.py deleted file mode 100644 index 07d6777a6c9..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_vpn_site_links_operations.py +++ /dev/null @@ -1,174 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse - -from .. import models - - -class VpnSiteLinksOperations(object): - """VpnSiteLinksOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-07-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-07-01" - - self.config = config - - def get( - self, resource_group_name, vpn_site_name, vpn_site_link_name, custom_headers=None, raw=False, **operation_config): - """Retrieves the details of a VPN site link. - - :param resource_group_name: The resource group name of the VpnSite. - :type resource_group_name: str - :param vpn_site_name: The name of the VpnSite. - :type vpn_site_name: str - :param vpn_site_link_name: The name of the VpnSiteLink being - retrieved. - :type vpn_site_link_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: VpnSiteLink or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_07_01.models.VpnSiteLink or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorException` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'vpnSiteName': self._serialize.url("vpn_site_name", vpn_site_name, 'str'), - 'vpnSiteLinkName': self._serialize.url("vpn_site_link_name", vpn_site_link_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorException(self._deserialize, response) - - deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('VpnSiteLink', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnSites/{vpnSiteName}/vpnSiteLinks/{vpnSiteLinkName}'} - - def list_by_vpn_site( - self, resource_group_name, vpn_site_name, custom_headers=None, raw=False, **operation_config): - """Lists all the vpnSiteLinks in a resource group for a vpn site. - - :param resource_group_name: The resource group name of the VpnSite. - :type resource_group_name: str - :param vpn_site_name: The name of the VpnSite. - :type vpn_site_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of VpnSiteLink - :rtype: - ~azure.mgmt.network.v2019_07_01.models.VpnSiteLinkPaged[~azure.mgmt.network.v2019_07_01.models.VpnSiteLink] - :raises: - :class:`ErrorException` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_by_vpn_site.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'vpnSiteName': self._serialize.url("vpn_site_name", vpn_site_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorException(self._deserialize, response) - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.VpnSiteLinkPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_by_vpn_site.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnSites/{vpnSiteName}/vpnSiteLinks'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_vpn_sites_configuration_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_vpn_sites_configuration_operations.py deleted file mode 100644 index 9a4c0d62811..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_vpn_sites_configuration_operations.py +++ /dev/null @@ -1,135 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class VpnSitesConfigurationOperations(object): - """VpnSitesConfigurationOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-07-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-07-01" - - self.config = config - - - def _download_initial( - self, resource_group_name, virtual_wan_name, output_blob_sas_url, vpn_sites=None, custom_headers=None, raw=False, **operation_config): - request = models.GetVpnSitesConfigurationRequest(vpn_sites=vpn_sites, output_blob_sas_url=output_blob_sas_url) - - # Construct URL - url = self.download.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualWANName': self._serialize.url("virtual_wan_name", virtual_wan_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.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(request, 'GetVpnSitesConfigurationRequest') - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - raise models.ErrorException(self._deserialize, response) - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def download( - self, resource_group_name, virtual_wan_name, output_blob_sas_url, vpn_sites=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Gives the sas-url to download the configurations for vpn-sites in a - resource group. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param virtual_wan_name: The name of the VirtualWAN for which - configuration of all vpn-sites is needed. - :type virtual_wan_name: str - :param output_blob_sas_url: The sas-url to download the configurations - for vpn-sites. - :type output_blob_sas_url: str - :param vpn_sites: List of resource-ids of the vpn-sites for which - config is to be downloaded. - :type vpn_sites: list[str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: - :class:`ErrorException` - """ - raw_result = self._download_initial( - resource_group_name=resource_group_name, - virtual_wan_name=virtual_wan_name, - output_blob_sas_url=output_blob_sas_url, - vpn_sites=vpn_sites, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - download.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{virtualWANName}/vpnConfiguration'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_vpn_sites_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_vpn_sites_operations.py deleted file mode 100644 index 4f140c87ea3..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_vpn_sites_operations.py +++ /dev/null @@ -1,520 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class VpnSitesOperations(object): - """VpnSitesOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-07-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-07-01" - - self.config = config - - def get( - self, resource_group_name, vpn_site_name, custom_headers=None, raw=False, **operation_config): - """Retrieves the details of a VPN site. - - :param resource_group_name: The resource group name of the VpnSite. - :type resource_group_name: str - :param vpn_site_name: The name of the VpnSite being retrieved. - :type vpn_site_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: VpnSite or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_07_01.models.VpnSite or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorException` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'vpnSiteName': self._serialize.url("vpn_site_name", vpn_site_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorException(self._deserialize, response) - - deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('VpnSite', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnSites/{vpnSiteName}'} - - - def _create_or_update_initial( - self, resource_group_name, vpn_site_name, vpn_site_parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'vpnSiteName': self._serialize.url("vpn_site_name", vpn_site_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(vpn_site_parameters, 'VpnSite') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 201]: - raise models.ErrorException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('VpnSite', response) - if response.status_code == 201: - deserialized = self._deserialize('VpnSite', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, vpn_site_name, vpn_site_parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates a VpnSite resource if it doesn't exist else updates the - existing VpnSite. - - :param resource_group_name: The resource group name of the VpnSite. - :type resource_group_name: str - :param vpn_site_name: The name of the VpnSite being created or - updated. - :type vpn_site_name: str - :param vpn_site_parameters: Parameters supplied to create or update - VpnSite. - :type vpn_site_parameters: - ~azure.mgmt.network.v2019_07_01.models.VpnSite - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns VpnSite or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.VpnSite] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.VpnSite]] - :raises: - :class:`ErrorException` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - vpn_site_name=vpn_site_name, - vpn_site_parameters=vpn_site_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('VpnSite', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnSites/{vpnSiteName}'} - - - def _update_tags_initial( - self, resource_group_name, vpn_site_name, tags=None, custom_headers=None, raw=False, **operation_config): - vpn_site_parameters = models.TagsObject(tags=tags) - - # Construct URL - url = self.update_tags.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'vpnSiteName': self._serialize.url("vpn_site_name", vpn_site_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(vpn_site_parameters, 'TagsObject') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 201]: - raise models.ErrorException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('VpnSite', response) - if response.status_code == 201: - deserialized = self._deserialize('VpnSite', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def update_tags( - self, resource_group_name, vpn_site_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Updates VpnSite tags. - - :param resource_group_name: The resource group name of the VpnSite. - :type resource_group_name: str - :param vpn_site_name: The name of the VpnSite being updated. - :type vpn_site_name: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns VpnSite or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_07_01.models.VpnSite] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_07_01.models.VpnSite]] - :raises: - :class:`ErrorException` - """ - raw_result = self._update_tags_initial( - resource_group_name=resource_group_name, - vpn_site_name=vpn_site_name, - tags=tags, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('VpnSite', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnSites/{vpnSiteName}'} - - - def _delete_initial( - self, resource_group_name, vpn_site_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'vpnSiteName': self._serialize.url("vpn_site_name", vpn_site_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - raise models.ErrorException(self._deserialize, response) - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, vpn_site_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes a VpnSite. - - :param resource_group_name: The resource group name of the VpnSite. - :type resource_group_name: str - :param vpn_site_name: The name of the VpnSite being deleted. - :type vpn_site_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: - :class:`ErrorException` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - vpn_site_name=vpn_site_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnSites/{vpnSiteName}'} - - def list_by_resource_group( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Lists all the vpnSites in a resource group. - - :param resource_group_name: The resource group name of the VpnSite. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of VpnSite - :rtype: - ~azure.mgmt.network.v2019_07_01.models.VpnSitePaged[~azure.mgmt.network.v2019_07_01.models.VpnSite] - :raises: - :class:`ErrorException` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_by_resource_group.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorException(self._deserialize, response) - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.VpnSitePaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnSites'} - - def list( - self, custom_headers=None, raw=False, **operation_config): - """Lists all the VpnSites in a subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of VpnSite - :rtype: - ~azure.mgmt.network.v2019_07_01.models.VpnSitePaged[~azure.mgmt.network.v2019_07_01.models.VpnSite] - :raises: - :class:`ErrorException` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorException(self._deserialize, response) - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.VpnSitePaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/vpnSites'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_web_application_firewall_policies_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_web_application_firewall_policies_operations.py deleted file mode 100644 index f437ba90ebf..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/operations/_web_application_firewall_policies_operations.py +++ /dev/null @@ -1,390 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class WebApplicationFirewallPoliciesOperations(object): - """WebApplicationFirewallPoliciesOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-07-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-07-01" - - self.config = config - - def list( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Lists all of the protection policies within a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of WebApplicationFirewallPolicy - :rtype: - ~azure.mgmt.network.v2019_07_01.models.WebApplicationFirewallPolicyPaged[~azure.mgmt.network.v2019_07_01.models.WebApplicationFirewallPolicy] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.WebApplicationFirewallPolicyPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies'} - - def list_all( - self, custom_headers=None, raw=False, **operation_config): - """Gets all the WAF policies in a subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of WebApplicationFirewallPolicy - :rtype: - ~azure.mgmt.network.v2019_07_01.models.WebApplicationFirewallPolicyPaged[~azure.mgmt.network.v2019_07_01.models.WebApplicationFirewallPolicy] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_all.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.WebApplicationFirewallPolicyPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies'} - - def get( - self, resource_group_name, policy_name, custom_headers=None, raw=False, **operation_config): - """Retrieve protection policy with specified name within a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param policy_name: The name of the policy. - :type policy_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: WebApplicationFirewallPolicy or ClientRawResponse if raw=true - :rtype: - ~azure.mgmt.network.v2019_07_01.models.WebApplicationFirewallPolicy or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'policyName': self._serialize.url("policy_name", policy_name, 'str', max_length=128), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('WebApplicationFirewallPolicy', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies/{policyName}'} - - def create_or_update( - self, resource_group_name, policy_name, parameters, custom_headers=None, raw=False, **operation_config): - """Creates or update policy with specified rule set name within a resource - group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param policy_name: The name of the policy. - :type policy_name: str - :param parameters: Policy to be created. - :type parameters: - ~azure.mgmt.network.v2019_07_01.models.WebApplicationFirewallPolicy - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: WebApplicationFirewallPolicy or ClientRawResponse if raw=true - :rtype: - ~azure.mgmt.network.v2019_07_01.models.WebApplicationFirewallPolicy or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'policyName': self._serialize.url("policy_name", policy_name, 'str', max_length=128), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'WebApplicationFirewallPolicy') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('WebApplicationFirewallPolicy', response) - if response.status_code == 201: - deserialized = self._deserialize('WebApplicationFirewallPolicy', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies/{policyName}'} - - - def _delete_initial( - self, resource_group_name, policy_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'policyName': self._serialize.url("policy_name", policy_name, 'str', max_length=128), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, policy_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes Policy. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param policy_name: The name of the policy. - :type policy_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - policy_name=policy_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies/{policyName}'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/version.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/version.py deleted file mode 100644 index 99fc271627d..00000000000 --- a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/version.py +++ /dev/null @@ -1,8 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -------------------------------------------------------------------------- - -VERSION = "7.0.0" diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/__init__.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/__init__.py similarity index 100% rename from src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/__init__.py rename to src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/__init__.py diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/_configuration.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/_configuration.py similarity index 100% rename from src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/_configuration.py rename to src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/_configuration.py diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/_network_management_client.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/_network_management_client.py new file mode 100644 index 00000000000..614c33bf866 --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/_network_management_client.py @@ -0,0 +1,6386 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.service_client import SDKClient +from msrest import Serializer, Deserializer + +from azure.profiles import KnownProfiles, ProfileDefinition +from azure.profiles.multiapiclient import MultiApiClientMixin +from ._configuration import NetworkManagementClientConfiguration +from ._operations_mixin import NetworkManagementClientOperationsMixin + + +class NetworkManagementClient(NetworkManagementClientOperationsMixin, MultiApiClientMixin, SDKClient): + """Network Client + + This ready contains multiple API versions, to help you deal with all Azure clouds + (Azure Stack, Azure Government, Azure China, etc.). + By default, uses latest API version available on public Azure. + For production, you should stick a particular api-version and/or profile. + The profile sets a mapping between the operation group and an API version. + The api-version parameter sets the default API version if the operation + group is not described in the profile. + + :ivar config: Configuration for client. + :vartype config: NetworkManagementClientConfiguration + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param subscription_id: 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 str api_version: API version to use if no profile is provided, or if + missing in profile. + :param str base_url: Service URL + :param profile: A profile definition, from KnownProfiles to dict. + :type profile: azure.profiles.KnownProfiles + """ + + DEFAULT_API_VERSION = '2020-05-01' + _PROFILE_TAG = "azure.mgmt.network.NetworkManagementClient" + LATEST_PROFILE = ProfileDefinition({ + _PROFILE_TAG: { + None: DEFAULT_API_VERSION, + 'firewall_policy_rule_groups': '2020-04-01', + 'interface_endpoints': '2019-02-01', + 'p2s_vpn_server_configurations': '2019-07-01', + 'virtual_wa_ns': '2018-07-01', + }}, + _PROFILE_TAG + " latest" + ) + + def __init__(self, credentials, subscription_id, api_version=None, base_url=None, profile=KnownProfiles.default): + self.config = NetworkManagementClientConfiguration(credentials, subscription_id, base_url) + super(NetworkManagementClient, self).__init__( + credentials, + self.config, + api_version=api_version, + profile=profile + ) + + @classmethod + def _models_dict(cls, api_version): + return {k: v for k, v in cls.models(api_version).__dict__.items() if isinstance(v, type)} + + @classmethod + def models(cls, api_version=DEFAULT_API_VERSION): + """Module depends on the API version: + + * 2015-06-15: :mod:`v2015_06_15.models` + * 2016-09-01: :mod:`v2016_09_01.models` + * 2016-12-01: :mod:`v2016_12_01.models` + * 2017-03-01: :mod:`v2017_03_01.models` + * 2017-06-01: :mod:`v2017_06_01.models` + * 2017-08-01: :mod:`v2017_08_01.models` + * 2017-09-01: :mod:`v2017_09_01.models` + * 2017-10-01: :mod:`v2017_10_01.models` + * 2017-11-01: :mod:`v2017_11_01.models` + * 2018-01-01: :mod:`v2018_01_01.models` + * 2018-02-01: :mod:`v2018_02_01.models` + * 2018-04-01: :mod:`v2018_04_01.models` + * 2018-06-01: :mod:`v2018_06_01.models` + * 2018-07-01: :mod:`v2018_07_01.models` + * 2018-08-01: :mod:`v2018_08_01.models` + * 2018-10-01: :mod:`v2018_10_01.models` + * 2018-11-01: :mod:`v2018_11_01.models` + * 2018-12-01: :mod:`v2018_12_01.models` + * 2019-02-01: :mod:`v2019_02_01.models` + * 2019-04-01: :mod:`v2019_04_01.models` + * 2019-06-01: :mod:`v2019_06_01.models` + * 2019-07-01: :mod:`v2019_07_01.models` + * 2019-08-01: :mod:`v2019_08_01.models` + * 2019-09-01: :mod:`v2019_09_01.models` + * 2019-11-01: :mod:`v2019_11_01.models` + * 2019-12-01: :mod:`v2019_12_01.models` + * 2020-03-01: :mod:`v2020_03_01.models` + * 2020-04-01: :mod:`v2020_04_01.models` + * 2020-05-01: :mod:`v2020_05_01.models` + """ + if api_version == '2015-06-15': + from .v2015_06_15 import models + return models + elif api_version == '2016-09-01': + from .v2016_09_01 import models + return models + elif api_version == '2016-12-01': + from .v2016_12_01 import models + return models + elif api_version == '2017-03-01': + from .v2017_03_01 import models + return models + elif api_version == '2017-06-01': + from .v2017_06_01 import models + return models + elif api_version == '2017-08-01': + from .v2017_08_01 import models + return models + elif api_version == '2017-09-01': + from .v2017_09_01 import models + return models + elif api_version == '2017-10-01': + from .v2017_10_01 import models + return models + elif api_version == '2017-11-01': + from .v2017_11_01 import models + return models + elif api_version == '2018-01-01': + from .v2018_01_01 import models + return models + elif api_version == '2018-02-01': + from .v2018_02_01 import models + return models + elif api_version == '2018-04-01': + from .v2018_04_01 import models + return models + elif api_version == '2018-06-01': + from .v2018_06_01 import models + return models + elif api_version == '2018-07-01': + from .v2018_07_01 import models + return models + elif api_version == '2018-08-01': + from .v2018_08_01 import models + return models + elif api_version == '2018-10-01': + from .v2018_10_01 import models + return models + elif api_version == '2018-11-01': + from .v2018_11_01 import models + return models + elif api_version == '2018-12-01': + from .v2018_12_01 import models + return models + elif api_version == '2019-02-01': + from .v2019_02_01 import models + return models + elif api_version == '2019-04-01': + from .v2019_04_01 import models + return models + elif api_version == '2019-06-01': + from .v2019_06_01 import models + return models + elif api_version == '2019-07-01': + from .v2019_07_01 import models + return models + elif api_version == '2019-08-01': + from .v2019_08_01 import models + return models + elif api_version == '2019-09-01': + from .v2019_09_01 import models + return models + elif api_version == '2019-11-01': + from .v2019_11_01 import models + return models + elif api_version == '2019-12-01': + from .v2019_12_01 import models + return models + elif api_version == '2020-03-01': + from .v2020_03_01 import models + return models + elif api_version == '2020-04-01': + from .v2020_04_01 import models + return models + elif api_version == '2020-05-01': + from .v2020_05_01 import models + return models + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + + @property + def application_gateways(self): + """Instance depends on the API version: + + * 2015-06-15: :class:`ApplicationGatewaysOperations` + * 2016-09-01: :class:`ApplicationGatewaysOperations` + * 2016-12-01: :class:`ApplicationGatewaysOperations` + * 2017-03-01: :class:`ApplicationGatewaysOperations` + * 2017-06-01: :class:`ApplicationGatewaysOperations` + * 2017-08-01: :class:`ApplicationGatewaysOperations` + * 2017-09-01: :class:`ApplicationGatewaysOperations` + * 2017-10-01: :class:`ApplicationGatewaysOperations` + * 2017-11-01: :class:`ApplicationGatewaysOperations` + * 2018-01-01: :class:`ApplicationGatewaysOperations` + * 2018-02-01: :class:`ApplicationGatewaysOperations` + * 2018-04-01: :class:`ApplicationGatewaysOperations` + * 2018-06-01: :class:`ApplicationGatewaysOperations` + * 2018-07-01: :class:`ApplicationGatewaysOperations` + * 2018-08-01: :class:`ApplicationGatewaysOperations` + * 2018-10-01: :class:`ApplicationGatewaysOperations` + * 2018-11-01: :class:`ApplicationGatewaysOperations` + * 2018-12-01: :class:`ApplicationGatewaysOperations` + * 2019-02-01: :class:`ApplicationGatewaysOperations` + * 2019-04-01: :class:`ApplicationGatewaysOperations` + * 2019-06-01: :class:`ApplicationGatewaysOperations` + * 2019-07-01: :class:`ApplicationGatewaysOperations` + * 2019-08-01: :class:`ApplicationGatewaysOperations` + * 2019-09-01: :class:`ApplicationGatewaysOperations` + * 2019-11-01: :class:`ApplicationGatewaysOperations` + * 2019-12-01: :class:`ApplicationGatewaysOperations` + * 2020-03-01: :class:`ApplicationGatewaysOperations` + * 2020-04-01: :class:`ApplicationGatewaysOperations` + * 2020-05-01: :class:`ApplicationGatewaysOperations` + """ + api_version = self._get_api_version('application_gateways') + if api_version == '2015-06-15': + from .v2015_06_15.operations import ApplicationGatewaysOperations as OperationClass + elif api_version == '2016-09-01': + from .v2016_09_01.operations import ApplicationGatewaysOperations as OperationClass + elif api_version == '2016-12-01': + from .v2016_12_01.operations import ApplicationGatewaysOperations as OperationClass + elif api_version == '2017-03-01': + from .v2017_03_01.operations import ApplicationGatewaysOperations as OperationClass + elif api_version == '2017-06-01': + from .v2017_06_01.operations import ApplicationGatewaysOperations as OperationClass + elif api_version == '2017-08-01': + from .v2017_08_01.operations import ApplicationGatewaysOperations as OperationClass + elif api_version == '2017-09-01': + from .v2017_09_01.operations import ApplicationGatewaysOperations as OperationClass + elif api_version == '2017-10-01': + from .v2017_10_01.operations import ApplicationGatewaysOperations as OperationClass + elif api_version == '2017-11-01': + from .v2017_11_01.operations import ApplicationGatewaysOperations as OperationClass + elif api_version == '2018-01-01': + from .v2018_01_01.operations import ApplicationGatewaysOperations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import ApplicationGatewaysOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import ApplicationGatewaysOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import ApplicationGatewaysOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import ApplicationGatewaysOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import ApplicationGatewaysOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import ApplicationGatewaysOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import ApplicationGatewaysOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import ApplicationGatewaysOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import ApplicationGatewaysOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import ApplicationGatewaysOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import ApplicationGatewaysOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import ApplicationGatewaysOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import ApplicationGatewaysOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import ApplicationGatewaysOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import ApplicationGatewaysOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import ApplicationGatewaysOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import ApplicationGatewaysOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import ApplicationGatewaysOperations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import ApplicationGatewaysOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def application_security_groups(self): + """Instance depends on the API version: + + * 2017-09-01: :class:`ApplicationSecurityGroupsOperations` + * 2017-10-01: :class:`ApplicationSecurityGroupsOperations` + * 2017-11-01: :class:`ApplicationSecurityGroupsOperations` + * 2018-01-01: :class:`ApplicationSecurityGroupsOperations` + * 2018-02-01: :class:`ApplicationSecurityGroupsOperations` + * 2018-04-01: :class:`ApplicationSecurityGroupsOperations` + * 2018-06-01: :class:`ApplicationSecurityGroupsOperations` + * 2018-07-01: :class:`ApplicationSecurityGroupsOperations` + * 2018-08-01: :class:`ApplicationSecurityGroupsOperations` + * 2018-10-01: :class:`ApplicationSecurityGroupsOperations` + * 2018-11-01: :class:`ApplicationSecurityGroupsOperations` + * 2018-12-01: :class:`ApplicationSecurityGroupsOperations` + * 2019-02-01: :class:`ApplicationSecurityGroupsOperations` + * 2019-04-01: :class:`ApplicationSecurityGroupsOperations` + * 2019-06-01: :class:`ApplicationSecurityGroupsOperations` + * 2019-07-01: :class:`ApplicationSecurityGroupsOperations` + * 2019-08-01: :class:`ApplicationSecurityGroupsOperations` + * 2019-09-01: :class:`ApplicationSecurityGroupsOperations` + * 2019-11-01: :class:`ApplicationSecurityGroupsOperations` + * 2019-12-01: :class:`ApplicationSecurityGroupsOperations` + * 2020-03-01: :class:`ApplicationSecurityGroupsOperations` + * 2020-04-01: :class:`ApplicationSecurityGroupsOperations` + * 2020-05-01: :class:`ApplicationSecurityGroupsOperations` + """ + api_version = self._get_api_version('application_security_groups') + if api_version == '2017-09-01': + from .v2017_09_01.operations import ApplicationSecurityGroupsOperations as OperationClass + elif api_version == '2017-10-01': + from .v2017_10_01.operations import ApplicationSecurityGroupsOperations as OperationClass + elif api_version == '2017-11-01': + from .v2017_11_01.operations import ApplicationSecurityGroupsOperations as OperationClass + elif api_version == '2018-01-01': + from .v2018_01_01.operations import ApplicationSecurityGroupsOperations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import ApplicationSecurityGroupsOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import ApplicationSecurityGroupsOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import ApplicationSecurityGroupsOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import ApplicationSecurityGroupsOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import ApplicationSecurityGroupsOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import ApplicationSecurityGroupsOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import ApplicationSecurityGroupsOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import ApplicationSecurityGroupsOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import ApplicationSecurityGroupsOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import ApplicationSecurityGroupsOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import ApplicationSecurityGroupsOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import ApplicationSecurityGroupsOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import ApplicationSecurityGroupsOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import ApplicationSecurityGroupsOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import ApplicationSecurityGroupsOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import ApplicationSecurityGroupsOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import ApplicationSecurityGroupsOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import ApplicationSecurityGroupsOperations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import ApplicationSecurityGroupsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def available_delegations(self): + """Instance depends on the API version: + + * 2018-08-01: :class:`AvailableDelegationsOperations` + * 2018-10-01: :class:`AvailableDelegationsOperations` + * 2018-11-01: :class:`AvailableDelegationsOperations` + * 2018-12-01: :class:`AvailableDelegationsOperations` + * 2019-02-01: :class:`AvailableDelegationsOperations` + * 2019-04-01: :class:`AvailableDelegationsOperations` + * 2019-06-01: :class:`AvailableDelegationsOperations` + * 2019-07-01: :class:`AvailableDelegationsOperations` + * 2019-08-01: :class:`AvailableDelegationsOperations` + * 2019-09-01: :class:`AvailableDelegationsOperations` + * 2019-11-01: :class:`AvailableDelegationsOperations` + * 2019-12-01: :class:`AvailableDelegationsOperations` + * 2020-03-01: :class:`AvailableDelegationsOperations` + * 2020-04-01: :class:`AvailableDelegationsOperations` + * 2020-05-01: :class:`AvailableDelegationsOperations` + """ + api_version = self._get_api_version('available_delegations') + if api_version == '2018-08-01': + from .v2018_08_01.operations import AvailableDelegationsOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import AvailableDelegationsOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import AvailableDelegationsOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import AvailableDelegationsOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import AvailableDelegationsOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import AvailableDelegationsOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import AvailableDelegationsOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import AvailableDelegationsOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import AvailableDelegationsOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import AvailableDelegationsOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import AvailableDelegationsOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import AvailableDelegationsOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import AvailableDelegationsOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import AvailableDelegationsOperations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import AvailableDelegationsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def available_endpoint_services(self): + """Instance depends on the API version: + + * 2017-06-01: :class:`AvailableEndpointServicesOperations` + * 2017-08-01: :class:`AvailableEndpointServicesOperations` + * 2017-09-01: :class:`AvailableEndpointServicesOperations` + * 2017-10-01: :class:`AvailableEndpointServicesOperations` + * 2017-11-01: :class:`AvailableEndpointServicesOperations` + * 2018-01-01: :class:`AvailableEndpointServicesOperations` + * 2018-02-01: :class:`AvailableEndpointServicesOperations` + * 2018-04-01: :class:`AvailableEndpointServicesOperations` + * 2018-06-01: :class:`AvailableEndpointServicesOperations` + * 2018-07-01: :class:`AvailableEndpointServicesOperations` + * 2018-08-01: :class:`AvailableEndpointServicesOperations` + * 2018-10-01: :class:`AvailableEndpointServicesOperations` + * 2018-11-01: :class:`AvailableEndpointServicesOperations` + * 2018-12-01: :class:`AvailableEndpointServicesOperations` + * 2019-02-01: :class:`AvailableEndpointServicesOperations` + * 2019-04-01: :class:`AvailableEndpointServicesOperations` + * 2019-06-01: :class:`AvailableEndpointServicesOperations` + * 2019-07-01: :class:`AvailableEndpointServicesOperations` + * 2019-08-01: :class:`AvailableEndpointServicesOperations` + * 2019-09-01: :class:`AvailableEndpointServicesOperations` + * 2019-11-01: :class:`AvailableEndpointServicesOperations` + * 2019-12-01: :class:`AvailableEndpointServicesOperations` + * 2020-03-01: :class:`AvailableEndpointServicesOperations` + * 2020-04-01: :class:`AvailableEndpointServicesOperations` + * 2020-05-01: :class:`AvailableEndpointServicesOperations` + """ + api_version = self._get_api_version('available_endpoint_services') + if api_version == '2017-06-01': + from .v2017_06_01.operations import AvailableEndpointServicesOperations as OperationClass + elif api_version == '2017-08-01': + from .v2017_08_01.operations import AvailableEndpointServicesOperations as OperationClass + elif api_version == '2017-09-01': + from .v2017_09_01.operations import AvailableEndpointServicesOperations as OperationClass + elif api_version == '2017-10-01': + from .v2017_10_01.operations import AvailableEndpointServicesOperations as OperationClass + elif api_version == '2017-11-01': + from .v2017_11_01.operations import AvailableEndpointServicesOperations as OperationClass + elif api_version == '2018-01-01': + from .v2018_01_01.operations import AvailableEndpointServicesOperations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import AvailableEndpointServicesOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import AvailableEndpointServicesOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import AvailableEndpointServicesOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import AvailableEndpointServicesOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import AvailableEndpointServicesOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import AvailableEndpointServicesOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import AvailableEndpointServicesOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import AvailableEndpointServicesOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import AvailableEndpointServicesOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import AvailableEndpointServicesOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import AvailableEndpointServicesOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import AvailableEndpointServicesOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import AvailableEndpointServicesOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import AvailableEndpointServicesOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import AvailableEndpointServicesOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import AvailableEndpointServicesOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import AvailableEndpointServicesOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import AvailableEndpointServicesOperations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import AvailableEndpointServicesOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def available_private_endpoint_types(self): + """Instance depends on the API version: + + * 2019-04-01: :class:`AvailablePrivateEndpointTypesOperations` + * 2019-06-01: :class:`AvailablePrivateEndpointTypesOperations` + * 2019-07-01: :class:`AvailablePrivateEndpointTypesOperations` + * 2019-08-01: :class:`AvailablePrivateEndpointTypesOperations` + * 2019-09-01: :class:`AvailablePrivateEndpointTypesOperations` + * 2019-11-01: :class:`AvailablePrivateEndpointTypesOperations` + * 2019-12-01: :class:`AvailablePrivateEndpointTypesOperations` + * 2020-03-01: :class:`AvailablePrivateEndpointTypesOperations` + * 2020-04-01: :class:`AvailablePrivateEndpointTypesOperations` + * 2020-05-01: :class:`AvailablePrivateEndpointTypesOperations` + """ + api_version = self._get_api_version('available_private_endpoint_types') + if api_version == '2019-04-01': + from .v2019_04_01.operations import AvailablePrivateEndpointTypesOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import AvailablePrivateEndpointTypesOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import AvailablePrivateEndpointTypesOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import AvailablePrivateEndpointTypesOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import AvailablePrivateEndpointTypesOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import AvailablePrivateEndpointTypesOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import AvailablePrivateEndpointTypesOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import AvailablePrivateEndpointTypesOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import AvailablePrivateEndpointTypesOperations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import AvailablePrivateEndpointTypesOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def available_resource_group_delegations(self): + """Instance depends on the API version: + + * 2018-08-01: :class:`AvailableResourceGroupDelegationsOperations` + * 2018-10-01: :class:`AvailableResourceGroupDelegationsOperations` + * 2018-11-01: :class:`AvailableResourceGroupDelegationsOperations` + * 2018-12-01: :class:`AvailableResourceGroupDelegationsOperations` + * 2019-02-01: :class:`AvailableResourceGroupDelegationsOperations` + * 2019-04-01: :class:`AvailableResourceGroupDelegationsOperations` + * 2019-06-01: :class:`AvailableResourceGroupDelegationsOperations` + * 2019-07-01: :class:`AvailableResourceGroupDelegationsOperations` + * 2019-08-01: :class:`AvailableResourceGroupDelegationsOperations` + * 2019-09-01: :class:`AvailableResourceGroupDelegationsOperations` + * 2019-11-01: :class:`AvailableResourceGroupDelegationsOperations` + * 2019-12-01: :class:`AvailableResourceGroupDelegationsOperations` + * 2020-03-01: :class:`AvailableResourceGroupDelegationsOperations` + * 2020-04-01: :class:`AvailableResourceGroupDelegationsOperations` + * 2020-05-01: :class:`AvailableResourceGroupDelegationsOperations` + """ + api_version = self._get_api_version('available_resource_group_delegations') + if api_version == '2018-08-01': + from .v2018_08_01.operations import AvailableResourceGroupDelegationsOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import AvailableResourceGroupDelegationsOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import AvailableResourceGroupDelegationsOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import AvailableResourceGroupDelegationsOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import AvailableResourceGroupDelegationsOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import AvailableResourceGroupDelegationsOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import AvailableResourceGroupDelegationsOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import AvailableResourceGroupDelegationsOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import AvailableResourceGroupDelegationsOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import AvailableResourceGroupDelegationsOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import AvailableResourceGroupDelegationsOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import AvailableResourceGroupDelegationsOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import AvailableResourceGroupDelegationsOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import AvailableResourceGroupDelegationsOperations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import AvailableResourceGroupDelegationsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def available_service_aliases(self): + """Instance depends on the API version: + + * 2019-08-01: :class:`AvailableServiceAliasesOperations` + * 2019-09-01: :class:`AvailableServiceAliasesOperations` + * 2019-11-01: :class:`AvailableServiceAliasesOperations` + * 2019-12-01: :class:`AvailableServiceAliasesOperations` + * 2020-03-01: :class:`AvailableServiceAliasesOperations` + * 2020-04-01: :class:`AvailableServiceAliasesOperations` + * 2020-05-01: :class:`AvailableServiceAliasesOperations` + """ + api_version = self._get_api_version('available_service_aliases') + if api_version == '2019-08-01': + from .v2019_08_01.operations import AvailableServiceAliasesOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import AvailableServiceAliasesOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import AvailableServiceAliasesOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import AvailableServiceAliasesOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import AvailableServiceAliasesOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import AvailableServiceAliasesOperations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import AvailableServiceAliasesOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def azure_firewall_fqdn_tags(self): + """Instance depends on the API version: + + * 2018-08-01: :class:`AzureFirewallFqdnTagsOperations` + * 2018-10-01: :class:`AzureFirewallFqdnTagsOperations` + * 2018-11-01: :class:`AzureFirewallFqdnTagsOperations` + * 2018-12-01: :class:`AzureFirewallFqdnTagsOperations` + * 2019-02-01: :class:`AzureFirewallFqdnTagsOperations` + * 2019-04-01: :class:`AzureFirewallFqdnTagsOperations` + * 2019-06-01: :class:`AzureFirewallFqdnTagsOperations` + * 2019-07-01: :class:`AzureFirewallFqdnTagsOperations` + * 2019-08-01: :class:`AzureFirewallFqdnTagsOperations` + * 2019-09-01: :class:`AzureFirewallFqdnTagsOperations` + * 2019-11-01: :class:`AzureFirewallFqdnTagsOperations` + * 2019-12-01: :class:`AzureFirewallFqdnTagsOperations` + * 2020-03-01: :class:`AzureFirewallFqdnTagsOperations` + * 2020-04-01: :class:`AzureFirewallFqdnTagsOperations` + * 2020-05-01: :class:`AzureFirewallFqdnTagsOperations` + """ + api_version = self._get_api_version('azure_firewall_fqdn_tags') + if api_version == '2018-08-01': + from .v2018_08_01.operations import AzureFirewallFqdnTagsOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import AzureFirewallFqdnTagsOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import AzureFirewallFqdnTagsOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import AzureFirewallFqdnTagsOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import AzureFirewallFqdnTagsOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import AzureFirewallFqdnTagsOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import AzureFirewallFqdnTagsOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import AzureFirewallFqdnTagsOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import AzureFirewallFqdnTagsOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import AzureFirewallFqdnTagsOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import AzureFirewallFqdnTagsOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import AzureFirewallFqdnTagsOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import AzureFirewallFqdnTagsOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import AzureFirewallFqdnTagsOperations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import AzureFirewallFqdnTagsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def azure_firewalls(self): + """Instance depends on the API version: + + * 2018-04-01: :class:`AzureFirewallsOperations` + * 2018-06-01: :class:`AzureFirewallsOperations` + * 2018-07-01: :class:`AzureFirewallsOperations` + * 2018-08-01: :class:`AzureFirewallsOperations` + * 2018-10-01: :class:`AzureFirewallsOperations` + * 2018-11-01: :class:`AzureFirewallsOperations` + * 2018-12-01: :class:`AzureFirewallsOperations` + * 2019-02-01: :class:`AzureFirewallsOperations` + * 2019-04-01: :class:`AzureFirewallsOperations` + * 2019-06-01: :class:`AzureFirewallsOperations` + * 2019-07-01: :class:`AzureFirewallsOperations` + * 2019-08-01: :class:`AzureFirewallsOperations` + * 2019-09-01: :class:`AzureFirewallsOperations` + * 2019-11-01: :class:`AzureFirewallsOperations` + * 2019-12-01: :class:`AzureFirewallsOperations` + * 2020-03-01: :class:`AzureFirewallsOperations` + * 2020-04-01: :class:`AzureFirewallsOperations` + * 2020-05-01: :class:`AzureFirewallsOperations` + """ + api_version = self._get_api_version('azure_firewalls') + if api_version == '2018-04-01': + from .v2018_04_01.operations import AzureFirewallsOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import AzureFirewallsOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import AzureFirewallsOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import AzureFirewallsOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import AzureFirewallsOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import AzureFirewallsOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import AzureFirewallsOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import AzureFirewallsOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import AzureFirewallsOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import AzureFirewallsOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import AzureFirewallsOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import AzureFirewallsOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import AzureFirewallsOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import AzureFirewallsOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import AzureFirewallsOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import AzureFirewallsOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import AzureFirewallsOperations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import AzureFirewallsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def bastion_hosts(self): + """Instance depends on the API version: + + * 2019-04-01: :class:`BastionHostsOperations` + * 2019-06-01: :class:`BastionHostsOperations` + * 2019-07-01: :class:`BastionHostsOperations` + * 2019-08-01: :class:`BastionHostsOperations` + * 2019-09-01: :class:`BastionHostsOperations` + * 2019-11-01: :class:`BastionHostsOperations` + * 2019-12-01: :class:`BastionHostsOperations` + * 2020-03-01: :class:`BastionHostsOperations` + * 2020-04-01: :class:`BastionHostsOperations` + * 2020-05-01: :class:`BastionHostsOperations` + """ + api_version = self._get_api_version('bastion_hosts') + if api_version == '2019-04-01': + from .v2019_04_01.operations import BastionHostsOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import BastionHostsOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import BastionHostsOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import BastionHostsOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import BastionHostsOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import BastionHostsOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import BastionHostsOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import BastionHostsOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import BastionHostsOperations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import BastionHostsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def bgp_service_communities(self): + """Instance depends on the API version: + + * 2016-12-01: :class:`BgpServiceCommunitiesOperations` + * 2017-03-01: :class:`BgpServiceCommunitiesOperations` + * 2017-06-01: :class:`BgpServiceCommunitiesOperations` + * 2017-08-01: :class:`BgpServiceCommunitiesOperations` + * 2017-09-01: :class:`BgpServiceCommunitiesOperations` + * 2017-10-01: :class:`BgpServiceCommunitiesOperations` + * 2017-11-01: :class:`BgpServiceCommunitiesOperations` + * 2018-01-01: :class:`BgpServiceCommunitiesOperations` + * 2018-02-01: :class:`BgpServiceCommunitiesOperations` + * 2018-04-01: :class:`BgpServiceCommunitiesOperations` + * 2018-06-01: :class:`BgpServiceCommunitiesOperations` + * 2018-07-01: :class:`BgpServiceCommunitiesOperations` + * 2018-08-01: :class:`BgpServiceCommunitiesOperations` + * 2018-10-01: :class:`BgpServiceCommunitiesOperations` + * 2018-11-01: :class:`BgpServiceCommunitiesOperations` + * 2018-12-01: :class:`BgpServiceCommunitiesOperations` + * 2019-02-01: :class:`BgpServiceCommunitiesOperations` + * 2019-04-01: :class:`BgpServiceCommunitiesOperations` + * 2019-06-01: :class:`BgpServiceCommunitiesOperations` + * 2019-07-01: :class:`BgpServiceCommunitiesOperations` + * 2019-08-01: :class:`BgpServiceCommunitiesOperations` + * 2019-09-01: :class:`BgpServiceCommunitiesOperations` + * 2019-11-01: :class:`BgpServiceCommunitiesOperations` + * 2019-12-01: :class:`BgpServiceCommunitiesOperations` + * 2020-03-01: :class:`BgpServiceCommunitiesOperations` + * 2020-04-01: :class:`BgpServiceCommunitiesOperations` + * 2020-05-01: :class:`BgpServiceCommunitiesOperations` + """ + api_version = self._get_api_version('bgp_service_communities') + if api_version == '2016-12-01': + from .v2016_12_01.operations import BgpServiceCommunitiesOperations as OperationClass + elif api_version == '2017-03-01': + from .v2017_03_01.operations import BgpServiceCommunitiesOperations as OperationClass + elif api_version == '2017-06-01': + from .v2017_06_01.operations import BgpServiceCommunitiesOperations as OperationClass + elif api_version == '2017-08-01': + from .v2017_08_01.operations import BgpServiceCommunitiesOperations as OperationClass + elif api_version == '2017-09-01': + from .v2017_09_01.operations import BgpServiceCommunitiesOperations as OperationClass + elif api_version == '2017-10-01': + from .v2017_10_01.operations import BgpServiceCommunitiesOperations as OperationClass + elif api_version == '2017-11-01': + from .v2017_11_01.operations import BgpServiceCommunitiesOperations as OperationClass + elif api_version == '2018-01-01': + from .v2018_01_01.operations import BgpServiceCommunitiesOperations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import BgpServiceCommunitiesOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import BgpServiceCommunitiesOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import BgpServiceCommunitiesOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import BgpServiceCommunitiesOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import BgpServiceCommunitiesOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import BgpServiceCommunitiesOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import BgpServiceCommunitiesOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import BgpServiceCommunitiesOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import BgpServiceCommunitiesOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import BgpServiceCommunitiesOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import BgpServiceCommunitiesOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import BgpServiceCommunitiesOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import BgpServiceCommunitiesOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import BgpServiceCommunitiesOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import BgpServiceCommunitiesOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import BgpServiceCommunitiesOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import BgpServiceCommunitiesOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import BgpServiceCommunitiesOperations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import BgpServiceCommunitiesOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def connection_monitors(self): + """Instance depends on the API version: + + * 2017-10-01: :class:`ConnectionMonitorsOperations` + * 2017-11-01: :class:`ConnectionMonitorsOperations` + * 2018-01-01: :class:`ConnectionMonitorsOperations` + * 2018-02-01: :class:`ConnectionMonitorsOperations` + * 2018-04-01: :class:`ConnectionMonitorsOperations` + * 2018-06-01: :class:`ConnectionMonitorsOperations` + * 2018-07-01: :class:`ConnectionMonitorsOperations` + * 2018-08-01: :class:`ConnectionMonitorsOperations` + * 2018-10-01: :class:`ConnectionMonitorsOperations` + * 2018-11-01: :class:`ConnectionMonitorsOperations` + * 2018-12-01: :class:`ConnectionMonitorsOperations` + * 2019-02-01: :class:`ConnectionMonitorsOperations` + * 2019-04-01: :class:`ConnectionMonitorsOperations` + * 2019-06-01: :class:`ConnectionMonitorsOperations` + * 2019-07-01: :class:`ConnectionMonitorsOperations` + * 2019-08-01: :class:`ConnectionMonitorsOperations` + * 2019-09-01: :class:`ConnectionMonitorsOperations` + * 2019-11-01: :class:`ConnectionMonitorsOperations` + * 2019-12-01: :class:`ConnectionMonitorsOperations` + * 2020-03-01: :class:`ConnectionMonitorsOperations` + * 2020-04-01: :class:`ConnectionMonitorsOperations` + * 2020-05-01: :class:`ConnectionMonitorsOperations` + """ + api_version = self._get_api_version('connection_monitors') + if api_version == '2017-10-01': + from .v2017_10_01.operations import ConnectionMonitorsOperations as OperationClass + elif api_version == '2017-11-01': + from .v2017_11_01.operations import ConnectionMonitorsOperations as OperationClass + elif api_version == '2018-01-01': + from .v2018_01_01.operations import ConnectionMonitorsOperations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import ConnectionMonitorsOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import ConnectionMonitorsOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import ConnectionMonitorsOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import ConnectionMonitorsOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import ConnectionMonitorsOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import ConnectionMonitorsOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import ConnectionMonitorsOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import ConnectionMonitorsOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import ConnectionMonitorsOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import ConnectionMonitorsOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import ConnectionMonitorsOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import ConnectionMonitorsOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import ConnectionMonitorsOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import ConnectionMonitorsOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import ConnectionMonitorsOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import ConnectionMonitorsOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import ConnectionMonitorsOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import ConnectionMonitorsOperations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import ConnectionMonitorsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def ddos_custom_policies(self): + """Instance depends on the API version: + + * 2018-11-01: :class:`DdosCustomPoliciesOperations` + * 2018-12-01: :class:`DdosCustomPoliciesOperations` + * 2019-02-01: :class:`DdosCustomPoliciesOperations` + * 2019-04-01: :class:`DdosCustomPoliciesOperations` + * 2019-06-01: :class:`DdosCustomPoliciesOperations` + * 2019-07-01: :class:`DdosCustomPoliciesOperations` + * 2019-08-01: :class:`DdosCustomPoliciesOperations` + * 2019-09-01: :class:`DdosCustomPoliciesOperations` + * 2019-11-01: :class:`DdosCustomPoliciesOperations` + * 2019-12-01: :class:`DdosCustomPoliciesOperations` + * 2020-03-01: :class:`DdosCustomPoliciesOperations` + * 2020-04-01: :class:`DdosCustomPoliciesOperations` + * 2020-05-01: :class:`DdosCustomPoliciesOperations` + """ + api_version = self._get_api_version('ddos_custom_policies') + if api_version == '2018-11-01': + from .v2018_11_01.operations import DdosCustomPoliciesOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import DdosCustomPoliciesOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import DdosCustomPoliciesOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import DdosCustomPoliciesOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import DdosCustomPoliciesOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import DdosCustomPoliciesOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import DdosCustomPoliciesOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import DdosCustomPoliciesOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import DdosCustomPoliciesOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import DdosCustomPoliciesOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import DdosCustomPoliciesOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import DdosCustomPoliciesOperations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import DdosCustomPoliciesOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def ddos_protection_plans(self): + """Instance depends on the API version: + + * 2018-02-01: :class:`DdosProtectionPlansOperations` + * 2018-04-01: :class:`DdosProtectionPlansOperations` + * 2018-06-01: :class:`DdosProtectionPlansOperations` + * 2018-07-01: :class:`DdosProtectionPlansOperations` + * 2018-08-01: :class:`DdosProtectionPlansOperations` + * 2018-10-01: :class:`DdosProtectionPlansOperations` + * 2018-11-01: :class:`DdosProtectionPlansOperations` + * 2018-12-01: :class:`DdosProtectionPlansOperations` + * 2019-02-01: :class:`DdosProtectionPlansOperations` + * 2019-04-01: :class:`DdosProtectionPlansOperations` + * 2019-06-01: :class:`DdosProtectionPlansOperations` + * 2019-07-01: :class:`DdosProtectionPlansOperations` + * 2019-08-01: :class:`DdosProtectionPlansOperations` + * 2019-09-01: :class:`DdosProtectionPlansOperations` + * 2019-11-01: :class:`DdosProtectionPlansOperations` + * 2019-12-01: :class:`DdosProtectionPlansOperations` + * 2020-03-01: :class:`DdosProtectionPlansOperations` + * 2020-04-01: :class:`DdosProtectionPlansOperations` + * 2020-05-01: :class:`DdosProtectionPlansOperations` + """ + api_version = self._get_api_version('ddos_protection_plans') + if api_version == '2018-02-01': + from .v2018_02_01.operations import DdosProtectionPlansOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import DdosProtectionPlansOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import DdosProtectionPlansOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import DdosProtectionPlansOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import DdosProtectionPlansOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import DdosProtectionPlansOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import DdosProtectionPlansOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import DdosProtectionPlansOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import DdosProtectionPlansOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import DdosProtectionPlansOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import DdosProtectionPlansOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import DdosProtectionPlansOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import DdosProtectionPlansOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import DdosProtectionPlansOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import DdosProtectionPlansOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import DdosProtectionPlansOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import DdosProtectionPlansOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import DdosProtectionPlansOperations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import DdosProtectionPlansOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def default_security_rules(self): + """Instance depends on the API version: + + * 2017-06-01: :class:`DefaultSecurityRulesOperations` + * 2017-08-01: :class:`DefaultSecurityRulesOperations` + * 2017-09-01: :class:`DefaultSecurityRulesOperations` + * 2017-10-01: :class:`DefaultSecurityRulesOperations` + * 2017-11-01: :class:`DefaultSecurityRulesOperations` + * 2018-01-01: :class:`DefaultSecurityRulesOperations` + * 2018-02-01: :class:`DefaultSecurityRulesOperations` + * 2018-04-01: :class:`DefaultSecurityRulesOperations` + * 2018-06-01: :class:`DefaultSecurityRulesOperations` + * 2018-07-01: :class:`DefaultSecurityRulesOperations` + * 2018-08-01: :class:`DefaultSecurityRulesOperations` + * 2018-10-01: :class:`DefaultSecurityRulesOperations` + * 2018-11-01: :class:`DefaultSecurityRulesOperations` + * 2018-12-01: :class:`DefaultSecurityRulesOperations` + * 2019-02-01: :class:`DefaultSecurityRulesOperations` + * 2019-04-01: :class:`DefaultSecurityRulesOperations` + * 2019-06-01: :class:`DefaultSecurityRulesOperations` + * 2019-07-01: :class:`DefaultSecurityRulesOperations` + * 2019-08-01: :class:`DefaultSecurityRulesOperations` + * 2019-09-01: :class:`DefaultSecurityRulesOperations` + * 2019-11-01: :class:`DefaultSecurityRulesOperations` + * 2019-12-01: :class:`DefaultSecurityRulesOperations` + * 2020-03-01: :class:`DefaultSecurityRulesOperations` + * 2020-04-01: :class:`DefaultSecurityRulesOperations` + * 2020-05-01: :class:`DefaultSecurityRulesOperations` + """ + api_version = self._get_api_version('default_security_rules') + if api_version == '2017-06-01': + from .v2017_06_01.operations import DefaultSecurityRulesOperations as OperationClass + elif api_version == '2017-08-01': + from .v2017_08_01.operations import DefaultSecurityRulesOperations as OperationClass + elif api_version == '2017-09-01': + from .v2017_09_01.operations import DefaultSecurityRulesOperations as OperationClass + elif api_version == '2017-10-01': + from .v2017_10_01.operations import DefaultSecurityRulesOperations as OperationClass + elif api_version == '2017-11-01': + from .v2017_11_01.operations import DefaultSecurityRulesOperations as OperationClass + elif api_version == '2018-01-01': + from .v2018_01_01.operations import DefaultSecurityRulesOperations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import DefaultSecurityRulesOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import DefaultSecurityRulesOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import DefaultSecurityRulesOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import DefaultSecurityRulesOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import DefaultSecurityRulesOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import DefaultSecurityRulesOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import DefaultSecurityRulesOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import DefaultSecurityRulesOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import DefaultSecurityRulesOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import DefaultSecurityRulesOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import DefaultSecurityRulesOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import DefaultSecurityRulesOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import DefaultSecurityRulesOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import DefaultSecurityRulesOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import DefaultSecurityRulesOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import DefaultSecurityRulesOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import DefaultSecurityRulesOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import DefaultSecurityRulesOperations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import DefaultSecurityRulesOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def express_route_circuit_authorizations(self): + """Instance depends on the API version: + + * 2015-06-15: :class:`ExpressRouteCircuitAuthorizationsOperations` + * 2016-09-01: :class:`ExpressRouteCircuitAuthorizationsOperations` + * 2016-12-01: :class:`ExpressRouteCircuitAuthorizationsOperations` + * 2017-03-01: :class:`ExpressRouteCircuitAuthorizationsOperations` + * 2017-06-01: :class:`ExpressRouteCircuitAuthorizationsOperations` + * 2017-08-01: :class:`ExpressRouteCircuitAuthorizationsOperations` + * 2017-09-01: :class:`ExpressRouteCircuitAuthorizationsOperations` + * 2017-10-01: :class:`ExpressRouteCircuitAuthorizationsOperations` + * 2017-11-01: :class:`ExpressRouteCircuitAuthorizationsOperations` + * 2018-01-01: :class:`ExpressRouteCircuitAuthorizationsOperations` + * 2018-02-01: :class:`ExpressRouteCircuitAuthorizationsOperations` + * 2018-04-01: :class:`ExpressRouteCircuitAuthorizationsOperations` + * 2018-06-01: :class:`ExpressRouteCircuitAuthorizationsOperations` + * 2018-07-01: :class:`ExpressRouteCircuitAuthorizationsOperations` + * 2018-08-01: :class:`ExpressRouteCircuitAuthorizationsOperations` + * 2018-10-01: :class:`ExpressRouteCircuitAuthorizationsOperations` + * 2018-11-01: :class:`ExpressRouteCircuitAuthorizationsOperations` + * 2018-12-01: :class:`ExpressRouteCircuitAuthorizationsOperations` + * 2019-02-01: :class:`ExpressRouteCircuitAuthorizationsOperations` + * 2019-04-01: :class:`ExpressRouteCircuitAuthorizationsOperations` + * 2019-06-01: :class:`ExpressRouteCircuitAuthorizationsOperations` + * 2019-07-01: :class:`ExpressRouteCircuitAuthorizationsOperations` + * 2019-08-01: :class:`ExpressRouteCircuitAuthorizationsOperations` + * 2019-09-01: :class:`ExpressRouteCircuitAuthorizationsOperations` + * 2019-11-01: :class:`ExpressRouteCircuitAuthorizationsOperations` + * 2019-12-01: :class:`ExpressRouteCircuitAuthorizationsOperations` + * 2020-03-01: :class:`ExpressRouteCircuitAuthorizationsOperations` + * 2020-04-01: :class:`ExpressRouteCircuitAuthorizationsOperations` + * 2020-05-01: :class:`ExpressRouteCircuitAuthorizationsOperations` + """ + api_version = self._get_api_version('express_route_circuit_authorizations') + if api_version == '2015-06-15': + from .v2015_06_15.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass + elif api_version == '2016-09-01': + from .v2016_09_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass + elif api_version == '2016-12-01': + from .v2016_12_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass + elif api_version == '2017-03-01': + from .v2017_03_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass + elif api_version == '2017-06-01': + from .v2017_06_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass + elif api_version == '2017-08-01': + from .v2017_08_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass + elif api_version == '2017-09-01': + from .v2017_09_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass + elif api_version == '2017-10-01': + from .v2017_10_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass + elif api_version == '2017-11-01': + from .v2017_11_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass + elif api_version == '2018-01-01': + from .v2018_01_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def express_route_circuit_connections(self): + """Instance depends on the API version: + + * 2018-02-01: :class:`ExpressRouteCircuitConnectionsOperations` + * 2018-04-01: :class:`ExpressRouteCircuitConnectionsOperations` + * 2018-06-01: :class:`ExpressRouteCircuitConnectionsOperations` + * 2018-07-01: :class:`ExpressRouteCircuitConnectionsOperations` + * 2018-08-01: :class:`ExpressRouteCircuitConnectionsOperations` + * 2018-10-01: :class:`ExpressRouteCircuitConnectionsOperations` + * 2018-11-01: :class:`ExpressRouteCircuitConnectionsOperations` + * 2018-12-01: :class:`ExpressRouteCircuitConnectionsOperations` + * 2019-02-01: :class:`ExpressRouteCircuitConnectionsOperations` + * 2019-04-01: :class:`ExpressRouteCircuitConnectionsOperations` + * 2019-06-01: :class:`ExpressRouteCircuitConnectionsOperations` + * 2019-07-01: :class:`ExpressRouteCircuitConnectionsOperations` + * 2019-08-01: :class:`ExpressRouteCircuitConnectionsOperations` + * 2019-09-01: :class:`ExpressRouteCircuitConnectionsOperations` + * 2019-11-01: :class:`ExpressRouteCircuitConnectionsOperations` + * 2019-12-01: :class:`ExpressRouteCircuitConnectionsOperations` + * 2020-03-01: :class:`ExpressRouteCircuitConnectionsOperations` + * 2020-04-01: :class:`ExpressRouteCircuitConnectionsOperations` + * 2020-05-01: :class:`ExpressRouteCircuitConnectionsOperations` + """ + api_version = self._get_api_version('express_route_circuit_connections') + if api_version == '2018-02-01': + from .v2018_02_01.operations import ExpressRouteCircuitConnectionsOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import ExpressRouteCircuitConnectionsOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import ExpressRouteCircuitConnectionsOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import ExpressRouteCircuitConnectionsOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import ExpressRouteCircuitConnectionsOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import ExpressRouteCircuitConnectionsOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import ExpressRouteCircuitConnectionsOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import ExpressRouteCircuitConnectionsOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import ExpressRouteCircuitConnectionsOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import ExpressRouteCircuitConnectionsOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import ExpressRouteCircuitConnectionsOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import ExpressRouteCircuitConnectionsOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import ExpressRouteCircuitConnectionsOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import ExpressRouteCircuitConnectionsOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import ExpressRouteCircuitConnectionsOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import ExpressRouteCircuitConnectionsOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import ExpressRouteCircuitConnectionsOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import ExpressRouteCircuitConnectionsOperations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import ExpressRouteCircuitConnectionsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def express_route_circuit_peerings(self): + """Instance depends on the API version: + + * 2015-06-15: :class:`ExpressRouteCircuitPeeringsOperations` + * 2016-09-01: :class:`ExpressRouteCircuitPeeringsOperations` + * 2016-12-01: :class:`ExpressRouteCircuitPeeringsOperations` + * 2017-03-01: :class:`ExpressRouteCircuitPeeringsOperations` + * 2017-06-01: :class:`ExpressRouteCircuitPeeringsOperations` + * 2017-08-01: :class:`ExpressRouteCircuitPeeringsOperations` + * 2017-09-01: :class:`ExpressRouteCircuitPeeringsOperations` + * 2017-10-01: :class:`ExpressRouteCircuitPeeringsOperations` + * 2017-11-01: :class:`ExpressRouteCircuitPeeringsOperations` + * 2018-01-01: :class:`ExpressRouteCircuitPeeringsOperations` + * 2018-02-01: :class:`ExpressRouteCircuitPeeringsOperations` + * 2018-04-01: :class:`ExpressRouteCircuitPeeringsOperations` + * 2018-06-01: :class:`ExpressRouteCircuitPeeringsOperations` + * 2018-07-01: :class:`ExpressRouteCircuitPeeringsOperations` + * 2018-08-01: :class:`ExpressRouteCircuitPeeringsOperations` + * 2018-10-01: :class:`ExpressRouteCircuitPeeringsOperations` + * 2018-11-01: :class:`ExpressRouteCircuitPeeringsOperations` + * 2018-12-01: :class:`ExpressRouteCircuitPeeringsOperations` + * 2019-02-01: :class:`ExpressRouteCircuitPeeringsOperations` + * 2019-04-01: :class:`ExpressRouteCircuitPeeringsOperations` + * 2019-06-01: :class:`ExpressRouteCircuitPeeringsOperations` + * 2019-07-01: :class:`ExpressRouteCircuitPeeringsOperations` + * 2019-08-01: :class:`ExpressRouteCircuitPeeringsOperations` + * 2019-09-01: :class:`ExpressRouteCircuitPeeringsOperations` + * 2019-11-01: :class:`ExpressRouteCircuitPeeringsOperations` + * 2019-12-01: :class:`ExpressRouteCircuitPeeringsOperations` + * 2020-03-01: :class:`ExpressRouteCircuitPeeringsOperations` + * 2020-04-01: :class:`ExpressRouteCircuitPeeringsOperations` + * 2020-05-01: :class:`ExpressRouteCircuitPeeringsOperations` + """ + api_version = self._get_api_version('express_route_circuit_peerings') + if api_version == '2015-06-15': + from .v2015_06_15.operations import ExpressRouteCircuitPeeringsOperations as OperationClass + elif api_version == '2016-09-01': + from .v2016_09_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass + elif api_version == '2016-12-01': + from .v2016_12_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass + elif api_version == '2017-03-01': + from .v2017_03_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass + elif api_version == '2017-06-01': + from .v2017_06_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass + elif api_version == '2017-08-01': + from .v2017_08_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass + elif api_version == '2017-09-01': + from .v2017_09_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass + elif api_version == '2017-10-01': + from .v2017_10_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass + elif api_version == '2017-11-01': + from .v2017_11_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass + elif api_version == '2018-01-01': + from .v2018_01_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def express_route_circuits(self): + """Instance depends on the API version: + + * 2015-06-15: :class:`ExpressRouteCircuitsOperations` + * 2016-09-01: :class:`ExpressRouteCircuitsOperations` + * 2016-12-01: :class:`ExpressRouteCircuitsOperations` + * 2017-03-01: :class:`ExpressRouteCircuitsOperations` + * 2017-06-01: :class:`ExpressRouteCircuitsOperations` + * 2017-08-01: :class:`ExpressRouteCircuitsOperations` + * 2017-09-01: :class:`ExpressRouteCircuitsOperations` + * 2017-10-01: :class:`ExpressRouteCircuitsOperations` + * 2017-11-01: :class:`ExpressRouteCircuitsOperations` + * 2018-01-01: :class:`ExpressRouteCircuitsOperations` + * 2018-02-01: :class:`ExpressRouteCircuitsOperations` + * 2018-04-01: :class:`ExpressRouteCircuitsOperations` + * 2018-06-01: :class:`ExpressRouteCircuitsOperations` + * 2018-07-01: :class:`ExpressRouteCircuitsOperations` + * 2018-08-01: :class:`ExpressRouteCircuitsOperations` + * 2018-10-01: :class:`ExpressRouteCircuitsOperations` + * 2018-11-01: :class:`ExpressRouteCircuitsOperations` + * 2018-12-01: :class:`ExpressRouteCircuitsOperations` + * 2019-02-01: :class:`ExpressRouteCircuitsOperations` + * 2019-04-01: :class:`ExpressRouteCircuitsOperations` + * 2019-06-01: :class:`ExpressRouteCircuitsOperations` + * 2019-07-01: :class:`ExpressRouteCircuitsOperations` + * 2019-08-01: :class:`ExpressRouteCircuitsOperations` + * 2019-09-01: :class:`ExpressRouteCircuitsOperations` + * 2019-11-01: :class:`ExpressRouteCircuitsOperations` + * 2019-12-01: :class:`ExpressRouteCircuitsOperations` + * 2020-03-01: :class:`ExpressRouteCircuitsOperations` + * 2020-04-01: :class:`ExpressRouteCircuitsOperations` + * 2020-05-01: :class:`ExpressRouteCircuitsOperations` + """ + api_version = self._get_api_version('express_route_circuits') + if api_version == '2015-06-15': + from .v2015_06_15.operations import ExpressRouteCircuitsOperations as OperationClass + elif api_version == '2016-09-01': + from .v2016_09_01.operations import ExpressRouteCircuitsOperations as OperationClass + elif api_version == '2016-12-01': + from .v2016_12_01.operations import ExpressRouteCircuitsOperations as OperationClass + elif api_version == '2017-03-01': + from .v2017_03_01.operations import ExpressRouteCircuitsOperations as OperationClass + elif api_version == '2017-06-01': + from .v2017_06_01.operations import ExpressRouteCircuitsOperations as OperationClass + elif api_version == '2017-08-01': + from .v2017_08_01.operations import ExpressRouteCircuitsOperations as OperationClass + elif api_version == '2017-09-01': + from .v2017_09_01.operations import ExpressRouteCircuitsOperations as OperationClass + elif api_version == '2017-10-01': + from .v2017_10_01.operations import ExpressRouteCircuitsOperations as OperationClass + elif api_version == '2017-11-01': + from .v2017_11_01.operations import ExpressRouteCircuitsOperations as OperationClass + elif api_version == '2018-01-01': + from .v2018_01_01.operations import ExpressRouteCircuitsOperations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import ExpressRouteCircuitsOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import ExpressRouteCircuitsOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import ExpressRouteCircuitsOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import ExpressRouteCircuitsOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import ExpressRouteCircuitsOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import ExpressRouteCircuitsOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import ExpressRouteCircuitsOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import ExpressRouteCircuitsOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import ExpressRouteCircuitsOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import ExpressRouteCircuitsOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import ExpressRouteCircuitsOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import ExpressRouteCircuitsOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import ExpressRouteCircuitsOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import ExpressRouteCircuitsOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import ExpressRouteCircuitsOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import ExpressRouteCircuitsOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import ExpressRouteCircuitsOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import ExpressRouteCircuitsOperations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import ExpressRouteCircuitsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def express_route_connections(self): + """Instance depends on the API version: + + * 2018-08-01: :class:`ExpressRouteConnectionsOperations` + * 2018-10-01: :class:`ExpressRouteConnectionsOperations` + * 2018-11-01: :class:`ExpressRouteConnectionsOperations` + * 2018-12-01: :class:`ExpressRouteConnectionsOperations` + * 2019-02-01: :class:`ExpressRouteConnectionsOperations` + * 2019-04-01: :class:`ExpressRouteConnectionsOperations` + * 2019-06-01: :class:`ExpressRouteConnectionsOperations` + * 2019-07-01: :class:`ExpressRouteConnectionsOperations` + * 2019-08-01: :class:`ExpressRouteConnectionsOperations` + * 2019-09-01: :class:`ExpressRouteConnectionsOperations` + * 2019-11-01: :class:`ExpressRouteConnectionsOperations` + * 2019-12-01: :class:`ExpressRouteConnectionsOperations` + * 2020-03-01: :class:`ExpressRouteConnectionsOperations` + * 2020-04-01: :class:`ExpressRouteConnectionsOperations` + * 2020-05-01: :class:`ExpressRouteConnectionsOperations` + """ + api_version = self._get_api_version('express_route_connections') + if api_version == '2018-08-01': + from .v2018_08_01.operations import ExpressRouteConnectionsOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import ExpressRouteConnectionsOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import ExpressRouteConnectionsOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import ExpressRouteConnectionsOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import ExpressRouteConnectionsOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import ExpressRouteConnectionsOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import ExpressRouteConnectionsOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import ExpressRouteConnectionsOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import ExpressRouteConnectionsOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import ExpressRouteConnectionsOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import ExpressRouteConnectionsOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import ExpressRouteConnectionsOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import ExpressRouteConnectionsOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import ExpressRouteConnectionsOperations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import ExpressRouteConnectionsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def express_route_cross_connection_peerings(self): + """Instance depends on the API version: + + * 2018-02-01: :class:`ExpressRouteCrossConnectionPeeringsOperations` + * 2018-04-01: :class:`ExpressRouteCrossConnectionPeeringsOperations` + * 2018-06-01: :class:`ExpressRouteCrossConnectionPeeringsOperations` + * 2018-07-01: :class:`ExpressRouteCrossConnectionPeeringsOperations` + * 2018-08-01: :class:`ExpressRouteCrossConnectionPeeringsOperations` + * 2018-10-01: :class:`ExpressRouteCrossConnectionPeeringsOperations` + * 2018-11-01: :class:`ExpressRouteCrossConnectionPeeringsOperations` + * 2018-12-01: :class:`ExpressRouteCrossConnectionPeeringsOperations` + * 2019-02-01: :class:`ExpressRouteCrossConnectionPeeringsOperations` + * 2019-04-01: :class:`ExpressRouteCrossConnectionPeeringsOperations` + * 2019-06-01: :class:`ExpressRouteCrossConnectionPeeringsOperations` + * 2019-07-01: :class:`ExpressRouteCrossConnectionPeeringsOperations` + * 2019-08-01: :class:`ExpressRouteCrossConnectionPeeringsOperations` + * 2019-09-01: :class:`ExpressRouteCrossConnectionPeeringsOperations` + * 2019-11-01: :class:`ExpressRouteCrossConnectionPeeringsOperations` + * 2019-12-01: :class:`ExpressRouteCrossConnectionPeeringsOperations` + * 2020-03-01: :class:`ExpressRouteCrossConnectionPeeringsOperations` + * 2020-04-01: :class:`ExpressRouteCrossConnectionPeeringsOperations` + * 2020-05-01: :class:`ExpressRouteCrossConnectionPeeringsOperations` + """ + api_version = self._get_api_version('express_route_cross_connection_peerings') + if api_version == '2018-02-01': + from .v2018_02_01.operations import ExpressRouteCrossConnectionPeeringsOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import ExpressRouteCrossConnectionPeeringsOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import ExpressRouteCrossConnectionPeeringsOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import ExpressRouteCrossConnectionPeeringsOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import ExpressRouteCrossConnectionPeeringsOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import ExpressRouteCrossConnectionPeeringsOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import ExpressRouteCrossConnectionPeeringsOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import ExpressRouteCrossConnectionPeeringsOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import ExpressRouteCrossConnectionPeeringsOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import ExpressRouteCrossConnectionPeeringsOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import ExpressRouteCrossConnectionPeeringsOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import ExpressRouteCrossConnectionPeeringsOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import ExpressRouteCrossConnectionPeeringsOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import ExpressRouteCrossConnectionPeeringsOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import ExpressRouteCrossConnectionPeeringsOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import ExpressRouteCrossConnectionPeeringsOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import ExpressRouteCrossConnectionPeeringsOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import ExpressRouteCrossConnectionPeeringsOperations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import ExpressRouteCrossConnectionPeeringsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def express_route_cross_connections(self): + """Instance depends on the API version: + + * 2018-02-01: :class:`ExpressRouteCrossConnectionsOperations` + * 2018-04-01: :class:`ExpressRouteCrossConnectionsOperations` + * 2018-06-01: :class:`ExpressRouteCrossConnectionsOperations` + * 2018-07-01: :class:`ExpressRouteCrossConnectionsOperations` + * 2018-08-01: :class:`ExpressRouteCrossConnectionsOperations` + * 2018-10-01: :class:`ExpressRouteCrossConnectionsOperations` + * 2018-11-01: :class:`ExpressRouteCrossConnectionsOperations` + * 2018-12-01: :class:`ExpressRouteCrossConnectionsOperations` + * 2019-02-01: :class:`ExpressRouteCrossConnectionsOperations` + * 2019-04-01: :class:`ExpressRouteCrossConnectionsOperations` + * 2019-06-01: :class:`ExpressRouteCrossConnectionsOperations` + * 2019-07-01: :class:`ExpressRouteCrossConnectionsOperations` + * 2019-08-01: :class:`ExpressRouteCrossConnectionsOperations` + * 2019-09-01: :class:`ExpressRouteCrossConnectionsOperations` + * 2019-11-01: :class:`ExpressRouteCrossConnectionsOperations` + * 2019-12-01: :class:`ExpressRouteCrossConnectionsOperations` + * 2020-03-01: :class:`ExpressRouteCrossConnectionsOperations` + * 2020-04-01: :class:`ExpressRouteCrossConnectionsOperations` + * 2020-05-01: :class:`ExpressRouteCrossConnectionsOperations` + """ + api_version = self._get_api_version('express_route_cross_connections') + if api_version == '2018-02-01': + from .v2018_02_01.operations import ExpressRouteCrossConnectionsOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import ExpressRouteCrossConnectionsOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import ExpressRouteCrossConnectionsOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import ExpressRouteCrossConnectionsOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import ExpressRouteCrossConnectionsOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import ExpressRouteCrossConnectionsOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import ExpressRouteCrossConnectionsOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import ExpressRouteCrossConnectionsOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import ExpressRouteCrossConnectionsOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import ExpressRouteCrossConnectionsOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import ExpressRouteCrossConnectionsOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import ExpressRouteCrossConnectionsOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import ExpressRouteCrossConnectionsOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import ExpressRouteCrossConnectionsOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import ExpressRouteCrossConnectionsOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import ExpressRouteCrossConnectionsOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import ExpressRouteCrossConnectionsOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import ExpressRouteCrossConnectionsOperations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import ExpressRouteCrossConnectionsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def express_route_gateways(self): + """Instance depends on the API version: + + * 2018-08-01: :class:`ExpressRouteGatewaysOperations` + * 2018-10-01: :class:`ExpressRouteGatewaysOperations` + * 2018-11-01: :class:`ExpressRouteGatewaysOperations` + * 2018-12-01: :class:`ExpressRouteGatewaysOperations` + * 2019-02-01: :class:`ExpressRouteGatewaysOperations` + * 2019-04-01: :class:`ExpressRouteGatewaysOperations` + * 2019-06-01: :class:`ExpressRouteGatewaysOperations` + * 2019-07-01: :class:`ExpressRouteGatewaysOperations` + * 2019-08-01: :class:`ExpressRouteGatewaysOperations` + * 2019-09-01: :class:`ExpressRouteGatewaysOperations` + * 2019-11-01: :class:`ExpressRouteGatewaysOperations` + * 2019-12-01: :class:`ExpressRouteGatewaysOperations` + * 2020-03-01: :class:`ExpressRouteGatewaysOperations` + * 2020-04-01: :class:`ExpressRouteGatewaysOperations` + * 2020-05-01: :class:`ExpressRouteGatewaysOperations` + """ + api_version = self._get_api_version('express_route_gateways') + if api_version == '2018-08-01': + from .v2018_08_01.operations import ExpressRouteGatewaysOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import ExpressRouteGatewaysOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import ExpressRouteGatewaysOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import ExpressRouteGatewaysOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import ExpressRouteGatewaysOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import ExpressRouteGatewaysOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import ExpressRouteGatewaysOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import ExpressRouteGatewaysOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import ExpressRouteGatewaysOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import ExpressRouteGatewaysOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import ExpressRouteGatewaysOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import ExpressRouteGatewaysOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import ExpressRouteGatewaysOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import ExpressRouteGatewaysOperations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import ExpressRouteGatewaysOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def express_route_links(self): + """Instance depends on the API version: + + * 2018-08-01: :class:`ExpressRouteLinksOperations` + * 2018-10-01: :class:`ExpressRouteLinksOperations` + * 2018-11-01: :class:`ExpressRouteLinksOperations` + * 2018-12-01: :class:`ExpressRouteLinksOperations` + * 2019-02-01: :class:`ExpressRouteLinksOperations` + * 2019-04-01: :class:`ExpressRouteLinksOperations` + * 2019-06-01: :class:`ExpressRouteLinksOperations` + * 2019-07-01: :class:`ExpressRouteLinksOperations` + * 2019-08-01: :class:`ExpressRouteLinksOperations` + * 2019-09-01: :class:`ExpressRouteLinksOperations` + * 2019-11-01: :class:`ExpressRouteLinksOperations` + * 2019-12-01: :class:`ExpressRouteLinksOperations` + * 2020-03-01: :class:`ExpressRouteLinksOperations` + * 2020-04-01: :class:`ExpressRouteLinksOperations` + * 2020-05-01: :class:`ExpressRouteLinksOperations` + """ + api_version = self._get_api_version('express_route_links') + if api_version == '2018-08-01': + from .v2018_08_01.operations import ExpressRouteLinksOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import ExpressRouteLinksOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import ExpressRouteLinksOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import ExpressRouteLinksOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import ExpressRouteLinksOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import ExpressRouteLinksOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import ExpressRouteLinksOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import ExpressRouteLinksOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import ExpressRouteLinksOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import ExpressRouteLinksOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import ExpressRouteLinksOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import ExpressRouteLinksOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import ExpressRouteLinksOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import ExpressRouteLinksOperations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import ExpressRouteLinksOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def express_route_ports(self): + """Instance depends on the API version: + + * 2018-08-01: :class:`ExpressRoutePortsOperations` + * 2018-10-01: :class:`ExpressRoutePortsOperations` + * 2018-11-01: :class:`ExpressRoutePortsOperations` + * 2018-12-01: :class:`ExpressRoutePortsOperations` + * 2019-02-01: :class:`ExpressRoutePortsOperations` + * 2019-04-01: :class:`ExpressRoutePortsOperations` + * 2019-06-01: :class:`ExpressRoutePortsOperations` + * 2019-07-01: :class:`ExpressRoutePortsOperations` + * 2019-08-01: :class:`ExpressRoutePortsOperations` + * 2019-09-01: :class:`ExpressRoutePortsOperations` + * 2019-11-01: :class:`ExpressRoutePortsOperations` + * 2019-12-01: :class:`ExpressRoutePortsOperations` + * 2020-03-01: :class:`ExpressRoutePortsOperations` + * 2020-04-01: :class:`ExpressRoutePortsOperations` + * 2020-05-01: :class:`ExpressRoutePortsOperations` + """ + api_version = self._get_api_version('express_route_ports') + if api_version == '2018-08-01': + from .v2018_08_01.operations import ExpressRoutePortsOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import ExpressRoutePortsOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import ExpressRoutePortsOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import ExpressRoutePortsOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import ExpressRoutePortsOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import ExpressRoutePortsOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import ExpressRoutePortsOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import ExpressRoutePortsOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import ExpressRoutePortsOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import ExpressRoutePortsOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import ExpressRoutePortsOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import ExpressRoutePortsOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import ExpressRoutePortsOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import ExpressRoutePortsOperations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import ExpressRoutePortsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def express_route_ports_locations(self): + """Instance depends on the API version: + + * 2018-08-01: :class:`ExpressRoutePortsLocationsOperations` + * 2018-10-01: :class:`ExpressRoutePortsLocationsOperations` + * 2018-11-01: :class:`ExpressRoutePortsLocationsOperations` + * 2018-12-01: :class:`ExpressRoutePortsLocationsOperations` + * 2019-02-01: :class:`ExpressRoutePortsLocationsOperations` + * 2019-04-01: :class:`ExpressRoutePortsLocationsOperations` + * 2019-06-01: :class:`ExpressRoutePortsLocationsOperations` + * 2019-07-01: :class:`ExpressRoutePortsLocationsOperations` + * 2019-08-01: :class:`ExpressRoutePortsLocationsOperations` + * 2019-09-01: :class:`ExpressRoutePortsLocationsOperations` + * 2019-11-01: :class:`ExpressRoutePortsLocationsOperations` + * 2019-12-01: :class:`ExpressRoutePortsLocationsOperations` + * 2020-03-01: :class:`ExpressRoutePortsLocationsOperations` + * 2020-04-01: :class:`ExpressRoutePortsLocationsOperations` + * 2020-05-01: :class:`ExpressRoutePortsLocationsOperations` + """ + api_version = self._get_api_version('express_route_ports_locations') + if api_version == '2018-08-01': + from .v2018_08_01.operations import ExpressRoutePortsLocationsOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import ExpressRoutePortsLocationsOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import ExpressRoutePortsLocationsOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import ExpressRoutePortsLocationsOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import ExpressRoutePortsLocationsOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import ExpressRoutePortsLocationsOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import ExpressRoutePortsLocationsOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import ExpressRoutePortsLocationsOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import ExpressRoutePortsLocationsOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import ExpressRoutePortsLocationsOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import ExpressRoutePortsLocationsOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import ExpressRoutePortsLocationsOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import ExpressRoutePortsLocationsOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import ExpressRoutePortsLocationsOperations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import ExpressRoutePortsLocationsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def express_route_service_providers(self): + """Instance depends on the API version: + + * 2015-06-15: :class:`ExpressRouteServiceProvidersOperations` + * 2016-09-01: :class:`ExpressRouteServiceProvidersOperations` + * 2016-12-01: :class:`ExpressRouteServiceProvidersOperations` + * 2017-03-01: :class:`ExpressRouteServiceProvidersOperations` + * 2017-06-01: :class:`ExpressRouteServiceProvidersOperations` + * 2017-08-01: :class:`ExpressRouteServiceProvidersOperations` + * 2017-09-01: :class:`ExpressRouteServiceProvidersOperations` + * 2017-10-01: :class:`ExpressRouteServiceProvidersOperations` + * 2017-11-01: :class:`ExpressRouteServiceProvidersOperations` + * 2018-01-01: :class:`ExpressRouteServiceProvidersOperations` + * 2018-02-01: :class:`ExpressRouteServiceProvidersOperations` + * 2018-04-01: :class:`ExpressRouteServiceProvidersOperations` + * 2018-06-01: :class:`ExpressRouteServiceProvidersOperations` + * 2018-07-01: :class:`ExpressRouteServiceProvidersOperations` + * 2018-08-01: :class:`ExpressRouteServiceProvidersOperations` + * 2018-10-01: :class:`ExpressRouteServiceProvidersOperations` + * 2018-11-01: :class:`ExpressRouteServiceProvidersOperations` + * 2018-12-01: :class:`ExpressRouteServiceProvidersOperations` + * 2019-02-01: :class:`ExpressRouteServiceProvidersOperations` + * 2019-04-01: :class:`ExpressRouteServiceProvidersOperations` + * 2019-06-01: :class:`ExpressRouteServiceProvidersOperations` + * 2019-07-01: :class:`ExpressRouteServiceProvidersOperations` + * 2019-08-01: :class:`ExpressRouteServiceProvidersOperations` + * 2019-09-01: :class:`ExpressRouteServiceProvidersOperations` + * 2019-11-01: :class:`ExpressRouteServiceProvidersOperations` + * 2019-12-01: :class:`ExpressRouteServiceProvidersOperations` + * 2020-03-01: :class:`ExpressRouteServiceProvidersOperations` + * 2020-04-01: :class:`ExpressRouteServiceProvidersOperations` + * 2020-05-01: :class:`ExpressRouteServiceProvidersOperations` + """ + api_version = self._get_api_version('express_route_service_providers') + if api_version == '2015-06-15': + from .v2015_06_15.operations import ExpressRouteServiceProvidersOperations as OperationClass + elif api_version == '2016-09-01': + from .v2016_09_01.operations import ExpressRouteServiceProvidersOperations as OperationClass + elif api_version == '2016-12-01': + from .v2016_12_01.operations import ExpressRouteServiceProvidersOperations as OperationClass + elif api_version == '2017-03-01': + from .v2017_03_01.operations import ExpressRouteServiceProvidersOperations as OperationClass + elif api_version == '2017-06-01': + from .v2017_06_01.operations import ExpressRouteServiceProvidersOperations as OperationClass + elif api_version == '2017-08-01': + from .v2017_08_01.operations import ExpressRouteServiceProvidersOperations as OperationClass + elif api_version == '2017-09-01': + from .v2017_09_01.operations import ExpressRouteServiceProvidersOperations as OperationClass + elif api_version == '2017-10-01': + from .v2017_10_01.operations import ExpressRouteServiceProvidersOperations as OperationClass + elif api_version == '2017-11-01': + from .v2017_11_01.operations import ExpressRouteServiceProvidersOperations as OperationClass + elif api_version == '2018-01-01': + from .v2018_01_01.operations import ExpressRouteServiceProvidersOperations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import ExpressRouteServiceProvidersOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import ExpressRouteServiceProvidersOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import ExpressRouteServiceProvidersOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import ExpressRouteServiceProvidersOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import ExpressRouteServiceProvidersOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import ExpressRouteServiceProvidersOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import ExpressRouteServiceProvidersOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import ExpressRouteServiceProvidersOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import ExpressRouteServiceProvidersOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import ExpressRouteServiceProvidersOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import ExpressRouteServiceProvidersOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import ExpressRouteServiceProvidersOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import ExpressRouteServiceProvidersOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import ExpressRouteServiceProvidersOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import ExpressRouteServiceProvidersOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import ExpressRouteServiceProvidersOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import ExpressRouteServiceProvidersOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import ExpressRouteServiceProvidersOperations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import ExpressRouteServiceProvidersOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def firewall_policies(self): + """Instance depends on the API version: + + * 2019-06-01: :class:`FirewallPoliciesOperations` + * 2019-07-01: :class:`FirewallPoliciesOperations` + * 2019-08-01: :class:`FirewallPoliciesOperations` + * 2019-09-01: :class:`FirewallPoliciesOperations` + * 2019-11-01: :class:`FirewallPoliciesOperations` + * 2019-12-01: :class:`FirewallPoliciesOperations` + * 2020-03-01: :class:`FirewallPoliciesOperations` + * 2020-04-01: :class:`FirewallPoliciesOperations` + * 2020-05-01: :class:`FirewallPoliciesOperations` + """ + api_version = self._get_api_version('firewall_policies') + if api_version == '2019-06-01': + from .v2019_06_01.operations import FirewallPoliciesOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import FirewallPoliciesOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import FirewallPoliciesOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import FirewallPoliciesOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import FirewallPoliciesOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import FirewallPoliciesOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import FirewallPoliciesOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import FirewallPoliciesOperations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import FirewallPoliciesOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def firewall_policy_rule_collection_groups(self): + """Instance depends on the API version: + + * 2020-05-01: :class:`FirewallPolicyRuleCollectionGroupsOperations` + """ + api_version = self._get_api_version('firewall_policy_rule_collection_groups') + if api_version == '2020-05-01': + from .v2020_05_01.operations import FirewallPolicyRuleCollectionGroupsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def firewall_policy_rule_groups(self): + """Instance depends on the API version: + + * 2019-06-01: :class:`FirewallPolicyRuleGroupsOperations` + * 2019-07-01: :class:`FirewallPolicyRuleGroupsOperations` + * 2019-08-01: :class:`FirewallPolicyRuleGroupsOperations` + * 2019-09-01: :class:`FirewallPolicyRuleGroupsOperations` + * 2019-11-01: :class:`FirewallPolicyRuleGroupsOperations` + * 2019-12-01: :class:`FirewallPolicyRuleGroupsOperations` + * 2020-03-01: :class:`FirewallPolicyRuleGroupsOperations` + * 2020-04-01: :class:`FirewallPolicyRuleGroupsOperations` + """ + api_version = self._get_api_version('firewall_policy_rule_groups') + if api_version == '2019-06-01': + from .v2019_06_01.operations import FirewallPolicyRuleGroupsOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import FirewallPolicyRuleGroupsOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import FirewallPolicyRuleGroupsOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import FirewallPolicyRuleGroupsOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import FirewallPolicyRuleGroupsOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import FirewallPolicyRuleGroupsOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import FirewallPolicyRuleGroupsOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import FirewallPolicyRuleGroupsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def flow_logs(self): + """Instance depends on the API version: + + * 2019-11-01: :class:`FlowLogsOperations` + * 2019-12-01: :class:`FlowLogsOperations` + * 2020-03-01: :class:`FlowLogsOperations` + * 2020-04-01: :class:`FlowLogsOperations` + * 2020-05-01: :class:`FlowLogsOperations` + """ + api_version = self._get_api_version('flow_logs') + if api_version == '2019-11-01': + from .v2019_11_01.operations import FlowLogsOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import FlowLogsOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import FlowLogsOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import FlowLogsOperations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import FlowLogsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def hub_route_tables(self): + """Instance depends on the API version: + + * 2020-04-01: :class:`HubRouteTablesOperations` + * 2020-05-01: :class:`HubRouteTablesOperations` + """ + api_version = self._get_api_version('hub_route_tables') + if api_version == '2020-04-01': + from .v2020_04_01.operations import HubRouteTablesOperations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import HubRouteTablesOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def hub_virtual_network_connections(self): + """Instance depends on the API version: + + * 2018-04-01: :class:`HubVirtualNetworkConnectionsOperations` + * 2018-06-01: :class:`HubVirtualNetworkConnectionsOperations` + * 2018-07-01: :class:`HubVirtualNetworkConnectionsOperations` + * 2018-08-01: :class:`HubVirtualNetworkConnectionsOperations` + * 2018-10-01: :class:`HubVirtualNetworkConnectionsOperations` + * 2018-11-01: :class:`HubVirtualNetworkConnectionsOperations` + * 2018-12-01: :class:`HubVirtualNetworkConnectionsOperations` + * 2019-02-01: :class:`HubVirtualNetworkConnectionsOperations` + * 2019-04-01: :class:`HubVirtualNetworkConnectionsOperations` + * 2019-06-01: :class:`HubVirtualNetworkConnectionsOperations` + * 2019-07-01: :class:`HubVirtualNetworkConnectionsOperations` + * 2019-08-01: :class:`HubVirtualNetworkConnectionsOperations` + * 2019-09-01: :class:`HubVirtualNetworkConnectionsOperations` + * 2019-11-01: :class:`HubVirtualNetworkConnectionsOperations` + * 2019-12-01: :class:`HubVirtualNetworkConnectionsOperations` + * 2020-03-01: :class:`HubVirtualNetworkConnectionsOperations` + * 2020-04-01: :class:`HubVirtualNetworkConnectionsOperations` + * 2020-05-01: :class:`HubVirtualNetworkConnectionsOperations` + """ + api_version = self._get_api_version('hub_virtual_network_connections') + if api_version == '2018-04-01': + from .v2018_04_01.operations import HubVirtualNetworkConnectionsOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import HubVirtualNetworkConnectionsOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import HubVirtualNetworkConnectionsOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import HubVirtualNetworkConnectionsOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import HubVirtualNetworkConnectionsOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import HubVirtualNetworkConnectionsOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import HubVirtualNetworkConnectionsOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import HubVirtualNetworkConnectionsOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import HubVirtualNetworkConnectionsOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import HubVirtualNetworkConnectionsOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import HubVirtualNetworkConnectionsOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import HubVirtualNetworkConnectionsOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import HubVirtualNetworkConnectionsOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import HubVirtualNetworkConnectionsOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import HubVirtualNetworkConnectionsOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import HubVirtualNetworkConnectionsOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import HubVirtualNetworkConnectionsOperations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import HubVirtualNetworkConnectionsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def inbound_nat_rules(self): + """Instance depends on the API version: + + * 2017-06-01: :class:`InboundNatRulesOperations` + * 2017-08-01: :class:`InboundNatRulesOperations` + * 2017-09-01: :class:`InboundNatRulesOperations` + * 2017-10-01: :class:`InboundNatRulesOperations` + * 2017-11-01: :class:`InboundNatRulesOperations` + * 2018-01-01: :class:`InboundNatRulesOperations` + * 2018-02-01: :class:`InboundNatRulesOperations` + * 2018-04-01: :class:`InboundNatRulesOperations` + * 2018-06-01: :class:`InboundNatRulesOperations` + * 2018-07-01: :class:`InboundNatRulesOperations` + * 2018-08-01: :class:`InboundNatRulesOperations` + * 2018-10-01: :class:`InboundNatRulesOperations` + * 2018-11-01: :class:`InboundNatRulesOperations` + * 2018-12-01: :class:`InboundNatRulesOperations` + * 2019-02-01: :class:`InboundNatRulesOperations` + * 2019-04-01: :class:`InboundNatRulesOperations` + * 2019-06-01: :class:`InboundNatRulesOperations` + * 2019-07-01: :class:`InboundNatRulesOperations` + * 2019-08-01: :class:`InboundNatRulesOperations` + * 2019-09-01: :class:`InboundNatRulesOperations` + * 2019-11-01: :class:`InboundNatRulesOperations` + * 2019-12-01: :class:`InboundNatRulesOperations` + * 2020-03-01: :class:`InboundNatRulesOperations` + * 2020-04-01: :class:`InboundNatRulesOperations` + * 2020-05-01: :class:`InboundNatRulesOperations` + """ + api_version = self._get_api_version('inbound_nat_rules') + if api_version == '2017-06-01': + from .v2017_06_01.operations import InboundNatRulesOperations as OperationClass + elif api_version == '2017-08-01': + from .v2017_08_01.operations import InboundNatRulesOperations as OperationClass + elif api_version == '2017-09-01': + from .v2017_09_01.operations import InboundNatRulesOperations as OperationClass + elif api_version == '2017-10-01': + from .v2017_10_01.operations import InboundNatRulesOperations as OperationClass + elif api_version == '2017-11-01': + from .v2017_11_01.operations import InboundNatRulesOperations as OperationClass + elif api_version == '2018-01-01': + from .v2018_01_01.operations import InboundNatRulesOperations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import InboundNatRulesOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import InboundNatRulesOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import InboundNatRulesOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import InboundNatRulesOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import InboundNatRulesOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import InboundNatRulesOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import InboundNatRulesOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import InboundNatRulesOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import InboundNatRulesOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import InboundNatRulesOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import InboundNatRulesOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import InboundNatRulesOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import InboundNatRulesOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import InboundNatRulesOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import InboundNatRulesOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import InboundNatRulesOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import InboundNatRulesOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import InboundNatRulesOperations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import InboundNatRulesOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def interface_endpoints(self): + """Instance depends on the API version: + + * 2018-08-01: :class:`InterfaceEndpointsOperations` + * 2018-10-01: :class:`InterfaceEndpointsOperations` + * 2018-11-01: :class:`InterfaceEndpointsOperations` + * 2018-12-01: :class:`InterfaceEndpointsOperations` + * 2019-02-01: :class:`InterfaceEndpointsOperations` + """ + api_version = self._get_api_version('interface_endpoints') + if api_version == '2018-08-01': + from .v2018_08_01.operations import InterfaceEndpointsOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import InterfaceEndpointsOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import InterfaceEndpointsOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import InterfaceEndpointsOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import InterfaceEndpointsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def ip_allocations(self): + """Instance depends on the API version: + + * 2020-03-01: :class:`IpAllocationsOperations` + * 2020-04-01: :class:`IpAllocationsOperations` + * 2020-05-01: :class:`IpAllocationsOperations` + """ + api_version = self._get_api_version('ip_allocations') + if api_version == '2020-03-01': + from .v2020_03_01.operations import IpAllocationsOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import IpAllocationsOperations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import IpAllocationsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def ip_groups(self): + """Instance depends on the API version: + + * 2019-09-01: :class:`IpGroupsOperations` + * 2019-11-01: :class:`IpGroupsOperations` + * 2019-12-01: :class:`IpGroupsOperations` + * 2020-03-01: :class:`IpGroupsOperations` + * 2020-04-01: :class:`IpGroupsOperations` + * 2020-05-01: :class:`IpGroupsOperations` + """ + api_version = self._get_api_version('ip_groups') + if api_version == '2019-09-01': + from .v2019_09_01.operations import IpGroupsOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import IpGroupsOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import IpGroupsOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import IpGroupsOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import IpGroupsOperations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import IpGroupsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def load_balancer_backend_address_pools(self): + """Instance depends on the API version: + + * 2017-06-01: :class:`LoadBalancerBackendAddressPoolsOperations` + * 2017-08-01: :class:`LoadBalancerBackendAddressPoolsOperations` + * 2017-09-01: :class:`LoadBalancerBackendAddressPoolsOperations` + * 2017-10-01: :class:`LoadBalancerBackendAddressPoolsOperations` + * 2017-11-01: :class:`LoadBalancerBackendAddressPoolsOperations` + * 2018-01-01: :class:`LoadBalancerBackendAddressPoolsOperations` + * 2018-02-01: :class:`LoadBalancerBackendAddressPoolsOperations` + * 2018-04-01: :class:`LoadBalancerBackendAddressPoolsOperations` + * 2018-06-01: :class:`LoadBalancerBackendAddressPoolsOperations` + * 2018-07-01: :class:`LoadBalancerBackendAddressPoolsOperations` + * 2018-08-01: :class:`LoadBalancerBackendAddressPoolsOperations` + * 2018-10-01: :class:`LoadBalancerBackendAddressPoolsOperations` + * 2018-11-01: :class:`LoadBalancerBackendAddressPoolsOperations` + * 2018-12-01: :class:`LoadBalancerBackendAddressPoolsOperations` + * 2019-02-01: :class:`LoadBalancerBackendAddressPoolsOperations` + * 2019-04-01: :class:`LoadBalancerBackendAddressPoolsOperations` + * 2019-06-01: :class:`LoadBalancerBackendAddressPoolsOperations` + * 2019-07-01: :class:`LoadBalancerBackendAddressPoolsOperations` + * 2019-08-01: :class:`LoadBalancerBackendAddressPoolsOperations` + * 2019-09-01: :class:`LoadBalancerBackendAddressPoolsOperations` + * 2019-11-01: :class:`LoadBalancerBackendAddressPoolsOperations` + * 2019-12-01: :class:`LoadBalancerBackendAddressPoolsOperations` + * 2020-03-01: :class:`LoadBalancerBackendAddressPoolsOperations` + * 2020-04-01: :class:`LoadBalancerBackendAddressPoolsOperations` + * 2020-05-01: :class:`LoadBalancerBackendAddressPoolsOperations` + """ + api_version = self._get_api_version('load_balancer_backend_address_pools') + if api_version == '2017-06-01': + from .v2017_06_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass + elif api_version == '2017-08-01': + from .v2017_08_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass + elif api_version == '2017-09-01': + from .v2017_09_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass + elif api_version == '2017-10-01': + from .v2017_10_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass + elif api_version == '2017-11-01': + from .v2017_11_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass + elif api_version == '2018-01-01': + from .v2018_01_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def load_balancer_frontend_ip_configurations(self): + """Instance depends on the API version: + + * 2017-06-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` + * 2017-08-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` + * 2017-09-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` + * 2017-10-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` + * 2017-11-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` + * 2018-01-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` + * 2018-02-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` + * 2018-04-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` + * 2018-06-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` + * 2018-07-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` + * 2018-08-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` + * 2018-10-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` + * 2018-11-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` + * 2018-12-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` + * 2019-02-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` + * 2019-04-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` + * 2019-06-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` + * 2019-07-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` + * 2019-08-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` + * 2019-09-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` + * 2019-11-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` + * 2019-12-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` + * 2020-03-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` + * 2020-04-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` + * 2020-05-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` + """ + api_version = self._get_api_version('load_balancer_frontend_ip_configurations') + if api_version == '2017-06-01': + from .v2017_06_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass + elif api_version == '2017-08-01': + from .v2017_08_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass + elif api_version == '2017-09-01': + from .v2017_09_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass + elif api_version == '2017-10-01': + from .v2017_10_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass + elif api_version == '2017-11-01': + from .v2017_11_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass + elif api_version == '2018-01-01': + from .v2018_01_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def load_balancer_load_balancing_rules(self): + """Instance depends on the API version: + + * 2017-06-01: :class:`LoadBalancerLoadBalancingRulesOperations` + * 2017-08-01: :class:`LoadBalancerLoadBalancingRulesOperations` + * 2017-09-01: :class:`LoadBalancerLoadBalancingRulesOperations` + * 2017-10-01: :class:`LoadBalancerLoadBalancingRulesOperations` + * 2017-11-01: :class:`LoadBalancerLoadBalancingRulesOperations` + * 2018-01-01: :class:`LoadBalancerLoadBalancingRulesOperations` + * 2018-02-01: :class:`LoadBalancerLoadBalancingRulesOperations` + * 2018-04-01: :class:`LoadBalancerLoadBalancingRulesOperations` + * 2018-06-01: :class:`LoadBalancerLoadBalancingRulesOperations` + * 2018-07-01: :class:`LoadBalancerLoadBalancingRulesOperations` + * 2018-08-01: :class:`LoadBalancerLoadBalancingRulesOperations` + * 2018-10-01: :class:`LoadBalancerLoadBalancingRulesOperations` + * 2018-11-01: :class:`LoadBalancerLoadBalancingRulesOperations` + * 2018-12-01: :class:`LoadBalancerLoadBalancingRulesOperations` + * 2019-02-01: :class:`LoadBalancerLoadBalancingRulesOperations` + * 2019-04-01: :class:`LoadBalancerLoadBalancingRulesOperations` + * 2019-06-01: :class:`LoadBalancerLoadBalancingRulesOperations` + * 2019-07-01: :class:`LoadBalancerLoadBalancingRulesOperations` + * 2019-08-01: :class:`LoadBalancerLoadBalancingRulesOperations` + * 2019-09-01: :class:`LoadBalancerLoadBalancingRulesOperations` + * 2019-11-01: :class:`LoadBalancerLoadBalancingRulesOperations` + * 2019-12-01: :class:`LoadBalancerLoadBalancingRulesOperations` + * 2020-03-01: :class:`LoadBalancerLoadBalancingRulesOperations` + * 2020-04-01: :class:`LoadBalancerLoadBalancingRulesOperations` + * 2020-05-01: :class:`LoadBalancerLoadBalancingRulesOperations` + """ + api_version = self._get_api_version('load_balancer_load_balancing_rules') + if api_version == '2017-06-01': + from .v2017_06_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass + elif api_version == '2017-08-01': + from .v2017_08_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass + elif api_version == '2017-09-01': + from .v2017_09_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass + elif api_version == '2017-10-01': + from .v2017_10_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass + elif api_version == '2017-11-01': + from .v2017_11_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass + elif api_version == '2018-01-01': + from .v2018_01_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def load_balancer_network_interfaces(self): + """Instance depends on the API version: + + * 2017-06-01: :class:`LoadBalancerNetworkInterfacesOperations` + * 2017-08-01: :class:`LoadBalancerNetworkInterfacesOperations` + * 2017-09-01: :class:`LoadBalancerNetworkInterfacesOperations` + * 2017-10-01: :class:`LoadBalancerNetworkInterfacesOperations` + * 2017-11-01: :class:`LoadBalancerNetworkInterfacesOperations` + * 2018-01-01: :class:`LoadBalancerNetworkInterfacesOperations` + * 2018-02-01: :class:`LoadBalancerNetworkInterfacesOperations` + * 2018-04-01: :class:`LoadBalancerNetworkInterfacesOperations` + * 2018-06-01: :class:`LoadBalancerNetworkInterfacesOperations` + * 2018-07-01: :class:`LoadBalancerNetworkInterfacesOperations` + * 2018-08-01: :class:`LoadBalancerNetworkInterfacesOperations` + * 2018-10-01: :class:`LoadBalancerNetworkInterfacesOperations` + * 2018-11-01: :class:`LoadBalancerNetworkInterfacesOperations` + * 2018-12-01: :class:`LoadBalancerNetworkInterfacesOperations` + * 2019-02-01: :class:`LoadBalancerNetworkInterfacesOperations` + * 2019-04-01: :class:`LoadBalancerNetworkInterfacesOperations` + * 2019-06-01: :class:`LoadBalancerNetworkInterfacesOperations` + * 2019-07-01: :class:`LoadBalancerNetworkInterfacesOperations` + * 2019-08-01: :class:`LoadBalancerNetworkInterfacesOperations` + * 2019-09-01: :class:`LoadBalancerNetworkInterfacesOperations` + * 2019-11-01: :class:`LoadBalancerNetworkInterfacesOperations` + * 2019-12-01: :class:`LoadBalancerNetworkInterfacesOperations` + * 2020-03-01: :class:`LoadBalancerNetworkInterfacesOperations` + * 2020-04-01: :class:`LoadBalancerNetworkInterfacesOperations` + * 2020-05-01: :class:`LoadBalancerNetworkInterfacesOperations` + """ + api_version = self._get_api_version('load_balancer_network_interfaces') + if api_version == '2017-06-01': + from .v2017_06_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass + elif api_version == '2017-08-01': + from .v2017_08_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass + elif api_version == '2017-09-01': + from .v2017_09_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass + elif api_version == '2017-10-01': + from .v2017_10_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass + elif api_version == '2017-11-01': + from .v2017_11_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass + elif api_version == '2018-01-01': + from .v2018_01_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def load_balancer_outbound_rules(self): + """Instance depends on the API version: + + * 2018-08-01: :class:`LoadBalancerOutboundRulesOperations` + * 2018-10-01: :class:`LoadBalancerOutboundRulesOperations` + * 2018-11-01: :class:`LoadBalancerOutboundRulesOperations` + * 2018-12-01: :class:`LoadBalancerOutboundRulesOperations` + * 2019-02-01: :class:`LoadBalancerOutboundRulesOperations` + * 2019-04-01: :class:`LoadBalancerOutboundRulesOperations` + * 2019-06-01: :class:`LoadBalancerOutboundRulesOperations` + * 2019-07-01: :class:`LoadBalancerOutboundRulesOperations` + * 2019-08-01: :class:`LoadBalancerOutboundRulesOperations` + * 2019-09-01: :class:`LoadBalancerOutboundRulesOperations` + * 2019-11-01: :class:`LoadBalancerOutboundRulesOperations` + * 2019-12-01: :class:`LoadBalancerOutboundRulesOperations` + * 2020-03-01: :class:`LoadBalancerOutboundRulesOperations` + * 2020-04-01: :class:`LoadBalancerOutboundRulesOperations` + * 2020-05-01: :class:`LoadBalancerOutboundRulesOperations` + """ + api_version = self._get_api_version('load_balancer_outbound_rules') + if api_version == '2018-08-01': + from .v2018_08_01.operations import LoadBalancerOutboundRulesOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import LoadBalancerOutboundRulesOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import LoadBalancerOutboundRulesOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import LoadBalancerOutboundRulesOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import LoadBalancerOutboundRulesOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import LoadBalancerOutboundRulesOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import LoadBalancerOutboundRulesOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import LoadBalancerOutboundRulesOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import LoadBalancerOutboundRulesOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import LoadBalancerOutboundRulesOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import LoadBalancerOutboundRulesOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import LoadBalancerOutboundRulesOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import LoadBalancerOutboundRulesOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import LoadBalancerOutboundRulesOperations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import LoadBalancerOutboundRulesOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def load_balancer_probes(self): + """Instance depends on the API version: + + * 2017-06-01: :class:`LoadBalancerProbesOperations` + * 2017-08-01: :class:`LoadBalancerProbesOperations` + * 2017-09-01: :class:`LoadBalancerProbesOperations` + * 2017-10-01: :class:`LoadBalancerProbesOperations` + * 2017-11-01: :class:`LoadBalancerProbesOperations` + * 2018-01-01: :class:`LoadBalancerProbesOperations` + * 2018-02-01: :class:`LoadBalancerProbesOperations` + * 2018-04-01: :class:`LoadBalancerProbesOperations` + * 2018-06-01: :class:`LoadBalancerProbesOperations` + * 2018-07-01: :class:`LoadBalancerProbesOperations` + * 2018-08-01: :class:`LoadBalancerProbesOperations` + * 2018-10-01: :class:`LoadBalancerProbesOperations` + * 2018-11-01: :class:`LoadBalancerProbesOperations` + * 2018-12-01: :class:`LoadBalancerProbesOperations` + * 2019-02-01: :class:`LoadBalancerProbesOperations` + * 2019-04-01: :class:`LoadBalancerProbesOperations` + * 2019-06-01: :class:`LoadBalancerProbesOperations` + * 2019-07-01: :class:`LoadBalancerProbesOperations` + * 2019-08-01: :class:`LoadBalancerProbesOperations` + * 2019-09-01: :class:`LoadBalancerProbesOperations` + * 2019-11-01: :class:`LoadBalancerProbesOperations` + * 2019-12-01: :class:`LoadBalancerProbesOperations` + * 2020-03-01: :class:`LoadBalancerProbesOperations` + * 2020-04-01: :class:`LoadBalancerProbesOperations` + * 2020-05-01: :class:`LoadBalancerProbesOperations` + """ + api_version = self._get_api_version('load_balancer_probes') + if api_version == '2017-06-01': + from .v2017_06_01.operations import LoadBalancerProbesOperations as OperationClass + elif api_version == '2017-08-01': + from .v2017_08_01.operations import LoadBalancerProbesOperations as OperationClass + elif api_version == '2017-09-01': + from .v2017_09_01.operations import LoadBalancerProbesOperations as OperationClass + elif api_version == '2017-10-01': + from .v2017_10_01.operations import LoadBalancerProbesOperations as OperationClass + elif api_version == '2017-11-01': + from .v2017_11_01.operations import LoadBalancerProbesOperations as OperationClass + elif api_version == '2018-01-01': + from .v2018_01_01.operations import LoadBalancerProbesOperations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import LoadBalancerProbesOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import LoadBalancerProbesOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import LoadBalancerProbesOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import LoadBalancerProbesOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import LoadBalancerProbesOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import LoadBalancerProbesOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import LoadBalancerProbesOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import LoadBalancerProbesOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import LoadBalancerProbesOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import LoadBalancerProbesOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import LoadBalancerProbesOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import LoadBalancerProbesOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import LoadBalancerProbesOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import LoadBalancerProbesOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import LoadBalancerProbesOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import LoadBalancerProbesOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import LoadBalancerProbesOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import LoadBalancerProbesOperations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import LoadBalancerProbesOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def load_balancers(self): + """Instance depends on the API version: + + * 2015-06-15: :class:`LoadBalancersOperations` + * 2016-09-01: :class:`LoadBalancersOperations` + * 2016-12-01: :class:`LoadBalancersOperations` + * 2017-03-01: :class:`LoadBalancersOperations` + * 2017-06-01: :class:`LoadBalancersOperations` + * 2017-08-01: :class:`LoadBalancersOperations` + * 2017-09-01: :class:`LoadBalancersOperations` + * 2017-10-01: :class:`LoadBalancersOperations` + * 2017-11-01: :class:`LoadBalancersOperations` + * 2018-01-01: :class:`LoadBalancersOperations` + * 2018-02-01: :class:`LoadBalancersOperations` + * 2018-04-01: :class:`LoadBalancersOperations` + * 2018-06-01: :class:`LoadBalancersOperations` + * 2018-07-01: :class:`LoadBalancersOperations` + * 2018-08-01: :class:`LoadBalancersOperations` + * 2018-10-01: :class:`LoadBalancersOperations` + * 2018-11-01: :class:`LoadBalancersOperations` + * 2018-12-01: :class:`LoadBalancersOperations` + * 2019-02-01: :class:`LoadBalancersOperations` + * 2019-04-01: :class:`LoadBalancersOperations` + * 2019-06-01: :class:`LoadBalancersOperations` + * 2019-07-01: :class:`LoadBalancersOperations` + * 2019-08-01: :class:`LoadBalancersOperations` + * 2019-09-01: :class:`LoadBalancersOperations` + * 2019-11-01: :class:`LoadBalancersOperations` + * 2019-12-01: :class:`LoadBalancersOperations` + * 2020-03-01: :class:`LoadBalancersOperations` + * 2020-04-01: :class:`LoadBalancersOperations` + * 2020-05-01: :class:`LoadBalancersOperations` + """ + api_version = self._get_api_version('load_balancers') + if api_version == '2015-06-15': + from .v2015_06_15.operations import LoadBalancersOperations as OperationClass + elif api_version == '2016-09-01': + from .v2016_09_01.operations import LoadBalancersOperations as OperationClass + elif api_version == '2016-12-01': + from .v2016_12_01.operations import LoadBalancersOperations as OperationClass + elif api_version == '2017-03-01': + from .v2017_03_01.operations import LoadBalancersOperations as OperationClass + elif api_version == '2017-06-01': + from .v2017_06_01.operations import LoadBalancersOperations as OperationClass + elif api_version == '2017-08-01': + from .v2017_08_01.operations import LoadBalancersOperations as OperationClass + elif api_version == '2017-09-01': + from .v2017_09_01.operations import LoadBalancersOperations as OperationClass + elif api_version == '2017-10-01': + from .v2017_10_01.operations import LoadBalancersOperations as OperationClass + elif api_version == '2017-11-01': + from .v2017_11_01.operations import LoadBalancersOperations as OperationClass + elif api_version == '2018-01-01': + from .v2018_01_01.operations import LoadBalancersOperations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import LoadBalancersOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import LoadBalancersOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import LoadBalancersOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import LoadBalancersOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import LoadBalancersOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import LoadBalancersOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import LoadBalancersOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import LoadBalancersOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import LoadBalancersOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import LoadBalancersOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import LoadBalancersOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import LoadBalancersOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import LoadBalancersOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import LoadBalancersOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import LoadBalancersOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import LoadBalancersOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import LoadBalancersOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import LoadBalancersOperations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import LoadBalancersOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def local_network_gateways(self): + """Instance depends on the API version: + + * 2015-06-15: :class:`LocalNetworkGatewaysOperations` + * 2016-09-01: :class:`LocalNetworkGatewaysOperations` + * 2016-12-01: :class:`LocalNetworkGatewaysOperations` + * 2017-03-01: :class:`LocalNetworkGatewaysOperations` + * 2017-06-01: :class:`LocalNetworkGatewaysOperations` + * 2017-08-01: :class:`LocalNetworkGatewaysOperations` + * 2017-09-01: :class:`LocalNetworkGatewaysOperations` + * 2017-10-01: :class:`LocalNetworkGatewaysOperations` + * 2017-11-01: :class:`LocalNetworkGatewaysOperations` + * 2018-01-01: :class:`LocalNetworkGatewaysOperations` + * 2018-02-01: :class:`LocalNetworkGatewaysOperations` + * 2018-04-01: :class:`LocalNetworkGatewaysOperations` + * 2018-06-01: :class:`LocalNetworkGatewaysOperations` + * 2018-07-01: :class:`LocalNetworkGatewaysOperations` + * 2018-08-01: :class:`LocalNetworkGatewaysOperations` + * 2018-10-01: :class:`LocalNetworkGatewaysOperations` + * 2018-11-01: :class:`LocalNetworkGatewaysOperations` + * 2018-12-01: :class:`LocalNetworkGatewaysOperations` + * 2019-02-01: :class:`LocalNetworkGatewaysOperations` + * 2019-04-01: :class:`LocalNetworkGatewaysOperations` + * 2019-06-01: :class:`LocalNetworkGatewaysOperations` + * 2019-07-01: :class:`LocalNetworkGatewaysOperations` + * 2019-08-01: :class:`LocalNetworkGatewaysOperations` + * 2019-09-01: :class:`LocalNetworkGatewaysOperations` + * 2019-11-01: :class:`LocalNetworkGatewaysOperations` + * 2019-12-01: :class:`LocalNetworkGatewaysOperations` + * 2020-03-01: :class:`LocalNetworkGatewaysOperations` + * 2020-04-01: :class:`LocalNetworkGatewaysOperations` + * 2020-05-01: :class:`LocalNetworkGatewaysOperations` + """ + api_version = self._get_api_version('local_network_gateways') + if api_version == '2015-06-15': + from .v2015_06_15.operations import LocalNetworkGatewaysOperations as OperationClass + elif api_version == '2016-09-01': + from .v2016_09_01.operations import LocalNetworkGatewaysOperations as OperationClass + elif api_version == '2016-12-01': + from .v2016_12_01.operations import LocalNetworkGatewaysOperations as OperationClass + elif api_version == '2017-03-01': + from .v2017_03_01.operations import LocalNetworkGatewaysOperations as OperationClass + elif api_version == '2017-06-01': + from .v2017_06_01.operations import LocalNetworkGatewaysOperations as OperationClass + elif api_version == '2017-08-01': + from .v2017_08_01.operations import LocalNetworkGatewaysOperations as OperationClass + elif api_version == '2017-09-01': + from .v2017_09_01.operations import LocalNetworkGatewaysOperations as OperationClass + elif api_version == '2017-10-01': + from .v2017_10_01.operations import LocalNetworkGatewaysOperations as OperationClass + elif api_version == '2017-11-01': + from .v2017_11_01.operations import LocalNetworkGatewaysOperations as OperationClass + elif api_version == '2018-01-01': + from .v2018_01_01.operations import LocalNetworkGatewaysOperations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import LocalNetworkGatewaysOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import LocalNetworkGatewaysOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import LocalNetworkGatewaysOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import LocalNetworkGatewaysOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import LocalNetworkGatewaysOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import LocalNetworkGatewaysOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import LocalNetworkGatewaysOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import LocalNetworkGatewaysOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import LocalNetworkGatewaysOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import LocalNetworkGatewaysOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import LocalNetworkGatewaysOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import LocalNetworkGatewaysOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import LocalNetworkGatewaysOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import LocalNetworkGatewaysOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import LocalNetworkGatewaysOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import LocalNetworkGatewaysOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import LocalNetworkGatewaysOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import LocalNetworkGatewaysOperations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import LocalNetworkGatewaysOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def nat_gateways(self): + """Instance depends on the API version: + + * 2019-02-01: :class:`NatGatewaysOperations` + * 2019-04-01: :class:`NatGatewaysOperations` + * 2019-06-01: :class:`NatGatewaysOperations` + * 2019-07-01: :class:`NatGatewaysOperations` + * 2019-08-01: :class:`NatGatewaysOperations` + * 2019-09-01: :class:`NatGatewaysOperations` + * 2019-11-01: :class:`NatGatewaysOperations` + * 2019-12-01: :class:`NatGatewaysOperations` + * 2020-03-01: :class:`NatGatewaysOperations` + * 2020-04-01: :class:`NatGatewaysOperations` + * 2020-05-01: :class:`NatGatewaysOperations` + """ + api_version = self._get_api_version('nat_gateways') + if api_version == '2019-02-01': + from .v2019_02_01.operations import NatGatewaysOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import NatGatewaysOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import NatGatewaysOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import NatGatewaysOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import NatGatewaysOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import NatGatewaysOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import NatGatewaysOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import NatGatewaysOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import NatGatewaysOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import NatGatewaysOperations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import NatGatewaysOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def network_interface_ip_configurations(self): + """Instance depends on the API version: + + * 2017-06-01: :class:`NetworkInterfaceIPConfigurationsOperations` + * 2017-08-01: :class:`NetworkInterfaceIPConfigurationsOperations` + * 2017-09-01: :class:`NetworkInterfaceIPConfigurationsOperations` + * 2017-10-01: :class:`NetworkInterfaceIPConfigurationsOperations` + * 2017-11-01: :class:`NetworkInterfaceIPConfigurationsOperations` + * 2018-01-01: :class:`NetworkInterfaceIPConfigurationsOperations` + * 2018-02-01: :class:`NetworkInterfaceIPConfigurationsOperations` + * 2018-04-01: :class:`NetworkInterfaceIPConfigurationsOperations` + * 2018-06-01: :class:`NetworkInterfaceIPConfigurationsOperations` + * 2018-07-01: :class:`NetworkInterfaceIPConfigurationsOperations` + * 2018-08-01: :class:`NetworkInterfaceIPConfigurationsOperations` + * 2018-10-01: :class:`NetworkInterfaceIPConfigurationsOperations` + * 2018-11-01: :class:`NetworkInterfaceIPConfigurationsOperations` + * 2018-12-01: :class:`NetworkInterfaceIPConfigurationsOperations` + * 2019-02-01: :class:`NetworkInterfaceIPConfigurationsOperations` + * 2019-04-01: :class:`NetworkInterfaceIPConfigurationsOperations` + * 2019-06-01: :class:`NetworkInterfaceIPConfigurationsOperations` + * 2019-07-01: :class:`NetworkInterfaceIPConfigurationsOperations` + * 2019-08-01: :class:`NetworkInterfaceIPConfigurationsOperations` + * 2019-09-01: :class:`NetworkInterfaceIPConfigurationsOperations` + * 2019-11-01: :class:`NetworkInterfaceIPConfigurationsOperations` + * 2019-12-01: :class:`NetworkInterfaceIPConfigurationsOperations` + * 2020-03-01: :class:`NetworkInterfaceIPConfigurationsOperations` + * 2020-04-01: :class:`NetworkInterfaceIPConfigurationsOperations` + * 2020-05-01: :class:`NetworkInterfaceIPConfigurationsOperations` + """ + api_version = self._get_api_version('network_interface_ip_configurations') + if api_version == '2017-06-01': + from .v2017_06_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass + elif api_version == '2017-08-01': + from .v2017_08_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass + elif api_version == '2017-09-01': + from .v2017_09_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass + elif api_version == '2017-10-01': + from .v2017_10_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass + elif api_version == '2017-11-01': + from .v2017_11_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass + elif api_version == '2018-01-01': + from .v2018_01_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def network_interface_load_balancers(self): + """Instance depends on the API version: + + * 2017-06-01: :class:`NetworkInterfaceLoadBalancersOperations` + * 2017-08-01: :class:`NetworkInterfaceLoadBalancersOperations` + * 2017-09-01: :class:`NetworkInterfaceLoadBalancersOperations` + * 2017-10-01: :class:`NetworkInterfaceLoadBalancersOperations` + * 2017-11-01: :class:`NetworkInterfaceLoadBalancersOperations` + * 2018-01-01: :class:`NetworkInterfaceLoadBalancersOperations` + * 2018-02-01: :class:`NetworkInterfaceLoadBalancersOperations` + * 2018-04-01: :class:`NetworkInterfaceLoadBalancersOperations` + * 2018-06-01: :class:`NetworkInterfaceLoadBalancersOperations` + * 2018-07-01: :class:`NetworkInterfaceLoadBalancersOperations` + * 2018-08-01: :class:`NetworkInterfaceLoadBalancersOperations` + * 2018-10-01: :class:`NetworkInterfaceLoadBalancersOperations` + * 2018-11-01: :class:`NetworkInterfaceLoadBalancersOperations` + * 2018-12-01: :class:`NetworkInterfaceLoadBalancersOperations` + * 2019-02-01: :class:`NetworkInterfaceLoadBalancersOperations` + * 2019-04-01: :class:`NetworkInterfaceLoadBalancersOperations` + * 2019-06-01: :class:`NetworkInterfaceLoadBalancersOperations` + * 2019-07-01: :class:`NetworkInterfaceLoadBalancersOperations` + * 2019-08-01: :class:`NetworkInterfaceLoadBalancersOperations` + * 2019-09-01: :class:`NetworkInterfaceLoadBalancersOperations` + * 2019-11-01: :class:`NetworkInterfaceLoadBalancersOperations` + * 2019-12-01: :class:`NetworkInterfaceLoadBalancersOperations` + * 2020-03-01: :class:`NetworkInterfaceLoadBalancersOperations` + * 2020-04-01: :class:`NetworkInterfaceLoadBalancersOperations` + * 2020-05-01: :class:`NetworkInterfaceLoadBalancersOperations` + """ + api_version = self._get_api_version('network_interface_load_balancers') + if api_version == '2017-06-01': + from .v2017_06_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass + elif api_version == '2017-08-01': + from .v2017_08_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass + elif api_version == '2017-09-01': + from .v2017_09_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass + elif api_version == '2017-10-01': + from .v2017_10_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass + elif api_version == '2017-11-01': + from .v2017_11_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass + elif api_version == '2018-01-01': + from .v2018_01_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def network_interface_tap_configurations(self): + """Instance depends on the API version: + + * 2018-08-01: :class:`NetworkInterfaceTapConfigurationsOperations` + * 2018-10-01: :class:`NetworkInterfaceTapConfigurationsOperations` + * 2018-11-01: :class:`NetworkInterfaceTapConfigurationsOperations` + * 2018-12-01: :class:`NetworkInterfaceTapConfigurationsOperations` + * 2019-02-01: :class:`NetworkInterfaceTapConfigurationsOperations` + * 2019-04-01: :class:`NetworkInterfaceTapConfigurationsOperations` + * 2019-06-01: :class:`NetworkInterfaceTapConfigurationsOperations` + * 2019-07-01: :class:`NetworkInterfaceTapConfigurationsOperations` + * 2019-08-01: :class:`NetworkInterfaceTapConfigurationsOperations` + * 2019-09-01: :class:`NetworkInterfaceTapConfigurationsOperations` + * 2019-11-01: :class:`NetworkInterfaceTapConfigurationsOperations` + * 2019-12-01: :class:`NetworkInterfaceTapConfigurationsOperations` + * 2020-03-01: :class:`NetworkInterfaceTapConfigurationsOperations` + * 2020-04-01: :class:`NetworkInterfaceTapConfigurationsOperations` + * 2020-05-01: :class:`NetworkInterfaceTapConfigurationsOperations` + """ + api_version = self._get_api_version('network_interface_tap_configurations') + if api_version == '2018-08-01': + from .v2018_08_01.operations import NetworkInterfaceTapConfigurationsOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import NetworkInterfaceTapConfigurationsOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import NetworkInterfaceTapConfigurationsOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import NetworkInterfaceTapConfigurationsOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import NetworkInterfaceTapConfigurationsOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import NetworkInterfaceTapConfigurationsOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import NetworkInterfaceTapConfigurationsOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import NetworkInterfaceTapConfigurationsOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import NetworkInterfaceTapConfigurationsOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import NetworkInterfaceTapConfigurationsOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import NetworkInterfaceTapConfigurationsOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import NetworkInterfaceTapConfigurationsOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import NetworkInterfaceTapConfigurationsOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import NetworkInterfaceTapConfigurationsOperations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import NetworkInterfaceTapConfigurationsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def network_interfaces(self): + """Instance depends on the API version: + + * 2015-06-15: :class:`NetworkInterfacesOperations` + * 2016-09-01: :class:`NetworkInterfacesOperations` + * 2016-12-01: :class:`NetworkInterfacesOperations` + * 2017-03-01: :class:`NetworkInterfacesOperations` + * 2017-06-01: :class:`NetworkInterfacesOperations` + * 2017-08-01: :class:`NetworkInterfacesOperations` + * 2017-09-01: :class:`NetworkInterfacesOperations` + * 2017-10-01: :class:`NetworkInterfacesOperations` + * 2017-11-01: :class:`NetworkInterfacesOperations` + * 2018-01-01: :class:`NetworkInterfacesOperations` + * 2018-02-01: :class:`NetworkInterfacesOperations` + * 2018-04-01: :class:`NetworkInterfacesOperations` + * 2018-06-01: :class:`NetworkInterfacesOperations` + * 2018-07-01: :class:`NetworkInterfacesOperations` + * 2018-08-01: :class:`NetworkInterfacesOperations` + * 2018-10-01: :class:`NetworkInterfacesOperations` + * 2018-11-01: :class:`NetworkInterfacesOperations` + * 2018-12-01: :class:`NetworkInterfacesOperations` + * 2019-02-01: :class:`NetworkInterfacesOperations` + * 2019-04-01: :class:`NetworkInterfacesOperations` + * 2019-06-01: :class:`NetworkInterfacesOperations` + * 2019-07-01: :class:`NetworkInterfacesOperations` + * 2019-08-01: :class:`NetworkInterfacesOperations` + * 2019-09-01: :class:`NetworkInterfacesOperations` + * 2019-11-01: :class:`NetworkInterfacesOperations` + * 2019-12-01: :class:`NetworkInterfacesOperations` + * 2020-03-01: :class:`NetworkInterfacesOperations` + * 2020-04-01: :class:`NetworkInterfacesOperations` + * 2020-05-01: :class:`NetworkInterfacesOperations` + """ + api_version = self._get_api_version('network_interfaces') + if api_version == '2015-06-15': + from .v2015_06_15.operations import NetworkInterfacesOperations as OperationClass + elif api_version == '2016-09-01': + from .v2016_09_01.operations import NetworkInterfacesOperations as OperationClass + elif api_version == '2016-12-01': + from .v2016_12_01.operations import NetworkInterfacesOperations as OperationClass + elif api_version == '2017-03-01': + from .v2017_03_01.operations import NetworkInterfacesOperations as OperationClass + elif api_version == '2017-06-01': + from .v2017_06_01.operations import NetworkInterfacesOperations as OperationClass + elif api_version == '2017-08-01': + from .v2017_08_01.operations import NetworkInterfacesOperations as OperationClass + elif api_version == '2017-09-01': + from .v2017_09_01.operations import NetworkInterfacesOperations as OperationClass + elif api_version == '2017-10-01': + from .v2017_10_01.operations import NetworkInterfacesOperations as OperationClass + elif api_version == '2017-11-01': + from .v2017_11_01.operations import NetworkInterfacesOperations as OperationClass + elif api_version == '2018-01-01': + from .v2018_01_01.operations import NetworkInterfacesOperations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import NetworkInterfacesOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import NetworkInterfacesOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import NetworkInterfacesOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import NetworkInterfacesOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import NetworkInterfacesOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import NetworkInterfacesOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import NetworkInterfacesOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import NetworkInterfacesOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import NetworkInterfacesOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import NetworkInterfacesOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import NetworkInterfacesOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import NetworkInterfacesOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import NetworkInterfacesOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import NetworkInterfacesOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import NetworkInterfacesOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import NetworkInterfacesOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import NetworkInterfacesOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import NetworkInterfacesOperations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import NetworkInterfacesOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def network_profiles(self): + """Instance depends on the API version: + + * 2018-08-01: :class:`NetworkProfilesOperations` + * 2018-10-01: :class:`NetworkProfilesOperations` + * 2018-11-01: :class:`NetworkProfilesOperations` + * 2018-12-01: :class:`NetworkProfilesOperations` + * 2019-02-01: :class:`NetworkProfilesOperations` + * 2019-04-01: :class:`NetworkProfilesOperations` + * 2019-06-01: :class:`NetworkProfilesOperations` + * 2019-07-01: :class:`NetworkProfilesOperations` + * 2019-08-01: :class:`NetworkProfilesOperations` + * 2019-09-01: :class:`NetworkProfilesOperations` + * 2019-11-01: :class:`NetworkProfilesOperations` + * 2019-12-01: :class:`NetworkProfilesOperations` + * 2020-03-01: :class:`NetworkProfilesOperations` + * 2020-04-01: :class:`NetworkProfilesOperations` + * 2020-05-01: :class:`NetworkProfilesOperations` + """ + api_version = self._get_api_version('network_profiles') + if api_version == '2018-08-01': + from .v2018_08_01.operations import NetworkProfilesOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import NetworkProfilesOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import NetworkProfilesOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import NetworkProfilesOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import NetworkProfilesOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import NetworkProfilesOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import NetworkProfilesOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import NetworkProfilesOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import NetworkProfilesOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import NetworkProfilesOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import NetworkProfilesOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import NetworkProfilesOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import NetworkProfilesOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import NetworkProfilesOperations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import NetworkProfilesOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def network_security_groups(self): + """Instance depends on the API version: + + * 2015-06-15: :class:`NetworkSecurityGroupsOperations` + * 2016-09-01: :class:`NetworkSecurityGroupsOperations` + * 2016-12-01: :class:`NetworkSecurityGroupsOperations` + * 2017-03-01: :class:`NetworkSecurityGroupsOperations` + * 2017-06-01: :class:`NetworkSecurityGroupsOperations` + * 2017-08-01: :class:`NetworkSecurityGroupsOperations` + * 2017-09-01: :class:`NetworkSecurityGroupsOperations` + * 2017-10-01: :class:`NetworkSecurityGroupsOperations` + * 2017-11-01: :class:`NetworkSecurityGroupsOperations` + * 2018-01-01: :class:`NetworkSecurityGroupsOperations` + * 2018-02-01: :class:`NetworkSecurityGroupsOperations` + * 2018-04-01: :class:`NetworkSecurityGroupsOperations` + * 2018-06-01: :class:`NetworkSecurityGroupsOperations` + * 2018-07-01: :class:`NetworkSecurityGroupsOperations` + * 2018-08-01: :class:`NetworkSecurityGroupsOperations` + * 2018-10-01: :class:`NetworkSecurityGroupsOperations` + * 2018-11-01: :class:`NetworkSecurityGroupsOperations` + * 2018-12-01: :class:`NetworkSecurityGroupsOperations` + * 2019-02-01: :class:`NetworkSecurityGroupsOperations` + * 2019-04-01: :class:`NetworkSecurityGroupsOperations` + * 2019-06-01: :class:`NetworkSecurityGroupsOperations` + * 2019-07-01: :class:`NetworkSecurityGroupsOperations` + * 2019-08-01: :class:`NetworkSecurityGroupsOperations` + * 2019-09-01: :class:`NetworkSecurityGroupsOperations` + * 2019-11-01: :class:`NetworkSecurityGroupsOperations` + * 2019-12-01: :class:`NetworkSecurityGroupsOperations` + * 2020-03-01: :class:`NetworkSecurityGroupsOperations` + * 2020-04-01: :class:`NetworkSecurityGroupsOperations` + * 2020-05-01: :class:`NetworkSecurityGroupsOperations` + """ + api_version = self._get_api_version('network_security_groups') + if api_version == '2015-06-15': + from .v2015_06_15.operations import NetworkSecurityGroupsOperations as OperationClass + elif api_version == '2016-09-01': + from .v2016_09_01.operations import NetworkSecurityGroupsOperations as OperationClass + elif api_version == '2016-12-01': + from .v2016_12_01.operations import NetworkSecurityGroupsOperations as OperationClass + elif api_version == '2017-03-01': + from .v2017_03_01.operations import NetworkSecurityGroupsOperations as OperationClass + elif api_version == '2017-06-01': + from .v2017_06_01.operations import NetworkSecurityGroupsOperations as OperationClass + elif api_version == '2017-08-01': + from .v2017_08_01.operations import NetworkSecurityGroupsOperations as OperationClass + elif api_version == '2017-09-01': + from .v2017_09_01.operations import NetworkSecurityGroupsOperations as OperationClass + elif api_version == '2017-10-01': + from .v2017_10_01.operations import NetworkSecurityGroupsOperations as OperationClass + elif api_version == '2017-11-01': + from .v2017_11_01.operations import NetworkSecurityGroupsOperations as OperationClass + elif api_version == '2018-01-01': + from .v2018_01_01.operations import NetworkSecurityGroupsOperations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import NetworkSecurityGroupsOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import NetworkSecurityGroupsOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import NetworkSecurityGroupsOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import NetworkSecurityGroupsOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import NetworkSecurityGroupsOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import NetworkSecurityGroupsOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import NetworkSecurityGroupsOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import NetworkSecurityGroupsOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import NetworkSecurityGroupsOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import NetworkSecurityGroupsOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import NetworkSecurityGroupsOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import NetworkSecurityGroupsOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import NetworkSecurityGroupsOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import NetworkSecurityGroupsOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import NetworkSecurityGroupsOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import NetworkSecurityGroupsOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import NetworkSecurityGroupsOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import NetworkSecurityGroupsOperations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import NetworkSecurityGroupsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def network_virtual_appliances(self): + """Instance depends on the API version: + + * 2019-12-01: :class:`NetworkVirtualAppliancesOperations` + * 2020-03-01: :class:`NetworkVirtualAppliancesOperations` + * 2020-04-01: :class:`NetworkVirtualAppliancesOperations` + * 2020-05-01: :class:`NetworkVirtualAppliancesOperations` + """ + api_version = self._get_api_version('network_virtual_appliances') + if api_version == '2019-12-01': + from .v2019_12_01.operations import NetworkVirtualAppliancesOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import NetworkVirtualAppliancesOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import NetworkVirtualAppliancesOperations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import NetworkVirtualAppliancesOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def network_watchers(self): + """Instance depends on the API version: + + * 2016-09-01: :class:`NetworkWatchersOperations` + * 2016-12-01: :class:`NetworkWatchersOperations` + * 2017-03-01: :class:`NetworkWatchersOperations` + * 2017-06-01: :class:`NetworkWatchersOperations` + * 2017-08-01: :class:`NetworkWatchersOperations` + * 2017-09-01: :class:`NetworkWatchersOperations` + * 2017-10-01: :class:`NetworkWatchersOperations` + * 2017-11-01: :class:`NetworkWatchersOperations` + * 2018-01-01: :class:`NetworkWatchersOperations` + * 2018-02-01: :class:`NetworkWatchersOperations` + * 2018-04-01: :class:`NetworkWatchersOperations` + * 2018-06-01: :class:`NetworkWatchersOperations` + * 2018-07-01: :class:`NetworkWatchersOperations` + * 2018-08-01: :class:`NetworkWatchersOperations` + * 2018-10-01: :class:`NetworkWatchersOperations` + * 2018-11-01: :class:`NetworkWatchersOperations` + * 2018-12-01: :class:`NetworkWatchersOperations` + * 2019-02-01: :class:`NetworkWatchersOperations` + * 2019-04-01: :class:`NetworkWatchersOperations` + * 2019-06-01: :class:`NetworkWatchersOperations` + * 2019-07-01: :class:`NetworkWatchersOperations` + * 2019-08-01: :class:`NetworkWatchersOperations` + * 2019-09-01: :class:`NetworkWatchersOperations` + * 2019-11-01: :class:`NetworkWatchersOperations` + * 2019-12-01: :class:`NetworkWatchersOperations` + * 2020-03-01: :class:`NetworkWatchersOperations` + * 2020-04-01: :class:`NetworkWatchersOperations` + * 2020-05-01: :class:`NetworkWatchersOperations` + """ + api_version = self._get_api_version('network_watchers') + if api_version == '2016-09-01': + from .v2016_09_01.operations import NetworkWatchersOperations as OperationClass + elif api_version == '2016-12-01': + from .v2016_12_01.operations import NetworkWatchersOperations as OperationClass + elif api_version == '2017-03-01': + from .v2017_03_01.operations import NetworkWatchersOperations as OperationClass + elif api_version == '2017-06-01': + from .v2017_06_01.operations import NetworkWatchersOperations as OperationClass + elif api_version == '2017-08-01': + from .v2017_08_01.operations import NetworkWatchersOperations as OperationClass + elif api_version == '2017-09-01': + from .v2017_09_01.operations import NetworkWatchersOperations as OperationClass + elif api_version == '2017-10-01': + from .v2017_10_01.operations import NetworkWatchersOperations as OperationClass + elif api_version == '2017-11-01': + from .v2017_11_01.operations import NetworkWatchersOperations as OperationClass + elif api_version == '2018-01-01': + from .v2018_01_01.operations import NetworkWatchersOperations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import NetworkWatchersOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import NetworkWatchersOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import NetworkWatchersOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import NetworkWatchersOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import NetworkWatchersOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import NetworkWatchersOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import NetworkWatchersOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import NetworkWatchersOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import NetworkWatchersOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import NetworkWatchersOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import NetworkWatchersOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import NetworkWatchersOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import NetworkWatchersOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import NetworkWatchersOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import NetworkWatchersOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import NetworkWatchersOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import NetworkWatchersOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import NetworkWatchersOperations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import NetworkWatchersOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def operations(self): + """Instance depends on the API version: + + * 2017-09-01: :class:`Operations` + * 2017-10-01: :class:`Operations` + * 2017-11-01: :class:`Operations` + * 2018-01-01: :class:`Operations` + * 2018-02-01: :class:`Operations` + * 2018-04-01: :class:`Operations` + * 2018-06-01: :class:`Operations` + * 2018-07-01: :class:`Operations` + * 2018-08-01: :class:`Operations` + * 2018-10-01: :class:`Operations` + * 2018-11-01: :class:`Operations` + * 2018-12-01: :class:`Operations` + * 2019-02-01: :class:`Operations` + * 2019-04-01: :class:`Operations` + * 2019-06-01: :class:`Operations` + * 2019-07-01: :class:`Operations` + * 2019-08-01: :class:`Operations` + * 2019-09-01: :class:`Operations` + * 2019-11-01: :class:`Operations` + * 2019-12-01: :class:`Operations` + * 2020-03-01: :class:`Operations` + * 2020-04-01: :class:`Operations` + * 2020-05-01: :class:`Operations` + """ + api_version = self._get_api_version('operations') + if api_version == '2017-09-01': + from .v2017_09_01.operations import Operations as OperationClass + elif api_version == '2017-10-01': + from .v2017_10_01.operations import Operations as OperationClass + elif api_version == '2017-11-01': + from .v2017_11_01.operations import Operations as OperationClass + elif api_version == '2018-01-01': + from .v2018_01_01.operations import Operations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import Operations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import Operations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import Operations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import Operations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import Operations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import Operations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import Operations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import Operations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import Operations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import Operations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import Operations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import Operations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import Operations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import Operations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import Operations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import Operations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import Operations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import Operations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import Operations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def p2s_vpn_gateways(self): + """Instance depends on the API version: + + * 2018-08-01: :class:`P2sVpnGatewaysOperations` + * 2018-10-01: :class:`P2sVpnGatewaysOperations` + * 2018-11-01: :class:`P2sVpnGatewaysOperations` + * 2018-12-01: :class:`P2sVpnGatewaysOperations` + * 2019-02-01: :class:`P2sVpnGatewaysOperations` + * 2019-04-01: :class:`P2sVpnGatewaysOperations` + * 2019-06-01: :class:`P2sVpnGatewaysOperations` + * 2019-07-01: :class:`P2sVpnGatewaysOperations` + * 2019-08-01: :class:`P2sVpnGatewaysOperations` + * 2019-09-01: :class:`P2sVpnGatewaysOperations` + * 2019-11-01: :class:`P2sVpnGatewaysOperations` + * 2019-12-01: :class:`P2sVpnGatewaysOperations` + * 2020-03-01: :class:`P2sVpnGatewaysOperations` + * 2020-04-01: :class:`P2sVpnGatewaysOperations` + * 2020-05-01: :class:`P2sVpnGatewaysOperations` + """ + api_version = self._get_api_version('p2s_vpn_gateways') + if api_version == '2018-08-01': + from .v2018_08_01.operations import P2sVpnGatewaysOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import P2sVpnGatewaysOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import P2sVpnGatewaysOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import P2sVpnGatewaysOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import P2sVpnGatewaysOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import P2sVpnGatewaysOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import P2sVpnGatewaysOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import P2sVpnGatewaysOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import P2sVpnGatewaysOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import P2sVpnGatewaysOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import P2sVpnGatewaysOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import P2sVpnGatewaysOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import P2sVpnGatewaysOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import P2sVpnGatewaysOperations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import P2sVpnGatewaysOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def p2s_vpn_server_configurations(self): + """Instance depends on the API version: + + * 2018-08-01: :class:`P2sVpnServerConfigurationsOperations` + * 2018-10-01: :class:`P2sVpnServerConfigurationsOperations` + * 2018-11-01: :class:`P2sVpnServerConfigurationsOperations` + * 2018-12-01: :class:`P2sVpnServerConfigurationsOperations` + * 2019-02-01: :class:`P2sVpnServerConfigurationsOperations` + * 2019-04-01: :class:`P2sVpnServerConfigurationsOperations` + * 2019-06-01: :class:`P2sVpnServerConfigurationsOperations` + * 2019-07-01: :class:`P2sVpnServerConfigurationsOperations` + """ + api_version = self._get_api_version('p2s_vpn_server_configurations') + if api_version == '2018-08-01': + from .v2018_08_01.operations import P2sVpnServerConfigurationsOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import P2sVpnServerConfigurationsOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import P2sVpnServerConfigurationsOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import P2sVpnServerConfigurationsOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import P2sVpnServerConfigurationsOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import P2sVpnServerConfigurationsOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import P2sVpnServerConfigurationsOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import P2sVpnServerConfigurationsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def packet_captures(self): + """Instance depends on the API version: + + * 2016-09-01: :class:`PacketCapturesOperations` + * 2016-12-01: :class:`PacketCapturesOperations` + * 2017-03-01: :class:`PacketCapturesOperations` + * 2017-06-01: :class:`PacketCapturesOperations` + * 2017-08-01: :class:`PacketCapturesOperations` + * 2017-09-01: :class:`PacketCapturesOperations` + * 2017-10-01: :class:`PacketCapturesOperations` + * 2017-11-01: :class:`PacketCapturesOperations` + * 2018-01-01: :class:`PacketCapturesOperations` + * 2018-02-01: :class:`PacketCapturesOperations` + * 2018-04-01: :class:`PacketCapturesOperations` + * 2018-06-01: :class:`PacketCapturesOperations` + * 2018-07-01: :class:`PacketCapturesOperations` + * 2018-08-01: :class:`PacketCapturesOperations` + * 2018-10-01: :class:`PacketCapturesOperations` + * 2018-11-01: :class:`PacketCapturesOperations` + * 2018-12-01: :class:`PacketCapturesOperations` + * 2019-02-01: :class:`PacketCapturesOperations` + * 2019-04-01: :class:`PacketCapturesOperations` + * 2019-06-01: :class:`PacketCapturesOperations` + * 2019-07-01: :class:`PacketCapturesOperations` + * 2019-08-01: :class:`PacketCapturesOperations` + * 2019-09-01: :class:`PacketCapturesOperations` + * 2019-11-01: :class:`PacketCapturesOperations` + * 2019-12-01: :class:`PacketCapturesOperations` + * 2020-03-01: :class:`PacketCapturesOperations` + * 2020-04-01: :class:`PacketCapturesOperations` + * 2020-05-01: :class:`PacketCapturesOperations` + """ + api_version = self._get_api_version('packet_captures') + if api_version == '2016-09-01': + from .v2016_09_01.operations import PacketCapturesOperations as OperationClass + elif api_version == '2016-12-01': + from .v2016_12_01.operations import PacketCapturesOperations as OperationClass + elif api_version == '2017-03-01': + from .v2017_03_01.operations import PacketCapturesOperations as OperationClass + elif api_version == '2017-06-01': + from .v2017_06_01.operations import PacketCapturesOperations as OperationClass + elif api_version == '2017-08-01': + from .v2017_08_01.operations import PacketCapturesOperations as OperationClass + elif api_version == '2017-09-01': + from .v2017_09_01.operations import PacketCapturesOperations as OperationClass + elif api_version == '2017-10-01': + from .v2017_10_01.operations import PacketCapturesOperations as OperationClass + elif api_version == '2017-11-01': + from .v2017_11_01.operations import PacketCapturesOperations as OperationClass + elif api_version == '2018-01-01': + from .v2018_01_01.operations import PacketCapturesOperations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import PacketCapturesOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import PacketCapturesOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import PacketCapturesOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import PacketCapturesOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import PacketCapturesOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import PacketCapturesOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import PacketCapturesOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import PacketCapturesOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import PacketCapturesOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import PacketCapturesOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import PacketCapturesOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import PacketCapturesOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import PacketCapturesOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import PacketCapturesOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import PacketCapturesOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import PacketCapturesOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import PacketCapturesOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import PacketCapturesOperations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import PacketCapturesOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def peer_express_route_circuit_connections(self): + """Instance depends on the API version: + + * 2018-12-01: :class:`PeerExpressRouteCircuitConnectionsOperations` + * 2019-02-01: :class:`PeerExpressRouteCircuitConnectionsOperations` + * 2019-04-01: :class:`PeerExpressRouteCircuitConnectionsOperations` + * 2019-06-01: :class:`PeerExpressRouteCircuitConnectionsOperations` + * 2019-07-01: :class:`PeerExpressRouteCircuitConnectionsOperations` + * 2019-08-01: :class:`PeerExpressRouteCircuitConnectionsOperations` + * 2019-09-01: :class:`PeerExpressRouteCircuitConnectionsOperations` + * 2019-11-01: :class:`PeerExpressRouteCircuitConnectionsOperations` + * 2019-12-01: :class:`PeerExpressRouteCircuitConnectionsOperations` + * 2020-03-01: :class:`PeerExpressRouteCircuitConnectionsOperations` + * 2020-04-01: :class:`PeerExpressRouteCircuitConnectionsOperations` + * 2020-05-01: :class:`PeerExpressRouteCircuitConnectionsOperations` + """ + api_version = self._get_api_version('peer_express_route_circuit_connections') + if api_version == '2018-12-01': + from .v2018_12_01.operations import PeerExpressRouteCircuitConnectionsOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import PeerExpressRouteCircuitConnectionsOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import PeerExpressRouteCircuitConnectionsOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import PeerExpressRouteCircuitConnectionsOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import PeerExpressRouteCircuitConnectionsOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import PeerExpressRouteCircuitConnectionsOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import PeerExpressRouteCircuitConnectionsOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import PeerExpressRouteCircuitConnectionsOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import PeerExpressRouteCircuitConnectionsOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import PeerExpressRouteCircuitConnectionsOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import PeerExpressRouteCircuitConnectionsOperations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import PeerExpressRouteCircuitConnectionsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def private_dns_zone_groups(self): + """Instance depends on the API version: + + * 2020-03-01: :class:`PrivateDnsZoneGroupsOperations` + * 2020-04-01: :class:`PrivateDnsZoneGroupsOperations` + * 2020-05-01: :class:`PrivateDnsZoneGroupsOperations` + """ + api_version = self._get_api_version('private_dns_zone_groups') + if api_version == '2020-03-01': + from .v2020_03_01.operations import PrivateDnsZoneGroupsOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import PrivateDnsZoneGroupsOperations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import PrivateDnsZoneGroupsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def private_endpoints(self): + """Instance depends on the API version: + + * 2019-04-01: :class:`PrivateEndpointsOperations` + * 2019-06-01: :class:`PrivateEndpointsOperations` + * 2019-07-01: :class:`PrivateEndpointsOperations` + * 2019-08-01: :class:`PrivateEndpointsOperations` + * 2019-09-01: :class:`PrivateEndpointsOperations` + * 2019-11-01: :class:`PrivateEndpointsOperations` + * 2019-12-01: :class:`PrivateEndpointsOperations` + * 2020-03-01: :class:`PrivateEndpointsOperations` + * 2020-04-01: :class:`PrivateEndpointsOperations` + * 2020-05-01: :class:`PrivateEndpointsOperations` + """ + api_version = self._get_api_version('private_endpoints') + if api_version == '2019-04-01': + from .v2019_04_01.operations import PrivateEndpointsOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import PrivateEndpointsOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import PrivateEndpointsOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import PrivateEndpointsOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import PrivateEndpointsOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import PrivateEndpointsOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import PrivateEndpointsOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import PrivateEndpointsOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import PrivateEndpointsOperations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import PrivateEndpointsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def private_link_services(self): + """Instance depends on the API version: + + * 2019-04-01: :class:`PrivateLinkServicesOperations` + * 2019-06-01: :class:`PrivateLinkServicesOperations` + * 2019-07-01: :class:`PrivateLinkServicesOperations` + * 2019-08-01: :class:`PrivateLinkServicesOperations` + * 2019-09-01: :class:`PrivateLinkServicesOperations` + * 2019-11-01: :class:`PrivateLinkServicesOperations` + * 2019-12-01: :class:`PrivateLinkServicesOperations` + * 2020-03-01: :class:`PrivateLinkServicesOperations` + * 2020-04-01: :class:`PrivateLinkServicesOperations` + * 2020-05-01: :class:`PrivateLinkServicesOperations` + """ + api_version = self._get_api_version('private_link_services') + if api_version == '2019-04-01': + from .v2019_04_01.operations import PrivateLinkServicesOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import PrivateLinkServicesOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import PrivateLinkServicesOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import PrivateLinkServicesOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import PrivateLinkServicesOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import PrivateLinkServicesOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import PrivateLinkServicesOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import PrivateLinkServicesOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import PrivateLinkServicesOperations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import PrivateLinkServicesOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def public_ip_addresses(self): + """Instance depends on the API version: + + * 2015-06-15: :class:`PublicIPAddressesOperations` + * 2016-09-01: :class:`PublicIPAddressesOperations` + * 2016-12-01: :class:`PublicIPAddressesOperations` + * 2017-03-01: :class:`PublicIPAddressesOperations` + * 2017-06-01: :class:`PublicIPAddressesOperations` + * 2017-08-01: :class:`PublicIPAddressesOperations` + * 2017-09-01: :class:`PublicIPAddressesOperations` + * 2017-10-01: :class:`PublicIPAddressesOperations` + * 2017-11-01: :class:`PublicIPAddressesOperations` + * 2018-01-01: :class:`PublicIPAddressesOperations` + * 2018-02-01: :class:`PublicIPAddressesOperations` + * 2018-04-01: :class:`PublicIPAddressesOperations` + * 2018-06-01: :class:`PublicIPAddressesOperations` + * 2018-07-01: :class:`PublicIPAddressesOperations` + * 2018-08-01: :class:`PublicIPAddressesOperations` + * 2018-10-01: :class:`PublicIPAddressesOperations` + * 2018-11-01: :class:`PublicIPAddressesOperations` + * 2018-12-01: :class:`PublicIPAddressesOperations` + * 2019-02-01: :class:`PublicIPAddressesOperations` + * 2019-04-01: :class:`PublicIPAddressesOperations` + * 2019-06-01: :class:`PublicIPAddressesOperations` + * 2019-07-01: :class:`PublicIPAddressesOperations` + * 2019-08-01: :class:`PublicIPAddressesOperations` + * 2019-09-01: :class:`PublicIPAddressesOperations` + * 2019-11-01: :class:`PublicIPAddressesOperations` + * 2019-12-01: :class:`PublicIPAddressesOperations` + * 2020-03-01: :class:`PublicIPAddressesOperations` + * 2020-04-01: :class:`PublicIPAddressesOperations` + * 2020-05-01: :class:`PublicIPAddressesOperations` + """ + api_version = self._get_api_version('public_ip_addresses') + if api_version == '2015-06-15': + from .v2015_06_15.operations import PublicIPAddressesOperations as OperationClass + elif api_version == '2016-09-01': + from .v2016_09_01.operations import PublicIPAddressesOperations as OperationClass + elif api_version == '2016-12-01': + from .v2016_12_01.operations import PublicIPAddressesOperations as OperationClass + elif api_version == '2017-03-01': + from .v2017_03_01.operations import PublicIPAddressesOperations as OperationClass + elif api_version == '2017-06-01': + from .v2017_06_01.operations import PublicIPAddressesOperations as OperationClass + elif api_version == '2017-08-01': + from .v2017_08_01.operations import PublicIPAddressesOperations as OperationClass + elif api_version == '2017-09-01': + from .v2017_09_01.operations import PublicIPAddressesOperations as OperationClass + elif api_version == '2017-10-01': + from .v2017_10_01.operations import PublicIPAddressesOperations as OperationClass + elif api_version == '2017-11-01': + from .v2017_11_01.operations import PublicIPAddressesOperations as OperationClass + elif api_version == '2018-01-01': + from .v2018_01_01.operations import PublicIPAddressesOperations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import PublicIPAddressesOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import PublicIPAddressesOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import PublicIPAddressesOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import PublicIPAddressesOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import PublicIPAddressesOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import PublicIPAddressesOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import PublicIPAddressesOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import PublicIPAddressesOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import PublicIPAddressesOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import PublicIPAddressesOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import PublicIPAddressesOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import PublicIPAddressesOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import PublicIPAddressesOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import PublicIPAddressesOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import PublicIPAddressesOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import PublicIPAddressesOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import PublicIPAddressesOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import PublicIPAddressesOperations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import PublicIPAddressesOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def public_ip_prefixes(self): + """Instance depends on the API version: + + * 2018-07-01: :class:`PublicIPPrefixesOperations` + * 2018-08-01: :class:`PublicIPPrefixesOperations` + * 2018-10-01: :class:`PublicIPPrefixesOperations` + * 2018-11-01: :class:`PublicIPPrefixesOperations` + * 2018-12-01: :class:`PublicIPPrefixesOperations` + * 2019-02-01: :class:`PublicIPPrefixesOperations` + * 2019-04-01: :class:`PublicIPPrefixesOperations` + * 2019-06-01: :class:`PublicIPPrefixesOperations` + * 2019-07-01: :class:`PublicIPPrefixesOperations` + * 2019-08-01: :class:`PublicIPPrefixesOperations` + * 2019-09-01: :class:`PublicIPPrefixesOperations` + * 2019-11-01: :class:`PublicIPPrefixesOperations` + * 2019-12-01: :class:`PublicIPPrefixesOperations` + * 2020-03-01: :class:`PublicIPPrefixesOperations` + * 2020-04-01: :class:`PublicIPPrefixesOperations` + * 2020-05-01: :class:`PublicIPPrefixesOperations` + """ + api_version = self._get_api_version('public_ip_prefixes') + if api_version == '2018-07-01': + from .v2018_07_01.operations import PublicIPPrefixesOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import PublicIPPrefixesOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import PublicIPPrefixesOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import PublicIPPrefixesOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import PublicIPPrefixesOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import PublicIPPrefixesOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import PublicIPPrefixesOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import PublicIPPrefixesOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import PublicIPPrefixesOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import PublicIPPrefixesOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import PublicIPPrefixesOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import PublicIPPrefixesOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import PublicIPPrefixesOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import PublicIPPrefixesOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import PublicIPPrefixesOperations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import PublicIPPrefixesOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def resource_navigation_links(self): + """Instance depends on the API version: + + * 2019-02-01: :class:`ResourceNavigationLinksOperations` + * 2019-04-01: :class:`ResourceNavigationLinksOperations` + * 2019-06-01: :class:`ResourceNavigationLinksOperations` + * 2019-07-01: :class:`ResourceNavigationLinksOperations` + * 2019-08-01: :class:`ResourceNavigationLinksOperations` + * 2019-09-01: :class:`ResourceNavigationLinksOperations` + * 2019-11-01: :class:`ResourceNavigationLinksOperations` + * 2019-12-01: :class:`ResourceNavigationLinksOperations` + * 2020-03-01: :class:`ResourceNavigationLinksOperations` + * 2020-04-01: :class:`ResourceNavigationLinksOperations` + * 2020-05-01: :class:`ResourceNavigationLinksOperations` + """ + api_version = self._get_api_version('resource_navigation_links') + if api_version == '2019-02-01': + from .v2019_02_01.operations import ResourceNavigationLinksOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import ResourceNavigationLinksOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import ResourceNavigationLinksOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import ResourceNavigationLinksOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import ResourceNavigationLinksOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import ResourceNavigationLinksOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import ResourceNavigationLinksOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import ResourceNavigationLinksOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import ResourceNavigationLinksOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import ResourceNavigationLinksOperations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import ResourceNavigationLinksOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def route_filter_rules(self): + """Instance depends on the API version: + + * 2016-12-01: :class:`RouteFilterRulesOperations` + * 2017-03-01: :class:`RouteFilterRulesOperations` + * 2017-06-01: :class:`RouteFilterRulesOperations` + * 2017-08-01: :class:`RouteFilterRulesOperations` + * 2017-09-01: :class:`RouteFilterRulesOperations` + * 2017-10-01: :class:`RouteFilterRulesOperations` + * 2017-11-01: :class:`RouteFilterRulesOperations` + * 2018-01-01: :class:`RouteFilterRulesOperations` + * 2018-02-01: :class:`RouteFilterRulesOperations` + * 2018-04-01: :class:`RouteFilterRulesOperations` + * 2018-06-01: :class:`RouteFilterRulesOperations` + * 2018-07-01: :class:`RouteFilterRulesOperations` + * 2018-08-01: :class:`RouteFilterRulesOperations` + * 2018-10-01: :class:`RouteFilterRulesOperations` + * 2018-11-01: :class:`RouteFilterRulesOperations` + * 2018-12-01: :class:`RouteFilterRulesOperations` + * 2019-02-01: :class:`RouteFilterRulesOperations` + * 2019-04-01: :class:`RouteFilterRulesOperations` + * 2019-06-01: :class:`RouteFilterRulesOperations` + * 2019-07-01: :class:`RouteFilterRulesOperations` + * 2019-08-01: :class:`RouteFilterRulesOperations` + * 2019-09-01: :class:`RouteFilterRulesOperations` + * 2019-11-01: :class:`RouteFilterRulesOperations` + * 2019-12-01: :class:`RouteFilterRulesOperations` + * 2020-03-01: :class:`RouteFilterRulesOperations` + * 2020-04-01: :class:`RouteFilterRulesOperations` + * 2020-05-01: :class:`RouteFilterRulesOperations` + """ + api_version = self._get_api_version('route_filter_rules') + if api_version == '2016-12-01': + from .v2016_12_01.operations import RouteFilterRulesOperations as OperationClass + elif api_version == '2017-03-01': + from .v2017_03_01.operations import RouteFilterRulesOperations as OperationClass + elif api_version == '2017-06-01': + from .v2017_06_01.operations import RouteFilterRulesOperations as OperationClass + elif api_version == '2017-08-01': + from .v2017_08_01.operations import RouteFilterRulesOperations as OperationClass + elif api_version == '2017-09-01': + from .v2017_09_01.operations import RouteFilterRulesOperations as OperationClass + elif api_version == '2017-10-01': + from .v2017_10_01.operations import RouteFilterRulesOperations as OperationClass + elif api_version == '2017-11-01': + from .v2017_11_01.operations import RouteFilterRulesOperations as OperationClass + elif api_version == '2018-01-01': + from .v2018_01_01.operations import RouteFilterRulesOperations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import RouteFilterRulesOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import RouteFilterRulesOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import RouteFilterRulesOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import RouteFilterRulesOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import RouteFilterRulesOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import RouteFilterRulesOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import RouteFilterRulesOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import RouteFilterRulesOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import RouteFilterRulesOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import RouteFilterRulesOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import RouteFilterRulesOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import RouteFilterRulesOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import RouteFilterRulesOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import RouteFilterRulesOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import RouteFilterRulesOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import RouteFilterRulesOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import RouteFilterRulesOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import RouteFilterRulesOperations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import RouteFilterRulesOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def route_filters(self): + """Instance depends on the API version: + + * 2016-12-01: :class:`RouteFiltersOperations` + * 2017-03-01: :class:`RouteFiltersOperations` + * 2017-06-01: :class:`RouteFiltersOperations` + * 2017-08-01: :class:`RouteFiltersOperations` + * 2017-09-01: :class:`RouteFiltersOperations` + * 2017-10-01: :class:`RouteFiltersOperations` + * 2017-11-01: :class:`RouteFiltersOperations` + * 2018-01-01: :class:`RouteFiltersOperations` + * 2018-02-01: :class:`RouteFiltersOperations` + * 2018-04-01: :class:`RouteFiltersOperations` + * 2018-06-01: :class:`RouteFiltersOperations` + * 2018-07-01: :class:`RouteFiltersOperations` + * 2018-08-01: :class:`RouteFiltersOperations` + * 2018-10-01: :class:`RouteFiltersOperations` + * 2018-11-01: :class:`RouteFiltersOperations` + * 2018-12-01: :class:`RouteFiltersOperations` + * 2019-02-01: :class:`RouteFiltersOperations` + * 2019-04-01: :class:`RouteFiltersOperations` + * 2019-06-01: :class:`RouteFiltersOperations` + * 2019-07-01: :class:`RouteFiltersOperations` + * 2019-08-01: :class:`RouteFiltersOperations` + * 2019-09-01: :class:`RouteFiltersOperations` + * 2019-11-01: :class:`RouteFiltersOperations` + * 2019-12-01: :class:`RouteFiltersOperations` + * 2020-03-01: :class:`RouteFiltersOperations` + * 2020-04-01: :class:`RouteFiltersOperations` + * 2020-05-01: :class:`RouteFiltersOperations` + """ + api_version = self._get_api_version('route_filters') + if api_version == '2016-12-01': + from .v2016_12_01.operations import RouteFiltersOperations as OperationClass + elif api_version == '2017-03-01': + from .v2017_03_01.operations import RouteFiltersOperations as OperationClass + elif api_version == '2017-06-01': + from .v2017_06_01.operations import RouteFiltersOperations as OperationClass + elif api_version == '2017-08-01': + from .v2017_08_01.operations import RouteFiltersOperations as OperationClass + elif api_version == '2017-09-01': + from .v2017_09_01.operations import RouteFiltersOperations as OperationClass + elif api_version == '2017-10-01': + from .v2017_10_01.operations import RouteFiltersOperations as OperationClass + elif api_version == '2017-11-01': + from .v2017_11_01.operations import RouteFiltersOperations as OperationClass + elif api_version == '2018-01-01': + from .v2018_01_01.operations import RouteFiltersOperations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import RouteFiltersOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import RouteFiltersOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import RouteFiltersOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import RouteFiltersOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import RouteFiltersOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import RouteFiltersOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import RouteFiltersOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import RouteFiltersOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import RouteFiltersOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import RouteFiltersOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import RouteFiltersOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import RouteFiltersOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import RouteFiltersOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import RouteFiltersOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import RouteFiltersOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import RouteFiltersOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import RouteFiltersOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import RouteFiltersOperations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import RouteFiltersOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def route_tables(self): + """Instance depends on the API version: + + * 2015-06-15: :class:`RouteTablesOperations` + * 2016-09-01: :class:`RouteTablesOperations` + * 2016-12-01: :class:`RouteTablesOperations` + * 2017-03-01: :class:`RouteTablesOperations` + * 2017-06-01: :class:`RouteTablesOperations` + * 2017-08-01: :class:`RouteTablesOperations` + * 2017-09-01: :class:`RouteTablesOperations` + * 2017-10-01: :class:`RouteTablesOperations` + * 2017-11-01: :class:`RouteTablesOperations` + * 2018-01-01: :class:`RouteTablesOperations` + * 2018-02-01: :class:`RouteTablesOperations` + * 2018-04-01: :class:`RouteTablesOperations` + * 2018-06-01: :class:`RouteTablesOperations` + * 2018-07-01: :class:`RouteTablesOperations` + * 2018-08-01: :class:`RouteTablesOperations` + * 2018-10-01: :class:`RouteTablesOperations` + * 2018-11-01: :class:`RouteTablesOperations` + * 2018-12-01: :class:`RouteTablesOperations` + * 2019-02-01: :class:`RouteTablesOperations` + * 2019-04-01: :class:`RouteTablesOperations` + * 2019-06-01: :class:`RouteTablesOperations` + * 2019-07-01: :class:`RouteTablesOperations` + * 2019-08-01: :class:`RouteTablesOperations` + * 2019-09-01: :class:`RouteTablesOperations` + * 2019-11-01: :class:`RouteTablesOperations` + * 2019-12-01: :class:`RouteTablesOperations` + * 2020-03-01: :class:`RouteTablesOperations` + * 2020-04-01: :class:`RouteTablesOperations` + * 2020-05-01: :class:`RouteTablesOperations` + """ + api_version = self._get_api_version('route_tables') + if api_version == '2015-06-15': + from .v2015_06_15.operations import RouteTablesOperations as OperationClass + elif api_version == '2016-09-01': + from .v2016_09_01.operations import RouteTablesOperations as OperationClass + elif api_version == '2016-12-01': + from .v2016_12_01.operations import RouteTablesOperations as OperationClass + elif api_version == '2017-03-01': + from .v2017_03_01.operations import RouteTablesOperations as OperationClass + elif api_version == '2017-06-01': + from .v2017_06_01.operations import RouteTablesOperations as OperationClass + elif api_version == '2017-08-01': + from .v2017_08_01.operations import RouteTablesOperations as OperationClass + elif api_version == '2017-09-01': + from .v2017_09_01.operations import RouteTablesOperations as OperationClass + elif api_version == '2017-10-01': + from .v2017_10_01.operations import RouteTablesOperations as OperationClass + elif api_version == '2017-11-01': + from .v2017_11_01.operations import RouteTablesOperations as OperationClass + elif api_version == '2018-01-01': + from .v2018_01_01.operations import RouteTablesOperations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import RouteTablesOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import RouteTablesOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import RouteTablesOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import RouteTablesOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import RouteTablesOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import RouteTablesOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import RouteTablesOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import RouteTablesOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import RouteTablesOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import RouteTablesOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import RouteTablesOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import RouteTablesOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import RouteTablesOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import RouteTablesOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import RouteTablesOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import RouteTablesOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import RouteTablesOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import RouteTablesOperations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import RouteTablesOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def routes(self): + """Instance depends on the API version: + + * 2015-06-15: :class:`RoutesOperations` + * 2016-09-01: :class:`RoutesOperations` + * 2016-12-01: :class:`RoutesOperations` + * 2017-03-01: :class:`RoutesOperations` + * 2017-06-01: :class:`RoutesOperations` + * 2017-08-01: :class:`RoutesOperations` + * 2017-09-01: :class:`RoutesOperations` + * 2017-10-01: :class:`RoutesOperations` + * 2017-11-01: :class:`RoutesOperations` + * 2018-01-01: :class:`RoutesOperations` + * 2018-02-01: :class:`RoutesOperations` + * 2018-04-01: :class:`RoutesOperations` + * 2018-06-01: :class:`RoutesOperations` + * 2018-07-01: :class:`RoutesOperations` + * 2018-08-01: :class:`RoutesOperations` + * 2018-10-01: :class:`RoutesOperations` + * 2018-11-01: :class:`RoutesOperations` + * 2018-12-01: :class:`RoutesOperations` + * 2019-02-01: :class:`RoutesOperations` + * 2019-04-01: :class:`RoutesOperations` + * 2019-06-01: :class:`RoutesOperations` + * 2019-07-01: :class:`RoutesOperations` + * 2019-08-01: :class:`RoutesOperations` + * 2019-09-01: :class:`RoutesOperations` + * 2019-11-01: :class:`RoutesOperations` + * 2019-12-01: :class:`RoutesOperations` + * 2020-03-01: :class:`RoutesOperations` + * 2020-04-01: :class:`RoutesOperations` + * 2020-05-01: :class:`RoutesOperations` + """ + api_version = self._get_api_version('routes') + if api_version == '2015-06-15': + from .v2015_06_15.operations import RoutesOperations as OperationClass + elif api_version == '2016-09-01': + from .v2016_09_01.operations import RoutesOperations as OperationClass + elif api_version == '2016-12-01': + from .v2016_12_01.operations import RoutesOperations as OperationClass + elif api_version == '2017-03-01': + from .v2017_03_01.operations import RoutesOperations as OperationClass + elif api_version == '2017-06-01': + from .v2017_06_01.operations import RoutesOperations as OperationClass + elif api_version == '2017-08-01': + from .v2017_08_01.operations import RoutesOperations as OperationClass + elif api_version == '2017-09-01': + from .v2017_09_01.operations import RoutesOperations as OperationClass + elif api_version == '2017-10-01': + from .v2017_10_01.operations import RoutesOperations as OperationClass + elif api_version == '2017-11-01': + from .v2017_11_01.operations import RoutesOperations as OperationClass + elif api_version == '2018-01-01': + from .v2018_01_01.operations import RoutesOperations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import RoutesOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import RoutesOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import RoutesOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import RoutesOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import RoutesOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import RoutesOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import RoutesOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import RoutesOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import RoutesOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import RoutesOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import RoutesOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import RoutesOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import RoutesOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import RoutesOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import RoutesOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import RoutesOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import RoutesOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import RoutesOperations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import RoutesOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def security_partner_providers(self): + """Instance depends on the API version: + + * 2020-03-01: :class:`SecurityPartnerProvidersOperations` + * 2020-04-01: :class:`SecurityPartnerProvidersOperations` + * 2020-05-01: :class:`SecurityPartnerProvidersOperations` + """ + api_version = self._get_api_version('security_partner_providers') + if api_version == '2020-03-01': + from .v2020_03_01.operations import SecurityPartnerProvidersOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import SecurityPartnerProvidersOperations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import SecurityPartnerProvidersOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def security_rules(self): + """Instance depends on the API version: + + * 2015-06-15: :class:`SecurityRulesOperations` + * 2016-09-01: :class:`SecurityRulesOperations` + * 2016-12-01: :class:`SecurityRulesOperations` + * 2017-03-01: :class:`SecurityRulesOperations` + * 2017-06-01: :class:`SecurityRulesOperations` + * 2017-08-01: :class:`SecurityRulesOperations` + * 2017-09-01: :class:`SecurityRulesOperations` + * 2017-10-01: :class:`SecurityRulesOperations` + * 2017-11-01: :class:`SecurityRulesOperations` + * 2018-01-01: :class:`SecurityRulesOperations` + * 2018-02-01: :class:`SecurityRulesOperations` + * 2018-04-01: :class:`SecurityRulesOperations` + * 2018-06-01: :class:`SecurityRulesOperations` + * 2018-07-01: :class:`SecurityRulesOperations` + * 2018-08-01: :class:`SecurityRulesOperations` + * 2018-10-01: :class:`SecurityRulesOperations` + * 2018-11-01: :class:`SecurityRulesOperations` + * 2018-12-01: :class:`SecurityRulesOperations` + * 2019-02-01: :class:`SecurityRulesOperations` + * 2019-04-01: :class:`SecurityRulesOperations` + * 2019-06-01: :class:`SecurityRulesOperations` + * 2019-07-01: :class:`SecurityRulesOperations` + * 2019-08-01: :class:`SecurityRulesOperations` + * 2019-09-01: :class:`SecurityRulesOperations` + * 2019-11-01: :class:`SecurityRulesOperations` + * 2019-12-01: :class:`SecurityRulesOperations` + * 2020-03-01: :class:`SecurityRulesOperations` + * 2020-04-01: :class:`SecurityRulesOperations` + * 2020-05-01: :class:`SecurityRulesOperations` + """ + api_version = self._get_api_version('security_rules') + if api_version == '2015-06-15': + from .v2015_06_15.operations import SecurityRulesOperations as OperationClass + elif api_version == '2016-09-01': + from .v2016_09_01.operations import SecurityRulesOperations as OperationClass + elif api_version == '2016-12-01': + from .v2016_12_01.operations import SecurityRulesOperations as OperationClass + elif api_version == '2017-03-01': + from .v2017_03_01.operations import SecurityRulesOperations as OperationClass + elif api_version == '2017-06-01': + from .v2017_06_01.operations import SecurityRulesOperations as OperationClass + elif api_version == '2017-08-01': + from .v2017_08_01.operations import SecurityRulesOperations as OperationClass + elif api_version == '2017-09-01': + from .v2017_09_01.operations import SecurityRulesOperations as OperationClass + elif api_version == '2017-10-01': + from .v2017_10_01.operations import SecurityRulesOperations as OperationClass + elif api_version == '2017-11-01': + from .v2017_11_01.operations import SecurityRulesOperations as OperationClass + elif api_version == '2018-01-01': + from .v2018_01_01.operations import SecurityRulesOperations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import SecurityRulesOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import SecurityRulesOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import SecurityRulesOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import SecurityRulesOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import SecurityRulesOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import SecurityRulesOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import SecurityRulesOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import SecurityRulesOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import SecurityRulesOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import SecurityRulesOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import SecurityRulesOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import SecurityRulesOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import SecurityRulesOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import SecurityRulesOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import SecurityRulesOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import SecurityRulesOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import SecurityRulesOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import SecurityRulesOperations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import SecurityRulesOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def service_association_links(self): + """Instance depends on the API version: + + * 2019-02-01: :class:`ServiceAssociationLinksOperations` + * 2019-04-01: :class:`ServiceAssociationLinksOperations` + * 2019-06-01: :class:`ServiceAssociationLinksOperations` + * 2019-07-01: :class:`ServiceAssociationLinksOperations` + * 2019-08-01: :class:`ServiceAssociationLinksOperations` + * 2019-09-01: :class:`ServiceAssociationLinksOperations` + * 2019-11-01: :class:`ServiceAssociationLinksOperations` + * 2019-12-01: :class:`ServiceAssociationLinksOperations` + * 2020-03-01: :class:`ServiceAssociationLinksOperations` + * 2020-04-01: :class:`ServiceAssociationLinksOperations` + * 2020-05-01: :class:`ServiceAssociationLinksOperations` + """ + api_version = self._get_api_version('service_association_links') + if api_version == '2019-02-01': + from .v2019_02_01.operations import ServiceAssociationLinksOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import ServiceAssociationLinksOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import ServiceAssociationLinksOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import ServiceAssociationLinksOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import ServiceAssociationLinksOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import ServiceAssociationLinksOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import ServiceAssociationLinksOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import ServiceAssociationLinksOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import ServiceAssociationLinksOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import ServiceAssociationLinksOperations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import ServiceAssociationLinksOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def service_endpoint_policies(self): + """Instance depends on the API version: + + * 2018-07-01: :class:`ServiceEndpointPoliciesOperations` + * 2018-08-01: :class:`ServiceEndpointPoliciesOperations` + * 2018-10-01: :class:`ServiceEndpointPoliciesOperations` + * 2018-11-01: :class:`ServiceEndpointPoliciesOperations` + * 2018-12-01: :class:`ServiceEndpointPoliciesOperations` + * 2019-02-01: :class:`ServiceEndpointPoliciesOperations` + * 2019-04-01: :class:`ServiceEndpointPoliciesOperations` + * 2019-06-01: :class:`ServiceEndpointPoliciesOperations` + * 2019-07-01: :class:`ServiceEndpointPoliciesOperations` + * 2019-08-01: :class:`ServiceEndpointPoliciesOperations` + * 2019-09-01: :class:`ServiceEndpointPoliciesOperations` + * 2019-11-01: :class:`ServiceEndpointPoliciesOperations` + * 2019-12-01: :class:`ServiceEndpointPoliciesOperations` + * 2020-03-01: :class:`ServiceEndpointPoliciesOperations` + * 2020-04-01: :class:`ServiceEndpointPoliciesOperations` + * 2020-05-01: :class:`ServiceEndpointPoliciesOperations` + """ + api_version = self._get_api_version('service_endpoint_policies') + if api_version == '2018-07-01': + from .v2018_07_01.operations import ServiceEndpointPoliciesOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import ServiceEndpointPoliciesOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import ServiceEndpointPoliciesOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import ServiceEndpointPoliciesOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import ServiceEndpointPoliciesOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import ServiceEndpointPoliciesOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import ServiceEndpointPoliciesOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import ServiceEndpointPoliciesOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import ServiceEndpointPoliciesOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import ServiceEndpointPoliciesOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import ServiceEndpointPoliciesOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import ServiceEndpointPoliciesOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import ServiceEndpointPoliciesOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import ServiceEndpointPoliciesOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import ServiceEndpointPoliciesOperations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import ServiceEndpointPoliciesOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def service_endpoint_policy_definitions(self): + """Instance depends on the API version: + + * 2018-07-01: :class:`ServiceEndpointPolicyDefinitionsOperations` + * 2018-08-01: :class:`ServiceEndpointPolicyDefinitionsOperations` + * 2018-10-01: :class:`ServiceEndpointPolicyDefinitionsOperations` + * 2018-11-01: :class:`ServiceEndpointPolicyDefinitionsOperations` + * 2018-12-01: :class:`ServiceEndpointPolicyDefinitionsOperations` + * 2019-02-01: :class:`ServiceEndpointPolicyDefinitionsOperations` + * 2019-04-01: :class:`ServiceEndpointPolicyDefinitionsOperations` + * 2019-06-01: :class:`ServiceEndpointPolicyDefinitionsOperations` + * 2019-07-01: :class:`ServiceEndpointPolicyDefinitionsOperations` + * 2019-08-01: :class:`ServiceEndpointPolicyDefinitionsOperations` + * 2019-09-01: :class:`ServiceEndpointPolicyDefinitionsOperations` + * 2019-11-01: :class:`ServiceEndpointPolicyDefinitionsOperations` + * 2019-12-01: :class:`ServiceEndpointPolicyDefinitionsOperations` + * 2020-03-01: :class:`ServiceEndpointPolicyDefinitionsOperations` + * 2020-04-01: :class:`ServiceEndpointPolicyDefinitionsOperations` + * 2020-05-01: :class:`ServiceEndpointPolicyDefinitionsOperations` + """ + api_version = self._get_api_version('service_endpoint_policy_definitions') + if api_version == '2018-07-01': + from .v2018_07_01.operations import ServiceEndpointPolicyDefinitionsOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import ServiceEndpointPolicyDefinitionsOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import ServiceEndpointPolicyDefinitionsOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import ServiceEndpointPolicyDefinitionsOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import ServiceEndpointPolicyDefinitionsOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import ServiceEndpointPolicyDefinitionsOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import ServiceEndpointPolicyDefinitionsOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import ServiceEndpointPolicyDefinitionsOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import ServiceEndpointPolicyDefinitionsOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import ServiceEndpointPolicyDefinitionsOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import ServiceEndpointPolicyDefinitionsOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import ServiceEndpointPolicyDefinitionsOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import ServiceEndpointPolicyDefinitionsOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import ServiceEndpointPolicyDefinitionsOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import ServiceEndpointPolicyDefinitionsOperations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import ServiceEndpointPolicyDefinitionsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def service_tags(self): + """Instance depends on the API version: + + * 2019-04-01: :class:`ServiceTagsOperations` + * 2019-06-01: :class:`ServiceTagsOperations` + * 2019-07-01: :class:`ServiceTagsOperations` + * 2019-08-01: :class:`ServiceTagsOperations` + * 2019-09-01: :class:`ServiceTagsOperations` + * 2019-11-01: :class:`ServiceTagsOperations` + * 2019-12-01: :class:`ServiceTagsOperations` + * 2020-03-01: :class:`ServiceTagsOperations` + * 2020-04-01: :class:`ServiceTagsOperations` + * 2020-05-01: :class:`ServiceTagsOperations` + """ + api_version = self._get_api_version('service_tags') + if api_version == '2019-04-01': + from .v2019_04_01.operations import ServiceTagsOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import ServiceTagsOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import ServiceTagsOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import ServiceTagsOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import ServiceTagsOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import ServiceTagsOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import ServiceTagsOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import ServiceTagsOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import ServiceTagsOperations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import ServiceTagsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def subnets(self): + """Instance depends on the API version: + + * 2015-06-15: :class:`SubnetsOperations` + * 2016-09-01: :class:`SubnetsOperations` + * 2016-12-01: :class:`SubnetsOperations` + * 2017-03-01: :class:`SubnetsOperations` + * 2017-06-01: :class:`SubnetsOperations` + * 2017-08-01: :class:`SubnetsOperations` + * 2017-09-01: :class:`SubnetsOperations` + * 2017-10-01: :class:`SubnetsOperations` + * 2017-11-01: :class:`SubnetsOperations` + * 2018-01-01: :class:`SubnetsOperations` + * 2018-02-01: :class:`SubnetsOperations` + * 2018-04-01: :class:`SubnetsOperations` + * 2018-06-01: :class:`SubnetsOperations` + * 2018-07-01: :class:`SubnetsOperations` + * 2018-08-01: :class:`SubnetsOperations` + * 2018-10-01: :class:`SubnetsOperations` + * 2018-11-01: :class:`SubnetsOperations` + * 2018-12-01: :class:`SubnetsOperations` + * 2019-02-01: :class:`SubnetsOperations` + * 2019-04-01: :class:`SubnetsOperations` + * 2019-06-01: :class:`SubnetsOperations` + * 2019-07-01: :class:`SubnetsOperations` + * 2019-08-01: :class:`SubnetsOperations` + * 2019-09-01: :class:`SubnetsOperations` + * 2019-11-01: :class:`SubnetsOperations` + * 2019-12-01: :class:`SubnetsOperations` + * 2020-03-01: :class:`SubnetsOperations` + * 2020-04-01: :class:`SubnetsOperations` + * 2020-05-01: :class:`SubnetsOperations` + """ + api_version = self._get_api_version('subnets') + if api_version == '2015-06-15': + from .v2015_06_15.operations import SubnetsOperations as OperationClass + elif api_version == '2016-09-01': + from .v2016_09_01.operations import SubnetsOperations as OperationClass + elif api_version == '2016-12-01': + from .v2016_12_01.operations import SubnetsOperations as OperationClass + elif api_version == '2017-03-01': + from .v2017_03_01.operations import SubnetsOperations as OperationClass + elif api_version == '2017-06-01': + from .v2017_06_01.operations import SubnetsOperations as OperationClass + elif api_version == '2017-08-01': + from .v2017_08_01.operations import SubnetsOperations as OperationClass + elif api_version == '2017-09-01': + from .v2017_09_01.operations import SubnetsOperations as OperationClass + elif api_version == '2017-10-01': + from .v2017_10_01.operations import SubnetsOperations as OperationClass + elif api_version == '2017-11-01': + from .v2017_11_01.operations import SubnetsOperations as OperationClass + elif api_version == '2018-01-01': + from .v2018_01_01.operations import SubnetsOperations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import SubnetsOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import SubnetsOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import SubnetsOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import SubnetsOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import SubnetsOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import SubnetsOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import SubnetsOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import SubnetsOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import SubnetsOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import SubnetsOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import SubnetsOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import SubnetsOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import SubnetsOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import SubnetsOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import SubnetsOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import SubnetsOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import SubnetsOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import SubnetsOperations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import SubnetsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def usages(self): + """Instance depends on the API version: + + * 2015-06-15: :class:`UsagesOperations` + * 2016-09-01: :class:`UsagesOperations` + * 2016-12-01: :class:`UsagesOperations` + * 2017-03-01: :class:`UsagesOperations` + * 2017-06-01: :class:`UsagesOperations` + * 2017-08-01: :class:`UsagesOperations` + * 2017-09-01: :class:`UsagesOperations` + * 2017-10-01: :class:`UsagesOperations` + * 2017-11-01: :class:`UsagesOperations` + * 2018-01-01: :class:`UsagesOperations` + * 2018-02-01: :class:`UsagesOperations` + * 2018-04-01: :class:`UsagesOperations` + * 2018-06-01: :class:`UsagesOperations` + * 2018-07-01: :class:`UsagesOperations` + * 2018-08-01: :class:`UsagesOperations` + * 2018-10-01: :class:`UsagesOperations` + * 2018-11-01: :class:`UsagesOperations` + * 2018-12-01: :class:`UsagesOperations` + * 2019-02-01: :class:`UsagesOperations` + * 2019-04-01: :class:`UsagesOperations` + * 2019-06-01: :class:`UsagesOperations` + * 2019-07-01: :class:`UsagesOperations` + * 2019-08-01: :class:`UsagesOperations` + * 2019-09-01: :class:`UsagesOperations` + * 2019-11-01: :class:`UsagesOperations` + * 2019-12-01: :class:`UsagesOperations` + * 2020-03-01: :class:`UsagesOperations` + * 2020-04-01: :class:`UsagesOperations` + * 2020-05-01: :class:`UsagesOperations` + """ + api_version = self._get_api_version('usages') + if api_version == '2015-06-15': + from .v2015_06_15.operations import UsagesOperations as OperationClass + elif api_version == '2016-09-01': + from .v2016_09_01.operations import UsagesOperations as OperationClass + elif api_version == '2016-12-01': + from .v2016_12_01.operations import UsagesOperations as OperationClass + elif api_version == '2017-03-01': + from .v2017_03_01.operations import UsagesOperations as OperationClass + elif api_version == '2017-06-01': + from .v2017_06_01.operations import UsagesOperations as OperationClass + elif api_version == '2017-08-01': + from .v2017_08_01.operations import UsagesOperations as OperationClass + elif api_version == '2017-09-01': + from .v2017_09_01.operations import UsagesOperations as OperationClass + elif api_version == '2017-10-01': + from .v2017_10_01.operations import UsagesOperations as OperationClass + elif api_version == '2017-11-01': + from .v2017_11_01.operations import UsagesOperations as OperationClass + elif api_version == '2018-01-01': + from .v2018_01_01.operations import UsagesOperations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import UsagesOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import UsagesOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import UsagesOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import UsagesOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import UsagesOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import UsagesOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import UsagesOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import UsagesOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import UsagesOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import UsagesOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import UsagesOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import UsagesOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import UsagesOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import UsagesOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import UsagesOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import UsagesOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import UsagesOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import UsagesOperations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import UsagesOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def virtual_appliance_sites(self): + """Instance depends on the API version: + + * 2020-05-01: :class:`VirtualApplianceSitesOperations` + """ + api_version = self._get_api_version('virtual_appliance_sites') + if api_version == '2020-05-01': + from .v2020_05_01.operations import VirtualApplianceSitesOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def virtual_appliance_skus(self): + """Instance depends on the API version: + + * 2020-05-01: :class:`VirtualApplianceSkusOperations` + """ + api_version = self._get_api_version('virtual_appliance_skus') + if api_version == '2020-05-01': + from .v2020_05_01.operations import VirtualApplianceSkusOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def virtual_hub_bgp_connection(self): + """Instance depends on the API version: + + * 2020-05-01: :class:`VirtualHubBgpConnectionOperations` + """ + api_version = self._get_api_version('virtual_hub_bgp_connection') + if api_version == '2020-05-01': + from .v2020_05_01.operations import VirtualHubBgpConnectionOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def virtual_hub_bgp_connections(self): + """Instance depends on the API version: + + * 2020-05-01: :class:`VirtualHubBgpConnectionsOperations` + """ + api_version = self._get_api_version('virtual_hub_bgp_connections') + if api_version == '2020-05-01': + from .v2020_05_01.operations import VirtualHubBgpConnectionsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def virtual_hub_ip_configuration(self): + """Instance depends on the API version: + + * 2020-05-01: :class:`VirtualHubIpConfigurationOperations` + """ + api_version = self._get_api_version('virtual_hub_ip_configuration') + if api_version == '2020-05-01': + from .v2020_05_01.operations import VirtualHubIpConfigurationOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def virtual_hub_route_table_v2s(self): + """Instance depends on the API version: + + * 2019-09-01: :class:`VirtualHubRouteTableV2sOperations` + * 2019-11-01: :class:`VirtualHubRouteTableV2sOperations` + * 2019-12-01: :class:`VirtualHubRouteTableV2sOperations` + * 2020-03-01: :class:`VirtualHubRouteTableV2sOperations` + * 2020-04-01: :class:`VirtualHubRouteTableV2sOperations` + * 2020-05-01: :class:`VirtualHubRouteTableV2sOperations` + """ + api_version = self._get_api_version('virtual_hub_route_table_v2s') + if api_version == '2019-09-01': + from .v2019_09_01.operations import VirtualHubRouteTableV2sOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import VirtualHubRouteTableV2sOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import VirtualHubRouteTableV2sOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import VirtualHubRouteTableV2sOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import VirtualHubRouteTableV2sOperations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import VirtualHubRouteTableV2sOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def virtual_hubs(self): + """Instance depends on the API version: + + * 2018-04-01: :class:`VirtualHubsOperations` + * 2018-06-01: :class:`VirtualHubsOperations` + * 2018-07-01: :class:`VirtualHubsOperations` + * 2018-08-01: :class:`VirtualHubsOperations` + * 2018-10-01: :class:`VirtualHubsOperations` + * 2018-11-01: :class:`VirtualHubsOperations` + * 2018-12-01: :class:`VirtualHubsOperations` + * 2019-02-01: :class:`VirtualHubsOperations` + * 2019-04-01: :class:`VirtualHubsOperations` + * 2019-06-01: :class:`VirtualHubsOperations` + * 2019-07-01: :class:`VirtualHubsOperations` + * 2019-08-01: :class:`VirtualHubsOperations` + * 2019-09-01: :class:`VirtualHubsOperations` + * 2019-11-01: :class:`VirtualHubsOperations` + * 2019-12-01: :class:`VirtualHubsOperations` + * 2020-03-01: :class:`VirtualHubsOperations` + * 2020-04-01: :class:`VirtualHubsOperations` + * 2020-05-01: :class:`VirtualHubsOperations` + """ + api_version = self._get_api_version('virtual_hubs') + if api_version == '2018-04-01': + from .v2018_04_01.operations import VirtualHubsOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import VirtualHubsOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import VirtualHubsOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import VirtualHubsOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import VirtualHubsOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import VirtualHubsOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import VirtualHubsOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import VirtualHubsOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import VirtualHubsOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import VirtualHubsOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import VirtualHubsOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import VirtualHubsOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import VirtualHubsOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import VirtualHubsOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import VirtualHubsOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import VirtualHubsOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import VirtualHubsOperations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import VirtualHubsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def virtual_network_gateway_connections(self): + """Instance depends on the API version: + + * 2015-06-15: :class:`VirtualNetworkGatewayConnectionsOperations` + * 2016-09-01: :class:`VirtualNetworkGatewayConnectionsOperations` + * 2016-12-01: :class:`VirtualNetworkGatewayConnectionsOperations` + * 2017-03-01: :class:`VirtualNetworkGatewayConnectionsOperations` + * 2017-06-01: :class:`VirtualNetworkGatewayConnectionsOperations` + * 2017-08-01: :class:`VirtualNetworkGatewayConnectionsOperations` + * 2017-09-01: :class:`VirtualNetworkGatewayConnectionsOperations` + * 2017-10-01: :class:`VirtualNetworkGatewayConnectionsOperations` + * 2017-11-01: :class:`VirtualNetworkGatewayConnectionsOperations` + * 2018-01-01: :class:`VirtualNetworkGatewayConnectionsOperations` + * 2018-02-01: :class:`VirtualNetworkGatewayConnectionsOperations` + * 2018-04-01: :class:`VirtualNetworkGatewayConnectionsOperations` + * 2018-06-01: :class:`VirtualNetworkGatewayConnectionsOperations` + * 2018-07-01: :class:`VirtualNetworkGatewayConnectionsOperations` + * 2018-08-01: :class:`VirtualNetworkGatewayConnectionsOperations` + * 2018-10-01: :class:`VirtualNetworkGatewayConnectionsOperations` + * 2018-11-01: :class:`VirtualNetworkGatewayConnectionsOperations` + * 2018-12-01: :class:`VirtualNetworkGatewayConnectionsOperations` + * 2019-02-01: :class:`VirtualNetworkGatewayConnectionsOperations` + * 2019-04-01: :class:`VirtualNetworkGatewayConnectionsOperations` + * 2019-06-01: :class:`VirtualNetworkGatewayConnectionsOperations` + * 2019-07-01: :class:`VirtualNetworkGatewayConnectionsOperations` + * 2019-08-01: :class:`VirtualNetworkGatewayConnectionsOperations` + * 2019-09-01: :class:`VirtualNetworkGatewayConnectionsOperations` + * 2019-11-01: :class:`VirtualNetworkGatewayConnectionsOperations` + * 2019-12-01: :class:`VirtualNetworkGatewayConnectionsOperations` + * 2020-03-01: :class:`VirtualNetworkGatewayConnectionsOperations` + * 2020-04-01: :class:`VirtualNetworkGatewayConnectionsOperations` + * 2020-05-01: :class:`VirtualNetworkGatewayConnectionsOperations` + """ + api_version = self._get_api_version('virtual_network_gateway_connections') + if api_version == '2015-06-15': + from .v2015_06_15.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass + elif api_version == '2016-09-01': + from .v2016_09_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass + elif api_version == '2016-12-01': + from .v2016_12_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass + elif api_version == '2017-03-01': + from .v2017_03_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass + elif api_version == '2017-06-01': + from .v2017_06_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass + elif api_version == '2017-08-01': + from .v2017_08_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass + elif api_version == '2017-09-01': + from .v2017_09_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass + elif api_version == '2017-10-01': + from .v2017_10_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass + elif api_version == '2017-11-01': + from .v2017_11_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass + elif api_version == '2018-01-01': + from .v2018_01_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def virtual_network_gateways(self): + """Instance depends on the API version: + + * 2015-06-15: :class:`VirtualNetworkGatewaysOperations` + * 2016-09-01: :class:`VirtualNetworkGatewaysOperations` + * 2016-12-01: :class:`VirtualNetworkGatewaysOperations` + * 2017-03-01: :class:`VirtualNetworkGatewaysOperations` + * 2017-06-01: :class:`VirtualNetworkGatewaysOperations` + * 2017-08-01: :class:`VirtualNetworkGatewaysOperations` + * 2017-09-01: :class:`VirtualNetworkGatewaysOperations` + * 2017-10-01: :class:`VirtualNetworkGatewaysOperations` + * 2017-11-01: :class:`VirtualNetworkGatewaysOperations` + * 2018-01-01: :class:`VirtualNetworkGatewaysOperations` + * 2018-02-01: :class:`VirtualNetworkGatewaysOperations` + * 2018-04-01: :class:`VirtualNetworkGatewaysOperations` + * 2018-06-01: :class:`VirtualNetworkGatewaysOperations` + * 2018-07-01: :class:`VirtualNetworkGatewaysOperations` + * 2018-08-01: :class:`VirtualNetworkGatewaysOperations` + * 2018-10-01: :class:`VirtualNetworkGatewaysOperations` + * 2018-11-01: :class:`VirtualNetworkGatewaysOperations` + * 2018-12-01: :class:`VirtualNetworkGatewaysOperations` + * 2019-02-01: :class:`VirtualNetworkGatewaysOperations` + * 2019-04-01: :class:`VirtualNetworkGatewaysOperations` + * 2019-06-01: :class:`VirtualNetworkGatewaysOperations` + * 2019-07-01: :class:`VirtualNetworkGatewaysOperations` + * 2019-08-01: :class:`VirtualNetworkGatewaysOperations` + * 2019-09-01: :class:`VirtualNetworkGatewaysOperations` + * 2019-11-01: :class:`VirtualNetworkGatewaysOperations` + * 2019-12-01: :class:`VirtualNetworkGatewaysOperations` + * 2020-03-01: :class:`VirtualNetworkGatewaysOperations` + * 2020-04-01: :class:`VirtualNetworkGatewaysOperations` + * 2020-05-01: :class:`VirtualNetworkGatewaysOperations` + """ + api_version = self._get_api_version('virtual_network_gateways') + if api_version == '2015-06-15': + from .v2015_06_15.operations import VirtualNetworkGatewaysOperations as OperationClass + elif api_version == '2016-09-01': + from .v2016_09_01.operations import VirtualNetworkGatewaysOperations as OperationClass + elif api_version == '2016-12-01': + from .v2016_12_01.operations import VirtualNetworkGatewaysOperations as OperationClass + elif api_version == '2017-03-01': + from .v2017_03_01.operations import VirtualNetworkGatewaysOperations as OperationClass + elif api_version == '2017-06-01': + from .v2017_06_01.operations import VirtualNetworkGatewaysOperations as OperationClass + elif api_version == '2017-08-01': + from .v2017_08_01.operations import VirtualNetworkGatewaysOperations as OperationClass + elif api_version == '2017-09-01': + from .v2017_09_01.operations import VirtualNetworkGatewaysOperations as OperationClass + elif api_version == '2017-10-01': + from .v2017_10_01.operations import VirtualNetworkGatewaysOperations as OperationClass + elif api_version == '2017-11-01': + from .v2017_11_01.operations import VirtualNetworkGatewaysOperations as OperationClass + elif api_version == '2018-01-01': + from .v2018_01_01.operations import VirtualNetworkGatewaysOperations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import VirtualNetworkGatewaysOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import VirtualNetworkGatewaysOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import VirtualNetworkGatewaysOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import VirtualNetworkGatewaysOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import VirtualNetworkGatewaysOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import VirtualNetworkGatewaysOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import VirtualNetworkGatewaysOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import VirtualNetworkGatewaysOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import VirtualNetworkGatewaysOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import VirtualNetworkGatewaysOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import VirtualNetworkGatewaysOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import VirtualNetworkGatewaysOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import VirtualNetworkGatewaysOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import VirtualNetworkGatewaysOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import VirtualNetworkGatewaysOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import VirtualNetworkGatewaysOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import VirtualNetworkGatewaysOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import VirtualNetworkGatewaysOperations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import VirtualNetworkGatewaysOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def virtual_network_peerings(self): + """Instance depends on the API version: + + * 2016-09-01: :class:`VirtualNetworkPeeringsOperations` + * 2016-12-01: :class:`VirtualNetworkPeeringsOperations` + * 2017-03-01: :class:`VirtualNetworkPeeringsOperations` + * 2017-06-01: :class:`VirtualNetworkPeeringsOperations` + * 2017-08-01: :class:`VirtualNetworkPeeringsOperations` + * 2017-09-01: :class:`VirtualNetworkPeeringsOperations` + * 2017-10-01: :class:`VirtualNetworkPeeringsOperations` + * 2017-11-01: :class:`VirtualNetworkPeeringsOperations` + * 2018-01-01: :class:`VirtualNetworkPeeringsOperations` + * 2018-02-01: :class:`VirtualNetworkPeeringsOperations` + * 2018-04-01: :class:`VirtualNetworkPeeringsOperations` + * 2018-06-01: :class:`VirtualNetworkPeeringsOperations` + * 2018-07-01: :class:`VirtualNetworkPeeringsOperations` + * 2018-08-01: :class:`VirtualNetworkPeeringsOperations` + * 2018-10-01: :class:`VirtualNetworkPeeringsOperations` + * 2018-11-01: :class:`VirtualNetworkPeeringsOperations` + * 2018-12-01: :class:`VirtualNetworkPeeringsOperations` + * 2019-02-01: :class:`VirtualNetworkPeeringsOperations` + * 2019-04-01: :class:`VirtualNetworkPeeringsOperations` + * 2019-06-01: :class:`VirtualNetworkPeeringsOperations` + * 2019-07-01: :class:`VirtualNetworkPeeringsOperations` + * 2019-08-01: :class:`VirtualNetworkPeeringsOperations` + * 2019-09-01: :class:`VirtualNetworkPeeringsOperations` + * 2019-11-01: :class:`VirtualNetworkPeeringsOperations` + * 2019-12-01: :class:`VirtualNetworkPeeringsOperations` + * 2020-03-01: :class:`VirtualNetworkPeeringsOperations` + * 2020-04-01: :class:`VirtualNetworkPeeringsOperations` + * 2020-05-01: :class:`VirtualNetworkPeeringsOperations` + """ + api_version = self._get_api_version('virtual_network_peerings') + if api_version == '2016-09-01': + from .v2016_09_01.operations import VirtualNetworkPeeringsOperations as OperationClass + elif api_version == '2016-12-01': + from .v2016_12_01.operations import VirtualNetworkPeeringsOperations as OperationClass + elif api_version == '2017-03-01': + from .v2017_03_01.operations import VirtualNetworkPeeringsOperations as OperationClass + elif api_version == '2017-06-01': + from .v2017_06_01.operations import VirtualNetworkPeeringsOperations as OperationClass + elif api_version == '2017-08-01': + from .v2017_08_01.operations import VirtualNetworkPeeringsOperations as OperationClass + elif api_version == '2017-09-01': + from .v2017_09_01.operations import VirtualNetworkPeeringsOperations as OperationClass + elif api_version == '2017-10-01': + from .v2017_10_01.operations import VirtualNetworkPeeringsOperations as OperationClass + elif api_version == '2017-11-01': + from .v2017_11_01.operations import VirtualNetworkPeeringsOperations as OperationClass + elif api_version == '2018-01-01': + from .v2018_01_01.operations import VirtualNetworkPeeringsOperations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import VirtualNetworkPeeringsOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import VirtualNetworkPeeringsOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import VirtualNetworkPeeringsOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import VirtualNetworkPeeringsOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import VirtualNetworkPeeringsOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import VirtualNetworkPeeringsOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import VirtualNetworkPeeringsOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import VirtualNetworkPeeringsOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import VirtualNetworkPeeringsOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import VirtualNetworkPeeringsOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import VirtualNetworkPeeringsOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import VirtualNetworkPeeringsOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import VirtualNetworkPeeringsOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import VirtualNetworkPeeringsOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import VirtualNetworkPeeringsOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import VirtualNetworkPeeringsOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import VirtualNetworkPeeringsOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import VirtualNetworkPeeringsOperations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import VirtualNetworkPeeringsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def virtual_network_taps(self): + """Instance depends on the API version: + + * 2018-08-01: :class:`VirtualNetworkTapsOperations` + * 2018-10-01: :class:`VirtualNetworkTapsOperations` + * 2018-11-01: :class:`VirtualNetworkTapsOperations` + * 2018-12-01: :class:`VirtualNetworkTapsOperations` + * 2019-02-01: :class:`VirtualNetworkTapsOperations` + * 2019-04-01: :class:`VirtualNetworkTapsOperations` + * 2019-06-01: :class:`VirtualNetworkTapsOperations` + * 2019-07-01: :class:`VirtualNetworkTapsOperations` + * 2019-08-01: :class:`VirtualNetworkTapsOperations` + * 2019-09-01: :class:`VirtualNetworkTapsOperations` + * 2019-11-01: :class:`VirtualNetworkTapsOperations` + * 2019-12-01: :class:`VirtualNetworkTapsOperations` + * 2020-03-01: :class:`VirtualNetworkTapsOperations` + * 2020-04-01: :class:`VirtualNetworkTapsOperations` + * 2020-05-01: :class:`VirtualNetworkTapsOperations` + """ + api_version = self._get_api_version('virtual_network_taps') + if api_version == '2018-08-01': + from .v2018_08_01.operations import VirtualNetworkTapsOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import VirtualNetworkTapsOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import VirtualNetworkTapsOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import VirtualNetworkTapsOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import VirtualNetworkTapsOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import VirtualNetworkTapsOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import VirtualNetworkTapsOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import VirtualNetworkTapsOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import VirtualNetworkTapsOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import VirtualNetworkTapsOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import VirtualNetworkTapsOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import VirtualNetworkTapsOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import VirtualNetworkTapsOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import VirtualNetworkTapsOperations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import VirtualNetworkTapsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def virtual_networks(self): + """Instance depends on the API version: + + * 2015-06-15: :class:`VirtualNetworksOperations` + * 2016-09-01: :class:`VirtualNetworksOperations` + * 2016-12-01: :class:`VirtualNetworksOperations` + * 2017-03-01: :class:`VirtualNetworksOperations` + * 2017-06-01: :class:`VirtualNetworksOperations` + * 2017-08-01: :class:`VirtualNetworksOperations` + * 2017-09-01: :class:`VirtualNetworksOperations` + * 2017-10-01: :class:`VirtualNetworksOperations` + * 2017-11-01: :class:`VirtualNetworksOperations` + * 2018-01-01: :class:`VirtualNetworksOperations` + * 2018-02-01: :class:`VirtualNetworksOperations` + * 2018-04-01: :class:`VirtualNetworksOperations` + * 2018-06-01: :class:`VirtualNetworksOperations` + * 2018-07-01: :class:`VirtualNetworksOperations` + * 2018-08-01: :class:`VirtualNetworksOperations` + * 2018-10-01: :class:`VirtualNetworksOperations` + * 2018-11-01: :class:`VirtualNetworksOperations` + * 2018-12-01: :class:`VirtualNetworksOperations` + * 2019-02-01: :class:`VirtualNetworksOperations` + * 2019-04-01: :class:`VirtualNetworksOperations` + * 2019-06-01: :class:`VirtualNetworksOperations` + * 2019-07-01: :class:`VirtualNetworksOperations` + * 2019-08-01: :class:`VirtualNetworksOperations` + * 2019-09-01: :class:`VirtualNetworksOperations` + * 2019-11-01: :class:`VirtualNetworksOperations` + * 2019-12-01: :class:`VirtualNetworksOperations` + * 2020-03-01: :class:`VirtualNetworksOperations` + * 2020-04-01: :class:`VirtualNetworksOperations` + * 2020-05-01: :class:`VirtualNetworksOperations` + """ + api_version = self._get_api_version('virtual_networks') + if api_version == '2015-06-15': + from .v2015_06_15.operations import VirtualNetworksOperations as OperationClass + elif api_version == '2016-09-01': + from .v2016_09_01.operations import VirtualNetworksOperations as OperationClass + elif api_version == '2016-12-01': + from .v2016_12_01.operations import VirtualNetworksOperations as OperationClass + elif api_version == '2017-03-01': + from .v2017_03_01.operations import VirtualNetworksOperations as OperationClass + elif api_version == '2017-06-01': + from .v2017_06_01.operations import VirtualNetworksOperations as OperationClass + elif api_version == '2017-08-01': + from .v2017_08_01.operations import VirtualNetworksOperations as OperationClass + elif api_version == '2017-09-01': + from .v2017_09_01.operations import VirtualNetworksOperations as OperationClass + elif api_version == '2017-10-01': + from .v2017_10_01.operations import VirtualNetworksOperations as OperationClass + elif api_version == '2017-11-01': + from .v2017_11_01.operations import VirtualNetworksOperations as OperationClass + elif api_version == '2018-01-01': + from .v2018_01_01.operations import VirtualNetworksOperations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import VirtualNetworksOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import VirtualNetworksOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import VirtualNetworksOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import VirtualNetworksOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import VirtualNetworksOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import VirtualNetworksOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import VirtualNetworksOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import VirtualNetworksOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import VirtualNetworksOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import VirtualNetworksOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import VirtualNetworksOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import VirtualNetworksOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import VirtualNetworksOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import VirtualNetworksOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import VirtualNetworksOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import VirtualNetworksOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import VirtualNetworksOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import VirtualNetworksOperations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import VirtualNetworksOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def virtual_router_peerings(self): + """Instance depends on the API version: + + * 2019-07-01: :class:`VirtualRouterPeeringsOperations` + * 2019-08-01: :class:`VirtualRouterPeeringsOperations` + * 2019-09-01: :class:`VirtualRouterPeeringsOperations` + * 2019-11-01: :class:`VirtualRouterPeeringsOperations` + * 2019-12-01: :class:`VirtualRouterPeeringsOperations` + * 2020-03-01: :class:`VirtualRouterPeeringsOperations` + * 2020-04-01: :class:`VirtualRouterPeeringsOperations` + * 2020-05-01: :class:`VirtualRouterPeeringsOperations` + """ + api_version = self._get_api_version('virtual_router_peerings') + if api_version == '2019-07-01': + from .v2019_07_01.operations import VirtualRouterPeeringsOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import VirtualRouterPeeringsOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import VirtualRouterPeeringsOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import VirtualRouterPeeringsOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import VirtualRouterPeeringsOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import VirtualRouterPeeringsOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import VirtualRouterPeeringsOperations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import VirtualRouterPeeringsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def virtual_routers(self): + """Instance depends on the API version: + + * 2019-07-01: :class:`VirtualRoutersOperations` + * 2019-08-01: :class:`VirtualRoutersOperations` + * 2019-09-01: :class:`VirtualRoutersOperations` + * 2019-11-01: :class:`VirtualRoutersOperations` + * 2019-12-01: :class:`VirtualRoutersOperations` + * 2020-03-01: :class:`VirtualRoutersOperations` + * 2020-04-01: :class:`VirtualRoutersOperations` + * 2020-05-01: :class:`VirtualRoutersOperations` + """ + api_version = self._get_api_version('virtual_routers') + if api_version == '2019-07-01': + from .v2019_07_01.operations import VirtualRoutersOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import VirtualRoutersOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import VirtualRoutersOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import VirtualRoutersOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import VirtualRoutersOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import VirtualRoutersOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import VirtualRoutersOperations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import VirtualRoutersOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def virtual_wa_ns(self): + """Instance depends on the API version: + + * 2018-04-01: :class:`VirtualWANsOperations` + * 2018-06-01: :class:`VirtualWANsOperations` + * 2018-07-01: :class:`VirtualWANsOperations` + """ + api_version = self._get_api_version('virtual_wa_ns') + if api_version == '2018-04-01': + from .v2018_04_01.operations import VirtualWANsOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import VirtualWANsOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import VirtualWANsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def virtual_wans(self): + """Instance depends on the API version: + + * 2018-08-01: :class:`VirtualWansOperations` + * 2018-10-01: :class:`VirtualWansOperations` + * 2018-11-01: :class:`VirtualWansOperations` + * 2018-12-01: :class:`VirtualWansOperations` + * 2019-02-01: :class:`VirtualWansOperations` + * 2019-04-01: :class:`VirtualWansOperations` + * 2019-06-01: :class:`VirtualWansOperations` + * 2019-07-01: :class:`VirtualWansOperations` + * 2019-08-01: :class:`VirtualWansOperations` + * 2019-09-01: :class:`VirtualWansOperations` + * 2019-11-01: :class:`VirtualWansOperations` + * 2019-12-01: :class:`VirtualWansOperations` + * 2020-03-01: :class:`VirtualWansOperations` + * 2020-04-01: :class:`VirtualWansOperations` + * 2020-05-01: :class:`VirtualWansOperations` + """ + api_version = self._get_api_version('virtual_wans') + if api_version == '2018-08-01': + from .v2018_08_01.operations import VirtualWansOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import VirtualWansOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import VirtualWansOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import VirtualWansOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import VirtualWansOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import VirtualWansOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import VirtualWansOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import VirtualWansOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import VirtualWansOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import VirtualWansOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import VirtualWansOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import VirtualWansOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import VirtualWansOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import VirtualWansOperations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import VirtualWansOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def vpn_connections(self): + """Instance depends on the API version: + + * 2018-04-01: :class:`VpnConnectionsOperations` + * 2018-06-01: :class:`VpnConnectionsOperations` + * 2018-07-01: :class:`VpnConnectionsOperations` + * 2018-08-01: :class:`VpnConnectionsOperations` + * 2018-10-01: :class:`VpnConnectionsOperations` + * 2018-11-01: :class:`VpnConnectionsOperations` + * 2018-12-01: :class:`VpnConnectionsOperations` + * 2019-02-01: :class:`VpnConnectionsOperations` + * 2019-04-01: :class:`VpnConnectionsOperations` + * 2019-06-01: :class:`VpnConnectionsOperations` + * 2019-07-01: :class:`VpnConnectionsOperations` + * 2019-08-01: :class:`VpnConnectionsOperations` + * 2019-09-01: :class:`VpnConnectionsOperations` + * 2019-11-01: :class:`VpnConnectionsOperations` + * 2019-12-01: :class:`VpnConnectionsOperations` + * 2020-03-01: :class:`VpnConnectionsOperations` + * 2020-04-01: :class:`VpnConnectionsOperations` + * 2020-05-01: :class:`VpnConnectionsOperations` + """ + api_version = self._get_api_version('vpn_connections') + if api_version == '2018-04-01': + from .v2018_04_01.operations import VpnConnectionsOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import VpnConnectionsOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import VpnConnectionsOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import VpnConnectionsOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import VpnConnectionsOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import VpnConnectionsOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import VpnConnectionsOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import VpnConnectionsOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import VpnConnectionsOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import VpnConnectionsOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import VpnConnectionsOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import VpnConnectionsOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import VpnConnectionsOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import VpnConnectionsOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import VpnConnectionsOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import VpnConnectionsOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import VpnConnectionsOperations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import VpnConnectionsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def vpn_gateways(self): + """Instance depends on the API version: + + * 2018-04-01: :class:`VpnGatewaysOperations` + * 2018-06-01: :class:`VpnGatewaysOperations` + * 2018-07-01: :class:`VpnGatewaysOperations` + * 2018-08-01: :class:`VpnGatewaysOperations` + * 2018-10-01: :class:`VpnGatewaysOperations` + * 2018-11-01: :class:`VpnGatewaysOperations` + * 2018-12-01: :class:`VpnGatewaysOperations` + * 2019-02-01: :class:`VpnGatewaysOperations` + * 2019-04-01: :class:`VpnGatewaysOperations` + * 2019-06-01: :class:`VpnGatewaysOperations` + * 2019-07-01: :class:`VpnGatewaysOperations` + * 2019-08-01: :class:`VpnGatewaysOperations` + * 2019-09-01: :class:`VpnGatewaysOperations` + * 2019-11-01: :class:`VpnGatewaysOperations` + * 2019-12-01: :class:`VpnGatewaysOperations` + * 2020-03-01: :class:`VpnGatewaysOperations` + * 2020-04-01: :class:`VpnGatewaysOperations` + * 2020-05-01: :class:`VpnGatewaysOperations` + """ + api_version = self._get_api_version('vpn_gateways') + if api_version == '2018-04-01': + from .v2018_04_01.operations import VpnGatewaysOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import VpnGatewaysOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import VpnGatewaysOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import VpnGatewaysOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import VpnGatewaysOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import VpnGatewaysOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import VpnGatewaysOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import VpnGatewaysOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import VpnGatewaysOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import VpnGatewaysOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import VpnGatewaysOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import VpnGatewaysOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import VpnGatewaysOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import VpnGatewaysOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import VpnGatewaysOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import VpnGatewaysOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import VpnGatewaysOperations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import VpnGatewaysOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def vpn_link_connections(self): + """Instance depends on the API version: + + * 2019-06-01: :class:`VpnLinkConnectionsOperations` + * 2019-07-01: :class:`VpnLinkConnectionsOperations` + * 2019-08-01: :class:`VpnLinkConnectionsOperations` + * 2019-09-01: :class:`VpnLinkConnectionsOperations` + * 2019-11-01: :class:`VpnLinkConnectionsOperations` + * 2019-12-01: :class:`VpnLinkConnectionsOperations` + * 2020-03-01: :class:`VpnLinkConnectionsOperations` + * 2020-04-01: :class:`VpnLinkConnectionsOperations` + * 2020-05-01: :class:`VpnLinkConnectionsOperations` + """ + api_version = self._get_api_version('vpn_link_connections') + if api_version == '2019-06-01': + from .v2019_06_01.operations import VpnLinkConnectionsOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import VpnLinkConnectionsOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import VpnLinkConnectionsOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import VpnLinkConnectionsOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import VpnLinkConnectionsOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import VpnLinkConnectionsOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import VpnLinkConnectionsOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import VpnLinkConnectionsOperations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import VpnLinkConnectionsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def vpn_server_configurations(self): + """Instance depends on the API version: + + * 2019-08-01: :class:`VpnServerConfigurationsOperations` + * 2019-09-01: :class:`VpnServerConfigurationsOperations` + * 2019-11-01: :class:`VpnServerConfigurationsOperations` + * 2019-12-01: :class:`VpnServerConfigurationsOperations` + * 2020-03-01: :class:`VpnServerConfigurationsOperations` + * 2020-04-01: :class:`VpnServerConfigurationsOperations` + * 2020-05-01: :class:`VpnServerConfigurationsOperations` + """ + api_version = self._get_api_version('vpn_server_configurations') + if api_version == '2019-08-01': + from .v2019_08_01.operations import VpnServerConfigurationsOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import VpnServerConfigurationsOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import VpnServerConfigurationsOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import VpnServerConfigurationsOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import VpnServerConfigurationsOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import VpnServerConfigurationsOperations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import VpnServerConfigurationsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def vpn_server_configurations_associated_with_virtual_wan(self): + """Instance depends on the API version: + + * 2019-08-01: :class:`VpnServerConfigurationsAssociatedWithVirtualWanOperations` + * 2019-09-01: :class:`VpnServerConfigurationsAssociatedWithVirtualWanOperations` + * 2019-11-01: :class:`VpnServerConfigurationsAssociatedWithVirtualWanOperations` + * 2019-12-01: :class:`VpnServerConfigurationsAssociatedWithVirtualWanOperations` + * 2020-03-01: :class:`VpnServerConfigurationsAssociatedWithVirtualWanOperations` + * 2020-04-01: :class:`VpnServerConfigurationsAssociatedWithVirtualWanOperations` + * 2020-05-01: :class:`VpnServerConfigurationsAssociatedWithVirtualWanOperations` + """ + api_version = self._get_api_version('vpn_server_configurations_associated_with_virtual_wan') + if api_version == '2019-08-01': + from .v2019_08_01.operations import VpnServerConfigurationsAssociatedWithVirtualWanOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import VpnServerConfigurationsAssociatedWithVirtualWanOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import VpnServerConfigurationsAssociatedWithVirtualWanOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import VpnServerConfigurationsAssociatedWithVirtualWanOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import VpnServerConfigurationsAssociatedWithVirtualWanOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import VpnServerConfigurationsAssociatedWithVirtualWanOperations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import VpnServerConfigurationsAssociatedWithVirtualWanOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def vpn_site_link_connections(self): + """Instance depends on the API version: + + * 2019-06-01: :class:`VpnSiteLinkConnectionsOperations` + * 2019-07-01: :class:`VpnSiteLinkConnectionsOperations` + * 2019-08-01: :class:`VpnSiteLinkConnectionsOperations` + * 2019-09-01: :class:`VpnSiteLinkConnectionsOperations` + * 2019-11-01: :class:`VpnSiteLinkConnectionsOperations` + * 2019-12-01: :class:`VpnSiteLinkConnectionsOperations` + * 2020-03-01: :class:`VpnSiteLinkConnectionsOperations` + * 2020-04-01: :class:`VpnSiteLinkConnectionsOperations` + * 2020-05-01: :class:`VpnSiteLinkConnectionsOperations` + """ + api_version = self._get_api_version('vpn_site_link_connections') + if api_version == '2019-06-01': + from .v2019_06_01.operations import VpnSiteLinkConnectionsOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import VpnSiteLinkConnectionsOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import VpnSiteLinkConnectionsOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import VpnSiteLinkConnectionsOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import VpnSiteLinkConnectionsOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import VpnSiteLinkConnectionsOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import VpnSiteLinkConnectionsOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import VpnSiteLinkConnectionsOperations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import VpnSiteLinkConnectionsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def vpn_site_links(self): + """Instance depends on the API version: + + * 2019-06-01: :class:`VpnSiteLinksOperations` + * 2019-07-01: :class:`VpnSiteLinksOperations` + * 2019-08-01: :class:`VpnSiteLinksOperations` + * 2019-09-01: :class:`VpnSiteLinksOperations` + * 2019-11-01: :class:`VpnSiteLinksOperations` + * 2019-12-01: :class:`VpnSiteLinksOperations` + * 2020-03-01: :class:`VpnSiteLinksOperations` + * 2020-04-01: :class:`VpnSiteLinksOperations` + * 2020-05-01: :class:`VpnSiteLinksOperations` + """ + api_version = self._get_api_version('vpn_site_links') + if api_version == '2019-06-01': + from .v2019_06_01.operations import VpnSiteLinksOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import VpnSiteLinksOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import VpnSiteLinksOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import VpnSiteLinksOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import VpnSiteLinksOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import VpnSiteLinksOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import VpnSiteLinksOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import VpnSiteLinksOperations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import VpnSiteLinksOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def vpn_sites(self): + """Instance depends on the API version: + + * 2018-04-01: :class:`VpnSitesOperations` + * 2018-06-01: :class:`VpnSitesOperations` + * 2018-07-01: :class:`VpnSitesOperations` + * 2018-08-01: :class:`VpnSitesOperations` + * 2018-10-01: :class:`VpnSitesOperations` + * 2018-11-01: :class:`VpnSitesOperations` + * 2018-12-01: :class:`VpnSitesOperations` + * 2019-02-01: :class:`VpnSitesOperations` + * 2019-04-01: :class:`VpnSitesOperations` + * 2019-06-01: :class:`VpnSitesOperations` + * 2019-07-01: :class:`VpnSitesOperations` + * 2019-08-01: :class:`VpnSitesOperations` + * 2019-09-01: :class:`VpnSitesOperations` + * 2019-11-01: :class:`VpnSitesOperations` + * 2019-12-01: :class:`VpnSitesOperations` + * 2020-03-01: :class:`VpnSitesOperations` + * 2020-04-01: :class:`VpnSitesOperations` + * 2020-05-01: :class:`VpnSitesOperations` + """ + api_version = self._get_api_version('vpn_sites') + if api_version == '2018-04-01': + from .v2018_04_01.operations import VpnSitesOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import VpnSitesOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import VpnSitesOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import VpnSitesOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import VpnSitesOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import VpnSitesOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import VpnSitesOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import VpnSitesOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import VpnSitesOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import VpnSitesOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import VpnSitesOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import VpnSitesOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import VpnSitesOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import VpnSitesOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import VpnSitesOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import VpnSitesOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import VpnSitesOperations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import VpnSitesOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def vpn_sites_configuration(self): + """Instance depends on the API version: + + * 2018-04-01: :class:`VpnSitesConfigurationOperations` + * 2018-06-01: :class:`VpnSitesConfigurationOperations` + * 2018-07-01: :class:`VpnSitesConfigurationOperations` + * 2018-08-01: :class:`VpnSitesConfigurationOperations` + * 2018-10-01: :class:`VpnSitesConfigurationOperations` + * 2018-11-01: :class:`VpnSitesConfigurationOperations` + * 2018-12-01: :class:`VpnSitesConfigurationOperations` + * 2019-02-01: :class:`VpnSitesConfigurationOperations` + * 2019-04-01: :class:`VpnSitesConfigurationOperations` + * 2019-06-01: :class:`VpnSitesConfigurationOperations` + * 2019-07-01: :class:`VpnSitesConfigurationOperations` + * 2019-08-01: :class:`VpnSitesConfigurationOperations` + * 2019-09-01: :class:`VpnSitesConfigurationOperations` + * 2019-11-01: :class:`VpnSitesConfigurationOperations` + * 2019-12-01: :class:`VpnSitesConfigurationOperations` + * 2020-03-01: :class:`VpnSitesConfigurationOperations` + * 2020-04-01: :class:`VpnSitesConfigurationOperations` + * 2020-05-01: :class:`VpnSitesConfigurationOperations` + """ + api_version = self._get_api_version('vpn_sites_configuration') + if api_version == '2018-04-01': + from .v2018_04_01.operations import VpnSitesConfigurationOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import VpnSitesConfigurationOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import VpnSitesConfigurationOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import VpnSitesConfigurationOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import VpnSitesConfigurationOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import VpnSitesConfigurationOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import VpnSitesConfigurationOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import VpnSitesConfigurationOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import VpnSitesConfigurationOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import VpnSitesConfigurationOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import VpnSitesConfigurationOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import VpnSitesConfigurationOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import VpnSitesConfigurationOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import VpnSitesConfigurationOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import VpnSitesConfigurationOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import VpnSitesConfigurationOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import VpnSitesConfigurationOperations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import VpnSitesConfigurationOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def web_application_firewall_policies(self): + """Instance depends on the API version: + + * 2018-12-01: :class:`WebApplicationFirewallPoliciesOperations` + * 2019-02-01: :class:`WebApplicationFirewallPoliciesOperations` + * 2019-04-01: :class:`WebApplicationFirewallPoliciesOperations` + * 2019-06-01: :class:`WebApplicationFirewallPoliciesOperations` + * 2019-07-01: :class:`WebApplicationFirewallPoliciesOperations` + * 2019-08-01: :class:`WebApplicationFirewallPoliciesOperations` + * 2019-09-01: :class:`WebApplicationFirewallPoliciesOperations` + * 2019-11-01: :class:`WebApplicationFirewallPoliciesOperations` + * 2019-12-01: :class:`WebApplicationFirewallPoliciesOperations` + * 2020-03-01: :class:`WebApplicationFirewallPoliciesOperations` + * 2020-04-01: :class:`WebApplicationFirewallPoliciesOperations` + * 2020-05-01: :class:`WebApplicationFirewallPoliciesOperations` + """ + api_version = self._get_api_version('web_application_firewall_policies') + if api_version == '2018-12-01': + from .v2018_12_01.operations import WebApplicationFirewallPoliciesOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import WebApplicationFirewallPoliciesOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import WebApplicationFirewallPoliciesOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import WebApplicationFirewallPoliciesOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import WebApplicationFirewallPoliciesOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import WebApplicationFirewallPoliciesOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import WebApplicationFirewallPoliciesOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import WebApplicationFirewallPoliciesOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import WebApplicationFirewallPoliciesOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import WebApplicationFirewallPoliciesOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import WebApplicationFirewallPoliciesOperations as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import WebApplicationFirewallPoliciesOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/_operations_mixin.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/_operations_mixin.py new file mode 100644 index 00000000000..e8a143240e6 --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/_operations_mixin.py @@ -0,0 +1,451 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +from msrest import Serializer, Deserializer + + +class NetworkManagementClientOperationsMixin(object): + + + def check_dns_name_availability(self, location, domain_name_label, custom_headers=None, raw=False, **operation_config): + """Checks whether a domain name in the cloudapp.azure.com zone is + available for use. + + :param location: The location of the domain name. + :type location: str + :param domain_name_label: The domain name to be verified. It must + conform to the following regular expression: + ^[a-z][a-z0-9-]{1,61}[a-z0-9]$. + :type domain_name_label: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: DnsNameAvailabilityResult or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.network.v2020_05_01.models.DnsNameAvailabilityResult or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + + """ + api_version = self._get_api_version('check_dns_name_availability') + if api_version == '2015-06-15': + from .v2015_06_15.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2016-09-01': + from .v2016_09_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2016-12-01': + from .v2016_12_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2017-03-01': + from .v2017_03_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2017-06-01': + from .v2017_06_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2017-08-01': + from .v2017_08_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2017-09-01': + from .v2017_09_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2017-10-01': + from .v2017_10_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2017-11-01': + from .v2017_11_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2018-01-01': + from .v2018_01_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import NetworkManagementClientOperationsMixin as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + mixin_instance = OperationClass() + mixin_instance._client = self._client + mixin_instance.config = self.config + mixin_instance._serialize = Serializer(self._models_dict(api_version)) + mixin_instance._deserialize = Deserializer(self._models_dict(api_version)) + mixin_instance.api_version = api_version + return mixin_instance.check_dns_name_availability(location, domain_name_label, custom_headers, raw, **operation_config) + + def delete_bastion_shareable_link(self, resource_group_name, bastion_host_name, vms=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the Bastion Shareable Links for all the VMs specified in the + request. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param bastion_host_name: The name of the Bastion Host. + :type bastion_host_name: str + :param vms: List of VM references. + :type vms: + list[~azure.mgmt.network.v2020_05_01.models.BastionShareableLink] + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + + """ + api_version = self._get_api_version('delete_bastion_shareable_link') + if api_version == '2019-09-01': + from .v2019_09_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import NetworkManagementClientOperationsMixin as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + mixin_instance = OperationClass() + mixin_instance._client = self._client + mixin_instance.config = self.config + mixin_instance._serialize = Serializer(self._models_dict(api_version)) + mixin_instance._deserialize = Deserializer(self._models_dict(api_version)) + mixin_instance.api_version = api_version + return mixin_instance.delete_bastion_shareable_link(resource_group_name, bastion_host_name, vms, custom_headers, raw, polling, **operation_config) + + def disconnect_active_sessions(self, resource_group_name, bastion_host_name, session_ids=None, custom_headers=None, raw=False, **operation_config): + """Returns the list of currently active sessions on the Bastion. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param bastion_host_name: The name of the Bastion Host. + :type bastion_host_name: str + :param session_ids: List of session IDs. + :type session_ids: list[str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of BastionSessionState + :rtype: + ~azure.mgmt.network.v2020_05_01.models.BastionSessionStatePaged[~azure.mgmt.network.v2020_05_01.models.BastionSessionState] + :raises: :class:`CloudError` + + """ + api_version = self._get_api_version('disconnect_active_sessions') + if api_version == '2019-09-01': + from .v2019_09_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import NetworkManagementClientOperationsMixin as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + mixin_instance = OperationClass() + mixin_instance._client = self._client + mixin_instance.config = self.config + mixin_instance._serialize = Serializer(self._models_dict(api_version)) + mixin_instance._deserialize = Deserializer(self._models_dict(api_version)) + mixin_instance.api_version = api_version + return mixin_instance.disconnect_active_sessions(resource_group_name, bastion_host_name, session_ids, custom_headers, raw, **operation_config) + + def generatevirtualwanvpnserverconfigurationvpnprofile(self, resource_group_name, virtual_wan_name, vpn_server_configuration_resource_id=None, authentication_method=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Generates a unique VPN profile for P2S clients for VirtualWan and + associated VpnServerConfiguration combination in the specified resource + group. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param virtual_wan_name: The name of the VirtualWAN whose associated + VpnServerConfigurations is needed. + :type virtual_wan_name: str + :param vpn_server_configuration_resource_id: VpnServerConfiguration + partial resource uri with which VirtualWan is associated to. + :type vpn_server_configuration_resource_id: str + :param authentication_method: VPN client authentication method. + Possible values include: 'EAPTLS', 'EAPMSCHAPv2' + :type authentication_method: str or + ~azure.mgmt.network.v2020_05_01.models.AuthenticationMethod + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns VpnProfileResponse or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.VpnProfileResponse] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.VpnProfileResponse]] + :raises: :class:`CloudError` + + """ + api_version = self._get_api_version('generatevirtualwanvpnserverconfigurationvpnprofile') + if api_version == '2019-08-01': + from .v2019_08_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import NetworkManagementClientOperationsMixin as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + mixin_instance = OperationClass() + mixin_instance._client = self._client + mixin_instance.config = self.config + mixin_instance._serialize = Serializer(self._models_dict(api_version)) + mixin_instance._deserialize = Deserializer(self._models_dict(api_version)) + mixin_instance.api_version = api_version + return mixin_instance.generatevirtualwanvpnserverconfigurationvpnprofile(resource_group_name, virtual_wan_name, vpn_server_configuration_resource_id, authentication_method, custom_headers, raw, polling, **operation_config) + + def get_active_sessions(self, resource_group_name, bastion_host_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Returns the list of currently active sessions on the Bastion. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param bastion_host_name: The name of the Bastion Host. + :type bastion_host_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + BastionActiveSessionListResult or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.BastionActiveSessionListResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.BastionActiveSessionListResult]] + :raises: :class:`CloudError` + + """ + api_version = self._get_api_version('get_active_sessions') + if api_version == '2019-09-01': + from .v2019_09_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import NetworkManagementClientOperationsMixin as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + mixin_instance = OperationClass() + mixin_instance._client = self._client + mixin_instance.config = self.config + mixin_instance._serialize = Serializer(self._models_dict(api_version)) + mixin_instance._deserialize = Deserializer(self._models_dict(api_version)) + mixin_instance.api_version = api_version + return mixin_instance.get_active_sessions(resource_group_name, bastion_host_name, custom_headers, raw, polling, **operation_config) + + def get_bastion_shareable_link(self, resource_group_name, bastion_host_name, vms=None, custom_headers=None, raw=False, **operation_config): + """Return the Bastion Shareable Links for all the VMs specified in the + request. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param bastion_host_name: The name of the Bastion Host. + :type bastion_host_name: str + :param vms: List of VM references. + :type vms: + list[~azure.mgmt.network.v2020_05_01.models.BastionShareableLink] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of BastionShareableLink + :rtype: + ~azure.mgmt.network.v2020_05_01.models.BastionShareableLinkPaged[~azure.mgmt.network.v2020_05_01.models.BastionShareableLink] + :raises: :class:`CloudError` + + """ + api_version = self._get_api_version('get_bastion_shareable_link') + if api_version == '2019-09-01': + from .v2019_09_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import NetworkManagementClientOperationsMixin as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + mixin_instance = OperationClass() + mixin_instance._client = self._client + mixin_instance.config = self.config + mixin_instance._serialize = Serializer(self._models_dict(api_version)) + mixin_instance._deserialize = Deserializer(self._models_dict(api_version)) + mixin_instance.api_version = api_version + return mixin_instance.get_bastion_shareable_link(resource_group_name, bastion_host_name, vms, custom_headers, raw, **operation_config) + + def put_bastion_shareable_link(self, resource_group_name, bastion_host_name, vms=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates a Bastion Shareable Links for all the VMs specified in the + request. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param bastion_host_name: The name of the Bastion Host. + :type bastion_host_name: str + :param vms: List of VM references. + :type vms: + list[~azure.mgmt.network.v2020_05_01.models.BastionShareableLink] + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + BastionShareableLinkListResult or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.BastionShareableLinkListResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.BastionShareableLinkListResult]] + :raises: :class:`CloudError` + + """ + api_version = self._get_api_version('put_bastion_shareable_link') + if api_version == '2019-09-01': + from .v2019_09_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import NetworkManagementClientOperationsMixin as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + mixin_instance = OperationClass() + mixin_instance._client = self._client + mixin_instance.config = self.config + mixin_instance._serialize = Serializer(self._models_dict(api_version)) + mixin_instance._deserialize = Deserializer(self._models_dict(api_version)) + mixin_instance.api_version = api_version + return mixin_instance.put_bastion_shareable_link(resource_group_name, bastion_host_name, vms, custom_headers, raw, polling, **operation_config) + + def supported_security_providers(self, resource_group_name, virtual_wan_name, custom_headers=None, raw=False, **operation_config): + """Gives the supported security providers for the virtual wan. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param virtual_wan_name: The name of the VirtualWAN for which + supported security providers are needed. + :type virtual_wan_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: VirtualWanSecurityProviders or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.network.v2020_05_01.models.VirtualWanSecurityProviders or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + + """ + api_version = self._get_api_version('supported_security_providers') + if api_version == '2018-08-01': + from .v2018_08_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2020-05-01': + from .v2020_05_01.operations import NetworkManagementClientOperationsMixin as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + mixin_instance = OperationClass() + mixin_instance._client = self._client + mixin_instance.config = self.config + mixin_instance._serialize = Serializer(self._models_dict(api_version)) + mixin_instance._deserialize = Deserializer(self._models_dict(api_version)) + mixin_instance.api_version = api_version + return mixin_instance.supported_security_providers(resource_group_name, virtual_wan_name, custom_headers, raw, **operation_config) diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/models.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/models.py new file mode 100644 index 00000000000..b8cb4a95989 --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/models.py @@ -0,0 +1,11 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- +from .v2018_07_01.models import * +from .v2019_02_01.models import * +from .v2019_07_01.models import * +from .v2020_04_01.models import * +from .v2020_05_01.models import * diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/__init__.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/__init__.py similarity index 100% rename from src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/__init__.py rename to src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/__init__.py diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/_configuration.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/_configuration.py similarity index 100% rename from src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/_configuration.py rename to src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/_configuration.py diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/_network_management_client.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/_network_management_client.py new file mode 100644 index 00000000000..5467858b520 --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/_network_management_client.py @@ -0,0 +1,541 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.service_client import SDKClient +from msrest import Serializer, Deserializer + +from ._configuration import NetworkManagementClientConfiguration +from .operations import NetworkManagementClientOperationsMixin +from .operations import ApplicationGatewaysOperations +from .operations import ApplicationSecurityGroupsOperations +from .operations import AvailableDelegationsOperations +from .operations import AvailableResourceGroupDelegationsOperations +from .operations import AvailableServiceAliasesOperations +from .operations import AzureFirewallsOperations +from .operations import AzureFirewallFqdnTagsOperations +from .operations import BastionHostsOperations +from .operations import DdosCustomPoliciesOperations +from .operations import DdosProtectionPlansOperations +from .operations import AvailableEndpointServicesOperations +from .operations import ExpressRouteCircuitAuthorizationsOperations +from .operations import ExpressRouteCircuitPeeringsOperations +from .operations import ExpressRouteCircuitConnectionsOperations +from .operations import PeerExpressRouteCircuitConnectionsOperations +from .operations import ExpressRouteCircuitsOperations +from .operations import ExpressRouteServiceProvidersOperations +from .operations import ExpressRouteCrossConnectionsOperations +from .operations import ExpressRouteCrossConnectionPeeringsOperations +from .operations import ExpressRoutePortsLocationsOperations +from .operations import ExpressRoutePortsOperations +from .operations import ExpressRouteLinksOperations +from .operations import FirewallPoliciesOperations +from .operations import FirewallPolicyRuleCollectionGroupsOperations +from .operations import IpAllocationsOperations +from .operations import IpGroupsOperations +from .operations import LoadBalancersOperations +from .operations import LoadBalancerBackendAddressPoolsOperations +from .operations import LoadBalancerFrontendIPConfigurationsOperations +from .operations import InboundNatRulesOperations +from .operations import LoadBalancerLoadBalancingRulesOperations +from .operations import LoadBalancerOutboundRulesOperations +from .operations import LoadBalancerNetworkInterfacesOperations +from .operations import LoadBalancerProbesOperations +from .operations import NatGatewaysOperations +from .operations import NetworkInterfacesOperations +from .operations import NetworkInterfaceIPConfigurationsOperations +from .operations import NetworkInterfaceLoadBalancersOperations +from .operations import NetworkInterfaceTapConfigurationsOperations +from .operations import NetworkProfilesOperations +from .operations import NetworkSecurityGroupsOperations +from .operations import SecurityRulesOperations +from .operations import DefaultSecurityRulesOperations +from .operations import NetworkVirtualAppliancesOperations +from .operations import VirtualApplianceSitesOperations +from .operations import VirtualApplianceSkusOperations +from .operations import NetworkWatchersOperations +from .operations import PacketCapturesOperations +from .operations import ConnectionMonitorsOperations +from .operations import FlowLogsOperations +from .operations import Operations +from .operations import PrivateEndpointsOperations +from .operations import AvailablePrivateEndpointTypesOperations +from .operations import PrivateDnsZoneGroupsOperations +from .operations import PrivateLinkServicesOperations +from .operations import PublicIPAddressesOperations +from .operations import PublicIPPrefixesOperations +from .operations import RouteFiltersOperations +from .operations import RouteFilterRulesOperations +from .operations import RouteTablesOperations +from .operations import RoutesOperations +from .operations import SecurityPartnerProvidersOperations +from .operations import BgpServiceCommunitiesOperations +from .operations import ServiceEndpointPoliciesOperations +from .operations import ServiceEndpointPolicyDefinitionsOperations +from .operations import ServiceTagsOperations +from .operations import UsagesOperations +from .operations import VirtualNetworksOperations +from .operations import SubnetsOperations +from .operations import ResourceNavigationLinksOperations +from .operations import ServiceAssociationLinksOperations +from .operations import VirtualNetworkPeeringsOperations +from .operations import VirtualNetworkGatewaysOperations +from .operations import VirtualNetworkGatewayConnectionsOperations +from .operations import LocalNetworkGatewaysOperations +from .operations import VirtualNetworkTapsOperations +from .operations import VirtualRoutersOperations +from .operations import VirtualRouterPeeringsOperations +from .operations import VirtualWansOperations +from .operations import VpnSitesOperations +from .operations import VpnSiteLinksOperations +from .operations import VpnSitesConfigurationOperations +from .operations import VpnServerConfigurationsOperations +from .operations import VirtualHubsOperations +from .operations import HubVirtualNetworkConnectionsOperations +from .operations import VpnGatewaysOperations +from .operations import VpnConnectionsOperations +from .operations import VpnSiteLinkConnectionsOperations +from .operations import VpnLinkConnectionsOperations +from .operations import P2sVpnGatewaysOperations +from .operations import VpnServerConfigurationsAssociatedWithVirtualWanOperations +from .operations import VirtualHubRouteTableV2sOperations +from .operations import ExpressRouteGatewaysOperations +from .operations import ExpressRouteConnectionsOperations +from .operations import VirtualHubBgpConnectionOperations +from .operations import VirtualHubBgpConnectionsOperations +from .operations import VirtualHubIpConfigurationOperations +from .operations import HubRouteTablesOperations +from .operations import WebApplicationFirewallPoliciesOperations +from . import models + + +class NetworkManagementClient(NetworkManagementClientOperationsMixin, SDKClient): + """Network Client + + :ivar config: Configuration for client. + :vartype config: NetworkManagementClientConfiguration + + :ivar application_gateways: ApplicationGateways operations + :vartype application_gateways: azure.mgmt.network.v2020_05_01.operations.ApplicationGatewaysOperations + :ivar application_security_groups: ApplicationSecurityGroups operations + :vartype application_security_groups: azure.mgmt.network.v2020_05_01.operations.ApplicationSecurityGroupsOperations + :ivar available_delegations: AvailableDelegations operations + :vartype available_delegations: azure.mgmt.network.v2020_05_01.operations.AvailableDelegationsOperations + :ivar available_resource_group_delegations: AvailableResourceGroupDelegations operations + :vartype available_resource_group_delegations: azure.mgmt.network.v2020_05_01.operations.AvailableResourceGroupDelegationsOperations + :ivar available_service_aliases: AvailableServiceAliases operations + :vartype available_service_aliases: azure.mgmt.network.v2020_05_01.operations.AvailableServiceAliasesOperations + :ivar azure_firewalls: AzureFirewalls operations + :vartype azure_firewalls: azure.mgmt.network.v2020_05_01.operations.AzureFirewallsOperations + :ivar azure_firewall_fqdn_tags: AzureFirewallFqdnTags operations + :vartype azure_firewall_fqdn_tags: azure.mgmt.network.v2020_05_01.operations.AzureFirewallFqdnTagsOperations + :ivar bastion_hosts: BastionHosts operations + :vartype bastion_hosts: azure.mgmt.network.v2020_05_01.operations.BastionHostsOperations + :ivar ddos_custom_policies: DdosCustomPolicies operations + :vartype ddos_custom_policies: azure.mgmt.network.v2020_05_01.operations.DdosCustomPoliciesOperations + :ivar ddos_protection_plans: DdosProtectionPlans operations + :vartype ddos_protection_plans: azure.mgmt.network.v2020_05_01.operations.DdosProtectionPlansOperations + :ivar available_endpoint_services: AvailableEndpointServices operations + :vartype available_endpoint_services: azure.mgmt.network.v2020_05_01.operations.AvailableEndpointServicesOperations + :ivar express_route_circuit_authorizations: ExpressRouteCircuitAuthorizations operations + :vartype express_route_circuit_authorizations: azure.mgmt.network.v2020_05_01.operations.ExpressRouteCircuitAuthorizationsOperations + :ivar express_route_circuit_peerings: ExpressRouteCircuitPeerings operations + :vartype express_route_circuit_peerings: azure.mgmt.network.v2020_05_01.operations.ExpressRouteCircuitPeeringsOperations + :ivar express_route_circuit_connections: ExpressRouteCircuitConnections operations + :vartype express_route_circuit_connections: azure.mgmt.network.v2020_05_01.operations.ExpressRouteCircuitConnectionsOperations + :ivar peer_express_route_circuit_connections: PeerExpressRouteCircuitConnections operations + :vartype peer_express_route_circuit_connections: azure.mgmt.network.v2020_05_01.operations.PeerExpressRouteCircuitConnectionsOperations + :ivar express_route_circuits: ExpressRouteCircuits operations + :vartype express_route_circuits: azure.mgmt.network.v2020_05_01.operations.ExpressRouteCircuitsOperations + :ivar express_route_service_providers: ExpressRouteServiceProviders operations + :vartype express_route_service_providers: azure.mgmt.network.v2020_05_01.operations.ExpressRouteServiceProvidersOperations + :ivar express_route_cross_connections: ExpressRouteCrossConnections operations + :vartype express_route_cross_connections: azure.mgmt.network.v2020_05_01.operations.ExpressRouteCrossConnectionsOperations + :ivar express_route_cross_connection_peerings: ExpressRouteCrossConnectionPeerings operations + :vartype express_route_cross_connection_peerings: azure.mgmt.network.v2020_05_01.operations.ExpressRouteCrossConnectionPeeringsOperations + :ivar express_route_ports_locations: ExpressRoutePortsLocations operations + :vartype express_route_ports_locations: azure.mgmt.network.v2020_05_01.operations.ExpressRoutePortsLocationsOperations + :ivar express_route_ports: ExpressRoutePorts operations + :vartype express_route_ports: azure.mgmt.network.v2020_05_01.operations.ExpressRoutePortsOperations + :ivar express_route_links: ExpressRouteLinks operations + :vartype express_route_links: azure.mgmt.network.v2020_05_01.operations.ExpressRouteLinksOperations + :ivar firewall_policies: FirewallPolicies operations + :vartype firewall_policies: azure.mgmt.network.v2020_05_01.operations.FirewallPoliciesOperations + :ivar firewall_policy_rule_collection_groups: FirewallPolicyRuleCollectionGroups operations + :vartype firewall_policy_rule_collection_groups: azure.mgmt.network.v2020_05_01.operations.FirewallPolicyRuleCollectionGroupsOperations + :ivar ip_allocations: IpAllocations operations + :vartype ip_allocations: azure.mgmt.network.v2020_05_01.operations.IpAllocationsOperations + :ivar ip_groups: IpGroups operations + :vartype ip_groups: azure.mgmt.network.v2020_05_01.operations.IpGroupsOperations + :ivar load_balancers: LoadBalancers operations + :vartype load_balancers: azure.mgmt.network.v2020_05_01.operations.LoadBalancersOperations + :ivar load_balancer_backend_address_pools: LoadBalancerBackendAddressPools operations + :vartype load_balancer_backend_address_pools: azure.mgmt.network.v2020_05_01.operations.LoadBalancerBackendAddressPoolsOperations + :ivar load_balancer_frontend_ip_configurations: LoadBalancerFrontendIPConfigurations operations + :vartype load_balancer_frontend_ip_configurations: azure.mgmt.network.v2020_05_01.operations.LoadBalancerFrontendIPConfigurationsOperations + :ivar inbound_nat_rules: InboundNatRules operations + :vartype inbound_nat_rules: azure.mgmt.network.v2020_05_01.operations.InboundNatRulesOperations + :ivar load_balancer_load_balancing_rules: LoadBalancerLoadBalancingRules operations + :vartype load_balancer_load_balancing_rules: azure.mgmt.network.v2020_05_01.operations.LoadBalancerLoadBalancingRulesOperations + :ivar load_balancer_outbound_rules: LoadBalancerOutboundRules operations + :vartype load_balancer_outbound_rules: azure.mgmt.network.v2020_05_01.operations.LoadBalancerOutboundRulesOperations + :ivar load_balancer_network_interfaces: LoadBalancerNetworkInterfaces operations + :vartype load_balancer_network_interfaces: azure.mgmt.network.v2020_05_01.operations.LoadBalancerNetworkInterfacesOperations + :ivar load_balancer_probes: LoadBalancerProbes operations + :vartype load_balancer_probes: azure.mgmt.network.v2020_05_01.operations.LoadBalancerProbesOperations + :ivar nat_gateways: NatGateways operations + :vartype nat_gateways: azure.mgmt.network.v2020_05_01.operations.NatGatewaysOperations + :ivar network_interfaces: NetworkInterfaces operations + :vartype network_interfaces: azure.mgmt.network.v2020_05_01.operations.NetworkInterfacesOperations + :ivar network_interface_ip_configurations: NetworkInterfaceIPConfigurations operations + :vartype network_interface_ip_configurations: azure.mgmt.network.v2020_05_01.operations.NetworkInterfaceIPConfigurationsOperations + :ivar network_interface_load_balancers: NetworkInterfaceLoadBalancers operations + :vartype network_interface_load_balancers: azure.mgmt.network.v2020_05_01.operations.NetworkInterfaceLoadBalancersOperations + :ivar network_interface_tap_configurations: NetworkInterfaceTapConfigurations operations + :vartype network_interface_tap_configurations: azure.mgmt.network.v2020_05_01.operations.NetworkInterfaceTapConfigurationsOperations + :ivar network_profiles: NetworkProfiles operations + :vartype network_profiles: azure.mgmt.network.v2020_05_01.operations.NetworkProfilesOperations + :ivar network_security_groups: NetworkSecurityGroups operations + :vartype network_security_groups: azure.mgmt.network.v2020_05_01.operations.NetworkSecurityGroupsOperations + :ivar security_rules: SecurityRules operations + :vartype security_rules: azure.mgmt.network.v2020_05_01.operations.SecurityRulesOperations + :ivar default_security_rules: DefaultSecurityRules operations + :vartype default_security_rules: azure.mgmt.network.v2020_05_01.operations.DefaultSecurityRulesOperations + :ivar network_virtual_appliances: NetworkVirtualAppliances operations + :vartype network_virtual_appliances: azure.mgmt.network.v2020_05_01.operations.NetworkVirtualAppliancesOperations + :ivar virtual_appliance_sites: VirtualApplianceSites operations + :vartype virtual_appliance_sites: azure.mgmt.network.v2020_05_01.operations.VirtualApplianceSitesOperations + :ivar virtual_appliance_skus: VirtualApplianceSkus operations + :vartype virtual_appliance_skus: azure.mgmt.network.v2020_05_01.operations.VirtualApplianceSkusOperations + :ivar network_watchers: NetworkWatchers operations + :vartype network_watchers: azure.mgmt.network.v2020_05_01.operations.NetworkWatchersOperations + :ivar packet_captures: PacketCaptures operations + :vartype packet_captures: azure.mgmt.network.v2020_05_01.operations.PacketCapturesOperations + :ivar connection_monitors: ConnectionMonitors operations + :vartype connection_monitors: azure.mgmt.network.v2020_05_01.operations.ConnectionMonitorsOperations + :ivar flow_logs: FlowLogs operations + :vartype flow_logs: azure.mgmt.network.v2020_05_01.operations.FlowLogsOperations + :ivar operations: Operations operations + :vartype operations: azure.mgmt.network.v2020_05_01.operations.Operations + :ivar private_endpoints: PrivateEndpoints operations + :vartype private_endpoints: azure.mgmt.network.v2020_05_01.operations.PrivateEndpointsOperations + :ivar available_private_endpoint_types: AvailablePrivateEndpointTypes operations + :vartype available_private_endpoint_types: azure.mgmt.network.v2020_05_01.operations.AvailablePrivateEndpointTypesOperations + :ivar private_dns_zone_groups: PrivateDnsZoneGroups operations + :vartype private_dns_zone_groups: azure.mgmt.network.v2020_05_01.operations.PrivateDnsZoneGroupsOperations + :ivar private_link_services: PrivateLinkServices operations + :vartype private_link_services: azure.mgmt.network.v2020_05_01.operations.PrivateLinkServicesOperations + :ivar public_ip_addresses: PublicIPAddresses operations + :vartype public_ip_addresses: azure.mgmt.network.v2020_05_01.operations.PublicIPAddressesOperations + :ivar public_ip_prefixes: PublicIPPrefixes operations + :vartype public_ip_prefixes: azure.mgmt.network.v2020_05_01.operations.PublicIPPrefixesOperations + :ivar route_filters: RouteFilters operations + :vartype route_filters: azure.mgmt.network.v2020_05_01.operations.RouteFiltersOperations + :ivar route_filter_rules: RouteFilterRules operations + :vartype route_filter_rules: azure.mgmt.network.v2020_05_01.operations.RouteFilterRulesOperations + :ivar route_tables: RouteTables operations + :vartype route_tables: azure.mgmt.network.v2020_05_01.operations.RouteTablesOperations + :ivar routes: Routes operations + :vartype routes: azure.mgmt.network.v2020_05_01.operations.RoutesOperations + :ivar security_partner_providers: SecurityPartnerProviders operations + :vartype security_partner_providers: azure.mgmt.network.v2020_05_01.operations.SecurityPartnerProvidersOperations + :ivar bgp_service_communities: BgpServiceCommunities operations + :vartype bgp_service_communities: azure.mgmt.network.v2020_05_01.operations.BgpServiceCommunitiesOperations + :ivar service_endpoint_policies: ServiceEndpointPolicies operations + :vartype service_endpoint_policies: azure.mgmt.network.v2020_05_01.operations.ServiceEndpointPoliciesOperations + :ivar service_endpoint_policy_definitions: ServiceEndpointPolicyDefinitions operations + :vartype service_endpoint_policy_definitions: azure.mgmt.network.v2020_05_01.operations.ServiceEndpointPolicyDefinitionsOperations + :ivar service_tags: ServiceTags operations + :vartype service_tags: azure.mgmt.network.v2020_05_01.operations.ServiceTagsOperations + :ivar usages: Usages operations + :vartype usages: azure.mgmt.network.v2020_05_01.operations.UsagesOperations + :ivar virtual_networks: VirtualNetworks operations + :vartype virtual_networks: azure.mgmt.network.v2020_05_01.operations.VirtualNetworksOperations + :ivar subnets: Subnets operations + :vartype subnets: azure.mgmt.network.v2020_05_01.operations.SubnetsOperations + :ivar resource_navigation_links: ResourceNavigationLinks operations + :vartype resource_navigation_links: azure.mgmt.network.v2020_05_01.operations.ResourceNavigationLinksOperations + :ivar service_association_links: ServiceAssociationLinks operations + :vartype service_association_links: azure.mgmt.network.v2020_05_01.operations.ServiceAssociationLinksOperations + :ivar virtual_network_peerings: VirtualNetworkPeerings operations + :vartype virtual_network_peerings: azure.mgmt.network.v2020_05_01.operations.VirtualNetworkPeeringsOperations + :ivar virtual_network_gateways: VirtualNetworkGateways operations + :vartype virtual_network_gateways: azure.mgmt.network.v2020_05_01.operations.VirtualNetworkGatewaysOperations + :ivar virtual_network_gateway_connections: VirtualNetworkGatewayConnections operations + :vartype virtual_network_gateway_connections: azure.mgmt.network.v2020_05_01.operations.VirtualNetworkGatewayConnectionsOperations + :ivar local_network_gateways: LocalNetworkGateways operations + :vartype local_network_gateways: azure.mgmt.network.v2020_05_01.operations.LocalNetworkGatewaysOperations + :ivar virtual_network_taps: VirtualNetworkTaps operations + :vartype virtual_network_taps: azure.mgmt.network.v2020_05_01.operations.VirtualNetworkTapsOperations + :ivar virtual_routers: VirtualRouters operations + :vartype virtual_routers: azure.mgmt.network.v2020_05_01.operations.VirtualRoutersOperations + :ivar virtual_router_peerings: VirtualRouterPeerings operations + :vartype virtual_router_peerings: azure.mgmt.network.v2020_05_01.operations.VirtualRouterPeeringsOperations + :ivar virtual_wans: VirtualWans operations + :vartype virtual_wans: azure.mgmt.network.v2020_05_01.operations.VirtualWansOperations + :ivar vpn_sites: VpnSites operations + :vartype vpn_sites: azure.mgmt.network.v2020_05_01.operations.VpnSitesOperations + :ivar vpn_site_links: VpnSiteLinks operations + :vartype vpn_site_links: azure.mgmt.network.v2020_05_01.operations.VpnSiteLinksOperations + :ivar vpn_sites_configuration: VpnSitesConfiguration operations + :vartype vpn_sites_configuration: azure.mgmt.network.v2020_05_01.operations.VpnSitesConfigurationOperations + :ivar vpn_server_configurations: VpnServerConfigurations operations + :vartype vpn_server_configurations: azure.mgmt.network.v2020_05_01.operations.VpnServerConfigurationsOperations + :ivar virtual_hubs: VirtualHubs operations + :vartype virtual_hubs: azure.mgmt.network.v2020_05_01.operations.VirtualHubsOperations + :ivar hub_virtual_network_connections: HubVirtualNetworkConnections operations + :vartype hub_virtual_network_connections: azure.mgmt.network.v2020_05_01.operations.HubVirtualNetworkConnectionsOperations + :ivar vpn_gateways: VpnGateways operations + :vartype vpn_gateways: azure.mgmt.network.v2020_05_01.operations.VpnGatewaysOperations + :ivar vpn_connections: VpnConnections operations + :vartype vpn_connections: azure.mgmt.network.v2020_05_01.operations.VpnConnectionsOperations + :ivar vpn_site_link_connections: VpnSiteLinkConnections operations + :vartype vpn_site_link_connections: azure.mgmt.network.v2020_05_01.operations.VpnSiteLinkConnectionsOperations + :ivar vpn_link_connections: VpnLinkConnections operations + :vartype vpn_link_connections: azure.mgmt.network.v2020_05_01.operations.VpnLinkConnectionsOperations + :ivar p2s_vpn_gateways: P2sVpnGateways operations + :vartype p2s_vpn_gateways: azure.mgmt.network.v2020_05_01.operations.P2sVpnGatewaysOperations + :ivar vpn_server_configurations_associated_with_virtual_wan: VpnServerConfigurationsAssociatedWithVirtualWan operations + :vartype vpn_server_configurations_associated_with_virtual_wan: azure.mgmt.network.v2020_05_01.operations.VpnServerConfigurationsAssociatedWithVirtualWanOperations + :ivar virtual_hub_route_table_v2s: VirtualHubRouteTableV2s operations + :vartype virtual_hub_route_table_v2s: azure.mgmt.network.v2020_05_01.operations.VirtualHubRouteTableV2sOperations + :ivar express_route_gateways: ExpressRouteGateways operations + :vartype express_route_gateways: azure.mgmt.network.v2020_05_01.operations.ExpressRouteGatewaysOperations + :ivar express_route_connections: ExpressRouteConnections operations + :vartype express_route_connections: azure.mgmt.network.v2020_05_01.operations.ExpressRouteConnectionsOperations + :ivar virtual_hub_bgp_connection: VirtualHubBgpConnection operations + :vartype virtual_hub_bgp_connection: azure.mgmt.network.v2020_05_01.operations.VirtualHubBgpConnectionOperations + :ivar virtual_hub_bgp_connections: VirtualHubBgpConnections operations + :vartype virtual_hub_bgp_connections: azure.mgmt.network.v2020_05_01.operations.VirtualHubBgpConnectionsOperations + :ivar virtual_hub_ip_configuration: VirtualHubIpConfiguration operations + :vartype virtual_hub_ip_configuration: azure.mgmt.network.v2020_05_01.operations.VirtualHubIpConfigurationOperations + :ivar hub_route_tables: HubRouteTables operations + :vartype hub_route_tables: azure.mgmt.network.v2020_05_01.operations.HubRouteTablesOperations + :ivar web_application_firewall_policies: WebApplicationFirewallPolicies operations + :vartype web_application_firewall_policies: azure.mgmt.network.v2020_05_01.operations.WebApplicationFirewallPoliciesOperations + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param subscription_id: The subscription credentials which uniquely + identify the Microsoft Azure subscription. The subscription ID forms part + of the URI for every service call. + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=None): + + self.config = NetworkManagementClientConfiguration(credentials, subscription_id, base_url) + super(NetworkManagementClient, self).__init__(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.application_gateways = ApplicationGatewaysOperations( + self._client, self.config, self._serialize, self._deserialize) + self.application_security_groups = ApplicationSecurityGroupsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.available_delegations = AvailableDelegationsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.available_resource_group_delegations = AvailableResourceGroupDelegationsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.available_service_aliases = AvailableServiceAliasesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.azure_firewalls = AzureFirewallsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.azure_firewall_fqdn_tags = AzureFirewallFqdnTagsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.bastion_hosts = BastionHostsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.ddos_custom_policies = DdosCustomPoliciesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.ddos_protection_plans = DdosProtectionPlansOperations( + self._client, self.config, self._serialize, self._deserialize) + self.available_endpoint_services = AvailableEndpointServicesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.express_route_circuit_authorizations = ExpressRouteCircuitAuthorizationsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.express_route_circuit_peerings = ExpressRouteCircuitPeeringsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.express_route_circuit_connections = ExpressRouteCircuitConnectionsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.peer_express_route_circuit_connections = PeerExpressRouteCircuitConnectionsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.express_route_circuits = ExpressRouteCircuitsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.express_route_service_providers = ExpressRouteServiceProvidersOperations( + self._client, self.config, self._serialize, self._deserialize) + self.express_route_cross_connections = ExpressRouteCrossConnectionsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.express_route_cross_connection_peerings = ExpressRouteCrossConnectionPeeringsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.express_route_ports_locations = ExpressRoutePortsLocationsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.express_route_ports = ExpressRoutePortsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.express_route_links = ExpressRouteLinksOperations( + self._client, self.config, self._serialize, self._deserialize) + self.firewall_policies = FirewallPoliciesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.firewall_policy_rule_collection_groups = FirewallPolicyRuleCollectionGroupsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.ip_allocations = IpAllocationsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.ip_groups = IpGroupsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.load_balancers = LoadBalancersOperations( + self._client, self.config, self._serialize, self._deserialize) + self.load_balancer_backend_address_pools = LoadBalancerBackendAddressPoolsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.load_balancer_frontend_ip_configurations = LoadBalancerFrontendIPConfigurationsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.inbound_nat_rules = InboundNatRulesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.load_balancer_load_balancing_rules = LoadBalancerLoadBalancingRulesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.load_balancer_outbound_rules = LoadBalancerOutboundRulesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.load_balancer_network_interfaces = LoadBalancerNetworkInterfacesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.load_balancer_probes = LoadBalancerProbesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.nat_gateways = NatGatewaysOperations( + self._client, self.config, self._serialize, self._deserialize) + self.network_interfaces = NetworkInterfacesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.network_interface_ip_configurations = NetworkInterfaceIPConfigurationsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.network_interface_load_balancers = NetworkInterfaceLoadBalancersOperations( + self._client, self.config, self._serialize, self._deserialize) + self.network_interface_tap_configurations = NetworkInterfaceTapConfigurationsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.network_profiles = NetworkProfilesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.network_security_groups = NetworkSecurityGroupsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.security_rules = SecurityRulesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.default_security_rules = DefaultSecurityRulesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.network_virtual_appliances = NetworkVirtualAppliancesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.virtual_appliance_sites = VirtualApplianceSitesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.virtual_appliance_skus = VirtualApplianceSkusOperations( + self._client, self.config, self._serialize, self._deserialize) + self.network_watchers = NetworkWatchersOperations( + self._client, self.config, self._serialize, self._deserialize) + self.packet_captures = PacketCapturesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.connection_monitors = ConnectionMonitorsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.flow_logs = FlowLogsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.operations = Operations( + self._client, self.config, self._serialize, self._deserialize) + self.private_endpoints = PrivateEndpointsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.available_private_endpoint_types = AvailablePrivateEndpointTypesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.private_dns_zone_groups = PrivateDnsZoneGroupsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.private_link_services = PrivateLinkServicesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.public_ip_addresses = PublicIPAddressesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.public_ip_prefixes = PublicIPPrefixesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.route_filters = RouteFiltersOperations( + self._client, self.config, self._serialize, self._deserialize) + self.route_filter_rules = RouteFilterRulesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.route_tables = RouteTablesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.routes = RoutesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.security_partner_providers = SecurityPartnerProvidersOperations( + self._client, self.config, self._serialize, self._deserialize) + self.bgp_service_communities = BgpServiceCommunitiesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.service_endpoint_policies = ServiceEndpointPoliciesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.service_endpoint_policy_definitions = ServiceEndpointPolicyDefinitionsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.service_tags = ServiceTagsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.usages = UsagesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.virtual_networks = VirtualNetworksOperations( + self._client, self.config, self._serialize, self._deserialize) + self.subnets = SubnetsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.resource_navigation_links = ResourceNavigationLinksOperations( + self._client, self.config, self._serialize, self._deserialize) + self.service_association_links = ServiceAssociationLinksOperations( + self._client, self.config, self._serialize, self._deserialize) + self.virtual_network_peerings = VirtualNetworkPeeringsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.virtual_network_gateways = VirtualNetworkGatewaysOperations( + self._client, self.config, self._serialize, self._deserialize) + self.virtual_network_gateway_connections = VirtualNetworkGatewayConnectionsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.local_network_gateways = LocalNetworkGatewaysOperations( + self._client, self.config, self._serialize, self._deserialize) + self.virtual_network_taps = VirtualNetworkTapsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.virtual_routers = VirtualRoutersOperations( + self._client, self.config, self._serialize, self._deserialize) + self.virtual_router_peerings = VirtualRouterPeeringsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.virtual_wans = VirtualWansOperations( + self._client, self.config, self._serialize, self._deserialize) + self.vpn_sites = VpnSitesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.vpn_site_links = VpnSiteLinksOperations( + self._client, self.config, self._serialize, self._deserialize) + self.vpn_sites_configuration = VpnSitesConfigurationOperations( + self._client, self.config, self._serialize, self._deserialize) + self.vpn_server_configurations = VpnServerConfigurationsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.virtual_hubs = VirtualHubsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.hub_virtual_network_connections = HubVirtualNetworkConnectionsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.vpn_gateways = VpnGatewaysOperations( + self._client, self.config, self._serialize, self._deserialize) + self.vpn_connections = VpnConnectionsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.vpn_site_link_connections = VpnSiteLinkConnectionsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.vpn_link_connections = VpnLinkConnectionsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.p2s_vpn_gateways = P2sVpnGatewaysOperations( + self._client, self.config, self._serialize, self._deserialize) + self.vpn_server_configurations_associated_with_virtual_wan = VpnServerConfigurationsAssociatedWithVirtualWanOperations( + self._client, self.config, self._serialize, self._deserialize) + self.virtual_hub_route_table_v2s = VirtualHubRouteTableV2sOperations( + self._client, self.config, self._serialize, self._deserialize) + self.express_route_gateways = ExpressRouteGatewaysOperations( + self._client, self.config, self._serialize, self._deserialize) + self.express_route_connections = ExpressRouteConnectionsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.virtual_hub_bgp_connection = VirtualHubBgpConnectionOperations( + self._client, self.config, self._serialize, self._deserialize) + self.virtual_hub_bgp_connections = VirtualHubBgpConnectionsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.virtual_hub_ip_configuration = VirtualHubIpConfigurationOperations( + self._client, self.config, self._serialize, self._deserialize) + self.hub_route_tables = HubRouteTablesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.web_application_firewall_policies = WebApplicationFirewallPoliciesOperations( + self._client, self.config, self._serialize, self._deserialize) diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/models/__init__.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/models/__init__.py new file mode 100644 index 00000000000..5f45d44f9b0 --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/models/__init__.py @@ -0,0 +1,1718 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +try: + from ._models_py3 import AadAuthenticationParameters + from ._models_py3 import AddressSpace + from ._models_py3 import ApplicationGateway + from ._models_py3 import ApplicationGatewayAuthenticationCertificate + from ._models_py3 import ApplicationGatewayAutoscaleConfiguration + from ._models_py3 import ApplicationGatewayAvailableSslOptions + from ._models_py3 import ApplicationGatewayAvailableWafRuleSetsResult + from ._models_py3 import ApplicationGatewayBackendAddress + from ._models_py3 import ApplicationGatewayBackendAddressPool + from ._models_py3 import ApplicationGatewayBackendHealth + from ._models_py3 import ApplicationGatewayBackendHealthHttpSettings + from ._models_py3 import ApplicationGatewayBackendHealthOnDemand + from ._models_py3 import ApplicationGatewayBackendHealthPool + from ._models_py3 import ApplicationGatewayBackendHealthServer + from ._models_py3 import ApplicationGatewayBackendHttpSettings + from ._models_py3 import ApplicationGatewayConnectionDraining + from ._models_py3 import ApplicationGatewayCustomError + from ._models_py3 import ApplicationGatewayFirewallDisabledRuleGroup + from ._models_py3 import ApplicationGatewayFirewallExclusion + from ._models_py3 import ApplicationGatewayFirewallRule + from ._models_py3 import ApplicationGatewayFirewallRuleGroup + from ._models_py3 import ApplicationGatewayFirewallRuleSet + from ._models_py3 import ApplicationGatewayFrontendIPConfiguration + from ._models_py3 import ApplicationGatewayFrontendPort + from ._models_py3 import ApplicationGatewayHeaderConfiguration + from ._models_py3 import ApplicationGatewayHttpListener + from ._models_py3 import ApplicationGatewayIPConfiguration + from ._models_py3 import ApplicationGatewayOnDemandProbe + from ._models_py3 import ApplicationGatewayPathRule + from ._models_py3 import ApplicationGatewayProbe + from ._models_py3 import ApplicationGatewayProbeHealthResponseMatch + from ._models_py3 import ApplicationGatewayRedirectConfiguration + from ._models_py3 import ApplicationGatewayRequestRoutingRule + from ._models_py3 import ApplicationGatewayRewriteRule + from ._models_py3 import ApplicationGatewayRewriteRuleActionSet + from ._models_py3 import ApplicationGatewayRewriteRuleCondition + from ._models_py3 import ApplicationGatewayRewriteRuleSet + from ._models_py3 import ApplicationGatewaySku + from ._models_py3 import ApplicationGatewaySslCertificate + from ._models_py3 import ApplicationGatewaySslPolicy + from ._models_py3 import ApplicationGatewaySslPredefinedPolicy + from ._models_py3 import ApplicationGatewayTrustedRootCertificate + from ._models_py3 import ApplicationGatewayUrlConfiguration + from ._models_py3 import ApplicationGatewayUrlPathMap + from ._models_py3 import ApplicationGatewayWebApplicationFirewallConfiguration + from ._models_py3 import ApplicationRule + from ._models_py3 import ApplicationSecurityGroup + from ._models_py3 import AutoApprovedPrivateLinkService + from ._models_py3 import Availability + from ._models_py3 import AvailableDelegation + from ._models_py3 import AvailablePrivateEndpointType + from ._models_py3 import AvailableProvidersList + from ._models_py3 import AvailableProvidersListCity + from ._models_py3 import AvailableProvidersListCountry + from ._models_py3 import AvailableProvidersListParameters + from ._models_py3 import AvailableProvidersListState + from ._models_py3 import AvailableServiceAlias + from ._models_py3 import AzureAsyncOperationResult + from ._models_py3 import AzureFirewall + from ._models_py3 import AzureFirewallApplicationRule + from ._models_py3 import AzureFirewallApplicationRuleCollection + from ._models_py3 import AzureFirewallApplicationRuleProtocol + from ._models_py3 import AzureFirewallFqdnTag + from ._models_py3 import AzureFirewallIPConfiguration + from ._models_py3 import AzureFirewallIpGroups + from ._models_py3 import AzureFirewallNatRCAction + from ._models_py3 import AzureFirewallNatRule + from ._models_py3 import AzureFirewallNatRuleCollection + from ._models_py3 import AzureFirewallNetworkRule + from ._models_py3 import AzureFirewallNetworkRuleCollection + from ._models_py3 import AzureFirewallPublicIPAddress + from ._models_py3 import AzureFirewallRCAction + from ._models_py3 import AzureFirewallSku + from ._models_py3 import AzureReachabilityReport + from ._models_py3 import AzureReachabilityReportItem + from ._models_py3 import AzureReachabilityReportLatencyInfo + from ._models_py3 import AzureReachabilityReportLocation + from ._models_py3 import AzureReachabilityReportParameters + from ._models_py3 import BackendAddressPool + from ._models_py3 import BastionActiveSession + from ._models_py3 import BastionActiveSessionListResult + from ._models_py3 import BastionHost + from ._models_py3 import BastionHostIPConfiguration + from ._models_py3 import BastionSessionState + from ._models_py3 import BastionShareableLink + from ._models_py3 import BastionShareableLinkListRequest + from ._models_py3 import BastionShareableLinkListResult + from ._models_py3 import BGPCommunity + from ._models_py3 import BgpConnection + from ._models_py3 import BgpPeerStatus + from ._models_py3 import BgpPeerStatusListResult + from ._models_py3 import BgpServiceCommunity + from ._models_py3 import BgpSettings + from ._models_py3 import BreakOutCategoryPolicies + from ._models_py3 import CheckPrivateLinkServiceVisibilityRequest + from ._models_py3 import ConnectionMonitor + from ._models_py3 import ConnectionMonitorDestination + from ._models_py3 import ConnectionMonitorEndpoint + from ._models_py3 import ConnectionMonitorEndpointFilter + from ._models_py3 import ConnectionMonitorEndpointFilterItem + from ._models_py3 import ConnectionMonitorHttpConfiguration + from ._models_py3 import ConnectionMonitorIcmpConfiguration + from ._models_py3 import ConnectionMonitorOutput + from ._models_py3 import ConnectionMonitorParameters + from ._models_py3 import ConnectionMonitorQueryResult + from ._models_py3 import ConnectionMonitorResult + from ._models_py3 import ConnectionMonitorSource + from ._models_py3 import ConnectionMonitorSuccessThreshold + from ._models_py3 import ConnectionMonitorTcpConfiguration + from ._models_py3 import ConnectionMonitorTestConfiguration + from ._models_py3 import ConnectionMonitorTestGroup + from ._models_py3 import ConnectionMonitorWorkspaceSettings + from ._models_py3 import ConnectionResetSharedKey + from ._models_py3 import ConnectionSharedKey + from ._models_py3 import ConnectionStateSnapshot + from ._models_py3 import ConnectivityDestination + from ._models_py3 import ConnectivityHop + from ._models_py3 import ConnectivityInformation + from ._models_py3 import ConnectivityIssue + from ._models_py3 import ConnectivityParameters + from ._models_py3 import ConnectivitySource + from ._models_py3 import Container + from ._models_py3 import ContainerNetworkInterface + from ._models_py3 import ContainerNetworkInterfaceConfiguration + from ._models_py3 import ContainerNetworkInterfaceIpConfiguration + from ._models_py3 import CustomDnsConfigPropertiesFormat + from ._models_py3 import DdosCustomPolicy + from ._models_py3 import DdosProtectionPlan + from ._models_py3 import DdosSettings + from ._models_py3 import Delegation + from ._models_py3 import DeviceProperties + from ._models_py3 import DhcpOptions + from ._models_py3 import Dimension + from ._models_py3 import DnsNameAvailabilityResult + from ._models_py3 import DnsSettings + from ._models_py3 import EffectiveNetworkSecurityGroup + from ._models_py3 import EffectiveNetworkSecurityGroupAssociation + from ._models_py3 import EffectiveNetworkSecurityGroupListResult + from ._models_py3 import EffectiveNetworkSecurityRule + from ._models_py3 import EffectiveRoute + from ._models_py3 import EffectiveRouteListResult + from ._models_py3 import EffectiveRoutesParameters + from ._models_py3 import EndpointServiceResult + from ._models_py3 import Error, ErrorException + from ._models_py3 import ErrorDetails + from ._models_py3 import ErrorResponse, ErrorResponseException + from ._models_py3 import EvaluatedNetworkSecurityGroup + from ._models_py3 import ExpressRouteCircuit + from ._models_py3 import ExpressRouteCircuitArpTable + from ._models_py3 import ExpressRouteCircuitAuthorization + from ._models_py3 import ExpressRouteCircuitConnection + from ._models_py3 import ExpressRouteCircuitPeering + from ._models_py3 import ExpressRouteCircuitPeeringConfig + from ._models_py3 import ExpressRouteCircuitPeeringId + from ._models_py3 import ExpressRouteCircuitReference + from ._models_py3 import ExpressRouteCircuitRoutesTable + from ._models_py3 import ExpressRouteCircuitRoutesTableSummary + from ._models_py3 import ExpressRouteCircuitsArpTableListResult + from ._models_py3 import ExpressRouteCircuitServiceProviderProperties + from ._models_py3 import ExpressRouteCircuitSku + from ._models_py3 import ExpressRouteCircuitsRoutesTableListResult + from ._models_py3 import ExpressRouteCircuitsRoutesTableSummaryListResult + from ._models_py3 import ExpressRouteCircuitStats + from ._models_py3 import ExpressRouteConnection + from ._models_py3 import ExpressRouteConnectionId + from ._models_py3 import ExpressRouteConnectionList + from ._models_py3 import ExpressRouteCrossConnection + from ._models_py3 import ExpressRouteCrossConnectionPeering + from ._models_py3 import ExpressRouteCrossConnectionRoutesTableSummary + from ._models_py3 import ExpressRouteCrossConnectionsRoutesTableSummaryListResult + from ._models_py3 import ExpressRouteGateway + from ._models_py3 import ExpressRouteGatewayList + from ._models_py3 import ExpressRouteGatewayPropertiesAutoScaleConfiguration + from ._models_py3 import ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds + from ._models_py3 import ExpressRouteLink + from ._models_py3 import ExpressRouteLinkMacSecConfig + from ._models_py3 import ExpressRoutePort + from ._models_py3 import ExpressRoutePortsLocation + from ._models_py3 import ExpressRoutePortsLocationBandwidths + from ._models_py3 import ExpressRouteServiceProvider + from ._models_py3 import ExpressRouteServiceProviderBandwidthsOffered + from ._models_py3 import FirewallPolicy + from ._models_py3 import FirewallPolicyCertificateAuthority + from ._models_py3 import FirewallPolicyFilterRuleCollection + from ._models_py3 import FirewallPolicyFilterRuleCollectionAction + from ._models_py3 import FirewallPolicyNatRuleCollection + from ._models_py3 import FirewallPolicyNatRuleCollectionAction + from ._models_py3 import FirewallPolicyRule + from ._models_py3 import FirewallPolicyRuleApplicationProtocol + from ._models_py3 import FirewallPolicyRuleCollection + from ._models_py3 import FirewallPolicyRuleCollectionGroup + from ._models_py3 import FirewallPolicyThreatIntelWhitelist + from ._models_py3 import FirewallPolicyTransportSecurity + from ._models_py3 import FirewallPolicyTrustedRootCertificate + from ._models_py3 import FlowLog + from ._models_py3 import FlowLogFormatParameters + from ._models_py3 import FlowLogInformation + from ._models_py3 import FlowLogStatusParameters + from ._models_py3 import FrontendIPConfiguration + from ._models_py3 import GatewayRoute + from ._models_py3 import GatewayRouteListResult + from ._models_py3 import GetVpnSitesConfigurationRequest + from ._models_py3 import HopLink + from ._models_py3 import HTTPConfiguration + from ._models_py3 import HTTPHeader + from ._models_py3 import HubIPAddresses + from ._models_py3 import HubIpConfiguration + from ._models_py3 import HubPublicIPAddresses + from ._models_py3 import HubRoute + from ._models_py3 import HubRouteTable + from ._models_py3 import HubVirtualNetworkConnection + from ._models_py3 import InboundNatPool + from ._models_py3 import InboundNatRule + from ._models_py3 import IPAddressAvailabilityResult + from ._models_py3 import IpAllocation + from ._models_py3 import IPConfiguration + from ._models_py3 import IPConfigurationBgpPeeringAddress + from ._models_py3 import IPConfigurationProfile + from ._models_py3 import IpGroup + from ._models_py3 import IpsecPolicy + from ._models_py3 import IpTag + from ._models_py3 import Ipv6CircuitConnectionConfig + from ._models_py3 import Ipv6ExpressRouteCircuitPeeringConfig + from ._models_py3 import LoadBalancer + from ._models_py3 import LoadBalancerBackendAddress + from ._models_py3 import LoadBalancerSku + from ._models_py3 import LoadBalancingRule + from ._models_py3 import LocalNetworkGateway + from ._models_py3 import LogSpecification + from ._models_py3 import ManagedRuleGroupOverride + from ._models_py3 import ManagedRuleOverride + from ._models_py3 import ManagedRulesDefinition + from ._models_py3 import ManagedRuleSet + from ._models_py3 import ManagedServiceIdentity + from ._models_py3 import ManagedServiceIdentityUserAssignedIdentitiesValue + from ._models_py3 import MatchCondition + from ._models_py3 import MatchedRule + from ._models_py3 import MatchVariable + from ._models_py3 import MetricSpecification + from ._models_py3 import NatGateway + from ._models_py3 import NatGatewaySku + from ._models_py3 import NatRule + from ._models_py3 import NetworkConfigurationDiagnosticParameters + from ._models_py3 import NetworkConfigurationDiagnosticProfile + from ._models_py3 import NetworkConfigurationDiagnosticResponse + from ._models_py3 import NetworkConfigurationDiagnosticResult + from ._models_py3 import NetworkIntentPolicy + from ._models_py3 import NetworkIntentPolicyConfiguration + from ._models_py3 import NetworkInterface + from ._models_py3 import NetworkInterfaceAssociation + from ._models_py3 import NetworkInterfaceDnsSettings + from ._models_py3 import NetworkInterfaceIPConfiguration + from ._models_py3 import NetworkInterfaceIPConfigurationPrivateLinkConnectionProperties + from ._models_py3 import NetworkInterfaceTapConfiguration + from ._models_py3 import NetworkProfile + from ._models_py3 import NetworkRule + from ._models_py3 import NetworkSecurityGroup + from ._models_py3 import NetworkSecurityGroupResult + from ._models_py3 import NetworkSecurityRulesEvaluationResult + from ._models_py3 import NetworkVirtualAppliance + from ._models_py3 import NetworkVirtualApplianceSku + from ._models_py3 import NetworkVirtualApplianceSkuInstances + from ._models_py3 import NetworkWatcher + from ._models_py3 import NextHopParameters + from ._models_py3 import NextHopResult + from ._models_py3 import Office365PolicyProperties + from ._models_py3 import Operation + from ._models_py3 import OperationDisplay + from ._models_py3 import OperationPropertiesFormatServiceSpecification + from ._models_py3 import OutboundRule + from ._models_py3 import OwaspCrsExclusionEntry + from ._models_py3 import P2SConnectionConfiguration + from ._models_py3 import P2SVpnConnectionHealth + from ._models_py3 import P2SVpnConnectionHealthRequest + from ._models_py3 import P2SVpnConnectionRequest + from ._models_py3 import P2SVpnGateway + from ._models_py3 import P2SVpnProfileParameters + from ._models_py3 import PacketCapture + from ._models_py3 import PacketCaptureFilter + from ._models_py3 import PacketCaptureParameters + from ._models_py3 import PacketCaptureQueryStatusResult + from ._models_py3 import PacketCaptureResult + from ._models_py3 import PacketCaptureStorageLocation + from ._models_py3 import PatchRouteFilter + from ._models_py3 import PatchRouteFilterRule + from ._models_py3 import PeerExpressRouteCircuitConnection + from ._models_py3 import PolicySettings + from ._models_py3 import PrepareNetworkPoliciesRequest + from ._models_py3 import PrivateDnsZoneConfig + from ._models_py3 import PrivateDnsZoneGroup + from ._models_py3 import PrivateEndpoint + from ._models_py3 import PrivateEndpointConnection + from ._models_py3 import PrivateLinkService + from ._models_py3 import PrivateLinkServiceConnection + from ._models_py3 import PrivateLinkServiceConnectionState + from ._models_py3 import PrivateLinkServiceIpConfiguration + from ._models_py3 import PrivateLinkServicePropertiesAutoApproval + from ._models_py3 import PrivateLinkServicePropertiesVisibility + from ._models_py3 import PrivateLinkServiceVisibility + from ._models_py3 import Probe + from ._models_py3 import PropagatedRouteTable + from ._models_py3 import ProtocolConfiguration + from ._models_py3 import ProtocolCustomSettingsFormat + from ._models_py3 import PublicIPAddress + from ._models_py3 import PublicIPAddressDnsSettings + from ._models_py3 import PublicIPAddressSku + from ._models_py3 import PublicIPPrefix + from ._models_py3 import PublicIPPrefixSku + from ._models_py3 import QueryTroubleshootingParameters + from ._models_py3 import RadiusServer + from ._models_py3 import RecordSet + from ._models_py3 import ReferencedPublicIpAddress + from ._models_py3 import Resource + from ._models_py3 import ResourceNavigationLink + from ._models_py3 import ResourceNavigationLinksListResult + from ._models_py3 import ResourceSet + from ._models_py3 import RetentionPolicyParameters + from ._models_py3 import Route + from ._models_py3 import RouteFilter + from ._models_py3 import RouteFilterRule + from ._models_py3 import RouteTable + from ._models_py3 import RoutingConfiguration + from ._models_py3 import SecurityGroupNetworkInterface + from ._models_py3 import SecurityGroupViewParameters + from ._models_py3 import SecurityGroupViewResult + from ._models_py3 import SecurityPartnerProvider + from ._models_py3 import SecurityRule + from ._models_py3 import SecurityRuleAssociations + from ._models_py3 import ServiceAssociationLink + from ._models_py3 import ServiceAssociationLinksListResult + from ._models_py3 import ServiceEndpointPolicy + from ._models_py3 import ServiceEndpointPolicyDefinition + from ._models_py3 import ServiceEndpointPropertiesFormat + from ._models_py3 import ServiceTagInformation + from ._models_py3 import ServiceTagInformationPropertiesFormat + from ._models_py3 import ServiceTagsListResult + from ._models_py3 import SessionIds + from ._models_py3 import StaticRoute + from ._models_py3 import Subnet + from ._models_py3 import SubnetAssociation + from ._models_py3 import SubResource + from ._models_py3 import TagsObject + from ._models_py3 import Topology + from ._models_py3 import TopologyAssociation + from ._models_py3 import TopologyParameters + from ._models_py3 import TopologyResource + from ._models_py3 import TrafficAnalyticsConfigurationProperties + from ._models_py3 import TrafficAnalyticsProperties + from ._models_py3 import TrafficSelectorPolicy + from ._models_py3 import TroubleshootingDetails + from ._models_py3 import TroubleshootingParameters + from ._models_py3 import TroubleshootingRecommendedActions + from ._models_py3 import TroubleshootingResult + from ._models_py3 import TunnelConnectionHealth + from ._models_py3 import UnprepareNetworkPoliciesRequest + from ._models_py3 import Usage + from ._models_py3 import UsageName + from ._models_py3 import VerificationIPFlowParameters + from ._models_py3 import VerificationIPFlowResult + from ._models_py3 import VirtualApplianceNicProperties + from ._models_py3 import VirtualApplianceSite + from ._models_py3 import VirtualApplianceSkuProperties + from ._models_py3 import VirtualHub + from ._models_py3 import VirtualHubEffectiveRoute + from ._models_py3 import VirtualHubEffectiveRouteEffectiveRouteList + from ._models_py3 import VirtualHubId + from ._models_py3 import VirtualHubRoute + from ._models_py3 import VirtualHubRouteTable + from ._models_py3 import VirtualHubRouteTableV2 + from ._models_py3 import VirtualHubRouteV2 + from ._models_py3 import VirtualNetwork + from ._models_py3 import VirtualNetworkBgpCommunities + from ._models_py3 import VirtualNetworkConnectionGatewayReference + from ._models_py3 import VirtualNetworkGateway + from ._models_py3 import VirtualNetworkGatewayConnection + from ._models_py3 import VirtualNetworkGatewayConnectionListEntity + from ._models_py3 import VirtualNetworkGatewayIPConfiguration + from ._models_py3 import VirtualNetworkGatewaySku + from ._models_py3 import VirtualNetworkPeering + from ._models_py3 import VirtualNetworkTap + from ._models_py3 import VirtualNetworkUsage + from ._models_py3 import VirtualNetworkUsageName + from ._models_py3 import VirtualRouter + from ._models_py3 import VirtualRouterPeering + from ._models_py3 import VirtualWAN + from ._models_py3 import VirtualWanSecurityProvider + from ._models_py3 import VirtualWanSecurityProviders + from ._models_py3 import VirtualWanVpnProfileParameters + from ._models_py3 import VM + from ._models_py3 import VnetRoute + from ._models_py3 import VpnClientConfiguration + from ._models_py3 import VpnClientConnectionHealth + from ._models_py3 import VpnClientConnectionHealthDetail + from ._models_py3 import VpnClientConnectionHealthDetailListResult + from ._models_py3 import VpnClientIPsecParameters + from ._models_py3 import VpnClientParameters + from ._models_py3 import VpnClientRevokedCertificate + from ._models_py3 import VpnClientRootCertificate + from ._models_py3 import VpnConnection + from ._models_py3 import VpnDeviceScriptParameters + from ._models_py3 import VpnGateway + from ._models_py3 import VpnLinkBgpSettings + from ._models_py3 import VpnLinkProviderProperties + from ._models_py3 import VpnPacketCaptureStartParameters + from ._models_py3 import VpnPacketCaptureStopParameters + from ._models_py3 import VpnProfileResponse + from ._models_py3 import VpnServerConfigRadiusClientRootCertificate + from ._models_py3 import VpnServerConfigRadiusServerRootCertificate + from ._models_py3 import VpnServerConfiguration + from ._models_py3 import VpnServerConfigurationsResponse + from ._models_py3 import VpnServerConfigVpnClientRevokedCertificate + from ._models_py3 import VpnServerConfigVpnClientRootCertificate + from ._models_py3 import VpnSite + from ._models_py3 import VpnSiteId + from ._models_py3 import VpnSiteLink + from ._models_py3 import VpnSiteLinkConnection + from ._models_py3 import WebApplicationFirewallCustomRule + from ._models_py3 import WebApplicationFirewallPolicy +except (SyntaxError, ImportError): + from ._models import AadAuthenticationParameters + from ._models import AddressSpace + from ._models import ApplicationGateway + from ._models import ApplicationGatewayAuthenticationCertificate + from ._models import ApplicationGatewayAutoscaleConfiguration + from ._models import ApplicationGatewayAvailableSslOptions + from ._models import ApplicationGatewayAvailableWafRuleSetsResult + from ._models import ApplicationGatewayBackendAddress + from ._models import ApplicationGatewayBackendAddressPool + from ._models import ApplicationGatewayBackendHealth + from ._models import ApplicationGatewayBackendHealthHttpSettings + from ._models import ApplicationGatewayBackendHealthOnDemand + from ._models import ApplicationGatewayBackendHealthPool + from ._models import ApplicationGatewayBackendHealthServer + from ._models import ApplicationGatewayBackendHttpSettings + from ._models import ApplicationGatewayConnectionDraining + from ._models import ApplicationGatewayCustomError + from ._models import ApplicationGatewayFirewallDisabledRuleGroup + from ._models import ApplicationGatewayFirewallExclusion + from ._models import ApplicationGatewayFirewallRule + from ._models import ApplicationGatewayFirewallRuleGroup + from ._models import ApplicationGatewayFirewallRuleSet + from ._models import ApplicationGatewayFrontendIPConfiguration + from ._models import ApplicationGatewayFrontendPort + from ._models import ApplicationGatewayHeaderConfiguration + from ._models import ApplicationGatewayHttpListener + from ._models import ApplicationGatewayIPConfiguration + from ._models import ApplicationGatewayOnDemandProbe + from ._models import ApplicationGatewayPathRule + from ._models import ApplicationGatewayProbe + from ._models import ApplicationGatewayProbeHealthResponseMatch + from ._models import ApplicationGatewayRedirectConfiguration + from ._models import ApplicationGatewayRequestRoutingRule + from ._models import ApplicationGatewayRewriteRule + from ._models import ApplicationGatewayRewriteRuleActionSet + from ._models import ApplicationGatewayRewriteRuleCondition + from ._models import ApplicationGatewayRewriteRuleSet + from ._models import ApplicationGatewaySku + from ._models import ApplicationGatewaySslCertificate + from ._models import ApplicationGatewaySslPolicy + from ._models import ApplicationGatewaySslPredefinedPolicy + from ._models import ApplicationGatewayTrustedRootCertificate + from ._models import ApplicationGatewayUrlConfiguration + from ._models import ApplicationGatewayUrlPathMap + from ._models import ApplicationGatewayWebApplicationFirewallConfiguration + from ._models import ApplicationRule + from ._models import ApplicationSecurityGroup + from ._models import AutoApprovedPrivateLinkService + from ._models import Availability + from ._models import AvailableDelegation + from ._models import AvailablePrivateEndpointType + from ._models import AvailableProvidersList + from ._models import AvailableProvidersListCity + from ._models import AvailableProvidersListCountry + from ._models import AvailableProvidersListParameters + from ._models import AvailableProvidersListState + from ._models import AvailableServiceAlias + from ._models import AzureAsyncOperationResult + from ._models import AzureFirewall + from ._models import AzureFirewallApplicationRule + from ._models import AzureFirewallApplicationRuleCollection + from ._models import AzureFirewallApplicationRuleProtocol + from ._models import AzureFirewallFqdnTag + from ._models import AzureFirewallIPConfiguration + from ._models import AzureFirewallIpGroups + from ._models import AzureFirewallNatRCAction + from ._models import AzureFirewallNatRule + from ._models import AzureFirewallNatRuleCollection + from ._models import AzureFirewallNetworkRule + from ._models import AzureFirewallNetworkRuleCollection + from ._models import AzureFirewallPublicIPAddress + from ._models import AzureFirewallRCAction + from ._models import AzureFirewallSku + from ._models import AzureReachabilityReport + from ._models import AzureReachabilityReportItem + from ._models import AzureReachabilityReportLatencyInfo + from ._models import AzureReachabilityReportLocation + from ._models import AzureReachabilityReportParameters + from ._models import BackendAddressPool + from ._models import BastionActiveSession + from ._models import BastionActiveSessionListResult + from ._models import BastionHost + from ._models import BastionHostIPConfiguration + from ._models import BastionSessionState + from ._models import BastionShareableLink + from ._models import BastionShareableLinkListRequest + from ._models import BastionShareableLinkListResult + from ._models import BGPCommunity + from ._models import BgpConnection + from ._models import BgpPeerStatus + from ._models import BgpPeerStatusListResult + from ._models import BgpServiceCommunity + from ._models import BgpSettings + from ._models import BreakOutCategoryPolicies + from ._models import CheckPrivateLinkServiceVisibilityRequest + from ._models import ConnectionMonitor + from ._models import ConnectionMonitorDestination + from ._models import ConnectionMonitorEndpoint + from ._models import ConnectionMonitorEndpointFilter + from ._models import ConnectionMonitorEndpointFilterItem + from ._models import ConnectionMonitorHttpConfiguration + from ._models import ConnectionMonitorIcmpConfiguration + from ._models import ConnectionMonitorOutput + from ._models import ConnectionMonitorParameters + from ._models import ConnectionMonitorQueryResult + from ._models import ConnectionMonitorResult + from ._models import ConnectionMonitorSource + from ._models import ConnectionMonitorSuccessThreshold + from ._models import ConnectionMonitorTcpConfiguration + from ._models import ConnectionMonitorTestConfiguration + from ._models import ConnectionMonitorTestGroup + from ._models import ConnectionMonitorWorkspaceSettings + from ._models import ConnectionResetSharedKey + from ._models import ConnectionSharedKey + from ._models import ConnectionStateSnapshot + from ._models import ConnectivityDestination + from ._models import ConnectivityHop + from ._models import ConnectivityInformation + from ._models import ConnectivityIssue + from ._models import ConnectivityParameters + from ._models import ConnectivitySource + from ._models import Container + from ._models import ContainerNetworkInterface + from ._models import ContainerNetworkInterfaceConfiguration + from ._models import ContainerNetworkInterfaceIpConfiguration + from ._models import CustomDnsConfigPropertiesFormat + from ._models import DdosCustomPolicy + from ._models import DdosProtectionPlan + from ._models import DdosSettings + from ._models import Delegation + from ._models import DeviceProperties + from ._models import DhcpOptions + from ._models import Dimension + from ._models import DnsNameAvailabilityResult + from ._models import DnsSettings + from ._models import EffectiveNetworkSecurityGroup + from ._models import EffectiveNetworkSecurityGroupAssociation + from ._models import EffectiveNetworkSecurityGroupListResult + from ._models import EffectiveNetworkSecurityRule + from ._models import EffectiveRoute + from ._models import EffectiveRouteListResult + from ._models import EffectiveRoutesParameters + from ._models import EndpointServiceResult + from ._models import Error, ErrorException + from ._models import ErrorDetails + from ._models import ErrorResponse, ErrorResponseException + from ._models import EvaluatedNetworkSecurityGroup + from ._models import ExpressRouteCircuit + from ._models import ExpressRouteCircuitArpTable + from ._models import ExpressRouteCircuitAuthorization + from ._models import ExpressRouteCircuitConnection + from ._models import ExpressRouteCircuitPeering + from ._models import ExpressRouteCircuitPeeringConfig + from ._models import ExpressRouteCircuitPeeringId + from ._models import ExpressRouteCircuitReference + from ._models import ExpressRouteCircuitRoutesTable + from ._models import ExpressRouteCircuitRoutesTableSummary + from ._models import ExpressRouteCircuitsArpTableListResult + from ._models import ExpressRouteCircuitServiceProviderProperties + from ._models import ExpressRouteCircuitSku + from ._models import ExpressRouteCircuitsRoutesTableListResult + from ._models import ExpressRouteCircuitsRoutesTableSummaryListResult + from ._models import ExpressRouteCircuitStats + from ._models import ExpressRouteConnection + from ._models import ExpressRouteConnectionId + from ._models import ExpressRouteConnectionList + from ._models import ExpressRouteCrossConnection + from ._models import ExpressRouteCrossConnectionPeering + from ._models import ExpressRouteCrossConnectionRoutesTableSummary + from ._models import ExpressRouteCrossConnectionsRoutesTableSummaryListResult + from ._models import ExpressRouteGateway + from ._models import ExpressRouteGatewayList + from ._models import ExpressRouteGatewayPropertiesAutoScaleConfiguration + from ._models import ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds + from ._models import ExpressRouteLink + from ._models import ExpressRouteLinkMacSecConfig + from ._models import ExpressRoutePort + from ._models import ExpressRoutePortsLocation + from ._models import ExpressRoutePortsLocationBandwidths + from ._models import ExpressRouteServiceProvider + from ._models import ExpressRouteServiceProviderBandwidthsOffered + from ._models import FirewallPolicy + from ._models import FirewallPolicyCertificateAuthority + from ._models import FirewallPolicyFilterRuleCollection + from ._models import FirewallPolicyFilterRuleCollectionAction + from ._models import FirewallPolicyNatRuleCollection + from ._models import FirewallPolicyNatRuleCollectionAction + from ._models import FirewallPolicyRule + from ._models import FirewallPolicyRuleApplicationProtocol + from ._models import FirewallPolicyRuleCollection + from ._models import FirewallPolicyRuleCollectionGroup + from ._models import FirewallPolicyThreatIntelWhitelist + from ._models import FirewallPolicyTransportSecurity + from ._models import FirewallPolicyTrustedRootCertificate + from ._models import FlowLog + from ._models import FlowLogFormatParameters + from ._models import FlowLogInformation + from ._models import FlowLogStatusParameters + from ._models import FrontendIPConfiguration + from ._models import GatewayRoute + from ._models import GatewayRouteListResult + from ._models import GetVpnSitesConfigurationRequest + from ._models import HopLink + from ._models import HTTPConfiguration + from ._models import HTTPHeader + from ._models import HubIPAddresses + from ._models import HubIpConfiguration + from ._models import HubPublicIPAddresses + from ._models import HubRoute + from ._models import HubRouteTable + from ._models import HubVirtualNetworkConnection + from ._models import InboundNatPool + from ._models import InboundNatRule + from ._models import IPAddressAvailabilityResult + from ._models import IpAllocation + from ._models import IPConfiguration + from ._models import IPConfigurationBgpPeeringAddress + from ._models import IPConfigurationProfile + from ._models import IpGroup + from ._models import IpsecPolicy + from ._models import IpTag + from ._models import Ipv6CircuitConnectionConfig + from ._models import Ipv6ExpressRouteCircuitPeeringConfig + from ._models import LoadBalancer + from ._models import LoadBalancerBackendAddress + from ._models import LoadBalancerSku + from ._models import LoadBalancingRule + from ._models import LocalNetworkGateway + from ._models import LogSpecification + from ._models import ManagedRuleGroupOverride + from ._models import ManagedRuleOverride + from ._models import ManagedRulesDefinition + from ._models import ManagedRuleSet + from ._models import ManagedServiceIdentity + from ._models import ManagedServiceIdentityUserAssignedIdentitiesValue + from ._models import MatchCondition + from ._models import MatchedRule + from ._models import MatchVariable + from ._models import MetricSpecification + from ._models import NatGateway + from ._models import NatGatewaySku + from ._models import NatRule + from ._models import NetworkConfigurationDiagnosticParameters + from ._models import NetworkConfigurationDiagnosticProfile + from ._models import NetworkConfigurationDiagnosticResponse + from ._models import NetworkConfigurationDiagnosticResult + from ._models import NetworkIntentPolicy + from ._models import NetworkIntentPolicyConfiguration + from ._models import NetworkInterface + from ._models import NetworkInterfaceAssociation + from ._models import NetworkInterfaceDnsSettings + from ._models import NetworkInterfaceIPConfiguration + from ._models import NetworkInterfaceIPConfigurationPrivateLinkConnectionProperties + from ._models import NetworkInterfaceTapConfiguration + from ._models import NetworkProfile + from ._models import NetworkRule + from ._models import NetworkSecurityGroup + from ._models import NetworkSecurityGroupResult + from ._models import NetworkSecurityRulesEvaluationResult + from ._models import NetworkVirtualAppliance + from ._models import NetworkVirtualApplianceSku + from ._models import NetworkVirtualApplianceSkuInstances + from ._models import NetworkWatcher + from ._models import NextHopParameters + from ._models import NextHopResult + from ._models import Office365PolicyProperties + from ._models import Operation + from ._models import OperationDisplay + from ._models import OperationPropertiesFormatServiceSpecification + from ._models import OutboundRule + from ._models import OwaspCrsExclusionEntry + from ._models import P2SConnectionConfiguration + from ._models import P2SVpnConnectionHealth + from ._models import P2SVpnConnectionHealthRequest + from ._models import P2SVpnConnectionRequest + from ._models import P2SVpnGateway + from ._models import P2SVpnProfileParameters + from ._models import PacketCapture + from ._models import PacketCaptureFilter + from ._models import PacketCaptureParameters + from ._models import PacketCaptureQueryStatusResult + from ._models import PacketCaptureResult + from ._models import PacketCaptureStorageLocation + from ._models import PatchRouteFilter + from ._models import PatchRouteFilterRule + from ._models import PeerExpressRouteCircuitConnection + from ._models import PolicySettings + from ._models import PrepareNetworkPoliciesRequest + from ._models import PrivateDnsZoneConfig + from ._models import PrivateDnsZoneGroup + from ._models import PrivateEndpoint + from ._models import PrivateEndpointConnection + from ._models import PrivateLinkService + from ._models import PrivateLinkServiceConnection + from ._models import PrivateLinkServiceConnectionState + from ._models import PrivateLinkServiceIpConfiguration + from ._models import PrivateLinkServicePropertiesAutoApproval + from ._models import PrivateLinkServicePropertiesVisibility + from ._models import PrivateLinkServiceVisibility + from ._models import Probe + from ._models import PropagatedRouteTable + from ._models import ProtocolConfiguration + from ._models import ProtocolCustomSettingsFormat + from ._models import PublicIPAddress + from ._models import PublicIPAddressDnsSettings + from ._models import PublicIPAddressSku + from ._models import PublicIPPrefix + from ._models import PublicIPPrefixSku + from ._models import QueryTroubleshootingParameters + from ._models import RadiusServer + from ._models import RecordSet + from ._models import ReferencedPublicIpAddress + from ._models import Resource + from ._models import ResourceNavigationLink + from ._models import ResourceNavigationLinksListResult + from ._models import ResourceSet + from ._models import RetentionPolicyParameters + from ._models import Route + from ._models import RouteFilter + from ._models import RouteFilterRule + from ._models import RouteTable + from ._models import RoutingConfiguration + from ._models import SecurityGroupNetworkInterface + from ._models import SecurityGroupViewParameters + from ._models import SecurityGroupViewResult + from ._models import SecurityPartnerProvider + from ._models import SecurityRule + from ._models import SecurityRuleAssociations + from ._models import ServiceAssociationLink + from ._models import ServiceAssociationLinksListResult + from ._models import ServiceEndpointPolicy + from ._models import ServiceEndpointPolicyDefinition + from ._models import ServiceEndpointPropertiesFormat + from ._models import ServiceTagInformation + from ._models import ServiceTagInformationPropertiesFormat + from ._models import ServiceTagsListResult + from ._models import SessionIds + from ._models import StaticRoute + from ._models import Subnet + from ._models import SubnetAssociation + from ._models import SubResource + from ._models import TagsObject + from ._models import Topology + from ._models import TopologyAssociation + from ._models import TopologyParameters + from ._models import TopologyResource + from ._models import TrafficAnalyticsConfigurationProperties + from ._models import TrafficAnalyticsProperties + from ._models import TrafficSelectorPolicy + from ._models import TroubleshootingDetails + from ._models import TroubleshootingParameters + from ._models import TroubleshootingRecommendedActions + from ._models import TroubleshootingResult + from ._models import TunnelConnectionHealth + from ._models import UnprepareNetworkPoliciesRequest + from ._models import Usage + from ._models import UsageName + from ._models import VerificationIPFlowParameters + from ._models import VerificationIPFlowResult + from ._models import VirtualApplianceNicProperties + from ._models import VirtualApplianceSite + from ._models import VirtualApplianceSkuProperties + from ._models import VirtualHub + from ._models import VirtualHubEffectiveRoute + from ._models import VirtualHubEffectiveRouteEffectiveRouteList + from ._models import VirtualHubId + from ._models import VirtualHubRoute + from ._models import VirtualHubRouteTable + from ._models import VirtualHubRouteTableV2 + from ._models import VirtualHubRouteV2 + from ._models import VirtualNetwork + from ._models import VirtualNetworkBgpCommunities + from ._models import VirtualNetworkConnectionGatewayReference + from ._models import VirtualNetworkGateway + from ._models import VirtualNetworkGatewayConnection + from ._models import VirtualNetworkGatewayConnectionListEntity + from ._models import VirtualNetworkGatewayIPConfiguration + from ._models import VirtualNetworkGatewaySku + from ._models import VirtualNetworkPeering + from ._models import VirtualNetworkTap + from ._models import VirtualNetworkUsage + from ._models import VirtualNetworkUsageName + from ._models import VirtualRouter + from ._models import VirtualRouterPeering + from ._models import VirtualWAN + from ._models import VirtualWanSecurityProvider + from ._models import VirtualWanSecurityProviders + from ._models import VirtualWanVpnProfileParameters + from ._models import VM + from ._models import VnetRoute + from ._models import VpnClientConfiguration + from ._models import VpnClientConnectionHealth + from ._models import VpnClientConnectionHealthDetail + from ._models import VpnClientConnectionHealthDetailListResult + from ._models import VpnClientIPsecParameters + from ._models import VpnClientParameters + from ._models import VpnClientRevokedCertificate + from ._models import VpnClientRootCertificate + from ._models import VpnConnection + from ._models import VpnDeviceScriptParameters + from ._models import VpnGateway + from ._models import VpnLinkBgpSettings + from ._models import VpnLinkProviderProperties + from ._models import VpnPacketCaptureStartParameters + from ._models import VpnPacketCaptureStopParameters + from ._models import VpnProfileResponse + from ._models import VpnServerConfigRadiusClientRootCertificate + from ._models import VpnServerConfigRadiusServerRootCertificate + from ._models import VpnServerConfiguration + from ._models import VpnServerConfigurationsResponse + from ._models import VpnServerConfigVpnClientRevokedCertificate + from ._models import VpnServerConfigVpnClientRootCertificate + from ._models import VpnSite + from ._models import VpnSiteId + from ._models import VpnSiteLink + from ._models import VpnSiteLinkConnection + from ._models import WebApplicationFirewallCustomRule + from ._models import WebApplicationFirewallPolicy +from ._paged_models import ApplicationGatewayPaged +from ._paged_models import ApplicationGatewaySslPredefinedPolicyPaged +from ._paged_models import ApplicationSecurityGroupPaged +from ._paged_models import AutoApprovedPrivateLinkServicePaged +from ._paged_models import AvailableDelegationPaged +from ._paged_models import AvailablePrivateEndpointTypePaged +from ._paged_models import AvailableServiceAliasPaged +from ._paged_models import AzureFirewallFqdnTagPaged +from ._paged_models import AzureFirewallPaged +from ._paged_models import BackendAddressPoolPaged +from ._paged_models import BastionHostPaged +from ._paged_models import BastionSessionStatePaged +from ._paged_models import BastionShareableLinkPaged +from ._paged_models import BgpConnectionPaged +from ._paged_models import BgpServiceCommunityPaged +from ._paged_models import ConnectionMonitorResultPaged +from ._paged_models import DdosProtectionPlanPaged +from ._paged_models import EndpointServiceResultPaged +from ._paged_models import ExpressRouteCircuitAuthorizationPaged +from ._paged_models import ExpressRouteCircuitConnectionPaged +from ._paged_models import ExpressRouteCircuitPaged +from ._paged_models import ExpressRouteCircuitPeeringPaged +from ._paged_models import ExpressRouteCrossConnectionPaged +from ._paged_models import ExpressRouteCrossConnectionPeeringPaged +from ._paged_models import ExpressRouteLinkPaged +from ._paged_models import ExpressRoutePortPaged +from ._paged_models import ExpressRoutePortsLocationPaged +from ._paged_models import ExpressRouteServiceProviderPaged +from ._paged_models import FirewallPolicyPaged +from ._paged_models import FirewallPolicyRuleCollectionGroupPaged +from ._paged_models import FlowLogPaged +from ._paged_models import FrontendIPConfigurationPaged +from ._paged_models import HubIpConfigurationPaged +from ._paged_models import HubRouteTablePaged +from ._paged_models import HubVirtualNetworkConnectionPaged +from ._paged_models import InboundNatRulePaged +from ._paged_models import IpAllocationPaged +from ._paged_models import IpGroupPaged +from ._paged_models import LoadBalancerPaged +from ._paged_models import LoadBalancingRulePaged +from ._paged_models import LocalNetworkGatewayPaged +from ._paged_models import NatGatewayPaged +from ._paged_models import NetworkInterfaceIPConfigurationPaged +from ._paged_models import NetworkInterfacePaged +from ._paged_models import NetworkInterfaceTapConfigurationPaged +from ._paged_models import NetworkProfilePaged +from ._paged_models import NetworkSecurityGroupPaged +from ._paged_models import NetworkVirtualAppliancePaged +from ._paged_models import NetworkVirtualApplianceSkuPaged +from ._paged_models import NetworkWatcherPaged +from ._paged_models import OperationPaged +from ._paged_models import OutboundRulePaged +from ._paged_models import P2SVpnGatewayPaged +from ._paged_models import PacketCaptureResultPaged +from ._paged_models import PeerExpressRouteCircuitConnectionPaged +from ._paged_models import PrivateDnsZoneGroupPaged +from ._paged_models import PrivateEndpointConnectionPaged +from ._paged_models import PrivateEndpointPaged +from ._paged_models import PrivateLinkServicePaged +from ._paged_models import ProbePaged +from ._paged_models import PublicIPAddressPaged +from ._paged_models import PublicIPPrefixPaged +from ._paged_models import RouteFilterPaged +from ._paged_models import RouteFilterRulePaged +from ._paged_models import RoutePaged +from ._paged_models import RouteTablePaged +from ._paged_models import SecurityPartnerProviderPaged +from ._paged_models import SecurityRulePaged +from ._paged_models import ServiceEndpointPolicyDefinitionPaged +from ._paged_models import ServiceEndpointPolicyPaged +from ._paged_models import SubnetPaged +from ._paged_models import UsagePaged +from ._paged_models import VirtualApplianceSitePaged +from ._paged_models import VirtualHubPaged +from ._paged_models import VirtualHubRouteTableV2Paged +from ._paged_models import VirtualNetworkGatewayConnectionListEntityPaged +from ._paged_models import VirtualNetworkGatewayConnectionPaged +from ._paged_models import VirtualNetworkGatewayPaged +from ._paged_models import VirtualNetworkPaged +from ._paged_models import VirtualNetworkPeeringPaged +from ._paged_models import VirtualNetworkTapPaged +from ._paged_models import VirtualNetworkUsagePaged +from ._paged_models import VirtualRouterPaged +from ._paged_models import VirtualRouterPeeringPaged +from ._paged_models import VirtualWANPaged +from ._paged_models import VpnConnectionPaged +from ._paged_models import VpnGatewayPaged +from ._paged_models import VpnServerConfigurationPaged +from ._paged_models import VpnSiteLinkConnectionPaged +from ._paged_models import VpnSiteLinkPaged +from ._paged_models import VpnSitePaged +from ._paged_models import WebApplicationFirewallPolicyPaged +from ._network_management_client_enums import ( + ApplicationGatewayProtocol, + ProvisioningState, + IPAllocationMethod, + IPVersion, + SecurityRuleProtocol, + SecurityRuleAccess, + SecurityRuleDirection, + FlowLogFormatType, + RouteNextHopType, + PublicIPAddressSkuName, + DdosSettingsProtectionCoverage, + VirtualNetworkPeeringState, + TransportProtocol, + ApplicationGatewayCookieBasedAffinity, + ApplicationGatewayBackendHealthServerHealth, + ApplicationGatewaySkuName, + ApplicationGatewayTier, + ApplicationGatewaySslProtocol, + ApplicationGatewaySslPolicyType, + ApplicationGatewaySslPolicyName, + ApplicationGatewaySslCipherSuite, + ApplicationGatewayCustomErrorStatusCode, + ApplicationGatewayRequestRoutingRuleType, + ApplicationGatewayRedirectType, + ApplicationGatewayOperationalState, + ApplicationGatewayFirewallMode, + ResourceIdentityType, + AzureFirewallRCActionType, + AzureFirewallApplicationRuleProtocolType, + AzureFirewallNatRCActionType, + AzureFirewallNetworkRuleProtocol, + AzureFirewallThreatIntelMode, + AzureFirewallSkuName, + AzureFirewallSkuTier, + BastionConnectProtocol, + DdosCustomPolicyProtocol, + DdosCustomPolicyTriggerSensitivityOverride, + AuthorizationUseStatus, + ExpressRouteCircuitPeeringAdvertisedPublicPrefixState, + ExpressRouteCircuitPeeringState, + ExpressRoutePeeringType, + ExpressRoutePeeringState, + CircuitConnectionStatus, + ExpressRouteCircuitSkuTier, + ExpressRouteCircuitSkuFamily, + ServiceProviderProvisioningState, + ExpressRouteLinkMacSecCipher, + ExpressRouteLinkConnectorType, + ExpressRouteLinkAdminState, + ExpressRoutePortsEncapsulation, + FirewallPolicyIntrusionSystemMode, + FirewallPolicyNatRuleCollectionActionType, + FirewallPolicyFilterRuleCollectionActionType, + FirewallPolicyRuleApplicationProtocolType, + FirewallPolicyRuleNetworkProtocol, + IpAllocationType, + LoadBalancerSkuName, + LoadDistribution, + ProbeProtocol, + LoadBalancerOutboundRuleProtocol, + NatGatewaySkuName, + NetworkOperationStatus, + Access, + AuthenticationMethod, + EffectiveSecurityRuleProtocol, + EffectiveRouteSource, + EffectiveRouteState, + AssociationType, + Direction, + IpFlowProtocol, + NextHopType, + PcProtocol, + PcStatus, + PcError, + Protocol, + HTTPMethod, + Origin, + Severity, + IssueType, + ConnectionStatus, + VerbosityLevel, + ConnectionMonitorEndpointFilterType, + ConnectionMonitorEndpointFilterItemType, + ConnectionMonitorTestConfigurationProtocol, + PreferredIPVersion, + HTTPConfigurationMethod, + OutputType, + ConnectionState, + EvaluationState, + ConnectionMonitorType, + ConnectionMonitorSourceStatus, + PublicIPPrefixSkuName, + SecurityProviderName, + SecurityPartnerProviderConnectionStatus, + VirtualNetworkGatewayType, + VpnType, + VpnGatewayGeneration, + VirtualNetworkGatewaySkuName, + VirtualNetworkGatewaySkuTier, + VpnClientProtocol, + IpsecEncryption, + IpsecIntegrity, + IkeEncryption, + IkeIntegrity, + DhGroup, + PfsGroup, + BgpPeerState, + ProcessorArchitecture, + VirtualNetworkGatewayConnectionStatus, + VirtualNetworkGatewayConnectionType, + VirtualNetworkGatewayConnectionProtocol, + OfficeTrafficCategory, + RoutingState, + HubBgpConnectionStatus, + VpnConnectionStatus, + VirtualWanSecurityProviderType, + TunnelConnectionStatus, + HubVirtualNetworkConnectionStatus, + VpnGatewayTunnelingProtocol, + VpnAuthenticationType, + WebApplicationFirewallEnabledState, + WebApplicationFirewallMode, + WebApplicationFirewallRuleType, + WebApplicationFirewallMatchVariable, + WebApplicationFirewallOperator, + WebApplicationFirewallTransform, + WebApplicationFirewallAction, + WebApplicationFirewallPolicyResourceState, + OwaspCrsExclusionEntryMatchVariable, + OwaspCrsExclusionEntrySelectorMatchOperator, + ManagedRuleEnabledState, +) + +__all__ = [ + 'AadAuthenticationParameters', + 'AddressSpace', + 'ApplicationGateway', + 'ApplicationGatewayAuthenticationCertificate', + 'ApplicationGatewayAutoscaleConfiguration', + 'ApplicationGatewayAvailableSslOptions', + 'ApplicationGatewayAvailableWafRuleSetsResult', + 'ApplicationGatewayBackendAddress', + 'ApplicationGatewayBackendAddressPool', + 'ApplicationGatewayBackendHealth', + 'ApplicationGatewayBackendHealthHttpSettings', + 'ApplicationGatewayBackendHealthOnDemand', + 'ApplicationGatewayBackendHealthPool', + 'ApplicationGatewayBackendHealthServer', + 'ApplicationGatewayBackendHttpSettings', + 'ApplicationGatewayConnectionDraining', + 'ApplicationGatewayCustomError', + 'ApplicationGatewayFirewallDisabledRuleGroup', + 'ApplicationGatewayFirewallExclusion', + 'ApplicationGatewayFirewallRule', + 'ApplicationGatewayFirewallRuleGroup', + 'ApplicationGatewayFirewallRuleSet', + 'ApplicationGatewayFrontendIPConfiguration', + 'ApplicationGatewayFrontendPort', + 'ApplicationGatewayHeaderConfiguration', + 'ApplicationGatewayHttpListener', + 'ApplicationGatewayIPConfiguration', + 'ApplicationGatewayOnDemandProbe', + 'ApplicationGatewayPathRule', + 'ApplicationGatewayProbe', + 'ApplicationGatewayProbeHealthResponseMatch', + 'ApplicationGatewayRedirectConfiguration', + 'ApplicationGatewayRequestRoutingRule', + 'ApplicationGatewayRewriteRule', + 'ApplicationGatewayRewriteRuleActionSet', + 'ApplicationGatewayRewriteRuleCondition', + 'ApplicationGatewayRewriteRuleSet', + 'ApplicationGatewaySku', + 'ApplicationGatewaySslCertificate', + 'ApplicationGatewaySslPolicy', + 'ApplicationGatewaySslPredefinedPolicy', + 'ApplicationGatewayTrustedRootCertificate', + 'ApplicationGatewayUrlConfiguration', + 'ApplicationGatewayUrlPathMap', + 'ApplicationGatewayWebApplicationFirewallConfiguration', + 'ApplicationRule', + 'ApplicationSecurityGroup', + 'AutoApprovedPrivateLinkService', + 'Availability', + 'AvailableDelegation', + 'AvailablePrivateEndpointType', + 'AvailableProvidersList', + 'AvailableProvidersListCity', + 'AvailableProvidersListCountry', + 'AvailableProvidersListParameters', + 'AvailableProvidersListState', + 'AvailableServiceAlias', + 'AzureAsyncOperationResult', + 'AzureFirewall', + 'AzureFirewallApplicationRule', + 'AzureFirewallApplicationRuleCollection', + 'AzureFirewallApplicationRuleProtocol', + 'AzureFirewallFqdnTag', + 'AzureFirewallIPConfiguration', + 'AzureFirewallIpGroups', + 'AzureFirewallNatRCAction', + 'AzureFirewallNatRule', + 'AzureFirewallNatRuleCollection', + 'AzureFirewallNetworkRule', + 'AzureFirewallNetworkRuleCollection', + 'AzureFirewallPublicIPAddress', + 'AzureFirewallRCAction', + 'AzureFirewallSku', + 'AzureReachabilityReport', + 'AzureReachabilityReportItem', + 'AzureReachabilityReportLatencyInfo', + 'AzureReachabilityReportLocation', + 'AzureReachabilityReportParameters', + 'BackendAddressPool', + 'BastionActiveSession', + 'BastionActiveSessionListResult', + 'BastionHost', + 'BastionHostIPConfiguration', + 'BastionSessionState', + 'BastionShareableLink', + 'BastionShareableLinkListRequest', + 'BastionShareableLinkListResult', + 'BGPCommunity', + 'BgpConnection', + 'BgpPeerStatus', + 'BgpPeerStatusListResult', + 'BgpServiceCommunity', + 'BgpSettings', + 'BreakOutCategoryPolicies', + 'CheckPrivateLinkServiceVisibilityRequest', + 'ConnectionMonitor', + 'ConnectionMonitorDestination', + 'ConnectionMonitorEndpoint', + 'ConnectionMonitorEndpointFilter', + 'ConnectionMonitorEndpointFilterItem', + 'ConnectionMonitorHttpConfiguration', + 'ConnectionMonitorIcmpConfiguration', + 'ConnectionMonitorOutput', + 'ConnectionMonitorParameters', + 'ConnectionMonitorQueryResult', + 'ConnectionMonitorResult', + 'ConnectionMonitorSource', + 'ConnectionMonitorSuccessThreshold', + 'ConnectionMonitorTcpConfiguration', + 'ConnectionMonitorTestConfiguration', + 'ConnectionMonitorTestGroup', + 'ConnectionMonitorWorkspaceSettings', + 'ConnectionResetSharedKey', + 'ConnectionSharedKey', + 'ConnectionStateSnapshot', + 'ConnectivityDestination', + 'ConnectivityHop', + 'ConnectivityInformation', + 'ConnectivityIssue', + 'ConnectivityParameters', + 'ConnectivitySource', + 'Container', + 'ContainerNetworkInterface', + 'ContainerNetworkInterfaceConfiguration', + 'ContainerNetworkInterfaceIpConfiguration', + 'CustomDnsConfigPropertiesFormat', + 'DdosCustomPolicy', + 'DdosProtectionPlan', + 'DdosSettings', + 'Delegation', + 'DeviceProperties', + 'DhcpOptions', + 'Dimension', + 'DnsNameAvailabilityResult', + 'DnsSettings', + 'EffectiveNetworkSecurityGroup', + 'EffectiveNetworkSecurityGroupAssociation', + 'EffectiveNetworkSecurityGroupListResult', + 'EffectiveNetworkSecurityRule', + 'EffectiveRoute', + 'EffectiveRouteListResult', + 'EffectiveRoutesParameters', + 'EndpointServiceResult', + 'Error', 'ErrorException', + 'ErrorDetails', + 'ErrorResponse', 'ErrorResponseException', + 'EvaluatedNetworkSecurityGroup', + 'ExpressRouteCircuit', + 'ExpressRouteCircuitArpTable', + 'ExpressRouteCircuitAuthorization', + 'ExpressRouteCircuitConnection', + 'ExpressRouteCircuitPeering', + 'ExpressRouteCircuitPeeringConfig', + 'ExpressRouteCircuitPeeringId', + 'ExpressRouteCircuitReference', + 'ExpressRouteCircuitRoutesTable', + 'ExpressRouteCircuitRoutesTableSummary', + 'ExpressRouteCircuitsArpTableListResult', + 'ExpressRouteCircuitServiceProviderProperties', + 'ExpressRouteCircuitSku', + 'ExpressRouteCircuitsRoutesTableListResult', + 'ExpressRouteCircuitsRoutesTableSummaryListResult', + 'ExpressRouteCircuitStats', + 'ExpressRouteConnection', + 'ExpressRouteConnectionId', + 'ExpressRouteConnectionList', + 'ExpressRouteCrossConnection', + 'ExpressRouteCrossConnectionPeering', + 'ExpressRouteCrossConnectionRoutesTableSummary', + 'ExpressRouteCrossConnectionsRoutesTableSummaryListResult', + 'ExpressRouteGateway', + 'ExpressRouteGatewayList', + 'ExpressRouteGatewayPropertiesAutoScaleConfiguration', + 'ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds', + 'ExpressRouteLink', + 'ExpressRouteLinkMacSecConfig', + 'ExpressRoutePort', + 'ExpressRoutePortsLocation', + 'ExpressRoutePortsLocationBandwidths', + 'ExpressRouteServiceProvider', + 'ExpressRouteServiceProviderBandwidthsOffered', + 'FirewallPolicy', + 'FirewallPolicyCertificateAuthority', + 'FirewallPolicyFilterRuleCollection', + 'FirewallPolicyFilterRuleCollectionAction', + 'FirewallPolicyNatRuleCollection', + 'FirewallPolicyNatRuleCollectionAction', + 'FirewallPolicyRule', + 'FirewallPolicyRuleApplicationProtocol', + 'FirewallPolicyRuleCollection', + 'FirewallPolicyRuleCollectionGroup', + 'FirewallPolicyThreatIntelWhitelist', + 'FirewallPolicyTransportSecurity', + 'FirewallPolicyTrustedRootCertificate', + 'FlowLog', + 'FlowLogFormatParameters', + 'FlowLogInformation', + 'FlowLogStatusParameters', + 'FrontendIPConfiguration', + 'GatewayRoute', + 'GatewayRouteListResult', + 'GetVpnSitesConfigurationRequest', + 'HopLink', + 'HTTPConfiguration', + 'HTTPHeader', + 'HubIPAddresses', + 'HubIpConfiguration', + 'HubPublicIPAddresses', + 'HubRoute', + 'HubRouteTable', + 'HubVirtualNetworkConnection', + 'InboundNatPool', + 'InboundNatRule', + 'IPAddressAvailabilityResult', + 'IpAllocation', + 'IPConfiguration', + 'IPConfigurationBgpPeeringAddress', + 'IPConfigurationProfile', + 'IpGroup', + 'IpsecPolicy', + 'IpTag', + 'Ipv6CircuitConnectionConfig', + 'Ipv6ExpressRouteCircuitPeeringConfig', + 'LoadBalancer', + 'LoadBalancerBackendAddress', + 'LoadBalancerSku', + 'LoadBalancingRule', + 'LocalNetworkGateway', + 'LogSpecification', + 'ManagedRuleGroupOverride', + 'ManagedRuleOverride', + 'ManagedRulesDefinition', + 'ManagedRuleSet', + 'ManagedServiceIdentity', + 'ManagedServiceIdentityUserAssignedIdentitiesValue', + 'MatchCondition', + 'MatchedRule', + 'MatchVariable', + 'MetricSpecification', + 'NatGateway', + 'NatGatewaySku', + 'NatRule', + 'NetworkConfigurationDiagnosticParameters', + 'NetworkConfigurationDiagnosticProfile', + 'NetworkConfigurationDiagnosticResponse', + 'NetworkConfigurationDiagnosticResult', + 'NetworkIntentPolicy', + 'NetworkIntentPolicyConfiguration', + 'NetworkInterface', + 'NetworkInterfaceAssociation', + 'NetworkInterfaceDnsSettings', + 'NetworkInterfaceIPConfiguration', + 'NetworkInterfaceIPConfigurationPrivateLinkConnectionProperties', + 'NetworkInterfaceTapConfiguration', + 'NetworkProfile', + 'NetworkRule', + 'NetworkSecurityGroup', + 'NetworkSecurityGroupResult', + 'NetworkSecurityRulesEvaluationResult', + 'NetworkVirtualAppliance', + 'NetworkVirtualApplianceSku', + 'NetworkVirtualApplianceSkuInstances', + 'NetworkWatcher', + 'NextHopParameters', + 'NextHopResult', + 'Office365PolicyProperties', + 'Operation', + 'OperationDisplay', + 'OperationPropertiesFormatServiceSpecification', + 'OutboundRule', + 'OwaspCrsExclusionEntry', + 'P2SConnectionConfiguration', + 'P2SVpnConnectionHealth', + 'P2SVpnConnectionHealthRequest', + 'P2SVpnConnectionRequest', + 'P2SVpnGateway', + 'P2SVpnProfileParameters', + 'PacketCapture', + 'PacketCaptureFilter', + 'PacketCaptureParameters', + 'PacketCaptureQueryStatusResult', + 'PacketCaptureResult', + 'PacketCaptureStorageLocation', + 'PatchRouteFilter', + 'PatchRouteFilterRule', + 'PeerExpressRouteCircuitConnection', + 'PolicySettings', + 'PrepareNetworkPoliciesRequest', + 'PrivateDnsZoneConfig', + 'PrivateDnsZoneGroup', + 'PrivateEndpoint', + 'PrivateEndpointConnection', + 'PrivateLinkService', + 'PrivateLinkServiceConnection', + 'PrivateLinkServiceConnectionState', + 'PrivateLinkServiceIpConfiguration', + 'PrivateLinkServicePropertiesAutoApproval', + 'PrivateLinkServicePropertiesVisibility', + 'PrivateLinkServiceVisibility', + 'Probe', + 'PropagatedRouteTable', + 'ProtocolConfiguration', + 'ProtocolCustomSettingsFormat', + 'PublicIPAddress', + 'PublicIPAddressDnsSettings', + 'PublicIPAddressSku', + 'PublicIPPrefix', + 'PublicIPPrefixSku', + 'QueryTroubleshootingParameters', + 'RadiusServer', + 'RecordSet', + 'ReferencedPublicIpAddress', + 'Resource', + 'ResourceNavigationLink', + 'ResourceNavigationLinksListResult', + 'ResourceSet', + 'RetentionPolicyParameters', + 'Route', + 'RouteFilter', + 'RouteFilterRule', + 'RouteTable', + 'RoutingConfiguration', + 'SecurityGroupNetworkInterface', + 'SecurityGroupViewParameters', + 'SecurityGroupViewResult', + 'SecurityPartnerProvider', + 'SecurityRule', + 'SecurityRuleAssociations', + 'ServiceAssociationLink', + 'ServiceAssociationLinksListResult', + 'ServiceEndpointPolicy', + 'ServiceEndpointPolicyDefinition', + 'ServiceEndpointPropertiesFormat', + 'ServiceTagInformation', + 'ServiceTagInformationPropertiesFormat', + 'ServiceTagsListResult', + 'SessionIds', + 'StaticRoute', + 'Subnet', + 'SubnetAssociation', + 'SubResource', + 'TagsObject', + 'Topology', + 'TopologyAssociation', + 'TopologyParameters', + 'TopologyResource', + 'TrafficAnalyticsConfigurationProperties', + 'TrafficAnalyticsProperties', + 'TrafficSelectorPolicy', + 'TroubleshootingDetails', + 'TroubleshootingParameters', + 'TroubleshootingRecommendedActions', + 'TroubleshootingResult', + 'TunnelConnectionHealth', + 'UnprepareNetworkPoliciesRequest', + 'Usage', + 'UsageName', + 'VerificationIPFlowParameters', + 'VerificationIPFlowResult', + 'VirtualApplianceNicProperties', + 'VirtualApplianceSite', + 'VirtualApplianceSkuProperties', + 'VirtualHub', + 'VirtualHubEffectiveRoute', + 'VirtualHubEffectiveRouteEffectiveRouteList', + 'VirtualHubId', + 'VirtualHubRoute', + 'VirtualHubRouteTable', + 'VirtualHubRouteTableV2', + 'VirtualHubRouteV2', + 'VirtualNetwork', + 'VirtualNetworkBgpCommunities', + 'VirtualNetworkConnectionGatewayReference', + 'VirtualNetworkGateway', + 'VirtualNetworkGatewayConnection', + 'VirtualNetworkGatewayConnectionListEntity', + 'VirtualNetworkGatewayIPConfiguration', + 'VirtualNetworkGatewaySku', + 'VirtualNetworkPeering', + 'VirtualNetworkTap', + 'VirtualNetworkUsage', + 'VirtualNetworkUsageName', + 'VirtualRouter', + 'VirtualRouterPeering', + 'VirtualWAN', + 'VirtualWanSecurityProvider', + 'VirtualWanSecurityProviders', + 'VirtualWanVpnProfileParameters', + 'VM', + 'VnetRoute', + 'VpnClientConfiguration', + 'VpnClientConnectionHealth', + 'VpnClientConnectionHealthDetail', + 'VpnClientConnectionHealthDetailListResult', + 'VpnClientIPsecParameters', + 'VpnClientParameters', + 'VpnClientRevokedCertificate', + 'VpnClientRootCertificate', + 'VpnConnection', + 'VpnDeviceScriptParameters', + 'VpnGateway', + 'VpnLinkBgpSettings', + 'VpnLinkProviderProperties', + 'VpnPacketCaptureStartParameters', + 'VpnPacketCaptureStopParameters', + 'VpnProfileResponse', + 'VpnServerConfigRadiusClientRootCertificate', + 'VpnServerConfigRadiusServerRootCertificate', + 'VpnServerConfiguration', + 'VpnServerConfigurationsResponse', + 'VpnServerConfigVpnClientRevokedCertificate', + 'VpnServerConfigVpnClientRootCertificate', + 'VpnSite', + 'VpnSiteId', + 'VpnSiteLink', + 'VpnSiteLinkConnection', + 'WebApplicationFirewallCustomRule', + 'WebApplicationFirewallPolicy', + 'ApplicationGatewayPaged', + 'ApplicationGatewaySslPredefinedPolicyPaged', + 'ApplicationSecurityGroupPaged', + 'AvailableDelegationPaged', + 'AvailableServiceAliasPaged', + 'AzureFirewallPaged', + 'AzureFirewallFqdnTagPaged', + 'BastionHostPaged', + 'BastionShareableLinkPaged', + 'BastionSessionStatePaged', + 'DdosProtectionPlanPaged', + 'EndpointServiceResultPaged', + 'ExpressRouteCircuitAuthorizationPaged', + 'ExpressRouteCircuitPeeringPaged', + 'ExpressRouteCircuitConnectionPaged', + 'PeerExpressRouteCircuitConnectionPaged', + 'ExpressRouteCircuitPaged', + 'ExpressRouteServiceProviderPaged', + 'ExpressRouteCrossConnectionPaged', + 'ExpressRouteCrossConnectionPeeringPaged', + 'ExpressRoutePortsLocationPaged', + 'ExpressRoutePortPaged', + 'ExpressRouteLinkPaged', + 'FirewallPolicyPaged', + 'FirewallPolicyRuleCollectionGroupPaged', + 'IpAllocationPaged', + 'IpGroupPaged', + 'LoadBalancerPaged', + 'BackendAddressPoolPaged', + 'FrontendIPConfigurationPaged', + 'InboundNatRulePaged', + 'LoadBalancingRulePaged', + 'OutboundRulePaged', + 'NetworkInterfacePaged', + 'ProbePaged', + 'NatGatewayPaged', + 'NetworkInterfaceIPConfigurationPaged', + 'NetworkInterfaceTapConfigurationPaged', + 'NetworkProfilePaged', + 'NetworkSecurityGroupPaged', + 'SecurityRulePaged', + 'NetworkVirtualAppliancePaged', + 'VirtualApplianceSitePaged', + 'NetworkVirtualApplianceSkuPaged', + 'NetworkWatcherPaged', + 'PacketCaptureResultPaged', + 'ConnectionMonitorResultPaged', + 'FlowLogPaged', + 'OperationPaged', + 'PrivateEndpointPaged', + 'AvailablePrivateEndpointTypePaged', + 'PrivateDnsZoneGroupPaged', + 'PrivateLinkServicePaged', + 'PrivateEndpointConnectionPaged', + 'AutoApprovedPrivateLinkServicePaged', + 'PublicIPAddressPaged', + 'PublicIPPrefixPaged', + 'RouteFilterPaged', + 'RouteFilterRulePaged', + 'RouteTablePaged', + 'RoutePaged', + 'SecurityPartnerProviderPaged', + 'BgpServiceCommunityPaged', + 'ServiceEndpointPolicyPaged', + 'ServiceEndpointPolicyDefinitionPaged', + 'UsagePaged', + 'VirtualNetworkPaged', + 'VirtualNetworkUsagePaged', + 'SubnetPaged', + 'VirtualNetworkPeeringPaged', + 'VirtualNetworkGatewayPaged', + 'VirtualNetworkGatewayConnectionListEntityPaged', + 'VirtualNetworkGatewayConnectionPaged', + 'LocalNetworkGatewayPaged', + 'VirtualNetworkTapPaged', + 'VirtualRouterPaged', + 'VirtualRouterPeeringPaged', + 'VirtualWANPaged', + 'VpnSitePaged', + 'VpnSiteLinkPaged', + 'VpnServerConfigurationPaged', + 'VirtualHubPaged', + 'HubVirtualNetworkConnectionPaged', + 'VpnGatewayPaged', + 'VpnConnectionPaged', + 'VpnSiteLinkConnectionPaged', + 'P2SVpnGatewayPaged', + 'VirtualHubRouteTableV2Paged', + 'BgpConnectionPaged', + 'HubIpConfigurationPaged', + 'HubRouteTablePaged', + 'WebApplicationFirewallPolicyPaged', + 'ApplicationGatewayProtocol', + 'ProvisioningState', + 'IPAllocationMethod', + 'IPVersion', + 'SecurityRuleProtocol', + 'SecurityRuleAccess', + 'SecurityRuleDirection', + 'FlowLogFormatType', + 'RouteNextHopType', + 'PublicIPAddressSkuName', + 'DdosSettingsProtectionCoverage', + 'VirtualNetworkPeeringState', + 'TransportProtocol', + 'ApplicationGatewayCookieBasedAffinity', + 'ApplicationGatewayBackendHealthServerHealth', + 'ApplicationGatewaySkuName', + 'ApplicationGatewayTier', + 'ApplicationGatewaySslProtocol', + 'ApplicationGatewaySslPolicyType', + 'ApplicationGatewaySslPolicyName', + 'ApplicationGatewaySslCipherSuite', + 'ApplicationGatewayCustomErrorStatusCode', + 'ApplicationGatewayRequestRoutingRuleType', + 'ApplicationGatewayRedirectType', + 'ApplicationGatewayOperationalState', + 'ApplicationGatewayFirewallMode', + 'ResourceIdentityType', + 'AzureFirewallRCActionType', + 'AzureFirewallApplicationRuleProtocolType', + 'AzureFirewallNatRCActionType', + 'AzureFirewallNetworkRuleProtocol', + 'AzureFirewallThreatIntelMode', + 'AzureFirewallSkuName', + 'AzureFirewallSkuTier', + 'BastionConnectProtocol', + 'DdosCustomPolicyProtocol', + 'DdosCustomPolicyTriggerSensitivityOverride', + 'AuthorizationUseStatus', + 'ExpressRouteCircuitPeeringAdvertisedPublicPrefixState', + 'ExpressRouteCircuitPeeringState', + 'ExpressRoutePeeringType', + 'ExpressRoutePeeringState', + 'CircuitConnectionStatus', + 'ExpressRouteCircuitSkuTier', + 'ExpressRouteCircuitSkuFamily', + 'ServiceProviderProvisioningState', + 'ExpressRouteLinkMacSecCipher', + 'ExpressRouteLinkConnectorType', + 'ExpressRouteLinkAdminState', + 'ExpressRoutePortsEncapsulation', + 'FirewallPolicyIntrusionSystemMode', + 'FirewallPolicyNatRuleCollectionActionType', + 'FirewallPolicyFilterRuleCollectionActionType', + 'FirewallPolicyRuleApplicationProtocolType', + 'FirewallPolicyRuleNetworkProtocol', + 'IpAllocationType', + 'LoadBalancerSkuName', + 'LoadDistribution', + 'ProbeProtocol', + 'LoadBalancerOutboundRuleProtocol', + 'NatGatewaySkuName', + 'NetworkOperationStatus', + 'Access', + 'AuthenticationMethod', + 'EffectiveSecurityRuleProtocol', + 'EffectiveRouteSource', + 'EffectiveRouteState', + 'AssociationType', + 'Direction', + 'IpFlowProtocol', + 'NextHopType', + 'PcProtocol', + 'PcStatus', + 'PcError', + 'Protocol', + 'HTTPMethod', + 'Origin', + 'Severity', + 'IssueType', + 'ConnectionStatus', + 'VerbosityLevel', + 'ConnectionMonitorEndpointFilterType', + 'ConnectionMonitorEndpointFilterItemType', + 'ConnectionMonitorTestConfigurationProtocol', + 'PreferredIPVersion', + 'HTTPConfigurationMethod', + 'OutputType', + 'ConnectionState', + 'EvaluationState', + 'ConnectionMonitorType', + 'ConnectionMonitorSourceStatus', + 'PublicIPPrefixSkuName', + 'SecurityProviderName', + 'SecurityPartnerProviderConnectionStatus', + 'VirtualNetworkGatewayType', + 'VpnType', + 'VpnGatewayGeneration', + 'VirtualNetworkGatewaySkuName', + 'VirtualNetworkGatewaySkuTier', + 'VpnClientProtocol', + 'IpsecEncryption', + 'IpsecIntegrity', + 'IkeEncryption', + 'IkeIntegrity', + 'DhGroup', + 'PfsGroup', + 'BgpPeerState', + 'ProcessorArchitecture', + 'VirtualNetworkGatewayConnectionStatus', + 'VirtualNetworkGatewayConnectionType', + 'VirtualNetworkGatewayConnectionProtocol', + 'OfficeTrafficCategory', + 'RoutingState', + 'HubBgpConnectionStatus', + 'VpnConnectionStatus', + 'VirtualWanSecurityProviderType', + 'TunnelConnectionStatus', + 'HubVirtualNetworkConnectionStatus', + 'VpnGatewayTunnelingProtocol', + 'VpnAuthenticationType', + 'WebApplicationFirewallEnabledState', + 'WebApplicationFirewallMode', + 'WebApplicationFirewallRuleType', + 'WebApplicationFirewallMatchVariable', + 'WebApplicationFirewallOperator', + 'WebApplicationFirewallTransform', + 'WebApplicationFirewallAction', + 'WebApplicationFirewallPolicyResourceState', + 'OwaspCrsExclusionEntryMatchVariable', + 'OwaspCrsExclusionEntrySelectorMatchOperator', + 'ManagedRuleEnabledState', +] diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/models/_models.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/models/_models.py new file mode 100644 index 00000000000..d47d8e5708f --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/models/_models.py @@ -0,0 +1,18763 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model +from msrest.exceptions import HttpOperationError + + +class AadAuthenticationParameters(Model): + """AAD Vpn authentication type related parameters. + + :param aad_tenant: AAD Vpn authentication parameter AAD tenant. + :type aad_tenant: str + :param aad_audience: AAD Vpn authentication parameter AAD audience. + :type aad_audience: str + :param aad_issuer: AAD Vpn authentication parameter AAD issuer. + :type aad_issuer: str + """ + + _attribute_map = { + 'aad_tenant': {'key': 'aadTenant', 'type': 'str'}, + 'aad_audience': {'key': 'aadAudience', 'type': 'str'}, + 'aad_issuer': {'key': 'aadIssuer', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AadAuthenticationParameters, self).__init__(**kwargs) + self.aad_tenant = kwargs.get('aad_tenant', None) + self.aad_audience = kwargs.get('aad_audience', None) + self.aad_issuer = kwargs.get('aad_issuer', None) + + +class AddressSpace(Model): + """AddressSpace contains an array of IP address ranges that can be used by + subnets of the virtual network. + + :param address_prefixes: A list of address blocks reserved for this + virtual network in CIDR notation. + :type address_prefixes: list[str] + """ + + _attribute_map = { + 'address_prefixes': {'key': 'addressPrefixes', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(AddressSpace, self).__init__(**kwargs) + self.address_prefixes = kwargs.get('address_prefixes', None) + + +class Resource(Model): + """Common resource representation. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, **kwargs): + super(Resource, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.name = None + self.type = None + self.location = kwargs.get('location', None) + self.tags = kwargs.get('tags', None) + + +class ApplicationGateway(Resource): + """Application gateway resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param sku: SKU of the application gateway resource. + :type sku: ~azure.mgmt.network.v2020_05_01.models.ApplicationGatewaySku + :param ssl_policy: SSL policy of the application gateway resource. + :type ssl_policy: + ~azure.mgmt.network.v2020_05_01.models.ApplicationGatewaySslPolicy + :ivar operational_state: Operational state of the application gateway + resource. Possible values include: 'Stopped', 'Starting', 'Running', + 'Stopping' + :vartype operational_state: str or + ~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayOperationalState + :param gateway_ip_configurations: Subnets of the application gateway + resource. For default limits, see [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + :type gateway_ip_configurations: + list[~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayIPConfiguration] + :param authentication_certificates: Authentication certificates of the + application gateway resource. For default limits, see [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + :type authentication_certificates: + list[~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayAuthenticationCertificate] + :param trusted_root_certificates: Trusted Root certificates of the + application gateway resource. For default limits, see [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + :type trusted_root_certificates: + list[~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayTrustedRootCertificate] + :param ssl_certificates: SSL certificates of the application gateway + resource. For default limits, see [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + :type ssl_certificates: + list[~azure.mgmt.network.v2020_05_01.models.ApplicationGatewaySslCertificate] + :param frontend_ip_configurations: Frontend IP addresses of the + application gateway resource. For default limits, see [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + :type frontend_ip_configurations: + list[~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayFrontendIPConfiguration] + :param frontend_ports: Frontend ports of the application gateway resource. + For default limits, see [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + :type frontend_ports: + list[~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayFrontendPort] + :param probes: Probes of the application gateway resource. + :type probes: + list[~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayProbe] + :param backend_address_pools: Backend address pool of the application + gateway resource. For default limits, see [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + :type backend_address_pools: + list[~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayBackendAddressPool] + :param backend_http_settings_collection: Backend http settings of the + application gateway resource. For default limits, see [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + :type backend_http_settings_collection: + list[~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayBackendHttpSettings] + :param http_listeners: Http listeners of the application gateway resource. + For default limits, see [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + :type http_listeners: + list[~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayHttpListener] + :param url_path_maps: URL path map of the application gateway resource. + For default limits, see [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + :type url_path_maps: + list[~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayUrlPathMap] + :param request_routing_rules: Request routing rules of the application + gateway resource. + :type request_routing_rules: + list[~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayRequestRoutingRule] + :param rewrite_rule_sets: Rewrite rules for the application gateway + resource. + :type rewrite_rule_sets: + list[~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayRewriteRuleSet] + :param redirect_configurations: Redirect configurations of the application + gateway resource. For default limits, see [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + :type redirect_configurations: + list[~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayRedirectConfiguration] + :param web_application_firewall_configuration: Web application firewall + configuration. + :type web_application_firewall_configuration: + ~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayWebApplicationFirewallConfiguration + :param firewall_policy: Reference to the FirewallPolicy resource. + :type firewall_policy: ~azure.mgmt.network.v2020_05_01.models.SubResource + :param enable_http2: Whether HTTP2 is enabled on the application gateway + resource. + :type enable_http2: bool + :param enable_fips: Whether FIPS is enabled on the application gateway + resource. + :type enable_fips: bool + :param autoscale_configuration: Autoscale Configuration. + :type autoscale_configuration: + ~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayAutoscaleConfiguration + :ivar resource_guid: The resource GUID property of the application gateway + resource. + :vartype resource_guid: str + :ivar provisioning_state: The provisioning state of the application + gateway resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param custom_error_configurations: Custom error configurations of the + application gateway resource. + :type custom_error_configurations: + list[~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayCustomError] + :param force_firewall_policy_association: If true, associates a firewall + policy with an application gateway regardless whether the policy differs + from the WAF Config. + :type force_firewall_policy_association: bool + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :param zones: A list of availability zones denoting where the resource + needs to come from. + :type zones: list[str] + :param identity: The identity of the application gateway, if configured. + :type identity: + ~azure.mgmt.network.v2020_05_01.models.ManagedServiceIdentity + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'operational_state': {'readonly': True}, + 'resource_guid': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'sku': {'key': 'properties.sku', 'type': 'ApplicationGatewaySku'}, + 'ssl_policy': {'key': 'properties.sslPolicy', 'type': 'ApplicationGatewaySslPolicy'}, + 'operational_state': {'key': 'properties.operationalState', 'type': 'str'}, + 'gateway_ip_configurations': {'key': 'properties.gatewayIPConfigurations', 'type': '[ApplicationGatewayIPConfiguration]'}, + 'authentication_certificates': {'key': 'properties.authenticationCertificates', 'type': '[ApplicationGatewayAuthenticationCertificate]'}, + 'trusted_root_certificates': {'key': 'properties.trustedRootCertificates', 'type': '[ApplicationGatewayTrustedRootCertificate]'}, + 'ssl_certificates': {'key': 'properties.sslCertificates', 'type': '[ApplicationGatewaySslCertificate]'}, + 'frontend_ip_configurations': {'key': 'properties.frontendIPConfigurations', 'type': '[ApplicationGatewayFrontendIPConfiguration]'}, + 'frontend_ports': {'key': 'properties.frontendPorts', 'type': '[ApplicationGatewayFrontendPort]'}, + 'probes': {'key': 'properties.probes', 'type': '[ApplicationGatewayProbe]'}, + 'backend_address_pools': {'key': 'properties.backendAddressPools', 'type': '[ApplicationGatewayBackendAddressPool]'}, + 'backend_http_settings_collection': {'key': 'properties.backendHttpSettingsCollection', 'type': '[ApplicationGatewayBackendHttpSettings]'}, + 'http_listeners': {'key': 'properties.httpListeners', 'type': '[ApplicationGatewayHttpListener]'}, + 'url_path_maps': {'key': 'properties.urlPathMaps', 'type': '[ApplicationGatewayUrlPathMap]'}, + 'request_routing_rules': {'key': 'properties.requestRoutingRules', 'type': '[ApplicationGatewayRequestRoutingRule]'}, + 'rewrite_rule_sets': {'key': 'properties.rewriteRuleSets', 'type': '[ApplicationGatewayRewriteRuleSet]'}, + 'redirect_configurations': {'key': 'properties.redirectConfigurations', 'type': '[ApplicationGatewayRedirectConfiguration]'}, + 'web_application_firewall_configuration': {'key': 'properties.webApplicationFirewallConfiguration', 'type': 'ApplicationGatewayWebApplicationFirewallConfiguration'}, + 'firewall_policy': {'key': 'properties.firewallPolicy', 'type': 'SubResource'}, + 'enable_http2': {'key': 'properties.enableHttp2', 'type': 'bool'}, + 'enable_fips': {'key': 'properties.enableFips', 'type': 'bool'}, + 'autoscale_configuration': {'key': 'properties.autoscaleConfiguration', 'type': 'ApplicationGatewayAutoscaleConfiguration'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'custom_error_configurations': {'key': 'properties.customErrorConfigurations', 'type': '[ApplicationGatewayCustomError]'}, + 'force_firewall_policy_association': {'key': 'properties.forceFirewallPolicyAssociation', 'type': 'bool'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'zones': {'key': 'zones', 'type': '[str]'}, + 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, + } + + def __init__(self, **kwargs): + super(ApplicationGateway, self).__init__(**kwargs) + self.sku = kwargs.get('sku', None) + self.ssl_policy = kwargs.get('ssl_policy', None) + self.operational_state = None + self.gateway_ip_configurations = kwargs.get('gateway_ip_configurations', None) + self.authentication_certificates = kwargs.get('authentication_certificates', None) + self.trusted_root_certificates = kwargs.get('trusted_root_certificates', None) + self.ssl_certificates = kwargs.get('ssl_certificates', None) + self.frontend_ip_configurations = kwargs.get('frontend_ip_configurations', None) + self.frontend_ports = kwargs.get('frontend_ports', None) + self.probes = kwargs.get('probes', None) + self.backend_address_pools = kwargs.get('backend_address_pools', None) + self.backend_http_settings_collection = kwargs.get('backend_http_settings_collection', None) + self.http_listeners = kwargs.get('http_listeners', None) + self.url_path_maps = kwargs.get('url_path_maps', None) + self.request_routing_rules = kwargs.get('request_routing_rules', None) + self.rewrite_rule_sets = kwargs.get('rewrite_rule_sets', None) + self.redirect_configurations = kwargs.get('redirect_configurations', None) + self.web_application_firewall_configuration = kwargs.get('web_application_firewall_configuration', None) + self.firewall_policy = kwargs.get('firewall_policy', None) + self.enable_http2 = kwargs.get('enable_http2', None) + self.enable_fips = kwargs.get('enable_fips', None) + self.autoscale_configuration = kwargs.get('autoscale_configuration', None) + self.resource_guid = None + self.provisioning_state = None + self.custom_error_configurations = kwargs.get('custom_error_configurations', None) + self.force_firewall_policy_association = kwargs.get('force_firewall_policy_association', None) + self.etag = None + self.zones = kwargs.get('zones', None) + self.identity = kwargs.get('identity', None) + + +class SubResource(Model): + """Reference to another subresource. + + :param id: Resource ID. + :type id: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SubResource, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + + +class ApplicationGatewayAuthenticationCertificate(SubResource): + """Authentication certificates of an application gateway. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param data: Certificate public data. + :type data: str + :ivar provisioning_state: The provisioning state of the authentication + certificate resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: Name of the authentication certificate that is unique within + an Application Gateway. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'data': {'key': 'properties.data', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayAuthenticationCertificate, self).__init__(**kwargs) + self.data = kwargs.get('data', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = None + self.type = None + + +class ApplicationGatewayAutoscaleConfiguration(Model): + """Application Gateway autoscale configuration. + + All required parameters must be populated in order to send to Azure. + + :param min_capacity: Required. Lower bound on number of Application + Gateway capacity. + :type min_capacity: int + :param max_capacity: Upper bound on number of Application Gateway + capacity. + :type max_capacity: int + """ + + _validation = { + 'min_capacity': {'required': True, 'minimum': 0}, + 'max_capacity': {'minimum': 2}, + } + + _attribute_map = { + 'min_capacity': {'key': 'minCapacity', 'type': 'int'}, + 'max_capacity': {'key': 'maxCapacity', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayAutoscaleConfiguration, self).__init__(**kwargs) + self.min_capacity = kwargs.get('min_capacity', None) + self.max_capacity = kwargs.get('max_capacity', None) + + +class ApplicationGatewayAvailableSslOptions(Resource): + """Response for ApplicationGatewayAvailableSslOptions API service call. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param predefined_policies: List of available Ssl predefined policy. + :type predefined_policies: + list[~azure.mgmt.network.v2020_05_01.models.SubResource] + :param default_policy: Name of the Ssl predefined policy applied by + default to application gateway. Possible values include: + 'AppGwSslPolicy20150501', 'AppGwSslPolicy20170401', + 'AppGwSslPolicy20170401S' + :type default_policy: str or + ~azure.mgmt.network.v2020_05_01.models.ApplicationGatewaySslPolicyName + :param available_cipher_suites: List of available Ssl cipher suites. + :type available_cipher_suites: list[str or + ~azure.mgmt.network.v2020_05_01.models.ApplicationGatewaySslCipherSuite] + :param available_protocols: List of available Ssl protocols. + :type available_protocols: list[str or + ~azure.mgmt.network.v2020_05_01.models.ApplicationGatewaySslProtocol] + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'predefined_policies': {'key': 'properties.predefinedPolicies', 'type': '[SubResource]'}, + 'default_policy': {'key': 'properties.defaultPolicy', 'type': 'str'}, + 'available_cipher_suites': {'key': 'properties.availableCipherSuites', 'type': '[str]'}, + 'available_protocols': {'key': 'properties.availableProtocols', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayAvailableSslOptions, self).__init__(**kwargs) + self.predefined_policies = kwargs.get('predefined_policies', None) + self.default_policy = kwargs.get('default_policy', None) + self.available_cipher_suites = kwargs.get('available_cipher_suites', None) + self.available_protocols = kwargs.get('available_protocols', None) + + +class ApplicationGatewayAvailableWafRuleSetsResult(Model): + """Response for ApplicationGatewayAvailableWafRuleSets API service call. + + :param value: The list of application gateway rule sets. + :type value: + list[~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayFirewallRuleSet] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ApplicationGatewayFirewallRuleSet]'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayAvailableWafRuleSetsResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + + +class ApplicationGatewayBackendAddress(Model): + """Backend address of an application gateway. + + :param fqdn: Fully qualified domain name (FQDN). + :type fqdn: str + :param ip_address: IP address. + :type ip_address: str + """ + + _attribute_map = { + 'fqdn': {'key': 'fqdn', 'type': 'str'}, + 'ip_address': {'key': 'ipAddress', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayBackendAddress, self).__init__(**kwargs) + self.fqdn = kwargs.get('fqdn', None) + self.ip_address = kwargs.get('ip_address', None) + + +class ApplicationGatewayBackendAddressPool(SubResource): + """Backend Address Pool of an application gateway. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar backend_ip_configurations: Collection of references to IPs defined + in network interfaces. + :vartype backend_ip_configurations: + list[~azure.mgmt.network.v2020_05_01.models.NetworkInterfaceIPConfiguration] + :param backend_addresses: Backend addresses. + :type backend_addresses: + list[~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayBackendAddress] + :ivar provisioning_state: The provisioning state of the backend address + pool resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: Name of the backend address pool that is unique within an + Application Gateway. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'backend_ip_configurations': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'backend_ip_configurations': {'key': 'properties.backendIPConfigurations', 'type': '[NetworkInterfaceIPConfiguration]'}, + 'backend_addresses': {'key': 'properties.backendAddresses', 'type': '[ApplicationGatewayBackendAddress]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayBackendAddressPool, self).__init__(**kwargs) + self.backend_ip_configurations = None + self.backend_addresses = kwargs.get('backend_addresses', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = None + self.type = None + + +class ApplicationGatewayBackendHealth(Model): + """Response for ApplicationGatewayBackendHealth API service call. + + :param backend_address_pools: A list of + ApplicationGatewayBackendHealthPool resources. + :type backend_address_pools: + list[~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayBackendHealthPool] + """ + + _attribute_map = { + 'backend_address_pools': {'key': 'backendAddressPools', 'type': '[ApplicationGatewayBackendHealthPool]'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayBackendHealth, self).__init__(**kwargs) + self.backend_address_pools = kwargs.get('backend_address_pools', None) + + +class ApplicationGatewayBackendHealthHttpSettings(Model): + """Application gateway BackendHealthHttp settings. + + :param backend_http_settings: Reference to an + ApplicationGatewayBackendHttpSettings resource. + :type backend_http_settings: + ~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayBackendHttpSettings + :param servers: List of ApplicationGatewayBackendHealthServer resources. + :type servers: + list[~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayBackendHealthServer] + """ + + _attribute_map = { + 'backend_http_settings': {'key': 'backendHttpSettings', 'type': 'ApplicationGatewayBackendHttpSettings'}, + 'servers': {'key': 'servers', 'type': '[ApplicationGatewayBackendHealthServer]'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayBackendHealthHttpSettings, self).__init__(**kwargs) + self.backend_http_settings = kwargs.get('backend_http_settings', None) + self.servers = kwargs.get('servers', None) + + +class ApplicationGatewayBackendHealthOnDemand(Model): + """Result of on demand test probe. + + :param backend_address_pool: Reference to an + ApplicationGatewayBackendAddressPool resource. + :type backend_address_pool: + ~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayBackendAddressPool + :param backend_health_http_settings: Application gateway BackendHealthHttp + settings. + :type backend_health_http_settings: + ~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayBackendHealthHttpSettings + """ + + _attribute_map = { + 'backend_address_pool': {'key': 'backendAddressPool', 'type': 'ApplicationGatewayBackendAddressPool'}, + 'backend_health_http_settings': {'key': 'backendHealthHttpSettings', 'type': 'ApplicationGatewayBackendHealthHttpSettings'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayBackendHealthOnDemand, self).__init__(**kwargs) + self.backend_address_pool = kwargs.get('backend_address_pool', None) + self.backend_health_http_settings = kwargs.get('backend_health_http_settings', None) + + +class ApplicationGatewayBackendHealthPool(Model): + """Application gateway BackendHealth pool. + + :param backend_address_pool: Reference to an + ApplicationGatewayBackendAddressPool resource. + :type backend_address_pool: + ~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayBackendAddressPool + :param backend_http_settings_collection: List of + ApplicationGatewayBackendHealthHttpSettings resources. + :type backend_http_settings_collection: + list[~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayBackendHealthHttpSettings] + """ + + _attribute_map = { + 'backend_address_pool': {'key': 'backendAddressPool', 'type': 'ApplicationGatewayBackendAddressPool'}, + 'backend_http_settings_collection': {'key': 'backendHttpSettingsCollection', 'type': '[ApplicationGatewayBackendHealthHttpSettings]'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayBackendHealthPool, self).__init__(**kwargs) + self.backend_address_pool = kwargs.get('backend_address_pool', None) + self.backend_http_settings_collection = kwargs.get('backend_http_settings_collection', None) + + +class ApplicationGatewayBackendHealthServer(Model): + """Application gateway backendhealth http settings. + + :param address: IP address or FQDN of backend server. + :type address: str + :param ip_configuration: Reference to IP configuration of backend server. + :type ip_configuration: + ~azure.mgmt.network.v2020_05_01.models.NetworkInterfaceIPConfiguration + :param health: Health of backend server. Possible values include: + 'Unknown', 'Up', 'Down', 'Partial', 'Draining' + :type health: str or + ~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayBackendHealthServerHealth + :param health_probe_log: Health Probe Log. + :type health_probe_log: str + """ + + _attribute_map = { + 'address': {'key': 'address', 'type': 'str'}, + 'ip_configuration': {'key': 'ipConfiguration', 'type': 'NetworkInterfaceIPConfiguration'}, + 'health': {'key': 'health', 'type': 'str'}, + 'health_probe_log': {'key': 'healthProbeLog', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayBackendHealthServer, self).__init__(**kwargs) + self.address = kwargs.get('address', None) + self.ip_configuration = kwargs.get('ip_configuration', None) + self.health = kwargs.get('health', None) + self.health_probe_log = kwargs.get('health_probe_log', None) + + +class ApplicationGatewayBackendHttpSettings(SubResource): + """Backend address pool settings of an application gateway. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param port: The destination port on the backend. + :type port: int + :param protocol: The protocol used to communicate with the backend. + Possible values include: 'Http', 'Https' + :type protocol: str or + ~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayProtocol + :param cookie_based_affinity: Cookie based affinity. Possible values + include: 'Enabled', 'Disabled' + :type cookie_based_affinity: str or + ~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayCookieBasedAffinity + :param request_timeout: Request timeout in seconds. Application Gateway + will fail the request if response is not received within RequestTimeout. + Acceptable values are from 1 second to 86400 seconds. + :type request_timeout: int + :param probe: Probe resource of an application gateway. + :type probe: ~azure.mgmt.network.v2020_05_01.models.SubResource + :param authentication_certificates: Array of references to application + gateway authentication certificates. + :type authentication_certificates: + list[~azure.mgmt.network.v2020_05_01.models.SubResource] + :param trusted_root_certificates: Array of references to application + gateway trusted root certificates. + :type trusted_root_certificates: + list[~azure.mgmt.network.v2020_05_01.models.SubResource] + :param connection_draining: Connection draining of the backend http + settings resource. + :type connection_draining: + ~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayConnectionDraining + :param host_name: Host header to be sent to the backend servers. + :type host_name: str + :param pick_host_name_from_backend_address: Whether to pick host header + should be picked from the host name of the backend server. Default value + is false. + :type pick_host_name_from_backend_address: bool + :param affinity_cookie_name: Cookie name to use for the affinity cookie. + :type affinity_cookie_name: str + :param probe_enabled: Whether the probe is enabled. Default value is + false. + :type probe_enabled: bool + :param path: Path which should be used as a prefix for all HTTP requests. + Null means no path will be prefixed. Default value is null. + :type path: str + :ivar provisioning_state: The provisioning state of the backend HTTP + settings resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: Name of the backend http settings that is unique within an + Application Gateway. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'port': {'key': 'properties.port', 'type': 'int'}, + 'protocol': {'key': 'properties.protocol', 'type': 'str'}, + 'cookie_based_affinity': {'key': 'properties.cookieBasedAffinity', 'type': 'str'}, + 'request_timeout': {'key': 'properties.requestTimeout', 'type': 'int'}, + 'probe': {'key': 'properties.probe', 'type': 'SubResource'}, + 'authentication_certificates': {'key': 'properties.authenticationCertificates', 'type': '[SubResource]'}, + 'trusted_root_certificates': {'key': 'properties.trustedRootCertificates', 'type': '[SubResource]'}, + 'connection_draining': {'key': 'properties.connectionDraining', 'type': 'ApplicationGatewayConnectionDraining'}, + 'host_name': {'key': 'properties.hostName', 'type': 'str'}, + 'pick_host_name_from_backend_address': {'key': 'properties.pickHostNameFromBackendAddress', 'type': 'bool'}, + 'affinity_cookie_name': {'key': 'properties.affinityCookieName', 'type': 'str'}, + 'probe_enabled': {'key': 'properties.probeEnabled', 'type': 'bool'}, + 'path': {'key': 'properties.path', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayBackendHttpSettings, self).__init__(**kwargs) + self.port = kwargs.get('port', None) + self.protocol = kwargs.get('protocol', None) + self.cookie_based_affinity = kwargs.get('cookie_based_affinity', None) + self.request_timeout = kwargs.get('request_timeout', None) + self.probe = kwargs.get('probe', None) + self.authentication_certificates = kwargs.get('authentication_certificates', None) + self.trusted_root_certificates = kwargs.get('trusted_root_certificates', None) + self.connection_draining = kwargs.get('connection_draining', None) + self.host_name = kwargs.get('host_name', None) + self.pick_host_name_from_backend_address = kwargs.get('pick_host_name_from_backend_address', None) + self.affinity_cookie_name = kwargs.get('affinity_cookie_name', None) + self.probe_enabled = kwargs.get('probe_enabled', None) + self.path = kwargs.get('path', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = None + self.type = None + + +class ApplicationGatewayConnectionDraining(Model): + """Connection draining allows open connections to a backend server to be + active for a specified time after the backend server got removed from the + configuration. + + All required parameters must be populated in order to send to Azure. + + :param enabled: Required. Whether connection draining is enabled or not. + :type enabled: bool + :param drain_timeout_in_sec: Required. The number of seconds connection + draining is active. Acceptable values are from 1 second to 3600 seconds. + :type drain_timeout_in_sec: int + """ + + _validation = { + 'enabled': {'required': True}, + 'drain_timeout_in_sec': {'required': True, 'maximum': 3600, 'minimum': 1}, + } + + _attribute_map = { + 'enabled': {'key': 'enabled', 'type': 'bool'}, + 'drain_timeout_in_sec': {'key': 'drainTimeoutInSec', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayConnectionDraining, self).__init__(**kwargs) + self.enabled = kwargs.get('enabled', None) + self.drain_timeout_in_sec = kwargs.get('drain_timeout_in_sec', None) + + +class ApplicationGatewayCustomError(Model): + """Customer error of an application gateway. + + :param status_code: Status code of the application gateway customer error. + Possible values include: 'HttpStatus403', 'HttpStatus502' + :type status_code: str or + ~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayCustomErrorStatusCode + :param custom_error_page_url: Error page URL of the application gateway + customer error. + :type custom_error_page_url: str + """ + + _attribute_map = { + 'status_code': {'key': 'statusCode', 'type': 'str'}, + 'custom_error_page_url': {'key': 'customErrorPageUrl', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayCustomError, self).__init__(**kwargs) + self.status_code = kwargs.get('status_code', None) + self.custom_error_page_url = kwargs.get('custom_error_page_url', None) + + +class ApplicationGatewayFirewallDisabledRuleGroup(Model): + """Allows to disable rules within a rule group or an entire rule group. + + All required parameters must be populated in order to send to Azure. + + :param rule_group_name: Required. The name of the rule group that will be + disabled. + :type rule_group_name: str + :param rules: The list of rules that will be disabled. If null, all rules + of the rule group will be disabled. + :type rules: list[int] + """ + + _validation = { + 'rule_group_name': {'required': True}, + } + + _attribute_map = { + 'rule_group_name': {'key': 'ruleGroupName', 'type': 'str'}, + 'rules': {'key': 'rules', 'type': '[int]'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayFirewallDisabledRuleGroup, self).__init__(**kwargs) + self.rule_group_name = kwargs.get('rule_group_name', None) + self.rules = kwargs.get('rules', None) + + +class ApplicationGatewayFirewallExclusion(Model): + """Allow to exclude some variable satisfy the condition for the WAF check. + + All required parameters must be populated in order to send to Azure. + + :param match_variable: Required. The variable to be excluded. + :type match_variable: str + :param selector_match_operator: Required. When matchVariable is a + collection, operate on the selector to specify which elements in the + collection this exclusion applies to. + :type selector_match_operator: str + :param selector: Required. When matchVariable is a collection, operator + used to specify which elements in the collection this exclusion applies + to. + :type selector: str + """ + + _validation = { + 'match_variable': {'required': True}, + 'selector_match_operator': {'required': True}, + 'selector': {'required': True}, + } + + _attribute_map = { + 'match_variable': {'key': 'matchVariable', 'type': 'str'}, + 'selector_match_operator': {'key': 'selectorMatchOperator', 'type': 'str'}, + 'selector': {'key': 'selector', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayFirewallExclusion, self).__init__(**kwargs) + self.match_variable = kwargs.get('match_variable', None) + self.selector_match_operator = kwargs.get('selector_match_operator', None) + self.selector = kwargs.get('selector', None) + + +class ApplicationGatewayFirewallRule(Model): + """A web application firewall rule. + + All required parameters must be populated in order to send to Azure. + + :param rule_id: Required. The identifier of the web application firewall + rule. + :type rule_id: int + :param description: The description of the web application firewall rule. + :type description: str + """ + + _validation = { + 'rule_id': {'required': True}, + } + + _attribute_map = { + 'rule_id': {'key': 'ruleId', 'type': 'int'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayFirewallRule, self).__init__(**kwargs) + self.rule_id = kwargs.get('rule_id', None) + self.description = kwargs.get('description', None) + + +class ApplicationGatewayFirewallRuleGroup(Model): + """A web application firewall rule group. + + All required parameters must be populated in order to send to Azure. + + :param rule_group_name: Required. The name of the web application firewall + rule group. + :type rule_group_name: str + :param description: The description of the web application firewall rule + group. + :type description: str + :param rules: Required. The rules of the web application firewall rule + group. + :type rules: + list[~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayFirewallRule] + """ + + _validation = { + 'rule_group_name': {'required': True}, + 'rules': {'required': True}, + } + + _attribute_map = { + 'rule_group_name': {'key': 'ruleGroupName', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'rules': {'key': 'rules', 'type': '[ApplicationGatewayFirewallRule]'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayFirewallRuleGroup, self).__init__(**kwargs) + self.rule_group_name = kwargs.get('rule_group_name', None) + self.description = kwargs.get('description', None) + self.rules = kwargs.get('rules', None) + + +class ApplicationGatewayFirewallRuleSet(Resource): + """A web application firewall rule set. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar provisioning_state: The provisioning state of the web application + firewall rule set. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param rule_set_type: Required. The type of the web application firewall + rule set. + :type rule_set_type: str + :param rule_set_version: Required. The version of the web application + firewall rule set type. + :type rule_set_version: str + :param rule_groups: Required. The rule groups of the web application + firewall rule set. + :type rule_groups: + list[~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayFirewallRuleGroup] + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'rule_set_type': {'required': True}, + 'rule_set_version': {'required': True}, + 'rule_groups': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'rule_set_type': {'key': 'properties.ruleSetType', 'type': 'str'}, + 'rule_set_version': {'key': 'properties.ruleSetVersion', 'type': 'str'}, + 'rule_groups': {'key': 'properties.ruleGroups', 'type': '[ApplicationGatewayFirewallRuleGroup]'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayFirewallRuleSet, self).__init__(**kwargs) + self.provisioning_state = None + self.rule_set_type = kwargs.get('rule_set_type', None) + self.rule_set_version = kwargs.get('rule_set_version', None) + self.rule_groups = kwargs.get('rule_groups', None) + + +class ApplicationGatewayFrontendIPConfiguration(SubResource): + """Frontend IP configuration of an application gateway. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param private_ip_address: PrivateIPAddress of the network interface IP + Configuration. + :type private_ip_address: str + :param private_ip_allocation_method: The private IP address allocation + method. Possible values include: 'Static', 'Dynamic' + :type private_ip_allocation_method: str or + ~azure.mgmt.network.v2020_05_01.models.IPAllocationMethod + :param subnet: Reference to the subnet resource. + :type subnet: ~azure.mgmt.network.v2020_05_01.models.SubResource + :param public_ip_address: Reference to the PublicIP resource. + :type public_ip_address: + ~azure.mgmt.network.v2020_05_01.models.SubResource + :ivar provisioning_state: The provisioning state of the frontend IP + configuration resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: Name of the frontend IP configuration that is unique within + an Application Gateway. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, + 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, + 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, + 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'SubResource'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayFrontendIPConfiguration, self).__init__(**kwargs) + self.private_ip_address = kwargs.get('private_ip_address', None) + self.private_ip_allocation_method = kwargs.get('private_ip_allocation_method', None) + self.subnet = kwargs.get('subnet', None) + self.public_ip_address = kwargs.get('public_ip_address', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = None + self.type = None + + +class ApplicationGatewayFrontendPort(SubResource): + """Frontend port of an application gateway. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param port: Frontend port. + :type port: int + :ivar provisioning_state: The provisioning state of the frontend port + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: Name of the frontend port that is unique within an + Application Gateway. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'port': {'key': 'properties.port', 'type': 'int'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayFrontendPort, self).__init__(**kwargs) + self.port = kwargs.get('port', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = None + self.type = None + + +class ApplicationGatewayHeaderConfiguration(Model): + """Header configuration of the Actions set in Application Gateway. + + :param header_name: Header name of the header configuration. + :type header_name: str + :param header_value: Header value of the header configuration. + :type header_value: str + """ + + _attribute_map = { + 'header_name': {'key': 'headerName', 'type': 'str'}, + 'header_value': {'key': 'headerValue', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayHeaderConfiguration, self).__init__(**kwargs) + self.header_name = kwargs.get('header_name', None) + self.header_value = kwargs.get('header_value', None) + + +class ApplicationGatewayHttpListener(SubResource): + """Http listener of an application gateway. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param frontend_ip_configuration: Frontend IP configuration resource of an + application gateway. + :type frontend_ip_configuration: + ~azure.mgmt.network.v2020_05_01.models.SubResource + :param frontend_port: Frontend port resource of an application gateway. + :type frontend_port: ~azure.mgmt.network.v2020_05_01.models.SubResource + :param protocol: Protocol of the HTTP listener. Possible values include: + 'Http', 'Https' + :type protocol: str or + ~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayProtocol + :param host_name: Host name of HTTP listener. + :type host_name: str + :param ssl_certificate: SSL certificate resource of an application + gateway. + :type ssl_certificate: ~azure.mgmt.network.v2020_05_01.models.SubResource + :param require_server_name_indication: Applicable only if protocol is + https. Enables SNI for multi-hosting. + :type require_server_name_indication: bool + :ivar provisioning_state: The provisioning state of the HTTP listener + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param custom_error_configurations: Custom error configurations of the + HTTP listener. + :type custom_error_configurations: + list[~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayCustomError] + :param firewall_policy: Reference to the FirewallPolicy resource. + :type firewall_policy: ~azure.mgmt.network.v2020_05_01.models.SubResource + :param host_names: List of Host names for HTTP Listener that allows + special wildcard characters as well. + :type host_names: list[str] + :param name: Name of the HTTP listener that is unique within an + Application Gateway. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'frontend_ip_configuration': {'key': 'properties.frontendIPConfiguration', 'type': 'SubResource'}, + 'frontend_port': {'key': 'properties.frontendPort', 'type': 'SubResource'}, + 'protocol': {'key': 'properties.protocol', 'type': 'str'}, + 'host_name': {'key': 'properties.hostName', 'type': 'str'}, + 'ssl_certificate': {'key': 'properties.sslCertificate', 'type': 'SubResource'}, + 'require_server_name_indication': {'key': 'properties.requireServerNameIndication', 'type': 'bool'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'custom_error_configurations': {'key': 'properties.customErrorConfigurations', 'type': '[ApplicationGatewayCustomError]'}, + 'firewall_policy': {'key': 'properties.firewallPolicy', 'type': 'SubResource'}, + 'host_names': {'key': 'properties.hostNames', 'type': '[str]'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayHttpListener, self).__init__(**kwargs) + self.frontend_ip_configuration = kwargs.get('frontend_ip_configuration', None) + self.frontend_port = kwargs.get('frontend_port', None) + self.protocol = kwargs.get('protocol', None) + self.host_name = kwargs.get('host_name', None) + self.ssl_certificate = kwargs.get('ssl_certificate', None) + self.require_server_name_indication = kwargs.get('require_server_name_indication', None) + self.provisioning_state = None + self.custom_error_configurations = kwargs.get('custom_error_configurations', None) + self.firewall_policy = kwargs.get('firewall_policy', None) + self.host_names = kwargs.get('host_names', None) + self.name = kwargs.get('name', None) + self.etag = None + self.type = None + + +class ApplicationGatewayIPConfiguration(SubResource): + """IP configuration of an application gateway. Currently 1 public and 1 + private IP configuration is allowed. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param subnet: Reference to the subnet resource. A subnet from where + application gateway gets its private address. + :type subnet: ~azure.mgmt.network.v2020_05_01.models.SubResource + :ivar provisioning_state: The provisioning state of the application + gateway IP configuration resource. Possible values include: 'Succeeded', + 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: Name of the IP configuration that is unique within an + Application Gateway. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayIPConfiguration, self).__init__(**kwargs) + self.subnet = kwargs.get('subnet', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = None + self.type = None + + +class ApplicationGatewayOnDemandProbe(Model): + """Details of on demand test probe request. + + :param protocol: The protocol used for the probe. Possible values include: + 'Http', 'Https' + :type protocol: str or + ~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayProtocol + :param host: Host name to send the probe to. + :type host: str + :param path: Relative path of probe. Valid path starts from '/'. Probe is + sent to ://:. + :type path: str + :param timeout: The probe timeout in seconds. Probe marked as failed if + valid response is not received with this timeout period. Acceptable values + are from 1 second to 86400 seconds. + :type timeout: int + :param pick_host_name_from_backend_http_settings: Whether the host header + should be picked from the backend http settings. Default value is false. + :type pick_host_name_from_backend_http_settings: bool + :param match: Criterion for classifying a healthy probe response. + :type match: + ~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayProbeHealthResponseMatch + :param backend_address_pool: Reference to backend pool of application + gateway to which probe request will be sent. + :type backend_address_pool: + ~azure.mgmt.network.v2020_05_01.models.SubResource + :param backend_http_settings: Reference to backend http setting of + application gateway to be used for test probe. + :type backend_http_settings: + ~azure.mgmt.network.v2020_05_01.models.SubResource + """ + + _attribute_map = { + 'protocol': {'key': 'protocol', 'type': 'str'}, + 'host': {'key': 'host', 'type': 'str'}, + 'path': {'key': 'path', 'type': 'str'}, + 'timeout': {'key': 'timeout', 'type': 'int'}, + 'pick_host_name_from_backend_http_settings': {'key': 'pickHostNameFromBackendHttpSettings', 'type': 'bool'}, + 'match': {'key': 'match', 'type': 'ApplicationGatewayProbeHealthResponseMatch'}, + 'backend_address_pool': {'key': 'backendAddressPool', 'type': 'SubResource'}, + 'backend_http_settings': {'key': 'backendHttpSettings', 'type': 'SubResource'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayOnDemandProbe, self).__init__(**kwargs) + self.protocol = kwargs.get('protocol', None) + self.host = kwargs.get('host', None) + self.path = kwargs.get('path', None) + self.timeout = kwargs.get('timeout', None) + self.pick_host_name_from_backend_http_settings = kwargs.get('pick_host_name_from_backend_http_settings', None) + self.match = kwargs.get('match', None) + self.backend_address_pool = kwargs.get('backend_address_pool', None) + self.backend_http_settings = kwargs.get('backend_http_settings', None) + + +class ApplicationGatewayPathRule(SubResource): + """Path rule of URL path map of an application gateway. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param paths: Path rules of URL path map. + :type paths: list[str] + :param backend_address_pool: Backend address pool resource of URL path map + path rule. + :type backend_address_pool: + ~azure.mgmt.network.v2020_05_01.models.SubResource + :param backend_http_settings: Backend http settings resource of URL path + map path rule. + :type backend_http_settings: + ~azure.mgmt.network.v2020_05_01.models.SubResource + :param redirect_configuration: Redirect configuration resource of URL path + map path rule. + :type redirect_configuration: + ~azure.mgmt.network.v2020_05_01.models.SubResource + :param rewrite_rule_set: Rewrite rule set resource of URL path map path + rule. + :type rewrite_rule_set: ~azure.mgmt.network.v2020_05_01.models.SubResource + :ivar provisioning_state: The provisioning state of the path rule + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param firewall_policy: Reference to the FirewallPolicy resource. + :type firewall_policy: ~azure.mgmt.network.v2020_05_01.models.SubResource + :param name: Name of the path rule that is unique within an Application + Gateway. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'paths': {'key': 'properties.paths', 'type': '[str]'}, + 'backend_address_pool': {'key': 'properties.backendAddressPool', 'type': 'SubResource'}, + 'backend_http_settings': {'key': 'properties.backendHttpSettings', 'type': 'SubResource'}, + 'redirect_configuration': {'key': 'properties.redirectConfiguration', 'type': 'SubResource'}, + 'rewrite_rule_set': {'key': 'properties.rewriteRuleSet', 'type': 'SubResource'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'firewall_policy': {'key': 'properties.firewallPolicy', 'type': 'SubResource'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayPathRule, self).__init__(**kwargs) + self.paths = kwargs.get('paths', None) + self.backend_address_pool = kwargs.get('backend_address_pool', None) + self.backend_http_settings = kwargs.get('backend_http_settings', None) + self.redirect_configuration = kwargs.get('redirect_configuration', None) + self.rewrite_rule_set = kwargs.get('rewrite_rule_set', None) + self.provisioning_state = None + self.firewall_policy = kwargs.get('firewall_policy', None) + self.name = kwargs.get('name', None) + self.etag = None + self.type = None + + +class ApplicationGatewayProbe(SubResource): + """Probe of the application gateway. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param protocol: The protocol used for the probe. Possible values include: + 'Http', 'Https' + :type protocol: str or + ~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayProtocol + :param host: Host name to send the probe to. + :type host: str + :param path: Relative path of probe. Valid path starts from '/'. Probe is + sent to ://:. + :type path: str + :param interval: The probing interval in seconds. This is the time + interval between two consecutive probes. Acceptable values are from 1 + second to 86400 seconds. + :type interval: int + :param timeout: The probe timeout in seconds. Probe marked as failed if + valid response is not received with this timeout period. Acceptable values + are from 1 second to 86400 seconds. + :type timeout: int + :param unhealthy_threshold: The probe retry count. Backend server is + marked down after consecutive probe failure count reaches + UnhealthyThreshold. Acceptable values are from 1 second to 20. + :type unhealthy_threshold: int + :param pick_host_name_from_backend_http_settings: Whether the host header + should be picked from the backend http settings. Default value is false. + :type pick_host_name_from_backend_http_settings: bool + :param min_servers: Minimum number of servers that are always marked + healthy. Default value is 0. + :type min_servers: int + :param match: Criterion for classifying a healthy probe response. + :type match: + ~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayProbeHealthResponseMatch + :ivar provisioning_state: The provisioning state of the probe resource. + Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param port: Custom port which will be used for probing the backend + servers. The valid value ranges from 1 to 65535. In case not set, port + from http settings will be used. This property is valid for Standard_v2 + and WAF_v2 only. + :type port: int + :param name: Name of the probe that is unique within an Application + Gateway. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'port': {'maximum': 65535, 'minimum': 1}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'protocol': {'key': 'properties.protocol', 'type': 'str'}, + 'host': {'key': 'properties.host', 'type': 'str'}, + 'path': {'key': 'properties.path', 'type': 'str'}, + 'interval': {'key': 'properties.interval', 'type': 'int'}, + 'timeout': {'key': 'properties.timeout', 'type': 'int'}, + 'unhealthy_threshold': {'key': 'properties.unhealthyThreshold', 'type': 'int'}, + 'pick_host_name_from_backend_http_settings': {'key': 'properties.pickHostNameFromBackendHttpSettings', 'type': 'bool'}, + 'min_servers': {'key': 'properties.minServers', 'type': 'int'}, + 'match': {'key': 'properties.match', 'type': 'ApplicationGatewayProbeHealthResponseMatch'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'port': {'key': 'properties.port', 'type': 'int'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayProbe, self).__init__(**kwargs) + self.protocol = kwargs.get('protocol', None) + self.host = kwargs.get('host', None) + self.path = kwargs.get('path', None) + self.interval = kwargs.get('interval', None) + self.timeout = kwargs.get('timeout', None) + self.unhealthy_threshold = kwargs.get('unhealthy_threshold', None) + self.pick_host_name_from_backend_http_settings = kwargs.get('pick_host_name_from_backend_http_settings', None) + self.min_servers = kwargs.get('min_servers', None) + self.match = kwargs.get('match', None) + self.provisioning_state = None + self.port = kwargs.get('port', None) + self.name = kwargs.get('name', None) + self.etag = None + self.type = None + + +class ApplicationGatewayProbeHealthResponseMatch(Model): + """Application gateway probe health response match. + + :param body: Body that must be contained in the health response. Default + value is empty. + :type body: str + :param status_codes: Allowed ranges of healthy status codes. Default range + of healthy status codes is 200-399. + :type status_codes: list[str] + """ + + _attribute_map = { + 'body': {'key': 'body', 'type': 'str'}, + 'status_codes': {'key': 'statusCodes', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayProbeHealthResponseMatch, self).__init__(**kwargs) + self.body = kwargs.get('body', None) + self.status_codes = kwargs.get('status_codes', None) + + +class ApplicationGatewayRedirectConfiguration(SubResource): + """Redirect configuration of an application gateway. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param redirect_type: HTTP redirection type. Possible values include: + 'Permanent', 'Found', 'SeeOther', 'Temporary' + :type redirect_type: str or + ~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayRedirectType + :param target_listener: Reference to a listener to redirect the request + to. + :type target_listener: ~azure.mgmt.network.v2020_05_01.models.SubResource + :param target_url: Url to redirect the request to. + :type target_url: str + :param include_path: Include path in the redirected url. + :type include_path: bool + :param include_query_string: Include query string in the redirected url. + :type include_query_string: bool + :param request_routing_rules: Request routing specifying redirect + configuration. + :type request_routing_rules: + list[~azure.mgmt.network.v2020_05_01.models.SubResource] + :param url_path_maps: Url path maps specifying default redirect + configuration. + :type url_path_maps: + list[~azure.mgmt.network.v2020_05_01.models.SubResource] + :param path_rules: Path rules specifying redirect configuration. + :type path_rules: list[~azure.mgmt.network.v2020_05_01.models.SubResource] + :param name: Name of the redirect configuration that is unique within an + Application Gateway. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'redirect_type': {'key': 'properties.redirectType', 'type': 'str'}, + 'target_listener': {'key': 'properties.targetListener', 'type': 'SubResource'}, + 'target_url': {'key': 'properties.targetUrl', 'type': 'str'}, + 'include_path': {'key': 'properties.includePath', 'type': 'bool'}, + 'include_query_string': {'key': 'properties.includeQueryString', 'type': 'bool'}, + 'request_routing_rules': {'key': 'properties.requestRoutingRules', 'type': '[SubResource]'}, + 'url_path_maps': {'key': 'properties.urlPathMaps', 'type': '[SubResource]'}, + 'path_rules': {'key': 'properties.pathRules', 'type': '[SubResource]'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayRedirectConfiguration, self).__init__(**kwargs) + self.redirect_type = kwargs.get('redirect_type', None) + self.target_listener = kwargs.get('target_listener', None) + self.target_url = kwargs.get('target_url', None) + self.include_path = kwargs.get('include_path', None) + self.include_query_string = kwargs.get('include_query_string', None) + self.request_routing_rules = kwargs.get('request_routing_rules', None) + self.url_path_maps = kwargs.get('url_path_maps', None) + self.path_rules = kwargs.get('path_rules', None) + self.name = kwargs.get('name', None) + self.etag = None + self.type = None + + +class ApplicationGatewayRequestRoutingRule(SubResource): + """Request routing rule of an application gateway. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param rule_type: Rule type. Possible values include: 'Basic', + 'PathBasedRouting' + :type rule_type: str or + ~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayRequestRoutingRuleType + :param priority: Priority of the request routing rule. + :type priority: int + :param backend_address_pool: Backend address pool resource of the + application gateway. + :type backend_address_pool: + ~azure.mgmt.network.v2020_05_01.models.SubResource + :param backend_http_settings: Backend http settings resource of the + application gateway. + :type backend_http_settings: + ~azure.mgmt.network.v2020_05_01.models.SubResource + :param http_listener: Http listener resource of the application gateway. + :type http_listener: ~azure.mgmt.network.v2020_05_01.models.SubResource + :param url_path_map: URL path map resource of the application gateway. + :type url_path_map: ~azure.mgmt.network.v2020_05_01.models.SubResource + :param rewrite_rule_set: Rewrite Rule Set resource in Basic rule of the + application gateway. + :type rewrite_rule_set: ~azure.mgmt.network.v2020_05_01.models.SubResource + :param redirect_configuration: Redirect configuration resource of the + application gateway. + :type redirect_configuration: + ~azure.mgmt.network.v2020_05_01.models.SubResource + :ivar provisioning_state: The provisioning state of the request routing + rule resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: Name of the request routing rule that is unique within an + Application Gateway. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'priority': {'maximum': 20000, 'minimum': 1}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'rule_type': {'key': 'properties.ruleType', 'type': 'str'}, + 'priority': {'key': 'properties.priority', 'type': 'int'}, + 'backend_address_pool': {'key': 'properties.backendAddressPool', 'type': 'SubResource'}, + 'backend_http_settings': {'key': 'properties.backendHttpSettings', 'type': 'SubResource'}, + 'http_listener': {'key': 'properties.httpListener', 'type': 'SubResource'}, + 'url_path_map': {'key': 'properties.urlPathMap', 'type': 'SubResource'}, + 'rewrite_rule_set': {'key': 'properties.rewriteRuleSet', 'type': 'SubResource'}, + 'redirect_configuration': {'key': 'properties.redirectConfiguration', 'type': 'SubResource'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayRequestRoutingRule, self).__init__(**kwargs) + self.rule_type = kwargs.get('rule_type', None) + self.priority = kwargs.get('priority', None) + self.backend_address_pool = kwargs.get('backend_address_pool', None) + self.backend_http_settings = kwargs.get('backend_http_settings', None) + self.http_listener = kwargs.get('http_listener', None) + self.url_path_map = kwargs.get('url_path_map', None) + self.rewrite_rule_set = kwargs.get('rewrite_rule_set', None) + self.redirect_configuration = kwargs.get('redirect_configuration', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = None + self.type = None + + +class ApplicationGatewayRewriteRule(Model): + """Rewrite rule of an application gateway. + + :param name: Name of the rewrite rule that is unique within an Application + Gateway. + :type name: str + :param rule_sequence: Rule Sequence of the rewrite rule that determines + the order of execution of a particular rule in a RewriteRuleSet. + :type rule_sequence: int + :param conditions: Conditions based on which the action set execution will + be evaluated. + :type conditions: + list[~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayRewriteRuleCondition] + :param action_set: Set of actions to be done as part of the rewrite Rule. + :type action_set: + ~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayRewriteRuleActionSet + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'rule_sequence': {'key': 'ruleSequence', 'type': 'int'}, + 'conditions': {'key': 'conditions', 'type': '[ApplicationGatewayRewriteRuleCondition]'}, + 'action_set': {'key': 'actionSet', 'type': 'ApplicationGatewayRewriteRuleActionSet'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayRewriteRule, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.rule_sequence = kwargs.get('rule_sequence', None) + self.conditions = kwargs.get('conditions', None) + self.action_set = kwargs.get('action_set', None) + + +class ApplicationGatewayRewriteRuleActionSet(Model): + """Set of actions in the Rewrite Rule in Application Gateway. + + :param request_header_configurations: Request Header Actions in the Action + Set. + :type request_header_configurations: + list[~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayHeaderConfiguration] + :param response_header_configurations: Response Header Actions in the + Action Set. + :type response_header_configurations: + list[~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayHeaderConfiguration] + :param url_configuration: Url Configuration Action in the Action Set. + :type url_configuration: + ~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayUrlConfiguration + """ + + _attribute_map = { + 'request_header_configurations': {'key': 'requestHeaderConfigurations', 'type': '[ApplicationGatewayHeaderConfiguration]'}, + 'response_header_configurations': {'key': 'responseHeaderConfigurations', 'type': '[ApplicationGatewayHeaderConfiguration]'}, + 'url_configuration': {'key': 'urlConfiguration', 'type': 'ApplicationGatewayUrlConfiguration'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayRewriteRuleActionSet, self).__init__(**kwargs) + self.request_header_configurations = kwargs.get('request_header_configurations', None) + self.response_header_configurations = kwargs.get('response_header_configurations', None) + self.url_configuration = kwargs.get('url_configuration', None) + + +class ApplicationGatewayRewriteRuleCondition(Model): + """Set of conditions in the Rewrite Rule in Application Gateway. + + :param variable: The condition parameter of the RewriteRuleCondition. + :type variable: str + :param pattern: The pattern, either fixed string or regular expression, + that evaluates the truthfulness of the condition. + :type pattern: str + :param ignore_case: Setting this paramter to truth value with force the + pattern to do a case in-sensitive comparison. + :type ignore_case: bool + :param negate: Setting this value as truth will force to check the + negation of the condition given by the user. + :type negate: bool + """ + + _attribute_map = { + 'variable': {'key': 'variable', 'type': 'str'}, + 'pattern': {'key': 'pattern', 'type': 'str'}, + 'ignore_case': {'key': 'ignoreCase', 'type': 'bool'}, + 'negate': {'key': 'negate', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayRewriteRuleCondition, self).__init__(**kwargs) + self.variable = kwargs.get('variable', None) + self.pattern = kwargs.get('pattern', None) + self.ignore_case = kwargs.get('ignore_case', None) + self.negate = kwargs.get('negate', None) + + +class ApplicationGatewayRewriteRuleSet(SubResource): + """Rewrite rule set of an application gateway. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param rewrite_rules: Rewrite rules in the rewrite rule set. + :type rewrite_rules: + list[~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayRewriteRule] + :ivar provisioning_state: The provisioning state of the rewrite rule set + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: Name of the rewrite rule set that is unique within an + Application Gateway. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'rewrite_rules': {'key': 'properties.rewriteRules', 'type': '[ApplicationGatewayRewriteRule]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayRewriteRuleSet, self).__init__(**kwargs) + self.rewrite_rules = kwargs.get('rewrite_rules', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = None + + +class ApplicationGatewaySku(Model): + """SKU of an application gateway. + + :param name: Name of an application gateway SKU. Possible values include: + 'Standard_Small', 'Standard_Medium', 'Standard_Large', 'WAF_Medium', + 'WAF_Large', 'Standard_v2', 'WAF_v2' + :type name: str or + ~azure.mgmt.network.v2020_05_01.models.ApplicationGatewaySkuName + :param tier: Tier of an application gateway. Possible values include: + 'Standard', 'WAF', 'Standard_v2', 'WAF_v2' + :type tier: str or + ~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayTier + :param capacity: Capacity (instance count) of an application gateway. + :type capacity: int + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + 'capacity': {'key': 'capacity', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewaySku, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.tier = kwargs.get('tier', None) + self.capacity = kwargs.get('capacity', None) + + +class ApplicationGatewaySslCertificate(SubResource): + """SSL certificates of an application gateway. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param data: Base-64 encoded pfx certificate. Only applicable in PUT + Request. + :type data: str + :param password: Password for the pfx file specified in data. Only + applicable in PUT request. + :type password: str + :ivar public_cert_data: Base-64 encoded Public cert data corresponding to + pfx specified in data. Only applicable in GET request. + :vartype public_cert_data: str + :param key_vault_secret_id: Secret Id of (base-64 encoded unencrypted pfx) + 'Secret' or 'Certificate' object stored in KeyVault. + :type key_vault_secret_id: str + :ivar provisioning_state: The provisioning state of the SSL certificate + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: Name of the SSL certificate that is unique within an + Application Gateway. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'public_cert_data': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'data': {'key': 'properties.data', 'type': 'str'}, + 'password': {'key': 'properties.password', 'type': 'str'}, + 'public_cert_data': {'key': 'properties.publicCertData', 'type': 'str'}, + 'key_vault_secret_id': {'key': 'properties.keyVaultSecretId', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewaySslCertificate, self).__init__(**kwargs) + self.data = kwargs.get('data', None) + self.password = kwargs.get('password', None) + self.public_cert_data = None + self.key_vault_secret_id = kwargs.get('key_vault_secret_id', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = None + self.type = None + + +class ApplicationGatewaySslPolicy(Model): + """Application Gateway Ssl policy. + + :param disabled_ssl_protocols: Ssl protocols to be disabled on application + gateway. + :type disabled_ssl_protocols: list[str or + ~azure.mgmt.network.v2020_05_01.models.ApplicationGatewaySslProtocol] + :param policy_type: Type of Ssl Policy. Possible values include: + 'Predefined', 'Custom' + :type policy_type: str or + ~azure.mgmt.network.v2020_05_01.models.ApplicationGatewaySslPolicyType + :param policy_name: Name of Ssl predefined policy. Possible values + include: 'AppGwSslPolicy20150501', 'AppGwSslPolicy20170401', + 'AppGwSslPolicy20170401S' + :type policy_name: str or + ~azure.mgmt.network.v2020_05_01.models.ApplicationGatewaySslPolicyName + :param cipher_suites: Ssl cipher suites to be enabled in the specified + order to application gateway. + :type cipher_suites: list[str or + ~azure.mgmt.network.v2020_05_01.models.ApplicationGatewaySslCipherSuite] + :param min_protocol_version: Minimum version of Ssl protocol to be + supported on application gateway. Possible values include: 'TLSv1_0', + 'TLSv1_1', 'TLSv1_2' + :type min_protocol_version: str or + ~azure.mgmt.network.v2020_05_01.models.ApplicationGatewaySslProtocol + """ + + _attribute_map = { + 'disabled_ssl_protocols': {'key': 'disabledSslProtocols', 'type': '[str]'}, + 'policy_type': {'key': 'policyType', 'type': 'str'}, + 'policy_name': {'key': 'policyName', 'type': 'str'}, + 'cipher_suites': {'key': 'cipherSuites', 'type': '[str]'}, + 'min_protocol_version': {'key': 'minProtocolVersion', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewaySslPolicy, self).__init__(**kwargs) + self.disabled_ssl_protocols = kwargs.get('disabled_ssl_protocols', None) + self.policy_type = kwargs.get('policy_type', None) + self.policy_name = kwargs.get('policy_name', None) + self.cipher_suites = kwargs.get('cipher_suites', None) + self.min_protocol_version = kwargs.get('min_protocol_version', None) + + +class ApplicationGatewaySslPredefinedPolicy(SubResource): + """An Ssl predefined policy. + + :param id: Resource ID. + :type id: str + :param name: Name of the Ssl predefined policy. + :type name: str + :param cipher_suites: Ssl cipher suites to be enabled in the specified + order for application gateway. + :type cipher_suites: list[str or + ~azure.mgmt.network.v2020_05_01.models.ApplicationGatewaySslCipherSuite] + :param min_protocol_version: Minimum version of Ssl protocol to be + supported on application gateway. Possible values include: 'TLSv1_0', + 'TLSv1_1', 'TLSv1_2' + :type min_protocol_version: str or + ~azure.mgmt.network.v2020_05_01.models.ApplicationGatewaySslProtocol + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'cipher_suites': {'key': 'properties.cipherSuites', 'type': '[str]'}, + 'min_protocol_version': {'key': 'properties.minProtocolVersion', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewaySslPredefinedPolicy, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.cipher_suites = kwargs.get('cipher_suites', None) + self.min_protocol_version = kwargs.get('min_protocol_version', None) + + +class ApplicationGatewayTrustedRootCertificate(SubResource): + """Trusted Root certificates of an application gateway. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param data: Certificate public data. + :type data: str + :param key_vault_secret_id: Secret Id of (base-64 encoded unencrypted pfx) + 'Secret' or 'Certificate' object stored in KeyVault. + :type key_vault_secret_id: str + :ivar provisioning_state: The provisioning state of the trusted root + certificate resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: Name of the trusted root certificate that is unique within an + Application Gateway. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'data': {'key': 'properties.data', 'type': 'str'}, + 'key_vault_secret_id': {'key': 'properties.keyVaultSecretId', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayTrustedRootCertificate, self).__init__(**kwargs) + self.data = kwargs.get('data', None) + self.key_vault_secret_id = kwargs.get('key_vault_secret_id', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = None + self.type = None + + +class ApplicationGatewayUrlConfiguration(Model): + """Url configuration of the Actions set in Application Gateway. + + :param modified_path: Url path which user has provided for url rewrite. + Null means no path will be updated. Default value is null. + :type modified_path: str + :param modified_query_string: Query string which user has provided for url + rewrite. Null means no query string will be updated. Default value is + null. + :type modified_query_string: str + :param reroute: If set as true, it will re-evaluate the url path map + provided in path based request routing rules using modified path. Default + value is false. + :type reroute: bool + """ + + _attribute_map = { + 'modified_path': {'key': 'modifiedPath', 'type': 'str'}, + 'modified_query_string': {'key': 'modifiedQueryString', 'type': 'str'}, + 'reroute': {'key': 'reroute', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayUrlConfiguration, self).__init__(**kwargs) + self.modified_path = kwargs.get('modified_path', None) + self.modified_query_string = kwargs.get('modified_query_string', None) + self.reroute = kwargs.get('reroute', None) + + +class ApplicationGatewayUrlPathMap(SubResource): + """UrlPathMaps give a url path to the backend mapping information for + PathBasedRouting. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param default_backend_address_pool: Default backend address pool resource + of URL path map. + :type default_backend_address_pool: + ~azure.mgmt.network.v2020_05_01.models.SubResource + :param default_backend_http_settings: Default backend http settings + resource of URL path map. + :type default_backend_http_settings: + ~azure.mgmt.network.v2020_05_01.models.SubResource + :param default_rewrite_rule_set: Default Rewrite rule set resource of URL + path map. + :type default_rewrite_rule_set: + ~azure.mgmt.network.v2020_05_01.models.SubResource + :param default_redirect_configuration: Default redirect configuration + resource of URL path map. + :type default_redirect_configuration: + ~azure.mgmt.network.v2020_05_01.models.SubResource + :param path_rules: Path rule of URL path map resource. + :type path_rules: + list[~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayPathRule] + :ivar provisioning_state: The provisioning state of the URL path map + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: Name of the URL path map that is unique within an Application + Gateway. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'default_backend_address_pool': {'key': 'properties.defaultBackendAddressPool', 'type': 'SubResource'}, + 'default_backend_http_settings': {'key': 'properties.defaultBackendHttpSettings', 'type': 'SubResource'}, + 'default_rewrite_rule_set': {'key': 'properties.defaultRewriteRuleSet', 'type': 'SubResource'}, + 'default_redirect_configuration': {'key': 'properties.defaultRedirectConfiguration', 'type': 'SubResource'}, + 'path_rules': {'key': 'properties.pathRules', 'type': '[ApplicationGatewayPathRule]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayUrlPathMap, self).__init__(**kwargs) + self.default_backend_address_pool = kwargs.get('default_backend_address_pool', None) + self.default_backend_http_settings = kwargs.get('default_backend_http_settings', None) + self.default_rewrite_rule_set = kwargs.get('default_rewrite_rule_set', None) + self.default_redirect_configuration = kwargs.get('default_redirect_configuration', None) + self.path_rules = kwargs.get('path_rules', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = None + self.type = None + + +class ApplicationGatewayWebApplicationFirewallConfiguration(Model): + """Application gateway web application firewall configuration. + + All required parameters must be populated in order to send to Azure. + + :param enabled: Required. Whether the web application firewall is enabled + or not. + :type enabled: bool + :param firewall_mode: Required. Web application firewall mode. Possible + values include: 'Detection', 'Prevention' + :type firewall_mode: str or + ~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayFirewallMode + :param rule_set_type: Required. The type of the web application firewall + rule set. Possible values are: 'OWASP'. + :type rule_set_type: str + :param rule_set_version: Required. The version of the rule set type. + :type rule_set_version: str + :param disabled_rule_groups: The disabled rule groups. + :type disabled_rule_groups: + list[~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayFirewallDisabledRuleGroup] + :param request_body_check: Whether allow WAF to check request Body. + :type request_body_check: bool + :param max_request_body_size: Maximum request body size for WAF. + :type max_request_body_size: int + :param max_request_body_size_in_kb: Maximum request body size in Kb for + WAF. + :type max_request_body_size_in_kb: int + :param file_upload_limit_in_mb: Maximum file upload size in Mb for WAF. + :type file_upload_limit_in_mb: int + :param exclusions: The exclusion list. + :type exclusions: + list[~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayFirewallExclusion] + """ + + _validation = { + 'enabled': {'required': True}, + 'firewall_mode': {'required': True}, + 'rule_set_type': {'required': True}, + 'rule_set_version': {'required': True}, + 'max_request_body_size': {'maximum': 128, 'minimum': 8}, + 'max_request_body_size_in_kb': {'maximum': 128, 'minimum': 8}, + 'file_upload_limit_in_mb': {'minimum': 0}, + } + + _attribute_map = { + 'enabled': {'key': 'enabled', 'type': 'bool'}, + 'firewall_mode': {'key': 'firewallMode', 'type': 'str'}, + 'rule_set_type': {'key': 'ruleSetType', 'type': 'str'}, + 'rule_set_version': {'key': 'ruleSetVersion', 'type': 'str'}, + 'disabled_rule_groups': {'key': 'disabledRuleGroups', 'type': '[ApplicationGatewayFirewallDisabledRuleGroup]'}, + 'request_body_check': {'key': 'requestBodyCheck', 'type': 'bool'}, + 'max_request_body_size': {'key': 'maxRequestBodySize', 'type': 'int'}, + 'max_request_body_size_in_kb': {'key': 'maxRequestBodySizeInKb', 'type': 'int'}, + 'file_upload_limit_in_mb': {'key': 'fileUploadLimitInMb', 'type': 'int'}, + 'exclusions': {'key': 'exclusions', 'type': '[ApplicationGatewayFirewallExclusion]'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayWebApplicationFirewallConfiguration, self).__init__(**kwargs) + self.enabled = kwargs.get('enabled', None) + self.firewall_mode = kwargs.get('firewall_mode', None) + self.rule_set_type = kwargs.get('rule_set_type', None) + self.rule_set_version = kwargs.get('rule_set_version', None) + self.disabled_rule_groups = kwargs.get('disabled_rule_groups', None) + self.request_body_check = kwargs.get('request_body_check', None) + self.max_request_body_size = kwargs.get('max_request_body_size', None) + self.max_request_body_size_in_kb = kwargs.get('max_request_body_size_in_kb', None) + self.file_upload_limit_in_mb = kwargs.get('file_upload_limit_in_mb', None) + self.exclusions = kwargs.get('exclusions', None) + + +class FirewallPolicyRule(Model): + """Properties of a rule. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: ApplicationRule, NatRule, NetworkRule + + All required parameters must be populated in order to send to Azure. + + :param name: Name of the rule. + :type name: str + :param description: Description of the rule. + :type description: str + :param rule_type: Required. Constant filled by server. + :type rule_type: str + """ + + _validation = { + 'rule_type': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'rule_type': {'key': 'ruleType', 'type': 'str'}, + } + + _subtype_map = { + 'rule_type': {'ApplicationRule': 'ApplicationRule', 'NatRule': 'NatRule', 'NetworkRule': 'NetworkRule'} + } + + def __init__(self, **kwargs): + super(FirewallPolicyRule, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.description = kwargs.get('description', None) + self.rule_type = None + + +class ApplicationRule(FirewallPolicyRule): + """Rule of type application. + + All required parameters must be populated in order to send to Azure. + + :param name: Name of the rule. + :type name: str + :param description: Description of the rule. + :type description: str + :param rule_type: Required. Constant filled by server. + :type rule_type: str + :param source_addresses: List of source IP addresses for this rule. + :type source_addresses: list[str] + :param destination_addresses: List of destination IP addresses or Service + Tags. + :type destination_addresses: list[str] + :param protocols: Array of Application Protocols. + :type protocols: + list[~azure.mgmt.network.v2020_05_01.models.FirewallPolicyRuleApplicationProtocol] + :param target_urls: List of Urls for this rule condition. + :type target_urls: list[str] + :param target_fqdns: List of FQDNs for this rule. + :type target_fqdns: list[str] + :param fqdn_tags: List of FQDN Tags for this rule. + :type fqdn_tags: list[str] + :param source_ip_groups: List of source IpGroups for this rule. + :type source_ip_groups: list[str] + :param terminate_tls: Terminate TLS connections for this rule. + :type terminate_tls: bool + """ + + _validation = { + 'rule_type': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'rule_type': {'key': 'ruleType', 'type': 'str'}, + 'source_addresses': {'key': 'sourceAddresses', 'type': '[str]'}, + 'destination_addresses': {'key': 'destinationAddresses', 'type': '[str]'}, + 'protocols': {'key': 'protocols', 'type': '[FirewallPolicyRuleApplicationProtocol]'}, + 'target_urls': {'key': 'targetUrls', 'type': '[str]'}, + 'target_fqdns': {'key': 'targetFqdns', 'type': '[str]'}, + 'fqdn_tags': {'key': 'fqdnTags', 'type': '[str]'}, + 'source_ip_groups': {'key': 'sourceIpGroups', 'type': '[str]'}, + 'terminate_tls': {'key': 'terminateTLS', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(ApplicationRule, self).__init__(**kwargs) + self.source_addresses = kwargs.get('source_addresses', None) + self.destination_addresses = kwargs.get('destination_addresses', None) + self.protocols = kwargs.get('protocols', None) + self.target_urls = kwargs.get('target_urls', None) + self.target_fqdns = kwargs.get('target_fqdns', None) + self.fqdn_tags = kwargs.get('fqdn_tags', None) + self.source_ip_groups = kwargs.get('source_ip_groups', None) + self.terminate_tls = kwargs.get('terminate_tls', None) + self.rule_type = 'ApplicationRule' + + +class ApplicationSecurityGroup(Resource): + """An application security group in a resource group. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar resource_guid: The resource GUID property of the application + security group resource. It uniquely identifies a resource, even if the + user changes its name or migrate the resource across subscriptions or + resource groups. + :vartype resource_guid: str + :ivar provisioning_state: The provisioning state of the application + security group resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'resource_guid': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationSecurityGroup, self).__init__(**kwargs) + self.resource_guid = None + self.provisioning_state = None + self.etag = None + + +class AutoApprovedPrivateLinkService(Model): + """The information of an AutoApprovedPrivateLinkService. + + :param private_link_service: The id of the private link service resource. + :type private_link_service: str + """ + + _attribute_map = { + 'private_link_service': {'key': 'privateLinkService', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AutoApprovedPrivateLinkService, self).__init__(**kwargs) + self.private_link_service = kwargs.get('private_link_service', None) + + +class Availability(Model): + """Availability of the metric. + + :param time_grain: The time grain of the availability. + :type time_grain: str + :param retention: The retention of the availability. + :type retention: str + :param blob_duration: Duration of the availability blob. + :type blob_duration: str + """ + + _attribute_map = { + 'time_grain': {'key': 'timeGrain', 'type': 'str'}, + 'retention': {'key': 'retention', 'type': 'str'}, + 'blob_duration': {'key': 'blobDuration', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Availability, self).__init__(**kwargs) + self.time_grain = kwargs.get('time_grain', None) + self.retention = kwargs.get('retention', None) + self.blob_duration = kwargs.get('blob_duration', None) + + +class AvailableDelegation(Model): + """The serviceName of an AvailableDelegation indicates a possible delegation + for a subnet. + + :param name: The name of the AvailableDelegation resource. + :type name: str + :param id: A unique identifier of the AvailableDelegation resource. + :type id: str + :param type: Resource type. + :type type: str + :param service_name: The name of the service and resource. + :type service_name: str + :param actions: The actions permitted to the service upon delegation. + :type actions: list[str] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'service_name': {'key': 'serviceName', 'type': 'str'}, + 'actions': {'key': 'actions', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(AvailableDelegation, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.id = kwargs.get('id', None) + self.type = kwargs.get('type', None) + self.service_name = kwargs.get('service_name', None) + self.actions = kwargs.get('actions', None) + + +class AvailablePrivateEndpointType(Model): + """The information of an AvailablePrivateEndpointType. + + :param name: The name of the service and resource. + :type name: str + :param id: A unique identifier of the AvailablePrivateEndpoint Type + resource. + :type id: str + :param type: Resource type. + :type type: str + :param resource_name: The name of the service and resource. + :type resource_name: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'resource_name': {'key': 'resourceName', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AvailablePrivateEndpointType, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.id = kwargs.get('id', None) + self.type = kwargs.get('type', None) + self.resource_name = kwargs.get('resource_name', None) + + +class AvailableProvidersList(Model): + """List of available countries with details. + + All required parameters must be populated in order to send to Azure. + + :param countries: Required. List of available countries. + :type countries: + list[~azure.mgmt.network.v2020_05_01.models.AvailableProvidersListCountry] + """ + + _validation = { + 'countries': {'required': True}, + } + + _attribute_map = { + 'countries': {'key': 'countries', 'type': '[AvailableProvidersListCountry]'}, + } + + def __init__(self, **kwargs): + super(AvailableProvidersList, self).__init__(**kwargs) + self.countries = kwargs.get('countries', None) + + +class AvailableProvidersListCity(Model): + """City or town details. + + :param city_name: The city or town name. + :type city_name: str + :param providers: A list of Internet service providers. + :type providers: list[str] + """ + + _attribute_map = { + 'city_name': {'key': 'cityName', 'type': 'str'}, + 'providers': {'key': 'providers', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(AvailableProvidersListCity, self).__init__(**kwargs) + self.city_name = kwargs.get('city_name', None) + self.providers = kwargs.get('providers', None) + + +class AvailableProvidersListCountry(Model): + """Country details. + + :param country_name: The country name. + :type country_name: str + :param providers: A list of Internet service providers. + :type providers: list[str] + :param states: List of available states in the country. + :type states: + list[~azure.mgmt.network.v2020_05_01.models.AvailableProvidersListState] + """ + + _attribute_map = { + 'country_name': {'key': 'countryName', 'type': 'str'}, + 'providers': {'key': 'providers', 'type': '[str]'}, + 'states': {'key': 'states', 'type': '[AvailableProvidersListState]'}, + } + + def __init__(self, **kwargs): + super(AvailableProvidersListCountry, self).__init__(**kwargs) + self.country_name = kwargs.get('country_name', None) + self.providers = kwargs.get('providers', None) + self.states = kwargs.get('states', None) + + +class AvailableProvidersListParameters(Model): + """Constraints that determine the list of available Internet service + providers. + + :param azure_locations: A list of Azure regions. + :type azure_locations: list[str] + :param country: The country for available providers list. + :type country: str + :param state: The state for available providers list. + :type state: str + :param city: The city or town for available providers list. + :type city: str + """ + + _attribute_map = { + 'azure_locations': {'key': 'azureLocations', 'type': '[str]'}, + 'country': {'key': 'country', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + 'city': {'key': 'city', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AvailableProvidersListParameters, self).__init__(**kwargs) + self.azure_locations = kwargs.get('azure_locations', None) + self.country = kwargs.get('country', None) + self.state = kwargs.get('state', None) + self.city = kwargs.get('city', None) + + +class AvailableProvidersListState(Model): + """State details. + + :param state_name: The state name. + :type state_name: str + :param providers: A list of Internet service providers. + :type providers: list[str] + :param cities: List of available cities or towns in the state. + :type cities: + list[~azure.mgmt.network.v2020_05_01.models.AvailableProvidersListCity] + """ + + _attribute_map = { + 'state_name': {'key': 'stateName', 'type': 'str'}, + 'providers': {'key': 'providers', 'type': '[str]'}, + 'cities': {'key': 'cities', 'type': '[AvailableProvidersListCity]'}, + } + + def __init__(self, **kwargs): + super(AvailableProvidersListState, self).__init__(**kwargs) + self.state_name = kwargs.get('state_name', None) + self.providers = kwargs.get('providers', None) + self.cities = kwargs.get('cities', None) + + +class AvailableServiceAlias(Model): + """The available service alias. + + :param name: The name of the service alias. + :type name: str + :param id: The ID of the service alias. + :type id: str + :param type: The type of the resource. + :type type: str + :param resource_name: The resource name of the service alias. + :type resource_name: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'resource_name': {'key': 'resourceName', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AvailableServiceAlias, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.id = kwargs.get('id', None) + self.type = kwargs.get('type', None) + self.resource_name = kwargs.get('resource_name', None) + + +class AzureAsyncOperationResult(Model): + """The response body contains the status of the specified asynchronous + operation, indicating whether it has succeeded, is in progress, or has + failed. Note that this status is distinct from the HTTP status code + returned for the Get Operation Status operation itself. If the asynchronous + operation succeeded, the response body includes the HTTP status code for + the successful request. If the asynchronous operation failed, the response + body includes the HTTP status code for the failed request and error + information regarding the failure. + + :param status: Status of the Azure async operation. Possible values + include: 'InProgress', 'Succeeded', 'Failed' + :type status: str or + ~azure.mgmt.network.v2020_05_01.models.NetworkOperationStatus + :param error: Details of the error occurred during specified asynchronous + operation. + :type error: ~azure.mgmt.network.v2020_05_01.models.Error + """ + + _attribute_map = { + 'status': {'key': 'status', 'type': 'str'}, + 'error': {'key': 'error', 'type': 'Error'}, + } + + def __init__(self, **kwargs): + super(AzureAsyncOperationResult, self).__init__(**kwargs) + self.status = kwargs.get('status', None) + self.error = kwargs.get('error', None) + + +class AzureFirewall(Resource): + """Azure Firewall resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param application_rule_collections: Collection of application rule + collections used by Azure Firewall. + :type application_rule_collections: + list[~azure.mgmt.network.v2020_05_01.models.AzureFirewallApplicationRuleCollection] + :param nat_rule_collections: Collection of NAT rule collections used by + Azure Firewall. + :type nat_rule_collections: + list[~azure.mgmt.network.v2020_05_01.models.AzureFirewallNatRuleCollection] + :param network_rule_collections: Collection of network rule collections + used by Azure Firewall. + :type network_rule_collections: + list[~azure.mgmt.network.v2020_05_01.models.AzureFirewallNetworkRuleCollection] + :param ip_configurations: IP configuration of the Azure Firewall resource. + :type ip_configurations: + list[~azure.mgmt.network.v2020_05_01.models.AzureFirewallIPConfiguration] + :param management_ip_configuration: IP configuration of the Azure Firewall + used for management traffic. + :type management_ip_configuration: + ~azure.mgmt.network.v2020_05_01.models.AzureFirewallIPConfiguration + :ivar provisioning_state: The provisioning state of the Azure firewall + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param threat_intel_mode: The operation mode for Threat Intelligence. + Possible values include: 'Alert', 'Deny', 'Off' + :type threat_intel_mode: str or + ~azure.mgmt.network.v2020_05_01.models.AzureFirewallThreatIntelMode + :param virtual_hub: The virtualHub to which the firewall belongs. + :type virtual_hub: ~azure.mgmt.network.v2020_05_01.models.SubResource + :param firewall_policy: The firewallPolicy associated with this azure + firewall. + :type firewall_policy: ~azure.mgmt.network.v2020_05_01.models.SubResource + :param hub_ip_addresses: IP addresses associated with AzureFirewall. + :type hub_ip_addresses: + ~azure.mgmt.network.v2020_05_01.models.HubIPAddresses + :ivar ip_groups: IpGroups associated with AzureFirewall. + :vartype ip_groups: + list[~azure.mgmt.network.v2020_05_01.models.AzureFirewallIpGroups] + :param sku: The Azure Firewall Resource SKU. + :type sku: ~azure.mgmt.network.v2020_05_01.models.AzureFirewallSku + :param additional_properties: The additional properties used to further + config this azure firewall. + :type additional_properties: dict[str, str] + :param zones: A list of availability zones denoting where the resource + needs to come from. + :type zones: list[str] + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'ip_groups': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'application_rule_collections': {'key': 'properties.applicationRuleCollections', 'type': '[AzureFirewallApplicationRuleCollection]'}, + 'nat_rule_collections': {'key': 'properties.natRuleCollections', 'type': '[AzureFirewallNatRuleCollection]'}, + 'network_rule_collections': {'key': 'properties.networkRuleCollections', 'type': '[AzureFirewallNetworkRuleCollection]'}, + 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[AzureFirewallIPConfiguration]'}, + 'management_ip_configuration': {'key': 'properties.managementIpConfiguration', 'type': 'AzureFirewallIPConfiguration'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'threat_intel_mode': {'key': 'properties.threatIntelMode', 'type': 'str'}, + 'virtual_hub': {'key': 'properties.virtualHub', 'type': 'SubResource'}, + 'firewall_policy': {'key': 'properties.firewallPolicy', 'type': 'SubResource'}, + 'hub_ip_addresses': {'key': 'properties.hubIpAddresses', 'type': 'HubIPAddresses'}, + 'ip_groups': {'key': 'properties.ipGroups', 'type': '[AzureFirewallIpGroups]'}, + 'sku': {'key': 'properties.sku', 'type': 'AzureFirewallSku'}, + 'additional_properties': {'key': 'properties.additionalProperties', 'type': '{str}'}, + 'zones': {'key': 'zones', 'type': '[str]'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AzureFirewall, self).__init__(**kwargs) + self.application_rule_collections = kwargs.get('application_rule_collections', None) + self.nat_rule_collections = kwargs.get('nat_rule_collections', None) + self.network_rule_collections = kwargs.get('network_rule_collections', None) + self.ip_configurations = kwargs.get('ip_configurations', None) + self.management_ip_configuration = kwargs.get('management_ip_configuration', None) + self.provisioning_state = None + self.threat_intel_mode = kwargs.get('threat_intel_mode', None) + self.virtual_hub = kwargs.get('virtual_hub', None) + self.firewall_policy = kwargs.get('firewall_policy', None) + self.hub_ip_addresses = kwargs.get('hub_ip_addresses', None) + self.ip_groups = None + self.sku = kwargs.get('sku', None) + self.additional_properties = kwargs.get('additional_properties', None) + self.zones = kwargs.get('zones', None) + self.etag = None + + +class AzureFirewallApplicationRule(Model): + """Properties of an application rule. + + :param name: Name of the application rule. + :type name: str + :param description: Description of the rule. + :type description: str + :param source_addresses: List of source IP addresses for this rule. + :type source_addresses: list[str] + :param protocols: Array of ApplicationRuleProtocols. + :type protocols: + list[~azure.mgmt.network.v2020_05_01.models.AzureFirewallApplicationRuleProtocol] + :param target_fqdns: List of FQDNs for this rule. + :type target_fqdns: list[str] + :param fqdn_tags: List of FQDN Tags for this rule. + :type fqdn_tags: list[str] + :param source_ip_groups: List of source IpGroups for this rule. + :type source_ip_groups: list[str] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'source_addresses': {'key': 'sourceAddresses', 'type': '[str]'}, + 'protocols': {'key': 'protocols', 'type': '[AzureFirewallApplicationRuleProtocol]'}, + 'target_fqdns': {'key': 'targetFqdns', 'type': '[str]'}, + 'fqdn_tags': {'key': 'fqdnTags', 'type': '[str]'}, + 'source_ip_groups': {'key': 'sourceIpGroups', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(AzureFirewallApplicationRule, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.description = kwargs.get('description', None) + self.source_addresses = kwargs.get('source_addresses', None) + self.protocols = kwargs.get('protocols', None) + self.target_fqdns = kwargs.get('target_fqdns', None) + self.fqdn_tags = kwargs.get('fqdn_tags', None) + self.source_ip_groups = kwargs.get('source_ip_groups', None) + + +class AzureFirewallApplicationRuleCollection(SubResource): + """Application rule collection resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param priority: Priority of the application rule collection resource. + :type priority: int + :param action: The action type of a rule collection. + :type action: ~azure.mgmt.network.v2020_05_01.models.AzureFirewallRCAction + :param rules: Collection of rules used by a application rule collection. + :type rules: + list[~azure.mgmt.network.v2020_05_01.models.AzureFirewallApplicationRule] + :ivar provisioning_state: The provisioning state of the application rule + collection resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: The name of the resource that is unique within the Azure + firewall. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'priority': {'maximum': 65000, 'minimum': 100}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'priority': {'key': 'properties.priority', 'type': 'int'}, + 'action': {'key': 'properties.action', 'type': 'AzureFirewallRCAction'}, + 'rules': {'key': 'properties.rules', 'type': '[AzureFirewallApplicationRule]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AzureFirewallApplicationRuleCollection, self).__init__(**kwargs) + self.priority = kwargs.get('priority', None) + self.action = kwargs.get('action', None) + self.rules = kwargs.get('rules', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = None + + +class AzureFirewallApplicationRuleProtocol(Model): + """Properties of the application rule protocol. + + :param protocol_type: Protocol type. Possible values include: 'Http', + 'Https', 'Mssql' + :type protocol_type: str or + ~azure.mgmt.network.v2020_05_01.models.AzureFirewallApplicationRuleProtocolType + :param port: Port number for the protocol, cannot be greater than 64000. + This field is optional. + :type port: int + """ + + _validation = { + 'port': {'maximum': 64000, 'minimum': 0}, + } + + _attribute_map = { + 'protocol_type': {'key': 'protocolType', 'type': 'str'}, + 'port': {'key': 'port', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(AzureFirewallApplicationRuleProtocol, self).__init__(**kwargs) + self.protocol_type = kwargs.get('protocol_type', None) + self.port = kwargs.get('port', None) + + +class AzureFirewallFqdnTag(Resource): + """Azure Firewall FQDN Tag Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar provisioning_state: The provisioning state of the Azure firewall + FQDN tag resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :ivar fqdn_tag_name: The name of this FQDN Tag. + :vartype fqdn_tag_name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'fqdn_tag_name': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'fqdn_tag_name': {'key': 'properties.fqdnTagName', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AzureFirewallFqdnTag, self).__init__(**kwargs) + self.provisioning_state = None + self.fqdn_tag_name = None + self.etag = None + + +class AzureFirewallIPConfiguration(SubResource): + """IP configuration of an Azure Firewall. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar private_ip_address: The Firewall Internal Load Balancer IP to be + used as the next hop in User Defined Routes. + :vartype private_ip_address: str + :param subnet: Reference to the subnet resource. This resource must be + named 'AzureFirewallSubnet' or 'AzureFirewallManagementSubnet'. + :type subnet: ~azure.mgmt.network.v2020_05_01.models.SubResource + :param public_ip_address: Reference to the PublicIP resource. This field + is a mandatory input if subnet is not null. + :type public_ip_address: + ~azure.mgmt.network.v2020_05_01.models.SubResource + :ivar provisioning_state: The provisioning state of the Azure firewall IP + configuration resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: Name of the resource that is unique within a resource group. + This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'private_ip_address': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, + 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, + 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'SubResource'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AzureFirewallIPConfiguration, self).__init__(**kwargs) + self.private_ip_address = None + self.subnet = kwargs.get('subnet', None) + self.public_ip_address = kwargs.get('public_ip_address', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = None + self.type = None + + +class AzureFirewallIpGroups(Model): + """IpGroups associated with azure firewall. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar change_number: The iteration number. + :vartype change_number: str + """ + + _validation = { + 'id': {'readonly': True}, + 'change_number': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'change_number': {'key': 'changeNumber', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AzureFirewallIpGroups, self).__init__(**kwargs) + self.id = None + self.change_number = None + + +class AzureFirewallNatRCAction(Model): + """AzureFirewall NAT Rule Collection Action. + + :param type: The type of action. Possible values include: 'Snat', 'Dnat' + :type type: str or + ~azure.mgmt.network.v2020_05_01.models.AzureFirewallNatRCActionType + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AzureFirewallNatRCAction, self).__init__(**kwargs) + self.type = kwargs.get('type', None) + + +class AzureFirewallNatRule(Model): + """Properties of a NAT rule. + + :param name: Name of the NAT rule. + :type name: str + :param description: Description of the rule. + :type description: str + :param source_addresses: List of source IP addresses for this rule. + :type source_addresses: list[str] + :param destination_addresses: List of destination IP addresses for this + rule. Supports IP ranges, prefixes, and service tags. + :type destination_addresses: list[str] + :param destination_ports: List of destination ports. + :type destination_ports: list[str] + :param protocols: Array of AzureFirewallNetworkRuleProtocols applicable to + this NAT rule. + :type protocols: list[str or + ~azure.mgmt.network.v2020_05_01.models.AzureFirewallNetworkRuleProtocol] + :param translated_address: The translated address for this NAT rule. + :type translated_address: str + :param translated_port: The translated port for this NAT rule. + :type translated_port: str + :param translated_fqdn: The translated FQDN for this NAT rule. + :type translated_fqdn: str + :param source_ip_groups: List of source IpGroups for this rule. + :type source_ip_groups: list[str] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'source_addresses': {'key': 'sourceAddresses', 'type': '[str]'}, + 'destination_addresses': {'key': 'destinationAddresses', 'type': '[str]'}, + 'destination_ports': {'key': 'destinationPorts', 'type': '[str]'}, + 'protocols': {'key': 'protocols', 'type': '[str]'}, + 'translated_address': {'key': 'translatedAddress', 'type': 'str'}, + 'translated_port': {'key': 'translatedPort', 'type': 'str'}, + 'translated_fqdn': {'key': 'translatedFqdn', 'type': 'str'}, + 'source_ip_groups': {'key': 'sourceIpGroups', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(AzureFirewallNatRule, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.description = kwargs.get('description', None) + self.source_addresses = kwargs.get('source_addresses', None) + self.destination_addresses = kwargs.get('destination_addresses', None) + self.destination_ports = kwargs.get('destination_ports', None) + self.protocols = kwargs.get('protocols', None) + self.translated_address = kwargs.get('translated_address', None) + self.translated_port = kwargs.get('translated_port', None) + self.translated_fqdn = kwargs.get('translated_fqdn', None) + self.source_ip_groups = kwargs.get('source_ip_groups', None) + + +class AzureFirewallNatRuleCollection(SubResource): + """NAT rule collection resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param priority: Priority of the NAT rule collection resource. + :type priority: int + :param action: The action type of a NAT rule collection. + :type action: + ~azure.mgmt.network.v2020_05_01.models.AzureFirewallNatRCAction + :param rules: Collection of rules used by a NAT rule collection. + :type rules: + list[~azure.mgmt.network.v2020_05_01.models.AzureFirewallNatRule] + :ivar provisioning_state: The provisioning state of the NAT rule + collection resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: The name of the resource that is unique within the Azure + firewall. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'priority': {'maximum': 65000, 'minimum': 100}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'priority': {'key': 'properties.priority', 'type': 'int'}, + 'action': {'key': 'properties.action', 'type': 'AzureFirewallNatRCAction'}, + 'rules': {'key': 'properties.rules', 'type': '[AzureFirewallNatRule]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AzureFirewallNatRuleCollection, self).__init__(**kwargs) + self.priority = kwargs.get('priority', None) + self.action = kwargs.get('action', None) + self.rules = kwargs.get('rules', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = None + + +class AzureFirewallNetworkRule(Model): + """Properties of the network rule. + + :param name: Name of the network rule. + :type name: str + :param description: Description of the rule. + :type description: str + :param protocols: Array of AzureFirewallNetworkRuleProtocols. + :type protocols: list[str or + ~azure.mgmt.network.v2020_05_01.models.AzureFirewallNetworkRuleProtocol] + :param source_addresses: List of source IP addresses for this rule. + :type source_addresses: list[str] + :param destination_addresses: List of destination IP addresses. + :type destination_addresses: list[str] + :param destination_ports: List of destination ports. + :type destination_ports: list[str] + :param destination_fqdns: List of destination FQDNs. + :type destination_fqdns: list[str] + :param source_ip_groups: List of source IpGroups for this rule. + :type source_ip_groups: list[str] + :param destination_ip_groups: List of destination IpGroups for this rule. + :type destination_ip_groups: list[str] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'protocols': {'key': 'protocols', 'type': '[str]'}, + 'source_addresses': {'key': 'sourceAddresses', 'type': '[str]'}, + 'destination_addresses': {'key': 'destinationAddresses', 'type': '[str]'}, + 'destination_ports': {'key': 'destinationPorts', 'type': '[str]'}, + 'destination_fqdns': {'key': 'destinationFqdns', 'type': '[str]'}, + 'source_ip_groups': {'key': 'sourceIpGroups', 'type': '[str]'}, + 'destination_ip_groups': {'key': 'destinationIpGroups', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(AzureFirewallNetworkRule, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.description = kwargs.get('description', None) + self.protocols = kwargs.get('protocols', None) + self.source_addresses = kwargs.get('source_addresses', None) + self.destination_addresses = kwargs.get('destination_addresses', None) + self.destination_ports = kwargs.get('destination_ports', None) + self.destination_fqdns = kwargs.get('destination_fqdns', None) + self.source_ip_groups = kwargs.get('source_ip_groups', None) + self.destination_ip_groups = kwargs.get('destination_ip_groups', None) + + +class AzureFirewallNetworkRuleCollection(SubResource): + """Network rule collection resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param priority: Priority of the network rule collection resource. + :type priority: int + :param action: The action type of a rule collection. + :type action: ~azure.mgmt.network.v2020_05_01.models.AzureFirewallRCAction + :param rules: Collection of rules used by a network rule collection. + :type rules: + list[~azure.mgmt.network.v2020_05_01.models.AzureFirewallNetworkRule] + :ivar provisioning_state: The provisioning state of the network rule + collection resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: The name of the resource that is unique within the Azure + firewall. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'priority': {'maximum': 65000, 'minimum': 100}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'priority': {'key': 'properties.priority', 'type': 'int'}, + 'action': {'key': 'properties.action', 'type': 'AzureFirewallRCAction'}, + 'rules': {'key': 'properties.rules', 'type': '[AzureFirewallNetworkRule]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AzureFirewallNetworkRuleCollection, self).__init__(**kwargs) + self.priority = kwargs.get('priority', None) + self.action = kwargs.get('action', None) + self.rules = kwargs.get('rules', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = None + + +class AzureFirewallPublicIPAddress(Model): + """Public IP Address associated with azure firewall. + + :param address: Public IP Address value. + :type address: str + """ + + _attribute_map = { + 'address': {'key': 'address', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AzureFirewallPublicIPAddress, self).__init__(**kwargs) + self.address = kwargs.get('address', None) + + +class AzureFirewallRCAction(Model): + """Properties of the AzureFirewallRCAction. + + :param type: The type of action. Possible values include: 'Allow', 'Deny' + :type type: str or + ~azure.mgmt.network.v2020_05_01.models.AzureFirewallRCActionType + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AzureFirewallRCAction, self).__init__(**kwargs) + self.type = kwargs.get('type', None) + + +class AzureFirewallSku(Model): + """SKU of an Azure Firewall. + + :param name: Name of an Azure Firewall SKU. Possible values include: + 'AZFW_VNet', 'AZFW_Hub' + :type name: str or + ~azure.mgmt.network.v2020_05_01.models.AzureFirewallSkuName + :param tier: Tier of an Azure Firewall. Possible values include: + 'Standard', 'Premium' + :type tier: str or + ~azure.mgmt.network.v2020_05_01.models.AzureFirewallSkuTier + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AzureFirewallSku, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.tier = kwargs.get('tier', None) + + +class AzureReachabilityReport(Model): + """Azure reachability report details. + + All required parameters must be populated in order to send to Azure. + + :param aggregation_level: Required. The aggregation level of Azure + reachability report. Can be Country, State or City. + :type aggregation_level: str + :param provider_location: Required. Parameters that define a geographic + location. + :type provider_location: + ~azure.mgmt.network.v2020_05_01.models.AzureReachabilityReportLocation + :param reachability_report: Required. List of Azure reachability report + items. + :type reachability_report: + list[~azure.mgmt.network.v2020_05_01.models.AzureReachabilityReportItem] + """ + + _validation = { + 'aggregation_level': {'required': True}, + 'provider_location': {'required': True}, + 'reachability_report': {'required': True}, + } + + _attribute_map = { + 'aggregation_level': {'key': 'aggregationLevel', 'type': 'str'}, + 'provider_location': {'key': 'providerLocation', 'type': 'AzureReachabilityReportLocation'}, + 'reachability_report': {'key': 'reachabilityReport', 'type': '[AzureReachabilityReportItem]'}, + } + + def __init__(self, **kwargs): + super(AzureReachabilityReport, self).__init__(**kwargs) + self.aggregation_level = kwargs.get('aggregation_level', None) + self.provider_location = kwargs.get('provider_location', None) + self.reachability_report = kwargs.get('reachability_report', None) + + +class AzureReachabilityReportItem(Model): + """Azure reachability report details for a given provider location. + + :param provider: The Internet service provider. + :type provider: str + :param azure_location: The Azure region. + :type azure_location: str + :param latencies: List of latency details for each of the time series. + :type latencies: + list[~azure.mgmt.network.v2020_05_01.models.AzureReachabilityReportLatencyInfo] + """ + + _attribute_map = { + 'provider': {'key': 'provider', 'type': 'str'}, + 'azure_location': {'key': 'azureLocation', 'type': 'str'}, + 'latencies': {'key': 'latencies', 'type': '[AzureReachabilityReportLatencyInfo]'}, + } + + def __init__(self, **kwargs): + super(AzureReachabilityReportItem, self).__init__(**kwargs) + self.provider = kwargs.get('provider', None) + self.azure_location = kwargs.get('azure_location', None) + self.latencies = kwargs.get('latencies', None) + + +class AzureReachabilityReportLatencyInfo(Model): + """Details on latency for a time series. + + :param time_stamp: The time stamp. + :type time_stamp: datetime + :param score: The relative latency score between 1 and 100, higher values + indicating a faster connection. + :type score: int + """ + + _validation = { + 'score': {'maximum': 100, 'minimum': 1}, + } + + _attribute_map = { + 'time_stamp': {'key': 'timeStamp', 'type': 'iso-8601'}, + 'score': {'key': 'score', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(AzureReachabilityReportLatencyInfo, self).__init__(**kwargs) + self.time_stamp = kwargs.get('time_stamp', None) + self.score = kwargs.get('score', None) + + +class AzureReachabilityReportLocation(Model): + """Parameters that define a geographic location. + + All required parameters must be populated in order to send to Azure. + + :param country: Required. The name of the country. + :type country: str + :param state: The name of the state. + :type state: str + :param city: The name of the city or town. + :type city: str + """ + + _validation = { + 'country': {'required': True}, + } + + _attribute_map = { + 'country': {'key': 'country', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + 'city': {'key': 'city', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AzureReachabilityReportLocation, self).__init__(**kwargs) + self.country = kwargs.get('country', None) + self.state = kwargs.get('state', None) + self.city = kwargs.get('city', None) + + +class AzureReachabilityReportParameters(Model): + """Geographic and time constraints for Azure reachability report. + + All required parameters must be populated in order to send to Azure. + + :param provider_location: Required. Parameters that define a geographic + location. + :type provider_location: + ~azure.mgmt.network.v2020_05_01.models.AzureReachabilityReportLocation + :param providers: List of Internet service providers. + :type providers: list[str] + :param azure_locations: Optional Azure regions to scope the query to. + :type azure_locations: list[str] + :param start_time: Required. The start time for the Azure reachability + report. + :type start_time: datetime + :param end_time: Required. The end time for the Azure reachability report. + :type end_time: datetime + """ + + _validation = { + 'provider_location': {'required': True}, + 'start_time': {'required': True}, + 'end_time': {'required': True}, + } + + _attribute_map = { + 'provider_location': {'key': 'providerLocation', 'type': 'AzureReachabilityReportLocation'}, + 'providers': {'key': 'providers', 'type': '[str]'}, + 'azure_locations': {'key': 'azureLocations', 'type': '[str]'}, + 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, + } + + def __init__(self, **kwargs): + super(AzureReachabilityReportParameters, self).__init__(**kwargs) + self.provider_location = kwargs.get('provider_location', None) + self.providers = kwargs.get('providers', None) + self.azure_locations = kwargs.get('azure_locations', None) + self.start_time = kwargs.get('start_time', None) + self.end_time = kwargs.get('end_time', None) + + +class BackendAddressPool(SubResource): + """Pool of backend IP addresses. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar backend_ip_configurations: An array of references to IP addresses + defined in network interfaces. + :vartype backend_ip_configurations: + list[~azure.mgmt.network.v2020_05_01.models.NetworkInterfaceIPConfiguration] + :param load_balancer_backend_addresses: An array of backend addresses. + :type load_balancer_backend_addresses: + list[~azure.mgmt.network.v2020_05_01.models.LoadBalancerBackendAddress] + :ivar load_balancing_rules: An array of references to load balancing rules + that use this backend address pool. + :vartype load_balancing_rules: + list[~azure.mgmt.network.v2020_05_01.models.SubResource] + :ivar outbound_rule: A reference to an outbound rule that uses this + backend address pool. + :vartype outbound_rule: ~azure.mgmt.network.v2020_05_01.models.SubResource + :ivar outbound_rules: An array of references to outbound rules that use + this backend address pool. + :vartype outbound_rules: + list[~azure.mgmt.network.v2020_05_01.models.SubResource] + :ivar provisioning_state: The provisioning state of the backend address + pool resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: The name of the resource that is unique within the set of + backend address pools used by the load balancer. This name can be used to + access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'backend_ip_configurations': {'readonly': True}, + 'load_balancing_rules': {'readonly': True}, + 'outbound_rule': {'readonly': True}, + 'outbound_rules': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'backend_ip_configurations': {'key': 'properties.backendIPConfigurations', 'type': '[NetworkInterfaceIPConfiguration]'}, + 'load_balancer_backend_addresses': {'key': 'properties.loadBalancerBackendAddresses', 'type': '[LoadBalancerBackendAddress]'}, + 'load_balancing_rules': {'key': 'properties.loadBalancingRules', 'type': '[SubResource]'}, + 'outbound_rule': {'key': 'properties.outboundRule', 'type': 'SubResource'}, + 'outbound_rules': {'key': 'properties.outboundRules', 'type': '[SubResource]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(BackendAddressPool, self).__init__(**kwargs) + self.backend_ip_configurations = None + self.load_balancer_backend_addresses = kwargs.get('load_balancer_backend_addresses', None) + self.load_balancing_rules = None + self.outbound_rule = None + self.outbound_rules = None + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = None + self.type = None + + +class BastionActiveSession(Model): + """The session detail for a target. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar session_id: A unique id for the session. + :vartype session_id: str + :ivar start_time: The time when the session started. + :vartype start_time: object + :ivar target_subscription_id: The subscription id for the target virtual + machine. + :vartype target_subscription_id: str + :ivar resource_type: The type of the resource. + :vartype resource_type: str + :ivar target_host_name: The host name of the target. + :vartype target_host_name: str + :ivar target_resource_group: The resource group of the target. + :vartype target_resource_group: str + :ivar user_name: The user name who is active on this session. + :vartype user_name: str + :ivar target_ip_address: The IP Address of the target. + :vartype target_ip_address: str + :ivar protocol: The protocol used to connect to the target. Possible + values include: 'SSH', 'RDP' + :vartype protocol: str or + ~azure.mgmt.network.v2020_05_01.models.BastionConnectProtocol + :ivar target_resource_id: The resource id of the target. + :vartype target_resource_id: str + :ivar session_duration_in_mins: Duration in mins the session has been + active. + :vartype session_duration_in_mins: float + """ + + _validation = { + 'session_id': {'readonly': True}, + 'start_time': {'readonly': True}, + 'target_subscription_id': {'readonly': True}, + 'resource_type': {'readonly': True}, + 'target_host_name': {'readonly': True}, + 'target_resource_group': {'readonly': True}, + 'user_name': {'readonly': True}, + 'target_ip_address': {'readonly': True}, + 'protocol': {'readonly': True}, + 'target_resource_id': {'readonly': True}, + 'session_duration_in_mins': {'readonly': True}, + } + + _attribute_map = { + 'session_id': {'key': 'sessionId', 'type': 'str'}, + 'start_time': {'key': 'startTime', 'type': 'object'}, + 'target_subscription_id': {'key': 'targetSubscriptionId', 'type': 'str'}, + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'target_host_name': {'key': 'targetHostName', 'type': 'str'}, + 'target_resource_group': {'key': 'targetResourceGroup', 'type': 'str'}, + 'user_name': {'key': 'userName', 'type': 'str'}, + 'target_ip_address': {'key': 'targetIpAddress', 'type': 'str'}, + 'protocol': {'key': 'protocol', 'type': 'str'}, + 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, + 'session_duration_in_mins': {'key': 'sessionDurationInMins', 'type': 'float'}, + } + + def __init__(self, **kwargs): + super(BastionActiveSession, self).__init__(**kwargs) + self.session_id = None + self.start_time = None + self.target_subscription_id = None + self.resource_type = None + self.target_host_name = None + self.target_resource_group = None + self.user_name = None + self.target_ip_address = None + self.protocol = None + self.target_resource_id = None + self.session_duration_in_mins = None + + +class BastionActiveSessionListResult(Model): + """Response for GetActiveSessions. + + :param value: List of active sessions on the bastion. + :type value: + list[~azure.mgmt.network.v2020_05_01.models.BastionActiveSession] + :param next_link: The URL to get the next set of results. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[BastionActiveSession]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(BastionActiveSessionListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class BastionHost(Resource): + """Bastion Host resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param ip_configurations: IP configuration of the Bastion Host resource. + :type ip_configurations: + list[~azure.mgmt.network.v2020_05_01.models.BastionHostIPConfiguration] + :param dns_name: FQDN for the endpoint on which bastion host is + accessible. + :type dns_name: str + :ivar provisioning_state: The provisioning state of the bastion host + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[BastionHostIPConfiguration]'}, + 'dns_name': {'key': 'properties.dnsName', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(BastionHost, self).__init__(**kwargs) + self.ip_configurations = kwargs.get('ip_configurations', None) + self.dns_name = kwargs.get('dns_name', None) + self.provisioning_state = None + self.etag = None + + +class BastionHostIPConfiguration(SubResource): + """IP configuration of an Bastion Host. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :param subnet: Required. Reference of the subnet resource. + :type subnet: ~azure.mgmt.network.v2020_05_01.models.SubResource + :param public_ip_address: Required. Reference of the PublicIP resource. + :type public_ip_address: + ~azure.mgmt.network.v2020_05_01.models.SubResource + :ivar provisioning_state: The provisioning state of the bastion host IP + configuration resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param private_ip_allocation_method: Private IP allocation method. + Possible values include: 'Static', 'Dynamic' + :type private_ip_allocation_method: str or + ~azure.mgmt.network.v2020_05_01.models.IPAllocationMethod + :param name: Name of the resource that is unique within a resource group. + This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Ip configuration type. + :vartype type: str + """ + + _validation = { + 'subnet': {'required': True}, + 'public_ip_address': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, + 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'SubResource'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(BastionHostIPConfiguration, self).__init__(**kwargs) + self.subnet = kwargs.get('subnet', None) + self.public_ip_address = kwargs.get('public_ip_address', None) + self.provisioning_state = None + self.private_ip_allocation_method = kwargs.get('private_ip_allocation_method', None) + self.name = kwargs.get('name', None) + self.etag = None + self.type = None + + +class BastionSessionState(Model): + """The session state detail for a target. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar session_id: A unique id for the session. + :vartype session_id: str + :ivar message: Used for extra information. + :vartype message: str + :ivar state: The state of the session. Disconnected/Failed/NotFound. + :vartype state: str + """ + + _validation = { + 'session_id': {'readonly': True}, + 'message': {'readonly': True}, + 'state': {'readonly': True}, + } + + _attribute_map = { + 'session_id': {'key': 'sessionId', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(BastionSessionState, self).__init__(**kwargs) + self.session_id = None + self.message = None + self.state = None + + +class BastionShareableLink(Model): + """Bastion Shareable Link. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param vm: Required. Reference of the virtual machine resource. + :type vm: ~azure.mgmt.network.v2020_05_01.models.VM + :ivar bsl: The unique Bastion Shareable Link to the virtual machine. + :vartype bsl: str + :ivar created_at: The time when the link was created. + :vartype created_at: str + :ivar message: Optional field indicating the warning or error message + related to the vm in case of partial failure. + :vartype message: str + """ + + _validation = { + 'vm': {'required': True}, + 'bsl': {'readonly': True}, + 'created_at': {'readonly': True}, + 'message': {'readonly': True}, + } + + _attribute_map = { + 'vm': {'key': 'vm', 'type': 'VM'}, + 'bsl': {'key': 'bsl', 'type': 'str'}, + 'created_at': {'key': 'createdAt', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(BastionShareableLink, self).__init__(**kwargs) + self.vm = kwargs.get('vm', None) + self.bsl = None + self.created_at = None + self.message = None + + +class BastionShareableLinkListRequest(Model): + """Post request for all the Bastion Shareable Link endpoints. + + :param vms: List of VM references. + :type vms: + list[~azure.mgmt.network.v2020_05_01.models.BastionShareableLink] + """ + + _attribute_map = { + 'vms': {'key': 'vms', 'type': '[BastionShareableLink]'}, + } + + def __init__(self, **kwargs): + super(BastionShareableLinkListRequest, self).__init__(**kwargs) + self.vms = kwargs.get('vms', None) + + +class BastionShareableLinkListResult(Model): + """Response for all the Bastion Shareable Link endpoints. + + :param value: List of Bastion Shareable Links for the request. + :type value: + list[~azure.mgmt.network.v2020_05_01.models.BastionShareableLink] + :param next_link: The URL to get the next set of results. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[BastionShareableLink]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(BastionShareableLinkListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class BGPCommunity(Model): + """Contains bgp community information offered in Service Community resources. + + :param service_supported_region: The region which the service support. + e.g. For O365, region is Global. + :type service_supported_region: str + :param community_name: The name of the bgp community. e.g. Skype. + :type community_name: str + :param community_value: The value of the bgp community. For more + information: + https://docs.microsoft.com/en-us/azure/expressroute/expressroute-routing. + :type community_value: str + :param community_prefixes: The prefixes that the bgp community contains. + :type community_prefixes: list[str] + :param is_authorized_to_use: Customer is authorized to use bgp community + or not. + :type is_authorized_to_use: bool + :param service_group: The service group of the bgp community contains. + :type service_group: str + """ + + _attribute_map = { + 'service_supported_region': {'key': 'serviceSupportedRegion', 'type': 'str'}, + 'community_name': {'key': 'communityName', 'type': 'str'}, + 'community_value': {'key': 'communityValue', 'type': 'str'}, + 'community_prefixes': {'key': 'communityPrefixes', 'type': '[str]'}, + 'is_authorized_to_use': {'key': 'isAuthorizedToUse', 'type': 'bool'}, + 'service_group': {'key': 'serviceGroup', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(BGPCommunity, self).__init__(**kwargs) + self.service_supported_region = kwargs.get('service_supported_region', None) + self.community_name = kwargs.get('community_name', None) + self.community_value = kwargs.get('community_value', None) + self.community_prefixes = kwargs.get('community_prefixes', None) + self.is_authorized_to_use = kwargs.get('is_authorized_to_use', None) + self.service_group = kwargs.get('service_group', None) + + +class BgpConnection(SubResource): + """Virtual Appliance Site resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param peer_asn: Peer ASN. + :type peer_asn: long + :param peer_ip: Peer IP. + :type peer_ip: str + :ivar provisioning_state: The provisioning state of the resource. Possible + values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :ivar connection_state: The current state of the VirtualHub to Peer. + Possible values include: 'Unknown', 'Connecting', 'Connected', + 'NotConnected' + :vartype connection_state: str or + ~azure.mgmt.network.v2020_05_01.models.HubBgpConnectionStatus + :param name: Name of the connection. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Connection type. + :vartype type: str + """ + + _validation = { + 'peer_asn': {'maximum': 4294967295, 'minimum': 0}, + 'provisioning_state': {'readonly': True}, + 'connection_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'peer_asn': {'key': 'properties.peerAsn', 'type': 'long'}, + 'peer_ip': {'key': 'properties.peerIp', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'connection_state': {'key': 'properties.connectionState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(BgpConnection, self).__init__(**kwargs) + self.peer_asn = kwargs.get('peer_asn', None) + self.peer_ip = kwargs.get('peer_ip', None) + self.provisioning_state = None + self.connection_state = None + self.name = kwargs.get('name', None) + self.etag = None + self.type = None + + +class BgpPeerStatus(Model): + """BGP peer status details. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar local_address: The virtual network gateway's local address. + :vartype local_address: str + :ivar neighbor: The remote BGP peer. + :vartype neighbor: str + :ivar asn: The autonomous system number of the remote BGP peer. + :vartype asn: long + :ivar state: The BGP peer state. Possible values include: 'Unknown', + 'Stopped', 'Idle', 'Connecting', 'Connected' + :vartype state: str or ~azure.mgmt.network.v2020_05_01.models.BgpPeerState + :ivar connected_duration: For how long the peering has been up. + :vartype connected_duration: str + :ivar routes_received: The number of routes learned from this peer. + :vartype routes_received: long + :ivar messages_sent: The number of BGP messages sent. + :vartype messages_sent: long + :ivar messages_received: The number of BGP messages received. + :vartype messages_received: long + """ + + _validation = { + 'local_address': {'readonly': True}, + 'neighbor': {'readonly': True}, + 'asn': {'readonly': True, 'maximum': 4294967295, 'minimum': 0}, + 'state': {'readonly': True}, + 'connected_duration': {'readonly': True}, + 'routes_received': {'readonly': True}, + 'messages_sent': {'readonly': True}, + 'messages_received': {'readonly': True}, + } + + _attribute_map = { + 'local_address': {'key': 'localAddress', 'type': 'str'}, + 'neighbor': {'key': 'neighbor', 'type': 'str'}, + 'asn': {'key': 'asn', 'type': 'long'}, + 'state': {'key': 'state', 'type': 'str'}, + 'connected_duration': {'key': 'connectedDuration', 'type': 'str'}, + 'routes_received': {'key': 'routesReceived', 'type': 'long'}, + 'messages_sent': {'key': 'messagesSent', 'type': 'long'}, + 'messages_received': {'key': 'messagesReceived', 'type': 'long'}, + } + + def __init__(self, **kwargs): + super(BgpPeerStatus, self).__init__(**kwargs) + self.local_address = None + self.neighbor = None + self.asn = None + self.state = None + self.connected_duration = None + self.routes_received = None + self.messages_sent = None + self.messages_received = None + + +class BgpPeerStatusListResult(Model): + """Response for list BGP peer status API service call. + + :param value: List of BGP peers. + :type value: list[~azure.mgmt.network.v2020_05_01.models.BgpPeerStatus] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[BgpPeerStatus]'}, + } + + def __init__(self, **kwargs): + super(BgpPeerStatusListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + + +class BgpServiceCommunity(Resource): + """Service Community Properties. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param service_name: The name of the bgp community. e.g. Skype. + :type service_name: str + :param bgp_communities: A list of bgp communities. + :type bgp_communities: + list[~azure.mgmt.network.v2020_05_01.models.BGPCommunity] + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'service_name': {'key': 'properties.serviceName', 'type': 'str'}, + 'bgp_communities': {'key': 'properties.bgpCommunities', 'type': '[BGPCommunity]'}, + } + + def __init__(self, **kwargs): + super(BgpServiceCommunity, self).__init__(**kwargs) + self.service_name = kwargs.get('service_name', None) + self.bgp_communities = kwargs.get('bgp_communities', None) + + +class BgpSettings(Model): + """BGP settings details. + + :param asn: The BGP speaker's ASN. + :type asn: long + :param bgp_peering_address: The BGP peering address and BGP identifier of + this BGP speaker. + :type bgp_peering_address: str + :param peer_weight: The weight added to routes learned from this BGP + speaker. + :type peer_weight: int + :param bgp_peering_addresses: BGP peering address with IP configuration ID + for virtual network gateway. + :type bgp_peering_addresses: + list[~azure.mgmt.network.v2020_05_01.models.IPConfigurationBgpPeeringAddress] + """ + + _validation = { + 'asn': {'maximum': 4294967295, 'minimum': 0}, + } + + _attribute_map = { + 'asn': {'key': 'asn', 'type': 'long'}, + 'bgp_peering_address': {'key': 'bgpPeeringAddress', 'type': 'str'}, + 'peer_weight': {'key': 'peerWeight', 'type': 'int'}, + 'bgp_peering_addresses': {'key': 'bgpPeeringAddresses', 'type': '[IPConfigurationBgpPeeringAddress]'}, + } + + def __init__(self, **kwargs): + super(BgpSettings, self).__init__(**kwargs) + self.asn = kwargs.get('asn', None) + self.bgp_peering_address = kwargs.get('bgp_peering_address', None) + self.peer_weight = kwargs.get('peer_weight', None) + self.bgp_peering_addresses = kwargs.get('bgp_peering_addresses', None) + + +class BreakOutCategoryPolicies(Model): + """Network Virtual Appliance Sku Properties. + + :param allow: Flag to control breakout of o365 allow category. + :type allow: bool + :param optimize: Flag to control breakout of o365 optimize category. + :type optimize: bool + :param default: Flag to control breakout of o365 default category. + :type default: bool + """ + + _attribute_map = { + 'allow': {'key': 'allow', 'type': 'bool'}, + 'optimize': {'key': 'optimize', 'type': 'bool'}, + 'default': {'key': 'default', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(BreakOutCategoryPolicies, self).__init__(**kwargs) + self.allow = kwargs.get('allow', None) + self.optimize = kwargs.get('optimize', None) + self.default = kwargs.get('default', None) + + +class CheckPrivateLinkServiceVisibilityRequest(Model): + """Request body of the CheckPrivateLinkServiceVisibility API service call. + + :param private_link_service_alias: The alias of the private link service. + :type private_link_service_alias: str + """ + + _attribute_map = { + 'private_link_service_alias': {'key': 'privateLinkServiceAlias', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(CheckPrivateLinkServiceVisibilityRequest, self).__init__(**kwargs) + self.private_link_service_alias = kwargs.get('private_link_service_alias', None) + + +class CloudError(Model): + """An error response from the service. + + :param error: Cloud error body. + :type error: ~azure.mgmt.network.v2020_05_01.models.CloudErrorBody + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'CloudErrorBody'}, + } + + def __init__(self, **kwargs): + super(CloudError, self).__init__(**kwargs) + self.error = kwargs.get('error', None) + + +class CloudErrorException(HttpOperationError): + """Server responsed with exception of type: 'CloudError'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(CloudErrorException, self).__init__(deserialize, response, 'CloudError', *args) + + +class CloudErrorBody(Model): + """An error response from the service. + + :param code: An identifier for the error. Codes are invariant and are + intended to be consumed programmatically. + :type code: str + :param message: A message describing the error, intended to be suitable + for display in a user interface. + :type message: str + :param target: The target of the particular error. For example, the name + of the property in error. + :type target: str + :param details: A list of additional details about the error. + :type details: list[~azure.mgmt.network.v2020_05_01.models.CloudErrorBody] + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[CloudErrorBody]'}, + } + + def __init__(self, **kwargs): + super(CloudErrorBody, self).__init__(**kwargs) + self.code = kwargs.get('code', None) + self.message = kwargs.get('message', None) + self.target = kwargs.get('target', None) + self.details = kwargs.get('details', None) + + +class ConnectionMonitor(Model): + """Parameters that define the operation to create a connection monitor. + + :param location: Connection monitor location. + :type location: str + :param tags: Connection monitor tags. + :type tags: dict[str, str] + :param source: Describes the source of connection monitor. + :type source: + ~azure.mgmt.network.v2020_05_01.models.ConnectionMonitorSource + :param destination: Describes the destination of connection monitor. + :type destination: + ~azure.mgmt.network.v2020_05_01.models.ConnectionMonitorDestination + :param auto_start: Determines if the connection monitor will start + automatically once created. Default value: True . + :type auto_start: bool + :param monitoring_interval_in_seconds: Monitoring interval in seconds. + Default value: 60 . + :type monitoring_interval_in_seconds: int + :param endpoints: List of connection monitor endpoints. + :type endpoints: + list[~azure.mgmt.network.v2020_05_01.models.ConnectionMonitorEndpoint] + :param test_configurations: List of connection monitor test + configurations. + :type test_configurations: + list[~azure.mgmt.network.v2020_05_01.models.ConnectionMonitorTestConfiguration] + :param test_groups: List of connection monitor test groups. + :type test_groups: + list[~azure.mgmt.network.v2020_05_01.models.ConnectionMonitorTestGroup] + :param outputs: List of connection monitor outputs. + :type outputs: + list[~azure.mgmt.network.v2020_05_01.models.ConnectionMonitorOutput] + :param notes: Optional notes to be associated with the connection monitor. + :type notes: str + """ + + _attribute_map = { + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'source': {'key': 'properties.source', 'type': 'ConnectionMonitorSource'}, + 'destination': {'key': 'properties.destination', 'type': 'ConnectionMonitorDestination'}, + 'auto_start': {'key': 'properties.autoStart', 'type': 'bool'}, + 'monitoring_interval_in_seconds': {'key': 'properties.monitoringIntervalInSeconds', 'type': 'int'}, + 'endpoints': {'key': 'properties.endpoints', 'type': '[ConnectionMonitorEndpoint]'}, + 'test_configurations': {'key': 'properties.testConfigurations', 'type': '[ConnectionMonitorTestConfiguration]'}, + 'test_groups': {'key': 'properties.testGroups', 'type': '[ConnectionMonitorTestGroup]'}, + 'outputs': {'key': 'properties.outputs', 'type': '[ConnectionMonitorOutput]'}, + 'notes': {'key': 'properties.notes', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ConnectionMonitor, self).__init__(**kwargs) + self.location = kwargs.get('location', None) + self.tags = kwargs.get('tags', None) + self.source = kwargs.get('source', None) + self.destination = kwargs.get('destination', None) + self.auto_start = kwargs.get('auto_start', True) + self.monitoring_interval_in_seconds = kwargs.get('monitoring_interval_in_seconds', 60) + self.endpoints = kwargs.get('endpoints', None) + self.test_configurations = kwargs.get('test_configurations', None) + self.test_groups = kwargs.get('test_groups', None) + self.outputs = kwargs.get('outputs', None) + self.notes = kwargs.get('notes', None) + + +class ConnectionMonitorDestination(Model): + """Describes the destination of connection monitor. + + :param resource_id: The ID of the resource used as the destination by + connection monitor. + :type resource_id: str + :param address: Address of the connection monitor destination (IP or + domain name). + :type address: str + :param port: The destination port used by connection monitor. + :type port: int + """ + + _attribute_map = { + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + 'address': {'key': 'address', 'type': 'str'}, + 'port': {'key': 'port', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(ConnectionMonitorDestination, self).__init__(**kwargs) + self.resource_id = kwargs.get('resource_id', None) + self.address = kwargs.get('address', None) + self.port = kwargs.get('port', None) + + +class ConnectionMonitorEndpoint(Model): + """Describes the connection monitor endpoint. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. The name of the connection monitor endpoint. + :type name: str + :param resource_id: Resource ID of the connection monitor endpoint. + :type resource_id: str + :param address: Address of the connection monitor endpoint (IP or domain + name). + :type address: str + :param filter: Filter for sub-items within the endpoint. + :type filter: + ~azure.mgmt.network.v2020_05_01.models.ConnectionMonitorEndpointFilter + """ + + _validation = { + 'name': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + 'address': {'key': 'address', 'type': 'str'}, + 'filter': {'key': 'filter', 'type': 'ConnectionMonitorEndpointFilter'}, + } + + def __init__(self, **kwargs): + super(ConnectionMonitorEndpoint, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.resource_id = kwargs.get('resource_id', None) + self.address = kwargs.get('address', None) + self.filter = kwargs.get('filter', None) + + +class ConnectionMonitorEndpointFilter(Model): + """Describes the connection monitor endpoint filter. + + :param type: The behavior of the endpoint filter. Currently only 'Include' + is supported. Possible values include: 'Include' + :type type: str or + ~azure.mgmt.network.v2020_05_01.models.ConnectionMonitorEndpointFilterType + :param items: List of items in the filter. + :type items: + list[~azure.mgmt.network.v2020_05_01.models.ConnectionMonitorEndpointFilterItem] + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'items': {'key': 'items', 'type': '[ConnectionMonitorEndpointFilterItem]'}, + } + + def __init__(self, **kwargs): + super(ConnectionMonitorEndpointFilter, self).__init__(**kwargs) + self.type = kwargs.get('type', None) + self.items = kwargs.get('items', None) + + +class ConnectionMonitorEndpointFilterItem(Model): + """Describes the connection monitor endpoint filter item. + + :param type: The type of item included in the filter. Currently only + 'AgentAddress' is supported. Possible values include: 'AgentAddress' + :type type: str or + ~azure.mgmt.network.v2020_05_01.models.ConnectionMonitorEndpointFilterItemType + :param address: The address of the filter item. + :type address: str + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'address': {'key': 'address', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ConnectionMonitorEndpointFilterItem, self).__init__(**kwargs) + self.type = kwargs.get('type', None) + self.address = kwargs.get('address', None) + + +class ConnectionMonitorHttpConfiguration(Model): + """Describes the HTTP configuration. + + :param port: The port to connect to. + :type port: int + :param method: The HTTP method to use. Possible values include: 'Get', + 'Post' + :type method: str or + ~azure.mgmt.network.v2020_05_01.models.HTTPConfigurationMethod + :param path: The path component of the URI. For instance, "/dir1/dir2". + :type path: str + :param request_headers: The HTTP headers to transmit with the request. + :type request_headers: + list[~azure.mgmt.network.v2020_05_01.models.HTTPHeader] + :param valid_status_code_ranges: HTTP status codes to consider successful. + For instance, "2xx,301-304,418". + :type valid_status_code_ranges: list[str] + :param prefer_https: Value indicating whether HTTPS is preferred over HTTP + in cases where the choice is not explicit. + :type prefer_https: bool + """ + + _attribute_map = { + 'port': {'key': 'port', 'type': 'int'}, + 'method': {'key': 'method', 'type': 'str'}, + 'path': {'key': 'path', 'type': 'str'}, + 'request_headers': {'key': 'requestHeaders', 'type': '[HTTPHeader]'}, + 'valid_status_code_ranges': {'key': 'validStatusCodeRanges', 'type': '[str]'}, + 'prefer_https': {'key': 'preferHTTPS', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(ConnectionMonitorHttpConfiguration, self).__init__(**kwargs) + self.port = kwargs.get('port', None) + self.method = kwargs.get('method', None) + self.path = kwargs.get('path', None) + self.request_headers = kwargs.get('request_headers', None) + self.valid_status_code_ranges = kwargs.get('valid_status_code_ranges', None) + self.prefer_https = kwargs.get('prefer_https', None) + + +class ConnectionMonitorIcmpConfiguration(Model): + """Describes the ICMP configuration. + + :param disable_trace_route: Value indicating whether path evaluation with + trace route should be disabled. + :type disable_trace_route: bool + """ + + _attribute_map = { + 'disable_trace_route': {'key': 'disableTraceRoute', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(ConnectionMonitorIcmpConfiguration, self).__init__(**kwargs) + self.disable_trace_route = kwargs.get('disable_trace_route', None) + + +class ConnectionMonitorOutput(Model): + """Describes a connection monitor output destination. + + :param type: Connection monitor output destination type. Currently, only + "Workspace" is supported. Possible values include: 'Workspace' + :type type: str or ~azure.mgmt.network.v2020_05_01.models.OutputType + :param workspace_settings: Describes the settings for producing output + into a log analytics workspace. + :type workspace_settings: + ~azure.mgmt.network.v2020_05_01.models.ConnectionMonitorWorkspaceSettings + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'workspace_settings': {'key': 'workspaceSettings', 'type': 'ConnectionMonitorWorkspaceSettings'}, + } + + def __init__(self, **kwargs): + super(ConnectionMonitorOutput, self).__init__(**kwargs) + self.type = kwargs.get('type', None) + self.workspace_settings = kwargs.get('workspace_settings', None) + + +class ConnectionMonitorParameters(Model): + """Parameters that define the operation to create a connection monitor. + + :param source: Describes the source of connection monitor. + :type source: + ~azure.mgmt.network.v2020_05_01.models.ConnectionMonitorSource + :param destination: Describes the destination of connection monitor. + :type destination: + ~azure.mgmt.network.v2020_05_01.models.ConnectionMonitorDestination + :param auto_start: Determines if the connection monitor will start + automatically once created. Default value: True . + :type auto_start: bool + :param monitoring_interval_in_seconds: Monitoring interval in seconds. + Default value: 60 . + :type monitoring_interval_in_seconds: int + :param endpoints: List of connection monitor endpoints. + :type endpoints: + list[~azure.mgmt.network.v2020_05_01.models.ConnectionMonitorEndpoint] + :param test_configurations: List of connection monitor test + configurations. + :type test_configurations: + list[~azure.mgmt.network.v2020_05_01.models.ConnectionMonitorTestConfiguration] + :param test_groups: List of connection monitor test groups. + :type test_groups: + list[~azure.mgmt.network.v2020_05_01.models.ConnectionMonitorTestGroup] + :param outputs: List of connection monitor outputs. + :type outputs: + list[~azure.mgmt.network.v2020_05_01.models.ConnectionMonitorOutput] + :param notes: Optional notes to be associated with the connection monitor. + :type notes: str + """ + + _attribute_map = { + 'source': {'key': 'source', 'type': 'ConnectionMonitorSource'}, + 'destination': {'key': 'destination', 'type': 'ConnectionMonitorDestination'}, + 'auto_start': {'key': 'autoStart', 'type': 'bool'}, + 'monitoring_interval_in_seconds': {'key': 'monitoringIntervalInSeconds', 'type': 'int'}, + 'endpoints': {'key': 'endpoints', 'type': '[ConnectionMonitorEndpoint]'}, + 'test_configurations': {'key': 'testConfigurations', 'type': '[ConnectionMonitorTestConfiguration]'}, + 'test_groups': {'key': 'testGroups', 'type': '[ConnectionMonitorTestGroup]'}, + 'outputs': {'key': 'outputs', 'type': '[ConnectionMonitorOutput]'}, + 'notes': {'key': 'notes', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ConnectionMonitorParameters, self).__init__(**kwargs) + self.source = kwargs.get('source', None) + self.destination = kwargs.get('destination', None) + self.auto_start = kwargs.get('auto_start', True) + self.monitoring_interval_in_seconds = kwargs.get('monitoring_interval_in_seconds', 60) + self.endpoints = kwargs.get('endpoints', None) + self.test_configurations = kwargs.get('test_configurations', None) + self.test_groups = kwargs.get('test_groups', None) + self.outputs = kwargs.get('outputs', None) + self.notes = kwargs.get('notes', None) + + +class ConnectionMonitorQueryResult(Model): + """List of connection states snapshots. + + :param source_status: Status of connection monitor source. Possible values + include: 'Unknown', 'Active', 'Inactive' + :type source_status: str or + ~azure.mgmt.network.v2020_05_01.models.ConnectionMonitorSourceStatus + :param states: Information about connection states. + :type states: + list[~azure.mgmt.network.v2020_05_01.models.ConnectionStateSnapshot] + """ + + _attribute_map = { + 'source_status': {'key': 'sourceStatus', 'type': 'str'}, + 'states': {'key': 'states', 'type': '[ConnectionStateSnapshot]'}, + } + + def __init__(self, **kwargs): + super(ConnectionMonitorQueryResult, self).__init__(**kwargs) + self.source_status = kwargs.get('source_status', None) + self.states = kwargs.get('states', None) + + +class ConnectionMonitorResult(Model): + """Information about the connection monitor. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name: Name of the connection monitor. + :vartype name: str + :ivar id: ID of the connection monitor. + :vartype id: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Connection monitor type. + :vartype type: str + :param location: Connection monitor location. + :type location: str + :param tags: Connection monitor tags. + :type tags: dict[str, str] + :param source: Describes the source of connection monitor. + :type source: + ~azure.mgmt.network.v2020_05_01.models.ConnectionMonitorSource + :param destination: Describes the destination of connection monitor. + :type destination: + ~azure.mgmt.network.v2020_05_01.models.ConnectionMonitorDestination + :param auto_start: Determines if the connection monitor will start + automatically once created. Default value: True . + :type auto_start: bool + :param monitoring_interval_in_seconds: Monitoring interval in seconds. + Default value: 60 . + :type monitoring_interval_in_seconds: int + :param endpoints: List of connection monitor endpoints. + :type endpoints: + list[~azure.mgmt.network.v2020_05_01.models.ConnectionMonitorEndpoint] + :param test_configurations: List of connection monitor test + configurations. + :type test_configurations: + list[~azure.mgmt.network.v2020_05_01.models.ConnectionMonitorTestConfiguration] + :param test_groups: List of connection monitor test groups. + :type test_groups: + list[~azure.mgmt.network.v2020_05_01.models.ConnectionMonitorTestGroup] + :param outputs: List of connection monitor outputs. + :type outputs: + list[~azure.mgmt.network.v2020_05_01.models.ConnectionMonitorOutput] + :param notes: Optional notes to be associated with the connection monitor. + :type notes: str + :ivar provisioning_state: The provisioning state of the connection + monitor. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :ivar start_time: The date and time when the connection monitor was + started. + :vartype start_time: datetime + :ivar monitoring_status: The monitoring status of the connection monitor. + :vartype monitoring_status: str + :ivar connection_monitor_type: Type of connection monitor. Possible values + include: 'MultiEndpoint', 'SingleSourceDestination' + :vartype connection_monitor_type: str or + ~azure.mgmt.network.v2020_05_01.models.ConnectionMonitorType + """ + + _validation = { + 'name': {'readonly': True}, + 'id': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'start_time': {'readonly': True}, + 'monitoring_status': {'readonly': True}, + 'connection_monitor_type': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'source': {'key': 'properties.source', 'type': 'ConnectionMonitorSource'}, + 'destination': {'key': 'properties.destination', 'type': 'ConnectionMonitorDestination'}, + 'auto_start': {'key': 'properties.autoStart', 'type': 'bool'}, + 'monitoring_interval_in_seconds': {'key': 'properties.monitoringIntervalInSeconds', 'type': 'int'}, + 'endpoints': {'key': 'properties.endpoints', 'type': '[ConnectionMonitorEndpoint]'}, + 'test_configurations': {'key': 'properties.testConfigurations', 'type': '[ConnectionMonitorTestConfiguration]'}, + 'test_groups': {'key': 'properties.testGroups', 'type': '[ConnectionMonitorTestGroup]'}, + 'outputs': {'key': 'properties.outputs', 'type': '[ConnectionMonitorOutput]'}, + 'notes': {'key': 'properties.notes', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'start_time': {'key': 'properties.startTime', 'type': 'iso-8601'}, + 'monitoring_status': {'key': 'properties.monitoringStatus', 'type': 'str'}, + 'connection_monitor_type': {'key': 'properties.connectionMonitorType', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ConnectionMonitorResult, self).__init__(**kwargs) + self.name = None + self.id = None + self.etag = None + self.type = None + self.location = kwargs.get('location', None) + self.tags = kwargs.get('tags', None) + self.source = kwargs.get('source', None) + self.destination = kwargs.get('destination', None) + self.auto_start = kwargs.get('auto_start', True) + self.monitoring_interval_in_seconds = kwargs.get('monitoring_interval_in_seconds', 60) + self.endpoints = kwargs.get('endpoints', None) + self.test_configurations = kwargs.get('test_configurations', None) + self.test_groups = kwargs.get('test_groups', None) + self.outputs = kwargs.get('outputs', None) + self.notes = kwargs.get('notes', None) + self.provisioning_state = None + self.start_time = None + self.monitoring_status = None + self.connection_monitor_type = None + + +class ConnectionMonitorSource(Model): + """Describes the source of connection monitor. + + All required parameters must be populated in order to send to Azure. + + :param resource_id: Required. The ID of the resource used as the source by + connection monitor. + :type resource_id: str + :param port: The source port used by connection monitor. + :type port: int + """ + + _validation = { + 'resource_id': {'required': True}, + } + + _attribute_map = { + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + 'port': {'key': 'port', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(ConnectionMonitorSource, self).__init__(**kwargs) + self.resource_id = kwargs.get('resource_id', None) + self.port = kwargs.get('port', None) + + +class ConnectionMonitorSuccessThreshold(Model): + """Describes the threshold for declaring a test successful. + + :param checks_failed_percent: The maximum percentage of failed checks + permitted for a test to evaluate as successful. + :type checks_failed_percent: int + :param round_trip_time_ms: The maximum round-trip time in milliseconds + permitted for a test to evaluate as successful. + :type round_trip_time_ms: float + """ + + _attribute_map = { + 'checks_failed_percent': {'key': 'checksFailedPercent', 'type': 'int'}, + 'round_trip_time_ms': {'key': 'roundTripTimeMs', 'type': 'float'}, + } + + def __init__(self, **kwargs): + super(ConnectionMonitorSuccessThreshold, self).__init__(**kwargs) + self.checks_failed_percent = kwargs.get('checks_failed_percent', None) + self.round_trip_time_ms = kwargs.get('round_trip_time_ms', None) + + +class ConnectionMonitorTcpConfiguration(Model): + """Describes the TCP configuration. + + :param port: The port to connect to. + :type port: int + :param disable_trace_route: Value indicating whether path evaluation with + trace route should be disabled. + :type disable_trace_route: bool + """ + + _attribute_map = { + 'port': {'key': 'port', 'type': 'int'}, + 'disable_trace_route': {'key': 'disableTraceRoute', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(ConnectionMonitorTcpConfiguration, self).__init__(**kwargs) + self.port = kwargs.get('port', None) + self.disable_trace_route = kwargs.get('disable_trace_route', None) + + +class ConnectionMonitorTestConfiguration(Model): + """Describes a connection monitor test configuration. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. The name of the connection monitor test + configuration. + :type name: str + :param test_frequency_sec: The frequency of test evaluation, in seconds. + :type test_frequency_sec: int + :param protocol: Required. The protocol to use in test evaluation. + Possible values include: 'Tcp', 'Http', 'Icmp' + :type protocol: str or + ~azure.mgmt.network.v2020_05_01.models.ConnectionMonitorTestConfigurationProtocol + :param preferred_ip_version: The preferred IP version to use in test + evaluation. The connection monitor may choose to use a different version + depending on other parameters. Possible values include: 'IPv4', 'IPv6' + :type preferred_ip_version: str or + ~azure.mgmt.network.v2020_05_01.models.PreferredIPVersion + :param http_configuration: The parameters used to perform test evaluation + over HTTP. + :type http_configuration: + ~azure.mgmt.network.v2020_05_01.models.ConnectionMonitorHttpConfiguration + :param tcp_configuration: The parameters used to perform test evaluation + over TCP. + :type tcp_configuration: + ~azure.mgmt.network.v2020_05_01.models.ConnectionMonitorTcpConfiguration + :param icmp_configuration: The parameters used to perform test evaluation + over ICMP. + :type icmp_configuration: + ~azure.mgmt.network.v2020_05_01.models.ConnectionMonitorIcmpConfiguration + :param success_threshold: The threshold for declaring a test successful. + :type success_threshold: + ~azure.mgmt.network.v2020_05_01.models.ConnectionMonitorSuccessThreshold + """ + + _validation = { + 'name': {'required': True}, + 'protocol': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'test_frequency_sec': {'key': 'testFrequencySec', 'type': 'int'}, + 'protocol': {'key': 'protocol', 'type': 'str'}, + 'preferred_ip_version': {'key': 'preferredIPVersion', 'type': 'str'}, + 'http_configuration': {'key': 'httpConfiguration', 'type': 'ConnectionMonitorHttpConfiguration'}, + 'tcp_configuration': {'key': 'tcpConfiguration', 'type': 'ConnectionMonitorTcpConfiguration'}, + 'icmp_configuration': {'key': 'icmpConfiguration', 'type': 'ConnectionMonitorIcmpConfiguration'}, + 'success_threshold': {'key': 'successThreshold', 'type': 'ConnectionMonitorSuccessThreshold'}, + } + + def __init__(self, **kwargs): + super(ConnectionMonitorTestConfiguration, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.test_frequency_sec = kwargs.get('test_frequency_sec', None) + self.protocol = kwargs.get('protocol', None) + self.preferred_ip_version = kwargs.get('preferred_ip_version', None) + self.http_configuration = kwargs.get('http_configuration', None) + self.tcp_configuration = kwargs.get('tcp_configuration', None) + self.icmp_configuration = kwargs.get('icmp_configuration', None) + self.success_threshold = kwargs.get('success_threshold', None) + + +class ConnectionMonitorTestGroup(Model): + """Describes the connection monitor test group. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. The name of the connection monitor test group. + :type name: str + :param disable: Value indicating whether test group is disabled. + :type disable: bool + :param test_configurations: Required. List of test configuration names. + :type test_configurations: list[str] + :param sources: Required. List of source endpoint names. + :type sources: list[str] + :param destinations: Required. List of destination endpoint names. + :type destinations: list[str] + """ + + _validation = { + 'name': {'required': True}, + 'test_configurations': {'required': True}, + 'sources': {'required': True}, + 'destinations': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'disable': {'key': 'disable', 'type': 'bool'}, + 'test_configurations': {'key': 'testConfigurations', 'type': '[str]'}, + 'sources': {'key': 'sources', 'type': '[str]'}, + 'destinations': {'key': 'destinations', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(ConnectionMonitorTestGroup, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.disable = kwargs.get('disable', None) + self.test_configurations = kwargs.get('test_configurations', None) + self.sources = kwargs.get('sources', None) + self.destinations = kwargs.get('destinations', None) + + +class ConnectionMonitorWorkspaceSettings(Model): + """Describes the settings for producing output into a log analytics workspace. + + :param workspace_resource_id: Log analytics workspace resource ID. + :type workspace_resource_id: str + """ + + _attribute_map = { + 'workspace_resource_id': {'key': 'workspaceResourceId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ConnectionMonitorWorkspaceSettings, self).__init__(**kwargs) + self.workspace_resource_id = kwargs.get('workspace_resource_id', None) + + +class ConnectionResetSharedKey(Model): + """The virtual network connection reset shared key. + + All required parameters must be populated in order to send to Azure. + + :param key_length: Required. The virtual network connection reset shared + key length, should between 1 and 128. + :type key_length: int + """ + + _validation = { + 'key_length': {'required': True, 'maximum': 128, 'minimum': 1}, + } + + _attribute_map = { + 'key_length': {'key': 'keyLength', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(ConnectionResetSharedKey, self).__init__(**kwargs) + self.key_length = kwargs.get('key_length', None) + + +class ConnectionSharedKey(SubResource): + """Response for GetConnectionSharedKey API service call. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :param value: Required. The virtual network connection shared key value. + :type value: str + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ConnectionSharedKey, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + + +class ConnectionStateSnapshot(Model): + """Connection state snapshot. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param connection_state: The connection state. Possible values include: + 'Reachable', 'Unreachable', 'Unknown' + :type connection_state: str or + ~azure.mgmt.network.v2020_05_01.models.ConnectionState + :param start_time: The start time of the connection snapshot. + :type start_time: datetime + :param end_time: The end time of the connection snapshot. + :type end_time: datetime + :param evaluation_state: Connectivity analysis evaluation state. Possible + values include: 'NotStarted', 'InProgress', 'Completed' + :type evaluation_state: str or + ~azure.mgmt.network.v2020_05_01.models.EvaluationState + :param avg_latency_in_ms: Average latency in ms. + :type avg_latency_in_ms: int + :param min_latency_in_ms: Minimum latency in ms. + :type min_latency_in_ms: int + :param max_latency_in_ms: Maximum latency in ms. + :type max_latency_in_ms: int + :param probes_sent: The number of sent probes. + :type probes_sent: int + :param probes_failed: The number of failed probes. + :type probes_failed: int + :ivar hops: List of hops between the source and the destination. + :vartype hops: + list[~azure.mgmt.network.v2020_05_01.models.ConnectivityHop] + """ + + _validation = { + 'hops': {'readonly': True}, + } + + _attribute_map = { + 'connection_state': {'key': 'connectionState', 'type': 'str'}, + 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, + 'evaluation_state': {'key': 'evaluationState', 'type': 'str'}, + 'avg_latency_in_ms': {'key': 'avgLatencyInMs', 'type': 'int'}, + 'min_latency_in_ms': {'key': 'minLatencyInMs', 'type': 'int'}, + 'max_latency_in_ms': {'key': 'maxLatencyInMs', 'type': 'int'}, + 'probes_sent': {'key': 'probesSent', 'type': 'int'}, + 'probes_failed': {'key': 'probesFailed', 'type': 'int'}, + 'hops': {'key': 'hops', 'type': '[ConnectivityHop]'}, + } + + def __init__(self, **kwargs): + super(ConnectionStateSnapshot, self).__init__(**kwargs) + self.connection_state = kwargs.get('connection_state', None) + self.start_time = kwargs.get('start_time', None) + self.end_time = kwargs.get('end_time', None) + self.evaluation_state = kwargs.get('evaluation_state', None) + self.avg_latency_in_ms = kwargs.get('avg_latency_in_ms', None) + self.min_latency_in_ms = kwargs.get('min_latency_in_ms', None) + self.max_latency_in_ms = kwargs.get('max_latency_in_ms', None) + self.probes_sent = kwargs.get('probes_sent', None) + self.probes_failed = kwargs.get('probes_failed', None) + self.hops = None + + +class ConnectivityDestination(Model): + """Parameters that define destination of connection. + + :param resource_id: The ID of the resource to which a connection attempt + will be made. + :type resource_id: str + :param address: The IP address or URI the resource to which a connection + attempt will be made. + :type address: str + :param port: Port on which check connectivity will be performed. + :type port: int + """ + + _attribute_map = { + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + 'address': {'key': 'address', 'type': 'str'}, + 'port': {'key': 'port', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(ConnectivityDestination, self).__init__(**kwargs) + self.resource_id = kwargs.get('resource_id', None) + self.address = kwargs.get('address', None) + self.port = kwargs.get('port', None) + + +class ConnectivityHop(Model): + """Information about a hop between the source and the destination. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar type: The type of the hop. + :vartype type: str + :ivar id: The ID of the hop. + :vartype id: str + :ivar address: The IP address of the hop. + :vartype address: str + :ivar resource_id: The ID of the resource corresponding to this hop. + :vartype resource_id: str + :ivar next_hop_ids: List of next hop identifiers. + :vartype next_hop_ids: list[str] + :ivar previous_hop_ids: List of previous hop identifiers. + :vartype previous_hop_ids: list[str] + :ivar links: List of hop links. + :vartype links: list[~azure.mgmt.network.v2020_05_01.models.HopLink] + :ivar previous_links: List of previous hop links. + :vartype previous_links: + list[~azure.mgmt.network.v2020_05_01.models.HopLink] + :ivar issues: List of issues. + :vartype issues: + list[~azure.mgmt.network.v2020_05_01.models.ConnectivityIssue] + """ + + _validation = { + 'type': {'readonly': True}, + 'id': {'readonly': True}, + 'address': {'readonly': True}, + 'resource_id': {'readonly': True}, + 'next_hop_ids': {'readonly': True}, + 'previous_hop_ids': {'readonly': True}, + 'links': {'readonly': True}, + 'previous_links': {'readonly': True}, + 'issues': {'readonly': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'address': {'key': 'address', 'type': 'str'}, + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + 'next_hop_ids': {'key': 'nextHopIds', 'type': '[str]'}, + 'previous_hop_ids': {'key': 'previousHopIds', 'type': '[str]'}, + 'links': {'key': 'links', 'type': '[HopLink]'}, + 'previous_links': {'key': 'previousLinks', 'type': '[HopLink]'}, + 'issues': {'key': 'issues', 'type': '[ConnectivityIssue]'}, + } + + def __init__(self, **kwargs): + super(ConnectivityHop, self).__init__(**kwargs) + self.type = None + self.id = None + self.address = None + self.resource_id = None + self.next_hop_ids = None + self.previous_hop_ids = None + self.links = None + self.previous_links = None + self.issues = None + + +class ConnectivityInformation(Model): + """Information on the connectivity status. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar hops: List of hops between the source and the destination. + :vartype hops: + list[~azure.mgmt.network.v2020_05_01.models.ConnectivityHop] + :ivar connection_status: The connection status. Possible values include: + 'Unknown', 'Connected', 'Disconnected', 'Degraded' + :vartype connection_status: str or + ~azure.mgmt.network.v2020_05_01.models.ConnectionStatus + :ivar avg_latency_in_ms: Average latency in milliseconds. + :vartype avg_latency_in_ms: int + :ivar min_latency_in_ms: Minimum latency in milliseconds. + :vartype min_latency_in_ms: int + :ivar max_latency_in_ms: Maximum latency in milliseconds. + :vartype max_latency_in_ms: int + :ivar probes_sent: Total number of probes sent. + :vartype probes_sent: int + :ivar probes_failed: Number of failed probes. + :vartype probes_failed: int + """ + + _validation = { + 'hops': {'readonly': True}, + 'connection_status': {'readonly': True}, + 'avg_latency_in_ms': {'readonly': True}, + 'min_latency_in_ms': {'readonly': True}, + 'max_latency_in_ms': {'readonly': True}, + 'probes_sent': {'readonly': True}, + 'probes_failed': {'readonly': True}, + } + + _attribute_map = { + 'hops': {'key': 'hops', 'type': '[ConnectivityHop]'}, + 'connection_status': {'key': 'connectionStatus', 'type': 'str'}, + 'avg_latency_in_ms': {'key': 'avgLatencyInMs', 'type': 'int'}, + 'min_latency_in_ms': {'key': 'minLatencyInMs', 'type': 'int'}, + 'max_latency_in_ms': {'key': 'maxLatencyInMs', 'type': 'int'}, + 'probes_sent': {'key': 'probesSent', 'type': 'int'}, + 'probes_failed': {'key': 'probesFailed', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(ConnectivityInformation, self).__init__(**kwargs) + self.hops = None + self.connection_status = None + self.avg_latency_in_ms = None + self.min_latency_in_ms = None + self.max_latency_in_ms = None + self.probes_sent = None + self.probes_failed = None + + +class ConnectivityIssue(Model): + """Information about an issue encountered in the process of checking for + connectivity. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar origin: The origin of the issue. Possible values include: 'Local', + 'Inbound', 'Outbound' + :vartype origin: str or ~azure.mgmt.network.v2020_05_01.models.Origin + :ivar severity: The severity of the issue. Possible values include: + 'Error', 'Warning' + :vartype severity: str or ~azure.mgmt.network.v2020_05_01.models.Severity + :ivar type: The type of issue. Possible values include: 'Unknown', + 'AgentStopped', 'GuestFirewall', 'DnsResolution', 'SocketBind', + 'NetworkSecurityRule', 'UserDefinedRoute', 'PortThrottled', 'Platform' + :vartype type: str or ~azure.mgmt.network.v2020_05_01.models.IssueType + :ivar context: Provides additional context on the issue. + :vartype context: list[dict[str, str]] + """ + + _validation = { + 'origin': {'readonly': True}, + 'severity': {'readonly': True}, + 'type': {'readonly': True}, + 'context': {'readonly': True}, + } + + _attribute_map = { + 'origin': {'key': 'origin', 'type': 'str'}, + 'severity': {'key': 'severity', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'context': {'key': 'context', 'type': '[{str}]'}, + } + + def __init__(self, **kwargs): + super(ConnectivityIssue, self).__init__(**kwargs) + self.origin = None + self.severity = None + self.type = None + self.context = None + + +class ConnectivityParameters(Model): + """Parameters that determine how the connectivity check will be performed. + + All required parameters must be populated in order to send to Azure. + + :param source: Required. The source of the connection. + :type source: ~azure.mgmt.network.v2020_05_01.models.ConnectivitySource + :param destination: Required. The destination of connection. + :type destination: + ~azure.mgmt.network.v2020_05_01.models.ConnectivityDestination + :param protocol: Network protocol. Possible values include: 'Tcp', 'Http', + 'Https', 'Icmp' + :type protocol: str or ~azure.mgmt.network.v2020_05_01.models.Protocol + :param protocol_configuration: Configuration of the protocol. + :type protocol_configuration: + ~azure.mgmt.network.v2020_05_01.models.ProtocolConfiguration + :param preferred_ip_version: Preferred IP version of the connection. + Possible values include: 'IPv4', 'IPv6' + :type preferred_ip_version: str or + ~azure.mgmt.network.v2020_05_01.models.IPVersion + """ + + _validation = { + 'source': {'required': True}, + 'destination': {'required': True}, + } + + _attribute_map = { + 'source': {'key': 'source', 'type': 'ConnectivitySource'}, + 'destination': {'key': 'destination', 'type': 'ConnectivityDestination'}, + 'protocol': {'key': 'protocol', 'type': 'str'}, + 'protocol_configuration': {'key': 'protocolConfiguration', 'type': 'ProtocolConfiguration'}, + 'preferred_ip_version': {'key': 'preferredIPVersion', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ConnectivityParameters, self).__init__(**kwargs) + self.source = kwargs.get('source', None) + self.destination = kwargs.get('destination', None) + self.protocol = kwargs.get('protocol', None) + self.protocol_configuration = kwargs.get('protocol_configuration', None) + self.preferred_ip_version = kwargs.get('preferred_ip_version', None) + + +class ConnectivitySource(Model): + """Parameters that define the source of the connection. + + All required parameters must be populated in order to send to Azure. + + :param resource_id: Required. The ID of the resource from which a + connectivity check will be initiated. + :type resource_id: str + :param port: The source port from which a connectivity check will be + performed. + :type port: int + """ + + _validation = { + 'resource_id': {'required': True}, + } + + _attribute_map = { + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + 'port': {'key': 'port', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(ConnectivitySource, self).__init__(**kwargs) + self.resource_id = kwargs.get('resource_id', None) + self.port = kwargs.get('port', None) + + +class Container(SubResource): + """Reference to container resource in remote resource provider. + + :param id: Resource ID. + :type id: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Container, self).__init__(**kwargs) + + +class ContainerNetworkInterface(SubResource): + """Container network interface child resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar container_network_interface_configuration: Container network + interface configuration from which this container network interface is + created. + :vartype container_network_interface_configuration: + ~azure.mgmt.network.v2020_05_01.models.ContainerNetworkInterfaceConfiguration + :param container: Reference to the container to which this container + network interface is attached. + :type container: ~azure.mgmt.network.v2020_05_01.models.Container + :ivar ip_configurations: Reference to the ip configuration on this + container nic. + :vartype ip_configurations: + list[~azure.mgmt.network.v2020_05_01.models.ContainerNetworkInterfaceIpConfiguration] + :ivar provisioning_state: The provisioning state of the container network + interface resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: The name of the resource. This name can be used to access the + resource. + :type name: str + :ivar type: Sub Resource type. + :vartype type: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'container_network_interface_configuration': {'readonly': True}, + 'ip_configurations': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'container_network_interface_configuration': {'key': 'properties.containerNetworkInterfaceConfiguration', 'type': 'ContainerNetworkInterfaceConfiguration'}, + 'container': {'key': 'properties.container', 'type': 'Container'}, + 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[ContainerNetworkInterfaceIpConfiguration]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ContainerNetworkInterface, self).__init__(**kwargs) + self.container_network_interface_configuration = None + self.container = kwargs.get('container', None) + self.ip_configurations = None + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.type = None + self.etag = None + + +class ContainerNetworkInterfaceConfiguration(SubResource): + """Container network interface configuration child resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param ip_configurations: A list of ip configurations of the container + network interface configuration. + :type ip_configurations: + list[~azure.mgmt.network.v2020_05_01.models.IPConfigurationProfile] + :param container_network_interfaces: A list of container network + interfaces created from this container network interface configuration. + :type container_network_interfaces: + list[~azure.mgmt.network.v2020_05_01.models.SubResource] + :ivar provisioning_state: The provisioning state of the container network + interface configuration resource. Possible values include: 'Succeeded', + 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: The name of the resource. This name can be used to access the + resource. + :type name: str + :ivar type: Sub Resource type. + :vartype type: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[IPConfigurationProfile]'}, + 'container_network_interfaces': {'key': 'properties.containerNetworkInterfaces', 'type': '[SubResource]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ContainerNetworkInterfaceConfiguration, self).__init__(**kwargs) + self.ip_configurations = kwargs.get('ip_configurations', None) + self.container_network_interfaces = kwargs.get('container_network_interfaces', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.type = None + self.etag = None + + +class ContainerNetworkInterfaceIpConfiguration(Model): + """The ip configuration for a container network interface. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar provisioning_state: The provisioning state of the container network + interface IP configuration resource. Possible values include: 'Succeeded', + 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: The name of the resource. This name can be used to access the + resource. + :type name: str + :ivar type: Sub Resource type. + :vartype type: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ContainerNetworkInterfaceIpConfiguration, self).__init__(**kwargs) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.type = None + self.etag = None + + +class CustomDnsConfigPropertiesFormat(Model): + """Contains custom Dns resolution configuration from customer. + + :param fqdn: Fqdn that resolves to private endpoint ip address. + :type fqdn: str + :param ip_addresses: A list of private ip addresses of the private + endpoint. + :type ip_addresses: list[str] + """ + + _attribute_map = { + 'fqdn': {'key': 'fqdn', 'type': 'str'}, + 'ip_addresses': {'key': 'ipAddresses', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(CustomDnsConfigPropertiesFormat, self).__init__(**kwargs) + self.fqdn = kwargs.get('fqdn', None) + self.ip_addresses = kwargs.get('ip_addresses', None) + + +class DdosCustomPolicy(Resource): + """A DDoS custom policy in a resource group. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar resource_guid: The resource GUID property of the DDoS custom policy + resource. It uniquely identifies the resource, even if the user changes + its name or migrate the resource across subscriptions or resource groups. + :vartype resource_guid: str + :ivar provisioning_state: The provisioning state of the DDoS custom policy + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :ivar public_ip_addresses: The list of public IPs associated with the DDoS + custom policy resource. This list is read-only. + :vartype public_ip_addresses: + list[~azure.mgmt.network.v2020_05_01.models.SubResource] + :param protocol_custom_settings: The protocol-specific DDoS policy + customization parameters. + :type protocol_custom_settings: + list[~azure.mgmt.network.v2020_05_01.models.ProtocolCustomSettingsFormat] + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'resource_guid': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'public_ip_addresses': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'public_ip_addresses': {'key': 'properties.publicIPAddresses', 'type': '[SubResource]'}, + 'protocol_custom_settings': {'key': 'properties.protocolCustomSettings', 'type': '[ProtocolCustomSettingsFormat]'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(DdosCustomPolicy, self).__init__(**kwargs) + self.resource_guid = None + self.provisioning_state = None + self.public_ip_addresses = None + self.protocol_custom_settings = kwargs.get('protocol_custom_settings', None) + self.etag = None + + +class DdosProtectionPlan(Model): + """A DDoS protection plan in a resource group. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar resource_guid: The resource GUID property of the DDoS protection + plan resource. It uniquely identifies the resource, even if the user + changes its name or migrate the resource across subscriptions or resource + groups. + :vartype resource_guid: str + :ivar provisioning_state: The provisioning state of the DDoS protection + plan resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :ivar virtual_networks: The list of virtual networks associated with the + DDoS protection plan resource. This list is read-only. + :vartype virtual_networks: + list[~azure.mgmt.network.v2020_05_01.models.SubResource] + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'resource_guid': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'virtual_networks': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'virtual_networks': {'key': 'properties.virtualNetworks', 'type': '[SubResource]'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(DdosProtectionPlan, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.location = kwargs.get('location', None) + self.tags = kwargs.get('tags', None) + self.resource_guid = None + self.provisioning_state = None + self.virtual_networks = None + self.etag = None + + +class DdosSettings(Model): + """Contains the DDoS protection settings of the public IP. + + :param ddos_custom_policy: The DDoS custom policy associated with the + public IP. + :type ddos_custom_policy: + ~azure.mgmt.network.v2020_05_01.models.SubResource + :param protection_coverage: The DDoS protection policy customizability of + the public IP. Only standard coverage will have the ability to be + customized. Possible values include: 'Basic', 'Standard' + :type protection_coverage: str or + ~azure.mgmt.network.v2020_05_01.models.DdosSettingsProtectionCoverage + :param protected_ip: Enables DDoS protection on the public IP. + :type protected_ip: bool + """ + + _attribute_map = { + 'ddos_custom_policy': {'key': 'ddosCustomPolicy', 'type': 'SubResource'}, + 'protection_coverage': {'key': 'protectionCoverage', 'type': 'str'}, + 'protected_ip': {'key': 'protectedIP', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(DdosSettings, self).__init__(**kwargs) + self.ddos_custom_policy = kwargs.get('ddos_custom_policy', None) + self.protection_coverage = kwargs.get('protection_coverage', None) + self.protected_ip = kwargs.get('protected_ip', None) + + +class Delegation(SubResource): + """Details the service to which the subnet is delegated. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param service_name: The name of the service to whom the subnet should be + delegated (e.g. Microsoft.Sql/servers). + :type service_name: str + :ivar actions: The actions permitted to the service upon delegation. + :vartype actions: list[str] + :ivar provisioning_state: The provisioning state of the service delegation + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: The name of the resource that is unique within a subnet. This + name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'actions': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'service_name': {'key': 'properties.serviceName', 'type': 'str'}, + 'actions': {'key': 'properties.actions', 'type': '[str]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Delegation, self).__init__(**kwargs) + self.service_name = kwargs.get('service_name', None) + self.actions = None + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = None + + +class DeviceProperties(Model): + """List of properties of the device. + + :param device_vendor: Name of the device Vendor. + :type device_vendor: str + :param device_model: Model of the device. + :type device_model: str + :param link_speed_in_mbps: Link speed. + :type link_speed_in_mbps: int + """ + + _attribute_map = { + 'device_vendor': {'key': 'deviceVendor', 'type': 'str'}, + 'device_model': {'key': 'deviceModel', 'type': 'str'}, + 'link_speed_in_mbps': {'key': 'linkSpeedInMbps', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(DeviceProperties, self).__init__(**kwargs) + self.device_vendor = kwargs.get('device_vendor', None) + self.device_model = kwargs.get('device_model', None) + self.link_speed_in_mbps = kwargs.get('link_speed_in_mbps', None) + + +class DhcpOptions(Model): + """DhcpOptions contains an array of DNS servers available to VMs deployed in + the virtual network. Standard DHCP option for a subnet overrides VNET DHCP + options. + + :param dns_servers: The list of DNS servers IP addresses. + :type dns_servers: list[str] + """ + + _attribute_map = { + 'dns_servers': {'key': 'dnsServers', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(DhcpOptions, self).__init__(**kwargs) + self.dns_servers = kwargs.get('dns_servers', None) + + +class Dimension(Model): + """Dimension of the metric. + + :param name: The name of the dimension. + :type name: str + :param display_name: The display name of the dimension. + :type display_name: str + :param internal_name: The internal name of the dimension. + :type internal_name: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'internal_name': {'key': 'internalName', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Dimension, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.display_name = kwargs.get('display_name', None) + self.internal_name = kwargs.get('internal_name', None) + + +class DnsNameAvailabilityResult(Model): + """Response for the CheckDnsNameAvailability API service call. + + :param available: Domain availability (True/False). + :type available: bool + """ + + _attribute_map = { + 'available': {'key': 'available', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(DnsNameAvailabilityResult, self).__init__(**kwargs) + self.available = kwargs.get('available', None) + + +class DnsSettings(Model): + """DNS Proxy Settings in Firewall Policy. + + :param servers: List of Custom DNS Servers. + :type servers: list[str] + :param enable_proxy: Enable DNS Proxy on Firewalls attached to the + Firewall Policy. + :type enable_proxy: bool + :param require_proxy_for_network_rules: FQDNs in Network Rules are + supported when set to true. + :type require_proxy_for_network_rules: bool + """ + + _attribute_map = { + 'servers': {'key': 'servers', 'type': '[str]'}, + 'enable_proxy': {'key': 'enableProxy', 'type': 'bool'}, + 'require_proxy_for_network_rules': {'key': 'requireProxyForNetworkRules', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(DnsSettings, self).__init__(**kwargs) + self.servers = kwargs.get('servers', None) + self.enable_proxy = kwargs.get('enable_proxy', None) + self.require_proxy_for_network_rules = kwargs.get('require_proxy_for_network_rules', None) + + +class EffectiveNetworkSecurityGroup(Model): + """Effective network security group. + + :param network_security_group: The ID of network security group that is + applied. + :type network_security_group: + ~azure.mgmt.network.v2020_05_01.models.SubResource + :param association: Associated resources. + :type association: + ~azure.mgmt.network.v2020_05_01.models.EffectiveNetworkSecurityGroupAssociation + :param effective_security_rules: A collection of effective security rules. + :type effective_security_rules: + list[~azure.mgmt.network.v2020_05_01.models.EffectiveNetworkSecurityRule] + :param tag_map: Mapping of tags to list of IP Addresses included within + the tag. + :type tag_map: dict[str, list[str]] + """ + + _attribute_map = { + 'network_security_group': {'key': 'networkSecurityGroup', 'type': 'SubResource'}, + 'association': {'key': 'association', 'type': 'EffectiveNetworkSecurityGroupAssociation'}, + 'effective_security_rules': {'key': 'effectiveSecurityRules', 'type': '[EffectiveNetworkSecurityRule]'}, + 'tag_map': {'key': 'tagMap', 'type': '{[str]}'}, + } + + def __init__(self, **kwargs): + super(EffectiveNetworkSecurityGroup, self).__init__(**kwargs) + self.network_security_group = kwargs.get('network_security_group', None) + self.association = kwargs.get('association', None) + self.effective_security_rules = kwargs.get('effective_security_rules', None) + self.tag_map = kwargs.get('tag_map', None) + + +class EffectiveNetworkSecurityGroupAssociation(Model): + """The effective network security group association. + + :param subnet: The ID of the subnet if assigned. + :type subnet: ~azure.mgmt.network.v2020_05_01.models.SubResource + :param network_interface: The ID of the network interface if assigned. + :type network_interface: + ~azure.mgmt.network.v2020_05_01.models.SubResource + """ + + _attribute_map = { + 'subnet': {'key': 'subnet', 'type': 'SubResource'}, + 'network_interface': {'key': 'networkInterface', 'type': 'SubResource'}, + } + + def __init__(self, **kwargs): + super(EffectiveNetworkSecurityGroupAssociation, self).__init__(**kwargs) + self.subnet = kwargs.get('subnet', None) + self.network_interface = kwargs.get('network_interface', None) + + +class EffectiveNetworkSecurityGroupListResult(Model): + """Response for list effective network security groups API service call. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param value: A list of effective network security groups. + :type value: + list[~azure.mgmt.network.v2020_05_01.models.EffectiveNetworkSecurityGroup] + :ivar next_link: The URL to get the next set of results. + :vartype next_link: str + """ + + _validation = { + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[EffectiveNetworkSecurityGroup]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(EffectiveNetworkSecurityGroupListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = None + + +class EffectiveNetworkSecurityRule(Model): + """Effective network security rules. + + :param name: The name of the security rule specified by the user (if + created by the user). + :type name: str + :param protocol: The network protocol this rule applies to. Possible + values include: 'Tcp', 'Udp', 'All' + :type protocol: str or + ~azure.mgmt.network.v2020_05_01.models.EffectiveSecurityRuleProtocol + :param source_port_range: The source port or range. + :type source_port_range: str + :param destination_port_range: The destination port or range. + :type destination_port_range: str + :param source_port_ranges: The source port ranges. Expected values include + a single integer between 0 and 65535, a range using '-' as separator (e.g. + 100-400), or an asterisk (*). + :type source_port_ranges: list[str] + :param destination_port_ranges: The destination port ranges. Expected + values include a single integer between 0 and 65535, a range using '-' as + separator (e.g. 100-400), or an asterisk (*). + :type destination_port_ranges: list[str] + :param source_address_prefix: The source address prefix. + :type source_address_prefix: str + :param destination_address_prefix: The destination address prefix. + :type destination_address_prefix: str + :param source_address_prefixes: The source address prefixes. Expected + values include CIDR IP ranges, Default Tags (VirtualNetwork, + AzureLoadBalancer, Internet), System Tags, and the asterisk (*). + :type source_address_prefixes: list[str] + :param destination_address_prefixes: The destination address prefixes. + Expected values include CIDR IP ranges, Default Tags (VirtualNetwork, + AzureLoadBalancer, Internet), System Tags, and the asterisk (*). + :type destination_address_prefixes: list[str] + :param expanded_source_address_prefix: The expanded source address prefix. + :type expanded_source_address_prefix: list[str] + :param expanded_destination_address_prefix: Expanded destination address + prefix. + :type expanded_destination_address_prefix: list[str] + :param access: Whether network traffic is allowed or denied. Possible + values include: 'Allow', 'Deny' + :type access: str or + ~azure.mgmt.network.v2020_05_01.models.SecurityRuleAccess + :param priority: The priority of the rule. + :type priority: int + :param direction: The direction of the rule. Possible values include: + 'Inbound', 'Outbound' + :type direction: str or + ~azure.mgmt.network.v2020_05_01.models.SecurityRuleDirection + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'protocol': {'key': 'protocol', 'type': 'str'}, + 'source_port_range': {'key': 'sourcePortRange', 'type': 'str'}, + 'destination_port_range': {'key': 'destinationPortRange', 'type': 'str'}, + 'source_port_ranges': {'key': 'sourcePortRanges', 'type': '[str]'}, + 'destination_port_ranges': {'key': 'destinationPortRanges', 'type': '[str]'}, + 'source_address_prefix': {'key': 'sourceAddressPrefix', 'type': 'str'}, + 'destination_address_prefix': {'key': 'destinationAddressPrefix', 'type': 'str'}, + 'source_address_prefixes': {'key': 'sourceAddressPrefixes', 'type': '[str]'}, + 'destination_address_prefixes': {'key': 'destinationAddressPrefixes', 'type': '[str]'}, + 'expanded_source_address_prefix': {'key': 'expandedSourceAddressPrefix', 'type': '[str]'}, + 'expanded_destination_address_prefix': {'key': 'expandedDestinationAddressPrefix', 'type': '[str]'}, + 'access': {'key': 'access', 'type': 'str'}, + 'priority': {'key': 'priority', 'type': 'int'}, + 'direction': {'key': 'direction', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(EffectiveNetworkSecurityRule, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.protocol = kwargs.get('protocol', None) + self.source_port_range = kwargs.get('source_port_range', None) + self.destination_port_range = kwargs.get('destination_port_range', None) + self.source_port_ranges = kwargs.get('source_port_ranges', None) + self.destination_port_ranges = kwargs.get('destination_port_ranges', None) + self.source_address_prefix = kwargs.get('source_address_prefix', None) + self.destination_address_prefix = kwargs.get('destination_address_prefix', None) + self.source_address_prefixes = kwargs.get('source_address_prefixes', None) + self.destination_address_prefixes = kwargs.get('destination_address_prefixes', None) + self.expanded_source_address_prefix = kwargs.get('expanded_source_address_prefix', None) + self.expanded_destination_address_prefix = kwargs.get('expanded_destination_address_prefix', None) + self.access = kwargs.get('access', None) + self.priority = kwargs.get('priority', None) + self.direction = kwargs.get('direction', None) + + +class EffectiveRoute(Model): + """Effective Route. + + :param name: The name of the user defined route. This is optional. + :type name: str + :param disable_bgp_route_propagation: If true, on-premises routes are not + propagated to the network interfaces in the subnet. + :type disable_bgp_route_propagation: bool + :param source: Who created the route. Possible values include: 'Unknown', + 'User', 'VirtualNetworkGateway', 'Default' + :type source: str or + ~azure.mgmt.network.v2020_05_01.models.EffectiveRouteSource + :param state: The value of effective route. Possible values include: + 'Active', 'Invalid' + :type state: str or + ~azure.mgmt.network.v2020_05_01.models.EffectiveRouteState + :param address_prefix: The address prefixes of the effective routes in + CIDR notation. + :type address_prefix: list[str] + :param next_hop_ip_address: The IP address of the next hop of the + effective route. + :type next_hop_ip_address: list[str] + :param next_hop_type: The type of Azure hop the packet should be sent to. + Possible values include: 'VirtualNetworkGateway', 'VnetLocal', 'Internet', + 'VirtualAppliance', 'None' + :type next_hop_type: str or + ~azure.mgmt.network.v2020_05_01.models.RouteNextHopType + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'disable_bgp_route_propagation': {'key': 'disableBgpRoutePropagation', 'type': 'bool'}, + 'source': {'key': 'source', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + 'address_prefix': {'key': 'addressPrefix', 'type': '[str]'}, + 'next_hop_ip_address': {'key': 'nextHopIpAddress', 'type': '[str]'}, + 'next_hop_type': {'key': 'nextHopType', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(EffectiveRoute, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.disable_bgp_route_propagation = kwargs.get('disable_bgp_route_propagation', None) + self.source = kwargs.get('source', None) + self.state = kwargs.get('state', None) + self.address_prefix = kwargs.get('address_prefix', None) + self.next_hop_ip_address = kwargs.get('next_hop_ip_address', None) + self.next_hop_type = kwargs.get('next_hop_type', None) + + +class EffectiveRouteListResult(Model): + """Response for list effective route API service call. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param value: A list of effective routes. + :type value: list[~azure.mgmt.network.v2020_05_01.models.EffectiveRoute] + :ivar next_link: The URL to get the next set of results. + :vartype next_link: str + """ + + _validation = { + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[EffectiveRoute]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(EffectiveRouteListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = None + + +class EffectiveRoutesParameters(Model): + """The parameters specifying the resource whose effective routes are being + requested. + + :param resource_id: The resource whose effective routes are being + requested. + :type resource_id: ~azure.mgmt.network.v2020_05_01.models.Resource + :param virtual_wan_resource_type: The type of the specified resource like + RouteTable, ExpressRouteConnection, HubVirtualNetworkConnection, + VpnConnection and P2SConnection. + :type virtual_wan_resource_type: str + """ + + _attribute_map = { + 'resource_id': {'key': 'resourceId', 'type': 'Resource'}, + 'virtual_wan_resource_type': {'key': 'virtualWanResourceType', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(EffectiveRoutesParameters, self).__init__(**kwargs) + self.resource_id = kwargs.get('resource_id', None) + self.virtual_wan_resource_type = kwargs.get('virtual_wan_resource_type', None) + + +class EndpointServiceResult(SubResource): + """Endpoint service. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Name of the endpoint service. + :vartype name: str + :ivar type: Type of the endpoint service. + :vartype type: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(EndpointServiceResult, self).__init__(**kwargs) + self.name = None + self.type = None + + +class Error(Model): + """Common error representation. + + :param code: Error code. + :type code: str + :param message: Error message. + :type message: str + :param target: Error target. + :type target: str + :param details: Error details. + :type details: list[~azure.mgmt.network.v2020_05_01.models.ErrorDetails] + :param inner_error: Inner error message. + :type inner_error: str + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[ErrorDetails]'}, + 'inner_error': {'key': 'innerError', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Error, self).__init__(**kwargs) + self.code = kwargs.get('code', None) + self.message = kwargs.get('message', None) + self.target = kwargs.get('target', None) + self.details = kwargs.get('details', None) + self.inner_error = kwargs.get('inner_error', None) + + +class ErrorException(HttpOperationError): + """Server responsed with exception of type: 'Error'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(ErrorException, self).__init__(deserialize, response, 'Error', *args) + + +class ErrorDetails(Model): + """Common error details representation. + + :param code: Error code. + :type code: str + :param target: Error target. + :type target: str + :param message: Error message. + :type message: str + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ErrorDetails, self).__init__(**kwargs) + self.code = kwargs.get('code', None) + self.target = kwargs.get('target', None) + self.message = kwargs.get('message', None) + + +class ErrorResponse(Model): + """The error object. + + :param error: Error. The error details object. + :type error: ~azure.mgmt.network.v2020_05_01.models.ErrorDetails + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'ErrorDetails'}, + } + + def __init__(self, **kwargs): + super(ErrorResponse, self).__init__(**kwargs) + self.error = kwargs.get('error', None) + + +class ErrorResponseException(HttpOperationError): + """Server responsed with exception of type: 'ErrorResponse'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(ErrorResponseException, self).__init__(deserialize, response, 'ErrorResponse', *args) + + +class EvaluatedNetworkSecurityGroup(Model): + """Results of network security group evaluation. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param network_security_group_id: Network security group ID. + :type network_security_group_id: str + :param applied_to: Resource ID of nic or subnet to which network security + group is applied. + :type applied_to: str + :param matched_rule: Matched network security rule. + :type matched_rule: ~azure.mgmt.network.v2020_05_01.models.MatchedRule + :ivar rules_evaluation_result: List of network security rules evaluation + results. + :vartype rules_evaluation_result: + list[~azure.mgmt.network.v2020_05_01.models.NetworkSecurityRulesEvaluationResult] + """ + + _validation = { + 'rules_evaluation_result': {'readonly': True}, + } + + _attribute_map = { + 'network_security_group_id': {'key': 'networkSecurityGroupId', 'type': 'str'}, + 'applied_to': {'key': 'appliedTo', 'type': 'str'}, + 'matched_rule': {'key': 'matchedRule', 'type': 'MatchedRule'}, + 'rules_evaluation_result': {'key': 'rulesEvaluationResult', 'type': '[NetworkSecurityRulesEvaluationResult]'}, + } + + def __init__(self, **kwargs): + super(EvaluatedNetworkSecurityGroup, self).__init__(**kwargs) + self.network_security_group_id = kwargs.get('network_security_group_id', None) + self.applied_to = kwargs.get('applied_to', None) + self.matched_rule = kwargs.get('matched_rule', None) + self.rules_evaluation_result = None + + +class ExpressRouteCircuit(Resource): + """ExpressRouteCircuit resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param sku: The SKU. + :type sku: ~azure.mgmt.network.v2020_05_01.models.ExpressRouteCircuitSku + :param allow_classic_operations: Allow classic operations. + :type allow_classic_operations: bool + :param circuit_provisioning_state: The CircuitProvisioningState state of + the resource. + :type circuit_provisioning_state: str + :param service_provider_provisioning_state: The + ServiceProviderProvisioningState state of the resource. Possible values + include: 'NotProvisioned', 'Provisioning', 'Provisioned', 'Deprovisioning' + :type service_provider_provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ServiceProviderProvisioningState + :param authorizations: The list of authorizations. + :type authorizations: + list[~azure.mgmt.network.v2020_05_01.models.ExpressRouteCircuitAuthorization] + :param peerings: The list of peerings. + :type peerings: + list[~azure.mgmt.network.v2020_05_01.models.ExpressRouteCircuitPeering] + :param service_key: The ServiceKey. + :type service_key: str + :param service_provider_notes: The ServiceProviderNotes. + :type service_provider_notes: str + :param service_provider_properties: The ServiceProviderProperties. + :type service_provider_properties: + ~azure.mgmt.network.v2020_05_01.models.ExpressRouteCircuitServiceProviderProperties + :param express_route_port: The reference to the ExpressRoutePort resource + when the circuit is provisioned on an ExpressRoutePort resource. + :type express_route_port: + ~azure.mgmt.network.v2020_05_01.models.SubResource + :param bandwidth_in_gbps: The bandwidth of the circuit when the circuit is + provisioned on an ExpressRoutePort resource. + :type bandwidth_in_gbps: float + :ivar stag: The identifier of the circuit traffic. Outer tag for QinQ + encapsulation. + :vartype stag: int + :ivar provisioning_state: The provisioning state of the express route + circuit resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param gateway_manager_etag: The GatewayManager Etag. + :type gateway_manager_etag: str + :param global_reach_enabled: Flag denoting global reach status. + :type global_reach_enabled: bool + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'stag': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'sku': {'key': 'sku', 'type': 'ExpressRouteCircuitSku'}, + 'allow_classic_operations': {'key': 'properties.allowClassicOperations', 'type': 'bool'}, + 'circuit_provisioning_state': {'key': 'properties.circuitProvisioningState', 'type': 'str'}, + 'service_provider_provisioning_state': {'key': 'properties.serviceProviderProvisioningState', 'type': 'str'}, + 'authorizations': {'key': 'properties.authorizations', 'type': '[ExpressRouteCircuitAuthorization]'}, + 'peerings': {'key': 'properties.peerings', 'type': '[ExpressRouteCircuitPeering]'}, + 'service_key': {'key': 'properties.serviceKey', 'type': 'str'}, + 'service_provider_notes': {'key': 'properties.serviceProviderNotes', 'type': 'str'}, + 'service_provider_properties': {'key': 'properties.serviceProviderProperties', 'type': 'ExpressRouteCircuitServiceProviderProperties'}, + 'express_route_port': {'key': 'properties.expressRoutePort', 'type': 'SubResource'}, + 'bandwidth_in_gbps': {'key': 'properties.bandwidthInGbps', 'type': 'float'}, + 'stag': {'key': 'properties.stag', 'type': 'int'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'gateway_manager_etag': {'key': 'properties.gatewayManagerEtag', 'type': 'str'}, + 'global_reach_enabled': {'key': 'properties.globalReachEnabled', 'type': 'bool'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteCircuit, self).__init__(**kwargs) + self.sku = kwargs.get('sku', None) + self.allow_classic_operations = kwargs.get('allow_classic_operations', None) + self.circuit_provisioning_state = kwargs.get('circuit_provisioning_state', None) + self.service_provider_provisioning_state = kwargs.get('service_provider_provisioning_state', None) + self.authorizations = kwargs.get('authorizations', None) + self.peerings = kwargs.get('peerings', None) + self.service_key = kwargs.get('service_key', None) + self.service_provider_notes = kwargs.get('service_provider_notes', None) + self.service_provider_properties = kwargs.get('service_provider_properties', None) + self.express_route_port = kwargs.get('express_route_port', None) + self.bandwidth_in_gbps = kwargs.get('bandwidth_in_gbps', None) + self.stag = None + self.provisioning_state = None + self.gateway_manager_etag = kwargs.get('gateway_manager_etag', None) + self.global_reach_enabled = kwargs.get('global_reach_enabled', None) + self.etag = None + + +class ExpressRouteCircuitArpTable(Model): + """The ARP table associated with the ExpressRouteCircuit. + + :param age: Entry age in minutes. + :type age: int + :param interface: Interface address. + :type interface: str + :param ip_address: The IP address. + :type ip_address: str + :param mac_address: The MAC address. + :type mac_address: str + """ + + _attribute_map = { + 'age': {'key': 'age', 'type': 'int'}, + 'interface': {'key': 'interface', 'type': 'str'}, + 'ip_address': {'key': 'ipAddress', 'type': 'str'}, + 'mac_address': {'key': 'macAddress', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteCircuitArpTable, self).__init__(**kwargs) + self.age = kwargs.get('age', None) + self.interface = kwargs.get('interface', None) + self.ip_address = kwargs.get('ip_address', None) + self.mac_address = kwargs.get('mac_address', None) + + +class ExpressRouteCircuitAuthorization(SubResource): + """Authorization in an ExpressRouteCircuit resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param authorization_key: The authorization key. + :type authorization_key: str + :param authorization_use_status: The authorization use status. Possible + values include: 'Available', 'InUse' + :type authorization_use_status: str or + ~azure.mgmt.network.v2020_05_01.models.AuthorizationUseStatus + :ivar provisioning_state: The provisioning state of the authorization + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'authorization_key': {'key': 'properties.authorizationKey', 'type': 'str'}, + 'authorization_use_status': {'key': 'properties.authorizationUseStatus', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteCircuitAuthorization, self).__init__(**kwargs) + self.authorization_key = kwargs.get('authorization_key', None) + self.authorization_use_status = kwargs.get('authorization_use_status', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = None + self.type = None + + +class ExpressRouteCircuitConnection(SubResource): + """Express Route Circuit Connection in an ExpressRouteCircuitPeering resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param express_route_circuit_peering: Reference to Express Route Circuit + Private Peering Resource of the circuit initiating connection. + :type express_route_circuit_peering: + ~azure.mgmt.network.v2020_05_01.models.SubResource + :param peer_express_route_circuit_peering: Reference to Express Route + Circuit Private Peering Resource of the peered circuit. + :type peer_express_route_circuit_peering: + ~azure.mgmt.network.v2020_05_01.models.SubResource + :param address_prefix: /29 IP address space to carve out Customer + addresses for tunnels. + :type address_prefix: str + :param authorization_key: The authorization key. + :type authorization_key: str + :param ipv6_circuit_connection_config: IPv6 Address PrefixProperties of + the express route circuit connection. + :type ipv6_circuit_connection_config: + ~azure.mgmt.network.v2020_05_01.models.Ipv6CircuitConnectionConfig + :param circuit_connection_status: Express Route Circuit connection state. + Possible values include: 'Connected', 'Connecting', 'Disconnected' + :type circuit_connection_status: str or + ~azure.mgmt.network.v2020_05_01.models.CircuitConnectionStatus + :ivar provisioning_state: The provisioning state of the express route + circuit connection resource. Possible values include: 'Succeeded', + 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'express_route_circuit_peering': {'key': 'properties.expressRouteCircuitPeering', 'type': 'SubResource'}, + 'peer_express_route_circuit_peering': {'key': 'properties.peerExpressRouteCircuitPeering', 'type': 'SubResource'}, + 'address_prefix': {'key': 'properties.addressPrefix', 'type': 'str'}, + 'authorization_key': {'key': 'properties.authorizationKey', 'type': 'str'}, + 'ipv6_circuit_connection_config': {'key': 'properties.ipv6CircuitConnectionConfig', 'type': 'Ipv6CircuitConnectionConfig'}, + 'circuit_connection_status': {'key': 'properties.circuitConnectionStatus', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteCircuitConnection, self).__init__(**kwargs) + self.express_route_circuit_peering = kwargs.get('express_route_circuit_peering', None) + self.peer_express_route_circuit_peering = kwargs.get('peer_express_route_circuit_peering', None) + self.address_prefix = kwargs.get('address_prefix', None) + self.authorization_key = kwargs.get('authorization_key', None) + self.ipv6_circuit_connection_config = kwargs.get('ipv6_circuit_connection_config', None) + self.circuit_connection_status = kwargs.get('circuit_connection_status', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = None + self.type = None + + +class ExpressRouteCircuitPeering(SubResource): + """Peering in an ExpressRouteCircuit resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param peering_type: The peering type. Possible values include: + 'AzurePublicPeering', 'AzurePrivatePeering', 'MicrosoftPeering' + :type peering_type: str or + ~azure.mgmt.network.v2020_05_01.models.ExpressRoutePeeringType + :param state: The peering state. Possible values include: 'Disabled', + 'Enabled' + :type state: str or + ~azure.mgmt.network.v2020_05_01.models.ExpressRoutePeeringState + :param azure_asn: The Azure ASN. + :type azure_asn: int + :param peer_asn: The peer ASN. + :type peer_asn: long + :param primary_peer_address_prefix: The primary address prefix. + :type primary_peer_address_prefix: str + :param secondary_peer_address_prefix: The secondary address prefix. + :type secondary_peer_address_prefix: str + :param primary_azure_port: The primary port. + :type primary_azure_port: str + :param secondary_azure_port: The secondary port. + :type secondary_azure_port: str + :param shared_key: The shared key. + :type shared_key: str + :param vlan_id: The VLAN ID. + :type vlan_id: int + :param microsoft_peering_config: The Microsoft peering configuration. + :type microsoft_peering_config: + ~azure.mgmt.network.v2020_05_01.models.ExpressRouteCircuitPeeringConfig + :param stats: The peering stats of express route circuit. + :type stats: + ~azure.mgmt.network.v2020_05_01.models.ExpressRouteCircuitStats + :ivar provisioning_state: The provisioning state of the express route + circuit peering resource. Possible values include: 'Succeeded', + 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param gateway_manager_etag: The GatewayManager Etag. + :type gateway_manager_etag: str + :ivar last_modified_by: Who was the last to modify the peering. + :vartype last_modified_by: str + :param route_filter: The reference to the RouteFilter resource. + :type route_filter: ~azure.mgmt.network.v2020_05_01.models.SubResource + :param ipv6_peering_config: The IPv6 peering configuration. + :type ipv6_peering_config: + ~azure.mgmt.network.v2020_05_01.models.Ipv6ExpressRouteCircuitPeeringConfig + :param express_route_connection: The ExpressRoute connection. + :type express_route_connection: + ~azure.mgmt.network.v2020_05_01.models.ExpressRouteConnectionId + :param connections: The list of circuit connections associated with Azure + Private Peering for this circuit. + :type connections: + list[~azure.mgmt.network.v2020_05_01.models.ExpressRouteCircuitConnection] + :ivar peered_connections: The list of peered circuit connections + associated with Azure Private Peering for this circuit. + :vartype peered_connections: + list[~azure.mgmt.network.v2020_05_01.models.PeerExpressRouteCircuitConnection] + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'peer_asn': {'maximum': 4294967295, 'minimum': 1}, + 'provisioning_state': {'readonly': True}, + 'last_modified_by': {'readonly': True}, + 'peered_connections': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'peering_type': {'key': 'properties.peeringType', 'type': 'str'}, + 'state': {'key': 'properties.state', 'type': 'str'}, + 'azure_asn': {'key': 'properties.azureASN', 'type': 'int'}, + 'peer_asn': {'key': 'properties.peerASN', 'type': 'long'}, + 'primary_peer_address_prefix': {'key': 'properties.primaryPeerAddressPrefix', 'type': 'str'}, + 'secondary_peer_address_prefix': {'key': 'properties.secondaryPeerAddressPrefix', 'type': 'str'}, + 'primary_azure_port': {'key': 'properties.primaryAzurePort', 'type': 'str'}, + 'secondary_azure_port': {'key': 'properties.secondaryAzurePort', 'type': 'str'}, + 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, + 'vlan_id': {'key': 'properties.vlanId', 'type': 'int'}, + 'microsoft_peering_config': {'key': 'properties.microsoftPeeringConfig', 'type': 'ExpressRouteCircuitPeeringConfig'}, + 'stats': {'key': 'properties.stats', 'type': 'ExpressRouteCircuitStats'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'gateway_manager_etag': {'key': 'properties.gatewayManagerEtag', 'type': 'str'}, + 'last_modified_by': {'key': 'properties.lastModifiedBy', 'type': 'str'}, + 'route_filter': {'key': 'properties.routeFilter', 'type': 'SubResource'}, + 'ipv6_peering_config': {'key': 'properties.ipv6PeeringConfig', 'type': 'Ipv6ExpressRouteCircuitPeeringConfig'}, + 'express_route_connection': {'key': 'properties.expressRouteConnection', 'type': 'ExpressRouteConnectionId'}, + 'connections': {'key': 'properties.connections', 'type': '[ExpressRouteCircuitConnection]'}, + 'peered_connections': {'key': 'properties.peeredConnections', 'type': '[PeerExpressRouteCircuitConnection]'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteCircuitPeering, self).__init__(**kwargs) + self.peering_type = kwargs.get('peering_type', None) + self.state = kwargs.get('state', None) + self.azure_asn = kwargs.get('azure_asn', None) + self.peer_asn = kwargs.get('peer_asn', None) + self.primary_peer_address_prefix = kwargs.get('primary_peer_address_prefix', None) + self.secondary_peer_address_prefix = kwargs.get('secondary_peer_address_prefix', None) + self.primary_azure_port = kwargs.get('primary_azure_port', None) + self.secondary_azure_port = kwargs.get('secondary_azure_port', None) + self.shared_key = kwargs.get('shared_key', None) + self.vlan_id = kwargs.get('vlan_id', None) + self.microsoft_peering_config = kwargs.get('microsoft_peering_config', None) + self.stats = kwargs.get('stats', None) + self.provisioning_state = None + self.gateway_manager_etag = kwargs.get('gateway_manager_etag', None) + self.last_modified_by = None + self.route_filter = kwargs.get('route_filter', None) + self.ipv6_peering_config = kwargs.get('ipv6_peering_config', None) + self.express_route_connection = kwargs.get('express_route_connection', None) + self.connections = kwargs.get('connections', None) + self.peered_connections = None + self.name = kwargs.get('name', None) + self.etag = None + self.type = None + + +class ExpressRouteCircuitPeeringConfig(Model): + """Specifies the peering configuration. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param advertised_public_prefixes: The reference to + AdvertisedPublicPrefixes. + :type advertised_public_prefixes: list[str] + :param advertised_communities: The communities of bgp peering. Specified + for microsoft peering. + :type advertised_communities: list[str] + :ivar advertised_public_prefixes_state: The advertised public prefix state + of the Peering resource. Possible values include: 'NotConfigured', + 'Configuring', 'Configured', 'ValidationNeeded' + :vartype advertised_public_prefixes_state: str or + ~azure.mgmt.network.v2020_05_01.models.ExpressRouteCircuitPeeringAdvertisedPublicPrefixState + :param legacy_mode: The legacy mode of the peering. + :type legacy_mode: int + :param customer_asn: The CustomerASN of the peering. + :type customer_asn: int + :param routing_registry_name: The RoutingRegistryName of the + configuration. + :type routing_registry_name: str + """ + + _validation = { + 'advertised_public_prefixes_state': {'readonly': True}, + } + + _attribute_map = { + 'advertised_public_prefixes': {'key': 'advertisedPublicPrefixes', 'type': '[str]'}, + 'advertised_communities': {'key': 'advertisedCommunities', 'type': '[str]'}, + 'advertised_public_prefixes_state': {'key': 'advertisedPublicPrefixesState', 'type': 'str'}, + 'legacy_mode': {'key': 'legacyMode', 'type': 'int'}, + 'customer_asn': {'key': 'customerASN', 'type': 'int'}, + 'routing_registry_name': {'key': 'routingRegistryName', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteCircuitPeeringConfig, self).__init__(**kwargs) + self.advertised_public_prefixes = kwargs.get('advertised_public_prefixes', None) + self.advertised_communities = kwargs.get('advertised_communities', None) + self.advertised_public_prefixes_state = None + self.legacy_mode = kwargs.get('legacy_mode', None) + self.customer_asn = kwargs.get('customer_asn', None) + self.routing_registry_name = kwargs.get('routing_registry_name', None) + + +class ExpressRouteCircuitPeeringId(Model): + """ExpressRoute circuit peering identifier. + + :param id: The ID of the ExpressRoute circuit peering. + :type id: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteCircuitPeeringId, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + + +class ExpressRouteCircuitReference(Model): + """Reference to an express route circuit. + + :param id: Corresponding Express Route Circuit Id. + :type id: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteCircuitReference, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + + +class ExpressRouteCircuitRoutesTable(Model): + """The routes table associated with the ExpressRouteCircuit. + + :param network: IP address of a network entity. + :type network: str + :param next_hop: NextHop address. + :type next_hop: str + :param loc_prf: Local preference value as set with the set + local-preference route-map configuration command. + :type loc_prf: str + :param weight: Route Weight. + :type weight: int + :param path: Autonomous system paths to the destination network. + :type path: str + """ + + _attribute_map = { + 'network': {'key': 'network', 'type': 'str'}, + 'next_hop': {'key': 'nextHop', 'type': 'str'}, + 'loc_prf': {'key': 'locPrf', 'type': 'str'}, + 'weight': {'key': 'weight', 'type': 'int'}, + 'path': {'key': 'path', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteCircuitRoutesTable, self).__init__(**kwargs) + self.network = kwargs.get('network', None) + self.next_hop = kwargs.get('next_hop', None) + self.loc_prf = kwargs.get('loc_prf', None) + self.weight = kwargs.get('weight', None) + self.path = kwargs.get('path', None) + + +class ExpressRouteCircuitRoutesTableSummary(Model): + """The routes table associated with the ExpressRouteCircuit. + + :param neighbor: IP address of the neighbor. + :type neighbor: str + :param v: BGP version number spoken to the neighbor. + :type v: int + :param as_property: Autonomous system number. + :type as_property: int + :param up_down: The length of time that the BGP session has been in the + Established state, or the current status if not in the Established state. + :type up_down: str + :param state_pfx_rcd: Current state of the BGP session, and the number of + prefixes that have been received from a neighbor or peer group. + :type state_pfx_rcd: str + """ + + _attribute_map = { + 'neighbor': {'key': 'neighbor', 'type': 'str'}, + 'v': {'key': 'v', 'type': 'int'}, + 'as_property': {'key': 'as', 'type': 'int'}, + 'up_down': {'key': 'upDown', 'type': 'str'}, + 'state_pfx_rcd': {'key': 'statePfxRcd', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteCircuitRoutesTableSummary, self).__init__(**kwargs) + self.neighbor = kwargs.get('neighbor', None) + self.v = kwargs.get('v', None) + self.as_property = kwargs.get('as_property', None) + self.up_down = kwargs.get('up_down', None) + self.state_pfx_rcd = kwargs.get('state_pfx_rcd', None) + + +class ExpressRouteCircuitsArpTableListResult(Model): + """Response for ListArpTable associated with the Express Route Circuits API. + + :param value: A list of the ARP tables. + :type value: + list[~azure.mgmt.network.v2020_05_01.models.ExpressRouteCircuitArpTable] + :param next_link: The URL to get the next set of results. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ExpressRouteCircuitArpTable]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteCircuitsArpTableListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class ExpressRouteCircuitServiceProviderProperties(Model): + """Contains ServiceProviderProperties in an ExpressRouteCircuit. + + :param service_provider_name: The serviceProviderName. + :type service_provider_name: str + :param peering_location: The peering location. + :type peering_location: str + :param bandwidth_in_mbps: The BandwidthInMbps. + :type bandwidth_in_mbps: int + """ + + _attribute_map = { + 'service_provider_name': {'key': 'serviceProviderName', 'type': 'str'}, + 'peering_location': {'key': 'peeringLocation', 'type': 'str'}, + 'bandwidth_in_mbps': {'key': 'bandwidthInMbps', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteCircuitServiceProviderProperties, self).__init__(**kwargs) + self.service_provider_name = kwargs.get('service_provider_name', None) + self.peering_location = kwargs.get('peering_location', None) + self.bandwidth_in_mbps = kwargs.get('bandwidth_in_mbps', None) + + +class ExpressRouteCircuitSku(Model): + """Contains SKU in an ExpressRouteCircuit. + + :param name: The name of the SKU. + :type name: str + :param tier: The tier of the SKU. Possible values include: 'Standard', + 'Premium', 'Basic', 'Local' + :type tier: str or + ~azure.mgmt.network.v2020_05_01.models.ExpressRouteCircuitSkuTier + :param family: The family of the SKU. Possible values include: + 'UnlimitedData', 'MeteredData' + :type family: str or + ~azure.mgmt.network.v2020_05_01.models.ExpressRouteCircuitSkuFamily + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + 'family': {'key': 'family', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteCircuitSku, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.tier = kwargs.get('tier', None) + self.family = kwargs.get('family', None) + + +class ExpressRouteCircuitsRoutesTableListResult(Model): + """Response for ListRoutesTable associated with the Express Route Circuits + API. + + :param value: The list of routes table. + :type value: + list[~azure.mgmt.network.v2020_05_01.models.ExpressRouteCircuitRoutesTable] + :param next_link: The URL to get the next set of results. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ExpressRouteCircuitRoutesTable]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteCircuitsRoutesTableListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class ExpressRouteCircuitsRoutesTableSummaryListResult(Model): + """Response for ListRoutesTable associated with the Express Route Circuits + API. + + :param value: A list of the routes table. + :type value: + list[~azure.mgmt.network.v2020_05_01.models.ExpressRouteCircuitRoutesTableSummary] + :param next_link: The URL to get the next set of results. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ExpressRouteCircuitRoutesTableSummary]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteCircuitsRoutesTableSummaryListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class ExpressRouteCircuitStats(Model): + """Contains stats associated with the peering. + + :param primarybytes_in: The Primary BytesIn of the peering. + :type primarybytes_in: long + :param primarybytes_out: The primary BytesOut of the peering. + :type primarybytes_out: long + :param secondarybytes_in: The secondary BytesIn of the peering. + :type secondarybytes_in: long + :param secondarybytes_out: The secondary BytesOut of the peering. + :type secondarybytes_out: long + """ + + _attribute_map = { + 'primarybytes_in': {'key': 'primarybytesIn', 'type': 'long'}, + 'primarybytes_out': {'key': 'primarybytesOut', 'type': 'long'}, + 'secondarybytes_in': {'key': 'secondarybytesIn', 'type': 'long'}, + 'secondarybytes_out': {'key': 'secondarybytesOut', 'type': 'long'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteCircuitStats, self).__init__(**kwargs) + self.primarybytes_in = kwargs.get('primarybytes_in', None) + self.primarybytes_out = kwargs.get('primarybytes_out', None) + self.secondarybytes_in = kwargs.get('secondarybytes_in', None) + self.secondarybytes_out = kwargs.get('secondarybytes_out', None) + + +class ExpressRouteConnection(SubResource): + """ExpressRouteConnection resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :ivar provisioning_state: The provisioning state of the express route + connection resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param express_route_circuit_peering: Required. The ExpressRoute circuit + peering. + :type express_route_circuit_peering: + ~azure.mgmt.network.v2020_05_01.models.ExpressRouteCircuitPeeringId + :param authorization_key: Authorization key to establish the connection. + :type authorization_key: str + :param routing_weight: The routing weight associated to the connection. + :type routing_weight: int + :param enable_internet_security: Enable internet security. + :type enable_internet_security: bool + :param routing_configuration: The Routing Configuration indicating the + associated and propagated route tables on this connection. + :type routing_configuration: + ~azure.mgmt.network.v2020_05_01.models.RoutingConfiguration + :param name: Required. The name of the resource. + :type name: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'express_route_circuit_peering': {'required': True}, + 'name': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'express_route_circuit_peering': {'key': 'properties.expressRouteCircuitPeering', 'type': 'ExpressRouteCircuitPeeringId'}, + 'authorization_key': {'key': 'properties.authorizationKey', 'type': 'str'}, + 'routing_weight': {'key': 'properties.routingWeight', 'type': 'int'}, + 'enable_internet_security': {'key': 'properties.enableInternetSecurity', 'type': 'bool'}, + 'routing_configuration': {'key': 'properties.routingConfiguration', 'type': 'RoutingConfiguration'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteConnection, self).__init__(**kwargs) + self.provisioning_state = None + self.express_route_circuit_peering = kwargs.get('express_route_circuit_peering', None) + self.authorization_key = kwargs.get('authorization_key', None) + self.routing_weight = kwargs.get('routing_weight', None) + self.enable_internet_security = kwargs.get('enable_internet_security', None) + self.routing_configuration = kwargs.get('routing_configuration', None) + self.name = kwargs.get('name', None) + + +class ExpressRouteConnectionId(Model): + """The ID of the ExpressRouteConnection. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: The ID of the ExpressRouteConnection. + :vartype id: str + """ + + _validation = { + 'id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteConnectionId, self).__init__(**kwargs) + self.id = None + + +class ExpressRouteConnectionList(Model): + """ExpressRouteConnection list. + + :param value: The list of ExpressRoute connections. + :type value: + list[~azure.mgmt.network.v2020_05_01.models.ExpressRouteConnection] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ExpressRouteConnection]'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteConnectionList, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + + +class ExpressRouteCrossConnection(Resource): + """ExpressRouteCrossConnection resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar primary_azure_port: The name of the primary port. + :vartype primary_azure_port: str + :ivar secondary_azure_port: The name of the secondary port. + :vartype secondary_azure_port: str + :ivar s_tag: The identifier of the circuit traffic. + :vartype s_tag: int + :param peering_location: The peering location of the ExpressRoute circuit. + :type peering_location: str + :param bandwidth_in_mbps: The circuit bandwidth In Mbps. + :type bandwidth_in_mbps: int + :param express_route_circuit: The ExpressRouteCircuit. + :type express_route_circuit: + ~azure.mgmt.network.v2020_05_01.models.ExpressRouteCircuitReference + :param service_provider_provisioning_state: The provisioning state of the + circuit in the connectivity provider system. Possible values include: + 'NotProvisioned', 'Provisioning', 'Provisioned', 'Deprovisioning' + :type service_provider_provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ServiceProviderProvisioningState + :param service_provider_notes: Additional read only notes set by the + connectivity provider. + :type service_provider_notes: str + :ivar provisioning_state: The provisioning state of the express route + cross connection resource. Possible values include: 'Succeeded', + 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param peerings: The list of peerings. + :type peerings: + list[~azure.mgmt.network.v2020_05_01.models.ExpressRouteCrossConnectionPeering] + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'primary_azure_port': {'readonly': True}, + 'secondary_azure_port': {'readonly': True}, + 's_tag': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'primary_azure_port': {'key': 'properties.primaryAzurePort', 'type': 'str'}, + 'secondary_azure_port': {'key': 'properties.secondaryAzurePort', 'type': 'str'}, + 's_tag': {'key': 'properties.sTag', 'type': 'int'}, + 'peering_location': {'key': 'properties.peeringLocation', 'type': 'str'}, + 'bandwidth_in_mbps': {'key': 'properties.bandwidthInMbps', 'type': 'int'}, + 'express_route_circuit': {'key': 'properties.expressRouteCircuit', 'type': 'ExpressRouteCircuitReference'}, + 'service_provider_provisioning_state': {'key': 'properties.serviceProviderProvisioningState', 'type': 'str'}, + 'service_provider_notes': {'key': 'properties.serviceProviderNotes', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'peerings': {'key': 'properties.peerings', 'type': '[ExpressRouteCrossConnectionPeering]'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteCrossConnection, self).__init__(**kwargs) + self.primary_azure_port = None + self.secondary_azure_port = None + self.s_tag = None + self.peering_location = kwargs.get('peering_location', None) + self.bandwidth_in_mbps = kwargs.get('bandwidth_in_mbps', None) + self.express_route_circuit = kwargs.get('express_route_circuit', None) + self.service_provider_provisioning_state = kwargs.get('service_provider_provisioning_state', None) + self.service_provider_notes = kwargs.get('service_provider_notes', None) + self.provisioning_state = None + self.peerings = kwargs.get('peerings', None) + self.etag = None + + +class ExpressRouteCrossConnectionPeering(SubResource): + """Peering in an ExpressRoute Cross Connection resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param peering_type: The peering type. Possible values include: + 'AzurePublicPeering', 'AzurePrivatePeering', 'MicrosoftPeering' + :type peering_type: str or + ~azure.mgmt.network.v2020_05_01.models.ExpressRoutePeeringType + :param state: The peering state. Possible values include: 'Disabled', + 'Enabled' + :type state: str or + ~azure.mgmt.network.v2020_05_01.models.ExpressRoutePeeringState + :ivar azure_asn: The Azure ASN. + :vartype azure_asn: int + :param peer_asn: The peer ASN. + :type peer_asn: long + :param primary_peer_address_prefix: The primary address prefix. + :type primary_peer_address_prefix: str + :param secondary_peer_address_prefix: The secondary address prefix. + :type secondary_peer_address_prefix: str + :ivar primary_azure_port: The primary port. + :vartype primary_azure_port: str + :ivar secondary_azure_port: The secondary port. + :vartype secondary_azure_port: str + :param shared_key: The shared key. + :type shared_key: str + :param vlan_id: The VLAN ID. + :type vlan_id: int + :param microsoft_peering_config: The Microsoft peering configuration. + :type microsoft_peering_config: + ~azure.mgmt.network.v2020_05_01.models.ExpressRouteCircuitPeeringConfig + :ivar provisioning_state: The provisioning state of the express route + cross connection peering resource. Possible values include: 'Succeeded', + 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param gateway_manager_etag: The GatewayManager Etag. + :type gateway_manager_etag: str + :ivar last_modified_by: Who was the last to modify the peering. + :vartype last_modified_by: str + :param ipv6_peering_config: The IPv6 peering configuration. + :type ipv6_peering_config: + ~azure.mgmt.network.v2020_05_01.models.Ipv6ExpressRouteCircuitPeeringConfig + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'azure_asn': {'readonly': True}, + 'peer_asn': {'maximum': 4294967295, 'minimum': 1}, + 'primary_azure_port': {'readonly': True}, + 'secondary_azure_port': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'last_modified_by': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'peering_type': {'key': 'properties.peeringType', 'type': 'str'}, + 'state': {'key': 'properties.state', 'type': 'str'}, + 'azure_asn': {'key': 'properties.azureASN', 'type': 'int'}, + 'peer_asn': {'key': 'properties.peerASN', 'type': 'long'}, + 'primary_peer_address_prefix': {'key': 'properties.primaryPeerAddressPrefix', 'type': 'str'}, + 'secondary_peer_address_prefix': {'key': 'properties.secondaryPeerAddressPrefix', 'type': 'str'}, + 'primary_azure_port': {'key': 'properties.primaryAzurePort', 'type': 'str'}, + 'secondary_azure_port': {'key': 'properties.secondaryAzurePort', 'type': 'str'}, + 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, + 'vlan_id': {'key': 'properties.vlanId', 'type': 'int'}, + 'microsoft_peering_config': {'key': 'properties.microsoftPeeringConfig', 'type': 'ExpressRouteCircuitPeeringConfig'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'gateway_manager_etag': {'key': 'properties.gatewayManagerEtag', 'type': 'str'}, + 'last_modified_by': {'key': 'properties.lastModifiedBy', 'type': 'str'}, + 'ipv6_peering_config': {'key': 'properties.ipv6PeeringConfig', 'type': 'Ipv6ExpressRouteCircuitPeeringConfig'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteCrossConnectionPeering, self).__init__(**kwargs) + self.peering_type = kwargs.get('peering_type', None) + self.state = kwargs.get('state', None) + self.azure_asn = None + self.peer_asn = kwargs.get('peer_asn', None) + self.primary_peer_address_prefix = kwargs.get('primary_peer_address_prefix', None) + self.secondary_peer_address_prefix = kwargs.get('secondary_peer_address_prefix', None) + self.primary_azure_port = None + self.secondary_azure_port = None + self.shared_key = kwargs.get('shared_key', None) + self.vlan_id = kwargs.get('vlan_id', None) + self.microsoft_peering_config = kwargs.get('microsoft_peering_config', None) + self.provisioning_state = None + self.gateway_manager_etag = kwargs.get('gateway_manager_etag', None) + self.last_modified_by = None + self.ipv6_peering_config = kwargs.get('ipv6_peering_config', None) + self.name = kwargs.get('name', None) + self.etag = None + + +class ExpressRouteCrossConnectionRoutesTableSummary(Model): + """The routes table associated with the ExpressRouteCircuit. + + :param neighbor: IP address of Neighbor router. + :type neighbor: str + :param asn: Autonomous system number. + :type asn: int + :param up_down: The length of time that the BGP session has been in the + Established state, or the current status if not in the Established state. + :type up_down: str + :param state_or_prefixes_received: Current state of the BGP session, and + the number of prefixes that have been received from a neighbor or peer + group. + :type state_or_prefixes_received: str + """ + + _attribute_map = { + 'neighbor': {'key': 'neighbor', 'type': 'str'}, + 'asn': {'key': 'asn', 'type': 'int'}, + 'up_down': {'key': 'upDown', 'type': 'str'}, + 'state_or_prefixes_received': {'key': 'stateOrPrefixesReceived', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteCrossConnectionRoutesTableSummary, self).__init__(**kwargs) + self.neighbor = kwargs.get('neighbor', None) + self.asn = kwargs.get('asn', None) + self.up_down = kwargs.get('up_down', None) + self.state_or_prefixes_received = kwargs.get('state_or_prefixes_received', None) + + +class ExpressRouteCrossConnectionsRoutesTableSummaryListResult(Model): + """Response for ListRoutesTable associated with the Express Route Cross + Connections. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param value: A list of the routes table. + :type value: + list[~azure.mgmt.network.v2020_05_01.models.ExpressRouteCrossConnectionRoutesTableSummary] + :ivar next_link: The URL to get the next set of results. + :vartype next_link: str + """ + + _validation = { + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ExpressRouteCrossConnectionRoutesTableSummary]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteCrossConnectionsRoutesTableSummaryListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = None + + +class ExpressRouteGateway(Resource): + """ExpressRoute gateway resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param auto_scale_configuration: Configuration for auto scaling. + :type auto_scale_configuration: + ~azure.mgmt.network.v2020_05_01.models.ExpressRouteGatewayPropertiesAutoScaleConfiguration + :ivar express_route_connections: List of ExpressRoute connections to the + ExpressRoute gateway. + :vartype express_route_connections: + list[~azure.mgmt.network.v2020_05_01.models.ExpressRouteConnection] + :ivar provisioning_state: The provisioning state of the express route + gateway resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param virtual_hub: Required. The Virtual Hub where the ExpressRoute + gateway is or will be deployed. + :type virtual_hub: ~azure.mgmt.network.v2020_05_01.models.VirtualHubId + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'express_route_connections': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'virtual_hub': {'required': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'auto_scale_configuration': {'key': 'properties.autoScaleConfiguration', 'type': 'ExpressRouteGatewayPropertiesAutoScaleConfiguration'}, + 'express_route_connections': {'key': 'properties.expressRouteConnections', 'type': '[ExpressRouteConnection]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'virtual_hub': {'key': 'properties.virtualHub', 'type': 'VirtualHubId'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteGateway, self).__init__(**kwargs) + self.auto_scale_configuration = kwargs.get('auto_scale_configuration', None) + self.express_route_connections = None + self.provisioning_state = None + self.virtual_hub = kwargs.get('virtual_hub', None) + self.etag = None + + +class ExpressRouteGatewayList(Model): + """List of ExpressRoute gateways. + + :param value: List of ExpressRoute gateways. + :type value: + list[~azure.mgmt.network.v2020_05_01.models.ExpressRouteGateway] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ExpressRouteGateway]'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteGatewayList, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + + +class ExpressRouteGatewayPropertiesAutoScaleConfiguration(Model): + """Configuration for auto scaling. + + :param bounds: Minimum and maximum number of scale units to deploy. + :type bounds: + ~azure.mgmt.network.v2020_05_01.models.ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds + """ + + _attribute_map = { + 'bounds': {'key': 'bounds', 'type': 'ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteGatewayPropertiesAutoScaleConfiguration, self).__init__(**kwargs) + self.bounds = kwargs.get('bounds', None) + + +class ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds(Model): + """Minimum and maximum number of scale units to deploy. + + :param min: Minimum number of scale units deployed for ExpressRoute + gateway. + :type min: int + :param max: Maximum number of scale units deployed for ExpressRoute + gateway. + :type max: int + """ + + _attribute_map = { + 'min': {'key': 'min', 'type': 'int'}, + 'max': {'key': 'max', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds, self).__init__(**kwargs) + self.min = kwargs.get('min', None) + self.max = kwargs.get('max', None) + + +class ExpressRouteLink(SubResource): + """ExpressRouteLink. + + ExpressRouteLink child resource definition. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar router_name: Name of Azure router associated with physical port. + :vartype router_name: str + :ivar interface_name: Name of Azure router interface. + :vartype interface_name: str + :ivar patch_panel_id: Mapping between physical port to patch panel port. + :vartype patch_panel_id: str + :ivar rack_id: Mapping of physical patch panel to rack. + :vartype rack_id: str + :ivar connector_type: Physical fiber port type. Possible values include: + 'LC', 'SC' + :vartype connector_type: str or + ~azure.mgmt.network.v2020_05_01.models.ExpressRouteLinkConnectorType + :param admin_state: Administrative state of the physical port. Possible + values include: 'Enabled', 'Disabled' + :type admin_state: str or + ~azure.mgmt.network.v2020_05_01.models.ExpressRouteLinkAdminState + :ivar provisioning_state: The provisioning state of the express route link + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param mac_sec_config: MacSec configuration. + :type mac_sec_config: + ~azure.mgmt.network.v2020_05_01.models.ExpressRouteLinkMacSecConfig + :param name: Name of child port resource that is unique among child port + resources of the parent. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'router_name': {'readonly': True}, + 'interface_name': {'readonly': True}, + 'patch_panel_id': {'readonly': True}, + 'rack_id': {'readonly': True}, + 'connector_type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'router_name': {'key': 'properties.routerName', 'type': 'str'}, + 'interface_name': {'key': 'properties.interfaceName', 'type': 'str'}, + 'patch_panel_id': {'key': 'properties.patchPanelId', 'type': 'str'}, + 'rack_id': {'key': 'properties.rackId', 'type': 'str'}, + 'connector_type': {'key': 'properties.connectorType', 'type': 'str'}, + 'admin_state': {'key': 'properties.adminState', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'mac_sec_config': {'key': 'properties.macSecConfig', 'type': 'ExpressRouteLinkMacSecConfig'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteLink, self).__init__(**kwargs) + self.router_name = None + self.interface_name = None + self.patch_panel_id = None + self.rack_id = None + self.connector_type = None + self.admin_state = kwargs.get('admin_state', None) + self.provisioning_state = None + self.mac_sec_config = kwargs.get('mac_sec_config', None) + self.name = kwargs.get('name', None) + self.etag = None + + +class ExpressRouteLinkMacSecConfig(Model): + """Definition of ExpressRouteLink Mac Security configuration. + + ExpressRouteLink Mac Security Configuration. + + :param ckn_secret_identifier: Keyvault Secret Identifier URL containing + Mac security CKN key. + :type ckn_secret_identifier: str + :param cak_secret_identifier: Keyvault Secret Identifier URL containing + Mac security CAK key. + :type cak_secret_identifier: str + :param cipher: Mac security cipher. Possible values include: + 'gcm-aes-128', 'gcm-aes-256' + :type cipher: str or + ~azure.mgmt.network.v2020_05_01.models.ExpressRouteLinkMacSecCipher + """ + + _attribute_map = { + 'ckn_secret_identifier': {'key': 'cknSecretIdentifier', 'type': 'str'}, + 'cak_secret_identifier': {'key': 'cakSecretIdentifier', 'type': 'str'}, + 'cipher': {'key': 'cipher', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteLinkMacSecConfig, self).__init__(**kwargs) + self.ckn_secret_identifier = kwargs.get('ckn_secret_identifier', None) + self.cak_secret_identifier = kwargs.get('cak_secret_identifier', None) + self.cipher = kwargs.get('cipher', None) + + +class ExpressRoutePort(Resource): + """ExpressRoute Port. + + ExpressRoutePort resource definition. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param peering_location: The name of the peering location that the + ExpressRoutePort is mapped to physically. + :type peering_location: str + :param bandwidth_in_gbps: Bandwidth of procured ports in Gbps. + :type bandwidth_in_gbps: int + :ivar provisioned_bandwidth_in_gbps: Aggregate Gbps of associated circuit + bandwidths. + :vartype provisioned_bandwidth_in_gbps: float + :ivar mtu: Maximum transmission unit of the physical port pair(s). + :vartype mtu: str + :param encapsulation: Encapsulation method on physical ports. Possible + values include: 'Dot1Q', 'QinQ' + :type encapsulation: str or + ~azure.mgmt.network.v2020_05_01.models.ExpressRoutePortsEncapsulation + :ivar ether_type: Ether type of the physical port. + :vartype ether_type: str + :ivar allocation_date: Date of the physical port allocation to be used in + Letter of Authorization. + :vartype allocation_date: str + :param links: ExpressRouteLink Sub-Resources. The set of physical links of + the ExpressRoutePort resource. + :type links: list[~azure.mgmt.network.v2020_05_01.models.ExpressRouteLink] + :ivar circuits: Reference the ExpressRoute circuit(s) that are provisioned + on this ExpressRoutePort resource. + :vartype circuits: + list[~azure.mgmt.network.v2020_05_01.models.SubResource] + :ivar provisioning_state: The provisioning state of the express route port + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :ivar resource_guid: The resource GUID property of the express route port + resource. + :vartype resource_guid: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :param identity: The identity of ExpressRoutePort, if configured. + :type identity: + ~azure.mgmt.network.v2020_05_01.models.ManagedServiceIdentity + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioned_bandwidth_in_gbps': {'readonly': True}, + 'mtu': {'readonly': True}, + 'ether_type': {'readonly': True}, + 'allocation_date': {'readonly': True}, + 'circuits': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'resource_guid': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'peering_location': {'key': 'properties.peeringLocation', 'type': 'str'}, + 'bandwidth_in_gbps': {'key': 'properties.bandwidthInGbps', 'type': 'int'}, + 'provisioned_bandwidth_in_gbps': {'key': 'properties.provisionedBandwidthInGbps', 'type': 'float'}, + 'mtu': {'key': 'properties.mtu', 'type': 'str'}, + 'encapsulation': {'key': 'properties.encapsulation', 'type': 'str'}, + 'ether_type': {'key': 'properties.etherType', 'type': 'str'}, + 'allocation_date': {'key': 'properties.allocationDate', 'type': 'str'}, + 'links': {'key': 'properties.links', 'type': '[ExpressRouteLink]'}, + 'circuits': {'key': 'properties.circuits', 'type': '[SubResource]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, + } + + def __init__(self, **kwargs): + super(ExpressRoutePort, self).__init__(**kwargs) + self.peering_location = kwargs.get('peering_location', None) + self.bandwidth_in_gbps = kwargs.get('bandwidth_in_gbps', None) + self.provisioned_bandwidth_in_gbps = None + self.mtu = None + self.encapsulation = kwargs.get('encapsulation', None) + self.ether_type = None + self.allocation_date = None + self.links = kwargs.get('links', None) + self.circuits = None + self.provisioning_state = None + self.resource_guid = None + self.etag = None + self.identity = kwargs.get('identity', None) + + +class ExpressRoutePortsLocation(Resource): + """ExpressRoutePorts Peering Location. + + Definition of the ExpressRoutePorts peering location resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar address: Address of peering location. + :vartype address: str + :ivar contact: Contact details of peering locations. + :vartype contact: str + :param available_bandwidths: The inventory of available ExpressRoutePort + bandwidths. + :type available_bandwidths: + list[~azure.mgmt.network.v2020_05_01.models.ExpressRoutePortsLocationBandwidths] + :ivar provisioning_state: The provisioning state of the express route port + location resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'address': {'readonly': True}, + 'contact': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'address': {'key': 'properties.address', 'type': 'str'}, + 'contact': {'key': 'properties.contact', 'type': 'str'}, + 'available_bandwidths': {'key': 'properties.availableBandwidths', 'type': '[ExpressRoutePortsLocationBandwidths]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExpressRoutePortsLocation, self).__init__(**kwargs) + self.address = None + self.contact = None + self.available_bandwidths = kwargs.get('available_bandwidths', None) + self.provisioning_state = None + + +class ExpressRoutePortsLocationBandwidths(Model): + """ExpressRoutePorts Location Bandwidths. + + Real-time inventory of available ExpressRoute port bandwidths. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar offer_name: Bandwidth descriptive name. + :vartype offer_name: str + :ivar value_in_gbps: Bandwidth value in Gbps. + :vartype value_in_gbps: int + """ + + _validation = { + 'offer_name': {'readonly': True}, + 'value_in_gbps': {'readonly': True}, + } + + _attribute_map = { + 'offer_name': {'key': 'offerName', 'type': 'str'}, + 'value_in_gbps': {'key': 'valueInGbps', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(ExpressRoutePortsLocationBandwidths, self).__init__(**kwargs) + self.offer_name = None + self.value_in_gbps = None + + +class ExpressRouteServiceProvider(Resource): + """A ExpressRouteResourceProvider object. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param peering_locations: A list of peering locations. + :type peering_locations: list[str] + :param bandwidths_offered: A list of bandwidths offered. + :type bandwidths_offered: + list[~azure.mgmt.network.v2020_05_01.models.ExpressRouteServiceProviderBandwidthsOffered] + :ivar provisioning_state: The provisioning state of the express route + service provider resource. Possible values include: 'Succeeded', + 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'peering_locations': {'key': 'properties.peeringLocations', 'type': '[str]'}, + 'bandwidths_offered': {'key': 'properties.bandwidthsOffered', 'type': '[ExpressRouteServiceProviderBandwidthsOffered]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteServiceProvider, self).__init__(**kwargs) + self.peering_locations = kwargs.get('peering_locations', None) + self.bandwidths_offered = kwargs.get('bandwidths_offered', None) + self.provisioning_state = None + + +class ExpressRouteServiceProviderBandwidthsOffered(Model): + """Contains bandwidths offered in ExpressRouteServiceProvider resources. + + :param offer_name: The OfferName. + :type offer_name: str + :param value_in_mbps: The ValueInMbps. + :type value_in_mbps: int + """ + + _attribute_map = { + 'offer_name': {'key': 'offerName', 'type': 'str'}, + 'value_in_mbps': {'key': 'valueInMbps', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteServiceProviderBandwidthsOffered, self).__init__(**kwargs) + self.offer_name = kwargs.get('offer_name', None) + self.value_in_mbps = kwargs.get('value_in_mbps', None) + + +class FirewallPolicy(Resource): + """FirewallPolicy Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar rule_collection_groups: List of references to + FirewallPolicyRuleCollectionGroups. + :vartype rule_collection_groups: + list[~azure.mgmt.network.v2020_05_01.models.SubResource] + :ivar provisioning_state: The provisioning state of the firewall policy + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param base_policy: The parent firewall policy from which rules are + inherited. + :type base_policy: ~azure.mgmt.network.v2020_05_01.models.SubResource + :ivar firewalls: List of references to Azure Firewalls that this Firewall + Policy is associated with. + :vartype firewalls: + list[~azure.mgmt.network.v2020_05_01.models.SubResource] + :ivar child_policies: List of references to Child Firewall Policies. + :vartype child_policies: + list[~azure.mgmt.network.v2020_05_01.models.SubResource] + :param threat_intel_mode: The operation mode for Threat Intelligence. + Possible values include: 'Alert', 'Deny', 'Off' + :type threat_intel_mode: str or + ~azure.mgmt.network.v2020_05_01.models.AzureFirewallThreatIntelMode + :param threat_intel_whitelist: ThreatIntel Whitelist for Firewall Policy. + :type threat_intel_whitelist: + ~azure.mgmt.network.v2020_05_01.models.FirewallPolicyThreatIntelWhitelist + :param intrusion_system_mode: The operation mode for Intrusion system. + Possible values include: 'Enabled', 'Disabled' + :type intrusion_system_mode: str or + ~azure.mgmt.network.v2020_05_01.models.FirewallPolicyIntrusionSystemMode + :param transport_security: TLS Configuration definition. + :type transport_security: + ~azure.mgmt.network.v2020_05_01.models.FirewallPolicyTransportSecurity + :param dns_settings: DNS Proxy Settings definition. + :type dns_settings: ~azure.mgmt.network.v2020_05_01.models.DnsSettings + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :param identity: The identity of the firewall policy. + :type identity: + ~azure.mgmt.network.v2020_05_01.models.ManagedServiceIdentity + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'rule_collection_groups': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'firewalls': {'readonly': True}, + 'child_policies': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'rule_collection_groups': {'key': 'properties.ruleCollectionGroups', 'type': '[SubResource]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'base_policy': {'key': 'properties.basePolicy', 'type': 'SubResource'}, + 'firewalls': {'key': 'properties.firewalls', 'type': '[SubResource]'}, + 'child_policies': {'key': 'properties.childPolicies', 'type': '[SubResource]'}, + 'threat_intel_mode': {'key': 'properties.threatIntelMode', 'type': 'str'}, + 'threat_intel_whitelist': {'key': 'properties.threatIntelWhitelist', 'type': 'FirewallPolicyThreatIntelWhitelist'}, + 'intrusion_system_mode': {'key': 'properties.intrusionSystemMode', 'type': 'str'}, + 'transport_security': {'key': 'properties.transportSecurity', 'type': 'FirewallPolicyTransportSecurity'}, + 'dns_settings': {'key': 'properties.dnsSettings', 'type': 'DnsSettings'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, + } + + def __init__(self, **kwargs): + super(FirewallPolicy, self).__init__(**kwargs) + self.rule_collection_groups = None + self.provisioning_state = None + self.base_policy = kwargs.get('base_policy', None) + self.firewalls = None + self.child_policies = None + self.threat_intel_mode = kwargs.get('threat_intel_mode', None) + self.threat_intel_whitelist = kwargs.get('threat_intel_whitelist', None) + self.intrusion_system_mode = kwargs.get('intrusion_system_mode', None) + self.transport_security = kwargs.get('transport_security', None) + self.dns_settings = kwargs.get('dns_settings', None) + self.etag = None + self.identity = kwargs.get('identity', None) + + +class FirewallPolicyCertificateAuthority(Model): + """Trusted Root certificates properties for tls. + + :param key_vault_secret_id: Secret Id of (base-64 encoded unencrypted pfx) + 'Secret' or 'Certificate' object stored in KeyVault. + :type key_vault_secret_id: str + :param name: Name of the CA certificate. + :type name: str + """ + + _attribute_map = { + 'key_vault_secret_id': {'key': 'properties.keyVaultSecretId', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(FirewallPolicyCertificateAuthority, self).__init__(**kwargs) + self.key_vault_secret_id = kwargs.get('key_vault_secret_id', None) + self.name = kwargs.get('name', None) + + +class FirewallPolicyRuleCollection(Model): + """Properties of the rule collection. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: FirewallPolicyNatRuleCollection, + FirewallPolicyFilterRuleCollection + + All required parameters must be populated in order to send to Azure. + + :param name: The name of the rule collection. + :type name: str + :param priority: Priority of the Firewall Policy Rule Collection resource. + :type priority: int + :param rule_collection_type: Required. Constant filled by server. + :type rule_collection_type: str + """ + + _validation = { + 'priority': {'maximum': 65000, 'minimum': 100}, + 'rule_collection_type': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'priority': {'key': 'priority', 'type': 'int'}, + 'rule_collection_type': {'key': 'ruleCollectionType', 'type': 'str'}, + } + + _subtype_map = { + 'rule_collection_type': {'FirewallPolicyNatRuleCollection': 'FirewallPolicyNatRuleCollection', 'FirewallPolicyFilterRuleCollection': 'FirewallPolicyFilterRuleCollection'} + } + + def __init__(self, **kwargs): + super(FirewallPolicyRuleCollection, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.priority = kwargs.get('priority', None) + self.rule_collection_type = None + + +class FirewallPolicyFilterRuleCollection(FirewallPolicyRuleCollection): + """Firewall Policy Filter Rule Collection. + + All required parameters must be populated in order to send to Azure. + + :param name: The name of the rule collection. + :type name: str + :param priority: Priority of the Firewall Policy Rule Collection resource. + :type priority: int + :param rule_collection_type: Required. Constant filled by server. + :type rule_collection_type: str + :param action: The action type of a Filter rule collection. + :type action: + ~azure.mgmt.network.v2020_05_01.models.FirewallPolicyFilterRuleCollectionAction + :param rules: List of rules included in a rule collection. + :type rules: + list[~azure.mgmt.network.v2020_05_01.models.FirewallPolicyRule] + """ + + _validation = { + 'priority': {'maximum': 65000, 'minimum': 100}, + 'rule_collection_type': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'priority': {'key': 'priority', 'type': 'int'}, + 'rule_collection_type': {'key': 'ruleCollectionType', 'type': 'str'}, + 'action': {'key': 'action', 'type': 'FirewallPolicyFilterRuleCollectionAction'}, + 'rules': {'key': 'rules', 'type': '[FirewallPolicyRule]'}, + } + + def __init__(self, **kwargs): + super(FirewallPolicyFilterRuleCollection, self).__init__(**kwargs) + self.action = kwargs.get('action', None) + self.rules = kwargs.get('rules', None) + self.rule_collection_type = 'FirewallPolicyFilterRuleCollection' + + +class FirewallPolicyFilterRuleCollectionAction(Model): + """Properties of the FirewallPolicyFilterRuleCollectionAction. + + :param type: The type of action. Possible values include: 'Allow', 'Deny' + :type type: str or + ~azure.mgmt.network.v2020_05_01.models.FirewallPolicyFilterRuleCollectionActionType + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(FirewallPolicyFilterRuleCollectionAction, self).__init__(**kwargs) + self.type = kwargs.get('type', None) + + +class FirewallPolicyNatRuleCollection(FirewallPolicyRuleCollection): + """Firewall Policy NAT Rule Collection. + + All required parameters must be populated in order to send to Azure. + + :param name: The name of the rule collection. + :type name: str + :param priority: Priority of the Firewall Policy Rule Collection resource. + :type priority: int + :param rule_collection_type: Required. Constant filled by server. + :type rule_collection_type: str + :param action: The action type of a Nat rule collection. + :type action: + ~azure.mgmt.network.v2020_05_01.models.FirewallPolicyNatRuleCollectionAction + :param rules: List of rules included in a rule collection. + :type rules: + list[~azure.mgmt.network.v2020_05_01.models.FirewallPolicyRule] + """ + + _validation = { + 'priority': {'maximum': 65000, 'minimum': 100}, + 'rule_collection_type': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'priority': {'key': 'priority', 'type': 'int'}, + 'rule_collection_type': {'key': 'ruleCollectionType', 'type': 'str'}, + 'action': {'key': 'action', 'type': 'FirewallPolicyNatRuleCollectionAction'}, + 'rules': {'key': 'rules', 'type': '[FirewallPolicyRule]'}, + } + + def __init__(self, **kwargs): + super(FirewallPolicyNatRuleCollection, self).__init__(**kwargs) + self.action = kwargs.get('action', None) + self.rules = kwargs.get('rules', None) + self.rule_collection_type = 'FirewallPolicyNatRuleCollection' + + +class FirewallPolicyNatRuleCollectionAction(Model): + """Properties of the FirewallPolicyNatRuleCollectionAction. + + :param type: The type of action. Possible values include: 'DNAT' + :type type: str or + ~azure.mgmt.network.v2020_05_01.models.FirewallPolicyNatRuleCollectionActionType + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(FirewallPolicyNatRuleCollectionAction, self).__init__(**kwargs) + self.type = kwargs.get('type', None) + + +class FirewallPolicyRuleApplicationProtocol(Model): + """Properties of the application rule protocol. + + :param protocol_type: Protocol type. Possible values include: 'Http', + 'Https' + :type protocol_type: str or + ~azure.mgmt.network.v2020_05_01.models.FirewallPolicyRuleApplicationProtocolType + :param port: Port number for the protocol, cannot be greater than 64000. + :type port: int + """ + + _validation = { + 'port': {'maximum': 64000, 'minimum': 0}, + } + + _attribute_map = { + 'protocol_type': {'key': 'protocolType', 'type': 'str'}, + 'port': {'key': 'port', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(FirewallPolicyRuleApplicationProtocol, self).__init__(**kwargs) + self.protocol_type = kwargs.get('protocol_type', None) + self.port = kwargs.get('port', None) + + +class FirewallPolicyRuleCollectionGroup(SubResource): + """Rule Collection Group resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param priority: Priority of the Firewall Policy Rule Collection Group + resource. + :type priority: int + :param rule_collections: Group of Firewall Policy rule collections. + :type rule_collections: + list[~azure.mgmt.network.v2020_05_01.models.FirewallPolicyRuleCollection] + :ivar provisioning_state: The provisioning state of the firewall policy + rule collection group resource. Possible values include: 'Succeeded', + 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Rule Group type. + :vartype type: str + """ + + _validation = { + 'priority': {'maximum': 65000, 'minimum': 100}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'priority': {'key': 'properties.priority', 'type': 'int'}, + 'rule_collections': {'key': 'properties.ruleCollections', 'type': '[FirewallPolicyRuleCollection]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(FirewallPolicyRuleCollectionGroup, self).__init__(**kwargs) + self.priority = kwargs.get('priority', None) + self.rule_collections = kwargs.get('rule_collections', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = None + self.type = None + + +class FirewallPolicyThreatIntelWhitelist(Model): + """ThreatIntel Whitelist for Firewall Policy. + + :param ip_addresses: List of IP addresses for the ThreatIntel Whitelist. + :type ip_addresses: list[str] + :param fqdns: List of FQDNs for the ThreatIntel Whitelist. + :type fqdns: list[str] + """ + + _attribute_map = { + 'ip_addresses': {'key': 'ipAddresses', 'type': '[str]'}, + 'fqdns': {'key': 'fqdns', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(FirewallPolicyThreatIntelWhitelist, self).__init__(**kwargs) + self.ip_addresses = kwargs.get('ip_addresses', None) + self.fqdns = kwargs.get('fqdns', None) + + +class FirewallPolicyTransportSecurity(Model): + """Configuration needed to perform TLS termination & initiation. + + :param certificate_authority: The CA used for intermediate CA generation. + :type certificate_authority: + ~azure.mgmt.network.v2020_05_01.models.FirewallPolicyCertificateAuthority + :param excluded_domains: List of domains which are excluded from TLS + termination. + :type excluded_domains: list[str] + :param trusted_root_certificates: Certificates which are to be trusted by + the firewall. + :type trusted_root_certificates: + list[~azure.mgmt.network.v2020_05_01.models.FirewallPolicyTrustedRootCertificate] + """ + + _attribute_map = { + 'certificate_authority': {'key': 'certificateAuthority', 'type': 'FirewallPolicyCertificateAuthority'}, + 'excluded_domains': {'key': 'excludedDomains', 'type': '[str]'}, + 'trusted_root_certificates': {'key': 'trustedRootCertificates', 'type': '[FirewallPolicyTrustedRootCertificate]'}, + } + + def __init__(self, **kwargs): + super(FirewallPolicyTransportSecurity, self).__init__(**kwargs) + self.certificate_authority = kwargs.get('certificate_authority', None) + self.excluded_domains = kwargs.get('excluded_domains', None) + self.trusted_root_certificates = kwargs.get('trusted_root_certificates', None) + + +class FirewallPolicyTrustedRootCertificate(Model): + """Trusted Root certificates of a firewall policy. + + :param key_vault_secret_id: Secret Id of (base-64 encoded unencrypted pfx) + the public certificate data stored in KeyVault. + :type key_vault_secret_id: str + :param name: Name of the trusted root certificate that is unique within a + firewall policy. + :type name: str + """ + + _attribute_map = { + 'key_vault_secret_id': {'key': 'properties.keyVaultSecretId', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(FirewallPolicyTrustedRootCertificate, self).__init__(**kwargs) + self.key_vault_secret_id = kwargs.get('key_vault_secret_id', None) + self.name = kwargs.get('name', None) + + +class FlowLog(Resource): + """A flow log resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param target_resource_id: Required. ID of network security group to which + flow log will be applied. + :type target_resource_id: str + :ivar target_resource_guid: Guid of network security group to which flow + log will be applied. + :vartype target_resource_guid: str + :param storage_id: Required. ID of the storage account which is used to + store the flow log. + :type storage_id: str + :param enabled: Flag to enable/disable flow logging. + :type enabled: bool + :param retention_policy: Parameters that define the retention policy for + flow log. + :type retention_policy: + ~azure.mgmt.network.v2020_05_01.models.RetentionPolicyParameters + :param format: Parameters that define the flow log format. + :type format: + ~azure.mgmt.network.v2020_05_01.models.FlowLogFormatParameters + :param flow_analytics_configuration: Parameters that define the + configuration of traffic analytics. + :type flow_analytics_configuration: + ~azure.mgmt.network.v2020_05_01.models.TrafficAnalyticsProperties + :ivar provisioning_state: The provisioning state of the flow log. Possible + values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'target_resource_id': {'required': True}, + 'target_resource_guid': {'readonly': True}, + 'storage_id': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'target_resource_id': {'key': 'properties.targetResourceId', 'type': 'str'}, + 'target_resource_guid': {'key': 'properties.targetResourceGuid', 'type': 'str'}, + 'storage_id': {'key': 'properties.storageId', 'type': 'str'}, + 'enabled': {'key': 'properties.enabled', 'type': 'bool'}, + 'retention_policy': {'key': 'properties.retentionPolicy', 'type': 'RetentionPolicyParameters'}, + 'format': {'key': 'properties.format', 'type': 'FlowLogFormatParameters'}, + 'flow_analytics_configuration': {'key': 'properties.flowAnalyticsConfiguration', 'type': 'TrafficAnalyticsProperties'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(FlowLog, self).__init__(**kwargs) + self.target_resource_id = kwargs.get('target_resource_id', None) + self.target_resource_guid = None + self.storage_id = kwargs.get('storage_id', None) + self.enabled = kwargs.get('enabled', None) + self.retention_policy = kwargs.get('retention_policy', None) + self.format = kwargs.get('format', None) + self.flow_analytics_configuration = kwargs.get('flow_analytics_configuration', None) + self.provisioning_state = None + self.etag = None + + +class FlowLogFormatParameters(Model): + """Parameters that define the flow log format. + + :param type: The file type of flow log. Possible values include: 'JSON' + :type type: str or + ~azure.mgmt.network.v2020_05_01.models.FlowLogFormatType + :param version: The version (revision) of the flow log. Default value: 0 . + :type version: int + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'version': {'key': 'version', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(FlowLogFormatParameters, self).__init__(**kwargs) + self.type = kwargs.get('type', None) + self.version = kwargs.get('version', 0) + + +class FlowLogInformation(Model): + """Information on the configuration of flow log and traffic analytics + (optional) . + + All required parameters must be populated in order to send to Azure. + + :param target_resource_id: Required. The ID of the resource to configure + for flow log and traffic analytics (optional) . + :type target_resource_id: str + :param storage_id: Required. ID of the storage account which is used to + store the flow log. + :type storage_id: str + :param enabled: Required. Flag to enable/disable flow logging. + :type enabled: bool + :param retention_policy: Parameters that define the retention policy for + flow log. + :type retention_policy: + ~azure.mgmt.network.v2020_05_01.models.RetentionPolicyParameters + :param format: Parameters that define the flow log format. + :type format: + ~azure.mgmt.network.v2020_05_01.models.FlowLogFormatParameters + :param flow_analytics_configuration: Parameters that define the + configuration of traffic analytics. + :type flow_analytics_configuration: + ~azure.mgmt.network.v2020_05_01.models.TrafficAnalyticsProperties + """ + + _validation = { + 'target_resource_id': {'required': True}, + 'storage_id': {'required': True}, + 'enabled': {'required': True}, + } + + _attribute_map = { + 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, + 'storage_id': {'key': 'properties.storageId', 'type': 'str'}, + 'enabled': {'key': 'properties.enabled', 'type': 'bool'}, + 'retention_policy': {'key': 'properties.retentionPolicy', 'type': 'RetentionPolicyParameters'}, + 'format': {'key': 'properties.format', 'type': 'FlowLogFormatParameters'}, + 'flow_analytics_configuration': {'key': 'flowAnalyticsConfiguration', 'type': 'TrafficAnalyticsProperties'}, + } + + def __init__(self, **kwargs): + super(FlowLogInformation, self).__init__(**kwargs) + self.target_resource_id = kwargs.get('target_resource_id', None) + self.storage_id = kwargs.get('storage_id', None) + self.enabled = kwargs.get('enabled', None) + self.retention_policy = kwargs.get('retention_policy', None) + self.format = kwargs.get('format', None) + self.flow_analytics_configuration = kwargs.get('flow_analytics_configuration', None) + + +class FlowLogStatusParameters(Model): + """Parameters that define a resource to query flow log and traffic analytics + (optional) status. + + All required parameters must be populated in order to send to Azure. + + :param target_resource_id: Required. The target resource where getting the + flow log and traffic analytics (optional) status. + :type target_resource_id: str + """ + + _validation = { + 'target_resource_id': {'required': True}, + } + + _attribute_map = { + 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(FlowLogStatusParameters, self).__init__(**kwargs) + self.target_resource_id = kwargs.get('target_resource_id', None) + + +class FrontendIPConfiguration(SubResource): + """Frontend IP address of the load balancer. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar inbound_nat_rules: An array of references to inbound rules that use + this frontend IP. + :vartype inbound_nat_rules: + list[~azure.mgmt.network.v2020_05_01.models.SubResource] + :ivar inbound_nat_pools: An array of references to inbound pools that use + this frontend IP. + :vartype inbound_nat_pools: + list[~azure.mgmt.network.v2020_05_01.models.SubResource] + :ivar outbound_rules: An array of references to outbound rules that use + this frontend IP. + :vartype outbound_rules: + list[~azure.mgmt.network.v2020_05_01.models.SubResource] + :ivar load_balancing_rules: An array of references to load balancing rules + that use this frontend IP. + :vartype load_balancing_rules: + list[~azure.mgmt.network.v2020_05_01.models.SubResource] + :param private_ip_address: The private IP address of the IP configuration. + :type private_ip_address: str + :param private_ip_allocation_method: The Private IP allocation method. + Possible values include: 'Static', 'Dynamic' + :type private_ip_allocation_method: str or + ~azure.mgmt.network.v2020_05_01.models.IPAllocationMethod + :param private_ip_address_version: Whether the specific ipconfiguration is + IPv4 or IPv6. Default is taken as IPv4. Possible values include: 'IPv4', + 'IPv6' + :type private_ip_address_version: str or + ~azure.mgmt.network.v2020_05_01.models.IPVersion + :param subnet: The reference to the subnet resource. + :type subnet: ~azure.mgmt.network.v2020_05_01.models.Subnet + :param public_ip_address: The reference to the Public IP resource. + :type public_ip_address: + ~azure.mgmt.network.v2020_05_01.models.PublicIPAddress + :param public_ip_prefix: The reference to the Public IP Prefix resource. + :type public_ip_prefix: ~azure.mgmt.network.v2020_05_01.models.SubResource + :ivar provisioning_state: The provisioning state of the frontend IP + configuration resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: The name of the resource that is unique within the set of + frontend IP configurations used by the load balancer. This name can be + used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + :param zones: A list of availability zones denoting the IP allocated for + the resource needs to come from. + :type zones: list[str] + """ + + _validation = { + 'inbound_nat_rules': {'readonly': True}, + 'inbound_nat_pools': {'readonly': True}, + 'outbound_rules': {'readonly': True}, + 'load_balancing_rules': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'inbound_nat_rules': {'key': 'properties.inboundNatRules', 'type': '[SubResource]'}, + 'inbound_nat_pools': {'key': 'properties.inboundNatPools', 'type': '[SubResource]'}, + 'outbound_rules': {'key': 'properties.outboundRules', 'type': '[SubResource]'}, + 'load_balancing_rules': {'key': 'properties.loadBalancingRules', 'type': '[SubResource]'}, + 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, + 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, + 'private_ip_address_version': {'key': 'properties.privateIPAddressVersion', 'type': 'str'}, + 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, + 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'PublicIPAddress'}, + 'public_ip_prefix': {'key': 'properties.publicIPPrefix', 'type': 'SubResource'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'zones': {'key': 'zones', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(FrontendIPConfiguration, self).__init__(**kwargs) + self.inbound_nat_rules = None + self.inbound_nat_pools = None + self.outbound_rules = None + self.load_balancing_rules = None + self.private_ip_address = kwargs.get('private_ip_address', None) + self.private_ip_allocation_method = kwargs.get('private_ip_allocation_method', None) + self.private_ip_address_version = kwargs.get('private_ip_address_version', None) + self.subnet = kwargs.get('subnet', None) + self.public_ip_address = kwargs.get('public_ip_address', None) + self.public_ip_prefix = kwargs.get('public_ip_prefix', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = None + self.type = None + self.zones = kwargs.get('zones', None) + + +class GatewayRoute(Model): + """Gateway routing details. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar local_address: The gateway's local address. + :vartype local_address: str + :ivar network: The route's network prefix. + :vartype network: str + :ivar next_hop: The route's next hop. + :vartype next_hop: str + :ivar source_peer: The peer this route was learned from. + :vartype source_peer: str + :ivar origin: The source this route was learned from. + :vartype origin: str + :ivar as_path: The route's AS path sequence. + :vartype as_path: str + :ivar weight: The route's weight. + :vartype weight: int + """ + + _validation = { + 'local_address': {'readonly': True}, + 'network': {'readonly': True}, + 'next_hop': {'readonly': True}, + 'source_peer': {'readonly': True}, + 'origin': {'readonly': True}, + 'as_path': {'readonly': True}, + 'weight': {'readonly': True}, + } + + _attribute_map = { + 'local_address': {'key': 'localAddress', 'type': 'str'}, + 'network': {'key': 'network', 'type': 'str'}, + 'next_hop': {'key': 'nextHop', 'type': 'str'}, + 'source_peer': {'key': 'sourcePeer', 'type': 'str'}, + 'origin': {'key': 'origin', 'type': 'str'}, + 'as_path': {'key': 'asPath', 'type': 'str'}, + 'weight': {'key': 'weight', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(GatewayRoute, self).__init__(**kwargs) + self.local_address = None + self.network = None + self.next_hop = None + self.source_peer = None + self.origin = None + self.as_path = None + self.weight = None + + +class GatewayRouteListResult(Model): + """List of virtual network gateway routes. + + :param value: List of gateway routes. + :type value: list[~azure.mgmt.network.v2020_05_01.models.GatewayRoute] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[GatewayRoute]'}, + } + + def __init__(self, **kwargs): + super(GatewayRouteListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + + +class GetVpnSitesConfigurationRequest(Model): + """List of Vpn-Sites. + + All required parameters must be populated in order to send to Azure. + + :param vpn_sites: List of resource-ids of the vpn-sites for which config + is to be downloaded. + :type vpn_sites: list[str] + :param output_blob_sas_url: Required. The sas-url to download the + configurations for vpn-sites. + :type output_blob_sas_url: str + """ + + _validation = { + 'output_blob_sas_url': {'required': True}, + } + + _attribute_map = { + 'vpn_sites': {'key': 'vpnSites', 'type': '[str]'}, + 'output_blob_sas_url': {'key': 'outputBlobSasUrl', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(GetVpnSitesConfigurationRequest, self).__init__(**kwargs) + self.vpn_sites = kwargs.get('vpn_sites', None) + self.output_blob_sas_url = kwargs.get('output_blob_sas_url', None) + + +class HopLink(Model): + """Hop link. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar next_hop_id: The ID of the next hop. + :vartype next_hop_id: str + :ivar link_type: Link type. + :vartype link_type: str + :ivar round_trip_time_min: Minimum roundtrip time in milliseconds. + :vartype round_trip_time_min: int + :ivar round_trip_time_avg: Average roundtrip time in milliseconds. + :vartype round_trip_time_avg: int + :ivar round_trip_time_max: Maximum roundtrip time in milliseconds. + :vartype round_trip_time_max: int + :ivar issues: List of issues. + :vartype issues: + list[~azure.mgmt.network.v2020_05_01.models.ConnectivityIssue] + :ivar context: Provides additional context on the issue. + :vartype context: list[dict[str, str]] + :ivar resource_id: Resource ID. + :vartype resource_id: str + """ + + _validation = { + 'next_hop_id': {'readonly': True}, + 'link_type': {'readonly': True}, + 'round_trip_time_min': {'readonly': True}, + 'round_trip_time_avg': {'readonly': True}, + 'round_trip_time_max': {'readonly': True}, + 'issues': {'readonly': True}, + 'context': {'readonly': True}, + 'resource_id': {'readonly': True}, + } + + _attribute_map = { + 'next_hop_id': {'key': 'nextHopId', 'type': 'str'}, + 'link_type': {'key': 'linkType', 'type': 'str'}, + 'round_trip_time_min': {'key': 'properties.roundTripTimeMin', 'type': 'int'}, + 'round_trip_time_avg': {'key': 'properties.roundTripTimeAvg', 'type': 'int'}, + 'round_trip_time_max': {'key': 'properties.roundTripTimeMax', 'type': 'int'}, + 'issues': {'key': 'issues', 'type': '[ConnectivityIssue]'}, + 'context': {'key': 'context', 'type': '[{str}]'}, + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(HopLink, self).__init__(**kwargs) + self.next_hop_id = None + self.link_type = None + self.round_trip_time_min = None + self.round_trip_time_avg = None + self.round_trip_time_max = None + self.issues = None + self.context = None + self.resource_id = None + + +class HTTPConfiguration(Model): + """HTTP configuration of the connectivity check. + + :param method: HTTP method. Possible values include: 'Get' + :type method: str or ~azure.mgmt.network.v2020_05_01.models.HTTPMethod + :param headers: List of HTTP headers. + :type headers: list[~azure.mgmt.network.v2020_05_01.models.HTTPHeader] + :param valid_status_codes: Valid status codes. + :type valid_status_codes: list[int] + """ + + _attribute_map = { + 'method': {'key': 'method', 'type': 'str'}, + 'headers': {'key': 'headers', 'type': '[HTTPHeader]'}, + 'valid_status_codes': {'key': 'validStatusCodes', 'type': '[int]'}, + } + + def __init__(self, **kwargs): + super(HTTPConfiguration, self).__init__(**kwargs) + self.method = kwargs.get('method', None) + self.headers = kwargs.get('headers', None) + self.valid_status_codes = kwargs.get('valid_status_codes', None) + + +class HTTPHeader(Model): + """The HTTP header. + + :param name: The name in HTTP header. + :type name: str + :param value: The value in HTTP header. + :type value: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(HTTPHeader, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.value = kwargs.get('value', None) + + +class HubIPAddresses(Model): + """IP addresses associated with azure firewall. + + :param public_ips: Public IP addresses associated with azure firewall. + :type public_ips: + ~azure.mgmt.network.v2020_05_01.models.HubPublicIPAddresses + :param private_ip_address: Private IP Address associated with azure + firewall. + :type private_ip_address: str + """ + + _attribute_map = { + 'public_ips': {'key': 'publicIPs', 'type': 'HubPublicIPAddresses'}, + 'private_ip_address': {'key': 'privateIPAddress', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(HubIPAddresses, self).__init__(**kwargs) + self.public_ips = kwargs.get('public_ips', None) + self.private_ip_address = kwargs.get('private_ip_address', None) + + +class HubIpConfiguration(SubResource): + """IpConfigurations. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param private_ip_address: The private IP address of the IP configuration. + :type private_ip_address: str + :param private_ip_allocation_method: The private IP address allocation + method. Possible values include: 'Static', 'Dynamic' + :type private_ip_allocation_method: str or + ~azure.mgmt.network.v2020_05_01.models.IPAllocationMethod + :param subnet: The reference to the subnet resource. + :type subnet: ~azure.mgmt.network.v2020_05_01.models.Subnet + :param public_ip_address: The reference to the public IP resource. + :type public_ip_address: + ~azure.mgmt.network.v2020_05_01.models.PublicIPAddress + :ivar provisioning_state: The provisioning state of the IP configuration + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: Name of the Ip Configuration. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Ipconfiguration type. + :vartype type: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, + 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, + 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, + 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'PublicIPAddress'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(HubIpConfiguration, self).__init__(**kwargs) + self.private_ip_address = kwargs.get('private_ip_address', None) + self.private_ip_allocation_method = kwargs.get('private_ip_allocation_method', None) + self.subnet = kwargs.get('subnet', None) + self.public_ip_address = kwargs.get('public_ip_address', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = None + self.type = None + + +class HubPublicIPAddresses(Model): + """Public IP addresses associated with azure firewall. + + :param addresses: The number of Public IP addresses associated with azure + firewall. + :type addresses: + list[~azure.mgmt.network.v2020_05_01.models.AzureFirewallPublicIPAddress] + :param count: Private IP Address associated with azure firewall. + :type count: int + """ + + _attribute_map = { + 'addresses': {'key': 'addresses', 'type': '[AzureFirewallPublicIPAddress]'}, + 'count': {'key': 'count', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(HubPublicIPAddresses, self).__init__(**kwargs) + self.addresses = kwargs.get('addresses', None) + self.count = kwargs.get('count', None) + + +class HubRoute(Model): + """RouteTable route. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. The name of the Route that is unique within a + RouteTable. This name can be used to access this route. + :type name: str + :param destination_type: Required. The type of destinations (eg: CIDR, + ResourceId, Service). + :type destination_type: str + :param destinations: Required. List of all destinations. + :type destinations: list[str] + :param next_hop_type: Required. The type of next hop (eg: ResourceId). + :type next_hop_type: str + :param next_hop: Required. NextHop resource ID. + :type next_hop: str + """ + + _validation = { + 'name': {'required': True}, + 'destination_type': {'required': True}, + 'destinations': {'required': True}, + 'next_hop_type': {'required': True}, + 'next_hop': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'destination_type': {'key': 'destinationType', 'type': 'str'}, + 'destinations': {'key': 'destinations', 'type': '[str]'}, + 'next_hop_type': {'key': 'nextHopType', 'type': 'str'}, + 'next_hop': {'key': 'nextHop', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(HubRoute, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.destination_type = kwargs.get('destination_type', None) + self.destinations = kwargs.get('destinations', None) + self.next_hop_type = kwargs.get('next_hop_type', None) + self.next_hop = kwargs.get('next_hop', None) + + +class HubRouteTable(SubResource): + """RouteTable resource in a virtual hub. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param routes: List of all routes. + :type routes: list[~azure.mgmt.network.v2020_05_01.models.HubRoute] + :param labels: List of labels associated with this route table. + :type labels: list[str] + :ivar associated_connections: List of all connections associated with this + route table. + :vartype associated_connections: + list[~azure.mgmt.network.v2020_05_01.models.SubResource] + :ivar propagating_connections: List of all connections that advertise to + this route table. + :vartype propagating_connections: + list[~azure.mgmt.network.v2020_05_01.models.SubResource] + :ivar provisioning_state: The provisioning state of the RouteTable + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Resource type. + :vartype type: str + """ + + _validation = { + 'associated_connections': {'readonly': True}, + 'propagating_connections': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'routes': {'key': 'properties.routes', 'type': '[HubRoute]'}, + 'labels': {'key': 'properties.labels', 'type': '[str]'}, + 'associated_connections': {'key': 'properties.associatedConnections', 'type': '[SubResource]'}, + 'propagating_connections': {'key': 'properties.propagatingConnections', 'type': '[SubResource]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(HubRouteTable, self).__init__(**kwargs) + self.routes = kwargs.get('routes', None) + self.labels = kwargs.get('labels', None) + self.associated_connections = None + self.propagating_connections = None + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = None + self.type = None + + +class HubVirtualNetworkConnection(SubResource): + """HubVirtualNetworkConnection Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param remote_virtual_network: Reference to the remote virtual network. + :type remote_virtual_network: + ~azure.mgmt.network.v2020_05_01.models.SubResource + :param allow_hub_to_remote_vnet_transit: Deprecated: VirtualHub to + RemoteVnet transit to enabled or not. + :type allow_hub_to_remote_vnet_transit: bool + :param allow_remote_vnet_to_use_hub_vnet_gateways: Deprecated: Allow + RemoteVnet to use Virtual Hub's gateways. + :type allow_remote_vnet_to_use_hub_vnet_gateways: bool + :param enable_internet_security: Enable internet security. + :type enable_internet_security: bool + :param routing_configuration: The Routing Configuration indicating the + associated and propagated route tables on this connection. + :type routing_configuration: + ~azure.mgmt.network.v2020_05_01.models.RoutingConfiguration + :ivar provisioning_state: The provisioning state of the hub virtual + network connection resource. Possible values include: 'Succeeded', + 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'remote_virtual_network': {'key': 'properties.remoteVirtualNetwork', 'type': 'SubResource'}, + 'allow_hub_to_remote_vnet_transit': {'key': 'properties.allowHubToRemoteVnetTransit', 'type': 'bool'}, + 'allow_remote_vnet_to_use_hub_vnet_gateways': {'key': 'properties.allowRemoteVnetToUseHubVnetGateways', 'type': 'bool'}, + 'enable_internet_security': {'key': 'properties.enableInternetSecurity', 'type': 'bool'}, + 'routing_configuration': {'key': 'properties.routingConfiguration', 'type': 'RoutingConfiguration'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(HubVirtualNetworkConnection, self).__init__(**kwargs) + self.remote_virtual_network = kwargs.get('remote_virtual_network', None) + self.allow_hub_to_remote_vnet_transit = kwargs.get('allow_hub_to_remote_vnet_transit', None) + self.allow_remote_vnet_to_use_hub_vnet_gateways = kwargs.get('allow_remote_vnet_to_use_hub_vnet_gateways', None) + self.enable_internet_security = kwargs.get('enable_internet_security', None) + self.routing_configuration = kwargs.get('routing_configuration', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = None + + +class InboundNatPool(SubResource): + """Inbound NAT pool of the load balancer. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :param frontend_ip_configuration: A reference to frontend IP addresses. + :type frontend_ip_configuration: + ~azure.mgmt.network.v2020_05_01.models.SubResource + :param protocol: Required. The reference to the transport protocol used by + the inbound NAT pool. Possible values include: 'Udp', 'Tcp', 'All' + :type protocol: str or + ~azure.mgmt.network.v2020_05_01.models.TransportProtocol + :param frontend_port_range_start: Required. The first port number in the + range of external ports that will be used to provide Inbound Nat to NICs + associated with a load balancer. Acceptable values range between 1 and + 65534. + :type frontend_port_range_start: int + :param frontend_port_range_end: Required. The last port number in the + range of external ports that will be used to provide Inbound Nat to NICs + associated with a load balancer. Acceptable values range between 1 and + 65535. + :type frontend_port_range_end: int + :param backend_port: Required. The port used for internal connections on + the endpoint. Acceptable values are between 1 and 65535. + :type backend_port: int + :param idle_timeout_in_minutes: The timeout for the TCP idle connection. + The value can be set between 4 and 30 minutes. The default value is 4 + minutes. This element is only used when the protocol is set to TCP. + :type idle_timeout_in_minutes: int + :param enable_floating_ip: Configures a virtual machine's endpoint for the + floating IP capability required to configure a SQL AlwaysOn Availability + Group. This setting is required when using the SQL AlwaysOn Availability + Groups in SQL server. This setting can't be changed after you create the + endpoint. + :type enable_floating_ip: bool + :param enable_tcp_reset: Receive bidirectional TCP Reset on TCP flow idle + timeout or unexpected connection termination. This element is only used + when the protocol is set to TCP. + :type enable_tcp_reset: bool + :ivar provisioning_state: The provisioning state of the inbound NAT pool + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: The name of the resource that is unique within the set of + inbound NAT pools used by the load balancer. This name can be used to + access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'protocol': {'required': True}, + 'frontend_port_range_start': {'required': True}, + 'frontend_port_range_end': {'required': True}, + 'backend_port': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'frontend_ip_configuration': {'key': 'properties.frontendIPConfiguration', 'type': 'SubResource'}, + 'protocol': {'key': 'properties.protocol', 'type': 'str'}, + 'frontend_port_range_start': {'key': 'properties.frontendPortRangeStart', 'type': 'int'}, + 'frontend_port_range_end': {'key': 'properties.frontendPortRangeEnd', 'type': 'int'}, + 'backend_port': {'key': 'properties.backendPort', 'type': 'int'}, + 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, + 'enable_floating_ip': {'key': 'properties.enableFloatingIP', 'type': 'bool'}, + 'enable_tcp_reset': {'key': 'properties.enableTcpReset', 'type': 'bool'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(InboundNatPool, self).__init__(**kwargs) + self.frontend_ip_configuration = kwargs.get('frontend_ip_configuration', None) + self.protocol = kwargs.get('protocol', None) + self.frontend_port_range_start = kwargs.get('frontend_port_range_start', None) + self.frontend_port_range_end = kwargs.get('frontend_port_range_end', None) + self.backend_port = kwargs.get('backend_port', None) + self.idle_timeout_in_minutes = kwargs.get('idle_timeout_in_minutes', None) + self.enable_floating_ip = kwargs.get('enable_floating_ip', None) + self.enable_tcp_reset = kwargs.get('enable_tcp_reset', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = None + self.type = None + + +class InboundNatRule(SubResource): + """Inbound NAT rule of the load balancer. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param frontend_ip_configuration: A reference to frontend IP addresses. + :type frontend_ip_configuration: + ~azure.mgmt.network.v2020_05_01.models.SubResource + :ivar backend_ip_configuration: A reference to a private IP address + defined on a network interface of a VM. Traffic sent to the frontend port + of each of the frontend IP configurations is forwarded to the backend IP. + :vartype backend_ip_configuration: + ~azure.mgmt.network.v2020_05_01.models.NetworkInterfaceIPConfiguration + :param protocol: The reference to the transport protocol used by the load + balancing rule. Possible values include: 'Udp', 'Tcp', 'All' + :type protocol: str or + ~azure.mgmt.network.v2020_05_01.models.TransportProtocol + :param frontend_port: The port for the external endpoint. Port numbers for + each rule must be unique within the Load Balancer. Acceptable values range + from 1 to 65534. + :type frontend_port: int + :param backend_port: The port used for the internal endpoint. Acceptable + values range from 1 to 65535. + :type backend_port: int + :param idle_timeout_in_minutes: The timeout for the TCP idle connection. + The value can be set between 4 and 30 minutes. The default value is 4 + minutes. This element is only used when the protocol is set to TCP. + :type idle_timeout_in_minutes: int + :param enable_floating_ip: Configures a virtual machine's endpoint for the + floating IP capability required to configure a SQL AlwaysOn Availability + Group. This setting is required when using the SQL AlwaysOn Availability + Groups in SQL server. This setting can't be changed after you create the + endpoint. + :type enable_floating_ip: bool + :param enable_tcp_reset: Receive bidirectional TCP Reset on TCP flow idle + timeout or unexpected connection termination. This element is only used + when the protocol is set to TCP. + :type enable_tcp_reset: bool + :ivar provisioning_state: The provisioning state of the inbound NAT rule + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: The name of the resource that is unique within the set of + inbound NAT rules used by the load balancer. This name can be used to + access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'backend_ip_configuration': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'frontend_ip_configuration': {'key': 'properties.frontendIPConfiguration', 'type': 'SubResource'}, + 'backend_ip_configuration': {'key': 'properties.backendIPConfiguration', 'type': 'NetworkInterfaceIPConfiguration'}, + 'protocol': {'key': 'properties.protocol', 'type': 'str'}, + 'frontend_port': {'key': 'properties.frontendPort', 'type': 'int'}, + 'backend_port': {'key': 'properties.backendPort', 'type': 'int'}, + 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, + 'enable_floating_ip': {'key': 'properties.enableFloatingIP', 'type': 'bool'}, + 'enable_tcp_reset': {'key': 'properties.enableTcpReset', 'type': 'bool'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(InboundNatRule, self).__init__(**kwargs) + self.frontend_ip_configuration = kwargs.get('frontend_ip_configuration', None) + self.backend_ip_configuration = None + self.protocol = kwargs.get('protocol', None) + self.frontend_port = kwargs.get('frontend_port', None) + self.backend_port = kwargs.get('backend_port', None) + self.idle_timeout_in_minutes = kwargs.get('idle_timeout_in_minutes', None) + self.enable_floating_ip = kwargs.get('enable_floating_ip', None) + self.enable_tcp_reset = kwargs.get('enable_tcp_reset', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = None + self.type = None + + +class IPAddressAvailabilityResult(Model): + """Response for CheckIPAddressAvailability API service call. + + :param available: Private IP address availability. + :type available: bool + :param available_ip_addresses: Contains other available private IP + addresses if the asked for address is taken. + :type available_ip_addresses: list[str] + """ + + _attribute_map = { + 'available': {'key': 'available', 'type': 'bool'}, + 'available_ip_addresses': {'key': 'availableIPAddresses', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(IPAddressAvailabilityResult, self).__init__(**kwargs) + self.available = kwargs.get('available', None) + self.available_ip_addresses = kwargs.get('available_ip_addresses', None) + + +class IpAllocation(Resource): + """IpAllocation resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar subnet: The Subnet that using the prefix of this IpAllocation + resource. + :vartype subnet: ~azure.mgmt.network.v2020_05_01.models.SubResource + :ivar virtual_network: The VirtualNetwork that using the prefix of this + IpAllocation resource. + :vartype virtual_network: + ~azure.mgmt.network.v2020_05_01.models.SubResource + :param ip_allocation_type: The type for the IpAllocation. Possible values + include: 'Undefined', 'Hypernet' + :type ip_allocation_type: str or + ~azure.mgmt.network.v2020_05_01.models.IpAllocationType + :param prefix: The address prefix for the IpAllocation. + :type prefix: str + :param prefix_length: The address prefix length for the IpAllocation. + Default value: 0 . + :type prefix_length: int + :param prefix_type: The address prefix Type for the IpAllocation. Possible + values include: 'IPv4', 'IPv6' + :type prefix_type: str or ~azure.mgmt.network.v2020_05_01.models.IPVersion + :param ipam_allocation_id: The IPAM allocation ID. + :type ipam_allocation_id: str + :param allocation_tags: IpAllocation tags. + :type allocation_tags: dict[str, str] + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'subnet': {'readonly': True}, + 'virtual_network': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, + 'virtual_network': {'key': 'properties.virtualNetwork', 'type': 'SubResource'}, + 'ip_allocation_type': {'key': 'properties.type', 'type': 'str'}, + 'prefix': {'key': 'properties.prefix', 'type': 'str'}, + 'prefix_length': {'key': 'properties.prefixLength', 'type': 'int'}, + 'prefix_type': {'key': 'properties.prefixType', 'type': 'str'}, + 'ipam_allocation_id': {'key': 'properties.ipamAllocationId', 'type': 'str'}, + 'allocation_tags': {'key': 'properties.allocationTags', 'type': '{str}'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(IpAllocation, self).__init__(**kwargs) + self.subnet = None + self.virtual_network = None + self.ip_allocation_type = kwargs.get('ip_allocation_type', None) + self.prefix = kwargs.get('prefix', None) + self.prefix_length = kwargs.get('prefix_length', 0) + self.prefix_type = kwargs.get('prefix_type', None) + self.ipam_allocation_id = kwargs.get('ipam_allocation_id', None) + self.allocation_tags = kwargs.get('allocation_tags', None) + self.etag = None + + +class IPConfiguration(SubResource): + """IP configuration. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param private_ip_address: The private IP address of the IP configuration. + :type private_ip_address: str + :param private_ip_allocation_method: The private IP address allocation + method. Possible values include: 'Static', 'Dynamic' + :type private_ip_allocation_method: str or + ~azure.mgmt.network.v2020_05_01.models.IPAllocationMethod + :param subnet: The reference to the subnet resource. + :type subnet: ~azure.mgmt.network.v2020_05_01.models.Subnet + :param public_ip_address: The reference to the public IP resource. + :type public_ip_address: + ~azure.mgmt.network.v2020_05_01.models.PublicIPAddress + :ivar provisioning_state: The provisioning state of the IP configuration + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, + 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, + 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, + 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'PublicIPAddress'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(IPConfiguration, self).__init__(**kwargs) + self.private_ip_address = kwargs.get('private_ip_address', None) + self.private_ip_allocation_method = kwargs.get('private_ip_allocation_method', None) + self.subnet = kwargs.get('subnet', None) + self.public_ip_address = kwargs.get('public_ip_address', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = None + + +class IPConfigurationBgpPeeringAddress(Model): + """Properties of IPConfigurationBgpPeeringAddress. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param ipconfiguration_id: The ID of IP configuration which belongs to + gateway. + :type ipconfiguration_id: str + :ivar default_bgp_ip_addresses: The list of default BGP peering addresses + which belong to IP configuration. + :vartype default_bgp_ip_addresses: list[str] + :param custom_bgp_ip_addresses: The list of custom BGP peering addresses + which belong to IP configuration. + :type custom_bgp_ip_addresses: list[str] + :ivar tunnel_ip_addresses: The list of tunnel public IP addresses which + belong to IP configuration. + :vartype tunnel_ip_addresses: list[str] + """ + + _validation = { + 'default_bgp_ip_addresses': {'readonly': True}, + 'tunnel_ip_addresses': {'readonly': True}, + } + + _attribute_map = { + 'ipconfiguration_id': {'key': 'ipconfigurationId', 'type': 'str'}, + 'default_bgp_ip_addresses': {'key': 'defaultBgpIpAddresses', 'type': '[str]'}, + 'custom_bgp_ip_addresses': {'key': 'customBgpIpAddresses', 'type': '[str]'}, + 'tunnel_ip_addresses': {'key': 'tunnelIpAddresses', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(IPConfigurationBgpPeeringAddress, self).__init__(**kwargs) + self.ipconfiguration_id = kwargs.get('ipconfiguration_id', None) + self.default_bgp_ip_addresses = None + self.custom_bgp_ip_addresses = kwargs.get('custom_bgp_ip_addresses', None) + self.tunnel_ip_addresses = None + + +class IPConfigurationProfile(SubResource): + """IP configuration profile child resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param subnet: The reference to the subnet resource to create a container + network interface ip configuration. + :type subnet: ~azure.mgmt.network.v2020_05_01.models.Subnet + :ivar provisioning_state: The provisioning state of the IP configuration + profile resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: The name of the resource. This name can be used to access the + resource. + :type name: str + :ivar type: Sub Resource type. + :vartype type: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(IPConfigurationProfile, self).__init__(**kwargs) + self.subnet = kwargs.get('subnet', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.type = None + self.etag = None + + +class IpGroup(Resource): + """The IpGroups resource information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar provisioning_state: The provisioning state of the IpGroups resource. + Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param ip_addresses: IpAddresses/IpAddressPrefixes in the IpGroups + resource. + :type ip_addresses: list[str] + :ivar firewalls: List of references to Azure resources that this IpGroups + is associated with. + :vartype firewalls: + list[~azure.mgmt.network.v2020_05_01.models.SubResource] + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'firewalls': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'ip_addresses': {'key': 'properties.ipAddresses', 'type': '[str]'}, + 'firewalls': {'key': 'properties.firewalls', 'type': '[SubResource]'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(IpGroup, self).__init__(**kwargs) + self.provisioning_state = None + self.ip_addresses = kwargs.get('ip_addresses', None) + self.firewalls = None + self.etag = None + + +class IpsecPolicy(Model): + """An IPSec Policy configuration for a virtual network gateway connection. + + All required parameters must be populated in order to send to Azure. + + :param sa_life_time_seconds: Required. The IPSec Security Association + (also called Quick Mode or Phase 2 SA) lifetime in seconds for a site to + site VPN tunnel. + :type sa_life_time_seconds: int + :param sa_data_size_kilobytes: Required. The IPSec Security Association + (also called Quick Mode or Phase 2 SA) payload size in KB for a site to + site VPN tunnel. + :type sa_data_size_kilobytes: int + :param ipsec_encryption: Required. The IPSec encryption algorithm (IKE + phase 1). Possible values include: 'None', 'DES', 'DES3', 'AES128', + 'AES192', 'AES256', 'GCMAES128', 'GCMAES192', 'GCMAES256' + :type ipsec_encryption: str or + ~azure.mgmt.network.v2020_05_01.models.IpsecEncryption + :param ipsec_integrity: Required. The IPSec integrity algorithm (IKE phase + 1). Possible values include: 'MD5', 'SHA1', 'SHA256', 'GCMAES128', + 'GCMAES192', 'GCMAES256' + :type ipsec_integrity: str or + ~azure.mgmt.network.v2020_05_01.models.IpsecIntegrity + :param ike_encryption: Required. The IKE encryption algorithm (IKE phase + 2). Possible values include: 'DES', 'DES3', 'AES128', 'AES192', 'AES256', + 'GCMAES256', 'GCMAES128' + :type ike_encryption: str or + ~azure.mgmt.network.v2020_05_01.models.IkeEncryption + :param ike_integrity: Required. The IKE integrity algorithm (IKE phase 2). + Possible values include: 'MD5', 'SHA1', 'SHA256', 'SHA384', 'GCMAES256', + 'GCMAES128' + :type ike_integrity: str or + ~azure.mgmt.network.v2020_05_01.models.IkeIntegrity + :param dh_group: Required. The DH Group used in IKE Phase 1 for initial + SA. Possible values include: 'None', 'DHGroup1', 'DHGroup2', 'DHGroup14', + 'DHGroup2048', 'ECP256', 'ECP384', 'DHGroup24' + :type dh_group: str or ~azure.mgmt.network.v2020_05_01.models.DhGroup + :param pfs_group: Required. The Pfs Group used in IKE Phase 2 for new + child SA. Possible values include: 'None', 'PFS1', 'PFS2', 'PFS2048', + 'ECP256', 'ECP384', 'PFS24', 'PFS14', 'PFSMM' + :type pfs_group: str or ~azure.mgmt.network.v2020_05_01.models.PfsGroup + """ + + _validation = { + 'sa_life_time_seconds': {'required': True}, + 'sa_data_size_kilobytes': {'required': True}, + 'ipsec_encryption': {'required': True}, + 'ipsec_integrity': {'required': True}, + 'ike_encryption': {'required': True}, + 'ike_integrity': {'required': True}, + 'dh_group': {'required': True}, + 'pfs_group': {'required': True}, + } + + _attribute_map = { + 'sa_life_time_seconds': {'key': 'saLifeTimeSeconds', 'type': 'int'}, + 'sa_data_size_kilobytes': {'key': 'saDataSizeKilobytes', 'type': 'int'}, + 'ipsec_encryption': {'key': 'ipsecEncryption', 'type': 'str'}, + 'ipsec_integrity': {'key': 'ipsecIntegrity', 'type': 'str'}, + 'ike_encryption': {'key': 'ikeEncryption', 'type': 'str'}, + 'ike_integrity': {'key': 'ikeIntegrity', 'type': 'str'}, + 'dh_group': {'key': 'dhGroup', 'type': 'str'}, + 'pfs_group': {'key': 'pfsGroup', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(IpsecPolicy, self).__init__(**kwargs) + self.sa_life_time_seconds = kwargs.get('sa_life_time_seconds', None) + self.sa_data_size_kilobytes = kwargs.get('sa_data_size_kilobytes', None) + self.ipsec_encryption = kwargs.get('ipsec_encryption', None) + self.ipsec_integrity = kwargs.get('ipsec_integrity', None) + self.ike_encryption = kwargs.get('ike_encryption', None) + self.ike_integrity = kwargs.get('ike_integrity', None) + self.dh_group = kwargs.get('dh_group', None) + self.pfs_group = kwargs.get('pfs_group', None) + + +class IpTag(Model): + """Contains the IpTag associated with the object. + + :param ip_tag_type: The IP tag type. Example: FirstPartyUsage. + :type ip_tag_type: str + :param tag: The value of the IP tag associated with the public IP. + Example: SQL. + :type tag: str + """ + + _attribute_map = { + 'ip_tag_type': {'key': 'ipTagType', 'type': 'str'}, + 'tag': {'key': 'tag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(IpTag, self).__init__(**kwargs) + self.ip_tag_type = kwargs.get('ip_tag_type', None) + self.tag = kwargs.get('tag', None) + + +class Ipv6CircuitConnectionConfig(Model): + """IPv6 Circuit Connection properties for global reach. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param address_prefix: /125 IP address space to carve out customer + addresses for global reach. + :type address_prefix: str + :ivar circuit_connection_status: Express Route Circuit connection state. + Possible values include: 'Connected', 'Connecting', 'Disconnected' + :vartype circuit_connection_status: str or + ~azure.mgmt.network.v2020_05_01.models.CircuitConnectionStatus + """ + + _validation = { + 'circuit_connection_status': {'readonly': True}, + } + + _attribute_map = { + 'address_prefix': {'key': 'addressPrefix', 'type': 'str'}, + 'circuit_connection_status': {'key': 'circuitConnectionStatus', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Ipv6CircuitConnectionConfig, self).__init__(**kwargs) + self.address_prefix = kwargs.get('address_prefix', None) + self.circuit_connection_status = None + + +class Ipv6ExpressRouteCircuitPeeringConfig(Model): + """Contains IPv6 peering config. + + :param primary_peer_address_prefix: The primary address prefix. + :type primary_peer_address_prefix: str + :param secondary_peer_address_prefix: The secondary address prefix. + :type secondary_peer_address_prefix: str + :param microsoft_peering_config: The Microsoft peering configuration. + :type microsoft_peering_config: + ~azure.mgmt.network.v2020_05_01.models.ExpressRouteCircuitPeeringConfig + :param route_filter: The reference to the RouteFilter resource. + :type route_filter: ~azure.mgmt.network.v2020_05_01.models.SubResource + :param state: The state of peering. Possible values include: 'Disabled', + 'Enabled' + :type state: str or + ~azure.mgmt.network.v2020_05_01.models.ExpressRouteCircuitPeeringState + """ + + _attribute_map = { + 'primary_peer_address_prefix': {'key': 'primaryPeerAddressPrefix', 'type': 'str'}, + 'secondary_peer_address_prefix': {'key': 'secondaryPeerAddressPrefix', 'type': 'str'}, + 'microsoft_peering_config': {'key': 'microsoftPeeringConfig', 'type': 'ExpressRouteCircuitPeeringConfig'}, + 'route_filter': {'key': 'routeFilter', 'type': 'SubResource'}, + 'state': {'key': 'state', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Ipv6ExpressRouteCircuitPeeringConfig, self).__init__(**kwargs) + self.primary_peer_address_prefix = kwargs.get('primary_peer_address_prefix', None) + self.secondary_peer_address_prefix = kwargs.get('secondary_peer_address_prefix', None) + self.microsoft_peering_config = kwargs.get('microsoft_peering_config', None) + self.route_filter = kwargs.get('route_filter', None) + self.state = kwargs.get('state', None) + + +class LoadBalancer(Resource): + """LoadBalancer resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param sku: The load balancer SKU. + :type sku: ~azure.mgmt.network.v2020_05_01.models.LoadBalancerSku + :param frontend_ip_configurations: Object representing the frontend IPs to + be used for the load balancer. + :type frontend_ip_configurations: + list[~azure.mgmt.network.v2020_05_01.models.FrontendIPConfiguration] + :param backend_address_pools: Collection of backend address pools used by + a load balancer. + :type backend_address_pools: + list[~azure.mgmt.network.v2020_05_01.models.BackendAddressPool] + :param load_balancing_rules: Object collection representing the load + balancing rules Gets the provisioning. + :type load_balancing_rules: + list[~azure.mgmt.network.v2020_05_01.models.LoadBalancingRule] + :param probes: Collection of probe objects used in the load balancer. + :type probes: list[~azure.mgmt.network.v2020_05_01.models.Probe] + :param inbound_nat_rules: Collection of inbound NAT Rules used by a load + balancer. Defining inbound NAT rules on your load balancer is mutually + exclusive with defining an inbound NAT pool. Inbound NAT pools are + referenced from virtual machine scale sets. NICs that are associated with + individual virtual machines cannot reference an Inbound NAT pool. They + have to reference individual inbound NAT rules. + :type inbound_nat_rules: + list[~azure.mgmt.network.v2020_05_01.models.InboundNatRule] + :param inbound_nat_pools: Defines an external port range for inbound NAT + to a single backend port on NICs associated with a load balancer. Inbound + NAT rules are created automatically for each NIC associated with the Load + Balancer using an external port from this range. Defining an Inbound NAT + pool on your Load Balancer is mutually exclusive with defining inbound Nat + rules. Inbound NAT pools are referenced from virtual machine scale sets. + NICs that are associated with individual virtual machines cannot reference + an inbound NAT pool. They have to reference individual inbound NAT rules. + :type inbound_nat_pools: + list[~azure.mgmt.network.v2020_05_01.models.InboundNatPool] + :param outbound_rules: The outbound rules. + :type outbound_rules: + list[~azure.mgmt.network.v2020_05_01.models.OutboundRule] + :ivar resource_guid: The resource GUID property of the load balancer + resource. + :vartype resource_guid: str + :ivar provisioning_state: The provisioning state of the load balancer + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'resource_guid': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'sku': {'key': 'sku', 'type': 'LoadBalancerSku'}, + 'frontend_ip_configurations': {'key': 'properties.frontendIPConfigurations', 'type': '[FrontendIPConfiguration]'}, + 'backend_address_pools': {'key': 'properties.backendAddressPools', 'type': '[BackendAddressPool]'}, + 'load_balancing_rules': {'key': 'properties.loadBalancingRules', 'type': '[LoadBalancingRule]'}, + 'probes': {'key': 'properties.probes', 'type': '[Probe]'}, + 'inbound_nat_rules': {'key': 'properties.inboundNatRules', 'type': '[InboundNatRule]'}, + 'inbound_nat_pools': {'key': 'properties.inboundNatPools', 'type': '[InboundNatPool]'}, + 'outbound_rules': {'key': 'properties.outboundRules', 'type': '[OutboundRule]'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(LoadBalancer, self).__init__(**kwargs) + self.sku = kwargs.get('sku', None) + self.frontend_ip_configurations = kwargs.get('frontend_ip_configurations', None) + self.backend_address_pools = kwargs.get('backend_address_pools', None) + self.load_balancing_rules = kwargs.get('load_balancing_rules', None) + self.probes = kwargs.get('probes', None) + self.inbound_nat_rules = kwargs.get('inbound_nat_rules', None) + self.inbound_nat_pools = kwargs.get('inbound_nat_pools', None) + self.outbound_rules = kwargs.get('outbound_rules', None) + self.resource_guid = None + self.provisioning_state = None + self.etag = None + + +class LoadBalancerBackendAddress(Model): + """Load balancer backend addresses. + + :param virtual_network: Reference to an existing virtual network. + :type virtual_network: + ~azure.mgmt.network.v2020_05_01.models.VirtualNetwork + :param ip_address: IP Address belonging to the referenced virtual network. + :type ip_address: str + :param network_interface_ip_configuration: Reference to IP address defined + in network interfaces. + :type network_interface_ip_configuration: + ~azure.mgmt.network.v2020_05_01.models.NetworkInterfaceIPConfiguration + :param name: Name of the backend address. + :type name: str + """ + + _attribute_map = { + 'virtual_network': {'key': 'properties.virtualNetwork', 'type': 'VirtualNetwork'}, + 'ip_address': {'key': 'properties.ipAddress', 'type': 'str'}, + 'network_interface_ip_configuration': {'key': 'properties.networkInterfaceIPConfiguration', 'type': 'NetworkInterfaceIPConfiguration'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(LoadBalancerBackendAddress, self).__init__(**kwargs) + self.virtual_network = kwargs.get('virtual_network', None) + self.ip_address = kwargs.get('ip_address', None) + self.network_interface_ip_configuration = kwargs.get('network_interface_ip_configuration', None) + self.name = kwargs.get('name', None) + + +class LoadBalancerSku(Model): + """SKU of a load balancer. + + :param name: Name of a load balancer SKU. Possible values include: + 'Basic', 'Standard' + :type name: str or + ~azure.mgmt.network.v2020_05_01.models.LoadBalancerSkuName + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(LoadBalancerSku, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + + +class LoadBalancingRule(SubResource): + """A load balancing rule for a load balancer. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :param frontend_ip_configuration: A reference to frontend IP addresses. + :type frontend_ip_configuration: + ~azure.mgmt.network.v2020_05_01.models.SubResource + :param backend_address_pool: A reference to a pool of DIPs. Inbound + traffic is randomly load balanced across IPs in the backend IPs. + :type backend_address_pool: + ~azure.mgmt.network.v2020_05_01.models.SubResource + :param probe: The reference to the load balancer probe used by the load + balancing rule. + :type probe: ~azure.mgmt.network.v2020_05_01.models.SubResource + :param protocol: Required. The reference to the transport protocol used by + the load balancing rule. Possible values include: 'Udp', 'Tcp', 'All' + :type protocol: str or + ~azure.mgmt.network.v2020_05_01.models.TransportProtocol + :param load_distribution: The load distribution policy for this rule. + Possible values include: 'Default', 'SourceIP', 'SourceIPProtocol' + :type load_distribution: str or + ~azure.mgmt.network.v2020_05_01.models.LoadDistribution + :param frontend_port: Required. The port for the external endpoint. Port + numbers for each rule must be unique within the Load Balancer. Acceptable + values are between 0 and 65534. Note that value 0 enables "Any Port". + :type frontend_port: int + :param backend_port: The port used for internal connections on the + endpoint. Acceptable values are between 0 and 65535. Note that value 0 + enables "Any Port". + :type backend_port: int + :param idle_timeout_in_minutes: The timeout for the TCP idle connection. + The value can be set between 4 and 30 minutes. The default value is 4 + minutes. This element is only used when the protocol is set to TCP. + :type idle_timeout_in_minutes: int + :param enable_floating_ip: Configures a virtual machine's endpoint for the + floating IP capability required to configure a SQL AlwaysOn Availability + Group. This setting is required when using the SQL AlwaysOn Availability + Groups in SQL server. This setting can't be changed after you create the + endpoint. + :type enable_floating_ip: bool + :param enable_tcp_reset: Receive bidirectional TCP Reset on TCP flow idle + timeout or unexpected connection termination. This element is only used + when the protocol is set to TCP. + :type enable_tcp_reset: bool + :param disable_outbound_snat: Configures SNAT for the VMs in the backend + pool to use the publicIP address specified in the frontend of the load + balancing rule. + :type disable_outbound_snat: bool + :ivar provisioning_state: The provisioning state of the load balancing + rule resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: The name of the resource that is unique within the set of + load balancing rules used by the load balancer. This name can be used to + access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'protocol': {'required': True}, + 'frontend_port': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'frontend_ip_configuration': {'key': 'properties.frontendIPConfiguration', 'type': 'SubResource'}, + 'backend_address_pool': {'key': 'properties.backendAddressPool', 'type': 'SubResource'}, + 'probe': {'key': 'properties.probe', 'type': 'SubResource'}, + 'protocol': {'key': 'properties.protocol', 'type': 'str'}, + 'load_distribution': {'key': 'properties.loadDistribution', 'type': 'str'}, + 'frontend_port': {'key': 'properties.frontendPort', 'type': 'int'}, + 'backend_port': {'key': 'properties.backendPort', 'type': 'int'}, + 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, + 'enable_floating_ip': {'key': 'properties.enableFloatingIP', 'type': 'bool'}, + 'enable_tcp_reset': {'key': 'properties.enableTcpReset', 'type': 'bool'}, + 'disable_outbound_snat': {'key': 'properties.disableOutboundSnat', 'type': 'bool'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(LoadBalancingRule, self).__init__(**kwargs) + self.frontend_ip_configuration = kwargs.get('frontend_ip_configuration', None) + self.backend_address_pool = kwargs.get('backend_address_pool', None) + self.probe = kwargs.get('probe', None) + self.protocol = kwargs.get('protocol', None) + self.load_distribution = kwargs.get('load_distribution', None) + self.frontend_port = kwargs.get('frontend_port', None) + self.backend_port = kwargs.get('backend_port', None) + self.idle_timeout_in_minutes = kwargs.get('idle_timeout_in_minutes', None) + self.enable_floating_ip = kwargs.get('enable_floating_ip', None) + self.enable_tcp_reset = kwargs.get('enable_tcp_reset', None) + self.disable_outbound_snat = kwargs.get('disable_outbound_snat', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = None + self.type = None + + +class LocalNetworkGateway(Resource): + """A common class for general resource information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param local_network_address_space: Local network site address space. + :type local_network_address_space: + ~azure.mgmt.network.v2020_05_01.models.AddressSpace + :param gateway_ip_address: IP address of local network gateway. + :type gateway_ip_address: str + :param fqdn: FQDN of local network gateway. + :type fqdn: str + :param bgp_settings: Local network gateway's BGP speaker settings. + :type bgp_settings: ~azure.mgmt.network.v2020_05_01.models.BgpSettings + :ivar resource_guid: The resource GUID property of the local network + gateway resource. + :vartype resource_guid: str + :ivar provisioning_state: The provisioning state of the local network + gateway resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'resource_guid': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'local_network_address_space': {'key': 'properties.localNetworkAddressSpace', 'type': 'AddressSpace'}, + 'gateway_ip_address': {'key': 'properties.gatewayIpAddress', 'type': 'str'}, + 'fqdn': {'key': 'properties.fqdn', 'type': 'str'}, + 'bgp_settings': {'key': 'properties.bgpSettings', 'type': 'BgpSettings'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(LocalNetworkGateway, self).__init__(**kwargs) + self.local_network_address_space = kwargs.get('local_network_address_space', None) + self.gateway_ip_address = kwargs.get('gateway_ip_address', None) + self.fqdn = kwargs.get('fqdn', None) + self.bgp_settings = kwargs.get('bgp_settings', None) + self.resource_guid = None + self.provisioning_state = None + self.etag = None + + +class LogSpecification(Model): + """Description of logging specification. + + :param name: The name of the specification. + :type name: str + :param display_name: The display name of the specification. + :type display_name: str + :param blob_duration: Duration of the blob. + :type blob_duration: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'blob_duration': {'key': 'blobDuration', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(LogSpecification, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.display_name = kwargs.get('display_name', None) + self.blob_duration = kwargs.get('blob_duration', None) + + +class ManagedRuleGroupOverride(Model): + """Defines a managed rule group override setting. + + All required parameters must be populated in order to send to Azure. + + :param rule_group_name: Required. The managed rule group to override. + :type rule_group_name: str + :param rules: List of rules that will be disabled. If none specified, all + rules in the group will be disabled. + :type rules: + list[~azure.mgmt.network.v2020_05_01.models.ManagedRuleOverride] + """ + + _validation = { + 'rule_group_name': {'required': True}, + } + + _attribute_map = { + 'rule_group_name': {'key': 'ruleGroupName', 'type': 'str'}, + 'rules': {'key': 'rules', 'type': '[ManagedRuleOverride]'}, + } + + def __init__(self, **kwargs): + super(ManagedRuleGroupOverride, self).__init__(**kwargs) + self.rule_group_name = kwargs.get('rule_group_name', None) + self.rules = kwargs.get('rules', None) + + +class ManagedRuleOverride(Model): + """Defines a managed rule group override setting. + + All required parameters must be populated in order to send to Azure. + + :param rule_id: Required. Identifier for the managed rule. + :type rule_id: str + :param state: The state of the managed rule. Defaults to Disabled if not + specified. Possible values include: 'Disabled' + :type state: str or + ~azure.mgmt.network.v2020_05_01.models.ManagedRuleEnabledState + """ + + _validation = { + 'rule_id': {'required': True}, + } + + _attribute_map = { + 'rule_id': {'key': 'ruleId', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ManagedRuleOverride, self).__init__(**kwargs) + self.rule_id = kwargs.get('rule_id', None) + self.state = kwargs.get('state', None) + + +class ManagedRulesDefinition(Model): + """Allow to exclude some variable satisfy the condition for the WAF check. + + All required parameters must be populated in order to send to Azure. + + :param exclusions: The Exclusions that are applied on the policy. + :type exclusions: + list[~azure.mgmt.network.v2020_05_01.models.OwaspCrsExclusionEntry] + :param managed_rule_sets: Required. The managed rule sets that are + associated with the policy. + :type managed_rule_sets: + list[~azure.mgmt.network.v2020_05_01.models.ManagedRuleSet] + """ + + _validation = { + 'managed_rule_sets': {'required': True}, + } + + _attribute_map = { + 'exclusions': {'key': 'exclusions', 'type': '[OwaspCrsExclusionEntry]'}, + 'managed_rule_sets': {'key': 'managedRuleSets', 'type': '[ManagedRuleSet]'}, + } + + def __init__(self, **kwargs): + super(ManagedRulesDefinition, self).__init__(**kwargs) + self.exclusions = kwargs.get('exclusions', None) + self.managed_rule_sets = kwargs.get('managed_rule_sets', None) + + +class ManagedRuleSet(Model): + """Defines a managed rule set. + + All required parameters must be populated in order to send to Azure. + + :param rule_set_type: Required. Defines the rule set type to use. + :type rule_set_type: str + :param rule_set_version: Required. Defines the version of the rule set to + use. + :type rule_set_version: str + :param rule_group_overrides: Defines the rule group overrides to apply to + the rule set. + :type rule_group_overrides: + list[~azure.mgmt.network.v2020_05_01.models.ManagedRuleGroupOverride] + """ + + _validation = { + 'rule_set_type': {'required': True}, + 'rule_set_version': {'required': True}, + } + + _attribute_map = { + 'rule_set_type': {'key': 'ruleSetType', 'type': 'str'}, + 'rule_set_version': {'key': 'ruleSetVersion', 'type': 'str'}, + 'rule_group_overrides': {'key': 'ruleGroupOverrides', 'type': '[ManagedRuleGroupOverride]'}, + } + + def __init__(self, **kwargs): + super(ManagedRuleSet, self).__init__(**kwargs) + self.rule_set_type = kwargs.get('rule_set_type', None) + self.rule_set_version = kwargs.get('rule_set_version', None) + self.rule_group_overrides = kwargs.get('rule_group_overrides', None) + + +class ManagedServiceIdentity(Model): + """Identity for the resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar principal_id: The principal id of the system assigned identity. This + property will only be provided for a system assigned identity. + :vartype principal_id: str + :ivar tenant_id: The tenant id of the system assigned identity. This + property will only be provided for a system assigned identity. + :vartype tenant_id: str + :param type: The type of identity used for the resource. The type + 'SystemAssigned, UserAssigned' includes both an implicitly created + identity and a set of user assigned identities. The type 'None' will + remove any identities from the virtual machine. Possible values include: + 'SystemAssigned', 'UserAssigned', 'SystemAssigned, UserAssigned', 'None' + :type type: str or + ~azure.mgmt.network.v2020_05_01.models.ResourceIdentityType + :param user_assigned_identities: The list of user identities associated + with resource. The user identity dictionary key references will be ARM + resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + :type user_assigned_identities: dict[str, + ~azure.mgmt.network.v2020_05_01.models.ManagedServiceIdentityUserAssignedIdentitiesValue] + """ + + _validation = { + 'principal_id': {'readonly': True}, + 'tenant_id': {'readonly': True}, + } + + _attribute_map = { + 'principal_id': {'key': 'principalId', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'ResourceIdentityType'}, + 'user_assigned_identities': {'key': 'userAssignedIdentities', 'type': '{ManagedServiceIdentityUserAssignedIdentitiesValue}'}, + } + + def __init__(self, **kwargs): + super(ManagedServiceIdentity, self).__init__(**kwargs) + self.principal_id = None + self.tenant_id = None + self.type = kwargs.get('type', None) + self.user_assigned_identities = kwargs.get('user_assigned_identities', None) + + +class ManagedServiceIdentityUserAssignedIdentitiesValue(Model): + """ManagedServiceIdentityUserAssignedIdentitiesValue. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar principal_id: The principal id of user assigned identity. + :vartype principal_id: str + :ivar client_id: The client id of user assigned identity. + :vartype client_id: str + """ + + _validation = { + 'principal_id': {'readonly': True}, + 'client_id': {'readonly': True}, + } + + _attribute_map = { + 'principal_id': {'key': 'principalId', 'type': 'str'}, + 'client_id': {'key': 'clientId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ManagedServiceIdentityUserAssignedIdentitiesValue, self).__init__(**kwargs) + self.principal_id = None + self.client_id = None + + +class MatchCondition(Model): + """Define match conditions. + + All required parameters must be populated in order to send to Azure. + + :param match_variables: Required. List of match variables. + :type match_variables: + list[~azure.mgmt.network.v2020_05_01.models.MatchVariable] + :param operator: Required. The operator to be matched. Possible values + include: 'IPMatch', 'Equal', 'Contains', 'LessThan', 'GreaterThan', + 'LessThanOrEqual', 'GreaterThanOrEqual', 'BeginsWith', 'EndsWith', + 'Regex', 'GeoMatch' + :type operator: str or + ~azure.mgmt.network.v2020_05_01.models.WebApplicationFirewallOperator + :param negation_conditon: Whether this is negate condition or not. + :type negation_conditon: bool + :param match_values: Required. Match value. + :type match_values: list[str] + :param transforms: List of transforms. + :type transforms: list[str or + ~azure.mgmt.network.v2020_05_01.models.WebApplicationFirewallTransform] + """ + + _validation = { + 'match_variables': {'required': True}, + 'operator': {'required': True}, + 'match_values': {'required': True}, + } + + _attribute_map = { + 'match_variables': {'key': 'matchVariables', 'type': '[MatchVariable]'}, + 'operator': {'key': 'operator', 'type': 'str'}, + 'negation_conditon': {'key': 'negationConditon', 'type': 'bool'}, + 'match_values': {'key': 'matchValues', 'type': '[str]'}, + 'transforms': {'key': 'transforms', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(MatchCondition, self).__init__(**kwargs) + self.match_variables = kwargs.get('match_variables', None) + self.operator = kwargs.get('operator', None) + self.negation_conditon = kwargs.get('negation_conditon', None) + self.match_values = kwargs.get('match_values', None) + self.transforms = kwargs.get('transforms', None) + + +class MatchedRule(Model): + """Matched rule. + + :param rule_name: Name of the matched network security rule. + :type rule_name: str + :param action: The network traffic is allowed or denied. Possible values + are 'Allow' and 'Deny'. + :type action: str + """ + + _attribute_map = { + 'rule_name': {'key': 'ruleName', 'type': 'str'}, + 'action': {'key': 'action', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(MatchedRule, self).__init__(**kwargs) + self.rule_name = kwargs.get('rule_name', None) + self.action = kwargs.get('action', None) + + +class MatchVariable(Model): + """Define match variables. + + All required parameters must be populated in order to send to Azure. + + :param variable_name: Required. Match Variable. Possible values include: + 'RemoteAddr', 'RequestMethod', 'QueryString', 'PostArgs', 'RequestUri', + 'RequestHeaders', 'RequestBody', 'RequestCookies' + :type variable_name: str or + ~azure.mgmt.network.v2020_05_01.models.WebApplicationFirewallMatchVariable + :param selector: The selector of match variable. + :type selector: str + """ + + _validation = { + 'variable_name': {'required': True}, + } + + _attribute_map = { + 'variable_name': {'key': 'variableName', 'type': 'str'}, + 'selector': {'key': 'selector', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(MatchVariable, self).__init__(**kwargs) + self.variable_name = kwargs.get('variable_name', None) + self.selector = kwargs.get('selector', None) + + +class MetricSpecification(Model): + """Description of metrics specification. + + :param name: The name of the metric. + :type name: str + :param display_name: The display name of the metric. + :type display_name: str + :param display_description: The description of the metric. + :type display_description: str + :param unit: Units the metric to be displayed in. + :type unit: str + :param aggregation_type: The aggregation type. + :type aggregation_type: str + :param availabilities: List of availability. + :type availabilities: + list[~azure.mgmt.network.v2020_05_01.models.Availability] + :param enable_regional_mdm_account: Whether regional MDM account enabled. + :type enable_regional_mdm_account: bool + :param fill_gap_with_zero: Whether gaps would be filled with zeros. + :type fill_gap_with_zero: bool + :param metric_filter_pattern: Pattern for the filter of the metric. + :type metric_filter_pattern: str + :param dimensions: List of dimensions. + :type dimensions: list[~azure.mgmt.network.v2020_05_01.models.Dimension] + :param is_internal: Whether the metric is internal. + :type is_internal: bool + :param source_mdm_account: The source MDM account. + :type source_mdm_account: str + :param source_mdm_namespace: The source MDM namespace. + :type source_mdm_namespace: str + :param resource_id_dimension_name_override: The resource Id dimension name + override. + :type resource_id_dimension_name_override: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'display_description': {'key': 'displayDescription', 'type': 'str'}, + 'unit': {'key': 'unit', 'type': 'str'}, + 'aggregation_type': {'key': 'aggregationType', 'type': 'str'}, + 'availabilities': {'key': 'availabilities', 'type': '[Availability]'}, + 'enable_regional_mdm_account': {'key': 'enableRegionalMdmAccount', 'type': 'bool'}, + 'fill_gap_with_zero': {'key': 'fillGapWithZero', 'type': 'bool'}, + 'metric_filter_pattern': {'key': 'metricFilterPattern', 'type': 'str'}, + 'dimensions': {'key': 'dimensions', 'type': '[Dimension]'}, + 'is_internal': {'key': 'isInternal', 'type': 'bool'}, + 'source_mdm_account': {'key': 'sourceMdmAccount', 'type': 'str'}, + 'source_mdm_namespace': {'key': 'sourceMdmNamespace', 'type': 'str'}, + 'resource_id_dimension_name_override': {'key': 'resourceIdDimensionNameOverride', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(MetricSpecification, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.display_name = kwargs.get('display_name', None) + self.display_description = kwargs.get('display_description', None) + self.unit = kwargs.get('unit', None) + self.aggregation_type = kwargs.get('aggregation_type', None) + self.availabilities = kwargs.get('availabilities', None) + self.enable_regional_mdm_account = kwargs.get('enable_regional_mdm_account', None) + self.fill_gap_with_zero = kwargs.get('fill_gap_with_zero', None) + self.metric_filter_pattern = kwargs.get('metric_filter_pattern', None) + self.dimensions = kwargs.get('dimensions', None) + self.is_internal = kwargs.get('is_internal', None) + self.source_mdm_account = kwargs.get('source_mdm_account', None) + self.source_mdm_namespace = kwargs.get('source_mdm_namespace', None) + self.resource_id_dimension_name_override = kwargs.get('resource_id_dimension_name_override', None) + + +class NatGateway(Resource): + """Nat Gateway resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param sku: The nat gateway SKU. + :type sku: ~azure.mgmt.network.v2020_05_01.models.NatGatewaySku + :param idle_timeout_in_minutes: The idle timeout of the nat gateway. + :type idle_timeout_in_minutes: int + :param public_ip_addresses: An array of public ip addresses associated + with the nat gateway resource. + :type public_ip_addresses: + list[~azure.mgmt.network.v2020_05_01.models.SubResource] + :param public_ip_prefixes: An array of public ip prefixes associated with + the nat gateway resource. + :type public_ip_prefixes: + list[~azure.mgmt.network.v2020_05_01.models.SubResource] + :ivar subnets: An array of references to the subnets using this nat + gateway resource. + :vartype subnets: list[~azure.mgmt.network.v2020_05_01.models.SubResource] + :ivar resource_guid: The resource GUID property of the NAT gateway + resource. + :vartype resource_guid: str + :ivar provisioning_state: The provisioning state of the NAT gateway + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param zones: A list of availability zones denoting the zone in which Nat + Gateway should be deployed. + :type zones: list[str] + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'subnets': {'readonly': True}, + 'resource_guid': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'sku': {'key': 'sku', 'type': 'NatGatewaySku'}, + 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, + 'public_ip_addresses': {'key': 'properties.publicIpAddresses', 'type': '[SubResource]'}, + 'public_ip_prefixes': {'key': 'properties.publicIpPrefixes', 'type': '[SubResource]'}, + 'subnets': {'key': 'properties.subnets', 'type': '[SubResource]'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'zones': {'key': 'zones', 'type': '[str]'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(NatGateway, self).__init__(**kwargs) + self.sku = kwargs.get('sku', None) + self.idle_timeout_in_minutes = kwargs.get('idle_timeout_in_minutes', None) + self.public_ip_addresses = kwargs.get('public_ip_addresses', None) + self.public_ip_prefixes = kwargs.get('public_ip_prefixes', None) + self.subnets = None + self.resource_guid = None + self.provisioning_state = None + self.zones = kwargs.get('zones', None) + self.etag = None + + +class NatGatewaySku(Model): + """SKU of nat gateway. + + :param name: Name of Nat Gateway SKU. Possible values include: 'Standard' + :type name: str or + ~azure.mgmt.network.v2020_05_01.models.NatGatewaySkuName + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(NatGatewaySku, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + + +class NatRule(FirewallPolicyRule): + """Rule of type nat. + + All required parameters must be populated in order to send to Azure. + + :param name: Name of the rule. + :type name: str + :param description: Description of the rule. + :type description: str + :param rule_type: Required. Constant filled by server. + :type rule_type: str + :param ip_protocols: Array of FirewallPolicyRuleNetworkProtocols. + :type ip_protocols: list[str or + ~azure.mgmt.network.v2020_05_01.models.FirewallPolicyRuleNetworkProtocol] + :param source_addresses: List of source IP addresses for this rule. + :type source_addresses: list[str] + :param destination_addresses: List of destination IP addresses or Service + Tags. + :type destination_addresses: list[str] + :param destination_ports: List of destination ports. + :type destination_ports: list[str] + :param translated_address: The translated address for this NAT rule. + :type translated_address: str + :param translated_port: The translated port for this NAT rule. + :type translated_port: str + :param source_ip_groups: List of source IpGroups for this rule. + :type source_ip_groups: list[str] + """ + + _validation = { + 'rule_type': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'rule_type': {'key': 'ruleType', 'type': 'str'}, + 'ip_protocols': {'key': 'ipProtocols', 'type': '[str]'}, + 'source_addresses': {'key': 'sourceAddresses', 'type': '[str]'}, + 'destination_addresses': {'key': 'destinationAddresses', 'type': '[str]'}, + 'destination_ports': {'key': 'destinationPorts', 'type': '[str]'}, + 'translated_address': {'key': 'translatedAddress', 'type': 'str'}, + 'translated_port': {'key': 'translatedPort', 'type': 'str'}, + 'source_ip_groups': {'key': 'sourceIpGroups', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(NatRule, self).__init__(**kwargs) + self.ip_protocols = kwargs.get('ip_protocols', None) + self.source_addresses = kwargs.get('source_addresses', None) + self.destination_addresses = kwargs.get('destination_addresses', None) + self.destination_ports = kwargs.get('destination_ports', None) + self.translated_address = kwargs.get('translated_address', None) + self.translated_port = kwargs.get('translated_port', None) + self.source_ip_groups = kwargs.get('source_ip_groups', None) + self.rule_type = 'NatRule' + + +class NetworkConfigurationDiagnosticParameters(Model): + """Parameters to get network configuration diagnostic. + + All required parameters must be populated in order to send to Azure. + + :param target_resource_id: Required. The ID of the target resource to + perform network configuration diagnostic. Valid options are VM, + NetworkInterface, VMSS/NetworkInterface and Application Gateway. + :type target_resource_id: str + :param verbosity_level: Verbosity level. Possible values include: + 'Normal', 'Minimum', 'Full' + :type verbosity_level: str or + ~azure.mgmt.network.v2020_05_01.models.VerbosityLevel + :param profiles: Required. List of network configuration diagnostic + profiles. + :type profiles: + list[~azure.mgmt.network.v2020_05_01.models.NetworkConfigurationDiagnosticProfile] + """ + + _validation = { + 'target_resource_id': {'required': True}, + 'profiles': {'required': True}, + } + + _attribute_map = { + 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, + 'verbosity_level': {'key': 'verbosityLevel', 'type': 'str'}, + 'profiles': {'key': 'profiles', 'type': '[NetworkConfigurationDiagnosticProfile]'}, + } + + def __init__(self, **kwargs): + super(NetworkConfigurationDiagnosticParameters, self).__init__(**kwargs) + self.target_resource_id = kwargs.get('target_resource_id', None) + self.verbosity_level = kwargs.get('verbosity_level', None) + self.profiles = kwargs.get('profiles', None) + + +class NetworkConfigurationDiagnosticProfile(Model): + """Parameters to compare with network configuration. + + All required parameters must be populated in order to send to Azure. + + :param direction: Required. The direction of the traffic. Possible values + include: 'Inbound', 'Outbound' + :type direction: str or ~azure.mgmt.network.v2020_05_01.models.Direction + :param protocol: Required. Protocol to be verified on. Accepted values are + '*', TCP, UDP. + :type protocol: str + :param source: Required. Traffic source. Accepted values are '*', IP + Address/CIDR, Service Tag. + :type source: str + :param destination: Required. Traffic destination. Accepted values are: + '*', IP Address/CIDR, Service Tag. + :type destination: str + :param destination_port: Required. Traffic destination port. Accepted + values are '*' and a single port in the range (0 - 65535). + :type destination_port: str + """ + + _validation = { + 'direction': {'required': True}, + 'protocol': {'required': True}, + 'source': {'required': True}, + 'destination': {'required': True}, + 'destination_port': {'required': True}, + } + + _attribute_map = { + 'direction': {'key': 'direction', 'type': 'str'}, + 'protocol': {'key': 'protocol', 'type': 'str'}, + 'source': {'key': 'source', 'type': 'str'}, + 'destination': {'key': 'destination', 'type': 'str'}, + 'destination_port': {'key': 'destinationPort', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(NetworkConfigurationDiagnosticProfile, self).__init__(**kwargs) + self.direction = kwargs.get('direction', None) + self.protocol = kwargs.get('protocol', None) + self.source = kwargs.get('source', None) + self.destination = kwargs.get('destination', None) + self.destination_port = kwargs.get('destination_port', None) + + +class NetworkConfigurationDiagnosticResponse(Model): + """Results of network configuration diagnostic on the target resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar results: List of network configuration diagnostic results. + :vartype results: + list[~azure.mgmt.network.v2020_05_01.models.NetworkConfigurationDiagnosticResult] + """ + + _validation = { + 'results': {'readonly': True}, + } + + _attribute_map = { + 'results': {'key': 'results', 'type': '[NetworkConfigurationDiagnosticResult]'}, + } + + def __init__(self, **kwargs): + super(NetworkConfigurationDiagnosticResponse, self).__init__(**kwargs) + self.results = None + + +class NetworkConfigurationDiagnosticResult(Model): + """Network configuration diagnostic result corresponded to provided traffic + query. + + :param profile: Network configuration diagnostic profile. + :type profile: + ~azure.mgmt.network.v2020_05_01.models.NetworkConfigurationDiagnosticProfile + :param network_security_group_result: Network security group result. + :type network_security_group_result: + ~azure.mgmt.network.v2020_05_01.models.NetworkSecurityGroupResult + """ + + _attribute_map = { + 'profile': {'key': 'profile', 'type': 'NetworkConfigurationDiagnosticProfile'}, + 'network_security_group_result': {'key': 'networkSecurityGroupResult', 'type': 'NetworkSecurityGroupResult'}, + } + + def __init__(self, **kwargs): + super(NetworkConfigurationDiagnosticResult, self).__init__(**kwargs) + self.profile = kwargs.get('profile', None) + self.network_security_group_result = kwargs.get('network_security_group_result', None) + + +class NetworkIntentPolicy(Resource): + """Network Intent Policy resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(NetworkIntentPolicy, self).__init__(**kwargs) + self.etag = None + + +class NetworkIntentPolicyConfiguration(Model): + """Details of NetworkIntentPolicyConfiguration for + PrepareNetworkPoliciesRequest. + + :param network_intent_policy_name: The name of the Network Intent Policy + for storing in target subscription. + :type network_intent_policy_name: str + :param source_network_intent_policy: Source network intent policy. + :type source_network_intent_policy: + ~azure.mgmt.network.v2020_05_01.models.NetworkIntentPolicy + """ + + _attribute_map = { + 'network_intent_policy_name': {'key': 'networkIntentPolicyName', 'type': 'str'}, + 'source_network_intent_policy': {'key': 'sourceNetworkIntentPolicy', 'type': 'NetworkIntentPolicy'}, + } + + def __init__(self, **kwargs): + super(NetworkIntentPolicyConfiguration, self).__init__(**kwargs) + self.network_intent_policy_name = kwargs.get('network_intent_policy_name', None) + self.source_network_intent_policy = kwargs.get('source_network_intent_policy', None) + + +class NetworkInterface(Resource): + """A network interface in a resource group. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar virtual_machine: The reference to a virtual machine. + :vartype virtual_machine: + ~azure.mgmt.network.v2020_05_01.models.SubResource + :param network_security_group: The reference to the NetworkSecurityGroup + resource. + :type network_security_group: + ~azure.mgmt.network.v2020_05_01.models.NetworkSecurityGroup + :ivar private_endpoint: A reference to the private endpoint to which the + network interface is linked. + :vartype private_endpoint: + ~azure.mgmt.network.v2020_05_01.models.PrivateEndpoint + :param ip_configurations: A list of IPConfigurations of the network + interface. + :type ip_configurations: + list[~azure.mgmt.network.v2020_05_01.models.NetworkInterfaceIPConfiguration] + :ivar tap_configurations: A list of TapConfigurations of the network + interface. + :vartype tap_configurations: + list[~azure.mgmt.network.v2020_05_01.models.NetworkInterfaceTapConfiguration] + :param dns_settings: The DNS settings in network interface. + :type dns_settings: + ~azure.mgmt.network.v2020_05_01.models.NetworkInterfaceDnsSettings + :ivar mac_address: The MAC address of the network interface. + :vartype mac_address: str + :ivar primary: Whether this is a primary network interface on a virtual + machine. + :vartype primary: bool + :param enable_accelerated_networking: If the network interface is + accelerated networking enabled. + :type enable_accelerated_networking: bool + :param enable_ip_forwarding: Indicates whether IP forwarding is enabled on + this network interface. + :type enable_ip_forwarding: bool + :ivar hosted_workloads: A list of references to linked BareMetal + resources. + :vartype hosted_workloads: list[str] + :ivar resource_guid: The resource GUID property of the network interface + resource. + :vartype resource_guid: str + :ivar provisioning_state: The provisioning state of the network interface + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'virtual_machine': {'readonly': True}, + 'private_endpoint': {'readonly': True}, + 'tap_configurations': {'readonly': True}, + 'mac_address': {'readonly': True}, + 'primary': {'readonly': True}, + 'hosted_workloads': {'readonly': True}, + 'resource_guid': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'virtual_machine': {'key': 'properties.virtualMachine', 'type': 'SubResource'}, + 'network_security_group': {'key': 'properties.networkSecurityGroup', 'type': 'NetworkSecurityGroup'}, + 'private_endpoint': {'key': 'properties.privateEndpoint', 'type': 'PrivateEndpoint'}, + 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[NetworkInterfaceIPConfiguration]'}, + 'tap_configurations': {'key': 'properties.tapConfigurations', 'type': '[NetworkInterfaceTapConfiguration]'}, + 'dns_settings': {'key': 'properties.dnsSettings', 'type': 'NetworkInterfaceDnsSettings'}, + 'mac_address': {'key': 'properties.macAddress', 'type': 'str'}, + 'primary': {'key': 'properties.primary', 'type': 'bool'}, + 'enable_accelerated_networking': {'key': 'properties.enableAcceleratedNetworking', 'type': 'bool'}, + 'enable_ip_forwarding': {'key': 'properties.enableIPForwarding', 'type': 'bool'}, + 'hosted_workloads': {'key': 'properties.hostedWorkloads', 'type': '[str]'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(NetworkInterface, self).__init__(**kwargs) + self.virtual_machine = None + self.network_security_group = kwargs.get('network_security_group', None) + self.private_endpoint = None + self.ip_configurations = kwargs.get('ip_configurations', None) + self.tap_configurations = None + self.dns_settings = kwargs.get('dns_settings', None) + self.mac_address = None + self.primary = None + self.enable_accelerated_networking = kwargs.get('enable_accelerated_networking', None) + self.enable_ip_forwarding = kwargs.get('enable_ip_forwarding', None) + self.hosted_workloads = None + self.resource_guid = None + self.provisioning_state = None + self.etag = None + + +class NetworkInterfaceAssociation(Model): + """Network interface and its custom security rules. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Network interface ID. + :vartype id: str + :param security_rules: Collection of custom security rules. + :type security_rules: + list[~azure.mgmt.network.v2020_05_01.models.SecurityRule] + """ + + _validation = { + 'id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'security_rules': {'key': 'securityRules', 'type': '[SecurityRule]'}, + } + + def __init__(self, **kwargs): + super(NetworkInterfaceAssociation, self).__init__(**kwargs) + self.id = None + self.security_rules = kwargs.get('security_rules', None) + + +class NetworkInterfaceDnsSettings(Model): + """DNS settings of a network interface. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param dns_servers: List of DNS servers IP addresses. Use + 'AzureProvidedDNS' to switch to azure provided DNS resolution. + 'AzureProvidedDNS' value cannot be combined with other IPs, it must be the + only value in dnsServers collection. + :type dns_servers: list[str] + :ivar applied_dns_servers: If the VM that uses this NIC is part of an + Availability Set, then this list will have the union of all DNS servers + from all NICs that are part of the Availability Set. This property is what + is configured on each of those VMs. + :vartype applied_dns_servers: list[str] + :param internal_dns_name_label: Relative DNS name for this NIC used for + internal communications between VMs in the same virtual network. + :type internal_dns_name_label: str + :ivar internal_fqdn: Fully qualified DNS name supporting internal + communications between VMs in the same virtual network. + :vartype internal_fqdn: str + :ivar internal_domain_name_suffix: Even if internalDnsNameLabel is not + specified, a DNS entry is created for the primary NIC of the VM. This DNS + name can be constructed by concatenating the VM name with the value of + internalDomainNameSuffix. + :vartype internal_domain_name_suffix: str + """ + + _validation = { + 'applied_dns_servers': {'readonly': True}, + 'internal_fqdn': {'readonly': True}, + 'internal_domain_name_suffix': {'readonly': True}, + } + + _attribute_map = { + 'dns_servers': {'key': 'dnsServers', 'type': '[str]'}, + 'applied_dns_servers': {'key': 'appliedDnsServers', 'type': '[str]'}, + 'internal_dns_name_label': {'key': 'internalDnsNameLabel', 'type': 'str'}, + 'internal_fqdn': {'key': 'internalFqdn', 'type': 'str'}, + 'internal_domain_name_suffix': {'key': 'internalDomainNameSuffix', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(NetworkInterfaceDnsSettings, self).__init__(**kwargs) + self.dns_servers = kwargs.get('dns_servers', None) + self.applied_dns_servers = None + self.internal_dns_name_label = kwargs.get('internal_dns_name_label', None) + self.internal_fqdn = None + self.internal_domain_name_suffix = None + + +class NetworkInterfaceIPConfiguration(SubResource): + """IPConfiguration in a network interface. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param virtual_network_taps: The reference to Virtual Network Taps. + :type virtual_network_taps: + list[~azure.mgmt.network.v2020_05_01.models.VirtualNetworkTap] + :param application_gateway_backend_address_pools: The reference to + ApplicationGatewayBackendAddressPool resource. + :type application_gateway_backend_address_pools: + list[~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayBackendAddressPool] + :param load_balancer_backend_address_pools: The reference to + LoadBalancerBackendAddressPool resource. + :type load_balancer_backend_address_pools: + list[~azure.mgmt.network.v2020_05_01.models.BackendAddressPool] + :param load_balancer_inbound_nat_rules: A list of references of + LoadBalancerInboundNatRules. + :type load_balancer_inbound_nat_rules: + list[~azure.mgmt.network.v2020_05_01.models.InboundNatRule] + :param private_ip_address: Private IP address of the IP configuration. + :type private_ip_address: str + :param private_ip_allocation_method: The private IP address allocation + method. Possible values include: 'Static', 'Dynamic' + :type private_ip_allocation_method: str or + ~azure.mgmt.network.v2020_05_01.models.IPAllocationMethod + :param private_ip_address_version: Whether the specific IP configuration + is IPv4 or IPv6. Default is IPv4. Possible values include: 'IPv4', 'IPv6' + :type private_ip_address_version: str or + ~azure.mgmt.network.v2020_05_01.models.IPVersion + :param subnet: Subnet bound to the IP configuration. + :type subnet: ~azure.mgmt.network.v2020_05_01.models.Subnet + :param primary: Whether this is a primary customer address on the network + interface. + :type primary: bool + :param public_ip_address: Public IP address bound to the IP configuration. + :type public_ip_address: + ~azure.mgmt.network.v2020_05_01.models.PublicIPAddress + :param application_security_groups: Application security groups in which + the IP configuration is included. + :type application_security_groups: + list[~azure.mgmt.network.v2020_05_01.models.ApplicationSecurityGroup] + :ivar provisioning_state: The provisioning state of the network interface + IP configuration. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :ivar private_link_connection_properties: PrivateLinkConnection properties + for the network interface. + :vartype private_link_connection_properties: + ~azure.mgmt.network.v2020_05_01.models.NetworkInterfaceIPConfigurationPrivateLinkConnectionProperties + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'private_link_connection_properties': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'virtual_network_taps': {'key': 'properties.virtualNetworkTaps', 'type': '[VirtualNetworkTap]'}, + 'application_gateway_backend_address_pools': {'key': 'properties.applicationGatewayBackendAddressPools', 'type': '[ApplicationGatewayBackendAddressPool]'}, + 'load_balancer_backend_address_pools': {'key': 'properties.loadBalancerBackendAddressPools', 'type': '[BackendAddressPool]'}, + 'load_balancer_inbound_nat_rules': {'key': 'properties.loadBalancerInboundNatRules', 'type': '[InboundNatRule]'}, + 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, + 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, + 'private_ip_address_version': {'key': 'properties.privateIPAddressVersion', 'type': 'str'}, + 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, + 'primary': {'key': 'properties.primary', 'type': 'bool'}, + 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'PublicIPAddress'}, + 'application_security_groups': {'key': 'properties.applicationSecurityGroups', 'type': '[ApplicationSecurityGroup]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'private_link_connection_properties': {'key': 'properties.privateLinkConnectionProperties', 'type': 'NetworkInterfaceIPConfigurationPrivateLinkConnectionProperties'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(NetworkInterfaceIPConfiguration, self).__init__(**kwargs) + self.virtual_network_taps = kwargs.get('virtual_network_taps', None) + self.application_gateway_backend_address_pools = kwargs.get('application_gateway_backend_address_pools', None) + self.load_balancer_backend_address_pools = kwargs.get('load_balancer_backend_address_pools', None) + self.load_balancer_inbound_nat_rules = kwargs.get('load_balancer_inbound_nat_rules', None) + self.private_ip_address = kwargs.get('private_ip_address', None) + self.private_ip_allocation_method = kwargs.get('private_ip_allocation_method', None) + self.private_ip_address_version = kwargs.get('private_ip_address_version', None) + self.subnet = kwargs.get('subnet', None) + self.primary = kwargs.get('primary', None) + self.public_ip_address = kwargs.get('public_ip_address', None) + self.application_security_groups = kwargs.get('application_security_groups', None) + self.provisioning_state = None + self.private_link_connection_properties = None + self.name = kwargs.get('name', None) + self.etag = None + + +class NetworkInterfaceIPConfigurationPrivateLinkConnectionProperties(Model): + """PrivateLinkConnection properties for the network interface. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar group_id: The group ID for current private link connection. + :vartype group_id: str + :ivar required_member_name: The required member name for current private + link connection. + :vartype required_member_name: str + :ivar fqdns: List of FQDNs for current private link connection. + :vartype fqdns: list[str] + """ + + _validation = { + 'group_id': {'readonly': True}, + 'required_member_name': {'readonly': True}, + 'fqdns': {'readonly': True}, + } + + _attribute_map = { + 'group_id': {'key': 'groupId', 'type': 'str'}, + 'required_member_name': {'key': 'requiredMemberName', 'type': 'str'}, + 'fqdns': {'key': 'fqdns', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(NetworkInterfaceIPConfigurationPrivateLinkConnectionProperties, self).__init__(**kwargs) + self.group_id = None + self.required_member_name = None + self.fqdns = None + + +class NetworkInterfaceTapConfiguration(SubResource): + """Tap configuration in a Network Interface. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param virtual_network_tap: The reference to the Virtual Network Tap + resource. + :type virtual_network_tap: + ~azure.mgmt.network.v2020_05_01.models.VirtualNetworkTap + :ivar provisioning_state: The provisioning state of the network interface + tap configuration resource. Possible values include: 'Succeeded', + 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Sub Resource type. + :vartype type: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'virtual_network_tap': {'key': 'properties.virtualNetworkTap', 'type': 'VirtualNetworkTap'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(NetworkInterfaceTapConfiguration, self).__init__(**kwargs) + self.virtual_network_tap = kwargs.get('virtual_network_tap', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = None + self.type = None + + +class NetworkProfile(Resource): + """Network profile resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar container_network_interfaces: List of child container network + interfaces. + :vartype container_network_interfaces: + list[~azure.mgmt.network.v2020_05_01.models.ContainerNetworkInterface] + :param container_network_interface_configurations: List of chid container + network interface configurations. + :type container_network_interface_configurations: + list[~azure.mgmt.network.v2020_05_01.models.ContainerNetworkInterfaceConfiguration] + :ivar resource_guid: The resource GUID property of the network profile + resource. + :vartype resource_guid: str + :ivar provisioning_state: The provisioning state of the network profile + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'container_network_interfaces': {'readonly': True}, + 'resource_guid': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'container_network_interfaces': {'key': 'properties.containerNetworkInterfaces', 'type': '[ContainerNetworkInterface]'}, + 'container_network_interface_configurations': {'key': 'properties.containerNetworkInterfaceConfigurations', 'type': '[ContainerNetworkInterfaceConfiguration]'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(NetworkProfile, self).__init__(**kwargs) + self.container_network_interfaces = None + self.container_network_interface_configurations = kwargs.get('container_network_interface_configurations', None) + self.resource_guid = None + self.provisioning_state = None + self.etag = None + + +class NetworkRule(FirewallPolicyRule): + """Rule of type network. + + All required parameters must be populated in order to send to Azure. + + :param name: Name of the rule. + :type name: str + :param description: Description of the rule. + :type description: str + :param rule_type: Required. Constant filled by server. + :type rule_type: str + :param ip_protocols: Array of FirewallPolicyRuleNetworkProtocols. + :type ip_protocols: list[str or + ~azure.mgmt.network.v2020_05_01.models.FirewallPolicyRuleNetworkProtocol] + :param source_addresses: List of source IP addresses for this rule. + :type source_addresses: list[str] + :param destination_addresses: List of destination IP addresses or Service + Tags. + :type destination_addresses: list[str] + :param destination_ports: List of destination ports. + :type destination_ports: list[str] + :param source_ip_groups: List of source IpGroups for this rule. + :type source_ip_groups: list[str] + :param destination_ip_groups: List of destination IpGroups for this rule. + :type destination_ip_groups: list[str] + :param destination_fqdns: List of destination FQDNs. + :type destination_fqdns: list[str] + """ + + _validation = { + 'rule_type': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'rule_type': {'key': 'ruleType', 'type': 'str'}, + 'ip_protocols': {'key': 'ipProtocols', 'type': '[str]'}, + 'source_addresses': {'key': 'sourceAddresses', 'type': '[str]'}, + 'destination_addresses': {'key': 'destinationAddresses', 'type': '[str]'}, + 'destination_ports': {'key': 'destinationPorts', 'type': '[str]'}, + 'source_ip_groups': {'key': 'sourceIpGroups', 'type': '[str]'}, + 'destination_ip_groups': {'key': 'destinationIpGroups', 'type': '[str]'}, + 'destination_fqdns': {'key': 'destinationFqdns', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(NetworkRule, self).__init__(**kwargs) + self.ip_protocols = kwargs.get('ip_protocols', None) + self.source_addresses = kwargs.get('source_addresses', None) + self.destination_addresses = kwargs.get('destination_addresses', None) + self.destination_ports = kwargs.get('destination_ports', None) + self.source_ip_groups = kwargs.get('source_ip_groups', None) + self.destination_ip_groups = kwargs.get('destination_ip_groups', None) + self.destination_fqdns = kwargs.get('destination_fqdns', None) + self.rule_type = 'NetworkRule' + + +class NetworkSecurityGroup(Resource): + """NetworkSecurityGroup resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param security_rules: A collection of security rules of the network + security group. + :type security_rules: + list[~azure.mgmt.network.v2020_05_01.models.SecurityRule] + :ivar default_security_rules: The default security rules of network + security group. + :vartype default_security_rules: + list[~azure.mgmt.network.v2020_05_01.models.SecurityRule] + :ivar network_interfaces: A collection of references to network + interfaces. + :vartype network_interfaces: + list[~azure.mgmt.network.v2020_05_01.models.NetworkInterface] + :ivar subnets: A collection of references to subnets. + :vartype subnets: list[~azure.mgmt.network.v2020_05_01.models.Subnet] + :ivar flow_logs: A collection of references to flow log resources. + :vartype flow_logs: list[~azure.mgmt.network.v2020_05_01.models.FlowLog] + :ivar resource_guid: The resource GUID property of the network security + group resource. + :vartype resource_guid: str + :ivar provisioning_state: The provisioning state of the network security + group resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'default_security_rules': {'readonly': True}, + 'network_interfaces': {'readonly': True}, + 'subnets': {'readonly': True}, + 'flow_logs': {'readonly': True}, + 'resource_guid': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'security_rules': {'key': 'properties.securityRules', 'type': '[SecurityRule]'}, + 'default_security_rules': {'key': 'properties.defaultSecurityRules', 'type': '[SecurityRule]'}, + 'network_interfaces': {'key': 'properties.networkInterfaces', 'type': '[NetworkInterface]'}, + 'subnets': {'key': 'properties.subnets', 'type': '[Subnet]'}, + 'flow_logs': {'key': 'properties.flowLogs', 'type': '[FlowLog]'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(NetworkSecurityGroup, self).__init__(**kwargs) + self.security_rules = kwargs.get('security_rules', None) + self.default_security_rules = None + self.network_interfaces = None + self.subnets = None + self.flow_logs = None + self.resource_guid = None + self.provisioning_state = None + self.etag = None + + +class NetworkSecurityGroupResult(Model): + """Network configuration diagnostic result corresponded provided traffic + query. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param security_rule_access_result: The network traffic is allowed or + denied. Possible values include: 'Allow', 'Deny' + :type security_rule_access_result: str or + ~azure.mgmt.network.v2020_05_01.models.SecurityRuleAccess + :ivar evaluated_network_security_groups: List of results network security + groups diagnostic. + :vartype evaluated_network_security_groups: + list[~azure.mgmt.network.v2020_05_01.models.EvaluatedNetworkSecurityGroup] + """ + + _validation = { + 'evaluated_network_security_groups': {'readonly': True}, + } + + _attribute_map = { + 'security_rule_access_result': {'key': 'securityRuleAccessResult', 'type': 'str'}, + 'evaluated_network_security_groups': {'key': 'evaluatedNetworkSecurityGroups', 'type': '[EvaluatedNetworkSecurityGroup]'}, + } + + def __init__(self, **kwargs): + super(NetworkSecurityGroupResult, self).__init__(**kwargs) + self.security_rule_access_result = kwargs.get('security_rule_access_result', None) + self.evaluated_network_security_groups = None + + +class NetworkSecurityRulesEvaluationResult(Model): + """Network security rules evaluation result. + + :param name: Name of the network security rule. + :type name: str + :param protocol_matched: Value indicating whether protocol is matched. + :type protocol_matched: bool + :param source_matched: Value indicating whether source is matched. + :type source_matched: bool + :param source_port_matched: Value indicating whether source port is + matched. + :type source_port_matched: bool + :param destination_matched: Value indicating whether destination is + matched. + :type destination_matched: bool + :param destination_port_matched: Value indicating whether destination port + is matched. + :type destination_port_matched: bool + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'protocol_matched': {'key': 'protocolMatched', 'type': 'bool'}, + 'source_matched': {'key': 'sourceMatched', 'type': 'bool'}, + 'source_port_matched': {'key': 'sourcePortMatched', 'type': 'bool'}, + 'destination_matched': {'key': 'destinationMatched', 'type': 'bool'}, + 'destination_port_matched': {'key': 'destinationPortMatched', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(NetworkSecurityRulesEvaluationResult, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.protocol_matched = kwargs.get('protocol_matched', None) + self.source_matched = kwargs.get('source_matched', None) + self.source_port_matched = kwargs.get('source_port_matched', None) + self.destination_matched = kwargs.get('destination_matched', None) + self.destination_port_matched = kwargs.get('destination_port_matched', None) + + +class NetworkVirtualAppliance(Resource): + """NetworkVirtualAppliance Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param boot_strap_configuration_blobs: BootStrapConfigurationBlobs storage + URLs. + :type boot_strap_configuration_blobs: list[str] + :param virtual_hub: The Virtual Hub where Network Virtual Appliance is + being deployed. + :type virtual_hub: ~azure.mgmt.network.v2020_05_01.models.SubResource + :param cloud_init_configuration_blobs: CloudInitConfigurationBlob storage + URLs. + :type cloud_init_configuration_blobs: list[str] + :param cloud_init_configuration: CloudInitConfiguration string in plain + text. + :type cloud_init_configuration: str + :param virtual_appliance_asn: VirtualAppliance ASN. + :type virtual_appliance_asn: long + :ivar virtual_appliance_nics: List of Virtual Appliance Network + Interfaces. + :vartype virtual_appliance_nics: + list[~azure.mgmt.network.v2020_05_01.models.VirtualApplianceNicProperties] + :ivar virtual_appliance_sites: List of references to VirtualApplianceSite. + :vartype virtual_appliance_sites: + list[~azure.mgmt.network.v2020_05_01.models.SubResource] + :ivar provisioning_state: The provisioning state of the resource. Possible + values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param identity: The service principal that has read access to cloud-init + and config blob. + :type identity: + ~azure.mgmt.network.v2020_05_01.models.ManagedServiceIdentity + :param sku: Network Virtual Appliance SKU. + :type sku: + ~azure.mgmt.network.v2020_05_01.models.VirtualApplianceSkuProperties + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'virtual_appliance_asn': {'maximum': 4294967295, 'minimum': 0}, + 'virtual_appliance_nics': {'readonly': True}, + 'virtual_appliance_sites': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'boot_strap_configuration_blobs': {'key': 'properties.bootStrapConfigurationBlobs', 'type': '[str]'}, + 'virtual_hub': {'key': 'properties.virtualHub', 'type': 'SubResource'}, + 'cloud_init_configuration_blobs': {'key': 'properties.cloudInitConfigurationBlobs', 'type': '[str]'}, + 'cloud_init_configuration': {'key': 'properties.cloudInitConfiguration', 'type': 'str'}, + 'virtual_appliance_asn': {'key': 'properties.virtualApplianceAsn', 'type': 'long'}, + 'virtual_appliance_nics': {'key': 'properties.virtualApplianceNics', 'type': '[VirtualApplianceNicProperties]'}, + 'virtual_appliance_sites': {'key': 'properties.virtualApplianceSites', 'type': '[SubResource]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, + 'sku': {'key': 'sku', 'type': 'VirtualApplianceSkuProperties'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(NetworkVirtualAppliance, self).__init__(**kwargs) + self.boot_strap_configuration_blobs = kwargs.get('boot_strap_configuration_blobs', None) + self.virtual_hub = kwargs.get('virtual_hub', None) + self.cloud_init_configuration_blobs = kwargs.get('cloud_init_configuration_blobs', None) + self.cloud_init_configuration = kwargs.get('cloud_init_configuration', None) + self.virtual_appliance_asn = kwargs.get('virtual_appliance_asn', None) + self.virtual_appliance_nics = None + self.virtual_appliance_sites = None + self.provisioning_state = None + self.identity = kwargs.get('identity', None) + self.sku = kwargs.get('sku', None) + self.etag = None + + +class NetworkVirtualApplianceSku(Resource): + """Available NetworkVirtualApplianceSkus. + + Definition of the NetworkVirtualApplianceSkus resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar vendor: Network Virtual Appliance Sku vendor. + :vartype vendor: str + :ivar available_versions: Available Network Virtual Appliance versions. + :vartype available_versions: list[str] + :param available_scale_units: The list of scale units available. + :type available_scale_units: + list[~azure.mgmt.network.v2020_05_01.models.NetworkVirtualApplianceSkuInstances] + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'vendor': {'readonly': True}, + 'available_versions': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'vendor': {'key': 'properties.vendor', 'type': 'str'}, + 'available_versions': {'key': 'properties.availableVersions', 'type': '[str]'}, + 'available_scale_units': {'key': 'properties.availableScaleUnits', 'type': '[NetworkVirtualApplianceSkuInstances]'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(NetworkVirtualApplianceSku, self).__init__(**kwargs) + self.vendor = None + self.available_versions = None + self.available_scale_units = kwargs.get('available_scale_units', None) + self.etag = None + + +class NetworkVirtualApplianceSkuInstances(Model): + """Network Virtual Appliance Sku Instances. + + List of available Sku and instances. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar scale_unit: Scale Unit. + :vartype scale_unit: str + :ivar instance_count: Instance Count. + :vartype instance_count: int + """ + + _validation = { + 'scale_unit': {'readonly': True}, + 'instance_count': {'readonly': True}, + } + + _attribute_map = { + 'scale_unit': {'key': 'scaleUnit', 'type': 'str'}, + 'instance_count': {'key': 'instanceCount', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(NetworkVirtualApplianceSkuInstances, self).__init__(**kwargs) + self.scale_unit = None + self.instance_count = None + + +class NetworkWatcher(Resource): + """Network watcher in a resource group. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar provisioning_state: The provisioning state of the network watcher + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(NetworkWatcher, self).__init__(**kwargs) + self.etag = None + self.provisioning_state = None + + +class NextHopParameters(Model): + """Parameters that define the source and destination endpoint. + + All required parameters must be populated in order to send to Azure. + + :param target_resource_id: Required. The resource identifier of the target + resource against which the action is to be performed. + :type target_resource_id: str + :param source_ip_address: Required. The source IP address. + :type source_ip_address: str + :param destination_ip_address: Required. The destination IP address. + :type destination_ip_address: str + :param target_nic_resource_id: The NIC ID. (If VM has multiple NICs and IP + forwarding is enabled on any of the nics, then this parameter must be + specified. Otherwise optional). + :type target_nic_resource_id: str + """ + + _validation = { + 'target_resource_id': {'required': True}, + 'source_ip_address': {'required': True}, + 'destination_ip_address': {'required': True}, + } + + _attribute_map = { + 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, + 'source_ip_address': {'key': 'sourceIPAddress', 'type': 'str'}, + 'destination_ip_address': {'key': 'destinationIPAddress', 'type': 'str'}, + 'target_nic_resource_id': {'key': 'targetNicResourceId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(NextHopParameters, self).__init__(**kwargs) + self.target_resource_id = kwargs.get('target_resource_id', None) + self.source_ip_address = kwargs.get('source_ip_address', None) + self.destination_ip_address = kwargs.get('destination_ip_address', None) + self.target_nic_resource_id = kwargs.get('target_nic_resource_id', None) + + +class NextHopResult(Model): + """The information about next hop from the specified VM. + + :param next_hop_type: Next hop type. Possible values include: 'Internet', + 'VirtualAppliance', 'VirtualNetworkGateway', 'VnetLocal', + 'HyperNetGateway', 'None' + :type next_hop_type: str or + ~azure.mgmt.network.v2020_05_01.models.NextHopType + :param next_hop_ip_address: Next hop IP Address. + :type next_hop_ip_address: str + :param route_table_id: The resource identifier for the route table + associated with the route being returned. If the route being returned does + not correspond to any user created routes then this field will be the + string 'System Route'. + :type route_table_id: str + """ + + _attribute_map = { + 'next_hop_type': {'key': 'nextHopType', 'type': 'str'}, + 'next_hop_ip_address': {'key': 'nextHopIpAddress', 'type': 'str'}, + 'route_table_id': {'key': 'routeTableId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(NextHopResult, self).__init__(**kwargs) + self.next_hop_type = kwargs.get('next_hop_type', None) + self.next_hop_ip_address = kwargs.get('next_hop_ip_address', None) + self.route_table_id = kwargs.get('route_table_id', None) + + +class Office365PolicyProperties(Model): + """Network Virtual Appliance Sku Properties. + + :param break_out_categories: Office 365 breakout categories. + :type break_out_categories: + ~azure.mgmt.network.v2020_05_01.models.BreakOutCategoryPolicies + """ + + _attribute_map = { + 'break_out_categories': {'key': 'breakOutCategories', 'type': 'BreakOutCategoryPolicies'}, + } + + def __init__(self, **kwargs): + super(Office365PolicyProperties, self).__init__(**kwargs) + self.break_out_categories = kwargs.get('break_out_categories', None) + + +class Operation(Model): + """Network REST API operation definition. + + :param name: Operation name: {provider}/{resource}/{operation}. + :type name: str + :param display: Display metadata associated with the operation. + :type display: ~azure.mgmt.network.v2020_05_01.models.OperationDisplay + :param origin: Origin of the operation. + :type origin: str + :param service_specification: Specification of the service. + :type service_specification: + ~azure.mgmt.network.v2020_05_01.models.OperationPropertiesFormatServiceSpecification + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'OperationDisplay'}, + 'origin': {'key': 'origin', 'type': 'str'}, + 'service_specification': {'key': 'properties.serviceSpecification', 'type': 'OperationPropertiesFormatServiceSpecification'}, + } + + def __init__(self, **kwargs): + super(Operation, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.display = kwargs.get('display', None) + self.origin = kwargs.get('origin', None) + self.service_specification = kwargs.get('service_specification', None) + + +class OperationDisplay(Model): + """Display metadata associated with the operation. + + :param provider: Service provider: Microsoft Network. + :type provider: str + :param resource: Resource on which the operation is performed. + :type resource: str + :param operation: Type of the operation: get, read, delete, etc. + :type operation: str + :param description: Description of the operation. + :type description: str + """ + + _attribute_map = { + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(OperationDisplay, self).__init__(**kwargs) + self.provider = kwargs.get('provider', None) + self.resource = kwargs.get('resource', None) + self.operation = kwargs.get('operation', None) + self.description = kwargs.get('description', None) + + +class OperationPropertiesFormatServiceSpecification(Model): + """Specification of the service. + + :param metric_specifications: Operation service specification. + :type metric_specifications: + list[~azure.mgmt.network.v2020_05_01.models.MetricSpecification] + :param log_specifications: Operation log specification. + :type log_specifications: + list[~azure.mgmt.network.v2020_05_01.models.LogSpecification] + """ + + _attribute_map = { + 'metric_specifications': {'key': 'metricSpecifications', 'type': '[MetricSpecification]'}, + 'log_specifications': {'key': 'logSpecifications', 'type': '[LogSpecification]'}, + } + + def __init__(self, **kwargs): + super(OperationPropertiesFormatServiceSpecification, self).__init__(**kwargs) + self.metric_specifications = kwargs.get('metric_specifications', None) + self.log_specifications = kwargs.get('log_specifications', None) + + +class OutboundRule(SubResource): + """Outbound rule of the load balancer. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :param allocated_outbound_ports: The number of outbound ports to be used + for NAT. + :type allocated_outbound_ports: int + :param frontend_ip_configurations: Required. The Frontend IP addresses of + the load balancer. + :type frontend_ip_configurations: + list[~azure.mgmt.network.v2020_05_01.models.SubResource] + :param backend_address_pool: Required. A reference to a pool of DIPs. + Outbound traffic is randomly load balanced across IPs in the backend IPs. + :type backend_address_pool: + ~azure.mgmt.network.v2020_05_01.models.SubResource + :ivar provisioning_state: The provisioning state of the outbound rule + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param protocol: Required. The protocol for the outbound rule in load + balancer. Possible values include: 'Tcp', 'Udp', 'All' + :type protocol: str or + ~azure.mgmt.network.v2020_05_01.models.LoadBalancerOutboundRuleProtocol + :param enable_tcp_reset: Receive bidirectional TCP Reset on TCP flow idle + timeout or unexpected connection termination. This element is only used + when the protocol is set to TCP. + :type enable_tcp_reset: bool + :param idle_timeout_in_minutes: The timeout for the TCP idle connection. + :type idle_timeout_in_minutes: int + :param name: The name of the resource that is unique within the set of + outbound rules used by the load balancer. This name can be used to access + the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'frontend_ip_configurations': {'required': True}, + 'backend_address_pool': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'protocol': {'required': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'allocated_outbound_ports': {'key': 'properties.allocatedOutboundPorts', 'type': 'int'}, + 'frontend_ip_configurations': {'key': 'properties.frontendIPConfigurations', 'type': '[SubResource]'}, + 'backend_address_pool': {'key': 'properties.backendAddressPool', 'type': 'SubResource'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'protocol': {'key': 'properties.protocol', 'type': 'str'}, + 'enable_tcp_reset': {'key': 'properties.enableTcpReset', 'type': 'bool'}, + 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(OutboundRule, self).__init__(**kwargs) + self.allocated_outbound_ports = kwargs.get('allocated_outbound_ports', None) + self.frontend_ip_configurations = kwargs.get('frontend_ip_configurations', None) + self.backend_address_pool = kwargs.get('backend_address_pool', None) + self.provisioning_state = None + self.protocol = kwargs.get('protocol', None) + self.enable_tcp_reset = kwargs.get('enable_tcp_reset', None) + self.idle_timeout_in_minutes = kwargs.get('idle_timeout_in_minutes', None) + self.name = kwargs.get('name', None) + self.etag = None + self.type = None + + +class OwaspCrsExclusionEntry(Model): + """Allow to exclude some variable satisfy the condition for the WAF check. + + All required parameters must be populated in order to send to Azure. + + :param match_variable: Required. The variable to be excluded. Possible + values include: 'RequestHeaderNames', 'RequestCookieNames', + 'RequestArgNames' + :type match_variable: str or + ~azure.mgmt.network.v2020_05_01.models.OwaspCrsExclusionEntryMatchVariable + :param selector_match_operator: Required. When matchVariable is a + collection, operate on the selector to specify which elements in the + collection this exclusion applies to. Possible values include: 'Equals', + 'Contains', 'StartsWith', 'EndsWith', 'EqualsAny' + :type selector_match_operator: str or + ~azure.mgmt.network.v2020_05_01.models.OwaspCrsExclusionEntrySelectorMatchOperator + :param selector: Required. When matchVariable is a collection, operator + used to specify which elements in the collection this exclusion applies + to. + :type selector: str + """ + + _validation = { + 'match_variable': {'required': True}, + 'selector_match_operator': {'required': True}, + 'selector': {'required': True}, + } + + _attribute_map = { + 'match_variable': {'key': 'matchVariable', 'type': 'str'}, + 'selector_match_operator': {'key': 'selectorMatchOperator', 'type': 'str'}, + 'selector': {'key': 'selector', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(OwaspCrsExclusionEntry, self).__init__(**kwargs) + self.match_variable = kwargs.get('match_variable', None) + self.selector_match_operator = kwargs.get('selector_match_operator', None) + self.selector = kwargs.get('selector', None) + + +class P2SConnectionConfiguration(SubResource): + """P2SConnectionConfiguration Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param vpn_client_address_pool: The reference to the address space + resource which represents Address space for P2S VpnClient. + :type vpn_client_address_pool: + ~azure.mgmt.network.v2020_05_01.models.AddressSpace + :param routing_configuration: The Routing Configuration indicating the + associated and propagated route tables on this connection. + :type routing_configuration: + ~azure.mgmt.network.v2020_05_01.models.RoutingConfiguration + :ivar provisioning_state: The provisioning state of the + P2SConnectionConfiguration resource. Possible values include: 'Succeeded', + 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'vpn_client_address_pool': {'key': 'properties.vpnClientAddressPool', 'type': 'AddressSpace'}, + 'routing_configuration': {'key': 'properties.routingConfiguration', 'type': 'RoutingConfiguration'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(P2SConnectionConfiguration, self).__init__(**kwargs) + self.vpn_client_address_pool = kwargs.get('vpn_client_address_pool', None) + self.routing_configuration = kwargs.get('routing_configuration', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = None + + +class P2SVpnConnectionHealth(Model): + """P2S Vpn connection detailed health written to sas url. + + :param sas_url: Returned sas url of the blob to which the p2s vpn + connection detailed health will be written. + :type sas_url: str + """ + + _attribute_map = { + 'sas_url': {'key': 'sasUrl', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(P2SVpnConnectionHealth, self).__init__(**kwargs) + self.sas_url = kwargs.get('sas_url', None) + + +class P2SVpnConnectionHealthRequest(Model): + """List of P2S Vpn connection health request. + + :param vpn_user_names_filter: The list of p2s vpn user names whose p2s vpn + connection detailed health to retrieve for. + :type vpn_user_names_filter: list[str] + :param output_blob_sas_url: The sas-url to download the P2S Vpn connection + health detail. + :type output_blob_sas_url: str + """ + + _attribute_map = { + 'vpn_user_names_filter': {'key': 'vpnUserNamesFilter', 'type': '[str]'}, + 'output_blob_sas_url': {'key': 'outputBlobSasUrl', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(P2SVpnConnectionHealthRequest, self).__init__(**kwargs) + self.vpn_user_names_filter = kwargs.get('vpn_user_names_filter', None) + self.output_blob_sas_url = kwargs.get('output_blob_sas_url', None) + + +class P2SVpnConnectionRequest(Model): + """List of p2s vpn connections to be disconnected. + + :param vpn_connection_ids: List of p2s vpn connection Ids. + :type vpn_connection_ids: list[str] + """ + + _attribute_map = { + 'vpn_connection_ids': {'key': 'vpnConnectionIds', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(P2SVpnConnectionRequest, self).__init__(**kwargs) + self.vpn_connection_ids = kwargs.get('vpn_connection_ids', None) + + +class P2SVpnGateway(Resource): + """P2SVpnGateway Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param virtual_hub: The VirtualHub to which the gateway belongs. + :type virtual_hub: ~azure.mgmt.network.v2020_05_01.models.SubResource + :param p2_sconnection_configurations: List of all p2s connection + configurations of the gateway. + :type p2_sconnection_configurations: + list[~azure.mgmt.network.v2020_05_01.models.P2SConnectionConfiguration] + :ivar provisioning_state: The provisioning state of the P2S VPN gateway + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param vpn_gateway_scale_unit: The scale unit for this p2s vpn gateway. + :type vpn_gateway_scale_unit: int + :param vpn_server_configuration: The VpnServerConfiguration to which the + p2sVpnGateway is attached to. + :type vpn_server_configuration: + ~azure.mgmt.network.v2020_05_01.models.SubResource + :ivar vpn_client_connection_health: All P2S VPN clients' connection health + status. + :vartype vpn_client_connection_health: + ~azure.mgmt.network.v2020_05_01.models.VpnClientConnectionHealth + :param custom_dns_servers: List of all customer specified DNS servers IP + addresses. + :type custom_dns_servers: list[str] + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'vpn_client_connection_health': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'virtual_hub': {'key': 'properties.virtualHub', 'type': 'SubResource'}, + 'p2_sconnection_configurations': {'key': 'properties.p2SConnectionConfigurations', 'type': '[P2SConnectionConfiguration]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'vpn_gateway_scale_unit': {'key': 'properties.vpnGatewayScaleUnit', 'type': 'int'}, + 'vpn_server_configuration': {'key': 'properties.vpnServerConfiguration', 'type': 'SubResource'}, + 'vpn_client_connection_health': {'key': 'properties.vpnClientConnectionHealth', 'type': 'VpnClientConnectionHealth'}, + 'custom_dns_servers': {'key': 'properties.customDnsServers', 'type': '[str]'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(P2SVpnGateway, self).__init__(**kwargs) + self.virtual_hub = kwargs.get('virtual_hub', None) + self.p2_sconnection_configurations = kwargs.get('p2_sconnection_configurations', None) + self.provisioning_state = None + self.vpn_gateway_scale_unit = kwargs.get('vpn_gateway_scale_unit', None) + self.vpn_server_configuration = kwargs.get('vpn_server_configuration', None) + self.vpn_client_connection_health = None + self.custom_dns_servers = kwargs.get('custom_dns_servers', None) + self.etag = None + + +class P2SVpnProfileParameters(Model): + """Vpn Client Parameters for package generation. + + :param authentication_method: VPN client authentication method. Possible + values include: 'EAPTLS', 'EAPMSCHAPv2' + :type authentication_method: str or + ~azure.mgmt.network.v2020_05_01.models.AuthenticationMethod + """ + + _attribute_map = { + 'authentication_method': {'key': 'authenticationMethod', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(P2SVpnProfileParameters, self).__init__(**kwargs) + self.authentication_method = kwargs.get('authentication_method', None) + + +class PacketCapture(Model): + """Parameters that define the create packet capture operation. + + All required parameters must be populated in order to send to Azure. + + :param target: Required. The ID of the targeted resource, only VM is + currently supported. + :type target: str + :param bytes_to_capture_per_packet: Number of bytes captured per packet, + the remaining bytes are truncated. Default value: 0 . + :type bytes_to_capture_per_packet: int + :param total_bytes_per_session: Maximum size of the capture output. + Default value: 1073741824 . + :type total_bytes_per_session: int + :param time_limit_in_seconds: Maximum duration of the capture session in + seconds. Default value: 18000 . + :type time_limit_in_seconds: int + :param storage_location: Required. The storage location for a packet + capture session. + :type storage_location: + ~azure.mgmt.network.v2020_05_01.models.PacketCaptureStorageLocation + :param filters: A list of packet capture filters. + :type filters: + list[~azure.mgmt.network.v2020_05_01.models.PacketCaptureFilter] + """ + + _validation = { + 'target': {'required': True}, + 'storage_location': {'required': True}, + } + + _attribute_map = { + 'target': {'key': 'properties.target', 'type': 'str'}, + 'bytes_to_capture_per_packet': {'key': 'properties.bytesToCapturePerPacket', 'type': 'int'}, + 'total_bytes_per_session': {'key': 'properties.totalBytesPerSession', 'type': 'int'}, + 'time_limit_in_seconds': {'key': 'properties.timeLimitInSeconds', 'type': 'int'}, + 'storage_location': {'key': 'properties.storageLocation', 'type': 'PacketCaptureStorageLocation'}, + 'filters': {'key': 'properties.filters', 'type': '[PacketCaptureFilter]'}, + } + + def __init__(self, **kwargs): + super(PacketCapture, self).__init__(**kwargs) + self.target = kwargs.get('target', None) + self.bytes_to_capture_per_packet = kwargs.get('bytes_to_capture_per_packet', 0) + self.total_bytes_per_session = kwargs.get('total_bytes_per_session', 1073741824) + self.time_limit_in_seconds = kwargs.get('time_limit_in_seconds', 18000) + self.storage_location = kwargs.get('storage_location', None) + self.filters = kwargs.get('filters', None) + + +class PacketCaptureFilter(Model): + """Filter that is applied to packet capture request. Multiple filters can be + applied. + + :param protocol: Protocol to be filtered on. Possible values include: + 'TCP', 'UDP', 'Any'. Default value: "Any" . + :type protocol: str or ~azure.mgmt.network.v2020_05_01.models.PcProtocol + :param local_ip_address: Local IP Address to be filtered on. Notation: + "127.0.0.1" for single address entry. "127.0.0.1-127.0.0.255" for range. + "127.0.0.1;127.0.0.5"? for multiple entries. Multiple ranges not currently + supported. Mixing ranges with multiple entries not currently supported. + Default = null. + :type local_ip_address: str + :param remote_ip_address: Local IP Address to be filtered on. Notation: + "127.0.0.1" for single address entry. "127.0.0.1-127.0.0.255" for range. + "127.0.0.1;127.0.0.5;" for multiple entries. Multiple ranges not currently + supported. Mixing ranges with multiple entries not currently supported. + Default = null. + :type remote_ip_address: str + :param local_port: Local port to be filtered on. Notation: "80" for single + port entry."80-85" for range. "80;443;" for multiple entries. Multiple + ranges not currently supported. Mixing ranges with multiple entries not + currently supported. Default = null. + :type local_port: str + :param remote_port: Remote port to be filtered on. Notation: "80" for + single port entry."80-85" for range. "80;443;" for multiple entries. + Multiple ranges not currently supported. Mixing ranges with multiple + entries not currently supported. Default = null. + :type remote_port: str + """ + + _attribute_map = { + 'protocol': {'key': 'protocol', 'type': 'str'}, + 'local_ip_address': {'key': 'localIPAddress', 'type': 'str'}, + 'remote_ip_address': {'key': 'remoteIPAddress', 'type': 'str'}, + 'local_port': {'key': 'localPort', 'type': 'str'}, + 'remote_port': {'key': 'remotePort', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PacketCaptureFilter, self).__init__(**kwargs) + self.protocol = kwargs.get('protocol', "Any") + self.local_ip_address = kwargs.get('local_ip_address', None) + self.remote_ip_address = kwargs.get('remote_ip_address', None) + self.local_port = kwargs.get('local_port', None) + self.remote_port = kwargs.get('remote_port', None) + + +class PacketCaptureParameters(Model): + """Parameters that define the create packet capture operation. + + All required parameters must be populated in order to send to Azure. + + :param target: Required. The ID of the targeted resource, only VM is + currently supported. + :type target: str + :param bytes_to_capture_per_packet: Number of bytes captured per packet, + the remaining bytes are truncated. Default value: 0 . + :type bytes_to_capture_per_packet: int + :param total_bytes_per_session: Maximum size of the capture output. + Default value: 1073741824 . + :type total_bytes_per_session: int + :param time_limit_in_seconds: Maximum duration of the capture session in + seconds. Default value: 18000 . + :type time_limit_in_seconds: int + :param storage_location: Required. The storage location for a packet + capture session. + :type storage_location: + ~azure.mgmt.network.v2020_05_01.models.PacketCaptureStorageLocation + :param filters: A list of packet capture filters. + :type filters: + list[~azure.mgmt.network.v2020_05_01.models.PacketCaptureFilter] + """ + + _validation = { + 'target': {'required': True}, + 'storage_location': {'required': True}, + } + + _attribute_map = { + 'target': {'key': 'target', 'type': 'str'}, + 'bytes_to_capture_per_packet': {'key': 'bytesToCapturePerPacket', 'type': 'int'}, + 'total_bytes_per_session': {'key': 'totalBytesPerSession', 'type': 'int'}, + 'time_limit_in_seconds': {'key': 'timeLimitInSeconds', 'type': 'int'}, + 'storage_location': {'key': 'storageLocation', 'type': 'PacketCaptureStorageLocation'}, + 'filters': {'key': 'filters', 'type': '[PacketCaptureFilter]'}, + } + + def __init__(self, **kwargs): + super(PacketCaptureParameters, self).__init__(**kwargs) + self.target = kwargs.get('target', None) + self.bytes_to_capture_per_packet = kwargs.get('bytes_to_capture_per_packet', 0) + self.total_bytes_per_session = kwargs.get('total_bytes_per_session', 1073741824) + self.time_limit_in_seconds = kwargs.get('time_limit_in_seconds', 18000) + self.storage_location = kwargs.get('storage_location', None) + self.filters = kwargs.get('filters', None) + + +class PacketCaptureQueryStatusResult(Model): + """Status of packet capture session. + + :param name: The name of the packet capture resource. + :type name: str + :param id: The ID of the packet capture resource. + :type id: str + :param capture_start_time: The start time of the packet capture session. + :type capture_start_time: datetime + :param packet_capture_status: The status of the packet capture session. + Possible values include: 'NotStarted', 'Running', 'Stopped', 'Error', + 'Unknown' + :type packet_capture_status: str or + ~azure.mgmt.network.v2020_05_01.models.PcStatus + :param stop_reason: The reason the current packet capture session was + stopped. + :type stop_reason: str + :param packet_capture_error: List of errors of packet capture session. + :type packet_capture_error: list[str or + ~azure.mgmt.network.v2020_05_01.models.PcError] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'capture_start_time': {'key': 'captureStartTime', 'type': 'iso-8601'}, + 'packet_capture_status': {'key': 'packetCaptureStatus', 'type': 'str'}, + 'stop_reason': {'key': 'stopReason', 'type': 'str'}, + 'packet_capture_error': {'key': 'packetCaptureError', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(PacketCaptureQueryStatusResult, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.id = kwargs.get('id', None) + self.capture_start_time = kwargs.get('capture_start_time', None) + self.packet_capture_status = kwargs.get('packet_capture_status', None) + self.stop_reason = kwargs.get('stop_reason', None) + self.packet_capture_error = kwargs.get('packet_capture_error', None) + + +class PacketCaptureResult(Model): + """Information about packet capture session. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar name: Name of the packet capture session. + :vartype name: str + :ivar id: ID of the packet capture operation. + :vartype id: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :param target: Required. The ID of the targeted resource, only VM is + currently supported. + :type target: str + :param bytes_to_capture_per_packet: Number of bytes captured per packet, + the remaining bytes are truncated. Default value: 0 . + :type bytes_to_capture_per_packet: int + :param total_bytes_per_session: Maximum size of the capture output. + Default value: 1073741824 . + :type total_bytes_per_session: int + :param time_limit_in_seconds: Maximum duration of the capture session in + seconds. Default value: 18000 . + :type time_limit_in_seconds: int + :param storage_location: Required. The storage location for a packet + capture session. + :type storage_location: + ~azure.mgmt.network.v2020_05_01.models.PacketCaptureStorageLocation + :param filters: A list of packet capture filters. + :type filters: + list[~azure.mgmt.network.v2020_05_01.models.PacketCaptureFilter] + :ivar provisioning_state: The provisioning state of the packet capture + session. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + """ + + _validation = { + 'name': {'readonly': True}, + 'id': {'readonly': True}, + 'etag': {'readonly': True}, + 'target': {'required': True}, + 'storage_location': {'required': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'target': {'key': 'properties.target', 'type': 'str'}, + 'bytes_to_capture_per_packet': {'key': 'properties.bytesToCapturePerPacket', 'type': 'int'}, + 'total_bytes_per_session': {'key': 'properties.totalBytesPerSession', 'type': 'int'}, + 'time_limit_in_seconds': {'key': 'properties.timeLimitInSeconds', 'type': 'int'}, + 'storage_location': {'key': 'properties.storageLocation', 'type': 'PacketCaptureStorageLocation'}, + 'filters': {'key': 'properties.filters', 'type': '[PacketCaptureFilter]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PacketCaptureResult, self).__init__(**kwargs) + self.name = None + self.id = None + self.etag = None + self.target = kwargs.get('target', None) + self.bytes_to_capture_per_packet = kwargs.get('bytes_to_capture_per_packet', 0) + self.total_bytes_per_session = kwargs.get('total_bytes_per_session', 1073741824) + self.time_limit_in_seconds = kwargs.get('time_limit_in_seconds', 18000) + self.storage_location = kwargs.get('storage_location', None) + self.filters = kwargs.get('filters', None) + self.provisioning_state = None + + +class PacketCaptureStorageLocation(Model): + """The storage location for a packet capture session. + + :param storage_id: The ID of the storage account to save the packet + capture session. Required if no local file path is provided. + :type storage_id: str + :param storage_path: The URI of the storage path to save the packet + capture. Must be a well-formed URI describing the location to save the + packet capture. + :type storage_path: str + :param file_path: A valid local path on the targeting VM. Must include the + name of the capture file (*.cap). For linux virtual machine it must start + with /var/captures. Required if no storage ID is provided, otherwise + optional. + :type file_path: str + """ + + _attribute_map = { + 'storage_id': {'key': 'storageId', 'type': 'str'}, + 'storage_path': {'key': 'storagePath', 'type': 'str'}, + 'file_path': {'key': 'filePath', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PacketCaptureStorageLocation, self).__init__(**kwargs) + self.storage_id = kwargs.get('storage_id', None) + self.storage_path = kwargs.get('storage_path', None) + self.file_path = kwargs.get('file_path', None) + + +class PatchRouteFilter(SubResource): + """Route Filter Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param rules: Collection of RouteFilterRules contained within a route + filter. + :type rules: list[~azure.mgmt.network.v2020_05_01.models.RouteFilterRule] + :ivar peerings: A collection of references to express route circuit + peerings. + :vartype peerings: + list[~azure.mgmt.network.v2020_05_01.models.ExpressRouteCircuitPeering] + :ivar ipv6_peerings: A collection of references to express route circuit + ipv6 peerings. + :vartype ipv6_peerings: + list[~azure.mgmt.network.v2020_05_01.models.ExpressRouteCircuitPeering] + :ivar provisioning_state: The provisioning state of the route filter + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :ivar name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :vartype name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Resource type. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + """ + + _validation = { + 'peerings': {'readonly': True}, + 'ipv6_peerings': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'name': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'rules': {'key': 'properties.rules', 'type': '[RouteFilterRule]'}, + 'peerings': {'key': 'properties.peerings', 'type': '[ExpressRouteCircuitPeering]'}, + 'ipv6_peerings': {'key': 'properties.ipv6Peerings', 'type': '[ExpressRouteCircuitPeering]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, **kwargs): + super(PatchRouteFilter, self).__init__(**kwargs) + self.rules = kwargs.get('rules', None) + self.peerings = None + self.ipv6_peerings = None + self.provisioning_state = None + self.name = None + self.etag = None + self.type = None + self.tags = kwargs.get('tags', None) + + +class PatchRouteFilterRule(SubResource): + """Route Filter Rule Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :param access: Required. The access type of the rule. Possible values + include: 'Allow', 'Deny' + :type access: str or ~azure.mgmt.network.v2020_05_01.models.Access + :ivar route_filter_rule_type: Required. The rule type of the rule. Default + value: "Community" . + :vartype route_filter_rule_type: str + :param communities: Required. The collection for bgp community values to + filter on. e.g. ['12076:5010','12076:5020']. + :type communities: list[str] + :ivar provisioning_state: The provisioning state of the route filter rule + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :ivar name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :vartype name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'access': {'required': True}, + 'route_filter_rule_type': {'required': True, 'constant': True}, + 'communities': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'name': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'access': {'key': 'properties.access', 'type': 'str'}, + 'route_filter_rule_type': {'key': 'properties.routeFilterRuleType', 'type': 'str'}, + 'communities': {'key': 'properties.communities', 'type': '[str]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + route_filter_rule_type = "Community" + + def __init__(self, **kwargs): + super(PatchRouteFilterRule, self).__init__(**kwargs) + self.access = kwargs.get('access', None) + self.communities = kwargs.get('communities', None) + self.provisioning_state = None + self.name = None + self.etag = None + + +class PeerExpressRouteCircuitConnection(SubResource): + """Peer Express Route Circuit Connection in an ExpressRouteCircuitPeering + resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param express_route_circuit_peering: Reference to Express Route Circuit + Private Peering Resource of the circuit. + :type express_route_circuit_peering: + ~azure.mgmt.network.v2020_05_01.models.SubResource + :param peer_express_route_circuit_peering: Reference to Express Route + Circuit Private Peering Resource of the peered circuit. + :type peer_express_route_circuit_peering: + ~azure.mgmt.network.v2020_05_01.models.SubResource + :param address_prefix: /29 IP address space to carve out Customer + addresses for tunnels. + :type address_prefix: str + :param circuit_connection_status: Express Route Circuit connection state. + Possible values include: 'Connected', 'Connecting', 'Disconnected' + :type circuit_connection_status: str or + ~azure.mgmt.network.v2020_05_01.models.CircuitConnectionStatus + :param connection_name: The name of the express route circuit connection + resource. + :type connection_name: str + :param auth_resource_guid: The resource guid of the authorization used for + the express route circuit connection. + :type auth_resource_guid: str + :ivar provisioning_state: The provisioning state of the peer express route + circuit connection resource. Possible values include: 'Succeeded', + 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'express_route_circuit_peering': {'key': 'properties.expressRouteCircuitPeering', 'type': 'SubResource'}, + 'peer_express_route_circuit_peering': {'key': 'properties.peerExpressRouteCircuitPeering', 'type': 'SubResource'}, + 'address_prefix': {'key': 'properties.addressPrefix', 'type': 'str'}, + 'circuit_connection_status': {'key': 'properties.circuitConnectionStatus', 'type': 'str'}, + 'connection_name': {'key': 'properties.connectionName', 'type': 'str'}, + 'auth_resource_guid': {'key': 'properties.authResourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PeerExpressRouteCircuitConnection, self).__init__(**kwargs) + self.express_route_circuit_peering = kwargs.get('express_route_circuit_peering', None) + self.peer_express_route_circuit_peering = kwargs.get('peer_express_route_circuit_peering', None) + self.address_prefix = kwargs.get('address_prefix', None) + self.circuit_connection_status = kwargs.get('circuit_connection_status', None) + self.connection_name = kwargs.get('connection_name', None) + self.auth_resource_guid = kwargs.get('auth_resource_guid', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = None + self.type = None + + +class PolicySettings(Model): + """Defines contents of a web application firewall global configuration. + + :param state: The state of the policy. Possible values include: + 'Disabled', 'Enabled' + :type state: str or + ~azure.mgmt.network.v2020_05_01.models.WebApplicationFirewallEnabledState + :param mode: The mode of the policy. Possible values include: + 'Prevention', 'Detection' + :type mode: str or + ~azure.mgmt.network.v2020_05_01.models.WebApplicationFirewallMode + :param request_body_check: Whether to allow WAF to check request Body. + :type request_body_check: bool + :param max_request_body_size_in_kb: Maximum request body size in Kb for + WAF. + :type max_request_body_size_in_kb: int + :param file_upload_limit_in_mb: Maximum file upload size in Mb for WAF. + :type file_upload_limit_in_mb: int + """ + + _validation = { + 'max_request_body_size_in_kb': {'maximum': 128, 'minimum': 8}, + 'file_upload_limit_in_mb': {'minimum': 0}, + } + + _attribute_map = { + 'state': {'key': 'state', 'type': 'str'}, + 'mode': {'key': 'mode', 'type': 'str'}, + 'request_body_check': {'key': 'requestBodyCheck', 'type': 'bool'}, + 'max_request_body_size_in_kb': {'key': 'maxRequestBodySizeInKb', 'type': 'int'}, + 'file_upload_limit_in_mb': {'key': 'fileUploadLimitInMb', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(PolicySettings, self).__init__(**kwargs) + self.state = kwargs.get('state', None) + self.mode = kwargs.get('mode', None) + self.request_body_check = kwargs.get('request_body_check', None) + self.max_request_body_size_in_kb = kwargs.get('max_request_body_size_in_kb', None) + self.file_upload_limit_in_mb = kwargs.get('file_upload_limit_in_mb', None) + + +class PrepareNetworkPoliciesRequest(Model): + """Details of PrepareNetworkPolicies for Subnet. + + :param service_name: The name of the service for which subnet is being + prepared for. + :type service_name: str + :param network_intent_policy_configurations: A list of + NetworkIntentPolicyConfiguration. + :type network_intent_policy_configurations: + list[~azure.mgmt.network.v2020_05_01.models.NetworkIntentPolicyConfiguration] + """ + + _attribute_map = { + 'service_name': {'key': 'serviceName', 'type': 'str'}, + 'network_intent_policy_configurations': {'key': 'networkIntentPolicyConfigurations', 'type': '[NetworkIntentPolicyConfiguration]'}, + } + + def __init__(self, **kwargs): + super(PrepareNetworkPoliciesRequest, self).__init__(**kwargs) + self.service_name = kwargs.get('service_name', None) + self.network_intent_policy_configurations = kwargs.get('network_intent_policy_configurations', None) + + +class PrivateDnsZoneConfig(Model): + """PrivateDnsZoneConfig resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param name: Name of the resource that is unique within a resource group. + This name can be used to access the resource. + :type name: str + :param private_dns_zone_id: The resource id of the private dns zone. + :type private_dns_zone_id: str + :ivar record_sets: A collection of information regarding a recordSet, + holding information to identify private resources. + :vartype record_sets: + list[~azure.mgmt.network.v2020_05_01.models.RecordSet] + """ + + _validation = { + 'record_sets': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'private_dns_zone_id': {'key': 'properties.privateDnsZoneId', 'type': 'str'}, + 'record_sets': {'key': 'properties.recordSets', 'type': '[RecordSet]'}, + } + + def __init__(self, **kwargs): + super(PrivateDnsZoneConfig, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.private_dns_zone_id = kwargs.get('private_dns_zone_id', None) + self.record_sets = None + + +class PrivateDnsZoneGroup(SubResource): + """Private dns zone group resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param name: Name of the resource that is unique within a resource group. + This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar provisioning_state: The provisioning state of the private dns zone + group resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param private_dns_zone_configs: A collection of private dns zone + configurations of the private dns zone group. + :type private_dns_zone_configs: + list[~azure.mgmt.network.v2020_05_01.models.PrivateDnsZoneConfig] + """ + + _validation = { + 'etag': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'private_dns_zone_configs': {'key': 'properties.privateDnsZoneConfigs', 'type': '[PrivateDnsZoneConfig]'}, + } + + def __init__(self, **kwargs): + super(PrivateDnsZoneGroup, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.etag = None + self.provisioning_state = None + self.private_dns_zone_configs = kwargs.get('private_dns_zone_configs', None) + + +class PrivateEndpoint(Resource): + """Private endpoint resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param subnet: The ID of the subnet from which the private IP will be + allocated. + :type subnet: ~azure.mgmt.network.v2020_05_01.models.Subnet + :ivar network_interfaces: An array of references to the network interfaces + created for this private endpoint. + :vartype network_interfaces: + list[~azure.mgmt.network.v2020_05_01.models.NetworkInterface] + :ivar provisioning_state: The provisioning state of the private endpoint + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param private_link_service_connections: A grouping of information about + the connection to the remote resource. + :type private_link_service_connections: + list[~azure.mgmt.network.v2020_05_01.models.PrivateLinkServiceConnection] + :param manual_private_link_service_connections: A grouping of information + about the connection to the remote resource. Used when the network admin + does not have access to approve connections to the remote resource. + :type manual_private_link_service_connections: + list[~azure.mgmt.network.v2020_05_01.models.PrivateLinkServiceConnection] + :param custom_dns_configs: An array of custom dns configurations. + :type custom_dns_configs: + list[~azure.mgmt.network.v2020_05_01.models.CustomDnsConfigPropertiesFormat] + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'network_interfaces': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, + 'network_interfaces': {'key': 'properties.networkInterfaces', 'type': '[NetworkInterface]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'private_link_service_connections': {'key': 'properties.privateLinkServiceConnections', 'type': '[PrivateLinkServiceConnection]'}, + 'manual_private_link_service_connections': {'key': 'properties.manualPrivateLinkServiceConnections', 'type': '[PrivateLinkServiceConnection]'}, + 'custom_dns_configs': {'key': 'properties.customDnsConfigs', 'type': '[CustomDnsConfigPropertiesFormat]'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PrivateEndpoint, self).__init__(**kwargs) + self.subnet = kwargs.get('subnet', None) + self.network_interfaces = None + self.provisioning_state = None + self.private_link_service_connections = kwargs.get('private_link_service_connections', None) + self.manual_private_link_service_connections = kwargs.get('manual_private_link_service_connections', None) + self.custom_dns_configs = kwargs.get('custom_dns_configs', None) + self.etag = None + + +class PrivateEndpointConnection(SubResource): + """PrivateEndpointConnection resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar private_endpoint: The resource of private end point. + :vartype private_endpoint: + ~azure.mgmt.network.v2020_05_01.models.PrivateEndpoint + :param private_link_service_connection_state: A collection of information + about the state of the connection between service consumer and provider. + :type private_link_service_connection_state: + ~azure.mgmt.network.v2020_05_01.models.PrivateLinkServiceConnectionState + :ivar provisioning_state: The provisioning state of the private endpoint + connection resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :ivar link_identifier: The consumer link id. + :vartype link_identifier: str + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar type: The resource type. + :vartype type: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'private_endpoint': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'link_identifier': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'private_endpoint': {'key': 'properties.privateEndpoint', 'type': 'PrivateEndpoint'}, + 'private_link_service_connection_state': {'key': 'properties.privateLinkServiceConnectionState', 'type': 'PrivateLinkServiceConnectionState'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'link_identifier': {'key': 'properties.linkIdentifier', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PrivateEndpointConnection, self).__init__(**kwargs) + self.private_endpoint = None + self.private_link_service_connection_state = kwargs.get('private_link_service_connection_state', None) + self.provisioning_state = None + self.link_identifier = None + self.name = kwargs.get('name', None) + self.type = None + self.etag = None + + +class PrivateLinkService(Resource): + """Private link service resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param load_balancer_frontend_ip_configurations: An array of references to + the load balancer IP configurations. + :type load_balancer_frontend_ip_configurations: + list[~azure.mgmt.network.v2020_05_01.models.FrontendIPConfiguration] + :param ip_configurations: An array of private link service IP + configurations. + :type ip_configurations: + list[~azure.mgmt.network.v2020_05_01.models.PrivateLinkServiceIpConfiguration] + :ivar network_interfaces: An array of references to the network interfaces + created for this private link service. + :vartype network_interfaces: + list[~azure.mgmt.network.v2020_05_01.models.NetworkInterface] + :ivar provisioning_state: The provisioning state of the private link + service resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :ivar private_endpoint_connections: An array of list about connections to + the private endpoint. + :vartype private_endpoint_connections: + list[~azure.mgmt.network.v2020_05_01.models.PrivateEndpointConnection] + :param visibility: The visibility list of the private link service. + :type visibility: + ~azure.mgmt.network.v2020_05_01.models.PrivateLinkServicePropertiesVisibility + :param auto_approval: The auto-approval list of the private link service. + :type auto_approval: + ~azure.mgmt.network.v2020_05_01.models.PrivateLinkServicePropertiesAutoApproval + :param fqdns: The list of Fqdn. + :type fqdns: list[str] + :ivar alias: The alias of the private link service. + :vartype alias: str + :param enable_proxy_protocol: Whether the private link service is enabled + for proxy protocol or not. + :type enable_proxy_protocol: bool + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'network_interfaces': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'private_endpoint_connections': {'readonly': True}, + 'alias': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'load_balancer_frontend_ip_configurations': {'key': 'properties.loadBalancerFrontendIpConfigurations', 'type': '[FrontendIPConfiguration]'}, + 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[PrivateLinkServiceIpConfiguration]'}, + 'network_interfaces': {'key': 'properties.networkInterfaces', 'type': '[NetworkInterface]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'private_endpoint_connections': {'key': 'properties.privateEndpointConnections', 'type': '[PrivateEndpointConnection]'}, + 'visibility': {'key': 'properties.visibility', 'type': 'PrivateLinkServicePropertiesVisibility'}, + 'auto_approval': {'key': 'properties.autoApproval', 'type': 'PrivateLinkServicePropertiesAutoApproval'}, + 'fqdns': {'key': 'properties.fqdns', 'type': '[str]'}, + 'alias': {'key': 'properties.alias', 'type': 'str'}, + 'enable_proxy_protocol': {'key': 'properties.enableProxyProtocol', 'type': 'bool'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PrivateLinkService, self).__init__(**kwargs) + self.load_balancer_frontend_ip_configurations = kwargs.get('load_balancer_frontend_ip_configurations', None) + self.ip_configurations = kwargs.get('ip_configurations', None) + self.network_interfaces = None + self.provisioning_state = None + self.private_endpoint_connections = None + self.visibility = kwargs.get('visibility', None) + self.auto_approval = kwargs.get('auto_approval', None) + self.fqdns = kwargs.get('fqdns', None) + self.alias = None + self.enable_proxy_protocol = kwargs.get('enable_proxy_protocol', None) + self.etag = None + + +class PrivateLinkServiceConnection(SubResource): + """PrivateLinkServiceConnection resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar provisioning_state: The provisioning state of the private link + service connection resource. Possible values include: 'Succeeded', + 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param private_link_service_id: The resource id of private link service. + :type private_link_service_id: str + :param group_ids: The ID(s) of the group(s) obtained from the remote + resource that this private endpoint should connect to. + :type group_ids: list[str] + :param request_message: A message passed to the owner of the remote + resource with this connection request. Restricted to 140 chars. + :type request_message: str + :param private_link_service_connection_state: A collection of read-only + information about the state of the connection to the remote resource. + :type private_link_service_connection_state: + ~azure.mgmt.network.v2020_05_01.models.PrivateLinkServiceConnectionState + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar type: The resource type. + :vartype type: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'private_link_service_id': {'key': 'properties.privateLinkServiceId', 'type': 'str'}, + 'group_ids': {'key': 'properties.groupIds', 'type': '[str]'}, + 'request_message': {'key': 'properties.requestMessage', 'type': 'str'}, + 'private_link_service_connection_state': {'key': 'properties.privateLinkServiceConnectionState', 'type': 'PrivateLinkServiceConnectionState'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PrivateLinkServiceConnection, self).__init__(**kwargs) + self.provisioning_state = None + self.private_link_service_id = kwargs.get('private_link_service_id', None) + self.group_ids = kwargs.get('group_ids', None) + self.request_message = kwargs.get('request_message', None) + self.private_link_service_connection_state = kwargs.get('private_link_service_connection_state', None) + self.name = kwargs.get('name', None) + self.type = None + self.etag = None + + +class PrivateLinkServiceConnectionState(Model): + """A collection of information about the state of the connection between + service consumer and provider. + + :param status: Indicates whether the connection has been + Approved/Rejected/Removed by the owner of the service. + :type status: str + :param description: The reason for approval/rejection of the connection. + :type description: str + :param actions_required: A message indicating if changes on the service + provider require any updates on the consumer. + :type actions_required: str + """ + + _attribute_map = { + 'status': {'key': 'status', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'actions_required': {'key': 'actionsRequired', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PrivateLinkServiceConnectionState, self).__init__(**kwargs) + self.status = kwargs.get('status', None) + self.description = kwargs.get('description', None) + self.actions_required = kwargs.get('actions_required', None) + + +class PrivateLinkServiceIpConfiguration(SubResource): + """The private link service ip configuration. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param private_ip_address: The private IP address of the IP configuration. + :type private_ip_address: str + :param private_ip_allocation_method: The private IP address allocation + method. Possible values include: 'Static', 'Dynamic' + :type private_ip_allocation_method: str or + ~azure.mgmt.network.v2020_05_01.models.IPAllocationMethod + :param subnet: The reference to the subnet resource. + :type subnet: ~azure.mgmt.network.v2020_05_01.models.Subnet + :param primary: Whether the ip configuration is primary or not. + :type primary: bool + :ivar provisioning_state: The provisioning state of the private link + service IP configuration resource. Possible values include: 'Succeeded', + 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param private_ip_address_version: Whether the specific IP configuration + is IPv4 or IPv6. Default is IPv4. Possible values include: 'IPv4', 'IPv6' + :type private_ip_address_version: str or + ~azure.mgmt.network.v2020_05_01.models.IPVersion + :param name: The name of private link service ip configuration. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: The resource type. + :vartype type: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, + 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, + 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, + 'primary': {'key': 'properties.primary', 'type': 'bool'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'private_ip_address_version': {'key': 'properties.privateIPAddressVersion', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PrivateLinkServiceIpConfiguration, self).__init__(**kwargs) + self.private_ip_address = kwargs.get('private_ip_address', None) + self.private_ip_allocation_method = kwargs.get('private_ip_allocation_method', None) + self.subnet = kwargs.get('subnet', None) + self.primary = kwargs.get('primary', None) + self.provisioning_state = None + self.private_ip_address_version = kwargs.get('private_ip_address_version', None) + self.name = kwargs.get('name', None) + self.etag = None + self.type = None + + +class ResourceSet(Model): + """The base resource set for visibility and auto-approval. + + :param subscriptions: The list of subscriptions. + :type subscriptions: list[str] + """ + + _attribute_map = { + 'subscriptions': {'key': 'subscriptions', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(ResourceSet, self).__init__(**kwargs) + self.subscriptions = kwargs.get('subscriptions', None) + + +class PrivateLinkServicePropertiesAutoApproval(ResourceSet): + """The auto-approval list of the private link service. + + :param subscriptions: The list of subscriptions. + :type subscriptions: list[str] + """ + + _attribute_map = { + 'subscriptions': {'key': 'subscriptions', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(PrivateLinkServicePropertiesAutoApproval, self).__init__(**kwargs) + + +class PrivateLinkServicePropertiesVisibility(ResourceSet): + """The visibility list of the private link service. + + :param subscriptions: The list of subscriptions. + :type subscriptions: list[str] + """ + + _attribute_map = { + 'subscriptions': {'key': 'subscriptions', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(PrivateLinkServicePropertiesVisibility, self).__init__(**kwargs) + + +class PrivateLinkServiceVisibility(Model): + """Response for the CheckPrivateLinkServiceVisibility API service call. + + :param visible: Private Link Service Visibility (True/False). + :type visible: bool + """ + + _attribute_map = { + 'visible': {'key': 'visible', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(PrivateLinkServiceVisibility, self).__init__(**kwargs) + self.visible = kwargs.get('visible', None) + + +class Probe(SubResource): + """A load balancer probe. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :ivar load_balancing_rules: The load balancer rules that use this probe. + :vartype load_balancing_rules: + list[~azure.mgmt.network.v2020_05_01.models.SubResource] + :param protocol: Required. The protocol of the end point. If 'Tcp' is + specified, a received ACK is required for the probe to be successful. If + 'Http' or 'Https' is specified, a 200 OK response from the specifies URI + is required for the probe to be successful. Possible values include: + 'Http', 'Tcp', 'Https' + :type protocol: str or + ~azure.mgmt.network.v2020_05_01.models.ProbeProtocol + :param port: Required. The port for communicating the probe. Possible + values range from 1 to 65535, inclusive. + :type port: int + :param interval_in_seconds: The interval, in seconds, for how frequently + to probe the endpoint for health status. Typically, the interval is + slightly less than half the allocated timeout period (in seconds) which + allows two full probes before taking the instance out of rotation. The + default value is 15, the minimum value is 5. + :type interval_in_seconds: int + :param number_of_probes: The number of probes where if no response, will + result in stopping further traffic from being delivered to the endpoint. + This values allows endpoints to be taken out of rotation faster or slower + than the typical times used in Azure. + :type number_of_probes: int + :param request_path: The URI used for requesting health status from the + VM. Path is required if a protocol is set to http. Otherwise, it is not + allowed. There is no default value. + :type request_path: str + :ivar provisioning_state: The provisioning state of the probe resource. + Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: The name of the resource that is unique within the set of + probes used by the load balancer. This name can be used to access the + resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'load_balancing_rules': {'readonly': True}, + 'protocol': {'required': True}, + 'port': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'load_balancing_rules': {'key': 'properties.loadBalancingRules', 'type': '[SubResource]'}, + 'protocol': {'key': 'properties.protocol', 'type': 'str'}, + 'port': {'key': 'properties.port', 'type': 'int'}, + 'interval_in_seconds': {'key': 'properties.intervalInSeconds', 'type': 'int'}, + 'number_of_probes': {'key': 'properties.numberOfProbes', 'type': 'int'}, + 'request_path': {'key': 'properties.requestPath', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Probe, self).__init__(**kwargs) + self.load_balancing_rules = None + self.protocol = kwargs.get('protocol', None) + self.port = kwargs.get('port', None) + self.interval_in_seconds = kwargs.get('interval_in_seconds', None) + self.number_of_probes = kwargs.get('number_of_probes', None) + self.request_path = kwargs.get('request_path', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = None + self.type = None + + +class PropagatedRouteTable(Model): + """The list of RouteTables to advertise the routes to. + + :param labels: The list of labels. + :type labels: list[str] + :param ids: The list of resource ids of all the RouteTables. + :type ids: list[~azure.mgmt.network.v2020_05_01.models.SubResource] + """ + + _attribute_map = { + 'labels': {'key': 'labels', 'type': '[str]'}, + 'ids': {'key': 'ids', 'type': '[SubResource]'}, + } + + def __init__(self, **kwargs): + super(PropagatedRouteTable, self).__init__(**kwargs) + self.labels = kwargs.get('labels', None) + self.ids = kwargs.get('ids', None) + + +class ProtocolConfiguration(Model): + """Configuration of the protocol. + + :param http_configuration: HTTP configuration of the connectivity check. + :type http_configuration: + ~azure.mgmt.network.v2020_05_01.models.HTTPConfiguration + """ + + _attribute_map = { + 'http_configuration': {'key': 'HTTPConfiguration', 'type': 'HTTPConfiguration'}, + } + + def __init__(self, **kwargs): + super(ProtocolConfiguration, self).__init__(**kwargs) + self.http_configuration = kwargs.get('http_configuration', None) + + +class ProtocolCustomSettingsFormat(Model): + """DDoS custom policy properties. + + :param protocol: The protocol for which the DDoS protection policy is + being customized. Possible values include: 'Tcp', 'Udp', 'Syn' + :type protocol: str or + ~azure.mgmt.network.v2020_05_01.models.DdosCustomPolicyProtocol + :param trigger_rate_override: The customized DDoS protection trigger rate. + :type trigger_rate_override: str + :param source_rate_override: The customized DDoS protection source rate. + :type source_rate_override: str + :param trigger_sensitivity_override: The customized DDoS protection + trigger rate sensitivity degrees. High: Trigger rate set with most + sensitivity w.r.t. normal traffic. Default: Trigger rate set with moderate + sensitivity w.r.t. normal traffic. Low: Trigger rate set with less + sensitivity w.r.t. normal traffic. Relaxed: Trigger rate set with least + sensitivity w.r.t. normal traffic. Possible values include: 'Relaxed', + 'Low', 'Default', 'High' + :type trigger_sensitivity_override: str or + ~azure.mgmt.network.v2020_05_01.models.DdosCustomPolicyTriggerSensitivityOverride + """ + + _attribute_map = { + 'protocol': {'key': 'protocol', 'type': 'str'}, + 'trigger_rate_override': {'key': 'triggerRateOverride', 'type': 'str'}, + 'source_rate_override': {'key': 'sourceRateOverride', 'type': 'str'}, + 'trigger_sensitivity_override': {'key': 'triggerSensitivityOverride', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ProtocolCustomSettingsFormat, self).__init__(**kwargs) + self.protocol = kwargs.get('protocol', None) + self.trigger_rate_override = kwargs.get('trigger_rate_override', None) + self.source_rate_override = kwargs.get('source_rate_override', None) + self.trigger_sensitivity_override = kwargs.get('trigger_sensitivity_override', None) + + +class PublicIPAddress(Resource): + """Public IP address resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param sku: The public IP address SKU. + :type sku: ~azure.mgmt.network.v2020_05_01.models.PublicIPAddressSku + :param public_ip_allocation_method: The public IP address allocation + method. Possible values include: 'Static', 'Dynamic' + :type public_ip_allocation_method: str or + ~azure.mgmt.network.v2020_05_01.models.IPAllocationMethod + :param public_ip_address_version: The public IP address version. Possible + values include: 'IPv4', 'IPv6' + :type public_ip_address_version: str or + ~azure.mgmt.network.v2020_05_01.models.IPVersion + :ivar ip_configuration: The IP configuration associated with the public IP + address. + :vartype ip_configuration: + ~azure.mgmt.network.v2020_05_01.models.IPConfiguration + :param dns_settings: The FQDN of the DNS record associated with the public + IP address. + :type dns_settings: + ~azure.mgmt.network.v2020_05_01.models.PublicIPAddressDnsSettings + :param ddos_settings: The DDoS protection custom policy associated with + the public IP address. + :type ddos_settings: ~azure.mgmt.network.v2020_05_01.models.DdosSettings + :param ip_tags: The list of tags associated with the public IP address. + :type ip_tags: list[~azure.mgmt.network.v2020_05_01.models.IpTag] + :param ip_address: The IP address associated with the public IP address + resource. + :type ip_address: str + :param public_ip_prefix: The Public IP Prefix this Public IP Address + should be allocated from. + :type public_ip_prefix: ~azure.mgmt.network.v2020_05_01.models.SubResource + :param idle_timeout_in_minutes: The idle timeout of the public IP address. + :type idle_timeout_in_minutes: int + :ivar resource_guid: The resource GUID property of the public IP address + resource. + :vartype resource_guid: str + :ivar provisioning_state: The provisioning state of the public IP address + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :param zones: A list of availability zones denoting the IP allocated for + the resource needs to come from. + :type zones: list[str] + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'ip_configuration': {'readonly': True}, + 'resource_guid': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'sku': {'key': 'sku', 'type': 'PublicIPAddressSku'}, + 'public_ip_allocation_method': {'key': 'properties.publicIPAllocationMethod', 'type': 'str'}, + 'public_ip_address_version': {'key': 'properties.publicIPAddressVersion', 'type': 'str'}, + 'ip_configuration': {'key': 'properties.ipConfiguration', 'type': 'IPConfiguration'}, + 'dns_settings': {'key': 'properties.dnsSettings', 'type': 'PublicIPAddressDnsSettings'}, + 'ddos_settings': {'key': 'properties.ddosSettings', 'type': 'DdosSettings'}, + 'ip_tags': {'key': 'properties.ipTags', 'type': '[IpTag]'}, + 'ip_address': {'key': 'properties.ipAddress', 'type': 'str'}, + 'public_ip_prefix': {'key': 'properties.publicIPPrefix', 'type': 'SubResource'}, + 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'zones': {'key': 'zones', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(PublicIPAddress, self).__init__(**kwargs) + self.sku = kwargs.get('sku', None) + self.public_ip_allocation_method = kwargs.get('public_ip_allocation_method', None) + self.public_ip_address_version = kwargs.get('public_ip_address_version', None) + self.ip_configuration = None + self.dns_settings = kwargs.get('dns_settings', None) + self.ddos_settings = kwargs.get('ddos_settings', None) + self.ip_tags = kwargs.get('ip_tags', None) + self.ip_address = kwargs.get('ip_address', None) + self.public_ip_prefix = kwargs.get('public_ip_prefix', None) + self.idle_timeout_in_minutes = kwargs.get('idle_timeout_in_minutes', None) + self.resource_guid = None + self.provisioning_state = None + self.etag = None + self.zones = kwargs.get('zones', None) + + +class PublicIPAddressDnsSettings(Model): + """Contains FQDN of the DNS record associated with the public IP address. + + :param domain_name_label: The domain name label. The concatenation of the + domain name label and the regionalized DNS zone make up the fully + qualified domain name associated with the public IP address. If a domain + name label is specified, an A DNS record is created for the public IP in + the Microsoft Azure DNS system. + :type domain_name_label: str + :param fqdn: The Fully Qualified Domain Name of the A DNS record + associated with the public IP. This is the concatenation of the + domainNameLabel and the regionalized DNS zone. + :type fqdn: str + :param reverse_fqdn: The reverse FQDN. A user-visible, fully qualified + domain name that resolves to this public IP address. If the reverseFqdn is + specified, then a PTR DNS record is created pointing from the IP address + in the in-addr.arpa domain to the reverse FQDN. + :type reverse_fqdn: str + """ + + _attribute_map = { + 'domain_name_label': {'key': 'domainNameLabel', 'type': 'str'}, + 'fqdn': {'key': 'fqdn', 'type': 'str'}, + 'reverse_fqdn': {'key': 'reverseFqdn', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PublicIPAddressDnsSettings, self).__init__(**kwargs) + self.domain_name_label = kwargs.get('domain_name_label', None) + self.fqdn = kwargs.get('fqdn', None) + self.reverse_fqdn = kwargs.get('reverse_fqdn', None) + + +class PublicIPAddressSku(Model): + """SKU of a public IP address. + + :param name: Name of a public IP address SKU. Possible values include: + 'Basic', 'Standard' + :type name: str or + ~azure.mgmt.network.v2020_05_01.models.PublicIPAddressSkuName + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PublicIPAddressSku, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + + +class PublicIPPrefix(Resource): + """Public IP prefix resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param sku: The public IP prefix SKU. + :type sku: ~azure.mgmt.network.v2020_05_01.models.PublicIPPrefixSku + :param public_ip_address_version: The public IP address version. Possible + values include: 'IPv4', 'IPv6' + :type public_ip_address_version: str or + ~azure.mgmt.network.v2020_05_01.models.IPVersion + :param ip_tags: The list of tags associated with the public IP prefix. + :type ip_tags: list[~azure.mgmt.network.v2020_05_01.models.IpTag] + :param prefix_length: The Length of the Public IP Prefix. + :type prefix_length: int + :ivar ip_prefix: The allocated Prefix. + :vartype ip_prefix: str + :ivar public_ip_addresses: The list of all referenced PublicIPAddresses. + :vartype public_ip_addresses: + list[~azure.mgmt.network.v2020_05_01.models.ReferencedPublicIpAddress] + :ivar load_balancer_frontend_ip_configuration: The reference to load + balancer frontend IP configuration associated with the public IP prefix. + :vartype load_balancer_frontend_ip_configuration: + ~azure.mgmt.network.v2020_05_01.models.SubResource + :ivar resource_guid: The resource GUID property of the public IP prefix + resource. + :vartype resource_guid: str + :ivar provisioning_state: The provisioning state of the public IP prefix + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :param zones: A list of availability zones denoting the IP allocated for + the resource needs to come from. + :type zones: list[str] + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'ip_prefix': {'readonly': True}, + 'public_ip_addresses': {'readonly': True}, + 'load_balancer_frontend_ip_configuration': {'readonly': True}, + 'resource_guid': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'sku': {'key': 'sku', 'type': 'PublicIPPrefixSku'}, + 'public_ip_address_version': {'key': 'properties.publicIPAddressVersion', 'type': 'str'}, + 'ip_tags': {'key': 'properties.ipTags', 'type': '[IpTag]'}, + 'prefix_length': {'key': 'properties.prefixLength', 'type': 'int'}, + 'ip_prefix': {'key': 'properties.ipPrefix', 'type': 'str'}, + 'public_ip_addresses': {'key': 'properties.publicIPAddresses', 'type': '[ReferencedPublicIpAddress]'}, + 'load_balancer_frontend_ip_configuration': {'key': 'properties.loadBalancerFrontendIpConfiguration', 'type': 'SubResource'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'zones': {'key': 'zones', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(PublicIPPrefix, self).__init__(**kwargs) + self.sku = kwargs.get('sku', None) + self.public_ip_address_version = kwargs.get('public_ip_address_version', None) + self.ip_tags = kwargs.get('ip_tags', None) + self.prefix_length = kwargs.get('prefix_length', None) + self.ip_prefix = None + self.public_ip_addresses = None + self.load_balancer_frontend_ip_configuration = None + self.resource_guid = None + self.provisioning_state = None + self.etag = None + self.zones = kwargs.get('zones', None) + + +class PublicIPPrefixSku(Model): + """SKU of a public IP prefix. + + :param name: Name of a public IP prefix SKU. Possible values include: + 'Standard' + :type name: str or + ~azure.mgmt.network.v2020_05_01.models.PublicIPPrefixSkuName + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PublicIPPrefixSku, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + + +class QueryTroubleshootingParameters(Model): + """Parameters that define the resource to query the troubleshooting result. + + All required parameters must be populated in order to send to Azure. + + :param target_resource_id: Required. The target resource ID to query the + troubleshooting result. + :type target_resource_id: str + """ + + _validation = { + 'target_resource_id': {'required': True}, + } + + _attribute_map = { + 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(QueryTroubleshootingParameters, self).__init__(**kwargs) + self.target_resource_id = kwargs.get('target_resource_id', None) + + +class RadiusServer(Model): + """Radius Server Settings. + + All required parameters must be populated in order to send to Azure. + + :param radius_server_address: Required. The address of this radius server. + :type radius_server_address: str + :param radius_server_score: The initial score assigned to this radius + server. + :type radius_server_score: long + :param radius_server_secret: The secret used for this radius server. + :type radius_server_secret: str + """ + + _validation = { + 'radius_server_address': {'required': True}, + } + + _attribute_map = { + 'radius_server_address': {'key': 'radiusServerAddress', 'type': 'str'}, + 'radius_server_score': {'key': 'radiusServerScore', 'type': 'long'}, + 'radius_server_secret': {'key': 'radiusServerSecret', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(RadiusServer, self).__init__(**kwargs) + self.radius_server_address = kwargs.get('radius_server_address', None) + self.radius_server_score = kwargs.get('radius_server_score', None) + self.radius_server_secret = kwargs.get('radius_server_secret', None) + + +class RecordSet(Model): + """A collective group of information about the record set information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param record_type: Resource record type. + :type record_type: str + :param record_set_name: Recordset name. + :type record_set_name: str + :param fqdn: Fqdn that resolves to private endpoint ip address. + :type fqdn: str + :ivar provisioning_state: The provisioning state of the recordset. + Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param ttl: Recordset time to live. + :type ttl: int + :param ip_addresses: The private ip address of the private endpoint. + :type ip_addresses: list[str] + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'record_type': {'key': 'recordType', 'type': 'str'}, + 'record_set_name': {'key': 'recordSetName', 'type': 'str'}, + 'fqdn': {'key': 'fqdn', 'type': 'str'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'ttl': {'key': 'ttl', 'type': 'int'}, + 'ip_addresses': {'key': 'ipAddresses', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(RecordSet, self).__init__(**kwargs) + self.record_type = kwargs.get('record_type', None) + self.record_set_name = kwargs.get('record_set_name', None) + self.fqdn = kwargs.get('fqdn', None) + self.provisioning_state = None + self.ttl = kwargs.get('ttl', None) + self.ip_addresses = kwargs.get('ip_addresses', None) + + +class ReferencedPublicIpAddress(Model): + """Reference to a public IP address. + + :param id: The PublicIPAddress Reference. + :type id: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ReferencedPublicIpAddress, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + + +class ResourceNavigationLink(SubResource): + """ResourceNavigationLink resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param linked_resource_type: Resource type of the linked resource. + :type linked_resource_type: str + :param link: Link to the external resource. + :type link: str + :ivar provisioning_state: The provisioning state of the resource + navigation link resource. Possible values include: 'Succeeded', + 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: Name of the resource that is unique within a resource group. + This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Resource type. + :vartype type: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'linked_resource_type': {'key': 'properties.linkedResourceType', 'type': 'str'}, + 'link': {'key': 'properties.link', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ResourceNavigationLink, self).__init__(**kwargs) + self.linked_resource_type = kwargs.get('linked_resource_type', None) + self.link = kwargs.get('link', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = None + self.type = None + + +class ResourceNavigationLinksListResult(Model): + """Response for ResourceNavigationLinks_List operation. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param value: The resource navigation links in a subnet. + :type value: + list[~azure.mgmt.network.v2020_05_01.models.ResourceNavigationLink] + :ivar next_link: The URL to get the next set of results. + :vartype next_link: str + """ + + _validation = { + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ResourceNavigationLink]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ResourceNavigationLinksListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = None + + +class RetentionPolicyParameters(Model): + """Parameters that define the retention policy for flow log. + + :param days: Number of days to retain flow log records. Default value: 0 . + :type days: int + :param enabled: Flag to enable/disable retention. Default value: False . + :type enabled: bool + """ + + _attribute_map = { + 'days': {'key': 'days', 'type': 'int'}, + 'enabled': {'key': 'enabled', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(RetentionPolicyParameters, self).__init__(**kwargs) + self.days = kwargs.get('days', 0) + self.enabled = kwargs.get('enabled', False) + + +class Route(SubResource): + """Route resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :param address_prefix: The destination CIDR to which the route applies. + :type address_prefix: str + :param next_hop_type: Required. The type of Azure hop the packet should be + sent to. Possible values include: 'VirtualNetworkGateway', 'VnetLocal', + 'Internet', 'VirtualAppliance', 'None' + :type next_hop_type: str or + ~azure.mgmt.network.v2020_05_01.models.RouteNextHopType + :param next_hop_ip_address: The IP address packets should be forwarded to. + Next hop values are only allowed in routes where the next hop type is + VirtualAppliance. + :type next_hop_ip_address: str + :ivar provisioning_state: The provisioning state of the route resource. + Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'next_hop_type': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'address_prefix': {'key': 'properties.addressPrefix', 'type': 'str'}, + 'next_hop_type': {'key': 'properties.nextHopType', 'type': 'str'}, + 'next_hop_ip_address': {'key': 'properties.nextHopIpAddress', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Route, self).__init__(**kwargs) + self.address_prefix = kwargs.get('address_prefix', None) + self.next_hop_type = kwargs.get('next_hop_type', None) + self.next_hop_ip_address = kwargs.get('next_hop_ip_address', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = None + + +class RouteFilter(Resource): + """Route Filter Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param rules: Collection of RouteFilterRules contained within a route + filter. + :type rules: list[~azure.mgmt.network.v2020_05_01.models.RouteFilterRule] + :ivar peerings: A collection of references to express route circuit + peerings. + :vartype peerings: + list[~azure.mgmt.network.v2020_05_01.models.ExpressRouteCircuitPeering] + :ivar ipv6_peerings: A collection of references to express route circuit + ipv6 peerings. + :vartype ipv6_peerings: + list[~azure.mgmt.network.v2020_05_01.models.ExpressRouteCircuitPeering] + :ivar provisioning_state: The provisioning state of the route filter + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'peerings': {'readonly': True}, + 'ipv6_peerings': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'rules': {'key': 'properties.rules', 'type': '[RouteFilterRule]'}, + 'peerings': {'key': 'properties.peerings', 'type': '[ExpressRouteCircuitPeering]'}, + 'ipv6_peerings': {'key': 'properties.ipv6Peerings', 'type': '[ExpressRouteCircuitPeering]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(RouteFilter, self).__init__(**kwargs) + self.rules = kwargs.get('rules', None) + self.peerings = None + self.ipv6_peerings = None + self.provisioning_state = None + self.etag = None + + +class RouteFilterRule(SubResource): + """Route Filter Rule Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :param access: Required. The access type of the rule. Possible values + include: 'Allow', 'Deny' + :type access: str or ~azure.mgmt.network.v2020_05_01.models.Access + :ivar route_filter_rule_type: Required. The rule type of the rule. Default + value: "Community" . + :vartype route_filter_rule_type: str + :param communities: Required. The collection for bgp community values to + filter on. e.g. ['12076:5010','12076:5020']. + :type communities: list[str] + :ivar provisioning_state: The provisioning state of the route filter rule + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :param location: Resource location. + :type location: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'access': {'required': True}, + 'route_filter_rule_type': {'required': True, 'constant': True}, + 'communities': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'access': {'key': 'properties.access', 'type': 'str'}, + 'route_filter_rule_type': {'key': 'properties.routeFilterRuleType', 'type': 'str'}, + 'communities': {'key': 'properties.communities', 'type': '[str]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + route_filter_rule_type = "Community" + + def __init__(self, **kwargs): + super(RouteFilterRule, self).__init__(**kwargs) + self.access = kwargs.get('access', None) + self.communities = kwargs.get('communities', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.location = kwargs.get('location', None) + self.etag = None + + +class RouteTable(Resource): + """Route table resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param routes: Collection of routes contained within a route table. + :type routes: list[~azure.mgmt.network.v2020_05_01.models.Route] + :ivar subnets: A collection of references to subnets. + :vartype subnets: list[~azure.mgmt.network.v2020_05_01.models.Subnet] + :param disable_bgp_route_propagation: Whether to disable the routes + learned by BGP on that route table. True means disable. + :type disable_bgp_route_propagation: bool + :ivar provisioning_state: The provisioning state of the route table + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'subnets': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'routes': {'key': 'properties.routes', 'type': '[Route]'}, + 'subnets': {'key': 'properties.subnets', 'type': '[Subnet]'}, + 'disable_bgp_route_propagation': {'key': 'properties.disableBgpRoutePropagation', 'type': 'bool'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(RouteTable, self).__init__(**kwargs) + self.routes = kwargs.get('routes', None) + self.subnets = None + self.disable_bgp_route_propagation = kwargs.get('disable_bgp_route_propagation', None) + self.provisioning_state = None + self.etag = None + + +class RoutingConfiguration(Model): + """Routing Configuration indicating the associated and propagated route tables + for this connection. + + :param associated_route_table: The resource id RouteTable associated with + this RoutingConfiguration. + :type associated_route_table: + ~azure.mgmt.network.v2020_05_01.models.SubResource + :param propagated_route_tables: The list of RouteTables to advertise the + routes to. + :type propagated_route_tables: + ~azure.mgmt.network.v2020_05_01.models.PropagatedRouteTable + :param vnet_routes: List of routes that control routing from VirtualHub + into a virtual network connection. + :type vnet_routes: ~azure.mgmt.network.v2020_05_01.models.VnetRoute + """ + + _attribute_map = { + 'associated_route_table': {'key': 'associatedRouteTable', 'type': 'SubResource'}, + 'propagated_route_tables': {'key': 'propagatedRouteTables', 'type': 'PropagatedRouteTable'}, + 'vnet_routes': {'key': 'vnetRoutes', 'type': 'VnetRoute'}, + } + + def __init__(self, **kwargs): + super(RoutingConfiguration, self).__init__(**kwargs) + self.associated_route_table = kwargs.get('associated_route_table', None) + self.propagated_route_tables = kwargs.get('propagated_route_tables', None) + self.vnet_routes = kwargs.get('vnet_routes', None) + + +class SecurityGroupNetworkInterface(Model): + """Network interface and all its associated security rules. + + :param id: ID of the network interface. + :type id: str + :param security_rule_associations: All security rules associated with the + network interface. + :type security_rule_associations: + ~azure.mgmt.network.v2020_05_01.models.SecurityRuleAssociations + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'security_rule_associations': {'key': 'securityRuleAssociations', 'type': 'SecurityRuleAssociations'}, + } + + def __init__(self, **kwargs): + super(SecurityGroupNetworkInterface, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.security_rule_associations = kwargs.get('security_rule_associations', None) + + +class SecurityGroupViewParameters(Model): + """Parameters that define the VM to check security groups for. + + All required parameters must be populated in order to send to Azure. + + :param target_resource_id: Required. ID of the target VM. + :type target_resource_id: str + """ + + _validation = { + 'target_resource_id': {'required': True}, + } + + _attribute_map = { + 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SecurityGroupViewParameters, self).__init__(**kwargs) + self.target_resource_id = kwargs.get('target_resource_id', None) + + +class SecurityGroupViewResult(Model): + """The information about security rules applied to the specified VM. + + :param network_interfaces: List of network interfaces on the specified VM. + :type network_interfaces: + list[~azure.mgmt.network.v2020_05_01.models.SecurityGroupNetworkInterface] + """ + + _attribute_map = { + 'network_interfaces': {'key': 'networkInterfaces', 'type': '[SecurityGroupNetworkInterface]'}, + } + + def __init__(self, **kwargs): + super(SecurityGroupViewResult, self).__init__(**kwargs) + self.network_interfaces = kwargs.get('network_interfaces', None) + + +class SecurityPartnerProvider(Resource): + """Security Partner Provider resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar provisioning_state: The provisioning state of the Security Partner + Provider resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param security_provider_name: The security provider name. Possible values + include: 'ZScaler', 'IBoss', 'Checkpoint' + :type security_provider_name: str or + ~azure.mgmt.network.v2020_05_01.models.SecurityProviderName + :ivar connection_status: The connection status with the Security Partner + Provider. Possible values include: 'Unknown', 'PartiallyConnected', + 'Connected', 'NotConnected' + :vartype connection_status: str or + ~azure.mgmt.network.v2020_05_01.models.SecurityPartnerProviderConnectionStatus + :param virtual_hub: The virtualHub to which the Security Partner Provider + belongs. + :type virtual_hub: ~azure.mgmt.network.v2020_05_01.models.SubResource + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'connection_status': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'security_provider_name': {'key': 'properties.securityProviderName', 'type': 'str'}, + 'connection_status': {'key': 'properties.connectionStatus', 'type': 'str'}, + 'virtual_hub': {'key': 'properties.virtualHub', 'type': 'SubResource'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SecurityPartnerProvider, self).__init__(**kwargs) + self.provisioning_state = None + self.security_provider_name = kwargs.get('security_provider_name', None) + self.connection_status = None + self.virtual_hub = kwargs.get('virtual_hub', None) + self.etag = None + + +class SecurityRule(SubResource): + """Network security rule. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :param description: A description for this rule. Restricted to 140 chars. + :type description: str + :param protocol: Required. Network protocol this rule applies to. Possible + values include: 'Tcp', 'Udp', 'Icmp', 'Esp', '*', 'Ah' + :type protocol: str or + ~azure.mgmt.network.v2020_05_01.models.SecurityRuleProtocol + :param source_port_range: The source port or range. Integer or range + between 0 and 65535. Asterisk '*' can also be used to match all ports. + :type source_port_range: str + :param destination_port_range: The destination port or range. Integer or + range between 0 and 65535. Asterisk '*' can also be used to match all + ports. + :type destination_port_range: str + :param source_address_prefix: The CIDR or source IP range. Asterisk '*' + can also be used to match all source IPs. Default tags such as + 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. If + this is an ingress rule, specifies where network traffic originates from. + :type source_address_prefix: str + :param source_address_prefixes: The CIDR or source IP ranges. + :type source_address_prefixes: list[str] + :param source_application_security_groups: The application security group + specified as source. + :type source_application_security_groups: + list[~azure.mgmt.network.v2020_05_01.models.ApplicationSecurityGroup] + :param destination_address_prefix: The destination address prefix. CIDR or + destination IP range. Asterisk '*' can also be used to match all source + IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and + 'Internet' can also be used. + :type destination_address_prefix: str + :param destination_address_prefixes: The destination address prefixes. + CIDR or destination IP ranges. + :type destination_address_prefixes: list[str] + :param destination_application_security_groups: The application security + group specified as destination. + :type destination_application_security_groups: + list[~azure.mgmt.network.v2020_05_01.models.ApplicationSecurityGroup] + :param source_port_ranges: The source port ranges. + :type source_port_ranges: list[str] + :param destination_port_ranges: The destination port ranges. + :type destination_port_ranges: list[str] + :param access: Required. The network traffic is allowed or denied. + Possible values include: 'Allow', 'Deny' + :type access: str or + ~azure.mgmt.network.v2020_05_01.models.SecurityRuleAccess + :param priority: The priority of the rule. The value can be between 100 + and 4096. The priority number must be unique for each rule in the + collection. The lower the priority number, the higher the priority of the + rule. + :type priority: int + :param direction: Required. The direction of the rule. The direction + specifies if rule will be evaluated on incoming or outgoing traffic. + Possible values include: 'Inbound', 'Outbound' + :type direction: str or + ~azure.mgmt.network.v2020_05_01.models.SecurityRuleDirection + :ivar provisioning_state: The provisioning state of the security rule + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'protocol': {'required': True}, + 'access': {'required': True}, + 'direction': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'protocol': {'key': 'properties.protocol', 'type': 'str'}, + 'source_port_range': {'key': 'properties.sourcePortRange', 'type': 'str'}, + 'destination_port_range': {'key': 'properties.destinationPortRange', 'type': 'str'}, + 'source_address_prefix': {'key': 'properties.sourceAddressPrefix', 'type': 'str'}, + 'source_address_prefixes': {'key': 'properties.sourceAddressPrefixes', 'type': '[str]'}, + 'source_application_security_groups': {'key': 'properties.sourceApplicationSecurityGroups', 'type': '[ApplicationSecurityGroup]'}, + 'destination_address_prefix': {'key': 'properties.destinationAddressPrefix', 'type': 'str'}, + 'destination_address_prefixes': {'key': 'properties.destinationAddressPrefixes', 'type': '[str]'}, + 'destination_application_security_groups': {'key': 'properties.destinationApplicationSecurityGroups', 'type': '[ApplicationSecurityGroup]'}, + 'source_port_ranges': {'key': 'properties.sourcePortRanges', 'type': '[str]'}, + 'destination_port_ranges': {'key': 'properties.destinationPortRanges', 'type': '[str]'}, + 'access': {'key': 'properties.access', 'type': 'str'}, + 'priority': {'key': 'properties.priority', 'type': 'int'}, + 'direction': {'key': 'properties.direction', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SecurityRule, self).__init__(**kwargs) + self.description = kwargs.get('description', None) + self.protocol = kwargs.get('protocol', None) + self.source_port_range = kwargs.get('source_port_range', None) + self.destination_port_range = kwargs.get('destination_port_range', None) + self.source_address_prefix = kwargs.get('source_address_prefix', None) + self.source_address_prefixes = kwargs.get('source_address_prefixes', None) + self.source_application_security_groups = kwargs.get('source_application_security_groups', None) + self.destination_address_prefix = kwargs.get('destination_address_prefix', None) + self.destination_address_prefixes = kwargs.get('destination_address_prefixes', None) + self.destination_application_security_groups = kwargs.get('destination_application_security_groups', None) + self.source_port_ranges = kwargs.get('source_port_ranges', None) + self.destination_port_ranges = kwargs.get('destination_port_ranges', None) + self.access = kwargs.get('access', None) + self.priority = kwargs.get('priority', None) + self.direction = kwargs.get('direction', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = None + + +class SecurityRuleAssociations(Model): + """All security rules associated with the network interface. + + :param network_interface_association: Network interface and it's custom + security rules. + :type network_interface_association: + ~azure.mgmt.network.v2020_05_01.models.NetworkInterfaceAssociation + :param subnet_association: Subnet and it's custom security rules. + :type subnet_association: + ~azure.mgmt.network.v2020_05_01.models.SubnetAssociation + :param default_security_rules: Collection of default security rules of the + network security group. + :type default_security_rules: + list[~azure.mgmt.network.v2020_05_01.models.SecurityRule] + :param effective_security_rules: Collection of effective security rules. + :type effective_security_rules: + list[~azure.mgmt.network.v2020_05_01.models.EffectiveNetworkSecurityRule] + """ + + _attribute_map = { + 'network_interface_association': {'key': 'networkInterfaceAssociation', 'type': 'NetworkInterfaceAssociation'}, + 'subnet_association': {'key': 'subnetAssociation', 'type': 'SubnetAssociation'}, + 'default_security_rules': {'key': 'defaultSecurityRules', 'type': '[SecurityRule]'}, + 'effective_security_rules': {'key': 'effectiveSecurityRules', 'type': '[EffectiveNetworkSecurityRule]'}, + } + + def __init__(self, **kwargs): + super(SecurityRuleAssociations, self).__init__(**kwargs) + self.network_interface_association = kwargs.get('network_interface_association', None) + self.subnet_association = kwargs.get('subnet_association', None) + self.default_security_rules = kwargs.get('default_security_rules', None) + self.effective_security_rules = kwargs.get('effective_security_rules', None) + + +class ServiceAssociationLink(SubResource): + """ServiceAssociationLink resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param linked_resource_type: Resource type of the linked resource. + :type linked_resource_type: str + :param link: Link to the external resource. + :type link: str + :ivar provisioning_state: The provisioning state of the service + association link resource. Possible values include: 'Succeeded', + 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param allow_delete: If true, the resource can be deleted. + :type allow_delete: bool + :param locations: A list of locations. + :type locations: list[str] + :param name: Name of the resource that is unique within a resource group. + This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Resource type. + :vartype type: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'linked_resource_type': {'key': 'properties.linkedResourceType', 'type': 'str'}, + 'link': {'key': 'properties.link', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'allow_delete': {'key': 'properties.allowDelete', 'type': 'bool'}, + 'locations': {'key': 'properties.locations', 'type': '[str]'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ServiceAssociationLink, self).__init__(**kwargs) + self.linked_resource_type = kwargs.get('linked_resource_type', None) + self.link = kwargs.get('link', None) + self.provisioning_state = None + self.allow_delete = kwargs.get('allow_delete', None) + self.locations = kwargs.get('locations', None) + self.name = kwargs.get('name', None) + self.etag = None + self.type = None + + +class ServiceAssociationLinksListResult(Model): + """Response for ServiceAssociationLinks_List operation. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param value: The service association links in a subnet. + :type value: + list[~azure.mgmt.network.v2020_05_01.models.ServiceAssociationLink] + :ivar next_link: The URL to get the next set of results. + :vartype next_link: str + """ + + _validation = { + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ServiceAssociationLink]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ServiceAssociationLinksListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = None + + +class ServiceEndpointPolicy(Resource): + """Service End point policy resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param service_endpoint_policy_definitions: A collection of service + endpoint policy definitions of the service endpoint policy. + :type service_endpoint_policy_definitions: + list[~azure.mgmt.network.v2020_05_01.models.ServiceEndpointPolicyDefinition] + :ivar subnets: A collection of references to subnets. + :vartype subnets: list[~azure.mgmt.network.v2020_05_01.models.Subnet] + :ivar resource_guid: The resource GUID property of the service endpoint + policy resource. + :vartype resource_guid: str + :ivar provisioning_state: The provisioning state of the service endpoint + policy resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'subnets': {'readonly': True}, + 'resource_guid': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'service_endpoint_policy_definitions': {'key': 'properties.serviceEndpointPolicyDefinitions', 'type': '[ServiceEndpointPolicyDefinition]'}, + 'subnets': {'key': 'properties.subnets', 'type': '[Subnet]'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ServiceEndpointPolicy, self).__init__(**kwargs) + self.service_endpoint_policy_definitions = kwargs.get('service_endpoint_policy_definitions', None) + self.subnets = None + self.resource_guid = None + self.provisioning_state = None + self.etag = None + + +class ServiceEndpointPolicyDefinition(SubResource): + """Service Endpoint policy definitions. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param description: A description for this rule. Restricted to 140 chars. + :type description: str + :param service: Service endpoint name. + :type service: str + :param service_resources: A list of service resources. + :type service_resources: list[str] + :ivar provisioning_state: The provisioning state of the service endpoint + policy definition resource. Possible values include: 'Succeeded', + 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'service': {'key': 'properties.service', 'type': 'str'}, + 'service_resources': {'key': 'properties.serviceResources', 'type': '[str]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ServiceEndpointPolicyDefinition, self).__init__(**kwargs) + self.description = kwargs.get('description', None) + self.service = kwargs.get('service', None) + self.service_resources = kwargs.get('service_resources', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = None + + +class ServiceEndpointPropertiesFormat(Model): + """The service endpoint properties. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param service: The type of the endpoint service. + :type service: str + :param locations: A list of locations. + :type locations: list[str] + :ivar provisioning_state: The provisioning state of the service endpoint + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'service': {'key': 'service', 'type': 'str'}, + 'locations': {'key': 'locations', 'type': '[str]'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ServiceEndpointPropertiesFormat, self).__init__(**kwargs) + self.service = kwargs.get('service', None) + self.locations = kwargs.get('locations', None) + self.provisioning_state = None + + +class ServiceTagInformation(Model): + """The service tag information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar properties: Properties of the service tag information. + :vartype properties: + ~azure.mgmt.network.v2020_05_01.models.ServiceTagInformationPropertiesFormat + :ivar name: The name of service tag. + :vartype name: str + :ivar id: The ID of service tag. + :vartype id: str + """ + + _validation = { + 'properties': {'readonly': True}, + 'name': {'readonly': True}, + 'id': {'readonly': True}, + } + + _attribute_map = { + 'properties': {'key': 'properties', 'type': 'ServiceTagInformationPropertiesFormat'}, + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ServiceTagInformation, self).__init__(**kwargs) + self.properties = None + self.name = None + self.id = None + + +class ServiceTagInformationPropertiesFormat(Model): + """Properties of the service tag information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar change_number: The iteration number of service tag. + :vartype change_number: str + :ivar region: The region of service tag. + :vartype region: str + :ivar system_service: The name of system service. + :vartype system_service: str + :ivar address_prefixes: The list of IP address prefixes. + :vartype address_prefixes: list[str] + """ + + _validation = { + 'change_number': {'readonly': True}, + 'region': {'readonly': True}, + 'system_service': {'readonly': True}, + 'address_prefixes': {'readonly': True}, + } + + _attribute_map = { + 'change_number': {'key': 'changeNumber', 'type': 'str'}, + 'region': {'key': 'region', 'type': 'str'}, + 'system_service': {'key': 'systemService', 'type': 'str'}, + 'address_prefixes': {'key': 'addressPrefixes', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(ServiceTagInformationPropertiesFormat, self).__init__(**kwargs) + self.change_number = None + self.region = None + self.system_service = None + self.address_prefixes = None + + +class ServiceTagsListResult(Model): + """Response for the ListServiceTags API service call. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name: The name of the cloud. + :vartype name: str + :ivar id: The ID of the cloud. + :vartype id: str + :ivar type: The azure resource type. + :vartype type: str + :ivar change_number: The iteration number. + :vartype change_number: str + :ivar cloud: The name of the cloud. + :vartype cloud: str + :ivar values: The list of service tag information resources. + :vartype values: + list[~azure.mgmt.network.v2020_05_01.models.ServiceTagInformation] + """ + + _validation = { + 'name': {'readonly': True}, + 'id': {'readonly': True}, + 'type': {'readonly': True}, + 'change_number': {'readonly': True}, + 'cloud': {'readonly': True}, + 'values': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'change_number': {'key': 'changeNumber', 'type': 'str'}, + 'cloud': {'key': 'cloud', 'type': 'str'}, + 'values': {'key': 'values', 'type': '[ServiceTagInformation]'}, + } + + def __init__(self, **kwargs): + super(ServiceTagsListResult, self).__init__(**kwargs) + self.name = None + self.id = None + self.type = None + self.change_number = None + self.cloud = None + self.values = None + + +class SessionIds(Model): + """List of session IDs. + + :param session_ids: List of session IDs. + :type session_ids: list[str] + """ + + _attribute_map = { + 'session_ids': {'key': 'sessionIds', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(SessionIds, self).__init__(**kwargs) + self.session_ids = kwargs.get('session_ids', None) + + +class StaticRoute(Model): + """List of all Static Routes. + + :param name: The name of the StaticRoute that is unique within a + VnetRoute. + :type name: str + :param address_prefixes: List of all address prefixes. + :type address_prefixes: list[str] + :param next_hop_ip_address: The ip address of the next hop. + :type next_hop_ip_address: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'address_prefixes': {'key': 'addressPrefixes', 'type': '[str]'}, + 'next_hop_ip_address': {'key': 'nextHopIpAddress', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(StaticRoute, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.address_prefixes = kwargs.get('address_prefixes', None) + self.next_hop_ip_address = kwargs.get('next_hop_ip_address', None) + + +class Subnet(SubResource): + """Subnet in a virtual network resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param address_prefix: The address prefix for the subnet. + :type address_prefix: str + :param address_prefixes: List of address prefixes for the subnet. + :type address_prefixes: list[str] + :param network_security_group: The reference to the NetworkSecurityGroup + resource. + :type network_security_group: + ~azure.mgmt.network.v2020_05_01.models.NetworkSecurityGroup + :param route_table: The reference to the RouteTable resource. + :type route_table: ~azure.mgmt.network.v2020_05_01.models.RouteTable + :param nat_gateway: Nat gateway associated with this subnet. + :type nat_gateway: ~azure.mgmt.network.v2020_05_01.models.SubResource + :param service_endpoints: An array of service endpoints. + :type service_endpoints: + list[~azure.mgmt.network.v2020_05_01.models.ServiceEndpointPropertiesFormat] + :param service_endpoint_policies: An array of service endpoint policies. + :type service_endpoint_policies: + list[~azure.mgmt.network.v2020_05_01.models.ServiceEndpointPolicy] + :ivar private_endpoints: An array of references to private endpoints. + :vartype private_endpoints: + list[~azure.mgmt.network.v2020_05_01.models.PrivateEndpoint] + :ivar ip_configurations: An array of references to the network interface + IP configurations using subnet. + :vartype ip_configurations: + list[~azure.mgmt.network.v2020_05_01.models.IPConfiguration] + :ivar ip_configuration_profiles: Array of IP configuration profiles which + reference this subnet. + :vartype ip_configuration_profiles: + list[~azure.mgmt.network.v2020_05_01.models.IPConfigurationProfile] + :param ip_allocations: Array of IpAllocation which reference this subnet. + :type ip_allocations: + list[~azure.mgmt.network.v2020_05_01.models.SubResource] + :ivar resource_navigation_links: An array of references to the external + resources using subnet. + :vartype resource_navigation_links: + list[~azure.mgmt.network.v2020_05_01.models.ResourceNavigationLink] + :ivar service_association_links: An array of references to services + injecting into this subnet. + :vartype service_association_links: + list[~azure.mgmt.network.v2020_05_01.models.ServiceAssociationLink] + :param delegations: An array of references to the delegations on the + subnet. + :type delegations: list[~azure.mgmt.network.v2020_05_01.models.Delegation] + :ivar purpose: A read-only string identifying the intention of use for + this subnet based on delegations and other user-defined properties. + :vartype purpose: str + :ivar provisioning_state: The provisioning state of the subnet resource. + Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param private_endpoint_network_policies: Enable or Disable apply network + policies on private end point in the subnet. + :type private_endpoint_network_policies: str + :param private_link_service_network_policies: Enable or Disable apply + network policies on private link service in the subnet. + :type private_link_service_network_policies: str + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'private_endpoints': {'readonly': True}, + 'ip_configurations': {'readonly': True}, + 'ip_configuration_profiles': {'readonly': True}, + 'resource_navigation_links': {'readonly': True}, + 'service_association_links': {'readonly': True}, + 'purpose': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'address_prefix': {'key': 'properties.addressPrefix', 'type': 'str'}, + 'address_prefixes': {'key': 'properties.addressPrefixes', 'type': '[str]'}, + 'network_security_group': {'key': 'properties.networkSecurityGroup', 'type': 'NetworkSecurityGroup'}, + 'route_table': {'key': 'properties.routeTable', 'type': 'RouteTable'}, + 'nat_gateway': {'key': 'properties.natGateway', 'type': 'SubResource'}, + 'service_endpoints': {'key': 'properties.serviceEndpoints', 'type': '[ServiceEndpointPropertiesFormat]'}, + 'service_endpoint_policies': {'key': 'properties.serviceEndpointPolicies', 'type': '[ServiceEndpointPolicy]'}, + 'private_endpoints': {'key': 'properties.privateEndpoints', 'type': '[PrivateEndpoint]'}, + 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[IPConfiguration]'}, + 'ip_configuration_profiles': {'key': 'properties.ipConfigurationProfiles', 'type': '[IPConfigurationProfile]'}, + 'ip_allocations': {'key': 'properties.ipAllocations', 'type': '[SubResource]'}, + 'resource_navigation_links': {'key': 'properties.resourceNavigationLinks', 'type': '[ResourceNavigationLink]'}, + 'service_association_links': {'key': 'properties.serviceAssociationLinks', 'type': '[ServiceAssociationLink]'}, + 'delegations': {'key': 'properties.delegations', 'type': '[Delegation]'}, + 'purpose': {'key': 'properties.purpose', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'private_endpoint_network_policies': {'key': 'properties.privateEndpointNetworkPolicies', 'type': 'str'}, + 'private_link_service_network_policies': {'key': 'properties.privateLinkServiceNetworkPolicies', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Subnet, self).__init__(**kwargs) + self.address_prefix = kwargs.get('address_prefix', None) + self.address_prefixes = kwargs.get('address_prefixes', None) + self.network_security_group = kwargs.get('network_security_group', None) + self.route_table = kwargs.get('route_table', None) + self.nat_gateway = kwargs.get('nat_gateway', None) + self.service_endpoints = kwargs.get('service_endpoints', None) + self.service_endpoint_policies = kwargs.get('service_endpoint_policies', None) + self.private_endpoints = None + self.ip_configurations = None + self.ip_configuration_profiles = None + self.ip_allocations = kwargs.get('ip_allocations', None) + self.resource_navigation_links = None + self.service_association_links = None + self.delegations = kwargs.get('delegations', None) + self.purpose = None + self.provisioning_state = None + self.private_endpoint_network_policies = kwargs.get('private_endpoint_network_policies', None) + self.private_link_service_network_policies = kwargs.get('private_link_service_network_policies', None) + self.name = kwargs.get('name', None) + self.etag = None + + +class SubnetAssociation(Model): + """Subnet and it's custom security rules. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Subnet ID. + :vartype id: str + :param security_rules: Collection of custom security rules. + :type security_rules: + list[~azure.mgmt.network.v2020_05_01.models.SecurityRule] + """ + + _validation = { + 'id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'security_rules': {'key': 'securityRules', 'type': '[SecurityRule]'}, + } + + def __init__(self, **kwargs): + super(SubnetAssociation, self).__init__(**kwargs) + self.id = None + self.security_rules = kwargs.get('security_rules', None) + + +class TagsObject(Model): + """Tags object for patch operations. + + :param tags: Resource tags. + :type tags: dict[str, str] + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, **kwargs): + super(TagsObject, self).__init__(**kwargs) + self.tags = kwargs.get('tags', None) + + +class Topology(Model): + """Topology of the specified resource group. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: GUID representing the operation id. + :vartype id: str + :ivar created_date_time: The datetime when the topology was initially + created for the resource group. + :vartype created_date_time: datetime + :ivar last_modified: The datetime when the topology was last modified. + :vartype last_modified: datetime + :param resources: A list of topology resources. + :type resources: + list[~azure.mgmt.network.v2020_05_01.models.TopologyResource] + """ + + _validation = { + 'id': {'readonly': True}, + 'created_date_time': {'readonly': True}, + 'last_modified': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'created_date_time': {'key': 'createdDateTime', 'type': 'iso-8601'}, + 'last_modified': {'key': 'lastModified', 'type': 'iso-8601'}, + 'resources': {'key': 'resources', 'type': '[TopologyResource]'}, + } + + def __init__(self, **kwargs): + super(Topology, self).__init__(**kwargs) + self.id = None + self.created_date_time = None + self.last_modified = None + self.resources = kwargs.get('resources', None) + + +class TopologyAssociation(Model): + """Resources that have an association with the parent resource. + + :param name: The name of the resource that is associated with the parent + resource. + :type name: str + :param resource_id: The ID of the resource that is associated with the + parent resource. + :type resource_id: str + :param association_type: The association type of the child resource to the + parent resource. Possible values include: 'Associated', 'Contains' + :type association_type: str or + ~azure.mgmt.network.v2020_05_01.models.AssociationType + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + 'association_type': {'key': 'associationType', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(TopologyAssociation, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.resource_id = kwargs.get('resource_id', None) + self.association_type = kwargs.get('association_type', None) + + +class TopologyParameters(Model): + """Parameters that define the representation of topology. + + :param target_resource_group_name: The name of the target resource group + to perform topology on. + :type target_resource_group_name: str + :param target_virtual_network: The reference to the Virtual Network + resource. + :type target_virtual_network: + ~azure.mgmt.network.v2020_05_01.models.SubResource + :param target_subnet: The reference to the Subnet resource. + :type target_subnet: ~azure.mgmt.network.v2020_05_01.models.SubResource + """ + + _attribute_map = { + 'target_resource_group_name': {'key': 'targetResourceGroupName', 'type': 'str'}, + 'target_virtual_network': {'key': 'targetVirtualNetwork', 'type': 'SubResource'}, + 'target_subnet': {'key': 'targetSubnet', 'type': 'SubResource'}, + } + + def __init__(self, **kwargs): + super(TopologyParameters, self).__init__(**kwargs) + self.target_resource_group_name = kwargs.get('target_resource_group_name', None) + self.target_virtual_network = kwargs.get('target_virtual_network', None) + self.target_subnet = kwargs.get('target_subnet', None) + + +class TopologyResource(Model): + """The network resource topology information for the given resource group. + + :param name: Name of the resource. + :type name: str + :param id: ID of the resource. + :type id: str + :param location: Resource location. + :type location: str + :param associations: Holds the associations the resource has with other + resources in the resource group. + :type associations: + list[~azure.mgmt.network.v2020_05_01.models.TopologyAssociation] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'associations': {'key': 'associations', 'type': '[TopologyAssociation]'}, + } + + def __init__(self, **kwargs): + super(TopologyResource, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.id = kwargs.get('id', None) + self.location = kwargs.get('location', None) + self.associations = kwargs.get('associations', None) + + +class TrafficAnalyticsConfigurationProperties(Model): + """Parameters that define the configuration of traffic analytics. + + :param enabled: Flag to enable/disable traffic analytics. + :type enabled: bool + :param workspace_id: The resource guid of the attached workspace. + :type workspace_id: str + :param workspace_region: The location of the attached workspace. + :type workspace_region: str + :param workspace_resource_id: Resource Id of the attached workspace. + :type workspace_resource_id: str + :param traffic_analytics_interval: The interval in minutes which would + decide how frequently TA service should do flow analytics. + :type traffic_analytics_interval: int + """ + + _attribute_map = { + 'enabled': {'key': 'enabled', 'type': 'bool'}, + 'workspace_id': {'key': 'workspaceId', 'type': 'str'}, + 'workspace_region': {'key': 'workspaceRegion', 'type': 'str'}, + 'workspace_resource_id': {'key': 'workspaceResourceId', 'type': 'str'}, + 'traffic_analytics_interval': {'key': 'trafficAnalyticsInterval', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(TrafficAnalyticsConfigurationProperties, self).__init__(**kwargs) + self.enabled = kwargs.get('enabled', None) + self.workspace_id = kwargs.get('workspace_id', None) + self.workspace_region = kwargs.get('workspace_region', None) + self.workspace_resource_id = kwargs.get('workspace_resource_id', None) + self.traffic_analytics_interval = kwargs.get('traffic_analytics_interval', None) + + +class TrafficAnalyticsProperties(Model): + """Parameters that define the configuration of traffic analytics. + + :param network_watcher_flow_analytics_configuration: Parameters that + define the configuration of traffic analytics. + :type network_watcher_flow_analytics_configuration: + ~azure.mgmt.network.v2020_05_01.models.TrafficAnalyticsConfigurationProperties + """ + + _attribute_map = { + 'network_watcher_flow_analytics_configuration': {'key': 'networkWatcherFlowAnalyticsConfiguration', 'type': 'TrafficAnalyticsConfigurationProperties'}, + } + + def __init__(self, **kwargs): + super(TrafficAnalyticsProperties, self).__init__(**kwargs) + self.network_watcher_flow_analytics_configuration = kwargs.get('network_watcher_flow_analytics_configuration', None) + + +class TrafficSelectorPolicy(Model): + """An traffic selector policy for a virtual network gateway connection. + + All required parameters must be populated in order to send to Azure. + + :param local_address_ranges: Required. A collection of local address + spaces in CIDR format. + :type local_address_ranges: list[str] + :param remote_address_ranges: Required. A collection of remote address + spaces in CIDR format. + :type remote_address_ranges: list[str] + """ + + _validation = { + 'local_address_ranges': {'required': True}, + 'remote_address_ranges': {'required': True}, + } + + _attribute_map = { + 'local_address_ranges': {'key': 'localAddressRanges', 'type': '[str]'}, + 'remote_address_ranges': {'key': 'remoteAddressRanges', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(TrafficSelectorPolicy, self).__init__(**kwargs) + self.local_address_ranges = kwargs.get('local_address_ranges', None) + self.remote_address_ranges = kwargs.get('remote_address_ranges', None) + + +class TroubleshootingDetails(Model): + """Information gained from troubleshooting of specified resource. + + :param id: The id of the get troubleshoot operation. + :type id: str + :param reason_type: Reason type of failure. + :type reason_type: str + :param summary: A summary of troubleshooting. + :type summary: str + :param detail: Details on troubleshooting results. + :type detail: str + :param recommended_actions: List of recommended actions. + :type recommended_actions: + list[~azure.mgmt.network.v2020_05_01.models.TroubleshootingRecommendedActions] + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'reason_type': {'key': 'reasonType', 'type': 'str'}, + 'summary': {'key': 'summary', 'type': 'str'}, + 'detail': {'key': 'detail', 'type': 'str'}, + 'recommended_actions': {'key': 'recommendedActions', 'type': '[TroubleshootingRecommendedActions]'}, + } + + def __init__(self, **kwargs): + super(TroubleshootingDetails, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.reason_type = kwargs.get('reason_type', None) + self.summary = kwargs.get('summary', None) + self.detail = kwargs.get('detail', None) + self.recommended_actions = kwargs.get('recommended_actions', None) + + +class TroubleshootingParameters(Model): + """Parameters that define the resource to troubleshoot. + + All required parameters must be populated in order to send to Azure. + + :param target_resource_id: Required. The target resource to troubleshoot. + :type target_resource_id: str + :param storage_id: Required. The ID for the storage account to save the + troubleshoot result. + :type storage_id: str + :param storage_path: Required. The path to the blob to save the + troubleshoot result in. + :type storage_path: str + """ + + _validation = { + 'target_resource_id': {'required': True}, + 'storage_id': {'required': True}, + 'storage_path': {'required': True}, + } + + _attribute_map = { + 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, + 'storage_id': {'key': 'properties.storageId', 'type': 'str'}, + 'storage_path': {'key': 'properties.storagePath', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(TroubleshootingParameters, self).__init__(**kwargs) + self.target_resource_id = kwargs.get('target_resource_id', None) + self.storage_id = kwargs.get('storage_id', None) + self.storage_path = kwargs.get('storage_path', None) + + +class TroubleshootingRecommendedActions(Model): + """Recommended actions based on discovered issues. + + :param action_id: ID of the recommended action. + :type action_id: str + :param action_text: Description of recommended actions. + :type action_text: str + :param action_uri: The uri linking to a documentation for the recommended + troubleshooting actions. + :type action_uri: str + :param action_uri_text: The information from the URI for the recommended + troubleshooting actions. + :type action_uri_text: str + """ + + _attribute_map = { + 'action_id': {'key': 'actionId', 'type': 'str'}, + 'action_text': {'key': 'actionText', 'type': 'str'}, + 'action_uri': {'key': 'actionUri', 'type': 'str'}, + 'action_uri_text': {'key': 'actionUriText', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(TroubleshootingRecommendedActions, self).__init__(**kwargs) + self.action_id = kwargs.get('action_id', None) + self.action_text = kwargs.get('action_text', None) + self.action_uri = kwargs.get('action_uri', None) + self.action_uri_text = kwargs.get('action_uri_text', None) + + +class TroubleshootingResult(Model): + """Troubleshooting information gained from specified resource. + + :param start_time: The start time of the troubleshooting. + :type start_time: datetime + :param end_time: The end time of the troubleshooting. + :type end_time: datetime + :param code: The result code of the troubleshooting. + :type code: str + :param results: Information from troubleshooting. + :type results: + list[~azure.mgmt.network.v2020_05_01.models.TroubleshootingDetails] + """ + + _attribute_map = { + 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, + 'code': {'key': 'code', 'type': 'str'}, + 'results': {'key': 'results', 'type': '[TroubleshootingDetails]'}, + } + + def __init__(self, **kwargs): + super(TroubleshootingResult, self).__init__(**kwargs) + self.start_time = kwargs.get('start_time', None) + self.end_time = kwargs.get('end_time', None) + self.code = kwargs.get('code', None) + self.results = kwargs.get('results', None) + + +class TunnelConnectionHealth(Model): + """VirtualNetworkGatewayConnection properties. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar tunnel: Tunnel name. + :vartype tunnel: str + :ivar connection_status: Virtual Network Gateway connection status. + Possible values include: 'Unknown', 'Connecting', 'Connected', + 'NotConnected' + :vartype connection_status: str or + ~azure.mgmt.network.v2020_05_01.models.VirtualNetworkGatewayConnectionStatus + :ivar ingress_bytes_transferred: The Ingress Bytes Transferred in this + connection. + :vartype ingress_bytes_transferred: long + :ivar egress_bytes_transferred: The Egress Bytes Transferred in this + connection. + :vartype egress_bytes_transferred: long + :ivar last_connection_established_utc_time: The time at which connection + was established in Utc format. + :vartype last_connection_established_utc_time: str + """ + + _validation = { + 'tunnel': {'readonly': True}, + 'connection_status': {'readonly': True}, + 'ingress_bytes_transferred': {'readonly': True}, + 'egress_bytes_transferred': {'readonly': True}, + 'last_connection_established_utc_time': {'readonly': True}, + } + + _attribute_map = { + 'tunnel': {'key': 'tunnel', 'type': 'str'}, + 'connection_status': {'key': 'connectionStatus', 'type': 'str'}, + 'ingress_bytes_transferred': {'key': 'ingressBytesTransferred', 'type': 'long'}, + 'egress_bytes_transferred': {'key': 'egressBytesTransferred', 'type': 'long'}, + 'last_connection_established_utc_time': {'key': 'lastConnectionEstablishedUtcTime', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(TunnelConnectionHealth, self).__init__(**kwargs) + self.tunnel = None + self.connection_status = None + self.ingress_bytes_transferred = None + self.egress_bytes_transferred = None + self.last_connection_established_utc_time = None + + +class UnprepareNetworkPoliciesRequest(Model): + """Details of UnprepareNetworkPolicies for Subnet. + + :param service_name: The name of the service for which subnet is being + unprepared for. + :type service_name: str + """ + + _attribute_map = { + 'service_name': {'key': 'serviceName', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(UnprepareNetworkPoliciesRequest, self).__init__(**kwargs) + self.service_name = kwargs.get('service_name', None) + + +class Usage(Model): + """The network resource usage. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Resource identifier. + :vartype id: str + :ivar unit: Required. An enum describing the unit of measurement. Default + value: "Count" . + :vartype unit: str + :param current_value: Required. The current value of the usage. + :type current_value: long + :param limit: Required. The limit of usage. + :type limit: long + :param name: Required. The name of the type of usage. + :type name: ~azure.mgmt.network.v2020_05_01.models.UsageName + """ + + _validation = { + 'id': {'readonly': True}, + 'unit': {'required': True, 'constant': True}, + 'current_value': {'required': True}, + 'limit': {'required': True}, + 'name': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'unit': {'key': 'unit', 'type': 'str'}, + 'current_value': {'key': 'currentValue', 'type': 'long'}, + 'limit': {'key': 'limit', 'type': 'long'}, + 'name': {'key': 'name', 'type': 'UsageName'}, + } + + unit = "Count" + + def __init__(self, **kwargs): + super(Usage, self).__init__(**kwargs) + self.id = None + self.current_value = kwargs.get('current_value', None) + self.limit = kwargs.get('limit', None) + self.name = kwargs.get('name', None) + + +class UsageName(Model): + """The usage names. + + :param value: A string describing the resource name. + :type value: str + :param localized_value: A localized string describing the resource name. + :type localized_value: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': 'str'}, + 'localized_value': {'key': 'localizedValue', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(UsageName, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.localized_value = kwargs.get('localized_value', None) + + +class VerificationIPFlowParameters(Model): + """Parameters that define the IP flow to be verified. + + All required parameters must be populated in order to send to Azure. + + :param target_resource_id: Required. The ID of the target resource to + perform next-hop on. + :type target_resource_id: str + :param direction: Required. The direction of the packet represented as a + 5-tuple. Possible values include: 'Inbound', 'Outbound' + :type direction: str or ~azure.mgmt.network.v2020_05_01.models.Direction + :param protocol: Required. Protocol to be verified on. Possible values + include: 'TCP', 'UDP' + :type protocol: str or + ~azure.mgmt.network.v2020_05_01.models.IpFlowProtocol + :param local_port: Required. The local port. Acceptable values are a + single integer in the range (0-65535). Support for * for the source port, + which depends on the direction. + :type local_port: str + :param remote_port: Required. The remote port. Acceptable values are a + single integer in the range (0-65535). Support for * for the source port, + which depends on the direction. + :type remote_port: str + :param local_ip_address: Required. The local IP address. Acceptable values + are valid IPv4 addresses. + :type local_ip_address: str + :param remote_ip_address: Required. The remote IP address. Acceptable + values are valid IPv4 addresses. + :type remote_ip_address: str + :param target_nic_resource_id: The NIC ID. (If VM has multiple NICs and IP + forwarding is enabled on any of them, then this parameter must be + specified. Otherwise optional). + :type target_nic_resource_id: str + """ + + _validation = { + 'target_resource_id': {'required': True}, + 'direction': {'required': True}, + 'protocol': {'required': True}, + 'local_port': {'required': True}, + 'remote_port': {'required': True}, + 'local_ip_address': {'required': True}, + 'remote_ip_address': {'required': True}, + } + + _attribute_map = { + 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, + 'direction': {'key': 'direction', 'type': 'str'}, + 'protocol': {'key': 'protocol', 'type': 'str'}, + 'local_port': {'key': 'localPort', 'type': 'str'}, + 'remote_port': {'key': 'remotePort', 'type': 'str'}, + 'local_ip_address': {'key': 'localIPAddress', 'type': 'str'}, + 'remote_ip_address': {'key': 'remoteIPAddress', 'type': 'str'}, + 'target_nic_resource_id': {'key': 'targetNicResourceId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VerificationIPFlowParameters, self).__init__(**kwargs) + self.target_resource_id = kwargs.get('target_resource_id', None) + self.direction = kwargs.get('direction', None) + self.protocol = kwargs.get('protocol', None) + self.local_port = kwargs.get('local_port', None) + self.remote_port = kwargs.get('remote_port', None) + self.local_ip_address = kwargs.get('local_ip_address', None) + self.remote_ip_address = kwargs.get('remote_ip_address', None) + self.target_nic_resource_id = kwargs.get('target_nic_resource_id', None) + + +class VerificationIPFlowResult(Model): + """Results of IP flow verification on the target resource. + + :param access: Indicates whether the traffic is allowed or denied. + Possible values include: 'Allow', 'Deny' + :type access: str or ~azure.mgmt.network.v2020_05_01.models.Access + :param rule_name: Name of the rule. If input is not matched against any + security rule, it is not displayed. + :type rule_name: str + """ + + _attribute_map = { + 'access': {'key': 'access', 'type': 'str'}, + 'rule_name': {'key': 'ruleName', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VerificationIPFlowResult, self).__init__(**kwargs) + self.access = kwargs.get('access', None) + self.rule_name = kwargs.get('rule_name', None) + + +class VirtualApplianceNicProperties(Model): + """Network Virtual Appliance NIC properties. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name: NIC name. + :vartype name: str + :ivar public_ip_address: Public IP address. + :vartype public_ip_address: str + :ivar private_ip_address: Private IP address. + :vartype private_ip_address: str + """ + + _validation = { + 'name': {'readonly': True}, + 'public_ip_address': {'readonly': True}, + 'private_ip_address': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'public_ip_address': {'key': 'publicIpAddress', 'type': 'str'}, + 'private_ip_address': {'key': 'privateIpAddress', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VirtualApplianceNicProperties, self).__init__(**kwargs) + self.name = None + self.public_ip_address = None + self.private_ip_address = None + + +class VirtualApplianceSite(SubResource): + """Virtual Appliance Site resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param address_prefix: Address Prefix. + :type address_prefix: str + :param o365_policy: Office 365 Policy. + :type o365_policy: + ~azure.mgmt.network.v2020_05_01.models.Office365PolicyProperties + :ivar provisioning_state: The provisioning state of the resource. Possible + values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: Name of the virtual appliance site. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Site type. + :vartype type: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'address_prefix': {'key': 'properties.addressPrefix', 'type': 'str'}, + 'o365_policy': {'key': 'properties.o365Policy', 'type': 'Office365PolicyProperties'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VirtualApplianceSite, self).__init__(**kwargs) + self.address_prefix = kwargs.get('address_prefix', None) + self.o365_policy = kwargs.get('o365_policy', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = None + self.type = None + + +class VirtualApplianceSkuProperties(Model): + """Network Virtual Appliance Sku Properties. + + :param vendor: Virtual Appliance Vendor. + :type vendor: str + :param bundled_scale_unit: Virtual Appliance Scale Unit. + :type bundled_scale_unit: str + :param market_place_version: Virtual Appliance Version. + :type market_place_version: str + """ + + _attribute_map = { + 'vendor': {'key': 'vendor', 'type': 'str'}, + 'bundled_scale_unit': {'key': 'bundledScaleUnit', 'type': 'str'}, + 'market_place_version': {'key': 'marketPlaceVersion', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VirtualApplianceSkuProperties, self).__init__(**kwargs) + self.vendor = kwargs.get('vendor', None) + self.bundled_scale_unit = kwargs.get('bundled_scale_unit', None) + self.market_place_version = kwargs.get('market_place_version', None) + + +class VirtualHub(Resource): + """VirtualHub Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param virtual_wan: The VirtualWAN to which the VirtualHub belongs. + :type virtual_wan: ~azure.mgmt.network.v2020_05_01.models.SubResource + :param vpn_gateway: The VpnGateway associated with this VirtualHub. + :type vpn_gateway: ~azure.mgmt.network.v2020_05_01.models.SubResource + :param p2_svpn_gateway: The P2SVpnGateway associated with this VirtualHub. + :type p2_svpn_gateway: ~azure.mgmt.network.v2020_05_01.models.SubResource + :param express_route_gateway: The expressRouteGateway associated with this + VirtualHub. + :type express_route_gateway: + ~azure.mgmt.network.v2020_05_01.models.SubResource + :param azure_firewall: The azureFirewall associated with this VirtualHub. + :type azure_firewall: ~azure.mgmt.network.v2020_05_01.models.SubResource + :param security_partner_provider: The securityPartnerProvider associated + with this VirtualHub. + :type security_partner_provider: + ~azure.mgmt.network.v2020_05_01.models.SubResource + :param address_prefix: Address-prefix for this VirtualHub. + :type address_prefix: str + :param route_table: The routeTable associated with this virtual hub. + :type route_table: + ~azure.mgmt.network.v2020_05_01.models.VirtualHubRouteTable + :ivar provisioning_state: The provisioning state of the virtual hub + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param security_provider_name: The Security Provider name. + :type security_provider_name: str + :param virtual_hub_route_table_v2s: List of all virtual hub route table + v2s associated with this VirtualHub. + :type virtual_hub_route_table_v2s: + list[~azure.mgmt.network.v2020_05_01.models.VirtualHubRouteTableV2] + :param sku: The sku of this VirtualHub. + :type sku: str + :param routing_state: The routing state. Possible values include: 'None', + 'Provisioned', 'Provisioning', 'Failed' + :type routing_state: str or + ~azure.mgmt.network.v2020_05_01.models.RoutingState + :ivar bgp_connections: List of references to Bgp Connections. + :vartype bgp_connections: + list[~azure.mgmt.network.v2020_05_01.models.SubResource] + :ivar ip_configurations: List of references to IpConfigurations. + :vartype ip_configurations: + list[~azure.mgmt.network.v2020_05_01.models.SubResource] + :param virtual_router_asn: VirtualRouter ASN. + :type virtual_router_asn: long + :param virtual_router_ips: VirtualRouter IPs. + :type virtual_router_ips: list[str] + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'bgp_connections': {'readonly': True}, + 'ip_configurations': {'readonly': True}, + 'virtual_router_asn': {'maximum': 4294967295, 'minimum': 0}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'virtual_wan': {'key': 'properties.virtualWan', 'type': 'SubResource'}, + 'vpn_gateway': {'key': 'properties.vpnGateway', 'type': 'SubResource'}, + 'p2_svpn_gateway': {'key': 'properties.p2SVpnGateway', 'type': 'SubResource'}, + 'express_route_gateway': {'key': 'properties.expressRouteGateway', 'type': 'SubResource'}, + 'azure_firewall': {'key': 'properties.azureFirewall', 'type': 'SubResource'}, + 'security_partner_provider': {'key': 'properties.securityPartnerProvider', 'type': 'SubResource'}, + 'address_prefix': {'key': 'properties.addressPrefix', 'type': 'str'}, + 'route_table': {'key': 'properties.routeTable', 'type': 'VirtualHubRouteTable'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'security_provider_name': {'key': 'properties.securityProviderName', 'type': 'str'}, + 'virtual_hub_route_table_v2s': {'key': 'properties.virtualHubRouteTableV2s', 'type': '[VirtualHubRouteTableV2]'}, + 'sku': {'key': 'properties.sku', 'type': 'str'}, + 'routing_state': {'key': 'properties.routingState', 'type': 'str'}, + 'bgp_connections': {'key': 'properties.bgpConnections', 'type': '[SubResource]'}, + 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[SubResource]'}, + 'virtual_router_asn': {'key': 'properties.virtualRouterAsn', 'type': 'long'}, + 'virtual_router_ips': {'key': 'properties.virtualRouterIps', 'type': '[str]'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VirtualHub, self).__init__(**kwargs) + self.virtual_wan = kwargs.get('virtual_wan', None) + self.vpn_gateway = kwargs.get('vpn_gateway', None) + self.p2_svpn_gateway = kwargs.get('p2_svpn_gateway', None) + self.express_route_gateway = kwargs.get('express_route_gateway', None) + self.azure_firewall = kwargs.get('azure_firewall', None) + self.security_partner_provider = kwargs.get('security_partner_provider', None) + self.address_prefix = kwargs.get('address_prefix', None) + self.route_table = kwargs.get('route_table', None) + self.provisioning_state = None + self.security_provider_name = kwargs.get('security_provider_name', None) + self.virtual_hub_route_table_v2s = kwargs.get('virtual_hub_route_table_v2s', None) + self.sku = kwargs.get('sku', None) + self.routing_state = kwargs.get('routing_state', None) + self.bgp_connections = None + self.ip_configurations = None + self.virtual_router_asn = kwargs.get('virtual_router_asn', None) + self.virtual_router_ips = kwargs.get('virtual_router_ips', None) + self.etag = None + + +class VirtualHubEffectiveRoute(Model): + """The effective route configured on the virtual hub or specified resource. + + :param address_prefixes: The list of address prefixes. + :type address_prefixes: list[str] + :param next_hops: The list of next hops. + :type next_hops: list[str] + :param next_hop_type: The type of the next hop. + :type next_hop_type: str + :param as_path: The ASPath of this route. + :type as_path: str + :param route_origin: The origin of this route. + :type route_origin: str + """ + + _attribute_map = { + 'address_prefixes': {'key': 'addressPrefixes', 'type': '[str]'}, + 'next_hops': {'key': 'nextHops', 'type': '[str]'}, + 'next_hop_type': {'key': 'nextHopType', 'type': 'str'}, + 'as_path': {'key': 'asPath', 'type': 'str'}, + 'route_origin': {'key': 'routeOrigin', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VirtualHubEffectiveRoute, self).__init__(**kwargs) + self.address_prefixes = kwargs.get('address_prefixes', None) + self.next_hops = kwargs.get('next_hops', None) + self.next_hop_type = kwargs.get('next_hop_type', None) + self.as_path = kwargs.get('as_path', None) + self.route_origin = kwargs.get('route_origin', None) + + +class VirtualHubEffectiveRouteEffectiveRouteList(Model): + """EffectiveRoutes List. + + :param value: The list of effective routes configured on the virtual hub + or the specified resource. + :type value: + list[~azure.mgmt.network.v2020_05_01.models.VirtualHubEffectiveRoute] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[VirtualHubEffectiveRoute]'}, + } + + def __init__(self, **kwargs): + super(VirtualHubEffectiveRouteEffectiveRouteList, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + + +class VirtualHubId(Model): + """Virtual Hub identifier. + + :param id: The resource URI for the Virtual Hub where the ExpressRoute + gateway is or will be deployed. The Virtual Hub resource and the + ExpressRoute gateway resource reside in the same subscription. + :type id: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VirtualHubId, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + + +class VirtualHubRoute(Model): + """VirtualHub route. + + :param address_prefixes: List of all addressPrefixes. + :type address_prefixes: list[str] + :param next_hop_ip_address: NextHop ip address. + :type next_hop_ip_address: str + """ + + _attribute_map = { + 'address_prefixes': {'key': 'addressPrefixes', 'type': '[str]'}, + 'next_hop_ip_address': {'key': 'nextHopIpAddress', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VirtualHubRoute, self).__init__(**kwargs) + self.address_prefixes = kwargs.get('address_prefixes', None) + self.next_hop_ip_address = kwargs.get('next_hop_ip_address', None) + + +class VirtualHubRouteTable(Model): + """VirtualHub route table. + + :param routes: List of all routes. + :type routes: list[~azure.mgmt.network.v2020_05_01.models.VirtualHubRoute] + """ + + _attribute_map = { + 'routes': {'key': 'routes', 'type': '[VirtualHubRoute]'}, + } + + def __init__(self, **kwargs): + super(VirtualHubRouteTable, self).__init__(**kwargs) + self.routes = kwargs.get('routes', None) + + +class VirtualHubRouteTableV2(SubResource): + """VirtualHubRouteTableV2 Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param routes: List of all routes. + :type routes: + list[~azure.mgmt.network.v2020_05_01.models.VirtualHubRouteV2] + :param attached_connections: List of all connections attached to this + route table v2. + :type attached_connections: list[str] + :ivar provisioning_state: The provisioning state of the virtual hub route + table v2 resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'routes': {'key': 'properties.routes', 'type': '[VirtualHubRouteV2]'}, + 'attached_connections': {'key': 'properties.attachedConnections', 'type': '[str]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VirtualHubRouteTableV2, self).__init__(**kwargs) + self.routes = kwargs.get('routes', None) + self.attached_connections = kwargs.get('attached_connections', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = None + + +class VirtualHubRouteV2(Model): + """VirtualHubRouteTableV2 route. + + :param destination_type: The type of destinations. + :type destination_type: str + :param destinations: List of all destinations. + :type destinations: list[str] + :param next_hop_type: The type of next hops. + :type next_hop_type: str + :param next_hops: NextHops ip address. + :type next_hops: list[str] + """ + + _attribute_map = { + 'destination_type': {'key': 'destinationType', 'type': 'str'}, + 'destinations': {'key': 'destinations', 'type': '[str]'}, + 'next_hop_type': {'key': 'nextHopType', 'type': 'str'}, + 'next_hops': {'key': 'nextHops', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(VirtualHubRouteV2, self).__init__(**kwargs) + self.destination_type = kwargs.get('destination_type', None) + self.destinations = kwargs.get('destinations', None) + self.next_hop_type = kwargs.get('next_hop_type', None) + self.next_hops = kwargs.get('next_hops', None) + + +class VirtualNetwork(Resource): + """Virtual Network resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param address_space: The AddressSpace that contains an array of IP + address ranges that can be used by subnets. + :type address_space: ~azure.mgmt.network.v2020_05_01.models.AddressSpace + :param dhcp_options: The dhcpOptions that contains an array of DNS servers + available to VMs deployed in the virtual network. + :type dhcp_options: ~azure.mgmt.network.v2020_05_01.models.DhcpOptions + :param subnets: A list of subnets in a Virtual Network. + :type subnets: list[~azure.mgmt.network.v2020_05_01.models.Subnet] + :param virtual_network_peerings: A list of peerings in a Virtual Network. + :type virtual_network_peerings: + list[~azure.mgmt.network.v2020_05_01.models.VirtualNetworkPeering] + :ivar resource_guid: The resourceGuid property of the Virtual Network + resource. + :vartype resource_guid: str + :ivar provisioning_state: The provisioning state of the virtual network + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param enable_ddos_protection: Indicates if DDoS protection is enabled for + all the protected resources in the virtual network. It requires a DDoS + protection plan associated with the resource. Default value: False . + :type enable_ddos_protection: bool + :param enable_vm_protection: Indicates if VM protection is enabled for all + the subnets in the virtual network. Default value: False . + :type enable_vm_protection: bool + :param ddos_protection_plan: The DDoS protection plan associated with the + virtual network. + :type ddos_protection_plan: + ~azure.mgmt.network.v2020_05_01.models.SubResource + :param bgp_communities: Bgp Communities sent over ExpressRoute with each + route corresponding to a prefix in this VNET. + :type bgp_communities: + ~azure.mgmt.network.v2020_05_01.models.VirtualNetworkBgpCommunities + :param ip_allocations: Array of IpAllocation which reference this VNET. + :type ip_allocations: + list[~azure.mgmt.network.v2020_05_01.models.SubResource] + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'resource_guid': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'address_space': {'key': 'properties.addressSpace', 'type': 'AddressSpace'}, + 'dhcp_options': {'key': 'properties.dhcpOptions', 'type': 'DhcpOptions'}, + 'subnets': {'key': 'properties.subnets', 'type': '[Subnet]'}, + 'virtual_network_peerings': {'key': 'properties.virtualNetworkPeerings', 'type': '[VirtualNetworkPeering]'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'enable_ddos_protection': {'key': 'properties.enableDdosProtection', 'type': 'bool'}, + 'enable_vm_protection': {'key': 'properties.enableVmProtection', 'type': 'bool'}, + 'ddos_protection_plan': {'key': 'properties.ddosProtectionPlan', 'type': 'SubResource'}, + 'bgp_communities': {'key': 'properties.bgpCommunities', 'type': 'VirtualNetworkBgpCommunities'}, + 'ip_allocations': {'key': 'properties.ipAllocations', 'type': '[SubResource]'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VirtualNetwork, self).__init__(**kwargs) + self.address_space = kwargs.get('address_space', None) + self.dhcp_options = kwargs.get('dhcp_options', None) + self.subnets = kwargs.get('subnets', None) + self.virtual_network_peerings = kwargs.get('virtual_network_peerings', None) + self.resource_guid = None + self.provisioning_state = None + self.enable_ddos_protection = kwargs.get('enable_ddos_protection', False) + self.enable_vm_protection = kwargs.get('enable_vm_protection', False) + self.ddos_protection_plan = kwargs.get('ddos_protection_plan', None) + self.bgp_communities = kwargs.get('bgp_communities', None) + self.ip_allocations = kwargs.get('ip_allocations', None) + self.etag = None + + +class VirtualNetworkBgpCommunities(Model): + """Bgp Communities sent over ExpressRoute with each route corresponding to a + prefix in this VNET. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param virtual_network_community: Required. The BGP community associated + with the virtual network. + :type virtual_network_community: str + :ivar regional_community: The BGP community associated with the region of + the virtual network. + :vartype regional_community: str + """ + + _validation = { + 'virtual_network_community': {'required': True}, + 'regional_community': {'readonly': True}, + } + + _attribute_map = { + 'virtual_network_community': {'key': 'virtualNetworkCommunity', 'type': 'str'}, + 'regional_community': {'key': 'regionalCommunity', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VirtualNetworkBgpCommunities, self).__init__(**kwargs) + self.virtual_network_community = kwargs.get('virtual_network_community', None) + self.regional_community = None + + +class VirtualNetworkConnectionGatewayReference(Model): + """A reference to VirtualNetworkGateway or LocalNetworkGateway resource. + + All required parameters must be populated in order to send to Azure. + + :param id: Required. The ID of VirtualNetworkGateway or + LocalNetworkGateway resource. + :type id: str + """ + + _validation = { + 'id': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VirtualNetworkConnectionGatewayReference, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + + +class VirtualNetworkGateway(Resource): + """A common class for general resource information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param ip_configurations: IP configurations for virtual network gateway. + :type ip_configurations: + list[~azure.mgmt.network.v2020_05_01.models.VirtualNetworkGatewayIPConfiguration] + :param gateway_type: The type of this virtual network gateway. Possible + values include: 'Vpn', 'ExpressRoute' + :type gateway_type: str or + ~azure.mgmt.network.v2020_05_01.models.VirtualNetworkGatewayType + :param vpn_type: The type of this virtual network gateway. Possible values + include: 'PolicyBased', 'RouteBased' + :type vpn_type: str or ~azure.mgmt.network.v2020_05_01.models.VpnType + :param vpn_gateway_generation: The generation for this + VirtualNetworkGateway. Must be None if gatewayType is not VPN. Possible + values include: 'None', 'Generation1', 'Generation2' + :type vpn_gateway_generation: str or + ~azure.mgmt.network.v2020_05_01.models.VpnGatewayGeneration + :param enable_bgp: Whether BGP is enabled for this virtual network gateway + or not. + :type enable_bgp: bool + :param enable_private_ip_address: Whether private IP needs to be enabled + on this gateway for connections or not. + :type enable_private_ip_address: bool + :param active_active: ActiveActive flag. + :type active_active: bool + :param gateway_default_site: The reference to the LocalNetworkGateway + resource which represents local network site having default routes. Assign + Null value in case of removing existing default site setting. + :type gateway_default_site: + ~azure.mgmt.network.v2020_05_01.models.SubResource + :param sku: The reference to the VirtualNetworkGatewaySku resource which + represents the SKU selected for Virtual network gateway. + :type sku: ~azure.mgmt.network.v2020_05_01.models.VirtualNetworkGatewaySku + :param vpn_client_configuration: The reference to the + VpnClientConfiguration resource which represents the P2S VpnClient + configurations. + :type vpn_client_configuration: + ~azure.mgmt.network.v2020_05_01.models.VpnClientConfiguration + :param bgp_settings: Virtual network gateway's BGP speaker settings. + :type bgp_settings: ~azure.mgmt.network.v2020_05_01.models.BgpSettings + :param custom_routes: The reference to the address space resource which + represents the custom routes address space specified by the customer for + virtual network gateway and VpnClient. + :type custom_routes: ~azure.mgmt.network.v2020_05_01.models.AddressSpace + :ivar resource_guid: The resource GUID property of the virtual network + gateway resource. + :vartype resource_guid: str + :ivar provisioning_state: The provisioning state of the virtual network + gateway resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param enable_dns_forwarding: Whether dns forwarding is enabled or not. + :type enable_dns_forwarding: bool + :ivar inbound_dns_forwarding_endpoint: The IP address allocated by the + gateway to which dns requests can be sent. + :vartype inbound_dns_forwarding_endpoint: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'resource_guid': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'inbound_dns_forwarding_endpoint': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[VirtualNetworkGatewayIPConfiguration]'}, + 'gateway_type': {'key': 'properties.gatewayType', 'type': 'str'}, + 'vpn_type': {'key': 'properties.vpnType', 'type': 'str'}, + 'vpn_gateway_generation': {'key': 'properties.vpnGatewayGeneration', 'type': 'str'}, + 'enable_bgp': {'key': 'properties.enableBgp', 'type': 'bool'}, + 'enable_private_ip_address': {'key': 'properties.enablePrivateIpAddress', 'type': 'bool'}, + 'active_active': {'key': 'properties.activeActive', 'type': 'bool'}, + 'gateway_default_site': {'key': 'properties.gatewayDefaultSite', 'type': 'SubResource'}, + 'sku': {'key': 'properties.sku', 'type': 'VirtualNetworkGatewaySku'}, + 'vpn_client_configuration': {'key': 'properties.vpnClientConfiguration', 'type': 'VpnClientConfiguration'}, + 'bgp_settings': {'key': 'properties.bgpSettings', 'type': 'BgpSettings'}, + 'custom_routes': {'key': 'properties.customRoutes', 'type': 'AddressSpace'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'enable_dns_forwarding': {'key': 'properties.enableDnsForwarding', 'type': 'bool'}, + 'inbound_dns_forwarding_endpoint': {'key': 'properties.inboundDnsForwardingEndpoint', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VirtualNetworkGateway, self).__init__(**kwargs) + self.ip_configurations = kwargs.get('ip_configurations', None) + self.gateway_type = kwargs.get('gateway_type', None) + self.vpn_type = kwargs.get('vpn_type', None) + self.vpn_gateway_generation = kwargs.get('vpn_gateway_generation', None) + self.enable_bgp = kwargs.get('enable_bgp', None) + self.enable_private_ip_address = kwargs.get('enable_private_ip_address', None) + self.active_active = kwargs.get('active_active', None) + self.gateway_default_site = kwargs.get('gateway_default_site', None) + self.sku = kwargs.get('sku', None) + self.vpn_client_configuration = kwargs.get('vpn_client_configuration', None) + self.bgp_settings = kwargs.get('bgp_settings', None) + self.custom_routes = kwargs.get('custom_routes', None) + self.resource_guid = None + self.provisioning_state = None + self.enable_dns_forwarding = kwargs.get('enable_dns_forwarding', None) + self.inbound_dns_forwarding_endpoint = None + self.etag = None + + +class VirtualNetworkGatewayConnection(Resource): + """A common class for general resource information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param authorization_key: The authorizationKey. + :type authorization_key: str + :param virtual_network_gateway1: Required. The reference to virtual + network gateway resource. + :type virtual_network_gateway1: + ~azure.mgmt.network.v2020_05_01.models.VirtualNetworkGateway + :param virtual_network_gateway2: The reference to virtual network gateway + resource. + :type virtual_network_gateway2: + ~azure.mgmt.network.v2020_05_01.models.VirtualNetworkGateway + :param local_network_gateway2: The reference to local network gateway + resource. + :type local_network_gateway2: + ~azure.mgmt.network.v2020_05_01.models.LocalNetworkGateway + :param connection_type: Required. Gateway connection type. Possible values + include: 'IPsec', 'Vnet2Vnet', 'ExpressRoute', 'VPNClient' + :type connection_type: str or + ~azure.mgmt.network.v2020_05_01.models.VirtualNetworkGatewayConnectionType + :param connection_protocol: Connection protocol used for this connection. + Possible values include: 'IKEv2', 'IKEv1' + :type connection_protocol: str or + ~azure.mgmt.network.v2020_05_01.models.VirtualNetworkGatewayConnectionProtocol + :param routing_weight: The routing weight. + :type routing_weight: int + :param dpd_timeout_seconds: The dead peer detection timeout of this + connection in seconds. + :type dpd_timeout_seconds: int + :param shared_key: The IPSec shared key. + :type shared_key: str + :ivar connection_status: Virtual Network Gateway connection status. + Possible values include: 'Unknown', 'Connecting', 'Connected', + 'NotConnected' + :vartype connection_status: str or + ~azure.mgmt.network.v2020_05_01.models.VirtualNetworkGatewayConnectionStatus + :ivar tunnel_connection_status: Collection of all tunnels' connection + health status. + :vartype tunnel_connection_status: + list[~azure.mgmt.network.v2020_05_01.models.TunnelConnectionHealth] + :ivar egress_bytes_transferred: The egress bytes transferred in this + connection. + :vartype egress_bytes_transferred: long + :ivar ingress_bytes_transferred: The ingress bytes transferred in this + connection. + :vartype ingress_bytes_transferred: long + :param peer: The reference to peerings resource. + :type peer: ~azure.mgmt.network.v2020_05_01.models.SubResource + :param enable_bgp: EnableBgp flag. + :type enable_bgp: bool + :param use_local_azure_ip_address: Use private local Azure IP for the + connection. + :type use_local_azure_ip_address: bool + :param use_policy_based_traffic_selectors: Enable policy-based traffic + selectors. + :type use_policy_based_traffic_selectors: bool + :param ipsec_policies: The IPSec Policies to be considered by this + connection. + :type ipsec_policies: + list[~azure.mgmt.network.v2020_05_01.models.IpsecPolicy] + :param traffic_selector_policies: The Traffic Selector Policies to be + considered by this connection. + :type traffic_selector_policies: + list[~azure.mgmt.network.v2020_05_01.models.TrafficSelectorPolicy] + :ivar resource_guid: The resource GUID property of the virtual network + gateway connection resource. + :vartype resource_guid: str + :ivar provisioning_state: The provisioning state of the virtual network + gateway connection resource. Possible values include: 'Succeeded', + 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param express_route_gateway_bypass: Bypass ExpressRoute Gateway for data + forwarding. + :type express_route_gateway_bypass: bool + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'virtual_network_gateway1': {'required': True}, + 'connection_type': {'required': True}, + 'connection_status': {'readonly': True}, + 'tunnel_connection_status': {'readonly': True}, + 'egress_bytes_transferred': {'readonly': True}, + 'ingress_bytes_transferred': {'readonly': True}, + 'resource_guid': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'authorization_key': {'key': 'properties.authorizationKey', 'type': 'str'}, + 'virtual_network_gateway1': {'key': 'properties.virtualNetworkGateway1', 'type': 'VirtualNetworkGateway'}, + 'virtual_network_gateway2': {'key': 'properties.virtualNetworkGateway2', 'type': 'VirtualNetworkGateway'}, + 'local_network_gateway2': {'key': 'properties.localNetworkGateway2', 'type': 'LocalNetworkGateway'}, + 'connection_type': {'key': 'properties.connectionType', 'type': 'str'}, + 'connection_protocol': {'key': 'properties.connectionProtocol', 'type': 'str'}, + 'routing_weight': {'key': 'properties.routingWeight', 'type': 'int'}, + 'dpd_timeout_seconds': {'key': 'properties.dpdTimeoutSeconds', 'type': 'int'}, + 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, + 'connection_status': {'key': 'properties.connectionStatus', 'type': 'str'}, + 'tunnel_connection_status': {'key': 'properties.tunnelConnectionStatus', 'type': '[TunnelConnectionHealth]'}, + 'egress_bytes_transferred': {'key': 'properties.egressBytesTransferred', 'type': 'long'}, + 'ingress_bytes_transferred': {'key': 'properties.ingressBytesTransferred', 'type': 'long'}, + 'peer': {'key': 'properties.peer', 'type': 'SubResource'}, + 'enable_bgp': {'key': 'properties.enableBgp', 'type': 'bool'}, + 'use_local_azure_ip_address': {'key': 'properties.useLocalAzureIpAddress', 'type': 'bool'}, + 'use_policy_based_traffic_selectors': {'key': 'properties.usePolicyBasedTrafficSelectors', 'type': 'bool'}, + 'ipsec_policies': {'key': 'properties.ipsecPolicies', 'type': '[IpsecPolicy]'}, + 'traffic_selector_policies': {'key': 'properties.trafficSelectorPolicies', 'type': '[TrafficSelectorPolicy]'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'express_route_gateway_bypass': {'key': 'properties.expressRouteGatewayBypass', 'type': 'bool'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VirtualNetworkGatewayConnection, self).__init__(**kwargs) + self.authorization_key = kwargs.get('authorization_key', None) + self.virtual_network_gateway1 = kwargs.get('virtual_network_gateway1', None) + self.virtual_network_gateway2 = kwargs.get('virtual_network_gateway2', None) + self.local_network_gateway2 = kwargs.get('local_network_gateway2', None) + self.connection_type = kwargs.get('connection_type', None) + self.connection_protocol = kwargs.get('connection_protocol', None) + self.routing_weight = kwargs.get('routing_weight', None) + self.dpd_timeout_seconds = kwargs.get('dpd_timeout_seconds', None) + self.shared_key = kwargs.get('shared_key', None) + self.connection_status = None + self.tunnel_connection_status = None + self.egress_bytes_transferred = None + self.ingress_bytes_transferred = None + self.peer = kwargs.get('peer', None) + self.enable_bgp = kwargs.get('enable_bgp', None) + self.use_local_azure_ip_address = kwargs.get('use_local_azure_ip_address', None) + self.use_policy_based_traffic_selectors = kwargs.get('use_policy_based_traffic_selectors', None) + self.ipsec_policies = kwargs.get('ipsec_policies', None) + self.traffic_selector_policies = kwargs.get('traffic_selector_policies', None) + self.resource_guid = None + self.provisioning_state = None + self.express_route_gateway_bypass = kwargs.get('express_route_gateway_bypass', None) + self.etag = None + + +class VirtualNetworkGatewayConnectionListEntity(Resource): + """A common class for general resource information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param authorization_key: The authorizationKey. + :type authorization_key: str + :param virtual_network_gateway1: Required. The reference to virtual + network gateway resource. + :type virtual_network_gateway1: + ~azure.mgmt.network.v2020_05_01.models.VirtualNetworkConnectionGatewayReference + :param virtual_network_gateway2: The reference to virtual network gateway + resource. + :type virtual_network_gateway2: + ~azure.mgmt.network.v2020_05_01.models.VirtualNetworkConnectionGatewayReference + :param local_network_gateway2: The reference to local network gateway + resource. + :type local_network_gateway2: + ~azure.mgmt.network.v2020_05_01.models.VirtualNetworkConnectionGatewayReference + :param connection_type: Required. Gateway connection type. Possible values + include: 'IPsec', 'Vnet2Vnet', 'ExpressRoute', 'VPNClient' + :type connection_type: str or + ~azure.mgmt.network.v2020_05_01.models.VirtualNetworkGatewayConnectionType + :param connection_protocol: Connection protocol used for this connection. + Possible values include: 'IKEv2', 'IKEv1' + :type connection_protocol: str or + ~azure.mgmt.network.v2020_05_01.models.VirtualNetworkGatewayConnectionProtocol + :param routing_weight: The routing weight. + :type routing_weight: int + :param shared_key: The IPSec shared key. + :type shared_key: str + :ivar connection_status: Virtual Network Gateway connection status. + Possible values include: 'Unknown', 'Connecting', 'Connected', + 'NotConnected' + :vartype connection_status: str or + ~azure.mgmt.network.v2020_05_01.models.VirtualNetworkGatewayConnectionStatus + :ivar tunnel_connection_status: Collection of all tunnels' connection + health status. + :vartype tunnel_connection_status: + list[~azure.mgmt.network.v2020_05_01.models.TunnelConnectionHealth] + :ivar egress_bytes_transferred: The egress bytes transferred in this + connection. + :vartype egress_bytes_transferred: long + :ivar ingress_bytes_transferred: The ingress bytes transferred in this + connection. + :vartype ingress_bytes_transferred: long + :param peer: The reference to peerings resource. + :type peer: ~azure.mgmt.network.v2020_05_01.models.SubResource + :param enable_bgp: EnableBgp flag. + :type enable_bgp: bool + :param use_policy_based_traffic_selectors: Enable policy-based traffic + selectors. + :type use_policy_based_traffic_selectors: bool + :param ipsec_policies: The IPSec Policies to be considered by this + connection. + :type ipsec_policies: + list[~azure.mgmt.network.v2020_05_01.models.IpsecPolicy] + :param traffic_selector_policies: The Traffic Selector Policies to be + considered by this connection. + :type traffic_selector_policies: + list[~azure.mgmt.network.v2020_05_01.models.TrafficSelectorPolicy] + :ivar resource_guid: The resource GUID property of the virtual network + gateway connection resource. + :vartype resource_guid: str + :ivar provisioning_state: The provisioning state of the virtual network + gateway connection resource. Possible values include: 'Succeeded', + 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param express_route_gateway_bypass: Bypass ExpressRoute Gateway for data + forwarding. + :type express_route_gateway_bypass: bool + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'virtual_network_gateway1': {'required': True}, + 'connection_type': {'required': True}, + 'connection_status': {'readonly': True}, + 'tunnel_connection_status': {'readonly': True}, + 'egress_bytes_transferred': {'readonly': True}, + 'ingress_bytes_transferred': {'readonly': True}, + 'resource_guid': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'authorization_key': {'key': 'properties.authorizationKey', 'type': 'str'}, + 'virtual_network_gateway1': {'key': 'properties.virtualNetworkGateway1', 'type': 'VirtualNetworkConnectionGatewayReference'}, + 'virtual_network_gateway2': {'key': 'properties.virtualNetworkGateway2', 'type': 'VirtualNetworkConnectionGatewayReference'}, + 'local_network_gateway2': {'key': 'properties.localNetworkGateway2', 'type': 'VirtualNetworkConnectionGatewayReference'}, + 'connection_type': {'key': 'properties.connectionType', 'type': 'str'}, + 'connection_protocol': {'key': 'properties.connectionProtocol', 'type': 'str'}, + 'routing_weight': {'key': 'properties.routingWeight', 'type': 'int'}, + 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, + 'connection_status': {'key': 'properties.connectionStatus', 'type': 'str'}, + 'tunnel_connection_status': {'key': 'properties.tunnelConnectionStatus', 'type': '[TunnelConnectionHealth]'}, + 'egress_bytes_transferred': {'key': 'properties.egressBytesTransferred', 'type': 'long'}, + 'ingress_bytes_transferred': {'key': 'properties.ingressBytesTransferred', 'type': 'long'}, + 'peer': {'key': 'properties.peer', 'type': 'SubResource'}, + 'enable_bgp': {'key': 'properties.enableBgp', 'type': 'bool'}, + 'use_policy_based_traffic_selectors': {'key': 'properties.usePolicyBasedTrafficSelectors', 'type': 'bool'}, + 'ipsec_policies': {'key': 'properties.ipsecPolicies', 'type': '[IpsecPolicy]'}, + 'traffic_selector_policies': {'key': 'properties.trafficSelectorPolicies', 'type': '[TrafficSelectorPolicy]'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'express_route_gateway_bypass': {'key': 'properties.expressRouteGatewayBypass', 'type': 'bool'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VirtualNetworkGatewayConnectionListEntity, self).__init__(**kwargs) + self.authorization_key = kwargs.get('authorization_key', None) + self.virtual_network_gateway1 = kwargs.get('virtual_network_gateway1', None) + self.virtual_network_gateway2 = kwargs.get('virtual_network_gateway2', None) + self.local_network_gateway2 = kwargs.get('local_network_gateway2', None) + self.connection_type = kwargs.get('connection_type', None) + self.connection_protocol = kwargs.get('connection_protocol', None) + self.routing_weight = kwargs.get('routing_weight', None) + self.shared_key = kwargs.get('shared_key', None) + self.connection_status = None + self.tunnel_connection_status = None + self.egress_bytes_transferred = None + self.ingress_bytes_transferred = None + self.peer = kwargs.get('peer', None) + self.enable_bgp = kwargs.get('enable_bgp', None) + self.use_policy_based_traffic_selectors = kwargs.get('use_policy_based_traffic_selectors', None) + self.ipsec_policies = kwargs.get('ipsec_policies', None) + self.traffic_selector_policies = kwargs.get('traffic_selector_policies', None) + self.resource_guid = None + self.provisioning_state = None + self.express_route_gateway_bypass = kwargs.get('express_route_gateway_bypass', None) + self.etag = None + + +class VirtualNetworkGatewayIPConfiguration(SubResource): + """IP configuration for virtual network gateway. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param private_ip_allocation_method: The private IP address allocation + method. Possible values include: 'Static', 'Dynamic' + :type private_ip_allocation_method: str or + ~azure.mgmt.network.v2020_05_01.models.IPAllocationMethod + :param subnet: The reference to the subnet resource. + :type subnet: ~azure.mgmt.network.v2020_05_01.models.SubResource + :param public_ip_address: The reference to the public IP resource. + :type public_ip_address: + ~azure.mgmt.network.v2020_05_01.models.SubResource + :ivar private_ip_address: Private IP Address for this gateway. + :vartype private_ip_address: str + :ivar provisioning_state: The provisioning state of the virtual network + gateway IP configuration resource. Possible values include: 'Succeeded', + 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'private_ip_address': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, + 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, + 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'SubResource'}, + 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VirtualNetworkGatewayIPConfiguration, self).__init__(**kwargs) + self.private_ip_allocation_method = kwargs.get('private_ip_allocation_method', None) + self.subnet = kwargs.get('subnet', None) + self.public_ip_address = kwargs.get('public_ip_address', None) + self.private_ip_address = None + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = None + + +class VirtualNetworkGatewaySku(Model): + """VirtualNetworkGatewaySku details. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param name: Gateway SKU name. Possible values include: 'Basic', + 'HighPerformance', 'Standard', 'UltraPerformance', 'VpnGw1', 'VpnGw2', + 'VpnGw3', 'VpnGw4', 'VpnGw5', 'VpnGw1AZ', 'VpnGw2AZ', 'VpnGw3AZ', + 'VpnGw4AZ', 'VpnGw5AZ', 'ErGw1AZ', 'ErGw2AZ', 'ErGw3AZ' + :type name: str or + ~azure.mgmt.network.v2020_05_01.models.VirtualNetworkGatewaySkuName + :param tier: Gateway SKU tier. Possible values include: 'Basic', + 'HighPerformance', 'Standard', 'UltraPerformance', 'VpnGw1', 'VpnGw2', + 'VpnGw3', 'VpnGw4', 'VpnGw5', 'VpnGw1AZ', 'VpnGw2AZ', 'VpnGw3AZ', + 'VpnGw4AZ', 'VpnGw5AZ', 'ErGw1AZ', 'ErGw2AZ', 'ErGw3AZ' + :type tier: str or + ~azure.mgmt.network.v2020_05_01.models.VirtualNetworkGatewaySkuTier + :ivar capacity: The capacity. + :vartype capacity: int + """ + + _validation = { + 'capacity': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + 'capacity': {'key': 'capacity', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(VirtualNetworkGatewaySku, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.tier = kwargs.get('tier', None) + self.capacity = None + + +class VirtualNetworkPeering(SubResource): + """Peerings in a virtual network resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param allow_virtual_network_access: Whether the VMs in the local virtual + network space would be able to access the VMs in remote virtual network + space. + :type allow_virtual_network_access: bool + :param allow_forwarded_traffic: Whether the forwarded traffic from the VMs + in the local virtual network will be allowed/disallowed in remote virtual + network. + :type allow_forwarded_traffic: bool + :param allow_gateway_transit: If gateway links can be used in remote + virtual networking to link to this virtual network. + :type allow_gateway_transit: bool + :param use_remote_gateways: If remote gateways can be used on this virtual + network. If the flag is set to true, and allowGatewayTransit on remote + peering is also true, virtual network will use gateways of remote virtual + network for transit. Only one peering can have this flag set to true. This + flag cannot be set if virtual network already has a gateway. + :type use_remote_gateways: bool + :param remote_virtual_network: The reference to the remote virtual + network. The remote virtual network can be in the same or different region + (preview). See here to register for the preview and learn more + (https://docs.microsoft.com/en-us/azure/virtual-network/virtual-network-create-peering). + :type remote_virtual_network: + ~azure.mgmt.network.v2020_05_01.models.SubResource + :param remote_address_space: The reference to the remote virtual network + address space. + :type remote_address_space: + ~azure.mgmt.network.v2020_05_01.models.AddressSpace + :param peering_state: The status of the virtual network peering. Possible + values include: 'Initiated', 'Connected', 'Disconnected' + :type peering_state: str or + ~azure.mgmt.network.v2020_05_01.models.VirtualNetworkPeeringState + :ivar provisioning_state: The provisioning state of the virtual network + peering resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'allow_virtual_network_access': {'key': 'properties.allowVirtualNetworkAccess', 'type': 'bool'}, + 'allow_forwarded_traffic': {'key': 'properties.allowForwardedTraffic', 'type': 'bool'}, + 'allow_gateway_transit': {'key': 'properties.allowGatewayTransit', 'type': 'bool'}, + 'use_remote_gateways': {'key': 'properties.useRemoteGateways', 'type': 'bool'}, + 'remote_virtual_network': {'key': 'properties.remoteVirtualNetwork', 'type': 'SubResource'}, + 'remote_address_space': {'key': 'properties.remoteAddressSpace', 'type': 'AddressSpace'}, + 'peering_state': {'key': 'properties.peeringState', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VirtualNetworkPeering, self).__init__(**kwargs) + self.allow_virtual_network_access = kwargs.get('allow_virtual_network_access', None) + self.allow_forwarded_traffic = kwargs.get('allow_forwarded_traffic', None) + self.allow_gateway_transit = kwargs.get('allow_gateway_transit', None) + self.use_remote_gateways = kwargs.get('use_remote_gateways', None) + self.remote_virtual_network = kwargs.get('remote_virtual_network', None) + self.remote_address_space = kwargs.get('remote_address_space', None) + self.peering_state = kwargs.get('peering_state', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = None + + +class VirtualNetworkTap(Resource): + """Virtual Network Tap resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar network_interface_tap_configurations: Specifies the list of resource + IDs for the network interface IP configuration that needs to be tapped. + :vartype network_interface_tap_configurations: + list[~azure.mgmt.network.v2020_05_01.models.NetworkInterfaceTapConfiguration] + :ivar resource_guid: The resource GUID property of the virtual network tap + resource. + :vartype resource_guid: str + :ivar provisioning_state: The provisioning state of the virtual network + tap resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param destination_network_interface_ip_configuration: The reference to + the private IP Address of the collector nic that will receive the tap. + :type destination_network_interface_ip_configuration: + ~azure.mgmt.network.v2020_05_01.models.NetworkInterfaceIPConfiguration + :param destination_load_balancer_front_end_ip_configuration: The reference + to the private IP address on the internal Load Balancer that will receive + the tap. + :type destination_load_balancer_front_end_ip_configuration: + ~azure.mgmt.network.v2020_05_01.models.FrontendIPConfiguration + :param destination_port: The VXLAN destination port that will receive the + tapped traffic. + :type destination_port: int + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'network_interface_tap_configurations': {'readonly': True}, + 'resource_guid': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'network_interface_tap_configurations': {'key': 'properties.networkInterfaceTapConfigurations', 'type': '[NetworkInterfaceTapConfiguration]'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'destination_network_interface_ip_configuration': {'key': 'properties.destinationNetworkInterfaceIPConfiguration', 'type': 'NetworkInterfaceIPConfiguration'}, + 'destination_load_balancer_front_end_ip_configuration': {'key': 'properties.destinationLoadBalancerFrontEndIPConfiguration', 'type': 'FrontendIPConfiguration'}, + 'destination_port': {'key': 'properties.destinationPort', 'type': 'int'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VirtualNetworkTap, self).__init__(**kwargs) + self.network_interface_tap_configurations = None + self.resource_guid = None + self.provisioning_state = None + self.destination_network_interface_ip_configuration = kwargs.get('destination_network_interface_ip_configuration', None) + self.destination_load_balancer_front_end_ip_configuration = kwargs.get('destination_load_balancer_front_end_ip_configuration', None) + self.destination_port = kwargs.get('destination_port', None) + self.etag = None + + +class VirtualNetworkUsage(Model): + """Usage details for subnet. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar current_value: Indicates number of IPs used from the Subnet. + :vartype current_value: float + :ivar id: Subnet identifier. + :vartype id: str + :ivar limit: Indicates the size of the subnet. + :vartype limit: float + :ivar name: The name containing common and localized value for usage. + :vartype name: + ~azure.mgmt.network.v2020_05_01.models.VirtualNetworkUsageName + :ivar unit: Usage units. Returns 'Count'. + :vartype unit: str + """ + + _validation = { + 'current_value': {'readonly': True}, + 'id': {'readonly': True}, + 'limit': {'readonly': True}, + 'name': {'readonly': True}, + 'unit': {'readonly': True}, + } + + _attribute_map = { + 'current_value': {'key': 'currentValue', 'type': 'float'}, + 'id': {'key': 'id', 'type': 'str'}, + 'limit': {'key': 'limit', 'type': 'float'}, + 'name': {'key': 'name', 'type': 'VirtualNetworkUsageName'}, + 'unit': {'key': 'unit', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VirtualNetworkUsage, self).__init__(**kwargs) + self.current_value = None + self.id = None + self.limit = None + self.name = None + self.unit = None + + +class VirtualNetworkUsageName(Model): + """Usage strings container. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar localized_value: Localized subnet size and usage string. + :vartype localized_value: str + :ivar value: Subnet size and usage string. + :vartype value: str + """ + + _validation = { + 'localized_value': {'readonly': True}, + 'value': {'readonly': True}, + } + + _attribute_map = { + 'localized_value': {'key': 'localizedValue', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VirtualNetworkUsageName, self).__init__(**kwargs) + self.localized_value = None + self.value = None + + +class VirtualRouter(Resource): + """VirtualRouter Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param virtual_router_asn: VirtualRouter ASN. + :type virtual_router_asn: long + :param virtual_router_ips: VirtualRouter IPs. + :type virtual_router_ips: list[str] + :param hosted_subnet: The Subnet on which VirtualRouter is hosted. + :type hosted_subnet: ~azure.mgmt.network.v2020_05_01.models.SubResource + :param hosted_gateway: The Gateway on which VirtualRouter is hosted. + :type hosted_gateway: ~azure.mgmt.network.v2020_05_01.models.SubResource + :ivar peerings: List of references to VirtualRouterPeerings. + :vartype peerings: + list[~azure.mgmt.network.v2020_05_01.models.SubResource] + :ivar provisioning_state: The provisioning state of the resource. Possible + values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'virtual_router_asn': {'maximum': 4294967295, 'minimum': 0}, + 'peerings': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'virtual_router_asn': {'key': 'properties.virtualRouterAsn', 'type': 'long'}, + 'virtual_router_ips': {'key': 'properties.virtualRouterIps', 'type': '[str]'}, + 'hosted_subnet': {'key': 'properties.hostedSubnet', 'type': 'SubResource'}, + 'hosted_gateway': {'key': 'properties.hostedGateway', 'type': 'SubResource'}, + 'peerings': {'key': 'properties.peerings', 'type': '[SubResource]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VirtualRouter, self).__init__(**kwargs) + self.virtual_router_asn = kwargs.get('virtual_router_asn', None) + self.virtual_router_ips = kwargs.get('virtual_router_ips', None) + self.hosted_subnet = kwargs.get('hosted_subnet', None) + self.hosted_gateway = kwargs.get('hosted_gateway', None) + self.peerings = None + self.provisioning_state = None + self.etag = None + + +class VirtualRouterPeering(SubResource): + """Virtual Router Peering resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param peer_asn: Peer ASN. + :type peer_asn: long + :param peer_ip: Peer IP. + :type peer_ip: str + :ivar provisioning_state: The provisioning state of the resource. Possible + values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: Name of the virtual router peering that is unique within a + virtual router. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Peering type. + :vartype type: str + """ + + _validation = { + 'peer_asn': {'maximum': 4294967295, 'minimum': 0}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'peer_asn': {'key': 'properties.peerAsn', 'type': 'long'}, + 'peer_ip': {'key': 'properties.peerIp', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VirtualRouterPeering, self).__init__(**kwargs) + self.peer_asn = kwargs.get('peer_asn', None) + self.peer_ip = kwargs.get('peer_ip', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = None + self.type = None + + +class VirtualWAN(Resource): + """VirtualWAN Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param disable_vpn_encryption: Vpn encryption to be disabled or not. + :type disable_vpn_encryption: bool + :ivar virtual_hubs: List of VirtualHubs in the VirtualWAN. + :vartype virtual_hubs: + list[~azure.mgmt.network.v2020_05_01.models.SubResource] + :ivar vpn_sites: List of VpnSites in the VirtualWAN. + :vartype vpn_sites: + list[~azure.mgmt.network.v2020_05_01.models.SubResource] + :param allow_branch_to_branch_traffic: True if branch to branch traffic is + allowed. + :type allow_branch_to_branch_traffic: bool + :param allow_vnet_to_vnet_traffic: True if Vnet to Vnet traffic is + allowed. + :type allow_vnet_to_vnet_traffic: bool + :param office365_local_breakout_category: The office local breakout + category. Possible values include: 'Optimize', 'OptimizeAndAllow', 'All', + 'None' + :type office365_local_breakout_category: str or + ~azure.mgmt.network.v2020_05_01.models.OfficeTrafficCategory + :ivar provisioning_state: The provisioning state of the virtual WAN + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param virtual_wan_type: The type of the VirtualWAN. + :type virtual_wan_type: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'virtual_hubs': {'readonly': True}, + 'vpn_sites': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'disable_vpn_encryption': {'key': 'properties.disableVpnEncryption', 'type': 'bool'}, + 'virtual_hubs': {'key': 'properties.virtualHubs', 'type': '[SubResource]'}, + 'vpn_sites': {'key': 'properties.vpnSites', 'type': '[SubResource]'}, + 'allow_branch_to_branch_traffic': {'key': 'properties.allowBranchToBranchTraffic', 'type': 'bool'}, + 'allow_vnet_to_vnet_traffic': {'key': 'properties.allowVnetToVnetTraffic', 'type': 'bool'}, + 'office365_local_breakout_category': {'key': 'properties.office365LocalBreakoutCategory', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'virtual_wan_type': {'key': 'properties.type', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VirtualWAN, self).__init__(**kwargs) + self.disable_vpn_encryption = kwargs.get('disable_vpn_encryption', None) + self.virtual_hubs = None + self.vpn_sites = None + self.allow_branch_to_branch_traffic = kwargs.get('allow_branch_to_branch_traffic', None) + self.allow_vnet_to_vnet_traffic = kwargs.get('allow_vnet_to_vnet_traffic', None) + self.office365_local_breakout_category = kwargs.get('office365_local_breakout_category', None) + self.provisioning_state = None + self.virtual_wan_type = kwargs.get('virtual_wan_type', None) + self.etag = None + + +class VirtualWanSecurityProvider(Model): + """Collection of SecurityProviders. + + :param name: Name of the security provider. + :type name: str + :param url: Url of the security provider. + :type url: str + :param type: Name of the security provider. Possible values include: + 'External', 'Native' + :type type: str or + ~azure.mgmt.network.v2020_05_01.models.VirtualWanSecurityProviderType + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'url': {'key': 'url', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VirtualWanSecurityProvider, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.url = kwargs.get('url', None) + self.type = kwargs.get('type', None) + + +class VirtualWanSecurityProviders(Model): + """Collection of SecurityProviders. + + :param supported_providers: List of VirtualWAN security providers. + :type supported_providers: + list[~azure.mgmt.network.v2020_05_01.models.VirtualWanSecurityProvider] + """ + + _attribute_map = { + 'supported_providers': {'key': 'supportedProviders', 'type': '[VirtualWanSecurityProvider]'}, + } + + def __init__(self, **kwargs): + super(VirtualWanSecurityProviders, self).__init__(**kwargs) + self.supported_providers = kwargs.get('supported_providers', None) + + +class VirtualWanVpnProfileParameters(Model): + """Virtual Wan Vpn profile parameters Vpn profile generation. + + :param vpn_server_configuration_resource_id: VpnServerConfiguration + partial resource uri with which VirtualWan is associated to. + :type vpn_server_configuration_resource_id: str + :param authentication_method: VPN client authentication method. Possible + values include: 'EAPTLS', 'EAPMSCHAPv2' + :type authentication_method: str or + ~azure.mgmt.network.v2020_05_01.models.AuthenticationMethod + """ + + _attribute_map = { + 'vpn_server_configuration_resource_id': {'key': 'vpnServerConfigurationResourceId', 'type': 'str'}, + 'authentication_method': {'key': 'authenticationMethod', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VirtualWanVpnProfileParameters, self).__init__(**kwargs) + self.vpn_server_configuration_resource_id = kwargs.get('vpn_server_configuration_resource_id', None) + self.authentication_method = kwargs.get('authentication_method', None) + + +class VM(Resource): + """Describes a Virtual Machine. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, **kwargs): + super(VM, self).__init__(**kwargs) + + +class VnetRoute(Model): + """List of routes that control routing from VirtualHub into a virtual network + connection. + + :param static_routes: List of all Static Routes. + :type static_routes: + list[~azure.mgmt.network.v2020_05_01.models.StaticRoute] + """ + + _attribute_map = { + 'static_routes': {'key': 'staticRoutes', 'type': '[StaticRoute]'}, + } + + def __init__(self, **kwargs): + super(VnetRoute, self).__init__(**kwargs) + self.static_routes = kwargs.get('static_routes', None) + + +class VpnClientConfiguration(Model): + """VpnClientConfiguration for P2S client. + + :param vpn_client_address_pool: The reference to the address space + resource which represents Address space for P2S VpnClient. + :type vpn_client_address_pool: + ~azure.mgmt.network.v2020_05_01.models.AddressSpace + :param vpn_client_root_certificates: VpnClientRootCertificate for virtual + network gateway. + :type vpn_client_root_certificates: + list[~azure.mgmt.network.v2020_05_01.models.VpnClientRootCertificate] + :param vpn_client_revoked_certificates: VpnClientRevokedCertificate for + Virtual network gateway. + :type vpn_client_revoked_certificates: + list[~azure.mgmt.network.v2020_05_01.models.VpnClientRevokedCertificate] + :param vpn_client_protocols: VpnClientProtocols for Virtual network + gateway. + :type vpn_client_protocols: list[str or + ~azure.mgmt.network.v2020_05_01.models.VpnClientProtocol] + :param vpn_client_ipsec_policies: VpnClientIpsecPolicies for virtual + network gateway P2S client. + :type vpn_client_ipsec_policies: + list[~azure.mgmt.network.v2020_05_01.models.IpsecPolicy] + :param radius_server_address: The radius server address property of the + VirtualNetworkGateway resource for vpn client connection. + :type radius_server_address: str + :param radius_server_secret: The radius secret property of the + VirtualNetworkGateway resource for vpn client connection. + :type radius_server_secret: str + :param radius_servers: The radiusServers property for multiple radius + server configuration. + :type radius_servers: + list[~azure.mgmt.network.v2020_05_01.models.RadiusServer] + :param aad_tenant: The AADTenant property of the VirtualNetworkGateway + resource for vpn client connection used for AAD authentication. + :type aad_tenant: str + :param aad_audience: The AADAudience property of the VirtualNetworkGateway + resource for vpn client connection used for AAD authentication. + :type aad_audience: str + :param aad_issuer: The AADIssuer property of the VirtualNetworkGateway + resource for vpn client connection used for AAD authentication. + :type aad_issuer: str + """ + + _attribute_map = { + 'vpn_client_address_pool': {'key': 'vpnClientAddressPool', 'type': 'AddressSpace'}, + 'vpn_client_root_certificates': {'key': 'vpnClientRootCertificates', 'type': '[VpnClientRootCertificate]'}, + 'vpn_client_revoked_certificates': {'key': 'vpnClientRevokedCertificates', 'type': '[VpnClientRevokedCertificate]'}, + 'vpn_client_protocols': {'key': 'vpnClientProtocols', 'type': '[str]'}, + 'vpn_client_ipsec_policies': {'key': 'vpnClientIpsecPolicies', 'type': '[IpsecPolicy]'}, + 'radius_server_address': {'key': 'radiusServerAddress', 'type': 'str'}, + 'radius_server_secret': {'key': 'radiusServerSecret', 'type': 'str'}, + 'radius_servers': {'key': 'radiusServers', 'type': '[RadiusServer]'}, + 'aad_tenant': {'key': 'aadTenant', 'type': 'str'}, + 'aad_audience': {'key': 'aadAudience', 'type': 'str'}, + 'aad_issuer': {'key': 'aadIssuer', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VpnClientConfiguration, self).__init__(**kwargs) + self.vpn_client_address_pool = kwargs.get('vpn_client_address_pool', None) + self.vpn_client_root_certificates = kwargs.get('vpn_client_root_certificates', None) + self.vpn_client_revoked_certificates = kwargs.get('vpn_client_revoked_certificates', None) + self.vpn_client_protocols = kwargs.get('vpn_client_protocols', None) + self.vpn_client_ipsec_policies = kwargs.get('vpn_client_ipsec_policies', None) + self.radius_server_address = kwargs.get('radius_server_address', None) + self.radius_server_secret = kwargs.get('radius_server_secret', None) + self.radius_servers = kwargs.get('radius_servers', None) + self.aad_tenant = kwargs.get('aad_tenant', None) + self.aad_audience = kwargs.get('aad_audience', None) + self.aad_issuer = kwargs.get('aad_issuer', None) + + +class VpnClientConnectionHealth(Model): + """VpnClientConnectionHealth properties. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar total_ingress_bytes_transferred: Total of the Ingress Bytes + Transferred in this P2S Vpn connection. + :vartype total_ingress_bytes_transferred: long + :ivar total_egress_bytes_transferred: Total of the Egress Bytes + Transferred in this connection. + :vartype total_egress_bytes_transferred: long + :param vpn_client_connections_count: The total of p2s vpn clients + connected at this time to this P2SVpnGateway. + :type vpn_client_connections_count: int + :param allocated_ip_addresses: List of allocated ip addresses to the + connected p2s vpn clients. + :type allocated_ip_addresses: list[str] + """ + + _validation = { + 'total_ingress_bytes_transferred': {'readonly': True}, + 'total_egress_bytes_transferred': {'readonly': True}, + } + + _attribute_map = { + 'total_ingress_bytes_transferred': {'key': 'totalIngressBytesTransferred', 'type': 'long'}, + 'total_egress_bytes_transferred': {'key': 'totalEgressBytesTransferred', 'type': 'long'}, + 'vpn_client_connections_count': {'key': 'vpnClientConnectionsCount', 'type': 'int'}, + 'allocated_ip_addresses': {'key': 'allocatedIpAddresses', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(VpnClientConnectionHealth, self).__init__(**kwargs) + self.total_ingress_bytes_transferred = None + self.total_egress_bytes_transferred = None + self.vpn_client_connections_count = kwargs.get('vpn_client_connections_count', None) + self.allocated_ip_addresses = kwargs.get('allocated_ip_addresses', None) + + +class VpnClientConnectionHealthDetail(Model): + """VPN client connection health detail. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar vpn_connection_id: The vpn client Id. + :vartype vpn_connection_id: str + :ivar vpn_connection_duration: The duration time of a connected vpn + client. + :vartype vpn_connection_duration: long + :ivar vpn_connection_time: The start time of a connected vpn client. + :vartype vpn_connection_time: str + :ivar public_ip_address: The public Ip of a connected vpn client. + :vartype public_ip_address: str + :ivar private_ip_address: The assigned private Ip of a connected vpn + client. + :vartype private_ip_address: str + :ivar vpn_user_name: The user name of a connected vpn client. + :vartype vpn_user_name: str + :ivar max_bandwidth: The max band width. + :vartype max_bandwidth: long + :ivar egress_packets_transferred: The egress packets per second. + :vartype egress_packets_transferred: long + :ivar egress_bytes_transferred: The egress bytes per second. + :vartype egress_bytes_transferred: long + :ivar ingress_packets_transferred: The ingress packets per second. + :vartype ingress_packets_transferred: long + :ivar ingress_bytes_transferred: The ingress bytes per second. + :vartype ingress_bytes_transferred: long + :ivar max_packets_per_second: The max packets transferred per second. + :vartype max_packets_per_second: long + """ + + _validation = { + 'vpn_connection_id': {'readonly': True}, + 'vpn_connection_duration': {'readonly': True}, + 'vpn_connection_time': {'readonly': True}, + 'public_ip_address': {'readonly': True}, + 'private_ip_address': {'readonly': True}, + 'vpn_user_name': {'readonly': True}, + 'max_bandwidth': {'readonly': True}, + 'egress_packets_transferred': {'readonly': True}, + 'egress_bytes_transferred': {'readonly': True}, + 'ingress_packets_transferred': {'readonly': True}, + 'ingress_bytes_transferred': {'readonly': True}, + 'max_packets_per_second': {'readonly': True}, + } + + _attribute_map = { + 'vpn_connection_id': {'key': 'vpnConnectionId', 'type': 'str'}, + 'vpn_connection_duration': {'key': 'vpnConnectionDuration', 'type': 'long'}, + 'vpn_connection_time': {'key': 'vpnConnectionTime', 'type': 'str'}, + 'public_ip_address': {'key': 'publicIpAddress', 'type': 'str'}, + 'private_ip_address': {'key': 'privateIpAddress', 'type': 'str'}, + 'vpn_user_name': {'key': 'vpnUserName', 'type': 'str'}, + 'max_bandwidth': {'key': 'maxBandwidth', 'type': 'long'}, + 'egress_packets_transferred': {'key': 'egressPacketsTransferred', 'type': 'long'}, + 'egress_bytes_transferred': {'key': 'egressBytesTransferred', 'type': 'long'}, + 'ingress_packets_transferred': {'key': 'ingressPacketsTransferred', 'type': 'long'}, + 'ingress_bytes_transferred': {'key': 'ingressBytesTransferred', 'type': 'long'}, + 'max_packets_per_second': {'key': 'maxPacketsPerSecond', 'type': 'long'}, + } + + def __init__(self, **kwargs): + super(VpnClientConnectionHealthDetail, self).__init__(**kwargs) + self.vpn_connection_id = None + self.vpn_connection_duration = None + self.vpn_connection_time = None + self.public_ip_address = None + self.private_ip_address = None + self.vpn_user_name = None + self.max_bandwidth = None + self.egress_packets_transferred = None + self.egress_bytes_transferred = None + self.ingress_packets_transferred = None + self.ingress_bytes_transferred = None + self.max_packets_per_second = None + + +class VpnClientConnectionHealthDetailListResult(Model): + """List of virtual network gateway vpn client connection health. + + :param value: List of vpn client connection health. + :type value: + list[~azure.mgmt.network.v2020_05_01.models.VpnClientConnectionHealthDetail] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[VpnClientConnectionHealthDetail]'}, + } + + def __init__(self, **kwargs): + super(VpnClientConnectionHealthDetailListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + + +class VpnClientIPsecParameters(Model): + """An IPSec parameters for a virtual network gateway P2S connection. + + All required parameters must be populated in order to send to Azure. + + :param sa_life_time_seconds: Required. The IPSec Security Association + (also called Quick Mode or Phase 2 SA) lifetime in seconds for P2S client. + :type sa_life_time_seconds: int + :param sa_data_size_kilobytes: Required. The IPSec Security Association + (also called Quick Mode or Phase 2 SA) payload size in KB for P2S client.. + :type sa_data_size_kilobytes: int + :param ipsec_encryption: Required. The IPSec encryption algorithm (IKE + phase 1). Possible values include: 'None', 'DES', 'DES3', 'AES128', + 'AES192', 'AES256', 'GCMAES128', 'GCMAES192', 'GCMAES256' + :type ipsec_encryption: str or + ~azure.mgmt.network.v2020_05_01.models.IpsecEncryption + :param ipsec_integrity: Required. The IPSec integrity algorithm (IKE phase + 1). Possible values include: 'MD5', 'SHA1', 'SHA256', 'GCMAES128', + 'GCMAES192', 'GCMAES256' + :type ipsec_integrity: str or + ~azure.mgmt.network.v2020_05_01.models.IpsecIntegrity + :param ike_encryption: Required. The IKE encryption algorithm (IKE phase + 2). Possible values include: 'DES', 'DES3', 'AES128', 'AES192', 'AES256', + 'GCMAES256', 'GCMAES128' + :type ike_encryption: str or + ~azure.mgmt.network.v2020_05_01.models.IkeEncryption + :param ike_integrity: Required. The IKE integrity algorithm (IKE phase 2). + Possible values include: 'MD5', 'SHA1', 'SHA256', 'SHA384', 'GCMAES256', + 'GCMAES128' + :type ike_integrity: str or + ~azure.mgmt.network.v2020_05_01.models.IkeIntegrity + :param dh_group: Required. The DH Group used in IKE Phase 1 for initial + SA. Possible values include: 'None', 'DHGroup1', 'DHGroup2', 'DHGroup14', + 'DHGroup2048', 'ECP256', 'ECP384', 'DHGroup24' + :type dh_group: str or ~azure.mgmt.network.v2020_05_01.models.DhGroup + :param pfs_group: Required. The Pfs Group used in IKE Phase 2 for new + child SA. Possible values include: 'None', 'PFS1', 'PFS2', 'PFS2048', + 'ECP256', 'ECP384', 'PFS24', 'PFS14', 'PFSMM' + :type pfs_group: str or ~azure.mgmt.network.v2020_05_01.models.PfsGroup + """ + + _validation = { + 'sa_life_time_seconds': {'required': True}, + 'sa_data_size_kilobytes': {'required': True}, + 'ipsec_encryption': {'required': True}, + 'ipsec_integrity': {'required': True}, + 'ike_encryption': {'required': True}, + 'ike_integrity': {'required': True}, + 'dh_group': {'required': True}, + 'pfs_group': {'required': True}, + } + + _attribute_map = { + 'sa_life_time_seconds': {'key': 'saLifeTimeSeconds', 'type': 'int'}, + 'sa_data_size_kilobytes': {'key': 'saDataSizeKilobytes', 'type': 'int'}, + 'ipsec_encryption': {'key': 'ipsecEncryption', 'type': 'str'}, + 'ipsec_integrity': {'key': 'ipsecIntegrity', 'type': 'str'}, + 'ike_encryption': {'key': 'ikeEncryption', 'type': 'str'}, + 'ike_integrity': {'key': 'ikeIntegrity', 'type': 'str'}, + 'dh_group': {'key': 'dhGroup', 'type': 'str'}, + 'pfs_group': {'key': 'pfsGroup', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VpnClientIPsecParameters, self).__init__(**kwargs) + self.sa_life_time_seconds = kwargs.get('sa_life_time_seconds', None) + self.sa_data_size_kilobytes = kwargs.get('sa_data_size_kilobytes', None) + self.ipsec_encryption = kwargs.get('ipsec_encryption', None) + self.ipsec_integrity = kwargs.get('ipsec_integrity', None) + self.ike_encryption = kwargs.get('ike_encryption', None) + self.ike_integrity = kwargs.get('ike_integrity', None) + self.dh_group = kwargs.get('dh_group', None) + self.pfs_group = kwargs.get('pfs_group', None) + + +class VpnClientParameters(Model): + """Vpn Client Parameters for package generation. + + :param processor_architecture: VPN client Processor Architecture. Possible + values include: 'Amd64', 'X86' + :type processor_architecture: str or + ~azure.mgmt.network.v2020_05_01.models.ProcessorArchitecture + :param authentication_method: VPN client authentication method. Possible + values include: 'EAPTLS', 'EAPMSCHAPv2' + :type authentication_method: str or + ~azure.mgmt.network.v2020_05_01.models.AuthenticationMethod + :param radius_server_auth_certificate: The public certificate data for the + radius server authentication certificate as a Base-64 encoded string. + Required only if external radius authentication has been configured with + EAPTLS authentication. + :type radius_server_auth_certificate: str + :param client_root_certificates: A list of client root certificates public + certificate data encoded as Base-64 strings. Optional parameter for + external radius based authentication with EAPTLS. + :type client_root_certificates: list[str] + """ + + _attribute_map = { + 'processor_architecture': {'key': 'processorArchitecture', 'type': 'str'}, + 'authentication_method': {'key': 'authenticationMethod', 'type': 'str'}, + 'radius_server_auth_certificate': {'key': 'radiusServerAuthCertificate', 'type': 'str'}, + 'client_root_certificates': {'key': 'clientRootCertificates', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(VpnClientParameters, self).__init__(**kwargs) + self.processor_architecture = kwargs.get('processor_architecture', None) + self.authentication_method = kwargs.get('authentication_method', None) + self.radius_server_auth_certificate = kwargs.get('radius_server_auth_certificate', None) + self.client_root_certificates = kwargs.get('client_root_certificates', None) + + +class VpnClientRevokedCertificate(SubResource): + """VPN client revoked certificate of virtual network gateway. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param thumbprint: The revoked VPN client certificate thumbprint. + :type thumbprint: str + :ivar provisioning_state: The provisioning state of the VPN client revoked + certificate resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'thumbprint': {'key': 'properties.thumbprint', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VpnClientRevokedCertificate, self).__init__(**kwargs) + self.thumbprint = kwargs.get('thumbprint', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = None + + +class VpnClientRootCertificate(SubResource): + """VPN client root certificate of virtual network gateway. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :param public_cert_data: Required. The certificate public data. + :type public_cert_data: str + :ivar provisioning_state: The provisioning state of the VPN client root + certificate resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'public_cert_data': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'public_cert_data': {'key': 'properties.publicCertData', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VpnClientRootCertificate, self).__init__(**kwargs) + self.public_cert_data = kwargs.get('public_cert_data', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = None + + +class VpnConnection(SubResource): + """VpnConnection Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param remote_vpn_site: Id of the connected vpn site. + :type remote_vpn_site: ~azure.mgmt.network.v2020_05_01.models.SubResource + :param routing_weight: Routing weight for vpn connection. + :type routing_weight: int + :param dpd_timeout_seconds: The dead peer detection timeout for a vpn + connection in seconds. + :type dpd_timeout_seconds: int + :param connection_status: The connection status. Possible values include: + 'Unknown', 'Connecting', 'Connected', 'NotConnected' + :type connection_status: str or + ~azure.mgmt.network.v2020_05_01.models.VpnConnectionStatus + :param vpn_connection_protocol_type: Connection protocol used for this + connection. Possible values include: 'IKEv2', 'IKEv1' + :type vpn_connection_protocol_type: str or + ~azure.mgmt.network.v2020_05_01.models.VirtualNetworkGatewayConnectionProtocol + :ivar ingress_bytes_transferred: Ingress bytes transferred. + :vartype ingress_bytes_transferred: long + :ivar egress_bytes_transferred: Egress bytes transferred. + :vartype egress_bytes_transferred: long + :param connection_bandwidth: Expected bandwidth in MBPS. + :type connection_bandwidth: int + :param shared_key: SharedKey for the vpn connection. + :type shared_key: str + :param enable_bgp: EnableBgp flag. + :type enable_bgp: bool + :param use_policy_based_traffic_selectors: Enable policy-based traffic + selectors. + :type use_policy_based_traffic_selectors: bool + :param ipsec_policies: The IPSec Policies to be considered by this + connection. + :type ipsec_policies: + list[~azure.mgmt.network.v2020_05_01.models.IpsecPolicy] + :param enable_rate_limiting: EnableBgp flag. + :type enable_rate_limiting: bool + :param enable_internet_security: Enable internet security. + :type enable_internet_security: bool + :param use_local_azure_ip_address: Use local azure ip to initiate + connection. + :type use_local_azure_ip_address: bool + :ivar provisioning_state: The provisioning state of the VPN connection + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param vpn_link_connections: List of all vpn site link connections to the + gateway. + :type vpn_link_connections: + list[~azure.mgmt.network.v2020_05_01.models.VpnSiteLinkConnection] + :param routing_configuration: The Routing Configuration indicating the + associated and propagated route tables on this connection. + :type routing_configuration: + ~azure.mgmt.network.v2020_05_01.models.RoutingConfiguration + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'ingress_bytes_transferred': {'readonly': True}, + 'egress_bytes_transferred': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'remote_vpn_site': {'key': 'properties.remoteVpnSite', 'type': 'SubResource'}, + 'routing_weight': {'key': 'properties.routingWeight', 'type': 'int'}, + 'dpd_timeout_seconds': {'key': 'properties.dpdTimeoutSeconds', 'type': 'int'}, + 'connection_status': {'key': 'properties.connectionStatus', 'type': 'str'}, + 'vpn_connection_protocol_type': {'key': 'properties.vpnConnectionProtocolType', 'type': 'str'}, + 'ingress_bytes_transferred': {'key': 'properties.ingressBytesTransferred', 'type': 'long'}, + 'egress_bytes_transferred': {'key': 'properties.egressBytesTransferred', 'type': 'long'}, + 'connection_bandwidth': {'key': 'properties.connectionBandwidth', 'type': 'int'}, + 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, + 'enable_bgp': {'key': 'properties.enableBgp', 'type': 'bool'}, + 'use_policy_based_traffic_selectors': {'key': 'properties.usePolicyBasedTrafficSelectors', 'type': 'bool'}, + 'ipsec_policies': {'key': 'properties.ipsecPolicies', 'type': '[IpsecPolicy]'}, + 'enable_rate_limiting': {'key': 'properties.enableRateLimiting', 'type': 'bool'}, + 'enable_internet_security': {'key': 'properties.enableInternetSecurity', 'type': 'bool'}, + 'use_local_azure_ip_address': {'key': 'properties.useLocalAzureIpAddress', 'type': 'bool'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'vpn_link_connections': {'key': 'properties.vpnLinkConnections', 'type': '[VpnSiteLinkConnection]'}, + 'routing_configuration': {'key': 'properties.routingConfiguration', 'type': 'RoutingConfiguration'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VpnConnection, self).__init__(**kwargs) + self.remote_vpn_site = kwargs.get('remote_vpn_site', None) + self.routing_weight = kwargs.get('routing_weight', None) + self.dpd_timeout_seconds = kwargs.get('dpd_timeout_seconds', None) + self.connection_status = kwargs.get('connection_status', None) + self.vpn_connection_protocol_type = kwargs.get('vpn_connection_protocol_type', None) + self.ingress_bytes_transferred = None + self.egress_bytes_transferred = None + self.connection_bandwidth = kwargs.get('connection_bandwidth', None) + self.shared_key = kwargs.get('shared_key', None) + self.enable_bgp = kwargs.get('enable_bgp', None) + self.use_policy_based_traffic_selectors = kwargs.get('use_policy_based_traffic_selectors', None) + self.ipsec_policies = kwargs.get('ipsec_policies', None) + self.enable_rate_limiting = kwargs.get('enable_rate_limiting', None) + self.enable_internet_security = kwargs.get('enable_internet_security', None) + self.use_local_azure_ip_address = kwargs.get('use_local_azure_ip_address', None) + self.provisioning_state = None + self.vpn_link_connections = kwargs.get('vpn_link_connections', None) + self.routing_configuration = kwargs.get('routing_configuration', None) + self.name = kwargs.get('name', None) + self.etag = None + + +class VpnDeviceScriptParameters(Model): + """Vpn device configuration script generation parameters. + + :param vendor: The vendor for the vpn device. + :type vendor: str + :param device_family: The device family for the vpn device. + :type device_family: str + :param firmware_version: The firmware version for the vpn device. + :type firmware_version: str + """ + + _attribute_map = { + 'vendor': {'key': 'vendor', 'type': 'str'}, + 'device_family': {'key': 'deviceFamily', 'type': 'str'}, + 'firmware_version': {'key': 'firmwareVersion', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VpnDeviceScriptParameters, self).__init__(**kwargs) + self.vendor = kwargs.get('vendor', None) + self.device_family = kwargs.get('device_family', None) + self.firmware_version = kwargs.get('firmware_version', None) + + +class VpnGateway(Resource): + """VpnGateway Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param virtual_hub: The VirtualHub to which the gateway belongs. + :type virtual_hub: ~azure.mgmt.network.v2020_05_01.models.SubResource + :param connections: List of all vpn connections to the gateway. + :type connections: + list[~azure.mgmt.network.v2020_05_01.models.VpnConnection] + :param bgp_settings: Local network gateway's BGP speaker settings. + :type bgp_settings: ~azure.mgmt.network.v2020_05_01.models.BgpSettings + :ivar provisioning_state: The provisioning state of the VPN gateway + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param vpn_gateway_scale_unit: The scale unit for this vpn gateway. + :type vpn_gateway_scale_unit: int + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'virtual_hub': {'key': 'properties.virtualHub', 'type': 'SubResource'}, + 'connections': {'key': 'properties.connections', 'type': '[VpnConnection]'}, + 'bgp_settings': {'key': 'properties.bgpSettings', 'type': 'BgpSettings'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'vpn_gateway_scale_unit': {'key': 'properties.vpnGatewayScaleUnit', 'type': 'int'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VpnGateway, self).__init__(**kwargs) + self.virtual_hub = kwargs.get('virtual_hub', None) + self.connections = kwargs.get('connections', None) + self.bgp_settings = kwargs.get('bgp_settings', None) + self.provisioning_state = None + self.vpn_gateway_scale_unit = kwargs.get('vpn_gateway_scale_unit', None) + self.etag = None + + +class VpnLinkBgpSettings(Model): + """BGP settings details for a link. + + :param asn: The BGP speaker's ASN. + :type asn: long + :param bgp_peering_address: The BGP peering address and BGP identifier of + this BGP speaker. + :type bgp_peering_address: str + """ + + _attribute_map = { + 'asn': {'key': 'asn', 'type': 'long'}, + 'bgp_peering_address': {'key': 'bgpPeeringAddress', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VpnLinkBgpSettings, self).__init__(**kwargs) + self.asn = kwargs.get('asn', None) + self.bgp_peering_address = kwargs.get('bgp_peering_address', None) + + +class VpnLinkProviderProperties(Model): + """List of properties of a link provider. + + :param link_provider_name: Name of the link provider. + :type link_provider_name: str + :param link_speed_in_mbps: Link speed. + :type link_speed_in_mbps: int + """ + + _attribute_map = { + 'link_provider_name': {'key': 'linkProviderName', 'type': 'str'}, + 'link_speed_in_mbps': {'key': 'linkSpeedInMbps', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(VpnLinkProviderProperties, self).__init__(**kwargs) + self.link_provider_name = kwargs.get('link_provider_name', None) + self.link_speed_in_mbps = kwargs.get('link_speed_in_mbps', None) + + +class VpnPacketCaptureStartParameters(Model): + """Start packet capture parameters on virtual network gateway. + + :param filter_data: Start Packet capture parameters. + :type filter_data: str + """ + + _attribute_map = { + 'filter_data': {'key': 'filterData', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VpnPacketCaptureStartParameters, self).__init__(**kwargs) + self.filter_data = kwargs.get('filter_data', None) + + +class VpnPacketCaptureStopParameters(Model): + """Stop packet capture parameters. + + :param sas_url: SAS url for packet capture on virtual network gateway. + :type sas_url: str + """ + + _attribute_map = { + 'sas_url': {'key': 'sasUrl', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VpnPacketCaptureStopParameters, self).__init__(**kwargs) + self.sas_url = kwargs.get('sas_url', None) + + +class VpnProfileResponse(Model): + """Vpn Profile Response for package generation. + + :param profile_url: URL to the VPN profile. + :type profile_url: str + """ + + _attribute_map = { + 'profile_url': {'key': 'profileUrl', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VpnProfileResponse, self).__init__(**kwargs) + self.profile_url = kwargs.get('profile_url', None) + + +class VpnServerConfigRadiusClientRootCertificate(Model): + """Properties of the Radius client root certificate of VpnServerConfiguration. + + :param name: The certificate name. + :type name: str + :param thumbprint: The Radius client root certificate thumbprint. + :type thumbprint: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'thumbprint': {'key': 'thumbprint', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VpnServerConfigRadiusClientRootCertificate, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.thumbprint = kwargs.get('thumbprint', None) + + +class VpnServerConfigRadiusServerRootCertificate(Model): + """Properties of Radius Server root certificate of VpnServerConfiguration. + + :param name: The certificate name. + :type name: str + :param public_cert_data: The certificate public data. + :type public_cert_data: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'public_cert_data': {'key': 'publicCertData', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VpnServerConfigRadiusServerRootCertificate, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.public_cert_data = kwargs.get('public_cert_data', None) + + +class VpnServerConfiguration(Resource): + """VpnServerConfiguration Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param vpn_server_configuration_name: The name of the + VpnServerConfiguration that is unique within a resource group. + :type vpn_server_configuration_name: str + :param vpn_protocols: VPN protocols for the VpnServerConfiguration. + :type vpn_protocols: list[str or + ~azure.mgmt.network.v2020_05_01.models.VpnGatewayTunnelingProtocol] + :param vpn_authentication_types: VPN authentication types for the + VpnServerConfiguration. + :type vpn_authentication_types: list[str or + ~azure.mgmt.network.v2020_05_01.models.VpnAuthenticationType] + :param vpn_client_root_certificates: VPN client root certificate of + VpnServerConfiguration. + :type vpn_client_root_certificates: + list[~azure.mgmt.network.v2020_05_01.models.VpnServerConfigVpnClientRootCertificate] + :param vpn_client_revoked_certificates: VPN client revoked certificate of + VpnServerConfiguration. + :type vpn_client_revoked_certificates: + list[~azure.mgmt.network.v2020_05_01.models.VpnServerConfigVpnClientRevokedCertificate] + :param radius_server_root_certificates: Radius Server root certificate of + VpnServerConfiguration. + :type radius_server_root_certificates: + list[~azure.mgmt.network.v2020_05_01.models.VpnServerConfigRadiusServerRootCertificate] + :param radius_client_root_certificates: Radius client root certificate of + VpnServerConfiguration. + :type radius_client_root_certificates: + list[~azure.mgmt.network.v2020_05_01.models.VpnServerConfigRadiusClientRootCertificate] + :param vpn_client_ipsec_policies: VpnClientIpsecPolicies for + VpnServerConfiguration. + :type vpn_client_ipsec_policies: + list[~azure.mgmt.network.v2020_05_01.models.IpsecPolicy] + :param radius_server_address: The radius server address property of the + VpnServerConfiguration resource for point to site client connection. + :type radius_server_address: str + :param radius_server_secret: The radius secret property of the + VpnServerConfiguration resource for point to site client connection. + :type radius_server_secret: str + :param radius_servers: Multiple Radius Server configuration for + VpnServerConfiguration. + :type radius_servers: + list[~azure.mgmt.network.v2020_05_01.models.RadiusServer] + :param aad_authentication_parameters: The set of aad vpn authentication + parameters. + :type aad_authentication_parameters: + ~azure.mgmt.network.v2020_05_01.models.AadAuthenticationParameters + :ivar provisioning_state: The provisioning state of the + VpnServerConfiguration resource. Possible values are: 'Updating', + 'Deleting', and 'Failed'. + :vartype provisioning_state: str + :ivar p2_svpn_gateways: List of references to P2SVpnGateways. + :vartype p2_svpn_gateways: + list[~azure.mgmt.network.v2020_05_01.models.P2SVpnGateway] + :ivar vpn_server_configuration_properties_etag: A unique read-only string + that changes whenever the resource is updated. + :vartype vpn_server_configuration_properties_etag: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'p2_svpn_gateways': {'readonly': True}, + 'vpn_server_configuration_properties_etag': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'vpn_server_configuration_name': {'key': 'properties.name', 'type': 'str'}, + 'vpn_protocols': {'key': 'properties.vpnProtocols', 'type': '[str]'}, + 'vpn_authentication_types': {'key': 'properties.vpnAuthenticationTypes', 'type': '[str]'}, + 'vpn_client_root_certificates': {'key': 'properties.vpnClientRootCertificates', 'type': '[VpnServerConfigVpnClientRootCertificate]'}, + 'vpn_client_revoked_certificates': {'key': 'properties.vpnClientRevokedCertificates', 'type': '[VpnServerConfigVpnClientRevokedCertificate]'}, + 'radius_server_root_certificates': {'key': 'properties.radiusServerRootCertificates', 'type': '[VpnServerConfigRadiusServerRootCertificate]'}, + 'radius_client_root_certificates': {'key': 'properties.radiusClientRootCertificates', 'type': '[VpnServerConfigRadiusClientRootCertificate]'}, + 'vpn_client_ipsec_policies': {'key': 'properties.vpnClientIpsecPolicies', 'type': '[IpsecPolicy]'}, + 'radius_server_address': {'key': 'properties.radiusServerAddress', 'type': 'str'}, + 'radius_server_secret': {'key': 'properties.radiusServerSecret', 'type': 'str'}, + 'radius_servers': {'key': 'properties.radiusServers', 'type': '[RadiusServer]'}, + 'aad_authentication_parameters': {'key': 'properties.aadAuthenticationParameters', 'type': 'AadAuthenticationParameters'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'p2_svpn_gateways': {'key': 'properties.p2SVpnGateways', 'type': '[P2SVpnGateway]'}, + 'vpn_server_configuration_properties_etag': {'key': 'properties.etag', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VpnServerConfiguration, self).__init__(**kwargs) + self.vpn_server_configuration_name = kwargs.get('vpn_server_configuration_name', None) + self.vpn_protocols = kwargs.get('vpn_protocols', None) + self.vpn_authentication_types = kwargs.get('vpn_authentication_types', None) + self.vpn_client_root_certificates = kwargs.get('vpn_client_root_certificates', None) + self.vpn_client_revoked_certificates = kwargs.get('vpn_client_revoked_certificates', None) + self.radius_server_root_certificates = kwargs.get('radius_server_root_certificates', None) + self.radius_client_root_certificates = kwargs.get('radius_client_root_certificates', None) + self.vpn_client_ipsec_policies = kwargs.get('vpn_client_ipsec_policies', None) + self.radius_server_address = kwargs.get('radius_server_address', None) + self.radius_server_secret = kwargs.get('radius_server_secret', None) + self.radius_servers = kwargs.get('radius_servers', None) + self.aad_authentication_parameters = kwargs.get('aad_authentication_parameters', None) + self.provisioning_state = None + self.p2_svpn_gateways = None + self.vpn_server_configuration_properties_etag = None + self.etag = None + + +class VpnServerConfigurationsResponse(Model): + """VpnServerConfigurations list associated with VirtualWan Response. + + :param vpn_server_configuration_resource_ids: List of + VpnServerConfigurations associated with VirtualWan. + :type vpn_server_configuration_resource_ids: list[str] + """ + + _attribute_map = { + 'vpn_server_configuration_resource_ids': {'key': 'vpnServerConfigurationResourceIds', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(VpnServerConfigurationsResponse, self).__init__(**kwargs) + self.vpn_server_configuration_resource_ids = kwargs.get('vpn_server_configuration_resource_ids', None) + + +class VpnServerConfigVpnClientRevokedCertificate(Model): + """Properties of the revoked VPN client certificate of VpnServerConfiguration. + + :param name: The certificate name. + :type name: str + :param thumbprint: The revoked VPN client certificate thumbprint. + :type thumbprint: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'thumbprint': {'key': 'thumbprint', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VpnServerConfigVpnClientRevokedCertificate, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.thumbprint = kwargs.get('thumbprint', None) + + +class VpnServerConfigVpnClientRootCertificate(Model): + """Properties of VPN client root certificate of VpnServerConfiguration. + + :param name: The certificate name. + :type name: str + :param public_cert_data: The certificate public data. + :type public_cert_data: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'public_cert_data': {'key': 'publicCertData', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VpnServerConfigVpnClientRootCertificate, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.public_cert_data = kwargs.get('public_cert_data', None) + + +class VpnSite(Resource): + """VpnSite Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param virtual_wan: The VirtualWAN to which the vpnSite belongs. + :type virtual_wan: ~azure.mgmt.network.v2020_05_01.models.SubResource + :param device_properties: The device properties. + :type device_properties: + ~azure.mgmt.network.v2020_05_01.models.DeviceProperties + :param ip_address: The ip-address for the vpn-site. + :type ip_address: str + :param site_key: The key for vpn-site that can be used for connections. + :type site_key: str + :param address_space: The AddressSpace that contains an array of IP + address ranges. + :type address_space: ~azure.mgmt.network.v2020_05_01.models.AddressSpace + :param bgp_properties: The set of bgp properties. + :type bgp_properties: ~azure.mgmt.network.v2020_05_01.models.BgpSettings + :ivar provisioning_state: The provisioning state of the VPN site resource. + Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param is_security_site: IsSecuritySite flag. + :type is_security_site: bool + :param vpn_site_links: List of all vpn site links. + :type vpn_site_links: + list[~azure.mgmt.network.v2020_05_01.models.VpnSiteLink] + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'virtual_wan': {'key': 'properties.virtualWan', 'type': 'SubResource'}, + 'device_properties': {'key': 'properties.deviceProperties', 'type': 'DeviceProperties'}, + 'ip_address': {'key': 'properties.ipAddress', 'type': 'str'}, + 'site_key': {'key': 'properties.siteKey', 'type': 'str'}, + 'address_space': {'key': 'properties.addressSpace', 'type': 'AddressSpace'}, + 'bgp_properties': {'key': 'properties.bgpProperties', 'type': 'BgpSettings'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'is_security_site': {'key': 'properties.isSecuritySite', 'type': 'bool'}, + 'vpn_site_links': {'key': 'properties.vpnSiteLinks', 'type': '[VpnSiteLink]'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VpnSite, self).__init__(**kwargs) + self.virtual_wan = kwargs.get('virtual_wan', None) + self.device_properties = kwargs.get('device_properties', None) + self.ip_address = kwargs.get('ip_address', None) + self.site_key = kwargs.get('site_key', None) + self.address_space = kwargs.get('address_space', None) + self.bgp_properties = kwargs.get('bgp_properties', None) + self.provisioning_state = None + self.is_security_site = kwargs.get('is_security_site', None) + self.vpn_site_links = kwargs.get('vpn_site_links', None) + self.etag = None + + +class VpnSiteId(Model): + """VpnSite Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar vpn_site: The resource-uri of the vpn-site for which config is to be + fetched. + :vartype vpn_site: str + """ + + _validation = { + 'vpn_site': {'readonly': True}, + } + + _attribute_map = { + 'vpn_site': {'key': 'vpnSite', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VpnSiteId, self).__init__(**kwargs) + self.vpn_site = None + + +class VpnSiteLink(SubResource): + """VpnSiteLink Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param link_properties: The link provider properties. + :type link_properties: + ~azure.mgmt.network.v2020_05_01.models.VpnLinkProviderProperties + :param ip_address: The ip-address for the vpn-site-link. + :type ip_address: str + :param fqdn: FQDN of vpn-site-link. + :type fqdn: str + :param bgp_properties: The set of bgp properties. + :type bgp_properties: + ~azure.mgmt.network.v2020_05_01.models.VpnLinkBgpSettings + :ivar provisioning_state: The provisioning state of the VPN site link + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar type: Resource type. + :vartype type: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'link_properties': {'key': 'properties.linkProperties', 'type': 'VpnLinkProviderProperties'}, + 'ip_address': {'key': 'properties.ipAddress', 'type': 'str'}, + 'fqdn': {'key': 'properties.fqdn', 'type': 'str'}, + 'bgp_properties': {'key': 'properties.bgpProperties', 'type': 'VpnLinkBgpSettings'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VpnSiteLink, self).__init__(**kwargs) + self.link_properties = kwargs.get('link_properties', None) + self.ip_address = kwargs.get('ip_address', None) + self.fqdn = kwargs.get('fqdn', None) + self.bgp_properties = kwargs.get('bgp_properties', None) + self.provisioning_state = None + self.etag = None + self.name = kwargs.get('name', None) + self.type = None + + +class VpnSiteLinkConnection(SubResource): + """VpnSiteLinkConnection Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param vpn_site_link: Id of the connected vpn site link. + :type vpn_site_link: ~azure.mgmt.network.v2020_05_01.models.SubResource + :param routing_weight: Routing weight for vpn connection. + :type routing_weight: int + :param connection_status: The connection status. Possible values include: + 'Unknown', 'Connecting', 'Connected', 'NotConnected' + :type connection_status: str or + ~azure.mgmt.network.v2020_05_01.models.VpnConnectionStatus + :param vpn_connection_protocol_type: Connection protocol used for this + connection. Possible values include: 'IKEv2', 'IKEv1' + :type vpn_connection_protocol_type: str or + ~azure.mgmt.network.v2020_05_01.models.VirtualNetworkGatewayConnectionProtocol + :ivar ingress_bytes_transferred: Ingress bytes transferred. + :vartype ingress_bytes_transferred: long + :ivar egress_bytes_transferred: Egress bytes transferred. + :vartype egress_bytes_transferred: long + :param connection_bandwidth: Expected bandwidth in MBPS. + :type connection_bandwidth: int + :param shared_key: SharedKey for the vpn connection. + :type shared_key: str + :param enable_bgp: EnableBgp flag. + :type enable_bgp: bool + :param use_policy_based_traffic_selectors: Enable policy-based traffic + selectors. + :type use_policy_based_traffic_selectors: bool + :param ipsec_policies: The IPSec Policies to be considered by this + connection. + :type ipsec_policies: + list[~azure.mgmt.network.v2020_05_01.models.IpsecPolicy] + :param enable_rate_limiting: EnableBgp flag. + :type enable_rate_limiting: bool + :param use_local_azure_ip_address: Use local azure ip to initiate + connection. + :type use_local_azure_ip_address: bool + :ivar provisioning_state: The provisioning state of the VPN site link + connection resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Resource type. + :vartype type: str + """ + + _validation = { + 'ingress_bytes_transferred': {'readonly': True}, + 'egress_bytes_transferred': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'vpn_site_link': {'key': 'properties.vpnSiteLink', 'type': 'SubResource'}, + 'routing_weight': {'key': 'properties.routingWeight', 'type': 'int'}, + 'connection_status': {'key': 'properties.connectionStatus', 'type': 'str'}, + 'vpn_connection_protocol_type': {'key': 'properties.vpnConnectionProtocolType', 'type': 'str'}, + 'ingress_bytes_transferred': {'key': 'properties.ingressBytesTransferred', 'type': 'long'}, + 'egress_bytes_transferred': {'key': 'properties.egressBytesTransferred', 'type': 'long'}, + 'connection_bandwidth': {'key': 'properties.connectionBandwidth', 'type': 'int'}, + 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, + 'enable_bgp': {'key': 'properties.enableBgp', 'type': 'bool'}, + 'use_policy_based_traffic_selectors': {'key': 'properties.usePolicyBasedTrafficSelectors', 'type': 'bool'}, + 'ipsec_policies': {'key': 'properties.ipsecPolicies', 'type': '[IpsecPolicy]'}, + 'enable_rate_limiting': {'key': 'properties.enableRateLimiting', 'type': 'bool'}, + 'use_local_azure_ip_address': {'key': 'properties.useLocalAzureIpAddress', 'type': 'bool'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VpnSiteLinkConnection, self).__init__(**kwargs) + self.vpn_site_link = kwargs.get('vpn_site_link', None) + self.routing_weight = kwargs.get('routing_weight', None) + self.connection_status = kwargs.get('connection_status', None) + self.vpn_connection_protocol_type = kwargs.get('vpn_connection_protocol_type', None) + self.ingress_bytes_transferred = None + self.egress_bytes_transferred = None + self.connection_bandwidth = kwargs.get('connection_bandwidth', None) + self.shared_key = kwargs.get('shared_key', None) + self.enable_bgp = kwargs.get('enable_bgp', None) + self.use_policy_based_traffic_selectors = kwargs.get('use_policy_based_traffic_selectors', None) + self.ipsec_policies = kwargs.get('ipsec_policies', None) + self.enable_rate_limiting = kwargs.get('enable_rate_limiting', None) + self.use_local_azure_ip_address = kwargs.get('use_local_azure_ip_address', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = None + self.type = None + + +class WebApplicationFirewallCustomRule(Model): + """Defines contents of a web application rule. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param name: The name of the resource that is unique within a policy. This + name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :param priority: Required. Priority of the rule. Rules with a lower value + will be evaluated before rules with a higher value. + :type priority: int + :param rule_type: Required. The rule type. Possible values include: + 'MatchRule', 'Invalid' + :type rule_type: str or + ~azure.mgmt.network.v2020_05_01.models.WebApplicationFirewallRuleType + :param match_conditions: Required. List of match conditions. + :type match_conditions: + list[~azure.mgmt.network.v2020_05_01.models.MatchCondition] + :param action: Required. Type of Actions. Possible values include: + 'Allow', 'Block', 'Log' + :type action: str or + ~azure.mgmt.network.v2020_05_01.models.WebApplicationFirewallAction + """ + + _validation = { + 'name': {'max_length': 128}, + 'etag': {'readonly': True}, + 'priority': {'required': True}, + 'rule_type': {'required': True}, + 'match_conditions': {'required': True}, + 'action': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'priority': {'key': 'priority', 'type': 'int'}, + 'rule_type': {'key': 'ruleType', 'type': 'str'}, + 'match_conditions': {'key': 'matchConditions', 'type': '[MatchCondition]'}, + 'action': {'key': 'action', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(WebApplicationFirewallCustomRule, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.etag = None + self.priority = kwargs.get('priority', None) + self.rule_type = kwargs.get('rule_type', None) + self.match_conditions = kwargs.get('match_conditions', None) + self.action = kwargs.get('action', None) + + +class WebApplicationFirewallPolicy(Resource): + """Defines web application firewall policy. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param policy_settings: The PolicySettings for policy. + :type policy_settings: + ~azure.mgmt.network.v2020_05_01.models.PolicySettings + :param custom_rules: The custom rules inside the policy. + :type custom_rules: + list[~azure.mgmt.network.v2020_05_01.models.WebApplicationFirewallCustomRule] + :ivar application_gateways: A collection of references to application + gateways. + :vartype application_gateways: + list[~azure.mgmt.network.v2020_05_01.models.ApplicationGateway] + :ivar provisioning_state: The provisioning state of the web application + firewall policy resource. Possible values include: 'Succeeded', + 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :ivar resource_state: Resource status of the policy. Resource status of + the policy. Possible values include: 'Creating', 'Enabling', 'Enabled', + 'Disabling', 'Disabled', 'Deleting' + :vartype resource_state: str or + ~azure.mgmt.network.v2020_05_01.models.WebApplicationFirewallPolicyResourceState + :param managed_rules: Required. Describes the managedRules structure. + :type managed_rules: + ~azure.mgmt.network.v2020_05_01.models.ManagedRulesDefinition + :ivar http_listeners: A collection of references to application gateway + http listeners. + :vartype http_listeners: + list[~azure.mgmt.network.v2020_05_01.models.SubResource] + :ivar path_based_rules: A collection of references to application gateway + path rules. + :vartype path_based_rules: + list[~azure.mgmt.network.v2020_05_01.models.SubResource] + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'application_gateways': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'resource_state': {'readonly': True}, + 'managed_rules': {'required': True}, + 'http_listeners': {'readonly': True}, + 'path_based_rules': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'policy_settings': {'key': 'properties.policySettings', 'type': 'PolicySettings'}, + 'custom_rules': {'key': 'properties.customRules', 'type': '[WebApplicationFirewallCustomRule]'}, + 'application_gateways': {'key': 'properties.applicationGateways', 'type': '[ApplicationGateway]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'resource_state': {'key': 'properties.resourceState', 'type': 'str'}, + 'managed_rules': {'key': 'properties.managedRules', 'type': 'ManagedRulesDefinition'}, + 'http_listeners': {'key': 'properties.httpListeners', 'type': '[SubResource]'}, + 'path_based_rules': {'key': 'properties.pathBasedRules', 'type': '[SubResource]'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(WebApplicationFirewallPolicy, self).__init__(**kwargs) + self.policy_settings = kwargs.get('policy_settings', None) + self.custom_rules = kwargs.get('custom_rules', None) + self.application_gateways = None + self.provisioning_state = None + self.resource_state = None + self.managed_rules = kwargs.get('managed_rules', None) + self.http_listeners = None + self.path_based_rules = None + self.etag = None diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/models/_models_py3.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/models/_models_py3.py new file mode 100644 index 00000000000..dbbaf10ea34 --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/models/_models_py3.py @@ -0,0 +1,18763 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model +from msrest.exceptions import HttpOperationError + + +class AadAuthenticationParameters(Model): + """AAD Vpn authentication type related parameters. + + :param aad_tenant: AAD Vpn authentication parameter AAD tenant. + :type aad_tenant: str + :param aad_audience: AAD Vpn authentication parameter AAD audience. + :type aad_audience: str + :param aad_issuer: AAD Vpn authentication parameter AAD issuer. + :type aad_issuer: str + """ + + _attribute_map = { + 'aad_tenant': {'key': 'aadTenant', 'type': 'str'}, + 'aad_audience': {'key': 'aadAudience', 'type': 'str'}, + 'aad_issuer': {'key': 'aadIssuer', 'type': 'str'}, + } + + def __init__(self, *, aad_tenant: str=None, aad_audience: str=None, aad_issuer: str=None, **kwargs) -> None: + super(AadAuthenticationParameters, self).__init__(**kwargs) + self.aad_tenant = aad_tenant + self.aad_audience = aad_audience + self.aad_issuer = aad_issuer + + +class AddressSpace(Model): + """AddressSpace contains an array of IP address ranges that can be used by + subnets of the virtual network. + + :param address_prefixes: A list of address blocks reserved for this + virtual network in CIDR notation. + :type address_prefixes: list[str] + """ + + _attribute_map = { + 'address_prefixes': {'key': 'addressPrefixes', 'type': '[str]'}, + } + + def __init__(self, *, address_prefixes=None, **kwargs) -> None: + super(AddressSpace, self).__init__(**kwargs) + self.address_prefixes = address_prefixes + + +class Resource(Model): + """Common resource representation. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, **kwargs) -> None: + super(Resource, self).__init__(**kwargs) + self.id = id + self.name = None + self.type = None + self.location = location + self.tags = tags + + +class ApplicationGateway(Resource): + """Application gateway resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param sku: SKU of the application gateway resource. + :type sku: ~azure.mgmt.network.v2020_05_01.models.ApplicationGatewaySku + :param ssl_policy: SSL policy of the application gateway resource. + :type ssl_policy: + ~azure.mgmt.network.v2020_05_01.models.ApplicationGatewaySslPolicy + :ivar operational_state: Operational state of the application gateway + resource. Possible values include: 'Stopped', 'Starting', 'Running', + 'Stopping' + :vartype operational_state: str or + ~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayOperationalState + :param gateway_ip_configurations: Subnets of the application gateway + resource. For default limits, see [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + :type gateway_ip_configurations: + list[~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayIPConfiguration] + :param authentication_certificates: Authentication certificates of the + application gateway resource. For default limits, see [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + :type authentication_certificates: + list[~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayAuthenticationCertificate] + :param trusted_root_certificates: Trusted Root certificates of the + application gateway resource. For default limits, see [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + :type trusted_root_certificates: + list[~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayTrustedRootCertificate] + :param ssl_certificates: SSL certificates of the application gateway + resource. For default limits, see [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + :type ssl_certificates: + list[~azure.mgmt.network.v2020_05_01.models.ApplicationGatewaySslCertificate] + :param frontend_ip_configurations: Frontend IP addresses of the + application gateway resource. For default limits, see [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + :type frontend_ip_configurations: + list[~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayFrontendIPConfiguration] + :param frontend_ports: Frontend ports of the application gateway resource. + For default limits, see [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + :type frontend_ports: + list[~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayFrontendPort] + :param probes: Probes of the application gateway resource. + :type probes: + list[~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayProbe] + :param backend_address_pools: Backend address pool of the application + gateway resource. For default limits, see [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + :type backend_address_pools: + list[~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayBackendAddressPool] + :param backend_http_settings_collection: Backend http settings of the + application gateway resource. For default limits, see [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + :type backend_http_settings_collection: + list[~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayBackendHttpSettings] + :param http_listeners: Http listeners of the application gateway resource. + For default limits, see [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + :type http_listeners: + list[~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayHttpListener] + :param url_path_maps: URL path map of the application gateway resource. + For default limits, see [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + :type url_path_maps: + list[~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayUrlPathMap] + :param request_routing_rules: Request routing rules of the application + gateway resource. + :type request_routing_rules: + list[~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayRequestRoutingRule] + :param rewrite_rule_sets: Rewrite rules for the application gateway + resource. + :type rewrite_rule_sets: + list[~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayRewriteRuleSet] + :param redirect_configurations: Redirect configurations of the application + gateway resource. For default limits, see [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + :type redirect_configurations: + list[~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayRedirectConfiguration] + :param web_application_firewall_configuration: Web application firewall + configuration. + :type web_application_firewall_configuration: + ~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayWebApplicationFirewallConfiguration + :param firewall_policy: Reference to the FirewallPolicy resource. + :type firewall_policy: ~azure.mgmt.network.v2020_05_01.models.SubResource + :param enable_http2: Whether HTTP2 is enabled on the application gateway + resource. + :type enable_http2: bool + :param enable_fips: Whether FIPS is enabled on the application gateway + resource. + :type enable_fips: bool + :param autoscale_configuration: Autoscale Configuration. + :type autoscale_configuration: + ~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayAutoscaleConfiguration + :ivar resource_guid: The resource GUID property of the application gateway + resource. + :vartype resource_guid: str + :ivar provisioning_state: The provisioning state of the application + gateway resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param custom_error_configurations: Custom error configurations of the + application gateway resource. + :type custom_error_configurations: + list[~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayCustomError] + :param force_firewall_policy_association: If true, associates a firewall + policy with an application gateway regardless whether the policy differs + from the WAF Config. + :type force_firewall_policy_association: bool + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :param zones: A list of availability zones denoting where the resource + needs to come from. + :type zones: list[str] + :param identity: The identity of the application gateway, if configured. + :type identity: + ~azure.mgmt.network.v2020_05_01.models.ManagedServiceIdentity + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'operational_state': {'readonly': True}, + 'resource_guid': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'sku': {'key': 'properties.sku', 'type': 'ApplicationGatewaySku'}, + 'ssl_policy': {'key': 'properties.sslPolicy', 'type': 'ApplicationGatewaySslPolicy'}, + 'operational_state': {'key': 'properties.operationalState', 'type': 'str'}, + 'gateway_ip_configurations': {'key': 'properties.gatewayIPConfigurations', 'type': '[ApplicationGatewayIPConfiguration]'}, + 'authentication_certificates': {'key': 'properties.authenticationCertificates', 'type': '[ApplicationGatewayAuthenticationCertificate]'}, + 'trusted_root_certificates': {'key': 'properties.trustedRootCertificates', 'type': '[ApplicationGatewayTrustedRootCertificate]'}, + 'ssl_certificates': {'key': 'properties.sslCertificates', 'type': '[ApplicationGatewaySslCertificate]'}, + 'frontend_ip_configurations': {'key': 'properties.frontendIPConfigurations', 'type': '[ApplicationGatewayFrontendIPConfiguration]'}, + 'frontend_ports': {'key': 'properties.frontendPorts', 'type': '[ApplicationGatewayFrontendPort]'}, + 'probes': {'key': 'properties.probes', 'type': '[ApplicationGatewayProbe]'}, + 'backend_address_pools': {'key': 'properties.backendAddressPools', 'type': '[ApplicationGatewayBackendAddressPool]'}, + 'backend_http_settings_collection': {'key': 'properties.backendHttpSettingsCollection', 'type': '[ApplicationGatewayBackendHttpSettings]'}, + 'http_listeners': {'key': 'properties.httpListeners', 'type': '[ApplicationGatewayHttpListener]'}, + 'url_path_maps': {'key': 'properties.urlPathMaps', 'type': '[ApplicationGatewayUrlPathMap]'}, + 'request_routing_rules': {'key': 'properties.requestRoutingRules', 'type': '[ApplicationGatewayRequestRoutingRule]'}, + 'rewrite_rule_sets': {'key': 'properties.rewriteRuleSets', 'type': '[ApplicationGatewayRewriteRuleSet]'}, + 'redirect_configurations': {'key': 'properties.redirectConfigurations', 'type': '[ApplicationGatewayRedirectConfiguration]'}, + 'web_application_firewall_configuration': {'key': 'properties.webApplicationFirewallConfiguration', 'type': 'ApplicationGatewayWebApplicationFirewallConfiguration'}, + 'firewall_policy': {'key': 'properties.firewallPolicy', 'type': 'SubResource'}, + 'enable_http2': {'key': 'properties.enableHttp2', 'type': 'bool'}, + 'enable_fips': {'key': 'properties.enableFips', 'type': 'bool'}, + 'autoscale_configuration': {'key': 'properties.autoscaleConfiguration', 'type': 'ApplicationGatewayAutoscaleConfiguration'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'custom_error_configurations': {'key': 'properties.customErrorConfigurations', 'type': '[ApplicationGatewayCustomError]'}, + 'force_firewall_policy_association': {'key': 'properties.forceFirewallPolicyAssociation', 'type': 'bool'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'zones': {'key': 'zones', 'type': '[str]'}, + 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, sku=None, ssl_policy=None, gateway_ip_configurations=None, authentication_certificates=None, trusted_root_certificates=None, ssl_certificates=None, frontend_ip_configurations=None, frontend_ports=None, probes=None, backend_address_pools=None, backend_http_settings_collection=None, http_listeners=None, url_path_maps=None, request_routing_rules=None, rewrite_rule_sets=None, redirect_configurations=None, web_application_firewall_configuration=None, firewall_policy=None, enable_http2: bool=None, enable_fips: bool=None, autoscale_configuration=None, custom_error_configurations=None, force_firewall_policy_association: bool=None, zones=None, identity=None, **kwargs) -> None: + super(ApplicationGateway, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.sku = sku + self.ssl_policy = ssl_policy + self.operational_state = None + self.gateway_ip_configurations = gateway_ip_configurations + self.authentication_certificates = authentication_certificates + self.trusted_root_certificates = trusted_root_certificates + self.ssl_certificates = ssl_certificates + self.frontend_ip_configurations = frontend_ip_configurations + self.frontend_ports = frontend_ports + self.probes = probes + self.backend_address_pools = backend_address_pools + self.backend_http_settings_collection = backend_http_settings_collection + self.http_listeners = http_listeners + self.url_path_maps = url_path_maps + self.request_routing_rules = request_routing_rules + self.rewrite_rule_sets = rewrite_rule_sets + self.redirect_configurations = redirect_configurations + self.web_application_firewall_configuration = web_application_firewall_configuration + self.firewall_policy = firewall_policy + self.enable_http2 = enable_http2 + self.enable_fips = enable_fips + self.autoscale_configuration = autoscale_configuration + self.resource_guid = None + self.provisioning_state = None + self.custom_error_configurations = custom_error_configurations + self.force_firewall_policy_association = force_firewall_policy_association + self.etag = None + self.zones = zones + self.identity = identity + + +class SubResource(Model): + """Reference to another subresource. + + :param id: Resource ID. + :type id: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, **kwargs) -> None: + super(SubResource, self).__init__(**kwargs) + self.id = id + + +class ApplicationGatewayAuthenticationCertificate(SubResource): + """Authentication certificates of an application gateway. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param data: Certificate public data. + :type data: str + :ivar provisioning_state: The provisioning state of the authentication + certificate resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: Name of the authentication certificate that is unique within + an Application Gateway. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'data': {'key': 'properties.data', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, data: str=None, name: str=None, **kwargs) -> None: + super(ApplicationGatewayAuthenticationCertificate, self).__init__(id=id, **kwargs) + self.data = data + self.provisioning_state = None + self.name = name + self.etag = None + self.type = None + + +class ApplicationGatewayAutoscaleConfiguration(Model): + """Application Gateway autoscale configuration. + + All required parameters must be populated in order to send to Azure. + + :param min_capacity: Required. Lower bound on number of Application + Gateway capacity. + :type min_capacity: int + :param max_capacity: Upper bound on number of Application Gateway + capacity. + :type max_capacity: int + """ + + _validation = { + 'min_capacity': {'required': True, 'minimum': 0}, + 'max_capacity': {'minimum': 2}, + } + + _attribute_map = { + 'min_capacity': {'key': 'minCapacity', 'type': 'int'}, + 'max_capacity': {'key': 'maxCapacity', 'type': 'int'}, + } + + def __init__(self, *, min_capacity: int, max_capacity: int=None, **kwargs) -> None: + super(ApplicationGatewayAutoscaleConfiguration, self).__init__(**kwargs) + self.min_capacity = min_capacity + self.max_capacity = max_capacity + + +class ApplicationGatewayAvailableSslOptions(Resource): + """Response for ApplicationGatewayAvailableSslOptions API service call. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param predefined_policies: List of available Ssl predefined policy. + :type predefined_policies: + list[~azure.mgmt.network.v2020_05_01.models.SubResource] + :param default_policy: Name of the Ssl predefined policy applied by + default to application gateway. Possible values include: + 'AppGwSslPolicy20150501', 'AppGwSslPolicy20170401', + 'AppGwSslPolicy20170401S' + :type default_policy: str or + ~azure.mgmt.network.v2020_05_01.models.ApplicationGatewaySslPolicyName + :param available_cipher_suites: List of available Ssl cipher suites. + :type available_cipher_suites: list[str or + ~azure.mgmt.network.v2020_05_01.models.ApplicationGatewaySslCipherSuite] + :param available_protocols: List of available Ssl protocols. + :type available_protocols: list[str or + ~azure.mgmt.network.v2020_05_01.models.ApplicationGatewaySslProtocol] + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'predefined_policies': {'key': 'properties.predefinedPolicies', 'type': '[SubResource]'}, + 'default_policy': {'key': 'properties.defaultPolicy', 'type': 'str'}, + 'available_cipher_suites': {'key': 'properties.availableCipherSuites', 'type': '[str]'}, + 'available_protocols': {'key': 'properties.availableProtocols', 'type': '[str]'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, predefined_policies=None, default_policy=None, available_cipher_suites=None, available_protocols=None, **kwargs) -> None: + super(ApplicationGatewayAvailableSslOptions, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.predefined_policies = predefined_policies + self.default_policy = default_policy + self.available_cipher_suites = available_cipher_suites + self.available_protocols = available_protocols + + +class ApplicationGatewayAvailableWafRuleSetsResult(Model): + """Response for ApplicationGatewayAvailableWafRuleSets API service call. + + :param value: The list of application gateway rule sets. + :type value: + list[~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayFirewallRuleSet] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ApplicationGatewayFirewallRuleSet]'}, + } + + def __init__(self, *, value=None, **kwargs) -> None: + super(ApplicationGatewayAvailableWafRuleSetsResult, self).__init__(**kwargs) + self.value = value + + +class ApplicationGatewayBackendAddress(Model): + """Backend address of an application gateway. + + :param fqdn: Fully qualified domain name (FQDN). + :type fqdn: str + :param ip_address: IP address. + :type ip_address: str + """ + + _attribute_map = { + 'fqdn': {'key': 'fqdn', 'type': 'str'}, + 'ip_address': {'key': 'ipAddress', 'type': 'str'}, + } + + def __init__(self, *, fqdn: str=None, ip_address: str=None, **kwargs) -> None: + super(ApplicationGatewayBackendAddress, self).__init__(**kwargs) + self.fqdn = fqdn + self.ip_address = ip_address + + +class ApplicationGatewayBackendAddressPool(SubResource): + """Backend Address Pool of an application gateway. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar backend_ip_configurations: Collection of references to IPs defined + in network interfaces. + :vartype backend_ip_configurations: + list[~azure.mgmt.network.v2020_05_01.models.NetworkInterfaceIPConfiguration] + :param backend_addresses: Backend addresses. + :type backend_addresses: + list[~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayBackendAddress] + :ivar provisioning_state: The provisioning state of the backend address + pool resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: Name of the backend address pool that is unique within an + Application Gateway. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'backend_ip_configurations': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'backend_ip_configurations': {'key': 'properties.backendIPConfigurations', 'type': '[NetworkInterfaceIPConfiguration]'}, + 'backend_addresses': {'key': 'properties.backendAddresses', 'type': '[ApplicationGatewayBackendAddress]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, backend_addresses=None, name: str=None, **kwargs) -> None: + super(ApplicationGatewayBackendAddressPool, self).__init__(id=id, **kwargs) + self.backend_ip_configurations = None + self.backend_addresses = backend_addresses + self.provisioning_state = None + self.name = name + self.etag = None + self.type = None + + +class ApplicationGatewayBackendHealth(Model): + """Response for ApplicationGatewayBackendHealth API service call. + + :param backend_address_pools: A list of + ApplicationGatewayBackendHealthPool resources. + :type backend_address_pools: + list[~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayBackendHealthPool] + """ + + _attribute_map = { + 'backend_address_pools': {'key': 'backendAddressPools', 'type': '[ApplicationGatewayBackendHealthPool]'}, + } + + def __init__(self, *, backend_address_pools=None, **kwargs) -> None: + super(ApplicationGatewayBackendHealth, self).__init__(**kwargs) + self.backend_address_pools = backend_address_pools + + +class ApplicationGatewayBackendHealthHttpSettings(Model): + """Application gateway BackendHealthHttp settings. + + :param backend_http_settings: Reference to an + ApplicationGatewayBackendHttpSettings resource. + :type backend_http_settings: + ~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayBackendHttpSettings + :param servers: List of ApplicationGatewayBackendHealthServer resources. + :type servers: + list[~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayBackendHealthServer] + """ + + _attribute_map = { + 'backend_http_settings': {'key': 'backendHttpSettings', 'type': 'ApplicationGatewayBackendHttpSettings'}, + 'servers': {'key': 'servers', 'type': '[ApplicationGatewayBackendHealthServer]'}, + } + + def __init__(self, *, backend_http_settings=None, servers=None, **kwargs) -> None: + super(ApplicationGatewayBackendHealthHttpSettings, self).__init__(**kwargs) + self.backend_http_settings = backend_http_settings + self.servers = servers + + +class ApplicationGatewayBackendHealthOnDemand(Model): + """Result of on demand test probe. + + :param backend_address_pool: Reference to an + ApplicationGatewayBackendAddressPool resource. + :type backend_address_pool: + ~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayBackendAddressPool + :param backend_health_http_settings: Application gateway BackendHealthHttp + settings. + :type backend_health_http_settings: + ~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayBackendHealthHttpSettings + """ + + _attribute_map = { + 'backend_address_pool': {'key': 'backendAddressPool', 'type': 'ApplicationGatewayBackendAddressPool'}, + 'backend_health_http_settings': {'key': 'backendHealthHttpSettings', 'type': 'ApplicationGatewayBackendHealthHttpSettings'}, + } + + def __init__(self, *, backend_address_pool=None, backend_health_http_settings=None, **kwargs) -> None: + super(ApplicationGatewayBackendHealthOnDemand, self).__init__(**kwargs) + self.backend_address_pool = backend_address_pool + self.backend_health_http_settings = backend_health_http_settings + + +class ApplicationGatewayBackendHealthPool(Model): + """Application gateway BackendHealth pool. + + :param backend_address_pool: Reference to an + ApplicationGatewayBackendAddressPool resource. + :type backend_address_pool: + ~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayBackendAddressPool + :param backend_http_settings_collection: List of + ApplicationGatewayBackendHealthHttpSettings resources. + :type backend_http_settings_collection: + list[~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayBackendHealthHttpSettings] + """ + + _attribute_map = { + 'backend_address_pool': {'key': 'backendAddressPool', 'type': 'ApplicationGatewayBackendAddressPool'}, + 'backend_http_settings_collection': {'key': 'backendHttpSettingsCollection', 'type': '[ApplicationGatewayBackendHealthHttpSettings]'}, + } + + def __init__(self, *, backend_address_pool=None, backend_http_settings_collection=None, **kwargs) -> None: + super(ApplicationGatewayBackendHealthPool, self).__init__(**kwargs) + self.backend_address_pool = backend_address_pool + self.backend_http_settings_collection = backend_http_settings_collection + + +class ApplicationGatewayBackendHealthServer(Model): + """Application gateway backendhealth http settings. + + :param address: IP address or FQDN of backend server. + :type address: str + :param ip_configuration: Reference to IP configuration of backend server. + :type ip_configuration: + ~azure.mgmt.network.v2020_05_01.models.NetworkInterfaceIPConfiguration + :param health: Health of backend server. Possible values include: + 'Unknown', 'Up', 'Down', 'Partial', 'Draining' + :type health: str or + ~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayBackendHealthServerHealth + :param health_probe_log: Health Probe Log. + :type health_probe_log: str + """ + + _attribute_map = { + 'address': {'key': 'address', 'type': 'str'}, + 'ip_configuration': {'key': 'ipConfiguration', 'type': 'NetworkInterfaceIPConfiguration'}, + 'health': {'key': 'health', 'type': 'str'}, + 'health_probe_log': {'key': 'healthProbeLog', 'type': 'str'}, + } + + def __init__(self, *, address: str=None, ip_configuration=None, health=None, health_probe_log: str=None, **kwargs) -> None: + super(ApplicationGatewayBackendHealthServer, self).__init__(**kwargs) + self.address = address + self.ip_configuration = ip_configuration + self.health = health + self.health_probe_log = health_probe_log + + +class ApplicationGatewayBackendHttpSettings(SubResource): + """Backend address pool settings of an application gateway. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param port: The destination port on the backend. + :type port: int + :param protocol: The protocol used to communicate with the backend. + Possible values include: 'Http', 'Https' + :type protocol: str or + ~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayProtocol + :param cookie_based_affinity: Cookie based affinity. Possible values + include: 'Enabled', 'Disabled' + :type cookie_based_affinity: str or + ~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayCookieBasedAffinity + :param request_timeout: Request timeout in seconds. Application Gateway + will fail the request if response is not received within RequestTimeout. + Acceptable values are from 1 second to 86400 seconds. + :type request_timeout: int + :param probe: Probe resource of an application gateway. + :type probe: ~azure.mgmt.network.v2020_05_01.models.SubResource + :param authentication_certificates: Array of references to application + gateway authentication certificates. + :type authentication_certificates: + list[~azure.mgmt.network.v2020_05_01.models.SubResource] + :param trusted_root_certificates: Array of references to application + gateway trusted root certificates. + :type trusted_root_certificates: + list[~azure.mgmt.network.v2020_05_01.models.SubResource] + :param connection_draining: Connection draining of the backend http + settings resource. + :type connection_draining: + ~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayConnectionDraining + :param host_name: Host header to be sent to the backend servers. + :type host_name: str + :param pick_host_name_from_backend_address: Whether to pick host header + should be picked from the host name of the backend server. Default value + is false. + :type pick_host_name_from_backend_address: bool + :param affinity_cookie_name: Cookie name to use for the affinity cookie. + :type affinity_cookie_name: str + :param probe_enabled: Whether the probe is enabled. Default value is + false. + :type probe_enabled: bool + :param path: Path which should be used as a prefix for all HTTP requests. + Null means no path will be prefixed. Default value is null. + :type path: str + :ivar provisioning_state: The provisioning state of the backend HTTP + settings resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: Name of the backend http settings that is unique within an + Application Gateway. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'port': {'key': 'properties.port', 'type': 'int'}, + 'protocol': {'key': 'properties.protocol', 'type': 'str'}, + 'cookie_based_affinity': {'key': 'properties.cookieBasedAffinity', 'type': 'str'}, + 'request_timeout': {'key': 'properties.requestTimeout', 'type': 'int'}, + 'probe': {'key': 'properties.probe', 'type': 'SubResource'}, + 'authentication_certificates': {'key': 'properties.authenticationCertificates', 'type': '[SubResource]'}, + 'trusted_root_certificates': {'key': 'properties.trustedRootCertificates', 'type': '[SubResource]'}, + 'connection_draining': {'key': 'properties.connectionDraining', 'type': 'ApplicationGatewayConnectionDraining'}, + 'host_name': {'key': 'properties.hostName', 'type': 'str'}, + 'pick_host_name_from_backend_address': {'key': 'properties.pickHostNameFromBackendAddress', 'type': 'bool'}, + 'affinity_cookie_name': {'key': 'properties.affinityCookieName', 'type': 'str'}, + 'probe_enabled': {'key': 'properties.probeEnabled', 'type': 'bool'}, + 'path': {'key': 'properties.path', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, port: int=None, protocol=None, cookie_based_affinity=None, request_timeout: int=None, probe=None, authentication_certificates=None, trusted_root_certificates=None, connection_draining=None, host_name: str=None, pick_host_name_from_backend_address: bool=None, affinity_cookie_name: str=None, probe_enabled: bool=None, path: str=None, name: str=None, **kwargs) -> None: + super(ApplicationGatewayBackendHttpSettings, self).__init__(id=id, **kwargs) + self.port = port + self.protocol = protocol + self.cookie_based_affinity = cookie_based_affinity + self.request_timeout = request_timeout + self.probe = probe + self.authentication_certificates = authentication_certificates + self.trusted_root_certificates = trusted_root_certificates + self.connection_draining = connection_draining + self.host_name = host_name + self.pick_host_name_from_backend_address = pick_host_name_from_backend_address + self.affinity_cookie_name = affinity_cookie_name + self.probe_enabled = probe_enabled + self.path = path + self.provisioning_state = None + self.name = name + self.etag = None + self.type = None + + +class ApplicationGatewayConnectionDraining(Model): + """Connection draining allows open connections to a backend server to be + active for a specified time after the backend server got removed from the + configuration. + + All required parameters must be populated in order to send to Azure. + + :param enabled: Required. Whether connection draining is enabled or not. + :type enabled: bool + :param drain_timeout_in_sec: Required. The number of seconds connection + draining is active. Acceptable values are from 1 second to 3600 seconds. + :type drain_timeout_in_sec: int + """ + + _validation = { + 'enabled': {'required': True}, + 'drain_timeout_in_sec': {'required': True, 'maximum': 3600, 'minimum': 1}, + } + + _attribute_map = { + 'enabled': {'key': 'enabled', 'type': 'bool'}, + 'drain_timeout_in_sec': {'key': 'drainTimeoutInSec', 'type': 'int'}, + } + + def __init__(self, *, enabled: bool, drain_timeout_in_sec: int, **kwargs) -> None: + super(ApplicationGatewayConnectionDraining, self).__init__(**kwargs) + self.enabled = enabled + self.drain_timeout_in_sec = drain_timeout_in_sec + + +class ApplicationGatewayCustomError(Model): + """Customer error of an application gateway. + + :param status_code: Status code of the application gateway customer error. + Possible values include: 'HttpStatus403', 'HttpStatus502' + :type status_code: str or + ~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayCustomErrorStatusCode + :param custom_error_page_url: Error page URL of the application gateway + customer error. + :type custom_error_page_url: str + """ + + _attribute_map = { + 'status_code': {'key': 'statusCode', 'type': 'str'}, + 'custom_error_page_url': {'key': 'customErrorPageUrl', 'type': 'str'}, + } + + def __init__(self, *, status_code=None, custom_error_page_url: str=None, **kwargs) -> None: + super(ApplicationGatewayCustomError, self).__init__(**kwargs) + self.status_code = status_code + self.custom_error_page_url = custom_error_page_url + + +class ApplicationGatewayFirewallDisabledRuleGroup(Model): + """Allows to disable rules within a rule group or an entire rule group. + + All required parameters must be populated in order to send to Azure. + + :param rule_group_name: Required. The name of the rule group that will be + disabled. + :type rule_group_name: str + :param rules: The list of rules that will be disabled. If null, all rules + of the rule group will be disabled. + :type rules: list[int] + """ + + _validation = { + 'rule_group_name': {'required': True}, + } + + _attribute_map = { + 'rule_group_name': {'key': 'ruleGroupName', 'type': 'str'}, + 'rules': {'key': 'rules', 'type': '[int]'}, + } + + def __init__(self, *, rule_group_name: str, rules=None, **kwargs) -> None: + super(ApplicationGatewayFirewallDisabledRuleGroup, self).__init__(**kwargs) + self.rule_group_name = rule_group_name + self.rules = rules + + +class ApplicationGatewayFirewallExclusion(Model): + """Allow to exclude some variable satisfy the condition for the WAF check. + + All required parameters must be populated in order to send to Azure. + + :param match_variable: Required. The variable to be excluded. + :type match_variable: str + :param selector_match_operator: Required. When matchVariable is a + collection, operate on the selector to specify which elements in the + collection this exclusion applies to. + :type selector_match_operator: str + :param selector: Required. When matchVariable is a collection, operator + used to specify which elements in the collection this exclusion applies + to. + :type selector: str + """ + + _validation = { + 'match_variable': {'required': True}, + 'selector_match_operator': {'required': True}, + 'selector': {'required': True}, + } + + _attribute_map = { + 'match_variable': {'key': 'matchVariable', 'type': 'str'}, + 'selector_match_operator': {'key': 'selectorMatchOperator', 'type': 'str'}, + 'selector': {'key': 'selector', 'type': 'str'}, + } + + def __init__(self, *, match_variable: str, selector_match_operator: str, selector: str, **kwargs) -> None: + super(ApplicationGatewayFirewallExclusion, self).__init__(**kwargs) + self.match_variable = match_variable + self.selector_match_operator = selector_match_operator + self.selector = selector + + +class ApplicationGatewayFirewallRule(Model): + """A web application firewall rule. + + All required parameters must be populated in order to send to Azure. + + :param rule_id: Required. The identifier of the web application firewall + rule. + :type rule_id: int + :param description: The description of the web application firewall rule. + :type description: str + """ + + _validation = { + 'rule_id': {'required': True}, + } + + _attribute_map = { + 'rule_id': {'key': 'ruleId', 'type': 'int'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__(self, *, rule_id: int, description: str=None, **kwargs) -> None: + super(ApplicationGatewayFirewallRule, self).__init__(**kwargs) + self.rule_id = rule_id + self.description = description + + +class ApplicationGatewayFirewallRuleGroup(Model): + """A web application firewall rule group. + + All required parameters must be populated in order to send to Azure. + + :param rule_group_name: Required. The name of the web application firewall + rule group. + :type rule_group_name: str + :param description: The description of the web application firewall rule + group. + :type description: str + :param rules: Required. The rules of the web application firewall rule + group. + :type rules: + list[~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayFirewallRule] + """ + + _validation = { + 'rule_group_name': {'required': True}, + 'rules': {'required': True}, + } + + _attribute_map = { + 'rule_group_name': {'key': 'ruleGroupName', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'rules': {'key': 'rules', 'type': '[ApplicationGatewayFirewallRule]'}, + } + + def __init__(self, *, rule_group_name: str, rules, description: str=None, **kwargs) -> None: + super(ApplicationGatewayFirewallRuleGroup, self).__init__(**kwargs) + self.rule_group_name = rule_group_name + self.description = description + self.rules = rules + + +class ApplicationGatewayFirewallRuleSet(Resource): + """A web application firewall rule set. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar provisioning_state: The provisioning state of the web application + firewall rule set. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param rule_set_type: Required. The type of the web application firewall + rule set. + :type rule_set_type: str + :param rule_set_version: Required. The version of the web application + firewall rule set type. + :type rule_set_version: str + :param rule_groups: Required. The rule groups of the web application + firewall rule set. + :type rule_groups: + list[~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayFirewallRuleGroup] + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'rule_set_type': {'required': True}, + 'rule_set_version': {'required': True}, + 'rule_groups': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'rule_set_type': {'key': 'properties.ruleSetType', 'type': 'str'}, + 'rule_set_version': {'key': 'properties.ruleSetVersion', 'type': 'str'}, + 'rule_groups': {'key': 'properties.ruleGroups', 'type': '[ApplicationGatewayFirewallRuleGroup]'}, + } + + def __init__(self, *, rule_set_type: str, rule_set_version: str, rule_groups, id: str=None, location: str=None, tags=None, **kwargs) -> None: + super(ApplicationGatewayFirewallRuleSet, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.provisioning_state = None + self.rule_set_type = rule_set_type + self.rule_set_version = rule_set_version + self.rule_groups = rule_groups + + +class ApplicationGatewayFrontendIPConfiguration(SubResource): + """Frontend IP configuration of an application gateway. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param private_ip_address: PrivateIPAddress of the network interface IP + Configuration. + :type private_ip_address: str + :param private_ip_allocation_method: The private IP address allocation + method. Possible values include: 'Static', 'Dynamic' + :type private_ip_allocation_method: str or + ~azure.mgmt.network.v2020_05_01.models.IPAllocationMethod + :param subnet: Reference to the subnet resource. + :type subnet: ~azure.mgmt.network.v2020_05_01.models.SubResource + :param public_ip_address: Reference to the PublicIP resource. + :type public_ip_address: + ~azure.mgmt.network.v2020_05_01.models.SubResource + :ivar provisioning_state: The provisioning state of the frontend IP + configuration resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: Name of the frontend IP configuration that is unique within + an Application Gateway. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, + 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, + 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, + 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'SubResource'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, private_ip_address: str=None, private_ip_allocation_method=None, subnet=None, public_ip_address=None, name: str=None, **kwargs) -> None: + super(ApplicationGatewayFrontendIPConfiguration, self).__init__(id=id, **kwargs) + self.private_ip_address = private_ip_address + self.private_ip_allocation_method = private_ip_allocation_method + self.subnet = subnet + self.public_ip_address = public_ip_address + self.provisioning_state = None + self.name = name + self.etag = None + self.type = None + + +class ApplicationGatewayFrontendPort(SubResource): + """Frontend port of an application gateway. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param port: Frontend port. + :type port: int + :ivar provisioning_state: The provisioning state of the frontend port + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: Name of the frontend port that is unique within an + Application Gateway. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'port': {'key': 'properties.port', 'type': 'int'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, port: int=None, name: str=None, **kwargs) -> None: + super(ApplicationGatewayFrontendPort, self).__init__(id=id, **kwargs) + self.port = port + self.provisioning_state = None + self.name = name + self.etag = None + self.type = None + + +class ApplicationGatewayHeaderConfiguration(Model): + """Header configuration of the Actions set in Application Gateway. + + :param header_name: Header name of the header configuration. + :type header_name: str + :param header_value: Header value of the header configuration. + :type header_value: str + """ + + _attribute_map = { + 'header_name': {'key': 'headerName', 'type': 'str'}, + 'header_value': {'key': 'headerValue', 'type': 'str'}, + } + + def __init__(self, *, header_name: str=None, header_value: str=None, **kwargs) -> None: + super(ApplicationGatewayHeaderConfiguration, self).__init__(**kwargs) + self.header_name = header_name + self.header_value = header_value + + +class ApplicationGatewayHttpListener(SubResource): + """Http listener of an application gateway. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param frontend_ip_configuration: Frontend IP configuration resource of an + application gateway. + :type frontend_ip_configuration: + ~azure.mgmt.network.v2020_05_01.models.SubResource + :param frontend_port: Frontend port resource of an application gateway. + :type frontend_port: ~azure.mgmt.network.v2020_05_01.models.SubResource + :param protocol: Protocol of the HTTP listener. Possible values include: + 'Http', 'Https' + :type protocol: str or + ~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayProtocol + :param host_name: Host name of HTTP listener. + :type host_name: str + :param ssl_certificate: SSL certificate resource of an application + gateway. + :type ssl_certificate: ~azure.mgmt.network.v2020_05_01.models.SubResource + :param require_server_name_indication: Applicable only if protocol is + https. Enables SNI for multi-hosting. + :type require_server_name_indication: bool + :ivar provisioning_state: The provisioning state of the HTTP listener + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param custom_error_configurations: Custom error configurations of the + HTTP listener. + :type custom_error_configurations: + list[~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayCustomError] + :param firewall_policy: Reference to the FirewallPolicy resource. + :type firewall_policy: ~azure.mgmt.network.v2020_05_01.models.SubResource + :param host_names: List of Host names for HTTP Listener that allows + special wildcard characters as well. + :type host_names: list[str] + :param name: Name of the HTTP listener that is unique within an + Application Gateway. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'frontend_ip_configuration': {'key': 'properties.frontendIPConfiguration', 'type': 'SubResource'}, + 'frontend_port': {'key': 'properties.frontendPort', 'type': 'SubResource'}, + 'protocol': {'key': 'properties.protocol', 'type': 'str'}, + 'host_name': {'key': 'properties.hostName', 'type': 'str'}, + 'ssl_certificate': {'key': 'properties.sslCertificate', 'type': 'SubResource'}, + 'require_server_name_indication': {'key': 'properties.requireServerNameIndication', 'type': 'bool'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'custom_error_configurations': {'key': 'properties.customErrorConfigurations', 'type': '[ApplicationGatewayCustomError]'}, + 'firewall_policy': {'key': 'properties.firewallPolicy', 'type': 'SubResource'}, + 'host_names': {'key': 'properties.hostNames', 'type': '[str]'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, frontend_ip_configuration=None, frontend_port=None, protocol=None, host_name: str=None, ssl_certificate=None, require_server_name_indication: bool=None, custom_error_configurations=None, firewall_policy=None, host_names=None, name: str=None, **kwargs) -> None: + super(ApplicationGatewayHttpListener, self).__init__(id=id, **kwargs) + self.frontend_ip_configuration = frontend_ip_configuration + self.frontend_port = frontend_port + self.protocol = protocol + self.host_name = host_name + self.ssl_certificate = ssl_certificate + self.require_server_name_indication = require_server_name_indication + self.provisioning_state = None + self.custom_error_configurations = custom_error_configurations + self.firewall_policy = firewall_policy + self.host_names = host_names + self.name = name + self.etag = None + self.type = None + + +class ApplicationGatewayIPConfiguration(SubResource): + """IP configuration of an application gateway. Currently 1 public and 1 + private IP configuration is allowed. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param subnet: Reference to the subnet resource. A subnet from where + application gateway gets its private address. + :type subnet: ~azure.mgmt.network.v2020_05_01.models.SubResource + :ivar provisioning_state: The provisioning state of the application + gateway IP configuration resource. Possible values include: 'Succeeded', + 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: Name of the IP configuration that is unique within an + Application Gateway. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, subnet=None, name: str=None, **kwargs) -> None: + super(ApplicationGatewayIPConfiguration, self).__init__(id=id, **kwargs) + self.subnet = subnet + self.provisioning_state = None + self.name = name + self.etag = None + self.type = None + + +class ApplicationGatewayOnDemandProbe(Model): + """Details of on demand test probe request. + + :param protocol: The protocol used for the probe. Possible values include: + 'Http', 'Https' + :type protocol: str or + ~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayProtocol + :param host: Host name to send the probe to. + :type host: str + :param path: Relative path of probe. Valid path starts from '/'. Probe is + sent to ://:. + :type path: str + :param timeout: The probe timeout in seconds. Probe marked as failed if + valid response is not received with this timeout period. Acceptable values + are from 1 second to 86400 seconds. + :type timeout: int + :param pick_host_name_from_backend_http_settings: Whether the host header + should be picked from the backend http settings. Default value is false. + :type pick_host_name_from_backend_http_settings: bool + :param match: Criterion for classifying a healthy probe response. + :type match: + ~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayProbeHealthResponseMatch + :param backend_address_pool: Reference to backend pool of application + gateway to which probe request will be sent. + :type backend_address_pool: + ~azure.mgmt.network.v2020_05_01.models.SubResource + :param backend_http_settings: Reference to backend http setting of + application gateway to be used for test probe. + :type backend_http_settings: + ~azure.mgmt.network.v2020_05_01.models.SubResource + """ + + _attribute_map = { + 'protocol': {'key': 'protocol', 'type': 'str'}, + 'host': {'key': 'host', 'type': 'str'}, + 'path': {'key': 'path', 'type': 'str'}, + 'timeout': {'key': 'timeout', 'type': 'int'}, + 'pick_host_name_from_backend_http_settings': {'key': 'pickHostNameFromBackendHttpSettings', 'type': 'bool'}, + 'match': {'key': 'match', 'type': 'ApplicationGatewayProbeHealthResponseMatch'}, + 'backend_address_pool': {'key': 'backendAddressPool', 'type': 'SubResource'}, + 'backend_http_settings': {'key': 'backendHttpSettings', 'type': 'SubResource'}, + } + + def __init__(self, *, protocol=None, host: str=None, path: str=None, timeout: int=None, pick_host_name_from_backend_http_settings: bool=None, match=None, backend_address_pool=None, backend_http_settings=None, **kwargs) -> None: + super(ApplicationGatewayOnDemandProbe, self).__init__(**kwargs) + self.protocol = protocol + self.host = host + self.path = path + self.timeout = timeout + self.pick_host_name_from_backend_http_settings = pick_host_name_from_backend_http_settings + self.match = match + self.backend_address_pool = backend_address_pool + self.backend_http_settings = backend_http_settings + + +class ApplicationGatewayPathRule(SubResource): + """Path rule of URL path map of an application gateway. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param paths: Path rules of URL path map. + :type paths: list[str] + :param backend_address_pool: Backend address pool resource of URL path map + path rule. + :type backend_address_pool: + ~azure.mgmt.network.v2020_05_01.models.SubResource + :param backend_http_settings: Backend http settings resource of URL path + map path rule. + :type backend_http_settings: + ~azure.mgmt.network.v2020_05_01.models.SubResource + :param redirect_configuration: Redirect configuration resource of URL path + map path rule. + :type redirect_configuration: + ~azure.mgmt.network.v2020_05_01.models.SubResource + :param rewrite_rule_set: Rewrite rule set resource of URL path map path + rule. + :type rewrite_rule_set: ~azure.mgmt.network.v2020_05_01.models.SubResource + :ivar provisioning_state: The provisioning state of the path rule + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param firewall_policy: Reference to the FirewallPolicy resource. + :type firewall_policy: ~azure.mgmt.network.v2020_05_01.models.SubResource + :param name: Name of the path rule that is unique within an Application + Gateway. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'paths': {'key': 'properties.paths', 'type': '[str]'}, + 'backend_address_pool': {'key': 'properties.backendAddressPool', 'type': 'SubResource'}, + 'backend_http_settings': {'key': 'properties.backendHttpSettings', 'type': 'SubResource'}, + 'redirect_configuration': {'key': 'properties.redirectConfiguration', 'type': 'SubResource'}, + 'rewrite_rule_set': {'key': 'properties.rewriteRuleSet', 'type': 'SubResource'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'firewall_policy': {'key': 'properties.firewallPolicy', 'type': 'SubResource'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, paths=None, backend_address_pool=None, backend_http_settings=None, redirect_configuration=None, rewrite_rule_set=None, firewall_policy=None, name: str=None, **kwargs) -> None: + super(ApplicationGatewayPathRule, self).__init__(id=id, **kwargs) + self.paths = paths + self.backend_address_pool = backend_address_pool + self.backend_http_settings = backend_http_settings + self.redirect_configuration = redirect_configuration + self.rewrite_rule_set = rewrite_rule_set + self.provisioning_state = None + self.firewall_policy = firewall_policy + self.name = name + self.etag = None + self.type = None + + +class ApplicationGatewayProbe(SubResource): + """Probe of the application gateway. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param protocol: The protocol used for the probe. Possible values include: + 'Http', 'Https' + :type protocol: str or + ~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayProtocol + :param host: Host name to send the probe to. + :type host: str + :param path: Relative path of probe. Valid path starts from '/'. Probe is + sent to ://:. + :type path: str + :param interval: The probing interval in seconds. This is the time + interval between two consecutive probes. Acceptable values are from 1 + second to 86400 seconds. + :type interval: int + :param timeout: The probe timeout in seconds. Probe marked as failed if + valid response is not received with this timeout period. Acceptable values + are from 1 second to 86400 seconds. + :type timeout: int + :param unhealthy_threshold: The probe retry count. Backend server is + marked down after consecutive probe failure count reaches + UnhealthyThreshold. Acceptable values are from 1 second to 20. + :type unhealthy_threshold: int + :param pick_host_name_from_backend_http_settings: Whether the host header + should be picked from the backend http settings. Default value is false. + :type pick_host_name_from_backend_http_settings: bool + :param min_servers: Minimum number of servers that are always marked + healthy. Default value is 0. + :type min_servers: int + :param match: Criterion for classifying a healthy probe response. + :type match: + ~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayProbeHealthResponseMatch + :ivar provisioning_state: The provisioning state of the probe resource. + Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param port: Custom port which will be used for probing the backend + servers. The valid value ranges from 1 to 65535. In case not set, port + from http settings will be used. This property is valid for Standard_v2 + and WAF_v2 only. + :type port: int + :param name: Name of the probe that is unique within an Application + Gateway. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'port': {'maximum': 65535, 'minimum': 1}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'protocol': {'key': 'properties.protocol', 'type': 'str'}, + 'host': {'key': 'properties.host', 'type': 'str'}, + 'path': {'key': 'properties.path', 'type': 'str'}, + 'interval': {'key': 'properties.interval', 'type': 'int'}, + 'timeout': {'key': 'properties.timeout', 'type': 'int'}, + 'unhealthy_threshold': {'key': 'properties.unhealthyThreshold', 'type': 'int'}, + 'pick_host_name_from_backend_http_settings': {'key': 'properties.pickHostNameFromBackendHttpSettings', 'type': 'bool'}, + 'min_servers': {'key': 'properties.minServers', 'type': 'int'}, + 'match': {'key': 'properties.match', 'type': 'ApplicationGatewayProbeHealthResponseMatch'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'port': {'key': 'properties.port', 'type': 'int'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, protocol=None, host: str=None, path: str=None, interval: int=None, timeout: int=None, unhealthy_threshold: int=None, pick_host_name_from_backend_http_settings: bool=None, min_servers: int=None, match=None, port: int=None, name: str=None, **kwargs) -> None: + super(ApplicationGatewayProbe, self).__init__(id=id, **kwargs) + self.protocol = protocol + self.host = host + self.path = path + self.interval = interval + self.timeout = timeout + self.unhealthy_threshold = unhealthy_threshold + self.pick_host_name_from_backend_http_settings = pick_host_name_from_backend_http_settings + self.min_servers = min_servers + self.match = match + self.provisioning_state = None + self.port = port + self.name = name + self.etag = None + self.type = None + + +class ApplicationGatewayProbeHealthResponseMatch(Model): + """Application gateway probe health response match. + + :param body: Body that must be contained in the health response. Default + value is empty. + :type body: str + :param status_codes: Allowed ranges of healthy status codes. Default range + of healthy status codes is 200-399. + :type status_codes: list[str] + """ + + _attribute_map = { + 'body': {'key': 'body', 'type': 'str'}, + 'status_codes': {'key': 'statusCodes', 'type': '[str]'}, + } + + def __init__(self, *, body: str=None, status_codes=None, **kwargs) -> None: + super(ApplicationGatewayProbeHealthResponseMatch, self).__init__(**kwargs) + self.body = body + self.status_codes = status_codes + + +class ApplicationGatewayRedirectConfiguration(SubResource): + """Redirect configuration of an application gateway. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param redirect_type: HTTP redirection type. Possible values include: + 'Permanent', 'Found', 'SeeOther', 'Temporary' + :type redirect_type: str or + ~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayRedirectType + :param target_listener: Reference to a listener to redirect the request + to. + :type target_listener: ~azure.mgmt.network.v2020_05_01.models.SubResource + :param target_url: Url to redirect the request to. + :type target_url: str + :param include_path: Include path in the redirected url. + :type include_path: bool + :param include_query_string: Include query string in the redirected url. + :type include_query_string: bool + :param request_routing_rules: Request routing specifying redirect + configuration. + :type request_routing_rules: + list[~azure.mgmt.network.v2020_05_01.models.SubResource] + :param url_path_maps: Url path maps specifying default redirect + configuration. + :type url_path_maps: + list[~azure.mgmt.network.v2020_05_01.models.SubResource] + :param path_rules: Path rules specifying redirect configuration. + :type path_rules: list[~azure.mgmt.network.v2020_05_01.models.SubResource] + :param name: Name of the redirect configuration that is unique within an + Application Gateway. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'redirect_type': {'key': 'properties.redirectType', 'type': 'str'}, + 'target_listener': {'key': 'properties.targetListener', 'type': 'SubResource'}, + 'target_url': {'key': 'properties.targetUrl', 'type': 'str'}, + 'include_path': {'key': 'properties.includePath', 'type': 'bool'}, + 'include_query_string': {'key': 'properties.includeQueryString', 'type': 'bool'}, + 'request_routing_rules': {'key': 'properties.requestRoutingRules', 'type': '[SubResource]'}, + 'url_path_maps': {'key': 'properties.urlPathMaps', 'type': '[SubResource]'}, + 'path_rules': {'key': 'properties.pathRules', 'type': '[SubResource]'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, redirect_type=None, target_listener=None, target_url: str=None, include_path: bool=None, include_query_string: bool=None, request_routing_rules=None, url_path_maps=None, path_rules=None, name: str=None, **kwargs) -> None: + super(ApplicationGatewayRedirectConfiguration, self).__init__(id=id, **kwargs) + self.redirect_type = redirect_type + self.target_listener = target_listener + self.target_url = target_url + self.include_path = include_path + self.include_query_string = include_query_string + self.request_routing_rules = request_routing_rules + self.url_path_maps = url_path_maps + self.path_rules = path_rules + self.name = name + self.etag = None + self.type = None + + +class ApplicationGatewayRequestRoutingRule(SubResource): + """Request routing rule of an application gateway. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param rule_type: Rule type. Possible values include: 'Basic', + 'PathBasedRouting' + :type rule_type: str or + ~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayRequestRoutingRuleType + :param priority: Priority of the request routing rule. + :type priority: int + :param backend_address_pool: Backend address pool resource of the + application gateway. + :type backend_address_pool: + ~azure.mgmt.network.v2020_05_01.models.SubResource + :param backend_http_settings: Backend http settings resource of the + application gateway. + :type backend_http_settings: + ~azure.mgmt.network.v2020_05_01.models.SubResource + :param http_listener: Http listener resource of the application gateway. + :type http_listener: ~azure.mgmt.network.v2020_05_01.models.SubResource + :param url_path_map: URL path map resource of the application gateway. + :type url_path_map: ~azure.mgmt.network.v2020_05_01.models.SubResource + :param rewrite_rule_set: Rewrite Rule Set resource in Basic rule of the + application gateway. + :type rewrite_rule_set: ~azure.mgmt.network.v2020_05_01.models.SubResource + :param redirect_configuration: Redirect configuration resource of the + application gateway. + :type redirect_configuration: + ~azure.mgmt.network.v2020_05_01.models.SubResource + :ivar provisioning_state: The provisioning state of the request routing + rule resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: Name of the request routing rule that is unique within an + Application Gateway. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'priority': {'maximum': 20000, 'minimum': 1}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'rule_type': {'key': 'properties.ruleType', 'type': 'str'}, + 'priority': {'key': 'properties.priority', 'type': 'int'}, + 'backend_address_pool': {'key': 'properties.backendAddressPool', 'type': 'SubResource'}, + 'backend_http_settings': {'key': 'properties.backendHttpSettings', 'type': 'SubResource'}, + 'http_listener': {'key': 'properties.httpListener', 'type': 'SubResource'}, + 'url_path_map': {'key': 'properties.urlPathMap', 'type': 'SubResource'}, + 'rewrite_rule_set': {'key': 'properties.rewriteRuleSet', 'type': 'SubResource'}, + 'redirect_configuration': {'key': 'properties.redirectConfiguration', 'type': 'SubResource'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, rule_type=None, priority: int=None, backend_address_pool=None, backend_http_settings=None, http_listener=None, url_path_map=None, rewrite_rule_set=None, redirect_configuration=None, name: str=None, **kwargs) -> None: + super(ApplicationGatewayRequestRoutingRule, self).__init__(id=id, **kwargs) + self.rule_type = rule_type + self.priority = priority + self.backend_address_pool = backend_address_pool + self.backend_http_settings = backend_http_settings + self.http_listener = http_listener + self.url_path_map = url_path_map + self.rewrite_rule_set = rewrite_rule_set + self.redirect_configuration = redirect_configuration + self.provisioning_state = None + self.name = name + self.etag = None + self.type = None + + +class ApplicationGatewayRewriteRule(Model): + """Rewrite rule of an application gateway. + + :param name: Name of the rewrite rule that is unique within an Application + Gateway. + :type name: str + :param rule_sequence: Rule Sequence of the rewrite rule that determines + the order of execution of a particular rule in a RewriteRuleSet. + :type rule_sequence: int + :param conditions: Conditions based on which the action set execution will + be evaluated. + :type conditions: + list[~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayRewriteRuleCondition] + :param action_set: Set of actions to be done as part of the rewrite Rule. + :type action_set: + ~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayRewriteRuleActionSet + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'rule_sequence': {'key': 'ruleSequence', 'type': 'int'}, + 'conditions': {'key': 'conditions', 'type': '[ApplicationGatewayRewriteRuleCondition]'}, + 'action_set': {'key': 'actionSet', 'type': 'ApplicationGatewayRewriteRuleActionSet'}, + } + + def __init__(self, *, name: str=None, rule_sequence: int=None, conditions=None, action_set=None, **kwargs) -> None: + super(ApplicationGatewayRewriteRule, self).__init__(**kwargs) + self.name = name + self.rule_sequence = rule_sequence + self.conditions = conditions + self.action_set = action_set + + +class ApplicationGatewayRewriteRuleActionSet(Model): + """Set of actions in the Rewrite Rule in Application Gateway. + + :param request_header_configurations: Request Header Actions in the Action + Set. + :type request_header_configurations: + list[~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayHeaderConfiguration] + :param response_header_configurations: Response Header Actions in the + Action Set. + :type response_header_configurations: + list[~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayHeaderConfiguration] + :param url_configuration: Url Configuration Action in the Action Set. + :type url_configuration: + ~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayUrlConfiguration + """ + + _attribute_map = { + 'request_header_configurations': {'key': 'requestHeaderConfigurations', 'type': '[ApplicationGatewayHeaderConfiguration]'}, + 'response_header_configurations': {'key': 'responseHeaderConfigurations', 'type': '[ApplicationGatewayHeaderConfiguration]'}, + 'url_configuration': {'key': 'urlConfiguration', 'type': 'ApplicationGatewayUrlConfiguration'}, + } + + def __init__(self, *, request_header_configurations=None, response_header_configurations=None, url_configuration=None, **kwargs) -> None: + super(ApplicationGatewayRewriteRuleActionSet, self).__init__(**kwargs) + self.request_header_configurations = request_header_configurations + self.response_header_configurations = response_header_configurations + self.url_configuration = url_configuration + + +class ApplicationGatewayRewriteRuleCondition(Model): + """Set of conditions in the Rewrite Rule in Application Gateway. + + :param variable: The condition parameter of the RewriteRuleCondition. + :type variable: str + :param pattern: The pattern, either fixed string or regular expression, + that evaluates the truthfulness of the condition. + :type pattern: str + :param ignore_case: Setting this paramter to truth value with force the + pattern to do a case in-sensitive comparison. + :type ignore_case: bool + :param negate: Setting this value as truth will force to check the + negation of the condition given by the user. + :type negate: bool + """ + + _attribute_map = { + 'variable': {'key': 'variable', 'type': 'str'}, + 'pattern': {'key': 'pattern', 'type': 'str'}, + 'ignore_case': {'key': 'ignoreCase', 'type': 'bool'}, + 'negate': {'key': 'negate', 'type': 'bool'}, + } + + def __init__(self, *, variable: str=None, pattern: str=None, ignore_case: bool=None, negate: bool=None, **kwargs) -> None: + super(ApplicationGatewayRewriteRuleCondition, self).__init__(**kwargs) + self.variable = variable + self.pattern = pattern + self.ignore_case = ignore_case + self.negate = negate + + +class ApplicationGatewayRewriteRuleSet(SubResource): + """Rewrite rule set of an application gateway. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param rewrite_rules: Rewrite rules in the rewrite rule set. + :type rewrite_rules: + list[~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayRewriteRule] + :ivar provisioning_state: The provisioning state of the rewrite rule set + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: Name of the rewrite rule set that is unique within an + Application Gateway. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'rewrite_rules': {'key': 'properties.rewriteRules', 'type': '[ApplicationGatewayRewriteRule]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, rewrite_rules=None, name: str=None, **kwargs) -> None: + super(ApplicationGatewayRewriteRuleSet, self).__init__(id=id, **kwargs) + self.rewrite_rules = rewrite_rules + self.provisioning_state = None + self.name = name + self.etag = None + + +class ApplicationGatewaySku(Model): + """SKU of an application gateway. + + :param name: Name of an application gateway SKU. Possible values include: + 'Standard_Small', 'Standard_Medium', 'Standard_Large', 'WAF_Medium', + 'WAF_Large', 'Standard_v2', 'WAF_v2' + :type name: str or + ~azure.mgmt.network.v2020_05_01.models.ApplicationGatewaySkuName + :param tier: Tier of an application gateway. Possible values include: + 'Standard', 'WAF', 'Standard_v2', 'WAF_v2' + :type tier: str or + ~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayTier + :param capacity: Capacity (instance count) of an application gateway. + :type capacity: int + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + 'capacity': {'key': 'capacity', 'type': 'int'}, + } + + def __init__(self, *, name=None, tier=None, capacity: int=None, **kwargs) -> None: + super(ApplicationGatewaySku, self).__init__(**kwargs) + self.name = name + self.tier = tier + self.capacity = capacity + + +class ApplicationGatewaySslCertificate(SubResource): + """SSL certificates of an application gateway. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param data: Base-64 encoded pfx certificate. Only applicable in PUT + Request. + :type data: str + :param password: Password for the pfx file specified in data. Only + applicable in PUT request. + :type password: str + :ivar public_cert_data: Base-64 encoded Public cert data corresponding to + pfx specified in data. Only applicable in GET request. + :vartype public_cert_data: str + :param key_vault_secret_id: Secret Id of (base-64 encoded unencrypted pfx) + 'Secret' or 'Certificate' object stored in KeyVault. + :type key_vault_secret_id: str + :ivar provisioning_state: The provisioning state of the SSL certificate + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: Name of the SSL certificate that is unique within an + Application Gateway. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'public_cert_data': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'data': {'key': 'properties.data', 'type': 'str'}, + 'password': {'key': 'properties.password', 'type': 'str'}, + 'public_cert_data': {'key': 'properties.publicCertData', 'type': 'str'}, + 'key_vault_secret_id': {'key': 'properties.keyVaultSecretId', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, data: str=None, password: str=None, key_vault_secret_id: str=None, name: str=None, **kwargs) -> None: + super(ApplicationGatewaySslCertificate, self).__init__(id=id, **kwargs) + self.data = data + self.password = password + self.public_cert_data = None + self.key_vault_secret_id = key_vault_secret_id + self.provisioning_state = None + self.name = name + self.etag = None + self.type = None + + +class ApplicationGatewaySslPolicy(Model): + """Application Gateway Ssl policy. + + :param disabled_ssl_protocols: Ssl protocols to be disabled on application + gateway. + :type disabled_ssl_protocols: list[str or + ~azure.mgmt.network.v2020_05_01.models.ApplicationGatewaySslProtocol] + :param policy_type: Type of Ssl Policy. Possible values include: + 'Predefined', 'Custom' + :type policy_type: str or + ~azure.mgmt.network.v2020_05_01.models.ApplicationGatewaySslPolicyType + :param policy_name: Name of Ssl predefined policy. Possible values + include: 'AppGwSslPolicy20150501', 'AppGwSslPolicy20170401', + 'AppGwSslPolicy20170401S' + :type policy_name: str or + ~azure.mgmt.network.v2020_05_01.models.ApplicationGatewaySslPolicyName + :param cipher_suites: Ssl cipher suites to be enabled in the specified + order to application gateway. + :type cipher_suites: list[str or + ~azure.mgmt.network.v2020_05_01.models.ApplicationGatewaySslCipherSuite] + :param min_protocol_version: Minimum version of Ssl protocol to be + supported on application gateway. Possible values include: 'TLSv1_0', + 'TLSv1_1', 'TLSv1_2' + :type min_protocol_version: str or + ~azure.mgmt.network.v2020_05_01.models.ApplicationGatewaySslProtocol + """ + + _attribute_map = { + 'disabled_ssl_protocols': {'key': 'disabledSslProtocols', 'type': '[str]'}, + 'policy_type': {'key': 'policyType', 'type': 'str'}, + 'policy_name': {'key': 'policyName', 'type': 'str'}, + 'cipher_suites': {'key': 'cipherSuites', 'type': '[str]'}, + 'min_protocol_version': {'key': 'minProtocolVersion', 'type': 'str'}, + } + + def __init__(self, *, disabled_ssl_protocols=None, policy_type=None, policy_name=None, cipher_suites=None, min_protocol_version=None, **kwargs) -> None: + super(ApplicationGatewaySslPolicy, self).__init__(**kwargs) + self.disabled_ssl_protocols = disabled_ssl_protocols + self.policy_type = policy_type + self.policy_name = policy_name + self.cipher_suites = cipher_suites + self.min_protocol_version = min_protocol_version + + +class ApplicationGatewaySslPredefinedPolicy(SubResource): + """An Ssl predefined policy. + + :param id: Resource ID. + :type id: str + :param name: Name of the Ssl predefined policy. + :type name: str + :param cipher_suites: Ssl cipher suites to be enabled in the specified + order for application gateway. + :type cipher_suites: list[str or + ~azure.mgmt.network.v2020_05_01.models.ApplicationGatewaySslCipherSuite] + :param min_protocol_version: Minimum version of Ssl protocol to be + supported on application gateway. Possible values include: 'TLSv1_0', + 'TLSv1_1', 'TLSv1_2' + :type min_protocol_version: str or + ~azure.mgmt.network.v2020_05_01.models.ApplicationGatewaySslProtocol + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'cipher_suites': {'key': 'properties.cipherSuites', 'type': '[str]'}, + 'min_protocol_version': {'key': 'properties.minProtocolVersion', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, name: str=None, cipher_suites=None, min_protocol_version=None, **kwargs) -> None: + super(ApplicationGatewaySslPredefinedPolicy, self).__init__(id=id, **kwargs) + self.name = name + self.cipher_suites = cipher_suites + self.min_protocol_version = min_protocol_version + + +class ApplicationGatewayTrustedRootCertificate(SubResource): + """Trusted Root certificates of an application gateway. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param data: Certificate public data. + :type data: str + :param key_vault_secret_id: Secret Id of (base-64 encoded unencrypted pfx) + 'Secret' or 'Certificate' object stored in KeyVault. + :type key_vault_secret_id: str + :ivar provisioning_state: The provisioning state of the trusted root + certificate resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: Name of the trusted root certificate that is unique within an + Application Gateway. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'data': {'key': 'properties.data', 'type': 'str'}, + 'key_vault_secret_id': {'key': 'properties.keyVaultSecretId', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, data: str=None, key_vault_secret_id: str=None, name: str=None, **kwargs) -> None: + super(ApplicationGatewayTrustedRootCertificate, self).__init__(id=id, **kwargs) + self.data = data + self.key_vault_secret_id = key_vault_secret_id + self.provisioning_state = None + self.name = name + self.etag = None + self.type = None + + +class ApplicationGatewayUrlConfiguration(Model): + """Url configuration of the Actions set in Application Gateway. + + :param modified_path: Url path which user has provided for url rewrite. + Null means no path will be updated. Default value is null. + :type modified_path: str + :param modified_query_string: Query string which user has provided for url + rewrite. Null means no query string will be updated. Default value is + null. + :type modified_query_string: str + :param reroute: If set as true, it will re-evaluate the url path map + provided in path based request routing rules using modified path. Default + value is false. + :type reroute: bool + """ + + _attribute_map = { + 'modified_path': {'key': 'modifiedPath', 'type': 'str'}, + 'modified_query_string': {'key': 'modifiedQueryString', 'type': 'str'}, + 'reroute': {'key': 'reroute', 'type': 'bool'}, + } + + def __init__(self, *, modified_path: str=None, modified_query_string: str=None, reroute: bool=None, **kwargs) -> None: + super(ApplicationGatewayUrlConfiguration, self).__init__(**kwargs) + self.modified_path = modified_path + self.modified_query_string = modified_query_string + self.reroute = reroute + + +class ApplicationGatewayUrlPathMap(SubResource): + """UrlPathMaps give a url path to the backend mapping information for + PathBasedRouting. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param default_backend_address_pool: Default backend address pool resource + of URL path map. + :type default_backend_address_pool: + ~azure.mgmt.network.v2020_05_01.models.SubResource + :param default_backend_http_settings: Default backend http settings + resource of URL path map. + :type default_backend_http_settings: + ~azure.mgmt.network.v2020_05_01.models.SubResource + :param default_rewrite_rule_set: Default Rewrite rule set resource of URL + path map. + :type default_rewrite_rule_set: + ~azure.mgmt.network.v2020_05_01.models.SubResource + :param default_redirect_configuration: Default redirect configuration + resource of URL path map. + :type default_redirect_configuration: + ~azure.mgmt.network.v2020_05_01.models.SubResource + :param path_rules: Path rule of URL path map resource. + :type path_rules: + list[~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayPathRule] + :ivar provisioning_state: The provisioning state of the URL path map + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: Name of the URL path map that is unique within an Application + Gateway. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'default_backend_address_pool': {'key': 'properties.defaultBackendAddressPool', 'type': 'SubResource'}, + 'default_backend_http_settings': {'key': 'properties.defaultBackendHttpSettings', 'type': 'SubResource'}, + 'default_rewrite_rule_set': {'key': 'properties.defaultRewriteRuleSet', 'type': 'SubResource'}, + 'default_redirect_configuration': {'key': 'properties.defaultRedirectConfiguration', 'type': 'SubResource'}, + 'path_rules': {'key': 'properties.pathRules', 'type': '[ApplicationGatewayPathRule]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, default_backend_address_pool=None, default_backend_http_settings=None, default_rewrite_rule_set=None, default_redirect_configuration=None, path_rules=None, name: str=None, **kwargs) -> None: + super(ApplicationGatewayUrlPathMap, self).__init__(id=id, **kwargs) + self.default_backend_address_pool = default_backend_address_pool + self.default_backend_http_settings = default_backend_http_settings + self.default_rewrite_rule_set = default_rewrite_rule_set + self.default_redirect_configuration = default_redirect_configuration + self.path_rules = path_rules + self.provisioning_state = None + self.name = name + self.etag = None + self.type = None + + +class ApplicationGatewayWebApplicationFirewallConfiguration(Model): + """Application gateway web application firewall configuration. + + All required parameters must be populated in order to send to Azure. + + :param enabled: Required. Whether the web application firewall is enabled + or not. + :type enabled: bool + :param firewall_mode: Required. Web application firewall mode. Possible + values include: 'Detection', 'Prevention' + :type firewall_mode: str or + ~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayFirewallMode + :param rule_set_type: Required. The type of the web application firewall + rule set. Possible values are: 'OWASP'. + :type rule_set_type: str + :param rule_set_version: Required. The version of the rule set type. + :type rule_set_version: str + :param disabled_rule_groups: The disabled rule groups. + :type disabled_rule_groups: + list[~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayFirewallDisabledRuleGroup] + :param request_body_check: Whether allow WAF to check request Body. + :type request_body_check: bool + :param max_request_body_size: Maximum request body size for WAF. + :type max_request_body_size: int + :param max_request_body_size_in_kb: Maximum request body size in Kb for + WAF. + :type max_request_body_size_in_kb: int + :param file_upload_limit_in_mb: Maximum file upload size in Mb for WAF. + :type file_upload_limit_in_mb: int + :param exclusions: The exclusion list. + :type exclusions: + list[~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayFirewallExclusion] + """ + + _validation = { + 'enabled': {'required': True}, + 'firewall_mode': {'required': True}, + 'rule_set_type': {'required': True}, + 'rule_set_version': {'required': True}, + 'max_request_body_size': {'maximum': 128, 'minimum': 8}, + 'max_request_body_size_in_kb': {'maximum': 128, 'minimum': 8}, + 'file_upload_limit_in_mb': {'minimum': 0}, + } + + _attribute_map = { + 'enabled': {'key': 'enabled', 'type': 'bool'}, + 'firewall_mode': {'key': 'firewallMode', 'type': 'str'}, + 'rule_set_type': {'key': 'ruleSetType', 'type': 'str'}, + 'rule_set_version': {'key': 'ruleSetVersion', 'type': 'str'}, + 'disabled_rule_groups': {'key': 'disabledRuleGroups', 'type': '[ApplicationGatewayFirewallDisabledRuleGroup]'}, + 'request_body_check': {'key': 'requestBodyCheck', 'type': 'bool'}, + 'max_request_body_size': {'key': 'maxRequestBodySize', 'type': 'int'}, + 'max_request_body_size_in_kb': {'key': 'maxRequestBodySizeInKb', 'type': 'int'}, + 'file_upload_limit_in_mb': {'key': 'fileUploadLimitInMb', 'type': 'int'}, + 'exclusions': {'key': 'exclusions', 'type': '[ApplicationGatewayFirewallExclusion]'}, + } + + def __init__(self, *, enabled: bool, firewall_mode, rule_set_type: str, rule_set_version: str, disabled_rule_groups=None, request_body_check: bool=None, max_request_body_size: int=None, max_request_body_size_in_kb: int=None, file_upload_limit_in_mb: int=None, exclusions=None, **kwargs) -> None: + super(ApplicationGatewayWebApplicationFirewallConfiguration, self).__init__(**kwargs) + self.enabled = enabled + self.firewall_mode = firewall_mode + self.rule_set_type = rule_set_type + self.rule_set_version = rule_set_version + self.disabled_rule_groups = disabled_rule_groups + self.request_body_check = request_body_check + self.max_request_body_size = max_request_body_size + self.max_request_body_size_in_kb = max_request_body_size_in_kb + self.file_upload_limit_in_mb = file_upload_limit_in_mb + self.exclusions = exclusions + + +class FirewallPolicyRule(Model): + """Properties of a rule. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: ApplicationRule, NatRule, NetworkRule + + All required parameters must be populated in order to send to Azure. + + :param name: Name of the rule. + :type name: str + :param description: Description of the rule. + :type description: str + :param rule_type: Required. Constant filled by server. + :type rule_type: str + """ + + _validation = { + 'rule_type': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'rule_type': {'key': 'ruleType', 'type': 'str'}, + } + + _subtype_map = { + 'rule_type': {'ApplicationRule': 'ApplicationRule', 'NatRule': 'NatRule', 'NetworkRule': 'NetworkRule'} + } + + def __init__(self, *, name: str=None, description: str=None, **kwargs) -> None: + super(FirewallPolicyRule, self).__init__(**kwargs) + self.name = name + self.description = description + self.rule_type = None + + +class ApplicationRule(FirewallPolicyRule): + """Rule of type application. + + All required parameters must be populated in order to send to Azure. + + :param name: Name of the rule. + :type name: str + :param description: Description of the rule. + :type description: str + :param rule_type: Required. Constant filled by server. + :type rule_type: str + :param source_addresses: List of source IP addresses for this rule. + :type source_addresses: list[str] + :param destination_addresses: List of destination IP addresses or Service + Tags. + :type destination_addresses: list[str] + :param protocols: Array of Application Protocols. + :type protocols: + list[~azure.mgmt.network.v2020_05_01.models.FirewallPolicyRuleApplicationProtocol] + :param target_urls: List of Urls for this rule condition. + :type target_urls: list[str] + :param target_fqdns: List of FQDNs for this rule. + :type target_fqdns: list[str] + :param fqdn_tags: List of FQDN Tags for this rule. + :type fqdn_tags: list[str] + :param source_ip_groups: List of source IpGroups for this rule. + :type source_ip_groups: list[str] + :param terminate_tls: Terminate TLS connections for this rule. + :type terminate_tls: bool + """ + + _validation = { + 'rule_type': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'rule_type': {'key': 'ruleType', 'type': 'str'}, + 'source_addresses': {'key': 'sourceAddresses', 'type': '[str]'}, + 'destination_addresses': {'key': 'destinationAddresses', 'type': '[str]'}, + 'protocols': {'key': 'protocols', 'type': '[FirewallPolicyRuleApplicationProtocol]'}, + 'target_urls': {'key': 'targetUrls', 'type': '[str]'}, + 'target_fqdns': {'key': 'targetFqdns', 'type': '[str]'}, + 'fqdn_tags': {'key': 'fqdnTags', 'type': '[str]'}, + 'source_ip_groups': {'key': 'sourceIpGroups', 'type': '[str]'}, + 'terminate_tls': {'key': 'terminateTLS', 'type': 'bool'}, + } + + def __init__(self, *, name: str=None, description: str=None, source_addresses=None, destination_addresses=None, protocols=None, target_urls=None, target_fqdns=None, fqdn_tags=None, source_ip_groups=None, terminate_tls: bool=None, **kwargs) -> None: + super(ApplicationRule, self).__init__(name=name, description=description, **kwargs) + self.source_addresses = source_addresses + self.destination_addresses = destination_addresses + self.protocols = protocols + self.target_urls = target_urls + self.target_fqdns = target_fqdns + self.fqdn_tags = fqdn_tags + self.source_ip_groups = source_ip_groups + self.terminate_tls = terminate_tls + self.rule_type = 'ApplicationRule' + + +class ApplicationSecurityGroup(Resource): + """An application security group in a resource group. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar resource_guid: The resource GUID property of the application + security group resource. It uniquely identifies a resource, even if the + user changes its name or migrate the resource across subscriptions or + resource groups. + :vartype resource_guid: str + :ivar provisioning_state: The provisioning state of the application + security group resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'resource_guid': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, **kwargs) -> None: + super(ApplicationSecurityGroup, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.resource_guid = None + self.provisioning_state = None + self.etag = None + + +class AutoApprovedPrivateLinkService(Model): + """The information of an AutoApprovedPrivateLinkService. + + :param private_link_service: The id of the private link service resource. + :type private_link_service: str + """ + + _attribute_map = { + 'private_link_service': {'key': 'privateLinkService', 'type': 'str'}, + } + + def __init__(self, *, private_link_service: str=None, **kwargs) -> None: + super(AutoApprovedPrivateLinkService, self).__init__(**kwargs) + self.private_link_service = private_link_service + + +class Availability(Model): + """Availability of the metric. + + :param time_grain: The time grain of the availability. + :type time_grain: str + :param retention: The retention of the availability. + :type retention: str + :param blob_duration: Duration of the availability blob. + :type blob_duration: str + """ + + _attribute_map = { + 'time_grain': {'key': 'timeGrain', 'type': 'str'}, + 'retention': {'key': 'retention', 'type': 'str'}, + 'blob_duration': {'key': 'blobDuration', 'type': 'str'}, + } + + def __init__(self, *, time_grain: str=None, retention: str=None, blob_duration: str=None, **kwargs) -> None: + super(Availability, self).__init__(**kwargs) + self.time_grain = time_grain + self.retention = retention + self.blob_duration = blob_duration + + +class AvailableDelegation(Model): + """The serviceName of an AvailableDelegation indicates a possible delegation + for a subnet. + + :param name: The name of the AvailableDelegation resource. + :type name: str + :param id: A unique identifier of the AvailableDelegation resource. + :type id: str + :param type: Resource type. + :type type: str + :param service_name: The name of the service and resource. + :type service_name: str + :param actions: The actions permitted to the service upon delegation. + :type actions: list[str] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'service_name': {'key': 'serviceName', 'type': 'str'}, + 'actions': {'key': 'actions', 'type': '[str]'}, + } + + def __init__(self, *, name: str=None, id: str=None, type: str=None, service_name: str=None, actions=None, **kwargs) -> None: + super(AvailableDelegation, self).__init__(**kwargs) + self.name = name + self.id = id + self.type = type + self.service_name = service_name + self.actions = actions + + +class AvailablePrivateEndpointType(Model): + """The information of an AvailablePrivateEndpointType. + + :param name: The name of the service and resource. + :type name: str + :param id: A unique identifier of the AvailablePrivateEndpoint Type + resource. + :type id: str + :param type: Resource type. + :type type: str + :param resource_name: The name of the service and resource. + :type resource_name: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'resource_name': {'key': 'resourceName', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, id: str=None, type: str=None, resource_name: str=None, **kwargs) -> None: + super(AvailablePrivateEndpointType, self).__init__(**kwargs) + self.name = name + self.id = id + self.type = type + self.resource_name = resource_name + + +class AvailableProvidersList(Model): + """List of available countries with details. + + All required parameters must be populated in order to send to Azure. + + :param countries: Required. List of available countries. + :type countries: + list[~azure.mgmt.network.v2020_05_01.models.AvailableProvidersListCountry] + """ + + _validation = { + 'countries': {'required': True}, + } + + _attribute_map = { + 'countries': {'key': 'countries', 'type': '[AvailableProvidersListCountry]'}, + } + + def __init__(self, *, countries, **kwargs) -> None: + super(AvailableProvidersList, self).__init__(**kwargs) + self.countries = countries + + +class AvailableProvidersListCity(Model): + """City or town details. + + :param city_name: The city or town name. + :type city_name: str + :param providers: A list of Internet service providers. + :type providers: list[str] + """ + + _attribute_map = { + 'city_name': {'key': 'cityName', 'type': 'str'}, + 'providers': {'key': 'providers', 'type': '[str]'}, + } + + def __init__(self, *, city_name: str=None, providers=None, **kwargs) -> None: + super(AvailableProvidersListCity, self).__init__(**kwargs) + self.city_name = city_name + self.providers = providers + + +class AvailableProvidersListCountry(Model): + """Country details. + + :param country_name: The country name. + :type country_name: str + :param providers: A list of Internet service providers. + :type providers: list[str] + :param states: List of available states in the country. + :type states: + list[~azure.mgmt.network.v2020_05_01.models.AvailableProvidersListState] + """ + + _attribute_map = { + 'country_name': {'key': 'countryName', 'type': 'str'}, + 'providers': {'key': 'providers', 'type': '[str]'}, + 'states': {'key': 'states', 'type': '[AvailableProvidersListState]'}, + } + + def __init__(self, *, country_name: str=None, providers=None, states=None, **kwargs) -> None: + super(AvailableProvidersListCountry, self).__init__(**kwargs) + self.country_name = country_name + self.providers = providers + self.states = states + + +class AvailableProvidersListParameters(Model): + """Constraints that determine the list of available Internet service + providers. + + :param azure_locations: A list of Azure regions. + :type azure_locations: list[str] + :param country: The country for available providers list. + :type country: str + :param state: The state for available providers list. + :type state: str + :param city: The city or town for available providers list. + :type city: str + """ + + _attribute_map = { + 'azure_locations': {'key': 'azureLocations', 'type': '[str]'}, + 'country': {'key': 'country', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + 'city': {'key': 'city', 'type': 'str'}, + } + + def __init__(self, *, azure_locations=None, country: str=None, state: str=None, city: str=None, **kwargs) -> None: + super(AvailableProvidersListParameters, self).__init__(**kwargs) + self.azure_locations = azure_locations + self.country = country + self.state = state + self.city = city + + +class AvailableProvidersListState(Model): + """State details. + + :param state_name: The state name. + :type state_name: str + :param providers: A list of Internet service providers. + :type providers: list[str] + :param cities: List of available cities or towns in the state. + :type cities: + list[~azure.mgmt.network.v2020_05_01.models.AvailableProvidersListCity] + """ + + _attribute_map = { + 'state_name': {'key': 'stateName', 'type': 'str'}, + 'providers': {'key': 'providers', 'type': '[str]'}, + 'cities': {'key': 'cities', 'type': '[AvailableProvidersListCity]'}, + } + + def __init__(self, *, state_name: str=None, providers=None, cities=None, **kwargs) -> None: + super(AvailableProvidersListState, self).__init__(**kwargs) + self.state_name = state_name + self.providers = providers + self.cities = cities + + +class AvailableServiceAlias(Model): + """The available service alias. + + :param name: The name of the service alias. + :type name: str + :param id: The ID of the service alias. + :type id: str + :param type: The type of the resource. + :type type: str + :param resource_name: The resource name of the service alias. + :type resource_name: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'resource_name': {'key': 'resourceName', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, id: str=None, type: str=None, resource_name: str=None, **kwargs) -> None: + super(AvailableServiceAlias, self).__init__(**kwargs) + self.name = name + self.id = id + self.type = type + self.resource_name = resource_name + + +class AzureAsyncOperationResult(Model): + """The response body contains the status of the specified asynchronous + operation, indicating whether it has succeeded, is in progress, or has + failed. Note that this status is distinct from the HTTP status code + returned for the Get Operation Status operation itself. If the asynchronous + operation succeeded, the response body includes the HTTP status code for + the successful request. If the asynchronous operation failed, the response + body includes the HTTP status code for the failed request and error + information regarding the failure. + + :param status: Status of the Azure async operation. Possible values + include: 'InProgress', 'Succeeded', 'Failed' + :type status: str or + ~azure.mgmt.network.v2020_05_01.models.NetworkOperationStatus + :param error: Details of the error occurred during specified asynchronous + operation. + :type error: ~azure.mgmt.network.v2020_05_01.models.Error + """ + + _attribute_map = { + 'status': {'key': 'status', 'type': 'str'}, + 'error': {'key': 'error', 'type': 'Error'}, + } + + def __init__(self, *, status=None, error=None, **kwargs) -> None: + super(AzureAsyncOperationResult, self).__init__(**kwargs) + self.status = status + self.error = error + + +class AzureFirewall(Resource): + """Azure Firewall resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param application_rule_collections: Collection of application rule + collections used by Azure Firewall. + :type application_rule_collections: + list[~azure.mgmt.network.v2020_05_01.models.AzureFirewallApplicationRuleCollection] + :param nat_rule_collections: Collection of NAT rule collections used by + Azure Firewall. + :type nat_rule_collections: + list[~azure.mgmt.network.v2020_05_01.models.AzureFirewallNatRuleCollection] + :param network_rule_collections: Collection of network rule collections + used by Azure Firewall. + :type network_rule_collections: + list[~azure.mgmt.network.v2020_05_01.models.AzureFirewallNetworkRuleCollection] + :param ip_configurations: IP configuration of the Azure Firewall resource. + :type ip_configurations: + list[~azure.mgmt.network.v2020_05_01.models.AzureFirewallIPConfiguration] + :param management_ip_configuration: IP configuration of the Azure Firewall + used for management traffic. + :type management_ip_configuration: + ~azure.mgmt.network.v2020_05_01.models.AzureFirewallIPConfiguration + :ivar provisioning_state: The provisioning state of the Azure firewall + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param threat_intel_mode: The operation mode for Threat Intelligence. + Possible values include: 'Alert', 'Deny', 'Off' + :type threat_intel_mode: str or + ~azure.mgmt.network.v2020_05_01.models.AzureFirewallThreatIntelMode + :param virtual_hub: The virtualHub to which the firewall belongs. + :type virtual_hub: ~azure.mgmt.network.v2020_05_01.models.SubResource + :param firewall_policy: The firewallPolicy associated with this azure + firewall. + :type firewall_policy: ~azure.mgmt.network.v2020_05_01.models.SubResource + :param hub_ip_addresses: IP addresses associated with AzureFirewall. + :type hub_ip_addresses: + ~azure.mgmt.network.v2020_05_01.models.HubIPAddresses + :ivar ip_groups: IpGroups associated with AzureFirewall. + :vartype ip_groups: + list[~azure.mgmt.network.v2020_05_01.models.AzureFirewallIpGroups] + :param sku: The Azure Firewall Resource SKU. + :type sku: ~azure.mgmt.network.v2020_05_01.models.AzureFirewallSku + :param additional_properties: The additional properties used to further + config this azure firewall. + :type additional_properties: dict[str, str] + :param zones: A list of availability zones denoting where the resource + needs to come from. + :type zones: list[str] + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'ip_groups': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'application_rule_collections': {'key': 'properties.applicationRuleCollections', 'type': '[AzureFirewallApplicationRuleCollection]'}, + 'nat_rule_collections': {'key': 'properties.natRuleCollections', 'type': '[AzureFirewallNatRuleCollection]'}, + 'network_rule_collections': {'key': 'properties.networkRuleCollections', 'type': '[AzureFirewallNetworkRuleCollection]'}, + 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[AzureFirewallIPConfiguration]'}, + 'management_ip_configuration': {'key': 'properties.managementIpConfiguration', 'type': 'AzureFirewallIPConfiguration'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'threat_intel_mode': {'key': 'properties.threatIntelMode', 'type': 'str'}, + 'virtual_hub': {'key': 'properties.virtualHub', 'type': 'SubResource'}, + 'firewall_policy': {'key': 'properties.firewallPolicy', 'type': 'SubResource'}, + 'hub_ip_addresses': {'key': 'properties.hubIpAddresses', 'type': 'HubIPAddresses'}, + 'ip_groups': {'key': 'properties.ipGroups', 'type': '[AzureFirewallIpGroups]'}, + 'sku': {'key': 'properties.sku', 'type': 'AzureFirewallSku'}, + 'additional_properties': {'key': 'properties.additionalProperties', 'type': '{str}'}, + 'zones': {'key': 'zones', 'type': '[str]'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, application_rule_collections=None, nat_rule_collections=None, network_rule_collections=None, ip_configurations=None, management_ip_configuration=None, threat_intel_mode=None, virtual_hub=None, firewall_policy=None, hub_ip_addresses=None, sku=None, additional_properties=None, zones=None, **kwargs) -> None: + super(AzureFirewall, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.application_rule_collections = application_rule_collections + self.nat_rule_collections = nat_rule_collections + self.network_rule_collections = network_rule_collections + self.ip_configurations = ip_configurations + self.management_ip_configuration = management_ip_configuration + self.provisioning_state = None + self.threat_intel_mode = threat_intel_mode + self.virtual_hub = virtual_hub + self.firewall_policy = firewall_policy + self.hub_ip_addresses = hub_ip_addresses + self.ip_groups = None + self.sku = sku + self.additional_properties = additional_properties + self.zones = zones + self.etag = None + + +class AzureFirewallApplicationRule(Model): + """Properties of an application rule. + + :param name: Name of the application rule. + :type name: str + :param description: Description of the rule. + :type description: str + :param source_addresses: List of source IP addresses for this rule. + :type source_addresses: list[str] + :param protocols: Array of ApplicationRuleProtocols. + :type protocols: + list[~azure.mgmt.network.v2020_05_01.models.AzureFirewallApplicationRuleProtocol] + :param target_fqdns: List of FQDNs for this rule. + :type target_fqdns: list[str] + :param fqdn_tags: List of FQDN Tags for this rule. + :type fqdn_tags: list[str] + :param source_ip_groups: List of source IpGroups for this rule. + :type source_ip_groups: list[str] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'source_addresses': {'key': 'sourceAddresses', 'type': '[str]'}, + 'protocols': {'key': 'protocols', 'type': '[AzureFirewallApplicationRuleProtocol]'}, + 'target_fqdns': {'key': 'targetFqdns', 'type': '[str]'}, + 'fqdn_tags': {'key': 'fqdnTags', 'type': '[str]'}, + 'source_ip_groups': {'key': 'sourceIpGroups', 'type': '[str]'}, + } + + def __init__(self, *, name: str=None, description: str=None, source_addresses=None, protocols=None, target_fqdns=None, fqdn_tags=None, source_ip_groups=None, **kwargs) -> None: + super(AzureFirewallApplicationRule, self).__init__(**kwargs) + self.name = name + self.description = description + self.source_addresses = source_addresses + self.protocols = protocols + self.target_fqdns = target_fqdns + self.fqdn_tags = fqdn_tags + self.source_ip_groups = source_ip_groups + + +class AzureFirewallApplicationRuleCollection(SubResource): + """Application rule collection resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param priority: Priority of the application rule collection resource. + :type priority: int + :param action: The action type of a rule collection. + :type action: ~azure.mgmt.network.v2020_05_01.models.AzureFirewallRCAction + :param rules: Collection of rules used by a application rule collection. + :type rules: + list[~azure.mgmt.network.v2020_05_01.models.AzureFirewallApplicationRule] + :ivar provisioning_state: The provisioning state of the application rule + collection resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: The name of the resource that is unique within the Azure + firewall. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'priority': {'maximum': 65000, 'minimum': 100}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'priority': {'key': 'properties.priority', 'type': 'int'}, + 'action': {'key': 'properties.action', 'type': 'AzureFirewallRCAction'}, + 'rules': {'key': 'properties.rules', 'type': '[AzureFirewallApplicationRule]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, priority: int=None, action=None, rules=None, name: str=None, **kwargs) -> None: + super(AzureFirewallApplicationRuleCollection, self).__init__(id=id, **kwargs) + self.priority = priority + self.action = action + self.rules = rules + self.provisioning_state = None + self.name = name + self.etag = None + + +class AzureFirewallApplicationRuleProtocol(Model): + """Properties of the application rule protocol. + + :param protocol_type: Protocol type. Possible values include: 'Http', + 'Https', 'Mssql' + :type protocol_type: str or + ~azure.mgmt.network.v2020_05_01.models.AzureFirewallApplicationRuleProtocolType + :param port: Port number for the protocol, cannot be greater than 64000. + This field is optional. + :type port: int + """ + + _validation = { + 'port': {'maximum': 64000, 'minimum': 0}, + } + + _attribute_map = { + 'protocol_type': {'key': 'protocolType', 'type': 'str'}, + 'port': {'key': 'port', 'type': 'int'}, + } + + def __init__(self, *, protocol_type=None, port: int=None, **kwargs) -> None: + super(AzureFirewallApplicationRuleProtocol, self).__init__(**kwargs) + self.protocol_type = protocol_type + self.port = port + + +class AzureFirewallFqdnTag(Resource): + """Azure Firewall FQDN Tag Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar provisioning_state: The provisioning state of the Azure firewall + FQDN tag resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :ivar fqdn_tag_name: The name of this FQDN Tag. + :vartype fqdn_tag_name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'fqdn_tag_name': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'fqdn_tag_name': {'key': 'properties.fqdnTagName', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, **kwargs) -> None: + super(AzureFirewallFqdnTag, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.provisioning_state = None + self.fqdn_tag_name = None + self.etag = None + + +class AzureFirewallIPConfiguration(SubResource): + """IP configuration of an Azure Firewall. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar private_ip_address: The Firewall Internal Load Balancer IP to be + used as the next hop in User Defined Routes. + :vartype private_ip_address: str + :param subnet: Reference to the subnet resource. This resource must be + named 'AzureFirewallSubnet' or 'AzureFirewallManagementSubnet'. + :type subnet: ~azure.mgmt.network.v2020_05_01.models.SubResource + :param public_ip_address: Reference to the PublicIP resource. This field + is a mandatory input if subnet is not null. + :type public_ip_address: + ~azure.mgmt.network.v2020_05_01.models.SubResource + :ivar provisioning_state: The provisioning state of the Azure firewall IP + configuration resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: Name of the resource that is unique within a resource group. + This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'private_ip_address': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, + 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, + 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'SubResource'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, subnet=None, public_ip_address=None, name: str=None, **kwargs) -> None: + super(AzureFirewallIPConfiguration, self).__init__(id=id, **kwargs) + self.private_ip_address = None + self.subnet = subnet + self.public_ip_address = public_ip_address + self.provisioning_state = None + self.name = name + self.etag = None + self.type = None + + +class AzureFirewallIpGroups(Model): + """IpGroups associated with azure firewall. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar change_number: The iteration number. + :vartype change_number: str + """ + + _validation = { + 'id': {'readonly': True}, + 'change_number': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'change_number': {'key': 'changeNumber', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(AzureFirewallIpGroups, self).__init__(**kwargs) + self.id = None + self.change_number = None + + +class AzureFirewallNatRCAction(Model): + """AzureFirewall NAT Rule Collection Action. + + :param type: The type of action. Possible values include: 'Snat', 'Dnat' + :type type: str or + ~azure.mgmt.network.v2020_05_01.models.AzureFirewallNatRCActionType + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, type=None, **kwargs) -> None: + super(AzureFirewallNatRCAction, self).__init__(**kwargs) + self.type = type + + +class AzureFirewallNatRule(Model): + """Properties of a NAT rule. + + :param name: Name of the NAT rule. + :type name: str + :param description: Description of the rule. + :type description: str + :param source_addresses: List of source IP addresses for this rule. + :type source_addresses: list[str] + :param destination_addresses: List of destination IP addresses for this + rule. Supports IP ranges, prefixes, and service tags. + :type destination_addresses: list[str] + :param destination_ports: List of destination ports. + :type destination_ports: list[str] + :param protocols: Array of AzureFirewallNetworkRuleProtocols applicable to + this NAT rule. + :type protocols: list[str or + ~azure.mgmt.network.v2020_05_01.models.AzureFirewallNetworkRuleProtocol] + :param translated_address: The translated address for this NAT rule. + :type translated_address: str + :param translated_port: The translated port for this NAT rule. + :type translated_port: str + :param translated_fqdn: The translated FQDN for this NAT rule. + :type translated_fqdn: str + :param source_ip_groups: List of source IpGroups for this rule. + :type source_ip_groups: list[str] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'source_addresses': {'key': 'sourceAddresses', 'type': '[str]'}, + 'destination_addresses': {'key': 'destinationAddresses', 'type': '[str]'}, + 'destination_ports': {'key': 'destinationPorts', 'type': '[str]'}, + 'protocols': {'key': 'protocols', 'type': '[str]'}, + 'translated_address': {'key': 'translatedAddress', 'type': 'str'}, + 'translated_port': {'key': 'translatedPort', 'type': 'str'}, + 'translated_fqdn': {'key': 'translatedFqdn', 'type': 'str'}, + 'source_ip_groups': {'key': 'sourceIpGroups', 'type': '[str]'}, + } + + def __init__(self, *, name: str=None, description: str=None, source_addresses=None, destination_addresses=None, destination_ports=None, protocols=None, translated_address: str=None, translated_port: str=None, translated_fqdn: str=None, source_ip_groups=None, **kwargs) -> None: + super(AzureFirewallNatRule, self).__init__(**kwargs) + self.name = name + self.description = description + self.source_addresses = source_addresses + self.destination_addresses = destination_addresses + self.destination_ports = destination_ports + self.protocols = protocols + self.translated_address = translated_address + self.translated_port = translated_port + self.translated_fqdn = translated_fqdn + self.source_ip_groups = source_ip_groups + + +class AzureFirewallNatRuleCollection(SubResource): + """NAT rule collection resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param priority: Priority of the NAT rule collection resource. + :type priority: int + :param action: The action type of a NAT rule collection. + :type action: + ~azure.mgmt.network.v2020_05_01.models.AzureFirewallNatRCAction + :param rules: Collection of rules used by a NAT rule collection. + :type rules: + list[~azure.mgmt.network.v2020_05_01.models.AzureFirewallNatRule] + :ivar provisioning_state: The provisioning state of the NAT rule + collection resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: The name of the resource that is unique within the Azure + firewall. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'priority': {'maximum': 65000, 'minimum': 100}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'priority': {'key': 'properties.priority', 'type': 'int'}, + 'action': {'key': 'properties.action', 'type': 'AzureFirewallNatRCAction'}, + 'rules': {'key': 'properties.rules', 'type': '[AzureFirewallNatRule]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, priority: int=None, action=None, rules=None, name: str=None, **kwargs) -> None: + super(AzureFirewallNatRuleCollection, self).__init__(id=id, **kwargs) + self.priority = priority + self.action = action + self.rules = rules + self.provisioning_state = None + self.name = name + self.etag = None + + +class AzureFirewallNetworkRule(Model): + """Properties of the network rule. + + :param name: Name of the network rule. + :type name: str + :param description: Description of the rule. + :type description: str + :param protocols: Array of AzureFirewallNetworkRuleProtocols. + :type protocols: list[str or + ~azure.mgmt.network.v2020_05_01.models.AzureFirewallNetworkRuleProtocol] + :param source_addresses: List of source IP addresses for this rule. + :type source_addresses: list[str] + :param destination_addresses: List of destination IP addresses. + :type destination_addresses: list[str] + :param destination_ports: List of destination ports. + :type destination_ports: list[str] + :param destination_fqdns: List of destination FQDNs. + :type destination_fqdns: list[str] + :param source_ip_groups: List of source IpGroups for this rule. + :type source_ip_groups: list[str] + :param destination_ip_groups: List of destination IpGroups for this rule. + :type destination_ip_groups: list[str] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'protocols': {'key': 'protocols', 'type': '[str]'}, + 'source_addresses': {'key': 'sourceAddresses', 'type': '[str]'}, + 'destination_addresses': {'key': 'destinationAddresses', 'type': '[str]'}, + 'destination_ports': {'key': 'destinationPorts', 'type': '[str]'}, + 'destination_fqdns': {'key': 'destinationFqdns', 'type': '[str]'}, + 'source_ip_groups': {'key': 'sourceIpGroups', 'type': '[str]'}, + 'destination_ip_groups': {'key': 'destinationIpGroups', 'type': '[str]'}, + } + + def __init__(self, *, name: str=None, description: str=None, protocols=None, source_addresses=None, destination_addresses=None, destination_ports=None, destination_fqdns=None, source_ip_groups=None, destination_ip_groups=None, **kwargs) -> None: + super(AzureFirewallNetworkRule, self).__init__(**kwargs) + self.name = name + self.description = description + self.protocols = protocols + self.source_addresses = source_addresses + self.destination_addresses = destination_addresses + self.destination_ports = destination_ports + self.destination_fqdns = destination_fqdns + self.source_ip_groups = source_ip_groups + self.destination_ip_groups = destination_ip_groups + + +class AzureFirewallNetworkRuleCollection(SubResource): + """Network rule collection resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param priority: Priority of the network rule collection resource. + :type priority: int + :param action: The action type of a rule collection. + :type action: ~azure.mgmt.network.v2020_05_01.models.AzureFirewallRCAction + :param rules: Collection of rules used by a network rule collection. + :type rules: + list[~azure.mgmt.network.v2020_05_01.models.AzureFirewallNetworkRule] + :ivar provisioning_state: The provisioning state of the network rule + collection resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: The name of the resource that is unique within the Azure + firewall. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'priority': {'maximum': 65000, 'minimum': 100}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'priority': {'key': 'properties.priority', 'type': 'int'}, + 'action': {'key': 'properties.action', 'type': 'AzureFirewallRCAction'}, + 'rules': {'key': 'properties.rules', 'type': '[AzureFirewallNetworkRule]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, priority: int=None, action=None, rules=None, name: str=None, **kwargs) -> None: + super(AzureFirewallNetworkRuleCollection, self).__init__(id=id, **kwargs) + self.priority = priority + self.action = action + self.rules = rules + self.provisioning_state = None + self.name = name + self.etag = None + + +class AzureFirewallPublicIPAddress(Model): + """Public IP Address associated with azure firewall. + + :param address: Public IP Address value. + :type address: str + """ + + _attribute_map = { + 'address': {'key': 'address', 'type': 'str'}, + } + + def __init__(self, *, address: str=None, **kwargs) -> None: + super(AzureFirewallPublicIPAddress, self).__init__(**kwargs) + self.address = address + + +class AzureFirewallRCAction(Model): + """Properties of the AzureFirewallRCAction. + + :param type: The type of action. Possible values include: 'Allow', 'Deny' + :type type: str or + ~azure.mgmt.network.v2020_05_01.models.AzureFirewallRCActionType + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, type=None, **kwargs) -> None: + super(AzureFirewallRCAction, self).__init__(**kwargs) + self.type = type + + +class AzureFirewallSku(Model): + """SKU of an Azure Firewall. + + :param name: Name of an Azure Firewall SKU. Possible values include: + 'AZFW_VNet', 'AZFW_Hub' + :type name: str or + ~azure.mgmt.network.v2020_05_01.models.AzureFirewallSkuName + :param tier: Tier of an Azure Firewall. Possible values include: + 'Standard', 'Premium' + :type tier: str or + ~azure.mgmt.network.v2020_05_01.models.AzureFirewallSkuTier + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + } + + def __init__(self, *, name=None, tier=None, **kwargs) -> None: + super(AzureFirewallSku, self).__init__(**kwargs) + self.name = name + self.tier = tier + + +class AzureReachabilityReport(Model): + """Azure reachability report details. + + All required parameters must be populated in order to send to Azure. + + :param aggregation_level: Required. The aggregation level of Azure + reachability report. Can be Country, State or City. + :type aggregation_level: str + :param provider_location: Required. Parameters that define a geographic + location. + :type provider_location: + ~azure.mgmt.network.v2020_05_01.models.AzureReachabilityReportLocation + :param reachability_report: Required. List of Azure reachability report + items. + :type reachability_report: + list[~azure.mgmt.network.v2020_05_01.models.AzureReachabilityReportItem] + """ + + _validation = { + 'aggregation_level': {'required': True}, + 'provider_location': {'required': True}, + 'reachability_report': {'required': True}, + } + + _attribute_map = { + 'aggregation_level': {'key': 'aggregationLevel', 'type': 'str'}, + 'provider_location': {'key': 'providerLocation', 'type': 'AzureReachabilityReportLocation'}, + 'reachability_report': {'key': 'reachabilityReport', 'type': '[AzureReachabilityReportItem]'}, + } + + def __init__(self, *, aggregation_level: str, provider_location, reachability_report, **kwargs) -> None: + super(AzureReachabilityReport, self).__init__(**kwargs) + self.aggregation_level = aggregation_level + self.provider_location = provider_location + self.reachability_report = reachability_report + + +class AzureReachabilityReportItem(Model): + """Azure reachability report details for a given provider location. + + :param provider: The Internet service provider. + :type provider: str + :param azure_location: The Azure region. + :type azure_location: str + :param latencies: List of latency details for each of the time series. + :type latencies: + list[~azure.mgmt.network.v2020_05_01.models.AzureReachabilityReportLatencyInfo] + """ + + _attribute_map = { + 'provider': {'key': 'provider', 'type': 'str'}, + 'azure_location': {'key': 'azureLocation', 'type': 'str'}, + 'latencies': {'key': 'latencies', 'type': '[AzureReachabilityReportLatencyInfo]'}, + } + + def __init__(self, *, provider: str=None, azure_location: str=None, latencies=None, **kwargs) -> None: + super(AzureReachabilityReportItem, self).__init__(**kwargs) + self.provider = provider + self.azure_location = azure_location + self.latencies = latencies + + +class AzureReachabilityReportLatencyInfo(Model): + """Details on latency for a time series. + + :param time_stamp: The time stamp. + :type time_stamp: datetime + :param score: The relative latency score between 1 and 100, higher values + indicating a faster connection. + :type score: int + """ + + _validation = { + 'score': {'maximum': 100, 'minimum': 1}, + } + + _attribute_map = { + 'time_stamp': {'key': 'timeStamp', 'type': 'iso-8601'}, + 'score': {'key': 'score', 'type': 'int'}, + } + + def __init__(self, *, time_stamp=None, score: int=None, **kwargs) -> None: + super(AzureReachabilityReportLatencyInfo, self).__init__(**kwargs) + self.time_stamp = time_stamp + self.score = score + + +class AzureReachabilityReportLocation(Model): + """Parameters that define a geographic location. + + All required parameters must be populated in order to send to Azure. + + :param country: Required. The name of the country. + :type country: str + :param state: The name of the state. + :type state: str + :param city: The name of the city or town. + :type city: str + """ + + _validation = { + 'country': {'required': True}, + } + + _attribute_map = { + 'country': {'key': 'country', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + 'city': {'key': 'city', 'type': 'str'}, + } + + def __init__(self, *, country: str, state: str=None, city: str=None, **kwargs) -> None: + super(AzureReachabilityReportLocation, self).__init__(**kwargs) + self.country = country + self.state = state + self.city = city + + +class AzureReachabilityReportParameters(Model): + """Geographic and time constraints for Azure reachability report. + + All required parameters must be populated in order to send to Azure. + + :param provider_location: Required. Parameters that define a geographic + location. + :type provider_location: + ~azure.mgmt.network.v2020_05_01.models.AzureReachabilityReportLocation + :param providers: List of Internet service providers. + :type providers: list[str] + :param azure_locations: Optional Azure regions to scope the query to. + :type azure_locations: list[str] + :param start_time: Required. The start time for the Azure reachability + report. + :type start_time: datetime + :param end_time: Required. The end time for the Azure reachability report. + :type end_time: datetime + """ + + _validation = { + 'provider_location': {'required': True}, + 'start_time': {'required': True}, + 'end_time': {'required': True}, + } + + _attribute_map = { + 'provider_location': {'key': 'providerLocation', 'type': 'AzureReachabilityReportLocation'}, + 'providers': {'key': 'providers', 'type': '[str]'}, + 'azure_locations': {'key': 'azureLocations', 'type': '[str]'}, + 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, + } + + def __init__(self, *, provider_location, start_time, end_time, providers=None, azure_locations=None, **kwargs) -> None: + super(AzureReachabilityReportParameters, self).__init__(**kwargs) + self.provider_location = provider_location + self.providers = providers + self.azure_locations = azure_locations + self.start_time = start_time + self.end_time = end_time + + +class BackendAddressPool(SubResource): + """Pool of backend IP addresses. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar backend_ip_configurations: An array of references to IP addresses + defined in network interfaces. + :vartype backend_ip_configurations: + list[~azure.mgmt.network.v2020_05_01.models.NetworkInterfaceIPConfiguration] + :param load_balancer_backend_addresses: An array of backend addresses. + :type load_balancer_backend_addresses: + list[~azure.mgmt.network.v2020_05_01.models.LoadBalancerBackendAddress] + :ivar load_balancing_rules: An array of references to load balancing rules + that use this backend address pool. + :vartype load_balancing_rules: + list[~azure.mgmt.network.v2020_05_01.models.SubResource] + :ivar outbound_rule: A reference to an outbound rule that uses this + backend address pool. + :vartype outbound_rule: ~azure.mgmt.network.v2020_05_01.models.SubResource + :ivar outbound_rules: An array of references to outbound rules that use + this backend address pool. + :vartype outbound_rules: + list[~azure.mgmt.network.v2020_05_01.models.SubResource] + :ivar provisioning_state: The provisioning state of the backend address + pool resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: The name of the resource that is unique within the set of + backend address pools used by the load balancer. This name can be used to + access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'backend_ip_configurations': {'readonly': True}, + 'load_balancing_rules': {'readonly': True}, + 'outbound_rule': {'readonly': True}, + 'outbound_rules': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'backend_ip_configurations': {'key': 'properties.backendIPConfigurations', 'type': '[NetworkInterfaceIPConfiguration]'}, + 'load_balancer_backend_addresses': {'key': 'properties.loadBalancerBackendAddresses', 'type': '[LoadBalancerBackendAddress]'}, + 'load_balancing_rules': {'key': 'properties.loadBalancingRules', 'type': '[SubResource]'}, + 'outbound_rule': {'key': 'properties.outboundRule', 'type': 'SubResource'}, + 'outbound_rules': {'key': 'properties.outboundRules', 'type': '[SubResource]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, load_balancer_backend_addresses=None, name: str=None, **kwargs) -> None: + super(BackendAddressPool, self).__init__(id=id, **kwargs) + self.backend_ip_configurations = None + self.load_balancer_backend_addresses = load_balancer_backend_addresses + self.load_balancing_rules = None + self.outbound_rule = None + self.outbound_rules = None + self.provisioning_state = None + self.name = name + self.etag = None + self.type = None + + +class BastionActiveSession(Model): + """The session detail for a target. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar session_id: A unique id for the session. + :vartype session_id: str + :ivar start_time: The time when the session started. + :vartype start_time: object + :ivar target_subscription_id: The subscription id for the target virtual + machine. + :vartype target_subscription_id: str + :ivar resource_type: The type of the resource. + :vartype resource_type: str + :ivar target_host_name: The host name of the target. + :vartype target_host_name: str + :ivar target_resource_group: The resource group of the target. + :vartype target_resource_group: str + :ivar user_name: The user name who is active on this session. + :vartype user_name: str + :ivar target_ip_address: The IP Address of the target. + :vartype target_ip_address: str + :ivar protocol: The protocol used to connect to the target. Possible + values include: 'SSH', 'RDP' + :vartype protocol: str or + ~azure.mgmt.network.v2020_05_01.models.BastionConnectProtocol + :ivar target_resource_id: The resource id of the target. + :vartype target_resource_id: str + :ivar session_duration_in_mins: Duration in mins the session has been + active. + :vartype session_duration_in_mins: float + """ + + _validation = { + 'session_id': {'readonly': True}, + 'start_time': {'readonly': True}, + 'target_subscription_id': {'readonly': True}, + 'resource_type': {'readonly': True}, + 'target_host_name': {'readonly': True}, + 'target_resource_group': {'readonly': True}, + 'user_name': {'readonly': True}, + 'target_ip_address': {'readonly': True}, + 'protocol': {'readonly': True}, + 'target_resource_id': {'readonly': True}, + 'session_duration_in_mins': {'readonly': True}, + } + + _attribute_map = { + 'session_id': {'key': 'sessionId', 'type': 'str'}, + 'start_time': {'key': 'startTime', 'type': 'object'}, + 'target_subscription_id': {'key': 'targetSubscriptionId', 'type': 'str'}, + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'target_host_name': {'key': 'targetHostName', 'type': 'str'}, + 'target_resource_group': {'key': 'targetResourceGroup', 'type': 'str'}, + 'user_name': {'key': 'userName', 'type': 'str'}, + 'target_ip_address': {'key': 'targetIpAddress', 'type': 'str'}, + 'protocol': {'key': 'protocol', 'type': 'str'}, + 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, + 'session_duration_in_mins': {'key': 'sessionDurationInMins', 'type': 'float'}, + } + + def __init__(self, **kwargs) -> None: + super(BastionActiveSession, self).__init__(**kwargs) + self.session_id = None + self.start_time = None + self.target_subscription_id = None + self.resource_type = None + self.target_host_name = None + self.target_resource_group = None + self.user_name = None + self.target_ip_address = None + self.protocol = None + self.target_resource_id = None + self.session_duration_in_mins = None + + +class BastionActiveSessionListResult(Model): + """Response for GetActiveSessions. + + :param value: List of active sessions on the bastion. + :type value: + list[~azure.mgmt.network.v2020_05_01.models.BastionActiveSession] + :param next_link: The URL to get the next set of results. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[BastionActiveSession]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, *, value=None, next_link: str=None, **kwargs) -> None: + super(BastionActiveSessionListResult, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class BastionHost(Resource): + """Bastion Host resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param ip_configurations: IP configuration of the Bastion Host resource. + :type ip_configurations: + list[~azure.mgmt.network.v2020_05_01.models.BastionHostIPConfiguration] + :param dns_name: FQDN for the endpoint on which bastion host is + accessible. + :type dns_name: str + :ivar provisioning_state: The provisioning state of the bastion host + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[BastionHostIPConfiguration]'}, + 'dns_name': {'key': 'properties.dnsName', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, ip_configurations=None, dns_name: str=None, **kwargs) -> None: + super(BastionHost, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.ip_configurations = ip_configurations + self.dns_name = dns_name + self.provisioning_state = None + self.etag = None + + +class BastionHostIPConfiguration(SubResource): + """IP configuration of an Bastion Host. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :param subnet: Required. Reference of the subnet resource. + :type subnet: ~azure.mgmt.network.v2020_05_01.models.SubResource + :param public_ip_address: Required. Reference of the PublicIP resource. + :type public_ip_address: + ~azure.mgmt.network.v2020_05_01.models.SubResource + :ivar provisioning_state: The provisioning state of the bastion host IP + configuration resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param private_ip_allocation_method: Private IP allocation method. + Possible values include: 'Static', 'Dynamic' + :type private_ip_allocation_method: str or + ~azure.mgmt.network.v2020_05_01.models.IPAllocationMethod + :param name: Name of the resource that is unique within a resource group. + This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Ip configuration type. + :vartype type: str + """ + + _validation = { + 'subnet': {'required': True}, + 'public_ip_address': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, + 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'SubResource'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, subnet, public_ip_address, id: str=None, private_ip_allocation_method=None, name: str=None, **kwargs) -> None: + super(BastionHostIPConfiguration, self).__init__(id=id, **kwargs) + self.subnet = subnet + self.public_ip_address = public_ip_address + self.provisioning_state = None + self.private_ip_allocation_method = private_ip_allocation_method + self.name = name + self.etag = None + self.type = None + + +class BastionSessionState(Model): + """The session state detail for a target. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar session_id: A unique id for the session. + :vartype session_id: str + :ivar message: Used for extra information. + :vartype message: str + :ivar state: The state of the session. Disconnected/Failed/NotFound. + :vartype state: str + """ + + _validation = { + 'session_id': {'readonly': True}, + 'message': {'readonly': True}, + 'state': {'readonly': True}, + } + + _attribute_map = { + 'session_id': {'key': 'sessionId', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(BastionSessionState, self).__init__(**kwargs) + self.session_id = None + self.message = None + self.state = None + + +class BastionShareableLink(Model): + """Bastion Shareable Link. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param vm: Required. Reference of the virtual machine resource. + :type vm: ~azure.mgmt.network.v2020_05_01.models.VM + :ivar bsl: The unique Bastion Shareable Link to the virtual machine. + :vartype bsl: str + :ivar created_at: The time when the link was created. + :vartype created_at: str + :ivar message: Optional field indicating the warning or error message + related to the vm in case of partial failure. + :vartype message: str + """ + + _validation = { + 'vm': {'required': True}, + 'bsl': {'readonly': True}, + 'created_at': {'readonly': True}, + 'message': {'readonly': True}, + } + + _attribute_map = { + 'vm': {'key': 'vm', 'type': 'VM'}, + 'bsl': {'key': 'bsl', 'type': 'str'}, + 'created_at': {'key': 'createdAt', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__(self, *, vm, **kwargs) -> None: + super(BastionShareableLink, self).__init__(**kwargs) + self.vm = vm + self.bsl = None + self.created_at = None + self.message = None + + +class BastionShareableLinkListRequest(Model): + """Post request for all the Bastion Shareable Link endpoints. + + :param vms: List of VM references. + :type vms: + list[~azure.mgmt.network.v2020_05_01.models.BastionShareableLink] + """ + + _attribute_map = { + 'vms': {'key': 'vms', 'type': '[BastionShareableLink]'}, + } + + def __init__(self, *, vms=None, **kwargs) -> None: + super(BastionShareableLinkListRequest, self).__init__(**kwargs) + self.vms = vms + + +class BastionShareableLinkListResult(Model): + """Response for all the Bastion Shareable Link endpoints. + + :param value: List of Bastion Shareable Links for the request. + :type value: + list[~azure.mgmt.network.v2020_05_01.models.BastionShareableLink] + :param next_link: The URL to get the next set of results. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[BastionShareableLink]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, *, value=None, next_link: str=None, **kwargs) -> None: + super(BastionShareableLinkListResult, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class BGPCommunity(Model): + """Contains bgp community information offered in Service Community resources. + + :param service_supported_region: The region which the service support. + e.g. For O365, region is Global. + :type service_supported_region: str + :param community_name: The name of the bgp community. e.g. Skype. + :type community_name: str + :param community_value: The value of the bgp community. For more + information: + https://docs.microsoft.com/en-us/azure/expressroute/expressroute-routing. + :type community_value: str + :param community_prefixes: The prefixes that the bgp community contains. + :type community_prefixes: list[str] + :param is_authorized_to_use: Customer is authorized to use bgp community + or not. + :type is_authorized_to_use: bool + :param service_group: The service group of the bgp community contains. + :type service_group: str + """ + + _attribute_map = { + 'service_supported_region': {'key': 'serviceSupportedRegion', 'type': 'str'}, + 'community_name': {'key': 'communityName', 'type': 'str'}, + 'community_value': {'key': 'communityValue', 'type': 'str'}, + 'community_prefixes': {'key': 'communityPrefixes', 'type': '[str]'}, + 'is_authorized_to_use': {'key': 'isAuthorizedToUse', 'type': 'bool'}, + 'service_group': {'key': 'serviceGroup', 'type': 'str'}, + } + + def __init__(self, *, service_supported_region: str=None, community_name: str=None, community_value: str=None, community_prefixes=None, is_authorized_to_use: bool=None, service_group: str=None, **kwargs) -> None: + super(BGPCommunity, self).__init__(**kwargs) + self.service_supported_region = service_supported_region + self.community_name = community_name + self.community_value = community_value + self.community_prefixes = community_prefixes + self.is_authorized_to_use = is_authorized_to_use + self.service_group = service_group + + +class BgpConnection(SubResource): + """Virtual Appliance Site resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param peer_asn: Peer ASN. + :type peer_asn: long + :param peer_ip: Peer IP. + :type peer_ip: str + :ivar provisioning_state: The provisioning state of the resource. Possible + values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :ivar connection_state: The current state of the VirtualHub to Peer. + Possible values include: 'Unknown', 'Connecting', 'Connected', + 'NotConnected' + :vartype connection_state: str or + ~azure.mgmt.network.v2020_05_01.models.HubBgpConnectionStatus + :param name: Name of the connection. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Connection type. + :vartype type: str + """ + + _validation = { + 'peer_asn': {'maximum': 4294967295, 'minimum': 0}, + 'provisioning_state': {'readonly': True}, + 'connection_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'peer_asn': {'key': 'properties.peerAsn', 'type': 'long'}, + 'peer_ip': {'key': 'properties.peerIp', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'connection_state': {'key': 'properties.connectionState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, peer_asn: int=None, peer_ip: str=None, name: str=None, **kwargs) -> None: + super(BgpConnection, self).__init__(id=id, **kwargs) + self.peer_asn = peer_asn + self.peer_ip = peer_ip + self.provisioning_state = None + self.connection_state = None + self.name = name + self.etag = None + self.type = None + + +class BgpPeerStatus(Model): + """BGP peer status details. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar local_address: The virtual network gateway's local address. + :vartype local_address: str + :ivar neighbor: The remote BGP peer. + :vartype neighbor: str + :ivar asn: The autonomous system number of the remote BGP peer. + :vartype asn: long + :ivar state: The BGP peer state. Possible values include: 'Unknown', + 'Stopped', 'Idle', 'Connecting', 'Connected' + :vartype state: str or ~azure.mgmt.network.v2020_05_01.models.BgpPeerState + :ivar connected_duration: For how long the peering has been up. + :vartype connected_duration: str + :ivar routes_received: The number of routes learned from this peer. + :vartype routes_received: long + :ivar messages_sent: The number of BGP messages sent. + :vartype messages_sent: long + :ivar messages_received: The number of BGP messages received. + :vartype messages_received: long + """ + + _validation = { + 'local_address': {'readonly': True}, + 'neighbor': {'readonly': True}, + 'asn': {'readonly': True, 'maximum': 4294967295, 'minimum': 0}, + 'state': {'readonly': True}, + 'connected_duration': {'readonly': True}, + 'routes_received': {'readonly': True}, + 'messages_sent': {'readonly': True}, + 'messages_received': {'readonly': True}, + } + + _attribute_map = { + 'local_address': {'key': 'localAddress', 'type': 'str'}, + 'neighbor': {'key': 'neighbor', 'type': 'str'}, + 'asn': {'key': 'asn', 'type': 'long'}, + 'state': {'key': 'state', 'type': 'str'}, + 'connected_duration': {'key': 'connectedDuration', 'type': 'str'}, + 'routes_received': {'key': 'routesReceived', 'type': 'long'}, + 'messages_sent': {'key': 'messagesSent', 'type': 'long'}, + 'messages_received': {'key': 'messagesReceived', 'type': 'long'}, + } + + def __init__(self, **kwargs) -> None: + super(BgpPeerStatus, self).__init__(**kwargs) + self.local_address = None + self.neighbor = None + self.asn = None + self.state = None + self.connected_duration = None + self.routes_received = None + self.messages_sent = None + self.messages_received = None + + +class BgpPeerStatusListResult(Model): + """Response for list BGP peer status API service call. + + :param value: List of BGP peers. + :type value: list[~azure.mgmt.network.v2020_05_01.models.BgpPeerStatus] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[BgpPeerStatus]'}, + } + + def __init__(self, *, value=None, **kwargs) -> None: + super(BgpPeerStatusListResult, self).__init__(**kwargs) + self.value = value + + +class BgpServiceCommunity(Resource): + """Service Community Properties. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param service_name: The name of the bgp community. e.g. Skype. + :type service_name: str + :param bgp_communities: A list of bgp communities. + :type bgp_communities: + list[~azure.mgmt.network.v2020_05_01.models.BGPCommunity] + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'service_name': {'key': 'properties.serviceName', 'type': 'str'}, + 'bgp_communities': {'key': 'properties.bgpCommunities', 'type': '[BGPCommunity]'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, service_name: str=None, bgp_communities=None, **kwargs) -> None: + super(BgpServiceCommunity, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.service_name = service_name + self.bgp_communities = bgp_communities + + +class BgpSettings(Model): + """BGP settings details. + + :param asn: The BGP speaker's ASN. + :type asn: long + :param bgp_peering_address: The BGP peering address and BGP identifier of + this BGP speaker. + :type bgp_peering_address: str + :param peer_weight: The weight added to routes learned from this BGP + speaker. + :type peer_weight: int + :param bgp_peering_addresses: BGP peering address with IP configuration ID + for virtual network gateway. + :type bgp_peering_addresses: + list[~azure.mgmt.network.v2020_05_01.models.IPConfigurationBgpPeeringAddress] + """ + + _validation = { + 'asn': {'maximum': 4294967295, 'minimum': 0}, + } + + _attribute_map = { + 'asn': {'key': 'asn', 'type': 'long'}, + 'bgp_peering_address': {'key': 'bgpPeeringAddress', 'type': 'str'}, + 'peer_weight': {'key': 'peerWeight', 'type': 'int'}, + 'bgp_peering_addresses': {'key': 'bgpPeeringAddresses', 'type': '[IPConfigurationBgpPeeringAddress]'}, + } + + def __init__(self, *, asn: int=None, bgp_peering_address: str=None, peer_weight: int=None, bgp_peering_addresses=None, **kwargs) -> None: + super(BgpSettings, self).__init__(**kwargs) + self.asn = asn + self.bgp_peering_address = bgp_peering_address + self.peer_weight = peer_weight + self.bgp_peering_addresses = bgp_peering_addresses + + +class BreakOutCategoryPolicies(Model): + """Network Virtual Appliance Sku Properties. + + :param allow: Flag to control breakout of o365 allow category. + :type allow: bool + :param optimize: Flag to control breakout of o365 optimize category. + :type optimize: bool + :param default: Flag to control breakout of o365 default category. + :type default: bool + """ + + _attribute_map = { + 'allow': {'key': 'allow', 'type': 'bool'}, + 'optimize': {'key': 'optimize', 'type': 'bool'}, + 'default': {'key': 'default', 'type': 'bool'}, + } + + def __init__(self, *, allow: bool=None, optimize: bool=None, default: bool=None, **kwargs) -> None: + super(BreakOutCategoryPolicies, self).__init__(**kwargs) + self.allow = allow + self.optimize = optimize + self.default = default + + +class CheckPrivateLinkServiceVisibilityRequest(Model): + """Request body of the CheckPrivateLinkServiceVisibility API service call. + + :param private_link_service_alias: The alias of the private link service. + :type private_link_service_alias: str + """ + + _attribute_map = { + 'private_link_service_alias': {'key': 'privateLinkServiceAlias', 'type': 'str'}, + } + + def __init__(self, *, private_link_service_alias: str=None, **kwargs) -> None: + super(CheckPrivateLinkServiceVisibilityRequest, self).__init__(**kwargs) + self.private_link_service_alias = private_link_service_alias + + +class CloudError(Model): + """An error response from the service. + + :param error: Cloud error body. + :type error: ~azure.mgmt.network.v2020_05_01.models.CloudErrorBody + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'CloudErrorBody'}, + } + + def __init__(self, *, error=None, **kwargs) -> None: + super(CloudError, self).__init__(**kwargs) + self.error = error + + +class CloudErrorException(HttpOperationError): + """Server responsed with exception of type: 'CloudError'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(CloudErrorException, self).__init__(deserialize, response, 'CloudError', *args) + + +class CloudErrorBody(Model): + """An error response from the service. + + :param code: An identifier for the error. Codes are invariant and are + intended to be consumed programmatically. + :type code: str + :param message: A message describing the error, intended to be suitable + for display in a user interface. + :type message: str + :param target: The target of the particular error. For example, the name + of the property in error. + :type target: str + :param details: A list of additional details about the error. + :type details: list[~azure.mgmt.network.v2020_05_01.models.CloudErrorBody] + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[CloudErrorBody]'}, + } + + def __init__(self, *, code: str=None, message: str=None, target: str=None, details=None, **kwargs) -> None: + super(CloudErrorBody, self).__init__(**kwargs) + self.code = code + self.message = message + self.target = target + self.details = details + + +class ConnectionMonitor(Model): + """Parameters that define the operation to create a connection monitor. + + :param location: Connection monitor location. + :type location: str + :param tags: Connection monitor tags. + :type tags: dict[str, str] + :param source: Describes the source of connection monitor. + :type source: + ~azure.mgmt.network.v2020_05_01.models.ConnectionMonitorSource + :param destination: Describes the destination of connection monitor. + :type destination: + ~azure.mgmt.network.v2020_05_01.models.ConnectionMonitorDestination + :param auto_start: Determines if the connection monitor will start + automatically once created. Default value: True . + :type auto_start: bool + :param monitoring_interval_in_seconds: Monitoring interval in seconds. + Default value: 60 . + :type monitoring_interval_in_seconds: int + :param endpoints: List of connection monitor endpoints. + :type endpoints: + list[~azure.mgmt.network.v2020_05_01.models.ConnectionMonitorEndpoint] + :param test_configurations: List of connection monitor test + configurations. + :type test_configurations: + list[~azure.mgmt.network.v2020_05_01.models.ConnectionMonitorTestConfiguration] + :param test_groups: List of connection monitor test groups. + :type test_groups: + list[~azure.mgmt.network.v2020_05_01.models.ConnectionMonitorTestGroup] + :param outputs: List of connection monitor outputs. + :type outputs: + list[~azure.mgmt.network.v2020_05_01.models.ConnectionMonitorOutput] + :param notes: Optional notes to be associated with the connection monitor. + :type notes: str + """ + + _attribute_map = { + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'source': {'key': 'properties.source', 'type': 'ConnectionMonitorSource'}, + 'destination': {'key': 'properties.destination', 'type': 'ConnectionMonitorDestination'}, + 'auto_start': {'key': 'properties.autoStart', 'type': 'bool'}, + 'monitoring_interval_in_seconds': {'key': 'properties.monitoringIntervalInSeconds', 'type': 'int'}, + 'endpoints': {'key': 'properties.endpoints', 'type': '[ConnectionMonitorEndpoint]'}, + 'test_configurations': {'key': 'properties.testConfigurations', 'type': '[ConnectionMonitorTestConfiguration]'}, + 'test_groups': {'key': 'properties.testGroups', 'type': '[ConnectionMonitorTestGroup]'}, + 'outputs': {'key': 'properties.outputs', 'type': '[ConnectionMonitorOutput]'}, + 'notes': {'key': 'properties.notes', 'type': 'str'}, + } + + def __init__(self, *, location: str=None, tags=None, source=None, destination=None, auto_start: bool=True, monitoring_interval_in_seconds: int=60, endpoints=None, test_configurations=None, test_groups=None, outputs=None, notes: str=None, **kwargs) -> None: + super(ConnectionMonitor, self).__init__(**kwargs) + self.location = location + self.tags = tags + self.source = source + self.destination = destination + self.auto_start = auto_start + self.monitoring_interval_in_seconds = monitoring_interval_in_seconds + self.endpoints = endpoints + self.test_configurations = test_configurations + self.test_groups = test_groups + self.outputs = outputs + self.notes = notes + + +class ConnectionMonitorDestination(Model): + """Describes the destination of connection monitor. + + :param resource_id: The ID of the resource used as the destination by + connection monitor. + :type resource_id: str + :param address: Address of the connection monitor destination (IP or + domain name). + :type address: str + :param port: The destination port used by connection monitor. + :type port: int + """ + + _attribute_map = { + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + 'address': {'key': 'address', 'type': 'str'}, + 'port': {'key': 'port', 'type': 'int'}, + } + + def __init__(self, *, resource_id: str=None, address: str=None, port: int=None, **kwargs) -> None: + super(ConnectionMonitorDestination, self).__init__(**kwargs) + self.resource_id = resource_id + self.address = address + self.port = port + + +class ConnectionMonitorEndpoint(Model): + """Describes the connection monitor endpoint. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. The name of the connection monitor endpoint. + :type name: str + :param resource_id: Resource ID of the connection monitor endpoint. + :type resource_id: str + :param address: Address of the connection monitor endpoint (IP or domain + name). + :type address: str + :param filter: Filter for sub-items within the endpoint. + :type filter: + ~azure.mgmt.network.v2020_05_01.models.ConnectionMonitorEndpointFilter + """ + + _validation = { + 'name': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + 'address': {'key': 'address', 'type': 'str'}, + 'filter': {'key': 'filter', 'type': 'ConnectionMonitorEndpointFilter'}, + } + + def __init__(self, *, name: str, resource_id: str=None, address: str=None, filter=None, **kwargs) -> None: + super(ConnectionMonitorEndpoint, self).__init__(**kwargs) + self.name = name + self.resource_id = resource_id + self.address = address + self.filter = filter + + +class ConnectionMonitorEndpointFilter(Model): + """Describes the connection monitor endpoint filter. + + :param type: The behavior of the endpoint filter. Currently only 'Include' + is supported. Possible values include: 'Include' + :type type: str or + ~azure.mgmt.network.v2020_05_01.models.ConnectionMonitorEndpointFilterType + :param items: List of items in the filter. + :type items: + list[~azure.mgmt.network.v2020_05_01.models.ConnectionMonitorEndpointFilterItem] + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'items': {'key': 'items', 'type': '[ConnectionMonitorEndpointFilterItem]'}, + } + + def __init__(self, *, type=None, items=None, **kwargs) -> None: + super(ConnectionMonitorEndpointFilter, self).__init__(**kwargs) + self.type = type + self.items = items + + +class ConnectionMonitorEndpointFilterItem(Model): + """Describes the connection monitor endpoint filter item. + + :param type: The type of item included in the filter. Currently only + 'AgentAddress' is supported. Possible values include: 'AgentAddress' + :type type: str or + ~azure.mgmt.network.v2020_05_01.models.ConnectionMonitorEndpointFilterItemType + :param address: The address of the filter item. + :type address: str + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'address': {'key': 'address', 'type': 'str'}, + } + + def __init__(self, *, type=None, address: str=None, **kwargs) -> None: + super(ConnectionMonitorEndpointFilterItem, self).__init__(**kwargs) + self.type = type + self.address = address + + +class ConnectionMonitorHttpConfiguration(Model): + """Describes the HTTP configuration. + + :param port: The port to connect to. + :type port: int + :param method: The HTTP method to use. Possible values include: 'Get', + 'Post' + :type method: str or + ~azure.mgmt.network.v2020_05_01.models.HTTPConfigurationMethod + :param path: The path component of the URI. For instance, "/dir1/dir2". + :type path: str + :param request_headers: The HTTP headers to transmit with the request. + :type request_headers: + list[~azure.mgmt.network.v2020_05_01.models.HTTPHeader] + :param valid_status_code_ranges: HTTP status codes to consider successful. + For instance, "2xx,301-304,418". + :type valid_status_code_ranges: list[str] + :param prefer_https: Value indicating whether HTTPS is preferred over HTTP + in cases where the choice is not explicit. + :type prefer_https: bool + """ + + _attribute_map = { + 'port': {'key': 'port', 'type': 'int'}, + 'method': {'key': 'method', 'type': 'str'}, + 'path': {'key': 'path', 'type': 'str'}, + 'request_headers': {'key': 'requestHeaders', 'type': '[HTTPHeader]'}, + 'valid_status_code_ranges': {'key': 'validStatusCodeRanges', 'type': '[str]'}, + 'prefer_https': {'key': 'preferHTTPS', 'type': 'bool'}, + } + + def __init__(self, *, port: int=None, method=None, path: str=None, request_headers=None, valid_status_code_ranges=None, prefer_https: bool=None, **kwargs) -> None: + super(ConnectionMonitorHttpConfiguration, self).__init__(**kwargs) + self.port = port + self.method = method + self.path = path + self.request_headers = request_headers + self.valid_status_code_ranges = valid_status_code_ranges + self.prefer_https = prefer_https + + +class ConnectionMonitorIcmpConfiguration(Model): + """Describes the ICMP configuration. + + :param disable_trace_route: Value indicating whether path evaluation with + trace route should be disabled. + :type disable_trace_route: bool + """ + + _attribute_map = { + 'disable_trace_route': {'key': 'disableTraceRoute', 'type': 'bool'}, + } + + def __init__(self, *, disable_trace_route: bool=None, **kwargs) -> None: + super(ConnectionMonitorIcmpConfiguration, self).__init__(**kwargs) + self.disable_trace_route = disable_trace_route + + +class ConnectionMonitorOutput(Model): + """Describes a connection monitor output destination. + + :param type: Connection monitor output destination type. Currently, only + "Workspace" is supported. Possible values include: 'Workspace' + :type type: str or ~azure.mgmt.network.v2020_05_01.models.OutputType + :param workspace_settings: Describes the settings for producing output + into a log analytics workspace. + :type workspace_settings: + ~azure.mgmt.network.v2020_05_01.models.ConnectionMonitorWorkspaceSettings + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'workspace_settings': {'key': 'workspaceSettings', 'type': 'ConnectionMonitorWorkspaceSettings'}, + } + + def __init__(self, *, type=None, workspace_settings=None, **kwargs) -> None: + super(ConnectionMonitorOutput, self).__init__(**kwargs) + self.type = type + self.workspace_settings = workspace_settings + + +class ConnectionMonitorParameters(Model): + """Parameters that define the operation to create a connection monitor. + + :param source: Describes the source of connection monitor. + :type source: + ~azure.mgmt.network.v2020_05_01.models.ConnectionMonitorSource + :param destination: Describes the destination of connection monitor. + :type destination: + ~azure.mgmt.network.v2020_05_01.models.ConnectionMonitorDestination + :param auto_start: Determines if the connection monitor will start + automatically once created. Default value: True . + :type auto_start: bool + :param monitoring_interval_in_seconds: Monitoring interval in seconds. + Default value: 60 . + :type monitoring_interval_in_seconds: int + :param endpoints: List of connection monitor endpoints. + :type endpoints: + list[~azure.mgmt.network.v2020_05_01.models.ConnectionMonitorEndpoint] + :param test_configurations: List of connection monitor test + configurations. + :type test_configurations: + list[~azure.mgmt.network.v2020_05_01.models.ConnectionMonitorTestConfiguration] + :param test_groups: List of connection monitor test groups. + :type test_groups: + list[~azure.mgmt.network.v2020_05_01.models.ConnectionMonitorTestGroup] + :param outputs: List of connection monitor outputs. + :type outputs: + list[~azure.mgmt.network.v2020_05_01.models.ConnectionMonitorOutput] + :param notes: Optional notes to be associated with the connection monitor. + :type notes: str + """ + + _attribute_map = { + 'source': {'key': 'source', 'type': 'ConnectionMonitorSource'}, + 'destination': {'key': 'destination', 'type': 'ConnectionMonitorDestination'}, + 'auto_start': {'key': 'autoStart', 'type': 'bool'}, + 'monitoring_interval_in_seconds': {'key': 'monitoringIntervalInSeconds', 'type': 'int'}, + 'endpoints': {'key': 'endpoints', 'type': '[ConnectionMonitorEndpoint]'}, + 'test_configurations': {'key': 'testConfigurations', 'type': '[ConnectionMonitorTestConfiguration]'}, + 'test_groups': {'key': 'testGroups', 'type': '[ConnectionMonitorTestGroup]'}, + 'outputs': {'key': 'outputs', 'type': '[ConnectionMonitorOutput]'}, + 'notes': {'key': 'notes', 'type': 'str'}, + } + + def __init__(self, *, source=None, destination=None, auto_start: bool=True, monitoring_interval_in_seconds: int=60, endpoints=None, test_configurations=None, test_groups=None, outputs=None, notes: str=None, **kwargs) -> None: + super(ConnectionMonitorParameters, self).__init__(**kwargs) + self.source = source + self.destination = destination + self.auto_start = auto_start + self.monitoring_interval_in_seconds = monitoring_interval_in_seconds + self.endpoints = endpoints + self.test_configurations = test_configurations + self.test_groups = test_groups + self.outputs = outputs + self.notes = notes + + +class ConnectionMonitorQueryResult(Model): + """List of connection states snapshots. + + :param source_status: Status of connection monitor source. Possible values + include: 'Unknown', 'Active', 'Inactive' + :type source_status: str or + ~azure.mgmt.network.v2020_05_01.models.ConnectionMonitorSourceStatus + :param states: Information about connection states. + :type states: + list[~azure.mgmt.network.v2020_05_01.models.ConnectionStateSnapshot] + """ + + _attribute_map = { + 'source_status': {'key': 'sourceStatus', 'type': 'str'}, + 'states': {'key': 'states', 'type': '[ConnectionStateSnapshot]'}, + } + + def __init__(self, *, source_status=None, states=None, **kwargs) -> None: + super(ConnectionMonitorQueryResult, self).__init__(**kwargs) + self.source_status = source_status + self.states = states + + +class ConnectionMonitorResult(Model): + """Information about the connection monitor. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name: Name of the connection monitor. + :vartype name: str + :ivar id: ID of the connection monitor. + :vartype id: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Connection monitor type. + :vartype type: str + :param location: Connection monitor location. + :type location: str + :param tags: Connection monitor tags. + :type tags: dict[str, str] + :param source: Describes the source of connection monitor. + :type source: + ~azure.mgmt.network.v2020_05_01.models.ConnectionMonitorSource + :param destination: Describes the destination of connection monitor. + :type destination: + ~azure.mgmt.network.v2020_05_01.models.ConnectionMonitorDestination + :param auto_start: Determines if the connection monitor will start + automatically once created. Default value: True . + :type auto_start: bool + :param monitoring_interval_in_seconds: Monitoring interval in seconds. + Default value: 60 . + :type monitoring_interval_in_seconds: int + :param endpoints: List of connection monitor endpoints. + :type endpoints: + list[~azure.mgmt.network.v2020_05_01.models.ConnectionMonitorEndpoint] + :param test_configurations: List of connection monitor test + configurations. + :type test_configurations: + list[~azure.mgmt.network.v2020_05_01.models.ConnectionMonitorTestConfiguration] + :param test_groups: List of connection monitor test groups. + :type test_groups: + list[~azure.mgmt.network.v2020_05_01.models.ConnectionMonitorTestGroup] + :param outputs: List of connection monitor outputs. + :type outputs: + list[~azure.mgmt.network.v2020_05_01.models.ConnectionMonitorOutput] + :param notes: Optional notes to be associated with the connection monitor. + :type notes: str + :ivar provisioning_state: The provisioning state of the connection + monitor. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :ivar start_time: The date and time when the connection monitor was + started. + :vartype start_time: datetime + :ivar monitoring_status: The monitoring status of the connection monitor. + :vartype monitoring_status: str + :ivar connection_monitor_type: Type of connection monitor. Possible values + include: 'MultiEndpoint', 'SingleSourceDestination' + :vartype connection_monitor_type: str or + ~azure.mgmt.network.v2020_05_01.models.ConnectionMonitorType + """ + + _validation = { + 'name': {'readonly': True}, + 'id': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'start_time': {'readonly': True}, + 'monitoring_status': {'readonly': True}, + 'connection_monitor_type': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'source': {'key': 'properties.source', 'type': 'ConnectionMonitorSource'}, + 'destination': {'key': 'properties.destination', 'type': 'ConnectionMonitorDestination'}, + 'auto_start': {'key': 'properties.autoStart', 'type': 'bool'}, + 'monitoring_interval_in_seconds': {'key': 'properties.monitoringIntervalInSeconds', 'type': 'int'}, + 'endpoints': {'key': 'properties.endpoints', 'type': '[ConnectionMonitorEndpoint]'}, + 'test_configurations': {'key': 'properties.testConfigurations', 'type': '[ConnectionMonitorTestConfiguration]'}, + 'test_groups': {'key': 'properties.testGroups', 'type': '[ConnectionMonitorTestGroup]'}, + 'outputs': {'key': 'properties.outputs', 'type': '[ConnectionMonitorOutput]'}, + 'notes': {'key': 'properties.notes', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'start_time': {'key': 'properties.startTime', 'type': 'iso-8601'}, + 'monitoring_status': {'key': 'properties.monitoringStatus', 'type': 'str'}, + 'connection_monitor_type': {'key': 'properties.connectionMonitorType', 'type': 'str'}, + } + + def __init__(self, *, location: str=None, tags=None, source=None, destination=None, auto_start: bool=True, monitoring_interval_in_seconds: int=60, endpoints=None, test_configurations=None, test_groups=None, outputs=None, notes: str=None, **kwargs) -> None: + super(ConnectionMonitorResult, self).__init__(**kwargs) + self.name = None + self.id = None + self.etag = None + self.type = None + self.location = location + self.tags = tags + self.source = source + self.destination = destination + self.auto_start = auto_start + self.monitoring_interval_in_seconds = monitoring_interval_in_seconds + self.endpoints = endpoints + self.test_configurations = test_configurations + self.test_groups = test_groups + self.outputs = outputs + self.notes = notes + self.provisioning_state = None + self.start_time = None + self.monitoring_status = None + self.connection_monitor_type = None + + +class ConnectionMonitorSource(Model): + """Describes the source of connection monitor. + + All required parameters must be populated in order to send to Azure. + + :param resource_id: Required. The ID of the resource used as the source by + connection monitor. + :type resource_id: str + :param port: The source port used by connection monitor. + :type port: int + """ + + _validation = { + 'resource_id': {'required': True}, + } + + _attribute_map = { + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + 'port': {'key': 'port', 'type': 'int'}, + } + + def __init__(self, *, resource_id: str, port: int=None, **kwargs) -> None: + super(ConnectionMonitorSource, self).__init__(**kwargs) + self.resource_id = resource_id + self.port = port + + +class ConnectionMonitorSuccessThreshold(Model): + """Describes the threshold for declaring a test successful. + + :param checks_failed_percent: The maximum percentage of failed checks + permitted for a test to evaluate as successful. + :type checks_failed_percent: int + :param round_trip_time_ms: The maximum round-trip time in milliseconds + permitted for a test to evaluate as successful. + :type round_trip_time_ms: float + """ + + _attribute_map = { + 'checks_failed_percent': {'key': 'checksFailedPercent', 'type': 'int'}, + 'round_trip_time_ms': {'key': 'roundTripTimeMs', 'type': 'float'}, + } + + def __init__(self, *, checks_failed_percent: int=None, round_trip_time_ms: float=None, **kwargs) -> None: + super(ConnectionMonitorSuccessThreshold, self).__init__(**kwargs) + self.checks_failed_percent = checks_failed_percent + self.round_trip_time_ms = round_trip_time_ms + + +class ConnectionMonitorTcpConfiguration(Model): + """Describes the TCP configuration. + + :param port: The port to connect to. + :type port: int + :param disable_trace_route: Value indicating whether path evaluation with + trace route should be disabled. + :type disable_trace_route: bool + """ + + _attribute_map = { + 'port': {'key': 'port', 'type': 'int'}, + 'disable_trace_route': {'key': 'disableTraceRoute', 'type': 'bool'}, + } + + def __init__(self, *, port: int=None, disable_trace_route: bool=None, **kwargs) -> None: + super(ConnectionMonitorTcpConfiguration, self).__init__(**kwargs) + self.port = port + self.disable_trace_route = disable_trace_route + + +class ConnectionMonitorTestConfiguration(Model): + """Describes a connection monitor test configuration. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. The name of the connection monitor test + configuration. + :type name: str + :param test_frequency_sec: The frequency of test evaluation, in seconds. + :type test_frequency_sec: int + :param protocol: Required. The protocol to use in test evaluation. + Possible values include: 'Tcp', 'Http', 'Icmp' + :type protocol: str or + ~azure.mgmt.network.v2020_05_01.models.ConnectionMonitorTestConfigurationProtocol + :param preferred_ip_version: The preferred IP version to use in test + evaluation. The connection monitor may choose to use a different version + depending on other parameters. Possible values include: 'IPv4', 'IPv6' + :type preferred_ip_version: str or + ~azure.mgmt.network.v2020_05_01.models.PreferredIPVersion + :param http_configuration: The parameters used to perform test evaluation + over HTTP. + :type http_configuration: + ~azure.mgmt.network.v2020_05_01.models.ConnectionMonitorHttpConfiguration + :param tcp_configuration: The parameters used to perform test evaluation + over TCP. + :type tcp_configuration: + ~azure.mgmt.network.v2020_05_01.models.ConnectionMonitorTcpConfiguration + :param icmp_configuration: The parameters used to perform test evaluation + over ICMP. + :type icmp_configuration: + ~azure.mgmt.network.v2020_05_01.models.ConnectionMonitorIcmpConfiguration + :param success_threshold: The threshold for declaring a test successful. + :type success_threshold: + ~azure.mgmt.network.v2020_05_01.models.ConnectionMonitorSuccessThreshold + """ + + _validation = { + 'name': {'required': True}, + 'protocol': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'test_frequency_sec': {'key': 'testFrequencySec', 'type': 'int'}, + 'protocol': {'key': 'protocol', 'type': 'str'}, + 'preferred_ip_version': {'key': 'preferredIPVersion', 'type': 'str'}, + 'http_configuration': {'key': 'httpConfiguration', 'type': 'ConnectionMonitorHttpConfiguration'}, + 'tcp_configuration': {'key': 'tcpConfiguration', 'type': 'ConnectionMonitorTcpConfiguration'}, + 'icmp_configuration': {'key': 'icmpConfiguration', 'type': 'ConnectionMonitorIcmpConfiguration'}, + 'success_threshold': {'key': 'successThreshold', 'type': 'ConnectionMonitorSuccessThreshold'}, + } + + def __init__(self, *, name: str, protocol, test_frequency_sec: int=None, preferred_ip_version=None, http_configuration=None, tcp_configuration=None, icmp_configuration=None, success_threshold=None, **kwargs) -> None: + super(ConnectionMonitorTestConfiguration, self).__init__(**kwargs) + self.name = name + self.test_frequency_sec = test_frequency_sec + self.protocol = protocol + self.preferred_ip_version = preferred_ip_version + self.http_configuration = http_configuration + self.tcp_configuration = tcp_configuration + self.icmp_configuration = icmp_configuration + self.success_threshold = success_threshold + + +class ConnectionMonitorTestGroup(Model): + """Describes the connection monitor test group. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. The name of the connection monitor test group. + :type name: str + :param disable: Value indicating whether test group is disabled. + :type disable: bool + :param test_configurations: Required. List of test configuration names. + :type test_configurations: list[str] + :param sources: Required. List of source endpoint names. + :type sources: list[str] + :param destinations: Required. List of destination endpoint names. + :type destinations: list[str] + """ + + _validation = { + 'name': {'required': True}, + 'test_configurations': {'required': True}, + 'sources': {'required': True}, + 'destinations': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'disable': {'key': 'disable', 'type': 'bool'}, + 'test_configurations': {'key': 'testConfigurations', 'type': '[str]'}, + 'sources': {'key': 'sources', 'type': '[str]'}, + 'destinations': {'key': 'destinations', 'type': '[str]'}, + } + + def __init__(self, *, name: str, test_configurations, sources, destinations, disable: bool=None, **kwargs) -> None: + super(ConnectionMonitorTestGroup, self).__init__(**kwargs) + self.name = name + self.disable = disable + self.test_configurations = test_configurations + self.sources = sources + self.destinations = destinations + + +class ConnectionMonitorWorkspaceSettings(Model): + """Describes the settings for producing output into a log analytics workspace. + + :param workspace_resource_id: Log analytics workspace resource ID. + :type workspace_resource_id: str + """ + + _attribute_map = { + 'workspace_resource_id': {'key': 'workspaceResourceId', 'type': 'str'}, + } + + def __init__(self, *, workspace_resource_id: str=None, **kwargs) -> None: + super(ConnectionMonitorWorkspaceSettings, self).__init__(**kwargs) + self.workspace_resource_id = workspace_resource_id + + +class ConnectionResetSharedKey(Model): + """The virtual network connection reset shared key. + + All required parameters must be populated in order to send to Azure. + + :param key_length: Required. The virtual network connection reset shared + key length, should between 1 and 128. + :type key_length: int + """ + + _validation = { + 'key_length': {'required': True, 'maximum': 128, 'minimum': 1}, + } + + _attribute_map = { + 'key_length': {'key': 'keyLength', 'type': 'int'}, + } + + def __init__(self, *, key_length: int, **kwargs) -> None: + super(ConnectionResetSharedKey, self).__init__(**kwargs) + self.key_length = key_length + + +class ConnectionSharedKey(SubResource): + """Response for GetConnectionSharedKey API service call. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :param value: Required. The virtual network connection shared key value. + :type value: str + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__(self, *, value: str, id: str=None, **kwargs) -> None: + super(ConnectionSharedKey, self).__init__(id=id, **kwargs) + self.value = value + + +class ConnectionStateSnapshot(Model): + """Connection state snapshot. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param connection_state: The connection state. Possible values include: + 'Reachable', 'Unreachable', 'Unknown' + :type connection_state: str or + ~azure.mgmt.network.v2020_05_01.models.ConnectionState + :param start_time: The start time of the connection snapshot. + :type start_time: datetime + :param end_time: The end time of the connection snapshot. + :type end_time: datetime + :param evaluation_state: Connectivity analysis evaluation state. Possible + values include: 'NotStarted', 'InProgress', 'Completed' + :type evaluation_state: str or + ~azure.mgmt.network.v2020_05_01.models.EvaluationState + :param avg_latency_in_ms: Average latency in ms. + :type avg_latency_in_ms: int + :param min_latency_in_ms: Minimum latency in ms. + :type min_latency_in_ms: int + :param max_latency_in_ms: Maximum latency in ms. + :type max_latency_in_ms: int + :param probes_sent: The number of sent probes. + :type probes_sent: int + :param probes_failed: The number of failed probes. + :type probes_failed: int + :ivar hops: List of hops between the source and the destination. + :vartype hops: + list[~azure.mgmt.network.v2020_05_01.models.ConnectivityHop] + """ + + _validation = { + 'hops': {'readonly': True}, + } + + _attribute_map = { + 'connection_state': {'key': 'connectionState', 'type': 'str'}, + 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, + 'evaluation_state': {'key': 'evaluationState', 'type': 'str'}, + 'avg_latency_in_ms': {'key': 'avgLatencyInMs', 'type': 'int'}, + 'min_latency_in_ms': {'key': 'minLatencyInMs', 'type': 'int'}, + 'max_latency_in_ms': {'key': 'maxLatencyInMs', 'type': 'int'}, + 'probes_sent': {'key': 'probesSent', 'type': 'int'}, + 'probes_failed': {'key': 'probesFailed', 'type': 'int'}, + 'hops': {'key': 'hops', 'type': '[ConnectivityHop]'}, + } + + def __init__(self, *, connection_state=None, start_time=None, end_time=None, evaluation_state=None, avg_latency_in_ms: int=None, min_latency_in_ms: int=None, max_latency_in_ms: int=None, probes_sent: int=None, probes_failed: int=None, **kwargs) -> None: + super(ConnectionStateSnapshot, self).__init__(**kwargs) + self.connection_state = connection_state + self.start_time = start_time + self.end_time = end_time + self.evaluation_state = evaluation_state + self.avg_latency_in_ms = avg_latency_in_ms + self.min_latency_in_ms = min_latency_in_ms + self.max_latency_in_ms = max_latency_in_ms + self.probes_sent = probes_sent + self.probes_failed = probes_failed + self.hops = None + + +class ConnectivityDestination(Model): + """Parameters that define destination of connection. + + :param resource_id: The ID of the resource to which a connection attempt + will be made. + :type resource_id: str + :param address: The IP address or URI the resource to which a connection + attempt will be made. + :type address: str + :param port: Port on which check connectivity will be performed. + :type port: int + """ + + _attribute_map = { + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + 'address': {'key': 'address', 'type': 'str'}, + 'port': {'key': 'port', 'type': 'int'}, + } + + def __init__(self, *, resource_id: str=None, address: str=None, port: int=None, **kwargs) -> None: + super(ConnectivityDestination, self).__init__(**kwargs) + self.resource_id = resource_id + self.address = address + self.port = port + + +class ConnectivityHop(Model): + """Information about a hop between the source and the destination. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar type: The type of the hop. + :vartype type: str + :ivar id: The ID of the hop. + :vartype id: str + :ivar address: The IP address of the hop. + :vartype address: str + :ivar resource_id: The ID of the resource corresponding to this hop. + :vartype resource_id: str + :ivar next_hop_ids: List of next hop identifiers. + :vartype next_hop_ids: list[str] + :ivar previous_hop_ids: List of previous hop identifiers. + :vartype previous_hop_ids: list[str] + :ivar links: List of hop links. + :vartype links: list[~azure.mgmt.network.v2020_05_01.models.HopLink] + :ivar previous_links: List of previous hop links. + :vartype previous_links: + list[~azure.mgmt.network.v2020_05_01.models.HopLink] + :ivar issues: List of issues. + :vartype issues: + list[~azure.mgmt.network.v2020_05_01.models.ConnectivityIssue] + """ + + _validation = { + 'type': {'readonly': True}, + 'id': {'readonly': True}, + 'address': {'readonly': True}, + 'resource_id': {'readonly': True}, + 'next_hop_ids': {'readonly': True}, + 'previous_hop_ids': {'readonly': True}, + 'links': {'readonly': True}, + 'previous_links': {'readonly': True}, + 'issues': {'readonly': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'address': {'key': 'address', 'type': 'str'}, + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + 'next_hop_ids': {'key': 'nextHopIds', 'type': '[str]'}, + 'previous_hop_ids': {'key': 'previousHopIds', 'type': '[str]'}, + 'links': {'key': 'links', 'type': '[HopLink]'}, + 'previous_links': {'key': 'previousLinks', 'type': '[HopLink]'}, + 'issues': {'key': 'issues', 'type': '[ConnectivityIssue]'}, + } + + def __init__(self, **kwargs) -> None: + super(ConnectivityHop, self).__init__(**kwargs) + self.type = None + self.id = None + self.address = None + self.resource_id = None + self.next_hop_ids = None + self.previous_hop_ids = None + self.links = None + self.previous_links = None + self.issues = None + + +class ConnectivityInformation(Model): + """Information on the connectivity status. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar hops: List of hops between the source and the destination. + :vartype hops: + list[~azure.mgmt.network.v2020_05_01.models.ConnectivityHop] + :ivar connection_status: The connection status. Possible values include: + 'Unknown', 'Connected', 'Disconnected', 'Degraded' + :vartype connection_status: str or + ~azure.mgmt.network.v2020_05_01.models.ConnectionStatus + :ivar avg_latency_in_ms: Average latency in milliseconds. + :vartype avg_latency_in_ms: int + :ivar min_latency_in_ms: Minimum latency in milliseconds. + :vartype min_latency_in_ms: int + :ivar max_latency_in_ms: Maximum latency in milliseconds. + :vartype max_latency_in_ms: int + :ivar probes_sent: Total number of probes sent. + :vartype probes_sent: int + :ivar probes_failed: Number of failed probes. + :vartype probes_failed: int + """ + + _validation = { + 'hops': {'readonly': True}, + 'connection_status': {'readonly': True}, + 'avg_latency_in_ms': {'readonly': True}, + 'min_latency_in_ms': {'readonly': True}, + 'max_latency_in_ms': {'readonly': True}, + 'probes_sent': {'readonly': True}, + 'probes_failed': {'readonly': True}, + } + + _attribute_map = { + 'hops': {'key': 'hops', 'type': '[ConnectivityHop]'}, + 'connection_status': {'key': 'connectionStatus', 'type': 'str'}, + 'avg_latency_in_ms': {'key': 'avgLatencyInMs', 'type': 'int'}, + 'min_latency_in_ms': {'key': 'minLatencyInMs', 'type': 'int'}, + 'max_latency_in_ms': {'key': 'maxLatencyInMs', 'type': 'int'}, + 'probes_sent': {'key': 'probesSent', 'type': 'int'}, + 'probes_failed': {'key': 'probesFailed', 'type': 'int'}, + } + + def __init__(self, **kwargs) -> None: + super(ConnectivityInformation, self).__init__(**kwargs) + self.hops = None + self.connection_status = None + self.avg_latency_in_ms = None + self.min_latency_in_ms = None + self.max_latency_in_ms = None + self.probes_sent = None + self.probes_failed = None + + +class ConnectivityIssue(Model): + """Information about an issue encountered in the process of checking for + connectivity. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar origin: The origin of the issue. Possible values include: 'Local', + 'Inbound', 'Outbound' + :vartype origin: str or ~azure.mgmt.network.v2020_05_01.models.Origin + :ivar severity: The severity of the issue. Possible values include: + 'Error', 'Warning' + :vartype severity: str or ~azure.mgmt.network.v2020_05_01.models.Severity + :ivar type: The type of issue. Possible values include: 'Unknown', + 'AgentStopped', 'GuestFirewall', 'DnsResolution', 'SocketBind', + 'NetworkSecurityRule', 'UserDefinedRoute', 'PortThrottled', 'Platform' + :vartype type: str or ~azure.mgmt.network.v2020_05_01.models.IssueType + :ivar context: Provides additional context on the issue. + :vartype context: list[dict[str, str]] + """ + + _validation = { + 'origin': {'readonly': True}, + 'severity': {'readonly': True}, + 'type': {'readonly': True}, + 'context': {'readonly': True}, + } + + _attribute_map = { + 'origin': {'key': 'origin', 'type': 'str'}, + 'severity': {'key': 'severity', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'context': {'key': 'context', 'type': '[{str}]'}, + } + + def __init__(self, **kwargs) -> None: + super(ConnectivityIssue, self).__init__(**kwargs) + self.origin = None + self.severity = None + self.type = None + self.context = None + + +class ConnectivityParameters(Model): + """Parameters that determine how the connectivity check will be performed. + + All required parameters must be populated in order to send to Azure. + + :param source: Required. The source of the connection. + :type source: ~azure.mgmt.network.v2020_05_01.models.ConnectivitySource + :param destination: Required. The destination of connection. + :type destination: + ~azure.mgmt.network.v2020_05_01.models.ConnectivityDestination + :param protocol: Network protocol. Possible values include: 'Tcp', 'Http', + 'Https', 'Icmp' + :type protocol: str or ~azure.mgmt.network.v2020_05_01.models.Protocol + :param protocol_configuration: Configuration of the protocol. + :type protocol_configuration: + ~azure.mgmt.network.v2020_05_01.models.ProtocolConfiguration + :param preferred_ip_version: Preferred IP version of the connection. + Possible values include: 'IPv4', 'IPv6' + :type preferred_ip_version: str or + ~azure.mgmt.network.v2020_05_01.models.IPVersion + """ + + _validation = { + 'source': {'required': True}, + 'destination': {'required': True}, + } + + _attribute_map = { + 'source': {'key': 'source', 'type': 'ConnectivitySource'}, + 'destination': {'key': 'destination', 'type': 'ConnectivityDestination'}, + 'protocol': {'key': 'protocol', 'type': 'str'}, + 'protocol_configuration': {'key': 'protocolConfiguration', 'type': 'ProtocolConfiguration'}, + 'preferred_ip_version': {'key': 'preferredIPVersion', 'type': 'str'}, + } + + def __init__(self, *, source, destination, protocol=None, protocol_configuration=None, preferred_ip_version=None, **kwargs) -> None: + super(ConnectivityParameters, self).__init__(**kwargs) + self.source = source + self.destination = destination + self.protocol = protocol + self.protocol_configuration = protocol_configuration + self.preferred_ip_version = preferred_ip_version + + +class ConnectivitySource(Model): + """Parameters that define the source of the connection. + + All required parameters must be populated in order to send to Azure. + + :param resource_id: Required. The ID of the resource from which a + connectivity check will be initiated. + :type resource_id: str + :param port: The source port from which a connectivity check will be + performed. + :type port: int + """ + + _validation = { + 'resource_id': {'required': True}, + } + + _attribute_map = { + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + 'port': {'key': 'port', 'type': 'int'}, + } + + def __init__(self, *, resource_id: str, port: int=None, **kwargs) -> None: + super(ConnectivitySource, self).__init__(**kwargs) + self.resource_id = resource_id + self.port = port + + +class Container(SubResource): + """Reference to container resource in remote resource provider. + + :param id: Resource ID. + :type id: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, **kwargs) -> None: + super(Container, self).__init__(id=id, **kwargs) + + +class ContainerNetworkInterface(SubResource): + """Container network interface child resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar container_network_interface_configuration: Container network + interface configuration from which this container network interface is + created. + :vartype container_network_interface_configuration: + ~azure.mgmt.network.v2020_05_01.models.ContainerNetworkInterfaceConfiguration + :param container: Reference to the container to which this container + network interface is attached. + :type container: ~azure.mgmt.network.v2020_05_01.models.Container + :ivar ip_configurations: Reference to the ip configuration on this + container nic. + :vartype ip_configurations: + list[~azure.mgmt.network.v2020_05_01.models.ContainerNetworkInterfaceIpConfiguration] + :ivar provisioning_state: The provisioning state of the container network + interface resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: The name of the resource. This name can be used to access the + resource. + :type name: str + :ivar type: Sub Resource type. + :vartype type: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'container_network_interface_configuration': {'readonly': True}, + 'ip_configurations': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'container_network_interface_configuration': {'key': 'properties.containerNetworkInterfaceConfiguration', 'type': 'ContainerNetworkInterfaceConfiguration'}, + 'container': {'key': 'properties.container', 'type': 'Container'}, + 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[ContainerNetworkInterfaceIpConfiguration]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, container=None, name: str=None, **kwargs) -> None: + super(ContainerNetworkInterface, self).__init__(id=id, **kwargs) + self.container_network_interface_configuration = None + self.container = container + self.ip_configurations = None + self.provisioning_state = None + self.name = name + self.type = None + self.etag = None + + +class ContainerNetworkInterfaceConfiguration(SubResource): + """Container network interface configuration child resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param ip_configurations: A list of ip configurations of the container + network interface configuration. + :type ip_configurations: + list[~azure.mgmt.network.v2020_05_01.models.IPConfigurationProfile] + :param container_network_interfaces: A list of container network + interfaces created from this container network interface configuration. + :type container_network_interfaces: + list[~azure.mgmt.network.v2020_05_01.models.SubResource] + :ivar provisioning_state: The provisioning state of the container network + interface configuration resource. Possible values include: 'Succeeded', + 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: The name of the resource. This name can be used to access the + resource. + :type name: str + :ivar type: Sub Resource type. + :vartype type: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[IPConfigurationProfile]'}, + 'container_network_interfaces': {'key': 'properties.containerNetworkInterfaces', 'type': '[SubResource]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, ip_configurations=None, container_network_interfaces=None, name: str=None, **kwargs) -> None: + super(ContainerNetworkInterfaceConfiguration, self).__init__(id=id, **kwargs) + self.ip_configurations = ip_configurations + self.container_network_interfaces = container_network_interfaces + self.provisioning_state = None + self.name = name + self.type = None + self.etag = None + + +class ContainerNetworkInterfaceIpConfiguration(Model): + """The ip configuration for a container network interface. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar provisioning_state: The provisioning state of the container network + interface IP configuration resource. Possible values include: 'Succeeded', + 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: The name of the resource. This name can be used to access the + resource. + :type name: str + :ivar type: Sub Resource type. + :vartype type: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, **kwargs) -> None: + super(ContainerNetworkInterfaceIpConfiguration, self).__init__(**kwargs) + self.provisioning_state = None + self.name = name + self.type = None + self.etag = None + + +class CustomDnsConfigPropertiesFormat(Model): + """Contains custom Dns resolution configuration from customer. + + :param fqdn: Fqdn that resolves to private endpoint ip address. + :type fqdn: str + :param ip_addresses: A list of private ip addresses of the private + endpoint. + :type ip_addresses: list[str] + """ + + _attribute_map = { + 'fqdn': {'key': 'fqdn', 'type': 'str'}, + 'ip_addresses': {'key': 'ipAddresses', 'type': '[str]'}, + } + + def __init__(self, *, fqdn: str=None, ip_addresses=None, **kwargs) -> None: + super(CustomDnsConfigPropertiesFormat, self).__init__(**kwargs) + self.fqdn = fqdn + self.ip_addresses = ip_addresses + + +class DdosCustomPolicy(Resource): + """A DDoS custom policy in a resource group. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar resource_guid: The resource GUID property of the DDoS custom policy + resource. It uniquely identifies the resource, even if the user changes + its name or migrate the resource across subscriptions or resource groups. + :vartype resource_guid: str + :ivar provisioning_state: The provisioning state of the DDoS custom policy + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :ivar public_ip_addresses: The list of public IPs associated with the DDoS + custom policy resource. This list is read-only. + :vartype public_ip_addresses: + list[~azure.mgmt.network.v2020_05_01.models.SubResource] + :param protocol_custom_settings: The protocol-specific DDoS policy + customization parameters. + :type protocol_custom_settings: + list[~azure.mgmt.network.v2020_05_01.models.ProtocolCustomSettingsFormat] + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'resource_guid': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'public_ip_addresses': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'public_ip_addresses': {'key': 'properties.publicIPAddresses', 'type': '[SubResource]'}, + 'protocol_custom_settings': {'key': 'properties.protocolCustomSettings', 'type': '[ProtocolCustomSettingsFormat]'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, protocol_custom_settings=None, **kwargs) -> None: + super(DdosCustomPolicy, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.resource_guid = None + self.provisioning_state = None + self.public_ip_addresses = None + self.protocol_custom_settings = protocol_custom_settings + self.etag = None + + +class DdosProtectionPlan(Model): + """A DDoS protection plan in a resource group. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar resource_guid: The resource GUID property of the DDoS protection + plan resource. It uniquely identifies the resource, even if the user + changes its name or migrate the resource across subscriptions or resource + groups. + :vartype resource_guid: str + :ivar provisioning_state: The provisioning state of the DDoS protection + plan resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :ivar virtual_networks: The list of virtual networks associated with the + DDoS protection plan resource. This list is read-only. + :vartype virtual_networks: + list[~azure.mgmt.network.v2020_05_01.models.SubResource] + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'resource_guid': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'virtual_networks': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'virtual_networks': {'key': 'properties.virtualNetworks', 'type': '[SubResource]'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, location: str=None, tags=None, **kwargs) -> None: + super(DdosProtectionPlan, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.location = location + self.tags = tags + self.resource_guid = None + self.provisioning_state = None + self.virtual_networks = None + self.etag = None + + +class DdosSettings(Model): + """Contains the DDoS protection settings of the public IP. + + :param ddos_custom_policy: The DDoS custom policy associated with the + public IP. + :type ddos_custom_policy: + ~azure.mgmt.network.v2020_05_01.models.SubResource + :param protection_coverage: The DDoS protection policy customizability of + the public IP. Only standard coverage will have the ability to be + customized. Possible values include: 'Basic', 'Standard' + :type protection_coverage: str or + ~azure.mgmt.network.v2020_05_01.models.DdosSettingsProtectionCoverage + :param protected_ip: Enables DDoS protection on the public IP. + :type protected_ip: bool + """ + + _attribute_map = { + 'ddos_custom_policy': {'key': 'ddosCustomPolicy', 'type': 'SubResource'}, + 'protection_coverage': {'key': 'protectionCoverage', 'type': 'str'}, + 'protected_ip': {'key': 'protectedIP', 'type': 'bool'}, + } + + def __init__(self, *, ddos_custom_policy=None, protection_coverage=None, protected_ip: bool=None, **kwargs) -> None: + super(DdosSettings, self).__init__(**kwargs) + self.ddos_custom_policy = ddos_custom_policy + self.protection_coverage = protection_coverage + self.protected_ip = protected_ip + + +class Delegation(SubResource): + """Details the service to which the subnet is delegated. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param service_name: The name of the service to whom the subnet should be + delegated (e.g. Microsoft.Sql/servers). + :type service_name: str + :ivar actions: The actions permitted to the service upon delegation. + :vartype actions: list[str] + :ivar provisioning_state: The provisioning state of the service delegation + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: The name of the resource that is unique within a subnet. This + name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'actions': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'service_name': {'key': 'properties.serviceName', 'type': 'str'}, + 'actions': {'key': 'properties.actions', 'type': '[str]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, service_name: str=None, name: str=None, **kwargs) -> None: + super(Delegation, self).__init__(id=id, **kwargs) + self.service_name = service_name + self.actions = None + self.provisioning_state = None + self.name = name + self.etag = None + + +class DeviceProperties(Model): + """List of properties of the device. + + :param device_vendor: Name of the device Vendor. + :type device_vendor: str + :param device_model: Model of the device. + :type device_model: str + :param link_speed_in_mbps: Link speed. + :type link_speed_in_mbps: int + """ + + _attribute_map = { + 'device_vendor': {'key': 'deviceVendor', 'type': 'str'}, + 'device_model': {'key': 'deviceModel', 'type': 'str'}, + 'link_speed_in_mbps': {'key': 'linkSpeedInMbps', 'type': 'int'}, + } + + def __init__(self, *, device_vendor: str=None, device_model: str=None, link_speed_in_mbps: int=None, **kwargs) -> None: + super(DeviceProperties, self).__init__(**kwargs) + self.device_vendor = device_vendor + self.device_model = device_model + self.link_speed_in_mbps = link_speed_in_mbps + + +class DhcpOptions(Model): + """DhcpOptions contains an array of DNS servers available to VMs deployed in + the virtual network. Standard DHCP option for a subnet overrides VNET DHCP + options. + + :param dns_servers: The list of DNS servers IP addresses. + :type dns_servers: list[str] + """ + + _attribute_map = { + 'dns_servers': {'key': 'dnsServers', 'type': '[str]'}, + } + + def __init__(self, *, dns_servers=None, **kwargs) -> None: + super(DhcpOptions, self).__init__(**kwargs) + self.dns_servers = dns_servers + + +class Dimension(Model): + """Dimension of the metric. + + :param name: The name of the dimension. + :type name: str + :param display_name: The display name of the dimension. + :type display_name: str + :param internal_name: The internal name of the dimension. + :type internal_name: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'internal_name': {'key': 'internalName', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, display_name: str=None, internal_name: str=None, **kwargs) -> None: + super(Dimension, self).__init__(**kwargs) + self.name = name + self.display_name = display_name + self.internal_name = internal_name + + +class DnsNameAvailabilityResult(Model): + """Response for the CheckDnsNameAvailability API service call. + + :param available: Domain availability (True/False). + :type available: bool + """ + + _attribute_map = { + 'available': {'key': 'available', 'type': 'bool'}, + } + + def __init__(self, *, available: bool=None, **kwargs) -> None: + super(DnsNameAvailabilityResult, self).__init__(**kwargs) + self.available = available + + +class DnsSettings(Model): + """DNS Proxy Settings in Firewall Policy. + + :param servers: List of Custom DNS Servers. + :type servers: list[str] + :param enable_proxy: Enable DNS Proxy on Firewalls attached to the + Firewall Policy. + :type enable_proxy: bool + :param require_proxy_for_network_rules: FQDNs in Network Rules are + supported when set to true. + :type require_proxy_for_network_rules: bool + """ + + _attribute_map = { + 'servers': {'key': 'servers', 'type': '[str]'}, + 'enable_proxy': {'key': 'enableProxy', 'type': 'bool'}, + 'require_proxy_for_network_rules': {'key': 'requireProxyForNetworkRules', 'type': 'bool'}, + } + + def __init__(self, *, servers=None, enable_proxy: bool=None, require_proxy_for_network_rules: bool=None, **kwargs) -> None: + super(DnsSettings, self).__init__(**kwargs) + self.servers = servers + self.enable_proxy = enable_proxy + self.require_proxy_for_network_rules = require_proxy_for_network_rules + + +class EffectiveNetworkSecurityGroup(Model): + """Effective network security group. + + :param network_security_group: The ID of network security group that is + applied. + :type network_security_group: + ~azure.mgmt.network.v2020_05_01.models.SubResource + :param association: Associated resources. + :type association: + ~azure.mgmt.network.v2020_05_01.models.EffectiveNetworkSecurityGroupAssociation + :param effective_security_rules: A collection of effective security rules. + :type effective_security_rules: + list[~azure.mgmt.network.v2020_05_01.models.EffectiveNetworkSecurityRule] + :param tag_map: Mapping of tags to list of IP Addresses included within + the tag. + :type tag_map: dict[str, list[str]] + """ + + _attribute_map = { + 'network_security_group': {'key': 'networkSecurityGroup', 'type': 'SubResource'}, + 'association': {'key': 'association', 'type': 'EffectiveNetworkSecurityGroupAssociation'}, + 'effective_security_rules': {'key': 'effectiveSecurityRules', 'type': '[EffectiveNetworkSecurityRule]'}, + 'tag_map': {'key': 'tagMap', 'type': '{[str]}'}, + } + + def __init__(self, *, network_security_group=None, association=None, effective_security_rules=None, tag_map=None, **kwargs) -> None: + super(EffectiveNetworkSecurityGroup, self).__init__(**kwargs) + self.network_security_group = network_security_group + self.association = association + self.effective_security_rules = effective_security_rules + self.tag_map = tag_map + + +class EffectiveNetworkSecurityGroupAssociation(Model): + """The effective network security group association. + + :param subnet: The ID of the subnet if assigned. + :type subnet: ~azure.mgmt.network.v2020_05_01.models.SubResource + :param network_interface: The ID of the network interface if assigned. + :type network_interface: + ~azure.mgmt.network.v2020_05_01.models.SubResource + """ + + _attribute_map = { + 'subnet': {'key': 'subnet', 'type': 'SubResource'}, + 'network_interface': {'key': 'networkInterface', 'type': 'SubResource'}, + } + + def __init__(self, *, subnet=None, network_interface=None, **kwargs) -> None: + super(EffectiveNetworkSecurityGroupAssociation, self).__init__(**kwargs) + self.subnet = subnet + self.network_interface = network_interface + + +class EffectiveNetworkSecurityGroupListResult(Model): + """Response for list effective network security groups API service call. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param value: A list of effective network security groups. + :type value: + list[~azure.mgmt.network.v2020_05_01.models.EffectiveNetworkSecurityGroup] + :ivar next_link: The URL to get the next set of results. + :vartype next_link: str + """ + + _validation = { + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[EffectiveNetworkSecurityGroup]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, *, value=None, **kwargs) -> None: + super(EffectiveNetworkSecurityGroupListResult, self).__init__(**kwargs) + self.value = value + self.next_link = None + + +class EffectiveNetworkSecurityRule(Model): + """Effective network security rules. + + :param name: The name of the security rule specified by the user (if + created by the user). + :type name: str + :param protocol: The network protocol this rule applies to. Possible + values include: 'Tcp', 'Udp', 'All' + :type protocol: str or + ~azure.mgmt.network.v2020_05_01.models.EffectiveSecurityRuleProtocol + :param source_port_range: The source port or range. + :type source_port_range: str + :param destination_port_range: The destination port or range. + :type destination_port_range: str + :param source_port_ranges: The source port ranges. Expected values include + a single integer between 0 and 65535, a range using '-' as separator (e.g. + 100-400), or an asterisk (*). + :type source_port_ranges: list[str] + :param destination_port_ranges: The destination port ranges. Expected + values include a single integer between 0 and 65535, a range using '-' as + separator (e.g. 100-400), or an asterisk (*). + :type destination_port_ranges: list[str] + :param source_address_prefix: The source address prefix. + :type source_address_prefix: str + :param destination_address_prefix: The destination address prefix. + :type destination_address_prefix: str + :param source_address_prefixes: The source address prefixes. Expected + values include CIDR IP ranges, Default Tags (VirtualNetwork, + AzureLoadBalancer, Internet), System Tags, and the asterisk (*). + :type source_address_prefixes: list[str] + :param destination_address_prefixes: The destination address prefixes. + Expected values include CIDR IP ranges, Default Tags (VirtualNetwork, + AzureLoadBalancer, Internet), System Tags, and the asterisk (*). + :type destination_address_prefixes: list[str] + :param expanded_source_address_prefix: The expanded source address prefix. + :type expanded_source_address_prefix: list[str] + :param expanded_destination_address_prefix: Expanded destination address + prefix. + :type expanded_destination_address_prefix: list[str] + :param access: Whether network traffic is allowed or denied. Possible + values include: 'Allow', 'Deny' + :type access: str or + ~azure.mgmt.network.v2020_05_01.models.SecurityRuleAccess + :param priority: The priority of the rule. + :type priority: int + :param direction: The direction of the rule. Possible values include: + 'Inbound', 'Outbound' + :type direction: str or + ~azure.mgmt.network.v2020_05_01.models.SecurityRuleDirection + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'protocol': {'key': 'protocol', 'type': 'str'}, + 'source_port_range': {'key': 'sourcePortRange', 'type': 'str'}, + 'destination_port_range': {'key': 'destinationPortRange', 'type': 'str'}, + 'source_port_ranges': {'key': 'sourcePortRanges', 'type': '[str]'}, + 'destination_port_ranges': {'key': 'destinationPortRanges', 'type': '[str]'}, + 'source_address_prefix': {'key': 'sourceAddressPrefix', 'type': 'str'}, + 'destination_address_prefix': {'key': 'destinationAddressPrefix', 'type': 'str'}, + 'source_address_prefixes': {'key': 'sourceAddressPrefixes', 'type': '[str]'}, + 'destination_address_prefixes': {'key': 'destinationAddressPrefixes', 'type': '[str]'}, + 'expanded_source_address_prefix': {'key': 'expandedSourceAddressPrefix', 'type': '[str]'}, + 'expanded_destination_address_prefix': {'key': 'expandedDestinationAddressPrefix', 'type': '[str]'}, + 'access': {'key': 'access', 'type': 'str'}, + 'priority': {'key': 'priority', 'type': 'int'}, + 'direction': {'key': 'direction', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, protocol=None, source_port_range: str=None, destination_port_range: str=None, source_port_ranges=None, destination_port_ranges=None, source_address_prefix: str=None, destination_address_prefix: str=None, source_address_prefixes=None, destination_address_prefixes=None, expanded_source_address_prefix=None, expanded_destination_address_prefix=None, access=None, priority: int=None, direction=None, **kwargs) -> None: + super(EffectiveNetworkSecurityRule, self).__init__(**kwargs) + self.name = name + self.protocol = protocol + self.source_port_range = source_port_range + self.destination_port_range = destination_port_range + self.source_port_ranges = source_port_ranges + self.destination_port_ranges = destination_port_ranges + self.source_address_prefix = source_address_prefix + self.destination_address_prefix = destination_address_prefix + self.source_address_prefixes = source_address_prefixes + self.destination_address_prefixes = destination_address_prefixes + self.expanded_source_address_prefix = expanded_source_address_prefix + self.expanded_destination_address_prefix = expanded_destination_address_prefix + self.access = access + self.priority = priority + self.direction = direction + + +class EffectiveRoute(Model): + """Effective Route. + + :param name: The name of the user defined route. This is optional. + :type name: str + :param disable_bgp_route_propagation: If true, on-premises routes are not + propagated to the network interfaces in the subnet. + :type disable_bgp_route_propagation: bool + :param source: Who created the route. Possible values include: 'Unknown', + 'User', 'VirtualNetworkGateway', 'Default' + :type source: str or + ~azure.mgmt.network.v2020_05_01.models.EffectiveRouteSource + :param state: The value of effective route. Possible values include: + 'Active', 'Invalid' + :type state: str or + ~azure.mgmt.network.v2020_05_01.models.EffectiveRouteState + :param address_prefix: The address prefixes of the effective routes in + CIDR notation. + :type address_prefix: list[str] + :param next_hop_ip_address: The IP address of the next hop of the + effective route. + :type next_hop_ip_address: list[str] + :param next_hop_type: The type of Azure hop the packet should be sent to. + Possible values include: 'VirtualNetworkGateway', 'VnetLocal', 'Internet', + 'VirtualAppliance', 'None' + :type next_hop_type: str or + ~azure.mgmt.network.v2020_05_01.models.RouteNextHopType + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'disable_bgp_route_propagation': {'key': 'disableBgpRoutePropagation', 'type': 'bool'}, + 'source': {'key': 'source', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + 'address_prefix': {'key': 'addressPrefix', 'type': '[str]'}, + 'next_hop_ip_address': {'key': 'nextHopIpAddress', 'type': '[str]'}, + 'next_hop_type': {'key': 'nextHopType', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, disable_bgp_route_propagation: bool=None, source=None, state=None, address_prefix=None, next_hop_ip_address=None, next_hop_type=None, **kwargs) -> None: + super(EffectiveRoute, self).__init__(**kwargs) + self.name = name + self.disable_bgp_route_propagation = disable_bgp_route_propagation + self.source = source + self.state = state + self.address_prefix = address_prefix + self.next_hop_ip_address = next_hop_ip_address + self.next_hop_type = next_hop_type + + +class EffectiveRouteListResult(Model): + """Response for list effective route API service call. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param value: A list of effective routes. + :type value: list[~azure.mgmt.network.v2020_05_01.models.EffectiveRoute] + :ivar next_link: The URL to get the next set of results. + :vartype next_link: str + """ + + _validation = { + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[EffectiveRoute]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, *, value=None, **kwargs) -> None: + super(EffectiveRouteListResult, self).__init__(**kwargs) + self.value = value + self.next_link = None + + +class EffectiveRoutesParameters(Model): + """The parameters specifying the resource whose effective routes are being + requested. + + :param resource_id: The resource whose effective routes are being + requested. + :type resource_id: ~azure.mgmt.network.v2020_05_01.models.Resource + :param virtual_wan_resource_type: The type of the specified resource like + RouteTable, ExpressRouteConnection, HubVirtualNetworkConnection, + VpnConnection and P2SConnection. + :type virtual_wan_resource_type: str + """ + + _attribute_map = { + 'resource_id': {'key': 'resourceId', 'type': 'Resource'}, + 'virtual_wan_resource_type': {'key': 'virtualWanResourceType', 'type': 'str'}, + } + + def __init__(self, *, resource_id=None, virtual_wan_resource_type: str=None, **kwargs) -> None: + super(EffectiveRoutesParameters, self).__init__(**kwargs) + self.resource_id = resource_id + self.virtual_wan_resource_type = virtual_wan_resource_type + + +class EndpointServiceResult(SubResource): + """Endpoint service. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Name of the endpoint service. + :vartype name: str + :ivar type: Type of the endpoint service. + :vartype type: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, **kwargs) -> None: + super(EndpointServiceResult, self).__init__(id=id, **kwargs) + self.name = None + self.type = None + + +class Error(Model): + """Common error representation. + + :param code: Error code. + :type code: str + :param message: Error message. + :type message: str + :param target: Error target. + :type target: str + :param details: Error details. + :type details: list[~azure.mgmt.network.v2020_05_01.models.ErrorDetails] + :param inner_error: Inner error message. + :type inner_error: str + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[ErrorDetails]'}, + 'inner_error': {'key': 'innerError', 'type': 'str'}, + } + + def __init__(self, *, code: str=None, message: str=None, target: str=None, details=None, inner_error: str=None, **kwargs) -> None: + super(Error, self).__init__(**kwargs) + self.code = code + self.message = message + self.target = target + self.details = details + self.inner_error = inner_error + + +class ErrorException(HttpOperationError): + """Server responsed with exception of type: 'Error'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(ErrorException, self).__init__(deserialize, response, 'Error', *args) + + +class ErrorDetails(Model): + """Common error details representation. + + :param code: Error code. + :type code: str + :param target: Error target. + :type target: str + :param message: Error message. + :type message: str + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__(self, *, code: str=None, target: str=None, message: str=None, **kwargs) -> None: + super(ErrorDetails, self).__init__(**kwargs) + self.code = code + self.target = target + self.message = message + + +class ErrorResponse(Model): + """The error object. + + :param error: Error. The error details object. + :type error: ~azure.mgmt.network.v2020_05_01.models.ErrorDetails + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'ErrorDetails'}, + } + + def __init__(self, *, error=None, **kwargs) -> None: + super(ErrorResponse, self).__init__(**kwargs) + self.error = error + + +class ErrorResponseException(HttpOperationError): + """Server responsed with exception of type: 'ErrorResponse'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(ErrorResponseException, self).__init__(deserialize, response, 'ErrorResponse', *args) + + +class EvaluatedNetworkSecurityGroup(Model): + """Results of network security group evaluation. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param network_security_group_id: Network security group ID. + :type network_security_group_id: str + :param applied_to: Resource ID of nic or subnet to which network security + group is applied. + :type applied_to: str + :param matched_rule: Matched network security rule. + :type matched_rule: ~azure.mgmt.network.v2020_05_01.models.MatchedRule + :ivar rules_evaluation_result: List of network security rules evaluation + results. + :vartype rules_evaluation_result: + list[~azure.mgmt.network.v2020_05_01.models.NetworkSecurityRulesEvaluationResult] + """ + + _validation = { + 'rules_evaluation_result': {'readonly': True}, + } + + _attribute_map = { + 'network_security_group_id': {'key': 'networkSecurityGroupId', 'type': 'str'}, + 'applied_to': {'key': 'appliedTo', 'type': 'str'}, + 'matched_rule': {'key': 'matchedRule', 'type': 'MatchedRule'}, + 'rules_evaluation_result': {'key': 'rulesEvaluationResult', 'type': '[NetworkSecurityRulesEvaluationResult]'}, + } + + def __init__(self, *, network_security_group_id: str=None, applied_to: str=None, matched_rule=None, **kwargs) -> None: + super(EvaluatedNetworkSecurityGroup, self).__init__(**kwargs) + self.network_security_group_id = network_security_group_id + self.applied_to = applied_to + self.matched_rule = matched_rule + self.rules_evaluation_result = None + + +class ExpressRouteCircuit(Resource): + """ExpressRouteCircuit resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param sku: The SKU. + :type sku: ~azure.mgmt.network.v2020_05_01.models.ExpressRouteCircuitSku + :param allow_classic_operations: Allow classic operations. + :type allow_classic_operations: bool + :param circuit_provisioning_state: The CircuitProvisioningState state of + the resource. + :type circuit_provisioning_state: str + :param service_provider_provisioning_state: The + ServiceProviderProvisioningState state of the resource. Possible values + include: 'NotProvisioned', 'Provisioning', 'Provisioned', 'Deprovisioning' + :type service_provider_provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ServiceProviderProvisioningState + :param authorizations: The list of authorizations. + :type authorizations: + list[~azure.mgmt.network.v2020_05_01.models.ExpressRouteCircuitAuthorization] + :param peerings: The list of peerings. + :type peerings: + list[~azure.mgmt.network.v2020_05_01.models.ExpressRouteCircuitPeering] + :param service_key: The ServiceKey. + :type service_key: str + :param service_provider_notes: The ServiceProviderNotes. + :type service_provider_notes: str + :param service_provider_properties: The ServiceProviderProperties. + :type service_provider_properties: + ~azure.mgmt.network.v2020_05_01.models.ExpressRouteCircuitServiceProviderProperties + :param express_route_port: The reference to the ExpressRoutePort resource + when the circuit is provisioned on an ExpressRoutePort resource. + :type express_route_port: + ~azure.mgmt.network.v2020_05_01.models.SubResource + :param bandwidth_in_gbps: The bandwidth of the circuit when the circuit is + provisioned on an ExpressRoutePort resource. + :type bandwidth_in_gbps: float + :ivar stag: The identifier of the circuit traffic. Outer tag for QinQ + encapsulation. + :vartype stag: int + :ivar provisioning_state: The provisioning state of the express route + circuit resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param gateway_manager_etag: The GatewayManager Etag. + :type gateway_manager_etag: str + :param global_reach_enabled: Flag denoting global reach status. + :type global_reach_enabled: bool + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'stag': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'sku': {'key': 'sku', 'type': 'ExpressRouteCircuitSku'}, + 'allow_classic_operations': {'key': 'properties.allowClassicOperations', 'type': 'bool'}, + 'circuit_provisioning_state': {'key': 'properties.circuitProvisioningState', 'type': 'str'}, + 'service_provider_provisioning_state': {'key': 'properties.serviceProviderProvisioningState', 'type': 'str'}, + 'authorizations': {'key': 'properties.authorizations', 'type': '[ExpressRouteCircuitAuthorization]'}, + 'peerings': {'key': 'properties.peerings', 'type': '[ExpressRouteCircuitPeering]'}, + 'service_key': {'key': 'properties.serviceKey', 'type': 'str'}, + 'service_provider_notes': {'key': 'properties.serviceProviderNotes', 'type': 'str'}, + 'service_provider_properties': {'key': 'properties.serviceProviderProperties', 'type': 'ExpressRouteCircuitServiceProviderProperties'}, + 'express_route_port': {'key': 'properties.expressRoutePort', 'type': 'SubResource'}, + 'bandwidth_in_gbps': {'key': 'properties.bandwidthInGbps', 'type': 'float'}, + 'stag': {'key': 'properties.stag', 'type': 'int'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'gateway_manager_etag': {'key': 'properties.gatewayManagerEtag', 'type': 'str'}, + 'global_reach_enabled': {'key': 'properties.globalReachEnabled', 'type': 'bool'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, sku=None, allow_classic_operations: bool=None, circuit_provisioning_state: str=None, service_provider_provisioning_state=None, authorizations=None, peerings=None, service_key: str=None, service_provider_notes: str=None, service_provider_properties=None, express_route_port=None, bandwidth_in_gbps: float=None, gateway_manager_etag: str=None, global_reach_enabled: bool=None, **kwargs) -> None: + super(ExpressRouteCircuit, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.sku = sku + self.allow_classic_operations = allow_classic_operations + self.circuit_provisioning_state = circuit_provisioning_state + self.service_provider_provisioning_state = service_provider_provisioning_state + self.authorizations = authorizations + self.peerings = peerings + self.service_key = service_key + self.service_provider_notes = service_provider_notes + self.service_provider_properties = service_provider_properties + self.express_route_port = express_route_port + self.bandwidth_in_gbps = bandwidth_in_gbps + self.stag = None + self.provisioning_state = None + self.gateway_manager_etag = gateway_manager_etag + self.global_reach_enabled = global_reach_enabled + self.etag = None + + +class ExpressRouteCircuitArpTable(Model): + """The ARP table associated with the ExpressRouteCircuit. + + :param age: Entry age in minutes. + :type age: int + :param interface: Interface address. + :type interface: str + :param ip_address: The IP address. + :type ip_address: str + :param mac_address: The MAC address. + :type mac_address: str + """ + + _attribute_map = { + 'age': {'key': 'age', 'type': 'int'}, + 'interface': {'key': 'interface', 'type': 'str'}, + 'ip_address': {'key': 'ipAddress', 'type': 'str'}, + 'mac_address': {'key': 'macAddress', 'type': 'str'}, + } + + def __init__(self, *, age: int=None, interface: str=None, ip_address: str=None, mac_address: str=None, **kwargs) -> None: + super(ExpressRouteCircuitArpTable, self).__init__(**kwargs) + self.age = age + self.interface = interface + self.ip_address = ip_address + self.mac_address = mac_address + + +class ExpressRouteCircuitAuthorization(SubResource): + """Authorization in an ExpressRouteCircuit resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param authorization_key: The authorization key. + :type authorization_key: str + :param authorization_use_status: The authorization use status. Possible + values include: 'Available', 'InUse' + :type authorization_use_status: str or + ~azure.mgmt.network.v2020_05_01.models.AuthorizationUseStatus + :ivar provisioning_state: The provisioning state of the authorization + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'authorization_key': {'key': 'properties.authorizationKey', 'type': 'str'}, + 'authorization_use_status': {'key': 'properties.authorizationUseStatus', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, authorization_key: str=None, authorization_use_status=None, name: str=None, **kwargs) -> None: + super(ExpressRouteCircuitAuthorization, self).__init__(id=id, **kwargs) + self.authorization_key = authorization_key + self.authorization_use_status = authorization_use_status + self.provisioning_state = None + self.name = name + self.etag = None + self.type = None + + +class ExpressRouteCircuitConnection(SubResource): + """Express Route Circuit Connection in an ExpressRouteCircuitPeering resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param express_route_circuit_peering: Reference to Express Route Circuit + Private Peering Resource of the circuit initiating connection. + :type express_route_circuit_peering: + ~azure.mgmt.network.v2020_05_01.models.SubResource + :param peer_express_route_circuit_peering: Reference to Express Route + Circuit Private Peering Resource of the peered circuit. + :type peer_express_route_circuit_peering: + ~azure.mgmt.network.v2020_05_01.models.SubResource + :param address_prefix: /29 IP address space to carve out Customer + addresses for tunnels. + :type address_prefix: str + :param authorization_key: The authorization key. + :type authorization_key: str + :param ipv6_circuit_connection_config: IPv6 Address PrefixProperties of + the express route circuit connection. + :type ipv6_circuit_connection_config: + ~azure.mgmt.network.v2020_05_01.models.Ipv6CircuitConnectionConfig + :param circuit_connection_status: Express Route Circuit connection state. + Possible values include: 'Connected', 'Connecting', 'Disconnected' + :type circuit_connection_status: str or + ~azure.mgmt.network.v2020_05_01.models.CircuitConnectionStatus + :ivar provisioning_state: The provisioning state of the express route + circuit connection resource. Possible values include: 'Succeeded', + 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'express_route_circuit_peering': {'key': 'properties.expressRouteCircuitPeering', 'type': 'SubResource'}, + 'peer_express_route_circuit_peering': {'key': 'properties.peerExpressRouteCircuitPeering', 'type': 'SubResource'}, + 'address_prefix': {'key': 'properties.addressPrefix', 'type': 'str'}, + 'authorization_key': {'key': 'properties.authorizationKey', 'type': 'str'}, + 'ipv6_circuit_connection_config': {'key': 'properties.ipv6CircuitConnectionConfig', 'type': 'Ipv6CircuitConnectionConfig'}, + 'circuit_connection_status': {'key': 'properties.circuitConnectionStatus', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, express_route_circuit_peering=None, peer_express_route_circuit_peering=None, address_prefix: str=None, authorization_key: str=None, ipv6_circuit_connection_config=None, circuit_connection_status=None, name: str=None, **kwargs) -> None: + super(ExpressRouteCircuitConnection, self).__init__(id=id, **kwargs) + self.express_route_circuit_peering = express_route_circuit_peering + self.peer_express_route_circuit_peering = peer_express_route_circuit_peering + self.address_prefix = address_prefix + self.authorization_key = authorization_key + self.ipv6_circuit_connection_config = ipv6_circuit_connection_config + self.circuit_connection_status = circuit_connection_status + self.provisioning_state = None + self.name = name + self.etag = None + self.type = None + + +class ExpressRouteCircuitPeering(SubResource): + """Peering in an ExpressRouteCircuit resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param peering_type: The peering type. Possible values include: + 'AzurePublicPeering', 'AzurePrivatePeering', 'MicrosoftPeering' + :type peering_type: str or + ~azure.mgmt.network.v2020_05_01.models.ExpressRoutePeeringType + :param state: The peering state. Possible values include: 'Disabled', + 'Enabled' + :type state: str or + ~azure.mgmt.network.v2020_05_01.models.ExpressRoutePeeringState + :param azure_asn: The Azure ASN. + :type azure_asn: int + :param peer_asn: The peer ASN. + :type peer_asn: long + :param primary_peer_address_prefix: The primary address prefix. + :type primary_peer_address_prefix: str + :param secondary_peer_address_prefix: The secondary address prefix. + :type secondary_peer_address_prefix: str + :param primary_azure_port: The primary port. + :type primary_azure_port: str + :param secondary_azure_port: The secondary port. + :type secondary_azure_port: str + :param shared_key: The shared key. + :type shared_key: str + :param vlan_id: The VLAN ID. + :type vlan_id: int + :param microsoft_peering_config: The Microsoft peering configuration. + :type microsoft_peering_config: + ~azure.mgmt.network.v2020_05_01.models.ExpressRouteCircuitPeeringConfig + :param stats: The peering stats of express route circuit. + :type stats: + ~azure.mgmt.network.v2020_05_01.models.ExpressRouteCircuitStats + :ivar provisioning_state: The provisioning state of the express route + circuit peering resource. Possible values include: 'Succeeded', + 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param gateway_manager_etag: The GatewayManager Etag. + :type gateway_manager_etag: str + :ivar last_modified_by: Who was the last to modify the peering. + :vartype last_modified_by: str + :param route_filter: The reference to the RouteFilter resource. + :type route_filter: ~azure.mgmt.network.v2020_05_01.models.SubResource + :param ipv6_peering_config: The IPv6 peering configuration. + :type ipv6_peering_config: + ~azure.mgmt.network.v2020_05_01.models.Ipv6ExpressRouteCircuitPeeringConfig + :param express_route_connection: The ExpressRoute connection. + :type express_route_connection: + ~azure.mgmt.network.v2020_05_01.models.ExpressRouteConnectionId + :param connections: The list of circuit connections associated with Azure + Private Peering for this circuit. + :type connections: + list[~azure.mgmt.network.v2020_05_01.models.ExpressRouteCircuitConnection] + :ivar peered_connections: The list of peered circuit connections + associated with Azure Private Peering for this circuit. + :vartype peered_connections: + list[~azure.mgmt.network.v2020_05_01.models.PeerExpressRouteCircuitConnection] + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'peer_asn': {'maximum': 4294967295, 'minimum': 1}, + 'provisioning_state': {'readonly': True}, + 'last_modified_by': {'readonly': True}, + 'peered_connections': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'peering_type': {'key': 'properties.peeringType', 'type': 'str'}, + 'state': {'key': 'properties.state', 'type': 'str'}, + 'azure_asn': {'key': 'properties.azureASN', 'type': 'int'}, + 'peer_asn': {'key': 'properties.peerASN', 'type': 'long'}, + 'primary_peer_address_prefix': {'key': 'properties.primaryPeerAddressPrefix', 'type': 'str'}, + 'secondary_peer_address_prefix': {'key': 'properties.secondaryPeerAddressPrefix', 'type': 'str'}, + 'primary_azure_port': {'key': 'properties.primaryAzurePort', 'type': 'str'}, + 'secondary_azure_port': {'key': 'properties.secondaryAzurePort', 'type': 'str'}, + 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, + 'vlan_id': {'key': 'properties.vlanId', 'type': 'int'}, + 'microsoft_peering_config': {'key': 'properties.microsoftPeeringConfig', 'type': 'ExpressRouteCircuitPeeringConfig'}, + 'stats': {'key': 'properties.stats', 'type': 'ExpressRouteCircuitStats'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'gateway_manager_etag': {'key': 'properties.gatewayManagerEtag', 'type': 'str'}, + 'last_modified_by': {'key': 'properties.lastModifiedBy', 'type': 'str'}, + 'route_filter': {'key': 'properties.routeFilter', 'type': 'SubResource'}, + 'ipv6_peering_config': {'key': 'properties.ipv6PeeringConfig', 'type': 'Ipv6ExpressRouteCircuitPeeringConfig'}, + 'express_route_connection': {'key': 'properties.expressRouteConnection', 'type': 'ExpressRouteConnectionId'}, + 'connections': {'key': 'properties.connections', 'type': '[ExpressRouteCircuitConnection]'}, + 'peered_connections': {'key': 'properties.peeredConnections', 'type': '[PeerExpressRouteCircuitConnection]'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, peering_type=None, state=None, azure_asn: int=None, peer_asn: int=None, primary_peer_address_prefix: str=None, secondary_peer_address_prefix: str=None, primary_azure_port: str=None, secondary_azure_port: str=None, shared_key: str=None, vlan_id: int=None, microsoft_peering_config=None, stats=None, gateway_manager_etag: str=None, route_filter=None, ipv6_peering_config=None, express_route_connection=None, connections=None, name: str=None, **kwargs) -> None: + super(ExpressRouteCircuitPeering, self).__init__(id=id, **kwargs) + self.peering_type = peering_type + self.state = state + self.azure_asn = azure_asn + self.peer_asn = peer_asn + self.primary_peer_address_prefix = primary_peer_address_prefix + self.secondary_peer_address_prefix = secondary_peer_address_prefix + self.primary_azure_port = primary_azure_port + self.secondary_azure_port = secondary_azure_port + self.shared_key = shared_key + self.vlan_id = vlan_id + self.microsoft_peering_config = microsoft_peering_config + self.stats = stats + self.provisioning_state = None + self.gateway_manager_etag = gateway_manager_etag + self.last_modified_by = None + self.route_filter = route_filter + self.ipv6_peering_config = ipv6_peering_config + self.express_route_connection = express_route_connection + self.connections = connections + self.peered_connections = None + self.name = name + self.etag = None + self.type = None + + +class ExpressRouteCircuitPeeringConfig(Model): + """Specifies the peering configuration. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param advertised_public_prefixes: The reference to + AdvertisedPublicPrefixes. + :type advertised_public_prefixes: list[str] + :param advertised_communities: The communities of bgp peering. Specified + for microsoft peering. + :type advertised_communities: list[str] + :ivar advertised_public_prefixes_state: The advertised public prefix state + of the Peering resource. Possible values include: 'NotConfigured', + 'Configuring', 'Configured', 'ValidationNeeded' + :vartype advertised_public_prefixes_state: str or + ~azure.mgmt.network.v2020_05_01.models.ExpressRouteCircuitPeeringAdvertisedPublicPrefixState + :param legacy_mode: The legacy mode of the peering. + :type legacy_mode: int + :param customer_asn: The CustomerASN of the peering. + :type customer_asn: int + :param routing_registry_name: The RoutingRegistryName of the + configuration. + :type routing_registry_name: str + """ + + _validation = { + 'advertised_public_prefixes_state': {'readonly': True}, + } + + _attribute_map = { + 'advertised_public_prefixes': {'key': 'advertisedPublicPrefixes', 'type': '[str]'}, + 'advertised_communities': {'key': 'advertisedCommunities', 'type': '[str]'}, + 'advertised_public_prefixes_state': {'key': 'advertisedPublicPrefixesState', 'type': 'str'}, + 'legacy_mode': {'key': 'legacyMode', 'type': 'int'}, + 'customer_asn': {'key': 'customerASN', 'type': 'int'}, + 'routing_registry_name': {'key': 'routingRegistryName', 'type': 'str'}, + } + + def __init__(self, *, advertised_public_prefixes=None, advertised_communities=None, legacy_mode: int=None, customer_asn: int=None, routing_registry_name: str=None, **kwargs) -> None: + super(ExpressRouteCircuitPeeringConfig, self).__init__(**kwargs) + self.advertised_public_prefixes = advertised_public_prefixes + self.advertised_communities = advertised_communities + self.advertised_public_prefixes_state = None + self.legacy_mode = legacy_mode + self.customer_asn = customer_asn + self.routing_registry_name = routing_registry_name + + +class ExpressRouteCircuitPeeringId(Model): + """ExpressRoute circuit peering identifier. + + :param id: The ID of the ExpressRoute circuit peering. + :type id: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, **kwargs) -> None: + super(ExpressRouteCircuitPeeringId, self).__init__(**kwargs) + self.id = id + + +class ExpressRouteCircuitReference(Model): + """Reference to an express route circuit. + + :param id: Corresponding Express Route Circuit Id. + :type id: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, **kwargs) -> None: + super(ExpressRouteCircuitReference, self).__init__(**kwargs) + self.id = id + + +class ExpressRouteCircuitRoutesTable(Model): + """The routes table associated with the ExpressRouteCircuit. + + :param network: IP address of a network entity. + :type network: str + :param next_hop: NextHop address. + :type next_hop: str + :param loc_prf: Local preference value as set with the set + local-preference route-map configuration command. + :type loc_prf: str + :param weight: Route Weight. + :type weight: int + :param path: Autonomous system paths to the destination network. + :type path: str + """ + + _attribute_map = { + 'network': {'key': 'network', 'type': 'str'}, + 'next_hop': {'key': 'nextHop', 'type': 'str'}, + 'loc_prf': {'key': 'locPrf', 'type': 'str'}, + 'weight': {'key': 'weight', 'type': 'int'}, + 'path': {'key': 'path', 'type': 'str'}, + } + + def __init__(self, *, network: str=None, next_hop: str=None, loc_prf: str=None, weight: int=None, path: str=None, **kwargs) -> None: + super(ExpressRouteCircuitRoutesTable, self).__init__(**kwargs) + self.network = network + self.next_hop = next_hop + self.loc_prf = loc_prf + self.weight = weight + self.path = path + + +class ExpressRouteCircuitRoutesTableSummary(Model): + """The routes table associated with the ExpressRouteCircuit. + + :param neighbor: IP address of the neighbor. + :type neighbor: str + :param v: BGP version number spoken to the neighbor. + :type v: int + :param as_property: Autonomous system number. + :type as_property: int + :param up_down: The length of time that the BGP session has been in the + Established state, or the current status if not in the Established state. + :type up_down: str + :param state_pfx_rcd: Current state of the BGP session, and the number of + prefixes that have been received from a neighbor or peer group. + :type state_pfx_rcd: str + """ + + _attribute_map = { + 'neighbor': {'key': 'neighbor', 'type': 'str'}, + 'v': {'key': 'v', 'type': 'int'}, + 'as_property': {'key': 'as', 'type': 'int'}, + 'up_down': {'key': 'upDown', 'type': 'str'}, + 'state_pfx_rcd': {'key': 'statePfxRcd', 'type': 'str'}, + } + + def __init__(self, *, neighbor: str=None, v: int=None, as_property: int=None, up_down: str=None, state_pfx_rcd: str=None, **kwargs) -> None: + super(ExpressRouteCircuitRoutesTableSummary, self).__init__(**kwargs) + self.neighbor = neighbor + self.v = v + self.as_property = as_property + self.up_down = up_down + self.state_pfx_rcd = state_pfx_rcd + + +class ExpressRouteCircuitsArpTableListResult(Model): + """Response for ListArpTable associated with the Express Route Circuits API. + + :param value: A list of the ARP tables. + :type value: + list[~azure.mgmt.network.v2020_05_01.models.ExpressRouteCircuitArpTable] + :param next_link: The URL to get the next set of results. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ExpressRouteCircuitArpTable]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, *, value=None, next_link: str=None, **kwargs) -> None: + super(ExpressRouteCircuitsArpTableListResult, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class ExpressRouteCircuitServiceProviderProperties(Model): + """Contains ServiceProviderProperties in an ExpressRouteCircuit. + + :param service_provider_name: The serviceProviderName. + :type service_provider_name: str + :param peering_location: The peering location. + :type peering_location: str + :param bandwidth_in_mbps: The BandwidthInMbps. + :type bandwidth_in_mbps: int + """ + + _attribute_map = { + 'service_provider_name': {'key': 'serviceProviderName', 'type': 'str'}, + 'peering_location': {'key': 'peeringLocation', 'type': 'str'}, + 'bandwidth_in_mbps': {'key': 'bandwidthInMbps', 'type': 'int'}, + } + + def __init__(self, *, service_provider_name: str=None, peering_location: str=None, bandwidth_in_mbps: int=None, **kwargs) -> None: + super(ExpressRouteCircuitServiceProviderProperties, self).__init__(**kwargs) + self.service_provider_name = service_provider_name + self.peering_location = peering_location + self.bandwidth_in_mbps = bandwidth_in_mbps + + +class ExpressRouteCircuitSku(Model): + """Contains SKU in an ExpressRouteCircuit. + + :param name: The name of the SKU. + :type name: str + :param tier: The tier of the SKU. Possible values include: 'Standard', + 'Premium', 'Basic', 'Local' + :type tier: str or + ~azure.mgmt.network.v2020_05_01.models.ExpressRouteCircuitSkuTier + :param family: The family of the SKU. Possible values include: + 'UnlimitedData', 'MeteredData' + :type family: str or + ~azure.mgmt.network.v2020_05_01.models.ExpressRouteCircuitSkuFamily + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + 'family': {'key': 'family', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, tier=None, family=None, **kwargs) -> None: + super(ExpressRouteCircuitSku, self).__init__(**kwargs) + self.name = name + self.tier = tier + self.family = family + + +class ExpressRouteCircuitsRoutesTableListResult(Model): + """Response for ListRoutesTable associated with the Express Route Circuits + API. + + :param value: The list of routes table. + :type value: + list[~azure.mgmt.network.v2020_05_01.models.ExpressRouteCircuitRoutesTable] + :param next_link: The URL to get the next set of results. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ExpressRouteCircuitRoutesTable]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, *, value=None, next_link: str=None, **kwargs) -> None: + super(ExpressRouteCircuitsRoutesTableListResult, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class ExpressRouteCircuitsRoutesTableSummaryListResult(Model): + """Response for ListRoutesTable associated with the Express Route Circuits + API. + + :param value: A list of the routes table. + :type value: + list[~azure.mgmt.network.v2020_05_01.models.ExpressRouteCircuitRoutesTableSummary] + :param next_link: The URL to get the next set of results. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ExpressRouteCircuitRoutesTableSummary]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, *, value=None, next_link: str=None, **kwargs) -> None: + super(ExpressRouteCircuitsRoutesTableSummaryListResult, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class ExpressRouteCircuitStats(Model): + """Contains stats associated with the peering. + + :param primarybytes_in: The Primary BytesIn of the peering. + :type primarybytes_in: long + :param primarybytes_out: The primary BytesOut of the peering. + :type primarybytes_out: long + :param secondarybytes_in: The secondary BytesIn of the peering. + :type secondarybytes_in: long + :param secondarybytes_out: The secondary BytesOut of the peering. + :type secondarybytes_out: long + """ + + _attribute_map = { + 'primarybytes_in': {'key': 'primarybytesIn', 'type': 'long'}, + 'primarybytes_out': {'key': 'primarybytesOut', 'type': 'long'}, + 'secondarybytes_in': {'key': 'secondarybytesIn', 'type': 'long'}, + 'secondarybytes_out': {'key': 'secondarybytesOut', 'type': 'long'}, + } + + def __init__(self, *, primarybytes_in: int=None, primarybytes_out: int=None, secondarybytes_in: int=None, secondarybytes_out: int=None, **kwargs) -> None: + super(ExpressRouteCircuitStats, self).__init__(**kwargs) + self.primarybytes_in = primarybytes_in + self.primarybytes_out = primarybytes_out + self.secondarybytes_in = secondarybytes_in + self.secondarybytes_out = secondarybytes_out + + +class ExpressRouteConnection(SubResource): + """ExpressRouteConnection resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :ivar provisioning_state: The provisioning state of the express route + connection resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param express_route_circuit_peering: Required. The ExpressRoute circuit + peering. + :type express_route_circuit_peering: + ~azure.mgmt.network.v2020_05_01.models.ExpressRouteCircuitPeeringId + :param authorization_key: Authorization key to establish the connection. + :type authorization_key: str + :param routing_weight: The routing weight associated to the connection. + :type routing_weight: int + :param enable_internet_security: Enable internet security. + :type enable_internet_security: bool + :param routing_configuration: The Routing Configuration indicating the + associated and propagated route tables on this connection. + :type routing_configuration: + ~azure.mgmt.network.v2020_05_01.models.RoutingConfiguration + :param name: Required. The name of the resource. + :type name: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'express_route_circuit_peering': {'required': True}, + 'name': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'express_route_circuit_peering': {'key': 'properties.expressRouteCircuitPeering', 'type': 'ExpressRouteCircuitPeeringId'}, + 'authorization_key': {'key': 'properties.authorizationKey', 'type': 'str'}, + 'routing_weight': {'key': 'properties.routingWeight', 'type': 'int'}, + 'enable_internet_security': {'key': 'properties.enableInternetSecurity', 'type': 'bool'}, + 'routing_configuration': {'key': 'properties.routingConfiguration', 'type': 'RoutingConfiguration'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, *, express_route_circuit_peering, name: str, id: str=None, authorization_key: str=None, routing_weight: int=None, enable_internet_security: bool=None, routing_configuration=None, **kwargs) -> None: + super(ExpressRouteConnection, self).__init__(id=id, **kwargs) + self.provisioning_state = None + self.express_route_circuit_peering = express_route_circuit_peering + self.authorization_key = authorization_key + self.routing_weight = routing_weight + self.enable_internet_security = enable_internet_security + self.routing_configuration = routing_configuration + self.name = name + + +class ExpressRouteConnectionId(Model): + """The ID of the ExpressRouteConnection. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: The ID of the ExpressRouteConnection. + :vartype id: str + """ + + _validation = { + 'id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(ExpressRouteConnectionId, self).__init__(**kwargs) + self.id = None + + +class ExpressRouteConnectionList(Model): + """ExpressRouteConnection list. + + :param value: The list of ExpressRoute connections. + :type value: + list[~azure.mgmt.network.v2020_05_01.models.ExpressRouteConnection] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ExpressRouteConnection]'}, + } + + def __init__(self, *, value=None, **kwargs) -> None: + super(ExpressRouteConnectionList, self).__init__(**kwargs) + self.value = value + + +class ExpressRouteCrossConnection(Resource): + """ExpressRouteCrossConnection resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar primary_azure_port: The name of the primary port. + :vartype primary_azure_port: str + :ivar secondary_azure_port: The name of the secondary port. + :vartype secondary_azure_port: str + :ivar s_tag: The identifier of the circuit traffic. + :vartype s_tag: int + :param peering_location: The peering location of the ExpressRoute circuit. + :type peering_location: str + :param bandwidth_in_mbps: The circuit bandwidth In Mbps. + :type bandwidth_in_mbps: int + :param express_route_circuit: The ExpressRouteCircuit. + :type express_route_circuit: + ~azure.mgmt.network.v2020_05_01.models.ExpressRouteCircuitReference + :param service_provider_provisioning_state: The provisioning state of the + circuit in the connectivity provider system. Possible values include: + 'NotProvisioned', 'Provisioning', 'Provisioned', 'Deprovisioning' + :type service_provider_provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ServiceProviderProvisioningState + :param service_provider_notes: Additional read only notes set by the + connectivity provider. + :type service_provider_notes: str + :ivar provisioning_state: The provisioning state of the express route + cross connection resource. Possible values include: 'Succeeded', + 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param peerings: The list of peerings. + :type peerings: + list[~azure.mgmt.network.v2020_05_01.models.ExpressRouteCrossConnectionPeering] + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'primary_azure_port': {'readonly': True}, + 'secondary_azure_port': {'readonly': True}, + 's_tag': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'primary_azure_port': {'key': 'properties.primaryAzurePort', 'type': 'str'}, + 'secondary_azure_port': {'key': 'properties.secondaryAzurePort', 'type': 'str'}, + 's_tag': {'key': 'properties.sTag', 'type': 'int'}, + 'peering_location': {'key': 'properties.peeringLocation', 'type': 'str'}, + 'bandwidth_in_mbps': {'key': 'properties.bandwidthInMbps', 'type': 'int'}, + 'express_route_circuit': {'key': 'properties.expressRouteCircuit', 'type': 'ExpressRouteCircuitReference'}, + 'service_provider_provisioning_state': {'key': 'properties.serviceProviderProvisioningState', 'type': 'str'}, + 'service_provider_notes': {'key': 'properties.serviceProviderNotes', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'peerings': {'key': 'properties.peerings', 'type': '[ExpressRouteCrossConnectionPeering]'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, peering_location: str=None, bandwidth_in_mbps: int=None, express_route_circuit=None, service_provider_provisioning_state=None, service_provider_notes: str=None, peerings=None, **kwargs) -> None: + super(ExpressRouteCrossConnection, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.primary_azure_port = None + self.secondary_azure_port = None + self.s_tag = None + self.peering_location = peering_location + self.bandwidth_in_mbps = bandwidth_in_mbps + self.express_route_circuit = express_route_circuit + self.service_provider_provisioning_state = service_provider_provisioning_state + self.service_provider_notes = service_provider_notes + self.provisioning_state = None + self.peerings = peerings + self.etag = None + + +class ExpressRouteCrossConnectionPeering(SubResource): + """Peering in an ExpressRoute Cross Connection resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param peering_type: The peering type. Possible values include: + 'AzurePublicPeering', 'AzurePrivatePeering', 'MicrosoftPeering' + :type peering_type: str or + ~azure.mgmt.network.v2020_05_01.models.ExpressRoutePeeringType + :param state: The peering state. Possible values include: 'Disabled', + 'Enabled' + :type state: str or + ~azure.mgmt.network.v2020_05_01.models.ExpressRoutePeeringState + :ivar azure_asn: The Azure ASN. + :vartype azure_asn: int + :param peer_asn: The peer ASN. + :type peer_asn: long + :param primary_peer_address_prefix: The primary address prefix. + :type primary_peer_address_prefix: str + :param secondary_peer_address_prefix: The secondary address prefix. + :type secondary_peer_address_prefix: str + :ivar primary_azure_port: The primary port. + :vartype primary_azure_port: str + :ivar secondary_azure_port: The secondary port. + :vartype secondary_azure_port: str + :param shared_key: The shared key. + :type shared_key: str + :param vlan_id: The VLAN ID. + :type vlan_id: int + :param microsoft_peering_config: The Microsoft peering configuration. + :type microsoft_peering_config: + ~azure.mgmt.network.v2020_05_01.models.ExpressRouteCircuitPeeringConfig + :ivar provisioning_state: The provisioning state of the express route + cross connection peering resource. Possible values include: 'Succeeded', + 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param gateway_manager_etag: The GatewayManager Etag. + :type gateway_manager_etag: str + :ivar last_modified_by: Who was the last to modify the peering. + :vartype last_modified_by: str + :param ipv6_peering_config: The IPv6 peering configuration. + :type ipv6_peering_config: + ~azure.mgmt.network.v2020_05_01.models.Ipv6ExpressRouteCircuitPeeringConfig + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'azure_asn': {'readonly': True}, + 'peer_asn': {'maximum': 4294967295, 'minimum': 1}, + 'primary_azure_port': {'readonly': True}, + 'secondary_azure_port': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'last_modified_by': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'peering_type': {'key': 'properties.peeringType', 'type': 'str'}, + 'state': {'key': 'properties.state', 'type': 'str'}, + 'azure_asn': {'key': 'properties.azureASN', 'type': 'int'}, + 'peer_asn': {'key': 'properties.peerASN', 'type': 'long'}, + 'primary_peer_address_prefix': {'key': 'properties.primaryPeerAddressPrefix', 'type': 'str'}, + 'secondary_peer_address_prefix': {'key': 'properties.secondaryPeerAddressPrefix', 'type': 'str'}, + 'primary_azure_port': {'key': 'properties.primaryAzurePort', 'type': 'str'}, + 'secondary_azure_port': {'key': 'properties.secondaryAzurePort', 'type': 'str'}, + 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, + 'vlan_id': {'key': 'properties.vlanId', 'type': 'int'}, + 'microsoft_peering_config': {'key': 'properties.microsoftPeeringConfig', 'type': 'ExpressRouteCircuitPeeringConfig'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'gateway_manager_etag': {'key': 'properties.gatewayManagerEtag', 'type': 'str'}, + 'last_modified_by': {'key': 'properties.lastModifiedBy', 'type': 'str'}, + 'ipv6_peering_config': {'key': 'properties.ipv6PeeringConfig', 'type': 'Ipv6ExpressRouteCircuitPeeringConfig'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, peering_type=None, state=None, peer_asn: int=None, primary_peer_address_prefix: str=None, secondary_peer_address_prefix: str=None, shared_key: str=None, vlan_id: int=None, microsoft_peering_config=None, gateway_manager_etag: str=None, ipv6_peering_config=None, name: str=None, **kwargs) -> None: + super(ExpressRouteCrossConnectionPeering, self).__init__(id=id, **kwargs) + self.peering_type = peering_type + self.state = state + self.azure_asn = None + self.peer_asn = peer_asn + self.primary_peer_address_prefix = primary_peer_address_prefix + self.secondary_peer_address_prefix = secondary_peer_address_prefix + self.primary_azure_port = None + self.secondary_azure_port = None + self.shared_key = shared_key + self.vlan_id = vlan_id + self.microsoft_peering_config = microsoft_peering_config + self.provisioning_state = None + self.gateway_manager_etag = gateway_manager_etag + self.last_modified_by = None + self.ipv6_peering_config = ipv6_peering_config + self.name = name + self.etag = None + + +class ExpressRouteCrossConnectionRoutesTableSummary(Model): + """The routes table associated with the ExpressRouteCircuit. + + :param neighbor: IP address of Neighbor router. + :type neighbor: str + :param asn: Autonomous system number. + :type asn: int + :param up_down: The length of time that the BGP session has been in the + Established state, or the current status if not in the Established state. + :type up_down: str + :param state_or_prefixes_received: Current state of the BGP session, and + the number of prefixes that have been received from a neighbor or peer + group. + :type state_or_prefixes_received: str + """ + + _attribute_map = { + 'neighbor': {'key': 'neighbor', 'type': 'str'}, + 'asn': {'key': 'asn', 'type': 'int'}, + 'up_down': {'key': 'upDown', 'type': 'str'}, + 'state_or_prefixes_received': {'key': 'stateOrPrefixesReceived', 'type': 'str'}, + } + + def __init__(self, *, neighbor: str=None, asn: int=None, up_down: str=None, state_or_prefixes_received: str=None, **kwargs) -> None: + super(ExpressRouteCrossConnectionRoutesTableSummary, self).__init__(**kwargs) + self.neighbor = neighbor + self.asn = asn + self.up_down = up_down + self.state_or_prefixes_received = state_or_prefixes_received + + +class ExpressRouteCrossConnectionsRoutesTableSummaryListResult(Model): + """Response for ListRoutesTable associated with the Express Route Cross + Connections. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param value: A list of the routes table. + :type value: + list[~azure.mgmt.network.v2020_05_01.models.ExpressRouteCrossConnectionRoutesTableSummary] + :ivar next_link: The URL to get the next set of results. + :vartype next_link: str + """ + + _validation = { + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ExpressRouteCrossConnectionRoutesTableSummary]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, *, value=None, **kwargs) -> None: + super(ExpressRouteCrossConnectionsRoutesTableSummaryListResult, self).__init__(**kwargs) + self.value = value + self.next_link = None + + +class ExpressRouteGateway(Resource): + """ExpressRoute gateway resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param auto_scale_configuration: Configuration for auto scaling. + :type auto_scale_configuration: + ~azure.mgmt.network.v2020_05_01.models.ExpressRouteGatewayPropertiesAutoScaleConfiguration + :ivar express_route_connections: List of ExpressRoute connections to the + ExpressRoute gateway. + :vartype express_route_connections: + list[~azure.mgmt.network.v2020_05_01.models.ExpressRouteConnection] + :ivar provisioning_state: The provisioning state of the express route + gateway resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param virtual_hub: Required. The Virtual Hub where the ExpressRoute + gateway is or will be deployed. + :type virtual_hub: ~azure.mgmt.network.v2020_05_01.models.VirtualHubId + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'express_route_connections': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'virtual_hub': {'required': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'auto_scale_configuration': {'key': 'properties.autoScaleConfiguration', 'type': 'ExpressRouteGatewayPropertiesAutoScaleConfiguration'}, + 'express_route_connections': {'key': 'properties.expressRouteConnections', 'type': '[ExpressRouteConnection]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'virtual_hub': {'key': 'properties.virtualHub', 'type': 'VirtualHubId'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, virtual_hub, id: str=None, location: str=None, tags=None, auto_scale_configuration=None, **kwargs) -> None: + super(ExpressRouteGateway, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.auto_scale_configuration = auto_scale_configuration + self.express_route_connections = None + self.provisioning_state = None + self.virtual_hub = virtual_hub + self.etag = None + + +class ExpressRouteGatewayList(Model): + """List of ExpressRoute gateways. + + :param value: List of ExpressRoute gateways. + :type value: + list[~azure.mgmt.network.v2020_05_01.models.ExpressRouteGateway] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ExpressRouteGateway]'}, + } + + def __init__(self, *, value=None, **kwargs) -> None: + super(ExpressRouteGatewayList, self).__init__(**kwargs) + self.value = value + + +class ExpressRouteGatewayPropertiesAutoScaleConfiguration(Model): + """Configuration for auto scaling. + + :param bounds: Minimum and maximum number of scale units to deploy. + :type bounds: + ~azure.mgmt.network.v2020_05_01.models.ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds + """ + + _attribute_map = { + 'bounds': {'key': 'bounds', 'type': 'ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds'}, + } + + def __init__(self, *, bounds=None, **kwargs) -> None: + super(ExpressRouteGatewayPropertiesAutoScaleConfiguration, self).__init__(**kwargs) + self.bounds = bounds + + +class ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds(Model): + """Minimum and maximum number of scale units to deploy. + + :param min: Minimum number of scale units deployed for ExpressRoute + gateway. + :type min: int + :param max: Maximum number of scale units deployed for ExpressRoute + gateway. + :type max: int + """ + + _attribute_map = { + 'min': {'key': 'min', 'type': 'int'}, + 'max': {'key': 'max', 'type': 'int'}, + } + + def __init__(self, *, min: int=None, max: int=None, **kwargs) -> None: + super(ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds, self).__init__(**kwargs) + self.min = min + self.max = max + + +class ExpressRouteLink(SubResource): + """ExpressRouteLink. + + ExpressRouteLink child resource definition. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar router_name: Name of Azure router associated with physical port. + :vartype router_name: str + :ivar interface_name: Name of Azure router interface. + :vartype interface_name: str + :ivar patch_panel_id: Mapping between physical port to patch panel port. + :vartype patch_panel_id: str + :ivar rack_id: Mapping of physical patch panel to rack. + :vartype rack_id: str + :ivar connector_type: Physical fiber port type. Possible values include: + 'LC', 'SC' + :vartype connector_type: str or + ~azure.mgmt.network.v2020_05_01.models.ExpressRouteLinkConnectorType + :param admin_state: Administrative state of the physical port. Possible + values include: 'Enabled', 'Disabled' + :type admin_state: str or + ~azure.mgmt.network.v2020_05_01.models.ExpressRouteLinkAdminState + :ivar provisioning_state: The provisioning state of the express route link + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param mac_sec_config: MacSec configuration. + :type mac_sec_config: + ~azure.mgmt.network.v2020_05_01.models.ExpressRouteLinkMacSecConfig + :param name: Name of child port resource that is unique among child port + resources of the parent. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'router_name': {'readonly': True}, + 'interface_name': {'readonly': True}, + 'patch_panel_id': {'readonly': True}, + 'rack_id': {'readonly': True}, + 'connector_type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'router_name': {'key': 'properties.routerName', 'type': 'str'}, + 'interface_name': {'key': 'properties.interfaceName', 'type': 'str'}, + 'patch_panel_id': {'key': 'properties.patchPanelId', 'type': 'str'}, + 'rack_id': {'key': 'properties.rackId', 'type': 'str'}, + 'connector_type': {'key': 'properties.connectorType', 'type': 'str'}, + 'admin_state': {'key': 'properties.adminState', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'mac_sec_config': {'key': 'properties.macSecConfig', 'type': 'ExpressRouteLinkMacSecConfig'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, admin_state=None, mac_sec_config=None, name: str=None, **kwargs) -> None: + super(ExpressRouteLink, self).__init__(id=id, **kwargs) + self.router_name = None + self.interface_name = None + self.patch_panel_id = None + self.rack_id = None + self.connector_type = None + self.admin_state = admin_state + self.provisioning_state = None + self.mac_sec_config = mac_sec_config + self.name = name + self.etag = None + + +class ExpressRouteLinkMacSecConfig(Model): + """Definition of ExpressRouteLink Mac Security configuration. + + ExpressRouteLink Mac Security Configuration. + + :param ckn_secret_identifier: Keyvault Secret Identifier URL containing + Mac security CKN key. + :type ckn_secret_identifier: str + :param cak_secret_identifier: Keyvault Secret Identifier URL containing + Mac security CAK key. + :type cak_secret_identifier: str + :param cipher: Mac security cipher. Possible values include: + 'gcm-aes-128', 'gcm-aes-256' + :type cipher: str or + ~azure.mgmt.network.v2020_05_01.models.ExpressRouteLinkMacSecCipher + """ + + _attribute_map = { + 'ckn_secret_identifier': {'key': 'cknSecretIdentifier', 'type': 'str'}, + 'cak_secret_identifier': {'key': 'cakSecretIdentifier', 'type': 'str'}, + 'cipher': {'key': 'cipher', 'type': 'str'}, + } + + def __init__(self, *, ckn_secret_identifier: str=None, cak_secret_identifier: str=None, cipher=None, **kwargs) -> None: + super(ExpressRouteLinkMacSecConfig, self).__init__(**kwargs) + self.ckn_secret_identifier = ckn_secret_identifier + self.cak_secret_identifier = cak_secret_identifier + self.cipher = cipher + + +class ExpressRoutePort(Resource): + """ExpressRoute Port. + + ExpressRoutePort resource definition. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param peering_location: The name of the peering location that the + ExpressRoutePort is mapped to physically. + :type peering_location: str + :param bandwidth_in_gbps: Bandwidth of procured ports in Gbps. + :type bandwidth_in_gbps: int + :ivar provisioned_bandwidth_in_gbps: Aggregate Gbps of associated circuit + bandwidths. + :vartype provisioned_bandwidth_in_gbps: float + :ivar mtu: Maximum transmission unit of the physical port pair(s). + :vartype mtu: str + :param encapsulation: Encapsulation method on physical ports. Possible + values include: 'Dot1Q', 'QinQ' + :type encapsulation: str or + ~azure.mgmt.network.v2020_05_01.models.ExpressRoutePortsEncapsulation + :ivar ether_type: Ether type of the physical port. + :vartype ether_type: str + :ivar allocation_date: Date of the physical port allocation to be used in + Letter of Authorization. + :vartype allocation_date: str + :param links: ExpressRouteLink Sub-Resources. The set of physical links of + the ExpressRoutePort resource. + :type links: list[~azure.mgmt.network.v2020_05_01.models.ExpressRouteLink] + :ivar circuits: Reference the ExpressRoute circuit(s) that are provisioned + on this ExpressRoutePort resource. + :vartype circuits: + list[~azure.mgmt.network.v2020_05_01.models.SubResource] + :ivar provisioning_state: The provisioning state of the express route port + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :ivar resource_guid: The resource GUID property of the express route port + resource. + :vartype resource_guid: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :param identity: The identity of ExpressRoutePort, if configured. + :type identity: + ~azure.mgmt.network.v2020_05_01.models.ManagedServiceIdentity + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioned_bandwidth_in_gbps': {'readonly': True}, + 'mtu': {'readonly': True}, + 'ether_type': {'readonly': True}, + 'allocation_date': {'readonly': True}, + 'circuits': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'resource_guid': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'peering_location': {'key': 'properties.peeringLocation', 'type': 'str'}, + 'bandwidth_in_gbps': {'key': 'properties.bandwidthInGbps', 'type': 'int'}, + 'provisioned_bandwidth_in_gbps': {'key': 'properties.provisionedBandwidthInGbps', 'type': 'float'}, + 'mtu': {'key': 'properties.mtu', 'type': 'str'}, + 'encapsulation': {'key': 'properties.encapsulation', 'type': 'str'}, + 'ether_type': {'key': 'properties.etherType', 'type': 'str'}, + 'allocation_date': {'key': 'properties.allocationDate', 'type': 'str'}, + 'links': {'key': 'properties.links', 'type': '[ExpressRouteLink]'}, + 'circuits': {'key': 'properties.circuits', 'type': '[SubResource]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, peering_location: str=None, bandwidth_in_gbps: int=None, encapsulation=None, links=None, identity=None, **kwargs) -> None: + super(ExpressRoutePort, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.peering_location = peering_location + self.bandwidth_in_gbps = bandwidth_in_gbps + self.provisioned_bandwidth_in_gbps = None + self.mtu = None + self.encapsulation = encapsulation + self.ether_type = None + self.allocation_date = None + self.links = links + self.circuits = None + self.provisioning_state = None + self.resource_guid = None + self.etag = None + self.identity = identity + + +class ExpressRoutePortsLocation(Resource): + """ExpressRoutePorts Peering Location. + + Definition of the ExpressRoutePorts peering location resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar address: Address of peering location. + :vartype address: str + :ivar contact: Contact details of peering locations. + :vartype contact: str + :param available_bandwidths: The inventory of available ExpressRoutePort + bandwidths. + :type available_bandwidths: + list[~azure.mgmt.network.v2020_05_01.models.ExpressRoutePortsLocationBandwidths] + :ivar provisioning_state: The provisioning state of the express route port + location resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'address': {'readonly': True}, + 'contact': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'address': {'key': 'properties.address', 'type': 'str'}, + 'contact': {'key': 'properties.contact', 'type': 'str'}, + 'available_bandwidths': {'key': 'properties.availableBandwidths', 'type': '[ExpressRoutePortsLocationBandwidths]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, available_bandwidths=None, **kwargs) -> None: + super(ExpressRoutePortsLocation, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.address = None + self.contact = None + self.available_bandwidths = available_bandwidths + self.provisioning_state = None + + +class ExpressRoutePortsLocationBandwidths(Model): + """ExpressRoutePorts Location Bandwidths. + + Real-time inventory of available ExpressRoute port bandwidths. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar offer_name: Bandwidth descriptive name. + :vartype offer_name: str + :ivar value_in_gbps: Bandwidth value in Gbps. + :vartype value_in_gbps: int + """ + + _validation = { + 'offer_name': {'readonly': True}, + 'value_in_gbps': {'readonly': True}, + } + + _attribute_map = { + 'offer_name': {'key': 'offerName', 'type': 'str'}, + 'value_in_gbps': {'key': 'valueInGbps', 'type': 'int'}, + } + + def __init__(self, **kwargs) -> None: + super(ExpressRoutePortsLocationBandwidths, self).__init__(**kwargs) + self.offer_name = None + self.value_in_gbps = None + + +class ExpressRouteServiceProvider(Resource): + """A ExpressRouteResourceProvider object. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param peering_locations: A list of peering locations. + :type peering_locations: list[str] + :param bandwidths_offered: A list of bandwidths offered. + :type bandwidths_offered: + list[~azure.mgmt.network.v2020_05_01.models.ExpressRouteServiceProviderBandwidthsOffered] + :ivar provisioning_state: The provisioning state of the express route + service provider resource. Possible values include: 'Succeeded', + 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'peering_locations': {'key': 'properties.peeringLocations', 'type': '[str]'}, + 'bandwidths_offered': {'key': 'properties.bandwidthsOffered', 'type': '[ExpressRouteServiceProviderBandwidthsOffered]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, peering_locations=None, bandwidths_offered=None, **kwargs) -> None: + super(ExpressRouteServiceProvider, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.peering_locations = peering_locations + self.bandwidths_offered = bandwidths_offered + self.provisioning_state = None + + +class ExpressRouteServiceProviderBandwidthsOffered(Model): + """Contains bandwidths offered in ExpressRouteServiceProvider resources. + + :param offer_name: The OfferName. + :type offer_name: str + :param value_in_mbps: The ValueInMbps. + :type value_in_mbps: int + """ + + _attribute_map = { + 'offer_name': {'key': 'offerName', 'type': 'str'}, + 'value_in_mbps': {'key': 'valueInMbps', 'type': 'int'}, + } + + def __init__(self, *, offer_name: str=None, value_in_mbps: int=None, **kwargs) -> None: + super(ExpressRouteServiceProviderBandwidthsOffered, self).__init__(**kwargs) + self.offer_name = offer_name + self.value_in_mbps = value_in_mbps + + +class FirewallPolicy(Resource): + """FirewallPolicy Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar rule_collection_groups: List of references to + FirewallPolicyRuleCollectionGroups. + :vartype rule_collection_groups: + list[~azure.mgmt.network.v2020_05_01.models.SubResource] + :ivar provisioning_state: The provisioning state of the firewall policy + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param base_policy: The parent firewall policy from which rules are + inherited. + :type base_policy: ~azure.mgmt.network.v2020_05_01.models.SubResource + :ivar firewalls: List of references to Azure Firewalls that this Firewall + Policy is associated with. + :vartype firewalls: + list[~azure.mgmt.network.v2020_05_01.models.SubResource] + :ivar child_policies: List of references to Child Firewall Policies. + :vartype child_policies: + list[~azure.mgmt.network.v2020_05_01.models.SubResource] + :param threat_intel_mode: The operation mode for Threat Intelligence. + Possible values include: 'Alert', 'Deny', 'Off' + :type threat_intel_mode: str or + ~azure.mgmt.network.v2020_05_01.models.AzureFirewallThreatIntelMode + :param threat_intel_whitelist: ThreatIntel Whitelist for Firewall Policy. + :type threat_intel_whitelist: + ~azure.mgmt.network.v2020_05_01.models.FirewallPolicyThreatIntelWhitelist + :param intrusion_system_mode: The operation mode for Intrusion system. + Possible values include: 'Enabled', 'Disabled' + :type intrusion_system_mode: str or + ~azure.mgmt.network.v2020_05_01.models.FirewallPolicyIntrusionSystemMode + :param transport_security: TLS Configuration definition. + :type transport_security: + ~azure.mgmt.network.v2020_05_01.models.FirewallPolicyTransportSecurity + :param dns_settings: DNS Proxy Settings definition. + :type dns_settings: ~azure.mgmt.network.v2020_05_01.models.DnsSettings + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :param identity: The identity of the firewall policy. + :type identity: + ~azure.mgmt.network.v2020_05_01.models.ManagedServiceIdentity + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'rule_collection_groups': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'firewalls': {'readonly': True}, + 'child_policies': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'rule_collection_groups': {'key': 'properties.ruleCollectionGroups', 'type': '[SubResource]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'base_policy': {'key': 'properties.basePolicy', 'type': 'SubResource'}, + 'firewalls': {'key': 'properties.firewalls', 'type': '[SubResource]'}, + 'child_policies': {'key': 'properties.childPolicies', 'type': '[SubResource]'}, + 'threat_intel_mode': {'key': 'properties.threatIntelMode', 'type': 'str'}, + 'threat_intel_whitelist': {'key': 'properties.threatIntelWhitelist', 'type': 'FirewallPolicyThreatIntelWhitelist'}, + 'intrusion_system_mode': {'key': 'properties.intrusionSystemMode', 'type': 'str'}, + 'transport_security': {'key': 'properties.transportSecurity', 'type': 'FirewallPolicyTransportSecurity'}, + 'dns_settings': {'key': 'properties.dnsSettings', 'type': 'DnsSettings'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, base_policy=None, threat_intel_mode=None, threat_intel_whitelist=None, intrusion_system_mode=None, transport_security=None, dns_settings=None, identity=None, **kwargs) -> None: + super(FirewallPolicy, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.rule_collection_groups = None + self.provisioning_state = None + self.base_policy = base_policy + self.firewalls = None + self.child_policies = None + self.threat_intel_mode = threat_intel_mode + self.threat_intel_whitelist = threat_intel_whitelist + self.intrusion_system_mode = intrusion_system_mode + self.transport_security = transport_security + self.dns_settings = dns_settings + self.etag = None + self.identity = identity + + +class FirewallPolicyCertificateAuthority(Model): + """Trusted Root certificates properties for tls. + + :param key_vault_secret_id: Secret Id of (base-64 encoded unencrypted pfx) + 'Secret' or 'Certificate' object stored in KeyVault. + :type key_vault_secret_id: str + :param name: Name of the CA certificate. + :type name: str + """ + + _attribute_map = { + 'key_vault_secret_id': {'key': 'properties.keyVaultSecretId', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, *, key_vault_secret_id: str=None, name: str=None, **kwargs) -> None: + super(FirewallPolicyCertificateAuthority, self).__init__(**kwargs) + self.key_vault_secret_id = key_vault_secret_id + self.name = name + + +class FirewallPolicyRuleCollection(Model): + """Properties of the rule collection. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: FirewallPolicyNatRuleCollection, + FirewallPolicyFilterRuleCollection + + All required parameters must be populated in order to send to Azure. + + :param name: The name of the rule collection. + :type name: str + :param priority: Priority of the Firewall Policy Rule Collection resource. + :type priority: int + :param rule_collection_type: Required. Constant filled by server. + :type rule_collection_type: str + """ + + _validation = { + 'priority': {'maximum': 65000, 'minimum': 100}, + 'rule_collection_type': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'priority': {'key': 'priority', 'type': 'int'}, + 'rule_collection_type': {'key': 'ruleCollectionType', 'type': 'str'}, + } + + _subtype_map = { + 'rule_collection_type': {'FirewallPolicyNatRuleCollection': 'FirewallPolicyNatRuleCollection', 'FirewallPolicyFilterRuleCollection': 'FirewallPolicyFilterRuleCollection'} + } + + def __init__(self, *, name: str=None, priority: int=None, **kwargs) -> None: + super(FirewallPolicyRuleCollection, self).__init__(**kwargs) + self.name = name + self.priority = priority + self.rule_collection_type = None + + +class FirewallPolicyFilterRuleCollection(FirewallPolicyRuleCollection): + """Firewall Policy Filter Rule Collection. + + All required parameters must be populated in order to send to Azure. + + :param name: The name of the rule collection. + :type name: str + :param priority: Priority of the Firewall Policy Rule Collection resource. + :type priority: int + :param rule_collection_type: Required. Constant filled by server. + :type rule_collection_type: str + :param action: The action type of a Filter rule collection. + :type action: + ~azure.mgmt.network.v2020_05_01.models.FirewallPolicyFilterRuleCollectionAction + :param rules: List of rules included in a rule collection. + :type rules: + list[~azure.mgmt.network.v2020_05_01.models.FirewallPolicyRule] + """ + + _validation = { + 'priority': {'maximum': 65000, 'minimum': 100}, + 'rule_collection_type': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'priority': {'key': 'priority', 'type': 'int'}, + 'rule_collection_type': {'key': 'ruleCollectionType', 'type': 'str'}, + 'action': {'key': 'action', 'type': 'FirewallPolicyFilterRuleCollectionAction'}, + 'rules': {'key': 'rules', 'type': '[FirewallPolicyRule]'}, + } + + def __init__(self, *, name: str=None, priority: int=None, action=None, rules=None, **kwargs) -> None: + super(FirewallPolicyFilterRuleCollection, self).__init__(name=name, priority=priority, **kwargs) + self.action = action + self.rules = rules + self.rule_collection_type = 'FirewallPolicyFilterRuleCollection' + + +class FirewallPolicyFilterRuleCollectionAction(Model): + """Properties of the FirewallPolicyFilterRuleCollectionAction. + + :param type: The type of action. Possible values include: 'Allow', 'Deny' + :type type: str or + ~azure.mgmt.network.v2020_05_01.models.FirewallPolicyFilterRuleCollectionActionType + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, type=None, **kwargs) -> None: + super(FirewallPolicyFilterRuleCollectionAction, self).__init__(**kwargs) + self.type = type + + +class FirewallPolicyNatRuleCollection(FirewallPolicyRuleCollection): + """Firewall Policy NAT Rule Collection. + + All required parameters must be populated in order to send to Azure. + + :param name: The name of the rule collection. + :type name: str + :param priority: Priority of the Firewall Policy Rule Collection resource. + :type priority: int + :param rule_collection_type: Required. Constant filled by server. + :type rule_collection_type: str + :param action: The action type of a Nat rule collection. + :type action: + ~azure.mgmt.network.v2020_05_01.models.FirewallPolicyNatRuleCollectionAction + :param rules: List of rules included in a rule collection. + :type rules: + list[~azure.mgmt.network.v2020_05_01.models.FirewallPolicyRule] + """ + + _validation = { + 'priority': {'maximum': 65000, 'minimum': 100}, + 'rule_collection_type': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'priority': {'key': 'priority', 'type': 'int'}, + 'rule_collection_type': {'key': 'ruleCollectionType', 'type': 'str'}, + 'action': {'key': 'action', 'type': 'FirewallPolicyNatRuleCollectionAction'}, + 'rules': {'key': 'rules', 'type': '[FirewallPolicyRule]'}, + } + + def __init__(self, *, name: str=None, priority: int=None, action=None, rules=None, **kwargs) -> None: + super(FirewallPolicyNatRuleCollection, self).__init__(name=name, priority=priority, **kwargs) + self.action = action + self.rules = rules + self.rule_collection_type = 'FirewallPolicyNatRuleCollection' + + +class FirewallPolicyNatRuleCollectionAction(Model): + """Properties of the FirewallPolicyNatRuleCollectionAction. + + :param type: The type of action. Possible values include: 'DNAT' + :type type: str or + ~azure.mgmt.network.v2020_05_01.models.FirewallPolicyNatRuleCollectionActionType + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, type=None, **kwargs) -> None: + super(FirewallPolicyNatRuleCollectionAction, self).__init__(**kwargs) + self.type = type + + +class FirewallPolicyRuleApplicationProtocol(Model): + """Properties of the application rule protocol. + + :param protocol_type: Protocol type. Possible values include: 'Http', + 'Https' + :type protocol_type: str or + ~azure.mgmt.network.v2020_05_01.models.FirewallPolicyRuleApplicationProtocolType + :param port: Port number for the protocol, cannot be greater than 64000. + :type port: int + """ + + _validation = { + 'port': {'maximum': 64000, 'minimum': 0}, + } + + _attribute_map = { + 'protocol_type': {'key': 'protocolType', 'type': 'str'}, + 'port': {'key': 'port', 'type': 'int'}, + } + + def __init__(self, *, protocol_type=None, port: int=None, **kwargs) -> None: + super(FirewallPolicyRuleApplicationProtocol, self).__init__(**kwargs) + self.protocol_type = protocol_type + self.port = port + + +class FirewallPolicyRuleCollectionGroup(SubResource): + """Rule Collection Group resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param priority: Priority of the Firewall Policy Rule Collection Group + resource. + :type priority: int + :param rule_collections: Group of Firewall Policy rule collections. + :type rule_collections: + list[~azure.mgmt.network.v2020_05_01.models.FirewallPolicyRuleCollection] + :ivar provisioning_state: The provisioning state of the firewall policy + rule collection group resource. Possible values include: 'Succeeded', + 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Rule Group type. + :vartype type: str + """ + + _validation = { + 'priority': {'maximum': 65000, 'minimum': 100}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'priority': {'key': 'properties.priority', 'type': 'int'}, + 'rule_collections': {'key': 'properties.ruleCollections', 'type': '[FirewallPolicyRuleCollection]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, priority: int=None, rule_collections=None, name: str=None, **kwargs) -> None: + super(FirewallPolicyRuleCollectionGroup, self).__init__(id=id, **kwargs) + self.priority = priority + self.rule_collections = rule_collections + self.provisioning_state = None + self.name = name + self.etag = None + self.type = None + + +class FirewallPolicyThreatIntelWhitelist(Model): + """ThreatIntel Whitelist for Firewall Policy. + + :param ip_addresses: List of IP addresses for the ThreatIntel Whitelist. + :type ip_addresses: list[str] + :param fqdns: List of FQDNs for the ThreatIntel Whitelist. + :type fqdns: list[str] + """ + + _attribute_map = { + 'ip_addresses': {'key': 'ipAddresses', 'type': '[str]'}, + 'fqdns': {'key': 'fqdns', 'type': '[str]'}, + } + + def __init__(self, *, ip_addresses=None, fqdns=None, **kwargs) -> None: + super(FirewallPolicyThreatIntelWhitelist, self).__init__(**kwargs) + self.ip_addresses = ip_addresses + self.fqdns = fqdns + + +class FirewallPolicyTransportSecurity(Model): + """Configuration needed to perform TLS termination & initiation. + + :param certificate_authority: The CA used for intermediate CA generation. + :type certificate_authority: + ~azure.mgmt.network.v2020_05_01.models.FirewallPolicyCertificateAuthority + :param excluded_domains: List of domains which are excluded from TLS + termination. + :type excluded_domains: list[str] + :param trusted_root_certificates: Certificates which are to be trusted by + the firewall. + :type trusted_root_certificates: + list[~azure.mgmt.network.v2020_05_01.models.FirewallPolicyTrustedRootCertificate] + """ + + _attribute_map = { + 'certificate_authority': {'key': 'certificateAuthority', 'type': 'FirewallPolicyCertificateAuthority'}, + 'excluded_domains': {'key': 'excludedDomains', 'type': '[str]'}, + 'trusted_root_certificates': {'key': 'trustedRootCertificates', 'type': '[FirewallPolicyTrustedRootCertificate]'}, + } + + def __init__(self, *, certificate_authority=None, excluded_domains=None, trusted_root_certificates=None, **kwargs) -> None: + super(FirewallPolicyTransportSecurity, self).__init__(**kwargs) + self.certificate_authority = certificate_authority + self.excluded_domains = excluded_domains + self.trusted_root_certificates = trusted_root_certificates + + +class FirewallPolicyTrustedRootCertificate(Model): + """Trusted Root certificates of a firewall policy. + + :param key_vault_secret_id: Secret Id of (base-64 encoded unencrypted pfx) + the public certificate data stored in KeyVault. + :type key_vault_secret_id: str + :param name: Name of the trusted root certificate that is unique within a + firewall policy. + :type name: str + """ + + _attribute_map = { + 'key_vault_secret_id': {'key': 'properties.keyVaultSecretId', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, *, key_vault_secret_id: str=None, name: str=None, **kwargs) -> None: + super(FirewallPolicyTrustedRootCertificate, self).__init__(**kwargs) + self.key_vault_secret_id = key_vault_secret_id + self.name = name + + +class FlowLog(Resource): + """A flow log resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param target_resource_id: Required. ID of network security group to which + flow log will be applied. + :type target_resource_id: str + :ivar target_resource_guid: Guid of network security group to which flow + log will be applied. + :vartype target_resource_guid: str + :param storage_id: Required. ID of the storage account which is used to + store the flow log. + :type storage_id: str + :param enabled: Flag to enable/disable flow logging. + :type enabled: bool + :param retention_policy: Parameters that define the retention policy for + flow log. + :type retention_policy: + ~azure.mgmt.network.v2020_05_01.models.RetentionPolicyParameters + :param format: Parameters that define the flow log format. + :type format: + ~azure.mgmt.network.v2020_05_01.models.FlowLogFormatParameters + :param flow_analytics_configuration: Parameters that define the + configuration of traffic analytics. + :type flow_analytics_configuration: + ~azure.mgmt.network.v2020_05_01.models.TrafficAnalyticsProperties + :ivar provisioning_state: The provisioning state of the flow log. Possible + values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'target_resource_id': {'required': True}, + 'target_resource_guid': {'readonly': True}, + 'storage_id': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'target_resource_id': {'key': 'properties.targetResourceId', 'type': 'str'}, + 'target_resource_guid': {'key': 'properties.targetResourceGuid', 'type': 'str'}, + 'storage_id': {'key': 'properties.storageId', 'type': 'str'}, + 'enabled': {'key': 'properties.enabled', 'type': 'bool'}, + 'retention_policy': {'key': 'properties.retentionPolicy', 'type': 'RetentionPolicyParameters'}, + 'format': {'key': 'properties.format', 'type': 'FlowLogFormatParameters'}, + 'flow_analytics_configuration': {'key': 'properties.flowAnalyticsConfiguration', 'type': 'TrafficAnalyticsProperties'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, target_resource_id: str, storage_id: str, id: str=None, location: str=None, tags=None, enabled: bool=None, retention_policy=None, format=None, flow_analytics_configuration=None, **kwargs) -> None: + super(FlowLog, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.target_resource_id = target_resource_id + self.target_resource_guid = None + self.storage_id = storage_id + self.enabled = enabled + self.retention_policy = retention_policy + self.format = format + self.flow_analytics_configuration = flow_analytics_configuration + self.provisioning_state = None + self.etag = None + + +class FlowLogFormatParameters(Model): + """Parameters that define the flow log format. + + :param type: The file type of flow log. Possible values include: 'JSON' + :type type: str or + ~azure.mgmt.network.v2020_05_01.models.FlowLogFormatType + :param version: The version (revision) of the flow log. Default value: 0 . + :type version: int + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'version': {'key': 'version', 'type': 'int'}, + } + + def __init__(self, *, type=None, version: int=0, **kwargs) -> None: + super(FlowLogFormatParameters, self).__init__(**kwargs) + self.type = type + self.version = version + + +class FlowLogInformation(Model): + """Information on the configuration of flow log and traffic analytics + (optional) . + + All required parameters must be populated in order to send to Azure. + + :param target_resource_id: Required. The ID of the resource to configure + for flow log and traffic analytics (optional) . + :type target_resource_id: str + :param storage_id: Required. ID of the storage account which is used to + store the flow log. + :type storage_id: str + :param enabled: Required. Flag to enable/disable flow logging. + :type enabled: bool + :param retention_policy: Parameters that define the retention policy for + flow log. + :type retention_policy: + ~azure.mgmt.network.v2020_05_01.models.RetentionPolicyParameters + :param format: Parameters that define the flow log format. + :type format: + ~azure.mgmt.network.v2020_05_01.models.FlowLogFormatParameters + :param flow_analytics_configuration: Parameters that define the + configuration of traffic analytics. + :type flow_analytics_configuration: + ~azure.mgmt.network.v2020_05_01.models.TrafficAnalyticsProperties + """ + + _validation = { + 'target_resource_id': {'required': True}, + 'storage_id': {'required': True}, + 'enabled': {'required': True}, + } + + _attribute_map = { + 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, + 'storage_id': {'key': 'properties.storageId', 'type': 'str'}, + 'enabled': {'key': 'properties.enabled', 'type': 'bool'}, + 'retention_policy': {'key': 'properties.retentionPolicy', 'type': 'RetentionPolicyParameters'}, + 'format': {'key': 'properties.format', 'type': 'FlowLogFormatParameters'}, + 'flow_analytics_configuration': {'key': 'flowAnalyticsConfiguration', 'type': 'TrafficAnalyticsProperties'}, + } + + def __init__(self, *, target_resource_id: str, storage_id: str, enabled: bool, retention_policy=None, format=None, flow_analytics_configuration=None, **kwargs) -> None: + super(FlowLogInformation, self).__init__(**kwargs) + self.target_resource_id = target_resource_id + self.storage_id = storage_id + self.enabled = enabled + self.retention_policy = retention_policy + self.format = format + self.flow_analytics_configuration = flow_analytics_configuration + + +class FlowLogStatusParameters(Model): + """Parameters that define a resource to query flow log and traffic analytics + (optional) status. + + All required parameters must be populated in order to send to Azure. + + :param target_resource_id: Required. The target resource where getting the + flow log and traffic analytics (optional) status. + :type target_resource_id: str + """ + + _validation = { + 'target_resource_id': {'required': True}, + } + + _attribute_map = { + 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, + } + + def __init__(self, *, target_resource_id: str, **kwargs) -> None: + super(FlowLogStatusParameters, self).__init__(**kwargs) + self.target_resource_id = target_resource_id + + +class FrontendIPConfiguration(SubResource): + """Frontend IP address of the load balancer. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar inbound_nat_rules: An array of references to inbound rules that use + this frontend IP. + :vartype inbound_nat_rules: + list[~azure.mgmt.network.v2020_05_01.models.SubResource] + :ivar inbound_nat_pools: An array of references to inbound pools that use + this frontend IP. + :vartype inbound_nat_pools: + list[~azure.mgmt.network.v2020_05_01.models.SubResource] + :ivar outbound_rules: An array of references to outbound rules that use + this frontend IP. + :vartype outbound_rules: + list[~azure.mgmt.network.v2020_05_01.models.SubResource] + :ivar load_balancing_rules: An array of references to load balancing rules + that use this frontend IP. + :vartype load_balancing_rules: + list[~azure.mgmt.network.v2020_05_01.models.SubResource] + :param private_ip_address: The private IP address of the IP configuration. + :type private_ip_address: str + :param private_ip_allocation_method: The Private IP allocation method. + Possible values include: 'Static', 'Dynamic' + :type private_ip_allocation_method: str or + ~azure.mgmt.network.v2020_05_01.models.IPAllocationMethod + :param private_ip_address_version: Whether the specific ipconfiguration is + IPv4 or IPv6. Default is taken as IPv4. Possible values include: 'IPv4', + 'IPv6' + :type private_ip_address_version: str or + ~azure.mgmt.network.v2020_05_01.models.IPVersion + :param subnet: The reference to the subnet resource. + :type subnet: ~azure.mgmt.network.v2020_05_01.models.Subnet + :param public_ip_address: The reference to the Public IP resource. + :type public_ip_address: + ~azure.mgmt.network.v2020_05_01.models.PublicIPAddress + :param public_ip_prefix: The reference to the Public IP Prefix resource. + :type public_ip_prefix: ~azure.mgmt.network.v2020_05_01.models.SubResource + :ivar provisioning_state: The provisioning state of the frontend IP + configuration resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: The name of the resource that is unique within the set of + frontend IP configurations used by the load balancer. This name can be + used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + :param zones: A list of availability zones denoting the IP allocated for + the resource needs to come from. + :type zones: list[str] + """ + + _validation = { + 'inbound_nat_rules': {'readonly': True}, + 'inbound_nat_pools': {'readonly': True}, + 'outbound_rules': {'readonly': True}, + 'load_balancing_rules': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'inbound_nat_rules': {'key': 'properties.inboundNatRules', 'type': '[SubResource]'}, + 'inbound_nat_pools': {'key': 'properties.inboundNatPools', 'type': '[SubResource]'}, + 'outbound_rules': {'key': 'properties.outboundRules', 'type': '[SubResource]'}, + 'load_balancing_rules': {'key': 'properties.loadBalancingRules', 'type': '[SubResource]'}, + 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, + 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, + 'private_ip_address_version': {'key': 'properties.privateIPAddressVersion', 'type': 'str'}, + 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, + 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'PublicIPAddress'}, + 'public_ip_prefix': {'key': 'properties.publicIPPrefix', 'type': 'SubResource'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'zones': {'key': 'zones', 'type': '[str]'}, + } + + def __init__(self, *, id: str=None, private_ip_address: str=None, private_ip_allocation_method=None, private_ip_address_version=None, subnet=None, public_ip_address=None, public_ip_prefix=None, name: str=None, zones=None, **kwargs) -> None: + super(FrontendIPConfiguration, self).__init__(id=id, **kwargs) + self.inbound_nat_rules = None + self.inbound_nat_pools = None + self.outbound_rules = None + self.load_balancing_rules = None + self.private_ip_address = private_ip_address + self.private_ip_allocation_method = private_ip_allocation_method + self.private_ip_address_version = private_ip_address_version + self.subnet = subnet + self.public_ip_address = public_ip_address + self.public_ip_prefix = public_ip_prefix + self.provisioning_state = None + self.name = name + self.etag = None + self.type = None + self.zones = zones + + +class GatewayRoute(Model): + """Gateway routing details. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar local_address: The gateway's local address. + :vartype local_address: str + :ivar network: The route's network prefix. + :vartype network: str + :ivar next_hop: The route's next hop. + :vartype next_hop: str + :ivar source_peer: The peer this route was learned from. + :vartype source_peer: str + :ivar origin: The source this route was learned from. + :vartype origin: str + :ivar as_path: The route's AS path sequence. + :vartype as_path: str + :ivar weight: The route's weight. + :vartype weight: int + """ + + _validation = { + 'local_address': {'readonly': True}, + 'network': {'readonly': True}, + 'next_hop': {'readonly': True}, + 'source_peer': {'readonly': True}, + 'origin': {'readonly': True}, + 'as_path': {'readonly': True}, + 'weight': {'readonly': True}, + } + + _attribute_map = { + 'local_address': {'key': 'localAddress', 'type': 'str'}, + 'network': {'key': 'network', 'type': 'str'}, + 'next_hop': {'key': 'nextHop', 'type': 'str'}, + 'source_peer': {'key': 'sourcePeer', 'type': 'str'}, + 'origin': {'key': 'origin', 'type': 'str'}, + 'as_path': {'key': 'asPath', 'type': 'str'}, + 'weight': {'key': 'weight', 'type': 'int'}, + } + + def __init__(self, **kwargs) -> None: + super(GatewayRoute, self).__init__(**kwargs) + self.local_address = None + self.network = None + self.next_hop = None + self.source_peer = None + self.origin = None + self.as_path = None + self.weight = None + + +class GatewayRouteListResult(Model): + """List of virtual network gateway routes. + + :param value: List of gateway routes. + :type value: list[~azure.mgmt.network.v2020_05_01.models.GatewayRoute] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[GatewayRoute]'}, + } + + def __init__(self, *, value=None, **kwargs) -> None: + super(GatewayRouteListResult, self).__init__(**kwargs) + self.value = value + + +class GetVpnSitesConfigurationRequest(Model): + """List of Vpn-Sites. + + All required parameters must be populated in order to send to Azure. + + :param vpn_sites: List of resource-ids of the vpn-sites for which config + is to be downloaded. + :type vpn_sites: list[str] + :param output_blob_sas_url: Required. The sas-url to download the + configurations for vpn-sites. + :type output_blob_sas_url: str + """ + + _validation = { + 'output_blob_sas_url': {'required': True}, + } + + _attribute_map = { + 'vpn_sites': {'key': 'vpnSites', 'type': '[str]'}, + 'output_blob_sas_url': {'key': 'outputBlobSasUrl', 'type': 'str'}, + } + + def __init__(self, *, output_blob_sas_url: str, vpn_sites=None, **kwargs) -> None: + super(GetVpnSitesConfigurationRequest, self).__init__(**kwargs) + self.vpn_sites = vpn_sites + self.output_blob_sas_url = output_blob_sas_url + + +class HopLink(Model): + """Hop link. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar next_hop_id: The ID of the next hop. + :vartype next_hop_id: str + :ivar link_type: Link type. + :vartype link_type: str + :ivar round_trip_time_min: Minimum roundtrip time in milliseconds. + :vartype round_trip_time_min: int + :ivar round_trip_time_avg: Average roundtrip time in milliseconds. + :vartype round_trip_time_avg: int + :ivar round_trip_time_max: Maximum roundtrip time in milliseconds. + :vartype round_trip_time_max: int + :ivar issues: List of issues. + :vartype issues: + list[~azure.mgmt.network.v2020_05_01.models.ConnectivityIssue] + :ivar context: Provides additional context on the issue. + :vartype context: list[dict[str, str]] + :ivar resource_id: Resource ID. + :vartype resource_id: str + """ + + _validation = { + 'next_hop_id': {'readonly': True}, + 'link_type': {'readonly': True}, + 'round_trip_time_min': {'readonly': True}, + 'round_trip_time_avg': {'readonly': True}, + 'round_trip_time_max': {'readonly': True}, + 'issues': {'readonly': True}, + 'context': {'readonly': True}, + 'resource_id': {'readonly': True}, + } + + _attribute_map = { + 'next_hop_id': {'key': 'nextHopId', 'type': 'str'}, + 'link_type': {'key': 'linkType', 'type': 'str'}, + 'round_trip_time_min': {'key': 'properties.roundTripTimeMin', 'type': 'int'}, + 'round_trip_time_avg': {'key': 'properties.roundTripTimeAvg', 'type': 'int'}, + 'round_trip_time_max': {'key': 'properties.roundTripTimeMax', 'type': 'int'}, + 'issues': {'key': 'issues', 'type': '[ConnectivityIssue]'}, + 'context': {'key': 'context', 'type': '[{str}]'}, + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(HopLink, self).__init__(**kwargs) + self.next_hop_id = None + self.link_type = None + self.round_trip_time_min = None + self.round_trip_time_avg = None + self.round_trip_time_max = None + self.issues = None + self.context = None + self.resource_id = None + + +class HTTPConfiguration(Model): + """HTTP configuration of the connectivity check. + + :param method: HTTP method. Possible values include: 'Get' + :type method: str or ~azure.mgmt.network.v2020_05_01.models.HTTPMethod + :param headers: List of HTTP headers. + :type headers: list[~azure.mgmt.network.v2020_05_01.models.HTTPHeader] + :param valid_status_codes: Valid status codes. + :type valid_status_codes: list[int] + """ + + _attribute_map = { + 'method': {'key': 'method', 'type': 'str'}, + 'headers': {'key': 'headers', 'type': '[HTTPHeader]'}, + 'valid_status_codes': {'key': 'validStatusCodes', 'type': '[int]'}, + } + + def __init__(self, *, method=None, headers=None, valid_status_codes=None, **kwargs) -> None: + super(HTTPConfiguration, self).__init__(**kwargs) + self.method = method + self.headers = headers + self.valid_status_codes = valid_status_codes + + +class HTTPHeader(Model): + """The HTTP header. + + :param name: The name in HTTP header. + :type name: str + :param value: The value in HTTP header. + :type value: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, value: str=None, **kwargs) -> None: + super(HTTPHeader, self).__init__(**kwargs) + self.name = name + self.value = value + + +class HubIPAddresses(Model): + """IP addresses associated with azure firewall. + + :param public_ips: Public IP addresses associated with azure firewall. + :type public_ips: + ~azure.mgmt.network.v2020_05_01.models.HubPublicIPAddresses + :param private_ip_address: Private IP Address associated with azure + firewall. + :type private_ip_address: str + """ + + _attribute_map = { + 'public_ips': {'key': 'publicIPs', 'type': 'HubPublicIPAddresses'}, + 'private_ip_address': {'key': 'privateIPAddress', 'type': 'str'}, + } + + def __init__(self, *, public_ips=None, private_ip_address: str=None, **kwargs) -> None: + super(HubIPAddresses, self).__init__(**kwargs) + self.public_ips = public_ips + self.private_ip_address = private_ip_address + + +class HubIpConfiguration(SubResource): + """IpConfigurations. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param private_ip_address: The private IP address of the IP configuration. + :type private_ip_address: str + :param private_ip_allocation_method: The private IP address allocation + method. Possible values include: 'Static', 'Dynamic' + :type private_ip_allocation_method: str or + ~azure.mgmt.network.v2020_05_01.models.IPAllocationMethod + :param subnet: The reference to the subnet resource. + :type subnet: ~azure.mgmt.network.v2020_05_01.models.Subnet + :param public_ip_address: The reference to the public IP resource. + :type public_ip_address: + ~azure.mgmt.network.v2020_05_01.models.PublicIPAddress + :ivar provisioning_state: The provisioning state of the IP configuration + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: Name of the Ip Configuration. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Ipconfiguration type. + :vartype type: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, + 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, + 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, + 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'PublicIPAddress'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, private_ip_address: str=None, private_ip_allocation_method=None, subnet=None, public_ip_address=None, name: str=None, **kwargs) -> None: + super(HubIpConfiguration, self).__init__(id=id, **kwargs) + self.private_ip_address = private_ip_address + self.private_ip_allocation_method = private_ip_allocation_method + self.subnet = subnet + self.public_ip_address = public_ip_address + self.provisioning_state = None + self.name = name + self.etag = None + self.type = None + + +class HubPublicIPAddresses(Model): + """Public IP addresses associated with azure firewall. + + :param addresses: The number of Public IP addresses associated with azure + firewall. + :type addresses: + list[~azure.mgmt.network.v2020_05_01.models.AzureFirewallPublicIPAddress] + :param count: Private IP Address associated with azure firewall. + :type count: int + """ + + _attribute_map = { + 'addresses': {'key': 'addresses', 'type': '[AzureFirewallPublicIPAddress]'}, + 'count': {'key': 'count', 'type': 'int'}, + } + + def __init__(self, *, addresses=None, count: int=None, **kwargs) -> None: + super(HubPublicIPAddresses, self).__init__(**kwargs) + self.addresses = addresses + self.count = count + + +class HubRoute(Model): + """RouteTable route. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. The name of the Route that is unique within a + RouteTable. This name can be used to access this route. + :type name: str + :param destination_type: Required. The type of destinations (eg: CIDR, + ResourceId, Service). + :type destination_type: str + :param destinations: Required. List of all destinations. + :type destinations: list[str] + :param next_hop_type: Required. The type of next hop (eg: ResourceId). + :type next_hop_type: str + :param next_hop: Required. NextHop resource ID. + :type next_hop: str + """ + + _validation = { + 'name': {'required': True}, + 'destination_type': {'required': True}, + 'destinations': {'required': True}, + 'next_hop_type': {'required': True}, + 'next_hop': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'destination_type': {'key': 'destinationType', 'type': 'str'}, + 'destinations': {'key': 'destinations', 'type': '[str]'}, + 'next_hop_type': {'key': 'nextHopType', 'type': 'str'}, + 'next_hop': {'key': 'nextHop', 'type': 'str'}, + } + + def __init__(self, *, name: str, destination_type: str, destinations, next_hop_type: str, next_hop: str, **kwargs) -> None: + super(HubRoute, self).__init__(**kwargs) + self.name = name + self.destination_type = destination_type + self.destinations = destinations + self.next_hop_type = next_hop_type + self.next_hop = next_hop + + +class HubRouteTable(SubResource): + """RouteTable resource in a virtual hub. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param routes: List of all routes. + :type routes: list[~azure.mgmt.network.v2020_05_01.models.HubRoute] + :param labels: List of labels associated with this route table. + :type labels: list[str] + :ivar associated_connections: List of all connections associated with this + route table. + :vartype associated_connections: + list[~azure.mgmt.network.v2020_05_01.models.SubResource] + :ivar propagating_connections: List of all connections that advertise to + this route table. + :vartype propagating_connections: + list[~azure.mgmt.network.v2020_05_01.models.SubResource] + :ivar provisioning_state: The provisioning state of the RouteTable + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Resource type. + :vartype type: str + """ + + _validation = { + 'associated_connections': {'readonly': True}, + 'propagating_connections': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'routes': {'key': 'properties.routes', 'type': '[HubRoute]'}, + 'labels': {'key': 'properties.labels', 'type': '[str]'}, + 'associated_connections': {'key': 'properties.associatedConnections', 'type': '[SubResource]'}, + 'propagating_connections': {'key': 'properties.propagatingConnections', 'type': '[SubResource]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, routes=None, labels=None, name: str=None, **kwargs) -> None: + super(HubRouteTable, self).__init__(id=id, **kwargs) + self.routes = routes + self.labels = labels + self.associated_connections = None + self.propagating_connections = None + self.provisioning_state = None + self.name = name + self.etag = None + self.type = None + + +class HubVirtualNetworkConnection(SubResource): + """HubVirtualNetworkConnection Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param remote_virtual_network: Reference to the remote virtual network. + :type remote_virtual_network: + ~azure.mgmt.network.v2020_05_01.models.SubResource + :param allow_hub_to_remote_vnet_transit: Deprecated: VirtualHub to + RemoteVnet transit to enabled or not. + :type allow_hub_to_remote_vnet_transit: bool + :param allow_remote_vnet_to_use_hub_vnet_gateways: Deprecated: Allow + RemoteVnet to use Virtual Hub's gateways. + :type allow_remote_vnet_to_use_hub_vnet_gateways: bool + :param enable_internet_security: Enable internet security. + :type enable_internet_security: bool + :param routing_configuration: The Routing Configuration indicating the + associated and propagated route tables on this connection. + :type routing_configuration: + ~azure.mgmt.network.v2020_05_01.models.RoutingConfiguration + :ivar provisioning_state: The provisioning state of the hub virtual + network connection resource. Possible values include: 'Succeeded', + 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'remote_virtual_network': {'key': 'properties.remoteVirtualNetwork', 'type': 'SubResource'}, + 'allow_hub_to_remote_vnet_transit': {'key': 'properties.allowHubToRemoteVnetTransit', 'type': 'bool'}, + 'allow_remote_vnet_to_use_hub_vnet_gateways': {'key': 'properties.allowRemoteVnetToUseHubVnetGateways', 'type': 'bool'}, + 'enable_internet_security': {'key': 'properties.enableInternetSecurity', 'type': 'bool'}, + 'routing_configuration': {'key': 'properties.routingConfiguration', 'type': 'RoutingConfiguration'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, remote_virtual_network=None, allow_hub_to_remote_vnet_transit: bool=None, allow_remote_vnet_to_use_hub_vnet_gateways: bool=None, enable_internet_security: bool=None, routing_configuration=None, name: str=None, **kwargs) -> None: + super(HubVirtualNetworkConnection, self).__init__(id=id, **kwargs) + self.remote_virtual_network = remote_virtual_network + self.allow_hub_to_remote_vnet_transit = allow_hub_to_remote_vnet_transit + self.allow_remote_vnet_to_use_hub_vnet_gateways = allow_remote_vnet_to_use_hub_vnet_gateways + self.enable_internet_security = enable_internet_security + self.routing_configuration = routing_configuration + self.provisioning_state = None + self.name = name + self.etag = None + + +class InboundNatPool(SubResource): + """Inbound NAT pool of the load balancer. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :param frontend_ip_configuration: A reference to frontend IP addresses. + :type frontend_ip_configuration: + ~azure.mgmt.network.v2020_05_01.models.SubResource + :param protocol: Required. The reference to the transport protocol used by + the inbound NAT pool. Possible values include: 'Udp', 'Tcp', 'All' + :type protocol: str or + ~azure.mgmt.network.v2020_05_01.models.TransportProtocol + :param frontend_port_range_start: Required. The first port number in the + range of external ports that will be used to provide Inbound Nat to NICs + associated with a load balancer. Acceptable values range between 1 and + 65534. + :type frontend_port_range_start: int + :param frontend_port_range_end: Required. The last port number in the + range of external ports that will be used to provide Inbound Nat to NICs + associated with a load balancer. Acceptable values range between 1 and + 65535. + :type frontend_port_range_end: int + :param backend_port: Required. The port used for internal connections on + the endpoint. Acceptable values are between 1 and 65535. + :type backend_port: int + :param idle_timeout_in_minutes: The timeout for the TCP idle connection. + The value can be set between 4 and 30 minutes. The default value is 4 + minutes. This element is only used when the protocol is set to TCP. + :type idle_timeout_in_minutes: int + :param enable_floating_ip: Configures a virtual machine's endpoint for the + floating IP capability required to configure a SQL AlwaysOn Availability + Group. This setting is required when using the SQL AlwaysOn Availability + Groups in SQL server. This setting can't be changed after you create the + endpoint. + :type enable_floating_ip: bool + :param enable_tcp_reset: Receive bidirectional TCP Reset on TCP flow idle + timeout or unexpected connection termination. This element is only used + when the protocol is set to TCP. + :type enable_tcp_reset: bool + :ivar provisioning_state: The provisioning state of the inbound NAT pool + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: The name of the resource that is unique within the set of + inbound NAT pools used by the load balancer. This name can be used to + access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'protocol': {'required': True}, + 'frontend_port_range_start': {'required': True}, + 'frontend_port_range_end': {'required': True}, + 'backend_port': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'frontend_ip_configuration': {'key': 'properties.frontendIPConfiguration', 'type': 'SubResource'}, + 'protocol': {'key': 'properties.protocol', 'type': 'str'}, + 'frontend_port_range_start': {'key': 'properties.frontendPortRangeStart', 'type': 'int'}, + 'frontend_port_range_end': {'key': 'properties.frontendPortRangeEnd', 'type': 'int'}, + 'backend_port': {'key': 'properties.backendPort', 'type': 'int'}, + 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, + 'enable_floating_ip': {'key': 'properties.enableFloatingIP', 'type': 'bool'}, + 'enable_tcp_reset': {'key': 'properties.enableTcpReset', 'type': 'bool'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, protocol, frontend_port_range_start: int, frontend_port_range_end: int, backend_port: int, id: str=None, frontend_ip_configuration=None, idle_timeout_in_minutes: int=None, enable_floating_ip: bool=None, enable_tcp_reset: bool=None, name: str=None, **kwargs) -> None: + super(InboundNatPool, self).__init__(id=id, **kwargs) + self.frontend_ip_configuration = frontend_ip_configuration + self.protocol = protocol + self.frontend_port_range_start = frontend_port_range_start + self.frontend_port_range_end = frontend_port_range_end + self.backend_port = backend_port + self.idle_timeout_in_minutes = idle_timeout_in_minutes + self.enable_floating_ip = enable_floating_ip + self.enable_tcp_reset = enable_tcp_reset + self.provisioning_state = None + self.name = name + self.etag = None + self.type = None + + +class InboundNatRule(SubResource): + """Inbound NAT rule of the load balancer. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param frontend_ip_configuration: A reference to frontend IP addresses. + :type frontend_ip_configuration: + ~azure.mgmt.network.v2020_05_01.models.SubResource + :ivar backend_ip_configuration: A reference to a private IP address + defined on a network interface of a VM. Traffic sent to the frontend port + of each of the frontend IP configurations is forwarded to the backend IP. + :vartype backend_ip_configuration: + ~azure.mgmt.network.v2020_05_01.models.NetworkInterfaceIPConfiguration + :param protocol: The reference to the transport protocol used by the load + balancing rule. Possible values include: 'Udp', 'Tcp', 'All' + :type protocol: str or + ~azure.mgmt.network.v2020_05_01.models.TransportProtocol + :param frontend_port: The port for the external endpoint. Port numbers for + each rule must be unique within the Load Balancer. Acceptable values range + from 1 to 65534. + :type frontend_port: int + :param backend_port: The port used for the internal endpoint. Acceptable + values range from 1 to 65535. + :type backend_port: int + :param idle_timeout_in_minutes: The timeout for the TCP idle connection. + The value can be set between 4 and 30 minutes. The default value is 4 + minutes. This element is only used when the protocol is set to TCP. + :type idle_timeout_in_minutes: int + :param enable_floating_ip: Configures a virtual machine's endpoint for the + floating IP capability required to configure a SQL AlwaysOn Availability + Group. This setting is required when using the SQL AlwaysOn Availability + Groups in SQL server. This setting can't be changed after you create the + endpoint. + :type enable_floating_ip: bool + :param enable_tcp_reset: Receive bidirectional TCP Reset on TCP flow idle + timeout or unexpected connection termination. This element is only used + when the protocol is set to TCP. + :type enable_tcp_reset: bool + :ivar provisioning_state: The provisioning state of the inbound NAT rule + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: The name of the resource that is unique within the set of + inbound NAT rules used by the load balancer. This name can be used to + access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'backend_ip_configuration': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'frontend_ip_configuration': {'key': 'properties.frontendIPConfiguration', 'type': 'SubResource'}, + 'backend_ip_configuration': {'key': 'properties.backendIPConfiguration', 'type': 'NetworkInterfaceIPConfiguration'}, + 'protocol': {'key': 'properties.protocol', 'type': 'str'}, + 'frontend_port': {'key': 'properties.frontendPort', 'type': 'int'}, + 'backend_port': {'key': 'properties.backendPort', 'type': 'int'}, + 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, + 'enable_floating_ip': {'key': 'properties.enableFloatingIP', 'type': 'bool'}, + 'enable_tcp_reset': {'key': 'properties.enableTcpReset', 'type': 'bool'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, frontend_ip_configuration=None, protocol=None, frontend_port: int=None, backend_port: int=None, idle_timeout_in_minutes: int=None, enable_floating_ip: bool=None, enable_tcp_reset: bool=None, name: str=None, **kwargs) -> None: + super(InboundNatRule, self).__init__(id=id, **kwargs) + self.frontend_ip_configuration = frontend_ip_configuration + self.backend_ip_configuration = None + self.protocol = protocol + self.frontend_port = frontend_port + self.backend_port = backend_port + self.idle_timeout_in_minutes = idle_timeout_in_minutes + self.enable_floating_ip = enable_floating_ip + self.enable_tcp_reset = enable_tcp_reset + self.provisioning_state = None + self.name = name + self.etag = None + self.type = None + + +class IPAddressAvailabilityResult(Model): + """Response for CheckIPAddressAvailability API service call. + + :param available: Private IP address availability. + :type available: bool + :param available_ip_addresses: Contains other available private IP + addresses if the asked for address is taken. + :type available_ip_addresses: list[str] + """ + + _attribute_map = { + 'available': {'key': 'available', 'type': 'bool'}, + 'available_ip_addresses': {'key': 'availableIPAddresses', 'type': '[str]'}, + } + + def __init__(self, *, available: bool=None, available_ip_addresses=None, **kwargs) -> None: + super(IPAddressAvailabilityResult, self).__init__(**kwargs) + self.available = available + self.available_ip_addresses = available_ip_addresses + + +class IpAllocation(Resource): + """IpAllocation resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar subnet: The Subnet that using the prefix of this IpAllocation + resource. + :vartype subnet: ~azure.mgmt.network.v2020_05_01.models.SubResource + :ivar virtual_network: The VirtualNetwork that using the prefix of this + IpAllocation resource. + :vartype virtual_network: + ~azure.mgmt.network.v2020_05_01.models.SubResource + :param ip_allocation_type: The type for the IpAllocation. Possible values + include: 'Undefined', 'Hypernet' + :type ip_allocation_type: str or + ~azure.mgmt.network.v2020_05_01.models.IpAllocationType + :param prefix: The address prefix for the IpAllocation. + :type prefix: str + :param prefix_length: The address prefix length for the IpAllocation. + Default value: 0 . + :type prefix_length: int + :param prefix_type: The address prefix Type for the IpAllocation. Possible + values include: 'IPv4', 'IPv6' + :type prefix_type: str or ~azure.mgmt.network.v2020_05_01.models.IPVersion + :param ipam_allocation_id: The IPAM allocation ID. + :type ipam_allocation_id: str + :param allocation_tags: IpAllocation tags. + :type allocation_tags: dict[str, str] + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'subnet': {'readonly': True}, + 'virtual_network': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, + 'virtual_network': {'key': 'properties.virtualNetwork', 'type': 'SubResource'}, + 'ip_allocation_type': {'key': 'properties.type', 'type': 'str'}, + 'prefix': {'key': 'properties.prefix', 'type': 'str'}, + 'prefix_length': {'key': 'properties.prefixLength', 'type': 'int'}, + 'prefix_type': {'key': 'properties.prefixType', 'type': 'str'}, + 'ipam_allocation_id': {'key': 'properties.ipamAllocationId', 'type': 'str'}, + 'allocation_tags': {'key': 'properties.allocationTags', 'type': '{str}'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, ip_allocation_type=None, prefix: str=None, prefix_length: int=0, prefix_type=None, ipam_allocation_id: str=None, allocation_tags=None, **kwargs) -> None: + super(IpAllocation, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.subnet = None + self.virtual_network = None + self.ip_allocation_type = ip_allocation_type + self.prefix = prefix + self.prefix_length = prefix_length + self.prefix_type = prefix_type + self.ipam_allocation_id = ipam_allocation_id + self.allocation_tags = allocation_tags + self.etag = None + + +class IPConfiguration(SubResource): + """IP configuration. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param private_ip_address: The private IP address of the IP configuration. + :type private_ip_address: str + :param private_ip_allocation_method: The private IP address allocation + method. Possible values include: 'Static', 'Dynamic' + :type private_ip_allocation_method: str or + ~azure.mgmt.network.v2020_05_01.models.IPAllocationMethod + :param subnet: The reference to the subnet resource. + :type subnet: ~azure.mgmt.network.v2020_05_01.models.Subnet + :param public_ip_address: The reference to the public IP resource. + :type public_ip_address: + ~azure.mgmt.network.v2020_05_01.models.PublicIPAddress + :ivar provisioning_state: The provisioning state of the IP configuration + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, + 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, + 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, + 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'PublicIPAddress'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, private_ip_address: str=None, private_ip_allocation_method=None, subnet=None, public_ip_address=None, name: str=None, **kwargs) -> None: + super(IPConfiguration, self).__init__(id=id, **kwargs) + self.private_ip_address = private_ip_address + self.private_ip_allocation_method = private_ip_allocation_method + self.subnet = subnet + self.public_ip_address = public_ip_address + self.provisioning_state = None + self.name = name + self.etag = None + + +class IPConfigurationBgpPeeringAddress(Model): + """Properties of IPConfigurationBgpPeeringAddress. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param ipconfiguration_id: The ID of IP configuration which belongs to + gateway. + :type ipconfiguration_id: str + :ivar default_bgp_ip_addresses: The list of default BGP peering addresses + which belong to IP configuration. + :vartype default_bgp_ip_addresses: list[str] + :param custom_bgp_ip_addresses: The list of custom BGP peering addresses + which belong to IP configuration. + :type custom_bgp_ip_addresses: list[str] + :ivar tunnel_ip_addresses: The list of tunnel public IP addresses which + belong to IP configuration. + :vartype tunnel_ip_addresses: list[str] + """ + + _validation = { + 'default_bgp_ip_addresses': {'readonly': True}, + 'tunnel_ip_addresses': {'readonly': True}, + } + + _attribute_map = { + 'ipconfiguration_id': {'key': 'ipconfigurationId', 'type': 'str'}, + 'default_bgp_ip_addresses': {'key': 'defaultBgpIpAddresses', 'type': '[str]'}, + 'custom_bgp_ip_addresses': {'key': 'customBgpIpAddresses', 'type': '[str]'}, + 'tunnel_ip_addresses': {'key': 'tunnelIpAddresses', 'type': '[str]'}, + } + + def __init__(self, *, ipconfiguration_id: str=None, custom_bgp_ip_addresses=None, **kwargs) -> None: + super(IPConfigurationBgpPeeringAddress, self).__init__(**kwargs) + self.ipconfiguration_id = ipconfiguration_id + self.default_bgp_ip_addresses = None + self.custom_bgp_ip_addresses = custom_bgp_ip_addresses + self.tunnel_ip_addresses = None + + +class IPConfigurationProfile(SubResource): + """IP configuration profile child resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param subnet: The reference to the subnet resource to create a container + network interface ip configuration. + :type subnet: ~azure.mgmt.network.v2020_05_01.models.Subnet + :ivar provisioning_state: The provisioning state of the IP configuration + profile resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: The name of the resource. This name can be used to access the + resource. + :type name: str + :ivar type: Sub Resource type. + :vartype type: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, subnet=None, name: str=None, **kwargs) -> None: + super(IPConfigurationProfile, self).__init__(id=id, **kwargs) + self.subnet = subnet + self.provisioning_state = None + self.name = name + self.type = None + self.etag = None + + +class IpGroup(Resource): + """The IpGroups resource information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar provisioning_state: The provisioning state of the IpGroups resource. + Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param ip_addresses: IpAddresses/IpAddressPrefixes in the IpGroups + resource. + :type ip_addresses: list[str] + :ivar firewalls: List of references to Azure resources that this IpGroups + is associated with. + :vartype firewalls: + list[~azure.mgmt.network.v2020_05_01.models.SubResource] + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'firewalls': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'ip_addresses': {'key': 'properties.ipAddresses', 'type': '[str]'}, + 'firewalls': {'key': 'properties.firewalls', 'type': '[SubResource]'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, ip_addresses=None, **kwargs) -> None: + super(IpGroup, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.provisioning_state = None + self.ip_addresses = ip_addresses + self.firewalls = None + self.etag = None + + +class IpsecPolicy(Model): + """An IPSec Policy configuration for a virtual network gateway connection. + + All required parameters must be populated in order to send to Azure. + + :param sa_life_time_seconds: Required. The IPSec Security Association + (also called Quick Mode or Phase 2 SA) lifetime in seconds for a site to + site VPN tunnel. + :type sa_life_time_seconds: int + :param sa_data_size_kilobytes: Required. The IPSec Security Association + (also called Quick Mode or Phase 2 SA) payload size in KB for a site to + site VPN tunnel. + :type sa_data_size_kilobytes: int + :param ipsec_encryption: Required. The IPSec encryption algorithm (IKE + phase 1). Possible values include: 'None', 'DES', 'DES3', 'AES128', + 'AES192', 'AES256', 'GCMAES128', 'GCMAES192', 'GCMAES256' + :type ipsec_encryption: str or + ~azure.mgmt.network.v2020_05_01.models.IpsecEncryption + :param ipsec_integrity: Required. The IPSec integrity algorithm (IKE phase + 1). Possible values include: 'MD5', 'SHA1', 'SHA256', 'GCMAES128', + 'GCMAES192', 'GCMAES256' + :type ipsec_integrity: str or + ~azure.mgmt.network.v2020_05_01.models.IpsecIntegrity + :param ike_encryption: Required. The IKE encryption algorithm (IKE phase + 2). Possible values include: 'DES', 'DES3', 'AES128', 'AES192', 'AES256', + 'GCMAES256', 'GCMAES128' + :type ike_encryption: str or + ~azure.mgmt.network.v2020_05_01.models.IkeEncryption + :param ike_integrity: Required. The IKE integrity algorithm (IKE phase 2). + Possible values include: 'MD5', 'SHA1', 'SHA256', 'SHA384', 'GCMAES256', + 'GCMAES128' + :type ike_integrity: str or + ~azure.mgmt.network.v2020_05_01.models.IkeIntegrity + :param dh_group: Required. The DH Group used in IKE Phase 1 for initial + SA. Possible values include: 'None', 'DHGroup1', 'DHGroup2', 'DHGroup14', + 'DHGroup2048', 'ECP256', 'ECP384', 'DHGroup24' + :type dh_group: str or ~azure.mgmt.network.v2020_05_01.models.DhGroup + :param pfs_group: Required. The Pfs Group used in IKE Phase 2 for new + child SA. Possible values include: 'None', 'PFS1', 'PFS2', 'PFS2048', + 'ECP256', 'ECP384', 'PFS24', 'PFS14', 'PFSMM' + :type pfs_group: str or ~azure.mgmt.network.v2020_05_01.models.PfsGroup + """ + + _validation = { + 'sa_life_time_seconds': {'required': True}, + 'sa_data_size_kilobytes': {'required': True}, + 'ipsec_encryption': {'required': True}, + 'ipsec_integrity': {'required': True}, + 'ike_encryption': {'required': True}, + 'ike_integrity': {'required': True}, + 'dh_group': {'required': True}, + 'pfs_group': {'required': True}, + } + + _attribute_map = { + 'sa_life_time_seconds': {'key': 'saLifeTimeSeconds', 'type': 'int'}, + 'sa_data_size_kilobytes': {'key': 'saDataSizeKilobytes', 'type': 'int'}, + 'ipsec_encryption': {'key': 'ipsecEncryption', 'type': 'str'}, + 'ipsec_integrity': {'key': 'ipsecIntegrity', 'type': 'str'}, + 'ike_encryption': {'key': 'ikeEncryption', 'type': 'str'}, + 'ike_integrity': {'key': 'ikeIntegrity', 'type': 'str'}, + 'dh_group': {'key': 'dhGroup', 'type': 'str'}, + 'pfs_group': {'key': 'pfsGroup', 'type': 'str'}, + } + + def __init__(self, *, sa_life_time_seconds: int, sa_data_size_kilobytes: int, ipsec_encryption, ipsec_integrity, ike_encryption, ike_integrity, dh_group, pfs_group, **kwargs) -> None: + super(IpsecPolicy, self).__init__(**kwargs) + self.sa_life_time_seconds = sa_life_time_seconds + self.sa_data_size_kilobytes = sa_data_size_kilobytes + self.ipsec_encryption = ipsec_encryption + self.ipsec_integrity = ipsec_integrity + self.ike_encryption = ike_encryption + self.ike_integrity = ike_integrity + self.dh_group = dh_group + self.pfs_group = pfs_group + + +class IpTag(Model): + """Contains the IpTag associated with the object. + + :param ip_tag_type: The IP tag type. Example: FirstPartyUsage. + :type ip_tag_type: str + :param tag: The value of the IP tag associated with the public IP. + Example: SQL. + :type tag: str + """ + + _attribute_map = { + 'ip_tag_type': {'key': 'ipTagType', 'type': 'str'}, + 'tag': {'key': 'tag', 'type': 'str'}, + } + + def __init__(self, *, ip_tag_type: str=None, tag: str=None, **kwargs) -> None: + super(IpTag, self).__init__(**kwargs) + self.ip_tag_type = ip_tag_type + self.tag = tag + + +class Ipv6CircuitConnectionConfig(Model): + """IPv6 Circuit Connection properties for global reach. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param address_prefix: /125 IP address space to carve out customer + addresses for global reach. + :type address_prefix: str + :ivar circuit_connection_status: Express Route Circuit connection state. + Possible values include: 'Connected', 'Connecting', 'Disconnected' + :vartype circuit_connection_status: str or + ~azure.mgmt.network.v2020_05_01.models.CircuitConnectionStatus + """ + + _validation = { + 'circuit_connection_status': {'readonly': True}, + } + + _attribute_map = { + 'address_prefix': {'key': 'addressPrefix', 'type': 'str'}, + 'circuit_connection_status': {'key': 'circuitConnectionStatus', 'type': 'str'}, + } + + def __init__(self, *, address_prefix: str=None, **kwargs) -> None: + super(Ipv6CircuitConnectionConfig, self).__init__(**kwargs) + self.address_prefix = address_prefix + self.circuit_connection_status = None + + +class Ipv6ExpressRouteCircuitPeeringConfig(Model): + """Contains IPv6 peering config. + + :param primary_peer_address_prefix: The primary address prefix. + :type primary_peer_address_prefix: str + :param secondary_peer_address_prefix: The secondary address prefix. + :type secondary_peer_address_prefix: str + :param microsoft_peering_config: The Microsoft peering configuration. + :type microsoft_peering_config: + ~azure.mgmt.network.v2020_05_01.models.ExpressRouteCircuitPeeringConfig + :param route_filter: The reference to the RouteFilter resource. + :type route_filter: ~azure.mgmt.network.v2020_05_01.models.SubResource + :param state: The state of peering. Possible values include: 'Disabled', + 'Enabled' + :type state: str or + ~azure.mgmt.network.v2020_05_01.models.ExpressRouteCircuitPeeringState + """ + + _attribute_map = { + 'primary_peer_address_prefix': {'key': 'primaryPeerAddressPrefix', 'type': 'str'}, + 'secondary_peer_address_prefix': {'key': 'secondaryPeerAddressPrefix', 'type': 'str'}, + 'microsoft_peering_config': {'key': 'microsoftPeeringConfig', 'type': 'ExpressRouteCircuitPeeringConfig'}, + 'route_filter': {'key': 'routeFilter', 'type': 'SubResource'}, + 'state': {'key': 'state', 'type': 'str'}, + } + + def __init__(self, *, primary_peer_address_prefix: str=None, secondary_peer_address_prefix: str=None, microsoft_peering_config=None, route_filter=None, state=None, **kwargs) -> None: + super(Ipv6ExpressRouteCircuitPeeringConfig, self).__init__(**kwargs) + self.primary_peer_address_prefix = primary_peer_address_prefix + self.secondary_peer_address_prefix = secondary_peer_address_prefix + self.microsoft_peering_config = microsoft_peering_config + self.route_filter = route_filter + self.state = state + + +class LoadBalancer(Resource): + """LoadBalancer resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param sku: The load balancer SKU. + :type sku: ~azure.mgmt.network.v2020_05_01.models.LoadBalancerSku + :param frontend_ip_configurations: Object representing the frontend IPs to + be used for the load balancer. + :type frontend_ip_configurations: + list[~azure.mgmt.network.v2020_05_01.models.FrontendIPConfiguration] + :param backend_address_pools: Collection of backend address pools used by + a load balancer. + :type backend_address_pools: + list[~azure.mgmt.network.v2020_05_01.models.BackendAddressPool] + :param load_balancing_rules: Object collection representing the load + balancing rules Gets the provisioning. + :type load_balancing_rules: + list[~azure.mgmt.network.v2020_05_01.models.LoadBalancingRule] + :param probes: Collection of probe objects used in the load balancer. + :type probes: list[~azure.mgmt.network.v2020_05_01.models.Probe] + :param inbound_nat_rules: Collection of inbound NAT Rules used by a load + balancer. Defining inbound NAT rules on your load balancer is mutually + exclusive with defining an inbound NAT pool. Inbound NAT pools are + referenced from virtual machine scale sets. NICs that are associated with + individual virtual machines cannot reference an Inbound NAT pool. They + have to reference individual inbound NAT rules. + :type inbound_nat_rules: + list[~azure.mgmt.network.v2020_05_01.models.InboundNatRule] + :param inbound_nat_pools: Defines an external port range for inbound NAT + to a single backend port on NICs associated with a load balancer. Inbound + NAT rules are created automatically for each NIC associated with the Load + Balancer using an external port from this range. Defining an Inbound NAT + pool on your Load Balancer is mutually exclusive with defining inbound Nat + rules. Inbound NAT pools are referenced from virtual machine scale sets. + NICs that are associated with individual virtual machines cannot reference + an inbound NAT pool. They have to reference individual inbound NAT rules. + :type inbound_nat_pools: + list[~azure.mgmt.network.v2020_05_01.models.InboundNatPool] + :param outbound_rules: The outbound rules. + :type outbound_rules: + list[~azure.mgmt.network.v2020_05_01.models.OutboundRule] + :ivar resource_guid: The resource GUID property of the load balancer + resource. + :vartype resource_guid: str + :ivar provisioning_state: The provisioning state of the load balancer + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'resource_guid': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'sku': {'key': 'sku', 'type': 'LoadBalancerSku'}, + 'frontend_ip_configurations': {'key': 'properties.frontendIPConfigurations', 'type': '[FrontendIPConfiguration]'}, + 'backend_address_pools': {'key': 'properties.backendAddressPools', 'type': '[BackendAddressPool]'}, + 'load_balancing_rules': {'key': 'properties.loadBalancingRules', 'type': '[LoadBalancingRule]'}, + 'probes': {'key': 'properties.probes', 'type': '[Probe]'}, + 'inbound_nat_rules': {'key': 'properties.inboundNatRules', 'type': '[InboundNatRule]'}, + 'inbound_nat_pools': {'key': 'properties.inboundNatPools', 'type': '[InboundNatPool]'}, + 'outbound_rules': {'key': 'properties.outboundRules', 'type': '[OutboundRule]'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, sku=None, frontend_ip_configurations=None, backend_address_pools=None, load_balancing_rules=None, probes=None, inbound_nat_rules=None, inbound_nat_pools=None, outbound_rules=None, **kwargs) -> None: + super(LoadBalancer, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.sku = sku + self.frontend_ip_configurations = frontend_ip_configurations + self.backend_address_pools = backend_address_pools + self.load_balancing_rules = load_balancing_rules + self.probes = probes + self.inbound_nat_rules = inbound_nat_rules + self.inbound_nat_pools = inbound_nat_pools + self.outbound_rules = outbound_rules + self.resource_guid = None + self.provisioning_state = None + self.etag = None + + +class LoadBalancerBackendAddress(Model): + """Load balancer backend addresses. + + :param virtual_network: Reference to an existing virtual network. + :type virtual_network: + ~azure.mgmt.network.v2020_05_01.models.VirtualNetwork + :param ip_address: IP Address belonging to the referenced virtual network. + :type ip_address: str + :param network_interface_ip_configuration: Reference to IP address defined + in network interfaces. + :type network_interface_ip_configuration: + ~azure.mgmt.network.v2020_05_01.models.NetworkInterfaceIPConfiguration + :param name: Name of the backend address. + :type name: str + """ + + _attribute_map = { + 'virtual_network': {'key': 'properties.virtualNetwork', 'type': 'VirtualNetwork'}, + 'ip_address': {'key': 'properties.ipAddress', 'type': 'str'}, + 'network_interface_ip_configuration': {'key': 'properties.networkInterfaceIPConfiguration', 'type': 'NetworkInterfaceIPConfiguration'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, *, virtual_network=None, ip_address: str=None, network_interface_ip_configuration=None, name: str=None, **kwargs) -> None: + super(LoadBalancerBackendAddress, self).__init__(**kwargs) + self.virtual_network = virtual_network + self.ip_address = ip_address + self.network_interface_ip_configuration = network_interface_ip_configuration + self.name = name + + +class LoadBalancerSku(Model): + """SKU of a load balancer. + + :param name: Name of a load balancer SKU. Possible values include: + 'Basic', 'Standard' + :type name: str or + ~azure.mgmt.network.v2020_05_01.models.LoadBalancerSkuName + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, *, name=None, **kwargs) -> None: + super(LoadBalancerSku, self).__init__(**kwargs) + self.name = name + + +class LoadBalancingRule(SubResource): + """A load balancing rule for a load balancer. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :param frontend_ip_configuration: A reference to frontend IP addresses. + :type frontend_ip_configuration: + ~azure.mgmt.network.v2020_05_01.models.SubResource + :param backend_address_pool: A reference to a pool of DIPs. Inbound + traffic is randomly load balanced across IPs in the backend IPs. + :type backend_address_pool: + ~azure.mgmt.network.v2020_05_01.models.SubResource + :param probe: The reference to the load balancer probe used by the load + balancing rule. + :type probe: ~azure.mgmt.network.v2020_05_01.models.SubResource + :param protocol: Required. The reference to the transport protocol used by + the load balancing rule. Possible values include: 'Udp', 'Tcp', 'All' + :type protocol: str or + ~azure.mgmt.network.v2020_05_01.models.TransportProtocol + :param load_distribution: The load distribution policy for this rule. + Possible values include: 'Default', 'SourceIP', 'SourceIPProtocol' + :type load_distribution: str or + ~azure.mgmt.network.v2020_05_01.models.LoadDistribution + :param frontend_port: Required. The port for the external endpoint. Port + numbers for each rule must be unique within the Load Balancer. Acceptable + values are between 0 and 65534. Note that value 0 enables "Any Port". + :type frontend_port: int + :param backend_port: The port used for internal connections on the + endpoint. Acceptable values are between 0 and 65535. Note that value 0 + enables "Any Port". + :type backend_port: int + :param idle_timeout_in_minutes: The timeout for the TCP idle connection. + The value can be set between 4 and 30 minutes. The default value is 4 + minutes. This element is only used when the protocol is set to TCP. + :type idle_timeout_in_minutes: int + :param enable_floating_ip: Configures a virtual machine's endpoint for the + floating IP capability required to configure a SQL AlwaysOn Availability + Group. This setting is required when using the SQL AlwaysOn Availability + Groups in SQL server. This setting can't be changed after you create the + endpoint. + :type enable_floating_ip: bool + :param enable_tcp_reset: Receive bidirectional TCP Reset on TCP flow idle + timeout or unexpected connection termination. This element is only used + when the protocol is set to TCP. + :type enable_tcp_reset: bool + :param disable_outbound_snat: Configures SNAT for the VMs in the backend + pool to use the publicIP address specified in the frontend of the load + balancing rule. + :type disable_outbound_snat: bool + :ivar provisioning_state: The provisioning state of the load balancing + rule resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: The name of the resource that is unique within the set of + load balancing rules used by the load balancer. This name can be used to + access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'protocol': {'required': True}, + 'frontend_port': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'frontend_ip_configuration': {'key': 'properties.frontendIPConfiguration', 'type': 'SubResource'}, + 'backend_address_pool': {'key': 'properties.backendAddressPool', 'type': 'SubResource'}, + 'probe': {'key': 'properties.probe', 'type': 'SubResource'}, + 'protocol': {'key': 'properties.protocol', 'type': 'str'}, + 'load_distribution': {'key': 'properties.loadDistribution', 'type': 'str'}, + 'frontend_port': {'key': 'properties.frontendPort', 'type': 'int'}, + 'backend_port': {'key': 'properties.backendPort', 'type': 'int'}, + 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, + 'enable_floating_ip': {'key': 'properties.enableFloatingIP', 'type': 'bool'}, + 'enable_tcp_reset': {'key': 'properties.enableTcpReset', 'type': 'bool'}, + 'disable_outbound_snat': {'key': 'properties.disableOutboundSnat', 'type': 'bool'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, protocol, frontend_port: int, id: str=None, frontend_ip_configuration=None, backend_address_pool=None, probe=None, load_distribution=None, backend_port: int=None, idle_timeout_in_minutes: int=None, enable_floating_ip: bool=None, enable_tcp_reset: bool=None, disable_outbound_snat: bool=None, name: str=None, **kwargs) -> None: + super(LoadBalancingRule, self).__init__(id=id, **kwargs) + self.frontend_ip_configuration = frontend_ip_configuration + self.backend_address_pool = backend_address_pool + self.probe = probe + self.protocol = protocol + self.load_distribution = load_distribution + self.frontend_port = frontend_port + self.backend_port = backend_port + self.idle_timeout_in_minutes = idle_timeout_in_minutes + self.enable_floating_ip = enable_floating_ip + self.enable_tcp_reset = enable_tcp_reset + self.disable_outbound_snat = disable_outbound_snat + self.provisioning_state = None + self.name = name + self.etag = None + self.type = None + + +class LocalNetworkGateway(Resource): + """A common class for general resource information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param local_network_address_space: Local network site address space. + :type local_network_address_space: + ~azure.mgmt.network.v2020_05_01.models.AddressSpace + :param gateway_ip_address: IP address of local network gateway. + :type gateway_ip_address: str + :param fqdn: FQDN of local network gateway. + :type fqdn: str + :param bgp_settings: Local network gateway's BGP speaker settings. + :type bgp_settings: ~azure.mgmt.network.v2020_05_01.models.BgpSettings + :ivar resource_guid: The resource GUID property of the local network + gateway resource. + :vartype resource_guid: str + :ivar provisioning_state: The provisioning state of the local network + gateway resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'resource_guid': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'local_network_address_space': {'key': 'properties.localNetworkAddressSpace', 'type': 'AddressSpace'}, + 'gateway_ip_address': {'key': 'properties.gatewayIpAddress', 'type': 'str'}, + 'fqdn': {'key': 'properties.fqdn', 'type': 'str'}, + 'bgp_settings': {'key': 'properties.bgpSettings', 'type': 'BgpSettings'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, local_network_address_space=None, gateway_ip_address: str=None, fqdn: str=None, bgp_settings=None, **kwargs) -> None: + super(LocalNetworkGateway, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.local_network_address_space = local_network_address_space + self.gateway_ip_address = gateway_ip_address + self.fqdn = fqdn + self.bgp_settings = bgp_settings + self.resource_guid = None + self.provisioning_state = None + self.etag = None + + +class LogSpecification(Model): + """Description of logging specification. + + :param name: The name of the specification. + :type name: str + :param display_name: The display name of the specification. + :type display_name: str + :param blob_duration: Duration of the blob. + :type blob_duration: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'blob_duration': {'key': 'blobDuration', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, display_name: str=None, blob_duration: str=None, **kwargs) -> None: + super(LogSpecification, self).__init__(**kwargs) + self.name = name + self.display_name = display_name + self.blob_duration = blob_duration + + +class ManagedRuleGroupOverride(Model): + """Defines a managed rule group override setting. + + All required parameters must be populated in order to send to Azure. + + :param rule_group_name: Required. The managed rule group to override. + :type rule_group_name: str + :param rules: List of rules that will be disabled. If none specified, all + rules in the group will be disabled. + :type rules: + list[~azure.mgmt.network.v2020_05_01.models.ManagedRuleOverride] + """ + + _validation = { + 'rule_group_name': {'required': True}, + } + + _attribute_map = { + 'rule_group_name': {'key': 'ruleGroupName', 'type': 'str'}, + 'rules': {'key': 'rules', 'type': '[ManagedRuleOverride]'}, + } + + def __init__(self, *, rule_group_name: str, rules=None, **kwargs) -> None: + super(ManagedRuleGroupOverride, self).__init__(**kwargs) + self.rule_group_name = rule_group_name + self.rules = rules + + +class ManagedRuleOverride(Model): + """Defines a managed rule group override setting. + + All required parameters must be populated in order to send to Azure. + + :param rule_id: Required. Identifier for the managed rule. + :type rule_id: str + :param state: The state of the managed rule. Defaults to Disabled if not + specified. Possible values include: 'Disabled' + :type state: str or + ~azure.mgmt.network.v2020_05_01.models.ManagedRuleEnabledState + """ + + _validation = { + 'rule_id': {'required': True}, + } + + _attribute_map = { + 'rule_id': {'key': 'ruleId', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + } + + def __init__(self, *, rule_id: str, state=None, **kwargs) -> None: + super(ManagedRuleOverride, self).__init__(**kwargs) + self.rule_id = rule_id + self.state = state + + +class ManagedRulesDefinition(Model): + """Allow to exclude some variable satisfy the condition for the WAF check. + + All required parameters must be populated in order to send to Azure. + + :param exclusions: The Exclusions that are applied on the policy. + :type exclusions: + list[~azure.mgmt.network.v2020_05_01.models.OwaspCrsExclusionEntry] + :param managed_rule_sets: Required. The managed rule sets that are + associated with the policy. + :type managed_rule_sets: + list[~azure.mgmt.network.v2020_05_01.models.ManagedRuleSet] + """ + + _validation = { + 'managed_rule_sets': {'required': True}, + } + + _attribute_map = { + 'exclusions': {'key': 'exclusions', 'type': '[OwaspCrsExclusionEntry]'}, + 'managed_rule_sets': {'key': 'managedRuleSets', 'type': '[ManagedRuleSet]'}, + } + + def __init__(self, *, managed_rule_sets, exclusions=None, **kwargs) -> None: + super(ManagedRulesDefinition, self).__init__(**kwargs) + self.exclusions = exclusions + self.managed_rule_sets = managed_rule_sets + + +class ManagedRuleSet(Model): + """Defines a managed rule set. + + All required parameters must be populated in order to send to Azure. + + :param rule_set_type: Required. Defines the rule set type to use. + :type rule_set_type: str + :param rule_set_version: Required. Defines the version of the rule set to + use. + :type rule_set_version: str + :param rule_group_overrides: Defines the rule group overrides to apply to + the rule set. + :type rule_group_overrides: + list[~azure.mgmt.network.v2020_05_01.models.ManagedRuleGroupOverride] + """ + + _validation = { + 'rule_set_type': {'required': True}, + 'rule_set_version': {'required': True}, + } + + _attribute_map = { + 'rule_set_type': {'key': 'ruleSetType', 'type': 'str'}, + 'rule_set_version': {'key': 'ruleSetVersion', 'type': 'str'}, + 'rule_group_overrides': {'key': 'ruleGroupOverrides', 'type': '[ManagedRuleGroupOverride]'}, + } + + def __init__(self, *, rule_set_type: str, rule_set_version: str, rule_group_overrides=None, **kwargs) -> None: + super(ManagedRuleSet, self).__init__(**kwargs) + self.rule_set_type = rule_set_type + self.rule_set_version = rule_set_version + self.rule_group_overrides = rule_group_overrides + + +class ManagedServiceIdentity(Model): + """Identity for the resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar principal_id: The principal id of the system assigned identity. This + property will only be provided for a system assigned identity. + :vartype principal_id: str + :ivar tenant_id: The tenant id of the system assigned identity. This + property will only be provided for a system assigned identity. + :vartype tenant_id: str + :param type: The type of identity used for the resource. The type + 'SystemAssigned, UserAssigned' includes both an implicitly created + identity and a set of user assigned identities. The type 'None' will + remove any identities from the virtual machine. Possible values include: + 'SystemAssigned', 'UserAssigned', 'SystemAssigned, UserAssigned', 'None' + :type type: str or + ~azure.mgmt.network.v2020_05_01.models.ResourceIdentityType + :param user_assigned_identities: The list of user identities associated + with resource. The user identity dictionary key references will be ARM + resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + :type user_assigned_identities: dict[str, + ~azure.mgmt.network.v2020_05_01.models.ManagedServiceIdentityUserAssignedIdentitiesValue] + """ + + _validation = { + 'principal_id': {'readonly': True}, + 'tenant_id': {'readonly': True}, + } + + _attribute_map = { + 'principal_id': {'key': 'principalId', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'ResourceIdentityType'}, + 'user_assigned_identities': {'key': 'userAssignedIdentities', 'type': '{ManagedServiceIdentityUserAssignedIdentitiesValue}'}, + } + + def __init__(self, *, type=None, user_assigned_identities=None, **kwargs) -> None: + super(ManagedServiceIdentity, self).__init__(**kwargs) + self.principal_id = None + self.tenant_id = None + self.type = type + self.user_assigned_identities = user_assigned_identities + + +class ManagedServiceIdentityUserAssignedIdentitiesValue(Model): + """ManagedServiceIdentityUserAssignedIdentitiesValue. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar principal_id: The principal id of user assigned identity. + :vartype principal_id: str + :ivar client_id: The client id of user assigned identity. + :vartype client_id: str + """ + + _validation = { + 'principal_id': {'readonly': True}, + 'client_id': {'readonly': True}, + } + + _attribute_map = { + 'principal_id': {'key': 'principalId', 'type': 'str'}, + 'client_id': {'key': 'clientId', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(ManagedServiceIdentityUserAssignedIdentitiesValue, self).__init__(**kwargs) + self.principal_id = None + self.client_id = None + + +class MatchCondition(Model): + """Define match conditions. + + All required parameters must be populated in order to send to Azure. + + :param match_variables: Required. List of match variables. + :type match_variables: + list[~azure.mgmt.network.v2020_05_01.models.MatchVariable] + :param operator: Required. The operator to be matched. Possible values + include: 'IPMatch', 'Equal', 'Contains', 'LessThan', 'GreaterThan', + 'LessThanOrEqual', 'GreaterThanOrEqual', 'BeginsWith', 'EndsWith', + 'Regex', 'GeoMatch' + :type operator: str or + ~azure.mgmt.network.v2020_05_01.models.WebApplicationFirewallOperator + :param negation_conditon: Whether this is negate condition or not. + :type negation_conditon: bool + :param match_values: Required. Match value. + :type match_values: list[str] + :param transforms: List of transforms. + :type transforms: list[str or + ~azure.mgmt.network.v2020_05_01.models.WebApplicationFirewallTransform] + """ + + _validation = { + 'match_variables': {'required': True}, + 'operator': {'required': True}, + 'match_values': {'required': True}, + } + + _attribute_map = { + 'match_variables': {'key': 'matchVariables', 'type': '[MatchVariable]'}, + 'operator': {'key': 'operator', 'type': 'str'}, + 'negation_conditon': {'key': 'negationConditon', 'type': 'bool'}, + 'match_values': {'key': 'matchValues', 'type': '[str]'}, + 'transforms': {'key': 'transforms', 'type': '[str]'}, + } + + def __init__(self, *, match_variables, operator, match_values, negation_conditon: bool=None, transforms=None, **kwargs) -> None: + super(MatchCondition, self).__init__(**kwargs) + self.match_variables = match_variables + self.operator = operator + self.negation_conditon = negation_conditon + self.match_values = match_values + self.transforms = transforms + + +class MatchedRule(Model): + """Matched rule. + + :param rule_name: Name of the matched network security rule. + :type rule_name: str + :param action: The network traffic is allowed or denied. Possible values + are 'Allow' and 'Deny'. + :type action: str + """ + + _attribute_map = { + 'rule_name': {'key': 'ruleName', 'type': 'str'}, + 'action': {'key': 'action', 'type': 'str'}, + } + + def __init__(self, *, rule_name: str=None, action: str=None, **kwargs) -> None: + super(MatchedRule, self).__init__(**kwargs) + self.rule_name = rule_name + self.action = action + + +class MatchVariable(Model): + """Define match variables. + + All required parameters must be populated in order to send to Azure. + + :param variable_name: Required. Match Variable. Possible values include: + 'RemoteAddr', 'RequestMethod', 'QueryString', 'PostArgs', 'RequestUri', + 'RequestHeaders', 'RequestBody', 'RequestCookies' + :type variable_name: str or + ~azure.mgmt.network.v2020_05_01.models.WebApplicationFirewallMatchVariable + :param selector: The selector of match variable. + :type selector: str + """ + + _validation = { + 'variable_name': {'required': True}, + } + + _attribute_map = { + 'variable_name': {'key': 'variableName', 'type': 'str'}, + 'selector': {'key': 'selector', 'type': 'str'}, + } + + def __init__(self, *, variable_name, selector: str=None, **kwargs) -> None: + super(MatchVariable, self).__init__(**kwargs) + self.variable_name = variable_name + self.selector = selector + + +class MetricSpecification(Model): + """Description of metrics specification. + + :param name: The name of the metric. + :type name: str + :param display_name: The display name of the metric. + :type display_name: str + :param display_description: The description of the metric. + :type display_description: str + :param unit: Units the metric to be displayed in. + :type unit: str + :param aggregation_type: The aggregation type. + :type aggregation_type: str + :param availabilities: List of availability. + :type availabilities: + list[~azure.mgmt.network.v2020_05_01.models.Availability] + :param enable_regional_mdm_account: Whether regional MDM account enabled. + :type enable_regional_mdm_account: bool + :param fill_gap_with_zero: Whether gaps would be filled with zeros. + :type fill_gap_with_zero: bool + :param metric_filter_pattern: Pattern for the filter of the metric. + :type metric_filter_pattern: str + :param dimensions: List of dimensions. + :type dimensions: list[~azure.mgmt.network.v2020_05_01.models.Dimension] + :param is_internal: Whether the metric is internal. + :type is_internal: bool + :param source_mdm_account: The source MDM account. + :type source_mdm_account: str + :param source_mdm_namespace: The source MDM namespace. + :type source_mdm_namespace: str + :param resource_id_dimension_name_override: The resource Id dimension name + override. + :type resource_id_dimension_name_override: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'display_description': {'key': 'displayDescription', 'type': 'str'}, + 'unit': {'key': 'unit', 'type': 'str'}, + 'aggregation_type': {'key': 'aggregationType', 'type': 'str'}, + 'availabilities': {'key': 'availabilities', 'type': '[Availability]'}, + 'enable_regional_mdm_account': {'key': 'enableRegionalMdmAccount', 'type': 'bool'}, + 'fill_gap_with_zero': {'key': 'fillGapWithZero', 'type': 'bool'}, + 'metric_filter_pattern': {'key': 'metricFilterPattern', 'type': 'str'}, + 'dimensions': {'key': 'dimensions', 'type': '[Dimension]'}, + 'is_internal': {'key': 'isInternal', 'type': 'bool'}, + 'source_mdm_account': {'key': 'sourceMdmAccount', 'type': 'str'}, + 'source_mdm_namespace': {'key': 'sourceMdmNamespace', 'type': 'str'}, + 'resource_id_dimension_name_override': {'key': 'resourceIdDimensionNameOverride', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, display_name: str=None, display_description: str=None, unit: str=None, aggregation_type: str=None, availabilities=None, enable_regional_mdm_account: bool=None, fill_gap_with_zero: bool=None, metric_filter_pattern: str=None, dimensions=None, is_internal: bool=None, source_mdm_account: str=None, source_mdm_namespace: str=None, resource_id_dimension_name_override: str=None, **kwargs) -> None: + super(MetricSpecification, self).__init__(**kwargs) + self.name = name + self.display_name = display_name + self.display_description = display_description + self.unit = unit + self.aggregation_type = aggregation_type + self.availabilities = availabilities + self.enable_regional_mdm_account = enable_regional_mdm_account + self.fill_gap_with_zero = fill_gap_with_zero + self.metric_filter_pattern = metric_filter_pattern + self.dimensions = dimensions + self.is_internal = is_internal + self.source_mdm_account = source_mdm_account + self.source_mdm_namespace = source_mdm_namespace + self.resource_id_dimension_name_override = resource_id_dimension_name_override + + +class NatGateway(Resource): + """Nat Gateway resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param sku: The nat gateway SKU. + :type sku: ~azure.mgmt.network.v2020_05_01.models.NatGatewaySku + :param idle_timeout_in_minutes: The idle timeout of the nat gateway. + :type idle_timeout_in_minutes: int + :param public_ip_addresses: An array of public ip addresses associated + with the nat gateway resource. + :type public_ip_addresses: + list[~azure.mgmt.network.v2020_05_01.models.SubResource] + :param public_ip_prefixes: An array of public ip prefixes associated with + the nat gateway resource. + :type public_ip_prefixes: + list[~azure.mgmt.network.v2020_05_01.models.SubResource] + :ivar subnets: An array of references to the subnets using this nat + gateway resource. + :vartype subnets: list[~azure.mgmt.network.v2020_05_01.models.SubResource] + :ivar resource_guid: The resource GUID property of the NAT gateway + resource. + :vartype resource_guid: str + :ivar provisioning_state: The provisioning state of the NAT gateway + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param zones: A list of availability zones denoting the zone in which Nat + Gateway should be deployed. + :type zones: list[str] + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'subnets': {'readonly': True}, + 'resource_guid': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'sku': {'key': 'sku', 'type': 'NatGatewaySku'}, + 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, + 'public_ip_addresses': {'key': 'properties.publicIpAddresses', 'type': '[SubResource]'}, + 'public_ip_prefixes': {'key': 'properties.publicIpPrefixes', 'type': '[SubResource]'}, + 'subnets': {'key': 'properties.subnets', 'type': '[SubResource]'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'zones': {'key': 'zones', 'type': '[str]'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, sku=None, idle_timeout_in_minutes: int=None, public_ip_addresses=None, public_ip_prefixes=None, zones=None, **kwargs) -> None: + super(NatGateway, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.sku = sku + self.idle_timeout_in_minutes = idle_timeout_in_minutes + self.public_ip_addresses = public_ip_addresses + self.public_ip_prefixes = public_ip_prefixes + self.subnets = None + self.resource_guid = None + self.provisioning_state = None + self.zones = zones + self.etag = None + + +class NatGatewaySku(Model): + """SKU of nat gateway. + + :param name: Name of Nat Gateway SKU. Possible values include: 'Standard' + :type name: str or + ~azure.mgmt.network.v2020_05_01.models.NatGatewaySkuName + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, *, name=None, **kwargs) -> None: + super(NatGatewaySku, self).__init__(**kwargs) + self.name = name + + +class NatRule(FirewallPolicyRule): + """Rule of type nat. + + All required parameters must be populated in order to send to Azure. + + :param name: Name of the rule. + :type name: str + :param description: Description of the rule. + :type description: str + :param rule_type: Required. Constant filled by server. + :type rule_type: str + :param ip_protocols: Array of FirewallPolicyRuleNetworkProtocols. + :type ip_protocols: list[str or + ~azure.mgmt.network.v2020_05_01.models.FirewallPolicyRuleNetworkProtocol] + :param source_addresses: List of source IP addresses for this rule. + :type source_addresses: list[str] + :param destination_addresses: List of destination IP addresses or Service + Tags. + :type destination_addresses: list[str] + :param destination_ports: List of destination ports. + :type destination_ports: list[str] + :param translated_address: The translated address for this NAT rule. + :type translated_address: str + :param translated_port: The translated port for this NAT rule. + :type translated_port: str + :param source_ip_groups: List of source IpGroups for this rule. + :type source_ip_groups: list[str] + """ + + _validation = { + 'rule_type': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'rule_type': {'key': 'ruleType', 'type': 'str'}, + 'ip_protocols': {'key': 'ipProtocols', 'type': '[str]'}, + 'source_addresses': {'key': 'sourceAddresses', 'type': '[str]'}, + 'destination_addresses': {'key': 'destinationAddresses', 'type': '[str]'}, + 'destination_ports': {'key': 'destinationPorts', 'type': '[str]'}, + 'translated_address': {'key': 'translatedAddress', 'type': 'str'}, + 'translated_port': {'key': 'translatedPort', 'type': 'str'}, + 'source_ip_groups': {'key': 'sourceIpGroups', 'type': '[str]'}, + } + + def __init__(self, *, name: str=None, description: str=None, ip_protocols=None, source_addresses=None, destination_addresses=None, destination_ports=None, translated_address: str=None, translated_port: str=None, source_ip_groups=None, **kwargs) -> None: + super(NatRule, self).__init__(name=name, description=description, **kwargs) + self.ip_protocols = ip_protocols + self.source_addresses = source_addresses + self.destination_addresses = destination_addresses + self.destination_ports = destination_ports + self.translated_address = translated_address + self.translated_port = translated_port + self.source_ip_groups = source_ip_groups + self.rule_type = 'NatRule' + + +class NetworkConfigurationDiagnosticParameters(Model): + """Parameters to get network configuration diagnostic. + + All required parameters must be populated in order to send to Azure. + + :param target_resource_id: Required. The ID of the target resource to + perform network configuration diagnostic. Valid options are VM, + NetworkInterface, VMSS/NetworkInterface and Application Gateway. + :type target_resource_id: str + :param verbosity_level: Verbosity level. Possible values include: + 'Normal', 'Minimum', 'Full' + :type verbosity_level: str or + ~azure.mgmt.network.v2020_05_01.models.VerbosityLevel + :param profiles: Required. List of network configuration diagnostic + profiles. + :type profiles: + list[~azure.mgmt.network.v2020_05_01.models.NetworkConfigurationDiagnosticProfile] + """ + + _validation = { + 'target_resource_id': {'required': True}, + 'profiles': {'required': True}, + } + + _attribute_map = { + 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, + 'verbosity_level': {'key': 'verbosityLevel', 'type': 'str'}, + 'profiles': {'key': 'profiles', 'type': '[NetworkConfigurationDiagnosticProfile]'}, + } + + def __init__(self, *, target_resource_id: str, profiles, verbosity_level=None, **kwargs) -> None: + super(NetworkConfigurationDiagnosticParameters, self).__init__(**kwargs) + self.target_resource_id = target_resource_id + self.verbosity_level = verbosity_level + self.profiles = profiles + + +class NetworkConfigurationDiagnosticProfile(Model): + """Parameters to compare with network configuration. + + All required parameters must be populated in order to send to Azure. + + :param direction: Required. The direction of the traffic. Possible values + include: 'Inbound', 'Outbound' + :type direction: str or ~azure.mgmt.network.v2020_05_01.models.Direction + :param protocol: Required. Protocol to be verified on. Accepted values are + '*', TCP, UDP. + :type protocol: str + :param source: Required. Traffic source. Accepted values are '*', IP + Address/CIDR, Service Tag. + :type source: str + :param destination: Required. Traffic destination. Accepted values are: + '*', IP Address/CIDR, Service Tag. + :type destination: str + :param destination_port: Required. Traffic destination port. Accepted + values are '*' and a single port in the range (0 - 65535). + :type destination_port: str + """ + + _validation = { + 'direction': {'required': True}, + 'protocol': {'required': True}, + 'source': {'required': True}, + 'destination': {'required': True}, + 'destination_port': {'required': True}, + } + + _attribute_map = { + 'direction': {'key': 'direction', 'type': 'str'}, + 'protocol': {'key': 'protocol', 'type': 'str'}, + 'source': {'key': 'source', 'type': 'str'}, + 'destination': {'key': 'destination', 'type': 'str'}, + 'destination_port': {'key': 'destinationPort', 'type': 'str'}, + } + + def __init__(self, *, direction, protocol: str, source: str, destination: str, destination_port: str, **kwargs) -> None: + super(NetworkConfigurationDiagnosticProfile, self).__init__(**kwargs) + self.direction = direction + self.protocol = protocol + self.source = source + self.destination = destination + self.destination_port = destination_port + + +class NetworkConfigurationDiagnosticResponse(Model): + """Results of network configuration diagnostic on the target resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar results: List of network configuration diagnostic results. + :vartype results: + list[~azure.mgmt.network.v2020_05_01.models.NetworkConfigurationDiagnosticResult] + """ + + _validation = { + 'results': {'readonly': True}, + } + + _attribute_map = { + 'results': {'key': 'results', 'type': '[NetworkConfigurationDiagnosticResult]'}, + } + + def __init__(self, **kwargs) -> None: + super(NetworkConfigurationDiagnosticResponse, self).__init__(**kwargs) + self.results = None + + +class NetworkConfigurationDiagnosticResult(Model): + """Network configuration diagnostic result corresponded to provided traffic + query. + + :param profile: Network configuration diagnostic profile. + :type profile: + ~azure.mgmt.network.v2020_05_01.models.NetworkConfigurationDiagnosticProfile + :param network_security_group_result: Network security group result. + :type network_security_group_result: + ~azure.mgmt.network.v2020_05_01.models.NetworkSecurityGroupResult + """ + + _attribute_map = { + 'profile': {'key': 'profile', 'type': 'NetworkConfigurationDiagnosticProfile'}, + 'network_security_group_result': {'key': 'networkSecurityGroupResult', 'type': 'NetworkSecurityGroupResult'}, + } + + def __init__(self, *, profile=None, network_security_group_result=None, **kwargs) -> None: + super(NetworkConfigurationDiagnosticResult, self).__init__(**kwargs) + self.profile = profile + self.network_security_group_result = network_security_group_result + + +class NetworkIntentPolicy(Resource): + """Network Intent Policy resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, **kwargs) -> None: + super(NetworkIntentPolicy, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.etag = None + + +class NetworkIntentPolicyConfiguration(Model): + """Details of NetworkIntentPolicyConfiguration for + PrepareNetworkPoliciesRequest. + + :param network_intent_policy_name: The name of the Network Intent Policy + for storing in target subscription. + :type network_intent_policy_name: str + :param source_network_intent_policy: Source network intent policy. + :type source_network_intent_policy: + ~azure.mgmt.network.v2020_05_01.models.NetworkIntentPolicy + """ + + _attribute_map = { + 'network_intent_policy_name': {'key': 'networkIntentPolicyName', 'type': 'str'}, + 'source_network_intent_policy': {'key': 'sourceNetworkIntentPolicy', 'type': 'NetworkIntentPolicy'}, + } + + def __init__(self, *, network_intent_policy_name: str=None, source_network_intent_policy=None, **kwargs) -> None: + super(NetworkIntentPolicyConfiguration, self).__init__(**kwargs) + self.network_intent_policy_name = network_intent_policy_name + self.source_network_intent_policy = source_network_intent_policy + + +class NetworkInterface(Resource): + """A network interface in a resource group. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar virtual_machine: The reference to a virtual machine. + :vartype virtual_machine: + ~azure.mgmt.network.v2020_05_01.models.SubResource + :param network_security_group: The reference to the NetworkSecurityGroup + resource. + :type network_security_group: + ~azure.mgmt.network.v2020_05_01.models.NetworkSecurityGroup + :ivar private_endpoint: A reference to the private endpoint to which the + network interface is linked. + :vartype private_endpoint: + ~azure.mgmt.network.v2020_05_01.models.PrivateEndpoint + :param ip_configurations: A list of IPConfigurations of the network + interface. + :type ip_configurations: + list[~azure.mgmt.network.v2020_05_01.models.NetworkInterfaceIPConfiguration] + :ivar tap_configurations: A list of TapConfigurations of the network + interface. + :vartype tap_configurations: + list[~azure.mgmt.network.v2020_05_01.models.NetworkInterfaceTapConfiguration] + :param dns_settings: The DNS settings in network interface. + :type dns_settings: + ~azure.mgmt.network.v2020_05_01.models.NetworkInterfaceDnsSettings + :ivar mac_address: The MAC address of the network interface. + :vartype mac_address: str + :ivar primary: Whether this is a primary network interface on a virtual + machine. + :vartype primary: bool + :param enable_accelerated_networking: If the network interface is + accelerated networking enabled. + :type enable_accelerated_networking: bool + :param enable_ip_forwarding: Indicates whether IP forwarding is enabled on + this network interface. + :type enable_ip_forwarding: bool + :ivar hosted_workloads: A list of references to linked BareMetal + resources. + :vartype hosted_workloads: list[str] + :ivar resource_guid: The resource GUID property of the network interface + resource. + :vartype resource_guid: str + :ivar provisioning_state: The provisioning state of the network interface + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'virtual_machine': {'readonly': True}, + 'private_endpoint': {'readonly': True}, + 'tap_configurations': {'readonly': True}, + 'mac_address': {'readonly': True}, + 'primary': {'readonly': True}, + 'hosted_workloads': {'readonly': True}, + 'resource_guid': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'virtual_machine': {'key': 'properties.virtualMachine', 'type': 'SubResource'}, + 'network_security_group': {'key': 'properties.networkSecurityGroup', 'type': 'NetworkSecurityGroup'}, + 'private_endpoint': {'key': 'properties.privateEndpoint', 'type': 'PrivateEndpoint'}, + 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[NetworkInterfaceIPConfiguration]'}, + 'tap_configurations': {'key': 'properties.tapConfigurations', 'type': '[NetworkInterfaceTapConfiguration]'}, + 'dns_settings': {'key': 'properties.dnsSettings', 'type': 'NetworkInterfaceDnsSettings'}, + 'mac_address': {'key': 'properties.macAddress', 'type': 'str'}, + 'primary': {'key': 'properties.primary', 'type': 'bool'}, + 'enable_accelerated_networking': {'key': 'properties.enableAcceleratedNetworking', 'type': 'bool'}, + 'enable_ip_forwarding': {'key': 'properties.enableIPForwarding', 'type': 'bool'}, + 'hosted_workloads': {'key': 'properties.hostedWorkloads', 'type': '[str]'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, network_security_group=None, ip_configurations=None, dns_settings=None, enable_accelerated_networking: bool=None, enable_ip_forwarding: bool=None, **kwargs) -> None: + super(NetworkInterface, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.virtual_machine = None + self.network_security_group = network_security_group + self.private_endpoint = None + self.ip_configurations = ip_configurations + self.tap_configurations = None + self.dns_settings = dns_settings + self.mac_address = None + self.primary = None + self.enable_accelerated_networking = enable_accelerated_networking + self.enable_ip_forwarding = enable_ip_forwarding + self.hosted_workloads = None + self.resource_guid = None + self.provisioning_state = None + self.etag = None + + +class NetworkInterfaceAssociation(Model): + """Network interface and its custom security rules. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Network interface ID. + :vartype id: str + :param security_rules: Collection of custom security rules. + :type security_rules: + list[~azure.mgmt.network.v2020_05_01.models.SecurityRule] + """ + + _validation = { + 'id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'security_rules': {'key': 'securityRules', 'type': '[SecurityRule]'}, + } + + def __init__(self, *, security_rules=None, **kwargs) -> None: + super(NetworkInterfaceAssociation, self).__init__(**kwargs) + self.id = None + self.security_rules = security_rules + + +class NetworkInterfaceDnsSettings(Model): + """DNS settings of a network interface. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param dns_servers: List of DNS servers IP addresses. Use + 'AzureProvidedDNS' to switch to azure provided DNS resolution. + 'AzureProvidedDNS' value cannot be combined with other IPs, it must be the + only value in dnsServers collection. + :type dns_servers: list[str] + :ivar applied_dns_servers: If the VM that uses this NIC is part of an + Availability Set, then this list will have the union of all DNS servers + from all NICs that are part of the Availability Set. This property is what + is configured on each of those VMs. + :vartype applied_dns_servers: list[str] + :param internal_dns_name_label: Relative DNS name for this NIC used for + internal communications between VMs in the same virtual network. + :type internal_dns_name_label: str + :ivar internal_fqdn: Fully qualified DNS name supporting internal + communications between VMs in the same virtual network. + :vartype internal_fqdn: str + :ivar internal_domain_name_suffix: Even if internalDnsNameLabel is not + specified, a DNS entry is created for the primary NIC of the VM. This DNS + name can be constructed by concatenating the VM name with the value of + internalDomainNameSuffix. + :vartype internal_domain_name_suffix: str + """ + + _validation = { + 'applied_dns_servers': {'readonly': True}, + 'internal_fqdn': {'readonly': True}, + 'internal_domain_name_suffix': {'readonly': True}, + } + + _attribute_map = { + 'dns_servers': {'key': 'dnsServers', 'type': '[str]'}, + 'applied_dns_servers': {'key': 'appliedDnsServers', 'type': '[str]'}, + 'internal_dns_name_label': {'key': 'internalDnsNameLabel', 'type': 'str'}, + 'internal_fqdn': {'key': 'internalFqdn', 'type': 'str'}, + 'internal_domain_name_suffix': {'key': 'internalDomainNameSuffix', 'type': 'str'}, + } + + def __init__(self, *, dns_servers=None, internal_dns_name_label: str=None, **kwargs) -> None: + super(NetworkInterfaceDnsSettings, self).__init__(**kwargs) + self.dns_servers = dns_servers + self.applied_dns_servers = None + self.internal_dns_name_label = internal_dns_name_label + self.internal_fqdn = None + self.internal_domain_name_suffix = None + + +class NetworkInterfaceIPConfiguration(SubResource): + """IPConfiguration in a network interface. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param virtual_network_taps: The reference to Virtual Network Taps. + :type virtual_network_taps: + list[~azure.mgmt.network.v2020_05_01.models.VirtualNetworkTap] + :param application_gateway_backend_address_pools: The reference to + ApplicationGatewayBackendAddressPool resource. + :type application_gateway_backend_address_pools: + list[~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayBackendAddressPool] + :param load_balancer_backend_address_pools: The reference to + LoadBalancerBackendAddressPool resource. + :type load_balancer_backend_address_pools: + list[~azure.mgmt.network.v2020_05_01.models.BackendAddressPool] + :param load_balancer_inbound_nat_rules: A list of references of + LoadBalancerInboundNatRules. + :type load_balancer_inbound_nat_rules: + list[~azure.mgmt.network.v2020_05_01.models.InboundNatRule] + :param private_ip_address: Private IP address of the IP configuration. + :type private_ip_address: str + :param private_ip_allocation_method: The private IP address allocation + method. Possible values include: 'Static', 'Dynamic' + :type private_ip_allocation_method: str or + ~azure.mgmt.network.v2020_05_01.models.IPAllocationMethod + :param private_ip_address_version: Whether the specific IP configuration + is IPv4 or IPv6. Default is IPv4. Possible values include: 'IPv4', 'IPv6' + :type private_ip_address_version: str or + ~azure.mgmt.network.v2020_05_01.models.IPVersion + :param subnet: Subnet bound to the IP configuration. + :type subnet: ~azure.mgmt.network.v2020_05_01.models.Subnet + :param primary: Whether this is a primary customer address on the network + interface. + :type primary: bool + :param public_ip_address: Public IP address bound to the IP configuration. + :type public_ip_address: + ~azure.mgmt.network.v2020_05_01.models.PublicIPAddress + :param application_security_groups: Application security groups in which + the IP configuration is included. + :type application_security_groups: + list[~azure.mgmt.network.v2020_05_01.models.ApplicationSecurityGroup] + :ivar provisioning_state: The provisioning state of the network interface + IP configuration. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :ivar private_link_connection_properties: PrivateLinkConnection properties + for the network interface. + :vartype private_link_connection_properties: + ~azure.mgmt.network.v2020_05_01.models.NetworkInterfaceIPConfigurationPrivateLinkConnectionProperties + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'private_link_connection_properties': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'virtual_network_taps': {'key': 'properties.virtualNetworkTaps', 'type': '[VirtualNetworkTap]'}, + 'application_gateway_backend_address_pools': {'key': 'properties.applicationGatewayBackendAddressPools', 'type': '[ApplicationGatewayBackendAddressPool]'}, + 'load_balancer_backend_address_pools': {'key': 'properties.loadBalancerBackendAddressPools', 'type': '[BackendAddressPool]'}, + 'load_balancer_inbound_nat_rules': {'key': 'properties.loadBalancerInboundNatRules', 'type': '[InboundNatRule]'}, + 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, + 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, + 'private_ip_address_version': {'key': 'properties.privateIPAddressVersion', 'type': 'str'}, + 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, + 'primary': {'key': 'properties.primary', 'type': 'bool'}, + 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'PublicIPAddress'}, + 'application_security_groups': {'key': 'properties.applicationSecurityGroups', 'type': '[ApplicationSecurityGroup]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'private_link_connection_properties': {'key': 'properties.privateLinkConnectionProperties', 'type': 'NetworkInterfaceIPConfigurationPrivateLinkConnectionProperties'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, virtual_network_taps=None, application_gateway_backend_address_pools=None, load_balancer_backend_address_pools=None, load_balancer_inbound_nat_rules=None, private_ip_address: str=None, private_ip_allocation_method=None, private_ip_address_version=None, subnet=None, primary: bool=None, public_ip_address=None, application_security_groups=None, name: str=None, **kwargs) -> None: + super(NetworkInterfaceIPConfiguration, self).__init__(id=id, **kwargs) + self.virtual_network_taps = virtual_network_taps + self.application_gateway_backend_address_pools = application_gateway_backend_address_pools + self.load_balancer_backend_address_pools = load_balancer_backend_address_pools + self.load_balancer_inbound_nat_rules = load_balancer_inbound_nat_rules + self.private_ip_address = private_ip_address + self.private_ip_allocation_method = private_ip_allocation_method + self.private_ip_address_version = private_ip_address_version + self.subnet = subnet + self.primary = primary + self.public_ip_address = public_ip_address + self.application_security_groups = application_security_groups + self.provisioning_state = None + self.private_link_connection_properties = None + self.name = name + self.etag = None + + +class NetworkInterfaceIPConfigurationPrivateLinkConnectionProperties(Model): + """PrivateLinkConnection properties for the network interface. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar group_id: The group ID for current private link connection. + :vartype group_id: str + :ivar required_member_name: The required member name for current private + link connection. + :vartype required_member_name: str + :ivar fqdns: List of FQDNs for current private link connection. + :vartype fqdns: list[str] + """ + + _validation = { + 'group_id': {'readonly': True}, + 'required_member_name': {'readonly': True}, + 'fqdns': {'readonly': True}, + } + + _attribute_map = { + 'group_id': {'key': 'groupId', 'type': 'str'}, + 'required_member_name': {'key': 'requiredMemberName', 'type': 'str'}, + 'fqdns': {'key': 'fqdns', 'type': '[str]'}, + } + + def __init__(self, **kwargs) -> None: + super(NetworkInterfaceIPConfigurationPrivateLinkConnectionProperties, self).__init__(**kwargs) + self.group_id = None + self.required_member_name = None + self.fqdns = None + + +class NetworkInterfaceTapConfiguration(SubResource): + """Tap configuration in a Network Interface. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param virtual_network_tap: The reference to the Virtual Network Tap + resource. + :type virtual_network_tap: + ~azure.mgmt.network.v2020_05_01.models.VirtualNetworkTap + :ivar provisioning_state: The provisioning state of the network interface + tap configuration resource. Possible values include: 'Succeeded', + 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Sub Resource type. + :vartype type: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'virtual_network_tap': {'key': 'properties.virtualNetworkTap', 'type': 'VirtualNetworkTap'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, virtual_network_tap=None, name: str=None, **kwargs) -> None: + super(NetworkInterfaceTapConfiguration, self).__init__(id=id, **kwargs) + self.virtual_network_tap = virtual_network_tap + self.provisioning_state = None + self.name = name + self.etag = None + self.type = None + + +class NetworkProfile(Resource): + """Network profile resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar container_network_interfaces: List of child container network + interfaces. + :vartype container_network_interfaces: + list[~azure.mgmt.network.v2020_05_01.models.ContainerNetworkInterface] + :param container_network_interface_configurations: List of chid container + network interface configurations. + :type container_network_interface_configurations: + list[~azure.mgmt.network.v2020_05_01.models.ContainerNetworkInterfaceConfiguration] + :ivar resource_guid: The resource GUID property of the network profile + resource. + :vartype resource_guid: str + :ivar provisioning_state: The provisioning state of the network profile + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'container_network_interfaces': {'readonly': True}, + 'resource_guid': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'container_network_interfaces': {'key': 'properties.containerNetworkInterfaces', 'type': '[ContainerNetworkInterface]'}, + 'container_network_interface_configurations': {'key': 'properties.containerNetworkInterfaceConfigurations', 'type': '[ContainerNetworkInterfaceConfiguration]'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, container_network_interface_configurations=None, **kwargs) -> None: + super(NetworkProfile, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.container_network_interfaces = None + self.container_network_interface_configurations = container_network_interface_configurations + self.resource_guid = None + self.provisioning_state = None + self.etag = None + + +class NetworkRule(FirewallPolicyRule): + """Rule of type network. + + All required parameters must be populated in order to send to Azure. + + :param name: Name of the rule. + :type name: str + :param description: Description of the rule. + :type description: str + :param rule_type: Required. Constant filled by server. + :type rule_type: str + :param ip_protocols: Array of FirewallPolicyRuleNetworkProtocols. + :type ip_protocols: list[str or + ~azure.mgmt.network.v2020_05_01.models.FirewallPolicyRuleNetworkProtocol] + :param source_addresses: List of source IP addresses for this rule. + :type source_addresses: list[str] + :param destination_addresses: List of destination IP addresses or Service + Tags. + :type destination_addresses: list[str] + :param destination_ports: List of destination ports. + :type destination_ports: list[str] + :param source_ip_groups: List of source IpGroups for this rule. + :type source_ip_groups: list[str] + :param destination_ip_groups: List of destination IpGroups for this rule. + :type destination_ip_groups: list[str] + :param destination_fqdns: List of destination FQDNs. + :type destination_fqdns: list[str] + """ + + _validation = { + 'rule_type': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'rule_type': {'key': 'ruleType', 'type': 'str'}, + 'ip_protocols': {'key': 'ipProtocols', 'type': '[str]'}, + 'source_addresses': {'key': 'sourceAddresses', 'type': '[str]'}, + 'destination_addresses': {'key': 'destinationAddresses', 'type': '[str]'}, + 'destination_ports': {'key': 'destinationPorts', 'type': '[str]'}, + 'source_ip_groups': {'key': 'sourceIpGroups', 'type': '[str]'}, + 'destination_ip_groups': {'key': 'destinationIpGroups', 'type': '[str]'}, + 'destination_fqdns': {'key': 'destinationFqdns', 'type': '[str]'}, + } + + def __init__(self, *, name: str=None, description: str=None, ip_protocols=None, source_addresses=None, destination_addresses=None, destination_ports=None, source_ip_groups=None, destination_ip_groups=None, destination_fqdns=None, **kwargs) -> None: + super(NetworkRule, self).__init__(name=name, description=description, **kwargs) + self.ip_protocols = ip_protocols + self.source_addresses = source_addresses + self.destination_addresses = destination_addresses + self.destination_ports = destination_ports + self.source_ip_groups = source_ip_groups + self.destination_ip_groups = destination_ip_groups + self.destination_fqdns = destination_fqdns + self.rule_type = 'NetworkRule' + + +class NetworkSecurityGroup(Resource): + """NetworkSecurityGroup resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param security_rules: A collection of security rules of the network + security group. + :type security_rules: + list[~azure.mgmt.network.v2020_05_01.models.SecurityRule] + :ivar default_security_rules: The default security rules of network + security group. + :vartype default_security_rules: + list[~azure.mgmt.network.v2020_05_01.models.SecurityRule] + :ivar network_interfaces: A collection of references to network + interfaces. + :vartype network_interfaces: + list[~azure.mgmt.network.v2020_05_01.models.NetworkInterface] + :ivar subnets: A collection of references to subnets. + :vartype subnets: list[~azure.mgmt.network.v2020_05_01.models.Subnet] + :ivar flow_logs: A collection of references to flow log resources. + :vartype flow_logs: list[~azure.mgmt.network.v2020_05_01.models.FlowLog] + :ivar resource_guid: The resource GUID property of the network security + group resource. + :vartype resource_guid: str + :ivar provisioning_state: The provisioning state of the network security + group resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'default_security_rules': {'readonly': True}, + 'network_interfaces': {'readonly': True}, + 'subnets': {'readonly': True}, + 'flow_logs': {'readonly': True}, + 'resource_guid': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'security_rules': {'key': 'properties.securityRules', 'type': '[SecurityRule]'}, + 'default_security_rules': {'key': 'properties.defaultSecurityRules', 'type': '[SecurityRule]'}, + 'network_interfaces': {'key': 'properties.networkInterfaces', 'type': '[NetworkInterface]'}, + 'subnets': {'key': 'properties.subnets', 'type': '[Subnet]'}, + 'flow_logs': {'key': 'properties.flowLogs', 'type': '[FlowLog]'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, security_rules=None, **kwargs) -> None: + super(NetworkSecurityGroup, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.security_rules = security_rules + self.default_security_rules = None + self.network_interfaces = None + self.subnets = None + self.flow_logs = None + self.resource_guid = None + self.provisioning_state = None + self.etag = None + + +class NetworkSecurityGroupResult(Model): + """Network configuration diagnostic result corresponded provided traffic + query. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param security_rule_access_result: The network traffic is allowed or + denied. Possible values include: 'Allow', 'Deny' + :type security_rule_access_result: str or + ~azure.mgmt.network.v2020_05_01.models.SecurityRuleAccess + :ivar evaluated_network_security_groups: List of results network security + groups diagnostic. + :vartype evaluated_network_security_groups: + list[~azure.mgmt.network.v2020_05_01.models.EvaluatedNetworkSecurityGroup] + """ + + _validation = { + 'evaluated_network_security_groups': {'readonly': True}, + } + + _attribute_map = { + 'security_rule_access_result': {'key': 'securityRuleAccessResult', 'type': 'str'}, + 'evaluated_network_security_groups': {'key': 'evaluatedNetworkSecurityGroups', 'type': '[EvaluatedNetworkSecurityGroup]'}, + } + + def __init__(self, *, security_rule_access_result=None, **kwargs) -> None: + super(NetworkSecurityGroupResult, self).__init__(**kwargs) + self.security_rule_access_result = security_rule_access_result + self.evaluated_network_security_groups = None + + +class NetworkSecurityRulesEvaluationResult(Model): + """Network security rules evaluation result. + + :param name: Name of the network security rule. + :type name: str + :param protocol_matched: Value indicating whether protocol is matched. + :type protocol_matched: bool + :param source_matched: Value indicating whether source is matched. + :type source_matched: bool + :param source_port_matched: Value indicating whether source port is + matched. + :type source_port_matched: bool + :param destination_matched: Value indicating whether destination is + matched. + :type destination_matched: bool + :param destination_port_matched: Value indicating whether destination port + is matched. + :type destination_port_matched: bool + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'protocol_matched': {'key': 'protocolMatched', 'type': 'bool'}, + 'source_matched': {'key': 'sourceMatched', 'type': 'bool'}, + 'source_port_matched': {'key': 'sourcePortMatched', 'type': 'bool'}, + 'destination_matched': {'key': 'destinationMatched', 'type': 'bool'}, + 'destination_port_matched': {'key': 'destinationPortMatched', 'type': 'bool'}, + } + + def __init__(self, *, name: str=None, protocol_matched: bool=None, source_matched: bool=None, source_port_matched: bool=None, destination_matched: bool=None, destination_port_matched: bool=None, **kwargs) -> None: + super(NetworkSecurityRulesEvaluationResult, self).__init__(**kwargs) + self.name = name + self.protocol_matched = protocol_matched + self.source_matched = source_matched + self.source_port_matched = source_port_matched + self.destination_matched = destination_matched + self.destination_port_matched = destination_port_matched + + +class NetworkVirtualAppliance(Resource): + """NetworkVirtualAppliance Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param boot_strap_configuration_blobs: BootStrapConfigurationBlobs storage + URLs. + :type boot_strap_configuration_blobs: list[str] + :param virtual_hub: The Virtual Hub where Network Virtual Appliance is + being deployed. + :type virtual_hub: ~azure.mgmt.network.v2020_05_01.models.SubResource + :param cloud_init_configuration_blobs: CloudInitConfigurationBlob storage + URLs. + :type cloud_init_configuration_blobs: list[str] + :param cloud_init_configuration: CloudInitConfiguration string in plain + text. + :type cloud_init_configuration: str + :param virtual_appliance_asn: VirtualAppliance ASN. + :type virtual_appliance_asn: long + :ivar virtual_appliance_nics: List of Virtual Appliance Network + Interfaces. + :vartype virtual_appliance_nics: + list[~azure.mgmt.network.v2020_05_01.models.VirtualApplianceNicProperties] + :ivar virtual_appliance_sites: List of references to VirtualApplianceSite. + :vartype virtual_appliance_sites: + list[~azure.mgmt.network.v2020_05_01.models.SubResource] + :ivar provisioning_state: The provisioning state of the resource. Possible + values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param identity: The service principal that has read access to cloud-init + and config blob. + :type identity: + ~azure.mgmt.network.v2020_05_01.models.ManagedServiceIdentity + :param sku: Network Virtual Appliance SKU. + :type sku: + ~azure.mgmt.network.v2020_05_01.models.VirtualApplianceSkuProperties + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'virtual_appliance_asn': {'maximum': 4294967295, 'minimum': 0}, + 'virtual_appliance_nics': {'readonly': True}, + 'virtual_appliance_sites': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'boot_strap_configuration_blobs': {'key': 'properties.bootStrapConfigurationBlobs', 'type': '[str]'}, + 'virtual_hub': {'key': 'properties.virtualHub', 'type': 'SubResource'}, + 'cloud_init_configuration_blobs': {'key': 'properties.cloudInitConfigurationBlobs', 'type': '[str]'}, + 'cloud_init_configuration': {'key': 'properties.cloudInitConfiguration', 'type': 'str'}, + 'virtual_appliance_asn': {'key': 'properties.virtualApplianceAsn', 'type': 'long'}, + 'virtual_appliance_nics': {'key': 'properties.virtualApplianceNics', 'type': '[VirtualApplianceNicProperties]'}, + 'virtual_appliance_sites': {'key': 'properties.virtualApplianceSites', 'type': '[SubResource]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, + 'sku': {'key': 'sku', 'type': 'VirtualApplianceSkuProperties'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, boot_strap_configuration_blobs=None, virtual_hub=None, cloud_init_configuration_blobs=None, cloud_init_configuration: str=None, virtual_appliance_asn: int=None, identity=None, sku=None, **kwargs) -> None: + super(NetworkVirtualAppliance, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.boot_strap_configuration_blobs = boot_strap_configuration_blobs + self.virtual_hub = virtual_hub + self.cloud_init_configuration_blobs = cloud_init_configuration_blobs + self.cloud_init_configuration = cloud_init_configuration + self.virtual_appliance_asn = virtual_appliance_asn + self.virtual_appliance_nics = None + self.virtual_appliance_sites = None + self.provisioning_state = None + self.identity = identity + self.sku = sku + self.etag = None + + +class NetworkVirtualApplianceSku(Resource): + """Available NetworkVirtualApplianceSkus. + + Definition of the NetworkVirtualApplianceSkus resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar vendor: Network Virtual Appliance Sku vendor. + :vartype vendor: str + :ivar available_versions: Available Network Virtual Appliance versions. + :vartype available_versions: list[str] + :param available_scale_units: The list of scale units available. + :type available_scale_units: + list[~azure.mgmt.network.v2020_05_01.models.NetworkVirtualApplianceSkuInstances] + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'vendor': {'readonly': True}, + 'available_versions': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'vendor': {'key': 'properties.vendor', 'type': 'str'}, + 'available_versions': {'key': 'properties.availableVersions', 'type': '[str]'}, + 'available_scale_units': {'key': 'properties.availableScaleUnits', 'type': '[NetworkVirtualApplianceSkuInstances]'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, available_scale_units=None, **kwargs) -> None: + super(NetworkVirtualApplianceSku, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.vendor = None + self.available_versions = None + self.available_scale_units = available_scale_units + self.etag = None + + +class NetworkVirtualApplianceSkuInstances(Model): + """Network Virtual Appliance Sku Instances. + + List of available Sku and instances. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar scale_unit: Scale Unit. + :vartype scale_unit: str + :ivar instance_count: Instance Count. + :vartype instance_count: int + """ + + _validation = { + 'scale_unit': {'readonly': True}, + 'instance_count': {'readonly': True}, + } + + _attribute_map = { + 'scale_unit': {'key': 'scaleUnit', 'type': 'str'}, + 'instance_count': {'key': 'instanceCount', 'type': 'int'}, + } + + def __init__(self, **kwargs) -> None: + super(NetworkVirtualApplianceSkuInstances, self).__init__(**kwargs) + self.scale_unit = None + self.instance_count = None + + +class NetworkWatcher(Resource): + """Network watcher in a resource group. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar provisioning_state: The provisioning state of the network watcher + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, **kwargs) -> None: + super(NetworkWatcher, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.etag = None + self.provisioning_state = None + + +class NextHopParameters(Model): + """Parameters that define the source and destination endpoint. + + All required parameters must be populated in order to send to Azure. + + :param target_resource_id: Required. The resource identifier of the target + resource against which the action is to be performed. + :type target_resource_id: str + :param source_ip_address: Required. The source IP address. + :type source_ip_address: str + :param destination_ip_address: Required. The destination IP address. + :type destination_ip_address: str + :param target_nic_resource_id: The NIC ID. (If VM has multiple NICs and IP + forwarding is enabled on any of the nics, then this parameter must be + specified. Otherwise optional). + :type target_nic_resource_id: str + """ + + _validation = { + 'target_resource_id': {'required': True}, + 'source_ip_address': {'required': True}, + 'destination_ip_address': {'required': True}, + } + + _attribute_map = { + 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, + 'source_ip_address': {'key': 'sourceIPAddress', 'type': 'str'}, + 'destination_ip_address': {'key': 'destinationIPAddress', 'type': 'str'}, + 'target_nic_resource_id': {'key': 'targetNicResourceId', 'type': 'str'}, + } + + def __init__(self, *, target_resource_id: str, source_ip_address: str, destination_ip_address: str, target_nic_resource_id: str=None, **kwargs) -> None: + super(NextHopParameters, self).__init__(**kwargs) + self.target_resource_id = target_resource_id + self.source_ip_address = source_ip_address + self.destination_ip_address = destination_ip_address + self.target_nic_resource_id = target_nic_resource_id + + +class NextHopResult(Model): + """The information about next hop from the specified VM. + + :param next_hop_type: Next hop type. Possible values include: 'Internet', + 'VirtualAppliance', 'VirtualNetworkGateway', 'VnetLocal', + 'HyperNetGateway', 'None' + :type next_hop_type: str or + ~azure.mgmt.network.v2020_05_01.models.NextHopType + :param next_hop_ip_address: Next hop IP Address. + :type next_hop_ip_address: str + :param route_table_id: The resource identifier for the route table + associated with the route being returned. If the route being returned does + not correspond to any user created routes then this field will be the + string 'System Route'. + :type route_table_id: str + """ + + _attribute_map = { + 'next_hop_type': {'key': 'nextHopType', 'type': 'str'}, + 'next_hop_ip_address': {'key': 'nextHopIpAddress', 'type': 'str'}, + 'route_table_id': {'key': 'routeTableId', 'type': 'str'}, + } + + def __init__(self, *, next_hop_type=None, next_hop_ip_address: str=None, route_table_id: str=None, **kwargs) -> None: + super(NextHopResult, self).__init__(**kwargs) + self.next_hop_type = next_hop_type + self.next_hop_ip_address = next_hop_ip_address + self.route_table_id = route_table_id + + +class Office365PolicyProperties(Model): + """Network Virtual Appliance Sku Properties. + + :param break_out_categories: Office 365 breakout categories. + :type break_out_categories: + ~azure.mgmt.network.v2020_05_01.models.BreakOutCategoryPolicies + """ + + _attribute_map = { + 'break_out_categories': {'key': 'breakOutCategories', 'type': 'BreakOutCategoryPolicies'}, + } + + def __init__(self, *, break_out_categories=None, **kwargs) -> None: + super(Office365PolicyProperties, self).__init__(**kwargs) + self.break_out_categories = break_out_categories + + +class Operation(Model): + """Network REST API operation definition. + + :param name: Operation name: {provider}/{resource}/{operation}. + :type name: str + :param display: Display metadata associated with the operation. + :type display: ~azure.mgmt.network.v2020_05_01.models.OperationDisplay + :param origin: Origin of the operation. + :type origin: str + :param service_specification: Specification of the service. + :type service_specification: + ~azure.mgmt.network.v2020_05_01.models.OperationPropertiesFormatServiceSpecification + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'OperationDisplay'}, + 'origin': {'key': 'origin', 'type': 'str'}, + 'service_specification': {'key': 'properties.serviceSpecification', 'type': 'OperationPropertiesFormatServiceSpecification'}, + } + + def __init__(self, *, name: str=None, display=None, origin: str=None, service_specification=None, **kwargs) -> None: + super(Operation, self).__init__(**kwargs) + self.name = name + self.display = display + self.origin = origin + self.service_specification = service_specification + + +class OperationDisplay(Model): + """Display metadata associated with the operation. + + :param provider: Service provider: Microsoft Network. + :type provider: str + :param resource: Resource on which the operation is performed. + :type resource: str + :param operation: Type of the operation: get, read, delete, etc. + :type operation: str + :param description: Description of the operation. + :type description: str + """ + + _attribute_map = { + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__(self, *, provider: str=None, resource: str=None, operation: str=None, description: str=None, **kwargs) -> None: + super(OperationDisplay, self).__init__(**kwargs) + self.provider = provider + self.resource = resource + self.operation = operation + self.description = description + + +class OperationPropertiesFormatServiceSpecification(Model): + """Specification of the service. + + :param metric_specifications: Operation service specification. + :type metric_specifications: + list[~azure.mgmt.network.v2020_05_01.models.MetricSpecification] + :param log_specifications: Operation log specification. + :type log_specifications: + list[~azure.mgmt.network.v2020_05_01.models.LogSpecification] + """ + + _attribute_map = { + 'metric_specifications': {'key': 'metricSpecifications', 'type': '[MetricSpecification]'}, + 'log_specifications': {'key': 'logSpecifications', 'type': '[LogSpecification]'}, + } + + def __init__(self, *, metric_specifications=None, log_specifications=None, **kwargs) -> None: + super(OperationPropertiesFormatServiceSpecification, self).__init__(**kwargs) + self.metric_specifications = metric_specifications + self.log_specifications = log_specifications + + +class OutboundRule(SubResource): + """Outbound rule of the load balancer. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :param allocated_outbound_ports: The number of outbound ports to be used + for NAT. + :type allocated_outbound_ports: int + :param frontend_ip_configurations: Required. The Frontend IP addresses of + the load balancer. + :type frontend_ip_configurations: + list[~azure.mgmt.network.v2020_05_01.models.SubResource] + :param backend_address_pool: Required. A reference to a pool of DIPs. + Outbound traffic is randomly load balanced across IPs in the backend IPs. + :type backend_address_pool: + ~azure.mgmt.network.v2020_05_01.models.SubResource + :ivar provisioning_state: The provisioning state of the outbound rule + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param protocol: Required. The protocol for the outbound rule in load + balancer. Possible values include: 'Tcp', 'Udp', 'All' + :type protocol: str or + ~azure.mgmt.network.v2020_05_01.models.LoadBalancerOutboundRuleProtocol + :param enable_tcp_reset: Receive bidirectional TCP Reset on TCP flow idle + timeout or unexpected connection termination. This element is only used + when the protocol is set to TCP. + :type enable_tcp_reset: bool + :param idle_timeout_in_minutes: The timeout for the TCP idle connection. + :type idle_timeout_in_minutes: int + :param name: The name of the resource that is unique within the set of + outbound rules used by the load balancer. This name can be used to access + the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'frontend_ip_configurations': {'required': True}, + 'backend_address_pool': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'protocol': {'required': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'allocated_outbound_ports': {'key': 'properties.allocatedOutboundPorts', 'type': 'int'}, + 'frontend_ip_configurations': {'key': 'properties.frontendIPConfigurations', 'type': '[SubResource]'}, + 'backend_address_pool': {'key': 'properties.backendAddressPool', 'type': 'SubResource'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'protocol': {'key': 'properties.protocol', 'type': 'str'}, + 'enable_tcp_reset': {'key': 'properties.enableTcpReset', 'type': 'bool'}, + 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, frontend_ip_configurations, backend_address_pool, protocol, id: str=None, allocated_outbound_ports: int=None, enable_tcp_reset: bool=None, idle_timeout_in_minutes: int=None, name: str=None, **kwargs) -> None: + super(OutboundRule, self).__init__(id=id, **kwargs) + self.allocated_outbound_ports = allocated_outbound_ports + self.frontend_ip_configurations = frontend_ip_configurations + self.backend_address_pool = backend_address_pool + self.provisioning_state = None + self.protocol = protocol + self.enable_tcp_reset = enable_tcp_reset + self.idle_timeout_in_minutes = idle_timeout_in_minutes + self.name = name + self.etag = None + self.type = None + + +class OwaspCrsExclusionEntry(Model): + """Allow to exclude some variable satisfy the condition for the WAF check. + + All required parameters must be populated in order to send to Azure. + + :param match_variable: Required. The variable to be excluded. Possible + values include: 'RequestHeaderNames', 'RequestCookieNames', + 'RequestArgNames' + :type match_variable: str or + ~azure.mgmt.network.v2020_05_01.models.OwaspCrsExclusionEntryMatchVariable + :param selector_match_operator: Required. When matchVariable is a + collection, operate on the selector to specify which elements in the + collection this exclusion applies to. Possible values include: 'Equals', + 'Contains', 'StartsWith', 'EndsWith', 'EqualsAny' + :type selector_match_operator: str or + ~azure.mgmt.network.v2020_05_01.models.OwaspCrsExclusionEntrySelectorMatchOperator + :param selector: Required. When matchVariable is a collection, operator + used to specify which elements in the collection this exclusion applies + to. + :type selector: str + """ + + _validation = { + 'match_variable': {'required': True}, + 'selector_match_operator': {'required': True}, + 'selector': {'required': True}, + } + + _attribute_map = { + 'match_variable': {'key': 'matchVariable', 'type': 'str'}, + 'selector_match_operator': {'key': 'selectorMatchOperator', 'type': 'str'}, + 'selector': {'key': 'selector', 'type': 'str'}, + } + + def __init__(self, *, match_variable, selector_match_operator, selector: str, **kwargs) -> None: + super(OwaspCrsExclusionEntry, self).__init__(**kwargs) + self.match_variable = match_variable + self.selector_match_operator = selector_match_operator + self.selector = selector + + +class P2SConnectionConfiguration(SubResource): + """P2SConnectionConfiguration Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param vpn_client_address_pool: The reference to the address space + resource which represents Address space for P2S VpnClient. + :type vpn_client_address_pool: + ~azure.mgmt.network.v2020_05_01.models.AddressSpace + :param routing_configuration: The Routing Configuration indicating the + associated and propagated route tables on this connection. + :type routing_configuration: + ~azure.mgmt.network.v2020_05_01.models.RoutingConfiguration + :ivar provisioning_state: The provisioning state of the + P2SConnectionConfiguration resource. Possible values include: 'Succeeded', + 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'vpn_client_address_pool': {'key': 'properties.vpnClientAddressPool', 'type': 'AddressSpace'}, + 'routing_configuration': {'key': 'properties.routingConfiguration', 'type': 'RoutingConfiguration'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, vpn_client_address_pool=None, routing_configuration=None, name: str=None, **kwargs) -> None: + super(P2SConnectionConfiguration, self).__init__(id=id, **kwargs) + self.vpn_client_address_pool = vpn_client_address_pool + self.routing_configuration = routing_configuration + self.provisioning_state = None + self.name = name + self.etag = None + + +class P2SVpnConnectionHealth(Model): + """P2S Vpn connection detailed health written to sas url. + + :param sas_url: Returned sas url of the blob to which the p2s vpn + connection detailed health will be written. + :type sas_url: str + """ + + _attribute_map = { + 'sas_url': {'key': 'sasUrl', 'type': 'str'}, + } + + def __init__(self, *, sas_url: str=None, **kwargs) -> None: + super(P2SVpnConnectionHealth, self).__init__(**kwargs) + self.sas_url = sas_url + + +class P2SVpnConnectionHealthRequest(Model): + """List of P2S Vpn connection health request. + + :param vpn_user_names_filter: The list of p2s vpn user names whose p2s vpn + connection detailed health to retrieve for. + :type vpn_user_names_filter: list[str] + :param output_blob_sas_url: The sas-url to download the P2S Vpn connection + health detail. + :type output_blob_sas_url: str + """ + + _attribute_map = { + 'vpn_user_names_filter': {'key': 'vpnUserNamesFilter', 'type': '[str]'}, + 'output_blob_sas_url': {'key': 'outputBlobSasUrl', 'type': 'str'}, + } + + def __init__(self, *, vpn_user_names_filter=None, output_blob_sas_url: str=None, **kwargs) -> None: + super(P2SVpnConnectionHealthRequest, self).__init__(**kwargs) + self.vpn_user_names_filter = vpn_user_names_filter + self.output_blob_sas_url = output_blob_sas_url + + +class P2SVpnConnectionRequest(Model): + """List of p2s vpn connections to be disconnected. + + :param vpn_connection_ids: List of p2s vpn connection Ids. + :type vpn_connection_ids: list[str] + """ + + _attribute_map = { + 'vpn_connection_ids': {'key': 'vpnConnectionIds', 'type': '[str]'}, + } + + def __init__(self, *, vpn_connection_ids=None, **kwargs) -> None: + super(P2SVpnConnectionRequest, self).__init__(**kwargs) + self.vpn_connection_ids = vpn_connection_ids + + +class P2SVpnGateway(Resource): + """P2SVpnGateway Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param virtual_hub: The VirtualHub to which the gateway belongs. + :type virtual_hub: ~azure.mgmt.network.v2020_05_01.models.SubResource + :param p2_sconnection_configurations: List of all p2s connection + configurations of the gateway. + :type p2_sconnection_configurations: + list[~azure.mgmt.network.v2020_05_01.models.P2SConnectionConfiguration] + :ivar provisioning_state: The provisioning state of the P2S VPN gateway + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param vpn_gateway_scale_unit: The scale unit for this p2s vpn gateway. + :type vpn_gateway_scale_unit: int + :param vpn_server_configuration: The VpnServerConfiguration to which the + p2sVpnGateway is attached to. + :type vpn_server_configuration: + ~azure.mgmt.network.v2020_05_01.models.SubResource + :ivar vpn_client_connection_health: All P2S VPN clients' connection health + status. + :vartype vpn_client_connection_health: + ~azure.mgmt.network.v2020_05_01.models.VpnClientConnectionHealth + :param custom_dns_servers: List of all customer specified DNS servers IP + addresses. + :type custom_dns_servers: list[str] + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'vpn_client_connection_health': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'virtual_hub': {'key': 'properties.virtualHub', 'type': 'SubResource'}, + 'p2_sconnection_configurations': {'key': 'properties.p2SConnectionConfigurations', 'type': '[P2SConnectionConfiguration]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'vpn_gateway_scale_unit': {'key': 'properties.vpnGatewayScaleUnit', 'type': 'int'}, + 'vpn_server_configuration': {'key': 'properties.vpnServerConfiguration', 'type': 'SubResource'}, + 'vpn_client_connection_health': {'key': 'properties.vpnClientConnectionHealth', 'type': 'VpnClientConnectionHealth'}, + 'custom_dns_servers': {'key': 'properties.customDnsServers', 'type': '[str]'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, virtual_hub=None, p2_sconnection_configurations=None, vpn_gateway_scale_unit: int=None, vpn_server_configuration=None, custom_dns_servers=None, **kwargs) -> None: + super(P2SVpnGateway, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.virtual_hub = virtual_hub + self.p2_sconnection_configurations = p2_sconnection_configurations + self.provisioning_state = None + self.vpn_gateway_scale_unit = vpn_gateway_scale_unit + self.vpn_server_configuration = vpn_server_configuration + self.vpn_client_connection_health = None + self.custom_dns_servers = custom_dns_servers + self.etag = None + + +class P2SVpnProfileParameters(Model): + """Vpn Client Parameters for package generation. + + :param authentication_method: VPN client authentication method. Possible + values include: 'EAPTLS', 'EAPMSCHAPv2' + :type authentication_method: str or + ~azure.mgmt.network.v2020_05_01.models.AuthenticationMethod + """ + + _attribute_map = { + 'authentication_method': {'key': 'authenticationMethod', 'type': 'str'}, + } + + def __init__(self, *, authentication_method=None, **kwargs) -> None: + super(P2SVpnProfileParameters, self).__init__(**kwargs) + self.authentication_method = authentication_method + + +class PacketCapture(Model): + """Parameters that define the create packet capture operation. + + All required parameters must be populated in order to send to Azure. + + :param target: Required. The ID of the targeted resource, only VM is + currently supported. + :type target: str + :param bytes_to_capture_per_packet: Number of bytes captured per packet, + the remaining bytes are truncated. Default value: 0 . + :type bytes_to_capture_per_packet: int + :param total_bytes_per_session: Maximum size of the capture output. + Default value: 1073741824 . + :type total_bytes_per_session: int + :param time_limit_in_seconds: Maximum duration of the capture session in + seconds. Default value: 18000 . + :type time_limit_in_seconds: int + :param storage_location: Required. The storage location for a packet + capture session. + :type storage_location: + ~azure.mgmt.network.v2020_05_01.models.PacketCaptureStorageLocation + :param filters: A list of packet capture filters. + :type filters: + list[~azure.mgmt.network.v2020_05_01.models.PacketCaptureFilter] + """ + + _validation = { + 'target': {'required': True}, + 'storage_location': {'required': True}, + } + + _attribute_map = { + 'target': {'key': 'properties.target', 'type': 'str'}, + 'bytes_to_capture_per_packet': {'key': 'properties.bytesToCapturePerPacket', 'type': 'int'}, + 'total_bytes_per_session': {'key': 'properties.totalBytesPerSession', 'type': 'int'}, + 'time_limit_in_seconds': {'key': 'properties.timeLimitInSeconds', 'type': 'int'}, + 'storage_location': {'key': 'properties.storageLocation', 'type': 'PacketCaptureStorageLocation'}, + 'filters': {'key': 'properties.filters', 'type': '[PacketCaptureFilter]'}, + } + + def __init__(self, *, target: str, storage_location, bytes_to_capture_per_packet: int=0, total_bytes_per_session: int=1073741824, time_limit_in_seconds: int=18000, filters=None, **kwargs) -> None: + super(PacketCapture, self).__init__(**kwargs) + self.target = target + self.bytes_to_capture_per_packet = bytes_to_capture_per_packet + self.total_bytes_per_session = total_bytes_per_session + self.time_limit_in_seconds = time_limit_in_seconds + self.storage_location = storage_location + self.filters = filters + + +class PacketCaptureFilter(Model): + """Filter that is applied to packet capture request. Multiple filters can be + applied. + + :param protocol: Protocol to be filtered on. Possible values include: + 'TCP', 'UDP', 'Any'. Default value: "Any" . + :type protocol: str or ~azure.mgmt.network.v2020_05_01.models.PcProtocol + :param local_ip_address: Local IP Address to be filtered on. Notation: + "127.0.0.1" for single address entry. "127.0.0.1-127.0.0.255" for range. + "127.0.0.1;127.0.0.5"? for multiple entries. Multiple ranges not currently + supported. Mixing ranges with multiple entries not currently supported. + Default = null. + :type local_ip_address: str + :param remote_ip_address: Local IP Address to be filtered on. Notation: + "127.0.0.1" for single address entry. "127.0.0.1-127.0.0.255" for range. + "127.0.0.1;127.0.0.5;" for multiple entries. Multiple ranges not currently + supported. Mixing ranges with multiple entries not currently supported. + Default = null. + :type remote_ip_address: str + :param local_port: Local port to be filtered on. Notation: "80" for single + port entry."80-85" for range. "80;443;" for multiple entries. Multiple + ranges not currently supported. Mixing ranges with multiple entries not + currently supported. Default = null. + :type local_port: str + :param remote_port: Remote port to be filtered on. Notation: "80" for + single port entry."80-85" for range. "80;443;" for multiple entries. + Multiple ranges not currently supported. Mixing ranges with multiple + entries not currently supported. Default = null. + :type remote_port: str + """ + + _attribute_map = { + 'protocol': {'key': 'protocol', 'type': 'str'}, + 'local_ip_address': {'key': 'localIPAddress', 'type': 'str'}, + 'remote_ip_address': {'key': 'remoteIPAddress', 'type': 'str'}, + 'local_port': {'key': 'localPort', 'type': 'str'}, + 'remote_port': {'key': 'remotePort', 'type': 'str'}, + } + + def __init__(self, *, protocol="Any", local_ip_address: str=None, remote_ip_address: str=None, local_port: str=None, remote_port: str=None, **kwargs) -> None: + super(PacketCaptureFilter, self).__init__(**kwargs) + self.protocol = protocol + self.local_ip_address = local_ip_address + self.remote_ip_address = remote_ip_address + self.local_port = local_port + self.remote_port = remote_port + + +class PacketCaptureParameters(Model): + """Parameters that define the create packet capture operation. + + All required parameters must be populated in order to send to Azure. + + :param target: Required. The ID of the targeted resource, only VM is + currently supported. + :type target: str + :param bytes_to_capture_per_packet: Number of bytes captured per packet, + the remaining bytes are truncated. Default value: 0 . + :type bytes_to_capture_per_packet: int + :param total_bytes_per_session: Maximum size of the capture output. + Default value: 1073741824 . + :type total_bytes_per_session: int + :param time_limit_in_seconds: Maximum duration of the capture session in + seconds. Default value: 18000 . + :type time_limit_in_seconds: int + :param storage_location: Required. The storage location for a packet + capture session. + :type storage_location: + ~azure.mgmt.network.v2020_05_01.models.PacketCaptureStorageLocation + :param filters: A list of packet capture filters. + :type filters: + list[~azure.mgmt.network.v2020_05_01.models.PacketCaptureFilter] + """ + + _validation = { + 'target': {'required': True}, + 'storage_location': {'required': True}, + } + + _attribute_map = { + 'target': {'key': 'target', 'type': 'str'}, + 'bytes_to_capture_per_packet': {'key': 'bytesToCapturePerPacket', 'type': 'int'}, + 'total_bytes_per_session': {'key': 'totalBytesPerSession', 'type': 'int'}, + 'time_limit_in_seconds': {'key': 'timeLimitInSeconds', 'type': 'int'}, + 'storage_location': {'key': 'storageLocation', 'type': 'PacketCaptureStorageLocation'}, + 'filters': {'key': 'filters', 'type': '[PacketCaptureFilter]'}, + } + + def __init__(self, *, target: str, storage_location, bytes_to_capture_per_packet: int=0, total_bytes_per_session: int=1073741824, time_limit_in_seconds: int=18000, filters=None, **kwargs) -> None: + super(PacketCaptureParameters, self).__init__(**kwargs) + self.target = target + self.bytes_to_capture_per_packet = bytes_to_capture_per_packet + self.total_bytes_per_session = total_bytes_per_session + self.time_limit_in_seconds = time_limit_in_seconds + self.storage_location = storage_location + self.filters = filters + + +class PacketCaptureQueryStatusResult(Model): + """Status of packet capture session. + + :param name: The name of the packet capture resource. + :type name: str + :param id: The ID of the packet capture resource. + :type id: str + :param capture_start_time: The start time of the packet capture session. + :type capture_start_time: datetime + :param packet_capture_status: The status of the packet capture session. + Possible values include: 'NotStarted', 'Running', 'Stopped', 'Error', + 'Unknown' + :type packet_capture_status: str or + ~azure.mgmt.network.v2020_05_01.models.PcStatus + :param stop_reason: The reason the current packet capture session was + stopped. + :type stop_reason: str + :param packet_capture_error: List of errors of packet capture session. + :type packet_capture_error: list[str or + ~azure.mgmt.network.v2020_05_01.models.PcError] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'capture_start_time': {'key': 'captureStartTime', 'type': 'iso-8601'}, + 'packet_capture_status': {'key': 'packetCaptureStatus', 'type': 'str'}, + 'stop_reason': {'key': 'stopReason', 'type': 'str'}, + 'packet_capture_error': {'key': 'packetCaptureError', 'type': '[str]'}, + } + + def __init__(self, *, name: str=None, id: str=None, capture_start_time=None, packet_capture_status=None, stop_reason: str=None, packet_capture_error=None, **kwargs) -> None: + super(PacketCaptureQueryStatusResult, self).__init__(**kwargs) + self.name = name + self.id = id + self.capture_start_time = capture_start_time + self.packet_capture_status = packet_capture_status + self.stop_reason = stop_reason + self.packet_capture_error = packet_capture_error + + +class PacketCaptureResult(Model): + """Information about packet capture session. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar name: Name of the packet capture session. + :vartype name: str + :ivar id: ID of the packet capture operation. + :vartype id: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :param target: Required. The ID of the targeted resource, only VM is + currently supported. + :type target: str + :param bytes_to_capture_per_packet: Number of bytes captured per packet, + the remaining bytes are truncated. Default value: 0 . + :type bytes_to_capture_per_packet: int + :param total_bytes_per_session: Maximum size of the capture output. + Default value: 1073741824 . + :type total_bytes_per_session: int + :param time_limit_in_seconds: Maximum duration of the capture session in + seconds. Default value: 18000 . + :type time_limit_in_seconds: int + :param storage_location: Required. The storage location for a packet + capture session. + :type storage_location: + ~azure.mgmt.network.v2020_05_01.models.PacketCaptureStorageLocation + :param filters: A list of packet capture filters. + :type filters: + list[~azure.mgmt.network.v2020_05_01.models.PacketCaptureFilter] + :ivar provisioning_state: The provisioning state of the packet capture + session. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + """ + + _validation = { + 'name': {'readonly': True}, + 'id': {'readonly': True}, + 'etag': {'readonly': True}, + 'target': {'required': True}, + 'storage_location': {'required': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'target': {'key': 'properties.target', 'type': 'str'}, + 'bytes_to_capture_per_packet': {'key': 'properties.bytesToCapturePerPacket', 'type': 'int'}, + 'total_bytes_per_session': {'key': 'properties.totalBytesPerSession', 'type': 'int'}, + 'time_limit_in_seconds': {'key': 'properties.timeLimitInSeconds', 'type': 'int'}, + 'storage_location': {'key': 'properties.storageLocation', 'type': 'PacketCaptureStorageLocation'}, + 'filters': {'key': 'properties.filters', 'type': '[PacketCaptureFilter]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + } + + def __init__(self, *, target: str, storage_location, bytes_to_capture_per_packet: int=0, total_bytes_per_session: int=1073741824, time_limit_in_seconds: int=18000, filters=None, **kwargs) -> None: + super(PacketCaptureResult, self).__init__(**kwargs) + self.name = None + self.id = None + self.etag = None + self.target = target + self.bytes_to_capture_per_packet = bytes_to_capture_per_packet + self.total_bytes_per_session = total_bytes_per_session + self.time_limit_in_seconds = time_limit_in_seconds + self.storage_location = storage_location + self.filters = filters + self.provisioning_state = None + + +class PacketCaptureStorageLocation(Model): + """The storage location for a packet capture session. + + :param storage_id: The ID of the storage account to save the packet + capture session. Required if no local file path is provided. + :type storage_id: str + :param storage_path: The URI of the storage path to save the packet + capture. Must be a well-formed URI describing the location to save the + packet capture. + :type storage_path: str + :param file_path: A valid local path on the targeting VM. Must include the + name of the capture file (*.cap). For linux virtual machine it must start + with /var/captures. Required if no storage ID is provided, otherwise + optional. + :type file_path: str + """ + + _attribute_map = { + 'storage_id': {'key': 'storageId', 'type': 'str'}, + 'storage_path': {'key': 'storagePath', 'type': 'str'}, + 'file_path': {'key': 'filePath', 'type': 'str'}, + } + + def __init__(self, *, storage_id: str=None, storage_path: str=None, file_path: str=None, **kwargs) -> None: + super(PacketCaptureStorageLocation, self).__init__(**kwargs) + self.storage_id = storage_id + self.storage_path = storage_path + self.file_path = file_path + + +class PatchRouteFilter(SubResource): + """Route Filter Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param rules: Collection of RouteFilterRules contained within a route + filter. + :type rules: list[~azure.mgmt.network.v2020_05_01.models.RouteFilterRule] + :ivar peerings: A collection of references to express route circuit + peerings. + :vartype peerings: + list[~azure.mgmt.network.v2020_05_01.models.ExpressRouteCircuitPeering] + :ivar ipv6_peerings: A collection of references to express route circuit + ipv6 peerings. + :vartype ipv6_peerings: + list[~azure.mgmt.network.v2020_05_01.models.ExpressRouteCircuitPeering] + :ivar provisioning_state: The provisioning state of the route filter + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :ivar name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :vartype name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Resource type. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + """ + + _validation = { + 'peerings': {'readonly': True}, + 'ipv6_peerings': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'name': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'rules': {'key': 'properties.rules', 'type': '[RouteFilterRule]'}, + 'peerings': {'key': 'properties.peerings', 'type': '[ExpressRouteCircuitPeering]'}, + 'ipv6_peerings': {'key': 'properties.ipv6Peerings', 'type': '[ExpressRouteCircuitPeering]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, *, id: str=None, rules=None, tags=None, **kwargs) -> None: + super(PatchRouteFilter, self).__init__(id=id, **kwargs) + self.rules = rules + self.peerings = None + self.ipv6_peerings = None + self.provisioning_state = None + self.name = None + self.etag = None + self.type = None + self.tags = tags + + +class PatchRouteFilterRule(SubResource): + """Route Filter Rule Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :param access: Required. The access type of the rule. Possible values + include: 'Allow', 'Deny' + :type access: str or ~azure.mgmt.network.v2020_05_01.models.Access + :ivar route_filter_rule_type: Required. The rule type of the rule. Default + value: "Community" . + :vartype route_filter_rule_type: str + :param communities: Required. The collection for bgp community values to + filter on. e.g. ['12076:5010','12076:5020']. + :type communities: list[str] + :ivar provisioning_state: The provisioning state of the route filter rule + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :ivar name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :vartype name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'access': {'required': True}, + 'route_filter_rule_type': {'required': True, 'constant': True}, + 'communities': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'name': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'access': {'key': 'properties.access', 'type': 'str'}, + 'route_filter_rule_type': {'key': 'properties.routeFilterRuleType', 'type': 'str'}, + 'communities': {'key': 'properties.communities', 'type': '[str]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + route_filter_rule_type = "Community" + + def __init__(self, *, access, communities, id: str=None, **kwargs) -> None: + super(PatchRouteFilterRule, self).__init__(id=id, **kwargs) + self.access = access + self.communities = communities + self.provisioning_state = None + self.name = None + self.etag = None + + +class PeerExpressRouteCircuitConnection(SubResource): + """Peer Express Route Circuit Connection in an ExpressRouteCircuitPeering + resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param express_route_circuit_peering: Reference to Express Route Circuit + Private Peering Resource of the circuit. + :type express_route_circuit_peering: + ~azure.mgmt.network.v2020_05_01.models.SubResource + :param peer_express_route_circuit_peering: Reference to Express Route + Circuit Private Peering Resource of the peered circuit. + :type peer_express_route_circuit_peering: + ~azure.mgmt.network.v2020_05_01.models.SubResource + :param address_prefix: /29 IP address space to carve out Customer + addresses for tunnels. + :type address_prefix: str + :param circuit_connection_status: Express Route Circuit connection state. + Possible values include: 'Connected', 'Connecting', 'Disconnected' + :type circuit_connection_status: str or + ~azure.mgmt.network.v2020_05_01.models.CircuitConnectionStatus + :param connection_name: The name of the express route circuit connection + resource. + :type connection_name: str + :param auth_resource_guid: The resource guid of the authorization used for + the express route circuit connection. + :type auth_resource_guid: str + :ivar provisioning_state: The provisioning state of the peer express route + circuit connection resource. Possible values include: 'Succeeded', + 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'express_route_circuit_peering': {'key': 'properties.expressRouteCircuitPeering', 'type': 'SubResource'}, + 'peer_express_route_circuit_peering': {'key': 'properties.peerExpressRouteCircuitPeering', 'type': 'SubResource'}, + 'address_prefix': {'key': 'properties.addressPrefix', 'type': 'str'}, + 'circuit_connection_status': {'key': 'properties.circuitConnectionStatus', 'type': 'str'}, + 'connection_name': {'key': 'properties.connectionName', 'type': 'str'}, + 'auth_resource_guid': {'key': 'properties.authResourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, express_route_circuit_peering=None, peer_express_route_circuit_peering=None, address_prefix: str=None, circuit_connection_status=None, connection_name: str=None, auth_resource_guid: str=None, name: str=None, **kwargs) -> None: + super(PeerExpressRouteCircuitConnection, self).__init__(id=id, **kwargs) + self.express_route_circuit_peering = express_route_circuit_peering + self.peer_express_route_circuit_peering = peer_express_route_circuit_peering + self.address_prefix = address_prefix + self.circuit_connection_status = circuit_connection_status + self.connection_name = connection_name + self.auth_resource_guid = auth_resource_guid + self.provisioning_state = None + self.name = name + self.etag = None + self.type = None + + +class PolicySettings(Model): + """Defines contents of a web application firewall global configuration. + + :param state: The state of the policy. Possible values include: + 'Disabled', 'Enabled' + :type state: str or + ~azure.mgmt.network.v2020_05_01.models.WebApplicationFirewallEnabledState + :param mode: The mode of the policy. Possible values include: + 'Prevention', 'Detection' + :type mode: str or + ~azure.mgmt.network.v2020_05_01.models.WebApplicationFirewallMode + :param request_body_check: Whether to allow WAF to check request Body. + :type request_body_check: bool + :param max_request_body_size_in_kb: Maximum request body size in Kb for + WAF. + :type max_request_body_size_in_kb: int + :param file_upload_limit_in_mb: Maximum file upload size in Mb for WAF. + :type file_upload_limit_in_mb: int + """ + + _validation = { + 'max_request_body_size_in_kb': {'maximum': 128, 'minimum': 8}, + 'file_upload_limit_in_mb': {'minimum': 0}, + } + + _attribute_map = { + 'state': {'key': 'state', 'type': 'str'}, + 'mode': {'key': 'mode', 'type': 'str'}, + 'request_body_check': {'key': 'requestBodyCheck', 'type': 'bool'}, + 'max_request_body_size_in_kb': {'key': 'maxRequestBodySizeInKb', 'type': 'int'}, + 'file_upload_limit_in_mb': {'key': 'fileUploadLimitInMb', 'type': 'int'}, + } + + def __init__(self, *, state=None, mode=None, request_body_check: bool=None, max_request_body_size_in_kb: int=None, file_upload_limit_in_mb: int=None, **kwargs) -> None: + super(PolicySettings, self).__init__(**kwargs) + self.state = state + self.mode = mode + self.request_body_check = request_body_check + self.max_request_body_size_in_kb = max_request_body_size_in_kb + self.file_upload_limit_in_mb = file_upload_limit_in_mb + + +class PrepareNetworkPoliciesRequest(Model): + """Details of PrepareNetworkPolicies for Subnet. + + :param service_name: The name of the service for which subnet is being + prepared for. + :type service_name: str + :param network_intent_policy_configurations: A list of + NetworkIntentPolicyConfiguration. + :type network_intent_policy_configurations: + list[~azure.mgmt.network.v2020_05_01.models.NetworkIntentPolicyConfiguration] + """ + + _attribute_map = { + 'service_name': {'key': 'serviceName', 'type': 'str'}, + 'network_intent_policy_configurations': {'key': 'networkIntentPolicyConfigurations', 'type': '[NetworkIntentPolicyConfiguration]'}, + } + + def __init__(self, *, service_name: str=None, network_intent_policy_configurations=None, **kwargs) -> None: + super(PrepareNetworkPoliciesRequest, self).__init__(**kwargs) + self.service_name = service_name + self.network_intent_policy_configurations = network_intent_policy_configurations + + +class PrivateDnsZoneConfig(Model): + """PrivateDnsZoneConfig resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param name: Name of the resource that is unique within a resource group. + This name can be used to access the resource. + :type name: str + :param private_dns_zone_id: The resource id of the private dns zone. + :type private_dns_zone_id: str + :ivar record_sets: A collection of information regarding a recordSet, + holding information to identify private resources. + :vartype record_sets: + list[~azure.mgmt.network.v2020_05_01.models.RecordSet] + """ + + _validation = { + 'record_sets': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'private_dns_zone_id': {'key': 'properties.privateDnsZoneId', 'type': 'str'}, + 'record_sets': {'key': 'properties.recordSets', 'type': '[RecordSet]'}, + } + + def __init__(self, *, name: str=None, private_dns_zone_id: str=None, **kwargs) -> None: + super(PrivateDnsZoneConfig, self).__init__(**kwargs) + self.name = name + self.private_dns_zone_id = private_dns_zone_id + self.record_sets = None + + +class PrivateDnsZoneGroup(SubResource): + """Private dns zone group resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param name: Name of the resource that is unique within a resource group. + This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar provisioning_state: The provisioning state of the private dns zone + group resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param private_dns_zone_configs: A collection of private dns zone + configurations of the private dns zone group. + :type private_dns_zone_configs: + list[~azure.mgmt.network.v2020_05_01.models.PrivateDnsZoneConfig] + """ + + _validation = { + 'etag': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'private_dns_zone_configs': {'key': 'properties.privateDnsZoneConfigs', 'type': '[PrivateDnsZoneConfig]'}, + } + + def __init__(self, *, id: str=None, name: str=None, private_dns_zone_configs=None, **kwargs) -> None: + super(PrivateDnsZoneGroup, self).__init__(id=id, **kwargs) + self.name = name + self.etag = None + self.provisioning_state = None + self.private_dns_zone_configs = private_dns_zone_configs + + +class PrivateEndpoint(Resource): + """Private endpoint resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param subnet: The ID of the subnet from which the private IP will be + allocated. + :type subnet: ~azure.mgmt.network.v2020_05_01.models.Subnet + :ivar network_interfaces: An array of references to the network interfaces + created for this private endpoint. + :vartype network_interfaces: + list[~azure.mgmt.network.v2020_05_01.models.NetworkInterface] + :ivar provisioning_state: The provisioning state of the private endpoint + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param private_link_service_connections: A grouping of information about + the connection to the remote resource. + :type private_link_service_connections: + list[~azure.mgmt.network.v2020_05_01.models.PrivateLinkServiceConnection] + :param manual_private_link_service_connections: A grouping of information + about the connection to the remote resource. Used when the network admin + does not have access to approve connections to the remote resource. + :type manual_private_link_service_connections: + list[~azure.mgmt.network.v2020_05_01.models.PrivateLinkServiceConnection] + :param custom_dns_configs: An array of custom dns configurations. + :type custom_dns_configs: + list[~azure.mgmt.network.v2020_05_01.models.CustomDnsConfigPropertiesFormat] + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'network_interfaces': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, + 'network_interfaces': {'key': 'properties.networkInterfaces', 'type': '[NetworkInterface]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'private_link_service_connections': {'key': 'properties.privateLinkServiceConnections', 'type': '[PrivateLinkServiceConnection]'}, + 'manual_private_link_service_connections': {'key': 'properties.manualPrivateLinkServiceConnections', 'type': '[PrivateLinkServiceConnection]'}, + 'custom_dns_configs': {'key': 'properties.customDnsConfigs', 'type': '[CustomDnsConfigPropertiesFormat]'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, subnet=None, private_link_service_connections=None, manual_private_link_service_connections=None, custom_dns_configs=None, **kwargs) -> None: + super(PrivateEndpoint, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.subnet = subnet + self.network_interfaces = None + self.provisioning_state = None + self.private_link_service_connections = private_link_service_connections + self.manual_private_link_service_connections = manual_private_link_service_connections + self.custom_dns_configs = custom_dns_configs + self.etag = None + + +class PrivateEndpointConnection(SubResource): + """PrivateEndpointConnection resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar private_endpoint: The resource of private end point. + :vartype private_endpoint: + ~azure.mgmt.network.v2020_05_01.models.PrivateEndpoint + :param private_link_service_connection_state: A collection of information + about the state of the connection between service consumer and provider. + :type private_link_service_connection_state: + ~azure.mgmt.network.v2020_05_01.models.PrivateLinkServiceConnectionState + :ivar provisioning_state: The provisioning state of the private endpoint + connection resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :ivar link_identifier: The consumer link id. + :vartype link_identifier: str + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar type: The resource type. + :vartype type: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'private_endpoint': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'link_identifier': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'private_endpoint': {'key': 'properties.privateEndpoint', 'type': 'PrivateEndpoint'}, + 'private_link_service_connection_state': {'key': 'properties.privateLinkServiceConnectionState', 'type': 'PrivateLinkServiceConnectionState'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'link_identifier': {'key': 'properties.linkIdentifier', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, private_link_service_connection_state=None, name: str=None, **kwargs) -> None: + super(PrivateEndpointConnection, self).__init__(id=id, **kwargs) + self.private_endpoint = None + self.private_link_service_connection_state = private_link_service_connection_state + self.provisioning_state = None + self.link_identifier = None + self.name = name + self.type = None + self.etag = None + + +class PrivateLinkService(Resource): + """Private link service resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param load_balancer_frontend_ip_configurations: An array of references to + the load balancer IP configurations. + :type load_balancer_frontend_ip_configurations: + list[~azure.mgmt.network.v2020_05_01.models.FrontendIPConfiguration] + :param ip_configurations: An array of private link service IP + configurations. + :type ip_configurations: + list[~azure.mgmt.network.v2020_05_01.models.PrivateLinkServiceIpConfiguration] + :ivar network_interfaces: An array of references to the network interfaces + created for this private link service. + :vartype network_interfaces: + list[~azure.mgmt.network.v2020_05_01.models.NetworkInterface] + :ivar provisioning_state: The provisioning state of the private link + service resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :ivar private_endpoint_connections: An array of list about connections to + the private endpoint. + :vartype private_endpoint_connections: + list[~azure.mgmt.network.v2020_05_01.models.PrivateEndpointConnection] + :param visibility: The visibility list of the private link service. + :type visibility: + ~azure.mgmt.network.v2020_05_01.models.PrivateLinkServicePropertiesVisibility + :param auto_approval: The auto-approval list of the private link service. + :type auto_approval: + ~azure.mgmt.network.v2020_05_01.models.PrivateLinkServicePropertiesAutoApproval + :param fqdns: The list of Fqdn. + :type fqdns: list[str] + :ivar alias: The alias of the private link service. + :vartype alias: str + :param enable_proxy_protocol: Whether the private link service is enabled + for proxy protocol or not. + :type enable_proxy_protocol: bool + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'network_interfaces': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'private_endpoint_connections': {'readonly': True}, + 'alias': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'load_balancer_frontend_ip_configurations': {'key': 'properties.loadBalancerFrontendIpConfigurations', 'type': '[FrontendIPConfiguration]'}, + 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[PrivateLinkServiceIpConfiguration]'}, + 'network_interfaces': {'key': 'properties.networkInterfaces', 'type': '[NetworkInterface]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'private_endpoint_connections': {'key': 'properties.privateEndpointConnections', 'type': '[PrivateEndpointConnection]'}, + 'visibility': {'key': 'properties.visibility', 'type': 'PrivateLinkServicePropertiesVisibility'}, + 'auto_approval': {'key': 'properties.autoApproval', 'type': 'PrivateLinkServicePropertiesAutoApproval'}, + 'fqdns': {'key': 'properties.fqdns', 'type': '[str]'}, + 'alias': {'key': 'properties.alias', 'type': 'str'}, + 'enable_proxy_protocol': {'key': 'properties.enableProxyProtocol', 'type': 'bool'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, load_balancer_frontend_ip_configurations=None, ip_configurations=None, visibility=None, auto_approval=None, fqdns=None, enable_proxy_protocol: bool=None, **kwargs) -> None: + super(PrivateLinkService, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.load_balancer_frontend_ip_configurations = load_balancer_frontend_ip_configurations + self.ip_configurations = ip_configurations + self.network_interfaces = None + self.provisioning_state = None + self.private_endpoint_connections = None + self.visibility = visibility + self.auto_approval = auto_approval + self.fqdns = fqdns + self.alias = None + self.enable_proxy_protocol = enable_proxy_protocol + self.etag = None + + +class PrivateLinkServiceConnection(SubResource): + """PrivateLinkServiceConnection resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar provisioning_state: The provisioning state of the private link + service connection resource. Possible values include: 'Succeeded', + 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param private_link_service_id: The resource id of private link service. + :type private_link_service_id: str + :param group_ids: The ID(s) of the group(s) obtained from the remote + resource that this private endpoint should connect to. + :type group_ids: list[str] + :param request_message: A message passed to the owner of the remote + resource with this connection request. Restricted to 140 chars. + :type request_message: str + :param private_link_service_connection_state: A collection of read-only + information about the state of the connection to the remote resource. + :type private_link_service_connection_state: + ~azure.mgmt.network.v2020_05_01.models.PrivateLinkServiceConnectionState + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar type: The resource type. + :vartype type: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'private_link_service_id': {'key': 'properties.privateLinkServiceId', 'type': 'str'}, + 'group_ids': {'key': 'properties.groupIds', 'type': '[str]'}, + 'request_message': {'key': 'properties.requestMessage', 'type': 'str'}, + 'private_link_service_connection_state': {'key': 'properties.privateLinkServiceConnectionState', 'type': 'PrivateLinkServiceConnectionState'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, private_link_service_id: str=None, group_ids=None, request_message: str=None, private_link_service_connection_state=None, name: str=None, **kwargs) -> None: + super(PrivateLinkServiceConnection, self).__init__(id=id, **kwargs) + self.provisioning_state = None + self.private_link_service_id = private_link_service_id + self.group_ids = group_ids + self.request_message = request_message + self.private_link_service_connection_state = private_link_service_connection_state + self.name = name + self.type = None + self.etag = None + + +class PrivateLinkServiceConnectionState(Model): + """A collection of information about the state of the connection between + service consumer and provider. + + :param status: Indicates whether the connection has been + Approved/Rejected/Removed by the owner of the service. + :type status: str + :param description: The reason for approval/rejection of the connection. + :type description: str + :param actions_required: A message indicating if changes on the service + provider require any updates on the consumer. + :type actions_required: str + """ + + _attribute_map = { + 'status': {'key': 'status', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'actions_required': {'key': 'actionsRequired', 'type': 'str'}, + } + + def __init__(self, *, status: str=None, description: str=None, actions_required: str=None, **kwargs) -> None: + super(PrivateLinkServiceConnectionState, self).__init__(**kwargs) + self.status = status + self.description = description + self.actions_required = actions_required + + +class PrivateLinkServiceIpConfiguration(SubResource): + """The private link service ip configuration. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param private_ip_address: The private IP address of the IP configuration. + :type private_ip_address: str + :param private_ip_allocation_method: The private IP address allocation + method. Possible values include: 'Static', 'Dynamic' + :type private_ip_allocation_method: str or + ~azure.mgmt.network.v2020_05_01.models.IPAllocationMethod + :param subnet: The reference to the subnet resource. + :type subnet: ~azure.mgmt.network.v2020_05_01.models.Subnet + :param primary: Whether the ip configuration is primary or not. + :type primary: bool + :ivar provisioning_state: The provisioning state of the private link + service IP configuration resource. Possible values include: 'Succeeded', + 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param private_ip_address_version: Whether the specific IP configuration + is IPv4 or IPv6. Default is IPv4. Possible values include: 'IPv4', 'IPv6' + :type private_ip_address_version: str or + ~azure.mgmt.network.v2020_05_01.models.IPVersion + :param name: The name of private link service ip configuration. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: The resource type. + :vartype type: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, + 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, + 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, + 'primary': {'key': 'properties.primary', 'type': 'bool'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'private_ip_address_version': {'key': 'properties.privateIPAddressVersion', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, private_ip_address: str=None, private_ip_allocation_method=None, subnet=None, primary: bool=None, private_ip_address_version=None, name: str=None, **kwargs) -> None: + super(PrivateLinkServiceIpConfiguration, self).__init__(id=id, **kwargs) + self.private_ip_address = private_ip_address + self.private_ip_allocation_method = private_ip_allocation_method + self.subnet = subnet + self.primary = primary + self.provisioning_state = None + self.private_ip_address_version = private_ip_address_version + self.name = name + self.etag = None + self.type = None + + +class ResourceSet(Model): + """The base resource set for visibility and auto-approval. + + :param subscriptions: The list of subscriptions. + :type subscriptions: list[str] + """ + + _attribute_map = { + 'subscriptions': {'key': 'subscriptions', 'type': '[str]'}, + } + + def __init__(self, *, subscriptions=None, **kwargs) -> None: + super(ResourceSet, self).__init__(**kwargs) + self.subscriptions = subscriptions + + +class PrivateLinkServicePropertiesAutoApproval(ResourceSet): + """The auto-approval list of the private link service. + + :param subscriptions: The list of subscriptions. + :type subscriptions: list[str] + """ + + _attribute_map = { + 'subscriptions': {'key': 'subscriptions', 'type': '[str]'}, + } + + def __init__(self, *, subscriptions=None, **kwargs) -> None: + super(PrivateLinkServicePropertiesAutoApproval, self).__init__(subscriptions=subscriptions, **kwargs) + + +class PrivateLinkServicePropertiesVisibility(ResourceSet): + """The visibility list of the private link service. + + :param subscriptions: The list of subscriptions. + :type subscriptions: list[str] + """ + + _attribute_map = { + 'subscriptions': {'key': 'subscriptions', 'type': '[str]'}, + } + + def __init__(self, *, subscriptions=None, **kwargs) -> None: + super(PrivateLinkServicePropertiesVisibility, self).__init__(subscriptions=subscriptions, **kwargs) + + +class PrivateLinkServiceVisibility(Model): + """Response for the CheckPrivateLinkServiceVisibility API service call. + + :param visible: Private Link Service Visibility (True/False). + :type visible: bool + """ + + _attribute_map = { + 'visible': {'key': 'visible', 'type': 'bool'}, + } + + def __init__(self, *, visible: bool=None, **kwargs) -> None: + super(PrivateLinkServiceVisibility, self).__init__(**kwargs) + self.visible = visible + + +class Probe(SubResource): + """A load balancer probe. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :ivar load_balancing_rules: The load balancer rules that use this probe. + :vartype load_balancing_rules: + list[~azure.mgmt.network.v2020_05_01.models.SubResource] + :param protocol: Required. The protocol of the end point. If 'Tcp' is + specified, a received ACK is required for the probe to be successful. If + 'Http' or 'Https' is specified, a 200 OK response from the specifies URI + is required for the probe to be successful. Possible values include: + 'Http', 'Tcp', 'Https' + :type protocol: str or + ~azure.mgmt.network.v2020_05_01.models.ProbeProtocol + :param port: Required. The port for communicating the probe. Possible + values range from 1 to 65535, inclusive. + :type port: int + :param interval_in_seconds: The interval, in seconds, for how frequently + to probe the endpoint for health status. Typically, the interval is + slightly less than half the allocated timeout period (in seconds) which + allows two full probes before taking the instance out of rotation. The + default value is 15, the minimum value is 5. + :type interval_in_seconds: int + :param number_of_probes: The number of probes where if no response, will + result in stopping further traffic from being delivered to the endpoint. + This values allows endpoints to be taken out of rotation faster or slower + than the typical times used in Azure. + :type number_of_probes: int + :param request_path: The URI used for requesting health status from the + VM. Path is required if a protocol is set to http. Otherwise, it is not + allowed. There is no default value. + :type request_path: str + :ivar provisioning_state: The provisioning state of the probe resource. + Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: The name of the resource that is unique within the set of + probes used by the load balancer. This name can be used to access the + resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'load_balancing_rules': {'readonly': True}, + 'protocol': {'required': True}, + 'port': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'load_balancing_rules': {'key': 'properties.loadBalancingRules', 'type': '[SubResource]'}, + 'protocol': {'key': 'properties.protocol', 'type': 'str'}, + 'port': {'key': 'properties.port', 'type': 'int'}, + 'interval_in_seconds': {'key': 'properties.intervalInSeconds', 'type': 'int'}, + 'number_of_probes': {'key': 'properties.numberOfProbes', 'type': 'int'}, + 'request_path': {'key': 'properties.requestPath', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, protocol, port: int, id: str=None, interval_in_seconds: int=None, number_of_probes: int=None, request_path: str=None, name: str=None, **kwargs) -> None: + super(Probe, self).__init__(id=id, **kwargs) + self.load_balancing_rules = None + self.protocol = protocol + self.port = port + self.interval_in_seconds = interval_in_seconds + self.number_of_probes = number_of_probes + self.request_path = request_path + self.provisioning_state = None + self.name = name + self.etag = None + self.type = None + + +class PropagatedRouteTable(Model): + """The list of RouteTables to advertise the routes to. + + :param labels: The list of labels. + :type labels: list[str] + :param ids: The list of resource ids of all the RouteTables. + :type ids: list[~azure.mgmt.network.v2020_05_01.models.SubResource] + """ + + _attribute_map = { + 'labels': {'key': 'labels', 'type': '[str]'}, + 'ids': {'key': 'ids', 'type': '[SubResource]'}, + } + + def __init__(self, *, labels=None, ids=None, **kwargs) -> None: + super(PropagatedRouteTable, self).__init__(**kwargs) + self.labels = labels + self.ids = ids + + +class ProtocolConfiguration(Model): + """Configuration of the protocol. + + :param http_configuration: HTTP configuration of the connectivity check. + :type http_configuration: + ~azure.mgmt.network.v2020_05_01.models.HTTPConfiguration + """ + + _attribute_map = { + 'http_configuration': {'key': 'HTTPConfiguration', 'type': 'HTTPConfiguration'}, + } + + def __init__(self, *, http_configuration=None, **kwargs) -> None: + super(ProtocolConfiguration, self).__init__(**kwargs) + self.http_configuration = http_configuration + + +class ProtocolCustomSettingsFormat(Model): + """DDoS custom policy properties. + + :param protocol: The protocol for which the DDoS protection policy is + being customized. Possible values include: 'Tcp', 'Udp', 'Syn' + :type protocol: str or + ~azure.mgmt.network.v2020_05_01.models.DdosCustomPolicyProtocol + :param trigger_rate_override: The customized DDoS protection trigger rate. + :type trigger_rate_override: str + :param source_rate_override: The customized DDoS protection source rate. + :type source_rate_override: str + :param trigger_sensitivity_override: The customized DDoS protection + trigger rate sensitivity degrees. High: Trigger rate set with most + sensitivity w.r.t. normal traffic. Default: Trigger rate set with moderate + sensitivity w.r.t. normal traffic. Low: Trigger rate set with less + sensitivity w.r.t. normal traffic. Relaxed: Trigger rate set with least + sensitivity w.r.t. normal traffic. Possible values include: 'Relaxed', + 'Low', 'Default', 'High' + :type trigger_sensitivity_override: str or + ~azure.mgmt.network.v2020_05_01.models.DdosCustomPolicyTriggerSensitivityOverride + """ + + _attribute_map = { + 'protocol': {'key': 'protocol', 'type': 'str'}, + 'trigger_rate_override': {'key': 'triggerRateOverride', 'type': 'str'}, + 'source_rate_override': {'key': 'sourceRateOverride', 'type': 'str'}, + 'trigger_sensitivity_override': {'key': 'triggerSensitivityOverride', 'type': 'str'}, + } + + def __init__(self, *, protocol=None, trigger_rate_override: str=None, source_rate_override: str=None, trigger_sensitivity_override=None, **kwargs) -> None: + super(ProtocolCustomSettingsFormat, self).__init__(**kwargs) + self.protocol = protocol + self.trigger_rate_override = trigger_rate_override + self.source_rate_override = source_rate_override + self.trigger_sensitivity_override = trigger_sensitivity_override + + +class PublicIPAddress(Resource): + """Public IP address resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param sku: The public IP address SKU. + :type sku: ~azure.mgmt.network.v2020_05_01.models.PublicIPAddressSku + :param public_ip_allocation_method: The public IP address allocation + method. Possible values include: 'Static', 'Dynamic' + :type public_ip_allocation_method: str or + ~azure.mgmt.network.v2020_05_01.models.IPAllocationMethod + :param public_ip_address_version: The public IP address version. Possible + values include: 'IPv4', 'IPv6' + :type public_ip_address_version: str or + ~azure.mgmt.network.v2020_05_01.models.IPVersion + :ivar ip_configuration: The IP configuration associated with the public IP + address. + :vartype ip_configuration: + ~azure.mgmt.network.v2020_05_01.models.IPConfiguration + :param dns_settings: The FQDN of the DNS record associated with the public + IP address. + :type dns_settings: + ~azure.mgmt.network.v2020_05_01.models.PublicIPAddressDnsSettings + :param ddos_settings: The DDoS protection custom policy associated with + the public IP address. + :type ddos_settings: ~azure.mgmt.network.v2020_05_01.models.DdosSettings + :param ip_tags: The list of tags associated with the public IP address. + :type ip_tags: list[~azure.mgmt.network.v2020_05_01.models.IpTag] + :param ip_address: The IP address associated with the public IP address + resource. + :type ip_address: str + :param public_ip_prefix: The Public IP Prefix this Public IP Address + should be allocated from. + :type public_ip_prefix: ~azure.mgmt.network.v2020_05_01.models.SubResource + :param idle_timeout_in_minutes: The idle timeout of the public IP address. + :type idle_timeout_in_minutes: int + :ivar resource_guid: The resource GUID property of the public IP address + resource. + :vartype resource_guid: str + :ivar provisioning_state: The provisioning state of the public IP address + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :param zones: A list of availability zones denoting the IP allocated for + the resource needs to come from. + :type zones: list[str] + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'ip_configuration': {'readonly': True}, + 'resource_guid': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'sku': {'key': 'sku', 'type': 'PublicIPAddressSku'}, + 'public_ip_allocation_method': {'key': 'properties.publicIPAllocationMethod', 'type': 'str'}, + 'public_ip_address_version': {'key': 'properties.publicIPAddressVersion', 'type': 'str'}, + 'ip_configuration': {'key': 'properties.ipConfiguration', 'type': 'IPConfiguration'}, + 'dns_settings': {'key': 'properties.dnsSettings', 'type': 'PublicIPAddressDnsSettings'}, + 'ddos_settings': {'key': 'properties.ddosSettings', 'type': 'DdosSettings'}, + 'ip_tags': {'key': 'properties.ipTags', 'type': '[IpTag]'}, + 'ip_address': {'key': 'properties.ipAddress', 'type': 'str'}, + 'public_ip_prefix': {'key': 'properties.publicIPPrefix', 'type': 'SubResource'}, + 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'zones': {'key': 'zones', 'type': '[str]'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, sku=None, public_ip_allocation_method=None, public_ip_address_version=None, dns_settings=None, ddos_settings=None, ip_tags=None, ip_address: str=None, public_ip_prefix=None, idle_timeout_in_minutes: int=None, zones=None, **kwargs) -> None: + super(PublicIPAddress, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.sku = sku + self.public_ip_allocation_method = public_ip_allocation_method + self.public_ip_address_version = public_ip_address_version + self.ip_configuration = None + self.dns_settings = dns_settings + self.ddos_settings = ddos_settings + self.ip_tags = ip_tags + self.ip_address = ip_address + self.public_ip_prefix = public_ip_prefix + self.idle_timeout_in_minutes = idle_timeout_in_minutes + self.resource_guid = None + self.provisioning_state = None + self.etag = None + self.zones = zones + + +class PublicIPAddressDnsSettings(Model): + """Contains FQDN of the DNS record associated with the public IP address. + + :param domain_name_label: The domain name label. The concatenation of the + domain name label and the regionalized DNS zone make up the fully + qualified domain name associated with the public IP address. If a domain + name label is specified, an A DNS record is created for the public IP in + the Microsoft Azure DNS system. + :type domain_name_label: str + :param fqdn: The Fully Qualified Domain Name of the A DNS record + associated with the public IP. This is the concatenation of the + domainNameLabel and the regionalized DNS zone. + :type fqdn: str + :param reverse_fqdn: The reverse FQDN. A user-visible, fully qualified + domain name that resolves to this public IP address. If the reverseFqdn is + specified, then a PTR DNS record is created pointing from the IP address + in the in-addr.arpa domain to the reverse FQDN. + :type reverse_fqdn: str + """ + + _attribute_map = { + 'domain_name_label': {'key': 'domainNameLabel', 'type': 'str'}, + 'fqdn': {'key': 'fqdn', 'type': 'str'}, + 'reverse_fqdn': {'key': 'reverseFqdn', 'type': 'str'}, + } + + def __init__(self, *, domain_name_label: str=None, fqdn: str=None, reverse_fqdn: str=None, **kwargs) -> None: + super(PublicIPAddressDnsSettings, self).__init__(**kwargs) + self.domain_name_label = domain_name_label + self.fqdn = fqdn + self.reverse_fqdn = reverse_fqdn + + +class PublicIPAddressSku(Model): + """SKU of a public IP address. + + :param name: Name of a public IP address SKU. Possible values include: + 'Basic', 'Standard' + :type name: str or + ~azure.mgmt.network.v2020_05_01.models.PublicIPAddressSkuName + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, *, name=None, **kwargs) -> None: + super(PublicIPAddressSku, self).__init__(**kwargs) + self.name = name + + +class PublicIPPrefix(Resource): + """Public IP prefix resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param sku: The public IP prefix SKU. + :type sku: ~azure.mgmt.network.v2020_05_01.models.PublicIPPrefixSku + :param public_ip_address_version: The public IP address version. Possible + values include: 'IPv4', 'IPv6' + :type public_ip_address_version: str or + ~azure.mgmt.network.v2020_05_01.models.IPVersion + :param ip_tags: The list of tags associated with the public IP prefix. + :type ip_tags: list[~azure.mgmt.network.v2020_05_01.models.IpTag] + :param prefix_length: The Length of the Public IP Prefix. + :type prefix_length: int + :ivar ip_prefix: The allocated Prefix. + :vartype ip_prefix: str + :ivar public_ip_addresses: The list of all referenced PublicIPAddresses. + :vartype public_ip_addresses: + list[~azure.mgmt.network.v2020_05_01.models.ReferencedPublicIpAddress] + :ivar load_balancer_frontend_ip_configuration: The reference to load + balancer frontend IP configuration associated with the public IP prefix. + :vartype load_balancer_frontend_ip_configuration: + ~azure.mgmt.network.v2020_05_01.models.SubResource + :ivar resource_guid: The resource GUID property of the public IP prefix + resource. + :vartype resource_guid: str + :ivar provisioning_state: The provisioning state of the public IP prefix + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :param zones: A list of availability zones denoting the IP allocated for + the resource needs to come from. + :type zones: list[str] + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'ip_prefix': {'readonly': True}, + 'public_ip_addresses': {'readonly': True}, + 'load_balancer_frontend_ip_configuration': {'readonly': True}, + 'resource_guid': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'sku': {'key': 'sku', 'type': 'PublicIPPrefixSku'}, + 'public_ip_address_version': {'key': 'properties.publicIPAddressVersion', 'type': 'str'}, + 'ip_tags': {'key': 'properties.ipTags', 'type': '[IpTag]'}, + 'prefix_length': {'key': 'properties.prefixLength', 'type': 'int'}, + 'ip_prefix': {'key': 'properties.ipPrefix', 'type': 'str'}, + 'public_ip_addresses': {'key': 'properties.publicIPAddresses', 'type': '[ReferencedPublicIpAddress]'}, + 'load_balancer_frontend_ip_configuration': {'key': 'properties.loadBalancerFrontendIpConfiguration', 'type': 'SubResource'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'zones': {'key': 'zones', 'type': '[str]'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, sku=None, public_ip_address_version=None, ip_tags=None, prefix_length: int=None, zones=None, **kwargs) -> None: + super(PublicIPPrefix, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.sku = sku + self.public_ip_address_version = public_ip_address_version + self.ip_tags = ip_tags + self.prefix_length = prefix_length + self.ip_prefix = None + self.public_ip_addresses = None + self.load_balancer_frontend_ip_configuration = None + self.resource_guid = None + self.provisioning_state = None + self.etag = None + self.zones = zones + + +class PublicIPPrefixSku(Model): + """SKU of a public IP prefix. + + :param name: Name of a public IP prefix SKU. Possible values include: + 'Standard' + :type name: str or + ~azure.mgmt.network.v2020_05_01.models.PublicIPPrefixSkuName + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, *, name=None, **kwargs) -> None: + super(PublicIPPrefixSku, self).__init__(**kwargs) + self.name = name + + +class QueryTroubleshootingParameters(Model): + """Parameters that define the resource to query the troubleshooting result. + + All required parameters must be populated in order to send to Azure. + + :param target_resource_id: Required. The target resource ID to query the + troubleshooting result. + :type target_resource_id: str + """ + + _validation = { + 'target_resource_id': {'required': True}, + } + + _attribute_map = { + 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, + } + + def __init__(self, *, target_resource_id: str, **kwargs) -> None: + super(QueryTroubleshootingParameters, self).__init__(**kwargs) + self.target_resource_id = target_resource_id + + +class RadiusServer(Model): + """Radius Server Settings. + + All required parameters must be populated in order to send to Azure. + + :param radius_server_address: Required. The address of this radius server. + :type radius_server_address: str + :param radius_server_score: The initial score assigned to this radius + server. + :type radius_server_score: long + :param radius_server_secret: The secret used for this radius server. + :type radius_server_secret: str + """ + + _validation = { + 'radius_server_address': {'required': True}, + } + + _attribute_map = { + 'radius_server_address': {'key': 'radiusServerAddress', 'type': 'str'}, + 'radius_server_score': {'key': 'radiusServerScore', 'type': 'long'}, + 'radius_server_secret': {'key': 'radiusServerSecret', 'type': 'str'}, + } + + def __init__(self, *, radius_server_address: str, radius_server_score: int=None, radius_server_secret: str=None, **kwargs) -> None: + super(RadiusServer, self).__init__(**kwargs) + self.radius_server_address = radius_server_address + self.radius_server_score = radius_server_score + self.radius_server_secret = radius_server_secret + + +class RecordSet(Model): + """A collective group of information about the record set information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param record_type: Resource record type. + :type record_type: str + :param record_set_name: Recordset name. + :type record_set_name: str + :param fqdn: Fqdn that resolves to private endpoint ip address. + :type fqdn: str + :ivar provisioning_state: The provisioning state of the recordset. + Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param ttl: Recordset time to live. + :type ttl: int + :param ip_addresses: The private ip address of the private endpoint. + :type ip_addresses: list[str] + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'record_type': {'key': 'recordType', 'type': 'str'}, + 'record_set_name': {'key': 'recordSetName', 'type': 'str'}, + 'fqdn': {'key': 'fqdn', 'type': 'str'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'ttl': {'key': 'ttl', 'type': 'int'}, + 'ip_addresses': {'key': 'ipAddresses', 'type': '[str]'}, + } + + def __init__(self, *, record_type: str=None, record_set_name: str=None, fqdn: str=None, ttl: int=None, ip_addresses=None, **kwargs) -> None: + super(RecordSet, self).__init__(**kwargs) + self.record_type = record_type + self.record_set_name = record_set_name + self.fqdn = fqdn + self.provisioning_state = None + self.ttl = ttl + self.ip_addresses = ip_addresses + + +class ReferencedPublicIpAddress(Model): + """Reference to a public IP address. + + :param id: The PublicIPAddress Reference. + :type id: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, **kwargs) -> None: + super(ReferencedPublicIpAddress, self).__init__(**kwargs) + self.id = id + + +class ResourceNavigationLink(SubResource): + """ResourceNavigationLink resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param linked_resource_type: Resource type of the linked resource. + :type linked_resource_type: str + :param link: Link to the external resource. + :type link: str + :ivar provisioning_state: The provisioning state of the resource + navigation link resource. Possible values include: 'Succeeded', + 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: Name of the resource that is unique within a resource group. + This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Resource type. + :vartype type: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'linked_resource_type': {'key': 'properties.linkedResourceType', 'type': 'str'}, + 'link': {'key': 'properties.link', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, linked_resource_type: str=None, link: str=None, name: str=None, **kwargs) -> None: + super(ResourceNavigationLink, self).__init__(id=id, **kwargs) + self.linked_resource_type = linked_resource_type + self.link = link + self.provisioning_state = None + self.name = name + self.etag = None + self.type = None + + +class ResourceNavigationLinksListResult(Model): + """Response for ResourceNavigationLinks_List operation. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param value: The resource navigation links in a subnet. + :type value: + list[~azure.mgmt.network.v2020_05_01.models.ResourceNavigationLink] + :ivar next_link: The URL to get the next set of results. + :vartype next_link: str + """ + + _validation = { + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ResourceNavigationLink]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, *, value=None, **kwargs) -> None: + super(ResourceNavigationLinksListResult, self).__init__(**kwargs) + self.value = value + self.next_link = None + + +class RetentionPolicyParameters(Model): + """Parameters that define the retention policy for flow log. + + :param days: Number of days to retain flow log records. Default value: 0 . + :type days: int + :param enabled: Flag to enable/disable retention. Default value: False . + :type enabled: bool + """ + + _attribute_map = { + 'days': {'key': 'days', 'type': 'int'}, + 'enabled': {'key': 'enabled', 'type': 'bool'}, + } + + def __init__(self, *, days: int=0, enabled: bool=False, **kwargs) -> None: + super(RetentionPolicyParameters, self).__init__(**kwargs) + self.days = days + self.enabled = enabled + + +class Route(SubResource): + """Route resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :param address_prefix: The destination CIDR to which the route applies. + :type address_prefix: str + :param next_hop_type: Required. The type of Azure hop the packet should be + sent to. Possible values include: 'VirtualNetworkGateway', 'VnetLocal', + 'Internet', 'VirtualAppliance', 'None' + :type next_hop_type: str or + ~azure.mgmt.network.v2020_05_01.models.RouteNextHopType + :param next_hop_ip_address: The IP address packets should be forwarded to. + Next hop values are only allowed in routes where the next hop type is + VirtualAppliance. + :type next_hop_ip_address: str + :ivar provisioning_state: The provisioning state of the route resource. + Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'next_hop_type': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'address_prefix': {'key': 'properties.addressPrefix', 'type': 'str'}, + 'next_hop_type': {'key': 'properties.nextHopType', 'type': 'str'}, + 'next_hop_ip_address': {'key': 'properties.nextHopIpAddress', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, next_hop_type, id: str=None, address_prefix: str=None, next_hop_ip_address: str=None, name: str=None, **kwargs) -> None: + super(Route, self).__init__(id=id, **kwargs) + self.address_prefix = address_prefix + self.next_hop_type = next_hop_type + self.next_hop_ip_address = next_hop_ip_address + self.provisioning_state = None + self.name = name + self.etag = None + + +class RouteFilter(Resource): + """Route Filter Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param rules: Collection of RouteFilterRules contained within a route + filter. + :type rules: list[~azure.mgmt.network.v2020_05_01.models.RouteFilterRule] + :ivar peerings: A collection of references to express route circuit + peerings. + :vartype peerings: + list[~azure.mgmt.network.v2020_05_01.models.ExpressRouteCircuitPeering] + :ivar ipv6_peerings: A collection of references to express route circuit + ipv6 peerings. + :vartype ipv6_peerings: + list[~azure.mgmt.network.v2020_05_01.models.ExpressRouteCircuitPeering] + :ivar provisioning_state: The provisioning state of the route filter + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'peerings': {'readonly': True}, + 'ipv6_peerings': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'rules': {'key': 'properties.rules', 'type': '[RouteFilterRule]'}, + 'peerings': {'key': 'properties.peerings', 'type': '[ExpressRouteCircuitPeering]'}, + 'ipv6_peerings': {'key': 'properties.ipv6Peerings', 'type': '[ExpressRouteCircuitPeering]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, rules=None, **kwargs) -> None: + super(RouteFilter, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.rules = rules + self.peerings = None + self.ipv6_peerings = None + self.provisioning_state = None + self.etag = None + + +class RouteFilterRule(SubResource): + """Route Filter Rule Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :param access: Required. The access type of the rule. Possible values + include: 'Allow', 'Deny' + :type access: str or ~azure.mgmt.network.v2020_05_01.models.Access + :ivar route_filter_rule_type: Required. The rule type of the rule. Default + value: "Community" . + :vartype route_filter_rule_type: str + :param communities: Required. The collection for bgp community values to + filter on. e.g. ['12076:5010','12076:5020']. + :type communities: list[str] + :ivar provisioning_state: The provisioning state of the route filter rule + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :param location: Resource location. + :type location: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'access': {'required': True}, + 'route_filter_rule_type': {'required': True, 'constant': True}, + 'communities': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'access': {'key': 'properties.access', 'type': 'str'}, + 'route_filter_rule_type': {'key': 'properties.routeFilterRuleType', 'type': 'str'}, + 'communities': {'key': 'properties.communities', 'type': '[str]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + route_filter_rule_type = "Community" + + def __init__(self, *, access, communities, id: str=None, name: str=None, location: str=None, **kwargs) -> None: + super(RouteFilterRule, self).__init__(id=id, **kwargs) + self.access = access + self.communities = communities + self.provisioning_state = None + self.name = name + self.location = location + self.etag = None + + +class RouteTable(Resource): + """Route table resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param routes: Collection of routes contained within a route table. + :type routes: list[~azure.mgmt.network.v2020_05_01.models.Route] + :ivar subnets: A collection of references to subnets. + :vartype subnets: list[~azure.mgmt.network.v2020_05_01.models.Subnet] + :param disable_bgp_route_propagation: Whether to disable the routes + learned by BGP on that route table. True means disable. + :type disable_bgp_route_propagation: bool + :ivar provisioning_state: The provisioning state of the route table + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'subnets': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'routes': {'key': 'properties.routes', 'type': '[Route]'}, + 'subnets': {'key': 'properties.subnets', 'type': '[Subnet]'}, + 'disable_bgp_route_propagation': {'key': 'properties.disableBgpRoutePropagation', 'type': 'bool'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, routes=None, disable_bgp_route_propagation: bool=None, **kwargs) -> None: + super(RouteTable, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.routes = routes + self.subnets = None + self.disable_bgp_route_propagation = disable_bgp_route_propagation + self.provisioning_state = None + self.etag = None + + +class RoutingConfiguration(Model): + """Routing Configuration indicating the associated and propagated route tables + for this connection. + + :param associated_route_table: The resource id RouteTable associated with + this RoutingConfiguration. + :type associated_route_table: + ~azure.mgmt.network.v2020_05_01.models.SubResource + :param propagated_route_tables: The list of RouteTables to advertise the + routes to. + :type propagated_route_tables: + ~azure.mgmt.network.v2020_05_01.models.PropagatedRouteTable + :param vnet_routes: List of routes that control routing from VirtualHub + into a virtual network connection. + :type vnet_routes: ~azure.mgmt.network.v2020_05_01.models.VnetRoute + """ + + _attribute_map = { + 'associated_route_table': {'key': 'associatedRouteTable', 'type': 'SubResource'}, + 'propagated_route_tables': {'key': 'propagatedRouteTables', 'type': 'PropagatedRouteTable'}, + 'vnet_routes': {'key': 'vnetRoutes', 'type': 'VnetRoute'}, + } + + def __init__(self, *, associated_route_table=None, propagated_route_tables=None, vnet_routes=None, **kwargs) -> None: + super(RoutingConfiguration, self).__init__(**kwargs) + self.associated_route_table = associated_route_table + self.propagated_route_tables = propagated_route_tables + self.vnet_routes = vnet_routes + + +class SecurityGroupNetworkInterface(Model): + """Network interface and all its associated security rules. + + :param id: ID of the network interface. + :type id: str + :param security_rule_associations: All security rules associated with the + network interface. + :type security_rule_associations: + ~azure.mgmt.network.v2020_05_01.models.SecurityRuleAssociations + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'security_rule_associations': {'key': 'securityRuleAssociations', 'type': 'SecurityRuleAssociations'}, + } + + def __init__(self, *, id: str=None, security_rule_associations=None, **kwargs) -> None: + super(SecurityGroupNetworkInterface, self).__init__(**kwargs) + self.id = id + self.security_rule_associations = security_rule_associations + + +class SecurityGroupViewParameters(Model): + """Parameters that define the VM to check security groups for. + + All required parameters must be populated in order to send to Azure. + + :param target_resource_id: Required. ID of the target VM. + :type target_resource_id: str + """ + + _validation = { + 'target_resource_id': {'required': True}, + } + + _attribute_map = { + 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, + } + + def __init__(self, *, target_resource_id: str, **kwargs) -> None: + super(SecurityGroupViewParameters, self).__init__(**kwargs) + self.target_resource_id = target_resource_id + + +class SecurityGroupViewResult(Model): + """The information about security rules applied to the specified VM. + + :param network_interfaces: List of network interfaces on the specified VM. + :type network_interfaces: + list[~azure.mgmt.network.v2020_05_01.models.SecurityGroupNetworkInterface] + """ + + _attribute_map = { + 'network_interfaces': {'key': 'networkInterfaces', 'type': '[SecurityGroupNetworkInterface]'}, + } + + def __init__(self, *, network_interfaces=None, **kwargs) -> None: + super(SecurityGroupViewResult, self).__init__(**kwargs) + self.network_interfaces = network_interfaces + + +class SecurityPartnerProvider(Resource): + """Security Partner Provider resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar provisioning_state: The provisioning state of the Security Partner + Provider resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param security_provider_name: The security provider name. Possible values + include: 'ZScaler', 'IBoss', 'Checkpoint' + :type security_provider_name: str or + ~azure.mgmt.network.v2020_05_01.models.SecurityProviderName + :ivar connection_status: The connection status with the Security Partner + Provider. Possible values include: 'Unknown', 'PartiallyConnected', + 'Connected', 'NotConnected' + :vartype connection_status: str or + ~azure.mgmt.network.v2020_05_01.models.SecurityPartnerProviderConnectionStatus + :param virtual_hub: The virtualHub to which the Security Partner Provider + belongs. + :type virtual_hub: ~azure.mgmt.network.v2020_05_01.models.SubResource + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'connection_status': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'security_provider_name': {'key': 'properties.securityProviderName', 'type': 'str'}, + 'connection_status': {'key': 'properties.connectionStatus', 'type': 'str'}, + 'virtual_hub': {'key': 'properties.virtualHub', 'type': 'SubResource'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, security_provider_name=None, virtual_hub=None, **kwargs) -> None: + super(SecurityPartnerProvider, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.provisioning_state = None + self.security_provider_name = security_provider_name + self.connection_status = None + self.virtual_hub = virtual_hub + self.etag = None + + +class SecurityRule(SubResource): + """Network security rule. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :param description: A description for this rule. Restricted to 140 chars. + :type description: str + :param protocol: Required. Network protocol this rule applies to. Possible + values include: 'Tcp', 'Udp', 'Icmp', 'Esp', '*', 'Ah' + :type protocol: str or + ~azure.mgmt.network.v2020_05_01.models.SecurityRuleProtocol + :param source_port_range: The source port or range. Integer or range + between 0 and 65535. Asterisk '*' can also be used to match all ports. + :type source_port_range: str + :param destination_port_range: The destination port or range. Integer or + range between 0 and 65535. Asterisk '*' can also be used to match all + ports. + :type destination_port_range: str + :param source_address_prefix: The CIDR or source IP range. Asterisk '*' + can also be used to match all source IPs. Default tags such as + 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. If + this is an ingress rule, specifies where network traffic originates from. + :type source_address_prefix: str + :param source_address_prefixes: The CIDR or source IP ranges. + :type source_address_prefixes: list[str] + :param source_application_security_groups: The application security group + specified as source. + :type source_application_security_groups: + list[~azure.mgmt.network.v2020_05_01.models.ApplicationSecurityGroup] + :param destination_address_prefix: The destination address prefix. CIDR or + destination IP range. Asterisk '*' can also be used to match all source + IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and + 'Internet' can also be used. + :type destination_address_prefix: str + :param destination_address_prefixes: The destination address prefixes. + CIDR or destination IP ranges. + :type destination_address_prefixes: list[str] + :param destination_application_security_groups: The application security + group specified as destination. + :type destination_application_security_groups: + list[~azure.mgmt.network.v2020_05_01.models.ApplicationSecurityGroup] + :param source_port_ranges: The source port ranges. + :type source_port_ranges: list[str] + :param destination_port_ranges: The destination port ranges. + :type destination_port_ranges: list[str] + :param access: Required. The network traffic is allowed or denied. + Possible values include: 'Allow', 'Deny' + :type access: str or + ~azure.mgmt.network.v2020_05_01.models.SecurityRuleAccess + :param priority: The priority of the rule. The value can be between 100 + and 4096. The priority number must be unique for each rule in the + collection. The lower the priority number, the higher the priority of the + rule. + :type priority: int + :param direction: Required. The direction of the rule. The direction + specifies if rule will be evaluated on incoming or outgoing traffic. + Possible values include: 'Inbound', 'Outbound' + :type direction: str or + ~azure.mgmt.network.v2020_05_01.models.SecurityRuleDirection + :ivar provisioning_state: The provisioning state of the security rule + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'protocol': {'required': True}, + 'access': {'required': True}, + 'direction': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'protocol': {'key': 'properties.protocol', 'type': 'str'}, + 'source_port_range': {'key': 'properties.sourcePortRange', 'type': 'str'}, + 'destination_port_range': {'key': 'properties.destinationPortRange', 'type': 'str'}, + 'source_address_prefix': {'key': 'properties.sourceAddressPrefix', 'type': 'str'}, + 'source_address_prefixes': {'key': 'properties.sourceAddressPrefixes', 'type': '[str]'}, + 'source_application_security_groups': {'key': 'properties.sourceApplicationSecurityGroups', 'type': '[ApplicationSecurityGroup]'}, + 'destination_address_prefix': {'key': 'properties.destinationAddressPrefix', 'type': 'str'}, + 'destination_address_prefixes': {'key': 'properties.destinationAddressPrefixes', 'type': '[str]'}, + 'destination_application_security_groups': {'key': 'properties.destinationApplicationSecurityGroups', 'type': '[ApplicationSecurityGroup]'}, + 'source_port_ranges': {'key': 'properties.sourcePortRanges', 'type': '[str]'}, + 'destination_port_ranges': {'key': 'properties.destinationPortRanges', 'type': '[str]'}, + 'access': {'key': 'properties.access', 'type': 'str'}, + 'priority': {'key': 'properties.priority', 'type': 'int'}, + 'direction': {'key': 'properties.direction', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, protocol, access, direction, id: str=None, description: str=None, source_port_range: str=None, destination_port_range: str=None, source_address_prefix: str=None, source_address_prefixes=None, source_application_security_groups=None, destination_address_prefix: str=None, destination_address_prefixes=None, destination_application_security_groups=None, source_port_ranges=None, destination_port_ranges=None, priority: int=None, name: str=None, **kwargs) -> None: + super(SecurityRule, self).__init__(id=id, **kwargs) + self.description = description + self.protocol = protocol + self.source_port_range = source_port_range + self.destination_port_range = destination_port_range + self.source_address_prefix = source_address_prefix + self.source_address_prefixes = source_address_prefixes + self.source_application_security_groups = source_application_security_groups + self.destination_address_prefix = destination_address_prefix + self.destination_address_prefixes = destination_address_prefixes + self.destination_application_security_groups = destination_application_security_groups + self.source_port_ranges = source_port_ranges + self.destination_port_ranges = destination_port_ranges + self.access = access + self.priority = priority + self.direction = direction + self.provisioning_state = None + self.name = name + self.etag = None + + +class SecurityRuleAssociations(Model): + """All security rules associated with the network interface. + + :param network_interface_association: Network interface and it's custom + security rules. + :type network_interface_association: + ~azure.mgmt.network.v2020_05_01.models.NetworkInterfaceAssociation + :param subnet_association: Subnet and it's custom security rules. + :type subnet_association: + ~azure.mgmt.network.v2020_05_01.models.SubnetAssociation + :param default_security_rules: Collection of default security rules of the + network security group. + :type default_security_rules: + list[~azure.mgmt.network.v2020_05_01.models.SecurityRule] + :param effective_security_rules: Collection of effective security rules. + :type effective_security_rules: + list[~azure.mgmt.network.v2020_05_01.models.EffectiveNetworkSecurityRule] + """ + + _attribute_map = { + 'network_interface_association': {'key': 'networkInterfaceAssociation', 'type': 'NetworkInterfaceAssociation'}, + 'subnet_association': {'key': 'subnetAssociation', 'type': 'SubnetAssociation'}, + 'default_security_rules': {'key': 'defaultSecurityRules', 'type': '[SecurityRule]'}, + 'effective_security_rules': {'key': 'effectiveSecurityRules', 'type': '[EffectiveNetworkSecurityRule]'}, + } + + def __init__(self, *, network_interface_association=None, subnet_association=None, default_security_rules=None, effective_security_rules=None, **kwargs) -> None: + super(SecurityRuleAssociations, self).__init__(**kwargs) + self.network_interface_association = network_interface_association + self.subnet_association = subnet_association + self.default_security_rules = default_security_rules + self.effective_security_rules = effective_security_rules + + +class ServiceAssociationLink(SubResource): + """ServiceAssociationLink resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param linked_resource_type: Resource type of the linked resource. + :type linked_resource_type: str + :param link: Link to the external resource. + :type link: str + :ivar provisioning_state: The provisioning state of the service + association link resource. Possible values include: 'Succeeded', + 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param allow_delete: If true, the resource can be deleted. + :type allow_delete: bool + :param locations: A list of locations. + :type locations: list[str] + :param name: Name of the resource that is unique within a resource group. + This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Resource type. + :vartype type: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'linked_resource_type': {'key': 'properties.linkedResourceType', 'type': 'str'}, + 'link': {'key': 'properties.link', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'allow_delete': {'key': 'properties.allowDelete', 'type': 'bool'}, + 'locations': {'key': 'properties.locations', 'type': '[str]'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, linked_resource_type: str=None, link: str=None, allow_delete: bool=None, locations=None, name: str=None, **kwargs) -> None: + super(ServiceAssociationLink, self).__init__(id=id, **kwargs) + self.linked_resource_type = linked_resource_type + self.link = link + self.provisioning_state = None + self.allow_delete = allow_delete + self.locations = locations + self.name = name + self.etag = None + self.type = None + + +class ServiceAssociationLinksListResult(Model): + """Response for ServiceAssociationLinks_List operation. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param value: The service association links in a subnet. + :type value: + list[~azure.mgmt.network.v2020_05_01.models.ServiceAssociationLink] + :ivar next_link: The URL to get the next set of results. + :vartype next_link: str + """ + + _validation = { + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ServiceAssociationLink]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, *, value=None, **kwargs) -> None: + super(ServiceAssociationLinksListResult, self).__init__(**kwargs) + self.value = value + self.next_link = None + + +class ServiceEndpointPolicy(Resource): + """Service End point policy resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param service_endpoint_policy_definitions: A collection of service + endpoint policy definitions of the service endpoint policy. + :type service_endpoint_policy_definitions: + list[~azure.mgmt.network.v2020_05_01.models.ServiceEndpointPolicyDefinition] + :ivar subnets: A collection of references to subnets. + :vartype subnets: list[~azure.mgmt.network.v2020_05_01.models.Subnet] + :ivar resource_guid: The resource GUID property of the service endpoint + policy resource. + :vartype resource_guid: str + :ivar provisioning_state: The provisioning state of the service endpoint + policy resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'subnets': {'readonly': True}, + 'resource_guid': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'service_endpoint_policy_definitions': {'key': 'properties.serviceEndpointPolicyDefinitions', 'type': '[ServiceEndpointPolicyDefinition]'}, + 'subnets': {'key': 'properties.subnets', 'type': '[Subnet]'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, service_endpoint_policy_definitions=None, **kwargs) -> None: + super(ServiceEndpointPolicy, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.service_endpoint_policy_definitions = service_endpoint_policy_definitions + self.subnets = None + self.resource_guid = None + self.provisioning_state = None + self.etag = None + + +class ServiceEndpointPolicyDefinition(SubResource): + """Service Endpoint policy definitions. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param description: A description for this rule. Restricted to 140 chars. + :type description: str + :param service: Service endpoint name. + :type service: str + :param service_resources: A list of service resources. + :type service_resources: list[str] + :ivar provisioning_state: The provisioning state of the service endpoint + policy definition resource. Possible values include: 'Succeeded', + 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'service': {'key': 'properties.service', 'type': 'str'}, + 'service_resources': {'key': 'properties.serviceResources', 'type': '[str]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, description: str=None, service: str=None, service_resources=None, name: str=None, **kwargs) -> None: + super(ServiceEndpointPolicyDefinition, self).__init__(id=id, **kwargs) + self.description = description + self.service = service + self.service_resources = service_resources + self.provisioning_state = None + self.name = name + self.etag = None + + +class ServiceEndpointPropertiesFormat(Model): + """The service endpoint properties. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param service: The type of the endpoint service. + :type service: str + :param locations: A list of locations. + :type locations: list[str] + :ivar provisioning_state: The provisioning state of the service endpoint + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'service': {'key': 'service', 'type': 'str'}, + 'locations': {'key': 'locations', 'type': '[str]'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + } + + def __init__(self, *, service: str=None, locations=None, **kwargs) -> None: + super(ServiceEndpointPropertiesFormat, self).__init__(**kwargs) + self.service = service + self.locations = locations + self.provisioning_state = None + + +class ServiceTagInformation(Model): + """The service tag information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar properties: Properties of the service tag information. + :vartype properties: + ~azure.mgmt.network.v2020_05_01.models.ServiceTagInformationPropertiesFormat + :ivar name: The name of service tag. + :vartype name: str + :ivar id: The ID of service tag. + :vartype id: str + """ + + _validation = { + 'properties': {'readonly': True}, + 'name': {'readonly': True}, + 'id': {'readonly': True}, + } + + _attribute_map = { + 'properties': {'key': 'properties', 'type': 'ServiceTagInformationPropertiesFormat'}, + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(ServiceTagInformation, self).__init__(**kwargs) + self.properties = None + self.name = None + self.id = None + + +class ServiceTagInformationPropertiesFormat(Model): + """Properties of the service tag information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar change_number: The iteration number of service tag. + :vartype change_number: str + :ivar region: The region of service tag. + :vartype region: str + :ivar system_service: The name of system service. + :vartype system_service: str + :ivar address_prefixes: The list of IP address prefixes. + :vartype address_prefixes: list[str] + """ + + _validation = { + 'change_number': {'readonly': True}, + 'region': {'readonly': True}, + 'system_service': {'readonly': True}, + 'address_prefixes': {'readonly': True}, + } + + _attribute_map = { + 'change_number': {'key': 'changeNumber', 'type': 'str'}, + 'region': {'key': 'region', 'type': 'str'}, + 'system_service': {'key': 'systemService', 'type': 'str'}, + 'address_prefixes': {'key': 'addressPrefixes', 'type': '[str]'}, + } + + def __init__(self, **kwargs) -> None: + super(ServiceTagInformationPropertiesFormat, self).__init__(**kwargs) + self.change_number = None + self.region = None + self.system_service = None + self.address_prefixes = None + + +class ServiceTagsListResult(Model): + """Response for the ListServiceTags API service call. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name: The name of the cloud. + :vartype name: str + :ivar id: The ID of the cloud. + :vartype id: str + :ivar type: The azure resource type. + :vartype type: str + :ivar change_number: The iteration number. + :vartype change_number: str + :ivar cloud: The name of the cloud. + :vartype cloud: str + :ivar values: The list of service tag information resources. + :vartype values: + list[~azure.mgmt.network.v2020_05_01.models.ServiceTagInformation] + """ + + _validation = { + 'name': {'readonly': True}, + 'id': {'readonly': True}, + 'type': {'readonly': True}, + 'change_number': {'readonly': True}, + 'cloud': {'readonly': True}, + 'values': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'change_number': {'key': 'changeNumber', 'type': 'str'}, + 'cloud': {'key': 'cloud', 'type': 'str'}, + 'values': {'key': 'values', 'type': '[ServiceTagInformation]'}, + } + + def __init__(self, **kwargs) -> None: + super(ServiceTagsListResult, self).__init__(**kwargs) + self.name = None + self.id = None + self.type = None + self.change_number = None + self.cloud = None + self.values = None + + +class SessionIds(Model): + """List of session IDs. + + :param session_ids: List of session IDs. + :type session_ids: list[str] + """ + + _attribute_map = { + 'session_ids': {'key': 'sessionIds', 'type': '[str]'}, + } + + def __init__(self, *, session_ids=None, **kwargs) -> None: + super(SessionIds, self).__init__(**kwargs) + self.session_ids = session_ids + + +class StaticRoute(Model): + """List of all Static Routes. + + :param name: The name of the StaticRoute that is unique within a + VnetRoute. + :type name: str + :param address_prefixes: List of all address prefixes. + :type address_prefixes: list[str] + :param next_hop_ip_address: The ip address of the next hop. + :type next_hop_ip_address: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'address_prefixes': {'key': 'addressPrefixes', 'type': '[str]'}, + 'next_hop_ip_address': {'key': 'nextHopIpAddress', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, address_prefixes=None, next_hop_ip_address: str=None, **kwargs) -> None: + super(StaticRoute, self).__init__(**kwargs) + self.name = name + self.address_prefixes = address_prefixes + self.next_hop_ip_address = next_hop_ip_address + + +class Subnet(SubResource): + """Subnet in a virtual network resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param address_prefix: The address prefix for the subnet. + :type address_prefix: str + :param address_prefixes: List of address prefixes for the subnet. + :type address_prefixes: list[str] + :param network_security_group: The reference to the NetworkSecurityGroup + resource. + :type network_security_group: + ~azure.mgmt.network.v2020_05_01.models.NetworkSecurityGroup + :param route_table: The reference to the RouteTable resource. + :type route_table: ~azure.mgmt.network.v2020_05_01.models.RouteTable + :param nat_gateway: Nat gateway associated with this subnet. + :type nat_gateway: ~azure.mgmt.network.v2020_05_01.models.SubResource + :param service_endpoints: An array of service endpoints. + :type service_endpoints: + list[~azure.mgmt.network.v2020_05_01.models.ServiceEndpointPropertiesFormat] + :param service_endpoint_policies: An array of service endpoint policies. + :type service_endpoint_policies: + list[~azure.mgmt.network.v2020_05_01.models.ServiceEndpointPolicy] + :ivar private_endpoints: An array of references to private endpoints. + :vartype private_endpoints: + list[~azure.mgmt.network.v2020_05_01.models.PrivateEndpoint] + :ivar ip_configurations: An array of references to the network interface + IP configurations using subnet. + :vartype ip_configurations: + list[~azure.mgmt.network.v2020_05_01.models.IPConfiguration] + :ivar ip_configuration_profiles: Array of IP configuration profiles which + reference this subnet. + :vartype ip_configuration_profiles: + list[~azure.mgmt.network.v2020_05_01.models.IPConfigurationProfile] + :param ip_allocations: Array of IpAllocation which reference this subnet. + :type ip_allocations: + list[~azure.mgmt.network.v2020_05_01.models.SubResource] + :ivar resource_navigation_links: An array of references to the external + resources using subnet. + :vartype resource_navigation_links: + list[~azure.mgmt.network.v2020_05_01.models.ResourceNavigationLink] + :ivar service_association_links: An array of references to services + injecting into this subnet. + :vartype service_association_links: + list[~azure.mgmt.network.v2020_05_01.models.ServiceAssociationLink] + :param delegations: An array of references to the delegations on the + subnet. + :type delegations: list[~azure.mgmt.network.v2020_05_01.models.Delegation] + :ivar purpose: A read-only string identifying the intention of use for + this subnet based on delegations and other user-defined properties. + :vartype purpose: str + :ivar provisioning_state: The provisioning state of the subnet resource. + Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param private_endpoint_network_policies: Enable or Disable apply network + policies on private end point in the subnet. + :type private_endpoint_network_policies: str + :param private_link_service_network_policies: Enable or Disable apply + network policies on private link service in the subnet. + :type private_link_service_network_policies: str + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'private_endpoints': {'readonly': True}, + 'ip_configurations': {'readonly': True}, + 'ip_configuration_profiles': {'readonly': True}, + 'resource_navigation_links': {'readonly': True}, + 'service_association_links': {'readonly': True}, + 'purpose': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'address_prefix': {'key': 'properties.addressPrefix', 'type': 'str'}, + 'address_prefixes': {'key': 'properties.addressPrefixes', 'type': '[str]'}, + 'network_security_group': {'key': 'properties.networkSecurityGroup', 'type': 'NetworkSecurityGroup'}, + 'route_table': {'key': 'properties.routeTable', 'type': 'RouteTable'}, + 'nat_gateway': {'key': 'properties.natGateway', 'type': 'SubResource'}, + 'service_endpoints': {'key': 'properties.serviceEndpoints', 'type': '[ServiceEndpointPropertiesFormat]'}, + 'service_endpoint_policies': {'key': 'properties.serviceEndpointPolicies', 'type': '[ServiceEndpointPolicy]'}, + 'private_endpoints': {'key': 'properties.privateEndpoints', 'type': '[PrivateEndpoint]'}, + 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[IPConfiguration]'}, + 'ip_configuration_profiles': {'key': 'properties.ipConfigurationProfiles', 'type': '[IPConfigurationProfile]'}, + 'ip_allocations': {'key': 'properties.ipAllocations', 'type': '[SubResource]'}, + 'resource_navigation_links': {'key': 'properties.resourceNavigationLinks', 'type': '[ResourceNavigationLink]'}, + 'service_association_links': {'key': 'properties.serviceAssociationLinks', 'type': '[ServiceAssociationLink]'}, + 'delegations': {'key': 'properties.delegations', 'type': '[Delegation]'}, + 'purpose': {'key': 'properties.purpose', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'private_endpoint_network_policies': {'key': 'properties.privateEndpointNetworkPolicies', 'type': 'str'}, + 'private_link_service_network_policies': {'key': 'properties.privateLinkServiceNetworkPolicies', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, address_prefix: str=None, address_prefixes=None, network_security_group=None, route_table=None, nat_gateway=None, service_endpoints=None, service_endpoint_policies=None, ip_allocations=None, delegations=None, private_endpoint_network_policies: str=None, private_link_service_network_policies: str=None, name: str=None, **kwargs) -> None: + super(Subnet, self).__init__(id=id, **kwargs) + self.address_prefix = address_prefix + self.address_prefixes = address_prefixes + self.network_security_group = network_security_group + self.route_table = route_table + self.nat_gateway = nat_gateway + self.service_endpoints = service_endpoints + self.service_endpoint_policies = service_endpoint_policies + self.private_endpoints = None + self.ip_configurations = None + self.ip_configuration_profiles = None + self.ip_allocations = ip_allocations + self.resource_navigation_links = None + self.service_association_links = None + self.delegations = delegations + self.purpose = None + self.provisioning_state = None + self.private_endpoint_network_policies = private_endpoint_network_policies + self.private_link_service_network_policies = private_link_service_network_policies + self.name = name + self.etag = None + + +class SubnetAssociation(Model): + """Subnet and it's custom security rules. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Subnet ID. + :vartype id: str + :param security_rules: Collection of custom security rules. + :type security_rules: + list[~azure.mgmt.network.v2020_05_01.models.SecurityRule] + """ + + _validation = { + 'id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'security_rules': {'key': 'securityRules', 'type': '[SecurityRule]'}, + } + + def __init__(self, *, security_rules=None, **kwargs) -> None: + super(SubnetAssociation, self).__init__(**kwargs) + self.id = None + self.security_rules = security_rules + + +class TagsObject(Model): + """Tags object for patch operations. + + :param tags: Resource tags. + :type tags: dict[str, str] + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, *, tags=None, **kwargs) -> None: + super(TagsObject, self).__init__(**kwargs) + self.tags = tags + + +class Topology(Model): + """Topology of the specified resource group. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: GUID representing the operation id. + :vartype id: str + :ivar created_date_time: The datetime when the topology was initially + created for the resource group. + :vartype created_date_time: datetime + :ivar last_modified: The datetime when the topology was last modified. + :vartype last_modified: datetime + :param resources: A list of topology resources. + :type resources: + list[~azure.mgmt.network.v2020_05_01.models.TopologyResource] + """ + + _validation = { + 'id': {'readonly': True}, + 'created_date_time': {'readonly': True}, + 'last_modified': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'created_date_time': {'key': 'createdDateTime', 'type': 'iso-8601'}, + 'last_modified': {'key': 'lastModified', 'type': 'iso-8601'}, + 'resources': {'key': 'resources', 'type': '[TopologyResource]'}, + } + + def __init__(self, *, resources=None, **kwargs) -> None: + super(Topology, self).__init__(**kwargs) + self.id = None + self.created_date_time = None + self.last_modified = None + self.resources = resources + + +class TopologyAssociation(Model): + """Resources that have an association with the parent resource. + + :param name: The name of the resource that is associated with the parent + resource. + :type name: str + :param resource_id: The ID of the resource that is associated with the + parent resource. + :type resource_id: str + :param association_type: The association type of the child resource to the + parent resource. Possible values include: 'Associated', 'Contains' + :type association_type: str or + ~azure.mgmt.network.v2020_05_01.models.AssociationType + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + 'association_type': {'key': 'associationType', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, resource_id: str=None, association_type=None, **kwargs) -> None: + super(TopologyAssociation, self).__init__(**kwargs) + self.name = name + self.resource_id = resource_id + self.association_type = association_type + + +class TopologyParameters(Model): + """Parameters that define the representation of topology. + + :param target_resource_group_name: The name of the target resource group + to perform topology on. + :type target_resource_group_name: str + :param target_virtual_network: The reference to the Virtual Network + resource. + :type target_virtual_network: + ~azure.mgmt.network.v2020_05_01.models.SubResource + :param target_subnet: The reference to the Subnet resource. + :type target_subnet: ~azure.mgmt.network.v2020_05_01.models.SubResource + """ + + _attribute_map = { + 'target_resource_group_name': {'key': 'targetResourceGroupName', 'type': 'str'}, + 'target_virtual_network': {'key': 'targetVirtualNetwork', 'type': 'SubResource'}, + 'target_subnet': {'key': 'targetSubnet', 'type': 'SubResource'}, + } + + def __init__(self, *, target_resource_group_name: str=None, target_virtual_network=None, target_subnet=None, **kwargs) -> None: + super(TopologyParameters, self).__init__(**kwargs) + self.target_resource_group_name = target_resource_group_name + self.target_virtual_network = target_virtual_network + self.target_subnet = target_subnet + + +class TopologyResource(Model): + """The network resource topology information for the given resource group. + + :param name: Name of the resource. + :type name: str + :param id: ID of the resource. + :type id: str + :param location: Resource location. + :type location: str + :param associations: Holds the associations the resource has with other + resources in the resource group. + :type associations: + list[~azure.mgmt.network.v2020_05_01.models.TopologyAssociation] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'associations': {'key': 'associations', 'type': '[TopologyAssociation]'}, + } + + def __init__(self, *, name: str=None, id: str=None, location: str=None, associations=None, **kwargs) -> None: + super(TopologyResource, self).__init__(**kwargs) + self.name = name + self.id = id + self.location = location + self.associations = associations + + +class TrafficAnalyticsConfigurationProperties(Model): + """Parameters that define the configuration of traffic analytics. + + :param enabled: Flag to enable/disable traffic analytics. + :type enabled: bool + :param workspace_id: The resource guid of the attached workspace. + :type workspace_id: str + :param workspace_region: The location of the attached workspace. + :type workspace_region: str + :param workspace_resource_id: Resource Id of the attached workspace. + :type workspace_resource_id: str + :param traffic_analytics_interval: The interval in minutes which would + decide how frequently TA service should do flow analytics. + :type traffic_analytics_interval: int + """ + + _attribute_map = { + 'enabled': {'key': 'enabled', 'type': 'bool'}, + 'workspace_id': {'key': 'workspaceId', 'type': 'str'}, + 'workspace_region': {'key': 'workspaceRegion', 'type': 'str'}, + 'workspace_resource_id': {'key': 'workspaceResourceId', 'type': 'str'}, + 'traffic_analytics_interval': {'key': 'trafficAnalyticsInterval', 'type': 'int'}, + } + + def __init__(self, *, enabled: bool=None, workspace_id: str=None, workspace_region: str=None, workspace_resource_id: str=None, traffic_analytics_interval: int=None, **kwargs) -> None: + super(TrafficAnalyticsConfigurationProperties, self).__init__(**kwargs) + self.enabled = enabled + self.workspace_id = workspace_id + self.workspace_region = workspace_region + self.workspace_resource_id = workspace_resource_id + self.traffic_analytics_interval = traffic_analytics_interval + + +class TrafficAnalyticsProperties(Model): + """Parameters that define the configuration of traffic analytics. + + :param network_watcher_flow_analytics_configuration: Parameters that + define the configuration of traffic analytics. + :type network_watcher_flow_analytics_configuration: + ~azure.mgmt.network.v2020_05_01.models.TrafficAnalyticsConfigurationProperties + """ + + _attribute_map = { + 'network_watcher_flow_analytics_configuration': {'key': 'networkWatcherFlowAnalyticsConfiguration', 'type': 'TrafficAnalyticsConfigurationProperties'}, + } + + def __init__(self, *, network_watcher_flow_analytics_configuration=None, **kwargs) -> None: + super(TrafficAnalyticsProperties, self).__init__(**kwargs) + self.network_watcher_flow_analytics_configuration = network_watcher_flow_analytics_configuration + + +class TrafficSelectorPolicy(Model): + """An traffic selector policy for a virtual network gateway connection. + + All required parameters must be populated in order to send to Azure. + + :param local_address_ranges: Required. A collection of local address + spaces in CIDR format. + :type local_address_ranges: list[str] + :param remote_address_ranges: Required. A collection of remote address + spaces in CIDR format. + :type remote_address_ranges: list[str] + """ + + _validation = { + 'local_address_ranges': {'required': True}, + 'remote_address_ranges': {'required': True}, + } + + _attribute_map = { + 'local_address_ranges': {'key': 'localAddressRanges', 'type': '[str]'}, + 'remote_address_ranges': {'key': 'remoteAddressRanges', 'type': '[str]'}, + } + + def __init__(self, *, local_address_ranges, remote_address_ranges, **kwargs) -> None: + super(TrafficSelectorPolicy, self).__init__(**kwargs) + self.local_address_ranges = local_address_ranges + self.remote_address_ranges = remote_address_ranges + + +class TroubleshootingDetails(Model): + """Information gained from troubleshooting of specified resource. + + :param id: The id of the get troubleshoot operation. + :type id: str + :param reason_type: Reason type of failure. + :type reason_type: str + :param summary: A summary of troubleshooting. + :type summary: str + :param detail: Details on troubleshooting results. + :type detail: str + :param recommended_actions: List of recommended actions. + :type recommended_actions: + list[~azure.mgmt.network.v2020_05_01.models.TroubleshootingRecommendedActions] + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'reason_type': {'key': 'reasonType', 'type': 'str'}, + 'summary': {'key': 'summary', 'type': 'str'}, + 'detail': {'key': 'detail', 'type': 'str'}, + 'recommended_actions': {'key': 'recommendedActions', 'type': '[TroubleshootingRecommendedActions]'}, + } + + def __init__(self, *, id: str=None, reason_type: str=None, summary: str=None, detail: str=None, recommended_actions=None, **kwargs) -> None: + super(TroubleshootingDetails, self).__init__(**kwargs) + self.id = id + self.reason_type = reason_type + self.summary = summary + self.detail = detail + self.recommended_actions = recommended_actions + + +class TroubleshootingParameters(Model): + """Parameters that define the resource to troubleshoot. + + All required parameters must be populated in order to send to Azure. + + :param target_resource_id: Required. The target resource to troubleshoot. + :type target_resource_id: str + :param storage_id: Required. The ID for the storage account to save the + troubleshoot result. + :type storage_id: str + :param storage_path: Required. The path to the blob to save the + troubleshoot result in. + :type storage_path: str + """ + + _validation = { + 'target_resource_id': {'required': True}, + 'storage_id': {'required': True}, + 'storage_path': {'required': True}, + } + + _attribute_map = { + 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, + 'storage_id': {'key': 'properties.storageId', 'type': 'str'}, + 'storage_path': {'key': 'properties.storagePath', 'type': 'str'}, + } + + def __init__(self, *, target_resource_id: str, storage_id: str, storage_path: str, **kwargs) -> None: + super(TroubleshootingParameters, self).__init__(**kwargs) + self.target_resource_id = target_resource_id + self.storage_id = storage_id + self.storage_path = storage_path + + +class TroubleshootingRecommendedActions(Model): + """Recommended actions based on discovered issues. + + :param action_id: ID of the recommended action. + :type action_id: str + :param action_text: Description of recommended actions. + :type action_text: str + :param action_uri: The uri linking to a documentation for the recommended + troubleshooting actions. + :type action_uri: str + :param action_uri_text: The information from the URI for the recommended + troubleshooting actions. + :type action_uri_text: str + """ + + _attribute_map = { + 'action_id': {'key': 'actionId', 'type': 'str'}, + 'action_text': {'key': 'actionText', 'type': 'str'}, + 'action_uri': {'key': 'actionUri', 'type': 'str'}, + 'action_uri_text': {'key': 'actionUriText', 'type': 'str'}, + } + + def __init__(self, *, action_id: str=None, action_text: str=None, action_uri: str=None, action_uri_text: str=None, **kwargs) -> None: + super(TroubleshootingRecommendedActions, self).__init__(**kwargs) + self.action_id = action_id + self.action_text = action_text + self.action_uri = action_uri + self.action_uri_text = action_uri_text + + +class TroubleshootingResult(Model): + """Troubleshooting information gained from specified resource. + + :param start_time: The start time of the troubleshooting. + :type start_time: datetime + :param end_time: The end time of the troubleshooting. + :type end_time: datetime + :param code: The result code of the troubleshooting. + :type code: str + :param results: Information from troubleshooting. + :type results: + list[~azure.mgmt.network.v2020_05_01.models.TroubleshootingDetails] + """ + + _attribute_map = { + 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, + 'code': {'key': 'code', 'type': 'str'}, + 'results': {'key': 'results', 'type': '[TroubleshootingDetails]'}, + } + + def __init__(self, *, start_time=None, end_time=None, code: str=None, results=None, **kwargs) -> None: + super(TroubleshootingResult, self).__init__(**kwargs) + self.start_time = start_time + self.end_time = end_time + self.code = code + self.results = results + + +class TunnelConnectionHealth(Model): + """VirtualNetworkGatewayConnection properties. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar tunnel: Tunnel name. + :vartype tunnel: str + :ivar connection_status: Virtual Network Gateway connection status. + Possible values include: 'Unknown', 'Connecting', 'Connected', + 'NotConnected' + :vartype connection_status: str or + ~azure.mgmt.network.v2020_05_01.models.VirtualNetworkGatewayConnectionStatus + :ivar ingress_bytes_transferred: The Ingress Bytes Transferred in this + connection. + :vartype ingress_bytes_transferred: long + :ivar egress_bytes_transferred: The Egress Bytes Transferred in this + connection. + :vartype egress_bytes_transferred: long + :ivar last_connection_established_utc_time: The time at which connection + was established in Utc format. + :vartype last_connection_established_utc_time: str + """ + + _validation = { + 'tunnel': {'readonly': True}, + 'connection_status': {'readonly': True}, + 'ingress_bytes_transferred': {'readonly': True}, + 'egress_bytes_transferred': {'readonly': True}, + 'last_connection_established_utc_time': {'readonly': True}, + } + + _attribute_map = { + 'tunnel': {'key': 'tunnel', 'type': 'str'}, + 'connection_status': {'key': 'connectionStatus', 'type': 'str'}, + 'ingress_bytes_transferred': {'key': 'ingressBytesTransferred', 'type': 'long'}, + 'egress_bytes_transferred': {'key': 'egressBytesTransferred', 'type': 'long'}, + 'last_connection_established_utc_time': {'key': 'lastConnectionEstablishedUtcTime', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(TunnelConnectionHealth, self).__init__(**kwargs) + self.tunnel = None + self.connection_status = None + self.ingress_bytes_transferred = None + self.egress_bytes_transferred = None + self.last_connection_established_utc_time = None + + +class UnprepareNetworkPoliciesRequest(Model): + """Details of UnprepareNetworkPolicies for Subnet. + + :param service_name: The name of the service for which subnet is being + unprepared for. + :type service_name: str + """ + + _attribute_map = { + 'service_name': {'key': 'serviceName', 'type': 'str'}, + } + + def __init__(self, *, service_name: str=None, **kwargs) -> None: + super(UnprepareNetworkPoliciesRequest, self).__init__(**kwargs) + self.service_name = service_name + + +class Usage(Model): + """The network resource usage. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Resource identifier. + :vartype id: str + :ivar unit: Required. An enum describing the unit of measurement. Default + value: "Count" . + :vartype unit: str + :param current_value: Required. The current value of the usage. + :type current_value: long + :param limit: Required. The limit of usage. + :type limit: long + :param name: Required. The name of the type of usage. + :type name: ~azure.mgmt.network.v2020_05_01.models.UsageName + """ + + _validation = { + 'id': {'readonly': True}, + 'unit': {'required': True, 'constant': True}, + 'current_value': {'required': True}, + 'limit': {'required': True}, + 'name': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'unit': {'key': 'unit', 'type': 'str'}, + 'current_value': {'key': 'currentValue', 'type': 'long'}, + 'limit': {'key': 'limit', 'type': 'long'}, + 'name': {'key': 'name', 'type': 'UsageName'}, + } + + unit = "Count" + + def __init__(self, *, current_value: int, limit: int, name, **kwargs) -> None: + super(Usage, self).__init__(**kwargs) + self.id = None + self.current_value = current_value + self.limit = limit + self.name = name + + +class UsageName(Model): + """The usage names. + + :param value: A string describing the resource name. + :type value: str + :param localized_value: A localized string describing the resource name. + :type localized_value: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': 'str'}, + 'localized_value': {'key': 'localizedValue', 'type': 'str'}, + } + + def __init__(self, *, value: str=None, localized_value: str=None, **kwargs) -> None: + super(UsageName, self).__init__(**kwargs) + self.value = value + self.localized_value = localized_value + + +class VerificationIPFlowParameters(Model): + """Parameters that define the IP flow to be verified. + + All required parameters must be populated in order to send to Azure. + + :param target_resource_id: Required. The ID of the target resource to + perform next-hop on. + :type target_resource_id: str + :param direction: Required. The direction of the packet represented as a + 5-tuple. Possible values include: 'Inbound', 'Outbound' + :type direction: str or ~azure.mgmt.network.v2020_05_01.models.Direction + :param protocol: Required. Protocol to be verified on. Possible values + include: 'TCP', 'UDP' + :type protocol: str or + ~azure.mgmt.network.v2020_05_01.models.IpFlowProtocol + :param local_port: Required. The local port. Acceptable values are a + single integer in the range (0-65535). Support for * for the source port, + which depends on the direction. + :type local_port: str + :param remote_port: Required. The remote port. Acceptable values are a + single integer in the range (0-65535). Support for * for the source port, + which depends on the direction. + :type remote_port: str + :param local_ip_address: Required. The local IP address. Acceptable values + are valid IPv4 addresses. + :type local_ip_address: str + :param remote_ip_address: Required. The remote IP address. Acceptable + values are valid IPv4 addresses. + :type remote_ip_address: str + :param target_nic_resource_id: The NIC ID. (If VM has multiple NICs and IP + forwarding is enabled on any of them, then this parameter must be + specified. Otherwise optional). + :type target_nic_resource_id: str + """ + + _validation = { + 'target_resource_id': {'required': True}, + 'direction': {'required': True}, + 'protocol': {'required': True}, + 'local_port': {'required': True}, + 'remote_port': {'required': True}, + 'local_ip_address': {'required': True}, + 'remote_ip_address': {'required': True}, + } + + _attribute_map = { + 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, + 'direction': {'key': 'direction', 'type': 'str'}, + 'protocol': {'key': 'protocol', 'type': 'str'}, + 'local_port': {'key': 'localPort', 'type': 'str'}, + 'remote_port': {'key': 'remotePort', 'type': 'str'}, + 'local_ip_address': {'key': 'localIPAddress', 'type': 'str'}, + 'remote_ip_address': {'key': 'remoteIPAddress', 'type': 'str'}, + 'target_nic_resource_id': {'key': 'targetNicResourceId', 'type': 'str'}, + } + + def __init__(self, *, target_resource_id: str, direction, protocol, local_port: str, remote_port: str, local_ip_address: str, remote_ip_address: str, target_nic_resource_id: str=None, **kwargs) -> None: + super(VerificationIPFlowParameters, self).__init__(**kwargs) + self.target_resource_id = target_resource_id + self.direction = direction + self.protocol = protocol + self.local_port = local_port + self.remote_port = remote_port + self.local_ip_address = local_ip_address + self.remote_ip_address = remote_ip_address + self.target_nic_resource_id = target_nic_resource_id + + +class VerificationIPFlowResult(Model): + """Results of IP flow verification on the target resource. + + :param access: Indicates whether the traffic is allowed or denied. + Possible values include: 'Allow', 'Deny' + :type access: str or ~azure.mgmt.network.v2020_05_01.models.Access + :param rule_name: Name of the rule. If input is not matched against any + security rule, it is not displayed. + :type rule_name: str + """ + + _attribute_map = { + 'access': {'key': 'access', 'type': 'str'}, + 'rule_name': {'key': 'ruleName', 'type': 'str'}, + } + + def __init__(self, *, access=None, rule_name: str=None, **kwargs) -> None: + super(VerificationIPFlowResult, self).__init__(**kwargs) + self.access = access + self.rule_name = rule_name + + +class VirtualApplianceNicProperties(Model): + """Network Virtual Appliance NIC properties. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name: NIC name. + :vartype name: str + :ivar public_ip_address: Public IP address. + :vartype public_ip_address: str + :ivar private_ip_address: Private IP address. + :vartype private_ip_address: str + """ + + _validation = { + 'name': {'readonly': True}, + 'public_ip_address': {'readonly': True}, + 'private_ip_address': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'public_ip_address': {'key': 'publicIpAddress', 'type': 'str'}, + 'private_ip_address': {'key': 'privateIpAddress', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(VirtualApplianceNicProperties, self).__init__(**kwargs) + self.name = None + self.public_ip_address = None + self.private_ip_address = None + + +class VirtualApplianceSite(SubResource): + """Virtual Appliance Site resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param address_prefix: Address Prefix. + :type address_prefix: str + :param o365_policy: Office 365 Policy. + :type o365_policy: + ~azure.mgmt.network.v2020_05_01.models.Office365PolicyProperties + :ivar provisioning_state: The provisioning state of the resource. Possible + values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: Name of the virtual appliance site. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Site type. + :vartype type: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'address_prefix': {'key': 'properties.addressPrefix', 'type': 'str'}, + 'o365_policy': {'key': 'properties.o365Policy', 'type': 'Office365PolicyProperties'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, address_prefix: str=None, o365_policy=None, name: str=None, **kwargs) -> None: + super(VirtualApplianceSite, self).__init__(id=id, **kwargs) + self.address_prefix = address_prefix + self.o365_policy = o365_policy + self.provisioning_state = None + self.name = name + self.etag = None + self.type = None + + +class VirtualApplianceSkuProperties(Model): + """Network Virtual Appliance Sku Properties. + + :param vendor: Virtual Appliance Vendor. + :type vendor: str + :param bundled_scale_unit: Virtual Appliance Scale Unit. + :type bundled_scale_unit: str + :param market_place_version: Virtual Appliance Version. + :type market_place_version: str + """ + + _attribute_map = { + 'vendor': {'key': 'vendor', 'type': 'str'}, + 'bundled_scale_unit': {'key': 'bundledScaleUnit', 'type': 'str'}, + 'market_place_version': {'key': 'marketPlaceVersion', 'type': 'str'}, + } + + def __init__(self, *, vendor: str=None, bundled_scale_unit: str=None, market_place_version: str=None, **kwargs) -> None: + super(VirtualApplianceSkuProperties, self).__init__(**kwargs) + self.vendor = vendor + self.bundled_scale_unit = bundled_scale_unit + self.market_place_version = market_place_version + + +class VirtualHub(Resource): + """VirtualHub Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param virtual_wan: The VirtualWAN to which the VirtualHub belongs. + :type virtual_wan: ~azure.mgmt.network.v2020_05_01.models.SubResource + :param vpn_gateway: The VpnGateway associated with this VirtualHub. + :type vpn_gateway: ~azure.mgmt.network.v2020_05_01.models.SubResource + :param p2_svpn_gateway: The P2SVpnGateway associated with this VirtualHub. + :type p2_svpn_gateway: ~azure.mgmt.network.v2020_05_01.models.SubResource + :param express_route_gateway: The expressRouteGateway associated with this + VirtualHub. + :type express_route_gateway: + ~azure.mgmt.network.v2020_05_01.models.SubResource + :param azure_firewall: The azureFirewall associated with this VirtualHub. + :type azure_firewall: ~azure.mgmt.network.v2020_05_01.models.SubResource + :param security_partner_provider: The securityPartnerProvider associated + with this VirtualHub. + :type security_partner_provider: + ~azure.mgmt.network.v2020_05_01.models.SubResource + :param address_prefix: Address-prefix for this VirtualHub. + :type address_prefix: str + :param route_table: The routeTable associated with this virtual hub. + :type route_table: + ~azure.mgmt.network.v2020_05_01.models.VirtualHubRouteTable + :ivar provisioning_state: The provisioning state of the virtual hub + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param security_provider_name: The Security Provider name. + :type security_provider_name: str + :param virtual_hub_route_table_v2s: List of all virtual hub route table + v2s associated with this VirtualHub. + :type virtual_hub_route_table_v2s: + list[~azure.mgmt.network.v2020_05_01.models.VirtualHubRouteTableV2] + :param sku: The sku of this VirtualHub. + :type sku: str + :param routing_state: The routing state. Possible values include: 'None', + 'Provisioned', 'Provisioning', 'Failed' + :type routing_state: str or + ~azure.mgmt.network.v2020_05_01.models.RoutingState + :ivar bgp_connections: List of references to Bgp Connections. + :vartype bgp_connections: + list[~azure.mgmt.network.v2020_05_01.models.SubResource] + :ivar ip_configurations: List of references to IpConfigurations. + :vartype ip_configurations: + list[~azure.mgmt.network.v2020_05_01.models.SubResource] + :param virtual_router_asn: VirtualRouter ASN. + :type virtual_router_asn: long + :param virtual_router_ips: VirtualRouter IPs. + :type virtual_router_ips: list[str] + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'bgp_connections': {'readonly': True}, + 'ip_configurations': {'readonly': True}, + 'virtual_router_asn': {'maximum': 4294967295, 'minimum': 0}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'virtual_wan': {'key': 'properties.virtualWan', 'type': 'SubResource'}, + 'vpn_gateway': {'key': 'properties.vpnGateway', 'type': 'SubResource'}, + 'p2_svpn_gateway': {'key': 'properties.p2SVpnGateway', 'type': 'SubResource'}, + 'express_route_gateway': {'key': 'properties.expressRouteGateway', 'type': 'SubResource'}, + 'azure_firewall': {'key': 'properties.azureFirewall', 'type': 'SubResource'}, + 'security_partner_provider': {'key': 'properties.securityPartnerProvider', 'type': 'SubResource'}, + 'address_prefix': {'key': 'properties.addressPrefix', 'type': 'str'}, + 'route_table': {'key': 'properties.routeTable', 'type': 'VirtualHubRouteTable'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'security_provider_name': {'key': 'properties.securityProviderName', 'type': 'str'}, + 'virtual_hub_route_table_v2s': {'key': 'properties.virtualHubRouteTableV2s', 'type': '[VirtualHubRouteTableV2]'}, + 'sku': {'key': 'properties.sku', 'type': 'str'}, + 'routing_state': {'key': 'properties.routingState', 'type': 'str'}, + 'bgp_connections': {'key': 'properties.bgpConnections', 'type': '[SubResource]'}, + 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[SubResource]'}, + 'virtual_router_asn': {'key': 'properties.virtualRouterAsn', 'type': 'long'}, + 'virtual_router_ips': {'key': 'properties.virtualRouterIps', 'type': '[str]'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, virtual_wan=None, vpn_gateway=None, p2_svpn_gateway=None, express_route_gateway=None, azure_firewall=None, security_partner_provider=None, address_prefix: str=None, route_table=None, security_provider_name: str=None, virtual_hub_route_table_v2s=None, sku: str=None, routing_state=None, virtual_router_asn: int=None, virtual_router_ips=None, **kwargs) -> None: + super(VirtualHub, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.virtual_wan = virtual_wan + self.vpn_gateway = vpn_gateway + self.p2_svpn_gateway = p2_svpn_gateway + self.express_route_gateway = express_route_gateway + self.azure_firewall = azure_firewall + self.security_partner_provider = security_partner_provider + self.address_prefix = address_prefix + self.route_table = route_table + self.provisioning_state = None + self.security_provider_name = security_provider_name + self.virtual_hub_route_table_v2s = virtual_hub_route_table_v2s + self.sku = sku + self.routing_state = routing_state + self.bgp_connections = None + self.ip_configurations = None + self.virtual_router_asn = virtual_router_asn + self.virtual_router_ips = virtual_router_ips + self.etag = None + + +class VirtualHubEffectiveRoute(Model): + """The effective route configured on the virtual hub or specified resource. + + :param address_prefixes: The list of address prefixes. + :type address_prefixes: list[str] + :param next_hops: The list of next hops. + :type next_hops: list[str] + :param next_hop_type: The type of the next hop. + :type next_hop_type: str + :param as_path: The ASPath of this route. + :type as_path: str + :param route_origin: The origin of this route. + :type route_origin: str + """ + + _attribute_map = { + 'address_prefixes': {'key': 'addressPrefixes', 'type': '[str]'}, + 'next_hops': {'key': 'nextHops', 'type': '[str]'}, + 'next_hop_type': {'key': 'nextHopType', 'type': 'str'}, + 'as_path': {'key': 'asPath', 'type': 'str'}, + 'route_origin': {'key': 'routeOrigin', 'type': 'str'}, + } + + def __init__(self, *, address_prefixes=None, next_hops=None, next_hop_type: str=None, as_path: str=None, route_origin: str=None, **kwargs) -> None: + super(VirtualHubEffectiveRoute, self).__init__(**kwargs) + self.address_prefixes = address_prefixes + self.next_hops = next_hops + self.next_hop_type = next_hop_type + self.as_path = as_path + self.route_origin = route_origin + + +class VirtualHubEffectiveRouteEffectiveRouteList(Model): + """EffectiveRoutes List. + + :param value: The list of effective routes configured on the virtual hub + or the specified resource. + :type value: + list[~azure.mgmt.network.v2020_05_01.models.VirtualHubEffectiveRoute] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[VirtualHubEffectiveRoute]'}, + } + + def __init__(self, *, value=None, **kwargs) -> None: + super(VirtualHubEffectiveRouteEffectiveRouteList, self).__init__(**kwargs) + self.value = value + + +class VirtualHubId(Model): + """Virtual Hub identifier. + + :param id: The resource URI for the Virtual Hub where the ExpressRoute + gateway is or will be deployed. The Virtual Hub resource and the + ExpressRoute gateway resource reside in the same subscription. + :type id: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, **kwargs) -> None: + super(VirtualHubId, self).__init__(**kwargs) + self.id = id + + +class VirtualHubRoute(Model): + """VirtualHub route. + + :param address_prefixes: List of all addressPrefixes. + :type address_prefixes: list[str] + :param next_hop_ip_address: NextHop ip address. + :type next_hop_ip_address: str + """ + + _attribute_map = { + 'address_prefixes': {'key': 'addressPrefixes', 'type': '[str]'}, + 'next_hop_ip_address': {'key': 'nextHopIpAddress', 'type': 'str'}, + } + + def __init__(self, *, address_prefixes=None, next_hop_ip_address: str=None, **kwargs) -> None: + super(VirtualHubRoute, self).__init__(**kwargs) + self.address_prefixes = address_prefixes + self.next_hop_ip_address = next_hop_ip_address + + +class VirtualHubRouteTable(Model): + """VirtualHub route table. + + :param routes: List of all routes. + :type routes: list[~azure.mgmt.network.v2020_05_01.models.VirtualHubRoute] + """ + + _attribute_map = { + 'routes': {'key': 'routes', 'type': '[VirtualHubRoute]'}, + } + + def __init__(self, *, routes=None, **kwargs) -> None: + super(VirtualHubRouteTable, self).__init__(**kwargs) + self.routes = routes + + +class VirtualHubRouteTableV2(SubResource): + """VirtualHubRouteTableV2 Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param routes: List of all routes. + :type routes: + list[~azure.mgmt.network.v2020_05_01.models.VirtualHubRouteV2] + :param attached_connections: List of all connections attached to this + route table v2. + :type attached_connections: list[str] + :ivar provisioning_state: The provisioning state of the virtual hub route + table v2 resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'routes': {'key': 'properties.routes', 'type': '[VirtualHubRouteV2]'}, + 'attached_connections': {'key': 'properties.attachedConnections', 'type': '[str]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, routes=None, attached_connections=None, name: str=None, **kwargs) -> None: + super(VirtualHubRouteTableV2, self).__init__(id=id, **kwargs) + self.routes = routes + self.attached_connections = attached_connections + self.provisioning_state = None + self.name = name + self.etag = None + + +class VirtualHubRouteV2(Model): + """VirtualHubRouteTableV2 route. + + :param destination_type: The type of destinations. + :type destination_type: str + :param destinations: List of all destinations. + :type destinations: list[str] + :param next_hop_type: The type of next hops. + :type next_hop_type: str + :param next_hops: NextHops ip address. + :type next_hops: list[str] + """ + + _attribute_map = { + 'destination_type': {'key': 'destinationType', 'type': 'str'}, + 'destinations': {'key': 'destinations', 'type': '[str]'}, + 'next_hop_type': {'key': 'nextHopType', 'type': 'str'}, + 'next_hops': {'key': 'nextHops', 'type': '[str]'}, + } + + def __init__(self, *, destination_type: str=None, destinations=None, next_hop_type: str=None, next_hops=None, **kwargs) -> None: + super(VirtualHubRouteV2, self).__init__(**kwargs) + self.destination_type = destination_type + self.destinations = destinations + self.next_hop_type = next_hop_type + self.next_hops = next_hops + + +class VirtualNetwork(Resource): + """Virtual Network resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param address_space: The AddressSpace that contains an array of IP + address ranges that can be used by subnets. + :type address_space: ~azure.mgmt.network.v2020_05_01.models.AddressSpace + :param dhcp_options: The dhcpOptions that contains an array of DNS servers + available to VMs deployed in the virtual network. + :type dhcp_options: ~azure.mgmt.network.v2020_05_01.models.DhcpOptions + :param subnets: A list of subnets in a Virtual Network. + :type subnets: list[~azure.mgmt.network.v2020_05_01.models.Subnet] + :param virtual_network_peerings: A list of peerings in a Virtual Network. + :type virtual_network_peerings: + list[~azure.mgmt.network.v2020_05_01.models.VirtualNetworkPeering] + :ivar resource_guid: The resourceGuid property of the Virtual Network + resource. + :vartype resource_guid: str + :ivar provisioning_state: The provisioning state of the virtual network + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param enable_ddos_protection: Indicates if DDoS protection is enabled for + all the protected resources in the virtual network. It requires a DDoS + protection plan associated with the resource. Default value: False . + :type enable_ddos_protection: bool + :param enable_vm_protection: Indicates if VM protection is enabled for all + the subnets in the virtual network. Default value: False . + :type enable_vm_protection: bool + :param ddos_protection_plan: The DDoS protection plan associated with the + virtual network. + :type ddos_protection_plan: + ~azure.mgmt.network.v2020_05_01.models.SubResource + :param bgp_communities: Bgp Communities sent over ExpressRoute with each + route corresponding to a prefix in this VNET. + :type bgp_communities: + ~azure.mgmt.network.v2020_05_01.models.VirtualNetworkBgpCommunities + :param ip_allocations: Array of IpAllocation which reference this VNET. + :type ip_allocations: + list[~azure.mgmt.network.v2020_05_01.models.SubResource] + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'resource_guid': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'address_space': {'key': 'properties.addressSpace', 'type': 'AddressSpace'}, + 'dhcp_options': {'key': 'properties.dhcpOptions', 'type': 'DhcpOptions'}, + 'subnets': {'key': 'properties.subnets', 'type': '[Subnet]'}, + 'virtual_network_peerings': {'key': 'properties.virtualNetworkPeerings', 'type': '[VirtualNetworkPeering]'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'enable_ddos_protection': {'key': 'properties.enableDdosProtection', 'type': 'bool'}, + 'enable_vm_protection': {'key': 'properties.enableVmProtection', 'type': 'bool'}, + 'ddos_protection_plan': {'key': 'properties.ddosProtectionPlan', 'type': 'SubResource'}, + 'bgp_communities': {'key': 'properties.bgpCommunities', 'type': 'VirtualNetworkBgpCommunities'}, + 'ip_allocations': {'key': 'properties.ipAllocations', 'type': '[SubResource]'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, address_space=None, dhcp_options=None, subnets=None, virtual_network_peerings=None, enable_ddos_protection: bool=False, enable_vm_protection: bool=False, ddos_protection_plan=None, bgp_communities=None, ip_allocations=None, **kwargs) -> None: + super(VirtualNetwork, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.address_space = address_space + self.dhcp_options = dhcp_options + self.subnets = subnets + self.virtual_network_peerings = virtual_network_peerings + self.resource_guid = None + self.provisioning_state = None + self.enable_ddos_protection = enable_ddos_protection + self.enable_vm_protection = enable_vm_protection + self.ddos_protection_plan = ddos_protection_plan + self.bgp_communities = bgp_communities + self.ip_allocations = ip_allocations + self.etag = None + + +class VirtualNetworkBgpCommunities(Model): + """Bgp Communities sent over ExpressRoute with each route corresponding to a + prefix in this VNET. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param virtual_network_community: Required. The BGP community associated + with the virtual network. + :type virtual_network_community: str + :ivar regional_community: The BGP community associated with the region of + the virtual network. + :vartype regional_community: str + """ + + _validation = { + 'virtual_network_community': {'required': True}, + 'regional_community': {'readonly': True}, + } + + _attribute_map = { + 'virtual_network_community': {'key': 'virtualNetworkCommunity', 'type': 'str'}, + 'regional_community': {'key': 'regionalCommunity', 'type': 'str'}, + } + + def __init__(self, *, virtual_network_community: str, **kwargs) -> None: + super(VirtualNetworkBgpCommunities, self).__init__(**kwargs) + self.virtual_network_community = virtual_network_community + self.regional_community = None + + +class VirtualNetworkConnectionGatewayReference(Model): + """A reference to VirtualNetworkGateway or LocalNetworkGateway resource. + + All required parameters must be populated in order to send to Azure. + + :param id: Required. The ID of VirtualNetworkGateway or + LocalNetworkGateway resource. + :type id: str + """ + + _validation = { + 'id': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, *, id: str, **kwargs) -> None: + super(VirtualNetworkConnectionGatewayReference, self).__init__(**kwargs) + self.id = id + + +class VirtualNetworkGateway(Resource): + """A common class for general resource information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param ip_configurations: IP configurations for virtual network gateway. + :type ip_configurations: + list[~azure.mgmt.network.v2020_05_01.models.VirtualNetworkGatewayIPConfiguration] + :param gateway_type: The type of this virtual network gateway. Possible + values include: 'Vpn', 'ExpressRoute' + :type gateway_type: str or + ~azure.mgmt.network.v2020_05_01.models.VirtualNetworkGatewayType + :param vpn_type: The type of this virtual network gateway. Possible values + include: 'PolicyBased', 'RouteBased' + :type vpn_type: str or ~azure.mgmt.network.v2020_05_01.models.VpnType + :param vpn_gateway_generation: The generation for this + VirtualNetworkGateway. Must be None if gatewayType is not VPN. Possible + values include: 'None', 'Generation1', 'Generation2' + :type vpn_gateway_generation: str or + ~azure.mgmt.network.v2020_05_01.models.VpnGatewayGeneration + :param enable_bgp: Whether BGP is enabled for this virtual network gateway + or not. + :type enable_bgp: bool + :param enable_private_ip_address: Whether private IP needs to be enabled + on this gateway for connections or not. + :type enable_private_ip_address: bool + :param active_active: ActiveActive flag. + :type active_active: bool + :param gateway_default_site: The reference to the LocalNetworkGateway + resource which represents local network site having default routes. Assign + Null value in case of removing existing default site setting. + :type gateway_default_site: + ~azure.mgmt.network.v2020_05_01.models.SubResource + :param sku: The reference to the VirtualNetworkGatewaySku resource which + represents the SKU selected for Virtual network gateway. + :type sku: ~azure.mgmt.network.v2020_05_01.models.VirtualNetworkGatewaySku + :param vpn_client_configuration: The reference to the + VpnClientConfiguration resource which represents the P2S VpnClient + configurations. + :type vpn_client_configuration: + ~azure.mgmt.network.v2020_05_01.models.VpnClientConfiguration + :param bgp_settings: Virtual network gateway's BGP speaker settings. + :type bgp_settings: ~azure.mgmt.network.v2020_05_01.models.BgpSettings + :param custom_routes: The reference to the address space resource which + represents the custom routes address space specified by the customer for + virtual network gateway and VpnClient. + :type custom_routes: ~azure.mgmt.network.v2020_05_01.models.AddressSpace + :ivar resource_guid: The resource GUID property of the virtual network + gateway resource. + :vartype resource_guid: str + :ivar provisioning_state: The provisioning state of the virtual network + gateway resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param enable_dns_forwarding: Whether dns forwarding is enabled or not. + :type enable_dns_forwarding: bool + :ivar inbound_dns_forwarding_endpoint: The IP address allocated by the + gateway to which dns requests can be sent. + :vartype inbound_dns_forwarding_endpoint: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'resource_guid': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'inbound_dns_forwarding_endpoint': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[VirtualNetworkGatewayIPConfiguration]'}, + 'gateway_type': {'key': 'properties.gatewayType', 'type': 'str'}, + 'vpn_type': {'key': 'properties.vpnType', 'type': 'str'}, + 'vpn_gateway_generation': {'key': 'properties.vpnGatewayGeneration', 'type': 'str'}, + 'enable_bgp': {'key': 'properties.enableBgp', 'type': 'bool'}, + 'enable_private_ip_address': {'key': 'properties.enablePrivateIpAddress', 'type': 'bool'}, + 'active_active': {'key': 'properties.activeActive', 'type': 'bool'}, + 'gateway_default_site': {'key': 'properties.gatewayDefaultSite', 'type': 'SubResource'}, + 'sku': {'key': 'properties.sku', 'type': 'VirtualNetworkGatewaySku'}, + 'vpn_client_configuration': {'key': 'properties.vpnClientConfiguration', 'type': 'VpnClientConfiguration'}, + 'bgp_settings': {'key': 'properties.bgpSettings', 'type': 'BgpSettings'}, + 'custom_routes': {'key': 'properties.customRoutes', 'type': 'AddressSpace'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'enable_dns_forwarding': {'key': 'properties.enableDnsForwarding', 'type': 'bool'}, + 'inbound_dns_forwarding_endpoint': {'key': 'properties.inboundDnsForwardingEndpoint', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, ip_configurations=None, gateway_type=None, vpn_type=None, vpn_gateway_generation=None, enable_bgp: bool=None, enable_private_ip_address: bool=None, active_active: bool=None, gateway_default_site=None, sku=None, vpn_client_configuration=None, bgp_settings=None, custom_routes=None, enable_dns_forwarding: bool=None, **kwargs) -> None: + super(VirtualNetworkGateway, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.ip_configurations = ip_configurations + self.gateway_type = gateway_type + self.vpn_type = vpn_type + self.vpn_gateway_generation = vpn_gateway_generation + self.enable_bgp = enable_bgp + self.enable_private_ip_address = enable_private_ip_address + self.active_active = active_active + self.gateway_default_site = gateway_default_site + self.sku = sku + self.vpn_client_configuration = vpn_client_configuration + self.bgp_settings = bgp_settings + self.custom_routes = custom_routes + self.resource_guid = None + self.provisioning_state = None + self.enable_dns_forwarding = enable_dns_forwarding + self.inbound_dns_forwarding_endpoint = None + self.etag = None + + +class VirtualNetworkGatewayConnection(Resource): + """A common class for general resource information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param authorization_key: The authorizationKey. + :type authorization_key: str + :param virtual_network_gateway1: Required. The reference to virtual + network gateway resource. + :type virtual_network_gateway1: + ~azure.mgmt.network.v2020_05_01.models.VirtualNetworkGateway + :param virtual_network_gateway2: The reference to virtual network gateway + resource. + :type virtual_network_gateway2: + ~azure.mgmt.network.v2020_05_01.models.VirtualNetworkGateway + :param local_network_gateway2: The reference to local network gateway + resource. + :type local_network_gateway2: + ~azure.mgmt.network.v2020_05_01.models.LocalNetworkGateway + :param connection_type: Required. Gateway connection type. Possible values + include: 'IPsec', 'Vnet2Vnet', 'ExpressRoute', 'VPNClient' + :type connection_type: str or + ~azure.mgmt.network.v2020_05_01.models.VirtualNetworkGatewayConnectionType + :param connection_protocol: Connection protocol used for this connection. + Possible values include: 'IKEv2', 'IKEv1' + :type connection_protocol: str or + ~azure.mgmt.network.v2020_05_01.models.VirtualNetworkGatewayConnectionProtocol + :param routing_weight: The routing weight. + :type routing_weight: int + :param dpd_timeout_seconds: The dead peer detection timeout of this + connection in seconds. + :type dpd_timeout_seconds: int + :param shared_key: The IPSec shared key. + :type shared_key: str + :ivar connection_status: Virtual Network Gateway connection status. + Possible values include: 'Unknown', 'Connecting', 'Connected', + 'NotConnected' + :vartype connection_status: str or + ~azure.mgmt.network.v2020_05_01.models.VirtualNetworkGatewayConnectionStatus + :ivar tunnel_connection_status: Collection of all tunnels' connection + health status. + :vartype tunnel_connection_status: + list[~azure.mgmt.network.v2020_05_01.models.TunnelConnectionHealth] + :ivar egress_bytes_transferred: The egress bytes transferred in this + connection. + :vartype egress_bytes_transferred: long + :ivar ingress_bytes_transferred: The ingress bytes transferred in this + connection. + :vartype ingress_bytes_transferred: long + :param peer: The reference to peerings resource. + :type peer: ~azure.mgmt.network.v2020_05_01.models.SubResource + :param enable_bgp: EnableBgp flag. + :type enable_bgp: bool + :param use_local_azure_ip_address: Use private local Azure IP for the + connection. + :type use_local_azure_ip_address: bool + :param use_policy_based_traffic_selectors: Enable policy-based traffic + selectors. + :type use_policy_based_traffic_selectors: bool + :param ipsec_policies: The IPSec Policies to be considered by this + connection. + :type ipsec_policies: + list[~azure.mgmt.network.v2020_05_01.models.IpsecPolicy] + :param traffic_selector_policies: The Traffic Selector Policies to be + considered by this connection. + :type traffic_selector_policies: + list[~azure.mgmt.network.v2020_05_01.models.TrafficSelectorPolicy] + :ivar resource_guid: The resource GUID property of the virtual network + gateway connection resource. + :vartype resource_guid: str + :ivar provisioning_state: The provisioning state of the virtual network + gateway connection resource. Possible values include: 'Succeeded', + 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param express_route_gateway_bypass: Bypass ExpressRoute Gateway for data + forwarding. + :type express_route_gateway_bypass: bool + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'virtual_network_gateway1': {'required': True}, + 'connection_type': {'required': True}, + 'connection_status': {'readonly': True}, + 'tunnel_connection_status': {'readonly': True}, + 'egress_bytes_transferred': {'readonly': True}, + 'ingress_bytes_transferred': {'readonly': True}, + 'resource_guid': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'authorization_key': {'key': 'properties.authorizationKey', 'type': 'str'}, + 'virtual_network_gateway1': {'key': 'properties.virtualNetworkGateway1', 'type': 'VirtualNetworkGateway'}, + 'virtual_network_gateway2': {'key': 'properties.virtualNetworkGateway2', 'type': 'VirtualNetworkGateway'}, + 'local_network_gateway2': {'key': 'properties.localNetworkGateway2', 'type': 'LocalNetworkGateway'}, + 'connection_type': {'key': 'properties.connectionType', 'type': 'str'}, + 'connection_protocol': {'key': 'properties.connectionProtocol', 'type': 'str'}, + 'routing_weight': {'key': 'properties.routingWeight', 'type': 'int'}, + 'dpd_timeout_seconds': {'key': 'properties.dpdTimeoutSeconds', 'type': 'int'}, + 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, + 'connection_status': {'key': 'properties.connectionStatus', 'type': 'str'}, + 'tunnel_connection_status': {'key': 'properties.tunnelConnectionStatus', 'type': '[TunnelConnectionHealth]'}, + 'egress_bytes_transferred': {'key': 'properties.egressBytesTransferred', 'type': 'long'}, + 'ingress_bytes_transferred': {'key': 'properties.ingressBytesTransferred', 'type': 'long'}, + 'peer': {'key': 'properties.peer', 'type': 'SubResource'}, + 'enable_bgp': {'key': 'properties.enableBgp', 'type': 'bool'}, + 'use_local_azure_ip_address': {'key': 'properties.useLocalAzureIpAddress', 'type': 'bool'}, + 'use_policy_based_traffic_selectors': {'key': 'properties.usePolicyBasedTrafficSelectors', 'type': 'bool'}, + 'ipsec_policies': {'key': 'properties.ipsecPolicies', 'type': '[IpsecPolicy]'}, + 'traffic_selector_policies': {'key': 'properties.trafficSelectorPolicies', 'type': '[TrafficSelectorPolicy]'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'express_route_gateway_bypass': {'key': 'properties.expressRouteGatewayBypass', 'type': 'bool'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, virtual_network_gateway1, connection_type, id: str=None, location: str=None, tags=None, authorization_key: str=None, virtual_network_gateway2=None, local_network_gateway2=None, connection_protocol=None, routing_weight: int=None, dpd_timeout_seconds: int=None, shared_key: str=None, peer=None, enable_bgp: bool=None, use_local_azure_ip_address: bool=None, use_policy_based_traffic_selectors: bool=None, ipsec_policies=None, traffic_selector_policies=None, express_route_gateway_bypass: bool=None, **kwargs) -> None: + super(VirtualNetworkGatewayConnection, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.authorization_key = authorization_key + self.virtual_network_gateway1 = virtual_network_gateway1 + self.virtual_network_gateway2 = virtual_network_gateway2 + self.local_network_gateway2 = local_network_gateway2 + self.connection_type = connection_type + self.connection_protocol = connection_protocol + self.routing_weight = routing_weight + self.dpd_timeout_seconds = dpd_timeout_seconds + self.shared_key = shared_key + self.connection_status = None + self.tunnel_connection_status = None + self.egress_bytes_transferred = None + self.ingress_bytes_transferred = None + self.peer = peer + self.enable_bgp = enable_bgp + self.use_local_azure_ip_address = use_local_azure_ip_address + self.use_policy_based_traffic_selectors = use_policy_based_traffic_selectors + self.ipsec_policies = ipsec_policies + self.traffic_selector_policies = traffic_selector_policies + self.resource_guid = None + self.provisioning_state = None + self.express_route_gateway_bypass = express_route_gateway_bypass + self.etag = None + + +class VirtualNetworkGatewayConnectionListEntity(Resource): + """A common class for general resource information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param authorization_key: The authorizationKey. + :type authorization_key: str + :param virtual_network_gateway1: Required. The reference to virtual + network gateway resource. + :type virtual_network_gateway1: + ~azure.mgmt.network.v2020_05_01.models.VirtualNetworkConnectionGatewayReference + :param virtual_network_gateway2: The reference to virtual network gateway + resource. + :type virtual_network_gateway2: + ~azure.mgmt.network.v2020_05_01.models.VirtualNetworkConnectionGatewayReference + :param local_network_gateway2: The reference to local network gateway + resource. + :type local_network_gateway2: + ~azure.mgmt.network.v2020_05_01.models.VirtualNetworkConnectionGatewayReference + :param connection_type: Required. Gateway connection type. Possible values + include: 'IPsec', 'Vnet2Vnet', 'ExpressRoute', 'VPNClient' + :type connection_type: str or + ~azure.mgmt.network.v2020_05_01.models.VirtualNetworkGatewayConnectionType + :param connection_protocol: Connection protocol used for this connection. + Possible values include: 'IKEv2', 'IKEv1' + :type connection_protocol: str or + ~azure.mgmt.network.v2020_05_01.models.VirtualNetworkGatewayConnectionProtocol + :param routing_weight: The routing weight. + :type routing_weight: int + :param shared_key: The IPSec shared key. + :type shared_key: str + :ivar connection_status: Virtual Network Gateway connection status. + Possible values include: 'Unknown', 'Connecting', 'Connected', + 'NotConnected' + :vartype connection_status: str or + ~azure.mgmt.network.v2020_05_01.models.VirtualNetworkGatewayConnectionStatus + :ivar tunnel_connection_status: Collection of all tunnels' connection + health status. + :vartype tunnel_connection_status: + list[~azure.mgmt.network.v2020_05_01.models.TunnelConnectionHealth] + :ivar egress_bytes_transferred: The egress bytes transferred in this + connection. + :vartype egress_bytes_transferred: long + :ivar ingress_bytes_transferred: The ingress bytes transferred in this + connection. + :vartype ingress_bytes_transferred: long + :param peer: The reference to peerings resource. + :type peer: ~azure.mgmt.network.v2020_05_01.models.SubResource + :param enable_bgp: EnableBgp flag. + :type enable_bgp: bool + :param use_policy_based_traffic_selectors: Enable policy-based traffic + selectors. + :type use_policy_based_traffic_selectors: bool + :param ipsec_policies: The IPSec Policies to be considered by this + connection. + :type ipsec_policies: + list[~azure.mgmt.network.v2020_05_01.models.IpsecPolicy] + :param traffic_selector_policies: The Traffic Selector Policies to be + considered by this connection. + :type traffic_selector_policies: + list[~azure.mgmt.network.v2020_05_01.models.TrafficSelectorPolicy] + :ivar resource_guid: The resource GUID property of the virtual network + gateway connection resource. + :vartype resource_guid: str + :ivar provisioning_state: The provisioning state of the virtual network + gateway connection resource. Possible values include: 'Succeeded', + 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param express_route_gateway_bypass: Bypass ExpressRoute Gateway for data + forwarding. + :type express_route_gateway_bypass: bool + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'virtual_network_gateway1': {'required': True}, + 'connection_type': {'required': True}, + 'connection_status': {'readonly': True}, + 'tunnel_connection_status': {'readonly': True}, + 'egress_bytes_transferred': {'readonly': True}, + 'ingress_bytes_transferred': {'readonly': True}, + 'resource_guid': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'authorization_key': {'key': 'properties.authorizationKey', 'type': 'str'}, + 'virtual_network_gateway1': {'key': 'properties.virtualNetworkGateway1', 'type': 'VirtualNetworkConnectionGatewayReference'}, + 'virtual_network_gateway2': {'key': 'properties.virtualNetworkGateway2', 'type': 'VirtualNetworkConnectionGatewayReference'}, + 'local_network_gateway2': {'key': 'properties.localNetworkGateway2', 'type': 'VirtualNetworkConnectionGatewayReference'}, + 'connection_type': {'key': 'properties.connectionType', 'type': 'str'}, + 'connection_protocol': {'key': 'properties.connectionProtocol', 'type': 'str'}, + 'routing_weight': {'key': 'properties.routingWeight', 'type': 'int'}, + 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, + 'connection_status': {'key': 'properties.connectionStatus', 'type': 'str'}, + 'tunnel_connection_status': {'key': 'properties.tunnelConnectionStatus', 'type': '[TunnelConnectionHealth]'}, + 'egress_bytes_transferred': {'key': 'properties.egressBytesTransferred', 'type': 'long'}, + 'ingress_bytes_transferred': {'key': 'properties.ingressBytesTransferred', 'type': 'long'}, + 'peer': {'key': 'properties.peer', 'type': 'SubResource'}, + 'enable_bgp': {'key': 'properties.enableBgp', 'type': 'bool'}, + 'use_policy_based_traffic_selectors': {'key': 'properties.usePolicyBasedTrafficSelectors', 'type': 'bool'}, + 'ipsec_policies': {'key': 'properties.ipsecPolicies', 'type': '[IpsecPolicy]'}, + 'traffic_selector_policies': {'key': 'properties.trafficSelectorPolicies', 'type': '[TrafficSelectorPolicy]'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'express_route_gateway_bypass': {'key': 'properties.expressRouteGatewayBypass', 'type': 'bool'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, virtual_network_gateway1, connection_type, id: str=None, location: str=None, tags=None, authorization_key: str=None, virtual_network_gateway2=None, local_network_gateway2=None, connection_protocol=None, routing_weight: int=None, shared_key: str=None, peer=None, enable_bgp: bool=None, use_policy_based_traffic_selectors: bool=None, ipsec_policies=None, traffic_selector_policies=None, express_route_gateway_bypass: bool=None, **kwargs) -> None: + super(VirtualNetworkGatewayConnectionListEntity, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.authorization_key = authorization_key + self.virtual_network_gateway1 = virtual_network_gateway1 + self.virtual_network_gateway2 = virtual_network_gateway2 + self.local_network_gateway2 = local_network_gateway2 + self.connection_type = connection_type + self.connection_protocol = connection_protocol + self.routing_weight = routing_weight + self.shared_key = shared_key + self.connection_status = None + self.tunnel_connection_status = None + self.egress_bytes_transferred = None + self.ingress_bytes_transferred = None + self.peer = peer + self.enable_bgp = enable_bgp + self.use_policy_based_traffic_selectors = use_policy_based_traffic_selectors + self.ipsec_policies = ipsec_policies + self.traffic_selector_policies = traffic_selector_policies + self.resource_guid = None + self.provisioning_state = None + self.express_route_gateway_bypass = express_route_gateway_bypass + self.etag = None + + +class VirtualNetworkGatewayIPConfiguration(SubResource): + """IP configuration for virtual network gateway. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param private_ip_allocation_method: The private IP address allocation + method. Possible values include: 'Static', 'Dynamic' + :type private_ip_allocation_method: str or + ~azure.mgmt.network.v2020_05_01.models.IPAllocationMethod + :param subnet: The reference to the subnet resource. + :type subnet: ~azure.mgmt.network.v2020_05_01.models.SubResource + :param public_ip_address: The reference to the public IP resource. + :type public_ip_address: + ~azure.mgmt.network.v2020_05_01.models.SubResource + :ivar private_ip_address: Private IP Address for this gateway. + :vartype private_ip_address: str + :ivar provisioning_state: The provisioning state of the virtual network + gateway IP configuration resource. Possible values include: 'Succeeded', + 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'private_ip_address': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, + 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, + 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'SubResource'}, + 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, private_ip_allocation_method=None, subnet=None, public_ip_address=None, name: str=None, **kwargs) -> None: + super(VirtualNetworkGatewayIPConfiguration, self).__init__(id=id, **kwargs) + self.private_ip_allocation_method = private_ip_allocation_method + self.subnet = subnet + self.public_ip_address = public_ip_address + self.private_ip_address = None + self.provisioning_state = None + self.name = name + self.etag = None + + +class VirtualNetworkGatewaySku(Model): + """VirtualNetworkGatewaySku details. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param name: Gateway SKU name. Possible values include: 'Basic', + 'HighPerformance', 'Standard', 'UltraPerformance', 'VpnGw1', 'VpnGw2', + 'VpnGw3', 'VpnGw4', 'VpnGw5', 'VpnGw1AZ', 'VpnGw2AZ', 'VpnGw3AZ', + 'VpnGw4AZ', 'VpnGw5AZ', 'ErGw1AZ', 'ErGw2AZ', 'ErGw3AZ' + :type name: str or + ~azure.mgmt.network.v2020_05_01.models.VirtualNetworkGatewaySkuName + :param tier: Gateway SKU tier. Possible values include: 'Basic', + 'HighPerformance', 'Standard', 'UltraPerformance', 'VpnGw1', 'VpnGw2', + 'VpnGw3', 'VpnGw4', 'VpnGw5', 'VpnGw1AZ', 'VpnGw2AZ', 'VpnGw3AZ', + 'VpnGw4AZ', 'VpnGw5AZ', 'ErGw1AZ', 'ErGw2AZ', 'ErGw3AZ' + :type tier: str or + ~azure.mgmt.network.v2020_05_01.models.VirtualNetworkGatewaySkuTier + :ivar capacity: The capacity. + :vartype capacity: int + """ + + _validation = { + 'capacity': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + 'capacity': {'key': 'capacity', 'type': 'int'}, + } + + def __init__(self, *, name=None, tier=None, **kwargs) -> None: + super(VirtualNetworkGatewaySku, self).__init__(**kwargs) + self.name = name + self.tier = tier + self.capacity = None + + +class VirtualNetworkPeering(SubResource): + """Peerings in a virtual network resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param allow_virtual_network_access: Whether the VMs in the local virtual + network space would be able to access the VMs in remote virtual network + space. + :type allow_virtual_network_access: bool + :param allow_forwarded_traffic: Whether the forwarded traffic from the VMs + in the local virtual network will be allowed/disallowed in remote virtual + network. + :type allow_forwarded_traffic: bool + :param allow_gateway_transit: If gateway links can be used in remote + virtual networking to link to this virtual network. + :type allow_gateway_transit: bool + :param use_remote_gateways: If remote gateways can be used on this virtual + network. If the flag is set to true, and allowGatewayTransit on remote + peering is also true, virtual network will use gateways of remote virtual + network for transit. Only one peering can have this flag set to true. This + flag cannot be set if virtual network already has a gateway. + :type use_remote_gateways: bool + :param remote_virtual_network: The reference to the remote virtual + network. The remote virtual network can be in the same or different region + (preview). See here to register for the preview and learn more + (https://docs.microsoft.com/en-us/azure/virtual-network/virtual-network-create-peering). + :type remote_virtual_network: + ~azure.mgmt.network.v2020_05_01.models.SubResource + :param remote_address_space: The reference to the remote virtual network + address space. + :type remote_address_space: + ~azure.mgmt.network.v2020_05_01.models.AddressSpace + :param peering_state: The status of the virtual network peering. Possible + values include: 'Initiated', 'Connected', 'Disconnected' + :type peering_state: str or + ~azure.mgmt.network.v2020_05_01.models.VirtualNetworkPeeringState + :ivar provisioning_state: The provisioning state of the virtual network + peering resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'allow_virtual_network_access': {'key': 'properties.allowVirtualNetworkAccess', 'type': 'bool'}, + 'allow_forwarded_traffic': {'key': 'properties.allowForwardedTraffic', 'type': 'bool'}, + 'allow_gateway_transit': {'key': 'properties.allowGatewayTransit', 'type': 'bool'}, + 'use_remote_gateways': {'key': 'properties.useRemoteGateways', 'type': 'bool'}, + 'remote_virtual_network': {'key': 'properties.remoteVirtualNetwork', 'type': 'SubResource'}, + 'remote_address_space': {'key': 'properties.remoteAddressSpace', 'type': 'AddressSpace'}, + 'peering_state': {'key': 'properties.peeringState', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, allow_virtual_network_access: bool=None, allow_forwarded_traffic: bool=None, allow_gateway_transit: bool=None, use_remote_gateways: bool=None, remote_virtual_network=None, remote_address_space=None, peering_state=None, name: str=None, **kwargs) -> None: + super(VirtualNetworkPeering, self).__init__(id=id, **kwargs) + self.allow_virtual_network_access = allow_virtual_network_access + self.allow_forwarded_traffic = allow_forwarded_traffic + self.allow_gateway_transit = allow_gateway_transit + self.use_remote_gateways = use_remote_gateways + self.remote_virtual_network = remote_virtual_network + self.remote_address_space = remote_address_space + self.peering_state = peering_state + self.provisioning_state = None + self.name = name + self.etag = None + + +class VirtualNetworkTap(Resource): + """Virtual Network Tap resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar network_interface_tap_configurations: Specifies the list of resource + IDs for the network interface IP configuration that needs to be tapped. + :vartype network_interface_tap_configurations: + list[~azure.mgmt.network.v2020_05_01.models.NetworkInterfaceTapConfiguration] + :ivar resource_guid: The resource GUID property of the virtual network tap + resource. + :vartype resource_guid: str + :ivar provisioning_state: The provisioning state of the virtual network + tap resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param destination_network_interface_ip_configuration: The reference to + the private IP Address of the collector nic that will receive the tap. + :type destination_network_interface_ip_configuration: + ~azure.mgmt.network.v2020_05_01.models.NetworkInterfaceIPConfiguration + :param destination_load_balancer_front_end_ip_configuration: The reference + to the private IP address on the internal Load Balancer that will receive + the tap. + :type destination_load_balancer_front_end_ip_configuration: + ~azure.mgmt.network.v2020_05_01.models.FrontendIPConfiguration + :param destination_port: The VXLAN destination port that will receive the + tapped traffic. + :type destination_port: int + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'network_interface_tap_configurations': {'readonly': True}, + 'resource_guid': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'network_interface_tap_configurations': {'key': 'properties.networkInterfaceTapConfigurations', 'type': '[NetworkInterfaceTapConfiguration]'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'destination_network_interface_ip_configuration': {'key': 'properties.destinationNetworkInterfaceIPConfiguration', 'type': 'NetworkInterfaceIPConfiguration'}, + 'destination_load_balancer_front_end_ip_configuration': {'key': 'properties.destinationLoadBalancerFrontEndIPConfiguration', 'type': 'FrontendIPConfiguration'}, + 'destination_port': {'key': 'properties.destinationPort', 'type': 'int'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, destination_network_interface_ip_configuration=None, destination_load_balancer_front_end_ip_configuration=None, destination_port: int=None, **kwargs) -> None: + super(VirtualNetworkTap, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.network_interface_tap_configurations = None + self.resource_guid = None + self.provisioning_state = None + self.destination_network_interface_ip_configuration = destination_network_interface_ip_configuration + self.destination_load_balancer_front_end_ip_configuration = destination_load_balancer_front_end_ip_configuration + self.destination_port = destination_port + self.etag = None + + +class VirtualNetworkUsage(Model): + """Usage details for subnet. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar current_value: Indicates number of IPs used from the Subnet. + :vartype current_value: float + :ivar id: Subnet identifier. + :vartype id: str + :ivar limit: Indicates the size of the subnet. + :vartype limit: float + :ivar name: The name containing common and localized value for usage. + :vartype name: + ~azure.mgmt.network.v2020_05_01.models.VirtualNetworkUsageName + :ivar unit: Usage units. Returns 'Count'. + :vartype unit: str + """ + + _validation = { + 'current_value': {'readonly': True}, + 'id': {'readonly': True}, + 'limit': {'readonly': True}, + 'name': {'readonly': True}, + 'unit': {'readonly': True}, + } + + _attribute_map = { + 'current_value': {'key': 'currentValue', 'type': 'float'}, + 'id': {'key': 'id', 'type': 'str'}, + 'limit': {'key': 'limit', 'type': 'float'}, + 'name': {'key': 'name', 'type': 'VirtualNetworkUsageName'}, + 'unit': {'key': 'unit', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(VirtualNetworkUsage, self).__init__(**kwargs) + self.current_value = None + self.id = None + self.limit = None + self.name = None + self.unit = None + + +class VirtualNetworkUsageName(Model): + """Usage strings container. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar localized_value: Localized subnet size and usage string. + :vartype localized_value: str + :ivar value: Subnet size and usage string. + :vartype value: str + """ + + _validation = { + 'localized_value': {'readonly': True}, + 'value': {'readonly': True}, + } + + _attribute_map = { + 'localized_value': {'key': 'localizedValue', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(VirtualNetworkUsageName, self).__init__(**kwargs) + self.localized_value = None + self.value = None + + +class VirtualRouter(Resource): + """VirtualRouter Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param virtual_router_asn: VirtualRouter ASN. + :type virtual_router_asn: long + :param virtual_router_ips: VirtualRouter IPs. + :type virtual_router_ips: list[str] + :param hosted_subnet: The Subnet on which VirtualRouter is hosted. + :type hosted_subnet: ~azure.mgmt.network.v2020_05_01.models.SubResource + :param hosted_gateway: The Gateway on which VirtualRouter is hosted. + :type hosted_gateway: ~azure.mgmt.network.v2020_05_01.models.SubResource + :ivar peerings: List of references to VirtualRouterPeerings. + :vartype peerings: + list[~azure.mgmt.network.v2020_05_01.models.SubResource] + :ivar provisioning_state: The provisioning state of the resource. Possible + values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'virtual_router_asn': {'maximum': 4294967295, 'minimum': 0}, + 'peerings': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'virtual_router_asn': {'key': 'properties.virtualRouterAsn', 'type': 'long'}, + 'virtual_router_ips': {'key': 'properties.virtualRouterIps', 'type': '[str]'}, + 'hosted_subnet': {'key': 'properties.hostedSubnet', 'type': 'SubResource'}, + 'hosted_gateway': {'key': 'properties.hostedGateway', 'type': 'SubResource'}, + 'peerings': {'key': 'properties.peerings', 'type': '[SubResource]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, virtual_router_asn: int=None, virtual_router_ips=None, hosted_subnet=None, hosted_gateway=None, **kwargs) -> None: + super(VirtualRouter, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.virtual_router_asn = virtual_router_asn + self.virtual_router_ips = virtual_router_ips + self.hosted_subnet = hosted_subnet + self.hosted_gateway = hosted_gateway + self.peerings = None + self.provisioning_state = None + self.etag = None + + +class VirtualRouterPeering(SubResource): + """Virtual Router Peering resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param peer_asn: Peer ASN. + :type peer_asn: long + :param peer_ip: Peer IP. + :type peer_ip: str + :ivar provisioning_state: The provisioning state of the resource. Possible + values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: Name of the virtual router peering that is unique within a + virtual router. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Peering type. + :vartype type: str + """ + + _validation = { + 'peer_asn': {'maximum': 4294967295, 'minimum': 0}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'peer_asn': {'key': 'properties.peerAsn', 'type': 'long'}, + 'peer_ip': {'key': 'properties.peerIp', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, peer_asn: int=None, peer_ip: str=None, name: str=None, **kwargs) -> None: + super(VirtualRouterPeering, self).__init__(id=id, **kwargs) + self.peer_asn = peer_asn + self.peer_ip = peer_ip + self.provisioning_state = None + self.name = name + self.etag = None + self.type = None + + +class VirtualWAN(Resource): + """VirtualWAN Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param disable_vpn_encryption: Vpn encryption to be disabled or not. + :type disable_vpn_encryption: bool + :ivar virtual_hubs: List of VirtualHubs in the VirtualWAN. + :vartype virtual_hubs: + list[~azure.mgmt.network.v2020_05_01.models.SubResource] + :ivar vpn_sites: List of VpnSites in the VirtualWAN. + :vartype vpn_sites: + list[~azure.mgmt.network.v2020_05_01.models.SubResource] + :param allow_branch_to_branch_traffic: True if branch to branch traffic is + allowed. + :type allow_branch_to_branch_traffic: bool + :param allow_vnet_to_vnet_traffic: True if Vnet to Vnet traffic is + allowed. + :type allow_vnet_to_vnet_traffic: bool + :param office365_local_breakout_category: The office local breakout + category. Possible values include: 'Optimize', 'OptimizeAndAllow', 'All', + 'None' + :type office365_local_breakout_category: str or + ~azure.mgmt.network.v2020_05_01.models.OfficeTrafficCategory + :ivar provisioning_state: The provisioning state of the virtual WAN + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param virtual_wan_type: The type of the VirtualWAN. + :type virtual_wan_type: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'virtual_hubs': {'readonly': True}, + 'vpn_sites': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'disable_vpn_encryption': {'key': 'properties.disableVpnEncryption', 'type': 'bool'}, + 'virtual_hubs': {'key': 'properties.virtualHubs', 'type': '[SubResource]'}, + 'vpn_sites': {'key': 'properties.vpnSites', 'type': '[SubResource]'}, + 'allow_branch_to_branch_traffic': {'key': 'properties.allowBranchToBranchTraffic', 'type': 'bool'}, + 'allow_vnet_to_vnet_traffic': {'key': 'properties.allowVnetToVnetTraffic', 'type': 'bool'}, + 'office365_local_breakout_category': {'key': 'properties.office365LocalBreakoutCategory', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'virtual_wan_type': {'key': 'properties.type', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, disable_vpn_encryption: bool=None, allow_branch_to_branch_traffic: bool=None, allow_vnet_to_vnet_traffic: bool=None, office365_local_breakout_category=None, virtual_wan_type: str=None, **kwargs) -> None: + super(VirtualWAN, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.disable_vpn_encryption = disable_vpn_encryption + self.virtual_hubs = None + self.vpn_sites = None + self.allow_branch_to_branch_traffic = allow_branch_to_branch_traffic + self.allow_vnet_to_vnet_traffic = allow_vnet_to_vnet_traffic + self.office365_local_breakout_category = office365_local_breakout_category + self.provisioning_state = None + self.virtual_wan_type = virtual_wan_type + self.etag = None + + +class VirtualWanSecurityProvider(Model): + """Collection of SecurityProviders. + + :param name: Name of the security provider. + :type name: str + :param url: Url of the security provider. + :type url: str + :param type: Name of the security provider. Possible values include: + 'External', 'Native' + :type type: str or + ~azure.mgmt.network.v2020_05_01.models.VirtualWanSecurityProviderType + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'url': {'key': 'url', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, url: str=None, type=None, **kwargs) -> None: + super(VirtualWanSecurityProvider, self).__init__(**kwargs) + self.name = name + self.url = url + self.type = type + + +class VirtualWanSecurityProviders(Model): + """Collection of SecurityProviders. + + :param supported_providers: List of VirtualWAN security providers. + :type supported_providers: + list[~azure.mgmt.network.v2020_05_01.models.VirtualWanSecurityProvider] + """ + + _attribute_map = { + 'supported_providers': {'key': 'supportedProviders', 'type': '[VirtualWanSecurityProvider]'}, + } + + def __init__(self, *, supported_providers=None, **kwargs) -> None: + super(VirtualWanSecurityProviders, self).__init__(**kwargs) + self.supported_providers = supported_providers + + +class VirtualWanVpnProfileParameters(Model): + """Virtual Wan Vpn profile parameters Vpn profile generation. + + :param vpn_server_configuration_resource_id: VpnServerConfiguration + partial resource uri with which VirtualWan is associated to. + :type vpn_server_configuration_resource_id: str + :param authentication_method: VPN client authentication method. Possible + values include: 'EAPTLS', 'EAPMSCHAPv2' + :type authentication_method: str or + ~azure.mgmt.network.v2020_05_01.models.AuthenticationMethod + """ + + _attribute_map = { + 'vpn_server_configuration_resource_id': {'key': 'vpnServerConfigurationResourceId', 'type': 'str'}, + 'authentication_method': {'key': 'authenticationMethod', 'type': 'str'}, + } + + def __init__(self, *, vpn_server_configuration_resource_id: str=None, authentication_method=None, **kwargs) -> None: + super(VirtualWanVpnProfileParameters, self).__init__(**kwargs) + self.vpn_server_configuration_resource_id = vpn_server_configuration_resource_id + self.authentication_method = authentication_method + + +class VM(Resource): + """Describes a Virtual Machine. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, **kwargs) -> None: + super(VM, self).__init__(id=id, location=location, tags=tags, **kwargs) + + +class VnetRoute(Model): + """List of routes that control routing from VirtualHub into a virtual network + connection. + + :param static_routes: List of all Static Routes. + :type static_routes: + list[~azure.mgmt.network.v2020_05_01.models.StaticRoute] + """ + + _attribute_map = { + 'static_routes': {'key': 'staticRoutes', 'type': '[StaticRoute]'}, + } + + def __init__(self, *, static_routes=None, **kwargs) -> None: + super(VnetRoute, self).__init__(**kwargs) + self.static_routes = static_routes + + +class VpnClientConfiguration(Model): + """VpnClientConfiguration for P2S client. + + :param vpn_client_address_pool: The reference to the address space + resource which represents Address space for P2S VpnClient. + :type vpn_client_address_pool: + ~azure.mgmt.network.v2020_05_01.models.AddressSpace + :param vpn_client_root_certificates: VpnClientRootCertificate for virtual + network gateway. + :type vpn_client_root_certificates: + list[~azure.mgmt.network.v2020_05_01.models.VpnClientRootCertificate] + :param vpn_client_revoked_certificates: VpnClientRevokedCertificate for + Virtual network gateway. + :type vpn_client_revoked_certificates: + list[~azure.mgmt.network.v2020_05_01.models.VpnClientRevokedCertificate] + :param vpn_client_protocols: VpnClientProtocols for Virtual network + gateway. + :type vpn_client_protocols: list[str or + ~azure.mgmt.network.v2020_05_01.models.VpnClientProtocol] + :param vpn_client_ipsec_policies: VpnClientIpsecPolicies for virtual + network gateway P2S client. + :type vpn_client_ipsec_policies: + list[~azure.mgmt.network.v2020_05_01.models.IpsecPolicy] + :param radius_server_address: The radius server address property of the + VirtualNetworkGateway resource for vpn client connection. + :type radius_server_address: str + :param radius_server_secret: The radius secret property of the + VirtualNetworkGateway resource for vpn client connection. + :type radius_server_secret: str + :param radius_servers: The radiusServers property for multiple radius + server configuration. + :type radius_servers: + list[~azure.mgmt.network.v2020_05_01.models.RadiusServer] + :param aad_tenant: The AADTenant property of the VirtualNetworkGateway + resource for vpn client connection used for AAD authentication. + :type aad_tenant: str + :param aad_audience: The AADAudience property of the VirtualNetworkGateway + resource for vpn client connection used for AAD authentication. + :type aad_audience: str + :param aad_issuer: The AADIssuer property of the VirtualNetworkGateway + resource for vpn client connection used for AAD authentication. + :type aad_issuer: str + """ + + _attribute_map = { + 'vpn_client_address_pool': {'key': 'vpnClientAddressPool', 'type': 'AddressSpace'}, + 'vpn_client_root_certificates': {'key': 'vpnClientRootCertificates', 'type': '[VpnClientRootCertificate]'}, + 'vpn_client_revoked_certificates': {'key': 'vpnClientRevokedCertificates', 'type': '[VpnClientRevokedCertificate]'}, + 'vpn_client_protocols': {'key': 'vpnClientProtocols', 'type': '[str]'}, + 'vpn_client_ipsec_policies': {'key': 'vpnClientIpsecPolicies', 'type': '[IpsecPolicy]'}, + 'radius_server_address': {'key': 'radiusServerAddress', 'type': 'str'}, + 'radius_server_secret': {'key': 'radiusServerSecret', 'type': 'str'}, + 'radius_servers': {'key': 'radiusServers', 'type': '[RadiusServer]'}, + 'aad_tenant': {'key': 'aadTenant', 'type': 'str'}, + 'aad_audience': {'key': 'aadAudience', 'type': 'str'}, + 'aad_issuer': {'key': 'aadIssuer', 'type': 'str'}, + } + + def __init__(self, *, vpn_client_address_pool=None, vpn_client_root_certificates=None, vpn_client_revoked_certificates=None, vpn_client_protocols=None, vpn_client_ipsec_policies=None, radius_server_address: str=None, radius_server_secret: str=None, radius_servers=None, aad_tenant: str=None, aad_audience: str=None, aad_issuer: str=None, **kwargs) -> None: + super(VpnClientConfiguration, self).__init__(**kwargs) + self.vpn_client_address_pool = vpn_client_address_pool + self.vpn_client_root_certificates = vpn_client_root_certificates + self.vpn_client_revoked_certificates = vpn_client_revoked_certificates + self.vpn_client_protocols = vpn_client_protocols + self.vpn_client_ipsec_policies = vpn_client_ipsec_policies + self.radius_server_address = radius_server_address + self.radius_server_secret = radius_server_secret + self.radius_servers = radius_servers + self.aad_tenant = aad_tenant + self.aad_audience = aad_audience + self.aad_issuer = aad_issuer + + +class VpnClientConnectionHealth(Model): + """VpnClientConnectionHealth properties. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar total_ingress_bytes_transferred: Total of the Ingress Bytes + Transferred in this P2S Vpn connection. + :vartype total_ingress_bytes_transferred: long + :ivar total_egress_bytes_transferred: Total of the Egress Bytes + Transferred in this connection. + :vartype total_egress_bytes_transferred: long + :param vpn_client_connections_count: The total of p2s vpn clients + connected at this time to this P2SVpnGateway. + :type vpn_client_connections_count: int + :param allocated_ip_addresses: List of allocated ip addresses to the + connected p2s vpn clients. + :type allocated_ip_addresses: list[str] + """ + + _validation = { + 'total_ingress_bytes_transferred': {'readonly': True}, + 'total_egress_bytes_transferred': {'readonly': True}, + } + + _attribute_map = { + 'total_ingress_bytes_transferred': {'key': 'totalIngressBytesTransferred', 'type': 'long'}, + 'total_egress_bytes_transferred': {'key': 'totalEgressBytesTransferred', 'type': 'long'}, + 'vpn_client_connections_count': {'key': 'vpnClientConnectionsCount', 'type': 'int'}, + 'allocated_ip_addresses': {'key': 'allocatedIpAddresses', 'type': '[str]'}, + } + + def __init__(self, *, vpn_client_connections_count: int=None, allocated_ip_addresses=None, **kwargs) -> None: + super(VpnClientConnectionHealth, self).__init__(**kwargs) + self.total_ingress_bytes_transferred = None + self.total_egress_bytes_transferred = None + self.vpn_client_connections_count = vpn_client_connections_count + self.allocated_ip_addresses = allocated_ip_addresses + + +class VpnClientConnectionHealthDetail(Model): + """VPN client connection health detail. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar vpn_connection_id: The vpn client Id. + :vartype vpn_connection_id: str + :ivar vpn_connection_duration: The duration time of a connected vpn + client. + :vartype vpn_connection_duration: long + :ivar vpn_connection_time: The start time of a connected vpn client. + :vartype vpn_connection_time: str + :ivar public_ip_address: The public Ip of a connected vpn client. + :vartype public_ip_address: str + :ivar private_ip_address: The assigned private Ip of a connected vpn + client. + :vartype private_ip_address: str + :ivar vpn_user_name: The user name of a connected vpn client. + :vartype vpn_user_name: str + :ivar max_bandwidth: The max band width. + :vartype max_bandwidth: long + :ivar egress_packets_transferred: The egress packets per second. + :vartype egress_packets_transferred: long + :ivar egress_bytes_transferred: The egress bytes per second. + :vartype egress_bytes_transferred: long + :ivar ingress_packets_transferred: The ingress packets per second. + :vartype ingress_packets_transferred: long + :ivar ingress_bytes_transferred: The ingress bytes per second. + :vartype ingress_bytes_transferred: long + :ivar max_packets_per_second: The max packets transferred per second. + :vartype max_packets_per_second: long + """ + + _validation = { + 'vpn_connection_id': {'readonly': True}, + 'vpn_connection_duration': {'readonly': True}, + 'vpn_connection_time': {'readonly': True}, + 'public_ip_address': {'readonly': True}, + 'private_ip_address': {'readonly': True}, + 'vpn_user_name': {'readonly': True}, + 'max_bandwidth': {'readonly': True}, + 'egress_packets_transferred': {'readonly': True}, + 'egress_bytes_transferred': {'readonly': True}, + 'ingress_packets_transferred': {'readonly': True}, + 'ingress_bytes_transferred': {'readonly': True}, + 'max_packets_per_second': {'readonly': True}, + } + + _attribute_map = { + 'vpn_connection_id': {'key': 'vpnConnectionId', 'type': 'str'}, + 'vpn_connection_duration': {'key': 'vpnConnectionDuration', 'type': 'long'}, + 'vpn_connection_time': {'key': 'vpnConnectionTime', 'type': 'str'}, + 'public_ip_address': {'key': 'publicIpAddress', 'type': 'str'}, + 'private_ip_address': {'key': 'privateIpAddress', 'type': 'str'}, + 'vpn_user_name': {'key': 'vpnUserName', 'type': 'str'}, + 'max_bandwidth': {'key': 'maxBandwidth', 'type': 'long'}, + 'egress_packets_transferred': {'key': 'egressPacketsTransferred', 'type': 'long'}, + 'egress_bytes_transferred': {'key': 'egressBytesTransferred', 'type': 'long'}, + 'ingress_packets_transferred': {'key': 'ingressPacketsTransferred', 'type': 'long'}, + 'ingress_bytes_transferred': {'key': 'ingressBytesTransferred', 'type': 'long'}, + 'max_packets_per_second': {'key': 'maxPacketsPerSecond', 'type': 'long'}, + } + + def __init__(self, **kwargs) -> None: + super(VpnClientConnectionHealthDetail, self).__init__(**kwargs) + self.vpn_connection_id = None + self.vpn_connection_duration = None + self.vpn_connection_time = None + self.public_ip_address = None + self.private_ip_address = None + self.vpn_user_name = None + self.max_bandwidth = None + self.egress_packets_transferred = None + self.egress_bytes_transferred = None + self.ingress_packets_transferred = None + self.ingress_bytes_transferred = None + self.max_packets_per_second = None + + +class VpnClientConnectionHealthDetailListResult(Model): + """List of virtual network gateway vpn client connection health. + + :param value: List of vpn client connection health. + :type value: + list[~azure.mgmt.network.v2020_05_01.models.VpnClientConnectionHealthDetail] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[VpnClientConnectionHealthDetail]'}, + } + + def __init__(self, *, value=None, **kwargs) -> None: + super(VpnClientConnectionHealthDetailListResult, self).__init__(**kwargs) + self.value = value + + +class VpnClientIPsecParameters(Model): + """An IPSec parameters for a virtual network gateway P2S connection. + + All required parameters must be populated in order to send to Azure. + + :param sa_life_time_seconds: Required. The IPSec Security Association + (also called Quick Mode or Phase 2 SA) lifetime in seconds for P2S client. + :type sa_life_time_seconds: int + :param sa_data_size_kilobytes: Required. The IPSec Security Association + (also called Quick Mode or Phase 2 SA) payload size in KB for P2S client.. + :type sa_data_size_kilobytes: int + :param ipsec_encryption: Required. The IPSec encryption algorithm (IKE + phase 1). Possible values include: 'None', 'DES', 'DES3', 'AES128', + 'AES192', 'AES256', 'GCMAES128', 'GCMAES192', 'GCMAES256' + :type ipsec_encryption: str or + ~azure.mgmt.network.v2020_05_01.models.IpsecEncryption + :param ipsec_integrity: Required. The IPSec integrity algorithm (IKE phase + 1). Possible values include: 'MD5', 'SHA1', 'SHA256', 'GCMAES128', + 'GCMAES192', 'GCMAES256' + :type ipsec_integrity: str or + ~azure.mgmt.network.v2020_05_01.models.IpsecIntegrity + :param ike_encryption: Required. The IKE encryption algorithm (IKE phase + 2). Possible values include: 'DES', 'DES3', 'AES128', 'AES192', 'AES256', + 'GCMAES256', 'GCMAES128' + :type ike_encryption: str or + ~azure.mgmt.network.v2020_05_01.models.IkeEncryption + :param ike_integrity: Required. The IKE integrity algorithm (IKE phase 2). + Possible values include: 'MD5', 'SHA1', 'SHA256', 'SHA384', 'GCMAES256', + 'GCMAES128' + :type ike_integrity: str or + ~azure.mgmt.network.v2020_05_01.models.IkeIntegrity + :param dh_group: Required. The DH Group used in IKE Phase 1 for initial + SA. Possible values include: 'None', 'DHGroup1', 'DHGroup2', 'DHGroup14', + 'DHGroup2048', 'ECP256', 'ECP384', 'DHGroup24' + :type dh_group: str or ~azure.mgmt.network.v2020_05_01.models.DhGroup + :param pfs_group: Required. The Pfs Group used in IKE Phase 2 for new + child SA. Possible values include: 'None', 'PFS1', 'PFS2', 'PFS2048', + 'ECP256', 'ECP384', 'PFS24', 'PFS14', 'PFSMM' + :type pfs_group: str or ~azure.mgmt.network.v2020_05_01.models.PfsGroup + """ + + _validation = { + 'sa_life_time_seconds': {'required': True}, + 'sa_data_size_kilobytes': {'required': True}, + 'ipsec_encryption': {'required': True}, + 'ipsec_integrity': {'required': True}, + 'ike_encryption': {'required': True}, + 'ike_integrity': {'required': True}, + 'dh_group': {'required': True}, + 'pfs_group': {'required': True}, + } + + _attribute_map = { + 'sa_life_time_seconds': {'key': 'saLifeTimeSeconds', 'type': 'int'}, + 'sa_data_size_kilobytes': {'key': 'saDataSizeKilobytes', 'type': 'int'}, + 'ipsec_encryption': {'key': 'ipsecEncryption', 'type': 'str'}, + 'ipsec_integrity': {'key': 'ipsecIntegrity', 'type': 'str'}, + 'ike_encryption': {'key': 'ikeEncryption', 'type': 'str'}, + 'ike_integrity': {'key': 'ikeIntegrity', 'type': 'str'}, + 'dh_group': {'key': 'dhGroup', 'type': 'str'}, + 'pfs_group': {'key': 'pfsGroup', 'type': 'str'}, + } + + def __init__(self, *, sa_life_time_seconds: int, sa_data_size_kilobytes: int, ipsec_encryption, ipsec_integrity, ike_encryption, ike_integrity, dh_group, pfs_group, **kwargs) -> None: + super(VpnClientIPsecParameters, self).__init__(**kwargs) + self.sa_life_time_seconds = sa_life_time_seconds + self.sa_data_size_kilobytes = sa_data_size_kilobytes + self.ipsec_encryption = ipsec_encryption + self.ipsec_integrity = ipsec_integrity + self.ike_encryption = ike_encryption + self.ike_integrity = ike_integrity + self.dh_group = dh_group + self.pfs_group = pfs_group + + +class VpnClientParameters(Model): + """Vpn Client Parameters for package generation. + + :param processor_architecture: VPN client Processor Architecture. Possible + values include: 'Amd64', 'X86' + :type processor_architecture: str or + ~azure.mgmt.network.v2020_05_01.models.ProcessorArchitecture + :param authentication_method: VPN client authentication method. Possible + values include: 'EAPTLS', 'EAPMSCHAPv2' + :type authentication_method: str or + ~azure.mgmt.network.v2020_05_01.models.AuthenticationMethod + :param radius_server_auth_certificate: The public certificate data for the + radius server authentication certificate as a Base-64 encoded string. + Required only if external radius authentication has been configured with + EAPTLS authentication. + :type radius_server_auth_certificate: str + :param client_root_certificates: A list of client root certificates public + certificate data encoded as Base-64 strings. Optional parameter for + external radius based authentication with EAPTLS. + :type client_root_certificates: list[str] + """ + + _attribute_map = { + 'processor_architecture': {'key': 'processorArchitecture', 'type': 'str'}, + 'authentication_method': {'key': 'authenticationMethod', 'type': 'str'}, + 'radius_server_auth_certificate': {'key': 'radiusServerAuthCertificate', 'type': 'str'}, + 'client_root_certificates': {'key': 'clientRootCertificates', 'type': '[str]'}, + } + + def __init__(self, *, processor_architecture=None, authentication_method=None, radius_server_auth_certificate: str=None, client_root_certificates=None, **kwargs) -> None: + super(VpnClientParameters, self).__init__(**kwargs) + self.processor_architecture = processor_architecture + self.authentication_method = authentication_method + self.radius_server_auth_certificate = radius_server_auth_certificate + self.client_root_certificates = client_root_certificates + + +class VpnClientRevokedCertificate(SubResource): + """VPN client revoked certificate of virtual network gateway. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param thumbprint: The revoked VPN client certificate thumbprint. + :type thumbprint: str + :ivar provisioning_state: The provisioning state of the VPN client revoked + certificate resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'thumbprint': {'key': 'properties.thumbprint', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, thumbprint: str=None, name: str=None, **kwargs) -> None: + super(VpnClientRevokedCertificate, self).__init__(id=id, **kwargs) + self.thumbprint = thumbprint + self.provisioning_state = None + self.name = name + self.etag = None + + +class VpnClientRootCertificate(SubResource): + """VPN client root certificate of virtual network gateway. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :param public_cert_data: Required. The certificate public data. + :type public_cert_data: str + :ivar provisioning_state: The provisioning state of the VPN client root + certificate resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'public_cert_data': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'public_cert_data': {'key': 'properties.publicCertData', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, public_cert_data: str, id: str=None, name: str=None, **kwargs) -> None: + super(VpnClientRootCertificate, self).__init__(id=id, **kwargs) + self.public_cert_data = public_cert_data + self.provisioning_state = None + self.name = name + self.etag = None + + +class VpnConnection(SubResource): + """VpnConnection Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param remote_vpn_site: Id of the connected vpn site. + :type remote_vpn_site: ~azure.mgmt.network.v2020_05_01.models.SubResource + :param routing_weight: Routing weight for vpn connection. + :type routing_weight: int + :param dpd_timeout_seconds: The dead peer detection timeout for a vpn + connection in seconds. + :type dpd_timeout_seconds: int + :param connection_status: The connection status. Possible values include: + 'Unknown', 'Connecting', 'Connected', 'NotConnected' + :type connection_status: str or + ~azure.mgmt.network.v2020_05_01.models.VpnConnectionStatus + :param vpn_connection_protocol_type: Connection protocol used for this + connection. Possible values include: 'IKEv2', 'IKEv1' + :type vpn_connection_protocol_type: str or + ~azure.mgmt.network.v2020_05_01.models.VirtualNetworkGatewayConnectionProtocol + :ivar ingress_bytes_transferred: Ingress bytes transferred. + :vartype ingress_bytes_transferred: long + :ivar egress_bytes_transferred: Egress bytes transferred. + :vartype egress_bytes_transferred: long + :param connection_bandwidth: Expected bandwidth in MBPS. + :type connection_bandwidth: int + :param shared_key: SharedKey for the vpn connection. + :type shared_key: str + :param enable_bgp: EnableBgp flag. + :type enable_bgp: bool + :param use_policy_based_traffic_selectors: Enable policy-based traffic + selectors. + :type use_policy_based_traffic_selectors: bool + :param ipsec_policies: The IPSec Policies to be considered by this + connection. + :type ipsec_policies: + list[~azure.mgmt.network.v2020_05_01.models.IpsecPolicy] + :param enable_rate_limiting: EnableBgp flag. + :type enable_rate_limiting: bool + :param enable_internet_security: Enable internet security. + :type enable_internet_security: bool + :param use_local_azure_ip_address: Use local azure ip to initiate + connection. + :type use_local_azure_ip_address: bool + :ivar provisioning_state: The provisioning state of the VPN connection + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param vpn_link_connections: List of all vpn site link connections to the + gateway. + :type vpn_link_connections: + list[~azure.mgmt.network.v2020_05_01.models.VpnSiteLinkConnection] + :param routing_configuration: The Routing Configuration indicating the + associated and propagated route tables on this connection. + :type routing_configuration: + ~azure.mgmt.network.v2020_05_01.models.RoutingConfiguration + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'ingress_bytes_transferred': {'readonly': True}, + 'egress_bytes_transferred': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'remote_vpn_site': {'key': 'properties.remoteVpnSite', 'type': 'SubResource'}, + 'routing_weight': {'key': 'properties.routingWeight', 'type': 'int'}, + 'dpd_timeout_seconds': {'key': 'properties.dpdTimeoutSeconds', 'type': 'int'}, + 'connection_status': {'key': 'properties.connectionStatus', 'type': 'str'}, + 'vpn_connection_protocol_type': {'key': 'properties.vpnConnectionProtocolType', 'type': 'str'}, + 'ingress_bytes_transferred': {'key': 'properties.ingressBytesTransferred', 'type': 'long'}, + 'egress_bytes_transferred': {'key': 'properties.egressBytesTransferred', 'type': 'long'}, + 'connection_bandwidth': {'key': 'properties.connectionBandwidth', 'type': 'int'}, + 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, + 'enable_bgp': {'key': 'properties.enableBgp', 'type': 'bool'}, + 'use_policy_based_traffic_selectors': {'key': 'properties.usePolicyBasedTrafficSelectors', 'type': 'bool'}, + 'ipsec_policies': {'key': 'properties.ipsecPolicies', 'type': '[IpsecPolicy]'}, + 'enable_rate_limiting': {'key': 'properties.enableRateLimiting', 'type': 'bool'}, + 'enable_internet_security': {'key': 'properties.enableInternetSecurity', 'type': 'bool'}, + 'use_local_azure_ip_address': {'key': 'properties.useLocalAzureIpAddress', 'type': 'bool'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'vpn_link_connections': {'key': 'properties.vpnLinkConnections', 'type': '[VpnSiteLinkConnection]'}, + 'routing_configuration': {'key': 'properties.routingConfiguration', 'type': 'RoutingConfiguration'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, remote_vpn_site=None, routing_weight: int=None, dpd_timeout_seconds: int=None, connection_status=None, vpn_connection_protocol_type=None, connection_bandwidth: int=None, shared_key: str=None, enable_bgp: bool=None, use_policy_based_traffic_selectors: bool=None, ipsec_policies=None, enable_rate_limiting: bool=None, enable_internet_security: bool=None, use_local_azure_ip_address: bool=None, vpn_link_connections=None, routing_configuration=None, name: str=None, **kwargs) -> None: + super(VpnConnection, self).__init__(id=id, **kwargs) + self.remote_vpn_site = remote_vpn_site + self.routing_weight = routing_weight + self.dpd_timeout_seconds = dpd_timeout_seconds + self.connection_status = connection_status + self.vpn_connection_protocol_type = vpn_connection_protocol_type + self.ingress_bytes_transferred = None + self.egress_bytes_transferred = None + self.connection_bandwidth = connection_bandwidth + self.shared_key = shared_key + self.enable_bgp = enable_bgp + self.use_policy_based_traffic_selectors = use_policy_based_traffic_selectors + self.ipsec_policies = ipsec_policies + self.enable_rate_limiting = enable_rate_limiting + self.enable_internet_security = enable_internet_security + self.use_local_azure_ip_address = use_local_azure_ip_address + self.provisioning_state = None + self.vpn_link_connections = vpn_link_connections + self.routing_configuration = routing_configuration + self.name = name + self.etag = None + + +class VpnDeviceScriptParameters(Model): + """Vpn device configuration script generation parameters. + + :param vendor: The vendor for the vpn device. + :type vendor: str + :param device_family: The device family for the vpn device. + :type device_family: str + :param firmware_version: The firmware version for the vpn device. + :type firmware_version: str + """ + + _attribute_map = { + 'vendor': {'key': 'vendor', 'type': 'str'}, + 'device_family': {'key': 'deviceFamily', 'type': 'str'}, + 'firmware_version': {'key': 'firmwareVersion', 'type': 'str'}, + } + + def __init__(self, *, vendor: str=None, device_family: str=None, firmware_version: str=None, **kwargs) -> None: + super(VpnDeviceScriptParameters, self).__init__(**kwargs) + self.vendor = vendor + self.device_family = device_family + self.firmware_version = firmware_version + + +class VpnGateway(Resource): + """VpnGateway Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param virtual_hub: The VirtualHub to which the gateway belongs. + :type virtual_hub: ~azure.mgmt.network.v2020_05_01.models.SubResource + :param connections: List of all vpn connections to the gateway. + :type connections: + list[~azure.mgmt.network.v2020_05_01.models.VpnConnection] + :param bgp_settings: Local network gateway's BGP speaker settings. + :type bgp_settings: ~azure.mgmt.network.v2020_05_01.models.BgpSettings + :ivar provisioning_state: The provisioning state of the VPN gateway + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param vpn_gateway_scale_unit: The scale unit for this vpn gateway. + :type vpn_gateway_scale_unit: int + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'virtual_hub': {'key': 'properties.virtualHub', 'type': 'SubResource'}, + 'connections': {'key': 'properties.connections', 'type': '[VpnConnection]'}, + 'bgp_settings': {'key': 'properties.bgpSettings', 'type': 'BgpSettings'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'vpn_gateway_scale_unit': {'key': 'properties.vpnGatewayScaleUnit', 'type': 'int'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, virtual_hub=None, connections=None, bgp_settings=None, vpn_gateway_scale_unit: int=None, **kwargs) -> None: + super(VpnGateway, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.virtual_hub = virtual_hub + self.connections = connections + self.bgp_settings = bgp_settings + self.provisioning_state = None + self.vpn_gateway_scale_unit = vpn_gateway_scale_unit + self.etag = None + + +class VpnLinkBgpSettings(Model): + """BGP settings details for a link. + + :param asn: The BGP speaker's ASN. + :type asn: long + :param bgp_peering_address: The BGP peering address and BGP identifier of + this BGP speaker. + :type bgp_peering_address: str + """ + + _attribute_map = { + 'asn': {'key': 'asn', 'type': 'long'}, + 'bgp_peering_address': {'key': 'bgpPeeringAddress', 'type': 'str'}, + } + + def __init__(self, *, asn: int=None, bgp_peering_address: str=None, **kwargs) -> None: + super(VpnLinkBgpSettings, self).__init__(**kwargs) + self.asn = asn + self.bgp_peering_address = bgp_peering_address + + +class VpnLinkProviderProperties(Model): + """List of properties of a link provider. + + :param link_provider_name: Name of the link provider. + :type link_provider_name: str + :param link_speed_in_mbps: Link speed. + :type link_speed_in_mbps: int + """ + + _attribute_map = { + 'link_provider_name': {'key': 'linkProviderName', 'type': 'str'}, + 'link_speed_in_mbps': {'key': 'linkSpeedInMbps', 'type': 'int'}, + } + + def __init__(self, *, link_provider_name: str=None, link_speed_in_mbps: int=None, **kwargs) -> None: + super(VpnLinkProviderProperties, self).__init__(**kwargs) + self.link_provider_name = link_provider_name + self.link_speed_in_mbps = link_speed_in_mbps + + +class VpnPacketCaptureStartParameters(Model): + """Start packet capture parameters on virtual network gateway. + + :param filter_data: Start Packet capture parameters. + :type filter_data: str + """ + + _attribute_map = { + 'filter_data': {'key': 'filterData', 'type': 'str'}, + } + + def __init__(self, *, filter_data: str=None, **kwargs) -> None: + super(VpnPacketCaptureStartParameters, self).__init__(**kwargs) + self.filter_data = filter_data + + +class VpnPacketCaptureStopParameters(Model): + """Stop packet capture parameters. + + :param sas_url: SAS url for packet capture on virtual network gateway. + :type sas_url: str + """ + + _attribute_map = { + 'sas_url': {'key': 'sasUrl', 'type': 'str'}, + } + + def __init__(self, *, sas_url: str=None, **kwargs) -> None: + super(VpnPacketCaptureStopParameters, self).__init__(**kwargs) + self.sas_url = sas_url + + +class VpnProfileResponse(Model): + """Vpn Profile Response for package generation. + + :param profile_url: URL to the VPN profile. + :type profile_url: str + """ + + _attribute_map = { + 'profile_url': {'key': 'profileUrl', 'type': 'str'}, + } + + def __init__(self, *, profile_url: str=None, **kwargs) -> None: + super(VpnProfileResponse, self).__init__(**kwargs) + self.profile_url = profile_url + + +class VpnServerConfigRadiusClientRootCertificate(Model): + """Properties of the Radius client root certificate of VpnServerConfiguration. + + :param name: The certificate name. + :type name: str + :param thumbprint: The Radius client root certificate thumbprint. + :type thumbprint: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'thumbprint': {'key': 'thumbprint', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, thumbprint: str=None, **kwargs) -> None: + super(VpnServerConfigRadiusClientRootCertificate, self).__init__(**kwargs) + self.name = name + self.thumbprint = thumbprint + + +class VpnServerConfigRadiusServerRootCertificate(Model): + """Properties of Radius Server root certificate of VpnServerConfiguration. + + :param name: The certificate name. + :type name: str + :param public_cert_data: The certificate public data. + :type public_cert_data: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'public_cert_data': {'key': 'publicCertData', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, public_cert_data: str=None, **kwargs) -> None: + super(VpnServerConfigRadiusServerRootCertificate, self).__init__(**kwargs) + self.name = name + self.public_cert_data = public_cert_data + + +class VpnServerConfiguration(Resource): + """VpnServerConfiguration Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param vpn_server_configuration_name: The name of the + VpnServerConfiguration that is unique within a resource group. + :type vpn_server_configuration_name: str + :param vpn_protocols: VPN protocols for the VpnServerConfiguration. + :type vpn_protocols: list[str or + ~azure.mgmt.network.v2020_05_01.models.VpnGatewayTunnelingProtocol] + :param vpn_authentication_types: VPN authentication types for the + VpnServerConfiguration. + :type vpn_authentication_types: list[str or + ~azure.mgmt.network.v2020_05_01.models.VpnAuthenticationType] + :param vpn_client_root_certificates: VPN client root certificate of + VpnServerConfiguration. + :type vpn_client_root_certificates: + list[~azure.mgmt.network.v2020_05_01.models.VpnServerConfigVpnClientRootCertificate] + :param vpn_client_revoked_certificates: VPN client revoked certificate of + VpnServerConfiguration. + :type vpn_client_revoked_certificates: + list[~azure.mgmt.network.v2020_05_01.models.VpnServerConfigVpnClientRevokedCertificate] + :param radius_server_root_certificates: Radius Server root certificate of + VpnServerConfiguration. + :type radius_server_root_certificates: + list[~azure.mgmt.network.v2020_05_01.models.VpnServerConfigRadiusServerRootCertificate] + :param radius_client_root_certificates: Radius client root certificate of + VpnServerConfiguration. + :type radius_client_root_certificates: + list[~azure.mgmt.network.v2020_05_01.models.VpnServerConfigRadiusClientRootCertificate] + :param vpn_client_ipsec_policies: VpnClientIpsecPolicies for + VpnServerConfiguration. + :type vpn_client_ipsec_policies: + list[~azure.mgmt.network.v2020_05_01.models.IpsecPolicy] + :param radius_server_address: The radius server address property of the + VpnServerConfiguration resource for point to site client connection. + :type radius_server_address: str + :param radius_server_secret: The radius secret property of the + VpnServerConfiguration resource for point to site client connection. + :type radius_server_secret: str + :param radius_servers: Multiple Radius Server configuration for + VpnServerConfiguration. + :type radius_servers: + list[~azure.mgmt.network.v2020_05_01.models.RadiusServer] + :param aad_authentication_parameters: The set of aad vpn authentication + parameters. + :type aad_authentication_parameters: + ~azure.mgmt.network.v2020_05_01.models.AadAuthenticationParameters + :ivar provisioning_state: The provisioning state of the + VpnServerConfiguration resource. Possible values are: 'Updating', + 'Deleting', and 'Failed'. + :vartype provisioning_state: str + :ivar p2_svpn_gateways: List of references to P2SVpnGateways. + :vartype p2_svpn_gateways: + list[~azure.mgmt.network.v2020_05_01.models.P2SVpnGateway] + :ivar vpn_server_configuration_properties_etag: A unique read-only string + that changes whenever the resource is updated. + :vartype vpn_server_configuration_properties_etag: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'p2_svpn_gateways': {'readonly': True}, + 'vpn_server_configuration_properties_etag': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'vpn_server_configuration_name': {'key': 'properties.name', 'type': 'str'}, + 'vpn_protocols': {'key': 'properties.vpnProtocols', 'type': '[str]'}, + 'vpn_authentication_types': {'key': 'properties.vpnAuthenticationTypes', 'type': '[str]'}, + 'vpn_client_root_certificates': {'key': 'properties.vpnClientRootCertificates', 'type': '[VpnServerConfigVpnClientRootCertificate]'}, + 'vpn_client_revoked_certificates': {'key': 'properties.vpnClientRevokedCertificates', 'type': '[VpnServerConfigVpnClientRevokedCertificate]'}, + 'radius_server_root_certificates': {'key': 'properties.radiusServerRootCertificates', 'type': '[VpnServerConfigRadiusServerRootCertificate]'}, + 'radius_client_root_certificates': {'key': 'properties.radiusClientRootCertificates', 'type': '[VpnServerConfigRadiusClientRootCertificate]'}, + 'vpn_client_ipsec_policies': {'key': 'properties.vpnClientIpsecPolicies', 'type': '[IpsecPolicy]'}, + 'radius_server_address': {'key': 'properties.radiusServerAddress', 'type': 'str'}, + 'radius_server_secret': {'key': 'properties.radiusServerSecret', 'type': 'str'}, + 'radius_servers': {'key': 'properties.radiusServers', 'type': '[RadiusServer]'}, + 'aad_authentication_parameters': {'key': 'properties.aadAuthenticationParameters', 'type': 'AadAuthenticationParameters'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'p2_svpn_gateways': {'key': 'properties.p2SVpnGateways', 'type': '[P2SVpnGateway]'}, + 'vpn_server_configuration_properties_etag': {'key': 'properties.etag', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, vpn_server_configuration_name: str=None, vpn_protocols=None, vpn_authentication_types=None, vpn_client_root_certificates=None, vpn_client_revoked_certificates=None, radius_server_root_certificates=None, radius_client_root_certificates=None, vpn_client_ipsec_policies=None, radius_server_address: str=None, radius_server_secret: str=None, radius_servers=None, aad_authentication_parameters=None, **kwargs) -> None: + super(VpnServerConfiguration, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.vpn_server_configuration_name = vpn_server_configuration_name + self.vpn_protocols = vpn_protocols + self.vpn_authentication_types = vpn_authentication_types + self.vpn_client_root_certificates = vpn_client_root_certificates + self.vpn_client_revoked_certificates = vpn_client_revoked_certificates + self.radius_server_root_certificates = radius_server_root_certificates + self.radius_client_root_certificates = radius_client_root_certificates + self.vpn_client_ipsec_policies = vpn_client_ipsec_policies + self.radius_server_address = radius_server_address + self.radius_server_secret = radius_server_secret + self.radius_servers = radius_servers + self.aad_authentication_parameters = aad_authentication_parameters + self.provisioning_state = None + self.p2_svpn_gateways = None + self.vpn_server_configuration_properties_etag = None + self.etag = None + + +class VpnServerConfigurationsResponse(Model): + """VpnServerConfigurations list associated with VirtualWan Response. + + :param vpn_server_configuration_resource_ids: List of + VpnServerConfigurations associated with VirtualWan. + :type vpn_server_configuration_resource_ids: list[str] + """ + + _attribute_map = { + 'vpn_server_configuration_resource_ids': {'key': 'vpnServerConfigurationResourceIds', 'type': '[str]'}, + } + + def __init__(self, *, vpn_server_configuration_resource_ids=None, **kwargs) -> None: + super(VpnServerConfigurationsResponse, self).__init__(**kwargs) + self.vpn_server_configuration_resource_ids = vpn_server_configuration_resource_ids + + +class VpnServerConfigVpnClientRevokedCertificate(Model): + """Properties of the revoked VPN client certificate of VpnServerConfiguration. + + :param name: The certificate name. + :type name: str + :param thumbprint: The revoked VPN client certificate thumbprint. + :type thumbprint: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'thumbprint': {'key': 'thumbprint', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, thumbprint: str=None, **kwargs) -> None: + super(VpnServerConfigVpnClientRevokedCertificate, self).__init__(**kwargs) + self.name = name + self.thumbprint = thumbprint + + +class VpnServerConfigVpnClientRootCertificate(Model): + """Properties of VPN client root certificate of VpnServerConfiguration. + + :param name: The certificate name. + :type name: str + :param public_cert_data: The certificate public data. + :type public_cert_data: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'public_cert_data': {'key': 'publicCertData', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, public_cert_data: str=None, **kwargs) -> None: + super(VpnServerConfigVpnClientRootCertificate, self).__init__(**kwargs) + self.name = name + self.public_cert_data = public_cert_data + + +class VpnSite(Resource): + """VpnSite Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param virtual_wan: The VirtualWAN to which the vpnSite belongs. + :type virtual_wan: ~azure.mgmt.network.v2020_05_01.models.SubResource + :param device_properties: The device properties. + :type device_properties: + ~azure.mgmt.network.v2020_05_01.models.DeviceProperties + :param ip_address: The ip-address for the vpn-site. + :type ip_address: str + :param site_key: The key for vpn-site that can be used for connections. + :type site_key: str + :param address_space: The AddressSpace that contains an array of IP + address ranges. + :type address_space: ~azure.mgmt.network.v2020_05_01.models.AddressSpace + :param bgp_properties: The set of bgp properties. + :type bgp_properties: ~azure.mgmt.network.v2020_05_01.models.BgpSettings + :ivar provisioning_state: The provisioning state of the VPN site resource. + Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param is_security_site: IsSecuritySite flag. + :type is_security_site: bool + :param vpn_site_links: List of all vpn site links. + :type vpn_site_links: + list[~azure.mgmt.network.v2020_05_01.models.VpnSiteLink] + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'virtual_wan': {'key': 'properties.virtualWan', 'type': 'SubResource'}, + 'device_properties': {'key': 'properties.deviceProperties', 'type': 'DeviceProperties'}, + 'ip_address': {'key': 'properties.ipAddress', 'type': 'str'}, + 'site_key': {'key': 'properties.siteKey', 'type': 'str'}, + 'address_space': {'key': 'properties.addressSpace', 'type': 'AddressSpace'}, + 'bgp_properties': {'key': 'properties.bgpProperties', 'type': 'BgpSettings'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'is_security_site': {'key': 'properties.isSecuritySite', 'type': 'bool'}, + 'vpn_site_links': {'key': 'properties.vpnSiteLinks', 'type': '[VpnSiteLink]'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, virtual_wan=None, device_properties=None, ip_address: str=None, site_key: str=None, address_space=None, bgp_properties=None, is_security_site: bool=None, vpn_site_links=None, **kwargs) -> None: + super(VpnSite, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.virtual_wan = virtual_wan + self.device_properties = device_properties + self.ip_address = ip_address + self.site_key = site_key + self.address_space = address_space + self.bgp_properties = bgp_properties + self.provisioning_state = None + self.is_security_site = is_security_site + self.vpn_site_links = vpn_site_links + self.etag = None + + +class VpnSiteId(Model): + """VpnSite Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar vpn_site: The resource-uri of the vpn-site for which config is to be + fetched. + :vartype vpn_site: str + """ + + _validation = { + 'vpn_site': {'readonly': True}, + } + + _attribute_map = { + 'vpn_site': {'key': 'vpnSite', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(VpnSiteId, self).__init__(**kwargs) + self.vpn_site = None + + +class VpnSiteLink(SubResource): + """VpnSiteLink Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param link_properties: The link provider properties. + :type link_properties: + ~azure.mgmt.network.v2020_05_01.models.VpnLinkProviderProperties + :param ip_address: The ip-address for the vpn-site-link. + :type ip_address: str + :param fqdn: FQDN of vpn-site-link. + :type fqdn: str + :param bgp_properties: The set of bgp properties. + :type bgp_properties: + ~azure.mgmt.network.v2020_05_01.models.VpnLinkBgpSettings + :ivar provisioning_state: The provisioning state of the VPN site link + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar type: Resource type. + :vartype type: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'link_properties': {'key': 'properties.linkProperties', 'type': 'VpnLinkProviderProperties'}, + 'ip_address': {'key': 'properties.ipAddress', 'type': 'str'}, + 'fqdn': {'key': 'properties.fqdn', 'type': 'str'}, + 'bgp_properties': {'key': 'properties.bgpProperties', 'type': 'VpnLinkBgpSettings'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, link_properties=None, ip_address: str=None, fqdn: str=None, bgp_properties=None, name: str=None, **kwargs) -> None: + super(VpnSiteLink, self).__init__(id=id, **kwargs) + self.link_properties = link_properties + self.ip_address = ip_address + self.fqdn = fqdn + self.bgp_properties = bgp_properties + self.provisioning_state = None + self.etag = None + self.name = name + self.type = None + + +class VpnSiteLinkConnection(SubResource): + """VpnSiteLinkConnection Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param vpn_site_link: Id of the connected vpn site link. + :type vpn_site_link: ~azure.mgmt.network.v2020_05_01.models.SubResource + :param routing_weight: Routing weight for vpn connection. + :type routing_weight: int + :param connection_status: The connection status. Possible values include: + 'Unknown', 'Connecting', 'Connected', 'NotConnected' + :type connection_status: str or + ~azure.mgmt.network.v2020_05_01.models.VpnConnectionStatus + :param vpn_connection_protocol_type: Connection protocol used for this + connection. Possible values include: 'IKEv2', 'IKEv1' + :type vpn_connection_protocol_type: str or + ~azure.mgmt.network.v2020_05_01.models.VirtualNetworkGatewayConnectionProtocol + :ivar ingress_bytes_transferred: Ingress bytes transferred. + :vartype ingress_bytes_transferred: long + :ivar egress_bytes_transferred: Egress bytes transferred. + :vartype egress_bytes_transferred: long + :param connection_bandwidth: Expected bandwidth in MBPS. + :type connection_bandwidth: int + :param shared_key: SharedKey for the vpn connection. + :type shared_key: str + :param enable_bgp: EnableBgp flag. + :type enable_bgp: bool + :param use_policy_based_traffic_selectors: Enable policy-based traffic + selectors. + :type use_policy_based_traffic_selectors: bool + :param ipsec_policies: The IPSec Policies to be considered by this + connection. + :type ipsec_policies: + list[~azure.mgmt.network.v2020_05_01.models.IpsecPolicy] + :param enable_rate_limiting: EnableBgp flag. + :type enable_rate_limiting: bool + :param use_local_azure_ip_address: Use local azure ip to initiate + connection. + :type use_local_azure_ip_address: bool + :ivar provisioning_state: The provisioning state of the VPN site link + connection resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Resource type. + :vartype type: str + """ + + _validation = { + 'ingress_bytes_transferred': {'readonly': True}, + 'egress_bytes_transferred': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'vpn_site_link': {'key': 'properties.vpnSiteLink', 'type': 'SubResource'}, + 'routing_weight': {'key': 'properties.routingWeight', 'type': 'int'}, + 'connection_status': {'key': 'properties.connectionStatus', 'type': 'str'}, + 'vpn_connection_protocol_type': {'key': 'properties.vpnConnectionProtocolType', 'type': 'str'}, + 'ingress_bytes_transferred': {'key': 'properties.ingressBytesTransferred', 'type': 'long'}, + 'egress_bytes_transferred': {'key': 'properties.egressBytesTransferred', 'type': 'long'}, + 'connection_bandwidth': {'key': 'properties.connectionBandwidth', 'type': 'int'}, + 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, + 'enable_bgp': {'key': 'properties.enableBgp', 'type': 'bool'}, + 'use_policy_based_traffic_selectors': {'key': 'properties.usePolicyBasedTrafficSelectors', 'type': 'bool'}, + 'ipsec_policies': {'key': 'properties.ipsecPolicies', 'type': '[IpsecPolicy]'}, + 'enable_rate_limiting': {'key': 'properties.enableRateLimiting', 'type': 'bool'}, + 'use_local_azure_ip_address': {'key': 'properties.useLocalAzureIpAddress', 'type': 'bool'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, vpn_site_link=None, routing_weight: int=None, connection_status=None, vpn_connection_protocol_type=None, connection_bandwidth: int=None, shared_key: str=None, enable_bgp: bool=None, use_policy_based_traffic_selectors: bool=None, ipsec_policies=None, enable_rate_limiting: bool=None, use_local_azure_ip_address: bool=None, name: str=None, **kwargs) -> None: + super(VpnSiteLinkConnection, self).__init__(id=id, **kwargs) + self.vpn_site_link = vpn_site_link + self.routing_weight = routing_weight + self.connection_status = connection_status + self.vpn_connection_protocol_type = vpn_connection_protocol_type + self.ingress_bytes_transferred = None + self.egress_bytes_transferred = None + self.connection_bandwidth = connection_bandwidth + self.shared_key = shared_key + self.enable_bgp = enable_bgp + self.use_policy_based_traffic_selectors = use_policy_based_traffic_selectors + self.ipsec_policies = ipsec_policies + self.enable_rate_limiting = enable_rate_limiting + self.use_local_azure_ip_address = use_local_azure_ip_address + self.provisioning_state = None + self.name = name + self.etag = None + self.type = None + + +class WebApplicationFirewallCustomRule(Model): + """Defines contents of a web application rule. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param name: The name of the resource that is unique within a policy. This + name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :param priority: Required. Priority of the rule. Rules with a lower value + will be evaluated before rules with a higher value. + :type priority: int + :param rule_type: Required. The rule type. Possible values include: + 'MatchRule', 'Invalid' + :type rule_type: str or + ~azure.mgmt.network.v2020_05_01.models.WebApplicationFirewallRuleType + :param match_conditions: Required. List of match conditions. + :type match_conditions: + list[~azure.mgmt.network.v2020_05_01.models.MatchCondition] + :param action: Required. Type of Actions. Possible values include: + 'Allow', 'Block', 'Log' + :type action: str or + ~azure.mgmt.network.v2020_05_01.models.WebApplicationFirewallAction + """ + + _validation = { + 'name': {'max_length': 128}, + 'etag': {'readonly': True}, + 'priority': {'required': True}, + 'rule_type': {'required': True}, + 'match_conditions': {'required': True}, + 'action': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'priority': {'key': 'priority', 'type': 'int'}, + 'rule_type': {'key': 'ruleType', 'type': 'str'}, + 'match_conditions': {'key': 'matchConditions', 'type': '[MatchCondition]'}, + 'action': {'key': 'action', 'type': 'str'}, + } + + def __init__(self, *, priority: int, rule_type, match_conditions, action, name: str=None, **kwargs) -> None: + super(WebApplicationFirewallCustomRule, self).__init__(**kwargs) + self.name = name + self.etag = None + self.priority = priority + self.rule_type = rule_type + self.match_conditions = match_conditions + self.action = action + + +class WebApplicationFirewallPolicy(Resource): + """Defines web application firewall policy. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param policy_settings: The PolicySettings for policy. + :type policy_settings: + ~azure.mgmt.network.v2020_05_01.models.PolicySettings + :param custom_rules: The custom rules inside the policy. + :type custom_rules: + list[~azure.mgmt.network.v2020_05_01.models.WebApplicationFirewallCustomRule] + :ivar application_gateways: A collection of references to application + gateways. + :vartype application_gateways: + list[~azure.mgmt.network.v2020_05_01.models.ApplicationGateway] + :ivar provisioning_state: The provisioning state of the web application + firewall policy resource. Possible values include: 'Succeeded', + 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_05_01.models.ProvisioningState + :ivar resource_state: Resource status of the policy. Resource status of + the policy. Possible values include: 'Creating', 'Enabling', 'Enabled', + 'Disabling', 'Disabled', 'Deleting' + :vartype resource_state: str or + ~azure.mgmt.network.v2020_05_01.models.WebApplicationFirewallPolicyResourceState + :param managed_rules: Required. Describes the managedRules structure. + :type managed_rules: + ~azure.mgmt.network.v2020_05_01.models.ManagedRulesDefinition + :ivar http_listeners: A collection of references to application gateway + http listeners. + :vartype http_listeners: + list[~azure.mgmt.network.v2020_05_01.models.SubResource] + :ivar path_based_rules: A collection of references to application gateway + path rules. + :vartype path_based_rules: + list[~azure.mgmt.network.v2020_05_01.models.SubResource] + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'application_gateways': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'resource_state': {'readonly': True}, + 'managed_rules': {'required': True}, + 'http_listeners': {'readonly': True}, + 'path_based_rules': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'policy_settings': {'key': 'properties.policySettings', 'type': 'PolicySettings'}, + 'custom_rules': {'key': 'properties.customRules', 'type': '[WebApplicationFirewallCustomRule]'}, + 'application_gateways': {'key': 'properties.applicationGateways', 'type': '[ApplicationGateway]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'resource_state': {'key': 'properties.resourceState', 'type': 'str'}, + 'managed_rules': {'key': 'properties.managedRules', 'type': 'ManagedRulesDefinition'}, + 'http_listeners': {'key': 'properties.httpListeners', 'type': '[SubResource]'}, + 'path_based_rules': {'key': 'properties.pathBasedRules', 'type': '[SubResource]'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, managed_rules, id: str=None, location: str=None, tags=None, policy_settings=None, custom_rules=None, **kwargs) -> None: + super(WebApplicationFirewallPolicy, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.policy_settings = policy_settings + self.custom_rules = custom_rules + self.application_gateways = None + self.provisioning_state = None + self.resource_state = None + self.managed_rules = managed_rules + self.http_listeners = None + self.path_based_rules = None + self.etag = None diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/models/_network_management_client_enums.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/models/_network_management_client_enums.py new file mode 100644 index 00000000000..349783505c5 --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/models/_network_management_client_enums.py @@ -0,0 +1,1012 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from enum import Enum + + +class ApplicationGatewayProtocol(str, Enum): + + http = "Http" + https = "Https" + + +class ProvisioningState(str, Enum): + + succeeded = "Succeeded" + updating = "Updating" + deleting = "Deleting" + failed = "Failed" + + +class IPAllocationMethod(str, Enum): + + static = "Static" + dynamic = "Dynamic" + + +class IPVersion(str, Enum): + + ipv4 = "IPv4" + ipv6 = "IPv6" + + +class SecurityRuleProtocol(str, Enum): + + tcp = "Tcp" + udp = "Udp" + icmp = "Icmp" + esp = "Esp" + asterisk = "*" + ah = "Ah" + + +class SecurityRuleAccess(str, Enum): + + allow = "Allow" + deny = "Deny" + + +class SecurityRuleDirection(str, Enum): + + inbound = "Inbound" + outbound = "Outbound" + + +class FlowLogFormatType(str, Enum): + + json = "JSON" + + +class RouteNextHopType(str, Enum): + + virtual_network_gateway = "VirtualNetworkGateway" + vnet_local = "VnetLocal" + internet = "Internet" + virtual_appliance = "VirtualAppliance" + none = "None" + + +class PublicIPAddressSkuName(str, Enum): + + basic = "Basic" + standard = "Standard" + + +class DdosSettingsProtectionCoverage(str, Enum): + + basic = "Basic" + standard = "Standard" + + +class VirtualNetworkPeeringState(str, Enum): + + initiated = "Initiated" + connected = "Connected" + disconnected = "Disconnected" + + +class TransportProtocol(str, Enum): + + udp = "Udp" + tcp = "Tcp" + all = "All" + + +class ApplicationGatewayCookieBasedAffinity(str, Enum): + + enabled = "Enabled" + disabled = "Disabled" + + +class ApplicationGatewayBackendHealthServerHealth(str, Enum): + + unknown = "Unknown" + up = "Up" + down = "Down" + partial = "Partial" + draining = "Draining" + + +class ApplicationGatewaySkuName(str, Enum): + + standard_small = "Standard_Small" + standard_medium = "Standard_Medium" + standard_large = "Standard_Large" + waf_medium = "WAF_Medium" + waf_large = "WAF_Large" + standard_v2 = "Standard_v2" + waf_v2 = "WAF_v2" + + +class ApplicationGatewayTier(str, Enum): + + standard = "Standard" + waf = "WAF" + standard_v2 = "Standard_v2" + waf_v2 = "WAF_v2" + + +class ApplicationGatewaySslProtocol(str, Enum): + + tl_sv1_0 = "TLSv1_0" + tl_sv1_1 = "TLSv1_1" + tl_sv1_2 = "TLSv1_2" + + +class ApplicationGatewaySslPolicyType(str, Enum): + + predefined = "Predefined" + custom = "Custom" + + +class ApplicationGatewaySslPolicyName(str, Enum): + + app_gw_ssl_policy20150501 = "AppGwSslPolicy20150501" + app_gw_ssl_policy20170401 = "AppGwSslPolicy20170401" + app_gw_ssl_policy20170401_s = "AppGwSslPolicy20170401S" + + +class ApplicationGatewaySslCipherSuite(str, Enum): + + tls_ecdhe_rsa_with_aes_256_cbc_sha384 = "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384" + tls_ecdhe_rsa_with_aes_128_cbc_sha256 = "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256" + tls_ecdhe_rsa_with_aes_256_cbc_sha = "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA" + tls_ecdhe_rsa_with_aes_128_cbc_sha = "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA" + tls_dhe_rsa_with_aes_256_gcm_sha384 = "TLS_DHE_RSA_WITH_AES_256_GCM_SHA384" + tls_dhe_rsa_with_aes_128_gcm_sha256 = "TLS_DHE_RSA_WITH_AES_128_GCM_SHA256" + tls_dhe_rsa_with_aes_256_cbc_sha = "TLS_DHE_RSA_WITH_AES_256_CBC_SHA" + tls_dhe_rsa_with_aes_128_cbc_sha = "TLS_DHE_RSA_WITH_AES_128_CBC_SHA" + tls_rsa_with_aes_256_gcm_sha384 = "TLS_RSA_WITH_AES_256_GCM_SHA384" + tls_rsa_with_aes_128_gcm_sha256 = "TLS_RSA_WITH_AES_128_GCM_SHA256" + tls_rsa_with_aes_256_cbc_sha256 = "TLS_RSA_WITH_AES_256_CBC_SHA256" + tls_rsa_with_aes_128_cbc_sha256 = "TLS_RSA_WITH_AES_128_CBC_SHA256" + tls_rsa_with_aes_256_cbc_sha = "TLS_RSA_WITH_AES_256_CBC_SHA" + tls_rsa_with_aes_128_cbc_sha = "TLS_RSA_WITH_AES_128_CBC_SHA" + tls_ecdhe_ecdsa_with_aes_256_gcm_sha384 = "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384" + tls_ecdhe_ecdsa_with_aes_128_gcm_sha256 = "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256" + tls_ecdhe_ecdsa_with_aes_256_cbc_sha384 = "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384" + tls_ecdhe_ecdsa_with_aes_128_cbc_sha256 = "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256" + tls_ecdhe_ecdsa_with_aes_256_cbc_sha = "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA" + tls_ecdhe_ecdsa_with_aes_128_cbc_sha = "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA" + tls_dhe_dss_with_aes_256_cbc_sha256 = "TLS_DHE_DSS_WITH_AES_256_CBC_SHA256" + tls_dhe_dss_with_aes_128_cbc_sha256 = "TLS_DHE_DSS_WITH_AES_128_CBC_SHA256" + tls_dhe_dss_with_aes_256_cbc_sha = "TLS_DHE_DSS_WITH_AES_256_CBC_SHA" + tls_dhe_dss_with_aes_128_cbc_sha = "TLS_DHE_DSS_WITH_AES_128_CBC_SHA" + tls_rsa_with_3_des_ede_cbc_sha = "TLS_RSA_WITH_3DES_EDE_CBC_SHA" + tls_dhe_dss_with_3_des_ede_cbc_sha = "TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA" + tls_ecdhe_rsa_with_aes_128_gcm_sha256 = "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256" + tls_ecdhe_rsa_with_aes_256_gcm_sha384 = "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384" + + +class ApplicationGatewayCustomErrorStatusCode(str, Enum): + + http_status403 = "HttpStatus403" + http_status502 = "HttpStatus502" + + +class ApplicationGatewayRequestRoutingRuleType(str, Enum): + + basic = "Basic" + path_based_routing = "PathBasedRouting" + + +class ApplicationGatewayRedirectType(str, Enum): + + permanent = "Permanent" + found = "Found" + see_other = "SeeOther" + temporary = "Temporary" + + +class ApplicationGatewayOperationalState(str, Enum): + + stopped = "Stopped" + starting = "Starting" + running = "Running" + stopping = "Stopping" + + +class ApplicationGatewayFirewallMode(str, Enum): + + detection = "Detection" + prevention = "Prevention" + + +class ResourceIdentityType(str, Enum): + + system_assigned = "SystemAssigned" + user_assigned = "UserAssigned" + system_assigned_user_assigned = "SystemAssigned, UserAssigned" + none = "None" + + +class AzureFirewallRCActionType(str, Enum): + + allow = "Allow" + deny = "Deny" + + +class AzureFirewallApplicationRuleProtocolType(str, Enum): + + http = "Http" + https = "Https" + mssql = "Mssql" + + +class AzureFirewallNatRCActionType(str, Enum): + + snat = "Snat" + dnat = "Dnat" + + +class AzureFirewallNetworkRuleProtocol(str, Enum): + + tcp = "TCP" + udp = "UDP" + any = "Any" + icmp = "ICMP" + + +class AzureFirewallThreatIntelMode(str, Enum): + + alert = "Alert" + deny = "Deny" + off = "Off" + + +class AzureFirewallSkuName(str, Enum): + + azfw_vnet = "AZFW_VNet" + azfw_hub = "AZFW_Hub" + + +class AzureFirewallSkuTier(str, Enum): + + standard = "Standard" + premium = "Premium" + + +class BastionConnectProtocol(str, Enum): + + ssh = "SSH" + rdp = "RDP" + + +class DdosCustomPolicyProtocol(str, Enum): + + tcp = "Tcp" + udp = "Udp" + syn = "Syn" + + +class DdosCustomPolicyTriggerSensitivityOverride(str, Enum): + + relaxed = "Relaxed" + low = "Low" + default = "Default" + high = "High" + + +class AuthorizationUseStatus(str, Enum): + + available = "Available" + in_use = "InUse" + + +class ExpressRouteCircuitPeeringAdvertisedPublicPrefixState(str, Enum): + + not_configured = "NotConfigured" + configuring = "Configuring" + configured = "Configured" + validation_needed = "ValidationNeeded" + + +class ExpressRouteCircuitPeeringState(str, Enum): + + disabled = "Disabled" + enabled = "Enabled" + + +class ExpressRoutePeeringType(str, Enum): + + azure_public_peering = "AzurePublicPeering" + azure_private_peering = "AzurePrivatePeering" + microsoft_peering = "MicrosoftPeering" + + +class ExpressRoutePeeringState(str, Enum): + + disabled = "Disabled" + enabled = "Enabled" + + +class CircuitConnectionStatus(str, Enum): + + connected = "Connected" + connecting = "Connecting" + disconnected = "Disconnected" + + +class ExpressRouteCircuitSkuTier(str, Enum): + + standard = "Standard" + premium = "Premium" + basic = "Basic" + local = "Local" + + +class ExpressRouteCircuitSkuFamily(str, Enum): + + unlimited_data = "UnlimitedData" + metered_data = "MeteredData" + + +class ServiceProviderProvisioningState(str, Enum): + + not_provisioned = "NotProvisioned" + provisioning = "Provisioning" + provisioned = "Provisioned" + deprovisioning = "Deprovisioning" + + +class ExpressRouteLinkMacSecCipher(str, Enum): + + gcm_aes_128 = "gcm-aes-128" + gcm_aes_256 = "gcm-aes-256" + + +class ExpressRouteLinkConnectorType(str, Enum): + + lc = "LC" + sc = "SC" + + +class ExpressRouteLinkAdminState(str, Enum): + + enabled = "Enabled" + disabled = "Disabled" + + +class ExpressRoutePortsEncapsulation(str, Enum): + + dot1_q = "Dot1Q" + qin_q = "QinQ" + + +class FirewallPolicyIntrusionSystemMode(str, Enum): + + enabled = "Enabled" + disabled = "Disabled" + + +class FirewallPolicyNatRuleCollectionActionType(str, Enum): + + dnat = "DNAT" + + +class FirewallPolicyFilterRuleCollectionActionType(str, Enum): + + allow = "Allow" + deny = "Deny" + + +class FirewallPolicyRuleApplicationProtocolType(str, Enum): + + http = "Http" + https = "Https" + + +class FirewallPolicyRuleNetworkProtocol(str, Enum): + + tcp = "TCP" + udp = "UDP" + any = "Any" + icmp = "ICMP" + + +class IpAllocationType(str, Enum): + + undefined = "Undefined" + hypernet = "Hypernet" + + +class LoadBalancerSkuName(str, Enum): + + basic = "Basic" + standard = "Standard" + + +class LoadDistribution(str, Enum): + + default = "Default" + source_ip = "SourceIP" + source_ip_protocol = "SourceIPProtocol" + + +class ProbeProtocol(str, Enum): + + http = "Http" + tcp = "Tcp" + https = "Https" + + +class LoadBalancerOutboundRuleProtocol(str, Enum): + + tcp = "Tcp" + udp = "Udp" + all = "All" + + +class NatGatewaySkuName(str, Enum): + + standard = "Standard" + + +class NetworkOperationStatus(str, Enum): + + in_progress = "InProgress" + succeeded = "Succeeded" + failed = "Failed" + + +class Access(str, Enum): + + allow = "Allow" + deny = "Deny" + + +class AuthenticationMethod(str, Enum): + + eaptls = "EAPTLS" + eapmscha_pv2 = "EAPMSCHAPv2" + + +class EffectiveSecurityRuleProtocol(str, Enum): + + tcp = "Tcp" + udp = "Udp" + all = "All" + + +class EffectiveRouteSource(str, Enum): + + unknown = "Unknown" + user = "User" + virtual_network_gateway = "VirtualNetworkGateway" + default = "Default" + + +class EffectiveRouteState(str, Enum): + + active = "Active" + invalid = "Invalid" + + +class AssociationType(str, Enum): + + associated = "Associated" + contains = "Contains" + + +class Direction(str, Enum): + + inbound = "Inbound" + outbound = "Outbound" + + +class IpFlowProtocol(str, Enum): + + tcp = "TCP" + udp = "UDP" + + +class NextHopType(str, Enum): + + internet = "Internet" + virtual_appliance = "VirtualAppliance" + virtual_network_gateway = "VirtualNetworkGateway" + vnet_local = "VnetLocal" + hyper_net_gateway = "HyperNetGateway" + none = "None" + + +class PcProtocol(str, Enum): + + tcp = "TCP" + udp = "UDP" + any = "Any" + + +class PcStatus(str, Enum): + + not_started = "NotStarted" + running = "Running" + stopped = "Stopped" + error = "Error" + unknown = "Unknown" + + +class PcError(str, Enum): + + internal_error = "InternalError" + agent_stopped = "AgentStopped" + capture_failed = "CaptureFailed" + local_file_failed = "LocalFileFailed" + storage_failed = "StorageFailed" + + +class Protocol(str, Enum): + + tcp = "Tcp" + http = "Http" + https = "Https" + icmp = "Icmp" + + +class HTTPMethod(str, Enum): + + get = "Get" + + +class Origin(str, Enum): + + local = "Local" + inbound = "Inbound" + outbound = "Outbound" + + +class Severity(str, Enum): + + error = "Error" + warning = "Warning" + + +class IssueType(str, Enum): + + unknown = "Unknown" + agent_stopped = "AgentStopped" + guest_firewall = "GuestFirewall" + dns_resolution = "DnsResolution" + socket_bind = "SocketBind" + network_security_rule = "NetworkSecurityRule" + user_defined_route = "UserDefinedRoute" + port_throttled = "PortThrottled" + platform = "Platform" + + +class ConnectionStatus(str, Enum): + + unknown = "Unknown" + connected = "Connected" + disconnected = "Disconnected" + degraded = "Degraded" + + +class VerbosityLevel(str, Enum): + + normal = "Normal" + minimum = "Minimum" + full = "Full" + + +class ConnectionMonitorEndpointFilterType(str, Enum): + + include = "Include" + + +class ConnectionMonitorEndpointFilterItemType(str, Enum): + + agent_address = "AgentAddress" + + +class ConnectionMonitorTestConfigurationProtocol(str, Enum): + + tcp = "Tcp" + http = "Http" + icmp = "Icmp" + + +class PreferredIPVersion(str, Enum): + + ipv4 = "IPv4" + ipv6 = "IPv6" + + +class HTTPConfigurationMethod(str, Enum): + + get = "Get" + post = "Post" + + +class OutputType(str, Enum): + + workspace = "Workspace" + + +class ConnectionState(str, Enum): + + reachable = "Reachable" + unreachable = "Unreachable" + unknown = "Unknown" + + +class EvaluationState(str, Enum): + + not_started = "NotStarted" + in_progress = "InProgress" + completed = "Completed" + + +class ConnectionMonitorType(str, Enum): + + multi_endpoint = "MultiEndpoint" + single_source_destination = "SingleSourceDestination" + + +class ConnectionMonitorSourceStatus(str, Enum): + + unknown = "Unknown" + active = "Active" + inactive = "Inactive" + + +class PublicIPPrefixSkuName(str, Enum): + + standard = "Standard" + + +class SecurityProviderName(str, Enum): + + zscaler = "ZScaler" + iboss = "IBoss" + checkpoint = "Checkpoint" + + +class SecurityPartnerProviderConnectionStatus(str, Enum): + + unknown = "Unknown" + partially_connected = "PartiallyConnected" + connected = "Connected" + not_connected = "NotConnected" + + +class VirtualNetworkGatewayType(str, Enum): + + vpn = "Vpn" + express_route = "ExpressRoute" + + +class VpnType(str, Enum): + + policy_based = "PolicyBased" + route_based = "RouteBased" + + +class VpnGatewayGeneration(str, Enum): + + none = "None" + generation1 = "Generation1" + generation2 = "Generation2" + + +class VirtualNetworkGatewaySkuName(str, Enum): + + basic = "Basic" + high_performance = "HighPerformance" + standard = "Standard" + ultra_performance = "UltraPerformance" + vpn_gw1 = "VpnGw1" + vpn_gw2 = "VpnGw2" + vpn_gw3 = "VpnGw3" + vpn_gw4 = "VpnGw4" + vpn_gw5 = "VpnGw5" + vpn_gw1_az = "VpnGw1AZ" + vpn_gw2_az = "VpnGw2AZ" + vpn_gw3_az = "VpnGw3AZ" + vpn_gw4_az = "VpnGw4AZ" + vpn_gw5_az = "VpnGw5AZ" + er_gw1_az = "ErGw1AZ" + er_gw2_az = "ErGw2AZ" + er_gw3_az = "ErGw3AZ" + + +class VirtualNetworkGatewaySkuTier(str, Enum): + + basic = "Basic" + high_performance = "HighPerformance" + standard = "Standard" + ultra_performance = "UltraPerformance" + vpn_gw1 = "VpnGw1" + vpn_gw2 = "VpnGw2" + vpn_gw3 = "VpnGw3" + vpn_gw4 = "VpnGw4" + vpn_gw5 = "VpnGw5" + vpn_gw1_az = "VpnGw1AZ" + vpn_gw2_az = "VpnGw2AZ" + vpn_gw3_az = "VpnGw3AZ" + vpn_gw4_az = "VpnGw4AZ" + vpn_gw5_az = "VpnGw5AZ" + er_gw1_az = "ErGw1AZ" + er_gw2_az = "ErGw2AZ" + er_gw3_az = "ErGw3AZ" + + +class VpnClientProtocol(str, Enum): + + ike_v2 = "IkeV2" + sstp = "SSTP" + open_vpn = "OpenVPN" + + +class IpsecEncryption(str, Enum): + + none = "None" + des = "DES" + des3 = "DES3" + aes128 = "AES128" + aes192 = "AES192" + aes256 = "AES256" + gcmaes128 = "GCMAES128" + gcmaes192 = "GCMAES192" + gcmaes256 = "GCMAES256" + + +class IpsecIntegrity(str, Enum): + + md5 = "MD5" + sha1 = "SHA1" + sha256 = "SHA256" + gcmaes128 = "GCMAES128" + gcmaes192 = "GCMAES192" + gcmaes256 = "GCMAES256" + + +class IkeEncryption(str, Enum): + + des = "DES" + des3 = "DES3" + aes128 = "AES128" + aes192 = "AES192" + aes256 = "AES256" + gcmaes256 = "GCMAES256" + gcmaes128 = "GCMAES128" + + +class IkeIntegrity(str, Enum): + + md5 = "MD5" + sha1 = "SHA1" + sha256 = "SHA256" + sha384 = "SHA384" + gcmaes256 = "GCMAES256" + gcmaes128 = "GCMAES128" + + +class DhGroup(str, Enum): + + none = "None" + dh_group1 = "DHGroup1" + dh_group2 = "DHGroup2" + dh_group14 = "DHGroup14" + dh_group2048 = "DHGroup2048" + ecp256 = "ECP256" + ecp384 = "ECP384" + dh_group24 = "DHGroup24" + + +class PfsGroup(str, Enum): + + none = "None" + pfs1 = "PFS1" + pfs2 = "PFS2" + pfs2048 = "PFS2048" + ecp256 = "ECP256" + ecp384 = "ECP384" + pfs24 = "PFS24" + pfs14 = "PFS14" + pfsmm = "PFSMM" + + +class BgpPeerState(str, Enum): + + unknown = "Unknown" + stopped = "Stopped" + idle = "Idle" + connecting = "Connecting" + connected = "Connected" + + +class ProcessorArchitecture(str, Enum): + + amd64 = "Amd64" + x86 = "X86" + + +class VirtualNetworkGatewayConnectionStatus(str, Enum): + + unknown = "Unknown" + connecting = "Connecting" + connected = "Connected" + not_connected = "NotConnected" + + +class VirtualNetworkGatewayConnectionType(str, Enum): + + ipsec = "IPsec" + vnet2_vnet = "Vnet2Vnet" + express_route = "ExpressRoute" + vpn_client = "VPNClient" + + +class VirtualNetworkGatewayConnectionProtocol(str, Enum): + + ik_ev2 = "IKEv2" + ik_ev1 = "IKEv1" + + +class OfficeTrafficCategory(str, Enum): + + optimize = "Optimize" + optimize_and_allow = "OptimizeAndAllow" + all = "All" + none = "None" + + +class RoutingState(str, Enum): + + none = "None" + provisioned = "Provisioned" + provisioning = "Provisioning" + failed = "Failed" + + +class HubBgpConnectionStatus(str, Enum): + + unknown = "Unknown" + connecting = "Connecting" + connected = "Connected" + not_connected = "NotConnected" + + +class VpnConnectionStatus(str, Enum): + + unknown = "Unknown" + connecting = "Connecting" + connected = "Connected" + not_connected = "NotConnected" + + +class VirtualWanSecurityProviderType(str, Enum): + + external = "External" + native = "Native" + + +class TunnelConnectionStatus(str, Enum): + + unknown = "Unknown" + connecting = "Connecting" + connected = "Connected" + not_connected = "NotConnected" + + +class HubVirtualNetworkConnectionStatus(str, Enum): + + unknown = "Unknown" + connecting = "Connecting" + connected = "Connected" + not_connected = "NotConnected" + + +class VpnGatewayTunnelingProtocol(str, Enum): + + ike_v2 = "IkeV2" + open_vpn = "OpenVPN" + + +class VpnAuthenticationType(str, Enum): + + certificate = "Certificate" + radius = "Radius" + aad = "AAD" + + +class WebApplicationFirewallEnabledState(str, Enum): + + disabled = "Disabled" + enabled = "Enabled" + + +class WebApplicationFirewallMode(str, Enum): + + prevention = "Prevention" + detection = "Detection" + + +class WebApplicationFirewallRuleType(str, Enum): + + match_rule = "MatchRule" + invalid = "Invalid" + + +class WebApplicationFirewallMatchVariable(str, Enum): + + remote_addr = "RemoteAddr" + request_method = "RequestMethod" + query_string = "QueryString" + post_args = "PostArgs" + request_uri = "RequestUri" + request_headers = "RequestHeaders" + request_body = "RequestBody" + request_cookies = "RequestCookies" + + +class WebApplicationFirewallOperator(str, Enum): + + ip_match = "IPMatch" + equal = "Equal" + contains = "Contains" + less_than = "LessThan" + greater_than = "GreaterThan" + less_than_or_equal = "LessThanOrEqual" + greater_than_or_equal = "GreaterThanOrEqual" + begins_with = "BeginsWith" + ends_with = "EndsWith" + regex = "Regex" + geo_match = "GeoMatch" + + +class WebApplicationFirewallTransform(str, Enum): + + lowercase = "Lowercase" + trim = "Trim" + url_decode = "UrlDecode" + url_encode = "UrlEncode" + remove_nulls = "RemoveNulls" + html_entity_decode = "HtmlEntityDecode" + + +class WebApplicationFirewallAction(str, Enum): + + allow = "Allow" + block = "Block" + log = "Log" + + +class WebApplicationFirewallPolicyResourceState(str, Enum): + + creating = "Creating" + enabling = "Enabling" + enabled = "Enabled" + disabling = "Disabling" + disabled = "Disabled" + deleting = "Deleting" + + +class OwaspCrsExclusionEntryMatchVariable(str, Enum): + + request_header_names = "RequestHeaderNames" + request_cookie_names = "RequestCookieNames" + request_arg_names = "RequestArgNames" + + +class OwaspCrsExclusionEntrySelectorMatchOperator(str, Enum): + + equals = "Equals" + contains = "Contains" + starts_with = "StartsWith" + ends_with = "EndsWith" + equals_any = "EqualsAny" + + +class ManagedRuleEnabledState(str, Enum): + + disabled = "Disabled" diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/models/_paged_models.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/models/_paged_models.py new file mode 100644 index 00000000000..fdc297ec6f2 --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/models/_paged_models.py @@ -0,0 +1,1210 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.paging import Paged + + +class ApplicationGatewayPaged(Paged): + """ + A paging container for iterating over a list of :class:`ApplicationGateway ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ApplicationGateway]'} + } + + def __init__(self, *args, **kwargs): + + super(ApplicationGatewayPaged, self).__init__(*args, **kwargs) +class ApplicationGatewaySslPredefinedPolicyPaged(Paged): + """ + A paging container for iterating over a list of :class:`ApplicationGatewaySslPredefinedPolicy ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ApplicationGatewaySslPredefinedPolicy]'} + } + + def __init__(self, *args, **kwargs): + + super(ApplicationGatewaySslPredefinedPolicyPaged, self).__init__(*args, **kwargs) +class ApplicationSecurityGroupPaged(Paged): + """ + A paging container for iterating over a list of :class:`ApplicationSecurityGroup ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ApplicationSecurityGroup]'} + } + + def __init__(self, *args, **kwargs): + + super(ApplicationSecurityGroupPaged, self).__init__(*args, **kwargs) +class AvailableDelegationPaged(Paged): + """ + A paging container for iterating over a list of :class:`AvailableDelegation ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[AvailableDelegation]'} + } + + def __init__(self, *args, **kwargs): + + super(AvailableDelegationPaged, self).__init__(*args, **kwargs) +class AvailableServiceAliasPaged(Paged): + """ + A paging container for iterating over a list of :class:`AvailableServiceAlias ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[AvailableServiceAlias]'} + } + + def __init__(self, *args, **kwargs): + + super(AvailableServiceAliasPaged, self).__init__(*args, **kwargs) +class AzureFirewallPaged(Paged): + """ + A paging container for iterating over a list of :class:`AzureFirewall ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[AzureFirewall]'} + } + + def __init__(self, *args, **kwargs): + + super(AzureFirewallPaged, self).__init__(*args, **kwargs) +class AzureFirewallFqdnTagPaged(Paged): + """ + A paging container for iterating over a list of :class:`AzureFirewallFqdnTag ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[AzureFirewallFqdnTag]'} + } + + def __init__(self, *args, **kwargs): + + super(AzureFirewallFqdnTagPaged, self).__init__(*args, **kwargs) +class BastionHostPaged(Paged): + """ + A paging container for iterating over a list of :class:`BastionHost ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[BastionHost]'} + } + + def __init__(self, *args, **kwargs): + + super(BastionHostPaged, self).__init__(*args, **kwargs) +class BastionShareableLinkPaged(Paged): + """ + A paging container for iterating over a list of :class:`BastionShareableLink ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[BastionShareableLink]'} + } + + def __init__(self, *args, **kwargs): + + super(BastionShareableLinkPaged, self).__init__(*args, **kwargs) +class BastionSessionStatePaged(Paged): + """ + A paging container for iterating over a list of :class:`BastionSessionState ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[BastionSessionState]'} + } + + def __init__(self, *args, **kwargs): + + super(BastionSessionStatePaged, self).__init__(*args, **kwargs) +class DdosProtectionPlanPaged(Paged): + """ + A paging container for iterating over a list of :class:`DdosProtectionPlan ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[DdosProtectionPlan]'} + } + + def __init__(self, *args, **kwargs): + + super(DdosProtectionPlanPaged, self).__init__(*args, **kwargs) +class EndpointServiceResultPaged(Paged): + """ + A paging container for iterating over a list of :class:`EndpointServiceResult ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[EndpointServiceResult]'} + } + + def __init__(self, *args, **kwargs): + + super(EndpointServiceResultPaged, self).__init__(*args, **kwargs) +class ExpressRouteCircuitAuthorizationPaged(Paged): + """ + A paging container for iterating over a list of :class:`ExpressRouteCircuitAuthorization ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ExpressRouteCircuitAuthorization]'} + } + + def __init__(self, *args, **kwargs): + + super(ExpressRouteCircuitAuthorizationPaged, self).__init__(*args, **kwargs) +class ExpressRouteCircuitPeeringPaged(Paged): + """ + A paging container for iterating over a list of :class:`ExpressRouteCircuitPeering ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ExpressRouteCircuitPeering]'} + } + + def __init__(self, *args, **kwargs): + + super(ExpressRouteCircuitPeeringPaged, self).__init__(*args, **kwargs) +class ExpressRouteCircuitConnectionPaged(Paged): + """ + A paging container for iterating over a list of :class:`ExpressRouteCircuitConnection ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ExpressRouteCircuitConnection]'} + } + + def __init__(self, *args, **kwargs): + + super(ExpressRouteCircuitConnectionPaged, self).__init__(*args, **kwargs) +class PeerExpressRouteCircuitConnectionPaged(Paged): + """ + A paging container for iterating over a list of :class:`PeerExpressRouteCircuitConnection ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[PeerExpressRouteCircuitConnection]'} + } + + def __init__(self, *args, **kwargs): + + super(PeerExpressRouteCircuitConnectionPaged, self).__init__(*args, **kwargs) +class ExpressRouteCircuitPaged(Paged): + """ + A paging container for iterating over a list of :class:`ExpressRouteCircuit ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ExpressRouteCircuit]'} + } + + def __init__(self, *args, **kwargs): + + super(ExpressRouteCircuitPaged, self).__init__(*args, **kwargs) +class ExpressRouteServiceProviderPaged(Paged): + """ + A paging container for iterating over a list of :class:`ExpressRouteServiceProvider ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ExpressRouteServiceProvider]'} + } + + def __init__(self, *args, **kwargs): + + super(ExpressRouteServiceProviderPaged, self).__init__(*args, **kwargs) +class ExpressRouteCrossConnectionPaged(Paged): + """ + A paging container for iterating over a list of :class:`ExpressRouteCrossConnection ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ExpressRouteCrossConnection]'} + } + + def __init__(self, *args, **kwargs): + + super(ExpressRouteCrossConnectionPaged, self).__init__(*args, **kwargs) +class ExpressRouteCrossConnectionPeeringPaged(Paged): + """ + A paging container for iterating over a list of :class:`ExpressRouteCrossConnectionPeering ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ExpressRouteCrossConnectionPeering]'} + } + + def __init__(self, *args, **kwargs): + + super(ExpressRouteCrossConnectionPeeringPaged, self).__init__(*args, **kwargs) +class ExpressRoutePortsLocationPaged(Paged): + """ + A paging container for iterating over a list of :class:`ExpressRoutePortsLocation ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ExpressRoutePortsLocation]'} + } + + def __init__(self, *args, **kwargs): + + super(ExpressRoutePortsLocationPaged, self).__init__(*args, **kwargs) +class ExpressRoutePortPaged(Paged): + """ + A paging container for iterating over a list of :class:`ExpressRoutePort ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ExpressRoutePort]'} + } + + def __init__(self, *args, **kwargs): + + super(ExpressRoutePortPaged, self).__init__(*args, **kwargs) +class ExpressRouteLinkPaged(Paged): + """ + A paging container for iterating over a list of :class:`ExpressRouteLink ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ExpressRouteLink]'} + } + + def __init__(self, *args, **kwargs): + + super(ExpressRouteLinkPaged, self).__init__(*args, **kwargs) +class FirewallPolicyPaged(Paged): + """ + A paging container for iterating over a list of :class:`FirewallPolicy ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[FirewallPolicy]'} + } + + def __init__(self, *args, **kwargs): + + super(FirewallPolicyPaged, self).__init__(*args, **kwargs) +class FirewallPolicyRuleCollectionGroupPaged(Paged): + """ + A paging container for iterating over a list of :class:`FirewallPolicyRuleCollectionGroup ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[FirewallPolicyRuleCollectionGroup]'} + } + + def __init__(self, *args, **kwargs): + + super(FirewallPolicyRuleCollectionGroupPaged, self).__init__(*args, **kwargs) +class IpAllocationPaged(Paged): + """ + A paging container for iterating over a list of :class:`IpAllocation ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[IpAllocation]'} + } + + def __init__(self, *args, **kwargs): + + super(IpAllocationPaged, self).__init__(*args, **kwargs) +class IpGroupPaged(Paged): + """ + A paging container for iterating over a list of :class:`IpGroup ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[IpGroup]'} + } + + def __init__(self, *args, **kwargs): + + super(IpGroupPaged, self).__init__(*args, **kwargs) +class LoadBalancerPaged(Paged): + """ + A paging container for iterating over a list of :class:`LoadBalancer ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[LoadBalancer]'} + } + + def __init__(self, *args, **kwargs): + + super(LoadBalancerPaged, self).__init__(*args, **kwargs) +class BackendAddressPoolPaged(Paged): + """ + A paging container for iterating over a list of :class:`BackendAddressPool ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[BackendAddressPool]'} + } + + def __init__(self, *args, **kwargs): + + super(BackendAddressPoolPaged, self).__init__(*args, **kwargs) +class FrontendIPConfigurationPaged(Paged): + """ + A paging container for iterating over a list of :class:`FrontendIPConfiguration ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[FrontendIPConfiguration]'} + } + + def __init__(self, *args, **kwargs): + + super(FrontendIPConfigurationPaged, self).__init__(*args, **kwargs) +class InboundNatRulePaged(Paged): + """ + A paging container for iterating over a list of :class:`InboundNatRule ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[InboundNatRule]'} + } + + def __init__(self, *args, **kwargs): + + super(InboundNatRulePaged, self).__init__(*args, **kwargs) +class LoadBalancingRulePaged(Paged): + """ + A paging container for iterating over a list of :class:`LoadBalancingRule ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[LoadBalancingRule]'} + } + + def __init__(self, *args, **kwargs): + + super(LoadBalancingRulePaged, self).__init__(*args, **kwargs) +class OutboundRulePaged(Paged): + """ + A paging container for iterating over a list of :class:`OutboundRule ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[OutboundRule]'} + } + + def __init__(self, *args, **kwargs): + + super(OutboundRulePaged, self).__init__(*args, **kwargs) +class NetworkInterfacePaged(Paged): + """ + A paging container for iterating over a list of :class:`NetworkInterface ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[NetworkInterface]'} + } + + def __init__(self, *args, **kwargs): + + super(NetworkInterfacePaged, self).__init__(*args, **kwargs) +class ProbePaged(Paged): + """ + A paging container for iterating over a list of :class:`Probe ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[Probe]'} + } + + def __init__(self, *args, **kwargs): + + super(ProbePaged, self).__init__(*args, **kwargs) +class NatGatewayPaged(Paged): + """ + A paging container for iterating over a list of :class:`NatGateway ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[NatGateway]'} + } + + def __init__(self, *args, **kwargs): + + super(NatGatewayPaged, self).__init__(*args, **kwargs) +class NetworkInterfaceIPConfigurationPaged(Paged): + """ + A paging container for iterating over a list of :class:`NetworkInterfaceIPConfiguration ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[NetworkInterfaceIPConfiguration]'} + } + + def __init__(self, *args, **kwargs): + + super(NetworkInterfaceIPConfigurationPaged, self).__init__(*args, **kwargs) +class NetworkInterfaceTapConfigurationPaged(Paged): + """ + A paging container for iterating over a list of :class:`NetworkInterfaceTapConfiguration ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[NetworkInterfaceTapConfiguration]'} + } + + def __init__(self, *args, **kwargs): + + super(NetworkInterfaceTapConfigurationPaged, self).__init__(*args, **kwargs) +class NetworkProfilePaged(Paged): + """ + A paging container for iterating over a list of :class:`NetworkProfile ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[NetworkProfile]'} + } + + def __init__(self, *args, **kwargs): + + super(NetworkProfilePaged, self).__init__(*args, **kwargs) +class NetworkSecurityGroupPaged(Paged): + """ + A paging container for iterating over a list of :class:`NetworkSecurityGroup ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[NetworkSecurityGroup]'} + } + + def __init__(self, *args, **kwargs): + + super(NetworkSecurityGroupPaged, self).__init__(*args, **kwargs) +class SecurityRulePaged(Paged): + """ + A paging container for iterating over a list of :class:`SecurityRule ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[SecurityRule]'} + } + + def __init__(self, *args, **kwargs): + + super(SecurityRulePaged, self).__init__(*args, **kwargs) +class NetworkVirtualAppliancePaged(Paged): + """ + A paging container for iterating over a list of :class:`NetworkVirtualAppliance ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[NetworkVirtualAppliance]'} + } + + def __init__(self, *args, **kwargs): + + super(NetworkVirtualAppliancePaged, self).__init__(*args, **kwargs) +class VirtualApplianceSitePaged(Paged): + """ + A paging container for iterating over a list of :class:`VirtualApplianceSite ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[VirtualApplianceSite]'} + } + + def __init__(self, *args, **kwargs): + + super(VirtualApplianceSitePaged, self).__init__(*args, **kwargs) +class NetworkVirtualApplianceSkuPaged(Paged): + """ + A paging container for iterating over a list of :class:`NetworkVirtualApplianceSku ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[NetworkVirtualApplianceSku]'} + } + + def __init__(self, *args, **kwargs): + + super(NetworkVirtualApplianceSkuPaged, self).__init__(*args, **kwargs) +class NetworkWatcherPaged(Paged): + """ + A paging container for iterating over a list of :class:`NetworkWatcher ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[NetworkWatcher]'} + } + + def __init__(self, *args, **kwargs): + + super(NetworkWatcherPaged, self).__init__(*args, **kwargs) +class PacketCaptureResultPaged(Paged): + """ + A paging container for iterating over a list of :class:`PacketCaptureResult ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[PacketCaptureResult]'} + } + + def __init__(self, *args, **kwargs): + + super(PacketCaptureResultPaged, self).__init__(*args, **kwargs) +class ConnectionMonitorResultPaged(Paged): + """ + A paging container for iterating over a list of :class:`ConnectionMonitorResult ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ConnectionMonitorResult]'} + } + + def __init__(self, *args, **kwargs): + + super(ConnectionMonitorResultPaged, self).__init__(*args, **kwargs) +class FlowLogPaged(Paged): + """ + A paging container for iterating over a list of :class:`FlowLog ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[FlowLog]'} + } + + def __init__(self, *args, **kwargs): + + super(FlowLogPaged, self).__init__(*args, **kwargs) +class OperationPaged(Paged): + """ + A paging container for iterating over a list of :class:`Operation ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[Operation]'} + } + + def __init__(self, *args, **kwargs): + + super(OperationPaged, self).__init__(*args, **kwargs) +class PrivateEndpointPaged(Paged): + """ + A paging container for iterating over a list of :class:`PrivateEndpoint ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[PrivateEndpoint]'} + } + + def __init__(self, *args, **kwargs): + + super(PrivateEndpointPaged, self).__init__(*args, **kwargs) +class AvailablePrivateEndpointTypePaged(Paged): + """ + A paging container for iterating over a list of :class:`AvailablePrivateEndpointType ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[AvailablePrivateEndpointType]'} + } + + def __init__(self, *args, **kwargs): + + super(AvailablePrivateEndpointTypePaged, self).__init__(*args, **kwargs) +class PrivateDnsZoneGroupPaged(Paged): + """ + A paging container for iterating over a list of :class:`PrivateDnsZoneGroup ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[PrivateDnsZoneGroup]'} + } + + def __init__(self, *args, **kwargs): + + super(PrivateDnsZoneGroupPaged, self).__init__(*args, **kwargs) +class PrivateLinkServicePaged(Paged): + """ + A paging container for iterating over a list of :class:`PrivateLinkService ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[PrivateLinkService]'} + } + + def __init__(self, *args, **kwargs): + + super(PrivateLinkServicePaged, self).__init__(*args, **kwargs) +class PrivateEndpointConnectionPaged(Paged): + """ + A paging container for iterating over a list of :class:`PrivateEndpointConnection ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[PrivateEndpointConnection]'} + } + + def __init__(self, *args, **kwargs): + + super(PrivateEndpointConnectionPaged, self).__init__(*args, **kwargs) +class AutoApprovedPrivateLinkServicePaged(Paged): + """ + A paging container for iterating over a list of :class:`AutoApprovedPrivateLinkService ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[AutoApprovedPrivateLinkService]'} + } + + def __init__(self, *args, **kwargs): + + super(AutoApprovedPrivateLinkServicePaged, self).__init__(*args, **kwargs) +class PublicIPAddressPaged(Paged): + """ + A paging container for iterating over a list of :class:`PublicIPAddress ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[PublicIPAddress]'} + } + + def __init__(self, *args, **kwargs): + + super(PublicIPAddressPaged, self).__init__(*args, **kwargs) +class PublicIPPrefixPaged(Paged): + """ + A paging container for iterating over a list of :class:`PublicIPPrefix ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[PublicIPPrefix]'} + } + + def __init__(self, *args, **kwargs): + + super(PublicIPPrefixPaged, self).__init__(*args, **kwargs) +class RouteFilterPaged(Paged): + """ + A paging container for iterating over a list of :class:`RouteFilter ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[RouteFilter]'} + } + + def __init__(self, *args, **kwargs): + + super(RouteFilterPaged, self).__init__(*args, **kwargs) +class RouteFilterRulePaged(Paged): + """ + A paging container for iterating over a list of :class:`RouteFilterRule ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[RouteFilterRule]'} + } + + def __init__(self, *args, **kwargs): + + super(RouteFilterRulePaged, self).__init__(*args, **kwargs) +class RouteTablePaged(Paged): + """ + A paging container for iterating over a list of :class:`RouteTable ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[RouteTable]'} + } + + def __init__(self, *args, **kwargs): + + super(RouteTablePaged, self).__init__(*args, **kwargs) +class RoutePaged(Paged): + """ + A paging container for iterating over a list of :class:`Route ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[Route]'} + } + + def __init__(self, *args, **kwargs): + + super(RoutePaged, self).__init__(*args, **kwargs) +class SecurityPartnerProviderPaged(Paged): + """ + A paging container for iterating over a list of :class:`SecurityPartnerProvider ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[SecurityPartnerProvider]'} + } + + def __init__(self, *args, **kwargs): + + super(SecurityPartnerProviderPaged, self).__init__(*args, **kwargs) +class BgpServiceCommunityPaged(Paged): + """ + A paging container for iterating over a list of :class:`BgpServiceCommunity ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[BgpServiceCommunity]'} + } + + def __init__(self, *args, **kwargs): + + super(BgpServiceCommunityPaged, self).__init__(*args, **kwargs) +class ServiceEndpointPolicyPaged(Paged): + """ + A paging container for iterating over a list of :class:`ServiceEndpointPolicy ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ServiceEndpointPolicy]'} + } + + def __init__(self, *args, **kwargs): + + super(ServiceEndpointPolicyPaged, self).__init__(*args, **kwargs) +class ServiceEndpointPolicyDefinitionPaged(Paged): + """ + A paging container for iterating over a list of :class:`ServiceEndpointPolicyDefinition ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ServiceEndpointPolicyDefinition]'} + } + + def __init__(self, *args, **kwargs): + + super(ServiceEndpointPolicyDefinitionPaged, self).__init__(*args, **kwargs) +class UsagePaged(Paged): + """ + A paging container for iterating over a list of :class:`Usage ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[Usage]'} + } + + def __init__(self, *args, **kwargs): + + super(UsagePaged, self).__init__(*args, **kwargs) +class VirtualNetworkPaged(Paged): + """ + A paging container for iterating over a list of :class:`VirtualNetwork ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[VirtualNetwork]'} + } + + def __init__(self, *args, **kwargs): + + super(VirtualNetworkPaged, self).__init__(*args, **kwargs) +class VirtualNetworkUsagePaged(Paged): + """ + A paging container for iterating over a list of :class:`VirtualNetworkUsage ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[VirtualNetworkUsage]'} + } + + def __init__(self, *args, **kwargs): + + super(VirtualNetworkUsagePaged, self).__init__(*args, **kwargs) +class SubnetPaged(Paged): + """ + A paging container for iterating over a list of :class:`Subnet ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[Subnet]'} + } + + def __init__(self, *args, **kwargs): + + super(SubnetPaged, self).__init__(*args, **kwargs) +class VirtualNetworkPeeringPaged(Paged): + """ + A paging container for iterating over a list of :class:`VirtualNetworkPeering ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[VirtualNetworkPeering]'} + } + + def __init__(self, *args, **kwargs): + + super(VirtualNetworkPeeringPaged, self).__init__(*args, **kwargs) +class VirtualNetworkGatewayPaged(Paged): + """ + A paging container for iterating over a list of :class:`VirtualNetworkGateway ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[VirtualNetworkGateway]'} + } + + def __init__(self, *args, **kwargs): + + super(VirtualNetworkGatewayPaged, self).__init__(*args, **kwargs) +class VirtualNetworkGatewayConnectionListEntityPaged(Paged): + """ + A paging container for iterating over a list of :class:`VirtualNetworkGatewayConnectionListEntity ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[VirtualNetworkGatewayConnectionListEntity]'} + } + + def __init__(self, *args, **kwargs): + + super(VirtualNetworkGatewayConnectionListEntityPaged, self).__init__(*args, **kwargs) +class VirtualNetworkGatewayConnectionPaged(Paged): + """ + A paging container for iterating over a list of :class:`VirtualNetworkGatewayConnection ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[VirtualNetworkGatewayConnection]'} + } + + def __init__(self, *args, **kwargs): + + super(VirtualNetworkGatewayConnectionPaged, self).__init__(*args, **kwargs) +class LocalNetworkGatewayPaged(Paged): + """ + A paging container for iterating over a list of :class:`LocalNetworkGateway ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[LocalNetworkGateway]'} + } + + def __init__(self, *args, **kwargs): + + super(LocalNetworkGatewayPaged, self).__init__(*args, **kwargs) +class VirtualNetworkTapPaged(Paged): + """ + A paging container for iterating over a list of :class:`VirtualNetworkTap ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[VirtualNetworkTap]'} + } + + def __init__(self, *args, **kwargs): + + super(VirtualNetworkTapPaged, self).__init__(*args, **kwargs) +class VirtualRouterPaged(Paged): + """ + A paging container for iterating over a list of :class:`VirtualRouter ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[VirtualRouter]'} + } + + def __init__(self, *args, **kwargs): + + super(VirtualRouterPaged, self).__init__(*args, **kwargs) +class VirtualRouterPeeringPaged(Paged): + """ + A paging container for iterating over a list of :class:`VirtualRouterPeering ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[VirtualRouterPeering]'} + } + + def __init__(self, *args, **kwargs): + + super(VirtualRouterPeeringPaged, self).__init__(*args, **kwargs) +class VirtualWANPaged(Paged): + """ + A paging container for iterating over a list of :class:`VirtualWAN ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[VirtualWAN]'} + } + + def __init__(self, *args, **kwargs): + + super(VirtualWANPaged, self).__init__(*args, **kwargs) +class VpnSitePaged(Paged): + """ + A paging container for iterating over a list of :class:`VpnSite ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[VpnSite]'} + } + + def __init__(self, *args, **kwargs): + + super(VpnSitePaged, self).__init__(*args, **kwargs) +class VpnSiteLinkPaged(Paged): + """ + A paging container for iterating over a list of :class:`VpnSiteLink ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[VpnSiteLink]'} + } + + def __init__(self, *args, **kwargs): + + super(VpnSiteLinkPaged, self).__init__(*args, **kwargs) +class VpnServerConfigurationPaged(Paged): + """ + A paging container for iterating over a list of :class:`VpnServerConfiguration ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[VpnServerConfiguration]'} + } + + def __init__(self, *args, **kwargs): + + super(VpnServerConfigurationPaged, self).__init__(*args, **kwargs) +class VirtualHubPaged(Paged): + """ + A paging container for iterating over a list of :class:`VirtualHub ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[VirtualHub]'} + } + + def __init__(self, *args, **kwargs): + + super(VirtualHubPaged, self).__init__(*args, **kwargs) +class HubVirtualNetworkConnectionPaged(Paged): + """ + A paging container for iterating over a list of :class:`HubVirtualNetworkConnection ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[HubVirtualNetworkConnection]'} + } + + def __init__(self, *args, **kwargs): + + super(HubVirtualNetworkConnectionPaged, self).__init__(*args, **kwargs) +class VpnGatewayPaged(Paged): + """ + A paging container for iterating over a list of :class:`VpnGateway ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[VpnGateway]'} + } + + def __init__(self, *args, **kwargs): + + super(VpnGatewayPaged, self).__init__(*args, **kwargs) +class VpnConnectionPaged(Paged): + """ + A paging container for iterating over a list of :class:`VpnConnection ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[VpnConnection]'} + } + + def __init__(self, *args, **kwargs): + + super(VpnConnectionPaged, self).__init__(*args, **kwargs) +class VpnSiteLinkConnectionPaged(Paged): + """ + A paging container for iterating over a list of :class:`VpnSiteLinkConnection ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[VpnSiteLinkConnection]'} + } + + def __init__(self, *args, **kwargs): + + super(VpnSiteLinkConnectionPaged, self).__init__(*args, **kwargs) +class P2SVpnGatewayPaged(Paged): + """ + A paging container for iterating over a list of :class:`P2SVpnGateway ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[P2SVpnGateway]'} + } + + def __init__(self, *args, **kwargs): + + super(P2SVpnGatewayPaged, self).__init__(*args, **kwargs) +class VirtualHubRouteTableV2Paged(Paged): + """ + A paging container for iterating over a list of :class:`VirtualHubRouteTableV2 ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[VirtualHubRouteTableV2]'} + } + + def __init__(self, *args, **kwargs): + + super(VirtualHubRouteTableV2Paged, self).__init__(*args, **kwargs) +class BgpConnectionPaged(Paged): + """ + A paging container for iterating over a list of :class:`BgpConnection ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[BgpConnection]'} + } + + def __init__(self, *args, **kwargs): + + super(BgpConnectionPaged, self).__init__(*args, **kwargs) +class HubIpConfigurationPaged(Paged): + """ + A paging container for iterating over a list of :class:`HubIpConfiguration ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[HubIpConfiguration]'} + } + + def __init__(self, *args, **kwargs): + + super(HubIpConfigurationPaged, self).__init__(*args, **kwargs) +class HubRouteTablePaged(Paged): + """ + A paging container for iterating over a list of :class:`HubRouteTable ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[HubRouteTable]'} + } + + def __init__(self, *args, **kwargs): + + super(HubRouteTablePaged, self).__init__(*args, **kwargs) +class WebApplicationFirewallPolicyPaged(Paged): + """ + A paging container for iterating over a list of :class:`WebApplicationFirewallPolicy ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[WebApplicationFirewallPolicy]'} + } + + def __init__(self, *args, **kwargs): + + super(WebApplicationFirewallPolicyPaged, self).__init__(*args, **kwargs) diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/__init__.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/__init__.py new file mode 100644 index 00000000000..72ad8d55871 --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/__init__.py @@ -0,0 +1,214 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from ._application_gateways_operations import ApplicationGatewaysOperations +from ._application_security_groups_operations import ApplicationSecurityGroupsOperations +from ._available_delegations_operations import AvailableDelegationsOperations +from ._available_resource_group_delegations_operations import AvailableResourceGroupDelegationsOperations +from ._available_service_aliases_operations import AvailableServiceAliasesOperations +from ._azure_firewalls_operations import AzureFirewallsOperations +from ._azure_firewall_fqdn_tags_operations import AzureFirewallFqdnTagsOperations +from ._bastion_hosts_operations import BastionHostsOperations +from ._ddos_custom_policies_operations import DdosCustomPoliciesOperations +from ._ddos_protection_plans_operations import DdosProtectionPlansOperations +from ._available_endpoint_services_operations import AvailableEndpointServicesOperations +from ._express_route_circuit_authorizations_operations import ExpressRouteCircuitAuthorizationsOperations +from ._express_route_circuit_peerings_operations import ExpressRouteCircuitPeeringsOperations +from ._express_route_circuit_connections_operations import ExpressRouteCircuitConnectionsOperations +from ._peer_express_route_circuit_connections_operations import PeerExpressRouteCircuitConnectionsOperations +from ._express_route_circuits_operations import ExpressRouteCircuitsOperations +from ._express_route_service_providers_operations import ExpressRouteServiceProvidersOperations +from ._express_route_cross_connections_operations import ExpressRouteCrossConnectionsOperations +from ._express_route_cross_connection_peerings_operations import ExpressRouteCrossConnectionPeeringsOperations +from ._express_route_ports_locations_operations import ExpressRoutePortsLocationsOperations +from ._express_route_ports_operations import ExpressRoutePortsOperations +from ._express_route_links_operations import ExpressRouteLinksOperations +from ._firewall_policies_operations import FirewallPoliciesOperations +from ._firewall_policy_rule_collection_groups_operations import FirewallPolicyRuleCollectionGroupsOperations +from ._ip_allocations_operations import IpAllocationsOperations +from ._ip_groups_operations import IpGroupsOperations +from ._load_balancers_operations import LoadBalancersOperations +from ._load_balancer_backend_address_pools_operations import LoadBalancerBackendAddressPoolsOperations +from ._load_balancer_frontend_ip_configurations_operations import LoadBalancerFrontendIPConfigurationsOperations +from ._inbound_nat_rules_operations import InboundNatRulesOperations +from ._load_balancer_load_balancing_rules_operations import LoadBalancerLoadBalancingRulesOperations +from ._load_balancer_outbound_rules_operations import LoadBalancerOutboundRulesOperations +from ._load_balancer_network_interfaces_operations import LoadBalancerNetworkInterfacesOperations +from ._load_balancer_probes_operations import LoadBalancerProbesOperations +from ._nat_gateways_operations import NatGatewaysOperations +from ._network_interfaces_operations import NetworkInterfacesOperations +from ._network_interface_ip_configurations_operations import NetworkInterfaceIPConfigurationsOperations +from ._network_interface_load_balancers_operations import NetworkInterfaceLoadBalancersOperations +from ._network_interface_tap_configurations_operations import NetworkInterfaceTapConfigurationsOperations +from ._network_profiles_operations import NetworkProfilesOperations +from ._network_security_groups_operations import NetworkSecurityGroupsOperations +from ._security_rules_operations import SecurityRulesOperations +from ._default_security_rules_operations import DefaultSecurityRulesOperations +from ._network_virtual_appliances_operations import NetworkVirtualAppliancesOperations +from ._virtual_appliance_sites_operations import VirtualApplianceSitesOperations +from ._virtual_appliance_skus_operations import VirtualApplianceSkusOperations +from ._network_watchers_operations import NetworkWatchersOperations +from ._packet_captures_operations import PacketCapturesOperations +from ._connection_monitors_operations import ConnectionMonitorsOperations +from ._flow_logs_operations import FlowLogsOperations +from ._operations import Operations +from ._private_endpoints_operations import PrivateEndpointsOperations +from ._available_private_endpoint_types_operations import AvailablePrivateEndpointTypesOperations +from ._private_dns_zone_groups_operations import PrivateDnsZoneGroupsOperations +from ._private_link_services_operations import PrivateLinkServicesOperations +from ._public_ip_addresses_operations import PublicIPAddressesOperations +from ._public_ip_prefixes_operations import PublicIPPrefixesOperations +from ._route_filters_operations import RouteFiltersOperations +from ._route_filter_rules_operations import RouteFilterRulesOperations +from ._route_tables_operations import RouteTablesOperations +from ._routes_operations import RoutesOperations +from ._security_partner_providers_operations import SecurityPartnerProvidersOperations +from ._bgp_service_communities_operations import BgpServiceCommunitiesOperations +from ._service_endpoint_policies_operations import ServiceEndpointPoliciesOperations +from ._service_endpoint_policy_definitions_operations import ServiceEndpointPolicyDefinitionsOperations +from ._service_tags_operations import ServiceTagsOperations +from ._usages_operations import UsagesOperations +from ._virtual_networks_operations import VirtualNetworksOperations +from ._subnets_operations import SubnetsOperations +from ._resource_navigation_links_operations import ResourceNavigationLinksOperations +from ._service_association_links_operations import ServiceAssociationLinksOperations +from ._virtual_network_peerings_operations import VirtualNetworkPeeringsOperations +from ._virtual_network_gateways_operations import VirtualNetworkGatewaysOperations +from ._virtual_network_gateway_connections_operations import VirtualNetworkGatewayConnectionsOperations +from ._local_network_gateways_operations import LocalNetworkGatewaysOperations +from ._virtual_network_taps_operations import VirtualNetworkTapsOperations +from ._virtual_routers_operations import VirtualRoutersOperations +from ._virtual_router_peerings_operations import VirtualRouterPeeringsOperations +from ._virtual_wans_operations import VirtualWansOperations +from ._vpn_sites_operations import VpnSitesOperations +from ._vpn_site_links_operations import VpnSiteLinksOperations +from ._vpn_sites_configuration_operations import VpnSitesConfigurationOperations +from ._vpn_server_configurations_operations import VpnServerConfigurationsOperations +from ._virtual_hubs_operations import VirtualHubsOperations +from ._hub_virtual_network_connections_operations import HubVirtualNetworkConnectionsOperations +from ._vpn_gateways_operations import VpnGatewaysOperations +from ._vpn_connections_operations import VpnConnectionsOperations +from ._vpn_site_link_connections_operations import VpnSiteLinkConnectionsOperations +from ._vpn_link_connections_operations import VpnLinkConnectionsOperations +from ._p2s_vpn_gateways_operations import P2sVpnGatewaysOperations +from ._vpn_server_configurations_associated_with_virtual_wan_operations import VpnServerConfigurationsAssociatedWithVirtualWanOperations +from ._virtual_hub_route_table_v2s_operations import VirtualHubRouteTableV2sOperations +from ._express_route_gateways_operations import ExpressRouteGatewaysOperations +from ._express_route_connections_operations import ExpressRouteConnectionsOperations +from ._virtual_hub_bgp_connection_operations import VirtualHubBgpConnectionOperations +from ._virtual_hub_bgp_connections_operations import VirtualHubBgpConnectionsOperations +from ._virtual_hub_ip_configuration_operations import VirtualHubIpConfigurationOperations +from ._hub_route_tables_operations import HubRouteTablesOperations +from ._web_application_firewall_policies_operations import WebApplicationFirewallPoliciesOperations +from ._network_management_client_operations import NetworkManagementClientOperationsMixin + +__all__ = [ + 'ApplicationGatewaysOperations', + 'ApplicationSecurityGroupsOperations', + 'AvailableDelegationsOperations', + 'AvailableResourceGroupDelegationsOperations', + 'AvailableServiceAliasesOperations', + 'AzureFirewallsOperations', + 'AzureFirewallFqdnTagsOperations', + 'BastionHostsOperations', + 'DdosCustomPoliciesOperations', + 'DdosProtectionPlansOperations', + 'AvailableEndpointServicesOperations', + 'ExpressRouteCircuitAuthorizationsOperations', + 'ExpressRouteCircuitPeeringsOperations', + 'ExpressRouteCircuitConnectionsOperations', + 'PeerExpressRouteCircuitConnectionsOperations', + 'ExpressRouteCircuitsOperations', + 'ExpressRouteServiceProvidersOperations', + 'ExpressRouteCrossConnectionsOperations', + 'ExpressRouteCrossConnectionPeeringsOperations', + 'ExpressRoutePortsLocationsOperations', + 'ExpressRoutePortsOperations', + 'ExpressRouteLinksOperations', + 'FirewallPoliciesOperations', + 'FirewallPolicyRuleCollectionGroupsOperations', + 'IpAllocationsOperations', + 'IpGroupsOperations', + 'LoadBalancersOperations', + 'LoadBalancerBackendAddressPoolsOperations', + 'LoadBalancerFrontendIPConfigurationsOperations', + 'InboundNatRulesOperations', + 'LoadBalancerLoadBalancingRulesOperations', + 'LoadBalancerOutboundRulesOperations', + 'LoadBalancerNetworkInterfacesOperations', + 'LoadBalancerProbesOperations', + 'NatGatewaysOperations', + 'NetworkInterfacesOperations', + 'NetworkInterfaceIPConfigurationsOperations', + 'NetworkInterfaceLoadBalancersOperations', + 'NetworkInterfaceTapConfigurationsOperations', + 'NetworkProfilesOperations', + 'NetworkSecurityGroupsOperations', + 'SecurityRulesOperations', + 'DefaultSecurityRulesOperations', + 'NetworkVirtualAppliancesOperations', + 'VirtualApplianceSitesOperations', + 'VirtualApplianceSkusOperations', + 'NetworkWatchersOperations', + 'PacketCapturesOperations', + 'ConnectionMonitorsOperations', + 'FlowLogsOperations', + 'Operations', + 'PrivateEndpointsOperations', + 'AvailablePrivateEndpointTypesOperations', + 'PrivateDnsZoneGroupsOperations', + 'PrivateLinkServicesOperations', + 'PublicIPAddressesOperations', + 'PublicIPPrefixesOperations', + 'RouteFiltersOperations', + 'RouteFilterRulesOperations', + 'RouteTablesOperations', + 'RoutesOperations', + 'SecurityPartnerProvidersOperations', + 'BgpServiceCommunitiesOperations', + 'ServiceEndpointPoliciesOperations', + 'ServiceEndpointPolicyDefinitionsOperations', + 'ServiceTagsOperations', + 'UsagesOperations', + 'VirtualNetworksOperations', + 'SubnetsOperations', + 'ResourceNavigationLinksOperations', + 'ServiceAssociationLinksOperations', + 'VirtualNetworkPeeringsOperations', + 'VirtualNetworkGatewaysOperations', + 'VirtualNetworkGatewayConnectionsOperations', + 'LocalNetworkGatewaysOperations', + 'VirtualNetworkTapsOperations', + 'VirtualRoutersOperations', + 'VirtualRouterPeeringsOperations', + 'VirtualWansOperations', + 'VpnSitesOperations', + 'VpnSiteLinksOperations', + 'VpnSitesConfigurationOperations', + 'VpnServerConfigurationsOperations', + 'VirtualHubsOperations', + 'HubVirtualNetworkConnectionsOperations', + 'VpnGatewaysOperations', + 'VpnConnectionsOperations', + 'VpnSiteLinkConnectionsOperations', + 'VpnLinkConnectionsOperations', + 'P2sVpnGatewaysOperations', + 'VpnServerConfigurationsAssociatedWithVirtualWanOperations', + 'VirtualHubRouteTableV2sOperations', + 'ExpressRouteGatewaysOperations', + 'ExpressRouteConnectionsOperations', + 'VirtualHubBgpConnectionOperations', + 'VirtualHubBgpConnectionsOperations', + 'VirtualHubIpConfigurationOperations', + 'HubRouteTablesOperations', + 'WebApplicationFirewallPoliciesOperations', + 'NetworkManagementClientOperationsMixin', +] diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_application_gateways_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_application_gateways_operations.py new file mode 100644 index 00000000000..f31e17847f8 --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_application_gateways_operations.py @@ -0,0 +1,1259 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class ApplicationGatewaysOperations(object): + """ApplicationGatewaysOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, application_gateway_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'applicationGatewayName': self._serialize.url("application_gateway_name", application_gateway_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, application_gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified application gateway. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param application_gateway_name: The name of the application gateway. + :type application_gateway_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + application_gateway_name=application_gateway_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}'} + + def get( + self, resource_group_name, application_gateway_name, custom_headers=None, raw=False, **operation_config): + """Gets the specified application gateway. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param application_gateway_name: The name of the application gateway. + :type application_gateway_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ApplicationGateway or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.ApplicationGateway or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'applicationGatewayName': self._serialize.url("application_gateway_name", application_gateway_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ApplicationGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}'} + + + def _create_or_update_initial( + self, resource_group_name, application_gateway_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'applicationGatewayName': self._serialize.url("application_gateway_name", application_gateway_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'ApplicationGateway') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('ApplicationGateway', response) + if response.status_code == 201: + deserialized = self._deserialize('ApplicationGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, application_gateway_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates the specified application gateway. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param application_gateway_name: The name of the application gateway. + :type application_gateway_name: str + :param parameters: Parameters supplied to the create or update + application gateway operation. + :type parameters: + ~azure.mgmt.network.v2020_05_01.models.ApplicationGateway + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns ApplicationGateway or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.ApplicationGateway] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.ApplicationGateway]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + application_gateway_name=application_gateway_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ApplicationGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}'} + + def update_tags( + self, resource_group_name, application_gateway_name, tags=None, custom_headers=None, raw=False, **operation_config): + """Updates the specified application gateway tags. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param application_gateway_name: The name of the application gateway. + :type application_gateway_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ApplicationGateway or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.ApplicationGateway or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'applicationGatewayName': self._serialize.url("application_gateway_name", application_gateway_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ApplicationGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}'} + + def list( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Lists all application gateways in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of ApplicationGateway + :rtype: + ~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayPaged[~azure.mgmt.network.v2020_05_01.models.ApplicationGateway] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.ApplicationGatewayPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways'} + + def list_all( + self, custom_headers=None, raw=False, **operation_config): + """Gets all the application gateways in a subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of ApplicationGateway + :rtype: + ~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayPaged[~azure.mgmt.network.v2020_05_01.models.ApplicationGateway] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_all.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.ApplicationGatewayPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGateways'} + + + def _start_initial( + self, resource_group_name, application_gateway_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.start.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'applicationGatewayName': self._serialize.url("application_gateway_name", application_gateway_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def start( + self, resource_group_name, application_gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Starts the specified application gateway. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param application_gateway_name: The name of the application gateway. + :type application_gateway_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._start_initial( + resource_group_name=resource_group_name, + application_gateway_name=application_gateway_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + start.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}/start'} + + + def _stop_initial( + self, resource_group_name, application_gateway_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.stop.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'applicationGatewayName': self._serialize.url("application_gateway_name", application_gateway_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def stop( + self, resource_group_name, application_gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Stops the specified application gateway in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param application_gateway_name: The name of the application gateway. + :type application_gateway_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._stop_initial( + resource_group_name=resource_group_name, + application_gateway_name=application_gateway_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + stop.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}/stop'} + + + def _backend_health_initial( + self, resource_group_name, application_gateway_name, expand=None, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.backend_health.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'applicationGatewayName': self._serialize.url("application_gateway_name", application_gateway_name, 'str'), + '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.api_version", self.api_version, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('ApplicationGatewayBackendHealth', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def backend_health( + self, resource_group_name, application_gateway_name, expand=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Gets the backend health of the specified application gateway in a + resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param application_gateway_name: The name of the application gateway. + :type application_gateway_name: str + :param expand: Expands BackendAddressPool and BackendHttpSettings + referenced in backend health. + :type expand: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + ApplicationGatewayBackendHealth or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayBackendHealth] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayBackendHealth]] + :raises: :class:`CloudError` + """ + raw_result = self._backend_health_initial( + resource_group_name=resource_group_name, + application_gateway_name=application_gateway_name, + expand=expand, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ApplicationGatewayBackendHealth', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + backend_health.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}/backendhealth'} + + + def _backend_health_on_demand_initial( + self, resource_group_name, application_gateway_name, probe_request, expand=None, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.backend_health_on_demand.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'applicationGatewayName': self._serialize.url("application_gateway_name", application_gateway_name, 'str'), + '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.api_version", self.api_version, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(probe_request, 'ApplicationGatewayOnDemandProbe') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('ApplicationGatewayBackendHealthOnDemand', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def backend_health_on_demand( + self, resource_group_name, application_gateway_name, probe_request, expand=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Gets the backend health for given combination of backend pool and http + setting of the specified application gateway in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param application_gateway_name: The name of the application gateway. + :type application_gateway_name: str + :param probe_request: Request body for on-demand test probe operation. + :type probe_request: + ~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayOnDemandProbe + :param expand: Expands BackendAddressPool and BackendHttpSettings + referenced in backend health. + :type expand: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + ApplicationGatewayBackendHealthOnDemand or + ClientRawResponse if + raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayBackendHealthOnDemand] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayBackendHealthOnDemand]] + :raises: :class:`CloudError` + """ + raw_result = self._backend_health_on_demand_initial( + resource_group_name=resource_group_name, + application_gateway_name=application_gateway_name, + probe_request=probe_request, + expand=expand, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ApplicationGatewayBackendHealthOnDemand', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + backend_health_on_demand.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}/getBackendHealthOnDemand'} + + def list_available_server_variables( + self, custom_headers=None, raw=False, **operation_config): + """Lists all available server variables. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: list or ClientRawResponse if raw=true + :rtype: list[str] or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorException` + """ + # Construct URL + url = self.list_available_server_variables.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('[str]', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list_available_server_variables.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableServerVariables'} + + def list_available_request_headers( + self, custom_headers=None, raw=False, **operation_config): + """Lists all available request headers. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: list or ClientRawResponse if raw=true + :rtype: list[str] or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorException` + """ + # Construct URL + url = self.list_available_request_headers.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('[str]', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list_available_request_headers.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableRequestHeaders'} + + def list_available_response_headers( + self, custom_headers=None, raw=False, **operation_config): + """Lists all available response headers. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: list or ClientRawResponse if raw=true + :rtype: list[str] or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorException` + """ + # Construct URL + url = self.list_available_response_headers.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('[str]', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list_available_response_headers.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableResponseHeaders'} + + def list_available_waf_rule_sets( + self, custom_headers=None, raw=False, **operation_config): + """Lists all available web application firewall rule sets. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ApplicationGatewayAvailableWafRuleSetsResult or + ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayAvailableWafRuleSetsResult + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.list_available_waf_rule_sets.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ApplicationGatewayAvailableWafRuleSetsResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list_available_waf_rule_sets.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableWafRuleSets'} + + def list_available_ssl_options( + self, custom_headers=None, raw=False, **operation_config): + """Lists available Ssl options for configuring Ssl policy. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ApplicationGatewayAvailableSslOptions or ClientRawResponse if + raw=true + :rtype: + ~azure.mgmt.network.v2020_05_01.models.ApplicationGatewayAvailableSslOptions + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.list_available_ssl_options.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ApplicationGatewayAvailableSslOptions', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list_available_ssl_options.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableSslOptions/default'} + + def list_available_ssl_predefined_policies( + self, custom_headers=None, raw=False, **operation_config): + """Lists all SSL predefined policies for configuring Ssl policy. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of + ApplicationGatewaySslPredefinedPolicy + :rtype: + ~azure.mgmt.network.v2020_05_01.models.ApplicationGatewaySslPredefinedPolicyPaged[~azure.mgmt.network.v2020_05_01.models.ApplicationGatewaySslPredefinedPolicy] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_available_ssl_predefined_policies.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.ApplicationGatewaySslPredefinedPolicyPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_available_ssl_predefined_policies.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableSslOptions/default/predefinedPolicies'} + + def get_ssl_predefined_policy( + self, predefined_policy_name, custom_headers=None, raw=False, **operation_config): + """Gets Ssl predefined policy with the specified policy name. + + :param predefined_policy_name: Name of Ssl predefined policy. + :type predefined_policy_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ApplicationGatewaySslPredefinedPolicy or ClientRawResponse if + raw=true + :rtype: + ~azure.mgmt.network.v2020_05_01.models.ApplicationGatewaySslPredefinedPolicy + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_ssl_predefined_policy.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'predefinedPolicyName': self._serialize.url("predefined_policy_name", predefined_policy_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ApplicationGatewaySslPredefinedPolicy', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_ssl_predefined_policy.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableSslOptions/default/predefinedPolicies/{predefinedPolicyName}'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_application_security_groups_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_application_security_groups_operations.py new file mode 100644 index 00000000000..d84aa2d3597 --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_application_security_groups_operations.py @@ -0,0 +1,497 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class ApplicationSecurityGroupsOperations(object): + """ApplicationSecurityGroupsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, application_security_group_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'applicationSecurityGroupName': self._serialize.url("application_security_group_name", application_security_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, application_security_group_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified application security group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param application_security_group_name: The name of the application + security group. + :type application_security_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + application_security_group_name=application_security_group_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationSecurityGroups/{applicationSecurityGroupName}'} + + def get( + self, resource_group_name, application_security_group_name, custom_headers=None, raw=False, **operation_config): + """Gets information about the specified application security group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param application_security_group_name: The name of the application + security group. + :type application_security_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ApplicationSecurityGroup or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.network.v2020_05_01.models.ApplicationSecurityGroup or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'applicationSecurityGroupName': self._serialize.url("application_security_group_name", application_security_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ApplicationSecurityGroup', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationSecurityGroups/{applicationSecurityGroupName}'} + + + def _create_or_update_initial( + self, resource_group_name, application_security_group_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'applicationSecurityGroupName': self._serialize.url("application_security_group_name", application_security_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'ApplicationSecurityGroup') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('ApplicationSecurityGroup', response) + if response.status_code == 201: + deserialized = self._deserialize('ApplicationSecurityGroup', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, application_security_group_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates an application security group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param application_security_group_name: The name of the application + security group. + :type application_security_group_name: str + :param parameters: Parameters supplied to the create or update + ApplicationSecurityGroup operation. + :type parameters: + ~azure.mgmt.network.v2020_05_01.models.ApplicationSecurityGroup + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + ApplicationSecurityGroup or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.ApplicationSecurityGroup] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.ApplicationSecurityGroup]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + application_security_group_name=application_security_group_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ApplicationSecurityGroup', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationSecurityGroups/{applicationSecurityGroupName}'} + + def update_tags( + self, resource_group_name, application_security_group_name, tags=None, custom_headers=None, raw=False, **operation_config): + """Updates an application security group's tags. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param application_security_group_name: The name of the application + security group. + :type application_security_group_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ApplicationSecurityGroup or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.network.v2020_05_01.models.ApplicationSecurityGroup or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'applicationSecurityGroupName': self._serialize.url("application_security_group_name", application_security_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ApplicationSecurityGroup', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationSecurityGroups/{applicationSecurityGroupName}'} + + def list_all( + self, custom_headers=None, raw=False, **operation_config): + """Gets all application security groups in a subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of ApplicationSecurityGroup + :rtype: + ~azure.mgmt.network.v2020_05_01.models.ApplicationSecurityGroupPaged[~azure.mgmt.network.v2020_05_01.models.ApplicationSecurityGroup] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_all.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.ApplicationSecurityGroupPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationSecurityGroups'} + + def list( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Gets all the application security groups in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of ApplicationSecurityGroup + :rtype: + ~azure.mgmt.network.v2020_05_01.models.ApplicationSecurityGroupPaged[~azure.mgmt.network.v2020_05_01.models.ApplicationSecurityGroup] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.ApplicationSecurityGroupPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationSecurityGroups'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_available_delegations_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_available_delegations_operations.py new file mode 100644 index 00000000000..ea52136d8f5 --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_available_delegations_operations.py @@ -0,0 +1,110 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class AvailableDelegationsOperations(object): + """AvailableDelegationsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + def list( + self, location, custom_headers=None, raw=False, **operation_config): + """Gets all of the available subnet delegations for this subscription in + this region. + + :param location: The location of the subnet. + :type location: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of AvailableDelegation + :rtype: + ~azure.mgmt.network.v2020_05_01.models.AvailableDelegationPaged[~azure.mgmt.network.v2020_05_01.models.AvailableDelegation] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'location': self._serialize.url("location", location, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.AvailableDelegationPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/availableDelegations'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_available_endpoint_services_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_available_endpoint_services_operations.py new file mode 100644 index 00000000000..f25747e2eff --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_available_endpoint_services_operations.py @@ -0,0 +1,109 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class AvailableEndpointServicesOperations(object): + """AvailableEndpointServicesOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + def list( + self, location, custom_headers=None, raw=False, **operation_config): + """List what values of endpoint services are available for use. + + :param location: The location to check available endpoint services. + :type location: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of EndpointServiceResult + :rtype: + ~azure.mgmt.network.v2020_05_01.models.EndpointServiceResultPaged[~azure.mgmt.network.v2020_05_01.models.EndpointServiceResult] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'location': self._serialize.url("location", location, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.EndpointServiceResultPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/virtualNetworkAvailableEndpointServices'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_available_private_endpoint_types_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_available_private_endpoint_types_operations.py new file mode 100644 index 00000000000..b1ac4e0f735 --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_available_private_endpoint_types_operations.py @@ -0,0 +1,183 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class AvailablePrivateEndpointTypesOperations(object): + """AvailablePrivateEndpointTypesOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + def list( + self, location, custom_headers=None, raw=False, **operation_config): + """Returns all of the resource types that can be linked to a Private + Endpoint in this subscription in this region. + + :param location: The location of the domain name. + :type location: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of AvailablePrivateEndpointType + :rtype: + ~azure.mgmt.network.v2020_05_01.models.AvailablePrivateEndpointTypePaged[~azure.mgmt.network.v2020_05_01.models.AvailablePrivateEndpointType] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'location': self._serialize.url("location", location, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.AvailablePrivateEndpointTypePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/availablePrivateEndpointTypes'} + + def list_by_resource_group( + self, location, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Returns all of the resource types that can be linked to a Private + Endpoint in this subscription in this region. + + :param location: The location of the domain name. + :type location: str + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of AvailablePrivateEndpointType + :rtype: + ~azure.mgmt.network.v2020_05_01.models.AvailablePrivateEndpointTypePaged[~azure.mgmt.network.v2020_05_01.models.AvailablePrivateEndpointType] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'location': self._serialize.url("location", location, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.AvailablePrivateEndpointTypePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/locations/{location}/availablePrivateEndpointTypes'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_available_resource_group_delegations_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_available_resource_group_delegations_operations.py new file mode 100644 index 00000000000..45e6c7b147d --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_available_resource_group_delegations_operations.py @@ -0,0 +1,113 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class AvailableResourceGroupDelegationsOperations(object): + """AvailableResourceGroupDelegationsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + def list( + self, location, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Gets all of the available subnet delegations for this resource group in + this region. + + :param location: The location of the domain name. + :type location: str + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of AvailableDelegation + :rtype: + ~azure.mgmt.network.v2020_05_01.models.AvailableDelegationPaged[~azure.mgmt.network.v2020_05_01.models.AvailableDelegation] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'location': self._serialize.url("location", location, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.AvailableDelegationPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/locations/{location}/availableDelegations'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_available_service_aliases_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_available_service_aliases_operations.py new file mode 100644 index 00000000000..61e96f07499 --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_available_service_aliases_operations.py @@ -0,0 +1,183 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class AvailableServiceAliasesOperations(object): + """AvailableServiceAliasesOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + def list( + self, location, custom_headers=None, raw=False, **operation_config): + """Gets all available service aliases for this subscription in this + region. + + :param location: The location. + :type location: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of AvailableServiceAlias + :rtype: + ~azure.mgmt.network.v2020_05_01.models.AvailableServiceAliasPaged[~azure.mgmt.network.v2020_05_01.models.AvailableServiceAlias] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'location': self._serialize.url("location", location, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.AvailableServiceAliasPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/availableServiceAliases'} + + def list_by_resource_group( + self, resource_group_name, location, custom_headers=None, raw=False, **operation_config): + """Gets all available service aliases for this resource group in this + region. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param location: The location. + :type location: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of AvailableServiceAlias + :rtype: + ~azure.mgmt.network.v2020_05_01.models.AvailableServiceAliasPaged[~azure.mgmt.network.v2020_05_01.models.AvailableServiceAlias] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'location': self._serialize.url("location", location, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.AvailableServiceAliasPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/locations/{location}/availableServiceAliases'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_azure_firewall_fqdn_tags_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_azure_firewall_fqdn_tags_operations.py new file mode 100644 index 00000000000..1e042f39f7c --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_azure_firewall_fqdn_tags_operations.py @@ -0,0 +1,106 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class AzureFirewallFqdnTagsOperations(object): + """AzureFirewallFqdnTagsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + def list_all( + self, custom_headers=None, raw=False, **operation_config): + """Gets all the Azure Firewall FQDN Tags in a subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of AzureFirewallFqdnTag + :rtype: + ~azure.mgmt.network.v2020_05_01.models.AzureFirewallFqdnTagPaged[~azure.mgmt.network.v2020_05_01.models.AzureFirewallFqdnTag] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_all.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.AzureFirewallFqdnTagPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/azureFirewallFqdnTags'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_azure_firewalls_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_azure_firewalls_operations.py new file mode 100644 index 00000000000..23a9af78912 --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_azure_firewalls_operations.py @@ -0,0 +1,522 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class AzureFirewallsOperations(object): + """AzureFirewallsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, azure_firewall_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'azureFirewallName': self._serialize.url("azure_firewall_name", azure_firewall_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, azure_firewall_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified Azure Firewall. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param azure_firewall_name: The name of the Azure Firewall. + :type azure_firewall_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + azure_firewall_name=azure_firewall_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/azureFirewalls/{azureFirewallName}'} + + def get( + self, resource_group_name, azure_firewall_name, custom_headers=None, raw=False, **operation_config): + """Gets the specified Azure Firewall. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param azure_firewall_name: The name of the Azure Firewall. + :type azure_firewall_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: AzureFirewall or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.AzureFirewall or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'azureFirewallName': self._serialize.url("azure_firewall_name", azure_firewall_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('AzureFirewall', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/azureFirewalls/{azureFirewallName}'} + + + def _create_or_update_initial( + self, resource_group_name, azure_firewall_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'azureFirewallName': self._serialize.url("azure_firewall_name", azure_firewall_name, 'str', max_length=56, min_length=1), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'AzureFirewall') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('AzureFirewall', response) + if response.status_code == 201: + deserialized = self._deserialize('AzureFirewall', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, azure_firewall_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates the specified Azure Firewall. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param azure_firewall_name: The name of the Azure Firewall. + :type azure_firewall_name: str + :param parameters: Parameters supplied to the create or update Azure + Firewall operation. + :type parameters: ~azure.mgmt.network.v2020_05_01.models.AzureFirewall + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns AzureFirewall or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.AzureFirewall] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.AzureFirewall]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + azure_firewall_name=azure_firewall_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('AzureFirewall', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/azureFirewalls/{azureFirewallName}'} + + + def _update_tags_initial( + self, resource_group_name, azure_firewall_name, tags=None, custom_headers=None, raw=False, **operation_config): + parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'azureFirewallName': self._serialize.url("azure_firewall_name", azure_firewall_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('AzureFirewall', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def update_tags( + self, resource_group_name, azure_firewall_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Updates tags of an Azure Firewall resource. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param azure_firewall_name: The name of the Azure Firewall. + :type azure_firewall_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns AzureFirewall or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.AzureFirewall] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.AzureFirewall]] + :raises: :class:`CloudError` + """ + raw_result = self._update_tags_initial( + resource_group_name=resource_group_name, + azure_firewall_name=azure_firewall_name, + tags=tags, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('AzureFirewall', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/azureFirewalls/{azureFirewallName}'} + + def list( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Lists all Azure Firewalls in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of AzureFirewall + :rtype: + ~azure.mgmt.network.v2020_05_01.models.AzureFirewallPaged[~azure.mgmt.network.v2020_05_01.models.AzureFirewall] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.AzureFirewallPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/azureFirewalls'} + + def list_all( + self, custom_headers=None, raw=False, **operation_config): + """Gets all the Azure Firewalls in a subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of AzureFirewall + :rtype: + ~azure.mgmt.network.v2020_05_01.models.AzureFirewallPaged[~azure.mgmt.network.v2020_05_01.models.AzureFirewall] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_all.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.AzureFirewallPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/azureFirewalls'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_bastion_hosts_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_bastion_hosts_operations.py new file mode 100644 index 00000000000..86dfc55bb64 --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_bastion_hosts_operations.py @@ -0,0 +1,420 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class BastionHostsOperations(object): + """BastionHostsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, bastion_host_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'bastionHostName': self._serialize.url("bastion_host_name", bastion_host_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, bastion_host_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified Bastion Host. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param bastion_host_name: The name of the Bastion Host. + :type bastion_host_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + bastion_host_name=bastion_host_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts/{bastionHostName}'} + + def get( + self, resource_group_name, bastion_host_name, custom_headers=None, raw=False, **operation_config): + """Gets the specified Bastion Host. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param bastion_host_name: The name of the Bastion Host. + :type bastion_host_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: BastionHost or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.BastionHost or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'bastionHostName': self._serialize.url("bastion_host_name", bastion_host_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('BastionHost', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts/{bastionHostName}'} + + + def _create_or_update_initial( + self, resource_group_name, bastion_host_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'bastionHostName': self._serialize.url("bastion_host_name", bastion_host_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'BastionHost') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('BastionHost', response) + if response.status_code == 201: + deserialized = self._deserialize('BastionHost', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, bastion_host_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates the specified Bastion Host. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param bastion_host_name: The name of the Bastion Host. + :type bastion_host_name: str + :param parameters: Parameters supplied to the create or update Bastion + Host operation. + :type parameters: ~azure.mgmt.network.v2020_05_01.models.BastionHost + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns BastionHost or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.BastionHost] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.BastionHost]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + bastion_host_name=bastion_host_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('BastionHost', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts/{bastionHostName}'} + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Lists all Bastion Hosts in a subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of BastionHost + :rtype: + ~azure.mgmt.network.v2020_05_01.models.BastionHostPaged[~azure.mgmt.network.v2020_05_01.models.BastionHost] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.BastionHostPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/bastionHosts'} + + def list_by_resource_group( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Lists all Bastion Hosts in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of BastionHost + :rtype: + ~azure.mgmt.network.v2020_05_01.models.BastionHostPaged[~azure.mgmt.network.v2020_05_01.models.BastionHost] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.BastionHostPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_bgp_service_communities_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_bgp_service_communities_operations.py new file mode 100644 index 00000000000..b2ded383c93 --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_bgp_service_communities_operations.py @@ -0,0 +1,106 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class BgpServiceCommunitiesOperations(object): + """BgpServiceCommunitiesOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Gets all the available bgp service communities. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of BgpServiceCommunity + :rtype: + ~azure.mgmt.network.v2020_05_01.models.BgpServiceCommunityPaged[~azure.mgmt.network.v2020_05_01.models.BgpServiceCommunity] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.BgpServiceCommunityPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/bgpServiceCommunities'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_connection_monitors_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_connection_monitors_operations.py new file mode 100644 index 00000000000..0a985b2fa19 --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_connection_monitors_operations.py @@ -0,0 +1,706 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class ConnectionMonitorsOperations(object): + """ConnectionMonitorsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + + def _create_or_update_initial( + self, resource_group_name, network_watcher_name, connection_monitor_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), + 'connectionMonitorName': self._serialize.url("connection_monitor_name", connection_monitor_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'ConnectionMonitor') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('ConnectionMonitorResult', response) + if response.status_code == 201: + deserialized = self._deserialize('ConnectionMonitorResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, network_watcher_name, connection_monitor_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Create or update a connection monitor. + + :param resource_group_name: The name of the resource group containing + Network Watcher. + :type resource_group_name: str + :param network_watcher_name: The name of the Network Watcher resource. + :type network_watcher_name: str + :param connection_monitor_name: The name of the connection monitor. + :type connection_monitor_name: str + :param parameters: Parameters that define the operation to create a + connection monitor. + :type parameters: + ~azure.mgmt.network.v2020_05_01.models.ConnectionMonitor + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns ConnectionMonitorResult + or ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.ConnectionMonitorResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.ConnectionMonitorResult]] + :raises: + :class:`ErrorResponseException` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + network_watcher_name=network_watcher_name, + connection_monitor_name=connection_monitor_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ConnectionMonitorResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}'} + + def get( + self, resource_group_name, network_watcher_name, connection_monitor_name, custom_headers=None, raw=False, **operation_config): + """Gets a connection monitor by name. + + :param resource_group_name: The name of the resource group containing + Network Watcher. + :type resource_group_name: str + :param network_watcher_name: The name of the Network Watcher resource. + :type network_watcher_name: str + :param connection_monitor_name: The name of the connection monitor. + :type connection_monitor_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ConnectionMonitorResult or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.ConnectionMonitorResult + or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), + 'connectionMonitorName': self._serialize.url("connection_monitor_name", connection_monitor_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('ConnectionMonitorResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}'} + + + def _delete_initial( + self, resource_group_name, network_watcher_name, connection_monitor_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), + 'connectionMonitorName': self._serialize.url("connection_monitor_name", connection_monitor_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [202, 204]: + raise models.ErrorResponseException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, network_watcher_name, connection_monitor_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified connection monitor. + + :param resource_group_name: The name of the resource group containing + Network Watcher. + :type resource_group_name: str + :param network_watcher_name: The name of the Network Watcher resource. + :type network_watcher_name: str + :param connection_monitor_name: The name of the connection monitor. + :type connection_monitor_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: + :class:`ErrorResponseException` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + network_watcher_name=network_watcher_name, + connection_monitor_name=connection_monitor_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}'} + + def update_tags( + self, resource_group_name, network_watcher_name, connection_monitor_name, tags=None, custom_headers=None, raw=False, **operation_config): + """Update tags of the specified connection monitor. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_watcher_name: The name of the network watcher. + :type network_watcher_name: str + :param connection_monitor_name: The name of the connection monitor. + :type connection_monitor_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ConnectionMonitorResult or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.ConnectionMonitorResult + or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), + 'connectionMonitorName': self._serialize.url("connection_monitor_name", connection_monitor_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('ConnectionMonitorResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}'} + + + def _stop_initial( + self, resource_group_name, network_watcher_name, connection_monitor_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.stop.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), + 'connectionMonitorName': self._serialize.url("connection_monitor_name", connection_monitor_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + raise models.ErrorResponseException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def stop( + self, resource_group_name, network_watcher_name, connection_monitor_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Stops the specified connection monitor. + + :param resource_group_name: The name of the resource group containing + Network Watcher. + :type resource_group_name: str + :param network_watcher_name: The name of the Network Watcher resource. + :type network_watcher_name: str + :param connection_monitor_name: The name of the connection monitor. + :type connection_monitor_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: + :class:`ErrorResponseException` + """ + raw_result = self._stop_initial( + resource_group_name=resource_group_name, + network_watcher_name=network_watcher_name, + connection_monitor_name=connection_monitor_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + stop.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}/stop'} + + + def _start_initial( + self, resource_group_name, network_watcher_name, connection_monitor_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.start.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), + 'connectionMonitorName': self._serialize.url("connection_monitor_name", connection_monitor_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + raise models.ErrorResponseException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def start( + self, resource_group_name, network_watcher_name, connection_monitor_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Starts the specified connection monitor. + + :param resource_group_name: The name of the resource group containing + Network Watcher. + :type resource_group_name: str + :param network_watcher_name: The name of the Network Watcher resource. + :type network_watcher_name: str + :param connection_monitor_name: The name of the connection monitor. + :type connection_monitor_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: + :class:`ErrorResponseException` + """ + raw_result = self._start_initial( + resource_group_name=resource_group_name, + network_watcher_name=network_watcher_name, + connection_monitor_name=connection_monitor_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + start.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}/start'} + + + def _query_initial( + self, resource_group_name, network_watcher_name, connection_monitor_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.query.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), + 'connectionMonitorName': self._serialize.url("connection_monitor_name", connection_monitor_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('ConnectionMonitorQueryResult', response) + if response.status_code == 202: + deserialized = self._deserialize('ConnectionMonitorQueryResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def query( + self, resource_group_name, network_watcher_name, connection_monitor_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Query a snapshot of the most recent connection states. + + :param resource_group_name: The name of the resource group containing + Network Watcher. + :type resource_group_name: str + :param network_watcher_name: The name of the Network Watcher resource. + :type network_watcher_name: str + :param connection_monitor_name: The name given to the connection + monitor. + :type connection_monitor_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + ConnectionMonitorQueryResult or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.ConnectionMonitorQueryResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.ConnectionMonitorQueryResult]] + :raises: + :class:`ErrorResponseException` + """ + raw_result = self._query_initial( + resource_group_name=resource_group_name, + network_watcher_name=network_watcher_name, + connection_monitor_name=connection_monitor_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ConnectionMonitorQueryResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + query.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}/query'} + + def list( + self, resource_group_name, network_watcher_name, custom_headers=None, raw=False, **operation_config): + """Lists all connection monitors for the specified Network Watcher. + + :param resource_group_name: The name of the resource group containing + Network Watcher. + :type resource_group_name: str + :param network_watcher_name: The name of the Network Watcher resource. + :type network_watcher_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of ConnectionMonitorResult + :rtype: + ~azure.mgmt.network.v2020_05_01.models.ConnectionMonitorResultPaged[~azure.mgmt.network.v2020_05_01.models.ConnectionMonitorResult] + :raises: + :class:`ErrorResponseException` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.ConnectionMonitorResultPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_ddos_custom_policies_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_ddos_custom_policies_operations.py new file mode 100644 index 00000000000..2a84e7d01fb --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_ddos_custom_policies_operations.py @@ -0,0 +1,355 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class DdosCustomPoliciesOperations(object): + """DdosCustomPoliciesOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, ddos_custom_policy_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'ddosCustomPolicyName': self._serialize.url("ddos_custom_policy_name", ddos_custom_policy_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, ddos_custom_policy_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified DDoS custom policy. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param ddos_custom_policy_name: The name of the DDoS custom policy. + :type ddos_custom_policy_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + ddos_custom_policy_name=ddos_custom_policy_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosCustomPolicies/{ddosCustomPolicyName}'} + + def get( + self, resource_group_name, ddos_custom_policy_name, custom_headers=None, raw=False, **operation_config): + """Gets information about the specified DDoS custom policy. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param ddos_custom_policy_name: The name of the DDoS custom policy. + :type ddos_custom_policy_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: DdosCustomPolicy or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.DdosCustomPolicy or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'ddosCustomPolicyName': self._serialize.url("ddos_custom_policy_name", ddos_custom_policy_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('DdosCustomPolicy', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosCustomPolicies/{ddosCustomPolicyName}'} + + + def _create_or_update_initial( + self, resource_group_name, ddos_custom_policy_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'ddosCustomPolicyName': self._serialize.url("ddos_custom_policy_name", ddos_custom_policy_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'DdosCustomPolicy') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('DdosCustomPolicy', response) + if response.status_code == 201: + deserialized = self._deserialize('DdosCustomPolicy', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, ddos_custom_policy_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a DDoS custom policy. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param ddos_custom_policy_name: The name of the DDoS custom policy. + :type ddos_custom_policy_name: str + :param parameters: Parameters supplied to the create or update + operation. + :type parameters: + ~azure.mgmt.network.v2020_05_01.models.DdosCustomPolicy + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns DdosCustomPolicy or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.DdosCustomPolicy] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.DdosCustomPolicy]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + ddos_custom_policy_name=ddos_custom_policy_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('DdosCustomPolicy', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosCustomPolicies/{ddosCustomPolicyName}'} + + def update_tags( + self, resource_group_name, ddos_custom_policy_name, tags=None, custom_headers=None, raw=False, **operation_config): + """Update a DDoS custom policy tags. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param ddos_custom_policy_name: The name of the DDoS custom policy. + :type ddos_custom_policy_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: DdosCustomPolicy or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.DdosCustomPolicy or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'ddosCustomPolicyName': self._serialize.url("ddos_custom_policy_name", ddos_custom_policy_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('DdosCustomPolicy', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosCustomPolicies/{ddosCustomPolicyName}'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_ddos_protection_plans_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_ddos_protection_plans_operations.py new file mode 100644 index 00000000000..401aaba6427 --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_ddos_protection_plans_operations.py @@ -0,0 +1,497 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class DdosProtectionPlansOperations(object): + """DdosProtectionPlansOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, ddos_protection_plan_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'ddosProtectionPlanName': self._serialize.url("ddos_protection_plan_name", ddos_protection_plan_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, ddos_protection_plan_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified DDoS protection plan. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param ddos_protection_plan_name: The name of the DDoS protection + plan. + :type ddos_protection_plan_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + ddos_protection_plan_name=ddos_protection_plan_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosProtectionPlans/{ddosProtectionPlanName}'} + + def get( + self, resource_group_name, ddos_protection_plan_name, custom_headers=None, raw=False, **operation_config): + """Gets information about the specified DDoS protection plan. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param ddos_protection_plan_name: The name of the DDoS protection + plan. + :type ddos_protection_plan_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: DdosProtectionPlan or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.DdosProtectionPlan or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'ddosProtectionPlanName': self._serialize.url("ddos_protection_plan_name", ddos_protection_plan_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('DdosProtectionPlan', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosProtectionPlans/{ddosProtectionPlanName}'} + + + def _create_or_update_initial( + self, resource_group_name, ddos_protection_plan_name, location=None, tags=None, custom_headers=None, raw=False, **operation_config): + parameters = models.DdosProtectionPlan(location=location, tags=tags) + + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'ddosProtectionPlanName': self._serialize.url("ddos_protection_plan_name", ddos_protection_plan_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'DdosProtectionPlan') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('DdosProtectionPlan', response) + if response.status_code == 201: + deserialized = self._deserialize('DdosProtectionPlan', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, ddos_protection_plan_name, location=None, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a DDoS protection plan. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param ddos_protection_plan_name: The name of the DDoS protection + plan. + :type ddos_protection_plan_name: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns DdosProtectionPlan or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.DdosProtectionPlan] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.DdosProtectionPlan]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + ddos_protection_plan_name=ddos_protection_plan_name, + location=location, + tags=tags, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('DdosProtectionPlan', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosProtectionPlans/{ddosProtectionPlanName}'} + + def update_tags( + self, resource_group_name, ddos_protection_plan_name, tags=None, custom_headers=None, raw=False, **operation_config): + """Update a DDoS protection plan tags. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param ddos_protection_plan_name: The name of the DDoS protection + plan. + :type ddos_protection_plan_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: DdosProtectionPlan or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.DdosProtectionPlan or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'ddosProtectionPlanName': self._serialize.url("ddos_protection_plan_name", ddos_protection_plan_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('DdosProtectionPlan', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosProtectionPlans/{ddosProtectionPlanName}'} + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Gets all DDoS protection plans in a subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of DdosProtectionPlan + :rtype: + ~azure.mgmt.network.v2020_05_01.models.DdosProtectionPlanPaged[~azure.mgmt.network.v2020_05_01.models.DdosProtectionPlan] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.DdosProtectionPlanPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/ddosProtectionPlans'} + + def list_by_resource_group( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Gets all the DDoS protection plans in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of DdosProtectionPlan + :rtype: + ~azure.mgmt.network.v2020_05_01.models.DdosProtectionPlanPaged[~azure.mgmt.network.v2020_05_01.models.DdosProtectionPlan] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.DdosProtectionPlanPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosProtectionPlans'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_default_security_rules_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_default_security_rules_operations.py new file mode 100644 index 00000000000..93df3923c18 --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_default_security_rules_operations.py @@ -0,0 +1,179 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class DefaultSecurityRulesOperations(object): + """DefaultSecurityRulesOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + def list( + self, resource_group_name, network_security_group_name, custom_headers=None, raw=False, **operation_config): + """Gets all default security rules in a network security group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_security_group_name: The name of the network security + group. + :type network_security_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of SecurityRule + :rtype: + ~azure.mgmt.network.v2020_05_01.models.SecurityRulePaged[~azure.mgmt.network.v2020_05_01.models.SecurityRule] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkSecurityGroupName': self._serialize.url("network_security_group_name", network_security_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.SecurityRulePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/defaultSecurityRules'} + + def get( + self, resource_group_name, network_security_group_name, default_security_rule_name, custom_headers=None, raw=False, **operation_config): + """Get the specified default network security rule. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_security_group_name: The name of the network security + group. + :type network_security_group_name: str + :param default_security_rule_name: The name of the default security + rule. + :type default_security_rule_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: SecurityRule or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.SecurityRule or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkSecurityGroupName': self._serialize.url("network_security_group_name", network_security_group_name, 'str'), + 'defaultSecurityRuleName': self._serialize.url("default_security_rule_name", default_security_rule_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('SecurityRule', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/defaultSecurityRules/{defaultSecurityRuleName}'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_express_route_circuit_authorizations_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_express_route_circuit_authorizations_operations.py new file mode 100644 index 00000000000..d7d902b7a2f --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_express_route_circuit_authorizations_operations.py @@ -0,0 +1,375 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class ExpressRouteCircuitAuthorizationsOperations(object): + """ExpressRouteCircuitAuthorizationsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, circuit_name, authorization_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), + 'authorizationName': self._serialize.url("authorization_name", authorization_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, circuit_name, authorization_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified authorization from the specified express route + circuit. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param circuit_name: The name of the express route circuit. + :type circuit_name: str + :param authorization_name: The name of the authorization. + :type authorization_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + circuit_name=circuit_name, + authorization_name=authorization_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/authorizations/{authorizationName}'} + + def get( + self, resource_group_name, circuit_name, authorization_name, custom_headers=None, raw=False, **operation_config): + """Gets the specified authorization from the specified express route + circuit. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param circuit_name: The name of the express route circuit. + :type circuit_name: str + :param authorization_name: The name of the authorization. + :type authorization_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ExpressRouteCircuitAuthorization or ClientRawResponse if + raw=true + :rtype: + ~azure.mgmt.network.v2020_05_01.models.ExpressRouteCircuitAuthorization + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), + 'authorizationName': self._serialize.url("authorization_name", authorization_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ExpressRouteCircuitAuthorization', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/authorizations/{authorizationName}'} + + + def _create_or_update_initial( + self, resource_group_name, circuit_name, authorization_name, authorization_parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), + 'authorizationName': self._serialize.url("authorization_name", authorization_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(authorization_parameters, 'ExpressRouteCircuitAuthorization') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('ExpressRouteCircuitAuthorization', response) + if response.status_code == 201: + deserialized = self._deserialize('ExpressRouteCircuitAuthorization', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, circuit_name, authorization_name, authorization_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates an authorization in the specified express route + circuit. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param circuit_name: The name of the express route circuit. + :type circuit_name: str + :param authorization_name: The name of the authorization. + :type authorization_name: str + :param authorization_parameters: Parameters supplied to the create or + update express route circuit authorization operation. + :type authorization_parameters: + ~azure.mgmt.network.v2020_05_01.models.ExpressRouteCircuitAuthorization + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + ExpressRouteCircuitAuthorization or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.ExpressRouteCircuitAuthorization] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.ExpressRouteCircuitAuthorization]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + circuit_name=circuit_name, + authorization_name=authorization_name, + authorization_parameters=authorization_parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ExpressRouteCircuitAuthorization', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/authorizations/{authorizationName}'} + + def list( + self, resource_group_name, circuit_name, custom_headers=None, raw=False, **operation_config): + """Gets all authorizations in an express route circuit. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param circuit_name: The name of the circuit. + :type circuit_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of ExpressRouteCircuitAuthorization + :rtype: + ~azure.mgmt.network.v2020_05_01.models.ExpressRouteCircuitAuthorizationPaged[~azure.mgmt.network.v2020_05_01.models.ExpressRouteCircuitAuthorization] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.ExpressRouteCircuitAuthorizationPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/authorizations'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_express_route_circuit_connections_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_express_route_circuit_connections_operations.py new file mode 100644 index 00000000000..7d58e4682dc --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_express_route_circuit_connections_operations.py @@ -0,0 +1,394 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class ExpressRouteCircuitConnectionsOperations(object): + """ExpressRouteCircuitConnectionsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, circuit_name, peering_name, connection_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), + 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), + 'connectionName': self._serialize.url("connection_name", connection_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, circuit_name, peering_name, connection_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified Express Route Circuit Connection from the + specified express route circuit. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param circuit_name: The name of the express route circuit. + :type circuit_name: str + :param peering_name: The name of the peering. + :type peering_name: str + :param connection_name: The name of the express route circuit + connection. + :type connection_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + circuit_name=circuit_name, + peering_name=peering_name, + connection_name=connection_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/connections/{connectionName}'} + + def get( + self, resource_group_name, circuit_name, peering_name, connection_name, custom_headers=None, raw=False, **operation_config): + """Gets the specified Express Route Circuit Connection from the specified + express route circuit. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param circuit_name: The name of the express route circuit. + :type circuit_name: str + :param peering_name: The name of the peering. + :type peering_name: str + :param connection_name: The name of the express route circuit + connection. + :type connection_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ExpressRouteCircuitConnection or ClientRawResponse if + raw=true + :rtype: + ~azure.mgmt.network.v2020_05_01.models.ExpressRouteCircuitConnection + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), + 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), + 'connectionName': self._serialize.url("connection_name", connection_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ExpressRouteCircuitConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/connections/{connectionName}'} + + + def _create_or_update_initial( + self, resource_group_name, circuit_name, peering_name, connection_name, express_route_circuit_connection_parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), + 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), + 'connectionName': self._serialize.url("connection_name", connection_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(express_route_circuit_connection_parameters, 'ExpressRouteCircuitConnection') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('ExpressRouteCircuitConnection', response) + if response.status_code == 201: + deserialized = self._deserialize('ExpressRouteCircuitConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, circuit_name, peering_name, connection_name, express_route_circuit_connection_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a Express Route Circuit Connection in the specified + express route circuits. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param circuit_name: The name of the express route circuit. + :type circuit_name: str + :param peering_name: The name of the peering. + :type peering_name: str + :param connection_name: The name of the express route circuit + connection. + :type connection_name: str + :param express_route_circuit_connection_parameters: Parameters + supplied to the create or update express route circuit connection + operation. + :type express_route_circuit_connection_parameters: + ~azure.mgmt.network.v2020_05_01.models.ExpressRouteCircuitConnection + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + ExpressRouteCircuitConnection or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.ExpressRouteCircuitConnection] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.ExpressRouteCircuitConnection]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + circuit_name=circuit_name, + peering_name=peering_name, + connection_name=connection_name, + express_route_circuit_connection_parameters=express_route_circuit_connection_parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ExpressRouteCircuitConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/connections/{connectionName}'} + + def list( + self, resource_group_name, circuit_name, peering_name, custom_headers=None, raw=False, **operation_config): + """Gets all global reach connections associated with a private peering in + an express route circuit. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param circuit_name: The name of the circuit. + :type circuit_name: str + :param peering_name: The name of the peering. + :type peering_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of ExpressRouteCircuitConnection + :rtype: + ~azure.mgmt.network.v2020_05_01.models.ExpressRouteCircuitConnectionPaged[~azure.mgmt.network.v2020_05_01.models.ExpressRouteCircuitConnection] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), + 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.ExpressRouteCircuitConnectionPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/connections'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_express_route_circuit_peerings_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_express_route_circuit_peerings_operations.py new file mode 100644 index 00000000000..af723b2c3c4 --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_express_route_circuit_peerings_operations.py @@ -0,0 +1,371 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class ExpressRouteCircuitPeeringsOperations(object): + """ExpressRouteCircuitPeeringsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, circuit_name, peering_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), + 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, circuit_name, peering_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified peering from the specified express route circuit. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param circuit_name: The name of the express route circuit. + :type circuit_name: str + :param peering_name: The name of the peering. + :type peering_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + circuit_name=circuit_name, + peering_name=peering_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}'} + + def get( + self, resource_group_name, circuit_name, peering_name, custom_headers=None, raw=False, **operation_config): + """Gets the specified peering for the express route circuit. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param circuit_name: The name of the express route circuit. + :type circuit_name: str + :param peering_name: The name of the peering. + :type peering_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ExpressRouteCircuitPeering or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.network.v2020_05_01.models.ExpressRouteCircuitPeering or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), + 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ExpressRouteCircuitPeering', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}'} + + + def _create_or_update_initial( + self, resource_group_name, circuit_name, peering_name, peering_parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), + 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(peering_parameters, 'ExpressRouteCircuitPeering') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('ExpressRouteCircuitPeering', response) + if response.status_code == 201: + deserialized = self._deserialize('ExpressRouteCircuitPeering', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, circuit_name, peering_name, peering_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a peering in the specified express route circuits. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param circuit_name: The name of the express route circuit. + :type circuit_name: str + :param peering_name: The name of the peering. + :type peering_name: str + :param peering_parameters: Parameters supplied to the create or update + express route circuit peering operation. + :type peering_parameters: + ~azure.mgmt.network.v2020_05_01.models.ExpressRouteCircuitPeering + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + ExpressRouteCircuitPeering or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.ExpressRouteCircuitPeering] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.ExpressRouteCircuitPeering]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + circuit_name=circuit_name, + peering_name=peering_name, + peering_parameters=peering_parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ExpressRouteCircuitPeering', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}'} + + def list( + self, resource_group_name, circuit_name, custom_headers=None, raw=False, **operation_config): + """Gets all peerings in a specified express route circuit. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param circuit_name: The name of the express route circuit. + :type circuit_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of ExpressRouteCircuitPeering + :rtype: + ~azure.mgmt.network.v2020_05_01.models.ExpressRouteCircuitPeeringPaged[~azure.mgmt.network.v2020_05_01.models.ExpressRouteCircuitPeering] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.ExpressRouteCircuitPeeringPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_express_route_circuits_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_express_route_circuits_operations.py new file mode 100644 index 00000000000..dd758fae229 --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_express_route_circuits_operations.py @@ -0,0 +1,928 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class ExpressRouteCircuitsOperations(object): + """ExpressRouteCircuitsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, circuit_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, circuit_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified express route circuit. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param circuit_name: The name of the express route circuit. + :type circuit_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + circuit_name=circuit_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}'} + + def get( + self, resource_group_name, circuit_name, custom_headers=None, raw=False, **operation_config): + """Gets information about the specified express route circuit. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param circuit_name: The name of express route circuit. + :type circuit_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ExpressRouteCircuit or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.ExpressRouteCircuit or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ExpressRouteCircuit', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}'} + + + def _create_or_update_initial( + self, resource_group_name, circuit_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'ExpressRouteCircuit') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('ExpressRouteCircuit', response) + if response.status_code == 201: + deserialized = self._deserialize('ExpressRouteCircuit', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, circuit_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates an express route circuit. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param circuit_name: The name of the circuit. + :type circuit_name: str + :param parameters: Parameters supplied to the create or update express + route circuit operation. + :type parameters: + ~azure.mgmt.network.v2020_05_01.models.ExpressRouteCircuit + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns ExpressRouteCircuit or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.ExpressRouteCircuit] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.ExpressRouteCircuit]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + circuit_name=circuit_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ExpressRouteCircuit', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}'} + + def update_tags( + self, resource_group_name, circuit_name, tags=None, custom_headers=None, raw=False, **operation_config): + """Updates an express route circuit tags. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param circuit_name: The name of the circuit. + :type circuit_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ExpressRouteCircuit or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.ExpressRouteCircuit or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ExpressRouteCircuit', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}'} + + + def _list_arp_table_initial( + self, resource_group_name, circuit_name, peering_name, device_path, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.list_arp_table.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), + 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), + 'devicePath': self._serialize.url("device_path", device_path, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('ExpressRouteCircuitsArpTableListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def list_arp_table( + self, resource_group_name, circuit_name, peering_name, device_path, custom_headers=None, raw=False, polling=True, **operation_config): + """Gets the currently advertised ARP table associated with the express + route circuit in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param circuit_name: The name of the express route circuit. + :type circuit_name: str + :param peering_name: The name of the peering. + :type peering_name: str + :param device_path: The path of the device. + :type device_path: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + ExpressRouteCircuitsArpTableListResult or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.ExpressRouteCircuitsArpTableListResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.ExpressRouteCircuitsArpTableListResult]] + :raises: :class:`CloudError` + """ + raw_result = self._list_arp_table_initial( + resource_group_name=resource_group_name, + circuit_name=circuit_name, + peering_name=peering_name, + device_path=device_path, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ExpressRouteCircuitsArpTableListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + list_arp_table.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/arpTables/{devicePath}'} + + + def _list_routes_table_initial( + self, resource_group_name, circuit_name, peering_name, device_path, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.list_routes_table.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), + 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), + 'devicePath': self._serialize.url("device_path", device_path, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('ExpressRouteCircuitsRoutesTableListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def list_routes_table( + self, resource_group_name, circuit_name, peering_name, device_path, custom_headers=None, raw=False, polling=True, **operation_config): + """Gets the currently advertised routes table associated with the express + route circuit in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param circuit_name: The name of the express route circuit. + :type circuit_name: str + :param peering_name: The name of the peering. + :type peering_name: str + :param device_path: The path of the device. + :type device_path: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + ExpressRouteCircuitsRoutesTableListResult or + ClientRawResponse if + raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.ExpressRouteCircuitsRoutesTableListResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.ExpressRouteCircuitsRoutesTableListResult]] + :raises: :class:`CloudError` + """ + raw_result = self._list_routes_table_initial( + resource_group_name=resource_group_name, + circuit_name=circuit_name, + peering_name=peering_name, + device_path=device_path, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ExpressRouteCircuitsRoutesTableListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + list_routes_table.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/routeTables/{devicePath}'} + + + def _list_routes_table_summary_initial( + self, resource_group_name, circuit_name, peering_name, device_path, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.list_routes_table_summary.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), + 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), + 'devicePath': self._serialize.url("device_path", device_path, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('ExpressRouteCircuitsRoutesTableSummaryListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def list_routes_table_summary( + self, resource_group_name, circuit_name, peering_name, device_path, custom_headers=None, raw=False, polling=True, **operation_config): + """Gets the currently advertised routes table summary associated with the + express route circuit in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param circuit_name: The name of the express route circuit. + :type circuit_name: str + :param peering_name: The name of the peering. + :type peering_name: str + :param device_path: The path of the device. + :type device_path: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + ExpressRouteCircuitsRoutesTableSummaryListResult or + ClientRawResponse if + raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.ExpressRouteCircuitsRoutesTableSummaryListResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.ExpressRouteCircuitsRoutesTableSummaryListResult]] + :raises: :class:`CloudError` + """ + raw_result = self._list_routes_table_summary_initial( + resource_group_name=resource_group_name, + circuit_name=circuit_name, + peering_name=peering_name, + device_path=device_path, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ExpressRouteCircuitsRoutesTableSummaryListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + list_routes_table_summary.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/routeTablesSummary/{devicePath}'} + + def get_stats( + self, resource_group_name, circuit_name, custom_headers=None, raw=False, **operation_config): + """Gets all the stats from an express route circuit in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param circuit_name: The name of the express route circuit. + :type circuit_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ExpressRouteCircuitStats or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.network.v2020_05_01.models.ExpressRouteCircuitStats or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_stats.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ExpressRouteCircuitStats', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_stats.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/stats'} + + def get_peering_stats( + self, resource_group_name, circuit_name, peering_name, custom_headers=None, raw=False, **operation_config): + """Gets all stats from an express route circuit in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param circuit_name: The name of the express route circuit. + :type circuit_name: str + :param peering_name: The name of the peering. + :type peering_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ExpressRouteCircuitStats or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.network.v2020_05_01.models.ExpressRouteCircuitStats or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_peering_stats.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), + 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ExpressRouteCircuitStats', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_peering_stats.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/stats'} + + def list( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Gets all the express route circuits in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of ExpressRouteCircuit + :rtype: + ~azure.mgmt.network.v2020_05_01.models.ExpressRouteCircuitPaged[~azure.mgmt.network.v2020_05_01.models.ExpressRouteCircuit] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.ExpressRouteCircuitPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits'} + + def list_all( + self, custom_headers=None, raw=False, **operation_config): + """Gets all the express route circuits in a subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of ExpressRouteCircuit + :rtype: + ~azure.mgmt.network.v2020_05_01.models.ExpressRouteCircuitPaged[~azure.mgmt.network.v2020_05_01.models.ExpressRouteCircuit] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_all.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.ExpressRouteCircuitPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/expressRouteCircuits'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_express_route_connections_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_express_route_connections_operations.py new file mode 100644 index 00000000000..0ef45d5249e --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_express_route_connections_operations.py @@ -0,0 +1,364 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class ExpressRouteConnectionsOperations(object): + """ExpressRouteConnectionsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + + def _create_or_update_initial( + self, resource_group_name, express_route_gateway_name, connection_name, put_express_route_connection_parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'expressRouteGatewayName': self._serialize.url("express_route_gateway_name", express_route_gateway_name, 'str'), + 'connectionName': self._serialize.url("connection_name", connection_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(put_express_route_connection_parameters, 'ExpressRouteConnection') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('ExpressRouteConnection', response) + if response.status_code == 201: + deserialized = self._deserialize('ExpressRouteConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, express_route_gateway_name, connection_name, put_express_route_connection_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates a connection between an ExpressRoute gateway and an + ExpressRoute circuit. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param express_route_gateway_name: The name of the ExpressRoute + gateway. + :type express_route_gateway_name: str + :param connection_name: The name of the connection subresource. + :type connection_name: str + :param put_express_route_connection_parameters: Parameters required in + an ExpressRouteConnection PUT operation. + :type put_express_route_connection_parameters: + ~azure.mgmt.network.v2020_05_01.models.ExpressRouteConnection + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns ExpressRouteConnection + or ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.ExpressRouteConnection] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.ExpressRouteConnection]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + express_route_gateway_name=express_route_gateway_name, + connection_name=connection_name, + put_express_route_connection_parameters=put_express_route_connection_parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ExpressRouteConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteGateways/{expressRouteGatewayName}/expressRouteConnections/{connectionName}'} + + def get( + self, resource_group_name, express_route_gateway_name, connection_name, custom_headers=None, raw=False, **operation_config): + """Gets the specified ExpressRouteConnection. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param express_route_gateway_name: The name of the ExpressRoute + gateway. + :type express_route_gateway_name: str + :param connection_name: The name of the ExpressRoute connection. + :type connection_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ExpressRouteConnection or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.ExpressRouteConnection + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'expressRouteGatewayName': self._serialize.url("express_route_gateway_name", express_route_gateway_name, 'str'), + 'connectionName': self._serialize.url("connection_name", connection_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ExpressRouteConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteGateways/{expressRouteGatewayName}/expressRouteConnections/{connectionName}'} + + + def _delete_initial( + self, resource_group_name, express_route_gateway_name, connection_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'expressRouteGatewayName': self._serialize.url("express_route_gateway_name", express_route_gateway_name, 'str'), + 'connectionName': self._serialize.url("connection_name", connection_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, express_route_gateway_name, connection_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes a connection to a ExpressRoute circuit. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param express_route_gateway_name: The name of the ExpressRoute + gateway. + :type express_route_gateway_name: str + :param connection_name: The name of the connection subresource. + :type connection_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + express_route_gateway_name=express_route_gateway_name, + connection_name=connection_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteGateways/{expressRouteGatewayName}/expressRouteConnections/{connectionName}'} + + def list( + self, resource_group_name, express_route_gateway_name, custom_headers=None, raw=False, **operation_config): + """Lists ExpressRouteConnections. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param express_route_gateway_name: The name of the ExpressRoute + gateway. + :type express_route_gateway_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ExpressRouteConnectionList or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.network.v2020_05_01.models.ExpressRouteConnectionList or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'expressRouteGatewayName': self._serialize.url("express_route_gateway_name", express_route_gateway_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ExpressRouteConnectionList', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteGateways/{expressRouteGatewayName}/expressRouteConnections'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_express_route_cross_connection_peerings_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_express_route_cross_connection_peerings_operations.py new file mode 100644 index 00000000000..daed89593af --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_express_route_cross_connection_peerings_operations.py @@ -0,0 +1,378 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class ExpressRouteCrossConnectionPeeringsOperations(object): + """ExpressRouteCrossConnectionPeeringsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + def list( + self, resource_group_name, cross_connection_name, custom_headers=None, raw=False, **operation_config): + """Gets all peerings in a specified ExpressRouteCrossConnection. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cross_connection_name: The name of the + ExpressRouteCrossConnection. + :type cross_connection_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of + ExpressRouteCrossConnectionPeering + :rtype: + ~azure.mgmt.network.v2020_05_01.models.ExpressRouteCrossConnectionPeeringPaged[~azure.mgmt.network.v2020_05_01.models.ExpressRouteCrossConnectionPeering] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'crossConnectionName': self._serialize.url("cross_connection_name", cross_connection_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.ExpressRouteCrossConnectionPeeringPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings'} + + + def _delete_initial( + self, resource_group_name, cross_connection_name, peering_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'crossConnectionName': self._serialize.url("cross_connection_name", cross_connection_name, 'str'), + 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, cross_connection_name, peering_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified peering from the ExpressRouteCrossConnection. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cross_connection_name: The name of the + ExpressRouteCrossConnection. + :type cross_connection_name: str + :param peering_name: The name of the peering. + :type peering_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + cross_connection_name=cross_connection_name, + peering_name=peering_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}'} + + def get( + self, resource_group_name, cross_connection_name, peering_name, custom_headers=None, raw=False, **operation_config): + """Gets the specified peering for the ExpressRouteCrossConnection. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cross_connection_name: The name of the + ExpressRouteCrossConnection. + :type cross_connection_name: str + :param peering_name: The name of the peering. + :type peering_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ExpressRouteCrossConnectionPeering or ClientRawResponse if + raw=true + :rtype: + ~azure.mgmt.network.v2020_05_01.models.ExpressRouteCrossConnectionPeering + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'crossConnectionName': self._serialize.url("cross_connection_name", cross_connection_name, 'str'), + 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ExpressRouteCrossConnectionPeering', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}'} + + + def _create_or_update_initial( + self, resource_group_name, cross_connection_name, peering_name, peering_parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'crossConnectionName': self._serialize.url("cross_connection_name", cross_connection_name, 'str'), + 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(peering_parameters, 'ExpressRouteCrossConnectionPeering') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('ExpressRouteCrossConnectionPeering', response) + if response.status_code == 201: + deserialized = self._deserialize('ExpressRouteCrossConnectionPeering', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, cross_connection_name, peering_name, peering_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a peering in the specified + ExpressRouteCrossConnection. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cross_connection_name: The name of the + ExpressRouteCrossConnection. + :type cross_connection_name: str + :param peering_name: The name of the peering. + :type peering_name: str + :param peering_parameters: Parameters supplied to the create or update + ExpressRouteCrossConnection peering operation. + :type peering_parameters: + ~azure.mgmt.network.v2020_05_01.models.ExpressRouteCrossConnectionPeering + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + ExpressRouteCrossConnectionPeering or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.ExpressRouteCrossConnectionPeering] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.ExpressRouteCrossConnectionPeering]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + cross_connection_name=cross_connection_name, + peering_name=peering_name, + peering_parameters=peering_parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ExpressRouteCrossConnectionPeering', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_express_route_cross_connections_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_express_route_cross_connections_operations.py new file mode 100644 index 00000000000..2c7609ecf63 --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_express_route_cross_connections_operations.py @@ -0,0 +1,729 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class ExpressRouteCrossConnectionsOperations(object): + """ExpressRouteCrossConnectionsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Retrieves all the ExpressRouteCrossConnections in a subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of ExpressRouteCrossConnection + :rtype: + ~azure.mgmt.network.v2020_05_01.models.ExpressRouteCrossConnectionPaged[~azure.mgmt.network.v2020_05_01.models.ExpressRouteCrossConnection] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.ExpressRouteCrossConnectionPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/expressRouteCrossConnections'} + + def list_by_resource_group( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Retrieves all the ExpressRouteCrossConnections in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of ExpressRouteCrossConnection + :rtype: + ~azure.mgmt.network.v2020_05_01.models.ExpressRouteCrossConnectionPaged[~azure.mgmt.network.v2020_05_01.models.ExpressRouteCrossConnection] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.ExpressRouteCrossConnectionPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections'} + + def get( + self, resource_group_name, cross_connection_name, custom_headers=None, raw=False, **operation_config): + """Gets details about the specified ExpressRouteCrossConnection. + + :param resource_group_name: The name of the resource group (peering + location of the circuit). + :type resource_group_name: str + :param cross_connection_name: The name of the + ExpressRouteCrossConnection (service key of the circuit). + :type cross_connection_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ExpressRouteCrossConnection or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.network.v2020_05_01.models.ExpressRouteCrossConnection or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'crossConnectionName': self._serialize.url("cross_connection_name", cross_connection_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ExpressRouteCrossConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}'} + + + def _create_or_update_initial( + self, resource_group_name, cross_connection_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'crossConnectionName': self._serialize.url("cross_connection_name", cross_connection_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'ExpressRouteCrossConnection') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ExpressRouteCrossConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, cross_connection_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Update the specified ExpressRouteCrossConnection. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cross_connection_name: The name of the + ExpressRouteCrossConnection. + :type cross_connection_name: str + :param parameters: Parameters supplied to the update express route + crossConnection operation. + :type parameters: + ~azure.mgmt.network.v2020_05_01.models.ExpressRouteCrossConnection + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + ExpressRouteCrossConnection or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.ExpressRouteCrossConnection] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.ExpressRouteCrossConnection]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + cross_connection_name=cross_connection_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ExpressRouteCrossConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}'} + + def update_tags( + self, resource_group_name, cross_connection_name, tags=None, custom_headers=None, raw=False, **operation_config): + """Updates an express route cross connection tags. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cross_connection_name: The name of the cross connection. + :type cross_connection_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ExpressRouteCrossConnection or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.network.v2020_05_01.models.ExpressRouteCrossConnection or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + cross_connection_parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'crossConnectionName': self._serialize.url("cross_connection_name", cross_connection_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(cross_connection_parameters, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ExpressRouteCrossConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}'} + + + def _list_arp_table_initial( + self, resource_group_name, cross_connection_name, peering_name, device_path, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.list_arp_table.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'crossConnectionName': self._serialize.url("cross_connection_name", cross_connection_name, 'str'), + 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), + 'devicePath': self._serialize.url("device_path", device_path, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('ExpressRouteCircuitsArpTableListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def list_arp_table( + self, resource_group_name, cross_connection_name, peering_name, device_path, custom_headers=None, raw=False, polling=True, **operation_config): + """Gets the currently advertised ARP table associated with the express + route cross connection in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cross_connection_name: The name of the + ExpressRouteCrossConnection. + :type cross_connection_name: str + :param peering_name: The name of the peering. + :type peering_name: str + :param device_path: The path of the device. + :type device_path: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + ExpressRouteCircuitsArpTableListResult or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.ExpressRouteCircuitsArpTableListResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.ExpressRouteCircuitsArpTableListResult]] + :raises: :class:`CloudError` + """ + raw_result = self._list_arp_table_initial( + resource_group_name=resource_group_name, + cross_connection_name=cross_connection_name, + peering_name=peering_name, + device_path=device_path, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ExpressRouteCircuitsArpTableListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + list_arp_table.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}/arpTables/{devicePath}'} + + + def _list_routes_table_summary_initial( + self, resource_group_name, cross_connection_name, peering_name, device_path, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.list_routes_table_summary.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'crossConnectionName': self._serialize.url("cross_connection_name", cross_connection_name, 'str'), + 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), + 'devicePath': self._serialize.url("device_path", device_path, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('ExpressRouteCrossConnectionsRoutesTableSummaryListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def list_routes_table_summary( + self, resource_group_name, cross_connection_name, peering_name, device_path, custom_headers=None, raw=False, polling=True, **operation_config): + """Gets the route table summary associated with the express route cross + connection in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cross_connection_name: The name of the + ExpressRouteCrossConnection. + :type cross_connection_name: str + :param peering_name: The name of the peering. + :type peering_name: str + :param device_path: The path of the device. + :type device_path: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + ExpressRouteCrossConnectionsRoutesTableSummaryListResult or + ClientRawResponse + if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.ExpressRouteCrossConnectionsRoutesTableSummaryListResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.ExpressRouteCrossConnectionsRoutesTableSummaryListResult]] + :raises: :class:`CloudError` + """ + raw_result = self._list_routes_table_summary_initial( + resource_group_name=resource_group_name, + cross_connection_name=cross_connection_name, + peering_name=peering_name, + device_path=device_path, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ExpressRouteCrossConnectionsRoutesTableSummaryListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + list_routes_table_summary.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}/routeTablesSummary/{devicePath}'} + + + def _list_routes_table_initial( + self, resource_group_name, cross_connection_name, peering_name, device_path, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.list_routes_table.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'crossConnectionName': self._serialize.url("cross_connection_name", cross_connection_name, 'str'), + 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), + 'devicePath': self._serialize.url("device_path", device_path, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('ExpressRouteCircuitsRoutesTableListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def list_routes_table( + self, resource_group_name, cross_connection_name, peering_name, device_path, custom_headers=None, raw=False, polling=True, **operation_config): + """Gets the currently advertised routes table associated with the express + route cross connection in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cross_connection_name: The name of the + ExpressRouteCrossConnection. + :type cross_connection_name: str + :param peering_name: The name of the peering. + :type peering_name: str + :param device_path: The path of the device. + :type device_path: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + ExpressRouteCircuitsRoutesTableListResult or + ClientRawResponse if + raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.ExpressRouteCircuitsRoutesTableListResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.ExpressRouteCircuitsRoutesTableListResult]] + :raises: :class:`CloudError` + """ + raw_result = self._list_routes_table_initial( + resource_group_name=resource_group_name, + cross_connection_name=cross_connection_name, + peering_name=peering_name, + device_path=device_path, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ExpressRouteCircuitsRoutesTableListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + list_routes_table.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}/routeTables/{devicePath}'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_express_route_gateways_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_express_route_gateways_operations.py new file mode 100644 index 00000000000..d2c801c0351 --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_express_route_gateways_operations.py @@ -0,0 +1,405 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class ExpressRouteGatewaysOperations(object): + """ExpressRouteGatewaysOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + def list_by_subscription( + self, custom_headers=None, raw=False, **operation_config): + """Lists ExpressRoute gateways under a given subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ExpressRouteGatewayList or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.ExpressRouteGatewayList + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.list_by_subscription.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ExpressRouteGatewayList', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list_by_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/expressRouteGateways'} + + def list_by_resource_group( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Lists ExpressRoute gateways in a given resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ExpressRouteGatewayList or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.ExpressRouteGatewayList + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ExpressRouteGatewayList', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteGateways'} + + + def _create_or_update_initial( + self, resource_group_name, express_route_gateway_name, put_express_route_gateway_parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'expressRouteGatewayName': self._serialize.url("express_route_gateway_name", express_route_gateway_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(put_express_route_gateway_parameters, 'ExpressRouteGateway') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('ExpressRouteGateway', response) + if response.status_code == 201: + deserialized = self._deserialize('ExpressRouteGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, express_route_gateway_name, put_express_route_gateway_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a ExpressRoute gateway in a specified resource + group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param express_route_gateway_name: The name of the ExpressRoute + gateway. + :type express_route_gateway_name: str + :param put_express_route_gateway_parameters: Parameters required in an + ExpressRoute gateway PUT operation. + :type put_express_route_gateway_parameters: + ~azure.mgmt.network.v2020_05_01.models.ExpressRouteGateway + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns ExpressRouteGateway or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.ExpressRouteGateway] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.ExpressRouteGateway]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + express_route_gateway_name=express_route_gateway_name, + put_express_route_gateway_parameters=put_express_route_gateway_parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ExpressRouteGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteGateways/{expressRouteGatewayName}'} + + def get( + self, resource_group_name, express_route_gateway_name, custom_headers=None, raw=False, **operation_config): + """Fetches the details of a ExpressRoute gateway in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param express_route_gateway_name: The name of the ExpressRoute + gateway. + :type express_route_gateway_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ExpressRouteGateway or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.ExpressRouteGateway or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'expressRouteGatewayName': self._serialize.url("express_route_gateway_name", express_route_gateway_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ExpressRouteGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteGateways/{expressRouteGatewayName}'} + + + def _delete_initial( + self, resource_group_name, express_route_gateway_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'expressRouteGatewayName': self._serialize.url("express_route_gateway_name", express_route_gateway_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, express_route_gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified ExpressRoute gateway in a resource group. An + ExpressRoute gateway resource can only be deleted when there are no + connection subresources. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param express_route_gateway_name: The name of the ExpressRoute + gateway. + :type express_route_gateway_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + express_route_gateway_name=express_route_gateway_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteGateways/{expressRouteGatewayName}'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_express_route_links_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_express_route_links_operations.py new file mode 100644 index 00000000000..35ddd9f8e49 --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_express_route_links_operations.py @@ -0,0 +1,179 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class ExpressRouteLinksOperations(object): + """ExpressRouteLinksOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + def get( + self, resource_group_name, express_route_port_name, link_name, custom_headers=None, raw=False, **operation_config): + """Retrieves the specified ExpressRouteLink resource. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param express_route_port_name: The name of the ExpressRoutePort + resource. + :type express_route_port_name: str + :param link_name: The name of the ExpressRouteLink resource. + :type link_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ExpressRouteLink or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.ExpressRouteLink or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'expressRoutePortName': self._serialize.url("express_route_port_name", express_route_port_name, 'str'), + 'linkName': self._serialize.url("link_name", link_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ExpressRouteLink', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ExpressRoutePorts/{expressRoutePortName}/links/{linkName}'} + + def list( + self, resource_group_name, express_route_port_name, custom_headers=None, raw=False, **operation_config): + """Retrieve the ExpressRouteLink sub-resources of the specified + ExpressRoutePort resource. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param express_route_port_name: The name of the ExpressRoutePort + resource. + :type express_route_port_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of ExpressRouteLink + :rtype: + ~azure.mgmt.network.v2020_05_01.models.ExpressRouteLinkPaged[~azure.mgmt.network.v2020_05_01.models.ExpressRouteLink] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'expressRoutePortName': self._serialize.url("express_route_port_name", express_route_port_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.ExpressRouteLinkPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ExpressRoutePorts/{expressRoutePortName}/links'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_express_route_ports_locations_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_express_route_ports_locations_operations.py new file mode 100644 index 00000000000..b17396e70b1 --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_express_route_ports_locations_operations.py @@ -0,0 +1,169 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class ExpressRoutePortsLocationsOperations(object): + """ExpressRoutePortsLocationsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Retrieves all ExpressRoutePort peering locations. Does not return + available bandwidths for each location. Available bandwidths can only + be obtained when retrieving a specific peering location. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of ExpressRoutePortsLocation + :rtype: + ~azure.mgmt.network.v2020_05_01.models.ExpressRoutePortsLocationPaged[~azure.mgmt.network.v2020_05_01.models.ExpressRoutePortsLocation] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.ExpressRoutePortsLocationPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/ExpressRoutePortsLocations'} + + def get( + self, location_name, custom_headers=None, raw=False, **operation_config): + """Retrieves a single ExpressRoutePort peering location, including the + list of available bandwidths available at said peering location. + + :param location_name: Name of the requested ExpressRoutePort peering + location. + :type location_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ExpressRoutePortsLocation or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.network.v2020_05_01.models.ExpressRoutePortsLocation or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'locationName': self._serialize.url("location_name", location_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ExpressRoutePortsLocation', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/ExpressRoutePortsLocations/{locationName}'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_express_route_ports_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_express_route_ports_operations.py new file mode 100644 index 00000000000..2e0bebafae7 --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_express_route_ports_operations.py @@ -0,0 +1,494 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class ExpressRoutePortsOperations(object): + """ExpressRoutePortsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, express_route_port_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'expressRoutePortName': self._serialize.url("express_route_port_name", express_route_port_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, express_route_port_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified ExpressRoutePort resource. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param express_route_port_name: The name of the ExpressRoutePort + resource. + :type express_route_port_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + express_route_port_name=express_route_port_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ExpressRoutePorts/{expressRoutePortName}'} + + def get( + self, resource_group_name, express_route_port_name, custom_headers=None, raw=False, **operation_config): + """Retrieves the requested ExpressRoutePort resource. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param express_route_port_name: The name of ExpressRoutePort. + :type express_route_port_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ExpressRoutePort or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.ExpressRoutePort or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'expressRoutePortName': self._serialize.url("express_route_port_name", express_route_port_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ExpressRoutePort', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ExpressRoutePorts/{expressRoutePortName}'} + + + def _create_or_update_initial( + self, resource_group_name, express_route_port_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'expressRoutePortName': self._serialize.url("express_route_port_name", express_route_port_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'ExpressRoutePort') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('ExpressRoutePort', response) + if response.status_code == 201: + deserialized = self._deserialize('ExpressRoutePort', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, express_route_port_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates the specified ExpressRoutePort resource. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param express_route_port_name: The name of the ExpressRoutePort + resource. + :type express_route_port_name: str + :param parameters: Parameters supplied to the create ExpressRoutePort + operation. + :type parameters: + ~azure.mgmt.network.v2020_05_01.models.ExpressRoutePort + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns ExpressRoutePort or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.ExpressRoutePort] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.ExpressRoutePort]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + express_route_port_name=express_route_port_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ExpressRoutePort', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ExpressRoutePorts/{expressRoutePortName}'} + + def update_tags( + self, resource_group_name, express_route_port_name, tags=None, custom_headers=None, raw=False, **operation_config): + """Update ExpressRoutePort tags. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param express_route_port_name: The name of the ExpressRoutePort + resource. + :type express_route_port_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ExpressRoutePort or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.ExpressRoutePort or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'expressRoutePortName': self._serialize.url("express_route_port_name", express_route_port_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ExpressRoutePort', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ExpressRoutePorts/{expressRoutePortName}'} + + def list_by_resource_group( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """List all the ExpressRoutePort resources in the specified resource + group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of ExpressRoutePort + :rtype: + ~azure.mgmt.network.v2020_05_01.models.ExpressRoutePortPaged[~azure.mgmt.network.v2020_05_01.models.ExpressRoutePort] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.ExpressRoutePortPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ExpressRoutePorts'} + + def list( + self, custom_headers=None, raw=False, **operation_config): + """List all the ExpressRoutePort resources in the specified subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of ExpressRoutePort + :rtype: + ~azure.mgmt.network.v2020_05_01.models.ExpressRoutePortPaged[~azure.mgmt.network.v2020_05_01.models.ExpressRoutePort] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.ExpressRoutePortPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/ExpressRoutePorts'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_express_route_service_providers_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_express_route_service_providers_operations.py new file mode 100644 index 00000000000..460788f6561 --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_express_route_service_providers_operations.py @@ -0,0 +1,106 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class ExpressRouteServiceProvidersOperations(object): + """ExpressRouteServiceProvidersOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Gets all the available express route service providers. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of ExpressRouteServiceProvider + :rtype: + ~azure.mgmt.network.v2020_05_01.models.ExpressRouteServiceProviderPaged[~azure.mgmt.network.v2020_05_01.models.ExpressRouteServiceProvider] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.ExpressRouteServiceProviderPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/expressRouteServiceProviders'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_firewall_policies_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_firewall_policies_operations.py new file mode 100644 index 00000000000..062573e5bac --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_firewall_policies_operations.py @@ -0,0 +1,425 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class FirewallPoliciesOperations(object): + """FirewallPoliciesOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, firewall_policy_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'firewallPolicyName': self._serialize.url("firewall_policy_name", firewall_policy_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, firewall_policy_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified Firewall Policy. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param firewall_policy_name: The name of the Firewall Policy. + :type firewall_policy_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + firewall_policy_name=firewall_policy_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies/{firewallPolicyName}'} + + def get( + self, resource_group_name, firewall_policy_name, expand=None, custom_headers=None, raw=False, **operation_config): + """Gets the specified Firewall Policy. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param firewall_policy_name: The name of the Firewall Policy. + :type firewall_policy_name: str + :param expand: Expands referenced resources. + :type expand: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: FirewallPolicy or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.FirewallPolicy or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'firewallPolicyName': self._serialize.url("firewall_policy_name", firewall_policy_name, 'str'), + '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.api_version", self.api_version, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('FirewallPolicy', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies/{firewallPolicyName}'} + + + def _create_or_update_initial( + self, resource_group_name, firewall_policy_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'firewallPolicyName': self._serialize.url("firewall_policy_name", firewall_policy_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'FirewallPolicy') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('FirewallPolicy', response) + if response.status_code == 201: + deserialized = self._deserialize('FirewallPolicy', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, firewall_policy_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates the specified Firewall Policy. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param firewall_policy_name: The name of the Firewall Policy. + :type firewall_policy_name: str + :param parameters: Parameters supplied to the create or update + Firewall Policy operation. + :type parameters: + ~azure.mgmt.network.v2020_05_01.models.FirewallPolicy + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns FirewallPolicy or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.FirewallPolicy] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.FirewallPolicy]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + firewall_policy_name=firewall_policy_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('FirewallPolicy', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies/{firewallPolicyName}'} + + def list( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Lists all Firewall Policies in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of FirewallPolicy + :rtype: + ~azure.mgmt.network.v2020_05_01.models.FirewallPolicyPaged[~azure.mgmt.network.v2020_05_01.models.FirewallPolicy] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.FirewallPolicyPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies'} + + def list_all( + self, custom_headers=None, raw=False, **operation_config): + """Gets all the Firewall Policies in a subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of FirewallPolicy + :rtype: + ~azure.mgmt.network.v2020_05_01.models.FirewallPolicyPaged[~azure.mgmt.network.v2020_05_01.models.FirewallPolicy] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_all.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.FirewallPolicyPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/firewallPolicies'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_firewall_policy_rule_collection_groups_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_firewall_policy_rule_collection_groups_operations.py new file mode 100644 index 00000000000..58885dde32c --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_firewall_policy_rule_collection_groups_operations.py @@ -0,0 +1,377 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class FirewallPolicyRuleCollectionGroupsOperations(object): + """FirewallPolicyRuleCollectionGroupsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, firewall_policy_name, rule_collection_group_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'firewallPolicyName': self._serialize.url("firewall_policy_name", firewall_policy_name, 'str'), + 'ruleCollectionGroupName': self._serialize.url("rule_collection_group_name", rule_collection_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, firewall_policy_name, rule_collection_group_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified FirewallPolicyRuleCollectionGroup. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param firewall_policy_name: The name of the Firewall Policy. + :type firewall_policy_name: str + :param rule_collection_group_name: The name of the + FirewallPolicyRuleCollectionGroup. + :type rule_collection_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + firewall_policy_name=firewall_policy_name, + rule_collection_group_name=rule_collection_group_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies/{firewallPolicyName}/ruleCollectionGroups/{ruleCollectionGroupName}'} + + def get( + self, resource_group_name, firewall_policy_name, rule_collection_group_name, custom_headers=None, raw=False, **operation_config): + """Gets the specified FirewallPolicyRuleCollectionGroup. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param firewall_policy_name: The name of the Firewall Policy. + :type firewall_policy_name: str + :param rule_collection_group_name: The name of the + FirewallPolicyRuleCollectionGroup. + :type rule_collection_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: FirewallPolicyRuleCollectionGroup or ClientRawResponse if + raw=true + :rtype: + ~azure.mgmt.network.v2020_05_01.models.FirewallPolicyRuleCollectionGroup + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'firewallPolicyName': self._serialize.url("firewall_policy_name", firewall_policy_name, 'str'), + 'ruleCollectionGroupName': self._serialize.url("rule_collection_group_name", rule_collection_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('FirewallPolicyRuleCollectionGroup', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies/{firewallPolicyName}/ruleCollectionGroups/{ruleCollectionGroupName}'} + + + def _create_or_update_initial( + self, resource_group_name, firewall_policy_name, rule_collection_group_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'firewallPolicyName': self._serialize.url("firewall_policy_name", firewall_policy_name, 'str'), + 'ruleCollectionGroupName': self._serialize.url("rule_collection_group_name", rule_collection_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'FirewallPolicyRuleCollectionGroup') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('FirewallPolicyRuleCollectionGroup', response) + if response.status_code == 201: + deserialized = self._deserialize('FirewallPolicyRuleCollectionGroup', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, firewall_policy_name, rule_collection_group_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates the specified FirewallPolicyRuleCollectionGroup. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param firewall_policy_name: The name of the Firewall Policy. + :type firewall_policy_name: str + :param rule_collection_group_name: The name of the + FirewallPolicyRuleCollectionGroup. + :type rule_collection_group_name: str + :param parameters: Parameters supplied to the create or update + FirewallPolicyRuleCollectionGroup operation. + :type parameters: + ~azure.mgmt.network.v2020_05_01.models.FirewallPolicyRuleCollectionGroup + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + FirewallPolicyRuleCollectionGroup or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.FirewallPolicyRuleCollectionGroup] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.FirewallPolicyRuleCollectionGroup]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + firewall_policy_name=firewall_policy_name, + rule_collection_group_name=rule_collection_group_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('FirewallPolicyRuleCollectionGroup', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies/{firewallPolicyName}/ruleCollectionGroups/{ruleCollectionGroupName}'} + + def list( + self, resource_group_name, firewall_policy_name, custom_headers=None, raw=False, **operation_config): + """Lists all FirewallPolicyRuleCollectionGroups in a FirewallPolicy + resource. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param firewall_policy_name: The name of the Firewall Policy. + :type firewall_policy_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of + FirewallPolicyRuleCollectionGroup + :rtype: + ~azure.mgmt.network.v2020_05_01.models.FirewallPolicyRuleCollectionGroupPaged[~azure.mgmt.network.v2020_05_01.models.FirewallPolicyRuleCollectionGroup] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'firewallPolicyName': self._serialize.url("firewall_policy_name", firewall_policy_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.FirewallPolicyRuleCollectionGroupPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies/{firewallPolicyName}/ruleCollectionGroups'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_flow_logs_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_flow_logs_operations.py new file mode 100644 index 00000000000..edbc90f8d8f --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_flow_logs_operations.py @@ -0,0 +1,364 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class FlowLogsOperations(object): + """FlowLogsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + + def _create_or_update_initial( + self, resource_group_name, network_watcher_name, flow_log_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), + 'flowLogName': self._serialize.url("flow_log_name", flow_log_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'FlowLog') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('FlowLog', response) + if response.status_code == 201: + deserialized = self._deserialize('FlowLog', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, network_watcher_name, flow_log_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Create or update a flow log for the specified network security group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_watcher_name: The name of the network watcher. + :type network_watcher_name: str + :param flow_log_name: The name of the flow log. + :type flow_log_name: str + :param parameters: Parameters that define the create or update flow + log resource. + :type parameters: ~azure.mgmt.network.v2020_05_01.models.FlowLog + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns FlowLog or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.FlowLog] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.FlowLog]] + :raises: + :class:`ErrorResponseException` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + network_watcher_name=network_watcher_name, + flow_log_name=flow_log_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('FlowLog', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/flowLogs/{flowLogName}'} + + def get( + self, resource_group_name, network_watcher_name, flow_log_name, custom_headers=None, raw=False, **operation_config): + """Gets a flow log resource by name. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_watcher_name: The name of the network watcher. + :type network_watcher_name: str + :param flow_log_name: The name of the flow log resource. + :type flow_log_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: FlowLog or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.FlowLog or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), + 'flowLogName': self._serialize.url("flow_log_name", flow_log_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('FlowLog', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/flowLogs/{flowLogName}'} + + + def _delete_initial( + self, resource_group_name, network_watcher_name, flow_log_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), + 'flowLogName': self._serialize.url("flow_log_name", flow_log_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [202, 204]: + raise models.ErrorResponseException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, network_watcher_name, flow_log_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified flow log resource. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_watcher_name: The name of the network watcher. + :type network_watcher_name: str + :param flow_log_name: The name of the flow log resource. + :type flow_log_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: + :class:`ErrorResponseException` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + network_watcher_name=network_watcher_name, + flow_log_name=flow_log_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/flowLogs/{flowLogName}'} + + def list( + self, resource_group_name, network_watcher_name, custom_headers=None, raw=False, **operation_config): + """Lists all flow log resources for the specified Network Watcher. + + :param resource_group_name: The name of the resource group containing + Network Watcher. + :type resource_group_name: str + :param network_watcher_name: The name of the Network Watcher resource. + :type network_watcher_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of FlowLog + :rtype: + ~azure.mgmt.network.v2020_05_01.models.FlowLogPaged[~azure.mgmt.network.v2020_05_01.models.FlowLog] + :raises: + :class:`ErrorResponseException` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.FlowLogPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/flowLogs'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_hub_route_tables_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_hub_route_tables_operations.py new file mode 100644 index 00000000000..e0afd52439b --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_hub_route_tables_operations.py @@ -0,0 +1,370 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class HubRouteTablesOperations(object): + """HubRouteTablesOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + + def _create_or_update_initial( + self, resource_group_name, virtual_hub_name, route_table_name, route_table_parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualHubName': self._serialize.url("virtual_hub_name", virtual_hub_name, 'str'), + 'routeTableName': self._serialize.url("route_table_name", route_table_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(route_table_parameters, 'HubRouteTable') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('HubRouteTable', response) + if response.status_code == 201: + deserialized = self._deserialize('HubRouteTable', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, virtual_hub_name, route_table_name, route_table_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates a RouteTable resource if it doesn't exist else updates the + existing RouteTable. + + :param resource_group_name: The resource group name of the VirtualHub. + :type resource_group_name: str + :param virtual_hub_name: The name of the VirtualHub. + :type virtual_hub_name: str + :param route_table_name: The name of the RouteTable. + :type route_table_name: str + :param route_table_parameters: Parameters supplied to create or update + RouteTable. + :type route_table_parameters: + ~azure.mgmt.network.v2020_05_01.models.HubRouteTable + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns HubRouteTable or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.HubRouteTable] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.HubRouteTable]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + virtual_hub_name=virtual_hub_name, + route_table_name=route_table_name, + route_table_parameters=route_table_parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('HubRouteTable', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}/hubRouteTables/{routeTableName}'} + + def get( + self, resource_group_name, virtual_hub_name, route_table_name, custom_headers=None, raw=False, **operation_config): + """Retrieves the details of a RouteTable. + + :param resource_group_name: The resource group name of the VirtualHub. + :type resource_group_name: str + :param virtual_hub_name: The name of the VirtualHub. + :type virtual_hub_name: str + :param route_table_name: The name of the RouteTable. + :type route_table_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: HubRouteTable or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.HubRouteTable or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualHubName': self._serialize.url("virtual_hub_name", virtual_hub_name, 'str'), + 'routeTableName': self._serialize.url("route_table_name", route_table_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('HubRouteTable', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}/hubRouteTables/{routeTableName}'} + + + def _delete_initial( + self, resource_group_name, virtual_hub_name, route_table_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualHubName': self._serialize.url("virtual_hub_name", virtual_hub_name, 'str'), + 'routeTableName': self._serialize.url("route_table_name", route_table_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, virtual_hub_name, route_table_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes a RouteTable. + + :param resource_group_name: The resource group name of the RouteTable. + :type resource_group_name: str + :param virtual_hub_name: The name of the VirtualHub. + :type virtual_hub_name: str + :param route_table_name: The name of the RouteTable. + :type route_table_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + virtual_hub_name=virtual_hub_name, + route_table_name=route_table_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}/hubRouteTables/{routeTableName}'} + + def list( + self, resource_group_name, virtual_hub_name, custom_headers=None, raw=False, **operation_config): + """Retrieves the details of all RouteTables. + + :param resource_group_name: The resource group name of the VirtualHub. + :type resource_group_name: str + :param virtual_hub_name: The name of the VirtualHub. + :type virtual_hub_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of HubRouteTable + :rtype: + ~azure.mgmt.network.v2020_05_01.models.HubRouteTablePaged[~azure.mgmt.network.v2020_05_01.models.HubRouteTable] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualHubName': self._serialize.url("virtual_hub_name", virtual_hub_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.HubRouteTablePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}/hubRouteTables'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_hub_virtual_network_connections_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_hub_virtual_network_connections_operations.py new file mode 100644 index 00000000000..241cf3a1fef --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_hub_virtual_network_connections_operations.py @@ -0,0 +1,373 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class HubVirtualNetworkConnectionsOperations(object): + """HubVirtualNetworkConnectionsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + + def _create_or_update_initial( + self, resource_group_name, virtual_hub_name, connection_name, hub_virtual_network_connection_parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualHubName': self._serialize.url("virtual_hub_name", virtual_hub_name, 'str'), + 'connectionName': self._serialize.url("connection_name", connection_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(hub_virtual_network_connection_parameters, 'HubVirtualNetworkConnection') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('HubVirtualNetworkConnection', response) + if response.status_code == 201: + deserialized = self._deserialize('HubVirtualNetworkConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, virtual_hub_name, connection_name, hub_virtual_network_connection_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates a hub virtual network connection if it doesn't exist else + updates the existing one. + + :param resource_group_name: The resource group name of the + HubVirtualNetworkConnection. + :type resource_group_name: str + :param virtual_hub_name: The name of the VirtualHub. + :type virtual_hub_name: str + :param connection_name: The name of the HubVirtualNetworkConnection. + :type connection_name: str + :param hub_virtual_network_connection_parameters: Parameters supplied + to create or update a hub virtual network connection. + :type hub_virtual_network_connection_parameters: + ~azure.mgmt.network.v2020_05_01.models.HubVirtualNetworkConnection + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + HubVirtualNetworkConnection or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.HubVirtualNetworkConnection] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.HubVirtualNetworkConnection]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + virtual_hub_name=virtual_hub_name, + connection_name=connection_name, + hub_virtual_network_connection_parameters=hub_virtual_network_connection_parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('HubVirtualNetworkConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}/hubVirtualNetworkConnections/{connectionName}'} + + + def _delete_initial( + self, resource_group_name, virtual_hub_name, connection_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualHubName': self._serialize.url("virtual_hub_name", virtual_hub_name, 'str'), + 'connectionName': self._serialize.url("connection_name", connection_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, virtual_hub_name, connection_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes a HubVirtualNetworkConnection. + + :param resource_group_name: The resource group name of the VirtualHub. + :type resource_group_name: str + :param virtual_hub_name: The name of the VirtualHub. + :type virtual_hub_name: str + :param connection_name: The name of the HubVirtualNetworkConnection. + :type connection_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + virtual_hub_name=virtual_hub_name, + connection_name=connection_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}/hubVirtualNetworkConnections/{connectionName}'} + + def get( + self, resource_group_name, virtual_hub_name, connection_name, custom_headers=None, raw=False, **operation_config): + """Retrieves the details of a HubVirtualNetworkConnection. + + :param resource_group_name: The resource group name of the VirtualHub. + :type resource_group_name: str + :param virtual_hub_name: The name of the VirtualHub. + :type virtual_hub_name: str + :param connection_name: The name of the vpn connection. + :type connection_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: HubVirtualNetworkConnection or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.network.v2020_05_01.models.HubVirtualNetworkConnection or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualHubName': self._serialize.url("virtual_hub_name", virtual_hub_name, 'str'), + 'connectionName': self._serialize.url("connection_name", connection_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('HubVirtualNetworkConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}/hubVirtualNetworkConnections/{connectionName}'} + + def list( + self, resource_group_name, virtual_hub_name, custom_headers=None, raw=False, **operation_config): + """Retrieves the details of all HubVirtualNetworkConnections. + + :param resource_group_name: The resource group name of the VirtualHub. + :type resource_group_name: str + :param virtual_hub_name: The name of the VirtualHub. + :type virtual_hub_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of HubVirtualNetworkConnection + :rtype: + ~azure.mgmt.network.v2020_05_01.models.HubVirtualNetworkConnectionPaged[~azure.mgmt.network.v2020_05_01.models.HubVirtualNetworkConnection] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualHubName': self._serialize.url("virtual_hub_name", virtual_hub_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.HubVirtualNetworkConnectionPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}/hubVirtualNetworkConnections'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_inbound_nat_rules_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_inbound_nat_rules_operations.py new file mode 100644 index 00000000000..ec4c00ad20a --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_inbound_nat_rules_operations.py @@ -0,0 +1,373 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class InboundNatRulesOperations(object): + """InboundNatRulesOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + def list( + self, resource_group_name, load_balancer_name, custom_headers=None, raw=False, **operation_config): + """Gets all the inbound nat rules in a load balancer. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param load_balancer_name: The name of the load balancer. + :type load_balancer_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of InboundNatRule + :rtype: + ~azure.mgmt.network.v2020_05_01.models.InboundNatRulePaged[~azure.mgmt.network.v2020_05_01.models.InboundNatRule] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.InboundNatRulePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/inboundNatRules'} + + + def _delete_initial( + self, resource_group_name, load_balancer_name, inbound_nat_rule_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), + 'inboundNatRuleName': self._serialize.url("inbound_nat_rule_name", inbound_nat_rule_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, load_balancer_name, inbound_nat_rule_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified load balancer inbound nat rule. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param load_balancer_name: The name of the load balancer. + :type load_balancer_name: str + :param inbound_nat_rule_name: The name of the inbound nat rule. + :type inbound_nat_rule_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + load_balancer_name=load_balancer_name, + inbound_nat_rule_name=inbound_nat_rule_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/inboundNatRules/{inboundNatRuleName}'} + + def get( + self, resource_group_name, load_balancer_name, inbound_nat_rule_name, expand=None, custom_headers=None, raw=False, **operation_config): + """Gets the specified load balancer inbound nat rule. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param load_balancer_name: The name of the load balancer. + :type load_balancer_name: str + :param inbound_nat_rule_name: The name of the inbound nat rule. + :type inbound_nat_rule_name: str + :param expand: Expands referenced resources. + :type expand: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: InboundNatRule or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.InboundNatRule or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), + 'inboundNatRuleName': self._serialize.url("inbound_nat_rule_name", inbound_nat_rule_name, 'str'), + '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.api_version", self.api_version, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('InboundNatRule', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/inboundNatRules/{inboundNatRuleName}'} + + + def _create_or_update_initial( + self, resource_group_name, load_balancer_name, inbound_nat_rule_name, inbound_nat_rule_parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), + 'inboundNatRuleName': self._serialize.url("inbound_nat_rule_name", inbound_nat_rule_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(inbound_nat_rule_parameters, 'InboundNatRule') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('InboundNatRule', response) + if response.status_code == 201: + deserialized = self._deserialize('InboundNatRule', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, load_balancer_name, inbound_nat_rule_name, inbound_nat_rule_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a load balancer inbound nat rule. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param load_balancer_name: The name of the load balancer. + :type load_balancer_name: str + :param inbound_nat_rule_name: The name of the inbound nat rule. + :type inbound_nat_rule_name: str + :param inbound_nat_rule_parameters: Parameters supplied to the create + or update inbound nat rule operation. + :type inbound_nat_rule_parameters: + ~azure.mgmt.network.v2020_05_01.models.InboundNatRule + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns InboundNatRule or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.InboundNatRule] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.InboundNatRule]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + load_balancer_name=load_balancer_name, + inbound_nat_rule_name=inbound_nat_rule_name, + inbound_nat_rule_parameters=inbound_nat_rule_parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('InboundNatRule', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/inboundNatRules/{inboundNatRuleName}'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_ip_allocations_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_ip_allocations_operations.py new file mode 100644 index 00000000000..64a1847808e --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_ip_allocations_operations.py @@ -0,0 +1,493 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class IpAllocationsOperations(object): + """IpAllocationsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, ip_allocation_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'ipAllocationName': self._serialize.url("ip_allocation_name", ip_allocation_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, ip_allocation_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified IpAllocation. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param ip_allocation_name: The name of the IpAllocation. + :type ip_allocation_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + ip_allocation_name=ip_allocation_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/IpAllocations/{ipAllocationName}'} + + def get( + self, resource_group_name, ip_allocation_name, expand=None, custom_headers=None, raw=False, **operation_config): + """Gets the specified IpAllocation by resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param ip_allocation_name: The name of the IpAllocation. + :type ip_allocation_name: str + :param expand: Expands referenced resources. + :type expand: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: IpAllocation or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.IpAllocation or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'ipAllocationName': self._serialize.url("ip_allocation_name", ip_allocation_name, 'str'), + '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.api_version", self.api_version, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('IpAllocation', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/IpAllocations/{ipAllocationName}'} + + + def _create_or_update_initial( + self, resource_group_name, ip_allocation_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'ipAllocationName': self._serialize.url("ip_allocation_name", ip_allocation_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'IpAllocation') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('IpAllocation', response) + if response.status_code == 201: + deserialized = self._deserialize('IpAllocation', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, ip_allocation_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates an IpAllocation in the specified resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param ip_allocation_name: The name of the IpAllocation. + :type ip_allocation_name: str + :param parameters: Parameters supplied to the create or update virtual + network operation. + :type parameters: ~azure.mgmt.network.v2020_05_01.models.IpAllocation + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns IpAllocation or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.IpAllocation] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.IpAllocation]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + ip_allocation_name=ip_allocation_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('IpAllocation', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/IpAllocations/{ipAllocationName}'} + + def update_tags( + self, resource_group_name, ip_allocation_name, tags=None, custom_headers=None, raw=False, **operation_config): + """Updates a IpAllocation tags. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param ip_allocation_name: The name of the IpAllocation. + :type ip_allocation_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: IpAllocation or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.IpAllocation or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'ipAllocationName': self._serialize.url("ip_allocation_name", ip_allocation_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('IpAllocation', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/IpAllocations/{ipAllocationName}'} + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Gets all IpAllocations in a subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of IpAllocation + :rtype: + ~azure.mgmt.network.v2020_05_01.models.IpAllocationPaged[~azure.mgmt.network.v2020_05_01.models.IpAllocation] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.IpAllocationPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/IpAllocations'} + + def list_by_resource_group( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Gets all IpAllocations in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of IpAllocation + :rtype: + ~azure.mgmt.network.v2020_05_01.models.IpAllocationPaged[~azure.mgmt.network.v2020_05_01.models.IpAllocation] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.IpAllocationPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/IpAllocations'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_ip_groups_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_ip_groups_operations.py new file mode 100644 index 00000000000..b70f377cf37 --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_ip_groups_operations.py @@ -0,0 +1,487 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class IpGroupsOperations(object): + """IpGroupsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + def get( + self, resource_group_name, ip_groups_name, expand=None, custom_headers=None, raw=False, **operation_config): + """Gets the specified ipGroups. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param ip_groups_name: The name of the ipGroups. + :type ip_groups_name: str + :param expand: Expands resourceIds (of Firewalls/Network Security + Groups etc.) back referenced by the IpGroups resource. + :type expand: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: IpGroup or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.IpGroup or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorException` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'ipGroupsName': self._serialize.url("ip_groups_name", ip_groups_name, 'str'), + '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.api_version", self.api_version, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('IpGroup', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ipGroups/{ipGroupsName}'} + + + def _create_or_update_initial( + self, resource_group_name, ip_groups_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'ipGroupsName': self._serialize.url("ip_groups_name", ip_groups_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'IpGroup') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + raise models.ErrorException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('IpGroup', response) + if response.status_code == 201: + deserialized = self._deserialize('IpGroup', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, ip_groups_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates an ipGroups in a specified resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param ip_groups_name: The name of the ipGroups. + :type ip_groups_name: str + :param parameters: Parameters supplied to the create or update + IpGroups operation. + :type parameters: ~azure.mgmt.network.v2020_05_01.models.IpGroup + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns IpGroup or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.IpGroup] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.IpGroup]] + :raises: + :class:`ErrorException` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + ip_groups_name=ip_groups_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('IpGroup', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ipGroups/{ipGroupsName}'} + + def update_groups( + self, resource_group_name, ip_groups_name, tags=None, custom_headers=None, raw=False, **operation_config): + """Updates tags of an IpGroups resource. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param ip_groups_name: The name of the ipGroups. + :type ip_groups_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: IpGroup or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.IpGroup or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorException` + """ + parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_groups.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'ipGroupsName': self._serialize.url("ip_groups_name", ip_groups_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('IpGroup', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_groups.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ipGroups/{ipGroupsName}'} + + + def _delete_initial( + self, resource_group_name, ip_groups_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'ipGroupsName': self._serialize.url("ip_groups_name", ip_groups_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + raise models.ErrorException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, ip_groups_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified ipGroups. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param ip_groups_name: The name of the ipGroups. + :type ip_groups_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: + :class:`ErrorException` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + ip_groups_name=ip_groups_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ipGroups/{ipGroupsName}'} + + def list_by_resource_group( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Gets all IpGroups in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of IpGroup + :rtype: + ~azure.mgmt.network.v2020_05_01.models.IpGroupPaged[~azure.mgmt.network.v2020_05_01.models.IpGroup] + :raises: + :class:`ErrorException` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorException(self._deserialize, response) + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.IpGroupPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ipGroups'} + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Gets all IpGroups in a subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of IpGroup + :rtype: + ~azure.mgmt.network.v2020_05_01.models.IpGroupPaged[~azure.mgmt.network.v2020_05_01.models.IpGroup] + :raises: + :class:`ErrorException` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorException(self._deserialize, response) + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.IpGroupPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/ipGroups'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_load_balancer_backend_address_pools_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_load_balancer_backend_address_pools_operations.py new file mode 100644 index 00000000000..85241473f79 --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_load_balancer_backend_address_pools_operations.py @@ -0,0 +1,372 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class LoadBalancerBackendAddressPoolsOperations(object): + """LoadBalancerBackendAddressPoolsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + def list( + self, resource_group_name, load_balancer_name, custom_headers=None, raw=False, **operation_config): + """Gets all the load balancer backed address pools. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param load_balancer_name: The name of the load balancer. + :type load_balancer_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of BackendAddressPool + :rtype: + ~azure.mgmt.network.v2020_05_01.models.BackendAddressPoolPaged[~azure.mgmt.network.v2020_05_01.models.BackendAddressPool] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.BackendAddressPoolPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/backendAddressPools'} + + def get( + self, resource_group_name, load_balancer_name, backend_address_pool_name, custom_headers=None, raw=False, **operation_config): + """Gets load balancer backend address pool. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param load_balancer_name: The name of the load balancer. + :type load_balancer_name: str + :param backend_address_pool_name: The name of the backend address + pool. + :type backend_address_pool_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: BackendAddressPool or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.BackendAddressPool or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), + 'backendAddressPoolName': self._serialize.url("backend_address_pool_name", backend_address_pool_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('BackendAddressPool', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/backendAddressPools/{backendAddressPoolName}'} + + + def _create_or_update_initial( + self, resource_group_name, load_balancer_name, backend_address_pool_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), + 'backendAddressPoolName': self._serialize.url("backend_address_pool_name", backend_address_pool_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'BackendAddressPool') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('BackendAddressPool', response) + if response.status_code == 201: + deserialized = self._deserialize('BackendAddressPool', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, load_balancer_name, backend_address_pool_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a load balancer backend address pool. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param load_balancer_name: The name of the load balancer. + :type load_balancer_name: str + :param backend_address_pool_name: The name of the backend address + pool. + :type backend_address_pool_name: str + :param parameters: Parameters supplied to the create or update load + balancer backend address pool operation. + :type parameters: + ~azure.mgmt.network.v2020_05_01.models.BackendAddressPool + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns BackendAddressPool or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.BackendAddressPool] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.BackendAddressPool]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + load_balancer_name=load_balancer_name, + backend_address_pool_name=backend_address_pool_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('BackendAddressPool', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/backendAddressPools/{backendAddressPoolName}'} + + + def _delete_initial( + self, resource_group_name, load_balancer_name, backend_address_pool_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), + 'backendAddressPoolName': self._serialize.url("backend_address_pool_name", backend_address_pool_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, load_balancer_name, backend_address_pool_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified load balancer backend address pool. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param load_balancer_name: The name of the load balancer. + :type load_balancer_name: str + :param backend_address_pool_name: The name of the backend address + pool. + :type backend_address_pool_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + load_balancer_name=load_balancer_name, + backend_address_pool_name=backend_address_pool_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/backendAddressPools/{backendAddressPoolName}'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_load_balancer_frontend_ip_configurations_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_load_balancer_frontend_ip_configurations_operations.py new file mode 100644 index 00000000000..7b82b08b41d --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_load_balancer_frontend_ip_configurations_operations.py @@ -0,0 +1,177 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class LoadBalancerFrontendIPConfigurationsOperations(object): + """LoadBalancerFrontendIPConfigurationsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + def list( + self, resource_group_name, load_balancer_name, custom_headers=None, raw=False, **operation_config): + """Gets all the load balancer frontend IP configurations. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param load_balancer_name: The name of the load balancer. + :type load_balancer_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of FrontendIPConfiguration + :rtype: + ~azure.mgmt.network.v2020_05_01.models.FrontendIPConfigurationPaged[~azure.mgmt.network.v2020_05_01.models.FrontendIPConfiguration] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.FrontendIPConfigurationPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/frontendIPConfigurations'} + + def get( + self, resource_group_name, load_balancer_name, frontend_ip_configuration_name, custom_headers=None, raw=False, **operation_config): + """Gets load balancer frontend IP configuration. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param load_balancer_name: The name of the load balancer. + :type load_balancer_name: str + :param frontend_ip_configuration_name: The name of the frontend IP + configuration. + :type frontend_ip_configuration_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: FrontendIPConfiguration or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.FrontendIPConfiguration + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), + 'frontendIPConfigurationName': self._serialize.url("frontend_ip_configuration_name", frontend_ip_configuration_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('FrontendIPConfiguration', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/frontendIPConfigurations/{frontendIPConfigurationName}'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_load_balancer_load_balancing_rules_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_load_balancer_load_balancing_rules_operations.py new file mode 100644 index 00000000000..45638320346 --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_load_balancer_load_balancing_rules_operations.py @@ -0,0 +1,176 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class LoadBalancerLoadBalancingRulesOperations(object): + """LoadBalancerLoadBalancingRulesOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + def list( + self, resource_group_name, load_balancer_name, custom_headers=None, raw=False, **operation_config): + """Gets all the load balancing rules in a load balancer. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param load_balancer_name: The name of the load balancer. + :type load_balancer_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of LoadBalancingRule + :rtype: + ~azure.mgmt.network.v2020_05_01.models.LoadBalancingRulePaged[~azure.mgmt.network.v2020_05_01.models.LoadBalancingRule] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.LoadBalancingRulePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/loadBalancingRules'} + + def get( + self, resource_group_name, load_balancer_name, load_balancing_rule_name, custom_headers=None, raw=False, **operation_config): + """Gets the specified load balancer load balancing rule. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param load_balancer_name: The name of the load balancer. + :type load_balancer_name: str + :param load_balancing_rule_name: The name of the load balancing rule. + :type load_balancing_rule_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: LoadBalancingRule or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.LoadBalancingRule or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), + 'loadBalancingRuleName': self._serialize.url("load_balancing_rule_name", load_balancing_rule_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('LoadBalancingRule', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/loadBalancingRules/{loadBalancingRuleName}'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_load_balancer_network_interfaces_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_load_balancer_network_interfaces_operations.py new file mode 100644 index 00000000000..f63ee976539 --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_load_balancer_network_interfaces_operations.py @@ -0,0 +1,112 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class LoadBalancerNetworkInterfacesOperations(object): + """LoadBalancerNetworkInterfacesOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + def list( + self, resource_group_name, load_balancer_name, custom_headers=None, raw=False, **operation_config): + """Gets associated load balancer network interfaces. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param load_balancer_name: The name of the load balancer. + :type load_balancer_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of NetworkInterface + :rtype: + ~azure.mgmt.network.v2020_05_01.models.NetworkInterfacePaged[~azure.mgmt.network.v2020_05_01.models.NetworkInterface] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.NetworkInterfacePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/networkInterfaces'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_load_balancer_outbound_rules_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_load_balancer_outbound_rules_operations.py new file mode 100644 index 00000000000..11a3d814be7 --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_load_balancer_outbound_rules_operations.py @@ -0,0 +1,176 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class LoadBalancerOutboundRulesOperations(object): + """LoadBalancerOutboundRulesOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + def list( + self, resource_group_name, load_balancer_name, custom_headers=None, raw=False, **operation_config): + """Gets all the outbound rules in a load balancer. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param load_balancer_name: The name of the load balancer. + :type load_balancer_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of OutboundRule + :rtype: + ~azure.mgmt.network.v2020_05_01.models.OutboundRulePaged[~azure.mgmt.network.v2020_05_01.models.OutboundRule] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.OutboundRulePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/outboundRules'} + + def get( + self, resource_group_name, load_balancer_name, outbound_rule_name, custom_headers=None, raw=False, **operation_config): + """Gets the specified load balancer outbound rule. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param load_balancer_name: The name of the load balancer. + :type load_balancer_name: str + :param outbound_rule_name: The name of the outbound rule. + :type outbound_rule_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: OutboundRule or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.OutboundRule or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), + 'outboundRuleName': self._serialize.url("outbound_rule_name", outbound_rule_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('OutboundRule', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/outboundRules/{outboundRuleName}'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_load_balancer_probes_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_load_balancer_probes_operations.py new file mode 100644 index 00000000000..18de6466471 --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_load_balancer_probes_operations.py @@ -0,0 +1,176 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class LoadBalancerProbesOperations(object): + """LoadBalancerProbesOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + def list( + self, resource_group_name, load_balancer_name, custom_headers=None, raw=False, **operation_config): + """Gets all the load balancer probes. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param load_balancer_name: The name of the load balancer. + :type load_balancer_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of Probe + :rtype: + ~azure.mgmt.network.v2020_05_01.models.ProbePaged[~azure.mgmt.network.v2020_05_01.models.Probe] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.ProbePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes'} + + def get( + self, resource_group_name, load_balancer_name, probe_name, custom_headers=None, raw=False, **operation_config): + """Gets load balancer probe. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param load_balancer_name: The name of the load balancer. + :type load_balancer_name: str + :param probe_name: The name of the probe. + :type probe_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: Probe or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.Probe or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), + 'probeName': self._serialize.url("probe_name", probe_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('Probe', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes/{probeName}'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_load_balancers_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_load_balancers_operations.py new file mode 100644 index 00000000000..7faeac462e9 --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_load_balancers_operations.py @@ -0,0 +1,493 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class LoadBalancersOperations(object): + """LoadBalancersOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, load_balancer_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, load_balancer_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified load balancer. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param load_balancer_name: The name of the load balancer. + :type load_balancer_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + load_balancer_name=load_balancer_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}'} + + def get( + self, resource_group_name, load_balancer_name, expand=None, custom_headers=None, raw=False, **operation_config): + """Gets the specified load balancer. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param load_balancer_name: The name of the load balancer. + :type load_balancer_name: str + :param expand: Expands referenced resources. + :type expand: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: LoadBalancer or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.LoadBalancer or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), + '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.api_version", self.api_version, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('LoadBalancer', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}'} + + + def _create_or_update_initial( + self, resource_group_name, load_balancer_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'LoadBalancer') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('LoadBalancer', response) + if response.status_code == 201: + deserialized = self._deserialize('LoadBalancer', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, load_balancer_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a load balancer. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param load_balancer_name: The name of the load balancer. + :type load_balancer_name: str + :param parameters: Parameters supplied to the create or update load + balancer operation. + :type parameters: ~azure.mgmt.network.v2020_05_01.models.LoadBalancer + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns LoadBalancer or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.LoadBalancer] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.LoadBalancer]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + load_balancer_name=load_balancer_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('LoadBalancer', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}'} + + def update_tags( + self, resource_group_name, load_balancer_name, tags=None, custom_headers=None, raw=False, **operation_config): + """Updates a load balancer tags. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param load_balancer_name: The name of the load balancer. + :type load_balancer_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: LoadBalancer or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.LoadBalancer or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('LoadBalancer', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}'} + + def list_all( + self, custom_headers=None, raw=False, **operation_config): + """Gets all the load balancers in a subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of LoadBalancer + :rtype: + ~azure.mgmt.network.v2020_05_01.models.LoadBalancerPaged[~azure.mgmt.network.v2020_05_01.models.LoadBalancer] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_all.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.LoadBalancerPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/loadBalancers'} + + def list( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Gets all the load balancers in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of LoadBalancer + :rtype: + ~azure.mgmt.network.v2020_05_01.models.LoadBalancerPaged[~azure.mgmt.network.v2020_05_01.models.LoadBalancer] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.LoadBalancerPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_local_network_gateways_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_local_network_gateways_operations.py new file mode 100644 index 00000000000..d5a373528d4 --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_local_network_gateways_operations.py @@ -0,0 +1,429 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class LocalNetworkGatewaysOperations(object): + """LocalNetworkGatewaysOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + + def _create_or_update_initial( + self, resource_group_name, local_network_gateway_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'localNetworkGatewayName': self._serialize.url("local_network_gateway_name", local_network_gateway_name, 'str', min_length=1), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'LocalNetworkGateway') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('LocalNetworkGateway', response) + if response.status_code == 201: + deserialized = self._deserialize('LocalNetworkGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, local_network_gateway_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a local network gateway in the specified resource + group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param local_network_gateway_name: The name of the local network + gateway. + :type local_network_gateway_name: str + :param parameters: Parameters supplied to the create or update local + network gateway operation. + :type parameters: + ~azure.mgmt.network.v2020_05_01.models.LocalNetworkGateway + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns LocalNetworkGateway or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.LocalNetworkGateway] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.LocalNetworkGateway]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + local_network_gateway_name=local_network_gateway_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('LocalNetworkGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/localNetworkGateways/{localNetworkGatewayName}'} + + def get( + self, resource_group_name, local_network_gateway_name, custom_headers=None, raw=False, **operation_config): + """Gets the specified local network gateway in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param local_network_gateway_name: The name of the local network + gateway. + :type local_network_gateway_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: LocalNetworkGateway or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.LocalNetworkGateway or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'localNetworkGatewayName': self._serialize.url("local_network_gateway_name", local_network_gateway_name, 'str', min_length=1), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('LocalNetworkGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/localNetworkGateways/{localNetworkGatewayName}'} + + + def _delete_initial( + self, resource_group_name, local_network_gateway_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'localNetworkGatewayName': self._serialize.url("local_network_gateway_name", local_network_gateway_name, 'str', min_length=1), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, local_network_gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified local network gateway. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param local_network_gateway_name: The name of the local network + gateway. + :type local_network_gateway_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + local_network_gateway_name=local_network_gateway_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/localNetworkGateways/{localNetworkGatewayName}'} + + def update_tags( + self, resource_group_name, local_network_gateway_name, tags=None, custom_headers=None, raw=False, **operation_config): + """Updates a local network gateway tags. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param local_network_gateway_name: The name of the local network + gateway. + :type local_network_gateway_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: LocalNetworkGateway or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.LocalNetworkGateway or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'localNetworkGatewayName': self._serialize.url("local_network_gateway_name", local_network_gateway_name, 'str', min_length=1), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('LocalNetworkGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/localNetworkGateways/{localNetworkGatewayName}'} + + def list( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Gets all the local network gateways in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of LocalNetworkGateway + :rtype: + ~azure.mgmt.network.v2020_05_01.models.LocalNetworkGatewayPaged[~azure.mgmt.network.v2020_05_01.models.LocalNetworkGateway] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.LocalNetworkGatewayPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/localNetworkGateways'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_nat_gateways_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_nat_gateways_operations.py new file mode 100644 index 00000000000..64fdbc92ed8 --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_nat_gateways_operations.py @@ -0,0 +1,495 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class NatGatewaysOperations(object): + """NatGatewaysOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, nat_gateway_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'natGatewayName': self._serialize.url("nat_gateway_name", nat_gateway_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, nat_gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified nat gateway. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param nat_gateway_name: The name of the nat gateway. + :type nat_gateway_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + nat_gateway_name=nat_gateway_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/natGateways/{natGatewayName}'} + + def get( + self, resource_group_name, nat_gateway_name, expand=None, custom_headers=None, raw=False, **operation_config): + """Gets the specified nat gateway in a specified resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param nat_gateway_name: The name of the nat gateway. + :type nat_gateway_name: str + :param expand: Expands referenced resources. + :type expand: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: NatGateway or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.NatGateway or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'natGatewayName': self._serialize.url("nat_gateway_name", nat_gateway_name, 'str'), + '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.api_version", self.api_version, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('NatGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/natGateways/{natGatewayName}'} + + + def _create_or_update_initial( + self, resource_group_name, nat_gateway_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'natGatewayName': self._serialize.url("nat_gateway_name", nat_gateway_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'NatGateway') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201, 202]: + 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('NatGateway', response) + if response.status_code == 201: + deserialized = self._deserialize('NatGateway', response) + if response.status_code == 202: + deserialized = self._deserialize('NatGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, nat_gateway_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a nat gateway. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param nat_gateway_name: The name of the nat gateway. + :type nat_gateway_name: str + :param parameters: Parameters supplied to the create or update nat + gateway operation. + :type parameters: ~azure.mgmt.network.v2020_05_01.models.NatGateway + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns NatGateway or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.NatGateway] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.NatGateway]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + nat_gateway_name=nat_gateway_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('NatGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/natGateways/{natGatewayName}'} + + def update_tags( + self, resource_group_name, nat_gateway_name, tags=None, custom_headers=None, raw=False, **operation_config): + """Updates nat gateway tags. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param nat_gateway_name: The name of the nat gateway. + :type nat_gateway_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: NatGateway or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.NatGateway or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'natGatewayName': self._serialize.url("nat_gateway_name", nat_gateway_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('NatGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/natGateways/{natGatewayName}'} + + def list_all( + self, custom_headers=None, raw=False, **operation_config): + """Gets all the Nat Gateways in a subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of NatGateway + :rtype: + ~azure.mgmt.network.v2020_05_01.models.NatGatewayPaged[~azure.mgmt.network.v2020_05_01.models.NatGateway] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_all.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.NatGatewayPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/natGateways'} + + def list( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Gets all nat gateways in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of NatGateway + :rtype: + ~azure.mgmt.network.v2020_05_01.models.NatGatewayPaged[~azure.mgmt.network.v2020_05_01.models.NatGateway] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.NatGatewayPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/natGateways'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_network_interface_ip_configurations_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_network_interface_ip_configurations_operations.py new file mode 100644 index 00000000000..a88b6ea054c --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_network_interface_ip_configurations_operations.py @@ -0,0 +1,178 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class NetworkInterfaceIPConfigurationsOperations(object): + """NetworkInterfaceIPConfigurationsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + def list( + self, resource_group_name, network_interface_name, custom_headers=None, raw=False, **operation_config): + """Get all ip configurations in a network interface. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_interface_name: The name of the network interface. + :type network_interface_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of NetworkInterfaceIPConfiguration + :rtype: + ~azure.mgmt.network.v2020_05_01.models.NetworkInterfaceIPConfigurationPaged[~azure.mgmt.network.v2020_05_01.models.NetworkInterfaceIPConfiguration] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.NetworkInterfaceIPConfigurationPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/ipConfigurations'} + + def get( + self, resource_group_name, network_interface_name, ip_configuration_name, custom_headers=None, raw=False, **operation_config): + """Gets the specified network interface ip configuration. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_interface_name: The name of the network interface. + :type network_interface_name: str + :param ip_configuration_name: The name of the ip configuration name. + :type ip_configuration_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: NetworkInterfaceIPConfiguration or ClientRawResponse if + raw=true + :rtype: + ~azure.mgmt.network.v2020_05_01.models.NetworkInterfaceIPConfiguration + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), + 'ipConfigurationName': self._serialize.url("ip_configuration_name", ip_configuration_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('NetworkInterfaceIPConfiguration', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/ipConfigurations/{ipConfigurationName}'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_network_interface_load_balancers_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_network_interface_load_balancers_operations.py new file mode 100644 index 00000000000..4edb0324d9b --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_network_interface_load_balancers_operations.py @@ -0,0 +1,112 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class NetworkInterfaceLoadBalancersOperations(object): + """NetworkInterfaceLoadBalancersOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + def list( + self, resource_group_name, network_interface_name, custom_headers=None, raw=False, **operation_config): + """List all load balancers in a network interface. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_interface_name: The name of the network interface. + :type network_interface_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of LoadBalancer + :rtype: + ~azure.mgmt.network.v2020_05_01.models.LoadBalancerPaged[~azure.mgmt.network.v2020_05_01.models.LoadBalancer] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.LoadBalancerPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/loadBalancers'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_network_interface_tap_configurations_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_network_interface_tap_configurations_operations.py new file mode 100644 index 00000000000..3fc9dd72cf3 --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_network_interface_tap_configurations_operations.py @@ -0,0 +1,373 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class NetworkInterfaceTapConfigurationsOperations(object): + """NetworkInterfaceTapConfigurationsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, network_interface_name, tap_configuration_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), + 'tapConfigurationName': self._serialize.url("tap_configuration_name", tap_configuration_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, network_interface_name, tap_configuration_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified tap configuration from the NetworkInterface. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_interface_name: The name of the network interface. + :type network_interface_name: str + :param tap_configuration_name: The name of the tap configuration. + :type tap_configuration_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + network_interface_name=network_interface_name, + tap_configuration_name=tap_configuration_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/tapConfigurations/{tapConfigurationName}'} + + def get( + self, resource_group_name, network_interface_name, tap_configuration_name, custom_headers=None, raw=False, **operation_config): + """Get the specified tap configuration on a network interface. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_interface_name: The name of the network interface. + :type network_interface_name: str + :param tap_configuration_name: The name of the tap configuration. + :type tap_configuration_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: NetworkInterfaceTapConfiguration or ClientRawResponse if + raw=true + :rtype: + ~azure.mgmt.network.v2020_05_01.models.NetworkInterfaceTapConfiguration + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), + 'tapConfigurationName': self._serialize.url("tap_configuration_name", tap_configuration_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('NetworkInterfaceTapConfiguration', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/tapConfigurations/{tapConfigurationName}'} + + + def _create_or_update_initial( + self, resource_group_name, network_interface_name, tap_configuration_name, tap_configuration_parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), + 'tapConfigurationName': self._serialize.url("tap_configuration_name", tap_configuration_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(tap_configuration_parameters, 'NetworkInterfaceTapConfiguration') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('NetworkInterfaceTapConfiguration', response) + if response.status_code == 201: + deserialized = self._deserialize('NetworkInterfaceTapConfiguration', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, network_interface_name, tap_configuration_name, tap_configuration_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a Tap configuration in the specified + NetworkInterface. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_interface_name: The name of the network interface. + :type network_interface_name: str + :param tap_configuration_name: The name of the tap configuration. + :type tap_configuration_name: str + :param tap_configuration_parameters: Parameters supplied to the create + or update tap configuration operation. + :type tap_configuration_parameters: + ~azure.mgmt.network.v2020_05_01.models.NetworkInterfaceTapConfiguration + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + NetworkInterfaceTapConfiguration or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.NetworkInterfaceTapConfiguration] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.NetworkInterfaceTapConfiguration]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + network_interface_name=network_interface_name, + tap_configuration_name=tap_configuration_name, + tap_configuration_parameters=tap_configuration_parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('NetworkInterfaceTapConfiguration', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/tapConfigurations/{tapConfigurationName}'} + + def list( + self, resource_group_name, network_interface_name, custom_headers=None, raw=False, **operation_config): + """Get all Tap configurations in a network interface. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_interface_name: The name of the network interface. + :type network_interface_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of NetworkInterfaceTapConfiguration + :rtype: + ~azure.mgmt.network.v2020_05_01.models.NetworkInterfaceTapConfigurationPaged[~azure.mgmt.network.v2020_05_01.models.NetworkInterfaceTapConfiguration] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.NetworkInterfaceTapConfigurationPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/tapConfigurations'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_network_interfaces_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_network_interfaces_operations.py new file mode 100644 index 00000000000..b6c9f34b7ba --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_network_interfaces_operations.py @@ -0,0 +1,1091 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class NetworkInterfacesOperations(object): + """NetworkInterfacesOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + + self.config = config + + + def _delete_initial( + self, resource_group_name, network_interface_name, custom_headers=None, raw=False, **operation_config): + api_version = "2020-05-01" + + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), + '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("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, network_interface_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified network interface. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_interface_name: The name of the network interface. + :type network_interface_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + network_interface_name=network_interface_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}'} + + def get( + self, resource_group_name, network_interface_name, expand=None, custom_headers=None, raw=False, **operation_config): + """Gets information about the specified network interface. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_interface_name: The name of the network interface. + :type network_interface_name: str + :param expand: Expands referenced resources. + :type expand: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: NetworkInterface or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.NetworkInterface or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + api_version = "2020-05-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), + '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("api_version", api_version, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('NetworkInterface', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}'} + + + def _create_or_update_initial( + self, resource_group_name, network_interface_name, parameters, custom_headers=None, raw=False, **operation_config): + api_version = "2020-05-01" + + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), + '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("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'NetworkInterface') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('NetworkInterface', response) + if response.status_code == 201: + deserialized = self._deserialize('NetworkInterface', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, network_interface_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a network interface. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_interface_name: The name of the network interface. + :type network_interface_name: str + :param parameters: Parameters supplied to the create or update network + interface operation. + :type parameters: + ~azure.mgmt.network.v2020_05_01.models.NetworkInterface + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns NetworkInterface or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.NetworkInterface] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.NetworkInterface]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + network_interface_name=network_interface_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('NetworkInterface', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}'} + + def update_tags( + self, resource_group_name, network_interface_name, tags=None, custom_headers=None, raw=False, **operation_config): + """Updates a network interface tags. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_interface_name: The name of the network interface. + :type network_interface_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: NetworkInterface or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.NetworkInterface or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + parameters = models.TagsObject(tags=tags) + + api_version = "2020-05-01" + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), + '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("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('NetworkInterface', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}'} + + def list_all( + self, custom_headers=None, raw=False, **operation_config): + """Gets all network interfaces in a subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of NetworkInterface + :rtype: + ~azure.mgmt.network.v2020_05_01.models.NetworkInterfacePaged[~azure.mgmt.network.v2020_05_01.models.NetworkInterface] + :raises: :class:`CloudError` + """ + api_version = "2020-05-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_all.metadata['url'] + path_format_arguments = { + '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("api_version", api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.NetworkInterfacePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkInterfaces'} + + def list( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Gets all network interfaces in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of NetworkInterface + :rtype: + ~azure.mgmt.network.v2020_05_01.models.NetworkInterfacePaged[~azure.mgmt.network.v2020_05_01.models.NetworkInterface] + :raises: :class:`CloudError` + """ + api_version = "2020-05-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + '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("api_version", api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.NetworkInterfacePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces'} + + + def _get_effective_route_table_initial( + self, resource_group_name, network_interface_name, custom_headers=None, raw=False, **operation_config): + api_version = "2020-05-01" + + # Construct URL + url = self.get_effective_route_table.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), + '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("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('EffectiveRouteListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def get_effective_route_table( + self, resource_group_name, network_interface_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Gets all route tables applied to a network interface. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_interface_name: The name of the network interface. + :type network_interface_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + EffectiveRouteListResult or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.EffectiveRouteListResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.EffectiveRouteListResult]] + :raises: :class:`CloudError` + """ + raw_result = self._get_effective_route_table_initial( + resource_group_name=resource_group_name, + network_interface_name=network_interface_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('EffectiveRouteListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + get_effective_route_table.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/effectiveRouteTable'} + + + def _list_effective_network_security_groups_initial( + self, resource_group_name, network_interface_name, custom_headers=None, raw=False, **operation_config): + api_version = "2020-05-01" + + # Construct URL + url = self.list_effective_network_security_groups.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), + '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("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('EffectiveNetworkSecurityGroupListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def list_effective_network_security_groups( + self, resource_group_name, network_interface_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Gets all network security groups applied to a network interface. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_interface_name: The name of the network interface. + :type network_interface_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + EffectiveNetworkSecurityGroupListResult or + ClientRawResponse if + raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.EffectiveNetworkSecurityGroupListResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.EffectiveNetworkSecurityGroupListResult]] + :raises: :class:`CloudError` + """ + raw_result = self._list_effective_network_security_groups_initial( + resource_group_name=resource_group_name, + network_interface_name=network_interface_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('EffectiveNetworkSecurityGroupListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + list_effective_network_security_groups.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/effectiveNetworkSecurityGroups'} + + def list_virtual_machine_scale_set_vm_network_interfaces( + self, resource_group_name, virtual_machine_scale_set_name, virtualmachine_index, custom_headers=None, raw=False, **operation_config): + """Gets information about all network interfaces in a virtual machine in a + virtual machine scale set. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_machine_scale_set_name: The name of the virtual machine + scale set. + :type virtual_machine_scale_set_name: str + :param virtualmachine_index: The virtual machine index. + :type virtualmachine_index: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of NetworkInterface + :rtype: + ~azure.mgmt.network.v2020_05_01.models.NetworkInterfacePaged[~azure.mgmt.network.v2020_05_01.models.NetworkInterface] + :raises: :class:`CloudError` + """ + api_version = "2018-10-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_virtual_machine_scale_set_vm_network_interfaces.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineScaleSetName': self._serialize.url("virtual_machine_scale_set_name", virtual_machine_scale_set_name, 'str'), + 'virtualmachineIndex': self._serialize.url("virtualmachine_index", virtualmachine_index, 'str'), + '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("api_version", api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.NetworkInterfacePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_virtual_machine_scale_set_vm_network_interfaces.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces'} + + def list_virtual_machine_scale_set_network_interfaces( + self, resource_group_name, virtual_machine_scale_set_name, custom_headers=None, raw=False, **operation_config): + """Gets all network interfaces in a virtual machine scale set. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_machine_scale_set_name: The name of the virtual machine + scale set. + :type virtual_machine_scale_set_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of NetworkInterface + :rtype: + ~azure.mgmt.network.v2020_05_01.models.NetworkInterfacePaged[~azure.mgmt.network.v2020_05_01.models.NetworkInterface] + :raises: :class:`CloudError` + """ + api_version = "2018-10-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_virtual_machine_scale_set_network_interfaces.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineScaleSetName': self._serialize.url("virtual_machine_scale_set_name", virtual_machine_scale_set_name, 'str'), + '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("api_version", api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.NetworkInterfacePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_virtual_machine_scale_set_network_interfaces.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/networkInterfaces'} + + def get_virtual_machine_scale_set_network_interface( + self, resource_group_name, virtual_machine_scale_set_name, virtualmachine_index, network_interface_name, expand=None, custom_headers=None, raw=False, **operation_config): + """Get the specified network interface in a virtual machine scale set. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_machine_scale_set_name: The name of the virtual machine + scale set. + :type virtual_machine_scale_set_name: str + :param virtualmachine_index: The virtual machine index. + :type virtualmachine_index: str + :param network_interface_name: The name of the network interface. + :type network_interface_name: str + :param expand: Expands referenced resources. + :type expand: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: NetworkInterface or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.NetworkInterface or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + api_version = "2018-10-01" + + # Construct URL + url = self.get_virtual_machine_scale_set_network_interface.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineScaleSetName': self._serialize.url("virtual_machine_scale_set_name", virtual_machine_scale_set_name, 'str'), + 'virtualmachineIndex': self._serialize.url("virtualmachine_index", virtualmachine_index, 'str'), + 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), + '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("api_version", api_version, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('NetworkInterface', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_virtual_machine_scale_set_network_interface.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}'} + + def list_virtual_machine_scale_set_ip_configurations( + self, resource_group_name, virtual_machine_scale_set_name, virtualmachine_index, network_interface_name, expand=None, custom_headers=None, raw=False, **operation_config): + """Get the specified network interface ip configuration in a virtual + machine scale set. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_machine_scale_set_name: The name of the virtual machine + scale set. + :type virtual_machine_scale_set_name: str + :param virtualmachine_index: The virtual machine index. + :type virtualmachine_index: str + :param network_interface_name: The name of the network interface. + :type network_interface_name: str + :param expand: Expands referenced resources. + :type expand: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of NetworkInterfaceIPConfiguration + :rtype: + ~azure.mgmt.network.v2020_05_01.models.NetworkInterfaceIPConfigurationPaged[~azure.mgmt.network.v2020_05_01.models.NetworkInterfaceIPConfiguration] + :raises: :class:`CloudError` + """ + api_version = "2018-10-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_virtual_machine_scale_set_ip_configurations.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineScaleSetName': self._serialize.url("virtual_machine_scale_set_name", virtual_machine_scale_set_name, 'str'), + 'virtualmachineIndex': self._serialize.url("virtualmachine_index", virtualmachine_index, 'str'), + 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), + '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("api_version", api_version, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.NetworkInterfaceIPConfigurationPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_virtual_machine_scale_set_ip_configurations.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}/ipConfigurations'} + + def get_virtual_machine_scale_set_ip_configuration( + self, resource_group_name, virtual_machine_scale_set_name, virtualmachine_index, network_interface_name, ip_configuration_name, expand=None, custom_headers=None, raw=False, **operation_config): + """Get the specified network interface ip configuration in a virtual + machine scale set. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_machine_scale_set_name: The name of the virtual machine + scale set. + :type virtual_machine_scale_set_name: str + :param virtualmachine_index: The virtual machine index. + :type virtualmachine_index: str + :param network_interface_name: The name of the network interface. + :type network_interface_name: str + :param ip_configuration_name: The name of the ip configuration. + :type ip_configuration_name: str + :param expand: Expands referenced resources. + :type expand: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: NetworkInterfaceIPConfiguration or ClientRawResponse if + raw=true + :rtype: + ~azure.mgmt.network.v2020_05_01.models.NetworkInterfaceIPConfiguration + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + api_version = "2018-10-01" + + # Construct URL + url = self.get_virtual_machine_scale_set_ip_configuration.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineScaleSetName': self._serialize.url("virtual_machine_scale_set_name", virtual_machine_scale_set_name, 'str'), + 'virtualmachineIndex': self._serialize.url("virtualmachine_index", virtualmachine_index, 'str'), + 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), + 'ipConfigurationName': self._serialize.url("ip_configuration_name", ip_configuration_name, 'str'), + '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("api_version", api_version, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('NetworkInterfaceIPConfiguration', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_virtual_machine_scale_set_ip_configuration.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}/ipConfigurations/{ipConfigurationName}'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_network_management_client_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_network_management_client_operations.py new file mode 100644 index 00000000000..5d324b40437 --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_network_management_client_operations.py @@ -0,0 +1,726 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# 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 msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling +from .. import models +import uuid + + +class NetworkManagementClientOperationsMixin(object): + + + def _put_bastion_shareable_link_initial( + self, resource_group_name, bastion_host_name, vms=None, custom_headers=None, raw=False, **operation_config): + bsl_request = models.BastionShareableLinkListRequest(vms=vms) + + api_version = "2020-05-01" + + # Construct URL + url = self.put_bastion_shareable_link.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'bastionHostName': self._serialize.url("bastion_host_name", bastion_host_name, 'str'), + '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("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(bsl_request, 'BastionShareableLinkListRequest') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('BastionShareableLinkListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def put_bastion_shareable_link( + self, resource_group_name, bastion_host_name, vms=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates a Bastion Shareable Links for all the VMs specified in the + request. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param bastion_host_name: The name of the Bastion Host. + :type bastion_host_name: str + :param vms: List of VM references. + :type vms: + list[~azure.mgmt.network.v2020_05_01.models.BastionShareableLink] + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + BastionShareableLinkListResult or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.BastionShareableLinkListResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.BastionShareableLinkListResult]] + :raises: :class:`CloudError` + """ + raw_result = self._put_bastion_shareable_link_initial( + resource_group_name=resource_group_name, + bastion_host_name=bastion_host_name, + vms=vms, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('BastionShareableLinkListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + put_bastion_shareable_link.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts/{bastionHostName}/createShareableLinks'} + + + def _delete_bastion_shareable_link_initial( + self, resource_group_name, bastion_host_name, vms=None, custom_headers=None, raw=False, **operation_config): + bsl_request = models.BastionShareableLinkListRequest(vms=vms) + + api_version = "2020-05-01" + + # Construct URL + url = self.delete_bastion_shareable_link.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'bastionHostName': self._serialize.url("bastion_host_name", bastion_host_name, 'str'), + '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("api_version", 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(bsl_request, 'BastionShareableLinkListRequest') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete_bastion_shareable_link( + self, resource_group_name, bastion_host_name, vms=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the Bastion Shareable Links for all the VMs specified in the + request. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param bastion_host_name: The name of the Bastion Host. + :type bastion_host_name: str + :param vms: List of VM references. + :type vms: + list[~azure.mgmt.network.v2020_05_01.models.BastionShareableLink] + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_bastion_shareable_link_initial( + resource_group_name=resource_group_name, + bastion_host_name=bastion_host_name, + vms=vms, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete_bastion_shareable_link.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts/{bastionHostName}/deleteShareableLinks'} + + def get_bastion_shareable_link( + self, resource_group_name, bastion_host_name, vms=None, custom_headers=None, raw=False, **operation_config): + """Return the Bastion Shareable Links for all the VMs specified in the + request. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param bastion_host_name: The name of the Bastion Host. + :type bastion_host_name: str + :param vms: List of VM references. + :type vms: + list[~azure.mgmt.network.v2020_05_01.models.BastionShareableLink] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of BastionShareableLink + :rtype: + ~azure.mgmt.network.v2020_05_01.models.BastionShareableLinkPaged[~azure.mgmt.network.v2020_05_01.models.BastionShareableLink] + :raises: :class:`CloudError` + """ + bsl_request = models.BastionShareableLinkListRequest(vms=vms) + + api_version = "2020-05-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.get_bastion_shareable_link.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'bastionHostName': self._serialize.url("bastion_host_name", bastion_host_name, 'str'), + '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("api_version", api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(bsl_request, 'BastionShareableLinkListRequest') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.BastionShareableLinkPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + get_bastion_shareable_link.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts/{bastionHostName}/getShareableLinks'} + + + def _get_active_sessions_initial( + self, resource_group_name, bastion_host_name, custom_headers=None, raw=False, **operation_config): + api_version = "2020-05-01" + + # Construct URL + url = self.get_active_sessions.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'bastionHostName': self._serialize.url("bastion_host_name", bastion_host_name, 'str'), + '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("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('BastionActiveSessionListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def get_active_sessions( + self, resource_group_name, bastion_host_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Returns the list of currently active sessions on the Bastion. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param bastion_host_name: The name of the Bastion Host. + :type bastion_host_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + BastionActiveSessionListResult or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.BastionActiveSessionListResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.BastionActiveSessionListResult]] + :raises: :class:`CloudError` + """ + raw_result = self._get_active_sessions_initial( + resource_group_name=resource_group_name, + bastion_host_name=bastion_host_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('BastionActiveSessionListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + get_active_sessions.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts/{bastionHostName}/getActiveSessions'} + + def disconnect_active_sessions( + self, resource_group_name, bastion_host_name, session_ids=None, custom_headers=None, raw=False, **operation_config): + """Returns the list of currently active sessions on the Bastion. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param bastion_host_name: The name of the Bastion Host. + :type bastion_host_name: str + :param session_ids: List of session IDs. + :type session_ids: list[str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of BastionSessionState + :rtype: + ~azure.mgmt.network.v2020_05_01.models.BastionSessionStatePaged[~azure.mgmt.network.v2020_05_01.models.BastionSessionState] + :raises: :class:`CloudError` + """ + session_ids1 = models.SessionIds(session_ids=session_ids) + + api_version = "2020-05-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.disconnect_active_sessions.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'bastionHostName': self._serialize.url("bastion_host_name", bastion_host_name, 'str'), + '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("api_version", api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(session_ids1, 'SessionIds') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.BastionSessionStatePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + disconnect_active_sessions.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts/{bastionHostName}/disconnectActiveSessions'} + + def check_dns_name_availability( + self, location, domain_name_label, custom_headers=None, raw=False, **operation_config): + """Checks whether a domain name in the cloudapp.azure.com zone is + available for use. + + :param location: The location of the domain name. + :type location: str + :param domain_name_label: The domain name to be verified. It must + conform to the following regular expression: + ^[a-z][a-z0-9-]{1,61}[a-z0-9]$. + :type domain_name_label: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: DnsNameAvailabilityResult or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.network.v2020_05_01.models.DnsNameAvailabilityResult or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + api_version = "2020-05-01" + + # Construct URL + url = self.check_dns_name_availability.metadata['url'] + path_format_arguments = { + 'location': self._serialize.url("location", location, 'str'), + '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['domainNameLabel'] = self._serialize.query("domain_name_label", domain_name_label, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('DnsNameAvailabilityResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + check_dns_name_availability.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/CheckDnsNameAvailability'} + + def supported_security_providers( + self, resource_group_name, virtual_wan_name, custom_headers=None, raw=False, **operation_config): + """Gives the supported security providers for the virtual wan. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param virtual_wan_name: The name of the VirtualWAN for which + supported security providers are needed. + :type virtual_wan_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: VirtualWanSecurityProviders or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.network.v2020_05_01.models.VirtualWanSecurityProviders or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + api_version = "2020-05-01" + + # Construct URL + url = self.supported_security_providers.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualWANName': self._serialize.url("virtual_wan_name", virtual_wan_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('VirtualWanSecurityProviders', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + supported_security_providers.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{virtualWANName}/supportedSecurityProviders'} + + + def _generatevirtualwanvpnserverconfigurationvpnprofile_initial( + self, resource_group_name, virtual_wan_name, vpn_server_configuration_resource_id=None, authentication_method=None, custom_headers=None, raw=False, **operation_config): + vpn_client_params = models.VirtualWanVpnProfileParameters(vpn_server_configuration_resource_id=vpn_server_configuration_resource_id, authentication_method=authentication_method) + + api_version = "2020-05-01" + + # Construct URL + url = self.generatevirtualwanvpnserverconfigurationvpnprofile.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualWANName': self._serialize.url("virtual_wan_name", virtual_wan_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(vpn_client_params, 'VirtualWanVpnProfileParameters') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('VpnProfileResponse', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def generatevirtualwanvpnserverconfigurationvpnprofile( + self, resource_group_name, virtual_wan_name, vpn_server_configuration_resource_id=None, authentication_method=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Generates a unique VPN profile for P2S clients for VirtualWan and + associated VpnServerConfiguration combination in the specified resource + group. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param virtual_wan_name: The name of the VirtualWAN whose associated + VpnServerConfigurations is needed. + :type virtual_wan_name: str + :param vpn_server_configuration_resource_id: VpnServerConfiguration + partial resource uri with which VirtualWan is associated to. + :type vpn_server_configuration_resource_id: str + :param authentication_method: VPN client authentication method. + Possible values include: 'EAPTLS', 'EAPMSCHAPv2' + :type authentication_method: str or + ~azure.mgmt.network.v2020_05_01.models.AuthenticationMethod + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns VpnProfileResponse or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.VpnProfileResponse] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.VpnProfileResponse]] + :raises: :class:`CloudError` + """ + raw_result = self._generatevirtualwanvpnserverconfigurationvpnprofile_initial( + resource_group_name=resource_group_name, + virtual_wan_name=virtual_wan_name, + vpn_server_configuration_resource_id=vpn_server_configuration_resource_id, + authentication_method=authentication_method, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('VpnProfileResponse', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + generatevirtualwanvpnserverconfigurationvpnprofile.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{virtualWANName}/GenerateVpnProfile'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_network_profiles_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_network_profiles_operations.py new file mode 100644 index 00000000000..7fb0db0ceb7 --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_network_profiles_operations.py @@ -0,0 +1,494 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class NetworkProfilesOperations(object): + """NetworkProfilesOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, network_profile_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkProfileName': self._serialize.url("network_profile_name", network_profile_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, network_profile_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified network profile. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_profile_name: The name of the NetworkProfile. + :type network_profile_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + network_profile_name=network_profile_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkProfiles/{networkProfileName}'} + + def get( + self, resource_group_name, network_profile_name, expand=None, custom_headers=None, raw=False, **operation_config): + """Gets the specified network profile in a specified resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_profile_name: The name of the public IP prefix. + :type network_profile_name: str + :param expand: Expands referenced resources. + :type expand: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: NetworkProfile or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.NetworkProfile or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkProfileName': self._serialize.url("network_profile_name", network_profile_name, 'str'), + '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.api_version", self.api_version, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('NetworkProfile', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkProfiles/{networkProfileName}'} + + + def _create_or_update_initial( + self, resource_group_name, network_profile_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkProfileName': self._serialize.url("network_profile_name", network_profile_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'NetworkProfile') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('NetworkProfile', response) + if response.status_code == 201: + deserialized = self._deserialize('NetworkProfile', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, network_profile_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a network profile. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_profile_name: The name of the network profile. + :type network_profile_name: str + :param parameters: Parameters supplied to the create or update network + profile operation. + :type parameters: + ~azure.mgmt.network.v2020_05_01.models.NetworkProfile + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns NetworkProfile or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.NetworkProfile] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.NetworkProfile]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + network_profile_name=network_profile_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('NetworkProfile', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkProfiles/{networkProfileName}'} + + def update_tags( + self, resource_group_name, network_profile_name, tags=None, custom_headers=None, raw=False, **operation_config): + """Updates network profile tags. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_profile_name: The name of the network profile. + :type network_profile_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: NetworkProfile or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.NetworkProfile or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkProfileName': self._serialize.url("network_profile_name", network_profile_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('NetworkProfile', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkProfiles/{networkProfileName}'} + + def list_all( + self, custom_headers=None, raw=False, **operation_config): + """Gets all the network profiles in a subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of NetworkProfile + :rtype: + ~azure.mgmt.network.v2020_05_01.models.NetworkProfilePaged[~azure.mgmt.network.v2020_05_01.models.NetworkProfile] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_all.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.NetworkProfilePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkProfiles'} + + def list( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Gets all network profiles in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of NetworkProfile + :rtype: + ~azure.mgmt.network.v2020_05_01.models.NetworkProfilePaged[~azure.mgmt.network.v2020_05_01.models.NetworkProfile] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.NetworkProfilePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkProfiles'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_network_security_groups_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_network_security_groups_operations.py new file mode 100644 index 00000000000..e40090573ce --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_network_security_groups_operations.py @@ -0,0 +1,499 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class NetworkSecurityGroupsOperations(object): + """NetworkSecurityGroupsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, network_security_group_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkSecurityGroupName': self._serialize.url("network_security_group_name", network_security_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, network_security_group_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified network security group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_security_group_name: The name of the network security + group. + :type network_security_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + network_security_group_name=network_security_group_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}'} + + def get( + self, resource_group_name, network_security_group_name, expand=None, custom_headers=None, raw=False, **operation_config): + """Gets the specified network security group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_security_group_name: The name of the network security + group. + :type network_security_group_name: str + :param expand: Expands referenced resources. + :type expand: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: NetworkSecurityGroup or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.NetworkSecurityGroup or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkSecurityGroupName': self._serialize.url("network_security_group_name", network_security_group_name, 'str'), + '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.api_version", self.api_version, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('NetworkSecurityGroup', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}'} + + + def _create_or_update_initial( + self, resource_group_name, network_security_group_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkSecurityGroupName': self._serialize.url("network_security_group_name", network_security_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'NetworkSecurityGroup') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('NetworkSecurityGroup', response) + if response.status_code == 201: + deserialized = self._deserialize('NetworkSecurityGroup', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, network_security_group_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a network security group in the specified resource + group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_security_group_name: The name of the network security + group. + :type network_security_group_name: str + :param parameters: Parameters supplied to the create or update network + security group operation. + :type parameters: + ~azure.mgmt.network.v2020_05_01.models.NetworkSecurityGroup + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns NetworkSecurityGroup or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.NetworkSecurityGroup] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.NetworkSecurityGroup]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + network_security_group_name=network_security_group_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('NetworkSecurityGroup', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}'} + + def update_tags( + self, resource_group_name, network_security_group_name, tags=None, custom_headers=None, raw=False, **operation_config): + """Updates a network security group tags. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_security_group_name: The name of the network security + group. + :type network_security_group_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: NetworkSecurityGroup or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.NetworkSecurityGroup or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkSecurityGroupName': self._serialize.url("network_security_group_name", network_security_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('NetworkSecurityGroup', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}'} + + def list_all( + self, custom_headers=None, raw=False, **operation_config): + """Gets all network security groups in a subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of NetworkSecurityGroup + :rtype: + ~azure.mgmt.network.v2020_05_01.models.NetworkSecurityGroupPaged[~azure.mgmt.network.v2020_05_01.models.NetworkSecurityGroup] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_all.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.NetworkSecurityGroupPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkSecurityGroups'} + + def list( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Gets all network security groups in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of NetworkSecurityGroup + :rtype: + ~azure.mgmt.network.v2020_05_01.models.NetworkSecurityGroupPaged[~azure.mgmt.network.v2020_05_01.models.NetworkSecurityGroup] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.NetworkSecurityGroupPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_network_virtual_appliances_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_network_virtual_appliances_operations.py new file mode 100644 index 00000000000..0cb716b6b6a --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_network_virtual_appliances_operations.py @@ -0,0 +1,499 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class NetworkVirtualAppliancesOperations(object): + """NetworkVirtualAppliancesOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, network_virtual_appliance_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkVirtualApplianceName': self._serialize.url("network_virtual_appliance_name", network_virtual_appliance_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, network_virtual_appliance_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified Network Virtual Appliance. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_virtual_appliance_name: The name of Network Virtual + Appliance. + :type network_virtual_appliance_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + network_virtual_appliance_name=network_virtual_appliance_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkVirtualAppliances/{networkVirtualApplianceName}'} + + def get( + self, resource_group_name, network_virtual_appliance_name, expand=None, custom_headers=None, raw=False, **operation_config): + """Gets the specified Network Virtual Appliance. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_virtual_appliance_name: The name of Network Virtual + Appliance. + :type network_virtual_appliance_name: str + :param expand: Expands referenced resources. + :type expand: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: NetworkVirtualAppliance or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.NetworkVirtualAppliance + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkVirtualApplianceName': self._serialize.url("network_virtual_appliance_name", network_virtual_appliance_name, 'str'), + '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.api_version", self.api_version, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('NetworkVirtualAppliance', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkVirtualAppliances/{networkVirtualApplianceName}'} + + def update_tags( + self, resource_group_name, network_virtual_appliance_name, tags=None, custom_headers=None, raw=False, **operation_config): + """Updates a Network Virtual Appliance. + + :param resource_group_name: The resource group name of Network Virtual + Appliance. + :type resource_group_name: str + :param network_virtual_appliance_name: The name of Network Virtual + Appliance being updated. + :type network_virtual_appliance_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: NetworkVirtualAppliance or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.NetworkVirtualAppliance + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkVirtualApplianceName': self._serialize.url("network_virtual_appliance_name", network_virtual_appliance_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('NetworkVirtualAppliance', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkVirtualAppliances/{networkVirtualApplianceName}'} + + + def _create_or_update_initial( + self, resource_group_name, network_virtual_appliance_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkVirtualApplianceName': self._serialize.url("network_virtual_appliance_name", network_virtual_appliance_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'NetworkVirtualAppliance') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('NetworkVirtualAppliance', response) + if response.status_code == 201: + deserialized = self._deserialize('NetworkVirtualAppliance', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, network_virtual_appliance_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates the specified Network Virtual Appliance. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_virtual_appliance_name: The name of Network Virtual + Appliance. + :type network_virtual_appliance_name: str + :param parameters: Parameters supplied to the create or update Network + Virtual Appliance. + :type parameters: + ~azure.mgmt.network.v2020_05_01.models.NetworkVirtualAppliance + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns NetworkVirtualAppliance + or ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.NetworkVirtualAppliance] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.NetworkVirtualAppliance]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + network_virtual_appliance_name=network_virtual_appliance_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('NetworkVirtualAppliance', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkVirtualAppliances/{networkVirtualApplianceName}'} + + def list_by_resource_group( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Lists all Network Virtual Appliances in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of NetworkVirtualAppliance + :rtype: + ~azure.mgmt.network.v2020_05_01.models.NetworkVirtualAppliancePaged[~azure.mgmt.network.v2020_05_01.models.NetworkVirtualAppliance] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.NetworkVirtualAppliancePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkVirtualAppliances'} + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Gets all Network Virtual Appliances in a subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of NetworkVirtualAppliance + :rtype: + ~azure.mgmt.network.v2020_05_01.models.NetworkVirtualAppliancePaged[~azure.mgmt.network.v2020_05_01.models.NetworkVirtualAppliance] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.NetworkVirtualAppliancePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkVirtualAppliances'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_network_watchers_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_network_watchers_operations.py new file mode 100644 index 00000000000..ab9e4b22897 --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_network_watchers_operations.py @@ -0,0 +1,1674 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class NetworkWatchersOperations(object): + """NetworkWatchersOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + def create_or_update( + self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, **operation_config): + """Creates or updates a network watcher in the specified resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_watcher_name: The name of the network watcher. + :type network_watcher_name: str + :param parameters: Parameters that define the network watcher + resource. + :type parameters: + ~azure.mgmt.network.v2020_05_01.models.NetworkWatcher + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: NetworkWatcher or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.NetworkWatcher or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'NetworkWatcher') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('NetworkWatcher', response) + if response.status_code == 201: + deserialized = self._deserialize('NetworkWatcher', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}'} + + def get( + self, resource_group_name, network_watcher_name, custom_headers=None, raw=False, **operation_config): + """Gets the specified network watcher by resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_watcher_name: The name of the network watcher. + :type network_watcher_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: NetworkWatcher or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.NetworkWatcher or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('NetworkWatcher', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}'} + + + def _delete_initial( + self, resource_group_name, network_watcher_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [202, 204]: + raise models.ErrorResponseException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, network_watcher_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified network watcher resource. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_watcher_name: The name of the network watcher. + :type network_watcher_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: + :class:`ErrorResponseException` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + network_watcher_name=network_watcher_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}'} + + def update_tags( + self, resource_group_name, network_watcher_name, tags=None, custom_headers=None, raw=False, **operation_config): + """Updates a network watcher tags. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_watcher_name: The name of the network watcher. + :type network_watcher_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: NetworkWatcher or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.NetworkWatcher or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('NetworkWatcher', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}'} + + def list( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Gets all network watchers by resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of NetworkWatcher + :rtype: + ~azure.mgmt.network.v2020_05_01.models.NetworkWatcherPaged[~azure.mgmt.network.v2020_05_01.models.NetworkWatcher] + :raises: + :class:`ErrorResponseException` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.NetworkWatcherPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers'} + + def list_all( + self, custom_headers=None, raw=False, **operation_config): + """Gets all network watchers by subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of NetworkWatcher + :rtype: + ~azure.mgmt.network.v2020_05_01.models.NetworkWatcherPaged[~azure.mgmt.network.v2020_05_01.models.NetworkWatcher] + :raises: + :class:`ErrorResponseException` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_all.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.NetworkWatcherPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkWatchers'} + + def get_topology( + self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, **operation_config): + """Gets the current network topology by resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_watcher_name: The name of the network watcher. + :type network_watcher_name: str + :param parameters: Parameters that define the representation of + topology. + :type parameters: + ~azure.mgmt.network.v2020_05_01.models.TopologyParameters + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: Topology or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.Topology or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.get_topology.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'TopologyParameters') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('Topology', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_topology.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/topology'} + + + def _verify_ip_flow_initial( + self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.verify_ip_flow.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'VerificationIPFlowParameters') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('VerificationIPFlowResult', response) + if response.status_code == 202: + deserialized = self._deserialize('VerificationIPFlowResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def verify_ip_flow( + self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Verify IP flow from the specified VM to a location given the currently + configured NSG rules. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_watcher_name: The name of the network watcher. + :type network_watcher_name: str + :param parameters: Parameters that define the IP flow to be verified. + :type parameters: + ~azure.mgmt.network.v2020_05_01.models.VerificationIPFlowParameters + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + VerificationIPFlowResult or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.VerificationIPFlowResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.VerificationIPFlowResult]] + :raises: + :class:`ErrorResponseException` + """ + raw_result = self._verify_ip_flow_initial( + resource_group_name=resource_group_name, + network_watcher_name=network_watcher_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('VerificationIPFlowResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + verify_ip_flow.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/ipFlowVerify'} + + + def _get_next_hop_initial( + self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.get_next_hop.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'NextHopParameters') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('NextHopResult', response) + if response.status_code == 202: + deserialized = self._deserialize('NextHopResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def get_next_hop( + self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Gets the next hop from the specified VM. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_watcher_name: The name of the network watcher. + :type network_watcher_name: str + :param parameters: Parameters that define the source and destination + endpoint. + :type parameters: + ~azure.mgmt.network.v2020_05_01.models.NextHopParameters + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns NextHopResult or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.NextHopResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.NextHopResult]] + :raises: + :class:`ErrorResponseException` + """ + raw_result = self._get_next_hop_initial( + resource_group_name=resource_group_name, + network_watcher_name=network_watcher_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('NextHopResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + get_next_hop.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/nextHop'} + + + def _get_vm_security_rules_initial( + self, resource_group_name, network_watcher_name, target_resource_id, custom_headers=None, raw=False, **operation_config): + parameters = models.SecurityGroupViewParameters(target_resource_id=target_resource_id) + + # Construct URL + url = self.get_vm_security_rules.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'SecurityGroupViewParameters') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('SecurityGroupViewResult', response) + if response.status_code == 202: + deserialized = self._deserialize('SecurityGroupViewResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def get_vm_security_rules( + self, resource_group_name, network_watcher_name, target_resource_id, custom_headers=None, raw=False, polling=True, **operation_config): + """Gets the configured and effective security group rules on the specified + VM. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_watcher_name: The name of the network watcher. + :type network_watcher_name: str + :param target_resource_id: ID of the target VM. + :type target_resource_id: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns SecurityGroupViewResult + or ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.SecurityGroupViewResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.SecurityGroupViewResult]] + :raises: + :class:`ErrorResponseException` + """ + raw_result = self._get_vm_security_rules_initial( + resource_group_name=resource_group_name, + network_watcher_name=network_watcher_name, + target_resource_id=target_resource_id, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('SecurityGroupViewResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + get_vm_security_rules.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/securityGroupView'} + + + def _get_troubleshooting_initial( + self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.get_troubleshooting.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'TroubleshootingParameters') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('TroubleshootingResult', response) + if response.status_code == 202: + deserialized = self._deserialize('TroubleshootingResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def get_troubleshooting( + self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Initiate troubleshooting on a specified resource. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_watcher_name: The name of the network watcher resource. + :type network_watcher_name: str + :param parameters: Parameters that define the resource to + troubleshoot. + :type parameters: + ~azure.mgmt.network.v2020_05_01.models.TroubleshootingParameters + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns TroubleshootingResult + or ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.TroubleshootingResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.TroubleshootingResult]] + :raises: + :class:`ErrorResponseException` + """ + raw_result = self._get_troubleshooting_initial( + resource_group_name=resource_group_name, + network_watcher_name=network_watcher_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('TroubleshootingResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + get_troubleshooting.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/troubleshoot'} + + + def _get_troubleshooting_result_initial( + self, resource_group_name, network_watcher_name, target_resource_id, custom_headers=None, raw=False, **operation_config): + parameters = models.QueryTroubleshootingParameters(target_resource_id=target_resource_id) + + # Construct URL + url = self.get_troubleshooting_result.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'QueryTroubleshootingParameters') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('TroubleshootingResult', response) + if response.status_code == 202: + deserialized = self._deserialize('TroubleshootingResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def get_troubleshooting_result( + self, resource_group_name, network_watcher_name, target_resource_id, custom_headers=None, raw=False, polling=True, **operation_config): + """Get the last completed troubleshooting result on a specified resource. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_watcher_name: The name of the network watcher resource. + :type network_watcher_name: str + :param target_resource_id: The target resource ID to query the + troubleshooting result. + :type target_resource_id: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns TroubleshootingResult + or ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.TroubleshootingResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.TroubleshootingResult]] + :raises: + :class:`ErrorResponseException` + """ + raw_result = self._get_troubleshooting_result_initial( + resource_group_name=resource_group_name, + network_watcher_name=network_watcher_name, + target_resource_id=target_resource_id, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('TroubleshootingResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + get_troubleshooting_result.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/queryTroubleshootResult'} + + + def _set_flow_log_configuration_initial( + self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.set_flow_log_configuration.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'FlowLogInformation') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('FlowLogInformation', response) + if response.status_code == 202: + deserialized = self._deserialize('FlowLogInformation', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def set_flow_log_configuration( + self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Configures flow log and traffic analytics (optional) on a specified + resource. + + :param resource_group_name: The name of the network watcher resource + group. + :type resource_group_name: str + :param network_watcher_name: The name of the network watcher resource. + :type network_watcher_name: str + :param parameters: Parameters that define the configuration of flow + log. + :type parameters: + ~azure.mgmt.network.v2020_05_01.models.FlowLogInformation + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns FlowLogInformation or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.FlowLogInformation] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.FlowLogInformation]] + :raises: + :class:`ErrorResponseException` + """ + raw_result = self._set_flow_log_configuration_initial( + resource_group_name=resource_group_name, + network_watcher_name=network_watcher_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('FlowLogInformation', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + set_flow_log_configuration.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/configureFlowLog'} + + + def _get_flow_log_status_initial( + self, resource_group_name, network_watcher_name, target_resource_id, custom_headers=None, raw=False, **operation_config): + parameters = models.FlowLogStatusParameters(target_resource_id=target_resource_id) + + # Construct URL + url = self.get_flow_log_status.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'FlowLogStatusParameters') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('FlowLogInformation', response) + if response.status_code == 202: + deserialized = self._deserialize('FlowLogInformation', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def get_flow_log_status( + self, resource_group_name, network_watcher_name, target_resource_id, custom_headers=None, raw=False, polling=True, **operation_config): + """Queries status of flow log and traffic analytics (optional) on a + specified resource. + + :param resource_group_name: The name of the network watcher resource + group. + :type resource_group_name: str + :param network_watcher_name: The name of the network watcher resource. + :type network_watcher_name: str + :param target_resource_id: The target resource where getting the flow + log and traffic analytics (optional) status. + :type target_resource_id: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns FlowLogInformation or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.FlowLogInformation] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.FlowLogInformation]] + :raises: + :class:`ErrorResponseException` + """ + raw_result = self._get_flow_log_status_initial( + resource_group_name=resource_group_name, + network_watcher_name=network_watcher_name, + target_resource_id=target_resource_id, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('FlowLogInformation', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + get_flow_log_status.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/queryFlowLogStatus'} + + + def _check_connectivity_initial( + self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.check_connectivity.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'ConnectivityParameters') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('ConnectivityInformation', response) + if response.status_code == 202: + deserialized = self._deserialize('ConnectivityInformation', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def check_connectivity( + self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Verifies the possibility of establishing a direct TCP connection from a + virtual machine to a given endpoint including another VM or an + arbitrary remote server. + + :param resource_group_name: The name of the network watcher resource + group. + :type resource_group_name: str + :param network_watcher_name: The name of the network watcher resource. + :type network_watcher_name: str + :param parameters: Parameters that determine how the connectivity + check will be performed. + :type parameters: + ~azure.mgmt.network.v2020_05_01.models.ConnectivityParameters + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns ConnectivityInformation + or ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.ConnectivityInformation] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.ConnectivityInformation]] + :raises: + :class:`ErrorResponseException` + """ + raw_result = self._check_connectivity_initial( + resource_group_name=resource_group_name, + network_watcher_name=network_watcher_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ConnectivityInformation', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + check_connectivity.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectivityCheck'} + + + def _get_azure_reachability_report_initial( + self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.get_azure_reachability_report.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'AzureReachabilityReportParameters') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('AzureReachabilityReport', response) + if response.status_code == 202: + deserialized = self._deserialize('AzureReachabilityReport', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def get_azure_reachability_report( + self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """NOTE: This feature is currently in preview and still being tested for + stability. Gets the relative latency score for internet service + providers from a specified location to Azure regions. + + :param resource_group_name: The name of the network watcher resource + group. + :type resource_group_name: str + :param network_watcher_name: The name of the network watcher resource. + :type network_watcher_name: str + :param parameters: Parameters that determine Azure reachability report + configuration. + :type parameters: + ~azure.mgmt.network.v2020_05_01.models.AzureReachabilityReportParameters + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns AzureReachabilityReport + or ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.AzureReachabilityReport] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.AzureReachabilityReport]] + :raises: + :class:`ErrorResponseException` + """ + raw_result = self._get_azure_reachability_report_initial( + resource_group_name=resource_group_name, + network_watcher_name=network_watcher_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('AzureReachabilityReport', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + get_azure_reachability_report.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/azureReachabilityReport'} + + + def _list_available_providers_initial( + self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.list_available_providers.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'AvailableProvidersListParameters') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('AvailableProvidersList', response) + if response.status_code == 202: + deserialized = self._deserialize('AvailableProvidersList', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def list_available_providers( + self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """NOTE: This feature is currently in preview and still being tested for + stability. Lists all available internet service providers for a + specified Azure region. + + :param resource_group_name: The name of the network watcher resource + group. + :type resource_group_name: str + :param network_watcher_name: The name of the network watcher resource. + :type network_watcher_name: str + :param parameters: Parameters that scope the list of available + providers. + :type parameters: + ~azure.mgmt.network.v2020_05_01.models.AvailableProvidersListParameters + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns AvailableProvidersList + or ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.AvailableProvidersList] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.AvailableProvidersList]] + :raises: + :class:`ErrorResponseException` + """ + raw_result = self._list_available_providers_initial( + resource_group_name=resource_group_name, + network_watcher_name=network_watcher_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('AvailableProvidersList', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + list_available_providers.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/availableProvidersList'} + + + def _get_network_configuration_diagnostic_initial( + self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.get_network_configuration_diagnostic.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'NetworkConfigurationDiagnosticParameters') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('NetworkConfigurationDiagnosticResponse', response) + if response.status_code == 202: + deserialized = self._deserialize('NetworkConfigurationDiagnosticResponse', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def get_network_configuration_diagnostic( + self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Gets Network Configuration Diagnostic data to help customers understand + and debug network behavior. It provides detailed information on what + security rules were applied to a specified traffic flow and the result + of evaluating these rules. Customers must provide details of a flow + like source, destination, protocol, etc. The API returns whether + traffic was allowed or denied, the rules evaluated for the specified + flow and the evaluation results. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_watcher_name: The name of the network watcher. + :type network_watcher_name: str + :param parameters: Parameters to get network configuration diagnostic. + :type parameters: + ~azure.mgmt.network.v2020_05_01.models.NetworkConfigurationDiagnosticParameters + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + NetworkConfigurationDiagnosticResponse or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.NetworkConfigurationDiagnosticResponse] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.NetworkConfigurationDiagnosticResponse]] + :raises: + :class:`ErrorResponseException` + """ + raw_result = self._get_network_configuration_diagnostic_initial( + resource_group_name=resource_group_name, + network_watcher_name=network_watcher_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('NetworkConfigurationDiagnosticResponse', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + get_network_configuration_diagnostic.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/networkConfigurationDiagnostic'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_operations.py new file mode 100644 index 00000000000..9ceb63dc075 --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_operations.py @@ -0,0 +1,102 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class Operations(object): + """Operations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Lists all of the available Network Rest API operations. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of Operation + :rtype: + ~azure.mgmt.network.v2020_05_01.models.OperationPaged[~azure.mgmt.network.v2020_05_01.models.Operation] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.OperationPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/providers/Microsoft.Network/operations'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_p2s_vpn_gateways_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_p2s_vpn_gateways_operations.py new file mode 100644 index 00000000000..bc39b973766 --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_p2s_vpn_gateways_operations.py @@ -0,0 +1,892 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class P2sVpnGatewaysOperations(object): + """P2sVpnGatewaysOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + def get( + self, resource_group_name, gateway_name, custom_headers=None, raw=False, **operation_config): + """Retrieves the details of a virtual wan p2s vpn gateway. + + :param resource_group_name: The resource group name of the + P2SVpnGateway. + :type resource_group_name: str + :param gateway_name: The name of the gateway. + :type gateway_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: P2SVpnGateway or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.P2SVpnGateway or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('P2SVpnGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/p2svpnGateways/{gatewayName}'} + + + def _create_or_update_initial( + self, resource_group_name, gateway_name, p2_svpn_gateway_parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(p2_svpn_gateway_parameters, 'P2SVpnGateway') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('P2SVpnGateway', response) + if response.status_code == 201: + deserialized = self._deserialize('P2SVpnGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, gateway_name, p2_svpn_gateway_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates a virtual wan p2s vpn gateway if it doesn't exist else updates + the existing gateway. + + :param resource_group_name: The resource group name of the + P2SVpnGateway. + :type resource_group_name: str + :param gateway_name: The name of the gateway. + :type gateway_name: str + :param p2_svpn_gateway_parameters: Parameters supplied to create or + Update a virtual wan p2s vpn gateway. + :type p2_svpn_gateway_parameters: + ~azure.mgmt.network.v2020_05_01.models.P2SVpnGateway + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns P2SVpnGateway or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.P2SVpnGateway] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.P2SVpnGateway]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + gateway_name=gateway_name, + p2_svpn_gateway_parameters=p2_svpn_gateway_parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('P2SVpnGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/p2svpnGateways/{gatewayName}'} + + def update_tags( + self, resource_group_name, gateway_name, tags=None, custom_headers=None, raw=False, **operation_config): + """Updates virtual wan p2s vpn gateway tags. + + :param resource_group_name: The resource group name of the + P2SVpnGateway. + :type resource_group_name: str + :param gateway_name: The name of the gateway. + :type gateway_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: P2SVpnGateway or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.P2SVpnGateway or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + p2_svpn_gateway_parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(p2_svpn_gateway_parameters, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('P2SVpnGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/p2svpnGateways/{gatewayName}'} + + + def _delete_initial( + self, resource_group_name, gateway_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes a virtual wan p2s vpn gateway. + + :param resource_group_name: The resource group name of the + P2SVpnGateway. + :type resource_group_name: str + :param gateway_name: The name of the gateway. + :type gateway_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + gateway_name=gateway_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/p2svpnGateways/{gatewayName}'} + + def list_by_resource_group( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Lists all the P2SVpnGateways in a resource group. + + :param resource_group_name: The resource group name of the + P2SVpnGateway. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of P2SVpnGateway + :rtype: + ~azure.mgmt.network.v2020_05_01.models.P2SVpnGatewayPaged[~azure.mgmt.network.v2020_05_01.models.P2SVpnGateway] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.P2SVpnGatewayPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/p2svpnGateways'} + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Lists all the P2SVpnGateways in a subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of P2SVpnGateway + :rtype: + ~azure.mgmt.network.v2020_05_01.models.P2SVpnGatewayPaged[~azure.mgmt.network.v2020_05_01.models.P2SVpnGateway] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.P2SVpnGatewayPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/p2svpnGateways'} + + + def _generate_vpn_profile_initial( + self, resource_group_name, gateway_name, authentication_method=None, custom_headers=None, raw=False, **operation_config): + parameters = models.P2SVpnProfileParameters(authentication_method=authentication_method) + + # Construct URL + url = self.generate_vpn_profile.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'P2SVpnProfileParameters') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('VpnProfileResponse', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def generate_vpn_profile( + self, resource_group_name, gateway_name, authentication_method=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Generates VPN profile for P2S client of the P2SVpnGateway in the + specified resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param gateway_name: The name of the P2SVpnGateway. + :type gateway_name: str + :param authentication_method: VPN client authentication method. + Possible values include: 'EAPTLS', 'EAPMSCHAPv2' + :type authentication_method: str or + ~azure.mgmt.network.v2020_05_01.models.AuthenticationMethod + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns VpnProfileResponse or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.VpnProfileResponse] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.VpnProfileResponse]] + :raises: :class:`CloudError` + """ + raw_result = self._generate_vpn_profile_initial( + resource_group_name=resource_group_name, + gateway_name=gateway_name, + authentication_method=authentication_method, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('VpnProfileResponse', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + generate_vpn_profile.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/p2svpnGateways/{gatewayName}/generatevpnprofile'} + + + def _get_p2s_vpn_connection_health_initial( + self, resource_group_name, gateway_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.get_p2s_vpn_connection_health.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('P2SVpnGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def get_p2s_vpn_connection_health( + self, resource_group_name, gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Gets the connection health of P2S clients of the virtual wan + P2SVpnGateway in the specified resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param gateway_name: The name of the P2SVpnGateway. + :type gateway_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns P2SVpnGateway or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.P2SVpnGateway] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.P2SVpnGateway]] + :raises: :class:`CloudError` + """ + raw_result = self._get_p2s_vpn_connection_health_initial( + resource_group_name=resource_group_name, + gateway_name=gateway_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('P2SVpnGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + get_p2s_vpn_connection_health.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/p2svpnGateways/{gatewayName}/getP2sVpnConnectionHealth'} + + + def _get_p2s_vpn_connection_health_detailed_initial( + self, resource_group_name, gateway_name, vpn_user_names_filter=None, output_blob_sas_url=None, custom_headers=None, raw=False, **operation_config): + request = models.P2SVpnConnectionHealthRequest(vpn_user_names_filter=vpn_user_names_filter, output_blob_sas_url=output_blob_sas_url) + + # Construct URL + url = self.get_p2s_vpn_connection_health_detailed.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(request, 'P2SVpnConnectionHealthRequest') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('P2SVpnConnectionHealth', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def get_p2s_vpn_connection_health_detailed( + self, resource_group_name, gateway_name, vpn_user_names_filter=None, output_blob_sas_url=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Gets the sas url to get the connection health detail of P2S clients of + the virtual wan P2SVpnGateway in the specified resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param gateway_name: The name of the P2SVpnGateway. + :type gateway_name: str + :param vpn_user_names_filter: The list of p2s vpn user names whose p2s + vpn connection detailed health to retrieve for. + :type vpn_user_names_filter: list[str] + :param output_blob_sas_url: The sas-url to download the P2S Vpn + connection health detail. + :type output_blob_sas_url: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns P2SVpnConnectionHealth + or ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.P2SVpnConnectionHealth] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.P2SVpnConnectionHealth]] + :raises: :class:`CloudError` + """ + raw_result = self._get_p2s_vpn_connection_health_detailed_initial( + resource_group_name=resource_group_name, + gateway_name=gateway_name, + vpn_user_names_filter=vpn_user_names_filter, + output_blob_sas_url=output_blob_sas_url, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('P2SVpnConnectionHealth', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + get_p2s_vpn_connection_health_detailed.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/p2svpnGateways/{gatewayName}/getP2sVpnConnectionHealthDetailed'} + + + def _disconnect_p2s_vpn_connections_initial( + self, resource_group_name, p2s_vpn_gateway_name, vpn_connection_ids=None, custom_headers=None, raw=False, **operation_config): + request = models.P2SVpnConnectionRequest(vpn_connection_ids=vpn_connection_ids) + + # Construct URL + url = self.disconnect_p2s_vpn_connections.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'p2sVpnGatewayName': self._serialize.url("p2s_vpn_gateway_name", p2s_vpn_gateway_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.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(request, 'P2SVpnConnectionRequest') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def disconnect_p2s_vpn_connections( + self, resource_group_name, p2s_vpn_gateway_name, vpn_connection_ids=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Disconnect P2S vpn connections of the virtual wan P2SVpnGateway in the + specified resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param p2s_vpn_gateway_name: The name of the P2S Vpn Gateway. + :type p2s_vpn_gateway_name: str + :param vpn_connection_ids: List of p2s vpn connection Ids. + :type vpn_connection_ids: list[str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._disconnect_p2s_vpn_connections_initial( + resource_group_name=resource_group_name, + p2s_vpn_gateway_name=p2s_vpn_gateway_name, + vpn_connection_ids=vpn_connection_ids, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + disconnect_p2s_vpn_connections.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/p2svpnGateways/{p2sVpnGatewayName}/disconnectP2sVpnConnections'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_packet_captures_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_packet_captures_operations.py new file mode 100644 index 00000000000..3c848092b06 --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_packet_captures_operations.py @@ -0,0 +1,543 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class PacketCapturesOperations(object): + """PacketCapturesOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + + def _create_initial( + self, resource_group_name, network_watcher_name, packet_capture_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), + 'packetCaptureName': self._serialize.url("packet_capture_name", packet_capture_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'PacketCapture') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [201]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 201: + deserialized = self._deserialize('PacketCaptureResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create( + self, resource_group_name, network_watcher_name, packet_capture_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Create and start a packet capture on the specified VM. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_watcher_name: The name of the network watcher. + :type network_watcher_name: str + :param packet_capture_name: The name of the packet capture session. + :type packet_capture_name: str + :param parameters: Parameters that define the create packet capture + operation. + :type parameters: ~azure.mgmt.network.v2020_05_01.models.PacketCapture + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns PacketCaptureResult or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.PacketCaptureResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.PacketCaptureResult]] + :raises: + :class:`ErrorResponseException` + """ + raw_result = self._create_initial( + resource_group_name=resource_group_name, + network_watcher_name=network_watcher_name, + packet_capture_name=packet_capture_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('PacketCaptureResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures/{packetCaptureName}'} + + def get( + self, resource_group_name, network_watcher_name, packet_capture_name, custom_headers=None, raw=False, **operation_config): + """Gets a packet capture session by name. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_watcher_name: The name of the network watcher. + :type network_watcher_name: str + :param packet_capture_name: The name of the packet capture session. + :type packet_capture_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PacketCaptureResult or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.PacketCaptureResult or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), + 'packetCaptureName': self._serialize.url("packet_capture_name", packet_capture_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('PacketCaptureResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures/{packetCaptureName}'} + + + def _delete_initial( + self, resource_group_name, network_watcher_name, packet_capture_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), + 'packetCaptureName': self._serialize.url("packet_capture_name", packet_capture_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [202, 204]: + raise models.ErrorResponseException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, network_watcher_name, packet_capture_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified packet capture session. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_watcher_name: The name of the network watcher. + :type network_watcher_name: str + :param packet_capture_name: The name of the packet capture session. + :type packet_capture_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: + :class:`ErrorResponseException` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + network_watcher_name=network_watcher_name, + packet_capture_name=packet_capture_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures/{packetCaptureName}'} + + + def _stop_initial( + self, resource_group_name, network_watcher_name, packet_capture_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.stop.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), + 'packetCaptureName': self._serialize.url("packet_capture_name", packet_capture_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + raise models.ErrorResponseException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def stop( + self, resource_group_name, network_watcher_name, packet_capture_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Stops a specified packet capture session. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_watcher_name: The name of the network watcher. + :type network_watcher_name: str + :param packet_capture_name: The name of the packet capture session. + :type packet_capture_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: + :class:`ErrorResponseException` + """ + raw_result = self._stop_initial( + resource_group_name=resource_group_name, + network_watcher_name=network_watcher_name, + packet_capture_name=packet_capture_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + stop.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures/{packetCaptureName}/stop'} + + + def _get_status_initial( + self, resource_group_name, network_watcher_name, packet_capture_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.get_status.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), + 'packetCaptureName': self._serialize.url("packet_capture_name", packet_capture_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('PacketCaptureQueryStatusResult', response) + if response.status_code == 202: + deserialized = self._deserialize('PacketCaptureQueryStatusResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def get_status( + self, resource_group_name, network_watcher_name, packet_capture_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Query the status of a running packet capture session. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_watcher_name: The name of the Network Watcher resource. + :type network_watcher_name: str + :param packet_capture_name: The name given to the packet capture + session. + :type packet_capture_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + PacketCaptureQueryStatusResult or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.PacketCaptureQueryStatusResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.PacketCaptureQueryStatusResult]] + :raises: + :class:`ErrorResponseException` + """ + raw_result = self._get_status_initial( + resource_group_name=resource_group_name, + network_watcher_name=network_watcher_name, + packet_capture_name=packet_capture_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('PacketCaptureQueryStatusResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + get_status.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures/{packetCaptureName}/queryStatus'} + + def list( + self, resource_group_name, network_watcher_name, custom_headers=None, raw=False, **operation_config): + """Lists all packet capture sessions within the specified resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_watcher_name: The name of the Network Watcher resource. + :type network_watcher_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of PacketCaptureResult + :rtype: + ~azure.mgmt.network.v2020_05_01.models.PacketCaptureResultPaged[~azure.mgmt.network.v2020_05_01.models.PacketCaptureResult] + :raises: + :class:`ErrorResponseException` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.PacketCaptureResultPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_peer_express_route_circuit_connections_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_peer_express_route_circuit_connections_operations.py new file mode 100644 index 00000000000..0b563dca68f --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_peer_express_route_circuit_connections_operations.py @@ -0,0 +1,188 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class PeerExpressRouteCircuitConnectionsOperations(object): + """PeerExpressRouteCircuitConnectionsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + def get( + self, resource_group_name, circuit_name, peering_name, connection_name, custom_headers=None, raw=False, **operation_config): + """Gets the specified Peer Express Route Circuit Connection from the + specified express route circuit. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param circuit_name: The name of the express route circuit. + :type circuit_name: str + :param peering_name: The name of the peering. + :type peering_name: str + :param connection_name: The name of the peer express route circuit + connection. + :type connection_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PeerExpressRouteCircuitConnection or ClientRawResponse if + raw=true + :rtype: + ~azure.mgmt.network.v2020_05_01.models.PeerExpressRouteCircuitConnection + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), + 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), + 'connectionName': self._serialize.url("connection_name", connection_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('PeerExpressRouteCircuitConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/peerConnections/{connectionName}'} + + def list( + self, resource_group_name, circuit_name, peering_name, custom_headers=None, raw=False, **operation_config): + """Gets all global reach peer connections associated with a private + peering in an express route circuit. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param circuit_name: The name of the circuit. + :type circuit_name: str + :param peering_name: The name of the peering. + :type peering_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of + PeerExpressRouteCircuitConnection + :rtype: + ~azure.mgmt.network.v2020_05_01.models.PeerExpressRouteCircuitConnectionPaged[~azure.mgmt.network.v2020_05_01.models.PeerExpressRouteCircuitConnection] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), + 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.PeerExpressRouteCircuitConnectionPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/peerConnections'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_private_dns_zone_groups_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_private_dns_zone_groups_operations.py new file mode 100644 index 00000000000..b9d6a933023 --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_private_dns_zone_groups_operations.py @@ -0,0 +1,373 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class PrivateDnsZoneGroupsOperations(object): + """PrivateDnsZoneGroupsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, private_endpoint_name, private_dns_zone_group_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'privateEndpointName': self._serialize.url("private_endpoint_name", private_endpoint_name, 'str'), + 'privateDnsZoneGroupName': self._serialize.url("private_dns_zone_group_name", private_dns_zone_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, private_endpoint_name, private_dns_zone_group_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified private dns zone group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param private_endpoint_name: The name of the private endpoint. + :type private_endpoint_name: str + :param private_dns_zone_group_name: The name of the private dns zone + group. + :type private_dns_zone_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + private_endpoint_name=private_endpoint_name, + private_dns_zone_group_name=private_dns_zone_group_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints/{privateEndpointName}/privateDnsZoneGroups/{privateDnsZoneGroupName}'} + + def get( + self, resource_group_name, private_endpoint_name, private_dns_zone_group_name, custom_headers=None, raw=False, **operation_config): + """Gets the private dns zone group resource by specified private dns zone + group name. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param private_endpoint_name: The name of the private endpoint. + :type private_endpoint_name: str + :param private_dns_zone_group_name: The name of the private dns zone + group. + :type private_dns_zone_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PrivateDnsZoneGroup or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.PrivateDnsZoneGroup or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'privateEndpointName': self._serialize.url("private_endpoint_name", private_endpoint_name, 'str'), + 'privateDnsZoneGroupName': self._serialize.url("private_dns_zone_group_name", private_dns_zone_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('PrivateDnsZoneGroup', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints/{privateEndpointName}/privateDnsZoneGroups/{privateDnsZoneGroupName}'} + + + def _create_or_update_initial( + self, resource_group_name, private_endpoint_name, private_dns_zone_group_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'privateEndpointName': self._serialize.url("private_endpoint_name", private_endpoint_name, 'str'), + 'privateDnsZoneGroupName': self._serialize.url("private_dns_zone_group_name", private_dns_zone_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'PrivateDnsZoneGroup') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('PrivateDnsZoneGroup', response) + if response.status_code == 201: + deserialized = self._deserialize('PrivateDnsZoneGroup', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, private_endpoint_name, private_dns_zone_group_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a private dns zone group in the specified private + endpoint. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param private_endpoint_name: The name of the private endpoint. + :type private_endpoint_name: str + :param private_dns_zone_group_name: The name of the private dns zone + group. + :type private_dns_zone_group_name: str + :param parameters: Parameters supplied to the create or update private + dns zone group operation. + :type parameters: + ~azure.mgmt.network.v2020_05_01.models.PrivateDnsZoneGroup + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns PrivateDnsZoneGroup or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.PrivateDnsZoneGroup] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.PrivateDnsZoneGroup]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + private_endpoint_name=private_endpoint_name, + private_dns_zone_group_name=private_dns_zone_group_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('PrivateDnsZoneGroup', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints/{privateEndpointName}/privateDnsZoneGroups/{privateDnsZoneGroupName}'} + + def list( + self, private_endpoint_name, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Gets all private dns zone groups in a private endpoint. + + :param private_endpoint_name: The name of the private endpoint. + :type private_endpoint_name: str + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of PrivateDnsZoneGroup + :rtype: + ~azure.mgmt.network.v2020_05_01.models.PrivateDnsZoneGroupPaged[~azure.mgmt.network.v2020_05_01.models.PrivateDnsZoneGroup] + :raises: + :class:`ErrorException` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'privateEndpointName': self._serialize.url("private_endpoint_name", private_endpoint_name, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorException(self._deserialize, response) + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.PrivateDnsZoneGroupPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints/{privateEndpointName}/privateDnsZoneGroups'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_private_endpoints_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_private_endpoints_operations.py new file mode 100644 index 00000000000..8e80db21733 --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_private_endpoints_operations.py @@ -0,0 +1,419 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class PrivateEndpointsOperations(object): + """PrivateEndpointsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, private_endpoint_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'privateEndpointName': self._serialize.url("private_endpoint_name", private_endpoint_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + raise models.ErrorException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, private_endpoint_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified private endpoint. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param private_endpoint_name: The name of the private endpoint. + :type private_endpoint_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: + :class:`ErrorException` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + private_endpoint_name=private_endpoint_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints/{privateEndpointName}'} + + def get( + self, resource_group_name, private_endpoint_name, expand=None, custom_headers=None, raw=False, **operation_config): + """Gets the specified private endpoint by resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param private_endpoint_name: The name of the private endpoint. + :type private_endpoint_name: str + :param expand: Expands referenced resources. + :type expand: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PrivateEndpoint or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.PrivateEndpoint or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorException` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'privateEndpointName': self._serialize.url("private_endpoint_name", private_endpoint_name, 'str'), + '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.api_version", self.api_version, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('PrivateEndpoint', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints/{privateEndpointName}'} + + + def _create_or_update_initial( + self, resource_group_name, private_endpoint_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'privateEndpointName': self._serialize.url("private_endpoint_name", private_endpoint_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'PrivateEndpoint') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + raise models.ErrorException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('PrivateEndpoint', response) + if response.status_code == 201: + deserialized = self._deserialize('PrivateEndpoint', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, private_endpoint_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates an private endpoint in the specified resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param private_endpoint_name: The name of the private endpoint. + :type private_endpoint_name: str + :param parameters: Parameters supplied to the create or update private + endpoint operation. + :type parameters: + ~azure.mgmt.network.v2020_05_01.models.PrivateEndpoint + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns PrivateEndpoint or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.PrivateEndpoint] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.PrivateEndpoint]] + :raises: + :class:`ErrorException` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + private_endpoint_name=private_endpoint_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('PrivateEndpoint', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints/{privateEndpointName}'} + + def list( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Gets all private endpoints in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of PrivateEndpoint + :rtype: + ~azure.mgmt.network.v2020_05_01.models.PrivateEndpointPaged[~azure.mgmt.network.v2020_05_01.models.PrivateEndpoint] + :raises: + :class:`ErrorException` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorException(self._deserialize, response) + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.PrivateEndpointPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints'} + + def list_by_subscription( + self, custom_headers=None, raw=False, **operation_config): + """Gets all private endpoints in a subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of PrivateEndpoint + :rtype: + ~azure.mgmt.network.v2020_05_01.models.PrivateEndpointPaged[~azure.mgmt.network.v2020_05_01.models.PrivateEndpoint] + :raises: + :class:`ErrorException` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_subscription.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorException(self._deserialize, response) + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.PrivateEndpointPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/privateEndpoints'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_private_link_services_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_private_link_services_operations.py new file mode 100644 index 00000000000..7d148994c14 --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_private_link_services_operations.py @@ -0,0 +1,1006 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class PrivateLinkServicesOperations(object): + """PrivateLinkServicesOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, service_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + raise models.ErrorException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, service_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified private link service. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param service_name: The name of the private link service. + :type service_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: + :class:`ErrorException` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + service_name=service_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateLinkServices/{serviceName}'} + + def get( + self, resource_group_name, service_name, expand=None, custom_headers=None, raw=False, **operation_config): + """Gets the specified private link service by resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param service_name: The name of the private link service. + :type service_name: str + :param expand: Expands referenced resources. + :type expand: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PrivateLinkService or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.PrivateLinkService or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorException` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + '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.api_version", self.api_version, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('PrivateLinkService', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateLinkServices/{serviceName}'} + + + def _create_or_update_initial( + self, resource_group_name, service_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'PrivateLinkService') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + raise models.ErrorException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('PrivateLinkService', response) + if response.status_code == 201: + deserialized = self._deserialize('PrivateLinkService', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, service_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates an private link service in the specified resource + group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param service_name: The name of the private link service. + :type service_name: str + :param parameters: Parameters supplied to the create or update private + link service operation. + :type parameters: + ~azure.mgmt.network.v2020_05_01.models.PrivateLinkService + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns PrivateLinkService or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.PrivateLinkService] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.PrivateLinkService]] + :raises: + :class:`ErrorException` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + service_name=service_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('PrivateLinkService', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateLinkServices/{serviceName}'} + + def list( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Gets all private link services in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of PrivateLinkService + :rtype: + ~azure.mgmt.network.v2020_05_01.models.PrivateLinkServicePaged[~azure.mgmt.network.v2020_05_01.models.PrivateLinkService] + :raises: + :class:`ErrorException` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorException(self._deserialize, response) + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.PrivateLinkServicePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateLinkServices'} + + def list_by_subscription( + self, custom_headers=None, raw=False, **operation_config): + """Gets all private link service in a subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of PrivateLinkService + :rtype: + ~azure.mgmt.network.v2020_05_01.models.PrivateLinkServicePaged[~azure.mgmt.network.v2020_05_01.models.PrivateLinkService] + :raises: + :class:`ErrorException` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_subscription.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorException(self._deserialize, response) + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.PrivateLinkServicePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/privateLinkServices'} + + def get_private_endpoint_connection( + self, resource_group_name, service_name, pe_connection_name, expand=None, custom_headers=None, raw=False, **operation_config): + """Get the specific private end point connection by specific private link + service in the resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param service_name: The name of the private link service. + :type service_name: str + :param pe_connection_name: The name of the private end point + connection. + :type pe_connection_name: str + :param expand: Expands referenced resources. + :type expand: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PrivateEndpointConnection or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.network.v2020_05_01.models.PrivateEndpointConnection or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorException` + """ + # Construct URL + url = self.get_private_endpoint_connection.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'peConnectionName': self._serialize.url("pe_connection_name", pe_connection_name, 'str'), + '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.api_version", self.api_version, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('PrivateEndpointConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_private_endpoint_connection.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateLinkServices/{serviceName}/privateEndpointConnections/{peConnectionName}'} + + def update_private_endpoint_connection( + self, resource_group_name, service_name, pe_connection_name, parameters, custom_headers=None, raw=False, **operation_config): + """Approve or reject private end point connection for a private link + service in a subscription. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param service_name: The name of the private link service. + :type service_name: str + :param pe_connection_name: The name of the private end point + connection. + :type pe_connection_name: str + :param parameters: Parameters supplied to approve or reject the + private end point connection. + :type parameters: + ~azure.mgmt.network.v2020_05_01.models.PrivateEndpointConnection + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PrivateEndpointConnection or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.network.v2020_05_01.models.PrivateEndpointConnection or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorException` + """ + # Construct URL + url = self.update_private_endpoint_connection.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'peConnectionName': self._serialize.url("pe_connection_name", pe_connection_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'PrivateEndpointConnection') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('PrivateEndpointConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_private_endpoint_connection.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateLinkServices/{serviceName}/privateEndpointConnections/{peConnectionName}'} + + + def _delete_private_endpoint_connection_initial( + self, resource_group_name, service_name, pe_connection_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete_private_endpoint_connection.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'peConnectionName': self._serialize.url("pe_connection_name", pe_connection_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + raise models.ErrorException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete_private_endpoint_connection( + self, resource_group_name, service_name, pe_connection_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Delete private end point connection for a private link service in a + subscription. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param service_name: The name of the private link service. + :type service_name: str + :param pe_connection_name: The name of the private end point + connection. + :type pe_connection_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: + :class:`ErrorException` + """ + raw_result = self._delete_private_endpoint_connection_initial( + resource_group_name=resource_group_name, + service_name=service_name, + pe_connection_name=pe_connection_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete_private_endpoint_connection.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateLinkServices/{serviceName}/privateEndpointConnections/{peConnectionName}'} + + def list_private_endpoint_connections( + self, resource_group_name, service_name, custom_headers=None, raw=False, **operation_config): + """Gets all private end point connections for a specific private link + service. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param service_name: The name of the private link service. + :type service_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of PrivateEndpointConnection + :rtype: + ~azure.mgmt.network.v2020_05_01.models.PrivateEndpointConnectionPaged[~azure.mgmt.network.v2020_05_01.models.PrivateEndpointConnection] + :raises: + :class:`ErrorException` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_private_endpoint_connections.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorException(self._deserialize, response) + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.PrivateEndpointConnectionPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_private_endpoint_connections.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateLinkServices/{serviceName}/privateEndpointConnections'} + + def check_private_link_service_visibility( + self, location, private_link_service_alias=None, custom_headers=None, raw=False, **operation_config): + """Checks whether the subscription is visible to private link service. + + :param location: The location of the domain name. + :type location: str + :param private_link_service_alias: The alias of the private link + service. + :type private_link_service_alias: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PrivateLinkServiceVisibility or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.network.v2020_05_01.models.PrivateLinkServiceVisibility or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + parameters = models.CheckPrivateLinkServiceVisibilityRequest(private_link_service_alias=private_link_service_alias) + + # Construct URL + url = self.check_private_link_service_visibility.metadata['url'] + path_format_arguments = { + 'location': self._serialize.url("location", location, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'CheckPrivateLinkServiceVisibilityRequest') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('PrivateLinkServiceVisibility', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + check_private_link_service_visibility.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/checkPrivateLinkServiceVisibility'} + + def check_private_link_service_visibility_by_resource_group( + self, location, resource_group_name, private_link_service_alias=None, custom_headers=None, raw=False, **operation_config): + """Checks whether the subscription is visible to private link service in + the specified resource group. + + :param location: The location of the domain name. + :type location: str + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param private_link_service_alias: The alias of the private link + service. + :type private_link_service_alias: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PrivateLinkServiceVisibility or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.network.v2020_05_01.models.PrivateLinkServiceVisibility or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + parameters = models.CheckPrivateLinkServiceVisibilityRequest(private_link_service_alias=private_link_service_alias) + + # Construct URL + url = self.check_private_link_service_visibility_by_resource_group.metadata['url'] + path_format_arguments = { + 'location': self._serialize.url("location", location, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'CheckPrivateLinkServiceVisibilityRequest') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('PrivateLinkServiceVisibility', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + check_private_link_service_visibility_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/locations/{location}/checkPrivateLinkServiceVisibility'} + + def list_auto_approved_private_link_services( + self, location, custom_headers=None, raw=False, **operation_config): + """Returns all of the private link service ids that can be linked to a + Private Endpoint with auto approved in this subscription in this + region. + + :param location: The location of the domain name. + :type location: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of AutoApprovedPrivateLinkService + :rtype: + ~azure.mgmt.network.v2020_05_01.models.AutoApprovedPrivateLinkServicePaged[~azure.mgmt.network.v2020_05_01.models.AutoApprovedPrivateLinkService] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_auto_approved_private_link_services.metadata['url'] + path_format_arguments = { + 'location': self._serialize.url("location", location, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.AutoApprovedPrivateLinkServicePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_auto_approved_private_link_services.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/autoApprovedPrivateLinkServices'} + + def list_auto_approved_private_link_services_by_resource_group( + self, location, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Returns all of the private link service ids that can be linked to a + Private Endpoint with auto approved in this subscription in this + region. + + :param location: The location of the domain name. + :type location: str + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of AutoApprovedPrivateLinkService + :rtype: + ~azure.mgmt.network.v2020_05_01.models.AutoApprovedPrivateLinkServicePaged[~azure.mgmt.network.v2020_05_01.models.AutoApprovedPrivateLinkService] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_auto_approved_private_link_services_by_resource_group.metadata['url'] + path_format_arguments = { + 'location': self._serialize.url("location", location, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.AutoApprovedPrivateLinkServicePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_auto_approved_private_link_services_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/locations/{location}/autoApprovedPrivateLinkServices'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_public_ip_addresses_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_public_ip_addresses_operations.py new file mode 100644 index 00000000000..764b91d70ea --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_public_ip_addresses_operations.py @@ -0,0 +1,745 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class PublicIPAddressesOperations(object): + """PublicIPAddressesOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + + self.config = config + + + def _delete_initial( + self, resource_group_name, public_ip_address_name, custom_headers=None, raw=False, **operation_config): + api_version = "2020-05-01" + + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'publicIpAddressName': self._serialize.url("public_ip_address_name", public_ip_address_name, 'str'), + '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("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, public_ip_address_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified public IP address. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param public_ip_address_name: The name of the subnet. + :type public_ip_address_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + public_ip_address_name=public_ip_address_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses/{publicIpAddressName}'} + + def get( + self, resource_group_name, public_ip_address_name, expand=None, custom_headers=None, raw=False, **operation_config): + """Gets the specified public IP address in a specified resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param public_ip_address_name: The name of the subnet. + :type public_ip_address_name: str + :param expand: Expands referenced resources. + :type expand: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PublicIPAddress or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.PublicIPAddress or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + api_version = "2020-05-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'publicIpAddressName': self._serialize.url("public_ip_address_name", public_ip_address_name, 'str'), + '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("api_version", api_version, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('PublicIPAddress', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses/{publicIpAddressName}'} + + + def _create_or_update_initial( + self, resource_group_name, public_ip_address_name, parameters, custom_headers=None, raw=False, **operation_config): + api_version = "2020-05-01" + + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'publicIpAddressName': self._serialize.url("public_ip_address_name", public_ip_address_name, 'str'), + '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("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'PublicIPAddress') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('PublicIPAddress', response) + if response.status_code == 201: + deserialized = self._deserialize('PublicIPAddress', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, public_ip_address_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a static or dynamic public IP address. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param public_ip_address_name: The name of the public IP address. + :type public_ip_address_name: str + :param parameters: Parameters supplied to the create or update public + IP address operation. + :type parameters: + ~azure.mgmt.network.v2020_05_01.models.PublicIPAddress + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns PublicIPAddress or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.PublicIPAddress] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.PublicIPAddress]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + public_ip_address_name=public_ip_address_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('PublicIPAddress', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses/{publicIpAddressName}'} + + def update_tags( + self, resource_group_name, public_ip_address_name, tags=None, custom_headers=None, raw=False, **operation_config): + """Updates public IP address tags. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param public_ip_address_name: The name of the public IP address. + :type public_ip_address_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PublicIPAddress or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.PublicIPAddress or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + parameters = models.TagsObject(tags=tags) + + api_version = "2020-05-01" + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'publicIpAddressName': self._serialize.url("public_ip_address_name", public_ip_address_name, 'str'), + '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("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('PublicIPAddress', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses/{publicIpAddressName}'} + + def list_all( + self, custom_headers=None, raw=False, **operation_config): + """Gets all the public IP addresses in a subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of PublicIPAddress + :rtype: + ~azure.mgmt.network.v2020_05_01.models.PublicIPAddressPaged[~azure.mgmt.network.v2020_05_01.models.PublicIPAddress] + :raises: :class:`CloudError` + """ + api_version = "2020-05-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_all.metadata['url'] + path_format_arguments = { + '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("api_version", api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.PublicIPAddressPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/publicIPAddresses'} + + def list( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Gets all public IP addresses in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of PublicIPAddress + :rtype: + ~azure.mgmt.network.v2020_05_01.models.PublicIPAddressPaged[~azure.mgmt.network.v2020_05_01.models.PublicIPAddress] + :raises: :class:`CloudError` + """ + api_version = "2020-05-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + '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("api_version", api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.PublicIPAddressPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses'} + + def list_virtual_machine_scale_set_public_ip_addresses( + self, resource_group_name, virtual_machine_scale_set_name, custom_headers=None, raw=False, **operation_config): + """Gets information about all public IP addresses on a virtual machine + scale set level. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_machine_scale_set_name: The name of the virtual machine + scale set. + :type virtual_machine_scale_set_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of PublicIPAddress + :rtype: + ~azure.mgmt.network.v2020_05_01.models.PublicIPAddressPaged[~azure.mgmt.network.v2020_05_01.models.PublicIPAddress] + :raises: :class:`CloudError` + """ + api_version = "2018-10-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_virtual_machine_scale_set_public_ip_addresses.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineScaleSetName': self._serialize.url("virtual_machine_scale_set_name", virtual_machine_scale_set_name, 'str'), + '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("api_version", api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.PublicIPAddressPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_virtual_machine_scale_set_public_ip_addresses.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/publicipaddresses'} + + def list_virtual_machine_scale_set_vm_public_ip_addresses( + self, resource_group_name, virtual_machine_scale_set_name, virtualmachine_index, network_interface_name, ip_configuration_name, custom_headers=None, raw=False, **operation_config): + """Gets information about all public IP addresses in a virtual machine IP + configuration in a virtual machine scale set. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_machine_scale_set_name: The name of the virtual machine + scale set. + :type virtual_machine_scale_set_name: str + :param virtualmachine_index: The virtual machine index. + :type virtualmachine_index: str + :param network_interface_name: The network interface name. + :type network_interface_name: str + :param ip_configuration_name: The IP configuration name. + :type ip_configuration_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of PublicIPAddress + :rtype: + ~azure.mgmt.network.v2020_05_01.models.PublicIPAddressPaged[~azure.mgmt.network.v2020_05_01.models.PublicIPAddress] + :raises: :class:`CloudError` + """ + api_version = "2018-10-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_virtual_machine_scale_set_vm_public_ip_addresses.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineScaleSetName': self._serialize.url("virtual_machine_scale_set_name", virtual_machine_scale_set_name, 'str'), + 'virtualmachineIndex': self._serialize.url("virtualmachine_index", virtualmachine_index, 'str'), + 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), + 'ipConfigurationName': self._serialize.url("ip_configuration_name", ip_configuration_name, 'str'), + '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("api_version", api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.PublicIPAddressPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_virtual_machine_scale_set_vm_public_ip_addresses.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}/ipconfigurations/{ipConfigurationName}/publicipaddresses'} + + def get_virtual_machine_scale_set_public_ip_address( + self, resource_group_name, virtual_machine_scale_set_name, virtualmachine_index, network_interface_name, ip_configuration_name, public_ip_address_name, expand=None, custom_headers=None, raw=False, **operation_config): + """Get the specified public IP address in a virtual machine scale set. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_machine_scale_set_name: The name of the virtual machine + scale set. + :type virtual_machine_scale_set_name: str + :param virtualmachine_index: The virtual machine index. + :type virtualmachine_index: str + :param network_interface_name: The name of the network interface. + :type network_interface_name: str + :param ip_configuration_name: The name of the IP configuration. + :type ip_configuration_name: str + :param public_ip_address_name: The name of the public IP Address. + :type public_ip_address_name: str + :param expand: Expands referenced resources. + :type expand: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PublicIPAddress or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.PublicIPAddress or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + api_version = "2018-10-01" + + # Construct URL + url = self.get_virtual_machine_scale_set_public_ip_address.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineScaleSetName': self._serialize.url("virtual_machine_scale_set_name", virtual_machine_scale_set_name, 'str'), + 'virtualmachineIndex': self._serialize.url("virtualmachine_index", virtualmachine_index, 'str'), + 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), + 'ipConfigurationName': self._serialize.url("ip_configuration_name", ip_configuration_name, 'str'), + 'publicIpAddressName': self._serialize.url("public_ip_address_name", public_ip_address_name, 'str'), + '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("api_version", api_version, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('PublicIPAddress', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_virtual_machine_scale_set_public_ip_address.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}/ipconfigurations/{ipConfigurationName}/publicipaddresses/{publicIpAddressName}'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_public_ip_prefixes_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_public_ip_prefixes_operations.py new file mode 100644 index 00000000000..985d86b141c --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_public_ip_prefixes_operations.py @@ -0,0 +1,494 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class PublicIPPrefixesOperations(object): + """PublicIPPrefixesOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, public_ip_prefix_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'publicIpPrefixName': self._serialize.url("public_ip_prefix_name", public_ip_prefix_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, public_ip_prefix_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified public IP prefix. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param public_ip_prefix_name: The name of the PublicIpPrefix. + :type public_ip_prefix_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + public_ip_prefix_name=public_ip_prefix_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIpPrefixName}'} + + def get( + self, resource_group_name, public_ip_prefix_name, expand=None, custom_headers=None, raw=False, **operation_config): + """Gets the specified public IP prefix in a specified resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param public_ip_prefix_name: The name of the public IP prefix. + :type public_ip_prefix_name: str + :param expand: Expands referenced resources. + :type expand: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PublicIPPrefix or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.PublicIPPrefix or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'publicIpPrefixName': self._serialize.url("public_ip_prefix_name", public_ip_prefix_name, 'str'), + '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.api_version", self.api_version, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('PublicIPPrefix', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIpPrefixName}'} + + + def _create_or_update_initial( + self, resource_group_name, public_ip_prefix_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'publicIpPrefixName': self._serialize.url("public_ip_prefix_name", public_ip_prefix_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'PublicIPPrefix') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('PublicIPPrefix', response) + if response.status_code == 201: + deserialized = self._deserialize('PublicIPPrefix', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, public_ip_prefix_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a static or dynamic public IP prefix. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param public_ip_prefix_name: The name of the public IP prefix. + :type public_ip_prefix_name: str + :param parameters: Parameters supplied to the create or update public + IP prefix operation. + :type parameters: + ~azure.mgmt.network.v2020_05_01.models.PublicIPPrefix + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns PublicIPPrefix or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.PublicIPPrefix] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.PublicIPPrefix]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + public_ip_prefix_name=public_ip_prefix_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('PublicIPPrefix', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIpPrefixName}'} + + def update_tags( + self, resource_group_name, public_ip_prefix_name, tags=None, custom_headers=None, raw=False, **operation_config): + """Updates public IP prefix tags. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param public_ip_prefix_name: The name of the public IP prefix. + :type public_ip_prefix_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PublicIPPrefix or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.PublicIPPrefix or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'publicIpPrefixName': self._serialize.url("public_ip_prefix_name", public_ip_prefix_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('PublicIPPrefix', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIpPrefixName}'} + + def list_all( + self, custom_headers=None, raw=False, **operation_config): + """Gets all the public IP prefixes in a subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of PublicIPPrefix + :rtype: + ~azure.mgmt.network.v2020_05_01.models.PublicIPPrefixPaged[~azure.mgmt.network.v2020_05_01.models.PublicIPPrefix] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_all.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.PublicIPPrefixPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/publicIPPrefixes'} + + def list( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Gets all public IP prefixes in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of PublicIPPrefix + :rtype: + ~azure.mgmt.network.v2020_05_01.models.PublicIPPrefixPaged[~azure.mgmt.network.v2020_05_01.models.PublicIPPrefix] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.PublicIPPrefixPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_resource_navigation_links_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_resource_navigation_links_operations.py new file mode 100644 index 00000000000..e735a775118 --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_resource_navigation_links_operations.py @@ -0,0 +1,106 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class ResourceNavigationLinksOperations(object): + """ResourceNavigationLinksOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + def list( + self, resource_group_name, virtual_network_name, subnet_name, custom_headers=None, raw=False, **operation_config): + """Gets a list of resource navigation links for a subnet. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_name: The name of the virtual network. + :type virtual_network_name: str + :param subnet_name: The name of the subnet. + :type subnet_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ResourceNavigationLinksListResult or ClientRawResponse if + raw=true + :rtype: + ~azure.mgmt.network.v2020_05_01.models.ResourceNavigationLinksListResult + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), + 'subnetName': self._serialize.url("subnet_name", subnet_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ResourceNavigationLinksListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}/ResourceNavigationLinks'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_route_filter_rules_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_route_filter_rules_operations.py new file mode 100644 index 00000000000..de848e46ec6 --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_route_filter_rules_operations.py @@ -0,0 +1,369 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class RouteFilterRulesOperations(object): + """RouteFilterRulesOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, route_filter_name, rule_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'routeFilterName': self._serialize.url("route_filter_name", route_filter_name, 'str'), + 'ruleName': self._serialize.url("rule_name", rule_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, route_filter_name, rule_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified rule from a route filter. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param route_filter_name: The name of the route filter. + :type route_filter_name: str + :param rule_name: The name of the rule. + :type rule_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + route_filter_name=route_filter_name, + rule_name=rule_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}/routeFilterRules/{ruleName}'} + + def get( + self, resource_group_name, route_filter_name, rule_name, custom_headers=None, raw=False, **operation_config): + """Gets the specified rule from a route filter. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param route_filter_name: The name of the route filter. + :type route_filter_name: str + :param rule_name: The name of the rule. + :type rule_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: RouteFilterRule or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.RouteFilterRule or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'routeFilterName': self._serialize.url("route_filter_name", route_filter_name, 'str'), + 'ruleName': self._serialize.url("rule_name", rule_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('RouteFilterRule', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}/routeFilterRules/{ruleName}'} + + + def _create_or_update_initial( + self, resource_group_name, route_filter_name, rule_name, route_filter_rule_parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'routeFilterName': self._serialize.url("route_filter_name", route_filter_name, 'str'), + 'ruleName': self._serialize.url("rule_name", rule_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(route_filter_rule_parameters, 'RouteFilterRule') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('RouteFilterRule', response) + if response.status_code == 201: + deserialized = self._deserialize('RouteFilterRule', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, route_filter_name, rule_name, route_filter_rule_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a route in the specified route filter. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param route_filter_name: The name of the route filter. + :type route_filter_name: str + :param rule_name: The name of the route filter rule. + :type rule_name: str + :param route_filter_rule_parameters: Parameters supplied to the create + or update route filter rule operation. + :type route_filter_rule_parameters: + ~azure.mgmt.network.v2020_05_01.models.RouteFilterRule + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns RouteFilterRule or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.RouteFilterRule] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.RouteFilterRule]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + route_filter_name=route_filter_name, + rule_name=rule_name, + route_filter_rule_parameters=route_filter_rule_parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('RouteFilterRule', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}/routeFilterRules/{ruleName}'} + + def list_by_route_filter( + self, resource_group_name, route_filter_name, custom_headers=None, raw=False, **operation_config): + """Gets all RouteFilterRules in a route filter. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param route_filter_name: The name of the route filter. + :type route_filter_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of RouteFilterRule + :rtype: + ~azure.mgmt.network.v2020_05_01.models.RouteFilterRulePaged[~azure.mgmt.network.v2020_05_01.models.RouteFilterRule] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_route_filter.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'routeFilterName': self._serialize.url("route_filter_name", route_filter_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.RouteFilterRulePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_route_filter.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}/routeFilterRules'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_route_filters_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_route_filters_operations.py new file mode 100644 index 00000000000..e18fd2b0446 --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_route_filters_operations.py @@ -0,0 +1,494 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class RouteFiltersOperations(object): + """RouteFiltersOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, route_filter_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'routeFilterName': self._serialize.url("route_filter_name", route_filter_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, route_filter_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified route filter. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param route_filter_name: The name of the route filter. + :type route_filter_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + route_filter_name=route_filter_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}'} + + def get( + self, resource_group_name, route_filter_name, expand=None, custom_headers=None, raw=False, **operation_config): + """Gets the specified route filter. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param route_filter_name: The name of the route filter. + :type route_filter_name: str + :param expand: Expands referenced express route bgp peering resources. + :type expand: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: RouteFilter or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.RouteFilter or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'routeFilterName': self._serialize.url("route_filter_name", route_filter_name, 'str'), + '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.api_version", self.api_version, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('RouteFilter', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}'} + + + def _create_or_update_initial( + self, resource_group_name, route_filter_name, route_filter_parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'routeFilterName': self._serialize.url("route_filter_name", route_filter_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(route_filter_parameters, 'RouteFilter') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('RouteFilter', response) + if response.status_code == 201: + deserialized = self._deserialize('RouteFilter', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, route_filter_name, route_filter_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a route filter in a specified resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param route_filter_name: The name of the route filter. + :type route_filter_name: str + :param route_filter_parameters: Parameters supplied to the create or + update route filter operation. + :type route_filter_parameters: + ~azure.mgmt.network.v2020_05_01.models.RouteFilter + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns RouteFilter or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.RouteFilter] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.RouteFilter]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + route_filter_name=route_filter_name, + route_filter_parameters=route_filter_parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('RouteFilter', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}'} + + def update_tags( + self, resource_group_name, route_filter_name, tags=None, custom_headers=None, raw=False, **operation_config): + """Updates tags of a route filter. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param route_filter_name: The name of the route filter. + :type route_filter_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: RouteFilter or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.RouteFilter or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'routeFilterName': self._serialize.url("route_filter_name", route_filter_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('RouteFilter', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}'} + + def list_by_resource_group( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Gets all route filters in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of RouteFilter + :rtype: + ~azure.mgmt.network.v2020_05_01.models.RouteFilterPaged[~azure.mgmt.network.v2020_05_01.models.RouteFilter] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.RouteFilterPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters'} + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Gets all route filters in a subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of RouteFilter + :rtype: + ~azure.mgmt.network.v2020_05_01.models.RouteFilterPaged[~azure.mgmt.network.v2020_05_01.models.RouteFilter] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.RouteFilterPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/routeFilters'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_route_tables_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_route_tables_operations.py new file mode 100644 index 00000000000..ff1f46e79ae --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_route_tables_operations.py @@ -0,0 +1,493 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class RouteTablesOperations(object): + """RouteTablesOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, route_table_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'routeTableName': self._serialize.url("route_table_name", route_table_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, route_table_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified route table. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param route_table_name: The name of the route table. + :type route_table_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + route_table_name=route_table_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}'} + + def get( + self, resource_group_name, route_table_name, expand=None, custom_headers=None, raw=False, **operation_config): + """Gets the specified route table. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param route_table_name: The name of the route table. + :type route_table_name: str + :param expand: Expands referenced resources. + :type expand: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: RouteTable or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.RouteTable or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'routeTableName': self._serialize.url("route_table_name", route_table_name, 'str'), + '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.api_version", self.api_version, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('RouteTable', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}'} + + + def _create_or_update_initial( + self, resource_group_name, route_table_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'routeTableName': self._serialize.url("route_table_name", route_table_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'RouteTable') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('RouteTable', response) + if response.status_code == 201: + deserialized = self._deserialize('RouteTable', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, route_table_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Create or updates a route table in a specified resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param route_table_name: The name of the route table. + :type route_table_name: str + :param parameters: Parameters supplied to the create or update route + table operation. + :type parameters: ~azure.mgmt.network.v2020_05_01.models.RouteTable + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns RouteTable or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.RouteTable] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.RouteTable]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + route_table_name=route_table_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('RouteTable', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}'} + + def update_tags( + self, resource_group_name, route_table_name, tags=None, custom_headers=None, raw=False, **operation_config): + """Updates a route table tags. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param route_table_name: The name of the route table. + :type route_table_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: RouteTable or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.RouteTable or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'routeTableName': self._serialize.url("route_table_name", route_table_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('RouteTable', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}'} + + def list( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Gets all route tables in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of RouteTable + :rtype: + ~azure.mgmt.network.v2020_05_01.models.RouteTablePaged[~azure.mgmt.network.v2020_05_01.models.RouteTable] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.RouteTablePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables'} + + def list_all( + self, custom_headers=None, raw=False, **operation_config): + """Gets all route tables in a subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of RouteTable + :rtype: + ~azure.mgmt.network.v2020_05_01.models.RouteTablePaged[~azure.mgmt.network.v2020_05_01.models.RouteTable] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_all.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.RouteTablePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/routeTables'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_routes_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_routes_operations.py new file mode 100644 index 00000000000..610de9917e9 --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_routes_operations.py @@ -0,0 +1,368 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class RoutesOperations(object): + """RoutesOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, route_table_name, route_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'routeTableName': self._serialize.url("route_table_name", route_table_name, 'str'), + 'routeName': self._serialize.url("route_name", route_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, route_table_name, route_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified route from a route table. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param route_table_name: The name of the route table. + :type route_table_name: str + :param route_name: The name of the route. + :type route_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + route_table_name=route_table_name, + route_name=route_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}/routes/{routeName}'} + + def get( + self, resource_group_name, route_table_name, route_name, custom_headers=None, raw=False, **operation_config): + """Gets the specified route from a route table. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param route_table_name: The name of the route table. + :type route_table_name: str + :param route_name: The name of the route. + :type route_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: Route or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.Route or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'routeTableName': self._serialize.url("route_table_name", route_table_name, 'str'), + 'routeName': self._serialize.url("route_name", route_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('Route', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}/routes/{routeName}'} + + + def _create_or_update_initial( + self, resource_group_name, route_table_name, route_name, route_parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'routeTableName': self._serialize.url("route_table_name", route_table_name, 'str'), + 'routeName': self._serialize.url("route_name", route_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(route_parameters, 'Route') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('Route', response) + if response.status_code == 201: + deserialized = self._deserialize('Route', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, route_table_name, route_name, route_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a route in the specified route table. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param route_table_name: The name of the route table. + :type route_table_name: str + :param route_name: The name of the route. + :type route_name: str + :param route_parameters: Parameters supplied to the create or update + route operation. + :type route_parameters: ~azure.mgmt.network.v2020_05_01.models.Route + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns Route or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.Route] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.Route]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + route_table_name=route_table_name, + route_name=route_name, + route_parameters=route_parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('Route', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}/routes/{routeName}'} + + def list( + self, resource_group_name, route_table_name, custom_headers=None, raw=False, **operation_config): + """Gets all routes in a route table. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param route_table_name: The name of the route table. + :type route_table_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of Route + :rtype: + ~azure.mgmt.network.v2020_05_01.models.RoutePaged[~azure.mgmt.network.v2020_05_01.models.Route] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'routeTableName': self._serialize.url("route_table_name", route_table_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.RoutePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}/routes'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_security_partner_providers_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_security_partner_providers_operations.py new file mode 100644 index 00000000000..4ce05dccc83 --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_security_partner_providers_operations.py @@ -0,0 +1,494 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class SecurityPartnerProvidersOperations(object): + """SecurityPartnerProvidersOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, security_partner_provider_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'securityPartnerProviderName': self._serialize.url("security_partner_provider_name", security_partner_provider_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, security_partner_provider_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified Security Partner Provider. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param security_partner_provider_name: The name of the Security + Partner Provider. + :type security_partner_provider_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + security_partner_provider_name=security_partner_provider_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/securityPartnerProviders/{securityPartnerProviderName}'} + + def get( + self, resource_group_name, security_partner_provider_name, custom_headers=None, raw=False, **operation_config): + """Gets the specified Security Partner Provider. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param security_partner_provider_name: The name of the Security + Partner Provider. + :type security_partner_provider_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: SecurityPartnerProvider or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.SecurityPartnerProvider + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'securityPartnerProviderName': self._serialize.url("security_partner_provider_name", security_partner_provider_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('SecurityPartnerProvider', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/securityPartnerProviders/{securityPartnerProviderName}'} + + + def _create_or_update_initial( + self, resource_group_name, security_partner_provider_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'securityPartnerProviderName': self._serialize.url("security_partner_provider_name", security_partner_provider_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'SecurityPartnerProvider') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('SecurityPartnerProvider', response) + if response.status_code == 201: + deserialized = self._deserialize('SecurityPartnerProvider', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, security_partner_provider_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates the specified Security Partner Provider. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param security_partner_provider_name: The name of the Security + Partner Provider. + :type security_partner_provider_name: str + :param parameters: Parameters supplied to the create or update + Security Partner Provider operation. + :type parameters: + ~azure.mgmt.network.v2020_05_01.models.SecurityPartnerProvider + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns SecurityPartnerProvider + or ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.SecurityPartnerProvider] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.SecurityPartnerProvider]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + security_partner_provider_name=security_partner_provider_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('SecurityPartnerProvider', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/securityPartnerProviders/{securityPartnerProviderName}'} + + def update_tags( + self, resource_group_name, security_partner_provider_name, tags=None, custom_headers=None, raw=False, **operation_config): + """Updates tags of a Security Partner Provider resource. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param security_partner_provider_name: The name of the Security + Partner Provider. + :type security_partner_provider_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: SecurityPartnerProvider or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.SecurityPartnerProvider + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'securityPartnerProviderName': self._serialize.url("security_partner_provider_name", security_partner_provider_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('SecurityPartnerProvider', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/securityPartnerProviders/{securityPartnerProviderName}'} + + def list_by_resource_group( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Lists all Security Partner Providers in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of SecurityPartnerProvider + :rtype: + ~azure.mgmt.network.v2020_05_01.models.SecurityPartnerProviderPaged[~azure.mgmt.network.v2020_05_01.models.SecurityPartnerProvider] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.SecurityPartnerProviderPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/securityPartnerProviders'} + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Gets all the Security Partner Providers in a subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of SecurityPartnerProvider + :rtype: + ~azure.mgmt.network.v2020_05_01.models.SecurityPartnerProviderPaged[~azure.mgmt.network.v2020_05_01.models.SecurityPartnerProvider] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.SecurityPartnerProviderPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/securityPartnerProviders'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_security_rules_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_security_rules_operations.py new file mode 100644 index 00000000000..0afe76246fd --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_security_rules_operations.py @@ -0,0 +1,374 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class SecurityRulesOperations(object): + """SecurityRulesOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, network_security_group_name, security_rule_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkSecurityGroupName': self._serialize.url("network_security_group_name", network_security_group_name, 'str'), + 'securityRuleName': self._serialize.url("security_rule_name", security_rule_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, network_security_group_name, security_rule_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified network security rule. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_security_group_name: The name of the network security + group. + :type network_security_group_name: str + :param security_rule_name: The name of the security rule. + :type security_rule_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + network_security_group_name=network_security_group_name, + security_rule_name=security_rule_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/securityRules/{securityRuleName}'} + + def get( + self, resource_group_name, network_security_group_name, security_rule_name, custom_headers=None, raw=False, **operation_config): + """Get the specified network security rule. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_security_group_name: The name of the network security + group. + :type network_security_group_name: str + :param security_rule_name: The name of the security rule. + :type security_rule_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: SecurityRule or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.SecurityRule or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkSecurityGroupName': self._serialize.url("network_security_group_name", network_security_group_name, 'str'), + 'securityRuleName': self._serialize.url("security_rule_name", security_rule_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('SecurityRule', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/securityRules/{securityRuleName}'} + + + def _create_or_update_initial( + self, resource_group_name, network_security_group_name, security_rule_name, security_rule_parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkSecurityGroupName': self._serialize.url("network_security_group_name", network_security_group_name, 'str'), + 'securityRuleName': self._serialize.url("security_rule_name", security_rule_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(security_rule_parameters, 'SecurityRule') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('SecurityRule', response) + if response.status_code == 201: + deserialized = self._deserialize('SecurityRule', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, network_security_group_name, security_rule_name, security_rule_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a security rule in the specified network security + group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_security_group_name: The name of the network security + group. + :type network_security_group_name: str + :param security_rule_name: The name of the security rule. + :type security_rule_name: str + :param security_rule_parameters: Parameters supplied to the create or + update network security rule operation. + :type security_rule_parameters: + ~azure.mgmt.network.v2020_05_01.models.SecurityRule + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns SecurityRule or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.SecurityRule] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.SecurityRule]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + network_security_group_name=network_security_group_name, + security_rule_name=security_rule_name, + security_rule_parameters=security_rule_parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('SecurityRule', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/securityRules/{securityRuleName}'} + + def list( + self, resource_group_name, network_security_group_name, custom_headers=None, raw=False, **operation_config): + """Gets all security rules in a network security group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_security_group_name: The name of the network security + group. + :type network_security_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of SecurityRule + :rtype: + ~azure.mgmt.network.v2020_05_01.models.SecurityRulePaged[~azure.mgmt.network.v2020_05_01.models.SecurityRule] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkSecurityGroupName': self._serialize.url("network_security_group_name", network_security_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.SecurityRulePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/securityRules'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_service_association_links_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_service_association_links_operations.py new file mode 100644 index 00000000000..18ae13c298f --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_service_association_links_operations.py @@ -0,0 +1,106 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class ServiceAssociationLinksOperations(object): + """ServiceAssociationLinksOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + def list( + self, resource_group_name, virtual_network_name, subnet_name, custom_headers=None, raw=False, **operation_config): + """Gets a list of service association links for a subnet. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_name: The name of the virtual network. + :type virtual_network_name: str + :param subnet_name: The name of the subnet. + :type subnet_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ServiceAssociationLinksListResult or ClientRawResponse if + raw=true + :rtype: + ~azure.mgmt.network.v2020_05_01.models.ServiceAssociationLinksListResult + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), + 'subnetName': self._serialize.url("subnet_name", subnet_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ServiceAssociationLinksListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}/ServiceAssociationLinks'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_service_endpoint_policies_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_service_endpoint_policies_operations.py new file mode 100644 index 00000000000..eafba560a0b --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_service_endpoint_policies_operations.py @@ -0,0 +1,499 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class ServiceEndpointPoliciesOperations(object): + """ServiceEndpointPoliciesOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, service_endpoint_policy_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceEndpointPolicyName': self._serialize.url("service_endpoint_policy_name", service_endpoint_policy_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, service_endpoint_policy_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified service endpoint policy. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param service_endpoint_policy_name: The name of the service endpoint + policy. + :type service_endpoint_policy_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + service_endpoint_policy_name=service_endpoint_policy_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/serviceEndpointPolicies/{serviceEndpointPolicyName}'} + + def get( + self, resource_group_name, service_endpoint_policy_name, expand=None, custom_headers=None, raw=False, **operation_config): + """Gets the specified service Endpoint Policies in a specified resource + group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param service_endpoint_policy_name: The name of the service endpoint + policy. + :type service_endpoint_policy_name: str + :param expand: Expands referenced resources. + :type expand: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ServiceEndpointPolicy or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.ServiceEndpointPolicy + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceEndpointPolicyName': self._serialize.url("service_endpoint_policy_name", service_endpoint_policy_name, 'str'), + '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.api_version", self.api_version, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ServiceEndpointPolicy', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/serviceEndpointPolicies/{serviceEndpointPolicyName}'} + + + def _create_or_update_initial( + self, resource_group_name, service_endpoint_policy_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceEndpointPolicyName': self._serialize.url("service_endpoint_policy_name", service_endpoint_policy_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'ServiceEndpointPolicy') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('ServiceEndpointPolicy', response) + if response.status_code == 201: + deserialized = self._deserialize('ServiceEndpointPolicy', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, service_endpoint_policy_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a service Endpoint Policies. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param service_endpoint_policy_name: The name of the service endpoint + policy. + :type service_endpoint_policy_name: str + :param parameters: Parameters supplied to the create or update service + endpoint policy operation. + :type parameters: + ~azure.mgmt.network.v2020_05_01.models.ServiceEndpointPolicy + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns ServiceEndpointPolicy + or ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.ServiceEndpointPolicy] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.ServiceEndpointPolicy]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + service_endpoint_policy_name=service_endpoint_policy_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ServiceEndpointPolicy', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/serviceEndpointPolicies/{serviceEndpointPolicyName}'} + + def update_tags( + self, resource_group_name, service_endpoint_policy_name, tags=None, custom_headers=None, raw=False, **operation_config): + """Updates tags of a service endpoint policy. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param service_endpoint_policy_name: The name of the service endpoint + policy. + :type service_endpoint_policy_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ServiceEndpointPolicy or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.ServiceEndpointPolicy + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceEndpointPolicyName': self._serialize.url("service_endpoint_policy_name", service_endpoint_policy_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ServiceEndpointPolicy', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/serviceEndpointPolicies/{serviceEndpointPolicyName}'} + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Gets all the service endpoint policies in a subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of ServiceEndpointPolicy + :rtype: + ~azure.mgmt.network.v2020_05_01.models.ServiceEndpointPolicyPaged[~azure.mgmt.network.v2020_05_01.models.ServiceEndpointPolicy] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.ServiceEndpointPolicyPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/ServiceEndpointPolicies'} + + def list_by_resource_group( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Gets all service endpoint Policies in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of ServiceEndpointPolicy + :rtype: + ~azure.mgmt.network.v2020_05_01.models.ServiceEndpointPolicyPaged[~azure.mgmt.network.v2020_05_01.models.ServiceEndpointPolicy] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.ServiceEndpointPolicyPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/serviceEndpointPolicies'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_service_endpoint_policy_definitions_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_service_endpoint_policy_definitions_operations.py new file mode 100644 index 00000000000..ffc963acbef --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_service_endpoint_policy_definitions_operations.py @@ -0,0 +1,382 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class ServiceEndpointPolicyDefinitionsOperations(object): + """ServiceEndpointPolicyDefinitionsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, service_endpoint_policy_name, service_endpoint_policy_definition_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceEndpointPolicyName': self._serialize.url("service_endpoint_policy_name", service_endpoint_policy_name, 'str'), + 'serviceEndpointPolicyDefinitionName': self._serialize.url("service_endpoint_policy_definition_name", service_endpoint_policy_definition_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, service_endpoint_policy_name, service_endpoint_policy_definition_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified ServiceEndpoint policy definitions. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param service_endpoint_policy_name: The name of the Service Endpoint + Policy. + :type service_endpoint_policy_name: str + :param service_endpoint_policy_definition_name: The name of the + service endpoint policy definition. + :type service_endpoint_policy_definition_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + service_endpoint_policy_name=service_endpoint_policy_name, + service_endpoint_policy_definition_name=service_endpoint_policy_definition_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/serviceEndpointPolicies/{serviceEndpointPolicyName}/serviceEndpointPolicyDefinitions/{serviceEndpointPolicyDefinitionName}'} + + def get( + self, resource_group_name, service_endpoint_policy_name, service_endpoint_policy_definition_name, custom_headers=None, raw=False, **operation_config): + """Get the specified service endpoint policy definitions from service + endpoint policy. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param service_endpoint_policy_name: The name of the service endpoint + policy name. + :type service_endpoint_policy_name: str + :param service_endpoint_policy_definition_name: The name of the + service endpoint policy definition name. + :type service_endpoint_policy_definition_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ServiceEndpointPolicyDefinition or ClientRawResponse if + raw=true + :rtype: + ~azure.mgmt.network.v2020_05_01.models.ServiceEndpointPolicyDefinition + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceEndpointPolicyName': self._serialize.url("service_endpoint_policy_name", service_endpoint_policy_name, 'str'), + 'serviceEndpointPolicyDefinitionName': self._serialize.url("service_endpoint_policy_definition_name", service_endpoint_policy_definition_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ServiceEndpointPolicyDefinition', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/serviceEndpointPolicies/{serviceEndpointPolicyName}/serviceEndpointPolicyDefinitions/{serviceEndpointPolicyDefinitionName}'} + + + def _create_or_update_initial( + self, resource_group_name, service_endpoint_policy_name, service_endpoint_policy_definition_name, service_endpoint_policy_definitions, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceEndpointPolicyName': self._serialize.url("service_endpoint_policy_name", service_endpoint_policy_name, 'str'), + 'serviceEndpointPolicyDefinitionName': self._serialize.url("service_endpoint_policy_definition_name", service_endpoint_policy_definition_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(service_endpoint_policy_definitions, 'ServiceEndpointPolicyDefinition') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('ServiceEndpointPolicyDefinition', response) + if response.status_code == 201: + deserialized = self._deserialize('ServiceEndpointPolicyDefinition', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, service_endpoint_policy_name, service_endpoint_policy_definition_name, service_endpoint_policy_definitions, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a service endpoint policy definition in the + specified service endpoint policy. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param service_endpoint_policy_name: The name of the service endpoint + policy. + :type service_endpoint_policy_name: str + :param service_endpoint_policy_definition_name: The name of the + service endpoint policy definition name. + :type service_endpoint_policy_definition_name: str + :param service_endpoint_policy_definitions: Parameters supplied to the + create or update service endpoint policy operation. + :type service_endpoint_policy_definitions: + ~azure.mgmt.network.v2020_05_01.models.ServiceEndpointPolicyDefinition + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + ServiceEndpointPolicyDefinition or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.ServiceEndpointPolicyDefinition] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.ServiceEndpointPolicyDefinition]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + service_endpoint_policy_name=service_endpoint_policy_name, + service_endpoint_policy_definition_name=service_endpoint_policy_definition_name, + service_endpoint_policy_definitions=service_endpoint_policy_definitions, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ServiceEndpointPolicyDefinition', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/serviceEndpointPolicies/{serviceEndpointPolicyName}/serviceEndpointPolicyDefinitions/{serviceEndpointPolicyDefinitionName}'} + + def list_by_resource_group( + self, resource_group_name, service_endpoint_policy_name, custom_headers=None, raw=False, **operation_config): + """Gets all service endpoint policy definitions in a service end point + policy. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param service_endpoint_policy_name: The name of the service endpoint + policy name. + :type service_endpoint_policy_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of ServiceEndpointPolicyDefinition + :rtype: + ~azure.mgmt.network.v2020_05_01.models.ServiceEndpointPolicyDefinitionPaged[~azure.mgmt.network.v2020_05_01.models.ServiceEndpointPolicyDefinition] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceEndpointPolicyName': self._serialize.url("service_endpoint_policy_name", service_endpoint_policy_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.ServiceEndpointPolicyDefinitionPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/serviceEndpointPolicies/{serviceEndpointPolicyName}/serviceEndpointPolicyDefinitions'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_service_tags_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_service_tags_operations.py new file mode 100644 index 00000000000..d60675444b3 --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_service_tags_operations.py @@ -0,0 +1,101 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class ServiceTagsOperations(object): + """ServiceTagsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + def list( + self, location, custom_headers=None, raw=False, **operation_config): + """Gets a list of service tag information resources. + + :param location: The location that will be used as a reference for + version (not as a filter based on location, you will get the list of + service tags with prefix details across all regions but limited to the + cloud that your subscription belongs to). + :type location: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ServiceTagsListResult or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.ServiceTagsListResult + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'location': self._serialize.url("location", location, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ServiceTagsListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/serviceTags'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_subnets_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_subnets_operations.py new file mode 100644 index 00000000000..37190fec29f --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_subnets_operations.py @@ -0,0 +1,563 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class SubnetsOperations(object): + """SubnetsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, virtual_network_name, subnet_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), + 'subnetName': self._serialize.url("subnet_name", subnet_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, virtual_network_name, subnet_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified subnet. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_name: The name of the virtual network. + :type virtual_network_name: str + :param subnet_name: The name of the subnet. + :type subnet_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + virtual_network_name=virtual_network_name, + subnet_name=subnet_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}'} + + def get( + self, resource_group_name, virtual_network_name, subnet_name, expand=None, custom_headers=None, raw=False, **operation_config): + """Gets the specified subnet by virtual network and resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_name: The name of the virtual network. + :type virtual_network_name: str + :param subnet_name: The name of the subnet. + :type subnet_name: str + :param expand: Expands referenced resources. + :type expand: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: Subnet or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.Subnet or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), + 'subnetName': self._serialize.url("subnet_name", subnet_name, 'str'), + '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.api_version", self.api_version, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('Subnet', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}'} + + + def _create_or_update_initial( + self, resource_group_name, virtual_network_name, subnet_name, subnet_parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), + 'subnetName': self._serialize.url("subnet_name", subnet_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(subnet_parameters, 'Subnet') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('Subnet', response) + if response.status_code == 201: + deserialized = self._deserialize('Subnet', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, virtual_network_name, subnet_name, subnet_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a subnet in the specified virtual network. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_name: The name of the virtual network. + :type virtual_network_name: str + :param subnet_name: The name of the subnet. + :type subnet_name: str + :param subnet_parameters: Parameters supplied to the create or update + subnet operation. + :type subnet_parameters: ~azure.mgmt.network.v2020_05_01.models.Subnet + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns Subnet or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.Subnet] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.Subnet]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + virtual_network_name=virtual_network_name, + subnet_name=subnet_name, + subnet_parameters=subnet_parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('Subnet', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}'} + + + def _prepare_network_policies_initial( + self, resource_group_name, virtual_network_name, subnet_name, service_name=None, network_intent_policy_configurations=None, custom_headers=None, raw=False, **operation_config): + prepare_network_policies_request_parameters = models.PrepareNetworkPoliciesRequest(service_name=service_name, network_intent_policy_configurations=network_intent_policy_configurations) + + # Construct URL + url = self.prepare_network_policies.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), + 'subnetName': self._serialize.url("subnet_name", subnet_name, 'str'), + '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.api_version", self.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(prepare_network_policies_request_parameters, 'PrepareNetworkPoliciesRequest') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def prepare_network_policies( + self, resource_group_name, virtual_network_name, subnet_name, service_name=None, network_intent_policy_configurations=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Prepares a subnet by applying network intent policies. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_name: The name of the virtual network. + :type virtual_network_name: str + :param subnet_name: The name of the subnet. + :type subnet_name: str + :param service_name: The name of the service for which subnet is being + prepared for. + :type service_name: str + :param network_intent_policy_configurations: A list of + NetworkIntentPolicyConfiguration. + :type network_intent_policy_configurations: + list[~azure.mgmt.network.v2020_05_01.models.NetworkIntentPolicyConfiguration] + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._prepare_network_policies_initial( + resource_group_name=resource_group_name, + virtual_network_name=virtual_network_name, + subnet_name=subnet_name, + service_name=service_name, + network_intent_policy_configurations=network_intent_policy_configurations, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + prepare_network_policies.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}/PrepareNetworkPolicies'} + + + def _unprepare_network_policies_initial( + self, resource_group_name, virtual_network_name, subnet_name, service_name=None, custom_headers=None, raw=False, **operation_config): + unprepare_network_policies_request_parameters = models.UnprepareNetworkPoliciesRequest(service_name=service_name) + + # Construct URL + url = self.unprepare_network_policies.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), + 'subnetName': self._serialize.url("subnet_name", subnet_name, 'str'), + '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.api_version", self.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(unprepare_network_policies_request_parameters, 'UnprepareNetworkPoliciesRequest') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def unprepare_network_policies( + self, resource_group_name, virtual_network_name, subnet_name, service_name=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Unprepares a subnet by removing network intent policies. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_name: The name of the virtual network. + :type virtual_network_name: str + :param subnet_name: The name of the subnet. + :type subnet_name: str + :param service_name: The name of the service for which subnet is being + unprepared for. + :type service_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._unprepare_network_policies_initial( + resource_group_name=resource_group_name, + virtual_network_name=virtual_network_name, + subnet_name=subnet_name, + service_name=service_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + unprepare_network_policies.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}/UnprepareNetworkPolicies'} + + def list( + self, resource_group_name, virtual_network_name, custom_headers=None, raw=False, **operation_config): + """Gets all subnets in a virtual network. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_name: The name of the virtual network. + :type virtual_network_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of Subnet + :rtype: + ~azure.mgmt.network.v2020_05_01.models.SubnetPaged[~azure.mgmt.network.v2020_05_01.models.Subnet] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.SubnetPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_usages_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_usages_operations.py new file mode 100644 index 00000000000..57ef8c07b7e --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_usages_operations.py @@ -0,0 +1,109 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class UsagesOperations(object): + """UsagesOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + def list( + self, location, custom_headers=None, raw=False, **operation_config): + """List network usages for a subscription. + + :param location: The location where resource usage is queried. + :type location: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of Usage + :rtype: + ~azure.mgmt.network.v2020_05_01.models.UsagePaged[~azure.mgmt.network.v2020_05_01.models.Usage] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'location': self._serialize.url("location", location, 'str', pattern=r'^[-\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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.UsagePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/usages'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_virtual_appliance_sites_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_virtual_appliance_sites_operations.py new file mode 100644 index 00000000000..6bf58e88876 --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_virtual_appliance_sites_operations.py @@ -0,0 +1,369 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class VirtualApplianceSitesOperations(object): + """VirtualApplianceSitesOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, network_virtual_appliance_name, site_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkVirtualApplianceName': self._serialize.url("network_virtual_appliance_name", network_virtual_appliance_name, 'str'), + 'siteName': self._serialize.url("site_name", site_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + raise models.ErrorException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, network_virtual_appliance_name, site_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified site from a Virtual Appliance. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_virtual_appliance_name: The name of the Network Virtual + Appliance. + :type network_virtual_appliance_name: str + :param site_name: The name of the site. + :type site_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: + :class:`ErrorException` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + network_virtual_appliance_name=network_virtual_appliance_name, + site_name=site_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkVirtualAppliances/{networkVirtualApplianceName}/virtualApplianceSites/{siteName}'} + + def get( + self, resource_group_name, network_virtual_appliance_name, site_name, custom_headers=None, raw=False, **operation_config): + """Gets the specified Virtual Appliance Site. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_virtual_appliance_name: The name of the Network Virtual + Appliance. + :type network_virtual_appliance_name: str + :param site_name: The name of the site. + :type site_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: VirtualApplianceSite or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.VirtualApplianceSite or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorException` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkVirtualApplianceName': self._serialize.url("network_virtual_appliance_name", network_virtual_appliance_name, 'str'), + 'siteName': self._serialize.url("site_name", site_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('VirtualApplianceSite', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkVirtualAppliances/{networkVirtualApplianceName}/virtualApplianceSites/{siteName}'} + + + def _create_or_update_initial( + self, resource_group_name, network_virtual_appliance_name, site_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkVirtualApplianceName': self._serialize.url("network_virtual_appliance_name", network_virtual_appliance_name, 'str'), + 'siteName': self._serialize.url("site_name", site_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'VirtualApplianceSite') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + raise models.ErrorException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('VirtualApplianceSite', response) + if response.status_code == 201: + deserialized = self._deserialize('VirtualApplianceSite', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, network_virtual_appliance_name, site_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates the specified Network Virtual Appliance Site. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_virtual_appliance_name: The name of the Network Virtual + Appliance. + :type network_virtual_appliance_name: str + :param site_name: The name of the site. + :type site_name: str + :param parameters: Parameters supplied to the create or update Network + Virtual Appliance Site operation. + :type parameters: + ~azure.mgmt.network.v2020_05_01.models.VirtualApplianceSite + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns VirtualApplianceSite or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.VirtualApplianceSite] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.VirtualApplianceSite]] + :raises: + :class:`ErrorException` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + network_virtual_appliance_name=network_virtual_appliance_name, + site_name=site_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('VirtualApplianceSite', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkVirtualAppliances/{networkVirtualApplianceName}/virtualApplianceSites/{siteName}'} + + def list( + self, resource_group_name, network_virtual_appliance_name, custom_headers=None, raw=False, **operation_config): + """Lists all Network Virtual Appliance Sites in a Network Virtual + Appliance resource. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_virtual_appliance_name: The name of the Network Virtual + Appliance. + :type network_virtual_appliance_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of VirtualApplianceSite + :rtype: + ~azure.mgmt.network.v2020_05_01.models.VirtualApplianceSitePaged[~azure.mgmt.network.v2020_05_01.models.VirtualApplianceSite] + :raises: + :class:`ErrorException` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkVirtualApplianceName': self._serialize.url("network_virtual_appliance_name", network_virtual_appliance_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorException(self._deserialize, response) + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.VirtualApplianceSitePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkVirtualAppliances/{networkVirtualApplianceName}/virtualApplianceSites'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_virtual_appliance_skus_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_virtual_appliance_skus_operations.py new file mode 100644 index 00000000000..97fb0653ea5 --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_virtual_appliance_skus_operations.py @@ -0,0 +1,165 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class VirtualApplianceSkusOperations(object): + """VirtualApplianceSkusOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + def list( + self, custom_headers=None, raw=False, **operation_config): + """List all SKUs available for a virtual appliance. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of NetworkVirtualApplianceSku + :rtype: + ~azure.mgmt.network.v2020_05_01.models.NetworkVirtualApplianceSkuPaged[~azure.mgmt.network.v2020_05_01.models.NetworkVirtualApplianceSku] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.NetworkVirtualApplianceSkuPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkVirtualApplianceSkus'} + + def get( + self, sku_name, custom_headers=None, raw=False, **operation_config): + """Retrieves a single available sku for network virtual appliance. + + :param sku_name: Name of the Sku. + :type sku_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: NetworkVirtualApplianceSku or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.network.v2020_05_01.models.NetworkVirtualApplianceSku or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'skuName': self._serialize.url("sku_name", sku_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('NetworkVirtualApplianceSku', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkVirtualApplianceSkus/{skuName}'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_virtual_hub_bgp_connection_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_virtual_hub_bgp_connection_operations.py new file mode 100644 index 00000000000..5224c24aa2c --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_virtual_hub_bgp_connection_operations.py @@ -0,0 +1,293 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class VirtualHubBgpConnectionOperations(object): + """VirtualHubBgpConnectionOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + def get( + self, resource_group_name, virtual_hub_name, connection_name, custom_headers=None, raw=False, **operation_config): + """Retrieves the details of a Virtual Hub Bgp Connection. + + :param resource_group_name: The resource group name of the VirtualHub. + :type resource_group_name: str + :param virtual_hub_name: The name of the VirtualHub. + :type virtual_hub_name: str + :param connection_name: The name of the connection. + :type connection_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: BgpConnection or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.BgpConnection or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorException` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualHubName': self._serialize.url("virtual_hub_name", virtual_hub_name, 'str'), + 'connectionName': self._serialize.url("connection_name", connection_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('BgpConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}/bgpConnections/{connectionName}'} + + + def _create_or_update_initial( + self, resource_group_name, virtual_hub_name, connection_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualHubName': self._serialize.url("virtual_hub_name", virtual_hub_name, 'str'), + 'connectionName': self._serialize.url("connection_name", connection_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'BgpConnection') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + raise models.ErrorException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('BgpConnection', response) + if response.status_code == 201: + deserialized = self._deserialize('BgpConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, virtual_hub_name, connection_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates a VirtualHubBgpConnection resource if it doesn't exist else + updates the existing VirtualHubBgpConnection. + + :param resource_group_name: The resource group name of the VirtualHub. + :type resource_group_name: str + :param virtual_hub_name: The name of the VirtualHub. + :type virtual_hub_name: str + :param connection_name: The name of the connection. + :type connection_name: str + :param parameters: Parameters of Bgp connection. + :type parameters: ~azure.mgmt.network.v2020_05_01.models.BgpConnection + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns BgpConnection or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.BgpConnection] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.BgpConnection]] + :raises: + :class:`ErrorException` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + virtual_hub_name=virtual_hub_name, + connection_name=connection_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('BgpConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}/bgpConnections/{connectionName}'} + + + def _delete_initial( + self, resource_group_name, virtual_hub_name, connection_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualHubName': self._serialize.url("virtual_hub_name", virtual_hub_name, 'str'), + 'connectionName': self._serialize.url("connection_name", connection_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + raise models.ErrorException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, virtual_hub_name, connection_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes a VirtualHubBgpConnection. + + :param resource_group_name: The resource group name of the + VirtualHubBgpConnection. + :type resource_group_name: str + :param virtual_hub_name: The name of the VirtualHub. + :type virtual_hub_name: str + :param connection_name: The name of the connection. + :type connection_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: + :class:`ErrorException` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + virtual_hub_name=virtual_hub_name, + connection_name=connection_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}/bgpConnections/{connectionName}'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_virtual_hub_bgp_connections_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_virtual_hub_bgp_connections_operations.py new file mode 100644 index 00000000000..1f5a520197f --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_virtual_hub_bgp_connections_operations.py @@ -0,0 +1,112 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class VirtualHubBgpConnectionsOperations(object): + """VirtualHubBgpConnectionsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + def list( + self, resource_group_name, virtual_hub_name, custom_headers=None, raw=False, **operation_config): + """Retrieves the details of all VirtualHubBgpConnections. + + :param resource_group_name: The resource group name of the VirtualHub. + :type resource_group_name: str + :param virtual_hub_name: The name of the VirtualHub. + :type virtual_hub_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of BgpConnection + :rtype: + ~azure.mgmt.network.v2020_05_01.models.BgpConnectionPaged[~azure.mgmt.network.v2020_05_01.models.BgpConnection] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualHubName': self._serialize.url("virtual_hub_name", virtual_hub_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.BgpConnectionPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}/bgpConnections'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_virtual_hub_ip_configuration_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_virtual_hub_ip_configuration_operations.py new file mode 100644 index 00000000000..23a20b7d48a --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_virtual_hub_ip_configuration_operations.py @@ -0,0 +1,367 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class VirtualHubIpConfigurationOperations(object): + """VirtualHubIpConfigurationOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + def get( + self, resource_group_name, virtual_hub_name, ip_config_name, custom_headers=None, raw=False, **operation_config): + """Retrieves the details of a Virtual Hub Ip configuration. + + :param resource_group_name: The resource group name of the VirtualHub. + :type resource_group_name: str + :param virtual_hub_name: The name of the VirtualHub. + :type virtual_hub_name: str + :param ip_config_name: The name of the ipconfig. + :type ip_config_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: HubIpConfiguration or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.HubIpConfiguration or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorException` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualHubName': self._serialize.url("virtual_hub_name", virtual_hub_name, 'str'), + 'ipConfigName': self._serialize.url("ip_config_name", ip_config_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('HubIpConfiguration', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}/ipConfigurations/{ipConfigName}'} + + + def _create_or_update_initial( + self, resource_group_name, virtual_hub_name, ip_config_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualHubName': self._serialize.url("virtual_hub_name", virtual_hub_name, 'str'), + 'ipConfigName': self._serialize.url("ip_config_name", ip_config_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'HubIpConfiguration') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + raise models.ErrorException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('HubIpConfiguration', response) + if response.status_code == 201: + deserialized = self._deserialize('HubIpConfiguration', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, virtual_hub_name, ip_config_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates a VirtualHubIpConfiguration resource if it doesn't exist else + updates the existing VirtualHubIpConfiguration. + + :param resource_group_name: The resource group name of the VirtualHub. + :type resource_group_name: str + :param virtual_hub_name: The name of the VirtualHub. + :type virtual_hub_name: str + :param ip_config_name: The name of the ipconfig. + :type ip_config_name: str + :param parameters: Hub Ip Configuration parameters. + :type parameters: + ~azure.mgmt.network.v2020_05_01.models.HubIpConfiguration + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns HubIpConfiguration or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.HubIpConfiguration] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.HubIpConfiguration]] + :raises: + :class:`ErrorException` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + virtual_hub_name=virtual_hub_name, + ip_config_name=ip_config_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('HubIpConfiguration', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}/ipConfigurations/{ipConfigName}'} + + + def _delete_initial( + self, resource_group_name, virtual_hub_name, ip_config_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualHubName': self._serialize.url("virtual_hub_name", virtual_hub_name, 'str'), + 'ipConfigName': self._serialize.url("ip_config_name", ip_config_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + raise models.ErrorException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, virtual_hub_name, ip_config_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes a VirtualHubIpConfiguration. + + :param resource_group_name: The resource group name of the + VirtualHubBgpConnection. + :type resource_group_name: str + :param virtual_hub_name: The name of the VirtualHub. + :type virtual_hub_name: str + :param ip_config_name: The name of the ipconfig. + :type ip_config_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: + :class:`ErrorException` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + virtual_hub_name=virtual_hub_name, + ip_config_name=ip_config_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}/ipConfigurations/{ipConfigName}'} + + def list( + self, resource_group_name, virtual_hub_name, custom_headers=None, raw=False, **operation_config): + """Retrieves the details of all VirtualHubIpConfigurations. + + :param resource_group_name: The resource group name of the VirtualHub. + :type resource_group_name: str + :param virtual_hub_name: The name of the VirtualHub. + :type virtual_hub_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of HubIpConfiguration + :rtype: + ~azure.mgmt.network.v2020_05_01.models.HubIpConfigurationPaged[~azure.mgmt.network.v2020_05_01.models.HubIpConfiguration] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualHubName': self._serialize.url("virtual_hub_name", virtual_hub_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.HubIpConfigurationPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}/ipConfigurations'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_virtual_hub_route_table_v2s_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_virtual_hub_route_table_v2s_operations.py new file mode 100644 index 00000000000..47327317c0f --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_virtual_hub_route_table_v2s_operations.py @@ -0,0 +1,369 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class VirtualHubRouteTableV2sOperations(object): + """VirtualHubRouteTableV2sOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + def get( + self, resource_group_name, virtual_hub_name, route_table_name, custom_headers=None, raw=False, **operation_config): + """Retrieves the details of a VirtualHubRouteTableV2. + + :param resource_group_name: The resource group name of the + VirtualHubRouteTableV2. + :type resource_group_name: str + :param virtual_hub_name: The name of the VirtualHub. + :type virtual_hub_name: str + :param route_table_name: The name of the VirtualHubRouteTableV2. + :type route_table_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: VirtualHubRouteTableV2 or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.VirtualHubRouteTableV2 + or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorException` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualHubName': self._serialize.url("virtual_hub_name", virtual_hub_name, 'str'), + 'routeTableName': self._serialize.url("route_table_name", route_table_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('VirtualHubRouteTableV2', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}/routeTables/{routeTableName}'} + + + def _create_or_update_initial( + self, resource_group_name, virtual_hub_name, route_table_name, virtual_hub_route_table_v2_parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualHubName': self._serialize.url("virtual_hub_name", virtual_hub_name, 'str'), + 'routeTableName': self._serialize.url("route_table_name", route_table_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(virtual_hub_route_table_v2_parameters, 'VirtualHubRouteTableV2') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + raise models.ErrorException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('VirtualHubRouteTableV2', response) + if response.status_code == 201: + deserialized = self._deserialize('VirtualHubRouteTableV2', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, virtual_hub_name, route_table_name, virtual_hub_route_table_v2_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates a VirtualHubRouteTableV2 resource if it doesn't exist else + updates the existing VirtualHubRouteTableV2. + + :param resource_group_name: The resource group name of the VirtualHub. + :type resource_group_name: str + :param virtual_hub_name: The name of the VirtualHub. + :type virtual_hub_name: str + :param route_table_name: The name of the VirtualHubRouteTableV2. + :type route_table_name: str + :param virtual_hub_route_table_v2_parameters: Parameters supplied to + create or update VirtualHubRouteTableV2. + :type virtual_hub_route_table_v2_parameters: + ~azure.mgmt.network.v2020_05_01.models.VirtualHubRouteTableV2 + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns VirtualHubRouteTableV2 + or ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.VirtualHubRouteTableV2] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.VirtualHubRouteTableV2]] + :raises: + :class:`ErrorException` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + virtual_hub_name=virtual_hub_name, + route_table_name=route_table_name, + virtual_hub_route_table_v2_parameters=virtual_hub_route_table_v2_parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('VirtualHubRouteTableV2', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}/routeTables/{routeTableName}'} + + + def _delete_initial( + self, resource_group_name, virtual_hub_name, route_table_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualHubName': self._serialize.url("virtual_hub_name", virtual_hub_name, 'str'), + 'routeTableName': self._serialize.url("route_table_name", route_table_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + raise models.ErrorException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, virtual_hub_name, route_table_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes a VirtualHubRouteTableV2. + + :param resource_group_name: The resource group name of the + VirtualHubRouteTableV2. + :type resource_group_name: str + :param virtual_hub_name: The name of the VirtualHub. + :type virtual_hub_name: str + :param route_table_name: The name of the VirtualHubRouteTableV2. + :type route_table_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: + :class:`ErrorException` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + virtual_hub_name=virtual_hub_name, + route_table_name=route_table_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}/routeTables/{routeTableName}'} + + def list( + self, resource_group_name, virtual_hub_name, custom_headers=None, raw=False, **operation_config): + """Retrieves the details of all VirtualHubRouteTableV2s. + + :param resource_group_name: The resource group name of the VirtualHub. + :type resource_group_name: str + :param virtual_hub_name: The name of the VirtualHub. + :type virtual_hub_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of VirtualHubRouteTableV2 + :rtype: + ~azure.mgmt.network.v2020_05_01.models.VirtualHubRouteTableV2Paged[~azure.mgmt.network.v2020_05_01.models.VirtualHubRouteTableV2] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualHubName': self._serialize.url("virtual_hub_name", virtual_hub_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.VirtualHubRouteTableV2Paged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}/routeTables'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_virtual_hubs_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_virtual_hubs_operations.py new file mode 100644 index 00000000000..748ae9bd507 --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_virtual_hubs_operations.py @@ -0,0 +1,591 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class VirtualHubsOperations(object): + """VirtualHubsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + def get( + self, resource_group_name, virtual_hub_name, custom_headers=None, raw=False, **operation_config): + """Retrieves the details of a VirtualHub. + + :param resource_group_name: The resource group name of the VirtualHub. + :type resource_group_name: str + :param virtual_hub_name: The name of the VirtualHub. + :type virtual_hub_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: VirtualHub or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.VirtualHub or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualHubName': self._serialize.url("virtual_hub_name", virtual_hub_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('VirtualHub', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}'} + + + def _create_or_update_initial( + self, resource_group_name, virtual_hub_name, virtual_hub_parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualHubName': self._serialize.url("virtual_hub_name", virtual_hub_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(virtual_hub_parameters, 'VirtualHub') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('VirtualHub', response) + if response.status_code == 201: + deserialized = self._deserialize('VirtualHub', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, virtual_hub_name, virtual_hub_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates a VirtualHub resource if it doesn't exist else updates the + existing VirtualHub. + + :param resource_group_name: The resource group name of the VirtualHub. + :type resource_group_name: str + :param virtual_hub_name: The name of the VirtualHub. + :type virtual_hub_name: str + :param virtual_hub_parameters: Parameters supplied to create or update + VirtualHub. + :type virtual_hub_parameters: + ~azure.mgmt.network.v2020_05_01.models.VirtualHub + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns VirtualHub or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.VirtualHub] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.VirtualHub]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + virtual_hub_name=virtual_hub_name, + virtual_hub_parameters=virtual_hub_parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('VirtualHub', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}'} + + def update_tags( + self, resource_group_name, virtual_hub_name, tags=None, custom_headers=None, raw=False, **operation_config): + """Updates VirtualHub tags. + + :param resource_group_name: The resource group name of the VirtualHub. + :type resource_group_name: str + :param virtual_hub_name: The name of the VirtualHub. + :type virtual_hub_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: VirtualHub or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.VirtualHub or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + virtual_hub_parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualHubName': self._serialize.url("virtual_hub_name", virtual_hub_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(virtual_hub_parameters, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('VirtualHub', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}'} + + + def _delete_initial( + self, resource_group_name, virtual_hub_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualHubName': self._serialize.url("virtual_hub_name", virtual_hub_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, virtual_hub_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes a VirtualHub. + + :param resource_group_name: The resource group name of the VirtualHub. + :type resource_group_name: str + :param virtual_hub_name: The name of the VirtualHub. + :type virtual_hub_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + virtual_hub_name=virtual_hub_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}'} + + def list_by_resource_group( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Lists all the VirtualHubs in a resource group. + + :param resource_group_name: The resource group name of the VirtualHub. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of VirtualHub + :rtype: + ~azure.mgmt.network.v2020_05_01.models.VirtualHubPaged[~azure.mgmt.network.v2020_05_01.models.VirtualHub] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.VirtualHubPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs'} + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Lists all the VirtualHubs in a subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of VirtualHub + :rtype: + ~azure.mgmt.network.v2020_05_01.models.VirtualHubPaged[~azure.mgmt.network.v2020_05_01.models.VirtualHub] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.VirtualHubPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/virtualHubs'} + + + def _get_effective_virtual_hub_routes_initial( + self, resource_group_name, virtual_hub_name, resource_id=None, virtual_wan_resource_type=None, custom_headers=None, raw=False, **operation_config): + effective_routes_parameters = None + if resource_id is not None or virtual_wan_resource_type is not None: + effective_routes_parameters = models.EffectiveRoutesParameters(resource_id=resource_id, virtual_wan_resource_type=virtual_wan_resource_type) + + # Construct URL + url = self.get_effective_virtual_hub_routes.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualHubName': self._serialize.url("virtual_hub_name", virtual_hub_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.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 + if effective_routes_parameters is not None: + body_content = self._serialize.body(effective_routes_parameters, 'EffectiveRoutesParameters') + else: + body_content = None + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def get_effective_virtual_hub_routes( + self, resource_group_name, virtual_hub_name, resource_id=None, virtual_wan_resource_type=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Gets the effective routes configured for the Virtual Hub resource or + the specified resource . + + :param resource_group_name: The resource group name of the VirtualHub. + :type resource_group_name: str + :param virtual_hub_name: The name of the VirtualHub. + :type virtual_hub_name: str + :param resource_id: The resource whose effective routes are being + requested. + :type resource_id: ~azure.mgmt.network.v2020_05_01.models.Resource + :param virtual_wan_resource_type: The type of the specified resource + like RouteTable, ExpressRouteConnection, HubVirtualNetworkConnection, + VpnConnection and P2SConnection. + :type virtual_wan_resource_type: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._get_effective_virtual_hub_routes_initial( + resource_group_name=resource_group_name, + virtual_hub_name=virtual_hub_name, + resource_id=resource_id, + virtual_wan_resource_type=virtual_wan_resource_type, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + get_effective_virtual_hub_routes.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}/effectiveRoutes'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_virtual_network_gateway_connections_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_virtual_network_gateway_connections_operations.py new file mode 100644 index 00000000000..e34703924d8 --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_virtual_network_gateway_connections_operations.py @@ -0,0 +1,958 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class VirtualNetworkGatewayConnectionsOperations(object): + """VirtualNetworkGatewayConnectionsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + + def _create_or_update_initial( + self, resource_group_name, virtual_network_gateway_connection_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayConnectionName': self._serialize.url("virtual_network_gateway_connection_name", virtual_network_gateway_connection_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'VirtualNetworkGatewayConnection') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('VirtualNetworkGatewayConnection', response) + if response.status_code == 201: + deserialized = self._deserialize('VirtualNetworkGatewayConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, virtual_network_gateway_connection_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a virtual network gateway connection in the + specified resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_connection_name: The name of the + virtual network gateway connection. + :type virtual_network_gateway_connection_name: str + :param parameters: Parameters supplied to the create or update virtual + network gateway connection operation. + :type parameters: + ~azure.mgmt.network.v2020_05_01.models.VirtualNetworkGatewayConnection + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + VirtualNetworkGatewayConnection or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.VirtualNetworkGatewayConnection] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.VirtualNetworkGatewayConnection]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + virtual_network_gateway_connection_name=virtual_network_gateway_connection_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('VirtualNetworkGatewayConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}'} + + def get( + self, resource_group_name, virtual_network_gateway_connection_name, custom_headers=None, raw=False, **operation_config): + """Gets the specified virtual network gateway connection by resource + group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_connection_name: The name of the + virtual network gateway connection. + :type virtual_network_gateway_connection_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: VirtualNetworkGatewayConnection or ClientRawResponse if + raw=true + :rtype: + ~azure.mgmt.network.v2020_05_01.models.VirtualNetworkGatewayConnection + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayConnectionName': self._serialize.url("virtual_network_gateway_connection_name", virtual_network_gateway_connection_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('VirtualNetworkGatewayConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}'} + + + def _delete_initial( + self, resource_group_name, virtual_network_gateway_connection_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayConnectionName': self._serialize.url("virtual_network_gateway_connection_name", virtual_network_gateway_connection_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, virtual_network_gateway_connection_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified virtual network Gateway connection. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_connection_name: The name of the + virtual network gateway connection. + :type virtual_network_gateway_connection_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + virtual_network_gateway_connection_name=virtual_network_gateway_connection_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}'} + + + def _update_tags_initial( + self, resource_group_name, virtual_network_gateway_connection_name, tags=None, custom_headers=None, raw=False, **operation_config): + parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayConnectionName': self._serialize.url("virtual_network_gateway_connection_name", virtual_network_gateway_connection_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('VirtualNetworkGatewayConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def update_tags( + self, resource_group_name, virtual_network_gateway_connection_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Updates a virtual network gateway connection tags. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_connection_name: The name of the + virtual network gateway connection. + :type virtual_network_gateway_connection_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + VirtualNetworkGatewayConnection or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.VirtualNetworkGatewayConnection] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.VirtualNetworkGatewayConnection]] + :raises: :class:`CloudError` + """ + raw_result = self._update_tags_initial( + resource_group_name=resource_group_name, + virtual_network_gateway_connection_name=virtual_network_gateway_connection_name, + tags=tags, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('VirtualNetworkGatewayConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}'} + + + def _set_shared_key_initial( + self, resource_group_name, virtual_network_gateway_connection_name, value, id=None, custom_headers=None, raw=False, **operation_config): + parameters = models.ConnectionSharedKey(id=id, value=value) + + # Construct URL + url = self.set_shared_key.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayConnectionName': self._serialize.url("virtual_network_gateway_connection_name", virtual_network_gateway_connection_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'ConnectionSharedKey') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('ConnectionSharedKey', response) + if response.status_code == 201: + deserialized = self._deserialize('ConnectionSharedKey', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def set_shared_key( + self, resource_group_name, virtual_network_gateway_connection_name, value, id=None, custom_headers=None, raw=False, polling=True, **operation_config): + """The Put VirtualNetworkGatewayConnectionSharedKey operation sets the + virtual network gateway connection shared key for passed virtual + network gateway connection in the specified resource group through + Network resource provider. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_connection_name: The virtual network + gateway connection name. + :type virtual_network_gateway_connection_name: str + :param value: The virtual network connection shared key value. + :type value: str + :param id: Resource ID. + :type id: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns ConnectionSharedKey or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.ConnectionSharedKey] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.ConnectionSharedKey]] + :raises: :class:`CloudError` + """ + raw_result = self._set_shared_key_initial( + resource_group_name=resource_group_name, + virtual_network_gateway_connection_name=virtual_network_gateway_connection_name, + value=value, + id=id, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ConnectionSharedKey', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + set_shared_key.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/sharedkey'} + + def get_shared_key( + self, resource_group_name, virtual_network_gateway_connection_name, custom_headers=None, raw=False, **operation_config): + """The Get VirtualNetworkGatewayConnectionSharedKey operation retrieves + information about the specified virtual network gateway connection + shared key through Network resource provider. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_connection_name: The virtual network + gateway connection shared key name. + :type virtual_network_gateway_connection_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ConnectionSharedKey or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.ConnectionSharedKey or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_shared_key.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayConnectionName': self._serialize.url("virtual_network_gateway_connection_name", virtual_network_gateway_connection_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ConnectionSharedKey', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_shared_key.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/sharedkey'} + + def list( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """The List VirtualNetworkGatewayConnections operation retrieves all the + virtual network gateways connections created. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of VirtualNetworkGatewayConnection + :rtype: + ~azure.mgmt.network.v2020_05_01.models.VirtualNetworkGatewayConnectionPaged[~azure.mgmt.network.v2020_05_01.models.VirtualNetworkGatewayConnection] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.VirtualNetworkGatewayConnectionPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections'} + + + def _reset_shared_key_initial( + self, resource_group_name, virtual_network_gateway_connection_name, key_length, custom_headers=None, raw=False, **operation_config): + parameters = models.ConnectionResetSharedKey(key_length=key_length) + + # Construct URL + url = self.reset_shared_key.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayConnectionName': self._serialize.url("virtual_network_gateway_connection_name", virtual_network_gateway_connection_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'ConnectionResetSharedKey') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('ConnectionResetSharedKey', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def reset_shared_key( + self, resource_group_name, virtual_network_gateway_connection_name, key_length, custom_headers=None, raw=False, polling=True, **operation_config): + """The VirtualNetworkGatewayConnectionResetSharedKey operation resets the + virtual network gateway connection shared key for passed virtual + network gateway connection in the specified resource group through + Network resource provider. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_connection_name: The virtual network + gateway connection reset shared key Name. + :type virtual_network_gateway_connection_name: str + :param key_length: The virtual network connection reset shared key + length, should between 1 and 128. + :type key_length: int + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + ConnectionResetSharedKey or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.ConnectionResetSharedKey] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.ConnectionResetSharedKey]] + :raises: :class:`CloudError` + """ + raw_result = self._reset_shared_key_initial( + resource_group_name=resource_group_name, + virtual_network_gateway_connection_name=virtual_network_gateway_connection_name, + key_length=key_length, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ConnectionResetSharedKey', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + reset_shared_key.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/sharedkey/reset'} + + + def _start_packet_capture_initial( + self, resource_group_name, virtual_network_gateway_connection_name, filter_data=None, custom_headers=None, raw=False, **operation_config): + parameters = None + if filter_data is not None: + parameters = models.VpnPacketCaptureStartParameters(filter_data=filter_data) + + # Construct URL + url = self.start_packet_capture.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayConnectionName': self._serialize.url("virtual_network_gateway_connection_name", virtual_network_gateway_connection_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 + if parameters is not None: + body_content = self._serialize.body(parameters, 'VpnPacketCaptureStartParameters') + else: + body_content = None + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + raise models.ErrorException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('str', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def start_packet_capture( + self, resource_group_name, virtual_network_gateway_connection_name, filter_data=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Starts packet capture on virtual network gateway connection in the + specified resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_connection_name: The name of the + virtual network gateway connection. + :type virtual_network_gateway_connection_name: str + :param filter_data: Start Packet capture parameters. + :type filter_data: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns str or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[str] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[str]] + :raises: + :class:`ErrorException` + """ + raw_result = self._start_packet_capture_initial( + resource_group_name=resource_group_name, + virtual_network_gateway_connection_name=virtual_network_gateway_connection_name, + filter_data=filter_data, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('str', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + start_packet_capture.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/startPacketCapture'} + + + def _stop_packet_capture_initial( + self, resource_group_name, virtual_network_gateway_connection_name, sas_url=None, custom_headers=None, raw=False, **operation_config): + parameters = models.VpnPacketCaptureStopParameters(sas_url=sas_url) + + # Construct URL + url = self.stop_packet_capture.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayConnectionName': self._serialize.url("virtual_network_gateway_connection_name", virtual_network_gateway_connection_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'VpnPacketCaptureStopParameters') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + raise models.ErrorException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('str', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def stop_packet_capture( + self, resource_group_name, virtual_network_gateway_connection_name, sas_url=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Stops packet capture on virtual network gateway connection in the + specified resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_connection_name: The name of the + virtual network gateway Connection. + :type virtual_network_gateway_connection_name: str + :param sas_url: SAS url for packet capture on virtual network gateway. + :type sas_url: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns str or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[str] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[str]] + :raises: + :class:`ErrorException` + """ + raw_result = self._stop_packet_capture_initial( + resource_group_name=resource_group_name, + virtual_network_gateway_connection_name=virtual_network_gateway_connection_name, + sas_url=sas_url, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('str', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + stop_packet_capture.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/stopPacketCapture'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_virtual_network_gateways_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_virtual_network_gateways_operations.py new file mode 100644 index 00000000000..a22bb9d1f9d --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_virtual_network_gateways_operations.py @@ -0,0 +1,2038 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class VirtualNetworkGatewaysOperations(object): + """VirtualNetworkGatewaysOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + + def _create_or_update_initial( + self, resource_group_name, virtual_network_gateway_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'VirtualNetworkGateway') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('VirtualNetworkGateway', response) + if response.status_code == 201: + deserialized = self._deserialize('VirtualNetworkGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, virtual_network_gateway_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a virtual network gateway in the specified resource + group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_name: The name of the virtual network + gateway. + :type virtual_network_gateway_name: str + :param parameters: Parameters supplied to create or update virtual + network gateway operation. + :type parameters: + ~azure.mgmt.network.v2020_05_01.models.VirtualNetworkGateway + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns VirtualNetworkGateway + or ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.VirtualNetworkGateway] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.VirtualNetworkGateway]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + virtual_network_gateway_name=virtual_network_gateway_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('VirtualNetworkGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}'} + + def get( + self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, **operation_config): + """Gets the specified virtual network gateway by resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_name: The name of the virtual network + gateway. + :type virtual_network_gateway_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: VirtualNetworkGateway or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.VirtualNetworkGateway + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('VirtualNetworkGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}'} + + + def _delete_initial( + self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified virtual network gateway. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_name: The name of the virtual network + gateway. + :type virtual_network_gateway_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + virtual_network_gateway_name=virtual_network_gateway_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}'} + + + def _update_tags_initial( + self, resource_group_name, virtual_network_gateway_name, tags=None, custom_headers=None, raw=False, **operation_config): + parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('VirtualNetworkGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def update_tags( + self, resource_group_name, virtual_network_gateway_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Updates a virtual network gateway tags. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_name: The name of the virtual network + gateway. + :type virtual_network_gateway_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns VirtualNetworkGateway + or ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.VirtualNetworkGateway] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.VirtualNetworkGateway]] + :raises: :class:`CloudError` + """ + raw_result = self._update_tags_initial( + resource_group_name=resource_group_name, + virtual_network_gateway_name=virtual_network_gateway_name, + tags=tags, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('VirtualNetworkGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}'} + + def list( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Gets all virtual network gateways by resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of VirtualNetworkGateway + :rtype: + ~azure.mgmt.network.v2020_05_01.models.VirtualNetworkGatewayPaged[~azure.mgmt.network.v2020_05_01.models.VirtualNetworkGateway] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.VirtualNetworkGatewayPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways'} + + def list_connections( + self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, **operation_config): + """Gets all the connections in a virtual network gateway. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_name: The name of the virtual network + gateway. + :type virtual_network_gateway_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of + VirtualNetworkGatewayConnectionListEntity + :rtype: + ~azure.mgmt.network.v2020_05_01.models.VirtualNetworkGatewayConnectionListEntityPaged[~azure.mgmt.network.v2020_05_01.models.VirtualNetworkGatewayConnectionListEntity] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_connections.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.VirtualNetworkGatewayConnectionListEntityPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_connections.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/connections'} + + + def _reset_initial( + self, resource_group_name, virtual_network_gateway_name, gateway_vip=None, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.reset.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str'), + '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 = {} + if gateway_vip is not None: + query_parameters['gatewayVip'] = self._serialize.query("gateway_vip", gateway_vip, 'str') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('VirtualNetworkGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def reset( + self, resource_group_name, virtual_network_gateway_name, gateway_vip=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Resets the primary of the virtual network gateway in the specified + resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_name: The name of the virtual network + gateway. + :type virtual_network_gateway_name: str + :param gateway_vip: Virtual network gateway vip address supplied to + the begin reset of the active-active feature enabled gateway. + :type gateway_vip: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns VirtualNetworkGateway + or ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.VirtualNetworkGateway] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.VirtualNetworkGateway]] + :raises: :class:`CloudError` + """ + raw_result = self._reset_initial( + resource_group_name=resource_group_name, + virtual_network_gateway_name=virtual_network_gateway_name, + gateway_vip=gateway_vip, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('VirtualNetworkGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + reset.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/reset'} + + + def _reset_vpn_client_shared_key_initial( + self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.reset_vpn_client_shared_key.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def reset_vpn_client_shared_key( + self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Resets the VPN client shared key of the virtual network gateway in the + specified resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_name: The name of the virtual network + gateway. + :type virtual_network_gateway_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._reset_vpn_client_shared_key_initial( + resource_group_name=resource_group_name, + virtual_network_gateway_name=virtual_network_gateway_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + reset_vpn_client_shared_key.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/resetvpnclientsharedkey'} + + + def _generatevpnclientpackage_initial( + self, resource_group_name, virtual_network_gateway_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.generatevpnclientpackage.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'VpnClientParameters') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('str', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def generatevpnclientpackage( + self, resource_group_name, virtual_network_gateway_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Generates VPN client package for P2S client of the virtual network + gateway in the specified resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_name: The name of the virtual network + gateway. + :type virtual_network_gateway_name: str + :param parameters: Parameters supplied to the generate virtual network + gateway VPN client package operation. + :type parameters: + ~azure.mgmt.network.v2020_05_01.models.VpnClientParameters + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns str or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[str] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[str]] + :raises: :class:`CloudError` + """ + raw_result = self._generatevpnclientpackage_initial( + resource_group_name=resource_group_name, + virtual_network_gateway_name=virtual_network_gateway_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('str', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + generatevpnclientpackage.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/generatevpnclientpackage'} + + + def _generate_vpn_profile_initial( + self, resource_group_name, virtual_network_gateway_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.generate_vpn_profile.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'VpnClientParameters') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('str', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def generate_vpn_profile( + self, resource_group_name, virtual_network_gateway_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Generates VPN profile for P2S client of the virtual network gateway in + the specified resource group. Used for IKEV2 and radius based + authentication. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_name: The name of the virtual network + gateway. + :type virtual_network_gateway_name: str + :param parameters: Parameters supplied to the generate virtual network + gateway VPN client package operation. + :type parameters: + ~azure.mgmt.network.v2020_05_01.models.VpnClientParameters + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns str or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[str] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[str]] + :raises: :class:`CloudError` + """ + raw_result = self._generate_vpn_profile_initial( + resource_group_name=resource_group_name, + virtual_network_gateway_name=virtual_network_gateway_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('str', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + generate_vpn_profile.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/generatevpnprofile'} + + + def _get_vpn_profile_package_url_initial( + self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.get_vpn_profile_package_url.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('str', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def get_vpn_profile_package_url( + self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Gets pre-generated VPN profile for P2S client of the virtual network + gateway in the specified resource group. The profile needs to be + generated first using generateVpnProfile. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_name: The name of the virtual network + gateway. + :type virtual_network_gateway_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns str or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[str] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[str]] + :raises: :class:`CloudError` + """ + raw_result = self._get_vpn_profile_package_url_initial( + resource_group_name=resource_group_name, + virtual_network_gateway_name=virtual_network_gateway_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('str', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + get_vpn_profile_package_url.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getvpnprofilepackageurl'} + + + def _get_bgp_peer_status_initial( + self, resource_group_name, virtual_network_gateway_name, peer=None, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.get_bgp_peer_status.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str'), + '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 = {} + if peer is not None: + query_parameters['peer'] = self._serialize.query("peer", peer, 'str') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('BgpPeerStatusListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def get_bgp_peer_status( + self, resource_group_name, virtual_network_gateway_name, peer=None, custom_headers=None, raw=False, polling=True, **operation_config): + """The GetBgpPeerStatus operation retrieves the status of all BGP peers. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_name: The name of the virtual network + gateway. + :type virtual_network_gateway_name: str + :param peer: The IP address of the peer to retrieve the status of. + :type peer: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns BgpPeerStatusListResult + or ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.BgpPeerStatusListResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.BgpPeerStatusListResult]] + :raises: :class:`CloudError` + """ + raw_result = self._get_bgp_peer_status_initial( + resource_group_name=resource_group_name, + virtual_network_gateway_name=virtual_network_gateway_name, + peer=peer, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('BgpPeerStatusListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + get_bgp_peer_status.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getBgpPeerStatus'} + + def supported_vpn_devices( + self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, **operation_config): + """Gets a xml format representation for supported vpn devices. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_name: The name of the virtual network + gateway. + :type virtual_network_gateway_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: str or ClientRawResponse if raw=true + :rtype: str or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.supported_vpn_devices.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('str', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + supported_vpn_devices.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/supportedvpndevices'} + + + def _get_learned_routes_initial( + self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.get_learned_routes.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('GatewayRouteListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def get_learned_routes( + self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): + """This operation retrieves a list of routes the virtual network gateway + has learned, including routes learned from BGP peers. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_name: The name of the virtual network + gateway. + :type virtual_network_gateway_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns GatewayRouteListResult + or ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.GatewayRouteListResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.GatewayRouteListResult]] + :raises: :class:`CloudError` + """ + raw_result = self._get_learned_routes_initial( + resource_group_name=resource_group_name, + virtual_network_gateway_name=virtual_network_gateway_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('GatewayRouteListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + get_learned_routes.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getLearnedRoutes'} + + + def _get_advertised_routes_initial( + self, resource_group_name, virtual_network_gateway_name, peer, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.get_advertised_routes.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str'), + '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['peer'] = self._serialize.query("peer", peer, 'str') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('GatewayRouteListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def get_advertised_routes( + self, resource_group_name, virtual_network_gateway_name, peer, custom_headers=None, raw=False, polling=True, **operation_config): + """This operation retrieves a list of routes the virtual network gateway + is advertising to the specified peer. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_name: The name of the virtual network + gateway. + :type virtual_network_gateway_name: str + :param peer: The IP address of the peer. + :type peer: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns GatewayRouteListResult + or ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.GatewayRouteListResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.GatewayRouteListResult]] + :raises: :class:`CloudError` + """ + raw_result = self._get_advertised_routes_initial( + resource_group_name=resource_group_name, + virtual_network_gateway_name=virtual_network_gateway_name, + peer=peer, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('GatewayRouteListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + get_advertised_routes.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getAdvertisedRoutes'} + + + def _set_vpnclient_ipsec_parameters_initial( + self, resource_group_name, virtual_network_gateway_name, vpnclient_ipsec_params, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.set_vpnclient_ipsec_parameters.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(vpnclient_ipsec_params, 'VpnClientIPsecParameters') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('VpnClientIPsecParameters', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def set_vpnclient_ipsec_parameters( + self, resource_group_name, virtual_network_gateway_name, vpnclient_ipsec_params, custom_headers=None, raw=False, polling=True, **operation_config): + """The Set VpnclientIpsecParameters operation sets the vpnclient ipsec + policy for P2S client of virtual network gateway in the specified + resource group through Network resource provider. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_name: The name of the virtual network + gateway. + :type virtual_network_gateway_name: str + :param vpnclient_ipsec_params: Parameters supplied to the Begin Set + vpnclient ipsec parameters of Virtual Network Gateway P2S client + operation through Network resource provider. + :type vpnclient_ipsec_params: + ~azure.mgmt.network.v2020_05_01.models.VpnClientIPsecParameters + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + VpnClientIPsecParameters or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.VpnClientIPsecParameters] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.VpnClientIPsecParameters]] + :raises: :class:`CloudError` + """ + raw_result = self._set_vpnclient_ipsec_parameters_initial( + resource_group_name=resource_group_name, + virtual_network_gateway_name=virtual_network_gateway_name, + vpnclient_ipsec_params=vpnclient_ipsec_params, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('VpnClientIPsecParameters', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + set_vpnclient_ipsec_parameters.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/setvpnclientipsecparameters'} + + + def _get_vpnclient_ipsec_parameters_initial( + self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.get_vpnclient_ipsec_parameters.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('VpnClientIPsecParameters', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def get_vpnclient_ipsec_parameters( + self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): + """The Get VpnclientIpsecParameters operation retrieves information about + the vpnclient ipsec policy for P2S client of virtual network gateway in + the specified resource group through Network resource provider. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_name: The virtual network gateway name. + :type virtual_network_gateway_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + VpnClientIPsecParameters or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.VpnClientIPsecParameters] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.VpnClientIPsecParameters]] + :raises: :class:`CloudError` + """ + raw_result = self._get_vpnclient_ipsec_parameters_initial( + resource_group_name=resource_group_name, + virtual_network_gateway_name=virtual_network_gateway_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('VpnClientIPsecParameters', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + get_vpnclient_ipsec_parameters.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getvpnclientipsecparameters'} + + def vpn_device_configuration_script( + self, resource_group_name, virtual_network_gateway_connection_name, parameters, custom_headers=None, raw=False, **operation_config): + """Gets a xml format representation for vpn device configuration script. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_connection_name: The name of the + virtual network gateway connection for which the configuration script + is generated. + :type virtual_network_gateway_connection_name: str + :param parameters: Parameters supplied to the generate vpn device + script operation. + :type parameters: + ~azure.mgmt.network.v2020_05_01.models.VpnDeviceScriptParameters + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: str or ClientRawResponse if raw=true + :rtype: str or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.vpn_device_configuration_script.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayConnectionName': self._serialize.url("virtual_network_gateway_connection_name", virtual_network_gateway_connection_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'VpnDeviceScriptParameters') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('str', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + vpn_device_configuration_script.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/vpndeviceconfigurationscript'} + + + def _start_packet_capture_initial( + self, resource_group_name, virtual_network_gateway_name, filter_data=None, custom_headers=None, raw=False, **operation_config): + parameters = None + if filter_data is not None: + parameters = models.VpnPacketCaptureStartParameters(filter_data=filter_data) + + # Construct URL + url = self.start_packet_capture.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 + if parameters is not None: + body_content = self._serialize.body(parameters, 'VpnPacketCaptureStartParameters') + else: + body_content = None + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + raise models.ErrorException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('str', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def start_packet_capture( + self, resource_group_name, virtual_network_gateway_name, filter_data=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Starts packet capture on virtual network gateway in the specified + resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_name: The name of the virtual network + gateway. + :type virtual_network_gateway_name: str + :param filter_data: Start Packet capture parameters. + :type filter_data: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns str or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[str] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[str]] + :raises: + :class:`ErrorException` + """ + raw_result = self._start_packet_capture_initial( + resource_group_name=resource_group_name, + virtual_network_gateway_name=virtual_network_gateway_name, + filter_data=filter_data, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('str', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + start_packet_capture.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/startPacketCapture'} + + + def _stop_packet_capture_initial( + self, resource_group_name, virtual_network_gateway_name, sas_url=None, custom_headers=None, raw=False, **operation_config): + parameters = models.VpnPacketCaptureStopParameters(sas_url=sas_url) + + # Construct URL + url = self.stop_packet_capture.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'VpnPacketCaptureStopParameters') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + raise models.ErrorException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('str', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def stop_packet_capture( + self, resource_group_name, virtual_network_gateway_name, sas_url=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Stops packet capture on virtual network gateway in the specified + resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_name: The name of the virtual network + gateway. + :type virtual_network_gateway_name: str + :param sas_url: SAS url for packet capture on virtual network gateway. + :type sas_url: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns str or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[str] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[str]] + :raises: + :class:`ErrorException` + """ + raw_result = self._stop_packet_capture_initial( + resource_group_name=resource_group_name, + virtual_network_gateway_name=virtual_network_gateway_name, + sas_url=sas_url, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('str', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + stop_packet_capture.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/stopPacketCapture'} + + + def _get_vpnclient_connection_health_initial( + self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.get_vpnclient_connection_health.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('VpnClientConnectionHealthDetailListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def get_vpnclient_connection_health( + self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Get VPN client connection health detail per P2S client connection of + the virtual network gateway in the specified resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_name: The name of the virtual network + gateway. + :type virtual_network_gateway_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + VpnClientConnectionHealthDetailListResult or + ClientRawResponse if + raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.VpnClientConnectionHealthDetailListResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.VpnClientConnectionHealthDetailListResult]] + :raises: :class:`CloudError` + """ + raw_result = self._get_vpnclient_connection_health_initial( + resource_group_name=resource_group_name, + virtual_network_gateway_name=virtual_network_gateway_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('VpnClientConnectionHealthDetailListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + get_vpnclient_connection_health.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getVpnClientConnectionHealth'} + + + def _disconnect_virtual_network_gateway_vpn_connections_initial( + self, resource_group_name, virtual_network_gateway_name, vpn_connection_ids=None, custom_headers=None, raw=False, **operation_config): + request = models.P2SVpnConnectionRequest(vpn_connection_ids=vpn_connection_ids) + + # Construct URL + url = self.disconnect_virtual_network_gateway_vpn_connections.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.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(request, 'P2SVpnConnectionRequest') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def disconnect_virtual_network_gateway_vpn_connections( + self, resource_group_name, virtual_network_gateway_name, vpn_connection_ids=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Disconnect vpn connections of virtual network gateway in the specified + resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_name: The name of the virtual network + gateway. + :type virtual_network_gateway_name: str + :param vpn_connection_ids: List of p2s vpn connection Ids. + :type vpn_connection_ids: list[str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._disconnect_virtual_network_gateway_vpn_connections_initial( + resource_group_name=resource_group_name, + virtual_network_gateway_name=virtual_network_gateway_name, + vpn_connection_ids=vpn_connection_ids, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + disconnect_virtual_network_gateway_vpn_connections.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/disconnectVirtualNetworkGatewayVpnConnections'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_virtual_network_peerings_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_virtual_network_peerings_operations.py new file mode 100644 index 00000000000..6657072958a --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_virtual_network_peerings_operations.py @@ -0,0 +1,371 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class VirtualNetworkPeeringsOperations(object): + """VirtualNetworkPeeringsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, virtual_network_name, virtual_network_peering_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), + 'virtualNetworkPeeringName': self._serialize.url("virtual_network_peering_name", virtual_network_peering_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, virtual_network_name, virtual_network_peering_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified virtual network peering. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_name: The name of the virtual network. + :type virtual_network_name: str + :param virtual_network_peering_name: The name of the virtual network + peering. + :type virtual_network_peering_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + virtual_network_name=virtual_network_name, + virtual_network_peering_name=virtual_network_peering_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/virtualNetworkPeerings/{virtualNetworkPeeringName}'} + + def get( + self, resource_group_name, virtual_network_name, virtual_network_peering_name, custom_headers=None, raw=False, **operation_config): + """Gets the specified virtual network peering. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_name: The name of the virtual network. + :type virtual_network_name: str + :param virtual_network_peering_name: The name of the virtual network + peering. + :type virtual_network_peering_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: VirtualNetworkPeering or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.VirtualNetworkPeering + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), + 'virtualNetworkPeeringName': self._serialize.url("virtual_network_peering_name", virtual_network_peering_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('VirtualNetworkPeering', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/virtualNetworkPeerings/{virtualNetworkPeeringName}'} + + + def _create_or_update_initial( + self, resource_group_name, virtual_network_name, virtual_network_peering_name, virtual_network_peering_parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), + 'virtualNetworkPeeringName': self._serialize.url("virtual_network_peering_name", virtual_network_peering_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(virtual_network_peering_parameters, 'VirtualNetworkPeering') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('VirtualNetworkPeering', response) + if response.status_code == 201: + deserialized = self._deserialize('VirtualNetworkPeering', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, virtual_network_name, virtual_network_peering_name, virtual_network_peering_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a peering in the specified virtual network. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_name: The name of the virtual network. + :type virtual_network_name: str + :param virtual_network_peering_name: The name of the peering. + :type virtual_network_peering_name: str + :param virtual_network_peering_parameters: Parameters supplied to the + create or update virtual network peering operation. + :type virtual_network_peering_parameters: + ~azure.mgmt.network.v2020_05_01.models.VirtualNetworkPeering + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns VirtualNetworkPeering + or ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.VirtualNetworkPeering] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.VirtualNetworkPeering]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + virtual_network_name=virtual_network_name, + virtual_network_peering_name=virtual_network_peering_name, + virtual_network_peering_parameters=virtual_network_peering_parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('VirtualNetworkPeering', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/virtualNetworkPeerings/{virtualNetworkPeeringName}'} + + def list( + self, resource_group_name, virtual_network_name, custom_headers=None, raw=False, **operation_config): + """Gets all virtual network peerings in a virtual network. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_name: The name of the virtual network. + :type virtual_network_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of VirtualNetworkPeering + :rtype: + ~azure.mgmt.network.v2020_05_01.models.VirtualNetworkPeeringPaged[~azure.mgmt.network.v2020_05_01.models.VirtualNetworkPeering] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.VirtualNetworkPeeringPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/virtualNetworkPeerings'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_virtual_network_taps_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_virtual_network_taps_operations.py new file mode 100644 index 00000000000..ff047828520 --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_virtual_network_taps_operations.py @@ -0,0 +1,490 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class VirtualNetworkTapsOperations(object): + """VirtualNetworkTapsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, tap_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'tapName': self._serialize.url("tap_name", tap_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, tap_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified virtual network tap. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param tap_name: The name of the virtual network tap. + :type tap_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + tap_name=tap_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkTaps/{tapName}'} + + def get( + self, resource_group_name, tap_name, custom_headers=None, raw=False, **operation_config): + """Gets information about the specified virtual network tap. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param tap_name: The name of virtual network tap. + :type tap_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: VirtualNetworkTap or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.VirtualNetworkTap or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'tapName': self._serialize.url("tap_name", tap_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('VirtualNetworkTap', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkTaps/{tapName}'} + + + def _create_or_update_initial( + self, resource_group_name, tap_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'tapName': self._serialize.url("tap_name", tap_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'VirtualNetworkTap') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('VirtualNetworkTap', response) + if response.status_code == 201: + deserialized = self._deserialize('VirtualNetworkTap', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, tap_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a Virtual Network Tap. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param tap_name: The name of the virtual network tap. + :type tap_name: str + :param parameters: Parameters supplied to the create or update virtual + network tap operation. + :type parameters: + ~azure.mgmt.network.v2020_05_01.models.VirtualNetworkTap + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns VirtualNetworkTap or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.VirtualNetworkTap] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.VirtualNetworkTap]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + tap_name=tap_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('VirtualNetworkTap', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkTaps/{tapName}'} + + def update_tags( + self, resource_group_name, tap_name, tags=None, custom_headers=None, raw=False, **operation_config): + """Updates an VirtualNetworkTap tags. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param tap_name: The name of the tap. + :type tap_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: VirtualNetworkTap or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.VirtualNetworkTap or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + tap_parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'tapName': self._serialize.url("tap_name", tap_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(tap_parameters, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('VirtualNetworkTap', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkTaps/{tapName}'} + + def list_all( + self, custom_headers=None, raw=False, **operation_config): + """Gets all the VirtualNetworkTaps in a subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of VirtualNetworkTap + :rtype: + ~azure.mgmt.network.v2020_05_01.models.VirtualNetworkTapPaged[~azure.mgmt.network.v2020_05_01.models.VirtualNetworkTap] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_all.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.VirtualNetworkTapPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/virtualNetworkTaps'} + + def list_by_resource_group( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Gets all the VirtualNetworkTaps in a subscription. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of VirtualNetworkTap + :rtype: + ~azure.mgmt.network.v2020_05_01.models.VirtualNetworkTapPaged[~azure.mgmt.network.v2020_05_01.models.VirtualNetworkTap] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.VirtualNetworkTapPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkTaps'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_virtual_networks_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_virtual_networks_operations.py new file mode 100644 index 00000000000..d0b3abd1509 --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_virtual_networks_operations.py @@ -0,0 +1,631 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class VirtualNetworksOperations(object): + """VirtualNetworksOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, virtual_network_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, virtual_network_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified virtual network. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_name: The name of the virtual network. + :type virtual_network_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + virtual_network_name=virtual_network_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}'} + + def get( + self, resource_group_name, virtual_network_name, expand=None, custom_headers=None, raw=False, **operation_config): + """Gets the specified virtual network by resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_name: The name of the virtual network. + :type virtual_network_name: str + :param expand: Expands referenced resources. + :type expand: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: VirtualNetwork or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.VirtualNetwork or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), + '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.api_version", self.api_version, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('VirtualNetwork', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}'} + + + def _create_or_update_initial( + self, resource_group_name, virtual_network_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'VirtualNetwork') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('VirtualNetwork', response) + if response.status_code == 201: + deserialized = self._deserialize('VirtualNetwork', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, virtual_network_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a virtual network in the specified resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_name: The name of the virtual network. + :type virtual_network_name: str + :param parameters: Parameters supplied to the create or update virtual + network operation. + :type parameters: + ~azure.mgmt.network.v2020_05_01.models.VirtualNetwork + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns VirtualNetwork or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.VirtualNetwork] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.VirtualNetwork]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + virtual_network_name=virtual_network_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('VirtualNetwork', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}'} + + def update_tags( + self, resource_group_name, virtual_network_name, tags=None, custom_headers=None, raw=False, **operation_config): + """Updates a virtual network tags. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_name: The name of the virtual network. + :type virtual_network_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: VirtualNetwork or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.VirtualNetwork or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('VirtualNetwork', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}'} + + def list_all( + self, custom_headers=None, raw=False, **operation_config): + """Gets all virtual networks in a subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of VirtualNetwork + :rtype: + ~azure.mgmt.network.v2020_05_01.models.VirtualNetworkPaged[~azure.mgmt.network.v2020_05_01.models.VirtualNetwork] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_all.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.VirtualNetworkPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/virtualNetworks'} + + def list( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Gets all virtual networks in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of VirtualNetwork + :rtype: + ~azure.mgmt.network.v2020_05_01.models.VirtualNetworkPaged[~azure.mgmt.network.v2020_05_01.models.VirtualNetwork] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.VirtualNetworkPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks'} + + def check_ip_address_availability( + self, resource_group_name, virtual_network_name, ip_address, custom_headers=None, raw=False, **operation_config): + """Checks whether a private IP address is available for use. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_name: The name of the virtual network. + :type virtual_network_name: str + :param ip_address: The private IP address to be verified. + :type ip_address: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: IPAddressAvailabilityResult or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.network.v2020_05_01.models.IPAddressAvailabilityResult or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.check_ip_address_availability.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), + '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['ipAddress'] = self._serialize.query("ip_address", ip_address, 'str') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('IPAddressAvailabilityResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + check_ip_address_availability.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/CheckIPAddressAvailability'} + + def list_usage( + self, resource_group_name, virtual_network_name, custom_headers=None, raw=False, **operation_config): + """Lists usage stats. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_name: The name of the virtual network. + :type virtual_network_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of VirtualNetworkUsage + :rtype: + ~azure.mgmt.network.v2020_05_01.models.VirtualNetworkUsagePaged[~azure.mgmt.network.v2020_05_01.models.VirtualNetworkUsage] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_usage.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.VirtualNetworkUsagePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_usage.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/usages'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_virtual_router_peerings_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_virtual_router_peerings_operations.py new file mode 100644 index 00000000000..7f2f2bcaf6f --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_virtual_router_peerings_operations.py @@ -0,0 +1,364 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class VirtualRouterPeeringsOperations(object): + """VirtualRouterPeeringsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, virtual_router_name, peering_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualRouterName': self._serialize.url("virtual_router_name", virtual_router_name, 'str'), + 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + raise models.ErrorException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, virtual_router_name, peering_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified peering from a Virtual Router. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_router_name: The name of the Virtual Router. + :type virtual_router_name: str + :param peering_name: The name of the peering. + :type peering_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: + :class:`ErrorException` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + virtual_router_name=virtual_router_name, + peering_name=peering_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualRouters/{virtualRouterName}/peerings/{peeringName}'} + + def get( + self, resource_group_name, virtual_router_name, peering_name, custom_headers=None, raw=False, **operation_config): + """Gets the specified Virtual Router Peering. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_router_name: The name of the Virtual Router. + :type virtual_router_name: str + :param peering_name: The name of the Virtual Router Peering. + :type peering_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: VirtualRouterPeering or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.VirtualRouterPeering or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorException` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualRouterName': self._serialize.url("virtual_router_name", virtual_router_name, 'str'), + 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('VirtualRouterPeering', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualRouters/{virtualRouterName}/peerings/{peeringName}'} + + + def _create_or_update_initial( + self, resource_group_name, virtual_router_name, peering_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualRouterName': self._serialize.url("virtual_router_name", virtual_router_name, 'str'), + 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'VirtualRouterPeering') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + raise models.ErrorException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('VirtualRouterPeering', response) + if response.status_code == 201: + deserialized = self._deserialize('VirtualRouterPeering', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, virtual_router_name, peering_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates the specified Virtual Router Peering. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_router_name: The name of the Virtual Router. + :type virtual_router_name: str + :param peering_name: The name of the Virtual Router Peering. + :type peering_name: str + :param parameters: Parameters supplied to the create or update Virtual + Router Peering operation. + :type parameters: + ~azure.mgmt.network.v2020_05_01.models.VirtualRouterPeering + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns VirtualRouterPeering or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.VirtualRouterPeering] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.VirtualRouterPeering]] + :raises: + :class:`ErrorException` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + virtual_router_name=virtual_router_name, + peering_name=peering_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('VirtualRouterPeering', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualRouters/{virtualRouterName}/peerings/{peeringName}'} + + def list( + self, resource_group_name, virtual_router_name, custom_headers=None, raw=False, **operation_config): + """Lists all Virtual Router Peerings in a Virtual Router resource. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_router_name: The name of the Virtual Router. + :type virtual_router_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of VirtualRouterPeering + :rtype: + ~azure.mgmt.network.v2020_05_01.models.VirtualRouterPeeringPaged[~azure.mgmt.network.v2020_05_01.models.VirtualRouterPeering] + :raises: + :class:`ErrorException` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualRouterName': self._serialize.url("virtual_router_name", virtual_router_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorException(self._deserialize, response) + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.VirtualRouterPeeringPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualRouters/{virtualRouterName}/peerings'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_virtual_routers_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_virtual_routers_operations.py new file mode 100644 index 00000000000..5e2c303bd06 --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_virtual_routers_operations.py @@ -0,0 +1,418 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class VirtualRoutersOperations(object): + """VirtualRoutersOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, virtual_router_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualRouterName': self._serialize.url("virtual_router_name", virtual_router_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + raise models.ErrorException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, virtual_router_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified Virtual Router. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_router_name: The name of the Virtual Router. + :type virtual_router_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: + :class:`ErrorException` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + virtual_router_name=virtual_router_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualRouters/{virtualRouterName}'} + + def get( + self, resource_group_name, virtual_router_name, expand=None, custom_headers=None, raw=False, **operation_config): + """Gets the specified Virtual Router. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_router_name: The name of the Virtual Router. + :type virtual_router_name: str + :param expand: Expands referenced resources. + :type expand: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: VirtualRouter or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.VirtualRouter or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorException` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualRouterName': self._serialize.url("virtual_router_name", virtual_router_name, 'str'), + '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.api_version", self.api_version, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('VirtualRouter', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualRouters/{virtualRouterName}'} + + + def _create_or_update_initial( + self, resource_group_name, virtual_router_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualRouterName': self._serialize.url("virtual_router_name", virtual_router_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'VirtualRouter') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + raise models.ErrorException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('VirtualRouter', response) + if response.status_code == 201: + deserialized = self._deserialize('VirtualRouter', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, virtual_router_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates the specified Virtual Router. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_router_name: The name of the Virtual Router. + :type virtual_router_name: str + :param parameters: Parameters supplied to the create or update Virtual + Router. + :type parameters: ~azure.mgmt.network.v2020_05_01.models.VirtualRouter + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns VirtualRouter or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.VirtualRouter] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.VirtualRouter]] + :raises: + :class:`ErrorException` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + virtual_router_name=virtual_router_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('VirtualRouter', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualRouters/{virtualRouterName}'} + + def list_by_resource_group( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Lists all Virtual Routers in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of VirtualRouter + :rtype: + ~azure.mgmt.network.v2020_05_01.models.VirtualRouterPaged[~azure.mgmt.network.v2020_05_01.models.VirtualRouter] + :raises: + :class:`ErrorException` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorException(self._deserialize, response) + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.VirtualRouterPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualRouters'} + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Gets all the Virtual Routers in a subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of VirtualRouter + :rtype: + ~azure.mgmt.network.v2020_05_01.models.VirtualRouterPaged[~azure.mgmt.network.v2020_05_01.models.VirtualRouter] + :raises: + :class:`ErrorException` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorException(self._deserialize, response) + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.VirtualRouterPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/virtualRouters'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_virtual_wans_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_virtual_wans_operations.py new file mode 100644 index 00000000000..3ea577b691e --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_virtual_wans_operations.py @@ -0,0 +1,492 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class VirtualWansOperations(object): + """VirtualWansOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + def get( + self, resource_group_name, virtual_wan_name, custom_headers=None, raw=False, **operation_config): + """Retrieves the details of a VirtualWAN. + + :param resource_group_name: The resource group name of the VirtualWan. + :type resource_group_name: str + :param virtual_wan_name: The name of the VirtualWAN being retrieved. + :type virtual_wan_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: VirtualWAN or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.VirtualWAN or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'VirtualWANName': self._serialize.url("virtual_wan_name", virtual_wan_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('VirtualWAN', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{VirtualWANName}'} + + + def _create_or_update_initial( + self, resource_group_name, virtual_wan_name, wan_parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'VirtualWANName': self._serialize.url("virtual_wan_name", virtual_wan_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(wan_parameters, 'VirtualWAN') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('VirtualWAN', response) + if response.status_code == 201: + deserialized = self._deserialize('VirtualWAN', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, virtual_wan_name, wan_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates a VirtualWAN resource if it doesn't exist else updates the + existing VirtualWAN. + + :param resource_group_name: The resource group name of the VirtualWan. + :type resource_group_name: str + :param virtual_wan_name: The name of the VirtualWAN being created or + updated. + :type virtual_wan_name: str + :param wan_parameters: Parameters supplied to create or update + VirtualWAN. + :type wan_parameters: + ~azure.mgmt.network.v2020_05_01.models.VirtualWAN + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns VirtualWAN or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.VirtualWAN] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.VirtualWAN]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + virtual_wan_name=virtual_wan_name, + wan_parameters=wan_parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('VirtualWAN', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{VirtualWANName}'} + + def update_tags( + self, resource_group_name, virtual_wan_name, tags=None, custom_headers=None, raw=False, **operation_config): + """Updates a VirtualWAN tags. + + :param resource_group_name: The resource group name of the VirtualWan. + :type resource_group_name: str + :param virtual_wan_name: The name of the VirtualWAN being updated. + :type virtual_wan_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: VirtualWAN or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.VirtualWAN or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + wan_parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'VirtualWANName': self._serialize.url("virtual_wan_name", virtual_wan_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(wan_parameters, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('VirtualWAN', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{VirtualWANName}'} + + + def _delete_initial( + self, resource_group_name, virtual_wan_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'VirtualWANName': self._serialize.url("virtual_wan_name", virtual_wan_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, virtual_wan_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes a VirtualWAN. + + :param resource_group_name: The resource group name of the VirtualWan. + :type resource_group_name: str + :param virtual_wan_name: The name of the VirtualWAN being deleted. + :type virtual_wan_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + virtual_wan_name=virtual_wan_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{VirtualWANName}'} + + def list_by_resource_group( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Lists all the VirtualWANs in a resource group. + + :param resource_group_name: The resource group name of the VirtualWan. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of VirtualWAN + :rtype: + ~azure.mgmt.network.v2020_05_01.models.VirtualWANPaged[~azure.mgmt.network.v2020_05_01.models.VirtualWAN] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.VirtualWANPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans'} + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Lists all the VirtualWANs in a subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of VirtualWAN + :rtype: + ~azure.mgmt.network.v2020_05_01.models.VirtualWANPaged[~azure.mgmt.network.v2020_05_01.models.VirtualWAN] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.VirtualWANPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/virtualWans'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_vpn_connections_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_vpn_connections_operations.py new file mode 100644 index 00000000000..8470e1c4a65 --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_vpn_connections_operations.py @@ -0,0 +1,370 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class VpnConnectionsOperations(object): + """VpnConnectionsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + def get( + self, resource_group_name, gateway_name, connection_name, custom_headers=None, raw=False, **operation_config): + """Retrieves the details of a vpn connection. + + :param resource_group_name: The resource group name of the VpnGateway. + :type resource_group_name: str + :param gateway_name: The name of the gateway. + :type gateway_name: str + :param connection_name: The name of the vpn connection. + :type connection_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: VpnConnection or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.VpnConnection or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str'), + 'connectionName': self._serialize.url("connection_name", connection_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('VpnConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/vpnConnections/{connectionName}'} + + + def _create_or_update_initial( + self, resource_group_name, gateway_name, connection_name, vpn_connection_parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str'), + 'connectionName': self._serialize.url("connection_name", connection_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(vpn_connection_parameters, 'VpnConnection') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('VpnConnection', response) + if response.status_code == 201: + deserialized = self._deserialize('VpnConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, gateway_name, connection_name, vpn_connection_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates a vpn connection to a scalable vpn gateway if it doesn't exist + else updates the existing connection. + + :param resource_group_name: The resource group name of the VpnGateway. + :type resource_group_name: str + :param gateway_name: The name of the gateway. + :type gateway_name: str + :param connection_name: The name of the connection. + :type connection_name: str + :param vpn_connection_parameters: Parameters supplied to create or + Update a VPN Connection. + :type vpn_connection_parameters: + ~azure.mgmt.network.v2020_05_01.models.VpnConnection + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns VpnConnection or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.VpnConnection] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.VpnConnection]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + gateway_name=gateway_name, + connection_name=connection_name, + vpn_connection_parameters=vpn_connection_parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('VpnConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/vpnConnections/{connectionName}'} + + + def _delete_initial( + self, resource_group_name, gateway_name, connection_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str'), + 'connectionName': self._serialize.url("connection_name", connection_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, gateway_name, connection_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes a vpn connection. + + :param resource_group_name: The resource group name of the VpnGateway. + :type resource_group_name: str + :param gateway_name: The name of the gateway. + :type gateway_name: str + :param connection_name: The name of the connection. + :type connection_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + gateway_name=gateway_name, + connection_name=connection_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/vpnConnections/{connectionName}'} + + def list_by_vpn_gateway( + self, resource_group_name, gateway_name, custom_headers=None, raw=False, **operation_config): + """Retrieves all vpn connections for a particular virtual wan vpn gateway. + + :param resource_group_name: The resource group name of the VpnGateway. + :type resource_group_name: str + :param gateway_name: The name of the gateway. + :type gateway_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of VpnConnection + :rtype: + ~azure.mgmt.network.v2020_05_01.models.VpnConnectionPaged[~azure.mgmt.network.v2020_05_01.models.VpnConnection] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_vpn_gateway.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.VpnConnectionPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_vpn_gateway.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/vpnConnections'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_vpn_gateways_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_vpn_gateways_operations.py new file mode 100644 index 00000000000..74b00aef966 --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_vpn_gateways_operations.py @@ -0,0 +1,584 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class VpnGatewaysOperations(object): + """VpnGatewaysOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + def get( + self, resource_group_name, gateway_name, custom_headers=None, raw=False, **operation_config): + """Retrieves the details of a virtual wan vpn gateway. + + :param resource_group_name: The resource group name of the VpnGateway. + :type resource_group_name: str + :param gateway_name: The name of the gateway. + :type gateway_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: VpnGateway or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.VpnGateway or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('VpnGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}'} + + + def _create_or_update_initial( + self, resource_group_name, gateway_name, vpn_gateway_parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(vpn_gateway_parameters, 'VpnGateway') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('VpnGateway', response) + if response.status_code == 201: + deserialized = self._deserialize('VpnGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, gateway_name, vpn_gateway_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates a virtual wan vpn gateway if it doesn't exist else updates the + existing gateway. + + :param resource_group_name: The resource group name of the VpnGateway. + :type resource_group_name: str + :param gateway_name: The name of the gateway. + :type gateway_name: str + :param vpn_gateway_parameters: Parameters supplied to create or Update + a virtual wan vpn gateway. + :type vpn_gateway_parameters: + ~azure.mgmt.network.v2020_05_01.models.VpnGateway + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns VpnGateway or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.VpnGateway] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.VpnGateway]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + gateway_name=gateway_name, + vpn_gateway_parameters=vpn_gateway_parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('VpnGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}'} + + def update_tags( + self, resource_group_name, gateway_name, tags=None, custom_headers=None, raw=False, **operation_config): + """Updates virtual wan vpn gateway tags. + + :param resource_group_name: The resource group name of the VpnGateway. + :type resource_group_name: str + :param gateway_name: The name of the gateway. + :type gateway_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: VpnGateway or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.VpnGateway or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + vpn_gateway_parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(vpn_gateway_parameters, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('VpnGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}'} + + + def _delete_initial( + self, resource_group_name, gateway_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes a virtual wan vpn gateway. + + :param resource_group_name: The resource group name of the VpnGateway. + :type resource_group_name: str + :param gateway_name: The name of the gateway. + :type gateway_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + gateway_name=gateway_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}'} + + + def _reset_initial( + self, resource_group_name, gateway_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.reset.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('VpnGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def reset( + self, resource_group_name, gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Resets the primary of the vpn gateway in the specified resource group. + + :param resource_group_name: The resource group name of the VpnGateway. + :type resource_group_name: str + :param gateway_name: The name of the gateway. + :type gateway_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns VpnGateway or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.VpnGateway] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.VpnGateway]] + :raises: :class:`CloudError` + """ + raw_result = self._reset_initial( + resource_group_name=resource_group_name, + gateway_name=gateway_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('VpnGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + reset.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/reset'} + + def list_by_resource_group( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Lists all the VpnGateways in a resource group. + + :param resource_group_name: The resource group name of the VpnGateway. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of VpnGateway + :rtype: + ~azure.mgmt.network.v2020_05_01.models.VpnGatewayPaged[~azure.mgmt.network.v2020_05_01.models.VpnGateway] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.VpnGatewayPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways'} + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Lists all the VpnGateways in a subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of VpnGateway + :rtype: + ~azure.mgmt.network.v2020_05_01.models.VpnGatewayPaged[~azure.mgmt.network.v2020_05_01.models.VpnGateway] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.VpnGatewayPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/vpnGateways'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_vpn_link_connections_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_vpn_link_connections_operations.py new file mode 100644 index 00000000000..7758046d4fe --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_vpn_link_connections_operations.py @@ -0,0 +1,116 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class VpnLinkConnectionsOperations(object): + """VpnLinkConnectionsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + def list_by_vpn_connection( + self, resource_group_name, gateway_name, connection_name, custom_headers=None, raw=False, **operation_config): + """Retrieves all vpn site link connections for a particular virtual wan + vpn gateway vpn connection. + + :param resource_group_name: The resource group name of the VpnGateway. + :type resource_group_name: str + :param gateway_name: The name of the gateway. + :type gateway_name: str + :param connection_name: The name of the vpn connection. + :type connection_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of VpnSiteLinkConnection + :rtype: + ~azure.mgmt.network.v2020_05_01.models.VpnSiteLinkConnectionPaged[~azure.mgmt.network.v2020_05_01.models.VpnSiteLinkConnection] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_vpn_connection.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str'), + 'connectionName': self._serialize.url("connection_name", connection_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.VpnSiteLinkConnectionPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_vpn_connection.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/vpnConnections/{connectionName}/vpnLinkConnections'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_vpn_server_configurations_associated_with_virtual_wan_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_vpn_server_configurations_associated_with_virtual_wan_operations.py new file mode 100644 index 00000000000..701af0fa62b --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_vpn_server_configurations_associated_with_virtual_wan_operations.py @@ -0,0 +1,138 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class VpnServerConfigurationsAssociatedWithVirtualWanOperations(object): + """VpnServerConfigurationsAssociatedWithVirtualWanOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + + def _list_initial( + self, resource_group_name, virtual_wan_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualWANName': self._serialize.url("virtual_wan_name", virtual_wan_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('VpnServerConfigurationsResponse', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def list( + self, resource_group_name, virtual_wan_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Gives the list of VpnServerConfigurations associated with Virtual Wan + in a resource group. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param virtual_wan_name: The name of the VirtualWAN whose associated + VpnServerConfigurations is needed. + :type virtual_wan_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + VpnServerConfigurationsResponse or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.VpnServerConfigurationsResponse] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.VpnServerConfigurationsResponse]] + :raises: :class:`CloudError` + """ + raw_result = self._list_initial( + resource_group_name=resource_group_name, + virtual_wan_name=virtual_wan_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('VpnServerConfigurationsResponse', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{virtualWANName}/vpnServerConfigurations'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_vpn_server_configurations_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_vpn_server_configurations_operations.py new file mode 100644 index 00000000000..05ab736c445 --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_vpn_server_configurations_operations.py @@ -0,0 +1,500 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class VpnServerConfigurationsOperations(object): + """VpnServerConfigurationsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + def get( + self, resource_group_name, vpn_server_configuration_name, custom_headers=None, raw=False, **operation_config): + """Retrieves the details of a VpnServerConfiguration. + + :param resource_group_name: The resource group name of the + VpnServerConfiguration. + :type resource_group_name: str + :param vpn_server_configuration_name: The name of the + VpnServerConfiguration being retrieved. + :type vpn_server_configuration_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: VpnServerConfiguration or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.VpnServerConfiguration + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'vpnServerConfigurationName': self._serialize.url("vpn_server_configuration_name", vpn_server_configuration_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('VpnServerConfiguration', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnServerConfigurations/{vpnServerConfigurationName}'} + + + def _create_or_update_initial( + self, resource_group_name, vpn_server_configuration_name, vpn_server_configuration_parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'vpnServerConfigurationName': self._serialize.url("vpn_server_configuration_name", vpn_server_configuration_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(vpn_server_configuration_parameters, 'VpnServerConfiguration') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('VpnServerConfiguration', response) + if response.status_code == 201: + deserialized = self._deserialize('VpnServerConfiguration', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, vpn_server_configuration_name, vpn_server_configuration_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates a VpnServerConfiguration resource if it doesn't exist else + updates the existing VpnServerConfiguration. + + :param resource_group_name: The resource group name of the + VpnServerConfiguration. + :type resource_group_name: str + :param vpn_server_configuration_name: The name of the + VpnServerConfiguration being created or updated. + :type vpn_server_configuration_name: str + :param vpn_server_configuration_parameters: Parameters supplied to + create or update VpnServerConfiguration. + :type vpn_server_configuration_parameters: + ~azure.mgmt.network.v2020_05_01.models.VpnServerConfiguration + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns VpnServerConfiguration + or ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.VpnServerConfiguration] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.VpnServerConfiguration]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + vpn_server_configuration_name=vpn_server_configuration_name, + vpn_server_configuration_parameters=vpn_server_configuration_parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('VpnServerConfiguration', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnServerConfigurations/{vpnServerConfigurationName}'} + + def update_tags( + self, resource_group_name, vpn_server_configuration_name, tags=None, custom_headers=None, raw=False, **operation_config): + """Updates VpnServerConfiguration tags. + + :param resource_group_name: The resource group name of the + VpnServerConfiguration. + :type resource_group_name: str + :param vpn_server_configuration_name: The name of the + VpnServerConfiguration being updated. + :type vpn_server_configuration_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: VpnServerConfiguration or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.VpnServerConfiguration + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + vpn_server_configuration_parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'vpnServerConfigurationName': self._serialize.url("vpn_server_configuration_name", vpn_server_configuration_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(vpn_server_configuration_parameters, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('VpnServerConfiguration', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnServerConfigurations/{vpnServerConfigurationName}'} + + + def _delete_initial( + self, resource_group_name, vpn_server_configuration_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'vpnServerConfigurationName': self._serialize.url("vpn_server_configuration_name", vpn_server_configuration_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, vpn_server_configuration_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes a VpnServerConfiguration. + + :param resource_group_name: The resource group name of the + VpnServerConfiguration. + :type resource_group_name: str + :param vpn_server_configuration_name: The name of the + VpnServerConfiguration being deleted. + :type vpn_server_configuration_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + vpn_server_configuration_name=vpn_server_configuration_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnServerConfigurations/{vpnServerConfigurationName}'} + + def list_by_resource_group( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Lists all the vpnServerConfigurations in a resource group. + + :param resource_group_name: The resource group name of the + VpnServerConfiguration. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of VpnServerConfiguration + :rtype: + ~azure.mgmt.network.v2020_05_01.models.VpnServerConfigurationPaged[~azure.mgmt.network.v2020_05_01.models.VpnServerConfiguration] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.VpnServerConfigurationPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnServerConfigurations'} + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Lists all the VpnServerConfigurations in a subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of VpnServerConfiguration + :rtype: + ~azure.mgmt.network.v2020_05_01.models.VpnServerConfigurationPaged[~azure.mgmt.network.v2020_05_01.models.VpnServerConfiguration] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.VpnServerConfigurationPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/vpnServerConfigurations'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_vpn_site_link_connections_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_vpn_site_link_connections_operations.py new file mode 100644 index 00000000000..1fa08146d15 --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_vpn_site_link_connections_operations.py @@ -0,0 +1,107 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class VpnSiteLinkConnectionsOperations(object): + """VpnSiteLinkConnectionsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + def get( + self, resource_group_name, gateway_name, connection_name, link_connection_name, custom_headers=None, raw=False, **operation_config): + """Retrieves the details of a vpn site link connection. + + :param resource_group_name: The resource group name of the VpnGateway. + :type resource_group_name: str + :param gateway_name: The name of the gateway. + :type gateway_name: str + :param connection_name: The name of the vpn connection. + :type connection_name: str + :param link_connection_name: The name of the vpn connection. + :type link_connection_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: VpnSiteLinkConnection or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.VpnSiteLinkConnection + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str'), + 'connectionName': self._serialize.url("connection_name", connection_name, 'str'), + 'linkConnectionName': self._serialize.url("link_connection_name", link_connection_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('VpnSiteLinkConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/vpnConnections/{connectionName}/vpnLinkConnections/{linkConnectionName}'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_vpn_site_links_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_vpn_site_links_operations.py new file mode 100644 index 00000000000..2df5b76b808 --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_vpn_site_links_operations.py @@ -0,0 +1,177 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class VpnSiteLinksOperations(object): + """VpnSiteLinksOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + def get( + self, resource_group_name, vpn_site_name, vpn_site_link_name, custom_headers=None, raw=False, **operation_config): + """Retrieves the details of a VPN site link. + + :param resource_group_name: The resource group name of the VpnSite. + :type resource_group_name: str + :param vpn_site_name: The name of the VpnSite. + :type vpn_site_name: str + :param vpn_site_link_name: The name of the VpnSiteLink being + retrieved. + :type vpn_site_link_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: VpnSiteLink or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.VpnSiteLink or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'vpnSiteName': self._serialize.url("vpn_site_name", vpn_site_name, 'str'), + 'vpnSiteLinkName': self._serialize.url("vpn_site_link_name", vpn_site_link_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('VpnSiteLink', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnSites/{vpnSiteName}/vpnSiteLinks/{vpnSiteLinkName}'} + + def list_by_vpn_site( + self, resource_group_name, vpn_site_name, custom_headers=None, raw=False, **operation_config): + """Lists all the vpnSiteLinks in a resource group for a vpn site. + + :param resource_group_name: The resource group name of the VpnSite. + :type resource_group_name: str + :param vpn_site_name: The name of the VpnSite. + :type vpn_site_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of VpnSiteLink + :rtype: + ~azure.mgmt.network.v2020_05_01.models.VpnSiteLinkPaged[~azure.mgmt.network.v2020_05_01.models.VpnSiteLink] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_vpn_site.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'vpnSiteName': self._serialize.url("vpn_site_name", vpn_site_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.VpnSiteLinkPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_vpn_site.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnSites/{vpnSiteName}/vpnSiteLinks'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_vpn_sites_configuration_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_vpn_sites_configuration_operations.py new file mode 100644 index 00000000000..031b6401097 --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_vpn_sites_configuration_operations.py @@ -0,0 +1,137 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class VpnSitesConfigurationOperations(object): + """VpnSitesConfigurationOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + + def _download_initial( + self, resource_group_name, virtual_wan_name, output_blob_sas_url, vpn_sites=None, custom_headers=None, raw=False, **operation_config): + request = models.GetVpnSitesConfigurationRequest(vpn_sites=vpn_sites, output_blob_sas_url=output_blob_sas_url) + + # Construct URL + url = self.download.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualWANName': self._serialize.url("virtual_wan_name", virtual_wan_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.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(request, 'GetVpnSitesConfigurationRequest') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def download( + self, resource_group_name, virtual_wan_name, output_blob_sas_url, vpn_sites=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Gives the sas-url to download the configurations for vpn-sites in a + resource group. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param virtual_wan_name: The name of the VirtualWAN for which + configuration of all vpn-sites is needed. + :type virtual_wan_name: str + :param output_blob_sas_url: The sas-url to download the configurations + for vpn-sites. + :type output_blob_sas_url: str + :param vpn_sites: List of resource-ids of the vpn-sites for which + config is to be downloaded. + :type vpn_sites: list[str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._download_initial( + resource_group_name=resource_group_name, + virtual_wan_name=virtual_wan_name, + output_blob_sas_url=output_blob_sas_url, + vpn_sites=vpn_sites, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + download.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{virtualWANName}/vpnConfiguration'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_vpn_sites_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_vpn_sites_operations.py new file mode 100644 index 00000000000..07f94a8cbe5 --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_vpn_sites_operations.py @@ -0,0 +1,492 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class VpnSitesOperations(object): + """VpnSitesOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + def get( + self, resource_group_name, vpn_site_name, custom_headers=None, raw=False, **operation_config): + """Retrieves the details of a VPN site. + + :param resource_group_name: The resource group name of the VpnSite. + :type resource_group_name: str + :param vpn_site_name: The name of the VpnSite being retrieved. + :type vpn_site_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: VpnSite or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.VpnSite or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'vpnSiteName': self._serialize.url("vpn_site_name", vpn_site_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('VpnSite', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnSites/{vpnSiteName}'} + + + def _create_or_update_initial( + self, resource_group_name, vpn_site_name, vpn_site_parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'vpnSiteName': self._serialize.url("vpn_site_name", vpn_site_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(vpn_site_parameters, 'VpnSite') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('VpnSite', response) + if response.status_code == 201: + deserialized = self._deserialize('VpnSite', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, vpn_site_name, vpn_site_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates a VpnSite resource if it doesn't exist else updates the + existing VpnSite. + + :param resource_group_name: The resource group name of the VpnSite. + :type resource_group_name: str + :param vpn_site_name: The name of the VpnSite being created or + updated. + :type vpn_site_name: str + :param vpn_site_parameters: Parameters supplied to create or update + VpnSite. + :type vpn_site_parameters: + ~azure.mgmt.network.v2020_05_01.models.VpnSite + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns VpnSite or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_05_01.models.VpnSite] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_05_01.models.VpnSite]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + vpn_site_name=vpn_site_name, + vpn_site_parameters=vpn_site_parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('VpnSite', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnSites/{vpnSiteName}'} + + def update_tags( + self, resource_group_name, vpn_site_name, tags=None, custom_headers=None, raw=False, **operation_config): + """Updates VpnSite tags. + + :param resource_group_name: The resource group name of the VpnSite. + :type resource_group_name: str + :param vpn_site_name: The name of the VpnSite being updated. + :type vpn_site_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: VpnSite or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_05_01.models.VpnSite or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + vpn_site_parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'vpnSiteName': self._serialize.url("vpn_site_name", vpn_site_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(vpn_site_parameters, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('VpnSite', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnSites/{vpnSiteName}'} + + + def _delete_initial( + self, resource_group_name, vpn_site_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'vpnSiteName': self._serialize.url("vpn_site_name", vpn_site_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, vpn_site_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes a VpnSite. + + :param resource_group_name: The resource group name of the VpnSite. + :type resource_group_name: str + :param vpn_site_name: The name of the VpnSite being deleted. + :type vpn_site_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + vpn_site_name=vpn_site_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnSites/{vpnSiteName}'} + + def list_by_resource_group( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Lists all the vpnSites in a resource group. + + :param resource_group_name: The resource group name of the VpnSite. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of VpnSite + :rtype: + ~azure.mgmt.network.v2020_05_01.models.VpnSitePaged[~azure.mgmt.network.v2020_05_01.models.VpnSite] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.VpnSitePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnSites'} + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Lists all the VpnSites in a subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of VpnSite + :rtype: + ~azure.mgmt.network.v2020_05_01.models.VpnSitePaged[~azure.mgmt.network.v2020_05_01.models.VpnSite] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.VpnSitePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/vpnSites'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_web_application_firewall_policies_operations.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_web_application_firewall_policies_operations.py new file mode 100644 index 00000000000..84499987293 --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/operations/_web_application_firewall_policies_operations.py @@ -0,0 +1,390 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class WebApplicationFirewallPoliciesOperations(object): + """WebApplicationFirewallPoliciesOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + def list( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Lists all of the protection policies within a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of WebApplicationFirewallPolicy + :rtype: + ~azure.mgmt.network.v2020_05_01.models.WebApplicationFirewallPolicyPaged[~azure.mgmt.network.v2020_05_01.models.WebApplicationFirewallPolicy] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.WebApplicationFirewallPolicyPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies'} + + def list_all( + self, custom_headers=None, raw=False, **operation_config): + """Gets all the WAF policies in a subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of WebApplicationFirewallPolicy + :rtype: + ~azure.mgmt.network.v2020_05_01.models.WebApplicationFirewallPolicyPaged[~azure.mgmt.network.v2020_05_01.models.WebApplicationFirewallPolicy] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_all.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.WebApplicationFirewallPolicyPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies'} + + def get( + self, resource_group_name, policy_name, custom_headers=None, raw=False, **operation_config): + """Retrieve protection policy with specified name within a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param policy_name: The name of the policy. + :type policy_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: WebApplicationFirewallPolicy or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.network.v2020_05_01.models.WebApplicationFirewallPolicy or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'policyName': self._serialize.url("policy_name", policy_name, 'str', max_length=128), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('WebApplicationFirewallPolicy', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies/{policyName}'} + + def create_or_update( + self, resource_group_name, policy_name, parameters, custom_headers=None, raw=False, **operation_config): + """Creates or update policy with specified rule set name within a resource + group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param policy_name: The name of the policy. + :type policy_name: str + :param parameters: Policy to be created. + :type parameters: + ~azure.mgmt.network.v2020_05_01.models.WebApplicationFirewallPolicy + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: WebApplicationFirewallPolicy or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.network.v2020_05_01.models.WebApplicationFirewallPolicy or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'policyName': self._serialize.url("policy_name", policy_name, 'str', max_length=128), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'WebApplicationFirewallPolicy') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('WebApplicationFirewallPolicy', response) + if response.status_code == 201: + deserialized = self._deserialize('WebApplicationFirewallPolicy', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies/{policyName}'} + + + def _delete_initial( + self, resource_group_name, policy_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'policyName': self._serialize.url("policy_name", policy_name, 'str', max_length=128), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, policy_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes Policy. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param policy_name: The name of the policy. + :type policy_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + policy_name=policy_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies/{policyName}'} diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/version.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/version.py similarity index 100% rename from src/azure-firewall/azext_firewall/vendored_sdks/v2019_07_01/v2019_07_01/version.py rename to src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/v2020_05_01/version.py diff --git a/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/version.py b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/version.py new file mode 100644 index 00000000000..0d352efbf74 --- /dev/null +++ b/src/azure-firewall/azext_firewall/vendored_sdks/v2020_05_01/version.py @@ -0,0 +1,8 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- + +VERSION = "10.2.0" diff --git a/src/azure-firewall/setup.py b/src/azure-firewall/setup.py index e748e5e4225..7e4f592e252 100644 --- a/src/azure-firewall/setup.py +++ b/src/azure-firewall/setup.py @@ -8,7 +8,7 @@ from codecs import open from setuptools import setup, find_packages -VERSION = "0.3.0" +VERSION = "0.4.0" CLASSIFIERS = [ 'Development Status :: 4 - Beta', diff --git a/src/blockchain/HISTORY.rst b/src/blockchain/HISTORY.rst new file mode 100644 index 00000000000..1c139576ba0 --- /dev/null +++ b/src/blockchain/HISTORY.rst @@ -0,0 +1,8 @@ +.. :changelog: + +Release History +=============== + +0.1.0 +++++++ +* Initial release. diff --git a/src/blockchain/README.md b/src/blockchain/README.md new file mode 100644 index 00000000000..73eaaa00117 --- /dev/null +++ b/src/blockchain/README.md @@ -0,0 +1,93 @@ +Microsoft Azure CLI 'blockchain' Extension +========================================== + +This package is for the 'blockchain' extension. +i.e. 'az blockchain' +#### Install: +Install CLI first: https://docs.microsoft.com/en-us/cli/azure/install-azure-cli?view=azure-cli-latest + +#### Install blockchain extension. (Pre-request) + +`az extension add -n blockchain` + +#### Preparation: +Create the resource group if it doesn't exist: + +`az group create -n MyResourceGroup -l westus` + +#### Usage Examples: +List consortiums for a specif location + +`az blockchain consortium list --location southeastasia` + +Create a blockchain memeber + +`az blockchain member create --location southeastasia --consortium "ContoseConsortium" --consortium-management-account-password "1234abcdEFG1" --password "1234abcdEFG1" --validator-nodes-sku capacity=2 --protocol "Quorum" --name "contosemember1" --resource-group "MyResourceGroup" --firewall-rules rule-name=mytest start-ip-address=10.0.0.0 end-ip-address=10.0.1.0` + +Show a blockchain memeber + +`az blockchain member show --name "contosemember1" --resource-group "MyResourceGroup"` + +List all blockchain memebers in a resource group + +`az blockchain member list --resource-group "MyResourceGroup"` + + +List all blockchain memebers in a sub + +`az blockchain member list` + + +List all consortium members in a blockchain memeber + +`az blockchain member list-consortium-member --name "contosemember1" --resource-group "MyResourceGroup"` + + +List api keys of a blockchain memeber + +`az blockchain member list-api-keys --name "contosemember1" --resource-group "MyResourceGroup"` + + +Regen key 1 for a blockchain memeber + +`az blockchain member regenerate-api-key --key-name "key1" --name "contosemember1" --resource-group "MyResourceGroup"` + + +Update a blockchain memeber + +`az blockchain member update --consortium-management-account-password "1234abcdEFG12" --password "1234abcdEFG12" --name "contosemember1" --resource-group "MyResourceGroup" --firewall-rules rule-name=mytest start-ip-address=10.0.0.0 end-ip-address=10.0.1.0` + +Create a blockchain transaction node + +`az blockchain transaction-node create --member-name "contosemember1" -g MyResourceGroup -l southeastasia --password "1234abcdEFG1" --name txnode2` + +Show a blockchain transaction node + +`az blockchain transaction-node show --member-name "contosemember1" -g MyResourceGroup --name txnode2` + +List all blockchain transaction node + +`az blockchain transaction-node list --member-name "contosemember1" -g MyResourceGroup` + +List api keys for a blockchain transaction node + +`az blockchain transaction-node list-api-key --member-name "contosemember1" -g MyResourceGroup --name txnode2` + +Regen api key 1 for a blockchain transaction node + +`az blockchain transaction-node regenerate-api-key --member-name "contosemember1" -g MyResourceGroup --name txnode2 --key-name "key1"` + +Update a blockchain transaction node + +`az blockchain transaction-node update --member-name "contosemember1" -g MyResourceGroup --password "1234abcdEFG2" --name txnode2` + +Delete a blockchain transaction node + +`az blockchain transaction-node delete --member-name "contosemember1" -g MyResourceGroup --name txnode2` + +Delete a blockchain memeber + +`az blockchain member delete --name "contosemember1" --resource-group "MyResourceGroup"` + + + diff --git a/src/blockchain/azext_blockchain/__init__.py b/src/blockchain/azext_blockchain/__init__.py new file mode 100644 index 00000000000..661492f2bbc --- /dev/null +++ b/src/blockchain/azext_blockchain/__init__.py @@ -0,0 +1,46 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from azure.cli.core import AzCommandsLoader +from azext_blockchain.generated._help import helps # pylint: disable=unused-import + + +class BlockchainManagementClientCommandsLoader(AzCommandsLoader): + + def __init__(self, cli_ctx=None): + from azure.cli.core.commands import CliCommandType + from azext_blockchain.generated._client_factory import cf_blockchain + blockchain_custom = CliCommandType( + operations_tmpl='azext_blockchain.custom#{}', + client_factory=cf_blockchain) + super(BlockchainManagementClientCommandsLoader, self).__init__(cli_ctx=cli_ctx, + custom_command_type=blockchain_custom) + + def load_command_table(self, args): + from azext_blockchain.generated.commands import load_command_table + load_command_table(self, args) + try: + from azext_blockchain.manual.commands import load_command_table as load_command_table_manual + load_command_table_manual(self, args) + except ImportError: + pass + return self.command_table + + def load_arguments(self, command): + from azext_blockchain.generated._params import load_arguments + load_arguments(self, command) + try: + from azext_blockchain.manual._params import load_arguments as load_arguments_manual + load_arguments_manual(self, command) + except ImportError: + pass + + +COMMAND_LOADER_CLS = BlockchainManagementClientCommandsLoader diff --git a/src/blockchain/azext_blockchain/action.py b/src/blockchain/azext_blockchain/action.py new file mode 100644 index 00000000000..d95d53bf711 --- /dev/null +++ b/src/blockchain/azext_blockchain/action.py @@ -0,0 +1,17 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +# pylint: disable=wildcard-import +# pylint: disable=unused-wildcard-import + +from .generated.action import * # noqa: F403 +try: + from .manual.action import * # noqa: F403 +except ImportError: + pass diff --git a/src/blockchain/azext_blockchain/azext_metadata.json b/src/blockchain/azext_blockchain/azext_metadata.json new file mode 100644 index 00000000000..13025150393 --- /dev/null +++ b/src/blockchain/azext_blockchain/azext_metadata.json @@ -0,0 +1,4 @@ +{ + "azext.isExperimental": true, + "azext.minCliCoreVersion": "2.3.1" +} \ No newline at end of file diff --git a/src/blockchain/azext_blockchain/custom.py b/src/blockchain/azext_blockchain/custom.py new file mode 100644 index 00000000000..dbe9d5f9742 --- /dev/null +++ b/src/blockchain/azext_blockchain/custom.py @@ -0,0 +1,17 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +# pylint: disable=wildcard-import +# pylint: disable=unused-wildcard-import + +from .generated.custom import * # noqa: F403 +try: + from .manual.custom import * # noqa: F403 +except ImportError: + pass diff --git a/src/blockchain/azext_blockchain/generated/__init__.py b/src/blockchain/azext_blockchain/generated/__init__.py new file mode 100644 index 00000000000..c9cfdc73e77 --- /dev/null +++ b/src/blockchain/azext_blockchain/generated/__init__.py @@ -0,0 +1,12 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +__path__ = __import__('pkgutil').extend_path(__path__, __name__) diff --git a/src/blockchain/azext_blockchain/generated/_client_factory.py b/src/blockchain/azext_blockchain/generated/_client_factory.py new file mode 100644 index 00000000000..fc58c28046a --- /dev/null +++ b/src/blockchain/azext_blockchain/generated/_client_factory.py @@ -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. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + + +def cf_blockchain(cli_ctx, *_): + from azure.cli.core.commands.client_factory import get_mgmt_service_client + from ..vendored_sdks.blockchain import BlockchainManagementClient + return get_mgmt_service_client(cli_ctx, BlockchainManagementClient) + + +def cf_member(cli_ctx, *_): + return cf_blockchain(cli_ctx).blockchain_member + + +def cf_consortium(cli_ctx, *_): + return cf_blockchain(cli_ctx).location + + +def cf_transaction_node(cli_ctx, *_): + return cf_blockchain(cli_ctx).transaction_node diff --git a/src/blockchain/azext_blockchain/generated/_help.py b/src/blockchain/azext_blockchain/generated/_help.py new file mode 100644 index 00000000000..98affe4b33b --- /dev/null +++ b/src/blockchain/azext_blockchain/generated/_help.py @@ -0,0 +1,230 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +# pylint: disable=too-many-lines + +from knack.help_files import helps + + +helps['blockchain member'] = """ + type: group + short-summary: blockchain member +""" + +helps['blockchain member list'] = """ + type: command + short-summary: List the blockchain members. + examples: + - name: List the blockchain members in a resource group. + text: |- + az blockchain member list --resource-group "mygroup" +""" + +helps['blockchain member show'] = """ + type: command + short-summary: Show the details about a blockchain member. + examples: + - name: Show the details about a blockchain member. + text: |- + az blockchain member show --name "contosemember1" --resource-group "mygroup" +""" + +helps['blockchain member create'] = """ + type: command + short-summary: Create a blockchain member. + parameters: + - name: --firewall-rules + short-summary: Firewall rules of the blockchian member. + long-summary: | + Expect value: KEY1=VALUE1 KEY2=VALUE2 ... , available KEYs are: rule-name, start-ip-address, end-ip-address. + + Multiple firewall rules can be specified by using more than one `--firewall-rules` argument. + examples: + - name: Create a blockchain member. + text: |- + az blockchain member create --location "southeastasia" --consortium "ContoseConsortium" --consortium-man\ +agement-account-password "1234abcdEFG1" --password "1234abcdEFG1" --validator-nodes-sku capacity=2 --protocol "Quorum" \ +--name "contosemember1" --resource-group "mygroup" +""" + +helps['blockchain member update'] = """ + type: command + short-summary: Update a blockchain member. + parameters: + - name: --firewall-rules + short-summary: Firewall rules of the blockchian member. + long-summary: | + Expect value: KEY1=VALUE1 KEY2=VALUE2 ... , available KEYs are: rule-name, start-ip-address, end-ip-address. + + Multiple firewall rules can be specified by using more than one `--firewall-rules` argument. + examples: + - name: Update a blockchain member. + text: |- + az blockchain member update --consortium-management-account-password "1234abcdEFG1" --password "1234abcd\ +EFG1" --name "ContoseMember1" --resource-group "mygroup" +""" + +helps['blockchain member delete'] = """ + type: command + short-summary: Delete a blockchain member. + examples: + - name: Delete a blockchain member. + text: |- + az blockchain member delete --name "contosemember1" --resource-group "mygroup" +""" + +helps['blockchain member wait'] = """ + type: command + short-summary: Wait until a blockchain member is created or deleted. + examples: + - name: Wait until a blockchain member is created. + text: |- + az blockchain member wait --name "contosemember1" --resource-group "mygroup" --created +""" + +helps['blockchain member list-api-key'] = """ + type: command + short-summary: List the API keys for a blockchain member. + examples: + - name: List the API keys for a blockchain member. + text: |- + az blockchain member list-api-key --name "contosemember1" --resource-group "mygroup" +""" + +helps['blockchain member list-consortium-member'] = """ + type: command + short-summary: List the consortium members for a blockchain member. + examples: + - name: List the consortium members for a blockchain member. + text: |- + az blockchain member list-consortium-member --name "contosemember1" --resource-group "\ +mygroup" +""" + +helps['blockchain member regenerate-api-key'] = """ + type: command + short-summary: Regenerate the API keys for a blockchain member. + examples: + - name: Regenerate the API keys for a blockchain member. + text: |- + az blockchain member regenerate-api-key --key-name "key1" --name "contosemember1" --re\ +source-group "mygroup" +""" + +helps['blockchain consortium'] = """ + type: group + short-summary: blockchain consortium +""" + +helps['blockchain consortium list'] = """ + type: command + short-summary: List the available consortiums for a subscription. + examples: + - name: List the available consortiums for a subscription. + text: |- + az blockchain consortium list --location "southeastasia" +""" + +helps['blockchain transaction-node'] = """ + type: group + short-summary: blockchain transaction-node +""" + +helps['blockchain transaction-node list'] = """ + type: command + short-summary: List the transaction nodes for a blockchain member. + examples: + - name: List the transaction nodes for a blockchain member. + text: |- + az blockchain transaction-node list --member-name "contosemember1" --resource-group "mygroup" +""" + +helps['blockchain transaction-node show'] = """ + type: command + short-summary: Show the details of the transaction node. + examples: + - name: Show the details of the transaction node. + text: |- + az blockchain transaction-node show --member-name "contosemember1" --resource-group "mygroup"\ + --name "txnode2" +""" + +helps['blockchain transaction-node create'] = """ + type: command + short-summary: Create a transaction node. + parameters: + - name: --firewall-rules + short-summary: Firewall rules of the blockchian transaction node. + long-summary: | + Expect value: KEY1=VALUE1 KEY2=VALUE2 ... , available KEYs are: rule-name, start-ip-address, end-ip-address. + + Multiple firewall rules can be specified by using more than one `--firewall-rules` argument. + examples: + - name: Create a transaction node. + text: |- + az blockchain transaction-node create --member-name "contosemember1" --resource-group "mygrou\ +p" --location "southeastasia" --password "1234abcdEFG1" --name "txnode2" +""" + +helps['blockchain transaction-node update'] = """ + type: command + short-summary: Update the transaction node. + parameters: + - name: --firewall-rules + short-summary: Firewall rules of the blockchian transaction node. + long-summary: | + Expect value: KEY1=VALUE1 KEY2=VALUE2 ... , available KEYs are: rule-name, start-ip-address, end-ip-address. + + Multiple firewall rules can be specified by using more than one `--firewall-rules` argument. + examples: + - name: Update the transaction node. + text: |- + az blockchain transaction-node update --member-name "contosemember1" --resource-group "mygrou\ +p" --password "1234abcdEFG1" --name "txnode2" +""" + +helps['blockchain transaction-node delete'] = """ + type: command + short-summary: Delete the transaction node. + examples: + - name: Delete the transaction node. + text: |- + az blockchain transaction-node delete --member-name "contosemember1" --resource-group "mygrou\ +p" --name "txNode2" +""" + +helps['blockchain transaction-node wait'] = """ + type: command + short-summary: Wait until the transaction node is created or deleted. + examples: + - name: Wait until the transaction node is created. + text: |- + az blockchain transaction-node wait --member-name "contosemember1" --resource-group "mygrou\ +p" --name "txNode2" --created +""" + +helps['blockchain transaction-node list-api-key'] = """ + type: command + short-summary: List the API keys for the transaction node. + examples: + - name: List the API keys for the transaction node. + text: |- + az blockchain transaction-node list-api-key --member-name "contosemember1" --resource-group "\ +mygroup" --name "txnode2" +""" + +helps['blockchain transaction-node regenerate-api-key'] = """ + type: command + short-summary: Regenerate the API keys for the blockchain member. + examples: + - name: Regenerate the API keys for the blockchain member. + text: |- + az blockchain transaction-node regenerate-api-key --key-name "key1" --member-name "contosemem\ +ber1" --resource-group "mygroup" --name "txnode2" +""" diff --git a/src/blockchain/azext_blockchain/generated/_params.py b/src/blockchain/azext_blockchain/generated/_params.py new file mode 100644 index 00000000000..948bdc59af0 --- /dev/null +++ b/src/blockchain/azext_blockchain/generated/_params.py @@ -0,0 +1,132 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +# pylint: disable=too-many-lines +# pylint: disable=too-many-statements + +from azure.cli.core.commands.parameters import ( + tags_type, + get_enum_type, + resource_group_name_type, + get_location_type +) +from azure.cli.core.commands.validators import get_default_location_from_resource_group +from azext_blockchain.generated._validators import process_blockchain_member_sku +from azext_blockchain.action import ( + AddValidatorNodesSku, + AddBlockchainMemberCreateFirewallRules, + AddBlockchainTransactionNodeUpdateFirewallRules, + AddBlockchainTransactionNodeCreateFirewallRules +) + + +def load_arguments(self, _): + + with self.argument_context('blockchain member list') as c: + c.argument('resource_group_name', resource_group_name_type) + + with self.argument_context('blockchain member') as c: + c.argument('blockchain_member_name', options_list=['--name', '-n'], help='Blockchain member name.') + c.argument('resource_group_name', resource_group_name_type) + + with self.argument_context('blockchain member create') as c: + c.argument('blockchain_member_name', options_list=['--name', '-n'], help='Blockchain member name.') + c.argument('resource_group_name', resource_group_name_type) + c.argument('location', arg_type=get_location_type(self.cli_ctx), + validator=get_default_location_from_resource_group) + c.argument('tags', tags_type) + c.argument('sku', arg_type=get_enum_type(['Basic', 'Standard']), + help='The Sku of the blockchain member', validator=process_blockchain_member_sku) + c.argument('protocol', arg_type=get_enum_type(['NotSpecified', 'Parity', 'Quorum', 'Corda']), help='Gets or set' + 's the blockchain protocol.') + c.argument('validator_nodes_sku', action=AddValidatorNodesSku, nargs='+', help='Gets or sets the blockchain val' + 'idator nodes Sku. Expect value: capacity=xx.') + c.argument('password', help='Sets the basic auth password of the blockchain member.') + c.argument('consortium', help='Gets or sets the consortium for the blockchain member.') + c.argument('consortium_management_account_password', help='Sets the managed consortium management account passw' + 'ord.') + c.argument('consortium_role', help='Gets the role of the member in the consortium.') + c.argument('consortium_member_display_name', help='Gets the display name of the member in the consortium.') + c.argument('firewall_rules', action=AddBlockchainMemberCreateFirewallRules, nargs='+') + + with self.argument_context('blockchain member update') as c: + c.argument('blockchain_member_name', options_list=['--name', '-n'], help='Blockchain member name.') + c.argument('resource_group_name', resource_group_name_type) + c.argument('tags', tags_type) + c.argument('password', help='Sets the transaction node dns endpoint basic auth password.') + c.argument('firewall_rules', action=AddBlockchainTransactionNodeUpdateFirewallRules, nargs='+') + c.argument('consortium_management_account_password', help='Sets the managed consortium management account passw' + 'ord.') + + with self.argument_context('blockchain member delete') as c: + c.argument('blockchain_member_name', options_list=['--name', '-n'], help='Blockchain member name') + c.argument('resource_group_name', resource_group_name_type) + + with self.argument_context('blockchain member list-all') as c: + pass + + with self.argument_context('blockchain member list-api-key') as c: + c.argument('blockchain_member_name', options_list=['--name', '-n'], help='Blockchain member name.') + c.argument('resource_group_name', resource_group_name_type) + + with self.argument_context('blockchain member list-consortium-member') as c: + c.argument('blockchain_member_name', options_list=['--name', '-n'], help='Blockchain member name.') + c.argument('resource_group_name', resource_group_name_type) + + with self.argument_context('blockchain member regenerate-api-key') as c: + c.argument('blockchain_member_name', options_list=['--name', '-n'], help='Blockchain member name.') + c.argument('resource_group_name', resource_group_name_type) + c.argument('key_name', help='Gets or sets the API key name.', + arg_type=get_enum_type(['key1', 'key2'])) + + with self.argument_context('blockchain consortium list') as c: + c.argument('location', arg_type=get_location_type(self.cli_ctx)) + + with self.argument_context('blockchain transaction-node list') as c: + c.argument('blockchain_member_name', options_list=['--member-name'], help='Blockchain member name.') + c.argument('resource_group_name', resource_group_name_type) + + with self.argument_context('blockchain transaction-node') as c: + c.argument('blockchain_member_name', options_list=['--member-name'], help='Blockchain member name.') + c.argument('transaction_node_name', options_list=['--name', '-n'], help='Transaction node name.') + c.argument('resource_group_name', resource_group_name_type) + + with self.argument_context('blockchain transaction-node create') as c: + c.argument('blockchain_member_name', options_list=['--member-name'], help='Blockchain member name.') + c.argument('transaction_node_name', options_list=['--name', '-n'], help='Transaction node name.') + c.argument('resource_group_name', resource_group_name_type) + c.argument('location', arg_type=get_location_type(self.cli_ctx), + validator=get_default_location_from_resource_group) + c.argument('password', help='Sets the transaction node dns endpoint basic auth password.') + c.argument('firewall_rules', action=AddBlockchainTransactionNodeCreateFirewallRules, nargs='+') + + with self.argument_context('blockchain transaction-node update') as c: + c.argument('blockchain_member_name', options_list=['--member-name'], help='Blockchain member name.') + c.argument('transaction_node_name', options_list=['--name', '-n'], help='Transaction node name.') + c.argument('resource_group_name', resource_group_name_type) + c.argument('password', help='Sets the transaction node dns endpoint basic auth password.') + c.argument('firewall_rules', action=AddBlockchainTransactionNodeUpdateFirewallRules, nargs='+') + + with self.argument_context('blockchain transaction-node delete') as c: + c.argument('blockchain_member_name', options_list=['--member-name'], help='Blockchain member name.') + c.argument('transaction_node_name', options_list=['--name', '-n'], help='Transaction node name.') + c.argument('resource_group_name', resource_group_name_type) + + with self.argument_context('blockchain transaction-node list-api-key') as c: + c.argument('blockchain_member_name', options_list=['--member-name'], help='Blockchain member name.') + c.argument('transaction_node_name', options_list=['--name', '-n'], help='Transaction node name.') + c.argument('resource_group_name', resource_group_name_type) + + with self.argument_context('blockchain transaction-node regenerate-api-key') as c: + c.argument('blockchain_member_name', options_list=['--member-name'], help='Blockchain member name.') + c.argument('transaction_node_name', options_list=['--name', '-n'], help='Transaction node name.') + c.argument('resource_group_name', resource_group_name_type) + c.argument('key_name', help='Gets or sets the API key name.', + arg_type=get_enum_type(['key1', 'key2'])) + c.argument('value', help='Gets or sets the API key value.') diff --git a/src/blockchain/azext_blockchain/generated/_validators.py b/src/blockchain/azext_blockchain/generated/_validators.py new file mode 100644 index 00000000000..5dee7c0d975 --- /dev/null +++ b/src/blockchain/azext_blockchain/generated/_validators.py @@ -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. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + + +def process_blockchain_member_sku(namespace): + if namespace.sku == "Basic": + namespace.sku = { + 'name': 'B0', + 'tier': 'Basic' + } + else: + namespace.sku = { + 'name': 'S0', + 'tier': 'Standard' + } diff --git a/src/blockchain/azext_blockchain/generated/action.py b/src/blockchain/azext_blockchain/generated/action.py new file mode 100644 index 00000000000..41e25cd3557 --- /dev/null +++ b/src/blockchain/azext_blockchain/generated/action.py @@ -0,0 +1,114 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +# pylint: disable=protected-access + +import argparse +from knack.util import CLIError +from collections import defaultdict + + +class AddValidatorNodesSku(argparse.Action): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + namespace.validator_nodes_sku = action + + def get_action(self, values, option_string): # pylint: disable=no-self-use + try: + properties = defaultdict(list) + for (k, v) in (x.split('=', 1) for x in values): + properties[k].append(v) + properties = dict(properties) + except ValueError: + raise CLIError('usage error: {} [KEY=VALUE ...]'.format(option_string)) + d = {} + for k in properties: + kl = k.lower() + v = properties[k] + if kl == 'capacity': + d['capacity'] = v[0] + return d + + +class AddBlockchainMemberCreateFirewallRules(argparse._AppendAction): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + super(AddBlockchainMemberCreateFirewallRules, self).__call__(parser, namespace, action, option_string) + + def get_action(self, values, option_string): # pylint: disable=no-self-use + try: + properties = defaultdict(list) + for (k, v) in (x.split('=', 1) for x in values): + properties[k].append(v) + properties = dict(properties) + except ValueError: + raise CLIError('usage error: {} [KEY=VALUE ...]'.format(option_string)) + d = {} + for k in properties: + kl = k.lower() + v = properties[k] + if kl == 'rule-name': + d['rule_name'] = v[0] + elif kl == 'start-ip-address': + d['start_ip_address'] = v[0] + elif kl == 'end-ip-address': + d['end_ip_address'] = v[0] + return d + + +class AddBlockchainTransactionNodeUpdateFirewallRules(argparse._AppendAction): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + super(AddBlockchainTransactionNodeUpdateFirewallRules, self).__call__(parser, namespace, action, option_string) + + def get_action(self, values, option_string): # pylint: disable=no-self-use + try: + properties = defaultdict(list) + for (k, v) in (x.split('=', 1) for x in values): + properties[k].append(v) + properties = dict(properties) + except ValueError: + raise CLIError('usage error: {} [KEY=VALUE ...]'.format(option_string)) + d = {} + for k in properties: + kl = k.lower() + v = properties[k] + if kl == 'rule-name': + d['rule_name'] = v[0] + elif kl == 'start-ip-address': + d['start_ip_address'] = v[0] + elif kl == 'end-ip-address': + d['end_ip_address'] = v[0] + return d + + +class AddBlockchainTransactionNodeCreateFirewallRules(argparse._AppendAction): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + super(AddBlockchainTransactionNodeCreateFirewallRules, self).__call__(parser, namespace, action, option_string) + + def get_action(self, values, option_string): # pylint: disable=no-self-use + try: + properties = defaultdict(list) + for (k, v) in (x.split('=', 1) for x in values): + properties[k].append(v) + properties = dict(properties) + except ValueError: + raise CLIError('usage error: {} [KEY=VALUE ...]'.format(option_string)) + d = {} + for k in properties: + kl = k.lower() + v = properties[k] + if kl == 'rule-name': + d['rule_name'] = v[0] + elif kl == 'start-ip-address': + d['start_ip_address'] = v[0] + elif kl == 'end-ip-address': + d['end_ip_address'] = v[0] + return d diff --git a/src/blockchain/azext_blockchain/generated/commands.py b/src/blockchain/azext_blockchain/generated/commands.py new file mode 100644 index 00000000000..def63fcfa79 --- /dev/null +++ b/src/blockchain/azext_blockchain/generated/commands.py @@ -0,0 +1,56 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from azure.cli.core.commands import CliCommandType + + +def load_command_table(self, _): + + from azext_blockchain.generated._client_factory import cf_member + blockchain_member = CliCommandType( + operations_tmpl='azext_blockchain.vendored_sdks.blockchain.operations._blockchain_member_operations#BlockchainM' + 'emberOperations.{}', + client_factory=cf_member) + with self.command_group('blockchain member', blockchain_member, client_factory=cf_member, + is_experimental=True) as g: + g.custom_command('list', 'blockchain_member_list') + g.custom_show_command('show', 'blockchain_member_show') + g.custom_command('create', 'blockchain_member_create', supports_no_wait=True) + g.custom_command('update', 'blockchain_member_update') + g.custom_command('delete', 'blockchain_member_delete', supports_no_wait=True, confirmation=True) + g.custom_command('list-api-key', 'blockchain_member_list_api_key') + g.custom_command('list-consortium-member', 'blockchain_member_list_consortium_member') + g.custom_command('regenerate-api-key', 'blockchain_member_regenerate_api_key') + g.wait_command('wait') + + from azext_blockchain.generated._client_factory import cf_consortium + blockchain_consortium = CliCommandType( + operations_tmpl='azext_blockchain.vendored_sdks.blockchain.operations._location_operations#LocationOperations.{' + '}', + client_factory=cf_consortium) + with self.command_group('blockchain consortium', blockchain_consortium, client_factory=cf_consortium, + is_experimental=True) as g: + g.custom_command('list', 'blockchain_consortium_list') + + from azext_blockchain.generated._client_factory import cf_transaction_node + blockchain_transaction_node = CliCommandType( + operations_tmpl='azext_blockchain.vendored_sdks.blockchain.operations._transaction_node_operations#TransactionN' + 'odeOperations.{}', + client_factory=cf_transaction_node) + with self.command_group('blockchain transaction-node', blockchain_transaction_node, + client_factory=cf_transaction_node, is_experimental=True) as g: + g.custom_command('list', 'blockchain_transaction_node_list') + g.custom_show_command('show', 'blockchain_transaction_node_show') + g.custom_command('create', 'blockchain_transaction_node_create', supports_no_wait=True) + g.custom_command('update', 'blockchain_transaction_node_update') + g.custom_command('delete', 'blockchain_transaction_node_delete', supports_no_wait=True, confirmation=True) + g.custom_command('list-api-key', 'blockchain_transaction_node_list_api_key') + g.custom_command('regenerate-api-key', 'blockchain_transaction_node_regenerate_api_key') + g.wait_command('wait') diff --git a/src/blockchain/azext_blockchain/generated/custom.py b/src/blockchain/azext_blockchain/generated/custom.py new file mode 100644 index 00000000000..b90a8e7c04c --- /dev/null +++ b/src/blockchain/azext_blockchain/generated/custom.py @@ -0,0 +1,184 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +# pylint: disable=too-many-lines + +from azure.cli.core.util import sdk_no_wait + + +def blockchain_member_list(client, + resource_group_name=None): + if resource_group_name: + return client.list(resource_group_name=resource_group_name) + return client.list_all() + + +def blockchain_member_show(client, + blockchain_member_name, + resource_group_name): + return client.get(blockchain_member_name=blockchain_member_name, + resource_group_name=resource_group_name) + + +def blockchain_member_create(client, + blockchain_member_name, + resource_group_name, + location=None, + tags=None, + sku=None, + protocol=None, + validator_nodes_sku=None, + password=None, + consortium=None, + consortium_management_account_password=None, + firewall_rules=None, + no_wait=False): + return sdk_no_wait(no_wait, client.begin_create, + blockchain_member_name=blockchain_member_name, + resource_group_name=resource_group_name, + location=location, + tags=tags, + sku=sku, + protocol=protocol, + validator_nodes_sku=validator_nodes_sku, + password=password, + consortium=consortium, + consortium_management_account_password=consortium_management_account_password, + firewall_rules=firewall_rules) + + +def blockchain_member_update(client, + blockchain_member_name, + resource_group_name, + tags=None, + password=None, + firewall_rules=None, + consortium_management_account_password=None): + return client.update(blockchain_member_name=blockchain_member_name, + resource_group_name=resource_group_name, + tags=tags, + password=password, + firewall_rules=firewall_rules, + consortium_management_account_password=consortium_management_account_password) + + +def blockchain_member_delete(client, + blockchain_member_name, + resource_group_name, + no_wait=False): + return sdk_no_wait(no_wait, client.begin_delete, + blockchain_member_name=blockchain_member_name, + resource_group_name=resource_group_name) + + +def blockchain_member_list_api_key(client, + blockchain_member_name, + resource_group_name): + return client.list_api_key(blockchain_member_name=blockchain_member_name, + resource_group_name=resource_group_name) + + +def blockchain_member_list_consortium_member(client, + blockchain_member_name, + resource_group_name): + return client.list_consortium_member(blockchain_member_name=blockchain_member_name, + resource_group_name=resource_group_name) + + +def blockchain_member_regenerate_api_key(client, + blockchain_member_name, + resource_group_name, + key_name=None): + return client.regenerate_api_key(blockchain_member_name=blockchain_member_name, + resource_group_name=resource_group_name, + key_name=key_name) + + +def blockchain_consortium_list(client, + location): + return client.list_consortium(location_name=location) + + +def blockchain_transaction_node_list(client, + blockchain_member_name, + resource_group_name): + return client.list(blockchain_member_name=blockchain_member_name, + resource_group_name=resource_group_name) + + +def blockchain_transaction_node_show(client, + blockchain_member_name, + transaction_node_name, + resource_group_name): + return client.get(blockchain_member_name=blockchain_member_name, + transaction_node_name=transaction_node_name, + resource_group_name=resource_group_name) + + +def blockchain_transaction_node_create(client, + blockchain_member_name, + transaction_node_name, + resource_group_name, + location=None, + password=None, + firewall_rules=None, + no_wait=False): + return sdk_no_wait(no_wait, client.begin_create, + blockchain_member_name=blockchain_member_name, + transaction_node_name=transaction_node_name, + resource_group_name=resource_group_name, + location=location, + password=password, + firewall_rules=firewall_rules) + + +def blockchain_transaction_node_update(client, + blockchain_member_name, + transaction_node_name, + resource_group_name, + password=None, + firewall_rules=None): + return client.update(blockchain_member_name=blockchain_member_name, + transaction_node_name=transaction_node_name, + resource_group_name=resource_group_name, + password=password, + firewall_rules=firewall_rules) + + +def blockchain_transaction_node_delete(client, + blockchain_member_name, + transaction_node_name, + resource_group_name, + no_wait=False): + return sdk_no_wait(no_wait, client.begin_delete, + blockchain_member_name=blockchain_member_name, + transaction_node_name=transaction_node_name, + resource_group_name=resource_group_name) + + +def blockchain_transaction_node_list_api_key(client, + blockchain_member_name, + transaction_node_name, + resource_group_name): + return client.list_api_key(blockchain_member_name=blockchain_member_name, + transaction_node_name=transaction_node_name, + resource_group_name=resource_group_name) + + +def blockchain_transaction_node_regenerate_api_key(client, + blockchain_member_name, + transaction_node_name, + resource_group_name, + key_name=None, + value=None): + return client.regenerate_api_key(blockchain_member_name=blockchain_member_name, + transaction_node_name=transaction_node_name, + resource_group_name=resource_group_name, + key_name=key_name, + value=value) diff --git a/src/blockchain/azext_blockchain/manual/__init__.py b/src/blockchain/azext_blockchain/manual/__init__.py new file mode 100644 index 00000000000..c9cfdc73e77 --- /dev/null +++ b/src/blockchain/azext_blockchain/manual/__init__.py @@ -0,0 +1,12 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +__path__ = __import__('pkgutil').extend_path(__path__, __name__) diff --git a/src/blockchain/azext_blockchain/tests/__init__.py b/src/blockchain/azext_blockchain/tests/__init__.py new file mode 100644 index 00000000000..29ccafb652b --- /dev/null +++ b/src/blockchain/azext_blockchain/tests/__init__.py @@ -0,0 +1,48 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +import inspect +import os + + +__path__ = __import__('pkgutil').extend_path(__path__, __name__) + + +def try_manual(func): + def import_manual_function(origin_func): + from importlib import import_module + decorated_path = inspect.getfile(origin_func) + module_path = __path__[0] + if not decorated_path.startswith(module_path): + raise Exception("Decorator can only be used in submodules!") + manual_path = os.path.join( + decorated_path[module_path.rfind(os.path.sep) + 1:]) + manual_file_path, manual_file_name = os.path.split(manual_path) + module_name, _ = os.path.splitext(manual_file_name) + manual_module = "..manual." + \ + ".".join(manual_file_path.split(os.path.sep) + [module_name, ]) + return getattr(import_module(manual_module, package=__name__), origin_func.__name__) + + def get_func_to_call(): + func_to_call = func + try: + func_to_call = import_manual_function(func) + except (ImportError, AttributeError): + pass + return func_to_call + + def wrapper(*args, **kwargs): + func_to_call = get_func_to_call() + print("running {}()...".format(func.__name__)) + return func_to_call(*args, **kwargs) + + if inspect.isclass(func): + return get_func_to_call() + return wrapper diff --git a/src/blockchain/azext_blockchain/tests/latest/__init__.py b/src/blockchain/azext_blockchain/tests/latest/__init__.py new file mode 100644 index 00000000000..c9cfdc73e77 --- /dev/null +++ b/src/blockchain/azext_blockchain/tests/latest/__init__.py @@ -0,0 +1,12 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +__path__ = __import__('pkgutil').extend_path(__path__, __name__) diff --git a/src/blockchain/azext_blockchain/tests/latest/preparers.py b/src/blockchain/azext_blockchain/tests/latest/preparers.py new file mode 100644 index 00000000000..580507395b5 --- /dev/null +++ b/src/blockchain/azext_blockchain/tests/latest/preparers.py @@ -0,0 +1,119 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import os +from datetime import datetime +from azure_devtools.scenario_tests import SingleValueReplacer + +from azure.cli.testsdk.preparers import NoTrafficRecordingPreparer +from azure.cli.testsdk.exceptions import CliTestError +from azure.cli.testsdk.reverse_dependency import get_dummy_cli + + +KEY_RESOURCE_GROUP = 'rg' +KEY_VIRTUAL_NETWORK = 'vnet' +KEY_VNET_SUBNET = 'subnet' + + +class VirtualNetworkPreparer(NoTrafficRecordingPreparer, SingleValueReplacer): + def __init__(self, name_prefix='clitest.vn', + parameter_name='virtual_network', + resource_group_name=None, + resource_group_key=KEY_RESOURCE_GROUP, + dev_setting_name='AZURE_CLI_TEST_DEV_VIRTUAL_NETWORK_NAME', + random_name_length=24, key=KEY_VIRTUAL_NETWORK): + if ' ' in name_prefix: + raise CliTestError( + 'Error: Space character in name prefix \'%s\'' % name_prefix) + super(VirtualNetworkPreparer, self).__init__( + name_prefix, random_name_length) + self.cli_ctx = get_dummy_cli() + self.parameter_name = parameter_name + self.key = key + self.resource_group_name = resource_group_name + self.resource_group_key = resource_group_key + self.dev_setting_name = os.environ.get(dev_setting_name, None) + + def create_resource(self, name): + if self.dev_setting_name: + return {self.parameter_name: self.dev_setting_name, } + + if not self.resource_group_name: + self.resource_group_name = self.test_class_instance.kwargs.get( + self.resource_group_key) + if not self.resource_group_name: + raise CliTestError("Error: No resource group configured!") + + tags = {'product': 'azurecli', 'cause': 'automation', + 'date': datetime.utcnow().strftime('%Y-%m-%dT%H:%M:%SZ')} + if 'ENV_JOB_NAME' in os.environ: + tags['job'] = os.environ['ENV_JOB_NAME'] + tags = ' '.join(['{}={}'.format(key, value) + for key, value in tags.items()]) + template = 'az network vnet create --resource-group {} --name {} --tag ' + tags + self.live_only_execute(self.cli_ctx, template.format( + self.resource_group_name, name)) + + self.test_class_instance.kwargs[self.key] = name + return {self.parameter_name: name} + + def remove_resource(self, name): + # delete vnet if test is being recorded and if the vnet is not a dev rg + if not self.dev_setting_name: + self.live_only_execute( + self.cli_ctx, + 'az network vnet delete --name {} --resource-group {}'.format(name, self.resource_group_name)) + + +# pylint: disable=too-many-instance-attributes +class VnetSubnetPreparer(NoTrafficRecordingPreparer, SingleValueReplacer): + def __init__(self, name_prefix='clitest.vn', + parameter_name='subnet', + resource_group_name=None, + resource_group_key=KEY_RESOURCE_GROUP, + vnet_name=None, + vnet_key=KEY_VIRTUAL_NETWORK, + address_prefixes="11.0.0.0/24", + dev_setting_name='AZURE_CLI_TEST_DEV_VNET_SUBNET_NAME', + random_name_length=24, key=KEY_VNET_SUBNET): + if ' ' in name_prefix: + raise CliTestError( + 'Error: Space character in name prefix \'%s\'' % name_prefix) + super(VnetSubnetPreparer, self).__init__( + name_prefix, random_name_length) + self.cli_ctx = get_dummy_cli() + self.parameter_name = parameter_name + self.key = key + self.resource_group_name = resource_group_name + self.resource_group_key = resource_group_key + self.vnet_name = vnet_name + self.vnet_key = vnet_key + self.address_prefixes = address_prefixes + self.dev_setting_name = os.environ.get(dev_setting_name, None) + + def create_resource(self, name): + if self.dev_setting_name: + return {self.parameter_name: self.dev_setting_name, } + + if not self.resource_group_name: + self.resource_group_name = self.test_class_instance.kwargs.get( + self.resource_group_key) + if not self.resource_group_name: + raise CliTestError("Error: No resource group configured!") + if not self.vnet_name: + self.vnet_name = self.test_class_instance.kwargs.get(self.vnet_key) + if not self.vnet_name: + raise CliTestError("Error: No vnet configured!") + + self.test_class_instance.kwargs[self.key] = 'default' + return {self.parameter_name: name} + + def remove_resource(self, name, **kwargs): + pass diff --git a/src/blockchain/azext_blockchain/tests/latest/recordings/test_blockchain.yaml b/src/blockchain/azext_blockchain/tests/latest/recordings/test_blockchain.yaml new file mode 100644 index 00000000000..b77df8be802 --- /dev/null +++ b/src/blockchain/azext_blockchain/tests/latest/recordings/test_blockchain.yaml @@ -0,0 +1,3073 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - blockchain consortium list + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --location + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-blockchain/2.0.0 Python/3.7.4 (Windows-10-10.0.18362-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Blockchain/locations/southeastasia/listConsortiums?api-version=2018-06-01-preview + response: + body: + string: '{"value":[]}' + headers: + cache-control: + - no-cache + content-length: + - '12' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 06:39:53 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: '{"location": "southeastasia", "sku": {"name": "S0", "tier": "Standard"}, + "properties": {"protocol": "Quorum", "validatorNodesSku": {"capacity": 2}, "password": + "1234abcdEFG1", "consortium": "ContoseConsortium", "consortiumManagementAccountPassword": + "1234abcdEFG1", "firewallRules": [{"ruleName": "mytest", "startIpAddress": "10.0.0.0", + "endIpAddress": "10.0.1.0"}]}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - blockchain member create + Connection: + - keep-alive + Content-Length: + - '367' + Content-Type: + - application/json + ParameterSetName: + - --location --consortium --consortium-management-account-password --password + --validator-nodes-sku --protocol --name --resource-group --firewall-rules + --no-wait + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-blockchain/2.0.0 Python/3.7.4 (Windows-10-10.0.18362-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Blockchain/blockchainMembers/contosemember1?api-version=2018-06-01-preview + response: + body: + string: '{"location":"southeastasia","name":"contosemember1","kind":null,"properties":{"validatorNodesSku":{"capacity":2},"userName":"contosemember1","password":null,"consortium":"ContoseConsortium","consortiumRole":null,"consortiumMemberDisplayName":null,"consortiumManagementAccountAddress":null,"consortiumManagementAccountPassword":null,"firewallRules":[{"ruleName":"mytest","startIpAddress":"10.0.0.0","endIpAddress":"10.0.1.0"}],"rootContractAddress":null,"publicKey":null,"provisioningState":"Updating","dns":null,"protocol":"Quorum"},"type":"Microsoft.Blockchain/blockchainMembers","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Blockchain/blockchainMembers/contosemember1","tags":null,"sku":{"name":"S0","tier":"Standard"}}' + headers: + cache-control: + - no-cache + content-length: + - '845' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 06:40:04 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - blockchain member wait + Connection: + - keep-alive + ParameterSetName: + - --created --name --resource-group + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-blockchain/2.0.0 Python/3.7.4 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Blockchain/blockchainMembers/contosemember1?api-version=2018-06-01-preview + response: + body: + string: '{"location":"southeastasia","name":"contosemember1","kind":"Quorum","properties":{"validatorNodesSku":{"capacity":2},"userName":"contosemember1","password":null,"consortium":"ContoseConsortium","consortiumRole":null,"consortiumMemberDisplayName":null,"consortiumManagementAccountAddress":null,"consortiumManagementAccountPassword":null,"firewallRules":null,"rootContractAddress":null,"publicKey":null,"provisioningState":"Updating","dns":null,"protocol":"Quorum"},"type":"Microsoft.Blockchain/blockchainMembers","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Blockchain/blockchainMembers/contosemember1","tags":null,"sku":{"name":"S0","tier":"Standard"}}' + headers: + cache-control: + - no-cache + content-length: + - '776' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 06:40:05 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - blockchain member wait + Connection: + - keep-alive + ParameterSetName: + - --created --name --resource-group + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-blockchain/2.0.0 Python/3.7.4 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Blockchain/blockchainMembers/contosemember1?api-version=2018-06-01-preview + response: + body: + string: '{"location":"southeastasia","name":"contosemember1","kind":"Quorum","properties":{"validatorNodesSku":{"capacity":2},"userName":"contosemember1","password":null,"consortium":"ContoseConsortium","consortiumRole":null,"consortiumMemberDisplayName":null,"consortiumManagementAccountAddress":null,"consortiumManagementAccountPassword":null,"firewallRules":[{"ruleName":"mytest","startIpAddress":"10.0.0.0","endIpAddress":"10.0.1.0"}],"rootContractAddress":null,"publicKey":null,"provisioningState":"Updating","dns":null,"protocol":"Quorum"},"type":"Microsoft.Blockchain/blockchainMembers","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Blockchain/blockchainMembers/contosemember1","tags":null,"sku":{"name":"S0","tier":"Standard"}}' + headers: + cache-control: + - no-cache + content-length: + - '849' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 06:40:36 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - blockchain member wait + Connection: + - keep-alive + ParameterSetName: + - --created --name --resource-group + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-blockchain/2.0.0 Python/3.7.4 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Blockchain/blockchainMembers/contosemember1?api-version=2018-06-01-preview + response: + body: + string: '{"location":"southeastasia","name":"contosemember1","kind":"Quorum","properties":{"validatorNodesSku":{"capacity":2},"userName":"contosemember1","password":null,"consortium":"ContoseConsortium","consortiumRole":null,"consortiumMemberDisplayName":null,"consortiumManagementAccountAddress":null,"consortiumManagementAccountPassword":null,"firewallRules":[{"ruleName":"mytest","startIpAddress":"10.0.0.0","endIpAddress":"10.0.1.0"}],"rootContractAddress":null,"publicKey":null,"provisioningState":"Updating","dns":null,"protocol":"Quorum"},"type":"Microsoft.Blockchain/blockchainMembers","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Blockchain/blockchainMembers/contosemember1","tags":null,"sku":{"name":"S0","tier":"Standard"}}' + headers: + cache-control: + - no-cache + content-length: + - '849' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 06:41:05 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - blockchain member wait + Connection: + - keep-alive + ParameterSetName: + - --created --name --resource-group + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-blockchain/2.0.0 Python/3.7.4 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Blockchain/blockchainMembers/contosemember1?api-version=2018-06-01-preview + response: + body: + string: '{"location":"southeastasia","name":"contosemember1","kind":"Quorum","properties":{"validatorNodesSku":{"capacity":2},"userName":"contosemember1","password":null,"consortium":"ContoseConsortium","consortiumRole":null,"consortiumMemberDisplayName":null,"consortiumManagementAccountAddress":null,"consortiumManagementAccountPassword":null,"firewallRules":[{"ruleName":"mytest","startIpAddress":"10.0.0.0","endIpAddress":"10.0.1.0"}],"rootContractAddress":null,"publicKey":null,"provisioningState":"Updating","dns":null,"protocol":"Quorum"},"type":"Microsoft.Blockchain/blockchainMembers","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Blockchain/blockchainMembers/contosemember1","tags":null,"sku":{"name":"S0","tier":"Standard"}}' + headers: + cache-control: + - no-cache + content-length: + - '849' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 06:41:35 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - blockchain member wait + Connection: + - keep-alive + ParameterSetName: + - --created --name --resource-group + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-blockchain/2.0.0 Python/3.7.4 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Blockchain/blockchainMembers/contosemember1?api-version=2018-06-01-preview + response: + body: + string: '{"location":"southeastasia","name":"contosemember1","kind":"Quorum","properties":{"validatorNodesSku":{"capacity":2},"userName":"contosemember1","password":null,"consortium":"ContoseConsortium","consortiumRole":null,"consortiumMemberDisplayName":null,"consortiumManagementAccountAddress":null,"consortiumManagementAccountPassword":null,"firewallRules":[{"ruleName":"mytest","startIpAddress":"10.0.0.0","endIpAddress":"10.0.1.0"}],"rootContractAddress":null,"publicKey":null,"provisioningState":"Updating","dns":null,"protocol":"Quorum"},"type":"Microsoft.Blockchain/blockchainMembers","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Blockchain/blockchainMembers/contosemember1","tags":null,"sku":{"name":"S0","tier":"Standard"}}' + headers: + cache-control: + - no-cache + content-length: + - '849' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 06:42:05 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - blockchain member wait + Connection: + - keep-alive + ParameterSetName: + - --created --name --resource-group + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-blockchain/2.0.0 Python/3.7.4 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Blockchain/blockchainMembers/contosemember1?api-version=2018-06-01-preview + response: + body: + string: '{"location":"southeastasia","name":"contosemember1","kind":"Quorum","properties":{"validatorNodesSku":{"capacity":2},"userName":"contosemember1","password":null,"consortium":"ContoseConsortium","consortiumRole":null,"consortiumMemberDisplayName":null,"consortiumManagementAccountAddress":null,"consortiumManagementAccountPassword":null,"firewallRules":[{"ruleName":"mytest","startIpAddress":"10.0.0.0","endIpAddress":"10.0.1.0"}],"rootContractAddress":null,"publicKey":null,"provisioningState":"Updating","dns":null,"protocol":"Quorum"},"type":"Microsoft.Blockchain/blockchainMembers","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Blockchain/blockchainMembers/contosemember1","tags":null,"sku":{"name":"S0","tier":"Standard"}}' + headers: + cache-control: + - no-cache + content-length: + - '849' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 06:42:36 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - blockchain member wait + Connection: + - keep-alive + ParameterSetName: + - --created --name --resource-group + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-blockchain/2.0.0 Python/3.7.4 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Blockchain/blockchainMembers/contosemember1?api-version=2018-06-01-preview + response: + body: + string: '{"location":"southeastasia","name":"contosemember1","kind":"Quorum","properties":{"validatorNodesSku":{"capacity":2},"userName":"contosemember1","password":null,"consortium":"ContoseConsortium","consortiumRole":null,"consortiumMemberDisplayName":null,"consortiumManagementAccountAddress":null,"consortiumManagementAccountPassword":null,"firewallRules":[{"ruleName":"mytest","startIpAddress":"10.0.0.0","endIpAddress":"10.0.1.0"}],"rootContractAddress":null,"publicKey":null,"provisioningState":"Updating","dns":null,"protocol":"Quorum"},"type":"Microsoft.Blockchain/blockchainMembers","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Blockchain/blockchainMembers/contosemember1","tags":null,"sku":{"name":"S0","tier":"Standard"}}' + headers: + cache-control: + - no-cache + content-length: + - '849' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 06:43:06 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - blockchain member wait + Connection: + - keep-alive + ParameterSetName: + - --created --name --resource-group + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-blockchain/2.0.0 Python/3.7.4 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Blockchain/blockchainMembers/contosemember1?api-version=2018-06-01-preview + response: + body: + string: '{"location":"southeastasia","name":"contosemember1","kind":"Quorum","properties":{"validatorNodesSku":{"capacity":2},"userName":"contosemember1","password":null,"consortium":"ContoseConsortium","consortiumRole":null,"consortiumMemberDisplayName":null,"consortiumManagementAccountAddress":null,"consortiumManagementAccountPassword":null,"firewallRules":[{"ruleName":"mytest","startIpAddress":"10.0.0.0","endIpAddress":"10.0.1.0"}],"rootContractAddress":null,"publicKey":null,"provisioningState":"Updating","dns":null,"protocol":"Quorum"},"type":"Microsoft.Blockchain/blockchainMembers","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Blockchain/blockchainMembers/contosemember1","tags":null,"sku":{"name":"S0","tier":"Standard"}}' + headers: + cache-control: + - no-cache + content-length: + - '849' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 06:43:36 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - blockchain member wait + Connection: + - keep-alive + ParameterSetName: + - --created --name --resource-group + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-blockchain/2.0.0 Python/3.7.4 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Blockchain/blockchainMembers/contosemember1?api-version=2018-06-01-preview + response: + body: + string: '{"location":"southeastasia","name":"contosemember1","kind":"Quorum","properties":{"validatorNodesSku":{"capacity":2},"userName":"contosemember1","password":null,"consortium":"ContoseConsortium","consortiumRole":null,"consortiumMemberDisplayName":null,"consortiumManagementAccountAddress":null,"consortiumManagementAccountPassword":null,"firewallRules":[{"ruleName":"mytest","startIpAddress":"10.0.0.0","endIpAddress":"10.0.1.0"}],"rootContractAddress":null,"publicKey":null,"provisioningState":"Updating","dns":null,"protocol":"Quorum"},"type":"Microsoft.Blockchain/blockchainMembers","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Blockchain/blockchainMembers/contosemember1","tags":null,"sku":{"name":"S0","tier":"Standard"}}' + headers: + cache-control: + - no-cache + content-length: + - '849' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 06:44:06 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - blockchain member wait + Connection: + - keep-alive + ParameterSetName: + - --created --name --resource-group + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-blockchain/2.0.0 Python/3.7.4 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Blockchain/blockchainMembers/contosemember1?api-version=2018-06-01-preview + response: + body: + string: '{"location":"southeastasia","name":"contosemember1","kind":"Quorum","properties":{"validatorNodesSku":{"capacity":2},"userName":"contosemember1","password":null,"consortium":"ContoseConsortium","consortiumRole":null,"consortiumMemberDisplayName":null,"consortiumManagementAccountAddress":null,"consortiumManagementAccountPassword":null,"firewallRules":[{"ruleName":"mytest","startIpAddress":"10.0.0.0","endIpAddress":"10.0.1.0"}],"rootContractAddress":null,"publicKey":null,"provisioningState":"Updating","dns":null,"protocol":"Quorum"},"type":"Microsoft.Blockchain/blockchainMembers","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Blockchain/blockchainMembers/contosemember1","tags":null,"sku":{"name":"S0","tier":"Standard"}}' + headers: + cache-control: + - no-cache + content-length: + - '849' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 06:44:36 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - blockchain member wait + Connection: + - keep-alive + ParameterSetName: + - --created --name --resource-group + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-blockchain/2.0.0 Python/3.7.4 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Blockchain/blockchainMembers/contosemember1?api-version=2018-06-01-preview + response: + body: + string: '{"location":"southeastasia","name":"contosemember1","kind":"Quorum","properties":{"validatorNodesSku":{"capacity":2},"userName":"contosemember1","password":null,"consortium":"ContoseConsortium","consortiumRole":null,"consortiumMemberDisplayName":null,"consortiumManagementAccountAddress":null,"consortiumManagementAccountPassword":null,"firewallRules":[{"ruleName":"mytest","startIpAddress":"10.0.0.0","endIpAddress":"10.0.1.0"}],"rootContractAddress":null,"publicKey":null,"provisioningState":"Updating","dns":null,"protocol":"Quorum"},"type":"Microsoft.Blockchain/blockchainMembers","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Blockchain/blockchainMembers/contosemember1","tags":null,"sku":{"name":"S0","tier":"Standard"}}' + headers: + cache-control: + - no-cache + content-length: + - '849' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 06:45:06 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - blockchain member wait + Connection: + - keep-alive + ParameterSetName: + - --created --name --resource-group + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-blockchain/2.0.0 Python/3.7.4 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Blockchain/blockchainMembers/contosemember1?api-version=2018-06-01-preview + response: + body: + string: '{"location":"southeastasia","name":"contosemember1","kind":"Quorum","properties":{"validatorNodesSku":{"capacity":2},"userName":"contosemember1","password":null,"consortium":"ContoseConsortium","consortiumRole":null,"consortiumMemberDisplayName":null,"consortiumManagementAccountAddress":null,"consortiumManagementAccountPassword":null,"firewallRules":[{"ruleName":"mytest","startIpAddress":"10.0.0.0","endIpAddress":"10.0.1.0"}],"rootContractAddress":null,"publicKey":null,"provisioningState":"Updating","dns":null,"protocol":"Quorum"},"type":"Microsoft.Blockchain/blockchainMembers","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Blockchain/blockchainMembers/contosemember1","tags":null,"sku":{"name":"S0","tier":"Standard"}}' + headers: + cache-control: + - no-cache + content-length: + - '849' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 06:45:37 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - blockchain member wait + Connection: + - keep-alive + ParameterSetName: + - --created --name --resource-group + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-blockchain/2.0.0 Python/3.7.4 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Blockchain/blockchainMembers/contosemember1?api-version=2018-06-01-preview + response: + body: + string: '{"location":"southeastasia","name":"contosemember1","kind":"Quorum","properties":{"validatorNodesSku":{"capacity":2},"userName":"contosemember1","password":null,"consortium":"ContoseConsortium","consortiumRole":null,"consortiumMemberDisplayName":null,"consortiumManagementAccountAddress":null,"consortiumManagementAccountPassword":null,"firewallRules":[{"ruleName":"mytest","startIpAddress":"10.0.0.0","endIpAddress":"10.0.1.0"}],"rootContractAddress":null,"publicKey":null,"provisioningState":"Updating","dns":null,"protocol":"Quorum"},"type":"Microsoft.Blockchain/blockchainMembers","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Blockchain/blockchainMembers/contosemember1","tags":null,"sku":{"name":"S0","tier":"Standard"}}' + headers: + cache-control: + - no-cache + content-length: + - '849' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 06:46:07 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - blockchain member wait + Connection: + - keep-alive + ParameterSetName: + - --created --name --resource-group + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-blockchain/2.0.0 Python/3.7.4 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Blockchain/blockchainMembers/contosemember1?api-version=2018-06-01-preview + response: + body: + string: '{"location":"southeastasia","name":"contosemember1","kind":"Quorum","properties":{"validatorNodesSku":{"capacity":2},"userName":"contosemember1","password":null,"consortium":"ContoseConsortium","consortiumRole":null,"consortiumMemberDisplayName":null,"consortiumManagementAccountAddress":null,"consortiumManagementAccountPassword":null,"firewallRules":[{"ruleName":"mytest","startIpAddress":"10.0.0.0","endIpAddress":"10.0.1.0"}],"rootContractAddress":null,"publicKey":"bOr40XpjpUsgCDVepNUENYlNezgbHP6Gi2syYEL4vA0=","provisioningState":"Updating","dns":null,"protocol":"Quorum"},"type":"Microsoft.Blockchain/blockchainMembers","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Blockchain/blockchainMembers/contosemember1","tags":null,"sku":{"name":"S0","tier":"Standard"}}' + headers: + cache-control: + - no-cache + content-length: + - '891' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 06:46:37 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - blockchain member wait + Connection: + - keep-alive + ParameterSetName: + - --created --name --resource-group + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-blockchain/2.0.0 Python/3.7.4 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Blockchain/blockchainMembers/contosemember1?api-version=2018-06-01-preview + response: + body: + string: '{"location":"southeastasia","name":"contosemember1","kind":"Quorum","properties":{"validatorNodesSku":{"capacity":2},"userName":"contosemember1","password":null,"consortium":"ContoseConsortium","consortiumRole":null,"consortiumMemberDisplayName":null,"consortiumManagementAccountAddress":"0x5b692c94ef31558b9c062e3887f2bba2c7e3bfe5","consortiumManagementAccountPassword":null,"firewallRules":[{"ruleName":"mytest","startIpAddress":"10.0.0.0","endIpAddress":"10.0.1.0"}],"rootContractAddress":"0xb255f55e8d600f09ebc1035dd2118acec1018912","publicKey":"bOr40XpjpUsgCDVepNUENYlNezgbHP6Gi2syYEL4vA0=","provisioningState":"Succeeded","dns":"contosemember1.blockchain.azure.com","protocol":"Quorum"},"type":"Microsoft.Blockchain/blockchainMembers","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Blockchain/blockchainMembers/contosemember1","tags":null,"sku":{"name":"S0","tier":"Standard"}}' + headers: + cache-control: + - no-cache + content-length: + - '1005' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 06:47:07 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - blockchain member show + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-blockchain/2.0.0 Python/3.7.4 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Blockchain/blockchainMembers/contosemember1?api-version=2018-06-01-preview + response: + body: + string: '{"location":"southeastasia","name":"contosemember1","kind":"Quorum","properties":{"validatorNodesSku":{"capacity":2},"userName":"contosemember1","password":null,"consortium":"ContoseConsortium","consortiumRole":null,"consortiumMemberDisplayName":null,"consortiumManagementAccountAddress":"0x5b692c94ef31558b9c062e3887f2bba2c7e3bfe5","consortiumManagementAccountPassword":null,"firewallRules":[{"ruleName":"mytest","startIpAddress":"10.0.0.0","endIpAddress":"10.0.1.0"}],"rootContractAddress":"0xb255f55e8d600f09ebc1035dd2118acec1018912","publicKey":"bOr40XpjpUsgCDVepNUENYlNezgbHP6Gi2syYEL4vA0=","provisioningState":"Succeeded","dns":"contosemember1.blockchain.azure.com","protocol":"Quorum"},"type":"Microsoft.Blockchain/blockchainMembers","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Blockchain/blockchainMembers/contosemember1","tags":null,"sku":{"name":"S0","tier":"Standard"}}' + headers: + cache-control: + - no-cache + content-length: + - '1005' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 06:47:08 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - blockchain member list + Connection: + - keep-alive + ParameterSetName: + - --resource-group + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-blockchain/2.0.0 Python/3.7.4 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Blockchain/blockchainMembers?api-version=2018-06-01-preview + response: + body: + string: '{"value":[{"location":"southeastasia","name":"contosemember1","kind":"Quorum","properties":{"validatorNodesSku":{"capacity":2},"userName":"contosemember1","password":null,"consortium":"ContoseConsortium","consortiumRole":null,"consortiumMemberDisplayName":null,"consortiumManagementAccountAddress":null,"consortiumManagementAccountPassword":null,"firewallRules":[{"ruleName":"mytest","startIpAddress":"10.0.0.0","endIpAddress":"10.0.1.0"}],"rootContractAddress":"0xb255f55e8d600f09ebc1035dd2118acec1018912","publicKey":"bOr40XpjpUsgCDVepNUENYlNezgbHP6Gi2syYEL4vA0=","provisioningState":"Succeeded","dns":"contosemember1.blockchain.azure.com","protocol":"Quorum"},"type":"Microsoft.Blockchain/blockchainMembers","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Blockchain/blockchainMembers/contosemember1","tags":null,"sku":{"name":"S0","tier":"Standard"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '977' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 06:47:08 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - blockchain member list + Connection: + - keep-alive + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-blockchain/2.0.0 Python/3.7.4 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Blockchain/blockchainMembers?api-version=2018-06-01-preview + response: + body: + string: '{"value":[{"location":"southeastasia","name":"contosemember1","kind":"Quorum","properties":{"validatorNodesSku":{"capacity":2},"userName":"contosemember1","password":null,"consortium":"ContoseConsortium","consortiumRole":null,"consortiumMemberDisplayName":null,"consortiumManagementAccountAddress":null,"consortiumManagementAccountPassword":null,"firewallRules":[{"ruleName":"mytest","startIpAddress":"10.0.0.0","endIpAddress":"10.0.1.0"}],"rootContractAddress":"0xb255f55e8d600f09ebc1035dd2118acec1018912","publicKey":"bOr40XpjpUsgCDVepNUENYlNezgbHP6Gi2syYEL4vA0=","provisioningState":"Succeeded","dns":"contosemember1.blockchain.azure.com","protocol":"Quorum"},"type":"Microsoft.Blockchain/blockchainMembers","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Blockchain/blockchainMembers/contosemember1","tags":null,"sku":{"name":"S0","tier":"Standard"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '977' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 06:47:09 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - blockchain member list-consortium-member + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-blockchain/2.0.0 Python/3.7.4 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Blockchain/blockchainMembers/contosemember1/consortiumMembers?api-version=2018-06-01-preview + response: + body: + string: '{"value":[{"name":"contosemember1","displayName":null,"subscriptionId":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","role":null,"status":"Ready","joinDate":"2020-05-25T06:40:03.3573676Z","dateModified":"2020-05-25T06:47:03"}]}' + headers: + cache-control: + - no-cache + content-length: + - '220' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 06:47:10 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - blockchain member list-api-key + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --name --resource-group + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-blockchain/2.0.0 Python/3.7.4 (Windows-10-10.0.18362-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Blockchain/blockchainMembers/contosemember1/listApiKeys?api-version=2018-06-01-preview + response: + body: + string: '{"keys":[{"keyName":"key1","value":"dhvObIwhkq4iky2Q1lA4XWIm"},{"keyName":"key2","value":"CK1YhMdMxVR3aFYdFsCqIYBh"}]}' + headers: + cache-control: + - no-cache + content-length: + - '118' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 06:47:11 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: '{"keyName": "key1"}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - blockchain member regenerate-api-key + Connection: + - keep-alive + Content-Length: + - '19' + Content-Type: + - application/json + ParameterSetName: + - --key-name --name --resource-group + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-blockchain/2.0.0 Python/3.7.4 (Windows-10-10.0.18362-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Blockchain/blockchainMembers/contosemember1/regenerateApiKeys?api-version=2018-06-01-preview + response: + body: + string: '{"keys":[{"keyName":"key1","value":"5sKqCIgjhUiTSh8kWwriM246"},{"keyName":"key2","value":"CK1YhMdMxVR3aFYdFsCqIYBh"}]}' + headers: + cache-control: + - no-cache + content-length: + - '118' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 06:47:13 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: '{"properties": {"password": "1234abcdEFG1", "consortiumManagementAccountPassword": + "1234abcdEFG1"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - blockchain member update + Connection: + - keep-alive + Content-Length: + - '99' + Content-Type: + - application/json + ParameterSetName: + - --consortium-management-account-password --password --name --resource-group + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-blockchain/2.0.0 Python/3.7.4 (Windows-10-10.0.18362-SP0) + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Blockchain/blockchainMembers/contosemember1?api-version=2018-06-01-preview + response: + body: + string: '{"location":"southeastasia","name":"contosemember1","kind":null,"properties":{"validatorNodesSku":{"capacity":2},"userName":"contosemember1","password":null,"consortium":"ContoseConsortium","consortiumRole":null,"consortiumMemberDisplayName":null,"consortiumManagementAccountAddress":null,"consortiumManagementAccountPassword":null,"firewallRules":null,"rootContractAddress":null,"publicKey":null,"provisioningState":"Succeeded","dns":"contosemember1.blockchain.azure.com","protocol":"Quorum"},"type":"Microsoft.Blockchain/blockchainMembers","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Blockchain/blockchainMembers/contosemember1","tags":null,"sku":{"name":"S0","tier":"Standard"}}' + headers: + cache-control: + - no-cache + content-length: + - '806' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 06:47:22 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: '{"location": "southeastasia", "properties": {"password": "1234abcdEFG1"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - blockchain transaction-node create + Connection: + - keep-alive + Content-Length: + - '73' + Content-Type: + - application/json + ParameterSetName: + - --member-name --resource-group --location --password --name --no-wait + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-blockchain/2.0.0 Python/3.7.4 (Windows-10-10.0.18362-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Blockchain/blockchainMembers/contosemember1/transactionNodes/txnode2?api-version=2018-06-01-preview + response: + body: + string: '{"location":"southeastasia","name":"txnode2","properties":{"provisioningState":"Updating","dns":null,"publicKey":null,"userName":"txnode2","password":null,"firewallRules":[{"ruleName":"AllowAll","startIpAddress":"0.0.0.0","endIpAddress":"255.255.255.255"}]},"type":"Microsoft.Blockchain/blockchainMembers/transactionNodes","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Blockchain/blockchainMembers/contosemember1/transactionNodes/txnode2"}' + headers: + cache-control: + - no-cache + content-length: + - '562' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 06:47:24 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - blockchain transaction-node wait + Connection: + - keep-alive + ParameterSetName: + - --created --member-name --resource-group --name + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-blockchain/2.0.0 Python/3.7.4 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Blockchain/blockchainMembers/contosemember1/transactionNodes/txnode2?api-version=2018-06-01-preview + response: + body: + string: '{"location":"southeastasia","name":"txnode2","properties":{"provisioningState":"Updating","dns":null,"publicKey":null,"userName":"txnode2","password":null,"firewallRules":[{"ruleName":"AllowAll","startIpAddress":"0.0.0.0","endIpAddress":"255.255.255.255"}]},"type":"Microsoft.Blockchain/blockchainMembers/transactionNodes","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Blockchain/blockchainMembers/contosemember1/transactionNodes/txnode2"}' + headers: + cache-control: + - no-cache + content-length: + - '562' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 06:47:25 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - blockchain transaction-node wait + Connection: + - keep-alive + ParameterSetName: + - --created --member-name --resource-group --name + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-blockchain/2.0.0 Python/3.7.4 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Blockchain/blockchainMembers/contosemember1/transactionNodes/txnode2?api-version=2018-06-01-preview + response: + body: + string: '{"location":"southeastasia","name":"txnode2","properties":{"provisioningState":"Updating","dns":"txnode2-contosemember1.blockchain.azure.com","publicKey":null,"userName":"txnode2","password":null,"firewallRules":[{"ruleName":"AllowAll","startIpAddress":"0.0.0.0","endIpAddress":"255.255.255.255"}]},"type":"Microsoft.Blockchain/blockchainMembers/transactionNodes","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Blockchain/blockchainMembers/contosemember1/transactionNodes/txnode2"}' + headers: + cache-control: + - no-cache + content-length: + - '603' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 06:47:55 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - blockchain transaction-node wait + Connection: + - keep-alive + ParameterSetName: + - --created --member-name --resource-group --name + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-blockchain/2.0.0 Python/3.7.4 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Blockchain/blockchainMembers/contosemember1/transactionNodes/txnode2?api-version=2018-06-01-preview + response: + body: + string: '{"location":"southeastasia","name":"txnode2","properties":{"provisioningState":"Updating","dns":"txnode2-contosemember1.blockchain.azure.com","publicKey":null,"userName":"txnode2","password":null,"firewallRules":[{"ruleName":"AllowAll","startIpAddress":"0.0.0.0","endIpAddress":"255.255.255.255"}]},"type":"Microsoft.Blockchain/blockchainMembers/transactionNodes","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Blockchain/blockchainMembers/contosemember1/transactionNodes/txnode2"}' + headers: + cache-control: + - no-cache + content-length: + - '603' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 06:48:25 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - blockchain transaction-node wait + Connection: + - keep-alive + ParameterSetName: + - --created --member-name --resource-group --name + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-blockchain/2.0.0 Python/3.7.4 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Blockchain/blockchainMembers/contosemember1/transactionNodes/txnode2?api-version=2018-06-01-preview + response: + body: + string: '{"location":"southeastasia","name":"txnode2","properties":{"provisioningState":"Updating","dns":"txnode2-contosemember1.blockchain.azure.com","publicKey":null,"userName":"txnode2","password":null,"firewallRules":[{"ruleName":"AllowAll","startIpAddress":"0.0.0.0","endIpAddress":"255.255.255.255"}]},"type":"Microsoft.Blockchain/blockchainMembers/transactionNodes","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Blockchain/blockchainMembers/contosemember1/transactionNodes/txnode2"}' + headers: + cache-control: + - no-cache + content-length: + - '603' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 06:48:56 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - blockchain transaction-node wait + Connection: + - keep-alive + ParameterSetName: + - --created --member-name --resource-group --name + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-blockchain/2.0.0 Python/3.7.4 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Blockchain/blockchainMembers/contosemember1/transactionNodes/txnode2?api-version=2018-06-01-preview + response: + body: + string: '{"location":"southeastasia","name":"txnode2","properties":{"provisioningState":"Updating","dns":"txnode2-contosemember1.blockchain.azure.com","publicKey":null,"userName":"txnode2","password":null,"firewallRules":[{"ruleName":"AllowAll","startIpAddress":"0.0.0.0","endIpAddress":"255.255.255.255"}]},"type":"Microsoft.Blockchain/blockchainMembers/transactionNodes","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Blockchain/blockchainMembers/contosemember1/transactionNodes/txnode2"}' + headers: + cache-control: + - no-cache + content-length: + - '603' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 06:49:26 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - blockchain transaction-node wait + Connection: + - keep-alive + ParameterSetName: + - --created --member-name --resource-group --name + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-blockchain/2.0.0 Python/3.7.4 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Blockchain/blockchainMembers/contosemember1/transactionNodes/txnode2?api-version=2018-06-01-preview + response: + body: + string: '{"location":"southeastasia","name":"txnode2","properties":{"provisioningState":"Updating","dns":"txnode2-contosemember1.blockchain.azure.com","publicKey":null,"userName":"txnode2","password":null,"firewallRules":[{"ruleName":"AllowAll","startIpAddress":"0.0.0.0","endIpAddress":"255.255.255.255"}]},"type":"Microsoft.Blockchain/blockchainMembers/transactionNodes","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Blockchain/blockchainMembers/contosemember1/transactionNodes/txnode2"}' + headers: + cache-control: + - no-cache + content-length: + - '603' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 06:49:56 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - blockchain transaction-node wait + Connection: + - keep-alive + ParameterSetName: + - --created --member-name --resource-group --name + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-blockchain/2.0.0 Python/3.7.4 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Blockchain/blockchainMembers/contosemember1/transactionNodes/txnode2?api-version=2018-06-01-preview + response: + body: + string: '{"location":"southeastasia","name":"txnode2","properties":{"provisioningState":"Updating","dns":"txnode2-contosemember1.blockchain.azure.com","publicKey":null,"userName":"txnode2","password":null,"firewallRules":[{"ruleName":"AllowAll","startIpAddress":"0.0.0.0","endIpAddress":"255.255.255.255"}]},"type":"Microsoft.Blockchain/blockchainMembers/transactionNodes","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Blockchain/blockchainMembers/contosemember1/transactionNodes/txnode2"}' + headers: + cache-control: + - no-cache + content-length: + - '603' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 06:50:26 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - blockchain transaction-node wait + Connection: + - keep-alive + ParameterSetName: + - --created --member-name --resource-group --name + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-blockchain/2.0.0 Python/3.7.4 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Blockchain/blockchainMembers/contosemember1/transactionNodes/txnode2?api-version=2018-06-01-preview + response: + body: + string: '{"location":"southeastasia","name":"txnode2","properties":{"provisioningState":"Updating","dns":"txnode2-contosemember1.blockchain.azure.com","publicKey":null,"userName":"txnode2","password":null,"firewallRules":[{"ruleName":"AllowAll","startIpAddress":"0.0.0.0","endIpAddress":"255.255.255.255"}]},"type":"Microsoft.Blockchain/blockchainMembers/transactionNodes","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Blockchain/blockchainMembers/contosemember1/transactionNodes/txnode2"}' + headers: + cache-control: + - no-cache + content-length: + - '603' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 06:50:56 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - blockchain transaction-node wait + Connection: + - keep-alive + ParameterSetName: + - --created --member-name --resource-group --name + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-blockchain/2.0.0 Python/3.7.4 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Blockchain/blockchainMembers/contosemember1/transactionNodes/txnode2?api-version=2018-06-01-preview + response: + body: + string: '{"location":"southeastasia","name":"txnode2","properties":{"provisioningState":"Updating","dns":"txnode2-contosemember1.blockchain.azure.com","publicKey":null,"userName":"txnode2","password":null,"firewallRules":[{"ruleName":"AllowAll","startIpAddress":"0.0.0.0","endIpAddress":"255.255.255.255"}]},"type":"Microsoft.Blockchain/blockchainMembers/transactionNodes","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Blockchain/blockchainMembers/contosemember1/transactionNodes/txnode2"}' + headers: + cache-control: + - no-cache + content-length: + - '603' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 06:51:26 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - blockchain transaction-node wait + Connection: + - keep-alive + ParameterSetName: + - --created --member-name --resource-group --name + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-blockchain/2.0.0 Python/3.7.4 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Blockchain/blockchainMembers/contosemember1/transactionNodes/txnode2?api-version=2018-06-01-preview + response: + body: + string: '{"location":"southeastasia","name":"txnode2","properties":{"provisioningState":"Updating","dns":"txnode2-contosemember1.blockchain.azure.com","publicKey":null,"userName":"txnode2","password":null,"firewallRules":[{"ruleName":"AllowAll","startIpAddress":"0.0.0.0","endIpAddress":"255.255.255.255"}]},"type":"Microsoft.Blockchain/blockchainMembers/transactionNodes","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Blockchain/blockchainMembers/contosemember1/transactionNodes/txnode2"}' + headers: + cache-control: + - no-cache + content-length: + - '603' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 06:51:57 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - blockchain transaction-node wait + Connection: + - keep-alive + ParameterSetName: + - --created --member-name --resource-group --name + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-blockchain/2.0.0 Python/3.7.4 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Blockchain/blockchainMembers/contosemember1/transactionNodes/txnode2?api-version=2018-06-01-preview + response: + body: + string: '{"location":"southeastasia","name":"txnode2","properties":{"provisioningState":"Updating","dns":"txnode2-contosemember1.blockchain.azure.com","publicKey":null,"userName":"txnode2","password":null,"firewallRules":[{"ruleName":"AllowAll","startIpAddress":"0.0.0.0","endIpAddress":"255.255.255.255"}]},"type":"Microsoft.Blockchain/blockchainMembers/transactionNodes","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Blockchain/blockchainMembers/contosemember1/transactionNodes/txnode2"}' + headers: + cache-control: + - no-cache + content-length: + - '603' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 06:52:27 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - blockchain transaction-node wait + Connection: + - keep-alive + ParameterSetName: + - --created --member-name --resource-group --name + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-blockchain/2.0.0 Python/3.7.4 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Blockchain/blockchainMembers/contosemember1/transactionNodes/txnode2?api-version=2018-06-01-preview + response: + body: + string: '{"location":"southeastasia","name":"txnode2","properties":{"provisioningState":"Updating","dns":"txnode2-contosemember1.blockchain.azure.com","publicKey":null,"userName":"txnode2","password":null,"firewallRules":[{"ruleName":"AllowAll","startIpAddress":"0.0.0.0","endIpAddress":"255.255.255.255"}]},"type":"Microsoft.Blockchain/blockchainMembers/transactionNodes","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Blockchain/blockchainMembers/contosemember1/transactionNodes/txnode2"}' + headers: + cache-control: + - no-cache + content-length: + - '603' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 06:52:57 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - blockchain transaction-node wait + Connection: + - keep-alive + ParameterSetName: + - --created --member-name --resource-group --name + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-blockchain/2.0.0 Python/3.7.4 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Blockchain/blockchainMembers/contosemember1/transactionNodes/txnode2?api-version=2018-06-01-preview + response: + body: + string: '{"location":"southeastasia","name":"txnode2","properties":{"provisioningState":"Succeeded","dns":"txnode2-contosemember1.blockchain.azure.com","publicKey":"sNV/GigHbyuWLLQ0ziElnxAyQNZv6jnnifXI6tlZ7X4=","userName":"txnode2","password":null,"firewallRules":[{"ruleName":"AllowAll","startIpAddress":"0.0.0.0","endIpAddress":"255.255.255.255"}]},"type":"Microsoft.Blockchain/blockchainMembers/transactionNodes","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Blockchain/blockchainMembers/contosemember1/transactionNodes/txnode2"}' + headers: + cache-control: + - no-cache + content-length: + - '646' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 06:53:27 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - blockchain transaction-node list + Connection: + - keep-alive + ParameterSetName: + - --member-name --resource-group + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-blockchain/2.0.0 Python/3.7.4 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Blockchain/blockchainMembers/contosemember1/transactionNodes?api-version=2018-06-01-preview + response: + body: + string: '{"value":[{"location":"southeastasia","name":"txnode2","properties":{"provisioningState":"Succeeded","dns":"txnode2-contosemember1.blockchain.azure.com","publicKey":"sNV/GigHbyuWLLQ0ziElnxAyQNZv6jnnifXI6tlZ7X4=","userName":"txnode2","password":null,"firewallRules":[{"ruleName":"AllowAll","startIpAddress":"0.0.0.0","endIpAddress":"255.255.255.255"}]},"type":"Microsoft.Blockchain/blockchainMembers/transactionNodes","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Blockchain/blockchainMembers/contosemember1/transactionNodes/txnode2"}]}' + headers: + cache-control: + - no-cache + content-length: + - '658' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 06:53:28 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - blockchain transaction-node list-api-key + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --member-name --resource-group --name + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-blockchain/2.0.0 Python/3.7.4 (Windows-10-10.0.18362-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Blockchain/blockchainMembers/contosemember1/transactionNodes/txnode2/listApiKeys?api-version=2018-06-01-preview + response: + body: + string: '{"keys":[{"keyName":"key1","value":"fpqFnUt5SxXEml4sAq1LBo8p"},{"keyName":"key2","value":"xYfeoUM-EUaGKY2r0cAl5o03"}]}' + headers: + cache-control: + - no-cache + content-length: + - '118' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 06:53:29 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: '{"keyName": "key1"}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - blockchain transaction-node regenerate-api-key + Connection: + - keep-alive + Content-Length: + - '19' + Content-Type: + - application/json + ParameterSetName: + - --key-name --member-name --resource-group --name + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-blockchain/2.0.0 Python/3.7.4 (Windows-10-10.0.18362-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Blockchain/blockchainMembers/contosemember1/transactionNodes/txnode2/regenerateApiKeys?api-version=2018-06-01-preview + response: + body: + string: '{"keys":[{"keyName":"key1","value":"6lvpycZzUlV6bCZAYWNXgajL"},{"keyName":"key2","value":"xYfeoUM-EUaGKY2r0cAl5o03"}]}' + headers: + cache-control: + - no-cache + content-length: + - '118' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 06:53:31 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: '{"properties": {"password": "1234abcdEFG1"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - blockchain transaction-node update + Connection: + - keep-alive + Content-Length: + - '44' + Content-Type: + - application/json + ParameterSetName: + - --member-name --resource-group --password --name + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-blockchain/2.0.0 Python/3.7.4 (Windows-10-10.0.18362-SP0) + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Blockchain/blockchainMembers/contosemember1/transactionNodes/txnode2?api-version=2018-06-01-preview + response: + body: + string: '{"location":"southeastasia","name":"txnode2","properties":{"provisioningState":"Succeeded","dns":"txnode2-contosemember1.blockchain.azure.com","publicKey":"sNV/GigHbyuWLLQ0ziElnxAyQNZv6jnnifXI6tlZ7X4=","userName":"txnode2","password":null,"firewallRules":null},"type":"Microsoft.Blockchain/blockchainMembers/transactionNodes","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Blockchain/blockchainMembers/contosemember1/transactionNodes/txnode2"}' + headers: + cache-control: + - no-cache + content-length: + - '565' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 06:53:32 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - blockchain transaction-node show + Connection: + - keep-alive + ParameterSetName: + - --member-name --resource-group --name + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-blockchain/2.0.0 Python/3.7.4 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Blockchain/blockchainMembers/contosemember1/transactionNodes/txnode2?api-version=2018-06-01-preview + response: + body: + string: '{"location":"southeastasia","name":"txnode2","properties":{"provisioningState":"Succeeded","dns":"txnode2-contosemember1.blockchain.azure.com","publicKey":"sNV/GigHbyuWLLQ0ziElnxAyQNZv6jnnifXI6tlZ7X4=","userName":"txnode2","password":null,"firewallRules":[{"ruleName":"AllowAll","startIpAddress":"0.0.0.0","endIpAddress":"255.255.255.255"}]},"type":"Microsoft.Blockchain/blockchainMembers/transactionNodes","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Blockchain/blockchainMembers/contosemember1/transactionNodes/txnode2"}' + headers: + cache-control: + - no-cache + content-length: + - '646' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 06:53:33 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - blockchain transaction-node delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --member-name --resource-group --name + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-blockchain/2.0.0 Python/3.7.4 (Windows-10-10.0.18362-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Blockchain/blockchainMembers/contosemember1/transactionNodes/txnode2?api-version=2018-06-01-preview + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Mon, 25 May 2020 06:53:34 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Blockchain/locations/southeastasia/blockchainMemberOperationResults/37affb74-ce1a-4db9-8c8a-cf99ac343fb7?api-version=2018-06-01-preview + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - blockchain transaction-node delete + Connection: + - keep-alive + ParameterSetName: + - --member-name --resource-group --name + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-blockchain/2.0.0 Python/3.7.4 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Blockchain/locations/southeastasia/blockchainMemberOperationResults/37affb74-ce1a-4db9-8c8a-cf99ac343fb7?api-version=2018-06-01-preview + response: + body: + string: '{"name":"DeleteTransactionNode","startTime":"2020-05-25T06:53:34.8405086Z","endTime":null}' + headers: + cache-control: + - no-cache + content-length: + - '90' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 06:54:05 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Blockchain/locations/southeastasia/blockchainMemberOperationResults/37affb74-ce1a-4db9-8c8a-cf99ac343fb7?api-version=2018-06-01-preview + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - blockchain transaction-node delete + Connection: + - keep-alive + ParameterSetName: + - --member-name --resource-group --name + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-blockchain/2.0.0 Python/3.7.4 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Blockchain/locations/southeastasia/blockchainMemberOperationResults/37affb74-ce1a-4db9-8c8a-cf99ac343fb7?api-version=2018-06-01-preview + response: + body: + string: '{"name":"DeleteTransactionNode","startTime":"2020-05-25T06:53:34.8405086Z","endTime":null}' + headers: + cache-control: + - no-cache + content-length: + - '90' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 06:54:35 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Blockchain/locations/southeastasia/blockchainMemberOperationResults/37affb74-ce1a-4db9-8c8a-cf99ac343fb7?api-version=2018-06-01-preview + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - blockchain transaction-node delete + Connection: + - keep-alive + ParameterSetName: + - --member-name --resource-group --name + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-blockchain/2.0.0 Python/3.7.4 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Blockchain/locations/southeastasia/blockchainMemberOperationResults/37affb74-ce1a-4db9-8c8a-cf99ac343fb7?api-version=2018-06-01-preview + response: + body: + string: '{"name":"DeleteTransactionNode","startTime":"2020-05-25T06:53:34.8405086Z","endTime":null}' + headers: + cache-control: + - no-cache + content-length: + - '90' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 06:55:06 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Blockchain/locations/southeastasia/blockchainMemberOperationResults/37affb74-ce1a-4db9-8c8a-cf99ac343fb7?api-version=2018-06-01-preview + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - blockchain transaction-node delete + Connection: + - keep-alive + ParameterSetName: + - --member-name --resource-group --name + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-blockchain/2.0.0 Python/3.7.4 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Blockchain/locations/southeastasia/blockchainMemberOperationResults/37affb74-ce1a-4db9-8c8a-cf99ac343fb7?api-version=2018-06-01-preview + response: + body: + string: '' + headers: + cache-control: + - no-cache + date: + - Mon, 25 May 2020 06:55:36 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 204 + message: No Content +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - blockchain member delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --name --resource-group + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-blockchain/2.0.0 Python/3.7.4 (Windows-10-10.0.18362-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Blockchain/blockchainMembers/contosemember1?api-version=2018-06-01-preview + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Mon, 25 May 2020 06:55:38 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Blockchain/locations/southeastasia/blockchainMemberOperationResults/03916956-43e8-4a6b-9b07-7dd371d9c811?api-version=2018-06-01-preview + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - blockchain member delete + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-blockchain/2.0.0 Python/3.7.4 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Blockchain/locations/southeastasia/blockchainMemberOperationResults/03916956-43e8-4a6b-9b07-7dd371d9c811?api-version=2018-06-01-preview + response: + body: + string: '{"name":"DeleteBlockchainMember","startTime":"2020-05-25T06:55:38.2874031Z","endTime":null}' + headers: + cache-control: + - no-cache + content-length: + - '91' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 06:56:08 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Blockchain/locations/southeastasia/blockchainMemberOperationResults/03916956-43e8-4a6b-9b07-7dd371d9c811?api-version=2018-06-01-preview + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - blockchain member delete + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-blockchain/2.0.0 Python/3.7.4 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Blockchain/locations/southeastasia/blockchainMemberOperationResults/03916956-43e8-4a6b-9b07-7dd371d9c811?api-version=2018-06-01-preview + response: + body: + string: '{"name":"DeleteBlockchainMember","startTime":"2020-05-25T06:55:38.2874031Z","endTime":null}' + headers: + cache-control: + - no-cache + content-length: + - '91' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 06:56:38 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Blockchain/locations/southeastasia/blockchainMemberOperationResults/03916956-43e8-4a6b-9b07-7dd371d9c811?api-version=2018-06-01-preview + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - blockchain member delete + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-blockchain/2.0.0 Python/3.7.4 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Blockchain/locations/southeastasia/blockchainMemberOperationResults/03916956-43e8-4a6b-9b07-7dd371d9c811?api-version=2018-06-01-preview + response: + body: + string: '{"name":"DeleteBlockchainMember","startTime":"2020-05-25T06:55:38.2874031Z","endTime":null}' + headers: + cache-control: + - no-cache + content-length: + - '91' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 06:57:08 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Blockchain/locations/southeastasia/blockchainMemberOperationResults/03916956-43e8-4a6b-9b07-7dd371d9c811?api-version=2018-06-01-preview + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - blockchain member delete + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-blockchain/2.0.0 Python/3.7.4 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Blockchain/locations/southeastasia/blockchainMemberOperationResults/03916956-43e8-4a6b-9b07-7dd371d9c811?api-version=2018-06-01-preview + response: + body: + string: '{"name":"DeleteBlockchainMember","startTime":"2020-05-25T06:55:38.2874031Z","endTime":null}' + headers: + cache-control: + - no-cache + content-length: + - '91' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 06:57:39 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Blockchain/locations/southeastasia/blockchainMemberOperationResults/03916956-43e8-4a6b-9b07-7dd371d9c811?api-version=2018-06-01-preview + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - blockchain member delete + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-blockchain/2.0.0 Python/3.7.4 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Blockchain/locations/southeastasia/blockchainMemberOperationResults/03916956-43e8-4a6b-9b07-7dd371d9c811?api-version=2018-06-01-preview + response: + body: + string: '{"name":"DeleteBlockchainMember","startTime":"2020-05-25T06:55:38.2874031Z","endTime":null}' + headers: + cache-control: + - no-cache + content-length: + - '91' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 06:58:08 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Blockchain/locations/southeastasia/blockchainMemberOperationResults/03916956-43e8-4a6b-9b07-7dd371d9c811?api-version=2018-06-01-preview + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - blockchain member delete + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-blockchain/2.0.0 Python/3.7.4 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Blockchain/locations/southeastasia/blockchainMemberOperationResults/03916956-43e8-4a6b-9b07-7dd371d9c811?api-version=2018-06-01-preview + response: + body: + string: '{"name":"DeleteBlockchainMember","startTime":"2020-05-25T06:55:38.2874031Z","endTime":null}' + headers: + cache-control: + - no-cache + content-length: + - '91' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 06:58:38 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Blockchain/locations/southeastasia/blockchainMemberOperationResults/03916956-43e8-4a6b-9b07-7dd371d9c811?api-version=2018-06-01-preview + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - blockchain member delete + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-blockchain/2.0.0 Python/3.7.4 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Blockchain/locations/southeastasia/blockchainMemberOperationResults/03916956-43e8-4a6b-9b07-7dd371d9c811?api-version=2018-06-01-preview + response: + body: + string: '{"name":"DeleteBlockchainMember","startTime":"2020-05-25T06:55:38.2874031Z","endTime":null}' + headers: + cache-control: + - no-cache + content-length: + - '91' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 06:59:08 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Blockchain/locations/southeastasia/blockchainMemberOperationResults/03916956-43e8-4a6b-9b07-7dd371d9c811?api-version=2018-06-01-preview + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - blockchain member delete + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-blockchain/2.0.0 Python/3.7.4 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Blockchain/locations/southeastasia/blockchainMemberOperationResults/03916956-43e8-4a6b-9b07-7dd371d9c811?api-version=2018-06-01-preview + response: + body: + string: '{"name":"DeleteBlockchainMember","startTime":"2020-05-25T06:55:38.2874031Z","endTime":null}' + headers: + cache-control: + - no-cache + content-length: + - '91' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 06:59:39 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Blockchain/locations/southeastasia/blockchainMemberOperationResults/03916956-43e8-4a6b-9b07-7dd371d9c811?api-version=2018-06-01-preview + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - blockchain member delete + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-blockchain/2.0.0 Python/3.7.4 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Blockchain/locations/southeastasia/blockchainMemberOperationResults/03916956-43e8-4a6b-9b07-7dd371d9c811?api-version=2018-06-01-preview + response: + body: + string: '{"name":"DeleteBlockchainMember","startTime":"2020-05-25T06:55:38.2874031Z","endTime":null}' + headers: + cache-control: + - no-cache + content-length: + - '91' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 07:00:09 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Blockchain/locations/southeastasia/blockchainMemberOperationResults/03916956-43e8-4a6b-9b07-7dd371d9c811?api-version=2018-06-01-preview + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - blockchain member delete + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-blockchain/2.0.0 Python/3.7.4 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Blockchain/locations/southeastasia/blockchainMemberOperationResults/03916956-43e8-4a6b-9b07-7dd371d9c811?api-version=2018-06-01-preview + response: + body: + string: '{"name":"DeleteBlockchainMember","startTime":"2020-05-25T06:55:38.2874031Z","endTime":null}' + headers: + cache-control: + - no-cache + content-length: + - '91' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 07:00:39 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Blockchain/locations/southeastasia/blockchainMemberOperationResults/03916956-43e8-4a6b-9b07-7dd371d9c811?api-version=2018-06-01-preview + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - blockchain member delete + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-blockchain/2.0.0 Python/3.7.4 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Blockchain/locations/southeastasia/blockchainMemberOperationResults/03916956-43e8-4a6b-9b07-7dd371d9c811?api-version=2018-06-01-preview + response: + body: + string: '{"name":"DeleteBlockchainMember","startTime":"2020-05-25T06:55:38.2874031Z","endTime":null}' + headers: + cache-control: + - no-cache + content-length: + - '91' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 07:01:10 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Blockchain/locations/southeastasia/blockchainMemberOperationResults/03916956-43e8-4a6b-9b07-7dd371d9c811?api-version=2018-06-01-preview + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - blockchain member delete + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-blockchain/2.0.0 Python/3.7.4 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Blockchain/locations/southeastasia/blockchainMemberOperationResults/03916956-43e8-4a6b-9b07-7dd371d9c811?api-version=2018-06-01-preview + response: + body: + string: '{"name":"DeleteBlockchainMember","startTime":"2020-05-25T06:55:38.2874031Z","endTime":null}' + headers: + cache-control: + - no-cache + content-length: + - '91' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 07:01:40 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Blockchain/locations/southeastasia/blockchainMemberOperationResults/03916956-43e8-4a6b-9b07-7dd371d9c811?api-version=2018-06-01-preview + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - blockchain member delete + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-blockchain/2.0.0 Python/3.7.4 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Blockchain/locations/southeastasia/blockchainMemberOperationResults/03916956-43e8-4a6b-9b07-7dd371d9c811?api-version=2018-06-01-preview + response: + body: + string: '{"name":"DeleteBlockchainMember","startTime":"2020-05-25T06:55:38.2874031Z","endTime":null}' + headers: + cache-control: + - no-cache + content-length: + - '91' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 07:02:10 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Blockchain/locations/southeastasia/blockchainMemberOperationResults/03916956-43e8-4a6b-9b07-7dd371d9c811?api-version=2018-06-01-preview + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - blockchain member delete + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-blockchain/2.0.0 Python/3.7.4 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Blockchain/locations/southeastasia/blockchainMemberOperationResults/03916956-43e8-4a6b-9b07-7dd371d9c811?api-version=2018-06-01-preview + response: + body: + string: '{"name":"DeleteBlockchainMember","startTime":"2020-05-25T06:55:38.2874031Z","endTime":null}' + headers: + cache-control: + - no-cache + content-length: + - '91' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 07:02:40 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Blockchain/locations/southeastasia/blockchainMemberOperationResults/03916956-43e8-4a6b-9b07-7dd371d9c811?api-version=2018-06-01-preview + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - blockchain member delete + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-blockchain/2.0.0 Python/3.7.4 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Blockchain/locations/southeastasia/blockchainMemberOperationResults/03916956-43e8-4a6b-9b07-7dd371d9c811?api-version=2018-06-01-preview + response: + body: + string: '{"name":"DeleteBlockchainMember","startTime":"2020-05-25T06:55:38.2874031Z","endTime":null}' + headers: + cache-control: + - no-cache + content-length: + - '91' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 07:03:10 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Blockchain/locations/southeastasia/blockchainMemberOperationResults/03916956-43e8-4a6b-9b07-7dd371d9c811?api-version=2018-06-01-preview + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - blockchain member delete + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-blockchain/2.0.0 Python/3.7.4 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Blockchain/locations/southeastasia/blockchainMemberOperationResults/03916956-43e8-4a6b-9b07-7dd371d9c811?api-version=2018-06-01-preview + response: + body: + string: '{"name":"DeleteBlockchainMember","startTime":"2020-05-25T06:55:38.2874031Z","endTime":null}' + headers: + cache-control: + - no-cache + content-length: + - '91' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 07:03:41 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Blockchain/locations/southeastasia/blockchainMemberOperationResults/03916956-43e8-4a6b-9b07-7dd371d9c811?api-version=2018-06-01-preview + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - blockchain member delete + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-blockchain/2.0.0 Python/3.7.4 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Blockchain/locations/southeastasia/blockchainMemberOperationResults/03916956-43e8-4a6b-9b07-7dd371d9c811?api-version=2018-06-01-preview + response: + body: + string: '{"name":"DeleteBlockchainMember","startTime":"2020-05-25T06:55:38.2874031Z","endTime":null}' + headers: + cache-control: + - no-cache + content-length: + - '91' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 07:04:11 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Blockchain/locations/southeastasia/blockchainMemberOperationResults/03916956-43e8-4a6b-9b07-7dd371d9c811?api-version=2018-06-01-preview + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - blockchain member delete + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-blockchain/2.0.0 Python/3.7.4 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Blockchain/locations/southeastasia/blockchainMemberOperationResults/03916956-43e8-4a6b-9b07-7dd371d9c811?api-version=2018-06-01-preview + response: + body: + string: '' + headers: + cache-control: + - no-cache + date: + - Mon, 25 May 2020 07:04:41 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 204 + message: No Content +version: 1 diff --git a/src/blockchain/azext_blockchain/tests/latest/test_blockchain_scenario.py b/src/blockchain/azext_blockchain/tests/latest/test_blockchain_scenario.py new file mode 100644 index 00000000000..8bf09776ab4 --- /dev/null +++ b/src/blockchain/azext_blockchain/tests/latest/test_blockchain_scenario.py @@ -0,0 +1,260 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import os +import unittest + +from azure_devtools.scenario_tests import AllowLargeResponse +from azure.cli.testsdk import ScenarioTest +from .. import try_manual +from azure.cli.testsdk import ResourceGroupPreparer + + +TEST_DIR = os.path.abspath(os.path.join(os.path.abspath(__file__), '..')) + + +@try_manual +def setup(test, rg): + pass + + +# EXAMPLE: /Locations/post/Locations_ListConsortiums +@try_manual +def step__locations_post_locations_listconsortiums(test, rg): + test.cmd('az blockchain consortium list ' + '--location "{southeastasia}"', + checks=[ + test.check('length(value)', 0) + ]) + + +# EXAMPLE: /BlockchainMembers/put/BlockchainMembers_Create +@try_manual +def step__blockchainmembers_put_blockchainmembers_create(test, rg): + test.cmd('az blockchain member create ' + '--location "southeastasia" ' + '--consortium "ContoseConsortium" ' + '--consortium-management-account-password "1234abcdEFG1" ' + '--password "1234abcdEFG1" ' + '--validator-nodes-sku capacity=2 ' + '--protocol "Quorum" ' + '--name "{contosemember1}" ' + '--resource-group "{rg}" ' + '--firewall-rules rule-name=mytest start-ip-address=10.0.0.0 end-ip-address=10.0.1.0 ' + '--no-wait', + checks=[]) + test.cmd('az blockchain member wait --created ' + '--name "{contosemember1}" ' + '--resource-group "{rg}"', + checks=[]) + + +# EXAMPLE: /BlockchainMembers/get/BlockchainMembers_List +@try_manual +def step__blockchainmembers_get_blockchainmembers_list(test, rg): + test.cmd('az blockchain member list ' + '--resource-group "{rg}"', + checks=[ + test.check('length(@)', 1) + ]) + + +# EXAMPLE: /BlockchainMembers/get/BlockchainMembers_ListAll +@try_manual +def step__blockchainmembers_get_blockchainmembers_listall(test, rg): + test.cmd('az blockchain member list', + checks=[ + test.check('length(@)', 1) + ]) + + +# EXAMPLE: /BlockchainMembers/get/BlockchainMembers_ListConsortiumMembers +@try_manual +def step__blockchainmembers_get_blockchainmembers_listconsortiummembers(test, rg): + test.cmd('az blockchain member list-consortium-member ' + '--name "{contosemember1}" ' + '--resource-group "{rg}"', + checks=[ + test.check('length(@)', 1) + ]) + + +# EXAMPLE: /BlockchainMembers/post/BlockchainMembers_ListApiKeys +@try_manual +def step__blockchainmembers_post_blockchainmembers_listapikeys(test, rg): + test.cmd('az blockchain member list-api-key ' + '--name "{contosemember1}" ' + '--resource-group "{rg}"', + checks=[ + test.check('length(keys)', 2) + ]) + + +# EXAMPLE: /BlockchainMembers/post/BlockchainMembers_ListRegenerateApiKeys +@try_manual +def step__blockchainmembers_post_blockchainmembers_listregenerateapikeys(test, rg): + test.cmd('az blockchain member regenerate-api-key ' + '--key-name "key1" ' + '--name "{contosemember1}" ' + '--resource-group "{rg}"', + checks=[ + test.check('length(keys)', 2) + ]) + + +# EXAMPLE: /BlockchainMembers/patch/BlockchainMembers_Update +@try_manual +def step__blockchainmembers_patch_blockchainmembers_update(test, rg): + test.cmd('az blockchain member update ' + '--consortium-management-account-password "1234abcdEFG1" ' + '--password "1234abcdEFG1" ' + '--name "{contosemember1}" ' + '--resource-group "{rg}"', + checks=[]) + + +# EXAMPLE: /BlockchainMembers/get/BlockchainMembers_Get +@try_manual +def step__blockchainmembers_get_blockchainmembers_get(test, rg): + test.cmd('az blockchain member show ' + '--name "{contosemember1}" ' + '--resource-group "{rg}"', + checks=[]) + + +# EXAMPLE: /TransactionNodes/put/TransactionNodes_Create +@try_manual +def step__transactionnodes_put_transactionnodes_create(test, rg): + test.cmd('az blockchain transaction-node create ' + '--member-name "{contosemember1}" ' + '--resource-group "{rg}" ' + '--location "southeastasia" ' + '--password "1234abcdEFG1" ' + '--name "{txnode2}" ' + '--no-wait', + checks=[]) + test.cmd('az blockchain transaction-node wait --created ' + '--member-name "{contosemember1}" ' + '--resource-group "{rg}" ' + '--name "{txnode2}"', + checks=[]) + + +# EXAMPLE: /TransactionNodes/get/TransactionNodes_List +@try_manual +def step__transactionnodes_get_transactionnodes_list(test, rg): + test.cmd('az blockchain transaction-node list ' + '--member-name "{contosemember1}" ' + '--resource-group "{rg}"', + checks=[]) + + +# EXAMPLE: /TransactionNodes/post/TransactionNodes_ListApiKeys +@try_manual +def step__transactionnodes_post_transactionnodes_listapikeys(test, rg): + test.cmd('az blockchain transaction-node list-api-key ' + '--member-name "{contosemember1}" ' + '--resource-group "{rg}" ' + '--name "{txnode2}"', + checks=[]) + + +# EXAMPLE: /TransactionNodes/post/TransactionNodes_ListRegenerateApiKeys +@try_manual +def step__transactionnodes_post_transactionnodes_listregenerateapikeys(test, rg): + test.cmd('az blockchain transaction-node regenerate-api-key ' + '--key-name "key1" ' + '--member-name "{contosemember1}" ' + '--resource-group "{rg}" ' + '--name "{txnode2}"', + checks=[]) + + +# EXAMPLE: /TransactionNodes/patch/TransactionNodes_Update +@try_manual +def step__transactionnodes_patch_transactionnodes_update(test, rg): + test.cmd('az blockchain transaction-node update ' + '--member-name "{contosemember1}" ' + '--resource-group "{rg}" ' + '--password "1234abcdEFG1" ' + '--name "{txnode2}"', + checks=[]) + + +# EXAMPLE: /TransactionNodes/get/TransactionNodes_Get +@try_manual +def step__transactionnodes_get_transactionnodes_get(test, rg): + test.cmd('az blockchain transaction-node show ' + '--member-name "{contosemember1}" ' + '--resource-group "{rg}" ' + '--name "{txnode2}"', + checks=[]) + + +# EXAMPLE: /TransactionNodes/delete/TransactionNodes_Delete +@try_manual +def step__transactionnodes_delete_transactionnodes_delete(test, rg): + test.cmd('az blockchain transaction-node delete ' + '--member-name "{contosemember1}" ' + '--resource-group "{rg}" ' + '--name "{txnode2}" -y', + checks=[]) + + +# EXAMPLE: /BlockchainMembers/delete/BlockchainMembers_Delete +@try_manual +def step__blockchainmembers_delete_blockchainmembers_delete(test, rg): + test.cmd('az blockchain member delete ' + '--name "{contosemember1}" ' + '--resource-group "{rg}" -y', + checks=[]) + + +@try_manual +def cleanup(test, rg): + pass + + +@try_manual +def call_scenario(test, rg): + setup(test, rg) + step__locations_post_locations_listconsortiums(test, rg) + step__blockchainmembers_put_blockchainmembers_create(test, rg) + step__blockchainmembers_get_blockchainmembers_get(test, rg) + step__blockchainmembers_get_blockchainmembers_list(test, rg) + step__blockchainmembers_get_blockchainmembers_listall(test, rg) + step__blockchainmembers_get_blockchainmembers_listconsortiummembers(test, rg) + step__blockchainmembers_post_blockchainmembers_listapikeys(test, rg) + step__blockchainmembers_post_blockchainmembers_listregenerateapikeys(test, rg) + step__blockchainmembers_patch_blockchainmembers_update(test, rg) + step__transactionnodes_put_transactionnodes_create(test, rg) + step__transactionnodes_get_transactionnodes_list(test, rg) + step__transactionnodes_post_transactionnodes_listapikeys(test, rg) + step__transactionnodes_post_transactionnodes_listregenerateapikeys(test, rg) + step__transactionnodes_patch_transactionnodes_update(test, rg) + step__transactionnodes_get_transactionnodes_get(test, rg) + step__transactionnodes_delete_transactionnodes_delete(test, rg) + step__blockchainmembers_delete_blockchainmembers_delete(test, rg) + cleanup(test, rg) + + +@try_manual +class BlockchainManagementClientScenarioTest(ScenarioTest): + + @ResourceGroupPreparer(name_prefix='clitestblockchain_mygroup'[:7], key='rg', parameter_name='rg') + def test_blockchain(self, rg): + + self.kwargs.update({ + 'contosemember1': 'contosemember1', + 'southeastasia': 'southeastasia', + 'txnode2': 'txnode2', + }) + + call_scenario(self, rg) diff --git a/src/blockchain/azext_blockchain/vendored_sdks/__init__.py b/src/blockchain/azext_blockchain/vendored_sdks/__init__.py new file mode 100644 index 00000000000..c9cfdc73e77 --- /dev/null +++ b/src/blockchain/azext_blockchain/vendored_sdks/__init__.py @@ -0,0 +1,12 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +__path__ = __import__('pkgutil').extend_path(__path__, __name__) diff --git a/src/blockchain/azext_blockchain/vendored_sdks/blockchain/__init__.py b/src/blockchain/azext_blockchain/vendored_sdks/blockchain/__init__.py new file mode 100644 index 00000000000..edb3cabe580 --- /dev/null +++ b/src/blockchain/azext_blockchain/vendored_sdks/blockchain/__init__.py @@ -0,0 +1,19 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._blockchain_management_client import BlockchainManagementClient +from ._version import VERSION + +__version__ = VERSION +__all__ = ['BlockchainManagementClient'] + +try: + from .patch import patch_sdk + patch_sdk() +except ImportError: + pass diff --git a/src/blockchain/azext_blockchain/vendored_sdks/blockchain/_blockchain_management_client.py b/src/blockchain/azext_blockchain/vendored_sdks/blockchain/_blockchain_management_client.py new file mode 100644 index 00000000000..1c8b5484d56 --- /dev/null +++ b/src/blockchain/azext_blockchain/vendored_sdks/blockchain/_blockchain_management_client.py @@ -0,0 +1,91 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import TYPE_CHECKING + +from azure.mgmt.core import ARMPipelineClient +from msrest import Deserializer, Serializer + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Optional + +from ._configuration import BlockchainManagementClientConfiguration +from .operations import BlockchainMemberOperations +from .operations import BlockchainMemberOperationResultOperations +from .operations import LocationOperations +from .operations import OperationOperations +from .operations import SkuOperations +from .operations import TransactionNodeOperations +from . import models + + +class BlockchainManagementClient(object): + """REST API for Azure Blockchain Service. + + :ivar blockchain_member: BlockchainMemberOperations operations + :vartype blockchain_member: azure.mgmt.blockchain.operations.BlockchainMemberOperations + :ivar blockchain_member_operation_result: BlockchainMemberOperationResultOperations operations + :vartype blockchain_member_operation_result: azure.mgmt.blockchain.operations.BlockchainMemberOperationResultOperations + :ivar location: LocationOperations operations + :vartype location: azure.mgmt.blockchain.operations.LocationOperations + :ivar operation: OperationOperations operations + :vartype operation: azure.mgmt.blockchain.operations.OperationOperations + :ivar sku: SkuOperations operations + :vartype sku: azure.mgmt.blockchain.operations.SkuOperations + :ivar transaction_node: TransactionNodeOperations operations + :vartype transaction_node: azure.mgmt.blockchain.operations.TransactionNodeOperations + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials.TokenCredential + :param subscription_id: Gets the subscription Id which uniquely identifies the Microsoft Azure subscription. The subscription ID is part of the URI for every service call. + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, + credential, # type: "TokenCredential" + subscription_id, # type: str + base_url=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> None + if not base_url: + base_url = 'https://management.azure.com' + self._config = BlockchainManagementClientConfiguration(credential, subscription_id, **kwargs) + self._client = ARMPipelineClient(base_url=base_url, config=self._config, **kwargs) + + 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.blockchain_member = BlockchainMemberOperations( + self._client, self._config, self._serialize, self._deserialize) + self.blockchain_member_operation_result = BlockchainMemberOperationResultOperations( + self._client, self._config, self._serialize, self._deserialize) + self.location = LocationOperations( + self._client, self._config, self._serialize, self._deserialize) + self.operation = OperationOperations( + self._client, self._config, self._serialize, self._deserialize) + self.sku = SkuOperations( + self._client, self._config, self._serialize, self._deserialize) + self.transaction_node = TransactionNodeOperations( + self._client, self._config, self._serialize, self._deserialize) + + def close(self): + # type: () -> None + self._client.close() + + def __enter__(self): + # type: () -> BlockchainManagementClient + self._client.__enter__() + return self + + def __exit__(self, *exc_details): + # type: (Any) -> None + self._client.__exit__(*exc_details) diff --git a/src/blockchain/azext_blockchain/vendored_sdks/blockchain/_configuration.py b/src/blockchain/azext_blockchain/vendored_sdks/blockchain/_configuration.py new file mode 100644 index 00000000000..82d277156a8 --- /dev/null +++ b/src/blockchain/azext_blockchain/vendored_sdks/blockchain/_configuration.py @@ -0,0 +1,69 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import TYPE_CHECKING + +from azure.core.configuration import Configuration +from azure.core.pipeline import policies + +from ._version import VERSION + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any + + from azure.core.credentials import TokenCredential + + +class BlockchainManagementClientConfiguration(Configuration): + """Configuration for BlockchainManagementClient. + + Note that all parameters used to create this instance are saved as instance + attributes. + + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials.TokenCredential + :param subscription_id: Gets the subscription Id which uniquely identifies the Microsoft Azure subscription. The subscription ID is part of the URI for every service call. + :type subscription_id: str + """ + + def __init__( + self, + credential, # type: "TokenCredential" + subscription_id, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + if credential is None: + raise ValueError("Parameter 'credential' must not be None.") + if subscription_id is None: + raise ValueError("Parameter 'subscription_id' must not be None.") + super(BlockchainManagementClientConfiguration, self).__init__(**kwargs) + + self.credential = credential + self.subscription_id = subscription_id + self.api_version = "2018-06-01-preview" + self.credential_scopes = ['https://management.azure.com/.default'] + kwargs.setdefault('sdk_moniker', 'mgmt-blockchain/{}'.format(VERSION)) + self._configure(**kwargs) + + def _configure( + self, + **kwargs # type: Any + ): + # type: (...) -> None + self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get('retry_policy') or policies.RetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get('redirect_policy') or policies.RedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get('authentication_policy') + if self.credential and not self.authentication_policy: + self.authentication_policy = policies.BearerTokenCredentialPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/blockchain/azext_blockchain/vendored_sdks/blockchain/_version.py b/src/blockchain/azext_blockchain/vendored_sdks/blockchain/_version.py new file mode 100644 index 00000000000..48944bf3938 --- /dev/null +++ b/src/blockchain/azext_blockchain/vendored_sdks/blockchain/_version.py @@ -0,0 +1,9 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +VERSION = "2.0.0" diff --git a/src/blockchain/azext_blockchain/vendored_sdks/blockchain/aio/__init__.py b/src/blockchain/azext_blockchain/vendored_sdks/blockchain/aio/__init__.py new file mode 100644 index 00000000000..fa3459fe66a --- /dev/null +++ b/src/blockchain/azext_blockchain/vendored_sdks/blockchain/aio/__init__.py @@ -0,0 +1,10 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._blockchain_management_client_async import BlockchainManagementClient +__all__ = ['BlockchainManagementClient'] diff --git a/src/blockchain/azext_blockchain/vendored_sdks/blockchain/aio/_blockchain_management_client_async.py b/src/blockchain/azext_blockchain/vendored_sdks/blockchain/aio/_blockchain_management_client_async.py new file mode 100644 index 00000000000..c33e8b88da0 --- /dev/null +++ b/src/blockchain/azext_blockchain/vendored_sdks/blockchain/aio/_blockchain_management_client_async.py @@ -0,0 +1,83 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import Any, Optional + +from azure.mgmt.core import AsyncARMPipelineClient +from msrest import Deserializer, Serializer + +from ._configuration_async import BlockchainManagementClientConfiguration +from .operations_async import BlockchainMemberOperations +from .operations_async import BlockchainMemberOperationResultOperations +from .operations_async import LocationOperations +from .operations_async import OperationOperations +from .operations_async import SkuOperations +from .operations_async import TransactionNodeOperations +from .. import models + + +class BlockchainManagementClient(object): + """REST API for Azure Blockchain Service. + + :ivar blockchain_member: BlockchainMemberOperations operations + :vartype blockchain_member: azure.mgmt.blockchain.aio.operations_async.BlockchainMemberOperations + :ivar blockchain_member_operation_result: BlockchainMemberOperationResultOperations operations + :vartype blockchain_member_operation_result: azure.mgmt.blockchain.aio.operations_async.BlockchainMemberOperationResultOperations + :ivar location: LocationOperations operations + :vartype location: azure.mgmt.blockchain.aio.operations_async.LocationOperations + :ivar operation: OperationOperations operations + :vartype operation: azure.mgmt.blockchain.aio.operations_async.OperationOperations + :ivar sku: SkuOperations operations + :vartype sku: azure.mgmt.blockchain.aio.operations_async.SkuOperations + :ivar transaction_node: TransactionNodeOperations operations + :vartype transaction_node: azure.mgmt.blockchain.aio.operations_async.TransactionNodeOperations + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials_async.AsyncTokenCredential + :param subscription_id: Gets the subscription Id which uniquely identifies the Microsoft Azure subscription. The subscription ID is part of the URI for every service call. + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, + credential: "AsyncTokenCredential", + subscription_id: str, + base_url: Optional[str] = None, + **kwargs: Any + ) -> None: + if not base_url: + base_url = 'https://management.azure.com' + self._config = BlockchainManagementClientConfiguration(credential, subscription_id, **kwargs) + self._client = AsyncARMPipelineClient(base_url=base_url, config=self._config, **kwargs) + + 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.blockchain_member = BlockchainMemberOperations( + self._client, self._config, self._serialize, self._deserialize) + self.blockchain_member_operation_result = BlockchainMemberOperationResultOperations( + self._client, self._config, self._serialize, self._deserialize) + self.location = LocationOperations( + self._client, self._config, self._serialize, self._deserialize) + self.operation = OperationOperations( + self._client, self._config, self._serialize, self._deserialize) + self.sku = SkuOperations( + self._client, self._config, self._serialize, self._deserialize) + self.transaction_node = TransactionNodeOperations( + self._client, self._config, self._serialize, self._deserialize) + + async def close(self) -> None: + await self._client.close() + + async def __aenter__(self) -> "BlockchainManagementClient": + await self._client.__aenter__() + return self + + async def __aexit__(self, *exc_details) -> None: + await self._client.__aexit__(*exc_details) diff --git a/src/blockchain/azext_blockchain/vendored_sdks/blockchain/aio/_configuration_async.py b/src/blockchain/azext_blockchain/vendored_sdks/blockchain/aio/_configuration_async.py new file mode 100644 index 00000000000..e8833e22e76 --- /dev/null +++ b/src/blockchain/azext_blockchain/vendored_sdks/blockchain/aio/_configuration_async.py @@ -0,0 +1,65 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import Any, TYPE_CHECKING + +from azure.core.configuration import Configuration +from azure.core.pipeline import policies + +from .._version import VERSION + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials import TokenCredential + + +class BlockchainManagementClientConfiguration(Configuration): + """Configuration for BlockchainManagementClient. + + Note that all parameters used to create this instance are saved as instance + attributes. + + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials_async.AsyncTokenCredential + :param subscription_id: Gets the subscription Id which uniquely identifies the Microsoft Azure subscription. The subscription ID is part of the URI for every service call. + :type subscription_id: str + """ + + def __init__( + self, + credential: "AsyncTokenCredential", + subscription_id: str, + **kwargs: Any + ) -> None: + if credential is None: + raise ValueError("Parameter 'credential' must not be None.") + if subscription_id is None: + raise ValueError("Parameter 'subscription_id' must not be None.") + super(BlockchainManagementClientConfiguration, self).__init__(**kwargs) + + self.credential = credential + self.subscription_id = subscription_id + self.api_version = "2018-06-01-preview" + self.credential_scopes = ['https://management.azure.com/.default'] + kwargs.setdefault('sdk_moniker', 'mgmt-blockchain/{}'.format(VERSION)) + self._configure(**kwargs) + + def _configure( + self, + **kwargs: Any + ) -> None: + self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get('retry_policy') or policies.AsyncRetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get('redirect_policy') or policies.AsyncRedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get('authentication_policy') + if self.credential and not self.authentication_policy: + self.authentication_policy = policies.AsyncBearerTokenCredentialPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/blockchain/azext_blockchain/vendored_sdks/blockchain/aio/operations_async/__init__.py b/src/blockchain/azext_blockchain/vendored_sdks/blockchain/aio/operations_async/__init__.py new file mode 100644 index 00000000000..7d6bd7e4f2b --- /dev/null +++ b/src/blockchain/azext_blockchain/vendored_sdks/blockchain/aio/operations_async/__init__.py @@ -0,0 +1,23 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._blockchain_member_operations_async import BlockchainMemberOperations +from ._blockchain_member_operation_result_operations_async import BlockchainMemberOperationResultOperations +from ._location_operations_async import LocationOperations +from ._operation_operations_async import OperationOperations +from ._sku_operations_async import SkuOperations +from ._transaction_node_operations_async import TransactionNodeOperations + +__all__ = [ + 'BlockchainMemberOperations', + 'BlockchainMemberOperationResultOperations', + 'LocationOperations', + 'OperationOperations', + 'SkuOperations', + 'TransactionNodeOperations', +] diff --git a/src/blockchain/azext_blockchain/vendored_sdks/blockchain/aio/operations_async/_blockchain_member_operation_result_operations_async.py b/src/blockchain/azext_blockchain/vendored_sdks/blockchain/aio/operations_async/_blockchain_member_operation_result_operations_async.py new file mode 100644 index 00000000000..f06e9831c28 --- /dev/null +++ b/src/blockchain/azext_blockchain/vendored_sdks/blockchain/aio/operations_async/_blockchain_member_operation_result_operations_async.py @@ -0,0 +1,98 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class BlockchainMemberOperationResultOperations: + """BlockchainMemberOperationResultOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.blockchain.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + async def get( + self, + location_name: str, + operation_id: str, + **kwargs + ) -> "models.OperationResult": + """Get Async operation result. + + :param location_name: Location name. + :type location_name: str + :param operation_id: Operation Id. + :type operation_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: OperationResult or the result of cls(response) + :rtype: ~azure.mgmt.blockchain.models.OperationResult or None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.OperationResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01-preview" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'locationName': self._serialize.url("location_name", location_name, 'str'), + 'operationId': self._serialize.url("operation_id", operation_id, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('OperationResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Blockchain/locations/{location}/blockchainMemberOperationResults/{operationId}'} diff --git a/src/blockchain/azext_blockchain/vendored_sdks/blockchain/aio/operations_async/_blockchain_member_operations_async.py b/src/blockchain/azext_blockchain/vendored_sdks/blockchain/aio/operations_async/_blockchain_member_operations_async.py new file mode 100644 index 00000000000..c788c1b56e9 --- /dev/null +++ b/src/blockchain/azext_blockchain/vendored_sdks/blockchain/aio/operations_async/_blockchain_member_operations_async.py @@ -0,0 +1,760 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, List, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.polling import AsyncNoPolling, AsyncPollingMethod, async_poller +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class BlockchainMemberOperations: + """BlockchainMemberOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.blockchain.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + async def get( + self, + blockchain_member_name: str, + resource_group_name: str, + **kwargs + ) -> "models.BlockchainMember": + """Get details about a blockchain member. + + :param blockchain_member_name: Blockchain member name. + :type blockchain_member_name: str + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: BlockchainMember or the result of cls(response) + :rtype: ~azure.mgmt.blockchain.models.BlockchainMember + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.BlockchainMember"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01-preview" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'blockchainMemberName': self._serialize.url("blockchain_member_name", blockchain_member_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('BlockchainMember', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Blockchain/blockchainMembers/{blockchainMemberName}'} + + async def _create_initial( + self, + blockchain_member_name: str, + resource_group_name: str, + location: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + sku: Optional["models.Sku"] = None, + protocol: Optional[Union[str, "models.BlockchainProtocol"]] = None, + validator_nodes_sku: Optional["models.BlockchainMemberNodesSku"] = None, + password: Optional[str] = None, + consortium: Optional[str] = None, + consortium_management_account_password: Optional[str] = None, + consortium_role: Optional[str] = None, + consortium_member_display_name: Optional[str] = None, + firewall_rules: Optional[List["FirewallRule"]] = None, + **kwargs + ) -> "models.BlockchainMember": + cls = kwargs.pop('cls', None) # type: ClsType["models.BlockchainMember"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _blockchain_member = models.BlockchainMember(location=location, tags=tags, sku=sku, protocol=protocol, validator_nodes_sku=validator_nodes_sku, password=password, consortium=consortium, consortium_management_account_password=consortium_management_account_password, consortium_role=consortium_role, consortium_member_display_name=consortium_member_display_name, firewall_rules=firewall_rules) + api_version = "2018-06-01-preview" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self._create_initial.metadata['url'] + path_format_arguments = { + 'blockchainMemberName': self._serialize.url("blockchain_member_name", blockchain_member_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + if _blockchain_member is not None: + body_content = self._serialize.body(_blockchain_member, 'BlockchainMember') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('BlockchainMember', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('BlockchainMember', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Blockchain/blockchainMembers/{blockchainMemberName}'} + + async def create( + self, + blockchain_member_name: str, + resource_group_name: str, + location: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + sku: Optional["models.Sku"] = None, + protocol: Optional[Union[str, "models.BlockchainProtocol"]] = None, + validator_nodes_sku: Optional["models.BlockchainMemberNodesSku"] = None, + password: Optional[str] = None, + consortium: Optional[str] = None, + consortium_management_account_password: Optional[str] = None, + consortium_role: Optional[str] = None, + consortium_member_display_name: Optional[str] = None, + firewall_rules: Optional[List["FirewallRule"]] = None, + **kwargs + ) -> "models.BlockchainMember": + """Create a blockchain member. + + :param blockchain_member_name: Blockchain member name. + :type blockchain_member_name: str + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param location: The GEO location of the blockchain service. + :type location: str + :param tags: Tags of the service which is a list of key value pairs that describes the + resource. + :type tags: dict[str, str] + :param sku: Gets or sets the blockchain member Sku. + :type sku: ~azure.mgmt.blockchain.models.Sku + :param protocol: Gets or sets the blockchain protocol. + :type protocol: str or ~azure.mgmt.blockchain.models.BlockchainProtocol + :param validator_nodes_sku: Gets or sets the blockchain validator nodes Sku. + :type validator_nodes_sku: ~azure.mgmt.blockchain.models.BlockchainMemberNodesSku + :param password: Sets the basic auth password of the blockchain member. + :type password: str + :param consortium: Gets or sets the consortium for the blockchain member. + :type consortium: str + :param consortium_management_account_password: Sets the managed consortium management account + password. + :type consortium_management_account_password: str + :param consortium_role: Gets the role of the member in the consortium. + :type consortium_role: str + :param consortium_member_display_name: Gets the display name of the member in the consortium. + :type consortium_member_display_name: str + :param firewall_rules: Gets or sets firewall rules. + :type firewall_rules: list[~azure.mgmt.blockchain.models.FirewallRule] + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :return: An instance of LROPoller that returns BlockchainMember + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.blockchain.models.BlockchainMember] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.BlockchainMember"] + raw_result = await self._create_initial( + blockchain_member_name=blockchain_member_name, + resource_group_name=resource_group_name, + location=location, + tags=tags, + sku=sku, + protocol=protocol, + validator_nodes_sku=validator_nodes_sku, + password=password, + consortium=consortium, + consortium_management_account_password=consortium_management_account_password, + consortium_role=consortium_role, + consortium_member_display_name=consortium_member_display_name, + firewall_rules=firewall_rules, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('BlockchainMember', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + return await async_poller(self._client, raw_result, get_long_running_output, polling_method) + create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Blockchain/blockchainMembers/{blockchainMemberName}'} + + async def _delete_initial( + self, + blockchain_member_name: str, + resource_group_name: str, + **kwargs + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01-preview" + + # Construct URL + url = self._delete_initial.metadata['url'] + path_format_arguments = { + 'blockchainMemberName': self._serialize.url("blockchain_member_name", blockchain_member_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [202, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Blockchain/blockchainMembers/{blockchainMemberName}'} + + async def delete( + self, + blockchain_member_name: str, + resource_group_name: str, + **kwargs + ) -> None: + """Delete a blockchain member. + + :param blockchain_member_name: Blockchain member name. + :type blockchain_member_name: str + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :return: An instance of LROPoller that returns None + :rtype: ~azure.core.polling.LROPoller[None] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + raw_result = await self._delete_initial( + blockchain_member_name=blockchain_member_name, + resource_group_name=resource_group_name, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + return await async_poller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Blockchain/blockchainMembers/{blockchainMemberName}'} + + async def update( + self, + blockchain_member_name: str, + resource_group_name: str, + tags: Optional[Dict[str, str]] = None, + password: Optional[str] = None, + firewall_rules: Optional[List["FirewallRule"]] = None, + consortium_management_account_password: Optional[str] = None, + **kwargs + ) -> "models.BlockchainMember": + """Update a blockchain member. + + :param blockchain_member_name: Blockchain member name. + :type blockchain_member_name: str + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param tags: Tags of the service which is a list of key value pairs that describes the + resource. + :type tags: dict[str, str] + :param password: Sets the transaction node dns endpoint basic auth password. + :type password: str + :param firewall_rules: Gets or sets the firewall rules. + :type firewall_rules: list[~azure.mgmt.blockchain.models.FirewallRule] + :param consortium_management_account_password: Sets the managed consortium management account + password. + :type consortium_management_account_password: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: BlockchainMember or the result of cls(response) + :rtype: ~azure.mgmt.blockchain.models.BlockchainMember + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.BlockchainMember"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _blockchain_member = models.BlockchainMemberUpdate(tags=tags, password=password, firewall_rules=firewall_rules, consortium_management_account_password=consortium_management_account_password) + api_version = "2018-06-01-preview" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.update.metadata['url'] + path_format_arguments = { + 'blockchainMemberName': self._serialize.url("blockchain_member_name", blockchain_member_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + if _blockchain_member is not None: + body_content = self._serialize.body(_blockchain_member, 'BlockchainMemberUpdate') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('BlockchainMember', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Blockchain/blockchainMembers/{blockchainMemberName}'} + + def list( + self, + resource_group_name: str, + **kwargs + ) -> "models.BlockchainMemberCollection": + """Lists the blockchain members for a resource group. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: BlockchainMemberCollection or the result of cls(response) + :rtype: ~azure.mgmt.blockchain.models.BlockchainMemberCollection + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.BlockchainMemberCollection"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01-preview" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('BlockchainMemberCollection', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Blockchain/blockchainMembers'} + + def list_all( + self, + **kwargs + ) -> "models.BlockchainMemberCollection": + """Lists the blockchain members for a subscription. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: BlockchainMemberCollection or the result of cls(response) + :rtype: ~azure.mgmt.blockchain.models.BlockchainMemberCollection + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.BlockchainMemberCollection"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01-preview" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_all.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('BlockchainMemberCollection', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Blockchain/blockchainMembers'} + + def list_consortium_member( + self, + blockchain_member_name: str, + resource_group_name: str, + **kwargs + ) -> "models.ConsortiumMemberCollection": + """Lists the consortium members for a blockchain member. + + :param blockchain_member_name: Blockchain member name. + :type blockchain_member_name: str + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ConsortiumMemberCollection or the result of cls(response) + :rtype: ~azure.mgmt.blockchain.models.ConsortiumMemberCollection + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ConsortiumMemberCollection"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01-preview" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_consortium_member.metadata['url'] + path_format_arguments = { + 'blockchainMemberName': self._serialize.url("blockchain_member_name", blockchain_member_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('ConsortiumMemberCollection', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_consortium_member.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Blockchain/blockchainMembers/{blockchainMemberName}/consortiumMembers'} + + async def list_api_key( + self, + blockchain_member_name: str, + resource_group_name: str, + **kwargs + ) -> "models.ApiKeyCollection": + """Lists the API keys for a blockchain member. + + :param blockchain_member_name: Blockchain member name. + :type blockchain_member_name: str + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ApiKeyCollection or the result of cls(response) + :rtype: ~azure.mgmt.blockchain.models.ApiKeyCollection + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ApiKeyCollection"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01-preview" + + # Construct URL + url = self.list_api_key.metadata['url'] + path_format_arguments = { + 'blockchainMemberName': self._serialize.url("blockchain_member_name", blockchain_member_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ApiKeyCollection', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + list_api_key.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Blockchain/blockchainMembers/{blockchainMemberName}/listApiKeys'} + + async def regenerate_api_key( + self, + blockchain_member_name: str, + resource_group_name: str, + key_name: Optional[str] = None, + value: Optional[str] = None, + **kwargs + ) -> "models.ApiKeyCollection": + """Regenerate the API keys for a blockchain member. + + :param blockchain_member_name: Blockchain member name. + :type blockchain_member_name: str + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param key_name: Gets or sets the API key name. + :type key_name: str + :param value: Gets or sets the API key value. + :type value: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ApiKeyCollection or the result of cls(response) + :rtype: ~azure.mgmt.blockchain.models.ApiKeyCollection + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ApiKeyCollection"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _api_key = models.ApiKey(key_name=key_name, value=value) + api_version = "2018-06-01-preview" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.regenerate_api_key.metadata['url'] + path_format_arguments = { + 'blockchainMemberName': self._serialize.url("blockchain_member_name", blockchain_member_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + if _api_key is not None: + body_content = self._serialize.body(_api_key, 'ApiKey') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ApiKeyCollection', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + regenerate_api_key.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Blockchain/blockchainMembers/{blockchainMemberName}/regenerateApiKeys'} diff --git a/src/blockchain/azext_blockchain/vendored_sdks/blockchain/aio/operations_async/_location_operations_async.py b/src/blockchain/azext_blockchain/vendored_sdks/blockchain/aio/operations_async/_location_operations_async.py new file mode 100644 index 00000000000..01dd60ce40d --- /dev/null +++ b/src/blockchain/azext_blockchain/vendored_sdks/blockchain/aio/operations_async/_location_operations_async.py @@ -0,0 +1,160 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class LocationOperations: + """LocationOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.blockchain.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + async def check_name_availability( + self, + location_name: str, + name: Optional[str] = None, + type: Optional[str] = None, + **kwargs + ) -> "models.NameAvailability": + """To check whether a resource name is available. + + :param location_name: Location Name. + :type location_name: str + :param name: Gets or sets the name to check. + :type name: str + :param type: Gets or sets the type of the resource to check. + :type type: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: NameAvailability or the result of cls(response) + :rtype: ~azure.mgmt.blockchain.models.NameAvailability + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.NameAvailability"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _name_availability_request = models.NameAvailabilityRequest(name=name, type=type) + api_version = "2018-06-01-preview" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.check_name_availability.metadata['url'] + path_format_arguments = { + 'locationName': self._serialize.url("location_name", location_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + if _name_availability_request is not None: + body_content = self._serialize.body(_name_availability_request, 'NameAvailabilityRequest') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('NameAvailability', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + check_name_availability.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Blockchain/locations/{locationName}/checkNameAvailability'} + + async def list_consortium( + self, + location_name: str, + **kwargs + ) -> "models.ConsortiumCollection": + """Lists the available consortiums for a subscription. + + :param location_name: Location Name. + :type location_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ConsortiumCollection or the result of cls(response) + :rtype: ~azure.mgmt.blockchain.models.ConsortiumCollection + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ConsortiumCollection"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01-preview" + + # Construct URL + url = self.list_consortium.metadata['url'] + path_format_arguments = { + 'locationName': self._serialize.url("location_name", location_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ConsortiumCollection', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + list_consortium.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Blockchain/locations/{locationName}/listConsortiums'} diff --git a/src/blockchain/azext_blockchain/vendored_sdks/blockchain/aio/operations_async/_operation_operations_async.py b/src/blockchain/azext_blockchain/vendored_sdks/blockchain/aio/operations_async/_operation_operations_async.py new file mode 100644 index 00000000000..9affee48ee7 --- /dev/null +++ b/src/blockchain/azext_blockchain/vendored_sdks/blockchain/aio/operations_async/_operation_operations_async.py @@ -0,0 +1,100 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class OperationOperations: + """OperationOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.blockchain.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + **kwargs + ) -> "models.ResourceProviderOperationCollection": + """Lists the available operations of Microsoft.Blockchain resource provider. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ResourceProviderOperationCollection or the result of cls(response) + :rtype: ~azure.mgmt.blockchain.models.ResourceProviderOperationCollection + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ResourceProviderOperationCollection"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01-preview" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('ResourceProviderOperationCollection', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/providers/Microsoft.Blockchain/operations'} diff --git a/src/blockchain/azext_blockchain/vendored_sdks/blockchain/aio/operations_async/_sku_operations_async.py b/src/blockchain/azext_blockchain/vendored_sdks/blockchain/aio/operations_async/_sku_operations_async.py new file mode 100644 index 00000000000..0b265e39c61 --- /dev/null +++ b/src/blockchain/azext_blockchain/vendored_sdks/blockchain/aio/operations_async/_sku_operations_async.py @@ -0,0 +1,88 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class SkuOperations: + """SkuOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.blockchain.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + async def list( + self, + **kwargs + ) -> "models.ResourceTypeSkuCollection": + """Lists the Skus of the resource type. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ResourceTypeSkuCollection or the result of cls(response) + :rtype: ~azure.mgmt.blockchain.models.ResourceTypeSkuCollection + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ResourceTypeSkuCollection"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01-preview" + + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ResourceTypeSkuCollection', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Blockchain/skus'} diff --git a/src/blockchain/azext_blockchain/vendored_sdks/blockchain/aio/operations_async/_transaction_node_operations_async.py b/src/blockchain/azext_blockchain/vendored_sdks/blockchain/aio/operations_async/_transaction_node_operations_async.py new file mode 100644 index 00000000000..7088ed91379 --- /dev/null +++ b/src/blockchain/azext_blockchain/vendored_sdks/blockchain/aio/operations_async/_transaction_node_operations_async.py @@ -0,0 +1,609 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, List, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.polling import AsyncNoPolling, AsyncPollingMethod, async_poller +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class TransactionNodeOperations: + """TransactionNodeOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.blockchain.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + async def get( + self, + blockchain_member_name: str, + transaction_node_name: str, + resource_group_name: str, + **kwargs + ) -> "models.TransactionNode": + """Get the details of the transaction node. + + :param blockchain_member_name: Blockchain member name. + :type blockchain_member_name: str + :param transaction_node_name: Transaction node name. + :type transaction_node_name: str + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: TransactionNode or the result of cls(response) + :rtype: ~azure.mgmt.blockchain.models.TransactionNode + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.TransactionNode"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01-preview" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'blockchainMemberName': self._serialize.url("blockchain_member_name", blockchain_member_name, 'str'), + 'transactionNodeName': self._serialize.url("transaction_node_name", transaction_node_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('TransactionNode', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Blockchain/blockchainMembers/{blockchainMemberName}/transactionNodes/{transactionNodeName}'} + + async def _create_initial( + self, + blockchain_member_name: str, + transaction_node_name: str, + resource_group_name: str, + location: Optional[str] = None, + password: Optional[str] = None, + firewall_rules: Optional[List["FirewallRule"]] = None, + **kwargs + ) -> "models.TransactionNode": + cls = kwargs.pop('cls', None) # type: ClsType["models.TransactionNode"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _transaction_node = models.TransactionNode(location=location, password=password, firewall_rules=firewall_rules) + api_version = "2018-06-01-preview" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self._create_initial.metadata['url'] + path_format_arguments = { + 'blockchainMemberName': self._serialize.url("blockchain_member_name", blockchain_member_name, 'str'), + 'transactionNodeName': self._serialize.url("transaction_node_name", transaction_node_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + if _transaction_node is not None: + body_content = self._serialize.body(_transaction_node, 'TransactionNode') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('TransactionNode', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('TransactionNode', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Blockchain/blockchainMembers/{blockchainMemberName}/transactionNodes/{transactionNodeName}'} + + async def create( + self, + blockchain_member_name: str, + transaction_node_name: str, + resource_group_name: str, + location: Optional[str] = None, + password: Optional[str] = None, + firewall_rules: Optional[List["FirewallRule"]] = None, + **kwargs + ) -> "models.TransactionNode": + """Create or update the transaction node. + + :param blockchain_member_name: Blockchain member name. + :type blockchain_member_name: str + :param transaction_node_name: Transaction node name. + :type transaction_node_name: str + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param location: Gets or sets the transaction node location. + :type location: str + :param password: Sets the transaction node dns endpoint basic auth password. + :type password: str + :param firewall_rules: Gets or sets the firewall rules. + :type firewall_rules: list[~azure.mgmt.blockchain.models.FirewallRule] + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :return: An instance of LROPoller that returns TransactionNode + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.blockchain.models.TransactionNode] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.TransactionNode"] + raw_result = await self._create_initial( + blockchain_member_name=blockchain_member_name, + transaction_node_name=transaction_node_name, + resource_group_name=resource_group_name, + location=location, + password=password, + firewall_rules=firewall_rules, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('TransactionNode', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + return await async_poller(self._client, raw_result, get_long_running_output, polling_method) + create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Blockchain/blockchainMembers/{blockchainMemberName}/transactionNodes/{transactionNodeName}'} + + async def _delete_initial( + self, + blockchain_member_name: str, + transaction_node_name: str, + resource_group_name: str, + **kwargs + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01-preview" + + # Construct URL + url = self._delete_initial.metadata['url'] + path_format_arguments = { + 'blockchainMemberName': self._serialize.url("blockchain_member_name", blockchain_member_name, 'str'), + 'transactionNodeName': self._serialize.url("transaction_node_name", transaction_node_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [202, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Blockchain/blockchainMembers/{blockchainMemberName}/transactionNodes/{transactionNodeName}'} + + async def delete( + self, + blockchain_member_name: str, + transaction_node_name: str, + resource_group_name: str, + **kwargs + ) -> None: + """Delete the transaction node. + + :param blockchain_member_name: Blockchain member name. + :type blockchain_member_name: str + :param transaction_node_name: Transaction node name. + :type transaction_node_name: str + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :return: An instance of LROPoller that returns None + :rtype: ~azure.core.polling.LROPoller[None] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + raw_result = await self._delete_initial( + blockchain_member_name=blockchain_member_name, + transaction_node_name=transaction_node_name, + resource_group_name=resource_group_name, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + return await async_poller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Blockchain/blockchainMembers/{blockchainMemberName}/transactionNodes/{transactionNodeName}'} + + async def update( + self, + blockchain_member_name: str, + transaction_node_name: str, + resource_group_name: str, + password: Optional[str] = None, + firewall_rules: Optional[List["FirewallRule"]] = None, + **kwargs + ) -> "models.TransactionNode": + """Update the transaction node. + + :param blockchain_member_name: Blockchain member name. + :type blockchain_member_name: str + :param transaction_node_name: Transaction node name. + :type transaction_node_name: str + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param password: Sets the transaction node dns endpoint basic auth password. + :type password: str + :param firewall_rules: Gets or sets the firewall rules. + :type firewall_rules: list[~azure.mgmt.blockchain.models.FirewallRule] + :keyword callable cls: A custom type or function that will be passed the direct response + :return: TransactionNode or the result of cls(response) + :rtype: ~azure.mgmt.blockchain.models.TransactionNode + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.TransactionNode"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _transaction_node = models.TransactionNodeUpdate(password=password, firewall_rules=firewall_rules) + api_version = "2018-06-01-preview" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.update.metadata['url'] + path_format_arguments = { + 'blockchainMemberName': self._serialize.url("blockchain_member_name", blockchain_member_name, 'str'), + 'transactionNodeName': self._serialize.url("transaction_node_name", transaction_node_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + if _transaction_node is not None: + body_content = self._serialize.body(_transaction_node, 'TransactionNodeUpdate') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('TransactionNode', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Blockchain/blockchainMembers/{blockchainMemberName}/transactionNodes/{transactionNodeName}'} + + def list( + self, + blockchain_member_name: str, + resource_group_name: str, + **kwargs + ) -> "models.TransactionNodeCollection": + """Lists the transaction nodes for a blockchain member. + + :param blockchain_member_name: Blockchain member name. + :type blockchain_member_name: str + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: TransactionNodeCollection or the result of cls(response) + :rtype: ~azure.mgmt.blockchain.models.TransactionNodeCollection + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.TransactionNodeCollection"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01-preview" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'blockchainMemberName': self._serialize.url("blockchain_member_name", blockchain_member_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('TransactionNodeCollection', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Blockchain/blockchainMembers/{blockchainMemberName}/transactionNodes'} + + async def list_api_key( + self, + blockchain_member_name: str, + transaction_node_name: str, + resource_group_name: str, + **kwargs + ) -> "models.ApiKeyCollection": + """List the API keys for the transaction node. + + :param blockchain_member_name: Blockchain member name. + :type blockchain_member_name: str + :param transaction_node_name: Transaction node name. + :type transaction_node_name: str + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ApiKeyCollection or the result of cls(response) + :rtype: ~azure.mgmt.blockchain.models.ApiKeyCollection + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ApiKeyCollection"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01-preview" + + # Construct URL + url = self.list_api_key.metadata['url'] + path_format_arguments = { + 'blockchainMemberName': self._serialize.url("blockchain_member_name", blockchain_member_name, 'str'), + 'transactionNodeName': self._serialize.url("transaction_node_name", transaction_node_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ApiKeyCollection', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + list_api_key.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Blockchain/blockchainMembers/{blockchainMemberName}/transactionNodes/{transactionNodeName}/listApiKeys'} + + async def regenerate_api_key( + self, + blockchain_member_name: str, + transaction_node_name: str, + resource_group_name: str, + key_name: Optional[str] = None, + value: Optional[str] = None, + **kwargs + ) -> "models.ApiKeyCollection": + """Regenerate the API keys for the blockchain member. + + :param blockchain_member_name: Blockchain member name. + :type blockchain_member_name: str + :param transaction_node_name: Transaction node name. + :type transaction_node_name: str + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param key_name: Gets or sets the API key name. + :type key_name: str + :param value: Gets or sets the API key value. + :type value: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ApiKeyCollection or the result of cls(response) + :rtype: ~azure.mgmt.blockchain.models.ApiKeyCollection + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ApiKeyCollection"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _api_key = models.ApiKey(key_name=key_name, value=value) + api_version = "2018-06-01-preview" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.regenerate_api_key.metadata['url'] + path_format_arguments = { + 'blockchainMemberName': self._serialize.url("blockchain_member_name", blockchain_member_name, 'str'), + 'transactionNodeName': self._serialize.url("transaction_node_name", transaction_node_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + if _api_key is not None: + body_content = self._serialize.body(_api_key, 'ApiKey') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ApiKeyCollection', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + regenerate_api_key.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Blockchain/blockchainMembers/{blockchainMemberName}/transactionNodes/{transactionNodeName}/regenerateApiKeys'} diff --git a/src/blockchain/azext_blockchain/vendored_sdks/blockchain/models/__init__.py b/src/blockchain/azext_blockchain/vendored_sdks/blockchain/models/__init__.py new file mode 100644 index 00000000000..b5aa3df9e1f --- /dev/null +++ b/src/blockchain/azext_blockchain/vendored_sdks/blockchain/models/__init__.py @@ -0,0 +1,108 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +try: + from ._models_py3 import ApiKey + from ._models_py3 import ApiKeyCollection + from ._models_py3 import BlockchainMember + from ._models_py3 import BlockchainMemberCollection + from ._models_py3 import BlockchainMemberNodesSku + from ._models_py3 import BlockchainMemberPropertiesUpdate + from ._models_py3 import BlockchainMemberUpdate + from ._models_py3 import Consortium + from ._models_py3 import ConsortiumCollection + from ._models_py3 import ConsortiumMember + from ._models_py3 import ConsortiumMemberCollection + from ._models_py3 import FirewallRule + from ._models_py3 import NameAvailability + from ._models_py3 import NameAvailabilityRequest + from ._models_py3 import OperationResult + from ._models_py3 import Resource + from ._models_py3 import ResourceProviderOperation + from ._models_py3 import ResourceProviderOperationCollection + from ._models_py3 import ResourceProviderOperationDisplay + from ._models_py3 import ResourceTypeSku + from ._models_py3 import ResourceTypeSkuCollection + from ._models_py3 import Sku + from ._models_py3 import SkuSetting + from ._models_py3 import TrackedResource + from ._models_py3 import TransactionNode + from ._models_py3 import TransactionNodeCollection + from ._models_py3 import TransactionNodePropertiesUpdate + from ._models_py3 import TransactionNodeUpdate +except (SyntaxError, ImportError): + from ._models import ApiKey # type: ignore + from ._models import ApiKeyCollection # type: ignore + from ._models import BlockchainMember # type: ignore + from ._models import BlockchainMemberCollection # type: ignore + from ._models import BlockchainMemberNodesSku # type: ignore + from ._models import BlockchainMemberPropertiesUpdate # type: ignore + from ._models import BlockchainMemberUpdate # type: ignore + from ._models import Consortium # type: ignore + from ._models import ConsortiumCollection # type: ignore + from ._models import ConsortiumMember # type: ignore + from ._models import ConsortiumMemberCollection # type: ignore + from ._models import FirewallRule # type: ignore + from ._models import NameAvailability # type: ignore + from ._models import NameAvailabilityRequest # type: ignore + from ._models import OperationResult # type: ignore + from ._models import Resource # type: ignore + from ._models import ResourceProviderOperation # type: ignore + from ._models import ResourceProviderOperationCollection # type: ignore + from ._models import ResourceProviderOperationDisplay # type: ignore + from ._models import ResourceTypeSku # type: ignore + from ._models import ResourceTypeSkuCollection # type: ignore + from ._models import Sku # type: ignore + from ._models import SkuSetting # type: ignore + from ._models import TrackedResource # type: ignore + from ._models import TransactionNode # type: ignore + from ._models import TransactionNodeCollection # type: ignore + from ._models import TransactionNodePropertiesUpdate # type: ignore + from ._models import TransactionNodeUpdate # type: ignore + +from ._blockchain_management_client_enums import ( + BlockchainMemberProvisioningState, + BlockchainProtocol, + NameAvailabilityReason, + NodeProvisioningState, +) + +__all__ = [ + 'ApiKey', + 'ApiKeyCollection', + 'BlockchainMember', + 'BlockchainMemberCollection', + 'BlockchainMemberNodesSku', + 'BlockchainMemberPropertiesUpdate', + 'BlockchainMemberUpdate', + 'Consortium', + 'ConsortiumCollection', + 'ConsortiumMember', + 'ConsortiumMemberCollection', + 'FirewallRule', + 'NameAvailability', + 'NameAvailabilityRequest', + 'OperationResult', + 'Resource', + 'ResourceProviderOperation', + 'ResourceProviderOperationCollection', + 'ResourceProviderOperationDisplay', + 'ResourceTypeSku', + 'ResourceTypeSkuCollection', + 'Sku', + 'SkuSetting', + 'TrackedResource', + 'TransactionNode', + 'TransactionNodeCollection', + 'TransactionNodePropertiesUpdate', + 'TransactionNodeUpdate', + 'BlockchainMemberProvisioningState', + 'BlockchainProtocol', + 'NameAvailabilityReason', + 'NodeProvisioningState', +] diff --git a/src/blockchain/azext_blockchain/vendored_sdks/blockchain/models/_blockchain_management_client_enums.py b/src/blockchain/azext_blockchain/vendored_sdks/blockchain/models/_blockchain_management_client_enums.py new file mode 100644 index 00000000000..7abc7566c60 --- /dev/null +++ b/src/blockchain/azext_blockchain/vendored_sdks/blockchain/models/_blockchain_management_client_enums.py @@ -0,0 +1,47 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from enum import Enum + +class BlockchainMemberProvisioningState(str, Enum): + """Gets or sets the blockchain member provision state. + """ + + not_specified = "NotSpecified" + updating = "Updating" + deleting = "Deleting" + succeeded = "Succeeded" + failed = "Failed" + stale = "Stale" + +class BlockchainProtocol(str, Enum): + """Gets or sets the blockchain protocol. + """ + + not_specified = "NotSpecified" + parity = "Parity" + quorum = "Quorum" + corda = "Corda" + +class NameAvailabilityReason(str, Enum): + """Gets or sets the name availability reason. + """ + + not_specified = "NotSpecified" + already_exists = "AlreadyExists" + invalid = "Invalid" + +class NodeProvisioningState(str, Enum): + """Gets or sets the blockchain member provision state. + """ + + not_specified = "NotSpecified" + updating = "Updating" + deleting = "Deleting" + succeeded = "Succeeded" + failed = "Failed" diff --git a/src/blockchain/azext_blockchain/vendored_sdks/blockchain/models/_models.py b/src/blockchain/azext_blockchain/vendored_sdks/blockchain/models/_models.py new file mode 100644 index 00000000000..09703cd1371 --- /dev/null +++ b/src/blockchain/azext_blockchain/vendored_sdks/blockchain/models/_models.py @@ -0,0 +1,876 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +import msrest.serialization + + +class ApiKey(msrest.serialization.Model): + """API key payload which is exposed in the request/response of the resource provider. + + :param key_name: Gets or sets the API key name. + :type key_name: str + :param value: Gets or sets the API key value. + :type value: str + """ + + _attribute_map = { + 'key_name': {'key': 'keyName', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ApiKey, self).__init__(**kwargs) + self.key_name = kwargs.get('key_name', None) + self.value = kwargs.get('value', None) + + +class ApiKeyCollection(msrest.serialization.Model): + """Collection of the API key payload which is exposed in the response of the resource provider. + + :param keys: Gets or sets the collection of API key. + :type keys: list[~azure.mgmt.blockchain.models.ApiKey] + """ + + _attribute_map = { + 'keys': {'key': 'keys', 'type': '[ApiKey]'}, + } + + def __init__( + self, + **kwargs + ): + super(ApiKeyCollection, self).__init__(**kwargs) + self.keys = kwargs.get('keys', None) + + +class Resource(msrest.serialization.Model): + """The core properties of the resources. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource Id of the resource. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the service - e.g. "Microsoft.Blockchain". + :vartype type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(Resource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + + +class TrackedResource(Resource): + """The resource model definition for a top level resource. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource Id of the resource. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the service - e.g. "Microsoft.Blockchain". + :vartype type: str + :param location: The GEO location of the blockchain service. + :type location: str + :param tags: A set of tags. Tags of the service which is a list of key value pairs that + describes the resource. + :type tags: dict[str, str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__( + self, + **kwargs + ): + super(TrackedResource, self).__init__(**kwargs) + self.location = kwargs.get('location', None) + self.tags = kwargs.get('tags', None) + + +class BlockchainMember(TrackedResource): + """Payload of the blockchain member which is exposed in the request/response of the resource provider. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource Id of the resource. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the service - e.g. "Microsoft.Blockchain". + :vartype type: str + :param location: The GEO location of the blockchain service. + :type location: str + :param tags: A set of tags. Tags of the service which is a list of key value pairs that + describes the resource. + :type tags: dict[str, str] + :param sku: Gets or sets the blockchain member Sku. + :type sku: ~azure.mgmt.blockchain.models.Sku + :param protocol: Gets or sets the blockchain protocol. Possible values include: "NotSpecified", + "Parity", "Quorum", "Corda". + :type protocol: str or ~azure.mgmt.blockchain.models.BlockchainProtocol + :param validator_nodes_sku: Gets or sets the blockchain validator nodes Sku. + :type validator_nodes_sku: ~azure.mgmt.blockchain.models.BlockchainMemberNodesSku + :ivar provisioning_state: Gets or sets the blockchain member provision state. Possible values + include: "NotSpecified", "Updating", "Deleting", "Succeeded", "Failed", "Stale". + :vartype provisioning_state: str or + ~azure.mgmt.blockchain.models.BlockchainMemberProvisioningState + :ivar dns: Gets the dns endpoint of the blockchain member. + :vartype dns: str + :ivar user_name: Gets the auth user name of the blockchain member. + :vartype user_name: str + :param password: Sets the basic auth password of the blockchain member. + :type password: str + :param consortium: Gets or sets the consortium for the blockchain member. + :type consortium: str + :ivar consortium_management_account_address: Gets the managed consortium management account + address. + :vartype consortium_management_account_address: str + :param consortium_management_account_password: Sets the managed consortium management account + password. + :type consortium_management_account_password: str + :param consortium_role: Gets the role of the member in the consortium. + :type consortium_role: str + :param consortium_member_display_name: Gets the display name of the member in the consortium. + :type consortium_member_display_name: str + :ivar root_contract_address: Gets the Ethereum root contract address of the blockchain. + :vartype root_contract_address: str + :ivar public_key: Gets the public key of the blockchain member (default transaction node). + :vartype public_key: str + :param firewall_rules: Gets or sets firewall rules. + :type firewall_rules: list[~azure.mgmt.blockchain.models.FirewallRule] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'dns': {'readonly': True}, + 'user_name': {'readonly': True}, + 'consortium_management_account_address': {'readonly': True}, + 'root_contract_address': {'readonly': True}, + 'public_key': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + 'protocol': {'key': 'properties.protocol', 'type': 'str'}, + 'validator_nodes_sku': {'key': 'properties.validatorNodesSku', 'type': 'BlockchainMemberNodesSku'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'dns': {'key': 'properties.dns', 'type': 'str'}, + 'user_name': {'key': 'properties.userName', 'type': 'str'}, + 'password': {'key': 'properties.password', 'type': 'str'}, + 'consortium': {'key': 'properties.consortium', 'type': 'str'}, + 'consortium_management_account_address': {'key': 'properties.consortiumManagementAccountAddress', 'type': 'str'}, + 'consortium_management_account_password': {'key': 'properties.consortiumManagementAccountPassword', 'type': 'str'}, + 'consortium_role': {'key': 'properties.consortiumRole', 'type': 'str'}, + 'consortium_member_display_name': {'key': 'properties.consortiumMemberDisplayName', 'type': 'str'}, + 'root_contract_address': {'key': 'properties.rootContractAddress', 'type': 'str'}, + 'public_key': {'key': 'properties.publicKey', 'type': 'str'}, + 'firewall_rules': {'key': 'properties.firewallRules', 'type': '[FirewallRule]'}, + } + + def __init__( + self, + **kwargs + ): + super(BlockchainMember, self).__init__(**kwargs) + self.sku = kwargs.get('sku', None) + self.protocol = kwargs.get('protocol', None) + self.validator_nodes_sku = kwargs.get('validator_nodes_sku', None) + self.provisioning_state = None + self.dns = None + self.user_name = None + self.password = kwargs.get('password', None) + self.consortium = kwargs.get('consortium', None) + self.consortium_management_account_address = None + self.consortium_management_account_password = kwargs.get('consortium_management_account_password', None) + self.consortium_role = kwargs.get('consortium_role', None) + self.consortium_member_display_name = kwargs.get('consortium_member_display_name', None) + self.root_contract_address = None + self.public_key = None + self.firewall_rules = kwargs.get('firewall_rules', None) + + +class BlockchainMemberCollection(msrest.serialization.Model): + """Collection of the blockchain member payload which is exposed in the request/response of the resource provider. + + :param value: Gets or sets the collection of blockchain members. + :type value: list[~azure.mgmt.blockchain.models.BlockchainMember] + :param next_link: Gets or sets the URL, that the client should use to fetch the next page (per + server side paging). + It's null for now, added for future use. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[BlockchainMember]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(BlockchainMemberCollection, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class BlockchainMemberNodesSku(msrest.serialization.Model): + """Payload of the blockchain member nodes Sku for a blockchain member. + + :param capacity: Gets or sets the nodes capacity. + :type capacity: int + """ + + _attribute_map = { + 'capacity': {'key': 'capacity', 'type': 'int'}, + } + + def __init__( + self, + **kwargs + ): + super(BlockchainMemberNodesSku, self).__init__(**kwargs) + self.capacity = kwargs.get('capacity', None) + + +class TransactionNodePropertiesUpdate(msrest.serialization.Model): + """Update the payload of the transaction node properties in the transaction node payload. + + :param password: Sets the transaction node dns endpoint basic auth password. + :type password: str + :param firewall_rules: Gets or sets the firewall rules. + :type firewall_rules: list[~azure.mgmt.blockchain.models.FirewallRule] + """ + + _attribute_map = { + 'password': {'key': 'password', 'type': 'str'}, + 'firewall_rules': {'key': 'firewallRules', 'type': '[FirewallRule]'}, + } + + def __init__( + self, + **kwargs + ): + super(TransactionNodePropertiesUpdate, self).__init__(**kwargs) + self.password = kwargs.get('password', None) + self.firewall_rules = kwargs.get('firewall_rules', None) + + +class BlockchainMemberPropertiesUpdate(TransactionNodePropertiesUpdate): + """Update the payload of the blockchain member properties for a blockchain member. + + :param password: Sets the transaction node dns endpoint basic auth password. + :type password: str + :param firewall_rules: Gets or sets the firewall rules. + :type firewall_rules: list[~azure.mgmt.blockchain.models.FirewallRule] + :param consortium_management_account_password: Sets the managed consortium management account + password. + :type consortium_management_account_password: str + """ + + _attribute_map = { + 'password': {'key': 'password', 'type': 'str'}, + 'firewall_rules': {'key': 'firewallRules', 'type': '[FirewallRule]'}, + 'consortium_management_account_password': {'key': 'consortiumManagementAccountPassword', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(BlockchainMemberPropertiesUpdate, self).__init__(**kwargs) + self.consortium_management_account_password = kwargs.get('consortium_management_account_password', None) + + +class BlockchainMemberUpdate(msrest.serialization.Model): + """Update the payload of the blockchain member which is exposed in the request/response of the resource provider. + + :param tags: A set of tags. Tags of the service which is a list of key value pairs that + describes the resource. + :type tags: dict[str, str] + :param password: Sets the transaction node dns endpoint basic auth password. + :type password: str + :param firewall_rules: Gets or sets the firewall rules. + :type firewall_rules: list[~azure.mgmt.blockchain.models.FirewallRule] + :param consortium_management_account_password: Sets the managed consortium management account + password. + :type consortium_management_account_password: str + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + 'password': {'key': 'properties.password', 'type': 'str'}, + 'firewall_rules': {'key': 'properties.firewallRules', 'type': '[FirewallRule]'}, + 'consortium_management_account_password': {'key': 'properties.consortiumManagementAccountPassword', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(BlockchainMemberUpdate, self).__init__(**kwargs) + self.tags = kwargs.get('tags', None) + self.password = kwargs.get('password', None) + self.firewall_rules = kwargs.get('firewall_rules', None) + self.consortium_management_account_password = kwargs.get('consortium_management_account_password', None) + + +class Consortium(msrest.serialization.Model): + """Consortium payload. + + :param name: Gets or sets the blockchain member name. + :type name: str + :param protocol: Gets or sets the protocol for the consortium. Possible values include: + "NotSpecified", "Parity", "Quorum", "Corda". + :type protocol: str or ~azure.mgmt.blockchain.models.BlockchainProtocol + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'protocol': {'key': 'protocol', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(Consortium, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.protocol = kwargs.get('protocol', None) + + +class ConsortiumCollection(msrest.serialization.Model): + """Collection of the consortium payload. + + :param value: Gets or sets the collection of consortiums. + :type value: list[~azure.mgmt.blockchain.models.Consortium] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[Consortium]'}, + } + + def __init__( + self, + **kwargs + ): + super(ConsortiumCollection, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + + +class ConsortiumMember(msrest.serialization.Model): + """Consortium approval. + + :param name: Gets the consortium member name. + :type name: str + :param display_name: Gets the consortium member display name. + :type display_name: str + :param subscription_id: Gets the consortium member subscription id. + :type subscription_id: str + :param role: Gets the consortium member role. + :type role: str + :param status: Gets the consortium member status. + :type status: str + :param join_date: Gets the consortium member join date. + :type join_date: ~datetime.datetime + :param date_modified: Gets the consortium member modified date. + :type date_modified: ~datetime.datetime + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'subscription_id': {'key': 'subscriptionId', 'type': 'str'}, + 'role': {'key': 'role', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + 'join_date': {'key': 'joinDate', 'type': 'iso-8601'}, + 'date_modified': {'key': 'dateModified', 'type': 'iso-8601'}, + } + + def __init__( + self, + **kwargs + ): + super(ConsortiumMember, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.display_name = kwargs.get('display_name', None) + self.subscription_id = kwargs.get('subscription_id', None) + self.role = kwargs.get('role', None) + self.status = kwargs.get('status', None) + self.join_date = kwargs.get('join_date', None) + self.date_modified = kwargs.get('date_modified', None) + + +class ConsortiumMemberCollection(msrest.serialization.Model): + """Collection of consortium payload. + + :param value: Gets or sets the collection of consortiums. + :type value: list[~azure.mgmt.blockchain.models.ConsortiumMember] + :param next_link: Gets or sets the URL, that the client should use to fetch the next page (per + server side paging). + It's null for now, added for future use. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ConsortiumMember]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ConsortiumMemberCollection, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class FirewallRule(msrest.serialization.Model): + """Ip range for firewall rules. + + :param rule_name: Gets or sets the name of the firewall rules. + :type rule_name: str + :param start_ip_address: Gets or sets the start IP address of the firewall rule range. + :type start_ip_address: str + :param end_ip_address: Gets or sets the end IP address of the firewall rule range. + :type end_ip_address: str + """ + + _attribute_map = { + 'rule_name': {'key': 'ruleName', 'type': 'str'}, + 'start_ip_address': {'key': 'startIpAddress', 'type': 'str'}, + 'end_ip_address': {'key': 'endIpAddress', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(FirewallRule, self).__init__(**kwargs) + self.rule_name = kwargs.get('rule_name', None) + self.start_ip_address = kwargs.get('start_ip_address', None) + self.end_ip_address = kwargs.get('end_ip_address', None) + + +class NameAvailability(msrest.serialization.Model): + """Name availability payload which is exposed in the response of the resource provider. + + :param name_available: Gets or sets the value indicating whether the name is available. + :type name_available: bool + :param message: Gets or sets the message. + :type message: str + :param reason: Gets or sets the name availability reason. Possible values include: + "NotSpecified", "AlreadyExists", "Invalid". + :type reason: str or ~azure.mgmt.blockchain.models.NameAvailabilityReason + """ + + _attribute_map = { + 'name_available': {'key': 'nameAvailable', 'type': 'bool'}, + 'message': {'key': 'message', 'type': 'str'}, + 'reason': {'key': 'reason', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(NameAvailability, self).__init__(**kwargs) + self.name_available = kwargs.get('name_available', None) + self.message = kwargs.get('message', None) + self.reason = kwargs.get('reason', None) + + +class NameAvailabilityRequest(msrest.serialization.Model): + """Name availability request payload which is exposed in the request of the resource provider. + + :param name: Gets or sets the name to check. + :type name: str + :param type: Gets or sets the type of the resource to check. + :type type: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(NameAvailabilityRequest, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.type = kwargs.get('type', None) + + +class OperationResult(msrest.serialization.Model): + """Operation result payload which is exposed in the response of the resource provider. + + :param name: Gets or sets the operation name. + :type name: str + :param start_time: Gets or sets the operation start time. + :type start_time: ~datetime.datetime + :param end_time: Gets or sets the operation end time. + :type end_time: ~datetime.datetime + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, + } + + def __init__( + self, + **kwargs + ): + super(OperationResult, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.start_time = kwargs.get('start_time', None) + self.end_time = kwargs.get('end_time', None) + + +class ResourceProviderOperation(msrest.serialization.Model): + """Operation payload which is exposed in the response of the resource provider. + + :param origin: Gets or sets the origin. + :type origin: str + :param name: Gets or sets the operation name. + :type name: str + :param is_data_action: Gets or sets a value indicating whether the operation is a data action + or not. + :type is_data_action: bool + :param display: Gets or sets operation display. + :type display: ~azure.mgmt.blockchain.models.ResourceProviderOperationDisplay + """ + + _attribute_map = { + 'origin': {'key': 'origin', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'is_data_action': {'key': 'isDataAction', 'type': 'bool'}, + 'display': {'key': 'display', 'type': 'ResourceProviderOperationDisplay'}, + } + + def __init__( + self, + **kwargs + ): + super(ResourceProviderOperation, self).__init__(**kwargs) + self.origin = kwargs.get('origin', None) + self.name = kwargs.get('name', None) + self.is_data_action = kwargs.get('is_data_action', None) + self.display = kwargs.get('display', None) + + +class ResourceProviderOperationCollection(msrest.serialization.Model): + """Collection of operation payload which is exposed in the response of the resource provider. + + :param value: Gets or sets the collection of operations. + :type value: list[~azure.mgmt.blockchain.models.ResourceProviderOperation] + :param next_link: Gets or sets the URL, that the client should use to fetch the next page (per + server side paging). + It's null for now, added for future use. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ResourceProviderOperation]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ResourceProviderOperationCollection, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class ResourceProviderOperationDisplay(msrest.serialization.Model): + """Operation display payload which is exposed in the response of the resource provider. + + :param provider: Gets or sets the name of the provider for display purposes. + :type provider: str + :param resource: Gets or sets the name of the resource type for display purposes. + :type resource: str + :param operation: Gets or sets the name of the operation for display purposes. + :type operation: str + :param description: Gets or sets the description of the provider for display purposes. + :type description: str + """ + + _attribute_map = { + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ResourceProviderOperationDisplay, self).__init__(**kwargs) + self.provider = kwargs.get('provider', None) + self.resource = kwargs.get('resource', None) + self.operation = kwargs.get('operation', None) + self.description = kwargs.get('description', None) + + +class ResourceTypeSku(msrest.serialization.Model): + """Resource type Sku. + + :param resource_type: Gets or sets the resource type. + :type resource_type: str + :param skus: Gets or sets the Skus. + :type skus: list[~azure.mgmt.blockchain.models.SkuSetting] + """ + + _attribute_map = { + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'skus': {'key': 'skus', 'type': '[SkuSetting]'}, + } + + def __init__( + self, + **kwargs + ): + super(ResourceTypeSku, self).__init__(**kwargs) + self.resource_type = kwargs.get('resource_type', None) + self.skus = kwargs.get('skus', None) + + +class ResourceTypeSkuCollection(msrest.serialization.Model): + """Collection of the resource type Sku. + + :param value: Gets or sets the collection of resource type Sku. + :type value: list[~azure.mgmt.blockchain.models.ResourceTypeSku] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ResourceTypeSku]'}, + } + + def __init__( + self, + **kwargs + ): + super(ResourceTypeSkuCollection, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + + +class Sku(msrest.serialization.Model): + """Blockchain member Sku in payload. + + :param name: Gets or sets Sku name. + :type name: str + :param tier: Gets or sets Sku tier. + :type tier: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(Sku, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.tier = kwargs.get('tier', None) + + +class SkuSetting(msrest.serialization.Model): + """Sku Setting. + + :param name: Gets or sets the Sku name. + :type name: str + :param tier: Gets or sets the Sku tier. + :type tier: str + :param locations: Gets or sets the locations. + :type locations: list[str] + :param required_features: Gets or sets the required features. + :type required_features: list[str] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + 'locations': {'key': 'locations', 'type': '[str]'}, + 'required_features': {'key': 'requiredFeatures', 'type': '[str]'}, + } + + def __init__( + self, + **kwargs + ): + super(SkuSetting, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.tier = kwargs.get('tier', None) + self.locations = kwargs.get('locations', None) + self.required_features = kwargs.get('required_features', None) + + +class TransactionNode(Resource): + """Payload of the transaction node which is the request/response of the resource provider. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource Id of the resource. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the service - e.g. "Microsoft.Blockchain". + :vartype type: str + :param location: Gets or sets the transaction node location. + :type location: str + :ivar provisioning_state: Gets or sets the blockchain member provision state. Possible values + include: "NotSpecified", "Updating", "Deleting", "Succeeded", "Failed". + :vartype provisioning_state: str or ~azure.mgmt.blockchain.models.NodeProvisioningState + :ivar dns: Gets or sets the transaction node dns endpoint. + :vartype dns: str + :ivar public_key: Gets or sets the transaction node public key. + :vartype public_key: str + :ivar user_name: Gets or sets the transaction node dns endpoint basic auth user name. + :vartype user_name: str + :param password: Sets the transaction node dns endpoint basic auth password. + :type password: str + :param firewall_rules: Gets or sets the firewall rules. + :type firewall_rules: list[~azure.mgmt.blockchain.models.FirewallRule] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'dns': {'readonly': True}, + 'public_key': {'readonly': True}, + 'user_name': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'dns': {'key': 'properties.dns', 'type': 'str'}, + 'public_key': {'key': 'properties.publicKey', 'type': 'str'}, + 'user_name': {'key': 'properties.userName', 'type': 'str'}, + 'password': {'key': 'properties.password', 'type': 'str'}, + 'firewall_rules': {'key': 'properties.firewallRules', 'type': '[FirewallRule]'}, + } + + def __init__( + self, + **kwargs + ): + super(TransactionNode, self).__init__(**kwargs) + self.location = kwargs.get('location', None) + self.provisioning_state = None + self.dns = None + self.public_key = None + self.user_name = None + self.password = kwargs.get('password', None) + self.firewall_rules = kwargs.get('firewall_rules', None) + + +class TransactionNodeCollection(msrest.serialization.Model): + """Collection of transaction node payload which is exposed in the request/response of the resource provider. + + :param value: Gets or sets the collection of transaction nodes. + :type value: list[~azure.mgmt.blockchain.models.TransactionNode] + :param next_link: Gets or sets the URL, that the client should use to fetch the next page (per + server side paging). + It's null for now, added for future use. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[TransactionNode]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(TransactionNodeCollection, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class TransactionNodeUpdate(msrest.serialization.Model): + """Update the transaction node payload which is exposed in the request/response of the resource provider. + + :param password: Sets the transaction node dns endpoint basic auth password. + :type password: str + :param firewall_rules: Gets or sets the firewall rules. + :type firewall_rules: list[~azure.mgmt.blockchain.models.FirewallRule] + """ + + _attribute_map = { + 'password': {'key': 'properties.password', 'type': 'str'}, + 'firewall_rules': {'key': 'properties.firewallRules', 'type': '[FirewallRule]'}, + } + + def __init__( + self, + **kwargs + ): + super(TransactionNodeUpdate, self).__init__(**kwargs) + self.password = kwargs.get('password', None) + self.firewall_rules = kwargs.get('firewall_rules', None) diff --git a/src/blockchain/azext_blockchain/vendored_sdks/blockchain/models/_models_py3.py b/src/blockchain/azext_blockchain/vendored_sdks/blockchain/models/_models_py3.py new file mode 100644 index 00000000000..2d768063b19 --- /dev/null +++ b/src/blockchain/azext_blockchain/vendored_sdks/blockchain/models/_models_py3.py @@ -0,0 +1,983 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +import datetime +from typing import Dict, List, Optional, Union + +import msrest.serialization + + +class ApiKey(msrest.serialization.Model): + """API key payload which is exposed in the request/response of the resource provider. + + :param key_name: Gets or sets the API key name. + :type key_name: str + :param value: Gets or sets the API key value. + :type value: str + """ + + _attribute_map = { + 'key_name': {'key': 'keyName', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__( + self, + *, + key_name: Optional[str] = None, + value: Optional[str] = None, + **kwargs + ): + super(ApiKey, self).__init__(**kwargs) + self.key_name = key_name + self.value = value + + +class ApiKeyCollection(msrest.serialization.Model): + """Collection of the API key payload which is exposed in the response of the resource provider. + + :param keys: Gets or sets the collection of API key. + :type keys: list[~azure.mgmt.blockchain.models.ApiKey] + """ + + _attribute_map = { + 'keys': {'key': 'keys', 'type': '[ApiKey]'}, + } + + def __init__( + self, + *, + keys: Optional[List["ApiKey"]] = None, + **kwargs + ): + super(ApiKeyCollection, self).__init__(**kwargs) + self.keys = keys + + +class Resource(msrest.serialization.Model): + """The core properties of the resources. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource Id of the resource. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the service - e.g. "Microsoft.Blockchain". + :vartype type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(Resource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + + +class TrackedResource(Resource): + """The resource model definition for a top level resource. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource Id of the resource. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the service - e.g. "Microsoft.Blockchain". + :vartype type: str + :param location: The GEO location of the blockchain service. + :type location: str + :param tags: A set of tags. Tags of the service which is a list of key value pairs that + describes the resource. + :type tags: dict[str, str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__( + self, + *, + location: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + **kwargs + ): + super(TrackedResource, self).__init__(**kwargs) + self.location = location + self.tags = tags + + +class BlockchainMember(TrackedResource): + """Payload of the blockchain member which is exposed in the request/response of the resource provider. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource Id of the resource. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the service - e.g. "Microsoft.Blockchain". + :vartype type: str + :param location: The GEO location of the blockchain service. + :type location: str + :param tags: A set of tags. Tags of the service which is a list of key value pairs that + describes the resource. + :type tags: dict[str, str] + :param sku: Gets or sets the blockchain member Sku. + :type sku: ~azure.mgmt.blockchain.models.Sku + :param protocol: Gets or sets the blockchain protocol. Possible values include: "NotSpecified", + "Parity", "Quorum", "Corda". + :type protocol: str or ~azure.mgmt.blockchain.models.BlockchainProtocol + :param validator_nodes_sku: Gets or sets the blockchain validator nodes Sku. + :type validator_nodes_sku: ~azure.mgmt.blockchain.models.BlockchainMemberNodesSku + :ivar provisioning_state: Gets or sets the blockchain member provision state. Possible values + include: "NotSpecified", "Updating", "Deleting", "Succeeded", "Failed", "Stale". + :vartype provisioning_state: str or + ~azure.mgmt.blockchain.models.BlockchainMemberProvisioningState + :ivar dns: Gets the dns endpoint of the blockchain member. + :vartype dns: str + :ivar user_name: Gets the auth user name of the blockchain member. + :vartype user_name: str + :param password: Sets the basic auth password of the blockchain member. + :type password: str + :param consortium: Gets or sets the consortium for the blockchain member. + :type consortium: str + :ivar consortium_management_account_address: Gets the managed consortium management account + address. + :vartype consortium_management_account_address: str + :param consortium_management_account_password: Sets the managed consortium management account + password. + :type consortium_management_account_password: str + :param consortium_role: Gets the role of the member in the consortium. + :type consortium_role: str + :param consortium_member_display_name: Gets the display name of the member in the consortium. + :type consortium_member_display_name: str + :ivar root_contract_address: Gets the Ethereum root contract address of the blockchain. + :vartype root_contract_address: str + :ivar public_key: Gets the public key of the blockchain member (default transaction node). + :vartype public_key: str + :param firewall_rules: Gets or sets firewall rules. + :type firewall_rules: list[~azure.mgmt.blockchain.models.FirewallRule] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'dns': {'readonly': True}, + 'user_name': {'readonly': True}, + 'consortium_management_account_address': {'readonly': True}, + 'root_contract_address': {'readonly': True}, + 'public_key': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + 'protocol': {'key': 'properties.protocol', 'type': 'str'}, + 'validator_nodes_sku': {'key': 'properties.validatorNodesSku', 'type': 'BlockchainMemberNodesSku'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'dns': {'key': 'properties.dns', 'type': 'str'}, + 'user_name': {'key': 'properties.userName', 'type': 'str'}, + 'password': {'key': 'properties.password', 'type': 'str'}, + 'consortium': {'key': 'properties.consortium', 'type': 'str'}, + 'consortium_management_account_address': {'key': 'properties.consortiumManagementAccountAddress', 'type': 'str'}, + 'consortium_management_account_password': {'key': 'properties.consortiumManagementAccountPassword', 'type': 'str'}, + 'consortium_role': {'key': 'properties.consortiumRole', 'type': 'str'}, + 'consortium_member_display_name': {'key': 'properties.consortiumMemberDisplayName', 'type': 'str'}, + 'root_contract_address': {'key': 'properties.rootContractAddress', 'type': 'str'}, + 'public_key': {'key': 'properties.publicKey', 'type': 'str'}, + 'firewall_rules': {'key': 'properties.firewallRules', 'type': '[FirewallRule]'}, + } + + def __init__( + self, + *, + location: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + sku: Optional["Sku"] = None, + protocol: Optional[Union[str, "BlockchainProtocol"]] = None, + validator_nodes_sku: Optional["BlockchainMemberNodesSku"] = None, + password: Optional[str] = None, + consortium: Optional[str] = None, + consortium_management_account_password: Optional[str] = None, + consortium_role: Optional[str] = None, + consortium_member_display_name: Optional[str] = None, + firewall_rules: Optional[List["FirewallRule"]] = None, + **kwargs + ): + super(BlockchainMember, self).__init__(location=location, tags=tags, **kwargs) + self.sku = sku + self.protocol = protocol + self.validator_nodes_sku = validator_nodes_sku + self.provisioning_state = None + self.dns = None + self.user_name = None + self.password = password + self.consortium = consortium + self.consortium_management_account_address = None + self.consortium_management_account_password = consortium_management_account_password + self.consortium_role = consortium_role + self.consortium_member_display_name = consortium_member_display_name + self.root_contract_address = None + self.public_key = None + self.firewall_rules = firewall_rules + + +class BlockchainMemberCollection(msrest.serialization.Model): + """Collection of the blockchain member payload which is exposed in the request/response of the resource provider. + + :param value: Gets or sets the collection of blockchain members. + :type value: list[~azure.mgmt.blockchain.models.BlockchainMember] + :param next_link: Gets or sets the URL, that the client should use to fetch the next page (per + server side paging). + It's null for now, added for future use. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[BlockchainMember]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["BlockchainMember"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(BlockchainMemberCollection, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class BlockchainMemberNodesSku(msrest.serialization.Model): + """Payload of the blockchain member nodes Sku for a blockchain member. + + :param capacity: Gets or sets the nodes capacity. + :type capacity: int + """ + + _attribute_map = { + 'capacity': {'key': 'capacity', 'type': 'int'}, + } + + def __init__( + self, + *, + capacity: Optional[int] = None, + **kwargs + ): + super(BlockchainMemberNodesSku, self).__init__(**kwargs) + self.capacity = capacity + + +class TransactionNodePropertiesUpdate(msrest.serialization.Model): + """Update the payload of the transaction node properties in the transaction node payload. + + :param password: Sets the transaction node dns endpoint basic auth password. + :type password: str + :param firewall_rules: Gets or sets the firewall rules. + :type firewall_rules: list[~azure.mgmt.blockchain.models.FirewallRule] + """ + + _attribute_map = { + 'password': {'key': 'password', 'type': 'str'}, + 'firewall_rules': {'key': 'firewallRules', 'type': '[FirewallRule]'}, + } + + def __init__( + self, + *, + password: Optional[str] = None, + firewall_rules: Optional[List["FirewallRule"]] = None, + **kwargs + ): + super(TransactionNodePropertiesUpdate, self).__init__(**kwargs) + self.password = password + self.firewall_rules = firewall_rules + + +class BlockchainMemberPropertiesUpdate(TransactionNodePropertiesUpdate): + """Update the payload of the blockchain member properties for a blockchain member. + + :param password: Sets the transaction node dns endpoint basic auth password. + :type password: str + :param firewall_rules: Gets or sets the firewall rules. + :type firewall_rules: list[~azure.mgmt.blockchain.models.FirewallRule] + :param consortium_management_account_password: Sets the managed consortium management account + password. + :type consortium_management_account_password: str + """ + + _attribute_map = { + 'password': {'key': 'password', 'type': 'str'}, + 'firewall_rules': {'key': 'firewallRules', 'type': '[FirewallRule]'}, + 'consortium_management_account_password': {'key': 'consortiumManagementAccountPassword', 'type': 'str'}, + } + + def __init__( + self, + *, + password: Optional[str] = None, + firewall_rules: Optional[List["FirewallRule"]] = None, + consortium_management_account_password: Optional[str] = None, + **kwargs + ): + super(BlockchainMemberPropertiesUpdate, self).__init__(password=password, firewall_rules=firewall_rules, **kwargs) + self.consortium_management_account_password = consortium_management_account_password + + +class BlockchainMemberUpdate(msrest.serialization.Model): + """Update the payload of the blockchain member which is exposed in the request/response of the resource provider. + + :param tags: A set of tags. Tags of the service which is a list of key value pairs that + describes the resource. + :type tags: dict[str, str] + :param password: Sets the transaction node dns endpoint basic auth password. + :type password: str + :param firewall_rules: Gets or sets the firewall rules. + :type firewall_rules: list[~azure.mgmt.blockchain.models.FirewallRule] + :param consortium_management_account_password: Sets the managed consortium management account + password. + :type consortium_management_account_password: str + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + 'password': {'key': 'properties.password', 'type': 'str'}, + 'firewall_rules': {'key': 'properties.firewallRules', 'type': '[FirewallRule]'}, + 'consortium_management_account_password': {'key': 'properties.consortiumManagementAccountPassword', 'type': 'str'}, + } + + def __init__( + self, + *, + tags: Optional[Dict[str, str]] = None, + password: Optional[str] = None, + firewall_rules: Optional[List["FirewallRule"]] = None, + consortium_management_account_password: Optional[str] = None, + **kwargs + ): + super(BlockchainMemberUpdate, self).__init__(**kwargs) + self.tags = tags + self.password = password + self.firewall_rules = firewall_rules + self.consortium_management_account_password = consortium_management_account_password + + +class Consortium(msrest.serialization.Model): + """Consortium payload. + + :param name: Gets or sets the blockchain member name. + :type name: str + :param protocol: Gets or sets the protocol for the consortium. Possible values include: + "NotSpecified", "Parity", "Quorum", "Corda". + :type protocol: str or ~azure.mgmt.blockchain.models.BlockchainProtocol + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'protocol': {'key': 'protocol', 'type': 'str'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + protocol: Optional[Union[str, "BlockchainProtocol"]] = None, + **kwargs + ): + super(Consortium, self).__init__(**kwargs) + self.name = name + self.protocol = protocol + + +class ConsortiumCollection(msrest.serialization.Model): + """Collection of the consortium payload. + + :param value: Gets or sets the collection of consortiums. + :type value: list[~azure.mgmt.blockchain.models.Consortium] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[Consortium]'}, + } + + def __init__( + self, + *, + value: Optional[List["Consortium"]] = None, + **kwargs + ): + super(ConsortiumCollection, self).__init__(**kwargs) + self.value = value + + +class ConsortiumMember(msrest.serialization.Model): + """Consortium approval. + + :param name: Gets the consortium member name. + :type name: str + :param display_name: Gets the consortium member display name. + :type display_name: str + :param subscription_id: Gets the consortium member subscription id. + :type subscription_id: str + :param role: Gets the consortium member role. + :type role: str + :param status: Gets the consortium member status. + :type status: str + :param join_date: Gets the consortium member join date. + :type join_date: ~datetime.datetime + :param date_modified: Gets the consortium member modified date. + :type date_modified: ~datetime.datetime + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'subscription_id': {'key': 'subscriptionId', 'type': 'str'}, + 'role': {'key': 'role', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + 'join_date': {'key': 'joinDate', 'type': 'iso-8601'}, + 'date_modified': {'key': 'dateModified', 'type': 'iso-8601'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + display_name: Optional[str] = None, + subscription_id: Optional[str] = None, + role: Optional[str] = None, + status: Optional[str] = None, + join_date: Optional[datetime.datetime] = None, + date_modified: Optional[datetime.datetime] = None, + **kwargs + ): + super(ConsortiumMember, self).__init__(**kwargs) + self.name = name + self.display_name = display_name + self.subscription_id = subscription_id + self.role = role + self.status = status + self.join_date = join_date + self.date_modified = date_modified + + +class ConsortiumMemberCollection(msrest.serialization.Model): + """Collection of consortium payload. + + :param value: Gets or sets the collection of consortiums. + :type value: list[~azure.mgmt.blockchain.models.ConsortiumMember] + :param next_link: Gets or sets the URL, that the client should use to fetch the next page (per + server side paging). + It's null for now, added for future use. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ConsortiumMember]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["ConsortiumMember"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(ConsortiumMemberCollection, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class FirewallRule(msrest.serialization.Model): + """Ip range for firewall rules. + + :param rule_name: Gets or sets the name of the firewall rules. + :type rule_name: str + :param start_ip_address: Gets or sets the start IP address of the firewall rule range. + :type start_ip_address: str + :param end_ip_address: Gets or sets the end IP address of the firewall rule range. + :type end_ip_address: str + """ + + _attribute_map = { + 'rule_name': {'key': 'ruleName', 'type': 'str'}, + 'start_ip_address': {'key': 'startIpAddress', 'type': 'str'}, + 'end_ip_address': {'key': 'endIpAddress', 'type': 'str'}, + } + + def __init__( + self, + *, + rule_name: Optional[str] = None, + start_ip_address: Optional[str] = None, + end_ip_address: Optional[str] = None, + **kwargs + ): + super(FirewallRule, self).__init__(**kwargs) + self.rule_name = rule_name + self.start_ip_address = start_ip_address + self.end_ip_address = end_ip_address + + +class NameAvailability(msrest.serialization.Model): + """Name availability payload which is exposed in the response of the resource provider. + + :param name_available: Gets or sets the value indicating whether the name is available. + :type name_available: bool + :param message: Gets or sets the message. + :type message: str + :param reason: Gets or sets the name availability reason. Possible values include: + "NotSpecified", "AlreadyExists", "Invalid". + :type reason: str or ~azure.mgmt.blockchain.models.NameAvailabilityReason + """ + + _attribute_map = { + 'name_available': {'key': 'nameAvailable', 'type': 'bool'}, + 'message': {'key': 'message', 'type': 'str'}, + 'reason': {'key': 'reason', 'type': 'str'}, + } + + def __init__( + self, + *, + name_available: Optional[bool] = None, + message: Optional[str] = None, + reason: Optional[Union[str, "NameAvailabilityReason"]] = None, + **kwargs + ): + super(NameAvailability, self).__init__(**kwargs) + self.name_available = name_available + self.message = message + self.reason = reason + + +class NameAvailabilityRequest(msrest.serialization.Model): + """Name availability request payload which is exposed in the request of the resource provider. + + :param name: Gets or sets the name to check. + :type name: str + :param type: Gets or sets the type of the resource to check. + :type type: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + type: Optional[str] = None, + **kwargs + ): + super(NameAvailabilityRequest, self).__init__(**kwargs) + self.name = name + self.type = type + + +class OperationResult(msrest.serialization.Model): + """Operation result payload which is exposed in the response of the resource provider. + + :param name: Gets or sets the operation name. + :type name: str + :param start_time: Gets or sets the operation start time. + :type start_time: ~datetime.datetime + :param end_time: Gets or sets the operation end time. + :type end_time: ~datetime.datetime + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + start_time: Optional[datetime.datetime] = None, + end_time: Optional[datetime.datetime] = None, + **kwargs + ): + super(OperationResult, self).__init__(**kwargs) + self.name = name + self.start_time = start_time + self.end_time = end_time + + +class ResourceProviderOperation(msrest.serialization.Model): + """Operation payload which is exposed in the response of the resource provider. + + :param origin: Gets or sets the origin. + :type origin: str + :param name: Gets or sets the operation name. + :type name: str + :param is_data_action: Gets or sets a value indicating whether the operation is a data action + or not. + :type is_data_action: bool + :param display: Gets or sets operation display. + :type display: ~azure.mgmt.blockchain.models.ResourceProviderOperationDisplay + """ + + _attribute_map = { + 'origin': {'key': 'origin', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'is_data_action': {'key': 'isDataAction', 'type': 'bool'}, + 'display': {'key': 'display', 'type': 'ResourceProviderOperationDisplay'}, + } + + def __init__( + self, + *, + origin: Optional[str] = None, + name: Optional[str] = None, + is_data_action: Optional[bool] = None, + display: Optional["ResourceProviderOperationDisplay"] = None, + **kwargs + ): + super(ResourceProviderOperation, self).__init__(**kwargs) + self.origin = origin + self.name = name + self.is_data_action = is_data_action + self.display = display + + +class ResourceProviderOperationCollection(msrest.serialization.Model): + """Collection of operation payload which is exposed in the response of the resource provider. + + :param value: Gets or sets the collection of operations. + :type value: list[~azure.mgmt.blockchain.models.ResourceProviderOperation] + :param next_link: Gets or sets the URL, that the client should use to fetch the next page (per + server side paging). + It's null for now, added for future use. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ResourceProviderOperation]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["ResourceProviderOperation"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(ResourceProviderOperationCollection, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class ResourceProviderOperationDisplay(msrest.serialization.Model): + """Operation display payload which is exposed in the response of the resource provider. + + :param provider: Gets or sets the name of the provider for display purposes. + :type provider: str + :param resource: Gets or sets the name of the resource type for display purposes. + :type resource: str + :param operation: Gets or sets the name of the operation for display purposes. + :type operation: str + :param description: Gets or sets the description of the provider for display purposes. + :type description: str + """ + + _attribute_map = { + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__( + self, + *, + provider: Optional[str] = None, + resource: Optional[str] = None, + operation: Optional[str] = None, + description: Optional[str] = None, + **kwargs + ): + super(ResourceProviderOperationDisplay, self).__init__(**kwargs) + self.provider = provider + self.resource = resource + self.operation = operation + self.description = description + + +class ResourceTypeSku(msrest.serialization.Model): + """Resource type Sku. + + :param resource_type: Gets or sets the resource type. + :type resource_type: str + :param skus: Gets or sets the Skus. + :type skus: list[~azure.mgmt.blockchain.models.SkuSetting] + """ + + _attribute_map = { + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'skus': {'key': 'skus', 'type': '[SkuSetting]'}, + } + + def __init__( + self, + *, + resource_type: Optional[str] = None, + skus: Optional[List["SkuSetting"]] = None, + **kwargs + ): + super(ResourceTypeSku, self).__init__(**kwargs) + self.resource_type = resource_type + self.skus = skus + + +class ResourceTypeSkuCollection(msrest.serialization.Model): + """Collection of the resource type Sku. + + :param value: Gets or sets the collection of resource type Sku. + :type value: list[~azure.mgmt.blockchain.models.ResourceTypeSku] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ResourceTypeSku]'}, + } + + def __init__( + self, + *, + value: Optional[List["ResourceTypeSku"]] = None, + **kwargs + ): + super(ResourceTypeSkuCollection, self).__init__(**kwargs) + self.value = value + + +class Sku(msrest.serialization.Model): + """Blockchain member Sku in payload. + + :param name: Gets or sets Sku name. + :type name: str + :param tier: Gets or sets Sku tier. + :type tier: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + tier: Optional[str] = None, + **kwargs + ): + super(Sku, self).__init__(**kwargs) + self.name = name + self.tier = tier + + +class SkuSetting(msrest.serialization.Model): + """Sku Setting. + + :param name: Gets or sets the Sku name. + :type name: str + :param tier: Gets or sets the Sku tier. + :type tier: str + :param locations: Gets or sets the locations. + :type locations: list[str] + :param required_features: Gets or sets the required features. + :type required_features: list[str] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + 'locations': {'key': 'locations', 'type': '[str]'}, + 'required_features': {'key': 'requiredFeatures', 'type': '[str]'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + tier: Optional[str] = None, + locations: Optional[List[str]] = None, + required_features: Optional[List[str]] = None, + **kwargs + ): + super(SkuSetting, self).__init__(**kwargs) + self.name = name + self.tier = tier + self.locations = locations + self.required_features = required_features + + +class TransactionNode(Resource): + """Payload of the transaction node which is the request/response of the resource provider. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource Id of the resource. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the service - e.g. "Microsoft.Blockchain". + :vartype type: str + :param location: Gets or sets the transaction node location. + :type location: str + :ivar provisioning_state: Gets or sets the blockchain member provision state. Possible values + include: "NotSpecified", "Updating", "Deleting", "Succeeded", "Failed". + :vartype provisioning_state: str or ~azure.mgmt.blockchain.models.NodeProvisioningState + :ivar dns: Gets or sets the transaction node dns endpoint. + :vartype dns: str + :ivar public_key: Gets or sets the transaction node public key. + :vartype public_key: str + :ivar user_name: Gets or sets the transaction node dns endpoint basic auth user name. + :vartype user_name: str + :param password: Sets the transaction node dns endpoint basic auth password. + :type password: str + :param firewall_rules: Gets or sets the firewall rules. + :type firewall_rules: list[~azure.mgmt.blockchain.models.FirewallRule] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'dns': {'readonly': True}, + 'public_key': {'readonly': True}, + 'user_name': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'dns': {'key': 'properties.dns', 'type': 'str'}, + 'public_key': {'key': 'properties.publicKey', 'type': 'str'}, + 'user_name': {'key': 'properties.userName', 'type': 'str'}, + 'password': {'key': 'properties.password', 'type': 'str'}, + 'firewall_rules': {'key': 'properties.firewallRules', 'type': '[FirewallRule]'}, + } + + def __init__( + self, + *, + location: Optional[str] = None, + password: Optional[str] = None, + firewall_rules: Optional[List["FirewallRule"]] = None, + **kwargs + ): + super(TransactionNode, self).__init__(**kwargs) + self.location = location + self.provisioning_state = None + self.dns = None + self.public_key = None + self.user_name = None + self.password = password + self.firewall_rules = firewall_rules + + +class TransactionNodeCollection(msrest.serialization.Model): + """Collection of transaction node payload which is exposed in the request/response of the resource provider. + + :param value: Gets or sets the collection of transaction nodes. + :type value: list[~azure.mgmt.blockchain.models.TransactionNode] + :param next_link: Gets or sets the URL, that the client should use to fetch the next page (per + server side paging). + It's null for now, added for future use. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[TransactionNode]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["TransactionNode"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(TransactionNodeCollection, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class TransactionNodeUpdate(msrest.serialization.Model): + """Update the transaction node payload which is exposed in the request/response of the resource provider. + + :param password: Sets the transaction node dns endpoint basic auth password. + :type password: str + :param firewall_rules: Gets or sets the firewall rules. + :type firewall_rules: list[~azure.mgmt.blockchain.models.FirewallRule] + """ + + _attribute_map = { + 'password': {'key': 'properties.password', 'type': 'str'}, + 'firewall_rules': {'key': 'properties.firewallRules', 'type': '[FirewallRule]'}, + } + + def __init__( + self, + *, + password: Optional[str] = None, + firewall_rules: Optional[List["FirewallRule"]] = None, + **kwargs + ): + super(TransactionNodeUpdate, self).__init__(**kwargs) + self.password = password + self.firewall_rules = firewall_rules diff --git a/src/blockchain/azext_blockchain/vendored_sdks/blockchain/operations/__init__.py b/src/blockchain/azext_blockchain/vendored_sdks/blockchain/operations/__init__.py new file mode 100644 index 00000000000..fa477a79c84 --- /dev/null +++ b/src/blockchain/azext_blockchain/vendored_sdks/blockchain/operations/__init__.py @@ -0,0 +1,23 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._blockchain_member_operations import BlockchainMemberOperations +from ._blockchain_member_operation_result_operations import BlockchainMemberOperationResultOperations +from ._location_operations import LocationOperations +from ._operation_operations import OperationOperations +from ._sku_operations import SkuOperations +from ._transaction_node_operations import TransactionNodeOperations + +__all__ = [ + 'BlockchainMemberOperations', + 'BlockchainMemberOperationResultOperations', + 'LocationOperations', + 'OperationOperations', + 'SkuOperations', + 'TransactionNodeOperations', +] diff --git a/src/blockchain/azext_blockchain/vendored_sdks/blockchain/operations/_blockchain_member_operation_result_operations.py b/src/blockchain/azext_blockchain/vendored_sdks/blockchain/operations/_blockchain_member_operation_result_operations.py new file mode 100644 index 00000000000..187d8b4b298 --- /dev/null +++ b/src/blockchain/azext_blockchain/vendored_sdks/blockchain/operations/_blockchain_member_operation_result_operations.py @@ -0,0 +1,103 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.mgmt.core.exceptions import ARMErrorFormat + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Optional, TypeVar + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class BlockchainMemberOperationResultOperations(object): + """BlockchainMemberOperationResultOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.blockchain.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def get( + self, + location_name, # type: str + operation_id, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.OperationResult" + """Get Async operation result. + + :param location_name: Location name. + :type location_name: str + :param operation_id: Operation Id. + :type operation_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: OperationResult or the result of cls(response) + :rtype: ~azure.mgmt.blockchain.models.OperationResult or None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.OperationResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01-preview" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'locationName': self._serialize.url("location_name", location_name, 'str'), + 'operationId': self._serialize.url("operation_id", operation_id, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('OperationResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Blockchain/locations/{location}/blockchainMemberOperationResults/{operationId}'} diff --git a/src/blockchain/azext_blockchain/vendored_sdks/blockchain/operations/_blockchain_member_operations.py b/src/blockchain/azext_blockchain/vendored_sdks/blockchain/operations/_blockchain_member_operations.py new file mode 100644 index 00000000000..f88ae2efddb --- /dev/null +++ b/src/blockchain/azext_blockchain/vendored_sdks/blockchain/operations/_blockchain_member_operations.py @@ -0,0 +1,775 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.arm_polling import ARMPolling + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, List, Optional, TypeVar, Union + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class BlockchainMemberOperations(object): + """BlockchainMemberOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.blockchain.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def get( + self, + blockchain_member_name, # type: str + resource_group_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.BlockchainMember" + """Get details about a blockchain member. + + :param blockchain_member_name: Blockchain member name. + :type blockchain_member_name: str + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: BlockchainMember or the result of cls(response) + :rtype: ~azure.mgmt.blockchain.models.BlockchainMember + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.BlockchainMember"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01-preview" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'blockchainMemberName': self._serialize.url("blockchain_member_name", blockchain_member_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('BlockchainMember', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Blockchain/blockchainMembers/{blockchainMemberName}'} + + def _create_initial( + self, + blockchain_member_name, # type: str + resource_group_name, # type: str + location=None, # type: Optional[str] + tags=None, # type: Optional[Dict[str, str]] + sku=None, # type: Optional["models.Sku"] + protocol=None, # type: Optional[Union[str, "models.BlockchainProtocol"]] + validator_nodes_sku=None, # type: Optional["models.BlockchainMemberNodesSku"] + password=None, # type: Optional[str] + consortium=None, # type: Optional[str] + consortium_management_account_password=None, # type: Optional[str] + consortium_role=None, # type: Optional[str] + consortium_member_display_name=None, # type: Optional[str] + firewall_rules=None, # type: Optional[List["FirewallRule"]] + **kwargs # type: Any + ): + # type: (...) -> "models.BlockchainMember" + cls = kwargs.pop('cls', None) # type: ClsType["models.BlockchainMember"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _blockchain_member = models.BlockchainMember(location=location, tags=tags, sku=sku, protocol=protocol, validator_nodes_sku=validator_nodes_sku, password=password, consortium=consortium, consortium_management_account_password=consortium_management_account_password, consortium_role=consortium_role, consortium_member_display_name=consortium_member_display_name, firewall_rules=firewall_rules) + api_version = "2018-06-01-preview" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self._create_initial.metadata['url'] + path_format_arguments = { + 'blockchainMemberName': self._serialize.url("blockchain_member_name", blockchain_member_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + if _blockchain_member is not None: + body_content = self._serialize.body(_blockchain_member, 'BlockchainMember') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('BlockchainMember', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('BlockchainMember', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Blockchain/blockchainMembers/{blockchainMemberName}'} + + def begin_create( + self, + blockchain_member_name, # type: str + resource_group_name, # type: str + location=None, # type: Optional[str] + tags=None, # type: Optional[Dict[str, str]] + sku=None, # type: Optional["models.Sku"] + protocol=None, # type: Optional[Union[str, "models.BlockchainProtocol"]] + validator_nodes_sku=None, # type: Optional["models.BlockchainMemberNodesSku"] + password=None, # type: Optional[str] + consortium=None, # type: Optional[str] + consortium_management_account_password=None, # type: Optional[str] + consortium_role=None, # type: Optional[str] + consortium_member_display_name=None, # type: Optional[str] + firewall_rules=None, # type: Optional[List["FirewallRule"]] + **kwargs # type: Any + ): + # type: (...) -> "models.BlockchainMember" + """Create a blockchain member. + + :param blockchain_member_name: Blockchain member name. + :type blockchain_member_name: str + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param location: The GEO location of the blockchain service. + :type location: str + :param tags: Tags of the service which is a list of key value pairs that describes the + resource. + :type tags: dict[str, str] + :param sku: Gets or sets the blockchain member Sku. + :type sku: ~azure.mgmt.blockchain.models.Sku + :param protocol: Gets or sets the blockchain protocol. + :type protocol: str or ~azure.mgmt.blockchain.models.BlockchainProtocol + :param validator_nodes_sku: Gets or sets the blockchain validator nodes Sku. + :type validator_nodes_sku: ~azure.mgmt.blockchain.models.BlockchainMemberNodesSku + :param password: Sets the basic auth password of the blockchain member. + :type password: str + :param consortium: Gets or sets the consortium for the blockchain member. + :type consortium: str + :param consortium_management_account_password: Sets the managed consortium management account + password. + :type consortium_management_account_password: str + :param consortium_role: Gets the role of the member in the consortium. + :type consortium_role: str + :param consortium_member_display_name: Gets the display name of the member in the consortium. + :type consortium_member_display_name: str + :param firewall_rules: Gets or sets firewall rules. + :type firewall_rules: list[~azure.mgmt.blockchain.models.FirewallRule] + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :return: An instance of LROPoller that returns BlockchainMember + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.blockchain.models.BlockchainMember] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.BlockchainMember"] + raw_result = self._create_initial( + blockchain_member_name=blockchain_member_name, + resource_group_name=resource_group_name, + location=location, + tags=tags, + sku=sku, + protocol=protocol, + validator_nodes_sku=validator_nodes_sku, + password=password, + consortium=consortium, + consortium_management_account_password=consortium_management_account_password, + consortium_role=consortium_role, + consortium_member_display_name=consortium_member_display_name, + firewall_rules=firewall_rules, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('BlockchainMember', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Blockchain/blockchainMembers/{blockchainMemberName}'} + + def _delete_initial( + self, + blockchain_member_name, # type: str + resource_group_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01-preview" + + # Construct URL + url = self._delete_initial.metadata['url'] + path_format_arguments = { + 'blockchainMemberName': self._serialize.url("blockchain_member_name", blockchain_member_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [202, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Blockchain/blockchainMembers/{blockchainMemberName}'} + + def begin_delete( + self, + blockchain_member_name, # type: str + resource_group_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + """Delete a blockchain member. + + :param blockchain_member_name: Blockchain member name. + :type blockchain_member_name: str + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :return: An instance of LROPoller that returns None + :rtype: ~azure.core.polling.LROPoller[None] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + raw_result = self._delete_initial( + blockchain_member_name=blockchain_member_name, + resource_group_name=resource_group_name, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Blockchain/blockchainMembers/{blockchainMemberName}'} + + def update( + self, + blockchain_member_name, # type: str + resource_group_name, # type: str + tags=None, # type: Optional[Dict[str, str]] + password=None, # type: Optional[str] + firewall_rules=None, # type: Optional[List["FirewallRule"]] + consortium_management_account_password=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.BlockchainMember" + """Update a blockchain member. + + :param blockchain_member_name: Blockchain member name. + :type blockchain_member_name: str + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param tags: Tags of the service which is a list of key value pairs that describes the + resource. + :type tags: dict[str, str] + :param password: Sets the transaction node dns endpoint basic auth password. + :type password: str + :param firewall_rules: Gets or sets the firewall rules. + :type firewall_rules: list[~azure.mgmt.blockchain.models.FirewallRule] + :param consortium_management_account_password: Sets the managed consortium management account + password. + :type consortium_management_account_password: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: BlockchainMember or the result of cls(response) + :rtype: ~azure.mgmt.blockchain.models.BlockchainMember + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.BlockchainMember"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _blockchain_member = models.BlockchainMemberUpdate(tags=tags, password=password, firewall_rules=firewall_rules, consortium_management_account_password=consortium_management_account_password) + api_version = "2018-06-01-preview" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.update.metadata['url'] + path_format_arguments = { + 'blockchainMemberName': self._serialize.url("blockchain_member_name", blockchain_member_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + if _blockchain_member is not None: + body_content = self._serialize.body(_blockchain_member, 'BlockchainMemberUpdate') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('BlockchainMember', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Blockchain/blockchainMembers/{blockchainMemberName}'} + + def list( + self, + resource_group_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.BlockchainMemberCollection" + """Lists the blockchain members for a resource group. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: BlockchainMemberCollection or the result of cls(response) + :rtype: ~azure.mgmt.blockchain.models.BlockchainMemberCollection + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.BlockchainMemberCollection"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01-preview" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('BlockchainMemberCollection', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Blockchain/blockchainMembers'} + + def list_all( + self, + **kwargs # type: Any + ): + # type: (...) -> "models.BlockchainMemberCollection" + """Lists the blockchain members for a subscription. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: BlockchainMemberCollection or the result of cls(response) + :rtype: ~azure.mgmt.blockchain.models.BlockchainMemberCollection + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.BlockchainMemberCollection"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01-preview" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_all.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('BlockchainMemberCollection', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Blockchain/blockchainMembers'} + + def list_consortium_member( + self, + blockchain_member_name, # type: str + resource_group_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.ConsortiumMemberCollection" + """Lists the consortium members for a blockchain member. + + :param blockchain_member_name: Blockchain member name. + :type blockchain_member_name: str + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ConsortiumMemberCollection or the result of cls(response) + :rtype: ~azure.mgmt.blockchain.models.ConsortiumMemberCollection + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ConsortiumMemberCollection"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01-preview" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_consortium_member.metadata['url'] + path_format_arguments = { + 'blockchainMemberName': self._serialize.url("blockchain_member_name", blockchain_member_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('ConsortiumMemberCollection', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_consortium_member.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Blockchain/blockchainMembers/{blockchainMemberName}/consortiumMembers'} + + def list_api_key( + self, + blockchain_member_name, # type: str + resource_group_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.ApiKeyCollection" + """Lists the API keys for a blockchain member. + + :param blockchain_member_name: Blockchain member name. + :type blockchain_member_name: str + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ApiKeyCollection or the result of cls(response) + :rtype: ~azure.mgmt.blockchain.models.ApiKeyCollection + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ApiKeyCollection"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01-preview" + + # Construct URL + url = self.list_api_key.metadata['url'] + path_format_arguments = { + 'blockchainMemberName': self._serialize.url("blockchain_member_name", blockchain_member_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ApiKeyCollection', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + list_api_key.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Blockchain/blockchainMembers/{blockchainMemberName}/listApiKeys'} + + def regenerate_api_key( + self, + blockchain_member_name, # type: str + resource_group_name, # type: str + key_name=None, # type: Optional[str] + value=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.ApiKeyCollection" + """Regenerate the API keys for a blockchain member. + + :param blockchain_member_name: Blockchain member name. + :type blockchain_member_name: str + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param key_name: Gets or sets the API key name. + :type key_name: str + :param value: Gets or sets the API key value. + :type value: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ApiKeyCollection or the result of cls(response) + :rtype: ~azure.mgmt.blockchain.models.ApiKeyCollection + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ApiKeyCollection"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _api_key = models.ApiKey(key_name=key_name, value=value) + api_version = "2018-06-01-preview" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.regenerate_api_key.metadata['url'] + path_format_arguments = { + 'blockchainMemberName': self._serialize.url("blockchain_member_name", blockchain_member_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + if _api_key is not None: + body_content = self._serialize.body(_api_key, 'ApiKey') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ApiKeyCollection', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + regenerate_api_key.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Blockchain/blockchainMembers/{blockchainMemberName}/regenerateApiKeys'} diff --git a/src/blockchain/azext_blockchain/vendored_sdks/blockchain/operations/_location_operations.py b/src/blockchain/azext_blockchain/vendored_sdks/blockchain/operations/_location_operations.py new file mode 100644 index 00000000000..56bbd566c9b --- /dev/null +++ b/src/blockchain/azext_blockchain/vendored_sdks/blockchain/operations/_location_operations.py @@ -0,0 +1,166 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.mgmt.core.exceptions import ARMErrorFormat + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Optional, TypeVar + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class LocationOperations(object): + """LocationOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.blockchain.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def check_name_availability( + self, + location_name, # type: str + name=None, # type: Optional[str] + type=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.NameAvailability" + """To check whether a resource name is available. + + :param location_name: Location Name. + :type location_name: str + :param name: Gets or sets the name to check. + :type name: str + :param type: Gets or sets the type of the resource to check. + :type type: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: NameAvailability or the result of cls(response) + :rtype: ~azure.mgmt.blockchain.models.NameAvailability + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.NameAvailability"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _name_availability_request = models.NameAvailabilityRequest(name=name, type=type) + api_version = "2018-06-01-preview" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.check_name_availability.metadata['url'] + path_format_arguments = { + 'locationName': self._serialize.url("location_name", location_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + if _name_availability_request is not None: + body_content = self._serialize.body(_name_availability_request, 'NameAvailabilityRequest') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('NameAvailability', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + check_name_availability.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Blockchain/locations/{locationName}/checkNameAvailability'} + + def list_consortium( + self, + location_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.ConsortiumCollection" + """Lists the available consortiums for a subscription. + + :param location_name: Location Name. + :type location_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ConsortiumCollection or the result of cls(response) + :rtype: ~azure.mgmt.blockchain.models.ConsortiumCollection + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ConsortiumCollection"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01-preview" + + # Construct URL + url = self.list_consortium.metadata['url'] + path_format_arguments = { + 'locationName': self._serialize.url("location_name", location_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ConsortiumCollection', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + list_consortium.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Blockchain/locations/{locationName}/listConsortiums'} diff --git a/src/blockchain/azext_blockchain/vendored_sdks/blockchain/operations/_operation_operations.py b/src/blockchain/azext_blockchain/vendored_sdks/blockchain/operations/_operation_operations.py new file mode 100644 index 00000000000..d518724559e --- /dev/null +++ b/src/blockchain/azext_blockchain/vendored_sdks/blockchain/operations/_operation_operations.py @@ -0,0 +1,105 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.mgmt.core.exceptions import ARMErrorFormat + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Optional, TypeVar + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class OperationOperations(object): + """OperationOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.blockchain.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + **kwargs # type: Any + ): + # type: (...) -> "models.ResourceProviderOperationCollection" + """Lists the available operations of Microsoft.Blockchain resource provider. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ResourceProviderOperationCollection or the result of cls(response) + :rtype: ~azure.mgmt.blockchain.models.ResourceProviderOperationCollection + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ResourceProviderOperationCollection"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01-preview" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('ResourceProviderOperationCollection', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/providers/Microsoft.Blockchain/operations'} diff --git a/src/blockchain/azext_blockchain/vendored_sdks/blockchain/operations/_sku_operations.py b/src/blockchain/azext_blockchain/vendored_sdks/blockchain/operations/_sku_operations.py new file mode 100644 index 00000000000..36b46ed8556 --- /dev/null +++ b/src/blockchain/azext_blockchain/vendored_sdks/blockchain/operations/_sku_operations.py @@ -0,0 +1,93 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.mgmt.core.exceptions import ARMErrorFormat + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Optional, TypeVar + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class SkuOperations(object): + """SkuOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.blockchain.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + **kwargs # type: Any + ): + # type: (...) -> "models.ResourceTypeSkuCollection" + """Lists the Skus of the resource type. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ResourceTypeSkuCollection or the result of cls(response) + :rtype: ~azure.mgmt.blockchain.models.ResourceTypeSkuCollection + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ResourceTypeSkuCollection"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01-preview" + + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ResourceTypeSkuCollection', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Blockchain/skus'} diff --git a/src/blockchain/azext_blockchain/vendored_sdks/blockchain/operations/_transaction_node_operations.py b/src/blockchain/azext_blockchain/vendored_sdks/blockchain/operations/_transaction_node_operations.py new file mode 100644 index 00000000000..af93962b361 --- /dev/null +++ b/src/blockchain/azext_blockchain/vendored_sdks/blockchain/operations/_transaction_node_operations.py @@ -0,0 +1,622 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.arm_polling import ARMPolling + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, List, Optional, TypeVar, Union + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class TransactionNodeOperations(object): + """TransactionNodeOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.blockchain.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def get( + self, + blockchain_member_name, # type: str + transaction_node_name, # type: str + resource_group_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.TransactionNode" + """Get the details of the transaction node. + + :param blockchain_member_name: Blockchain member name. + :type blockchain_member_name: str + :param transaction_node_name: Transaction node name. + :type transaction_node_name: str + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: TransactionNode or the result of cls(response) + :rtype: ~azure.mgmt.blockchain.models.TransactionNode + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.TransactionNode"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01-preview" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'blockchainMemberName': self._serialize.url("blockchain_member_name", blockchain_member_name, 'str'), + 'transactionNodeName': self._serialize.url("transaction_node_name", transaction_node_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('TransactionNode', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Blockchain/blockchainMembers/{blockchainMemberName}/transactionNodes/{transactionNodeName}'} + + def _create_initial( + self, + blockchain_member_name, # type: str + transaction_node_name, # type: str + resource_group_name, # type: str + location=None, # type: Optional[str] + password=None, # type: Optional[str] + firewall_rules=None, # type: Optional[List["FirewallRule"]] + **kwargs # type: Any + ): + # type: (...) -> "models.TransactionNode" + cls = kwargs.pop('cls', None) # type: ClsType["models.TransactionNode"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _transaction_node = models.TransactionNode(location=location, password=password, firewall_rules=firewall_rules) + api_version = "2018-06-01-preview" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self._create_initial.metadata['url'] + path_format_arguments = { + 'blockchainMemberName': self._serialize.url("blockchain_member_name", blockchain_member_name, 'str'), + 'transactionNodeName': self._serialize.url("transaction_node_name", transaction_node_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + if _transaction_node is not None: + body_content = self._serialize.body(_transaction_node, 'TransactionNode') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('TransactionNode', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('TransactionNode', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Blockchain/blockchainMembers/{blockchainMemberName}/transactionNodes/{transactionNodeName}'} + + def begin_create( + self, + blockchain_member_name, # type: str + transaction_node_name, # type: str + resource_group_name, # type: str + location=None, # type: Optional[str] + password=None, # type: Optional[str] + firewall_rules=None, # type: Optional[List["FirewallRule"]] + **kwargs # type: Any + ): + # type: (...) -> "models.TransactionNode" + """Create or update the transaction node. + + :param blockchain_member_name: Blockchain member name. + :type blockchain_member_name: str + :param transaction_node_name: Transaction node name. + :type transaction_node_name: str + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param location: Gets or sets the transaction node location. + :type location: str + :param password: Sets the transaction node dns endpoint basic auth password. + :type password: str + :param firewall_rules: Gets or sets the firewall rules. + :type firewall_rules: list[~azure.mgmt.blockchain.models.FirewallRule] + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :return: An instance of LROPoller that returns TransactionNode + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.blockchain.models.TransactionNode] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.TransactionNode"] + raw_result = self._create_initial( + blockchain_member_name=blockchain_member_name, + transaction_node_name=transaction_node_name, + resource_group_name=resource_group_name, + location=location, + password=password, + firewall_rules=firewall_rules, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('TransactionNode', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Blockchain/blockchainMembers/{blockchainMemberName}/transactionNodes/{transactionNodeName}'} + + def _delete_initial( + self, + blockchain_member_name, # type: str + transaction_node_name, # type: str + resource_group_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01-preview" + + # Construct URL + url = self._delete_initial.metadata['url'] + path_format_arguments = { + 'blockchainMemberName': self._serialize.url("blockchain_member_name", blockchain_member_name, 'str'), + 'transactionNodeName': self._serialize.url("transaction_node_name", transaction_node_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [202, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Blockchain/blockchainMembers/{blockchainMemberName}/transactionNodes/{transactionNodeName}'} + + def begin_delete( + self, + blockchain_member_name, # type: str + transaction_node_name, # type: str + resource_group_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + """Delete the transaction node. + + :param blockchain_member_name: Blockchain member name. + :type blockchain_member_name: str + :param transaction_node_name: Transaction node name. + :type transaction_node_name: str + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :return: An instance of LROPoller that returns None + :rtype: ~azure.core.polling.LROPoller[None] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + raw_result = self._delete_initial( + blockchain_member_name=blockchain_member_name, + transaction_node_name=transaction_node_name, + resource_group_name=resource_group_name, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Blockchain/blockchainMembers/{blockchainMemberName}/transactionNodes/{transactionNodeName}'} + + def update( + self, + blockchain_member_name, # type: str + transaction_node_name, # type: str + resource_group_name, # type: str + password=None, # type: Optional[str] + firewall_rules=None, # type: Optional[List["FirewallRule"]] + **kwargs # type: Any + ): + # type: (...) -> "models.TransactionNode" + """Update the transaction node. + + :param blockchain_member_name: Blockchain member name. + :type blockchain_member_name: str + :param transaction_node_name: Transaction node name. + :type transaction_node_name: str + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param password: Sets the transaction node dns endpoint basic auth password. + :type password: str + :param firewall_rules: Gets or sets the firewall rules. + :type firewall_rules: list[~azure.mgmt.blockchain.models.FirewallRule] + :keyword callable cls: A custom type or function that will be passed the direct response + :return: TransactionNode or the result of cls(response) + :rtype: ~azure.mgmt.blockchain.models.TransactionNode + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.TransactionNode"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _transaction_node = models.TransactionNodeUpdate(password=password, firewall_rules=firewall_rules) + api_version = "2018-06-01-preview" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.update.metadata['url'] + path_format_arguments = { + 'blockchainMemberName': self._serialize.url("blockchain_member_name", blockchain_member_name, 'str'), + 'transactionNodeName': self._serialize.url("transaction_node_name", transaction_node_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + if _transaction_node is not None: + body_content = self._serialize.body(_transaction_node, 'TransactionNodeUpdate') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('TransactionNode', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Blockchain/blockchainMembers/{blockchainMemberName}/transactionNodes/{transactionNodeName}'} + + def list( + self, + blockchain_member_name, # type: str + resource_group_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.TransactionNodeCollection" + """Lists the transaction nodes for a blockchain member. + + :param blockchain_member_name: Blockchain member name. + :type blockchain_member_name: str + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: TransactionNodeCollection or the result of cls(response) + :rtype: ~azure.mgmt.blockchain.models.TransactionNodeCollection + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.TransactionNodeCollection"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01-preview" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'blockchainMemberName': self._serialize.url("blockchain_member_name", blockchain_member_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('TransactionNodeCollection', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Blockchain/blockchainMembers/{blockchainMemberName}/transactionNodes'} + + def list_api_key( + self, + blockchain_member_name, # type: str + transaction_node_name, # type: str + resource_group_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.ApiKeyCollection" + """List the API keys for the transaction node. + + :param blockchain_member_name: Blockchain member name. + :type blockchain_member_name: str + :param transaction_node_name: Transaction node name. + :type transaction_node_name: str + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ApiKeyCollection or the result of cls(response) + :rtype: ~azure.mgmt.blockchain.models.ApiKeyCollection + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ApiKeyCollection"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01-preview" + + # Construct URL + url = self.list_api_key.metadata['url'] + path_format_arguments = { + 'blockchainMemberName': self._serialize.url("blockchain_member_name", blockchain_member_name, 'str'), + 'transactionNodeName': self._serialize.url("transaction_node_name", transaction_node_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ApiKeyCollection', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + list_api_key.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Blockchain/blockchainMembers/{blockchainMemberName}/transactionNodes/{transactionNodeName}/listApiKeys'} + + def regenerate_api_key( + self, + blockchain_member_name, # type: str + transaction_node_name, # type: str + resource_group_name, # type: str + key_name=None, # type: Optional[str] + value=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.ApiKeyCollection" + """Regenerate the API keys for the blockchain member. + + :param blockchain_member_name: Blockchain member name. + :type blockchain_member_name: str + :param transaction_node_name: Transaction node name. + :type transaction_node_name: str + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param key_name: Gets or sets the API key name. + :type key_name: str + :param value: Gets or sets the API key value. + :type value: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ApiKeyCollection or the result of cls(response) + :rtype: ~azure.mgmt.blockchain.models.ApiKeyCollection + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ApiKeyCollection"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _api_key = models.ApiKey(key_name=key_name, value=value) + api_version = "2018-06-01-preview" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.regenerate_api_key.metadata['url'] + path_format_arguments = { + 'blockchainMemberName': self._serialize.url("blockchain_member_name", blockchain_member_name, 'str'), + 'transactionNodeName': self._serialize.url("transaction_node_name", transaction_node_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + if _api_key is not None: + body_content = self._serialize.body(_api_key, 'ApiKey') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ApiKeyCollection', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + regenerate_api_key.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Blockchain/blockchainMembers/{blockchainMemberName}/transactionNodes/{transactionNodeName}/regenerateApiKeys'} diff --git a/src/blockchain/azext_blockchain/vendored_sdks/blockchain/py.typed b/src/blockchain/azext_blockchain/vendored_sdks/blockchain/py.typed new file mode 100644 index 00000000000..e5aff4f83af --- /dev/null +++ b/src/blockchain/azext_blockchain/vendored_sdks/blockchain/py.typed @@ -0,0 +1 @@ +# Marker file for PEP 561. \ No newline at end of file diff --git a/src/blockchain/report.md b/src/blockchain/report.md new file mode 100644 index 00000000000..e0c70a7675c --- /dev/null +++ b/src/blockchain/report.md @@ -0,0 +1,164 @@ +# Azure CLI Module Creation Report + +### blockchain consortium list + +list a blockchain consortium. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--location-name**|string|Location Name.|location_name| +### blockchain member create + +create a blockchain member. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--blockchain-member-name**|string|Blockchain member name.|blockchain_member_name| +|**--resource-group-name**|string|The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.|resource_group_name| +|**--location**|string|The GEO location of the blockchain service.|location| +|**--tags**|dictionary|Tags of the service which is a list of key value pairs that describes the resource.|tags| +|**--sku**|object|Gets or sets the blockchain member Sku.|sku| +|**--protocol**|choice|Gets or sets the blockchain protocol.|protocol| +|**--validator-nodes-sku**|object|Gets or sets the blockchain validator nodes Sku.|validator_nodes_sku| +|**--password**|string|Sets the basic auth password of the blockchain member.|password| +|**--consortium**|string|Gets or sets the consortium for the blockchain member.|consortium| +|**--consortium-management-account-password**|string|Sets the managed consortium management account password.|consortium_management_account_password| +|**--consortium-role**|string|Gets the role of the member in the consortium.|consortium_role| +|**--consortium-member-display-name**|string|Gets the display name of the member in the consortium.|consortium_member_display_name| +|**--firewall-rules**|array|Gets or sets firewall rules|firewall_rules| +### blockchain member delete + +delete a blockchain member. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--blockchain-member-name**|string|Blockchain member name|blockchain_member_name| +|**--resource-group-name**|string|The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.|resource_group_name| +### blockchain member list + +list a blockchain member. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.|resource_group_name| +### blockchain member list-all + +list-all a blockchain member. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +### blockchain member list-api-key + +list-api-key a blockchain member. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--blockchain-member-name**|string|Blockchain member name.|blockchain_member_name| +|**--resource-group-name**|string|The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.|resource_group_name| +### blockchain member list-consortium-member + +list-consortium-member a blockchain member. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--blockchain-member-name**|string|Blockchain member name.|blockchain_member_name| +|**--resource-group-name**|string|The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.|resource_group_name| +### blockchain member regenerate-api-key + +regenerate-api-key a blockchain member. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--blockchain-member-name**|string|Blockchain member name.|blockchain_member_name| +|**--resource-group-name**|string|The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.|resource_group_name| +|**--key-name**|string|Gets or sets the API key name.|key_name| +|**--value**|string|Gets or sets the API key value.|value| +### blockchain member show + +show a blockchain member. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--blockchain-member-name**|string|Blockchain member name.|blockchain_member_name| +|**--resource-group-name**|string|The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.|resource_group_name| +### blockchain member update + +update a blockchain member. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--blockchain-member-name**|string|Blockchain member name.|blockchain_member_name| +|**--resource-group-name**|string|The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.|resource_group_name| +|**--tags**|dictionary|Tags of the service which is a list of key value pairs that describes the resource.|tags| +|**--password**|string|Sets the transaction node dns endpoint basic auth password.|password| +|**--firewall-rules**|array|Gets or sets the firewall rules.|firewall_rules| +|**--consortium-management-account-password**|string|Sets the managed consortium management account password.|consortium_management_account_password| +### blockchain transaction-node create + +create a blockchain transaction-node. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--blockchain-member-name**|string|Blockchain member name.|blockchain_member_name| +|**--transaction-node-name**|string|Transaction node name.|transaction_node_name| +|**--resource-group-name**|string|The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.|resource_group_name| +|**--location**|string|Gets or sets the transaction node location.|location| +|**--password**|string|Sets the transaction node dns endpoint basic auth password.|password| +|**--firewall-rules**|array|Gets or sets the firewall rules.|firewall_rules| +### blockchain transaction-node delete + +delete a blockchain transaction-node. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--blockchain-member-name**|string|Blockchain member name.|blockchain_member_name| +|**--transaction-node-name**|string|Transaction node name.|transaction_node_name| +|**--resource-group-name**|string|The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.|resource_group_name| +### blockchain transaction-node list + +list a blockchain transaction-node. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--blockchain-member-name**|string|Blockchain member name.|blockchain_member_name| +|**--resource-group-name**|string|The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.|resource_group_name| +### blockchain transaction-node list-api-key + +list-api-key a blockchain transaction-node. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--blockchain-member-name**|string|Blockchain member name.|blockchain_member_name| +|**--transaction-node-name**|string|Transaction node name.|transaction_node_name| +|**--resource-group-name**|string|The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.|resource_group_name| +### blockchain transaction-node regenerate-api-key + +regenerate-api-key a blockchain transaction-node. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--blockchain-member-name**|string|Blockchain member name.|blockchain_member_name| +|**--transaction-node-name**|string|Transaction node name.|transaction_node_name| +|**--resource-group-name**|string|The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.|resource_group_name| +|**--key-name**|string|Gets or sets the API key name.|key_name| +|**--value**|string|Gets or sets the API key value.|value| +### blockchain transaction-node show + +show a blockchain transaction-node. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--blockchain-member-name**|string|Blockchain member name.|blockchain_member_name| +|**--transaction-node-name**|string|Transaction node name.|transaction_node_name| +|**--resource-group-name**|string|The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.|resource_group_name| +### blockchain transaction-node update + +update a blockchain transaction-node. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--blockchain-member-name**|string|Blockchain member name.|blockchain_member_name| +|**--transaction-node-name**|string|Transaction node name.|transaction_node_name| +|**--resource-group-name**|string|The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.|resource_group_name| +|**--password**|string|Sets the transaction node dns endpoint basic auth password.|password| +|**--firewall-rules**|array|Gets or sets the firewall rules.|firewall_rules| \ No newline at end of file diff --git a/src/blockchain/setup.cfg b/src/blockchain/setup.cfg new file mode 100644 index 00000000000..2fdd96e5d39 --- /dev/null +++ b/src/blockchain/setup.cfg @@ -0,0 +1 @@ +#setup.cfg \ No newline at end of file diff --git a/src/blockchain/setup.py b/src/blockchain/setup.py new file mode 100644 index 00000000000..33c7523684c --- /dev/null +++ b/src/blockchain/setup.py @@ -0,0 +1,53 @@ +#!/usr/bin/env python + +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + + +from codecs import open +from setuptools import setup, find_packages + +# TODO: Confirm this is the right version number you want and it matches your +# HISTORY.rst entry. +VERSION = '0.1.0' + +# The full list of classifiers is available at +# https://pypi.python.org/pypi?%3Aaction=list_classifiers +CLASSIFIERS = [ + 'Development Status :: 4 - Beta', + 'Intended Audience :: Developers', + 'Intended Audience :: System Administrators', + 'Programming Language :: Python', + 'Programming Language :: Python :: 3', + 'Programming Language :: Python :: 3.6', + 'Programming Language :: Python :: 3.7', + 'Programming Language :: Python :: 3.8', + 'License :: OSI Approved :: MIT License', +] + +# TODO: Add any additional SDK dependencies here +DEPENDENCIES = [] + +with open('README.md', 'r', encoding='utf-8') as f: + README = f.read() +with open('HISTORY.rst', 'r', encoding='utf-8') as f: + HISTORY = f.read() + +setup( + name='blockchain', + version=VERSION, + description='Microsoft Azure Command-Line Tools BlockchainManagementClient Extension', + # TODO: Update author and email, if applicable + author='Microsoft Corporation', + author_email='azpycli@microsoft.com', + # TODO: consider pointing directly to your source code instead of the generic repo + url='https://github.com/Azure/azure-cli-extensions', + long_description=README + '\n\n' + HISTORY, + license='MIT', + classifiers=CLASSIFIERS, + packages=find_packages(), + install_requires=DEPENDENCIES, + package_data={'azext_blockchain': ['azext_metadata.json']}, +) diff --git a/src/blueprint/README.md b/src/blueprint/README.md index 5ffc9677d08..4597165f079 100644 --- a/src/blueprint/README.md +++ b/src/blueprint/README.md @@ -12,6 +12,11 @@ Blueprint can be scoped in a subscription or management group, which is a group az account set --subscription subscription_id ``` +Register Blueprint Resource Provider for your susbcription. +``` +az provider register -n "Microsoft.Blueprint" +``` + ### Included Features #### Blueprint Definition Management: *Examples:* @@ -21,7 +26,7 @@ az account set --subscription subscription_id ``` az blueprint import \ --name blueprintName \ ---input-path "/path/to/blueprint/directory" +--input-path "path/to/blueprint/directory" ``` @@ -36,7 +41,7 @@ az blueprint create \ --name blueprintName \ --description "An example blueprint." \ --target-scope "subscription" \ - --parameters @/path/to/blueprint_params.json + --parameters path/to/blueprint_params.json ``` An example blueprint_params.json may look like this: ```json @@ -84,7 +89,7 @@ az blueprint artifact policy create \ --artifact-name my-policy-art \ --display-name "My Policy Name" \ --policy-definition-id "/providers/Microsoft.Authorization/policyDefinitions/00000000-0000-0000-0000-000000000000" \ - --parameters @/path/to/policy_params.json + --parameters path/to/policy_params.json ``` An example policy_params.json may look like this: ```json @@ -105,8 +110,8 @@ az blueprint artifact template add \ --blueprint-name blueprintName \ --artifact-name my-template-art \ --display-name "My Template Name" \ - --parameters @/path/to/params.json \ - --template @/path/to/template.json + --parameters path/to/params.json \ + --template path/to/template.json ``` ##### Publish a Blueprint @@ -126,7 +131,7 @@ az blueprint assignment create \ --blueprint-version "/subscriptions/{subscriptionId}/providers/Microsoft.Blueprint/blueprints/blueprintName/versions/1.0" \ --locks-mode "None" \ --resource-group-value artifact_name=myRgArt name=blueprint-rg location=westus \ - --parameters @/path/to/assignment_params.json + --parameters path/to/assignment_params.json ``` Values need to be assigned for the parameters when assigning a blueprint. diff --git a/src/blueprint/azext_blueprint/_help.py b/src/blueprint/azext_blueprint/_help.py index 8caed0b4c82..ea56fdea32c 100644 --- a/src/blueprint/azext_blueprint/_help.py +++ b/src/blueprint/azext_blueprint/_help.py @@ -84,7 +84,7 @@ - name: Import a blueprint definition and artifacts text: |- az blueprint import --name MyBlueprint \\ - --input-path "/path/to/blueprint/directory" + --input-path "path/to/blueprint/directory" """ helps['blueprint resource-group'] = """ @@ -203,7 +203,7 @@ az blueprint artifact policy create \\ --blueprint-name MyBlueprint --artifact-name MyPolicy --policy-definition-id \\ "/providers/Microsoft.Authorization/policyDefinitions/00000000-0000-0000-0000-000000000000" \\ - --parameters @/path/to/file --display-name "Policy to do sth" + --parameters path/to/file --display-name "Policy to do sth" """ helps['blueprint artifact policy update'] = """ @@ -256,7 +256,7 @@ text: |- az blueprint artifact template create \\ --blueprint-name MyBlueprint --artifact-name MyTemplate \\ - --parameters @/path/to/parameter/file --template @/path/to/template + --parameters path/to/parameter/file --template path/to/template """ helps['blueprint artifact template update'] = """ @@ -385,7 +385,7 @@ ers/Microsoft.Blueprint/blueprints/MyBlueprint/versions/v2" \\ --resource-group-value artifact_name=rg-art-1 name=rg1 location=westus \\ --resource-group-value artifact_name=rg-art-2 name=rg2 location=eastus \\ - --parameters "@path/to/parameter/file" \\ + --parameters "path/to/parameter/file" \\ - name: Assignment with user-assigned managed identity text: |- az blueprint assignment create --subscription MySubscription --name \\ @@ -395,7 +395,7 @@ --blueprint-version "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup \\ /providers/Microsoft.Blueprint/blueprints/MyBlueprint/versions/v2" \\ --resource-group-value artifact_name=rg-art-1 name=rg1 location=eastus \\ - --parameters "@path/to/parameter/file" \\ + --parameters "path/to/parameter/file" \\ """ helps['blueprint assignment update'] = """ diff --git a/src/blueprint/azext_blueprint/_params.py b/src/blueprint/azext_blueprint/_params.py index 3e7875957cd..a0bc04adc16 100644 --- a/src/blueprint/azext_blueprint/_params.py +++ b/src/blueprint/azext_blueprint/_params.py @@ -28,13 +28,15 @@ parameter_type = CLIArgumentType( type=validate_file_or_dict, options_list=['--parameters', '-p'], - help='Parameters in JSON string or path to JSON file with "@" prefix.' + help='Parameters in JSON string or path to JSON file.', + completer=FilesCompleter() ) template_type = CLIArgumentType( type=validate_file_or_dict, options_list=['--template', '-t'], - help='ARM template in JSON string or path to JSON file with "@" prefix.' + help='ARM template in JSON string or path to JSON file.', + completer=FilesCompleter() ) subscription_type = CLIArgumentType( @@ -63,7 +65,7 @@ def load_arguments(self, _): c.argument('display_name', help='One-liner string explain this resource.') c.argument('description', help='Multi-line explain this resource.') c.argument('target_scope', arg_type=get_enum_type(BlueprintTargetScope), default='subscription', help='The scope where this blueprint definition can be assigned.') - c.argument('parameters', arg_type=parameter_type, help='Parameters required by this blueprint definition. It can be a JSON string or JSON file path with "@" prefix.') + c.argument('parameters', arg_type=parameter_type, help='Parameters required by this blueprint definition. It can be a JSON string or JSON file path.') with self.argument_context('blueprint import') as c: c.argument('blueprint_name', options_list=['--name', '-n'], help='Name of the blueprint definition.') @@ -72,7 +74,7 @@ def load_arguments(self, _): with self.argument_context('blueprint update') as c: c.argument('blueprint_name', options_list=['--name', '-n'], help='Name of the blueprint definition.') c.argument('description', help='Multi-line explain this resource.') - c.argument('parameters', arg_type=parameter_type, help='Parameters required by this blueprint definition. It can be a JSON string or JSON file path with "@" prefix.') + c.argument('parameters', arg_type=parameter_type, help='Parameters required by this blueprint definition. It can be a JSON string or JSON file path.') with self.argument_context('blueprint delete') as c: c.argument('blueprint_name', options_list=['--name', '-n'], help='Name of the blueprint definition.') @@ -133,7 +135,7 @@ def load_arguments(self, _): c.argument('depends_on', nargs='+', help='Artifacts which need to be deployed before the specified artifact.') c.argument('policy_definition_id', help='The full policy definition id.') c.argument('resource_group_art', help='Name of the resource group artifact to which the policy will be assigned.') - c.argument('parameters', arg_type=parameter_type, help='Parameters for policy assignment artifact. It can be a JSON string or JSON file path with "@" prefix.') + c.argument('parameters', arg_type=parameter_type, help='Parameters for policy assignment artifact. It can be a JSON string or JSON file path.') with self.argument_context('blueprint artifact policy update') as c: c.argument('blueprint_name', help='Name of the blueprint definition.') @@ -142,7 +144,7 @@ def load_arguments(self, _): c.argument('description', help='Description of the blueprint artifact.') c.argument('depends_on', nargs='+', help='Artifacts which need to be deployed before the specified artifact.') c.argument('resource_group_art', help='Name of the resource group artifact to which the policy will be assigned.') - c.argument('parameters', arg_type=parameter_type, help='Parameters for policy assignment artifact. It can be a JSON string or JSON file path with "@" prefix.') + c.argument('parameters', arg_type=parameter_type, help='Parameters for policy assignment artifact. It can be a JSON string or JSON file path.') with self.argument_context('blueprint artifact role create') as c: c.argument('blueprint_name', help='Name of the blueprint definition.') @@ -169,7 +171,7 @@ def load_arguments(self, _): c.argument('description', help='Description of the blueprint artifact.') c.argument('depends_on', nargs='+', help='Artifacts which need to be deployed before the specified artifact.') c.argument('resource_group_art', help='Name of the resource group artifact to which the policy will be assigned.') - c.argument('parameters', arg_type=parameter_type, help='Parameters for ARM template artifact. It can be a JSON string or JSON file path with "@" prefix.') + c.argument('parameters', arg_type=parameter_type, help='Parameters for ARM template artifact. It can be a JSON string or JSON file path.') c.argument('template', arg_type=template_type) with self.argument_context('blueprint artifact template update') as c: @@ -179,7 +181,7 @@ def load_arguments(self, _): c.argument('description', help='Description of the blueprint artifact.') c.argument('depends_on', nargs='+', help='Artifacts which need to be deployed before the specified artifact.') c.argument('resource_group_art', help='Name of the resource group artifact to which the policy will be assigned.') - c.argument('parameters', arg_type=parameter_type, help='Parameters for ARM template artifact. It can be a JSON string or JSON file path with "@" prefix.') + c.argument('parameters', arg_type=parameter_type, help='Parameters for ARM template artifact. It can be a JSON string or JSON file path.') c.argument('template', arg_type=template_type) with self.argument_context('blueprint publish') as c: @@ -224,7 +226,7 @@ def load_arguments(self, _): c.argument('display_name', help='One-liner string explain this resource.') c.argument('description', help='Multi-line explain this resource.') c.argument('blueprint_id', options_list=['--blueprint-version'], help='Resource ID of the published version of a blueprint definition.') - c.argument('parameters', arg_type=parameter_type, help='Blueprint assignment parameter values. It can be a JSON string or JSON file path with "@" prefix.') + c.argument('parameters', arg_type=parameter_type, help='Blueprint assignment parameter values. It can be a JSON string or JSON file path.') c.argument('resource_groups', options_list=['--resource-group-value'], action=ResourceGroupAssignAddAction, nargs='+', help="Key=Value pairs for a resource group. Keys include 'artifact_name'(required), 'name', 'location'.") c.argument('locks_mode', arg_type=get_enum_type(AssignmentLockMode), help='Lock mode.') c.argument('locks_excluded_principals', help='List of AAD principals excluded from blueprint locks. Up to 5 principals are permitted.', nargs='+') diff --git a/src/blueprint/azext_blueprint/azext_metadata.json b/src/blueprint/azext_blueprint/azext_metadata.json index 7ac638b670e..198c4e89322 100644 --- a/src/blueprint/azext_blueprint/azext_metadata.json +++ b/src/blueprint/azext_blueprint/azext_metadata.json @@ -1,5 +1,4 @@ { - "azext.isPreview": true, "azext.isExperimental": true, - "azext.minCliCoreVersion": "2.0.67" + "azext.minCliCoreVersion": "2.3.0" } \ No newline at end of file diff --git a/src/blueprint/azext_blueprint/commands.py b/src/blueprint/azext_blueprint/commands.py index 5cc418be69e..295427b991c 100644 --- a/src/blueprint/azext_blueprint/commands.py +++ b/src/blueprint/azext_blueprint/commands.py @@ -16,7 +16,7 @@ def load_command_table(self, _): blueprint_blueprints = CliCommandType( operations_tmpl='azext_blueprint.vendored_sdks.blueprint.operations._blueprints_operations#BlueprintsOperations.{}', client_factory=cf_blueprints) - with self.command_group('blueprint', blueprint_blueprints, client_factory=cf_blueprints) as g: + with self.command_group('blueprint', blueprint_blueprints, client_factory=cf_blueprints, is_experimental=True) as g: g.custom_command('create', 'create_blueprint') g.custom_command('update', 'update_blueprint') g.generic_update_command('update', custom_func_name='update_blueprint', @@ -59,7 +59,7 @@ def load_command_table(self, _): blueprint_published_blueprints = CliCommandType( operations_tmpl='azext_blueprint.vendored_sdks.blueprint.operations._published_blueprints_operations#PublishedBlueprintsOperations.{}', client_factory=cf_published_blueprints) - with self.command_group('blueprint', blueprint_published_blueprints, client_factory=cf_published_blueprints) as g: + with self.command_group('blueprint', blueprint_published_blueprints, client_factory=cf_published_blueprints, is_experimental=True) as g: g.custom_command('publish', 'publish_blueprint') g.custom_command('version delete', 'delete_blueprint_version', confirmation=True) g.custom_command('version show', 'get_blueprint_version') diff --git a/src/blueprint/setup.cfg b/src/blueprint/setup.cfg index 5eab412034f..e69de29bb2d 100644 --- a/src/blueprint/setup.cfg +++ b/src/blueprint/setup.cfg @@ -1,2 +0,0 @@ -[bdist_wheel] -universal=1 diff --git a/src/blueprint/setup.py b/src/blueprint/setup.py index d0c3c7b6fad..afef355a37a 100644 --- a/src/blueprint/setup.py +++ b/src/blueprint/setup.py @@ -26,7 +26,6 @@ 'Intended Audience :: System Administrators', 'Programming Language :: Python', 'Programming Language :: Python :: 3', - 'Programming Language :: Python :: 3.5', 'Programming Language :: Python :: 3.6', 'Programming Language :: Python :: 3.7', 'Programming Language :: Python :: 3.8', diff --git a/src/codespaces/HISTORY.rst b/src/codespaces/HISTORY.rst new file mode 100644 index 00000000000..8c34bccfff8 --- /dev/null +++ b/src/codespaces/HISTORY.rst @@ -0,0 +1,8 @@ +.. :changelog: + +Release History +=============== + +0.1.0 +++++++ +* Initial release. \ No newline at end of file diff --git a/src/codespaces/README.rst b/src/codespaces/README.rst new file mode 100644 index 00000000000..2fe9e9abaed --- /dev/null +++ b/src/codespaces/README.rst @@ -0,0 +1,6 @@ +Microsoft Azure CLI 'codespaces' Extension +========================================== + +Visual Studio Codespaces - Cloud-powered development environments accessible from anywhere. + +https://azure.microsoft.com/en-us/services/visual-studio-online/ diff --git a/src/codespaces/azext_codespaces/__init__.py b/src/codespaces/azext_codespaces/__init__.py new file mode 100644 index 00000000000..4dc39f05b5d --- /dev/null +++ b/src/codespaces/azext_codespaces/__init__.py @@ -0,0 +1,31 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +from azure.cli.core import AzCommandsLoader + +from azext_codespaces._help import helps # pylint: disable=unused-import + + +class CodespacesCommandsLoader(AzCommandsLoader): + + def __init__(self, cli_ctx=None): + from azure.cli.core.commands import CliCommandType + from azext_codespaces._client_factory import cf_codespaces + codespaces_custom = CliCommandType( + operations_tmpl='azext_codespaces.custom#{}', + client_factory=cf_codespaces) + super(CodespacesCommandsLoader, self).__init__(cli_ctx=cli_ctx, custom_command_type=codespaces_custom) + + def load_command_table(self, args): + from azext_codespaces.commands import load_command_table + load_command_table(self, args) + return self.command_table + + def load_arguments(self, command): + from azext_codespaces._params import load_arguments + load_arguments(self, command) + + +COMMAND_LOADER_CLS = CodespacesCommandsLoader diff --git a/src/codespaces/azext_codespaces/_client_factory.py b/src/codespaces/azext_codespaces/_client_factory.py new file mode 100644 index 00000000000..4e57b3cf361 --- /dev/null +++ b/src/codespaces/azext_codespaces/_client_factory.py @@ -0,0 +1,14 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + + +def cf_codespaces(cli_ctx, *_): + from azure.cli.core.commands.client_factory import get_mgmt_service_client + from .vendored_sdks.vsonline.vs_online_client import VSOnlineClient + return get_mgmt_service_client(cli_ctx, VSOnlineClient) + + +def cf_codespaces_plan(cli_ctx, *_): + return cf_codespaces(cli_ctx).plan diff --git a/src/codespaces/azext_codespaces/_help.py b/src/codespaces/azext_codespaces/_help.py new file mode 100644 index 00000000000..e9afef39d44 --- /dev/null +++ b/src/codespaces/azext_codespaces/_help.py @@ -0,0 +1,164 @@ +# coding=utf-8 +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +from knack.help_files import helps # pylint: disable=unused-import + + +helps['codespace'] = """ + type: group + short-summary: Manage Visual Studio Codespaces. +""" + +helps['codespace location'] = """ + type: group + short-summary: Information on available regions. +""" + +helps['codespace location list'] = """ + type: command + short-summary: List available regions. +""" + +helps['codespace location show'] = """ + type: command + short-summary: Show details on a region. +""" + +helps['codespace plan'] = """ + type: group + short-summary: Manage Codespace plans. +""" + +helps['codespace plan create'] = """ + type: command + short-summary: Create a Codespace plan. + examples: + - name: Create a plan in same region as resource group + text: az codespace plan create -g my-rg -n my-plan + - name: Create a plan in a specific region + text: az codespace plan create -g my-rg -n my-plan -l westus2 + - name: Create a plan with tags + text: az codespace plan create -g my-rg -n my-plan -l westus2 --tags tagname=tagvalue +""" + +helps['codespace plan list'] = """ + type: command + short-summary: List Codespace plans. + examples: + - name: List plans + text: az codespace plan list + - name: List plans in a given resource group + text: az codespace plan list -g my-rg +""" + +helps['codespace plan delete'] = """ + type: command + short-summary: Delete a Codespace plan. + examples: + - name: Delete a plan + text: az codespace plan delete -g my-rg -n my-plan +""" + +helps['codespace plan show'] = """ + type: command + short-summary: Show details of a Codespace plan. + examples: + - name: Show details of a plan + text: az codespace plan show -g my-rg -n my-plan +""" + +helps['codespace create'] = """ + type: command + short-summary: Create a Codespace. + parameters: + - name: --instance-type + short-summary: Instance Type + populator-commands: + - az codespace location show + examples: + - name: Create a Codespace with default settings + text: az codespace create -g my-rg --plan my-plan --name my-codespace + - name: Create a Codespace with a different instance type with custom suspend time + text: az codespace create -g my-rg --plan my-plan --name my-codespace --instance-type premiumLinux --suspend-after 5 + - name: Create a Codespace with a git repo + text: az codespace create -g my-rg --plan my-plan --name my-codespace --git-repo https://github.com/github/repo --git-user-name "User Name" --git-user-email user@example.com + - name: Create a Codespace with a dotfiles repo + text: az codespace create -g my-rg --plan my-plan --name my-codespace --dotfiles-repo https://github.com/github/dotfiles --dotfiles-path ~/dotfiles --dotfiles-command bootstrap.sh +""" + +helps['codespace list'] = """ + type: command + short-summary: List Codespaces. + examples: + - name: List Codespaces + text: az codespace list -g my-rg --plan my-plan + - name: List Codespaces given plan id and Codespace name + text: az codespace list --plan /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/my-rg/providers/Microsoft.VSOnline/plans/my-plan +""" + +helps['codespace delete'] = """ + type: command + short-summary: Delete a Codespace. + examples: + - name: Delete a Codespace given name + text: az codespace delete -g my-rg --plan my-plan --name my-codespace + - name: Delete a Codespace given id + text: az codespace delete -g my-rg --plan my-plan --id 00000000-0000-0000-0000-000000000000 + - name: Delete a Codespace given plan id and Codespace name + text: az codespace delete --plan /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/my-rg/providers/Microsoft.VSOnline/plans/my-plan --name my-codespace + +""" + +helps['codespace show'] = """ + type: command + short-summary: Show details of a Codespace. + examples: + - name: Show details of a Codespace given name + text: az codespace show -g my-rg --plan my-plan --name my-codespace + - name: Show details of a Codespace given id + text: az codespace show -g my-rg --plan my-plan --id 00000000-0000-0000-0000-000000000000 + - name: Show details of a Codespace given plan id and Codespace name + text: az codespace show --plan /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/my-rg/providers/Microsoft.VSOnline/plans/my-plan --name my-codespace +""" + +helps['codespace resume'] = """ + type: command + short-summary: Resume a Codespace. + examples: + - name: Resume a Codespace given name + text: az codespace resume -g my-rg --plan my-plan --name my-codespace + - name: Resume a Codespace given id + text: az codespace resume -g my-rg --plan my-plan --id 00000000-0000-0000-0000-000000000000 + - name: Resume a Codespace given plan id and Codespace name + text: az codespace resume --plan /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/my-rg/providers/Microsoft.VSOnline/plans/my-plan --name my-codespace +""" + +helps['codespace suspend'] = """ + type: command + short-summary: Suspend a Codespace. + examples: + - name: Suspend a Codespace given name + text: az codespace suspend -g my-rg --plan my-plan --name my-codespace + - name: Suspend a Codespace given id + text: az codespace suspend -g my-rg --plan my-plan --id 00000000-0000-0000-0000-000000000000 + - name: Suspend a Codespace given plan id and Codespace name + text: az codespace suspend --plan /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/my-rg/providers/Microsoft.VSOnline/plans/my-plan --name my-codespace +""" + +helps['codespace open'] = """ + type: command + short-summary: Open a Codespace in the web browser. + long-summary: | + Confirmation is required if the Codespace is not in the 'Available' state as opening a Codespace will automatically resume it. + examples: + - name: Open a Codespace given name + text: az codespace open -g my-rg --plan my-plan --name my-codespace + - name: Open a Codespace given id + text: az codespace open -g my-rg --plan my-plan --id 00000000-0000-0000-0000-000000000000 + - name: Open a Codespace given plan id and Codespace name + text: az codespace open --plan /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/my-rg/providers/Microsoft.VSOnline/plans/my-plan --name my-codespace + +""" diff --git a/src/codespaces/azext_codespaces/_non_arm_apis.py b/src/codespaces/azext_codespaces/_non_arm_apis.py new file mode 100644 index 00000000000..cf8d7220108 --- /dev/null +++ b/src/codespaces/azext_codespaces/_non_arm_apis.py @@ -0,0 +1,131 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +""" + Helpers for requests to Codespaces non-ARM-based APIs +""" + +import platform +import requests +from knack.util import CLIError +from knack.log import get_logger +from azure.cli.core import __version__ as az_version + +from .version import VERSION + +logger = get_logger(__name__) + +API_ROOT = "https://online.visualstudio.com/api/v1" + + +def _get_user_agent_string(): + pv = platform.python_version() + ps = platform.system() + pr = platform.release() + pp = platform.processor() + pm = platform.machine() + return f"python/{pv} ({ps}-{pr}-{pm}-{pp}) azure-cli/{az_version} codespaces-extension/{VERSION}" + + +def assert_status_hook(r, *args, **kwargs): # pylint: disable=unused-argument + r.raise_for_status() + + +def response_logging_hook(response, *args, **kwargs): # pylint: disable=unused-argument + logger.debug('Request: %s', response.request.__dict__) + logger.debug('Response: %s', response.__dict__) + + +class NoStripAuthSession(requests.Session): + # Override the default behavior of stripping the Authorization header on redirects + # see https://github.com/psf/requests/blob/9ed5db8ed28e816b597dafd328b342ec95466afa/requests/sessions.py#L119-L139 + def should_strip_auth(self, old_url, new_url): + return False + + +session = NoStripAuthSession() +session.hooks = { + 'response': [response_logging_hook, assert_status_hook], +} +session.headers.update({ + 'Content-Type': 'application/json', + 'Accept': 'application/json', + 'User-Agent': _get_user_agent_string() +}) + + +def api_response_decorator(func): + def wrapper(*args, **kwargs): + try: + response = func(*args, **kwargs) + if response: + return response.json() if response.content else response + return None + except requests.HTTPError as err: + raise CLIError(str(err)) + return wrapper + + +@api_response_decorator +def list_locations(): + url = f'{API_ROOT}/locations' + response = session.get(url) + return response + + +@api_response_decorator +def get_location_details(location): + url = f'{API_ROOT}/locations/{location}' + response = session.get(url) + return response + + +@api_response_decorator +def list_codespaces(access_token, plan_id): + url = f'{API_ROOT}/environments' + headers = {'Authorization': f'Bearer {access_token}'} + params = {'planId': plan_id} + response = session.get(url, headers=headers, params=params) + return response + + +@api_response_decorator +def get_codespace(access_token, codespace_id): + url = f'{API_ROOT}/environments/{codespace_id}' + headers = {'Authorization': f'Bearer {access_token}'} + response = session.get(url, headers=headers) + return response + + +@api_response_decorator +def start_codespace(access_token, codespace_id): + url = f'{API_ROOT}/environments/{codespace_id}/start' + headers = {'Authorization': f'Bearer {access_token}'} + response = session.post(url, headers=headers) + return response + + +@api_response_decorator +def shutdown_codespace(access_token, codespace_id): + url = f'{API_ROOT}/environments/{codespace_id}/shutdown' + headers = {'Authorization': f'Bearer {access_token}'} + response = session.post(url, headers=headers) + return response + + +@api_response_decorator +def delete_codespace(access_token, codespace_id): + url = f'{API_ROOT}/environments/{codespace_id}' + headers = {'Authorization': f'Bearer {access_token}'} + response = session.delete(url, headers=headers) + return response + + +@api_response_decorator +def create_codespace(access_token, data): + url = f'{API_ROOT}/environments' + headers = {'Authorization': f'Bearer {access_token}'} + response = session.post(url, headers=headers, json=data) + return response diff --git a/src/codespaces/azext_codespaces/_params.py b/src/codespaces/azext_codespaces/_params.py new file mode 100644 index 00000000000..852fe1ac2a4 --- /dev/null +++ b/src/codespaces/azext_codespaces/_params.py @@ -0,0 +1,41 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- +# pylint: disable=line-too-long +from azure.cli.core.commands.parameters import ( + get_location_type +) +from ._validators import validate_codespace_name_or_id, validate_plan_name_or_id + + +def load_arguments(self, _): + from azure.cli.core.commands.parameters import tags_type, get_enum_type + from azure.cli.core.commands.validators import get_default_location_from_resource_group + + with self.argument_context('codespace') as c: + c.argument('tags', tags_type) + c.argument('location', get_location_type(self.cli_ctx), validator=get_default_location_from_resource_group) + c.argument('plan_name', options_list=['--plan', '-p'], help="Name or ID of the Codespace plan", validator=validate_plan_name_or_id) + c.argument('codespace_name', options_list=['--name', '-n'], help='Name of the Codespace.') + c.argument('codespace_id', options_list=['--id'], help='Id of the Codespace.', validator=validate_codespace_name_or_id) + + with self.argument_context('codespace plan') as c: + c.argument('plan_name', options_list=['--name', '-n'], help="Name of the Codespace plan", id_part='name') + + with self.argument_context('codespace create') as c: + c.argument('friendly_name', options_list=['--name', '-n'], help='Name of the Codespace.') + c.argument('sku_name', options_list=['--instance-type']) + c.argument('autoshutdown_delay', options_list=['--suspend-after'], arg_type=get_enum_type(['5', '30', '120']), help="Automatically suspend the inactive Codespace after this many minutes.") + c.argument('git_repo', arg_group="Git", help="Url of the git repository we'll clone into the Codespace") + c.argument('git_user_name', arg_group="Git", help="Git username. For example, the output of `git config user.name`") + c.argument('git_user_email', arg_group="Git", help="Git user email. For example, the output of `git config user.email`") + c.argument('dotfiles_repo', arg_group="Dotfiles", help="Url of dotfiles git repository. More info: https://aka.ms/vso-docs/reference/personalizing") + c.argument('dotfiles_path', arg_group="Dotfiles", help="Path where you expect your dotfiles repository to be cloned into the Codespace.") + c.argument('dotfiles_command', arg_group="Dotfiles", help="The command we'll run after cloning your dotfiles repository.") + + with self.argument_context('codespace open') as c: + c.argument('do_not_prompt', options_list=['--yes', '-y'], action='store_true', help='Do not prompt for confirmation.') + + with self.argument_context('codespace location show') as c: + c.argument('location_name', options_list=['--name', '-n'], help='Name of the region.') diff --git a/src/codespaces/azext_codespaces/_transformers.py b/src/codespaces/azext_codespaces/_transformers.py new file mode 100644 index 00000000000..393cd105338 --- /dev/null +++ b/src/codespaces/azext_codespaces/_transformers.py @@ -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. +# -------------------------------------------------------------------------------------------- + + +def transform_codespace_list_output(result): + new_result = [transform_codespace_item_output(item) for item in result] + return new_result + + +def transform_codespace_item_output(item): + from collections import OrderedDict + new_result = OrderedDict([('codespaceId', item['id']), + ('name', item['friendlyName']), + ('location', item['location']), + ('skuName', item['skuName']), + ('state', item['state']), + ('created', item['created']), + ('updated', item['updated']), + ('lastUsed', item['lastUsed']), + ('autoShutdownDelayMinutes', item['autoShutdownDelayMinutes'])]) + return new_result + + +def transform_location_list_output(result): + from collections import OrderedDict + new_result = [] + for item in result["available"]: + new_entry = OrderedDict([('name', item)]) + new_result.append(new_entry) + return new_result + + +def transform_location_detail_output(result): + from collections import OrderedDict + new_result = [] + defaultAutoSuspendDelayMinutes = ", ".join(str(n) for n in result["defaultAutoSuspendDelayMinutes"]) + for item in result["skus"]: + new_entry = OrderedDict([('name', item['name']), + ('displayName', item['displayName']), + ('os', item['os']), + ('defaultAutoSuspendDelayMinutes', defaultAutoSuspendDelayMinutes)]) + new_result.append(new_entry) + return new_result diff --git a/src/codespaces/azext_codespaces/_validators.py b/src/codespaces/azext_codespaces/_validators.py new file mode 100644 index 00000000000..067f0f76caf --- /dev/null +++ b/src/codespaces/azext_codespaces/_validators.py @@ -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. +# -------------------------------------------------------------------------------------------- +from knack.util import CLIError + + +def validate_codespace_name_or_id(namespace): + if bool(namespace.codespace_name) == bool(namespace.codespace_id): + raise CLIError("usage error: --name | --id") + return False + + +def validate_plan_name_or_id(cmd, namespace): + from msrestazure.tools import is_valid_resource_id, parse_resource_id + if namespace.plan_name and is_valid_resource_id(namespace.plan_name): + if bool(namespace.resource_group_name): + raise CLIError("usage error: --plan NAME --resource-group NAME | --plan ID") + resource_id_parts = parse_resource_id(namespace.plan_name) + namespace.resource_group_name = resource_id_parts['resource_group'] + namespace.plan_name = resource_id_parts['resource_name'] + cmd.cli_ctx.data['subscription_id'] = resource_id_parts['subscription'] diff --git a/src/codespaces/azext_codespaces/azext_metadata.json b/src/codespaces/azext_codespaces/azext_metadata.json new file mode 100644 index 00000000000..8cfc6da9485 --- /dev/null +++ b/src/codespaces/azext_codespaces/azext_metadata.json @@ -0,0 +1,4 @@ +{ + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.3.1" +} \ No newline at end of file diff --git a/src/codespaces/azext_codespaces/commands.py b/src/codespaces/azext_codespaces/commands.py new file mode 100644 index 00000000000..4c97f8c642d --- /dev/null +++ b/src/codespaces/azext_codespaces/commands.py @@ -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: disable=line-too-long +from azure.cli.core.commands import CliCommandType +from ._client_factory import cf_codespaces, cf_codespaces_plan +from ._transformers import ( + transform_codespace_list_output, + transform_codespace_item_output, + transform_location_list_output, + transform_location_detail_output) + + +def load_command_table(self, _): + + plan_operations = CliCommandType( + operations_tmpl='azext_codespaces.vendored_sdks.vsonline.operations.plan_operations#PlanOperations.{}', + client_factory=cf_codespaces) + + with self.command_group('codespace plan', plan_operations, client_factory=cf_codespaces_plan) as g: + g.custom_command('list', 'list_plans') + g.custom_command('create', 'create_plan') + g.show_command('show', 'get') + g.command('delete', 'delete') + + with self.command_group('codespace', plan_operations, client_factory=cf_codespaces_plan) as g: + g.custom_command('list', 'list_codespaces', table_transformer=transform_codespace_list_output) + g.custom_show_command('show', 'get_codespace', table_transformer=transform_codespace_item_output) + g.custom_command('create', 'create_codespace', table_transformer=transform_codespace_item_output) + g.custom_command('open', 'open_codespace') + g.custom_command('delete', 'delete_codespace', confirmation="Are you sure you want to delete this Codespace?") + g.custom_command('resume', 'resume_codespace', table_transformer=transform_codespace_item_output) + g.custom_command('suspend', 'suspend_codespace', table_transformer=transform_codespace_item_output) + + with self.command_group('codespace location', plan_operations, client_factory=cf_codespaces_plan) as g: + g.custom_command('list', 'list_available_locations', table_transformer=transform_location_list_output) + g.custom_show_command('show', 'get_location_details', table_transformer=transform_location_detail_output) + + # Mark all commands as in preview + with self.command_group('codespace', is_preview=True): + pass diff --git a/src/codespaces/azext_codespaces/custom.py b/src/codespaces/azext_codespaces/custom.py new file mode 100644 index 00000000000..0173c8713ab --- /dev/null +++ b/src/codespaces/azext_codespaces/custom.py @@ -0,0 +1,159 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- +import webbrowser +from knack.util import CLIError +from knack.log import get_logger +from knack.prompting import prompt_y_n +from azext_codespaces import _non_arm_apis as cf_api +from .vendored_sdks.vsonline.models import VSOnlinePlan, VSOnlinePlanProperties + +logger = get_logger(__name__) + +CODESPACE_IN_BROWSER_PREFIX = "https://online.visualstudio.com/environment" + + +def _determine_codespace_id(client, resource_group_name, plan_name, token, codespace_name): + plan = client.get(resource_group_name=resource_group_name, plan_name=plan_name) + codespaces = cf_api.list_codespaces(token.access_token, plan.id) + codespace_id = next((c['id'] for c in codespaces if c['friendlyName'] == codespace_name), None) + if codespace_id: + return codespace_id + raise CLIError(f"Unable to find codespace '{codespace_name}' in plan {plan.id}") + + +# pylint: disable=unused-argument +def list_plans(cmd, client, resource_group_name=None): + if resource_group_name is not None: + return client.list_by_resource_group(resource_group_name=resource_group_name) + return client.list_by_subscription() + + +def create_plan(cmd, client, resource_group_name, plan_name, location=None, tags=None): + import jwt # pylint: disable=import-error + from azure.cli.core._profile import Profile + profile = Profile(cli_ctx=cmd.cli_ctx) + creds, _, __ = profile.get_raw_token() + tokenType = creds[0] + accessToken = creds[1] + if tokenType != "Bearer": + logger.debug("Got unexpected token type: %s", tokenType) + raise CLIError("Unable to create plan. Use --debug for details.") + decoded_token = jwt.decode(accessToken, verify=False, algorithms=['RS256']) + tid = decoded_token.get('tid') + oid = decoded_token.get('oid') + if not tid or not oid: + logger.debug("Unable to determine 'tid' and 'oid' from token claims: %s", decoded_token) + raise CLIError("Unable to create plan. Use --debug for details.") + user_id = f"{tid}_{oid}" + plan_props = VSOnlinePlanProperties(user_id=user_id) + vsonline_plan = VSOnlinePlan(location=location, properties=plan_props, tags=tags) + return client.create(resource_group_name, plan_name, vsonline_plan) + + +def list_available_locations(): + return cf_api.list_locations() + + +def get_location_details(location_name): + return cf_api.get_location_details(location_name) + + +# pylint: disable=unused-argument +def list_codespaces(cmd, client, plan_name, resource_group_name=None): + plan = client.get(resource_group_name=resource_group_name, plan_name=plan_name) + token = client.read_all_environments_action(resource_group_name=resource_group_name, plan_name=plan_name) + return cf_api.list_codespaces(token.access_token, plan.id) + + +# pylint: disable=unused-argument +def create_codespace(cmd, + client, + plan_name, + friendly_name, + resource_group_name=None, + sku_name='standardLinux', + autoshutdown_delay=30, + git_repo=None, + git_user_name=None, + git_user_email=None, + dotfiles_repo=None, + dotfiles_path=None, + dotfiles_command=None): + plan = client.get(resource_group_name=resource_group_name, plan_name=plan_name) + token = client.write_environments_action(resource_group_name=resource_group_name, plan_name=plan_name) + create_data = {} + create_data['planId'] = plan.id + create_data['friendlyName'] = friendly_name + create_data['autoShutdownDelayMinutes'] = autoshutdown_delay + create_data['type'] = "cloudEnvironment" + create_data['experimentalFeatures'] = {'customContainers': True} + create_data["skuName"] = sku_name + if git_repo: + if not git_user_name or not git_user_email: + raise CLIError("usage error: must specify --git-user-name --git-user-email") + create_data["seed"] = { + "type": "git", + "moniker": git_repo, + "gitConfig": {"userName": git_user_name, "userEmail": git_user_email} + } + if dotfiles_repo: + create_data["personalization"] = {"dotfilesRepository": dotfiles_repo} + if dotfiles_path: + create_data["personalization"]["dotfilesTargetPath"] = dotfiles_path + if dotfiles_command: + create_data["personalization"]["dotfilesInstallCommand"] = dotfiles_command + return cf_api.create_codespace(token.access_token, create_data) + + +# pylint: disable=unused-argument +def get_codespace(cmd, client, plan_name, resource_group_name=None, codespace_id=None, codespace_name=None): + token = client.read_all_environments_action(resource_group_name=resource_group_name, plan_name=plan_name) + if codespace_name: + codespace_id = _determine_codespace_id(client, resource_group_name, plan_name, token, codespace_name) + return cf_api.get_codespace(token.access_token, codespace_id) + + +# pylint: disable=unused-argument +def delete_codespace(cmd, client, plan_name, resource_group_name=None, codespace_id=None, codespace_name=None): + token = client.write_environments_action(resource_group_name=resource_group_name, plan_name=plan_name) + if codespace_name: + codespace_id = _determine_codespace_id(client, resource_group_name, plan_name, token, codespace_name) + cf_api.delete_codespace(token.access_token, codespace_id) + + +# pylint: disable=unused-argument +def resume_codespace(cmd, client, plan_name, resource_group_name=None, codespace_id=None, codespace_name=None): + token = client.write_environments_action(resource_group_name=resource_group_name, plan_name=plan_name) + if codespace_name: + codespace_id = _determine_codespace_id(client, resource_group_name, plan_name, token, codespace_name) + return cf_api.start_codespace(token.access_token, codespace_id) + + +# pylint: disable=unused-argument +def suspend_codespace(cmd, client, plan_name, resource_group_name=None, codespace_id=None, codespace_name=None): + token = client.write_environments_action(resource_group_name=resource_group_name, plan_name=plan_name) + if codespace_name: + codespace_id = _determine_codespace_id(client, resource_group_name, plan_name, token, codespace_name) + return cf_api.shutdown_codespace(token.access_token, codespace_id) + + +# pylint: disable=unused-argument +def open_codespace(cmd, client, plan_name, resource_group_name=None, codespace_id=None, + codespace_name=None, do_not_prompt=None): + token = client.read_all_environments_action(resource_group_name=resource_group_name, plan_name=plan_name) + if codespace_name: + codespace_id = _determine_codespace_id(client, resource_group_name, plan_name, token, codespace_name) + codespace = cf_api.get_codespace(token.access_token, codespace_id) + if not do_not_prompt and codespace['state'] != 'Available': + msg = f"Current state of the codespace is '{codespace['state']}'." \ + " Continuing will cause the environment to be resumed. Do you want to continue?" + user_confirmed = prompt_y_n(msg) + if not user_confirmed: + raise CLIError("Operation cancelled.") + url = f"{CODESPACE_IN_BROWSER_PREFIX}/{codespace['id']}" + logger.warning("Opening: %s", url) + success = webbrowser.open_new_tab(url) + if not success: + raise CLIError("Unable to open browser") diff --git a/src/codespaces/azext_codespaces/tests/__init__.py b/src/codespaces/azext_codespaces/tests/__init__.py new file mode 100644 index 00000000000..99c0f28cd71 --- /dev/null +++ b/src/codespaces/azext_codespaces/tests/__init__.py @@ -0,0 +1,5 @@ +# ----------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# ----------------------------------------------------------------------------- diff --git a/src/codespaces/azext_codespaces/tests/latest/__init__.py b/src/codespaces/azext_codespaces/tests/latest/__init__.py new file mode 100644 index 00000000000..99c0f28cd71 --- /dev/null +++ b/src/codespaces/azext_codespaces/tests/latest/__init__.py @@ -0,0 +1,5 @@ +# ----------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# ----------------------------------------------------------------------------- diff --git a/src/codespaces/azext_codespaces/tests/latest/recordings/test_codespaces.yaml b/src/codespaces/azext_codespaces/tests/latest/recordings/test_codespaces.yaml new file mode 100644 index 00000000000..3cc683124fa --- /dev/null +++ b/src/codespaces/azext_codespaces/tests/latest/recordings/test_codespaces.yaml @@ -0,0 +1,47 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - codespace plan list + Connection: + - keep-alive + ParameterSetName: + - -g + User-Agent: + - python/3.7.4 (Darwin-19.5.0-x86_64-i386-64bit) msrest/0.6.13 msrest_azure/0.6.3 + vsonline/07/01/2019 00:00:00 Azure-SDK-For-Python AZURECLI/2.5.1 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_codespaces000001/providers/Microsoft.VSOnline/plans/?api-version=2019-07-01-preview + response: + body: + string: '{"value":[]}' + headers: + cache-control: + - no-cache + content-length: + - '12' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 01 Jun 2020 22:30:00 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +version: 1 diff --git a/src/codespaces/azext_codespaces/tests/latest/test_codespaces_scenario.py b/src/codespaces/azext_codespaces/tests/latest/test_codespaces_scenario.py new file mode 100644 index 00000000000..bb13da50d3f --- /dev/null +++ b/src/codespaces/azext_codespaces/tests/latest/test_codespaces_scenario.py @@ -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. +# -------------------------------------------------------------------------------------------- + +import os +import unittest + +from azure_devtools.scenario_tests import AllowLargeResponse +from azure.cli.testsdk import (ScenarioTest, ResourceGroupPreparer) + + +TEST_DIR = os.path.abspath(os.path.join(os.path.abspath(__file__), '..')) + + +class CodespacesScenarioTest(ScenarioTest): + + @ResourceGroupPreparer(name_prefix='cli_test_codespaces') + def test_codespaces(self, resource_group): + + self.kwargs.update({ + 'name': 'test1' + }) + + # TODO: Add full scenario tests when we have support for 'codespace plan create' without needing userId. + count = len(self.cmd('codespace plan list -g {rg}').get_output_in_json()) + self.assertEqual(count, 0) diff --git a/src/codespaces/azext_codespaces/vendored_sdks/__init__.py b/src/codespaces/azext_codespaces/vendored_sdks/__init__.py new file mode 100644 index 00000000000..7183870ee56 --- /dev/null +++ b/src/codespaces/azext_codespaces/vendored_sdks/__init__.py @@ -0,0 +1,6 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +__path__ = __import__('pkgutil').extend_path(__path__, __name__) \ No newline at end of file diff --git a/src/codespaces/azext_codespaces/vendored_sdks/vsonline/__init__.py b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/__init__.py new file mode 100644 index 00000000000..130dfb857e5 --- /dev/null +++ b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/__init__.py @@ -0,0 +1,18 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .vs_online_client import VSOnlineClient +from .version import VERSION + +__all__ = ['VSOnlineClient'] + +__version__ = VERSION + diff --git a/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/__init__.py b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/__init__.py new file mode 100644 index 00000000000..5607de92d15 --- /dev/null +++ b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/__init__.py @@ -0,0 +1,80 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +try: + from .sku_py3 import Sku + from .vso_account_update_parameters_py3 import VSOAccountUpdateParameters + from .error_definition_py3 import ErrorDefinition + from .vso_account_error_response_py3 import VSOAccountErrorResponse, VSOAccountErrorResponseException + from .resource_py3 import Resource + from .vs_online_account_properties_py3 import VSOnlineAccountProperties + from .vs_online_account_py3 import VSOnlineAccount + from .vs_online_account_info_py3 import VSOnlineAccountInfo + from .resource_provider_operation_display_py3 import ResourceProviderOperationDisplay + from .resource_provider_operation_definition_py3 import ResourceProviderOperationDefinition + from .vso_plan_update_parameters_py3 import VSOPlanUpdateParameters + from .vso_plan_error_response_py3 import VSOPlanErrorResponse, VSOPlanErrorResponseException + from .vs_online_plan_properties_py3 import VSOnlinePlanProperties + from .vs_online_plan_py3 import VSOnlinePlan + from .vs_online_plan_info_py3 import VSOnlinePlanInfo + from .vs_online_plan_access_token_py3 import VSOnlinePlanAccessToken + from .vs_online_delegate_identity_py3 import VSOnlineDelegateIdentity + from .vs_online_delegate_access_token_request_body_py3 import VSOnlineDelegateAccessTokenRequestBody +except (SyntaxError, ImportError): + from .sku import Sku + from .vso_account_update_parameters import VSOAccountUpdateParameters + from .error_definition import ErrorDefinition + from .vso_account_error_response import VSOAccountErrorResponse, VSOAccountErrorResponseException + from .resource import Resource + from .vs_online_account_properties import VSOnlineAccountProperties + from .vs_online_account import VSOnlineAccount + from .vs_online_account_info import VSOnlineAccountInfo + from .resource_provider_operation_display import ResourceProviderOperationDisplay + from .resource_provider_operation_definition import ResourceProviderOperationDefinition + from .vso_plan_update_parameters import VSOPlanUpdateParameters + from .vso_plan_error_response import VSOPlanErrorResponse, VSOPlanErrorResponseException + from .vs_online_plan_properties import VSOnlinePlanProperties + from .vs_online_plan import VSOnlinePlan + from .vs_online_plan_info import VSOnlinePlanInfo + from .vs_online_plan_access_token import VSOnlinePlanAccessToken + from .vs_online_delegate_identity import VSOnlineDelegateIdentity + from .vs_online_delegate_access_token_request_body import VSOnlineDelegateAccessTokenRequestBody +from .resource_provider_operation_definition_paged import ResourceProviderOperationDefinitionPaged +from .vs_online_account_paged import VSOnlineAccountPaged +from .vs_online_plan_paged import VSOnlinePlanPaged +from .vs_online_client_enums import ( + SkuTier, +) + +__all__ = [ + 'Sku', + 'VSOAccountUpdateParameters', + 'ErrorDefinition', + 'VSOAccountErrorResponse', 'VSOAccountErrorResponseException', + 'Resource', + 'VSOnlineAccountProperties', + 'VSOnlineAccount', + 'VSOnlineAccountInfo', + 'ResourceProviderOperationDisplay', + 'ResourceProviderOperationDefinition', + 'VSOPlanUpdateParameters', + 'VSOPlanErrorResponse', 'VSOPlanErrorResponseException', + 'VSOnlinePlanProperties', + 'VSOnlinePlan', + 'VSOnlinePlanInfo', + 'VSOnlinePlanAccessToken', + 'VSOnlineDelegateIdentity', + 'VSOnlineDelegateAccessTokenRequestBody', + 'ResourceProviderOperationDefinitionPaged', + 'VSOnlineAccountPaged', + 'VSOnlinePlanPaged', + 'SkuTier', +] diff --git a/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/error_definition.py b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/error_definition.py new file mode 100644 index 00000000000..618a35beeb7 --- /dev/null +++ b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/error_definition.py @@ -0,0 +1,46 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ErrorDefinition(Model): + """Error definition. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar code: Service specific error code which serves as the substatus for + the HTTP error code. + :vartype code: str + :ivar message: Description of the error. + :vartype message: str + :ivar details: Internal error details. + :vartype details: list[~microsoft.vsonline.models.ErrorDefinition] + """ + + _validation = { + 'code': {'readonly': True}, + 'message': {'readonly': True}, + 'details': {'readonly': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[ErrorDefinition]'}, + } + + def __init__(self, **kwargs): + super(ErrorDefinition, self).__init__(**kwargs) + self.code = None + self.message = None + self.details = None diff --git a/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/error_definition_py3.py b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/error_definition_py3.py new file mode 100644 index 00000000000..e5e07dff856 --- /dev/null +++ b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/error_definition_py3.py @@ -0,0 +1,46 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ErrorDefinition(Model): + """Error definition. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar code: Service specific error code which serves as the substatus for + the HTTP error code. + :vartype code: str + :ivar message: Description of the error. + :vartype message: str + :ivar details: Internal error details. + :vartype details: list[~microsoft.vsonline.models.ErrorDefinition] + """ + + _validation = { + 'code': {'readonly': True}, + 'message': {'readonly': True}, + 'details': {'readonly': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[ErrorDefinition]'}, + } + + def __init__(self, **kwargs) -> None: + super(ErrorDefinition, self).__init__(**kwargs) + self.code = None + self.message = None + self.details = None diff --git a/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/resource.py b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/resource.py new file mode 100644 index 00000000000..f7fb7e941bb --- /dev/null +++ b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/resource.py @@ -0,0 +1,53 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class Resource(Model): + """An Azure resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. + :vartype type: str + :param tags: Tags for the VS Online Account + :type tags: dict[str, str] + :param location: Region where the Azure resource is located. + :type location: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'location': {'key': 'location', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Resource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.tags = kwargs.get('tags', None) + self.location = kwargs.get('location', None) diff --git a/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/resource_provider_operation_definition.py b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/resource_provider_operation_definition.py new file mode 100644 index 00000000000..79146cfb5ca --- /dev/null +++ b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/resource_provider_operation_definition.py @@ -0,0 +1,32 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ResourceProviderOperationDefinition(Model): + """Describes the Resource Provider Operation. + + :param name: Resource provider operation name. + :type name: str + :param display: Resource provider display properties. + :type display: ~microsoft.vsonline.models.ResourceProviderOperationDisplay + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'ResourceProviderOperationDisplay'}, + } + + def __init__(self, **kwargs): + super(ResourceProviderOperationDefinition, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.display = kwargs.get('display', None) diff --git a/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/resource_provider_operation_definition_paged.py b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/resource_provider_operation_definition_paged.py new file mode 100644 index 00000000000..9ab23040ab8 --- /dev/null +++ b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/resource_provider_operation_definition_paged.py @@ -0,0 +1,27 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.paging import Paged + + +class ResourceProviderOperationDefinitionPaged(Paged): + """ + A paging container for iterating over a list of :class:`ResourceProviderOperationDefinition ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ResourceProviderOperationDefinition]'} + } + + def __init__(self, *args, **kwargs): + + super(ResourceProviderOperationDefinitionPaged, self).__init__(*args, **kwargs) diff --git a/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/resource_provider_operation_definition_py3.py b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/resource_provider_operation_definition_py3.py new file mode 100644 index 00000000000..e4d0f398f71 --- /dev/null +++ b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/resource_provider_operation_definition_py3.py @@ -0,0 +1,32 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ResourceProviderOperationDefinition(Model): + """Describes the Resource Provider Operation. + + :param name: Resource provider operation name. + :type name: str + :param display: Resource provider display properties. + :type display: ~microsoft.vsonline.models.ResourceProviderOperationDisplay + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'ResourceProviderOperationDisplay'}, + } + + def __init__(self, *, name: str=None, display=None, **kwargs) -> None: + super(ResourceProviderOperationDefinition, self).__init__(**kwargs) + self.name = name + self.display = display diff --git a/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/resource_provider_operation_display.py b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/resource_provider_operation_display.py new file mode 100644 index 00000000000..ce952816e2f --- /dev/null +++ b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/resource_provider_operation_display.py @@ -0,0 +1,40 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ResourceProviderOperationDisplay(Model): + """Describes the properties of the Operation. + + :param provider: Name of the resource provider. + :type provider: str + :param resource: Name of the resource type. + :type resource: str + :param operation: Name of the resource provider operation. + :type operation: str + :param description: Description of the resource provider operation. + :type description: str + """ + + _attribute_map = { + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ResourceProviderOperationDisplay, self).__init__(**kwargs) + self.provider = kwargs.get('provider', None) + self.resource = kwargs.get('resource', None) + self.operation = kwargs.get('operation', None) + self.description = kwargs.get('description', None) diff --git a/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/resource_provider_operation_display_py3.py b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/resource_provider_operation_display_py3.py new file mode 100644 index 00000000000..2a381c08d54 --- /dev/null +++ b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/resource_provider_operation_display_py3.py @@ -0,0 +1,40 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ResourceProviderOperationDisplay(Model): + """Describes the properties of the Operation. + + :param provider: Name of the resource provider. + :type provider: str + :param resource: Name of the resource type. + :type resource: str + :param operation: Name of the resource provider operation. + :type operation: str + :param description: Description of the resource provider operation. + :type description: str + """ + + _attribute_map = { + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__(self, *, provider: str=None, resource: str=None, operation: str=None, description: str=None, **kwargs) -> None: + super(ResourceProviderOperationDisplay, self).__init__(**kwargs) + self.provider = provider + self.resource = resource + self.operation = operation + self.description = description diff --git a/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/resource_py3.py b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/resource_py3.py new file mode 100644 index 00000000000..53d55ccd496 --- /dev/null +++ b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/resource_py3.py @@ -0,0 +1,53 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class Resource(Model): + """An Azure resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. + :vartype type: str + :param tags: Tags for the VS Online Account + :type tags: dict[str, str] + :param location: Region where the Azure resource is located. + :type location: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'location': {'key': 'location', 'type': 'str'}, + } + + def __init__(self, *, tags=None, location: str=None, **kwargs) -> None: + super(Resource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.tags = tags + self.location = location diff --git a/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/sku.py b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/sku.py new file mode 100644 index 00000000000..ab45275fc23 --- /dev/null +++ b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/sku.py @@ -0,0 +1,44 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class Sku(Model): + """Model representing SKU for VS Online Account. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar name: Required. The name of the SKU for VS Online Account. Default + value: "Free" . + :vartype name: str + :param tier: The tier of the SKU for VS Online Account. Possible values + include: 'Standard' + :type tier: str or ~microsoft.vsonline.models.SkuTier + """ + + _validation = { + 'name': {'required': True, 'constant': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + } + + name = "Free" + + def __init__(self, **kwargs): + super(Sku, self).__init__(**kwargs) + self.tier = kwargs.get('tier', None) diff --git a/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/sku_py3.py b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/sku_py3.py new file mode 100644 index 00000000000..a1c52897f9d --- /dev/null +++ b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/sku_py3.py @@ -0,0 +1,44 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class Sku(Model): + """Model representing SKU for VS Online Account. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar name: Required. The name of the SKU for VS Online Account. Default + value: "Free" . + :vartype name: str + :param tier: The tier of the SKU for VS Online Account. Possible values + include: 'Standard' + :type tier: str or ~microsoft.vsonline.models.SkuTier + """ + + _validation = { + 'name': {'required': True, 'constant': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + } + + name = "Free" + + def __init__(self, *, tier=None, **kwargs) -> None: + super(Sku, self).__init__(**kwargs) + self.tier = tier diff --git a/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/vs_online_account.py b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/vs_online_account.py new file mode 100644 index 00000000000..2a4fd9310c3 --- /dev/null +++ b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/vs_online_account.py @@ -0,0 +1,66 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class VSOnlineAccount(Model): + """VS Online Account. Represents the high level account needed to provision VS + Online resources. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Fully qualified resource Id for the resource. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. + :vartype type: str + :param tags: Tags for the VS Online Account + :type tags: dict[str, str] + :param location: Required. Region where the Azure resource is located. + :type location: str + :param sku: SKU of the service. + :type sku: ~microsoft.vsonline.models.Sku + :param properties: VS Online Additional properties. Additional VS Online + Account properties. + :type properties: ~microsoft.vsonline.models.VSOnlineAccountProperties + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'location': {'key': 'location', 'type': 'str'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + 'properties': {'key': 'properties', 'type': 'VSOnlineAccountProperties'}, + } + + def __init__(self, **kwargs): + super(VSOnlineAccount, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.tags = kwargs.get('tags', None) + self.location = kwargs.get('location', None) + self.sku = kwargs.get('sku', None) + self.properties = kwargs.get('properties', None) diff --git a/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/vs_online_account_info.py b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/vs_online_account_info.py new file mode 100644 index 00000000000..e4edb2b2737 --- /dev/null +++ b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/vs_online_account_info.py @@ -0,0 +1,28 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class VSOnlineAccountInfo(Model): + """VS Online Account properties. Holds properties that describe the account. + + :param sku: SKU of the service. + :type sku: ~microsoft.vsonline.models.Sku + """ + + _attribute_map = { + 'sku': {'key': 'sku', 'type': 'Sku'}, + } + + def __init__(self, **kwargs): + super(VSOnlineAccountInfo, self).__init__(**kwargs) + self.sku = kwargs.get('sku', None) diff --git a/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/vs_online_account_info_py3.py b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/vs_online_account_info_py3.py new file mode 100644 index 00000000000..af39f98c4c8 --- /dev/null +++ b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/vs_online_account_info_py3.py @@ -0,0 +1,28 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class VSOnlineAccountInfo(Model): + """VS Online Account properties. Holds properties that describe the account. + + :param sku: SKU of the service. + :type sku: ~microsoft.vsonline.models.Sku + """ + + _attribute_map = { + 'sku': {'key': 'sku', 'type': 'Sku'}, + } + + def __init__(self, *, sku=None, **kwargs) -> None: + super(VSOnlineAccountInfo, self).__init__(**kwargs) + self.sku = sku diff --git a/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/vs_online_account_paged.py b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/vs_online_account_paged.py new file mode 100644 index 00000000000..fc61dd25b80 --- /dev/null +++ b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/vs_online_account_paged.py @@ -0,0 +1,27 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.paging import Paged + + +class VSOnlineAccountPaged(Paged): + """ + A paging container for iterating over a list of :class:`VSOnlineAccount ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[VSOnlineAccount]'} + } + + def __init__(self, *args, **kwargs): + + super(VSOnlineAccountPaged, self).__init__(*args, **kwargs) diff --git a/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/vs_online_account_properties.py b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/vs_online_account_properties.py new file mode 100644 index 00000000000..4c80686c1fe --- /dev/null +++ b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/vs_online_account_properties.py @@ -0,0 +1,41 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class VSOnlineAccountProperties(Model): + """VS Online Additional properties. + + Additional VS Online Account properties. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param user_id: unique user assigned id. + :type user_id: str + :ivar service_uri: Service endpoint. + :vartype service_uri: str + """ + + _validation = { + 'service_uri': {'readonly': True}, + } + + _attribute_map = { + 'user_id': {'key': 'userId', 'type': 'str'}, + 'service_uri': {'key': 'serviceUri', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VSOnlineAccountProperties, self).__init__(**kwargs) + self.user_id = kwargs.get('user_id', None) + self.service_uri = None diff --git a/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/vs_online_account_properties_py3.py b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/vs_online_account_properties_py3.py new file mode 100644 index 00000000000..7c0a6725fdf --- /dev/null +++ b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/vs_online_account_properties_py3.py @@ -0,0 +1,41 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class VSOnlineAccountProperties(Model): + """VS Online Additional properties. + + Additional VS Online Account properties. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param user_id: unique user assigned id. + :type user_id: str + :ivar service_uri: Service endpoint. + :vartype service_uri: str + """ + + _validation = { + 'service_uri': {'readonly': True}, + } + + _attribute_map = { + 'user_id': {'key': 'userId', 'type': 'str'}, + 'service_uri': {'key': 'serviceUri', 'type': 'str'}, + } + + def __init__(self, *, user_id: str=None, **kwargs) -> None: + super(VSOnlineAccountProperties, self).__init__(**kwargs) + self.user_id = user_id + self.service_uri = None diff --git a/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/vs_online_account_py3.py b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/vs_online_account_py3.py new file mode 100644 index 00000000000..e7798daa58c --- /dev/null +++ b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/vs_online_account_py3.py @@ -0,0 +1,66 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class VSOnlineAccount(Model): + """VS Online Account. Represents the high level account needed to provision VS + Online resources. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Fully qualified resource Id for the resource. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. + :vartype type: str + :param tags: Tags for the VS Online Account + :type tags: dict[str, str] + :param location: Required. Region where the Azure resource is located. + :type location: str + :param sku: SKU of the service. + :type sku: ~microsoft.vsonline.models.Sku + :param properties: VS Online Additional properties. Additional VS Online + Account properties. + :type properties: ~microsoft.vsonline.models.VSOnlineAccountProperties + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'location': {'key': 'location', 'type': 'str'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + 'properties': {'key': 'properties', 'type': 'VSOnlineAccountProperties'}, + } + + def __init__(self, *, location: str, tags=None, sku=None, properties=None, **kwargs) -> None: + super(VSOnlineAccount, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.tags = tags + self.location = location + self.sku = sku + self.properties = properties diff --git a/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/vs_online_client_enums.py b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/vs_online_client_enums.py new file mode 100644 index 00000000000..22491305e3c --- /dev/null +++ b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/vs_online_client_enums.py @@ -0,0 +1,17 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from enum import Enum + + +class SkuTier(str, Enum): + + standard = "Standard" diff --git a/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/vs_online_delegate_access_token_request_body.py b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/vs_online_delegate_access_token_request_body.py new file mode 100644 index 00000000000..4939c8f0bd5 --- /dev/null +++ b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/vs_online_delegate_access_token_request_body.py @@ -0,0 +1,53 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class VSOnlineDelegateAccessTokenRequestBody(Model): + """Object that includes a VS Online Plans delegate access token request + parameters. + + All required parameters must be populated in order to send to Azure. + + :param scope: Required. The requested scopes for the VS Online Plan access + token. + :type scope: str + :param expiration: The requested expiration UNIX timestamp (seconds since + epoch) for the VS Online Plan access token. + :type expiration: int + :param identity: Required. The identity of the user of the VS Online Plan + access token. + :type identity: ~microsoft.vsonline.models.VSOnlineDelegateIdentity + :param environment_ids: A subset of environments within the VS Online Plan + which the returned token will grant access to. If not provided the token + will be applicable for all environments. + :type environment_ids: list[str] + """ + + _validation = { + 'scope': {'required': True}, + 'identity': {'required': True}, + } + + _attribute_map = { + 'scope': {'key': 'scope', 'type': 'str'}, + 'expiration': {'key': 'expiration', 'type': 'int'}, + 'identity': {'key': 'identity', 'type': 'VSOnlineDelegateIdentity'}, + 'environment_ids': {'key': 'environmentIds', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(VSOnlineDelegateAccessTokenRequestBody, self).__init__(**kwargs) + self.scope = kwargs.get('scope', None) + self.expiration = kwargs.get('expiration', None) + self.identity = kwargs.get('identity', None) + self.environment_ids = kwargs.get('environment_ids', None) diff --git a/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/vs_online_delegate_access_token_request_body_py3.py b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/vs_online_delegate_access_token_request_body_py3.py new file mode 100644 index 00000000000..2fe53b34609 --- /dev/null +++ b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/vs_online_delegate_access_token_request_body_py3.py @@ -0,0 +1,53 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class VSOnlineDelegateAccessTokenRequestBody(Model): + """Object that includes a VS Online Plans delegate access token request + parameters. + + All required parameters must be populated in order to send to Azure. + + :param scope: Required. The requested scopes for the VS Online Plan access + token. + :type scope: str + :param expiration: The requested expiration UNIX timestamp (seconds since + epoch) for the VS Online Plan access token. + :type expiration: int + :param identity: Required. The identity of the user of the VS Online Plan + access token. + :type identity: ~microsoft.vsonline.models.VSOnlineDelegateIdentity + :param environment_ids: A subset of environments within the VS Online Plan + which the returned token will grant access to. If not provided the token + will be applicable for all environments. + :type environment_ids: list[str] + """ + + _validation = { + 'scope': {'required': True}, + 'identity': {'required': True}, + } + + _attribute_map = { + 'scope': {'key': 'scope', 'type': 'str'}, + 'expiration': {'key': 'expiration', 'type': 'int'}, + 'identity': {'key': 'identity', 'type': 'VSOnlineDelegateIdentity'}, + 'environment_ids': {'key': 'environmentIds', 'type': '[str]'}, + } + + def __init__(self, *, scope: str, identity, expiration: int=None, environment_ids=None, **kwargs) -> None: + super(VSOnlineDelegateAccessTokenRequestBody, self).__init__(**kwargs) + self.scope = scope + self.expiration = expiration + self.identity = identity + self.environment_ids = environment_ids diff --git a/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/vs_online_delegate_identity.py b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/vs_online_delegate_identity.py new file mode 100644 index 00000000000..9bbed69ede6 --- /dev/null +++ b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/vs_online_delegate_identity.py @@ -0,0 +1,45 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class VSOnlineDelegateIdentity(Model): + """Object that includes the identity of the user of a delegated access token. + + All required parameters must be populated in order to send to Azure. + + :param username: Required. The user's user name. + :type username: str + :param display_name: Required. The user's display name. + :type display_name: str + :param id: Required. The user's unique identifier which should never + change. + :type id: str + """ + + _validation = { + 'username': {'required': True}, + 'display_name': {'required': True}, + 'id': {'required': True}, + } + + _attribute_map = { + 'username': {'key': 'username', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VSOnlineDelegateIdentity, self).__init__(**kwargs) + self.username = kwargs.get('username', None) + self.display_name = kwargs.get('display_name', None) + self.id = kwargs.get('id', None) diff --git a/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/vs_online_delegate_identity_py3.py b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/vs_online_delegate_identity_py3.py new file mode 100644 index 00000000000..2c51e29fb7b --- /dev/null +++ b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/vs_online_delegate_identity_py3.py @@ -0,0 +1,45 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class VSOnlineDelegateIdentity(Model): + """Object that includes the identity of the user of a delegated access token. + + All required parameters must be populated in order to send to Azure. + + :param username: Required. The user's user name. + :type username: str + :param display_name: Required. The user's display name. + :type display_name: str + :param id: Required. The user's unique identifier which should never + change. + :type id: str + """ + + _validation = { + 'username': {'required': True}, + 'display_name': {'required': True}, + 'id': {'required': True}, + } + + _attribute_map = { + 'username': {'key': 'username', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, *, username: str, display_name: str, id: str, **kwargs) -> None: + super(VSOnlineDelegateIdentity, self).__init__(**kwargs) + self.username = username + self.display_name = display_name + self.id = id diff --git a/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/vs_online_plan.py b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/vs_online_plan.py new file mode 100644 index 00000000000..00699e5896b --- /dev/null +++ b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/vs_online_plan.py @@ -0,0 +1,66 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class VSOnlinePlan(Model): + """VS Online Plan. Represents the high level Plan needed to provision VS + Online resources. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Fully qualified resource Id for the resource. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. + :vartype type: str + :param tags: Tags for the VS Online Account + :type tags: dict[str, str] + :param location: Required. Region where the Azure resource is located. + :type location: str + :param sku: SKU of the service. + :type sku: ~microsoft.vsonline.models.Sku + :param properties: VS Online Additional properties. Additional VS Online + Plan properties. + :type properties: ~microsoft.vsonline.models.VSOnlinePlanProperties + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'location': {'key': 'location', 'type': 'str'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + 'properties': {'key': 'properties', 'type': 'VSOnlinePlanProperties'}, + } + + def __init__(self, **kwargs): + super(VSOnlinePlan, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.tags = kwargs.get('tags', None) + self.location = kwargs.get('location', None) + self.sku = kwargs.get('sku', None) + self.properties = kwargs.get('properties', None) diff --git a/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/vs_online_plan_access_token.py b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/vs_online_plan_access_token.py new file mode 100644 index 00000000000..59ba3c19682 --- /dev/null +++ b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/vs_online_plan_access_token.py @@ -0,0 +1,35 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class VSOnlinePlanAccessToken(Model): + """Object that includes a VS Online Plans access token. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar access_token: The VS Online Plan access token. + :vartype access_token: str + """ + + _validation = { + 'access_token': {'readonly': True}, + } + + _attribute_map = { + 'access_token': {'key': 'accessToken', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VSOnlinePlanAccessToken, self).__init__(**kwargs) + self.access_token = None diff --git a/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/vs_online_plan_access_token_py3.py b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/vs_online_plan_access_token_py3.py new file mode 100644 index 00000000000..e0819670318 --- /dev/null +++ b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/vs_online_plan_access_token_py3.py @@ -0,0 +1,35 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class VSOnlinePlanAccessToken(Model): + """Object that includes a VS Online Plans access token. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar access_token: The VS Online Plan access token. + :vartype access_token: str + """ + + _validation = { + 'access_token': {'readonly': True}, + } + + _attribute_map = { + 'access_token': {'key': 'accessToken', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(VSOnlinePlanAccessToken, self).__init__(**kwargs) + self.access_token = None diff --git a/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/vs_online_plan_info.py b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/vs_online_plan_info.py new file mode 100644 index 00000000000..23dc1c4dbe6 --- /dev/null +++ b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/vs_online_plan_info.py @@ -0,0 +1,28 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class VSOnlinePlanInfo(Model): + """VS Online Plan properties. Holds properties that describe the plan. + + :param sku: SKU of the service. + :type sku: ~microsoft.vsonline.models.Sku + """ + + _attribute_map = { + 'sku': {'key': 'sku', 'type': 'Sku'}, + } + + def __init__(self, **kwargs): + super(VSOnlinePlanInfo, self).__init__(**kwargs) + self.sku = kwargs.get('sku', None) diff --git a/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/vs_online_plan_info_py3.py b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/vs_online_plan_info_py3.py new file mode 100644 index 00000000000..7e245a81206 --- /dev/null +++ b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/vs_online_plan_info_py3.py @@ -0,0 +1,28 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class VSOnlinePlanInfo(Model): + """VS Online Plan properties. Holds properties that describe the plan. + + :param sku: SKU of the service. + :type sku: ~microsoft.vsonline.models.Sku + """ + + _attribute_map = { + 'sku': {'key': 'sku', 'type': 'Sku'}, + } + + def __init__(self, *, sku=None, **kwargs) -> None: + super(VSOnlinePlanInfo, self).__init__(**kwargs) + self.sku = sku diff --git a/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/vs_online_plan_paged.py b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/vs_online_plan_paged.py new file mode 100644 index 00000000000..78a1806b0fb --- /dev/null +++ b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/vs_online_plan_paged.py @@ -0,0 +1,27 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.paging import Paged + + +class VSOnlinePlanPaged(Paged): + """ + A paging container for iterating over a list of :class:`VSOnlinePlan ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[VSOnlinePlan]'} + } + + def __init__(self, *args, **kwargs): + + super(VSOnlinePlanPaged, self).__init__(*args, **kwargs) diff --git a/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/vs_online_plan_properties.py b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/vs_online_plan_properties.py new file mode 100644 index 00000000000..e9f2cf01b7e --- /dev/null +++ b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/vs_online_plan_properties.py @@ -0,0 +1,41 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class VSOnlinePlanProperties(Model): + """VS Online Additional properties. + + Additional VS Online Plan properties. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param user_id: unique user assigned id. + :type user_id: str + :ivar service_uri: Service endpoint. + :vartype service_uri: str + """ + + _validation = { + 'service_uri': {'readonly': True}, + } + + _attribute_map = { + 'user_id': {'key': 'userId', 'type': 'str'}, + 'service_uri': {'key': 'serviceUri', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VSOnlinePlanProperties, self).__init__(**kwargs) + self.user_id = kwargs.get('user_id', None) + self.service_uri = None diff --git a/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/vs_online_plan_properties_py3.py b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/vs_online_plan_properties_py3.py new file mode 100644 index 00000000000..cc8e02d6a3f --- /dev/null +++ b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/vs_online_plan_properties_py3.py @@ -0,0 +1,41 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class VSOnlinePlanProperties(Model): + """VS Online Additional properties. + + Additional VS Online Plan properties. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param user_id: unique user assigned id. + :type user_id: str + :ivar service_uri: Service endpoint. + :vartype service_uri: str + """ + + _validation = { + 'service_uri': {'readonly': True}, + } + + _attribute_map = { + 'user_id': {'key': 'userId', 'type': 'str'}, + 'service_uri': {'key': 'serviceUri', 'type': 'str'}, + } + + def __init__(self, *, user_id: str=None, **kwargs) -> None: + super(VSOnlinePlanProperties, self).__init__(**kwargs) + self.user_id = user_id + self.service_uri = None diff --git a/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/vs_online_plan_py3.py b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/vs_online_plan_py3.py new file mode 100644 index 00000000000..8c6c779d73f --- /dev/null +++ b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/vs_online_plan_py3.py @@ -0,0 +1,66 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class VSOnlinePlan(Model): + """VS Online Plan. Represents the high level Plan needed to provision VS + Online resources. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Fully qualified resource Id for the resource. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. + :vartype type: str + :param tags: Tags for the VS Online Account + :type tags: dict[str, str] + :param location: Required. Region where the Azure resource is located. + :type location: str + :param sku: SKU of the service. + :type sku: ~microsoft.vsonline.models.Sku + :param properties: VS Online Additional properties. Additional VS Online + Plan properties. + :type properties: ~microsoft.vsonline.models.VSOnlinePlanProperties + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'location': {'key': 'location', 'type': 'str'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + 'properties': {'key': 'properties', 'type': 'VSOnlinePlanProperties'}, + } + + def __init__(self, *, location: str, tags=None, sku=None, properties=None, **kwargs) -> None: + super(VSOnlinePlan, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.tags = tags + self.location = location + self.sku = sku + self.properties = properties diff --git a/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/vso_account_error_response.py b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/vso_account_error_response.py new file mode 100644 index 00000000000..0b2300cfeea --- /dev/null +++ b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/vso_account_error_response.py @@ -0,0 +1,42 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model +from msrest.exceptions import HttpOperationError + + +class VSOAccountErrorResponse(Model): + """Error response indicates that the service is not able to process the + incoming request. + + :param error: The error details. + :type error: ~microsoft.vsonline.models.ErrorDefinition + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'ErrorDefinition'}, + } + + def __init__(self, **kwargs): + super(VSOAccountErrorResponse, self).__init__(**kwargs) + self.error = kwargs.get('error', None) + + +class VSOAccountErrorResponseException(HttpOperationError): + """Server responsed with exception of type: 'VSOAccountErrorResponse'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(VSOAccountErrorResponseException, self).__init__(deserialize, response, 'VSOAccountErrorResponse', *args) diff --git a/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/vso_account_error_response_py3.py b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/vso_account_error_response_py3.py new file mode 100644 index 00000000000..c04f5716df6 --- /dev/null +++ b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/vso_account_error_response_py3.py @@ -0,0 +1,42 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model +from msrest.exceptions import HttpOperationError + + +class VSOAccountErrorResponse(Model): + """Error response indicates that the service is not able to process the + incoming request. + + :param error: The error details. + :type error: ~microsoft.vsonline.models.ErrorDefinition + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'ErrorDefinition'}, + } + + def __init__(self, *, error=None, **kwargs) -> None: + super(VSOAccountErrorResponse, self).__init__(**kwargs) + self.error = error + + +class VSOAccountErrorResponseException(HttpOperationError): + """Server responsed with exception of type: 'VSOAccountErrorResponse'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(VSOAccountErrorResponseException, self).__init__(deserialize, response, 'VSOAccountErrorResponse', *args) diff --git a/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/vso_account_update_parameters.py b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/vso_account_update_parameters.py new file mode 100644 index 00000000000..8902ed05cc2 --- /dev/null +++ b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/vso_account_update_parameters.py @@ -0,0 +1,32 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class VSOAccountUpdateParameters(Model): + """Parameters for updating a VS Online Account. + + :param tags: Tags for the VS Online Account. + :type tags: dict[str, str] + :param sku: SKU of the service. + :type sku: ~microsoft.vsonline.models.Sku + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + } + + def __init__(self, **kwargs): + super(VSOAccountUpdateParameters, self).__init__(**kwargs) + self.tags = kwargs.get('tags', None) + self.sku = kwargs.get('sku', None) diff --git a/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/vso_account_update_parameters_py3.py b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/vso_account_update_parameters_py3.py new file mode 100644 index 00000000000..46d12c462b5 --- /dev/null +++ b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/vso_account_update_parameters_py3.py @@ -0,0 +1,32 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class VSOAccountUpdateParameters(Model): + """Parameters for updating a VS Online Account. + + :param tags: Tags for the VS Online Account. + :type tags: dict[str, str] + :param sku: SKU of the service. + :type sku: ~microsoft.vsonline.models.Sku + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + } + + def __init__(self, *, tags=None, sku=None, **kwargs) -> None: + super(VSOAccountUpdateParameters, self).__init__(**kwargs) + self.tags = tags + self.sku = sku diff --git a/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/vso_plan_error_response.py b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/vso_plan_error_response.py new file mode 100644 index 00000000000..a43edce2b53 --- /dev/null +++ b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/vso_plan_error_response.py @@ -0,0 +1,42 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model +from msrest.exceptions import HttpOperationError + + +class VSOPlanErrorResponse(Model): + """Error response indicates that the service is not able to process the + incoming request. + + :param error: The error details. + :type error: ~microsoft.vsonline.models.ErrorDefinition + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'ErrorDefinition'}, + } + + def __init__(self, **kwargs): + super(VSOPlanErrorResponse, self).__init__(**kwargs) + self.error = kwargs.get('error', None) + + +class VSOPlanErrorResponseException(HttpOperationError): + """Server responsed with exception of type: 'VSOPlanErrorResponse'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(VSOPlanErrorResponseException, self).__init__(deserialize, response, 'VSOPlanErrorResponse', *args) diff --git a/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/vso_plan_error_response_py3.py b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/vso_plan_error_response_py3.py new file mode 100644 index 00000000000..e1726eb7678 --- /dev/null +++ b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/vso_plan_error_response_py3.py @@ -0,0 +1,42 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model +from msrest.exceptions import HttpOperationError + + +class VSOPlanErrorResponse(Model): + """Error response indicates that the service is not able to process the + incoming request. + + :param error: The error details. + :type error: ~microsoft.vsonline.models.ErrorDefinition + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'ErrorDefinition'}, + } + + def __init__(self, *, error=None, **kwargs) -> None: + super(VSOPlanErrorResponse, self).__init__(**kwargs) + self.error = error + + +class VSOPlanErrorResponseException(HttpOperationError): + """Server responsed with exception of type: 'VSOPlanErrorResponse'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(VSOPlanErrorResponseException, self).__init__(deserialize, response, 'VSOPlanErrorResponse', *args) diff --git a/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/vso_plan_update_parameters.py b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/vso_plan_update_parameters.py new file mode 100644 index 00000000000..b1ba9322b26 --- /dev/null +++ b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/vso_plan_update_parameters.py @@ -0,0 +1,32 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class VSOPlanUpdateParameters(Model): + """Parameters for updating a VS Online Plan. + + :param tags: Tags for the VS Online Plan. + :type tags: dict[str, str] + :param sku: SKU of the service. + :type sku: ~microsoft.vsonline.models.Sku + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + } + + def __init__(self, **kwargs): + super(VSOPlanUpdateParameters, self).__init__(**kwargs) + self.tags = kwargs.get('tags', None) + self.sku = kwargs.get('sku', None) diff --git a/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/vso_plan_update_parameters_py3.py b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/vso_plan_update_parameters_py3.py new file mode 100644 index 00000000000..7aa5a361870 --- /dev/null +++ b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/models/vso_plan_update_parameters_py3.py @@ -0,0 +1,32 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class VSOPlanUpdateParameters(Model): + """Parameters for updating a VS Online Plan. + + :param tags: Tags for the VS Online Plan. + :type tags: dict[str, str] + :param sku: SKU of the service. + :type sku: ~microsoft.vsonline.models.Sku + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + } + + def __init__(self, *, tags=None, sku=None, **kwargs) -> None: + super(VSOPlanUpdateParameters, self).__init__(**kwargs) + self.tags = tags + self.sku = sku diff --git a/src/codespaces/azext_codespaces/vendored_sdks/vsonline/operations/__init__.py b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/operations/__init__.py new file mode 100644 index 00000000000..786ad7356f2 --- /dev/null +++ b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/operations/__init__.py @@ -0,0 +1,20 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .operations import Operations +from .account_operations import AccountOperations +from .plan_operations import PlanOperations + +__all__ = [ + 'Operations', + 'AccountOperations', + 'PlanOperations', +] diff --git a/src/codespaces/azext_codespaces/vendored_sdks/vsonline/operations/account_operations.py b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/operations/account_operations.py new file mode 100644 index 00000000000..f101e33b5f9 --- /dev/null +++ b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/operations/account_operations.py @@ -0,0 +1,460 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class AccountOperations(object): + """AccountOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to be used with the HTTP request. Constant value: "2019-07-01-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2019-07-01-preview" + + self.config = config + + def get( + self, resource_group_name, account_name, custom_headers=None, raw=False, **operation_config): + """Retrieves information about a VS Online Account resource. + + Retrieves the properties of a VS Online Account. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param account_name: Name of the VS Online Plan + :type account_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: VSOnlineAccount or ClientRawResponse if raw=true + :rtype: ~microsoft.vsonline.models.VSOnlineAccount or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`VSOAccountErrorResponseException` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'accountName': self._serialize.url("account_name", account_name, 'str', pattern=r'^[a-zA-Z0-9]') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.VSOAccountErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('VSOnlineAccount', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.VSOnline/accounts/{accountName}'} + + + def _delete_initial( + self, resource_group_name, account_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'accountName': self._serialize.url("account_name", account_name, 'str', pattern=r'^[a-zA-Z0-9]') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 204]: + raise models.VSOAccountErrorResponseException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, account_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes a VS Online Account resource. + + Deletes an existing VS Online Account. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param account_name: Name of the VS Online Plan + :type account_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: + :class:`VSOAccountErrorResponseException` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + account_name=account_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.VSOnline/accounts/{accountName}'} + + def create( + self, resource_group_name, account_name, vsonline_account, custom_headers=None, raw=False, **operation_config): + """Creates a VS Online Account. + + Creates a VS Online Account with the specified create parameters. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param account_name: Name of the VS Online Plan + :type account_name: str + :param vsonline_account: VS Online Account create parameters. + :type vsonline_account: ~microsoft.vsonline.models.VSOnlineAccount + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: VSOnlineAccount or ClientRawResponse if raw=true + :rtype: ~microsoft.vsonline.models.VSOnlineAccount or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`VSOAccountErrorResponseException` + """ + # Construct URL + url = self.create.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'accountName': self._serialize.url("account_name", account_name, 'str', pattern=r'^[a-zA-Z0-9]') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(vsonline_account, 'VSOnlineAccount') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.VSOAccountErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('VSOnlineAccount', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.VSOnline/accounts/{accountName}'} + + def update( + self, resource_group_name, account_name, tags=None, sku=None, custom_headers=None, raw=False, **operation_config): + """Updates a VS Online Account. + + Updates the properties of an existing VS Online Account with the + specified update parameters. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param account_name: Name of the VS Online Plan + :type account_name: str + :param tags: Tags for the VS Online Account. + :type tags: dict[str, str] + :param sku: SKU of the service. + :type sku: ~microsoft.vsonline.models.Sku + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: VSOnlineAccount or ClientRawResponse if raw=true + :rtype: ~microsoft.vsonline.models.VSOnlineAccount or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`VSOAccountErrorResponseException` + """ + vsonline_account_update_parameters = models.VSOAccountUpdateParameters(tags=tags, sku=sku) + + # Construct URL + url = self.update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'accountName': self._serialize.url("account_name", account_name, 'str', pattern=r'^[a-zA-Z0-9]') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(vsonline_account_update_parameters, 'VSOAccountUpdateParameters') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.VSOAccountErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('VSOnlineAccount', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.VSOnline/accounts/{accountName}'} + + def list_by_resource_group( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Retrieves information about all VS Online Account resources under the + given subscription and resource group. + + Retrieves the properties of all VS Online Accounts. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of VSOnlineAccount + :rtype: + ~microsoft.vsonline.models.VSOnlineAccountPaged[~microsoft.vsonline.models.VSOnlineAccount] + :raises: + :class:`VSOAccountErrorResponseException` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.VSOAccountErrorResponseException(self._deserialize, response) + + return response + + # Deserialize response + deserialized = models.VSOnlineAccountPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.VSOnlineAccountPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.VSOnline/accounts/'} + + def list_by_subscription( + self, custom_headers=None, raw=False, **operation_config): + """Retrieves information about all VS Online Account resources under the + given subscription. + + Retrieves the properties of all VS Online Accounts. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of VSOnlineAccount + :rtype: + ~microsoft.vsonline.models.VSOnlineAccountPaged[~microsoft.vsonline.models.VSOnlineAccount] + :raises: + :class:`VSOAccountErrorResponseException` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_by_subscription.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.VSOAccountErrorResponseException(self._deserialize, response) + + return response + + # Deserialize response + deserialized = models.VSOnlineAccountPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.VSOnlineAccountPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_by_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.VSOnline/accounts/'} diff --git a/src/codespaces/azext_codespaces/vendored_sdks/vsonline/operations/operations.py b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/operations/operations.py new file mode 100644 index 00000000000..6da7455e7d5 --- /dev/null +++ b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/operations/operations.py @@ -0,0 +1,100 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse + +from .. import models + + +class Operations(object): + """Operations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to be used with the HTTP request. Constant value: "2019-07-01-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2019-07-01-preview" + + self.config = config + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Retrieves a list of available API operations under this Resource + Provider. + + Retrieves a list of available API operations. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of + ResourceProviderOperationDefinition + :rtype: + ~microsoft.vsonline.models.ResourceProviderOperationDefinitionPaged[~microsoft.vsonline.models.ResourceProviderOperationDefinition] + :raises: + :class:`VSOAccountErrorResponseException` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list.metadata['url'] + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.VSOAccountErrorResponseException(self._deserialize, response) + + return response + + # Deserialize response + deserialized = models.ResourceProviderOperationDefinitionPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.ResourceProviderOperationDefinitionPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/providers/Microsoft.VSOnline/operations'} diff --git a/src/codespaces/azext_codespaces/vendored_sdks/vsonline/operations/plan_operations.py b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/operations/plan_operations.py new file mode 100644 index 00000000000..9ca8a05317d --- /dev/null +++ b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/operations/plan_operations.py @@ -0,0 +1,739 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class PlanOperations(object): + """PlanOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to be used with the HTTP request. Constant value: "2019-07-01-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2019-07-01-preview" + + self.config = config + + def get( + self, resource_group_name, plan_name, custom_headers=None, raw=False, **operation_config): + """Retrieves information about a VS Online Plan resource. + + Retrieves the properties of a VS Online Plan. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param plan_name: Name of the VS Online Plan + :type plan_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: VSOnlinePlan or ClientRawResponse if raw=true + :rtype: ~microsoft.vsonline.models.VSOnlinePlan or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`VSOPlanErrorResponseException` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'planName': self._serialize.url("plan_name", plan_name, 'str', pattern=r'^[a-zA-Z0-9]') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.VSOPlanErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('VSOnlinePlan', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.VSOnline/plans/{planName}'} + + + def _delete_initial( + self, resource_group_name, plan_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'planName': self._serialize.url("plan_name", plan_name, 'str', pattern=r'^[a-zA-Z0-9]') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 204]: + raise models.VSOPlanErrorResponseException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, plan_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes a VS Online Plan resource. + + Deletes an existing VS Online Plan. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param plan_name: Name of the VS Online Plan + :type plan_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: + :class:`VSOPlanErrorResponseException` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + plan_name=plan_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.VSOnline/plans/{planName}'} + + def create( + self, resource_group_name, plan_name, vsonline_plan, custom_headers=None, raw=False, **operation_config): + """Creates a VS Online Plan. + + Creates a VS Online Plan with the specified create parameters. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param plan_name: Name of the VS Online Plan + :type plan_name: str + :param vsonline_plan: VS Online Plan create parameters. + :type vsonline_plan: ~microsoft.vsonline.models.VSOnlinePlan + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: VSOnlinePlan or ClientRawResponse if raw=true + :rtype: ~microsoft.vsonline.models.VSOnlinePlan or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`VSOPlanErrorResponseException` + """ + # Construct URL + url = self.create.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'planName': self._serialize.url("plan_name", plan_name, 'str', pattern=r'^[a-zA-Z0-9]') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(vsonline_plan, 'VSOnlinePlan') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.VSOPlanErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('VSOnlinePlan', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.VSOnline/plans/{planName}'} + + def update( + self, resource_group_name, plan_name, tags=None, sku=None, custom_headers=None, raw=False, **operation_config): + """Updates a VS Online Plan. + + Updates the properties of an existing VS Online Plan with the specified + update parameters. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param plan_name: Name of the VS Online Plan + :type plan_name: str + :param tags: Tags for the VS Online Plan. + :type tags: dict[str, str] + :param sku: SKU of the service. + :type sku: ~microsoft.vsonline.models.Sku + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: VSOnlinePlan or ClientRawResponse if raw=true + :rtype: ~microsoft.vsonline.models.VSOnlinePlan or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`VSOPlanErrorResponseException` + """ + vsonline_plan_update_parameters = models.VSOPlanUpdateParameters(tags=tags, sku=sku) + + # Construct URL + url = self.update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'planName': self._serialize.url("plan_name", plan_name, 'str', pattern=r'^[a-zA-Z0-9]') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(vsonline_plan_update_parameters, 'VSOPlanUpdateParameters') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.VSOPlanErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('VSOnlinePlan', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.VSOnline/plans/{planName}'} + + def read_all_environments_action( + self, resource_group_name, plan_name, expiration=None, custom_headers=None, raw=False, **operation_config): + """Get VS Online Plan read environments access token. + + Get VS Online Plan access token which allows listing all environments + in the Plan. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param plan_name: Name of the VS Online Plan + :type plan_name: str + :param expiration: The requested expiration UNIX timestamp (seconds + since epoch) of a VS Online Plan access token. + :type expiration: int + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: VSOnlinePlanAccessToken or ClientRawResponse if raw=true + :rtype: ~microsoft.vsonline.models.VSOnlinePlanAccessToken or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`VSOPlanErrorResponseException` + """ + # Construct URL + url = self.read_all_environments_action.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'planName': self._serialize.url("plan_name", plan_name, 'str', pattern=r'^[a-zA-Z0-9]') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + if expiration is not None: + query_parameters['expiration'] = self._serialize.query("expiration", expiration, 'int') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.VSOPlanErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('VSOnlinePlanAccessToken', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + read_all_environments_action.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.VSOnline/plans/{planName}/readAllEnvironments'} + + def write_environments_action( + self, resource_group_name, plan_name, expiration=None, custom_headers=None, raw=False, **operation_config): + """Get VS Online Plan write environments access token. + + Get VS Online Plan access token which allows creating, updating, + deleting and connecting to environments owned by the user. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param plan_name: Name of the VS Online Plan + :type plan_name: str + :param expiration: The requested expiration UNIX timestamp (seconds + since epoch) of a VS Online Plan access token. + :type expiration: int + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: VSOnlinePlanAccessToken or ClientRawResponse if raw=true + :rtype: ~microsoft.vsonline.models.VSOnlinePlanAccessToken or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`VSOPlanErrorResponseException` + """ + # Construct URL + url = self.write_environments_action.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'planName': self._serialize.url("plan_name", plan_name, 'str', pattern=r'^[a-zA-Z0-9]') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + if expiration is not None: + query_parameters['expiration'] = self._serialize.query("expiration", expiration, 'int') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.VSOPlanErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('VSOnlinePlanAccessToken', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + write_environments_action.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.VSOnline/plans/{planName}/writeEnvironments'} + + def delete_all_environments_action( + self, resource_group_name, plan_name, expiration=None, custom_headers=None, raw=False, **operation_config): + """Get VS Online Plan read and delete environments access token. + + Get VS Online Plan access token which allows reading and deleting all + environments in the Plan. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param plan_name: Name of the VS Online Plan + :type plan_name: str + :param expiration: The requested expiration UNIX timestamp (seconds + since epoch) of a VS Online Plan access token. + :type expiration: int + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: VSOnlinePlanAccessToken or ClientRawResponse if raw=true + :rtype: ~microsoft.vsonline.models.VSOnlinePlanAccessToken or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`VSOPlanErrorResponseException` + """ + # Construct URL + url = self.delete_all_environments_action.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'planName': self._serialize.url("plan_name", plan_name, 'str', pattern=r'^[a-zA-Z0-9]') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + if expiration is not None: + query_parameters['expiration'] = self._serialize.query("expiration", expiration, 'int') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.VSOPlanErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('VSOnlinePlanAccessToken', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + delete_all_environments_action.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.VSOnline/plans/{planName}/deleteAllEnvironments'} + + def write_delegates_action( + self, resource_group_name, plan_name, delegate_request, custom_headers=None, raw=False, **operation_config): + """Get VS Online Plan delegated write environments access token. + + Get VS Online Plan delegated access token which allows creating, + updating, deleting and connecting to environments owned by the user. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param plan_name: Name of the VS Online Plan + :type plan_name: str + :param delegate_request: VS Online Plan delegate access token + parameters. + :type delegate_request: + ~microsoft.vsonline.models.VSOnlineDelegateAccessTokenRequestBody + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: VSOnlinePlanAccessToken or ClientRawResponse if raw=true + :rtype: ~microsoft.vsonline.models.VSOnlinePlanAccessToken or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`VSOPlanErrorResponseException` + """ + # Construct URL + url = self.write_delegates_action.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'planName': self._serialize.url("plan_name", plan_name, 'str', pattern=r'^[a-zA-Z0-9]') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(delegate_request, 'VSOnlineDelegateAccessTokenRequestBody') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.VSOPlanErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('VSOnlinePlanAccessToken', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + write_delegates_action.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.VSOnline/plans/{planName}/writeDelegates'} + + def list_by_resource_group( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Retrieves information about all VS Online Plan resources under the + given subscription and resource group. + + Retrieves the properties of all VS Online Plans. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of VSOnlinePlan + :rtype: + ~microsoft.vsonline.models.VSOnlinePlanPaged[~microsoft.vsonline.models.VSOnlinePlan] + :raises: + :class:`VSOPlanErrorResponseException` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.VSOPlanErrorResponseException(self._deserialize, response) + + return response + + # Deserialize response + deserialized = models.VSOnlinePlanPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.VSOnlinePlanPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.VSOnline/plans/'} + + def list_by_subscription( + self, custom_headers=None, raw=False, **operation_config): + """Retrieves information about all VS Online Plan resources under the + given subscription. + + Retrieves the properties of all VS Online Plans. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of VSOnlinePlan + :rtype: + ~microsoft.vsonline.models.VSOnlinePlanPaged[~microsoft.vsonline.models.VSOnlinePlan] + :raises: + :class:`VSOPlanErrorResponseException` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_by_subscription.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.VSOPlanErrorResponseException(self._deserialize, response) + + return response + + # Deserialize response + deserialized = models.VSOnlinePlanPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.VSOnlinePlanPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_by_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.VSOnline/plans/'} diff --git a/src/codespaces/azext_codespaces/vendored_sdks/vsonline/version.py b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/version.py new file mode 100644 index 00000000000..d7d47ad4ac7 --- /dev/null +++ b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/version.py @@ -0,0 +1,13 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +VERSION = "07/01/2019 00:00:00" + diff --git a/src/codespaces/azext_codespaces/vendored_sdks/vsonline/vs_online_client.py b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/vs_online_client.py new file mode 100644 index 00000000000..e836eebf195 --- /dev/null +++ b/src/codespaces/azext_codespaces/vendored_sdks/vsonline/vs_online_client.py @@ -0,0 +1,93 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.service_client import SDKClient +from msrest import Serializer, Deserializer +from msrestazure import AzureConfiguration +from .version import VERSION +from .operations.operations import Operations +from .operations.account_operations import AccountOperations +from .operations.plan_operations import PlanOperations +from . import models + + +class VSOnlineClientConfiguration(AzureConfiguration): + """Configuration for VSOnlineClient + Note that all parameters used to create this instance are saved as instance + attributes. + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param subscription_id: The Azure subscription ID. This is a + GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000) + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=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 base_url: + base_url = 'https://management.azure.com' + + super(VSOnlineClientConfiguration, self).__init__(base_url) + + self.add_user_agent('vsonline/{}'.format(VERSION)) + self.add_user_agent('Azure-SDK-For-Python') + + self.credentials = credentials + self.subscription_id = subscription_id + + +class VSOnlineClient(SDKClient): + """Microsoft VS Online REST API version 2019-07-01-preview. + + :ivar config: Configuration for client. + :vartype config: VSOnlineClientConfiguration + + :ivar operations: Operations operations + :vartype operations: microsoft.vsonline.operations.Operations + :ivar account: Account operations + :vartype account: microsoft.vsonline.operations.AccountOperations + :ivar plan: Plan operations + :vartype plan: microsoft.vsonline.operations.PlanOperations + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param subscription_id: The Azure subscription ID. This is a + GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000) + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=None): + + self.config = VSOnlineClientConfiguration(credentials, subscription_id, base_url) + super(VSOnlineClient, self).__init__(self.config.credentials, self.config) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self.api_version = '2019-07-01-preview' + self._serialize = Serializer(client_models) + self._deserialize = Deserializer(client_models) + + self.operations = Operations( + self._client, self.config, self._serialize, self._deserialize) + self.account = AccountOperations( + self._client, self.config, self._serialize, self._deserialize) + self.plan = PlanOperations( + self._client, self.config, self._serialize, self._deserialize) diff --git a/src/codespaces/azext_codespaces/version.py b/src/codespaces/azext_codespaces/version.py new file mode 100644 index 00000000000..e1db9d6e733 --- /dev/null +++ b/src/codespaces/azext_codespaces/version.py @@ -0,0 +1,6 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +VERSION = '0.1.0' diff --git a/src/codespaces/setup.cfg b/src/codespaces/setup.cfg new file mode 100644 index 00000000000..3c6e79cf31d --- /dev/null +++ b/src/codespaces/setup.cfg @@ -0,0 +1,2 @@ +[bdist_wheel] +universal=1 diff --git a/src/codespaces/setup.py b/src/codespaces/setup.py new file mode 100644 index 00000000000..a53576e8f94 --- /dev/null +++ b/src/codespaces/setup.py @@ -0,0 +1,59 @@ +#!/usr/bin/env python + +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +import os +import re +from codecs import open +from setuptools import setup, find_packages +try: + from azure_bdist_wheel import cmdclass +except ImportError: + from distutils import log as logger + logger.warn("Wheel is not available, disabling bdist_wheel hook") + +# Inspired by https://github.com/Azure/azure-sdk-for-python/blob/master/azure-mgmt-cdn/setup.py#L45 +extension_path = os.path.dirname(os.path.realpath(__file__)) +with open(os.path.join(extension_path, 'azext_codespaces', 'version.py'), 'r') as version_file: + VERSION = re.search(r'^VERSION\s*=\s*[\'"]([^\'"]*)[\'"]', + version_file.read(), re.MULTILINE).group(1) + +# The full list of classifiers is available at +# https://pypi.python.org/pypi?%3Aaction=list_classifiers +CLASSIFIERS = [ + 'Development Status :: 4 - Beta', + 'Intended Audience :: Developers', + 'Intended Audience :: System Administrators', + 'Programming Language :: Python', + 'Programming Language :: Python :: 3', + 'Programming Language :: Python :: 3.6', + 'Programming Language :: Python :: 3.7', + 'Programming Language :: Python :: 3.8', + 'License :: OSI Approved :: MIT License', +] + +DEPENDENCIES = [ +] + +with open('README.rst', 'r', encoding='utf-8') as f: + README = f.read() +with open('HISTORY.rst', 'r', encoding='utf-8') as f: + HISTORY = f.read() + +setup( + name='codespaces', + version=VERSION, + description='The Azure CLI Codespaces extension', + author='Microsoft Corporation', + author_email='azpycli@microsoft.com', + url='https://github.com/Azure/azure-cli-extensions', + long_description=README + '\n\n' + HISTORY, + license='MIT', + classifiers=CLASSIFIERS, + packages=find_packages(), + install_requires=DEPENDENCIES, + package_data={'azext_codespaces': ['azext_metadata.json']}, +) diff --git a/src/connectedk8s/HISTORY.rst b/src/connectedk8s/HISTORY.rst new file mode 100644 index 00000000000..26167b8bc70 --- /dev/null +++ b/src/connectedk8s/HISTORY.rst @@ -0,0 +1,17 @@ +.. :changelog: + +Release History +=============== + +0.2.1 +++++++ +* `az connectedk8s connect`: Added kubernetes distribution. + +0.2.0 +++++++ +* `az connectedk8s connect`: Added telemetry. +* `az connectedk8s delete`: Added telemetry. + +0.1.5 +++++++ +* Initial release. \ No newline at end of file diff --git a/src/connectedk8s/README.md b/src/connectedk8s/README.md new file mode 100644 index 00000000000..a2a3690f524 --- /dev/null +++ b/src/connectedk8s/README.md @@ -0,0 +1,54 @@ +# Azure CLI Connected Kubernetes Extension # +This package is for the 'connectedk8s' extension, i.e. 'az connectedk8s'. + +### How to use ### +Install this extension using the below CLI command +``` +az extension add --name connectedk8s +``` + +### Included Features +#### Connected Kubernetes Management: +*Examples:* + +##### Create a connected kubernetes cluster +``` +az connectedk8s connect \ + --subscription subscription_id \ + --resource-group my-rg \ + --name my-cluster \ + --location eastus +``` + +##### Show connected kubernetes cluster +``` +az connectedk8s show \ + --subscription subscription_id \ + --resource-group my-rg \ + --name my-cluster \ +``` +or +``` +az connectedk8s show \ + --ids "/subscriptions/subscription_id/resourceGroups/my-rg/providers/Microsoft.Kubernetes/connectedClusters/my-cluster" \ +``` + +##### List connected kubernetes cluster in resource group +``` +az connectedk8s list \ + --resource-group my-rg +``` + +##### Delete connected kubernetes cluster +``` +az connectedk8s delete \ + --subscription subscription_id \ + --resource-group my-rg \ + --name my-cluster \ +``` +or +``` +az connectedk8s delete \ + --ids "/subscriptions/subscription_id/resourceGroups/my-rg/providers/Microsoft.Kubernetes/connectedClusters/my-cluster" \ + -y +``` \ No newline at end of file diff --git a/src/connectedk8s/azext_connectedk8s/__init__.py b/src/connectedk8s/azext_connectedk8s/__init__.py new file mode 100644 index 00000000000..d6aab5202db --- /dev/null +++ b/src/connectedk8s/azext_connectedk8s/__init__.py @@ -0,0 +1,31 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +from azure.cli.core import AzCommandsLoader + +from azext_connectedk8s._help import helps # pylint: disable=unused-import + + +class Connectedk8sCommandsLoader(AzCommandsLoader): + + def __init__(self, cli_ctx=None): + from azure.cli.core.commands import CliCommandType + from azext_connectedk8s._client_factory import cf_connectedk8s + connectedk8s_custom = CliCommandType( + operations_tmpl='azext_connectedk8s.custom#{}', + client_factory=cf_connectedk8s) + super(Connectedk8sCommandsLoader, self).__init__(cli_ctx=cli_ctx, custom_command_type=connectedk8s_custom) + + def load_command_table(self, args): + from azext_connectedk8s.commands import load_command_table + load_command_table(self, args) + return self.command_table + + def load_arguments(self, command): + from azext_connectedk8s._params import load_arguments + load_arguments(self, command) + + +COMMAND_LOADER_CLS = Connectedk8sCommandsLoader diff --git a/src/connectedk8s/azext_connectedk8s/_client_factory.py b/src/connectedk8s/azext_connectedk8s/_client_factory.py new file mode 100644 index 00000000000..bfa0af89239 --- /dev/null +++ b/src/connectedk8s/azext_connectedk8s/_client_factory.py @@ -0,0 +1,37 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- +from azure.cli.core.commands.client_factory import get_mgmt_service_client +from azure.cli.core.profiles import ResourceType +from azure.cli.core._profile import Profile +from azure.cli.core.commands.client_factory import configure_common_settings +from azure.graphrbac import GraphRbacManagementClient + + +def cf_connectedk8s(cli_ctx, *_): + from azext_connectedk8s.vendored_sdks import KubernetesConnectRPClient + return get_mgmt_service_client(cli_ctx, KubernetesConnectRPClient) + + +def cf_connected_cluster(cli_ctx, _): + return cf_connectedk8s(cli_ctx).connected_cluster + + +def cf_resource_groups(cli_ctx, subscription_id=None): + return get_mgmt_service_client(cli_ctx, ResourceType.MGMT_RESOURCE_RESOURCES, + subscription_id=subscription_id).resource_groups + + +def _resource_client_factory(cli_ctx, subscription_id=None): + return get_mgmt_service_client(cli_ctx, ResourceType.MGMT_RESOURCE_RESOURCES, subscription_id=subscription_id) + + +def _graph_client_factory(cli_ctx, **_): + profile = Profile(cli_ctx=cli_ctx) + cred, _, tenant_id = profile.get_login_credentials( + resource=cli_ctx.cloud.endpoints.active_directory_graph_resource_id) + client = GraphRbacManagementClient(cred, tenant_id, + base_url=cli_ctx.cloud.endpoints.active_directory_graph_resource_id) + configure_common_settings(cli_ctx, client) + return client diff --git a/src/connectedk8s/azext_connectedk8s/_format.py b/src/connectedk8s/azext_connectedk8s/_format.py new file mode 100644 index 00000000000..eec91347164 --- /dev/null +++ b/src/connectedk8s/azext_connectedk8s/_format.py @@ -0,0 +1,37 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +from collections import OrderedDict +from jmespath import compile as compile_jmes, Options # pylint: disable=import-error + + +def connectedk8s_show_table_format(result): + """Format a connected cluster as summary results for display with "-o table".""" + return [_connectedk8s_table_format(result)] + + +def connectedk8s_list_table_format(results): + """Format an connected cluster list for display with "-o table".""" + return [_connectedk8s_list_table_format(r) for r in results] + + +def _connectedk8s_table_format(result): + parsed = compile_jmes("""{ + name: name, + location: location, + resourceGroup: resourceGroup + }""") + # use ordered dicts so headers are predictable + return parsed.search(result, Options(dict_cls=OrderedDict)) + + +def _connectedk8s_list_table_format(result): + parsed = compile_jmes("""{ + name: name, + location: location, + resourceGroup: resourceGroup + }""") + # use ordered dicts so headers are predictable + return parsed.search(result, Options(dict_cls=OrderedDict)) diff --git a/src/connectedk8s/azext_connectedk8s/_help.py b/src/connectedk8s/azext_connectedk8s/_help.py new file mode 100644 index 00000000000..f2687611908 --- /dev/null +++ b/src/connectedk8s/azext_connectedk8s/_help.py @@ -0,0 +1,52 @@ +# coding=utf-8 +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +from knack.help_files import helps # pylint: disable=unused-import + + +helps['connectedk8s'] = """ + type: group + short-summary: Commands to manage connected kubernetes clusters. +""" + +helps['connectedk8s connect'] = """ + type: command + short-summary: Onboard a connected kubernetes cluster to azure. + examples: + - name: Onboard a connected kubernetes cluster with default kube config and kube context. + text: az connectedk8s connect -g resourceGroupName -n connectedClusterName + - name: Onboard a connected kubernetes cluster by specifying the kubeconfig and kubecontext. + text: az connectedk8s connect -g resourceGroupName -n connectedClusterName --kube-config /path/to/kubeconfig --kube-context kubeContextName +""" + +helps['connectedk8s list'] = """ + type: command + short-summary: List connected kubernetes clusters. + examples: + - name: List all connected kubernetes clusters in a resource group. + text: az connectedk8s list -g resourceGroupName --subscription subscriptionName + - name: List all connected kubernetes clusters in a subscription. + text: az connectedk8s list --subscription subscriptionName + +""" + +helps['connectedk8s delete'] = """ + type: command + short-summary: Delete a connected kubernetes cluster along with connected cluster agents. + examples: + - name: Delete a connected kubernetes cluster and connected cluster agents with default kubeconfig and kubecontext. + text: az connectedk8s delete -g resourceGroupName -n connectedClusterName + - name: Delete a connected kubernetes cluster by specifying the kubeconfig and kubecontext for connected cluster agents deletion. + text: az connectedk8s delete -g resourceGroupName -n connectedClusterName --kube-config /path/to/kubeconfig --kube-context kubeContextName +""" + +helps['connectedk8s show'] = """ + type: command + short-summary: Show details of a connected kubernetes cluster. + examples: + - name: Show the details for a connected kubernetes cluster + text: az connectedk8s show -g resourceGroupName -n connectedClusterName +""" diff --git a/src/connectedk8s/azext_connectedk8s/_params.py b/src/connectedk8s/azext_connectedk8s/_params.py new file mode 100644 index 00000000000..e5e93d995fc --- /dev/null +++ b/src/connectedk8s/azext_connectedk8s/_params.py @@ -0,0 +1,31 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- +# pylint: disable=line-too-long + +from azure.cli.core.commands.parameters import get_location_type +from azure.cli.core.commands.validators import get_default_location_from_resource_group + + +def load_arguments(self, _): + + from azure.cli.core.commands.parameters import tags_type + + with self.argument_context('connectedk8s connect') as c: + c.argument('tags', tags_type) + c.argument('location', arg_type=get_location_type(self.cli_ctx), validator=get_default_location_from_resource_group) + c.argument('cluster_name', options_list=['--name', '-n'], help='The name of the connected cluster.') + c.argument('kube_config', options_list=['--kube-config'], help='Path to the kube config file.') + c.argument('kube_context', options_list=['--kube-context'], help='Kubconfig context from current machine.') + + with self.argument_context('connectedk8s list') as c: + pass + + with self.argument_context('connectedk8s show') as c: + c.argument('cluster_name', options_list=['--name', '-n'], id_part='name', help='The name of the connected cluster.') + + with self.argument_context('connectedk8s delete') as c: + c.argument('cluster_name', options_list=['--name', '-n'], id_part='name', help='The name of the connected cluster.') + c.argument('kube_config', options_list=['--kube-config'], help='Path to the kube config file.') + c.argument('kube_context', options_list=['--kube-context'], help='Kubconfig context from current machine.') diff --git a/src/connectedk8s/azext_connectedk8s/_validators.py b/src/connectedk8s/azext_connectedk8s/_validators.py new file mode 100644 index 00000000000..d46d7e58f7e --- /dev/null +++ b/src/connectedk8s/azext_connectedk8s/_validators.py @@ -0,0 +1,19 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + + +def example_name_or_id_validator(cmd, namespace): + # Example of a storage account name or ID validator. + from azure.cli.core.commands.client_factory import get_subscription_id + from msrestazure.tools import is_valid_resource_id, resource_id + if namespace.storage_account: + if not is_valid_resource_id(namespace.RESOURCE): + namespace.storage_account = resource_id( + subscription=get_subscription_id(cmd.cli_ctx), + resource_group=namespace.resource_group_name, + namespace='Microsoft.Storage', + type='storageAccounts', + name=namespace.storage_account + ) diff --git a/src/connectedk8s/azext_connectedk8s/azext_metadata.json b/src/connectedk8s/azext_connectedk8s/azext_metadata.json new file mode 100644 index 00000000000..55c81bf3328 --- /dev/null +++ b/src/connectedk8s/azext_connectedk8s/azext_metadata.json @@ -0,0 +1,4 @@ +{ + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.0.67" +} \ No newline at end of file diff --git a/src/connectedk8s/azext_connectedk8s/commands.py b/src/connectedk8s/azext_connectedk8s/commands.py new file mode 100644 index 00000000000..f54ca669d95 --- /dev/null +++ b/src/connectedk8s/azext_connectedk8s/commands.py @@ -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: disable=line-too-long +from azure.cli.core.commands import CliCommandType +from azext_connectedk8s._client_factory import (cf_connectedk8s, cf_connected_cluster) +from ._format import connectedk8s_show_table_format +from ._format import connectedk8s_list_table_format + + +def load_command_table(self, _): + + connectedk8s_sdk = CliCommandType( + operations_tmpl='azext_connectedk8s.vendored_sdks.operations#ConnectedClusterOperations.{}', + client_factory=cf_connectedk8s + ) + + with self.command_group('connectedk8s', connectedk8s_sdk, client_factory=cf_connected_cluster) as g: + g.custom_command('connect', 'create_connectedk8s', supports_no_wait=True) + g.custom_command('delete', 'delete_connectedk8s', confirmation=True, supports_no_wait=True) + g.custom_command('list', 'list_connectedk8s', table_transformer=connectedk8s_list_table_format) + g.custom_show_command('show', 'get_connectedk8s', table_transformer=connectedk8s_show_table_format) + + with self.command_group('connectedk8s', is_preview=True): + pass diff --git a/src/connectedk8s/azext_connectedk8s/custom.py b/src/connectedk8s/azext_connectedk8s/custom.py new file mode 100644 index 00000000000..eafb6b8460c --- /dev/null +++ b/src/connectedk8s/azext_connectedk8s/custom.py @@ -0,0 +1,674 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +import os +import json +import time +import subprocess +from subprocess import Popen, PIPE +from base64 import b64encode +import requests + +from knack.util import CLIError +from knack.log import get_logger +from azure.cli.core.commands.client_factory import get_subscription_id +from azure.cli.core.util import sdk_no_wait +from azure.cli.core._profile import Profile +from azure.cli.core import telemetry +from azext_connectedk8s._client_factory import _graph_client_factory +from azext_connectedk8s._client_factory import cf_resource_groups +from azext_connectedk8s._client_factory import _resource_client_factory +from msrestazure.azure_exceptions import CloudError +from kubernetes import client as kube_client, config, watch # pylint: disable=import-error +from Crypto.IO import PEM # pylint: disable=import-error +from Crypto.PublicKey import RSA # pylint: disable=import-error +from Crypto.Util import asn1 # pylint: disable=import-error + +from .vendored_sdks.models import ConnectedCluster, ConnectedClusterAADProfile, ConnectedClusterIdentity + + +logger = get_logger(__name__) + +Invalid_Location_Fault_Type = 'location-validation-error' +Load_Kubeconfig_Fault_Type = 'kubeconfig-load-error' +Read_ConfigMap_Fault_Type = 'configmap-read-error' +Create_ConnectedCluster_Fault_Type = 'connected-cluster-create-error' +Delete_ConnectedCluster_Fault_Type = 'connected-cluster-delete-error' +Bad_DeleteRequest_Fault_Type = 'bad-delete-request-error' +Cluster_Already_Onboarded_Fault_Type = 'cluster-already-onboarded-error' +Resource_Already_Exists_Fault_Type = 'resource-already-exists-error' +Create_ResourceGroup_Fault_Type = 'resource-group-creation-error' +Add_HelmRepo_Fault_Type = 'helm-repo-add-error' +List_HelmRelease_Fault_Type = 'helm-list-release-error' +KeyPair_Generate_Fault_Type = 'keypair-generation-error' +PublicKey_Export_Fault_Type = 'publickey-export-error' +PrivateKey_Export_Fault_Type = 'privatekey-export-error' +Install_HelmRelease_Fault_Type = 'helm-release-install-error' +Delete_HelmRelease_Fault_Type = 'helm-release-delete-error' +Check_PodStatus_Fault_Type = 'check-pod-status-error' +Kubernetes_Connectivity_FaultType = 'kubernetes-cluster-connection-error' +Helm_Version_Fault_Type = 'helm-not-updated-error' +Check_HelmVersion_Fault_Type = 'helm-version-check-error' +Helm_Installation_Fault_Type = 'helm-not-installed-error' +Check_HelmInstallation_Fault_Type = 'check-helm-installed-error' +Get_HelmRegistery_Path_Fault_Type = 'helm-registry-path-fetch-error' +Pull_HelmChart_Fault_Type = 'helm-chart-pull-error' +Export_HelmChart_Fault_Type = 'helm-chart-export-error' +Get_Kubernetes_Version_Fault_Type = 'kubernetes-get-version-error' +Get_Kubernetes_Distro_Fault_Type = 'kubernetes-get-distribution-error' + + +# pylint:disable=unused-argument +# pylint: disable=too-many-locals +# pylint: disable=too-many-branches +# pylint: disable=too-many-statements +# pylint: disable=line-too-long +def create_connectedk8s(cmd, client, resource_group_name, cluster_name, location=None, + kube_config=None, kube_context=None, no_wait=False, tags=None): + logger.warning("Ensure that you have the latest helm version installed before proceeding.") + logger.warning("This operation might take a while...\n") + + # Setting subscription id + subscription_id = get_subscription_id(cmd.cli_ctx) + + # Setting user profile + profile = Profile(cli_ctx=cmd.cli_ctx) + + # Fetching Tenant Id + graph_client = _graph_client_factory(cmd.cli_ctx) + onboarding_tenant_id = graph_client.config.tenant_id + + # Setting kubeconfig + kube_config = set_kube_config(kube_config) + + # Removing quotes from kubeconfig path. This is necessary for windows OS. + trim_kube_config(kube_config) + + # Loading the kubeconfig file in kubernetes client configuration + try: + config.load_kube_config(config_file=kube_config, context=kube_context) + except Exception as e: + telemetry.set_user_fault() + telemetry.set_exception(exception=e, fault_type=Load_Kubeconfig_Fault_Type, + summary='Problem loading the kubeconfig file') + raise CLIError("Problem loading the kubeconfig file." + str(e)) + configuration = kube_client.Configuration() + + # Checking the connection to kubernetes cluster. + # This check was added to avoid large timeouts when connecting to AAD Enabled AKS clusters + # if the user had not logged in. + check_kube_connection(configuration) + + # Get kubernetes cluster info for telemetry + kubernetes_version = get_server_version(configuration) + kubernetes_distro = get_kubernetes_distro(configuration) + + kubernetes_properties = { + 'Context.Default.AzureCLI.KubernetesVersion': kubernetes_version, + 'Context.Default.AzureCLI.KubernetesDistro': kubernetes_distro + } + telemetry.add_extension_event('connectedk8s', kubernetes_properties) + + # Checking helm installation + check_helm_install(kube_config, kube_context) + + # Check helm version + helm_version = check_helm_version(kube_config, kube_context) + telemetry.add_extension_event('connectedk8s', {'Context.Default.AzureCLI.HelmVersion': helm_version}) + + # Validate location + rp_locations = [] + resourceClient = _resource_client_factory(cmd.cli_ctx, subscription_id=subscription_id) + providerDetails = resourceClient.providers.get('Microsoft.Kubernetes') + for resourceTypes in providerDetails.resource_types: + if resourceTypes.resource_type == 'connectedClusters': + rp_locations = [location.replace(" ", "").lower() for location in resourceTypes.locations] + if location.lower() not in rp_locations: + telemetry.set_user_fault() + telemetry.set_exception(exception='Location not supported', fault_type=Invalid_Location_Fault_Type, + summary='Provided location is not supported for creating connected clusters') + raise CLIError("Connected cluster resource creation is supported only in the following locations: " + + ', '.join(map(str, rp_locations)) + + ". Use the --location flag to specify one of these locations.") + break + + # Check Release Existance + release_namespace = get_release_namespace(kube_config, kube_context) + if release_namespace is not None: + # Loading config map + api_instance = kube_client.CoreV1Api(kube_client.ApiClient(configuration)) + try: + configmap = api_instance.read_namespaced_config_map('azure-clusterconfig', 'azure-arc') + except Exception as e: # pylint: disable=broad-except + telemetry.set_exception(exception=e, fault_type=Read_ConfigMap_Fault_Type, + summary='Unable to read ConfigMap') + raise CLIError("Unable to read ConfigMap 'azure-clusterconfig' in 'azure-arc' namespace: %s\n" % e) + configmap_rg_name = configmap.data["AZURE_RESOURCE_GROUP"] + configmap_cluster_name = configmap.data["AZURE_RESOURCE_NAME"] + if connected_cluster_exists(client, configmap_rg_name, configmap_cluster_name): + if (configmap_rg_name.lower() == resource_group_name.lower() and + configmap_cluster_name.lower() == cluster_name.lower()): + # Re-put connected cluster + public_key = client.get(configmap_rg_name, + configmap_cluster_name).agent_public_key_certificate + cc = generate_request_payload(configuration, location, public_key, tags) + try: + return sdk_no_wait(no_wait, client.create, resource_group_name=resource_group_name, + cluster_name=cluster_name, connected_cluster=cc) + except CloudError as ex: + telemetry.set_exception(exception=ex, fault_type=Create_ConnectedCluster_Fault_Type, + summary='Unable to create connected cluster resource') + raise CLIError(ex) + else: + telemetry.set_user_fault() + telemetry.set_exception(exception='The kubernetes cluster is already onboarded', fault_type=Cluster_Already_Onboarded_Fault_Type, + summary='Kubernetes cluster already onboarded') + raise CLIError("The kubernetes cluster you are trying to onboard " + + "is already onboarded to the resource group" + + " '{}' with resource name '{}'.".format(configmap_rg_name, configmap_cluster_name)) + else: + # Cleanup agents and continue with put + delete_arc_agents(release_namespace, kube_config, kube_context, configuration) + else: + if connected_cluster_exists(client, resource_group_name, cluster_name): + telemetry.set_user_fault() + telemetry.set_exception(exception='The connected cluster resource already exists', fault_type=Resource_Already_Exists_Fault_Type, + summary='Connected cluster resource already exists') + raise CLIError("The connected cluster resource {} already exists ".format(cluster_name) + + "in the resource group {} ".format(resource_group_name) + + "and corresponds to a different Kubernetes cluster. To onboard this Kubernetes cluster" + + "to Azure, specify different resource name or resource group name.") + + # Resource group Creation + if resource_group_exists(cmd.cli_ctx, resource_group_name, subscription_id) is False: + resource_group_params = {'location': location} + try: + resourceClient.resource_groups.create_or_update(resource_group_name, resource_group_params) + except Exception as e: + telemetry.set_exception(exception=e, fault_type=Create_ResourceGroup_Fault_Type, + summary='Failed to create the resource group') + raise CLIError("Failed to create the resource group {} :".format(resource_group_name) + str(e)) + + # Adding helm repo + if os.getenv('HELMREPONAME') and os.getenv('HELMREPOURL'): + repo_name = os.getenv('HELMREPONAME') + repo_url = os.getenv('HELMREPOURL') + cmd_helm_repo = ["helm", "repo", "add", repo_name, repo_url, "--kubeconfig", kube_config] + if kube_context: + cmd_helm_repo.extend(["--kube-context", kube_context]) + response_helm_repo = Popen(cmd_helm_repo, stdout=PIPE, stderr=PIPE) + _, error_helm_repo = response_helm_repo.communicate() + if response_helm_repo.returncode != 0: + telemetry.set_exception(exception=error_helm_repo.decode("ascii"), fault_type=Add_HelmRepo_Fault_Type, + summary='Failed to add helm repository') + raise CLIError("Unable to add repository {} to helm: ".format(repo_url) + error_helm_repo.decode("ascii")) + + # Retrieving Helm chart OCI Artifact location + registry_path = os.getenv('HELMREGISTRY') if os.getenv('HELMREGISTRY') else get_helm_registry(profile, location) + + # Get azure-arc agent version for telemetry + azure_arc_agent_version = registry_path.split(':')[1] + telemetry.add_extension_event('connectedk8s', {'Context.Default.AzureCLI.AgentVersion': azure_arc_agent_version}) + + # Pulling helm chart from registry + os.environ['HELM_EXPERIMENTAL_OCI'] = '1' + pull_helm_chart(registry_path, kube_config, kube_context) + + # Exporting helm chart + chart_export_path = os.path.join(os.path.expanduser('~'), '.azure', 'AzureArcCharts') + export_helm_chart(registry_path, chart_export_path, kube_config, kube_context) + + # Generate public-private key pair + try: + key_pair = RSA.generate(4096) + except Exception as e: + telemetry.set_exception(exception=e, fault_type=KeyPair_Generate_Fault_Type, + summary='Failed to generate public-private key pair') + raise CLIError("Failed to generate public-private key pair. " + str(e)) + try: + public_key = get_public_key(key_pair) + except Exception as e: + telemetry.set_exception(exception=e, fault_type=PublicKey_Export_Fault_Type, + summary='Failed to export public key') + raise CLIError("Failed to export public key." + str(e)) + try: + private_key_pem = get_private_key(key_pair) + except Exception as e: + telemetry.set_exception(exception=e, fault_type=PrivateKey_Export_Fault_Type, + summary='Failed to export private key') + raise CLIError("Failed to export private key." + str(e)) + + # Helm Install + helm_chart_path = os.path.join(chart_export_path, 'azure-arc-k8sagents') + chart_path = os.getenv('HELMCHART') if os.getenv('HELMCHART') else helm_chart_path + cmd_helm_install = ["helm", "upgrade", "--install", "azure-arc", chart_path, + "--set", "global.subscriptionId={}".format(subscription_id), + "--set", "global.kubernetesDistro={}".format(kubernetes_distro), + "--set", "global.resourceGroupName={}".format(resource_group_name), + "--set", "global.resourceName={}".format(cluster_name), + "--set", "global.location={}".format(location), + "--set", "global.tenantId={}".format(onboarding_tenant_id), + "--set", "global.onboardingPrivateKey={}".format(private_key_pem), + "--set", "systemDefaultValues.spnOnboarding=false", + "--kubeconfig", kube_config, "--output", "json"] + if kube_context: + cmd_helm_install.extend(["--kube-context", kube_context]) + response_helm_install = Popen(cmd_helm_install, stdout=PIPE, stderr=PIPE) + _, error_helm_install = response_helm_install.communicate() + if response_helm_install.returncode != 0: + telemetry.set_exception(exception=error_helm_install.decode("ascii"), fault_type=Install_HelmRelease_Fault_Type, + summary='Unable to install helm release') + raise CLIError("Unable to install helm release: " + error_helm_install.decode("ascii")) + + # Create connected cluster resource + cc = generate_request_payload(configuration, location, public_key, tags) + try: + put_cc_response = sdk_no_wait(no_wait, client.create, + resource_group_name=resource_group_name, + cluster_name=cluster_name, connected_cluster=cc) + if no_wait: + return put_cc_response + except CloudError as ex: + telemetry.set_exception(exception=ex, fault_type=Create_ConnectedCluster_Fault_Type, + summary='Unable to create connected cluster resource') + raise CLIError(ex) + + # Getting total number of pods scheduled to run in azure-arc namespace + api_instance = kube_client.CoreV1Api(kube_client.ApiClient(configuration)) + pod_dict = get_pod_dict(api_instance) + + # Checking azure-arc pod statuses + try: + check_pod_status(pod_dict) + except Exception as e: # pylint: disable=broad-except + telemetry.set_exception(exception=e, fault_type=Check_PodStatus_Fault_Type, + summary='Failed to check arc agent pods statuses') + logger.warning("Failed to check arc agent pods statuses: %s", e) + + return put_cc_response + + +def set_kube_config(kube_config): + if kube_config is None: + kube_config = os.getenv('KUBECONFIG') + if kube_config is None: + kube_config = os.path.join(os.path.expanduser('~'), '.kube', 'config') + return kube_config + + +def trim_kube_config(kube_config): + if (kube_config.startswith("'") or kube_config.startswith('"')): + kube_config = kube_config[1:] + if (kube_config.endswith("'") or kube_config.endswith('"')): + kube_config = kube_config[:-1] + + +def check_kube_connection(configuration): + api_instance = kube_client.NetworkingV1Api(kube_client.ApiClient(configuration)) + try: + api_instance.get_api_resources() + except Exception as e: + telemetry.set_user_fault() + telemetry.set_exception(exception=e, fault_type=Kubernetes_Connectivity_FaultType, + summary='Unable to verify connectivity to the Kubernetes cluster') + logger.warning("Unable to verify connectivity to the Kubernetes cluster: %s\n", e) + raise CLIError("If you are using AAD Enabled cluster, " + + "verify that you are able to access the cluster. Learn more at " + + "https://aka.ms/arc/k8s/onboarding-aad-enabled-clusters") + + +def check_helm_install(kube_config, kube_context): + cmd_helm_installed = ["helm", "--kubeconfig", kube_config, "--debug"] + if kube_context: + cmd_helm_installed.extend(["--kube-context", kube_context]) + try: + response_helm_installed = Popen(cmd_helm_installed, stdout=PIPE, stderr=PIPE) + _, error_helm_installed = response_helm_installed.communicate() + if response_helm_installed.returncode != 0: + if "unknown flag" in error_helm_installed.decode("ascii"): + telemetry.set_user_fault() + telemetry.set_exception(exception='Helm 3 not found', fault_type=Helm_Version_Fault_Type, + summary='Helm3 not found on the machine') + raise CLIError("Please install the latest version of Helm. " + + "Learn more at https://aka.ms/arc/k8s/onboarding-helm-install") + telemetry.set_user_fault() + telemetry.set_exception(exception=error_helm_installed.decode("ascii"), fault_type=Helm_Installation_Fault_Type, + summary='Helm3 not installed on the machine') + raise CLIError(error_helm_installed.decode("ascii")) + except FileNotFoundError as e: + telemetry.set_exception(exception=e, fault_type=Check_HelmInstallation_Fault_Type, + summary='Unable to verify helm installation') + raise CLIError("Helm is not installed or requires elevated permissions. " + + "Ensure that you have the latest version of Helm installed on your machine. " + + "Learn more at https://aka.ms/arc/k8s/onboarding-helm-install") + except subprocess.CalledProcessError as e2: + e2.output = e2.output.decode("ascii") + print(e2.output) + + +def check_helm_version(kube_config, kube_context): + cmd_helm_version = ["helm", "version", "--short", "--kubeconfig", kube_config] + if kube_context: + cmd_helm_version.extend(["--kube-context", kube_context]) + response_helm_version = Popen(cmd_helm_version, stdout=PIPE, stderr=PIPE) + output_helm_version, error_helm_version = response_helm_version.communicate() + if response_helm_version.returncode != 0: + telemetry.set_exception(exception=error_helm_version.decode('ascii'), fault_type=Check_HelmVersion_Fault_Type, + summary='Unable to determine helm version') + raise CLIError("Unable to determine helm version: " + error_helm_version.decode("ascii")) + if "v2" in output_helm_version.decode("ascii"): + telemetry.set_user_fault() + telemetry.set_exception(exception='Helm 3 not found', fault_type=Helm_Version_Fault_Type, + summary='Helm3 not found on the machine') + raise CLIError("Helm version 3+ is required. " + + "Ensure that you have installed the latest version of Helm. " + + "Learn more at https://aka.ms/arc/k8s/onboarding-helm-install") + return output_helm_version.decode('ascii') + + +def resource_group_exists(ctx, resource_group_name, subscription_id=None): + groups = cf_resource_groups(ctx, subscription_id=subscription_id) + try: + groups.get(resource_group_name) + return True + except: # pylint: disable=bare-except + return False + + +def connected_cluster_exists(client, resource_group_name, cluster_name): + try: + client.get(resource_group_name, cluster_name) + except Exception as ex: + if (('was not found' in str(ex)) or ('could not be found' in str(ex))): + return False + raise CLIError("Unable to determine if the connected cluster resource exists. " + str(ex)) + return True + + +def get_helm_registry(profile, location): + cred, _, _ = profile.get_login_credentials( + resource='https://management.core.windows.net/') + token = cred._token_retriever()[2].get('accessToken') # pylint: disable=protected-access + + get_chart_location_url = "https://{}.dp.kubernetesconfiguration.azure.com/{}/GetLatestHelmPackagePath?api-version=2019-11-01-preview".format(location, 'azure-arc-k8sagents') + query_parameters = {} + query_parameters['releaseTrain'] = os.getenv('RELEASETRAIN') if os.getenv('RELEASETRAIN') else 'stable' + header_parameters = {} + header_parameters['Authorization'] = "Bearer {}".format(str(token)) + try: + response = requests.post(get_chart_location_url, params=query_parameters, headers=header_parameters) + except Exception as e: + telemetry.set_exception(exception=e, fault_type=Get_HelmRegistery_Path_Fault_Type, + summary='Error while fetching helm chart registry path') + raise CLIError("Error while fetching helm chart registry path: " + str(e)) + if response.status_code == 200: + return response.json().get('repositoryPath') + telemetry.set_exception(exception=str(response.json()), fault_type=Get_HelmRegistery_Path_Fault_Type, + summary='Error while fetching helm chart registry path') + raise CLIError("Error while fetching helm chart registry path: {}".format(str(response.json()))) + + +def pull_helm_chart(registry_path, kube_config, kube_context): + cmd_helm_chart_pull = ["helm", "chart", "pull", registry_path, "--kubeconfig", kube_config] + if kube_context: + cmd_helm_chart_pull.extend(["--kube-context", kube_context]) + response_helm_chart_pull = subprocess.Popen(cmd_helm_chart_pull, stdout=PIPE, stderr=PIPE) + _, error_helm_chart_pull = response_helm_chart_pull.communicate() + if response_helm_chart_pull.returncode != 0: + telemetry.set_exception(exception=error_helm_chart_pull.decode("ascii"), fault_type=Pull_HelmChart_Fault_Type, + summary='Unable to pull helm chart from the registry') + raise CLIError("Unable to pull helm chart from the registry '{}': ".format(registry_path) + error_helm_chart_pull.decode("ascii")) + + +def export_helm_chart(registry_path, chart_export_path, kube_config, kube_context): + chart_export_path = os.path.join(os.path.expanduser('~'), '.azure', 'AzureArcCharts') + cmd_helm_chart_export = ["helm", "chart", "export", registry_path, "--destination", chart_export_path, "--kubeconfig", kube_config] + if kube_context: + cmd_helm_chart_export.extend(["--kube-context", kube_context]) + response_helm_chart_export = subprocess.Popen(cmd_helm_chart_export, stdout=PIPE, stderr=PIPE) + _, error_helm_chart_export = response_helm_chart_export.communicate() + if response_helm_chart_export.returncode != 0: + telemetry.set_exception(exception=error_helm_chart_export.decode("ascii"), fault_type=Export_HelmChart_Fault_Type, + summary='Unable to export helm chart from the registry') + raise CLIError("Unable to export helm chart from the registry '{}': ".format(registry_path) + error_helm_chart_export.decode("ascii")) + + +def get_public_key(key_pair): + pubKey = key_pair.publickey() + seq = asn1.DerSequence([pubKey.n, pubKey.e]) + enc = seq.encode() + return b64encode(enc).decode('utf-8') + + +def get_private_key(key_pair): + privKey_DER = key_pair.exportKey(format='DER') + return PEM.encode(privKey_DER, "RSA PRIVATE KEY") + + +def get_server_version(configuration): + api_instance = kube_client.VersionApi(kube_client.ApiClient(configuration)) + try: + api_response = api_instance.get_code() + return api_response.git_version + except Exception as e: # pylint: disable=broad-except + telemetry.set_exception(exception=e, fault_type=Get_Kubernetes_Version_Fault_Type, + summary='Unable to fetch kubernetes version') + logger.warning("Unable to fetch kubernetes version: %s\n", e) + + +def get_kubernetes_distro(configuration): + api_instance = kube_client.CoreV1Api(kube_client.ApiClient(configuration)) + try: + api_response = api_instance.list_node() + if api_response.items: + labels = api_response.items[0].metadata.labels + if labels.get("node.openshift.io/os_id") == "rhcos" or labels.get("node.openshift.io/os_id") == "rhel": + return "openshift" + return "default" + except Exception as e: # pylint: disable=broad-except + telemetry.set_exception(exception=e, fault_type=Get_Kubernetes_Distro_Fault_Type, + summary='Unable to fetch kubernetes distribution') + logger.warning("Exception while trying to fetch kubernetes distribution: %s\n", e) + + +def generate_request_payload(configuration, location, public_key, tags): + # Create connected cluster resource object + aad_profile = ConnectedClusterAADProfile( + tenant_id="", + client_app_id="", + server_app_id="" + ) + identity = ConnectedClusterIdentity( + type="SystemAssigned" + ) + if tags is None: + tags = {} + cc = ConnectedCluster( + location=location, + identity=identity, + agent_public_key_certificate=public_key, + aad_profile=aad_profile, + tags=tags + ) + return cc + + +def get_pod_dict(api_instance): + pod_dict = {} + timeout = time.time() + 60 + while not pod_dict: + try: + api_response = api_instance.list_namespaced_pod('azure-arc') + for pod in api_response.items: + pod_dict[pod.metadata.name] = 0 + return pod_dict + except Exception as e: # pylint: disable=broad-except + logger.warning("Error occurred when retrieving pod information: %s", e) + time.sleep(5) + if time.time() > timeout: + logger.warning("Unable to fetch azure-arc agent pods.") + return pod_dict + + +def check_pod_status(pod_dict): + v1 = kube_client.CoreV1Api() + w = watch.Watch() + for event in w.stream(v1.list_namespaced_pod, namespace='azure-arc', timeout_seconds=360): + pod_status = event['raw_object'].get('status') + pod_name = event['object'].metadata.name + if pod_status.get('containerStatuses'): + for container in pod_status.get('containerStatuses'): + if container.get('state').get('running') is None: + pod_dict[pod_name] = 0 + break + else: + pod_dict[pod_name] = 1 + if container.get('state').get('terminated') is not None: + logger.warning("%s%s%s", "The pod {} was terminated. ".format(container.get('name')), + "Please ensure it is in running state once the operation completes. ", + "Run 'kubectl get pods -n azure-arc' to check the pod status.") + if all(ele == 1 for ele in list(pod_dict.values())): + return + telemetry.add_extension_event('connectedk8s', {'Context.Default.AzureCLI.ExitStatus': 'Timedout'}) + logger.warning("%s%s", 'The pods were unable to start before timeout. ', + 'Please run "kubectl get pods -n azure-arc" to ensure if the pods are in running state.') + + +def get_connectedk8s(cmd, client, resource_group_name, cluster_name): + return client.get(resource_group_name, cluster_name) + + +def list_connectedk8s(cmd, client, resource_group_name=None): + if not resource_group_name: + return client.list_by_subscription() + return client.list_by_resource_group(resource_group_name) + + +def delete_connectedk8s(cmd, client, resource_group_name, cluster_name, + kube_config=None, kube_context=None, no_wait=False): + logger.warning("Ensure that you have the latest helm version installed before proceeding to avoid unexpected errors.") + logger.warning("This operation might take a while ...\n") + + # Setting kubeconfig + kube_config = set_kube_config(kube_config) + + # Removing quotes from kubeconfig path. This is necessary for windows OS. + trim_kube_config(kube_config) + + # Loading the kubeconfig file in kubernetes client configuration + try: + config.load_kube_config(config_file=kube_config, context=kube_context) + except Exception as e: + telemetry.set_user_fault() + telemetry.set_exception(exception=e, fault_type=Load_Kubeconfig_Fault_Type, + summary='Problem loading the kubeconfig file') + raise CLIError("Problem loading the kubeconfig file." + str(e)) + configuration = kube_client.Configuration() + + # Checking the connection to kubernetes cluster. + # This check was added to avoid large timeouts when connecting to AAD Enabled + # AKS clusters if the user had not logged in. + check_kube_connection(configuration) + + # Checking helm installation + check_helm_install(kube_config, kube_context) + + # Check helm version + check_helm_version(kube_config, kube_context) + + # Check Release Existance + release_namespace = get_release_namespace(kube_config, kube_context) + if release_namespace is None: + delete_cc_resource(client, resource_group_name, cluster_name, no_wait) + return + + # Loading config map + api_instance = kube_client.CoreV1Api(kube_client.ApiClient(configuration)) + try: + configmap = api_instance.read_namespaced_config_map('azure-clusterconfig', 'azure-arc') + except Exception as e: # pylint: disable=broad-except + telemetry.set_exception(exception=e, fault_type=Read_ConfigMap_Fault_Type, + summary='Unable to read ConfigMap') + raise CLIError("Unable to read ConfigMap 'azure-clusterconfig' in 'azure-arc' namespace: %s\n" % e) + + if (configmap.data["AZURE_RESOURCE_GROUP"].lower() == resource_group_name.lower() and + configmap.data["AZURE_RESOURCE_NAME"].lower() == cluster_name.lower()): + delete_cc_resource(client, resource_group_name, cluster_name, no_wait) + else: + telemetry.set_user_fault() + telemetry.set_exception(exception='Unable to delete connected cluster', fault_type=Bad_DeleteRequest_Fault_Type, + summary='The resource cannot be deleted as kubernetes cluster is onboarded with some other resource id') + raise CLIError("The current context in the kubeconfig file does not correspond " + + "to the connected cluster resource specified. Agents installed on this cluster correspond " + + "to the resource group name '{}' ".format(configmap.data["AZURE_RESOURCE_GROUP"]) + + "and resource name '{}'.".format(configmap.data["AZURE_RESOURCE_NAME"])) + + # Deleting the azure-arc agents + delete_arc_agents(release_namespace, kube_config, kube_context, configuration) + + +def get_release_namespace(kube_config, kube_context): + cmd_helm_release = ["helm", "list", "-a", "--all-namespaces", "--output", "json", "--kubeconfig", kube_config] + if kube_context: + cmd_helm_release.extend(["--kube-context", kube_context]) + response_helm_release = Popen(cmd_helm_release, stdout=PIPE, stderr=PIPE) + output_helm_release, error_helm_release = response_helm_release.communicate() + if response_helm_release.returncode != 0: + telemetry.set_exception(exception=error_helm_release.decode("ascii"), fault_type=List_HelmRelease_Fault_Type, + summary='Unable to list helm release') + raise CLIError("Helm list release failed: " + error_helm_release.decode("ascii")) + output_helm_release = output_helm_release.decode("ascii") + output_helm_release = json.loads(output_helm_release) + for release in output_helm_release: + if release['name'] == 'azure-arc': + return release['namespace'] + return None + + +def delete_cc_resource(client, resource_group_name, cluster_name, no_wait): + try: + sdk_no_wait(no_wait, client.delete, + resource_group_name=resource_group_name, + cluster_name=cluster_name) + except CloudError as ex: + telemetry.set_exception(exception=ex, fault_type=Delete_ConnectedCluster_Fault_Type, + summary='Unable to create connected cluster resource') + raise CLIError(ex) + + +def delete_arc_agents(release_namespace, kube_config, kube_context, configuration): + cmd_helm_delete = ["helm", "delete", "azure-arc", "--namespace", release_namespace, "--kubeconfig", kube_config] + if kube_context: + cmd_helm_delete.extend(["--kube-context", kube_context]) + response_helm_delete = Popen(cmd_helm_delete, stdout=PIPE, stderr=PIPE) + _, error_helm_delete = response_helm_delete.communicate() + if response_helm_delete.returncode != 0: + telemetry.set_exception(exception=error_helm_delete.decode("ascii"), fault_type=Delete_HelmRelease_Fault_Type, + summary='Unable to delete helm release') + raise CLIError("Error occured while cleaning up arc agents. " + + "Helm release deletion failed: " + error_helm_delete.decode("ascii")) + ensure_namespace_cleanup(configuration) + + +def ensure_namespace_cleanup(configuration): + api_instance = kube_client.CoreV1Api(kube_client.ApiClient(configuration)) + timeout = time.time() + 120 + while True: + if time.time() > timeout: + logger.warning("Namespace 'azure-arc' still in terminating state") + return + try: + api_response = api_instance.list_namespace(field_selector='metadata.name=azure-arc') + if api_response.items: + return + time.sleep(5) + except Exception as e: # pylint: disable=broad-except + logger.warning("Exception while retrieving 'azure-arc' namespace: %s\n", e) + + +def update_connectedk8s(cmd, instance, tags=None): + with cmd.update_context(instance) as c: + c.set_param('tags', tags) + return instance diff --git a/src/connectedk8s/azext_connectedk8s/tests/__init__.py b/src/connectedk8s/azext_connectedk8s/tests/__init__.py new file mode 100644 index 00000000000..99c0f28cd71 --- /dev/null +++ b/src/connectedk8s/azext_connectedk8s/tests/__init__.py @@ -0,0 +1,5 @@ +# ----------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# ----------------------------------------------------------------------------- diff --git a/src/connectedk8s/azext_connectedk8s/tests/latest/__init__.py b/src/connectedk8s/azext_connectedk8s/tests/latest/__init__.py new file mode 100644 index 00000000000..99c0f28cd71 --- /dev/null +++ b/src/connectedk8s/azext_connectedk8s/tests/latest/__init__.py @@ -0,0 +1,5 @@ +# ----------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# ----------------------------------------------------------------------------- diff --git a/src/connectedk8s/azext_connectedk8s/tests/latest/data/cli-test-aks-qkwd4jje7tm-config.yaml b/src/connectedk8s/azext_connectedk8s/tests/latest/data/cli-test-aks-qkwd4jje7tm-config.yaml new file mode 100644 index 00000000000..b2ca4de06a2 --- /dev/null +++ b/src/connectedk8s/azext_connectedk8s/tests/latest/data/cli-test-aks-qkwd4jje7tm-config.yaml @@ -0,0 +1,20 @@ +apiVersion: v1 +clusters: +- cluster: + certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUV5RENDQXJDZ0F3SUJBZ0lQYjh5NkM2TUhrN0tUV21VQXE2R3JNQTBHQ1NxR1NJYjNEUUVCQ3dVQU1BMHgKQ3pBSkJnTlZCQU1UQW1OaE1DQVhEVEl3TURReU9URXpNRFV4TjFvWUR6SXdOVEF3TkRJNU1UTXhOVEUzV2pBTgpNUXN3Q1FZRFZRUURFd0pqWVRDQ0FpSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnSVBBRENDQWdvQ2dnSUJBTFE0CmRnNXdtbzN5TVJ6ZU5mV2VCMkUrS3ZKZHJBd2ordkNOa0ZDZzlsdmwva29yQzhVUHlGZWJmV1N3NCs0K1lWRHUKbmhDM2JRSE8yVnFMbFcveWU0OTBlY3RqZDkrcVN1RjFDWTBXNndDVkVLbm16c3Z5d3lVcFUxWEVXMWppTWxSNQpqbkdRNXNwRGlHU2poQkNKbCtSb002ODQ0TUh2TnJObmRmWVFiTlRXdkVQNzRnV3ZMNTVLc2ljbm5abXFGUW9jCkQ5NHlKSTR6T3ZTK1hINHFPYkpCaklkRS9OdnZjUW1MenAyaitXUFV5aHFwUC8zbUtwSUlJQXFtcU5Jb3c1UzQKUmE5MDVyMWtXTjJZbGthdjVBTExxS09yNERqWGFCNG5yaE55bVlyNG5hZndnUVpBODdVMXI2a2JrSUM4Rm5QcQpZQmcxT0c4bmVjbE1YckxHUXNhb1N1TGszR3VrMnJHZGorbGVDakJIWVd2eG9qZHV6ODJRbGtRczB2R3lkNUtoCmMyMUNhWWxpbFFlTG1WY1pBRkZ6NmRHUzFDZElpQTRoNUdjaTNySWlHemhtZEN1Z2dCRlRiMG1mUjJ0QjZXY2UKVk9FaTl3OHlWZVRUMHFOVjFIeWdwMldOSXBiWWNoVHVFbFA1d1o2MDhqeTdaQ2pCSzNpdUZTenFaSWhnTmpUZApwY28wV1BkdUE3SkFBRUMvbFdTQ3d6d3hUWjl5eFcwaDdLRE5IdFRNc1pHSnM1eHYvUGNKUnFNNzhxUjRsT3luCkIzckRydW5la3YyaHZGVlNpQmc1bVFPK1BScTEzZ08xME1xa0NmaU5uUm02WGpLdWNRWXNZVlhNUk5keTB4Y3MKOHM2TjNtbWhYRHlZdzVPRVRRcTE2UE1XYmVDeHJ2NWhZRVJuNE5qM0FnTUJBQUdqSXpBaE1BNEdBMVVkRHdFQgovd1FFQXdJQ3BEQVBCZ05WSFJNQkFmOEVCVEFEQVFIL01BMEdDU3FHU0liM0RRRUJDd1VBQTRJQ0FRQVczL1RrCkIyazlIQ1V0c3pYckpmQXY3ZitHWU04NzlNZTcrL0FETjVXbDhkMUVCS0VQK2NhMmc0a2NnRkRDdXJjUEovelQKL1pyRmZya0ZlK25OWDR0RVRrWHhOaGJIT0VjWU8ydVh5dkpXRitsQ1hlSHhRa3F2UktGOElsamliMnNSa28veAp1RGZSaGl3MVNuOVViQlhsU2V0WlVCa1FNTkYzQXhEL29NNXkyVWIzdHZpVlRoZTNQeThzVFdOdWFYS1F6NDBnCm1UOUx0dmJ5NHZMUUxrUW11T0dsZnZhYXVQQS81am1jaXBmRG5hODBKSkRmK3Z4bzJldnBGTkI3MTBqK3NSVnUKZUJkRnRSSmx0RHRHdlRjT0xPYlFqVjR4am1iQmtkblFiWUs5Qkc5NThaNDdxUE5Udlg1b2NRdzEvSDl6S1ZDcwpVa0JzZDdYN1doNi9zbzEvZkQ2ZWQvYmUxbmJrVUg5ejZjam1XZGplQTlGdWdqL1V5dW5UaUJ5d3BONmFhSzlxCnRTY212eDllY1UxRVJpQ1Fkelo0TkdGS01BOHpxS2FCeTl6RHdaeDVPMWhrT2ZzbkJXTUJrbG9nMFdYYVBobTMKWkZZL3pUakhtdGdETTZNRWlxS0hWaytKdWdFbjRVOE0vb3NDNEd3OEdRZFArbzVYclZ2VTYwTVNneXFiWmJNTAo3WExVbzhXYkkzaThlWTFRZ3huR1dHdlZKYVU3dEVOWFhXNStDcFM3alZQeVJ1SmorMXBobEpITGpZclNXSENWCjJLUFlCLy9UaWY5RHFGWUFyb2JHdVp1cFhCZjRmQ1lMMGRXZ214SzBMdnpZYUtPbkNubmVZcmVjdGNsWGEwZ3IKUlJwTzlHbUlsTDZyaXZVMG1KNG85Yno4QXFHT2JmMFhYVWwwMmc9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg== + server: https://cli-test-a-akkeshar-test2-1bfbb5-e103f3ad.hcp.westeurope.azmk8s.io:443 + name: cli-test-aks-qkwd4jje7tm +contexts: +- context: + cluster: cli-test-aks-qkwd4jje7tm + user: clusterUser_akkeshar-test2_cli-test-aks-qkwd4jje7tm + name: cli-test-aks-qkwd4jje7tm +current-context: cli-test-aks-qkwd4jje7tm +kind: Config +preferences: {} +users: +- name: clusterUser_akkeshar-test2_cli-test-aks-qkwd4jje7tm + user: + client-certificate-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUUvRENDQXVTZ0F3SUJBZ0lRREZWT0xRMUNFa08rN3hhNWR4UGFiREFOQmdrcWhraUc5dzBCQVFzRkFEQU4KTVFzd0NRWURWUVFERXdKallUQWVGdzB5TURBME1qa3hNekExTVRkYUZ3MHlNakEwTWpreE16RTFNVGRhTURBeApGekFWQmdOVkJBb1REbk41YzNSbGJUcHRZWE4wWlhKek1SVXdFd1lEVlFRREV3eHRZWE4wWlhKamJHbGxiblF3CmdnSWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUNEd0F3Z2dJS0FvSUNBUURTbTBFT1AreVhBeUVLOWlheGJiVisKU1ovUm1ReUpvSm15QkJ2dUxHemZkT2FTbVlWdVl0Z3VPd1dWS2ovUVhEa1BHRnp6MytuaitJZlptK3UvajZSMgpLZFdqS1l1VS9PYXh5QUgwWUcrd0NRWXJnNnlWZG9kUVJ5QjF6MWcrdjhhOUN5am9OOVJodnNYdEJUU05GWk1DCkFxRDYzYWtsMTNpWk1rWWpHenoxelRKS2RwVjV4NnVERVRmbHpPTEM0MjRlaHpZdkZuRlQ5ZzZNR3F3dFlVSk4KMWlKbXdzak5rd2lEbzFmaXNuejl4dDZSTG54NkV4R0pOV0pDQWs5bGtRMkIrNVY5QUhCdmlXYWdHeS9SeHE2eAphWTdtK1BDREs0RytDL0lZQ2tMUEFvTEVmQU9WL1JJM3pRZmVqM0dOSVpYVDBHUHFXUkFYdDUyRHY0eVJhMlNqCnlvcE9VQ0VqcUdjYmJTUkRSZ2lmYWltUDAzNWtlMHlkWnNNcmxWY1JwUTJGSE1VVVp6b2JJL3NoNmcydlVwRE8KalhxTzY3MWltZXBRWHE2NEl4eVk4SDdUb3JORE5OWjlaK01uOHhVSnNmd2RhVE81bzdmdnRucDFwSTJXeHZvSwpZL2NiQU5CM1VhT0VEMWxBSU1uWE9jMzVFY1l4UC9iakt6SE9pQ0xqR0NpQTlTemhyV2p1VEltR0pMNzVPVXZzClJqNmFKVE9CMmRyeHQ0QnVBbDl1a3UzMEUxUTlkazVzM25teHNIUTRhZXMrTjlFZjBVaGhHU29GOXdJNTNnQlkKSFdiMGZmYlJ2MEtZb1FOSkVaRDJoV3RyVDB2UnozUEt5MW82MzVRQW5IYlBjNEtwenFyb0VBUDgvV1NTQzY3MQpxVUxiVHlXM2ZXRnkvUVM3RGpBYm5RSURBUUFCb3pVd016QU9CZ05WSFE4QkFmOEVCQU1DQmFBd0V3WURWUjBsCkJBd3dDZ1lJS3dZQkJRVUhBd0l3REFZRFZSMFRBUUgvQkFJd0FEQU5CZ2txaGtpRzl3MEJBUXNGQUFPQ0FnRUEKcTRGYkgzb2lyc1NmSFVRN1NIRkFWM3RpMHRhSnJiYnZKbEJDcWNIMzR0TWMxMEp5S1hHTUphK0Z5OEJYMjVyaApreUFtVHNtNlNaOER4VmZJTjE0Q0labFFKT21ZS0ZoUmFvUldmV0lzS3N0YytOeFk0SXFzL3ZhZXpFaUJjN2tYCjQ1bG1yN2pkdHJWUmdVWTJad2lRVlFVdStZRVE5bEZmTmp6bXVkOUtGSjh0L3pIMy9qb3JPTTVWbzFQTnRjOGcKZGR1WmsyL1JCbjRlbWFmZHB2UnR0WVFBVGlCNFNtVEJrQStOc2ptMGRmcmhlZWprV0I0YTRpN1hNdnhXMlV0QwoyS1VPbHFhTml1WVgrSUVCQ2hxMk1wUUE3QXNsa0NQS1BzbVZEcjJRbmxBczlNeHVwK1k1aU53TThDTlFIYml4CnZjY3BCelhSSkNNZ2NoVU5iUWQvUitkd3N4OGZQNWx2cEd1T2EwcVJDU2Q1NzRxRDZpMXZweTZwdUZwQ0s4S3oKVXVFQXJTQWZPM3pyMlBPVXF0T1R2dUJwMEdXV2Z1SG95V2UrT2hPYjhZb2tGb3lob3dYaGNWT3kyc2xhOGJ3NgozOUtleWlmRTJFRjl2cm5VREdhY2l2eFhLRzdwOEUxQ1JETUxyQ1h2SFRBSi9JQnhjSi8rb3VreG9yRlJvMXBHCjZQeTV3K0s5T2NCckcwejBwWjI4N1c4RlVXRW9wWGt6RGxmN2l2aEt6RWt5S1lrY204MVNnUVYwdHRtaFNLSFMKUUZua2ZuTHVpYWtseHFweHkxd256YnRESGJ2VDFEb3FNL2pBdGZaaDIxV2x3WkhYV3ZQZ21Wb2xiMWM2Z2hCWgpXOVM4OU9QcFpKVWtNYVV0SHFkV215cE45ZytHa240MU13eDg1eDRsdmljPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg== + client-key-data: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS1FJQkFBS0NBZ0VBMHB0QkRqL3Nsd01oQ3ZZbXNXMjFma21mMFprTWlhQ1pzZ1FiN2l4czMzVG1rcG1GCmJtTFlManNGbFNvLzBGdzVEeGhjODkvcDQvaUgyWnZydjQra2RpblZveW1MbFB6bXNjZ0I5R0J2c0FrR0s0T3MKbFhhSFVFY2dkYzlZUHIvR3ZRc282RGZVWWI3RjdRVTBqUldUQWdLZyt0MnBKZGQ0bVRKR0l4czg5YzB5U25hVgplY2VyZ3hFMzVjeml3dU51SG9jMkx4WnhVL1lPakJxc0xXRkNUZFlpWnNMSXpaTUlnNk5YNHJKOC9jYmVrUzU4CmVoTVJpVFZpUWdKUFpaRU5nZnVWZlFCd2I0bG1vQnN2MGNhdXNXbU81dmp3Z3l1QnZndnlHQXBDendLQ3hId0QKbGYwU044MEgzbzl4alNHVjA5Qmo2bGtRRjdlZGc3K01rV3RrbzhxS1RsQWhJNmhuRzIwa1EwWUluMm9wajlOKwpaSHRNbldiREs1VlhFYVVOaFJ6RkZHYzZHeVA3SWVvTnIxS1F6bzE2anV1OVlwbnFVRjZ1dUNNY21QQiswNkt6ClF6VFdmV2ZqSi9NVkNiSDhIV2t6dWFPMzc3WjZkYVNObHNiNkNtUDNHd0RRZDFHamhBOVpRQ0RKMXpuTitSSEcKTVQvMjR5c3h6b2dpNHhnb2dQVXM0YTFvN2t5SmhpUysrVGxMN0VZK21pVXpnZG5hOGJlQWJnSmZicEx0OUJOVQpQWFpPYk41NXNiQjBPR25yUGpmUkg5RklZUmtxQmZjQ09kNEFXQjFtOUgzMjBiOUNtS0VEU1JHUTlvVnJhMDlMCjBjOXp5c3RhT3QrVUFKeDJ6M09DcWM2cTZCQUQvUDFra2d1dTlhbEMyMDhsdDMxaGN2MEV1dzR3RzUwQ0F3RUEKQVFLQ0FnRUFqNGxVcTF1UjZkSXVJUVJtbHFLSkFjczM2MmYrRFlheGVZd25aUXBPSVhYUTk3VStKVitrcXMxNwpIcEN1OFZrSlltcGVYN0FKL2wrU1p4TkhkMFYwOXp2SDZPNFZ2Yk1ubjU4TEJmejc0ZVFrbWwraHJqUWNRUEJaCkJUSU5tS2FuMG92YWszb0plNXpEMUtpcGlrWmI3UkRSbW1pY01iaEs3MDQrVXdyclh6TTh4VmRReExEN0NkY2cKVzdScUVCMWxIZFZWYm41RE90QUdWaUtQbWxZaEZGK1BEcTVPb1IxR3ZrRURVdlFIRUFjTUJiTERENGdUZVlveQpyMzVYa29kcngxMHFJd203bDZqemtzYzByaXBWUVlFSjdnMVlEbTRHZlBvelE0TXF5VitTdEVzNVBtNCtqbDFrCnNhRGQ2U3dzcXpIcUJ2d3daWm0wOXVnRDY5QmZ3NnlxdXcrM2tLVFF1RER5ZFZya2hLZEVISUtmR290dzg3QVYKZld4OUYrVDBSZFJnd1FpMzZ5K0JnQXZmNm5kM1NJS3oxMmdPSFgzM1A3a0lCajd6ZXI5bTZINW0vOThmYTlQeApTUWdhMDdWZ2tFbFZCanVKMzNSeVF4V1BZY3FEeUJ1QUtxRm9IeFFSOXhtZzdIdkhscGg1SHFPNWhnOVdLbzJ5CkVnRjRCNlIxak1qYzNwLzF6Y0JmZ0dwVlRNTkFQcDF4WTQ5Ti9kYytWckRRS3JBWk1TSjJrb1QxaklLdUhtR0wKb0E4MEtvVG9UMkNEL2hUTTFSaFBKSGZIVW02L1V4b2hlUUtibG5GZ1hTOW1ZUE5KQ3M2UlFha2tDb1ZsYVFEYQpYRE9INzRYTW1lL280a2RGMis5MmZDallJdExjK084Rm9rdWdKSGlWaXM4Tmx4K2VyY0VDZ2dFQkFQa2NteHZwCnQ4RUlzellXK1UxNGxCcHlzZFVJOGcwSkFGbjZqM083bTVuQ285cmhKcVNQRXEvVzJZRHU1ZFlzd0k1dzR6WjkKcjJHNCtDTzlocm1Pckx4OFZ4MDBEVUw4MjF2WjhKc3U5VXpsbldhRHNUUzUvSWJGNGt0T0NqZU9zOFgvTmQzaQpnWDY1L3ZGZ1NUNm9WUWhacG92aW11S3ZYNGZjZ0VBNnZZYThtalVPVThPWlZDV2JWUUFtYjkwUXdKMlFiRUx6CkNMTEhIUlBXREhDMkdWRS9RUVRzZy9XWGthR3RKenB0WEhSZjRzNThsejB3S0h1dHFjTmp5RHNna25sTG5haUQKbEJTVm00ZmxpZ1R3ZWUydGpxRUlSeStmQTNJM0FDRzQ3VDR3Y2VrYXNXY3llTVZOdkQydG91Qi9WY2dhSWNHNwozQ0ZabzlzZ2g0QkZmV1VDZ2dFQkFOaHVGSERaOW5ieDJScHArZE9Nd2NkRWZmY2x6czZJTmxOSThIeVA1SlNHClhoNWFKZ2pjZGg5RVRSbytteUkyeHNuL1F3ZWZxSU5DUGlDeGxBdHNSK21WVm5JZ3Fkcy8ybktyQlRKa29YU2sKTkxCTDZ6a1U0YVYzQmRGWGlIZjFENTdIMTQ0dTVRRzdZd0dGaFhST0NpUnZLRjZHVGNuQVJxcjVza00zNHpILwpjYk5ycFI3d1YzdXJES3RKT3ZDUThxZnBrQU5xblpqeXpuYzRHV3VWSU4rUDRiT0o2TzlONkdrRnpOT0VQZFdYCnRtQSthQ0pTRFVkdXlKK2ZpQnBnTStmSHUrbXR2Y1VqaTdob0ZMYVRSUDBZaXh2V3lLb2dEWkZ5WXNzaEJCYjgKbEpyMEsrVDUreVNBK2NsQzdwbnVDL09Od0RwZndlNURHVGFqQzZVcy9ka0NnZ0VCQUl3MjViZFlYZTF4RUM0cAowRGtpM1hubGhPTDhIZ0hvUnlKZVBkQk9rTTZERitkalEzVHNjd0EyVmthVU1SblVKcTRHTEYzSGNLZjRqUExSCkFydis2b3RORVZ1R3FOQkRzdFNJWHoxNXVPaUhkWWoySnhBZWYxejhsTnIrR2hJYmFHVFJ1V2dpemZDZWtEa2MKa1IyTGNoRTVKTjBudHpaUXI5eXc2QjgrOE42ZDJjNXpPZ0tta3c1MzErZzF1bEViMU03Yk01U2JaeEg1c1F3eApOdDlhSC9YelBJMmc4c1dSZ284Vi96YUx4N1paSWpoSE9IbGdXZWtEWHNKenI0aFlWUm1nemlURHF0M0xON2ZPCkkxbVVZWXkrVzhHWC96bDJyMkhpUTFpMzFoRmpBenJKbzRFS2o1KyttVzIrQmllR2hLb1V5MXRZZWhicmRhY3AKTUJ1ckFXRUNnZ0VBVjhnR0NHT1BJRjBsTmg1bmtwTVRnVlBaVjJXQlJLbGdoMVVkSFJocm1JWUxKSHBoMU5RKwpJSjVlTzFmTEtneFhnbFJEQnBPT0VIYk1wZ3dBUk1YTlFRTXVCYW9UMm5aQ2pxR293UENwdjVwZU9HY0NaNnQ5CmZkUVJpdi9hdlBTck9qWkp5a1JnNDl2eDR3c1p2cnRzUjZ6Q0RkeWhMa1FMSll1UzdzcDdIcXRCbllqNmR0cjYKVUpGbTJRNGhsckxqaUpFbHRRMElFS0hpZGQ1T0NTRjZMTks1czAwcktleEthRlpPNWpkTHNSY1FoR2FyYThnbAoxS1F0UVBpK2hod2cwVkJrZWZuYTcxdGtidzNmNE5GSWVQTDhjUFVqZkVUMTI5a3VFcjg0WG01aGc1dW5OZjdpCkNzTTVESlZXR3g2K3dERHRGNEFCTXpjSndleE5hOWdjdVFLQ0FRQUFqcHBVVmdQeWY4TVZSZUVpRnQ2aXVlTk4KK08vT2xQbU83am9mcSt3S05jNUZacXRpTU5ubDRKWDNmZ1AvS3B1bFZ4eGJqaDZDdzAxWWQvSXVqUWt4Sk9QbAp4MVhwOGhncDNZYXJwdjJ0SmNtQzZBSjA1WmpXeEZBWTZWdnE0dHMyLzh5N0h4YzFsOEtkbFFvQmI2TS95MnZOCkhPRUVwNEJ3WlY3Q20zSXBvQ1JhUm9HU2hLeHc1Vk40QW1nbUpUeWRxRzI1WFhWK3NicEYzdnh6bTV4MmxtRHgKM2JrMk0xVVA3dTB2QjhPTzlvV3FKWFhDYkhlM0hmQ2krS0gzcXk2MmFQTmpncFY3cllFK2lBbm9aVGhBODJwcwpEbnNiVjhuSzNwZUQ0OUFPa1lpMER3Y09GbTNrYnJkNnV0RUIvTDlWU0NqTFFrallZaUIwM0ZreS9iazEKLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0K + token: 6f92f583edd15914411a50fe51117e72269670f854086fc8bd2efa9aa60104fbcfea10484a21df4fd0cb1936cf33ccb0af2c80426c6119d6e7f5c5454c686ab7 diff --git a/src/connectedk8s/azext_connectedk8s/tests/latest/data/setupChart.tgz b/src/connectedk8s/azext_connectedk8s/tests/latest/data/setupChart.tgz new file mode 100644 index 00000000000..9174444ba93 Binary files /dev/null and b/src/connectedk8s/azext_connectedk8s/tests/latest/data/setupChart.tgz differ diff --git a/src/connectedk8s/azext_connectedk8s/tests/latest/recordings/test_connectedk8s.yaml b/src/connectedk8s/azext_connectedk8s/tests/latest/recordings/test_connectedk8s.yaml new file mode 100644 index 00000000000..ed9422c433c --- /dev/null +++ b/src/connectedk8s/azext_connectedk8s/tests/latest/recordings/test_connectedk8s.yaml @@ -0,0 +1,1842 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - -g -n -s -l -c --generate-ssh-keys + User-Agent: + - python/3.7.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.5.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/akkeshar-test2?api-version=2019-07-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/akkeshar-test2","name":"akkeshar-test2","type":"Microsoft.Resources/resourceGroups","location":"eastus2","properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '226' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 29 Apr 2020 10:45:09 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"availableToOtherTenants": false, "homepage": "http://7cc6a0.cli-test-a-akkeshar-test2-1bfbb5.westeurope.cloudapp.azure.com", + "passwordCredentials": [{"startDate": "2020-04-29T10:45:09.090294Z", "endDate": + "2025-04-29T10:45:09.090294Z", "keyId": "18b0b217-5dbc-4547-ba71-ae8c200fd684", + "value": "ReplacedSPPassword123*"}], "displayName": "cli-test-aks-000001", "identifierUris": + ["http://7cc6a0.cli-test-a-akkeshar-test2-1bfbb5.westeurope.cloudapp.azure.com"]}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + Content-Length: + - '465' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -g -n -s -l -c --generate-ssh-keys + User-Agent: + - python/3.7.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-graphrbac/0.60.0 Azure-SDK-For-Python AZURECLI/2.5.0 + accept-language: + - en-US + method: POST + uri: https://graph.windows.net/00000000-0000-0000-0000-000000000000/applications?api-version=1.6 + response: + body: + string: '{"odata.metadata": "https://graph.windows.net/00000000-0000-0000-0000-000000000000/$metadata#directoryObjects/@Element", + "odata.type": "Microsoft.DirectoryServices.Application", "objectType": "Application", + "objectId": "25f47067-8000-4313-b12b-1e68e5bd7ce7", "deletionTimestamp": null, + "acceptMappedClaims": null, "addIns": [], "appId": "b1b0bd23-b490-4728-8202-54f2378dd0ab", + "applicationTemplateId": null, "appRoles": [], "availableToOtherTenants": + false, "displayName": "cli-test-aks-000001", "errorUrl": null, "groupMembershipClaims": + null, "homepage": "http://7cc6a0.cli-test-a-akkeshar-test2-1bfbb5.westeurope.cloudapp.azure.com", + "identifierUris": ["http://7cc6a0.cli-test-a-akkeshar-test2-1bfbb5.westeurope.cloudapp.azure.com"], + "informationalUrls": {"termsOfService": null, "support": null, "privacy": + null, "marketing": null}, "isDeviceOnlyAuthSupported": null, "keyCredentials": + [], "knownClientApplications": [], "logoutUrl": null, "logo@odata.mediaEditLink": + "directoryObjects/25f47067-8000-4313-b12b-1e68e5bd7ce7/Microsoft.DirectoryServices.Application/logo", + "logo@odata.mediaContentType": "application/json;odata=minimalmetadata; charset=utf-8", + "logoUrl": null, "mainLogo@odata.mediaEditLink": "directoryObjects/25f47067-8000-4313-b12b-1e68e5bd7ce7/Microsoft.DirectoryServices.Application/mainLogo", + "oauth2AllowIdTokenImplicitFlow": true, "oauth2AllowImplicitFlow": false, + "oauth2AllowUrlPathMatching": false, "oauth2Permissions": [{"adminConsentDescription": + "Allow the application to access cli-test-aks-000001 on behalf of the signed-in + user.", "adminConsentDisplayName": "Access cli-test-aks-000001", "id": "295a1b62-b6dd-4fce-8e50-aa75828f34ce", + "isEnabled": true, "type": "User", "userConsentDescription": "Allow the application + to access cli-test-aks-000001 on your behalf.", "userConsentDisplayName": + "Access cli-test-aks-000001", "value": "user_impersonation"}], "oauth2RequirePostResponse": + false, "optionalClaims": null, "orgRestrictions": [], "parentalControlSettings": + {"countriesBlockedForMinors": [], "legalAgeGroupRule": "Allow"}, "passwordCredentials": + [{"customKeyIdentifier": null, "endDate": "2025-04-29T10:45:09.090294Z", "keyId": + "18b0b217-5dbc-4547-ba71-ae8c200fd684", "startDate": "2020-04-29T10:45:09.090294Z", + "value": "ReplacedSPPassword123*"}], "publicClient": null, "publisherDomain": + "microsoft.onmicrosoft.com", "recordConsentConditions": null, "replyUrls": + [], "requiredResourceAccess": [], "samlMetadataUrl": null, "signInAudience": + "AzureADMyOrg", "tokenEncryptionKeyId": null}' + headers: + access-control-allow-origin: + - '*' + cache-control: + - no-cache + content-length: + - '2417' + content-type: + - application/json; odata=minimalmetadata; streaming=true; charset=utf-8 + dataserviceversion: + - 3.0; + date: + - Wed, 29 Apr 2020 10:45:15 GMT + duration: + - '34598203' + expires: + - '-1' + location: + - https://graph.windows.net/00000000-0000-0000-0000-000000000000/directoryObjects/25f47067-8000-4313-b12b-1e68e5bd7ce7/Microsoft.DirectoryServices.Application + ocp-aad-diagnostics-server-name: + - 7p18uT4vGRQ61af1sJOCAdNJxJr1keswAh6tZndlxuE= + ocp-aad-session-key: + - _1Odn6to25smjSSQRuttoA0571QALrfU3bGo3RTpU8vetXJXXzYakZSpgdB3S9Du2jtdH2KP-YNRycLUtx0g81XH2Rz8UejfLzTmnmHSOhGAih6HcbxyRSxKw6ses_MchD5eQRTEVffzrBm4kBgBDd3j57Em_APvEm4fXh4aQtg.6h0uIdfq61Q9ErXq-WPwIT0Rab_TgEUX9LbFNsBvSKg + pragma: + - no-cache + request-id: + - 0d0affe9-9b45-48ef-919e-d4e9fbb6cf3d + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-ms-dirapi-data-contract-version: + - '1.6' + x-powered-by: + - ASP.NET + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - -g -n -s -l -c --generate-ssh-keys + User-Agent: + - python/3.7.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-graphrbac/0.60.0 Azure-SDK-For-Python AZURECLI/2.5.0 + accept-language: + - en-US + method: GET + uri: https://graph.windows.net/00000000-0000-0000-0000-000000000000/applications?$filter=appId%20eq%20%27b1b0bd23-b490-4728-8202-54f2378dd0ab%27&api-version=1.6 + response: + body: + string: '{"odata.metadata":"https://graph.windows.net/00000000-0000-0000-0000-000000000000/$metadata#directoryObjects","value":[{"odata.type":"Microsoft.DirectoryServices.Application","objectType":"Application","objectId":"25f47067-8000-4313-b12b-1e68e5bd7ce7","deletionTimestamp":null,"acceptMappedClaims":null,"addIns":[],"appId":"b1b0bd23-b490-4728-8202-54f2378dd0ab","applicationTemplateId":null,"appRoles":[],"availableToOtherTenants":false,"displayName":"cli-test-aks-000001","errorUrl":null,"groupMembershipClaims":null,"homepage":"http://7cc6a0.cli-test-a-akkeshar-test2-1bfbb5.westeurope.cloudapp.azure.com","identifierUris":["http://7cc6a0.cli-test-a-akkeshar-test2-1bfbb5.westeurope.cloudapp.azure.com"],"informationalUrls":{"termsOfService":null,"support":null,"privacy":null,"marketing":null},"isDeviceOnlyAuthSupported":null,"keyCredentials":[],"knownClientApplications":[],"logoutUrl":null,"logo@odata.mediaEditLink":"directoryObjects/25f47067-8000-4313-b12b-1e68e5bd7ce7/Microsoft.DirectoryServices.Application/logo","logoUrl":null,"mainLogo@odata.mediaEditLink":"directoryObjects/25f47067-8000-4313-b12b-1e68e5bd7ce7/Microsoft.DirectoryServices.Application/mainLogo","oauth2AllowIdTokenImplicitFlow":true,"oauth2AllowImplicitFlow":false,"oauth2AllowUrlPathMatching":false,"oauth2Permissions":[{"adminConsentDescription":"Allow + the application to access cli-test-aks-000001 on behalf of the signed-in user.","adminConsentDisplayName":"Access + cli-test-aks-000001","id":"295a1b62-b6dd-4fce-8e50-aa75828f34ce","isEnabled":true,"type":"User","userConsentDescription":"Allow + the application to access cli-test-aks-000001 on your behalf.","userConsentDisplayName":"Access + cli-test-aks-000001","value":"user_impersonation"}],"oauth2RequirePostResponse":false,"optionalClaims":null,"orgRestrictions":[],"parentalControlSettings":{"countriesBlockedForMinors":[],"legalAgeGroupRule":"Allow"},"passwordCredentials":[{"customKeyIdentifier":null,"endDate":"2025-04-29T10:45:09.090294Z","keyId":"18b0b217-5dbc-4547-ba71-ae8c200fd684","startDate":"2020-04-29T10:45:09.090294Z","value":null}],"publicClient":null,"publisherDomain":"microsoft.onmicrosoft.com","recordConsentConditions":null,"replyUrls":[],"requiredResourceAccess":[],"samlMetadataUrl":null,"signInAudience":"AzureADMyOrg","tokenEncryptionKeyId":null}]}' + headers: + access-control-allow-origin: + - '*' + cache-control: + - no-cache + content-length: + - '2334' + content-type: + - application/json; odata=minimalmetadata; streaming=true; charset=utf-8 + dataserviceversion: + - 3.0; + date: + - Wed, 29 Apr 2020 10:45:15 GMT + duration: + - '6988510' + expires: + - '-1' + ocp-aad-diagnostics-server-name: + - 61Ou7OtgPD33y/Ek0UKNuiMUb1UKYvW6rTXr2hZ/xmY= + ocp-aad-session-key: + - OdOWN2veUnRr2o9dBdybx84MoGA_UekBWQZMwp8MA2Q5yb0IAWkwgjKChuBnDnY6rPz9zIW9xSDlCks2jfRig9J1NNjm5JvJIm53qAMuUEbXpSFzjPM9Msff5cOewD-w_mML39wmEEBq53eZCpMBlsX7VFUc9FVfJTgH0ek3rLk.1RuRAbu-aeRhEMsaCFFS_wVbAP3dqFeP1xoaIrma_L8 + pragma: + - no-cache + request-id: + - 1f8dcb3f-25ac-43c4-be30-47437c6706aa + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-ms-dirapi-data-contract-version: + - '1.6' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"accountEnabled": "True", "appId": "b1b0bd23-b490-4728-8202-54f2378dd0ab"}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + Content-Length: + - '75' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -g -n -s -l -c --generate-ssh-keys + User-Agent: + - python/3.7.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-graphrbac/0.60.0 Azure-SDK-For-Python AZURECLI/2.5.0 + accept-language: + - en-US + method: POST + uri: https://graph.windows.net/00000000-0000-0000-0000-000000000000/servicePrincipals?api-version=1.6 + response: + body: + string: '{"odata.metadata":"https://graph.windows.net/00000000-0000-0000-0000-000000000000/$metadata#directoryObjects/@Element","odata.type":"Microsoft.DirectoryServices.ServicePrincipal","objectType":"ServicePrincipal","objectId":"7ff427c5-787e-4b23-b3fb-0d9d91c04fee","deletionTimestamp":null,"accountEnabled":true,"addIns":[],"alternativeNames":[],"appDisplayName":"cli-test-aks-000001","appId":"b1b0bd23-b490-4728-8202-54f2378dd0ab","applicationTemplateId":null,"appOwnerTenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","appRoleAssignmentRequired":false,"appRoles":[],"displayName":"cli-test-aks-000001","errorUrl":null,"homepage":"http://7cc6a0.cli-test-a-akkeshar-test2-1bfbb5.westeurope.cloudapp.azure.com","informationalUrls":{"termsOfService":null,"support":null,"privacy":null,"marketing":null},"keyCredentials":[],"logoutUrl":null,"notificationEmailAddresses":[],"oauth2Permissions":[{"adminConsentDescription":"Allow + the application to access cli-test-aks-000001 on behalf of the signed-in user.","adminConsentDisplayName":"Access + cli-test-aks-000001","id":"295a1b62-b6dd-4fce-8e50-aa75828f34ce","isEnabled":true,"type":"User","userConsentDescription":"Allow + the application to access cli-test-aks-000001 on your behalf.","userConsentDisplayName":"Access + cli-test-aks-000001","value":"user_impersonation"}],"passwordCredentials":[],"preferredSingleSignOnMode":null,"preferredTokenSigningKeyEndDateTime":null,"preferredTokenSigningKeyThumbprint":null,"publisherName":"Microsoft","replyUrls":[],"samlMetadataUrl":null,"samlSingleSignOnSettings":null,"servicePrincipalNames":["b1b0bd23-b490-4728-8202-54f2378dd0ab","http://7cc6a0.cli-test-a-akkeshar-test2-1bfbb5.westeurope.cloudapp.azure.com"],"servicePrincipalType":"Application","signInAudience":"AzureADMyOrg","tags":[],"tokenEncryptionKeyId":null}' + headers: + access-control-allow-origin: + - '*' + cache-control: + - no-cache + content-length: + - '1832' + content-type: + - application/json; odata=minimalmetadata; streaming=true; charset=utf-8 + dataserviceversion: + - 3.0; + date: + - Wed, 29 Apr 2020 10:45:17 GMT + duration: + - '11769749' + expires: + - '-1' + location: + - https://graph.windows.net/00000000-0000-0000-0000-000000000000/directoryObjects/7ff427c5-787e-4b23-b3fb-0d9d91c04fee/Microsoft.DirectoryServices.ServicePrincipal + ocp-aad-diagnostics-server-name: + - PATy/n3ENB49PZzrRrxUlup+A6HJ8rhUg03P3QIAPhw= + ocp-aad-session-key: + - 1WON4SxJj__t7p7M3Qtn_Tq4K9A_1tBvtUUbVXuu8c5HIWzZgAYSp-jEfZIURg071leYZFJG3QDX-DtaRf7v_v7nthFzaRFYSpcpQKL78aOSusf5AxrEbt796Wyuvi2BuZbemFL1sfm44f-nxeahjT4VJ3JYyzXujka44opMlUo.JXDee9ZH7MyhyF_XnGlvv_DlKPqVu-MA0DR3-YeDGgY + pragma: + - no-cache + request-id: + - 19cc55bb-59ac-4a1a-bcce-e691e89e8203 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-ms-dirapi-data-contract-version: + - '1.6' + x-powered-by: + - ASP.NET + status: + code: 201 + message: Created +- request: + body: '{"location": "westeurope", "properties": {"kubernetesVersion": "", "dnsPrefix": + "cli-test-a-akkeshar-test2-1bfbb5", "agentPoolProfiles": [{"count": 1, "vmSize": + "Standard_B2s", "osType": "Linux", "type": "VirtualMachineScaleSets", "scaleSetPriority": + "Regular", "scaleSetEvictionPolicy": "Delete", "name": "nodepool1"}], "linuxProfile": + {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDbin7SrkJJBI0wUyk1x5q+Gi+3En8WfOUFtplPhT9xNC1ZYmVWoKso9QZ6GedHX5dzq9OpwDytTkJoKzOOhORCJ1oVdOwi1d94qoxgO4HDvP9m99nNC3Q2+Nl6q8M6XcmgKzcFkt1fYZDVqbtohfoktJSBrOWkXob3ct4R/+LtHABJPZp2QwZTv6ZN+E+35fEKONbaI3UWaCnNUQ/UefIHcIqXJTKh0kLCHRLGUoqgkiRJxi+EcxRiw677IxQsnP1haGWtTA1sglWvMw8cuav77TBqtegE7C72qwB2WIvG1/uVLKt/CHvWcni9r2dnC2sgHkfx9F9xHJ17kbWPpdAh"}]}}, + "servicePrincipalProfile": {"clientId": "b1b0bd23-b490-4728-8202-54f2378dd0ab", + "secret": "a0199b5e24b07ecf0337$"}, "addonProfiles": {}, "enableRBAC": true, + "enablePodSecurityPolicy": false, "networkProfile": {"networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", + "dockerBridgeCidr": "172.17.0.1/16", "loadBalancerSku": "standard"}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + Content-Length: + - '1185' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -g -n -s -l -c --generate-ssh-keys + User-Agent: + - python/3.7.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-containerservice/4.4.0 Azure-SDK-For-Python AZURECLI/2.5.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/akkeshar-test2/providers/Microsoft.ContainerService/managedClusters/cli-test-aks-000001?api-version=2019-10-01 + response: + body: + string: "{\n \"code\": \"ServicePrincipalNotFound\",\n \"message\": \"Service + principal clientID: b1b0bd23-b490-4728-8202-54f2378dd0ab not found in Active + Directory tenant 72f988bf-86f1-41af-91ab-2d7cd011db47, Please see https://aka.ms/aks-sp-help + for more details.\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '253' + content-type: + - application/json + date: + - Wed, 29 Apr 2020 10:45:26 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 400 + message: Bad Request +- request: + body: '{"location": "westeurope", "properties": {"kubernetesVersion": "", "dnsPrefix": + "cli-test-a-akkeshar-test2-1bfbb5", "agentPoolProfiles": [{"count": 1, "vmSize": + "Standard_B2s", "osType": "Linux", "type": "VirtualMachineScaleSets", "scaleSetPriority": + "Regular", "scaleSetEvictionPolicy": "Delete", "name": "nodepool1"}], "linuxProfile": + {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDbin7SrkJJBI0wUyk1x5q+Gi+3En8WfOUFtplPhT9xNC1ZYmVWoKso9QZ6GedHX5dzq9OpwDytTkJoKzOOhORCJ1oVdOwi1d94qoxgO4HDvP9m99nNC3Q2+Nl6q8M6XcmgKzcFkt1fYZDVqbtohfoktJSBrOWkXob3ct4R/+LtHABJPZp2QwZTv6ZN+E+35fEKONbaI3UWaCnNUQ/UefIHcIqXJTKh0kLCHRLGUoqgkiRJxi+EcxRiw677IxQsnP1haGWtTA1sglWvMw8cuav77TBqtegE7C72qwB2WIvG1/uVLKt/CHvWcni9r2dnC2sgHkfx9F9xHJ17kbWPpdAh"}]}}, + "servicePrincipalProfile": {"clientId": "b1b0bd23-b490-4728-8202-54f2378dd0ab", + "secret": "a0199b5e24b07ecf0337$"}, "addonProfiles": {}, "enableRBAC": true, + "enablePodSecurityPolicy": false, "networkProfile": {"networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", + "dockerBridgeCidr": "172.17.0.1/16", "loadBalancerSku": "standard"}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + Content-Length: + - '1185' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -g -n -s -l -c --generate-ssh-keys + User-Agent: + - python/3.7.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-containerservice/4.4.0 Azure-SDK-For-Python AZURECLI/2.5.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/akkeshar-test2/providers/Microsoft.ContainerService/managedClusters/cli-test-aks-000001?api-version=2019-10-01 + response: + body: + string: "{\n \"code\": \"ServicePrincipalNotFound\",\n \"message\": \"Service + principal clientID: b1b0bd23-b490-4728-8202-54f2378dd0ab not found in Active + Directory tenant 72f988bf-86f1-41af-91ab-2d7cd011db47, Please see https://aka.ms/aks-sp-help + for more details.\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '253' + content-type: + - application/json + date: + - Wed, 29 Apr 2020 10:45:39 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 400 + message: Bad Request +- request: + body: '{"location": "westeurope", "properties": {"kubernetesVersion": "", "dnsPrefix": + "cli-test-a-akkeshar-test2-1bfbb5", "agentPoolProfiles": [{"count": 1, "vmSize": + "Standard_B2s", "osType": "Linux", "type": "VirtualMachineScaleSets", "scaleSetPriority": + "Regular", "scaleSetEvictionPolicy": "Delete", "name": "nodepool1"}], "linuxProfile": + {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDbin7SrkJJBI0wUyk1x5q+Gi+3En8WfOUFtplPhT9xNC1ZYmVWoKso9QZ6GedHX5dzq9OpwDytTkJoKzOOhORCJ1oVdOwi1d94qoxgO4HDvP9m99nNC3Q2+Nl6q8M6XcmgKzcFkt1fYZDVqbtohfoktJSBrOWkXob3ct4R/+LtHABJPZp2QwZTv6ZN+E+35fEKONbaI3UWaCnNUQ/UefIHcIqXJTKh0kLCHRLGUoqgkiRJxi+EcxRiw677IxQsnP1haGWtTA1sglWvMw8cuav77TBqtegE7C72qwB2WIvG1/uVLKt/CHvWcni9r2dnC2sgHkfx9F9xHJ17kbWPpdAh"}]}}, + "servicePrincipalProfile": {"clientId": "b1b0bd23-b490-4728-8202-54f2378dd0ab", + "secret": "a0199b5e24b07ecf0337$"}, "addonProfiles": {}, "enableRBAC": true, + "enablePodSecurityPolicy": false, "networkProfile": {"networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", + "dockerBridgeCidr": "172.17.0.1/16", "loadBalancerSku": "standard"}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + Content-Length: + - '1185' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -g -n -s -l -c --generate-ssh-keys + User-Agent: + - python/3.7.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-containerservice/4.4.0 Azure-SDK-For-Python AZURECLI/2.5.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/akkeshar-test2/providers/Microsoft.ContainerService/managedClusters/cli-test-aks-000001?api-version=2019-10-01 + response: + body: + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/akkeshar-test2/providers/Microsoft.ContainerService/managedClusters/cli-test-aks-000001\",\n + \ \"location\": \"westeurope\",\n \"name\": \"cli-test-aks-000001\",\n \"type\": + \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": + \"Creating\",\n \"kubernetesVersion\": \"1.15.10\",\n \"dnsPrefix\": \"cli-test-a-akkeshar-test2-1bfbb5\",\n + \ \"fqdn\": \"cli-test-a-akkeshar-test2-1bfbb5-c4bb7537.hcp.westeurope.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": + 1,\n \"vmSize\": \"Standard_B2s\",\n \"osDiskSizeGB\": 100,\n \"maxPods\": + 110,\n \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": + \"Creating\",\n \"orchestratorVersion\": \"1.15.10\",\n \"osType\": + \"Linux\"\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDbin7SrkJJBI0wUyk1x5q+Gi+3En8WfOUFtplPhT9xNC1ZYmVWoKso9QZ6GedHX5dzq9OpwDytTkJoKzOOhORCJ1oVdOwi1d94qoxgO4HDvP9m99nNC3Q2+Nl6q8M6XcmgKzcFkt1fYZDVqbtohfoktJSBrOWkXob3ct4R/+LtHABJPZp2QwZTv6ZN+E+35fEKONbaI3UWaCnNUQ/UefIHcIqXJTKh0kLCHRLGUoqgkiRJxi+EcxRiw677IxQsnP1haGWtTA1sglWvMw8cuav77TBqtegE7C72qwB2WIvG1/uVLKt/CHvWcni9r2dnC2sgHkfx9F9xHJ17kbWPpdAh\"\n + \ }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\": + \"b1b0bd23-b490-4728-8202-54f2378dd0ab\"\n },\n \"nodeResourceGroup\": + \"MC_akkeshar-test2_cli-test-aks-000001_westeurope\",\n \"enableRBAC\": + true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n + \ \"networkPlugin\": \"kubenet\",\n \"loadBalancerSku\": \"standard\",\n + \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": + 1\n }\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\": + \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\"\n },\n \"maxAgentPools\": + 10\n }\n }" + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westeurope/operations/7cbaa1d1-7bf5-48e4-8761-fcc22686a64c?api-version=2017-08-31 + cache-control: + - no-cache + content-length: + - '1970' + content-type: + - application/json + date: + - Wed, 29 Apr 2020 10:45:56 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - -g -n -s -l -c --generate-ssh-keys + User-Agent: + - python/3.7.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-containerservice/4.4.0 Azure-SDK-For-Python AZURECLI/2.5.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westeurope/operations/7cbaa1d1-7bf5-48e4-8761-fcc22686a64c?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"d1a1ba7c-f57b-e448-8761-fcc22686a64c\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2020-04-29T10:45:54.7696703Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Wed, 29 Apr 2020 10:46:26 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - -g -n -s -l -c --generate-ssh-keys + User-Agent: + - python/3.7.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-containerservice/4.4.0 Azure-SDK-For-Python AZURECLI/2.5.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westeurope/operations/7cbaa1d1-7bf5-48e4-8761-fcc22686a64c?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"d1a1ba7c-f57b-e448-8761-fcc22686a64c\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2020-04-29T10:45:54.7696703Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Wed, 29 Apr 2020 10:46:57 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - -g -n -s -l -c --generate-ssh-keys + User-Agent: + - python/3.7.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-containerservice/4.4.0 Azure-SDK-For-Python AZURECLI/2.5.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westeurope/operations/7cbaa1d1-7bf5-48e4-8761-fcc22686a64c?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"d1a1ba7c-f57b-e448-8761-fcc22686a64c\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2020-04-29T10:45:54.7696703Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Wed, 29 Apr 2020 10:47:28 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - -g -n -s -l -c --generate-ssh-keys + User-Agent: + - python/3.7.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-containerservice/4.4.0 Azure-SDK-For-Python AZURECLI/2.5.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westeurope/operations/7cbaa1d1-7bf5-48e4-8761-fcc22686a64c?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"d1a1ba7c-f57b-e448-8761-fcc22686a64c\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2020-04-29T10:45:54.7696703Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Wed, 29 Apr 2020 10:48:00 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - -g -n -s -l -c --generate-ssh-keys + User-Agent: + - python/3.7.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-containerservice/4.4.0 Azure-SDK-For-Python AZURECLI/2.5.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westeurope/operations/7cbaa1d1-7bf5-48e4-8761-fcc22686a64c?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"d1a1ba7c-f57b-e448-8761-fcc22686a64c\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2020-04-29T10:45:54.7696703Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Wed, 29 Apr 2020 10:48:30 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - -g -n -s -l -c --generate-ssh-keys + User-Agent: + - python/3.7.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-containerservice/4.4.0 Azure-SDK-For-Python AZURECLI/2.5.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westeurope/operations/7cbaa1d1-7bf5-48e4-8761-fcc22686a64c?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"d1a1ba7c-f57b-e448-8761-fcc22686a64c\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2020-04-29T10:45:54.7696703Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Wed, 29 Apr 2020 10:49:01 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - -g -n -s -l -c --generate-ssh-keys + User-Agent: + - python/3.7.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-containerservice/4.4.0 Azure-SDK-For-Python AZURECLI/2.5.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westeurope/operations/7cbaa1d1-7bf5-48e4-8761-fcc22686a64c?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"d1a1ba7c-f57b-e448-8761-fcc22686a64c\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2020-04-29T10:45:54.7696703Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Wed, 29 Apr 2020 10:49:33 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - -g -n -s -l -c --generate-ssh-keys + User-Agent: + - python/3.7.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-containerservice/4.4.0 Azure-SDK-For-Python AZURECLI/2.5.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westeurope/operations/7cbaa1d1-7bf5-48e4-8761-fcc22686a64c?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"d1a1ba7c-f57b-e448-8761-fcc22686a64c\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2020-04-29T10:45:54.7696703Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Wed, 29 Apr 2020 10:50:03 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - -g -n -s -l -c --generate-ssh-keys + User-Agent: + - python/3.7.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-containerservice/4.4.0 Azure-SDK-For-Python AZURECLI/2.5.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westeurope/operations/7cbaa1d1-7bf5-48e4-8761-fcc22686a64c?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"d1a1ba7c-f57b-e448-8761-fcc22686a64c\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2020-04-29T10:45:54.7696703Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Wed, 29 Apr 2020 10:50:34 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - -g -n -s -l -c --generate-ssh-keys + User-Agent: + - python/3.7.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-containerservice/4.4.0 Azure-SDK-For-Python AZURECLI/2.5.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westeurope/operations/7cbaa1d1-7bf5-48e4-8761-fcc22686a64c?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"d1a1ba7c-f57b-e448-8761-fcc22686a64c\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2020-04-29T10:45:54.7696703Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Wed, 29 Apr 2020 10:51:05 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - -g -n -s -l -c --generate-ssh-keys + User-Agent: + - python/3.7.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-containerservice/4.4.0 Azure-SDK-For-Python AZURECLI/2.5.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westeurope/operations/7cbaa1d1-7bf5-48e4-8761-fcc22686a64c?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"d1a1ba7c-f57b-e448-8761-fcc22686a64c\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2020-04-29T10:45:54.7696703Z\",\n \"endTime\": + \"2020-04-29T10:51:15.2596637Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '170' + content-type: + - application/json + date: + - Wed, 29 Apr 2020 10:51:35 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - -g -n -s -l -c --generate-ssh-keys + User-Agent: + - python/3.7.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-containerservice/4.4.0 Azure-SDK-For-Python AZURECLI/2.5.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/akkeshar-test2/providers/Microsoft.ContainerService/managedClusters/cli-test-aks-000001?api-version=2019-10-01 + response: + body: + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/akkeshar-test2/providers/Microsoft.ContainerService/managedClusters/cli-test-aks-000001\",\n + \ \"location\": \"westeurope\",\n \"name\": \"cli-test-aks-000001\",\n \"type\": + \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": + \"Succeeded\",\n \"kubernetesVersion\": \"1.15.10\",\n \"dnsPrefix\": + \"cli-test-a-akkeshar-test2-1bfbb5\",\n \"fqdn\": \"cli-test-a-akkeshar-test2-1bfbb5-c4bb7537.hcp.westeurope.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": + 1,\n \"vmSize\": \"Standard_B2s\",\n \"osDiskSizeGB\": 100,\n \"maxPods\": + 110,\n \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": + \"Succeeded\",\n \"orchestratorVersion\": \"1.15.10\",\n \"osType\": + \"Linux\"\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDbin7SrkJJBI0wUyk1x5q+Gi+3En8WfOUFtplPhT9xNC1ZYmVWoKso9QZ6GedHX5dzq9OpwDytTkJoKzOOhORCJ1oVdOwi1d94qoxgO4HDvP9m99nNC3Q2+Nl6q8M6XcmgKzcFkt1fYZDVqbtohfoktJSBrOWkXob3ct4R/+LtHABJPZp2QwZTv6ZN+E+35fEKONbaI3UWaCnNUQ/UefIHcIqXJTKh0kLCHRLGUoqgkiRJxi+EcxRiw677IxQsnP1haGWtTA1sglWvMw8cuav77TBqtegE7C72qwB2WIvG1/uVLKt/CHvWcni9r2dnC2sgHkfx9F9xHJ17kbWPpdAh\"\n + \ }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\": + \"b1b0bd23-b490-4728-8202-54f2378dd0ab\"\n },\n \"nodeResourceGroup\": + \"MC_akkeshar-test2_cli-test-aks-000001_westeurope\",\n \"enableRBAC\": + true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n + \ \"networkPlugin\": \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n + \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_akkeshar-test2_cli-test-aks-000001_westeurope/providers/Microsoft.Network/publicIPAddresses/b5784f83-47d9-4743-aca3-2031f2ea0575\"\n + \ }\n ]\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\": + \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\"\n },\n \"maxAgentPools\": + 10\n }\n }" + headers: + cache-control: + - no-cache + content-length: + - '2246' + content-type: + - application/json + date: + - Wed, 29 Apr 2020 10:51:37 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks get-credentials + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g -n -f + User-Agent: + - python/3.7.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-containerservice/4.4.0 Azure-SDK-For-Python AZURECLI/2.5.0 + accept-language: + - en-US + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/akkeshar-test2/providers/Microsoft.ContainerService/managedClusters/cli-test-aks-000001/listClusterUserCredential?api-version=2019-10-01 + response: + body: + string: "{\n \"kubeconfigs\": [\n {\n \"name\": \"clusterUser\",\n \"value\": + \"YXBpVmVyc2lvbjogdjEKY2x1c3RlcnM6Ci0gY2x1c3RlcjoKICAgIGNlcnRpZmljYXRlLWF1dGhvcml0eS1kYXRhOiBMUzB0TFMxQ1JVZEpUaUJEUlZKVVNVWkpRMEZVUlMwdExTMHRDazFKU1VWNWFrTkRRWEpMWjBGM1NVSkJaMGxTUVV0RmQzQlhZek5KVTBkVUwzUlVPRXR0YWtsbmJrVjNSRkZaU2t0dldrbG9kbU5PUVZGRlRFSlJRWGNLUkZSRlRFMUJhMGRCTVZWRlFYaE5RMWt5UlhkSlFtTk9UV3BCZDA1RVNUVk5WRUY2VG1wQk1sZG9aMUJOYWtFeFRVUkJNRTFxYTNoTlJGRXlUVVJhWVFwTlFUQjRRM3BCU2tKblRsWkNRVTFVUVcxT2FFMUpTVU5KYWtGT1FtZHJjV2hyYVVjNWR6QkNRVkZGUmtGQlQwTkJaemhCVFVsSlEwTm5TME5CWjBWQkNuZzJlVWxyU2xwbmNraFpaMEUyVjB0M1NtSXJkblIwU2sxek1rRXdVVnBrVjNKME1XcE1hV281TDBkUksxRkRPVGxVV2pCaVlVcHNaREpsTUdoUk5YQUtSbTlXVGtVNWJVZGFkVzkxYldOWlJVZEJjamxVUlM5MFEyeFJRbXBIUld4WGMzaFZUa1p1U1hjM1ZuQTNjakZIYUM5U2RYVlVRMnd2WVdOVVRsVXZjZ3B6ZVdkV1ZsZG9ZVkZJVEdaalUxVllNa3R2U21KNk5HNTBiRXRaU1RVd1RuZHNaMFZKY2xKUWMxUnphbTVTTlVwdVEycFlPWGxHWVhKWlRsRjBhMjlGQ214UE1GUlhOVzFyVTNOWVJFNUZWVFF6T0daNE56ZDNaVWRpU21GWk9UTk5URVl6WWpSdFJWaGxhamRRYjNkcE5TczJaVVpvZWsweE9UWndRWFJrVjAwS1kxRXdPV055ZDNOaGFWQndPR1ZtVkVsclpYcEJiakpHYTNCNFJFMUpUSFV5YkVOcFZEUndTbEkwVTIxdFdURlZPR2R6UjFZeE5WTmxabGhwYVVSME5RcDRSMnN5Ym5nclVIUTROVEZFYVhWM2JXeHRNMmN5TDNGU1NraFNkRTlTY25GaVJqVXJlR3R3YUZsM2VGTkxXRkpOY3psTVRGbENiMGx0U0hwMU9UbG9Da2w2WVRCd2FXTjNjRk0wZDI5UVN6TmFaRnB3Y2l0SlIxSktSQzhyVXpoRWFGTklhVEUxUlU0ckwwNTJSRGxKT0U5RFIydE5TRWxuWm1GSFpFbHBVamdLVjJOTk4yNTVVQzlsYlM5VmVIY3paVUU1V21GQk1XWklUMVEzYVVwUFQwdFZUMnhNZW1Ka0t6RlJXV1ZFUkcxVlZsaDRaVlZIWkZCRlNXbHhhMjFsVndwdlpUbFRhMVIwUVUxQmNIUlZhRkpIUWtrNWFXcHhkemN6TjJ4dVUxRkNlSG8zWTJaNWJFeE1ORzE0YzBoaWMwNVRaa3gxZEhSblVGbFNiSGh6YzNGcUNuWjBSbTFKTlZKblFrVnpiRFpMVW5aVlRrcElWemxhUjNJeFpEWkZaRXBaWW5keU1ETjZPRGhaU0doblVFRnJjalJPTlZwUmRrSjBOVXd5WW1KeVNrWUtTWGN5YzJGNmNWbDZUekF4V2xBNU1EUTJjVkYzTlU4M01ISm9kemhGT0hGR1luVkZkM1paYjJZclRVTkJkMFZCUVdGTmFrMURSWGRFWjFsRVZsSXdVQXBCVVVndlFrRlJSRUZuUzJ0TlFUaEhRVEZWWkVWM1JVSXZkMUZHVFVGTlFrRm1PSGRFVVZsS1MyOWFTV2gyWTA1QlVVVk1RbEZCUkdkblNVSkJUSEJxQ2tnd1NrTTJieXRwTUdVMWEyeHJNalJGU0hkNU1GaHBWRXh1YUVOWVdsSkpaRTVTY1ZoWlNubDROV05DTVVGWWFuRXdiRkZ0UkROb1dFazViMUJSYVZnS05HRlFaM2xaUW5OYU5FWnRORWN4YjNrNGEzVnFkR1l3U2xkM2JGUkRXbHBzY1RZeWFXYzFZazE2Tm5WUFRHOUhlSGh1YUZORVYwZEphVXBMUkhNeGF3cFNPVkZ3ZG1sWFpXWmxhVVE0U2tNNU4xcHFXVkZhVGpsMlJrVndjbGdyT1dWQ1lYVk1TRloxUTFnNGVETTRXVGxKWWxWMk5GVlZWRkJVUWtRdldsVndDbnBtTjJabFRUQTRVVGhHT0M5RVpEVnZibU5rTHk5bVVGVlZSSEZKWVhsamRuaHZTRUYxTlN0MVJsUjFLMHREUTI1ek16TTBSa1Z4VDJkTmQwSkViRGdLVFU1SWF6bE9TVmhzTDFsNVFrMVZUbTluVDJ0NU4wUmxXRWs1YVZOVWRWSmFaazFCYUZrMFptdDNTbTVaVDFSTlVXTXlZMlkzVGs5eFREbG1aSGt4T1FwVGJ6ZHBibFFyTjJab1lrWmplQ3RzVTJWWmNVZElVekpYVGtGTWNWTTBSbU5zVFZSS1pHcG1RWFZqZG5jNGRXOTJjRE5oWlRoVlJFMVpibEpKVHk5akNrc3lZeTlCZGtRMGIyTklVakFyY2tsQ2EwMVJRa2xMY205cFRERkJSbTg1TjNoTlp6TnlkakJaT1VZeGFXOUNRbFZIWlVvMVFVVkNSVVJ1WVRGRWN6a0thMDA1U1VsVUswMDJUa3hJVDNGeVdHSnNlRFkwVVc0d1QxbFdNSGR1ZG5scWNVbEZOVmRoUzBaT1RESnpXVFo1TUhoUVFsRk9jWFZEVkVScFYyTTNPUXB3YmtaclZWWkxVa3BGZVV0d05WRnZZalo0Ylhac2RXSXlORTlJU0RoTFZtVllXWFZuY1ZCVFUzTkhXVmwwVFZSTllTOUNkR3hZUjBnelpYWkpkVkJWQ2xSblkxTlNkMmhWU0dVeWVHdHBPVGRrTXpWQlpGSlBWMEZQYzJ4U1pVNXZPRmR1ZW5GTWJHVXhNREF6VEhveVRWQktRalp1WkZKWldFcElXRWR6Y1ZnS2NHeDJRM05sYkVOUllrZFRUVmhOVm1KWVVGbFlaazVvVUdSclFYSnlMMnA0TVRGWlRubGtad290TFMwdExVVk9SQ0JEUlZKVVNVWkpRMEZVUlMwdExTMHRDZz09CiAgICBzZXJ2ZXI6IGh0dHBzOi8vY2xpLXRlc3QtYS1ha2tlc2hhci10ZXN0Mi0xYmZiYjUtYzRiYjc1MzcuaGNwLndlc3RldXJvcGUuYXptazhzLmlvOjQ0MwogIG5hbWU6IGNsaS10ZXN0LWFrcy1vM212ZnltcmN6cwpjb250ZXh0czoKLSBjb250ZXh0OgogICAgY2x1c3RlcjogY2xpLXRlc3QtYWtzLW8zbXZmeW1yY3pzCiAgICB1c2VyOiBjbHVzdGVyVXNlcl9ha2tlc2hhci10ZXN0Ml9jbGktdGVzdC1ha3MtbzNtdmZ5bXJjenMKICBuYW1lOiBjbGktdGVzdC1ha3MtbzNtdmZ5bXJjenMKY3VycmVudC1jb250ZXh0OiBjbGktdGVzdC1ha3MtbzNtdmZ5bXJjenMKa2luZDogQ29uZmlnCnByZWZlcmVuY2VzOiB7fQp1c2VyczoKLSBuYW1lOiBjbHVzdGVyVXNlcl9ha2tlc2hhci10ZXN0Ml9jbGktdGVzdC1ha3MtbzNtdmZ5bXJjenMKICB1c2VyOgogICAgY2xpZW50LWNlcnRpZmljYXRlLWRhdGE6IExTMHRMUzFDUlVkSlRpQkRSVkpVU1VaSlEwRlVSUzB0TFMwdENrMUpTVVV2UkVORFFYVlRaMEYzU1VKQlowbFJTVzF3ZHpsQ2JHdFlXR2t6VjJFNWRTOUxURXN4VkVGT1FtZHJjV2hyYVVjNWR6QkNRVkZ6UmtGRVFVNEtUVkZ6ZDBOUldVUldVVkZFUlhkS2FsbFVRV1ZHZHpCNVRVUkJNRTFxYTNoTlJFMHlUVVJhWVVaM01IbE5ha0V3VFdwcmVFMUVVVEpOUkZwaFRVUkJlQXBHZWtGV1FtZE9Wa0pCYjFSRWJrNDFZek5TYkdKVWNIUlpXRTR3V2xoS2VrMVNWWGRGZDFsRVZsRlJSRVYzZUhSWldFNHdXbGhLYW1KSGJHeGlibEYzQ21kblNXbE5RVEJIUTFOeFIxTkpZak5FVVVWQ1FWRlZRVUUwU1VORWQwRjNaMmRKUzBGdlNVTkJVVU41TDJGRU0wUkpaRzR2V0VsWVMxQnlVbFk0V2s0S2RqQTNXRGxuVTFKUkszWXJRM0F5ZWtVdldUWkxjalZWTlVGdlJUQk1XakpVUkVaNGQwRlFibmh0VkdoNlRUQnpiM1Z0TlcwelMxaFBaRlZEWWtKd1V3b3pRbVowTlhGdE5XbEtOa2RqWkVGU1ZGWnFaRkU0YjJFMlRIWjZaMUoyYkU1bWIwa3hWRXhLTWtwQ2RHVXpUV1ZFZDBKcFlrSjZNWFJWVFZaSVNFZENDbFV2VlRWU2F6RlpSSGRqWjI5NlpIaDFRMEpMZDFKUmF6RTVTbkJRYkVSNFYyOXhPSHBFVUZCTk1UVTRWSEoxSzBac1QzUkVUMU4xVWs1SmNpOU9RVFlLTlVWelVYSTBXWFJqVWsxMmIyUnZUbGRPUzNkdVUzSkRTM00xWm05dlpqZ3lTR1kwVlZsUFNIaHhOMnd3U2pGV1ZUaG1Sa2R6TmxKdlkwcEhWRzl2VmdwSlMwOVBSV2x4VVdkMGVFUk9LMDl1WTBaWFdEUkphbVY0WnpCb09HTk9UQzh3VEVWa1pWRjNSelV4UjNCb2MzVndVM2xZWWxob1EyeHdibXgxZEVodENuTkxXbnBTWTBGalZHOTNabVZKUzJKaVIxaHZTRFpsVkhwTGFFWkpTRE0xVXpGWlRHWmpRMnRoU0dSdWJXTkJUakZvTWxaUlNFeHpORWRaVlhReFJ6VUtXa0p4VlVZd1RrTlRkazV1TDNaaWNVRlZZMDgzSzBaT09EZHFWM054VDFKT2VUTkROR2hOYjJoaVkwWTRaa2xFTTNadWNUWjBXR3R4YjBsdE1uaHdVd3BPTkhjMVpWaDRZbFk1WlRKdmVHMUxiMm9yZWtKbFlXaHpWVXhhV2tkbU1HcFNZMXBvWXpSb2VFcDBjVTlRUzNkTVQyVkRha3cxV1RCT1lWRnBORXhrQ25sS1owaHFRemhGZVVsSGVFMUZjMVl4VW1SMVdVTjFTazF5TDJGU05rOXFSMHhuTW1OR05FdENUSGRuZWsxWlZtazJNRFZPUVZSaWVHRnZWelZUYnpFS1ZUVnFhelpQWkd0dFQwcDJkeTlUWmk5VmNXUXhRMEZpZG5sNlFtRkhheloyZHpoSlpVYzBiM3BPU1VaclpVSjRjRmgxT0hCSGFFbFhUR3AyV0dac1ZBcHdaRE54VERjMlIzSXdha0pEVGtseVpXbExjRWRSU1VSQlVVRkNiM3BWZDAxNlFVOUNaMDVXU0ZFNFFrRm1PRVZDUVUxRFFtRkJkMFYzV1VSV1VqQnNDa0pCZDNkRFoxbEpTM2RaUWtKUlZVaEJkMGwzUkVGWlJGWlNNRlJCVVVndlFrRkpkMEZFUVU1Q1oydHhhR3RwUnpsM01FSkJVWE5HUVVGUFEwRm5SVUVLVEdGcWNGUTFTeTlNYkdOc1NVbzNMM2xxVWtSU2FtZE1TM051UTI1TFpHUlBhM0l2U0hGQ2FHaHZXRkpqZHpRNGFFVmlTMlo2VjNSdllUbFJURFZKTUFwWEwyZFNiVVpXVVUxNmNESmhSWGd2YUhscWJUTTNWbVIyTDBGdGF5OVJkSGN2UlhwTFYxbHRTMjE2WlhaS1JtOHdibHBoZG1wa1NHaGFjRVJDTW1aUUNsY3dia3RITHpkMVZXbEhaelZQZEdzME0zcHJaMmh6TTFJMFNHaFpiMHB6Y0VOMU1VOWFPRk51YnpOcmJVaFlaV3BNUzBKdlJVSjNSMGhSTVhWdGJIVUtkakpFU2sxaU1VdExjM05zUlZKRGVuUTBaRzB6VmxwMmQzbGhXR3RpZDJGT2EyMVBaRGhXZDJGUVJTc3dRMm9yY0ZsNE1GbGlUemRPY2k5RVJFTXZZUXB5UVdWak9VcHllVTFuZGtWbGFqUTBVM1ZDV1dsYVlrZHROMjl2WjJwNlVXZExlRE5MYTNwc2NFa3dTM2MxVDJWWmJXUXZWVGhRSzNaVlZWTllaMGhrQ21aTmMwUTFjRTk1WkVsQ1QzbGlkeXMzUkdwQlpVOVpaRUpXZWt0aFRFTk5TRzFCTmxKSVdqWTNjbTh6TVRWcVRHNXhhMHhLUTFkelRqWnZVVzFMZG5RS2NEUkNiRzAxWkVoQmJGcFdNazQ0YlZoWE4yOHlWa1ZtTWpkb1NsUnVSMFpxY0dSeGVqVXZRazV1VWpCTlZ6bEdibTByVlhKVWQwcERObVZUVlVkS1NRcFBNbE12ZDB3d1pYZDVibmRNV0drNWVYWXlRVlF4S3pGV2N6WlJOakZwUzJGVEwwWjZiVEJXVUVacGFsUnVWVVJNZEd4RmNraDJNVFpWY210TmMxTmtDbFF4ZG5GVlpqSk5OazFqWW5GbWNtZzFWRFEyY1dsaFRETXlaVFJzWXpsbWNtdFNNVk5QUm1RNFltMUVjak14Wm1sVGJXUktka2R4TTJGaFNtMDFWamdLTjFwcVdUSk9ZMFYwWlVod1dsSXJhMGhTUTJsM1RXSlNlQzkzYjAxWlpuRk1PRWRPTjBNeFprVnBaMEpXTUdKeVNURlljWFpJVGpRMFRrVkRkMmsxVndvMk1VVlpWV05wZFZoWFVVMTBUSGt6VkdKRmJtNW9ja1kxVkRsTk1ERkpaV2R6ZUVOS1IzUnVZVzVuUFFvdExTMHRMVVZPUkNCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2c9PQogICAgY2xpZW50LWtleS1kYXRhOiBMUzB0TFMxQ1JVZEpUaUJTVTBFZ1VGSkpWa0ZVUlNCTFJWa3RMUzB0TFFwTlNVbEtTMEZKUWtGQlMwTkJaMFZCYzNZeVp6bDNlVWhhTHpGNVJubHFOakJXWmtkVVlqbFBNUzlaUld0VlVISXZaM0ZrYzNoUU1rOXBjU3RXVDFGTENrSk9RekprYTNkNFkyTkJSRFU0V21zMFkzcE9URXRNY0hWYWRIbHNlbTVXUVcxM1lWVjBkMWczWldGd2RWbHBaV2h1U0ZGRlZURlpNMVZRUzBkMWFUY0tPRFJGWWpWVVdEWkRUbFY1ZVdScFVXSllkSHBJWnpoQldXMTNZemxpVmtSR1VuaDRaMVpRTVU5VldrNVhRVGhJU1V0Tk0yTmlaMmRUYzBWVlNrNW1Vd3BoVkRWUk9GWnhTM1pOZDNwNmVrNWxaa1UyTjNab1dsUnlVWHByY210VVUwc3ZlbEZQZFZKTVJVc3JSMHhZUlZSTU5raGhSRlpxVTNOS01IRjNhWEpQQ2xnMlMwZ3ZUbWd6SzBaSFJHZzRZWFUxWkVOa1ZsWlFTSGhTY2s5cllVaERVbXMyUzBaVFEycHFhRWx4YTBsTVkxRjZabXB3TTBKV2JDdERTVE56V1U0S1NXWklSRk12T1VONFNGaHJUVUoxWkZKeFdXSk1jVlZ6YkRJeE5GRndZVm8xWW5KU05YSkRiV013V0VGSVJUWk5TRE5wUTIweWVHdzJRaXR1YXpoNWJ3cFNVMEk1SzFWMFYwTXpNMEZ3UjJneldqVnVRVVJrV1dSc1ZVSjVOMDlDYlVaTVpGSjFWMUZoYkVKa1JGRnJjbnBhTHpjeU5tZEdTRVIxTDJoVVprODBDakZ5UzJwclZHTjBkM1ZKVkV0SlZ6TkNaa2g1UVRrM05UWjFjbFkxUzNGRFNuUnpZVlZxWlUxUFdHdzRWekZtV0hSeFRWcHBjVWt2YzNkWWJXOWlSa01LTWxkU2JqbEpNRmhIV1ZoUFNXTlRZbUZxYW5selEzcHVaMjk1SzFkT1JGZHJTWFZETTJOcFdVSTBkM1pDVFdsQ2MxUkNURVprVlZoaWJVRnlhVlJMTHdveWEyVnFiM2hwTkU1dVFtVkRaMU00U1UxNlIwWlpkWFJQVkZGRk1qaFhjVVoxVlhGT1ZrOVpOVTlxYmxwS2FtbGlPRkF3Ymk4eFMyNWtVV2RITnpoekNuZFhhSEJQY2poUVEwaG9kVXROZWxOQ1draG5ZMkZXTjNaTFVtOVRSbWswTnpFek5WVTJXR1EyYVNzcmFIRTVTWGRSYWxOTE0yOXBjVkpyUTBGM1JVRUtRVkZMUTBGblFVTnRheXRTTmtKMU56bHRTMGhXWWtFMFFsSmxPRWczUlUwd1QxbEhSM0lySzNoUVlrRkhUMVV5ZFZaS2JFNDFLM2h5UkhSTVFYaGhad29yWkV4VmRIWjZWMm8zZWxsRWJFcHdkMWx1YzBOM2J5czJPRmREVDFCTlkwbFpUMDFWUTBaSFFWUmxkVmRNY1ZoR1VuQkhVU3RaWm5neGRscG1SM2g2Q2xodE5VeHZlSFZQYWtGSlJHbFBTbEJxUWxSeWRXTlJUVGxaYm5SQlNWTk1XR0YwV1ZGWVpYZEZUU3RKYkhNeldtRkhPV0pxWTNablptVm9PV0ZtZVdzS1prTXJkM0p4VjAxR2VsVkNjMW81Y2pNNGEyWm5OVFoxZUhoR1kwZGtMMEpyVm5aYVNURkVUa2MwVW5CT01GcDRSRkZuU0VwTmJ6RmtPRFpWWW1FeGJ3bzNaalpGY0dVek4wbzBjSGxMUkVzMlpXZGFVVGxrU1RKYVdWQTJhRXQyT0V3clZuZHFiMkZZWWpaUFpURnlTbGc0UVhKMFpXMUlUV2RhUWl0a1YzSkxDa2x3UXpjMWJISnRTVkp2TmtadGNrMXNUMjUyZUdaTVl6bFdaVU5DWjFkWU5HeGxRMUpvVkdaeVlqaDRaa2xLV1N0S2J6ZGtaalpLSzBSdE0zcGtaRm9LTVZBeVdWQTFVbmhrZVZsV1JIRk1URU5FYmpaSFpHWjBSMGRrV2xaRE5XVm5lVVIxVTJOaVVWb3ZkVVJPY1RoNmRUZHhlalZtZDNGWGJFZHZjVzEzWndwd2VucEtRa2t4Um5odmNWbHliREZCWnpVMlJtOHJWVTlTU2psc2NXMVBjSFZqV0dnMmFWRlRWMVF3V1ZSQ1RFODJRWHBzVW1oVU5EbGhZbEUxWlVOR0NrdFFiWFY0T1VSWE0yZFFXbk56YkVsR00wTjNaWGt5WlZwalJ6bFNNRGxxVlVGblZqRTFOekZuTWxZMmFsbHRTVTlYYVRaUVIyUmhSeTl4YUdkVE1IVUtkVlF5UzNKTGNtMTRiVWxZY1dkM1lrcENaMHhFVTB4Q2FsYzJlV2xhVVRaVFYxSlRTVU5tWWtkWVFuUkxOMDlDWmpoblYybFJlVmhGYzJGV1NEQkVSQXB6Y1doUWFpdE5hamRvYVZOMU5HMXNXVk4yZFhkdWIwOTZXRlJLYWxWWWRWTTRVMFUyVDFsTmRXaDFiWFpFVTNkQlVVdERRVkZGUVhjcmVtbFhkazQzQ2xOeU5VMVdTak12UWpWWkszUTRTM2N4TlM5TmFVdExRV3RzWlRVMVduaEJkbE5JYUZkd2J6Sk5jbGh5VlVkYWRtMUhZVEZHU1hZeGRtWXpMMDAxVEU4S1RHaE5aRmgzVDNGWk1GUldhVFJ1ZVhsWE1FSlFUVWxqV214UGVXYzFPRFoyZWtWNFdWUnFNMHRxWlRGdk9ERlJUV3h1TmpORmNtWm1VR2t6ZVRSTFNRb3ZaemhSZDA5aVpHNDJhREZ5VDFnNFdtWnRMMnBvUlZReFRucGpaWGxvT1RZd2JXZHVXR3A1YURjMFdtOXhaRzVNYVUxTWJrRlJWMUYwZWtaNGRtUlpDbW96VEcwNFdXOWFSVXc0YTFscE0zWnROblZaTjNWTWJHbDNjRzVPUXlzelJWbFpNRnBLWkhOVFFVdEpjSEZyVERNMlpESnFSRGhvUTAxUVRERk1iMFFLYm5kdFNGZExhVzByWjJ0Q1NWY3lNbmhUVmk5SWFFaFFWR2xqTkRjM1Rta3hXR1pHTkdSRlFrNXVjRVZxVlZJeWIwZ3JPRnBqUVc5clVYSndWVmw2VlFwU09YTmliRkJKV0ZWa00ybEJVVXREUVZGRlFUWmtPVE55ZHpoV1N6aHZaek12WTFaWGRYRndPVTQwYmxwV1Iwd3ZNWGx6U21kUFEzRlVaekJGTVM4NUNrWnlWREl6SzB4SmFtdFNSMmcyWlUxeVUwVnlUV2xYU0ZWM2VTOXlUbFF4ZVhwcFFWUmFVRFYyZDFRNE9XbHdkU3NyZG5Zd2R6VnpPR3hxTDJGbmJXb0tUVU1yTkRVNVF5OUlaWGxUZG5WTldGcGphVzUwU2xGRVZIWjZZMU5LYUhWMU1sZFRSMnBQVm5jeU5YUkxSWGhSVFRGblUzaEVVVTB3ZUZZd1MzaFdkUXBzVW5FMVkyUjNWVWR2UWtWSk5URlhXRTF1T0V0UFFuUjBiRmxRYzFoVFVVbEhZU3RNUldWNWVGcGxaVWg0TVVGTWRYSkpOSGtyVmtkVVFUWk1hV1JOQ21ZMVlXSlJhRE5vU0hGTGQzTktjMFpVVFU1VmMwTnlWRlp4U1Zobk1rNTZUMEl6Wm5WclluVlRSelprYm5Gc05YcERORlZNY0ZocmNFZFdTMjVUZVdnS2NrTnZWVkVyZVVvemJVSklVa2cyZVhOdU1uRmFURFl3U0RCQ1MwVkxlRmRMYmtKbVlWTnRXRWRSUzBOQlVVSlRkWEkzYkhWeVVWQXpiMVJ4YjJkQ2FncEhjakJITmxFeU1VeHpUekV5YWtKRFIzZHlhU3R1VTFoeFEzVTFSSGszWkdkT1YwcEZTV2RGY1ZSSVJFdEZiM1V6U1dGaVNqRXdjVTVYV1UxcVkyRjJDblpuZDFKeVRVVTBOMjA0T0ZWYVlXVlhjVGhvVW5WWlQyWXhOR3BsUjA1a2FqQkxRMnhTY0UwclNrOXNNak5QT1VkSFV6ZGhWRmxvVjFGcmR5dDNjMUFLT1VwcmFqRmpWV0UxYW1ST1lrMWhZamxzY1daSmJucDRSV2hxYUVKWldXSmlWbXA2ZUc4MFdpOUVRbFozTmtGSGQyRlJPVzVKYm01dlNsRkdNemxOZGdwelFscFVOSEZQZG1KMWFsaDZhbFYzTTJOaGQxVlpiVk4xT0VZMWVrUnhjblZYTkhOUFYzUk1SMFJLUm1wQk5rNHpaV01yZG5kRWVXTmFjVmRDUkdwc0NtdFdTRW8xVFV4MFVXbFZTRGxIY3psNUwwRk9kbmRvTTNKUGFVRnljbXM1V1V0c04yOVVTV0ZIV0ZoaE0xTlpSVUZOUWl0aUswaG1TMXBVWlRoek5ra0tRV2hKUWtGdlNVSkJVVVJETjJRNWVuRmlObUp2VURKR2NuZDFPVzAxYmswemREQXpUbUZFWVZaM1QyeExOR1pqVVRGM2ExTm1NVWw2T0hneFJIcEVZUXBaTUROdFFUSkVaR0pMWmpCU1FrNXRlRlpzT1ZaSlRVcDJlVFI0WlhkVVQydG1ia1p6T1dsT1dWUnRhbFZKU3prdlF5OXRNR1ZIVTJGRVVsZEJNR1JKQ2xOallVZEdRVWROWkVwS1ZHdEpjWGhoTVVOMmMxWXlZVVpETmxOaFEzbE1iRFUyYWpFdlpVRXhRV1pSVVZKSWRsaG9TbFpXY1dVd016TkdlREZXTVhNS1QxUjVVamh5U0c4MVVFZHViMGRtVW1OcGJtbFljVlpEV0VkQ2JIZzVlbHBzUjFoWGVWTnhWamhHZEVGQlNXcHNWbUV3YjJsMGFsZ3ZNQ3R2Tmk4MlZ3bzJhMDFoT0VKeFlYZE1VREZ2WW5oRmJWSllRVVJWVVdKdlkzRTBSME5pUkdWSE9HNXlNVzh4VGt4TVpHOVdTRkpPUW5aamNGUmhZbkZRWWpkS2EzaEVDbUpVZGpWbGVVTXlXazFsUVRoUVNuZHRZMVZvTkVsS2VFaFFhSEJVY1VWQ1FXOUpRa0ZCTUdaRFoyVnpZMjFUTmsxVFkyc3plVWxoVm1nME9HNUlkallLTUVoWU5XNXRRM2g2VVVSSlJrZGpiREkwU0VSb1IyTjJUM0pJTmxGeE4waFRla04zVFUxVmEwNHJWR3MyWTJoSE1IRXdWbHBUTVRNclpGTmtjV0l6VEFwb1EwNHhhWEJZT1RWWE5WVjFTVlJOYVRST1JHeGpVWEpqVW01WU5ETmpjWE15Y1RWWGFYcFhja3BQTXpOdGFHSmpUVWd6ZFRreGEzSldlbFpUYURoUENsWkZhSFJhZG1wYVowTlVjRkpyVDNrNFJuVktUVXBZWkVSRlpYaFhiamRTYUdoNlYzSk1lak5hTkVneVJHazVWVVZwVVdGWWExSXZVVUZQUWxSRFpIa0tVRFZJVG5oSU1sTkhXSEpqYTJoNGNUY3pUMDB5WWtoR1RrSXlTQzg0TUc1aVQxcGxaMjkxYURKNVFsUmlOR0ozUjJSTlRWTkZhVEozY0V3MVZVdFdOUXBIY0M5S1pUZGpVWEJsYlVKTk9XZFlTWE5pWVVwaFNuaHpOVU5ZUjBzNU1FNTZOVTQ1V0hWM2NsRlNlSFo2TVZKb2IyVnFNVWhQVEdjclZUMEtMUzB0TFMxRlRrUWdVbE5CSUZCU1NWWkJWRVVnUzBWWkxTMHRMUzBLCiAgICB0b2tlbjogMGRlNGU4Y2M2ZmY2MjgzMjYxNWQ5ZjUyYzcxMTY3MzE4NTIzNTlmZjIzNzc5N2M5M2ZiMzAwM2Y0N2UxMjhiZTA1MjkwYzg5NjhjMDY5MmY2NGVlYWJkNGE5MzM3NTY2YmIwZDU1ZjA0OTI5OWIzYWE1ZTFjZWVkODhiY2NiNTgK\"\n + \ }\n ]\n }" + headers: + cache-control: + - no-cache + content-length: + - '13004' + content-type: + - application/json + date: + - Wed, 29 Apr 2020 10:51:38 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Content-Type: + - application/json + User-Agent: + - OpenAPI-Generator/11.0.0/python + method: GET + uri: https://cli-test-a-akkeshar-test2-1bfbb5-c4bb7537.hcp.westeurope.azmk8s.io/apis/networking.k8s.io/v1/ + response: + body: + string: '{"kind":"APIResourceList","apiVersion":"v1","groupVersion":"networking.k8s.io/v1","resources":[{"name":"networkpolicies","singularName":"","namespaced":true,"kind":"NetworkPolicy","verbs":["create","delete","deletecollection","get","list","patch","update","watch"],"shortNames":["netpol"],"storageVersionHash":"YpfwF18m1G8="}]} + + ' + headers: + audit-id: + - 239f2231-103a-4264-adb4-2fc53158fbb9 + content-length: + - '328' + content-type: + - application/json + date: + - Wed, 29 Apr 2020 10:51:41 GMT + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - connectedk8s connect + Connection: + - keep-alive + ParameterSetName: + - -g -n -l --tags --kube-config + User-Agent: + - python/3.7.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.5.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kubernetes?api-version=2019-07-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kubernetes","namespace":"Microsoft.Kubernetes","authorizations":[{"applicationId":"64b12d6e-6549-484c-8cc6-6281839ba394","roleDefinitionId":"1d1d44cf-68a1-4def-a2b6-cd7efc3515af"}],"resourceTypes":[{"resourceType":"locations","locations":[],"apiVersions":["2020-01-01-preview"],"capabilities":"None"},{"resourceType":"locations/operationStatuses","locations":["East + US 2 EUAP","West Europe","East US"],"apiVersions":["2020-01-01-preview"],"capabilities":"None"},{"resourceType":"registeredSubscriptions","locations":[],"apiVersions":["2020-01-01-preview"],"capabilities":"None"},{"resourceType":"operations","locations":["West + US","East US"],"apiVersions":["2019-11-01-preview","2019-09-01-privatepreview"],"capabilities":"None"},{"resourceType":"connectedClusters","locations":["East + US","West Europe","East US 2 EUAP"],"apiVersions":["2020-01-01-preview","2019-11-01-preview","2019-09-01-privatepreview"],"capabilities":"CrossResourceGroupResourceMove, + CrossSubscriptionResourceMove, SystemAssignedResourceIdentity, SupportsTags, + SupportsLocation"}],"registrationState":"Registered","registrationPolicy":"RegistrationRequired"}' + headers: + cache-control: + - no-cache + content-length: + - '1208' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 29 Apr 2020 10:51:45 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - connectedk8s connect + Connection: + - keep-alive + ParameterSetName: + - -g -n -l --tags --kube-config + User-Agent: + - python/3.7.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-hybridkubernetes/0.1.1 Azure-SDK-For-Python AZURECLI/2.5.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/akkeshar-test2/providers/Microsoft.Kubernetes/connectedClusters/cc-000002?api-version=2020-01-01-preview + response: + body: + string: '{"error":{"code":"ResourceNotFound","message":"The Resource ''Microsoft.Kubernetes/connectedClusters/cc-000002'' + under resource group ''akkeshar-test2'' was not found."}}' + headers: + cache-control: + - no-cache + content-length: + - '169' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 29 Apr 2020 10:51:58 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-failure-cause: + - gateway + status: + code: 404 + message: Not Found +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - connectedk8s connect + Connection: + - keep-alive + ParameterSetName: + - -g -n -l --tags --kube-config + User-Agent: + - python/3.7.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.5.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/akkeshar-test2?api-version=2019-07-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/akkeshar-test2","name":"akkeshar-test2","type":"Microsoft.Resources/resourceGroups","location":"eastus2","properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '226' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 29 Apr 2020 10:51:58 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - python-requests/2.22.0 + method: POST + uri: https://eastus2euap.dp.kubernetesconfiguration.azure.com/azure-arc-k8sagents/GetLatestHelmPackagePath?api-version=2019-11-01-preview&releaseTrain=stable + response: + body: + string: '{"repositoryPath":"azurearcfork8s.azurecr.io/canary/stable/azure-arc-k8sagents:0.1.119"}' + headers: + api-supported-versions: + - 2019-11-01-Preview + connection: + - close + content-length: + - '88' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 29 Apr 2020 10:52:00 GMT + server: + - openresty/1.15.8.2 + strict-transport-security: + - max-age=15724800; includeSubDomains + - max-age=2592000 + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Content-Type: + - application/json + User-Agent: + - OpenAPI-Generator/11.0.0/python + method: GET + uri: https://cli-test-a-akkeshar-test2-1bfbb5-c4bb7537.hcp.westeurope.azmk8s.io/api/v1/nodes + response: + body: + string: '{"kind":"NodeList","apiVersion":"v1","metadata":{"selfLink":"/api/v1/nodes","resourceVersion":"954"},"items":[{"metadata":{"name":"aks-nodepool1-28230805-vmss000000","selfLink":"/api/v1/nodes/aks-nodepool1-28230805-vmss000000","uid":"0658b89a-392d-4e42-a0cb-0c3ddfd0acc6","resourceVersion":"893","creationTimestamp":"2020-04-29T10:50:51Z","labels":{"agentpool":"nodepool1","beta.kubernetes.io/arch":"amd64","beta.kubernetes.io/instance-type":"Standard_B2s","beta.kubernetes.io/os":"linux","failure-domain.beta.kubernetes.io/region":"westeurope","failure-domain.beta.kubernetes.io/zone":"0","kubernetes.azure.com/cluster":"MC_akkeshar-test2_cli-test-aks-000001_westeurope","kubernetes.azure.com/role":"agent","kubernetes.io/arch":"amd64","kubernetes.io/hostname":"aks-nodepool1-28230805-vmss000000","kubernetes.io/os":"linux","kubernetes.io/role":"agent","node-role.kubernetes.io/agent":"","storageprofile":"managed","storagetier":"Premium_LRS"},"annotations":{"node.alpha.kubernetes.io/ttl":"0","volumes.kubernetes.io/controller-managed-attach-detach":"true"}},"spec":{"podCIDR":"10.244.0.0/24","providerID":"azure:///subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mc_akkeshar-test2_cli-test-aks-000001_westeurope/providers/Microsoft.Compute/virtualMachineScaleSets/aks-nodepool1-28230805-vmss/virtualMachines/0"},"status":{"capacity":{"attachable-volumes-azure-disk":"4","cpu":"2","ephemeral-storage":"101445900Ki","hugepages-1Gi":"0","hugepages-2Mi":"0","memory":"4017084Ki","pods":"110"},"allocatable":{"attachable-volumes-azure-disk":"4","cpu":"1900m","ephemeral-storage":"93492541286","hugepages-1Gi":"0","hugepages-2Mi":"0","memory":"2200508Ki","pods":"110"},"conditions":[{"type":"NetworkUnavailable","status":"False","lastHeartbeatTime":"2020-04-29T10:51:14Z","lastTransitionTime":"2020-04-29T10:51:14Z","reason":"RouteCreated","message":"RouteController + created a route"},{"type":"MemoryPressure","status":"False","lastHeartbeatTime":"2020-04-29T10:52:12Z","lastTransitionTime":"2020-04-29T10:50:51Z","reason":"KubeletHasSufficientMemory","message":"kubelet + has sufficient memory available"},{"type":"DiskPressure","status":"False","lastHeartbeatTime":"2020-04-29T10:52:12Z","lastTransitionTime":"2020-04-29T10:50:51Z","reason":"KubeletHasNoDiskPressure","message":"kubelet + has no disk pressure"},{"type":"PIDPressure","status":"False","lastHeartbeatTime":"2020-04-29T10:52:12Z","lastTransitionTime":"2020-04-29T10:50:51Z","reason":"KubeletHasSufficientPID","message":"kubelet + has sufficient PID available"},{"type":"Ready","status":"True","lastHeartbeatTime":"2020-04-29T10:52:12Z","lastTransitionTime":"2020-04-29T10:50:51Z","reason":"KubeletReady","message":"kubelet + is posting ready status. AppArmor enabled"}],"addresses":[{"type":"Hostname","address":"aks-nodepool1-28230805-vmss000000"},{"type":"InternalIP","address":"10.240.0.4"}],"daemonEndpoints":{"kubeletEndpoint":{"Port":10250}},"nodeInfo":{"machineID":"86c63313e5c6482d80d8702de2e67010","systemUUID":"22E14129-D863-A04F-889A-C2BBCE1287F9","bootID":"cd54b12d-e4e2-4f13-b184-6d041ec85598","kernelVersion":"4.15.0-1077-azure","osImage":"Ubuntu + 16.04.6 LTS","containerRuntimeVersion":"docker://3.0.10+azure","kubeletVersion":"v1.15.10","kubeProxyVersion":"v1.15.10","operatingSystem":"linux","architecture":"amd64"},"images":[{"names":["mcr.microsoft.com/oss/kubernetes/hyperkube@sha256:77a141d66d8f3961928447bd1595e8af0e833eaa64a0f4813bf220a40c9c9893","mcr.microsoft.com/oss/kubernetes/hyperkube:v1.15.10-hotfix.20200326"],"sizeBytes":643025126},{"names":["mcr.microsoft.com/oss/kubernetes/hyperkube@sha256:4903a86f5a64b8bc997b744bbcb3976f9320cc2995334c9a294e9df7ab5d16a1","mcr.microsoft.com/oss/kubernetes/hyperkube:v1.15.10_f0.0.1"],"sizeBytes":643020934},{"names":["mcr.microsoft.com/oss/kubernetes/ingress/nginx-ingress-controller@sha256:2246064c965d8408cf794097a36cbed95262f63c800770ce32ac903df0df0c80","mcr.microsoft.com/oss/kubernetes/ingress/nginx-ingress-controller:0.19.0"],"sizeBytes":414090450},{"names":["mcr.microsoft.com/azuremonitor/containerinsights/ciprod@sha256:1ab6e373673465a53b719ae3e3356b2b93b537351fe4cbf36e62327830a93585","mcr.microsoft.com/azuremonitor/containerinsights/ciprod:ciprod03022020"],"sizeBytes":396692153},{"names":["mcr.microsoft.com/azuremonitor/containerinsights/ciprod@sha256:6a00d818e129b956a22b723e5543a6cdad1431666c090ea5e3676001a921c539","mcr.microsoft.com/azuremonitor/containerinsights/ciprod:ciprod01072020"],"sizeBytes":396298129},{"names":["deis/hcp-tunnel-front@sha256:d237ae461a2f3f7d3f32c33b4d7b2f5fb1681c00b840e8515882c29267bc1c9b","deis/hcp-tunnel-front:v1.9.2-v4.0.11"],"sizeBytes":357377808},{"names":["deis/kube-svc-redirect@sha256:af50cfa03a6b02a4173f3adb476f403efde16193f91d02e2ae8123f57ee21204","deis/kube-svc-redirect:v1.0.7"],"sizeBytes":353963611},{"names":["deis/hcp-tunnel-front@sha256:cbd52a7489524e0389688fa9969d6e5c870500d3e5da33583b75bdcb75d40bbc","mcr.microsoft.com/aks/hcp/hcp-tunnel-front@sha256:cbd52a7489524e0389688fa9969d6e5c870500d3e5da33583b75bdcb75d40bbc","deis/hcp-tunnel-front:v1.9.2-v3.0.11","mcr.microsoft.com/aks/hcp/hcp-tunnel-front:v1.9.2-v3.0.11"],"sizeBytes":353663014},{"names":["mcr.microsoft.com/oss/kubernetes/autoscaler/cluster-proportional-autoscaler@sha256:dc8426f14b517d91272b62d18203475cfd50796d071c48925a662564361a885c","mcr.microsoft.com/oss/kubernetes/autoscaler/cluster-proportional-autoscaler:1.3.0_v0.0.5"],"sizeBytes":250775999},{"names":["mcr.microsoft.com/k8s/csi/azurefile-csi@sha256:3f48233e04580a4344d69921be1a38a0bb1616d0bf86ac3920e9d3c8cc805093","mcr.microsoft.com/k8s/csi/azurefile-csi:v0.3.0"],"sizeBytes":245146481},{"names":["mcr.microsoft.com/azure-application-gateway/kubernetes-ingress@sha256:9a8b2aafb2be07bbee231bd6af425975746a43a1f6b1456f7257d6982c5d6969","mcr.microsoft.com/azure-application-gateway/kubernetes-ingress:1.0.1-rc3"],"sizeBytes":224310054},{"names":["mcr.microsoft.com/k8s/csi/azuredisk-csi@sha256:b3379ebfc891c17312ecaf299977144af6f6ed5180f0eaf79110add8d7381f75","mcr.microsoft.com/k8s/csi/azuredisk-csi:v0.4.0"],"sizeBytes":206475565},{"names":["mcr.microsoft.com/containernetworking/azure-npm@sha256:b2618daafe6fe4a5a78b9e35ecb98ad9795780f88a057876872b63366349281a","mcr.microsoft.com/containernetworking/azure-npm:v1.1.0"],"sizeBytes":155525259},{"names":["mcr.microsoft.com/containernetworking/azure-npm@sha256:0755a2743617712a62ad3e0352ba4ad4de807122642ca9a9e5b409a406429809","mcr.microsoft.com/containernetworking/azure-npm:v1.0.33"],"sizeBytes":152850571},{"names":["mcr.microsoft.com/containernetworking/azure-npm@sha256:2bcb232b4d8d21b4e5f90dbc088766968edef7daf6073c2ae6818848cc01450d","mcr.microsoft.com/containernetworking/azure-npm:v1.0.32"],"sizeBytes":133157858},{"names":["mcr.microsoft.com/oss/open-policy-agent/gatekeeper@sha256:0572ee453918f23f7950168f1aa563a354d65d12bee207a100de64ea172ecd5e","mcr.microsoft.com/oss/open-policy-agent/gatekeeper:v2.0.1"],"sizeBytes":129068206},{"names":["mcr.microsoft.com/containernetworking/azure-npm@sha256:266aef2236e0144078dcddb308ab9fbed5e30412db00b2d7e1e9f6bcba6d6835","mcr.microsoft.com/containernetworking/azure-npm:v1.0.30"],"sizeBytes":125356074},{"names":["mcr.microsoft.com/containernetworking/networkmonitor@sha256:d875511410502c3e37804e1f313cc2b0a03d7a03d3d5e6adaf8994b753a76f8e","mcr.microsoft.com/containernetworking/networkmonitor:v0.0.6"],"sizeBytes":123663837},{"names":["mcr.microsoft.com/oss/kubernetes/kubernetes-dashboard@sha256:dca7e06333b41acd5ba4c6554d93d7b57cf74a1f2c90a72dbbe39cbb40f86979","mcr.microsoft.com/oss/kubernetes/kubernetes-dashboard:v1.10.1"],"sizeBytes":121711221},{"names":["k8s.gcr.io/node-problem-detector@sha256:276335fa25a703615cc2f2cdc51ba693fac4bdd70baa63f9cbf228291defd776","k8s.gcr.io/node-problem-detector:v0.8.0"],"sizeBytes":108715243},{"names":["mcr.microsoft.com/containernetworking/networkmonitor@sha256:1ab5ce423894918c4fd7ec5533837e943dc0fb4c762c3f751486359348d4f8c9","mcr.microsoft.com/containernetworking/networkmonitor:v0.0.7"],"sizeBytes":104673601},{"names":["mcr.microsoft.com/oss/kubernetes/dashboard@sha256:85fbaa5c8fd7ffc5723965685d9467a89e2148206019d1a8979cec1f2d25faef","mcr.microsoft.com/oss/kubernetes/dashboard:v2.0.0-beta8"],"sizeBytes":90835430},{"names":["microsoft/virtual-kubelet@sha256:efc397d741d7e590c892c0ea5dccc9a800656c3adb95da4dae25c1cdd5eb6d9f","mcr.microsoft.com/oss/virtual-kubelet/virtual-kubelet@sha256:88974b99c1c19085f200b9a69942579a1d160924cff05c9143c1390f1a8d9fb2","microsoft/virtual-kubelet:latest","mcr.microsoft.com/oss/virtual-kubelet/virtual-kubelet:latest"],"sizeBytes":87436458},{"names":["mcr.microsoft.com/oss/kubernetes/k8s-dns-kube-dns@sha256:c1c11d18f192f4c8616eb5481b21114c331ea8de389e433f5f141bc0e5f58a3b","mcr.microsoft.com/oss/kubernetes/k8s-dns-kube-dns:1.15.4"],"sizeBytes":86980681},{"names":["mcr.microsoft.com/oss/kubernetes/ip-masq-agent@sha256:e9a6a4b30f278713486fb9bbb5eb4d691323e95be387f5a5a84500d5318dcb6e","mcr.microsoft.com/oss/kubernetes/ip-masq-agent:v2.0.0_v0.0.5"],"sizeBytes":86934309},{"names":["mcr.microsoft.com/oss/calico/cni@sha256:2eced7afb276895062ca2b68f0c45c2184d4621f19f2c72455b3335117db3d9c","mcr.microsoft.com/oss/calico/cni:v3.5.0"],"sizeBytes":83633850},{"names":["gcr.io/kubernetes-helm/tiller@sha256:d52b34a9f9aeec1cf74155ca51fcbb5d872a705914565c782be4531790a4ee0e","gcr.io/kubernetes-helm/tiller:v2.13.1"],"sizeBytes":82105090},{"names":["mcr.microsoft.com/containernetworking/azure-vnet-telemetry@sha256:427589864fb4a53866103951a81bb47e9481bbc75325eb5898d57eecf256701b","mcr.microsoft.com/containernetworking/azure-vnet-telemetry:v1.0.30"],"sizeBytes":78949814},{"names":["mcr.microsoft.com/oss/kubernetes/k8s-dns-dnsmasq-nanny@sha256:47660e5a9967a32e688ec78caa4b87498f161a41b6284edd43e9058a30295a47","mcr.microsoft.com/oss/kubernetes/k8s-dns-dnsmasq-nanny:1.15.4"],"sizeBytes":77756591},{"names":["mcr.microsoft.com/oss/kubernetes/heapster@sha256:675d882ed4d2e68af7f06637a6a479bfae20d2bf0b12764d9d9649c9b3d1e3e1","mcr.microsoft.com/oss/kubernetes/heapster:v1.5.1"],"sizeBytes":75318380},{"names":["mcr.microsoft.com/oss/kubernetes/heapster@sha256:badda1239d6d3de3f780812e068d76e5ecdfe993f0e64c1f290ba6f6a21a01de","mcr.microsoft.com/oss/kubernetes/heapster:v1.5.3"],"sizeBytes":75318342},{"names":["mcr.microsoft.com/oss/kubernetes/heapster@sha256:b25c594dd0a05851a977537e0dd9056707056b585471e4da77710d911f8c83c0","mcr.microsoft.com/oss/kubernetes/heapster:v1.5.4"],"sizeBytes":75318342},{"names":["mcr.microsoft.com/oss/kubernetes/rescheduler@sha256:be0ca4d2e7958abb116fa2d114609fd3d66a9d48b7c7a51a7c8088c43065b8a6","mcr.microsoft.com/oss/kubernetes/rescheduler:v0.3.1"],"sizeBytes":74659350},{"names":["gcr.io/kubernetes-helm/tiller@sha256:f6d8f4ab9ba993b5f5b60a6edafe86352eabe474ffeb84cb6c79b8866dce45d1","gcr.io/kubernetes-helm/tiller:v2.11.0"],"sizeBytes":71821984},{"names":["mcr.microsoft.com/oss/calico/node@sha256:3101acc2162dff74957ddc1c2b904f578d55aa27e2bc033e0531992592757570","mcr.microsoft.com/oss/calico/node:v3.5.0"],"sizeBytes":71710195},{"names":["gcr.io/kubernetes-helm/tiller@sha256:394fb7d5f2fbaca54f6a0dec387cef926f6ae359786c89f7da67db173b97a322","gcr.io/kubernetes-helm/tiller:v2.8.1"],"sizeBytes":71509364},{"names":["mcr.microsoft.com/oss/kubernetes/external-dns@sha256:c535c1a165b04af5eb93393272f6a5104a82b868f1b7e9c055055f8b1e7d2836","mcr.microsoft.com/oss/kubernetes/external-dns:v0.6.0-hotfix-20200228"],"sizeBytes":64446420},{"names":["nvidia/k8s-device-plugin@sha256:41b3531d338477d26eb1151c15d0bea130d31e690752315a5205d8094439b0a6","nvidia/k8s-device-plugin:1.11"],"sizeBytes":63138633},{"names":["nvidia/k8s-device-plugin@sha256:327487db623cc75bdff86e56942f4af280e5f3de907339d0141fdffaeef342b8","nvidia/k8s-device-plugin:1.10"],"sizeBytes":63130377},{"names":["mcr.microsoft.com/oss/open-policy-agent/gatekeeper@sha256:9d6a9a258270710b22f38ca3a44cb9f0604de8be96b82dd121c9c70548679e4e","mcr.microsoft.com/oss/open-policy-agent/gatekeeper:v3.1.0-beta.7"],"sizeBytes":53650918},{"names":["mcr.microsoft.com/oss/kubernetes/k8s-dns-kube-dns@sha256:1b24234b0418e280cfb08bfbd75c2461ee56296327efe481f4babff83a84b250","mcr.microsoft.com/oss/kubernetes/k8s-dns-kube-dns:1.14.13"],"sizeBytes":51157394},{"names":["quay.io/k8scsi/csi-attacher@sha256:6425af42299ba211de685a94953a5c4c6fcbfd2494e445437dd9ebd70b28bf8a","quay.io/k8scsi/csi-attacher:v1.0.1"],"sizeBytes":50168619},{"names":["mcr.microsoft.com/oss/kubernetes/k8s-dns-kube-dns@sha256:8601f2ab51558239fab20bd7dc1323da55e47f8ebc4ab6ca13eeea3c3fe1e363","mcr.microsoft.com/oss/kubernetes/k8s-dns-kube-dns:1.14.5"],"sizeBytes":49387411},{"names":["mcr.microsoft.com/oss/calico/typha@sha256:268e0b3e3e9935edd22bd5355dc10f8d823b6b2f02ae1093ee589880409012d8","mcr.microsoft.com/oss/calico/typha:v3.5.0"],"sizeBytes":49374661},{"names":["mcr.microsoft.com/oss/kubernetes/k8s-dns-kube-dns@sha256:d8129c9ed08a7d6ec4bd5c80b7bf70e35779e25680fce2a6c47900a0fd6a2439","mcr.microsoft.com/oss/kubernetes/k8s-dns-kube-dns:1.15.0"],"sizeBytes":49052023},{"names":["mcr.microsoft.com/oss/kubernetes/rescheduler@sha256:6fae2968a89a349a6ae580f8f54d23e33117cf360bcb984d4b350f8dcbcc7877","mcr.microsoft.com/oss/kubernetes/rescheduler:v0.4.0"],"sizeBytes":48973149},{"names":["quay.io/k8scsi/csi-provisioner@sha256:7d7d832832b536f32e899669a32d4fb75ab972da20c21a2bd6043eb498cf58e8","quay.io/k8scsi/csi-provisioner:v1.0.1"],"sizeBytes":47974767},{"names":["quay.io/k8scsi/csi-cluster-driver-registrar@sha256:fafd75ae5442f192cfa8c2e792903aee30d5884b62e802e4464b0a895d21e3ef","quay.io/k8scsi/csi-cluster-driver-registrar:v1.0.1"],"sizeBytes":45874691},{"names":["mcr.microsoft.com/oss/kubernetes/autoscaler/cluster-proportional-autoscaler@sha256:ee11d97e04758e799643775b3f77ea0702a248ae128ea97a28a9d205d38c81dd","mcr.microsoft.com/oss/kubernetes/autoscaler/cluster-proportional-autoscaler:1.3.0"],"sizeBytes":45844959},{"names":["mcr.microsoft.com/oss/kubernetes/coredns@sha256:14c8d39064e196620ee8eb9856d12646643425ede35c5c910aa798e147f44cee","mcr.microsoft.com/oss/kubernetes/coredns:1.5.0"],"sizeBytes":42488424}],"config":{}}}]} + + ' + headers: + audit-id: + - 5d405f8a-6b30-43aa-bb04-0fe29cb5edfd + content-type: + - application/json + date: + - Wed, 29 Apr 2020 10:52:21 GMT + transfer-encoding: + - chunked + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Content-Type: + - application/json + User-Agent: + - OpenAPI-Generator/11.0.0/python + method: GET + uri: https://cli-test-a-akkeshar-test2-1bfbb5-c4bb7537.hcp.westeurope.azmk8s.io/version/ + response: + body: + string: "{\n \"major\": \"1\",\n \"minor\": \"15\",\n \"gitVersion\": \"v1.15.10\",\n + \ \"gitCommit\": \"059c666b8d0cce7219d2958e6ecc3198072de9bc\",\n \"gitTreeState\": + \"clean\",\n \"buildDate\": \"2020-04-03T15:17:29Z\",\n \"goVersion\": \"go1.12.12\",\n + \ \"compiler\": \"gc\",\n \"platform\": \"linux/amd64\"\n}" + headers: + audit-id: + - e8327218-93be-4c61-a4a4-fe966edf40da + content-length: + - '265' + content-type: + - application/json + date: + - Wed, 29 Apr 2020 10:52:22 GMT + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Content-Type: + - application/json + User-Agent: + - OpenAPI-Generator/11.0.0/python + method: GET + uri: https://cli-test-a-akkeshar-test2-1bfbb5-c4bb7537.hcp.westeurope.azmk8s.io/api/v1/namespaces/azure-arc/configmaps/azure-clusterconfig + response: + body: + string: '{"kind":"ConfigMap","apiVersion":"v1","metadata":{"name":"azure-clusterconfig","namespace":"azure-arc","selfLink":"/api/v1/namespaces/azure-arc/configmaps/azure-clusterconfig","uid":"0700c00c-f24e-4819-a5d3-fabaa89c27d3","resourceVersion":"898","creationTimestamp":"2020-04-29T10:52:15Z"},"data":{"AZURE_ARC_AGENT_VERSION":"0.1.19","AZURE_REGION":"eastus2euap","AZURE_RESOURCE_GROUP":"akkeshar-test2","AZURE_RESOURCE_NAME":"cc-000002","AZURE_SUBSCRIPTION_ID":"1bfbb5d0-917e-4346-9026-1d3b344417f5","AZURE_TENANT_ID":"72f988bf-86f1-41af-91ab-2d7cd011db47","CLUSTER_TYPE":"ConnectedClusters","FLUX_CLIENT_DEFAULT_LOCATION":"azurearcfork8s.azurecr.io/arc-preview/fluxctl:0.1.3"}} + + ' + headers: + audit-id: + - 2a695abc-60aa-46d1-b445-c9f286044da3 + content-length: + - '680' + content-type: + - application/json + date: + - Wed, 29 Apr 2020 10:52:22 GMT + status: + code: 200 + message: OK +- request: + body: '{"tags": {"foo": "doo"}, "location": "eastus2euap", "identity": {"type": + "SystemAssigned"}, "properties": {"agentPublicKeyCertificate": "MIICCgKCAgEA3NZ1TUlvFC3Z9HK1SlxEjvjSIeXYisKQHjjsP9vnjlBmgLVmEa9VLG5DbnV8994xyj2cnJYyXlwFRrX1MpsqvPDV3mA2RcN8nqs38lGppn6j9NkNp5h2++ApZO04TDm1Q20lFhgTOFfZ74uNaQIIwVlunyG7oVYdQc+v/89v8eMPLwSZ9vLCv12LTO6g3s7uVsqKKn1D9YgQrRqIVXfhrVAgshPG9VdQDwIyp2UO9VHheN0MmhO+5WqFgrsqSz3i546IrE1S48yiPf5Xg2KIxpgE0ONu4enIfa/iSD1+TnBi23rVGCt7XdmZvd1TduJYGfmC5XCtwVLlWGTqS0FYXgsQCgvwGSJ2xCXd3KnBiuj5dsR+nZ5FEmJ7UKk/6aghLOarwUHl+b5nCzA4pxb50y3oBiQR41jEExbNnjnv99NXeKWvfwYtfVwQgXoYuIw0CZ3q0KQRs+wb0mwZ0aG96vqpivo6KygmOu++/zLGBsFeTTQ3jYcF50D127xglV3XO+Q5qJJ/PchQ6WMUKD2LXxbyo4c/TWneeyz7AUk6qkuEH9Pabm4k9gYcvBkjzWR+Vsmp2N721u6qLQvwbIFFKs0fjj6xt71Nus2Tl1U9gon4HIhlT/3vhGJHqZZ16yzElduAoNAMGS8B36KPBEcHxiwouqsr8Ib8GEhfZI218b8CAwEAAQ==", + "aadProfile": {"tenantId": "", "clientAppId": "", "serverAppId": ""}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - connectedk8s connect + Connection: + - keep-alive + Content-Length: + - '914' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -g -n -l --tags --kube-config + User-Agent: + - python/3.7.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-hybridkubernetes/0.1.1 Azure-SDK-For-Python AZURECLI/2.5.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/akkeshar-test2/providers/Microsoft.Kubernetes/connectedClusters/cc-000002?api-version=2020-01-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/akkeshar-test2/providers/Microsoft.Kubernetes/connectedClusters/cc-000002","name":"cc-000002","type":"Microsoft.Kubernetes/connectedClusters","location":"eastus2euap","tags":{"foo":"doo"},"identity":{"type":"SystemAssigned","principalId":"5f47d735-44b2-4169-9b2b-03c87ce648b5","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"properties":{"provisioningState":"Accepted","agentPublicKeyCertificate":"MIICCgKCAgEA3NZ1TUlvFC3Z9HK1SlxEjvjSIeXYisKQHjjsP9vnjlBmgLVmEa9VLG5DbnV8994xyj2cnJYyXlwFRrX1MpsqvPDV3mA2RcN8nqs38lGppn6j9NkNp5h2++ApZO04TDm1Q20lFhgTOFfZ74uNaQIIwVlunyG7oVYdQc+v/89v8eMPLwSZ9vLCv12LTO6g3s7uVsqKKn1D9YgQrRqIVXfhrVAgshPG9VdQDwIyp2UO9VHheN0MmhO+5WqFgrsqSz3i546IrE1S48yiPf5Xg2KIxpgE0ONu4enIfa/iSD1+TnBi23rVGCt7XdmZvd1TduJYGfmC5XCtwVLlWGTqS0FYXgsQCgvwGSJ2xCXd3KnBiuj5dsR+nZ5FEmJ7UKk/6aghLOarwUHl+b5nCzA4pxb50y3oBiQR41jEExbNnjnv99NXeKWvfwYtfVwQgXoYuIw0CZ3q0KQRs+wb0mwZ0aG96vqpivo6KygmOu++/zLGBsFeTTQ3jYcF50D127xglV3XO+Q5qJJ/PchQ6WMUKD2LXxbyo4c/TWneeyz7AUk6qkuEH9Pabm4k9gYcvBkjzWR+Vsmp2N721u6qLQvwbIFFKs0fjj6xt71Nus2Tl1U9gon4HIhlT/3vhGJHqZZ16yzElduAoNAMGS8B36KPBEcHxiwouqsr8Ib8GEhfZI218b8CAwEAAQ==","aadProfile":{"tenantId":"","clientAppId":"","serverAppId":""}}}' + headers: + azure-asyncoperation: + - https://management.azure.com/providers/Microsoft.Kubernetes/locations/EastUS2EUAP/operationStatuses/c5b0c990-93c3-4358-a83f-487e9e6e5124?api-version=2020-01-01-preview + cache-control: + - no-cache + content-length: + - '1252' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 29 Apr 2020 10:52:38 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Content-Type: + - application/json + User-Agent: + - OpenAPI-Generator/11.0.0/python + method: GET + uri: https://cli-test-a-akkeshar-test2-1bfbb5-c4bb7537.hcp.westeurope.azmk8s.io/api/v1/namespaces/azure-arc/pods + response: + body: + string: '{"kind":"PodList","apiVersion":"v1","metadata":{"selfLink":"/api/v1/namespaces/azure-arc/pods","resourceVersion":"999"},"items":[{"metadata":{"name":"config-agent-647ff874bc-zblvl","generateName":"config-agent-647ff874bc-","namespace":"azure-arc","selfLink":"/api/v1/namespaces/azure-arc/pods/config-agent-647ff874bc-zblvl","uid":"74f59a99-26ca-4526-9ca5-c9cb04c1c557","resourceVersion":"963","creationTimestamp":"2020-04-29T10:52:17Z","labels":{"app.kubernetes.io/component":"config-agent","app.kubernetes.io/name":"azure-arc-k8s","pod-template-hash":"647ff874bc"},"ownerReferences":[{"apiVersion":"apps/v1","kind":"ReplicaSet","name":"config-agent-647ff874bc","uid":"10f59238-5b3e-46de-a466-93becc3df125","controller":true,"blockOwnerDeletion":true}]},"spec":{"volumes":[{"name":"azure-arc-operatorsa-token-4tztb","secret":{"secretName":"azure-arc-operatorsa-token-4tztb","defaultMode":420}}],"containers":[{"name":"kube-rbac-proxy","image":"gcr.io/kubebuilder/kube-rbac-proxy:v0.4.0","args":["--secure-listen-address=0.0.0.0:8443","--upstream=http://127.0.0.1:8080/","--logtostderr=true","--v=10"],"ports":[{"name":"https","containerPort":8443,"protocol":"TCP"}],"resources":{},"volumeMounts":[{"name":"azure-arc-operatorsa-token-4tztb","readOnly":true,"mountPath":"/var/run/secrets/kubernetes.io/serviceaccount"}],"terminationMessagePath":"/dev/termination-log","terminationMessagePolicy":"File","imagePullPolicy":"IfNotPresent"},{"name":"config-agent","image":"azurearcfork8s.azurecr.io/arc-preview/config-agent:0.1.19","env":[{"name":"AZURE_RESOURCE_NAME","valueFrom":{"configMapKeyRef":{"name":"azure-clusterconfig","key":"AZURE_RESOURCE_NAME"}}},{"name":"AZURE_SUBSCRIPTION_ID","valueFrom":{"configMapKeyRef":{"name":"azure-clusterconfig","key":"AZURE_SUBSCRIPTION_ID"}}},{"name":"AZURE_RESOURCE_GROUP","valueFrom":{"configMapKeyRef":{"name":"azure-clusterconfig","key":"AZURE_RESOURCE_GROUP"}}},{"name":"AZURE_REGION","valueFrom":{"configMapKeyRef":{"name":"azure-clusterconfig","key":"AZURE_REGION"}}},{"name":"CLUSTER_TYPE","valueFrom":{"configMapKeyRef":{"name":"azure-clusterconfig","key":"CLUSTER_TYPE"}}},{"name":"FLUX_CLIENT_DEFAULT_LOCATION","valueFrom":{"configMapKeyRef":{"name":"azure-clusterconfig","key":"FLUX_CLIENT_DEFAULT_LOCATION"}}}],"resources":{},"volumeMounts":[{"name":"azure-arc-operatorsa-token-4tztb","readOnly":true,"mountPath":"/var/run/secrets/kubernetes.io/serviceaccount"}],"terminationMessagePath":"/dev/termination-log","terminationMessagePolicy":"File","imagePullPolicy":"Always"}],"restartPolicy":"Always","terminationGracePeriodSeconds":30,"dnsPolicy":"ClusterFirst","serviceAccountName":"azure-arc-operatorsa","serviceAccount":"azure-arc-operatorsa","nodeName":"aks-nodepool1-28230805-vmss000000","securityContext":{},"schedulerName":"default-scheduler","tolerations":[{"key":"node.kubernetes.io/not-ready","operator":"Exists","effect":"NoExecute","tolerationSeconds":300},{"key":"node.kubernetes.io/unreachable","operator":"Exists","effect":"NoExecute","tolerationSeconds":300}],"priority":0,"enableServiceLinks":true},"status":{"phase":"Pending","conditions":[{"type":"Initialized","status":"True","lastProbeTime":null,"lastTransitionTime":"2020-04-29T10:52:19Z"},{"type":"Ready","status":"False","lastProbeTime":null,"lastTransitionTime":"2020-04-29T10:52:19Z","reason":"ContainersNotReady","message":"containers + with unready status: [kube-rbac-proxy config-agent]"},{"type":"ContainersReady","status":"False","lastProbeTime":null,"lastTransitionTime":"2020-04-29T10:52:19Z","reason":"ContainersNotReady","message":"containers + with unready status: [kube-rbac-proxy config-agent]"},{"type":"PodScheduled","status":"True","lastProbeTime":null,"lastTransitionTime":"2020-04-29T10:52:17Z"}],"hostIP":"10.240.0.4","startTime":"2020-04-29T10:52:19Z","containerStatuses":[{"name":"config-agent","state":{"waiting":{"reason":"ContainerCreating"}},"lastState":{},"ready":false,"restartCount":0,"image":"azurearcfork8s.azurecr.io/arc-preview/config-agent:0.1.19","imageID":""},{"name":"kube-rbac-proxy","state":{"waiting":{"reason":"ContainerCreating"}},"lastState":{},"ready":false,"restartCount":0,"image":"gcr.io/kubebuilder/kube-rbac-proxy:v0.4.0","imageID":""}],"qosClass":"BestEffort"}},{"metadata":{"name":"controller-manager-55d5d4457c-v9lzt","generateName":"controller-manager-55d5d4457c-","namespace":"azure-arc","selfLink":"/api/v1/namespaces/azure-arc/pods/controller-manager-55d5d4457c-v9lzt","uid":"6a9338c1-4f1b-46e0-a642-e9af0cc4d856","resourceVersion":"957","creationTimestamp":"2020-04-29T10:52:17Z","labels":{"control-plane":"controller-manager","pod-template-hash":"55d5d4457c"},"ownerReferences":[{"apiVersion":"apps/v1","kind":"ReplicaSet","name":"controller-manager-55d5d4457c","uid":"15af7726-f7ff-4c3d-a7a4-03370fb43e34","controller":true,"blockOwnerDeletion":true}]},"spec":{"volumes":[{"name":"azure-arc-operatorsa-token-4tztb","secret":{"secretName":"azure-arc-operatorsa-token-4tztb","defaultMode":420}}],"containers":[{"name":"kube-rbac-proxy","image":"gcr.io/kubebuilder/kube-rbac-proxy:v0.4.0","args":["--secure-listen-address=0.0.0.0:8443","--upstream=http://127.0.0.1:8080/","--logtostderr=true","--v=10"],"ports":[{"name":"https","containerPort":8443,"protocol":"TCP"}],"resources":{},"volumeMounts":[{"name":"azure-arc-operatorsa-token-4tztb","readOnly":true,"mountPath":"/var/run/secrets/kubernetes.io/serviceaccount"}],"terminationMessagePath":"/dev/termination-log","terminationMessagePolicy":"File","imagePullPolicy":"IfNotPresent"},{"name":"manager","image":"azurearcfork8s.azurecr.io/arc-preview/configoperator:0.1.19","command":["/data/manager"],"args":["--metrics-addr=127.0.0.1:8080","--enable-leader-election"],"env":[{"name":"AZURE_RESOURCE_NAME","valueFrom":{"configMapKeyRef":{"name":"azure-clusterconfig","key":"AZURE_RESOURCE_NAME"}}},{"name":"AZURE_SUBSCRIPTION_ID","valueFrom":{"configMapKeyRef":{"name":"azure-clusterconfig","key":"AZURE_SUBSCRIPTION_ID"}}},{"name":"AZURE_RESOURCE_GROUP","valueFrom":{"configMapKeyRef":{"name":"azure-clusterconfig","key":"AZURE_RESOURCE_GROUP"}}},{"name":"AZURE_REGION","valueFrom":{"configMapKeyRef":{"name":"azure-clusterconfig","key":"AZURE_REGION"}}},{"name":"CLUSTER_TYPE","valueFrom":{"configMapKeyRef":{"name":"azure-clusterconfig","key":"CLUSTER_TYPE"}}}],"resources":{"limits":{"cpu":"100m","memory":"300Mi"},"requests":{"cpu":"100m","memory":"100Mi"}},"volumeMounts":[{"name":"azure-arc-operatorsa-token-4tztb","readOnly":true,"mountPath":"/var/run/secrets/kubernetes.io/serviceaccount"}],"terminationMessagePath":"/dev/termination-log","terminationMessagePolicy":"File","imagePullPolicy":"Always"}],"restartPolicy":"Always","terminationGracePeriodSeconds":10,"dnsPolicy":"ClusterFirst","serviceAccountName":"azure-arc-operatorsa","serviceAccount":"azure-arc-operatorsa","nodeName":"aks-nodepool1-28230805-vmss000000","securityContext":{},"schedulerName":"default-scheduler","tolerations":[{"key":"node.kubernetes.io/not-ready","operator":"Exists","effect":"NoExecute","tolerationSeconds":300},{"key":"node.kubernetes.io/unreachable","operator":"Exists","effect":"NoExecute","tolerationSeconds":300}],"priority":0,"enableServiceLinks":true},"status":{"phase":"Pending","conditions":[{"type":"Initialized","status":"True","lastProbeTime":null,"lastTransitionTime":"2020-04-29T10:52:18Z"},{"type":"Ready","status":"False","lastProbeTime":null,"lastTransitionTime":"2020-04-29T10:52:18Z","reason":"ContainersNotReady","message":"containers + with unready status: [kube-rbac-proxy manager]"},{"type":"ContainersReady","status":"False","lastProbeTime":null,"lastTransitionTime":"2020-04-29T10:52:18Z","reason":"ContainersNotReady","message":"containers + with unready status: [kube-rbac-proxy manager]"},{"type":"PodScheduled","status":"True","lastProbeTime":null,"lastTransitionTime":"2020-04-29T10:52:17Z"}],"hostIP":"10.240.0.4","startTime":"2020-04-29T10:52:18Z","containerStatuses":[{"name":"kube-rbac-proxy","state":{"waiting":{"reason":"ContainerCreating"}},"lastState":{},"ready":false,"restartCount":0,"image":"gcr.io/kubebuilder/kube-rbac-proxy:v0.4.0","imageID":""},{"name":"manager","state":{"waiting":{"reason":"ContainerCreating"}},"lastState":{},"ready":false,"restartCount":0,"image":"azurearcfork8s.azurecr.io/arc-preview/configoperator:0.1.19","imageID":""}],"qosClass":"Burstable"}},{"metadata":{"name":"metrics-agent-58694fc95c-mfvr9","generateName":"metrics-agent-58694fc95c-","namespace":"azure-arc","selfLink":"/api/v1/namespaces/azure-arc/pods/metrics-agent-58694fc95c-mfvr9","uid":"e207a5ec-f4d6-42fd-90cb-34a21a139dcb","resourceVersion":"992","creationTimestamp":"2020-04-29T10:52:17Z","labels":{"app.kubernetes.io/component":"metrics-agent","app.kubernetes.io/name":"azure-arc-k8s","pod-template-hash":"58694fc95c"},"ownerReferences":[{"apiVersion":"apps/v1","kind":"ReplicaSet","name":"metrics-agent-58694fc95c","uid":"e0be435d-3c4c-4a14-86bf-421d9eecb317","controller":true,"blockOwnerDeletion":true}]},"spec":{"volumes":[{"name":"azure-arc-operatorsa-token-4tztb","secret":{"secretName":"azure-arc-operatorsa-token-4tztb","defaultMode":420}}],"containers":[{"name":"metrics-agent","image":"azurearcfork8s.azurecr.io/arc-preview/metrics-agent:0.1.19","env":[{"name":"AZURE_RESOURCE_NAME","valueFrom":{"configMapKeyRef":{"name":"azure-clusterconfig","key":"AZURE_RESOURCE_NAME"}}},{"name":"AZURE_SUBSCRIPTION_ID","valueFrom":{"configMapKeyRef":{"name":"azure-clusterconfig","key":"AZURE_SUBSCRIPTION_ID"}}},{"name":"AZURE_RESOURCE_GROUP","valueFrom":{"configMapKeyRef":{"name":"azure-clusterconfig","key":"AZURE_RESOURCE_GROUP"}}},{"name":"AZURE_REGION","valueFrom":{"configMapKeyRef":{"name":"azure-clusterconfig","key":"AZURE_REGION"}}},{"name":"CLUSTER_TYPE","valueFrom":{"configMapKeyRef":{"name":"azure-clusterconfig","key":"CLUSTER_TYPE"}}}],"resources":{},"volumeMounts":[{"name":"azure-arc-operatorsa-token-4tztb","readOnly":true,"mountPath":"/var/run/secrets/kubernetes.io/serviceaccount"}],"terminationMessagePath":"/dev/termination-log","terminationMessagePolicy":"File","imagePullPolicy":"Always"}],"restartPolicy":"Always","terminationGracePeriodSeconds":30,"dnsPolicy":"ClusterFirst","serviceAccountName":"azure-arc-operatorsa","serviceAccount":"azure-arc-operatorsa","nodeName":"aks-nodepool1-28230805-vmss000000","securityContext":{},"schedulerName":"default-scheduler","tolerations":[{"key":"node.kubernetes.io/not-ready","operator":"Exists","effect":"NoExecute","tolerationSeconds":300},{"key":"node.kubernetes.io/unreachable","operator":"Exists","effect":"NoExecute","tolerationSeconds":300}],"priority":0,"enableServiceLinks":true},"status":{"phase":"Running","conditions":[{"type":"Initialized","status":"True","lastProbeTime":null,"lastTransitionTime":"2020-04-29T10:52:18Z"},{"type":"Ready","status":"True","lastProbeTime":null,"lastTransitionTime":"2020-04-29T10:52:36Z"},{"type":"ContainersReady","status":"True","lastProbeTime":null,"lastTransitionTime":"2020-04-29T10:52:36Z"},{"type":"PodScheduled","status":"True","lastProbeTime":null,"lastTransitionTime":"2020-04-29T10:52:17Z"}],"hostIP":"10.240.0.4","podIP":"10.244.0.9","startTime":"2020-04-29T10:52:18Z","containerStatuses":[{"name":"metrics-agent","state":{"running":{"startedAt":"2020-04-29T10:52:34Z"}},"lastState":{},"ready":true,"restartCount":0,"image":"azurearcfork8s.azurecr.io/arc-preview/metrics-agent:0.1.19","imageID":"docker-pullable://azurearcfork8s.azurecr.io/arc-preview/metrics-agent@sha256:47f694735b320866359942eecca0e45e6539a530da5721c38c5e80d02e26463b","containerID":"docker://9e8b7fd7547c87930b89297534990520c89a5ced5fd49850b1a01038592e6ad6"}],"qosClass":"BestEffort"}}]} + + ' + headers: + audit-id: + - 4a89b536-1243-4abc-bc44-69a1c29cfe29 + content-type: + - application/json + date: + - Wed, 29 Apr 2020 10:52:42 GMT + transfer-encoding: + - chunked + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - connectedk8s connect + Connection: + - keep-alive + ParameterSetName: + - -g -n -l --tags --kube-config + User-Agent: + - python/3.7.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-hybridkubernetes/0.1.1 Azure-SDK-For-Python AZURECLI/2.5.0 + method: GET + uri: https://management.azure.com/providers/Microsoft.Kubernetes/locations/EastUS2EUAP/operationStatuses/c5b0c990-93c3-4358-a83f-487e9e6e5124?api-version=2020-01-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.Kubernetes/locations/EastUS2EUAP/operationStatuses/c5b0c990-93c3-4358-a83f-487e9e6e5124","name":"c5b0c990-93c3-4358-a83f-487e9e6e5124","status":"Succeeded","startTime":"2020-04-29T10:52:33.3793399Z","properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '274' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 29 Apr 2020 10:53:09 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - connectedk8s connect + Connection: + - keep-alive + ParameterSetName: + - -g -n -l --tags --kube-config + User-Agent: + - python/3.7.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-hybridkubernetes/0.1.1 Azure-SDK-For-Python AZURECLI/2.5.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/akkeshar-test2/providers/Microsoft.Kubernetes/connectedClusters/cc-000002?api-version=2020-01-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/akkeshar-test2/providers/Microsoft.Kubernetes/connectedClusters/cc-000002","name":"cc-000002","type":"Microsoft.Kubernetes/connectedClusters","location":"eastus2euap","tags":{"foo":"doo"},"identity":{"type":"SystemAssigned","principalId":"5f47d735-44b2-4169-9b2b-03c87ce648b5","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"properties":{"provisioningState":"Succeeded","agentPublicKeyCertificate":"MIICCgKCAgEA3NZ1TUlvFC3Z9HK1SlxEjvjSIeXYisKQHjjsP9vnjlBmgLVmEa9VLG5DbnV8994xyj2cnJYyXlwFRrX1MpsqvPDV3mA2RcN8nqs38lGppn6j9NkNp5h2++ApZO04TDm1Q20lFhgTOFfZ74uNaQIIwVlunyG7oVYdQc+v/89v8eMPLwSZ9vLCv12LTO6g3s7uVsqKKn1D9YgQrRqIVXfhrVAgshPG9VdQDwIyp2UO9VHheN0MmhO+5WqFgrsqSz3i546IrE1S48yiPf5Xg2KIxpgE0ONu4enIfa/iSD1+TnBi23rVGCt7XdmZvd1TduJYGfmC5XCtwVLlWGTqS0FYXgsQCgvwGSJ2xCXd3KnBiuj5dsR+nZ5FEmJ7UKk/6aghLOarwUHl+b5nCzA4pxb50y3oBiQR41jEExbNnjnv99NXeKWvfwYtfVwQgXoYuIw0CZ3q0KQRs+wb0mwZ0aG96vqpivo6KygmOu++/zLGBsFeTTQ3jYcF50D127xglV3XO+Q5qJJ/PchQ6WMUKD2LXxbyo4c/TWneeyz7AUk6qkuEH9Pabm4k9gYcvBkjzWR+Vsmp2N721u6qLQvwbIFFKs0fjj6xt71Nus2Tl1U9gon4HIhlT/3vhGJHqZZ16yzElduAoNAMGS8B36KPBEcHxiwouqsr8Ib8GEhfZI218b8CAwEAAQ==","aadProfile":{"tenantId":"","clientAppId":"","serverAppId":""}}}' + headers: + cache-control: + - no-cache + content-length: + - '1253' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 29 Apr 2020 10:53:11 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Content-Type: + - application/json + User-Agent: + - OpenAPI-Generator/11.0.0/python + method: GET + uri: https://cli-test-a-akkeshar-test2-1bfbb5-c4bb7537.hcp.westeurope.azmk8s.io/api/v1/namespaces/azure-arc/pods?timeoutSeconds=30&watch=True + response: + body: + string: '{"type":"ADDED","object":{"kind":"Pod","apiVersion":"v1","metadata":{"name":"metrics-agent-58694fc95c-mfvr9","generateName":"metrics-agent-58694fc95c-","namespace":"azure-arc","selfLink":"/api/v1/namespaces/azure-arc/pods/metrics-agent-58694fc95c-mfvr9","uid":"e207a5ec-f4d6-42fd-90cb-34a21a139dcb","resourceVersion":"992","creationTimestamp":"2020-04-29T10:52:17Z","labels":{"app.kubernetes.io/component":"metrics-agent","app.kubernetes.io/name":"azure-arc-k8s","pod-template-hash":"58694fc95c"},"ownerReferences":[{"apiVersion":"apps/v1","kind":"ReplicaSet","name":"metrics-agent-58694fc95c","uid":"e0be435d-3c4c-4a14-86bf-421d9eecb317","controller":true,"blockOwnerDeletion":true}]},"spec":{"volumes":[{"name":"azure-arc-operatorsa-token-4tztb","secret":{"secretName":"azure-arc-operatorsa-token-4tztb","defaultMode":420}}],"containers":[{"name":"metrics-agent","image":"azurearcfork8s.azurecr.io/arc-preview/metrics-agent:0.1.19","env":[{"name":"AZURE_RESOURCE_NAME","valueFrom":{"configMapKeyRef":{"name":"azure-clusterconfig","key":"AZURE_RESOURCE_NAME"}}},{"name":"AZURE_SUBSCRIPTION_ID","valueFrom":{"configMapKeyRef":{"name":"azure-clusterconfig","key":"AZURE_SUBSCRIPTION_ID"}}},{"name":"AZURE_RESOURCE_GROUP","valueFrom":{"configMapKeyRef":{"name":"azure-clusterconfig","key":"AZURE_RESOURCE_GROUP"}}},{"name":"AZURE_REGION","valueFrom":{"configMapKeyRef":{"name":"azure-clusterconfig","key":"AZURE_REGION"}}},{"name":"CLUSTER_TYPE","valueFrom":{"configMapKeyRef":{"name":"azure-clusterconfig","key":"CLUSTER_TYPE"}}}],"resources":{},"volumeMounts":[{"name":"azure-arc-operatorsa-token-4tztb","readOnly":true,"mountPath":"/var/run/secrets/kubernetes.io/serviceaccount"}],"terminationMessagePath":"/dev/termination-log","terminationMessagePolicy":"File","imagePullPolicy":"Always"}],"restartPolicy":"Always","terminationGracePeriodSeconds":30,"dnsPolicy":"ClusterFirst","serviceAccountName":"azure-arc-operatorsa","serviceAccount":"azure-arc-operatorsa","nodeName":"aks-nodepool1-28230805-vmss000000","securityContext":{},"schedulerName":"default-scheduler","tolerations":[{"key":"node.kubernetes.io/not-ready","operator":"Exists","effect":"NoExecute","tolerationSeconds":300},{"key":"node.kubernetes.io/unreachable","operator":"Exists","effect":"NoExecute","tolerationSeconds":300}],"priority":0,"enableServiceLinks":true},"status":{"phase":"Running","conditions":[{"type":"Initialized","status":"True","lastProbeTime":null,"lastTransitionTime":"2020-04-29T10:52:18Z"},{"type":"Ready","status":"True","lastProbeTime":null,"lastTransitionTime":"2020-04-29T10:52:36Z"},{"type":"ContainersReady","status":"True","lastProbeTime":null,"lastTransitionTime":"2020-04-29T10:52:36Z"},{"type":"PodScheduled","status":"True","lastProbeTime":null,"lastTransitionTime":"2020-04-29T10:52:17Z"}],"hostIP":"10.240.0.4","podIP":"10.244.0.9","startTime":"2020-04-29T10:52:18Z","containerStatuses":[{"name":"metrics-agent","state":{"running":{"startedAt":"2020-04-29T10:52:34Z"}},"lastState":{},"ready":true,"restartCount":0,"image":"azurearcfork8s.azurecr.io/arc-preview/metrics-agent:0.1.19","imageID":"docker-pullable://azurearcfork8s.azurecr.io/arc-preview/metrics-agent@sha256:47f694735b320866359942eecca0e45e6539a530da5721c38c5e80d02e26463b","containerID":"docker://9e8b7fd7547c87930b89297534990520c89a5ced5fd49850b1a01038592e6ad6"}],"qosClass":"BestEffort"}}} + + {"type":"ADDED","object":{"kind":"Pod","apiVersion":"v1","metadata":{"name":"controller-manager-55d5d4457c-v9lzt","generateName":"controller-manager-55d5d4457c-","namespace":"azure-arc","selfLink":"/api/v1/namespaces/azure-arc/pods/controller-manager-55d5d4457c-v9lzt","uid":"6a9338c1-4f1b-46e0-a642-e9af0cc4d856","resourceVersion":"957","creationTimestamp":"2020-04-29T10:52:17Z","labels":{"control-plane":"controller-manager","pod-template-hash":"55d5d4457c"},"ownerReferences":[{"apiVersion":"apps/v1","kind":"ReplicaSet","name":"controller-manager-55d5d4457c","uid":"15af7726-f7ff-4c3d-a7a4-03370fb43e34","controller":true,"blockOwnerDeletion":true}]},"spec":{"volumes":[{"name":"azure-arc-operatorsa-token-4tztb","secret":{"secretName":"azure-arc-operatorsa-token-4tztb","defaultMode":420}}],"containers":[{"name":"kube-rbac-proxy","image":"gcr.io/kubebuilder/kube-rbac-proxy:v0.4.0","args":["--secure-listen-address=0.0.0.0:8443","--upstream=http://127.0.0.1:8080/","--logtostderr=true","--v=10"],"ports":[{"name":"https","containerPort":8443,"protocol":"TCP"}],"resources":{},"volumeMounts":[{"name":"azure-arc-operatorsa-token-4tztb","readOnly":true,"mountPath":"/var/run/secrets/kubernetes.io/serviceaccount"}],"terminationMessagePath":"/dev/termination-log","terminationMessagePolicy":"File","imagePullPolicy":"IfNotPresent"},{"name":"manager","image":"azurearcfork8s.azurecr.io/arc-preview/configoperator:0.1.19","command":["/data/manager"],"args":["--metrics-addr=127.0.0.1:8080","--enable-leader-election"],"env":[{"name":"AZURE_RESOURCE_NAME","valueFrom":{"configMapKeyRef":{"name":"azure-clusterconfig","key":"AZURE_RESOURCE_NAME"}}},{"name":"AZURE_SUBSCRIPTION_ID","valueFrom":{"configMapKeyRef":{"name":"azure-clusterconfig","key":"AZURE_SUBSCRIPTION_ID"}}},{"name":"AZURE_RESOURCE_GROUP","valueFrom":{"configMapKeyRef":{"name":"azure-clusterconfig","key":"AZURE_RESOURCE_GROUP"}}},{"name":"AZURE_REGION","valueFrom":{"configMapKeyRef":{"name":"azure-clusterconfig","key":"AZURE_REGION"}}},{"name":"CLUSTER_TYPE","valueFrom":{"configMapKeyRef":{"name":"azure-clusterconfig","key":"CLUSTER_TYPE"}}}],"resources":{"limits":{"cpu":"100m","memory":"300Mi"},"requests":{"cpu":"100m","memory":"100Mi"}},"volumeMounts":[{"name":"azure-arc-operatorsa-token-4tztb","readOnly":true,"mountPath":"/var/run/secrets/kubernetes.io/serviceaccount"}],"terminationMessagePath":"/dev/termination-log","terminationMessagePolicy":"File","imagePullPolicy":"Always"}],"restartPolicy":"Always","terminationGracePeriodSeconds":10,"dnsPolicy":"ClusterFirst","serviceAccountName":"azure-arc-operatorsa","serviceAccount":"azure-arc-operatorsa","nodeName":"aks-nodepool1-28230805-vmss000000","securityContext":{},"schedulerName":"default-scheduler","tolerations":[{"key":"node.kubernetes.io/not-ready","operator":"Exists","effect":"NoExecute","tolerationSeconds":300},{"key":"node.kubernetes.io/unreachable","operator":"Exists","effect":"NoExecute","tolerationSeconds":300}],"priority":0,"enableServiceLinks":true},"status":{"phase":"Pending","conditions":[{"type":"Initialized","status":"True","lastProbeTime":null,"lastTransitionTime":"2020-04-29T10:52:18Z"},{"type":"Ready","status":"False","lastProbeTime":null,"lastTransitionTime":"2020-04-29T10:52:18Z","reason":"ContainersNotReady","message":"containers + with unready status: [kube-rbac-proxy manager]"},{"type":"ContainersReady","status":"False","lastProbeTime":null,"lastTransitionTime":"2020-04-29T10:52:18Z","reason":"ContainersNotReady","message":"containers + with unready status: [kube-rbac-proxy manager]"},{"type":"PodScheduled","status":"True","lastProbeTime":null,"lastTransitionTime":"2020-04-29T10:52:17Z"}],"hostIP":"10.240.0.4","startTime":"2020-04-29T10:52:18Z","containerStatuses":[{"name":"kube-rbac-proxy","state":{"waiting":{"reason":"ContainerCreating"}},"lastState":{},"ready":false,"restartCount":0,"image":"gcr.io/kubebuilder/kube-rbac-proxy:v0.4.0","imageID":""},{"name":"manager","state":{"waiting":{"reason":"ContainerCreating"}},"lastState":{},"ready":false,"restartCount":0,"image":"azurearcfork8s.azurecr.io/arc-preview/configoperator:0.1.19","imageID":""}],"qosClass":"Burstable"}}} + + {"type":"ADDED","object":{"kind":"Pod","apiVersion":"v1","metadata":{"name":"config-agent-647ff874bc-zblvl","generateName":"config-agent-647ff874bc-","namespace":"azure-arc","selfLink":"/api/v1/namespaces/azure-arc/pods/config-agent-647ff874bc-zblvl","uid":"74f59a99-26ca-4526-9ca5-c9cb04c1c557","resourceVersion":"963","creationTimestamp":"2020-04-29T10:52:17Z","labels":{"app.kubernetes.io/component":"config-agent","app.kubernetes.io/name":"azure-arc-k8s","pod-template-hash":"647ff874bc"},"ownerReferences":[{"apiVersion":"apps/v1","kind":"ReplicaSet","name":"config-agent-647ff874bc","uid":"10f59238-5b3e-46de-a466-93becc3df125","controller":true,"blockOwnerDeletion":true}]},"spec":{"volumes":[{"name":"azure-arc-operatorsa-token-4tztb","secret":{"secretName":"azure-arc-operatorsa-token-4tztb","defaultMode":420}}],"containers":[{"name":"kube-rbac-proxy","image":"gcr.io/kubebuilder/kube-rbac-proxy:v0.4.0","args":["--secure-listen-address=0.0.0.0:8443","--upstream=http://127.0.0.1:8080/","--logtostderr=true","--v=10"],"ports":[{"name":"https","containerPort":8443,"protocol":"TCP"}],"resources":{},"volumeMounts":[{"name":"azure-arc-operatorsa-token-4tztb","readOnly":true,"mountPath":"/var/run/secrets/kubernetes.io/serviceaccount"}],"terminationMessagePath":"/dev/termination-log","terminationMessagePolicy":"File","imagePullPolicy":"IfNotPresent"},{"name":"config-agent","image":"azurearcfork8s.azurecr.io/arc-preview/config-agent:0.1.19","env":[{"name":"AZURE_RESOURCE_NAME","valueFrom":{"configMapKeyRef":{"name":"azure-clusterconfig","key":"AZURE_RESOURCE_NAME"}}},{"name":"AZURE_SUBSCRIPTION_ID","valueFrom":{"configMapKeyRef":{"name":"azure-clusterconfig","key":"AZURE_SUBSCRIPTION_ID"}}},{"name":"AZURE_RESOURCE_GROUP","valueFrom":{"configMapKeyRef":{"name":"azure-clusterconfig","key":"AZURE_RESOURCE_GROUP"}}},{"name":"AZURE_REGION","valueFrom":{"configMapKeyRef":{"name":"azure-clusterconfig","key":"AZURE_REGION"}}},{"name":"CLUSTER_TYPE","valueFrom":{"configMapKeyRef":{"name":"azure-clusterconfig","key":"CLUSTER_TYPE"}}},{"name":"FLUX_CLIENT_DEFAULT_LOCATION","valueFrom":{"configMapKeyRef":{"name":"azure-clusterconfig","key":"FLUX_CLIENT_DEFAULT_LOCATION"}}}],"resources":{},"volumeMounts":[{"name":"azure-arc-operatorsa-token-4tztb","readOnly":true,"mountPath":"/var/run/secrets/kubernetes.io/serviceaccount"}],"terminationMessagePath":"/dev/termination-log","terminationMessagePolicy":"File","imagePullPolicy":"Always"}],"restartPolicy":"Always","terminationGracePeriodSeconds":30,"dnsPolicy":"ClusterFirst","serviceAccountName":"azure-arc-operatorsa","serviceAccount":"azure-arc-operatorsa","nodeName":"aks-nodepool1-28230805-vmss000000","securityContext":{},"schedulerName":"default-scheduler","tolerations":[{"key":"node.kubernetes.io/not-ready","operator":"Exists","effect":"NoExecute","tolerationSeconds":300},{"key":"node.kubernetes.io/unreachable","operator":"Exists","effect":"NoExecute","tolerationSeconds":300}],"priority":0,"enableServiceLinks":true},"status":{"phase":"Pending","conditions":[{"type":"Initialized","status":"True","lastProbeTime":null,"lastTransitionTime":"2020-04-29T10:52:19Z"},{"type":"Ready","status":"False","lastProbeTime":null,"lastTransitionTime":"2020-04-29T10:52:19Z","reason":"ContainersNotReady","message":"containers + with unready status: [kube-rbac-proxy config-agent]"},{"type":"ContainersReady","status":"False","lastProbeTime":null,"lastTransitionTime":"2020-04-29T10:52:19Z","reason":"ContainersNotReady","message":"containers + with unready status: [kube-rbac-proxy config-agent]"},{"type":"PodScheduled","status":"True","lastProbeTime":null,"lastTransitionTime":"2020-04-29T10:52:17Z"}],"hostIP":"10.240.0.4","startTime":"2020-04-29T10:52:19Z","containerStatuses":[{"name":"config-agent","state":{"waiting":{"reason":"ContainerCreating"}},"lastState":{},"ready":false,"restartCount":0,"image":"azurearcfork8s.azurecr.io/arc-preview/config-agent:0.1.19","imageID":""},{"name":"kube-rbac-proxy","state":{"waiting":{"reason":"ContainerCreating"}},"lastState":{},"ready":false,"restartCount":0,"image":"gcr.io/kubebuilder/kube-rbac-proxy:v0.4.0","imageID":""}],"qosClass":"BestEffort"}}} + + {"type":"MODIFIED","object":{"kind":"Pod","apiVersion":"v1","metadata":{"name":"controller-manager-55d5d4457c-v9lzt","generateName":"controller-manager-55d5d4457c-","namespace":"azure-arc","selfLink":"/api/v1/namespaces/azure-arc/pods/controller-manager-55d5d4457c-v9lzt","uid":"6a9338c1-4f1b-46e0-a642-e9af0cc4d856","resourceVersion":"1012","creationTimestamp":"2020-04-29T10:52:17Z","labels":{"control-plane":"controller-manager","pod-template-hash":"55d5d4457c"},"ownerReferences":[{"apiVersion":"apps/v1","kind":"ReplicaSet","name":"controller-manager-55d5d4457c","uid":"15af7726-f7ff-4c3d-a7a4-03370fb43e34","controller":true,"blockOwnerDeletion":true}]},"spec":{"volumes":[{"name":"azure-arc-operatorsa-token-4tztb","secret":{"secretName":"azure-arc-operatorsa-token-4tztb","defaultMode":420}}],"containers":[{"name":"kube-rbac-proxy","image":"gcr.io/kubebuilder/kube-rbac-proxy:v0.4.0","args":["--secure-listen-address=0.0.0.0:8443","--upstream=http://127.0.0.1:8080/","--logtostderr=true","--v=10"],"ports":[{"name":"https","containerPort":8443,"protocol":"TCP"}],"resources":{},"volumeMounts":[{"name":"azure-arc-operatorsa-token-4tztb","readOnly":true,"mountPath":"/var/run/secrets/kubernetes.io/serviceaccount"}],"terminationMessagePath":"/dev/termination-log","terminationMessagePolicy":"File","imagePullPolicy":"IfNotPresent"},{"name":"manager","image":"azurearcfork8s.azurecr.io/arc-preview/configoperator:0.1.19","command":["/data/manager"],"args":["--metrics-addr=127.0.0.1:8080","--enable-leader-election"],"env":[{"name":"AZURE_RESOURCE_NAME","valueFrom":{"configMapKeyRef":{"name":"azure-clusterconfig","key":"AZURE_RESOURCE_NAME"}}},{"name":"AZURE_SUBSCRIPTION_ID","valueFrom":{"configMapKeyRef":{"name":"azure-clusterconfig","key":"AZURE_SUBSCRIPTION_ID"}}},{"name":"AZURE_RESOURCE_GROUP","valueFrom":{"configMapKeyRef":{"name":"azure-clusterconfig","key":"AZURE_RESOURCE_GROUP"}}},{"name":"AZURE_REGION","valueFrom":{"configMapKeyRef":{"name":"azure-clusterconfig","key":"AZURE_REGION"}}},{"name":"CLUSTER_TYPE","valueFrom":{"configMapKeyRef":{"name":"azure-clusterconfig","key":"CLUSTER_TYPE"}}}],"resources":{"limits":{"cpu":"100m","memory":"300Mi"},"requests":{"cpu":"100m","memory":"100Mi"}},"volumeMounts":[{"name":"azure-arc-operatorsa-token-4tztb","readOnly":true,"mountPath":"/var/run/secrets/kubernetes.io/serviceaccount"}],"terminationMessagePath":"/dev/termination-log","terminationMessagePolicy":"File","imagePullPolicy":"Always"}],"restartPolicy":"Always","terminationGracePeriodSeconds":10,"dnsPolicy":"ClusterFirst","serviceAccountName":"azure-arc-operatorsa","serviceAccount":"azure-arc-operatorsa","nodeName":"aks-nodepool1-28230805-vmss000000","securityContext":{},"schedulerName":"default-scheduler","tolerations":[{"key":"node.kubernetes.io/not-ready","operator":"Exists","effect":"NoExecute","tolerationSeconds":300},{"key":"node.kubernetes.io/unreachable","operator":"Exists","effect":"NoExecute","tolerationSeconds":300}],"priority":0,"enableServiceLinks":true},"status":{"phase":"Running","conditions":[{"type":"Initialized","status":"True","lastProbeTime":null,"lastTransitionTime":"2020-04-29T10:52:18Z"},{"type":"Ready","status":"True","lastProbeTime":null,"lastTransitionTime":"2020-04-29T10:52:44Z"},{"type":"ContainersReady","status":"True","lastProbeTime":null,"lastTransitionTime":"2020-04-29T10:52:44Z"},{"type":"PodScheduled","status":"True","lastProbeTime":null,"lastTransitionTime":"2020-04-29T10:52:17Z"}],"hostIP":"10.240.0.4","podIP":"10.244.0.8","startTime":"2020-04-29T10:52:18Z","containerStatuses":[{"name":"kube-rbac-proxy","state":{"running":{"startedAt":"2020-04-29T10:52:26Z"}},"lastState":{},"ready":true,"restartCount":0,"image":"gcr.io/kubebuilder/kube-rbac-proxy:v0.4.0","imageID":"docker-pullable://gcr.io/kubebuilder/kube-rbac-proxy@sha256:297896d96b827bbcb1abd696da1b2d81cab88359ac34cce0e8281f266b4e08de","containerID":"docker://4ded9c0834e0f8574c75ef17e8704d6b92c30597d8978f3e9eb45a72563b95f7"},{"name":"manager","state":{"running":{"startedAt":"2020-04-29T10:52:43Z"}},"lastState":{},"ready":true,"restartCount":0,"image":"azurearcfork8s.azurecr.io/arc-preview/configoperator:0.1.19","imageID":"docker-pullable://azurearcfork8s.azurecr.io/arc-preview/configoperator@sha256:ea33b13ee5d596650cfeced4e593c9b10f46a6f6a6a35aae80187efdf9eae7e2","containerID":"docker://e3b1e2fd416f155a1042aaf39571c4bf9d438c692e2a2c9c926f6587854cdbdd"}],"qosClass":"Burstable"}}} + + {"type":"MODIFIED","object":{"kind":"Pod","apiVersion":"v1","metadata":{"name":"config-agent-647ff874bc-zblvl","generateName":"config-agent-647ff874bc-","namespace":"azure-arc","selfLink":"/api/v1/namespaces/azure-arc/pods/config-agent-647ff874bc-zblvl","uid":"74f59a99-26ca-4526-9ca5-c9cb04c1c557","resourceVersion":"1037","creationTimestamp":"2020-04-29T10:52:17Z","labels":{"app.kubernetes.io/component":"config-agent","app.kubernetes.io/name":"azure-arc-k8s","pod-template-hash":"647ff874bc"},"ownerReferences":[{"apiVersion":"apps/v1","kind":"ReplicaSet","name":"config-agent-647ff874bc","uid":"10f59238-5b3e-46de-a466-93becc3df125","controller":true,"blockOwnerDeletion":true}]},"spec":{"volumes":[{"name":"azure-arc-operatorsa-token-4tztb","secret":{"secretName":"azure-arc-operatorsa-token-4tztb","defaultMode":420}}],"containers":[{"name":"kube-rbac-proxy","image":"gcr.io/kubebuilder/kube-rbac-proxy:v0.4.0","args":["--secure-listen-address=0.0.0.0:8443","--upstream=http://127.0.0.1:8080/","--logtostderr=true","--v=10"],"ports":[{"name":"https","containerPort":8443,"protocol":"TCP"}],"resources":{},"volumeMounts":[{"name":"azure-arc-operatorsa-token-4tztb","readOnly":true,"mountPath":"/var/run/secrets/kubernetes.io/serviceaccount"}],"terminationMessagePath":"/dev/termination-log","terminationMessagePolicy":"File","imagePullPolicy":"IfNotPresent"},{"name":"config-agent","image":"azurearcfork8s.azurecr.io/arc-preview/config-agent:0.1.19","env":[{"name":"AZURE_RESOURCE_NAME","valueFrom":{"configMapKeyRef":{"name":"azure-clusterconfig","key":"AZURE_RESOURCE_NAME"}}},{"name":"AZURE_SUBSCRIPTION_ID","valueFrom":{"configMapKeyRef":{"name":"azure-clusterconfig","key":"AZURE_SUBSCRIPTION_ID"}}},{"name":"AZURE_RESOURCE_GROUP","valueFrom":{"configMapKeyRef":{"name":"azure-clusterconfig","key":"AZURE_RESOURCE_GROUP"}}},{"name":"AZURE_REGION","valueFrom":{"configMapKeyRef":{"name":"azure-clusterconfig","key":"AZURE_REGION"}}},{"name":"CLUSTER_TYPE","valueFrom":{"configMapKeyRef":{"name":"azure-clusterconfig","key":"CLUSTER_TYPE"}}},{"name":"FLUX_CLIENT_DEFAULT_LOCATION","valueFrom":{"configMapKeyRef":{"name":"azure-clusterconfig","key":"FLUX_CLIENT_DEFAULT_LOCATION"}}}],"resources":{},"volumeMounts":[{"name":"azure-arc-operatorsa-token-4tztb","readOnly":true,"mountPath":"/var/run/secrets/kubernetes.io/serviceaccount"}],"terminationMessagePath":"/dev/termination-log","terminationMessagePolicy":"File","imagePullPolicy":"Always"}],"restartPolicy":"Always","terminationGracePeriodSeconds":30,"dnsPolicy":"ClusterFirst","serviceAccountName":"azure-arc-operatorsa","serviceAccount":"azure-arc-operatorsa","nodeName":"aks-nodepool1-28230805-vmss000000","securityContext":{},"schedulerName":"default-scheduler","tolerations":[{"key":"node.kubernetes.io/not-ready","operator":"Exists","effect":"NoExecute","tolerationSeconds":300},{"key":"node.kubernetes.io/unreachable","operator":"Exists","effect":"NoExecute","tolerationSeconds":300}],"priority":0,"enableServiceLinks":true},"status":{"phase":"Running","conditions":[{"type":"Initialized","status":"True","lastProbeTime":null,"lastTransitionTime":"2020-04-29T10:52:19Z"},{"type":"Ready","status":"True","lastProbeTime":null,"lastTransitionTime":"2020-04-29T10:52:53Z"},{"type":"ContainersReady","status":"True","lastProbeTime":null,"lastTransitionTime":"2020-04-29T10:52:53Z"},{"type":"PodScheduled","status":"True","lastProbeTime":null,"lastTransitionTime":"2020-04-29T10:52:17Z"}],"hostIP":"10.240.0.4","podIP":"10.244.0.10","startTime":"2020-04-29T10:52:19Z","containerStatuses":[{"name":"config-agent","state":{"running":{"startedAt":"2020-04-29T10:52:52Z"}},"lastState":{},"ready":true,"restartCount":0,"image":"azurearcfork8s.azurecr.io/arc-preview/config-agent:0.1.19","imageID":"docker-pullable://azurearcfork8s.azurecr.io/arc-preview/config-agent@sha256:766f5acc681d0764948f89e7252f874d8d2f23ffad38d449d0d84f7794185b6e","containerID":"docker://94f2d9214ac84140c53df6904b1c87df5056130eeabfbd9505c3f802744db4c3"},{"name":"kube-rbac-proxy","state":{"running":{"startedAt":"2020-04-29T10:52:34Z"}},"lastState":{},"ready":true,"restartCount":0,"image":"gcr.io/kubebuilder/kube-rbac-proxy:v0.4.0","imageID":"docker-pullable://gcr.io/kubebuilder/kube-rbac-proxy@sha256:297896d96b827bbcb1abd696da1b2d81cab88359ac34cce0e8281f266b4e08de","containerID":"docker://6a158873a95678904d9e76730051d52c6c9a263bcb9243792f6eff21e3748194"}],"qosClass":"BestEffort"}}} + + ' + headers: + audit-id: + - 26a1f601-87fa-4fb4-b6b8-f88c3a6f4c8b + content-type: + - application/json + date: + - Wed, 29 Apr 2020 10:52:43 GMT + transfer-encoding: + - chunked + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - connectedk8s show + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.7.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-hybridkubernetes/0.1.1 Azure-SDK-For-Python AZURECLI/2.5.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/akkeshar-test2/providers/Microsoft.Kubernetes/connectedClusters/cc-000002?api-version=2020-01-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/akkeshar-test2/providers/Microsoft.Kubernetes/connectedClusters/cc-000002","name":"cc-000002","type":"Microsoft.Kubernetes/connectedClusters","location":"eastus2euap","tags":{"foo":"doo"},"identity":{"type":"SystemAssigned","principalId":"5f47d735-44b2-4169-9b2b-03c87ce648b5","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"properties":{"provisioningState":"Succeeded","agentPublicKeyCertificate":"MIICCgKCAgEA3NZ1TUlvFC3Z9HK1SlxEjvjSIeXYisKQHjjsP9vnjlBmgLVmEa9VLG5DbnV8994xyj2cnJYyXlwFRrX1MpsqvPDV3mA2RcN8nqs38lGppn6j9NkNp5h2++ApZO04TDm1Q20lFhgTOFfZ74uNaQIIwVlunyG7oVYdQc+v/89v8eMPLwSZ9vLCv12LTO6g3s7uVsqKKn1D9YgQrRqIVXfhrVAgshPG9VdQDwIyp2UO9VHheN0MmhO+5WqFgrsqSz3i546IrE1S48yiPf5Xg2KIxpgE0ONu4enIfa/iSD1+TnBi23rVGCt7XdmZvd1TduJYGfmC5XCtwVLlWGTqS0FYXgsQCgvwGSJ2xCXd3KnBiuj5dsR+nZ5FEmJ7UKk/6aghLOarwUHl+b5nCzA4pxb50y3oBiQR41jEExbNnjnv99NXeKWvfwYtfVwQgXoYuIw0CZ3q0KQRs+wb0mwZ0aG96vqpivo6KygmOu++/zLGBsFeTTQ3jYcF50D127xglV3XO+Q5qJJ/PchQ6WMUKD2LXxbyo4c/TWneeyz7AUk6qkuEH9Pabm4k9gYcvBkjzWR+Vsmp2N721u6qLQvwbIFFKs0fjj6xt71Nus2Tl1U9gon4HIhlT/3vhGJHqZZ16yzElduAoNAMGS8B36KPBEcHxiwouqsr8Ib8GEhfZI218b8CAwEAAQ==","aadProfile":{"tenantId":"","clientAppId":"","serverAppId":""}}}' + headers: + cache-control: + - no-cache + content-length: + - '1253' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 29 Apr 2020 10:53:13 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Content-Type: + - application/json + User-Agent: + - OpenAPI-Generator/11.0.0/python + method: GET + uri: https://cli-test-a-akkeshar-test2-1bfbb5-c4bb7537.hcp.westeurope.azmk8s.io/apis/networking.k8s.io/v1/ + response: + body: + string: '{"kind":"APIResourceList","apiVersion":"v1","groupVersion":"networking.k8s.io/v1","resources":[{"name":"networkpolicies","singularName":"","namespaced":true,"kind":"NetworkPolicy","verbs":["create","delete","deletecollection","get","list","patch","update","watch"],"shortNames":["netpol"],"storageVersionHash":"YpfwF18m1G8="}]} + + ' + headers: + audit-id: + - 856933e7-e9f2-46fd-a73d-72909fde0fc0 + content-length: + - '328' + content-type: + - application/json + date: + - Wed, 29 Apr 2020 10:53:15 GMT + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Content-Type: + - application/json + User-Agent: + - OpenAPI-Generator/11.0.0/python + method: GET + uri: https://cli-test-a-akkeshar-test2-1bfbb5-c4bb7537.hcp.westeurope.azmk8s.io/api/v1/namespaces/azure-arc/configmaps/azure-clusterconfig + response: + body: + string: '{"kind":"ConfigMap","apiVersion":"v1","metadata":{"name":"azure-clusterconfig","namespace":"azure-arc","selfLink":"/api/v1/namespaces/azure-arc/configmaps/azure-clusterconfig","uid":"0700c00c-f24e-4819-a5d3-fabaa89c27d3","resourceVersion":"898","creationTimestamp":"2020-04-29T10:52:15Z"},"data":{"AZURE_ARC_AGENT_VERSION":"0.1.19","AZURE_REGION":"eastus2euap","AZURE_RESOURCE_GROUP":"akkeshar-test2","AZURE_RESOURCE_NAME":"cc-000002","AZURE_SUBSCRIPTION_ID":"1bfbb5d0-917e-4346-9026-1d3b344417f5","AZURE_TENANT_ID":"72f988bf-86f1-41af-91ab-2d7cd011db47","CLUSTER_TYPE":"ConnectedClusters","FLUX_CLIENT_DEFAULT_LOCATION":"azurearcfork8s.azurecr.io/arc-preview/fluxctl:0.1.3"}} + + ' + headers: + audit-id: + - 56487951-40ae-4d2d-a209-c24b6ebf631e + content-length: + - '680' + content-type: + - application/json + date: + - Wed, 29 Apr 2020 10:53:34 GMT + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - connectedk8s delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g -n --kube-config -y + User-Agent: + - python/3.7.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-hybridkubernetes/0.1.1 Azure-SDK-For-Python AZURECLI/2.5.0 + accept-language: + - en-US + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/akkeshar-test2/providers/Microsoft.Kubernetes/connectedClusters/cc-000002?api-version=2020-01-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/akkeshar-test2/providers/Microsoft.Kubernetes/connectedClusters/cc-000002","name":"cc-000002","type":"Microsoft.Kubernetes/connectedClusters","location":"eastus2euap","tags":{"foo":"doo"},"identity":{"type":"SystemAssigned","principalId":"5f47d735-44b2-4169-9b2b-03c87ce648b5","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"properties":{"provisioningState":"Deleting","agentPublicKeyCertificate":"MIICCgKCAgEA3NZ1TUlvFC3Z9HK1SlxEjvjSIeXYisKQHjjsP9vnjlBmgLVmEa9VLG5DbnV8994xyj2cnJYyXlwFRrX1MpsqvPDV3mA2RcN8nqs38lGppn6j9NkNp5h2++ApZO04TDm1Q20lFhgTOFfZ74uNaQIIwVlunyG7oVYdQc+v/89v8eMPLwSZ9vLCv12LTO6g3s7uVsqKKn1D9YgQrRqIVXfhrVAgshPG9VdQDwIyp2UO9VHheN0MmhO+5WqFgrsqSz3i546IrE1S48yiPf5Xg2KIxpgE0ONu4enIfa/iSD1+TnBi23rVGCt7XdmZvd1TduJYGfmC5XCtwVLlWGTqS0FYXgsQCgvwGSJ2xCXd3KnBiuj5dsR+nZ5FEmJ7UKk/6aghLOarwUHl+b5nCzA4pxb50y3oBiQR41jEExbNnjnv99NXeKWvfwYtfVwQgXoYuIw0CZ3q0KQRs+wb0mwZ0aG96vqpivo6KygmOu++/zLGBsFeTTQ3jYcF50D127xglV3XO+Q5qJJ/PchQ6WMUKD2LXxbyo4c/TWneeyz7AUk6qkuEH9Pabm4k9gYcvBkjzWR+Vsmp2N721u6qLQvwbIFFKs0fjj6xt71Nus2Tl1U9gon4HIhlT/3vhGJHqZZ16yzElduAoNAMGS8B36KPBEcHxiwouqsr8Ib8GEhfZI218b8CAwEAAQ==","aadProfile":{"tenantId":"","clientAppId":"","serverAppId":""}}}' + headers: + cache-control: + - no-cache + content-length: + - '1252' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 29 Apr 2020 10:53:35 GMT + expires: + - '-1' + location: + - https://management.azure.com/providers/Microsoft.Kubernetes/locations/EastUS2EUAP/operationStatuses/10dd82d0-36e8-43d2-9977-c93478045467?api-version=2020-01-01-preview + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Content-Type: + - application/json + User-Agent: + - OpenAPI-Generator/11.0.0/python + method: GET + uri: https://cli-test-a-akkeshar-test2-1bfbb5-c4bb7537.hcp.westeurope.azmk8s.io/api/v1/namespaces?fieldSelector=metadata.name%3Dazure-arc + response: + body: + string: '{"kind":"NamespaceList","apiVersion":"v1","metadata":{"selfLink":"/api/v1/namespaces","resourceVersion":"1142"},"items":[{"metadata":{"name":"azure-arc","selfLink":"/api/v1/namespaces/azure-arc","uid":"5310daee-c1f1-4531-bedf-5f5d90153ec9","resourceVersion":"1140","creationTimestamp":"2020-04-29T10:52:11Z","deletionTimestamp":"2020-04-29T10:53:40Z"},"spec":{"finalizers":["kubernetes"]},"status":{"phase":"Terminating"}}]} + + ' + headers: + audit-id: + - a27a85cf-7fc0-4019-af9b-fb8bb0091d1b + content-length: + - '425' + content-type: + - application/json + date: + - Wed, 29 Apr 2020 10:53:41 GMT + status: + code: 200 + message: OK +version: 1 diff --git a/src/connectedk8s/azext_connectedk8s/tests/latest/test_connectedk8s_scenario.py b/src/connectedk8s/azext_connectedk8s/tests/latest/test_connectedk8s_scenario.py new file mode 100644 index 00000000000..1f71f497b10 --- /dev/null +++ b/src/connectedk8s/azext_connectedk8s/tests/latest/test_connectedk8s_scenario.py @@ -0,0 +1,44 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +import os +import unittest + +from azure.cli.testsdk import (LiveScenarioTest, ResourceGroupPreparer) # pylint: disable=import-error +from azure_devtools.scenario_tests import AllowLargeResponse # pylint: disable=import-error + + +TEST_DIR = os.path.abspath(os.path.join(os.path.abspath(__file__), '..')) + + +def _get_test_data_file(filename): + curr_dir = os.path.dirname(os.path.realpath(__file__)) + return os.path.join(curr_dir, 'data', filename).replace('\\', '\\\\') + + +class Connectedk8sScenarioTest(LiveScenarioTest): + + def test_connectedk8s(self): + + managed_cluster_name = self.create_random_name(prefix='cli-test-aks-', length=24) + self.kwargs.update({ + 'name': self.create_random_name(prefix='cc-', length=12), + 'kubeconfig': "%s" % (_get_test_data_file(managed_cluster_name + '-config.yaml')), + 'managed_cluster_name': managed_cluster_name + }) + self.cmd('aks create -g akkeshar-test2 -n {} -s Standard_B2s -l westeurope -c 1 --generate-ssh-keys'.format(managed_cluster_name)) + self.cmd('aks get-credentials -g akkeshar-test2 -n {managed_cluster_name} -f {kubeconfig}') + os.environ['HELMCHART'] = _get_test_data_file('setupChart.tgz') + self.cmd('connectedk8s connect -g akkeshar-test2 -n {name} -l eastus2euap --tags foo=doo --kube-config {kubeconfig}', checks=[ + self.check('tags.foo', 'doo'), + self.check('name', '{name}') + ]) + self.cmd('connectedk8s show -g akkeshar-test2 -n {name}', checks=[ + self.check('name', '{name}'), + self.check('resourceGroup', 'akkeshar-test2'), + self.check('tags.foo', 'doo') + ]) + self.cmd('connectedk8s delete -g akkeshar-test2 -n {name} --kube-config {kubeconfig} -y') + self.cmd('aks delete -g akkeshar-test2 -n {} -y'.format(managed_cluster_name)) diff --git a/src/connectedk8s/azext_connectedk8s/vendored_sdks/__init__.py b/src/connectedk8s/azext_connectedk8s/vendored_sdks/__init__.py new file mode 100644 index 00000000000..cf419fc2603 --- /dev/null +++ b/src/connectedk8s/azext_connectedk8s/vendored_sdks/__init__.py @@ -0,0 +1,18 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .kubernetes_connect_rp_client import KubernetesConnectRPClient +from .version import VERSION + +__all__ = ['KubernetesConnectRPClient'] + +__version__ = VERSION + diff --git a/src/connectedk8s/azext_connectedk8s/vendored_sdks/kubernetes_connect_rp_client.py b/src/connectedk8s/azext_connectedk8s/vendored_sdks/kubernetes_connect_rp_client.py new file mode 100644 index 00000000000..9d5aed763b2 --- /dev/null +++ b/src/connectedk8s/azext_connectedk8s/vendored_sdks/kubernetes_connect_rp_client.py @@ -0,0 +1,86 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.service_client import SDKClient +from msrest import Serializer, Deserializer +from msrestazure import AzureConfiguration +from .version import VERSION +from .operations.connected_cluster_operations import ConnectedClusterOperations +from .operations.operations import Operations +from . import models + + +class KubernetesConnectRPClientConfiguration(AzureConfiguration): + """Configuration for KubernetesConnectRPClient + Note that all parameters used to create this instance are saved as instance + attributes. + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=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 base_url: + base_url = 'https://management.azure.com' + + super(KubernetesConnectRPClientConfiguration, self).__init__(base_url) + + self.add_user_agent('azure-mgmt-hybridkubernetes/{}'.format(VERSION)) + self.add_user_agent('Azure-SDK-For-Python') + + self.credentials = credentials + self.subscription_id = subscription_id + + +class KubernetesConnectRPClient(SDKClient): + """Azure Connected Cluster Resource Provider API for adopting any Kubernetes Cluster + + :ivar config: Configuration for client. + :vartype config: KubernetesConnectRPClientConfiguration + + :ivar connected_cluster: ConnectedCluster operations + :vartype connected_cluster: azure.mgmt.hybridkubernetes.operations.ConnectedClusterOperations + :ivar operations: Operations operations + :vartype operations: azure.mgmt.hybridkubernetes.operations.Operations + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=None): + + self.config = KubernetesConnectRPClientConfiguration(credentials, subscription_id, base_url) + super(KubernetesConnectRPClient, self).__init__(self.config.credentials, self.config) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self.api_version = '2020-01-01-preview' + self._serialize = Serializer(client_models) + self._deserialize = Deserializer(client_models) + + self.connected_cluster = ConnectedClusterOperations( + self._client, self.config, self._serialize, self._deserialize) + self.operations = Operations( + self._client, self.config, self._serialize, self._deserialize) diff --git a/src/connectedk8s/azext_connectedk8s/vendored_sdks/models/__init__.py b/src/connectedk8s/azext_connectedk8s/vendored_sdks/models/__init__.py new file mode 100644 index 00000000000..0247ddecf63 --- /dev/null +++ b/src/connectedk8s/azext_connectedk8s/vendored_sdks/models/__init__.py @@ -0,0 +1,62 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +try: + from .operation_display_py3 import OperationDisplay + from .operation_py3 import Operation + from .connected_cluster_identity_py3 import ConnectedClusterIdentity + from .connected_cluster_aad_profile_py3 import ConnectedClusterAADProfile + from .connected_cluster_py3 import ConnectedCluster + from .credential_result_py3 import CredentialResult + from .credential_results_py3 import CredentialResults + from .connected_cluster_patch_py3 import ConnectedClusterPatch + from .error_details_py3 import ErrorDetails + from .error_response_py3 import ErrorResponse, ErrorResponseException + from .resource_py3 import Resource + from .tracked_resource_py3 import TrackedResource +except (SyntaxError, ImportError): + from .operation_display import OperationDisplay + from .operation import Operation + from .connected_cluster_identity import ConnectedClusterIdentity + from .connected_cluster_aad_profile import ConnectedClusterAADProfile + from .connected_cluster import ConnectedCluster + from .credential_result import CredentialResult + from .credential_results import CredentialResults + from .connected_cluster_patch import ConnectedClusterPatch + from .error_details import ErrorDetails + from .error_response import ErrorResponse, ErrorResponseException + from .resource import Resource + from .tracked_resource import TrackedResource +from .connected_cluster_paged import ConnectedClusterPaged +from .operation_paged import OperationPaged +from .kubernetes_connect_rp_client_enums import ( + ResourceIdentityType, + ProvisioningState, +) + +__all__ = [ + 'OperationDisplay', + 'Operation', + 'ConnectedClusterIdentity', + 'ConnectedClusterAADProfile', + 'ConnectedCluster', + 'CredentialResult', + 'CredentialResults', + 'ConnectedClusterPatch', + 'ErrorDetails', + 'ErrorResponse', 'ErrorResponseException', + 'Resource', + 'TrackedResource', + 'ConnectedClusterPaged', + 'OperationPaged', + 'ResourceIdentityType', + 'ProvisioningState', +] diff --git a/src/connectedk8s/azext_connectedk8s/vendored_sdks/models/connected_cluster.py b/src/connectedk8s/azext_connectedk8s/vendored_sdks/models/connected_cluster.py new file mode 100644 index 00000000000..92bf5385a13 --- /dev/null +++ b/src/connectedk8s/azext_connectedk8s/vendored_sdks/models/connected_cluster.py @@ -0,0 +1,96 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .tracked_resource import TrackedResource + + +class ConnectedCluster(TrackedResource): + """Represents a connected cluster. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param location: Required. The geo-location where the resource lives + :type location: str + :param identity: Required. The identity of the connected cluster. + :type identity: + ~azure.mgmt.hybridkubernetes.models.ConnectedClusterIdentity + :param agent_public_key_certificate: Required. Base64 encoded public + certificate used by the agent to do the initial handshake to the backend + services in Azure. + :type agent_public_key_certificate: str + :param aad_profile: Required. + :type aad_profile: + ~azure.mgmt.hybridkubernetes.models.ConnectedClusterAADProfile + :ivar kubernetes_version: The Kubernetes version of the connected cluster + resource + :vartype kubernetes_version: str + :ivar total_node_count: Number of nodes present in the connected cluster + resource + :vartype total_node_count: int + :ivar agent_version: Version of the agent running on the connected cluster + resource + :vartype agent_version: str + :param provisioning_state: Possible values include: 'Succeeded', 'Failed', + 'Canceled', 'Provisioning', 'Updating', 'Deleting', 'Accepted' + :type provisioning_state: str or + ~azure.mgmt.hybridkubernetes.models.ProvisioningState + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + 'identity': {'required': True}, + 'agent_public_key_certificate': {'required': True}, + 'aad_profile': {'required': True}, + 'kubernetes_version': {'readonly': True}, + 'total_node_count': {'readonly': True}, + 'agent_version': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'location': {'key': 'location', 'type': 'str'}, + 'identity': {'key': 'identity', 'type': 'ConnectedClusterIdentity'}, + 'agent_public_key_certificate': {'key': 'properties.agentPublicKeyCertificate', 'type': 'str'}, + 'aad_profile': {'key': 'properties.aadProfile', 'type': 'ConnectedClusterAADProfile'}, + 'kubernetes_version': {'key': 'properties.kubernetesVersion', 'type': 'str'}, + 'total_node_count': {'key': 'properties.totalNodeCount', 'type': 'int'}, + 'agent_version': {'key': 'properties.agentVersion', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ConnectedCluster, self).__init__(**kwargs) + self.identity = kwargs.get('identity', None) + self.agent_public_key_certificate = kwargs.get('agent_public_key_certificate', None) + self.aad_profile = kwargs.get('aad_profile', None) + self.kubernetes_version = None + self.total_node_count = None + self.agent_version = None + self.provisioning_state = kwargs.get('provisioning_state', None) diff --git a/src/connectedk8s/azext_connectedk8s/vendored_sdks/models/connected_cluster_aad_profile.py b/src/connectedk8s/azext_connectedk8s/vendored_sdks/models/connected_cluster_aad_profile.py new file mode 100644 index 00000000000..608f5cf0449 --- /dev/null +++ b/src/connectedk8s/azext_connectedk8s/vendored_sdks/models/connected_cluster_aad_profile.py @@ -0,0 +1,46 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ConnectedClusterAADProfile(Model): + """ConnectedClusterAADProfile. + + All required parameters must be populated in order to send to Azure. + + :param tenant_id: Required. The aad tenant id which is configured on + target K8s cluster + :type tenant_id: str + :param client_app_id: Required. The client app id configured on target K8 + cluster + :type client_app_id: str + :param server_app_id: Required. The server app id to access AD server + :type server_app_id: str + """ + + _validation = { + 'tenant_id': {'required': True}, + 'client_app_id': {'required': True}, + 'server_app_id': {'required': True}, + } + + _attribute_map = { + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'client_app_id': {'key': 'clientAppId', 'type': 'str'}, + 'server_app_id': {'key': 'serverAppId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ConnectedClusterAADProfile, self).__init__(**kwargs) + self.tenant_id = kwargs.get('tenant_id', None) + self.client_app_id = kwargs.get('client_app_id', None) + self.server_app_id = kwargs.get('server_app_id', None) diff --git a/src/connectedk8s/azext_connectedk8s/vendored_sdks/models/connected_cluster_aad_profile_py3.py b/src/connectedk8s/azext_connectedk8s/vendored_sdks/models/connected_cluster_aad_profile_py3.py new file mode 100644 index 00000000000..dbc126a4531 --- /dev/null +++ b/src/connectedk8s/azext_connectedk8s/vendored_sdks/models/connected_cluster_aad_profile_py3.py @@ -0,0 +1,46 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ConnectedClusterAADProfile(Model): + """ConnectedClusterAADProfile. + + All required parameters must be populated in order to send to Azure. + + :param tenant_id: Required. The aad tenant id which is configured on + target K8s cluster + :type tenant_id: str + :param client_app_id: Required. The client app id configured on target K8 + cluster + :type client_app_id: str + :param server_app_id: Required. The server app id to access AD server + :type server_app_id: str + """ + + _validation = { + 'tenant_id': {'required': True}, + 'client_app_id': {'required': True}, + 'server_app_id': {'required': True}, + } + + _attribute_map = { + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'client_app_id': {'key': 'clientAppId', 'type': 'str'}, + 'server_app_id': {'key': 'serverAppId', 'type': 'str'}, + } + + def __init__(self, *, tenant_id: str, client_app_id: str, server_app_id: str, **kwargs) -> None: + super(ConnectedClusterAADProfile, self).__init__(**kwargs) + self.tenant_id = tenant_id + self.client_app_id = client_app_id + self.server_app_id = server_app_id diff --git a/src/connectedk8s/azext_connectedk8s/vendored_sdks/models/connected_cluster_identity.py b/src/connectedk8s/azext_connectedk8s/vendored_sdks/models/connected_cluster_identity.py new file mode 100644 index 00000000000..a970c8a9564 --- /dev/null +++ b/src/connectedk8s/azext_connectedk8s/vendored_sdks/models/connected_cluster_identity.py @@ -0,0 +1,53 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ConnectedClusterIdentity(Model): + """Identity for the connected cluster. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar principal_id: The principal id of connected cluster identity. This + property will only be provided for a system assigned identity. + :vartype principal_id: str + :ivar tenant_id: The tenant id associated with the connected cluster. This + property will only be provided for a system assigned identity. + :vartype tenant_id: str + :param type: Required. The type of identity used for the connected + cluster. The type 'SystemAssigned, includes a system created identity. The + type 'None' means no identity is assigned to the connected cluster. + Possible values include: 'None', 'SystemAssigned' + :type type: str or + ~azure.mgmt.hybridkubernetes.models.ResourceIdentityType + """ + + _validation = { + 'principal_id': {'readonly': True}, + 'tenant_id': {'readonly': True}, + 'type': {'required': True}, + } + + _attribute_map = { + 'principal_id': {'key': 'principalId', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'ResourceIdentityType'}, + } + + def __init__(self, **kwargs): + super(ConnectedClusterIdentity, self).__init__(**kwargs) + self.principal_id = None + self.tenant_id = None + self.type = kwargs.get('type', None) diff --git a/src/connectedk8s/azext_connectedk8s/vendored_sdks/models/connected_cluster_identity_py3.py b/src/connectedk8s/azext_connectedk8s/vendored_sdks/models/connected_cluster_identity_py3.py new file mode 100644 index 00000000000..cf4c175ba47 --- /dev/null +++ b/src/connectedk8s/azext_connectedk8s/vendored_sdks/models/connected_cluster_identity_py3.py @@ -0,0 +1,53 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ConnectedClusterIdentity(Model): + """Identity for the connected cluster. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar principal_id: The principal id of connected cluster identity. This + property will only be provided for a system assigned identity. + :vartype principal_id: str + :ivar tenant_id: The tenant id associated with the connected cluster. This + property will only be provided for a system assigned identity. + :vartype tenant_id: str + :param type: Required. The type of identity used for the connected + cluster. The type 'SystemAssigned, includes a system created identity. The + type 'None' means no identity is assigned to the connected cluster. + Possible values include: 'None', 'SystemAssigned' + :type type: str or + ~azure.mgmt.hybridkubernetes.models.ResourceIdentityType + """ + + _validation = { + 'principal_id': {'readonly': True}, + 'tenant_id': {'readonly': True}, + 'type': {'required': True}, + } + + _attribute_map = { + 'principal_id': {'key': 'principalId', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'ResourceIdentityType'}, + } + + def __init__(self, *, type, **kwargs) -> None: + super(ConnectedClusterIdentity, self).__init__(**kwargs) + self.principal_id = None + self.tenant_id = None + self.type = type diff --git a/src/connectedk8s/azext_connectedk8s/vendored_sdks/models/connected_cluster_paged.py b/src/connectedk8s/azext_connectedk8s/vendored_sdks/models/connected_cluster_paged.py new file mode 100644 index 00000000000..55600c14031 --- /dev/null +++ b/src/connectedk8s/azext_connectedk8s/vendored_sdks/models/connected_cluster_paged.py @@ -0,0 +1,27 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.paging import Paged + + +class ConnectedClusterPaged(Paged): + """ + A paging container for iterating over a list of :class:`ConnectedCluster ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ConnectedCluster]'} + } + + def __init__(self, *args, **kwargs): + + super(ConnectedClusterPaged, self).__init__(*args, **kwargs) diff --git a/src/connectedk8s/azext_connectedk8s/vendored_sdks/models/connected_cluster_patch.py b/src/connectedk8s/azext_connectedk8s/vendored_sdks/models/connected_cluster_patch.py new file mode 100644 index 00000000000..3d2db80499f --- /dev/null +++ b/src/connectedk8s/azext_connectedk8s/vendored_sdks/models/connected_cluster_patch.py @@ -0,0 +1,34 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ConnectedClusterPatch(Model): + """Object containing updates for patch operations. + + :param tags: Resource tags. + :type tags: dict[str, str] + :param agent_public_key_certificate: Base64 encoded public certificate + used by the agent to do the initial handshake to the backend services in + Azure. + :type agent_public_key_certificate: str + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + 'agent_public_key_certificate': {'key': 'properties.agentPublicKeyCertificate', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ConnectedClusterPatch, self).__init__(**kwargs) + self.tags = kwargs.get('tags', None) + self.agent_public_key_certificate = kwargs.get('agent_public_key_certificate', None) diff --git a/src/connectedk8s/azext_connectedk8s/vendored_sdks/models/connected_cluster_patch_py3.py b/src/connectedk8s/azext_connectedk8s/vendored_sdks/models/connected_cluster_patch_py3.py new file mode 100644 index 00000000000..15ac8674d6d --- /dev/null +++ b/src/connectedk8s/azext_connectedk8s/vendored_sdks/models/connected_cluster_patch_py3.py @@ -0,0 +1,34 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ConnectedClusterPatch(Model): + """Object containing updates for patch operations. + + :param tags: Resource tags. + :type tags: dict[str, str] + :param agent_public_key_certificate: Base64 encoded public certificate + used by the agent to do the initial handshake to the backend services in + Azure. + :type agent_public_key_certificate: str + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + 'agent_public_key_certificate': {'key': 'properties.agentPublicKeyCertificate', 'type': 'str'}, + } + + def __init__(self, *, tags=None, agent_public_key_certificate: str=None, **kwargs) -> None: + super(ConnectedClusterPatch, self).__init__(**kwargs) + self.tags = tags + self.agent_public_key_certificate = agent_public_key_certificate diff --git a/src/connectedk8s/azext_connectedk8s/vendored_sdks/models/connected_cluster_py3.py b/src/connectedk8s/azext_connectedk8s/vendored_sdks/models/connected_cluster_py3.py new file mode 100644 index 00000000000..7a8b8f00df9 --- /dev/null +++ b/src/connectedk8s/azext_connectedk8s/vendored_sdks/models/connected_cluster_py3.py @@ -0,0 +1,96 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .tracked_resource_py3 import TrackedResource + + +class ConnectedCluster(TrackedResource): + """Represents a connected cluster. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param location: Required. The geo-location where the resource lives + :type location: str + :param identity: Required. The identity of the connected cluster. + :type identity: + ~azure.mgmt.hybridkubernetes.models.ConnectedClusterIdentity + :param agent_public_key_certificate: Required. Base64 encoded public + certificate used by the agent to do the initial handshake to the backend + services in Azure. + :type agent_public_key_certificate: str + :param aad_profile: Required. + :type aad_profile: + ~azure.mgmt.hybridkubernetes.models.ConnectedClusterAADProfile + :ivar kubernetes_version: The Kubernetes version of the connected cluster + resource + :vartype kubernetes_version: str + :ivar total_node_count: Number of nodes present in the connected cluster + resource + :vartype total_node_count: int + :ivar agent_version: Version of the agent running on the connected cluster + resource + :vartype agent_version: str + :param provisioning_state: Possible values include: 'Succeeded', 'Failed', + 'Canceled', 'Provisioning', 'Updating', 'Deleting', 'Accepted' + :type provisioning_state: str or + ~azure.mgmt.hybridkubernetes.models.ProvisioningState + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + 'identity': {'required': True}, + 'agent_public_key_certificate': {'required': True}, + 'aad_profile': {'required': True}, + 'kubernetes_version': {'readonly': True}, + 'total_node_count': {'readonly': True}, + 'agent_version': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'location': {'key': 'location', 'type': 'str'}, + 'identity': {'key': 'identity', 'type': 'ConnectedClusterIdentity'}, + 'agent_public_key_certificate': {'key': 'properties.agentPublicKeyCertificate', 'type': 'str'}, + 'aad_profile': {'key': 'properties.aadProfile', 'type': 'ConnectedClusterAADProfile'}, + 'kubernetes_version': {'key': 'properties.kubernetesVersion', 'type': 'str'}, + 'total_node_count': {'key': 'properties.totalNodeCount', 'type': 'int'}, + 'agent_version': {'key': 'properties.agentVersion', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + } + + def __init__(self, *, location: str, identity, agent_public_key_certificate: str, aad_profile, tags=None, provisioning_state=None, **kwargs) -> None: + super(ConnectedCluster, self).__init__(tags=tags, location=location, **kwargs) + self.identity = identity + self.agent_public_key_certificate = agent_public_key_certificate + self.aad_profile = aad_profile + self.kubernetes_version = None + self.total_node_count = None + self.agent_version = None + self.provisioning_state = provisioning_state diff --git a/src/connectedk8s/azext_connectedk8s/vendored_sdks/models/credential_result.py b/src/connectedk8s/azext_connectedk8s/vendored_sdks/models/credential_result.py new file mode 100644 index 00000000000..89e748b481b --- /dev/null +++ b/src/connectedk8s/azext_connectedk8s/vendored_sdks/models/credential_result.py @@ -0,0 +1,40 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class CredentialResult(Model): + """The credential result response. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name: The name of the credential. + :vartype name: str + :ivar value: Base64-encoded Kubernetes configuration file. + :vartype value: bytearray + """ + + _validation = { + 'name': {'readonly': True}, + 'value': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'bytearray'}, + } + + def __init__(self, **kwargs): + super(CredentialResult, self).__init__(**kwargs) + self.name = None + self.value = None diff --git a/src/connectedk8s/azext_connectedk8s/vendored_sdks/models/credential_result_py3.py b/src/connectedk8s/azext_connectedk8s/vendored_sdks/models/credential_result_py3.py new file mode 100644 index 00000000000..6f387834bf0 --- /dev/null +++ b/src/connectedk8s/azext_connectedk8s/vendored_sdks/models/credential_result_py3.py @@ -0,0 +1,40 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class CredentialResult(Model): + """The credential result response. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name: The name of the credential. + :vartype name: str + :ivar value: Base64-encoded Kubernetes configuration file. + :vartype value: bytearray + """ + + _validation = { + 'name': {'readonly': True}, + 'value': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'bytearray'}, + } + + def __init__(self, **kwargs) -> None: + super(CredentialResult, self).__init__(**kwargs) + self.name = None + self.value = None diff --git a/src/connectedk8s/azext_connectedk8s/vendored_sdks/models/credential_results.py b/src/connectedk8s/azext_connectedk8s/vendored_sdks/models/credential_results.py new file mode 100644 index 00000000000..35175608851 --- /dev/null +++ b/src/connectedk8s/azext_connectedk8s/vendored_sdks/models/credential_results.py @@ -0,0 +1,36 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class CredentialResults(Model): + """The list of credential result response. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar kubeconfigs: Base64-encoded Kubernetes configuration file. + :vartype kubeconfigs: + list[~azure.mgmt.hybridkubernetes.models.CredentialResult] + """ + + _validation = { + 'kubeconfigs': {'readonly': True}, + } + + _attribute_map = { + 'kubeconfigs': {'key': 'kubeconfigs', 'type': '[CredentialResult]'}, + } + + def __init__(self, **kwargs): + super(CredentialResults, self).__init__(**kwargs) + self.kubeconfigs = None diff --git a/src/connectedk8s/azext_connectedk8s/vendored_sdks/models/credential_results_py3.py b/src/connectedk8s/azext_connectedk8s/vendored_sdks/models/credential_results_py3.py new file mode 100644 index 00000000000..e6f85532c9a --- /dev/null +++ b/src/connectedk8s/azext_connectedk8s/vendored_sdks/models/credential_results_py3.py @@ -0,0 +1,36 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class CredentialResults(Model): + """The list of credential result response. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar kubeconfigs: Base64-encoded Kubernetes configuration file. + :vartype kubeconfigs: + list[~azure.mgmt.hybridkubernetes.models.CredentialResult] + """ + + _validation = { + 'kubeconfigs': {'readonly': True}, + } + + _attribute_map = { + 'kubeconfigs': {'key': 'kubeconfigs', 'type': '[CredentialResult]'}, + } + + def __init__(self, **kwargs) -> None: + super(CredentialResults, self).__init__(**kwargs) + self.kubeconfigs = None diff --git a/src/connectedk8s/azext_connectedk8s/vendored_sdks/models/error_details.py b/src/connectedk8s/azext_connectedk8s/vendored_sdks/models/error_details.py new file mode 100644 index 00000000000..2626803ba6d --- /dev/null +++ b/src/connectedk8s/azext_connectedk8s/vendored_sdks/models/error_details.py @@ -0,0 +1,40 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ErrorDetails(Model): + """The error response details containing error code and error message. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar code: The error code. + :vartype code: str + :ivar message: The error message. + :vartype message: str + """ + + _validation = { + 'code': {'readonly': True}, + 'message': {'readonly': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ErrorDetails, self).__init__(**kwargs) + self.code = None + self.message = None diff --git a/src/connectedk8s/azext_connectedk8s/vendored_sdks/models/error_details_py3.py b/src/connectedk8s/azext_connectedk8s/vendored_sdks/models/error_details_py3.py new file mode 100644 index 00000000000..92ce6394eac --- /dev/null +++ b/src/connectedk8s/azext_connectedk8s/vendored_sdks/models/error_details_py3.py @@ -0,0 +1,40 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ErrorDetails(Model): + """The error response details containing error code and error message. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar code: The error code. + :vartype code: str + :ivar message: The error message. + :vartype message: str + """ + + _validation = { + 'code': {'readonly': True}, + 'message': {'readonly': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(ErrorDetails, self).__init__(**kwargs) + self.code = None + self.message = None diff --git a/src/connectedk8s/azext_connectedk8s/vendored_sdks/models/error_response.py b/src/connectedk8s/azext_connectedk8s/vendored_sdks/models/error_response.py new file mode 100644 index 00000000000..a810aa1fc2e --- /dev/null +++ b/src/connectedk8s/azext_connectedk8s/vendored_sdks/models/error_response.py @@ -0,0 +1,41 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model +from msrest.exceptions import HttpOperationError + + +class ErrorResponse(Model): + """The error response that indicates why an operation has failed. + + :param error: + :type error: ~azure.mgmt.hybridkubernetes.models.ErrorDetails + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'ErrorDetails'}, + } + + def __init__(self, **kwargs): + super(ErrorResponse, self).__init__(**kwargs) + self.error = kwargs.get('error', None) + + +class ErrorResponseException(HttpOperationError): + """Server responsed with exception of type: 'ErrorResponse'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(ErrorResponseException, self).__init__(deserialize, response, 'ErrorResponse', *args) diff --git a/src/connectedk8s/azext_connectedk8s/vendored_sdks/models/error_response_py3.py b/src/connectedk8s/azext_connectedk8s/vendored_sdks/models/error_response_py3.py new file mode 100644 index 00000000000..c0d78c8e994 --- /dev/null +++ b/src/connectedk8s/azext_connectedk8s/vendored_sdks/models/error_response_py3.py @@ -0,0 +1,41 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model +from msrest.exceptions import HttpOperationError + + +class ErrorResponse(Model): + """The error response that indicates why an operation has failed. + + :param error: + :type error: ~azure.mgmt.hybridkubernetes.models.ErrorDetails + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'ErrorDetails'}, + } + + def __init__(self, *, error=None, **kwargs) -> None: + super(ErrorResponse, self).__init__(**kwargs) + self.error = error + + +class ErrorResponseException(HttpOperationError): + """Server responsed with exception of type: 'ErrorResponse'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(ErrorResponseException, self).__init__(deserialize, response, 'ErrorResponse', *args) diff --git a/src/connectedk8s/azext_connectedk8s/vendored_sdks/models/kubernetes_connect_rp_client_enums.py b/src/connectedk8s/azext_connectedk8s/vendored_sdks/models/kubernetes_connect_rp_client_enums.py new file mode 100644 index 00000000000..0f8d53fe2bb --- /dev/null +++ b/src/connectedk8s/azext_connectedk8s/vendored_sdks/models/kubernetes_connect_rp_client_enums.py @@ -0,0 +1,29 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from enum import Enum + + +class ResourceIdentityType(str, Enum): + + none = "None" + system_assigned = "SystemAssigned" + + +class ProvisioningState(str, Enum): + + succeeded = "Succeeded" + failed = "Failed" + canceled = "Canceled" + provisioning = "Provisioning" + updating = "Updating" + deleting = "Deleting" + accepted = "Accepted" diff --git a/src/connectedk8s/azext_connectedk8s/vendored_sdks/models/operation.py b/src/connectedk8s/azext_connectedk8s/vendored_sdks/models/operation.py new file mode 100644 index 00000000000..a92f2775c6f --- /dev/null +++ b/src/connectedk8s/azext_connectedk8s/vendored_sdks/models/operation.py @@ -0,0 +1,40 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class Operation(Model): + """The Connected cluster API operation. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name: Operation name: {Microsoft.Kubernetes}/{resource}/{operation} + :vartype name: str + :ivar display: The object that represents the operation. + :vartype display: ~azure.mgmt.hybridkubernetes.models.OperationDisplay + """ + + _validation = { + 'name': {'readonly': True}, + 'display': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'OperationDisplay'}, + } + + def __init__(self, **kwargs): + super(Operation, self).__init__(**kwargs) + self.name = None + self.display = None diff --git a/src/connectedk8s/azext_connectedk8s/vendored_sdks/models/operation_display.py b/src/connectedk8s/azext_connectedk8s/vendored_sdks/models/operation_display.py new file mode 100644 index 00000000000..d7d73494c89 --- /dev/null +++ b/src/connectedk8s/azext_connectedk8s/vendored_sdks/models/operation_display.py @@ -0,0 +1,41 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class OperationDisplay(Model): + """The object that represents the operation. + + :param provider: Service provider: Microsoft.connectedClusters + :type provider: str + :param resource: Connected Cluster Resource on which the operation is + performed + :type resource: str + :param operation: Operation type: Read, write, delete, etc. + :type operation: str + :param description: Description of the operation. + :type description: str + """ + + _attribute_map = { + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(OperationDisplay, self).__init__(**kwargs) + self.provider = kwargs.get('provider', None) + self.resource = kwargs.get('resource', None) + self.operation = kwargs.get('operation', None) + self.description = kwargs.get('description', None) diff --git a/src/connectedk8s/azext_connectedk8s/vendored_sdks/models/operation_display_py3.py b/src/connectedk8s/azext_connectedk8s/vendored_sdks/models/operation_display_py3.py new file mode 100644 index 00000000000..ec4cfb57ef1 --- /dev/null +++ b/src/connectedk8s/azext_connectedk8s/vendored_sdks/models/operation_display_py3.py @@ -0,0 +1,41 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class OperationDisplay(Model): + """The object that represents the operation. + + :param provider: Service provider: Microsoft.connectedClusters + :type provider: str + :param resource: Connected Cluster Resource on which the operation is + performed + :type resource: str + :param operation: Operation type: Read, write, delete, etc. + :type operation: str + :param description: Description of the operation. + :type description: str + """ + + _attribute_map = { + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__(self, *, provider: str=None, resource: str=None, operation: str=None, description: str=None, **kwargs) -> None: + super(OperationDisplay, self).__init__(**kwargs) + self.provider = provider + self.resource = resource + self.operation = operation + self.description = description diff --git a/src/connectedk8s/azext_connectedk8s/vendored_sdks/models/operation_paged.py b/src/connectedk8s/azext_connectedk8s/vendored_sdks/models/operation_paged.py new file mode 100644 index 00000000000..56892781d2b --- /dev/null +++ b/src/connectedk8s/azext_connectedk8s/vendored_sdks/models/operation_paged.py @@ -0,0 +1,27 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.paging import Paged + + +class OperationPaged(Paged): + """ + A paging container for iterating over a list of :class:`Operation ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[Operation]'} + } + + def __init__(self, *args, **kwargs): + + super(OperationPaged, self).__init__(*args, **kwargs) diff --git a/src/connectedk8s/azext_connectedk8s/vendored_sdks/models/operation_py3.py b/src/connectedk8s/azext_connectedk8s/vendored_sdks/models/operation_py3.py new file mode 100644 index 00000000000..d0871dcc46f --- /dev/null +++ b/src/connectedk8s/azext_connectedk8s/vendored_sdks/models/operation_py3.py @@ -0,0 +1,40 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class Operation(Model): + """The Connected cluster API operation. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name: Operation name: {Microsoft.Kubernetes}/{resource}/{operation} + :vartype name: str + :ivar display: The object that represents the operation. + :vartype display: ~azure.mgmt.hybridkubernetes.models.OperationDisplay + """ + + _validation = { + 'name': {'readonly': True}, + 'display': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'OperationDisplay'}, + } + + def __init__(self, **kwargs) -> None: + super(Operation, self).__init__(**kwargs) + self.name = None + self.display = None diff --git a/src/connectedk8s/azext_connectedk8s/vendored_sdks/models/resource.py b/src/connectedk8s/azext_connectedk8s/vendored_sdks/models/resource.py new file mode 100644 index 00000000000..9333a2ac49e --- /dev/null +++ b/src/connectedk8s/azext_connectedk8s/vendored_sdks/models/resource.py @@ -0,0 +1,47 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class Resource(Model): + """Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Resource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None diff --git a/src/connectedk8s/azext_connectedk8s/vendored_sdks/models/resource_py3.py b/src/connectedk8s/azext_connectedk8s/vendored_sdks/models/resource_py3.py new file mode 100644 index 00000000000..370e6c50658 --- /dev/null +++ b/src/connectedk8s/azext_connectedk8s/vendored_sdks/models/resource_py3.py @@ -0,0 +1,47 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class Resource(Model): + """Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(Resource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None diff --git a/src/databricks/azext_databricks/vendored_sdks/databricks/models/tracked_resource.py b/src/connectedk8s/azext_connectedk8s/vendored_sdks/models/tracked_resource.py similarity index 100% rename from src/databricks/azext_databricks/vendored_sdks/databricks/models/tracked_resource.py rename to src/connectedk8s/azext_connectedk8s/vendored_sdks/models/tracked_resource.py diff --git a/src/databricks/azext_databricks/vendored_sdks/databricks/models/tracked_resource_py3.py b/src/connectedk8s/azext_connectedk8s/vendored_sdks/models/tracked_resource_py3.py similarity index 100% rename from src/databricks/azext_databricks/vendored_sdks/databricks/models/tracked_resource_py3.py rename to src/connectedk8s/azext_connectedk8s/vendored_sdks/models/tracked_resource_py3.py diff --git a/src/connectedk8s/azext_connectedk8s/vendored_sdks/operations/__init__.py b/src/connectedk8s/azext_connectedk8s/vendored_sdks/operations/__init__.py new file mode 100644 index 00000000000..86d5be1f5b6 --- /dev/null +++ b/src/connectedk8s/azext_connectedk8s/vendored_sdks/operations/__init__.py @@ -0,0 +1,18 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .connected_cluster_operations import ConnectedClusterOperations +from .operations import Operations + +__all__ = [ + 'ConnectedClusterOperations', + 'Operations', +] diff --git a/src/connectedk8s/azext_connectedk8s/vendored_sdks/operations/connected_cluster_operations.py b/src/connectedk8s/azext_connectedk8s/vendored_sdks/operations/connected_cluster_operations.py new file mode 100644 index 00000000000..4e75d85ff71 --- /dev/null +++ b/src/connectedk8s/azext_connectedk8s/vendored_sdks/operations/connected_cluster_operations.py @@ -0,0 +1,586 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class ConnectedClusterOperations(object): + """ConnectedClusterOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Version of the API called. Constant value: "2020-01-01-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-01-01-preview" + self.config = config + + + def _create_initial( + self, resource_group_name, cluster_name, connected_cluster, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(connected_cluster, 'ConnectedCluster') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('ConnectedCluster', response) + if response.status_code == 201: + deserialized = self._deserialize('ConnectedCluster', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create( + self, resource_group_name, cluster_name, connected_cluster, custom_headers=None, raw=False, polling=True, **operation_config): + """Register a new Kubernetes cluster with Azure Resource Manager. + + API to register a new Kubernetes cluster and create a tracked resource + in Azure Resource Manager (ARM). + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param cluster_name: The name of the Kubernetes cluster on which get + is called. + :type cluster_name: str + :param connected_cluster: Parameters supplied to Create a Connected + Cluster. + :type connected_cluster: + ~azure.mgmt.hybridkubernetes.models.ConnectedCluster + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns ConnectedCluster or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.hybridkubernetes.models.ConnectedCluster] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.hybridkubernetes.models.ConnectedCluster]] + :raises: + :class:`ErrorResponseException` + """ + raw_result = self._create_initial( + resource_group_name=resource_group_name, + cluster_name=cluster_name, + connected_cluster=connected_cluster, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ConnectedCluster', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Kubernetes/connectedClusters/{clusterName}'} + + def update( + self, resource_group_name, cluster_name, tags=None, agent_public_key_certificate=None, custom_headers=None, raw=False, **operation_config): + """Updates a connected cluster. + + API to update certain properties of the connected cluster resource. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param cluster_name: The name of the Kubernetes cluster on which get + is called. + :type cluster_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param agent_public_key_certificate: Base64 encoded public certificate + used by the agent to do the initial handshake to the backend services + in Azure. + :type agent_public_key_certificate: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ConnectedCluster or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.hybridkubernetes.models.ConnectedCluster or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + connected_cluster_patch = models.ConnectedClusterPatch(tags=tags, agent_public_key_certificate=agent_public_key_certificate) + + # Construct URL + url = self.update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(connected_cluster_patch, 'ConnectedClusterPatch') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('ConnectedCluster', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Kubernetes/connectedClusters/{clusterName}'} + + def get( + self, resource_group_name, cluster_name, custom_headers=None, raw=False, **operation_config): + """Get the properties of the specified connected cluster. + + Returns the properties of the specified connected cluster, including + name, identity, properties, and additional cluster details. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param cluster_name: The name of the Kubernetes cluster on which get + is called. + :type cluster_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ConnectedCluster or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.hybridkubernetes.models.ConnectedCluster or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ConnectedCluster', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Kubernetes/connectedClusters/{clusterName}'} + + + def _delete_initial( + self, resource_group_name, cluster_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, cluster_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Delete a connected cluster. + + Delete a connected cluster, removing the tracked resource in Azure + Resource Manager (ARM). + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param cluster_name: The name of the Kubernetes cluster on which get + is called. + :type cluster_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: + :class:`ErrorResponseException` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + cluster_name=cluster_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Kubernetes/connectedClusters/{clusterName}'} + + def list_cluster_user_credentials( + self, resource_group_name, cluster_name, custom_headers=None, raw=False, **operation_config): + """Gets cluster user credentials of a connected cluster. + + Gets cluster user credentials of the connected cluster with a specified + resource group and name. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param cluster_name: The name of the Kubernetes cluster on which get + is called. + :type cluster_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: CredentialResults or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.hybridkubernetes.models.CredentialResults or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.list_cluster_user_credentials.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('CredentialResults', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list_cluster_user_credentials.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Kubernetes/connectedClusters/{clusterName}/listClusterUserCredentials'} + + def list_by_resource_group( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Lists all connected clusters. + + API to enumerate registered connected K8s clusters under a Resource + Group. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of ConnectedCluster + :rtype: + ~azure.mgmt.hybridkubernetes.models.ConnectedClusterPaged[~azure.mgmt.hybridkubernetes.models.ConnectedCluster] + :raises: + :class:`ErrorResponseException` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.ConnectedClusterPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.ConnectedClusterPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Kubernetes/connectedClusters'} + + def list_by_subscription( + self, custom_headers=None, raw=False, **operation_config): + """Lists all connected clusters. + + API to enumerate registered connected K8s clusters under a + Subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of ConnectedCluster + :rtype: + ~azure.mgmt.hybridkubernetes.models.ConnectedClusterPaged[~azure.mgmt.hybridkubernetes.models.ConnectedCluster] + :raises: + :class:`ErrorResponseException` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_by_subscription.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.ConnectedClusterPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.ConnectedClusterPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_by_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Kubernetes/connectedClusters'} diff --git a/src/connectedk8s/azext_connectedk8s/vendored_sdks/operations/operations.py b/src/connectedk8s/azext_connectedk8s/vendored_sdks/operations/operations.py new file mode 100644 index 00000000000..657b2121e9c --- /dev/null +++ b/src/connectedk8s/azext_connectedk8s/vendored_sdks/operations/operations.py @@ -0,0 +1,94 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse + +from .. import models + + +class Operations(object): + """Operations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + + self.config = config + + def get( + self, custom_headers=None, raw=False, **operation_config): + """Lists all of the available API operations for Connected Cluster + resource. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of Operation + :rtype: + ~azure.mgmt.hybridkubernetes.models.OperationPaged[~azure.mgmt.hybridkubernetes.models.Operation] + :raises: + :class:`ErrorResponseException` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.get.metadata['url'] + + # Construct parameters + query_parameters = {} + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + return response + + # Deserialize response + deserialized = models.OperationPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.OperationPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + get.metadata = {'url': '/providers/Microsoft.Kubernetes/operations'} diff --git a/src/connectedk8s/azext_connectedk8s/vendored_sdks/version.py b/src/connectedk8s/azext_connectedk8s/vendored_sdks/version.py new file mode 100644 index 00000000000..e7efe25ea7e --- /dev/null +++ b/src/connectedk8s/azext_connectedk8s/vendored_sdks/version.py @@ -0,0 +1,13 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +VERSION = "0.1.1" + diff --git a/src/connectedk8s/setup.cfg b/src/connectedk8s/setup.cfg new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/connectedk8s/setup.py b/src/connectedk8s/setup.py new file mode 100644 index 00000000000..572dfe2f9e3 --- /dev/null +++ b/src/connectedk8s/setup.py @@ -0,0 +1,62 @@ +#!/usr/bin/env python + +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + + +from codecs import open +from setuptools import setup, find_packages +try: + from azure_bdist_wheel import cmdclass +except ImportError: + from distutils import log as logger + logger.warn("Wheel is not available, disabling bdist_wheel hook") + +# TODO: Confirm this is the right version number you want and it matches your +# HISTORY.rst entry. + +VERSION = '0.2.1' + +# The full list of classifiers is available at +# https://pypi.python.org/pypi?%3Aaction=list_classifiers +CLASSIFIERS = [ + 'Development Status :: 4 - Beta', + 'Intended Audience :: Developers', + 'Intended Audience :: System Administrators', + 'Programming Language :: Python', + 'Programming Language :: Python :: 3', + 'Programming Language :: Python :: 3.6', + 'Programming Language :: Python :: 3.7', + 'Programming Language :: Python :: 3.8', + 'License :: OSI Approved :: MIT License', +] + +# TODO: Add any additional SDK dependencies here +DEPENDENCIES = [ + 'kubernetes', + 'pycryptodome' +] + +with open('README.md', 'r', encoding='utf-8') as f: + README = f.read() +with open('HISTORY.rst', 'r', encoding='utf-8') as f: + HISTORY = f.read() + +setup( + name='connectedk8s', + version=VERSION, + description='Microsoft Azure Command-Line Tools Connectedk8s Extension', + # TODO: Update author and email, if applicable + author='Microsoft Corporation', + author_email='k8connect@microsoft.com', + # TODO: consider pointing directly to your source code instead of the generic repo + url='https://github.com/Azure/azure-cli-extensions', + long_description=README + '\n\n' + HISTORY, + license='MIT', + classifiers=CLASSIFIERS, + packages=find_packages(), + install_requires=DEPENDENCIES, + package_data={'azext_connectedk8s': ['azext_metadata.json']}, +) diff --git a/src/costmanagement/HISTORY.rst b/src/costmanagement/HISTORY.rst new file mode 100644 index 00000000000..27f152061e8 --- /dev/null +++ b/src/costmanagement/HISTORY.rst @@ -0,0 +1,8 @@ +.. :changelog: + +Release History +=============== + +0.1.0 +++++++ +* Initial release. diff --git a/src/costmanagement/README.md b/src/costmanagement/README.md new file mode 100644 index 00000000000..5a29ad5a7e4 --- /dev/null +++ b/src/costmanagement/README.md @@ -0,0 +1,20 @@ +Microsoft Azure CLI 'costmanagement' Extension +========================================== + +This package is for the 'costmanagement' extension. +i.e. 'az costmanagement' + +# Installation +Firstly, azure-cli must be installed. then `az extension add -n costmanagement` + + +# Commands + +## Query +- az costmanagement query - Query the usage data for scope defined. + +## Export - Manage cost export +- az costmanagement export create - Operation to create an export +- az costmanagement export update - Operation to update an export configuration +- az costmanagement export show/list - Operations to display export(s) information +- az costmanagement export delete - Operations to delete an existing export diff --git a/src/costmanagement/azext_costmanagement/__init__.py b/src/costmanagement/azext_costmanagement/__init__.py new file mode 100644 index 00000000000..8870243ca42 --- /dev/null +++ b/src/costmanagement/azext_costmanagement/__init__.py @@ -0,0 +1,47 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from azure.cli.core import AzCommandsLoader +# from azext_costmanagement.generated._help import helps # pylint: disable=unused-import +from azext_costmanagement.manual._help import helps # pylint: disable=unused-import + + +class CostManagementClientCommandsLoader(AzCommandsLoader): + + def __init__(self, cli_ctx=None): + from azure.cli.core.commands import CliCommandType + from azext_costmanagement.generated._client_factory import cf_costmanagement + costmanagement_custom = CliCommandType( + operations_tmpl='azext_costmanagement.custom#{}', + client_factory=cf_costmanagement) + super(CostManagementClientCommandsLoader, self).__init__(cli_ctx=cli_ctx, + custom_command_type=costmanagement_custom) + + def load_command_table(self, args): + from azext_costmanagement.generated.commands import load_command_table + load_command_table(self, args) + try: + from azext_costmanagement.manual.commands import load_command_table as load_command_table_manual + load_command_table_manual(self, args) + except ImportError: + pass + return self.command_table + + def load_arguments(self, command): + from azext_costmanagement.generated._params import load_arguments + load_arguments(self, command) + try: + from azext_costmanagement.manual._params import load_arguments as load_arguments_manual + load_arguments_manual(self, command) + except ImportError: + pass + + +COMMAND_LOADER_CLS = CostManagementClientCommandsLoader diff --git a/src/costmanagement/azext_costmanagement/action.py b/src/costmanagement/azext_costmanagement/action.py new file mode 100644 index 00000000000..a846b2766c4 --- /dev/null +++ b/src/costmanagement/azext_costmanagement/action.py @@ -0,0 +1,17 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +# pylint: disable=wildcard-import +# pylint: disable=unused-wildcard-import + +from .generated.action import * # noqa: F403 +try: + from .manual.action import * # noqa: F403 +except ImportError: + pass diff --git a/src/costmanagement/azext_costmanagement/azext_metadata.json b/src/costmanagement/azext_costmanagement/azext_metadata.json new file mode 100644 index 00000000000..7b56fb1e11a --- /dev/null +++ b/src/costmanagement/azext_costmanagement/azext_metadata.json @@ -0,0 +1,4 @@ +{ + "azext.isExperimental": true, + "azext.minCliCoreVersion": "2.3.1" +} \ No newline at end of file diff --git a/src/costmanagement/azext_costmanagement/custom.py b/src/costmanagement/azext_costmanagement/custom.py new file mode 100644 index 00000000000..7f31674ce96 --- /dev/null +++ b/src/costmanagement/azext_costmanagement/custom.py @@ -0,0 +1,17 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +# pylint: disable=wildcard-import +# pylint: disable=unused-wildcard-import + +from .generated.custom import * # noqa: F403 +try: + from .manual.custom import * # noqa: F403 +except ImportError: + pass diff --git a/src/costmanagement/azext_costmanagement/generated/__init__.py b/src/costmanagement/azext_costmanagement/generated/__init__.py new file mode 100644 index 00000000000..ee0c4f36bd0 --- /dev/null +++ b/src/costmanagement/azext_costmanagement/generated/__init__.py @@ -0,0 +1,12 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +__path__ = __import__('pkgutil').extend_path(__path__, __name__) diff --git a/src/costmanagement/azext_costmanagement/generated/_client_factory.py b/src/costmanagement/azext_costmanagement/generated/_client_factory.py new file mode 100644 index 00000000000..623cc620610 --- /dev/null +++ b/src/costmanagement/azext_costmanagement/generated/_client_factory.py @@ -0,0 +1,41 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + + +def cf_costmanagement(cli_ctx, *_): + from azure.cli.core.commands.client_factory import get_mgmt_service_client + from ..vendored_sdks.costmanagement import CostManagementClient + return get_mgmt_service_client(cli_ctx, CostManagementClient, + subscription_bound=False, + base_url_bound=True) + + +def cf_view(cli_ctx, *_): + return cf_costmanagement(cli_ctx).view + + +def cf_alert(cli_ctx, *_): + return cf_costmanagement(cli_ctx).alert + + +def cf_forecast(cli_ctx, *_): + return cf_costmanagement(cli_ctx).forecast + + +def cf_dimension(cli_ctx, *_): + return cf_costmanagement(cli_ctx).dimension + + +def cf_query(cli_ctx, *_): + return cf_costmanagement(cli_ctx).query + + +def cf_export(cli_ctx, *_): + return cf_costmanagement(cli_ctx).export diff --git a/src/costmanagement/azext_costmanagement/generated/_help.py b/src/costmanagement/azext_costmanagement/generated/_help.py new file mode 100644 index 00000000000..13440845a57 --- /dev/null +++ b/src/costmanagement/azext_costmanagement/generated/_help.py @@ -0,0 +1,782 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +# pylint: disable=too-many-lines + +# from knack.help_files import helps + + +# helps['costmanagement view'] = """ +# type: group +# short-summary: costmanagement view +# """ + +# helps['costmanagement view list'] = """ +# type: command +# short-summary: Lists all views by tenant and object. +# examples: +# - name: ResourceGroupViewList +# text: |- +# az costmanagement view list --scope "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/M\ +# YDEVTESTRG" +# """ + +# helps['costmanagement view show'] = """ +# type: command +# short-summary: Gets the view by view name. +# examples: +# - name: ResourceGroupView +# text: |- +# az costmanagement view show --scope "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/M\ +# YDEVTESTRG" --view-name "swaggerExample" +# """ + +# helps['costmanagement view create'] = """ +# type: command +# short-summary: The operation to create or update a view. Update operation requires latest eTag to be set in the req\ +# uest. You may obtain the latest eTag by performing a get operation. Create operation does not require eTag. +# examples: +# - name: ResourceGroupCreateOrUpdateView +# text: |- +# az costmanagement view create --e-tag "\\"1d4ff9fe66f1d10\\"" --accumulated "true" --chart "Table" --dis\ +# play-name "swagger Example" --kpis type="Forecast" enabled=true id=null --kpis type="Budget" enabled=true id="/subscrip\ +# tions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Consumption/budgets/swaggerDe\ +# mo" --metric "ActualCost" --pivots name="ServiceName" type="Dimension" --pivots name="MeterCategory" type="Dimension" -\ +# -pivots name="swaggerTagKey" type="TagKey" --query-dataset "{\\"aggregation\\":{\\"totalCost\\":{\\"name\\":\\"PreTaxCo\ +# st\\",\\"function\\":\\"Sum\\"}},\\"granularity\\":\\"Daily\\",\\"grouping\\":[],\\"sorting\\":[{\\"name\\":\\"UsageDat\ +# e\\",\\"direction\\":\\"Ascending\\"}]}" --query-timeframe "MonthToDate" --properties-scope "subscriptions/00000000-000\ +# 0-0000-0000-000000000000/resourceGroups/MYDEVTESTRG" --view-name "swaggerExample" +# """ + +# helps['costmanagement view delete'] = """ +# type: command +# short-summary: The operation to delete a view. +# examples: +# - name: ResourceGroupDeleteView +# text: |- +# az costmanagement view delete --scope "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups\ +# /MYDEVTESTRG" --view-name "TestView" +# """ + +# helps['costmanagement alert'] = """ +# type: group +# short-summary: costmanagement alert +# """ + +# helps['costmanagement alert list'] = """ +# type: command +# short-summary: Lists the alerts for scope defined. +# examples: +# - name: BillingAccountAlerts +# text: |- +# az costmanagement alert list --scope "providers/Microsoft.Billing/billingAccounts/12345:6789" +# - name: BillingProfileAlerts +# text: |- +# az costmanagement alert list --scope "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProf\ +# iles/13579" +# - name: DepartmentAlerts +# text: |- +# az costmanagement alert list --scope "providers/Microsoft.Billing/billingAccounts/12345:6789/departments\ +# /123" +# - name: EnrollmentAccountAlerts +# text: |- +# az costmanagement alert list --scope "providers/Microsoft.Billing/billingAccounts/12345:6789/enrollmentA\ +# ccounts/456" +# - name: InvoiceSectionAlerts +# text: |- +# az costmanagement alert list --scope "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProf\ +# iles/13579/invoiceSections/9876" +# - name: ResourceGroupAlerts +# text: |- +# az costmanagement alert list --scope "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/\ +# ScreenSharingTest-peer" +# - name: SubscriptionAlerts +# text: |- +# az costmanagement alert list --scope "subscriptions/00000000-0000-0000-0000-000000000000" +# """ + +# helps['costmanagement alert list-external'] = """ +# type: command +# short-summary: Lists the Alerts for external cloud provider type defined. +# examples: +# - name: ExternalBillingAccountAlerts +# text: |- +# az costmanagement alert list-external --external-cloud-provider-id "100" --external-cloud-provider-type \ +# "externalBillingAccounts" +# - name: ExternalSubscriptionAlerts +# text: |- +# az costmanagement alert list-external --external-cloud-provider-id "100" --external-cloud-provider-type \ +# "externalSubscriptions" +# """ + +# helps['costmanagement forecast'] = """ +# type: group +# short-summary: costmanagement forecast +# """ + +# helps['costmanagement forecast external-cloud-provider-usage'] = """ +# type: command +# short-summary: Lists the forecast charges for external cloud provider type defined. +# examples: +# - name: ExternalBillingAccountForecast +# text: |- +# az costmanagement forecast external-cloud-provider-usage --external-cloud-provider-id "100" --external-c\ +# loud-provider-type "externalBillingAccounts" --type "Usage" --dataset-filter "{\\"and\\":[{\\"or\\":[{\\"dimension\\":{\ +# \\"name\\":\\"ResourceLocation\\",\\"operator\\":\\"In\\",\\"values\\":[\\"East US\\",\\"West Europe\\"]}},{\\"tag\\":{\ +# \\"name\\":\\"Environment\\",\\"operator\\":\\"In\\",\\"values\\":[\\"UAT\\",\\"Prod\\"]}}]},{\\"dimension\\":{\\"name\ +# \\":\\"ResourceGroup\\",\\"operator\\":\\"In\\",\\"values\\":[\\"API\\"]}}]}" --timeframe "MonthToDate" +# - name: ExternalSubscriptionForecast +# text: |- +# az costmanagement forecast external-cloud-provider-usage --external-cloud-provider-id "100" --external-c\ +# loud-provider-type "externalSubscriptions" --type "Usage" --dataset-filter "{\\"and\\":[{\\"or\\":[{\\"dimension\\":{\\\ +# "name\\":\\"ResourceLocation\\",\\"operator\\":\\"In\\",\\"values\\":[\\"East US\\",\\"West Europe\\"]}},{\\"tag\\":{\\\ +# "name\\":\\"Environment\\",\\"operator\\":\\"In\\",\\"values\\":[\\"UAT\\",\\"Prod\\"]}}]},{\\"dimension\\":{\\"name\\"\ +# :\\"ResourceGroup\\",\\"operator\\":\\"In\\",\\"values\\":[\\"API\\"]}}]}" --timeframe "MonthToDate" +# """ + +# helps['costmanagement forecast usage'] = """ +# type: command +# short-summary: Lists the forecast charges for scope defined. +# examples: +# - name: BillingAccountForecast +# text: |- +# az costmanagement forecast usage --type "Usage" --dataset-filter "{\\"and\\":[{\\"or\\":[{\\"dimension\\\ +# ":{\\"name\\":\\"ResourceLocation\\",\\"operator\\":\\"In\\",\\"values\\":[\\"East US\\",\\"West Europe\\"]}},{\\"tag\\\ +# ":{\\"name\\":\\"Environment\\",\\"operator\\":\\"In\\",\\"values\\":[\\"UAT\\",\\"Prod\\"]}}]},{\\"dimension\\":{\\"na\ +# me\\":\\"ResourceGroup\\",\\"operator\\":\\"In\\",\\"values\\":[\\"API\\"]}}]}" --include-actual-cost false --include-f\ +# resh-partial-cost false --timeframe "MonthToDate" --scope "providers/Microsoft.Billing/billingAccounts/12345:6789" +# - name: BillingProfileForecast +# text: |- +# az costmanagement forecast usage --type "Usage" --dataset-filter "{\\"and\\":[{\\"or\\":[{\\"dimension\\\ +# ":{\\"name\\":\\"ResourceLocation\\",\\"operator\\":\\"In\\",\\"values\\":[\\"East US\\",\\"West Europe\\"]}},{\\"tag\\\ +# ":{\\"name\\":\\"Environment\\",\\"operator\\":\\"In\\",\\"values\\":[\\"UAT\\",\\"Prod\\"]}}]},{\\"dimension\\":{\\"na\ +# me\\":\\"ResourceGroup\\",\\"operator\\":\\"In\\",\\"values\\":[\\"API\\"]}}]}" --include-actual-cost false --include-f\ +# resh-partial-cost false --timeframe "MonthToDate" --scope "providers/Microsoft.Billing/billingAccounts/12345:6789/billi\ +# ngProfiles/13579" +# - name: DepartmentForecast +# text: |- +# az costmanagement forecast usage --type "Usage" --dataset-filter "{\\"and\\":[{\\"or\\":[{\\"dimension\\\ +# ":{\\"name\\":\\"ResourceLocation\\",\\"operator\\":\\"In\\",\\"values\\":[\\"East US\\",\\"West Europe\\"]}},{\\"tag\\\ +# ":{\\"name\\":\\"Environment\\",\\"operator\\":\\"In\\",\\"values\\":[\\"UAT\\",\\"Prod\\"]}}]},{\\"dimension\\":{\\"na\ +# me\\":\\"ResourceGroup\\",\\"operator\\":\\"In\\",\\"values\\":[\\"API\\"]}}]}" --include-actual-cost false --include-f\ +# resh-partial-cost false --timeframe "MonthToDate" --scope "providers/Microsoft.Billing/billingAccounts/12345:6789/depar\ +# tments/123" +# - name: EnrollmentAccountForecast +# text: |- +# az costmanagement forecast usage --type "Usage" --dataset-filter "{\\"and\\":[{\\"or\\":[{\\"dimension\\\ +# ":{\\"name\\":\\"ResourceLocation\\",\\"operator\\":\\"In\\",\\"values\\":[\\"East US\\",\\"West Europe\\"]}},{\\"tag\\\ +# ":{\\"name\\":\\"Environment\\",\\"operator\\":\\"In\\",\\"values\\":[\\"UAT\\",\\"Prod\\"]}}]},{\\"dimension\\":{\\"na\ +# me\\":\\"ResourceGroup\\",\\"operator\\":\\"In\\",\\"values\\":[\\"API\\"]}}]}" --include-actual-cost false --include-f\ +# resh-partial-cost false --timeframe "MonthToDate" --scope "providers/Microsoft.Billing/billingAccounts/12345:6789/enrol\ +# lmentAccounts/456" +# - name: InvoiceSectionForecast +# text: |- +# az costmanagement forecast usage --type "Usage" --dataset-filter "{\\"and\\":[{\\"or\\":[{\\"dimension\\\ +# ":{\\"name\\":\\"ResourceLocation\\",\\"operator\\":\\"In\\",\\"values\\":[\\"East US\\",\\"West Europe\\"]}},{\\"tag\\\ +# ":{\\"name\\":\\"Environment\\",\\"operator\\":\\"In\\",\\"values\\":[\\"UAT\\",\\"Prod\\"]}}]},{\\"dimension\\":{\\"na\ +# me\\":\\"ResourceGroup\\",\\"operator\\":\\"In\\",\\"values\\":[\\"API\\"]}}]}" --include-actual-cost false --include-f\ +# resh-partial-cost false --timeframe "MonthToDate" --scope "providers/Microsoft.Billing/billingAccounts/12345:6789/billi\ +# ngProfiles/13579/invoiceSections/9876" +# - name: ResourceGroupForecast +# text: |- +# az costmanagement forecast usage --type "Usage" --dataset-filter "{\\"and\\":[{\\"or\\":[{\\"dimension\\\ +# ":{\\"name\\":\\"ResourceLocation\\",\\"operator\\":\\"In\\",\\"values\\":[\\"East US\\",\\"West Europe\\"]}},{\\"tag\\\ +# ":{\\"name\\":\\"Environment\\",\\"operator\\":\\"In\\",\\"values\\":[\\"UAT\\",\\"Prod\\"]}}]},{\\"dimension\\":{\\"na\ +# me\\":\\"ResourceGroup\\",\\"operator\\":\\"In\\",\\"values\\":[\\"API\\"]}}]}" --include-actual-cost false --include-f\ +# resh-partial-cost false --timeframe "MonthToDate" --scope "subscriptions/00000000-0000-0000-0000-000000000000/resourceG\ +# roups/ScreenSharingTest-peer" +# - name: SubscriptionForecast +# text: |- +# az costmanagement forecast usage --type "Usage" --dataset-filter "{\\"and\\":[{\\"or\\":[{\\"dimension\\\ +# ":{\\"name\\":\\"ResourceLocation\\",\\"operator\\":\\"In\\",\\"values\\":[\\"East US\\",\\"West Europe\\"]}},{\\"tag\\\ +# ":{\\"name\\":\\"Environment\\",\\"operator\\":\\"In\\",\\"values\\":[\\"UAT\\",\\"Prod\\"]}}]},{\\"dimension\\":{\\"na\ +# me\\":\\"ResourceGroup\\",\\"operator\\":\\"In\\",\\"values\\":[\\"API\\"]}}]}" --include-actual-cost false --include-f\ +# resh-partial-cost false --timeframe "MonthToDate" --scope "subscriptions/00000000-0000-0000-0000-000000000000" +# """ + +# helps['costmanagement dimension'] = """ +# type: group +# short-summary: costmanagement dimension +# """ + +# helps['costmanagement dimension list'] = """ +# type: command +# short-summary: Lists the dimensions by the defined scope. +# examples: +# - name: BillingAccountDimensionsList-Legacy +# text: |- +# az costmanagement dimension list --scope "providers/Microsoft.Billing/billingAccounts/100" +# - name: BillingAccountDimensionsList-Modern +# text: |- +# az costmanagement dimension list --scope "providers/Microsoft.Billing/billingAccounts/12345:6789" +# - name: BillingAccountDimensionsListExpandAndTop-Legacy +# text: |- +# az costmanagement dimension list --expand "properties/data" --top 5 --scope "providers/Microsoft.Billing\ +# /billingAccounts/100" +# - name: BillingAccountDimensionsListExpandAndTop-Modern +# text: |- +# az costmanagement dimension list --expand "properties/data" --top 5 --scope "providers/Microsoft.Billing\ +# /billingAccounts/12345:6789" +# - name: BillingAccountDimensionsListWithFilter-Legacy +# text: |- +# az costmanagement dimension list --expand "properties/data" --filter "properties/category eq \'resourceI\ +# d\'" --top 5 --scope "providers/Microsoft.Billing/billingAccounts/100" +# - name: BillingAccountDimensionsListWithFilter-Modern +# text: |- +# az costmanagement dimension list --expand "properties/data" --filter "properties/category eq \'resourceI\ +# d\'" --top 5 --scope "providers/Microsoft.Billing/billingAccounts/12345:6789" +# - name: BillingProfileDimensionsList-Modern +# text: |- +# az costmanagement dimension list --scope "providers/Microsoft.Billing/billingAccounts/12345:6789/billing\ +# Profiles/13579" +# - name: BillingProfileDimensionsListExpandAndTop-Modern +# text: |- +# az costmanagement dimension list --expand "properties/data" --top 5 --scope "providers/Microsoft.Billing\ +# /billingAccounts/12345:6789/billingProfiles/13579" +# - name: BillingProfileDimensionsListWithFilter-Modern +# text: |- +# az costmanagement dimension list --expand "properties/data" --filter "properties/category eq \'resourceI\ +# d\'" --top 5 --scope "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579" +# - name: CustomerDimensionsList-Modern +# text: |- +# az costmanagement dimension list --scope "providers/Microsoft.Billing/billingAccounts/12345:6789/custome\ +# rs/5678" +# - name: CustomerDimensionsListExpandAndTop-Modern +# text: |- +# az costmanagement dimension list --expand "properties/data" --top 5 --scope "providers/Microsoft.Billing\ +# /billingAccounts/12345:6789/customers/5678" +# - name: CustomerDimensionsListWithFilter-Modern +# text: |- +# az costmanagement dimension list --expand "properties/data" --filter "properties/category eq \'resourceI\ +# d\'" --top 5 --scope "providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678" +# - name: DepartmentDimensionsList-Legacy +# text: |- +# az costmanagement dimension list --scope "providers/Microsoft.Billing/billingAccounts/100/departments/12\ +# 3" +# - name: DepartmentDimensionsListExpandAndTop-Legacy +# text: |- +# az costmanagement dimension list --expand "properties/data" --top 5 --scope "providers/Microsoft.Billing\ +# /billingAccounts/100/departments/123" +# - name: DepartmentDimensionsListWithFilter-Legacy +# text: |- +# az costmanagement dimension list --expand "properties/data" --filter "properties/category eq \'resourceI\ +# d\'" --top 5 --scope "providers/Microsoft.Billing/billingAccounts/100/departments/123" +# - name: EnrollmentAccountDimensionsList-Legacy +# text: |- +# az costmanagement dimension list --scope "providers/Microsoft.Billing/billingAccounts/100/enrollmentAcco\ +# unts/456" +# - name: EnrollmentAccountDimensionsListExpandAndTop-Legacy +# text: |- +# az costmanagement dimension list --expand "properties/data" --top 5 --scope "providers/Microsoft.Billing\ +# /billingAccounts/100/enrollmentAccounts/456" +# - name: EnrollmentAccountDimensionsListWithFilter-Legacy +# text: |- +# az costmanagement dimension list --expand "properties/data" --filter "properties/category eq \'resourceI\ +# d\'" --top 5 --scope "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456" +# - name: InvoiceSectionDimensionsList-Modern +# text: |- +# az costmanagement dimension list --scope "providers/Microsoft.Billing/billingAccounts/12345:6789/billing\ +# Profiles/13579/invoiceSections/9876" +# - name: InvoiceSectionDimensionsListExpandAndTop-Modern +# text: |- +# az costmanagement dimension list --expand "properties/data" --top 5 --scope "providers/Microsoft.Billing\ +# /billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876" +# - name: InvoiceSectionDimensionsListWithFilter-Modern +# text: |- +# az costmanagement dimension list --expand "properties/data" --filter "properties/category eq \'resourceI\ +# d\'" --top 5 --scope "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876\ +# " +# - name: ManagementGroupDimensionsList-Legacy +# text: |- +# az costmanagement dimension list --scope "providers/Microsoft.Management/managementGroups/MyMgId" +# - name: ManagementGroupDimensionsListExpandAndTop-Legacy +# text: |- +# az costmanagement dimension list --expand "properties/data" --top 5 --scope "providers/Microsoft.Managem\ +# ent/managementGroups/MyMgId" +# - name: ManagementGroupDimensionsListWithFilter-Legacy +# text: |- +# az costmanagement dimension list --expand "properties/data" --filter "properties/category eq \'resourceI\ +# d\'" --top 5 --scope "providers/Microsoft.Management/managementGroups/MyMgId" +# - name: ResourceGroupDimensionsList-Legacy +# text: |- +# az costmanagement dimension list --expand "properties/data" --top 5 --scope "subscriptions/00000000-0000\ +# -0000-0000-000000000000/resourceGroups/system.orlando" +# - name: SubscriptionDimensionsList-Legacy +# text: |- +# az costmanagement dimension list --expand "properties/data" --top 5 --scope "subscriptions/00000000-0000\ +# -0000-0000-000000000000" +# """ + +# helps['costmanagement dimension by-external-cloud-provider-type'] = """ +# type: command +# short-summary: Lists the dimensions by the external cloud provider type. +# examples: +# - name: ExternalBillingAccountDimensionList +# text: |- +# az costmanagement dimension by-external-cloud-provider-type --external-cloud-provider-id "100" --externa\ +# l-cloud-provider-type "externalBillingAccounts" +# - name: ExternalSubscriptionDimensionList +# text: |- +# az costmanagement dimension by-external-cloud-provider-type --external-cloud-provider-id "100" --externa\ +# l-cloud-provider-type "externalSubscriptions" +# """ + +# helps['costmanagement query'] = """ +# type: group +# short-summary: costmanagement query +# """ + +# helps['costmanagement query usage'] = """ +# type: command +# short-summary: Query the usage data for scope defined. +# examples: +# - name: BillingAccountQuery-Legacy +# text: |- +# az costmanagement query usage --type "Usage" --dataset-filter "{\\"and\\":[{\\"or\\":[{\\"dimension\\":{\ +# \\"name\\":\\"ResourceLocation\\",\\"operator\\":\\"In\\",\\"values\\":[\\"East US\\",\\"West Europe\\"]}},{\\"tag\\":{\ +# \\"name\\":\\"Environment\\",\\"operator\\":\\"In\\",\\"values\\":[\\"UAT\\",\\"Prod\\"]}}]},{\\"dimension\\":{\\"name\ +# \\":\\"ResourceGroup\\",\\"operator\\":\\"In\\",\\"values\\":[\\"API\\"]}}]}" --timeframe "MonthToDate" --scope "provid\ +# ers/Microsoft.Billing/billingAccounts/70664866" +# - name: BillingAccountQuery-Modern +# text: |- +# az costmanagement query usage --type "Usage" --dataset-filter "{\\"and\\":[{\\"or\\":[{\\"dimension\\":{\ +# \\"name\\":\\"ResourceLocation\\",\\"operator\\":\\"In\\",\\"values\\":[\\"East US\\",\\"West Europe\\"]}},{\\"tag\\":{\ +# \\"name\\":\\"Environment\\",\\"operator\\":\\"In\\",\\"values\\":[\\"UAT\\",\\"Prod\\"]}}]},{\\"dimension\\":{\\"name\ +# \\":\\"ResourceGroup\\",\\"operator\\":\\"In\\",\\"values\\":[\\"API\\"]}}]}" --timeframe "MonthToDate" --scope "provid\ +# ers/Microsoft.Billing/billingAccounts/12345:6789" +# - name: BillingAccountQueryGrouping-Legacy +# text: |- +# az costmanagement query usage --type "Usage" --dataset-aggregation "{\\"totalCost\\":{\\"name\\":\\"PreT\ +# axCost\\",\\"function\\":\\"Sum\\"}}" --dataset-grouping name="ResourceGroup" type="Dimension" --timeframe "TheLastMont\ +# h" --scope "providers/Microsoft.Billing/billingAccounts/70664866" +# - name: BillingAccountQueryGrouping-Modern +# text: |- +# az costmanagement query usage --type "Usage" --dataset-aggregation "{\\"totalCost\\":{\\"name\\":\\"PreT\ +# axCost\\",\\"function\\":\\"Sum\\"}}" --dataset-grouping name="ResourceGroup" type="Dimension" --timeframe "TheLastMont\ +# h" --scope "providers/Microsoft.Billing/billingAccounts/12345:6789" +# - name: BillingProfileQuery-Modern +# text: |- +# az costmanagement query usage --type "Usage" --dataset-filter "{\\"and\\":[{\\"or\\":[{\\"dimension\\":{\ +# \\"name\\":\\"ResourceLocation\\",\\"operator\\":\\"In\\",\\"values\\":[\\"East US\\",\\"West Europe\\"]}},{\\"tag\\":{\ +# \\"name\\":\\"Environment\\",\\"operator\\":\\"In\\",\\"values\\":[\\"UAT\\",\\"Prod\\"]}}]},{\\"dimension\\":{\\"name\ +# \\":\\"ResourceGroup\\",\\"operator\\":\\"In\\",\\"values\\":[\\"API\\"]}}]}" --timeframe "MonthToDate" --scope "provid\ +# ers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579" +# - name: BillingProfileQueryGrouping-Modern +# text: |- +# az costmanagement query usage --type "Usage" --dataset-aggregation "{\\"totalCost\\":{\\"name\\":\\"PreT\ +# axCost\\",\\"function\\":\\"Sum\\"}}" --dataset-grouping name="ResourceGroup" type="Dimension" --timeframe "TheLastMont\ +# h" --scope "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579" +# - name: CustomerQuery-Modern +# text: |- +# az costmanagement query usage --type "Usage" --dataset-filter "{\\"and\\":[{\\"or\\":[{\\"dimension\\":{\ +# \\"name\\":\\"ResourceLocation\\",\\"operator\\":\\"In\\",\\"values\\":[\\"East US\\",\\"West Europe\\"]}},{\\"tag\\":{\ +# \\"name\\":\\"Environment\\",\\"operator\\":\\"In\\",\\"values\\":[\\"UAT\\",\\"Prod\\"]}}]},{\\"dimension\\":{\\"name\ +# \\":\\"ResourceGroup\\",\\"operator\\":\\"In\\",\\"values\\":[\\"API\\"]}}]}" --timeframe "MonthToDate" --scope "provid\ +# ers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678" +# - name: CustomerQueryGrouping-Modern +# text: |- +# az costmanagement query usage --type "Usage" --dataset-aggregation "{\\"totalCost\\":{\\"name\\":\\"PreT\ +# axCost\\",\\"function\\":\\"Sum\\"}}" --dataset-grouping name="ResourceGroup" type="Dimension" --timeframe "TheLastMont\ +# h" --scope "providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678" +# - name: DepartmentQuery-Legacy +# text: |- +# az costmanagement query usage --type "Usage" --dataset-filter "{\\"and\\":[{\\"or\\":[{\\"dimension\\":{\ +# \\"name\\":\\"ResourceLocation\\",\\"operator\\":\\"In\\",\\"values\\":[\\"East US\\",\\"West Europe\\"]}},{\\"tag\\":{\ +# \\"name\\":\\"Environment\\",\\"operator\\":\\"In\\",\\"values\\":[\\"UAT\\",\\"Prod\\"]}}]},{\\"dimension\\":{\\"name\ +# \\":\\"ResourceGroup\\",\\"operator\\":\\"In\\",\\"values\\":[\\"API\\"]}}]}" --timeframe "MonthToDate" --scope "provid\ +# ers/Microsoft.Billing/billingAccounts/100/departments/123" +# - name: DepartmentQueryGrouping-Legacy +# text: |- +# az costmanagement query usage --type "Usage" --dataset-aggregation "{\\"totalCost\\":{\\"name\\":\\"PreT\ +# axCost\\",\\"function\\":\\"Sum\\"}}" --dataset-grouping name="ResourceGroup" type="Dimension" --timeframe "TheLastMont\ +# h" --scope "providers/Microsoft.Billing/billingAccounts/100/departments/123" +# - name: EnrollmentAccountQuery-Legacy +# text: |- +# az costmanagement query usage --type "Usage" --dataset-filter "{\\"and\\":[{\\"or\\":[{\\"dimension\\":{\ +# \\"name\\":\\"ResourceLocation\\",\\"operator\\":\\"In\\",\\"values\\":[\\"East US\\",\\"West Europe\\"]}},{\\"tag\\":{\ +# \\"name\\":\\"Environment\\",\\"operator\\":\\"In\\",\\"values\\":[\\"UAT\\",\\"Prod\\"]}}]},{\\"dimension\\":{\\"name\ +# \\":\\"ResourceGroup\\",\\"operator\\":\\"In\\",\\"values\\":[\\"API\\"]}}]}" --timeframe "MonthToDate" --scope "provid\ +# ers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456" +# - name: EnrollmentAccountQueryGrouping-Legacy +# text: |- +# az costmanagement query usage --type "Usage" --dataset-aggregation "{\\"totalCost\\":{\\"name\\":\\"PreT\ +# axCost\\",\\"function\\":\\"Sum\\"}}" --dataset-grouping name="ResourceGroup" type="Dimension" --timeframe "TheLastMont\ +# h" --scope "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456" +# - name: InvoiceSectionQuery-Modern +# text: |- +# az costmanagement query usage --type "Usage" --dataset-filter "{\\"and\\":[{\\"or\\":[{\\"dimension\\":{\ +# \\"name\\":\\"ResourceLocation\\",\\"operator\\":\\"In\\",\\"values\\":[\\"East US\\",\\"West Europe\\"]}},{\\"tag\\":{\ +# \\"name\\":\\"Environment\\",\\"operator\\":\\"In\\",\\"values\\":[\\"UAT\\",\\"Prod\\"]}}]},{\\"dimension\\":{\\"name\ +# \\":\\"ResourceGroup\\",\\"operator\\":\\"In\\",\\"values\\":[\\"API\\"]}}]}" --timeframe "MonthToDate" --scope "provid\ +# ers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876" +# - name: InvoiceSectionQueryGrouping-Modern +# text: |- +# az costmanagement query usage --type "Usage" --dataset-aggregation "{\\"totalCost\\":{\\"name\\":\\"PreT\ +# axCost\\",\\"function\\":\\"Sum\\"}}" --dataset-grouping name="ResourceGroup" type="Dimension" --timeframe "TheLastMont\ +# h" --scope "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876" +# - name: ManagementGroupQuery-Legacy +# text: |- +# az costmanagement query usage --type "Usage" --dataset-filter "{\\"and\\":[{\\"or\\":[{\\"dimension\\":{\ +# \\"name\\":\\"ResourceLocation\\",\\"operator\\":\\"In\\",\\"values\\":[\\"East US\\",\\"West Europe\\"]}},{\\"tag\\":{\ +# \\"name\\":\\"Environment\\",\\"operator\\":\\"In\\",\\"values\\":[\\"UAT\\",\\"Prod\\"]}}]},{\\"dimension\\":{\\"name\ +# \\":\\"ResourceGroup\\",\\"operator\\":\\"In\\",\\"values\\":[\\"API\\"]}}]}" --timeframe "MonthToDate" --scope "provid\ +# ers/Microsoft.Management/managementGroups/MyMgId" +# - name: ManagementGroupQueryGrouping-Legacy +# text: |- +# az costmanagement query usage --type "Usage" --dataset-aggregation "{\\"totalCost\\":{\\"name\\":\\"PreT\ +# axCost\\",\\"function\\":\\"Sum\\"}}" --dataset-grouping name="ResourceGroup" type="Dimension" --timeframe "TheLastMont\ +# h" --scope "providers/Microsoft.Management/managementGroups/MyMgId" +# - name: ResourceGroupQuery-Legacy +# text: |- +# az costmanagement query usage --type "Usage" --dataset-filter "{\\"and\\":[{\\"or\\":[{\\"dimension\\":{\ +# \\"name\\":\\"ResourceLocation\\",\\"operator\\":\\"In\\",\\"values\\":[\\"East US\\",\\"West Europe\\"]}},{\\"tag\\":{\ +# \\"name\\":\\"Environment\\",\\"operator\\":\\"In\\",\\"values\\":[\\"UAT\\",\\"Prod\\"]}}]},{\\"dimension\\":{\\"name\ +# \\":\\"ResourceGroup\\",\\"operator\\":\\"In\\",\\"values\\":[\\"API\\"]}}]}" --timeframe "MonthToDate" --scope "subscr\ +# iptions/00000000-0000-0000-0000-000000000000/resourceGroups/ScreenSharingTest-peer" +# - name: ResourceGroupQueryGrouping-Legacy +# text: |- +# az costmanagement query usage --type "Usage" --dataset-aggregation "{\\"totalCost\\":{\\"name\\":\\"PreT\ +# axCost\\",\\"function\\":\\"Sum\\"}}" --dataset-grouping name="ResourceType" type="Dimension" --timeframe "TheLastMonth\ +# " --scope "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ScreenSharingTest-peer" +# - name: SubscriptionQuery-Legacy +# text: |- +# az costmanagement query usage --type "Usage" --dataset-filter "{\\"and\\":[{\\"or\\":[{\\"dimension\\":{\ +# \\"name\\":\\"ResourceLocation\\",\\"operator\\":\\"In\\",\\"values\\":[\\"East US\\",\\"West Europe\\"]}},{\\"tag\\":{\ +# \\"name\\":\\"Environment\\",\\"operator\\":\\"In\\",\\"values\\":[\\"UAT\\",\\"Prod\\"]}}]},{\\"dimension\\":{\\"name\ +# \\":\\"ResourceGroup\\",\\"operator\\":\\"In\\",\\"values\\":[\\"API\\"]}}]}" --timeframe "MonthToDate" --scope "subscr\ +# iptions/00000000-0000-0000-0000-000000000000" +# - name: SubscriptionQueryGrouping-Legacy +# text: |- +# az costmanagement query usage --type "Usage" --dataset-aggregation "{\\"totalCost\\":{\\"name\\":\\"PreT\ +# axCost\\",\\"function\\":\\"Sum\\"}}" --dataset-grouping name="ResourceGroup" type="Dimension" --timeframe "TheLastMont\ +# h" --scope "subscriptions/00000000-0000-0000-0000-000000000000" +# """ + +# helps['costmanagement query usage-by-external-cloud-provider-type'] = """ +# type: command +# short-summary: Query the usage data for external cloud provider type defined. +# examples: +# - name: ExternalBillingAccountQueryList +# text: |- +# az costmanagement query usage-by-external-cloud-provider-type --external-cloud-provider-id "100" --exter\ +# nal-cloud-provider-type "externalBillingAccounts" --type "Usage" --dataset-filter "{\\"and\\":[{\\"or\\":[{\\"dimension\ +# \\":{\\"name\\":\\"ResourceLocation\\",\\"operator\\":\\"In\\",\\"values\\":[\\"East US\\",\\"West Europe\\"]}},{\\"tag\ +# \\":{\\"name\\":\\"Environment\\",\\"operator\\":\\"In\\",\\"values\\":[\\"UAT\\",\\"Prod\\"]}}]},{\\"dimension\\":{\\"\ +# name\\":\\"ResourceGroup\\",\\"operator\\":\\"In\\",\\"values\\":[\\"API\\"]}}]}" --timeframe "MonthToDate" +# - name: ExternalSubscriptionsQuery +# text: |- +# az costmanagement query usage-by-external-cloud-provider-type --external-cloud-provider-id "100" --exter\ +# nal-cloud-provider-type "externalSubscriptions" --type "Usage" --dataset-filter "{\\"and\\":[{\\"or\\":[{\\"dimension\\\ +# ":{\\"name\\":\\"ResourceLocation\\",\\"operator\\":\\"In\\",\\"values\\":[\\"East US\\",\\"West Europe\\"]}},{\\"tag\\\ +# ":{\\"name\\":\\"Environment\\",\\"operator\\":\\"In\\",\\"values\\":[\\"UAT\\",\\"Prod\\"]}}]},{\\"dimension\\":{\\"na\ +# me\\":\\"ResourceGroup\\",\\"operator\\":\\"In\\",\\"values\\":[\\"API\\"]}}]}" --timeframe "MonthToDate" +# """ + +# helps['costmanagement export'] = """ +# type: group +# short-summary: costmanagement export +# """ + +# helps['costmanagement export list'] = """ +# type: command +# short-summary: The operation to list all exports at the given scope. +# examples: +# - name: BillingAccountExportList +# text: |- +# az costmanagement export list --scope "providers/Microsoft.Billing/billingAccounts/123456" +# - name: DepartmentExportList +# text: |- +# az costmanagement export list --scope "providers/Microsoft.Billing/billingAccounts/12/departments/123" +# - name: EnrollmentAccountExportList +# text: |- +# az costmanagement export list --scope "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccount\ +# s/456" +# - name: ManagementGroupExportList +# text: |- +# az costmanagement export list --scope "providers/Microsoft.Management/managementGroups/TestMG" +# - name: ResourceGroupExportList +# text: |- +# az costmanagement export list --scope "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups\ +# /MYDEVTESTRG" +# - name: SubscriptionExportList +# text: |- +# az costmanagement export list --scope "subscriptions/00000000-0000-0000-0000-000000000000" +# """ + +# helps['costmanagement export show'] = """ +# type: command +# short-summary: The operation to get the execution history of an export for the defined scope by export name. +# examples: +# - name: BillingAccountExport +# text: |- +# az costmanagement export show --export-name "TestExport" --scope "providers/Microsoft.Billing/billingAcc\ +# ounts/123456" +# - name: DepartmentExport +# text: |- +# az costmanagement export show --export-name "TestExport" --scope "providers/Microsoft.Billing/billingAcc\ +# ounts/12/departments/1234" +# - name: EnrollmentAccountExport +# text: |- +# az costmanagement export show --export-name "TestExport" --scope "providers/Microsoft.Billing/billingAcc\ +# ounts/100/enrollmentAccounts/456" +# - name: ManagementGroupExport +# text: |- +# az costmanagement export show --export-name "TestExport" --scope "providers/Microsoft.Management/managem\ +# entGroups/TestMG" +# - name: ResourceGroupExport +# text: |- +# az costmanagement export show --export-name "TestExport" --scope "subscriptions/00000000-0000-0000-0000-\ +# 000000000000/resourceGroups/MYDEVTESTRG" +# - name: SubscriptionExport +# text: |- +# az costmanagement export show --export-name "TestExport" --scope "subscriptions/00000000-0000-0000-0000-\ +# 000000000000" +# """ + +# helps['costmanagement export create'] = """ +# type: command +# short-summary: The operation to create or update a export. Update operation requires latest eTag to be set in the r\ +# equest. You may obtain the latest eTag by performing a get operation. Create operation does not require eTag. +# examples: +# - name: BillingAccountCreateOrUpdateExport +# text: |- +# az costmanagement export create --export-name "TestExport" --definition-type "Usage" --definition-datase\ +# t-aggregation "{\\"costSum\\":{\\"name\\":\\"PreTaxCost\\",\\"function\\":\\"Sum\\"}}" --definition-dataset-configurati\ +# on columns="Date" columns="MeterId" columns="InstanceId" columns="ResourceLocation" columns="PreTaxCost" --definition-d\ +# ataset-filter "{\\"and\\":[{\\"or\\":[{\\"dimension\\":{\\"name\\":\\"ResourceLocation\\",\\"operator\\":\\"In\\",\\"va\ +# lues\\":[\\"East US\\",\\"West Europe\\"]}},{\\"tag\\":{\\"name\\":\\"Environment\\",\\"operator\\":\\"In\\",\\"values\ +# \\":[\\"UAT\\",\\"Prod\\"]}}]},{\\"dimension\\":{\\"name\\":\\"ResourceGroup\\",\\"operator\\":\\"In\\",\\"values\\":[\ +# \\"API\\"]}}]}" --definition-dataset-grouping name="SubscriptionName" type="Dimension" --definition-dataset-grouping na\ +# me="Environment" type="Tag" --definition-timeframe "MonthToDate" --delivery-info-destination container="exports" resour\ +# ce-id="/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/stora\ +# geAccounts/ccmeastusdiag182" root-folder-path="ad-hoc" --schedule-recurrence "Weekly" --schedule-recurrence-period from\ +# ="2018-06-01T00:00:00Z" to="2018-10-31T00:00:00Z" --schedule-status "Active" --scope "providers/Microsoft.Billing/billi\ +# ngAccounts/123456" +# - name: DepartmentCreateOrUpdateExport +# text: |- +# az costmanagement export create --export-name "TestExport" --definition-type "Usage" --definition-datase\ +# t-aggregation "{\\"costSum\\":{\\"name\\":\\"PreTaxCost\\",\\"function\\":\\"Sum\\"}}" --definition-dataset-configurati\ +# on columns="Date" columns="MeterId" columns="InstanceId" columns="ResourceLocation" columns="PreTaxCost" --definition-d\ +# ataset-filter "{\\"and\\":[{\\"or\\":[{\\"dimension\\":{\\"name\\":\\"ResourceLocation\\",\\"operator\\":\\"In\\",\\"va\ +# lues\\":[\\"East US\\",\\"West Europe\\"]}},{\\"tag\\":{\\"name\\":\\"Environment\\",\\"operator\\":\\"In\\",\\"values\ +# \\":[\\"UAT\\",\\"Prod\\"]}}]},{\\"dimension\\":{\\"name\\":\\"ResourceGroup\\",\\"operator\\":\\"In\\",\\"values\\":[\ +# \\"API\\"]}}]}" --definition-dataset-grouping name="SubscriptionName" type="Dimension" --definition-dataset-grouping na\ +# me="Environment" type="Tag" --definition-timeframe "MonthToDate" --delivery-info-destination container="exports" resour\ +# ce-id="/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/stora\ +# geAccounts/ccmeastusdiag182" root-folder-path="ad-hoc" --schedule-recurrence "Weekly" --schedule-recurrence-period from\ +# ="2018-06-01T00:00:00Z" to="2018-10-31T00:00:00Z" --schedule-status "Active" --scope "providers/Microsoft.Billing/billi\ +# ngAccounts/12/departments/1234" +# - name: EnrollmentAccountCreateOrUpdateExport +# text: |- +# az costmanagement export create --export-name "TestExport" --definition-type "Usage" --definition-datase\ +# t-aggregation "{\\"costSum\\":{\\"name\\":\\"PreTaxCost\\",\\"function\\":\\"Sum\\"}}" --definition-dataset-configurati\ +# on columns="Date" columns="MeterId" columns="InstanceId" columns="ResourceLocation" columns="PreTaxCost" --definition-d\ +# ataset-filter "{\\"and\\":[{\\"or\\":[{\\"dimension\\":{\\"name\\":\\"ResourceLocation\\",\\"operator\\":\\"In\\",\\"va\ +# lues\\":[\\"East US\\",\\"West Europe\\"]}},{\\"tag\\":{\\"name\\":\\"Environment\\",\\"operator\\":\\"In\\",\\"values\ +# \\":[\\"UAT\\",\\"Prod\\"]}}]},{\\"dimension\\":{\\"name\\":\\"ResourceGroup\\",\\"operator\\":\\"In\\",\\"values\\":[\ +# \\"API\\"]}}]}" --definition-dataset-grouping name="SubscriptionName" type="Dimension" --definition-dataset-grouping na\ +# me="Environment" type="Tag" --definition-timeframe "MonthToDate" --delivery-info-destination container="exports" resour\ +# ce-id="/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/stora\ +# geAccounts/ccmeastusdiag182" root-folder-path="ad-hoc" --schedule-recurrence "Weekly" --schedule-recurrence-period from\ +# ="2018-06-01T00:00:00Z" to="2018-10-31T00:00:00Z" --schedule-status "Active" --scope "providers/Microsoft.Billing/billi\ +# ngAccounts/100/enrollmentAccounts/456" +# - name: ManagementGroupCreateOrUpdateExport +# text: |- +# az costmanagement export create --export-name "TestExport" --definition-type "Usage" --definition-datase\ +# t-aggregation "{\\"costSum\\":{\\"name\\":\\"PreTaxCost\\",\\"function\\":\\"Sum\\"}}" --definition-dataset-configurati\ +# on columns="Date" columns="MeterId" columns="InstanceId" columns="ResourceLocation" columns="PreTaxCost" --definition-d\ +# ataset-filter "{\\"and\\":[{\\"or\\":[{\\"dimension\\":{\\"name\\":\\"ResourceLocation\\",\\"operator\\":\\"In\\",\\"va\ +# lues\\":[\\"East US\\",\\"West Europe\\"]}},{\\"tag\\":{\\"name\\":\\"Environment\\",\\"operator\\":\\"In\\",\\"values\ +# \\":[\\"UAT\\",\\"Prod\\"]}}]},{\\"dimension\\":{\\"name\\":\\"ResourceGroup\\",\\"operator\\":\\"In\\",\\"values\\":[\ +# \\"API\\"]}}]}" --definition-dataset-grouping name="SubscriptionName" type="Dimension" --definition-dataset-grouping na\ +# me="Environment" type="Tag" --definition-timeframe "MonthToDate" --delivery-info-destination container="exports" resour\ +# ce-id="/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/stora\ +# geAccounts/ccmeastusdiag182" root-folder-path="ad-hoc" --schedule-recurrence "Weekly" --schedule-recurrence-period from\ +# ="2018-06-01T00:00:00Z" to="2018-10-31T00:00:00Z" --schedule-status "Active" --scope "providers/Microsoft.Management/ma\ +# nagementGroups/TestMG" +# - name: ResourceGroupCreateOrUpdateExport +# text: |- +# az costmanagement export create --export-name "TestExport" --definition-type "Usage" --definition-datase\ +# t-aggregation "{\\"costSum\\":{\\"name\\":\\"PreTaxCost\\",\\"function\\":\\"Sum\\"}}" --definition-dataset-configurati\ +# on columns="Date" columns="MeterId" columns="InstanceId" columns="ResourceLocation" columns="PreTaxCost" --definition-d\ +# ataset-filter "{\\"and\\":[{\\"or\\":[{\\"dimension\\":{\\"name\\":\\"ResourceLocation\\",\\"operator\\":\\"In\\",\\"va\ +# lues\\":[\\"East US\\",\\"West Europe\\"]}},{\\"tag\\":{\\"name\\":\\"Environment\\",\\"operator\\":\\"In\\",\\"values\ +# \\":[\\"UAT\\",\\"Prod\\"]}}]},{\\"dimension\\":{\\"name\\":\\"ResourceGroup\\",\\"operator\\":\\"In\\",\\"values\\":[\ +# \\"API\\"]}}]}" --definition-dataset-grouping name="SubscriptionName" type="Dimension" --definition-dataset-grouping na\ +# me="Environment" type="Tag" --definition-timeframe "MonthToDate" --delivery-info-destination container="exports" resour\ +# ce-id="/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/stora\ +# geAccounts/ccmeastusdiag182" root-folder-path="ad-hoc" --schedule-recurrence "Weekly" --schedule-recurrence-period from\ +# ="2018-06-01T00:00:00Z" to="2018-10-31T00:00:00Z" --schedule-status "Active" --scope "subscriptions/00000000-0000-0000-\ +# 0000-000000000000/resourceGroups/MYDEVTESTRG" +# - name: SubscriptionCreateOrUpdateExport +# text: |- +# az costmanagement export create --export-name "TestExport" --definition-type "Usage" --definition-datase\ +# t-aggregation "{\\"costSum\\":{\\"name\\":\\"PreTaxCost\\",\\"function\\":\\"Sum\\"}}" --definition-dataset-configurati\ +# on columns="Date" columns="MeterId" columns="InstanceId" columns="ResourceLocation" columns="PreTaxCost" --definition-d\ +# ataset-filter "{\\"and\\":[{\\"or\\":[{\\"dimension\\":{\\"name\\":\\"ResourceLocation\\",\\"operator\\":\\"In\\",\\"va\ +# lues\\":[\\"East US\\",\\"West Europe\\"]}},{\\"tag\\":{\\"name\\":\\"Environment\\",\\"operator\\":\\"In\\",\\"values\ +# \\":[\\"UAT\\",\\"Prod\\"]}}]},{\\"dimension\\":{\\"name\\":\\"ResourceGroup\\",\\"operator\\":\\"In\\",\\"values\\":[\ +# \\"API\\"]}}]}" --definition-dataset-grouping name="SubscriptionName" type="Dimension" --definition-dataset-grouping na\ +# me="Environment" type="Tag" --definition-timeframe "MonthToDate" --delivery-info-destination container="exports" resour\ +# ce-id="/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/stora\ +# geAccounts/ccmeastusdiag182" root-folder-path="ad-hoc" --schedule-recurrence "Weekly" --schedule-recurrence-period from\ +# ="2018-06-01T00:00:00Z" to="2018-10-31T00:00:00Z" --schedule-status "Active" --scope "subscriptions/00000000-0000-0000-\ +# 0000-000000000000" +# """ + +# helps['costmanagement export update'] = """ +# type: command +# short-summary: The operation to create or update a export. Update operation requires latest eTag to be set in the r\ +# equest. You may obtain the latest eTag by performing a get operation. Create operation does not require eTag. +# examples: +# - name: BillingAccountCreateOrUpdateExport +# text: |- +# az costmanagement export update --export-name "TestExport" --definition-type "Usage" --definition-datase\ +# t-aggregation "{\\"costSum\\":{\\"name\\":\\"PreTaxCost\\",\\"function\\":\\"Sum\\"}}" --definition-dataset-configurati\ +# on columns="Date" columns="MeterId" columns="InstanceId" columns="ResourceLocation" columns="PreTaxCost" --definition-d\ +# ataset-filter "{\\"and\\":[{\\"or\\":[{\\"dimension\\":{\\"name\\":\\"ResourceLocation\\",\\"operator\\":\\"In\\",\\"va\ +# lues\\":[\\"East US\\",\\"West Europe\\"]}},{\\"tag\\":{\\"name\\":\\"Environment\\",\\"operator\\":\\"In\\",\\"values\ +# \\":[\\"UAT\\",\\"Prod\\"]}}]},{\\"dimension\\":{\\"name\\":\\"ResourceGroup\\",\\"operator\\":\\"In\\",\\"values\\":[\ +# \\"API\\"]}}]}" --definition-dataset-grouping name="SubscriptionName" type="Dimension" --definition-dataset-grouping na\ +# me="Environment" type="Tag" --definition-timeframe "MonthToDate" --delivery-info-destination container="exports" resour\ +# ce-id="/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/stora\ +# geAccounts/ccmeastusdiag182" root-folder-path="ad-hoc" --schedule-recurrence "Weekly" --schedule-recurrence-period from\ +# ="2018-06-01T00:00:00Z" to="2018-10-31T00:00:00Z" --schedule-status "Active" --scope "providers/Microsoft.Billing/billi\ +# ngAccounts/123456" +# - name: DepartmentCreateOrUpdateExport +# text: |- +# az costmanagement export update --export-name "TestExport" --definition-type "Usage" --definition-datase\ +# t-aggregation "{\\"costSum\\":{\\"name\\":\\"PreTaxCost\\",\\"function\\":\\"Sum\\"}}" --definition-dataset-configurati\ +# on columns="Date" columns="MeterId" columns="InstanceId" columns="ResourceLocation" columns="PreTaxCost" --definition-d\ +# ataset-filter "{\\"and\\":[{\\"or\\":[{\\"dimension\\":{\\"name\\":\\"ResourceLocation\\",\\"operator\\":\\"In\\",\\"va\ +# lues\\":[\\"East US\\",\\"West Europe\\"]}},{\\"tag\\":{\\"name\\":\\"Environment\\",\\"operator\\":\\"In\\",\\"values\ +# \\":[\\"UAT\\",\\"Prod\\"]}}]},{\\"dimension\\":{\\"name\\":\\"ResourceGroup\\",\\"operator\\":\\"In\\",\\"values\\":[\ +# \\"API\\"]}}]}" --definition-dataset-grouping name="SubscriptionName" type="Dimension" --definition-dataset-grouping na\ +# me="Environment" type="Tag" --definition-timeframe "MonthToDate" --delivery-info-destination container="exports" resour\ +# ce-id="/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/stora\ +# geAccounts/ccmeastusdiag182" root-folder-path="ad-hoc" --schedule-recurrence "Weekly" --schedule-recurrence-period from\ +# ="2018-06-01T00:00:00Z" to="2018-10-31T00:00:00Z" --schedule-status "Active" --scope "providers/Microsoft.Billing/billi\ +# ngAccounts/12/departments/1234" +# - name: EnrollmentAccountCreateOrUpdateExport +# text: |- +# az costmanagement export update --export-name "TestExport" --definition-type "Usage" --definition-datase\ +# t-aggregation "{\\"costSum\\":{\\"name\\":\\"PreTaxCost\\",\\"function\\":\\"Sum\\"}}" --definition-dataset-configurati\ +# on columns="Date" columns="MeterId" columns="InstanceId" columns="ResourceLocation" columns="PreTaxCost" --definition-d\ +# ataset-filter "{\\"and\\":[{\\"or\\":[{\\"dimension\\":{\\"name\\":\\"ResourceLocation\\",\\"operator\\":\\"In\\",\\"va\ +# lues\\":[\\"East US\\",\\"West Europe\\"]}},{\\"tag\\":{\\"name\\":\\"Environment\\",\\"operator\\":\\"In\\",\\"values\ +# \\":[\\"UAT\\",\\"Prod\\"]}}]},{\\"dimension\\":{\\"name\\":\\"ResourceGroup\\",\\"operator\\":\\"In\\",\\"values\\":[\ +# \\"API\\"]}}]}" --definition-dataset-grouping name="SubscriptionName" type="Dimension" --definition-dataset-grouping na\ +# me="Environment" type="Tag" --definition-timeframe "MonthToDate" --delivery-info-destination container="exports" resour\ +# ce-id="/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/stora\ +# geAccounts/ccmeastusdiag182" root-folder-path="ad-hoc" --schedule-recurrence "Weekly" --schedule-recurrence-period from\ +# ="2018-06-01T00:00:00Z" to="2018-10-31T00:00:00Z" --schedule-status "Active" --scope "providers/Microsoft.Billing/billi\ +# ngAccounts/100/enrollmentAccounts/456" +# - name: ManagementGroupCreateOrUpdateExport +# text: |- +# az costmanagement export update --export-name "TestExport" --definition-type "Usage" --definition-datase\ +# t-aggregation "{\\"costSum\\":{\\"name\\":\\"PreTaxCost\\",\\"function\\":\\"Sum\\"}}" --definition-dataset-configurati\ +# on columns="Date" columns="MeterId" columns="InstanceId" columns="ResourceLocation" columns="PreTaxCost" --definition-d\ +# ataset-filter "{\\"and\\":[{\\"or\\":[{\\"dimension\\":{\\"name\\":\\"ResourceLocation\\",\\"operator\\":\\"In\\",\\"va\ +# lues\\":[\\"East US\\",\\"West Europe\\"]}},{\\"tag\\":{\\"name\\":\\"Environment\\",\\"operator\\":\\"In\\",\\"values\ +# \\":[\\"UAT\\",\\"Prod\\"]}}]},{\\"dimension\\":{\\"name\\":\\"ResourceGroup\\",\\"operator\\":\\"In\\",\\"values\\":[\ +# \\"API\\"]}}]}" --definition-dataset-grouping name="SubscriptionName" type="Dimension" --definition-dataset-grouping na\ +# me="Environment" type="Tag" --definition-timeframe "MonthToDate" --delivery-info-destination container="exports" resour\ +# ce-id="/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/stora\ +# geAccounts/ccmeastusdiag182" root-folder-path="ad-hoc" --schedule-recurrence "Weekly" --schedule-recurrence-period from\ +# ="2018-06-01T00:00:00Z" to="2018-10-31T00:00:00Z" --schedule-status "Active" --scope "providers/Microsoft.Management/ma\ +# nagementGroups/TestMG" +# - name: ResourceGroupCreateOrUpdateExport +# text: |- +# az costmanagement export update --export-name "TestExport" --definition-type "Usage" --definition-datase\ +# t-aggregation "{\\"costSum\\":{\\"name\\":\\"PreTaxCost\\",\\"function\\":\\"Sum\\"}}" --definition-dataset-configurati\ +# on columns="Date" columns="MeterId" columns="InstanceId" columns="ResourceLocation" columns="PreTaxCost" --definition-d\ +# ataset-filter "{\\"and\\":[{\\"or\\":[{\\"dimension\\":{\\"name\\":\\"ResourceLocation\\",\\"operator\\":\\"In\\",\\"va\ +# lues\\":[\\"East US\\",\\"West Europe\\"]}},{\\"tag\\":{\\"name\\":\\"Environment\\",\\"operator\\":\\"In\\",\\"values\ +# \\":[\\"UAT\\",\\"Prod\\"]}}]},{\\"dimension\\":{\\"name\\":\\"ResourceGroup\\",\\"operator\\":\\"In\\",\\"values\\":[\ +# \\"API\\"]}}]}" --definition-dataset-grouping name="SubscriptionName" type="Dimension" --definition-dataset-grouping na\ +# me="Environment" type="Tag" --definition-timeframe "MonthToDate" --delivery-info-destination container="exports" resour\ +# ce-id="/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/stora\ +# geAccounts/ccmeastusdiag182" root-folder-path="ad-hoc" --schedule-recurrence "Weekly" --schedule-recurrence-period from\ +# ="2018-06-01T00:00:00Z" to="2018-10-31T00:00:00Z" --schedule-status "Active" --scope "subscriptions/00000000-0000-0000-\ +# 0000-000000000000/resourceGroups/MYDEVTESTRG" +# - name: SubscriptionCreateOrUpdateExport +# text: |- +# az costmanagement export update --export-name "TestExport" --definition-type "Usage" --definition-datase\ +# t-aggregation "{\\"costSum\\":{\\"name\\":\\"PreTaxCost\\",\\"function\\":\\"Sum\\"}}" --definition-dataset-configurati\ +# on columns="Date" columns="MeterId" columns="InstanceId" columns="ResourceLocation" columns="PreTaxCost" --definition-d\ +# ataset-filter "{\\"and\\":[{\\"or\\":[{\\"dimension\\":{\\"name\\":\\"ResourceLocation\\",\\"operator\\":\\"In\\",\\"va\ +# lues\\":[\\"East US\\",\\"West Europe\\"]}},{\\"tag\\":{\\"name\\":\\"Environment\\",\\"operator\\":\\"In\\",\\"values\ +# \\":[\\"UAT\\",\\"Prod\\"]}}]},{\\"dimension\\":{\\"name\\":\\"ResourceGroup\\",\\"operator\\":\\"In\\",\\"values\\":[\ +# \\"API\\"]}}]}" --definition-dataset-grouping name="SubscriptionName" type="Dimension" --definition-dataset-grouping na\ +# me="Environment" type="Tag" --definition-timeframe "MonthToDate" --delivery-info-destination container="exports" resour\ +# ce-id="/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/stora\ +# geAccounts/ccmeastusdiag182" root-folder-path="ad-hoc" --schedule-recurrence "Weekly" --schedule-recurrence-period from\ +# ="2018-06-01T00:00:00Z" to="2018-10-31T00:00:00Z" --schedule-status "Active" --scope "subscriptions/00000000-0000-0000-\ +# 0000-000000000000" +# """ + +# helps['costmanagement export delete'] = """ +# type: command +# short-summary: The operation to delete a export. +# examples: +# - name: BillingAccountDeleteExport +# text: |- +# az costmanagement export delete --export-name "TestExport" --scope "providers/Microsoft.Billing/billingA\ +# ccounts/123456" +# - name: DepartmentDeleteExport +# text: |- +# az costmanagement export delete --export-name "TestExport" --scope "providers/Microsoft.Billing/billingA\ +# ccounts/12/departments/1234" +# - name: EnrollmentAccountDeleteExport +# text: |- +# az costmanagement export delete --export-name "TestExport" --scope "providers/Microsoft.Billing/billingA\ +# ccounts/100/enrollmentAccounts/456" +# - name: ManagementGroupDeleteExport +# text: |- +# az costmanagement export delete --export-name "TestExport" --scope "providers/Microsoft.Management/manag\ +# ementGroups/TestMG" +# - name: ResourceGroupDeleteExport +# text: |- +# az costmanagement export delete --export-name "TestExport" --scope "subscriptions/00000000-0000-0000-000\ +# 0-000000000000/resourceGroups/MYDEVTESTRG" +# - name: SubscriptionDeleteExport +# text: |- +# az costmanagement export delete --export-name "TestExport" --scope "subscriptions/00000000-0000-0000-000\ +# 0-000000000000" +# """ + +# helps['costmanagement export execute'] = """ +# type: command +# short-summary: The operation to execute a export. +# examples: +# - name: BillingAccountExecuteExport +# text: |- +# az costmanagement export execute --export-name "TestExport" --scope "providers/Microsoft.Billing/billing\ +# Accounts/123456" +# - name: DepartmentExecuteExport +# text: |- +# az costmanagement export execute --export-name "TestExport" --scope "providers/Microsoft.Billing/billing\ +# Accounts/12/departments/1234" +# - name: EnrollmentAccountExecuteExport +# text: |- +# az costmanagement export execute --export-name "TestExport" --scope "providers/Microsoft.Billing/billing\ +# Accounts/100/enrollmentAccounts/456" +# - name: ManagementGroupExecuteExport +# text: |- +# az costmanagement export execute --export-name "TestExport" --scope "providers/Microsoft.Management/mana\ +# gementGroups/TestMG" +# - name: ResourceGroupExecuteExport +# text: |- +# az costmanagement export execute --export-name "TestExport" --scope "subscriptions/00000000-0000-0000-00\ +# 00-000000000000/resourceGroups/MYDEVTESTRG" +# - name: SubscriptionExecuteExport +# text: |- +# az costmanagement export execute --export-name "TestExport" --scope "subscriptions/00000000-0000-0000-00\ +# 00-000000000000" +# """ diff --git a/src/costmanagement/azext_costmanagement/generated/_params.py b/src/costmanagement/azext_costmanagement/generated/_params.py new file mode 100644 index 00000000000..367e16f0a57 --- /dev/null +++ b/src/costmanagement/azext_costmanagement/generated/_params.py @@ -0,0 +1,467 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +# pylint: disable=too-many-lines +# pylint: disable=too-many-statements + +from knack.arguments import CLIArgumentType +from azure.cli.core.commands.parameters import ( + get_three_state_flag, + get_enum_type +) +from azext_costmanagement.action import ( + AddKpis, + AddPivots, + AddQueryTimePeriod, + AddTimePeriod, + AddDatasetConfiguration, + AddDatasetGrouping, + AddDeliveryInfoDestination, + AddScheduleRecurrencePeriod +) + + +def load_arguments(self, _): + pass + + # with self.argument_context('costmanagement view list') as c: + # c.argument('scope', help='The scope associated with view operations. This includes \'subscriptions/{subscriptio' + # 'nId}\' for subscription scope, \'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' + # '\' for resourceGroup scope, \'providers/Microsoft.Billing/billingAccounts/{billingAccountId}\' for ' + # 'Billing Account scope, \'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments' + # '/{departmentId}\' for Department scope, \'providers/Microsoft.Billing/billingAccounts/{billingAccou' + # 'ntId}/enrollmentAccounts/{enrollmentAccountId}\' for EnrollmentAccount scope, \'providers/Microsoft' + # '.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}\' for BillingProfile' + # ' scope, \'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/invoiceSections/{invoiceSe' + # 'ctionId}\' for InvoiceSection scope, \'providers/Microsoft.Management/managementGroups/{managementG' + # 'roupId}\' for Management Group scope, \'providers/Microsoft.CostManagement/externalBillingAccounts/' + # '{externalBillingAccountName}\' for External Billing Account scope and \'providers/Microsoft.CostMan' + # 'agement/externalSubscriptions/{externalSubscriptionName}\' for External Subscription scope.') + + # with self.argument_context('costmanagement view show') as c: + # c.argument('scope', help='The scope associated with view operations. This includes \'subscriptions/{subscriptio' + # 'nId}\' for subscription scope, \'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' + # '\' for resourceGroup scope, \'providers/Microsoft.Billing/billingAccounts/{billingAccountId}\' for ' + # 'Billing Account scope, \'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments' + # '/{departmentId}\' for Department scope, \'providers/Microsoft.Billing/billingAccounts/{billingAccou' + # 'ntId}/enrollmentAccounts/{enrollmentAccountId}\' for EnrollmentAccount scope, \'providers/Microsoft' + # '.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}\' for BillingProfile' + # ' scope, \'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/invoiceSections/{invoiceSe' + # 'ctionId}\' for InvoiceSection scope, \'providers/Microsoft.Management/managementGroups/{managementG' + # 'roupId}\' for Management Group scope, \'providers/Microsoft.CostManagement/externalBillingAccounts/' + # '{externalBillingAccountName}\' for External Billing Account scope and \'providers/Microsoft.CostMan' + # 'agement/externalSubscriptions/{externalSubscriptionName}\' for External Subscription scope.') + # c.argument('view_name', help='View name') + + # with self.argument_context('costmanagement view create') as c: + # c.argument('scope', help='The scope associated with view operations. This includes \'subscriptions/{subscriptio' + # 'nId}\' for subscription scope, \'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' + # '\' for resourceGroup scope, \'providers/Microsoft.Billing/billingAccounts/{billingAccountId}\' for ' + # 'Billing Account scope, \'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments' + # '/{departmentId}\' for Department scope, \'providers/Microsoft.Billing/billingAccounts/{billingAccou' + # 'ntId}/enrollmentAccounts/{enrollmentAccountId}\' for EnrollmentAccount scope, \'providers/Microsoft' + # '.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}\' for BillingProfile' + # ' scope, \'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/invoiceSections/{invoiceSe' + # 'ctionId}\' for InvoiceSection scope, \'providers/Microsoft.Management/managementGroups/{managementG' + # 'roupId}\' for Management Group scope, \'providers/Microsoft.CostManagement/externalBillingAccounts/' + # '{externalBillingAccountName}\' for External Billing Account scope and \'providers/Microsoft.CostMan' + # 'agement/externalSubscriptions/{externalSubscriptionName}\' for External Subscription scope.') + # c.argument('view_name', help='View name') + # c.argument('e_tag', help='eTag of the resource. To handle concurrent update scenario, this field will be used t' + # 'o determine whether the user is updating the latest version or not.') + # c.argument('display_name', help='User input name of the view. Required.') + # c.argument('properties_scope', help='Cost Management scope to save the view on. This includes \'subscriptions/{' + # 'subscriptionId}\' for subscription scope, \'subscriptions/{subscriptionId}/resourceGroups/{resource' + # 'GroupName}\' for resourceGroup scope, \'providers/Microsoft.Billing/billingAccounts/{billingAccount' + # 'Id}\' for Billing Account scope, \'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/d' + # 'epartments/{departmentId}\' for Department scope, \'providers/Microsoft.Billing/billingAccounts/{bi' + # 'llingAccountId}/enrollmentAccounts/{enrollmentAccountId}\' for EnrollmentAccount scope, \'providers' + # '/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}\' for Bill' + # 'ingProfile scope, \'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/invoiceSections/' + # '{invoiceSectionId}\' for InvoiceSection scope, \'providers/Microsoft.Management/managementGroups/{m' + # 'anagementGroupId}\' for Management Group scope, \'/providers/Microsoft.CostManagement/externalBilli' + # 'ngAccounts/{externalBillingAccountName}\' for ExternalBillingAccount scope, and \'/providers/Micros' + # 'oft.CostManagement/externalSubscriptions/{externalSubscriptionName}\' for ExternalSubscription scop' + # 'e.') + # c.argument('chart', arg_type=get_enum_type(['Area', 'Line', 'StackedColumn', 'GroupedColumn', 'Table']), help= + # 'Chart type of the main view in Cost Analysis. Required.') + # c.argument('accumulated', arg_type=get_enum_type(['true', 'false']), help='Show costs accumulated over time.') + # c.argument('metric', arg_type=get_enum_type(['ActualCost', 'AmortizedCost', 'AHUB']), help='Metric to use when ' + # 'displaying costs.') + # c.argument('kpis', action=AddKpis, nargs='+', help='List of KPIs to show in Cost Analysis UI. Expect value: KEY' + # '1=VALUE1 KEY2=VALUE2 ... , available KEYs are: type, id, enabled.') + # c.argument('pivots', action=AddPivots, nargs='+', help='Configuration of 3 sub-views in the Cost Analysis UI. E' + # 'xpect value: KEY1=VALUE1 KEY2=VALUE2 ... , available KEYs are: type, name.') + # c.argument('query_timeframe', arg_type=get_enum_type(['WeekToDate', 'MonthToDate', 'YearToDate', 'Custom']), + # help='The time frame for pulling data for the report. If custom, then a specific time period must be' + # ' provided.') + # c.argument('query_time_period', action=AddQueryTimePeriod, nargs='+', help='Has time period for pulling data fo' + # 'r the report. Expect value: KEY1=VALUE1 KEY2=VALUE2 ... , available KEYs are: from, to.') + # c.argument('query_dataset', arg_type=CLIArgumentType(options_list=['--query-dataset'], help='Has definition for' + # ' data in this report config. Expected value: json-string/@json-file.')) + + # with self.argument_context('costmanagement view delete') as c: + # c.argument('scope', help='The scope associated with view operations. This includes \'subscriptions/{subscriptio' + # 'nId}\' for subscription scope, \'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' + # '\' for resourceGroup scope, \'providers/Microsoft.Billing/billingAccounts/{billingAccountId}\' for ' + # 'Billing Account scope, \'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments' + # '/{departmentId}\' for Department scope, \'providers/Microsoft.Billing/billingAccounts/{billingAccou' + # 'ntId}/enrollmentAccounts/{enrollmentAccountId}\' for EnrollmentAccount scope, \'providers/Microsoft' + # '.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}\' for BillingProfile' + # ' scope, \'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/invoiceSections/{invoiceSe' + # 'ctionId}\' for InvoiceSection scope, \'providers/Microsoft.Management/managementGroups/{managementG' + # 'roupId}\' for Management Group scope, \'providers/Microsoft.CostManagement/externalBillingAccounts/' + # '{externalBillingAccountName}\' for External Billing Account scope and \'providers/Microsoft.CostMan' + # 'agement/externalSubscriptions/{externalSubscriptionName}\' for External Subscription scope.') + # c.argument('view_name', help='View name') + + # with self.argument_context('costmanagement alert list') as c: + # c.argument('scope', help='The scope associated with alerts operations. This includes \'/subscriptions/{subscrip' + # 'tionId}/\' for subscription scope, \'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupN' + # 'ame}\' for resourceGroup scope, \'/providers/Microsoft.Billing/billingAccounts/{billingAccountId}\'' + # ' for Billing Account scope and \'/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/de' + # 'partments/{departmentId}\' for Department scope, \'/providers/Microsoft.Billing/billingAccounts/{bi' + # 'llingAccountId}/enrollmentAccounts/{enrollmentAccountId}\' for EnrollmentAccount scope, \'/provider' + # 's/Microsoft.Management/managementGroups/{managementGroupId} for Management Group scope, \'/provider' + # 's/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}\' for bil' + # 'lingProfile scope, \'/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfile' + # 's/{billingProfileId}/invoiceSections/{invoiceSectionId}\' for invoiceSection scope, and \'/provider' + # 's/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}\' specific for partne' + # 'rs.') + + # with self.argument_context('costmanagement alert list-external') as c: + # c.argument('external_cloud_provider_type', arg_type=get_enum_type(['externalSubscriptions', 'externalBillingAcc' + # 'ounts']), help='The external cloud provider type associated with dimension/query operations. This i' + # 'ncludes \'externalSubscriptions\' for linked account and \'externalBillingAccounts\' for consolidat' + # 'ed account.') + # c.argument('external_cloud_provider_id', help='This can be \'{externalSubscriptionId}\' for linked account or ' + # '\'{externalBillingAccountId}\' for consolidated account used with dimension/query operations.') + + # with self.argument_context('costmanagement forecast external-cloud-provider-usage') as c: + # c.argument('filter', help='May be used to filter forecasts by properties/usageDate (Utc time), properties/charg' + # 'eType or properties/grain. The filter supports \'eq\', \'lt\', \'gt\', \'le\', \'ge\', and \'and\'.' + # ' It does not currently support \'ne\', \'or\', or \'not\'.') + # c.argument('external_cloud_provider_type', arg_type=get_enum_type(['externalSubscriptions', 'externalBillingAcc' + # 'ounts']), help='The external cloud provider type associated with dimension/query operations. This i' + # 'ncludes \'externalSubscriptions\' for linked account and \'externalBillingAccounts\' for consolidat' + # 'ed account.') + # c.argument('external_cloud_provider_id', help='This can be \'{externalSubscriptionId}\' for linked account or ' + # '\'{externalBillingAccountId}\' for consolidated account used with dimension/query operations.') + # c.argument('type_', options_list=['--type'], arg_type=get_enum_type(['Usage', 'ActualCost', 'AmortizedCost']), + # help='The type of the forecast.') + # c.argument('timeframe', arg_type=get_enum_type(['MonthToDate', 'BillingMonthToDate', 'TheLastMonth', 'TheLastBi' + # 'llingMonth', 'WeekToDate', 'Custom']), help='The time frame for pulling data for the forecast. If c' + # 'ustom, then a specific time period must be provided.') + # c.argument('time_period', action=AddTimePeriod, nargs='+', help='Has time period for pulling data for the forec' + # 'ast. Expect value: KEY1=VALUE1 KEY2=VALUE2 ... , available KEYs are: from, to.') + # c.argument('include_actual_cost', arg_type=get_three_state_flag(), help='a boolean determining if actualCost wi' + # 'll be included') + # c.argument('include_fresh_partial_cost', arg_type=get_three_state_flag(), help='a boolean determining if FreshP' + # 'artialCost will be included') + # c.argument('dataset_configuration', action=AddDatasetConfiguration, nargs='+', help='Has configuration informat' + # 'ion for the data in the export. The configuration will be ignored if aggregation and grouping are p' + # 'rovided. Expect value: columns=xx.') + # c.argument('dataset_aggregation', arg_type=CLIArgumentType(options_list=['--dataset-aggregation'], help='Dictio' + # 'nary of aggregation expression to use in the query. The key of each item in the dictionary is the a' + # 'lias for the aggregated column. Query can have up to 2 aggregation clauses. Expected value: json-st' + # 'ring/@json-file.')) + # c.argument('dataset_grouping', action=AddDatasetGrouping, nargs='+', help='Array of group by expression to use ' + # 'in the query. Query can have up to 2 group by clauses. Expect value: KEY1=VALUE1 KEY2=VALUE2 ... , ' + # 'available KEYs are: type, name.') + # c.argument('dataset_filter', arg_type=CLIArgumentType(options_list=['--dataset-filter'], help='Has filter expre' + # 'ssion to use in the query. Expected value: json-string/@json-file.')) + + # with self.argument_context('costmanagement forecast usage') as c: + # c.argument('filter', help='May be used to filter forecasts by properties/usageDate (Utc time), properties/charg' + # 'eType or properties/grain. The filter supports \'eq\', \'lt\', \'gt\', \'le\', \'ge\', and \'and\'.' + # ' It does not currently support \'ne\', \'or\', or \'not\'.') + # c.argument('scope', help='The scope associated with forecast operations. This includes \'/subscriptions/{subscr' + # 'iptionId}/\' for subscription scope, \'/subscriptions/{subscriptionId}/resourceGroups/{resourceGrou' + # 'pName}\' for resourceGroup scope, \'/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' + # '\' for Billing Account scope and \'/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/' + # 'departments/{departmentId}\' for Department scope, \'/providers/Microsoft.Billing/billingAccounts/{' + # 'billingAccountId}/enrollmentAccounts/{enrollmentAccountId}\' for EnrollmentAccount scope, \'/provid' + # 'ers/Microsoft.Management/managementGroups/{managementGroupId} for Management Group scope, \'/provid' + # 'ers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}\' for b' + # 'illingProfile scope, \'/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfi' + # 'les/{billingProfileId}/invoiceSections/{invoiceSectionId}\' for invoiceSection scope, and \'/provid' + # 'ers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}\' specific for part' + # 'ners.') + # c.argument('type_', options_list=['--type'], arg_type=get_enum_type(['Usage', 'ActualCost', 'AmortizedCost']), + # help='The type of the forecast.') + # c.argument('timeframe', arg_type=get_enum_type(['MonthToDate', 'BillingMonthToDate', 'TheLastMonth', 'TheLastBi' + # 'llingMonth', 'WeekToDate', 'Custom']), help='The time frame for pulling data for the forecast. If c' + # 'ustom, then a specific time period must be provided.') + # c.argument('time_period', action=AddTimePeriod, nargs='+', help='Has time period for pulling data for the forec' + # 'ast. Expect value: KEY1=VALUE1 KEY2=VALUE2 ... , available KEYs are: from, to.') + # c.argument('include_actual_cost', arg_type=get_three_state_flag(), help='a boolean determining if actualCost wi' + # 'll be included') + # c.argument('include_fresh_partial_cost', arg_type=get_three_state_flag(), help='a boolean determining if FreshP' + # 'artialCost will be included') + # c.argument('dataset_configuration', action=AddDatasetConfiguration, nargs='+', help='Has configuration informat' + # 'ion for the data in the export. The configuration will be ignored if aggregation and grouping are p' + # 'rovided. Expect value: columns=xx.') + # c.argument('dataset_aggregation', arg_type=CLIArgumentType(options_list=['--dataset-aggregation'], help='Dictio' + # 'nary of aggregation expression to use in the query. The key of each item in the dictionary is the a' + # 'lias for the aggregated column. Query can have up to 2 aggregation clauses. Expected value: json-st' + # 'ring/@json-file.')) + # c.argument('dataset_grouping', action=AddDatasetGrouping, nargs='+', help='Array of group by expression to use ' + # 'in the query. Query can have up to 2 group by clauses. Expect value: KEY1=VALUE1 KEY2=VALUE2 ... , ' + # 'available KEYs are: type, name.') + # c.argument('dataset_filter', arg_type=CLIArgumentType(options_list=['--dataset-filter'], help='Has filter expre' + # 'ssion to use in the query. Expected value: json-string/@json-file.')) + + # with self.argument_context('costmanagement dimension list') as c: + # c.argument('scope', help='The scope associated with dimension operations. This includes \'/subscriptions/{subsc' + # 'riptionId}/\' for subscription scope, \'/subscriptions/{subscriptionId}/resourceGroups/{resourceGro' + # 'upName}\' for resourceGroup scope, \'/providers/Microsoft.Billing/billingAccounts/{billingAccountId' + # '}\' for Billing Account scope, \'/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/de' + # 'partments/{departmentId}\' for Department scope, \'/providers/Microsoft.Billing/billingAccounts/{bi' + # 'llingAccountId}/enrollmentAccounts/{enrollmentAccountId}\' for EnrollmentAccount scope, \'/provider' + # 's/Microsoft.Management/managementGroups/{managementGroupId}\' for Management Group scope, \'/provid' + # 'ers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}\' for b' + # 'illingProfile scope, \'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfil' + # 'es/{billingProfileId}/invoiceSections/{invoiceSectionId}\' for invoiceSection scope, and \'provider' + # 's/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}\' specific for partne' + # 'rs.') + # c.argument('filter', help='May be used to filter dimensions by properties/category, properties/usageStart, prop' + # 'erties/usageEnd. Supported operators are \'eq\',\'lt\', \'gt\', \'le\', \'ge\'.') + # c.argument('expand', help='May be used to expand the properties/data within a dimension category. By default, d' + # 'ata is not included when listing dimensions.') + # c.argument('skiptoken', help='Skiptoken is only used if a previous operation returned a partial result. If a pr' + # 'evious response contains a nextLink element, the value of the nextLink element will include a skipt' + # 'oken parameter that specifies a starting point to use for subsequent calls.') + # c.argument('top', help='May be used to limit the number of results to the most recent N dimension data.') + + # with self.argument_context('costmanagement dimension by-external-cloud-provider-type') as c: + # c.argument('external_cloud_provider_type', arg_type=get_enum_type(['externalSubscriptions', 'externalBillingAcc' + # 'ounts']), help='The external cloud provider type associated with dimension/query operations. This i' + # 'ncludes \'externalSubscriptions\' for linked account and \'externalBillingAccounts\' for consolidat' + # 'ed account.') + # c.argument('external_cloud_provider_id', help='This can be \'{externalSubscriptionId}\' for linked account or ' + # '\'{externalBillingAccountId}\' for consolidated account used with dimension/query operations.') + # c.argument('filter', help='May be used to filter dimensions by properties/category, properties/usageStart, prop' + # 'erties/usageEnd. Supported operators are \'eq\',\'lt\', \'gt\', \'le\', \'ge\'.') + # c.argument('expand', help='May be used to expand the properties/data within a dimension category. By default, d' + # 'ata is not included when listing dimensions.') + # c.argument('skiptoken', help='Skiptoken is only used if a previous operation returned a partial result. If a pr' + # 'evious response contains a nextLink element, the value of the nextLink element will include a skipt' + # 'oken parameter that specifies a starting point to use for subsequent calls.') + # c.argument('top', help='May be used to limit the number of results to the most recent N dimension data.') + + # with self.argument_context('costmanagement query usage') as c: + # c.argument('scope', help='The scope associated with query and export operations. This includes \'/subscriptions' + # '/{subscriptionId}/\' for subscription scope, \'/subscriptions/{subscriptionId}/resourceGroups/{reso' + # 'urceGroupName}\' for resourceGroup scope, \'/providers/Microsoft.Billing/billingAccounts/{billingAc' + # 'countId}\' for Billing Account scope and \'/providers/Microsoft.Billing/billingAccounts/{billingAcc' + # 'ountId}/departments/{departmentId}\' for Department scope, \'/providers/Microsoft.Billing/billingAc' + # 'counts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}\' for EnrollmentAccount scope, ' + # '\'/providers/Microsoft.Management/managementGroups/{managementGroupId} for Management Group scope, ' + # '\'/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId' + # '}\' for billingProfile scope, \'/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/bil' + # 'lingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}\' for invoiceSection scope, and ' + # '\'/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}\' specific' + # ' for partners.') + # c.argument('type_', options_list=['--type'], arg_type=get_enum_type(['Usage', 'ActualCost', 'AmortizedCost']), + # help='The type of the query.') + # c.argument('timeframe', arg_type=get_enum_type(['MonthToDate', 'BillingMonthToDate', 'TheLastMonth', 'TheLastBi' + # 'llingMonth', 'WeekToDate', 'Custom']), help='The time frame for pulling data for the query. If cust' + # 'om, then a specific time period must be provided.') + # c.argument('time_period', action=AddTimePeriod, nargs='+', help='Has time period for pulling data for the query' + # '. Expect value: KEY1=VALUE1 KEY2=VALUE2 ... , available KEYs are: from, to.') + # c.argument('dataset_configuration', action=AddDatasetConfiguration, nargs='+', help='Has configuration informat' + # 'ion for the data in the export. The configuration will be ignored if aggregation and grouping are p' + # 'rovided. Expect value: columns=xx.') + # c.argument('dataset_aggregation', arg_type=CLIArgumentType(options_list=['--dataset-aggregation'], help='Dictio' + # 'nary of aggregation expression to use in the query. The key of each item in the dictionary is the a' + # 'lias for the aggregated column. Query can have up to 2 aggregation clauses. Expected value: json-st' + # 'ring/@json-file.')) + # c.argument('dataset_grouping', action=AddDatasetGrouping, nargs='+', help='Array of group by expression to use ' + # 'in the query. Query can have up to 2 group by clauses. Expect value: KEY1=VALUE1 KEY2=VALUE2 ... , ' + # 'available KEYs are: type, name.') + # c.argument('dataset_filter', arg_type=CLIArgumentType(options_list=['--dataset-filter'], help='Has filter expre' + # 'ssion to use in the query. Expected value: json-string/@json-file.')) + + # with self.argument_context('costmanagement query usage-by-external-cloud-provider-type') as c: + # c.argument('external_cloud_provider_type', arg_type=get_enum_type(['externalSubscriptions', 'externalBillingAcc' + # 'ounts']), help='The external cloud provider type associated with dimension/query operations. This i' + # 'ncludes \'externalSubscriptions\' for linked account and \'externalBillingAccounts\' for consolidat' + # 'ed account.') + # c.argument('external_cloud_provider_id', help='This can be \'{externalSubscriptionId}\' for linked account or ' + # '\'{externalBillingAccountId}\' for consolidated account used with dimension/query operations.') + # c.argument('type_', options_list=['--type'], arg_type=get_enum_type(['Usage', 'ActualCost', 'AmortizedCost']), + # help='The type of the query.') + # c.argument('timeframe', arg_type=get_enum_type(['MonthToDate', 'BillingMonthToDate', 'TheLastMonth', 'TheLastBi' + # 'llingMonth', 'WeekToDate', 'Custom']), help='The time frame for pulling data for the query. If cust' + # 'om, then a specific time period must be provided.') + # c.argument('time_period', action=AddTimePeriod, nargs='+', help='Has time period for pulling data for the query' + # '. Expect value: KEY1=VALUE1 KEY2=VALUE2 ... , available KEYs are: from, to.') + # c.argument('dataset_configuration', action=AddDatasetConfiguration, nargs='+', help='Has configuration informat' + # 'ion for the data in the export. The configuration will be ignored if aggregation and grouping are p' + # 'rovided. Expect value: columns=xx.') + # c.argument('dataset_aggregation', arg_type=CLIArgumentType(options_list=['--dataset-aggregation'], help='Dictio' + # 'nary of aggregation expression to use in the query. The key of each item in the dictionary is the a' + # 'lias for the aggregated column. Query can have up to 2 aggregation clauses. Expected value: json-st' + # 'ring/@json-file.')) + # c.argument('dataset_grouping', action=AddDatasetGrouping, nargs='+', help='Array of group by expression to use ' + # 'in the query. Query can have up to 2 group by clauses. Expect value: KEY1=VALUE1 KEY2=VALUE2 ... , ' + # 'available KEYs are: type, name.') + # c.argument('dataset_filter', arg_type=CLIArgumentType(options_list=['--dataset-filter'], help='Has filter expre' + # 'ssion to use in the query. Expected value: json-string/@json-file.')) + + # with self.argument_context('costmanagement export list') as c: + # c.argument('scope', help='The scope associated with query and export operations. This includes \'/subscriptions' + # '/{subscriptionId}/\' for subscription scope, \'/subscriptions/{subscriptionId}/resourceGroups/{reso' + # 'urceGroupName}\' for resourceGroup scope, \'/providers/Microsoft.Billing/billingAccounts/{billingAc' + # 'countId}\' for Billing Account scope and \'/providers/Microsoft.Billing/billingAccounts/{billingAcc' + # 'ountId}/departments/{departmentId}\' for Department scope, \'/providers/Microsoft.Billing/billingAc' + # 'counts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}\' for EnrollmentAccount scope, ' + # '\'/providers/Microsoft.Management/managementGroups/{managementGroupId} for Management Group scope, ' + # '\'/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId' + # '}\' for billingProfile scope, \'/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/bil' + # 'lingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}\' for invoiceSection scope, and ' + # '\'/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}\' specific' + # ' for partners.') + + # with self.argument_context('costmanagement export show') as c: + # c.argument('scope', help='The scope associated with query and export operations. This includes \'/subscriptions' + # '/{subscriptionId}/\' for subscription scope, \'/subscriptions/{subscriptionId}/resourceGroups/{reso' + # 'urceGroupName}\' for resourceGroup scope, \'/providers/Microsoft.Billing/billingAccounts/{billingAc' + # 'countId}\' for Billing Account scope and \'/providers/Microsoft.Billing/billingAccounts/{billingAcc' + # 'ountId}/departments/{departmentId}\' for Department scope, \'/providers/Microsoft.Billing/billingAc' + # 'counts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}\' for EnrollmentAccount scope, ' + # '\'/providers/Microsoft.Management/managementGroups/{managementGroupId} for Management Group scope, ' + # '\'/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId' + # '}\' for billingProfile scope, \'/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/bil' + # 'lingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}\' for invoiceSection scope, and ' + # '\'/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}\' specific' + # ' for partners.') + # c.argument('export_name', help='Export Name.') + + # with self.argument_context('costmanagement export create') as c: + # c.argument('scope', help='The scope associated with query and export operations. This includes \'/subscriptions' + # '/{subscriptionId}/\' for subscription scope, \'/subscriptions/{subscriptionId}/resourceGroups/{reso' + # 'urceGroupName}\' for resourceGroup scope, \'/providers/Microsoft.Billing/billingAccounts/{billingAc' + # 'countId}\' for Billing Account scope and \'/providers/Microsoft.Billing/billingAccounts/{billingAcc' + # 'ountId}/departments/{departmentId}\' for Department scope, \'/providers/Microsoft.Billing/billingAc' + # 'counts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}\' for EnrollmentAccount scope, ' + # '\'/providers/Microsoft.Management/managementGroups/{managementGroupId} for Management Group scope, ' + # '\'/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId' + # '}\' for billingProfile scope, \'/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/bil' + # 'lingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}\' for invoiceSection scope, and ' + # '\'/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}\' specific' + # ' for partners.') + # c.argument('export_name', help='Export Name.') + # c.argument('e_tag', help='eTag of the resource. To handle concurrent update scenario, this field will be used t' + # 'o determine whether the user is updating the latest version or not.') + # c.argument('definition_type', arg_type=get_enum_type(['Usage', 'ActualCost', 'AmortizedCost']), help='The type ' + # 'of the query.') + # c.argument('definition_timeframe', arg_type=get_enum_type(['MonthToDate', 'BillingMonthToDate', 'TheLastMonth', + # 'TheLastBillingMonth', 'WeekToDate', 'Custom']), help='The time frame for pulling data for the quer' + # 'y. If custom, then a specific time period must be provided.') + # c.argument('definition_time_period', action=AddTimePeriod, nargs='+', help='Has time period for pulling data fo' + # 'r the query. Expect value: KEY1=VALUE1 KEY2=VALUE2 ... , available KEYs are: from, to.') + # c.argument('definition_dataset_configuration', action=AddDatasetConfiguration, nargs='+', help='Has configurati' + # 'on information for the data in the export. The configuration will be ignored if aggregation and gro' + # 'uping are provided. Expect value: columns=xx.') + # c.argument('definition_dataset_aggregation', arg_type=CLIArgumentType(options_list=['--definition-dataset-aggre' + # 'gation'], help='Dictionary of aggregation expression to use in the query. The key of each item in t' + # 'he dictionary is the alias for the aggregated column. Query can have up to 2 aggregation clauses. E' + # 'xpected value: json-string/@json-file.')) + # c.argument('definition_dataset_grouping', action=AddDatasetGrouping, nargs='+', help='Array of group by express' + # 'ion to use in the query. Query can have up to 2 group by clauses. Expect value: KEY1=VALUE1 KEY2=VA' + # 'LUE2 ... , available KEYs are: type, name.') + # c.argument('definition_dataset_filter', arg_type=CLIArgumentType(options_list=['--definition-dataset-filter'], + # help='Has filter expression to use in the query. Expected value: json-string/@json-file.')) + # c.argument('delivery_info_destination', action=AddDeliveryInfoDestination, nargs='+', help='Has destination for' + # ' the export being delivered. Expect value: KEY1=VALUE1 KEY2=VALUE2 ... , available KEYs are: resour' + # 'ce-id, container, root-folder-path.') + # c.argument('schedule_status', arg_type=get_enum_type(['Active', 'Inactive']), help='The status of the schedule.' + # ' Whether active or not. If inactive, the export\'s scheduled execution is paused.') + # c.argument('schedule_recurrence', arg_type=get_enum_type(['Daily', 'Weekly', 'Monthly', 'Annually']), help='The' + # ' schedule recurrence.') + # c.argument('schedule_recurrence_period', action=AddScheduleRecurrencePeriod, nargs='+', help='Has start and end' + # ' date of the recurrence. The start date must be in future. If present, the end date must be greater' + # ' than start date. Expect value: KEY1=VALUE1 KEY2=VALUE2 ... , available KEYs are: from, to.') + + # with self.argument_context('costmanagement export update') as c: + # c.argument('scope', help='The scope associated with query and export operations. This includes \'/subscriptions' + # '/{subscriptionId}/\' for subscription scope, \'/subscriptions/{subscriptionId}/resourceGroups/{reso' + # 'urceGroupName}\' for resourceGroup scope, \'/providers/Microsoft.Billing/billingAccounts/{billingAc' + # 'countId}\' for Billing Account scope and \'/providers/Microsoft.Billing/billingAccounts/{billingAcc' + # 'ountId}/departments/{departmentId}\' for Department scope, \'/providers/Microsoft.Billing/billingAc' + # 'counts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}\' for EnrollmentAccount scope, ' + # '\'/providers/Microsoft.Management/managementGroups/{managementGroupId} for Management Group scope, ' + # '\'/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId' + # '}\' for billingProfile scope, \'/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/bil' + # 'lingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}\' for invoiceSection scope, and ' + # '\'/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}\' specific' + # ' for partners.') + # c.argument('export_name', help='Export Name.') + # c.argument('e_tag', help='eTag of the resource. To handle concurrent update scenario, this field will be used t' + # 'o determine whether the user is updating the latest version or not.') + # c.argument('definition_type', arg_type=get_enum_type(['Usage', 'ActualCost', 'AmortizedCost']), help='The type ' + # 'of the query.') + # c.argument('definition_timeframe', arg_type=get_enum_type(['MonthToDate', 'BillingMonthToDate', 'TheLastMonth', + # 'TheLastBillingMonth', 'WeekToDate', 'Custom']), help='The time frame for pulling data for the quer' + # 'y. If custom, then a specific time period must be provided.') + # c.argument('definition_time_period', action=AddTimePeriod, nargs='+', help='Has time period for pulling data fo' + # 'r the query. Expect value: KEY1=VALUE1 KEY2=VALUE2 ... , available KEYs are: from, to.') + # c.argument('definition_dataset_configuration', action=AddDatasetConfiguration, nargs='+', help='Has configurati' + # 'on information for the data in the export. The configuration will be ignored if aggregation and gro' + # 'uping are provided. Expect value: columns=xx.') + # c.argument('definition_dataset_aggregation', arg_type=CLIArgumentType(options_list=['--definition-dataset-aggre' + # 'gation'], help='Dictionary of aggregation expression to use in the query. The key of each item in t' + # 'he dictionary is the alias for the aggregated column. Query can have up to 2 aggregation clauses. E' + # 'xpected value: json-string/@json-file.')) + # c.argument('definition_dataset_grouping', action=AddDatasetGrouping, nargs='+', help='Array of group by express' + # 'ion to use in the query. Query can have up to 2 group by clauses. Expect value: KEY1=VALUE1 KEY2=VA' + # 'LUE2 ... , available KEYs are: type, name.') + # c.argument('definition_dataset_filter', arg_type=CLIArgumentType(options_list=['--definition-dataset-filter'], + # help='Has filter expression to use in the query. Expected value: json-string/@json-file.')) + # c.argument('delivery_info_destination', action=AddDeliveryInfoDestination, nargs='+', help='Has destination for' + # ' the export being delivered. Expect value: KEY1=VALUE1 KEY2=VALUE2 ... , available KEYs are: resour' + # 'ce-id, container, root-folder-path.') + # c.argument('schedule_status', arg_type=get_enum_type(['Active', 'Inactive']), help='The status of the schedule.' + # ' Whether active or not. If inactive, the export\'s scheduled execution is paused.') + # c.argument('schedule_recurrence', arg_type=get_enum_type(['Daily', 'Weekly', 'Monthly', 'Annually']), help='The' + # ' schedule recurrence.') + # c.argument('schedule_recurrence_period', action=AddScheduleRecurrencePeriod, nargs='+', help='Has start and end' + # ' date of the recurrence. The start date must be in future. If present, the end date must be greater' + # ' than start date. Expect value: KEY1=VALUE1 KEY2=VALUE2 ... , available KEYs are: from, to.') + + # with self.argument_context('costmanagement export delete') as c: + # c.argument('scope', help='The scope associated with query and export operations. This includes \'/subscriptions' + # '/{subscriptionId}/\' for subscription scope, \'/subscriptions/{subscriptionId}/resourceGroups/{reso' + # 'urceGroupName}\' for resourceGroup scope, \'/providers/Microsoft.Billing/billingAccounts/{billingAc' + # 'countId}\' for Billing Account scope and \'/providers/Microsoft.Billing/billingAccounts/{billingAcc' + # 'ountId}/departments/{departmentId}\' for Department scope, \'/providers/Microsoft.Billing/billingAc' + # 'counts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}\' for EnrollmentAccount scope, ' + # '\'/providers/Microsoft.Management/managementGroups/{managementGroupId} for Management Group scope, ' + # '\'/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId' + # '}\' for billingProfile scope, \'/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/bil' + # 'lingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}\' for invoiceSection scope, and ' + # '\'/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}\' specific' + # ' for partners.') + # c.argument('export_name', help='Export Name.') + + # with self.argument_context('costmanagement export execute') as c: + # c.argument('scope', help='The scope associated with query and export operations. This includes \'/subscriptions' + # '/{subscriptionId}/\' for subscription scope, \'/subscriptions/{subscriptionId}/resourceGroups/{reso' + # 'urceGroupName}\' for resourceGroup scope, \'/providers/Microsoft.Billing/billingAccounts/{billingAc' + # 'countId}\' for Billing Account scope and \'/providers/Microsoft.Billing/billingAccounts/{billingAcc' + # 'ountId}/departments/{departmentId}\' for Department scope, \'/providers/Microsoft.Billing/billingAc' + # 'counts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}\' for EnrollmentAccount scope, ' + # '\'/providers/Microsoft.Management/managementGroups/{managementGroupId} for Management Group scope, ' + # '\'/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId' + # '}\' for billingProfile scope, \'/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/bil' + # 'lingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}\' for invoiceSection scope, and ' + # '\'/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}\' specific' + # ' for partners.') + # c.argument('export_name', help='Export Name.') diff --git a/src/costmanagement/azext_costmanagement/generated/_validators.py b/src/costmanagement/azext_costmanagement/generated/_validators.py new file mode 100644 index 00000000000..7536d0531ea --- /dev/null +++ b/src/costmanagement/azext_costmanagement/generated/_validators.py @@ -0,0 +1,23 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + + +def example_name_or_id_validator(cmd, namespace): + from azure.cli.core.commands.client_factory import get_subscription_id + from msrestazure.tools import is_valid_resource_id, resource_id + if namespace.storage_account: + if not is_valid_resource_id(namespace.RESOURCE): + namespace.storage_account = resource_id( + subscription=get_subscription_id(cmd.cli_ctx), + resource_group=namespace.resource_group_name, + namespace='Microsoft.Storage', + type='storageAccounts', + name=namespace.storage_account + ) diff --git a/src/costmanagement/azext_costmanagement/generated/action.py b/src/costmanagement/azext_costmanagement/generated/action.py new file mode 100644 index 00000000000..e56edb2b2fb --- /dev/null +++ b/src/costmanagement/azext_costmanagement/generated/action.py @@ -0,0 +1,214 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +# pylint: disable=protected-access + +import argparse +from knack.util import CLIError +from collections import defaultdict + + +class AddKpis(argparse._AppendAction): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + super(AddKpis, self).__call__(parser, namespace, action, option_string) + + def get_action(self, values, option_string): # pylint: disable=no-self-use + try: + properties = defaultdict(list) + for (k, v) in (x.split('=', 1) for x in values): + properties[k].append(v) + properties = dict(properties) + except ValueError: + raise CLIError('usage error: {} [KEY=VALUE ...]'.format(option_string)) + d = {} + for k in properties: + kl = k.lower() + v = properties[k] + if kl == 'type': + d['type'] = v[0] + elif kl == 'id': + d['id'] = v[0] + elif kl == 'enabled': + d['enabled'] = v[0] + return d + + +class AddPivots(argparse._AppendAction): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + super(AddPivots, self).__call__(parser, namespace, action, option_string) + + def get_action(self, values, option_string): # pylint: disable=no-self-use + try: + properties = defaultdict(list) + for (k, v) in (x.split('=', 1) for x in values): + properties[k].append(v) + properties = dict(properties) + except ValueError: + raise CLIError('usage error: {} [KEY=VALUE ...]'.format(option_string)) + d = {} + for k in properties: + kl = k.lower() + v = properties[k] + if kl == 'type': + d['type'] = v[0] + elif kl == 'name': + d['name'] = v[0] + return d + + +class AddQueryTimePeriod(argparse.Action): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + namespace.query_time_period = action + + def get_action(self, values, option_string): # pylint: disable=no-self-use + try: + properties = defaultdict(list) + for (k, v) in (x.split('=', 1) for x in values): + properties[k].append(v) + properties = dict(properties) + except ValueError: + raise CLIError('usage error: {} [KEY=VALUE ...]'.format(option_string)) + d = {} + for k in properties: + kl = k.lower() + v = properties[k] + if kl == 'from': + d['from_property'] = v[0] + elif kl == 'to': + d['to'] = v[0] + return d + + +class AddTimePeriod(argparse.Action): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + if hasattr(namespace, 'definition_time_period'): + namespace.definition_time_period = action + if hasattr(namespace, 'time_period'): + namespace.time_period = action + + def get_action(self, values, option_string): # pylint: disable=no-self-use + try: + properties = defaultdict(list) + for (k, v) in (x.split('=', 1) for x in values): + properties[k].append(v) + properties = dict(properties) + except ValueError: + raise CLIError('usage error: {} [KEY=VALUE ...]'.format(option_string)) + d = {} + for k in properties: + kl = k.lower() + v = properties[k] + if kl == 'from': + d['from_property'] = v[0] + elif kl == 'to': + d['to'] = v[0] + return d + + +class AddDatasetConfiguration(argparse.Action): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + if hasattr(namespace, 'dataset_configuration'): + namespace.dataset_configuration = action + if hasattr(namespace, 'definition_dataset_configuration'): + namespace.definition_dataset_configuration = action + + def get_action(self, values, option_string): # pylint: disable=no-self-use + try: + properties = defaultdict(list) + for (k, v) in (x.split('=', 1) for x in values): + properties[k].append(v) + properties = dict(properties) + except ValueError: + raise CLIError('usage error: {} [KEY=VALUE ...]'.format(option_string)) + d = {} + for k in properties: + kl = k.lower() + v = properties[k] + if kl == 'columns': + d['columns'] = v + return d + + +class AddDatasetGrouping(argparse._AppendAction): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + super(AddDatasetGrouping, self).__call__(parser, namespace, action, option_string) + + def get_action(self, values, option_string): # pylint: disable=no-self-use + try: + properties = defaultdict(list) + for (k, v) in (x.split('=', 1) for x in values): + properties[k].append(v) + properties = dict(properties) + except ValueError: + raise CLIError('usage error: {} [KEY=VALUE ...]'.format(option_string)) + d = {} + for k in properties: + kl = k.lower() + v = properties[k] + if kl == 'type': + d['type'] = v[0] + elif kl == 'name': + d['name'] = v[0] + return d + + +class AddDeliveryInfoDestination(argparse.Action): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + namespace.delivery_info_destination = action + + def get_action(self, values, option_string): # pylint: disable=no-self-use + try: + properties = defaultdict(list) + for (k, v) in (x.split('=', 1) for x in values): + properties[k].append(v) + properties = dict(properties) + except ValueError: + raise CLIError('usage error: {} [KEY=VALUE ...]'.format(option_string)) + d = {} + for k in properties: + kl = k.lower() + v = properties[k] + if kl == 'resource-id': + d['resource_id'] = v[0] + elif kl == 'container': + d['container'] = v[0] + elif kl == 'root-folder-path': + d['root_folder_path'] = v[0] + return d + + +class AddScheduleRecurrencePeriod(argparse.Action): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + namespace.schedule_recurrence_period = action + + def get_action(self, values, option_string): # pylint: disable=no-self-use + try: + properties = defaultdict(list) + for (k, v) in (x.split('=', 1) for x in values): + properties[k].append(v) + properties = dict(properties) + except ValueError: + raise CLIError('usage error: {} [KEY=VALUE ...]'.format(option_string)) + d = {} + for k in properties: + kl = k.lower() + v = properties[k] + if kl == 'from': + d['from_property'] = v[0] + elif kl == 'to': + d['to'] = v[0] + return d diff --git a/src/costmanagement/azext_costmanagement/generated/commands.py b/src/costmanagement/azext_costmanagement/generated/commands.py new file mode 100644 index 00000000000..8a61dbaec20 --- /dev/null +++ b/src/costmanagement/azext_costmanagement/generated/commands.py @@ -0,0 +1,83 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +# from azure.cli.core.commands import CliCommandType + + +def load_command_table(self, _): + pass + +# from azext_costmanagement.generated._client_factory import cf_view +# costmanagement_view = CliCommandType( +# operations_tmpl='azext_costmanagement.vendored_sdks.costmanagement.operations._view_operations#ViewOperations.{' +# '}', +# client_factory=cf_view) +# with self.command_group('costmanagement view', costmanagement_view, client_factory=cf_view, +# is_experimental=True) as g: +# g.custom_command('list', 'costmanagement_view_list') +# g.custom_show_command('show', 'costmanagement_view_show') +# g.custom_command('create', 'costmanagement_view_create') +# g.custom_command('delete', 'costmanagement_view_delete') + +# from azext_costmanagement.generated._client_factory import cf_alert +# costmanagement_alert = CliCommandType( +# operations_tmpl='azext_costmanagement.vendored_sdks.costmanagement.operations._alert_operations#AlertOperations' +# '.{}', +# client_factory=cf_alert) +# with self.command_group('costmanagement alert', costmanagement_alert, client_factory=cf_alert, +# is_experimental=True) as g: +# g.custom_command('list', 'costmanagement_alert_list') +# g.custom_command('list-external', 'costmanagement_alert_list_external') + +# from azext_costmanagement.generated._client_factory import cf_forecast +# costmanagement_forecast = CliCommandType( +# operations_tmpl='azext_costmanagement.vendored_sdks.costmanagement.operations._forecast_operations#ForecastOper' +# 'ations.{}', +# client_factory=cf_forecast) +# with self.command_group('costmanagement forecast', costmanagement_forecast, client_factory=cf_forecast, +# is_experimental=True) as g: +# g.custom_command('external-cloud-provider-usage', 'costmanagement_forecast_external_cloud_provider_usage') +# g.custom_command('usage', 'costmanagement_forecast_usage') + +# from azext_costmanagement.generated._client_factory import cf_dimension +# costmanagement_dimension = CliCommandType( +# operations_tmpl='azext_costmanagement.vendored_sdks.costmanagement.operations._dimension_operations#DimensionOp' +# 'erations.{}', +# client_factory=cf_dimension) +# with self.command_group('costmanagement dimension', costmanagement_dimension, client_factory=cf_dimension, +# is_experimental=True) as g: +# g.custom_command('list', 'costmanagement_dimension_list') +# g.custom_command('by-external-cloud-provider-type', +# 'costmanagement_dimension_by_external_cloud_provider_type') + +# from azext_costmanagement.generated._client_factory import cf_query +# costmanagement_query = CliCommandType( +# operations_tmpl='azext_costmanagement.vendored_sdks.costmanagement.operations._query_operations#QueryOperations' +# '.{}', +# client_factory=cf_query) +# with self.command_group('costmanagement query', costmanagement_query, client_factory=cf_query, +# is_experimental=True) as g: +# g.custom_command('usage', 'costmanagement_query_usage') +# g.custom_command('usage-by-external-cloud-provider-type', 'costmanagement_query_usage_by_external_cloud_provide' +# 'r_type') + + # from azext_costmanagement.generated._client_factory import cf_export + # costmanagement_export = CliCommandType( + # operations_tmpl='azext_costmanagement.vendored_sdks.costmanagement.operations._export_operations#ExportOperatio' + # 'ns.{}', + # client_factory=cf_export) + # with self.command_group('costmanagement export', costmanagement_export, client_factory=cf_export, + # is_experimental=True) as g: + # g.custom_command('list', 'costmanagement_export_list') + # g.custom_show_command('show', 'costmanagement_export_show') + # g.custom_command('create', 'costmanagement_export_create') + # g.custom_command('update', 'costmanagement_export_update') + # g.custom_command('delete', 'costmanagement_export_delete') + # g.custom_command('execute', 'costmanagement_export_execute') diff --git a/src/costmanagement/azext_costmanagement/generated/custom.py b/src/costmanagement/azext_costmanagement/generated/custom.py new file mode 100644 index 00000000000..2c3fce143c8 --- /dev/null +++ b/src/costmanagement/azext_costmanagement/generated/custom.py @@ -0,0 +1,328 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +# pylint: disable=too-many-lines + +import json + + +# def costmanagement_view_list(cmd, client, +# scope=None): +# if scope is not None: +# return client.list_by_scope(scope=scope) +# return client.list() + + +# def costmanagement_view_show(cmd, client, +# view_name, +# scope=None): +# if scope is not None and view_name is not None: +# return client.get_by_scope(scope=scope, +# view_name=view_name) +# return client.get(view_name=view_name) + + +# def costmanagement_view_create(cmd, client, +# view_name, +# scope=None, +# e_tag=None, +# display_name=None, +# properties_scope=None, +# chart=None, +# accumulated=None, +# metric=None, +# kpis=None, +# pivots=None, +# query_timeframe=None, +# query_time_period=None, +# query_dataset=None): +# if isinstance(query_dataset, str): +# query_dataset = json.loads(query_dataset) +# if scope is not None and view_name is not None and _parameters is not None: +# return client.create_or_update_by_scope(scope=scope, +# view_name=view_name, +# e_tag=e_tag, +# display_name=display_name, +# view_properties_scope=properties_scope, +# chart=chart, +# accumulated=accumulated, +# metric=metric, +# kpis=kpis, +# pivots=pivots, +# timeframe=query_timeframe, +# time_period=query_time_period, +# dataset=query_dataset) +# return client.create_or_update(view_name=view_name, +# e_tag=e_tag, +# display_name=display_name, +# scope=scope, +# chart=chart, +# accumulated=accumulated, +# metric=metric, +# kpis=kpis, +# pivots=pivots, +# timeframe=query_timeframe, +# time_period=query_time_period, +# dataset=query_dataset) + + +# def costmanagement_view_delete(cmd, client, +# view_name, +# scope=None): +# if scope is not None and view_name is not None: +# return client.delete_by_scope(scope=scope, +# view_name=view_name) +# return client.delete(view_name=view_name) + + +# def costmanagement_alert_list(cmd, client, +# scope): +# return client.list(scope=scope) + + +# def costmanagement_alert_list_external(cmd, client, +# external_cloud_provider_type, +# external_cloud_provider_id): +# return client.list_external(external_cloud_provider_type=external_cloud_provider_type, +# external_cloud_provider_id=external_cloud_provider_id) + + +# def costmanagement_forecast_external_cloud_provider_usage(cmd, client, +# external_cloud_provider_type, +# external_cloud_provider_id, +# type_, +# timeframe, +# filter=None, +# time_period=None, +# include_actual_cost=None, +# include_fresh_partial_cost=None, +# dataset_configuration=None, +# dataset_aggregation=None, +# dataset_grouping=None, +# dataset_filter=None): +# if isinstance(dataset_aggregation, str): +# dataset_aggregation = json.loads(dataset_aggregation) +# if isinstance(dataset_filter, str): +# dataset_filter = json.loads(dataset_filter) +# return client.external_cloud_provider_usage(filter=filter, +# external_cloud_provider_type=external_cloud_provider_type, +# external_cloud_provider_id=external_cloud_provider_id, +# type=type_, +# timeframe=timeframe, +# time_period=time_period, +# include_actual_cost=include_actual_cost, +# include_fresh_partial_cost=include_fresh_partial_cost, +# configuration=dataset_configuration, +# aggregation=dataset_aggregation, +# grouping=dataset_grouping, +# query_filter=dataset_filter) + + +# def costmanagement_forecast_usage(cmd, client, +# scope, +# type_, +# timeframe, +# filter=None, +# time_period=None, +# include_actual_cost=None, +# include_fresh_partial_cost=None, +# dataset_configuration=None, +# dataset_aggregation=None, +# dataset_grouping=None, +# dataset_filter=None): +# if isinstance(dataset_aggregation, str): +# dataset_aggregation = json.loads(dataset_aggregation) +# if isinstance(dataset_filter, str): +# dataset_filter = json.loads(dataset_filter) +# return client.usage(filter=filter, +# scope=scope, +# type=type_, +# timeframe=timeframe, +# time_period=time_period, +# include_actual_cost=include_actual_cost, +# include_fresh_partial_cost=include_fresh_partial_cost, +# configuration=dataset_configuration, +# aggregation=dataset_aggregation, +# grouping=dataset_grouping, +# query_filter=dataset_filter) + + +# def costmanagement_dimension_list(cmd, client, +# scope, +# filter=None, +# expand=None, +# skiptoken=None, +# top=None): +# return client.list(scope=scope, +# filter=filter, +# expand=expand, +# skiptoken=skiptoken, +# top=top) + + +# def costmanagement_dimension_by_external_cloud_provider_type(cmd, client, +# external_cloud_provider_type, +# external_cloud_provider_id, +# filter=None, +# expand=None, +# skiptoken=None, +# top=None): +# return client.by_external_cloud_provider_type(external_cloud_provider_type=external_cloud_provider_type, +# external_cloud_provider_id=external_cloud_provider_id, +# filter=filter, +# expand=expand, +# skiptoken=skiptoken, +# top=top) + + +def costmanagement_query_usage(cmd, client, + scope, + type_, + timeframe, + time_period=None, + dataset_configuration=None, + dataset_aggregation=None, + dataset_grouping=None, + dataset_filter=None): + if isinstance(dataset_aggregation, str): + dataset_aggregation = json.loads(dataset_aggregation) + if isinstance(dataset_filter, str): + dataset_filter = json.loads(dataset_filter) + return client.usage(scope=scope, + type=type_, + timeframe=timeframe, + time_period=time_period, + configuration=dataset_configuration, + aggregation=dataset_aggregation, + grouping=dataset_grouping, + filter=dataset_filter) + + +def costmanagement_query_usage_by_external_cloud_provider_type(cmd, client, + external_cloud_provider_type, + external_cloud_provider_id, + type_, + timeframe, + time_period=None, + dataset_configuration=None, + dataset_aggregation=None, + dataset_grouping=None, + dataset_filter=None): + if isinstance(dataset_aggregation, str): + dataset_aggregation = json.loads(dataset_aggregation) + if isinstance(dataset_filter, str): + dataset_filter = json.loads(dataset_filter) + return client.usage_by_external_cloud_provider_type(external_cloud_provider_type=external_cloud_provider_type, + external_cloud_provider_id=external_cloud_provider_id, + type=type_, + timeframe=timeframe, + time_period=time_period, + configuration=dataset_configuration, + aggregation=dataset_aggregation, + grouping=dataset_grouping, + filter=dataset_filter) + + +# def costmanagement_export_list(cmd, client, +# scope): +# return client.list(scope=scope) + + +# def costmanagement_export_show(cmd, client, +# scope, +# export_name): +# if scope is not None and export_name is not None: +# return client.get(scope=scope, +# export_name=export_name) +# return client.get_execution_history(scope=scope, +# export_name=export_name) + + +# def costmanagement_export_create(cmd, client, +# scope, +# export_name, +# e_tag=None, +# definition_type=None, +# definition_timeframe=None, +# definition_time_period=None, +# definition_dataset_configuration=None, +# definition_dataset_aggregation=None, +# definition_dataset_grouping=None, +# definition_dataset_filter=None, +# delivery_info_destination=None, +# schedule_status=None, +# schedule_recurrence=None, +# schedule_recurrence_period=None): +# if isinstance(definition_dataset_aggregation, str): +# definition_dataset_aggregation = json.loads(definition_dataset_aggregation) +# if isinstance(definition_dataset_filter, str): +# definition_dataset_filter = json.loads(definition_dataset_filter) +# return client.create_or_update(scope=scope, +# export_name=export_name, +# e_tag=e_tag, +# type=definition_type, +# timeframe=definition_timeframe, +# time_period=definition_time_period, +# configuration=definition_dataset_configuration, +# aggregation=definition_dataset_aggregation, +# grouping=definition_dataset_grouping, +# filter=definition_dataset_filter, +# destination=delivery_info_destination, +# status=schedule_status, +# recurrence=schedule_recurrence, +# recurrence_period=schedule_recurrence_period) + + +# def costmanagement_export_update(cmd, client, +# scope, +# export_name, +# e_tag=None, +# definition_type=None, +# definition_timeframe=None, +# definition_time_period=None, +# definition_dataset_configuration=None, +# definition_dataset_aggregation=None, +# definition_dataset_grouping=None, +# definition_dataset_filter=None, +# delivery_info_destination=None, +# schedule_status=None, +# schedule_recurrence=None, +# schedule_recurrence_period=None): +# if isinstance(definition_dataset_aggregation, str): +# definition_dataset_aggregation = json.loads(definition_dataset_aggregation) +# if isinstance(definition_dataset_filter, str): +# definition_dataset_filter = json.loads(definition_dataset_filter) +# return client.create_or_update(scope=scope, +# export_name=export_name, +# e_tag=e_tag, +# type=definition_type, +# timeframe=definition_timeframe, +# time_period=definition_time_period, +# configuration=definition_dataset_configuration, +# aggregation=definition_dataset_aggregation, +# grouping=definition_dataset_grouping, +# filter=definition_dataset_filter, +# destination=delivery_info_destination, +# status=schedule_status, +# recurrence=schedule_recurrence, +# recurrence_period=schedule_recurrence_period) + + +# def costmanagement_export_delete(cmd, client, +# scope, +# export_name): +# return client.delete(scope=scope, +# export_name=export_name) + + +# def costmanagement_export_execute(cmd, client, +# scope, +# export_name): +# return client.execute(scope=scope, +# export_name=export_name) diff --git a/src/costmanagement/azext_costmanagement/manual/__init__.py b/src/costmanagement/azext_costmanagement/manual/__init__.py new file mode 100644 index 00000000000..ee0c4f36bd0 --- /dev/null +++ b/src/costmanagement/azext_costmanagement/manual/__init__.py @@ -0,0 +1,12 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +__path__ = __import__('pkgutil').extend_path(__path__, __name__) diff --git a/src/costmanagement/azext_costmanagement/manual/_help.py b/src/costmanagement/azext_costmanagement/manual/_help.py new file mode 100644 index 00000000000..4fea63ba728 --- /dev/null +++ b/src/costmanagement/azext_costmanagement/manual/_help.py @@ -0,0 +1,218 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +from knack.help_files import helps + + +helps['costmanagement'] = """ + type: group + short-summary: Manage cost and billing in Azure +""" + +# override from generated._help +helps['costmanagement query'] = """ + type: command + short-summary: Query the usage data for scope defined. + examples: + - name: Query in ManagementGroup scope + text: |- + az costmanagement query --type "Usage" --dataset-filter "{\\"and\\":[{\\"or\\":[{\\"dimension\\":{\ +\\"name\\":\\"ResourceLocation\\",\\"operator\\":\\"In\\",\\"values\\":[\\"East US\\",\\"West Europe\\"]}},{\\"tag\\":{\ +\\"name\\":\\"Environment\\",\\"operator\\":\\"In\\",\\"values\\":[\\"UAT\\",\\"Prod\\"]}}]},{\\"dimension\\":{\\"name\ +\\":\\"ResourceGroup\\",\\"operator\\":\\"In\\",\\"values\\":[\\"API\\"]}}]}" --timeframe "MonthToDate" --scope "provid\ +ers/Microsoft.Management/managementGroups/MyMgId" + - name: Query in ManagementGroupQuery scope via grouping + text: |- + az costmanagement query --type "Usage" --dataset-aggregation "{\\"totalCost\\":{\\"name\\":\\"PreT\ +axCost\\",\\"function\\":\\"Sum\\"}}" --dataset-grouping name="ResourceGroup" type="Dimension" --timeframe "TheLastMont\ +h" --scope "providers/Microsoft.Management/managementGroups/MyMgId" + - name: Query in a ResourceGroup scope + text: |- + az costmanagement query --type "Usage" --dataset-filter "{\\"and\\":[{\\"or\\":[{\\"dimension\\":{\ +\\"name\\":\\"ResourceLocation\\",\\"operator\\":\\"In\\",\\"values\\":[\\"East US\\",\\"West Europe\\"]}},{\\"tag\\":{\ +\\"name\\":\\"Environment\\",\\"operator\\":\\"In\\",\\"values\\":[\\"UAT\\",\\"Prod\\"]}}]},{\\"dimension\\":{\\"name\ +\\":\\"ResourceGroup\\",\\"operator\\":\\"In\\",\\"values\\":[\\"API\\"]}}]}" --timeframe "MonthToDate" --scope "subscr\ +iptions/00000000-0000-0000-0000-000000000000/resourceGroups/ScreenSharingTest-peer" + - name: Query in a ResourceGroupQuery scope via grouping + text: |- + az costmanagement query --type "Usage" --dataset-aggregation "{\\"totalCost\\":{\\"name\\":\\"PreT\ +axCost\\",\\"function\\":\\"Sum\\"}}" --dataset-grouping name="ResourceType" type="Dimension" --timeframe "TheLastMonth\ +" --scope "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ScreenSharingTest-peer" + - name: Query in a Subscription scope + text: |- + az costmanagement query --type "Usage" --dataset-filter "{\\"and\\":[{\\"or\\":[{\\"dimension\\":{\ +\\"name\\":\\"ResourceLocation\\",\\"operator\\":\\"In\\",\\"values\\":[\\"East US\\",\\"West Europe\\"]}},{\\"tag\\":{\ +\\"name\\":\\"Environment\\",\\"operator\\":\\"In\\",\\"values\\":[\\"UAT\\",\\"Prod\\"]}}]},{\\"dimension\\":{\\"name\ +\\":\\"ResourceGroup\\",\\"operator\\":\\"In\\",\\"values\\":[\\"API\\"]}}]}" --timeframe "MonthToDate" --scope "subscr\ +iptions/00000000-0000-0000-0000-000000000000" + - name: Query in a Subscription scope via grouping + text: |- + az costmanagement query --type "Usage" --dataset-aggregation "{\\"totalCost\\":{\\"name\\":\\"PreT\ +axCost\\",\\"function\\":\\"Sum\\"}}" --dataset-grouping name="ResourceGroup" type="Dimension" --timeframe "TheLastMont\ +h" --scope "subscriptions/00000000-0000-0000-0000-000000000000" +""" + + +helps['costmanagement export'] = """ + type: group + short-summary: costmanagement export +""" + +helps['costmanagement export list'] = """ + type: command + short-summary: The operation to list all exports at the given scope. + examples: + - name: list exports in a ManagementGroup scope + text: |- + az costmanagement export list --scope "providers/Microsoft.Management/managementGroups/TestMG" + - name: list exports in a ResourceGroup scope + text: |- + az costmanagement export list --scope "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups\ +/MYDEVTESTRG" + - name: list exports in a Subscription scope + text: |- + az costmanagement export list --scope "subscriptions/00000000-0000-0000-0000-000000000000" +""" + +helps['costmanagement export show'] = """ + type: command + short-summary: The operation to get the execution history of an export for the defined scope by export name. + examples: + - name: Show an export in a ManagementGroup scope + text: |- + az costmanagement export show --name "TestExport" --scope "providers/Microsoft.Management/managem\ +entGroups/TestMG" + - name: Show an export in a ResourceGroup scope + text: |- + az costmanagement export show --name "TestExport" --scope "subscriptions/00000000-0000-0000-0000-\ +000000000000/resourceGroups/MYDEVTESTRG" + - name: Show an export in a Subscription scope + text: |- + az costmanagement export show --name "TestExport" --scope "subscriptions/00000000-0000-0000-0000-\ +000000000000" +""" + +helps['costmanagement export create'] = """ + type: command + short-summary: The operation to create an export. + examples: + - name: Create an export for ManagementGroup scope + text: > + az costmanagement export create + --name "TestExport" + --type "Usage" + --dataset-configuration columns="Date" columns="MeterId" columns="InstanceId" columns="ResourceLocation" columns="PreTaxCost" + --dataset-grouping name="SubscriptionName" type="Dimension" + --dataset-grouping name="Environment" type="Tag" + --timeframe "MonthToDate" + --storage-container="exports" + --storage-account-id="/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182" + --storage-directory="ad-hoc" + --recurrence "Weekly" + --recurrence-period from="2018-06-01T00:00:00Z" to="2018-10-31T00:00:00Z" + --schedule-status "Active" + --scope "providers/Microsoft.Management/managementGroups/TestMG" + - name: Create an export for ResourceGroup scope + text: > + az costmanagement export create + --name "TestExport" + --type "Usage" + --dataset-configuration columns="Date" columns="MeterId" columns="InstanceId" columns="ResourceLocation" columns="PreTaxCost" + --dataset-grouping name="SubscriptionName" type="Dimension" + --dataset-grouping name="Environment" type="Tag" + --timeframe "MonthToDate" + --storage-container="exports" + --storage-account-id="/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182" + --storage-directory="ad-hoc" + --recurrence "Weekly" + --recurrence-period from="2018-06-01T00:00:00Z" to="2018-10-31T00:00:00Z" + --schedule-status "Active" + --scope "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG" + - name: Create an export for Subscription scope + text: > + az costmanagement export create + --name "TestExport" + --type "Usage" + --dataset-configuration columns="Date" columns="MeterId" columns="InstanceId" columns="ResourceLocation" columns="PreTaxCost" + --dataset-grouping name="SubscriptionName" type="Dimension" + --dataset-grouping name="Environment" type="Tag" + --timeframe "MonthToDate" + --storage-container="exports" + --storage-account-id="/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182" + --storage-directory="ad-hoc" + --recurrence "Weekly" + --recurrence-period from="2018-06-01T00:00:00Z" to="2018-10-31T00:00:00Z" + --schedule-status "Active" + --scope "subscriptions/00000000-0000-0000-0000-000000000000" +""" + +helps['costmanagement export update'] = """ + type: command + short-summary: The operation to update an export. + examples: + - name: Update an export in a ManagementGroup scope + text: > + az costmanagement export update + --name "TestExport" + --dataset-configuration columns="Date" columns="MeterId" columns="InstanceId" columns="ResourceLocation" columns="PreTaxCost" + --dataset-grouping name="SubscriptionName" type="Dimension" + --dataset-grouping name="Environment" type="Tag" + --timeframe "MonthToDate" + --storage-container="exports" + --storage-account-id="/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182" + --storage-directory="ad-hoc" + --recurrence "Weekly" + --recurrence-period from="2018-06-01T00:00:00Z" to="2018-10-31T00:00:00Z" + --schedule-status "Active" + --scope "providers/Microsoft.Management/managementGroups/TestMG" + - name: Update an export in a ResourceGroup scope + text: > + az costmanagement export update + --name "TestExport" + --dataset-configuration columns="Date" columns="MeterId" columns="InstanceId" columns="ResourceLocation" columns="PreTaxCost" + --dataset-grouping name="SubscriptionName" type="Dimension" + --dataset-grouping name="Environment" type="Tag" + --timeframe "MonthToDate" + --storage-container="exports" + --storage-account-id="/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182" + --storage-directory="ad-hoc" + --recurrence "Weekly" + --recurrence-period from="2018-06-01T00:00:00Z" to="2018-10-31T00:00:00Z" + --schedule-status "Active" + --scope "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG" + - name: Update an export in a Subscription scope + text: > + az costmanagement export update + --name "TestExport" + --dataset-configuration columns="Date" columns="MeterId" columns="InstanceId" columns="ResourceLocation" columns="PreTaxCost" + --dataset-grouping name="SubscriptionName" type="Dimension" + --dataset-grouping name="Environment" type="Tag" + --timeframe "MonthToDate" + --storage-container="exports" + --storage-account-id="/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182" + --storage-directory="ad-hoc" + --recurrence "Weekly" + --recurrence-period from="2018-06-01T00:00:00Z" to="2018-10-31T00:00:00Z" + --schedule-status "Active" + --scope "subscriptions/00000000-0000-0000-0000-000000000000" +""" + +helps['costmanagement export delete'] = """ + type: command + short-summary: The operation to delete an export. + examples: + - name: delete an export for a ManagementGroup scope + text: |- + az costmanagement export delete --name "TestExport" --scope "providers/Microsoft.Management/manag\ +ementGroups/TestMG" + - name: delete an export for ResourceGroup scope + text: |- + az costmanagement export delete --name "TestExport" --scope "subscriptions/00000000-0000-0000-000\ +0-000000000000/resourceGroups/MYDEVTESTRG" + - name: delete an export for Subscription scope + text: |- + az costmanagement export delete --name "TestExport" --scope "subscriptions/00000000-0000-0000-000\ +0-000000000000" +""" diff --git a/src/costmanagement/azext_costmanagement/manual/_params.py b/src/costmanagement/azext_costmanagement/manual/_params.py new file mode 100644 index 00000000000..a1f73db42c9 --- /dev/null +++ b/src/costmanagement/azext_costmanagement/manual/_params.py @@ -0,0 +1,138 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +from knack.arguments import CLIArgumentType +from azure.cli.core.commands.parameters import ( + get_three_state_flag, + get_enum_type +) +from azext_costmanagement.action import ( + AddTimePeriod, + AddDatasetConfiguration, + AddDatasetGrouping, + AddDeliveryInfoDestination, + AddScheduleRecurrencePeriod +) + + +def load_arguments(self, _): + with self.argument_context('costmanagement query') as c: + c.argument('scope', + help='The scope associated with query and export operations. ' + 'This includes "/subscriptions/{subscriptionId}/" for subscription scope, ' + '"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}" ' + 'for resourceGroup scope, ' + '"/providers/Microsoft.Management/managementGroups/{managementGroupId}" ' + 'for Management Group scope. ') + c.argument('type_', + options_list=['--type'], + arg_type=get_enum_type(['Usage', 'ActualCost', 'AmortizedCost']), + help='The type of the query.') + c.argument('timeframe', + arg_type=get_enum_type(['MonthToDate', 'BillingMonthToDate', 'TheLastMonth', + 'TheLastBillingMonth', 'WeekToDate', 'Custom']), + help='The time frame for pulling data for the query.' + 'If custom, then a specific time period must be provided.') + c.argument('time_period', + action=AddTimePeriod, + nargs='+', + help='Has time period for pulling data for the query. ' + 'Expect value: from=TIMESTAMP1 to=TIMESTAMP2. ' + 'The timestamp format is like 2020-05-01T00:00:00.') + c.argument('dataset_configuration', + action=AddDatasetConfiguration, nargs='+', + help='Has configuration information for the data in the export. ' + 'The configuration will be ignored if aggregation and grouping are provided. ' + 'Expect value: columns=xx.') + c.argument('dataset_aggregation', + arg_type=CLIArgumentType(options_list=['--dataset-aggregation'], + help='Dictionary of aggregation expression to use in the query. ' + 'The key of each item in the dictionary is the alias' + 'for the aggregated column. ' + 'Query can have up to 2 aggregation clauses. ' + 'Expected value: json-string/@json-file.')) + c.argument('dataset_grouping', + action=AddDatasetGrouping, nargs='+', + help='Array of group by expression to use in the query. ' + 'Query can have up to 2 group by clauses.' + 'Expect value: KEY1=VALUE1 KEY2=VALUE2 ... , available KEYs are: type, name.') + c.argument('dataset_filter', + arg_type=CLIArgumentType(options_list=['--dataset-filter'], + help='Has filter expression to use in the query. ' + 'Expected value: json-string/@json-file.')) + + # region: costmanagement export + with self.argument_context('costmanagement export') as c: + c.argument('scope', + help='The scope associated with query and export operations. This includes ' + '\'/subscriptions/{subscriptionId}/\' for subscription scope, ' + '\'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}\' for resourceGroup scope, ' + '\'/providers/Microsoft.Management/managementGroups/{managementGroupId} for Management Group scope.') + c.argument('export_name', help='Export Name.', options_list='--name') + + with self.argument_context('costmanagement export', arg_group='Export Definition') as c: + c.argument('definition_type', + options_list='--type', + arg_type=get_enum_type(['Usage', 'ActualCost', 'AmortizedCost']), + help='The type of the query.') + c.argument('definition_timeframe', + options_list='--timeframe', + arg_type=get_enum_type(['MonthToDate', 'BillingMonthToDate', 'TheLastMonth', + 'TheLastBillingMonth', 'WeekToDate', 'Custom']), + help='The time frame for pulling data for the query. ' + 'If custom, then a specific time period must be provided.') + c.argument('definition_time_period', + action=AddTimePeriod, + options_list='--time-period', + nargs='+', + help='Has time period for pulling data for the query. ' + 'Expect value: from=TIMESTAMP1 to=TIMESTAMP2. ' + 'The timestamp format is like 2020-05-01T00:00:00.' + 'The TIMESTAMP1 must in the future and TIMESTAMP2 must be greater than TIMESTAMP1') + c.argument('definition_dataset_configuration', + action=AddDatasetConfiguration, + options_list='--dataset-configuration', + nargs='+', + help='Has configuration information for the data in the export. ' + 'The configuration will be ignored if aggregation and grouping are provided. ' + 'Expect value: columns=xx.') + c.argument('definition_dataset_grouping', + action=AddDatasetGrouping, + options_list='--dataset-grouping', + nargs='+', + help='Array of group by expression to use in the query. ' + 'Query can have up to 2 group by clauses. ' + 'Expect value: KEY1=VALUE1 KEY2=VALUE2 ... , available KEYs are: type, name.') + + with self.argument_context('costmanagement export', arg_group='Delivery Destination Info') as c: + c.argument('delivery_storage_account_id', + options_list='--storage-account-id', + help='The ID of the storage account to store exports') + c.argument('delivery_storage_container', + options_list='--storage-container', + help='The storage container to deliver exports') + c.argument('delivery_directory', + options_list='--storage-directory', + help='The root directory in the storage container to store exports') + + with self.argument_context('costmanagement export', arg_group='Schedule Info') as c: + c.argument('schedule_status', + arg_type=get_enum_type(['Active', 'Inactive']), + help='The status of the schedule.Whether active or not. ' + 'If inactive, the export\'s scheduled execution is paused.') + c.argument('schedule_recurrence', + options_list='--recurrence', + arg_type=get_enum_type(['Daily', 'Weekly', 'Monthly', 'Annually']), + help='The schedule recurrence.') + c.argument('schedule_recurrence_period', + options_list='--recurrence-period', + action=AddScheduleRecurrencePeriod, + nargs='+', + help='Has start and end date of the recurrence. ' + 'The start date must be in future. ' + 'If present, the end date must be greater than start date. ' + 'Expect value: KEY1=VALUE1 KEY2=VALUE2 ... , ' + 'available KEYs are: from, to. The time format is like 2020-05-01T00:00:00.') + # region end: costmanagement export diff --git a/src/costmanagement/azext_costmanagement/manual/commands.py b/src/costmanagement/azext_costmanagement/manual/commands.py new file mode 100644 index 00000000000..67ac4919945 --- /dev/null +++ b/src/costmanagement/azext_costmanagement/manual/commands.py @@ -0,0 +1,31 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +from azure.cli.core.commands import CliCommandType + + +def load_command_table(self, _): + + from azext_costmanagement.generated._client_factory import cf_query + costmanagement_query = CliCommandType( + operations_tmpl='azext_costmanagement.vendored_sdks.costmanagement.operations.' + '_query_operations#QueryOperations.{}', + client_factory=cf_query) + with self.command_group('costmanagement', costmanagement_query, + client_factory=cf_query, is_experimental=True) as g: + g.custom_command('query', 'costmanagement_query') + + from azext_costmanagement.generated._client_factory import cf_export + costmanagement_export = CliCommandType( + operations_tmpl='azext_costmanagement.vendored_sdks.costmanagement.operations._export_operations#ExportOperatio' + 'ns.{}', + client_factory=cf_export) + with self.command_group('costmanagement export', costmanagement_export, client_factory=cf_export, + is_experimental=True) as g: + g.custom_command('list', 'costmanagement_export_list') + g.custom_show_command('show', 'costmanagement_export_show') + g.custom_command('create', 'costmanagement_export_create') + g.custom_command('update', 'costmanagement_export_update') + g.custom_command('delete', 'costmanagement_export_delete', confirmation=True) diff --git a/src/costmanagement/azext_costmanagement/manual/custom.py b/src/costmanagement/azext_costmanagement/manual/custom.py new file mode 100644 index 00000000000..8cd4839798e --- /dev/null +++ b/src/costmanagement/azext_costmanagement/manual/custom.py @@ -0,0 +1,137 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +import json + + +def costmanagement_query(cmd, + client, + scope, + type_, + timeframe, + time_period=None, + dataset_configuration=None, + dataset_aggregation=None, + dataset_grouping=None, + dataset_filter=None): + from azext_costmanagement.generated.custom import costmanagement_query_usage + + # for now, query is for Azure cloud only, not for external cloud + return costmanagement_query_usage(cmd, + client, + scope, + type_, + timeframe, + time_period, + dataset_configuration, + dataset_aggregation, + dataset_grouping, + dataset_filter) + + +def costmanagement_export_create(cmd, + client, + scope, + export_name, + delivery_storage_container, + delivery_storage_account_id, + definition_timeframe, + delivery_directory=None, + definition_type=None, + definition_time_period=None, + definition_dataset_configuration=None, + definition_dataset_grouping=None, + schedule_status=None, + schedule_recurrence=None, + schedule_recurrence_period=None): + + delivery_info_destination = { + 'resource_id': delivery_storage_account_id, + 'container': delivery_storage_container, + 'root_folder_path': delivery_directory, + } + + return client.create_or_update(scope=scope, + export_name=export_name, + type=definition_type, + timeframe=definition_timeframe, + time_period=definition_time_period, + configuration=definition_dataset_configuration, + grouping=definition_dataset_grouping, + destination=delivery_info_destination, + status=schedule_status, + recurrence=schedule_recurrence, + recurrence_period=schedule_recurrence_period) + + +def costmanagement_export_update(cmd, + client, + scope, + export_name, + delivery_storage_container=None, + delivery_storage_account_id=None, + delivery_directory=None, + definition_timeframe=None, + definition_time_period=None, + definition_dataset_configuration=None, + definition_dataset_grouping=None, + schedule_status=None, + schedule_recurrence=None, + schedule_recurrence_period=None): + + export_instance = client.get(scope=scope, export_name=export_name) + + delivery_info_destination = { + 'resource_id': delivery_storage_account_id or export_instance.destination.resource_id, + 'container': delivery_storage_container or export_instance.destination.container, + 'root_folder_path': delivery_directory or export_instance.destination.root_folder_path, + } + + with cmd.update_context(export_instance) as c: + # update export schedule configuration + c.set_param('status', schedule_status) + c.set_param('recurrence', schedule_recurrence) + c.set_param('recurrence_period', schedule_recurrence_period) + + # update delivery info + c.set_param('destination', delivery_info_destination) + + # update export definition + c.set_param('timeframe', definition_timeframe) + c.set_param('time_period', definition_time_period) + c.set_param('configuration', definition_dataset_configuration) + c.set_param('grouping', definition_dataset_grouping) + + return client.create_or_update(scope=scope, + export_name=export_name, + type=export_instance.type_properties_definition_type, + timeframe=export_instance.timeframe, + time_period=export_instance.time_period, + configuration=export_instance.configuration, + aggregation=export_instance.aggregation, + grouping=export_instance.grouping, + filter=export_instance.filter, + destination=export_instance.destination, + status=export_instance.status, + recurrence=export_instance.recurrence, + recurrence_period=export_instance.recurrence_period, + e_tag=export_instance.e_tag) + + +def costmanagement_export_list(cmd, client, scope): + return client.list(scope=scope).value # value exist even the result is empty + + +def costmanagement_export_show(cmd, client, + scope, + export_name): + return client.get(scope=scope, export_name=export_name) + + +def costmanagement_export_delete(cmd, client, + scope, + export_name): + return client.delete(scope=scope, + export_name=export_name) diff --git a/src/costmanagement/azext_costmanagement/tests/__init__.py b/src/costmanagement/azext_costmanagement/tests/__init__.py new file mode 100644 index 00000000000..fe1bd438b46 --- /dev/null +++ b/src/costmanagement/azext_costmanagement/tests/__init__.py @@ -0,0 +1,49 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +import inspect +import os + + +__path__ = __import__('pkgutil').extend_path(__path__, __name__) + + +def try_manual(func): + def import_manual_function(origin_func): + from importlib import import_module + decorated_path = inspect.getfile(origin_func) + module_path = __path__[0] + if not decorated_path.startswith(module_path): + raise Exception("Decorator can only be used in submodules!") + manual_path = os.path.join( + decorated_path[module_path.rfind(os.path.sep) + 1:]) + manual_file_path, manual_file_name = os.path.split(manual_path) + module_name, _ = os.path.splitext(manual_file_name) + manual_module = "..manual." + \ + ".".join(manual_file_path.split(os.path.sep) + [module_name, ]) + return getattr(import_module(manual_module, package=__name__), origin_func.__name__) + + def get_func_to_call(): + func_to_call = func + try: + func_to_call = import_manual_function(func) + except (ImportError, AttributeError): + pass + return func_to_call + + def wrapper(*args, **kwargs): + func_to_call = get_func_to_call() + print("running {}()...".format(func.__name__)) + return func_to_call(*args, **kwargs) + + if inspect.isclass(func): + return get_func_to_call() + else: + return wrapper diff --git a/src/costmanagement/azext_costmanagement/tests/latest/__init__.py b/src/costmanagement/azext_costmanagement/tests/latest/__init__.py new file mode 100644 index 00000000000..ee0c4f36bd0 --- /dev/null +++ b/src/costmanagement/azext_costmanagement/tests/latest/__init__.py @@ -0,0 +1,12 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +__path__ = __import__('pkgutil').extend_path(__path__, __name__) diff --git a/src/costmanagement/azext_costmanagement/tests/latest/preparers.py b/src/costmanagement/azext_costmanagement/tests/latest/preparers.py new file mode 100644 index 00000000000..3d6672de64f --- /dev/null +++ b/src/costmanagement/azext_costmanagement/tests/latest/preparers.py @@ -0,0 +1,116 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import os +from datetime import datetime +from azure.cli.testsdk.preparers import NoTrafficRecordingPreparer +from azure_devtools.scenario_tests import SingleValueReplacer +from azure.cli.testsdk.exceptions import CliTestError +from azure.cli.testsdk.reverse_dependency import get_dummy_cli + + +KEY_RESOURCE_GROUP = 'rg' +KEY_VIRTUAL_NETWORK = 'vnet' +KEY_VNET_SUBNET = 'subnet' + + +class VirtualNetworkPreparer(NoTrafficRecordingPreparer, SingleValueReplacer): + def __init__(self, name_prefix='clitest.vn', + parameter_name='virtual_network', + resource_group_name=None, + resource_group_key=KEY_RESOURCE_GROUP, + dev_setting_name='AZURE_CLI_TEST_DEV_VIRTUAL_NETWORK_NAME', + random_name_length=24, key=KEY_VIRTUAL_NETWORK): + if ' ' in name_prefix: + raise CliTestError( + 'Error: Space character in name prefix \'%s\'' % name_prefix) + super(VirtualNetworkPreparer, self).__init__( + name_prefix, random_name_length) + self.cli_ctx = get_dummy_cli() + self.parameter_name = parameter_name + self.key = key + self.resource_group_name = resource_group_name + self.resource_group_key = resource_group_key + self.dev_setting_name = os.environ.get(dev_setting_name, None) + + def create_resource(self, name, **kwargs): + if self.dev_setting_name: + return {self.parameter_name: self.dev_setting_name, } + + if not self.resource_group_name: + self.resource_group_name = self.test_class_instance.kwargs.get( + self.resource_group_key) + if not self.resource_group_name: + raise CliTestError("Error: No resource group configured!") + + tags = {'product': 'azurecli', 'cause': 'automation', + 'date': datetime.utcnow().strftime('%Y-%m-%dT%H:%M:%SZ')} + if 'ENV_JOB_NAME' in os.environ: + tags['job'] = os.environ['ENV_JOB_NAME'] + tags = ' '.join(['{}={}'.format(key, value) + for key, value in tags.items()]) + template = 'az network vnet create --resource-group {} --name {} --tag ' + tags + self.live_only_execute(self.cli_ctx, template.format( + self.resource_group_name, name)) + + self.test_class_instance.kwargs[self.key] = name + return {self.parameter_name: name} + + def remove_resource(self, name, **kwargs): + # delete vnet if test is being recorded and if the vnet is not a dev rg + if not self.dev_setting_name: + self.live_only_execute( + self.cli_ctx, 'az network vnet delete --name {} --resource-group {}'.format(name, self.resource_group_name)) + + +class VnetSubnetPreparer(NoTrafficRecordingPreparer, SingleValueReplacer): + def __init__(self, name_prefix='clitest.vn', + parameter_name='subnet', + resource_group_name=None, + resource_group_key=KEY_RESOURCE_GROUP, + vnet_name=None, + vnet_key=KEY_VIRTUAL_NETWORK, + address_prefixes="11.0.0.0/24", + dev_setting_name='AZURE_CLI_TEST_DEV_VNET_SUBNET_NAME', + random_name_length=24, key=KEY_VNET_SUBNET): + if ' ' in name_prefix: + raise CliTestError( + 'Error: Space character in name prefix \'%s\'' % name_prefix) + super(VnetSubnetPreparer, self).__init__( + name_prefix, random_name_length) + self.cli_ctx = get_dummy_cli() + self.parameter_name = parameter_name + self.key = key + self.resource_group_name = resource_group_name + self.resource_group_key = resource_group_key + self.vnet_name = vnet_name + self.vnet_key = vnet_key + self.address_prefixes = address_prefixes + self.dev_setting_name = os.environ.get(dev_setting_name, None) + + def create_resource(self, name, **kwargs): + if self.dev_setting_name: + return {self.parameter_name: self.dev_setting_name, } + + if not self.resource_group_name: + self.resource_group_name = self.test_class_instance.kwargs.get( + self.resource_group_key) + if not self.resource_group_name: + raise CliTestError("Error: No resource group configured!") + if not self.vnet_name: + self.vnet_name = self.test_class_instance.kwargs.get(self.vnet_key) + if not self.vnet_name: + raise CliTestError("Error: No vnet configured!") + + self.test_class_instance.kwargs[self.key] = 'default' + return {self.parameter_name: name} + + def remove_resource(self, name, **kwargs): + pass diff --git a/src/costmanagement/azext_costmanagement/tests/latest/recordings/test_cm_query_in_subscription_scope.yaml b/src/costmanagement/azext_costmanagement/tests/latest/recordings/test_cm_query_in_subscription_scope.yaml new file mode 100644 index 00000000000..ccf905be419 --- /dev/null +++ b/src/costmanagement/azext_costmanagement/tests/latest/recordings/test_cm_query_in_subscription_scope.yaml @@ -0,0 +1,917 @@ +interactions: +- request: + body: '{"type": "ActualCost", "timeframe": "BillingMonthToDate", "dataset": {"granularity": + "Daily"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - costmanagement query + Connection: + - keep-alive + Content-Length: + - '94' + Content-Type: + - application/json + ParameterSetName: + - --type --timeframe --scope + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-costmanagement/1.2.0 Python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/query?api-version=2019-11-01 + response: + body: + string: '{"id":"subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/providers/Microsoft.CostManagement/query/f2f83e84-0030-482d-b03c-5e7d05bc4cb2","name":"f2f83e84-0030-482d-b03c-5e7d05bc4cb2","type":"Microsoft.CostManagement/query","location":null,"sku":null,"eTag":null,"properties":{"nextLink":null,"columns":[{"name":"UsageDate","type":"Number"},{"name":"Currency","type":"String"}],"rows":[[20200501,"USD"],[20200502,"USD"],[20200503,"USD"],[20200504,"USD"],[20200505,"USD"],[20200506,"USD"],[20200507,"USD"],[20200508,"USD"],[20200509,"USD"],[20200510,"USD"],[20200511,"USD"],[20200512,"USD"],[20200513,"USD"],[20200514,"USD"],[20200515,"USD"],[20200516,"USD"],[20200517,"USD"],[20200518,"USD"],[20200519,"USD"],[20200520,"USD"],[20200521,"USD"],[20200522,"USD"],[20200523,"USD"]]}}' + headers: + access-control-allow-origin: + - '*' + cache-control: + - no-cache + content-length: + - '778' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 23 May 2020 05:39:30 GMT + expires: + - '-1' + pragma: + - no-cache + session-id: + - 7dc397f6-eb86-4f22-9fe0-28af95f06abd + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-microsoft.costmanagement-entity-retry-after: + - '60' + x-ms-ratelimit-microsoft.costmanagement-tenant-retry-after: + - '60' + x-ms-ratelimit-remaining-microsoft.costmanagement-entity-requests: + - '29' + x-ms-ratelimit-remaining-microsoft.costmanagement-tenant-requests: + - '199' + status: + code: 200 + message: OK +- request: + body: '{"type": "ActualCost", "timeframe": "MonthToDate", "dataset": {"granularity": + "Daily"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - costmanagement query + Connection: + - keep-alive + Content-Length: + - '87' + Content-Type: + - application/json + ParameterSetName: + - --type --timeframe --scope + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-costmanagement/1.2.0 Python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/query?api-version=2019-11-01 + response: + body: + string: '{"id":"subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/providers/Microsoft.CostManagement/query/ffa52968-a782-43f0-a1e0-cd01fef363aa","name":"ffa52968-a782-43f0-a1e0-cd01fef363aa","type":"Microsoft.CostManagement/query","location":null,"sku":null,"eTag":null,"properties":{"nextLink":null,"columns":[{"name":"UsageDate","type":"Number"},{"name":"Currency","type":"String"}],"rows":[[20200501,"USD"],[20200502,"USD"],[20200503,"USD"],[20200504,"USD"],[20200505,"USD"],[20200506,"USD"],[20200507,"USD"],[20200508,"USD"],[20200509,"USD"],[20200510,"USD"],[20200511,"USD"],[20200512,"USD"],[20200513,"USD"],[20200514,"USD"],[20200515,"USD"],[20200516,"USD"],[20200517,"USD"],[20200518,"USD"],[20200519,"USD"],[20200520,"USD"],[20200521,"USD"],[20200522,"USD"],[20200523,"USD"]]}}' + headers: + access-control-allow-origin: + - '*' + cache-control: + - no-cache + content-length: + - '778' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 23 May 2020 05:39:34 GMT + expires: + - '-1' + pragma: + - no-cache + session-id: + - e68eb5b7-9eeb-4509-870f-8ee38e1af92f + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-microsoft.costmanagement-entity-retry-after: + - '60' + x-ms-ratelimit-microsoft.costmanagement-tenant-retry-after: + - '60' + x-ms-ratelimit-remaining-microsoft.costmanagement-entity-requests: + - '29' + x-ms-ratelimit-remaining-microsoft.costmanagement-tenant-requests: + - '199' + status: + code: 200 + message: OK +- request: + body: '{"type": "ActualCost", "timeframe": "TheLastBillingMonth", "dataset": {"granularity": + "Daily"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - costmanagement query + Connection: + - keep-alive + Content-Length: + - '95' + Content-Type: + - application/json + ParameterSetName: + - --type --timeframe --scope + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-costmanagement/1.2.0 Python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/query?api-version=2019-11-01 + response: + body: + string: '{"id":"subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/providers/Microsoft.CostManagement/query/bd33b066-1fdc-4374-b06f-9fff04d7ebe3","name":"bd33b066-1fdc-4374-b06f-9fff04d7ebe3","type":"Microsoft.CostManagement/query","location":null,"sku":null,"eTag":null,"properties":{"nextLink":null,"columns":[{"name":"UsageDate","type":"Number"},{"name":"Currency","type":"String"}],"rows":[[20200401,"USD"],[20200402,"USD"],[20200403,"USD"],[20200404,"USD"],[20200405,"USD"],[20200406,"USD"],[20200407,"USD"],[20200408,"USD"],[20200409,"USD"],[20200410,"USD"],[20200411,"USD"],[20200412,"USD"],[20200413,"USD"],[20200414,"USD"],[20200415,"USD"],[20200416,"USD"],[20200417,"USD"],[20200418,"USD"],[20200419,"USD"],[20200420,"USD"],[20200421,"USD"],[20200422,"USD"],[20200423,"USD"],[20200424,"USD"],[20200425,"USD"],[20200426,"USD"],[20200427,"USD"],[20200428,"USD"],[20200429,"USD"],[20200430,"USD"]]}}' + headers: + access-control-allow-origin: + - '*' + cache-control: + - no-cache + content-length: + - '897' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 23 May 2020 05:39:37 GMT + expires: + - '-1' + pragma: + - no-cache + session-id: + - 9b9ebd49-a217-4137-968a-5fc4af4af96f + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-microsoft.costmanagement-entity-retry-after: + - '60' + x-ms-ratelimit-microsoft.costmanagement-tenant-retry-after: + - '60' + x-ms-ratelimit-remaining-microsoft.costmanagement-entity-requests: + - '29' + x-ms-ratelimit-remaining-microsoft.costmanagement-tenant-requests: + - '199' + status: + code: 200 + message: OK +- request: + body: '{"type": "ActualCost", "timeframe": "TheLastMonth", "dataset": {"granularity": + "Daily"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - costmanagement query + Connection: + - keep-alive + Content-Length: + - '88' + Content-Type: + - application/json + ParameterSetName: + - --type --timeframe --scope + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-costmanagement/1.2.0 Python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/query?api-version=2019-11-01 + response: + body: + string: '{"id":"subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/providers/Microsoft.CostManagement/query/1bd9241c-07c4-4231-8f26-6b6a7c8f7e17","name":"1bd9241c-07c4-4231-8f26-6b6a7c8f7e17","type":"Microsoft.CostManagement/query","location":null,"sku":null,"eTag":null,"properties":{"nextLink":null,"columns":[{"name":"UsageDate","type":"Number"},{"name":"Currency","type":"String"}],"rows":[[20200401,"USD"],[20200402,"USD"],[20200403,"USD"],[20200404,"USD"],[20200405,"USD"],[20200406,"USD"],[20200407,"USD"],[20200408,"USD"],[20200409,"USD"],[20200410,"USD"],[20200411,"USD"],[20200412,"USD"],[20200413,"USD"],[20200414,"USD"],[20200415,"USD"],[20200416,"USD"],[20200417,"USD"],[20200418,"USD"],[20200419,"USD"],[20200420,"USD"],[20200421,"USD"],[20200422,"USD"],[20200423,"USD"],[20200424,"USD"],[20200425,"USD"],[20200426,"USD"],[20200427,"USD"],[20200428,"USD"],[20200429,"USD"],[20200430,"USD"]]}}' + headers: + access-control-allow-origin: + - '*' + cache-control: + - no-cache + content-length: + - '897' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 23 May 2020 05:39:39 GMT + expires: + - '-1' + pragma: + - no-cache + session-id: + - dd081615-59b1-493a-92fe-1f307d3dcaa7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-microsoft.costmanagement-entity-retry-after: + - '60' + x-ms-ratelimit-microsoft.costmanagement-tenant-retry-after: + - '60' + x-ms-ratelimit-remaining-microsoft.costmanagement-entity-requests: + - '28' + x-ms-ratelimit-remaining-microsoft.costmanagement-tenant-requests: + - '198' + status: + code: 200 + message: OK +- request: + body: '{"type": "ActualCost", "timeframe": "WeekToDate", "dataset": {"granularity": + "Daily"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - costmanagement query + Connection: + - keep-alive + Content-Length: + - '86' + Content-Type: + - application/json + ParameterSetName: + - --type --timeframe --scope + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-costmanagement/1.2.0 Python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/query?api-version=2019-11-01 + response: + body: + string: '{"id":"subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/providers/Microsoft.CostManagement/query/f85d230d-d9f3-4bd5-8823-c16cadc700c3","name":"f85d230d-d9f3-4bd5-8823-c16cadc700c3","type":"Microsoft.CostManagement/query","location":null,"sku":null,"eTag":null,"properties":{"nextLink":null,"columns":[{"name":"UsageDate","type":"Number"},{"name":"Currency","type":"String"}],"rows":[[20200517,"USD"],[20200518,"USD"],[20200519,"USD"],[20200520,"USD"],[20200521,"USD"],[20200522,"USD"],[20200523,"USD"]]}}' + headers: + access-control-allow-origin: + - '*' + cache-control: + - no-cache + content-length: + - '506' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 23 May 2020 05:39:43 GMT + expires: + - '-1' + pragma: + - no-cache + session-id: + - e446c36e-0704-4bd4-bbcd-78e94912b838 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-microsoft.costmanagement-entity-retry-after: + - '60' + x-ms-ratelimit-microsoft.costmanagement-tenant-retry-after: + - '60' + x-ms-ratelimit-remaining-microsoft.costmanagement-entity-requests: + - '28' + x-ms-ratelimit-remaining-microsoft.costmanagement-tenant-requests: + - '198' + status: + code: 200 + message: OK +- request: + body: '{"type": "AmortizedCost", "timeframe": "BillingMonthToDate", "dataset": + {"granularity": "Daily"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - costmanagement query + Connection: + - keep-alive + Content-Length: + - '97' + Content-Type: + - application/json + ParameterSetName: + - --type --timeframe --scope + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-costmanagement/1.2.0 Python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/query?api-version=2019-11-01 + response: + body: + string: '{"id":"subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/providers/Microsoft.CostManagement/query/d34ced7b-1c13-4576-a40a-425d008354fc","name":"d34ced7b-1c13-4576-a40a-425d008354fc","type":"Microsoft.CostManagement/query","location":null,"sku":null,"eTag":null,"properties":{"nextLink":null,"columns":[{"name":"UsageDate","type":"Number"},{"name":"Currency","type":"String"}],"rows":[[20200501,"USD"],[20200502,"USD"],[20200503,"USD"],[20200504,"USD"],[20200505,"USD"],[20200506,"USD"],[20200507,"USD"],[20200508,"USD"],[20200509,"USD"],[20200510,"USD"],[20200511,"USD"],[20200512,"USD"],[20200513,"USD"],[20200514,"USD"],[20200515,"USD"],[20200516,"USD"],[20200517,"USD"],[20200518,"USD"],[20200519,"USD"],[20200520,"USD"],[20200521,"USD"],[20200522,"USD"],[20200523,"USD"]]}}' + headers: + access-control-allow-origin: + - '*' + cache-control: + - no-cache + content-length: + - '778' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 23 May 2020 05:39:45 GMT + expires: + - '-1' + pragma: + - no-cache + session-id: + - 631b36ce-cdd3-4848-8e48-fd9e9ddd4ad3 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-microsoft.costmanagement-entity-retry-after: + - '60' + x-ms-ratelimit-microsoft.costmanagement-tenant-retry-after: + - '60' + x-ms-ratelimit-remaining-microsoft.costmanagement-entity-requests: + - '28' + x-ms-ratelimit-remaining-microsoft.costmanagement-tenant-requests: + - '198' + status: + code: 200 + message: OK +- request: + body: '{"type": "AmortizedCost", "timeframe": "MonthToDate", "dataset": {"granularity": + "Daily"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - costmanagement query + Connection: + - keep-alive + Content-Length: + - '90' + Content-Type: + - application/json + ParameterSetName: + - --type --timeframe --scope + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-costmanagement/1.2.0 Python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/query?api-version=2019-11-01 + response: + body: + string: '{"id":"subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/providers/Microsoft.CostManagement/query/c65a5149-244e-46fa-936a-03dea70cd92c","name":"c65a5149-244e-46fa-936a-03dea70cd92c","type":"Microsoft.CostManagement/query","location":null,"sku":null,"eTag":null,"properties":{"nextLink":null,"columns":[{"name":"UsageDate","type":"Number"},{"name":"Currency","type":"String"}],"rows":[[20200501,"USD"],[20200502,"USD"],[20200503,"USD"],[20200504,"USD"],[20200505,"USD"],[20200506,"USD"],[20200507,"USD"],[20200508,"USD"],[20200509,"USD"],[20200510,"USD"],[20200511,"USD"],[20200512,"USD"],[20200513,"USD"],[20200514,"USD"],[20200515,"USD"],[20200516,"USD"],[20200517,"USD"],[20200518,"USD"],[20200519,"USD"],[20200520,"USD"],[20200521,"USD"],[20200522,"USD"],[20200523,"USD"]]}}' + headers: + access-control-allow-origin: + - '*' + cache-control: + - no-cache + content-length: + - '778' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 23 May 2020 05:39:47 GMT + expires: + - '-1' + pragma: + - no-cache + session-id: + - e33e8170-61ae-4495-8dcd-6287fb8fe751 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-microsoft.costmanagement-entity-retry-after: + - '60' + x-ms-ratelimit-microsoft.costmanagement-tenant-retry-after: + - '60' + x-ms-ratelimit-remaining-microsoft.costmanagement-entity-requests: + - '27' + x-ms-ratelimit-remaining-microsoft.costmanagement-tenant-requests: + - '197' + status: + code: 200 + message: OK +- request: + body: '{"type": "AmortizedCost", "timeframe": "TheLastBillingMonth", "dataset": + {"granularity": "Daily"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - costmanagement query + Connection: + - keep-alive + Content-Length: + - '98' + Content-Type: + - application/json + ParameterSetName: + - --type --timeframe --scope + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-costmanagement/1.2.0 Python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/query?api-version=2019-11-01 + response: + body: + string: '{"id":"subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/providers/Microsoft.CostManagement/query/59599c13-8311-4c4d-941e-6cf74c129a4b","name":"59599c13-8311-4c4d-941e-6cf74c129a4b","type":"Microsoft.CostManagement/query","location":null,"sku":null,"eTag":null,"properties":{"nextLink":null,"columns":[{"name":"UsageDate","type":"Number"},{"name":"Currency","type":"String"}],"rows":[[20200401,"USD"],[20200402,"USD"],[20200403,"USD"],[20200404,"USD"],[20200405,"USD"],[20200406,"USD"],[20200407,"USD"],[20200408,"USD"],[20200409,"USD"],[20200410,"USD"],[20200411,"USD"],[20200412,"USD"],[20200413,"USD"],[20200414,"USD"],[20200415,"USD"],[20200416,"USD"],[20200417,"USD"],[20200418,"USD"],[20200419,"USD"],[20200420,"USD"],[20200421,"USD"],[20200422,"USD"],[20200423,"USD"],[20200424,"USD"],[20200425,"USD"],[20200426,"USD"],[20200427,"USD"],[20200428,"USD"],[20200429,"USD"],[20200430,"USD"]]}}' + headers: + access-control-allow-origin: + - '*' + cache-control: + - no-cache + content-length: + - '897' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 23 May 2020 05:39:49 GMT + expires: + - '-1' + pragma: + - no-cache + session-id: + - 4cdaae3e-c0d4-483d-ae2d-ad582ce29b9c + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-microsoft.costmanagement-entity-retry-after: + - '60' + x-ms-ratelimit-microsoft.costmanagement-tenant-retry-after: + - '60' + x-ms-ratelimit-remaining-microsoft.costmanagement-entity-requests: + - '26' + x-ms-ratelimit-remaining-microsoft.costmanagement-tenant-requests: + - '196' + status: + code: 200 + message: OK +- request: + body: '{"type": "AmortizedCost", "timeframe": "TheLastMonth", "dataset": {"granularity": + "Daily"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - costmanagement query + Connection: + - keep-alive + Content-Length: + - '91' + Content-Type: + - application/json + ParameterSetName: + - --type --timeframe --scope + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-costmanagement/1.2.0 Python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/query?api-version=2019-11-01 + response: + body: + string: '{"id":"subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/providers/Microsoft.CostManagement/query/a9bb3ab9-fae3-4498-8c4a-e4374e2237db","name":"a9bb3ab9-fae3-4498-8c4a-e4374e2237db","type":"Microsoft.CostManagement/query","location":null,"sku":null,"eTag":null,"properties":{"nextLink":null,"columns":[{"name":"UsageDate","type":"Number"},{"name":"Currency","type":"String"}],"rows":[[20200401,"USD"],[20200402,"USD"],[20200403,"USD"],[20200404,"USD"],[20200405,"USD"],[20200406,"USD"],[20200407,"USD"],[20200408,"USD"],[20200409,"USD"],[20200410,"USD"],[20200411,"USD"],[20200412,"USD"],[20200413,"USD"],[20200414,"USD"],[20200415,"USD"],[20200416,"USD"],[20200417,"USD"],[20200418,"USD"],[20200419,"USD"],[20200420,"USD"],[20200421,"USD"],[20200422,"USD"],[20200423,"USD"],[20200424,"USD"],[20200425,"USD"],[20200426,"USD"],[20200427,"USD"],[20200428,"USD"],[20200429,"USD"],[20200430,"USD"]]}}' + headers: + access-control-allow-origin: + - '*' + cache-control: + - no-cache + content-length: + - '897' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 23 May 2020 05:39:53 GMT + expires: + - '-1' + pragma: + - no-cache + session-id: + - 4a6640c2-c6db-4dd2-bfd5-64d013eb84f9 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-microsoft.costmanagement-entity-retry-after: + - '60' + x-ms-ratelimit-microsoft.costmanagement-tenant-retry-after: + - '60' + x-ms-ratelimit-remaining-microsoft.costmanagement-entity-requests: + - '29' + x-ms-ratelimit-remaining-microsoft.costmanagement-tenant-requests: + - '199' + status: + code: 200 + message: OK +- request: + body: '{"type": "AmortizedCost", "timeframe": "WeekToDate", "dataset": {"granularity": + "Daily"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - costmanagement query + Connection: + - keep-alive + Content-Length: + - '89' + Content-Type: + - application/json + ParameterSetName: + - --type --timeframe --scope + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-costmanagement/1.2.0 Python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/query?api-version=2019-11-01 + response: + body: + string: '{"id":"subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/providers/Microsoft.CostManagement/query/970b5077-b60b-4dfd-9e2f-ea5a5db0397e","name":"970b5077-b60b-4dfd-9e2f-ea5a5db0397e","type":"Microsoft.CostManagement/query","location":null,"sku":null,"eTag":null,"properties":{"nextLink":null,"columns":[{"name":"UsageDate","type":"Number"},{"name":"Currency","type":"String"}],"rows":[[20200517,"USD"],[20200518,"USD"],[20200519,"USD"],[20200520,"USD"],[20200521,"USD"],[20200522,"USD"],[20200523,"USD"]]}}' + headers: + access-control-allow-origin: + - '*' + cache-control: + - no-cache + content-length: + - '506' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 23 May 2020 05:39:55 GMT + expires: + - '-1' + pragma: + - no-cache + session-id: + - 4ab6bc88-3174-4ede-8399-9d0465366e2a + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-microsoft.costmanagement-entity-retry-after: + - '60' + x-ms-ratelimit-microsoft.costmanagement-tenant-retry-after: + - '60' + x-ms-ratelimit-remaining-microsoft.costmanagement-entity-requests: + - '27' + x-ms-ratelimit-remaining-microsoft.costmanagement-tenant-requests: + - '197' + status: + code: 200 + message: OK +- request: + body: '{"type": "Usage", "timeframe": "BillingMonthToDate", "dataset": {"granularity": + "Daily"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - costmanagement query + Connection: + - keep-alive + Content-Length: + - '89' + Content-Type: + - application/json + ParameterSetName: + - --type --timeframe --scope + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-costmanagement/1.2.0 Python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/query?api-version=2019-11-01 + response: + body: + string: '{"id":"subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/providers/Microsoft.CostManagement/query/b1697fdb-b663-45ca-b5cb-56d7482b0c22","name":"b1697fdb-b663-45ca-b5cb-56d7482b0c22","type":"Microsoft.CostManagement/query","location":null,"sku":null,"eTag":null,"properties":{"nextLink":null,"columns":[{"name":"UsageDate","type":"Number"},{"name":"Currency","type":"String"}],"rows":[[20200501,"USD"],[20200502,"USD"],[20200503,"USD"],[20200504,"USD"],[20200505,"USD"],[20200506,"USD"],[20200507,"USD"],[20200508,"USD"],[20200509,"USD"],[20200510,"USD"],[20200511,"USD"],[20200512,"USD"],[20200513,"USD"],[20200514,"USD"],[20200515,"USD"],[20200516,"USD"],[20200517,"USD"],[20200518,"USD"],[20200519,"USD"],[20200520,"USD"],[20200521,"USD"],[20200522,"USD"],[20200523,"USD"]]}}' + headers: + access-control-allow-origin: + - '*' + cache-control: + - no-cache + content-length: + - '778' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 23 May 2020 05:39:58 GMT + expires: + - '-1' + pragma: + - no-cache + session-id: + - 24d65f17-5073-4563-9dd5-0b75bde02d5e + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-microsoft.costmanagement-entity-retry-after: + - '60' + x-ms-ratelimit-microsoft.costmanagement-tenant-retry-after: + - '60' + x-ms-ratelimit-remaining-microsoft.costmanagement-entity-requests: + - '25' + x-ms-ratelimit-remaining-microsoft.costmanagement-tenant-requests: + - '195' + status: + code: 200 + message: OK +- request: + body: '{"type": "Usage", "timeframe": "MonthToDate", "dataset": {"granularity": + "Daily"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - costmanagement query + Connection: + - keep-alive + Content-Length: + - '82' + Content-Type: + - application/json + ParameterSetName: + - --type --timeframe --scope + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-costmanagement/1.2.0 Python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/query?api-version=2019-11-01 + response: + body: + string: '{"id":"subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/providers/Microsoft.CostManagement/query/0a1f9c5b-d1e5-4cba-bf1e-c5e1ebdf99cf","name":"0a1f9c5b-d1e5-4cba-bf1e-c5e1ebdf99cf","type":"Microsoft.CostManagement/query","location":null,"sku":null,"eTag":null,"properties":{"nextLink":null,"columns":[{"name":"UsageDate","type":"Number"},{"name":"Currency","type":"String"}],"rows":[[20200501,"USD"],[20200502,"USD"],[20200503,"USD"],[20200504,"USD"],[20200505,"USD"],[20200506,"USD"],[20200507,"USD"],[20200508,"USD"],[20200509,"USD"],[20200510,"USD"],[20200511,"USD"],[20200512,"USD"],[20200513,"USD"],[20200514,"USD"],[20200515,"USD"],[20200516,"USD"],[20200517,"USD"],[20200518,"USD"],[20200519,"USD"],[20200520,"USD"],[20200521,"USD"],[20200522,"USD"],[20200523,"USD"]]}}' + headers: + access-control-allow-origin: + - '*' + cache-control: + - no-cache + content-length: + - '778' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 23 May 2020 05:40:01 GMT + expires: + - '-1' + pragma: + - no-cache + session-id: + - 22e5e4b6-8c33-4f63-9892-20a6a17f7b35 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-microsoft.costmanagement-entity-retry-after: + - '60' + x-ms-ratelimit-microsoft.costmanagement-tenant-retry-after: + - '60' + x-ms-ratelimit-remaining-microsoft.costmanagement-entity-requests: + - '27' + x-ms-ratelimit-remaining-microsoft.costmanagement-tenant-requests: + - '197' + status: + code: 200 + message: OK +- request: + body: '{"type": "Usage", "timeframe": "TheLastBillingMonth", "dataset": {"granularity": + "Daily"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - costmanagement query + Connection: + - keep-alive + Content-Length: + - '90' + Content-Type: + - application/json + ParameterSetName: + - --type --timeframe --scope + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-costmanagement/1.2.0 Python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/query?api-version=2019-11-01 + response: + body: + string: '{"id":"subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/providers/Microsoft.CostManagement/query/a416d550-7de0-49c9-8020-c1e632cfb4c8","name":"a416d550-7de0-49c9-8020-c1e632cfb4c8","type":"Microsoft.CostManagement/query","location":null,"sku":null,"eTag":null,"properties":{"nextLink":null,"columns":[{"name":"UsageDate","type":"Number"},{"name":"Currency","type":"String"}],"rows":[[20200401,"USD"],[20200402,"USD"],[20200403,"USD"],[20200404,"USD"],[20200405,"USD"],[20200406,"USD"],[20200407,"USD"],[20200408,"USD"],[20200409,"USD"],[20200410,"USD"],[20200411,"USD"],[20200412,"USD"],[20200413,"USD"],[20200414,"USD"],[20200415,"USD"],[20200416,"USD"],[20200417,"USD"],[20200418,"USD"],[20200419,"USD"],[20200420,"USD"],[20200421,"USD"],[20200422,"USD"],[20200423,"USD"],[20200424,"USD"],[20200425,"USD"],[20200426,"USD"],[20200427,"USD"],[20200428,"USD"],[20200429,"USD"],[20200430,"USD"]]}}' + headers: + access-control-allow-origin: + - '*' + cache-control: + - no-cache + content-length: + - '897' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 23 May 2020 05:40:03 GMT + expires: + - '-1' + pragma: + - no-cache + session-id: + - 5b30dcdd-389d-4597-8a5d-cf3825a7fd66 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-microsoft.costmanagement-entity-retry-after: + - '60' + x-ms-ratelimit-microsoft.costmanagement-tenant-retry-after: + - '60' + x-ms-ratelimit-remaining-microsoft.costmanagement-entity-requests: + - '26' + x-ms-ratelimit-remaining-microsoft.costmanagement-tenant-requests: + - '196' + status: + code: 200 + message: OK +- request: + body: '{"type": "Usage", "timeframe": "TheLastMonth", "dataset": {"granularity": + "Daily"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - costmanagement query + Connection: + - keep-alive + Content-Length: + - '83' + Content-Type: + - application/json + ParameterSetName: + - --type --timeframe --scope + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-costmanagement/1.2.0 Python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/query?api-version=2019-11-01 + response: + body: + string: '{"id":"subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/providers/Microsoft.CostManagement/query/1e35a9c6-74d7-4c28-bc6d-bec77a897418","name":"1e35a9c6-74d7-4c28-bc6d-bec77a897418","type":"Microsoft.CostManagement/query","location":null,"sku":null,"eTag":null,"properties":{"nextLink":null,"columns":[{"name":"UsageDate","type":"Number"},{"name":"Currency","type":"String"}],"rows":[[20200401,"USD"],[20200402,"USD"],[20200403,"USD"],[20200404,"USD"],[20200405,"USD"],[20200406,"USD"],[20200407,"USD"],[20200408,"USD"],[20200409,"USD"],[20200410,"USD"],[20200411,"USD"],[20200412,"USD"],[20200413,"USD"],[20200414,"USD"],[20200415,"USD"],[20200416,"USD"],[20200417,"USD"],[20200418,"USD"],[20200419,"USD"],[20200420,"USD"],[20200421,"USD"],[20200422,"USD"],[20200423,"USD"],[20200424,"USD"],[20200425,"USD"],[20200426,"USD"],[20200427,"USD"],[20200428,"USD"],[20200429,"USD"],[20200430,"USD"]]}}' + headers: + access-control-allow-origin: + - '*' + cache-control: + - no-cache + content-length: + - '897' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 23 May 2020 05:40:06 GMT + expires: + - '-1' + pragma: + - no-cache + session-id: + - 553eba7f-00b6-40f7-946e-fd134692dd60 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-microsoft.costmanagement-entity-retry-after: + - '60' + x-ms-ratelimit-microsoft.costmanagement-tenant-retry-after: + - '60' + x-ms-ratelimit-remaining-microsoft.costmanagement-entity-requests: + - '24' + x-ms-ratelimit-remaining-microsoft.costmanagement-tenant-requests: + - '194' + status: + code: 200 + message: OK +- request: + body: '{"type": "Usage", "timeframe": "WeekToDate", "dataset": {"granularity": + "Daily"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - costmanagement query + Connection: + - keep-alive + Content-Length: + - '81' + Content-Type: + - application/json + ParameterSetName: + - --type --timeframe --scope + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-costmanagement/1.2.0 Python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/query?api-version=2019-11-01 + response: + body: + string: '{"id":"subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/providers/Microsoft.CostManagement/query/7aa9da0a-6be7-4f3a-a98c-0ff4a76f0868","name":"7aa9da0a-6be7-4f3a-a98c-0ff4a76f0868","type":"Microsoft.CostManagement/query","location":null,"sku":null,"eTag":null,"properties":{"nextLink":null,"columns":[{"name":"UsageDate","type":"Number"},{"name":"Currency","type":"String"}],"rows":[[20200517,"USD"],[20200518,"USD"],[20200519,"USD"],[20200520,"USD"],[20200521,"USD"],[20200522,"USD"],[20200523,"USD"]]}}' + headers: + access-control-allow-origin: + - '*' + cache-control: + - no-cache + content-length: + - '506' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 23 May 2020 05:40:09 GMT + expires: + - '-1' + pragma: + - no-cache + session-id: + - 351b8150-9cc9-4a64-bc37-e3e3aef4ea83 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-microsoft.costmanagement-entity-retry-after: + - '60' + x-ms-ratelimit-microsoft.costmanagement-tenant-retry-after: + - '60' + x-ms-ratelimit-remaining-microsoft.costmanagement-entity-requests: + - '28' + x-ms-ratelimit-remaining-microsoft.costmanagement-tenant-requests: + - '198' + status: + code: 200 + message: OK +version: 1 diff --git a/src/costmanagement/azext_costmanagement/tests/latest/recordings/test_cm_query_subscription_scope.yaml b/src/costmanagement/azext_costmanagement/tests/latest/recordings/test_cm_query_subscription_scope.yaml new file mode 100644 index 00000000000..77bb5b0d816 --- /dev/null +++ b/src/costmanagement/azext_costmanagement/tests/latest/recordings/test_cm_query_subscription_scope.yaml @@ -0,0 +1,63 @@ +interactions: +- request: + body: '{"type": "Usage", "timeframe": "MonthToDate", "dataset": {"granularity": + "Daily"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - costmanagement query + Connection: + - keep-alive + Content-Length: + - '82' + Content-Type: + - application/json + ParameterSetName: + - --type --timeframe --scope + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-costmanagement/1.2.0 Python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/query?api-version=2019-11-01 + response: + body: + string: '{"id":"subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/providers/Microsoft.CostManagement/query/d8a992d8-44df-4bab-8c7b-5be82b0cafde","name":"d8a992d8-44df-4bab-8c7b-5be82b0cafde","type":"Microsoft.CostManagement/query","location":null,"sku":null,"eTag":null,"properties":{"nextLink":null,"columns":[{"name":"UsageDate","type":"Number"},{"name":"Currency","type":"String"}],"rows":[[20200501,"USD"],[20200502,"USD"],[20200503,"USD"],[20200504,"USD"],[20200505,"USD"],[20200506,"USD"],[20200507,"USD"],[20200508,"USD"],[20200509,"USD"],[20200510,"USD"],[20200511,"USD"],[20200512,"USD"],[20200513,"USD"],[20200514,"USD"],[20200515,"USD"],[20200516,"USD"],[20200517,"USD"],[20200518,"USD"],[20200519,"USD"],[20200520,"USD"],[20200521,"USD"]]}}' + headers: + access-control-allow-origin: + - '*' + cache-control: + - no-cache + content-length: + - '744' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 21 May 2020 08:16:11 GMT + expires: + - '-1' + pragma: + - no-cache + session-id: + - 7d206f82-91ff-4e16-aca8-2924bdf85a78 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-microsoft.costmanagement-entity-retry-after: + - '60' + x-ms-ratelimit-microsoft.costmanagement-tenant-retry-after: + - '60' + x-ms-ratelimit-remaining-microsoft.costmanagement-entity-requests: + - '29' + x-ms-ratelimit-remaining-microsoft.costmanagement-tenant-requests: + - '199' + status: + code: 200 + message: OK +version: 1 diff --git a/src/costmanagement/azext_costmanagement/tests/latest/recordings/test_data_aggregation_in_subscription_scope.yaml b/src/costmanagement/azext_costmanagement/tests/latest/recordings/test_data_aggregation_in_subscription_scope.yaml new file mode 100644 index 00000000000..9798ba146f7 --- /dev/null +++ b/src/costmanagement/azext_costmanagement/tests/latest/recordings/test_data_aggregation_in_subscription_scope.yaml @@ -0,0 +1,63 @@ +interactions: +- request: + body: '{"type": "ActualCost", "timeframe": "TheLastMonth", "dataset": {"granularity": + "Daily", "aggregation": {"totalCost": {"name": "PreTaxCost", "function": "Sum"}}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - costmanagement query + Connection: + - keep-alive + Content-Length: + - '161' + Content-Type: + - application/json + ParameterSetName: + - --type --timeframe --scope --dataset-aggregation + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-costmanagement/1.2.0 Python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/query?api-version=2019-11-01 + response: + body: + string: '{"id":"subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/providers/Microsoft.CostManagement/query/6ded9eae-7dcf-4adf-80c1-8525927fc7db","name":"6ded9eae-7dcf-4adf-80c1-8525927fc7db","type":"Microsoft.CostManagement/query","location":null,"sku":null,"eTag":null,"properties":{"nextLink":null,"columns":[{"name":"PreTaxCost","type":"Number"},{"name":"UsageDate","type":"Number"},{"name":"Currency","type":"String"}],"rows":[[416.613981,20200401,"USD"],[408.468119,20200402,"USD"],[456.219457,20200403,"USD"],[438.307939,20200404,"USD"],[426.956897,20200405,"USD"],[425.69036,20200406,"USD"],[518.270865,20200407,"USD"],[357.930806,20200408,"USD"],[428.149184,20200409,"USD"],[537.673011,20200410,"USD"],[492.206168,20200411,"USD"],[523.479139,20200412,"USD"],[505.556428,20200413,"USD"],[483.03273,20200414,"USD"],[480.243421,20200415,"USD"],[483.139806,20200416,"USD"],[485.523736,20200417,"USD"],[483.687605,20200418,"USD"],[484.006764,20200419,"USD"],[484.891544,20200420,"USD"],[484.316853,20200421,"USD"],[466.370659,20200422,"USD"],[480.70762,20200423,"USD"],[477.721725,20200424,"USD"],[689.082173,20200425,"USD"],[626.994474,20200426,"USD"],[412.660238,20200427,"USD"],[314.921493,20200428,"USD"],[309.928617,20200429,"USD"],[304.582833,20200430,"USD"]]}}' + headers: + access-control-allow-origin: + - '*' + cache-control: + - no-cache + content-length: + - '1262' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 23 May 2020 06:28:26 GMT + expires: + - '-1' + pragma: + - no-cache + session-id: + - fe1a4581-7ff6-48f9-b4ce-733b73b405fb + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-microsoft.costmanagement-entity-retry-after: + - '60' + x-ms-ratelimit-microsoft.costmanagement-tenant-retry-after: + - '60' + x-ms-ratelimit-remaining-microsoft.costmanagement-entity-requests: + - '29' + x-ms-ratelimit-remaining-microsoft.costmanagement-tenant-requests: + - '199' + status: + code: 200 + message: OK +version: 1 diff --git a/src/costmanagement/azext_costmanagement/tests/latest/recordings/test_data_aggregation_in_subscription_scope_custome_timeframe.yaml b/src/costmanagement/azext_costmanagement/tests/latest/recordings/test_data_aggregation_in_subscription_scope_custome_timeframe.yaml new file mode 100644 index 00000000000..8c491b1ff52 --- /dev/null +++ b/src/costmanagement/azext_costmanagement/tests/latest/recordings/test_data_aggregation_in_subscription_scope_custome_timeframe.yaml @@ -0,0 +1,64 @@ +interactions: +- request: + body: '{"type": "ActualCost", "timeframe": "Custom", "timePeriod": {"from": "2020-03-01T00:00:00.000Z", + "to": "2020-05-09T00:00:00.000Z"}, "dataset": {"granularity": "Daily", "aggregation": + {"totalCost": {"name": "PreTaxCost", "function": "Sum"}}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - costmanagement query + Connection: + - keep-alive + Content-Length: + - '241' + Content-Type: + - application/json + ParameterSetName: + - --type --timeframe --time-period --scope --dataset-aggregation + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-costmanagement/1.2.0 Python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/query?api-version=2019-11-01 + response: + body: + string: '{"id":"subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/providers/Microsoft.CostManagement/query/e0231aea-cf7c-45dd-a1fb-944e3ab0bbb9","name":"e0231aea-cf7c-45dd-a1fb-944e3ab0bbb9","type":"Microsoft.CostManagement/query","location":null,"sku":null,"eTag":null,"properties":{"nextLink":null,"columns":[{"name":"PreTaxCost","type":"Number"},{"name":"UsageDate","type":"Number"},{"name":"Currency","type":"String"}],"rows":[[186.758302,20200301,"USD"],[158.349446,20200302,"USD"],[155.97897,20200303,"USD"],[162.358037,20200304,"USD"],[211.443682,20200305,"USD"],[262.572605,20200306,"USD"],[237.858197,20200307,"USD"],[215.20761,20200308,"USD"],[321.937396,20200309,"USD"],[377.267038,20200310,"USD"],[269.002744,20200311,"USD"],[251.907123,20200312,"USD"],[241.57893,20200313,"USD"],[212.738854,20200314,"USD"],[193.864972,20200315,"USD"],[275.1352,20200316,"USD"],[408.350175,20200317,"USD"],[422.827042,20200318,"USD"],[499.081824,20200319,"USD"],[476.498051,20200320,"USD"],[448.647256,20200321,"USD"],[437.914351,20200322,"USD"],[433.324812,20200323,"USD"],[483.099996,20200324,"USD"],[1016.342711,20200325,"USD"],[425.789266,20200326,"USD"],[415.357552,20200327,"USD"],[413.462403,20200328,"USD"],[413.006505,20200329,"USD"],[419.924044,20200330,"USD"],[419.592932,20200331,"USD"],[416.613981,20200401,"USD"],[408.468119,20200402,"USD"],[456.219457,20200403,"USD"],[438.307939,20200404,"USD"],[426.956897,20200405,"USD"],[425.69036,20200406,"USD"],[518.270865,20200407,"USD"],[357.930806,20200408,"USD"],[428.149184,20200409,"USD"],[537.673011,20200410,"USD"],[492.206168,20200411,"USD"],[523.479139,20200412,"USD"],[505.556428,20200413,"USD"],[483.03273,20200414,"USD"],[480.243421,20200415,"USD"],[483.139806,20200416,"USD"],[485.523736,20200417,"USD"],[483.687605,20200418,"USD"],[484.006764,20200419,"USD"],[484.891544,20200420,"USD"],[484.316853,20200421,"USD"],[466.370659,20200422,"USD"],[480.70762,20200423,"USD"],[477.721725,20200424,"USD"],[689.082173,20200425,"USD"],[626.994474,20200426,"USD"],[412.660238,20200427,"USD"],[314.921493,20200428,"USD"],[309.928617,20200429,"USD"],[304.582833,20200430,"USD"],[312.176616,20200501,"USD"],[476.132826,20200502,"USD"],[352.051959,20200503,"USD"],[352.041194,20200504,"USD"],[352.060008,20200505,"USD"],[353.0323,20200506,"USD"],[352.617402,20200507,"USD"],[353.018637,20200508,"USD"],[502.775801,20200509,"USD"]]}}' + headers: + access-control-allow-origin: + - '*' + cache-control: + - no-cache + content-length: + - '2376' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 23 May 2020 06:53:26 GMT + expires: + - '-1' + pragma: + - no-cache + session-id: + - 0082d861-7d65-412d-a921-9a9fe5d2fff7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-microsoft.costmanagement-entity-retry-after: + - '60' + x-ms-ratelimit-microsoft.costmanagement-tenant-retry-after: + - '60' + x-ms-ratelimit-remaining-microsoft.costmanagement-entity-requests: + - '29' + x-ms-ratelimit-remaining-microsoft.costmanagement-tenant-requests: + - '199' + status: + code: 200 + message: OK +version: 1 diff --git a/src/costmanagement/azext_costmanagement/tests/latest/recordings/test_data_grouping_in_subscription_scopde.yaml b/src/costmanagement/azext_costmanagement/tests/latest/recordings/test_data_grouping_in_subscription_scopde.yaml new file mode 100644 index 00000000000..3667aa68c83 --- /dev/null +++ b/src/costmanagement/azext_costmanagement/tests/latest/recordings/test_data_grouping_in_subscription_scopde.yaml @@ -0,0 +1,64 @@ +interactions: +- request: + body: '{"type": "ActualCost", "timeframe": "TheLastMonth", "dataset": {"granularity": + "Daily", "aggregation": {"totalCost": {"name": "PreTaxCost", "function": "Sum"}}, + "grouping": [{"type": "Dimension", "name": "ResourceGroup"}]}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - costmanagement query + Connection: + - keep-alive + Content-Length: + - '223' + Content-Type: + - application/json + ParameterSetName: + - --type --timeframe --scope --dataset-aggregation --dataset-grouping + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-costmanagement/1.2.0 Python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/query?api-version=2019-11-01 + response: + body: + string: '{"id":"subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/providers/Microsoft.CostManagement/query/784acf99-3e6e-495d-8197-974d2fd603e2","name":"784acf99-3e6e-495d-8197-974d2fd603e2","type":"Microsoft.CostManagement/query","location":null,"sku":null,"eTag":null,"properties":{"nextLink":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/query?api-version=2019-11-01&$skiptoken=AQAAAA%3D%3D","columns":[{"name":"PreTaxCost","type":"Number"},{"name":"UsageDate","type":"Number"},{"name":"ResourceGroup","type":"String"},{"name":"Currency","type":"String"}],"rows":[[5.08032,20200401,"azure_search_cli_testdu4gt4d2qasm4rribpmq7k4p5k3ooewzex5lpfpmtei3nhmuajat43","USD"],[10.16064,20200401,"azure_search_cli_testh6w6rnsdqz2m7c3gkuohyf6xuojyor3ck6f5azrmc55o5fu26seizr","USD"],[5.08032,20200401,"azure_search_cli_testkutpdg5rerx5fc5ficub65iaph3ksnb6wp4qstd73rukb5ijewtsrc","USD"],[10.16064,20200401,"azure_search_cli_testoeuyti5jqqlaunupbhpnfnhfdkjamnaej4glqkdy66fufyan2y3zm6","USD"],[5.08032,20200401,"azure_search_cli_testrw7hdqfh5svtz52326ewkagn2fuqt54udftyqa7jwh6b6dyeeiosne","USD"],[5.08032,20200401,"azure_search_cli_testtjjvfawgr4d453ylkbz7vjlshkytobkqpyswvq744ujs2xehbqaskh","USD"],[10.16064,20200401,"azure_search_cli_testudvlgq7mimi6y2dcvfqjs32lqxdh4twqewzy3s23gtedyg5le2girc","USD"],[5.08032,20200401,"azure_search_cli_testy24raerip4gad6kudhxho32gijmv2rnfkgzfsopme77bjdwh3u4vcf","USD"],[0.00032,20200401,"azure-cli-test-rg","USD"],[0.005452,20200401,"azure-core-poc","USD"],[0.007597,20200401,"azuresdktest_reserved","USD"],[0.434243,20200401,"bim_pl_test_rg","USD"],[1.176201,20200401,"bim-rg","USD"],[1.5E-05,20200401,"cli_test_databox52yrfbe7molrqhwdubnr2jcijd22xsz3hgcg3btf3sza5boeklwgzzq5sfn","USD"],[7E-06,20200401,"cli_test_databox5gpbe2knrizxsitmvje3fbdl44tf6cvpfqbpvsyicxmupsbyhmlcrg4wesk","USD"],[7E-06,20200401,"cli_test_databoxam64dpcskfsb23dkj6zbvxysimh24e3upfdsdmuxbdl2j25ckz2uz5lht5y","USD"],[7E-06,20200401,"cli_test_databoxeg3csudujzrh2zcvbjytg6gvlkp6sjfcozveffblaqhrzhsslvpr54lg7n2","USD"],[7E-06,20200401,"cli_test_databoxfgdxtb5b3moqarfyogd7fcognbrlsihjlj3acnscrixetycujoejzzalyi3","USD"],[8E-06,20200401,"cli_test_databoxlekg7y4dtg2pnsaueisdkyqi5mnvmlwxto2cpu3kv7snll4uc37q2rm4wme","USD"],[7E-06,20200401,"cli_test_databoxn5n2vkeyewiwob4e7e6nqiblkvvgc5qorevejhsntblvdlc2t373rrvy45p","USD"],[1.5E-05,20200401,"cli_test_databoxoe2qtcqlnxonqpub522jgmpzgeegwhowl2qo6xqgfwtqcd3jzicz5yraawi","USD"],[7E-06,20200401,"cli_test_databoxrg2slunrj5vx5aydveu66wkj6rh3ildamkumi4zojpcf6f4vastgfp4v3rw","USD"],[7E-06,20200401,"cli_test_databoxu7woflo47pjem4rfw2djuvafywtfnprfpduospdfotkqkudaylsua3ybqpa","USD"],[7E-06,20200401,"cli_test_eh_aliasdrj6y3jjzz2b5gjynzeg3hlvh4vbevx6axtox4ijutmqpe3uhr2f6zjcvp","USD"],[7E-06,20200401,"cli_test_eh_aliasfaxwrtp645isrxreqi6kj6gtvb4j3lh23klbxtfz7d67cc276s43xrosgp","USD"],[7E-06,20200401,"cli_test_eh_aliasr6icm7ctnbnlupvodhdxfvgm7ukjbnbzw3w6543qcf232tden7ulag356e","USD"],[4E-06,20200401,"cli_test_keyvault_cert_importfqcupgikl3loq5xwnwxwre2spyxhihfme66stqtb4umykq","USD"],[6.8E-05,20200401,"cli_test_keyvault_certlqoezklz34pzmvczugl2filqojiwdewux5mm65coaugglqkmrvn5c","USD"],[7.560108,20200401,"cli_test_keyvault_keyf73i64pcrt4z6ylyblhrn4ie5hmvyarsbyqzckpkjzkympebyeva6p","USD"],[3.4E-05,20200401,"cli_test_keyvault_sd7h25bsrca52faywyufzv7wd3pspvdkajyz4kzfmrnuyjzlacqliaguz","USD"],[4E-06,20200401,"cli_test_keyvault_sdlu3oj34p6gpiyb3diqgaxwj63c32uhmwnrch5keluoywaky2b36ymcs","USD"],[6E-06,20200401,"cli_test_keyvault_secret_soft_deletebeesrb7crc4uqtzdqh7gsa7lpy6yepgsx6wgzvu","USD"],[6E-06,20200401,"cli_test_keyvault_secret_soft_deletebk3eyutp56wz6icx3wnioab5yd3cdazpfcwoxao","USD"],[6E-06,20200401,"cli_test_keyvault_secret_soft_deletebqtna7kmjdakuoteuydgj7vn7lrwpeo5dc5npi5","USD"],[6E-06,20200401,"cli_test_keyvault_secret_soft_deletecire6cpladtmnf55uhcmts5a7s53n2fodz5aadl","USD"],[1.1E-05,20200401,"cli_test_keyvault_secret_soft_deletejj75davl5pc34jwgmtq5e4usaoff7ot67dcd6oy","USD"],[6E-06,20200401,"cli_test_keyvault_secret_soft_deletevsvwzo22tftmill5xfas66mdpycaguiel2pzy3r","USD"],[6E-06,20200401,"cli_test_keyvault_secret_soft_deleteyuiuq2tmxlyzvvbzt4wbbmndctomx6poqkt47yr","USD"],[5.7E-05,20200401,"cli_test_keyvault_secretjeub7sau2ygomj5bu32p57zrcp3u7crekk6t6ewphttqnkvdmsa","USD"],[1.7E-05,20200401,"cli_test_kv_cert_contactsztn4s63fnfzatdrc7bwu6vmexm63jdmwrdgsx4t7thzvn32zqt","USD"],[8E-06,20200401,"cli_test_kv_cert_download2ppagwj744htqrprzwdggy7tcn3au4mtiszsb7ynraiw44jmie","USD"],[3.4E-05,20200401,"cli_test_kv_cert_issuerl4vsobg4wrgwzxy4tjtjvf4hwhoz566ypug4w5ezxp6bs554zhvs","USD"],[1.9E-05,20200401,"cli_test_kv_cert_pendingqq4aih4ooyypa4nn7spe67d6exr6oceupu73no7n5gfwbr7gq2j","USD"],[0.000176,20200401,"cli_test_kv_key_downloadwleqezndwny455pfhew74an344xdmzrt7luzwdxfhr7wj527f53","USD"],[28.0476,20200401,"cli_test_sb_aliasjvmz65dvg7inej34lr2j6ymns5ewjlrnrp4z6ylhegesgpf6io57pmksme","USD"],[28.0476,20200401,"cli_test_sb_aliaszm3yvalycherhh6usqybb4tp3eqbckvxbdrujxlfo2b2kgt74tb645a4r5","USD"],[0.119226,20200401,"clitest.rg2qgvxjxy46scnjuh6q5gtypebpi5oeuajfgxb7yrrsggnqxrij6pnc3d7ybz2chih","USD"],[0.119463,20200401,"clitest.rg35pihforqftkb5qllg3t75zoxlztjwsmuftgdsphbiy2r3adx3t3spnkzzs2c5c4s","USD"],[0.120262,20200401,"clitest.rg3s3h2izedr4olwdk4jqjhltn4lkukfixgfalhtfjmiy6u3xndqvdkrr4j4jqhx6hu","USD"],[9E-06,20200401,"clitest.rg6i4hl6iakg","USD"],[0.120385,20200401,"clitest.rg6mxjzuorkskzxoisjj4q7leopfu5mge2nncxfuw33pn7w5rzgt6nqhx3f2koq427p","USD"],[1E-06,20200401,"clitest.rgdd3pvc445vb7vkctepirlk7u7ehgatpxqkt7etu7jzzxnby36lhts5532grmo4xqt","USD"],[0.120236,20200401,"clitest.rgduxuhyeqzrek7s3jfr776qvugv4qtmrxnlqcwiodxu2wihvqvuajr5bvtbfw2c74d","USD"],[0.120278,20200401,"clitest.rgdzk3w2kpwtbjaippkz6nrab53pinz3nbdcoxurf2fm477d5j2qa43kpmvlh34nudn","USD"],[2E-06,20200401,"clitest.rgevikb7u3cnppphnlo3ci7rgwuxfuvv66yickp7hu46sxaowssgbwp24t7hytzmmqk","USD"],[0.0,20200401,"clitest.rggqe5qp2g4ikjuk4quunjltoatlnnfvg4jy6lw5mup4qcbrvofg4uioaohki5xkfem","USD"],[0.120152,20200401,"clitest.rgib3viqdhrawwnaopavpcsc2u3psfod7wlami5tg57borlex2io2b7nolpz4qxhm5p","USD"],[0.0,20200401,"clitest.rgkjk5zpf6vpm4eazar7zv554ytwslfx3wfo6vpev4ypj3664cr3nnzzrhgiio2hvab","USD"],[0.0,20200401,"clitest.rgof3oy22ihkrkvxmos32f4x7rg662il55cz42puy634klszugqsoj3kafahile6edj","USD"],[0.120245,20200401,"clitest.rgp535jz2dxemblsqlvzwsk4ehth7eprd5yny22fi5rppnick62nncsonvlutvmvbje","USD"],[0.0,20200401,"clitest.rgqzxdc4qlur4ldpzn5ysrsgw3iq7ot2pjm2twuh5h7mydbhfromknwnwmbcte2jnf6","USD"],[0.11925,20200401,"clitest.rgr5sog7j3q3a5o2vy3r4gpl3ylcovxfcbkttkotqe653iz4mlsrbjns76tv4v4lbqq","USD"],[0.0,20200401,"clitest.rgrsyxntxfpaaox5qm77j37jgojydhj6vgwpffnchul5hhnd2txbb2upcw5lpcrayhz","USD"],[0.119262,20200401,"clitest.rguk5hr7imq2zbvjzaogkt7gke2onbbn6sr3ux5rfdiqufofpfrmblbmbzrtd663lkn","USD"],[0.119247,20200401,"clitest.rgyreu2qkpgqyrm56i4cocrrcf5xb2uzmvlm2lau226cqk6zetyu5olii7figpx2mix","USD"],[0.122006,20200401,"clitest.rgzj3xc6lmggzuorcimokxvkq7lrrxtcty3dilmrxzwdjcq35dqahmc7e7snha4milh","USD"],[1E-06,20200401,"databricks-rg-my-standard-space-fez3hbt1bsvmr","USD"],[1.536172,20200401,"emerald-city-bookstore","USD"],[6.308817,20200401,"fanqiu-vm","USD"],[7.428543,20200401,"feng-cli-rg","USD"],[0.055444,20200401,"fytest","USD"],[0.459355,20200401,"fytest2","USD"],[0.000133,20200401,"harold","USD"],[0.0,20200401,"harold-test-rsg","USD"],[4E-06,20200401,"javacsmrg46947","USD"],[2E-06,20200401,"jlrg","USD"],[0.008688,20200401,"jlrg1","USD"],[0.885074,20200401,"jlvm2rg","USD"],[0.54432,20200401,"microsoft.default","USD"],[1.52712,20200401,"new-experiences","USD"],[244.018672,20200401,"qianwens","USD"],[5.348657,20200401,"storage-v2rt-repro","USD"],[0.671185,20200401,"xiaojianxu","USD"],[2.641935,20200401,"xplattestgexpressroute8595","USD"],[9.2E-05,20200401,"yeming","USD"],[0.000131,20200401,"yu-test-rg-westus","USD"],[15.657044,20200401,"zhoxing-test","USD"],[6.768747,20200401,"zuh","USD"],[0.150604,20200401,"zuhcentral","USD"],[0.002268,20200402,"","USD"],[4.1E-05,20200402,"20200402","USD"],[5.08032,20200402,"azure_search_cli_testdu4gt4d2qasm4rribpmq7k4p5k3ooewzex5lpfpmtei3nhmuajat43","USD"],[10.16064,20200402,"azure_search_cli_testh6w6rnsdqz2m7c3gkuohyf6xuojyor3ck6f5azrmc55o5fu26seizr","USD"],[5.08032,20200402,"azure_search_cli_testkutpdg5rerx5fc5ficub65iaph3ksnb6wp4qstd73rukb5ijewtsrc","USD"],[10.16064,20200402,"azure_search_cli_testoeuyti5jqqlaunupbhpnfnhfdkjamnaej4glqkdy66fufyan2y3zm6","USD"],[5.08032,20200402,"azure_search_cli_testrw7hdqfh5svtz52326ewkagn2fuqt54udftyqa7jwh6b6dyeeiosne","USD"],[5.08032,20200402,"azure_search_cli_testtjjvfawgr4d453ylkbz7vjlshkytobkqpyswvq744ujs2xehbqaskh","USD"],[10.16064,20200402,"azure_search_cli_testudvlgq7mimi6y2dcvfqjs32lqxdh4twqewzy3s23gtedyg5le2girc","USD"],[5.08032,20200402,"azure_search_cli_testy24raerip4gad6kudhxho32gijmv2rnfkgzfsopme77bjdwh3u4vcf","USD"],[0.000169,20200402,"azure-cli-test-rg","USD"],[0.005451,20200402,"azure-core-poc","USD"],[0.008712,20200402,"azuresdktest_reserved","USD"],[0.001152,20200402,"bedf00a1-f0f2-4b90-ba6d-27ef773a5b2b","USD"],[0.256884,20200402,"bim_pl_test_rg","USD"],[0.735171,20200402,"bim-rg","USD"],[0.180075,20200402,"cli_test_active_active_cross_premise_connectionjkpsjftkzzahnms4ynlyhjivlepg","USD"],[0.025725,20200402,"cli_test_active_active_vnet_vnet_connectionxzbexbzbyqhuwuir3dvy2u4bdqfinn6i","USD"],[0.085882,20200402,"cli_test_ag_basic_with_waf_v2_skujzgtgy365ckm7ta2djeoea56jldr2ekiolou45skvo","USD"],[0.020912,20200402,"cli_test_ag_basic3be6y3hnckisotzr2zxms2kdumbyuhif3n44txwbfksnhymobmf3imhlmn","USD"],[0.019773,20200402,"cli_test_ag_basickweuyhwie6mjcwfqden27w2wsttmbsnbjohps4zwczega2zc7x2gqhoapu","USD"],[0.0206,20200402,"cli_test_ag_existing_subnetugosp6vzq5rtjkkgmy6bljafvfu52swudzofuzazsfjw3434","USD"],[0.01895,20200402,"cli_test_ag_frontend_ip_private4ccdddxo4jiohbmiai7eq27jessl5hlaz3bv7bhnhvoq","USD"],[0.037889,20200402,"cli_test_ag_frontend_ip_public3zujpvdzuxvaewrr5avaiyl4zazvgcgyse23srhb6hwzk","USD"],[0.139703,20200402,"cli_test_ag_http_listenerco2wzpl2dzrj7h4ygnk42onexueaxsxdgqpei2gjqreypk5pjy","USD"],[0.071936,20200402,"cli_test_ag_identityky25djttvbsvnh67dzv25ivfc3h23whbplo72bg63qdclp6b2ge7qgp","USD"],[0.018111,20200402,"cli_test_ag_no_wait23pucxw33up7s3doey5zwvf5tjwyg74qvhnsjre4iy7j4vazyosp7fn3","USD"],[0.058473,20200402,"cli_test_ag_private_ipw3xj4oq2tellanploqitcrynlbrqpc45vhrfogzhrq2rlghjdwseb","USD"],[0.191656,20200402,"cli_test_ag_probehmucpai5xw4iiz6hncjoq43tt732a4q3bmklbf4vz2qjk6n6krmxjfffbk","USD"],[0.073761,20200402,"cli_test_ag_rewrite_rulesetshl45mwrgn6vunjxqcehgeahw4aqba75x7ama6oo32qlaxyf","USD"],[0.037308,20200402,"cli_test_ag_root_certj5coffmm7gka2elv6xq67wuyxoksxgwbtxmgtdcbofeauazyb7poeg","USD"],[0.056548,20200402,"cli_test_ag_rulej45faatapg4zi6mxfb7tz7h422ebsx3d2tpzmmasfa5dncdz2yy5exn2rlk","USD"],[0.067192,20200402,"cli_test_ag_url_path_mapwoylr2cazwrczp6xq4t3phwazqkw4wvafyzuun4sij6r64d23ys","USD"],[0.03402,20200402,"cli_test_ag_zonenaw2cfdfhdetgu7gtfh54jfr6awhn2tbbidmnalkdtjmsfeicqrun6alu4w","USD"],[0.190624,20200402,"cli_test_app_gateway_waf_policy_de2xelb5nr74hqdjdo64z6kopithvgj3w3sv2j2aqng","USD"],[0.148386,20200402,"cli_test_app_gateway_waf_v2_config2a4ttwedbhu7nods7cmw3pwluacgusdaujbk2mvx3","USD"],[1.5E-05,20200402,"cli_test_databox52yrfbe7molrqhwdubnr2jcijd22xsz3hgcg3btf3sza5boeklwgzzq5sfn","USD"],[8E-06,20200402,"cli_test_databox5gpbe2knrizxsitmvje3fbdl44tf6cvpfqbpvsyicxmupsbyhmlcrg4wesk","USD"],[7E-06,20200402,"cli_test_databoxam64dpcskfsb23dkj6zbvxysimh24e3upfdsdmuxbdl2j25ckz2uz5lht5y","USD"],[7E-06,20200402,"cli_test_databoxeg3csudujzrh2zcvbjytg6gvlkp6sjfcozveffblaqhrzhsslvpr54lg7n2","USD"],[7E-06,20200402,"cli_test_databoxfgdxtb5b3moqarfyogd7fcognbrlsihjlj3acnscrixetycujoejzzalyi3","USD"],[7E-06,20200402,"cli_test_databoxlekg7y4dtg2pnsaueisdkyqi5mnvmlwxto2cpu3kv7snll4uc37q2rm4wme","USD"],[7E-06,20200402,"cli_test_databoxn5n2vkeyewiwob4e7e6nqiblkvvgc5qorevejhsntblvdlc2t373rrvy45p","USD"],[1.5E-05,20200402,"cli_test_databoxoe2qtcqlnxonqpub522jgmpzgeegwhowl2qo6xqgfwtqcd3jzicz5yraawi","USD"],[7E-06,20200402,"cli_test_databoxrg2slunrj5vx5aydveu66wkj6rh3ildamkumi4zojpcf6f4vastgfp4v3rw","USD"],[7E-06,20200402,"cli_test_databoxu7woflo47pjem4rfw2djuvafywtfnprfpduospdfotkqkudaylsua3ybqpa","USD"],[1.5E-05,20200402,"cli_test_disk_encryption_set_snapshot_bt2jyt5ooiaqyreiau2z324ekfvjoes2cdsge","USD"],[1.5E-05,20200402,"cli_test_disk_encryption_set_snapshot_q7rpmdf4h2ipyhgduit3t6tjhkl4zsty7yuui","USD"],[7E-06,20200402,"cli_test_eh_aliasdrj6y3jjzz2b5gjynzeg3hlvh4vbevx6axtox4ijutmqpe3uhr2f6zjcvp","USD"],[7E-06,20200402,"cli_test_eh_aliasfaxwrtp645isrxreqi6kj6gtvb4j3lh23klbxtfz7d67cc276s43xrosgp","USD"],[7E-06,20200402,"cli_test_eh_aliasr6icm7ctnbnlupvodhdxfvgm7ukjbnbzw3w6543qcf232tden7ulag356e","USD"],[1.2E-05,20200402,"cli_test_gallery_specialized_4qwpszyi264pi33uc7cfjnmuikizfojqeq5sacityhk3og","USD"],[0.006313,20200402,"cli_test_gallery_specialized_xhwbwr74v4xaaw5rphoivs4z73a3chmmv3vlyxd6a37oao","USD"],[0.00063,20200402,"cli_test_keyvault_pecsm7kkkcumdqgfb5cyedggrk34eh4274va5jncdvhlfmadfxzacatmb","USD"],[0.000315,20200402,"cli_test_lb_probesqrrkgfro6ku7i2vy73eni3wqi6igmmfmpvgxvtn3heer4dthacla6gxrc","USD"],[0.000227,20200402,"cli_test_load_balancer34sn5vqqbzknhjd5f5buhsw7v3rsj3n3xaggmimjui7gjanremggz","USD"],[0.008065,20200402,"cli_test_managed_diskbrpt6wwucc5hjkazd3srcazjwfjzt7clwt2uzx5aiheholhnj7g3jo","USD"],[0.011528,20200402,"cli_test_managed_diskwby63u4dictptyngiapaq64gukrf33cstxvhzadxsfyqdopehgtzyd","USD"],[0.000315,20200402,"cli_test_network_lb_skukpjyv2ujoegtuj4h2g5tt367nklbnjqvlmj4m5as2znsinal663h","USD"],[0.000315,20200402,"cli_test_network_private_endpointsegjxaq6kkj54x7q5zwmzy3rq3j6tojcj54rouiehy","USD"],[0.000315,20200402,"cli_test_network_private_link_service5axfr4sk2dhbmfklge4euvzrwh46yhopvxfpxk","USD"],[0.00378,20200402,"cli_test_network_public_ip_prefix24mgqduampi7ulnd6twrv6hftsxv2aj6222is4cz5u","USD"],[0.026343,20200402,"cli_test_nic_ag_address_poolsaa2h6bs7vm7txnlfvnhitrqiuz5mvm76m2zdxagb33xubq","USD"],[0.026359,20200402,"cli_test_nic_app_gatewayukl2exxd6mdj6jrp4ateiq4gvifv3qv7wgsza7cajd2rdrg4til","USD"],[0.001893,20200402,"cli_test_nw_troubleshootingm7cg7bztfzihz7xvk7wsiuhmv5soc4h6sdv25xzq4a76zl3m","USD"],[0.000454,20200402,"cli_test_public_ipuutdgeg5za4zr5y6hgdrptaq7zjhmvyx4siirvn37n33ajkmcpf65y2n6","USD"],[28.0476,20200402,"cli_test_sb_aliasjvmz65dvg7inej34lr2j6ymns5ewjlrnrp4z6ylhegesgpf6io57pmksme","USD"],[28.0476,20200402,"cli_test_sb_aliaszm3yvalycherhh6usqybb4tp3eqbckvxbdrujxlfo2b2kgt74tb645a4r5","USD"],[0.011838,20200402,"cli_test_vm_disk_max_shares_etc_hg4nc45dftzazwzd3lmf7q3scdd3rddx4j5c23lsod5","USD"],[0.002659,20200402,"cli_test_vm_disk_max_shares_etc_lndwqzmvreghikqj6ejite6blszewfhsur5bix4ganv","USD"],[0.025725,20200402,"cli_test_vnet_gateway_ipsecs6iawtcvjxog4lw2xfxrjwz4gpvr54wpgel5ozhebfslfmir","USD"],[0.009975,20200402,"cli_test_vpn_connection_ipsecbj4sq7exptvt62chvhv6wtgenflis4pz2dr4ikqdmpkmvv","USD"],[0.009975,20200402,"cli_test_vpn_gateway_aad_75npbwe3ipsk4lrgjxibb2gx3wzbxkosu46si5oyscgtygm3tb","USD"],[0.13755,20200402,"cli_test_vpn_gateway46tsqpw2jrzsr5j4vettz6ofzitpfnn2evejnrmus2qoh572ghft3vf","USD"],[0.119226,20200402,"clitest.rg2qgvxjxy46scnjuh6q5gtypebpi5oeuajfgxb7yrrsggnqxrij6pnc3d7ybz2chih","USD"],[0.119463,20200402,"clitest.rg35pihforqftkb5qllg3t75zoxlztjwsmuftgdsphbiy2r3adx3t3spnkzzs2c5c4s","USD"],[0.120262,20200402,"clitest.rg3s3h2izedr4olwdk4jqjhltn4lkukfixgfalhtfjmiy6u3xndqvdkrr4j4jqhx6hu","USD"],[8E-06,20200402,"clitest.rg6i4hl6iakg","USD"],[0.120385,20200402,"clitest.rg6mxjzuorkskzxoisjj4q7leopfu5mge2nncxfuw33pn7w5rzgt6nqhx3f2koq427p","USD"],[1E-06,20200402,"clitest.rgdd3pvc445vb7vkctepirlk7u7ehgatpxqkt7etu7jzzxnby36lhts5532grmo4xqt","USD"],[0.120236,20200402,"clitest.rgduxuhyeqzrek7s3jfr776qvugv4qtmrxnlqcwiodxu2wihvqvuajr5bvtbfw2c74d","USD"],[0.120278,20200402,"clitest.rgdzk3w2kpwtbjaippkz6nrab53pinz3nbdcoxurf2fm477d5j2qa43kpmvlh34nudn","USD"],[0.0,20200402,"clitest.rggqe5qp2g4ikjuk4quunjltoatlnnfvg4jy6lw5mup4qcbrvofg4uioaohki5xkfem","USD"],[0.120152,20200402,"clitest.rgib3viqdhrawwnaopavpcsc2u3psfod7wlami5tg57borlex2io2b7nolpz4qxhm5p","USD"],[0.0,20200402,"clitest.rgkjk5zpf6vpm4eazar7zv554ytwslfx3wfo6vpev4ypj3664cr3nnzzrhgiio2hvab","USD"],[0.0,20200402,"clitest.rgm7jtdrndgi5guu7dremapb2yx5sf73jpaxtfhe7s7pkfcbq36tgasgrmbokregry5","USD"],[0.0,20200402,"clitest.rgof3oy22ihkrkvxmos32f4x7rg662il55cz42puy634klszugqsoj3kafahile6edj","USD"],[0.120245,20200402,"clitest.rgp535jz2dxemblsqlvzwsk4ehth7eprd5yny22fi5rppnick62nncsonvlutvmvbje","USD"],[0.0,20200402,"clitest.rgqzxdc4qlur4ldpzn5ysrsgw3iq7ot2pjm2twuh5h7mydbhfromknwnwmbcte2jnf6","USD"],[0.11925,20200402,"clitest.rgr5sog7j3q3a5o2vy3r4gpl3ylcovxfcbkttkotqe653iz4mlsrbjns76tv4v4lbqq","USD"],[0.0,20200402,"clitest.rgrsyxntxfpaaox5qm77j37jgojydhj6vgwpffnchul5hhnd2txbb2upcw5lpcrayhz","USD"],[0.000504,20200402,"clitest.rgs55mdfq2am5f4lwd4odjj5e5galu7hd7g7ngewygbnts6ihjnt5yxiw4qqvaybyh3","USD"],[0.119262,20200402,"clitest.rguk5hr7imq2zbvjzaogkt7gke2onbbn6sr3ux5rfdiqufofpfrmblbmbzrtd663lkn","USD"],[0.00753,20200402,"clitest.rguzg36yvtg4lez727etrct3bjjzezc3mqhlrcn5wmscsmipzlx2qybvj6zkdklkkt7","USD"],[0.119247,20200402,"clitest.rgyreu2qkpgqyrm56i4cocrrcf5xb2uzmvlm2lau226cqk6zetyu5olii7figpx2mix","USD"],[0.122006,20200402,"clitest.rgzj3xc6lmggzuorcimokxvkq7lrrxtcty3dilmrxzwdjcq35dqahmc7e7snha4milh","USD"],[1E-06,20200402,"databricks-rg-my-standard-space-fez3hbt1bsvmr","USD"],[1.53618,20200402,"emerald-city-bookstore","USD"],[6.306235,20200402,"fanqiu-vm","USD"],[7.425387,20200402,"feng-cli-rg","USD"],[0.055444,20200402,"fytest","USD"],[4E-05,20200402,"harold","USD"],[0.0,20200402,"harold-test-rsg","USD"],[4E-06,20200402,"javacsmrg46947","USD"],[0.009286,20200402,"jlrg1","USD"],[0.15897,20200402,"jlvm2rg","USD"],[0.54432,20200402,"microsoft.default","USD"],[7E-06,20200402,"myresourcegroup","USD"],[0.00063,20200402,"networkwatcherrg","USD"],[1.52712,20200402,"new-experiences","USD"],[243.841782,20200402,"qianwens","USD"],[5.348629,20200402,"storage-v2rt-repro","USD"],[0.003402,20200402,"test_network_lb_outbound_rulesu6kipnn6iuwptnw3jdsscaj4n7e52bb6mlgnaubwvrzd2","USD"],[0.671194,20200402,"xiaojianxu","USD"],[2.641935,20200402,"xplattestgexpressroute8595","USD"],[9.2E-05,20200402,"yeming","USD"],[0.00013,20200402,"yu-test-rg-westus","USD"],[15.302219,20200402,"zhoxing-test","USD"],[6.724994,20200402,"zuh","USD"],[0.151246,20200402,"zuhcentral","USD"],[0.000504,20200403,"","USD"],[0.008468,20200403,"$system","USD"],[0.001152,20200403,"7257c237-39bc-44b5-bc33-e5cc7c4f265d","USD"],[0.27531,20200403,"azure_search_cli_testbwbcvjsk5ufkaned7qi45n2jjzs2fan66mdidb7lhrbz4kaguoec5v","USD"],[5.08032,20200403,"azure_search_cli_testdu4gt4d2qasm4rribpmq7k4p5k3ooewzex5lpfpmtei3nhmuajat43","USD"],[0.21168,20200403,"azure_search_cli_testgb3wrenvmirqwedg2kbgdibc5zb5iay4ns2jxy7t4pifz6n4bmit3u","USD"],[10.16064,20200403,"azure_search_cli_testh6w6rnsdqz2m7c3gkuohyf6xuojyor3ck6f5azrmc55o5fu26seizr","USD"],[5.08032,20200403,"azure_search_cli_testkutpdg5rerx5fc5ficub65iaph3ksnb6wp4qstd73rukb5ijewtsrc","USD"],[0.21168,20200403,"azure_search_cli_testnjn4ncyneuunv6ylmv22ercqbgmnjzaafz2up32xy3q5nd4nz4mnyf","USD"],[10.16064,20200403,"azure_search_cli_testoeuyti5jqqlaunupbhpnfnhfdkjamnaej4glqkdy66fufyan2y3zm6","USD"],[5.08032,20200403,"azure_search_cli_testrw7hdqfh5svtz52326ewkagn2fuqt54udftyqa7jwh6b6dyeeiosne","USD"],[1.27008,20200403,"azure_search_cli_testrxyi2chdncmbl2tda34ewgxntfl3w765as7lmo34sxxlryvyty4m63","USD"],[0.42336,20200403,"azure_search_cli_testsb2fjtkzzevg6a6qbis6zzulpkwvqf7ee4qjnxblen4mqvn7fdgzlt","USD"],[5.08032,20200403,"azure_search_cli_testtjjvfawgr4d453ylkbz7vjlshkytobkqpyswvq744ujs2xehbqaskh","USD"],[10.16064,20200403,"azure_search_cli_testudvlgq7mimi6y2dcvfqjs32lqxdh4twqewzy3s23gtedyg5le2girc","USD"],[0.42336,20200403,"azure_search_cli_testuhlej2knchojk3siozou4apipl356pgv3bqknipi4jsb75iv57vieo","USD"],[0.21168,20200403,"azure_search_cli_testvpc3sezpj72ich3ex4h4hhytv5vhohpjzqq3x6m3spsbbrwlof22hh","USD"],[5.08032,20200403,"azure_search_cli_testy24raerip4gad6kudhxho32gijmv2rnfkgzfsopme77bjdwh3u4vcf","USD"],[0.0,20200403,"azurecli-functionapp-c-e2e4nnx3n354scyu43zjurcmgdbksc6ufgvxmmy3onu6wnsd4udc","USD"],[0.0,20200403,"azurecli-functionapp-c-e2e-ragrsnildalmjzppep2mceygxsgrxz4bccgkdlmpyhg27fmv","USD"],[0.0,20200403,"azurecli-functionapp-linuxnxwuzd2sjkenyaduxvqk6uacz4pumudvalvjismua4mgxgeid","USD"],[0.0,20200403,"azurecli-functionapp-linuxyig2qsqf52c7u2by3uvvnkctydehjycvpjtkbmdufigaezlpx","USD"],[0.0,20200403,"azure-cli-test-rg","USD"],[0.005499,20200403,"azure-core-poc","USD"],[0.007917,20200403,"azuresdktest_reserved","USD"],[0.265074,20200403,"bim_pl_test_rg","USD"],[0.735178,20200403,"bim-rg","USD"],[0.180075,20200403,"cli_test_active_active_cross_premise_connection3bv3s72aoalsd7rmaltmbuykbszr","USD"],[0.05145,20200403,"cli_test_active_active_vnet_vnet_connectionnsckhrno623n53won5dzmhrzlphl3qmo","USD"],[0.003932,20200403,"cli_test_adla_catalog_mgmt5ip7w3itvswqc7vakw2ef4ajmkqt627h6kpy5bok4ki6ciuzm","USD"],[0.003939,20200403,"cli_test_adla_job_mgmtrk6i2fbk5xioycehywyxn32cwk5af3snxk5ljd6agnknoaergcndu","USD"],[7E-06,20200403,"cli_test_adls_access2qrgsqx6765s4626v5yh4t5vha2m6dr2rfy53ugsbggfdt4dkbaafxg","USD"],[0.019757,20200403,"cli_test_ag_auth_certlkqzsbac6sl5b7h6x6ralv4p3mlpzwlu2nv76fje62oopndjmwqtmf","USD"],[0.038121,20200403,"cli_test_ag_basic_with_waf_v2_sku3fnhv7bsa4khciq7cwcv7sna7wdhjccwph2lc23zil","USD"],[0.010898,20200403,"cli_test_ag_basic67ggs7dwviasfzmuhday3osl3z7hsub7pbz542nhuu72sddzzcrr7di66v","USD"],[0.019757,20200403,"cli_test_ag_basicgt426a5zgb6rt23soujz3w3vbwbcjzafr7jbwlejyofeqpfvuuqlj7ugv5","USD"],[0.02058,20200403,"cli_test_ag_existing_subnetsts4t5w2zdxwbwsygmzxg7u2dfhqt7p4ffveww64rhuu7a5o","USD"],[0.018934,20200403,"cli_test_ag_frontend_ip_privateqfcsfosswoh4ih6kobzq4mjf7gt6hopcz4hzyuvh4miu","USD"],[0.018934,20200403,"cli_test_ag_frontend_ip_public4clmqllfgtm2oklfo5lpxkjxqgo3wfj5mhuukyxmvqewk","USD"],[0.20253,20200403,"cli_test_ag_http_listeneromvibh3xbkmxh2skwxdyz5c7ijpz4x5xzlvr7n4zquzytqc3bd","USD"],[0.018945,20200403,"cli_test_ag_http_settingsconkzv3hfoxx5q42p24murwp56boeafukxns6zoq5wdhisfguf","USD"],[0.08034,20200403,"cli_test_ag_identityzg2dd22usnxt4vyt5hrxfoht2rywbhar6vxyplvgengenc25ayjgp7x","USD"],[0.030484,20200403,"cli_test_ag_no_wait3hhgpndpl5rh7kj6hlo6vf3fg2gztvtbefaysm7lbjai3x7vqcyf7gh6","USD"],[0.054355,20200403,"cli_test_ag_private_ipnh6s2mt7nr2bc6ga4ol3brkxrphkdrijpsyip7qklmnhwznkcuacz","USD"],[0.109457,20200403,"cli_test_ag_probevqj2sjfnku725bojlv5n4gl3gdczvwrnfc6aaq3liz37odonb6ps6urbmm","USD"],[0.081553,20200403,"cli_test_ag_rewrite_rulesetssukaghuzmsvxnveo7efopuvn5ktywyc3dyutt2mmgesxijs","USD"],[0.092039,20200403,"cli_test_ag_root_certviofxdlkqlevqvr4to4fo2gjduczz2n62bd6lkrwxciohirmbod3y2","USD"],[0.087381,20200403,"cli_test_ag_rule7eootq3n2ldpwqyztqmdhor5fbnydt3bt2ntv64otrpkww2c6xbpv3xdltu","USD"],[0.058721,20200403,"cli_test_ag_url_path_mapdkqsnjmkox3247iwwy2pnqksism3chzvex4g4id65jdgvklmipl","USD"],[0.018334,20200403,"cli_test_ag_zone6dhbkfwr3kx326nngjathpqi2prjkrmljs3k2yoq2mnak7kwu3julksurhc","USD"],[0.041454,20200403,"cli_test_apim-ii4dryj3hpqtujryphwhsk25cxi5g54gfdszjyn35i4jtzqiju43hvb5tru26","USD"],[0.164826,20200403,"cli_test_app_gateway_waf_policy_iybcz3bnrni6kjtseuse53cxfnjeqystq63nopzrpy4","USD"],[0.076464,20200403,"cli_test_app_gateway_waf_v2_config654jrh77hbpqtud5ifz4akvw7ko36wjjvwvgptsj5","USD"],[0.201616,20200403,"cli_test_cosmosdb_cassandra_resource_throughput2k6phztna2dfbp2lrddlvykuytiw","USD"],[0.201616,20200403,"cli_test_cosmosdb_gremlin_resource_throughputp2qak6fjykugixja3seopydxh5m4hv","USD"],[0.201616,20200403,"cli_test_cosmosdb_mongodb_resource_throughput2qqhpgbc4x7d43jy4ymxlk2ou3gs7d","USD"],[0.201616,20200403,"cli_test_cosmosdb_sql_resource_throughputeudr7xs4jr2jy6sbgiwhd2r4dlbeyk6ueu","USD"],[0.020175,20200403,"cli_test_cosmosdb_sql_stored_procedurex5tl5l5623a6232nyozgyuhulgjsuob3lol6n","USD"],[0.020171,20200403,"cli_test_cosmosdb_sql_triggerbvedxz42nypvvhy665gsqeoz6msfpgxxhbfyqmz563mj7t","USD"],[0.02017,20200403,"cli_test_cosmosdb_sql_user_defined_functiondeizkx5y3nhibzmff73emt2tffctjscm","USD"],[0.100805,20200403,"cli_test_cosmosdb_table_resource_throughput7i2yn4gq7s4mekalhunczuadb2xchcqo","USD"],[2.4E-05,20200403,"cli_test_databox52yrfbe7molrqhwdubnr2jcijd22xsz3hgcg3btf3sza5boeklwgzzq5sfn","USD"],[1.2E-05,20200403,"cli_test_databox5gpbe2knrizxsitmvje3fbdl44tf6cvpfqbpvsyicxmupsbyhmlcrg4wesk","USD"],[1.2E-05,20200403,"cli_test_databoxam64dpcskfsb23dkj6zbvxysimh24e3upfdsdmuxbdl2j25ckz2uz5lht5y","USD"],[1.2E-05,20200403,"cli_test_databoxeg3csudujzrh2zcvbjytg6gvlkp6sjfcozveffblaqhrzhsslvpr54lg7n2","USD"],[1.2E-05,20200403,"cli_test_databoxfgdxtb5b3moqarfyogd7fcognbrlsihjlj3acnscrixetycujoejzzalyi3","USD"],[1.2E-05,20200403,"cli_test_databoxlekg7y4dtg2pnsaueisdkyqi5mnvmlwxto2cpu3kv7snll4uc37q2rm4wme","USD"],[1.2E-05,20200403,"cli_test_databoxn5n2vkeyewiwob4e7e6nqiblkvvgc5qorevejhsntblvdlc2t373rrvy45p","USD"],[2.4E-05,20200403,"cli_test_databoxoe2qtcqlnxonqpub522jgmpzgeegwhowl2qo6xqgfwtqcd3jzicz5yraawi","USD"],[1.2E-05,20200403,"cli_test_databoxrg2slunrj5vx5aydveu66wkj6rh3ildamkumi4zojpcf6f4vastgfp4v3rw","USD"],[1.2E-05,20200403,"cli_test_databoxu7woflo47pjem4rfw2djuvafywtfnprfpduospdfotkqkudaylsua3ybqpa","USD"],[2.4E-05,20200403,"cli_test_datashare_sampleresourcegroup","USD"],[2E-06,20200403,"cli_test_disk_encryption_set_disk_update_gp2gvog4fgnp7xzdx7hfudqyu6lb72vr7g","USD"],[2E-06,20200403,"cli_test_disk_encryption_set_snapshot_yab76fi2nxofkmskjkqlratuuey37dfrsafjk","USD"],[2E-06,20200403,"cli_test_disk_encryption_set_ubelv4vyfwo7yk36uju7bkmpq7pw6n3twjonmtvuanabej","USD"],[6E-06,20200403,"cli_test_eh_aliasbpr3pqssfszn4nshvbhhu72r2dfleqcuqxtza7nfaqjbzxsmw6nhem4fg6","USD"],[1.1E-05,20200403,"cli_test_eh_aliasdrj6y3jjzz2b5gjynzeg3hlvh4vbevx6axtox4ijutmqpe3uhr2f6zjcvp","USD"],[1.1E-05,20200403,"cli_test_eh_aliasfaxwrtp645isrxreqi6kj6gtvb4j3lh23klbxtfz7d67cc276s43xrosgp","USD"],[1.1E-05,20200403,"cli_test_eh_aliasr6icm7ctnbnlupvodhdxfvgm7ukjbnbzw3w6543qcf232tden7ulag356e","USD"],[1E-06,20200403,"cli_test_eh_eventnhubotzqo5vjss7vhgtnqwhcjgr3wp7uuceqvapdlamlttxoao7hh7vjfb","USD"],[2E-06,20200403,"cli_test_eh_networkjxwd564pafaearewxsmap6gxa44xys4gsls52stkyt34jduo2jda7mvd","USD"],[0.006313,20200403,"cli_test_gallery_specialized_is6boc2j4vwcm3a52zicjyptnv64gkmi5uuaa5e6dq2tpc","USD"],[4E-06,20200403,"cli_test_keyvault_cert_importtie2qyp6jemlojyy7nv4qpeavpczxpntg47q7jiebgojnf","USD"],[6.6E-05,20200403,"cli_test_keyvault_certcoxyuucjje6oy5af3u7ow4cl34nmgbr4bzklapulot3ougegdbonk","USD"],[7.560108,20200403,"cli_test_keyvault_key7dbjus2plezksg5gbx56xv4okyrlccbac5sh6qidetcfaqt5cvnlow","USD"],[0.00063,20200403,"cli_test_keyvault_pec7gqrxn6caglmddnfd5yfuc7t46jw3njjz64yf54ergm7graoursgfw","USD"],[3.4E-05,20200403,"cli_test_keyvault_sdmsgdudbjkzsub7r2rnpqhwm67ncgfgjde27xsi7jnqb25kbepuvtq7c","USD"],[6E-06,20200403,"cli_test_keyvault_secret_soft_deletezbjdpnsa7slcaposhktupwsvip3kmq3lb3p3jun","USD"],[5.7E-05,20200403,"cli_test_keyvault_secretbapopzgk3g7ov4ry3pwycd2cpoucqaqr7apwwmxiran2hro27wx","USD"],[1.7E-05,20200403,"cli_test_kv_cert_contacts6gxicptr4qvk7g2zzhk63u6fiu5xhqvrrr6ijx35fn4sd6oqtt","USD"],[8E-06,20200403,"cli_test_kv_cert_download7ew5dvtzltikymbcbmefo7ejvl5fxy3hsr6yki5kyucswkm4mj","USD"],[3.4E-05,20200403,"cli_test_kv_cert_issuerkvvfum4v3epxdj7hgy3mor4yp32dq5mnu4tloe4osgy3doahr7qy","USD"],[1.9E-05,20200403,"cli_test_kv_cert_pending4ng2qqwlholspwkjzjsseon2ozcyikdqi3slanr53xgyqhezomv","USD"],[6.930352,20200403,"cli_test_kv_key_downloadxzqpkucy5xizhqqiq7ty5ci35oaqcn5ygsvahfwglpxuucsippa","USD"],[0.000227,20200403,"cli_test_load_balanceraywp5pp4dyw57cxob235ogcpwmdnud23dsvvffc4th7jofe3w7apk","USD"],[0.020175,20200403,"cli_test_lock_with_resource_id7zt4ofhuuqmgz53vrnmaqjwc7k7xf33xz6guuavr7p3e6","USD"],[0.005761,20200403,"cli_test_managed_diskdt4sy7h47eehd5onivbl6kxwu2tq5drfjo2n3ocshoyvwoiacjo76i","USD"],[0.021417,20200403,"cli_test_metric_alert_special_char4xgp4hlahnnzhzaqjb5wyahm7ixi7lcvjtmtzsl24","USD"],[0.00924,20200403,"cli_test_monitor_autoscale_rulesepbdh5nk3oqwch63qb57zhbkgn4z6dvgj4od33v5u4n","USD"],[0.000945,20200403,"cli_test_network_lb_zonetksi6ampc4wo6tof5ws52cbriuugb4vp2dqkoq4ockalj7o76i5","USD"],[0.003024,20200403,"cli_test_network_public_ip_prefix7puitybnupv44dfh255vrlqmb5cco3vqqjx2lxvuev","USD"],[0.027989,20200403,"cli_test_nic_app_gatewayjqnh4uhrspuuclkf4cb3lwg2cmldnaarltm45tl5ez2ccqrf2u3","USD"],[0.007887,20200403,"cli_test_nw_connection_monitor37ipy4nvdvvnqqrq4or7t3datzgidv3xo6cbfbgqfy2ga","USD"],[0.00189,20200403,"cli_test_nw_troubleshootinggjs7szrh4b77mwyqr2rk3xeuv2ulhvkqkb57oplve3we2o2o","USD"],[0.004032,20200403,"cli_test_nw_vmwcsuwrakdqu22qdqbcvzasthgcmz723dmprrj42m6mkit264shp533id4sa6k","USD"],[0.000454,20200403,"cli_test_public_ipz5ctbk2bvavzn7hss3qxtydrjzn724dnr5lktr2b3ti6rm3maqlkthq32","USD"],[1.890525,20200403,"cli_test_redis4fi3zmkxvanofwj7til7vfg65gvgwee7f52qeqekaz2yozt4naljndprrebti","USD"],[0.074382,20200403,"cli_test_redis5w7c5upnaajph7i7m7l23if7az4esw45w3dyuq2lkeq6brn7rwje2jthrrtsp","USD"],[1.896342,20200403,"cli_test_redisdtit6p4uk44zlk7pxobgh4mc5s5lu2ihgl4f3rgdb4v76dpiapgaiyzf3qwmo","USD"],[0.074613,20200403,"cli_test_redisl5c4b6pvpa4n6xqbgzcysvhager37negd7yftbxkgl34vgzuvpsv37p6avn4h","USD"],[0.073458,20200403,"cli_test_redissjldzezn2p7k5ud72cr7ka6sg6tszx2chx2q3uikfsedmoa7n5cntbr3qzxrp","USD"],[0.0,20200403,"cli_test_relay_hycoyxoq3yadaafimlrm3b6dj35pdwsf65iwd2r752qiw7cuyggpbwk6s6nq","USD"],[1E-06,20200403,"cli_test_relay_namespaceqef6osy6vgdgimnvbi37lwwjmfjgc4qzonnl532iqhb43zdmggv","USD"],[1E-06,20200403,"cli_test_relay_wcfrelayyq4q4qcwrl6d2bg3xeiz6znyg3jxny5ljhcaxcp7oumxqchma43n","USD"],[1.16865,20200403,"cli_test_sb_aliasagvtzpektpos4okul2iv3s4u7fl634xzcqcfmkremdyxorlcykxdelkai7","USD"],[27.463275,20200403,"cli_test_sb_aliasjvmz65dvg7inej34lr2j6ymns5ewjlrnrp4z6ylhegesgpf6io57pmksme","USD"],[27.463275,20200403,"cli_test_sb_aliaszm3yvalycherhh6usqybb4tp3eqbckvxbdrujxlfo2b2kgt74tb645a4r5","USD"],[0.584336,20200403,"cli_test_sb_migration2bzgrgnibziigo633obky265yaumvcsvrqmwmv75mnxzbvmuspycrp","USD"],[0.0,20200403,"cli_test_sb_queuevhl2yqvjiiix4fwgw5vp7auytseilyl47zhqshwymzb5reiqjydb3b5rre","USD"],[1E-06,20200403,"cli_test_sb_rules2s7hnbvz4vyoyf46773taksvrarn6dkifpgbub7uli7egyknbquay43mcm","USD"],[0.0,20200403,"cli_test_sb_subscriptionuqfggtkjusyov27srogupvubyxxtiea7kttef5rbzcssu35mwbq","USD"],[1.7E-05,20200403,"cli_test_sp_with_kv_existing_cert34tfgome3g4zylmfdu3zug3t2uofuw52hcuud6r6mh","USD"],[2.6E-05,20200403,"cli_test_sp_with_kv_new_certzfryguc2guf6ab4u7tofq367r5qeefiq52rhmsvgcft75l7","USD"],[0.0,20200403,"cli_test_vm_create_none_options3p66cuoddn7mt37xgcf3cq5dill6v7o5scuhyfiejlz5","USD"],[0.003951,20200403,"cli_test_vm_create_with_workspace_windowsfmzhzcsqj7qlrgbpdnbnpu4s6br7ik7dxh","USD"],[0.002528,20200403,"cli_test_vm_disk_max_shares_etc_yrm65hg4blygtnzv6hxmuommigqykypq5minls2nuo3","USD"],[1.9E-05,20200403,"cli_test_vm_secretsurhf4nialqdhevywavrnjh3ipterd3dwefsrk3qs3uzkgsfjneajxzr6","USD"],[0.003285,20200403,"cli_test_vm_update_with_workspace_linuxnlvcany7mrpqcowcsszgopkwfukf3wdgdy2j","USD"],[0.005268,20200403,"cli_test_vm_update_with_workspace_windowsd6yg74kjwrtl6y2s2j5ogapuy7m6uyibai","USD"],[0.01512,20200403,"cli_test_vmss_create_and_modify5z2xgkuo7wzrsvxk5hq2af7pwahhuwnjo6npnwp3vuip","USD"],[1.9E-05,20200403,"cli_test_vmss_create_linux_secretsme437cmlz3xg62g4362udvkuapcac4j3mkdpxow2n","USD"],[0.00315,20200403,"cli_test_vmss_create_options2quf7w22utb3f7745wfnnqjljz2nvl6s74vqzr3jjf6xa5g","USD"],[0.0063,20200403,"cli_test_vmss_create_options3nfj7lemreryutq7iacumjknipiivvrkcrjij2tw6i7glvc","USD"],[0.790406,20200403,"cli_test_vmss_create_w_agobxbvyxtdf37vbcdbhkslestbrracgkln53awldpghle4xcte7","USD"],[0.006945,20200403,"cli_test_vmss_encryptionbgssk4cx4f24xc6egded6vsudftjmn2cppxm5g7rrpwkcry5vny","USD"],[0.00504,20200403,"cli_test_vmss_extensiona4e7l2godcpa3rg64mi7lpuddshfyklwg3dw5gq2slc7e5w6t52b","USD"],[0.013861,20200403,"cli_test_vmss_rolling_updatezwkqv6dconcq7srpb25gb54zetusqqb4cwq4a2p3xgajhhc","USD"],[0.00945,20200403,"cli_test_vmss_run_command_w_paramsfczxputbjc6fcwz4lmpbpaki5bnxgdiumtzm5jz2m","USD"],[0.0,20200403,"cli_test_vmss_run_commandthvkll33qfdekfkohir362vjj36ijuoydx2uqojmtf6catzdnp","USD"],[0.00882,20200403,"cli_test_vmss_terminate_notification_cqrjgtk6tuuqc2s2xceowi56k2ezz6bp6sj2j5","USD"],[0.00567,20200403,"cli_test_vmss_update_2xxo6tqu2sb44err3nygrdkpmzc4oej7tlnl4ipmgu5moqplxg23wp","USD"],[0.00315,20200403,"cli_test_vmss_update_automatic_repairs_with_health_probe_a2nakvbecmlpqhi6vr","USD"],[0.00882,20200403,"cli_test_vmss_vmsqxszsx4526pamlfwex4pikznpjem2h2qgryyzyoq4uqtybfheypmorlym3","USD"],[0.025725,20200403,"cli_test_vnet_gateway_ipsecru2yeggx7wdumh3jrfh7ppyubpjmd2dvb3gsobsa6ixr5bs5","USD"],[0.00189,20200403,"cli_test_vnet_peering5xfjgkll5kp2qjaam4b6jmxen63ml23ad2au73wbyoc6hrdzfs5hts","USD"],[0.009975,20200403,"cli_test_vpn_connection_ipsecaqans4a2tlhvl2gicjqclsuldahlxge2tcygqahp2ss6qn","USD"],[0.009975,20200403,"cli_test_vpn_gateway_aad_tvqo4isltieyfpz5mn7uqejdr4wp3zpmozz234w4m57ltskwgd","USD"],[0.15939,20200403,"cli_test_vpn_gateway2pvfgxmz37ebnjlq3g57k73qttjkjzvjyc4uankbsohkkxwmpfclm7i","USD"],[2.3E-05,20200403,"clitest.rg247ps3eq6ndc2vpwtmqlp3zywzvqfxkpkyoqt4zrkpczoqmh2pqhk2j5kfbiddhb3","USD"],[0.119226,20200403,"clitest.rg2qgvxjxy46scnjuh6q5gtypebpi5oeuajfgxb7yrrsggnqxrij6pnc3d7ybz2chih","USD"],[1.3E-05,20200403,"clitest.rg2uffjf47bjtaldmjfqdwp3xlcaahn6uidc6obmdhsb2xpvtggmhohkwmamufj4kub","USD"],[0.119463,20200403,"clitest.rg35pihforqftkb5qllg3t75zoxlztjwsmuftgdsphbiy2r3adx3t3spnkzzs2c5c4s","USD"],[0.576767,20200403,"clitest.rg35thfcby523q7c6dvse5qrgdc5t3kekd6jj6njmsvohi3lorjpzfvcmuqddcgwfop","USD"],[0.120262,20200403,"clitest.rg3s3h2izedr4olwdk4jqjhltn4lkukfixgfalhtfjmiy6u3xndqvdkrr4j4jqhx6hu","USD"],[0.0,20200403,"clitest.rg3yyf4ut3dmp7zefyrvgrtpnkir2zvjgvhjfgmwghbqorjxclfwzxyeiski434gc5i","USD"],[0.00553,20200403,"clitest.rg4k5d2qzwqf","USD"],[0.001998,20200403,"clitest.rg4kz6exnono","USD"],[0.0,20200403,"clitest.rg53iiey6sy7e32dv4363we3lfvm42nd7q24xlraapas3tlqla2xdllv2awy2gvzqx5","USD"],[0.001097,20200403,"clitest.rg5k5e5u5iqz","USD"],[0.002258,20200403,"clitest.rg5snz2q6ibvp3c7724vcxhdohqld3pnnp6bmu4myz62omvookad2hgbap4jc224upv","USD"],[0.000517,20200403,"clitest.rg5zjabytlln7cfln34on64kdlcjrmzyxsgxikxjx5pqzqmaqhkyj7f2edhqpl5nls5","USD"],[0.001256,20200403,"clitest.rg63yyjmj7mgr2q3td7b7wr4edercrjfh7h7m6byh3lhy2hfuq57ovvqjjdeojdzlnh","USD"],[0.0,20200403,"clitest.rg6ajbgu7sicue53hg6mpeyltjuungen3v6s7uao2s3bwuupxsezhlfl7lcqzh5ezxq","USD"],[1.3E-05,20200403,"clitest.rg6i4hl6iakg","USD"],[0.0,20200403,"clitest.rg6ja3xu2gdcddz4j57b52chj5gq5ijndhw4aq4dqdi33n4to33w62uhdbz2slsgdcq","USD"],[0.120385,20200403,"clitest.rg6mxjzuorkskzxoisjj4q7leopfu5mge2nncxfuw33pn7w5rzgt6nqhx3f2koq427p","USD"],[0.004622,20200403,"clitest.rg6ujl5hcyjjhzb754i3foytlvngantubqet4xqcfoe6ke5olegyd3mlo5gmc7qmhge","USD"],[0.508066,20200403,"clitest.rg6z7nujzskrlfdtbf64e2vm3gfnqtblcuyzkofhucriqfhmkgmppy6lgoqfi34r47d","USD"],[0.0,20200403,"clitest.rg73brdb67p56oqyoffurockohfnrh2oioeou6oaswvz63lvkpjz65pcukspdgwqymp","USD"],[0.0,20200403,"clitest.rg77vs6mxm2tjkw4m3ojm4i7e2ulubixtqqixghvie6ovlfws3weh274hke2n2zzl7d","USD"],[0.0,20200403,"clitest.rga2pwem7sln4kr37u44cnw3wvym3wgsi5scs75xfd5ahkiaao2h7r4lm2mnmgzdtac","USD"],[0.001358,20200403,"clitest.rga2ztamw63nvhwdyd4kbcpejrpswdt6cq43dygaknzc5xqczbhzvqa5yrgmr574v7a","USD"],[0.005216,20200403,"clitest.rgabbcthpvwv","USD"],[0.000611,20200403,"clitest.rgaqnmmo4aevwm2a36ceps7l7pvxk2m4i37mgjfegjfebjun4ktjreooxtcbqvz724a","USD"],[0.670495,20200403,"clitest.rgasdbrndwzp3wnhq2m3pi2lli6cljxsbxngfgzr2ni3zbhn3wrbexr52tkbfxpyn2n","USD"],[0.0,20200403,"clitest.rgbxrcltdsy4eina44my53y3bitwpv4cjxjckl5oufqx2tnmqvtenfuorgkcortcs7x","USD"],[0.0,20200403,"clitest.rgc2pdynh6bhjnmqzdaem7n6euesvwnjzyxo4jcahylblamksrihmkqpywamaixv7sz","USD"],[0.001167,20200403,"clitest.rgd3vgkvglii","USD"],[4E-06,20200403,"clitest.rgdd3pvc445vb7vkctepirlk7u7ehgatpxqkt7etu7jzzxnby36lhts5532grmo4xqt","USD"],[0.184966,20200403,"clitest.rgdmym6so7ox6fd3cpjk7tr2u2vi23rcm6eptgeiy7i4srixnyih54k5lchmex66yoy","USD"],[0.120236,20200403,"clitest.rgduxuhyeqzrek7s3jfr776qvugv4qtmrxnlqcwiodxu2wihvqvuajr5bvtbfw2c74d","USD"],[0.120278,20200403,"clitest.rgdzk3w2kpwtbjaippkz6nrab53pinz3nbdcoxurf2fm477d5j2qa43kpmvlh34nudn","USD"],[0.006212,20200403,"clitest.rgdzzo2omvvn","USD"],[0.000541,20200403,"clitest.rge352ysyt6ohkhwn54ujzh3e33zhwioip67gowdrqzrdictzprdfp7jxdybfdc3dma","USD"],[0.0,20200403,"clitest.rgeatw466f55nibd652xyo35rr3wvyaaiohgjp6hb2rgox32guylejxli2zn2jxtbbs","USD"],[0.000315,20200403,"clitest.rgeha33urrm3yvnmjgnrcrgl2jo45cb7p2jcfxckgdjixmxw7qsl2hqsvyiaeu4etnd","USD"],[0.0,20200403,"clitest.rgeqcouiliymexed375d52j7dx5ecynxp3upiojec34exvkgdaksc2cat5gxnezpfo7","USD"],[0.0,20200403,"clitest.rgf5ntefaikegwhvlalea4kj6qy3roaevwee54x7d6o4bscnc64xcvyjykpndowbntd","USD"],[0.013051,20200403,"clitest.rgfcwdnofirhkntrxebi5znrx7skjpf3xcdwzeee6ev5nmqvehq6ep6tfyr3hxei3mn","USD"],[0.113387,20200403,"clitest.rgfqradpgobitnl3cuxvp57tgcxz7w5baifcwehpxdiltabzwvtt7yeoiyvl4fvckes","USD"],[0.000227,20200403,"clitest.rggjrx2nuhzhyaa2yilwxgwoisyvglgramsxo5dwfvble7aajaah3em365dfvcyetzm","USD"],[0.508065,20200403,"clitest.rggplxul7vj6u3hewelqoki2e4ojrxgxo7lzygsy3x4tzi3pcv4do5szec36fopk4lu","USD"],[2E-06,20200403,"clitest.rggqe5qp2g4ikjuk4quunjltoatlnnfvg4jy6lw5mup4qcbrvofg4uioaohki5xkfem","USD"],[0.0,20200403,"clitest.rggvii65ft2znruncatbe7nupztoifotp3kbtemqu4zyx6fr7pq2fv34gqwudc7fwee","USD"],[0.001823,20200403,"clitest.rggwlnccve3abtwrpdtfqp4lpxsiphrdyqbtkagcs5p4znowzey5qpfxkjsz6y5i52w","USD"],[0.001669,20200403,"clitest.rgha3ntfc44xta7sr3jytaifkukxo5sbj7vum4y3sk2nnlncdpkulngeq6n64rsjtni","USD"],[0.001285,20200403,"clitest.rghux65pxe2d","USD"],[0.000894,20200403,"clitest.rgi6pmxjklybyqbgvxrhktkj4wafqlxsgrbkhpixuexbzqt66rvm3sg42w7weqfmdr4","USD"],[0.120152,20200403,"clitest.rgib3viqdhrawwnaopavpcsc2u3psfod7wlami5tg57borlex2io2b7nolpz4qxhm5p","USD"],[0.000789,20200403,"clitest.rgifpn25bqc2","USD"],[0.0,20200403,"clitest.rgii6fsqwoe4gjxb6gonym4pgroeszhsqdcmiof3ut6r5vknznet7y7swvvr5saae6b","USD"],[0.0,20200403,"clitest.rgilwxpvfb7ceqb6lwqgvzzlyjrv2wrmqvvairkvkpli2kplrd34uvh6sjc56whehrw","USD"],[0.004733,20200403,"clitest.rgipn3nb7jdvwmgaw6jokpce54slbsjahxjrvn3bokq6yfgi7mpzw5vi4yzh6vefivx","USD"],[0.0,20200403,"clitest.rgjepsv725n5yyzcnpj2mjzjrpvztzqlft2rn3ywv2pddtr3piqpnrwfzrhwa5mfdms","USD"],[0.0,20200403,"clitest.rgjl4hvwmftqduf56lkc2rsjqy4hubkpe5tuhlxng6zu7aywikac4qrdzjywhvxuk2b","USD"],[0.001292,20200403,"clitest.rgjlrtsd6s7bwvajwo7kgpn7iyoco44m43oa4erfcqk6okn3xphifngat7garhltljd","USD"],[0.003078,20200403,"clitest.rgjmg4x4jhezrks2tsedtkwieofdpp57pzn2cft5auglpazus7w6kufepmdsyecndlw","USD"],[0.003365,20200403,"clitest.rgjv3vb4aux4","USD"],[0.004227,20200403,"clitest.rgk3at676jqghxyl6pj3ezyhw2vggfdeuhfyxybpxvo4dbca5szl66hkhy47ps5py27","USD"],[2E-06,20200403,"clitest.rgkjk5zpf6vpm4eazar7zv554ytwslfx3wfo6vpev4ypj3664cr3nnzzrhgiio2hvab","USD"],[0.001549,20200403,"clitest.rgkrlxa2byqjtq7cefxjzxstyncpj2iahzy2ezqod5iqonopim3dsaxkw2z5ctdim5o","USD"],[0.0,20200403,"clitest.rgl5d572wfsn4iq65yarnzs7sppjzn4zgniai7p2wia6l6e3hdxqvkane442hf6coxh","USD"],[0.002688,20200403,"clitest.rgl5wejzg4errdzg5wqeymj5ka4eyvjjrple57sbyumlsgjc7tumyjlznlmbyf62sjk","USD"],[1.1E-05,20200403,"clitest.rglehb4t33v6l7aav6lrrilj75qviy5knltkxmzqccdi5h6gd2gk7bt7a3fnwaoroe4","USD"],[0.000422,20200403,"clitest.rglxdzwfoxytt44v4envog3wffyevcr32tvkdaxd7eyi7gevf74z2mkuteqcmj25s24","USD"],[0.0,20200403,"clitest.rgm4jnm66skishhnohqqgwhuwtqvlyvb4qtawfmsmr666njbuh4hie4moidarlaldz6","USD"],[0.110863,20200403,"clitest.rgmaaqeht6cprb5nimakv77yofqtntwqchgikatriqhwdszd26lefi7yj5k6b7s2uiy","USD"],[0.0,20200403,"clitest.rgmeihohwzdbsdufsgov6emhhw7f7fzu5t2ntylhto6vx3a4zt3brlqhez3q2pjrom4","USD"],[0.005878,20200403,"clitest.rgmmyleflfqg","USD"],[0.003178,20200403,"clitest.rgmubuhn2tr36zhotgifxtkqafojuenkwwjs74cih3hcw4v7jqrft7jxypzkn5avtmg","USD"],[2.3E-05,20200403,"clitest.rgnbonippvgbp4jle2vhvi2n2xyteloqtestfy3yareznsycijpu4egb4xdtyvy3jns","USD"],[0.0,20200403,"clitest.rgnfxu7jjgpy2gvyofxq3qkpqxp25avqtq4daod7kpkn7azeqhtm2fuh2bwskyx5hcu","USD"],[0.0,20200403,"clitest.rgnl3lgnowhbj2ssexmyxi7xzsqzurljch7kzyjnbxlcrwm4q2oeihgxy2mx3s5e45l","USD"],[0.004262,20200403,"clitest.rgo2bx3y7tet7qstecvm3rlbjw7v5jums7zjwnkbtslnhqwudkp4awflsomy7nv5zpl","USD"],[0.0,20200403,"clitest.rgocc3egrf5b5pfd3ea2hfi7qcciamxzqn7lmnoxsmi3rt44kfwzel65tg3gf3oqpew","USD"],[2E-06,20200403,"clitest.rgof3oy22ihkrkvxmos32f4x7rg662il55cz42puy634klszugqsoj3kafahile6edj","USD"],[0.008852,20200403,"clitest.rgoiuekzpb45ikpyk3xjc44dd2622po6g6wtjezmd22jbreew3wv234yp2p6ok3djpw","USD"],[0.004069,20200403,"clitest.rgokb2iemokrba47wbnkwknqvr7qdlhaqpehdvlouobgcfv7dwznuo5sork7zzy5adx","USD"],[0.0,20200403,"clitest.rgp2bwun4lw5he2aff2e7bdk5o7slfqqduzzuaytse62n3qrx2bfjruhgg6jzbz3uxu","USD"],[0.120245,20200403,"clitest.rgp535jz2dxemblsqlvzwsk4ehth7eprd5yny22fi5rppnick62nncsonvlutvmvbje","USD"],[0.000512,20200403,"clitest.rgpcjzbtyiskl4sicspcuzk3x4n6csgtif4d3mmy25gdnf4sjw7b2nez7nz3rvqbbvt","USD"],[0.167867,20200403,"clitest.rgpkh4rs6hornojpz7i6ivcnglu7546u5a3zvwcqjiwjjkmbau7salfdp3wpeurug2n","USD"],[2E-06,20200403,"clitest.rgpp7umbplzr35tazjcayrhmwc2webmkfxh3rgywzkobi4sge6dsgdczmnwniueh4ia","USD"],[0.000105,20200403,"clitest.rgpqzfkotnk6g3cvy4lmfq3y3yqt4qo37c3qktmzcnzlijle7mogdqpn2vbsxjhft36","USD"],[0.000499,20200403,"clitest.rgqjhjuoq3cvukef6u3mu5fiurydwtyst6dpw2soj73utozlw2xhlhbkkmygd46skrf","USD"],[2E-06,20200403,"clitest.rgqzxdc4qlur4ldpzn5ysrsgw3iq7ot2pjm2twuh5h7mydbhfromknwnwmbcte2jnf6","USD"],[0.11925,20200403,"clitest.rgr5sog7j3q3a5o2vy3r4gpl3ylcovxfcbkttkotqe653iz4mlsrbjns76tv4v4lbqq","USD"],[0.199796,20200403,"clitest.rgrbzhabr2albk3tbadxjetf4rieq2vo27br2upnbfmj4eggvypihbkdkn2watbfwcd","USD"],[5.4E-05,20200403,"clitest.rgrjyp2j5v53xnee62avvvtol7jpn55inohh7zhxbjgkbbofhxrjmatfglcynblnwvx","USD"],[2E-06,20200403,"clitest.rgrsyxntxfpaaox5qm77j37jgojydhj6vgwpffnchul5hhnd2txbb2upcw5lpcrayhz","USD"],[0.0,20200403,"clitest.rgrvxefucnadmq3ibfkwjzgjw6gtk3dhptds5d5idyuzbsaaxlbakzgx6rfwaew4cu2","USD"],[0.508065,20200403,"clitest.rgsy5rwwdnd6vce57ms6wkeetbhyhqqoc4dexhcesmpxe4v7ogmaibywsgx5uo4vtsh","USD"],[0.003197,20200403,"clitest.rgta7j4myco72yxca6hdvuz5gjmlpsn7t7khngws3ngnfjzqmlypiiweybofdccjkqq","USD"],[0.006357,20200403,"clitest.rgtlglxiyyw3xyotgtabplbjdeqkls3fi4fjiycchg5uwdwk6n7kdnyihs6l4b4fhac","USD"],[2.125447,20200403,"clitest.rgufx3u5mzecknufst3rwrkywotkynplzmgtt5unt4f22d47hb2r7eymufl3rgjavig","USD"],[0.119262,20200403,"clitest.rguk5hr7imq2zbvjzaogkt7gke2onbbn6sr3ux5rfdiqufofpfrmblbmbzrtd663lkn","USD"],[2.696838,20200403,"clitest.rgunctodvbnuyducby4fucytb4yiybbyokfvrgcyem3kjo3ovvxss23b4hbwfzug57p","USD"],[0.002394,20200403,"clitest.rgunvs6bhy6h","USD"],[0.167065,20200403,"clitest.rgvjnkyvjxmgj5nubtvoew3ok5t47nebhr266gplmpvliqztzgkbnrxoxgfwnujctwm","USD"],[0.002057,20200403,"clitest.rgvxv2guoueqmqf5u2krgj425ozx5jmx5z6zlmoqhkykrz5yburrxlqz7ctdhmmurfh","USD"],[0.184966,20200403,"clitest.rgwkrus4kbl6rbulaxshckkhktn7kgp7eahtivs44ygadvhrw2tfeyzshfrozq6vayo","USD"],[0.003129,20200403,"clitest.rgxkza6l7we2utynu37z4txgz2jiqtjcnlfzydsfguytbwq34lxswzfwmvvupojtswl","USD"],[0.000508,20200403,"clitest.rgxssqukwzu5tc3vvtgxrgfoynav2luio3nq75qqspj4hw4xzdm7p5q5vanfcrd4pyn","USD"],[0.0,20200403,"clitest.rgxxxzr4gg5ptpll3q43s6wpfkhgbevwgmegdtojnt6zye7qaoi4mrglsigzdzqsli2","USD"],[0.0,20200403,"clitest.rgxzclba2jccc2rbol57b66u63kitks2y6jqkevsam6jroq6w24vw22hwupt245rc25","USD"],[0.00824,20200403,"clitest.rgy43pqpl6fpgsnc5zsbbesfhoyoumnreizm6xuw6ipar4qt7nlt3ko2tpgsqycwwwj","USD"],[0.119247,20200403,"clitest.rgyreu2qkpgqyrm56i4cocrrcf5xb2uzmvlm2lau226cqk6zetyu5olii7figpx2mix","USD"],[0.003011,20200403,"clitest.rgyw63hsmxtfaoylwitllpqtgwfdr6furtbfxllykemfrurdhoiypg7xefwxemnw5xj","USD"],[0.004844,20200403,"clitest.rgyxmi72kbgzfg7icxvb4dr47phj7oimwysp7jqc6vfuj7agpktwp6xnpu6ujovvoxd","USD"],[0.00288,20200403,"clitest.rgz5hdtqnqkjiadf4ftegi7pexk3z6xij5qp2bdqtsul3dndqg23l3i6uxqqwq5p2mo","USD"],[0.004081,20200403,"clitest.rgzhgp2tmvd2","USD"],[0.122006,20200403,"clitest.rgzj3xc6lmggzuorcimokxvkq7lrrxtcty3dilmrxzwdjcq35dqahmc7e7snha4milh","USD"],[8E-06,20200403,"clitest.rgzxfxvsuwpkltocrzlotwmvar47zxikb77cddz44otvy7u6bw4wbgri7cb2c6hlpsw","USD"],[2E-06,20200403,"clitest_privatedns2go4dclk55f73dhsisin7mpfnx6ede5cyvwknphfe36ycdaze6upxwraj","USD"],[8E-06,20200403,"clitest_privatedns2uguun4onfennf5zjsbnvfm5ay64u4bgxqiiluckzs2w42s6pyqymunoi","USD"],[7E-06,20200403,"clitest_privatedns3pe6lbfn6sewswiy2mvtholv4pahij5qwmke2hrsuoy4ugwvvavwcfhdq","USD"],[7E-06,20200403,"clitest_privatedns3vcgl2d4axrfbog6cas5qnkwg3ic3wy4drw44ah2vamz6nrpglw3u4fit","USD"],[3E-06,20200403,"clitest_privatedns4ge56gomt2s4d4cadb2xgy6h2un2muea32wc6jqcduwpszk5oxc3hni45","USD"],[9E-06,20200403,"clitest_privatedns4j7tk5p2c2qxbuxlg7md5yxlplfgriiqxtsqejza6s3aqjs3ph4tfkeoe","USD"],[2E-06,20200403,"clitest_privatedns4skjv57fj66ney6r2oqlt26f3ypxmcfypbtfjou5b3i5l46alv6z4j4uu","USD"],[3E-06,20200403,"clitest_privatedns52ftgnjkayi366mgoerqmsn4fbryifprmkjxuprl4s27gc5z3gcsrwb6a","USD"],[1E-05,20200403,"clitest_privatedns52mps7kf3hjs6oiom3aujedpk4cmund6xyqycxbbqxzjwscfxkzdum6fq","USD"],[3E-06,20200403,"clitest_privatedns5veltzfqlxzgcdomrrqog7ibrmjgys26ng3fsqueihq3c2qp6edmwszh2","USD"],[2E-06,20200403,"clitest_privatedns6ezsvgqh6ueaymw4wrv4ttw2fenwha3sztkjlnthvj57eti23mkalqfvi","USD"],[7E-06,20200403,"clitest_privatedns6mfeahhgdcjlvfz6vo6jzyt74jysso7tgr22xvq5v5haelan6du5qkpmw","USD"],[1.1E-05,20200403,"clitest_privatedns6ncqx7silnote4xa7lcvy2vfsqb6nuaefgkwdumdlst2l6bc32h5snypt","USD"],[2E-06,20200403,"clitest_privatedns6rpc7si4uz5pc2vlbdvmdseewcvob473sjf6ns3fsxmtjl7pf7wxqhazr","USD"],[1E-05,20200403,"clitest_privatedns7ldxml52wqfvonzsixuoce47tqimxleeht6ippusocrfhhfuaaca4lvzo","USD"],[1.1E-05,20200403,"clitest_privatedns7staugumg7f6pbq3qfy2ieyksgefqs43vv36dohzo3yoreqktbqv4vjh7","USD"],[3E-06,20200403,"clitest_privatedns7toctukhjzwpla2b6szzezj5d7ofei2w4rfo65xtdjkyknsc4jymw5vke","USD"],[6E-06,20200403,"clitest_privatedns7vife3s2t7dwick35rquplwebxmd4n6zc6y54ozdkpdwrw3imffpnoulw","USD"],[6E-06,20200403,"clitest_privatednsazhmrcipkoue2lhocsqdduyz7v3h2hadeuunqmsurlaonuqh5v62m5glm","USD"],[2E-06,20200403,"clitest_privatednsbokq3sznbrofypfyp4fn3kyyfwowl2ywtcel2326prqtev4r45ef22b3m","USD"],[3E-06,20200403,"clitest_privatednsbpfh3djwr6qjyxdw4wlf6rrr56dawlnmrrtdwz3ikjj4fdqpvdtbsvptc","USD"],[8E-06,20200403,"clitest_privatednscgaqg4v5hxnbg44hoyy4mqvmfdgsvvzwnzujl2zsckv6lk456f466obq7","USD"],[2E-06,20200403,"clitest_privatednsegm3pxzl3fzooxry6ielxj36hncedzhscjee757bncurevtkx5dpzhtq3","USD"],[4E-06,20200403,"clitest_privatednsep2zicvladsy6arm3wv75mfvb3l4uc2bcrlkmcrygxv44hrgc6ir6s6k6","USD"],[7E-06,20200403,"clitest_privatednseuqegcuxbebie6y2cvcqubokxxkwqznxzsrwqocozshbb73murxjxeas3","USD"],[8E-06,20200403,"clitest_privatednsezfime6ogijdvtk5kfqngvwsv2aytb7fjgedlwr3tudk663nadyfuumwb","USD"],[8E-06,20200403,"clitest_privatednsfqz4i4i4bchvja6bgmmmjokv6cfablw4dlbdruci72wwt3nmuirf2u2al","USD"],[7E-06,20200403,"clitest_privatednsgqz3aft4fjdvaef6pkigonxugwwkqohl24u2v4bqrh3rl27wcuxa33oia","USD"],[2E-06,20200403,"clitest_privatednshyhlqhvrstknpk6gkcvjyidmdcttbb7elkyma7grtbdosjnfavtrwxat6","USD"],[3E-06,20200403,"clitest_privatednsi6yr5376llt7l2vxb4vnhsp3bypnzavbt3sghpvf4s725floivafevrt3","USD"],[1E-06,20200403,"clitest_privatednsje2h2kzsu327nkrwv5eywkar25prw6r44e7ju5s235kkoi6f6hzb2nj2c","USD"],[2E-06,20200403,"clitest_privatednsje3mktujc6brcgiafxppdyn7pojo4mgkhrsr3iiaomma2awl3xhz3hjeh","USD"],[2E-06,20200403,"clitest_privatednsjjnnnebmo23fod6aeokf26k4dbnyc4k7bfzmyagi6yv2tugzizj4you4j","USD"],[4E-06,20200403,"clitest_privatednsjknp6buykyekp5bxylmjao4gvlc7gjtjxip7fvzqn53imqxfsfnrydysu","USD"],[2E-06,20200403,"clitest_privatednskjmpnecz3vj2ihzxvjll5qrmhx7oglxzjbdygrowd7yq5sceghmwespus","USD"],[9E-06,20200403,"clitest_privatednskujkczauneuf6ve4grtrugmqhz56f2if6klbkj6psmap5epwzndnznvry","USD"],[5E-06,20200403,"clitest_privatednskzglzehjuydmi643cvpneoqydpluul7a646b2j3yrkgknjvvklbyjcajf","USD"],[2E-06,20200403,"clitest_privatednsmtjjc3ed5ciggxai6tvicagvol4yazblbe56vyny4txbnfhyhs35avnlw","USD"],[7E-06,20200403,"clitest_privatednsn4eya35pidu3byngvohxcq7exe4pftq6ej5mlrlnjjzjuhrans4qkfduf","USD"],[2E-06,20200403,"clitest_privatednsnagdetnkhpnopi4x74p3sja72bweqze3tchzaj2sosv4ujhzndracfaft","USD"],[3E-06,20200403,"clitest_privatednsnnpmucnfgbshdv6qkiitejv7mhtfsu5v6b3rj3i5b5rly7fp4raaitd74","USD"],[2E-06,20200403,"clitest_privatednspk4enb33aumiv5ri7cd6rfvk5cl36lslzrnbfnlkpeh2k4apqf3qypffk","USD"],[5E-06,20200403,"clitest_privatednspkrttfiif7dpj6gwe2wp54i7ychirosdmtlooct6e3w7xvdi6bxbd5jpe","USD"],[6E-06,20200403,"clitest_privatednspnlzktgihn6n2efxsg4jvvpqqcbuasvoxpx37k4qii4vl72nvz5utkpqj","USD"],[7E-06,20200403,"clitest_privatednspopj6cyv2gh47vbile4xb4un24k4pjjyk36qownbywew525p2wpvh2koa","USD"],[3E-06,20200403,"clitest_privatednsqx6mbybtvd7dhrz5olsj6lizen2md26tycnlenq74zpwaq3tntxgefakx","USD"],[7E-06,20200403,"clitest_privatednsrtdxjszykyxhxfz7672q5dojo2n6j7qp7cdfodwzjklq2cmm7szzz2yen","USD"],[2E-06,20200403,"clitest_privatednss5oj7vebp2wdj2c5j2jifnlz4ouxxr3y2t2274e2nweo46ato74bmdsy3","USD"],[7E-06,20200403,"clitest_privatednst5ri5wbhyrg4eqotu5nkfb56zko6m5qo2jdgmagxdgaejqdcmqrfpawii","USD"],[6E-06,20200403,"clitest_privatednstfmu3gbd5qmxmklauap2jkdzzb32f6bgdvfgoveupkwtxlbohclmjok5j","USD"],[9E-06,20200403,"clitest_privatednstyzcatu3mub6hop6lgt5u27bpgm5rpkxw2ze5mx4qtrbdc76mev7jyxa3","USD"],[2E-06,20200403,"clitest_privatednsv7qr5rbk6saa5jhehk6456uz3tehsncxetjj5ft22yjsfmvonsu6mahcl","USD"],[3E-06,20200403,"clitest_privatednsvqknis3tsq5lxjlvk7q4oqfvepijqcfl3whfcybsfdmecs7j7yqjz67vt","USD"],[7E-06,20200403,"clitest_privatednsvukg2qzry347vdwdfvdy6jids3ij63ydewnltxk3fxu5mm2u5oi23pgh2","USD"],[8E-06,20200403,"clitest_privatednsw6436nojqqk4cqycavbjqgqhmtuv76icohfcsf7z5gcalcksqffvzj53m","USD"],[2E-06,20200403,"clitest_privatednswif22j34ndu2rlefhghf3hfcu6iirzy7mybn63nbyqvy2qbjnovttepkc","USD"],[1.4E-05,20200403,"clitest_privatednswiup2hfm36or7vctlmjmebvxgdbfowxeifrbxamdicap37uxbliw5zbnv","USD"],[3E-06,20200403,"clitest_privatednswm54ptesyageiogf2sqvv4skigi3gns5rmudqkl2kvwmg2oxxm7n2xq2s","USD"],[3E-06,20200403,"clitest_privatednswzvaeysmhpedjaj7bxjgyr6hcrrpdobptkxrbbwabpyohefpmfqmmkdnu","USD"],[2E-06,20200403,"clitest_privatednsx2riukziztnwselhgjmpyuvsgua5mzkiorbw52l3rshraxtlg2mtubpyu","USD"],[2E-06,20200403,"clitest_privatednsxh2b5cyhabu7hayh4i5v3iesbf7ga2udj2p6rutq2sanv6r63ngb237sc","USD"],[1.1E-05,20200403,"clitest_privatednsxu7ovvwt72hphdu7h75hg5d6upne7vziprvbvwcv4ghii7miaswtqh6c4","USD"],[2E-06,20200403,"clitest_privatednsxxy55f5zrnwxfmrfj4zpfcglrwnsibbsyoffm7npncsbvi4ld6k4nbnda","USD"],[3E-06,20200403,"clitest_privatednsxym5zi57jmepgx4vq76wsto4dj6heeylpqrhzbl622tsalhltuk5b5nmz","USD"],[0.723336,20200403,"clitest2ybpwzrmgl","USD"],[0.021475,20200403,"cli-test-stdssdkbgq2vnztksixc4bakrkqhwzn7zy2nigmjsjldhqozdwoi3az4wff6xdh7ik","USD"],[0.002475,20200403,"cli-test-stdssdkqnlvoewfk4ye6flxrhzkhuyrk4ba5erwpwtls5oagb6xqcbqgxwtyxtk65z","USD"],[0.000361,20200403,"cli-test-ultrassdwabbqrhi65okygomaehd3h6s7dejqymmh72mbpraraof6xaebeszxfxezl","USD"],[0.004123,20200403,"cloud-shell-storage-southeastasia","USD"],[6E-05,20200403,"cls_test_adls_file6iyi2fni23tneovhorshrkpsxuewbdbmlzx3oem6m7cyd5qlyzlkaiuqi","USD"],[0.015153,20200403,"connection_monitor_v2_test_3qjh7ercftbltftvflssqhpu74n6pvopicnlfipo2gzdbe3j","USD"],[0.020662,20200403,"connection_monitor_v2_test_4wotnymxcqugpbxtrnysbz5y4mdwl36esewgix64jklzu6y3","USD"],[0.004446,20200403,"connection_monitor_v2_test_7bn2wgvr3spurhwnptntutkv7dejqzu5kkefgq2en3mxm43k","USD"],[0.016566,20200403,"connection_monitor_v2_test_7dnre7nc6v3nrqa2s7557o7vciufegdeprbjvbjn5bwesb6r","USD"],[0.016971,20200403,"connection_monitor_v2_test_hyzoyof7muxs22igrfwr5gxqphto6byswwbj6qefv6y5tpnn","USD"],[0.020004,20200403,"connection_monitor_v2_test_jb45plhagrn3ykx642ryq3557go26eg7qu6h4bx7fwe6pioi","USD"],[0.00657,20200403,"connection_monitor_v2_test_jfs27vjqsg3w32c76bgey27hkr422vvaiqy223ixgys2bjz2","USD"],[0.007326,20200403,"connection_monitor_v2_test_t3vuf2rip34c7r5nk3cxfsqfplyzwo6zdv5uwbi5ftespd3w","USD"],[0.00657,20200403,"connection_monitor_v2_test_tedp4byge6tj7rnsrun772nf6sr6wcp7oio5hrcv7x7bul5e","USD"],[0.007074,20200403,"connection_monitor_v2_test_tu52iujkduzkwjb2p3sszurnviawefvovdkdzrsbwr23mqwu","USD"],[2E-06,20200403,"databricks-rg-my-standard-space-fez3hbt1bsvmr","USD"],[0.000477,20200403,"defaultresourcegroup-eus","USD"],[1.536182,20200403,"emerald-city-bookstore","USD"],[6.306511,20200403,"fanqiu-vm","USD"],[7.42601,20200403,"feng-cli-rg","USD"],[0.055444,20200403,"fytest","USD"],[0.000123,20200403,"harold","USD"],[0.0,20200403,"harold-test-rsg","USD"],[0.040827,20200403,"hdicli-26xiy","USD"],[0.128676,20200403,"hdicli-3asnf","USD"],[0.482753,20200403,"hdicli-7xduj","USD"],[0.149698,20200403,"hdicli-cq3u3","USD"],[0.050657,20200403,"hdicli-ghihs","USD"],[0.095212,20200403,"hdicli-o4owp","USD"],[0.027291,20200403,"hdicli-ofdlr","USD"],[0.040812,20200403,"hdicli-oqgh2","USD"],[0.027236,20200403,"hdicli-p2gpj","USD"],[0.040892,20200403,"hdicli-prdlx","USD"],[0.05262,20200403,"hdicli-rquos","USD"],[0.108877,20200403,"hdicli-rztsh","USD"],[6E-06,20200403,"javacsmrg46947","USD"],[0.006124,20200403,"jlrg1","USD"],[0.162603,20200403,"jlvm2rg","USD"],[0.012979,20200403,"mc_clitestcbe6rvaev4_cliakstesty2xmmq_eastus","USD"],[0.54432,20200403,"microsoft.default","USD"],[0.00126,20200403,"networkwatcherrg","USD"],[1.52712,20200403,"new-experiences","USD"],[243.839088,20200403,"qianwens","USD"],[4.5E-05,20200403,"storage_blob_restorelgsnaopzuzblnuxuzojq7eo725opbpfmp2jwlntndhozoedq6chvyzq","USD"],[5.348992,20200403,"storage-v2rt-repro","USD"],[0.014952,20200403,"test_network_bastion_hostdhdxwuow5yoysbryf3ukgdbvkk7pfcat7cvgtixpwkolmhzfzk","USD"],[0.001827,20200403,"test_network_lb_outbound_rules4ukngkqts6jka2jh6yk32uedaokz7ffw6o5bs2joxn4ns","USD"],[0.718342,20200403,"xiaojianxu","USD"],[2.641935,20200403,"xplattestgexpressroute8595","USD"],[0.000126,20200403,"yeming","USD"],[0.000209,20200403,"yu-test-rg-westus","USD"],[27.935038,20200403,"zhoxing-test","USD"],[6.770708,20200403,"zuh","USD"],[0.151245,20200403,"zuhcentral","USD"],[5.08032,20200404,"azure_search_cli_testdu4gt4d2qasm4rribpmq7k4p5k3ooewzex5lpfpmtei3nhmuajat43","USD"],[10.16064,20200404,"azure_search_cli_testh6w6rnsdqz2m7c3gkuohyf6xuojyor3ck6f5azrmc55o5fu26seizr","USD"],[5.08032,20200404,"azure_search_cli_testkutpdg5rerx5fc5ficub65iaph3ksnb6wp4qstd73rukb5ijewtsrc","USD"],[10.16064,20200404,"azure_search_cli_testoeuyti5jqqlaunupbhpnfnhfdkjamnaej4glqkdy66fufyan2y3zm6","USD"],[5.08032,20200404,"azure_search_cli_testrw7hdqfh5svtz52326ewkagn2fuqt54udftyqa7jwh6b6dyeeiosne","USD"],[5.08032,20200404,"azure_search_cli_testtjjvfawgr4d453ylkbz7vjlshkytobkqpyswvq744ujs2xehbqaskh","USD"],[10.16064,20200404,"azure_search_cli_testudvlgq7mimi6y2dcvfqjs32lqxdh4twqewzy3s23gtedyg5le2girc","USD"],[5.08032,20200404,"azure_search_cli_testy24raerip4gad6kudhxho32gijmv2rnfkgzfsopme77bjdwh3u4vcf","USD"],[0.0,20200404,"azure-cli-test-rg","USD"],[0.005451,20200404,"azure-core-poc","USD"],[0.011086,20200404,"azuresdktest_reserved","USD"],[0.263814,20200404,"bim_pl_test_rg","USD"],[0.735132,20200404,"bim-rg","USD"],[0.04662,20200404,"cli_test_ag_http_listeneromvibh3xbkmxh2skwxdyz5c7ijpz4x5xzlvr7n4zquzytqc3bd","USD"],[1.4E-05,20200404,"cli_test_databox52yrfbe7molrqhwdubnr2jcijd22xsz3hgcg3btf3sza5boeklwgzzq5sfn","USD"],[7E-06,20200404,"cli_test_databox5gpbe2knrizxsitmvje3fbdl44tf6cvpfqbpvsyicxmupsbyhmlcrg4wesk","USD"],[7E-06,20200404,"cli_test_databoxam64dpcskfsb23dkj6zbvxysimh24e3upfdsdmuxbdl2j25ckz2uz5lht5y","USD"],[7E-06,20200404,"cli_test_databoxeg3csudujzrh2zcvbjytg6gvlkp6sjfcozveffblaqhrzhsslvpr54lg7n2","USD"],[7E-06,20200404,"cli_test_databoxfgdxtb5b3moqarfyogd7fcognbrlsihjlj3acnscrixetycujoejzzalyi3","USD"],[7E-06,20200404,"cli_test_databoxlekg7y4dtg2pnsaueisdkyqi5mnvmlwxto2cpu3kv7snll4uc37q2rm4wme","USD"],[1E-05,20200404,"cli_test_databoxn5n2vkeyewiwob4e7e6nqiblkvvgc5qorevejhsntblvdlc2t373rrvy45p","USD"],[1.7E-05,20200404,"cli_test_databoxoe2qtcqlnxonqpub522jgmpzgeegwhowl2qo6xqgfwtqcd3jzicz5yraawi","USD"],[7E-06,20200404,"cli_test_databoxrg2slunrj5vx5aydveu66wkj6rh3ildamkumi4zojpcf6f4vastgfp4v3rw","USD"],[7E-06,20200404,"cli_test_databoxu7woflo47pjem4rfw2djuvafywtfnprfpduospdfotkqkudaylsua3ybqpa","USD"],[2.7E-05,20200404,"cli_test_datashare_sampleresourcegroup","USD"],[6E-06,20200404,"cli_test_eh_aliasdrj6y3jjzz2b5gjynzeg3hlvh4vbevx6axtox4ijutmqpe3uhr2f6zjcvp","USD"],[6E-06,20200404,"cli_test_eh_aliasfaxwrtp645isrxreqi6kj6gtvb4j3lh23klbxtfz7d67cc276s43xrosgp","USD"],[6E-06,20200404,"cli_test_eh_aliasr6icm7ctnbnlupvodhdxfvgm7ukjbnbzw3w6543qcf232tden7ulag356e","USD"],[0.017281,20200404,"cli_test_managed_diskdt4sy7h47eehd5onivbl6kxwu2tq5drfjo2n3ocshoyvwoiacjo76i","USD"],[5.322555,20200404,"cli_test_redis4fi3zmkxvanofwj7til7vfg65gvgwee7f52qeqekaz2yozt4naljndprrebti","USD"],[0.211596,20200404,"cli_test_redis5w7c5upnaajph7i7m7l23if7az4esw45w3dyuq2lkeq6brn7rwje2jthrrtsp","USD"],[5.322555,20200404,"cli_test_redisdtit6p4uk44zlk7pxobgh4mc5s5lu2ihgl4f3rgdb4v76dpiapgaiyzf3qwmo","USD"],[0.211365,20200404,"cli_test_redisl5c4b6pvpa4n6xqbgzcysvhager37negd7yftbxkgl34vgzuvpsv37p6avn4h","USD"],[0.219219,20200404,"cli_test_redissjldzezn2p7k5ud72cr7ka6sg6tszx2chx2q3uikfsedmoa7n5cntbr3qzxrp","USD"],[28.0476,20200404,"cli_test_sb_aliasjvmz65dvg7inej34lr2j6ymns5ewjlrnrp4z6ylhegesgpf6io57pmksme","USD"],[28.0476,20200404,"cli_test_sb_aliaszm3yvalycherhh6usqybb4tp3eqbckvxbdrujxlfo2b2kgt74tb645a4r5","USD"],[0.119226,20200404,"clitest.rg2qgvxjxy46scnjuh6q5gtypebpi5oeuajfgxb7yrrsggnqxrij6pnc3d7ybz2chih","USD"],[0.119463,20200404,"clitest.rg35pihforqftkb5qllg3t75zoxlztjwsmuftgdsphbiy2r3adx3t3spnkzzs2c5c4s","USD"],[0.120262,20200404,"clitest.rg3s3h2izedr4olwdk4jqjhltn4lkukfixgfalhtfjmiy6u3xndqvdkrr4j4jqhx6hu","USD"],[8E-06,20200404,"clitest.rg6i4hl6iakg","USD"],[0.120385,20200404,"clitest.rg6mxjzuorkskzxoisjj4q7leopfu5mge2nncxfuw33pn7w5rzgt6nqhx3f2koq427p","USD"],[1E-06,20200404,"clitest.rgdd3pvc445vb7vkctepirlk7u7ehgatpxqkt7etu7jzzxnby36lhts5532grmo4xqt","USD"],[0.120236,20200404,"clitest.rgduxuhyeqzrek7s3jfr776qvugv4qtmrxnlqcwiodxu2wihvqvuajr5bvtbfw2c74d","USD"],[0.120278,20200404,"clitest.rgdzk3w2kpwtbjaippkz6nrab53pinz3nbdcoxurf2fm477d5j2qa43kpmvlh34nudn","USD"],[0.0,20200404,"clitest.rggqe5qp2g4ikjuk4quunjltoatlnnfvg4jy6lw5mup4qcbrvofg4uioaohki5xkfem","USD"],[0.120152,20200404,"clitest.rgib3viqdhrawwnaopavpcsc2u3psfod7wlami5tg57borlex2io2b7nolpz4qxhm5p","USD"],[0.0,20200404,"clitest.rgkjk5zpf6vpm4eazar7zv554ytwslfx3wfo6vpev4ypj3664cr3nnzzrhgiio2hvab","USD"],[0.0,20200404,"clitest.rgof3oy22ihkrkvxmos32f4x7rg662il55cz42puy634klszugqsoj3kafahile6edj","USD"],[0.120245,20200404,"clitest.rgp535jz2dxemblsqlvzwsk4ehth7eprd5yny22fi5rppnick62nncsonvlutvmvbje","USD"],[0.0,20200404,"clitest.rgqzxdc4qlur4ldpzn5ysrsgw3iq7ot2pjm2twuh5h7mydbhfromknwnwmbcte2jnf6","USD"],[0.11925,20200404,"clitest.rgr5sog7j3q3a5o2vy3r4gpl3ylcovxfcbkttkotqe653iz4mlsrbjns76tv4v4lbqq","USD"],[0.0,20200404,"clitest.rgrsyxntxfpaaox5qm77j37jgojydhj6vgwpffnchul5hhnd2txbb2upcw5lpcrayhz","USD"],[0.119262,20200404,"clitest.rguk5hr7imq2zbvjzaogkt7gke2onbbn6sr3ux5rfdiqufofpfrmblbmbzrtd663lkn","USD"],[0.119247,20200404,"clitest.rgyreu2qkpgqyrm56i4cocrrcf5xb2uzmvlm2lau226cqk6zetyu5olii7figpx2mix","USD"],[0.122006,20200404,"clitest.rgzj3xc6lmggzuorcimokxvkq7lrrxtcty3dilmrxzwdjcq35dqahmc7e7snha4milh","USD"],[1E-06,20200404,"databricks-rg-my-standard-space-fez3hbt1bsvmr","USD"],[1.53617,20200404,"emerald-city-bookstore","USD"],[6.307432,20200404,"fanqiu-vm","USD"],[7.44789,20200404,"feng-cli-rg","USD"],[0.055444,20200404,"fytest","USD"],[4.1E-05,20200404,"harold","USD"],[0.0,20200404,"harold-test-rsg","USD"],[3E-06,20200404,"javacsmrg46947","USD"],[0.00541,20200404,"jlrg1","USD"],[0.162145,20200404,"jlvm2rg","USD"],[0.54432,20200404,"microsoft.default","USD"],[1.52712,20200404,"new-experiences","USD"],[243.839613,20200404,"qianwens","USD"],[5E-06,20200404,"storage_blob_restorelgsnaopzuzblnuxuzojq7eo725opbpfmp2jwlntndhozoedq6chvyzq","USD"],[5.348676,20200404,"storage-v2rt-repro","USD"],[0.668682,20200404,"xiaojianxu","USD"],[2.641935,20200404,"xplattestgexpressroute8595","USD"],[9.2E-05,20200404,"yeming","USD"],[0.000131,20200404,"yu-test-rg-westus","USD"],[35.516189,20200404,"zhoxing-test","USD"],[6.771108,20200404,"zuh","USD"],[0.14998,20200404,"zuhcentral","USD"],[5.08032,20200405,"azure_search_cli_testdu4gt4d2qasm4rribpmq7k4p5k3ooewzex5lpfpmtei3nhmuajat43","USD"],[10.16064,20200405,"azure_search_cli_testh6w6rnsdqz2m7c3gkuohyf6xuojyor3ck6f5azrmc55o5fu26seizr","USD"],[5.08032,20200405,"azure_search_cli_testkutpdg5rerx5fc5ficub65iaph3ksnb6wp4qstd73rukb5ijewtsrc","USD"],[10.16064,20200405,"azure_search_cli_testoeuyti5jqqlaunupbhpnfnhfdkjamnaej4glqkdy66fufyan2y3zm6","USD"],[5.08032,20200405,"azure_search_cli_testrw7hdqfh5svtz52326ewkagn2fuqt54udftyqa7jwh6b6dyeeiosne","USD"],[5.08032,20200405,"azure_search_cli_testtjjvfawgr4d453ylkbz7vjlshkytobkqpyswvq744ujs2xehbqaskh","USD"],[10.16064,20200405,"azure_search_cli_testudvlgq7mimi6y2dcvfqjs32lqxdh4twqewzy3s23gtedyg5le2girc","USD"],[5.08032,20200405,"azure_search_cli_testy24raerip4gad6kudhxho32gijmv2rnfkgzfsopme77bjdwh3u4vcf","USD"],[0.0,20200405,"azure-cli-test-rg","USD"],[0.005451,20200405,"azure-core-poc","USD"],[0.007363,20200405,"azuresdktest_reserved","USD"],[0.259404,20200405,"bim_pl_test_rg","USD"],[0.735133,20200405,"bim-rg","USD"],[1.5E-05,20200405,"cli_test_databox52yrfbe7molrqhwdubnr2jcijd22xsz3hgcg3btf3sza5boeklwgzzq5sfn","USD"],[7E-06,20200405,"cli_test_databox5gpbe2knrizxsitmvje3fbdl44tf6cvpfqbpvsyicxmupsbyhmlcrg4wesk","USD"],[7E-06,20200405,"cli_test_databoxam64dpcskfsb23dkj6zbvxysimh24e3upfdsdmuxbdl2j25ckz2uz5lht5y","USD"],[7E-06,20200405,"cli_test_databoxeg3csudujzrh2zcvbjytg6gvlkp6sjfcozveffblaqhrzhsslvpr54lg7n2","USD"],[7E-06,20200405,"cli_test_databoxfgdxtb5b3moqarfyogd7fcognbrlsihjlj3acnscrixetycujoejzzalyi3","USD"],[7E-06,20200405,"cli_test_databoxlekg7y4dtg2pnsaueisdkyqi5mnvmlwxto2cpu3kv7snll4uc37q2rm4wme","USD"],[7E-06,20200405,"cli_test_databoxn5n2vkeyewiwob4e7e6nqiblkvvgc5qorevejhsntblvdlc2t373rrvy45p","USD"],[1.5E-05,20200405,"cli_test_databoxoe2qtcqlnxonqpub522jgmpzgeegwhowl2qo6xqgfwtqcd3jzicz5yraawi","USD"],[7E-06,20200405,"cli_test_databoxrg2slunrj5vx5aydveu66wkj6rh3ildamkumi4zojpcf6f4vastgfp4v3rw","USD"],[7E-06,20200405,"cli_test_databoxu7woflo47pjem4rfw2djuvafywtfnprfpduospdfotkqkudaylsua3ybqpa","USD"],[5.7E-05,20200405,"cli_test_datashare_sampleresourcegroup","USD"],[7E-06,20200405,"cli_test_eh_aliasdrj6y3jjzz2b5gjynzeg3hlvh4vbevx6axtox4ijutmqpe3uhr2f6zjcvp","USD"],[7E-06,20200405,"cli_test_eh_aliasfaxwrtp645isrxreqi6kj6gtvb4j3lh23klbxtfz7d67cc276s43xrosgp","USD"],[7E-06,20200405,"cli_test_eh_aliasr6icm7ctnbnlupvodhdxfvgm7ukjbnbzw3w6543qcf232tden7ulag356e","USD"],[28.0476,20200405,"cli_test_sb_aliasjvmz65dvg7inej34lr2j6ymns5ewjlrnrp4z6ylhegesgpf6io57pmksme","USD"],[28.0476,20200405,"cli_test_sb_aliaszm3yvalycherhh6usqybb4tp3eqbckvxbdrujxlfo2b2kgt74tb645a4r5","USD"],[0.119226,20200405,"clitest.rg2qgvxjxy46scnjuh6q5gtypebpi5oeuajfgxb7yrrsggnqxrij6pnc3d7ybz2chih","USD"],[0.119463,20200405,"clitest.rg35pihforqftkb5qllg3t75zoxlztjwsmuftgdsphbiy2r3adx3t3spnkzzs2c5c4s","USD"],[0.120262,20200405,"clitest.rg3s3h2izedr4olwdk4jqjhltn4lkukfixgfalhtfjmiy6u3xndqvdkrr4j4jqhx6hu","USD"],[9E-06,20200405,"clitest.rg6i4hl6iakg","USD"],[0.120385,20200405,"clitest.rg6mxjzuorkskzxoisjj4q7leopfu5mge2nncxfuw33pn7w5rzgt6nqhx3f2koq427p","USD"],[1E-06,20200405,"clitest.rgdd3pvc445vb7vkctepirlk7u7ehgatpxqkt7etu7jzzxnby36lhts5532grmo4xqt","USD"],[0.120236,20200405,"clitest.rgduxuhyeqzrek7s3jfr776qvugv4qtmrxnlqcwiodxu2wihvqvuajr5bvtbfw2c74d","USD"],[0.120278,20200405,"clitest.rgdzk3w2kpwtbjaippkz6nrab53pinz3nbdcoxurf2fm477d5j2qa43kpmvlh34nudn","USD"],[0.0,20200405,"clitest.rggqe5qp2g4ikjuk4quunjltoatlnnfvg4jy6lw5mup4qcbrvofg4uioaohki5xkfem","USD"],[0.120152,20200405,"clitest.rgib3viqdhrawwnaopavpcsc2u3psfod7wlami5tg57borlex2io2b7nolpz4qxhm5p","USD"],[0.0,20200405,"clitest.rgkjk5zpf6vpm4eazar7zv554ytwslfx3wfo6vpev4ypj3664cr3nnzzrhgiio2hvab","USD"],[0.0,20200405,"clitest.rgof3oy22ihkrkvxmos32f4x7rg662il55cz42puy634klszugqsoj3kafahile6edj","USD"],[0.120245,20200405,"clitest.rgp535jz2dxemblsqlvzwsk4ehth7eprd5yny22fi5rppnick62nncsonvlutvmvbje","USD"],[0.0,20200405,"clitest.rgqzxdc4qlur4ldpzn5ysrsgw3iq7ot2pjm2twuh5h7mydbhfromknwnwmbcte2jnf6","USD"],[0.11925,20200405,"clitest.rgr5sog7j3q3a5o2vy3r4gpl3ylcovxfcbkttkotqe653iz4mlsrbjns76tv4v4lbqq","USD"],[0.0,20200405,"clitest.rgrsyxntxfpaaox5qm77j37jgojydhj6vgwpffnchul5hhnd2txbb2upcw5lpcrayhz","USD"],[0.119262,20200405,"clitest.rguk5hr7imq2zbvjzaogkt7gke2onbbn6sr3ux5rfdiqufofpfrmblbmbzrtd663lkn","USD"],[0.119247,20200405,"clitest.rgyreu2qkpgqyrm56i4cocrrcf5xb2uzmvlm2lau226cqk6zetyu5olii7figpx2mix","USD"],[0.122006,20200405,"clitest.rgzj3xc6lmggzuorcimokxvkq7lrrxtcty3dilmrxzwdjcq35dqahmc7e7snha4milh","USD"],[1E-06,20200405,"databricks-rg-my-standard-space-fez3hbt1bsvmr","USD"],[1.536172,20200405,"emerald-city-bookstore","USD"],[6.307438,20200405,"fanqiu-vm","USD"],[7.477202,20200405,"feng-cli-rg","USD"],[0.055444,20200405,"fytest","USD"],[4.3E-05,20200405,"harold","USD"],[0.0,20200405,"harold-test-rsg","USD"],[4E-06,20200405,"javacsmrg46947","USD"],[0.00541,20200405,"jlrg1","USD"],[0.162825,20200405,"jlvm2rg","USD"],[0.54432,20200405,"microsoft.default","USD"],[1.52712,20200405,"new-experiences","USD"],[243.832878,20200405,"qianwens","USD"],[5E-06,20200405,"storage_blob_restorelgsnaopzuzblnuxuzojq7eo725opbpfmp2jwlntndhozoedq6chvyzq","USD"],[5.348707,20200405,"storage-v2rt-repro","USD"],[0.668684,20200405,"xiaojianxu","USD"],[2.641935,20200405,"xplattestgexpressroute8595","USD"],[9.2E-05,20200405,"yeming","USD"],[0.00013,20200405,"yu-test-rg-westus","USD"],[35.500384,20200405,"zhoxing-test","USD"],[6.770602,20200405,"zuh","USD"],[0.151241,20200405,"zuhcentral","USD"],[5.08032,20200406,"azure_search_cli_testdu4gt4d2qasm4rribpmq7k4p5k3ooewzex5lpfpmtei3nhmuajat43","USD"],[10.16064,20200406,"azure_search_cli_testh6w6rnsdqz2m7c3gkuohyf6xuojyor3ck6f5azrmc55o5fu26seizr","USD"],[5.08032,20200406,"azure_search_cli_testkutpdg5rerx5fc5ficub65iaph3ksnb6wp4qstd73rukb5ijewtsrc","USD"],[10.16064,20200406,"azure_search_cli_testoeuyti5jqqlaunupbhpnfnhfdkjamnaej4glqkdy66fufyan2y3zm6","USD"],[5.08032,20200406,"azure_search_cli_testrw7hdqfh5svtz52326ewkagn2fuqt54udftyqa7jwh6b6dyeeiosne","USD"],[5.08032,20200406,"azure_search_cli_testtjjvfawgr4d453ylkbz7vjlshkytobkqpyswvq744ujs2xehbqaskh","USD"],[10.16064,20200406,"azure_search_cli_testudvlgq7mimi6y2dcvfqjs32lqxdh4twqewzy3s23gtedyg5le2girc","USD"],[5.08032,20200406,"azure_search_cli_testy24raerip4gad6kudhxho32gijmv2rnfkgzfsopme77bjdwh3u4vcf","USD"],[0.0,20200406,"azure-cli-test-rg","USD"],[0.005451,20200406,"azure-core-poc","USD"],[0.007521,20200406,"azuresdktest_reserved","USD"],[0.246804,20200406,"bim_pl_test_rg","USD"],[0.735133,20200406,"bim-rg","USD"],[1.4E-05,20200406,"cli_test_databox52yrfbe7molrqhwdubnr2jcijd22xsz3hgcg3btf3sza5boeklwgzzq5sfn","USD"],[7E-06,20200406,"cli_test_databox5gpbe2knrizxsitmvje3fbdl44tf6cvpfqbpvsyicxmupsbyhmlcrg4wesk","USD"],[7E-06,20200406,"cli_test_databoxam64dpcskfsb23dkj6zbvxysimh24e3upfdsdmuxbdl2j25ckz2uz5lht5y","USD"],[7E-06,20200406,"cli_test_databoxeg3csudujzrh2zcvbjytg6gvlkp6sjfcozveffblaqhrzhsslvpr54lg7n2","USD"],[7E-06,20200406,"cli_test_databoxfgdxtb5b3moqarfyogd7fcognbrlsihjlj3acnscrixetycujoejzzalyi3","USD"],[7E-06,20200406,"cli_test_databoxlekg7y4dtg2pnsaueisdkyqi5mnvmlwxto2cpu3kv7snll4uc37q2rm4wme","USD"],[7E-06,20200406,"cli_test_databoxn5n2vkeyewiwob4e7e6nqiblkvvgc5qorevejhsntblvdlc2t373rrvy45p","USD"],[1.4E-05,20200406,"cli_test_databoxoe2qtcqlnxonqpub522jgmpzgeegwhowl2qo6xqgfwtqcd3jzicz5yraawi","USD"],[7E-06,20200406,"cli_test_databoxrg2slunrj5vx5aydveu66wkj6rh3ildamkumi4zojpcf6f4vastgfp4v3rw","USD"],[7E-06,20200406,"cli_test_databoxu7woflo47pjem4rfw2djuvafywtfnprfpduospdfotkqkudaylsua3ybqpa","USD"],[6E-06,20200406,"cli_test_eh_aliasdrj6y3jjzz2b5gjynzeg3hlvh4vbevx6axtox4ijutmqpe3uhr2f6zjcvp","USD"],[6E-06,20200406,"cli_test_eh_aliasfaxwrtp645isrxreqi6kj6gtvb4j3lh23klbxtfz7d67cc276s43xrosgp","USD"],[6E-06,20200406,"cli_test_eh_aliasr6icm7ctnbnlupvodhdxfvgm7ukjbnbzw3w6543qcf232tden7ulag356e","USD"],[27.463275,20200406,"cli_test_sb_aliasjvmz65dvg7inej34lr2j6ymns5ewjlrnrp4z6ylhegesgpf6io57pmksme","USD"],[27.463275,20200406,"cli_test_sb_aliaszm3yvalycherhh6usqybb4tp3eqbckvxbdrujxlfo2b2kgt74tb645a4r5","USD"],[1E-06,20200406,"cli_test_z22vk35o35hitlazujrcx3uaip46dzpercdmgcgzahijbckielm5lqyng7t2owivto","USD"],[0.119226,20200406,"clitest.rg2qgvxjxy46scnjuh6q5gtypebpi5oeuajfgxb7yrrsggnqxrij6pnc3d7ybz2chih","USD"],[0.119463,20200406,"clitest.rg35pihforqftkb5qllg3t75zoxlztjwsmuftgdsphbiy2r3adx3t3spnkzzs2c5c4s","USD"],[0.120262,20200406,"clitest.rg3s3h2izedr4olwdk4jqjhltn4lkukfixgfalhtfjmiy6u3xndqvdkrr4j4jqhx6hu","USD"],[8E-06,20200406,"clitest.rg6i4hl6iakg","USD"],[0.120385,20200406,"clitest.rg6mxjzuorkskzxoisjj4q7leopfu5mge2nncxfuw33pn7w5rzgt6nqhx3f2koq427p","USD"],[1E-06,20200406,"clitest.rgdd3pvc445vb7vkctepirlk7u7ehgatpxqkt7etu7jzzxnby36lhts5532grmo4xqt","USD"],[0.120236,20200406,"clitest.rgduxuhyeqzrek7s3jfr776qvugv4qtmrxnlqcwiodxu2wihvqvuajr5bvtbfw2c74d","USD"],[0.120278,20200406,"clitest.rgdzk3w2kpwtbjaippkz6nrab53pinz3nbdcoxurf2fm477d5j2qa43kpmvlh34nudn","USD"],[0.0,20200406,"clitest.rggqe5qp2g4ikjuk4quunjltoatlnnfvg4jy6lw5mup4qcbrvofg4uioaohki5xkfem","USD"],[0.120152,20200406,"clitest.rgib3viqdhrawwnaopavpcsc2u3psfod7wlami5tg57borlex2io2b7nolpz4qxhm5p","USD"],[0.0,20200406,"clitest.rgkjk5zpf6vpm4eazar7zv554ytwslfx3wfo6vpev4ypj3664cr3nnzzrhgiio2hvab","USD"],[0.0,20200406,"clitest.rgof3oy22ihkrkvxmos32f4x7rg662il55cz42puy634klszugqsoj3kafahile6edj","USD"],[0.120245,20200406,"clitest.rgp535jz2dxemblsqlvzwsk4ehth7eprd5yny22fi5rppnick62nncsonvlutvmvbje","USD"],[0.0,20200406,"clitest.rgqzxdc4qlur4ldpzn5ysrsgw3iq7ot2pjm2twuh5h7mydbhfromknwnwmbcte2jnf6","USD"],[0.11925,20200406,"clitest.rgr5sog7j3q3a5o2vy3r4gpl3ylcovxfcbkttkotqe653iz4mlsrbjns76tv4v4lbqq","USD"],[0.0,20200406,"clitest.rgrsyxntxfpaaox5qm77j37jgojydhj6vgwpffnchul5hhnd2txbb2upcw5lpcrayhz","USD"],[0.119262,20200406,"clitest.rguk5hr7imq2zbvjzaogkt7gke2onbbn6sr3ux5rfdiqufofpfrmblbmbzrtd663lkn","USD"],[0.119247,20200406,"clitest.rgyreu2qkpgqyrm56i4cocrrcf5xb2uzmvlm2lau226cqk6zetyu5olii7figpx2mix","USD"],[0.122006,20200406,"clitest.rgzj3xc6lmggzuorcimokxvkq7lrrxtcty3dilmrxzwdjcq35dqahmc7e7snha4milh","USD"],[1E-06,20200406,"databricks-rg-my-standard-space-fez3hbt1bsvmr","USD"],[1.536178,20200406,"emerald-city-bookstore","USD"],[6.307634,20200406,"fanqiu-vm","USD"],[7.361799,20200406,"feng-cli-rg","USD"],[8.2E-05,20200406,"feng-datashare-rg","USD"],[0.055444,20200406,"fytest","USD"],[4.3E-05,20200406,"harold","USD"],[0.0,20200406,"harold-test-rsg","USD"],[3E-06,20200406,"javacsmrg46947","USD"],[0.00541,20200406,"jlrg1","USD"],[0.161011,20200406,"jlvm2rg","USD"],[0.54432,20200406,"microsoft.default","USD"],[1.52712,20200406,"new-experiences","USD"],[243.853183,20200406,"qianwens","USD"],[5E-06,20200406,"storage_blob_restorelgsnaopzuzblnuxuzojq7eo725opbpfmp2jwlntndhozoedq6chvyzq","USD"],[5.3487,20200406,"storage-v2rt-repro","USD"],[0.67121,20200406,"xiaojianxu","USD"],[2.641935,20200406,"xplattestgexpressroute8595","USD"],[9.2E-05,20200406,"yeming","USD"],[0.000129,20200406,"yu-test-rg-westus","USD"],[35.512261,20200406,"zhoxing-test","USD"],[6.768082,20200406,"zuh","USD"],[0.150611,20200406,"zuhcentral","USD"],[5.08032,20200407,"azure_search_cli_testdu4gt4d2qasm4rribpmq7k4p5k3ooewzex5lpfpmtei3nhmuajat43","USD"],[9.31392,20200407,"azure_search_cli_testh6w6rnsdqz2m7c3gkuohyf6xuojyor3ck6f5azrmc55o5fu26seizr","USD"],[4.44528,20200407,"azure_search_cli_testkutpdg5rerx5fc5ficub65iaph3ksnb6wp4qstd73rukb5ijewtsrc","USD"],[8.89056,20200407,"azure_search_cli_testoeuyti5jqqlaunupbhpnfnhfdkjamnaej4glqkdy66fufyan2y3zm6","USD"],[4.44528,20200407,"azure_search_cli_testrw7hdqfh5svtz52326ewkagn2fuqt54udftyqa7jwh6b6dyeeiosne","USD"],[4.65696,20200407,"azure_search_cli_testtjjvfawgr4d453ylkbz7vjlshkytobkqpyswvq744ujs2xehbqaskh","USD"],[10.16064,20200407,"azure_search_cli_testudvlgq7mimi6y2dcvfqjs32lqxdh4twqewzy3s23gtedyg5le2girc","USD"],[4.44528,20200407,"azure_search_cli_testy24raerip4gad6kudhxho32gijmv2rnfkgzfsopme77bjdwh3u4vcf","USD"],[0.0,20200407,"azure-cli-test-rg","USD"],[0.005556,20200407,"azure-core-poc","USD"],[0.008075,20200407,"azuresdktest_reserved","USD"],[0.239874,20200407,"bim_pl_test_rg","USD"],[0.734518,20200407,"bim-rg","USD"],[0.12077,20200407,"cli_test_azure_firewall_ip_configetk4as4x2pt27laa3iuxcz7up2pldna2rybomoxjlb","USD"],[0.00504,20200407,"cli_test_azure_firewall_management_ip_config3zuuwmqivcboeuju6xe4guxde747v4i","USD"],[0.00504,20200407,"cli_test_azure_firewall_management_ip_configd3s6opp35gyegmfkvdjnn57o7yzvkip","USD"],[0.00504,20200407,"cli_test_azure_firewall_management_ip_configlga4opwkmplu5jihvdxijgxizti2jvs","USD"],[0.380302,20200407,"cli_test_azure_firewall_with_firewall_policy4633bty2ji24ylwholf7ffldi66tw7w","USD"],[1.5E-05,20200407,"cli_test_databox52yrfbe7molrqhwdubnr2jcijd22xsz3hgcg3btf3sza5boeklwgzzq5sfn","USD"],[7E-06,20200407,"cli_test_databox5gpbe2knrizxsitmvje3fbdl44tf6cvpfqbpvsyicxmupsbyhmlcrg4wesk","USD"],[7E-06,20200407,"cli_test_databoxam64dpcskfsb23dkj6zbvxysimh24e3upfdsdmuxbdl2j25ckz2uz5lht5y","USD"],[7E-06,20200407,"cli_test_databoxeg3csudujzrh2zcvbjytg6gvlkp6sjfcozveffblaqhrzhsslvpr54lg7n2","USD"],[7E-06,20200407,"cli_test_databoxfgdxtb5b3moqarfyogd7fcognbrlsihjlj3acnscrixetycujoejzzalyi3","USD"],[7E-06,20200407,"cli_test_databoxlekg7y4dtg2pnsaueisdkyqi5mnvmlwxto2cpu3kv7snll4uc37q2rm4wme","USD"],[7E-06,20200407,"cli_test_databoxn5n2vkeyewiwob4e7e6nqiblkvvgc5qorevejhsntblvdlc2t373rrvy45p","USD"],[1.5E-05,20200407,"cli_test_databoxoe2qtcqlnxonqpub522jgmpzgeegwhowl2qo6xqgfwtqcd3jzicz5yraawi","USD"],[7E-06,20200407,"cli_test_databoxrg2slunrj5vx5aydveu66wkj6rh3ildamkumi4zojpcf6f4vastgfp4v3rw","USD"],[7E-06,20200407,"cli_test_databoxu7woflo47pjem4rfw2djuvafywtfnprfpduospdfotkqkudaylsua3ybqpa","USD"],[7E-06,20200407,"cli_test_eh_aliasdrj6y3jjzz2b5gjynzeg3hlvh4vbevx6axtox4ijutmqpe3uhr2f6zjcvp","USD"],[7E-06,20200407,"cli_test_eh_aliasfaxwrtp645isrxreqi6kj6gtvb4j3lh23klbxtfz7d67cc276s43xrosgp","USD"],[7E-06,20200407,"cli_test_eh_aliasr6icm7ctnbnlupvodhdxfvgm7ukjbnbzw3w6543qcf232tden7ulag356e","USD"],[3E-06,20200407,"cli_test_eh_networkgyranxdsawyposwqonzxneka6wc4wu52qyf6aegolodc7f3kpky6carb","USD"],[7.560108,20200407,"cli_test_keyvault_keyjzo7l2pfpmh5slqzzochymsdmgk3v4cze5wpruszy5znvgwg5d7ivk","USD"],[0.021414,20200407,"cli_test_metric_alert_special_charlnn56nemufqojn5pyx3xtorptgq3v7nue33ovgkcr","USD"],[28.0476,20200407,"cli_test_sb_aliasjvmz65dvg7inej34lr2j6ymns5ewjlrnrp4z6ylhegesgpf6io57pmksme","USD"],[28.0476,20200407,"cli_test_sb_aliaszm3yvalycherhh6usqybb4tp3eqbckvxbdrujxlfo2b2kgt74tb645a4r5","USD"],[2.1E-05,20200407,"cli_test_sp_with_kv_existing_certesfsuskyyrheucwyovfjmejh7mcxuzqtzsfqb3jd3p","USD"],[1.9E-05,20200407,"cli_test_sp_with_kv_existing_certn56wmbp3zv63brgspn34lwtxkvjpzfbqvvx6wxue6u","USD"],[2.1E-05,20200407,"cli_test_sp_with_kv_existing_certr65tkgzuhbxr36jqcerjgiqxdebx757g7qthi6atei","USD"],[2E-06,20200407,"cli_test_storage_encryption7pjhkdmy4uie62b4rui2was26xlsxahuk3kwyjfecq7o3f5b","USD"],[2.1E-05,20200407,"cli_test_storage_encryptioni7mfy3kaxrzbutng7ay3xrecw5qp2iferodjw2lathegjcwr","USD"],[0.00462,20200407,"cli_test_vm_create_nsg_rule_y2rpqtk4khbdhpganpdquo34uem4ucnxo4dnaejsv7zu6tm","USD"],[0.004196,20200407,"cli_test_vm_create_with_workspace_windows55qfzxx3yij46a3zzthhvhatld4hj6egs4","USD"],[0.00395,20200407,"cli_test_vm_create_with_workspace_windowseqlgsdr3pc4qwgwv4qyvtw3t2yqja5bdcu","USD"],[0.004851,20200407,"cli_test_vm_update_with_workspace_linux7sz46ikiaq2vwo7dvrnspudwgkdmyldbmouy","USD"],[2.5E-05,20200407,"cli_test_vmss_create_linux_secretsqaa26jpzv3l7nyeqw56i4eggy74ewctqfzgfn4pvf","USD"],[0.0,20200407,"cli_test_vmss_create_nonepka6vjrgxkqkiszfej72e76sxheea27xy7kaohrcz25bex42dn","USD"],[0.0,20200407,"cli_test_vmss_lb_skuofyiluea4h5hlyxf5lr5ud7v7mzvlkwuiqpcfdztodoccaypd24sx5f","USD"],[0.021842,20200407,"cli_test_vmss_rolling_update4433nm344bb26zwh6ustuulg4ogkupxq3bssjiqt5svomgm","USD"],[0.00504,20200407,"cli_test_vmss_run_commandiewcqhipymqcuyfjgjw44flwncpv4hptc53iiwdi6xwo65aiqt","USD"],[0.01806,20200407,"cli_test_vmss_set_orchestration_service_state_ndminjqt3gkn6rsmqawm5d5iha2vq","USD"],[0.01197,20200407,"cli_test_vmss_update_automatic_repairs_with_health_probe_gmtditjwpte2ccnqm2","USD"],[0.01134,20200407,"cli_test_vmss_vms7e3osmeb3swp3ron626rbqyxfdxngquzriiiwzbshszqdyuzltxfopw6uu","USD"],[0.119226,20200407,"clitest.rg2qgvxjxy46scnjuh6q5gtypebpi5oeuajfgxb7yrrsggnqxrij6pnc3d7ybz2chih","USD"],[0.119463,20200407,"clitest.rg35pihforqftkb5qllg3t75zoxlztjwsmuftgdsphbiy2r3adx3t3spnkzzs2c5c4s","USD"],[0.120262,20200407,"clitest.rg3s3h2izedr4olwdk4jqjhltn4lkukfixgfalhtfjmiy6u3xndqvdkrr4j4jqhx6hu","USD"],[0.112757,20200407,"clitest.rg4xro2tn57fzk33hgvfuutmow3ho4jfxfk2bp5vlj4bj67w5w3npvqjl6hnqr5cyoa","USD"],[0.110867,20200407,"clitest.rg4y7bsbzmx4crgm2e2jo666aqygqeoy4k44cjcl4i4dtarksq2k6ips64lyyn2bevm","USD"],[0.00455,20200407,"clitest.rg5lebqdh7aac6nm4nm37j4aay4iv2fmpgwlzu464tdj2vdwkwmtatmig7oo4qxo6p3","USD"],[9E-06,20200407,"clitest.rg6i4hl6iakg","USD"],[0.120385,20200407,"clitest.rg6mxjzuorkskzxoisjj4q7leopfu5mge2nncxfuw33pn7w5rzgt6nqhx3f2koq427p","USD"],[1E-06,20200407,"clitest.rgdd3pvc445vb7vkctepirlk7u7ehgatpxqkt7etu7jzzxnby36lhts5532grmo4xqt","USD"],[0.120236,20200407,"clitest.rgduxuhyeqzrek7s3jfr776qvugv4qtmrxnlqcwiodxu2wihvqvuajr5bvtbfw2c74d","USD"],[0.120278,20200407,"clitest.rgdzk3w2kpwtbjaippkz6nrab53pinz3nbdcoxurf2fm477d5j2qa43kpmvlh34nudn","USD"],[0.0,20200407,"clitest.rggqe5qp2g4ikjuk4quunjltoatlnnfvg4jy6lw5mup4qcbrvofg4uioaohki5xkfem","USD"],[2.1E-05,20200407,"clitest.rghetymlgdfdp2uf5xiq3ooabujswwvavljtzn546psnepv4doa4qe77c4jfll62tud","USD"],[0.120152,20200407,"clitest.rgib3viqdhrawwnaopavpcsc2u3psfod7wlami5tg57borlex2io2b7nolpz4qxhm5p","USD"],[0.000254,20200407,"clitest.rgiqozgktpvy2gen27rhykxanu2ygrsdy54qu77i7ofdzy63qtl7gecjzolrdz3dd3o","USD"],[2E-06,20200407,"clitest.rgjf622f4xuqjyblmweqrl6ckyukare747alx23dnma3uzwajterqebl3hp2mddrqli","USD"],[0.0,20200407,"clitest.rgkjk5zpf6vpm4eazar7zv554ytwslfx3wfo6vpev4ypj3664cr3nnzzrhgiio2hvab","USD"],[0.000744,20200407,"clitest.rgmx5ebotzi2cptcvs6moqmvy3r7rg2putzl5qbwohsyszd6pyg54l3jzqxqcrq4l4o","USD"],[0.0,20200407,"clitest.rgof3oy22ihkrkvxmos32f4x7rg662il55cz42puy634klszugqsoj3kafahile6edj","USD"],[0.120245,20200407,"clitest.rgp535jz2dxemblsqlvzwsk4ehth7eprd5yny22fi5rppnick62nncsonvlutvmvbje","USD"],[2.3E-05,20200407,"clitest.rgpeo3jr76kcrslqrtqjzcdb5ow2hobyd7ftkmddtztbwu7c4jcebes6us53kvq5mqp","USD"],[0.0,20200407,"clitest.rgqzxdc4qlur4ldpzn5ysrsgw3iq7ot2pjm2twuh5h7mydbhfromknwnwmbcte2jnf6","USD"],[0.11925,20200407,"clitest.rgr5sog7j3q3a5o2vy3r4gpl3ylcovxfcbkttkotqe653iz4mlsrbjns76tv4v4lbqq","USD"],[0.0,20200407,"clitest.rgrsyxntxfpaaox5qm77j37jgojydhj6vgwpffnchul5hhnd2txbb2upcw5lpcrayhz","USD"],[1.9E-05,20200407,"clitest.rgswkbn52vkdmhxbz6n5bee2o3feeqdpndtjh3y46ijsra3b7np26popa2p3aopob6t","USD"],[0.119262,20200407,"clitest.rguk5hr7imq2zbvjzaogkt7gke2onbbn6sr3ux5rfdiqufofpfrmblbmbzrtd663lkn","USD"],[2E-06,20200407,"clitest.rgx6jed4c3mcs7pyaskwwrxizqpys2pn4f222g7p6o3r7uxmkcmnem6ezx6lqsqmkpb","USD"],[0.111497,20200407,"clitest.rgyk4mgrijsgotmffyamugpqancpg374fojo2semmpodvwfnnzjkbxb6amzmu3mpdc4","USD"],[0.119247,20200407,"clitest.rgyreu2qkpgqyrm56i4cocrrcf5xb2uzmvlm2lau226cqk6zetyu5olii7figpx2mix","USD"],[0.122006,20200407,"clitest.rgzj3xc6lmggzuorcimokxvkq7lrrxtcty3dilmrxzwdjcq35dqahmc7e7snha4milh","USD"],[1.2E-05,20200407,"clitest_privatedns4ycbylx3ju4ypeacj2yseldhi4whcewbarbq7jrekc5dmtf4kmuaxlslm","USD"],[1.1E-05,20200407,"clitest_privatednsg4qchknkqwxmjmvq2owzi5d6w7lsfyxq4z7osfohr67k63vmaknz4gyob","USD"],[1.3E-05,20200407,"clitest_privatednshawebqvlmq5hwbozk54zj2scfftuktm2hgrkadkwvdh6aw7zqhflp6zi7","USD"],[9E-06,20200407,"clitest_privatednsjj6tf4dqer3elskz3q64splahaepbzo7p5mmnlj3hvcej3sn4p22zn5n7","USD"],[1E-05,20200407,"clitest_privatednskrqfvwxgho4maw63unqn63uhugtjm6qo7kuzgr3643jbfvvk4p4gr4tus","USD"],[9E-06,20200407,"clitest_privatednsqtwtmvcgxaemwnlorua6mgth3vdapun2ev2s4uaa65durghr22jkijm5d","USD"],[1E-05,20200407,"clitest_privatednsx7n256neoak6wubslze7cern6wnwyhtdcl7n6wiwzpdiaxbp6y62fgr3c","USD"],[9E-06,20200407,"clitest_privatednsxjgzeabqkim2kpvz55v3kcnh7pa67aw73apavfnc2dsnscsgt6334aiiq","USD"],[0.00063,20200407,"clitest6zx4tyus52","USD"],[0.006048,20200407,"clitestcoib6h7bvb","USD"],[0.006048,20200407,"clitestephcdtdsan","USD"],[0.00063,20200407,"clitestrwrbg32vwn","USD"],[0.723336,20200407,"clitestxnl2uutjkq","USD"],[0.001564,20200407,"cloud-shell-storage-southeastasia","USD"],[1E-06,20200407,"databricks-rg-my-standard-space-fez3hbt1bsvmr","USD"],[0.094544,20200407,"datashare_provider_rg","USD"],[1.53617,20200407,"emerald-city-bookstore","USD"],[6.308055,20200407,"fanqiu-vm","USD"],[7.503146,20200407,"feng-cli-rg","USD"],[0.084059,20200407,"feng-datashare-rg","USD"],[0.065511,20200407,"fytest","USD"],[4.3E-05,20200407,"harold","USD"],[0.0,20200407,"harold-test-rsg","USD"],[4E-06,20200407,"javacsmrg46947","USD"],[0.007739,20200407,"jlrg1","USD"],[0.162598,20200407,"jlvm2rg","USD"],[3.736581,20200407,"mc_jlrg_jlaks_eastus","USD"],[0.54432,20200407,"microsoft.default","USD"],[1.52712,20200407,"new-experiences","USD"],[326.394316,20200407,"qianwens","USD"],[6E-06,20200407,"storage_blob_restorelgsnaopzuzblnuxuzojq7eo725opbpfmp2jwlntndhozoedq6chvyzq","USD"],[5.34871,20200407,"storage-v2rt-repro","USD"],[0.670961,20200407,"xiaojianxu","USD"],[2.641935,20200407,"xplattestgexpressroute8595","USD"],[9.4E-05,20200407,"yeming","USD"],[0.000131,20200407,"yu-test-rg-westus","USD"],[35.500377,20200407,"zhoxing-test","USD"],[6.76884,20200407,"zuh","USD"],[0.151241,20200407,"zuhcentral","USD"],[0.63504,20200408,"azure_search_cli_testdu4gt4d2qasm4rribpmq7k4p5k3ooewzex5lpfpmtei3nhmuajat43","USD"],[0.84672,20200408,"azure_search_cli_testudvlgq7mimi6y2dcvfqjs32lqxdh4twqewzy3s23gtedyg5le2girc","USD"],[1.1E-05,20200408,"azure-cli-sub-resource-grouphq6cw3p7dyw4rqlp36sweozg6zhhpcjh","USD"],[1.2E-05,20200408,"azure-cli-sub-resource-groupr2tswf5fywzopbixjqj7j7ohub6edbqx","USD"],[0.166204,20200408,"azure-cli-test-rg","USD"],[0.005622,20200408,"azure-core-poc","USD"],[0.008234,20200408,"azuresdktest_reserved","USD"],[0.237984,20200408,"bim_pl_test_rg","USD"],[0.734788,20200408,"bim-rg","USD"],[0.433306,20200408,"cli_netappfiles_test_snapshot_bogo22p2734hp7rdxfzi7y6kk4skgsxxehhithd6jtrgy","USD"],[0.259983,20200408,"cli_netappfiles_test_snapshot_k3ff5fxppbloktcexirc4dykm7oxh4xhgs3tyezxgnjns","USD"],[0.0,20200408,"cli_netappfiles_test_snapshot_ttavezvnahmc4btbm4nuiz76tdlsqw3m4hfvomt442gek","USD"],[0.433306,20200408,"cli_netappfiles_test_snapshot_zv7djq6sahp77mjdncs5v27rtk7p6uwte6h5mbfahui3k","USD"],[0.346644,20200408,"cli_netappfiles_test_volume_225qbxpuehbge4bb6ysqyyqcsczkui4222i4efpvpvpf2zb","USD"],[0.606628,20200408,"cli_netappfiles_test_volume_bfx7h326lj5j7pd4lrzlzqaprw43cmjnsobr5zm7fmlfxyu","USD"],[0.606628,20200408,"cli_netappfiles_test_volume_jdnjs4hok23wfiojmueamjbuu3mjjdvfzgmass3zgdzioeh","USD"],[0.693289,20200408,"cli_netappfiles_test_volume_ki5x2xsaeqmgbw3ki55v23l2iqva2rmds3dmglkqyevcsse","USD"],[0.693289,20200408,"cli_netappfiles_test_volume_l7jxj4kmoaeyejolxgbv3yirjlqpjomuiklutw3kvn6ekpk","USD"],[0.086661,20200408,"cli_netappfiles_test_volume_rgvsve5kmeeijucdh5iuokuynvi3drwmekmyokw7remuu7z","USD"],[0.086661,20200408,"cli_netappfiles_test_volume_uqig7j5ipyk2jwba25xg467flgp2ow2pdztxvsni5kumzsl","USD"],[0.259983,20200408,"cli_netappfiles_test_volume_w5ui3rtpuqzs75orucpwihvmsejmfxjl53goomr4fcxvrke","USD"],[12.162662,20200408,"cli_netappfiles_test_volume_xe7jbaor2jea3hjq6ddzlkzy7pgmxnv3ge2svhjc5wtvqmg","USD"],[0.00924,20200408,"cli_test_asge5dfbxqbvdsv2rnll3j24qsdp4ygxxtwjf4n3hnqlw6fh767hqdzr5xhwxwc2io","USD"],[0.004725,20200408,"cli_test_azure_firewall_management_ip_config743oftkesjgk2ylqs4a4gvvcktonyzr","USD"],[0.0063,20200408,"cli_test_azure_firewall_management_ip_configwnwev23746373ix553dpuxbaxut7wjk","USD"],[0.0,20200408,"cli_test_azure_firewall_with_firewall_policy4633bty2ji24ylwholf7ffldi66tw7w","USD"],[0.000252,20200408,"cli_test_create_vm_existing_nicebwyivarrakhkmjjppdgauwtlhliewvlwi74qcmt7ynn","USD"],[3.5E-05,20200408,"cli_test_databox52yrfbe7molrqhwdubnr2jcijd22xsz3hgcg3btf3sza5boeklwgzzq5sfn","USD"],[1.7E-05,20200408,"cli_test_databox5gpbe2knrizxsitmvje3fbdl44tf6cvpfqbpvsyicxmupsbyhmlcrg4wesk","USD"],[1.7E-05,20200408,"cli_test_databoxam64dpcskfsb23dkj6zbvxysimh24e3upfdsdmuxbdl2j25ckz2uz5lht5y","USD"],[1.7E-05,20200408,"cli_test_databoxeg3csudujzrh2zcvbjytg6gvlkp6sjfcozveffblaqhrzhsslvpr54lg7n2","USD"],[1.7E-05,20200408,"cli_test_databoxfgdxtb5b3moqarfyogd7fcognbrlsihjlj3acnscrixetycujoejzzalyi3","USD"],[1.7E-05,20200408,"cli_test_databoxlekg7y4dtg2pnsaueisdkyqi5mnvmlwxto2cpu3kv7snll4uc37q2rm4wme","USD"],[1.7E-05,20200408,"cli_test_databoxn5n2vkeyewiwob4e7e6nqiblkvvgc5qorevejhsntblvdlc2t373rrvy45p","USD"],[3.5E-05,20200408,"cli_test_databoxoe2qtcqlnxonqpub522jgmpzgeegwhowl2qo6xqgfwtqcd3jzicz5yraawi","USD"],[1.7E-05,20200408,"cli_test_databoxrg2slunrj5vx5aydveu66wkj6rh3ildamkumi4zojpcf6f4vastgfp4v3rw","USD"],[1.7E-05,20200408,"cli_test_databoxu7woflo47pjem4rfw2djuvafywtfnprfpduospdfotkqkudaylsua3ybqpa","USD"],[1.6E-05,20200408,"cli_test_eh_aliasdrj6y3jjzz2b5gjynzeg3hlvh4vbevx6axtox4ijutmqpe3uhr2f6zjcvp","USD"],[1.6E-05,20200408,"cli_test_eh_aliasfaxwrtp645isrxreqi6kj6gtvb4j3lh23klbxtfz7d67cc276s43xrosgp","USD"],[1.6E-05,20200408,"cli_test_eh_aliasr6icm7ctnbnlupvodhdxfvgm7ukjbnbzw3w6543qcf232tden7ulag356e","USD"],[28.0476,20200408,"cli_test_sb_aliasjvmz65dvg7inej34lr2j6ymns5ewjlrnrp4z6ylhegesgpf6io57pmksme","USD"],[28.0476,20200408,"cli_test_sb_aliaszm3yvalycherhh6usqybb4tp3eqbckvxbdrujxlfo2b2kgt74tb645a4r5","USD"],[1.5E-05,20200408,"cli_test_sp_with_kv_existing_certas7x6en5ktwi2zc2dbzf3l7eol6fjvi3u4gamduomf","USD"],[1.5E-05,20200408,"cli_test_sp_with_kv_existing_certulhickdwbm4simfzio44zq7z46g2kneqss5ctqvuat","USD"],[0.008085,20200408,"cli_test_vm_custom_ipg4u2gfrwuix2go7a62qu4v67ewiet37i7tmwdzcuc2zur4wlrayhkc","USD"],[0.01512,20200408,"cli_test_vm_lb_integrationcafg3colxainoan2tk7diw7e52nskkmizk3y6m444mcbhs2wx","USD"],[0.00063,20200408,"cli_test_vm_list_ipgx5vcd5u5n6qdsl2f4gh4e5qmcpa3hr4gzfpz6d7nu2qhqvid7ttbgfk","USD"],[0.000252,20200408,"cli_test_vm_run_command7fzdeswft4bcxdt42i3k7mfqxstwnycf37wgxa6u5zqyxszyqvva","USD"],[0.004851,20200408,"cli_test_vm_state_modkh4eydb5iiiycymv7yzhwp4imulukxx7ggawb5tsn3zqw6w4r2m4ok","USD"],[0.00483,20200408,"cli_test_vm_zoneedmbqnlsm5l5ba5wnlujirecb2r2k6a3onruqlfixa3rxld5bd5hwugsd3e","USD"],[0.00882,20200408,"cli_test_vmss_create_idempotentc2ox6s3nnzycqyln7sovy4x5bxrlaytnrdooibxtile6","USD"],[0.00603,20200408,"cli_test_vmss_lb_sku5lnzfllq7t3ub627a4glr7ul3hw63tvplzoqrrml5mkyyonf3clceto","USD"],[0.002205,20200408,"cli_test_vmss_zonesr67zjroqp7n2xxtdvbxsnle7winaulvgioxy32x5qpcbxshxw53v5nqn","USD"],[0.012627,20200408,"cli_test_vmss_zonestzc6d5lfasqhfg6nzf6fipuwozjv45gntapmhv4wdflqavcqo7ftdqqx","USD"],[0.002205,20200408,"cli_test_vmss_zoneszstbgryjkxqz2q3pmdid5jaauafpzrj3szz2kleacu72wudcd6my36f7","USD"],[8.752773,20200408,"cli-rg-t3chthuuaul7rhffs","USD"],[0.119226,20200408,"clitest.rg2qgvxjxy46scnjuh6q5gtypebpi5oeuajfgxb7yrrsggnqxrij6pnc3d7ybz2chih","USD"],[0.119463,20200408,"clitest.rg35pihforqftkb5qllg3t75zoxlztjwsmuftgdsphbiy2r3adx3t3spnkzzs2c5c4s","USD"],[0.120262,20200408,"clitest.rg3s3h2izedr4olwdk4jqjhltn4lkukfixgfalhtfjmiy6u3xndqvdkrr4j4jqhx6hu","USD"],[1.9E-05,20200408,"clitest.rg6i4hl6iakg","USD"],[0.120385,20200408,"clitest.rg6mxjzuorkskzxoisjj4q7leopfu5mge2nncxfuw33pn7w5rzgt6nqhx3f2koq427p","USD"],[0.01113,20200408,"clitest.rgaq4phog5w7jd3dyud5iaxovlwu2ivx4kehojtf6mbuxwdqas4hcl7ybtzrujwjzdb","USD"],[8E-06,20200408,"clitest.rgdd3pvc445vb7vkctepirlk7u7ehgatpxqkt7etu7jzzxnby36lhts5532grmo4xqt","USD"],[0.112757,20200408,"clitest.rgdmfi7jwxzkdd2j6ty556kh3kkwvypxtlyhki42lcdh3kycd7u53lpy6vp65kwej62","USD"],[0.120236,20200408,"clitest.rgduxuhyeqzrek7s3jfr776qvugv4qtmrxnlqcwiodxu2wihvqvuajr5bvtbfw2c74d","USD"],[0.120278,20200408,"clitest.rgdzk3w2kpwtbjaippkz6nrab53pinz3nbdcoxurf2fm477d5j2qa43kpmvlh34nudn","USD"],[3E-06,20200408,"clitest.rggqe5qp2g4ikjuk4quunjltoatlnnfvg4jy6lw5mup4qcbrvofg4uioaohki5xkfem","USD"],[0.120152,20200408,"clitest.rgib3viqdhrawwnaopavpcsc2u3psfod7wlami5tg57borlex2io2b7nolpz4qxhm5p","USD"],[3E-06,20200408,"clitest.rgkjk5zpf6vpm4eazar7zv554ytwslfx3wfo6vpev4ypj3664cr3nnzzrhgiio2hvab","USD"]]}}' + headers: + access-control-allow-origin: + - '*' + cache-control: + - no-cache + content-length: + - '88431' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 23 May 2020 07:49:53 GMT + expires: + - '-1' + pragma: + - no-cache + session-id: + - c22c8c09-e879-4265-974a-d024c52ea12c + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-microsoft.costmanagement-entity-retry-after: + - '60' + x-ms-ratelimit-microsoft.costmanagement-tenant-retry-after: + - '60' + x-ms-ratelimit-remaining-microsoft.costmanagement-entity-requests: + - '29' + x-ms-ratelimit-remaining-microsoft.costmanagement-tenant-requests: + - '199' + status: + code: 200 + message: OK +version: 1 diff --git a/src/costmanagement/azext_costmanagement/tests/latest/recordings/test_export_create_in_subscription_scope.yaml b/src/costmanagement/azext_costmanagement/tests/latest/recordings/test_export_create_in_subscription_scope.yaml new file mode 100644 index 00000000000..531c5472c28 --- /dev/null +++ b/src/costmanagement/azext_costmanagement/tests/latest/recordings/test_export_create_in_subscription_scope.yaml @@ -0,0 +1,240 @@ +interactions: +- request: + body: 'b''b\''{"properties": {"format": "Csv", "definition": {"timeframe": "TheLastMonth", + "dataset": {"granularity": "Daily"}}, "deliveryInfo": {"destination": {"resourceId": + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_export_create000001/providers/Microsoft.Storage/storageAccounts/testexportcreate000002", + "container": "export"}}}}\''''' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - costmanagement export create + Connection: + - keep-alive + Content-Length: + - '402' + Content-Type: + - application/json + ParameterSetName: + - --scope --name --storage-account-id --storage-container --timeframe + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-costmanagement/1.2.0 Python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/exports/ep-01?api-version=2019-11-01 + response: + body: + string: '{"id":"subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/providers/Microsoft.CostManagement/exports/ep-01","name":"ep-01","type":"Microsoft.CostManagement/exports","eTag":"\"1d632b0cc49b476\"","properties":{"schedule":{"status":"Inactive"},"format":"Csv","deliveryInfo":{"destination":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_export_create000001/providers/Microsoft.Storage/storageAccounts/testexportcreate000002","container":"export","rootFolderPath":null}},"definition":{"type":"Usage","timeframe":"TheLastMonth","dataSet":{"granularity":"Daily"}}}}' + headers: + access-control-allow-origin: + - '*' + cache-control: + - no-cache + content-length: + - '651' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 16:23:17 GMT + expires: + - '-1' + location: + - https://consumption.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/exports/ep-01?api-version=2019-11-01 + pragma: + - no-cache + session-id: + - 6eb815a1-6549-4fa0-802f-ac6828d4733c + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - costmanagement export show + Connection: + - keep-alive + ParameterSetName: + - --scope --name + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-costmanagement/1.2.0 Python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/exports/ep-01?api-version=2019-11-01 + response: + body: + string: '{"id":"subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/providers/Microsoft.CostManagement/exports/ep-01","name":"ep-01","type":"Microsoft.CostManagement/exports","eTag":"\"1d632b0cc49b476\"","properties":{"schedule":{"status":"Inactive"},"format":"Csv","deliveryInfo":{"destination":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_export_create000001/providers/Microsoft.Storage/storageAccounts/testexportcreate000002","container":"export","rootFolderPath":null}},"definition":{"type":"Usage","timeframe":"TheLastMonth","dataSet":{"granularity":"Daily"}}}}' + headers: + access-control-allow-origin: + - '*' + cache-control: + - no-cache + content-length: + - '651' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 16:23:20 GMT + expires: + - '-1' + pragma: + - no-cache + session-id: + - 7a420c2a-c0de-435b-b745-260b5e585a45 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - costmanagement export list + Connection: + - keep-alive + ParameterSetName: + - --scope + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-costmanagement/1.2.0 Python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/exports?api-version=2019-11-01 + response: + body: + string: '{"value":[{"id":"subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/providers/Microsoft.CostManagement/exports/ep-01","name":"ep-01","type":"Microsoft.CostManagement/exports","eTag":"\"1d632b0cc49b476\"","properties":{"schedule":{"status":"Inactive"},"format":"Csv","deliveryInfo":{"destination":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_export_create000001/providers/Microsoft.Storage/storageAccounts/testexportcreate000002","container":"export","rootFolderPath":null}},"definition":{"type":"Usage","timeframe":"TheLastMonth","dataSet":{"granularity":"Daily"}}}}]}' + headers: + access-control-allow-origin: + - '*' + cache-control: + - no-cache + content-length: + - '663' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 16:23:22 GMT + expires: + - '-1' + pragma: + - no-cache + session-id: + - 7fa481d5-86d7-4f2c-9825-6221acec98f3 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - costmanagement export delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --scope --name + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-costmanagement/1.2.0 Python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/exports/ep-01?api-version=2019-11-01 + response: + body: + string: '' + headers: + access-control-allow-origin: + - '*' + cache-control: + - no-cache + content-length: + - '0' + date: + - Mon, 25 May 2020 16:23:24 GMT + expires: + - '-1' + pragma: + - no-cache + session-id: + - 593e18f3-60b3-4e77-b59b-d1211ebfe2c3 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - costmanagement export show + Connection: + - keep-alive + ParameterSetName: + - --scope --name + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-costmanagement/1.2.0 Python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/exports/ep-01?api-version=2019-11-01 + response: + body: + string: '{"error":{"code":"404","message":"No export found for ep-01, Subscription: + 0b1f6471-1bf0-4dda-aec3-cb9272f09590. (Request ID: 03578b77-49b5-4f39-8291-5ce2c86ed9dd)"}}' + headers: + access-control-allow-origin: + - '*' + cache-control: + - no-cache + content-length: + - '166' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 16:24:00 GMT + expires: + - '-1' + pragma: + - no-cache + session-id: + - a82ade4f-3cfe-43dd-8b2d-b6523cbb81c9 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 404 + message: Not Found +version: 1 diff --git a/src/costmanagement/azext_costmanagement/tests/latest/recordings/test_export_create_with_schedule_in_subscription_scope.yaml b/src/costmanagement/azext_costmanagement/tests/latest/recordings/test_export_create_with_schedule_in_subscription_scope.yaml new file mode 100644 index 00000000000..1b9071681de --- /dev/null +++ b/src/costmanagement/azext_costmanagement/tests/latest/recordings/test_export_create_with_schedule_in_subscription_scope.yaml @@ -0,0 +1,242 @@ +interactions: +- request: + body: 'b''b\''{"properties": {"format": "Csv", "definition": {"timeframe": "TheLastMonth", + "dataset": {"granularity": "Daily"}}, "deliveryInfo": {"destination": {"resourceId": + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_export_schedule000001/providers/Microsoft.Storage/storageAccounts/testexportschedule000002", + "container": "export"}}, "schedule": {"status": "Active", "recurrence": "Weekly", + "recurrencePeriod": {"from": "2020-06-01T00:00:00.000Z", "to": "2020-10-31T00:00:00.000Z"}}}}\''''' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - costmanagement export create + Connection: + - keep-alive + Content-Length: + - '552' + Content-Type: + - application/json + ParameterSetName: + - --scope --name --storage-account-id --storage-container --timeframe --recurrence + --recurrence-period --schedule-status + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-costmanagement/1.2.0 Python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/exports/ep-02?api-version=2019-11-01 + response: + body: + string: '{"id":"subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/providers/Microsoft.CostManagement/exports/ep-02","name":"ep-02","type":"Microsoft.CostManagement/exports","eTag":"\"1d632b63fc1f02c\"","properties":{"schedule":{"status":"Active","recurrence":"Weekly","recurrencePeriod":{"from":"2020-06-01T00:00:00Z","to":"2020-10-31T00:00:00Z"}},"format":"Csv","deliveryInfo":{"destination":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_export_schedule000001/providers/Microsoft.Storage/storageAccounts/testexportschedule000002","container":"export","rootFolderPath":null}},"definition":{"type":"Usage","timeframe":"TheLastMonth","dataSet":{"granularity":"Daily"}}}}' + headers: + access-control-allow-origin: + - '*' + cache-control: + - no-cache + content-length: + - '750' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 17:02:22 GMT + expires: + - '-1' + location: + - https://consumption.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/exports/ep-02?api-version=2019-11-01 + pragma: + - no-cache + session-id: + - 336ddc09-3140-41b1-bdb4-cc8b655ec825 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - costmanagement export show + Connection: + - keep-alive + ParameterSetName: + - --scope --name + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-costmanagement/1.2.0 Python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/exports/ep-02?api-version=2019-11-01 + response: + body: + string: '{"id":"subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/providers/Microsoft.CostManagement/exports/ep-02","name":"ep-02","type":"Microsoft.CostManagement/exports","eTag":"\"1d632b63fc1f02c\"","properties":{"schedule":{"status":"Active","recurrence":"Weekly","recurrencePeriod":{"from":"2020-06-01T00:00:00Z","to":"2020-10-31T00:00:00Z"}},"format":"Csv","deliveryInfo":{"destination":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_export_schedule000001/providers/Microsoft.Storage/storageAccounts/testexportschedule000002","container":"export","rootFolderPath":null}},"definition":{"type":"Usage","timeframe":"TheLastMonth","dataSet":{"granularity":"Daily"}}}}' + headers: + access-control-allow-origin: + - '*' + cache-control: + - no-cache + content-length: + - '750' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 17:02:27 GMT + expires: + - '-1' + pragma: + - no-cache + session-id: + - 3534ff0b-c57e-4e9c-8dfe-3bede1074dac + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - costmanagement export list + Connection: + - keep-alive + ParameterSetName: + - --scope + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-costmanagement/1.2.0 Python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/exports?api-version=2019-11-01 + response: + body: + string: '{"value":[{"id":"subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/providers/Microsoft.CostManagement/exports/ep-02","name":"ep-02","type":"Microsoft.CostManagement/exports","eTag":"\"1d632b63fc1f02c\"","properties":{"schedule":{"status":"Active","recurrence":"Weekly","recurrencePeriod":{"from":"2020-06-01T00:00:00Z","to":"2020-10-31T00:00:00Z"}},"format":"Csv","deliveryInfo":{"destination":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_export_schedule000001/providers/Microsoft.Storage/storageAccounts/testexportschedule000002","container":"export","rootFolderPath":null}},"definition":{"type":"Usage","timeframe":"TheLastMonth","dataSet":{"granularity":"Daily"}}}}]}' + headers: + access-control-allow-origin: + - '*' + cache-control: + - no-cache + content-length: + - '762' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 17:02:29 GMT + expires: + - '-1' + pragma: + - no-cache + session-id: + - 47c0121f-b169-4e6f-88ff-f924f1f37830 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - costmanagement export delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --scope --name + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-costmanagement/1.2.0 Python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/exports/ep-02?api-version=2019-11-01 + response: + body: + string: '' + headers: + access-control-allow-origin: + - '*' + cache-control: + - no-cache + content-length: + - '0' + date: + - Mon, 25 May 2020 17:02:34 GMT + expires: + - '-1' + pragma: + - no-cache + session-id: + - ff579052-533d-4ffa-b45f-9b010824a969 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - costmanagement export show + Connection: + - keep-alive + ParameterSetName: + - --scope --name + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-costmanagement/1.2.0 Python/3.7.4 (Linux-4.15.0-99-generic-x86_64-with-debian-buster-sid) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/exports/ep-02?api-version=2019-11-01 + response: + body: + string: '{"error":{"code":"404","message":"No export found for ep-02, Subscription: + 0b1f6471-1bf0-4dda-aec3-cb9272f09590. (Request ID: c5981703-754c-4d66-bf6e-ec7d6e194319)"}}' + headers: + access-control-allow-origin: + - '*' + cache-control: + - no-cache + content-length: + - '166' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 17:02:34 GMT + expires: + - '-1' + pragma: + - no-cache + session-id: + - 0be6f646-5c8f-4c55-8250-da54e03e48b6 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 404 + message: Not Found +version: 1 diff --git a/src/costmanagement/azext_costmanagement/tests/latest/recordings/test_update_with_timeperiod_in_subscription_scope.yaml b/src/costmanagement/azext_costmanagement/tests/latest/recordings/test_update_with_timeperiod_in_subscription_scope.yaml new file mode 100644 index 00000000000..2a139508acf --- /dev/null +++ b/src/costmanagement/azext_costmanagement/tests/latest/recordings/test_update_with_timeperiod_in_subscription_scope.yaml @@ -0,0 +1,203 @@ +interactions: +- request: + body: 'b''b\''{"properties": {"format": "Csv", "definition": {"timeframe": "TheLastMonth", + "dataset": {"granularity": "Daily"}}, "deliveryInfo": {"destination": {"resourceId": + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_update_schedule000001/providers/Microsoft.Storage/storageAccounts/testupdateschedule000002", + "container": "export"}}}}\''''' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - costmanagement export create + Connection: + - keep-alive + Content-Length: + - '402' + Content-Type: + - application/json + ParameterSetName: + - --scope --name --storage-account-id --storage-container --timeframe + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-costmanagement/1.2.0 Python/3.6.8 (Windows-10-10.0.18362-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/exports/ep-03?api-version=2019-11-01 + response: + body: + string: '{"id":"subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/providers/Microsoft.CostManagement/exports/ep-03","name":"ep-03","type":"Microsoft.CostManagement/exports","eTag":"\"1d6349e4e2280a3\"","properties":{"schedule":{"status":"Inactive"},"format":"Csv","deliveryInfo":{"destination":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_update_schedule000001/providers/Microsoft.Storage/storageAccounts/testupdateschedule000002","container":"export","rootFolderPath":null}},"definition":{"type":"Usage","timeframe":"TheLastMonth","dataSet":{"granularity":"Daily"}}}}' + headers: + access-control-allow-origin: + - '*' + cache-control: + - no-cache + content-length: + - '651' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 28 May 2020 03:15:57 GMT + expires: + - '-1' + location: + - https://consumption.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/exports/ep-03?api-version=2019-11-01 + pragma: + - no-cache + session-id: + - 66e27b54-aed6-4a49-89af-494bfc36267c + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - costmanagement export update + Connection: + - keep-alive + ParameterSetName: + - --scope --name --recurrence-period --timeframe + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-costmanagement/1.2.0 Python/3.6.8 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/exports/ep-03?api-version=2019-11-01 + response: + body: + string: '{"id":"subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/providers/Microsoft.CostManagement/exports/ep-03","name":"ep-03","type":"Microsoft.CostManagement/exports","eTag":"\"1d6349e4e2280a3\"","properties":{"schedule":{"status":"Inactive"},"format":"Csv","deliveryInfo":{"destination":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_update_schedule000001/providers/Microsoft.Storage/storageAccounts/testupdateschedule000002","container":"export","rootFolderPath":null}},"definition":{"type":"Usage","timeframe":"TheLastMonth","dataSet":{"granularity":"Daily"}}}}' + headers: + access-control-allow-origin: + - '*' + cache-control: + - no-cache + content-length: + - '651' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 28 May 2020 03:15:59 GMT + expires: + - '-1' + pragma: + - no-cache + session-id: + - 7bc73480-159e-464b-9f3c-9a6393f55a5c + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: 'b''b\''{"eTag": "\\\\"1d6349e4e2280a3\\\\"", "properties": {"format": "Csv", + "definition": {"type": "Usage", "timeframe": "TheLastBillingMonth", "dataset": + {"granularity": "Daily"}}, "deliveryInfo": {"destination": {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_update_schedule000001/providers/Microsoft.Storage/storageAccounts/testupdateschedule000002", + "container": "export"}}, "schedule": {"status": "Inactive", "recurrencePeriod": + {"from": "2020-08-01T00:00:00.000Z", "to": "2020-10-31T00:00:00.000Z"}}}}\''''' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - costmanagement export update + Connection: + - keep-alive + Content-Length: + - '585' + Content-Type: + - application/json + ParameterSetName: + - --scope --name --recurrence-period --timeframe + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-costmanagement/1.2.0 Python/3.6.8 (Windows-10-10.0.18362-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/exports/ep-03?api-version=2019-11-01 + response: + body: + string: '{"id":"subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/providers/Microsoft.CostManagement/exports/ep-03","name":"ep-03","type":"Microsoft.CostManagement/exports","eTag":"\"1d6349e50a33823\"","properties":{"schedule":{"status":"Inactive","recurrencePeriod":{"from":"2020-08-01T00:00:00Z","to":"2020-10-31T00:00:00Z"}},"format":"Csv","deliveryInfo":{"destination":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_update_schedule000001/providers/Microsoft.Storage/storageAccounts/testupdateschedule000002","container":"export","rootFolderPath":null}},"definition":{"type":"Usage","timeframe":"TheLastBillingMonth","dataSet":{"granularity":"Daily"}}}}' + headers: + access-control-allow-origin: + - '*' + cache-control: + - no-cache + content-length: + - '737' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 28 May 2020 03:16:23 GMT + expires: + - '-1' + pragma: + - no-cache + session-id: + - 59c60dfe-2bdd-4d55-81eb-ab05e67a3c77 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - costmanagement export delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --scope --name + User-Agent: + - AZURECLI/2.6.0 azsdk-python-mgmt-costmanagement/1.2.0 Python/3.6.8 (Windows-10-10.0.18362-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/exports/ep-03?api-version=2019-11-01 + response: + body: + string: '' + headers: + access-control-allow-origin: + - '*' + cache-control: + - no-cache + content-length: + - '0' + date: + - Thu, 28 May 2020 03:16:27 GMT + expires: + - '-1' + pragma: + - no-cache + session-id: + - 7af62cb9-75aa-4731-ba51-a37eeac6387f + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +version: 1 diff --git a/src/costmanagement/azext_costmanagement/tests/latest/test_costmanagement_export.py b/src/costmanagement/azext_costmanagement/tests/latest/test_costmanagement_export.py new file mode 100644 index 00000000000..65614e4cb2f --- /dev/null +++ b/src/costmanagement/azext_costmanagement/tests/latest/test_costmanagement_export.py @@ -0,0 +1,221 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + + +from azure.cli.testsdk import ScenarioTest +from azure.cli.testsdk import ResourceGroupPreparer, StorageAccountPreparer + + +class CostManagementExportTest(ScenarioTest): + """ + Those command results may be different every time after you run if running in live mode, + because of the cost is changing as we are creating and deleting resources under this subscription. + """ + + @ResourceGroupPreparer(name_prefix='test_export_create') + @StorageAccountPreparer(name_prefix='test_export_create'.replace('_', '')) + def test_export_create_in_subscription_scope(self, resource_group, storage_account): + self.kwargs.update({ + 'scope': '/subscriptions/{}'.format(self.get_subscription_id()), + }) + + export_name = 'ep-01' + storage_container = 'export' + timeframe = 'TheLastMonth' + storage_account_id = '/subscriptions/{sub}/resourceGroups/{rg}/providers/Microsoft.Storage/storageAccounts/{account_name}'.format( + sub=self.get_subscription_id(), + rg=resource_group, + account_name=storage_account + ) + + self.kwargs.update({ + 'export_name': export_name, + 'storage_account_id': storage_account_id, + 'storage_container': storage_container, + 'timeframe': timeframe + }) + + creation_data = self.cmd('costmanagement export create ' + '--scope {scope} ' + '--name {export_name} ' + '--storage-account-id {storage_account_id} ' + '--storage-container {storage_container} ' + '--timeframe {timeframe} ').get_output_in_json() + self._test_export_create_in_subscription_scope_assertions(creation_data, + export_name, + storage_container, + storage_account_id, + timeframe) + + # show an export + show_data = self.cmd('costmanagement export show --scope {scope} --name {export_name}').get_output_in_json() + self._test_export_create_in_subscription_scope_assertions(show_data, + export_name, + storage_container, + storage_account_id, + timeframe) + + # list exports + list_data = self.cmd('costmanagement export list --scope {scope}').get_output_in_json() + self.assertEqual(len(list_data), 1) + self._test_export_create_in_subscription_scope_assertions(list_data[0], + export_name, + storage_container, + storage_account_id, + timeframe) + + self.cmd('costmanagement export delete -y --scope {scope} --name {export_name}') + + with self.assertRaisesRegex(SystemExit, '3'): + self.cmd('costmanagement export show --scope {scope} --name {export_name}') + + def _test_export_create_in_subscription_scope_assertions(self, data, export_name, storage_container, storage_account_id, timeframe): + self.assertEqual(data['name'], export_name) + self.assertIsNone(data['aggregation'], None) + self.assertIsNone(data['configuration'], None) + self.assertDictEqual(data['destination'], { + 'container': storage_container, + 'resourceId': storage_account_id, + 'rootFolderPath': None + }) + self.assertEqual(data['typePropertiesDefinitionType'], 'Usage') + self.assertIsNone(data['recurrence']) + self.assertIsNone(data['recurrencePeriod']) + self.assertEqual(data['status'], 'Inactive') + self.assertIsNone(data['timePeriod']) + self.assertEqual(data['timeframe'], timeframe) + + @ResourceGroupPreparer(name_prefix='test_export_schedule') + @StorageAccountPreparer(name_prefix='test_export_schedule'.replace('_', '')) + def test_export_create_with_schedule_in_subscription_scope(self, resource_group, storage_account): + self.kwargs.update({ + 'scope': '/subscriptions/{}'.format(self.get_subscription_id()), + }) + + export_name = 'ep-02' + storage_container = 'export' + timeframe = 'TheLastMonth' + storage_account_id = '/subscriptions/{sub}/resourceGroups/{rg}/providers/Microsoft.Storage/storageAccounts/{account_name}'.format( + sub=self.get_subscription_id(), + rg=resource_group, + account_name=storage_account + ) + + self.kwargs.update({ + 'export_name': export_name, + 'storage_account_id': storage_account_id, + 'storage_container': storage_container, + 'timeframe': timeframe + }) + + creation_data = self.cmd('costmanagement export create ' + '--scope {scope} ' + '--name {export_name} ' + '--storage-account-id {storage_account_id} ' + '--storage-container {storage_container} ' + '--timeframe {timeframe} ' + '--recurrence "Weekly" ' + '--recurrence-period from="2020-06-01T00:00:00Z" to="2020-10-31T00:00:00Z" ' + '--schedule-status Active').get_output_in_json() + self._test_export_create_with_schedule_in_subscription_scope_assertions(creation_data, + export_name, + storage_container, + storage_account_id, + timeframe) + + # show an export + show_data = self.cmd('costmanagement export show --scope {scope} --name {export_name}').get_output_in_json() + self._test_export_create_with_schedule_in_subscription_scope_assertions(show_data, + export_name, + storage_container, + storage_account_id, + timeframe) + + # list exports + list_data = self.cmd('costmanagement export list --scope {scope}').get_output_in_json() + self.assertEqual(len(list_data), 1) + self._test_export_create_with_schedule_in_subscription_scope_assertions(list_data[0], + export_name, + storage_container, + storage_account_id, + timeframe) + + self.cmd('costmanagement export delete -y --scope {scope} --name {export_name}') + + with self.assertRaisesRegex(SystemExit, '3'): + self.cmd('costmanagement export show --scope {scope} --name {export_name}') + + def _test_export_create_with_schedule_in_subscription_scope_assertions(self, data, export_name, storage_container, storage_account_id, timeframe): + self.assertEqual(data['name'], export_name) + self.assertIsNone(data['aggregation'], None) + self.assertIsNone(data['configuration'], None) + self.assertDictEqual(data['destination'], { + 'container': storage_container, + 'resourceId': storage_account_id, + 'rootFolderPath': None + }) + self.assertEqual(data['typePropertiesDefinitionType'], 'Usage') # default is Usage + self.assertEqual(data['recurrence'], 'Weekly') + self.assertDictEqual(data['recurrencePeriod'], { + "fromProperty": "2020-06-01T00:00:00+00:00", + "to": "2020-10-31T00:00:00+00:00" + }) + self.assertEqual(data['status'], 'Active') + self.assertIsNone(data['timePeriod']) + self.assertEqual(data['timeframe'], timeframe) + + @ResourceGroupPreparer(name_prefix='test_update_schedule') + @StorageAccountPreparer(name_prefix='test_update_schedule'.replace('_', '')) + def test_update_with_timeperiod_in_subscription_scope(self, resource_group, storage_account): + self.kwargs.update({ + 'scope': '/subscriptions/{}'.format(self.get_subscription_id()), + }) + + export_name = 'ep-03' + storage_container = 'export' + timeframe = 'TheLastMonth' + storage_account_id = '/subscriptions/{sub}/resourceGroups/{rg}/providers/Microsoft.Storage/storageAccounts/{account_name}'.format( + sub=self.get_subscription_id(), + rg=resource_group, + account_name=storage_account + ) + + self.kwargs.update({ + 'export_name': export_name, + 'storage_account_id': storage_account_id, + 'storage_container': storage_container, + 'timeframe': timeframe, + 'time_period': 'from="2020-08-01T00:00:00Z" to="2020-10-31T00:00:00Z"' + }) + + creation_data = self.cmd('costmanagement export create ' + '--scope {scope} ' + '--name {export_name} ' + '--storage-account-id {storage_account_id} ' + '--storage-container {storage_container} ' + '--timeframe {timeframe} ').get_output_in_json() + self._test_export_create_in_subscription_scope_assertions(creation_data, + export_name, + storage_container, + storage_account_id, + timeframe) + + timeframe = 'TheLastBillingMonth' + self.kwargs.update({ + 'timeframe': timeframe, + }) + + update_data = self.cmd('costmanagement export update ' + '--scope {scope} ' + '--name {export_name} ' + '--recurrence-period {time_period} ' + '--timeframe {timeframe} ').get_output_in_json() + self.assertEqual(update_data['timeframe'], timeframe) + self.assertDictEqual(update_data['recurrencePeriod'], { + "fromProperty": "2020-08-01T00:00:00+00:00", + "to": "2020-10-31T00:00:00+00:00" + }) + + self.cmd('costmanagement export delete -y --scope {scope} --name {export_name}') diff --git a/src/costmanagement/azext_costmanagement/tests/latest/test_costmanagement_query.py b/src/costmanagement/azext_costmanagement/tests/latest/test_costmanagement_query.py new file mode 100644 index 00000000000..c123331f3fb --- /dev/null +++ b/src/costmanagement/azext_costmanagement/tests/latest/test_costmanagement_query.py @@ -0,0 +1,139 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + + +from azure.cli.testsdk import ScenarioTest +from azure.cli.testsdk import ResourceGroupPreparer + + +class CostManagementQueryTest(ScenarioTest): + """ + Those command results may be different every time after you run if running in live mode, + because of the billing is changing as we are creating and deleting resources under this subscription. + """ + + @ResourceGroupPreparer(name_prefix='test_query_without_dataset_') + def test_cm_query_in_subscription_scope(self, resource_group): + + usage_types = ['ActualCost', 'AmortizedCost', 'Usage'] + timeframes = ['BillingMonthToDate', 'MonthToDate', 'TheLastBillingMonth', + 'TheLastMonth', 'WeekToDate'] + + for usage_type in usage_types: + for timeframe in timeframes: + self.kwargs.update({ + 'usgae_type': usage_type, + 'timeframe': timeframe, + 'scope': '/subscriptions/{}'.format(self.get_subscription_id()) + }) + + cost_data = self.cmd('costmanagement query --type {usgae_type} --timeframe {timeframe} --scope {scope}').get_output_in_json() + + self.assertEqual(cost_data['type'], 'Microsoft.CostManagement/query') + + # assert data columns, by default, there is no actual cost data but 2 columns "UsageDate" and "Currency" + self.assertEqual(len(cost_data['columns']), 2) + self.assertEqual(cost_data['columns'][0]['name'], 'UsageDate') + self.assertEqual(cost_data['columns'][0]['type'], 'Number') + self.assertEqual(cost_data['columns'][1]['name'], "Currency") + self.assertEqual(cost_data['columns'][1]['type'], 'String') + + @ResourceGroupPreparer(name_prefix='test_data_aggregation_in_subscription_scope') + def test_data_aggregation_in_subscription_scope(self, resource_group): + self.kwargs.update({ + 'scope': '/subscriptions/{}'.format(self.get_subscription_id()), + }) + + usage_type = 'ActualCost' + timeframe = 'TheLastMonth' + aggregation_expression = '\'{"totalCost": {"name": "PreTaxCost", "function": "Sum"}}\'' + + self.kwargs.update({ + 'usage_type': usage_type, + 'timeframe': timeframe, + 'aggregation_expression': aggregation_expression + }) + + cost_data = self.cmd('costmanagement query ' + '--type {usage_type} ' + '--timeframe {timeframe} ' + '--scope {scope} ' + '--dataset-aggregation {aggregation_expression}').get_output_in_json() + + self.assertEqual(cost_data['type'], 'Microsoft.CostManagement/query') + + self.assertEqual(len(cost_data['columns']), 3) + self.assertEqual(cost_data['columns'][0]['name'], 'PreTaxCost') + self.assertEqual(cost_data['columns'][0]['type'], 'Number') + + self.assertEqual(len(cost_data['rows']), 30) + + @ResourceGroupPreparer(name_prefix='test_cm_query_in_subscription_scope_custome_timeframe') + def test_data_aggregation_in_subscription_scope_custome_timeframe(self, resource_group): + self.kwargs.update({ + 'scope': '/subscriptions/{}'.format(self.get_subscription_id()), + }) + + timeframe = 'Custom' + aggregation_expression = '\'{"totalCost": {"name": "PreTaxCost", "function": "Sum"}}\'' + time_period = 'from=2020-03-01T00:00:00 to=2020-05-09T00:00:00 ' + + self.kwargs.update({ + 'usgae_type': 'ActualCost', + 'timeframe': timeframe, + 'time_period': time_period, + 'aggregation_expression': aggregation_expression + }) + + cost_data = self.cmd('costmanagement query ' + '--type {usgae_type} ' + '--timeframe {timeframe} ' + '--time-period {time_period} ' + '--scope {scope} ' + '--dataset-aggregation {aggregation_expression}').get_output_in_json() + + self.assertEqual(cost_data['type'], 'Microsoft.CostManagement/query') + + self.assertEqual(len(cost_data['columns']), 3) + self.assertEqual(cost_data['columns'][0]['name'], 'PreTaxCost') + self.assertEqual(cost_data['columns'][0]['type'], 'Number') + + self.assertEqual(len(cost_data['rows']), 70) + self.assertEqual(cost_data['rows'][0], [186.758302, 20200301, 'USD']) + + @ResourceGroupPreparer(name_prefix='test_data_filter_in_subscription_scopde') + def test_data_grouping_in_subscription_scopde(self, resource_group): + self.kwargs.update({ + 'scope': '/subscriptions/{}'.format(self.get_subscription_id()), + }) + + usage_type = 'ActualCost' + timeframe = 'TheLastMonth' + aggregation_expression = '\'{"totalCost": {"name": "PreTaxCost", "function": "Sum"}}\'' + dataset_grouping = 'name="ResourceGroup" type="Dimension"' + + self.kwargs.update({ + 'usage_type': usage_type, + 'timeframe': timeframe, + 'aggregation_expression': aggregation_expression, + 'dataset_grouping': dataset_grouping + }) + + cost_data = self.cmd('costmanagement query ' + '--type {usage_type} ' + '--timeframe {timeframe} ' + '--scope {scope} ' + '--dataset-aggregation {aggregation_expression} ' + '--dataset-grouping {dataset_grouping}').get_output_in_json() + + self.assertEqual(cost_data['type'], 'Microsoft.CostManagement/query') + + self.assertEqual(len(cost_data['columns']), 4) + self.assertEqual(cost_data['columns'][0]['name'], 'PreTaxCost') + self.assertEqual(cost_data['columns'][0]['type'], 'Number') + self.assertEqual(cost_data['columns'][2]['name'], 'ResourceGroup') + self.assertEqual(cost_data['columns'][2]['type'], 'String') + + self.assertEqual(len(cost_data['rows']), 1000) diff --git a/src/costmanagement/azext_costmanagement/tests/latest/test_costmanagement_scenario.py b/src/costmanagement/azext_costmanagement/tests/latest/test_costmanagement_scenario.py new file mode 100644 index 00000000000..cb6650d6d38 --- /dev/null +++ b/src/costmanagement/azext_costmanagement/tests/latest/test_costmanagement_scenario.py @@ -0,0 +1,1363 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +# import os +# import unittest + +# from azure_devtools.scenario_tests import AllowLargeResponse +# from azure.cli.testsdk import ScenarioTest +# from .. import try_manual +# from azure.cli.testsdk import ResourceGroupPreparer +# from azure.cli.testsdk import StorageAccountPreparer + + +# TEST_DIR = os.path.abspath(os.path.join(os.path.abspath(__file__), '..')) + + +# @try_manual +# def setup(test, rg): +# pass + + +# # EXAMPLE: /Exports/put/BillingAccountCreateOrUpdateExport +# @try_manual +# def step__exports_put_billingaccountcreateorupdateexport(test, rg): +# test.cmd('az costmanagement export create ' +# '--export-name "{TestExport}" ' +# '--definition-type "Usage" ' +# '--definition-dataset-aggregation "{{\\"costSum\\":{{\\"name\\":\\"PreTaxCost\\",\\"function\\":\\"Sum\\"}' +# '}}}" ' +# '--definition-dataset-configuration columns="Date" columns="MeterId" columns="InstanceId" columns="Resourc' +# 'eLocation" columns="PreTaxCost" ' +# '--definition-dataset-filter "{{\\"and\\":[{{\\"or\\":[{{\\"dimension\\":{{\\"name\\":\\"ResourceLocation' +# '\\",\\"operator\\":\\"In\\",\\"values\\":[\\"East US\\",\\"West Europe\\"]}}}},{{\\"tag\\":{{\\"name\\":' +# '\\"Environment\\",\\"operator\\":\\"In\\",\\"values\\":[\\"UAT\\",\\"Prod\\"]}}}}]}},{{\\"dimension\\":{{' +# '\\"name\\":\\"ResourceGroup\\",\\"operator\\":\\"In\\",\\"values\\":[\\"API\\"]}}}}]}}" ' +# '--definition-dataset-grouping name="SubscriptionName" type="Dimension" ' +# '--definition-dataset-grouping name="Environment" type="Tag" ' +# '--definition-timeframe "MonthToDate" ' +# '--delivery-info-destination container="exports" resource-id="/subscriptions/{subscription_id}/resourceGro' +# 'ups/{rg}/providers/Microsoft.Storage/storageAccounts/{sa}" root-folder-path="ad-hoc" ' +# '--schedule-recurrence "Weekly" ' +# '--schedule-recurrence-period from="2018-06-01T00:00:00Z" to="2018-10-31T00:00:00Z" ' +# '--schedule-status "Active" ' +# '--scope "providers/Microsoft.Billing/billingAccounts/123456"', +# checks=[]) + + +# # EXAMPLE: /Alerts/get/BillingAccountAlerts +# @try_manual +# def step__alerts_get_billingaccountalerts(test, rg): +# test.cmd('az costmanagement alert list ' +# '--scope "providers/Microsoft.Billing/billingAccounts/12345:6789"', +# checks=[]) + + +# # EXAMPLE: /Alerts/get/DepartmentAlerts +# @try_manual +# def step__alerts_get_departmentalerts(test, rg): +# test.cmd('az costmanagement alert list ' +# '--scope "providers/Microsoft.Billing/billingAccounts/12345:6789/departments/123"', +# checks=[]) + + +# # EXAMPLE: /Alerts/get/EnrollmentAccountAlerts +# @try_manual +# def step__alerts_get_enrollmentaccountalerts(test, rg): +# test.cmd('az costmanagement alert list ' +# '--scope "providers/Microsoft.Billing/billingAccounts/12345:6789/enrollmentAccounts/456"', +# checks=[]) + + +# # EXAMPLE: /Alerts/get/ExternalBillingAccountAlerts +# @try_manual +# def step__alerts_get_externalbillingaccountalerts(test, rg): +# test.cmd('az costmanagement alert list-external ' +# '--external-cloud-provider-id "100" ' +# '--external-cloud-provider-type "externalBillingAccounts"', +# checks=[]) + + +# # EXAMPLE: /Alerts/get/ExternalSubscriptionAlerts +# @try_manual +# def step__alerts_get_externalsubscriptionalerts(test, rg): +# test.cmd('az costmanagement alert list-external ' +# '--external-cloud-provider-id "100" ' +# '--external-cloud-provider-type "externalSubscriptions"', +# checks=[]) + + +# # EXAMPLE: /Alerts/get/InvoiceSectionAlerts +# @try_manual +# def step__alerts_get_invoicesectionalerts(test, rg): +# test.cmd('az costmanagement alert list ' +# '--scope "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/987' +# '6"', +# checks=[]) + + +# # EXAMPLE: /Alerts/get/ResourceGroupAlerts +# @try_manual +# def step__alerts_get_resourcegroupalerts(test, rg): +# test.cmd('az costmanagement alert list ' +# '--scope "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ScreenSharingTest-peer"', +# checks=[]) + + +# # EXAMPLE: /Alerts/get/SubscriptionAlerts +# @try_manual +# def step__alerts_get_subscriptionalerts(test, rg): +# test.cmd('az costmanagement alert list ' +# '--scope "subscriptions/00000000-0000-0000-0000-000000000000"', +# checks=[]) + + +# # EXAMPLE: /Dimensions/get/BillingAccountDimensionsList-Legacy +# @try_manual +# def step__dimensions_get_billingaccountdimensionslist_legacy(test, rg): +# test.cmd('az costmanagement dimension list ' +# '--scope "providers/Microsoft.Billing/billingAccounts/100"', +# checks=[]) + + +# # EXAMPLE: /Dimensions/get/BillingAccountDimensionsList-Modern +# @try_manual +# def step__dimensions_get_billingaccountdimensionslist_modern(test, rg): +# test.cmd('az costmanagement dimension list ' +# '--scope "providers/Microsoft.Billing/billingAccounts/12345:6789"', +# checks=[]) + + +# # EXAMPLE: /Dimensions/get/BillingAccountDimensionsListExpandAndTop-Legacy +# @try_manual +# def step__dimensions_get_billingaccountdimensionslistexpandandtop_legacy(test, rg): +# test.cmd('az costmanagement dimension list ' +# '--expand "properties/data" ' +# '--top 5 ' +# '--scope "providers/Microsoft.Billing/billingAccounts/100"', +# checks=[]) + + +# # EXAMPLE: /Dimensions/get/BillingAccountDimensionsListExpandAndTop-Modern +# @try_manual +# def step__dimensions_get_billingaccountdimensionslistexpandandtop_modern(test, rg): +# test.cmd('az costmanagement dimension list ' +# '--expand "properties/data" ' +# '--top 5 ' +# '--scope "providers/Microsoft.Billing/billingAccounts/12345:6789"', +# checks=[]) + + +# # EXAMPLE: /Dimensions/get/BillingAccountDimensionsListWithFilter-Legacy +# @try_manual +# def step__dimensions_get_billingaccountdimensionslistwithfilter_legacy(test, rg): +# test.cmd('az costmanagement dimension list ' +# '--expand "properties/data" ' +# '--filter "properties/category eq \'resourceId\'" ' +# '--top 5 ' +# '--scope "providers/Microsoft.Billing/billingAccounts/100"', +# checks=[]) + + +# # EXAMPLE: /Dimensions/get/BillingAccountDimensionsListWithFilter-Modern +# @try_manual +# def step__dimensions_get_billingaccountdimensionslistwithfilter_modern(test, rg): +# test.cmd('az costmanagement dimension list ' +# '--expand "properties/data" ' +# '--filter "properties/category eq \'resourceId\'" ' +# '--top 5 ' +# '--scope "providers/Microsoft.Billing/billingAccounts/12345:6789"', +# checks=[]) + + +# # EXAMPLE: /Dimensions/get/BillingProfileDimensionsList-Modern +# @try_manual +# def step__dimensions_get_billingprofiledimensionslist_modern(test, rg): +# test.cmd('az costmanagement dimension list ' +# '--scope "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579"', +# checks=[]) + + +# # EXAMPLE: /Dimensions/get/BillingProfileDimensionsListExpandAndTop-Modern +# @try_manual +# def step__dimensions_get_billingprofiledimensionslistexpandandtop_modern(test, rg): +# test.cmd('az costmanagement dimension list ' +# '--expand "properties/data" ' +# '--top 5 ' +# '--scope "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579"', +# checks=[]) + + +# # EXAMPLE: /Dimensions/get/BillingProfileDimensionsListWithFilter-Modern +# @try_manual +# def step__dimensions_get_billingprofiledimensionslistwithfilter_modern(test, rg): +# test.cmd('az costmanagement dimension list ' +# '--expand "properties/data" ' +# '--filter "properties/category eq \'resourceId\'" ' +# '--top 5 ' +# '--scope "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579"', +# checks=[]) + + +# # EXAMPLE: /Dimensions/get/CustomerDimensionsList-Modern +# @try_manual +# def step__dimensions_get_customerdimensionslist_modern(test, rg): +# test.cmd('az costmanagement dimension list ' +# '--scope "providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678"', +# checks=[]) + + +# # EXAMPLE: /Dimensions/get/CustomerDimensionsListExpandAndTop-Modern +# @try_manual +# def step__dimensions_get_customerdimensionslistexpandandtop_modern(test, rg): +# test.cmd('az costmanagement dimension list ' +# '--expand "properties/data" ' +# '--top 5 ' +# '--scope "providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678"', +# checks=[]) + + +# # EXAMPLE: /Dimensions/get/CustomerDimensionsListWithFilter-Modern +# @try_manual +# def step__dimensions_get_customerdimensionslistwithfilter_modern(test, rg): +# test.cmd('az costmanagement dimension list ' +# '--expand "properties/data" ' +# '--filter "properties/category eq \'resourceId\'" ' +# '--top 5 ' +# '--scope "providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678"', +# checks=[]) + + +# # EXAMPLE: /Dimensions/get/DepartmentDimensionsList-Legacy +# @try_manual +# def step__dimensions_get_departmentdimensionslist_legacy(test, rg): +# test.cmd('az costmanagement dimension list ' +# '--scope "providers/Microsoft.Billing/billingAccounts/100/departments/123"', +# checks=[]) + + +# # EXAMPLE: /Dimensions/get/DepartmentDimensionsListExpandAndTop-Legacy +# @try_manual +# def step__dimensions_get_departmentdimensionslistexpandandtop_legacy(test, rg): +# test.cmd('az costmanagement dimension list ' +# '--expand "properties/data" ' +# '--top 5 ' +# '--scope "providers/Microsoft.Billing/billingAccounts/100/departments/123"', +# checks=[]) + + +# # EXAMPLE: /Dimensions/get/DepartmentDimensionsListWithFilter-Legacy +# @try_manual +# def step__dimensions_get_departmentdimensionslistwithfilter_legacy(test, rg): +# test.cmd('az costmanagement dimension list ' +# '--expand "properties/data" ' +# '--filter "properties/category eq \'resourceId\'" ' +# '--top 5 ' +# '--scope "providers/Microsoft.Billing/billingAccounts/100/departments/123"', +# checks=[]) + + +# # EXAMPLE: /Dimensions/get/EnrollmentAccountDimensionsList-Legacy +# @try_manual +# def step__dimensions_get_enrollmentaccountdimensionslist_legacy(test, rg): +# test.cmd('az costmanagement dimension list ' +# '--scope "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456"', +# checks=[]) + + +# # EXAMPLE: /Dimensions/get/EnrollmentAccountDimensionsListExpandAndTop-Legacy +# @try_manual +# def step__dimensions_get_enrollmentaccountdimensionslistexpandandtop_legacy(test, rg): +# test.cmd('az costmanagement dimension list ' +# '--expand "properties/data" ' +# '--top 5 ' +# '--scope "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456"', +# checks=[]) + + +# # EXAMPLE: /Dimensions/get/EnrollmentAccountDimensionsListWithFilter-Legacy +# @try_manual +# def step__dimensions_get_enrollmentaccountdimensionslistwithfilter_legacy(test, rg): +# test.cmd('az costmanagement dimension list ' +# '--expand "properties/data" ' +# '--filter "properties/category eq \'resourceId\'" ' +# '--top 5 ' +# '--scope "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456"', +# checks=[]) + + +# # EXAMPLE: /Dimensions/get/ExternalBillingAccountDimensionList +# @try_manual +# def step__dimensions_get_externalbillingaccountdimensionlist(test, rg): +# test.cmd('az costmanagement dimension by-external-cloud-provider-type ' +# '--external-cloud-provider-id "100" ' +# '--external-cloud-provider-type "externalBillingAccounts"', +# checks=[]) + + +# # EXAMPLE: /Dimensions/get/ExternalSubscriptionDimensionList +# @try_manual +# def step__dimensions_get_externalsubscriptiondimensionlist(test, rg): +# test.cmd('az costmanagement dimension by-external-cloud-provider-type ' +# '--external-cloud-provider-id "100" ' +# '--external-cloud-provider-type "externalSubscriptions"', +# checks=[]) + + +# # EXAMPLE: /Dimensions/get/InvoiceSectionDimensionsList-Modern +# @try_manual +# def step__dimensions_get_invoicesectiondimensionslist_modern(test, rg): +# test.cmd('az costmanagement dimension list ' +# '--scope "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/987' +# '6"', +# checks=[]) + + +# # EXAMPLE: /Dimensions/get/InvoiceSectionDimensionsListExpandAndTop-Modern +# @try_manual +# def step__dimensions_get_invoicesectiondimensionslistexpandandtop_modern(test, rg): +# test.cmd('az costmanagement dimension list ' +# '--expand "properties/data" ' +# '--top 5 ' +# '--scope "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/987' +# '6"', +# checks=[]) + + +# # EXAMPLE: /Dimensions/get/InvoiceSectionDimensionsListWithFilter-Modern +# @try_manual +# def step__dimensions_get_invoicesectiondimensionslistwithfilter_modern(test, rg): +# test.cmd('az costmanagement dimension list ' +# '--expand "properties/data" ' +# '--filter "properties/category eq \'resourceId\'" ' +# '--top 5 ' +# '--scope "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/987' +# '6"', +# checks=[]) + + +# # EXAMPLE: /Dimensions/get/ManagementGroupDimensionsList-Legacy +# @try_manual +# def step__dimensions_get_managementgroupdimensionslist_legacy(test, rg): +# test.cmd('az costmanagement dimension list ' +# '--scope "providers/Microsoft.Management/managementGroups/MyMgId"', +# checks=[]) + + +# # EXAMPLE: /Dimensions/get/ManagementGroupDimensionsListExpandAndTop-Legacy +# @try_manual +# def step__dimensions_get_managementgroupdimensionslistexpandandtop_legacy(test, rg): +# test.cmd('az costmanagement dimension list ' +# '--expand "properties/data" ' +# '--top 5 ' +# '--scope "providers/Microsoft.Management/managementGroups/MyMgId"', +# checks=[]) + + +# # EXAMPLE: /Dimensions/get/ManagementGroupDimensionsListWithFilter-Legacy +# @try_manual +# def step__dimensions_get_managementgroupdimensionslistwithfilter_legacy(test, rg): +# test.cmd('az costmanagement dimension list ' +# '--expand "properties/data" ' +# '--filter "properties/category eq \'resourceId\'" ' +# '--top 5 ' +# '--scope "providers/Microsoft.Management/managementGroups/MyMgId"', +# checks=[]) + + +# # EXAMPLE: /Dimensions/get/ResourceGroupDimensionsList-Legacy +# @try_manual +# def step__dimensions_get_resourcegroupdimensionslist_legacy(test, rg): +# test.cmd('az costmanagement dimension list ' +# '--expand "properties/data" ' +# '--top 5 ' +# '--scope "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/system.orlando"', +# checks=[]) + + +# # EXAMPLE: /Dimensions/get/SubscriptionDimensionsList-Legacy +# @try_manual +# def step__dimensions_get_subscriptiondimensionslist_legacy(test, rg): +# test.cmd('az costmanagement dimension list ' +# '--expand "properties/data" ' +# '--top 5 ' +# '--scope "subscriptions/00000000-0000-0000-0000-000000000000"', +# checks=[]) + + +# # EXAMPLE: /Exports/put/DepartmentCreateOrUpdateExport +# @try_manual +# def step__exports_put_departmentcreateorupdateexport(test, rg): +# test.cmd('az costmanagement export create ' +# '--export-name "{TestExport}" ' +# '--definition-type "Usage" ' +# '--definition-dataset-aggregation "{{\\"costSum\\":{{\\"name\\":\\"PreTaxCost\\",\\"function\\":\\"Sum\\"}' +# '}}}" ' +# '--definition-dataset-configuration columns="Date" columns="MeterId" columns="InstanceId" columns="Resourc' +# 'eLocation" columns="PreTaxCost" ' +# '--definition-dataset-filter "{{\\"and\\":[{{\\"or\\":[{{\\"dimension\\":{{\\"name\\":\\"ResourceLocation' +# '\\",\\"operator\\":\\"In\\",\\"values\\":[\\"East US\\",\\"West Europe\\"]}}}},{{\\"tag\\":{{\\"name\\":' +# '\\"Environment\\",\\"operator\\":\\"In\\",\\"values\\":[\\"UAT\\",\\"Prod\\"]}}}}]}},{{\\"dimension\\":{{' +# '\\"name\\":\\"ResourceGroup\\",\\"operator\\":\\"In\\",\\"values\\":[\\"API\\"]}}}}]}}" ' +# '--definition-dataset-grouping name="SubscriptionName" type="Dimension" ' +# '--definition-dataset-grouping name="Environment" type="Tag" ' +# '--definition-timeframe "MonthToDate" ' +# '--delivery-info-destination container="exports" resource-id="/subscriptions/{subscription_id}/resourceGro' +# 'ups/{rg}/providers/Microsoft.Storage/storageAccounts/{sa}" root-folder-path="ad-hoc" ' +# '--schedule-recurrence "Weekly" ' +# '--schedule-recurrence-period from="2018-06-01T00:00:00Z" to="2018-10-31T00:00:00Z" ' +# '--schedule-status "Active" ' +# '--scope "providers/Microsoft.Billing/billingAccounts/12/departments/1234"', +# checks=[]) + + +# # EXAMPLE: /Exports/put/EnrollmentAccountCreateOrUpdateExport +# @try_manual +# def step__exports_put_enrollmentaccountcreateorupdateexport(test, rg): +# test.cmd('az costmanagement export create ' +# '--export-name "{TestExport}" ' +# '--definition-type "Usage" ' +# '--definition-dataset-aggregation "{{\\"costSum\\":{{\\"name\\":\\"PreTaxCost\\",\\"function\\":\\"Sum\\"}' +# '}}}" ' +# '--definition-dataset-configuration columns="Date" columns="MeterId" columns="InstanceId" columns="Resourc' +# 'eLocation" columns="PreTaxCost" ' +# '--definition-dataset-filter "{{\\"and\\":[{{\\"or\\":[{{\\"dimension\\":{{\\"name\\":\\"ResourceLocation' +# '\\",\\"operator\\":\\"In\\",\\"values\\":[\\"East US\\",\\"West Europe\\"]}}}},{{\\"tag\\":{{\\"name\\":' +# '\\"Environment\\",\\"operator\\":\\"In\\",\\"values\\":[\\"UAT\\",\\"Prod\\"]}}}}]}},{{\\"dimension\\":{{' +# '\\"name\\":\\"ResourceGroup\\",\\"operator\\":\\"In\\",\\"values\\":[\\"API\\"]}}}}]}}" ' +# '--definition-dataset-grouping name="SubscriptionName" type="Dimension" ' +# '--definition-dataset-grouping name="Environment" type="Tag" ' +# '--definition-timeframe "MonthToDate" ' +# '--delivery-info-destination container="exports" resource-id="/subscriptions/{subscription_id}/resourceGro' +# 'ups/{rg}/providers/Microsoft.Storage/storageAccounts/{sa}" root-folder-path="ad-hoc" ' +# '--schedule-recurrence "Weekly" ' +# '--schedule-recurrence-period from="2018-06-01T00:00:00Z" to="2018-10-31T00:00:00Z" ' +# '--schedule-status "Active" ' +# '--scope "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456"', +# checks=[]) + + +# # EXAMPLE: /Exports/put/ManagementGroupCreateOrUpdateExport +# @try_manual +# def step__exports_put_managementgroupcreateorupdateexport(test, rg): +# test.cmd('az costmanagement export create ' +# '--export-name "{TestExport}" ' +# '--definition-type "Usage" ' +# '--definition-dataset-aggregation "{{\\"costSum\\":{{\\"name\\":\\"PreTaxCost\\",\\"function\\":\\"Sum\\"}' +# '}}}" ' +# '--definition-dataset-configuration columns="Date" columns="MeterId" columns="InstanceId" columns="Resourc' +# 'eLocation" columns="PreTaxCost" ' +# '--definition-dataset-filter "{{\\"and\\":[{{\\"or\\":[{{\\"dimension\\":{{\\"name\\":\\"ResourceLocation' +# '\\",\\"operator\\":\\"In\\",\\"values\\":[\\"East US\\",\\"West Europe\\"]}}}},{{\\"tag\\":{{\\"name\\":' +# '\\"Environment\\",\\"operator\\":\\"In\\",\\"values\\":[\\"UAT\\",\\"Prod\\"]}}}}]}},{{\\"dimension\\":{{' +# '\\"name\\":\\"ResourceGroup\\",\\"operator\\":\\"In\\",\\"values\\":[\\"API\\"]}}}}]}}" ' +# '--definition-dataset-grouping name="SubscriptionName" type="Dimension" ' +# '--definition-dataset-grouping name="Environment" type="Tag" ' +# '--definition-timeframe "MonthToDate" ' +# '--delivery-info-destination container="exports" resource-id="/subscriptions/{subscription_id}/resourceGro' +# 'ups/{rg}/providers/Microsoft.Storage/storageAccounts/{sa}" root-folder-path="ad-hoc" ' +# '--schedule-recurrence "Weekly" ' +# '--schedule-recurrence-period from="2018-06-01T00:00:00Z" to="2018-10-31T00:00:00Z" ' +# '--schedule-status "Active" ' +# '--scope "providers/Microsoft.Management/managementGroups/TestMG"', +# checks=[]) + + +# # EXAMPLE: /Exports/put/ResourceGroupCreateOrUpdateExport +# @try_manual +# def step__exports_put_resourcegroupcreateorupdateexport(test, rg): +# test.cmd('az costmanagement export create ' +# '--export-name "{TestExport}" ' +# '--definition-type "Usage" ' +# '--definition-dataset-aggregation "{{\\"costSum\\":{{\\"name\\":\\"PreTaxCost\\",\\"function\\":\\"Sum\\"}' +# '}}}" ' +# '--definition-dataset-configuration columns="Date" columns="MeterId" columns="InstanceId" columns="Resourc' +# 'eLocation" columns="PreTaxCost" ' +# '--definition-dataset-filter "{{\\"and\\":[{{\\"or\\":[{{\\"dimension\\":{{\\"name\\":\\"ResourceLocation' +# '\\",\\"operator\\":\\"In\\",\\"values\\":[\\"East US\\",\\"West Europe\\"]}}}},{{\\"tag\\":{{\\"name\\":' +# '\\"Environment\\",\\"operator\\":\\"In\\",\\"values\\":[\\"UAT\\",\\"Prod\\"]}}}}]}},{{\\"dimension\\":{{' +# '\\"name\\":\\"ResourceGroup\\",\\"operator\\":\\"In\\",\\"values\\":[\\"API\\"]}}}}]}}" ' +# '--definition-dataset-grouping name="SubscriptionName" type="Dimension" ' +# '--definition-dataset-grouping name="Environment" type="Tag" ' +# '--definition-timeframe "MonthToDate" ' +# '--delivery-info-destination container="exports" resource-id="/subscriptions/{subscription_id}/resourceGro' +# 'ups/{rg}/providers/Microsoft.Storage/storageAccounts/{sa}" root-folder-path="ad-hoc" ' +# '--schedule-recurrence "Weekly" ' +# '--schedule-recurrence-period from="2018-06-01T00:00:00Z" to="2018-10-31T00:00:00Z" ' +# '--schedule-status "Active" ' +# '--scope "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG"', +# checks=[]) + + +# # EXAMPLE: /Exports/put/SubscriptionCreateOrUpdateExport +# @try_manual +# def step__exports_put_subscriptioncreateorupdateexport(test, rg): +# test.cmd('az costmanagement export create ' +# '--export-name "{TestExport}" ' +# '--definition-type "Usage" ' +# '--definition-dataset-aggregation "{{\\"costSum\\":{{\\"name\\":\\"PreTaxCost\\",\\"function\\":\\"Sum\\"}' +# '}}}" ' +# '--definition-dataset-configuration columns="Date" columns="MeterId" columns="InstanceId" columns="Resourc' +# 'eLocation" columns="PreTaxCost" ' +# '--definition-dataset-filter "{{\\"and\\":[{{\\"or\\":[{{\\"dimension\\":{{\\"name\\":\\"ResourceLocation' +# '\\",\\"operator\\":\\"In\\",\\"values\\":[\\"East US\\",\\"West Europe\\"]}}}},{{\\"tag\\":{{\\"name\\":' +# '\\"Environment\\",\\"operator\\":\\"In\\",\\"values\\":[\\"UAT\\",\\"Prod\\"]}}}}]}},{{\\"dimension\\":{{' +# '\\"name\\":\\"ResourceGroup\\",\\"operator\\":\\"In\\",\\"values\\":[\\"API\\"]}}}}]}}" ' +# '--definition-dataset-grouping name="SubscriptionName" type="Dimension" ' +# '--definition-dataset-grouping name="Environment" type="Tag" ' +# '--definition-timeframe "MonthToDate" ' +# '--delivery-info-destination container="exports" resource-id="/subscriptions/{subscription_id}/resourceGro' +# 'ups/{rg}/providers/Microsoft.Storage/storageAccounts/{sa}" root-folder-path="ad-hoc" ' +# '--schedule-recurrence "Weekly" ' +# '--schedule-recurrence-period from="2018-06-01T00:00:00Z" to="2018-10-31T00:00:00Z" ' +# '--schedule-status "Active" ' +# '--scope "subscriptions/00000000-0000-0000-0000-000000000000"', +# checks=[]) + + +# # EXAMPLE: /Exports/get/ManagementGroupExecutionHistoryExport +# @try_manual +# def step__exports_get_managementgroupexecutionhistoryexport(test, rg): +# test.cmd('az costmanagement export show ' +# '--export-name "{TestExport}" ' +# '--scope "providers/Microsoft.Management/managementGroups/TestMG"', +# checks=[]) + + +# # EXAMPLE: /Exports/get/BillingAccountExecutionHistoryExport +# @try_manual +# def step__exports_get_billingaccountexecutionhistoryexport(test, rg): +# test.cmd('az costmanagement export show ' +# '--export-name "{TestExport}" ' +# '--scope "providers/Microsoft.Billing/billingAccounts/123456"', +# checks=[]) + + +# # EXAMPLE: /Exports/get/BillingAccountExport +# @try_manual +# def step__exports_get_billingaccountexport(test, rg): +# test.cmd('az costmanagement export show ' +# '--export-name "{TestExport}" ' +# '--scope "providers/Microsoft.Billing/billingAccounts/123456"', +# checks=[]) + + +# # EXAMPLE: /Exports/get/BillingAccountExportList +# @try_manual +# def step__exports_get_billingaccountexportlist(test, rg): +# test.cmd('az costmanagement export list ' +# '--scope "providers/Microsoft.Billing/billingAccounts/123456"', +# checks=[]) + + +# # EXAMPLE: /Exports/get/DepartmentExecutionHistoryExport +# @try_manual +# def step__exports_get_departmentexecutionhistoryexport(test, rg): +# test.cmd('az costmanagement export show ' +# '--export-name "{TestExport}" ' +# '--scope "providers/Microsoft.Billing/billingAccounts/12/departments/1234"', +# checks=[]) + + +# # EXAMPLE: /Exports/get/DepartmentExport +# @try_manual +# def step__exports_get_departmentexport(test, rg): +# test.cmd('az costmanagement export show ' +# '--export-name "{TestExport}" ' +# '--scope "providers/Microsoft.Billing/billingAccounts/12/departments/1234"', +# checks=[]) + + +# # EXAMPLE: /Exports/get/DepartmentExportList +# @try_manual +# def step__exports_get_departmentexportlist(test, rg): +# test.cmd('az costmanagement export list ' +# '--scope "providers/Microsoft.Billing/billingAccounts/12/departments/123"', +# checks=[]) + + +# # EXAMPLE: /Exports/get/EnrollmentAccountExecutionHistoryExport +# @try_manual +# def step__exports_get_enrollmentaccountexecutionhistoryexport(test, rg): +# test.cmd('az costmanagement export show ' +# '--export-name "{TestExport}" ' +# '--scope "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456"', +# checks=[]) + + +# # EXAMPLE: /Exports/get/EnrollmentAccountExport +# @try_manual +# def step__exports_get_enrollmentaccountexport(test, rg): +# test.cmd('az costmanagement export show ' +# '--export-name "{TestExport}" ' +# '--scope "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456"', +# checks=[]) + + +# # EXAMPLE: /Exports/get/EnrollmentAccountExportList +# @try_manual +# def step__exports_get_enrollmentaccountexportlist(test, rg): +# test.cmd('az costmanagement export list ' +# '--scope "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456"', +# checks=[]) + + +# # EXAMPLE: /Alerts/get/BillingProfileAlerts +# @try_manual +# def step__alerts_get_billingprofilealerts(test, rg): +# test.cmd('az costmanagement alert list ' +# '--scope "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579"', +# checks=[]) + + +# # EXAMPLE: /Exports/get/ManagementGroupExport +# @try_manual +# def step__exports_get_managementgroupexport(test, rg): +# test.cmd('az costmanagement export show ' +# '--export-name "{TestExport}" ' +# '--scope "providers/Microsoft.Management/managementGroups/TestMG"', +# checks=[]) + + +# # EXAMPLE: /Exports/get/ManagementGroupExportList +# @try_manual +# def step__exports_get_managementgroupexportlist(test, rg): +# test.cmd('az costmanagement export list ' +# '--scope "providers/Microsoft.Management/managementGroups/TestMG"', +# checks=[]) + + +# # EXAMPLE: /Exports/get/ResourceGroupExecutionHistoryExport +# @try_manual +# def step__exports_get_resourcegroupexecutionhistoryexport(test, rg): +# test.cmd('az costmanagement export show ' +# '--export-name "{TestExport}" ' +# '--scope "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG"', +# checks=[]) + + +# # EXAMPLE: /Exports/get/ResourceGroupExport +# @try_manual +# def step__exports_get_resourcegroupexport(test, rg): +# test.cmd('az costmanagement export show ' +# '--export-name "{TestExport}" ' +# '--scope "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG"', +# checks=[]) + + +# # EXAMPLE: /Exports/get/ResourceGroupExportList +# @try_manual +# def step__exports_get_resourcegroupexportlist(test, rg): +# test.cmd('az costmanagement export list ' +# '--scope "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG"', +# checks=[]) + + +# # EXAMPLE: /Exports/get/SubscriptionExecutionHistoryExport +# @try_manual +# def step__exports_get_subscriptionexecutionhistoryexport(test, rg): +# test.cmd('az costmanagement export show ' +# '--export-name "{TestExport}" ' +# '--scope "subscriptions/00000000-0000-0000-0000-000000000000"', +# checks=[]) + + +# # EXAMPLE: /Exports/get/SubscriptionExport +# @try_manual +# def step__exports_get_subscriptionexport(test, rg): +# test.cmd('az costmanagement export show ' +# '--export-name "{TestExport}" ' +# '--scope "subscriptions/00000000-0000-0000-0000-000000000000"', +# checks=[]) + + +# # EXAMPLE: /Exports/get/SubscriptionExportList +# @try_manual +# def step__exports_get_subscriptionexportlist(test, rg): +# test.cmd('az costmanagement export list ' +# '--scope "subscriptions/00000000-0000-0000-0000-000000000000"', +# checks=[]) + + +# # EXAMPLE: /Exports/post/BillingAccountExecuteExport +# @try_manual +# def step__exports_post_billingaccountexecuteexport(test, rg): +# test.cmd('az costmanagement export execute ' +# '--export-name "{TestExport}" ' +# '--scope "providers/Microsoft.Billing/billingAccounts/123456"', +# checks=[]) + + +# # EXAMPLE: /Exports/post/DepartmentExecuteExport +# @try_manual +# def step__exports_post_departmentexecuteexport(test, rg): +# test.cmd('az costmanagement export execute ' +# '--export-name "{TestExport}" ' +# '--scope "providers/Microsoft.Billing/billingAccounts/12/departments/1234"', +# checks=[]) + + +# # EXAMPLE: /Exports/post/EnrollmentAccountExecuteExport +# @try_manual +# def step__exports_post_enrollmentaccountexecuteexport(test, rg): +# test.cmd('az costmanagement export execute ' +# '--export-name "{TestExport}" ' +# '--scope "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456"', +# checks=[]) + + +# # EXAMPLE: /Exports/post/ManagementGroupExecuteExport +# @try_manual +# def step__exports_post_managementgroupexecuteexport(test, rg): +# test.cmd('az costmanagement export execute ' +# '--export-name "{TestExport}" ' +# '--scope "providers/Microsoft.Management/managementGroups/TestMG"', +# checks=[]) + + +# # EXAMPLE: /Exports/post/ResourceGroupExecuteExport +# @try_manual +# def step__exports_post_resourcegroupexecuteexport(test, rg): +# test.cmd('az costmanagement export execute ' +# '--export-name "{TestExport}" ' +# '--scope "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG"', +# checks=[]) + + +# # EXAMPLE: /Exports/post/SubscriptionExecuteExport +# @try_manual +# def step__exports_post_subscriptionexecuteexport(test, rg): +# test.cmd('az costmanagement export execute ' +# '--export-name "{TestExport}" ' +# '--scope "subscriptions/00000000-0000-0000-0000-000000000000"', +# checks=[]) + + +# # EXAMPLE: /Forecast/post/BillingAccountForecast +# @try_manual +# def step__forecast_post_billingaccountforecast(test, rg): +# test.cmd('az costmanagement forecast usage ' +# '--type "Usage" ' +# '--dataset-filter "{{\\"and\\":[{{\\"or\\":[{{\\"dimension\\":{{\\"name\\":\\"ResourceLocation\\",\\"opera' +# 'tor\\":\\"In\\",\\"values\\":[\\"East US\\",\\"West Europe\\"]}}}},{{\\"tag\\":{{\\"name\\":\\"Environmen' +# 't\\",\\"operator\\":\\"In\\",\\"values\\":[\\"UAT\\",\\"Prod\\"]}}}}]}},{{\\"dimension\\":{{\\"name\\":\\' +# '"ResourceGroup\\",\\"operator\\":\\"In\\",\\"values\\":[\\"API\\"]}}}}]}}" ' +# '--include-actual-cost false ' +# '--include-fresh-partial-cost false ' +# '--timeframe "MonthToDate" ' +# '--scope "providers/Microsoft.Billing/billingAccounts/12345:6789"', +# checks=[]) + + +# # EXAMPLE: /Forecast/post/BillingProfileForecast +# @try_manual +# def step__forecast_post_billingprofileforecast(test, rg): +# test.cmd('az costmanagement forecast usage ' +# '--type "Usage" ' +# '--dataset-filter "{{\\"and\\":[{{\\"or\\":[{{\\"dimension\\":{{\\"name\\":\\"ResourceLocation\\",\\"opera' +# 'tor\\":\\"In\\",\\"values\\":[\\"East US\\",\\"West Europe\\"]}}}},{{\\"tag\\":{{\\"name\\":\\"Environmen' +# 't\\",\\"operator\\":\\"In\\",\\"values\\":[\\"UAT\\",\\"Prod\\"]}}}}]}},{{\\"dimension\\":{{\\"name\\":\\' +# '"ResourceGroup\\",\\"operator\\":\\"In\\",\\"values\\":[\\"API\\"]}}}}]}}" ' +# '--include-actual-cost false ' +# '--include-fresh-partial-cost false ' +# '--timeframe "MonthToDate" ' +# '--scope "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579"', +# checks=[]) + + +# # EXAMPLE: /Forecast/post/DepartmentForecast +# @try_manual +# def step__forecast_post_departmentforecast(test, rg): +# test.cmd('az costmanagement forecast usage ' +# '--type "Usage" ' +# '--dataset-filter "{{\\"and\\":[{{\\"or\\":[{{\\"dimension\\":{{\\"name\\":\\"ResourceLocation\\",\\"opera' +# 'tor\\":\\"In\\",\\"values\\":[\\"East US\\",\\"West Europe\\"]}}}},{{\\"tag\\":{{\\"name\\":\\"Environmen' +# 't\\",\\"operator\\":\\"In\\",\\"values\\":[\\"UAT\\",\\"Prod\\"]}}}}]}},{{\\"dimension\\":{{\\"name\\":\\' +# '"ResourceGroup\\",\\"operator\\":\\"In\\",\\"values\\":[\\"API\\"]}}}}]}}" ' +# '--include-actual-cost false ' +# '--include-fresh-partial-cost false ' +# '--timeframe "MonthToDate" ' +# '--scope "providers/Microsoft.Billing/billingAccounts/12345:6789/departments/123"', +# checks=[]) + + +# # EXAMPLE: /Forecast/post/EnrollmentAccountForecast +# @try_manual +# def step__forecast_post_enrollmentaccountforecast(test, rg): +# test.cmd('az costmanagement forecast usage ' +# '--type "Usage" ' +# '--dataset-filter "{{\\"and\\":[{{\\"or\\":[{{\\"dimension\\":{{\\"name\\":\\"ResourceLocation\\",\\"opera' +# 'tor\\":\\"In\\",\\"values\\":[\\"East US\\",\\"West Europe\\"]}}}},{{\\"tag\\":{{\\"name\\":\\"Environmen' +# 't\\",\\"operator\\":\\"In\\",\\"values\\":[\\"UAT\\",\\"Prod\\"]}}}}]}},{{\\"dimension\\":{{\\"name\\":\\' +# '"ResourceGroup\\",\\"operator\\":\\"In\\",\\"values\\":[\\"API\\"]}}}}]}}" ' +# '--include-actual-cost false ' +# '--include-fresh-partial-cost false ' +# '--timeframe "MonthToDate" ' +# '--scope "providers/Microsoft.Billing/billingAccounts/12345:6789/enrollmentAccounts/456"', +# checks=[]) + + +# # EXAMPLE: /Forecast/post/ExternalBillingAccountForecast +# @try_manual +# def step__forecast_post_externalbillingaccountforecast(test, rg): +# test.cmd('az costmanagement forecast external-cloud-provider-usage ' +# '--external-cloud-provider-id "100" ' +# '--external-cloud-provider-type "externalBillingAccounts" ' +# '--type "Usage" ' +# '--dataset-filter "{{\\"and\\":[{{\\"or\\":[{{\\"dimension\\":{{\\"name\\":\\"ResourceLocation\\",\\"opera' +# 'tor\\":\\"In\\",\\"values\\":[\\"East US\\",\\"West Europe\\"]}}}},{{\\"tag\\":{{\\"name\\":\\"Environmen' +# 't\\",\\"operator\\":\\"In\\",\\"values\\":[\\"UAT\\",\\"Prod\\"]}}}}]}},{{\\"dimension\\":{{\\"name\\":\\' +# '"ResourceGroup\\",\\"operator\\":\\"In\\",\\"values\\":[\\"API\\"]}}}}]}}" ' +# '--timeframe "MonthToDate"', +# checks=[]) + + +# # EXAMPLE: /Forecast/post/ExternalSubscriptionForecast +# @try_manual +# def step__forecast_post_externalsubscriptionforecast(test, rg): +# test.cmd('az costmanagement forecast external-cloud-provider-usage ' +# '--external-cloud-provider-id "100" ' +# '--external-cloud-provider-type "externalSubscriptions" ' +# '--type "Usage" ' +# '--dataset-filter "{{\\"and\\":[{{\\"or\\":[{{\\"dimension\\":{{\\"name\\":\\"ResourceLocation\\",\\"opera' +# 'tor\\":\\"In\\",\\"values\\":[\\"East US\\",\\"West Europe\\"]}}}},{{\\"tag\\":{{\\"name\\":\\"Environmen' +# 't\\",\\"operator\\":\\"In\\",\\"values\\":[\\"UAT\\",\\"Prod\\"]}}}}]}},{{\\"dimension\\":{{\\"name\\":\\' +# '"ResourceGroup\\",\\"operator\\":\\"In\\",\\"values\\":[\\"API\\"]}}}}]}}" ' +# '--timeframe "MonthToDate"', +# checks=[]) + + +# # EXAMPLE: /Forecast/post/InvoiceSectionForecast +# @try_manual +# def step__forecast_post_invoicesectionforecast(test, rg): +# test.cmd('az costmanagement forecast usage ' +# '--type "Usage" ' +# '--dataset-filter "{{\\"and\\":[{{\\"or\\":[{{\\"dimension\\":{{\\"name\\":\\"ResourceLocation\\",\\"opera' +# 'tor\\":\\"In\\",\\"values\\":[\\"East US\\",\\"West Europe\\"]}}}},{{\\"tag\\":{{\\"name\\":\\"Environmen' +# 't\\",\\"operator\\":\\"In\\",\\"values\\":[\\"UAT\\",\\"Prod\\"]}}}}]}},{{\\"dimension\\":{{\\"name\\":\\' +# '"ResourceGroup\\",\\"operator\\":\\"In\\",\\"values\\":[\\"API\\"]}}}}]}}" ' +# '--include-actual-cost false ' +# '--include-fresh-partial-cost false ' +# '--timeframe "MonthToDate" ' +# '--scope "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/987' +# '6"', +# checks=[]) + + +# # EXAMPLE: /Forecast/post/ResourceGroupForecast +# @try_manual +# def step__forecast_post_resourcegroupforecast(test, rg): +# test.cmd('az costmanagement forecast usage ' +# '--type "Usage" ' +# '--dataset-filter "{{\\"and\\":[{{\\"or\\":[{{\\"dimension\\":{{\\"name\\":\\"ResourceLocation\\",\\"opera' +# 'tor\\":\\"In\\",\\"values\\":[\\"East US\\",\\"West Europe\\"]}}}},{{\\"tag\\":{{\\"name\\":\\"Environmen' +# 't\\",\\"operator\\":\\"In\\",\\"values\\":[\\"UAT\\",\\"Prod\\"]}}}}]}},{{\\"dimension\\":{{\\"name\\":\\' +# '"ResourceGroup\\",\\"operator\\":\\"In\\",\\"values\\":[\\"API\\"]}}}}]}}" ' +# '--include-actual-cost false ' +# '--include-fresh-partial-cost false ' +# '--timeframe "MonthToDate" ' +# '--scope "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ScreenSharingTest-peer"', +# checks=[]) + + +# # EXAMPLE: /Forecast/post/SubscriptionForecast +# @try_manual +# def step__forecast_post_subscriptionforecast(test, rg): +# test.cmd('az costmanagement forecast usage ' +# '--type "Usage" ' +# '--dataset-filter "{{\\"and\\":[{{\\"or\\":[{{\\"dimension\\":{{\\"name\\":\\"ResourceLocation\\",\\"opera' +# 'tor\\":\\"In\\",\\"values\\":[\\"East US\\",\\"West Europe\\"]}}}},{{\\"tag\\":{{\\"name\\":\\"Environmen' +# 't\\",\\"operator\\":\\"In\\",\\"values\\":[\\"UAT\\",\\"Prod\\"]}}}}]}},{{\\"dimension\\":{{\\"name\\":\\' +# '"ResourceGroup\\",\\"operator\\":\\"In\\",\\"values\\":[\\"API\\"]}}}}]}}" ' +# '--include-actual-cost false ' +# '--include-fresh-partial-cost false ' +# '--timeframe "MonthToDate" ' +# '--scope "subscriptions/00000000-0000-0000-0000-000000000000"', +# checks=[]) + + +# # EXAMPLE: /Query/post/BillingAccountQuery-Legacy +# @try_manual +# def step__query_post_billingaccountquery_legacy(test, rg): +# test.cmd('az costmanagement query usage ' +# '--type "Usage" ' +# '--dataset-filter "{{\\"and\\":[{{\\"or\\":[{{\\"dimension\\":{{\\"name\\":\\"ResourceLocation\\",\\"opera' +# 'tor\\":\\"In\\",\\"values\\":[\\"East US\\",\\"West Europe\\"]}}}},{{\\"tag\\":{{\\"name\\":\\"Environmen' +# 't\\",\\"operator\\":\\"In\\",\\"values\\":[\\"UAT\\",\\"Prod\\"]}}}}]}},{{\\"dimension\\":{{\\"name\\":\\' +# '"ResourceGroup\\",\\"operator\\":\\"In\\",\\"values\\":[\\"API\\"]}}}}]}}" ' +# '--timeframe "MonthToDate" ' +# '--scope "providers/Microsoft.Billing/billingAccounts/70664866"', +# checks=[]) + + +# # EXAMPLE: /Query/post/BillingAccountQuery-Modern +# @try_manual +# def step__query_post_billingaccountquery_modern(test, rg): +# test.cmd('az costmanagement query usage ' +# '--type "Usage" ' +# '--dataset-filter "{{\\"and\\":[{{\\"or\\":[{{\\"dimension\\":{{\\"name\\":\\"ResourceLocation\\",\\"opera' +# 'tor\\":\\"In\\",\\"values\\":[\\"East US\\",\\"West Europe\\"]}}}},{{\\"tag\\":{{\\"name\\":\\"Environmen' +# 't\\",\\"operator\\":\\"In\\",\\"values\\":[\\"UAT\\",\\"Prod\\"]}}}}]}},{{\\"dimension\\":{{\\"name\\":\\' +# '"ResourceGroup\\",\\"operator\\":\\"In\\",\\"values\\":[\\"API\\"]}}}}]}}" ' +# '--timeframe "MonthToDate" ' +# '--scope "providers/Microsoft.Billing/billingAccounts/12345:6789"', +# checks=[]) + + +# # EXAMPLE: /Query/post/BillingAccountQueryGrouping-Legacy +# @try_manual +# def step__query_post_billingaccountquerygrouping_legacy(test, rg): +# test.cmd('az costmanagement query usage ' +# '--type "Usage" ' +# '--dataset-aggregation "{{\\"totalCost\\":{{\\"name\\":\\"PreTaxCost\\",\\"function\\":\\"Sum\\"}}}}" ' +# '--dataset-grouping name="ResourceGroup" type="Dimension" ' +# '--timeframe "TheLastMonth" ' +# '--scope "providers/Microsoft.Billing/billingAccounts/70664866"', +# checks=[]) + + +# # EXAMPLE: /Query/post/BillingAccountQueryGrouping-Modern +# @try_manual +# def step__query_post_billingaccountquerygrouping_modern(test, rg): +# test.cmd('az costmanagement query usage ' +# '--type "Usage" ' +# '--dataset-aggregation "{{\\"totalCost\\":{{\\"name\\":\\"PreTaxCost\\",\\"function\\":\\"Sum\\"}}}}" ' +# '--dataset-grouping name="ResourceGroup" type="Dimension" ' +# '--timeframe "TheLastMonth" ' +# '--scope "providers/Microsoft.Billing/billingAccounts/12345:6789"', +# checks=[]) + + +# # EXAMPLE: /Query/post/BillingProfileQuery-Modern +# @try_manual +# def step__query_post_billingprofilequery_modern(test, rg): +# test.cmd('az costmanagement query usage ' +# '--type "Usage" ' +# '--dataset-filter "{{\\"and\\":[{{\\"or\\":[{{\\"dimension\\":{{\\"name\\":\\"ResourceLocation\\",\\"opera' +# 'tor\\":\\"In\\",\\"values\\":[\\"East US\\",\\"West Europe\\"]}}}},{{\\"tag\\":{{\\"name\\":\\"Environmen' +# 't\\",\\"operator\\":\\"In\\",\\"values\\":[\\"UAT\\",\\"Prod\\"]}}}}]}},{{\\"dimension\\":{{\\"name\\":\\' +# '"ResourceGroup\\",\\"operator\\":\\"In\\",\\"values\\":[\\"API\\"]}}}}]}}" ' +# '--timeframe "MonthToDate" ' +# '--scope "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579"', +# checks=[]) + + +# # EXAMPLE: /Query/post/BillingProfileQueryGrouping-Modern +# @try_manual +# def step__query_post_billingprofilequerygrouping_modern(test, rg): +# test.cmd('az costmanagement query usage ' +# '--type "Usage" ' +# '--dataset-aggregation "{{\\"totalCost\\":{{\\"name\\":\\"PreTaxCost\\",\\"function\\":\\"Sum\\"}}}}" ' +# '--dataset-grouping name="ResourceGroup" type="Dimension" ' +# '--timeframe "TheLastMonth" ' +# '--scope "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579"', +# checks=[]) + + +# # EXAMPLE: /Query/post/CustomerQuery-Modern +# @try_manual +# def step__query_post_customerquery_modern(test, rg): +# test.cmd('az costmanagement query usage ' +# '--type "Usage" ' +# '--dataset-filter "{{\\"and\\":[{{\\"or\\":[{{\\"dimension\\":{{\\"name\\":\\"ResourceLocation\\",\\"opera' +# 'tor\\":\\"In\\",\\"values\\":[\\"East US\\",\\"West Europe\\"]}}}},{{\\"tag\\":{{\\"name\\":\\"Environmen' +# 't\\",\\"operator\\":\\"In\\",\\"values\\":[\\"UAT\\",\\"Prod\\"]}}}}]}},{{\\"dimension\\":{{\\"name\\":\\' +# '"ResourceGroup\\",\\"operator\\":\\"In\\",\\"values\\":[\\"API\\"]}}}}]}}" ' +# '--timeframe "MonthToDate" ' +# '--scope "providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678"', +# checks=[]) + + +# # EXAMPLE: /Query/post/CustomerQueryGrouping-Modern +# @try_manual +# def step__query_post_customerquerygrouping_modern(test, rg): +# test.cmd('az costmanagement query usage ' +# '--type "Usage" ' +# '--dataset-aggregation "{{\\"totalCost\\":{{\\"name\\":\\"PreTaxCost\\",\\"function\\":\\"Sum\\"}}}}" ' +# '--dataset-grouping name="ResourceGroup" type="Dimension" ' +# '--timeframe "TheLastMonth" ' +# '--scope "providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678"', +# checks=[]) + + +# # EXAMPLE: /Query/post/DepartmentQuery-Legacy +# @try_manual +# def step__query_post_departmentquery_legacy(test, rg): +# test.cmd('az costmanagement query usage ' +# '--type "Usage" ' +# '--dataset-filter "{{\\"and\\":[{{\\"or\\":[{{\\"dimension\\":{{\\"name\\":\\"ResourceLocation\\",\\"opera' +# 'tor\\":\\"In\\",\\"values\\":[\\"East US\\",\\"West Europe\\"]}}}},{{\\"tag\\":{{\\"name\\":\\"Environmen' +# 't\\",\\"operator\\":\\"In\\",\\"values\\":[\\"UAT\\",\\"Prod\\"]}}}}]}},{{\\"dimension\\":{{\\"name\\":\\' +# '"ResourceGroup\\",\\"operator\\":\\"In\\",\\"values\\":[\\"API\\"]}}}}]}}" ' +# '--timeframe "MonthToDate" ' +# '--scope "providers/Microsoft.Billing/billingAccounts/100/departments/123"', +# checks=[]) + + +# # EXAMPLE: /Query/post/DepartmentQueryGrouping-Legacy +# @try_manual +# def step__query_post_departmentquerygrouping_legacy(test, rg): +# test.cmd('az costmanagement query usage ' +# '--type "Usage" ' +# '--dataset-aggregation "{{\\"totalCost\\":{{\\"name\\":\\"PreTaxCost\\",\\"function\\":\\"Sum\\"}}}}" ' +# '--dataset-grouping name="ResourceGroup" type="Dimension" ' +# '--timeframe "TheLastMonth" ' +# '--scope "providers/Microsoft.Billing/billingAccounts/100/departments/123"', +# checks=[]) + + +# # EXAMPLE: /Query/post/EnrollmentAccountQuery-Legacy +# @try_manual +# def step__query_post_enrollmentaccountquery_legacy(test, rg): +# test.cmd('az costmanagement query usage ' +# '--type "Usage" ' +# '--dataset-filter "{{\\"and\\":[{{\\"or\\":[{{\\"dimension\\":{{\\"name\\":\\"ResourceLocation\\",\\"opera' +# 'tor\\":\\"In\\",\\"values\\":[\\"East US\\",\\"West Europe\\"]}}}},{{\\"tag\\":{{\\"name\\":\\"Environmen' +# 't\\",\\"operator\\":\\"In\\",\\"values\\":[\\"UAT\\",\\"Prod\\"]}}}}]}},{{\\"dimension\\":{{\\"name\\":\\' +# '"ResourceGroup\\",\\"operator\\":\\"In\\",\\"values\\":[\\"API\\"]}}}}]}}" ' +# '--timeframe "MonthToDate" ' +# '--scope "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456"', +# checks=[]) + + +# # EXAMPLE: /Query/post/EnrollmentAccountQueryGrouping-Legacy +# @try_manual +# def step__query_post_enrollmentaccountquerygrouping_legacy(test, rg): +# test.cmd('az costmanagement query usage ' +# '--type "Usage" ' +# '--dataset-aggregation "{{\\"totalCost\\":{{\\"name\\":\\"PreTaxCost\\",\\"function\\":\\"Sum\\"}}}}" ' +# '--dataset-grouping name="ResourceGroup" type="Dimension" ' +# '--timeframe "TheLastMonth" ' +# '--scope "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456"', +# checks=[]) + + +# # EXAMPLE: /Query/post/ExternalBillingAccountQueryList +# @try_manual +# def step__query_post_externalbillingaccountquerylist(test, rg): +# test.cmd('az costmanagement query usage-by-external-cloud-provider-type ' +# '--external-cloud-provider-id "100" ' +# '--external-cloud-provider-type "externalBillingAccounts" ' +# '--type "Usage" ' +# '--dataset-filter "{{\\"and\\":[{{\\"or\\":[{{\\"dimension\\":{{\\"name\\":\\"ResourceLocation\\",\\"opera' +# 'tor\\":\\"In\\",\\"values\\":[\\"East US\\",\\"West Europe\\"]}}}},{{\\"tag\\":{{\\"name\\":\\"Environmen' +# 't\\",\\"operator\\":\\"In\\",\\"values\\":[\\"UAT\\",\\"Prod\\"]}}}}]}},{{\\"dimension\\":{{\\"name\\":\\' +# '"ResourceGroup\\",\\"operator\\":\\"In\\",\\"values\\":[\\"API\\"]}}}}]}}" ' +# '--timeframe "MonthToDate"', +# checks=[]) + + +# # EXAMPLE: /Query/post/ExternalSubscriptionsQuery +# @try_manual +# def step__query_post_externalsubscriptionsquery(test, rg): +# test.cmd('az costmanagement query usage-by-external-cloud-provider-type ' +# '--external-cloud-provider-id "100" ' +# '--external-cloud-provider-type "externalSubscriptions" ' +# '--type "Usage" ' +# '--dataset-filter "{{\\"and\\":[{{\\"or\\":[{{\\"dimension\\":{{\\"name\\":\\"ResourceLocation\\",\\"opera' +# 'tor\\":\\"In\\",\\"values\\":[\\"East US\\",\\"West Europe\\"]}}}},{{\\"tag\\":{{\\"name\\":\\"Environmen' +# 't\\",\\"operator\\":\\"In\\",\\"values\\":[\\"UAT\\",\\"Prod\\"]}}}}]}},{{\\"dimension\\":{{\\"name\\":\\' +# '"ResourceGroup\\",\\"operator\\":\\"In\\",\\"values\\":[\\"API\\"]}}}}]}}" ' +# '--timeframe "MonthToDate"', +# checks=[]) + + +# # EXAMPLE: /Query/post/InvoiceSectionQuery-Modern +# @try_manual +# def step__query_post_invoicesectionquery_modern(test, rg): +# test.cmd('az costmanagement query usage ' +# '--type "Usage" ' +# '--dataset-filter "{{\\"and\\":[{{\\"or\\":[{{\\"dimension\\":{{\\"name\\":\\"ResourceLocation\\",\\"opera' +# 'tor\\":\\"In\\",\\"values\\":[\\"East US\\",\\"West Europe\\"]}}}},{{\\"tag\\":{{\\"name\\":\\"Environmen' +# 't\\",\\"operator\\":\\"In\\",\\"values\\":[\\"UAT\\",\\"Prod\\"]}}}}]}},{{\\"dimension\\":{{\\"name\\":\\' +# '"ResourceGroup\\",\\"operator\\":\\"In\\",\\"values\\":[\\"API\\"]}}}}]}}" ' +# '--timeframe "MonthToDate" ' +# '--scope "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/987' +# '6"', +# checks=[]) + + +# # EXAMPLE: /Query/post/InvoiceSectionQueryGrouping-Modern +# @try_manual +# def step__query_post_invoicesectionquerygrouping_modern(test, rg): +# test.cmd('az costmanagement query usage ' +# '--type "Usage" ' +# '--dataset-aggregation "{{\\"totalCost\\":{{\\"name\\":\\"PreTaxCost\\",\\"function\\":\\"Sum\\"}}}}" ' +# '--dataset-grouping name="ResourceGroup" type="Dimension" ' +# '--timeframe "TheLastMonth" ' +# '--scope "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/987' +# '6"', +# checks=[]) + + +# # EXAMPLE: /Query/post/ManagementGroupQuery-Legacy +# @try_manual +# def step__query_post_managementgroupquery_legacy(test, rg): +# test.cmd('az costmanagement query usage ' +# '--type "Usage" ' +# '--dataset-filter "{{\\"and\\":[{{\\"or\\":[{{\\"dimension\\":{{\\"name\\":\\"ResourceLocation\\",\\"opera' +# 'tor\\":\\"In\\",\\"values\\":[\\"East US\\",\\"West Europe\\"]}}}},{{\\"tag\\":{{\\"name\\":\\"Environmen' +# 't\\",\\"operator\\":\\"In\\",\\"values\\":[\\"UAT\\",\\"Prod\\"]}}}}]}},{{\\"dimension\\":{{\\"name\\":\\' +# '"ResourceGroup\\",\\"operator\\":\\"In\\",\\"values\\":[\\"API\\"]}}}}]}}" ' +# '--timeframe "MonthToDate" ' +# '--scope "providers/Microsoft.Management/managementGroups/MyMgId"', +# checks=[]) + + +# # EXAMPLE: /Query/post/ManagementGroupQueryGrouping-Legacy +# @try_manual +# def step__query_post_managementgroupquerygrouping_legacy(test, rg): +# test.cmd('az costmanagement query usage ' +# '--type "Usage" ' +# '--dataset-aggregation "{{\\"totalCost\\":{{\\"name\\":\\"PreTaxCost\\",\\"function\\":\\"Sum\\"}}}}" ' +# '--dataset-grouping name="ResourceGroup" type="Dimension" ' +# '--timeframe "TheLastMonth" ' +# '--scope "providers/Microsoft.Management/managementGroups/MyMgId"', +# checks=[]) + + +# # EXAMPLE: /Query/post/ResourceGroupQuery-Legacy +# @try_manual +# def step__query_post_resourcegroupquery_legacy(test, rg): +# test.cmd('az costmanagement query usage ' +# '--type "Usage" ' +# '--dataset-filter "{{\\"and\\":[{{\\"or\\":[{{\\"dimension\\":{{\\"name\\":\\"ResourceLocation\\",\\"opera' +# 'tor\\":\\"In\\",\\"values\\":[\\"East US\\",\\"West Europe\\"]}}}},{{\\"tag\\":{{\\"name\\":\\"Environmen' +# 't\\",\\"operator\\":\\"In\\",\\"values\\":[\\"UAT\\",\\"Prod\\"]}}}}]}},{{\\"dimension\\":{{\\"name\\":\\' +# '"ResourceGroup\\",\\"operator\\":\\"In\\",\\"values\\":[\\"API\\"]}}}}]}}" ' +# '--timeframe "MonthToDate" ' +# '--scope "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ScreenSharingTest-peer"', +# checks=[]) + + +# # EXAMPLE: /Query/post/ResourceGroupQueryGrouping-Legacy +# @try_manual +# def step__query_post_resourcegroupquerygrouping_legacy(test, rg): +# test.cmd('az costmanagement query usage ' +# '--type "Usage" ' +# '--dataset-aggregation "{{\\"totalCost\\":{{\\"name\\":\\"PreTaxCost\\",\\"function\\":\\"Sum\\"}}}}" ' +# '--dataset-grouping name="ResourceType" type="Dimension" ' +# '--timeframe "TheLastMonth" ' +# '--scope "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ScreenSharingTest-peer"', +# checks=[]) + + +# # EXAMPLE: /Query/post/SubscriptionQuery-Legacy +# @try_manual +# def step__query_post_subscriptionquery_legacy(test, rg): +# test.cmd('az costmanagement query usage ' +# '--type "Usage" ' +# '--dataset-filter "{{\\"and\\":[{{\\"or\\":[{{\\"dimension\\":{{\\"name\\":\\"ResourceLocation\\",\\"opera' +# 'tor\\":\\"In\\",\\"values\\":[\\"East US\\",\\"West Europe\\"]}}}},{{\\"tag\\":{{\\"name\\":\\"Environmen' +# 't\\",\\"operator\\":\\"In\\",\\"values\\":[\\"UAT\\",\\"Prod\\"]}}}}]}},{{\\"dimension\\":{{\\"name\\":\\' +# '"ResourceGroup\\",\\"operator\\":\\"In\\",\\"values\\":[\\"API\\"]}}}}]}}" ' +# '--timeframe "MonthToDate" ' +# '--scope "subscriptions/00000000-0000-0000-0000-000000000000"', +# checks=[]) + + +# # EXAMPLE: /Query/post/SubscriptionQueryGrouping-Legacy +# @try_manual +# def step__query_post_subscriptionquerygrouping_legacy(test, rg): +# test.cmd('az costmanagement query usage ' +# '--type "Usage" ' +# '--dataset-aggregation "{{\\"totalCost\\":{{\\"name\\":\\"PreTaxCost\\",\\"function\\":\\"Sum\\"}}}}" ' +# '--dataset-grouping name="ResourceGroup" type="Dimension" ' +# '--timeframe "TheLastMonth" ' +# '--scope "subscriptions/00000000-0000-0000-0000-000000000000"', +# checks=[]) + + +# # EXAMPLE: /Exports/delete/DepartmentDeleteExport +# @try_manual +# def step__exports_delete_departmentdeleteexport(test, rg): +# test.cmd('az costmanagement export delete ' +# '--export-name "{TestExport}" ' +# '--scope "providers/Microsoft.Billing/billingAccounts/12/departments/1234"', +# checks=[]) + + +# # EXAMPLE: /Exports/delete/SubscriptionDeleteExport +# @try_manual +# def step__exports_delete_subscriptiondeleteexport(test, rg): +# test.cmd('az costmanagement export delete ' +# '--export-name "{TestExport}" ' +# '--scope "subscriptions/00000000-0000-0000-0000-000000000000"', +# checks=[]) + + +# # EXAMPLE: /Exports/delete/ResourceGroupDeleteExport +# @try_manual +# def step__exports_delete_resourcegroupdeleteexport(test, rg): +# test.cmd('az costmanagement export delete ' +# '--export-name "{TestExport}" ' +# '--scope "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG"', +# checks=[]) + + +# # EXAMPLE: /Exports/delete/ManagementGroupDeleteExport +# @try_manual +# def step__exports_delete_managementgroupdeleteexport(test, rg): +# test.cmd('az costmanagement export delete ' +# '--export-name "{TestExport}" ' +# '--scope "providers/Microsoft.Management/managementGroups/TestMG"', +# checks=[]) + + +# # EXAMPLE: /Exports/delete/EnrollmentAccountDeleteExport +# @try_manual +# def step__exports_delete_enrollmentaccountdeleteexport(test, rg): +# test.cmd('az costmanagement export delete ' +# '--export-name "{TestExport}" ' +# '--scope "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456"', +# checks=[]) + + +# # EXAMPLE: /Exports/delete/BillingAccountDeleteExport +# @try_manual +# def step__exports_delete_billingaccountdeleteexport(test, rg): +# test.cmd('az costmanagement export delete ' +# '--export-name "{TestExport}" ' +# '--scope "providers/Microsoft.Billing/billingAccounts/123456"', +# checks=[]) + + +# @try_manual +# def cleanup(test, rg): +# pass + + +# @try_manual +# def call_scenario(test, rg): +# setup(test, rg) +# step__exports_put_billingaccountcreateorupdateexport(test, rg) +# step__alerts_get_billingaccountalerts(test, rg) +# step__alerts_get_departmentalerts(test, rg) +# step__alerts_get_enrollmentaccountalerts(test, rg) +# step__alerts_get_externalbillingaccountalerts(test, rg) +# step__alerts_get_externalsubscriptionalerts(test, rg) +# step__alerts_get_invoicesectionalerts(test, rg) +# step__alerts_get_resourcegroupalerts(test, rg) +# step__alerts_get_subscriptionalerts(test, rg) +# step__dimensions_get_billingaccountdimensionslist_legacy(test, rg) +# step__dimensions_get_billingaccountdimensionslist_modern(test, rg) +# step__dimensions_get_billingaccountdimensionslistexpandandtop_legacy(test, rg) +# step__dimensions_get_billingaccountdimensionslistexpandandtop_modern(test, rg) +# step__dimensions_get_billingaccountdimensionslistwithfilter_legacy(test, rg) +# step__dimensions_get_billingaccountdimensionslistwithfilter_modern(test, rg) +# step__dimensions_get_billingprofiledimensionslist_modern(test, rg) +# step__dimensions_get_billingprofiledimensionslistexpandandtop_modern(test, rg) +# step__dimensions_get_billingprofiledimensionslistwithfilter_modern(test, rg) +# step__dimensions_get_customerdimensionslist_modern(test, rg) +# step__dimensions_get_customerdimensionslistexpandandtop_modern(test, rg) +# step__dimensions_get_customerdimensionslistwithfilter_modern(test, rg) +# step__dimensions_get_departmentdimensionslist_legacy(test, rg) +# step__dimensions_get_departmentdimensionslistexpandandtop_legacy(test, rg) +# step__dimensions_get_departmentdimensionslistwithfilter_legacy(test, rg) +# step__dimensions_get_enrollmentaccountdimensionslist_legacy(test, rg) +# step__dimensions_get_enrollmentaccountdimensionslistexpandandtop_legacy(test, rg) +# step__dimensions_get_enrollmentaccountdimensionslistwithfilter_legacy(test, rg) +# step__dimensions_get_externalbillingaccountdimensionlist(test, rg) +# step__dimensions_get_externalsubscriptiondimensionlist(test, rg) +# step__dimensions_get_invoicesectiondimensionslist_modern(test, rg) +# step__dimensions_get_invoicesectiondimensionslistexpandandtop_modern(test, rg) +# step__dimensions_get_invoicesectiondimensionslistwithfilter_modern(test, rg) +# step__dimensions_get_managementgroupdimensionslist_legacy(test, rg) +# step__dimensions_get_managementgroupdimensionslistexpandandtop_legacy(test, rg) +# step__dimensions_get_managementgroupdimensionslistwithfilter_legacy(test, rg) +# step__dimensions_get_resourcegroupdimensionslist_legacy(test, rg) +# step__dimensions_get_subscriptiondimensionslist_legacy(test, rg) +# step__exports_put_departmentcreateorupdateexport(test, rg) +# step__exports_put_enrollmentaccountcreateorupdateexport(test, rg) +# step__exports_put_managementgroupcreateorupdateexport(test, rg) +# step__exports_put_resourcegroupcreateorupdateexport(test, rg) +# step__exports_put_subscriptioncreateorupdateexport(test, rg) +# step__exports_get_managementgroupexecutionhistoryexport(test, rg) +# step__exports_get_billingaccountexecutionhistoryexport(test, rg) +# step__exports_get_billingaccountexport(test, rg) +# step__exports_get_billingaccountexportlist(test, rg) +# step__exports_get_departmentexecutionhistoryexport(test, rg) +# step__exports_get_departmentexport(test, rg) +# step__exports_get_departmentexportlist(test, rg) +# step__exports_get_enrollmentaccountexecutionhistoryexport(test, rg) +# step__exports_get_enrollmentaccountexport(test, rg) +# step__exports_get_enrollmentaccountexportlist(test, rg) +# step__alerts_get_billingprofilealerts(test, rg) +# step__exports_get_managementgroupexport(test, rg) +# step__exports_get_managementgroupexportlist(test, rg) +# step__exports_get_resourcegroupexecutionhistoryexport(test, rg) +# step__exports_get_resourcegroupexport(test, rg) +# step__exports_get_resourcegroupexportlist(test, rg) +# step__exports_get_subscriptionexecutionhistoryexport(test, rg) +# step__exports_get_subscriptionexport(test, rg) +# step__exports_get_subscriptionexportlist(test, rg) +# step__exports_post_billingaccountexecuteexport(test, rg) +# step__exports_post_departmentexecuteexport(test, rg) +# step__exports_post_enrollmentaccountexecuteexport(test, rg) +# step__exports_post_managementgroupexecuteexport(test, rg) +# step__exports_post_resourcegroupexecuteexport(test, rg) +# step__exports_post_subscriptionexecuteexport(test, rg) +# step__forecast_post_billingaccountforecast(test, rg) +# step__forecast_post_billingprofileforecast(test, rg) +# step__forecast_post_departmentforecast(test, rg) +# step__forecast_post_enrollmentaccountforecast(test, rg) +# step__forecast_post_externalbillingaccountforecast(test, rg) +# step__forecast_post_externalsubscriptionforecast(test, rg) +# step__forecast_post_invoicesectionforecast(test, rg) +# step__forecast_post_resourcegroupforecast(test, rg) +# step__forecast_post_subscriptionforecast(test, rg) +# step__query_post_billingaccountquery_legacy(test, rg) +# step__query_post_billingaccountquery_modern(test, rg) +# step__query_post_billingaccountquerygrouping_legacy(test, rg) +# step__query_post_billingaccountquerygrouping_modern(test, rg) +# step__query_post_billingprofilequery_modern(test, rg) +# step__query_post_billingprofilequerygrouping_modern(test, rg) +# step__query_post_customerquery_modern(test, rg) +# step__query_post_customerquerygrouping_modern(test, rg) +# step__query_post_departmentquery_legacy(test, rg) +# step__query_post_departmentquerygrouping_legacy(test, rg) +# step__query_post_enrollmentaccountquery_legacy(test, rg) +# step__query_post_enrollmentaccountquerygrouping_legacy(test, rg) +# step__query_post_externalbillingaccountquerylist(test, rg) +# step__query_post_externalsubscriptionsquery(test, rg) +# step__query_post_invoicesectionquery_modern(test, rg) +# step__query_post_invoicesectionquerygrouping_modern(test, rg) +# step__query_post_managementgroupquery_legacy(test, rg) +# step__query_post_managementgroupquerygrouping_legacy(test, rg) +# step__query_post_resourcegroupquery_legacy(test, rg) +# step__query_post_resourcegroupquerygrouping_legacy(test, rg) +# step__query_post_subscriptionquery_legacy(test, rg) +# step__query_post_subscriptionquerygrouping_legacy(test, rg) +# step__exports_delete_departmentdeleteexport(test, rg) +# step__exports_delete_subscriptiondeleteexport(test, rg) +# step__exports_delete_resourcegroupdeleteexport(test, rg) +# step__exports_delete_managementgroupdeleteexport(test, rg) +# step__exports_delete_enrollmentaccountdeleteexport(test, rg) +# step__exports_delete_billingaccountdeleteexport(test, rg) +# cleanup(test, rg) + + +# @try_manual +# class CostManagementClientScenarioTest(ScenarioTest): + +# @ResourceGroupPreparer(name_prefix='clitestcostmanagement_MYDEVTESTRG'[:7], key='rg', parameter_name='rg') +# @StorageAccountPreparer(name_prefix='clitestcostmanagement_ccmeastusdiag182'[:7], key='sa', +# resource_group_parameter_name='rg') +# def test_costmanagement(self, rg): + +# self.kwargs.update({ +# 'subscription_id': self.get_subscription_id() +# }) + +# self.kwargs.update({ +# 'TestExport': 'TestExport', +# }) + +# call_scenario(self, rg) diff --git a/src/costmanagement/azext_costmanagement/vendored_sdks/__init__.py b/src/costmanagement/azext_costmanagement/vendored_sdks/__init__.py new file mode 100644 index 00000000000..ee0c4f36bd0 --- /dev/null +++ b/src/costmanagement/azext_costmanagement/vendored_sdks/__init__.py @@ -0,0 +1,12 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +__path__ = __import__('pkgutil').extend_path(__path__, __name__) diff --git a/src/costmanagement/azext_costmanagement/vendored_sdks/costmanagement/__init__.py b/src/costmanagement/azext_costmanagement/vendored_sdks/costmanagement/__init__.py new file mode 100644 index 00000000000..80154bae521 --- /dev/null +++ b/src/costmanagement/azext_costmanagement/vendored_sdks/costmanagement/__init__.py @@ -0,0 +1,19 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._cost_management_client import CostManagementClient +from ._version import VERSION + +__version__ = VERSION +__all__ = ['CostManagementClient'] + +try: + from .patch import patch_sdk + patch_sdk() +except ImportError: + pass diff --git a/src/costmanagement/azext_costmanagement/vendored_sdks/costmanagement/_configuration.py b/src/costmanagement/azext_costmanagement/vendored_sdks/costmanagement/_configuration.py new file mode 100644 index 00000000000..8625677aaa9 --- /dev/null +++ b/src/costmanagement/azext_costmanagement/vendored_sdks/costmanagement/_configuration.py @@ -0,0 +1,63 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import TYPE_CHECKING + +from azure.core.configuration import Configuration +from azure.core.pipeline import policies + +from ._version import VERSION + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any + + from azure.core.credentials import TokenCredential + + +class CostManagementClientConfiguration(Configuration): + """Configuration for CostManagementClient. + + Note that all parameters used to create this instance are saved as instance + attributes. + + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials.TokenCredential + """ + + def __init__( + self, + credential, # type: "TokenCredential" + **kwargs # type: Any + ): + # type: (...) -> None + if credential is None: + raise ValueError("Parameter 'credential' must not be None.") + super(CostManagementClientConfiguration, self).__init__(**kwargs) + + self.credential = credential + self.api_version = "2019-11-01" + self.credential_scopes = ['https://management.azure.com/.default'] + kwargs.setdefault('sdk_moniker', 'mgmt-costmanagement/{}'.format(VERSION)) + self._configure(**kwargs) + + def _configure( + self, + **kwargs # type: Any + ): + # type: (...) -> None + self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get('retry_policy') or policies.RetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get('redirect_policy') or policies.RedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get('authentication_policy') + if self.credential and not self.authentication_policy: + self.authentication_policy = policies.BearerTokenCredentialPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/costmanagement/azext_costmanagement/vendored_sdks/costmanagement/_cost_management_client.py b/src/costmanagement/azext_costmanagement/vendored_sdks/costmanagement/_cost_management_client.py new file mode 100644 index 00000000000..0cdba0c257e --- /dev/null +++ b/src/costmanagement/azext_costmanagement/vendored_sdks/costmanagement/_cost_management_client.py @@ -0,0 +1,93 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import TYPE_CHECKING + +from azure.mgmt.core import ARMPipelineClient +from msrest import Deserializer, Serializer + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Optional + +from ._configuration import CostManagementClientConfiguration +from .operations import ViewOperations +from .operations import AlertOperations +from .operations import ForecastOperations +from .operations import DimensionOperations +from .operations import QueryOperations +from .operations import ExportOperations +from .operations import OperationOperations +from . import models + + +class CostManagementClient(object): + """CostManagementClient. + + :ivar view: ViewOperations operations + :vartype view: azure.mgmt.costmanagement.operations.ViewOperations + :ivar alert: AlertOperations operations + :vartype alert: azure.mgmt.costmanagement.operations.AlertOperations + :ivar forecast: ForecastOperations operations + :vartype forecast: azure.mgmt.costmanagement.operations.ForecastOperations + :ivar dimension: DimensionOperations operations + :vartype dimension: azure.mgmt.costmanagement.operations.DimensionOperations + :ivar query: QueryOperations operations + :vartype query: azure.mgmt.costmanagement.operations.QueryOperations + :ivar export: ExportOperations operations + :vartype export: azure.mgmt.costmanagement.operations.ExportOperations + :ivar operation: OperationOperations operations + :vartype operation: azure.mgmt.costmanagement.operations.OperationOperations + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials.TokenCredential + :param str base_url: Service URL + """ + + def __init__( + self, + credential, # type: "TokenCredential" + base_url=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> None + if not base_url: + base_url = 'https://management.azure.com' + self._config = CostManagementClientConfiguration(credential, **kwargs) + self._client = ARMPipelineClient(base_url=base_url, config=self._config, **kwargs) + + 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.view = ViewOperations( + self._client, self._config, self._serialize, self._deserialize) + self.alert = AlertOperations( + self._client, self._config, self._serialize, self._deserialize) + self.forecast = ForecastOperations( + self._client, self._config, self._serialize, self._deserialize) + self.dimension = DimensionOperations( + self._client, self._config, self._serialize, self._deserialize) + self.query = QueryOperations( + self._client, self._config, self._serialize, self._deserialize) + self.export = ExportOperations( + self._client, self._config, self._serialize, self._deserialize) + self.operation = OperationOperations( + self._client, self._config, self._serialize, self._deserialize) + + def close(self): + # type: () -> None + self._client.close() + + def __enter__(self): + # type: () -> CostManagementClient + self._client.__enter__() + return self + + def __exit__(self, *exc_details): + # type: (Any) -> None + self._client.__exit__(*exc_details) diff --git a/src/costmanagement/azext_costmanagement/vendored_sdks/costmanagement/_version.py b/src/costmanagement/azext_costmanagement/vendored_sdks/costmanagement/_version.py new file mode 100644 index 00000000000..dbf4c577231 --- /dev/null +++ b/src/costmanagement/azext_costmanagement/vendored_sdks/costmanagement/_version.py @@ -0,0 +1,9 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +VERSION = "1.2.0" diff --git a/src/costmanagement/azext_costmanagement/vendored_sdks/costmanagement/aio/__init__.py b/src/costmanagement/azext_costmanagement/vendored_sdks/costmanagement/aio/__init__.py new file mode 100644 index 00000000000..5e5f35e29c0 --- /dev/null +++ b/src/costmanagement/azext_costmanagement/vendored_sdks/costmanagement/aio/__init__.py @@ -0,0 +1,10 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._cost_management_client_async import CostManagementClient +__all__ = ['CostManagementClient'] diff --git a/src/costmanagement/azext_costmanagement/vendored_sdks/costmanagement/aio/_configuration_async.py b/src/costmanagement/azext_costmanagement/vendored_sdks/costmanagement/aio/_configuration_async.py new file mode 100644 index 00000000000..15d87f41cbf --- /dev/null +++ b/src/costmanagement/azext_costmanagement/vendored_sdks/costmanagement/aio/_configuration_async.py @@ -0,0 +1,59 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import Any, TYPE_CHECKING + +from azure.core.configuration import Configuration +from azure.core.pipeline import policies + +from .._version import VERSION + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials import TokenCredential + + +class CostManagementClientConfiguration(Configuration): + """Configuration for CostManagementClient. + + Note that all parameters used to create this instance are saved as instance + attributes. + + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials_async.AsyncTokenCredential + """ + + def __init__( + self, + credential: "AsyncTokenCredential", + **kwargs: Any + ) -> None: + if credential is None: + raise ValueError("Parameter 'credential' must not be None.") + super(CostManagementClientConfiguration, self).__init__(**kwargs) + + self.credential = credential + self.api_version = "2019-11-01" + self.credential_scopes = ['https://management.azure.com/.default'] + kwargs.setdefault('sdk_moniker', 'mgmt-costmanagement/{}'.format(VERSION)) + self._configure(**kwargs) + + def _configure( + self, + **kwargs: Any + ) -> None: + self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get('retry_policy') or policies.AsyncRetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get('redirect_policy') or policies.AsyncRedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get('authentication_policy') + if self.credential and not self.authentication_policy: + self.authentication_policy = policies.AsyncBearerTokenCredentialPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/costmanagement/azext_costmanagement/vendored_sdks/costmanagement/aio/_cost_management_client_async.py b/src/costmanagement/azext_costmanagement/vendored_sdks/costmanagement/aio/_cost_management_client_async.py new file mode 100644 index 00000000000..0f81334bb70 --- /dev/null +++ b/src/costmanagement/azext_costmanagement/vendored_sdks/costmanagement/aio/_cost_management_client_async.py @@ -0,0 +1,85 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import Any, Optional + +from azure.mgmt.core import AsyncARMPipelineClient +from msrest import Deserializer, Serializer + +from ._configuration_async import CostManagementClientConfiguration +from .operations_async import ViewOperations +from .operations_async import AlertOperations +from .operations_async import ForecastOperations +from .operations_async import DimensionOperations +from .operations_async import QueryOperations +from .operations_async import ExportOperations +from .operations_async import OperationOperations +from .. import models + + +class CostManagementClient(object): + """CostManagementClient. + + :ivar view: ViewOperations operations + :vartype view: azure.mgmt.costmanagement.aio.operations_async.ViewOperations + :ivar alert: AlertOperations operations + :vartype alert: azure.mgmt.costmanagement.aio.operations_async.AlertOperations + :ivar forecast: ForecastOperations operations + :vartype forecast: azure.mgmt.costmanagement.aio.operations_async.ForecastOperations + :ivar dimension: DimensionOperations operations + :vartype dimension: azure.mgmt.costmanagement.aio.operations_async.DimensionOperations + :ivar query: QueryOperations operations + :vartype query: azure.mgmt.costmanagement.aio.operations_async.QueryOperations + :ivar export: ExportOperations operations + :vartype export: azure.mgmt.costmanagement.aio.operations_async.ExportOperations + :ivar operation: OperationOperations operations + :vartype operation: azure.mgmt.costmanagement.aio.operations_async.OperationOperations + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials_async.AsyncTokenCredential + :param str base_url: Service URL + """ + + def __init__( + self, + credential: "AsyncTokenCredential", + base_url: Optional[str] = None, + **kwargs: Any + ) -> None: + if not base_url: + base_url = 'https://management.azure.com' + self._config = CostManagementClientConfiguration(credential, **kwargs) + self._client = AsyncARMPipelineClient(base_url=base_url, config=self._config, **kwargs) + + 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.view = ViewOperations( + self._client, self._config, self._serialize, self._deserialize) + self.alert = AlertOperations( + self._client, self._config, self._serialize, self._deserialize) + self.forecast = ForecastOperations( + self._client, self._config, self._serialize, self._deserialize) + self.dimension = DimensionOperations( + self._client, self._config, self._serialize, self._deserialize) + self.query = QueryOperations( + self._client, self._config, self._serialize, self._deserialize) + self.export = ExportOperations( + self._client, self._config, self._serialize, self._deserialize) + self.operation = OperationOperations( + self._client, self._config, self._serialize, self._deserialize) + + async def close(self) -> None: + await self._client.close() + + async def __aenter__(self) -> "CostManagementClient": + await self._client.__aenter__() + return self + + async def __aexit__(self, *exc_details) -> None: + await self._client.__aexit__(*exc_details) diff --git a/src/costmanagement/azext_costmanagement/vendored_sdks/costmanagement/aio/operations_async/__init__.py b/src/costmanagement/azext_costmanagement/vendored_sdks/costmanagement/aio/operations_async/__init__.py new file mode 100644 index 00000000000..e2738b1b3eb --- /dev/null +++ b/src/costmanagement/azext_costmanagement/vendored_sdks/costmanagement/aio/operations_async/__init__.py @@ -0,0 +1,25 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._view_operations_async import ViewOperations +from ._alert_operations_async import AlertOperations +from ._forecast_operations_async import ForecastOperations +from ._dimension_operations_async import DimensionOperations +from ._query_operations_async import QueryOperations +from ._export_operations_async import ExportOperations +from ._operation_operations_async import OperationOperations + +__all__ = [ + 'ViewOperations', + 'AlertOperations', + 'ForecastOperations', + 'DimensionOperations', + 'QueryOperations', + 'ExportOperations', + 'OperationOperations', +] diff --git a/src/costmanagement/azext_costmanagement/vendored_sdks/costmanagement/aio/operations_async/_alert_operations_async.py b/src/costmanagement/azext_costmanagement/vendored_sdks/costmanagement/aio/operations_async/_alert_operations_async.py new file mode 100644 index 00000000000..db9ca7b4425 --- /dev/null +++ b/src/costmanagement/azext_costmanagement/vendored_sdks/costmanagement/aio/operations_async/_alert_operations_async.py @@ -0,0 +1,165 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class AlertOperations: + """AlertOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.costmanagement.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + async def list( + self, + scope: str, + **kwargs + ) -> "models.AlertsResult": + """Lists the alerts for scope defined. + + :param scope: The scope associated with alerts operations. This includes + '/subscriptions/{subscriptionId}/' for subscription scope, + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope and + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' + for Department scope, + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' + for EnrollmentAccount scope, + '/providers/Microsoft.Management/managementGroups/{managementGroupId} for Management Group + scope, + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' + for billingProfile scope, + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}' + for invoiceSection scope, and + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}' + specific for partners. + :type scope: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: AlertsResult or the result of cls(response) + :rtype: ~azure.mgmt.costmanagement.models.AlertsResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.AlertsResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'scope': self._serialize.url("scope", scope, 'str', skip_quote=True), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('AlertsResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + list.metadata = {'url': '/{scope}/providers/Microsoft.CostManagement/alerts'} + + async def list_external( + self, + external_cloud_provider_type: Union[str, "models.ExternalCloudProviderType"], + external_cloud_provider_id: str, + **kwargs + ) -> "models.AlertsResult": + """Lists the Alerts for external cloud provider type defined. + + :param external_cloud_provider_type: The external cloud provider type associated with + dimension/query operations. This includes 'externalSubscriptions' for linked account and + 'externalBillingAccounts' for consolidated account. + :type external_cloud_provider_type: str or ~azure.mgmt.costmanagement.models.ExternalCloudProviderType + :param external_cloud_provider_id: This can be '{externalSubscriptionId}' for linked account or + '{externalBillingAccountId}' for consolidated account used with dimension/query operations. + :type external_cloud_provider_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: AlertsResult or the result of cls(response) + :rtype: ~azure.mgmt.costmanagement.models.AlertsResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.AlertsResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + # Construct URL + url = self.list_external.metadata['url'] + path_format_arguments = { + 'externalCloudProviderType': self._serialize.url("external_cloud_provider_type", external_cloud_provider_type, 'str'), + 'externalCloudProviderId': self._serialize.url("external_cloud_provider_id", external_cloud_provider_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('AlertsResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + list_external.metadata = {'url': '/providers/Microsoft.CostManagement/{externalCloudProviderType}/{externalCloudProviderId}/alerts'} diff --git a/src/costmanagement/azext_costmanagement/vendored_sdks/costmanagement/aio/operations_async/_dimension_operations_async.py b/src/costmanagement/azext_costmanagement/vendored_sdks/costmanagement/aio/operations_async/_dimension_operations_async.py new file mode 100644 index 00000000000..9e7580d0894 --- /dev/null +++ b/src/costmanagement/azext_costmanagement/vendored_sdks/costmanagement/aio/operations_async/_dimension_operations_async.py @@ -0,0 +1,244 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class DimensionOperations: + """DimensionOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.costmanagement.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + scope: str, + filter: Optional[str] = None, + expand: Optional[str] = None, + skiptoken: Optional[str] = None, + top: Optional[int] = None, + **kwargs + ) -> "models.DimensionsListResult": + """Lists the dimensions by the defined scope. + + :param scope: The scope associated with dimension operations. This includes + '/subscriptions/{subscriptionId}/' for subscription scope, + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope, + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' + for Department scope, + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' + for EnrollmentAccount scope, + '/providers/Microsoft.Management/managementGroups/{managementGroupId}' for Management Group + scope, + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' + for billingProfile scope, + 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}' + for invoiceSection scope, and + 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}' + specific for partners. + :type scope: str + :param filter: May be used to filter dimensions by properties/category, properties/usageStart, + properties/usageEnd. Supported operators are 'eq','lt', 'gt', 'le', 'ge'. + :type filter: str + :param expand: May be used to expand the properties/data within a dimension category. By + default, data is not included when listing dimensions. + :type expand: str + :param skiptoken: Skiptoken is only used if a previous operation returned a partial result. If + a previous response contains a nextLink element, the value of the nextLink element will include + a skiptoken parameter that specifies a starting point to use for subsequent calls. + :type skiptoken: str + :param top: May be used to limit the number of results to the most recent N dimension data. + :type top: int + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DimensionsListResult or the result of cls(response) + :rtype: ~azure.mgmt.costmanagement.models.DimensionsListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.DimensionsListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'scope': self._serialize.url("scope", scope, 'str', skip_quote=True), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + if skiptoken is not None: + query_parameters['$skiptoken'] = self._serialize.query("skiptoken", skiptoken, 'str') + if top is not None: + query_parameters['$top'] = self._serialize.query("top", top, 'int', maximum=1000, minimum=1) + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('DimensionsListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/{scope}/providers/Microsoft.CostManagement/dimensions'} + + def by_external_cloud_provider_type( + self, + external_cloud_provider_type: Union[str, "models.ExternalCloudProviderType"], + external_cloud_provider_id: str, + filter: Optional[str] = None, + expand: Optional[str] = None, + skiptoken: Optional[str] = None, + top: Optional[int] = None, + **kwargs + ) -> "models.DimensionsListResult": + """Lists the dimensions by the external cloud provider type. + + :param external_cloud_provider_type: The external cloud provider type associated with + dimension/query operations. This includes 'externalSubscriptions' for linked account and + 'externalBillingAccounts' for consolidated account. + :type external_cloud_provider_type: str or ~azure.mgmt.costmanagement.models.ExternalCloudProviderType + :param external_cloud_provider_id: This can be '{externalSubscriptionId}' for linked account or + '{externalBillingAccountId}' for consolidated account used with dimension/query operations. + :type external_cloud_provider_id: str + :param filter: May be used to filter dimensions by properties/category, properties/usageStart, + properties/usageEnd. Supported operators are 'eq','lt', 'gt', 'le', 'ge'. + :type filter: str + :param expand: May be used to expand the properties/data within a dimension category. By + default, data is not included when listing dimensions. + :type expand: str + :param skiptoken: Skiptoken is only used if a previous operation returned a partial result. If + a previous response contains a nextLink element, the value of the nextLink element will include + a skiptoken parameter that specifies a starting point to use for subsequent calls. + :type skiptoken: str + :param top: May be used to limit the number of results to the most recent N dimension data. + :type top: int + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DimensionsListResult or the result of cls(response) + :rtype: ~azure.mgmt.costmanagement.models.DimensionsListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.DimensionsListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.by_external_cloud_provider_type.metadata['url'] + path_format_arguments = { + 'externalCloudProviderType': self._serialize.url("external_cloud_provider_type", external_cloud_provider_type, 'str'), + 'externalCloudProviderId': self._serialize.url("external_cloud_provider_id", external_cloud_provider_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + if skiptoken is not None: + query_parameters['$skiptoken'] = self._serialize.query("skiptoken", skiptoken, 'str') + if top is not None: + query_parameters['$top'] = self._serialize.query("top", top, 'int', maximum=1000, minimum=1) + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('DimensionsListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + by_external_cloud_provider_type.metadata = {'url': '/providers/Microsoft.CostManagement/{externalCloudProviderType}/{externalCloudProviderId}/dimensions'} diff --git a/src/costmanagement/azext_costmanagement/vendored_sdks/costmanagement/aio/operations_async/_export_operations_async.py b/src/costmanagement/azext_costmanagement/vendored_sdks/costmanagement/aio/operations_async/_export_operations_async.py new file mode 100644 index 00000000000..4d14c7ab9a2 --- /dev/null +++ b/src/costmanagement/azext_costmanagement/vendored_sdks/costmanagement/aio/operations_async/_export_operations_async.py @@ -0,0 +1,506 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, List, Optional, TypeVar, Union +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class ExportOperations: + """ExportOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.costmanagement.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + async def list( + self, + scope: str, + **kwargs + ) -> "models.ExportListResult": + """The operation to list all exports at the given scope. + + :param scope: The scope associated with query and export operations. This includes + '/subscriptions/{subscriptionId}/' for subscription scope, + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope and + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' + for Department scope, + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' + for EnrollmentAccount scope, + '/providers/Microsoft.Management/managementGroups/{managementGroupId} for Management Group + scope, + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' + for billingProfile scope, + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}' + for invoiceSection scope, and + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}' + specific for partners. + :type scope: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ExportListResult or the result of cls(response) + :rtype: ~azure.mgmt.costmanagement.models.ExportListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ExportListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'scope': self._serialize.url("scope", scope, 'str', skip_quote=True), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ExportListResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + list.metadata = {'url': '/{scope}/providers/Microsoft.CostManagement/exports'} + + async def get( + self, + scope: str, + export_name: str, + **kwargs + ) -> "models.Export": + """The operation to get the export for the defined scope by export name. + + :param scope: The scope associated with query and export operations. This includes + '/subscriptions/{subscriptionId}/' for subscription scope, + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope and + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' + for Department scope, + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' + for EnrollmentAccount scope, + '/providers/Microsoft.Management/managementGroups/{managementGroupId} for Management Group + scope, + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' + for billingProfile scope, + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}' + for invoiceSection scope, and + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}' + specific for partners. + :type scope: str + :param export_name: Export Name. + :type export_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Export or the result of cls(response) + :rtype: ~azure.mgmt.costmanagement.models.Export + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.Export"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'scope': self._serialize.url("scope", scope, 'str', skip_quote=True), + 'exportName': self._serialize.url("export_name", export_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('Export', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/{scope}/providers/Microsoft.CostManagement/exports/{exportName}'} + + async def create_or_update( + self, + scope: str, + export_name: str, + e_tag: Optional[str] = None, + type: Optional[Union[str, "models.ExportType"]] = None, + timeframe: Optional[Union[str, "models.TimeframeType"]] = None, + time_period: Optional["models.QueryTimePeriod"] = None, + configuration: Optional["models.QueryDatasetConfiguration"] = None, + aggregation: Optional[Dict[str, "QueryAggregation"]] = None, + grouping: Optional[List["QueryGrouping"]] = None, + filter: Optional["models.QueryFilter"] = None, + destination: Optional["models.ExportDeliveryDestination"] = None, + status: Optional[Union[str, "models.StatusType"]] = None, + recurrence: Optional[Union[str, "models.RecurrenceType"]] = None, + recurrence_period: Optional["models.ExportRecurrencePeriod"] = None, + **kwargs + ) -> "models.Export": + """The operation to create or update a export. Update operation requires latest eTag to be set in the request. You may obtain the latest eTag by performing a get operation. Create operation does not require eTag. + + :param scope: The scope associated with query and export operations. This includes + '/subscriptions/{subscriptionId}/' for subscription scope, + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope and + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' + for Department scope, + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' + for EnrollmentAccount scope, + '/providers/Microsoft.Management/managementGroups/{managementGroupId} for Management Group + scope, + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' + for billingProfile scope, + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}' + for invoiceSection scope, and + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}' + specific for partners. + :type scope: str + :param export_name: Export Name. + :type export_name: str + :param e_tag: eTag of the resource. To handle concurrent update scenario, this field will be + used to determine whether the user is updating the latest version or not. + :type e_tag: str + :param type: The type of the query. + :type type: str or ~azure.mgmt.costmanagement.models.ExportType + :param timeframe: The time frame for pulling data for the query. If custom, then a specific + time period must be provided. + :type timeframe: str or ~azure.mgmt.costmanagement.models.TimeframeType + :param time_period: Has time period for pulling data for the query. + :type time_period: ~azure.mgmt.costmanagement.models.QueryTimePeriod + :param configuration: Has configuration information for the data in the export. The + configuration will be ignored if aggregation and grouping are provided. + :type configuration: ~azure.mgmt.costmanagement.models.QueryDatasetConfiguration + :param aggregation: Dictionary of aggregation expression to use in the query. The key of each + item in the dictionary is the alias for the aggregated column. Query can have up to 2 + aggregation clauses. + :type aggregation: dict[str, ~azure.mgmt.costmanagement.models.QueryAggregation] + :param grouping: Array of group by expression to use in the query. Query can have up to 2 group + by clauses. + :type grouping: list[~azure.mgmt.costmanagement.models.QueryGrouping] + :param filter: Has filter expression to use in the query. + :type filter: ~azure.mgmt.costmanagement.models.QueryFilter + :param destination: Has destination for the export being delivered. + :type destination: ~azure.mgmt.costmanagement.models.ExportDeliveryDestination + :param status: The status of the schedule. Whether active or not. If inactive, the export's + scheduled execution is paused. + :type status: str or ~azure.mgmt.costmanagement.models.StatusType + :param recurrence: The schedule recurrence. + :type recurrence: str or ~azure.mgmt.costmanagement.models.RecurrenceType + :param recurrence_period: Has start and end date of the recurrence. The start date must be in + future. If present, the end date must be greater than start date. + :type recurrence_period: ~azure.mgmt.costmanagement.models.ExportRecurrencePeriod + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Export or the result of cls(response) + :rtype: ~azure.mgmt.costmanagement.models.Export or ~azure.mgmt.costmanagement.models.Export + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.Export"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _parameters = models.Export(e_tag=e_tag, type_properties_definition_type=type, timeframe=timeframe, time_period=time_period, configuration=configuration, aggregation=aggregation, grouping=grouping, filter=filter, destination=destination, status=status, recurrence=recurrence, recurrence_period=recurrence_period) + api_version = "2019-11-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'scope': self._serialize.url("scope", scope, 'str', skip_quote=True), + 'exportName': self._serialize.url("export_name", export_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_parameters, 'Export') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('Export', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('Export', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = {'url': '/{scope}/providers/Microsoft.CostManagement/exports/{exportName}'} + + async def delete( + self, + scope: str, + export_name: str, + **kwargs + ) -> None: + """The operation to delete a export. + + :param scope: The scope associated with query and export operations. This includes + '/subscriptions/{subscriptionId}/' for subscription scope, + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope and + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' + for Department scope, + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' + for EnrollmentAccount scope, + '/providers/Microsoft.Management/managementGroups/{managementGroupId} for Management Group + scope, + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' + for billingProfile scope, + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}' + for invoiceSection scope, and + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}' + specific for partners. + :type scope: str + :param export_name: Export Name. + :type export_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'scope': self._serialize.url("scope", scope, 'str', skip_quote=True), + 'exportName': self._serialize.url("export_name", export_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/{scope}/providers/Microsoft.CostManagement/exports/{exportName}'} + + async def execute( + self, + scope: str, + export_name: str, + **kwargs + ) -> None: + """The operation to execute a export. + + :param scope: The scope associated with query and export operations. This includes + '/subscriptions/{subscriptionId}/' for subscription scope, + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope and + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' + for Department scope, + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' + for EnrollmentAccount scope, + '/providers/Microsoft.Management/managementGroups/{managementGroupId} for Management Group + scope, + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' + for billingProfile scope, + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}' + for invoiceSection scope, and + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}' + specific for partners. + :type scope: str + :param export_name: Export Name. + :type export_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + # Construct URL + url = self.execute.metadata['url'] + path_format_arguments = { + 'scope': self._serialize.url("scope", scope, 'str', skip_quote=True), + 'exportName': self._serialize.url("export_name", export_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + execute.metadata = {'url': '/{scope}/providers/Microsoft.CostManagement/exports/{exportName}/run'} + + async def get_execution_history( + self, + scope: str, + export_name: str, + **kwargs + ) -> "models.ExportExecutionListResult": + """The operation to get the execution history of an export for the defined scope by export name. + + :param scope: The scope associated with query and export operations. This includes + '/subscriptions/{subscriptionId}/' for subscription scope, + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope and + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' + for Department scope, + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' + for EnrollmentAccount scope, + '/providers/Microsoft.Management/managementGroups/{managementGroupId} for Management Group + scope, + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' + for billingProfile scope, + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}' + for invoiceSection scope, and + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}' + specific for partners. + :type scope: str + :param export_name: Export Name. + :type export_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ExportExecutionListResult or the result of cls(response) + :rtype: ~azure.mgmt.costmanagement.models.ExportExecutionListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ExportExecutionListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + # Construct URL + url = self.get_execution_history.metadata['url'] + path_format_arguments = { + 'scope': self._serialize.url("scope", scope, 'str', skip_quote=True), + 'exportName': self._serialize.url("export_name", export_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ExportExecutionListResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_execution_history.metadata = {'url': '/{scope}/providers/Microsoft.CostManagement/exports/{exportName}/runHistory'} diff --git a/src/costmanagement/azext_costmanagement/vendored_sdks/costmanagement/aio/operations_async/_forecast_operations_async.py b/src/costmanagement/azext_costmanagement/vendored_sdks/costmanagement/aio/operations_async/_forecast_operations_async.py new file mode 100644 index 00000000000..50b4a7cf64c --- /dev/null +++ b/src/costmanagement/azext_costmanagement/vendored_sdks/costmanagement/aio/operations_async/_forecast_operations_async.py @@ -0,0 +1,259 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, List, Optional, TypeVar, Union +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class ForecastOperations: + """ForecastOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.costmanagement.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + async def usage( + self, + scope: str, + type: Union[str, "models.ForecastType"], + timeframe: Union[str, "models.ForecastTimeframeType"], + filter: Optional[str] = None, + time_period: Optional["models.QueryTimePeriod"] = None, + include_actual_cost: Optional[bool] = None, + include_fresh_partial_cost: Optional[bool] = None, + configuration: Optional["models.QueryDatasetConfiguration"] = None, + aggregation: Optional[Dict[str, "QueryAggregation"]] = None, + grouping: Optional[List["QueryGrouping"]] = None, + query_filter: Optional["models.QueryFilter"] = None, + **kwargs + ) -> "models.QueryResult": + """Lists the forecast charges for scope defined. + + :param scope: The scope associated with forecast operations. This includes + '/subscriptions/{subscriptionId}/' for subscription scope, + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope and + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' + for Department scope, + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' + for EnrollmentAccount scope, + '/providers/Microsoft.Management/managementGroups/{managementGroupId} for Management Group + scope, + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' + for billingProfile scope, + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}' + for invoiceSection scope, and + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}' + specific for partners. + :type scope: str + :param type: The type of the forecast. + :type type: str or ~azure.mgmt.costmanagement.models.ForecastType + :param timeframe: The time frame for pulling data for the forecast. If custom, then a specific + time period must be provided. + :type timeframe: str or ~azure.mgmt.costmanagement.models.ForecastTimeframeType + :param filter: May be used to filter forecasts by properties/usageDate (Utc time), + properties/chargeType or properties/grain. The filter supports 'eq', 'lt', 'gt', 'le', 'ge', + and 'and'. It does not currently support 'ne', 'or', or 'not'. + :type filter: str + :param time_period: Has time period for pulling data for the forecast. + :type time_period: ~azure.mgmt.costmanagement.models.QueryTimePeriod + :param include_actual_cost: a boolean determining if actualCost will be included. + :type include_actual_cost: bool + :param include_fresh_partial_cost: a boolean determining if FreshPartialCost will be included. + :type include_fresh_partial_cost: bool + :param configuration: Has configuration information for the data in the export. The + configuration will be ignored if aggregation and grouping are provided. + :type configuration: ~azure.mgmt.costmanagement.models.QueryDatasetConfiguration + :param aggregation: Dictionary of aggregation expression to use in the query. The key of each + item in the dictionary is the alias for the aggregated column. Query can have up to 2 + aggregation clauses. + :type aggregation: dict[str, ~azure.mgmt.costmanagement.models.QueryAggregation] + :param grouping: Array of group by expression to use in the query. Query can have up to 2 group + by clauses. + :type grouping: list[~azure.mgmt.costmanagement.models.QueryGrouping] + :param query_filter: Has filter expression to use in the query. + :type query_filter: ~azure.mgmt.costmanagement.models.QueryFilter + :keyword callable cls: A custom type or function that will be passed the direct response + :return: QueryResult or the result of cls(response) + :rtype: ~azure.mgmt.costmanagement.models.QueryResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.QueryResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _parameters = models.ForecastDefinition(type=type, timeframe=timeframe, time_period=time_period, include_actual_cost=include_actual_cost, include_fresh_partial_cost=include_fresh_partial_cost, configuration=configuration, aggregation=aggregation, grouping=grouping, filter=query_filter) + api_version = "2019-11-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.usage.metadata['url'] + path_format_arguments = { + 'scope': self._serialize.url("scope", scope, 'str', skip_quote=True), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_parameters, 'ForecastDefinition') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('QueryResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + usage.metadata = {'url': '/{scope}/providers/Microsoft.CostManagement/forecast'} + + async def external_cloud_provider_usage( + self, + external_cloud_provider_type: Union[str, "models.ExternalCloudProviderType"], + external_cloud_provider_id: str, + type: Union[str, "models.ForecastType"], + timeframe: Union[str, "models.ForecastTimeframeType"], + filter: Optional[str] = None, + time_period: Optional["models.QueryTimePeriod"] = None, + include_actual_cost: Optional[bool] = None, + include_fresh_partial_cost: Optional[bool] = None, + configuration: Optional["models.QueryDatasetConfiguration"] = None, + aggregation: Optional[Dict[str, "QueryAggregation"]] = None, + grouping: Optional[List["QueryGrouping"]] = None, + query_filter: Optional["models.QueryFilter"] = None, + **kwargs + ) -> "models.QueryResult": + """Lists the forecast charges for external cloud provider type defined. + + :param external_cloud_provider_type: The external cloud provider type associated with + dimension/query operations. This includes 'externalSubscriptions' for linked account and + 'externalBillingAccounts' for consolidated account. + :type external_cloud_provider_type: str or ~azure.mgmt.costmanagement.models.ExternalCloudProviderType + :param external_cloud_provider_id: This can be '{externalSubscriptionId}' for linked account or + '{externalBillingAccountId}' for consolidated account used with dimension/query operations. + :type external_cloud_provider_id: str + :param type: The type of the forecast. + :type type: str or ~azure.mgmt.costmanagement.models.ForecastType + :param timeframe: The time frame for pulling data for the forecast. If custom, then a specific + time period must be provided. + :type timeframe: str or ~azure.mgmt.costmanagement.models.ForecastTimeframeType + :param filter: May be used to filter forecasts by properties/usageDate (Utc time), + properties/chargeType or properties/grain. The filter supports 'eq', 'lt', 'gt', 'le', 'ge', + and 'and'. It does not currently support 'ne', 'or', or 'not'. + :type filter: str + :param time_period: Has time period for pulling data for the forecast. + :type time_period: ~azure.mgmt.costmanagement.models.QueryTimePeriod + :param include_actual_cost: a boolean determining if actualCost will be included. + :type include_actual_cost: bool + :param include_fresh_partial_cost: a boolean determining if FreshPartialCost will be included. + :type include_fresh_partial_cost: bool + :param configuration: Has configuration information for the data in the export. The + configuration will be ignored if aggregation and grouping are provided. + :type configuration: ~azure.mgmt.costmanagement.models.QueryDatasetConfiguration + :param aggregation: Dictionary of aggregation expression to use in the query. The key of each + item in the dictionary is the alias for the aggregated column. Query can have up to 2 + aggregation clauses. + :type aggregation: dict[str, ~azure.mgmt.costmanagement.models.QueryAggregation] + :param grouping: Array of group by expression to use in the query. Query can have up to 2 group + by clauses. + :type grouping: list[~azure.mgmt.costmanagement.models.QueryGrouping] + :param query_filter: Has filter expression to use in the query. + :type query_filter: ~azure.mgmt.costmanagement.models.QueryFilter + :keyword callable cls: A custom type or function that will be passed the direct response + :return: QueryResult or the result of cls(response) + :rtype: ~azure.mgmt.costmanagement.models.QueryResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.QueryResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _parameters = models.ForecastDefinition(type=type, timeframe=timeframe, time_period=time_period, include_actual_cost=include_actual_cost, include_fresh_partial_cost=include_fresh_partial_cost, configuration=configuration, aggregation=aggregation, grouping=grouping, filter=query_filter) + api_version = "2019-11-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.external_cloud_provider_usage.metadata['url'] + path_format_arguments = { + 'externalCloudProviderType': self._serialize.url("external_cloud_provider_type", external_cloud_provider_type, 'str'), + 'externalCloudProviderId': self._serialize.url("external_cloud_provider_id", external_cloud_provider_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_parameters, 'ForecastDefinition') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('QueryResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + external_cloud_provider_usage.metadata = {'url': '/providers/Microsoft.CostManagement/{externalCloudProviderType}/{externalCloudProviderId}/forecast'} diff --git a/src/costmanagement/azext_costmanagement/vendored_sdks/costmanagement/aio/operations_async/_operation_operations_async.py b/src/costmanagement/azext_costmanagement/vendored_sdks/costmanagement/aio/operations_async/_operation_operations_async.py new file mode 100644 index 00000000000..3100d06cf5b --- /dev/null +++ b/src/costmanagement/azext_costmanagement/vendored_sdks/costmanagement/aio/operations_async/_operation_operations_async.py @@ -0,0 +1,101 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class OperationOperations: + """OperationOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.costmanagement.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + **kwargs + ) -> "models.OperationListResult": + """Lists all of the available cost management REST API operations. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: OperationListResult or the result of cls(response) + :rtype: ~azure.mgmt.costmanagement.models.OperationListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.OperationListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('OperationListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/providers/Microsoft.CostManagement/operations'} diff --git a/src/costmanagement/azext_costmanagement/vendored_sdks/costmanagement/aio/operations_async/_query_operations_async.py b/src/costmanagement/azext_costmanagement/vendored_sdks/costmanagement/aio/operations_async/_query_operations_async.py new file mode 100644 index 00000000000..994fc5fa69f --- /dev/null +++ b/src/costmanagement/azext_costmanagement/vendored_sdks/costmanagement/aio/operations_async/_query_operations_async.py @@ -0,0 +1,233 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, List, Optional, TypeVar, Union +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class QueryOperations: + """QueryOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.costmanagement.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + async def usage( + self, + scope: str, + type: Union[str, "models.ExportType"], + timeframe: Union[str, "models.TimeframeType"], + time_period: Optional["models.QueryTimePeriod"] = None, + configuration: Optional["models.QueryDatasetConfiguration"] = None, + aggregation: Optional[Dict[str, "QueryAggregation"]] = None, + grouping: Optional[List["QueryGrouping"]] = None, + filter: Optional["models.QueryFilter"] = None, + **kwargs + ) -> "models.QueryResult": + """Query the usage data for scope defined. + + :param scope: The scope associated with query and export operations. This includes + '/subscriptions/{subscriptionId}/' for subscription scope, + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope and + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' + for Department scope, + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' + for EnrollmentAccount scope, + '/providers/Microsoft.Management/managementGroups/{managementGroupId} for Management Group + scope, + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' + for billingProfile scope, + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}' + for invoiceSection scope, and + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}' + specific for partners. + :type scope: str + :param type: The type of the query. + :type type: str or ~azure.mgmt.costmanagement.models.ExportType + :param timeframe: The time frame for pulling data for the query. If custom, then a specific + time period must be provided. + :type timeframe: str or ~azure.mgmt.costmanagement.models.TimeframeType + :param time_period: Has time period for pulling data for the query. + :type time_period: ~azure.mgmt.costmanagement.models.QueryTimePeriod + :param configuration: Has configuration information for the data in the export. The + configuration will be ignored if aggregation and grouping are provided. + :type configuration: ~azure.mgmt.costmanagement.models.QueryDatasetConfiguration + :param aggregation: Dictionary of aggregation expression to use in the query. The key of each + item in the dictionary is the alias for the aggregated column. Query can have up to 2 + aggregation clauses. + :type aggregation: dict[str, ~azure.mgmt.costmanagement.models.QueryAggregation] + :param grouping: Array of group by expression to use in the query. Query can have up to 2 group + by clauses. + :type grouping: list[~azure.mgmt.costmanagement.models.QueryGrouping] + :param filter: Has filter expression to use in the query. + :type filter: ~azure.mgmt.costmanagement.models.QueryFilter + :keyword callable cls: A custom type or function that will be passed the direct response + :return: QueryResult or the result of cls(response) + :rtype: ~azure.mgmt.costmanagement.models.QueryResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.QueryResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _parameters = models.QueryDefinition(type=type, timeframe=timeframe, time_period=time_period, configuration=configuration, aggregation=aggregation, grouping=grouping, filter=filter) + api_version = "2019-11-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.usage.metadata['url'] + path_format_arguments = { + 'scope': self._serialize.url("scope", scope, 'str', skip_quote=True), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_parameters, 'QueryDefinition') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('QueryResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + usage.metadata = {'url': '/{scope}/providers/Microsoft.CostManagement/query'} + + async def usage_by_external_cloud_provider_type( + self, + external_cloud_provider_type: Union[str, "models.ExternalCloudProviderType"], + external_cloud_provider_id: str, + type: Union[str, "models.ExportType"], + timeframe: Union[str, "models.TimeframeType"], + time_period: Optional["models.QueryTimePeriod"] = None, + configuration: Optional["models.QueryDatasetConfiguration"] = None, + aggregation: Optional[Dict[str, "QueryAggregation"]] = None, + grouping: Optional[List["QueryGrouping"]] = None, + filter: Optional["models.QueryFilter"] = None, + **kwargs + ) -> "models.QueryResult": + """Query the usage data for external cloud provider type defined. + + :param external_cloud_provider_type: The external cloud provider type associated with + dimension/query operations. This includes 'externalSubscriptions' for linked account and + 'externalBillingAccounts' for consolidated account. + :type external_cloud_provider_type: str or ~azure.mgmt.costmanagement.models.ExternalCloudProviderType + :param external_cloud_provider_id: This can be '{externalSubscriptionId}' for linked account or + '{externalBillingAccountId}' for consolidated account used with dimension/query operations. + :type external_cloud_provider_id: str + :param type: The type of the query. + :type type: str or ~azure.mgmt.costmanagement.models.ExportType + :param timeframe: The time frame for pulling data for the query. If custom, then a specific + time period must be provided. + :type timeframe: str or ~azure.mgmt.costmanagement.models.TimeframeType + :param time_period: Has time period for pulling data for the query. + :type time_period: ~azure.mgmt.costmanagement.models.QueryTimePeriod + :param configuration: Has configuration information for the data in the export. The + configuration will be ignored if aggregation and grouping are provided. + :type configuration: ~azure.mgmt.costmanagement.models.QueryDatasetConfiguration + :param aggregation: Dictionary of aggregation expression to use in the query. The key of each + item in the dictionary is the alias for the aggregated column. Query can have up to 2 + aggregation clauses. + :type aggregation: dict[str, ~azure.mgmt.costmanagement.models.QueryAggregation] + :param grouping: Array of group by expression to use in the query. Query can have up to 2 group + by clauses. + :type grouping: list[~azure.mgmt.costmanagement.models.QueryGrouping] + :param filter: Has filter expression to use in the query. + :type filter: ~azure.mgmt.costmanagement.models.QueryFilter + :keyword callable cls: A custom type or function that will be passed the direct response + :return: QueryResult or the result of cls(response) + :rtype: ~azure.mgmt.costmanagement.models.QueryResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.QueryResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _parameters = models.QueryDefinition(type=type, timeframe=timeframe, time_period=time_period, configuration=configuration, aggregation=aggregation, grouping=grouping, filter=filter) + api_version = "2019-11-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.usage_by_external_cloud_provider_type.metadata['url'] + path_format_arguments = { + 'externalCloudProviderType': self._serialize.url("external_cloud_provider_type", external_cloud_provider_type, 'str'), + 'externalCloudProviderId': self._serialize.url("external_cloud_provider_id", external_cloud_provider_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_parameters, 'QueryDefinition') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('QueryResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + usage_by_external_cloud_provider_type.metadata = {'url': '/providers/Microsoft.CostManagement/{externalCloudProviderType}/{externalCloudProviderId}/query'} diff --git a/src/costmanagement/azext_costmanagement/vendored_sdks/costmanagement/aio/operations_async/_view_operations_async.py b/src/costmanagement/azext_costmanagement/vendored_sdks/costmanagement/aio/operations_async/_view_operations_async.py new file mode 100644 index 00000000000..c606c6c32da --- /dev/null +++ b/src/costmanagement/azext_costmanagement/vendored_sdks/costmanagement/aio/operations_async/_view_operations_async.py @@ -0,0 +1,669 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, List, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class ViewOperations: + """ViewOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.costmanagement.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + **kwargs + ) -> "models.ViewListResult": + """Lists all views by tenant and object. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ViewListResult or the result of cls(response) + :rtype: ~azure.mgmt.costmanagement.models.ViewListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ViewListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('ViewListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/providers/Microsoft.CostManagement/views'} + + def list_by_scope( + self, + scope: str, + **kwargs + ) -> "models.ViewListResult": + """Lists all views at the given scope. + + :param scope: The scope associated with view operations. This includes + 'subscriptions/{subscriptionId}' for subscription scope, + 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, + 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope, + 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for + Department scope, + 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' + for EnrollmentAccount scope, + 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' + for BillingProfile scope, + 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/invoiceSections/{invoiceSectionId}' + for InvoiceSection scope, 'providers/Microsoft.Management/managementGroups/{managementGroupId}' + for Management Group scope, + 'providers/Microsoft.CostManagement/externalBillingAccounts/{externalBillingAccountName}' for + External Billing Account scope and + 'providers/Microsoft.CostManagement/externalSubscriptions/{externalSubscriptionName}' for + External Subscription scope. + :type scope: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ViewListResult or the result of cls(response) + :rtype: ~azure.mgmt.costmanagement.models.ViewListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ViewListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_scope.metadata['url'] + path_format_arguments = { + 'scope': self._serialize.url("scope", scope, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('ViewListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_by_scope.metadata = {'url': '/{scope}/providers/Microsoft.CostManagement/views'} + + async def get( + self, + view_name: str, + **kwargs + ) -> "models.View": + """Gets the view by view name. + + :param view_name: View name. + :type view_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: View or the result of cls(response) + :rtype: ~azure.mgmt.costmanagement.models.View + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.View"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'viewName': self._serialize.url("view_name", view_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('View', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/providers/Microsoft.CostManagement/views/{viewName}'} + + async def create_or_update( + self, + view_name: str, + e_tag: Optional[str] = None, + display_name: Optional[str] = None, + scope: Optional[str] = None, + chart: Optional[Union[str, "models.ChartType"]] = None, + accumulated: Optional[Union[str, "models.AccumulatedType"]] = None, + metric: Optional[Union[str, "models.MetricType"]] = None, + kpis: Optional[List["KpiProperties"]] = None, + pivots: Optional[List["PivotProperties"]] = None, + timeframe: Optional[Union[str, "models.ReportTimeframeType"]] = None, + time_period: Optional["models.ReportConfigTimePeriod"] = None, + dataset: Optional["models.ReportConfigDataset"] = None, + **kwargs + ) -> "models.View": + """The operation to create or update a view. Update operation requires latest eTag to be set in the request. You may obtain the latest eTag by performing a get operation. Create operation does not require eTag. + + :param view_name: View name. + :type view_name: str + :param e_tag: eTag of the resource. To handle concurrent update scenario, this field will be + used to determine whether the user is updating the latest version or not. + :type e_tag: str + :param display_name: User input name of the view. Required. + :type display_name: str + :param scope: Cost Management scope to save the view on. This includes + 'subscriptions/{subscriptionId}' for subscription scope, + 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, + 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope, + 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for + Department scope, + 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' + for EnrollmentAccount scope, + 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' + for BillingProfile scope, + 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/invoiceSections/{invoiceSectionId}' + for InvoiceSection scope, 'providers/Microsoft.Management/managementGroups/{managementGroupId}' + for Management Group scope, + '/providers/Microsoft.CostManagement/externalBillingAccounts/{externalBillingAccountName}' for + ExternalBillingAccount scope, and + '/providers/Microsoft.CostManagement/externalSubscriptions/{externalSubscriptionName}' for + ExternalSubscription scope. + :type scope: str + :param chart: Chart type of the main view in Cost Analysis. Required. + :type chart: str or ~azure.mgmt.costmanagement.models.ChartType + :param accumulated: Show costs accumulated over time. + :type accumulated: str or ~azure.mgmt.costmanagement.models.AccumulatedType + :param metric: Metric to use when displaying costs. + :type metric: str or ~azure.mgmt.costmanagement.models.MetricType + :param kpis: List of KPIs to show in Cost Analysis UI. + :type kpis: list[~azure.mgmt.costmanagement.models.KpiProperties] + :param pivots: Configuration of 3 sub-views in the Cost Analysis UI. + :type pivots: list[~azure.mgmt.costmanagement.models.PivotProperties] + :param timeframe: The time frame for pulling data for the report. If custom, then a specific + time period must be provided. + :type timeframe: str or ~azure.mgmt.costmanagement.models.ReportTimeframeType + :param time_period: Has time period for pulling data for the report. + :type time_period: ~azure.mgmt.costmanagement.models.ReportConfigTimePeriod + :param dataset: Has definition for data in this report config. + :type dataset: ~azure.mgmt.costmanagement.models.ReportConfigDataset + :keyword callable cls: A custom type or function that will be passed the direct response + :return: View or the result of cls(response) + :rtype: ~azure.mgmt.costmanagement.models.View or ~azure.mgmt.costmanagement.models.View + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.View"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _parameters = models.View(e_tag=e_tag, display_name=display_name, scope=scope, chart=chart, accumulated=accumulated, metric=metric, kpis=kpis, pivots=pivots, timeframe=timeframe, time_period=time_period, dataset=dataset) + api_version = "2019-11-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'viewName': self._serialize.url("view_name", view_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_parameters, 'View') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('View', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('View', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = {'url': '/providers/Microsoft.CostManagement/views/{viewName}'} + + async def delete( + self, + view_name: str, + **kwargs + ) -> None: + """The operation to delete a view. + + :param view_name: View name. + :type view_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'viewName': self._serialize.url("view_name", view_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/providers/Microsoft.CostManagement/views/{viewName}'} + + async def get_by_scope( + self, + scope: str, + view_name: str, + **kwargs + ) -> "models.View": + """Gets the view for the defined scope by view name. + + :param scope: The scope associated with view operations. This includes + 'subscriptions/{subscriptionId}' for subscription scope, + 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, + 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope, + 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for + Department scope, + 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' + for EnrollmentAccount scope, + 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' + for BillingProfile scope, + 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/invoiceSections/{invoiceSectionId}' + for InvoiceSection scope, 'providers/Microsoft.Management/managementGroups/{managementGroupId}' + for Management Group scope, + 'providers/Microsoft.CostManagement/externalBillingAccounts/{externalBillingAccountName}' for + External Billing Account scope and + 'providers/Microsoft.CostManagement/externalSubscriptions/{externalSubscriptionName}' for + External Subscription scope. + :type scope: str + :param view_name: View name. + :type view_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: View or the result of cls(response) + :rtype: ~azure.mgmt.costmanagement.models.View + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.View"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + # Construct URL + url = self.get_by_scope.metadata['url'] + path_format_arguments = { + 'scope': self._serialize.url("scope", scope, 'str'), + 'viewName': self._serialize.url("view_name", view_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('View', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_by_scope.metadata = {'url': '/{scope}/providers/Microsoft.CostManagement/views/{viewName}'} + + async def create_or_update_by_scope( + self, + scope: str, + view_name: str, + e_tag: Optional[str] = None, + display_name: Optional[str] = None, + view_properties_scope: Optional[str] = None, + chart: Optional[Union[str, "models.ChartType"]] = None, + accumulated: Optional[Union[str, "models.AccumulatedType"]] = None, + metric: Optional[Union[str, "models.MetricType"]] = None, + kpis: Optional[List["KpiProperties"]] = None, + pivots: Optional[List["PivotProperties"]] = None, + timeframe: Optional[Union[str, "models.ReportTimeframeType"]] = None, + time_period: Optional["models.ReportConfigTimePeriod"] = None, + dataset: Optional["models.ReportConfigDataset"] = None, + **kwargs + ) -> "models.View": + """The operation to create or update a view. Update operation requires latest eTag to be set in the request. You may obtain the latest eTag by performing a get operation. Create operation does not require eTag. + + :param scope: The scope associated with view operations. This includes + 'subscriptions/{subscriptionId}' for subscription scope, + 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, + 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope, + 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for + Department scope, + 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' + for EnrollmentAccount scope, + 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' + for BillingProfile scope, + 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/invoiceSections/{invoiceSectionId}' + for InvoiceSection scope, 'providers/Microsoft.Management/managementGroups/{managementGroupId}' + for Management Group scope, + 'providers/Microsoft.CostManagement/externalBillingAccounts/{externalBillingAccountName}' for + External Billing Account scope and + 'providers/Microsoft.CostManagement/externalSubscriptions/{externalSubscriptionName}' for + External Subscription scope. + :type scope: str + :param view_name: View name. + :type view_name: str + :param e_tag: eTag of the resource. To handle concurrent update scenario, this field will be + used to determine whether the user is updating the latest version or not. + :type e_tag: str + :param display_name: User input name of the view. Required. + :type display_name: str + :param view_properties_scope: Cost Management scope to save the view on. This includes + 'subscriptions/{subscriptionId}' for subscription scope, + 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, + 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope, + 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for + Department scope, + 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' + for EnrollmentAccount scope, + 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' + for BillingProfile scope, + 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/invoiceSections/{invoiceSectionId}' + for InvoiceSection scope, 'providers/Microsoft.Management/managementGroups/{managementGroupId}' + for Management Group scope, + '/providers/Microsoft.CostManagement/externalBillingAccounts/{externalBillingAccountName}' for + ExternalBillingAccount scope, and + '/providers/Microsoft.CostManagement/externalSubscriptions/{externalSubscriptionName}' for + ExternalSubscription scope. + :type view_properties_scope: str + :param chart: Chart type of the main view in Cost Analysis. Required. + :type chart: str or ~azure.mgmt.costmanagement.models.ChartType + :param accumulated: Show costs accumulated over time. + :type accumulated: str or ~azure.mgmt.costmanagement.models.AccumulatedType + :param metric: Metric to use when displaying costs. + :type metric: str or ~azure.mgmt.costmanagement.models.MetricType + :param kpis: List of KPIs to show in Cost Analysis UI. + :type kpis: list[~azure.mgmt.costmanagement.models.KpiProperties] + :param pivots: Configuration of 3 sub-views in the Cost Analysis UI. + :type pivots: list[~azure.mgmt.costmanagement.models.PivotProperties] + :param timeframe: The time frame for pulling data for the report. If custom, then a specific + time period must be provided. + :type timeframe: str or ~azure.mgmt.costmanagement.models.ReportTimeframeType + :param time_period: Has time period for pulling data for the report. + :type time_period: ~azure.mgmt.costmanagement.models.ReportConfigTimePeriod + :param dataset: Has definition for data in this report config. + :type dataset: ~azure.mgmt.costmanagement.models.ReportConfigDataset + :keyword callable cls: A custom type or function that will be passed the direct response + :return: View or the result of cls(response) + :rtype: ~azure.mgmt.costmanagement.models.View or ~azure.mgmt.costmanagement.models.View + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.View"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _parameters = models.View(e_tag=e_tag, display_name=display_name, scope=view_properties_scope, chart=chart, accumulated=accumulated, metric=metric, kpis=kpis, pivots=pivots, timeframe=timeframe, time_period=time_period, dataset=dataset) + api_version = "2019-11-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.create_or_update_by_scope.metadata['url'] + path_format_arguments = { + 'scope': self._serialize.url("scope", scope, 'str'), + 'viewName': self._serialize.url("view_name", view_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_parameters, 'View') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('View', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('View', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update_by_scope.metadata = {'url': '/{scope}/providers/Microsoft.CostManagement/views/{viewName}'} + + async def delete_by_scope( + self, + scope: str, + view_name: str, + **kwargs + ) -> None: + """The operation to delete a view. + + :param scope: The scope associated with view operations. This includes + 'subscriptions/{subscriptionId}' for subscription scope, + 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, + 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope, + 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for + Department scope, + 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' + for EnrollmentAccount scope, + 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' + for BillingProfile scope, + 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/invoiceSections/{invoiceSectionId}' + for InvoiceSection scope, 'providers/Microsoft.Management/managementGroups/{managementGroupId}' + for Management Group scope, + 'providers/Microsoft.CostManagement/externalBillingAccounts/{externalBillingAccountName}' for + External Billing Account scope and + 'providers/Microsoft.CostManagement/externalSubscriptions/{externalSubscriptionName}' for + External Subscription scope. + :type scope: str + :param view_name: View name. + :type view_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + # Construct URL + url = self.delete_by_scope.metadata['url'] + path_format_arguments = { + 'scope': self._serialize.url("scope", scope, 'str'), + 'viewName': self._serialize.url("view_name", view_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + delete_by_scope.metadata = {'url': '/{scope}/providers/Microsoft.CostManagement/views/{viewName}'} diff --git a/src/costmanagement/azext_costmanagement/vendored_sdks/costmanagement/models/__init__.py b/src/costmanagement/azext_costmanagement/vendored_sdks/costmanagement/models/__init__.py new file mode 100644 index 00000000000..86b6667b5a5 --- /dev/null +++ b/src/costmanagement/azext_costmanagement/vendored_sdks/costmanagement/models/__init__.py @@ -0,0 +1,185 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +try: + from ._models_py3 import Alert + from ._models_py3 import AlertPropertiesDefinition + from ._models_py3 import AlertPropertiesDetails + from ._models_py3 import AlertsResult + from ._models_py3 import CommonExportProperties + from ._models_py3 import Dimension + from ._models_py3 import DimensionsListResult + from ._models_py3 import ErrorDetails + from ._models_py3 import ErrorResponse + from ._models_py3 import Export + from ._models_py3 import ExportDeliveryDestination + from ._models_py3 import ExportExecution + from ._models_py3 import ExportExecutionListResult + from ._models_py3 import ExportListResult + from ._models_py3 import ExportProperties + from ._models_py3 import ExportRecurrencePeriod + from ._models_py3 import ForecastDefinition + from ._models_py3 import KpiProperties + from ._models_py3 import Operation + from ._models_py3 import OperationDisplay + from ._models_py3 import OperationListResult + from ._models_py3 import PivotProperties + from ._models_py3 import ProxyResource + from ._models_py3 import QueryAggregation + from ._models_py3 import QueryColumn + from ._models_py3 import QueryComparisonExpression + from ._models_py3 import QueryDatasetConfiguration + from ._models_py3 import QueryDefinition + from ._models_py3 import QueryFilter + from ._models_py3 import QueryGrouping + from ._models_py3 import QueryResult + from ._models_py3 import QueryTimePeriod + from ._models_py3 import ReportConfigAggregation + from ._models_py3 import ReportConfigComparisonExpression + from ._models_py3 import ReportConfigDataset + from ._models_py3 import ReportConfigDatasetConfiguration + from ._models_py3 import ReportConfigFilter + from ._models_py3 import ReportConfigGrouping + from ._models_py3 import ReportConfigSorting + from ._models_py3 import ReportConfigTimePeriod + from ._models_py3 import Resource + from ._models_py3 import View + from ._models_py3 import ViewListResult +except (SyntaxError, ImportError): + from ._models import Alert # type: ignore + from ._models import AlertPropertiesDefinition # type: ignore + from ._models import AlertPropertiesDetails # type: ignore + from ._models import AlertsResult # type: ignore + from ._models import CommonExportProperties # type: ignore + from ._models import Dimension # type: ignore + from ._models import DimensionsListResult # type: ignore + from ._models import ErrorDetails # type: ignore + from ._models import ErrorResponse # type: ignore + from ._models import Export # type: ignore + from ._models import ExportDeliveryDestination # type: ignore + from ._models import ExportExecution # type: ignore + from ._models import ExportExecutionListResult # type: ignore + from ._models import ExportListResult # type: ignore + from ._models import ExportProperties # type: ignore + from ._models import ExportRecurrencePeriod # type: ignore + from ._models import ForecastDefinition # type: ignore + from ._models import KpiProperties # type: ignore + from ._models import Operation # type: ignore + from ._models import OperationDisplay # type: ignore + from ._models import OperationListResult # type: ignore + from ._models import PivotProperties # type: ignore + from ._models import ProxyResource # type: ignore + from ._models import QueryAggregation # type: ignore + from ._models import QueryColumn # type: ignore + from ._models import QueryComparisonExpression # type: ignore + from ._models import QueryDatasetConfiguration # type: ignore + from ._models import QueryDefinition # type: ignore + from ._models import QueryFilter # type: ignore + from ._models import QueryGrouping # type: ignore + from ._models import QueryResult # type: ignore + from ._models import QueryTimePeriod # type: ignore + from ._models import ReportConfigAggregation # type: ignore + from ._models import ReportConfigComparisonExpression # type: ignore + from ._models import ReportConfigDataset # type: ignore + from ._models import ReportConfigDatasetConfiguration # type: ignore + from ._models import ReportConfigFilter # type: ignore + from ._models import ReportConfigGrouping # type: ignore + from ._models import ReportConfigSorting # type: ignore + from ._models import ReportConfigTimePeriod # type: ignore + from ._models import Resource # type: ignore + from ._models import View # type: ignore + from ._models import ViewListResult # type: ignore + +from ._cost_management_client_enums import ( + AccumulatedType, + ChartType, + ExecutionStatus, + ExecutionType, + ExportType, + ExternalCloudProviderType, + ForecastTimeframeType, + ForecastType, + KpiType, + MetricType, + OperatorType, + PivotType, + QueryColumnType, + RecurrenceType, + ReportConfigColumnType, + ReportConfigSortingDirection, + ReportGranularityType, + ReportTimeframeType, + StatusType, + TimeframeType, +) + +__all__ = [ + 'Alert', + 'AlertPropertiesDefinition', + 'AlertPropertiesDetails', + 'AlertsResult', + 'CommonExportProperties', + 'Dimension', + 'DimensionsListResult', + 'ErrorDetails', + 'ErrorResponse', + 'Export', + 'ExportDeliveryDestination', + 'ExportExecution', + 'ExportExecutionListResult', + 'ExportListResult', + 'ExportProperties', + 'ExportRecurrencePeriod', + 'ForecastDefinition', + 'KpiProperties', + 'Operation', + 'OperationDisplay', + 'OperationListResult', + 'PivotProperties', + 'ProxyResource', + 'QueryAggregation', + 'QueryColumn', + 'QueryComparisonExpression', + 'QueryDatasetConfiguration', + 'QueryDefinition', + 'QueryFilter', + 'QueryGrouping', + 'QueryResult', + 'QueryTimePeriod', + 'ReportConfigAggregation', + 'ReportConfigComparisonExpression', + 'ReportConfigDataset', + 'ReportConfigDatasetConfiguration', + 'ReportConfigFilter', + 'ReportConfigGrouping', + 'ReportConfigSorting', + 'ReportConfigTimePeriod', + 'Resource', + 'View', + 'ViewListResult', + 'AccumulatedType', + 'ChartType', + 'ExecutionStatus', + 'ExecutionType', + 'ExportType', + 'ExternalCloudProviderType', + 'ForecastTimeframeType', + 'ForecastType', + 'KpiType', + 'MetricType', + 'OperatorType', + 'PivotType', + 'QueryColumnType', + 'RecurrenceType', + 'ReportConfigColumnType', + 'ReportConfigSortingDirection', + 'ReportGranularityType', + 'ReportTimeframeType', + 'StatusType', + 'TimeframeType', +] diff --git a/src/costmanagement/azext_costmanagement/vendored_sdks/costmanagement/models/_cost_management_client_enums.py b/src/costmanagement/azext_costmanagement/vendored_sdks/costmanagement/models/_cost_management_client_enums.py new file mode 100644 index 00000000000..833645db5a5 --- /dev/null +++ b/src/costmanagement/azext_costmanagement/vendored_sdks/costmanagement/models/_cost_management_client_enums.py @@ -0,0 +1,174 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from enum import Enum + +class AccumulatedType(str, Enum): + """Show costs accumulated over time. + """ + + true = "true" + false = "false" + +class ChartType(str, Enum): + """Chart type of the main view in Cost Analysis. Required. + """ + + area = "Area" + line = "Line" + stacked_column = "StackedColumn" + grouped_column = "GroupedColumn" + table = "Table" + +class ExecutionStatus(str, Enum): + """The status of the export execution. + """ + + queued = "Queued" + in_progress = "InProgress" + completed = "Completed" + failed = "Failed" + timeout = "Timeout" + new_data_not_available = "NewDataNotAvailable" + data_not_available = "DataNotAvailable" + +class ExecutionType(str, Enum): + """The type of the export execution. + """ + + on_demand = "OnDemand" + scheduled = "Scheduled" + +class ExportType(str, Enum): + """The type of the query. + """ + + usage = "Usage" + actual_cost = "ActualCost" + amortized_cost = "AmortizedCost" + +class ExternalCloudProviderType(str, Enum): + + external_subscriptions = "externalSubscriptions" + external_billing_accounts = "externalBillingAccounts" + +class ForecastTimeframeType(str, Enum): + """The time frame for pulling data for the forecast. If custom, then a specific time period must + be provided. + """ + + month_to_date = "MonthToDate" + billing_month_to_date = "BillingMonthToDate" + the_last_month = "TheLastMonth" + the_last_billing_month = "TheLastBillingMonth" + week_to_date = "WeekToDate" + custom = "Custom" + +class ForecastType(str, Enum): + """The type of the forecast. + """ + + usage = "Usage" + actual_cost = "ActualCost" + amortized_cost = "AmortizedCost" + +class KpiType(str, Enum): + """KPI type (Forecast, Budget). + """ + + forecast = "Forecast" + budget = "Budget" + +class MetricType(str, Enum): + """Metric to use when displaying costs. + """ + + actual_cost = "ActualCost" + amortized_cost = "AmortizedCost" + ahub = "AHUB" + +class OperatorType(str, Enum): + """The operator to use for comparison. + """ + + in_enum = "In" + contains = "Contains" + +class PivotType(str, Enum): + """Data type to show in view. + """ + + dimension = "Dimension" + tag_key = "TagKey" + +class QueryColumnType(str, Enum): + """The type of the column in the export. + """ + + tag = "Tag" + dimension = "Dimension" + +class RecurrenceType(str, Enum): + """The schedule recurrence. + """ + + daily = "Daily" + weekly = "Weekly" + monthly = "Monthly" + annually = "Annually" + +class ReportConfigColumnType(str, Enum): + """The type of the column in the report. + """ + + tag = "Tag" + dimension = "Dimension" + +class ReportConfigSortingDirection(str, Enum): + """Direction of sort. + """ + + ascending = "Ascending" + descending = "Descending" + +class ReportGranularityType(str, Enum): + """The granularity of rows in the report. + """ + + daily = "Daily" + monthly = "Monthly" + +class ReportTimeframeType(str, Enum): + """The time frame for pulling data for the report. If custom, then a specific time period must be + provided. + """ + + week_to_date = "WeekToDate" + month_to_date = "MonthToDate" + year_to_date = "YearToDate" + custom = "Custom" + +class StatusType(str, Enum): + """The status of the schedule. Whether active or not. If inactive, the export's scheduled + execution is paused. + """ + + active = "Active" + inactive = "Inactive" + +class TimeframeType(str, Enum): + """The time frame for pulling data for the query. If custom, then a specific time period must be + provided. + """ + + month_to_date = "MonthToDate" + billing_month_to_date = "BillingMonthToDate" + the_last_month = "TheLastMonth" + the_last_billing_month = "TheLastBillingMonth" + week_to_date = "WeekToDate" + custom = "Custom" diff --git a/src/costmanagement/azext_costmanagement/vendored_sdks/costmanagement/models/_models.py b/src/costmanagement/azext_costmanagement/vendored_sdks/costmanagement/models/_models.py new file mode 100644 index 00000000000..b1fa942dab2 --- /dev/null +++ b/src/costmanagement/azext_costmanagement/vendored_sdks/costmanagement/models/_models.py @@ -0,0 +1,1874 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from azure.core.exceptions import HttpResponseError +import msrest.serialization + + +class Resource(msrest.serialization.Model): + """The Resource model definition. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Resource Id. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :ivar tags: A set of tags. Resource tags. + :vartype tags: dict[str, str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'tags': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__( + self, + **kwargs + ): + super(Resource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.tags = None + + +class Alert(Resource): + """An individual alert. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Resource Id. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :ivar tags: A set of tags. Resource tags. + :vartype tags: dict[str, str] + :param definition: defines the type of alert. + :type definition: ~azure.mgmt.costmanagement.models.AlertPropertiesDefinition + :param description: Alert description. + :type description: str + :param source: Source of alert. + :type source: str + :param details: Alert details. + :type details: ~azure.mgmt.costmanagement.models.AlertPropertiesDetails + :param cost_entity_id: related budget. + :type cost_entity_id: str + :param status: alert status. + :type status: str + :param creation_time: dateTime in which alert was created. + :type creation_time: str + :param close_time: dateTime in which alert was closed. + :type close_time: str + :param modification_time: dateTime in which alert was last modified. + :type modification_time: str + :param status_modification_user_name: + :type status_modification_user_name: str + :param status_modification_time: dateTime in which the alert status was last modified. + :type status_modification_time: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'tags': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'definition': {'key': 'properties.definition', 'type': 'AlertPropertiesDefinition'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'source': {'key': 'properties.source', 'type': 'str'}, + 'details': {'key': 'properties.details', 'type': 'AlertPropertiesDetails'}, + 'cost_entity_id': {'key': 'properties.costEntityId', 'type': 'str'}, + 'status': {'key': 'properties.status', 'type': 'str'}, + 'creation_time': {'key': 'properties.creationTime', 'type': 'str'}, + 'close_time': {'key': 'properties.closeTime', 'type': 'str'}, + 'modification_time': {'key': 'properties.modificationTime', 'type': 'str'}, + 'status_modification_user_name': {'key': 'properties.statusModificationUserName', 'type': 'str'}, + 'status_modification_time': {'key': 'properties.statusModificationTime', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(Alert, self).__init__(**kwargs) + self.definition = kwargs.get('definition', None) + self.description = kwargs.get('description', None) + self.source = kwargs.get('source', None) + self.details = kwargs.get('details', None) + self.cost_entity_id = kwargs.get('cost_entity_id', None) + self.status = kwargs.get('status', None) + self.creation_time = kwargs.get('creation_time', None) + self.close_time = kwargs.get('close_time', None) + self.modification_time = kwargs.get('modification_time', None) + self.status_modification_user_name = kwargs.get('status_modification_user_name', None) + self.status_modification_time = kwargs.get('status_modification_time', None) + + +class AlertPropertiesDefinition(msrest.serialization.Model): + """defines the type of alert. + + :param type: type of alert. + :type type: str + :param category: Alert category. + :type category: str + :param criteria: Criteria that triggered alert. + :type criteria: str + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'category': {'key': 'category', 'type': 'str'}, + 'criteria': {'key': 'criteria', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(AlertPropertiesDefinition, self).__init__(**kwargs) + self.type = kwargs.get('type', None) + self.category = kwargs.get('category', None) + self.criteria = kwargs.get('criteria', None) + + +class AlertPropertiesDetails(msrest.serialization.Model): + """Alert details. + + :param time_grain_type: Type of timegrain cadence. + :type time_grain_type: str + :param period_start_date: datetime of periodStartDate. + :type period_start_date: str + :param triggered_by: notificationId that triggered this alert. + :type triggered_by: str + :param resource_group_filter: array of resourceGroups to filter by. + :type resource_group_filter: list[object] + :param resource_filter: array of resources to filter by. + :type resource_filter: list[object] + :param meter_filter: array of meters to filter by. + :type meter_filter: list[object] + :param tag_filter: tags to filter by. + :type tag_filter: object + :param threshold: notification threshold percentage as a decimal which activated this alert. + :type threshold: float + :param operator: operator used to compare currentSpend with amount. + :type operator: str + :param amount: budget threshold amount. + :type amount: float + :param unit: unit of currency being used. + :type unit: str + :param current_spend: current spend. + :type current_spend: float + :param contact_emails: list of emails to contact. + :type contact_emails: list[str] + :param contact_groups: list of action groups to broadcast to. + :type contact_groups: list[str] + :param contact_roles: list of contact roles. + :type contact_roles: list[str] + :param overriding_alert: overriding alert. + :type overriding_alert: str + """ + + _attribute_map = { + 'time_grain_type': {'key': 'timeGrainType', 'type': 'str'}, + 'period_start_date': {'key': 'periodStartDate', 'type': 'str'}, + 'triggered_by': {'key': 'triggeredBy', 'type': 'str'}, + 'resource_group_filter': {'key': 'resourceGroupFilter', 'type': '[object]'}, + 'resource_filter': {'key': 'resourceFilter', 'type': '[object]'}, + 'meter_filter': {'key': 'meterFilter', 'type': '[object]'}, + 'tag_filter': {'key': 'tagFilter', 'type': 'object'}, + 'threshold': {'key': 'threshold', 'type': 'float'}, + 'operator': {'key': 'operator', 'type': 'str'}, + 'amount': {'key': 'amount', 'type': 'float'}, + 'unit': {'key': 'unit', 'type': 'str'}, + 'current_spend': {'key': 'currentSpend', 'type': 'float'}, + 'contact_emails': {'key': 'contactEmails', 'type': '[str]'}, + 'contact_groups': {'key': 'contactGroups', 'type': '[str]'}, + 'contact_roles': {'key': 'contactRoles', 'type': '[str]'}, + 'overriding_alert': {'key': 'overridingAlert', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(AlertPropertiesDetails, self).__init__(**kwargs) + self.time_grain_type = kwargs.get('time_grain_type', None) + self.period_start_date = kwargs.get('period_start_date', None) + self.triggered_by = kwargs.get('triggered_by', None) + self.resource_group_filter = kwargs.get('resource_group_filter', None) + self.resource_filter = kwargs.get('resource_filter', None) + self.meter_filter = kwargs.get('meter_filter', None) + self.tag_filter = kwargs.get('tag_filter', None) + self.threshold = kwargs.get('threshold', None) + self.operator = kwargs.get('operator', None) + self.amount = kwargs.get('amount', None) + self.unit = kwargs.get('unit', None) + self.current_spend = kwargs.get('current_spend', None) + self.contact_emails = kwargs.get('contact_emails', None) + self.contact_groups = kwargs.get('contact_groups', None) + self.contact_roles = kwargs.get('contact_roles', None) + self.overriding_alert = kwargs.get('overriding_alert', None) + + +class AlertsResult(msrest.serialization.Model): + """Result of alerts. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of alerts. + :vartype value: list[~azure.mgmt.costmanagement.models.Alert] + :ivar next_link: URL to get the next set of alerts results if there are any. + :vartype next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[Alert]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(AlertsResult, self).__init__(**kwargs) + self.value = None + self.next_link = None + + +class CommonExportProperties(msrest.serialization.Model): + """The common properties of the export. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar format: The format of the export being delivered. Default value: "Csv". + :vartype format: str + :param type: Required. The type of the query. Possible values include: "Usage", "ActualCost", + "AmortizedCost". + :type type: str or ~azure.mgmt.costmanagement.models.ExportType + :param timeframe: Required. The time frame for pulling data for the query. If custom, then a + specific time period must be provided. Possible values include: "MonthToDate", + "BillingMonthToDate", "TheLastMonth", "TheLastBillingMonth", "WeekToDate", "Custom". + :type timeframe: str or ~azure.mgmt.costmanagement.models.TimeframeType + :param time_period: Has time period for pulling data for the query. + :type time_period: ~azure.mgmt.costmanagement.models.QueryTimePeriod + :ivar granularity: The granularity of rows in the query. Default value: "Daily". + :vartype granularity: str + :param configuration: Has configuration information for the data in the export. The + configuration will be ignored if aggregation and grouping are provided. + :type configuration: ~azure.mgmt.costmanagement.models.QueryDatasetConfiguration + :param aggregation: Dictionary of aggregation expression to use in the query. The key of each + item in the dictionary is the alias for the aggregated column. Query can have up to 2 + aggregation clauses. + :type aggregation: dict[str, ~azure.mgmt.costmanagement.models.QueryAggregation] + :param grouping: Array of group by expression to use in the query. Query can have up to 2 group + by clauses. + :type grouping: list[~azure.mgmt.costmanagement.models.QueryGrouping] + :param filter: Has filter expression to use in the query. + :type filter: ~azure.mgmt.costmanagement.models.QueryFilter + :param destination: Required. Has destination for the export being delivered. + :type destination: ~azure.mgmt.costmanagement.models.ExportDeliveryDestination + """ + + _validation = { + 'format': {'constant': True}, + 'type': {'required': True}, + 'timeframe': {'required': True}, + 'granularity': {'constant': True}, + 'grouping': {'max_items': 2, 'min_items': 0}, + 'destination': {'required': True}, + } + + _attribute_map = { + 'format': {'key': 'format', 'type': 'str'}, + 'type': {'key': 'definition.type', 'type': 'str'}, + 'timeframe': {'key': 'definition.timeframe', 'type': 'str'}, + 'time_period': {'key': 'definition.timePeriod', 'type': 'QueryTimePeriod'}, + 'granularity': {'key': 'definition.dataSet.granularity', 'type': 'str'}, + 'configuration': {'key': 'definition.dataSet.configuration', 'type': 'QueryDatasetConfiguration'}, + 'aggregation': {'key': 'definition.dataSet.aggregation', 'type': '{QueryAggregation}'}, + 'grouping': {'key': 'definition.dataSet.grouping', 'type': '[QueryGrouping]'}, + 'filter': {'key': 'definition.dataSet.filter', 'type': 'QueryFilter'}, + 'destination': {'key': 'deliveryInfo.destination', 'type': 'ExportDeliveryDestination'}, + } + + format = "Csv" + granularity = "Daily" + + def __init__( + self, + **kwargs + ): + super(CommonExportProperties, self).__init__(**kwargs) + self.type = kwargs['type'] + self.timeframe = kwargs['timeframe'] + self.time_period = kwargs.get('time_period', None) + self.configuration = kwargs.get('configuration', None) + self.aggregation = kwargs.get('aggregation', None) + self.grouping = kwargs.get('grouping', None) + self.filter = kwargs.get('filter', None) + self.destination = kwargs['destination'] + + +class Dimension(Resource): + """Dimension. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Resource Id. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :ivar tags: A set of tags. Resource tags. + :vartype tags: dict[str, str] + :ivar description: Dimension description. + :vartype description: str + :ivar filter_enabled: Filter enabled. + :vartype filter_enabled: bool + :ivar grouping_enabled: Grouping enabled. + :vartype grouping_enabled: bool + :param data: + :type data: list[str] + :ivar total: Total number of data for the dimension. + :vartype total: int + :ivar category: Dimension category. + :vartype category: str + :ivar usage_start: Usage start. + :vartype usage_start: ~datetime.datetime + :ivar usage_end: Usage end. + :vartype usage_end: ~datetime.datetime + :ivar next_link: The link (url) to the next page of results. + :vartype next_link: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'tags': {'readonly': True}, + 'description': {'readonly': True}, + 'filter_enabled': {'readonly': True}, + 'grouping_enabled': {'readonly': True}, + 'total': {'readonly': True}, + 'category': {'readonly': True}, + 'usage_start': {'readonly': True}, + 'usage_end': {'readonly': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'filter_enabled': {'key': 'properties.filterEnabled', 'type': 'bool'}, + 'grouping_enabled': {'key': 'properties.groupingEnabled', 'type': 'bool'}, + 'data': {'key': 'properties.data', 'type': '[str]'}, + 'total': {'key': 'properties.total', 'type': 'int'}, + 'category': {'key': 'properties.category', 'type': 'str'}, + 'usage_start': {'key': 'properties.usageStart', 'type': 'iso-8601'}, + 'usage_end': {'key': 'properties.usageEnd', 'type': 'iso-8601'}, + 'next_link': {'key': 'properties.nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(Dimension, self).__init__(**kwargs) + self.description = None + self.filter_enabled = None + self.grouping_enabled = None + self.data = kwargs.get('data', None) + self.total = None + self.category = None + self.usage_start = None + self.usage_end = None + self.next_link = None + + +class DimensionsListResult(msrest.serialization.Model): + """Result of listing dimensions. It contains a list of available dimensions. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: The list of dimensions. + :vartype value: list[~azure.mgmt.costmanagement.models.Dimension] + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[Dimension]'}, + } + + def __init__( + self, + **kwargs + ): + super(DimensionsListResult, self).__init__(**kwargs) + self.value = None + + +class ErrorDetails(msrest.serialization.Model): + """The details of the error. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar code: Error code. + :vartype code: str + :ivar message: Error message indicating why the operation failed. + :vartype message: str + """ + + _validation = { + 'code': {'readonly': True}, + 'message': {'readonly': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ErrorDetails, self).__init__(**kwargs) + self.code = None + self.message = None + + +class ErrorResponse(msrest.serialization.Model): + """Error response indicates that the service is not able to process the incoming request. The reason is provided in the error message. + +Some Error responses: + + +* + 429 TooManyRequests - Request is throttled. Retry after waiting for the time specified in the "x-ms-ratelimit-microsoft.consumption-retry-after" header. + +* + 503 ServiceUnavailable - Service is temporarily unavailable. Retry after waiting for the time specified in the "Retry-After" header. + + :param error: The details of the error. + :type error: ~azure.mgmt.costmanagement.models.ErrorDetails + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'ErrorDetails'}, + } + + def __init__( + self, + **kwargs + ): + super(ErrorResponse, self).__init__(**kwargs) + self.error = kwargs.get('error', None) + + +class ProxyResource(msrest.serialization.Model): + """The Resource model definition. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Resource Id. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param e_tag: eTag of the resource. To handle concurrent update scenario, this field will be + used to determine whether the user is updating the latest version or not. + :type e_tag: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'e_tag': {'key': 'eTag', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ProxyResource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.e_tag = kwargs.get('e_tag', None) + + +class Export(ProxyResource): + """A export resource. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Resource Id. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param e_tag: eTag of the resource. To handle concurrent update scenario, this field will be + used to determine whether the user is updating the latest version or not. + :type e_tag: str + :ivar format: The format of the export being delivered. Default value: "Csv". + :vartype format: str + :param type_properties_definition_type: The type of the query. Possible values include: + "Usage", "ActualCost", "AmortizedCost". + :type type_properties_definition_type: str or ~azure.mgmt.costmanagement.models.ExportType + :param timeframe: The time frame for pulling data for the query. If custom, then a specific + time period must be provided. Possible values include: "MonthToDate", "BillingMonthToDate", + "TheLastMonth", "TheLastBillingMonth", "WeekToDate", "Custom". + :type timeframe: str or ~azure.mgmt.costmanagement.models.TimeframeType + :param time_period: Has time period for pulling data for the query. + :type time_period: ~azure.mgmt.costmanagement.models.QueryTimePeriod + :ivar granularity: The granularity of rows in the query. Default value: "Daily". + :vartype granularity: str + :param configuration: Has configuration information for the data in the export. The + configuration will be ignored if aggregation and grouping are provided. + :type configuration: ~azure.mgmt.costmanagement.models.QueryDatasetConfiguration + :param aggregation: Dictionary of aggregation expression to use in the query. The key of each + item in the dictionary is the alias for the aggregated column. Query can have up to 2 + aggregation clauses. + :type aggregation: dict[str, ~azure.mgmt.costmanagement.models.QueryAggregation] + :param grouping: Array of group by expression to use in the query. Query can have up to 2 group + by clauses. + :type grouping: list[~azure.mgmt.costmanagement.models.QueryGrouping] + :param filter: Has filter expression to use in the query. + :type filter: ~azure.mgmt.costmanagement.models.QueryFilter + :param destination: Has destination for the export being delivered. + :type destination: ~azure.mgmt.costmanagement.models.ExportDeliveryDestination + :param status: The status of the schedule. Whether active or not. If inactive, the export's + scheduled execution is paused. Possible values include: "Active", "Inactive". + :type status: str or ~azure.mgmt.costmanagement.models.StatusType + :param recurrence: The schedule recurrence. Possible values include: "Daily", "Weekly", + "Monthly", "Annually". + :type recurrence: str or ~azure.mgmt.costmanagement.models.RecurrenceType + :param recurrence_period: Has start and end date of the recurrence. The start date must be in + future. If present, the end date must be greater than start date. + :type recurrence_period: ~azure.mgmt.costmanagement.models.ExportRecurrencePeriod + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'format': {'constant': True}, + 'granularity': {'constant': True}, + 'grouping': {'max_items': 2, 'min_items': 0}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'e_tag': {'key': 'eTag', 'type': 'str'}, + 'format': {'key': 'properties.format', 'type': 'str'}, + 'type_properties_definition_type': {'key': 'properties.definition.type', 'type': 'str'}, + 'timeframe': {'key': 'properties.definition.timeframe', 'type': 'str'}, + 'time_period': {'key': 'properties.definition.timePeriod', 'type': 'QueryTimePeriod'}, + 'granularity': {'key': 'properties.definition.dataSet.granularity', 'type': 'str'}, + 'configuration': {'key': 'properties.definition.dataSet.configuration', 'type': 'QueryDatasetConfiguration'}, + 'aggregation': {'key': 'properties.definition.dataSet.aggregation', 'type': '{QueryAggregation}'}, + 'grouping': {'key': 'properties.definition.dataSet.grouping', 'type': '[QueryGrouping]'}, + 'filter': {'key': 'properties.definition.dataSet.filter', 'type': 'QueryFilter'}, + 'destination': {'key': 'properties.deliveryInfo.destination', 'type': 'ExportDeliveryDestination'}, + 'status': {'key': 'properties.schedule.status', 'type': 'str'}, + 'recurrence': {'key': 'properties.schedule.recurrence', 'type': 'str'}, + 'recurrence_period': {'key': 'properties.schedule.recurrencePeriod', 'type': 'ExportRecurrencePeriod'}, + } + + format = "Csv" + granularity = "Daily" + + def __init__( + self, + **kwargs + ): + super(Export, self).__init__(**kwargs) + self.type_properties_definition_type = kwargs.get('type_properties_definition_type', None) + self.timeframe = kwargs.get('timeframe', None) + self.time_period = kwargs.get('time_period', None) + self.configuration = kwargs.get('configuration', None) + self.aggregation = kwargs.get('aggregation', None) + self.grouping = kwargs.get('grouping', None) + self.filter = kwargs.get('filter', None) + self.destination = kwargs.get('destination', None) + self.status = kwargs.get('status', None) + self.recurrence = kwargs.get('recurrence', None) + self.recurrence_period = kwargs.get('recurrence_period', None) + + +class ExportDeliveryDestination(msrest.serialization.Model): + """The destination information for the delivery of the export. To allow access to a storage account, you must register the account's subscription with the Microsoft.CostManagementExports resource provider. This is required once per subscription. When creating an export in the Azure portal, it is done automatically, however API users need to register the subscription. For more information see https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-manager-supported-services . + + All required parameters must be populated in order to send to Azure. + + :param resource_id: Required. The resource id of the storage account where exports will be + delivered. + :type resource_id: str + :param container: Required. The name of the container where exports will be uploaded. + :type container: str + :param root_folder_path: The name of the directory where exports will be uploaded. + :type root_folder_path: str + """ + + _validation = { + 'resource_id': {'required': True}, + 'container': {'required': True}, + } + + _attribute_map = { + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + 'container': {'key': 'container', 'type': 'str'}, + 'root_folder_path': {'key': 'rootFolderPath', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ExportDeliveryDestination, self).__init__(**kwargs) + self.resource_id = kwargs['resource_id'] + self.container = kwargs['container'] + self.root_folder_path = kwargs.get('root_folder_path', None) + + +class ExportExecution(Resource): + """A export execution. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Resource Id. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :ivar tags: A set of tags. Resource tags. + :vartype tags: dict[str, str] + :param execution_type: The type of the export execution. Possible values include: "OnDemand", + "Scheduled". + :type execution_type: str or ~azure.mgmt.costmanagement.models.ExecutionType + :param status: The status of the export execution. Possible values include: "Queued", + "InProgress", "Completed", "Failed", "Timeout", "NewDataNotAvailable", "DataNotAvailable". + :type status: str or ~azure.mgmt.costmanagement.models.ExecutionStatus + :param submitted_by: The identifier for the entity that executed the export. For OnDemand + executions, it is the email id. For Scheduled executions, it is the constant value - System. + :type submitted_by: str + :param submitted_time: The time when export was queued to be executed. + :type submitted_time: ~datetime.datetime + :param processing_start_time: The time when export was picked up to be executed. + :type processing_start_time: ~datetime.datetime + :param processing_end_time: The time when export execution finished. + :type processing_end_time: ~datetime.datetime + :param file_name: The name of the file export got written to. + :type file_name: str + :param run_settings: The common properties of the export. + :type run_settings: ~azure.mgmt.costmanagement.models.CommonExportProperties + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'tags': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'execution_type': {'key': 'properties.executionType', 'type': 'str'}, + 'status': {'key': 'properties.status', 'type': 'str'}, + 'submitted_by': {'key': 'properties.submittedBy', 'type': 'str'}, + 'submitted_time': {'key': 'properties.submittedTime', 'type': 'iso-8601'}, + 'processing_start_time': {'key': 'properties.processingStartTime', 'type': 'iso-8601'}, + 'processing_end_time': {'key': 'properties.processingEndTime', 'type': 'iso-8601'}, + 'file_name': {'key': 'properties.fileName', 'type': 'str'}, + 'run_settings': {'key': 'properties.runSettings', 'type': 'CommonExportProperties'}, + } + + def __init__( + self, + **kwargs + ): + super(ExportExecution, self).__init__(**kwargs) + self.execution_type = kwargs.get('execution_type', None) + self.status = kwargs.get('status', None) + self.submitted_by = kwargs.get('submitted_by', None) + self.submitted_time = kwargs.get('submitted_time', None) + self.processing_start_time = kwargs.get('processing_start_time', None) + self.processing_end_time = kwargs.get('processing_end_time', None) + self.file_name = kwargs.get('file_name', None) + self.run_settings = kwargs.get('run_settings', None) + + +class ExportExecutionListResult(msrest.serialization.Model): + """Result of listing exports execution history of a export by name. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: The list of export executions. + :vartype value: list[~azure.mgmt.costmanagement.models.ExportExecution] + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ExportExecution]'}, + } + + def __init__( + self, + **kwargs + ): + super(ExportExecutionListResult, self).__init__(**kwargs) + self.value = None + + +class ExportListResult(msrest.serialization.Model): + """Result of listing exports. It contains a list of available exports in the scope provided. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: The list of exports. + :vartype value: list[~azure.mgmt.costmanagement.models.Export] + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[Export]'}, + } + + def __init__( + self, + **kwargs + ): + super(ExportListResult, self).__init__(**kwargs) + self.value = None + + +class ExportProperties(CommonExportProperties): + """The properties of the export. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar format: The format of the export being delivered. Default value: "Csv". + :vartype format: str + :param type: Required. The type of the query. Possible values include: "Usage", "ActualCost", + "AmortizedCost". + :type type: str or ~azure.mgmt.costmanagement.models.ExportType + :param timeframe: Required. The time frame for pulling data for the query. If custom, then a + specific time period must be provided. Possible values include: "MonthToDate", + "BillingMonthToDate", "TheLastMonth", "TheLastBillingMonth", "WeekToDate", "Custom". + :type timeframe: str or ~azure.mgmt.costmanagement.models.TimeframeType + :param time_period: Has time period for pulling data for the query. + :type time_period: ~azure.mgmt.costmanagement.models.QueryTimePeriod + :ivar granularity: The granularity of rows in the query. Default value: "Daily". + :vartype granularity: str + :param configuration: Has configuration information for the data in the export. The + configuration will be ignored if aggregation and grouping are provided. + :type configuration: ~azure.mgmt.costmanagement.models.QueryDatasetConfiguration + :param aggregation: Dictionary of aggregation expression to use in the query. The key of each + item in the dictionary is the alias for the aggregated column. Query can have up to 2 + aggregation clauses. + :type aggregation: dict[str, ~azure.mgmt.costmanagement.models.QueryAggregation] + :param grouping: Array of group by expression to use in the query. Query can have up to 2 group + by clauses. + :type grouping: list[~azure.mgmt.costmanagement.models.QueryGrouping] + :param filter: Has filter expression to use in the query. + :type filter: ~azure.mgmt.costmanagement.models.QueryFilter + :param destination: Required. Has destination for the export being delivered. + :type destination: ~azure.mgmt.costmanagement.models.ExportDeliveryDestination + :param status: The status of the schedule. Whether active or not. If inactive, the export's + scheduled execution is paused. Possible values include: "Active", "Inactive". + :type status: str or ~azure.mgmt.costmanagement.models.StatusType + :param recurrence: The schedule recurrence. Possible values include: "Daily", "Weekly", + "Monthly", "Annually". + :type recurrence: str or ~azure.mgmt.costmanagement.models.RecurrenceType + :param recurrence_period: Has start and end date of the recurrence. The start date must be in + future. If present, the end date must be greater than start date. + :type recurrence_period: ~azure.mgmt.costmanagement.models.ExportRecurrencePeriod + """ + + _validation = { + 'format': {'constant': True}, + 'type': {'required': True}, + 'timeframe': {'required': True}, + 'granularity': {'constant': True}, + 'grouping': {'max_items': 2, 'min_items': 0}, + 'destination': {'required': True}, + } + + _attribute_map = { + 'format': {'key': 'format', 'type': 'str'}, + 'type': {'key': 'definition.type', 'type': 'str'}, + 'timeframe': {'key': 'definition.timeframe', 'type': 'str'}, + 'time_period': {'key': 'definition.timePeriod', 'type': 'QueryTimePeriod'}, + 'granularity': {'key': 'definition.dataSet.granularity', 'type': 'str'}, + 'configuration': {'key': 'definition.dataSet.configuration', 'type': 'QueryDatasetConfiguration'}, + 'aggregation': {'key': 'definition.dataSet.aggregation', 'type': '{QueryAggregation}'}, + 'grouping': {'key': 'definition.dataSet.grouping', 'type': '[QueryGrouping]'}, + 'filter': {'key': 'definition.dataSet.filter', 'type': 'QueryFilter'}, + 'destination': {'key': 'deliveryInfo.destination', 'type': 'ExportDeliveryDestination'}, + 'status': {'key': 'schedule.status', 'type': 'str'}, + 'recurrence': {'key': 'schedule.recurrence', 'type': 'str'}, + 'recurrence_period': {'key': 'schedule.recurrencePeriod', 'type': 'ExportRecurrencePeriod'}, + } + + format = "Csv" + granularity = "Daily" + + def __init__( + self, + **kwargs + ): + super(ExportProperties, self).__init__(**kwargs) + self.status = kwargs.get('status', None) + self.recurrence = kwargs.get('recurrence', None) + self.recurrence_period = kwargs.get('recurrence_period', None) + + +class ExportRecurrencePeriod(msrest.serialization.Model): + """The start and end date for recurrence schedule. + + All required parameters must be populated in order to send to Azure. + + :param from_property: Required. The start date of recurrence. + :type from_property: ~datetime.datetime + :param to: The end date of recurrence. + :type to: ~datetime.datetime + """ + + _validation = { + 'from_property': {'required': True}, + } + + _attribute_map = { + 'from_property': {'key': 'from', 'type': 'iso-8601'}, + 'to': {'key': 'to', 'type': 'iso-8601'}, + } + + def __init__( + self, + **kwargs + ): + super(ExportRecurrencePeriod, self).__init__(**kwargs) + self.from_property = kwargs['from_property'] + self.to = kwargs.get('to', None) + + +class ForecastDefinition(msrest.serialization.Model): + """The definition of a forecast. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :param type: Required. The type of the forecast. Possible values include: "Usage", + "ActualCost", "AmortizedCost". + :type type: str or ~azure.mgmt.costmanagement.models.ForecastType + :param timeframe: Required. The time frame for pulling data for the forecast. If custom, then a + specific time period must be provided. Possible values include: "MonthToDate", + "BillingMonthToDate", "TheLastMonth", "TheLastBillingMonth", "WeekToDate", "Custom". + :type timeframe: str or ~azure.mgmt.costmanagement.models.ForecastTimeframeType + :param time_period: Has time period for pulling data for the forecast. + :type time_period: ~azure.mgmt.costmanagement.models.QueryTimePeriod + :param include_actual_cost: a boolean determining if actualCost will be included. + :type include_actual_cost: bool + :param include_fresh_partial_cost: a boolean determining if FreshPartialCost will be included. + :type include_fresh_partial_cost: bool + :ivar granularity: The granularity of rows in the query. Default value: "Daily". + :vartype granularity: str + :param configuration: Has configuration information for the data in the export. The + configuration will be ignored if aggregation and grouping are provided. + :type configuration: ~azure.mgmt.costmanagement.models.QueryDatasetConfiguration + :param aggregation: Dictionary of aggregation expression to use in the query. The key of each + item in the dictionary is the alias for the aggregated column. Query can have up to 2 + aggregation clauses. + :type aggregation: dict[str, ~azure.mgmt.costmanagement.models.QueryAggregation] + :param grouping: Array of group by expression to use in the query. Query can have up to 2 group + by clauses. + :type grouping: list[~azure.mgmt.costmanagement.models.QueryGrouping] + :param filter: Has filter expression to use in the query. + :type filter: ~azure.mgmt.costmanagement.models.QueryFilter + """ + + _validation = { + 'type': {'required': True}, + 'timeframe': {'required': True}, + 'granularity': {'constant': True}, + 'grouping': {'max_items': 2, 'min_items': 0}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'timeframe': {'key': 'timeframe', 'type': 'str'}, + 'time_period': {'key': 'timePeriod', 'type': 'QueryTimePeriod'}, + 'include_actual_cost': {'key': 'includeActualCost', 'type': 'bool'}, + 'include_fresh_partial_cost': {'key': 'includeFreshPartialCost', 'type': 'bool'}, + 'granularity': {'key': 'dataset.granularity', 'type': 'str'}, + 'configuration': {'key': 'dataset.configuration', 'type': 'QueryDatasetConfiguration'}, + 'aggregation': {'key': 'dataset.aggregation', 'type': '{QueryAggregation}'}, + 'grouping': {'key': 'dataset.grouping', 'type': '[QueryGrouping]'}, + 'filter': {'key': 'dataset.filter', 'type': 'QueryFilter'}, + } + + granularity = "Daily" + + def __init__( + self, + **kwargs + ): + super(ForecastDefinition, self).__init__(**kwargs) + self.type = kwargs['type'] + self.timeframe = kwargs['timeframe'] + self.time_period = kwargs.get('time_period', None) + self.include_actual_cost = kwargs.get('include_actual_cost', None) + self.include_fresh_partial_cost = kwargs.get('include_fresh_partial_cost', None) + self.configuration = kwargs.get('configuration', None) + self.aggregation = kwargs.get('aggregation', None) + self.grouping = kwargs.get('grouping', None) + self.filter = kwargs.get('filter', None) + + +class KpiProperties(msrest.serialization.Model): + """Each KPI must contain a 'type' and 'enabled' key. + + :param type: KPI type (Forecast, Budget). Possible values include: "Forecast", "Budget". + :type type: str or ~azure.mgmt.costmanagement.models.KpiType + :param id: ID of resource related to metric (budget). + :type id: str + :param enabled: show the KPI in the UI?. + :type enabled: bool + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'enabled': {'key': 'enabled', 'type': 'bool'}, + } + + def __init__( + self, + **kwargs + ): + super(KpiProperties, self).__init__(**kwargs) + self.type = kwargs.get('type', None) + self.id = kwargs.get('id', None) + self.enabled = kwargs.get('enabled', None) + + +class Operation(msrest.serialization.Model): + """A Cost management REST API operation. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar name: Operation name: {provider}/{resource}/{operation}. + :vartype name: str + :param display: The object that represents the operation. + :type display: ~azure.mgmt.costmanagement.models.OperationDisplay + """ + + _validation = { + 'name': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'OperationDisplay'}, + } + + def __init__( + self, + **kwargs + ): + super(Operation, self).__init__(**kwargs) + self.name = None + self.display = kwargs.get('display', None) + + +class OperationDisplay(msrest.serialization.Model): + """The object that represents the operation. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar provider: Service provider: Microsoft.CostManagement. + :vartype provider: str + :ivar resource: Resource on which the operation is performed: Dimensions, Query. + :vartype resource: str + :ivar operation: Operation type: Read, write, delete, etc. + :vartype operation: str + """ + + _validation = { + 'provider': {'readonly': True}, + 'resource': {'readonly': True}, + 'operation': {'readonly': True}, + } + + _attribute_map = { + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(OperationDisplay, self).__init__(**kwargs) + self.provider = None + self.resource = None + self.operation = None + + +class OperationListResult(msrest.serialization.Model): + """Result of listing cost management operations. It contains a list of operations and a URL link to get the next set of results. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of cost management operations supported by the Microsoft.CostManagement + resource provider. + :vartype value: list[~azure.mgmt.costmanagement.models.Operation] + :ivar next_link: URL to get the next set of operation list results if there are any. + :vartype next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[Operation]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(OperationListResult, self).__init__(**kwargs) + self.value = None + self.next_link = None + + +class PivotProperties(msrest.serialization.Model): + """Each pivot must contain a 'type' and 'name'. + + :param type: Data type to show in view. Possible values include: "Dimension", "TagKey". + :type type: str or ~azure.mgmt.costmanagement.models.PivotType + :param name: Data field to show in view. + :type name: str + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(PivotProperties, self).__init__(**kwargs) + self.type = kwargs.get('type', None) + self.name = kwargs.get('name', None) + + +class QueryAggregation(msrest.serialization.Model): + """The aggregation expression to be used in the query. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. The name of the column to aggregate. + :type name: str + :ivar function: Required. The name of the aggregation function to use. Default value: "Sum". + :vartype function: str + """ + + _validation = { + 'name': {'required': True}, + 'function': {'required': True, 'constant': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'function': {'key': 'function', 'type': 'str'}, + } + + function = "Sum" + + def __init__( + self, + **kwargs + ): + super(QueryAggregation, self).__init__(**kwargs) + self.name = kwargs['name'] + + +class QueryColumn(msrest.serialization.Model): + """QueryColumn. + + :param name: The name of column. + :type name: str + :param type: The type of column. + :type type: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(QueryColumn, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.type = kwargs.get('type', None) + + +class QueryComparisonExpression(msrest.serialization.Model): + """The comparison expression to be used in the query. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. The name of the column to use in comparison. + :type name: str + :param operator: Required. The operator to use for comparison. Possible values include: "In", + "Contains". + :type operator: str or ~azure.mgmt.costmanagement.models.OperatorType + :param values: Required. Array of values to use for comparison. + :type values: list[str] + """ + + _validation = { + 'name': {'required': True}, + 'operator': {'required': True}, + 'values': {'required': True, 'min_items': 1}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'operator': {'key': 'operator', 'type': 'str'}, + 'values': {'key': 'values', 'type': '[str]'}, + } + + def __init__( + self, + **kwargs + ): + super(QueryComparisonExpression, self).__init__(**kwargs) + self.name = kwargs['name'] + self.operator = kwargs['operator'] + self.values = kwargs['values'] + + +class QueryDatasetConfiguration(msrest.serialization.Model): + """The configuration of dataset in the query. + + :param columns: Array of column names to be included in the query. Any valid query column name + is allowed. If not provided, then query includes all columns. + :type columns: list[str] + """ + + _attribute_map = { + 'columns': {'key': 'columns', 'type': '[str]'}, + } + + def __init__( + self, + **kwargs + ): + super(QueryDatasetConfiguration, self).__init__(**kwargs) + self.columns = kwargs.get('columns', None) + + +class QueryDefinition(msrest.serialization.Model): + """The definition of a query. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :param type: Required. The type of the query. Possible values include: "Usage", "ActualCost", + "AmortizedCost". + :type type: str or ~azure.mgmt.costmanagement.models.ExportType + :param timeframe: Required. The time frame for pulling data for the query. If custom, then a + specific time period must be provided. Possible values include: "MonthToDate", + "BillingMonthToDate", "TheLastMonth", "TheLastBillingMonth", "WeekToDate", "Custom". + :type timeframe: str or ~azure.mgmt.costmanagement.models.TimeframeType + :param time_period: Has time period for pulling data for the query. + :type time_period: ~azure.mgmt.costmanagement.models.QueryTimePeriod + :ivar granularity: The granularity of rows in the query. Default value: "Daily". + :vartype granularity: str + :param configuration: Has configuration information for the data in the export. The + configuration will be ignored if aggregation and grouping are provided. + :type configuration: ~azure.mgmt.costmanagement.models.QueryDatasetConfiguration + :param aggregation: Dictionary of aggregation expression to use in the query. The key of each + item in the dictionary is the alias for the aggregated column. Query can have up to 2 + aggregation clauses. + :type aggregation: dict[str, ~azure.mgmt.costmanagement.models.QueryAggregation] + :param grouping: Array of group by expression to use in the query. Query can have up to 2 group + by clauses. + :type grouping: list[~azure.mgmt.costmanagement.models.QueryGrouping] + :param filter: Has filter expression to use in the query. + :type filter: ~azure.mgmt.costmanagement.models.QueryFilter + """ + + _validation = { + 'type': {'required': True}, + 'timeframe': {'required': True}, + 'granularity': {'constant': True}, + 'grouping': {'max_items': 2, 'min_items': 0}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'timeframe': {'key': 'timeframe', 'type': 'str'}, + 'time_period': {'key': 'timePeriod', 'type': 'QueryTimePeriod'}, + 'granularity': {'key': 'dataSet.granularity', 'type': 'str'}, + 'configuration': {'key': 'dataSet.configuration', 'type': 'QueryDatasetConfiguration'}, + 'aggregation': {'key': 'dataSet.aggregation', 'type': '{QueryAggregation}'}, + 'grouping': {'key': 'dataSet.grouping', 'type': '[QueryGrouping]'}, + 'filter': {'key': 'dataSet.filter', 'type': 'QueryFilter'}, + } + + granularity = "Daily" + + def __init__( + self, + **kwargs + ): + super(QueryDefinition, self).__init__(**kwargs) + self.type = kwargs['type'] + self.timeframe = kwargs['timeframe'] + self.time_period = kwargs.get('time_period', None) + self.configuration = kwargs.get('configuration', None) + self.aggregation = kwargs.get('aggregation', None) + self.grouping = kwargs.get('grouping', None) + self.filter = kwargs.get('filter', None) + + +class QueryFilter(msrest.serialization.Model): + """The filter expression to be used in the export. + + :param and_property: The logical "AND" expression. Must have at least 2 items. + :type and_property: list[~azure.mgmt.costmanagement.models.QueryFilter] + :param or_property: The logical "OR" expression. Must have at least 2 items. + :type or_property: list[~azure.mgmt.costmanagement.models.QueryFilter] + :param not_property: The logical "NOT" expression. + :type not_property: ~azure.mgmt.costmanagement.models.QueryFilter + :param dimension: Has comparison expression for a dimension. + :type dimension: ~azure.mgmt.costmanagement.models.QueryComparisonExpression + :param tag: Has comparison expression for a tag. + :type tag: ~azure.mgmt.costmanagement.models.QueryComparisonExpression + """ + + _validation = { + 'and_property': {'min_items': 2}, + 'or_property': {'min_items': 2}, + } + + _attribute_map = { + 'and_property': {'key': 'and', 'type': '[QueryFilter]'}, + 'or_property': {'key': 'or', 'type': '[QueryFilter]'}, + 'not_property': {'key': 'not', 'type': 'QueryFilter'}, + 'dimension': {'key': 'dimension', 'type': 'QueryComparisonExpression'}, + 'tag': {'key': 'tag', 'type': 'QueryComparisonExpression'}, + } + + def __init__( + self, + **kwargs + ): + super(QueryFilter, self).__init__(**kwargs) + self.and_property = kwargs.get('and_property', None) + self.or_property = kwargs.get('or_property', None) + self.not_property = kwargs.get('not_property', None) + self.dimension = kwargs.get('dimension', None) + self.tag = kwargs.get('tag', None) + + +class QueryGrouping(msrest.serialization.Model): + """The group by expression to be used in the query. + + All required parameters must be populated in order to send to Azure. + + :param type: Required. Has type of the column to group. Possible values include: "Tag", + "Dimension". + :type type: str or ~azure.mgmt.costmanagement.models.QueryColumnType + :param name: Required. The name of the column to group. + :type name: str + """ + + _validation = { + 'type': {'required': True}, + 'name': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(QueryGrouping, self).__init__(**kwargs) + self.type = kwargs['type'] + self.name = kwargs['name'] + + +class QueryResult(Resource): + """Result of query. It contains all columns listed under groupings and aggregation. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Resource Id. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :ivar tags: A set of tags. Resource tags. + :vartype tags: dict[str, str] + :param next_link: The link (url) to the next page of results. + :type next_link: str + :param columns: Array of columns. + :type columns: list[~azure.mgmt.costmanagement.models.QueryColumn] + :param rows: Array of rows. + :type rows: list[list[object]] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'tags': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'next_link': {'key': 'properties.nextLink', 'type': 'str'}, + 'columns': {'key': 'properties.columns', 'type': '[QueryColumn]'}, + 'rows': {'key': 'properties.rows', 'type': '[[object]]'}, + } + + def __init__( + self, + **kwargs + ): + super(QueryResult, self).__init__(**kwargs) + self.next_link = kwargs.get('next_link', None) + self.columns = kwargs.get('columns', None) + self.rows = kwargs.get('rows', None) + + +class QueryTimePeriod(msrest.serialization.Model): + """The start and end date for pulling data for the query. + + All required parameters must be populated in order to send to Azure. + + :param from_property: Required. The start date to pull data from. + :type from_property: ~datetime.datetime + :param to: Required. The end date to pull data to. + :type to: ~datetime.datetime + """ + + _validation = { + 'from_property': {'required': True}, + 'to': {'required': True}, + } + + _attribute_map = { + 'from_property': {'key': 'from', 'type': 'iso-8601'}, + 'to': {'key': 'to', 'type': 'iso-8601'}, + } + + def __init__( + self, + **kwargs + ): + super(QueryTimePeriod, self).__init__(**kwargs) + self.from_property = kwargs['from_property'] + self.to = kwargs['to'] + + +class ReportConfigAggregation(msrest.serialization.Model): + """The aggregation expression to be used in the report. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. The name of the column to aggregate. + :type name: str + :ivar function: Required. The name of the aggregation function to use. Default value: "Sum". + :vartype function: str + """ + + _validation = { + 'name': {'required': True}, + 'function': {'required': True, 'constant': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'function': {'key': 'function', 'type': 'str'}, + } + + function = "Sum" + + def __init__( + self, + **kwargs + ): + super(ReportConfigAggregation, self).__init__(**kwargs) + self.name = kwargs['name'] + + +class ReportConfigComparisonExpression(msrest.serialization.Model): + """The comparison expression to be used in the report. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. The name of the column to use in comparison. + :type name: str + :param operator: Required. The operator to use for comparison. Possible values include: "In", + "Contains". + :type operator: str or ~azure.mgmt.costmanagement.models.OperatorType + :param values: Required. Array of values to use for comparison. + :type values: list[str] + """ + + _validation = { + 'name': {'required': True}, + 'operator': {'required': True}, + 'values': {'required': True, 'min_items': 1}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'operator': {'key': 'operator', 'type': 'str'}, + 'values': {'key': 'values', 'type': '[str]'}, + } + + def __init__( + self, + **kwargs + ): + super(ReportConfigComparisonExpression, self).__init__(**kwargs) + self.name = kwargs['name'] + self.operator = kwargs['operator'] + self.values = kwargs['values'] + + +class ReportConfigDataset(msrest.serialization.Model): + """The definition of data present in the report. + + :param granularity: The granularity of rows in the report. Possible values include: "Daily", + "Monthly". + :type granularity: str or ~azure.mgmt.costmanagement.models.ReportGranularityType + :param configuration: Has configuration information for the data in the report. The + configuration will be ignored if aggregation and grouping are provided. + :type configuration: ~azure.mgmt.costmanagement.models.ReportConfigDatasetConfiguration + :param aggregation: Dictionary of aggregation expression to use in the report. The key of each + item in the dictionary is the alias for the aggregated column. Report can have up to 2 + aggregation clauses. + :type aggregation: dict[str, ~azure.mgmt.costmanagement.models.ReportConfigAggregation] + :param grouping: Array of group by expression to use in the report. Report can have up to 2 + group by clauses. + :type grouping: list[~azure.mgmt.costmanagement.models.ReportConfigGrouping] + :param sorting: Array of order by expression to use in the report. + :type sorting: list[~azure.mgmt.costmanagement.models.ReportConfigSorting] + :param filter: Has filter expression to use in the report. + :type filter: ~azure.mgmt.costmanagement.models.ReportConfigFilter + """ + + _validation = { + 'grouping': {'max_items': 2, 'min_items': 0}, + } + + _attribute_map = { + 'granularity': {'key': 'granularity', 'type': 'str'}, + 'configuration': {'key': 'configuration', 'type': 'ReportConfigDatasetConfiguration'}, + 'aggregation': {'key': 'aggregation', 'type': '{ReportConfigAggregation}'}, + 'grouping': {'key': 'grouping', 'type': '[ReportConfigGrouping]'}, + 'sorting': {'key': 'sorting', 'type': '[ReportConfigSorting]'}, + 'filter': {'key': 'filter', 'type': 'ReportConfigFilter'}, + } + + def __init__( + self, + **kwargs + ): + super(ReportConfigDataset, self).__init__(**kwargs) + self.granularity = kwargs.get('granularity', None) + self.configuration = kwargs.get('configuration', None) + self.aggregation = kwargs.get('aggregation', None) + self.grouping = kwargs.get('grouping', None) + self.sorting = kwargs.get('sorting', None) + self.filter = kwargs.get('filter', None) + + +class ReportConfigDatasetConfiguration(msrest.serialization.Model): + """The configuration of dataset in the report. + + :param columns: Array of column names to be included in the report. Any valid report column + name is allowed. If not provided, then report includes all columns. + :type columns: list[str] + """ + + _attribute_map = { + 'columns': {'key': 'columns', 'type': '[str]'}, + } + + def __init__( + self, + **kwargs + ): + super(ReportConfigDatasetConfiguration, self).__init__(**kwargs) + self.columns = kwargs.get('columns', None) + + +class ReportConfigFilter(msrest.serialization.Model): + """The filter expression to be used in the report. + + :param and_property: The logical "AND" expression. Must have at least 2 items. + :type and_property: list[~azure.mgmt.costmanagement.models.ReportConfigFilter] + :param or_property: The logical "OR" expression. Must have at least 2 items. + :type or_property: list[~azure.mgmt.costmanagement.models.ReportConfigFilter] + :param not_property: The logical "NOT" expression. + :type not_property: ~azure.mgmt.costmanagement.models.ReportConfigFilter + :param dimension: Has comparison expression for a dimension. + :type dimension: ~azure.mgmt.costmanagement.models.ReportConfigComparisonExpression + :param tag: Has comparison expression for a tag. + :type tag: ~azure.mgmt.costmanagement.models.ReportConfigComparisonExpression + """ + + _validation = { + 'and_property': {'min_items': 2}, + 'or_property': {'min_items': 2}, + } + + _attribute_map = { + 'and_property': {'key': 'and', 'type': '[ReportConfigFilter]'}, + 'or_property': {'key': 'or', 'type': '[ReportConfigFilter]'}, + 'not_property': {'key': 'not', 'type': 'ReportConfigFilter'}, + 'dimension': {'key': 'dimension', 'type': 'ReportConfigComparisonExpression'}, + 'tag': {'key': 'tag', 'type': 'ReportConfigComparisonExpression'}, + } + + def __init__( + self, + **kwargs + ): + super(ReportConfigFilter, self).__init__(**kwargs) + self.and_property = kwargs.get('and_property', None) + self.or_property = kwargs.get('or_property', None) + self.not_property = kwargs.get('not_property', None) + self.dimension = kwargs.get('dimension', None) + self.tag = kwargs.get('tag', None) + + +class ReportConfigGrouping(msrest.serialization.Model): + """The group by expression to be used in the report. + + All required parameters must be populated in order to send to Azure. + + :param type: Required. Has type of the column to group. Possible values include: "Tag", + "Dimension". + :type type: str or ~azure.mgmt.costmanagement.models.ReportConfigColumnType + :param name: Required. The name of the column to group. This version supports subscription + lowest possible grain. + :type name: str + """ + + _validation = { + 'type': {'required': True}, + 'name': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ReportConfigGrouping, self).__init__(**kwargs) + self.type = kwargs['type'] + self.name = kwargs['name'] + + +class ReportConfigSorting(msrest.serialization.Model): + """The order by expression to be used in the report. + + All required parameters must be populated in order to send to Azure. + + :param direction: Direction of sort. Possible values include: "Ascending", "Descending". + :type direction: str or ~azure.mgmt.costmanagement.models.ReportConfigSortingDirection + :param name: Required. The name of the column to sort. + :type name: str + """ + + _validation = { + 'name': {'required': True}, + } + + _attribute_map = { + 'direction': {'key': 'direction', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ReportConfigSorting, self).__init__(**kwargs) + self.direction = kwargs.get('direction', None) + self.name = kwargs['name'] + + +class ReportConfigTimePeriod(msrest.serialization.Model): + """The start and end date for pulling data for the report. + + All required parameters must be populated in order to send to Azure. + + :param from_property: Required. The start date to pull data from. + :type from_property: ~datetime.datetime + :param to: Required. The end date to pull data to. + :type to: ~datetime.datetime + """ + + _validation = { + 'from_property': {'required': True}, + 'to': {'required': True}, + } + + _attribute_map = { + 'from_property': {'key': 'from', 'type': 'iso-8601'}, + 'to': {'key': 'to', 'type': 'iso-8601'}, + } + + def __init__( + self, + **kwargs + ): + super(ReportConfigTimePeriod, self).__init__(**kwargs) + self.from_property = kwargs['from_property'] + self.to = kwargs['to'] + + +class View(ProxyResource): + """States and configurations of Cost Analysis. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Resource Id. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param e_tag: eTag of the resource. To handle concurrent update scenario, this field will be + used to determine whether the user is updating the latest version or not. + :type e_tag: str + :param display_name: User input name of the view. Required. + :type display_name: str + :param scope: Cost Management scope to save the view on. This includes + 'subscriptions/{subscriptionId}' for subscription scope, + 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, + 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope, + 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for + Department scope, + 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' + for EnrollmentAccount scope, + 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' + for BillingProfile scope, + 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/invoiceSections/{invoiceSectionId}' + for InvoiceSection scope, 'providers/Microsoft.Management/managementGroups/{managementGroupId}' + for Management Group scope, + '/providers/Microsoft.CostManagement/externalBillingAccounts/{externalBillingAccountName}' for + ExternalBillingAccount scope, and + '/providers/Microsoft.CostManagement/externalSubscriptions/{externalSubscriptionName}' for + ExternalSubscription scope. + :type scope: str + :ivar created_on: Date the user created this view. + :vartype created_on: ~datetime.datetime + :ivar modified_on: Date when the user last modified this view. + :vartype modified_on: ~datetime.datetime + :param chart: Chart type of the main view in Cost Analysis. Required. Possible values include: + "Area", "Line", "StackedColumn", "GroupedColumn", "Table". + :type chart: str or ~azure.mgmt.costmanagement.models.ChartType + :param accumulated: Show costs accumulated over time. Possible values include: "true", "false". + :type accumulated: str or ~azure.mgmt.costmanagement.models.AccumulatedType + :param metric: Metric to use when displaying costs. Possible values include: "ActualCost", + "AmortizedCost", "AHUB". + :type metric: str or ~azure.mgmt.costmanagement.models.MetricType + :param kpis: List of KPIs to show in Cost Analysis UI. + :type kpis: list[~azure.mgmt.costmanagement.models.KpiProperties] + :param pivots: Configuration of 3 sub-views in the Cost Analysis UI. + :type pivots: list[~azure.mgmt.costmanagement.models.PivotProperties] + :ivar type_properties_query_type: The type of the report. Usage represents actual usage, + forecast represents forecasted data and UsageAndForecast represents both usage and forecasted + data. Actual usage and forecasted data can be differentiated based on dates. Default value: + "Usage". + :vartype type_properties_query_type: str + :param timeframe: The time frame for pulling data for the report. If custom, then a specific + time period must be provided. Possible values include: "WeekToDate", "MonthToDate", + "YearToDate", "Custom". + :type timeframe: str or ~azure.mgmt.costmanagement.models.ReportTimeframeType + :param time_period: Has time period for pulling data for the report. + :type time_period: ~azure.mgmt.costmanagement.models.ReportConfigTimePeriod + :param dataset: Has definition for data in this report config. + :type dataset: ~azure.mgmt.costmanagement.models.ReportConfigDataset + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'created_on': {'readonly': True}, + 'modified_on': {'readonly': True}, + 'type_properties_query_type': {'constant': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'e_tag': {'key': 'eTag', 'type': 'str'}, + 'display_name': {'key': 'properties.displayName', 'type': 'str'}, + 'scope': {'key': 'properties.scope', 'type': 'str'}, + 'created_on': {'key': 'properties.createdOn', 'type': 'iso-8601'}, + 'modified_on': {'key': 'properties.modifiedOn', 'type': 'iso-8601'}, + 'chart': {'key': 'properties.chart', 'type': 'str'}, + 'accumulated': {'key': 'properties.accumulated', 'type': 'str'}, + 'metric': {'key': 'properties.metric', 'type': 'str'}, + 'kpis': {'key': 'properties.kpis', 'type': '[KpiProperties]'}, + 'pivots': {'key': 'properties.pivots', 'type': '[PivotProperties]'}, + 'type_properties_query_type': {'key': 'properties.query.type', 'type': 'str'}, + 'timeframe': {'key': 'properties.query.timeframe', 'type': 'str'}, + 'time_period': {'key': 'properties.query.timePeriod', 'type': 'ReportConfigTimePeriod'}, + 'dataset': {'key': 'properties.query.dataset', 'type': 'ReportConfigDataset'}, + } + + type_properties_query_type = "Usage" + + def __init__( + self, + **kwargs + ): + super(View, self).__init__(**kwargs) + self.display_name = kwargs.get('display_name', None) + self.scope = kwargs.get('scope', None) + self.created_on = None + self.modified_on = None + self.chart = kwargs.get('chart', None) + self.accumulated = kwargs.get('accumulated', None) + self.metric = kwargs.get('metric', None) + self.kpis = kwargs.get('kpis', None) + self.pivots = kwargs.get('pivots', None) + self.timeframe = kwargs.get('timeframe', None) + self.time_period = kwargs.get('time_period', None) + self.dataset = kwargs.get('dataset', None) + + +class ViewListResult(msrest.serialization.Model): + """Result of listing views. It contains a list of available views. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: The list of views. + :vartype value: list[~azure.mgmt.costmanagement.models.View] + :ivar next_link: The link (url) to the next page of results. + :vartype next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[View]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ViewListResult, self).__init__(**kwargs) + self.value = None + self.next_link = None diff --git a/src/costmanagement/azext_costmanagement/vendored_sdks/costmanagement/models/_models_py3.py b/src/costmanagement/azext_costmanagement/vendored_sdks/costmanagement/models/_models_py3.py new file mode 100644 index 00000000000..06fca40ed98 --- /dev/null +++ b/src/costmanagement/azext_costmanagement/vendored_sdks/costmanagement/models/_models_py3.py @@ -0,0 +1,2061 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +import datetime +from typing import Dict, List, Optional, Union + +from azure.core.exceptions import HttpResponseError +import msrest.serialization + + +class Resource(msrest.serialization.Model): + """The Resource model definition. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Resource Id. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :ivar tags: A set of tags. Resource tags. + :vartype tags: dict[str, str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'tags': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__( + self, + **kwargs + ): + super(Resource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.tags = None + + +class Alert(Resource): + """An individual alert. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Resource Id. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :ivar tags: A set of tags. Resource tags. + :vartype tags: dict[str, str] + :param definition: defines the type of alert. + :type definition: ~azure.mgmt.costmanagement.models.AlertPropertiesDefinition + :param description: Alert description. + :type description: str + :param source: Source of alert. + :type source: str + :param details: Alert details. + :type details: ~azure.mgmt.costmanagement.models.AlertPropertiesDetails + :param cost_entity_id: related budget. + :type cost_entity_id: str + :param status: alert status. + :type status: str + :param creation_time: dateTime in which alert was created. + :type creation_time: str + :param close_time: dateTime in which alert was closed. + :type close_time: str + :param modification_time: dateTime in which alert was last modified. + :type modification_time: str + :param status_modification_user_name: + :type status_modification_user_name: str + :param status_modification_time: dateTime in which the alert status was last modified. + :type status_modification_time: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'tags': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'definition': {'key': 'properties.definition', 'type': 'AlertPropertiesDefinition'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'source': {'key': 'properties.source', 'type': 'str'}, + 'details': {'key': 'properties.details', 'type': 'AlertPropertiesDetails'}, + 'cost_entity_id': {'key': 'properties.costEntityId', 'type': 'str'}, + 'status': {'key': 'properties.status', 'type': 'str'}, + 'creation_time': {'key': 'properties.creationTime', 'type': 'str'}, + 'close_time': {'key': 'properties.closeTime', 'type': 'str'}, + 'modification_time': {'key': 'properties.modificationTime', 'type': 'str'}, + 'status_modification_user_name': {'key': 'properties.statusModificationUserName', 'type': 'str'}, + 'status_modification_time': {'key': 'properties.statusModificationTime', 'type': 'str'}, + } + + def __init__( + self, + *, + definition: Optional["AlertPropertiesDefinition"] = None, + description: Optional[str] = None, + source: Optional[str] = None, + details: Optional["AlertPropertiesDetails"] = None, + cost_entity_id: Optional[str] = None, + status: Optional[str] = None, + creation_time: Optional[str] = None, + close_time: Optional[str] = None, + modification_time: Optional[str] = None, + status_modification_user_name: Optional[str] = None, + status_modification_time: Optional[str] = None, + **kwargs + ): + super(Alert, self).__init__(**kwargs) + self.definition = definition + self.description = description + self.source = source + self.details = details + self.cost_entity_id = cost_entity_id + self.status = status + self.creation_time = creation_time + self.close_time = close_time + self.modification_time = modification_time + self.status_modification_user_name = status_modification_user_name + self.status_modification_time = status_modification_time + + +class AlertPropertiesDefinition(msrest.serialization.Model): + """defines the type of alert. + + :param type: type of alert. + :type type: str + :param category: Alert category. + :type category: str + :param criteria: Criteria that triggered alert. + :type criteria: str + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'category': {'key': 'category', 'type': 'str'}, + 'criteria': {'key': 'criteria', 'type': 'str'}, + } + + def __init__( + self, + *, + type: Optional[str] = None, + category: Optional[str] = None, + criteria: Optional[str] = None, + **kwargs + ): + super(AlertPropertiesDefinition, self).__init__(**kwargs) + self.type = type + self.category = category + self.criteria = criteria + + +class AlertPropertiesDetails(msrest.serialization.Model): + """Alert details. + + :param time_grain_type: Type of timegrain cadence. + :type time_grain_type: str + :param period_start_date: datetime of periodStartDate. + :type period_start_date: str + :param triggered_by: notificationId that triggered this alert. + :type triggered_by: str + :param resource_group_filter: array of resourceGroups to filter by. + :type resource_group_filter: list[object] + :param resource_filter: array of resources to filter by. + :type resource_filter: list[object] + :param meter_filter: array of meters to filter by. + :type meter_filter: list[object] + :param tag_filter: tags to filter by. + :type tag_filter: object + :param threshold: notification threshold percentage as a decimal which activated this alert. + :type threshold: float + :param operator: operator used to compare currentSpend with amount. + :type operator: str + :param amount: budget threshold amount. + :type amount: float + :param unit: unit of currency being used. + :type unit: str + :param current_spend: current spend. + :type current_spend: float + :param contact_emails: list of emails to contact. + :type contact_emails: list[str] + :param contact_groups: list of action groups to broadcast to. + :type contact_groups: list[str] + :param contact_roles: list of contact roles. + :type contact_roles: list[str] + :param overriding_alert: overriding alert. + :type overriding_alert: str + """ + + _attribute_map = { + 'time_grain_type': {'key': 'timeGrainType', 'type': 'str'}, + 'period_start_date': {'key': 'periodStartDate', 'type': 'str'}, + 'triggered_by': {'key': 'triggeredBy', 'type': 'str'}, + 'resource_group_filter': {'key': 'resourceGroupFilter', 'type': '[object]'}, + 'resource_filter': {'key': 'resourceFilter', 'type': '[object]'}, + 'meter_filter': {'key': 'meterFilter', 'type': '[object]'}, + 'tag_filter': {'key': 'tagFilter', 'type': 'object'}, + 'threshold': {'key': 'threshold', 'type': 'float'}, + 'operator': {'key': 'operator', 'type': 'str'}, + 'amount': {'key': 'amount', 'type': 'float'}, + 'unit': {'key': 'unit', 'type': 'str'}, + 'current_spend': {'key': 'currentSpend', 'type': 'float'}, + 'contact_emails': {'key': 'contactEmails', 'type': '[str]'}, + 'contact_groups': {'key': 'contactGroups', 'type': '[str]'}, + 'contact_roles': {'key': 'contactRoles', 'type': '[str]'}, + 'overriding_alert': {'key': 'overridingAlert', 'type': 'str'}, + } + + def __init__( + self, + *, + time_grain_type: Optional[str] = None, + period_start_date: Optional[str] = None, + triggered_by: Optional[str] = None, + resource_group_filter: Optional[List[object]] = None, + resource_filter: Optional[List[object]] = None, + meter_filter: Optional[List[object]] = None, + tag_filter: Optional[object] = None, + threshold: Optional[float] = None, + operator: Optional[str] = None, + amount: Optional[float] = None, + unit: Optional[str] = None, + current_spend: Optional[float] = None, + contact_emails: Optional[List[str]] = None, + contact_groups: Optional[List[str]] = None, + contact_roles: Optional[List[str]] = None, + overriding_alert: Optional[str] = None, + **kwargs + ): + super(AlertPropertiesDetails, self).__init__(**kwargs) + self.time_grain_type = time_grain_type + self.period_start_date = period_start_date + self.triggered_by = triggered_by + self.resource_group_filter = resource_group_filter + self.resource_filter = resource_filter + self.meter_filter = meter_filter + self.tag_filter = tag_filter + self.threshold = threshold + self.operator = operator + self.amount = amount + self.unit = unit + self.current_spend = current_spend + self.contact_emails = contact_emails + self.contact_groups = contact_groups + self.contact_roles = contact_roles + self.overriding_alert = overriding_alert + + +class AlertsResult(msrest.serialization.Model): + """Result of alerts. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of alerts. + :vartype value: list[~azure.mgmt.costmanagement.models.Alert] + :ivar next_link: URL to get the next set of alerts results if there are any. + :vartype next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[Alert]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(AlertsResult, self).__init__(**kwargs) + self.value = None + self.next_link = None + + +class CommonExportProperties(msrest.serialization.Model): + """The common properties of the export. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar format: The format of the export being delivered. Default value: "Csv". + :vartype format: str + :param type: Required. The type of the query. Possible values include: "Usage", "ActualCost", + "AmortizedCost". + :type type: str or ~azure.mgmt.costmanagement.models.ExportType + :param timeframe: Required. The time frame for pulling data for the query. If custom, then a + specific time period must be provided. Possible values include: "MonthToDate", + "BillingMonthToDate", "TheLastMonth", "TheLastBillingMonth", "WeekToDate", "Custom". + :type timeframe: str or ~azure.mgmt.costmanagement.models.TimeframeType + :param time_period: Has time period for pulling data for the query. + :type time_period: ~azure.mgmt.costmanagement.models.QueryTimePeriod + :ivar granularity: The granularity of rows in the query. Default value: "Daily". + :vartype granularity: str + :param configuration: Has configuration information for the data in the export. The + configuration will be ignored if aggregation and grouping are provided. + :type configuration: ~azure.mgmt.costmanagement.models.QueryDatasetConfiguration + :param aggregation: Dictionary of aggregation expression to use in the query. The key of each + item in the dictionary is the alias for the aggregated column. Query can have up to 2 + aggregation clauses. + :type aggregation: dict[str, ~azure.mgmt.costmanagement.models.QueryAggregation] + :param grouping: Array of group by expression to use in the query. Query can have up to 2 group + by clauses. + :type grouping: list[~azure.mgmt.costmanagement.models.QueryGrouping] + :param filter: Has filter expression to use in the query. + :type filter: ~azure.mgmt.costmanagement.models.QueryFilter + :param destination: Required. Has destination for the export being delivered. + :type destination: ~azure.mgmt.costmanagement.models.ExportDeliveryDestination + """ + + _validation = { + 'format': {'constant': True}, + 'type': {'required': True}, + 'timeframe': {'required': True}, + 'granularity': {'constant': True}, + 'grouping': {'max_items': 2, 'min_items': 0}, + 'destination': {'required': True}, + } + + _attribute_map = { + 'format': {'key': 'format', 'type': 'str'}, + 'type': {'key': 'definition.type', 'type': 'str'}, + 'timeframe': {'key': 'definition.timeframe', 'type': 'str'}, + 'time_period': {'key': 'definition.timePeriod', 'type': 'QueryTimePeriod'}, + 'granularity': {'key': 'definition.dataSet.granularity', 'type': 'str'}, + 'configuration': {'key': 'definition.dataSet.configuration', 'type': 'QueryDatasetConfiguration'}, + 'aggregation': {'key': 'definition.dataSet.aggregation', 'type': '{QueryAggregation}'}, + 'grouping': {'key': 'definition.dataSet.grouping', 'type': '[QueryGrouping]'}, + 'filter': {'key': 'definition.dataSet.filter', 'type': 'QueryFilter'}, + 'destination': {'key': 'deliveryInfo.destination', 'type': 'ExportDeliveryDestination'}, + } + + format = "Csv" + granularity = "Daily" + + def __init__( + self, + *, + type: Union[str, "ExportType"], + timeframe: Union[str, "TimeframeType"], + destination: "ExportDeliveryDestination", + time_period: Optional["QueryTimePeriod"] = None, + configuration: Optional["QueryDatasetConfiguration"] = None, + aggregation: Optional[Dict[str, "QueryAggregation"]] = None, + grouping: Optional[List["QueryGrouping"]] = None, + filter: Optional["QueryFilter"] = None, + **kwargs + ): + super(CommonExportProperties, self).__init__(**kwargs) + self.type = type + self.timeframe = timeframe + self.time_period = time_period + self.configuration = configuration + self.aggregation = aggregation + self.grouping = grouping + self.filter = filter + self.destination = destination + + +class Dimension(Resource): + """Dimension. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Resource Id. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :ivar tags: A set of tags. Resource tags. + :vartype tags: dict[str, str] + :ivar description: Dimension description. + :vartype description: str + :ivar filter_enabled: Filter enabled. + :vartype filter_enabled: bool + :ivar grouping_enabled: Grouping enabled. + :vartype grouping_enabled: bool + :param data: + :type data: list[str] + :ivar total: Total number of data for the dimension. + :vartype total: int + :ivar category: Dimension category. + :vartype category: str + :ivar usage_start: Usage start. + :vartype usage_start: ~datetime.datetime + :ivar usage_end: Usage end. + :vartype usage_end: ~datetime.datetime + :ivar next_link: The link (url) to the next page of results. + :vartype next_link: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'tags': {'readonly': True}, + 'description': {'readonly': True}, + 'filter_enabled': {'readonly': True}, + 'grouping_enabled': {'readonly': True}, + 'total': {'readonly': True}, + 'category': {'readonly': True}, + 'usage_start': {'readonly': True}, + 'usage_end': {'readonly': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'filter_enabled': {'key': 'properties.filterEnabled', 'type': 'bool'}, + 'grouping_enabled': {'key': 'properties.groupingEnabled', 'type': 'bool'}, + 'data': {'key': 'properties.data', 'type': '[str]'}, + 'total': {'key': 'properties.total', 'type': 'int'}, + 'category': {'key': 'properties.category', 'type': 'str'}, + 'usage_start': {'key': 'properties.usageStart', 'type': 'iso-8601'}, + 'usage_end': {'key': 'properties.usageEnd', 'type': 'iso-8601'}, + 'next_link': {'key': 'properties.nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + data: Optional[List[str]] = None, + **kwargs + ): + super(Dimension, self).__init__(**kwargs) + self.description = None + self.filter_enabled = None + self.grouping_enabled = None + self.data = data + self.total = None + self.category = None + self.usage_start = None + self.usage_end = None + self.next_link = None + + +class DimensionsListResult(msrest.serialization.Model): + """Result of listing dimensions. It contains a list of available dimensions. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: The list of dimensions. + :vartype value: list[~azure.mgmt.costmanagement.models.Dimension] + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[Dimension]'}, + } + + def __init__( + self, + **kwargs + ): + super(DimensionsListResult, self).__init__(**kwargs) + self.value = None + + +class ErrorDetails(msrest.serialization.Model): + """The details of the error. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar code: Error code. + :vartype code: str + :ivar message: Error message indicating why the operation failed. + :vartype message: str + """ + + _validation = { + 'code': {'readonly': True}, + 'message': {'readonly': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ErrorDetails, self).__init__(**kwargs) + self.code = None + self.message = None + + +class ErrorResponse(msrest.serialization.Model): + """Error response indicates that the service is not able to process the incoming request. The reason is provided in the error message. + +Some Error responses: + +* + 429 TooManyRequests - Request is throttled. Retry after waiting for the time specified in the "x-ms-ratelimit-microsoft.consumption-retry-after" header. + +* + 503 ServiceUnavailable - Service is temporarily unavailable. Retry after waiting for the time specified in the "Retry-After" header. + + :param error: The details of the error. + :type error: ~azure.mgmt.costmanagement.models.ErrorDetails + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'ErrorDetails'}, + } + + def __init__( + self, + *, + error: Optional["ErrorDetails"] = None, + **kwargs + ): + super(ErrorResponse, self).__init__(**kwargs) + self.error = error + + +class ProxyResource(msrest.serialization.Model): + """The Resource model definition. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Resource Id. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param e_tag: eTag of the resource. To handle concurrent update scenario, this field will be + used to determine whether the user is updating the latest version or not. + :type e_tag: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'e_tag': {'key': 'eTag', 'type': 'str'}, + } + + def __init__( + self, + *, + e_tag: Optional[str] = None, + **kwargs + ): + super(ProxyResource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.e_tag = e_tag + + +class Export(ProxyResource): + """A export resource. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Resource Id. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param e_tag: eTag of the resource. To handle concurrent update scenario, this field will be + used to determine whether the user is updating the latest version or not. + :type e_tag: str + :ivar format: The format of the export being delivered. Default value: "Csv". + :vartype format: str + :param type_properties_definition_type: The type of the query. Possible values include: + "Usage", "ActualCost", "AmortizedCost". + :type type_properties_definition_type: str or ~azure.mgmt.costmanagement.models.ExportType + :param timeframe: The time frame for pulling data for the query. If custom, then a specific + time period must be provided. Possible values include: "MonthToDate", "BillingMonthToDate", + "TheLastMonth", "TheLastBillingMonth", "WeekToDate", "Custom". + :type timeframe: str or ~azure.mgmt.costmanagement.models.TimeframeType + :param time_period: Has time period for pulling data for the query. + :type time_period: ~azure.mgmt.costmanagement.models.QueryTimePeriod + :ivar granularity: The granularity of rows in the query. Default value: "Daily". + :vartype granularity: str + :param configuration: Has configuration information for the data in the export. The + configuration will be ignored if aggregation and grouping are provided. + :type configuration: ~azure.mgmt.costmanagement.models.QueryDatasetConfiguration + :param aggregation: Dictionary of aggregation expression to use in the query. The key of each + item in the dictionary is the alias for the aggregated column. Query can have up to 2 + aggregation clauses. + :type aggregation: dict[str, ~azure.mgmt.costmanagement.models.QueryAggregation] + :param grouping: Array of group by expression to use in the query. Query can have up to 2 group + by clauses. + :type grouping: list[~azure.mgmt.costmanagement.models.QueryGrouping] + :param filter: Has filter expression to use in the query. + :type filter: ~azure.mgmt.costmanagement.models.QueryFilter + :param destination: Has destination for the export being delivered. + :type destination: ~azure.mgmt.costmanagement.models.ExportDeliveryDestination + :param status: The status of the schedule. Whether active or not. If inactive, the export's + scheduled execution is paused. Possible values include: "Active", "Inactive". + :type status: str or ~azure.mgmt.costmanagement.models.StatusType + :param recurrence: The schedule recurrence. Possible values include: "Daily", "Weekly", + "Monthly", "Annually". + :type recurrence: str or ~azure.mgmt.costmanagement.models.RecurrenceType + :param recurrence_period: Has start and end date of the recurrence. The start date must be in + future. If present, the end date must be greater than start date. + :type recurrence_period: ~azure.mgmt.costmanagement.models.ExportRecurrencePeriod + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'format': {'constant': True}, + 'granularity': {'constant': True}, + 'grouping': {'max_items': 2, 'min_items': 0}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'e_tag': {'key': 'eTag', 'type': 'str'}, + 'format': {'key': 'properties.format', 'type': 'str'}, + 'type_properties_definition_type': {'key': 'properties.definition.type', 'type': 'str'}, + 'timeframe': {'key': 'properties.definition.timeframe', 'type': 'str'}, + 'time_period': {'key': 'properties.definition.timePeriod', 'type': 'QueryTimePeriod'}, + 'granularity': {'key': 'properties.definition.dataSet.granularity', 'type': 'str'}, + 'configuration': {'key': 'properties.definition.dataSet.configuration', 'type': 'QueryDatasetConfiguration'}, + 'aggregation': {'key': 'properties.definition.dataSet.aggregation', 'type': '{QueryAggregation}'}, + 'grouping': {'key': 'properties.definition.dataSet.grouping', 'type': '[QueryGrouping]'}, + 'filter': {'key': 'properties.definition.dataSet.filter', 'type': 'QueryFilter'}, + 'destination': {'key': 'properties.deliveryInfo.destination', 'type': 'ExportDeliveryDestination'}, + 'status': {'key': 'properties.schedule.status', 'type': 'str'}, + 'recurrence': {'key': 'properties.schedule.recurrence', 'type': 'str'}, + 'recurrence_period': {'key': 'properties.schedule.recurrencePeriod', 'type': 'ExportRecurrencePeriod'}, + } + + format = "Csv" + granularity = "Daily" + + def __init__( + self, + *, + e_tag: Optional[str] = None, + type_properties_definition_type: Optional[Union[str, "ExportType"]] = None, + timeframe: Optional[Union[str, "TimeframeType"]] = None, + time_period: Optional["QueryTimePeriod"] = None, + configuration: Optional["QueryDatasetConfiguration"] = None, + aggregation: Optional[Dict[str, "QueryAggregation"]] = None, + grouping: Optional[List["QueryGrouping"]] = None, + filter: Optional["QueryFilter"] = None, + destination: Optional["ExportDeliveryDestination"] = None, + status: Optional[Union[str, "StatusType"]] = None, + recurrence: Optional[Union[str, "RecurrenceType"]] = None, + recurrence_period: Optional["ExportRecurrencePeriod"] = None, + **kwargs + ): + super(Export, self).__init__(e_tag=e_tag, **kwargs) + self.type_properties_definition_type = type_properties_definition_type + self.timeframe = timeframe + self.time_period = time_period + self.configuration = configuration + self.aggregation = aggregation + self.grouping = grouping + self.filter = filter + self.destination = destination + self.status = status + self.recurrence = recurrence + self.recurrence_period = recurrence_period + + +class ExportDeliveryDestination(msrest.serialization.Model): + """The destination information for the delivery of the export. To allow access to a storage account, you must register the account's subscription with the Microsoft.CostManagementExports resource provider. This is required once per subscription. When creating an export in the Azure portal, it is done automatically, however API users need to register the subscription. For more information see https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-manager-supported-services . + + All required parameters must be populated in order to send to Azure. + + :param resource_id: Required. The resource id of the storage account where exports will be + delivered. + :type resource_id: str + :param container: Required. The name of the container where exports will be uploaded. + :type container: str + :param root_folder_path: The name of the directory where exports will be uploaded. + :type root_folder_path: str + """ + + _validation = { + 'resource_id': {'required': True}, + 'container': {'required': True}, + } + + _attribute_map = { + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + 'container': {'key': 'container', 'type': 'str'}, + 'root_folder_path': {'key': 'rootFolderPath', 'type': 'str'}, + } + + def __init__( + self, + *, + resource_id: str, + container: str, + root_folder_path: Optional[str] = None, + **kwargs + ): + super(ExportDeliveryDestination, self).__init__(**kwargs) + self.resource_id = resource_id + self.container = container + self.root_folder_path = root_folder_path + + +class ExportExecution(Resource): + """A export execution. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Resource Id. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :ivar tags: A set of tags. Resource tags. + :vartype tags: dict[str, str] + :param execution_type: The type of the export execution. Possible values include: "OnDemand", + "Scheduled". + :type execution_type: str or ~azure.mgmt.costmanagement.models.ExecutionType + :param status: The status of the export execution. Possible values include: "Queued", + "InProgress", "Completed", "Failed", "Timeout", "NewDataNotAvailable", "DataNotAvailable". + :type status: str or ~azure.mgmt.costmanagement.models.ExecutionStatus + :param submitted_by: The identifier for the entity that executed the export. For OnDemand + executions, it is the email id. For Scheduled executions, it is the constant value - System. + :type submitted_by: str + :param submitted_time: The time when export was queued to be executed. + :type submitted_time: ~datetime.datetime + :param processing_start_time: The time when export was picked up to be executed. + :type processing_start_time: ~datetime.datetime + :param processing_end_time: The time when export execution finished. + :type processing_end_time: ~datetime.datetime + :param file_name: The name of the file export got written to. + :type file_name: str + :param run_settings: The common properties of the export. + :type run_settings: ~azure.mgmt.costmanagement.models.CommonExportProperties + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'tags': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'execution_type': {'key': 'properties.executionType', 'type': 'str'}, + 'status': {'key': 'properties.status', 'type': 'str'}, + 'submitted_by': {'key': 'properties.submittedBy', 'type': 'str'}, + 'submitted_time': {'key': 'properties.submittedTime', 'type': 'iso-8601'}, + 'processing_start_time': {'key': 'properties.processingStartTime', 'type': 'iso-8601'}, + 'processing_end_time': {'key': 'properties.processingEndTime', 'type': 'iso-8601'}, + 'file_name': {'key': 'properties.fileName', 'type': 'str'}, + 'run_settings': {'key': 'properties.runSettings', 'type': 'CommonExportProperties'}, + } + + def __init__( + self, + *, + execution_type: Optional[Union[str, "ExecutionType"]] = None, + status: Optional[Union[str, "ExecutionStatus"]] = None, + submitted_by: Optional[str] = None, + submitted_time: Optional[datetime.datetime] = None, + processing_start_time: Optional[datetime.datetime] = None, + processing_end_time: Optional[datetime.datetime] = None, + file_name: Optional[str] = None, + run_settings: Optional["CommonExportProperties"] = None, + **kwargs + ): + super(ExportExecution, self).__init__(**kwargs) + self.execution_type = execution_type + self.status = status + self.submitted_by = submitted_by + self.submitted_time = submitted_time + self.processing_start_time = processing_start_time + self.processing_end_time = processing_end_time + self.file_name = file_name + self.run_settings = run_settings + + +class ExportExecutionListResult(msrest.serialization.Model): + """Result of listing exports execution history of a export by name. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: The list of export executions. + :vartype value: list[~azure.mgmt.costmanagement.models.ExportExecution] + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ExportExecution]'}, + } + + def __init__( + self, + **kwargs + ): + super(ExportExecutionListResult, self).__init__(**kwargs) + self.value = None + + +class ExportListResult(msrest.serialization.Model): + """Result of listing exports. It contains a list of available exports in the scope provided. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: The list of exports. + :vartype value: list[~azure.mgmt.costmanagement.models.Export] + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[Export]'}, + } + + def __init__( + self, + **kwargs + ): + super(ExportListResult, self).__init__(**kwargs) + self.value = None + + +class ExportProperties(CommonExportProperties): + """The properties of the export. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar format: The format of the export being delivered. Default value: "Csv". + :vartype format: str + :param type: Required. The type of the query. Possible values include: "Usage", "ActualCost", + "AmortizedCost". + :type type: str or ~azure.mgmt.costmanagement.models.ExportType + :param timeframe: Required. The time frame for pulling data for the query. If custom, then a + specific time period must be provided. Possible values include: "MonthToDate", + "BillingMonthToDate", "TheLastMonth", "TheLastBillingMonth", "WeekToDate", "Custom". + :type timeframe: str or ~azure.mgmt.costmanagement.models.TimeframeType + :param time_period: Has time period for pulling data for the query. + :type time_period: ~azure.mgmt.costmanagement.models.QueryTimePeriod + :ivar granularity: The granularity of rows in the query. Default value: "Daily". + :vartype granularity: str + :param configuration: Has configuration information for the data in the export. The + configuration will be ignored if aggregation and grouping are provided. + :type configuration: ~azure.mgmt.costmanagement.models.QueryDatasetConfiguration + :param aggregation: Dictionary of aggregation expression to use in the query. The key of each + item in the dictionary is the alias for the aggregated column. Query can have up to 2 + aggregation clauses. + :type aggregation: dict[str, ~azure.mgmt.costmanagement.models.QueryAggregation] + :param grouping: Array of group by expression to use in the query. Query can have up to 2 group + by clauses. + :type grouping: list[~azure.mgmt.costmanagement.models.QueryGrouping] + :param filter: Has filter expression to use in the query. + :type filter: ~azure.mgmt.costmanagement.models.QueryFilter + :param destination: Required. Has destination for the export being delivered. + :type destination: ~azure.mgmt.costmanagement.models.ExportDeliveryDestination + :param status: The status of the schedule. Whether active or not. If inactive, the export's + scheduled execution is paused. Possible values include: "Active", "Inactive". + :type status: str or ~azure.mgmt.costmanagement.models.StatusType + :param recurrence: The schedule recurrence. Possible values include: "Daily", "Weekly", + "Monthly", "Annually". + :type recurrence: str or ~azure.mgmt.costmanagement.models.RecurrenceType + :param recurrence_period: Has start and end date of the recurrence. The start date must be in + future. If present, the end date must be greater than start date. + :type recurrence_period: ~azure.mgmt.costmanagement.models.ExportRecurrencePeriod + """ + + _validation = { + 'format': {'constant': True}, + 'type': {'required': True}, + 'timeframe': {'required': True}, + 'granularity': {'constant': True}, + 'grouping': {'max_items': 2, 'min_items': 0}, + 'destination': {'required': True}, + } + + _attribute_map = { + 'format': {'key': 'format', 'type': 'str'}, + 'type': {'key': 'definition.type', 'type': 'str'}, + 'timeframe': {'key': 'definition.timeframe', 'type': 'str'}, + 'time_period': {'key': 'definition.timePeriod', 'type': 'QueryTimePeriod'}, + 'granularity': {'key': 'definition.dataSet.granularity', 'type': 'str'}, + 'configuration': {'key': 'definition.dataSet.configuration', 'type': 'QueryDatasetConfiguration'}, + 'aggregation': {'key': 'definition.dataSet.aggregation', 'type': '{QueryAggregation}'}, + 'grouping': {'key': 'definition.dataSet.grouping', 'type': '[QueryGrouping]'}, + 'filter': {'key': 'definition.dataSet.filter', 'type': 'QueryFilter'}, + 'destination': {'key': 'deliveryInfo.destination', 'type': 'ExportDeliveryDestination'}, + 'status': {'key': 'schedule.status', 'type': 'str'}, + 'recurrence': {'key': 'schedule.recurrence', 'type': 'str'}, + 'recurrence_period': {'key': 'schedule.recurrencePeriod', 'type': 'ExportRecurrencePeriod'}, + } + + format = "Csv" + granularity = "Daily" + + def __init__( + self, + *, + type: Union[str, "ExportType"], + timeframe: Union[str, "TimeframeType"], + destination: "ExportDeliveryDestination", + time_period: Optional["QueryTimePeriod"] = None, + configuration: Optional["QueryDatasetConfiguration"] = None, + aggregation: Optional[Dict[str, "QueryAggregation"]] = None, + grouping: Optional[List["QueryGrouping"]] = None, + filter: Optional["QueryFilter"] = None, + status: Optional[Union[str, "StatusType"]] = None, + recurrence: Optional[Union[str, "RecurrenceType"]] = None, + recurrence_period: Optional["ExportRecurrencePeriod"] = None, + **kwargs + ): + super(ExportProperties, self).__init__(type=type, timeframe=timeframe, time_period=time_period, configuration=configuration, aggregation=aggregation, grouping=grouping, filter=filter, destination=destination, **kwargs) + self.status = status + self.recurrence = recurrence + self.recurrence_period = recurrence_period + + +class ExportRecurrencePeriod(msrest.serialization.Model): + """The start and end date for recurrence schedule. + + All required parameters must be populated in order to send to Azure. + + :param from_property: Required. The start date of recurrence. + :type from_property: ~datetime.datetime + :param to: The end date of recurrence. + :type to: ~datetime.datetime + """ + + _validation = { + 'from_property': {'required': True}, + } + + _attribute_map = { + 'from_property': {'key': 'from', 'type': 'iso-8601'}, + 'to': {'key': 'to', 'type': 'iso-8601'}, + } + + def __init__( + self, + *, + from_property: datetime.datetime, + to: Optional[datetime.datetime] = None, + **kwargs + ): + super(ExportRecurrencePeriod, self).__init__(**kwargs) + self.from_property = from_property + self.to = to + + +class ForecastDefinition(msrest.serialization.Model): + """The definition of a forecast. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :param type: Required. The type of the forecast. Possible values include: "Usage", + "ActualCost", "AmortizedCost". + :type type: str or ~azure.mgmt.costmanagement.models.ForecastType + :param timeframe: Required. The time frame for pulling data for the forecast. If custom, then a + specific time period must be provided. Possible values include: "MonthToDate", + "BillingMonthToDate", "TheLastMonth", "TheLastBillingMonth", "WeekToDate", "Custom". + :type timeframe: str or ~azure.mgmt.costmanagement.models.ForecastTimeframeType + :param time_period: Has time period for pulling data for the forecast. + :type time_period: ~azure.mgmt.costmanagement.models.QueryTimePeriod + :param include_actual_cost: a boolean determining if actualCost will be included. + :type include_actual_cost: bool + :param include_fresh_partial_cost: a boolean determining if FreshPartialCost will be included. + :type include_fresh_partial_cost: bool + :ivar granularity: The granularity of rows in the query. Default value: "Daily". + :vartype granularity: str + :param configuration: Has configuration information for the data in the export. The + configuration will be ignored if aggregation and grouping are provided. + :type configuration: ~azure.mgmt.costmanagement.models.QueryDatasetConfiguration + :param aggregation: Dictionary of aggregation expression to use in the query. The key of each + item in the dictionary is the alias for the aggregated column. Query can have up to 2 + aggregation clauses. + :type aggregation: dict[str, ~azure.mgmt.costmanagement.models.QueryAggregation] + :param grouping: Array of group by expression to use in the query. Query can have up to 2 group + by clauses. + :type grouping: list[~azure.mgmt.costmanagement.models.QueryGrouping] + :param filter: Has filter expression to use in the query. + :type filter: ~azure.mgmt.costmanagement.models.QueryFilter + """ + + _validation = { + 'type': {'required': True}, + 'timeframe': {'required': True}, + 'granularity': {'constant': True}, + 'grouping': {'max_items': 2, 'min_items': 0}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'timeframe': {'key': 'timeframe', 'type': 'str'}, + 'time_period': {'key': 'timePeriod', 'type': 'QueryTimePeriod'}, + 'include_actual_cost': {'key': 'includeActualCost', 'type': 'bool'}, + 'include_fresh_partial_cost': {'key': 'includeFreshPartialCost', 'type': 'bool'}, + 'granularity': {'key': 'dataset.granularity', 'type': 'str'}, + 'configuration': {'key': 'dataset.configuration', 'type': 'QueryDatasetConfiguration'}, + 'aggregation': {'key': 'dataset.aggregation', 'type': '{QueryAggregation}'}, + 'grouping': {'key': 'dataset.grouping', 'type': '[QueryGrouping]'}, + 'filter': {'key': 'dataset.filter', 'type': 'QueryFilter'}, + } + + granularity = "Daily" + + def __init__( + self, + *, + type: Union[str, "ForecastType"], + timeframe: Union[str, "ForecastTimeframeType"], + time_period: Optional["QueryTimePeriod"] = None, + include_actual_cost: Optional[bool] = None, + include_fresh_partial_cost: Optional[bool] = None, + configuration: Optional["QueryDatasetConfiguration"] = None, + aggregation: Optional[Dict[str, "QueryAggregation"]] = None, + grouping: Optional[List["QueryGrouping"]] = None, + filter: Optional["QueryFilter"] = None, + **kwargs + ): + super(ForecastDefinition, self).__init__(**kwargs) + self.type = type + self.timeframe = timeframe + self.time_period = time_period + self.include_actual_cost = include_actual_cost + self.include_fresh_partial_cost = include_fresh_partial_cost + self.configuration = configuration + self.aggregation = aggregation + self.grouping = grouping + self.filter = filter + + +class KpiProperties(msrest.serialization.Model): + """Each KPI must contain a 'type' and 'enabled' key. + + :param type: KPI type (Forecast, Budget). Possible values include: "Forecast", "Budget". + :type type: str or ~azure.mgmt.costmanagement.models.KpiType + :param id: ID of resource related to metric (budget). + :type id: str + :param enabled: show the KPI in the UI?. + :type enabled: bool + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'enabled': {'key': 'enabled', 'type': 'bool'}, + } + + def __init__( + self, + *, + type: Optional[Union[str, "KpiType"]] = None, + id: Optional[str] = None, + enabled: Optional[bool] = None, + **kwargs + ): + super(KpiProperties, self).__init__(**kwargs) + self.type = type + self.id = id + self.enabled = enabled + + +class Operation(msrest.serialization.Model): + """A Cost management REST API operation. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar name: Operation name: {provider}/{resource}/{operation}. + :vartype name: str + :param display: The object that represents the operation. + :type display: ~azure.mgmt.costmanagement.models.OperationDisplay + """ + + _validation = { + 'name': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'OperationDisplay'}, + } + + def __init__( + self, + *, + display: Optional["OperationDisplay"] = None, + **kwargs + ): + super(Operation, self).__init__(**kwargs) + self.name = None + self.display = display + + +class OperationDisplay(msrest.serialization.Model): + """The object that represents the operation. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar provider: Service provider: Microsoft.CostManagement. + :vartype provider: str + :ivar resource: Resource on which the operation is performed: Dimensions, Query. + :vartype resource: str + :ivar operation: Operation type: Read, write, delete, etc. + :vartype operation: str + """ + + _validation = { + 'provider': {'readonly': True}, + 'resource': {'readonly': True}, + 'operation': {'readonly': True}, + } + + _attribute_map = { + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(OperationDisplay, self).__init__(**kwargs) + self.provider = None + self.resource = None + self.operation = None + + +class OperationListResult(msrest.serialization.Model): + """Result of listing cost management operations. It contains a list of operations and a URL link to get the next set of results. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of cost management operations supported by the Microsoft.CostManagement + resource provider. + :vartype value: list[~azure.mgmt.costmanagement.models.Operation] + :ivar next_link: URL to get the next set of operation list results if there are any. + :vartype next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[Operation]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(OperationListResult, self).__init__(**kwargs) + self.value = None + self.next_link = None + + +class PivotProperties(msrest.serialization.Model): + """Each pivot must contain a 'type' and 'name'. + + :param type: Data type to show in view. Possible values include: "Dimension", "TagKey". + :type type: str or ~azure.mgmt.costmanagement.models.PivotType + :param name: Data field to show in view. + :type name: str + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__( + self, + *, + type: Optional[Union[str, "PivotType"]] = None, + name: Optional[str] = None, + **kwargs + ): + super(PivotProperties, self).__init__(**kwargs) + self.type = type + self.name = name + + +class QueryAggregation(msrest.serialization.Model): + """The aggregation expression to be used in the query. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. The name of the column to aggregate. + :type name: str + :ivar function: Required. The name of the aggregation function to use. Default value: "Sum". + :vartype function: str + """ + + _validation = { + 'name': {'required': True}, + 'function': {'required': True, 'constant': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'function': {'key': 'function', 'type': 'str'}, + } + + function = "Sum" + + def __init__( + self, + *, + name: str, + **kwargs + ): + super(QueryAggregation, self).__init__(**kwargs) + self.name = name + + +class QueryColumn(msrest.serialization.Model): + """QueryColumn. + + :param name: The name of column. + :type name: str + :param type: The type of column. + :type type: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + type: Optional[str] = None, + **kwargs + ): + super(QueryColumn, self).__init__(**kwargs) + self.name = name + self.type = type + + +class QueryComparisonExpression(msrest.serialization.Model): + """The comparison expression to be used in the query. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. The name of the column to use in comparison. + :type name: str + :param operator: Required. The operator to use for comparison. Possible values include: "In", + "Contains". + :type operator: str or ~azure.mgmt.costmanagement.models.OperatorType + :param values: Required. Array of values to use for comparison. + :type values: list[str] + """ + + _validation = { + 'name': {'required': True}, + 'operator': {'required': True}, + 'values': {'required': True, 'min_items': 1}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'operator': {'key': 'operator', 'type': 'str'}, + 'values': {'key': 'values', 'type': '[str]'}, + } + + def __init__( + self, + *, + name: str, + operator: Union[str, "OperatorType"], + values: List[str], + **kwargs + ): + super(QueryComparisonExpression, self).__init__(**kwargs) + self.name = name + self.operator = operator + self.values = values + + +class QueryDatasetConfiguration(msrest.serialization.Model): + """The configuration of dataset in the query. + + :param columns: Array of column names to be included in the query. Any valid query column name + is allowed. If not provided, then query includes all columns. + :type columns: list[str] + """ + + _attribute_map = { + 'columns': {'key': 'columns', 'type': '[str]'}, + } + + def __init__( + self, + *, + columns: Optional[List[str]] = None, + **kwargs + ): + super(QueryDatasetConfiguration, self).__init__(**kwargs) + self.columns = columns + + +class QueryDefinition(msrest.serialization.Model): + """The definition of a query. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :param type: Required. The type of the query. Possible values include: "Usage", "ActualCost", + "AmortizedCost". + :type type: str or ~azure.mgmt.costmanagement.models.ExportType + :param timeframe: Required. The time frame for pulling data for the query. If custom, then a + specific time period must be provided. Possible values include: "MonthToDate", + "BillingMonthToDate", "TheLastMonth", "TheLastBillingMonth", "WeekToDate", "Custom". + :type timeframe: str or ~azure.mgmt.costmanagement.models.TimeframeType + :param time_period: Has time period for pulling data for the query. + :type time_period: ~azure.mgmt.costmanagement.models.QueryTimePeriod + :ivar granularity: The granularity of rows in the query. Default value: "Daily". + :vartype granularity: str + :param configuration: Has configuration information for the data in the export. The + configuration will be ignored if aggregation and grouping are provided. + :type configuration: ~azure.mgmt.costmanagement.models.QueryDatasetConfiguration + :param aggregation: Dictionary of aggregation expression to use in the query. The key of each + item in the dictionary is the alias for the aggregated column. Query can have up to 2 + aggregation clauses. + :type aggregation: dict[str, ~azure.mgmt.costmanagement.models.QueryAggregation] + :param grouping: Array of group by expression to use in the query. Query can have up to 2 group + by clauses. + :type grouping: list[~azure.mgmt.costmanagement.models.QueryGrouping] + :param filter: Has filter expression to use in the query. + :type filter: ~azure.mgmt.costmanagement.models.QueryFilter + """ + + _validation = { + 'type': {'required': True}, + 'timeframe': {'required': True}, + 'granularity': {'constant': True}, + 'grouping': {'max_items': 2, 'min_items': 0}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'timeframe': {'key': 'timeframe', 'type': 'str'}, + 'time_period': {'key': 'timePeriod', 'type': 'QueryTimePeriod'}, + 'granularity': {'key': 'dataSet.granularity', 'type': 'str'}, + 'configuration': {'key': 'dataSet.configuration', 'type': 'QueryDatasetConfiguration'}, + 'aggregation': {'key': 'dataSet.aggregation', 'type': '{QueryAggregation}'}, + 'grouping': {'key': 'dataSet.grouping', 'type': '[QueryGrouping]'}, + 'filter': {'key': 'dataSet.filter', 'type': 'QueryFilter'}, + } + + granularity = "Daily" + + def __init__( + self, + *, + type: Union[str, "ExportType"], + timeframe: Union[str, "TimeframeType"], + time_period: Optional["QueryTimePeriod"] = None, + configuration: Optional["QueryDatasetConfiguration"] = None, + aggregation: Optional[Dict[str, "QueryAggregation"]] = None, + grouping: Optional[List["QueryGrouping"]] = None, + filter: Optional["QueryFilter"] = None, + **kwargs + ): + super(QueryDefinition, self).__init__(**kwargs) + self.type = type + self.timeframe = timeframe + self.time_period = time_period + self.configuration = configuration + self.aggregation = aggregation + self.grouping = grouping + self.filter = filter + + +class QueryFilter(msrest.serialization.Model): + """The filter expression to be used in the export. + + :param and_property: The logical "AND" expression. Must have at least 2 items. + :type and_property: list[~azure.mgmt.costmanagement.models.QueryFilter] + :param or_property: The logical "OR" expression. Must have at least 2 items. + :type or_property: list[~azure.mgmt.costmanagement.models.QueryFilter] + :param not_property: The logical "NOT" expression. + :type not_property: ~azure.mgmt.costmanagement.models.QueryFilter + :param dimension: Has comparison expression for a dimension. + :type dimension: ~azure.mgmt.costmanagement.models.QueryComparisonExpression + :param tag: Has comparison expression for a tag. + :type tag: ~azure.mgmt.costmanagement.models.QueryComparisonExpression + """ + + _validation = { + 'and_property': {'min_items': 2}, + 'or_property': {'min_items': 2}, + } + + _attribute_map = { + 'and_property': {'key': 'and', 'type': '[QueryFilter]'}, + 'or_property': {'key': 'or', 'type': '[QueryFilter]'}, + 'not_property': {'key': 'not', 'type': 'QueryFilter'}, + 'dimension': {'key': 'dimension', 'type': 'QueryComparisonExpression'}, + 'tag': {'key': 'tag', 'type': 'QueryComparisonExpression'}, + } + + def __init__( + self, + *, + and_property: Optional[List["QueryFilter"]] = None, + or_property: Optional[List["QueryFilter"]] = None, + not_property: Optional["QueryFilter"] = None, + dimension: Optional["QueryComparisonExpression"] = None, + tag: Optional["QueryComparisonExpression"] = None, + **kwargs + ): + super(QueryFilter, self).__init__(**kwargs) + self.and_property = and_property + self.or_property = or_property + self.not_property = not_property + self.dimension = dimension + self.tag = tag + + +class QueryGrouping(msrest.serialization.Model): + """The group by expression to be used in the query. + + All required parameters must be populated in order to send to Azure. + + :param type: Required. Has type of the column to group. Possible values include: "Tag", + "Dimension". + :type type: str or ~azure.mgmt.costmanagement.models.QueryColumnType + :param name: Required. The name of the column to group. + :type name: str + """ + + _validation = { + 'type': {'required': True}, + 'name': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__( + self, + *, + type: Union[str, "QueryColumnType"], + name: str, + **kwargs + ): + super(QueryGrouping, self).__init__(**kwargs) + self.type = type + self.name = name + + +class QueryResult(Resource): + """Result of query. It contains all columns listed under groupings and aggregation. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Resource Id. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :ivar tags: A set of tags. Resource tags. + :vartype tags: dict[str, str] + :param next_link: The link (url) to the next page of results. + :type next_link: str + :param columns: Array of columns. + :type columns: list[~azure.mgmt.costmanagement.models.QueryColumn] + :param rows: Array of rows. + :type rows: list[list[object]] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'tags': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'next_link': {'key': 'properties.nextLink', 'type': 'str'}, + 'columns': {'key': 'properties.columns', 'type': '[QueryColumn]'}, + 'rows': {'key': 'properties.rows', 'type': '[[object]]'}, + } + + def __init__( + self, + *, + next_link: Optional[str] = None, + columns: Optional[List["QueryColumn"]] = None, + rows: Optional[List[List[object]]] = None, + **kwargs + ): + super(QueryResult, self).__init__(**kwargs) + self.next_link = next_link + self.columns = columns + self.rows = rows + + +class QueryTimePeriod(msrest.serialization.Model): + """The start and end date for pulling data for the query. + + All required parameters must be populated in order to send to Azure. + + :param from_property: Required. The start date to pull data from. + :type from_property: ~datetime.datetime + :param to: Required. The end date to pull data to. + :type to: ~datetime.datetime + """ + + _validation = { + 'from_property': {'required': True}, + 'to': {'required': True}, + } + + _attribute_map = { + 'from_property': {'key': 'from', 'type': 'iso-8601'}, + 'to': {'key': 'to', 'type': 'iso-8601'}, + } + + def __init__( + self, + *, + from_property: datetime.datetime, + to: datetime.datetime, + **kwargs + ): + super(QueryTimePeriod, self).__init__(**kwargs) + self.from_property = from_property + self.to = to + + +class ReportConfigAggregation(msrest.serialization.Model): + """The aggregation expression to be used in the report. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. The name of the column to aggregate. + :type name: str + :ivar function: Required. The name of the aggregation function to use. Default value: "Sum". + :vartype function: str + """ + + _validation = { + 'name': {'required': True}, + 'function': {'required': True, 'constant': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'function': {'key': 'function', 'type': 'str'}, + } + + function = "Sum" + + def __init__( + self, + *, + name: str, + **kwargs + ): + super(ReportConfigAggregation, self).__init__(**kwargs) + self.name = name + + +class ReportConfigComparisonExpression(msrest.serialization.Model): + """The comparison expression to be used in the report. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. The name of the column to use in comparison. + :type name: str + :param operator: Required. The operator to use for comparison. Possible values include: "In", + "Contains". + :type operator: str or ~azure.mgmt.costmanagement.models.OperatorType + :param values: Required. Array of values to use for comparison. + :type values: list[str] + """ + + _validation = { + 'name': {'required': True}, + 'operator': {'required': True}, + 'values': {'required': True, 'min_items': 1}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'operator': {'key': 'operator', 'type': 'str'}, + 'values': {'key': 'values', 'type': '[str]'}, + } + + def __init__( + self, + *, + name: str, + operator: Union[str, "OperatorType"], + values: List[str], + **kwargs + ): + super(ReportConfigComparisonExpression, self).__init__(**kwargs) + self.name = name + self.operator = operator + self.values = values + + +class ReportConfigDataset(msrest.serialization.Model): + """The definition of data present in the report. + + :param granularity: The granularity of rows in the report. Possible values include: "Daily", + "Monthly". + :type granularity: str or ~azure.mgmt.costmanagement.models.ReportGranularityType + :param configuration: Has configuration information for the data in the report. The + configuration will be ignored if aggregation and grouping are provided. + :type configuration: ~azure.mgmt.costmanagement.models.ReportConfigDatasetConfiguration + :param aggregation: Dictionary of aggregation expression to use in the report. The key of each + item in the dictionary is the alias for the aggregated column. Report can have up to 2 + aggregation clauses. + :type aggregation: dict[str, ~azure.mgmt.costmanagement.models.ReportConfigAggregation] + :param grouping: Array of group by expression to use in the report. Report can have up to 2 + group by clauses. + :type grouping: list[~azure.mgmt.costmanagement.models.ReportConfigGrouping] + :param sorting: Array of order by expression to use in the report. + :type sorting: list[~azure.mgmt.costmanagement.models.ReportConfigSorting] + :param filter: Has filter expression to use in the report. + :type filter: ~azure.mgmt.costmanagement.models.ReportConfigFilter + """ + + _validation = { + 'grouping': {'max_items': 2, 'min_items': 0}, + } + + _attribute_map = { + 'granularity': {'key': 'granularity', 'type': 'str'}, + 'configuration': {'key': 'configuration', 'type': 'ReportConfigDatasetConfiguration'}, + 'aggregation': {'key': 'aggregation', 'type': '{ReportConfigAggregation}'}, + 'grouping': {'key': 'grouping', 'type': '[ReportConfigGrouping]'}, + 'sorting': {'key': 'sorting', 'type': '[ReportConfigSorting]'}, + 'filter': {'key': 'filter', 'type': 'ReportConfigFilter'}, + } + + def __init__( + self, + *, + granularity: Optional[Union[str, "ReportGranularityType"]] = None, + configuration: Optional["ReportConfigDatasetConfiguration"] = None, + aggregation: Optional[Dict[str, "ReportConfigAggregation"]] = None, + grouping: Optional[List["ReportConfigGrouping"]] = None, + sorting: Optional[List["ReportConfigSorting"]] = None, + filter: Optional["ReportConfigFilter"] = None, + **kwargs + ): + super(ReportConfigDataset, self).__init__(**kwargs) + self.granularity = granularity + self.configuration = configuration + self.aggregation = aggregation + self.grouping = grouping + self.sorting = sorting + self.filter = filter + + +class ReportConfigDatasetConfiguration(msrest.serialization.Model): + """The configuration of dataset in the report. + + :param columns: Array of column names to be included in the report. Any valid report column + name is allowed. If not provided, then report includes all columns. + :type columns: list[str] + """ + + _attribute_map = { + 'columns': {'key': 'columns', 'type': '[str]'}, + } + + def __init__( + self, + *, + columns: Optional[List[str]] = None, + **kwargs + ): + super(ReportConfigDatasetConfiguration, self).__init__(**kwargs) + self.columns = columns + + +class ReportConfigFilter(msrest.serialization.Model): + """The filter expression to be used in the report. + + :param and_property: The logical "AND" expression. Must have at least 2 items. + :type and_property: list[~azure.mgmt.costmanagement.models.ReportConfigFilter] + :param or_property: The logical "OR" expression. Must have at least 2 items. + :type or_property: list[~azure.mgmt.costmanagement.models.ReportConfigFilter] + :param not_property: The logical "NOT" expression. + :type not_property: ~azure.mgmt.costmanagement.models.ReportConfigFilter + :param dimension: Has comparison expression for a dimension. + :type dimension: ~azure.mgmt.costmanagement.models.ReportConfigComparisonExpression + :param tag: Has comparison expression for a tag. + :type tag: ~azure.mgmt.costmanagement.models.ReportConfigComparisonExpression + """ + + _validation = { + 'and_property': {'min_items': 2}, + 'or_property': {'min_items': 2}, + } + + _attribute_map = { + 'and_property': {'key': 'and', 'type': '[ReportConfigFilter]'}, + 'or_property': {'key': 'or', 'type': '[ReportConfigFilter]'}, + 'not_property': {'key': 'not', 'type': 'ReportConfigFilter'}, + 'dimension': {'key': 'dimension', 'type': 'ReportConfigComparisonExpression'}, + 'tag': {'key': 'tag', 'type': 'ReportConfigComparisonExpression'}, + } + + def __init__( + self, + *, + and_property: Optional[List["ReportConfigFilter"]] = None, + or_property: Optional[List["ReportConfigFilter"]] = None, + not_property: Optional["ReportConfigFilter"] = None, + dimension: Optional["ReportConfigComparisonExpression"] = None, + tag: Optional["ReportConfigComparisonExpression"] = None, + **kwargs + ): + super(ReportConfigFilter, self).__init__(**kwargs) + self.and_property = and_property + self.or_property = or_property + self.not_property = not_property + self.dimension = dimension + self.tag = tag + + +class ReportConfigGrouping(msrest.serialization.Model): + """The group by expression to be used in the report. + + All required parameters must be populated in order to send to Azure. + + :param type: Required. Has type of the column to group. Possible values include: "Tag", + "Dimension". + :type type: str or ~azure.mgmt.costmanagement.models.ReportConfigColumnType + :param name: Required. The name of the column to group. This version supports subscription + lowest possible grain. + :type name: str + """ + + _validation = { + 'type': {'required': True}, + 'name': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__( + self, + *, + type: Union[str, "ReportConfigColumnType"], + name: str, + **kwargs + ): + super(ReportConfigGrouping, self).__init__(**kwargs) + self.type = type + self.name = name + + +class ReportConfigSorting(msrest.serialization.Model): + """The order by expression to be used in the report. + + All required parameters must be populated in order to send to Azure. + + :param direction: Direction of sort. Possible values include: "Ascending", "Descending". + :type direction: str or ~azure.mgmt.costmanagement.models.ReportConfigSortingDirection + :param name: Required. The name of the column to sort. + :type name: str + """ + + _validation = { + 'name': {'required': True}, + } + + _attribute_map = { + 'direction': {'key': 'direction', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__( + self, + *, + name: str, + direction: Optional[Union[str, "ReportConfigSortingDirection"]] = None, + **kwargs + ): + super(ReportConfigSorting, self).__init__(**kwargs) + self.direction = direction + self.name = name + + +class ReportConfigTimePeriod(msrest.serialization.Model): + """The start and end date for pulling data for the report. + + All required parameters must be populated in order to send to Azure. + + :param from_property: Required. The start date to pull data from. + :type from_property: ~datetime.datetime + :param to: Required. The end date to pull data to. + :type to: ~datetime.datetime + """ + + _validation = { + 'from_property': {'required': True}, + 'to': {'required': True}, + } + + _attribute_map = { + 'from_property': {'key': 'from', 'type': 'iso-8601'}, + 'to': {'key': 'to', 'type': 'iso-8601'}, + } + + def __init__( + self, + *, + from_property: datetime.datetime, + to: datetime.datetime, + **kwargs + ): + super(ReportConfigTimePeriod, self).__init__(**kwargs) + self.from_property = from_property + self.to = to + + +class View(ProxyResource): + """States and configurations of Cost Analysis. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Resource Id. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param e_tag: eTag of the resource. To handle concurrent update scenario, this field will be + used to determine whether the user is updating the latest version or not. + :type e_tag: str + :param display_name: User input name of the view. Required. + :type display_name: str + :param scope: Cost Management scope to save the view on. This includes + 'subscriptions/{subscriptionId}' for subscription scope, + 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, + 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope, + 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for + Department scope, + 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' + for EnrollmentAccount scope, + 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' + for BillingProfile scope, + 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/invoiceSections/{invoiceSectionId}' + for InvoiceSection scope, 'providers/Microsoft.Management/managementGroups/{managementGroupId}' + for Management Group scope, + '/providers/Microsoft.CostManagement/externalBillingAccounts/{externalBillingAccountName}' for + ExternalBillingAccount scope, and + '/providers/Microsoft.CostManagement/externalSubscriptions/{externalSubscriptionName}' for + ExternalSubscription scope. + :type scope: str + :ivar created_on: Date the user created this view. + :vartype created_on: ~datetime.datetime + :ivar modified_on: Date when the user last modified this view. + :vartype modified_on: ~datetime.datetime + :param chart: Chart type of the main view in Cost Analysis. Required. Possible values include: + "Area", "Line", "StackedColumn", "GroupedColumn", "Table". + :type chart: str or ~azure.mgmt.costmanagement.models.ChartType + :param accumulated: Show costs accumulated over time. Possible values include: "true", "false". + :type accumulated: str or ~azure.mgmt.costmanagement.models.AccumulatedType + :param metric: Metric to use when displaying costs. Possible values include: "ActualCost", + "AmortizedCost", "AHUB". + :type metric: str or ~azure.mgmt.costmanagement.models.MetricType + :param kpis: List of KPIs to show in Cost Analysis UI. + :type kpis: list[~azure.mgmt.costmanagement.models.KpiProperties] + :param pivots: Configuration of 3 sub-views in the Cost Analysis UI. + :type pivots: list[~azure.mgmt.costmanagement.models.PivotProperties] + :ivar type_properties_query_type: The type of the report. Usage represents actual usage, + forecast represents forecasted data and UsageAndForecast represents both usage and forecasted + data. Actual usage and forecasted data can be differentiated based on dates. Default value: + "Usage". + :vartype type_properties_query_type: str + :param timeframe: The time frame for pulling data for the report. If custom, then a specific + time period must be provided. Possible values include: "WeekToDate", "MonthToDate", + "YearToDate", "Custom". + :type timeframe: str or ~azure.mgmt.costmanagement.models.ReportTimeframeType + :param time_period: Has time period for pulling data for the report. + :type time_period: ~azure.mgmt.costmanagement.models.ReportConfigTimePeriod + :param dataset: Has definition for data in this report config. + :type dataset: ~azure.mgmt.costmanagement.models.ReportConfigDataset + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'created_on': {'readonly': True}, + 'modified_on': {'readonly': True}, + 'type_properties_query_type': {'constant': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'e_tag': {'key': 'eTag', 'type': 'str'}, + 'display_name': {'key': 'properties.displayName', 'type': 'str'}, + 'scope': {'key': 'properties.scope', 'type': 'str'}, + 'created_on': {'key': 'properties.createdOn', 'type': 'iso-8601'}, + 'modified_on': {'key': 'properties.modifiedOn', 'type': 'iso-8601'}, + 'chart': {'key': 'properties.chart', 'type': 'str'}, + 'accumulated': {'key': 'properties.accumulated', 'type': 'str'}, + 'metric': {'key': 'properties.metric', 'type': 'str'}, + 'kpis': {'key': 'properties.kpis', 'type': '[KpiProperties]'}, + 'pivots': {'key': 'properties.pivots', 'type': '[PivotProperties]'}, + 'type_properties_query_type': {'key': 'properties.query.type', 'type': 'str'}, + 'timeframe': {'key': 'properties.query.timeframe', 'type': 'str'}, + 'time_period': {'key': 'properties.query.timePeriod', 'type': 'ReportConfigTimePeriod'}, + 'dataset': {'key': 'properties.query.dataset', 'type': 'ReportConfigDataset'}, + } + + type_properties_query_type = "Usage" + + def __init__( + self, + *, + e_tag: Optional[str] = None, + display_name: Optional[str] = None, + scope: Optional[str] = None, + chart: Optional[Union[str, "ChartType"]] = None, + accumulated: Optional[Union[str, "AccumulatedType"]] = None, + metric: Optional[Union[str, "MetricType"]] = None, + kpis: Optional[List["KpiProperties"]] = None, + pivots: Optional[List["PivotProperties"]] = None, + timeframe: Optional[Union[str, "ReportTimeframeType"]] = None, + time_period: Optional["ReportConfigTimePeriod"] = None, + dataset: Optional["ReportConfigDataset"] = None, + **kwargs + ): + super(View, self).__init__(e_tag=e_tag, **kwargs) + self.display_name = display_name + self.scope = scope + self.created_on = None + self.modified_on = None + self.chart = chart + self.accumulated = accumulated + self.metric = metric + self.kpis = kpis + self.pivots = pivots + self.timeframe = timeframe + self.time_period = time_period + self.dataset = dataset + + +class ViewListResult(msrest.serialization.Model): + """Result of listing views. It contains a list of available views. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: The list of views. + :vartype value: list[~azure.mgmt.costmanagement.models.View] + :ivar next_link: The link (url) to the next page of results. + :vartype next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[View]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ViewListResult, self).__init__(**kwargs) + self.value = None + self.next_link = None diff --git a/src/costmanagement/azext_costmanagement/vendored_sdks/costmanagement/operations/__init__.py b/src/costmanagement/azext_costmanagement/vendored_sdks/costmanagement/operations/__init__.py new file mode 100644 index 00000000000..6c9a4311b92 --- /dev/null +++ b/src/costmanagement/azext_costmanagement/vendored_sdks/costmanagement/operations/__init__.py @@ -0,0 +1,25 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._view_operations import ViewOperations +from ._alert_operations import AlertOperations +from ._forecast_operations import ForecastOperations +from ._dimension_operations import DimensionOperations +from ._query_operations import QueryOperations +from ._export_operations import ExportOperations +from ._operation_operations import OperationOperations + +__all__ = [ + 'ViewOperations', + 'AlertOperations', + 'ForecastOperations', + 'DimensionOperations', + 'QueryOperations', + 'ExportOperations', + 'OperationOperations', +] diff --git a/src/costmanagement/azext_costmanagement/vendored_sdks/costmanagement/operations/_alert_operations.py b/src/costmanagement/azext_costmanagement/vendored_sdks/costmanagement/operations/_alert_operations.py new file mode 100644 index 00000000000..dc1b90de5db --- /dev/null +++ b/src/costmanagement/azext_costmanagement/vendored_sdks/costmanagement/operations/_alert_operations.py @@ -0,0 +1,171 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.mgmt.core.exceptions import ARMErrorFormat + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class AlertOperations(object): + """AlertOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.costmanagement.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + scope, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.AlertsResult" + """Lists the alerts for scope defined. + + :param scope: The scope associated with alerts operations. This includes + '/subscriptions/{subscriptionId}/' for subscription scope, + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope and + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' + for Department scope, + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' + for EnrollmentAccount scope, + '/providers/Microsoft.Management/managementGroups/{managementGroupId} for Management Group + scope, + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' + for billingProfile scope, + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}' + for invoiceSection scope, and + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}' + specific for partners. + :type scope: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: AlertsResult or the result of cls(response) + :rtype: ~azure.mgmt.costmanagement.models.AlertsResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.AlertsResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'scope': self._serialize.url("scope", scope, 'str', skip_quote=True), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('AlertsResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + list.metadata = {'url': '/{scope}/providers/Microsoft.CostManagement/alerts'} + + def list_external( + self, + external_cloud_provider_type, # type: Union[str, "models.ExternalCloudProviderType"] + external_cloud_provider_id, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.AlertsResult" + """Lists the Alerts for external cloud provider type defined. + + :param external_cloud_provider_type: The external cloud provider type associated with + dimension/query operations. This includes 'externalSubscriptions' for linked account and + 'externalBillingAccounts' for consolidated account. + :type external_cloud_provider_type: str or ~azure.mgmt.costmanagement.models.ExternalCloudProviderType + :param external_cloud_provider_id: This can be '{externalSubscriptionId}' for linked account or + '{externalBillingAccountId}' for consolidated account used with dimension/query operations. + :type external_cloud_provider_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: AlertsResult or the result of cls(response) + :rtype: ~azure.mgmt.costmanagement.models.AlertsResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.AlertsResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + # Construct URL + url = self.list_external.metadata['url'] + path_format_arguments = { + 'externalCloudProviderType': self._serialize.url("external_cloud_provider_type", external_cloud_provider_type, 'str'), + 'externalCloudProviderId': self._serialize.url("external_cloud_provider_id", external_cloud_provider_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('AlertsResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + list_external.metadata = {'url': '/providers/Microsoft.CostManagement/{externalCloudProviderType}/{externalCloudProviderId}/alerts'} diff --git a/src/costmanagement/azext_costmanagement/vendored_sdks/costmanagement/operations/_dimension_operations.py b/src/costmanagement/azext_costmanagement/vendored_sdks/costmanagement/operations/_dimension_operations.py new file mode 100644 index 00000000000..aa72450bb03 --- /dev/null +++ b/src/costmanagement/azext_costmanagement/vendored_sdks/costmanagement/operations/_dimension_operations.py @@ -0,0 +1,250 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.mgmt.core.exceptions import ARMErrorFormat + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class DimensionOperations(object): + """DimensionOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.costmanagement.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + scope, # type: str + filter=None, # type: Optional[str] + expand=None, # type: Optional[str] + skiptoken=None, # type: Optional[str] + top=None, # type: Optional[int] + **kwargs # type: Any + ): + # type: (...) -> "models.DimensionsListResult" + """Lists the dimensions by the defined scope. + + :param scope: The scope associated with dimension operations. This includes + '/subscriptions/{subscriptionId}/' for subscription scope, + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope, + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' + for Department scope, + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' + for EnrollmentAccount scope, + '/providers/Microsoft.Management/managementGroups/{managementGroupId}' for Management Group + scope, + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' + for billingProfile scope, + 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}' + for invoiceSection scope, and + 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}' + specific for partners. + :type scope: str + :param filter: May be used to filter dimensions by properties/category, properties/usageStart, + properties/usageEnd. Supported operators are 'eq','lt', 'gt', 'le', 'ge'. + :type filter: str + :param expand: May be used to expand the properties/data within a dimension category. By + default, data is not included when listing dimensions. + :type expand: str + :param skiptoken: Skiptoken is only used if a previous operation returned a partial result. If + a previous response contains a nextLink element, the value of the nextLink element will include + a skiptoken parameter that specifies a starting point to use for subsequent calls. + :type skiptoken: str + :param top: May be used to limit the number of results to the most recent N dimension data. + :type top: int + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DimensionsListResult or the result of cls(response) + :rtype: ~azure.mgmt.costmanagement.models.DimensionsListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.DimensionsListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'scope': self._serialize.url("scope", scope, 'str', skip_quote=True), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + if skiptoken is not None: + query_parameters['$skiptoken'] = self._serialize.query("skiptoken", skiptoken, 'str') + if top is not None: + query_parameters['$top'] = self._serialize.query("top", top, 'int', maximum=1000, minimum=1) + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('DimensionsListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/{scope}/providers/Microsoft.CostManagement/dimensions'} + + def by_external_cloud_provider_type( + self, + external_cloud_provider_type, # type: Union[str, "models.ExternalCloudProviderType"] + external_cloud_provider_id, # type: str + filter=None, # type: Optional[str] + expand=None, # type: Optional[str] + skiptoken=None, # type: Optional[str] + top=None, # type: Optional[int] + **kwargs # type: Any + ): + # type: (...) -> "models.DimensionsListResult" + """Lists the dimensions by the external cloud provider type. + + :param external_cloud_provider_type: The external cloud provider type associated with + dimension/query operations. This includes 'externalSubscriptions' for linked account and + 'externalBillingAccounts' for consolidated account. + :type external_cloud_provider_type: str or ~azure.mgmt.costmanagement.models.ExternalCloudProviderType + :param external_cloud_provider_id: This can be '{externalSubscriptionId}' for linked account or + '{externalBillingAccountId}' for consolidated account used with dimension/query operations. + :type external_cloud_provider_id: str + :param filter: May be used to filter dimensions by properties/category, properties/usageStart, + properties/usageEnd. Supported operators are 'eq','lt', 'gt', 'le', 'ge'. + :type filter: str + :param expand: May be used to expand the properties/data within a dimension category. By + default, data is not included when listing dimensions. + :type expand: str + :param skiptoken: Skiptoken is only used if a previous operation returned a partial result. If + a previous response contains a nextLink element, the value of the nextLink element will include + a skiptoken parameter that specifies a starting point to use for subsequent calls. + :type skiptoken: str + :param top: May be used to limit the number of results to the most recent N dimension data. + :type top: int + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DimensionsListResult or the result of cls(response) + :rtype: ~azure.mgmt.costmanagement.models.DimensionsListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.DimensionsListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.by_external_cloud_provider_type.metadata['url'] + path_format_arguments = { + 'externalCloudProviderType': self._serialize.url("external_cloud_provider_type", external_cloud_provider_type, 'str'), + 'externalCloudProviderId': self._serialize.url("external_cloud_provider_id", external_cloud_provider_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + if skiptoken is not None: + query_parameters['$skiptoken'] = self._serialize.query("skiptoken", skiptoken, 'str') + if top is not None: + query_parameters['$top'] = self._serialize.query("top", top, 'int', maximum=1000, minimum=1) + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('DimensionsListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + by_external_cloud_provider_type.metadata = {'url': '/providers/Microsoft.CostManagement/{externalCloudProviderType}/{externalCloudProviderId}/dimensions'} diff --git a/src/costmanagement/azext_costmanagement/vendored_sdks/costmanagement/operations/_export_operations.py b/src/costmanagement/azext_costmanagement/vendored_sdks/costmanagement/operations/_export_operations.py new file mode 100644 index 00000000000..b77ce24bc8a --- /dev/null +++ b/src/costmanagement/azext_costmanagement/vendored_sdks/costmanagement/operations/_export_operations.py @@ -0,0 +1,516 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.mgmt.core.exceptions import ARMErrorFormat + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, List, Optional, TypeVar, Union + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class ExportOperations(object): + """ExportOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.costmanagement.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + scope, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.ExportListResult" + """The operation to list all exports at the given scope. + + :param scope: The scope associated with query and export operations. This includes + '/subscriptions/{subscriptionId}/' for subscription scope, + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope and + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' + for Department scope, + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' + for EnrollmentAccount scope, + '/providers/Microsoft.Management/managementGroups/{managementGroupId} for Management Group + scope, + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' + for billingProfile scope, + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}' + for invoiceSection scope, and + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}' + specific for partners. + :type scope: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ExportListResult or the result of cls(response) + :rtype: ~azure.mgmt.costmanagement.models.ExportListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ExportListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'scope': self._serialize.url("scope", scope, 'str', skip_quote=True), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ExportListResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + list.metadata = {'url': '/{scope}/providers/Microsoft.CostManagement/exports'} + + def get( + self, + scope, # type: str + export_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.Export" + """The operation to get the export for the defined scope by export name. + + :param scope: The scope associated with query and export operations. This includes + '/subscriptions/{subscriptionId}/' for subscription scope, + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope and + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' + for Department scope, + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' + for EnrollmentAccount scope, + '/providers/Microsoft.Management/managementGroups/{managementGroupId} for Management Group + scope, + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' + for billingProfile scope, + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}' + for invoiceSection scope, and + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}' + specific for partners. + :type scope: str + :param export_name: Export Name. + :type export_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Export or the result of cls(response) + :rtype: ~azure.mgmt.costmanagement.models.Export + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.Export"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'scope': self._serialize.url("scope", scope, 'str', skip_quote=True), + 'exportName': self._serialize.url("export_name", export_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('Export', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/{scope}/providers/Microsoft.CostManagement/exports/{exportName}'} + + def create_or_update( + self, + scope, # type: str + export_name, # type: str + e_tag=None, # type: Optional[str] + type=None, # type: Optional[Union[str, "models.ExportType"]] + timeframe=None, # type: Optional[Union[str, "models.TimeframeType"]] + time_period=None, # type: Optional["models.QueryTimePeriod"] + configuration=None, # type: Optional["models.QueryDatasetConfiguration"] + aggregation=None, # type: Optional[Dict[str, "QueryAggregation"]] + grouping=None, # type: Optional[List["QueryGrouping"]] + filter=None, # type: Optional["models.QueryFilter"] + destination=None, # type: Optional["models.ExportDeliveryDestination"] + status=None, # type: Optional[Union[str, "models.StatusType"]] + recurrence=None, # type: Optional[Union[str, "models.RecurrenceType"]] + recurrence_period=None, # type: Optional["models.ExportRecurrencePeriod"] + **kwargs # type: Any + ): + # type: (...) -> "models.Export" + """The operation to create or update a export. Update operation requires latest eTag to be set in the request. You may obtain the latest eTag by performing a get operation. Create operation does not require eTag. + + :param scope: The scope associated with query and export operations. This includes + '/subscriptions/{subscriptionId}/' for subscription scope, + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope and + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' + for Department scope, + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' + for EnrollmentAccount scope, + '/providers/Microsoft.Management/managementGroups/{managementGroupId} for Management Group + scope, + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' + for billingProfile scope, + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}' + for invoiceSection scope, and + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}' + specific for partners. + :type scope: str + :param export_name: Export Name. + :type export_name: str + :param e_tag: eTag of the resource. To handle concurrent update scenario, this field will be + used to determine whether the user is updating the latest version or not. + :type e_tag: str + :param type: The type of the query. + :type type: str or ~azure.mgmt.costmanagement.models.ExportType + :param timeframe: The time frame for pulling data for the query. If custom, then a specific + time period must be provided. + :type timeframe: str or ~azure.mgmt.costmanagement.models.TimeframeType + :param time_period: Has time period for pulling data for the query. + :type time_period: ~azure.mgmt.costmanagement.models.QueryTimePeriod + :param configuration: Has configuration information for the data in the export. The + configuration will be ignored if aggregation and grouping are provided. + :type configuration: ~azure.mgmt.costmanagement.models.QueryDatasetConfiguration + :param aggregation: Dictionary of aggregation expression to use in the query. The key of each + item in the dictionary is the alias for the aggregated column. Query can have up to 2 + aggregation clauses. + :type aggregation: dict[str, ~azure.mgmt.costmanagement.models.QueryAggregation] + :param grouping: Array of group by expression to use in the query. Query can have up to 2 group + by clauses. + :type grouping: list[~azure.mgmt.costmanagement.models.QueryGrouping] + :param filter: Has filter expression to use in the query. + :type filter: ~azure.mgmt.costmanagement.models.QueryFilter + :param destination: Has destination for the export being delivered. + :type destination: ~azure.mgmt.costmanagement.models.ExportDeliveryDestination + :param status: The status of the schedule. Whether active or not. If inactive, the export's + scheduled execution is paused. + :type status: str or ~azure.mgmt.costmanagement.models.StatusType + :param recurrence: The schedule recurrence. + :type recurrence: str or ~azure.mgmt.costmanagement.models.RecurrenceType + :param recurrence_period: Has start and end date of the recurrence. The start date must be in + future. If present, the end date must be greater than start date. + :type recurrence_period: ~azure.mgmt.costmanagement.models.ExportRecurrencePeriod + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Export or the result of cls(response) + :rtype: ~azure.mgmt.costmanagement.models.Export or ~azure.mgmt.costmanagement.models.Export + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.Export"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _parameters = models.Export(e_tag=e_tag, type_properties_definition_type=type, timeframe=timeframe, time_period=time_period, configuration=configuration, aggregation=aggregation, grouping=grouping, filter=filter, destination=destination, status=status, recurrence=recurrence, recurrence_period=recurrence_period) + api_version = "2019-11-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'scope': self._serialize.url("scope", scope, 'str', skip_quote=True), + 'exportName': self._serialize.url("export_name", export_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_parameters, 'Export') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('Export', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('Export', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = {'url': '/{scope}/providers/Microsoft.CostManagement/exports/{exportName}'} + + def delete( + self, + scope, # type: str + export_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + """The operation to delete a export. + + :param scope: The scope associated with query and export operations. This includes + '/subscriptions/{subscriptionId}/' for subscription scope, + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope and + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' + for Department scope, + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' + for EnrollmentAccount scope, + '/providers/Microsoft.Management/managementGroups/{managementGroupId} for Management Group + scope, + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' + for billingProfile scope, + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}' + for invoiceSection scope, and + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}' + specific for partners. + :type scope: str + :param export_name: Export Name. + :type export_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'scope': self._serialize.url("scope", scope, 'str', skip_quote=True), + 'exportName': self._serialize.url("export_name", export_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/{scope}/providers/Microsoft.CostManagement/exports/{exportName}'} + + def execute( + self, + scope, # type: str + export_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + """The operation to execute a export. + + :param scope: The scope associated with query and export operations. This includes + '/subscriptions/{subscriptionId}/' for subscription scope, + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope and + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' + for Department scope, + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' + for EnrollmentAccount scope, + '/providers/Microsoft.Management/managementGroups/{managementGroupId} for Management Group + scope, + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' + for billingProfile scope, + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}' + for invoiceSection scope, and + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}' + specific for partners. + :type scope: str + :param export_name: Export Name. + :type export_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + # Construct URL + url = self.execute.metadata['url'] + path_format_arguments = { + 'scope': self._serialize.url("scope", scope, 'str', skip_quote=True), + 'exportName': self._serialize.url("export_name", export_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + execute.metadata = {'url': '/{scope}/providers/Microsoft.CostManagement/exports/{exportName}/run'} + + def get_execution_history( + self, + scope, # type: str + export_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.ExportExecutionListResult" + """The operation to get the execution history of an export for the defined scope by export name. + + :param scope: The scope associated with query and export operations. This includes + '/subscriptions/{subscriptionId}/' for subscription scope, + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope and + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' + for Department scope, + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' + for EnrollmentAccount scope, + '/providers/Microsoft.Management/managementGroups/{managementGroupId} for Management Group + scope, + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' + for billingProfile scope, + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}' + for invoiceSection scope, and + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}' + specific for partners. + :type scope: str + :param export_name: Export Name. + :type export_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ExportExecutionListResult or the result of cls(response) + :rtype: ~azure.mgmt.costmanagement.models.ExportExecutionListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ExportExecutionListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + # Construct URL + url = self.get_execution_history.metadata['url'] + path_format_arguments = { + 'scope': self._serialize.url("scope", scope, 'str', skip_quote=True), + 'exportName': self._serialize.url("export_name", export_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ExportExecutionListResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_execution_history.metadata = {'url': '/{scope}/providers/Microsoft.CostManagement/exports/{exportName}/runHistory'} diff --git a/src/costmanagement/azext_costmanagement/vendored_sdks/costmanagement/operations/_forecast_operations.py b/src/costmanagement/azext_costmanagement/vendored_sdks/costmanagement/operations/_forecast_operations.py new file mode 100644 index 00000000000..5b97876549e --- /dev/null +++ b/src/costmanagement/azext_costmanagement/vendored_sdks/costmanagement/operations/_forecast_operations.py @@ -0,0 +1,265 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.mgmt.core.exceptions import ARMErrorFormat + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, List, Optional, TypeVar, Union + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class ForecastOperations(object): + """ForecastOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.costmanagement.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def usage( + self, + scope, # type: str + type, # type: Union[str, "models.ForecastType"] + timeframe, # type: Union[str, "models.ForecastTimeframeType"] + filter=None, # type: Optional[str] + time_period=None, # type: Optional["models.QueryTimePeriod"] + include_actual_cost=None, # type: Optional[bool] + include_fresh_partial_cost=None, # type: Optional[bool] + configuration=None, # type: Optional["models.QueryDatasetConfiguration"] + aggregation=None, # type: Optional[Dict[str, "QueryAggregation"]] + grouping=None, # type: Optional[List["QueryGrouping"]] + query_filter=None, # type: Optional["models.QueryFilter"] + **kwargs # type: Any + ): + # type: (...) -> "models.QueryResult" + """Lists the forecast charges for scope defined. + + :param scope: The scope associated with forecast operations. This includes + '/subscriptions/{subscriptionId}/' for subscription scope, + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope and + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' + for Department scope, + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' + for EnrollmentAccount scope, + '/providers/Microsoft.Management/managementGroups/{managementGroupId} for Management Group + scope, + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' + for billingProfile scope, + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}' + for invoiceSection scope, and + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}' + specific for partners. + :type scope: str + :param type: The type of the forecast. + :type type: str or ~azure.mgmt.costmanagement.models.ForecastType + :param timeframe: The time frame for pulling data for the forecast. If custom, then a specific + time period must be provided. + :type timeframe: str or ~azure.mgmt.costmanagement.models.ForecastTimeframeType + :param filter: May be used to filter forecasts by properties/usageDate (Utc time), + properties/chargeType or properties/grain. The filter supports 'eq', 'lt', 'gt', 'le', 'ge', + and 'and'. It does not currently support 'ne', 'or', or 'not'. + :type filter: str + :param time_period: Has time period for pulling data for the forecast. + :type time_period: ~azure.mgmt.costmanagement.models.QueryTimePeriod + :param include_actual_cost: a boolean determining if actualCost will be included. + :type include_actual_cost: bool + :param include_fresh_partial_cost: a boolean determining if FreshPartialCost will be included. + :type include_fresh_partial_cost: bool + :param configuration: Has configuration information for the data in the export. The + configuration will be ignored if aggregation and grouping are provided. + :type configuration: ~azure.mgmt.costmanagement.models.QueryDatasetConfiguration + :param aggregation: Dictionary of aggregation expression to use in the query. The key of each + item in the dictionary is the alias for the aggregated column. Query can have up to 2 + aggregation clauses. + :type aggregation: dict[str, ~azure.mgmt.costmanagement.models.QueryAggregation] + :param grouping: Array of group by expression to use in the query. Query can have up to 2 group + by clauses. + :type grouping: list[~azure.mgmt.costmanagement.models.QueryGrouping] + :param query_filter: Has filter expression to use in the query. + :type query_filter: ~azure.mgmt.costmanagement.models.QueryFilter + :keyword callable cls: A custom type or function that will be passed the direct response + :return: QueryResult or the result of cls(response) + :rtype: ~azure.mgmt.costmanagement.models.QueryResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.QueryResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _parameters = models.ForecastDefinition(type=type, timeframe=timeframe, time_period=time_period, include_actual_cost=include_actual_cost, include_fresh_partial_cost=include_fresh_partial_cost, configuration=configuration, aggregation=aggregation, grouping=grouping, filter=query_filter) + api_version = "2019-11-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.usage.metadata['url'] + path_format_arguments = { + 'scope': self._serialize.url("scope", scope, 'str', skip_quote=True), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_parameters, 'ForecastDefinition') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('QueryResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + usage.metadata = {'url': '/{scope}/providers/Microsoft.CostManagement/forecast'} + + def external_cloud_provider_usage( + self, + external_cloud_provider_type, # type: Union[str, "models.ExternalCloudProviderType"] + external_cloud_provider_id, # type: str + type, # type: Union[str, "models.ForecastType"] + timeframe, # type: Union[str, "models.ForecastTimeframeType"] + filter=None, # type: Optional[str] + time_period=None, # type: Optional["models.QueryTimePeriod"] + include_actual_cost=None, # type: Optional[bool] + include_fresh_partial_cost=None, # type: Optional[bool] + configuration=None, # type: Optional["models.QueryDatasetConfiguration"] + aggregation=None, # type: Optional[Dict[str, "QueryAggregation"]] + grouping=None, # type: Optional[List["QueryGrouping"]] + query_filter=None, # type: Optional["models.QueryFilter"] + **kwargs # type: Any + ): + # type: (...) -> "models.QueryResult" + """Lists the forecast charges for external cloud provider type defined. + + :param external_cloud_provider_type: The external cloud provider type associated with + dimension/query operations. This includes 'externalSubscriptions' for linked account and + 'externalBillingAccounts' for consolidated account. + :type external_cloud_provider_type: str or ~azure.mgmt.costmanagement.models.ExternalCloudProviderType + :param external_cloud_provider_id: This can be '{externalSubscriptionId}' for linked account or + '{externalBillingAccountId}' for consolidated account used with dimension/query operations. + :type external_cloud_provider_id: str + :param type: The type of the forecast. + :type type: str or ~azure.mgmt.costmanagement.models.ForecastType + :param timeframe: The time frame for pulling data for the forecast. If custom, then a specific + time period must be provided. + :type timeframe: str or ~azure.mgmt.costmanagement.models.ForecastTimeframeType + :param filter: May be used to filter forecasts by properties/usageDate (Utc time), + properties/chargeType or properties/grain. The filter supports 'eq', 'lt', 'gt', 'le', 'ge', + and 'and'. It does not currently support 'ne', 'or', or 'not'. + :type filter: str + :param time_period: Has time period for pulling data for the forecast. + :type time_period: ~azure.mgmt.costmanagement.models.QueryTimePeriod + :param include_actual_cost: a boolean determining if actualCost will be included. + :type include_actual_cost: bool + :param include_fresh_partial_cost: a boolean determining if FreshPartialCost will be included. + :type include_fresh_partial_cost: bool + :param configuration: Has configuration information for the data in the export. The + configuration will be ignored if aggregation and grouping are provided. + :type configuration: ~azure.mgmt.costmanagement.models.QueryDatasetConfiguration + :param aggregation: Dictionary of aggregation expression to use in the query. The key of each + item in the dictionary is the alias for the aggregated column. Query can have up to 2 + aggregation clauses. + :type aggregation: dict[str, ~azure.mgmt.costmanagement.models.QueryAggregation] + :param grouping: Array of group by expression to use in the query. Query can have up to 2 group + by clauses. + :type grouping: list[~azure.mgmt.costmanagement.models.QueryGrouping] + :param query_filter: Has filter expression to use in the query. + :type query_filter: ~azure.mgmt.costmanagement.models.QueryFilter + :keyword callable cls: A custom type or function that will be passed the direct response + :return: QueryResult or the result of cls(response) + :rtype: ~azure.mgmt.costmanagement.models.QueryResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.QueryResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _parameters = models.ForecastDefinition(type=type, timeframe=timeframe, time_period=time_period, include_actual_cost=include_actual_cost, include_fresh_partial_cost=include_fresh_partial_cost, configuration=configuration, aggregation=aggregation, grouping=grouping, filter=query_filter) + api_version = "2019-11-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.external_cloud_provider_usage.metadata['url'] + path_format_arguments = { + 'externalCloudProviderType': self._serialize.url("external_cloud_provider_type", external_cloud_provider_type, 'str'), + 'externalCloudProviderId': self._serialize.url("external_cloud_provider_id", external_cloud_provider_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_parameters, 'ForecastDefinition') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('QueryResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + external_cloud_provider_usage.metadata = {'url': '/providers/Microsoft.CostManagement/{externalCloudProviderType}/{externalCloudProviderId}/forecast'} diff --git a/src/costmanagement/azext_costmanagement/vendored_sdks/costmanagement/operations/_operation_operations.py b/src/costmanagement/azext_costmanagement/vendored_sdks/costmanagement/operations/_operation_operations.py new file mode 100644 index 00000000000..6d83e16b9dc --- /dev/null +++ b/src/costmanagement/azext_costmanagement/vendored_sdks/costmanagement/operations/_operation_operations.py @@ -0,0 +1,106 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.mgmt.core.exceptions import ARMErrorFormat + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Optional, TypeVar + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class OperationOperations(object): + """OperationOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.costmanagement.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + **kwargs # type: Any + ): + # type: (...) -> "models.OperationListResult" + """Lists all of the available cost management REST API operations. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: OperationListResult or the result of cls(response) + :rtype: ~azure.mgmt.costmanagement.models.OperationListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.OperationListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('OperationListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/providers/Microsoft.CostManagement/operations'} diff --git a/src/costmanagement/azext_costmanagement/vendored_sdks/costmanagement/operations/_query_operations.py b/src/costmanagement/azext_costmanagement/vendored_sdks/costmanagement/operations/_query_operations.py new file mode 100644 index 00000000000..8443fd8acae --- /dev/null +++ b/src/costmanagement/azext_costmanagement/vendored_sdks/costmanagement/operations/_query_operations.py @@ -0,0 +1,239 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.mgmt.core.exceptions import ARMErrorFormat + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, List, Optional, TypeVar, Union + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class QueryOperations(object): + """QueryOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.costmanagement.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def usage( + self, + scope, # type: str + type, # type: Union[str, "models.ExportType"] + timeframe, # type: Union[str, "models.TimeframeType"] + time_period=None, # type: Optional["models.QueryTimePeriod"] + configuration=None, # type: Optional["models.QueryDatasetConfiguration"] + aggregation=None, # type: Optional[Dict[str, "QueryAggregation"]] + grouping=None, # type: Optional[List["QueryGrouping"]] + filter=None, # type: Optional["models.QueryFilter"] + **kwargs # type: Any + ): + # type: (...) -> "models.QueryResult" + """Query the usage data for scope defined. + + :param scope: The scope associated with query and export operations. This includes + '/subscriptions/{subscriptionId}/' for subscription scope, + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope and + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' + for Department scope, + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' + for EnrollmentAccount scope, + '/providers/Microsoft.Management/managementGroups/{managementGroupId} for Management Group + scope, + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' + for billingProfile scope, + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}' + for invoiceSection scope, and + '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}' + specific for partners. + :type scope: str + :param type: The type of the query. + :type type: str or ~azure.mgmt.costmanagement.models.ExportType + :param timeframe: The time frame for pulling data for the query. If custom, then a specific + time period must be provided. + :type timeframe: str or ~azure.mgmt.costmanagement.models.TimeframeType + :param time_period: Has time period for pulling data for the query. + :type time_period: ~azure.mgmt.costmanagement.models.QueryTimePeriod + :param configuration: Has configuration information for the data in the export. The + configuration will be ignored if aggregation and grouping are provided. + :type configuration: ~azure.mgmt.costmanagement.models.QueryDatasetConfiguration + :param aggregation: Dictionary of aggregation expression to use in the query. The key of each + item in the dictionary is the alias for the aggregated column. Query can have up to 2 + aggregation clauses. + :type aggregation: dict[str, ~azure.mgmt.costmanagement.models.QueryAggregation] + :param grouping: Array of group by expression to use in the query. Query can have up to 2 group + by clauses. + :type grouping: list[~azure.mgmt.costmanagement.models.QueryGrouping] + :param filter: Has filter expression to use in the query. + :type filter: ~azure.mgmt.costmanagement.models.QueryFilter + :keyword callable cls: A custom type or function that will be passed the direct response + :return: QueryResult or the result of cls(response) + :rtype: ~azure.mgmt.costmanagement.models.QueryResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.QueryResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _parameters = models.QueryDefinition(type=type, timeframe=timeframe, time_period=time_period, configuration=configuration, aggregation=aggregation, grouping=grouping, filter=filter) + api_version = "2019-11-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.usage.metadata['url'] + path_format_arguments = { + 'scope': self._serialize.url("scope", scope, 'str', skip_quote=True), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_parameters, 'QueryDefinition') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('QueryResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + usage.metadata = {'url': '/{scope}/providers/Microsoft.CostManagement/query'} + + def usage_by_external_cloud_provider_type( + self, + external_cloud_provider_type, # type: Union[str, "models.ExternalCloudProviderType"] + external_cloud_provider_id, # type: str + type, # type: Union[str, "models.ExportType"] + timeframe, # type: Union[str, "models.TimeframeType"] + time_period=None, # type: Optional["models.QueryTimePeriod"] + configuration=None, # type: Optional["models.QueryDatasetConfiguration"] + aggregation=None, # type: Optional[Dict[str, "QueryAggregation"]] + grouping=None, # type: Optional[List["QueryGrouping"]] + filter=None, # type: Optional["models.QueryFilter"] + **kwargs # type: Any + ): + # type: (...) -> "models.QueryResult" + """Query the usage data for external cloud provider type defined. + + :param external_cloud_provider_type: The external cloud provider type associated with + dimension/query operations. This includes 'externalSubscriptions' for linked account and + 'externalBillingAccounts' for consolidated account. + :type external_cloud_provider_type: str or ~azure.mgmt.costmanagement.models.ExternalCloudProviderType + :param external_cloud_provider_id: This can be '{externalSubscriptionId}' for linked account or + '{externalBillingAccountId}' for consolidated account used with dimension/query operations. + :type external_cloud_provider_id: str + :param type: The type of the query. + :type type: str or ~azure.mgmt.costmanagement.models.ExportType + :param timeframe: The time frame for pulling data for the query. If custom, then a specific + time period must be provided. + :type timeframe: str or ~azure.mgmt.costmanagement.models.TimeframeType + :param time_period: Has time period for pulling data for the query. + :type time_period: ~azure.mgmt.costmanagement.models.QueryTimePeriod + :param configuration: Has configuration information for the data in the export. The + configuration will be ignored if aggregation and grouping are provided. + :type configuration: ~azure.mgmt.costmanagement.models.QueryDatasetConfiguration + :param aggregation: Dictionary of aggregation expression to use in the query. The key of each + item in the dictionary is the alias for the aggregated column. Query can have up to 2 + aggregation clauses. + :type aggregation: dict[str, ~azure.mgmt.costmanagement.models.QueryAggregation] + :param grouping: Array of group by expression to use in the query. Query can have up to 2 group + by clauses. + :type grouping: list[~azure.mgmt.costmanagement.models.QueryGrouping] + :param filter: Has filter expression to use in the query. + :type filter: ~azure.mgmt.costmanagement.models.QueryFilter + :keyword callable cls: A custom type or function that will be passed the direct response + :return: QueryResult or the result of cls(response) + :rtype: ~azure.mgmt.costmanagement.models.QueryResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.QueryResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _parameters = models.QueryDefinition(type=type, timeframe=timeframe, time_period=time_period, configuration=configuration, aggregation=aggregation, grouping=grouping, filter=filter) + api_version = "2019-11-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.usage_by_external_cloud_provider_type.metadata['url'] + path_format_arguments = { + 'externalCloudProviderType': self._serialize.url("external_cloud_provider_type", external_cloud_provider_type, 'str'), + 'externalCloudProviderId': self._serialize.url("external_cloud_provider_id", external_cloud_provider_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_parameters, 'QueryDefinition') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('QueryResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + usage_by_external_cloud_provider_type.metadata = {'url': '/providers/Microsoft.CostManagement/{externalCloudProviderType}/{externalCloudProviderId}/query'} diff --git a/src/costmanagement/azext_costmanagement/vendored_sdks/costmanagement/operations/_view_operations.py b/src/costmanagement/azext_costmanagement/vendored_sdks/costmanagement/operations/_view_operations.py new file mode 100644 index 00000000000..bf08f8e37e3 --- /dev/null +++ b/src/costmanagement/azext_costmanagement/vendored_sdks/costmanagement/operations/_view_operations.py @@ -0,0 +1,681 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.mgmt.core.exceptions import ARMErrorFormat + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, List, Optional, TypeVar, Union + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class ViewOperations(object): + """ViewOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.costmanagement.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + **kwargs # type: Any + ): + # type: (...) -> "models.ViewListResult" + """Lists all views by tenant and object. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ViewListResult or the result of cls(response) + :rtype: ~azure.mgmt.costmanagement.models.ViewListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ViewListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('ViewListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/providers/Microsoft.CostManagement/views'} + + def list_by_scope( + self, + scope, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.ViewListResult" + """Lists all views at the given scope. + + :param scope: The scope associated with view operations. This includes + 'subscriptions/{subscriptionId}' for subscription scope, + 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, + 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope, + 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for + Department scope, + 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' + for EnrollmentAccount scope, + 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' + for BillingProfile scope, + 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/invoiceSections/{invoiceSectionId}' + for InvoiceSection scope, 'providers/Microsoft.Management/managementGroups/{managementGroupId}' + for Management Group scope, + 'providers/Microsoft.CostManagement/externalBillingAccounts/{externalBillingAccountName}' for + External Billing Account scope and + 'providers/Microsoft.CostManagement/externalSubscriptions/{externalSubscriptionName}' for + External Subscription scope. + :type scope: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ViewListResult or the result of cls(response) + :rtype: ~azure.mgmt.costmanagement.models.ViewListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ViewListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_scope.metadata['url'] + path_format_arguments = { + 'scope': self._serialize.url("scope", scope, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('ViewListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_by_scope.metadata = {'url': '/{scope}/providers/Microsoft.CostManagement/views'} + + def get( + self, + view_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.View" + """Gets the view by view name. + + :param view_name: View name. + :type view_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: View or the result of cls(response) + :rtype: ~azure.mgmt.costmanagement.models.View + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.View"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'viewName': self._serialize.url("view_name", view_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('View', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/providers/Microsoft.CostManagement/views/{viewName}'} + + def create_or_update( + self, + view_name, # type: str + e_tag=None, # type: Optional[str] + display_name=None, # type: Optional[str] + scope=None, # type: Optional[str] + chart=None, # type: Optional[Union[str, "models.ChartType"]] + accumulated=None, # type: Optional[Union[str, "models.AccumulatedType"]] + metric=None, # type: Optional[Union[str, "models.MetricType"]] + kpis=None, # type: Optional[List["KpiProperties"]] + pivots=None, # type: Optional[List["PivotProperties"]] + timeframe=None, # type: Optional[Union[str, "models.ReportTimeframeType"]] + time_period=None, # type: Optional["models.ReportConfigTimePeriod"] + dataset=None, # type: Optional["models.ReportConfigDataset"] + **kwargs # type: Any + ): + # type: (...) -> "models.View" + """The operation to create or update a view. Update operation requires latest eTag to be set in the request. You may obtain the latest eTag by performing a get operation. Create operation does not require eTag. + + :param view_name: View name. + :type view_name: str + :param e_tag: eTag of the resource. To handle concurrent update scenario, this field will be + used to determine whether the user is updating the latest version or not. + :type e_tag: str + :param display_name: User input name of the view. Required. + :type display_name: str + :param scope: Cost Management scope to save the view on. This includes + 'subscriptions/{subscriptionId}' for subscription scope, + 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, + 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope, + 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for + Department scope, + 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' + for EnrollmentAccount scope, + 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' + for BillingProfile scope, + 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/invoiceSections/{invoiceSectionId}' + for InvoiceSection scope, 'providers/Microsoft.Management/managementGroups/{managementGroupId}' + for Management Group scope, + '/providers/Microsoft.CostManagement/externalBillingAccounts/{externalBillingAccountName}' for + ExternalBillingAccount scope, and + '/providers/Microsoft.CostManagement/externalSubscriptions/{externalSubscriptionName}' for + ExternalSubscription scope. + :type scope: str + :param chart: Chart type of the main view in Cost Analysis. Required. + :type chart: str or ~azure.mgmt.costmanagement.models.ChartType + :param accumulated: Show costs accumulated over time. + :type accumulated: str or ~azure.mgmt.costmanagement.models.AccumulatedType + :param metric: Metric to use when displaying costs. + :type metric: str or ~azure.mgmt.costmanagement.models.MetricType + :param kpis: List of KPIs to show in Cost Analysis UI. + :type kpis: list[~azure.mgmt.costmanagement.models.KpiProperties] + :param pivots: Configuration of 3 sub-views in the Cost Analysis UI. + :type pivots: list[~azure.mgmt.costmanagement.models.PivotProperties] + :param timeframe: The time frame for pulling data for the report. If custom, then a specific + time period must be provided. + :type timeframe: str or ~azure.mgmt.costmanagement.models.ReportTimeframeType + :param time_period: Has time period for pulling data for the report. + :type time_period: ~azure.mgmt.costmanagement.models.ReportConfigTimePeriod + :param dataset: Has definition for data in this report config. + :type dataset: ~azure.mgmt.costmanagement.models.ReportConfigDataset + :keyword callable cls: A custom type or function that will be passed the direct response + :return: View or the result of cls(response) + :rtype: ~azure.mgmt.costmanagement.models.View or ~azure.mgmt.costmanagement.models.View + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.View"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _parameters = models.View(e_tag=e_tag, display_name=display_name, scope=scope, chart=chart, accumulated=accumulated, metric=metric, kpis=kpis, pivots=pivots, timeframe=timeframe, time_period=time_period, dataset=dataset) + api_version = "2019-11-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'viewName': self._serialize.url("view_name", view_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_parameters, 'View') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('View', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('View', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = {'url': '/providers/Microsoft.CostManagement/views/{viewName}'} + + def delete( + self, + view_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + """The operation to delete a view. + + :param view_name: View name. + :type view_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'viewName': self._serialize.url("view_name", view_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/providers/Microsoft.CostManagement/views/{viewName}'} + + def get_by_scope( + self, + scope, # type: str + view_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.View" + """Gets the view for the defined scope by view name. + + :param scope: The scope associated with view operations. This includes + 'subscriptions/{subscriptionId}' for subscription scope, + 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, + 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope, + 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for + Department scope, + 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' + for EnrollmentAccount scope, + 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' + for BillingProfile scope, + 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/invoiceSections/{invoiceSectionId}' + for InvoiceSection scope, 'providers/Microsoft.Management/managementGroups/{managementGroupId}' + for Management Group scope, + 'providers/Microsoft.CostManagement/externalBillingAccounts/{externalBillingAccountName}' for + External Billing Account scope and + 'providers/Microsoft.CostManagement/externalSubscriptions/{externalSubscriptionName}' for + External Subscription scope. + :type scope: str + :param view_name: View name. + :type view_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: View or the result of cls(response) + :rtype: ~azure.mgmt.costmanagement.models.View + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.View"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + # Construct URL + url = self.get_by_scope.metadata['url'] + path_format_arguments = { + 'scope': self._serialize.url("scope", scope, 'str'), + 'viewName': self._serialize.url("view_name", view_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('View', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_by_scope.metadata = {'url': '/{scope}/providers/Microsoft.CostManagement/views/{viewName}'} + + def create_or_update_by_scope( + self, + scope, # type: str + view_name, # type: str + e_tag=None, # type: Optional[str] + display_name=None, # type: Optional[str] + view_properties_scope=None, # type: Optional[str] + chart=None, # type: Optional[Union[str, "models.ChartType"]] + accumulated=None, # type: Optional[Union[str, "models.AccumulatedType"]] + metric=None, # type: Optional[Union[str, "models.MetricType"]] + kpis=None, # type: Optional[List["KpiProperties"]] + pivots=None, # type: Optional[List["PivotProperties"]] + timeframe=None, # type: Optional[Union[str, "models.ReportTimeframeType"]] + time_period=None, # type: Optional["models.ReportConfigTimePeriod"] + dataset=None, # type: Optional["models.ReportConfigDataset"] + **kwargs # type: Any + ): + # type: (...) -> "models.View" + """The operation to create or update a view. Update operation requires latest eTag to be set in the request. You may obtain the latest eTag by performing a get operation. Create operation does not require eTag. + + :param scope: The scope associated with view operations. This includes + 'subscriptions/{subscriptionId}' for subscription scope, + 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, + 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope, + 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for + Department scope, + 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' + for EnrollmentAccount scope, + 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' + for BillingProfile scope, + 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/invoiceSections/{invoiceSectionId}' + for InvoiceSection scope, 'providers/Microsoft.Management/managementGroups/{managementGroupId}' + for Management Group scope, + 'providers/Microsoft.CostManagement/externalBillingAccounts/{externalBillingAccountName}' for + External Billing Account scope and + 'providers/Microsoft.CostManagement/externalSubscriptions/{externalSubscriptionName}' for + External Subscription scope. + :type scope: str + :param view_name: View name. + :type view_name: str + :param e_tag: eTag of the resource. To handle concurrent update scenario, this field will be + used to determine whether the user is updating the latest version or not. + :type e_tag: str + :param display_name: User input name of the view. Required. + :type display_name: str + :param view_properties_scope: Cost Management scope to save the view on. This includes + 'subscriptions/{subscriptionId}' for subscription scope, + 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, + 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope, + 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for + Department scope, + 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' + for EnrollmentAccount scope, + 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' + for BillingProfile scope, + 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/invoiceSections/{invoiceSectionId}' + for InvoiceSection scope, 'providers/Microsoft.Management/managementGroups/{managementGroupId}' + for Management Group scope, + '/providers/Microsoft.CostManagement/externalBillingAccounts/{externalBillingAccountName}' for + ExternalBillingAccount scope, and + '/providers/Microsoft.CostManagement/externalSubscriptions/{externalSubscriptionName}' for + ExternalSubscription scope. + :type view_properties_scope: str + :param chart: Chart type of the main view in Cost Analysis. Required. + :type chart: str or ~azure.mgmt.costmanagement.models.ChartType + :param accumulated: Show costs accumulated over time. + :type accumulated: str or ~azure.mgmt.costmanagement.models.AccumulatedType + :param metric: Metric to use when displaying costs. + :type metric: str or ~azure.mgmt.costmanagement.models.MetricType + :param kpis: List of KPIs to show in Cost Analysis UI. + :type kpis: list[~azure.mgmt.costmanagement.models.KpiProperties] + :param pivots: Configuration of 3 sub-views in the Cost Analysis UI. + :type pivots: list[~azure.mgmt.costmanagement.models.PivotProperties] + :param timeframe: The time frame for pulling data for the report. If custom, then a specific + time period must be provided. + :type timeframe: str or ~azure.mgmt.costmanagement.models.ReportTimeframeType + :param time_period: Has time period for pulling data for the report. + :type time_period: ~azure.mgmt.costmanagement.models.ReportConfigTimePeriod + :param dataset: Has definition for data in this report config. + :type dataset: ~azure.mgmt.costmanagement.models.ReportConfigDataset + :keyword callable cls: A custom type or function that will be passed the direct response + :return: View or the result of cls(response) + :rtype: ~azure.mgmt.costmanagement.models.View or ~azure.mgmt.costmanagement.models.View + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.View"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _parameters = models.View(e_tag=e_tag, display_name=display_name, scope=view_properties_scope, chart=chart, accumulated=accumulated, metric=metric, kpis=kpis, pivots=pivots, timeframe=timeframe, time_period=time_period, dataset=dataset) + api_version = "2019-11-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.create_or_update_by_scope.metadata['url'] + path_format_arguments = { + 'scope': self._serialize.url("scope", scope, 'str'), + 'viewName': self._serialize.url("view_name", view_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_parameters, 'View') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('View', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('View', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update_by_scope.metadata = {'url': '/{scope}/providers/Microsoft.CostManagement/views/{viewName}'} + + def delete_by_scope( + self, + scope, # type: str + view_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + """The operation to delete a view. + + :param scope: The scope associated with view operations. This includes + 'subscriptions/{subscriptionId}' for subscription scope, + 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, + 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope, + 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for + Department scope, + 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' + for EnrollmentAccount scope, + 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' + for BillingProfile scope, + 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/invoiceSections/{invoiceSectionId}' + for InvoiceSection scope, 'providers/Microsoft.Management/managementGroups/{managementGroupId}' + for Management Group scope, + 'providers/Microsoft.CostManagement/externalBillingAccounts/{externalBillingAccountName}' for + External Billing Account scope and + 'providers/Microsoft.CostManagement/externalSubscriptions/{externalSubscriptionName}' for + External Subscription scope. + :type scope: str + :param view_name: View name. + :type view_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + # Construct URL + url = self.delete_by_scope.metadata['url'] + path_format_arguments = { + 'scope': self._serialize.url("scope", scope, 'str'), + 'viewName': self._serialize.url("view_name", view_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + delete_by_scope.metadata = {'url': '/{scope}/providers/Microsoft.CostManagement/views/{viewName}'} diff --git a/src/costmanagement/azext_costmanagement/vendored_sdks/costmanagement/py.typed b/src/costmanagement/azext_costmanagement/vendored_sdks/costmanagement/py.typed new file mode 100644 index 00000000000..e5aff4f83af --- /dev/null +++ b/src/costmanagement/azext_costmanagement/vendored_sdks/costmanagement/py.typed @@ -0,0 +1 @@ +# Marker file for PEP 561. \ No newline at end of file diff --git a/src/costmanagement/azext_costmanagement/vendored_sdks/costmanagement/setup.py b/src/costmanagement/azext_costmanagement/vendored_sdks/costmanagement/setup.py new file mode 100644 index 00000000000..23e053083da --- /dev/null +++ b/src/costmanagement/azext_costmanagement/vendored_sdks/costmanagement/setup.py @@ -0,0 +1,37 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +# coding: utf-8 + +from setuptools import setup, find_packages + +NAME = "costmanagementclient" +VERSION = "1.2.0" + +# To install the library, run the following +# +# python setup.py install +# +# prerequisite: setuptools +# http://pypi.python.org/pypi/setuptools + +REQUIRES = ["msrest>=0.6.0", "azure-core<2.0.0,>=1.2.0"] + +setup( + name=NAME, + version=VERSION, + description="CostManagementClient", + author_email="", + url="", + keywords=["Swagger", "CostManagementClient"], + install_requires=REQUIRES, + packages=find_packages(), + include_package_data=True, + long_description="""\ + CostManagementClient. + """ +) diff --git a/src/costmanagement/setup.cfg b/src/costmanagement/setup.cfg new file mode 100644 index 00000000000..2fdd96e5d39 --- /dev/null +++ b/src/costmanagement/setup.cfg @@ -0,0 +1 @@ +#setup.cfg \ No newline at end of file diff --git a/src/costmanagement/setup.py b/src/costmanagement/setup.py new file mode 100644 index 00000000000..d99d8b3aa94 --- /dev/null +++ b/src/costmanagement/setup.py @@ -0,0 +1,53 @@ +#!/usr/bin/env python + +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + + +from codecs import open +from setuptools import setup, find_packages + +# TODO: Confirm this is the right version number you want and it matches your +# HISTORY.rst entry. +VERSION = '0.1.0' + +# The full list of classifiers is available at +# https://pypi.python.org/pypi?%3Aaction=list_classifiers +CLASSIFIERS = [ + 'Development Status :: 4 - Beta', + 'Intended Audience :: Developers', + 'Intended Audience :: System Administrators', + 'Programming Language :: Python', + 'Programming Language :: Python :: 3', + 'Programming Language :: Python :: 3.6', + 'Programming Language :: Python :: 3.7', + 'Programming Language :: Python :: 3.8', + 'License :: OSI Approved :: MIT License', +] + +# TODO: Add any additional SDK dependencies here +DEPENDENCIES = [] + +with open('README.md', 'r', encoding='utf-8') as f: + README = f.read() +with open('HISTORY.rst', 'r', encoding='utf-8') as f: + HISTORY = f.read() + +setup( + name='costmanagement', + version=VERSION, + description='Microsoft Azure Command-Line Tools CostManagementClient Extension', + # TODO: Update author and email, if applicable + author='Microsoft Corporation', + author_email='azpycli@microsoft.com', + # TODO: consider pointing directly to your source code instead of the generic repo + url='https://github.com/Azure/azure-cli-extensions', + long_description=README + '\n\n' + HISTORY, + license='MIT', + classifiers=CLASSIFIERS, + packages=find_packages(), + install_requires=DEPENDENCIES, + package_data={'azext_costmanagement': ['azext_metadata.json']}, +) diff --git a/src/custom-providers/HISTORY.rst b/src/custom-providers/HISTORY.rst new file mode 100644 index 00000000000..1c139576ba0 --- /dev/null +++ b/src/custom-providers/HISTORY.rst @@ -0,0 +1,8 @@ +.. :changelog: + +Release History +=============== + +0.1.0 +++++++ +* Initial release. diff --git a/src/custom-providers/README.md b/src/custom-providers/README.md new file mode 100644 index 00000000000..e675d470514 --- /dev/null +++ b/src/custom-providers/README.md @@ -0,0 +1,43 @@ +# Azure CLI Custom Providers Extension +This is a extension for Custom Providers features. + +### How to use +Install this extension using the below CLI command +``` +az extension add --name custom-providers +``` + +### Included Features +#### Manage custom resource provider: + + +##### Create or update a custom resource provider + +``` +az custom-providers resource-provider create -n MyRP -g MyRG --action name=ping endpoint=https://test.azurewebsites.net/api routing_type=Proxy --resource-type name=users endpoint=https://test.azurewebsites.net/api routing_type="Proxy, Cache" --validation validation_type=swagger specification=https://raw.githubusercontent.com/test.json +``` + +##### Update the tags for a custom resource provider +``` +az custom-providers resource-provider update -g MyRG -n MyRP --tags a=b +``` + +##### Get a custom resource provider +``` +az custom-providers resource-provider show -g MyRG -n MyRP +``` + +##### Get all the custom resource providers within a resource group or in the current subscription +``` +az custom-providers resource-provider list +``` +``` +az custom-providers resource-provider list -g MyRG +``` + +##### Delete a custom resource provider +``` +az custom-providers resource-provider delete -g MyRG -n MyRP +``` + +If you have issues, please give feedback by opening an issue at https://github.com/Azure/azure-cli-extensions/issues. \ No newline at end of file diff --git a/src/custom-providers/azext_custom_providers/__init__.py b/src/custom-providers/azext_custom_providers/__init__.py new file mode 100644 index 00000000000..04ccaa71739 --- /dev/null +++ b/src/custom-providers/azext_custom_providers/__init__.py @@ -0,0 +1,32 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +from azure.cli.core import AzCommandsLoader + +from azext_custom_providers._help import helps # pylint: disable=unused-import + + +class CustomprovidersCommandsLoader(AzCommandsLoader): + + def __init__(self, cli_ctx=None): + from azure.cli.core.commands import CliCommandType + from azext_custom_providers._client_factory import cf_custom_providers + custom_providers_custom = CliCommandType( + operations_tmpl='azext_custom_providers.custom#{}', + client_factory=cf_custom_providers) + super(CustomprovidersCommandsLoader, self).__init__(cli_ctx=cli_ctx, + custom_command_type=custom_providers_custom) + + def load_command_table(self, args): + from azext_custom_providers.commands import load_command_table + load_command_table(self, args) + return self.command_table + + def load_arguments(self, command): + from azext_custom_providers._params import load_arguments + load_arguments(self, command) + + +COMMAND_LOADER_CLS = CustomprovidersCommandsLoader diff --git a/src/custom-providers/azext_custom_providers/_client_factory.py b/src/custom-providers/azext_custom_providers/_client_factory.py new file mode 100644 index 00000000000..07af0d4489e --- /dev/null +++ b/src/custom-providers/azext_custom_providers/_client_factory.py @@ -0,0 +1,14 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + + +def cf_custom_providers(cli_ctx, *_): + from azure.cli.core.commands.client_factory import get_mgmt_service_client + from .vendored_sdks.customproviders import CustomProvidersClient + return get_mgmt_service_client(cli_ctx, CustomProvidersClient) + + +def cf_custom_resource_provider(cli_ctx, *_): + return cf_custom_providers(cli_ctx).custom_resource_provider diff --git a/src/custom-providers/azext_custom_providers/_help.py b/src/custom-providers/azext_custom_providers/_help.py new file mode 100644 index 00000000000..5709cbf6eb2 --- /dev/null +++ b/src/custom-providers/azext_custom_providers/_help.py @@ -0,0 +1,96 @@ +# coding=utf-8 +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +# pylint: disable=too-many-lines +# pylint: disable=line-too-long +from knack.help_files import helps # pylint: disable=unused-import + + +helps['custom-providers resource-provider'] = """ +type: group +short-summary: Commands to manage custom resource provider. +""" + +helps['custom-providers resource-provider create'] = """ +type: command +short-summary: Create or update the custom resource provider. +parameters: + - name: --action -a + short-summary: Add an action to the custom resource provider. + long-summary: | + Usage: --action name=ping endpoint="https://test.azurewebsites.net/api/{requestPath}" routing_type=Proxy + + name: Required. The name of the action. + endpoint: Required. The endpoint URI that the custom resource provider will proxy requests to. + routing_type: The routing types that are supported for action requests. Possible values include: 'Proxy'. + + Multiple actions can be specified by using more than one `--action` argument. + - name: --resource-type -r + short-summary: Add a custom resource type to the custom resource provider. + long-summary: | + Usage: --resource-type name=user endpoint="https://test.azurewebsites.net/api/{requestPath}" routing_type="Proxy, Cache" + + name: Required. The name of the resource type. + endpoint: Required. The endpoint URI that the custom resource provider will proxy requests to. + routing_type: The routing types that are supported for resource requests. Possible values include: 'Proxy', 'Proxy,Cache'. + + Multiple resource types can be specified by using more than one `--resource-type` argument. + - name: --validation -v + short-summary: Add a validation to the custom resource provider. + long-summary: | + Usage: --validation specification="https://raw.githubusercontent.com/" validation_type="Swagger" + + specification: A link to the validation specification.vThe specification must be hosted on raw.githubusercontent.com. + validation_type: The type of validation to run against a matching request. Possible values include: 'Swagger'. + + Multiple validations can be specified by using more than one `--validation` argument. +examples: + - name: Create or update a custom resource provider. + text: |- + az custom-providers resource-provider create -n MyRP -g MyRG \\ + --action name=ping endpoint=https://test.azurewebsites.net/api routing_type=Proxy \\ + --resource-type name=users endpoint=https://test.azurewebsites.net/api routing_type="Proxy, Cache" \\ + --validation validation_type=swagger specification=https://raw.githubusercontent.com/test.json +""" + +helps['custom-providers resource-provider update'] = """ +type: command +short-summary: Update the custom resource provider. Only tags can be updated. +examples: + - name: Update the tags for a custom resource provider. + text: |- + az custom-providers resource-provider update -g MyRG -n MyRP --tags a=b +""" + +helps['custom-providers resource-provider delete'] = """ +type: command +short-summary: Delete the custom resource provider. +examples: + - name: Delete a custom resource provider. + text: |- + az custom-providers resource-provider delete -g MyRG -n MyRP +""" + +helps['custom-providers resource-provider show'] = """ +type: command +short-summary: Get the properties for the custom resource provider. +examples: + - name: Get a custom resource provider. + text: |- + az custom-providers resource-provider show -g MyRG -n MyRP +""" + +helps['custom-providers resource-provider list'] = """ +type: command +short-summary: Get all the custom resource providers within a resource group or in the current subscription. +examples: + - name: List all custom resource providers in the resource group. + text: |- + az custom-providers resource-provider list -g MyRG + - name: List all custom resource providers in the current subscription. + text: |- + az custom-providers resource-provider list +""" diff --git a/src/custom-providers/azext_custom_providers/_params.py b/src/custom-providers/azext_custom_providers/_params.py new file mode 100644 index 00000000000..a4dc6f04469 --- /dev/null +++ b/src/custom-providers/azext_custom_providers/_params.py @@ -0,0 +1,23 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +from azure.cli.core.commands.parameters import ( + tags_type, + get_location_type, + name_type) +from azure.cli.core.commands.validators import get_default_location_from_resource_group +from .actions import (ActionAddAction, ResourceTypeAddAction, ValidationAddAction) + + +def load_arguments(self, _): + with self.argument_context('custom-providers resource-provider') as c: + c.argument('resource_provider_name', arg_type=name_type, help='The name of the resource provider.') + c.argument('location', + arg_type=get_location_type(self.cli_ctx), + validator=get_default_location_from_resource_group) + c.argument('tags', tags_type) + c.argument('actions', options_list=['--action', '-a'], action=ActionAddAction, nargs='+') + c.argument('resource_types', options_list=['--resource-type', '-r'], action=ResourceTypeAddAction, nargs='+') + c.argument('validations', options_list=['--validation', '-v'], action=ValidationAddAction, nargs='+') diff --git a/src/custom-providers/azext_custom_providers/actions.py b/src/custom-providers/azext_custom_providers/actions.py new file mode 100644 index 00000000000..e38a48a6924 --- /dev/null +++ b/src/custom-providers/azext_custom_providers/actions.py @@ -0,0 +1,44 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- +# pylint: disable=protected-access +# pylint: disable=line-too-long +# pylint: disable=too-few-public-methods +import argparse +from knack.util import CLIError + + +class ActionAddAction(argparse._AppendAction): + + def __call__(self, parser, namespace, values, option_string=None): + from azext_custom_providers.vendored_sdks.customproviders.models import CustomRPActionRouteDefinition as model + action = get_object(values, option_string, model) + super(ActionAddAction, self).__call__(parser, namespace, action, option_string) + + +class ResourceTypeAddAction(argparse._AppendAction): + + def __call__(self, parser, namespace, values, option_string=None): + from azext_custom_providers.vendored_sdks.customproviders.models import CustomRPResourceTypeRouteDefinition as model + resource_type = get_object(values, option_string, model) + super(ResourceTypeAddAction, self).__call__(parser, namespace, resource_type, option_string) + + +class ValidationAddAction(argparse._AppendAction): + + def __call__(self, parser, namespace, values, option_string=None): + from azext_custom_providers.vendored_sdks.customproviders.models import CustomRPValidations as model + validation = get_object(values, option_string, model) + super(ValidationAddAction, self).__call__(parser, namespace, validation, option_string) + + +def get_object(values, option_string, model): + kwargs = {} + for item in values: + try: + key, value = item.split('=', 1) + kwargs[key] = value + except ValueError: + raise CLIError('usage error: {} KEY=VALUE [KEY=VALUE ...]'.format(option_string)) + return model(**kwargs) diff --git a/src/custom-providers/azext_custom_providers/azext_metadata.json b/src/custom-providers/azext_custom_providers/azext_metadata.json new file mode 100644 index 00000000000..13025150393 --- /dev/null +++ b/src/custom-providers/azext_custom_providers/azext_metadata.json @@ -0,0 +1,4 @@ +{ + "azext.isExperimental": true, + "azext.minCliCoreVersion": "2.3.1" +} \ No newline at end of file diff --git a/src/custom-providers/azext_custom_providers/commands.py b/src/custom-providers/azext_custom_providers/commands.py new file mode 100644 index 00000000000..f4675335515 --- /dev/null +++ b/src/custom-providers/azext_custom_providers/commands.py @@ -0,0 +1,24 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +# pylint: disable=line-too-long +# pylint: disable=too-many-lines +# pylint: disable=too-many-statements +# pylint: disable=too-many-locals +from azure.cli.core.commands import CliCommandType + + +def load_command_table(self, _): + + from ._client_factory import cf_custom_resource_provider + custom_providers_custom_resource_provider = CliCommandType( + operations_tmpl='azext_custom_providers.vendored_sdks.customproviders.operations._custom_resource_provider_operations#CustomResourceProviderOperations.{}', + client_factory=cf_custom_resource_provider) + with self.command_group('custom-providers resource-provider', custom_providers_custom_resource_provider, client_factory=cf_custom_resource_provider, is_experimental=True) as g: + g.custom_command('create', 'create_custom_providers_custom_resource_provider', supports_no_wait=True) + g.custom_command('update', 'update_custom_providers_custom_resource_provider') + g.custom_command('delete', 'delete_custom_providers_custom_resource_provider', supports_no_wait=True, confirmation=True) + g.custom_show_command('show', 'get_custom_providers_custom_resource_provider') + g.custom_command('list', 'list_custom_providers_custom_resource_provider') diff --git a/src/custom-providers/azext_custom_providers/custom.py b/src/custom-providers/azext_custom_providers/custom.py new file mode 100644 index 00000000000..240586f9211 --- /dev/null +++ b/src/custom-providers/azext_custom_providers/custom.py @@ -0,0 +1,52 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- +# pylint: disable=line-too-long +# pylint: disable=too-many-statements +# pylint: disable=too-many-lines +# pylint: disable=too-many-locals +# pylint: disable=unused-argument +from azure.cli.core.util import sdk_no_wait + + +def create_custom_providers_custom_resource_provider(client, + resource_group_name, + resource_provider_name, + location=None, + tags=None, + actions=None, + resource_types=None, + validations=None, + no_wait=False): + body = {'location': location, 'tags': tags, + 'actions': actions, 'resource_types': resource_types, + 'validations': validations} + return sdk_no_wait(no_wait, client.create_or_update, resource_group_name=resource_group_name, resource_provider_name=resource_provider_name, resource_provider=body) + + +def update_custom_providers_custom_resource_provider(client, + resource_group_name, + resource_provider_name, + tags=None): + return client.update(resource_group_name=resource_group_name, resource_provider_name=resource_provider_name, tags=tags) + + +def delete_custom_providers_custom_resource_provider(client, + resource_group_name, + resource_provider_name, + no_wait=False): + return sdk_no_wait(no_wait, client.delete, resource_group_name=resource_group_name, resource_provider_name=resource_provider_name) + + +def get_custom_providers_custom_resource_provider(client, + resource_group_name, + resource_provider_name): + return client.get(resource_group_name=resource_group_name, resource_provider_name=resource_provider_name) + + +def list_custom_providers_custom_resource_provider(client, + resource_group_name=None): + if resource_group_name: + return client.list_by_resource_group(resource_group_name=resource_group_name) + return client.list_by_subscription() diff --git a/src/custom-providers/azext_custom_providers/tests/latest/recordings/test_custom_providers_common_scenario.yaml b/src/custom-providers/azext_custom_providers/tests/latest/recordings/test_custom_providers_common_scenario.yaml new file mode 100644 index 00000000000..36df7918bf8 --- /dev/null +++ b/src/custom-providers/azext_custom_providers/tests/latest/recordings/test_custom_providers_common_scenario.yaml @@ -0,0 +1,459 @@ +interactions: +- request: + body: '{"location": "westus2", "properties": {"actions": [{"name": "ping", "endpoint": + "https://ayniadjso4lay.azurewebsites.net/api", "routingType": "Proxy"}, {"name": + "ping1", "endpoint": "https://ayniadjso4lay.azurewebsites.net/api1", "routingType": + "Proxy"}], "resourceTypes": [{"name": "users", "endpoint": "https://ayniadjso4lay.azurewebsites.net/api", + "routingType": "Proxy, Cache"}], "validations": [{"validationType": "swagger", + "specification": "https://raw.githubusercontent.com/jsntcy/TestFixDelete/master/test.json"}]}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - custom-providers resource-provider create + Connection: + - keep-alive + Content-Length: + - '524' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - --resource-group --name --location --action --action --resource-type --validation + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 yulocal msrest_azure/0.6.3 + azure-mgmt-customproviders/0.1.0 Azure-SDK-For-Python AZURECLI/2.4.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_custom_providers000001/providers/Microsoft.CustomProviders/resourceProviders/clitest-crp000002?api-version=2018-09-01-preview + response: + body: + string: '{"properties":{"actions":[{"name":"ping","routingType":"Proxy","endpoint":"https://ayniadjso4lay.azurewebsites.net/api"},{"name":"ping1","routingType":"Proxy","endpoint":"https://ayniadjso4lay.azurewebsites.net/api1"}],"resourceTypes":[{"name":"users","routingType":"Proxy, + Cache","endpoint":"https://ayniadjso4lay.azurewebsites.net/api"}],"validations":[{"validationType":"Swagger","specification":"https://raw.githubusercontent.com/jsntcy/TestFixDelete/master/test.json"}],"provisioningState":"Accepted"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_custom_providers000001/providers/Microsoft.CustomProviders/resourceproviders/clitest-crp000002","name":"clitest-crp000002","type":"Microsoft.CustomProviders/resourceproviders","location":"westus2","tags":{}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_custom_providers000001/providers/Microsoft.CustomProviders/locations/westus2/operationstatuses/eyJqb2JJZCI6Ik1SUENSVUQ6MkRDTEk6NUZURVNUOjVGQ1VTVE9NOjVGUFJPVklERVJTU0JJQ0VCUkZGWFlWV0s2T1ZKVDdUUzVJN1FEM0RZM1lFQ0FYWE8zNUsyRFlQT1hFVk86MkRDTElURVNUOjJEQ1JQNEpOVDNGSEZJIiwiam9iTG9jYXRpb24iOiJXRVNUVVMyIn0?api-version=2018-09-01-preview + cache-control: + - no-cache + content-length: + - '846' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 09 May 2020 08:16:10 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - custom-providers resource-provider create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --action --action --resource-type --validation + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 yulocal msrest_azure/0.6.3 + azure-mgmt-customproviders/0.1.0 Azure-SDK-For-Python AZURECLI/2.4.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_custom_providers000001/providers/Microsoft.CustomProviders/locations/westus2/operationstatuses/eyJqb2JJZCI6Ik1SUENSVUQ6MkRDTEk6NUZURVNUOjVGQ1VTVE9NOjVGUFJPVklERVJTU0JJQ0VCUkZGWFlWV0s2T1ZKVDdUUzVJN1FEM0RZM1lFQ0FYWE8zNUsyRFlQT1hFVk86MkRDTElURVNUOjJEQ1JQNEpOVDNGSEZJIiwiam9iTG9jYXRpb24iOiJXRVNUVVMyIn0?api-version=2018-09-01-preview + response: + body: + string: '{"status":"Succeeded"}' + headers: + cache-control: + - no-cache + content-length: + - '22' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 09 May 2020 08:16:26 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_custom_providers000001/providers/Microsoft.CustomProviders/locations/westus2/operationstatuses/eyJqb2JJZCI6Ik1SUENSVUQ6MkRDTEk6NUZURVNUOjVGQ1VTVE9NOjVGUFJPVklERVJTU0JJQ0VCUkZGWFlWV0s2T1ZKVDdUUzVJN1FEM0RZM1lFQ0FYWE8zNUsyRFlQT1hFVk86MkRDTElURVNUOjJEQ1JQNEpOVDNGSEZJIiwiam9iTG9jYXRpb24iOiJXRVNUVVMyIn0?api-version=2018-09-01-preview + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - custom-providers resource-provider create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --action --action --resource-type --validation + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 yulocal msrest_azure/0.6.3 + azure-mgmt-customproviders/0.1.0 Azure-SDK-For-Python AZURECLI/2.4.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_custom_providers000001/providers/Microsoft.CustomProviders/resourceProviders/clitest-crp000002?api-version=2018-09-01-preview + response: + body: + string: '{"properties":{"actions":[{"name":"ping","routingType":"Proxy","endpoint":"https://ayniadjso4lay.azurewebsites.net/api"},{"name":"ping1","routingType":"Proxy","endpoint":"https://ayniadjso4lay.azurewebsites.net/api1"}],"resourceTypes":[{"name":"users","routingType":"Proxy, + Cache","endpoint":"https://ayniadjso4lay.azurewebsites.net/api"}],"validations":[{"validationType":"Swagger","specification":"https://raw.githubusercontent.com/jsntcy/TestFixDelete/master/test.json"}],"provisioningState":"Succeeded"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_custom_providers000001/providers/Microsoft.CustomProviders/resourceproviders/clitest-crp000002","name":"clitest-crp000002","type":"Microsoft.CustomProviders/resourceproviders","location":"westus2","tags":{}}' + headers: + cache-control: + - no-cache + content-length: + - '847' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 09 May 2020 08:16:27 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - custom-providers resource-provider show + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 yulocal msrest_azure/0.6.3 + azure-mgmt-customproviders/0.1.0 Azure-SDK-For-Python AZURECLI/2.4.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_custom_providers000001/providers/Microsoft.CustomProviders/resourceProviders/clitest-crp000002?api-version=2018-09-01-preview + response: + body: + string: '{"properties":{"actions":[{"name":"ping","routingType":"Proxy","endpoint":"https://ayniadjso4lay.azurewebsites.net/api"},{"name":"ping1","routingType":"Proxy","endpoint":"https://ayniadjso4lay.azurewebsites.net/api1"}],"resourceTypes":[{"name":"users","routingType":"Proxy, + Cache","endpoint":"https://ayniadjso4lay.azurewebsites.net/api"}],"validations":[{"validationType":"Swagger","specification":"https://raw.githubusercontent.com/jsntcy/TestFixDelete/master/test.json"}],"provisioningState":"Succeeded"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_custom_providers000001/providers/Microsoft.CustomProviders/resourceproviders/clitest-crp000002","name":"clitest-crp000002","type":"Microsoft.CustomProviders/resourceproviders","location":"westus2","tags":{}}' + headers: + cache-control: + - no-cache + content-length: + - '847' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 09 May 2020 08:16:30 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - custom-providers resource-provider list + Connection: + - keep-alive + ParameterSetName: + - --resource-group + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 yulocal msrest_azure/0.6.3 + azure-mgmt-customproviders/0.1.0 Azure-SDK-For-Python AZURECLI/2.4.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_custom_providers000001/providers/Microsoft.CustomProviders/resourceProviders?api-version=2018-09-01-preview + response: + body: + string: '{"value":[{"properties":{"actions":[{"name":"ping","routingType":"Proxy","endpoint":"https://ayniadjso4lay.azurewebsites.net/api"},{"name":"ping1","routingType":"Proxy","endpoint":"https://ayniadjso4lay.azurewebsites.net/api1"}],"resourceTypes":[{"name":"users","routingType":"Proxy, + Cache","endpoint":"https://ayniadjso4lay.azurewebsites.net/api"}],"validations":[{"validationType":"Swagger","specification":"https://raw.githubusercontent.com/jsntcy/TestFixDelete/master/test.json"}],"provisioningState":"Succeeded"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_custom_providers000001/providers/Microsoft.CustomProviders/resourceproviders/clitest-crp000002","name":"clitest-crp000002","type":"Microsoft.CustomProviders/resourceproviders","location":"westus2","tags":{}}]}' + headers: + cache-control: + - no-cache + content-length: + - '859' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 09 May 2020 08:16:33 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"tags": {"a": "b"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - custom-providers resource-provider update + Connection: + - keep-alive + Content-Length: + - '20' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - --resource-group --name --tags + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 yulocal msrest_azure/0.6.3 + azure-mgmt-customproviders/0.1.0 Azure-SDK-For-Python AZURECLI/2.4.0 + accept-language: + - en-US + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_custom_providers000001/providers/Microsoft.CustomProviders/resourceProviders/clitest-crp000002?api-version=2018-09-01-preview + response: + body: + string: '{"properties":{"actions":[{"name":"ping","routingType":"Proxy","endpoint":"https://ayniadjso4lay.azurewebsites.net/api"},{"name":"ping1","routingType":"Proxy","endpoint":"https://ayniadjso4lay.azurewebsites.net/api1"}],"resourceTypes":[{"name":"users","routingType":"Proxy, + Cache","endpoint":"https://ayniadjso4lay.azurewebsites.net/api"}],"validations":[{"validationType":"Swagger","specification":"https://raw.githubusercontent.com/jsntcy/TestFixDelete/master/test.json"}],"provisioningState":"Succeeded"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_custom_providers000001/providers/Microsoft.CustomProviders/resourceproviders/clitest-crp000002","name":"clitest-crp000002","type":"Microsoft.CustomProviders/resourceproviders","location":"westus2","tags":{"a":"b"}}' + headers: + cache-control: + - no-cache + content-length: + - '854' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 09 May 2020 08:16:40 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - custom-providers resource-provider delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --resource-group --name -y + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 yulocal msrest_azure/0.6.3 + azure-mgmt-customproviders/0.1.0 Azure-SDK-For-Python AZURECLI/2.4.0 + accept-language: + - en-US + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_custom_providers000001/providers/Microsoft.CustomProviders/resourceProviders/clitest-crp000002?api-version=2018-09-01-preview + response: + body: + string: 'null' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_custom_providers000001/providers/Microsoft.CustomProviders/locations/westus2/operationstatuses/eyJqb2JJZCI6Ik1SUENSVUQ6MkRDTEk6NUZURVNUOjVGQ1VTVE9NOjVGUFJPVklERVJTU0JJQ0VCUkZGWFlWV0s2T1ZKVDdUUzVJN1FEM0RZM1lFQ0FYWE8zNUsyRFlQT1hFVk86MkRDTElURVNUOjJEQ1JQNEpOVDNGSEZJIiwiam9iTG9jYXRpb24iOiJXRVNUVVMyIn0?api-version=2018-09-01-preview + cache-control: + - no-cache + content-length: + - '4' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 09 May 2020 08:16:44 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_custom_providers000001/providers/Microsoft.CustomProviders/locations/westus2/operationresults/eyJqb2JJZCI6Ik1SUENSVUQ6MkRDTEk6NUZURVNUOjVGQ1VTVE9NOjVGUFJPVklERVJTU0JJQ0VCUkZGWFlWV0s2T1ZKVDdUUzVJN1FEM0RZM1lFQ0FYWE8zNUsyRFlQT1hFVk86MkRDTElURVNUOjJEQ1JQNEpOVDNGSEZJIiwiam9iTG9jYXRpb24iOiJXRVNUVVMyIn0?api-version=2018-09-01-preview + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - custom-providers resource-provider delete + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -y + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 yulocal msrest_azure/0.6.3 + azure-mgmt-customproviders/0.1.0 Azure-SDK-For-Python AZURECLI/2.4.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_custom_providers000001/providers/Microsoft.CustomProviders/locations/westus2/operationstatuses/eyJqb2JJZCI6Ik1SUENSVUQ6MkRDTEk6NUZURVNUOjVGQ1VTVE9NOjVGUFJPVklERVJTU0JJQ0VCUkZGWFlWV0s2T1ZKVDdUUzVJN1FEM0RZM1lFQ0FYWE8zNUsyRFlQT1hFVk86MkRDTElURVNUOjJEQ1JQNEpOVDNGSEZJIiwiam9iTG9jYXRpb24iOiJXRVNUVVMyIn0?api-version=2018-09-01-preview + response: + body: + string: '{"status":"Succeeded"}' + headers: + cache-control: + - no-cache + content-length: + - '22' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 09 May 2020 08:17:00 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_custom_providers000001/providers/Microsoft.CustomProviders/locations/westus2/operationstatuses/eyJqb2JJZCI6Ik1SUENSVUQ6MkRDTEk6NUZURVNUOjVGQ1VTVE9NOjVGUFJPVklERVJTU0JJQ0VCUkZGWFlWV0s2T1ZKVDdUUzVJN1FEM0RZM1lFQ0FYWE8zNUsyRFlQT1hFVk86MkRDTElURVNUOjJEQ1JQNEpOVDNGSEZJIiwiam9iTG9jYXRpb24iOiJXRVNUVVMyIn0?api-version=2018-09-01-preview + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - custom-providers resource-provider show + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 yulocal msrest_azure/0.6.3 + azure-mgmt-customproviders/0.1.0 Azure-SDK-For-Python AZURECLI/2.4.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_custom_providers000001/providers/Microsoft.CustomProviders/resourceProviders/clitest-crp000002?api-version=2018-09-01-preview + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Sat, 09 May 2020 08:17:03 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 404 + message: Not Found +version: 1 diff --git a/src/custom-providers/azext_custom_providers/tests/latest/test_custom-providers_scenario.py b/src/custom-providers/azext_custom_providers/tests/latest/test_custom-providers_scenario.py new file mode 100644 index 00000000000..c7e31291a46 --- /dev/null +++ b/src/custom-providers/azext_custom_providers/tests/latest/test_custom-providers_scenario.py @@ -0,0 +1,86 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +from azure.cli.testsdk import (ScenarioTest, ResourceGroupPreparer) + + +class CustomProvidersScenarioTest(ScenarioTest): + + @ResourceGroupPreparer(name_prefix='cli_test_custom_providers') + def test_custom_providers_common_scenario(self): + + rp_name = self.create_random_name('clitest-crp', 20) + self.kwargs.update({ + 'rp_name': rp_name + }) + + self.cmd('az custom-providers resource-provider create ' + '--resource-group {rg} ' + '--name {rp_name} ' + '--location westus2 ' + '--action ' + 'name=ping ' + 'endpoint=https://ayniadjso4lay.azurewebsites.net/api ' + 'routing_type=Proxy ' + '--action ' + 'name=ping1 ' + 'endpoint=https://ayniadjso4lay.azurewebsites.net/api1 ' + 'routing_type=Proxy ' + '--resource-type ' + 'name=users ' + 'endpoint=https://ayniadjso4lay.azurewebsites.net/api ' + 'routing_type="Proxy, Cache" ' + '--validation ' + 'validation_type=swagger ' + 'specification=https://raw.githubusercontent.com/jsntcy/TestFixDelete/master/test.json', + checks=[ + self.check('provisioningState', 'Succeeded'), + self.check('name', rp_name), + self.check('actions[0].name', 'ping'), + self.check('resourceTypes[0].name', 'users'), + self.check('validations[0].validationType', 'Swagger') + ]) + + self.cmd('az custom-providers resource-provider show ' + '--resource-group {rg} ' + '--name {rp_name}', + checks=[ + self.check('provisioningState', 'Succeeded'), + self.check('name', rp_name), + self.check('actions[0].name', 'ping'), + self.check('actions[0].endpoint', 'https://ayniadjso4lay.azurewebsites.net/api'), + self.check('actions[0].routingType', 'Proxy'), + self.check('resourceTypes[0].name', 'users'), + self.check('resourceTypes[0].endpoint', 'https://ayniadjso4lay.azurewebsites.net/api'), + self.check('resourceTypes[0].routingType', 'Proxy, Cache'), + self.check('validations[0].validationType', 'Swagger'), + self.check('validations[0].specification', + 'https://raw.githubusercontent.com/jsntcy/TestFixDelete/master/test.json') + ]) + + self.cmd('az custom-providers resource-provider list ' + '--resource-group {rg}', + checks=[ + self.check('length(@)', 1) + ]) + + self.cmd('az custom-providers resource-provider update ' + '--resource-group {rg} ' + '--name {rp_name} ' + '--tags a=b', + checks=[ + self.check('tags.a', 'b'), + ]) + + self.cmd('az custom-providers resource-provider delete ' + '--resource-group {rg} ' + '--name {rp_name} ' + '-y', + checks=[]) + + self.cmd('az custom-providers resource-provider show ' + '--resource-group {rg} ' + '--name {rp_name}', + expect_failure=True) diff --git a/src/custom-providers/azext_custom_providers/vendored_sdks/__init__.py b/src/custom-providers/azext_custom_providers/vendored_sdks/__init__.py new file mode 100644 index 00000000000..0260537a02b --- /dev/null +++ b/src/custom-providers/azext_custom_providers/vendored_sdks/__init__.py @@ -0,0 +1 @@ +__path__ = __import__('pkgutil').extend_path(__path__, __name__) \ No newline at end of file diff --git a/src/custom-providers/azext_custom_providers/vendored_sdks/customproviders/__init__.py b/src/custom-providers/azext_custom_providers/vendored_sdks/customproviders/__init__.py new file mode 100644 index 00000000000..6fa80a79fc8 --- /dev/null +++ b/src/custom-providers/azext_custom_providers/vendored_sdks/customproviders/__init__.py @@ -0,0 +1,19 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from ._configuration import CustomProvidersClientConfiguration +from ._custom_providers_client import CustomProvidersClient +__all__ = ['CustomProvidersClient', 'CustomProvidersClientConfiguration'] + +from .version import VERSION + +__version__ = VERSION + diff --git a/src/custom-providers/azext_custom_providers/vendored_sdks/customproviders/_configuration.py b/src/custom-providers/azext_custom_providers/vendored_sdks/customproviders/_configuration.py new file mode 100644 index 00000000000..b7b2545c2f0 --- /dev/null +++ b/src/custom-providers/azext_custom_providers/vendored_sdks/customproviders/_configuration.py @@ -0,0 +1,49 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +from msrestazure import AzureConfiguration + +from .version import VERSION + + +class CustomProvidersClientConfiguration(AzureConfiguration): + """Configuration for CustomProvidersClient + Note that all parameters used to create this instance are saved as instance + attributes. + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param subscription_id: The Azure subscription ID. This is a + GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000) + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=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 base_url: + base_url = 'https://management.azure.com' + + super(CustomProvidersClientConfiguration, self).__init__(base_url) + + # Starting Autorest.Python 4.0.64, make connection pool activated by default + self.keep_alive = True + + self.add_user_agent('azure-mgmt-customproviders/{}'.format(VERSION)) + self.add_user_agent('Azure-SDK-For-Python') + + self.credentials = credentials + self.subscription_id = subscription_id diff --git a/src/custom-providers/azext_custom_providers/vendored_sdks/customproviders/_custom_providers_client.py b/src/custom-providers/azext_custom_providers/vendored_sdks/customproviders/_custom_providers_client.py new file mode 100644 index 00000000000..099a8d5e31b --- /dev/null +++ b/src/custom-providers/azext_custom_providers/vendored_sdks/customproviders/_custom_providers_client.py @@ -0,0 +1,60 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.service_client import SDKClient +from msrest import Serializer, Deserializer + +from ._configuration import CustomProvidersClientConfiguration +from .operations import Operations +from .operations import CustomResourceProviderOperations +from .operations import AssociationsOperations +from . import models + + +class CustomProvidersClient(SDKClient): + """Allows extension of ARM control plane with custom resource providers. + + :ivar config: Configuration for client. + :vartype config: CustomProvidersClientConfiguration + + :ivar operations: Operations operations + :vartype operations: azure.mgmt.customproviders.operations.Operations + :ivar custom_resource_provider: CustomResourceProvider operations + :vartype custom_resource_provider: azure.mgmt.customproviders.operations.CustomResourceProviderOperations + :ivar associations: Associations operations + :vartype associations: azure.mgmt.customproviders.operations.AssociationsOperations + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param subscription_id: The Azure subscription ID. This is a + GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000) + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=None): + + self.config = CustomProvidersClientConfiguration(credentials, subscription_id, base_url) + super(CustomProvidersClient, self).__init__(self.config.credentials, self.config) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self.api_version = '2018-09-01-preview' + self._serialize = Serializer(client_models) + self._deserialize = Deserializer(client_models) + + self.operations = Operations( + self._client, self.config, self._serialize, self._deserialize) + self.custom_resource_provider = CustomResourceProviderOperations( + self._client, self.config, self._serialize, self._deserialize) + self.associations = AssociationsOperations( + self._client, self.config, self._serialize, self._deserialize) diff --git a/src/custom-providers/azext_custom_providers/vendored_sdks/customproviders/models/__init__.py b/src/custom-providers/azext_custom_providers/vendored_sdks/customproviders/models/__init__.py new file mode 100644 index 00000000000..52df0f54944 --- /dev/null +++ b/src/custom-providers/azext_custom_providers/vendored_sdks/customproviders/models/__init__.py @@ -0,0 +1,68 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +try: + from ._models_py3 import Association + from ._models_py3 import CustomRPActionRouteDefinition + from ._models_py3 import CustomRPManifest + from ._models_py3 import CustomRPResourceTypeRouteDefinition + from ._models_py3 import CustomRPRouteDefinition + from ._models_py3 import CustomRPValidations + from ._models_py3 import ErrorDefinition + from ._models_py3 import ErrorResponse, ErrorResponseException + from ._models_py3 import Resource + from ._models_py3 import ResourceProviderOperation + from ._models_py3 import ResourceProviderOperationDisplay + from ._models_py3 import ResourceProvidersUpdate +except (SyntaxError, ImportError): + from ._models import Association + from ._models import CustomRPActionRouteDefinition + from ._models import CustomRPManifest + from ._models import CustomRPResourceTypeRouteDefinition + from ._models import CustomRPRouteDefinition + from ._models import CustomRPValidations + from ._models import ErrorDefinition + from ._models import ErrorResponse, ErrorResponseException + from ._models import Resource + from ._models import ResourceProviderOperation + from ._models import ResourceProviderOperationDisplay + from ._models import ResourceProvidersUpdate +from ._paged_models import AssociationPaged +from ._paged_models import CustomRPManifestPaged +from ._paged_models import ResourceProviderOperationPaged +from ._custom_providers_client_enums import ( + ActionRouting, + ResourceTypeRouting, + ValidationType, + ProvisioningState, +) + +__all__ = [ + 'Association', + 'CustomRPActionRouteDefinition', + 'CustomRPManifest', + 'CustomRPResourceTypeRouteDefinition', + 'CustomRPRouteDefinition', + 'CustomRPValidations', + 'ErrorDefinition', + 'ErrorResponse', 'ErrorResponseException', + 'Resource', + 'ResourceProviderOperation', + 'ResourceProviderOperationDisplay', + 'ResourceProvidersUpdate', + 'ResourceProviderOperationPaged', + 'CustomRPManifestPaged', + 'AssociationPaged', + 'ActionRouting', + 'ResourceTypeRouting', + 'ValidationType', + 'ProvisioningState', +] diff --git a/src/custom-providers/azext_custom_providers/vendored_sdks/customproviders/models/_custom_providers_client_enums.py b/src/custom-providers/azext_custom_providers/vendored_sdks/customproviders/models/_custom_providers_client_enums.py new file mode 100644 index 00000000000..66c28c30a9a --- /dev/null +++ b/src/custom-providers/azext_custom_providers/vendored_sdks/customproviders/models/_custom_providers_client_enums.py @@ -0,0 +1,37 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from enum import Enum + + +class ActionRouting(str, Enum): + + proxy = "Proxy" + + +class ResourceTypeRouting(str, Enum): + + proxy = "Proxy" + proxy_cache = "Proxy,Cache" + + +class ValidationType(str, Enum): + + swagger = "Swagger" + + +class ProvisioningState(str, Enum): + + accepted = "Accepted" + deleting = "Deleting" + running = "Running" + succeeded = "Succeeded" + failed = "Failed" diff --git a/src/custom-providers/azext_custom_providers/vendored_sdks/customproviders/models/_models.py b/src/custom-providers/azext_custom_providers/vendored_sdks/customproviders/models/_models.py new file mode 100644 index 00000000000..4f296d9d2ad --- /dev/null +++ b/src/custom-providers/azext_custom_providers/vendored_sdks/customproviders/models/_models.py @@ -0,0 +1,440 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model +from msrest.exceptions import HttpOperationError + + +class Association(Model): + """The resource definition of this association. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: The association id. + :vartype id: str + :ivar name: The association name. + :vartype name: str + :ivar type: The association type. + :vartype type: str + :param target_resource_id: The REST resource instance of the target + resource for this association. + :type target_resource_id: str + :ivar provisioning_state: The provisioning state of the association. + Possible values include: 'Accepted', 'Deleting', 'Running', 'Succeeded', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.customproviders.models.ProvisioningState + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'target_resource_id': {'key': 'properties.targetResourceId', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Association, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.target_resource_id = kwargs.get('target_resource_id', None) + self.provisioning_state = None + + +class CloudError(Model): + """CloudError. + """ + + _attribute_map = { + } + + +class CustomRPRouteDefinition(Model): + """A route definition that defines an action or resource that can be + interacted with through the custom resource provider. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. The name of the route definition. This becomes the + name for the ARM extension (e.g. + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}/{name}') + :type name: str + :param endpoint: Required. The route definition endpoint URI that the + custom resource provider will proxy requests to. This can be in the form + of a flat URI (e.g. 'https://testendpoint/') or can specify to route via a + path (e.g. 'https://testendpoint/{requestPath}') + :type endpoint: str + """ + + _validation = { + 'name': {'required': True}, + 'endpoint': {'required': True, 'pattern': r'^https://.+'}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'endpoint': {'key': 'endpoint', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(CustomRPRouteDefinition, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.endpoint = kwargs.get('endpoint', None) + + +class CustomRPActionRouteDefinition(CustomRPRouteDefinition): + """The route definition for an action implemented by the custom resource + provider. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. The name of the route definition. This becomes the + name for the ARM extension (e.g. + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}/{name}') + :type name: str + :param endpoint: Required. The route definition endpoint URI that the + custom resource provider will proxy requests to. This can be in the form + of a flat URI (e.g. 'https://testendpoint/') or can specify to route via a + path (e.g. 'https://testendpoint/{requestPath}') + :type endpoint: str + :param routing_type: The routing types that are supported for action + requests. Possible values include: 'Proxy' + :type routing_type: str or + ~azure.mgmt.customproviders.models.ActionRouting + """ + + _validation = { + 'name': {'required': True}, + 'endpoint': {'required': True, 'pattern': r'^https://.+'}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'endpoint': {'key': 'endpoint', 'type': 'str'}, + 'routing_type': {'key': 'routingType', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(CustomRPActionRouteDefinition, self).__init__(**kwargs) + self.routing_type = kwargs.get('routing_type', None) + + +class Resource(Model): + """The resource definition. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Resource Id + :vartype id: str + :ivar name: Resource name + :vartype name: str + :ivar type: Resource type + :vartype type: str + :param location: Required. Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, **kwargs): + super(Resource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.location = kwargs.get('location', None) + self.tags = kwargs.get('tags', None) + + +class CustomRPManifest(Resource): + """A manifest file that defines the custom resource provider resources. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Resource Id + :vartype id: str + :ivar name: Resource name + :vartype name: str + :ivar type: Resource type + :vartype type: str + :param location: Required. Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + :param actions: A list of actions that the custom resource provider + implements. + :type actions: + list[~azure.mgmt.customproviders.models.CustomRPActionRouteDefinition] + :param resource_types: A list of resource types that the custom resource + provider implements. + :type resource_types: + list[~azure.mgmt.customproviders.models.CustomRPResourceTypeRouteDefinition] + :param validations: A list of validations to run on the custom resource + provider's requests. + :type validations: + list[~azure.mgmt.customproviders.models.CustomRPValidations] + :ivar provisioning_state: The provisioning state of the resource provider. + Possible values include: 'Accepted', 'Deleting', 'Running', 'Succeeded', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.customproviders.models.ProvisioningState + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'actions': {'key': 'properties.actions', 'type': '[CustomRPActionRouteDefinition]'}, + 'resource_types': {'key': 'properties.resourceTypes', 'type': '[CustomRPResourceTypeRouteDefinition]'}, + 'validations': {'key': 'properties.validations', 'type': '[CustomRPValidations]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(CustomRPManifest, self).__init__(**kwargs) + self.actions = kwargs.get('actions', None) + self.resource_types = kwargs.get('resource_types', None) + self.validations = kwargs.get('validations', None) + self.provisioning_state = None + + +class CustomRPResourceTypeRouteDefinition(CustomRPRouteDefinition): + """The route definition for a resource implemented by the custom resource + provider. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. The name of the route definition. This becomes the + name for the ARM extension (e.g. + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}/{name}') + :type name: str + :param endpoint: Required. The route definition endpoint URI that the + custom resource provider will proxy requests to. This can be in the form + of a flat URI (e.g. 'https://testendpoint/') or can specify to route via a + path (e.g. 'https://testendpoint/{requestPath}') + :type endpoint: str + :param routing_type: The routing types that are supported for resource + requests. Possible values include: 'Proxy', 'Proxy,Cache' + :type routing_type: str or + ~azure.mgmt.customproviders.models.ResourceTypeRouting + """ + + _validation = { + 'name': {'required': True}, + 'endpoint': {'required': True, 'pattern': r'^https://.+'}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'endpoint': {'key': 'endpoint', 'type': 'str'}, + 'routing_type': {'key': 'routingType', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(CustomRPResourceTypeRouteDefinition, self).__init__(**kwargs) + self.routing_type = kwargs.get('routing_type', None) + + +class CustomRPValidations(Model): + """A validation to apply on custom resource provider requests. + + All required parameters must be populated in order to send to Azure. + + :param validation_type: The type of validation to run against a matching + request. Possible values include: 'Swagger' + :type validation_type: str or + ~azure.mgmt.customproviders.models.ValidationType + :param specification: Required. A link to the validation specification. + The specification must be hosted on raw.githubusercontent.com. + :type specification: str + """ + + _validation = { + 'specification': {'required': True, 'pattern': r'^https://raw.githubusercontent.com/.+'}, + } + + _attribute_map = { + 'validation_type': {'key': 'validationType', 'type': 'str'}, + 'specification': {'key': 'specification', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(CustomRPValidations, self).__init__(**kwargs) + self.validation_type = kwargs.get('validation_type', None) + self.specification = kwargs.get('specification', None) + + +class ErrorDefinition(Model): + """Error definition. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar code: Service specific error code which serves as the substatus for + the HTTP error code. + :vartype code: str + :ivar message: Description of the error. + :vartype message: str + :ivar details: Internal error details. + :vartype details: list[~azure.mgmt.customproviders.models.ErrorDefinition] + """ + + _validation = { + 'code': {'readonly': True}, + 'message': {'readonly': True}, + 'details': {'readonly': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[ErrorDefinition]'}, + } + + def __init__(self, **kwargs): + super(ErrorDefinition, self).__init__(**kwargs) + self.code = None + self.message = None + self.details = None + + +class ErrorResponse(Model): + """Error response. + + :param error: The error details. + :type error: ~azure.mgmt.customproviders.models.ErrorDefinition + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'ErrorDefinition'}, + } + + def __init__(self, **kwargs): + super(ErrorResponse, self).__init__(**kwargs) + self.error = kwargs.get('error', None) + + +class ErrorResponseException(HttpOperationError): + """Server responsed with exception of type: 'ErrorResponse'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(ErrorResponseException, self).__init__(deserialize, response, 'ErrorResponse', *args) + + +class ResourceProviderOperation(Model): + """Supported operations of this resource provider. + + :param name: Operation name, in format of + {provider}/{resource}/{operation} + :type name: str + :param display: Display metadata associated with the operation. + :type display: + ~azure.mgmt.customproviders.models.ResourceProviderOperationDisplay + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'ResourceProviderOperationDisplay'}, + } + + def __init__(self, **kwargs): + super(ResourceProviderOperation, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.display = kwargs.get('display', None) + + +class ResourceProviderOperationDisplay(Model): + """Display metadata associated with the operation. + + :param provider: Resource provider: Microsoft Custom Providers. + :type provider: str + :param resource: Resource on which the operation is performed. + :type resource: str + :param operation: Type of operation: get, read, delete, etc. + :type operation: str + :param description: Description of this operation. + :type description: str + """ + + _attribute_map = { + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ResourceProviderOperationDisplay, self).__init__(**kwargs) + self.provider = kwargs.get('provider', None) + self.resource = kwargs.get('resource', None) + self.operation = kwargs.get('operation', None) + self.description = kwargs.get('description', None) + + +class ResourceProvidersUpdate(Model): + """custom resource provider update information. + + :param tags: Resource tags + :type tags: dict[str, str] + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, **kwargs): + super(ResourceProvidersUpdate, self).__init__(**kwargs) + self.tags = kwargs.get('tags', None) diff --git a/src/custom-providers/azext_custom_providers/vendored_sdks/customproviders/models/_models_py3.py b/src/custom-providers/azext_custom_providers/vendored_sdks/customproviders/models/_models_py3.py new file mode 100644 index 00000000000..08049a74bcc --- /dev/null +++ b/src/custom-providers/azext_custom_providers/vendored_sdks/customproviders/models/_models_py3.py @@ -0,0 +1,440 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model +from msrest.exceptions import HttpOperationError + + +class Association(Model): + """The resource definition of this association. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: The association id. + :vartype id: str + :ivar name: The association name. + :vartype name: str + :ivar type: The association type. + :vartype type: str + :param target_resource_id: The REST resource instance of the target + resource for this association. + :type target_resource_id: str + :ivar provisioning_state: The provisioning state of the association. + Possible values include: 'Accepted', 'Deleting', 'Running', 'Succeeded', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.customproviders.models.ProvisioningState + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'target_resource_id': {'key': 'properties.targetResourceId', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + } + + def __init__(self, *, target_resource_id: str=None, **kwargs) -> None: + super(Association, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.target_resource_id = target_resource_id + self.provisioning_state = None + + +class CloudError(Model): + """CloudError. + """ + + _attribute_map = { + } + + +class CustomRPRouteDefinition(Model): + """A route definition that defines an action or resource that can be + interacted with through the custom resource provider. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. The name of the route definition. This becomes the + name for the ARM extension (e.g. + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}/{name}') + :type name: str + :param endpoint: Required. The route definition endpoint URI that the + custom resource provider will proxy requests to. This can be in the form + of a flat URI (e.g. 'https://testendpoint/') or can specify to route via a + path (e.g. 'https://testendpoint/{requestPath}') + :type endpoint: str + """ + + _validation = { + 'name': {'required': True}, + 'endpoint': {'required': True, 'pattern': r'^https://.+'}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'endpoint': {'key': 'endpoint', 'type': 'str'}, + } + + def __init__(self, *, name: str, endpoint: str, **kwargs) -> None: + super(CustomRPRouteDefinition, self).__init__(**kwargs) + self.name = name + self.endpoint = endpoint + + +class CustomRPActionRouteDefinition(CustomRPRouteDefinition): + """The route definition for an action implemented by the custom resource + provider. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. The name of the route definition. This becomes the + name for the ARM extension (e.g. + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}/{name}') + :type name: str + :param endpoint: Required. The route definition endpoint URI that the + custom resource provider will proxy requests to. This can be in the form + of a flat URI (e.g. 'https://testendpoint/') or can specify to route via a + path (e.g. 'https://testendpoint/{requestPath}') + :type endpoint: str + :param routing_type: The routing types that are supported for action + requests. Possible values include: 'Proxy' + :type routing_type: str or + ~azure.mgmt.customproviders.models.ActionRouting + """ + + _validation = { + 'name': {'required': True}, + 'endpoint': {'required': True, 'pattern': r'^https://.+'}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'endpoint': {'key': 'endpoint', 'type': 'str'}, + 'routing_type': {'key': 'routingType', 'type': 'str'}, + } + + def __init__(self, *, name: str, endpoint: str, routing_type=None, **kwargs) -> None: + super(CustomRPActionRouteDefinition, self).__init__(name=name, endpoint=endpoint, **kwargs) + self.routing_type = routing_type + + +class Resource(Model): + """The resource definition. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Resource Id + :vartype id: str + :ivar name: Resource name + :vartype name: str + :ivar type: Resource type + :vartype type: str + :param location: Required. Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, *, location: str, tags=None, **kwargs) -> None: + super(Resource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.location = location + self.tags = tags + + +class CustomRPManifest(Resource): + """A manifest file that defines the custom resource provider resources. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Resource Id + :vartype id: str + :ivar name: Resource name + :vartype name: str + :ivar type: Resource type + :vartype type: str + :param location: Required. Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + :param actions: A list of actions that the custom resource provider + implements. + :type actions: + list[~azure.mgmt.customproviders.models.CustomRPActionRouteDefinition] + :param resource_types: A list of resource types that the custom resource + provider implements. + :type resource_types: + list[~azure.mgmt.customproviders.models.CustomRPResourceTypeRouteDefinition] + :param validations: A list of validations to run on the custom resource + provider's requests. + :type validations: + list[~azure.mgmt.customproviders.models.CustomRPValidations] + :ivar provisioning_state: The provisioning state of the resource provider. + Possible values include: 'Accepted', 'Deleting', 'Running', 'Succeeded', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.customproviders.models.ProvisioningState + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'actions': {'key': 'properties.actions', 'type': '[CustomRPActionRouteDefinition]'}, + 'resource_types': {'key': 'properties.resourceTypes', 'type': '[CustomRPResourceTypeRouteDefinition]'}, + 'validations': {'key': 'properties.validations', 'type': '[CustomRPValidations]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + } + + def __init__(self, *, location: str, tags=None, actions=None, resource_types=None, validations=None, **kwargs) -> None: + super(CustomRPManifest, self).__init__(location=location, tags=tags, **kwargs) + self.actions = actions + self.resource_types = resource_types + self.validations = validations + self.provisioning_state = None + + +class CustomRPResourceTypeRouteDefinition(CustomRPRouteDefinition): + """The route definition for a resource implemented by the custom resource + provider. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. The name of the route definition. This becomes the + name for the ARM extension (e.g. + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}/{name}') + :type name: str + :param endpoint: Required. The route definition endpoint URI that the + custom resource provider will proxy requests to. This can be in the form + of a flat URI (e.g. 'https://testendpoint/') or can specify to route via a + path (e.g. 'https://testendpoint/{requestPath}') + :type endpoint: str + :param routing_type: The routing types that are supported for resource + requests. Possible values include: 'Proxy', 'Proxy,Cache' + :type routing_type: str or + ~azure.mgmt.customproviders.models.ResourceTypeRouting + """ + + _validation = { + 'name': {'required': True}, + 'endpoint': {'required': True, 'pattern': r'^https://.+'}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'endpoint': {'key': 'endpoint', 'type': 'str'}, + 'routing_type': {'key': 'routingType', 'type': 'str'}, + } + + def __init__(self, *, name: str, endpoint: str, routing_type=None, **kwargs) -> None: + super(CustomRPResourceTypeRouteDefinition, self).__init__(name=name, endpoint=endpoint, **kwargs) + self.routing_type = routing_type + + +class CustomRPValidations(Model): + """A validation to apply on custom resource provider requests. + + All required parameters must be populated in order to send to Azure. + + :param validation_type: The type of validation to run against a matching + request. Possible values include: 'Swagger' + :type validation_type: str or + ~azure.mgmt.customproviders.models.ValidationType + :param specification: Required. A link to the validation specification. + The specification must be hosted on raw.githubusercontent.com. + :type specification: str + """ + + _validation = { + 'specification': {'required': True, 'pattern': r'^https://raw.githubusercontent.com/.+'}, + } + + _attribute_map = { + 'validation_type': {'key': 'validationType', 'type': 'str'}, + 'specification': {'key': 'specification', 'type': 'str'}, + } + + def __init__(self, *, specification: str, validation_type=None, **kwargs) -> None: + super(CustomRPValidations, self).__init__(**kwargs) + self.validation_type = validation_type + self.specification = specification + + +class ErrorDefinition(Model): + """Error definition. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar code: Service specific error code which serves as the substatus for + the HTTP error code. + :vartype code: str + :ivar message: Description of the error. + :vartype message: str + :ivar details: Internal error details. + :vartype details: list[~azure.mgmt.customproviders.models.ErrorDefinition] + """ + + _validation = { + 'code': {'readonly': True}, + 'message': {'readonly': True}, + 'details': {'readonly': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[ErrorDefinition]'}, + } + + def __init__(self, **kwargs) -> None: + super(ErrorDefinition, self).__init__(**kwargs) + self.code = None + self.message = None + self.details = None + + +class ErrorResponse(Model): + """Error response. + + :param error: The error details. + :type error: ~azure.mgmt.customproviders.models.ErrorDefinition + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'ErrorDefinition'}, + } + + def __init__(self, *, error=None, **kwargs) -> None: + super(ErrorResponse, self).__init__(**kwargs) + self.error = error + + +class ErrorResponseException(HttpOperationError): + """Server responsed with exception of type: 'ErrorResponse'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(ErrorResponseException, self).__init__(deserialize, response, 'ErrorResponse', *args) + + +class ResourceProviderOperation(Model): + """Supported operations of this resource provider. + + :param name: Operation name, in format of + {provider}/{resource}/{operation} + :type name: str + :param display: Display metadata associated with the operation. + :type display: + ~azure.mgmt.customproviders.models.ResourceProviderOperationDisplay + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'ResourceProviderOperationDisplay'}, + } + + def __init__(self, *, name: str=None, display=None, **kwargs) -> None: + super(ResourceProviderOperation, self).__init__(**kwargs) + self.name = name + self.display = display + + +class ResourceProviderOperationDisplay(Model): + """Display metadata associated with the operation. + + :param provider: Resource provider: Microsoft Custom Providers. + :type provider: str + :param resource: Resource on which the operation is performed. + :type resource: str + :param operation: Type of operation: get, read, delete, etc. + :type operation: str + :param description: Description of this operation. + :type description: str + """ + + _attribute_map = { + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__(self, *, provider: str=None, resource: str=None, operation: str=None, description: str=None, **kwargs) -> None: + super(ResourceProviderOperationDisplay, self).__init__(**kwargs) + self.provider = provider + self.resource = resource + self.operation = operation + self.description = description + + +class ResourceProvidersUpdate(Model): + """custom resource provider update information. + + :param tags: Resource tags + :type tags: dict[str, str] + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, *, tags=None, **kwargs) -> None: + super(ResourceProvidersUpdate, self).__init__(**kwargs) + self.tags = tags diff --git a/src/custom-providers/azext_custom_providers/vendored_sdks/customproviders/models/_paged_models.py b/src/custom-providers/azext_custom_providers/vendored_sdks/customproviders/models/_paged_models.py new file mode 100644 index 00000000000..7928b4d67e2 --- /dev/null +++ b/src/custom-providers/azext_custom_providers/vendored_sdks/customproviders/models/_paged_models.py @@ -0,0 +1,53 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.paging import Paged + + +class ResourceProviderOperationPaged(Paged): + """ + A paging container for iterating over a list of :class:`ResourceProviderOperation ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ResourceProviderOperation]'} + } + + def __init__(self, *args, **kwargs): + + super(ResourceProviderOperationPaged, self).__init__(*args, **kwargs) +class CustomRPManifestPaged(Paged): + """ + A paging container for iterating over a list of :class:`CustomRPManifest ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[CustomRPManifest]'} + } + + def __init__(self, *args, **kwargs): + + super(CustomRPManifestPaged, self).__init__(*args, **kwargs) +class AssociationPaged(Paged): + """ + A paging container for iterating over a list of :class:`Association ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[Association]'} + } + + def __init__(self, *args, **kwargs): + + super(AssociationPaged, self).__init__(*args, **kwargs) diff --git a/src/custom-providers/azext_custom_providers/vendored_sdks/customproviders/operations/__init__.py b/src/custom-providers/azext_custom_providers/vendored_sdks/customproviders/operations/__init__.py new file mode 100644 index 00000000000..fa463a41f90 --- /dev/null +++ b/src/custom-providers/azext_custom_providers/vendored_sdks/customproviders/operations/__init__.py @@ -0,0 +1,20 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from ._operations import Operations +from ._custom_resource_provider_operations import CustomResourceProviderOperations +from ._associations_operations import AssociationsOperations + +__all__ = [ + 'Operations', + 'CustomResourceProviderOperations', + 'AssociationsOperations', +] diff --git a/src/custom-providers/azext_custom_providers/vendored_sdks/customproviders/operations/_associations_operations.py b/src/custom-providers/azext_custom_providers/vendored_sdks/customproviders/operations/_associations_operations.py new file mode 100644 index 00000000000..072810c650d --- /dev/null +++ b/src/custom-providers/azext_custom_providers/vendored_sdks/customproviders/operations/_associations_operations.py @@ -0,0 +1,350 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class AssociationsOperations(object): + """AssociationsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to be used with the HTTP request. Constant value: "2018-09-01-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-09-01-preview" + + self.config = config + + + def _create_or_update_initial( + self, scope, association_name, target_resource_id=None, custom_headers=None, raw=False, **operation_config): + association = models.Association(target_resource_id=target_resource_id) + + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'scope': self._serialize.url("scope", scope, 'str', skip_quote=True), + 'associationName': self._serialize.url("association_name", association_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(association, 'Association') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('Association', response) + if response.status_code == 201: + deserialized = self._deserialize('Association', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, scope, association_name, target_resource_id=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Create or update an association. + + :param scope: The scope of the association. The scope can be any valid + REST resource instance. For example, use + '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Compute/virtualMachines/{vm-name}' + for a virtual machine resource. + :type scope: str + :param association_name: The name of the association. + :type association_name: str + :param target_resource_id: The REST resource instance of the target + resource for this association. + :type target_resource_id: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns Association or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.customproviders.models.Association] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.customproviders.models.Association]] + :raises: + :class:`ErrorResponseException` + """ + raw_result = self._create_or_update_initial( + scope=scope, + association_name=association_name, + target_resource_id=target_resource_id, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('Association', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/{scope}/providers/Microsoft.CustomProviders/associations/{associationName}'} + + + def _delete_initial( + self, scope, association_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'scope': self._serialize.url("scope", scope, 'str', skip_quote=True), + 'associationName': self._serialize.url("association_name", association_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + raise models.ErrorResponseException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, scope, association_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Delete an association. + + :param scope: The scope of the association. + :type scope: str + :param association_name: The name of the association. + :type association_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: + :class:`ErrorResponseException` + """ + raw_result = self._delete_initial( + scope=scope, + association_name=association_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/{scope}/providers/Microsoft.CustomProviders/associations/{associationName}'} + + def get( + self, scope, association_name, custom_headers=None, raw=False, **operation_config): + """Get an association. + + :param scope: The scope of the association. + :type scope: str + :param association_name: The name of the association. + :type association_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: Association or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.customproviders.models.Association or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'scope': self._serialize.url("scope", scope, 'str', skip_quote=True), + 'associationName': self._serialize.url("association_name", association_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('Association', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/{scope}/providers/Microsoft.CustomProviders/associations/{associationName}'} + + def list_all( + self, scope, custom_headers=None, raw=False, **operation_config): + """Gets all association for the given scope. + + :param scope: The scope of the association. + :type scope: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of Association + :rtype: + ~azure.mgmt.customproviders.models.AssociationPaged[~azure.mgmt.customproviders.models.Association] + :raises: + :class:`ErrorResponseException` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_all.metadata['url'] + path_format_arguments = { + 'scope': self._serialize.url("scope", scope, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.AssociationPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_all.metadata = {'url': '/{scope}/providers/Microsoft.CustomProviders/associations'} diff --git a/src/custom-providers/azext_custom_providers/vendored_sdks/customproviders/operations/_custom_resource_provider_operations.py b/src/custom-providers/azext_custom_providers/vendored_sdks/customproviders/operations/_custom_resource_provider_operations.py new file mode 100644 index 00000000000..5eeee033cc1 --- /dev/null +++ b/src/custom-providers/azext_custom_providers/vendored_sdks/customproviders/operations/_custom_resource_provider_operations.py @@ -0,0 +1,484 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class CustomResourceProviderOperations(object): + """CustomResourceProviderOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to be used with the HTTP request. Constant value: "2018-09-01-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-09-01-preview" + + self.config = config + + + def _create_or_update_initial( + self, resource_group_name, resource_provider_name, resource_provider, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'resourceProviderName': self._serialize.url("resource_provider_name", resource_provider_name, 'str', max_length=64, min_length=3) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(resource_provider, 'CustomRPManifest') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('CustomRPManifest', response) + if response.status_code == 201: + deserialized = self._deserialize('CustomRPManifest', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, resource_provider_name, resource_provider, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates the custom resource provider. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param resource_provider_name: The name of the resource provider. + :type resource_provider_name: str + :param resource_provider: The parameters required to create or update + a custom resource provider definition. + :type resource_provider: + ~azure.mgmt.customproviders.models.CustomRPManifest + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns CustomRPManifest or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.customproviders.models.CustomRPManifest] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.customproviders.models.CustomRPManifest]] + :raises: + :class:`ErrorResponseException` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + resource_provider_name=resource_provider_name, + resource_provider=resource_provider, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('CustomRPManifest', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}'} + + + def _delete_initial( + self, resource_group_name, resource_provider_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'resourceProviderName': self._serialize.url("resource_provider_name", resource_provider_name, 'str', max_length=64, min_length=3) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + raise models.ErrorResponseException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, resource_provider_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the custom resource provider. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param resource_provider_name: The name of the resource provider. + :type resource_provider_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: + :class:`ErrorResponseException` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + resource_provider_name=resource_provider_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}'} + + def get( + self, resource_group_name, resource_provider_name, custom_headers=None, raw=False, **operation_config): + """Gets the custom resource provider manifest. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param resource_provider_name: The name of the resource provider. + :type resource_provider_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: CustomRPManifest or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.customproviders.models.CustomRPManifest or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'resourceProviderName': self._serialize.url("resource_provider_name", resource_provider_name, 'str', max_length=64, min_length=3) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('CustomRPManifest', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}'} + + def update( + self, resource_group_name, resource_provider_name, tags=None, custom_headers=None, raw=False, **operation_config): + """Updates an existing custom resource provider. The only value that can + be updated via PATCH currently is the tags. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param resource_provider_name: The name of the resource provider. + :type resource_provider_name: str + :param tags: Resource tags + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: CustomRPManifest or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.customproviders.models.CustomRPManifest or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + patchable_resource = models.ResourceProvidersUpdate(tags=tags) + + # Construct URL + url = self.update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'resourceProviderName': self._serialize.url("resource_provider_name", resource_provider_name, 'str', max_length=64, min_length=3) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(patchable_resource, 'ResourceProvidersUpdate') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('CustomRPManifest', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}'} + + def list_by_resource_group( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Gets all the custom resource providers within a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of CustomRPManifest + :rtype: + ~azure.mgmt.customproviders.models.CustomRPManifestPaged[~azure.mgmt.customproviders.models.CustomRPManifest] + :raises: + :class:`ErrorResponseException` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.CustomRPManifestPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders'} + + def list_by_subscription( + self, custom_headers=None, raw=False, **operation_config): + """Gets all the custom resource providers within a subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of CustomRPManifest + :rtype: + ~azure.mgmt.customproviders.models.CustomRPManifestPaged[~azure.mgmt.customproviders.models.CustomRPManifest] + :raises: + :class:`ErrorResponseException` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_subscription.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.CustomRPManifestPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.CustomProviders/resourceProviders'} diff --git a/src/custom-providers/azext_custom_providers/vendored_sdks/customproviders/operations/_operations.py b/src/custom-providers/azext_custom_providers/vendored_sdks/customproviders/operations/_operations.py new file mode 100644 index 00000000000..3e58a7db597 --- /dev/null +++ b/src/custom-providers/azext_custom_providers/vendored_sdks/customproviders/operations/_operations.py @@ -0,0 +1,100 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse + +from .. import models + + +class Operations(object): + """Operations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to be used with the HTTP request. Constant value: "2018-09-01-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-09-01-preview" + + self.config = config + + def list( + self, custom_headers=None, raw=False, **operation_config): + """The list of operations provided by Microsoft CustomProviders. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of ResourceProviderOperation + :rtype: + ~azure.mgmt.customproviders.models.ResourceProviderOperationPaged[~azure.mgmt.customproviders.models.ResourceProviderOperation] + :raises: + :class:`ErrorResponseException` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.ResourceProviderOperationPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/providers/Microsoft.CustomProviders/operations'} diff --git a/src/healthcareapis/azext_healthcareapis/vendored_sdks/healthcareapis/version.py b/src/custom-providers/azext_custom_providers/vendored_sdks/customproviders/version.py similarity index 100% rename from src/healthcareapis/azext_healthcareapis/vendored_sdks/healthcareapis/version.py rename to src/custom-providers/azext_custom_providers/vendored_sdks/customproviders/version.py diff --git a/src/custom-providers/setup.cfg b/src/custom-providers/setup.cfg new file mode 100644 index 00000000000..3c6e79cf31d --- /dev/null +++ b/src/custom-providers/setup.cfg @@ -0,0 +1,2 @@ +[bdist_wheel] +universal=1 diff --git a/src/custom-providers/setup.py b/src/custom-providers/setup.py new file mode 100644 index 00000000000..149ceed2817 --- /dev/null +++ b/src/custom-providers/setup.py @@ -0,0 +1,58 @@ +#!/usr/bin/env python + +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + + +from codecs import open +from setuptools import setup, find_packages +try: + from azure_bdist_wheel import cmdclass +except ImportError: + from distutils import log as logger + logger.warn("Wheel is not available, disabling bdist_wheel hook") + +# TODO: Confirm this is the right version number you want and it matches your +# HISTORY.rst entry. +VERSION = '0.1.0' + +# The full list of classifiers is available at +# https://pypi.python.org/pypi?%3Aaction=list_classifiers +CLASSIFIERS = [ + 'Development Status :: 4 - Beta', + 'Intended Audience :: Developers', + 'Intended Audience :: System Administrators', + 'Programming Language :: Python', + 'Programming Language :: Python :: 3', + 'Programming Language :: Python :: 3.4', + 'Programming Language :: Python :: 3.5', + 'Programming Language :: Python :: 3.6', + 'License :: OSI Approved :: MIT License', +] + +# TODO: Add any additional SDK dependencies here +DEPENDENCIES = [] + +with open('README.md', 'r', encoding='utf-8') as f: + README = f.read() +with open('HISTORY.rst', 'r', encoding='utf-8') as f: + HISTORY = f.read() + +setup( + name='custom-providers', + version=VERSION, + description='Microsoft Azure Command-Line Tools Custom Providers Extension', + # TODO: Update author and email, if applicable + author='Microsoft Corporation', + author_email='azpycli@microsoft.com', + # TODO: consider pointing directly to your source code instead of the generic repo + url='https://github.com/Azure/azure-cli-extensions', + long_description=README + '\n\n' + HISTORY, + license='MIT', + classifiers=CLASSIFIERS, + packages=find_packages(), + install_requires=DEPENDENCIES, + package_data={'azext_custom_providers': ['azext_metadata.json']}, +) diff --git a/src/databox/HISTORY.rst b/src/databox/HISTORY.rst new file mode 100644 index 00000000000..1c139576ba0 --- /dev/null +++ b/src/databox/HISTORY.rst @@ -0,0 +1,8 @@ +.. :changelog: + +Release History +=============== + +0.1.0 +++++++ +* Initial release. diff --git a/src/databox/README.md b/src/databox/README.md new file mode 100644 index 00000000000..6469a7375ac --- /dev/null +++ b/src/databox/README.md @@ -0,0 +1,83 @@ +# Azure CLI DataBox Extension # +This is a extension for DataBox features. + +### How to use ### +Install this extension using the below CLI command +``` +az extension add --name databox +``` + +### Included Features +#### Manage DataBox jobs: + + +##### Create a DataBox job. + +``` +az databox job create \ + --resource-group rg \ + --name job_name \ + --location westus \ + --sku DataBox \ + --contact-name contact_name \ + --phone phone \ + --email-list email_list \ + --street-address1 street_address1 \ + --city Redmond \ + --state-or-province state_or_province \ + --country US \ + --postal-code postal_code \ + --company-name company_name \ + --storage-account storage_account_1 storage_account_2 \ + --staging-storage-account staging_storage_account \ + --resource-group-for-managed-disk rg-for-managed-disk +``` + +##### Update a DataBox job. +``` +az databox job update \ + --resource-group rg \ + --name job_name \ + --contact-name contact_name \ + --email-list email_list +``` + +##### Get the information for a given job. +``` +az databox job show \ + --resource-group rg \ + --name job_name +``` + +##### List all the jobs under the given resource group or the given subscription +``` +az databox job list +``` +``` +az databox job list \ + --resource-group rg +``` + +##### List the credentials for a given job. +``` +az databox job list-credentials \ + --resource-group rg \ + --name job_name +``` + +##### Cancel a job. +``` +az databox job cancel \ + --resource-group rg \ + --name job_name \ + --reason reason +``` + +##### Delete a job. +``` +az databox job delete \ + --resource-group rg \ + --name job_name +``` + +If you have issues, please give feedback by opening an issue at https://github.com/Azure/azure-cli-extensions/issues. \ No newline at end of file diff --git a/src/databox/azext_databox/__init__.py b/src/databox/azext_databox/__init__.py new file mode 100644 index 00000000000..f7ea258697c --- /dev/null +++ b/src/databox/azext_databox/__init__.py @@ -0,0 +1,32 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +from azure.cli.core import AzCommandsLoader + +import azext_databox._help # pylint: disable=unused-import + + +class DataBoxCommandsLoader(AzCommandsLoader): + + def __init__(self, cli_ctx=None): + from azure.cli.core.commands import CliCommandType + from azext_databox._client_factory import cf_databox + databox_custom = CliCommandType( + operations_tmpl='azext_databox.custom#{}', + client_factory=cf_databox) + super(DataBoxCommandsLoader, self).__init__(cli_ctx=cli_ctx, + custom_command_type=databox_custom) + + def load_command_table(self, args): + from azext_databox.commands import load_command_table + load_command_table(self, args) + return self.command_table + + def load_arguments(self, command): + from azext_databox._params import load_arguments + load_arguments(self, command) + + +COMMAND_LOADER_CLS = DataBoxCommandsLoader diff --git a/src/databox/azext_databox/_client_factory.py b/src/databox/azext_databox/_client_factory.py new file mode 100644 index 00000000000..441837babe7 --- /dev/null +++ b/src/databox/azext_databox/_client_factory.py @@ -0,0 +1,14 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + + +def cf_databox(cli_ctx, *_): + from azure.cli.core.commands.client_factory import get_mgmt_service_client + from azext_databox.vendored_sdks.databox import DataBoxManagementClient + return get_mgmt_service_client(cli_ctx, DataBoxManagementClient) + + +def cf_jobs(cli_ctx, *_): + return cf_databox(cli_ctx).jobs diff --git a/src/databox/azext_databox/_help.py b/src/databox/azext_databox/_help.py new file mode 100644 index 00000000000..0c8d9cad8f8 --- /dev/null +++ b/src/databox/azext_databox/_help.py @@ -0,0 +1,101 @@ +# coding=utf-8 +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +# pylint: disable=too-many-lines +# pylint: disable=line-too-long +from knack.help_files import helps # pylint: disable=unused-import + + +helps['databox job'] = """ + type: group + short-summary: Commands to manage databox job. +""" + +helps['databox job create'] = """ + type: command + short-summary: Create a new job with the specified parameters. + examples: + - name: Create a databox job to use both storage account and managed disk as data destination. + text: |- + az databox job create --resource-group "SdkRg4981" --name "SdkJob3971" --location \\ + "westus" --sku "DataBox" --contact-name "Public SDK Test" \\ + --phone "1234567890" --email-list "testing@microsoft.com" \\ + --street-address1 "16 TOWNSEND ST" --street-address2 "Unit 1" --city "San Francisco" \\ + --state-or-province "CA" --country "US" --postal-code "94107" --company-name "Microsoft" \\ + --storage-account sa1 sa2 --staging-storage-account sa \\ + --resource-group-for-managed-disk /subscriptions/sub/resourceGroups/rg + + - name: Create a databoxdisk job to use storage account as data destination. + text: |- + az databox job create --resource-group "SdkRg4981" --name "SdkJob3971" --location \\ + "westus" --sku "DataBoxDisk" --expected-data-size 1 --contact-name "Public SDK Test" \\ + --phone "1234567890" --email-list "testing@microsoft.com" --street-address1 "16 TOWNSEND ST" \\ + --street-address2 "Unit 1" --city "San Francisco" --state-or-province "CA" --country "US" \\ + --postal-code "94107" --company-name "Microsoft" --storage-account sa1 +""" + +helps['databox job update'] = """ + type: command + short-summary: Update an existing job with the specified parameters. + examples: + - name: Update the job "SdkJob3971" with the specified parameters. + text: |- + az databox job update --resource-group "SdkRg4981" --name "SdkJob3971" \\ + --contact-name "Update Job" --phone "1234567890" \\ + --email-list "testing@microsoft.com" \\ + --street-address1 "16 TOWNSEND ST" \\ + --city "San Francisco" --state-or-province "CA" \\ + --country "US" --postal-code "94107" \\ + --company-name "Microsoft" \\ +""" + +helps['databox job delete'] = """ + type: command + short-summary: Delete a job. + examples: + - name: Delete the job "SdkJob3971" in resource group "SdkRg4981". + text: |- + az databox job delete --resource-group "SdkRg4981" --name "SdkJob3971" +""" + +helps['databox job show'] = """ + type: command + short-summary: Get information about the specified job. + examples: + - name: Get the information about the job "SdkJob3971". + text: |- + az databox job show --resource-group "SdkRg4981" --name "SdkJob3971" +""" + +helps['databox job list'] = """ + type: command + short-summary: List all the jobs available under the given resource group or the given subscription. + examples: + - name: List all the jobs available under the current subscription. + text: |- + az databox job list + - name: List all the jobs available under the resource group "SdkRg4981". + text: |- + az databox job list --resource-group "SdkRg4981" +""" + +helps['databox job cancel'] = """ + type: command + short-summary: Cancel a job. + examples: + - name: Cancel the job "SdkJob3971" under resource group "SdkRg4981". + text: |- + az databox job cancel --resource-group "SdkRg4981" --name "SdkJob3971" --reason "CancelTest" +""" + +helps['databox job list-credentials'] = """ + type: command + short-summary: List the unencrypted secrets related to the job. + examples: + - name: List the unencrypted secrets related to the job "TJ-636646322037905056". + text: |- + az databox job list-credentials --resource-group "bvttoolrg6" --name "TJ-636646322037905056" +""" diff --git a/src/databox/azext_databox/_params.py b/src/databox/azext_databox/_params.py new file mode 100644 index 00000000000..c9d09d4467c --- /dev/null +++ b/src/databox/azext_databox/_params.py @@ -0,0 +1,75 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- +# pylint: disable=line-too-long +# pylint: disable=too-many-lines +# pylint: disable=too-many-statements + +from azure.cli.core.commands.parameters import ( + tags_type, + get_enum_type, + get_location_type +) +from azure.cli.core.commands.validators import get_default_location_from_resource_group +from knack.arguments import CLIArgumentType + + +def load_arguments(self, _): + storage_accounts_type = CLIArgumentType(help='Space-separated list of the destination storage account. It can be the name or resource ID of storage account.', arg_group='Storage Account', nargs='+') + staging_storage_account_type = CLIArgumentType(help='The name or ID of the destination storage account that can be used to copy the vhd for staging.', arg_group='Managed Disk') + resource_group_for_managed_disk_type = CLIArgumentType(help='The name or ID of the destination resource group where the Compute disks should be created.', arg_group='Managed Disk') + job_name_type = CLIArgumentType(options_list=['--name', '-n'], help='The name of the job resource within the specified resource group. job names must be between 3 and 24 characters in length and use any alphanumeric and underscore only') + + with self.argument_context('databox job create') as c: + c.argument('job_name', job_name_type) + c.argument('location', arg_type=get_location_type(self.cli_ctx), default=None, + validator=get_default_location_from_resource_group) + c.argument('tags', tags_type) + c.argument('sku', arg_type=get_enum_type(['DataBox', 'DataBoxDisk', 'DataBoxHeavy']), + help='The sku type of DataBox.') + c.argument('expected_data_size', type=int, help='The expected size of the data which needs to be transferred in this job, in terabytes.The maximum usable capacity is up to 35 TB. This is only needed when sku is DataBoxDisk.') + c.argument('contact_name', help='Contact name of the person.', arg_group='Contact Details') + c.argument('phone', help='Phone number of the contact person.', arg_group='Contact Details') + c.argument('mobile', help='Mobile number of the contact person.', arg_group='Contact Details') + c.argument('email_list', help='Space-separated list of Email addresses to be notified about job progress.', arg_group='Contact Details', nargs='+') + c.argument('street_address1', help='Street Address line 1.', arg_group='Shipping Address') + c.argument('street_address2', help='Street Address line 2.', arg_group='Shipping Address') + c.argument('street_address3', help='Street Address line 3.', arg_group='Shipping Address') + c.argument('city', help='Name of the City.', arg_group='Shipping Address') + c.argument('state_or_province', help='Name of the State or Province.', arg_group='Shipping Address') + c.argument('country', help='Name of the Country. Ex: US', arg_group='Shipping Address') + c.argument('postal_code', help='Postal code.', arg_group='Shipping Address') + c.argument('company_name', help='Name of the company.', arg_group='Shipping Address') + c.extra('storage_accounts', arg_type=storage_accounts_type) + c.extra('staging_storage_account', arg_type=staging_storage_account_type) + c.extra('resource_group_for_managed_disk', arg_type=resource_group_for_managed_disk_type) + c.ignore('destination_account_details') + + with self.argument_context('databox job update') as c: + c.argument('job_name', job_name_type) + c.argument('contact_name', help='Contact name of the person.', arg_group='Contact Details') + c.argument('phone', help='Phone number of the contact person.', arg_group='Contact Details') + c.argument('mobile', help='Mobile number of the contact person.', arg_group='Contact Details') + c.argument('email_list', help='List of Email addresses to be notified about job progress.', arg_group='Contact Details', nargs='+') + c.argument('street_address1', help='Street Address line 1.', arg_group='Shipping Address') + c.argument('street_address2', help='Street Address line 2.', arg_group='Shipping Address') + c.argument('street_address3', help='Street Address line 3.', arg_group='Shipping Address') + c.argument('city', help='Name of the City.', arg_group='Shipping Address') + c.argument('state_or_province', help='Name of the State or Province.', arg_group='Shipping Address') + c.argument('country', help='Name of the Country. Ex: US', arg_group='Shipping Address') + c.argument('postal_code', help='Postal code.', arg_group='Shipping Address') + c.argument('company_name', help='Name of the company.', arg_group='Shipping Address') + + with self.argument_context('databox job delete') as c: + c.argument('job_name', job_name_type) + + with self.argument_context('databox job show') as c: + c.argument('job_name', job_name_type) + + with self.argument_context('databox job cancel') as c: + c.argument('job_name', job_name_type) + c.argument('reason', help='Reason for cancellation.') + + with self.argument_context('databox job list-credentials') as c: + c.argument('job_name', job_name_type) diff --git a/src/databox/azext_databox/_validators.py b/src/databox/azext_databox/_validators.py new file mode 100644 index 00000000000..a4339304141 --- /dev/null +++ b/src/databox/azext_databox/_validators.py @@ -0,0 +1,85 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +# pylint: disable=line-too-long +from azure.cli.core.commands.client_factory import get_subscription_id +from msrestazure.tools import resource_id + + +def validate_create_input_parameters(cmd, namespace): + _parse_storage_account_details(cmd, namespace) + _parse_managed_disk_details(cmd, namespace) + _validate_expected_data_size_for_databoxdisk(namespace) + _validate_destination_account_details(namespace) + + +def _parse_storage_account_details(cmd, namespace): + """Parse storage account details for destination.""" + from msrestazure.tools import is_valid_resource_id + + if not namespace.destination_account_details: + namespace.destination_account_details = [] + + if namespace.storage_accounts: + for storage_account in namespace.storage_accounts: + if storage_account and not is_valid_resource_id(storage_account): + storage_account = resource_id( + subscription=get_subscription_id(cmd.cli_ctx), + resource_group=namespace.resource_group_name, + namespace='Microsoft.Storage', + type='storageAccounts', + name=storage_account + ) + + if storage_account: + storage_account_details = {'storage_account_id': storage_account, + 'data_destination_type': 'StorageAccount'} + namespace.destination_account_details.append(storage_account_details) + + del namespace.storage_accounts + + +def _parse_managed_disk_details(cmd, namespace): + """Parse managed disk details for destination.""" + from msrestazure.tools import is_valid_resource_id + + if not namespace.destination_account_details: + namespace.destination_account_details = [] + + subscription = get_subscription_id(cmd.cli_ctx) + if namespace.staging_storage_account and not is_valid_resource_id(namespace.staging_storage_account): + namespace.staging_storage_account = resource_id( + subscription=subscription, + resource_group=namespace.resource_group_name, + namespace='Microsoft.Storage', + type='storageAccounts', + name=namespace.staging_storage_account + ) + + if namespace.resource_group_for_managed_disk and not is_valid_resource_id( + namespace.resource_group_for_managed_disk): + namespace.resource_group_for_managed_disk = '/subscriptions/' + subscription + '/resourceGroups/' + namespace.resource_group_for_managed_disk + + if namespace.staging_storage_account and namespace.resource_group_for_managed_disk: + managed_disk_details = {'staging_storage_account_id': namespace.staging_storage_account, + 'resource_group_id': namespace.resource_group_for_managed_disk, + 'data_destination_type': 'ManagedDisk'} + namespace.destination_account_details.append(managed_disk_details) + + del namespace.staging_storage_account + del namespace.resource_group_for_managed_disk + + +def _validate_expected_data_size_for_databoxdisk(namespace): + if namespace.sku == 'DataBoxDisk' and not namespace.expected_data_size: + raise ValueError( + "You must provide '--expected-data-size' when the 'sku' is 'DataBoxDisk'.") + + +def _validate_destination_account_details(namespace): + if not namespace.destination_account_details: + raise ValueError( + "You must provide at least one '--storage-account' or the combination of '--staging-storage-account' and " + "'--resource-group-for-managed-disk'") diff --git a/src/databox/azext_databox/azext_metadata.json b/src/databox/azext_databox/azext_metadata.json new file mode 100644 index 00000000000..13025150393 --- /dev/null +++ b/src/databox/azext_databox/azext_metadata.json @@ -0,0 +1,4 @@ +{ + "azext.isExperimental": true, + "azext.minCliCoreVersion": "2.3.1" +} \ No newline at end of file diff --git a/src/databox/azext_databox/commands.py b/src/databox/azext_databox/commands.py new file mode 100644 index 00000000000..c5c6314fb9a --- /dev/null +++ b/src/databox/azext_databox/commands.py @@ -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: disable=line-too-long +# pylint: disable=too-many-lines +# pylint: disable=too-many-statements +# pylint: disable=too-many-locals +from azext_databox._validators import validate_create_input_parameters +from azure.cli.core.commands import CliCommandType + + +def load_command_table(self, _): + + from azext_databox._client_factory import cf_jobs + databox_jobs = CliCommandType( + operations_tmpl='azext_databox.vendored_sdks.databox.operations._jobs_operations#JobsOperations.{}', + client_factory=cf_jobs) + with self.command_group('databox job', databox_jobs, client_factory=cf_jobs, is_experimental=True) as g: + g.custom_command('create', 'create_databox_job', validator=validate_create_input_parameters) + g.custom_command('update', 'update_databox_job') + g.custom_command('delete', 'delete_databox_job', confirmation=True) + g.custom_show_command('show', 'get_databox_job') + g.custom_command('list', 'list_databox_job') + g.custom_command('cancel', 'cancel_databox_job', confirmation=True) + g.custom_command('list-credentials', 'list_credentials_databox_job') diff --git a/src/databox/azext_databox/custom.py b/src/databox/azext_databox/custom.py new file mode 100644 index 00000000000..37ccab20460 --- /dev/null +++ b/src/databox/azext_databox/custom.py @@ -0,0 +1,135 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- +# pylint: disable=line-too-long +# pylint: disable=too-many-statements +# pylint: disable=too-many-lines +# pylint: disable=too-many-locals +# pylint: disable=unused-argument +# pylint: disable=too-many-branches + + +def create_databox_job(client, + resource_group_name, + job_name, + location, + sku, + contact_name, + phone, + city, + email_list, + street_address1, + postal_code, + country, + state_or_province, + destination_account_details, + expected_data_size=None, + tags=None, + mobile=None, + street_address2=None, + street_address3=None, + company_name=None,): + body = {} + body['location'] = location # str + body['tags'] = tags # dictionary + body.setdefault('sku', {})['name'] = sku # str + body.setdefault('details', {})['job_details_type'] = sku + body.setdefault('details', {})['expected_data_size_in_terabytes'] = expected_data_size + body.setdefault('details', {}).setdefault('contact_details', {})['contact_name'] = contact_name # str + body.setdefault('details', {}).setdefault('contact_details', {})['phone'] = phone # str + body.setdefault('details', {}).setdefault('contact_details', {})['mobile'] = mobile # str + body.setdefault('details', {}).setdefault('contact_details', {})['email_list'] = email_list + body.setdefault('details', {}).setdefault('shipping_address', {})['street_address1'] = street_address1 # str + body.setdefault('details', {}).setdefault('shipping_address', {})['street_address2'] = street_address2 # str + body.setdefault('details', {}).setdefault('shipping_address', {})['street_address3'] = street_address3 # str + body.setdefault('details', {}).setdefault('shipping_address', {})['city'] = city # str + body.setdefault('details', {}).setdefault('shipping_address', {})['state_or_province'] = state_or_province # str + body.setdefault('details', {}).setdefault('shipping_address', {})['country'] = country # str + body.setdefault('details', {}).setdefault('shipping_address', {})['postal_code'] = postal_code # str + body.setdefault('details', {}).setdefault('shipping_address', {})['company_name'] = company_name # str + + body.setdefault('details', {})['destination_account_details'] = destination_account_details + + return client.create(resource_group_name=resource_group_name, job_name=job_name, job_resource=body) + + +def update_databox_job(client, + resource_group_name, + job_name, + contact_name=None, + phone=None, + email_list=None, + street_address1=None, + postal_code=None, + country=None, + mobile=None, + city=None, + street_address2=None, + street_address3=None, + state_or_province=None, + company_name=None): + job_resource = get_databox_job(client, resource_group_name, job_name) + job_details = job_resource.details + contact_details = job_details.contact_details + shipping_address = job_details.shipping_address + + body = {} + body.setdefault('details', {}).setdefault('contact_details', {})[ + 'contact_name'] = contact_details.contact_name if contact_name is None else contact_name # str + body.setdefault('details', {}).setdefault('contact_details', {})[ + 'phone'] = contact_details.phone if phone is None else phone # str + body.setdefault('details', {}).setdefault('contact_details', {})[ + 'mobile'] = contact_details.mobile if mobile is None else mobile # str + body.setdefault('details', {}).setdefault('contact_details', {})[ + 'email_list'] = contact_details.email_list if email_list is None else email_list + body.setdefault('details', {}).setdefault('shipping_address', {})[ + 'street_address1'] = shipping_address.street_address1 if street_address1 is None else street_address1 # str + body.setdefault('details', {}).setdefault('shipping_address', {})[ + 'street_address2'] = shipping_address.street_address2 if street_address2 is None else street_address2 # str + body.setdefault('details', {}).setdefault('shipping_address', {})[ + 'street_address3'] = shipping_address.street_address3 if street_address3 is None else street_address3 # str + body.setdefault('details', {}).setdefault('shipping_address', {})[ + 'city'] = shipping_address.city if city is None else city # str + body.setdefault('details', {}).setdefault('shipping_address', {})[ + 'state_or_province'] = shipping_address.state_or_province if state_or_province is None else state_or_province # str + body.setdefault('details', {}).setdefault('shipping_address', {})[ + 'country'] = shipping_address.country if country is None else country # str + body.setdefault('details', {}).setdefault('shipping_address', {})[ + 'postal_code'] = shipping_address.postal_code if postal_code is None else postal_code # str + body.setdefault('details', {}).setdefault('shipping_address', {})[ + 'company_name'] = shipping_address.company_name if company_name is None else company_name # str + + return client.update(resource_group_name=resource_group_name, job_name=job_name, job_resource_update_parameter=body) + + +def delete_databox_job(client, + resource_group_name, + job_name): + return client.delete(resource_group_name=resource_group_name, job_name=job_name) + + +def get_databox_job(client, + resource_group_name, + job_name): + return client.get(resource_group_name=resource_group_name, job_name=job_name, expand='details') + + +def list_databox_job(client, + resource_group_name=None): + if resource_group_name is not None: + return client.list_by_resource_group(resource_group_name=resource_group_name) + return client.list() + + +def cancel_databox_job(client, + resource_group_name, + job_name, + reason): + return client.cancel(resource_group_name=resource_group_name, job_name=job_name, reason=reason) + + +def list_credentials_databox_job(client, + resource_group_name, + job_name): + return client.list_credentials(resource_group_name=resource_group_name, job_name=job_name) diff --git a/src/databox/azext_databox/tests/latest/recordings/test_databox.yaml b/src/databox/azext_databox/tests/latest/recordings/test_databox.yaml new file mode 100644 index 00000000000..a4828f5cac3 --- /dev/null +++ b/src/databox/azext_databox/tests/latest/recordings/test_databox.yaml @@ -0,0 +1,2674 @@ +interactions: +- request: + body: 'b''b\''b\\\''{"location": "westus", "sku": {"name": "DataBox"}, "properties": + {"details": {"contactDetails": {"contactName": "Public SDK Test", "phone": "14258828080", + "emailList": ["testing@microsoft.com"]}, "shippingAddress": {"streetAddress1": + "1 MICROSOFT WAY", "city": "Redmond", "stateOrProvince": "WA", "country": "US", + "postalCode": "98052", "companyName": "Microsoft"}, "destinationAccountDetails": + [{"dataDestinationType": "StorageAccount", "storageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.Storage/storageAccounts/clitest000002"}, + {"dataDestinationType": "StorageAccount", "storageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.Storage/storageAccounts/clitest000003"}, + {"dataDestinationType": "ManagedDisk", "resourceGroupId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg-for-managed-disk", + "stagingStorageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.Storage/storageAccounts/clitest000002"}], + "jobDetailsType": "DataBox"}}}\\\''\''''' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - databox job create + Connection: + - keep-alive + Content-Length: + - '1374' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - --resource-group --name --location --sku --contact-name --phone --email-list + --street-address1 --city --state-or-province --country --postal-code --company-name + --storage-account --staging-storage-account --resource-group-for-managed-disk + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.DataBox/jobs/job000004?api-version=2019-09-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Fri, 06 Mar 2020 14:34:22 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/769f0db1-ff52-47b3-ba84-b0da28cbac04?api-version=2018-01-01 + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - databox job create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --sku --contact-name --phone --email-list + --street-address1 --city --state-or-province --country --postal-code --company-name + --storage-account --staging-storage-account --resource-group-for-managed-disk + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/769f0db1-ff52-47b3-ba84-b0da28cbac04?api-version=2018-01-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Fri, 06 Mar 2020 14:34:48 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.DataBox/jobs/job000004?api-version=2018-01-01 + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - databox job create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --sku --contact-name --phone --email-list + --street-address1 --city --state-or-province --country --postal-code --company-name + --storage-account --staging-storage-account --resource-group-for-managed-disk + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.DataBox/jobs/job000004?api-version=2018-01-01 + response: + body: + string: "{\r\n \"properties\": {\r\n \"isCancellable\": true,\r\n \"isDeletable\": + false,\r\n \"isShippingAddressEditable\": true,\r\n \"isPrepareToShipEnabled\": + false,\r\n \"status\": \"DeviceOrdered\",\r\n \"startTime\": \"2020-03-06T14:34:22.569476+00:00\",\r\n + \ \"deliveryType\": \"NonScheduled\",\r\n \"deliveryInfo\": {\r\n \"scheduledDateTime\": + \"0001-01-01T00:00:00+00:00\"\r\n },\r\n \"isCancellableWithoutFee\": + true\r\n },\r\n \"location\": \"westus\",\r\n \"tags\": {},\r\n \"sku\": + {\r\n \"name\": \"DataBox\"\r\n },\r\n \"name\": \"job000004\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.DataBox/jobs/job000004\",\r\n + \ \"type\": \"Microsoft.DataBox/jobs\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '778' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 06 Mar 2020 14:34:59 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - databox job update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --contact-name --email-list + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.DataBox/jobs/job000004?api-version=2019-09-01&$expand=details + response: + body: + string: "{\r\n \"properties\": {\r\n \"isCancellable\": true,\r\n \"isDeletable\": + false,\r\n \"isShippingAddressEditable\": true,\r\n \"isPrepareToShipEnabled\": + false,\r\n \"status\": \"DeviceOrdered\",\r\n \"startTime\": \"2020-03-06T14:34:22.569476+00:00\",\r\n + \ \"details\": {\r\n \"copyProgress\": [],\r\n \"jobStages\": + [\r\n {\r\n \"stageName\": \"DeviceOrdered\",\r\n \"displayName\": + \"Ordered\",\r\n \"stageStatus\": \"Succeeded\",\r\n \"stageTime\": + \"2020-03-06T14:34:26.6154788+00:00\"\r\n },\r\n {\r\n \"stageName\": + \"DevicePrepared\",\r\n \"displayName\": \"Processed\",\r\n \"stageStatus\": + \"None\"\r\n },\r\n {\r\n \"stageName\": \"Dispatched\",\r\n + \ \"displayName\": \"Dispatched\",\r\n \"stageStatus\": \"None\"\r\n + \ },\r\n {\r\n \"stageName\": \"Delivered\",\r\n \"displayName\": + \"Delivered\",\r\n \"stageStatus\": \"None\"\r\n },\r\n {\r\n + \ \"stageName\": \"PickedUp\",\r\n \"displayName\": \"Picked + up\",\r\n \"stageStatus\": \"None\"\r\n },\r\n {\r\n + \ \"stageName\": \"AtAzureDC\",\r\n \"displayName\": \"Received\",\r\n + \ \"stageStatus\": \"None\"\r\n },\r\n {\r\n \"stageName\": + \"DataCopy\",\r\n \"displayName\": \"Data copy in progress\",\r\n + \ \"stageStatus\": \"None\"\r\n },\r\n {\r\n \"stageName\": + \"Completed\",\r\n \"displayName\": \"Completed\",\r\n \"stageStatus\": + \"None\"\r\n }\r\n ],\r\n \"contactDetails\": {\r\n \"contactName\": + \"Public SDK Test\",\r\n \"phone\": \"14258828080\",\r\n \"emailList\": + [\r\n \"testing@microsoft.com\"\r\n ],\r\n \"notificationPreference\": + [\r\n {\r\n \"stageName\": \"DevicePrepared\",\r\n \"sendNotification\": + true\r\n },\r\n {\r\n \"stageName\": \"Dispatched\",\r\n + \ \"sendNotification\": true\r\n },\r\n {\r\n + \ \"stageName\": \"Delivered\",\r\n \"sendNotification\": + true\r\n },\r\n {\r\n \"stageName\": \"PickedUp\",\r\n + \ \"sendNotification\": true\r\n },\r\n {\r\n + \ \"stageName\": \"AtAzureDC\",\r\n \"sendNotification\": + true\r\n },\r\n {\r\n \"stageName\": \"DataCopy\",\r\n + \ \"sendNotification\": true\r\n }\r\n ]\r\n },\r\n + \ \"shippingAddress\": {\r\n \"streetAddress1\": \"1 MICROSOFT + WAY\",\r\n \"city\": \"Redmond\",\r\n \"stateOrProvince\": \"WA\",\r\n + \ \"country\": \"US\",\r\n \"postalCode\": \"98052\",\r\n \"companyName\": + \"Microsoft\",\r\n \"addressType\": \"None\"\r\n },\r\n \"deliveryPackage\": + {\r\n \"carrierName\": \"\",\r\n \"trackingId\": \"\",\r\n \"trackingUrl\": + \"\"\r\n },\r\n \"returnPackage\": {\r\n \"carrierName\": + \"\",\r\n \"trackingId\": \"\",\r\n \"trackingUrl\": \"\"\r\n + \ },\r\n \"destinationAccountDetails\": [\r\n {\r\n \"storageAccountId\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.Storage/storageAccounts/clitest000002\",\r\n + \ \"dataDestinationType\": \"StorageAccount\",\r\n \"accountId\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.Storage/storageAccounts/clitest000002\"\r\n + \ },\r\n {\r\n \"storageAccountId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.Storage/storageAccounts/clitest000003\",\r\n + \ \"dataDestinationType\": \"StorageAccount\",\r\n \"accountId\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.Storage/storageAccounts/clitest000003\"\r\n + \ },\r\n {\r\n \"resourceGroupId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg-for-managed-disk\",\r\n + \ \"stagingStorageAccountId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.Storage/storageAccounts/clitest000002\",\r\n + \ \"dataDestinationType\": \"ManagedDisk\",\r\n \"accountId\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg-for-managed-disk\"\r\n + \ }\r\n ],\r\n \"errorDetails\": [],\r\n \"jobDetailsType\": + \"DataBox\",\r\n \"copyLogDetails\": []\r\n },\r\n \"deliveryType\": + \"NonScheduled\",\r\n \"deliveryInfo\": {\r\n \"scheduledDateTime\": + \"0001-01-01T00:00:00+00:00\"\r\n },\r\n \"isCancellableWithoutFee\": + true\r\n },\r\n \"location\": \"westus\",\r\n \"tags\": {},\r\n \"sku\": + {\r\n \"name\": \"DataBox\"\r\n },\r\n \"name\": \"job000004\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.DataBox/jobs/job000004\",\r\n + \ \"type\": \"Microsoft.DataBox/jobs\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '5185' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 06 Mar 2020 14:35:08 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"properties": {"details": {"contactDetails": {"contactName": "Public SDK + Test 1", "phone": "14258828080", "emailList": ["testing1@microsoft.com"]}, "shippingAddress": + {"streetAddress1": "1 MICROSOFT WAY", "city": "Redmond", "stateOrProvince": + "WA", "country": "US", "postalCode": "98052", "companyName": "Microsoft"}}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - databox job update + Connection: + - keep-alive + Content-Length: + - '320' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - --resource-group --name --contact-name --email-list + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + accept-language: + - en-US + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.DataBox/jobs/job000004?api-version=2019-09-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Fri, 06 Mar 2020 14:35:09 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/6dc78456-b33e-4adc-87a6-14ad101154bc?api-version=2018-01-01 + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - databox job update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --contact-name --email-list + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/6dc78456-b33e-4adc-87a6-14ad101154bc?api-version=2018-01-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Fri, 06 Mar 2020 14:35:23 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.DataBox/jobs/job000004?api-version=2018-01-01 + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - databox job update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --contact-name --email-list + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.DataBox/jobs/job000004?api-version=2018-01-01 + response: + body: + string: "{\r\n \"properties\": {\r\n \"isCancellable\": true,\r\n \"isDeletable\": + false,\r\n \"isShippingAddressEditable\": true,\r\n \"isPrepareToShipEnabled\": + false,\r\n \"status\": \"DeviceOrdered\",\r\n \"startTime\": \"2020-03-06T14:34:22.569476+00:00\",\r\n + \ \"deliveryType\": \"NonScheduled\",\r\n \"deliveryInfo\": {\r\n \"scheduledDateTime\": + \"0001-01-01T00:00:00+00:00\"\r\n },\r\n \"isCancellableWithoutFee\": + true\r\n },\r\n \"location\": \"westus\",\r\n \"tags\": {},\r\n \"sku\": + {\r\n \"name\": \"DataBox\"\r\n },\r\n \"name\": \"job000004\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.DataBox/jobs/job000004\",\r\n + \ \"type\": \"Microsoft.DataBox/jobs\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '778' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 06 Mar 2020 14:35:33 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - databox job show + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.DataBox/jobs/job000004?api-version=2019-09-01&$expand=details + response: + body: + string: "{\r\n \"properties\": {\r\n \"isCancellable\": true,\r\n \"isDeletable\": + false,\r\n \"isShippingAddressEditable\": true,\r\n \"isPrepareToShipEnabled\": + false,\r\n \"status\": \"DeviceOrdered\",\r\n \"startTime\": \"2020-03-06T14:34:22.569476+00:00\",\r\n + \ \"details\": {\r\n \"copyProgress\": [],\r\n \"jobStages\": + [\r\n {\r\n \"stageName\": \"DeviceOrdered\",\r\n \"displayName\": + \"Ordered\",\r\n \"stageStatus\": \"Succeeded\",\r\n \"stageTime\": + \"2020-03-06T14:34:26.6154788+00:00\"\r\n },\r\n {\r\n \"stageName\": + \"DevicePrepared\",\r\n \"displayName\": \"Processed\",\r\n \"stageStatus\": + \"None\"\r\n },\r\n {\r\n \"stageName\": \"Dispatched\",\r\n + \ \"displayName\": \"Dispatched\",\r\n \"stageStatus\": \"None\"\r\n + \ },\r\n {\r\n \"stageName\": \"Delivered\",\r\n \"displayName\": + \"Delivered\",\r\n \"stageStatus\": \"None\"\r\n },\r\n {\r\n + \ \"stageName\": \"PickedUp\",\r\n \"displayName\": \"Picked + up\",\r\n \"stageStatus\": \"None\"\r\n },\r\n {\r\n + \ \"stageName\": \"AtAzureDC\",\r\n \"displayName\": \"Received\",\r\n + \ \"stageStatus\": \"None\"\r\n },\r\n {\r\n \"stageName\": + \"DataCopy\",\r\n \"displayName\": \"Data copy in progress\",\r\n + \ \"stageStatus\": \"None\"\r\n },\r\n {\r\n \"stageName\": + \"Completed\",\r\n \"displayName\": \"Completed\",\r\n \"stageStatus\": + \"None\"\r\n }\r\n ],\r\n \"contactDetails\": {\r\n \"contactName\": + \"Public SDK Test 1\",\r\n \"phone\": \"14258828080\",\r\n \"emailList\": + [\r\n \"testing1@microsoft.com\"\r\n ],\r\n \"notificationPreference\": + [\r\n {\r\n \"stageName\": \"DevicePrepared\",\r\n \"sendNotification\": + true\r\n },\r\n {\r\n \"stageName\": \"Dispatched\",\r\n + \ \"sendNotification\": true\r\n },\r\n {\r\n + \ \"stageName\": \"Delivered\",\r\n \"sendNotification\": + true\r\n },\r\n {\r\n \"stageName\": \"PickedUp\",\r\n + \ \"sendNotification\": true\r\n },\r\n {\r\n + \ \"stageName\": \"AtAzureDC\",\r\n \"sendNotification\": + true\r\n },\r\n {\r\n \"stageName\": \"DataCopy\",\r\n + \ \"sendNotification\": true\r\n }\r\n ]\r\n },\r\n + \ \"shippingAddress\": {\r\n \"streetAddress1\": \"1 MICROSOFT + WAY\",\r\n \"city\": \"Redmond\",\r\n \"stateOrProvince\": \"WA\",\r\n + \ \"country\": \"US\",\r\n \"postalCode\": \"98052\",\r\n \"companyName\": + \"Microsoft\",\r\n \"addressType\": \"None\"\r\n },\r\n \"deliveryPackage\": + {\r\n \"carrierName\": \"\",\r\n \"trackingId\": \"\",\r\n \"trackingUrl\": + \"\"\r\n },\r\n \"returnPackage\": {\r\n \"carrierName\": + \"\",\r\n \"trackingId\": \"\",\r\n \"trackingUrl\": \"\"\r\n + \ },\r\n \"destinationAccountDetails\": [\r\n {\r\n \"storageAccountId\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.Storage/storageAccounts/clitest000002\",\r\n + \ \"dataDestinationType\": \"StorageAccount\",\r\n \"accountId\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.Storage/storageAccounts/clitest000002\"\r\n + \ },\r\n {\r\n \"storageAccountId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.Storage/storageAccounts/clitest000003\",\r\n + \ \"dataDestinationType\": \"StorageAccount\",\r\n \"accountId\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.Storage/storageAccounts/clitest000003\"\r\n + \ },\r\n {\r\n \"resourceGroupId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg-for-managed-disk\",\r\n + \ \"stagingStorageAccountId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.Storage/storageAccounts/clitest000002\",\r\n + \ \"dataDestinationType\": \"ManagedDisk\",\r\n \"accountId\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg-for-managed-disk\"\r\n + \ }\r\n ],\r\n \"errorDetails\": [],\r\n \"jobDetailsType\": + \"DataBox\",\r\n \"copyLogDetails\": []\r\n },\r\n \"deliveryType\": + \"NonScheduled\",\r\n \"deliveryInfo\": {\r\n \"scheduledDateTime\": + \"0001-01-01T00:00:00+00:00\"\r\n },\r\n \"isCancellableWithoutFee\": + true\r\n },\r\n \"location\": \"westus\",\r\n \"tags\": {},\r\n \"sku\": + {\r\n \"name\": \"DataBox\"\r\n },\r\n \"name\": \"job000004\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.DataBox/jobs/job000004\",\r\n + \ \"type\": \"Microsoft.DataBox/jobs\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '5188' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 06 Mar 2020 14:35:36 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - databox job list + Connection: + - keep-alive + ParameterSetName: + - --resource-group + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.DataBox/jobs?api-version=2019-09-01 + response: + body: + string: "{\r\n \"value\": [\r\n {\r\n \"properties\": {\r\n \"isCancellable\": + true,\r\n \"isDeletable\": false,\r\n \"isShippingAddressEditable\": + true,\r\n \"isPrepareToShipEnabled\": false,\r\n \"status\": + \"DeviceOrdered\",\r\n \"startTime\": \"2020-03-06T14:34:22.569476+00:00\",\r\n + \ \"deliveryType\": \"NonScheduled\",\r\n \"deliveryInfo\": {\r\n + \ \"scheduledDateTime\": \"0001-01-01T00:00:00+00:00\"\r\n },\r\n + \ \"isCancellableWithoutFee\": true\r\n },\r\n \"location\": + \"westus\",\r\n \"tags\": {},\r\n \"sku\": {\r\n \"name\": + \"DataBox\"\r\n },\r\n \"name\": \"job000004\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.DataBox/jobs/job000004\",\r\n + \ \"type\": \"Microsoft.DataBox/jobs\"\r\n }\r\n ]\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '895' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 06 Mar 2020 14:35:39 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"reason": "CancelTest"}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - databox job cancel + Connection: + - keep-alive + Content-Length: + - '24' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - --resource-group --name --reason -y + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + accept-language: + - en-US + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.DataBox/jobs/job000004/cancel?api-version=2019-09-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + date: + - Fri, 06 Mar 2020 14:35:42 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-powered-by: + - ASP.NET + status: + code: 204 + message: No Content +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - databox job show + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.DataBox/jobs/job000004?api-version=2019-09-01&$expand=details + response: + body: + string: "{\r\n \"properties\": {\r\n \"isCancellable\": false,\r\n \"isDeletable\": + true,\r\n \"isShippingAddressEditable\": false,\r\n \"isPrepareToShipEnabled\": + false,\r\n \"status\": \"Cancelled\",\r\n \"startTime\": \"2020-03-06T14:34:22.569476+00:00\",\r\n + \ \"details\": {\r\n \"copyProgress\": [\r\n {\r\n \"storageAccountName\": + \"clitest000002\",\r\n \"dataDestinationType\": \"StorageAccount\",\r\n + \ \"accountId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.Storage/storageAccounts/clitest000002\",\r\n + \ \"bytesSentToCloud\": 0,\r\n \"totalBytesToProcess\": 0\r\n + \ },\r\n {\r\n \"storageAccountName\": \"clitest000003\",\r\n + \ \"dataDestinationType\": \"StorageAccount\",\r\n \"accountId\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.Storage/storageAccounts/clitest000003\",\r\n + \ \"bytesSentToCloud\": 0,\r\n \"totalBytesToProcess\": 0\r\n + \ },\r\n {\r\n \"dataDestinationType\": \"ManagedDisk\",\r\n + \ \"accountId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg-for-managed-disk\",\r\n + \ \"bytesSentToCloud\": 0,\r\n \"totalBytesToProcess\": 0\r\n + \ }\r\n ],\r\n \"jobStages\": [\r\n {\r\n \"stageName\": + \"DeviceOrdered\",\r\n \"displayName\": \"Ordered\",\r\n \"stageStatus\": + \"Succeeded\",\r\n \"stageTime\": \"2020-03-06T14:34:26.6154788+00:00\"\r\n + \ },\r\n {\r\n \"stageName\": \"Cancelled\",\r\n \"displayName\": + \"Canceled\",\r\n \"stageStatus\": \"Succeeded\",\r\n \"stageTime\": + \"2020-03-06T14:35:43.0099473+00:00\"\r\n }\r\n ],\r\n \"contactDetails\": + {\r\n \"contactName\": \"Public SDK Test 1\",\r\n \"phone\": + \"14258828080\",\r\n \"emailList\": [\r\n \"testing1@microsoft.com\"\r\n + \ ],\r\n \"notificationPreference\": [\r\n {\r\n \"stageName\": + \"DevicePrepared\",\r\n \"sendNotification\": true\r\n },\r\n + \ {\r\n \"stageName\": \"Dispatched\",\r\n \"sendNotification\": + true\r\n },\r\n {\r\n \"stageName\": \"Delivered\",\r\n + \ \"sendNotification\": true\r\n },\r\n {\r\n + \ \"stageName\": \"PickedUp\",\r\n \"sendNotification\": + true\r\n },\r\n {\r\n \"stageName\": \"AtAzureDC\",\r\n + \ \"sendNotification\": true\r\n },\r\n {\r\n + \ \"stageName\": \"DataCopy\",\r\n \"sendNotification\": + true\r\n }\r\n ]\r\n },\r\n \"shippingAddress\": + {\r\n \"streetAddress1\": \"1 MICROSOFT WAY\",\r\n \"city\": + \"Redmond\",\r\n \"stateOrProvince\": \"WA\",\r\n \"country\": + \"US\",\r\n \"postalCode\": \"98052\",\r\n \"companyName\": + \"Microsoft\",\r\n \"addressType\": \"None\"\r\n },\r\n \"deliveryPackage\": + {\r\n \"carrierName\": \"\",\r\n \"trackingId\": \"\",\r\n \"trackingUrl\": + \"\"\r\n },\r\n \"returnPackage\": {\r\n \"carrierName\": + \"\",\r\n \"trackingId\": \"\",\r\n \"trackingUrl\": \"\"\r\n + \ },\r\n \"destinationAccountDetails\": [\r\n {\r\n \"storageAccountId\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.Storage/storageAccounts/clitest000002\",\r\n + \ \"dataDestinationType\": \"StorageAccount\",\r\n \"accountId\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.Storage/storageAccounts/clitest000002\"\r\n + \ },\r\n {\r\n \"storageAccountId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.Storage/storageAccounts/clitest000003\",\r\n + \ \"dataDestinationType\": \"StorageAccount\",\r\n \"accountId\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.Storage/storageAccounts/clitest000003\"\r\n + \ },\r\n {\r\n \"resourceGroupId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg-for-managed-disk\",\r\n + \ \"stagingStorageAccountId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.Storage/storageAccounts/clitest000002\",\r\n + \ \"dataDestinationType\": \"ManagedDisk\",\r\n \"accountId\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg-for-managed-disk\"\r\n + \ }\r\n ],\r\n \"errorDetails\": [],\r\n \"jobDetailsType\": + \"DataBox\",\r\n \"copyLogDetails\": []\r\n },\r\n \"cancellationReason\": + \"CancelTest\",\r\n \"deliveryType\": \"NonScheduled\",\r\n \"deliveryInfo\": + {\r\n \"scheduledDateTime\": \"0001-01-01T00:00:00+00:00\"\r\n },\r\n + \ \"isCancellableWithoutFee\": false\r\n },\r\n \"location\": \"westus\",\r\n + \ \"tags\": {},\r\n \"sku\": {\r\n \"name\": \"DataBox\"\r\n },\r\n \"name\": + \"job000004\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.DataBox/jobs/job000004\",\r\n + \ \"type\": \"Microsoft.DataBox/jobs\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '5637' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 06 Mar 2020 14:35:46 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - databox job delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --resource-group --name -y + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + accept-language: + - en-US + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.DataBox/jobs/job000004?api-version=2019-09-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Fri, 06 Mar 2020 14:35:53 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/769f0db1-ff52-47b3-ba84-b0da28cbac04-deleteorder?api-version=2018-01-01 + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14998' + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - databox job delete + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -y + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/769f0db1-ff52-47b3-ba84-b0da28cbac04-deleteorder?api-version=2018-01-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Fri, 06 Mar 2020 14:36:09 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/769f0db1-ff52-47b3-ba84-b0da28cbac04-deleteorder?api-version=2018-01-01 + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - databox job delete + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -y + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/769f0db1-ff52-47b3-ba84-b0da28cbac04-deleteorder?api-version=2018-01-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Fri, 06 Mar 2020 14:36:19 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/769f0db1-ff52-47b3-ba84-b0da28cbac04-deleteorder?api-version=2018-01-01 + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - databox job delete + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -y + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/769f0db1-ff52-47b3-ba84-b0da28cbac04-deleteorder?api-version=2018-01-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Fri, 06 Mar 2020 14:36:30 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/769f0db1-ff52-47b3-ba84-b0da28cbac04-deleteorder?api-version=2018-01-01 + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - databox job delete + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -y + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/769f0db1-ff52-47b3-ba84-b0da28cbac04-deleteorder?api-version=2018-01-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Fri, 06 Mar 2020 14:36:40 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/769f0db1-ff52-47b3-ba84-b0da28cbac04-deleteorder?api-version=2018-01-01 + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - databox job delete + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -y + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/769f0db1-ff52-47b3-ba84-b0da28cbac04-deleteorder?api-version=2018-01-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Fri, 06 Mar 2020 14:36:51 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/769f0db1-ff52-47b3-ba84-b0da28cbac04-deleteorder?api-version=2018-01-01 + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - databox job delete + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -y + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/769f0db1-ff52-47b3-ba84-b0da28cbac04-deleteorder?api-version=2018-01-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Fri, 06 Mar 2020 14:37:03 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/769f0db1-ff52-47b3-ba84-b0da28cbac04-deleteorder?api-version=2018-01-01 + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - databox job delete + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -y + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/769f0db1-ff52-47b3-ba84-b0da28cbac04-deleteorder?api-version=2018-01-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Fri, 06 Mar 2020 14:37:13 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/769f0db1-ff52-47b3-ba84-b0da28cbac04-deleteorder?api-version=2018-01-01 + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - databox job delete + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -y + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/769f0db1-ff52-47b3-ba84-b0da28cbac04-deleteorder?api-version=2018-01-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Fri, 06 Mar 2020 14:37:25 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/769f0db1-ff52-47b3-ba84-b0da28cbac04-deleteorder?api-version=2018-01-01 + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - databox job delete + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -y + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/769f0db1-ff52-47b3-ba84-b0da28cbac04-deleteorder?api-version=2018-01-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Fri, 06 Mar 2020 14:37:35 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/769f0db1-ff52-47b3-ba84-b0da28cbac04-deleteorder?api-version=2018-01-01 + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - databox job delete + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -y + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/769f0db1-ff52-47b3-ba84-b0da28cbac04-deleteorder?api-version=2018-01-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + date: + - Fri, 06 Mar 2020 14:37:45 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 204 + message: No Content +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - databox job show + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.DataBox/jobs/job000004?api-version=2019-09-01&$expand=details + response: + body: + string: '{"error":{"code":"ResourceNotFound","message":"The Resource ''Microsoft.DataBox/jobs/job000004'' + under resource group ''cli_test_databox000001'' was not found."}}' + headers: + cache-control: + - no-cache + content-length: + - '226' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 06 Mar 2020 14:37:51 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-failure-cause: + - gateway + status: + code: 404 + message: Not Found +- request: + body: 'b''b\''{"location": "westus", "sku": {"name": "DataBoxDisk"}, "properties": + {"details": {"expectedDataSizeInTerabytes": 1, "contactDetails": {"contactName": + "Public SDK Test", "phone": "14258828080", "emailList": ["testing@microsoft.com"]}, + "shippingAddress": {"streetAddress1": "1 MICROSOFT WAY", "city": "Redmond", + "stateOrProvince": "WA", "country": "US", "postalCode": "98052", "companyName": + "Microsoft"}, "destinationAccountDetails": [{"dataDestinationType": "StorageAccount", + "storageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.Storage/storageAccounts/clitest000002"}], + "jobDetailsType": "DataBoxDisk"}}}\''''' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - databox job create + Connection: + - keep-alive + Content-Length: + - '747' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - --resource-group --name --location --sku --expected-data-size --contact-name + --phone --email-list --street-address1 --city --state-or-province --country + --postal-code --company-name --storage-account + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.DataBox/jobs/job000004?api-version=2019-09-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Fri, 06 Mar 2020 14:37:57 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/653a0a85-2258-4760-accc-a6a157a859f9?api-version=2018-01-01 + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1195' + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - databox job create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --sku --expected-data-size --contact-name + --phone --email-list --street-address1 --city --state-or-province --country + --postal-code --company-name --storage-account + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/653a0a85-2258-4760-accc-a6a157a859f9?api-version=2018-01-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Fri, 06 Mar 2020 14:38:09 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.DataBox/jobs/job000004?api-version=2018-01-01 + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - databox job create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --sku --expected-data-size --contact-name + --phone --email-list --street-address1 --city --state-or-province --country + --postal-code --company-name --storage-account + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.DataBox/jobs/job000004?api-version=2018-01-01 + response: + body: + string: "{\r\n \"properties\": {\r\n \"isCancellable\": true,\r\n \"isDeletable\": + false,\r\n \"isShippingAddressEditable\": true,\r\n \"isPrepareToShipEnabled\": + false,\r\n \"status\": \"DeviceOrdered\",\r\n \"startTime\": \"2020-03-06T14:37:57.9932207+00:00\",\r\n + \ \"deliveryType\": \"NonScheduled\",\r\n \"deliveryInfo\": {\r\n \"scheduledDateTime\": + \"0001-01-01T00:00:00+00:00\"\r\n },\r\n \"isCancellableWithoutFee\": + true\r\n },\r\n \"location\": \"westus\",\r\n \"tags\": {},\r\n \"sku\": + {\r\n \"name\": \"DataBoxDisk\"\r\n },\r\n \"name\": \"job000004\",\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.DataBox/jobs/job000004\",\r\n + \ \"type\": \"Microsoft.DataBox/jobs\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '783' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 06 Mar 2020 14:38:19 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"reason": "CancelTest"}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - databox job cancel + Connection: + - keep-alive + Content-Length: + - '24' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - --resource-group --name --reason -y + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + accept-language: + - en-US + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.DataBox/jobs/job000004/cancel?api-version=2019-09-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + date: + - Fri, 06 Mar 2020 14:38:24 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + x-powered-by: + - ASP.NET + status: + code: 204 + message: No Content +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - databox job delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --resource-group --name -y + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + accept-language: + - en-US + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.DataBox/jobs/job000004?api-version=2019-09-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Fri, 06 Mar 2020 14:38:28 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/653a0a85-2258-4760-accc-a6a157a859f9-deleteorder?api-version=2018-01-01 + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14996' + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - databox job delete + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -y + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/653a0a85-2258-4760-accc-a6a157a859f9-deleteorder?api-version=2018-01-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Fri, 06 Mar 2020 14:38:42 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/653a0a85-2258-4760-accc-a6a157a859f9-deleteorder?api-version=2018-01-01 + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - databox job delete + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -y + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/653a0a85-2258-4760-accc-a6a157a859f9-deleteorder?api-version=2018-01-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Fri, 06 Mar 2020 14:38:53 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/653a0a85-2258-4760-accc-a6a157a859f9-deleteorder?api-version=2018-01-01 + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - databox job delete + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -y + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/653a0a85-2258-4760-accc-a6a157a859f9-deleteorder?api-version=2018-01-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Fri, 06 Mar 2020 14:39:03 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/653a0a85-2258-4760-accc-a6a157a859f9-deleteorder?api-version=2018-01-01 + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - databox job delete + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -y + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/653a0a85-2258-4760-accc-a6a157a859f9-deleteorder?api-version=2018-01-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Fri, 06 Mar 2020 14:39:13 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/653a0a85-2258-4760-accc-a6a157a859f9-deleteorder?api-version=2018-01-01 + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - databox job delete + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -y + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/653a0a85-2258-4760-accc-a6a157a859f9-deleteorder?api-version=2018-01-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Fri, 06 Mar 2020 14:39:25 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/653a0a85-2258-4760-accc-a6a157a859f9-deleteorder?api-version=2018-01-01 + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - databox job delete + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -y + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/653a0a85-2258-4760-accc-a6a157a859f9-deleteorder?api-version=2018-01-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Fri, 06 Mar 2020 14:39:35 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/653a0a85-2258-4760-accc-a6a157a859f9-deleteorder?api-version=2018-01-01 + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - databox job delete + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -y + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/653a0a85-2258-4760-accc-a6a157a859f9-deleteorder?api-version=2018-01-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Fri, 06 Mar 2020 14:39:45 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/653a0a85-2258-4760-accc-a6a157a859f9-deleteorder?api-version=2018-01-01 + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - databox job delete + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -y + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/653a0a85-2258-4760-accc-a6a157a859f9-deleteorder?api-version=2018-01-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Fri, 06 Mar 2020 14:39:56 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/653a0a85-2258-4760-accc-a6a157a859f9-deleteorder?api-version=2018-01-01 + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - databox job delete + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -y + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/653a0a85-2258-4760-accc-a6a157a859f9-deleteorder?api-version=2018-01-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Fri, 06 Mar 2020 14:40:06 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/653a0a85-2258-4760-accc-a6a157a859f9-deleteorder?api-version=2018-01-01 + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - databox job delete + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -y + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/653a0a85-2258-4760-accc-a6a157a859f9-deleteorder?api-version=2018-01-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Fri, 06 Mar 2020 14:40:17 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/653a0a85-2258-4760-accc-a6a157a859f9-deleteorder?api-version=2018-01-01 + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - databox job delete + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -y + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/653a0a85-2258-4760-accc-a6a157a859f9-deleteorder?api-version=2018-01-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Fri, 06 Mar 2020 14:40:27 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/653a0a85-2258-4760-accc-a6a157a859f9-deleteorder?api-version=2018-01-01 + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - databox job delete + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -y + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/653a0a85-2258-4760-accc-a6a157a859f9-deleteorder?api-version=2018-01-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Fri, 06 Mar 2020 14:40:38 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/653a0a85-2258-4760-accc-a6a157a859f9-deleteorder?api-version=2018-01-01 + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - databox job delete + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -y + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/653a0a85-2258-4760-accc-a6a157a859f9-deleteorder?api-version=2018-01-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Fri, 06 Mar 2020 14:40:49 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/653a0a85-2258-4760-accc-a6a157a859f9-deleteorder?api-version=2018-01-01 + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - databox job delete + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -y + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/653a0a85-2258-4760-accc-a6a157a859f9-deleteorder?api-version=2018-01-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Fri, 06 Mar 2020 14:40:59 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/653a0a85-2258-4760-accc-a6a157a859f9-deleteorder?api-version=2018-01-01 + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - databox job delete + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -y + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/653a0a85-2258-4760-accc-a6a157a859f9-deleteorder?api-version=2018-01-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Fri, 06 Mar 2020 14:41:10 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/653a0a85-2258-4760-accc-a6a157a859f9-deleteorder?api-version=2018-01-01 + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - databox job delete + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -y + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/653a0a85-2258-4760-accc-a6a157a859f9-deleteorder?api-version=2018-01-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Fri, 06 Mar 2020 14:41:20 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/653a0a85-2258-4760-accc-a6a157a859f9-deleteorder?api-version=2018-01-01 + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - databox job delete + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -y + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/653a0a85-2258-4760-accc-a6a157a859f9-deleteorder?api-version=2018-01-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Fri, 06 Mar 2020 14:41:32 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/653a0a85-2258-4760-accc-a6a157a859f9-deleteorder?api-version=2018-01-01 + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - databox job delete + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -y + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/653a0a85-2258-4760-accc-a6a157a859f9-deleteorder?api-version=2018-01-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Fri, 06 Mar 2020 14:41:42 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/653a0a85-2258-4760-accc-a6a157a859f9-deleteorder?api-version=2018-01-01 + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - databox job delete + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -y + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/653a0a85-2258-4760-accc-a6a157a859f9-deleteorder?api-version=2018-01-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Fri, 06 Mar 2020 14:41:53 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/653a0a85-2258-4760-accc-a6a157a859f9-deleteorder?api-version=2018-01-01 + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - databox job delete + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -y + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/653a0a85-2258-4760-accc-a6a157a859f9-deleteorder?api-version=2018-01-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + date: + - Fri, 06 Mar 2020 14:42:03 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 204 + message: No Content +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - databox job show + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.DataBox/jobs/job000004?api-version=2019-09-01&$expand=details + response: + body: + string: "{\r\n \"error\": {\r\n \"code\": \"SsemUserErrorEntityNotFound\",\r\n + \ \"message\": \"Could not find the entity job000004.\\r\\nProvide a valid + entity name and retry the operation.\",\r\n \"details\": [\r\n null\r\n + \ ]\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '231' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 06 Mar 2020 14:42:09 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 404 + message: Not Found +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - lock delete + Connection: + - keep-alive + ParameterSetName: + - --name -g --resource-name --resource-type + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-resource/8.0.1 Azure-SDK-For-Python AZURECLI/2.1.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/locks?api-version=2016-09-01 + response: + body: + string: '{"value":[{"properties":{"level":"CanNotDelete","notes":"Data Box Service + to copy data from device to storage account."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_databoxrg2slunrj5vx5aydveu66wkj6rh3ildamkumi4zojpcf6f4vastgfp4v3rw/providers/Microsoft.Storage/storageAccounts/clitestmap7c2xyjf3gsd7yg/providers/Microsoft.Authorization/locks/DATABOX_SERVICE","type":"Microsoft.Authorization/locks","name":"DATABOX_SERVICE"},{"properties":{"level":"CanNotDelete","notes":"Data + Box Service to copy data from device to storage account."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_databoxu7woflo47pjem4rfw2djuvafywtfnprfpduospdfotkqkudaylsua3ybqpa/providers/Microsoft.Storage/storageAccounts/clitestnxsheqf5s5rcht46h/providers/Microsoft.Authorization/locks/DATABOX_SERVICE","type":"Microsoft.Authorization/locks","name":"DATABOX_SERVICE"},{"properties":{"level":"CanNotDelete","notes":"for + Asir"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/emerald-city-bookstore/providers/Microsoft.Authorization/locks/No-DELETE","type":"Microsoft.Authorization/locks","name":"No-DELETE"},{"properties":{"level":"CanNotDelete","notes":"Data + Box Service to copy data from device to storage account."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_databox52yrfbe7molrqhwdubnr2jcijd22xsz3hgcg3btf3sza5boeklwgzzq5sfn/providers/Microsoft.Storage/storageAccounts/clitestm7nikx6sld4npo42d/providers/Microsoft.Authorization/locks/DATABOX_SERVICE","type":"Microsoft.Authorization/locks","name":"DATABOX_SERVICE"},{"properties":{"level":"CanNotDelete","notes":"Data + Box Service to copy data from device to storage account."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_databox52yrfbe7molrqhwdubnr2jcijd22xsz3hgcg3btf3sza5boeklwgzzq5sfn/providers/Microsoft.Storage/storageAccounts/clitestqsel4b35pkfyubvyx/providers/Microsoft.Authorization/locks/DATABOX_SERVICE","type":"Microsoft.Authorization/locks","name":"DATABOX_SERVICE"},{"properties":{"level":"CanNotDelete"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuhcentral/providers/Microsoft.Authorization/locks/delete","type":"Microsoft.Authorization/locks","name":"delete"},{"properties":{"level":"CanNotDelete","notes":"Data + Box Service to copy data from device to storage account."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_databoxeg3csudujzrh2zcvbjytg6gvlkp6sjfcozveffblaqhrzhsslvpr54lg7n2/providers/Microsoft.Storage/storageAccounts/clitestgdfhjpgc2wgbrddlq/providers/Microsoft.Authorization/locks/DATABOX_SERVICE","type":"Microsoft.Authorization/locks","name":"DATABOX_SERVICE"},{"properties":{"level":"CanNotDelete"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yu-test-rg/providers/Microsoft.Authorization/locks/lock","type":"Microsoft.Authorization/locks","name":"lock"},{"properties":{"level":"CanNotDelete"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databoxam64dpcskfsb23dkj6zbvxysimh24e3upfdsdmuxbdl2j25ckz2uz5lht5y/providers/Microsoft.Authorization/locks/lock","type":"Microsoft.Authorization/locks","name":"lock"},{"properties":{"level":"CanNotDelete","notes":"Data + Box Service to copy data from device to storage account."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_databoxoe2qtcqlnxonqpub522jgmpzgeegwhowl2qo6xqgfwtqcd3jzicz5yraawi/providers/Microsoft.Storage/storageAccounts/clitest6yrafi3cntx2cngw3/providers/Microsoft.Authorization/locks/DATABOX_SERVICE","type":"Microsoft.Authorization/locks","name":"DATABOX_SERVICE"},{"properties":{"level":"CanNotDelete","notes":"Data + Box Service to copy data from device to storage account."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_databoxoe2qtcqlnxonqpub522jgmpzgeegwhowl2qo6xqgfwtqcd3jzicz5yraawi/providers/Microsoft.Storage/storageAccounts/clitestl6h6fa53d2gbmohn3/providers/Microsoft.Authorization/locks/DATABOX_SERVICE","type":"Microsoft.Authorization/locks","name":"DATABOX_SERVICE"},{"properties":{"level":"CanNotDelete"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ygmanual3/providers/Microsoft.Authorization/locks/nodel","type":"Microsoft.Authorization/locks","name":"nodel"},{"properties":{"level":"CanNotDelete"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/feng-cli-rg/providers/Microsoft.Storage/storageAccounts/fengsa/providers/Microsoft.Authorization/locks/no-delete","type":"Microsoft.Authorization/locks","name":"no-delete"},{"properties":{"level":"CanNotDelete","notes":"Auto-created + by Azure Backup for storage accounts registered with a Recovery Services Vault. + This lock is intended to guard against deletion of backups due to accidental + deletion of the storage account."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg6i4hl6iakg/providers/microsoft.storage/storageAccounts/clitestu3p7a7ib4n4y7gt4m/providers/Microsoft.Authorization/locks/AzureBackupProtectionLock","type":"Microsoft.Authorization/locks","name":"AzureBackupProtectionLock"},{"properties":{"level":"CanNotDelete","notes":""},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/new-experiences/providers/Microsoft.Authorization/locks/NO-DELETE","type":"Microsoft.Authorization/locks","name":"NO-DELETE"},{"properties":{"level":"CanNotDelete"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuh/providers/Microsoft.Authorization/locks/delete","type":"Microsoft.Authorization/locks","name":"delete"},{"properties":{"level":"CanNotDelete","notes":"wait + until 2019.1.10"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azure-core-poc/providers/Microsoft.Authorization/locks/keep","type":"Microsoft.Authorization/locks","name":"keep"},{"properties":{"level":"CanNotDelete","notes":"Reserved + resource locked by ''zhoxing-test'' lab."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/zhoxing-test/providers/microsoft.storage/storageaccounts/azhoxingtest9851/providers/Microsoft.Authorization/locks/DevTestLabs + Lock","type":"Microsoft.Authorization/locks","name":"DevTestLabs Lock"},{"properties":{"level":"CanNotDelete","notes":"Reserved + resource locked by ''zhoxing-test'' lab."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/zhoxing-test/providers/Microsoft.KeyVault/vaults/zhoxingtest9ac53638/providers/Microsoft.Authorization/locks/DevTestLabs + Lock","type":"Microsoft.Authorization/locks","name":"DevTestLabs Lock"},{"properties":{"level":"CanNotDelete","notes":"Reserved + resource locked by ''zhoxing-test'' lab."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/zhoxing-test/providers/Microsoft.KeyVault/vaults/zhoxingtest9393/providers/Microsoft.Authorization/locks/DevTestLabs + Lock","type":"Microsoft.Authorization/locks","name":"DevTestLabs Lock"},{"properties":{"level":"ReadOnly"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/zhoxing-test/providers/Microsoft.Network/virtualNetworks/zhoxing-test/providers/Microsoft.Authorization/locks/vnetlock","type":"Microsoft.Authorization/locks","name":"vnetlock"},{"properties":{"level":"CanNotDelete","notes":"Reserved + resource locked by ''zhoxing-test'' lab."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/zhoxing-test/providers/Microsoft.Network/virtualNetworks/Dtlzhoxing-test/providers/Microsoft.Authorization/locks/DevTestLabs + Lock","type":"Microsoft.Authorization/locks","name":"DevTestLabs Lock"},{"properties":{"level":"CanNotDelete"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fytest/providers/Microsoft.KeyVault/vaults/vault4848/providers/Microsoft.Authorization/locks/l","type":"Microsoft.Authorization/locks","name":"l"},{"properties":{"level":"CanNotDelete"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fytest/providers/Microsoft.Compute/diskEncryptionSets/des1/providers/Microsoft.Authorization/locks/l","type":"Microsoft.Authorization/locks","name":"l"},{"properties":{"level":"CanNotDelete","notes":"In + case of deleting by incident"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/azuresdktest_reserved/providers/Microsoft.Authorization/locks/LockReservedResources","type":"Microsoft.Authorization/locks","name":"LockReservedResources"},{"properties":{"level":"CanNotDelete","notes":"Data + Box Service to copy data from device to storage account."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_databox000001/providers/Microsoft.Storage/storageAccounts/clitest000003/providers/Microsoft.Authorization/locks/DATABOX_SERVICE","type":"Microsoft.Authorization/locks","name":"DATABOX_SERVICE"},{"properties":{"level":"CanNotDelete","notes":"Data + Box Service to copy data from device to storage account."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_databox000001/providers/Microsoft.Storage/storageAccounts/clitest000002/providers/Microsoft.Authorization/locks/DATABOX_SERVICE","type":"Microsoft.Authorization/locks","name":"DATABOX_SERVICE"},{"properties":{"level":"CanNotDelete"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azure-cli-test-rg/providers/Microsoft.Authorization/locks/lock_test_resources","type":"Microsoft.Authorization/locks","name":"lock_test_resources"},{"properties":{"level":"CanNotDelete","notes":"for + msal test"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yeming/providers/Microsoft.Authorization/locks/yeliu","type":"Microsoft.Authorization/locks","name":"yeliu"},{"properties":{"level":"CanNotDelete","notes":"Data + Box Service to copy data from device to storage account."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_databoxn5n2vkeyewiwob4e7e6nqiblkvvgc5qorevejhsntblvdlc2t373rrvy45p/providers/Microsoft.Storage/storageAccounts/clitest75g6r5uwkj7ker7wu/providers/Microsoft.Authorization/locks/DATABOX_SERVICE","type":"Microsoft.Authorization/locks","name":"DATABOX_SERVICE"},{"properties":{"level":"CanNotDelete"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qianwens/providers/Microsoft.Authorization/locks/donotdelete","type":"Microsoft.Authorization/locks","name":"donotdelete"},{"properties":{"level":"CanNotDelete"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/jlvm2rg/providers/Microsoft.Compute/virtualMachines/jlvm2/providers/Microsoft.Authorization/locks/dl","type":"Microsoft.Authorization/locks","name":"dl"},{"properties":{"level":"CanNotDelete","notes":"Data + Box Service to copy data from device to storage account."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_databox5gpbe2knrizxsitmvje3fbdl44tf6cvpfqbpvsyicxmupsbyhmlcrg4wesk/providers/Microsoft.Storage/storageAccounts/clitest7b5n3o4aahl5rafju/providers/Microsoft.Authorization/locks/DATABOX_SERVICE","type":"Microsoft.Authorization/locks","name":"DATABOX_SERVICE"},{"properties":{"level":"CanNotDelete","notes":"for + customer issue repro (snowflake)"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/storage-v2rt-repro/providers/Microsoft.Authorization/locks/DontDelete","type":"Microsoft.Authorization/locks","name":"DontDelete"},{"properties":{"level":"CanNotDelete","notes":"using + bastion"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fanqiu-vm/providers/Microsoft.Authorization/locks/person + vm","type":"Microsoft.Authorization/locks","name":"person vm"},{"properties":{"level":"CanNotDelete"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/jlrg1/providers/Microsoft.Authorization/locks/dl","type":"Microsoft.Authorization/locks","name":"dl"},{"properties":{"level":"CanNotDelete","notes":"Data + Box Service to copy data from device to storage account."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_databoxlekg7y4dtg2pnsaueisdkyqi5mnvmlwxto2cpu3kv7snll4uc37q2rm4wme/providers/Microsoft.Storage/storageAccounts/clitestcu3wv45lektdc3whs/providers/Microsoft.Authorization/locks/DATABOX_SERVICE","type":"Microsoft.Authorization/locks","name":"DATABOX_SERVICE"},{"properties":{"level":"CanNotDelete"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yu-test-rg-westus/providers/Microsoft.Authorization/locks/lock","type":"Microsoft.Authorization/locks","name":"lock"},{"properties":{"level":"CanNotDelete","notes":"Data + Box Service to copy data from device to storage account."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/yu-test-rg-westus/providers/Microsoft.Storage/storageAccounts/sfsfsfsssf/providers/Microsoft.Authorization/locks/DATABOX_SERVICE","type":"Microsoft.Authorization/locks","name":"DATABOX_SERVICE"},{"properties":{"level":"CanNotDelete","notes":"Data + Box Service to copy data from device to storage account."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/yu-test-rg-westus/providers/Microsoft.Storage/storageAccounts/stststeset/providers/Microsoft.Authorization/locks/DATABOX_SERVICE","type":"Microsoft.Authorization/locks","name":"DATABOX_SERVICE"},{"properties":{"level":"CanNotDelete"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/bim-rg/providers/Microsoft.Authorization/locks/bim-lock","type":"Microsoft.Authorization/locks","name":"bim-lock"},{"properties":{"level":"CanNotDelete","notes":"Data + Box Service to copy data from device to storage account."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/bim-rg/providers/Microsoft.Storage/storageAccounts/bimstorageacc/providers/Microsoft.Authorization/locks/DATABOX_SERVICE","type":"Microsoft.Authorization/locks","name":"DATABOX_SERVICE"},{"properties":{"level":"CanNotDelete","notes":"Data + Box Service to copy data from device to storage account."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_databoxfgdxtb5b3moqarfyogd7fcognbrlsihjlj3acnscrixetycujoejzzalyi3/providers/Microsoft.Storage/storageAccounts/clitestldg5uo7ika27utek4/providers/Microsoft.Authorization/locks/DATABOX_SERVICE","type":"Microsoft.Authorization/locks","name":"DATABOX_SERVICE"}]}' + headers: + cache-control: + - no-cache + content-length: + - '14599' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 06 Mar 2020 14:42:12 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - lock delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --name -g --resource-name --resource-type + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-resource/8.0.1 Azure-SDK-For-Python AZURECLI/2.1.0 + accept-language: + - en-US + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_databox000001/providers/Microsoft.Storage/storageAccounts/clitest000002/providers/Microsoft.Authorization/locks/DATABOX_SERVICE?api-version=2016-09-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Fri, 06 Mar 2020 14:42:14 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14995' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - lock delete + Connection: + - keep-alive + ParameterSetName: + - --name -g --resource-name --resource-type + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-resource/8.0.1 Azure-SDK-For-Python AZURECLI/2.1.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/locks?api-version=2016-09-01 + response: + body: + string: '{"value":[{"properties":{"level":"CanNotDelete","notes":"Data Box Service + to copy data from device to storage account."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_databoxrg2slunrj5vx5aydveu66wkj6rh3ildamkumi4zojpcf6f4vastgfp4v3rw/providers/Microsoft.Storage/storageAccounts/clitestmap7c2xyjf3gsd7yg/providers/Microsoft.Authorization/locks/DATABOX_SERVICE","type":"Microsoft.Authorization/locks","name":"DATABOX_SERVICE"},{"properties":{"level":"CanNotDelete","notes":"Data + Box Service to copy data from device to storage account."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_databoxu7woflo47pjem4rfw2djuvafywtfnprfpduospdfotkqkudaylsua3ybqpa/providers/Microsoft.Storage/storageAccounts/clitestnxsheqf5s5rcht46h/providers/Microsoft.Authorization/locks/DATABOX_SERVICE","type":"Microsoft.Authorization/locks","name":"DATABOX_SERVICE"},{"properties":{"level":"CanNotDelete","notes":"for + Asir"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/emerald-city-bookstore/providers/Microsoft.Authorization/locks/No-DELETE","type":"Microsoft.Authorization/locks","name":"No-DELETE"},{"properties":{"level":"CanNotDelete","notes":"Data + Box Service to copy data from device to storage account."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_databox52yrfbe7molrqhwdubnr2jcijd22xsz3hgcg3btf3sza5boeklwgzzq5sfn/providers/Microsoft.Storage/storageAccounts/clitestm7nikx6sld4npo42d/providers/Microsoft.Authorization/locks/DATABOX_SERVICE","type":"Microsoft.Authorization/locks","name":"DATABOX_SERVICE"},{"properties":{"level":"CanNotDelete","notes":"Data + Box Service to copy data from device to storage account."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_databox52yrfbe7molrqhwdubnr2jcijd22xsz3hgcg3btf3sza5boeklwgzzq5sfn/providers/Microsoft.Storage/storageAccounts/clitestqsel4b35pkfyubvyx/providers/Microsoft.Authorization/locks/DATABOX_SERVICE","type":"Microsoft.Authorization/locks","name":"DATABOX_SERVICE"},{"properties":{"level":"CanNotDelete"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuhcentral/providers/Microsoft.Authorization/locks/delete","type":"Microsoft.Authorization/locks","name":"delete"},{"properties":{"level":"CanNotDelete","notes":"Data + Box Service to copy data from device to storage account."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_databoxeg3csudujzrh2zcvbjytg6gvlkp6sjfcozveffblaqhrzhsslvpr54lg7n2/providers/Microsoft.Storage/storageAccounts/clitestgdfhjpgc2wgbrddlq/providers/Microsoft.Authorization/locks/DATABOX_SERVICE","type":"Microsoft.Authorization/locks","name":"DATABOX_SERVICE"},{"properties":{"level":"CanNotDelete"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yu-test-rg/providers/Microsoft.Authorization/locks/lock","type":"Microsoft.Authorization/locks","name":"lock"},{"properties":{"level":"CanNotDelete"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databoxam64dpcskfsb23dkj6zbvxysimh24e3upfdsdmuxbdl2j25ckz2uz5lht5y/providers/Microsoft.Authorization/locks/lock","type":"Microsoft.Authorization/locks","name":"lock"},{"properties":{"level":"CanNotDelete","notes":"Data + Box Service to copy data from device to storage account."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_databoxoe2qtcqlnxonqpub522jgmpzgeegwhowl2qo6xqgfwtqcd3jzicz5yraawi/providers/Microsoft.Storage/storageAccounts/clitest6yrafi3cntx2cngw3/providers/Microsoft.Authorization/locks/DATABOX_SERVICE","type":"Microsoft.Authorization/locks","name":"DATABOX_SERVICE"},{"properties":{"level":"CanNotDelete","notes":"Data + Box Service to copy data from device to storage account."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_databoxoe2qtcqlnxonqpub522jgmpzgeegwhowl2qo6xqgfwtqcd3jzicz5yraawi/providers/Microsoft.Storage/storageAccounts/clitestl6h6fa53d2gbmohn3/providers/Microsoft.Authorization/locks/DATABOX_SERVICE","type":"Microsoft.Authorization/locks","name":"DATABOX_SERVICE"},{"properties":{"level":"CanNotDelete"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ygmanual3/providers/Microsoft.Authorization/locks/nodel","type":"Microsoft.Authorization/locks","name":"nodel"},{"properties":{"level":"CanNotDelete"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/feng-cli-rg/providers/Microsoft.Storage/storageAccounts/fengsa/providers/Microsoft.Authorization/locks/no-delete","type":"Microsoft.Authorization/locks","name":"no-delete"},{"properties":{"level":"CanNotDelete","notes":"Auto-created + by Azure Backup for storage accounts registered with a Recovery Services Vault. + This lock is intended to guard against deletion of backups due to accidental + deletion of the storage account."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg6i4hl6iakg/providers/microsoft.storage/storageAccounts/clitestu3p7a7ib4n4y7gt4m/providers/Microsoft.Authorization/locks/AzureBackupProtectionLock","type":"Microsoft.Authorization/locks","name":"AzureBackupProtectionLock"},{"properties":{"level":"CanNotDelete","notes":""},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/new-experiences/providers/Microsoft.Authorization/locks/NO-DELETE","type":"Microsoft.Authorization/locks","name":"NO-DELETE"},{"properties":{"level":"CanNotDelete"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuh/providers/Microsoft.Authorization/locks/delete","type":"Microsoft.Authorization/locks","name":"delete"},{"properties":{"level":"CanNotDelete","notes":"wait + until 2019.1.10"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azure-core-poc/providers/Microsoft.Authorization/locks/keep","type":"Microsoft.Authorization/locks","name":"keep"},{"properties":{"level":"CanNotDelete","notes":"Reserved + resource locked by ''zhoxing-test'' lab."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/zhoxing-test/providers/microsoft.storage/storageaccounts/azhoxingtest9851/providers/Microsoft.Authorization/locks/DevTestLabs + Lock","type":"Microsoft.Authorization/locks","name":"DevTestLabs Lock"},{"properties":{"level":"CanNotDelete","notes":"Reserved + resource locked by ''zhoxing-test'' lab."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/zhoxing-test/providers/Microsoft.KeyVault/vaults/zhoxingtest9ac53638/providers/Microsoft.Authorization/locks/DevTestLabs + Lock","type":"Microsoft.Authorization/locks","name":"DevTestLabs Lock"},{"properties":{"level":"CanNotDelete","notes":"Reserved + resource locked by ''zhoxing-test'' lab."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/zhoxing-test/providers/Microsoft.KeyVault/vaults/zhoxingtest9393/providers/Microsoft.Authorization/locks/DevTestLabs + Lock","type":"Microsoft.Authorization/locks","name":"DevTestLabs Lock"},{"properties":{"level":"ReadOnly"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/zhoxing-test/providers/Microsoft.Network/virtualNetworks/zhoxing-test/providers/Microsoft.Authorization/locks/vnetlock","type":"Microsoft.Authorization/locks","name":"vnetlock"},{"properties":{"level":"CanNotDelete","notes":"Reserved + resource locked by ''zhoxing-test'' lab."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/zhoxing-test/providers/Microsoft.Network/virtualNetworks/Dtlzhoxing-test/providers/Microsoft.Authorization/locks/DevTestLabs + Lock","type":"Microsoft.Authorization/locks","name":"DevTestLabs Lock"},{"properties":{"level":"CanNotDelete"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fytest/providers/Microsoft.KeyVault/vaults/vault4848/providers/Microsoft.Authorization/locks/l","type":"Microsoft.Authorization/locks","name":"l"},{"properties":{"level":"CanNotDelete"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fytest/providers/Microsoft.Compute/diskEncryptionSets/des1/providers/Microsoft.Authorization/locks/l","type":"Microsoft.Authorization/locks","name":"l"},{"properties":{"level":"CanNotDelete","notes":"In + case of deleting by incident"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/azuresdktest_reserved/providers/Microsoft.Authorization/locks/LockReservedResources","type":"Microsoft.Authorization/locks","name":"LockReservedResources"},{"properties":{"level":"CanNotDelete","notes":"Data + Box Service to copy data from device to storage account."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_databox000001/providers/Microsoft.Storage/storageAccounts/clitest000003/providers/Microsoft.Authorization/locks/DATABOX_SERVICE","type":"Microsoft.Authorization/locks","name":"DATABOX_SERVICE"},{"properties":{"level":"CanNotDelete"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azure-cli-test-rg/providers/Microsoft.Authorization/locks/lock_test_resources","type":"Microsoft.Authorization/locks","name":"lock_test_resources"},{"properties":{"level":"CanNotDelete","notes":"for + msal test"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yeming/providers/Microsoft.Authorization/locks/yeliu","type":"Microsoft.Authorization/locks","name":"yeliu"},{"properties":{"level":"CanNotDelete","notes":"Data + Box Service to copy data from device to storage account."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_databoxn5n2vkeyewiwob4e7e6nqiblkvvgc5qorevejhsntblvdlc2t373rrvy45p/providers/Microsoft.Storage/storageAccounts/clitest75g6r5uwkj7ker7wu/providers/Microsoft.Authorization/locks/DATABOX_SERVICE","type":"Microsoft.Authorization/locks","name":"DATABOX_SERVICE"},{"properties":{"level":"CanNotDelete"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qianwens/providers/Microsoft.Authorization/locks/donotdelete","type":"Microsoft.Authorization/locks","name":"donotdelete"},{"properties":{"level":"CanNotDelete"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/jlvm2rg/providers/Microsoft.Compute/virtualMachines/jlvm2/providers/Microsoft.Authorization/locks/dl","type":"Microsoft.Authorization/locks","name":"dl"},{"properties":{"level":"CanNotDelete","notes":"Data + Box Service to copy data from device to storage account."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_databox5gpbe2knrizxsitmvje3fbdl44tf6cvpfqbpvsyicxmupsbyhmlcrg4wesk/providers/Microsoft.Storage/storageAccounts/clitest7b5n3o4aahl5rafju/providers/Microsoft.Authorization/locks/DATABOX_SERVICE","type":"Microsoft.Authorization/locks","name":"DATABOX_SERVICE"},{"properties":{"level":"CanNotDelete","notes":"for + customer issue repro (snowflake)"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/storage-v2rt-repro/providers/Microsoft.Authorization/locks/DontDelete","type":"Microsoft.Authorization/locks","name":"DontDelete"},{"properties":{"level":"CanNotDelete","notes":"using + bastion"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fanqiu-vm/providers/Microsoft.Authorization/locks/person + vm","type":"Microsoft.Authorization/locks","name":"person vm"},{"properties":{"level":"CanNotDelete"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/jlrg1/providers/Microsoft.Authorization/locks/dl","type":"Microsoft.Authorization/locks","name":"dl"},{"properties":{"level":"CanNotDelete","notes":"Data + Box Service to copy data from device to storage account."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_databoxlekg7y4dtg2pnsaueisdkyqi5mnvmlwxto2cpu3kv7snll4uc37q2rm4wme/providers/Microsoft.Storage/storageAccounts/clitestcu3wv45lektdc3whs/providers/Microsoft.Authorization/locks/DATABOX_SERVICE","type":"Microsoft.Authorization/locks","name":"DATABOX_SERVICE"},{"properties":{"level":"CanNotDelete"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yu-test-rg-westus/providers/Microsoft.Authorization/locks/lock","type":"Microsoft.Authorization/locks","name":"lock"},{"properties":{"level":"CanNotDelete","notes":"Data + Box Service to copy data from device to storage account."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/yu-test-rg-westus/providers/Microsoft.Storage/storageAccounts/sfsfsfsssf/providers/Microsoft.Authorization/locks/DATABOX_SERVICE","type":"Microsoft.Authorization/locks","name":"DATABOX_SERVICE"},{"properties":{"level":"CanNotDelete","notes":"Data + Box Service to copy data from device to storage account."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/yu-test-rg-westus/providers/Microsoft.Storage/storageAccounts/stststeset/providers/Microsoft.Authorization/locks/DATABOX_SERVICE","type":"Microsoft.Authorization/locks","name":"DATABOX_SERVICE"},{"properties":{"level":"CanNotDelete"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/bim-rg/providers/Microsoft.Authorization/locks/bim-lock","type":"Microsoft.Authorization/locks","name":"bim-lock"},{"properties":{"level":"CanNotDelete","notes":"Data + Box Service to copy data from device to storage account."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/bim-rg/providers/Microsoft.Storage/storageAccounts/bimstorageacc/providers/Microsoft.Authorization/locks/DATABOX_SERVICE","type":"Microsoft.Authorization/locks","name":"DATABOX_SERVICE"},{"properties":{"level":"CanNotDelete","notes":"Data + Box Service to copy data from device to storage account."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_databoxfgdxtb5b3moqarfyogd7fcognbrlsihjlj3acnscrixetycujoejzzalyi3/providers/Microsoft.Storage/storageAccounts/clitestldg5uo7ika27utek4/providers/Microsoft.Authorization/locks/DATABOX_SERVICE","type":"Microsoft.Authorization/locks","name":"DATABOX_SERVICE"}]}' + headers: + cache-control: + - no-cache + content-length: + - '14148' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 06 Mar 2020 14:42:18 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - lock delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --name -g --resource-name --resource-type + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-resource/8.0.1 Azure-SDK-For-Python AZURECLI/2.1.0 + accept-language: + - en-US + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_databox000001/providers/Microsoft.Storage/storageAccounts/clitest000003/providers/Microsoft.Authorization/locks/DATABOX_SERVICE?api-version=2016-09-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Fri, 06 Mar 2020 14:42:20 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + status: + code: 200 + message: OK +version: 1 diff --git a/src/databox/azext_databox/tests/latest/test_databox_scenario.py b/src/databox/azext_databox/tests/latest/test_databox_scenario.py new file mode 100644 index 00000000000..40d34369c2b --- /dev/null +++ b/src/databox/azext_databox/tests/latest/test_databox_scenario.py @@ -0,0 +1,141 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +import os + +from azure.cli.testsdk import (ScenarioTest, ResourceGroupPreparer, StorageAccountPreparer, JMESPathCheck) + +TEST_DIR = os.path.abspath(os.path.join(os.path.abspath(__file__), '..')) + + +class DataBoxScenarioTest(ScenarioTest): + + @ResourceGroupPreparer(name_prefix='cli_test_databox') + @StorageAccountPreparer(parameter_name='storage_account_1') + @StorageAccountPreparer(parameter_name='storage_account_2') + def test_databox(self, storage_account_1, storage_account_2): + job_name = self.create_random_name('job', 24) + self.kwargs.update({ + 'job_name': job_name, + 'storage_account_1': storage_account_1, + 'storage_account_2': storage_account_2 + }) + + # Create a databox job with sku 'DataBox'. + self.cmd('databox job create ' + '--resource-group {rg} ' + '--name {job_name} ' + '--location westus ' + '--sku DataBox ' + '--contact-name "Public SDK Test" ' + '--phone 14258828080 ' + '--email-list testing@microsoft.com ' + '--street-address1 "1 MICROSOFT WAY" ' + '--city Redmond ' + '--state-or-province WA ' + '--country US ' + '--postal-code 98052 ' + '--company-name Microsoft ' + '--storage-account {storage_account_1} {storage_account_2} ' + '--staging-storage-account {storage_account_1} ' + '--resource-group-for-managed-disk rg-for-managed-disk', + checks=[JMESPathCheck('status', 'DeviceOrdered')]) + + self.cmd('databox job update ' + '--resource-group {rg} ' + '--name {job_name} ' + '--contact-name "Public SDK Test 1" ' + '--email-list testing1@microsoft.com', + checks=[]) + + self.cmd('databox job show ' + '--resource-group {rg} ' + '--name {job_name}', + checks=[ + JMESPathCheck('name', job_name), + JMESPathCheck('isCancellable', True), + JMESPathCheck('isDeletable', False), + JMESPathCheck('details.contactDetails.contactName', 'Public SDK Test 1'), + JMESPathCheck('details.contactDetails.emailList[0]', 'testing1@microsoft.com')]) + + self.cmd('databox job list ' + '--resource-group {rg}', + checks=[JMESPathCheck('length(@)', 1)]) + + self.cmd('databox job cancel ' + '--resource-group {rg} ' + '--name {job_name} ' + '--reason "CancelTest" ' + '-y', + checks=[]) + + self.cmd('databox job show ' + '--resource-group {rg} ' + '--name {job_name}', + checks=[ + JMESPathCheck('name', job_name), + JMESPathCheck('isCancellable', False), + JMESPathCheck('isDeletable', True)]) + + self.cmd('databox job delete ' + '--resource-group {rg} ' + '--name {job_name} ' + '-y', + checks=[]) + + self.cmd('databox job show ' + '--resource-group {rg} ' + '--name {job_name}', + expect_failure=True) + + # Create another databox job with sku 'DataBoxDisk'. + self.cmd('databox job create ' + '--resource-group {rg} ' + '--name {job_name} ' + '--location westus ' + '--sku DataBoxDisk ' + '--expected-data-size 1 ' + '--contact-name "Public SDK Test" ' + '--phone 14258828080 ' + '--email-list testing@microsoft.com ' + '--street-address1 "1 MICROSOFT WAY" ' + '--city Redmond ' + '--state-or-province WA ' + '--country US ' + '--postal-code 98052 ' + '--company-name Microsoft ' + '--storage-account {storage_account_1}', + checks=[JMESPathCheck('status', 'DeviceOrdered')]) + + self.cmd('databox job cancel ' + '--resource-group {rg} ' + '--name {job_name} ' + '--reason "CancelTest" ' + '-y', + checks=[]) + + self.cmd('databox job delete ' + '--resource-group {rg} ' + '--name {job_name} ' + '-y', + checks=[]) + + self.cmd('databox job show ' + '--resource-group {rg} ' + '--name {job_name}', + expect_failure=True) + + # DataBox service will create a lock 'DATABOX_SERVICE' on the storage account under the resource group when creating a job. In order to clean up the resource group, we need delete the lock first. + self.cmd('lock delete ' + '--name DATABOX_SERVICE ' + '-g {rg} ' + '--resource-name {storage_account_1} ' + '--resource-type Microsoft.Storage/storageAccounts') + + self.cmd('lock delete ' + '--name DATABOX_SERVICE ' + '-g {rg} ' + '--resource-name {storage_account_2} ' + '--resource-type Microsoft.Storage/storageAccounts') diff --git a/src/databox/azext_databox/vendored_sdks/__init__.py b/src/databox/azext_databox/vendored_sdks/__init__.py new file mode 100644 index 00000000000..7183870ee56 --- /dev/null +++ b/src/databox/azext_databox/vendored_sdks/__init__.py @@ -0,0 +1,6 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +__path__ = __import__('pkgutil').extend_path(__path__, __name__) \ No newline at end of file diff --git a/src/databox/azext_databox/vendored_sdks/databox/__init__.py b/src/databox/azext_databox/vendored_sdks/databox/__init__.py new file mode 100644 index 00000000000..1c85885ae27 --- /dev/null +++ b/src/databox/azext_databox/vendored_sdks/databox/__init__.py @@ -0,0 +1,19 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from ._configuration import DataBoxManagementClientConfiguration +from ._data_box_management_client import DataBoxManagementClient +__all__ = ['DataBoxManagementClient', 'DataBoxManagementClientConfiguration'] + +from .version import VERSION + +__version__ = VERSION + diff --git a/src/databox/azext_databox/vendored_sdks/databox/_configuration.py b/src/databox/azext_databox/vendored_sdks/databox/_configuration.py new file mode 100644 index 00000000000..adf67e024e2 --- /dev/null +++ b/src/databox/azext_databox/vendored_sdks/databox/_configuration.py @@ -0,0 +1,48 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +from msrestazure import AzureConfiguration + +from .version import VERSION + + +class DataBoxManagementClientConfiguration(AzureConfiguration): + """Configuration for DataBoxManagementClient + Note that all parameters used to create this instance are saved as instance + attributes. + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param subscription_id: The Subscription Id + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=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 base_url: + base_url = 'https://management.azure.com' + + super(DataBoxManagementClientConfiguration, self).__init__(base_url) + + # Starting Autorest.Python 4.0.64, make connection pool activated by default + self.keep_alive = True + + self.add_user_agent('azure-mgmt-databox/{}'.format(VERSION)) + self.add_user_agent('Azure-SDK-For-Python') + + self.credentials = credentials + self.subscription_id = subscription_id diff --git a/src/databox/azext_databox/vendored_sdks/databox/_data_box_management_client.py b/src/databox/azext_databox/vendored_sdks/databox/_data_box_management_client.py new file mode 100644 index 00000000000..7c2f11f5e82 --- /dev/null +++ b/src/databox/azext_databox/vendored_sdks/databox/_data_box_management_client.py @@ -0,0 +1,59 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.service_client import SDKClient +from msrest import Serializer, Deserializer + +from ._configuration import DataBoxManagementClientConfiguration +from .operations import Operations +from .operations import JobsOperations +from .operations import ServiceOperations +from . import models + + +class DataBoxManagementClient(SDKClient): + """DataBoxManagementClient + + :ivar config: Configuration for client. + :vartype config: DataBoxManagementClientConfiguration + + :ivar operations: Operations operations + :vartype operations: azure.mgmt.databox.operations.Operations + :ivar jobs: Jobs operations + :vartype jobs: azure.mgmt.databox.operations.JobsOperations + :ivar service: Service operations + :vartype service: azure.mgmt.databox.operations.ServiceOperations + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param subscription_id: The Subscription Id + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=None): + + self.config = DataBoxManagementClientConfiguration(credentials, subscription_id, base_url) + super(DataBoxManagementClient, self).__init__(self.config.credentials, self.config) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self.api_version = '2019-09-01' + self._serialize = Serializer(client_models) + self._deserialize = Deserializer(client_models) + + self.operations = Operations( + self._client, self.config, self._serialize, self._deserialize) + self.jobs = JobsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.service = ServiceOperations( + self._client, self.config, self._serialize, self._deserialize) diff --git a/src/databox/azext_databox/vendored_sdks/databox/models/__init__.py b/src/databox/azext_databox/vendored_sdks/databox/models/__init__.py new file mode 100644 index 00000000000..ade07b1ec9a --- /dev/null +++ b/src/databox/azext_databox/vendored_sdks/databox/models/__init__.py @@ -0,0 +1,290 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +try: + from ._models_py3 import AccountCredentialDetails + from ._models_py3 import AddressValidationOutput + from ._models_py3 import ApplianceNetworkConfiguration + from ._models_py3 import ArmBaseObject + from ._models_py3 import AvailableSkuRequest + from ._models_py3 import CancellationReason + from ._models_py3 import ContactDetails + from ._models_py3 import CopyLogDetails + from ._models_py3 import CopyProgress + from ._models_py3 import CreateJobValidations + from ._models_py3 import CreateOrderLimitForSubscriptionValidationRequest + from ._models_py3 import CreateOrderLimitForSubscriptionValidationResponseProperties + from ._models_py3 import DataBoxAccountCopyLogDetails + from ._models_py3 import DataBoxDiskCopyLogDetails + from ._models_py3 import DataBoxDiskCopyProgress + from ._models_py3 import DataBoxDiskJobDetails + from ._models_py3 import DataBoxDiskJobSecrets + from ._models_py3 import DataBoxHeavyAccountCopyLogDetails + from ._models_py3 import DataBoxHeavyJobDetails + from ._models_py3 import DataBoxHeavyJobSecrets + from ._models_py3 import DataBoxHeavySecret + from ._models_py3 import DataBoxJobDetails + from ._models_py3 import DataboxJobSecrets + from ._models_py3 import DataBoxScheduleAvailabilityRequest + from ._models_py3 import DataBoxSecret + from ._models_py3 import DataDestinationDetailsValidationRequest + from ._models_py3 import DataDestinationDetailsValidationResponseProperties + from ._models_py3 import DcAccessSecurityCode + from ._models_py3 import DestinationAccountDetails + from ._models_py3 import DestinationManagedDiskDetails + from ._models_py3 import DestinationStorageAccountDetails + from ._models_py3 import DestinationToServiceLocationMap + from ._models_py3 import DiskScheduleAvailabilityRequest + from ._models_py3 import DiskSecret + from ._models_py3 import Error + from ._models_py3 import HeavyScheduleAvailabilityRequest + from ._models_py3 import JobDeliveryInfo + from ._models_py3 import JobDetails + from ._models_py3 import JobErrorDetails + from ._models_py3 import JobResource + from ._models_py3 import JobResourceUpdateParameter + from ._models_py3 import JobSecrets + from ._models_py3 import JobStages + from ._models_py3 import NotificationPreference + from ._models_py3 import Operation + from ._models_py3 import OperationDisplay + from ._models_py3 import PackageShippingDetails + from ._models_py3 import Preferences + from ._models_py3 import PreferencesValidationRequest + from ._models_py3 import PreferencesValidationResponseProperties + from ._models_py3 import RegionConfigurationRequest + from ._models_py3 import RegionConfigurationResponse + from ._models_py3 import Resource + from ._models_py3 import ScheduleAvailabilityRequest + from ._models_py3 import ScheduleAvailabilityResponse + from ._models_py3 import ShareCredentialDetails + from ._models_py3 import ShipmentPickUpRequest + from ._models_py3 import ShipmentPickUpResponse + from ._models_py3 import ShippingAddress + from ._models_py3 import Sku + from ._models_py3 import SkuAvailabilityValidationRequest + from ._models_py3 import SkuAvailabilityValidationResponseProperties + from ._models_py3 import SkuCapacity + from ._models_py3 import SkuCost + from ._models_py3 import SkuInformation + from ._models_py3 import SubscriptionIsAllowedToCreateJobValidationRequest + from ._models_py3 import SubscriptionIsAllowedToCreateJobValidationResponseProperties + from ._models_py3 import TransportAvailabilityDetails + from ._models_py3 import TransportAvailabilityRequest + from ._models_py3 import TransportAvailabilityResponse + from ._models_py3 import TransportPreferences + from ._models_py3 import UnencryptedCredentials + from ._models_py3 import UpdateJobDetails + from ._models_py3 import ValidateAddress + from ._models_py3 import ValidationInputRequest + from ._models_py3 import ValidationInputResponse + from ._models_py3 import ValidationRequest + from ._models_py3 import ValidationResponse +except (SyntaxError, ImportError): + from ._models import AccountCredentialDetails + from ._models import AddressValidationOutput + from ._models import ApplianceNetworkConfiguration + from ._models import ArmBaseObject + from ._models import AvailableSkuRequest + from ._models import CancellationReason + from ._models import ContactDetails + from ._models import CopyLogDetails + from ._models import CopyProgress + from ._models import CreateJobValidations + from ._models import CreateOrderLimitForSubscriptionValidationRequest + from ._models import CreateOrderLimitForSubscriptionValidationResponseProperties + from ._models import DataBoxAccountCopyLogDetails + from ._models import DataBoxDiskCopyLogDetails + from ._models import DataBoxDiskCopyProgress + from ._models import DataBoxDiskJobDetails + from ._models import DataBoxDiskJobSecrets + from ._models import DataBoxHeavyAccountCopyLogDetails + from ._models import DataBoxHeavyJobDetails + from ._models import DataBoxHeavyJobSecrets + from ._models import DataBoxHeavySecret + from ._models import DataBoxJobDetails + from ._models import DataboxJobSecrets + from ._models import DataBoxScheduleAvailabilityRequest + from ._models import DataBoxSecret + from ._models import DataDestinationDetailsValidationRequest + from ._models import DataDestinationDetailsValidationResponseProperties + from ._models import DcAccessSecurityCode + from ._models import DestinationAccountDetails + from ._models import DestinationManagedDiskDetails + from ._models import DestinationStorageAccountDetails + from ._models import DestinationToServiceLocationMap + from ._models import DiskScheduleAvailabilityRequest + from ._models import DiskSecret + from ._models import Error + from ._models import HeavyScheduleAvailabilityRequest + from ._models import JobDeliveryInfo + from ._models import JobDetails + from ._models import JobErrorDetails + from ._models import JobResource + from ._models import JobResourceUpdateParameter + from ._models import JobSecrets + from ._models import JobStages + from ._models import NotificationPreference + from ._models import Operation + from ._models import OperationDisplay + from ._models import PackageShippingDetails + from ._models import Preferences + from ._models import PreferencesValidationRequest + from ._models import PreferencesValidationResponseProperties + from ._models import RegionConfigurationRequest + from ._models import RegionConfigurationResponse + from ._models import Resource + from ._models import ScheduleAvailabilityRequest + from ._models import ScheduleAvailabilityResponse + from ._models import ShareCredentialDetails + from ._models import ShipmentPickUpRequest + from ._models import ShipmentPickUpResponse + from ._models import ShippingAddress + from ._models import Sku + from ._models import SkuAvailabilityValidationRequest + from ._models import SkuAvailabilityValidationResponseProperties + from ._models import SkuCapacity + from ._models import SkuCost + from ._models import SkuInformation + from ._models import SubscriptionIsAllowedToCreateJobValidationRequest + from ._models import SubscriptionIsAllowedToCreateJobValidationResponseProperties + from ._models import TransportAvailabilityDetails + from ._models import TransportAvailabilityRequest + from ._models import TransportAvailabilityResponse + from ._models import TransportPreferences + from ._models import UnencryptedCredentials + from ._models import UpdateJobDetails + from ._models import ValidateAddress + from ._models import ValidationInputRequest + from ._models import ValidationInputResponse + from ._models import ValidationRequest + from ._models import ValidationResponse +from ._paged_models import JobResourcePaged +from ._paged_models import OperationPaged +from ._paged_models import SkuInformationPaged +from ._paged_models import UnencryptedCredentialsPaged +from ._data_box_management_client_enums import ( + DataDestinationType, + ShareDestinationFormatType, + AccessProtocol, + AddressValidationStatus, + AddressType, + SkuName, + SkuDisabledReason, + NotificationStageName, + ValidationStatus, + CopyStatus, + StageName, + StageStatus, + TransportShipmentTypes, + JobDeliveryType, + OverallValidationStatus, +) + +__all__ = [ + 'AccountCredentialDetails', + 'AddressValidationOutput', + 'ApplianceNetworkConfiguration', + 'ArmBaseObject', + 'AvailableSkuRequest', + 'CancellationReason', + 'ContactDetails', + 'CopyLogDetails', + 'CopyProgress', + 'CreateJobValidations', + 'CreateOrderLimitForSubscriptionValidationRequest', + 'CreateOrderLimitForSubscriptionValidationResponseProperties', + 'DataBoxAccountCopyLogDetails', + 'DataBoxDiskCopyLogDetails', + 'DataBoxDiskCopyProgress', + 'DataBoxDiskJobDetails', + 'DataBoxDiskJobSecrets', + 'DataBoxHeavyAccountCopyLogDetails', + 'DataBoxHeavyJobDetails', + 'DataBoxHeavyJobSecrets', + 'DataBoxHeavySecret', + 'DataBoxJobDetails', + 'DataboxJobSecrets', + 'DataBoxScheduleAvailabilityRequest', + 'DataBoxSecret', + 'DataDestinationDetailsValidationRequest', + 'DataDestinationDetailsValidationResponseProperties', + 'DcAccessSecurityCode', + 'DestinationAccountDetails', + 'DestinationManagedDiskDetails', + 'DestinationStorageAccountDetails', + 'DestinationToServiceLocationMap', + 'DiskScheduleAvailabilityRequest', + 'DiskSecret', + 'Error', + 'HeavyScheduleAvailabilityRequest', + 'JobDeliveryInfo', + 'JobDetails', + 'JobErrorDetails', + 'JobResource', + 'JobResourceUpdateParameter', + 'JobSecrets', + 'JobStages', + 'NotificationPreference', + 'Operation', + 'OperationDisplay', + 'PackageShippingDetails', + 'Preferences', + 'PreferencesValidationRequest', + 'PreferencesValidationResponseProperties', + 'RegionConfigurationRequest', + 'RegionConfigurationResponse', + 'Resource', + 'ScheduleAvailabilityRequest', + 'ScheduleAvailabilityResponse', + 'ShareCredentialDetails', + 'ShipmentPickUpRequest', + 'ShipmentPickUpResponse', + 'ShippingAddress', + 'Sku', + 'SkuAvailabilityValidationRequest', + 'SkuAvailabilityValidationResponseProperties', + 'SkuCapacity', + 'SkuCost', + 'SkuInformation', + 'SubscriptionIsAllowedToCreateJobValidationRequest', + 'SubscriptionIsAllowedToCreateJobValidationResponseProperties', + 'TransportAvailabilityDetails', + 'TransportAvailabilityRequest', + 'TransportAvailabilityResponse', + 'TransportPreferences', + 'UnencryptedCredentials', + 'UpdateJobDetails', + 'ValidateAddress', + 'ValidationInputRequest', + 'ValidationInputResponse', + 'ValidationRequest', + 'ValidationResponse', + 'OperationPaged', + 'JobResourcePaged', + 'UnencryptedCredentialsPaged', + 'SkuInformationPaged', + 'DataDestinationType', + 'ShareDestinationFormatType', + 'AccessProtocol', + 'AddressValidationStatus', + 'AddressType', + 'SkuName', + 'SkuDisabledReason', + 'NotificationStageName', + 'ValidationStatus', + 'CopyStatus', + 'StageName', + 'StageStatus', + 'TransportShipmentTypes', + 'JobDeliveryType', + 'OverallValidationStatus', +] diff --git a/src/databox/azext_databox/vendored_sdks/databox/models/_data_box_management_client_enums.py b/src/databox/azext_databox/vendored_sdks/databox/models/_data_box_management_client_enums.py new file mode 100644 index 00000000000..4cbea094a21 --- /dev/null +++ b/src/databox/azext_databox/vendored_sdks/databox/models/_data_box_management_client_enums.py @@ -0,0 +1,147 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from enum import Enum + + +class DataDestinationType(str, Enum): + + storage_account = "StorageAccount" #: Storage Accounts . + managed_disk = "ManagedDisk" #: Azure Managed disk storage. + + +class ShareDestinationFormatType(str, Enum): + + unknown_type = "UnknownType" #: Unknown format. + hcs = "HCS" #: Storsimple data format. + block_blob = "BlockBlob" #: Azure storage block blob format. + page_blob = "PageBlob" #: Azure storage page blob format. + azure_file = "AzureFile" #: Azure storage file format. + managed_disk = "ManagedDisk" #: Azure Compute Disk. + + +class AccessProtocol(str, Enum): + + smb = "SMB" #: Server Message Block protocol(SMB). + nfs = "NFS" #: Network File System protocol(NFS). + + +class AddressValidationStatus(str, Enum): + + valid = "Valid" #: Address provided is valid. + invalid = "Invalid" #: Address provided is invalid or not supported. + ambiguous = "Ambiguous" #: Address provided is ambiguous, please choose one of the alternate addresses returned. + + +class AddressType(str, Enum): + + none = "None" #: Address type not known. + residential = "Residential" #: Residential Address. + commercial = "Commercial" #: Commercial Address. + + +class SkuName(str, Enum): + + data_box = "DataBox" #: Databox. + data_box_disk = "DataBoxDisk" #: DataboxDisk. + data_box_heavy = "DataBoxHeavy" #: DataboxHeavy. + + +class SkuDisabledReason(str, Enum): + + none = "None" #: SKU is not disabled. + country = "Country" #: SKU is not available in the requested country. + region = "Region" #: SKU is not available to push data to the requested Azure region. + feature = "Feature" #: Required features are not enabled for the SKU. + offer_type = "OfferType" #: Subscription does not have required offer types for the SKU. + no_subscription_info = "NoSubscriptionInfo" #: Subscription has not registered to Microsoft.DataBox and Service does not have the subscription notification. + + +class NotificationStageName(str, Enum): + + device_prepared = "DevicePrepared" #: Notification at device prepared stage. + dispatched = "Dispatched" #: Notification at device dispatched stage. + delivered = "Delivered" #: Notification at device delivered stage. + picked_up = "PickedUp" #: Notification at device picked up from user stage. + at_azure_dc = "AtAzureDC" #: Notification at device received at azure datacenter stage. + data_copy = "DataCopy" #: Notification at data copy started stage. + + +class ValidationStatus(str, Enum): + + valid = "Valid" #: Validation is successful + invalid = "Invalid" #: Validation is not successful + skipped = "Skipped" #: Validation is skipped + + +class CopyStatus(str, Enum): + + not_started = "NotStarted" #: Data copy hasn't started yet. + in_progress = "InProgress" #: Data copy is in progress. + completed = "Completed" #: Data copy completed. + completed_with_errors = "CompletedWithErrors" #: Data copy completed with errors. + failed = "Failed" #: Data copy failed. No data was copied. + not_returned = "NotReturned" #: No copy triggered as device was not returned. + hardware_error = "HardwareError" #: The Device has hit hardware issues. + device_formatted = "DeviceFormatted" #: Data copy failed. The Device was formatted by user. + device_metadata_modified = "DeviceMetadataModified" #: Data copy failed. Device metadata was modified by user. + storage_account_not_accessible = "StorageAccountNotAccessible" #: Data copy failed. Storage Account was not accessible during copy. + unsupported_data = "UnsupportedData" #: Data copy failed. The Device data content is not supported. + + +class StageName(str, Enum): + + device_ordered = "DeviceOrdered" #: An order has been created. + device_prepared = "DevicePrepared" #: A device has been prepared for the order. + dispatched = "Dispatched" #: Device has been dispatched to the user of the order. + delivered = "Delivered" #: Device has been delivered to the user of the order. + picked_up = "PickedUp" #: Device has been picked up from user and in transit to azure datacenter. + at_azure_dc = "AtAzureDC" #: Device has been received at azure datacenter from the user. + data_copy = "DataCopy" #: Data copy from the device at azure datacenter. + completed = "Completed" #: Order has completed. + completed_with_errors = "CompletedWithErrors" #: Order has completed with errors. + cancelled = "Cancelled" #: Order has been cancelled. + failed_issue_reported_at_customer = "Failed_IssueReportedAtCustomer" #: Order has failed due to issue reported by user. + failed_issue_detected_at_azure_dc = "Failed_IssueDetectedAtAzureDC" #: Order has failed due to issue detected at azure datacenter. + aborted = "Aborted" #: Order has been aborted. + completed_with_warnings = "CompletedWithWarnings" #: Order has completed with warnings. + ready_to_dispatch_from_azure_dc = "ReadyToDispatchFromAzureDC" #: Device is ready to be handed to customer from Azure DC. + ready_to_receive_at_azure_dc = "ReadyToReceiveAtAzureDC" #: Device can be dropped off at Azure DC. + + +class StageStatus(str, Enum): + + none = "None" #: No status available yet. + in_progress = "InProgress" #: Stage is in progress. + succeeded = "Succeeded" #: Stage has succeeded. + failed = "Failed" #: Stage has failed. + cancelled = "Cancelled" #: Stage has been cancelled. + cancelling = "Cancelling" #: Stage is cancelling. + succeeded_with_errors = "SucceededWithErrors" #: Stage has succeeded with errors. + + +class TransportShipmentTypes(str, Enum): + + customer_managed = "CustomerManaged" #: Shipment Logistics is handled by the customer. + microsoft_managed = "MicrosoftManaged" #: Shipment Logistics is handled by Microsoft. + + +class JobDeliveryType(str, Enum): + + non_scheduled = "NonScheduled" #: Non Scheduled job. + scheduled = "Scheduled" #: Scheduled job. + + +class OverallValidationStatus(str, Enum): + + all_valid_to_proceed = "AllValidToProceed" #: Every input request is valid. + inputs_revisit_required = "InputsRevisitRequired" #: Some input requests are not valid. + certain_input_validations_skipped = "CertainInputValidationsSkipped" #: Certain input validations skipped. diff --git a/src/databox/azext_databox/vendored_sdks/databox/models/_models.py b/src/databox/azext_databox/vendored_sdks/databox/models/_models.py new file mode 100644 index 00000000000..34a4d7aa419 --- /dev/null +++ b/src/databox/azext_databox/vendored_sdks/databox/models/_models.py @@ -0,0 +1,3075 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model +from msrest.exceptions import HttpOperationError + + +class AccountCredentialDetails(Model): + """Credential details of the account. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar account_name: Name of the account. + :vartype account_name: str + :ivar data_destination_type: Data Destination Type. Possible values + include: 'StorageAccount', 'ManagedDisk' + :vartype data_destination_type: str or + ~azure.mgmt.databox.models.DataDestinationType + :ivar account_connection_string: Connection string of the account endpoint + to use the account as a storage endpoint on the device. + :vartype account_connection_string: str + :ivar share_credential_details: Per share level unencrypted access + credentials. + :vartype share_credential_details: + list[~azure.mgmt.databox.models.ShareCredentialDetails] + """ + + _validation = { + 'account_name': {'readonly': True}, + 'data_destination_type': {'readonly': True}, + 'account_connection_string': {'readonly': True}, + 'share_credential_details': {'readonly': True}, + } + + _attribute_map = { + 'account_name': {'key': 'accountName', 'type': 'str'}, + 'data_destination_type': {'key': 'dataDestinationType', 'type': 'DataDestinationType'}, + 'account_connection_string': {'key': 'accountConnectionString', 'type': 'str'}, + 'share_credential_details': {'key': 'shareCredentialDetails', 'type': '[ShareCredentialDetails]'}, + } + + def __init__(self, **kwargs): + super(AccountCredentialDetails, self).__init__(**kwargs) + self.account_name = None + self.data_destination_type = None + self.account_connection_string = None + self.share_credential_details = None + + +class AddressValidationOutput(Model): + """Output of the address validation api. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar error: Error code and message of validation response. + :vartype error: ~azure.mgmt.databox.models.Error + :ivar validation_status: The address validation status. Possible values + include: 'Valid', 'Invalid', 'Ambiguous' + :vartype validation_status: str or + ~azure.mgmt.databox.models.AddressValidationStatus + :ivar alternate_addresses: List of alternate addresses. + :vartype alternate_addresses: + list[~azure.mgmt.databox.models.ShippingAddress] + """ + + _validation = { + 'error': {'readonly': True}, + 'validation_status': {'readonly': True}, + 'alternate_addresses': {'readonly': True}, + } + + _attribute_map = { + 'error': {'key': 'properties.error', 'type': 'Error'}, + 'validation_status': {'key': 'properties.validationStatus', 'type': 'AddressValidationStatus'}, + 'alternate_addresses': {'key': 'properties.alternateAddresses', 'type': '[ShippingAddress]'}, + } + + def __init__(self, **kwargs): + super(AddressValidationOutput, self).__init__(**kwargs) + self.error = None + self.validation_status = None + self.alternate_addresses = None + + +class ApplianceNetworkConfiguration(Model): + """The Network Adapter configuration of a DataBox. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name: Name of the network. + :vartype name: str + :ivar mac_address: Mac Address. + :vartype mac_address: str + """ + + _validation = { + 'name': {'readonly': True}, + 'mac_address': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'mac_address': {'key': 'macAddress', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplianceNetworkConfiguration, self).__init__(**kwargs) + self.name = None + self.mac_address = None + + +class ArmBaseObject(Model): + """Base class for all objects under resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name: Name of the object. + :vartype name: str + :ivar id: Id of the object. + :vartype id: str + :ivar type: Type of the object. + :vartype type: str + """ + + _validation = { + 'name': {'readonly': True}, + 'id': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ArmBaseObject, self).__init__(**kwargs) + self.name = None + self.id = None + self.type = None + + +class AvailableSkuRequest(Model): + """The filters for showing the available skus. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar transfer_type: Required. Type of the transfer. Default value: + "ImportToAzure" . + :vartype transfer_type: str + :param country: Required. ISO country code. Country for hardware shipment. + For codes check: + https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements + :type country: str + :param location: Required. Location for data transfer. For locations + check: + https://management.azure.com/subscriptions/SUBSCRIPTIONID/locations?api-version=2018-01-01 + :type location: str + :param sku_names: Sku Names to filter for available skus + :type sku_names: list[str or ~azure.mgmt.databox.models.SkuName] + """ + + _validation = { + 'transfer_type': {'required': True, 'constant': True}, + 'country': {'required': True}, + 'location': {'required': True}, + } + + _attribute_map = { + 'transfer_type': {'key': 'transferType', 'type': 'str'}, + 'country': {'key': 'country', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'sku_names': {'key': 'skuNames', 'type': '[SkuName]'}, + } + + transfer_type = "ImportToAzure" + + def __init__(self, **kwargs): + super(AvailableSkuRequest, self).__init__(**kwargs) + self.country = kwargs.get('country', None) + self.location = kwargs.get('location', None) + self.sku_names = kwargs.get('sku_names', None) + + +class CancellationReason(Model): + """Reason for cancellation. + + All required parameters must be populated in order to send to Azure. + + :param reason: Required. Reason for cancellation. + :type reason: str + """ + + _validation = { + 'reason': {'required': True}, + } + + _attribute_map = { + 'reason': {'key': 'reason', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(CancellationReason, self).__init__(**kwargs) + self.reason = kwargs.get('reason', None) + + +class CloudError(Model): + """The error information object. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar code: Error code string. + :vartype code: str + :ivar message: Descriptive error information. + :vartype message: str + :param target: Error target + :type target: str + :param details: More detailed error information. + :type details: list[~azure.mgmt.databox.models.CloudError] + """ + + _validation = { + 'code': {'readonly': True}, + 'message': {'readonly': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[CloudError]'}, + } + + def __init__(self, **kwargs): + super(CloudError, self).__init__(**kwargs) + self.code = None + self.message = None + self.target = kwargs.get('target', None) + self.details = kwargs.get('details', None) + + +class CloudErrorException(HttpOperationError): + """Server responsed with exception of type: 'CloudError'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(CloudErrorException, self).__init__(deserialize, response, 'CloudError', *args) + + +class ContactDetails(Model): + """Contact Details. + + All required parameters must be populated in order to send to Azure. + + :param contact_name: Required. Contact name of the person. + :type contact_name: str + :param phone: Required. Phone number of the contact person. + :type phone: str + :param phone_extension: Phone extension number of the contact person. + :type phone_extension: str + :param mobile: Mobile number of the contact person. + :type mobile: str + :param email_list: Required. List of Email-ids to be notified about job + progress. + :type email_list: list[str] + :param notification_preference: Notification preference for a job stage. + :type notification_preference: + list[~azure.mgmt.databox.models.NotificationPreference] + """ + + _validation = { + 'contact_name': {'required': True}, + 'phone': {'required': True}, + 'email_list': {'required': True}, + } + + _attribute_map = { + 'contact_name': {'key': 'contactName', 'type': 'str'}, + 'phone': {'key': 'phone', 'type': 'str'}, + 'phone_extension': {'key': 'phoneExtension', 'type': 'str'}, + 'mobile': {'key': 'mobile', 'type': 'str'}, + 'email_list': {'key': 'emailList', 'type': '[str]'}, + 'notification_preference': {'key': 'notificationPreference', 'type': '[NotificationPreference]'}, + } + + def __init__(self, **kwargs): + super(ContactDetails, self).__init__(**kwargs) + self.contact_name = kwargs.get('contact_name', None) + self.phone = kwargs.get('phone', None) + self.phone_extension = kwargs.get('phone_extension', None) + self.mobile = kwargs.get('mobile', None) + self.email_list = kwargs.get('email_list', None) + self.notification_preference = kwargs.get('notification_preference', None) + + +class CopyLogDetails(Model): + """Details for log generated during copy. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: DataBoxAccountCopyLogDetails, DataBoxDiskCopyLogDetails, + DataBoxHeavyAccountCopyLogDetails + + All required parameters must be populated in order to send to Azure. + + :param copy_log_details_type: Required. Constant filled by server. + :type copy_log_details_type: str + """ + + _validation = { + 'copy_log_details_type': {'required': True}, + } + + _attribute_map = { + 'copy_log_details_type': {'key': 'copyLogDetailsType', 'type': 'str'}, + } + + _subtype_map = { + 'copy_log_details_type': {'DataBox': 'DataBoxAccountCopyLogDetails', 'DataBoxDisk': 'DataBoxDiskCopyLogDetails', 'DataBoxHeavy': 'DataBoxHeavyAccountCopyLogDetails'} + } + + def __init__(self, **kwargs): + super(CopyLogDetails, self).__init__(**kwargs) + self.copy_log_details_type = None + + +class CopyProgress(Model): + """Copy progress. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar storage_account_name: Name of the storage account where the data + needs to be uploaded. + :vartype storage_account_name: str + :ivar data_destination_type: Data Destination Type. Possible values + include: 'StorageAccount', 'ManagedDisk' + :vartype data_destination_type: str or + ~azure.mgmt.databox.models.DataDestinationType + :ivar account_id: Id of the account where the data needs to be uploaded. + :vartype account_id: str + :ivar bytes_sent_to_cloud: Amount of data uploaded by the job as of now. + :vartype bytes_sent_to_cloud: long + :ivar total_bytes_to_process: Total amount of data to be processed by the + job. + :vartype total_bytes_to_process: long + :ivar files_processed: Number of files processed by the job as of now. + :vartype files_processed: long + :ivar total_files_to_process: Total number of files to be processed by the + job. + :vartype total_files_to_process: long + :ivar invalid_files_processed: Number of files not adhering to azure + naming conventions which were processed by automatic renaming + :vartype invalid_files_processed: long + :ivar invalid_file_bytes_uploaded: Total amount of data not adhering to + azure naming conventions which were processed by automatic renaming + :vartype invalid_file_bytes_uploaded: long + :ivar renamed_container_count: Number of folders not adhering to azure + naming conventions which were processed by automatic renaming + :vartype renamed_container_count: long + :ivar files_errored_out: Number of files which could not be copied + :vartype files_errored_out: long + """ + + _validation = { + 'storage_account_name': {'readonly': True}, + 'data_destination_type': {'readonly': True}, + 'account_id': {'readonly': True}, + 'bytes_sent_to_cloud': {'readonly': True}, + 'total_bytes_to_process': {'readonly': True}, + 'files_processed': {'readonly': True}, + 'total_files_to_process': {'readonly': True}, + 'invalid_files_processed': {'readonly': True}, + 'invalid_file_bytes_uploaded': {'readonly': True}, + 'renamed_container_count': {'readonly': True}, + 'files_errored_out': {'readonly': True}, + } + + _attribute_map = { + 'storage_account_name': {'key': 'storageAccountName', 'type': 'str'}, + 'data_destination_type': {'key': 'dataDestinationType', 'type': 'DataDestinationType'}, + 'account_id': {'key': 'accountId', 'type': 'str'}, + 'bytes_sent_to_cloud': {'key': 'bytesSentToCloud', 'type': 'long'}, + 'total_bytes_to_process': {'key': 'totalBytesToProcess', 'type': 'long'}, + 'files_processed': {'key': 'filesProcessed', 'type': 'long'}, + 'total_files_to_process': {'key': 'totalFilesToProcess', 'type': 'long'}, + 'invalid_files_processed': {'key': 'invalidFilesProcessed', 'type': 'long'}, + 'invalid_file_bytes_uploaded': {'key': 'invalidFileBytesUploaded', 'type': 'long'}, + 'renamed_container_count': {'key': 'renamedContainerCount', 'type': 'long'}, + 'files_errored_out': {'key': 'filesErroredOut', 'type': 'long'}, + } + + def __init__(self, **kwargs): + super(CopyProgress, self).__init__(**kwargs) + self.storage_account_name = None + self.data_destination_type = None + self.account_id = None + self.bytes_sent_to_cloud = None + self.total_bytes_to_process = None + self.files_processed = None + self.total_files_to_process = None + self.invalid_files_processed = None + self.invalid_file_bytes_uploaded = None + self.renamed_container_count = None + self.files_errored_out = None + + +class ValidationRequest(Model): + """Input request for all pre job creation validation. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: CreateJobValidations + + All required parameters must be populated in order to send to Azure. + + :param individual_request_details: Required. List of request details + contain validationType and its request as key and value respectively. + :type individual_request_details: + list[~azure.mgmt.databox.models.ValidationInputRequest] + :param validation_category: Required. Constant filled by server. + :type validation_category: str + """ + + _validation = { + 'individual_request_details': {'required': True}, + 'validation_category': {'required': True}, + } + + _attribute_map = { + 'individual_request_details': {'key': 'individualRequestDetails', 'type': '[ValidationInputRequest]'}, + 'validation_category': {'key': 'validationCategory', 'type': 'str'}, + } + + _subtype_map = { + 'validation_category': {'JobCreationValidation': 'CreateJobValidations'} + } + + def __init__(self, **kwargs): + super(ValidationRequest, self).__init__(**kwargs) + self.individual_request_details = kwargs.get('individual_request_details', None) + self.validation_category = None + + +class CreateJobValidations(ValidationRequest): + """It does all pre-job creation validations. + + All required parameters must be populated in order to send to Azure. + + :param individual_request_details: Required. List of request details + contain validationType and its request as key and value respectively. + :type individual_request_details: + list[~azure.mgmt.databox.models.ValidationInputRequest] + :param validation_category: Required. Constant filled by server. + :type validation_category: str + """ + + _validation = { + 'individual_request_details': {'required': True}, + 'validation_category': {'required': True}, + } + + _attribute_map = { + 'individual_request_details': {'key': 'individualRequestDetails', 'type': '[ValidationInputRequest]'}, + 'validation_category': {'key': 'validationCategory', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(CreateJobValidations, self).__init__(**kwargs) + self.validation_category = 'JobCreationValidation' + + +class ValidationInputRequest(Model): + """Minimum fields that must be present in any type of validation request. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: CreateOrderLimitForSubscriptionValidationRequest, + DataDestinationDetailsValidationRequest, PreferencesValidationRequest, + SkuAvailabilityValidationRequest, + SubscriptionIsAllowedToCreateJobValidationRequest, ValidateAddress + + All required parameters must be populated in order to send to Azure. + + :param validation_type: Required. Constant filled by server. + :type validation_type: str + """ + + _validation = { + 'validation_type': {'required': True}, + } + + _attribute_map = { + 'validation_type': {'key': 'validationType', 'type': 'str'}, + } + + _subtype_map = { + 'validation_type': {'ValidateCreateOrderLimit': 'CreateOrderLimitForSubscriptionValidationRequest', 'ValidateDataDestinationDetails': 'DataDestinationDetailsValidationRequest', 'ValidatePreferences': 'PreferencesValidationRequest', 'ValidateSkuAvailability': 'SkuAvailabilityValidationRequest', 'ValidateSubscriptionIsAllowedToCreateJob': 'SubscriptionIsAllowedToCreateJobValidationRequest', 'ValidateAddress': 'ValidateAddress'} + } + + def __init__(self, **kwargs): + super(ValidationInputRequest, self).__init__(**kwargs) + self.validation_type = None + + +class CreateOrderLimitForSubscriptionValidationRequest(ValidationInputRequest): + """Request to validate create order limit for current subscription. + + All required parameters must be populated in order to send to Azure. + + :param validation_type: Required. Constant filled by server. + :type validation_type: str + :param device_type: Required. Device type to be used for the job. Possible + values include: 'DataBox', 'DataBoxDisk', 'DataBoxHeavy' + :type device_type: str or ~azure.mgmt.databox.models.SkuName + """ + + _validation = { + 'validation_type': {'required': True}, + 'device_type': {'required': True}, + } + + _attribute_map = { + 'validation_type': {'key': 'validationType', 'type': 'str'}, + 'device_type': {'key': 'deviceType', 'type': 'SkuName'}, + } + + def __init__(self, **kwargs): + super(CreateOrderLimitForSubscriptionValidationRequest, self).__init__(**kwargs) + self.device_type = kwargs.get('device_type', None) + self.validation_type = 'ValidateCreateOrderLimit' + + +class ValidationInputResponse(Model): + """Minimum properties that should be present in each individual validation + response. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: + CreateOrderLimitForSubscriptionValidationResponseProperties, + DataDestinationDetailsValidationResponseProperties, + PreferencesValidationResponseProperties, + SkuAvailabilityValidationResponseProperties, + SubscriptionIsAllowedToCreateJobValidationResponseProperties + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar error: Error code and message of validation response. + :vartype error: ~azure.mgmt.databox.models.Error + :param validation_type: Required. Constant filled by server. + :type validation_type: str + """ + + _validation = { + 'error': {'readonly': True}, + 'validation_type': {'required': True}, + } + + _attribute_map = { + 'error': {'key': 'error', 'type': 'Error'}, + 'validation_type': {'key': 'validationType', 'type': 'str'}, + } + + _subtype_map = { + 'validation_type': {'ValidateCreateOrderLimit': 'CreateOrderLimitForSubscriptionValidationResponseProperties', 'ValidateDataDestinationDetails': 'DataDestinationDetailsValidationResponseProperties', 'ValidatePreferences': 'PreferencesValidationResponseProperties', 'ValidateSkuAvailability': 'SkuAvailabilityValidationResponseProperties', 'ValidateSubscriptionIsAllowedToCreateJob': 'SubscriptionIsAllowedToCreateJobValidationResponseProperties'} + } + + def __init__(self, **kwargs): + super(ValidationInputResponse, self).__init__(**kwargs) + self.error = None + self.validation_type = None + + +class CreateOrderLimitForSubscriptionValidationResponseProperties(ValidationInputResponse): + """Properties of create order limit for subscription validation response. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar error: Error code and message of validation response. + :vartype error: ~azure.mgmt.databox.models.Error + :param validation_type: Required. Constant filled by server. + :type validation_type: str + :ivar status: Create order limit validation status. Possible values + include: 'Valid', 'Invalid', 'Skipped' + :vartype status: str or ~azure.mgmt.databox.models.ValidationStatus + """ + + _validation = { + 'error': {'readonly': True}, + 'validation_type': {'required': True}, + 'status': {'readonly': True}, + } + + _attribute_map = { + 'error': {'key': 'error', 'type': 'Error'}, + 'validation_type': {'key': 'validationType', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'ValidationStatus'}, + } + + def __init__(self, **kwargs): + super(CreateOrderLimitForSubscriptionValidationResponseProperties, self).__init__(**kwargs) + self.status = None + self.validation_type = 'ValidateCreateOrderLimit' + + +class DataBoxAccountCopyLogDetails(CopyLogDetails): + """Copy log details for a storage account of a DataBox job. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param copy_log_details_type: Required. Constant filled by server. + :type copy_log_details_type: str + :ivar account_name: Destination account name. + :vartype account_name: str + :ivar copy_log_link: Link for copy logs. + :vartype copy_log_link: str + """ + + _validation = { + 'copy_log_details_type': {'required': True}, + 'account_name': {'readonly': True}, + 'copy_log_link': {'readonly': True}, + } + + _attribute_map = { + 'copy_log_details_type': {'key': 'copyLogDetailsType', 'type': 'str'}, + 'account_name': {'key': 'accountName', 'type': 'str'}, + 'copy_log_link': {'key': 'copyLogLink', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(DataBoxAccountCopyLogDetails, self).__init__(**kwargs) + self.account_name = None + self.copy_log_link = None + self.copy_log_details_type = 'DataBox' + + +class DataBoxDiskCopyLogDetails(CopyLogDetails): + """Copy Log Details for a disk. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param copy_log_details_type: Required. Constant filled by server. + :type copy_log_details_type: str + :ivar disk_serial_number: Disk Serial Number. + :vartype disk_serial_number: str + :ivar error_log_link: Link for copy error logs. + :vartype error_log_link: str + :ivar verbose_log_link: Link for copy verbose logs. + :vartype verbose_log_link: str + """ + + _validation = { + 'copy_log_details_type': {'required': True}, + 'disk_serial_number': {'readonly': True}, + 'error_log_link': {'readonly': True}, + 'verbose_log_link': {'readonly': True}, + } + + _attribute_map = { + 'copy_log_details_type': {'key': 'copyLogDetailsType', 'type': 'str'}, + 'disk_serial_number': {'key': 'diskSerialNumber', 'type': 'str'}, + 'error_log_link': {'key': 'errorLogLink', 'type': 'str'}, + 'verbose_log_link': {'key': 'verboseLogLink', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(DataBoxDiskCopyLogDetails, self).__init__(**kwargs) + self.disk_serial_number = None + self.error_log_link = None + self.verbose_log_link = None + self.copy_log_details_type = 'DataBoxDisk' + + +class DataBoxDiskCopyProgress(Model): + """DataBox Disk Copy Progress. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar serial_number: The serial number of the disk + :vartype serial_number: str + :ivar bytes_copied: Bytes copied during the copy of disk. + :vartype bytes_copied: long + :ivar percent_complete: Indicates the percentage completed for the copy of + the disk. + :vartype percent_complete: int + :ivar status: The Status of the copy. Possible values include: + 'NotStarted', 'InProgress', 'Completed', 'CompletedWithErrors', 'Failed', + 'NotReturned', 'HardwareError', 'DeviceFormatted', + 'DeviceMetadataModified', 'StorageAccountNotAccessible', 'UnsupportedData' + :vartype status: str or ~azure.mgmt.databox.models.CopyStatus + """ + + _validation = { + 'serial_number': {'readonly': True}, + 'bytes_copied': {'readonly': True}, + 'percent_complete': {'readonly': True}, + 'status': {'readonly': True}, + } + + _attribute_map = { + 'serial_number': {'key': 'serialNumber', 'type': 'str'}, + 'bytes_copied': {'key': 'bytesCopied', 'type': 'long'}, + 'percent_complete': {'key': 'percentComplete', 'type': 'int'}, + 'status': {'key': 'status', 'type': 'CopyStatus'}, + } + + def __init__(self, **kwargs): + super(DataBoxDiskCopyProgress, self).__init__(**kwargs) + self.serial_number = None + self.bytes_copied = None + self.percent_complete = None + self.status = None + + +class JobDetails(Model): + """Job details. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: DataBoxDiskJobDetails, DataBoxHeavyJobDetails, + DataBoxJobDetails + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param expected_data_size_in_terabytes: The expected size of the data, + which needs to be transferred in this job, in terabytes. + :type expected_data_size_in_terabytes: int + :ivar job_stages: List of stages that run in the job. + :vartype job_stages: list[~azure.mgmt.databox.models.JobStages] + :param contact_details: Required. Contact details for notification and + shipping. + :type contact_details: ~azure.mgmt.databox.models.ContactDetails + :param shipping_address: Required. Shipping address of the customer. + :type shipping_address: ~azure.mgmt.databox.models.ShippingAddress + :ivar delivery_package: Delivery package shipping details. + :vartype delivery_package: + ~azure.mgmt.databox.models.PackageShippingDetails + :ivar return_package: Return package shipping details. + :vartype return_package: ~azure.mgmt.databox.models.PackageShippingDetails + :param destination_account_details: Required. Destination account details. + :type destination_account_details: + list[~azure.mgmt.databox.models.DestinationAccountDetails] + :ivar error_details: Error details for failure. This is optional. + :vartype error_details: list[~azure.mgmt.databox.models.JobErrorDetails] + :param preferences: Preferences for the order. + :type preferences: ~azure.mgmt.databox.models.Preferences + :ivar copy_log_details: List of copy log details. + :vartype copy_log_details: list[~azure.mgmt.databox.models.CopyLogDetails] + :ivar reverse_shipment_label_sas_key: Shared access key to download the + return shipment label + :vartype reverse_shipment_label_sas_key: str + :ivar chain_of_custody_sas_key: Shared access key to download the chain of + custody logs + :vartype chain_of_custody_sas_key: str + :param job_details_type: Required. Constant filled by server. + :type job_details_type: str + """ + + _validation = { + 'job_stages': {'readonly': True}, + 'contact_details': {'required': True}, + 'shipping_address': {'required': True}, + 'delivery_package': {'readonly': True}, + 'return_package': {'readonly': True}, + 'destination_account_details': {'required': True}, + 'error_details': {'readonly': True}, + 'copy_log_details': {'readonly': True}, + 'reverse_shipment_label_sas_key': {'readonly': True}, + 'chain_of_custody_sas_key': {'readonly': True}, + 'job_details_type': {'required': True}, + } + + _attribute_map = { + 'expected_data_size_in_terabytes': {'key': 'expectedDataSizeInTerabytes', 'type': 'int'}, + 'job_stages': {'key': 'jobStages', 'type': '[JobStages]'}, + 'contact_details': {'key': 'contactDetails', 'type': 'ContactDetails'}, + 'shipping_address': {'key': 'shippingAddress', 'type': 'ShippingAddress'}, + 'delivery_package': {'key': 'deliveryPackage', 'type': 'PackageShippingDetails'}, + 'return_package': {'key': 'returnPackage', 'type': 'PackageShippingDetails'}, + 'destination_account_details': {'key': 'destinationAccountDetails', 'type': '[DestinationAccountDetails]'}, + 'error_details': {'key': 'errorDetails', 'type': '[JobErrorDetails]'}, + 'preferences': {'key': 'preferences', 'type': 'Preferences'}, + 'copy_log_details': {'key': 'copyLogDetails', 'type': '[CopyLogDetails]'}, + 'reverse_shipment_label_sas_key': {'key': 'reverseShipmentLabelSasKey', 'type': 'str'}, + 'chain_of_custody_sas_key': {'key': 'chainOfCustodySasKey', 'type': 'str'}, + 'job_details_type': {'key': 'jobDetailsType', 'type': 'str'}, + } + + _subtype_map = { + 'job_details_type': {'DataBoxDisk': 'DataBoxDiskJobDetails', 'DataBoxHeavy': 'DataBoxHeavyJobDetails', 'DataBox': 'DataBoxJobDetails'} + } + + def __init__(self, **kwargs): + super(JobDetails, self).__init__(**kwargs) + self.expected_data_size_in_terabytes = kwargs.get('expected_data_size_in_terabytes', None) + self.job_stages = None + self.contact_details = kwargs.get('contact_details', None) + self.shipping_address = kwargs.get('shipping_address', None) + self.delivery_package = None + self.return_package = None + self.destination_account_details = kwargs.get('destination_account_details', None) + self.error_details = None + self.preferences = kwargs.get('preferences', None) + self.copy_log_details = None + self.reverse_shipment_label_sas_key = None + self.chain_of_custody_sas_key = None + self.job_details_type = None + + +class DataBoxDiskJobDetails(JobDetails): + """DataBox Disk Job Details. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param expected_data_size_in_terabytes: The expected size of the data, + which needs to be transferred in this job, in terabytes. + :type expected_data_size_in_terabytes: int + :ivar job_stages: List of stages that run in the job. + :vartype job_stages: list[~azure.mgmt.databox.models.JobStages] + :param contact_details: Required. Contact details for notification and + shipping. + :type contact_details: ~azure.mgmt.databox.models.ContactDetails + :param shipping_address: Required. Shipping address of the customer. + :type shipping_address: ~azure.mgmt.databox.models.ShippingAddress + :ivar delivery_package: Delivery package shipping details. + :vartype delivery_package: + ~azure.mgmt.databox.models.PackageShippingDetails + :ivar return_package: Return package shipping details. + :vartype return_package: ~azure.mgmt.databox.models.PackageShippingDetails + :param destination_account_details: Required. Destination account details. + :type destination_account_details: + list[~azure.mgmt.databox.models.DestinationAccountDetails] + :ivar error_details: Error details for failure. This is optional. + :vartype error_details: list[~azure.mgmt.databox.models.JobErrorDetails] + :param preferences: Preferences for the order. + :type preferences: ~azure.mgmt.databox.models.Preferences + :ivar copy_log_details: List of copy log details. + :vartype copy_log_details: list[~azure.mgmt.databox.models.CopyLogDetails] + :ivar reverse_shipment_label_sas_key: Shared access key to download the + return shipment label + :vartype reverse_shipment_label_sas_key: str + :ivar chain_of_custody_sas_key: Shared access key to download the chain of + custody logs + :vartype chain_of_custody_sas_key: str + :param job_details_type: Required. Constant filled by server. + :type job_details_type: str + :param preferred_disks: User preference on what size disks are needed for + the job. The map is from the disk size in TB to the count. Eg. {2,5} means + 5 disks of 2 TB size. Key is string but will be checked against an int. + :type preferred_disks: dict[str, int] + :ivar copy_progress: Copy progress per disk. + :vartype copy_progress: + list[~azure.mgmt.databox.models.DataBoxDiskCopyProgress] + :ivar disks_and_size_details: Contains the map of disk serial number to + the disk size being used for the job. Is returned only after the disks are + shipped to the customer. + :vartype disks_and_size_details: dict[str, int] + :param passkey: User entered passkey for DataBox Disk job. + :type passkey: str + """ + + _validation = { + 'job_stages': {'readonly': True}, + 'contact_details': {'required': True}, + 'shipping_address': {'required': True}, + 'delivery_package': {'readonly': True}, + 'return_package': {'readonly': True}, + 'destination_account_details': {'required': True}, + 'error_details': {'readonly': True}, + 'copy_log_details': {'readonly': True}, + 'reverse_shipment_label_sas_key': {'readonly': True}, + 'chain_of_custody_sas_key': {'readonly': True}, + 'job_details_type': {'required': True}, + 'copy_progress': {'readonly': True}, + 'disks_and_size_details': {'readonly': True}, + } + + _attribute_map = { + 'expected_data_size_in_terabytes': {'key': 'expectedDataSizeInTerabytes', 'type': 'int'}, + 'job_stages': {'key': 'jobStages', 'type': '[JobStages]'}, + 'contact_details': {'key': 'contactDetails', 'type': 'ContactDetails'}, + 'shipping_address': {'key': 'shippingAddress', 'type': 'ShippingAddress'}, + 'delivery_package': {'key': 'deliveryPackage', 'type': 'PackageShippingDetails'}, + 'return_package': {'key': 'returnPackage', 'type': 'PackageShippingDetails'}, + 'destination_account_details': {'key': 'destinationAccountDetails', 'type': '[DestinationAccountDetails]'}, + 'error_details': {'key': 'errorDetails', 'type': '[JobErrorDetails]'}, + 'preferences': {'key': 'preferences', 'type': 'Preferences'}, + 'copy_log_details': {'key': 'copyLogDetails', 'type': '[CopyLogDetails]'}, + 'reverse_shipment_label_sas_key': {'key': 'reverseShipmentLabelSasKey', 'type': 'str'}, + 'chain_of_custody_sas_key': {'key': 'chainOfCustodySasKey', 'type': 'str'}, + 'job_details_type': {'key': 'jobDetailsType', 'type': 'str'}, + 'preferred_disks': {'key': 'preferredDisks', 'type': '{int}'}, + 'copy_progress': {'key': 'copyProgress', 'type': '[DataBoxDiskCopyProgress]'}, + 'disks_and_size_details': {'key': 'disksAndSizeDetails', 'type': '{int}'}, + 'passkey': {'key': 'passkey', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(DataBoxDiskJobDetails, self).__init__(**kwargs) + self.preferred_disks = kwargs.get('preferred_disks', None) + self.copy_progress = None + self.disks_and_size_details = None + self.passkey = kwargs.get('passkey', None) + self.job_details_type = 'DataBoxDisk' + + +class JobSecrets(Model): + """The base class for the secrets. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: DataBoxDiskJobSecrets, DataBoxHeavyJobSecrets, + DataboxJobSecrets + + All required parameters must be populated in order to send to Azure. + + :param dc_access_security_code: Dc Access Security Code for Customer + Managed Shipping + :type dc_access_security_code: + ~azure.mgmt.databox.models.DcAccessSecurityCode + :param job_secrets_type: Required. Constant filled by server. + :type job_secrets_type: str + """ + + _validation = { + 'job_secrets_type': {'required': True}, + } + + _attribute_map = { + 'dc_access_security_code': {'key': 'dcAccessSecurityCode', 'type': 'DcAccessSecurityCode'}, + 'job_secrets_type': {'key': 'jobSecretsType', 'type': 'str'}, + } + + _subtype_map = { + 'job_secrets_type': {'DataBoxDisk': 'DataBoxDiskJobSecrets', 'DataBoxHeavy': 'DataBoxHeavyJobSecrets', 'DataBox': 'DataboxJobSecrets'} + } + + def __init__(self, **kwargs): + super(JobSecrets, self).__init__(**kwargs) + self.dc_access_security_code = kwargs.get('dc_access_security_code', None) + self.job_secrets_type = None + + +class DataBoxDiskJobSecrets(JobSecrets): + """The secrets related to disk job. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param dc_access_security_code: Dc Access Security Code for Customer + Managed Shipping + :type dc_access_security_code: + ~azure.mgmt.databox.models.DcAccessSecurityCode + :param job_secrets_type: Required. Constant filled by server. + :type job_secrets_type: str + :ivar disk_secrets: Contains the list of secrets object for that device. + :vartype disk_secrets: list[~azure.mgmt.databox.models.DiskSecret] + :ivar pass_key: PassKey for the disk Job. + :vartype pass_key: str + :ivar is_passkey_user_defined: Whether passkey was provided by user. + :vartype is_passkey_user_defined: bool + """ + + _validation = { + 'job_secrets_type': {'required': True}, + 'disk_secrets': {'readonly': True}, + 'pass_key': {'readonly': True}, + 'is_passkey_user_defined': {'readonly': True}, + } + + _attribute_map = { + 'dc_access_security_code': {'key': 'dcAccessSecurityCode', 'type': 'DcAccessSecurityCode'}, + 'job_secrets_type': {'key': 'jobSecretsType', 'type': 'str'}, + 'disk_secrets': {'key': 'diskSecrets', 'type': '[DiskSecret]'}, + 'pass_key': {'key': 'passKey', 'type': 'str'}, + 'is_passkey_user_defined': {'key': 'isPasskeyUserDefined', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(DataBoxDiskJobSecrets, self).__init__(**kwargs) + self.disk_secrets = None + self.pass_key = None + self.is_passkey_user_defined = None + self.job_secrets_type = 'DataBoxDisk' + + +class DataBoxHeavyAccountCopyLogDetails(CopyLogDetails): + """Copy log details for a storage account for Databox heavy. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param copy_log_details_type: Required. Constant filled by server. + :type copy_log_details_type: str + :ivar account_name: Destination account name. + :vartype account_name: str + :ivar copy_log_link: Link for copy logs. + :vartype copy_log_link: list[str] + """ + + _validation = { + 'copy_log_details_type': {'required': True}, + 'account_name': {'readonly': True}, + 'copy_log_link': {'readonly': True}, + } + + _attribute_map = { + 'copy_log_details_type': {'key': 'copyLogDetailsType', 'type': 'str'}, + 'account_name': {'key': 'accountName', 'type': 'str'}, + 'copy_log_link': {'key': 'copyLogLink', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(DataBoxHeavyAccountCopyLogDetails, self).__init__(**kwargs) + self.account_name = None + self.copy_log_link = None + self.copy_log_details_type = 'DataBoxHeavy' + + +class DataBoxHeavyJobDetails(JobDetails): + """Databox Heavy Device Job Details. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param expected_data_size_in_terabytes: The expected size of the data, + which needs to be transferred in this job, in terabytes. + :type expected_data_size_in_terabytes: int + :ivar job_stages: List of stages that run in the job. + :vartype job_stages: list[~azure.mgmt.databox.models.JobStages] + :param contact_details: Required. Contact details for notification and + shipping. + :type contact_details: ~azure.mgmt.databox.models.ContactDetails + :param shipping_address: Required. Shipping address of the customer. + :type shipping_address: ~azure.mgmt.databox.models.ShippingAddress + :ivar delivery_package: Delivery package shipping details. + :vartype delivery_package: + ~azure.mgmt.databox.models.PackageShippingDetails + :ivar return_package: Return package shipping details. + :vartype return_package: ~azure.mgmt.databox.models.PackageShippingDetails + :param destination_account_details: Required. Destination account details. + :type destination_account_details: + list[~azure.mgmt.databox.models.DestinationAccountDetails] + :ivar error_details: Error details for failure. This is optional. + :vartype error_details: list[~azure.mgmt.databox.models.JobErrorDetails] + :param preferences: Preferences for the order. + :type preferences: ~azure.mgmt.databox.models.Preferences + :ivar copy_log_details: List of copy log details. + :vartype copy_log_details: list[~azure.mgmt.databox.models.CopyLogDetails] + :ivar reverse_shipment_label_sas_key: Shared access key to download the + return shipment label + :vartype reverse_shipment_label_sas_key: str + :ivar chain_of_custody_sas_key: Shared access key to download the chain of + custody logs + :vartype chain_of_custody_sas_key: str + :param job_details_type: Required. Constant filled by server. + :type job_details_type: str + :ivar copy_progress: Copy progress per account. + :vartype copy_progress: list[~azure.mgmt.databox.models.CopyProgress] + :param device_password: Set Device password for unlocking Databox Heavy + :type device_password: str + """ + + _validation = { + 'job_stages': {'readonly': True}, + 'contact_details': {'required': True}, + 'shipping_address': {'required': True}, + 'delivery_package': {'readonly': True}, + 'return_package': {'readonly': True}, + 'destination_account_details': {'required': True}, + 'error_details': {'readonly': True}, + 'copy_log_details': {'readonly': True}, + 'reverse_shipment_label_sas_key': {'readonly': True}, + 'chain_of_custody_sas_key': {'readonly': True}, + 'job_details_type': {'required': True}, + 'copy_progress': {'readonly': True}, + } + + _attribute_map = { + 'expected_data_size_in_terabytes': {'key': 'expectedDataSizeInTerabytes', 'type': 'int'}, + 'job_stages': {'key': 'jobStages', 'type': '[JobStages]'}, + 'contact_details': {'key': 'contactDetails', 'type': 'ContactDetails'}, + 'shipping_address': {'key': 'shippingAddress', 'type': 'ShippingAddress'}, + 'delivery_package': {'key': 'deliveryPackage', 'type': 'PackageShippingDetails'}, + 'return_package': {'key': 'returnPackage', 'type': 'PackageShippingDetails'}, + 'destination_account_details': {'key': 'destinationAccountDetails', 'type': '[DestinationAccountDetails]'}, + 'error_details': {'key': 'errorDetails', 'type': '[JobErrorDetails]'}, + 'preferences': {'key': 'preferences', 'type': 'Preferences'}, + 'copy_log_details': {'key': 'copyLogDetails', 'type': '[CopyLogDetails]'}, + 'reverse_shipment_label_sas_key': {'key': 'reverseShipmentLabelSasKey', 'type': 'str'}, + 'chain_of_custody_sas_key': {'key': 'chainOfCustodySasKey', 'type': 'str'}, + 'job_details_type': {'key': 'jobDetailsType', 'type': 'str'}, + 'copy_progress': {'key': 'copyProgress', 'type': '[CopyProgress]'}, + 'device_password': {'key': 'devicePassword', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(DataBoxHeavyJobDetails, self).__init__(**kwargs) + self.copy_progress = None + self.device_password = kwargs.get('device_password', None) + self.job_details_type = 'DataBoxHeavy' + + +class DataBoxHeavyJobSecrets(JobSecrets): + """The secrets related to a databox heavy job. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param dc_access_security_code: Dc Access Security Code for Customer + Managed Shipping + :type dc_access_security_code: + ~azure.mgmt.databox.models.DcAccessSecurityCode + :param job_secrets_type: Required. Constant filled by server. + :type job_secrets_type: str + :ivar cabinet_pod_secrets: Contains the list of secret objects for a + databox heavy job. + :vartype cabinet_pod_secrets: + list[~azure.mgmt.databox.models.DataBoxHeavySecret] + """ + + _validation = { + 'job_secrets_type': {'required': True}, + 'cabinet_pod_secrets': {'readonly': True}, + } + + _attribute_map = { + 'dc_access_security_code': {'key': 'dcAccessSecurityCode', 'type': 'DcAccessSecurityCode'}, + 'job_secrets_type': {'key': 'jobSecretsType', 'type': 'str'}, + 'cabinet_pod_secrets': {'key': 'cabinetPodSecrets', 'type': '[DataBoxHeavySecret]'}, + } + + def __init__(self, **kwargs): + super(DataBoxHeavyJobSecrets, self).__init__(**kwargs) + self.cabinet_pod_secrets = None + self.job_secrets_type = 'DataBoxHeavy' + + +class DataBoxHeavySecret(Model): + """The secrets related to a databox heavy. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar device_serial_number: Serial number of the assigned device. + :vartype device_serial_number: str + :ivar device_password: Password for out of the box experience on device. + :vartype device_password: str + :ivar network_configurations: Network configuration of the appliance. + :vartype network_configurations: + list[~azure.mgmt.databox.models.ApplianceNetworkConfiguration] + :ivar encoded_validation_cert_pub_key: The base 64 encoded public key to + authenticate with the device + :vartype encoded_validation_cert_pub_key: str + :ivar account_credential_details: Per account level access credentials. + :vartype account_credential_details: + list[~azure.mgmt.databox.models.AccountCredentialDetails] + """ + + _validation = { + 'device_serial_number': {'readonly': True}, + 'device_password': {'readonly': True}, + 'network_configurations': {'readonly': True}, + 'encoded_validation_cert_pub_key': {'readonly': True}, + 'account_credential_details': {'readonly': True}, + } + + _attribute_map = { + 'device_serial_number': {'key': 'deviceSerialNumber', 'type': 'str'}, + 'device_password': {'key': 'devicePassword', 'type': 'str'}, + 'network_configurations': {'key': 'networkConfigurations', 'type': '[ApplianceNetworkConfiguration]'}, + 'encoded_validation_cert_pub_key': {'key': 'encodedValidationCertPubKey', 'type': 'str'}, + 'account_credential_details': {'key': 'accountCredentialDetails', 'type': '[AccountCredentialDetails]'}, + } + + def __init__(self, **kwargs): + super(DataBoxHeavySecret, self).__init__(**kwargs) + self.device_serial_number = None + self.device_password = None + self.network_configurations = None + self.encoded_validation_cert_pub_key = None + self.account_credential_details = None + + +class DataBoxJobDetails(JobDetails): + """Databox Job Details. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param expected_data_size_in_terabytes: The expected size of the data, + which needs to be transferred in this job, in terabytes. + :type expected_data_size_in_terabytes: int + :ivar job_stages: List of stages that run in the job. + :vartype job_stages: list[~azure.mgmt.databox.models.JobStages] + :param contact_details: Required. Contact details for notification and + shipping. + :type contact_details: ~azure.mgmt.databox.models.ContactDetails + :param shipping_address: Required. Shipping address of the customer. + :type shipping_address: ~azure.mgmt.databox.models.ShippingAddress + :ivar delivery_package: Delivery package shipping details. + :vartype delivery_package: + ~azure.mgmt.databox.models.PackageShippingDetails + :ivar return_package: Return package shipping details. + :vartype return_package: ~azure.mgmt.databox.models.PackageShippingDetails + :param destination_account_details: Required. Destination account details. + :type destination_account_details: + list[~azure.mgmt.databox.models.DestinationAccountDetails] + :ivar error_details: Error details for failure. This is optional. + :vartype error_details: list[~azure.mgmt.databox.models.JobErrorDetails] + :param preferences: Preferences for the order. + :type preferences: ~azure.mgmt.databox.models.Preferences + :ivar copy_log_details: List of copy log details. + :vartype copy_log_details: list[~azure.mgmt.databox.models.CopyLogDetails] + :ivar reverse_shipment_label_sas_key: Shared access key to download the + return shipment label + :vartype reverse_shipment_label_sas_key: str + :ivar chain_of_custody_sas_key: Shared access key to download the chain of + custody logs + :vartype chain_of_custody_sas_key: str + :param job_details_type: Required. Constant filled by server. + :type job_details_type: str + :ivar copy_progress: Copy progress per storage account. + :vartype copy_progress: list[~azure.mgmt.databox.models.CopyProgress] + :param device_password: Set Device password for unlocking Databox + :type device_password: str + """ + + _validation = { + 'job_stages': {'readonly': True}, + 'contact_details': {'required': True}, + 'shipping_address': {'required': True}, + 'delivery_package': {'readonly': True}, + 'return_package': {'readonly': True}, + 'destination_account_details': {'required': True}, + 'error_details': {'readonly': True}, + 'copy_log_details': {'readonly': True}, + 'reverse_shipment_label_sas_key': {'readonly': True}, + 'chain_of_custody_sas_key': {'readonly': True}, + 'job_details_type': {'required': True}, + 'copy_progress': {'readonly': True}, + } + + _attribute_map = { + 'expected_data_size_in_terabytes': {'key': 'expectedDataSizeInTerabytes', 'type': 'int'}, + 'job_stages': {'key': 'jobStages', 'type': '[JobStages]'}, + 'contact_details': {'key': 'contactDetails', 'type': 'ContactDetails'}, + 'shipping_address': {'key': 'shippingAddress', 'type': 'ShippingAddress'}, + 'delivery_package': {'key': 'deliveryPackage', 'type': 'PackageShippingDetails'}, + 'return_package': {'key': 'returnPackage', 'type': 'PackageShippingDetails'}, + 'destination_account_details': {'key': 'destinationAccountDetails', 'type': '[DestinationAccountDetails]'}, + 'error_details': {'key': 'errorDetails', 'type': '[JobErrorDetails]'}, + 'preferences': {'key': 'preferences', 'type': 'Preferences'}, + 'copy_log_details': {'key': 'copyLogDetails', 'type': '[CopyLogDetails]'}, + 'reverse_shipment_label_sas_key': {'key': 'reverseShipmentLabelSasKey', 'type': 'str'}, + 'chain_of_custody_sas_key': {'key': 'chainOfCustodySasKey', 'type': 'str'}, + 'job_details_type': {'key': 'jobDetailsType', 'type': 'str'}, + 'copy_progress': {'key': 'copyProgress', 'type': '[CopyProgress]'}, + 'device_password': {'key': 'devicePassword', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(DataBoxJobDetails, self).__init__(**kwargs) + self.copy_progress = None + self.device_password = kwargs.get('device_password', None) + self.job_details_type = 'DataBox' + + +class DataboxJobSecrets(JobSecrets): + """The secrets related to a databox job. + + All required parameters must be populated in order to send to Azure. + + :param dc_access_security_code: Dc Access Security Code for Customer + Managed Shipping + :type dc_access_security_code: + ~azure.mgmt.databox.models.DcAccessSecurityCode + :param job_secrets_type: Required. Constant filled by server. + :type job_secrets_type: str + :param pod_secrets: Contains the list of secret objects for a job. + :type pod_secrets: list[~azure.mgmt.databox.models.DataBoxSecret] + """ + + _validation = { + 'job_secrets_type': {'required': True}, + } + + _attribute_map = { + 'dc_access_security_code': {'key': 'dcAccessSecurityCode', 'type': 'DcAccessSecurityCode'}, + 'job_secrets_type': {'key': 'jobSecretsType', 'type': 'str'}, + 'pod_secrets': {'key': 'podSecrets', 'type': '[DataBoxSecret]'}, + } + + def __init__(self, **kwargs): + super(DataboxJobSecrets, self).__init__(**kwargs) + self.pod_secrets = kwargs.get('pod_secrets', None) + self.job_secrets_type = 'DataBox' + + +class ScheduleAvailabilityRequest(Model): + """Request body to get the availability for scheduling orders. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: DataBoxScheduleAvailabilityRequest, + DiskScheduleAvailabilityRequest, HeavyScheduleAvailabilityRequest + + All required parameters must be populated in order to send to Azure. + + :param storage_location: Required. Location for data transfer. + For locations check: + https://management.azure.com/subscriptions/SUBSCRIPTIONID/locations?api-version=2018-01-01 + :type storage_location: str + :param sku_name: Required. Constant filled by server. + :type sku_name: str + """ + + _validation = { + 'storage_location': {'required': True}, + 'sku_name': {'required': True}, + } + + _attribute_map = { + 'storage_location': {'key': 'storageLocation', 'type': 'str'}, + 'sku_name': {'key': 'skuName', 'type': 'str'}, + } + + _subtype_map = { + 'sku_name': {'DataBox': 'DataBoxScheduleAvailabilityRequest', 'DataBoxDisk': 'DiskScheduleAvailabilityRequest', 'DataBoxHeavy': 'HeavyScheduleAvailabilityRequest'} + } + + def __init__(self, **kwargs): + super(ScheduleAvailabilityRequest, self).__init__(**kwargs) + self.storage_location = kwargs.get('storage_location', None) + self.sku_name = None + + +class DataBoxScheduleAvailabilityRequest(ScheduleAvailabilityRequest): + """Request body to get the availability for scheduling data box orders orders. + + All required parameters must be populated in order to send to Azure. + + :param storage_location: Required. Location for data transfer. + For locations check: + https://management.azure.com/subscriptions/SUBSCRIPTIONID/locations?api-version=2018-01-01 + :type storage_location: str + :param sku_name: Required. Constant filled by server. + :type sku_name: str + """ + + _validation = { + 'storage_location': {'required': True}, + 'sku_name': {'required': True}, + } + + _attribute_map = { + 'storage_location': {'key': 'storageLocation', 'type': 'str'}, + 'sku_name': {'key': 'skuName', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(DataBoxScheduleAvailabilityRequest, self).__init__(**kwargs) + self.sku_name = 'DataBox' + + +class DataBoxSecret(Model): + """The secrets related to a DataBox. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar device_serial_number: Serial number of the assigned device. + :vartype device_serial_number: str + :ivar device_password: Password for out of the box experience on device. + :vartype device_password: str + :ivar network_configurations: Network configuration of the appliance. + :vartype network_configurations: + list[~azure.mgmt.databox.models.ApplianceNetworkConfiguration] + :ivar encoded_validation_cert_pub_key: The base 64 encoded public key to + authenticate with the device + :vartype encoded_validation_cert_pub_key: str + :ivar account_credential_details: Per account level access credentials. + :vartype account_credential_details: + list[~azure.mgmt.databox.models.AccountCredentialDetails] + """ + + _validation = { + 'device_serial_number': {'readonly': True}, + 'device_password': {'readonly': True}, + 'network_configurations': {'readonly': True}, + 'encoded_validation_cert_pub_key': {'readonly': True}, + 'account_credential_details': {'readonly': True}, + } + + _attribute_map = { + 'device_serial_number': {'key': 'deviceSerialNumber', 'type': 'str'}, + 'device_password': {'key': 'devicePassword', 'type': 'str'}, + 'network_configurations': {'key': 'networkConfigurations', 'type': '[ApplianceNetworkConfiguration]'}, + 'encoded_validation_cert_pub_key': {'key': 'encodedValidationCertPubKey', 'type': 'str'}, + 'account_credential_details': {'key': 'accountCredentialDetails', 'type': '[AccountCredentialDetails]'}, + } + + def __init__(self, **kwargs): + super(DataBoxSecret, self).__init__(**kwargs) + self.device_serial_number = None + self.device_password = None + self.network_configurations = None + self.encoded_validation_cert_pub_key = None + self.account_credential_details = None + + +class DataDestinationDetailsValidationRequest(ValidationInputRequest): + """Request to validate data destination details. + + All required parameters must be populated in order to send to Azure. + + :param validation_type: Required. Constant filled by server. + :type validation_type: str + :param destination_account_details: Required. Destination account details + list. + :type destination_account_details: + list[~azure.mgmt.databox.models.DestinationAccountDetails] + :param location: Required. Location of stamp or geo. + :type location: str + """ + + _validation = { + 'validation_type': {'required': True}, + 'destination_account_details': {'required': True}, + 'location': {'required': True}, + } + + _attribute_map = { + 'validation_type': {'key': 'validationType', 'type': 'str'}, + 'destination_account_details': {'key': 'destinationAccountDetails', 'type': '[DestinationAccountDetails]'}, + 'location': {'key': 'location', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(DataDestinationDetailsValidationRequest, self).__init__(**kwargs) + self.destination_account_details = kwargs.get('destination_account_details', None) + self.location = kwargs.get('location', None) + self.validation_type = 'ValidateDataDestinationDetails' + + +class DataDestinationDetailsValidationResponseProperties(ValidationInputResponse): + """Properties of data destination details validation response. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar error: Error code and message of validation response. + :vartype error: ~azure.mgmt.databox.models.Error + :param validation_type: Required. Constant filled by server. + :type validation_type: str + :ivar status: Data destination details validation status. Possible values + include: 'Valid', 'Invalid', 'Skipped' + :vartype status: str or ~azure.mgmt.databox.models.ValidationStatus + """ + + _validation = { + 'error': {'readonly': True}, + 'validation_type': {'required': True}, + 'status': {'readonly': True}, + } + + _attribute_map = { + 'error': {'key': 'error', 'type': 'Error'}, + 'validation_type': {'key': 'validationType', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'ValidationStatus'}, + } + + def __init__(self, **kwargs): + super(DataDestinationDetailsValidationResponseProperties, self).__init__(**kwargs) + self.status = None + self.validation_type = 'ValidateDataDestinationDetails' + + +class DcAccessSecurityCode(Model): + """Dc Access Security code for device. + + :param forward_dc_access_code: Dc Access Code for dispatching from DC. + :type forward_dc_access_code: str + :param reverse_dc_access_code: Dc Access code for dropping off at DC. + :type reverse_dc_access_code: str + """ + + _attribute_map = { + 'forward_dc_access_code': {'key': 'forwardDcAccessCode', 'type': 'str'}, + 'reverse_dc_access_code': {'key': 'reverseDcAccessCode', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(DcAccessSecurityCode, self).__init__(**kwargs) + self.forward_dc_access_code = kwargs.get('forward_dc_access_code', None) + self.reverse_dc_access_code = kwargs.get('reverse_dc_access_code', None) + + +class DestinationAccountDetails(Model): + """Details of the destination storage accounts. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: DestinationManagedDiskDetails, + DestinationStorageAccountDetails + + All required parameters must be populated in order to send to Azure. + + :param account_id: Arm Id of the destination where the data has to be + moved. + :type account_id: str + :param share_password: Share password to be shared by all shares in SA. + :type share_password: str + :param data_destination_type: Required. Constant filled by server. + :type data_destination_type: str + """ + + _validation = { + 'data_destination_type': {'required': True}, + } + + _attribute_map = { + 'account_id': {'key': 'accountId', 'type': 'str'}, + 'share_password': {'key': 'sharePassword', 'type': 'str'}, + 'data_destination_type': {'key': 'dataDestinationType', 'type': 'str'}, + } + + _subtype_map = { + 'data_destination_type': {'ManagedDisk': 'DestinationManagedDiskDetails', 'StorageAccount': 'DestinationStorageAccountDetails'} + } + + def __init__(self, **kwargs): + super(DestinationAccountDetails, self).__init__(**kwargs) + self.account_id = kwargs.get('account_id', None) + self.share_password = kwargs.get('share_password', None) + self.data_destination_type = None + + +class DestinationManagedDiskDetails(DestinationAccountDetails): + """Details for the destination compute disks. + + All required parameters must be populated in order to send to Azure. + + :param account_id: Arm Id of the destination where the data has to be + moved. + :type account_id: str + :param share_password: Share password to be shared by all shares in SA. + :type share_password: str + :param data_destination_type: Required. Constant filled by server. + :type data_destination_type: str + :param resource_group_id: Required. Destination Resource Group Id where + the Compute disks should be created. + :type resource_group_id: str + :param staging_storage_account_id: Required. Arm Id of the storage account + that can be used to copy the vhd for staging. + :type staging_storage_account_id: str + """ + + _validation = { + 'data_destination_type': {'required': True}, + 'resource_group_id': {'required': True}, + 'staging_storage_account_id': {'required': True}, + } + + _attribute_map = { + 'account_id': {'key': 'accountId', 'type': 'str'}, + 'share_password': {'key': 'sharePassword', 'type': 'str'}, + 'data_destination_type': {'key': 'dataDestinationType', 'type': 'str'}, + 'resource_group_id': {'key': 'resourceGroupId', 'type': 'str'}, + 'staging_storage_account_id': {'key': 'stagingStorageAccountId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(DestinationManagedDiskDetails, self).__init__(**kwargs) + self.resource_group_id = kwargs.get('resource_group_id', None) + self.staging_storage_account_id = kwargs.get('staging_storage_account_id', None) + self.data_destination_type = 'ManagedDisk' + + +class DestinationStorageAccountDetails(DestinationAccountDetails): + """Details for the destination storage account. + + All required parameters must be populated in order to send to Azure. + + :param account_id: Arm Id of the destination where the data has to be + moved. + :type account_id: str + :param share_password: Share password to be shared by all shares in SA. + :type share_password: str + :param data_destination_type: Required. Constant filled by server. + :type data_destination_type: str + :param storage_account_id: Required. Destination Storage Account Arm Id. + :type storage_account_id: str + """ + + _validation = { + 'data_destination_type': {'required': True}, + 'storage_account_id': {'required': True}, + } + + _attribute_map = { + 'account_id': {'key': 'accountId', 'type': 'str'}, + 'share_password': {'key': 'sharePassword', 'type': 'str'}, + 'data_destination_type': {'key': 'dataDestinationType', 'type': 'str'}, + 'storage_account_id': {'key': 'storageAccountId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(DestinationStorageAccountDetails, self).__init__(**kwargs) + self.storage_account_id = kwargs.get('storage_account_id', None) + self.data_destination_type = 'StorageAccount' + + +class DestinationToServiceLocationMap(Model): + """Map of destination location to service location. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar destination_location: Location of the destination. + :vartype destination_location: str + :ivar service_location: Location of the service. + :vartype service_location: str + """ + + _validation = { + 'destination_location': {'readonly': True}, + 'service_location': {'readonly': True}, + } + + _attribute_map = { + 'destination_location': {'key': 'destinationLocation', 'type': 'str'}, + 'service_location': {'key': 'serviceLocation', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(DestinationToServiceLocationMap, self).__init__(**kwargs) + self.destination_location = None + self.service_location = None + + +class DiskScheduleAvailabilityRequest(ScheduleAvailabilityRequest): + """Request body to get the availability for scheduling disk orders. + + All required parameters must be populated in order to send to Azure. + + :param storage_location: Required. Location for data transfer. + For locations check: + https://management.azure.com/subscriptions/SUBSCRIPTIONID/locations?api-version=2018-01-01 + :type storage_location: str + :param sku_name: Required. Constant filled by server. + :type sku_name: str + :param expected_data_size_in_terabytes: Required. The expected size of the + data, which needs to be transferred in this job, in terabytes. + :type expected_data_size_in_terabytes: int + """ + + _validation = { + 'storage_location': {'required': True}, + 'sku_name': {'required': True}, + 'expected_data_size_in_terabytes': {'required': True}, + } + + _attribute_map = { + 'storage_location': {'key': 'storageLocation', 'type': 'str'}, + 'sku_name': {'key': 'skuName', 'type': 'str'}, + 'expected_data_size_in_terabytes': {'key': 'expectedDataSizeInTerabytes', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(DiskScheduleAvailabilityRequest, self).__init__(**kwargs) + self.expected_data_size_in_terabytes = kwargs.get('expected_data_size_in_terabytes', None) + self.sku_name = 'DataBoxDisk' + + +class DiskSecret(Model): + """Contains all the secrets of a Disk. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar disk_serial_number: Serial number of the assigned disk. + :vartype disk_serial_number: str + :ivar bit_locker_key: Bit Locker key of the disk which can be used to + unlock the disk to copy data. + :vartype bit_locker_key: str + """ + + _validation = { + 'disk_serial_number': {'readonly': True}, + 'bit_locker_key': {'readonly': True}, + } + + _attribute_map = { + 'disk_serial_number': {'key': 'diskSerialNumber', 'type': 'str'}, + 'bit_locker_key': {'key': 'bitLockerKey', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(DiskSecret, self).__init__(**kwargs) + self.disk_serial_number = None + self.bit_locker_key = None + + +class Error(Model): + """Top level error for the job. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar code: Error code that can be used to programmatically identify the + error. + :vartype code: str + :ivar message: Describes the error in detail and provides debugging + information. + :vartype message: str + """ + + _validation = { + 'code': {'readonly': True}, + 'message': {'readonly': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Error, self).__init__(**kwargs) + self.code = None + self.message = None + + +class HeavyScheduleAvailabilityRequest(ScheduleAvailabilityRequest): + """Request body to get the availability for scheduling heavy orders. + + All required parameters must be populated in order to send to Azure. + + :param storage_location: Required. Location for data transfer. + For locations check: + https://management.azure.com/subscriptions/SUBSCRIPTIONID/locations?api-version=2018-01-01 + :type storage_location: str + :param sku_name: Required. Constant filled by server. + :type sku_name: str + """ + + _validation = { + 'storage_location': {'required': True}, + 'sku_name': {'required': True}, + } + + _attribute_map = { + 'storage_location': {'key': 'storageLocation', 'type': 'str'}, + 'sku_name': {'key': 'skuName', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(HeavyScheduleAvailabilityRequest, self).__init__(**kwargs) + self.sku_name = 'DataBoxHeavy' + + +class JobDeliveryInfo(Model): + """Additional delivery info. + + :param scheduled_date_time: Scheduled date time. + :type scheduled_date_time: datetime + """ + + _attribute_map = { + 'scheduled_date_time': {'key': 'scheduledDateTime', 'type': 'iso-8601'}, + } + + def __init__(self, **kwargs): + super(JobDeliveryInfo, self).__init__(**kwargs) + self.scheduled_date_time = kwargs.get('scheduled_date_time', None) + + +class JobErrorDetails(Model): + """Job Error Details for providing the information and recommended action. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar error_message: Message for the error. + :vartype error_message: str + :ivar error_code: Code for the error. + :vartype error_code: int + :ivar recommended_action: Recommended action for the error. + :vartype recommended_action: str + :ivar exception_message: Contains the non localized exception message + :vartype exception_message: str + """ + + _validation = { + 'error_message': {'readonly': True}, + 'error_code': {'readonly': True}, + 'recommended_action': {'readonly': True}, + 'exception_message': {'readonly': True}, + } + + _attribute_map = { + 'error_message': {'key': 'errorMessage', 'type': 'str'}, + 'error_code': {'key': 'errorCode', 'type': 'int'}, + 'recommended_action': {'key': 'recommendedAction', 'type': 'str'}, + 'exception_message': {'key': 'exceptionMessage', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(JobErrorDetails, self).__init__(**kwargs) + self.error_message = None + self.error_code = None + self.recommended_action = None + self.exception_message = None + + +class Resource(Model): + """Model of the Resource. + + All required parameters must be populated in order to send to Azure. + + :param location: Required. The location of the resource. This will be one + of the supported and registered Azure Regions (e.g. West US, East US, + Southeast Asia, etc.). The region of a resource cannot be changed once it + is created, but if an identical region is specified on update the request + will succeed. + :type location: str + :param tags: The list of key value pairs that describe the resource. These + tags can be used in viewing and grouping this resource (across resource + groups). + :type tags: dict[str, str] + :param sku: Required. The sku type. + :type sku: ~azure.mgmt.databox.models.Sku + """ + + _validation = { + 'location': {'required': True}, + 'sku': {'required': True}, + } + + _attribute_map = { + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + } + + def __init__(self, **kwargs): + super(Resource, self).__init__(**kwargs) + self.location = kwargs.get('location', None) + self.tags = kwargs.get('tags', None) + self.sku = kwargs.get('sku', None) + + +class JobResource(Resource): + """Job Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param location: Required. The location of the resource. This will be one + of the supported and registered Azure Regions (e.g. West US, East US, + Southeast Asia, etc.). The region of a resource cannot be changed once it + is created, but if an identical region is specified on update the request + will succeed. + :type location: str + :param tags: The list of key value pairs that describe the resource. These + tags can be used in viewing and grouping this resource (across resource + groups). + :type tags: dict[str, str] + :param sku: Required. The sku type. + :type sku: ~azure.mgmt.databox.models.Sku + :ivar is_cancellable: Describes whether the job is cancellable or not. + :vartype is_cancellable: bool + :ivar is_deletable: Describes whether the job is deletable or not. + :vartype is_deletable: bool + :ivar is_shipping_address_editable: Describes whether the shipping address + is editable or not. + :vartype is_shipping_address_editable: bool + :ivar status: Name of the stage which is in progress. Possible values + include: 'DeviceOrdered', 'DevicePrepared', 'Dispatched', 'Delivered', + 'PickedUp', 'AtAzureDC', 'DataCopy', 'Completed', 'CompletedWithErrors', + 'Cancelled', 'Failed_IssueReportedAtCustomer', + 'Failed_IssueDetectedAtAzureDC', 'Aborted', 'CompletedWithWarnings', + 'ReadyToDispatchFromAzureDC', 'ReadyToReceiveAtAzureDC' + :vartype status: str or ~azure.mgmt.databox.models.StageName + :ivar start_time: Time at which the job was started in UTC ISO 8601 + format. + :vartype start_time: datetime + :ivar error: Top level error for the job. + :vartype error: ~azure.mgmt.databox.models.Error + :param details: Details of a job run. This field will only be sent for + expand details filter. + :type details: ~azure.mgmt.databox.models.JobDetails + :ivar cancellation_reason: Reason for cancellation. + :vartype cancellation_reason: str + :param delivery_type: Delivery type of Job. Possible values include: + 'NonScheduled', 'Scheduled' + :type delivery_type: str or ~azure.mgmt.databox.models.JobDeliveryType + :param delivery_info: Delivery Info of Job. + :type delivery_info: ~azure.mgmt.databox.models.JobDeliveryInfo + :ivar is_cancellable_without_fee: Flag to indicate cancellation of + scheduled job. + :vartype is_cancellable_without_fee: bool + :ivar name: Name of the object. + :vartype name: str + :ivar id: Id of the object. + :vartype id: str + :ivar type: Type of the object. + :vartype type: str + """ + + _validation = { + 'location': {'required': True}, + 'sku': {'required': True}, + 'is_cancellable': {'readonly': True}, + 'is_deletable': {'readonly': True}, + 'is_shipping_address_editable': {'readonly': True}, + 'status': {'readonly': True}, + 'start_time': {'readonly': True}, + 'error': {'readonly': True}, + 'cancellation_reason': {'readonly': True}, + 'is_cancellable_without_fee': {'readonly': True}, + 'name': {'readonly': True}, + 'id': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + 'is_cancellable': {'key': 'properties.isCancellable', 'type': 'bool'}, + 'is_deletable': {'key': 'properties.isDeletable', 'type': 'bool'}, + 'is_shipping_address_editable': {'key': 'properties.isShippingAddressEditable', 'type': 'bool'}, + 'status': {'key': 'properties.status', 'type': 'StageName'}, + 'start_time': {'key': 'properties.startTime', 'type': 'iso-8601'}, + 'error': {'key': 'properties.error', 'type': 'Error'}, + 'details': {'key': 'properties.details', 'type': 'JobDetails'}, + 'cancellation_reason': {'key': 'properties.cancellationReason', 'type': 'str'}, + 'delivery_type': {'key': 'properties.deliveryType', 'type': 'JobDeliveryType'}, + 'delivery_info': {'key': 'properties.deliveryInfo', 'type': 'JobDeliveryInfo'}, + 'is_cancellable_without_fee': {'key': 'properties.isCancellableWithoutFee', 'type': 'bool'}, + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(JobResource, self).__init__(**kwargs) + self.is_cancellable = None + self.is_deletable = None + self.is_shipping_address_editable = None + self.status = None + self.start_time = None + self.error = None + self.details = kwargs.get('details', None) + self.cancellation_reason = None + self.delivery_type = kwargs.get('delivery_type', None) + self.delivery_info = kwargs.get('delivery_info', None) + self.is_cancellable_without_fee = None + self.name = None + self.id = None + self.type = None + + +class JobResourceUpdateParameter(Model): + """The JobResourceUpdateParameter. + + :param details: Details of a job to be updated. + :type details: ~azure.mgmt.databox.models.UpdateJobDetails + :param destination_account_details: Destination account details. + :type destination_account_details: + list[~azure.mgmt.databox.models.DestinationAccountDetails] + :param tags: The list of key value pairs that describe the resource. These + tags can be used in viewing and grouping this resource (across resource + groups). + :type tags: dict[str, str] + """ + + _attribute_map = { + 'details': {'key': 'properties.details', 'type': 'UpdateJobDetails'}, + 'destination_account_details': {'key': 'properties.destinationAccountDetails', 'type': '[DestinationAccountDetails]'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, **kwargs): + super(JobResourceUpdateParameter, self).__init__(**kwargs) + self.details = kwargs.get('details', None) + self.destination_account_details = kwargs.get('destination_account_details', None) + self.tags = kwargs.get('tags', None) + + +class JobStages(Model): + """Job stages. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar stage_name: Name of the job stage. Possible values include: + 'DeviceOrdered', 'DevicePrepared', 'Dispatched', 'Delivered', 'PickedUp', + 'AtAzureDC', 'DataCopy', 'Completed', 'CompletedWithErrors', 'Cancelled', + 'Failed_IssueReportedAtCustomer', 'Failed_IssueDetectedAtAzureDC', + 'Aborted', 'CompletedWithWarnings', 'ReadyToDispatchFromAzureDC', + 'ReadyToReceiveAtAzureDC' + :vartype stage_name: str or ~azure.mgmt.databox.models.StageName + :ivar display_name: Display name of the job stage. + :vartype display_name: str + :ivar stage_status: Status of the job stage. Possible values include: + 'None', 'InProgress', 'Succeeded', 'Failed', 'Cancelled', 'Cancelling', + 'SucceededWithErrors' + :vartype stage_status: str or ~azure.mgmt.databox.models.StageStatus + :ivar stage_time: Time for the job stage in UTC ISO 8601 format. + :vartype stage_time: datetime + :ivar job_stage_details: Job Stage Details + :vartype job_stage_details: object + :ivar error_details: Error details for the stage. + :vartype error_details: list[~azure.mgmt.databox.models.JobErrorDetails] + """ + + _validation = { + 'stage_name': {'readonly': True}, + 'display_name': {'readonly': True}, + 'stage_status': {'readonly': True}, + 'stage_time': {'readonly': True}, + 'job_stage_details': {'readonly': True}, + 'error_details': {'readonly': True}, + } + + _attribute_map = { + 'stage_name': {'key': 'stageName', 'type': 'StageName'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'stage_status': {'key': 'stageStatus', 'type': 'StageStatus'}, + 'stage_time': {'key': 'stageTime', 'type': 'iso-8601'}, + 'job_stage_details': {'key': 'jobStageDetails', 'type': 'object'}, + 'error_details': {'key': 'errorDetails', 'type': '[JobErrorDetails]'}, + } + + def __init__(self, **kwargs): + super(JobStages, self).__init__(**kwargs) + self.stage_name = None + self.display_name = None + self.stage_status = None + self.stage_time = None + self.job_stage_details = None + self.error_details = None + + +class NotificationPreference(Model): + """Notification preference for a job stage. + + All required parameters must be populated in order to send to Azure. + + :param stage_name: Required. Name of the stage. Possible values include: + 'DevicePrepared', 'Dispatched', 'Delivered', 'PickedUp', 'AtAzureDC', + 'DataCopy' + :type stage_name: str or ~azure.mgmt.databox.models.NotificationStageName + :param send_notification: Required. Notification is required or not. + :type send_notification: bool + """ + + _validation = { + 'stage_name': {'required': True}, + 'send_notification': {'required': True}, + } + + _attribute_map = { + 'stage_name': {'key': 'stageName', 'type': 'NotificationStageName'}, + 'send_notification': {'key': 'sendNotification', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(NotificationPreference, self).__init__(**kwargs) + self.stage_name = kwargs.get('stage_name', None) + self.send_notification = kwargs.get('send_notification', None) + + +class Operation(Model): + """Operation entity. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name: Name of the operation. Format: + {resourceProviderNamespace}/{resourceType}/{read|write|delete|action} + :vartype name: str + :ivar display: Operation display values. + :vartype display: ~azure.mgmt.databox.models.OperationDisplay + :ivar properties: Operation properties. + :vartype properties: object + :ivar origin: Origin of the operation. Can be : user|system|user,system + :vartype origin: str + """ + + _validation = { + 'name': {'readonly': True}, + 'display': {'readonly': True}, + 'properties': {'readonly': True}, + 'origin': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'OperationDisplay'}, + 'properties': {'key': 'properties', 'type': 'object'}, + 'origin': {'key': 'origin', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Operation, self).__init__(**kwargs) + self.name = None + self.display = None + self.properties = None + self.origin = None + + +class OperationDisplay(Model): + """Operation display. + + :param provider: Provider name. + :type provider: str + :param resource: Resource name. + :type resource: str + :param operation: Localized name of the operation for display purpose. + :type operation: str + :param description: Localized description of the operation for display + purpose. + :type description: str + """ + + _attribute_map = { + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(OperationDisplay, self).__init__(**kwargs) + self.provider = kwargs.get('provider', None) + self.resource = kwargs.get('resource', None) + self.operation = kwargs.get('operation', None) + self.description = kwargs.get('description', None) + + +class PackageShippingDetails(Model): + """Shipping details. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar carrier_name: Name of the carrier. + :vartype carrier_name: str + :ivar tracking_id: Tracking Id of shipment. + :vartype tracking_id: str + :ivar tracking_url: Url where shipment can be tracked. + :vartype tracking_url: str + """ + + _validation = { + 'carrier_name': {'readonly': True}, + 'tracking_id': {'readonly': True}, + 'tracking_url': {'readonly': True}, + } + + _attribute_map = { + 'carrier_name': {'key': 'carrierName', 'type': 'str'}, + 'tracking_id': {'key': 'trackingId', 'type': 'str'}, + 'tracking_url': {'key': 'trackingUrl', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PackageShippingDetails, self).__init__(**kwargs) + self.carrier_name = None + self.tracking_id = None + self.tracking_url = None + + +class Preferences(Model): + """Preferences related to the order. + + :param preferred_data_center_region: Preferred Data Center Region. + :type preferred_data_center_region: list[str] + :param transport_preferences: Preferences related to the shipment + logistics of the sku. + :type transport_preferences: + ~azure.mgmt.databox.models.TransportPreferences + """ + + _attribute_map = { + 'preferred_data_center_region': {'key': 'preferredDataCenterRegion', 'type': '[str]'}, + 'transport_preferences': {'key': 'transportPreferences', 'type': 'TransportPreferences'}, + } + + def __init__(self, **kwargs): + super(Preferences, self).__init__(**kwargs) + self.preferred_data_center_region = kwargs.get('preferred_data_center_region', None) + self.transport_preferences = kwargs.get('transport_preferences', None) + + +class PreferencesValidationRequest(ValidationInputRequest): + """Request to validate preference of transport and data center. + + All required parameters must be populated in order to send to Azure. + + :param validation_type: Required. Constant filled by server. + :type validation_type: str + :param preference: Preference requested with respect to transport type and + data center + :type preference: ~azure.mgmt.databox.models.Preferences + :param device_type: Required. Device type to be used for the job. Possible + values include: 'DataBox', 'DataBoxDisk', 'DataBoxHeavy' + :type device_type: str or ~azure.mgmt.databox.models.SkuName + """ + + _validation = { + 'validation_type': {'required': True}, + 'device_type': {'required': True}, + } + + _attribute_map = { + 'validation_type': {'key': 'validationType', 'type': 'str'}, + 'preference': {'key': 'preference', 'type': 'Preferences'}, + 'device_type': {'key': 'deviceType', 'type': 'SkuName'}, + } + + def __init__(self, **kwargs): + super(PreferencesValidationRequest, self).__init__(**kwargs) + self.preference = kwargs.get('preference', None) + self.device_type = kwargs.get('device_type', None) + self.validation_type = 'ValidatePreferences' + + +class PreferencesValidationResponseProperties(ValidationInputResponse): + """Properties of data center and transport preference validation response. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar error: Error code and message of validation response. + :vartype error: ~azure.mgmt.databox.models.Error + :param validation_type: Required. Constant filled by server. + :type validation_type: str + :ivar status: Validation status of requested data center and transport. + Possible values include: 'Valid', 'Invalid', 'Skipped' + :vartype status: str or ~azure.mgmt.databox.models.ValidationStatus + """ + + _validation = { + 'error': {'readonly': True}, + 'validation_type': {'required': True}, + 'status': {'readonly': True}, + } + + _attribute_map = { + 'error': {'key': 'error', 'type': 'Error'}, + 'validation_type': {'key': 'validationType', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'ValidationStatus'}, + } + + def __init__(self, **kwargs): + super(PreferencesValidationResponseProperties, self).__init__(**kwargs) + self.status = None + self.validation_type = 'ValidatePreferences' + + +class RegionConfigurationRequest(Model): + """Request body to get the configuration for the region. + + :param schedule_availability_request: Request body to get the availability + for scheduling orders. + :type schedule_availability_request: + ~azure.mgmt.databox.models.ScheduleAvailabilityRequest + :param transport_availability_request: Request body to get the transport + availability for given sku. + :type transport_availability_request: + ~azure.mgmt.databox.models.TransportAvailabilityRequest + """ + + _attribute_map = { + 'schedule_availability_request': {'key': 'scheduleAvailabilityRequest', 'type': 'ScheduleAvailabilityRequest'}, + 'transport_availability_request': {'key': 'transportAvailabilityRequest', 'type': 'TransportAvailabilityRequest'}, + } + + def __init__(self, **kwargs): + super(RegionConfigurationRequest, self).__init__(**kwargs) + self.schedule_availability_request = kwargs.get('schedule_availability_request', None) + self.transport_availability_request = kwargs.get('transport_availability_request', None) + + +class RegionConfigurationResponse(Model): + """Configuration response specific to a region. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar schedule_availability_response: Schedule availability for given sku + in a region. + :vartype schedule_availability_response: + ~azure.mgmt.databox.models.ScheduleAvailabilityResponse + :ivar transport_availability_response: Transport options available for + given sku in a region. + :vartype transport_availability_response: + ~azure.mgmt.databox.models.TransportAvailabilityResponse + """ + + _validation = { + 'schedule_availability_response': {'readonly': True}, + 'transport_availability_response': {'readonly': True}, + } + + _attribute_map = { + 'schedule_availability_response': {'key': 'scheduleAvailabilityResponse', 'type': 'ScheduleAvailabilityResponse'}, + 'transport_availability_response': {'key': 'transportAvailabilityResponse', 'type': 'TransportAvailabilityResponse'}, + } + + def __init__(self, **kwargs): + super(RegionConfigurationResponse, self).__init__(**kwargs) + self.schedule_availability_response = None + self.transport_availability_response = None + + +class ScheduleAvailabilityResponse(Model): + """Schedule availability response for given sku in a region. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar available_dates: List of dates available to schedule + :vartype available_dates: list[datetime] + """ + + _validation = { + 'available_dates': {'readonly': True}, + } + + _attribute_map = { + 'available_dates': {'key': 'availableDates', 'type': '[iso-8601]'}, + } + + def __init__(self, **kwargs): + super(ScheduleAvailabilityResponse, self).__init__(**kwargs) + self.available_dates = None + + +class ShareCredentialDetails(Model): + """Credential details of the shares in account. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar share_name: Name of the share. + :vartype share_name: str + :ivar share_type: Type of the share. Possible values include: + 'UnknownType', 'HCS', 'BlockBlob', 'PageBlob', 'AzureFile', 'ManagedDisk' + :vartype share_type: str or + ~azure.mgmt.databox.models.ShareDestinationFormatType + :ivar user_name: User name for the share. + :vartype user_name: str + :ivar password: Password for the share. + :vartype password: str + :ivar supported_access_protocols: Access protocols supported on the + device. + :vartype supported_access_protocols: list[str or + ~azure.mgmt.databox.models.AccessProtocol] + """ + + _validation = { + 'share_name': {'readonly': True}, + 'share_type': {'readonly': True}, + 'user_name': {'readonly': True}, + 'password': {'readonly': True}, + 'supported_access_protocols': {'readonly': True}, + } + + _attribute_map = { + 'share_name': {'key': 'shareName', 'type': 'str'}, + 'share_type': {'key': 'shareType', 'type': 'ShareDestinationFormatType'}, + 'user_name': {'key': 'userName', 'type': 'str'}, + 'password': {'key': 'password', 'type': 'str'}, + 'supported_access_protocols': {'key': 'supportedAccessProtocols', 'type': '[AccessProtocol]'}, + } + + def __init__(self, **kwargs): + super(ShareCredentialDetails, self).__init__(**kwargs) + self.share_name = None + self.share_type = None + self.user_name = None + self.password = None + self.supported_access_protocols = None + + +class ShipmentPickUpRequest(Model): + """Shipment pick up request details. + + All required parameters must be populated in order to send to Azure. + + :param start_time: Required. Minimum date after which the pick up should + commence, this must be in local time of pick up area. + :type start_time: datetime + :param end_time: Required. Maximum date before which the pick up should + commence, this must be in local time of pick up area. + :type end_time: datetime + :param shipment_location: Required. Shipment Location in the pickup place. + Eg.front desk + :type shipment_location: str + """ + + _validation = { + 'start_time': {'required': True}, + 'end_time': {'required': True}, + 'shipment_location': {'required': True}, + } + + _attribute_map = { + 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, + 'shipment_location': {'key': 'shipmentLocation', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ShipmentPickUpRequest, self).__init__(**kwargs) + self.start_time = kwargs.get('start_time', None) + self.end_time = kwargs.get('end_time', None) + self.shipment_location = kwargs.get('shipment_location', None) + + +class ShipmentPickUpResponse(Model): + """Shipment pick up response. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar confirmation_number: Confirmation number for the pick up request. + :vartype confirmation_number: str + :ivar ready_by_time: Time by which shipment should be ready for pick up, + this is in local time of pick up area. + :vartype ready_by_time: datetime + """ + + _validation = { + 'confirmation_number': {'readonly': True}, + 'ready_by_time': {'readonly': True}, + } + + _attribute_map = { + 'confirmation_number': {'key': 'confirmationNumber', 'type': 'str'}, + 'ready_by_time': {'key': 'readyByTime', 'type': 'iso-8601'}, + } + + def __init__(self, **kwargs): + super(ShipmentPickUpResponse, self).__init__(**kwargs) + self.confirmation_number = None + self.ready_by_time = None + + +class ShippingAddress(Model): + """Shipping address where customer wishes to receive the device. + + All required parameters must be populated in order to send to Azure. + + :param street_address1: Required. Street Address line 1. + :type street_address1: str + :param street_address2: Street Address line 2. + :type street_address2: str + :param street_address3: Street Address line 3. + :type street_address3: str + :param city: Name of the City. + :type city: str + :param state_or_province: Name of the State or Province. + :type state_or_province: str + :param country: Required. Name of the Country. + :type country: str + :param postal_code: Required. Postal code. + :type postal_code: str + :param zip_extended_code: Extended Zip Code. + :type zip_extended_code: str + :param company_name: Name of the company. + :type company_name: str + :param address_type: Type of address. Possible values include: 'None', + 'Residential', 'Commercial' + :type address_type: str or ~azure.mgmt.databox.models.AddressType + """ + + _validation = { + 'street_address1': {'required': True}, + 'country': {'required': True}, + 'postal_code': {'required': True}, + } + + _attribute_map = { + 'street_address1': {'key': 'streetAddress1', 'type': 'str'}, + 'street_address2': {'key': 'streetAddress2', 'type': 'str'}, + 'street_address3': {'key': 'streetAddress3', 'type': 'str'}, + 'city': {'key': 'city', 'type': 'str'}, + 'state_or_province': {'key': 'stateOrProvince', 'type': 'str'}, + 'country': {'key': 'country', 'type': 'str'}, + 'postal_code': {'key': 'postalCode', 'type': 'str'}, + 'zip_extended_code': {'key': 'zipExtendedCode', 'type': 'str'}, + 'company_name': {'key': 'companyName', 'type': 'str'}, + 'address_type': {'key': 'addressType', 'type': 'AddressType'}, + } + + def __init__(self, **kwargs): + super(ShippingAddress, self).__init__(**kwargs) + self.street_address1 = kwargs.get('street_address1', None) + self.street_address2 = kwargs.get('street_address2', None) + self.street_address3 = kwargs.get('street_address3', None) + self.city = kwargs.get('city', None) + self.state_or_province = kwargs.get('state_or_province', None) + self.country = kwargs.get('country', None) + self.postal_code = kwargs.get('postal_code', None) + self.zip_extended_code = kwargs.get('zip_extended_code', None) + self.company_name = kwargs.get('company_name', None) + self.address_type = kwargs.get('address_type', None) + + +class Sku(Model): + """The Sku. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. The sku name. Possible values include: 'DataBox', + 'DataBoxDisk', 'DataBoxHeavy' + :type name: str or ~azure.mgmt.databox.models.SkuName + :param display_name: The display name of the sku. + :type display_name: str + :param family: The sku family. + :type family: str + """ + + _validation = { + 'name': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'SkuName'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'family': {'key': 'family', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Sku, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.display_name = kwargs.get('display_name', None) + self.family = kwargs.get('family', None) + + +class SkuAvailabilityValidationRequest(ValidationInputRequest): + """Request to validate sku availability. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param validation_type: Required. Constant filled by server. + :type validation_type: str + :param device_type: Required. Device type to be used for the job. Possible + values include: 'DataBox', 'DataBoxDisk', 'DataBoxHeavy' + :type device_type: str or ~azure.mgmt.databox.models.SkuName + :ivar transfer_type: Required. Type of the transfer. Default value: + "ImportToAzure" . + :vartype transfer_type: str + :param country: Required. ISO country code. Country for hardware shipment. + For codes check: + https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements + :type country: str + :param location: Required. Location for data transfer. For locations + check: + https://management.azure.com/subscriptions/SUBSCRIPTIONID/locations?api-version=2018-01-01 + :type location: str + """ + + _validation = { + 'validation_type': {'required': True}, + 'device_type': {'required': True}, + 'transfer_type': {'required': True, 'constant': True}, + 'country': {'required': True}, + 'location': {'required': True}, + } + + _attribute_map = { + 'validation_type': {'key': 'validationType', 'type': 'str'}, + 'device_type': {'key': 'deviceType', 'type': 'SkuName'}, + 'transfer_type': {'key': 'transferType', 'type': 'str'}, + 'country': {'key': 'country', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + } + + transfer_type = "ImportToAzure" + + def __init__(self, **kwargs): + super(SkuAvailabilityValidationRequest, self).__init__(**kwargs) + self.device_type = kwargs.get('device_type', None) + self.country = kwargs.get('country', None) + self.location = kwargs.get('location', None) + self.validation_type = 'ValidateSkuAvailability' + + +class SkuAvailabilityValidationResponseProperties(ValidationInputResponse): + """Properties of sku availability validation response. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar error: Error code and message of validation response. + :vartype error: ~azure.mgmt.databox.models.Error + :param validation_type: Required. Constant filled by server. + :type validation_type: str + :ivar status: Sku availability validation status. Possible values include: + 'Valid', 'Invalid', 'Skipped' + :vartype status: str or ~azure.mgmt.databox.models.ValidationStatus + """ + + _validation = { + 'error': {'readonly': True}, + 'validation_type': {'required': True}, + 'status': {'readonly': True}, + } + + _attribute_map = { + 'error': {'key': 'error', 'type': 'Error'}, + 'validation_type': {'key': 'validationType', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'ValidationStatus'}, + } + + def __init__(self, **kwargs): + super(SkuAvailabilityValidationResponseProperties, self).__init__(**kwargs) + self.status = None + self.validation_type = 'ValidateSkuAvailability' + + +class SkuCapacity(Model): + """Capacity of the sku. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar usable: Usable capacity in TB. + :vartype usable: str + :ivar maximum: Maximum capacity in TB. + :vartype maximum: str + """ + + _validation = { + 'usable': {'readonly': True}, + 'maximum': {'readonly': True}, + } + + _attribute_map = { + 'usable': {'key': 'usable', 'type': 'str'}, + 'maximum': {'key': 'maximum', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SkuCapacity, self).__init__(**kwargs) + self.usable = None + self.maximum = None + + +class SkuCost(Model): + """Describes metadata for retrieving price info. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar meter_id: Meter id of the Sku. + :vartype meter_id: str + :ivar meter_type: The type of the meter. + :vartype meter_type: str + """ + + _validation = { + 'meter_id': {'readonly': True}, + 'meter_type': {'readonly': True}, + } + + _attribute_map = { + 'meter_id': {'key': 'meterId', 'type': 'str'}, + 'meter_type': {'key': 'meterType', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SkuCost, self).__init__(**kwargs) + self.meter_id = None + self.meter_type = None + + +class SkuInformation(Model): + """Information of the sku. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar sku: The Sku. + :vartype sku: ~azure.mgmt.databox.models.Sku + :ivar enabled: The sku is enabled or not. + :vartype enabled: bool + :ivar destination_to_service_location_map: The map of destination location + to service location. + :vartype destination_to_service_location_map: + list[~azure.mgmt.databox.models.DestinationToServiceLocationMap] + :ivar capacity: Capacity of the Sku. + :vartype capacity: ~azure.mgmt.databox.models.SkuCapacity + :ivar costs: Cost of the Sku. + :vartype costs: list[~azure.mgmt.databox.models.SkuCost] + :ivar api_versions: Api versions that support this Sku. + :vartype api_versions: list[str] + :ivar disabled_reason: Reason why the Sku is disabled. Possible values + include: 'None', 'Country', 'Region', 'Feature', 'OfferType', + 'NoSubscriptionInfo' + :vartype disabled_reason: str or + ~azure.mgmt.databox.models.SkuDisabledReason + :ivar disabled_reason_message: Message for why the Sku is disabled. + :vartype disabled_reason_message: str + :ivar required_feature: Required feature to access the sku. + :vartype required_feature: str + """ + + _validation = { + 'sku': {'readonly': True}, + 'enabled': {'readonly': True}, + 'destination_to_service_location_map': {'readonly': True}, + 'capacity': {'readonly': True}, + 'costs': {'readonly': True}, + 'api_versions': {'readonly': True}, + 'disabled_reason': {'readonly': True}, + 'disabled_reason_message': {'readonly': True}, + 'required_feature': {'readonly': True}, + } + + _attribute_map = { + 'sku': {'key': 'sku', 'type': 'Sku'}, + 'enabled': {'key': 'enabled', 'type': 'bool'}, + 'destination_to_service_location_map': {'key': 'properties.destinationToServiceLocationMap', 'type': '[DestinationToServiceLocationMap]'}, + 'capacity': {'key': 'properties.capacity', 'type': 'SkuCapacity'}, + 'costs': {'key': 'properties.costs', 'type': '[SkuCost]'}, + 'api_versions': {'key': 'properties.apiVersions', 'type': '[str]'}, + 'disabled_reason': {'key': 'properties.disabledReason', 'type': 'SkuDisabledReason'}, + 'disabled_reason_message': {'key': 'properties.disabledReasonMessage', 'type': 'str'}, + 'required_feature': {'key': 'properties.requiredFeature', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SkuInformation, self).__init__(**kwargs) + self.sku = None + self.enabled = None + self.destination_to_service_location_map = None + self.capacity = None + self.costs = None + self.api_versions = None + self.disabled_reason = None + self.disabled_reason_message = None + self.required_feature = None + + +class SubscriptionIsAllowedToCreateJobValidationRequest(ValidationInputRequest): + """Request to validate subscription permission to create jobs. + + All required parameters must be populated in order to send to Azure. + + :param validation_type: Required. Constant filled by server. + :type validation_type: str + """ + + _validation = { + 'validation_type': {'required': True}, + } + + _attribute_map = { + 'validation_type': {'key': 'validationType', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SubscriptionIsAllowedToCreateJobValidationRequest, self).__init__(**kwargs) + self.validation_type = 'ValidateSubscriptionIsAllowedToCreateJob' + + +class SubscriptionIsAllowedToCreateJobValidationResponseProperties(ValidationInputResponse): + """Properties of subscription permission to create job validation response. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar error: Error code and message of validation response. + :vartype error: ~azure.mgmt.databox.models.Error + :param validation_type: Required. Constant filled by server. + :type validation_type: str + :ivar status: Validation status of subscription permission to create job. + Possible values include: 'Valid', 'Invalid', 'Skipped' + :vartype status: str or ~azure.mgmt.databox.models.ValidationStatus + """ + + _validation = { + 'error': {'readonly': True}, + 'validation_type': {'required': True}, + 'status': {'readonly': True}, + } + + _attribute_map = { + 'error': {'key': 'error', 'type': 'Error'}, + 'validation_type': {'key': 'validationType', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'ValidationStatus'}, + } + + def __init__(self, **kwargs): + super(SubscriptionIsAllowedToCreateJobValidationResponseProperties, self).__init__(**kwargs) + self.status = None + self.validation_type = 'ValidateSubscriptionIsAllowedToCreateJob' + + +class TransportAvailabilityDetails(Model): + """Transport options availability details for given region. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar shipment_type: Transport Shipment Type supported for given region. + Possible values include: 'CustomerManaged', 'MicrosoftManaged' + :vartype shipment_type: str or + ~azure.mgmt.databox.models.TransportShipmentTypes + """ + + _validation = { + 'shipment_type': {'readonly': True}, + } + + _attribute_map = { + 'shipment_type': {'key': 'shipmentType', 'type': 'TransportShipmentTypes'}, + } + + def __init__(self, **kwargs): + super(TransportAvailabilityDetails, self).__init__(**kwargs) + self.shipment_type = None + + +class TransportAvailabilityRequest(Model): + """Request body to get the transport availability for given sku. + + :param sku_name: Type of the device. Possible values include: 'DataBox', + 'DataBoxDisk', 'DataBoxHeavy' + :type sku_name: str or ~azure.mgmt.databox.models.SkuName + """ + + _attribute_map = { + 'sku_name': {'key': 'skuName', 'type': 'SkuName'}, + } + + def __init__(self, **kwargs): + super(TransportAvailabilityRequest, self).__init__(**kwargs) + self.sku_name = kwargs.get('sku_name', None) + + +class TransportAvailabilityResponse(Model): + """Transport options available for given sku in a region. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar transport_availability_details: List of transport availability + details for given region + :vartype transport_availability_details: + list[~azure.mgmt.databox.models.TransportAvailabilityDetails] + """ + + _validation = { + 'transport_availability_details': {'readonly': True}, + } + + _attribute_map = { + 'transport_availability_details': {'key': 'transportAvailabilityDetails', 'type': '[TransportAvailabilityDetails]'}, + } + + def __init__(self, **kwargs): + super(TransportAvailabilityResponse, self).__init__(**kwargs) + self.transport_availability_details = None + + +class TransportPreferences(Model): + """Preferences related to the shipment logistics of the sku. + + All required parameters must be populated in order to send to Azure. + + :param preferred_shipment_type: Required. Indicates Shipment Logistics + type that the customer preferred. Possible values include: + 'CustomerManaged', 'MicrosoftManaged' + :type preferred_shipment_type: str or + ~azure.mgmt.databox.models.TransportShipmentTypes + """ + + _validation = { + 'preferred_shipment_type': {'required': True}, + } + + _attribute_map = { + 'preferred_shipment_type': {'key': 'preferredShipmentType', 'type': 'TransportShipmentTypes'}, + } + + def __init__(self, **kwargs): + super(TransportPreferences, self).__init__(**kwargs) + self.preferred_shipment_type = kwargs.get('preferred_shipment_type', None) + + +class UnencryptedCredentials(Model): + """Unencrypted credentials for accessing device. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar job_name: Name of the job. + :vartype job_name: str + :ivar job_secrets: Secrets related to this job. + :vartype job_secrets: ~azure.mgmt.databox.models.JobSecrets + """ + + _validation = { + 'job_name': {'readonly': True}, + 'job_secrets': {'readonly': True}, + } + + _attribute_map = { + 'job_name': {'key': 'jobName', 'type': 'str'}, + 'job_secrets': {'key': 'jobSecrets', 'type': 'JobSecrets'}, + } + + def __init__(self, **kwargs): + super(UnencryptedCredentials, self).__init__(**kwargs) + self.job_name = None + self.job_secrets = None + + +class UpdateJobDetails(Model): + """Job details for update. + + :param contact_details: Contact details for notification and shipping. + :type contact_details: ~azure.mgmt.databox.models.ContactDetails + :param shipping_address: Shipping address of the customer. + :type shipping_address: ~azure.mgmt.databox.models.ShippingAddress + """ + + _attribute_map = { + 'contact_details': {'key': 'contactDetails', 'type': 'ContactDetails'}, + 'shipping_address': {'key': 'shippingAddress', 'type': 'ShippingAddress'}, + } + + def __init__(self, **kwargs): + super(UpdateJobDetails, self).__init__(**kwargs) + self.contact_details = kwargs.get('contact_details', None) + self.shipping_address = kwargs.get('shipping_address', None) + + +class ValidateAddress(ValidationInputRequest): + """The requirements to validate customer address where the device needs to be + shipped. + + All required parameters must be populated in order to send to Azure. + + :param validation_type: Required. Constant filled by server. + :type validation_type: str + :param shipping_address: Required. Shipping address of the customer. + :type shipping_address: ~azure.mgmt.databox.models.ShippingAddress + :param device_type: Required. Device type to be used for the job. Possible + values include: 'DataBox', 'DataBoxDisk', 'DataBoxHeavy' + :type device_type: str or ~azure.mgmt.databox.models.SkuName + :param transport_preferences: Preferences related to the shipment + logistics of the sku. + :type transport_preferences: + ~azure.mgmt.databox.models.TransportPreferences + """ + + _validation = { + 'validation_type': {'required': True}, + 'shipping_address': {'required': True}, + 'device_type': {'required': True}, + } + + _attribute_map = { + 'validation_type': {'key': 'validationType', 'type': 'str'}, + 'shipping_address': {'key': 'shippingAddress', 'type': 'ShippingAddress'}, + 'device_type': {'key': 'deviceType', 'type': 'SkuName'}, + 'transport_preferences': {'key': 'transportPreferences', 'type': 'TransportPreferences'}, + } + + def __init__(self, **kwargs): + super(ValidateAddress, self).__init__(**kwargs) + self.shipping_address = kwargs.get('shipping_address', None) + self.device_type = kwargs.get('device_type', None) + self.transport_preferences = kwargs.get('transport_preferences', None) + self.validation_type = 'ValidateAddress' + + +class ValidationResponse(Model): + """Response of pre job creation validations. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar status: Overall validation status. Possible values include: + 'AllValidToProceed', 'InputsRevisitRequired', + 'CertainInputValidationsSkipped' + :vartype status: str or ~azure.mgmt.databox.models.OverallValidationStatus + :ivar individual_response_details: List of response details contain + validationType and its response as key and value respectively. + :vartype individual_response_details: + list[~azure.mgmt.databox.models.ValidationInputResponse] + """ + + _validation = { + 'status': {'readonly': True}, + 'individual_response_details': {'readonly': True}, + } + + _attribute_map = { + 'status': {'key': 'properties.status', 'type': 'OverallValidationStatus'}, + 'individual_response_details': {'key': 'properties.individualResponseDetails', 'type': '[ValidationInputResponse]'}, + } + + def __init__(self, **kwargs): + super(ValidationResponse, self).__init__(**kwargs) + self.status = None + self.individual_response_details = None diff --git a/src/databox/azext_databox/vendored_sdks/databox/models/_models_py3.py b/src/databox/azext_databox/vendored_sdks/databox/models/_models_py3.py new file mode 100644 index 00000000000..a96c0dc5c49 --- /dev/null +++ b/src/databox/azext_databox/vendored_sdks/databox/models/_models_py3.py @@ -0,0 +1,3075 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model +from msrest.exceptions import HttpOperationError + + +class AccountCredentialDetails(Model): + """Credential details of the account. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar account_name: Name of the account. + :vartype account_name: str + :ivar data_destination_type: Data Destination Type. Possible values + include: 'StorageAccount', 'ManagedDisk' + :vartype data_destination_type: str or + ~azure.mgmt.databox.models.DataDestinationType + :ivar account_connection_string: Connection string of the account endpoint + to use the account as a storage endpoint on the device. + :vartype account_connection_string: str + :ivar share_credential_details: Per share level unencrypted access + credentials. + :vartype share_credential_details: + list[~azure.mgmt.databox.models.ShareCredentialDetails] + """ + + _validation = { + 'account_name': {'readonly': True}, + 'data_destination_type': {'readonly': True}, + 'account_connection_string': {'readonly': True}, + 'share_credential_details': {'readonly': True}, + } + + _attribute_map = { + 'account_name': {'key': 'accountName', 'type': 'str'}, + 'data_destination_type': {'key': 'dataDestinationType', 'type': 'DataDestinationType'}, + 'account_connection_string': {'key': 'accountConnectionString', 'type': 'str'}, + 'share_credential_details': {'key': 'shareCredentialDetails', 'type': '[ShareCredentialDetails]'}, + } + + def __init__(self, **kwargs) -> None: + super(AccountCredentialDetails, self).__init__(**kwargs) + self.account_name = None + self.data_destination_type = None + self.account_connection_string = None + self.share_credential_details = None + + +class AddressValidationOutput(Model): + """Output of the address validation api. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar error: Error code and message of validation response. + :vartype error: ~azure.mgmt.databox.models.Error + :ivar validation_status: The address validation status. Possible values + include: 'Valid', 'Invalid', 'Ambiguous' + :vartype validation_status: str or + ~azure.mgmt.databox.models.AddressValidationStatus + :ivar alternate_addresses: List of alternate addresses. + :vartype alternate_addresses: + list[~azure.mgmt.databox.models.ShippingAddress] + """ + + _validation = { + 'error': {'readonly': True}, + 'validation_status': {'readonly': True}, + 'alternate_addresses': {'readonly': True}, + } + + _attribute_map = { + 'error': {'key': 'properties.error', 'type': 'Error'}, + 'validation_status': {'key': 'properties.validationStatus', 'type': 'AddressValidationStatus'}, + 'alternate_addresses': {'key': 'properties.alternateAddresses', 'type': '[ShippingAddress]'}, + } + + def __init__(self, **kwargs) -> None: + super(AddressValidationOutput, self).__init__(**kwargs) + self.error = None + self.validation_status = None + self.alternate_addresses = None + + +class ApplianceNetworkConfiguration(Model): + """The Network Adapter configuration of a DataBox. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name: Name of the network. + :vartype name: str + :ivar mac_address: Mac Address. + :vartype mac_address: str + """ + + _validation = { + 'name': {'readonly': True}, + 'mac_address': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'mac_address': {'key': 'macAddress', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(ApplianceNetworkConfiguration, self).__init__(**kwargs) + self.name = None + self.mac_address = None + + +class ArmBaseObject(Model): + """Base class for all objects under resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name: Name of the object. + :vartype name: str + :ivar id: Id of the object. + :vartype id: str + :ivar type: Type of the object. + :vartype type: str + """ + + _validation = { + 'name': {'readonly': True}, + 'id': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(ArmBaseObject, self).__init__(**kwargs) + self.name = None + self.id = None + self.type = None + + +class AvailableSkuRequest(Model): + """The filters for showing the available skus. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar transfer_type: Required. Type of the transfer. Default value: + "ImportToAzure" . + :vartype transfer_type: str + :param country: Required. ISO country code. Country for hardware shipment. + For codes check: + https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements + :type country: str + :param location: Required. Location for data transfer. For locations + check: + https://management.azure.com/subscriptions/SUBSCRIPTIONID/locations?api-version=2018-01-01 + :type location: str + :param sku_names: Sku Names to filter for available skus + :type sku_names: list[str or ~azure.mgmt.databox.models.SkuName] + """ + + _validation = { + 'transfer_type': {'required': True, 'constant': True}, + 'country': {'required': True}, + 'location': {'required': True}, + } + + _attribute_map = { + 'transfer_type': {'key': 'transferType', 'type': 'str'}, + 'country': {'key': 'country', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'sku_names': {'key': 'skuNames', 'type': '[SkuName]'}, + } + + transfer_type = "ImportToAzure" + + def __init__(self, *, country: str, location: str, sku_names=None, **kwargs) -> None: + super(AvailableSkuRequest, self).__init__(**kwargs) + self.country = country + self.location = location + self.sku_names = sku_names + + +class CancellationReason(Model): + """Reason for cancellation. + + All required parameters must be populated in order to send to Azure. + + :param reason: Required. Reason for cancellation. + :type reason: str + """ + + _validation = { + 'reason': {'required': True}, + } + + _attribute_map = { + 'reason': {'key': 'reason', 'type': 'str'}, + } + + def __init__(self, *, reason: str, **kwargs) -> None: + super(CancellationReason, self).__init__(**kwargs) + self.reason = reason + + +class CloudError(Model): + """The error information object. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar code: Error code string. + :vartype code: str + :ivar message: Descriptive error information. + :vartype message: str + :param target: Error target + :type target: str + :param details: More detailed error information. + :type details: list[~azure.mgmt.databox.models.CloudError] + """ + + _validation = { + 'code': {'readonly': True}, + 'message': {'readonly': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[CloudError]'}, + } + + def __init__(self, *, target: str=None, details=None, **kwargs) -> None: + super(CloudError, self).__init__(**kwargs) + self.code = None + self.message = None + self.target = target + self.details = details + + +class CloudErrorException(HttpOperationError): + """Server responsed with exception of type: 'CloudError'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(CloudErrorException, self).__init__(deserialize, response, 'CloudError', *args) + + +class ContactDetails(Model): + """Contact Details. + + All required parameters must be populated in order to send to Azure. + + :param contact_name: Required. Contact name of the person. + :type contact_name: str + :param phone: Required. Phone number of the contact person. + :type phone: str + :param phone_extension: Phone extension number of the contact person. + :type phone_extension: str + :param mobile: Mobile number of the contact person. + :type mobile: str + :param email_list: Required. List of Email-ids to be notified about job + progress. + :type email_list: list[str] + :param notification_preference: Notification preference for a job stage. + :type notification_preference: + list[~azure.mgmt.databox.models.NotificationPreference] + """ + + _validation = { + 'contact_name': {'required': True}, + 'phone': {'required': True}, + 'email_list': {'required': True}, + } + + _attribute_map = { + 'contact_name': {'key': 'contactName', 'type': 'str'}, + 'phone': {'key': 'phone', 'type': 'str'}, + 'phone_extension': {'key': 'phoneExtension', 'type': 'str'}, + 'mobile': {'key': 'mobile', 'type': 'str'}, + 'email_list': {'key': 'emailList', 'type': '[str]'}, + 'notification_preference': {'key': 'notificationPreference', 'type': '[NotificationPreference]'}, + } + + def __init__(self, *, contact_name: str, phone: str, email_list, phone_extension: str=None, mobile: str=None, notification_preference=None, **kwargs) -> None: + super(ContactDetails, self).__init__(**kwargs) + self.contact_name = contact_name + self.phone = phone + self.phone_extension = phone_extension + self.mobile = mobile + self.email_list = email_list + self.notification_preference = notification_preference + + +class CopyLogDetails(Model): + """Details for log generated during copy. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: DataBoxAccountCopyLogDetails, DataBoxDiskCopyLogDetails, + DataBoxHeavyAccountCopyLogDetails + + All required parameters must be populated in order to send to Azure. + + :param copy_log_details_type: Required. Constant filled by server. + :type copy_log_details_type: str + """ + + _validation = { + 'copy_log_details_type': {'required': True}, + } + + _attribute_map = { + 'copy_log_details_type': {'key': 'copyLogDetailsType', 'type': 'str'}, + } + + _subtype_map = { + 'copy_log_details_type': {'DataBox': 'DataBoxAccountCopyLogDetails', 'DataBoxDisk': 'DataBoxDiskCopyLogDetails', 'DataBoxHeavy': 'DataBoxHeavyAccountCopyLogDetails'} + } + + def __init__(self, **kwargs) -> None: + super(CopyLogDetails, self).__init__(**kwargs) + self.copy_log_details_type = None + + +class CopyProgress(Model): + """Copy progress. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar storage_account_name: Name of the storage account where the data + needs to be uploaded. + :vartype storage_account_name: str + :ivar data_destination_type: Data Destination Type. Possible values + include: 'StorageAccount', 'ManagedDisk' + :vartype data_destination_type: str or + ~azure.mgmt.databox.models.DataDestinationType + :ivar account_id: Id of the account where the data needs to be uploaded. + :vartype account_id: str + :ivar bytes_sent_to_cloud: Amount of data uploaded by the job as of now. + :vartype bytes_sent_to_cloud: long + :ivar total_bytes_to_process: Total amount of data to be processed by the + job. + :vartype total_bytes_to_process: long + :ivar files_processed: Number of files processed by the job as of now. + :vartype files_processed: long + :ivar total_files_to_process: Total number of files to be processed by the + job. + :vartype total_files_to_process: long + :ivar invalid_files_processed: Number of files not adhering to azure + naming conventions which were processed by automatic renaming + :vartype invalid_files_processed: long + :ivar invalid_file_bytes_uploaded: Total amount of data not adhering to + azure naming conventions which were processed by automatic renaming + :vartype invalid_file_bytes_uploaded: long + :ivar renamed_container_count: Number of folders not adhering to azure + naming conventions which were processed by automatic renaming + :vartype renamed_container_count: long + :ivar files_errored_out: Number of files which could not be copied + :vartype files_errored_out: long + """ + + _validation = { + 'storage_account_name': {'readonly': True}, + 'data_destination_type': {'readonly': True}, + 'account_id': {'readonly': True}, + 'bytes_sent_to_cloud': {'readonly': True}, + 'total_bytes_to_process': {'readonly': True}, + 'files_processed': {'readonly': True}, + 'total_files_to_process': {'readonly': True}, + 'invalid_files_processed': {'readonly': True}, + 'invalid_file_bytes_uploaded': {'readonly': True}, + 'renamed_container_count': {'readonly': True}, + 'files_errored_out': {'readonly': True}, + } + + _attribute_map = { + 'storage_account_name': {'key': 'storageAccountName', 'type': 'str'}, + 'data_destination_type': {'key': 'dataDestinationType', 'type': 'DataDestinationType'}, + 'account_id': {'key': 'accountId', 'type': 'str'}, + 'bytes_sent_to_cloud': {'key': 'bytesSentToCloud', 'type': 'long'}, + 'total_bytes_to_process': {'key': 'totalBytesToProcess', 'type': 'long'}, + 'files_processed': {'key': 'filesProcessed', 'type': 'long'}, + 'total_files_to_process': {'key': 'totalFilesToProcess', 'type': 'long'}, + 'invalid_files_processed': {'key': 'invalidFilesProcessed', 'type': 'long'}, + 'invalid_file_bytes_uploaded': {'key': 'invalidFileBytesUploaded', 'type': 'long'}, + 'renamed_container_count': {'key': 'renamedContainerCount', 'type': 'long'}, + 'files_errored_out': {'key': 'filesErroredOut', 'type': 'long'}, + } + + def __init__(self, **kwargs) -> None: + super(CopyProgress, self).__init__(**kwargs) + self.storage_account_name = None + self.data_destination_type = None + self.account_id = None + self.bytes_sent_to_cloud = None + self.total_bytes_to_process = None + self.files_processed = None + self.total_files_to_process = None + self.invalid_files_processed = None + self.invalid_file_bytes_uploaded = None + self.renamed_container_count = None + self.files_errored_out = None + + +class ValidationRequest(Model): + """Input request for all pre job creation validation. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: CreateJobValidations + + All required parameters must be populated in order to send to Azure. + + :param individual_request_details: Required. List of request details + contain validationType and its request as key and value respectively. + :type individual_request_details: + list[~azure.mgmt.databox.models.ValidationInputRequest] + :param validation_category: Required. Constant filled by server. + :type validation_category: str + """ + + _validation = { + 'individual_request_details': {'required': True}, + 'validation_category': {'required': True}, + } + + _attribute_map = { + 'individual_request_details': {'key': 'individualRequestDetails', 'type': '[ValidationInputRequest]'}, + 'validation_category': {'key': 'validationCategory', 'type': 'str'}, + } + + _subtype_map = { + 'validation_category': {'JobCreationValidation': 'CreateJobValidations'} + } + + def __init__(self, *, individual_request_details, **kwargs) -> None: + super(ValidationRequest, self).__init__(**kwargs) + self.individual_request_details = individual_request_details + self.validation_category = None + + +class CreateJobValidations(ValidationRequest): + """It does all pre-job creation validations. + + All required parameters must be populated in order to send to Azure. + + :param individual_request_details: Required. List of request details + contain validationType and its request as key and value respectively. + :type individual_request_details: + list[~azure.mgmt.databox.models.ValidationInputRequest] + :param validation_category: Required. Constant filled by server. + :type validation_category: str + """ + + _validation = { + 'individual_request_details': {'required': True}, + 'validation_category': {'required': True}, + } + + _attribute_map = { + 'individual_request_details': {'key': 'individualRequestDetails', 'type': '[ValidationInputRequest]'}, + 'validation_category': {'key': 'validationCategory', 'type': 'str'}, + } + + def __init__(self, *, individual_request_details, **kwargs) -> None: + super(CreateJobValidations, self).__init__(individual_request_details=individual_request_details, **kwargs) + self.validation_category = 'JobCreationValidation' + + +class ValidationInputRequest(Model): + """Minimum fields that must be present in any type of validation request. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: CreateOrderLimitForSubscriptionValidationRequest, + DataDestinationDetailsValidationRequest, PreferencesValidationRequest, + SkuAvailabilityValidationRequest, + SubscriptionIsAllowedToCreateJobValidationRequest, ValidateAddress + + All required parameters must be populated in order to send to Azure. + + :param validation_type: Required. Constant filled by server. + :type validation_type: str + """ + + _validation = { + 'validation_type': {'required': True}, + } + + _attribute_map = { + 'validation_type': {'key': 'validationType', 'type': 'str'}, + } + + _subtype_map = { + 'validation_type': {'ValidateCreateOrderLimit': 'CreateOrderLimitForSubscriptionValidationRequest', 'ValidateDataDestinationDetails': 'DataDestinationDetailsValidationRequest', 'ValidatePreferences': 'PreferencesValidationRequest', 'ValidateSkuAvailability': 'SkuAvailabilityValidationRequest', 'ValidateSubscriptionIsAllowedToCreateJob': 'SubscriptionIsAllowedToCreateJobValidationRequest', 'ValidateAddress': 'ValidateAddress'} + } + + def __init__(self, **kwargs) -> None: + super(ValidationInputRequest, self).__init__(**kwargs) + self.validation_type = None + + +class CreateOrderLimitForSubscriptionValidationRequest(ValidationInputRequest): + """Request to validate create order limit for current subscription. + + All required parameters must be populated in order to send to Azure. + + :param validation_type: Required. Constant filled by server. + :type validation_type: str + :param device_type: Required. Device type to be used for the job. Possible + values include: 'DataBox', 'DataBoxDisk', 'DataBoxHeavy' + :type device_type: str or ~azure.mgmt.databox.models.SkuName + """ + + _validation = { + 'validation_type': {'required': True}, + 'device_type': {'required': True}, + } + + _attribute_map = { + 'validation_type': {'key': 'validationType', 'type': 'str'}, + 'device_type': {'key': 'deviceType', 'type': 'SkuName'}, + } + + def __init__(self, *, device_type, **kwargs) -> None: + super(CreateOrderLimitForSubscriptionValidationRequest, self).__init__(**kwargs) + self.device_type = device_type + self.validation_type = 'ValidateCreateOrderLimit' + + +class ValidationInputResponse(Model): + """Minimum properties that should be present in each individual validation + response. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: + CreateOrderLimitForSubscriptionValidationResponseProperties, + DataDestinationDetailsValidationResponseProperties, + PreferencesValidationResponseProperties, + SkuAvailabilityValidationResponseProperties, + SubscriptionIsAllowedToCreateJobValidationResponseProperties + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar error: Error code and message of validation response. + :vartype error: ~azure.mgmt.databox.models.Error + :param validation_type: Required. Constant filled by server. + :type validation_type: str + """ + + _validation = { + 'error': {'readonly': True}, + 'validation_type': {'required': True}, + } + + _attribute_map = { + 'error': {'key': 'error', 'type': 'Error'}, + 'validation_type': {'key': 'validationType', 'type': 'str'}, + } + + _subtype_map = { + 'validation_type': {'ValidateCreateOrderLimit': 'CreateOrderLimitForSubscriptionValidationResponseProperties', 'ValidateDataDestinationDetails': 'DataDestinationDetailsValidationResponseProperties', 'ValidatePreferences': 'PreferencesValidationResponseProperties', 'ValidateSkuAvailability': 'SkuAvailabilityValidationResponseProperties', 'ValidateSubscriptionIsAllowedToCreateJob': 'SubscriptionIsAllowedToCreateJobValidationResponseProperties'} + } + + def __init__(self, **kwargs) -> None: + super(ValidationInputResponse, self).__init__(**kwargs) + self.error = None + self.validation_type = None + + +class CreateOrderLimitForSubscriptionValidationResponseProperties(ValidationInputResponse): + """Properties of create order limit for subscription validation response. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar error: Error code and message of validation response. + :vartype error: ~azure.mgmt.databox.models.Error + :param validation_type: Required. Constant filled by server. + :type validation_type: str + :ivar status: Create order limit validation status. Possible values + include: 'Valid', 'Invalid', 'Skipped' + :vartype status: str or ~azure.mgmt.databox.models.ValidationStatus + """ + + _validation = { + 'error': {'readonly': True}, + 'validation_type': {'required': True}, + 'status': {'readonly': True}, + } + + _attribute_map = { + 'error': {'key': 'error', 'type': 'Error'}, + 'validation_type': {'key': 'validationType', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'ValidationStatus'}, + } + + def __init__(self, **kwargs) -> None: + super(CreateOrderLimitForSubscriptionValidationResponseProperties, self).__init__(**kwargs) + self.status = None + self.validation_type = 'ValidateCreateOrderLimit' + + +class DataBoxAccountCopyLogDetails(CopyLogDetails): + """Copy log details for a storage account of a DataBox job. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param copy_log_details_type: Required. Constant filled by server. + :type copy_log_details_type: str + :ivar account_name: Destination account name. + :vartype account_name: str + :ivar copy_log_link: Link for copy logs. + :vartype copy_log_link: str + """ + + _validation = { + 'copy_log_details_type': {'required': True}, + 'account_name': {'readonly': True}, + 'copy_log_link': {'readonly': True}, + } + + _attribute_map = { + 'copy_log_details_type': {'key': 'copyLogDetailsType', 'type': 'str'}, + 'account_name': {'key': 'accountName', 'type': 'str'}, + 'copy_log_link': {'key': 'copyLogLink', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(DataBoxAccountCopyLogDetails, self).__init__(**kwargs) + self.account_name = None + self.copy_log_link = None + self.copy_log_details_type = 'DataBox' + + +class DataBoxDiskCopyLogDetails(CopyLogDetails): + """Copy Log Details for a disk. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param copy_log_details_type: Required. Constant filled by server. + :type copy_log_details_type: str + :ivar disk_serial_number: Disk Serial Number. + :vartype disk_serial_number: str + :ivar error_log_link: Link for copy error logs. + :vartype error_log_link: str + :ivar verbose_log_link: Link for copy verbose logs. + :vartype verbose_log_link: str + """ + + _validation = { + 'copy_log_details_type': {'required': True}, + 'disk_serial_number': {'readonly': True}, + 'error_log_link': {'readonly': True}, + 'verbose_log_link': {'readonly': True}, + } + + _attribute_map = { + 'copy_log_details_type': {'key': 'copyLogDetailsType', 'type': 'str'}, + 'disk_serial_number': {'key': 'diskSerialNumber', 'type': 'str'}, + 'error_log_link': {'key': 'errorLogLink', 'type': 'str'}, + 'verbose_log_link': {'key': 'verboseLogLink', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(DataBoxDiskCopyLogDetails, self).__init__(**kwargs) + self.disk_serial_number = None + self.error_log_link = None + self.verbose_log_link = None + self.copy_log_details_type = 'DataBoxDisk' + + +class DataBoxDiskCopyProgress(Model): + """DataBox Disk Copy Progress. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar serial_number: The serial number of the disk + :vartype serial_number: str + :ivar bytes_copied: Bytes copied during the copy of disk. + :vartype bytes_copied: long + :ivar percent_complete: Indicates the percentage completed for the copy of + the disk. + :vartype percent_complete: int + :ivar status: The Status of the copy. Possible values include: + 'NotStarted', 'InProgress', 'Completed', 'CompletedWithErrors', 'Failed', + 'NotReturned', 'HardwareError', 'DeviceFormatted', + 'DeviceMetadataModified', 'StorageAccountNotAccessible', 'UnsupportedData' + :vartype status: str or ~azure.mgmt.databox.models.CopyStatus + """ + + _validation = { + 'serial_number': {'readonly': True}, + 'bytes_copied': {'readonly': True}, + 'percent_complete': {'readonly': True}, + 'status': {'readonly': True}, + } + + _attribute_map = { + 'serial_number': {'key': 'serialNumber', 'type': 'str'}, + 'bytes_copied': {'key': 'bytesCopied', 'type': 'long'}, + 'percent_complete': {'key': 'percentComplete', 'type': 'int'}, + 'status': {'key': 'status', 'type': 'CopyStatus'}, + } + + def __init__(self, **kwargs) -> None: + super(DataBoxDiskCopyProgress, self).__init__(**kwargs) + self.serial_number = None + self.bytes_copied = None + self.percent_complete = None + self.status = None + + +class JobDetails(Model): + """Job details. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: DataBoxDiskJobDetails, DataBoxHeavyJobDetails, + DataBoxJobDetails + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param expected_data_size_in_terabytes: The expected size of the data, + which needs to be transferred in this job, in terabytes. + :type expected_data_size_in_terabytes: int + :ivar job_stages: List of stages that run in the job. + :vartype job_stages: list[~azure.mgmt.databox.models.JobStages] + :param contact_details: Required. Contact details for notification and + shipping. + :type contact_details: ~azure.mgmt.databox.models.ContactDetails + :param shipping_address: Required. Shipping address of the customer. + :type shipping_address: ~azure.mgmt.databox.models.ShippingAddress + :ivar delivery_package: Delivery package shipping details. + :vartype delivery_package: + ~azure.mgmt.databox.models.PackageShippingDetails + :ivar return_package: Return package shipping details. + :vartype return_package: ~azure.mgmt.databox.models.PackageShippingDetails + :param destination_account_details: Required. Destination account details. + :type destination_account_details: + list[~azure.mgmt.databox.models.DestinationAccountDetails] + :ivar error_details: Error details for failure. This is optional. + :vartype error_details: list[~azure.mgmt.databox.models.JobErrorDetails] + :param preferences: Preferences for the order. + :type preferences: ~azure.mgmt.databox.models.Preferences + :ivar copy_log_details: List of copy log details. + :vartype copy_log_details: list[~azure.mgmt.databox.models.CopyLogDetails] + :ivar reverse_shipment_label_sas_key: Shared access key to download the + return shipment label + :vartype reverse_shipment_label_sas_key: str + :ivar chain_of_custody_sas_key: Shared access key to download the chain of + custody logs + :vartype chain_of_custody_sas_key: str + :param job_details_type: Required. Constant filled by server. + :type job_details_type: str + """ + + _validation = { + 'job_stages': {'readonly': True}, + 'contact_details': {'required': True}, + 'shipping_address': {'required': True}, + 'delivery_package': {'readonly': True}, + 'return_package': {'readonly': True}, + 'destination_account_details': {'required': True}, + 'error_details': {'readonly': True}, + 'copy_log_details': {'readonly': True}, + 'reverse_shipment_label_sas_key': {'readonly': True}, + 'chain_of_custody_sas_key': {'readonly': True}, + 'job_details_type': {'required': True}, + } + + _attribute_map = { + 'expected_data_size_in_terabytes': {'key': 'expectedDataSizeInTerabytes', 'type': 'int'}, + 'job_stages': {'key': 'jobStages', 'type': '[JobStages]'}, + 'contact_details': {'key': 'contactDetails', 'type': 'ContactDetails'}, + 'shipping_address': {'key': 'shippingAddress', 'type': 'ShippingAddress'}, + 'delivery_package': {'key': 'deliveryPackage', 'type': 'PackageShippingDetails'}, + 'return_package': {'key': 'returnPackage', 'type': 'PackageShippingDetails'}, + 'destination_account_details': {'key': 'destinationAccountDetails', 'type': '[DestinationAccountDetails]'}, + 'error_details': {'key': 'errorDetails', 'type': '[JobErrorDetails]'}, + 'preferences': {'key': 'preferences', 'type': 'Preferences'}, + 'copy_log_details': {'key': 'copyLogDetails', 'type': '[CopyLogDetails]'}, + 'reverse_shipment_label_sas_key': {'key': 'reverseShipmentLabelSasKey', 'type': 'str'}, + 'chain_of_custody_sas_key': {'key': 'chainOfCustodySasKey', 'type': 'str'}, + 'job_details_type': {'key': 'jobDetailsType', 'type': 'str'}, + } + + _subtype_map = { + 'job_details_type': {'DataBoxDisk': 'DataBoxDiskJobDetails', 'DataBoxHeavy': 'DataBoxHeavyJobDetails', 'DataBox': 'DataBoxJobDetails'} + } + + def __init__(self, *, contact_details, shipping_address, destination_account_details, expected_data_size_in_terabytes: int=None, preferences=None, **kwargs) -> None: + super(JobDetails, self).__init__(**kwargs) + self.expected_data_size_in_terabytes = expected_data_size_in_terabytes + self.job_stages = None + self.contact_details = contact_details + self.shipping_address = shipping_address + self.delivery_package = None + self.return_package = None + self.destination_account_details = destination_account_details + self.error_details = None + self.preferences = preferences + self.copy_log_details = None + self.reverse_shipment_label_sas_key = None + self.chain_of_custody_sas_key = None + self.job_details_type = None + + +class DataBoxDiskJobDetails(JobDetails): + """DataBox Disk Job Details. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param expected_data_size_in_terabytes: The expected size of the data, + which needs to be transferred in this job, in terabytes. + :type expected_data_size_in_terabytes: int + :ivar job_stages: List of stages that run in the job. + :vartype job_stages: list[~azure.mgmt.databox.models.JobStages] + :param contact_details: Required. Contact details for notification and + shipping. + :type contact_details: ~azure.mgmt.databox.models.ContactDetails + :param shipping_address: Required. Shipping address of the customer. + :type shipping_address: ~azure.mgmt.databox.models.ShippingAddress + :ivar delivery_package: Delivery package shipping details. + :vartype delivery_package: + ~azure.mgmt.databox.models.PackageShippingDetails + :ivar return_package: Return package shipping details. + :vartype return_package: ~azure.mgmt.databox.models.PackageShippingDetails + :param destination_account_details: Required. Destination account details. + :type destination_account_details: + list[~azure.mgmt.databox.models.DestinationAccountDetails] + :ivar error_details: Error details for failure. This is optional. + :vartype error_details: list[~azure.mgmt.databox.models.JobErrorDetails] + :param preferences: Preferences for the order. + :type preferences: ~azure.mgmt.databox.models.Preferences + :ivar copy_log_details: List of copy log details. + :vartype copy_log_details: list[~azure.mgmt.databox.models.CopyLogDetails] + :ivar reverse_shipment_label_sas_key: Shared access key to download the + return shipment label + :vartype reverse_shipment_label_sas_key: str + :ivar chain_of_custody_sas_key: Shared access key to download the chain of + custody logs + :vartype chain_of_custody_sas_key: str + :param job_details_type: Required. Constant filled by server. + :type job_details_type: str + :param preferred_disks: User preference on what size disks are needed for + the job. The map is from the disk size in TB to the count. Eg. {2,5} means + 5 disks of 2 TB size. Key is string but will be checked against an int. + :type preferred_disks: dict[str, int] + :ivar copy_progress: Copy progress per disk. + :vartype copy_progress: + list[~azure.mgmt.databox.models.DataBoxDiskCopyProgress] + :ivar disks_and_size_details: Contains the map of disk serial number to + the disk size being used for the job. Is returned only after the disks are + shipped to the customer. + :vartype disks_and_size_details: dict[str, int] + :param passkey: User entered passkey for DataBox Disk job. + :type passkey: str + """ + + _validation = { + 'job_stages': {'readonly': True}, + 'contact_details': {'required': True}, + 'shipping_address': {'required': True}, + 'delivery_package': {'readonly': True}, + 'return_package': {'readonly': True}, + 'destination_account_details': {'required': True}, + 'error_details': {'readonly': True}, + 'copy_log_details': {'readonly': True}, + 'reverse_shipment_label_sas_key': {'readonly': True}, + 'chain_of_custody_sas_key': {'readonly': True}, + 'job_details_type': {'required': True}, + 'copy_progress': {'readonly': True}, + 'disks_and_size_details': {'readonly': True}, + } + + _attribute_map = { + 'expected_data_size_in_terabytes': {'key': 'expectedDataSizeInTerabytes', 'type': 'int'}, + 'job_stages': {'key': 'jobStages', 'type': '[JobStages]'}, + 'contact_details': {'key': 'contactDetails', 'type': 'ContactDetails'}, + 'shipping_address': {'key': 'shippingAddress', 'type': 'ShippingAddress'}, + 'delivery_package': {'key': 'deliveryPackage', 'type': 'PackageShippingDetails'}, + 'return_package': {'key': 'returnPackage', 'type': 'PackageShippingDetails'}, + 'destination_account_details': {'key': 'destinationAccountDetails', 'type': '[DestinationAccountDetails]'}, + 'error_details': {'key': 'errorDetails', 'type': '[JobErrorDetails]'}, + 'preferences': {'key': 'preferences', 'type': 'Preferences'}, + 'copy_log_details': {'key': 'copyLogDetails', 'type': '[CopyLogDetails]'}, + 'reverse_shipment_label_sas_key': {'key': 'reverseShipmentLabelSasKey', 'type': 'str'}, + 'chain_of_custody_sas_key': {'key': 'chainOfCustodySasKey', 'type': 'str'}, + 'job_details_type': {'key': 'jobDetailsType', 'type': 'str'}, + 'preferred_disks': {'key': 'preferredDisks', 'type': '{int}'}, + 'copy_progress': {'key': 'copyProgress', 'type': '[DataBoxDiskCopyProgress]'}, + 'disks_and_size_details': {'key': 'disksAndSizeDetails', 'type': '{int}'}, + 'passkey': {'key': 'passkey', 'type': 'str'}, + } + + def __init__(self, *, contact_details, shipping_address, destination_account_details, expected_data_size_in_terabytes: int=None, preferences=None, preferred_disks=None, passkey: str=None, **kwargs) -> None: + super(DataBoxDiskJobDetails, self).__init__(expected_data_size_in_terabytes=expected_data_size_in_terabytes, contact_details=contact_details, shipping_address=shipping_address, destination_account_details=destination_account_details, preferences=preferences, **kwargs) + self.preferred_disks = preferred_disks + self.copy_progress = None + self.disks_and_size_details = None + self.passkey = passkey + self.job_details_type = 'DataBoxDisk' + + +class JobSecrets(Model): + """The base class for the secrets. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: DataBoxDiskJobSecrets, DataBoxHeavyJobSecrets, + DataboxJobSecrets + + All required parameters must be populated in order to send to Azure. + + :param dc_access_security_code: Dc Access Security Code for Customer + Managed Shipping + :type dc_access_security_code: + ~azure.mgmt.databox.models.DcAccessSecurityCode + :param job_secrets_type: Required. Constant filled by server. + :type job_secrets_type: str + """ + + _validation = { + 'job_secrets_type': {'required': True}, + } + + _attribute_map = { + 'dc_access_security_code': {'key': 'dcAccessSecurityCode', 'type': 'DcAccessSecurityCode'}, + 'job_secrets_type': {'key': 'jobSecretsType', 'type': 'str'}, + } + + _subtype_map = { + 'job_secrets_type': {'DataBoxDisk': 'DataBoxDiskJobSecrets', 'DataBoxHeavy': 'DataBoxHeavyJobSecrets', 'DataBox': 'DataboxJobSecrets'} + } + + def __init__(self, *, dc_access_security_code=None, **kwargs) -> None: + super(JobSecrets, self).__init__(**kwargs) + self.dc_access_security_code = dc_access_security_code + self.job_secrets_type = None + + +class DataBoxDiskJobSecrets(JobSecrets): + """The secrets related to disk job. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param dc_access_security_code: Dc Access Security Code for Customer + Managed Shipping + :type dc_access_security_code: + ~azure.mgmt.databox.models.DcAccessSecurityCode + :param job_secrets_type: Required. Constant filled by server. + :type job_secrets_type: str + :ivar disk_secrets: Contains the list of secrets object for that device. + :vartype disk_secrets: list[~azure.mgmt.databox.models.DiskSecret] + :ivar pass_key: PassKey for the disk Job. + :vartype pass_key: str + :ivar is_passkey_user_defined: Whether passkey was provided by user. + :vartype is_passkey_user_defined: bool + """ + + _validation = { + 'job_secrets_type': {'required': True}, + 'disk_secrets': {'readonly': True}, + 'pass_key': {'readonly': True}, + 'is_passkey_user_defined': {'readonly': True}, + } + + _attribute_map = { + 'dc_access_security_code': {'key': 'dcAccessSecurityCode', 'type': 'DcAccessSecurityCode'}, + 'job_secrets_type': {'key': 'jobSecretsType', 'type': 'str'}, + 'disk_secrets': {'key': 'diskSecrets', 'type': '[DiskSecret]'}, + 'pass_key': {'key': 'passKey', 'type': 'str'}, + 'is_passkey_user_defined': {'key': 'isPasskeyUserDefined', 'type': 'bool'}, + } + + def __init__(self, *, dc_access_security_code=None, **kwargs) -> None: + super(DataBoxDiskJobSecrets, self).__init__(dc_access_security_code=dc_access_security_code, **kwargs) + self.disk_secrets = None + self.pass_key = None + self.is_passkey_user_defined = None + self.job_secrets_type = 'DataBoxDisk' + + +class DataBoxHeavyAccountCopyLogDetails(CopyLogDetails): + """Copy log details for a storage account for Databox heavy. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param copy_log_details_type: Required. Constant filled by server. + :type copy_log_details_type: str + :ivar account_name: Destination account name. + :vartype account_name: str + :ivar copy_log_link: Link for copy logs. + :vartype copy_log_link: list[str] + """ + + _validation = { + 'copy_log_details_type': {'required': True}, + 'account_name': {'readonly': True}, + 'copy_log_link': {'readonly': True}, + } + + _attribute_map = { + 'copy_log_details_type': {'key': 'copyLogDetailsType', 'type': 'str'}, + 'account_name': {'key': 'accountName', 'type': 'str'}, + 'copy_log_link': {'key': 'copyLogLink', 'type': '[str]'}, + } + + def __init__(self, **kwargs) -> None: + super(DataBoxHeavyAccountCopyLogDetails, self).__init__(**kwargs) + self.account_name = None + self.copy_log_link = None + self.copy_log_details_type = 'DataBoxHeavy' + + +class DataBoxHeavyJobDetails(JobDetails): + """Databox Heavy Device Job Details. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param expected_data_size_in_terabytes: The expected size of the data, + which needs to be transferred in this job, in terabytes. + :type expected_data_size_in_terabytes: int + :ivar job_stages: List of stages that run in the job. + :vartype job_stages: list[~azure.mgmt.databox.models.JobStages] + :param contact_details: Required. Contact details for notification and + shipping. + :type contact_details: ~azure.mgmt.databox.models.ContactDetails + :param shipping_address: Required. Shipping address of the customer. + :type shipping_address: ~azure.mgmt.databox.models.ShippingAddress + :ivar delivery_package: Delivery package shipping details. + :vartype delivery_package: + ~azure.mgmt.databox.models.PackageShippingDetails + :ivar return_package: Return package shipping details. + :vartype return_package: ~azure.mgmt.databox.models.PackageShippingDetails + :param destination_account_details: Required. Destination account details. + :type destination_account_details: + list[~azure.mgmt.databox.models.DestinationAccountDetails] + :ivar error_details: Error details for failure. This is optional. + :vartype error_details: list[~azure.mgmt.databox.models.JobErrorDetails] + :param preferences: Preferences for the order. + :type preferences: ~azure.mgmt.databox.models.Preferences + :ivar copy_log_details: List of copy log details. + :vartype copy_log_details: list[~azure.mgmt.databox.models.CopyLogDetails] + :ivar reverse_shipment_label_sas_key: Shared access key to download the + return shipment label + :vartype reverse_shipment_label_sas_key: str + :ivar chain_of_custody_sas_key: Shared access key to download the chain of + custody logs + :vartype chain_of_custody_sas_key: str + :param job_details_type: Required. Constant filled by server. + :type job_details_type: str + :ivar copy_progress: Copy progress per account. + :vartype copy_progress: list[~azure.mgmt.databox.models.CopyProgress] + :param device_password: Set Device password for unlocking Databox Heavy + :type device_password: str + """ + + _validation = { + 'job_stages': {'readonly': True}, + 'contact_details': {'required': True}, + 'shipping_address': {'required': True}, + 'delivery_package': {'readonly': True}, + 'return_package': {'readonly': True}, + 'destination_account_details': {'required': True}, + 'error_details': {'readonly': True}, + 'copy_log_details': {'readonly': True}, + 'reverse_shipment_label_sas_key': {'readonly': True}, + 'chain_of_custody_sas_key': {'readonly': True}, + 'job_details_type': {'required': True}, + 'copy_progress': {'readonly': True}, + } + + _attribute_map = { + 'expected_data_size_in_terabytes': {'key': 'expectedDataSizeInTerabytes', 'type': 'int'}, + 'job_stages': {'key': 'jobStages', 'type': '[JobStages]'}, + 'contact_details': {'key': 'contactDetails', 'type': 'ContactDetails'}, + 'shipping_address': {'key': 'shippingAddress', 'type': 'ShippingAddress'}, + 'delivery_package': {'key': 'deliveryPackage', 'type': 'PackageShippingDetails'}, + 'return_package': {'key': 'returnPackage', 'type': 'PackageShippingDetails'}, + 'destination_account_details': {'key': 'destinationAccountDetails', 'type': '[DestinationAccountDetails]'}, + 'error_details': {'key': 'errorDetails', 'type': '[JobErrorDetails]'}, + 'preferences': {'key': 'preferences', 'type': 'Preferences'}, + 'copy_log_details': {'key': 'copyLogDetails', 'type': '[CopyLogDetails]'}, + 'reverse_shipment_label_sas_key': {'key': 'reverseShipmentLabelSasKey', 'type': 'str'}, + 'chain_of_custody_sas_key': {'key': 'chainOfCustodySasKey', 'type': 'str'}, + 'job_details_type': {'key': 'jobDetailsType', 'type': 'str'}, + 'copy_progress': {'key': 'copyProgress', 'type': '[CopyProgress]'}, + 'device_password': {'key': 'devicePassword', 'type': 'str'}, + } + + def __init__(self, *, contact_details, shipping_address, destination_account_details, expected_data_size_in_terabytes: int=None, preferences=None, device_password: str=None, **kwargs) -> None: + super(DataBoxHeavyJobDetails, self).__init__(expected_data_size_in_terabytes=expected_data_size_in_terabytes, contact_details=contact_details, shipping_address=shipping_address, destination_account_details=destination_account_details, preferences=preferences, **kwargs) + self.copy_progress = None + self.device_password = device_password + self.job_details_type = 'DataBoxHeavy' + + +class DataBoxHeavyJobSecrets(JobSecrets): + """The secrets related to a databox heavy job. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param dc_access_security_code: Dc Access Security Code for Customer + Managed Shipping + :type dc_access_security_code: + ~azure.mgmt.databox.models.DcAccessSecurityCode + :param job_secrets_type: Required. Constant filled by server. + :type job_secrets_type: str + :ivar cabinet_pod_secrets: Contains the list of secret objects for a + databox heavy job. + :vartype cabinet_pod_secrets: + list[~azure.mgmt.databox.models.DataBoxHeavySecret] + """ + + _validation = { + 'job_secrets_type': {'required': True}, + 'cabinet_pod_secrets': {'readonly': True}, + } + + _attribute_map = { + 'dc_access_security_code': {'key': 'dcAccessSecurityCode', 'type': 'DcAccessSecurityCode'}, + 'job_secrets_type': {'key': 'jobSecretsType', 'type': 'str'}, + 'cabinet_pod_secrets': {'key': 'cabinetPodSecrets', 'type': '[DataBoxHeavySecret]'}, + } + + def __init__(self, *, dc_access_security_code=None, **kwargs) -> None: + super(DataBoxHeavyJobSecrets, self).__init__(dc_access_security_code=dc_access_security_code, **kwargs) + self.cabinet_pod_secrets = None + self.job_secrets_type = 'DataBoxHeavy' + + +class DataBoxHeavySecret(Model): + """The secrets related to a databox heavy. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar device_serial_number: Serial number of the assigned device. + :vartype device_serial_number: str + :ivar device_password: Password for out of the box experience on device. + :vartype device_password: str + :ivar network_configurations: Network configuration of the appliance. + :vartype network_configurations: + list[~azure.mgmt.databox.models.ApplianceNetworkConfiguration] + :ivar encoded_validation_cert_pub_key: The base 64 encoded public key to + authenticate with the device + :vartype encoded_validation_cert_pub_key: str + :ivar account_credential_details: Per account level access credentials. + :vartype account_credential_details: + list[~azure.mgmt.databox.models.AccountCredentialDetails] + """ + + _validation = { + 'device_serial_number': {'readonly': True}, + 'device_password': {'readonly': True}, + 'network_configurations': {'readonly': True}, + 'encoded_validation_cert_pub_key': {'readonly': True}, + 'account_credential_details': {'readonly': True}, + } + + _attribute_map = { + 'device_serial_number': {'key': 'deviceSerialNumber', 'type': 'str'}, + 'device_password': {'key': 'devicePassword', 'type': 'str'}, + 'network_configurations': {'key': 'networkConfigurations', 'type': '[ApplianceNetworkConfiguration]'}, + 'encoded_validation_cert_pub_key': {'key': 'encodedValidationCertPubKey', 'type': 'str'}, + 'account_credential_details': {'key': 'accountCredentialDetails', 'type': '[AccountCredentialDetails]'}, + } + + def __init__(self, **kwargs) -> None: + super(DataBoxHeavySecret, self).__init__(**kwargs) + self.device_serial_number = None + self.device_password = None + self.network_configurations = None + self.encoded_validation_cert_pub_key = None + self.account_credential_details = None + + +class DataBoxJobDetails(JobDetails): + """Databox Job Details. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param expected_data_size_in_terabytes: The expected size of the data, + which needs to be transferred in this job, in terabytes. + :type expected_data_size_in_terabytes: int + :ivar job_stages: List of stages that run in the job. + :vartype job_stages: list[~azure.mgmt.databox.models.JobStages] + :param contact_details: Required. Contact details for notification and + shipping. + :type contact_details: ~azure.mgmt.databox.models.ContactDetails + :param shipping_address: Required. Shipping address of the customer. + :type shipping_address: ~azure.mgmt.databox.models.ShippingAddress + :ivar delivery_package: Delivery package shipping details. + :vartype delivery_package: + ~azure.mgmt.databox.models.PackageShippingDetails + :ivar return_package: Return package shipping details. + :vartype return_package: ~azure.mgmt.databox.models.PackageShippingDetails + :param destination_account_details: Required. Destination account details. + :type destination_account_details: + list[~azure.mgmt.databox.models.DestinationAccountDetails] + :ivar error_details: Error details for failure. This is optional. + :vartype error_details: list[~azure.mgmt.databox.models.JobErrorDetails] + :param preferences: Preferences for the order. + :type preferences: ~azure.mgmt.databox.models.Preferences + :ivar copy_log_details: List of copy log details. + :vartype copy_log_details: list[~azure.mgmt.databox.models.CopyLogDetails] + :ivar reverse_shipment_label_sas_key: Shared access key to download the + return shipment label + :vartype reverse_shipment_label_sas_key: str + :ivar chain_of_custody_sas_key: Shared access key to download the chain of + custody logs + :vartype chain_of_custody_sas_key: str + :param job_details_type: Required. Constant filled by server. + :type job_details_type: str + :ivar copy_progress: Copy progress per storage account. + :vartype copy_progress: list[~azure.mgmt.databox.models.CopyProgress] + :param device_password: Set Device password for unlocking Databox + :type device_password: str + """ + + _validation = { + 'job_stages': {'readonly': True}, + 'contact_details': {'required': True}, + 'shipping_address': {'required': True}, + 'delivery_package': {'readonly': True}, + 'return_package': {'readonly': True}, + 'destination_account_details': {'required': True}, + 'error_details': {'readonly': True}, + 'copy_log_details': {'readonly': True}, + 'reverse_shipment_label_sas_key': {'readonly': True}, + 'chain_of_custody_sas_key': {'readonly': True}, + 'job_details_type': {'required': True}, + 'copy_progress': {'readonly': True}, + } + + _attribute_map = { + 'expected_data_size_in_terabytes': {'key': 'expectedDataSizeInTerabytes', 'type': 'int'}, + 'job_stages': {'key': 'jobStages', 'type': '[JobStages]'}, + 'contact_details': {'key': 'contactDetails', 'type': 'ContactDetails'}, + 'shipping_address': {'key': 'shippingAddress', 'type': 'ShippingAddress'}, + 'delivery_package': {'key': 'deliveryPackage', 'type': 'PackageShippingDetails'}, + 'return_package': {'key': 'returnPackage', 'type': 'PackageShippingDetails'}, + 'destination_account_details': {'key': 'destinationAccountDetails', 'type': '[DestinationAccountDetails]'}, + 'error_details': {'key': 'errorDetails', 'type': '[JobErrorDetails]'}, + 'preferences': {'key': 'preferences', 'type': 'Preferences'}, + 'copy_log_details': {'key': 'copyLogDetails', 'type': '[CopyLogDetails]'}, + 'reverse_shipment_label_sas_key': {'key': 'reverseShipmentLabelSasKey', 'type': 'str'}, + 'chain_of_custody_sas_key': {'key': 'chainOfCustodySasKey', 'type': 'str'}, + 'job_details_type': {'key': 'jobDetailsType', 'type': 'str'}, + 'copy_progress': {'key': 'copyProgress', 'type': '[CopyProgress]'}, + 'device_password': {'key': 'devicePassword', 'type': 'str'}, + } + + def __init__(self, *, contact_details, shipping_address, destination_account_details, expected_data_size_in_terabytes: int=None, preferences=None, device_password: str=None, **kwargs) -> None: + super(DataBoxJobDetails, self).__init__(expected_data_size_in_terabytes=expected_data_size_in_terabytes, contact_details=contact_details, shipping_address=shipping_address, destination_account_details=destination_account_details, preferences=preferences, **kwargs) + self.copy_progress = None + self.device_password = device_password + self.job_details_type = 'DataBox' + + +class DataboxJobSecrets(JobSecrets): + """The secrets related to a databox job. + + All required parameters must be populated in order to send to Azure. + + :param dc_access_security_code: Dc Access Security Code for Customer + Managed Shipping + :type dc_access_security_code: + ~azure.mgmt.databox.models.DcAccessSecurityCode + :param job_secrets_type: Required. Constant filled by server. + :type job_secrets_type: str + :param pod_secrets: Contains the list of secret objects for a job. + :type pod_secrets: list[~azure.mgmt.databox.models.DataBoxSecret] + """ + + _validation = { + 'job_secrets_type': {'required': True}, + } + + _attribute_map = { + 'dc_access_security_code': {'key': 'dcAccessSecurityCode', 'type': 'DcAccessSecurityCode'}, + 'job_secrets_type': {'key': 'jobSecretsType', 'type': 'str'}, + 'pod_secrets': {'key': 'podSecrets', 'type': '[DataBoxSecret]'}, + } + + def __init__(self, *, dc_access_security_code=None, pod_secrets=None, **kwargs) -> None: + super(DataboxJobSecrets, self).__init__(dc_access_security_code=dc_access_security_code, **kwargs) + self.pod_secrets = pod_secrets + self.job_secrets_type = 'DataBox' + + +class ScheduleAvailabilityRequest(Model): + """Request body to get the availability for scheduling orders. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: DataBoxScheduleAvailabilityRequest, + DiskScheduleAvailabilityRequest, HeavyScheduleAvailabilityRequest + + All required parameters must be populated in order to send to Azure. + + :param storage_location: Required. Location for data transfer. + For locations check: + https://management.azure.com/subscriptions/SUBSCRIPTIONID/locations?api-version=2018-01-01 + :type storage_location: str + :param sku_name: Required. Constant filled by server. + :type sku_name: str + """ + + _validation = { + 'storage_location': {'required': True}, + 'sku_name': {'required': True}, + } + + _attribute_map = { + 'storage_location': {'key': 'storageLocation', 'type': 'str'}, + 'sku_name': {'key': 'skuName', 'type': 'str'}, + } + + _subtype_map = { + 'sku_name': {'DataBox': 'DataBoxScheduleAvailabilityRequest', 'DataBoxDisk': 'DiskScheduleAvailabilityRequest', 'DataBoxHeavy': 'HeavyScheduleAvailabilityRequest'} + } + + def __init__(self, *, storage_location: str, **kwargs) -> None: + super(ScheduleAvailabilityRequest, self).__init__(**kwargs) + self.storage_location = storage_location + self.sku_name = None + + +class DataBoxScheduleAvailabilityRequest(ScheduleAvailabilityRequest): + """Request body to get the availability for scheduling data box orders orders. + + All required parameters must be populated in order to send to Azure. + + :param storage_location: Required. Location for data transfer. + For locations check: + https://management.azure.com/subscriptions/SUBSCRIPTIONID/locations?api-version=2018-01-01 + :type storage_location: str + :param sku_name: Required. Constant filled by server. + :type sku_name: str + """ + + _validation = { + 'storage_location': {'required': True}, + 'sku_name': {'required': True}, + } + + _attribute_map = { + 'storage_location': {'key': 'storageLocation', 'type': 'str'}, + 'sku_name': {'key': 'skuName', 'type': 'str'}, + } + + def __init__(self, *, storage_location: str, **kwargs) -> None: + super(DataBoxScheduleAvailabilityRequest, self).__init__(storage_location=storage_location, **kwargs) + self.sku_name = 'DataBox' + + +class DataBoxSecret(Model): + """The secrets related to a DataBox. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar device_serial_number: Serial number of the assigned device. + :vartype device_serial_number: str + :ivar device_password: Password for out of the box experience on device. + :vartype device_password: str + :ivar network_configurations: Network configuration of the appliance. + :vartype network_configurations: + list[~azure.mgmt.databox.models.ApplianceNetworkConfiguration] + :ivar encoded_validation_cert_pub_key: The base 64 encoded public key to + authenticate with the device + :vartype encoded_validation_cert_pub_key: str + :ivar account_credential_details: Per account level access credentials. + :vartype account_credential_details: + list[~azure.mgmt.databox.models.AccountCredentialDetails] + """ + + _validation = { + 'device_serial_number': {'readonly': True}, + 'device_password': {'readonly': True}, + 'network_configurations': {'readonly': True}, + 'encoded_validation_cert_pub_key': {'readonly': True}, + 'account_credential_details': {'readonly': True}, + } + + _attribute_map = { + 'device_serial_number': {'key': 'deviceSerialNumber', 'type': 'str'}, + 'device_password': {'key': 'devicePassword', 'type': 'str'}, + 'network_configurations': {'key': 'networkConfigurations', 'type': '[ApplianceNetworkConfiguration]'}, + 'encoded_validation_cert_pub_key': {'key': 'encodedValidationCertPubKey', 'type': 'str'}, + 'account_credential_details': {'key': 'accountCredentialDetails', 'type': '[AccountCredentialDetails]'}, + } + + def __init__(self, **kwargs) -> None: + super(DataBoxSecret, self).__init__(**kwargs) + self.device_serial_number = None + self.device_password = None + self.network_configurations = None + self.encoded_validation_cert_pub_key = None + self.account_credential_details = None + + +class DataDestinationDetailsValidationRequest(ValidationInputRequest): + """Request to validate data destination details. + + All required parameters must be populated in order to send to Azure. + + :param validation_type: Required. Constant filled by server. + :type validation_type: str + :param destination_account_details: Required. Destination account details + list. + :type destination_account_details: + list[~azure.mgmt.databox.models.DestinationAccountDetails] + :param location: Required. Location of stamp or geo. + :type location: str + """ + + _validation = { + 'validation_type': {'required': True}, + 'destination_account_details': {'required': True}, + 'location': {'required': True}, + } + + _attribute_map = { + 'validation_type': {'key': 'validationType', 'type': 'str'}, + 'destination_account_details': {'key': 'destinationAccountDetails', 'type': '[DestinationAccountDetails]'}, + 'location': {'key': 'location', 'type': 'str'}, + } + + def __init__(self, *, destination_account_details, location: str, **kwargs) -> None: + super(DataDestinationDetailsValidationRequest, self).__init__(**kwargs) + self.destination_account_details = destination_account_details + self.location = location + self.validation_type = 'ValidateDataDestinationDetails' + + +class DataDestinationDetailsValidationResponseProperties(ValidationInputResponse): + """Properties of data destination details validation response. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar error: Error code and message of validation response. + :vartype error: ~azure.mgmt.databox.models.Error + :param validation_type: Required. Constant filled by server. + :type validation_type: str + :ivar status: Data destination details validation status. Possible values + include: 'Valid', 'Invalid', 'Skipped' + :vartype status: str or ~azure.mgmt.databox.models.ValidationStatus + """ + + _validation = { + 'error': {'readonly': True}, + 'validation_type': {'required': True}, + 'status': {'readonly': True}, + } + + _attribute_map = { + 'error': {'key': 'error', 'type': 'Error'}, + 'validation_type': {'key': 'validationType', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'ValidationStatus'}, + } + + def __init__(self, **kwargs) -> None: + super(DataDestinationDetailsValidationResponseProperties, self).__init__(**kwargs) + self.status = None + self.validation_type = 'ValidateDataDestinationDetails' + + +class DcAccessSecurityCode(Model): + """Dc Access Security code for device. + + :param forward_dc_access_code: Dc Access Code for dispatching from DC. + :type forward_dc_access_code: str + :param reverse_dc_access_code: Dc Access code for dropping off at DC. + :type reverse_dc_access_code: str + """ + + _attribute_map = { + 'forward_dc_access_code': {'key': 'forwardDcAccessCode', 'type': 'str'}, + 'reverse_dc_access_code': {'key': 'reverseDcAccessCode', 'type': 'str'}, + } + + def __init__(self, *, forward_dc_access_code: str=None, reverse_dc_access_code: str=None, **kwargs) -> None: + super(DcAccessSecurityCode, self).__init__(**kwargs) + self.forward_dc_access_code = forward_dc_access_code + self.reverse_dc_access_code = reverse_dc_access_code + + +class DestinationAccountDetails(Model): + """Details of the destination storage accounts. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: DestinationManagedDiskDetails, + DestinationStorageAccountDetails + + All required parameters must be populated in order to send to Azure. + + :param account_id: Arm Id of the destination where the data has to be + moved. + :type account_id: str + :param share_password: Share password to be shared by all shares in SA. + :type share_password: str + :param data_destination_type: Required. Constant filled by server. + :type data_destination_type: str + """ + + _validation = { + 'data_destination_type': {'required': True}, + } + + _attribute_map = { + 'account_id': {'key': 'accountId', 'type': 'str'}, + 'share_password': {'key': 'sharePassword', 'type': 'str'}, + 'data_destination_type': {'key': 'dataDestinationType', 'type': 'str'}, + } + + _subtype_map = { + 'data_destination_type': {'ManagedDisk': 'DestinationManagedDiskDetails', 'StorageAccount': 'DestinationStorageAccountDetails'} + } + + def __init__(self, *, account_id: str=None, share_password: str=None, **kwargs) -> None: + super(DestinationAccountDetails, self).__init__(**kwargs) + self.account_id = account_id + self.share_password = share_password + self.data_destination_type = None + + +class DestinationManagedDiskDetails(DestinationAccountDetails): + """Details for the destination compute disks. + + All required parameters must be populated in order to send to Azure. + + :param account_id: Arm Id of the destination where the data has to be + moved. + :type account_id: str + :param share_password: Share password to be shared by all shares in SA. + :type share_password: str + :param data_destination_type: Required. Constant filled by server. + :type data_destination_type: str + :param resource_group_id: Required. Destination Resource Group Id where + the Compute disks should be created. + :type resource_group_id: str + :param staging_storage_account_id: Required. Arm Id of the storage account + that can be used to copy the vhd for staging. + :type staging_storage_account_id: str + """ + + _validation = { + 'data_destination_type': {'required': True}, + 'resource_group_id': {'required': True}, + 'staging_storage_account_id': {'required': True}, + } + + _attribute_map = { + 'account_id': {'key': 'accountId', 'type': 'str'}, + 'share_password': {'key': 'sharePassword', 'type': 'str'}, + 'data_destination_type': {'key': 'dataDestinationType', 'type': 'str'}, + 'resource_group_id': {'key': 'resourceGroupId', 'type': 'str'}, + 'staging_storage_account_id': {'key': 'stagingStorageAccountId', 'type': 'str'}, + } + + def __init__(self, *, resource_group_id: str, staging_storage_account_id: str, account_id: str=None, share_password: str=None, **kwargs) -> None: + super(DestinationManagedDiskDetails, self).__init__(account_id=account_id, share_password=share_password, **kwargs) + self.resource_group_id = resource_group_id + self.staging_storage_account_id = staging_storage_account_id + self.data_destination_type = 'ManagedDisk' + + +class DestinationStorageAccountDetails(DestinationAccountDetails): + """Details for the destination storage account. + + All required parameters must be populated in order to send to Azure. + + :param account_id: Arm Id of the destination where the data has to be + moved. + :type account_id: str + :param share_password: Share password to be shared by all shares in SA. + :type share_password: str + :param data_destination_type: Required. Constant filled by server. + :type data_destination_type: str + :param storage_account_id: Required. Destination Storage Account Arm Id. + :type storage_account_id: str + """ + + _validation = { + 'data_destination_type': {'required': True}, + 'storage_account_id': {'required': True}, + } + + _attribute_map = { + 'account_id': {'key': 'accountId', 'type': 'str'}, + 'share_password': {'key': 'sharePassword', 'type': 'str'}, + 'data_destination_type': {'key': 'dataDestinationType', 'type': 'str'}, + 'storage_account_id': {'key': 'storageAccountId', 'type': 'str'}, + } + + def __init__(self, *, storage_account_id: str, account_id: str=None, share_password: str=None, **kwargs) -> None: + super(DestinationStorageAccountDetails, self).__init__(account_id=account_id, share_password=share_password, **kwargs) + self.storage_account_id = storage_account_id + self.data_destination_type = 'StorageAccount' + + +class DestinationToServiceLocationMap(Model): + """Map of destination location to service location. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar destination_location: Location of the destination. + :vartype destination_location: str + :ivar service_location: Location of the service. + :vartype service_location: str + """ + + _validation = { + 'destination_location': {'readonly': True}, + 'service_location': {'readonly': True}, + } + + _attribute_map = { + 'destination_location': {'key': 'destinationLocation', 'type': 'str'}, + 'service_location': {'key': 'serviceLocation', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(DestinationToServiceLocationMap, self).__init__(**kwargs) + self.destination_location = None + self.service_location = None + + +class DiskScheduleAvailabilityRequest(ScheduleAvailabilityRequest): + """Request body to get the availability for scheduling disk orders. + + All required parameters must be populated in order to send to Azure. + + :param storage_location: Required. Location for data transfer. + For locations check: + https://management.azure.com/subscriptions/SUBSCRIPTIONID/locations?api-version=2018-01-01 + :type storage_location: str + :param sku_name: Required. Constant filled by server. + :type sku_name: str + :param expected_data_size_in_terabytes: Required. The expected size of the + data, which needs to be transferred in this job, in terabytes. + :type expected_data_size_in_terabytes: int + """ + + _validation = { + 'storage_location': {'required': True}, + 'sku_name': {'required': True}, + 'expected_data_size_in_terabytes': {'required': True}, + } + + _attribute_map = { + 'storage_location': {'key': 'storageLocation', 'type': 'str'}, + 'sku_name': {'key': 'skuName', 'type': 'str'}, + 'expected_data_size_in_terabytes': {'key': 'expectedDataSizeInTerabytes', 'type': 'int'}, + } + + def __init__(self, *, storage_location: str, expected_data_size_in_terabytes: int, **kwargs) -> None: + super(DiskScheduleAvailabilityRequest, self).__init__(storage_location=storage_location, **kwargs) + self.expected_data_size_in_terabytes = expected_data_size_in_terabytes + self.sku_name = 'DataBoxDisk' + + +class DiskSecret(Model): + """Contains all the secrets of a Disk. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar disk_serial_number: Serial number of the assigned disk. + :vartype disk_serial_number: str + :ivar bit_locker_key: Bit Locker key of the disk which can be used to + unlock the disk to copy data. + :vartype bit_locker_key: str + """ + + _validation = { + 'disk_serial_number': {'readonly': True}, + 'bit_locker_key': {'readonly': True}, + } + + _attribute_map = { + 'disk_serial_number': {'key': 'diskSerialNumber', 'type': 'str'}, + 'bit_locker_key': {'key': 'bitLockerKey', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(DiskSecret, self).__init__(**kwargs) + self.disk_serial_number = None + self.bit_locker_key = None + + +class Error(Model): + """Top level error for the job. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar code: Error code that can be used to programmatically identify the + error. + :vartype code: str + :ivar message: Describes the error in detail and provides debugging + information. + :vartype message: str + """ + + _validation = { + 'code': {'readonly': True}, + 'message': {'readonly': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(Error, self).__init__(**kwargs) + self.code = None + self.message = None + + +class HeavyScheduleAvailabilityRequest(ScheduleAvailabilityRequest): + """Request body to get the availability for scheduling heavy orders. + + All required parameters must be populated in order to send to Azure. + + :param storage_location: Required. Location for data transfer. + For locations check: + https://management.azure.com/subscriptions/SUBSCRIPTIONID/locations?api-version=2018-01-01 + :type storage_location: str + :param sku_name: Required. Constant filled by server. + :type sku_name: str + """ + + _validation = { + 'storage_location': {'required': True}, + 'sku_name': {'required': True}, + } + + _attribute_map = { + 'storage_location': {'key': 'storageLocation', 'type': 'str'}, + 'sku_name': {'key': 'skuName', 'type': 'str'}, + } + + def __init__(self, *, storage_location: str, **kwargs) -> None: + super(HeavyScheduleAvailabilityRequest, self).__init__(storage_location=storage_location, **kwargs) + self.sku_name = 'DataBoxHeavy' + + +class JobDeliveryInfo(Model): + """Additional delivery info. + + :param scheduled_date_time: Scheduled date time. + :type scheduled_date_time: datetime + """ + + _attribute_map = { + 'scheduled_date_time': {'key': 'scheduledDateTime', 'type': 'iso-8601'}, + } + + def __init__(self, *, scheduled_date_time=None, **kwargs) -> None: + super(JobDeliveryInfo, self).__init__(**kwargs) + self.scheduled_date_time = scheduled_date_time + + +class JobErrorDetails(Model): + """Job Error Details for providing the information and recommended action. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar error_message: Message for the error. + :vartype error_message: str + :ivar error_code: Code for the error. + :vartype error_code: int + :ivar recommended_action: Recommended action for the error. + :vartype recommended_action: str + :ivar exception_message: Contains the non localized exception message + :vartype exception_message: str + """ + + _validation = { + 'error_message': {'readonly': True}, + 'error_code': {'readonly': True}, + 'recommended_action': {'readonly': True}, + 'exception_message': {'readonly': True}, + } + + _attribute_map = { + 'error_message': {'key': 'errorMessage', 'type': 'str'}, + 'error_code': {'key': 'errorCode', 'type': 'int'}, + 'recommended_action': {'key': 'recommendedAction', 'type': 'str'}, + 'exception_message': {'key': 'exceptionMessage', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(JobErrorDetails, self).__init__(**kwargs) + self.error_message = None + self.error_code = None + self.recommended_action = None + self.exception_message = None + + +class Resource(Model): + """Model of the Resource. + + All required parameters must be populated in order to send to Azure. + + :param location: Required. The location of the resource. This will be one + of the supported and registered Azure Regions (e.g. West US, East US, + Southeast Asia, etc.). The region of a resource cannot be changed once it + is created, but if an identical region is specified on update the request + will succeed. + :type location: str + :param tags: The list of key value pairs that describe the resource. These + tags can be used in viewing and grouping this resource (across resource + groups). + :type tags: dict[str, str] + :param sku: Required. The sku type. + :type sku: ~azure.mgmt.databox.models.Sku + """ + + _validation = { + 'location': {'required': True}, + 'sku': {'required': True}, + } + + _attribute_map = { + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + } + + def __init__(self, *, location: str, sku, tags=None, **kwargs) -> None: + super(Resource, self).__init__(**kwargs) + self.location = location + self.tags = tags + self.sku = sku + + +class JobResource(Resource): + """Job Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param location: Required. The location of the resource. This will be one + of the supported and registered Azure Regions (e.g. West US, East US, + Southeast Asia, etc.). The region of a resource cannot be changed once it + is created, but if an identical region is specified on update the request + will succeed. + :type location: str + :param tags: The list of key value pairs that describe the resource. These + tags can be used in viewing and grouping this resource (across resource + groups). + :type tags: dict[str, str] + :param sku: Required. The sku type. + :type sku: ~azure.mgmt.databox.models.Sku + :ivar is_cancellable: Describes whether the job is cancellable or not. + :vartype is_cancellable: bool + :ivar is_deletable: Describes whether the job is deletable or not. + :vartype is_deletable: bool + :ivar is_shipping_address_editable: Describes whether the shipping address + is editable or not. + :vartype is_shipping_address_editable: bool + :ivar status: Name of the stage which is in progress. Possible values + include: 'DeviceOrdered', 'DevicePrepared', 'Dispatched', 'Delivered', + 'PickedUp', 'AtAzureDC', 'DataCopy', 'Completed', 'CompletedWithErrors', + 'Cancelled', 'Failed_IssueReportedAtCustomer', + 'Failed_IssueDetectedAtAzureDC', 'Aborted', 'CompletedWithWarnings', + 'ReadyToDispatchFromAzureDC', 'ReadyToReceiveAtAzureDC' + :vartype status: str or ~azure.mgmt.databox.models.StageName + :ivar start_time: Time at which the job was started in UTC ISO 8601 + format. + :vartype start_time: datetime + :ivar error: Top level error for the job. + :vartype error: ~azure.mgmt.databox.models.Error + :param details: Details of a job run. This field will only be sent for + expand details filter. + :type details: ~azure.mgmt.databox.models.JobDetails + :ivar cancellation_reason: Reason for cancellation. + :vartype cancellation_reason: str + :param delivery_type: Delivery type of Job. Possible values include: + 'NonScheduled', 'Scheduled' + :type delivery_type: str or ~azure.mgmt.databox.models.JobDeliveryType + :param delivery_info: Delivery Info of Job. + :type delivery_info: ~azure.mgmt.databox.models.JobDeliveryInfo + :ivar is_cancellable_without_fee: Flag to indicate cancellation of + scheduled job. + :vartype is_cancellable_without_fee: bool + :ivar name: Name of the object. + :vartype name: str + :ivar id: Id of the object. + :vartype id: str + :ivar type: Type of the object. + :vartype type: str + """ + + _validation = { + 'location': {'required': True}, + 'sku': {'required': True}, + 'is_cancellable': {'readonly': True}, + 'is_deletable': {'readonly': True}, + 'is_shipping_address_editable': {'readonly': True}, + 'status': {'readonly': True}, + 'start_time': {'readonly': True}, + 'error': {'readonly': True}, + 'cancellation_reason': {'readonly': True}, + 'is_cancellable_without_fee': {'readonly': True}, + 'name': {'readonly': True}, + 'id': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + 'is_cancellable': {'key': 'properties.isCancellable', 'type': 'bool'}, + 'is_deletable': {'key': 'properties.isDeletable', 'type': 'bool'}, + 'is_shipping_address_editable': {'key': 'properties.isShippingAddressEditable', 'type': 'bool'}, + 'status': {'key': 'properties.status', 'type': 'StageName'}, + 'start_time': {'key': 'properties.startTime', 'type': 'iso-8601'}, + 'error': {'key': 'properties.error', 'type': 'Error'}, + 'details': {'key': 'properties.details', 'type': 'JobDetails'}, + 'cancellation_reason': {'key': 'properties.cancellationReason', 'type': 'str'}, + 'delivery_type': {'key': 'properties.deliveryType', 'type': 'JobDeliveryType'}, + 'delivery_info': {'key': 'properties.deliveryInfo', 'type': 'JobDeliveryInfo'}, + 'is_cancellable_without_fee': {'key': 'properties.isCancellableWithoutFee', 'type': 'bool'}, + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, location: str, sku, tags=None, details=None, delivery_type=None, delivery_info=None, **kwargs) -> None: + super(JobResource, self).__init__(location=location, tags=tags, sku=sku, **kwargs) + self.is_cancellable = None + self.is_deletable = None + self.is_shipping_address_editable = None + self.status = None + self.start_time = None + self.error = None + self.details = details + self.cancellation_reason = None + self.delivery_type = delivery_type + self.delivery_info = delivery_info + self.is_cancellable_without_fee = None + self.name = None + self.id = None + self.type = None + + +class JobResourceUpdateParameter(Model): + """The JobResourceUpdateParameter. + + :param details: Details of a job to be updated. + :type details: ~azure.mgmt.databox.models.UpdateJobDetails + :param destination_account_details: Destination account details. + :type destination_account_details: + list[~azure.mgmt.databox.models.DestinationAccountDetails] + :param tags: The list of key value pairs that describe the resource. These + tags can be used in viewing and grouping this resource (across resource + groups). + :type tags: dict[str, str] + """ + + _attribute_map = { + 'details': {'key': 'properties.details', 'type': 'UpdateJobDetails'}, + 'destination_account_details': {'key': 'properties.destinationAccountDetails', 'type': '[DestinationAccountDetails]'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, *, details=None, destination_account_details=None, tags=None, **kwargs) -> None: + super(JobResourceUpdateParameter, self).__init__(**kwargs) + self.details = details + self.destination_account_details = destination_account_details + self.tags = tags + + +class JobStages(Model): + """Job stages. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar stage_name: Name of the job stage. Possible values include: + 'DeviceOrdered', 'DevicePrepared', 'Dispatched', 'Delivered', 'PickedUp', + 'AtAzureDC', 'DataCopy', 'Completed', 'CompletedWithErrors', 'Cancelled', + 'Failed_IssueReportedAtCustomer', 'Failed_IssueDetectedAtAzureDC', + 'Aborted', 'CompletedWithWarnings', 'ReadyToDispatchFromAzureDC', + 'ReadyToReceiveAtAzureDC' + :vartype stage_name: str or ~azure.mgmt.databox.models.StageName + :ivar display_name: Display name of the job stage. + :vartype display_name: str + :ivar stage_status: Status of the job stage. Possible values include: + 'None', 'InProgress', 'Succeeded', 'Failed', 'Cancelled', 'Cancelling', + 'SucceededWithErrors' + :vartype stage_status: str or ~azure.mgmt.databox.models.StageStatus + :ivar stage_time: Time for the job stage in UTC ISO 8601 format. + :vartype stage_time: datetime + :ivar job_stage_details: Job Stage Details + :vartype job_stage_details: object + :ivar error_details: Error details for the stage. + :vartype error_details: list[~azure.mgmt.databox.models.JobErrorDetails] + """ + + _validation = { + 'stage_name': {'readonly': True}, + 'display_name': {'readonly': True}, + 'stage_status': {'readonly': True}, + 'stage_time': {'readonly': True}, + 'job_stage_details': {'readonly': True}, + 'error_details': {'readonly': True}, + } + + _attribute_map = { + 'stage_name': {'key': 'stageName', 'type': 'StageName'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'stage_status': {'key': 'stageStatus', 'type': 'StageStatus'}, + 'stage_time': {'key': 'stageTime', 'type': 'iso-8601'}, + 'job_stage_details': {'key': 'jobStageDetails', 'type': 'object'}, + 'error_details': {'key': 'errorDetails', 'type': '[JobErrorDetails]'}, + } + + def __init__(self, **kwargs) -> None: + super(JobStages, self).__init__(**kwargs) + self.stage_name = None + self.display_name = None + self.stage_status = None + self.stage_time = None + self.job_stage_details = None + self.error_details = None + + +class NotificationPreference(Model): + """Notification preference for a job stage. + + All required parameters must be populated in order to send to Azure. + + :param stage_name: Required. Name of the stage. Possible values include: + 'DevicePrepared', 'Dispatched', 'Delivered', 'PickedUp', 'AtAzureDC', + 'DataCopy' + :type stage_name: str or ~azure.mgmt.databox.models.NotificationStageName + :param send_notification: Required. Notification is required or not. + :type send_notification: bool + """ + + _validation = { + 'stage_name': {'required': True}, + 'send_notification': {'required': True}, + } + + _attribute_map = { + 'stage_name': {'key': 'stageName', 'type': 'NotificationStageName'}, + 'send_notification': {'key': 'sendNotification', 'type': 'bool'}, + } + + def __init__(self, *, stage_name, send_notification: bool, **kwargs) -> None: + super(NotificationPreference, self).__init__(**kwargs) + self.stage_name = stage_name + self.send_notification = send_notification + + +class Operation(Model): + """Operation entity. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name: Name of the operation. Format: + {resourceProviderNamespace}/{resourceType}/{read|write|delete|action} + :vartype name: str + :ivar display: Operation display values. + :vartype display: ~azure.mgmt.databox.models.OperationDisplay + :ivar properties: Operation properties. + :vartype properties: object + :ivar origin: Origin of the operation. Can be : user|system|user,system + :vartype origin: str + """ + + _validation = { + 'name': {'readonly': True}, + 'display': {'readonly': True}, + 'properties': {'readonly': True}, + 'origin': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'OperationDisplay'}, + 'properties': {'key': 'properties', 'type': 'object'}, + 'origin': {'key': 'origin', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(Operation, self).__init__(**kwargs) + self.name = None + self.display = None + self.properties = None + self.origin = None + + +class OperationDisplay(Model): + """Operation display. + + :param provider: Provider name. + :type provider: str + :param resource: Resource name. + :type resource: str + :param operation: Localized name of the operation for display purpose. + :type operation: str + :param description: Localized description of the operation for display + purpose. + :type description: str + """ + + _attribute_map = { + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__(self, *, provider: str=None, resource: str=None, operation: str=None, description: str=None, **kwargs) -> None: + super(OperationDisplay, self).__init__(**kwargs) + self.provider = provider + self.resource = resource + self.operation = operation + self.description = description + + +class PackageShippingDetails(Model): + """Shipping details. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar carrier_name: Name of the carrier. + :vartype carrier_name: str + :ivar tracking_id: Tracking Id of shipment. + :vartype tracking_id: str + :ivar tracking_url: Url where shipment can be tracked. + :vartype tracking_url: str + """ + + _validation = { + 'carrier_name': {'readonly': True}, + 'tracking_id': {'readonly': True}, + 'tracking_url': {'readonly': True}, + } + + _attribute_map = { + 'carrier_name': {'key': 'carrierName', 'type': 'str'}, + 'tracking_id': {'key': 'trackingId', 'type': 'str'}, + 'tracking_url': {'key': 'trackingUrl', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(PackageShippingDetails, self).__init__(**kwargs) + self.carrier_name = None + self.tracking_id = None + self.tracking_url = None + + +class Preferences(Model): + """Preferences related to the order. + + :param preferred_data_center_region: Preferred Data Center Region. + :type preferred_data_center_region: list[str] + :param transport_preferences: Preferences related to the shipment + logistics of the sku. + :type transport_preferences: + ~azure.mgmt.databox.models.TransportPreferences + """ + + _attribute_map = { + 'preferred_data_center_region': {'key': 'preferredDataCenterRegion', 'type': '[str]'}, + 'transport_preferences': {'key': 'transportPreferences', 'type': 'TransportPreferences'}, + } + + def __init__(self, *, preferred_data_center_region=None, transport_preferences=None, **kwargs) -> None: + super(Preferences, self).__init__(**kwargs) + self.preferred_data_center_region = preferred_data_center_region + self.transport_preferences = transport_preferences + + +class PreferencesValidationRequest(ValidationInputRequest): + """Request to validate preference of transport and data center. + + All required parameters must be populated in order to send to Azure. + + :param validation_type: Required. Constant filled by server. + :type validation_type: str + :param preference: Preference requested with respect to transport type and + data center + :type preference: ~azure.mgmt.databox.models.Preferences + :param device_type: Required. Device type to be used for the job. Possible + values include: 'DataBox', 'DataBoxDisk', 'DataBoxHeavy' + :type device_type: str or ~azure.mgmt.databox.models.SkuName + """ + + _validation = { + 'validation_type': {'required': True}, + 'device_type': {'required': True}, + } + + _attribute_map = { + 'validation_type': {'key': 'validationType', 'type': 'str'}, + 'preference': {'key': 'preference', 'type': 'Preferences'}, + 'device_type': {'key': 'deviceType', 'type': 'SkuName'}, + } + + def __init__(self, *, device_type, preference=None, **kwargs) -> None: + super(PreferencesValidationRequest, self).__init__(**kwargs) + self.preference = preference + self.device_type = device_type + self.validation_type = 'ValidatePreferences' + + +class PreferencesValidationResponseProperties(ValidationInputResponse): + """Properties of data center and transport preference validation response. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar error: Error code and message of validation response. + :vartype error: ~azure.mgmt.databox.models.Error + :param validation_type: Required. Constant filled by server. + :type validation_type: str + :ivar status: Validation status of requested data center and transport. + Possible values include: 'Valid', 'Invalid', 'Skipped' + :vartype status: str or ~azure.mgmt.databox.models.ValidationStatus + """ + + _validation = { + 'error': {'readonly': True}, + 'validation_type': {'required': True}, + 'status': {'readonly': True}, + } + + _attribute_map = { + 'error': {'key': 'error', 'type': 'Error'}, + 'validation_type': {'key': 'validationType', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'ValidationStatus'}, + } + + def __init__(self, **kwargs) -> None: + super(PreferencesValidationResponseProperties, self).__init__(**kwargs) + self.status = None + self.validation_type = 'ValidatePreferences' + + +class RegionConfigurationRequest(Model): + """Request body to get the configuration for the region. + + :param schedule_availability_request: Request body to get the availability + for scheduling orders. + :type schedule_availability_request: + ~azure.mgmt.databox.models.ScheduleAvailabilityRequest + :param transport_availability_request: Request body to get the transport + availability for given sku. + :type transport_availability_request: + ~azure.mgmt.databox.models.TransportAvailabilityRequest + """ + + _attribute_map = { + 'schedule_availability_request': {'key': 'scheduleAvailabilityRequest', 'type': 'ScheduleAvailabilityRequest'}, + 'transport_availability_request': {'key': 'transportAvailabilityRequest', 'type': 'TransportAvailabilityRequest'}, + } + + def __init__(self, *, schedule_availability_request=None, transport_availability_request=None, **kwargs) -> None: + super(RegionConfigurationRequest, self).__init__(**kwargs) + self.schedule_availability_request = schedule_availability_request + self.transport_availability_request = transport_availability_request + + +class RegionConfigurationResponse(Model): + """Configuration response specific to a region. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar schedule_availability_response: Schedule availability for given sku + in a region. + :vartype schedule_availability_response: + ~azure.mgmt.databox.models.ScheduleAvailabilityResponse + :ivar transport_availability_response: Transport options available for + given sku in a region. + :vartype transport_availability_response: + ~azure.mgmt.databox.models.TransportAvailabilityResponse + """ + + _validation = { + 'schedule_availability_response': {'readonly': True}, + 'transport_availability_response': {'readonly': True}, + } + + _attribute_map = { + 'schedule_availability_response': {'key': 'scheduleAvailabilityResponse', 'type': 'ScheduleAvailabilityResponse'}, + 'transport_availability_response': {'key': 'transportAvailabilityResponse', 'type': 'TransportAvailabilityResponse'}, + } + + def __init__(self, **kwargs) -> None: + super(RegionConfigurationResponse, self).__init__(**kwargs) + self.schedule_availability_response = None + self.transport_availability_response = None + + +class ScheduleAvailabilityResponse(Model): + """Schedule availability response for given sku in a region. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar available_dates: List of dates available to schedule + :vartype available_dates: list[datetime] + """ + + _validation = { + 'available_dates': {'readonly': True}, + } + + _attribute_map = { + 'available_dates': {'key': 'availableDates', 'type': '[iso-8601]'}, + } + + def __init__(self, **kwargs) -> None: + super(ScheduleAvailabilityResponse, self).__init__(**kwargs) + self.available_dates = None + + +class ShareCredentialDetails(Model): + """Credential details of the shares in account. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar share_name: Name of the share. + :vartype share_name: str + :ivar share_type: Type of the share. Possible values include: + 'UnknownType', 'HCS', 'BlockBlob', 'PageBlob', 'AzureFile', 'ManagedDisk' + :vartype share_type: str or + ~azure.mgmt.databox.models.ShareDestinationFormatType + :ivar user_name: User name for the share. + :vartype user_name: str + :ivar password: Password for the share. + :vartype password: str + :ivar supported_access_protocols: Access protocols supported on the + device. + :vartype supported_access_protocols: list[str or + ~azure.mgmt.databox.models.AccessProtocol] + """ + + _validation = { + 'share_name': {'readonly': True}, + 'share_type': {'readonly': True}, + 'user_name': {'readonly': True}, + 'password': {'readonly': True}, + 'supported_access_protocols': {'readonly': True}, + } + + _attribute_map = { + 'share_name': {'key': 'shareName', 'type': 'str'}, + 'share_type': {'key': 'shareType', 'type': 'ShareDestinationFormatType'}, + 'user_name': {'key': 'userName', 'type': 'str'}, + 'password': {'key': 'password', 'type': 'str'}, + 'supported_access_protocols': {'key': 'supportedAccessProtocols', 'type': '[AccessProtocol]'}, + } + + def __init__(self, **kwargs) -> None: + super(ShareCredentialDetails, self).__init__(**kwargs) + self.share_name = None + self.share_type = None + self.user_name = None + self.password = None + self.supported_access_protocols = None + + +class ShipmentPickUpRequest(Model): + """Shipment pick up request details. + + All required parameters must be populated in order to send to Azure. + + :param start_time: Required. Minimum date after which the pick up should + commence, this must be in local time of pick up area. + :type start_time: datetime + :param end_time: Required. Maximum date before which the pick up should + commence, this must be in local time of pick up area. + :type end_time: datetime + :param shipment_location: Required. Shipment Location in the pickup place. + Eg.front desk + :type shipment_location: str + """ + + _validation = { + 'start_time': {'required': True}, + 'end_time': {'required': True}, + 'shipment_location': {'required': True}, + } + + _attribute_map = { + 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, + 'shipment_location': {'key': 'shipmentLocation', 'type': 'str'}, + } + + def __init__(self, *, start_time, end_time, shipment_location: str, **kwargs) -> None: + super(ShipmentPickUpRequest, self).__init__(**kwargs) + self.start_time = start_time + self.end_time = end_time + self.shipment_location = shipment_location + + +class ShipmentPickUpResponse(Model): + """Shipment pick up response. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar confirmation_number: Confirmation number for the pick up request. + :vartype confirmation_number: str + :ivar ready_by_time: Time by which shipment should be ready for pick up, + this is in local time of pick up area. + :vartype ready_by_time: datetime + """ + + _validation = { + 'confirmation_number': {'readonly': True}, + 'ready_by_time': {'readonly': True}, + } + + _attribute_map = { + 'confirmation_number': {'key': 'confirmationNumber', 'type': 'str'}, + 'ready_by_time': {'key': 'readyByTime', 'type': 'iso-8601'}, + } + + def __init__(self, **kwargs) -> None: + super(ShipmentPickUpResponse, self).__init__(**kwargs) + self.confirmation_number = None + self.ready_by_time = None + + +class ShippingAddress(Model): + """Shipping address where customer wishes to receive the device. + + All required parameters must be populated in order to send to Azure. + + :param street_address1: Required. Street Address line 1. + :type street_address1: str + :param street_address2: Street Address line 2. + :type street_address2: str + :param street_address3: Street Address line 3. + :type street_address3: str + :param city: Name of the City. + :type city: str + :param state_or_province: Name of the State or Province. + :type state_or_province: str + :param country: Required. Name of the Country. + :type country: str + :param postal_code: Required. Postal code. + :type postal_code: str + :param zip_extended_code: Extended Zip Code. + :type zip_extended_code: str + :param company_name: Name of the company. + :type company_name: str + :param address_type: Type of address. Possible values include: 'None', + 'Residential', 'Commercial' + :type address_type: str or ~azure.mgmt.databox.models.AddressType + """ + + _validation = { + 'street_address1': {'required': True}, + 'country': {'required': True}, + 'postal_code': {'required': True}, + } + + _attribute_map = { + 'street_address1': {'key': 'streetAddress1', 'type': 'str'}, + 'street_address2': {'key': 'streetAddress2', 'type': 'str'}, + 'street_address3': {'key': 'streetAddress3', 'type': 'str'}, + 'city': {'key': 'city', 'type': 'str'}, + 'state_or_province': {'key': 'stateOrProvince', 'type': 'str'}, + 'country': {'key': 'country', 'type': 'str'}, + 'postal_code': {'key': 'postalCode', 'type': 'str'}, + 'zip_extended_code': {'key': 'zipExtendedCode', 'type': 'str'}, + 'company_name': {'key': 'companyName', 'type': 'str'}, + 'address_type': {'key': 'addressType', 'type': 'AddressType'}, + } + + def __init__(self, *, street_address1: str, country: str, postal_code: str, street_address2: str=None, street_address3: str=None, city: str=None, state_or_province: str=None, zip_extended_code: str=None, company_name: str=None, address_type=None, **kwargs) -> None: + super(ShippingAddress, self).__init__(**kwargs) + self.street_address1 = street_address1 + self.street_address2 = street_address2 + self.street_address3 = street_address3 + self.city = city + self.state_or_province = state_or_province + self.country = country + self.postal_code = postal_code + self.zip_extended_code = zip_extended_code + self.company_name = company_name + self.address_type = address_type + + +class Sku(Model): + """The Sku. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. The sku name. Possible values include: 'DataBox', + 'DataBoxDisk', 'DataBoxHeavy' + :type name: str or ~azure.mgmt.databox.models.SkuName + :param display_name: The display name of the sku. + :type display_name: str + :param family: The sku family. + :type family: str + """ + + _validation = { + 'name': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'SkuName'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'family': {'key': 'family', 'type': 'str'}, + } + + def __init__(self, *, name, display_name: str=None, family: str=None, **kwargs) -> None: + super(Sku, self).__init__(**kwargs) + self.name = name + self.display_name = display_name + self.family = family + + +class SkuAvailabilityValidationRequest(ValidationInputRequest): + """Request to validate sku availability. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param validation_type: Required. Constant filled by server. + :type validation_type: str + :param device_type: Required. Device type to be used for the job. Possible + values include: 'DataBox', 'DataBoxDisk', 'DataBoxHeavy' + :type device_type: str or ~azure.mgmt.databox.models.SkuName + :ivar transfer_type: Required. Type of the transfer. Default value: + "ImportToAzure" . + :vartype transfer_type: str + :param country: Required. ISO country code. Country for hardware shipment. + For codes check: + https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements + :type country: str + :param location: Required. Location for data transfer. For locations + check: + https://management.azure.com/subscriptions/SUBSCRIPTIONID/locations?api-version=2018-01-01 + :type location: str + """ + + _validation = { + 'validation_type': {'required': True}, + 'device_type': {'required': True}, + 'transfer_type': {'required': True, 'constant': True}, + 'country': {'required': True}, + 'location': {'required': True}, + } + + _attribute_map = { + 'validation_type': {'key': 'validationType', 'type': 'str'}, + 'device_type': {'key': 'deviceType', 'type': 'SkuName'}, + 'transfer_type': {'key': 'transferType', 'type': 'str'}, + 'country': {'key': 'country', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + } + + transfer_type = "ImportToAzure" + + def __init__(self, *, device_type, country: str, location: str, **kwargs) -> None: + super(SkuAvailabilityValidationRequest, self).__init__(**kwargs) + self.device_type = device_type + self.country = country + self.location = location + self.validation_type = 'ValidateSkuAvailability' + + +class SkuAvailabilityValidationResponseProperties(ValidationInputResponse): + """Properties of sku availability validation response. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar error: Error code and message of validation response. + :vartype error: ~azure.mgmt.databox.models.Error + :param validation_type: Required. Constant filled by server. + :type validation_type: str + :ivar status: Sku availability validation status. Possible values include: + 'Valid', 'Invalid', 'Skipped' + :vartype status: str or ~azure.mgmt.databox.models.ValidationStatus + """ + + _validation = { + 'error': {'readonly': True}, + 'validation_type': {'required': True}, + 'status': {'readonly': True}, + } + + _attribute_map = { + 'error': {'key': 'error', 'type': 'Error'}, + 'validation_type': {'key': 'validationType', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'ValidationStatus'}, + } + + def __init__(self, **kwargs) -> None: + super(SkuAvailabilityValidationResponseProperties, self).__init__(**kwargs) + self.status = None + self.validation_type = 'ValidateSkuAvailability' + + +class SkuCapacity(Model): + """Capacity of the sku. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar usable: Usable capacity in TB. + :vartype usable: str + :ivar maximum: Maximum capacity in TB. + :vartype maximum: str + """ + + _validation = { + 'usable': {'readonly': True}, + 'maximum': {'readonly': True}, + } + + _attribute_map = { + 'usable': {'key': 'usable', 'type': 'str'}, + 'maximum': {'key': 'maximum', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(SkuCapacity, self).__init__(**kwargs) + self.usable = None + self.maximum = None + + +class SkuCost(Model): + """Describes metadata for retrieving price info. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar meter_id: Meter id of the Sku. + :vartype meter_id: str + :ivar meter_type: The type of the meter. + :vartype meter_type: str + """ + + _validation = { + 'meter_id': {'readonly': True}, + 'meter_type': {'readonly': True}, + } + + _attribute_map = { + 'meter_id': {'key': 'meterId', 'type': 'str'}, + 'meter_type': {'key': 'meterType', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(SkuCost, self).__init__(**kwargs) + self.meter_id = None + self.meter_type = None + + +class SkuInformation(Model): + """Information of the sku. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar sku: The Sku. + :vartype sku: ~azure.mgmt.databox.models.Sku + :ivar enabled: The sku is enabled or not. + :vartype enabled: bool + :ivar destination_to_service_location_map: The map of destination location + to service location. + :vartype destination_to_service_location_map: + list[~azure.mgmt.databox.models.DestinationToServiceLocationMap] + :ivar capacity: Capacity of the Sku. + :vartype capacity: ~azure.mgmt.databox.models.SkuCapacity + :ivar costs: Cost of the Sku. + :vartype costs: list[~azure.mgmt.databox.models.SkuCost] + :ivar api_versions: Api versions that support this Sku. + :vartype api_versions: list[str] + :ivar disabled_reason: Reason why the Sku is disabled. Possible values + include: 'None', 'Country', 'Region', 'Feature', 'OfferType', + 'NoSubscriptionInfo' + :vartype disabled_reason: str or + ~azure.mgmt.databox.models.SkuDisabledReason + :ivar disabled_reason_message: Message for why the Sku is disabled. + :vartype disabled_reason_message: str + :ivar required_feature: Required feature to access the sku. + :vartype required_feature: str + """ + + _validation = { + 'sku': {'readonly': True}, + 'enabled': {'readonly': True}, + 'destination_to_service_location_map': {'readonly': True}, + 'capacity': {'readonly': True}, + 'costs': {'readonly': True}, + 'api_versions': {'readonly': True}, + 'disabled_reason': {'readonly': True}, + 'disabled_reason_message': {'readonly': True}, + 'required_feature': {'readonly': True}, + } + + _attribute_map = { + 'sku': {'key': 'sku', 'type': 'Sku'}, + 'enabled': {'key': 'enabled', 'type': 'bool'}, + 'destination_to_service_location_map': {'key': 'properties.destinationToServiceLocationMap', 'type': '[DestinationToServiceLocationMap]'}, + 'capacity': {'key': 'properties.capacity', 'type': 'SkuCapacity'}, + 'costs': {'key': 'properties.costs', 'type': '[SkuCost]'}, + 'api_versions': {'key': 'properties.apiVersions', 'type': '[str]'}, + 'disabled_reason': {'key': 'properties.disabledReason', 'type': 'SkuDisabledReason'}, + 'disabled_reason_message': {'key': 'properties.disabledReasonMessage', 'type': 'str'}, + 'required_feature': {'key': 'properties.requiredFeature', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(SkuInformation, self).__init__(**kwargs) + self.sku = None + self.enabled = None + self.destination_to_service_location_map = None + self.capacity = None + self.costs = None + self.api_versions = None + self.disabled_reason = None + self.disabled_reason_message = None + self.required_feature = None + + +class SubscriptionIsAllowedToCreateJobValidationRequest(ValidationInputRequest): + """Request to validate subscription permission to create jobs. + + All required parameters must be populated in order to send to Azure. + + :param validation_type: Required. Constant filled by server. + :type validation_type: str + """ + + _validation = { + 'validation_type': {'required': True}, + } + + _attribute_map = { + 'validation_type': {'key': 'validationType', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(SubscriptionIsAllowedToCreateJobValidationRequest, self).__init__(**kwargs) + self.validation_type = 'ValidateSubscriptionIsAllowedToCreateJob' + + +class SubscriptionIsAllowedToCreateJobValidationResponseProperties(ValidationInputResponse): + """Properties of subscription permission to create job validation response. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar error: Error code and message of validation response. + :vartype error: ~azure.mgmt.databox.models.Error + :param validation_type: Required. Constant filled by server. + :type validation_type: str + :ivar status: Validation status of subscription permission to create job. + Possible values include: 'Valid', 'Invalid', 'Skipped' + :vartype status: str or ~azure.mgmt.databox.models.ValidationStatus + """ + + _validation = { + 'error': {'readonly': True}, + 'validation_type': {'required': True}, + 'status': {'readonly': True}, + } + + _attribute_map = { + 'error': {'key': 'error', 'type': 'Error'}, + 'validation_type': {'key': 'validationType', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'ValidationStatus'}, + } + + def __init__(self, **kwargs) -> None: + super(SubscriptionIsAllowedToCreateJobValidationResponseProperties, self).__init__(**kwargs) + self.status = None + self.validation_type = 'ValidateSubscriptionIsAllowedToCreateJob' + + +class TransportAvailabilityDetails(Model): + """Transport options availability details for given region. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar shipment_type: Transport Shipment Type supported for given region. + Possible values include: 'CustomerManaged', 'MicrosoftManaged' + :vartype shipment_type: str or + ~azure.mgmt.databox.models.TransportShipmentTypes + """ + + _validation = { + 'shipment_type': {'readonly': True}, + } + + _attribute_map = { + 'shipment_type': {'key': 'shipmentType', 'type': 'TransportShipmentTypes'}, + } + + def __init__(self, **kwargs) -> None: + super(TransportAvailabilityDetails, self).__init__(**kwargs) + self.shipment_type = None + + +class TransportAvailabilityRequest(Model): + """Request body to get the transport availability for given sku. + + :param sku_name: Type of the device. Possible values include: 'DataBox', + 'DataBoxDisk', 'DataBoxHeavy' + :type sku_name: str or ~azure.mgmt.databox.models.SkuName + """ + + _attribute_map = { + 'sku_name': {'key': 'skuName', 'type': 'SkuName'}, + } + + def __init__(self, *, sku_name=None, **kwargs) -> None: + super(TransportAvailabilityRequest, self).__init__(**kwargs) + self.sku_name = sku_name + + +class TransportAvailabilityResponse(Model): + """Transport options available for given sku in a region. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar transport_availability_details: List of transport availability + details for given region + :vartype transport_availability_details: + list[~azure.mgmt.databox.models.TransportAvailabilityDetails] + """ + + _validation = { + 'transport_availability_details': {'readonly': True}, + } + + _attribute_map = { + 'transport_availability_details': {'key': 'transportAvailabilityDetails', 'type': '[TransportAvailabilityDetails]'}, + } + + def __init__(self, **kwargs) -> None: + super(TransportAvailabilityResponse, self).__init__(**kwargs) + self.transport_availability_details = None + + +class TransportPreferences(Model): + """Preferences related to the shipment logistics of the sku. + + All required parameters must be populated in order to send to Azure. + + :param preferred_shipment_type: Required. Indicates Shipment Logistics + type that the customer preferred. Possible values include: + 'CustomerManaged', 'MicrosoftManaged' + :type preferred_shipment_type: str or + ~azure.mgmt.databox.models.TransportShipmentTypes + """ + + _validation = { + 'preferred_shipment_type': {'required': True}, + } + + _attribute_map = { + 'preferred_shipment_type': {'key': 'preferredShipmentType', 'type': 'TransportShipmentTypes'}, + } + + def __init__(self, *, preferred_shipment_type, **kwargs) -> None: + super(TransportPreferences, self).__init__(**kwargs) + self.preferred_shipment_type = preferred_shipment_type + + +class UnencryptedCredentials(Model): + """Unencrypted credentials for accessing device. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar job_name: Name of the job. + :vartype job_name: str + :ivar job_secrets: Secrets related to this job. + :vartype job_secrets: ~azure.mgmt.databox.models.JobSecrets + """ + + _validation = { + 'job_name': {'readonly': True}, + 'job_secrets': {'readonly': True}, + } + + _attribute_map = { + 'job_name': {'key': 'jobName', 'type': 'str'}, + 'job_secrets': {'key': 'jobSecrets', 'type': 'JobSecrets'}, + } + + def __init__(self, **kwargs) -> None: + super(UnencryptedCredentials, self).__init__(**kwargs) + self.job_name = None + self.job_secrets = None + + +class UpdateJobDetails(Model): + """Job details for update. + + :param contact_details: Contact details for notification and shipping. + :type contact_details: ~azure.mgmt.databox.models.ContactDetails + :param shipping_address: Shipping address of the customer. + :type shipping_address: ~azure.mgmt.databox.models.ShippingAddress + """ + + _attribute_map = { + 'contact_details': {'key': 'contactDetails', 'type': 'ContactDetails'}, + 'shipping_address': {'key': 'shippingAddress', 'type': 'ShippingAddress'}, + } + + def __init__(self, *, contact_details=None, shipping_address=None, **kwargs) -> None: + super(UpdateJobDetails, self).__init__(**kwargs) + self.contact_details = contact_details + self.shipping_address = shipping_address + + +class ValidateAddress(ValidationInputRequest): + """The requirements to validate customer address where the device needs to be + shipped. + + All required parameters must be populated in order to send to Azure. + + :param validation_type: Required. Constant filled by server. + :type validation_type: str + :param shipping_address: Required. Shipping address of the customer. + :type shipping_address: ~azure.mgmt.databox.models.ShippingAddress + :param device_type: Required. Device type to be used for the job. Possible + values include: 'DataBox', 'DataBoxDisk', 'DataBoxHeavy' + :type device_type: str or ~azure.mgmt.databox.models.SkuName + :param transport_preferences: Preferences related to the shipment + logistics of the sku. + :type transport_preferences: + ~azure.mgmt.databox.models.TransportPreferences + """ + + _validation = { + 'validation_type': {'required': True}, + 'shipping_address': {'required': True}, + 'device_type': {'required': True}, + } + + _attribute_map = { + 'validation_type': {'key': 'validationType', 'type': 'str'}, + 'shipping_address': {'key': 'shippingAddress', 'type': 'ShippingAddress'}, + 'device_type': {'key': 'deviceType', 'type': 'SkuName'}, + 'transport_preferences': {'key': 'transportPreferences', 'type': 'TransportPreferences'}, + } + + def __init__(self, *, shipping_address, device_type, transport_preferences=None, **kwargs) -> None: + super(ValidateAddress, self).__init__(**kwargs) + self.shipping_address = shipping_address + self.device_type = device_type + self.transport_preferences = transport_preferences + self.validation_type = 'ValidateAddress' + + +class ValidationResponse(Model): + """Response of pre job creation validations. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar status: Overall validation status. Possible values include: + 'AllValidToProceed', 'InputsRevisitRequired', + 'CertainInputValidationsSkipped' + :vartype status: str or ~azure.mgmt.databox.models.OverallValidationStatus + :ivar individual_response_details: List of response details contain + validationType and its response as key and value respectively. + :vartype individual_response_details: + list[~azure.mgmt.databox.models.ValidationInputResponse] + """ + + _validation = { + 'status': {'readonly': True}, + 'individual_response_details': {'readonly': True}, + } + + _attribute_map = { + 'status': {'key': 'properties.status', 'type': 'OverallValidationStatus'}, + 'individual_response_details': {'key': 'properties.individualResponseDetails', 'type': '[ValidationInputResponse]'}, + } + + def __init__(self, **kwargs) -> None: + super(ValidationResponse, self).__init__(**kwargs) + self.status = None + self.individual_response_details = None diff --git a/src/databox/azext_databox/vendored_sdks/databox/models/_paged_models.py b/src/databox/azext_databox/vendored_sdks/databox/models/_paged_models.py new file mode 100644 index 00000000000..0396852889e --- /dev/null +++ b/src/databox/azext_databox/vendored_sdks/databox/models/_paged_models.py @@ -0,0 +1,66 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.paging import Paged + + +class OperationPaged(Paged): + """ + A paging container for iterating over a list of :class:`Operation ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[Operation]'} + } + + def __init__(self, *args, **kwargs): + + super(OperationPaged, self).__init__(*args, **kwargs) +class JobResourcePaged(Paged): + """ + A paging container for iterating over a list of :class:`JobResource ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[JobResource]'} + } + + def __init__(self, *args, **kwargs): + + super(JobResourcePaged, self).__init__(*args, **kwargs) +class UnencryptedCredentialsPaged(Paged): + """ + A paging container for iterating over a list of :class:`UnencryptedCredentials ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[UnencryptedCredentials]'} + } + + def __init__(self, *args, **kwargs): + + super(UnencryptedCredentialsPaged, self).__init__(*args, **kwargs) +class SkuInformationPaged(Paged): + """ + A paging container for iterating over a list of :class:`SkuInformation ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[SkuInformation]'} + } + + def __init__(self, *args, **kwargs): + + super(SkuInformationPaged, self).__init__(*args, **kwargs) diff --git a/src/databox/azext_databox/vendored_sdks/databox/operations/__init__.py b/src/databox/azext_databox/vendored_sdks/databox/operations/__init__.py new file mode 100644 index 00000000000..034974abbcc --- /dev/null +++ b/src/databox/azext_databox/vendored_sdks/databox/operations/__init__.py @@ -0,0 +1,20 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from ._operations import Operations +from ._jobs_operations import JobsOperations +from ._service_operations import ServiceOperations + +__all__ = [ + 'Operations', + 'JobsOperations', + 'ServiceOperations', +] diff --git a/src/databox/azext_databox/vendored_sdks/databox/operations/_jobs_operations.py b/src/databox/azext_databox/vendored_sdks/databox/operations/_jobs_operations.py new file mode 100644 index 00000000000..a923de9b251 --- /dev/null +++ b/src/databox/azext_databox/vendored_sdks/databox/operations/_jobs_operations.py @@ -0,0 +1,758 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class JobsOperations(object): + """JobsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API Version. Constant value: "2019-09-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2019-09-01" + + self.config = config + + def list( + self, skip_token=None, custom_headers=None, raw=False, **operation_config): + """Lists all the jobs available under the subscription. + + :param skip_token: $skipToken is supported on Get list of jobs, which + provides the next page in the list of jobs. + :type skip_token: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of JobResource + :rtype: + ~azure.mgmt.databox.models.JobResourcePaged[~azure.mgmt.databox.models.JobResource] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + if skip_token is not None: + query_parameters['$skipToken'] = self._serialize.query("skip_token", skip_token, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.JobResourcePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DataBox/jobs'} + + def list_by_resource_group( + self, resource_group_name, skip_token=None, custom_headers=None, raw=False, **operation_config): + """Lists all the jobs available under the given resource group. + + :param resource_group_name: The Resource Group Name + :type resource_group_name: str + :param skip_token: $skipToken is supported on Get list of jobs, which + provides the next page in the list of jobs. + :type skip_token: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of JobResource + :rtype: + ~azure.mgmt.databox.models.JobResourcePaged[~azure.mgmt.databox.models.JobResource] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + if skip_token is not None: + query_parameters['$skipToken'] = self._serialize.query("skip_token", skip_token, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.JobResourcePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs'} + + def get( + self, resource_group_name, job_name, expand=None, custom_headers=None, raw=False, **operation_config): + """Gets information about the specified job. + + :param resource_group_name: The Resource Group Name + :type resource_group_name: str + :param job_name: The name of the job Resource within the specified + resource group. job names must be between 3 and 24 characters in + length and use any alphanumeric and underscore only + :type job_name: str + :param expand: $expand is supported on details parameter for job, + which provides details on the job stages. + :type expand: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: JobResource or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.databox.models.JobResource or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'jobName': self._serialize.url("job_name", job_name, 'str', max_length=24, min_length=3, pattern=r'^[-\w\.]+$') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('JobResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}'} + + + def _create_initial( + self, resource_group_name, job_name, job_resource, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'jobName': self._serialize.url("job_name", job_name, 'str', max_length=24, min_length=3, pattern=r'^[-\w\.]+$') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(job_resource, 'JobResource') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('JobResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create( + self, resource_group_name, job_name, job_resource, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates a new job with the specified parameters. Existing job cannot be + updated with this API and should instead be updated with the Update job + API. + + :param resource_group_name: The Resource Group Name + :type resource_group_name: str + :param job_name: The name of the job Resource within the specified + resource group. job names must be between 3 and 24 characters in + length and use any alphanumeric and underscore only + :type job_name: str + :param job_resource: Job details from request body. + :type job_resource: ~azure.mgmt.databox.models.JobResource + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns JobResource or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.databox.models.JobResource] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.databox.models.JobResource]] + :raises: :class:`CloudError` + """ + raw_result = self._create_initial( + resource_group_name=resource_group_name, + job_name=job_name, + job_resource=job_resource, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('JobResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}'} + + + def _delete_initial( + self, resource_group_name, job_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'jobName': self._serialize.url("job_name", job_name, 'str', max_length=24, min_length=3, pattern=r'^[-\w\.]+$') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, job_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes a job. + + :param resource_group_name: The Resource Group Name + :type resource_group_name: str + :param job_name: The name of the job Resource within the specified + resource group. job names must be between 3 and 24 characters in + length and use any alphanumeric and underscore only + :type job_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + job_name=job_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}'} + + + def _update_initial( + self, resource_group_name, job_name, job_resource_update_parameter, if_match=None, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'jobName': self._serialize.url("job_name", job_name, 'str', max_length=24, min_length=3, pattern=r'^[-\w\.]+$') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + 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(job_resource_update_parameter, 'JobResourceUpdateParameter') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('JobResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def update( + self, resource_group_name, job_name, job_resource_update_parameter, if_match=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Updates the properties of an existing job. + + :param resource_group_name: The Resource Group Name + :type resource_group_name: str + :param job_name: The name of the job Resource within the specified + resource group. job names must be between 3 and 24 characters in + length and use any alphanumeric and underscore only + :type job_name: str + :param job_resource_update_parameter: Job update parameters from + request body. + :type job_resource_update_parameter: + ~azure.mgmt.databox.models.JobResourceUpdateParameter + :param if_match: Defines the If-Match condition. The patch will be + performed only if the ETag of the job on the server matches this + value. + :type if_match: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns JobResource or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.databox.models.JobResource] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.databox.models.JobResource]] + :raises: :class:`CloudError` + """ + raw_result = self._update_initial( + resource_group_name=resource_group_name, + job_name=job_name, + job_resource_update_parameter=job_resource_update_parameter, + if_match=if_match, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('JobResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}'} + + def book_shipment_pick_up( + self, resource_group_name, job_name, shipment_pick_up_request, custom_headers=None, raw=False, **operation_config): + """Book shipment pick up. + + :param resource_group_name: The Resource Group Name + :type resource_group_name: str + :param job_name: The name of the job Resource within the specified + resource group. job names must be between 3 and 24 characters in + length and use any alphanumeric and underscore only + :type job_name: str + :param shipment_pick_up_request: Details of shipment pick up request. + :type shipment_pick_up_request: + ~azure.mgmt.databox.models.ShipmentPickUpRequest + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ShipmentPickUpResponse or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.databox.models.ShipmentPickUpResponse or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.book_shipment_pick_up.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'jobName': self._serialize.url("job_name", job_name, 'str', max_length=24, min_length=3, pattern=r'^[-\w\.]+$') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(shipment_pick_up_request, 'ShipmentPickUpRequest') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ShipmentPickUpResponse', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + book_shipment_pick_up.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}/bookShipmentPickUp'} + + def cancel( + self, resource_group_name, job_name, reason, custom_headers=None, raw=False, **operation_config): + """CancelJob. + + :param resource_group_name: The Resource Group Name + :type resource_group_name: str + :param job_name: The name of the job Resource within the specified + resource group. job names must be between 3 and 24 characters in + length and use any alphanumeric and underscore only + :type job_name: str + :param reason: Reason for cancellation. + :type reason: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + cancellation_reason = models.CancellationReason(reason=reason) + + # Construct URL + url = self.cancel.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'jobName': self._serialize.url("job_name", job_name, 'str', max_length=24, min_length=3, pattern=r'^[-\w\.]+$') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.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(cancellation_reason, 'CancellationReason') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + cancel.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}/cancel'} + + def list_credentials( + self, resource_group_name, job_name, custom_headers=None, raw=False, **operation_config): + """This method gets the unencrypted secrets related to the job. + + :param resource_group_name: The Resource Group Name + :type resource_group_name: str + :param job_name: The name of the job Resource within the specified + resource group. job names must be between 3 and 24 characters in + length and use any alphanumeric and underscore only + :type job_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of UnencryptedCredentials + :rtype: + ~azure.mgmt.databox.models.UnencryptedCredentialsPaged[~azure.mgmt.databox.models.UnencryptedCredentials] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_credentials.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'jobName': self._serialize.url("job_name", job_name, 'str', max_length=24, min_length=3, pattern=r'^[-\w\.]+$') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.UnencryptedCredentialsPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_credentials.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}/listCredentials'} diff --git a/src/databox/azext_databox/vendored_sdks/databox/operations/_operations.py b/src/databox/azext_databox/vendored_sdks/databox/operations/_operations.py new file mode 100644 index 00000000000..41166de18d1 --- /dev/null +++ b/src/databox/azext_databox/vendored_sdks/databox/operations/_operations.py @@ -0,0 +1,102 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class Operations(object): + """Operations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API Version. Constant value: "2019-09-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2019-09-01" + + self.config = config + + def list( + self, custom_headers=None, raw=False, **operation_config): + """This method gets all the operations. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of Operation + :rtype: + ~azure.mgmt.databox.models.OperationPaged[~azure.mgmt.databox.models.Operation] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.OperationPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/providers/Microsoft.DataBox/operations'} diff --git a/src/databox/azext_databox/vendored_sdks/databox/operations/_service_operations.py b/src/databox/azext_databox/vendored_sdks/databox/operations/_service_operations.py new file mode 100644 index 00000000000..c595d5511f4 --- /dev/null +++ b/src/databox/azext_databox/vendored_sdks/databox/operations/_service_operations.py @@ -0,0 +1,469 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class ServiceOperations(object): + """ServiceOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API Version. Constant value: "2019-09-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2019-09-01" + + self.config = config + + def list_available_skus( + self, location, available_sku_request, custom_headers=None, raw=False, **operation_config): + """This method provides the list of available skus for the given + subscription and location. + + :param location: The location of the resource + :type location: str + :param available_sku_request: Filters for showing the available skus. + :type available_sku_request: + ~azure.mgmt.databox.models.AvailableSkuRequest + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of SkuInformation + :rtype: + ~azure.mgmt.databox.models.SkuInformationPaged[~azure.mgmt.databox.models.SkuInformation] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_available_skus.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'location': self._serialize.url("location", location, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(available_sku_request, 'AvailableSkuRequest') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.SkuInformationPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_available_skus.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DataBox/locations/{location}/availableSkus'} + + def list_available_skus_by_resource_group( + self, resource_group_name, location, available_sku_request, custom_headers=None, raw=False, **operation_config): + """This method provides the list of available skus for the given + subscription, resource group and location. + + :param resource_group_name: The Resource Group Name + :type resource_group_name: str + :param location: The location of the resource + :type location: str + :param available_sku_request: Filters for showing the available skus. + :type available_sku_request: + ~azure.mgmt.databox.models.AvailableSkuRequest + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of SkuInformation + :rtype: + ~azure.mgmt.databox.models.SkuInformationPaged[~azure.mgmt.databox.models.SkuInformation] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_available_skus_by_resource_group.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'location': self._serialize.url("location", location, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(available_sku_request, 'AvailableSkuRequest') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.SkuInformationPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_available_skus_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/locations/{location}/availableSkus'} + + def validate_address_method( + self, location, validate_address, custom_headers=None, raw=False, **operation_config): + """[DEPRECATED NOTICE: This operation will soon be removed] This method + validates the customer shipping address and provide alternate addresses + if any. + + :param location: The location of the resource + :type location: str + :param validate_address: Shipping address of the customer. + :type validate_address: ~azure.mgmt.databox.models.ValidateAddress + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: AddressValidationOutput or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.databox.models.AddressValidationOutput or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.validate_address_method.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'location': self._serialize.url("location", location, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(validate_address, 'ValidateAddress') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('AddressValidationOutput', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + validate_address_method.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DataBox/locations/{location}/validateAddress'} + + def validate_inputs_by_resource_group( + self, resource_group_name, location, validation_request, custom_headers=None, raw=False, **operation_config): + """This method does all necessary pre-job creation validation under + resource group. + + :param resource_group_name: The Resource Group Name + :type resource_group_name: str + :param location: The location of the resource + :type location: str + :param validation_request: Inputs of the customer. + :type validation_request: ~azure.mgmt.databox.models.ValidationRequest + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ValidationResponse or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.databox.models.ValidationResponse or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.validate_inputs_by_resource_group.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'location': self._serialize.url("location", location, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(validation_request, 'ValidationRequest') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ValidationResponse', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + validate_inputs_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/locations/{location}/validateInputs'} + + def validate_inputs( + self, location, validation_request, custom_headers=None, raw=False, **operation_config): + """This method does all necessary pre-job creation validation under + subscription. + + :param location: The location of the resource + :type location: str + :param validation_request: Inputs of the customer. + :type validation_request: ~azure.mgmt.databox.models.ValidationRequest + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ValidationResponse or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.databox.models.ValidationResponse or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.validate_inputs.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'location': self._serialize.url("location", location, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(validation_request, 'ValidationRequest') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ValidationResponse', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + validate_inputs.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DataBox/locations/{location}/validateInputs'} + + def region_configuration( + self, location, schedule_availability_request=None, transport_availability_request=None, custom_headers=None, raw=False, **operation_config): + """This API provides configuration details specific to given + region/location. + + :param location: The location of the resource + :type location: str + :param schedule_availability_request: Request body to get the + availability for scheduling orders. + :type schedule_availability_request: + ~azure.mgmt.databox.models.ScheduleAvailabilityRequest + :param transport_availability_request: Request body to get the + transport availability for given sku. + :type transport_availability_request: + ~azure.mgmt.databox.models.TransportAvailabilityRequest + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: RegionConfigurationResponse or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.databox.models.RegionConfigurationResponse or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + region_configuration_request = models.RegionConfigurationRequest(schedule_availability_request=schedule_availability_request, transport_availability_request=transport_availability_request) + + # Construct URL + url = self.region_configuration.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'location': self._serialize.url("location", location, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(region_configuration_request, 'RegionConfigurationRequest') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('RegionConfigurationResponse', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + region_configuration.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DataBox/locations/{location}/regionConfiguration'} diff --git a/src/databox/azext_databox/vendored_sdks/databox/version.py b/src/databox/azext_databox/vendored_sdks/databox/version.py new file mode 100644 index 00000000000..c995f7836ce --- /dev/null +++ b/src/databox/azext_databox/vendored_sdks/databox/version.py @@ -0,0 +1,12 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +VERSION = "0.2.0" diff --git a/src/databox/setup.cfg b/src/databox/setup.cfg new file mode 100644 index 00000000000..3c6e79cf31d --- /dev/null +++ b/src/databox/setup.cfg @@ -0,0 +1,2 @@ +[bdist_wheel] +universal=1 diff --git a/src/databox/setup.py b/src/databox/setup.py new file mode 100644 index 00000000000..6409ec4ecf8 --- /dev/null +++ b/src/databox/setup.py @@ -0,0 +1,60 @@ +#!/usr/bin/env python + +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + + +from codecs import open +from setuptools import setup, find_packages +try: + from azure_bdist_wheel import cmdclass +except ImportError: + from distutils import log as logger + logger.warn("Wheel is not available, disabling bdist_wheel hook") + +# TODO: Confirm this is the right version number you want and it matches your +# HISTORY.rst entry. +VERSION = '0.1.0' + +# The full list of classifiers is available at +# https://pypi.python.org/pypi?%3Aaction=list_classifiers +CLASSIFIERS = [ + 'Development Status :: 4 - Beta', + 'Intended Audience :: Developers', + 'Intended Audience :: System Administrators', + 'Programming Language :: Python', + 'Programming Language :: Python :: 3', + 'Programming Language :: Python :: 3.4', + 'Programming Language :: Python :: 3.5', + 'Programming Language :: Python :: 3.6', + 'Programming Language :: Python :: 3.7', + 'Programming Language :: Python :: 3.8', + 'License :: OSI Approved :: MIT License', +] + +# TODO: Add any additional SDK dependencies here +DEPENDENCIES = [] + +with open('README.md', 'r', encoding='utf-8') as f: + README = f.read() +with open('HISTORY.rst', 'r', encoding='utf-8') as f: + HISTORY = f.read() + +setup( + name='databox', + version=VERSION, + description='Microsoft Azure Command-Line Tools DataBox Extension', + # TODO: Update author and email, if applicable + author='Microsoft Corporation', + author_email='azpycli@microsoft.com', + # TODO: consider pointing directly to your source code instead of the generic repo + url='https://github.com/Azure/azure-cli-extensions', + long_description=README + '\n\n' + HISTORY, + license='MIT', + classifiers=CLASSIFIERS, + packages=find_packages(), + install_requires=DEPENDENCIES, + package_data={'azext_databox': ['azext_metadata.json']}, +) diff --git a/src/databricks/HISTORY.rst b/src/databricks/HISTORY.rst index 27f152061e8..ed477e7de4d 100644 --- a/src/databricks/HISTORY.rst +++ b/src/databricks/HISTORY.rst @@ -3,6 +3,24 @@ Release History =============== +0.3.0 ++++++ +* az databricks workspace create/update: add customer-managed key feature + +0.2.0 ++++++ +* Rename --virtual-network to --vnet +* Rename --public-subnet-name to --public-subnet +* Rename --private-subnet-name to --private-subnet +* Remove --aml-workspace-id +* Remove --enable-no-public-ip +* Remove --load-balancer-backend-pool-name +* Remove --load-balancer +* Remove --relay-namespace-name +* Remove --storage-account-name +* Remove --storage-account-sku +* Remove --vnet-address-prefix + 0.1.0 ++++++ * Initial release. diff --git a/src/databricks/README.md b/src/databricks/README.md index cc9d35cfe87..b0edcad2f17 100644 --- a/src/databricks/README.md +++ b/src/databricks/README.md @@ -28,6 +28,33 @@ az databricks update \ --tags key=value ``` +##### Assign identity for managed storage account to prepare for CMK encryption +``` +az databricks update \ + --name my-workspace \ + --resource-group my-rg \ + --prepare-encryption +``` + +##### Configure CMK encryption +``` +az databricks update \ + --name my-workspace \ + --resource-group my-rg \ + --key-source Microsoft.Keyvault \ + --key-name my-key \ + --key-version 00000000000000000000000000000000 \ + --key-vault https://myKeyVault.vault.azure.net/ +``` + +##### Revert encryption to Microsoft Managed Keys +``` +az databricks update \ + --name my-workspace \ + --resource-group my-rg \ + --key-source Default +``` + ##### Show workspace ``` az databricks show \ diff --git a/src/databricks/azext_databricks/_help.py b/src/databricks/azext_databricks/_help.py index b84aa2d1dc6..7da18850190 100644 --- a/src/databricks/azext_databricks/_help.py +++ b/src/databricks/azext_databricks/_help.py @@ -20,13 +20,10 @@ examples: - name: Create a workspace text: |- - az databricks workspace create --resource-group MyResourceGroup --name MyWorkspace --location \\ - westus --sku standard - - name: Create a workspace with custom parameters + az databricks workspace create --resource-group MyResourceGroup --name MyWorkspace --location westus --sku standard + - name: Create a workspace with managed identity for storage account text: |- - az databricks workspace create --resource-group MyResourceGroup --name MyWorkspace --location \\ - westus --managed-resource-group MyManagedResourceGroup --sku premium \\ - --relay-namespace-name mydbrelay --storage-account-name mystorageaccount + az databricks workspace create --resource-group MyResourceGroup --name MyWorkspace --location eastus2euap --sku premium --prepare-encryption """ helps['databricks workspace update'] = """ @@ -39,6 +36,16 @@ - name: Clean the workspace's tags. text: |- az databricks workspace update --resource-group MyResourceGroup --name MyWorkspace --tags "" + - name: Prepare for CMK encryption by assigning identity for storage account. + text: |- + az databricks workspace update --resource-group MyResourceGroup --name MyWorkspace --prepare-encryption + - name: Configure CMK encryption + text: |- + az databricks workspace update --resource-group MyResourceGroup --name MyWorkspace --key-source Microsoft.KeyVault \ +--key-name MyKey --key-vault https://myKeyVault.vault.azure.net/ --key-version 00000000000000000000000000000000 + - name: Revert encryption to Microsoft Managed Keys + text: |- + az databricks workspace update --resource-group MyResourceGroup --name MyWorkspace --key-source Default """ helps['databricks workspace delete'] = """ diff --git a/src/databricks/azext_databricks/_params.py b/src/databricks/azext_databricks/_params.py index 66dcd7b271c..45986b2445d 100644 --- a/src/databricks/azext_databricks/_params.py +++ b/src/databricks/azext_databricks/_params.py @@ -8,12 +8,12 @@ from azure.cli.core.commands.parameters import ( tags_type, - get_three_state_flag, get_enum_type, get_location_type ) from azure.cli.core.commands.validators import get_default_location_from_resource_group +from ._validators import validate_encryption_values def load_arguments(self, _): @@ -23,22 +23,20 @@ def load_arguments(self, _): c.argument('tags', tags_type) c.argument('location', arg_type=get_location_type(self.cli_ctx), validator=get_default_location_from_resource_group) c.argument('managed_resource_group', help='The managed resource group to create. It can be either a name or a resource ID.') - c.argument('aml_workspace_id', help='Azure Machine Learning workspace guid.') - c.argument('custom_virtual_network_id', options_list=['--virtual-network'], help='Virtual network name or resource ID.') - c.argument('custom_public_subnet_name', options_list=['--public-subnet-name'], help='The name of a new public subnet.') - c.argument('custom_private_subnet_name', options_list=['--private-subnet-name'], help='The name of a new private subnet.') - c.argument('enable_no_public_ip', arg_type=get_three_state_flag(), help='Set true to disallow public IP. Default is false') - c.argument('load_balancer_backend_pool_name', help='The name of load balancer backend pool name to create.') - c.argument('load_balancer_id', options_list=['--load-balancer'], help='Load balancer name or resource ID.') - c.argument('relay_namespace_name', help='The name of relay namespace. Default value is "dbrelay" as prefix, followed by random digits and letters.') - c.argument('storage_account_name', help='Storage account name to create. Default value is "dbstorage" as prefix, followed by random digits and letters.') - c.argument('storage_account_sku_name', options_list=['--storage-account-sku'], arg_type=get_enum_type(['Standard_LRS', 'Standard_ZRS', 'Standard_GRS', 'Standard_RAGRS', 'Premium_LRS']), default='Standard_GRS', help='Storage account SKU.') - c.argument('vnet_address_prefix', default='10.139', help='The vnet address prefix.') + c.argument('custom_virtual_network_id', options_list=['--vnet'], arg_group='Custom VNET', help='Virtual Network name or resource ID.') + c.argument('custom_public_subnet_name', options_list=['--public-subnet'], arg_group='Custom VNET', help='The name of a Public Subnet within the Virtual Network.') + c.argument('custom_private_subnet_name', options_list=['--private-subnet'], arg_group='Custom VNET', help='The name of a Private Subnet within the Virtual Network.') c.argument('sku_name', options_list=['--sku'], arg_type=get_enum_type(['standard', 'premium', 'trial']), help='The SKU tier name.') + c.argument('prepare_encryption', action='store_true', help='Flag to enable the Managed Identity for managed storage account to prepare for CMK encryption.') with self.argument_context('databricks workspace update') as c: c.argument('workspace_name', options_list=['--name', '-n'], id_part='name', help='The name of the workspace.') c.argument('tags', tags_type) + c.argument('prepare_encryption', action='store_true', help='Flag to enable the Managed Identity for managed storage account to prepare for CMK encryption.') + c.argument('encryption_key_source', options_list=['--key-source'], arg_group='Encryption', arg_type=get_enum_type(['Default', 'Microsoft.Keyvault']), validator=validate_encryption_values, help='The encryption key source (provider).') + c.argument('encryption_key_name', options_list=['--key-name'], arg_group='Encryption', help='The name of KeyVault key.') + c.argument('encryption_key_version', options_list=['--key-version'], arg_group='Encryption', help='The version of KeyVault key.') + c.argument('encryption_key_vault', options_list=['--key-vault'], arg_group='Encryption', help='The Uri of KeyVault.') with self.argument_context('databricks workspace delete') as c: c.argument('workspace_name', options_list=['--name', '-n'], id_part='name', help='The name of the workspace.') diff --git a/src/databricks/azext_databricks/_validators.py b/src/databricks/azext_databricks/_validators.py index 6399a6f183a..703a7fb788f 100644 --- a/src/databricks/azext_databricks/_validators.py +++ b/src/databricks/azext_databricks/_validators.py @@ -2,6 +2,7 @@ # Copyright (c) Microsoft Corporation. All rights reserved. # Licensed under the MIT License. See License.txt in the project root for license information. # -------------------------------------------------------------------------------------------- +# pylint: disable=line-too-long import random import string @@ -28,12 +29,6 @@ def validate_workspace_values(cmd, namespace): subscription=subscription_id, resource_group=namespace.managed_resource_group) - # set default values similar to portal - if not namespace.relay_namespace_name: - namespace.relay_namespace_name = 'dbrelay{}'.format(random_id) - if not namespace.storage_account_name: - namespace.storage_account_name = 'dbstorage{}'.format(random_id) - # name to resource id for virtual-network if namespace.custom_virtual_network_id is not None \ and not is_valid_resource_id(namespace.custom_virtual_network_id): @@ -44,11 +39,13 @@ def validate_workspace_values(cmd, namespace): type='virtualNetworks', name=namespace.custom_virtual_network_id) - # name to resource id for load-balancer - if namespace.load_balancer_id is not None and not is_valid_resource_id(namespace.load_balancer_id): - namespace.load_balancer_id = resource_id( - subscription=subscription_id, - resource_group=namespace.resource_group_name, - namespace='Microsoft.Network', - type='loadBalancers', - name=namespace.load_balancer_id) + +def validate_encryption_values(namespace): + from knack.util import CLIError + if namespace.encryption_key_source: + if namespace.encryption_key_source == 'Default' and any(v is not None for v in [namespace.encryption_key_name, namespace.encryption_key_version, namespace.encryption_key_vault]): + raise CLIError('--key-name, --key-version, --key-vault should not be provided when --key-source is Default') + if namespace.encryption_key_source == 'Microsoft.Keyvault' and any(v is None for v in [namespace.encryption_key_name, namespace.encryption_key_version, namespace.encryption_key_vault]): + raise CLIError('--key-name, --key-version, --key-vault are required when --key-source is Microsoft.Keyvault') + elif any(v is not None for v in [namespace.encryption_key_name, namespace.encryption_key_version, namespace.encryption_key_vault]): + raise CLIError('please specify --key-source for encryption') diff --git a/src/databricks/azext_databricks/azext_metadata.json b/src/databricks/azext_databricks/azext_metadata.json index fc707c41f3b..5236b3b7283 100644 --- a/src/databricks/azext_databricks/azext_metadata.json +++ b/src/databricks/azext_databricks/azext_metadata.json @@ -1,4 +1,4 @@ { "azext.isPreview": true, - "azext.minCliCoreVersion": "2.0.67" -} \ No newline at end of file + "azext.minCliCoreVersion": "2.3.1" +} diff --git a/src/databricks/azext_databricks/commands.py b/src/databricks/azext_databricks/commands.py index 7ed2e03c4a1..12684b10a1e 100644 --- a/src/databricks/azext_databricks/commands.py +++ b/src/databricks/azext_databricks/commands.py @@ -14,10 +14,14 @@ def load_command_table(self, _): from ._client_factory import cf_workspaces + + with self.command_group('databricks', is_preview=True): + pass + databricks_workspaces = CliCommandType( operations_tmpl='azext_databricks.vendored_sdks.databricks.operations._workspaces_operations#WorkspacesOperations.{}', client_factory=cf_workspaces) - with self.command_group('databricks workspace', databricks_workspaces, client_factory=cf_workspaces, is_preview=True) as g: + with self.command_group('databricks workspace', databricks_workspaces, client_factory=cf_workspaces) as g: g.custom_command('create', 'create_databricks_workspace', validator=validate_workspace_values, supports_no_wait=True) g.custom_command('update', 'update_databricks_workspace', supports_no_wait=True) g.custom_command('delete', 'delete_databricks_workspace', supports_no_wait=True, confirmation=True) diff --git a/src/databricks/azext_databricks/custom.py b/src/databricks/azext_databricks/custom.py index 0ef0d9f4d0a..1f60c5b978e 100644 --- a/src/databricks/azext_databricks/custom.py +++ b/src/databricks/azext_databricks/custom.py @@ -18,18 +18,11 @@ def create_databricks_workspace(cmd, client, location, sku_name, managed_resource_group=None, - aml_workspace_id=None, custom_virtual_network_id=None, custom_public_subnet_name=None, custom_private_subnet_name=None, - enable_no_public_ip=False, - load_balancer_backend_pool_name=None, - load_balancer_id=None, - relay_namespace_name=None, - storage_account_name=None, - storage_account_sku_name=None, - vnet_address_prefix=None, tags=None, + prepare_encryption=None, no_wait=False): body = {} body['tags'] = tags # dictionary @@ -38,24 +31,10 @@ def create_databricks_workspace(cmd, client, body.setdefault('sku', {})['name'] = sku_name # str parameters = {} - _set_parameter_value(parameters, 'enable_no_public_ip', enable_no_public_ip) # boolean - if aml_workspace_id is not None: - _set_parameter_value(parameters, 'aml_workspace_id', aml_workspace_id) # str - if custom_virtual_network_id is not None: - _set_parameter_value(parameters, 'custom_virtual_network_id', custom_virtual_network_id) # str - if custom_public_subnet_name is not None: - _set_parameter_value(parameters, 'custom_public_subnet_name', custom_public_subnet_name) # str - if custom_private_subnet_name is not None: - _set_parameter_value(parameters, 'custom_private_subnet_name', custom_private_subnet_name) # str - if load_balancer_backend_pool_name is not None: - _set_parameter_value(parameters, 'load_balancer_backend_pool_name', load_balancer_backend_pool_name) # str - if load_balancer_id is not None: - _set_parameter_value(parameters, 'load_balancer_id', load_balancer_id) # str - - _set_parameter_value(parameters, 'relay_namespace_name', relay_namespace_name) # str - _set_parameter_value(parameters, 'storage_account_name', storage_account_name) # str - _set_parameter_value(parameters, 'storage_account_sku_name', storage_account_sku_name) # str - _set_parameter_value(parameters, 'vnet_address_prefix', vnet_address_prefix) # str + _set_parameter_value(parameters, 'custom_virtual_network_id', custom_virtual_network_id) # str + _set_parameter_value(parameters, 'custom_public_subnet_name', custom_public_subnet_name) # str + _set_parameter_value(parameters, 'custom_private_subnet_name', custom_private_subnet_name) # str + _set_parameter_value(parameters, 'prepare_encryption', prepare_encryption) body['parameters'] = parameters return sdk_no_wait(no_wait, client.create_or_update, @@ -65,18 +44,42 @@ def create_databricks_workspace(cmd, client, def _set_parameter_value(parameters, field, value): - parameters.setdefault(field, {})['value'] = value + if value is not None: + parameters.setdefault(field, {})['value'] = value def update_databricks_workspace(cmd, client, # pylint: disable=too-many-branches resource_group_name, workspace_name, tags=None, + prepare_encryption=None, + encryption_key_source=None, + encryption_key_name=None, + encryption_key_version=None, + encryption_key_vault=None, no_wait=False): - return sdk_no_wait(no_wait, client.update, + body = client.get(resource_group_name=resource_group_name, + workspace_name=workspace_name).as_dict() + parameters = body['parameters'] + if tags is not None: + body['tags'] = tags + if prepare_encryption is not None: + _set_parameter_value(parameters, 'prepare_encryption', prepare_encryption) + if encryption_key_source is not None: + encryption = {} + encryption['key_source'] = encryption_key_source + if encryption_key_name is not None: + encryption['key_name'] = encryption_key_name + if encryption_key_version is not None: + encryption['key_version'] = encryption_key_version + if encryption_key_vault is not None: + encryption['key_vault_uri'] = encryption_key_vault + _set_parameter_value(parameters, 'encryption', encryption) + + return sdk_no_wait(no_wait, client.create_or_update, resource_group_name=resource_group_name, workspace_name=workspace_name, - tags=tags) + parameters=body) def delete_databricks_workspace(cmd, client, resource_group_name, diff --git a/src/databricks/azext_databricks/tests/latest/recordings/test_databricks.yaml b/src/databricks/azext_databricks/tests/latest/recordings/test_databricks.yaml index 80502ef8072..9d5bdb3177f 100644 --- a/src/databricks/azext_databricks/tests/latest/recordings/test_databricks.yaml +++ b/src/databricks/azext_databricks/tests/latest/recordings/test_databricks.yaml @@ -1,10 +1,7 @@ interactions: - request: - body: '{"location": "westus", "properties": {"managedResourceGroupId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-my-test-workspace-6m4koqadkewk0", - "parameters": {"enableNoPublicIp": {"value": false}, "relayNamespaceName": {"value": - "dbrelay6m4koqadkewk0"}, "storageAccountName": {"value": "dbstorage6m4koqadkewk0"}, - "storageAccountSkuName": {"value": "Standard_GRS"}, "vnetAddressPrefix": {"value": - "10.139"}}}, "sku": {"name": "standard"}}' + body: '{"location": "eastus2euap", "properties": {"managedResourceGroupId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-my-test-workspace-ht1quyw8nrd1y", + "parameters": {}}, "sku": {"name": "premium"}}' headers: Accept: - application/json @@ -15,32 +12,33 @@ interactions: Connection: - keep-alive Content-Length: - - '473' + - '231' Content-Type: - application/json; charset=utf-8 ParameterSetName: - --resource-group --name --location --sku User-Agent: - - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databricks/0.1.0 Azure-SDK-For-Python AZURECLI/2.2.0 + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-databricks/0.1.0 + Azure-SDK-For-Python AZURECLI/2.6.0 accept-language: - en-US method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-test-workspace?api-version=2018-04-01 response: body: - string: '{"properties":{"managedResourceGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-my-test-workspace-6m4koqadkewk0","provisioningState":"Accepted","authorizations":[{"principalId":"9a74af6f-d153-4348-988a-e2672920bee9","roleDefinitionId":"8e3af657-a8ff-443c-a75c-2fe8c4bcb635"}],"createdBy":{"oid":"31e600e0-d7ce-4e98-a927-19bb30042e44","puid":"1003200069544A27","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"updatedBy":{"oid":"31e600e0-d7ce-4e98-a927-19bb30042e44","puid":"1003200069544A27","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"createdDateTime":"2020-03-12T08:49:38.9954664Z"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-test-workspace","name":"my-test-workspace","type":"Microsoft.Databricks/workspaces","sku":{"name":"standard"},"location":"westus"}' + string: '{"properties":{"managedResourceGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-my-test-workspace-ht1quyw8nrd1y","provisioningState":"Accepted","authorizations":[{"principalId":"9a74af6f-d153-4348-988a-e2672920bee9","roleDefinitionId":"8e3af657-a8ff-443c-a75c-2fe8c4bcb635"}],"createdBy":{"oid":"7f050518-5c2c-490e-a617-e8ea4bccece2","puid":"1003200069544A27","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"updatedBy":{"oid":"7f050518-5c2c-490e-a617-e8ea4bccece2","puid":"1003200069544A27","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"createdDateTime":"2020-05-29T15:06:09.1429271Z"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-test-workspace","name":"my-test-workspace","type":"Microsoft.Databricks/workspaces","sku":{"name":"premium"},"location":"eastus2euap","tags":{"Created + By":"User","environment":"dev"}}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N5M2h3NDdzNndldjRlZHJuNTR5emJ2bjQyMmFocW51bGxmbjJhb2N2d29jaHZ6NnE2dHFoeGt6ai9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlUHJvdmlzaW9uaW5nSm9iOjJEUkdBOjJEQ0xJOjNBNUZURVNUOjNBNUZEQVRBQlJJQ0tTWTNIVzQ3UzZXRVY0RURSTjU0WVpCVk40OjdDMEI5NEQ5QTRCMTMzNTBGMzoyRE1ZOjNBfEVGREZGMzYzQjdCRkY2NTIifQ?api-version=2018-04-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus2euap/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMDE0MDkxMWUtMTA0MC00OGRhLThiYzktYjk5ZmIzZGQ4OGE2L3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NncHF1cm1paGhzc21idDZveGZ1bXZwYXd5eWNmaG83anZ3YWJtYmRlczY0enJxcnRuajNpbWI0ci9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlUHJvdmlzaW9uaW5nSm9iOjJEUkdBOjJEQ0xJOjNBNUZURVNUOjNBNUZEQVRBQlJJQ0tTR1BRVVJNSUhIU1NNQlQ2T1hGVU1WUEFXOjdDRTgxRkRBMTI3N0ZFM0E3NjoyRE1ZOjNBfEZFNDc5MEEyOTM2RUUwMDkifQ?api-version=2018-04-01 cache-control: - no-cache content-length: - - '972' + - '1025' content-type: - application/json; charset=utf-8 date: - - Thu, 12 Mar 2020 08:49:40 GMT + - Fri, 29 May 2020 15:06:10 GMT expires: - '-1' pragma: @@ -50,7 +48,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1195' status: code: 201 message: Created @@ -68,10 +66,10 @@ interactions: ParameterSetName: - --resource-group --name --location --sku User-Agent: - - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databricks/0.1.0 Azure-SDK-For-Python AZURECLI/2.2.0 + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-databricks/0.1.0 + Azure-SDK-For-Python AZURECLI/2.6.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N5M2h3NDdzNndldjRlZHJuNTR5emJ2bjQyMmFocW51bGxmbjJhb2N2d29jaHZ6NnE2dHFoeGt6ai9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlUHJvdmlzaW9uaW5nSm9iOjJEUkdBOjJEQ0xJOjNBNUZURVNUOjNBNUZEQVRBQlJJQ0tTWTNIVzQ3UzZXRVY0RURSTjU0WVpCVk40OjdDMEI5NEQ5QTRCMTMzNTBGMzoyRE1ZOjNBfEVGREZGMzYzQjdCRkY2NTIifQ?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus2euap/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMDE0MDkxMWUtMTA0MC00OGRhLThiYzktYjk5ZmIzZGQ4OGE2L3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NncHF1cm1paGhzc21idDZveGZ1bXZwYXd5eWNmaG83anZ3YWJtYmRlczY0enJxcnRuajNpbWI0ci9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlUHJvdmlzaW9uaW5nSm9iOjJEUkdBOjJEQ0xJOjNBNUZURVNUOjNBNUZEQVRBQlJJQ0tTR1BRVVJNSUhIU1NNQlQ2T1hGVU1WUEFXOjdDRTgxRkRBMTI3N0ZFM0E3NjoyRE1ZOjNBfEZFNDc5MEEyOTM2RUUwMDkifQ?api-version=2018-04-01 response: body: string: '{"status":"Accepted"}' @@ -83,7 +81,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 12 Mar 2020 08:49:55 GMT + - Fri, 29 May 2020 15:06:27 GMT expires: - '-1' pragma: @@ -109,10 +107,10 @@ interactions: ParameterSetName: - --resource-group --name --location --sku User-Agent: - - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databricks/0.1.0 Azure-SDK-For-Python AZURECLI/2.2.0 + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-databricks/0.1.0 + Azure-SDK-For-Python AZURECLI/2.6.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N5M2h3NDdzNndldjRlZHJuNTR5emJ2bjQyMmFocW51bGxmbjJhb2N2d29jaHZ6NnE2dHFoeGt6ai9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlUHJvdmlzaW9uaW5nSm9iOjJEUkdBOjJEQ0xJOjNBNUZURVNUOjNBNUZEQVRBQlJJQ0tTWTNIVzQ3UzZXRVY0RURSTjU0WVpCVk40OjdDMEI5NEQ5QTRCMTMzNTBGMzoyRE1ZOjNBfEVGREZGMzYzQjdCRkY2NTIifQ?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus2euap/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMDE0MDkxMWUtMTA0MC00OGRhLThiYzktYjk5ZmIzZGQ4OGE2L3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NncHF1cm1paGhzc21idDZveGZ1bXZwYXd5eWNmaG83anZ3YWJtYmRlczY0enJxcnRuajNpbWI0ci9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlUHJvdmlzaW9uaW5nSm9iOjJEUkdBOjJEQ0xJOjNBNUZURVNUOjNBNUZEQVRBQlJJQ0tTR1BRVVJNSUhIU1NNQlQ2T1hGVU1WUEFXOjdDRTgxRkRBMTI3N0ZFM0E3NjoyRE1ZOjNBfEZFNDc5MEEyOTM2RUUwMDkifQ?api-version=2018-04-01 response: body: string: '{"status":"Accepted"}' @@ -124,7 +122,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 12 Mar 2020 08:50:26 GMT + - Fri, 29 May 2020 15:06:57 GMT expires: - '-1' pragma: @@ -150,10 +148,10 @@ interactions: ParameterSetName: - --resource-group --name --location --sku User-Agent: - - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databricks/0.1.0 Azure-SDK-For-Python AZURECLI/2.2.0 + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-databricks/0.1.0 + Azure-SDK-For-Python AZURECLI/2.6.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N5M2h3NDdzNndldjRlZHJuNTR5emJ2bjQyMmFocW51bGxmbjJhb2N2d29jaHZ6NnE2dHFoeGt6ai9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlUHJvdmlzaW9uaW5nSm9iOjJEUkdBOjJEQ0xJOjNBNUZURVNUOjNBNUZEQVRBQlJJQ0tTWTNIVzQ3UzZXRVY0RURSTjU0WVpCVk40OjdDMEI5NEQ5QTRCMTMzNTBGMzoyRE1ZOjNBfEVGREZGMzYzQjdCRkY2NTIifQ?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus2euap/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMDE0MDkxMWUtMTA0MC00OGRhLThiYzktYjk5ZmIzZGQ4OGE2L3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NncHF1cm1paGhzc21idDZveGZ1bXZwYXd5eWNmaG83anZ3YWJtYmRlczY0enJxcnRuajNpbWI0ci9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlUHJvdmlzaW9uaW5nSm9iOjJEUkdBOjJEQ0xJOjNBNUZURVNUOjNBNUZEQVRBQlJJQ0tTR1BRVVJNSUhIU1NNQlQ2T1hGVU1WUEFXOjdDRTgxRkRBMTI3N0ZFM0E3NjoyRE1ZOjNBfEZFNDc5MEEyOTM2RUUwMDkifQ?api-version=2018-04-01 response: body: string: '{"status":"Accepted"}' @@ -165,7 +163,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 12 Mar 2020 08:50:56 GMT + - Fri, 29 May 2020 15:07:28 GMT expires: - '-1' pragma: @@ -191,10 +189,10 @@ interactions: ParameterSetName: - --resource-group --name --location --sku User-Agent: - - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databricks/0.1.0 Azure-SDK-For-Python AZURECLI/2.2.0 + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-databricks/0.1.0 + Azure-SDK-For-Python AZURECLI/2.6.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N5M2h3NDdzNndldjRlZHJuNTR5emJ2bjQyMmFocW51bGxmbjJhb2N2d29jaHZ6NnE2dHFoeGt6ai9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlUHJvdmlzaW9uaW5nSm9iOjJEUkdBOjJEQ0xJOjNBNUZURVNUOjNBNUZEQVRBQlJJQ0tTWTNIVzQ3UzZXRVY0RURSTjU0WVpCVk40OjdDMEI5NEQ5QTRCMTMzNTBGMzoyRE1ZOjNBfEVGREZGMzYzQjdCRkY2NTIifQ?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus2euap/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMDE0MDkxMWUtMTA0MC00OGRhLThiYzktYjk5ZmIzZGQ4OGE2L3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NncHF1cm1paGhzc21idDZveGZ1bXZwYXd5eWNmaG83anZ3YWJtYmRlczY0enJxcnRuajNpbWI0ci9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlUHJvdmlzaW9uaW5nSm9iOjJEUkdBOjJEQ0xJOjNBNUZURVNUOjNBNUZEQVRBQlJJQ0tTR1BRVVJNSUhIU1NNQlQ2T1hGVU1WUEFXOjdDRTgxRkRBMTI3N0ZFM0E3NjoyRE1ZOjNBfEZFNDc5MEEyOTM2RUUwMDkifQ?api-version=2018-04-01 response: body: string: '{"status":"Accepted"}' @@ -206,7 +204,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 12 Mar 2020 08:51:27 GMT + - Fri, 29 May 2020 15:07:58 GMT expires: - '-1' pragma: @@ -232,10 +230,10 @@ interactions: ParameterSetName: - --resource-group --name --location --sku User-Agent: - - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databricks/0.1.0 Azure-SDK-For-Python AZURECLI/2.2.0 + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-databricks/0.1.0 + Azure-SDK-For-Python AZURECLI/2.6.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N5M2h3NDdzNndldjRlZHJuNTR5emJ2bjQyMmFocW51bGxmbjJhb2N2d29jaHZ6NnE2dHFoeGt6ai9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlUHJvdmlzaW9uaW5nSm9iOjJEUkdBOjJEQ0xJOjNBNUZURVNUOjNBNUZEQVRBQlJJQ0tTWTNIVzQ3UzZXRVY0RURSTjU0WVpCVk40OjdDMEI5NEQ5QTRCMTMzNTBGMzoyRE1ZOjNBfEVGREZGMzYzQjdCRkY2NTIifQ?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus2euap/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMDE0MDkxMWUtMTA0MC00OGRhLThiYzktYjk5ZmIzZGQ4OGE2L3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NncHF1cm1paGhzc21idDZveGZ1bXZwYXd5eWNmaG83anZ3YWJtYmRlczY0enJxcnRuajNpbWI0ci9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlUHJvdmlzaW9uaW5nSm9iOjJEUkdBOjJEQ0xJOjNBNUZURVNUOjNBNUZEQVRBQlJJQ0tTR1BRVVJNSUhIU1NNQlQ2T1hGVU1WUEFXOjdDRTgxRkRBMTI3N0ZFM0E3NjoyRE1ZOjNBfEZFNDc5MEEyOTM2RUUwMDkifQ?api-version=2018-04-01 response: body: string: '{"status":"Succeeded"}' @@ -247,7 +245,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 12 Mar 2020 08:51:58 GMT + - Fri, 29 May 2020 15:08:28 GMT expires: - '-1' pragma: @@ -277,22 +275,24 @@ interactions: ParameterSetName: - --resource-group --name --location --sku User-Agent: - - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databricks/0.1.0 Azure-SDK-For-Python AZURECLI/2.2.0 + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-databricks/0.1.0 + Azure-SDK-For-Python AZURECLI/2.6.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-test-workspace?api-version=2018-04-01 response: body: - string: '{"properties":{"managedResourceGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-my-test-workspace-6m4koqadkewk0","parameters":{"customPrivateSubnetName":{"type":"String","value":""},"customPublicSubnetName":{"type":"String","value":""},"customVirtualNetworkId":{"type":"String","value":""},"enableNoPublicIp":{"type":"Bool","value":false},"loadBalancerBackendPoolName":{"type":"String","value":""},"loadBalancerId":{"type":"String","value":""},"relayNamespaceName":{"type":"String","value":"dbrelay6m4koqadkewk0"},"storageAccountName":{"type":"String","value":"dbstorage6m4koqadkewk0"},"storageAccountSkuName":{"type":"String","value":"Standard_GRS"},"vnetAddressPrefix":{"type":"String","value":"10.139"},"resourceTags":{"type":"Object","value":{"application":"databricks","databricks-environment":"true"}},"amlWorkspaceId":{"type":"String","value":""}},"provisioningState":"Succeeded","authorizations":[{"principalId":"9a74af6f-d153-4348-988a-e2672920bee9","roleDefinitionId":"8e3af657-a8ff-443c-a75c-2fe8c4bcb635"}],"createdBy":{"oid":"31e600e0-d7ce-4e98-a927-19bb30042e44","puid":"1003200069544A27","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"updatedBy":{"oid":"31e600e0-d7ce-4e98-a927-19bb30042e44","puid":"1003200069544A27","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"workspaceId":"8075394944208041","workspaceUrl":"adb-8075394944208041.1.azuredatabricks.net","createdDateTime":"2020-03-12T08:49:38.9954664Z"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-test-workspace","name":"my-test-workspace","type":"Microsoft.Databricks/workspaces","sku":{"name":"standard"},"location":"westus"}' + string: '{"properties":{"managedResourceGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-my-test-workspace-ht1quyw8nrd1y","parameters":{"amlWorkspaceId":{"type":"String","value":""},"customPrivateSubnetName":{"type":"String","value":""},"customPublicSubnetName":{"type":"String","value":""},"customVirtualNetworkId":{"type":"String","value":""},"enableFedRampCertification":{"type":"Bool","value":false},"enableNoPublicIp":{"type":"Bool","value":false},"prepareEncryption":{"type":"Bool","value":false},"loadBalancerBackendPoolName":{"type":"String","value":""},"loadBalancerId":{"type":"String","value":""},"relayNamespaceName":{"type":"String","value":"dbrelayop7zusuqgr5xs"},"resourceTags":{"type":"Object","value":{"application":"databricks","databricks-environment":"true","Created + By":"User","environment":"dev"}},"storageAccountName":{"type":"String","value":"dbstorageop7zusuqgr5xs"},"storageAccountSkuName":{"type":"String","value":"Standard_GRS"},"vnetAddressPrefix":{"type":"String","value":"10.139"}},"provisioningState":"Succeeded","authorizations":[{"principalId":"9a74af6f-d153-4348-988a-e2672920bee9","roleDefinitionId":"8e3af657-a8ff-443c-a75c-2fe8c4bcb635"}],"createdBy":{"oid":"7f050518-5c2c-490e-a617-e8ea4bccece2","puid":"1003200069544A27","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"updatedBy":{"oid":"7f050518-5c2c-490e-a617-e8ea4bccece2","puid":"1003200069544A27","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"workspaceId":"3036789934282478","workspaceUrl":"adb-3036789934282478.18.azuredatabricks.net","createdDateTime":"2020-05-29T15:06:09.1429271Z"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-test-workspace","name":"my-test-workspace","type":"Microsoft.Databricks/workspaces","sku":{"name":"premium"},"location":"eastus2euap","tags":{"Created + By":"User","environment":"dev"}}' headers: cache-control: - no-cache content-length: - - '1808' + - '2011' content-type: - application/json; charset=utf-8 date: - - Thu, 12 Mar 2020 08:51:58 GMT + - Fri, 29 May 2020 15:08:28 GMT expires: - '-1' pragma: @@ -310,10 +310,7 @@ interactions: message: OK - request: body: '{"location": "westus", "properties": {"managedResourceGroupId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/custom-managed-rg", - "parameters": {"enableNoPublicIp": {"value": false}, "relayNamespaceName": {"value": - "custom-relay-space"}, "storageAccountName": {"value": "customdbstorage"}, "storageAccountSkuName": - {"value": "Standard_LRS"}, "vnetAddressPrefix": {"value": "10.139"}}}, "sku": - {"name": "standard"}}' + "parameters": {}}, "sku": {"name": "standard"}}' headers: Accept: - application/json @@ -324,33 +321,33 @@ interactions: Connection: - keep-alive Content-Length: - - '436' + - '199' Content-Type: - application/json; charset=utf-8 ParameterSetName: - - --resource-group --name --location --sku --managed-resource-group --relay-namespace-name - --storage-account-name --storage-account-sku + - --resource-group --name --location --sku --managed-resource-group User-Agent: - - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databricks/0.1.0 Azure-SDK-For-Python AZURECLI/2.2.0 + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-databricks/0.1.0 + Azure-SDK-For-Python AZURECLI/2.6.0 accept-language: - en-US method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-custom-workspace?api-version=2018-04-01 response: body: - string: '{"properties":{"managedResourceGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/custom-managed-rg","provisioningState":"Accepted","authorizations":[{"principalId":"9a74af6f-d153-4348-988a-e2672920bee9","roleDefinitionId":"8e3af657-a8ff-443c-a75c-2fe8c4bcb635"}],"createdBy":{"oid":"31e600e0-d7ce-4e98-a927-19bb30042e44","puid":"1003200069544A27","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"updatedBy":{"oid":"31e600e0-d7ce-4e98-a927-19bb30042e44","puid":"1003200069544A27","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"createdDateTime":"2020-03-12T08:52:04.365053Z"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-custom-workspace","name":"my-custom-workspace","type":"Microsoft.Databricks/workspaces","sku":{"name":"standard"},"location":"westus"}' + string: '{"properties":{"managedResourceGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/custom-managed-rg","provisioningState":"Accepted","authorizations":[{"principalId":"9a74af6f-d153-4348-988a-e2672920bee9","roleDefinitionId":"8e3af657-a8ff-443c-a75c-2fe8c4bcb635"}],"createdBy":{"oid":"7f050518-5c2c-490e-a617-e8ea4bccece2","puid":"1003200069544A27","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"updatedBy":{"oid":"7f050518-5c2c-490e-a617-e8ea4bccece2","puid":"1003200069544A27","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"createdDateTime":"2020-05-29T15:08:35.8010165Z"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-custom-workspace","name":"my-custom-workspace","type":"Microsoft.Databricks/workspaces","sku":{"name":"standard"},"location":"westus","tags":{"Created + By":"User","environment":"dev"}}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N5M2h3NDdzNndldjRlZHJuNTR5emJ2bjQyMmFocW51bGxmbjJhb2N2d29jaHZ6NnE2dHFoeGt6ai9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VQcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NZM0hXNDdTNldFVjRFRFJONTRZWkJWTjQ6N0MwQjk0RDlBNEIxMzM1MEYzOjJETVk6M0F8RDE1NEQyNDFDMDEwREFBMiJ9?api-version=2018-04-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMDE0MDkxMWUtMTA0MC00OGRhLThiYzktYjk5ZmIzZGQ4OGE2L3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NncHF1cm1paGhzc21idDZveGZ1bXZwYXd5eWNmaG83anZ3YWJtYmRlczY0enJxcnRuajNpbWI0ci9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VQcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NHUFFVUk1JSEhTU01CVDZPWEZVTVZQQVc6N0NFODFGREExMjc3RkUzQTc2OjJETVk6M0F8RUQzRkQwMDA0QzYxREQ1QSJ9?api-version=2018-04-01 cache-control: - no-cache content-length: - - '947' + - '997' content-type: - application/json; charset=utf-8 date: - - Thu, 12 Mar 2020 08:52:05 GMT + - Fri, 29 May 2020 15:08:37 GMT expires: - '-1' pragma: @@ -360,7 +357,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1195' status: code: 201 message: Created @@ -376,13 +373,12 @@ interactions: Connection: - keep-alive ParameterSetName: - - --resource-group --name --location --sku --managed-resource-group --relay-namespace-name - --storage-account-name --storage-account-sku + - --resource-group --name --location --sku --managed-resource-group User-Agent: - - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databricks/0.1.0 Azure-SDK-For-Python AZURECLI/2.2.0 + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-databricks/0.1.0 + Azure-SDK-For-Python AZURECLI/2.6.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N5M2h3NDdzNndldjRlZHJuNTR5emJ2bjQyMmFocW51bGxmbjJhb2N2d29jaHZ6NnE2dHFoeGt6ai9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VQcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NZM0hXNDdTNldFVjRFRFJONTRZWkJWTjQ6N0MwQjk0RDlBNEIxMzM1MEYzOjJETVk6M0F8RDE1NEQyNDFDMDEwREFBMiJ9?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMDE0MDkxMWUtMTA0MC00OGRhLThiYzktYjk5ZmIzZGQ4OGE2L3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NncHF1cm1paGhzc21idDZveGZ1bXZwYXd5eWNmaG83anZ3YWJtYmRlczY0enJxcnRuajNpbWI0ci9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VQcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NHUFFVUk1JSEhTU01CVDZPWEZVTVZQQVc6N0NFODFGREExMjc3RkUzQTc2OjJETVk6M0F8RUQzRkQwMDA0QzYxREQ1QSJ9?api-version=2018-04-01 response: body: string: '{"status":"Accepted"}' @@ -394,7 +390,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 12 Mar 2020 08:52:21 GMT + - Fri, 29 May 2020 15:08:53 GMT expires: - '-1' pragma: @@ -418,13 +414,12 @@ interactions: Connection: - keep-alive ParameterSetName: - - --resource-group --name --location --sku --managed-resource-group --relay-namespace-name - --storage-account-name --storage-account-sku + - --resource-group --name --location --sku --managed-resource-group User-Agent: - - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databricks/0.1.0 Azure-SDK-For-Python AZURECLI/2.2.0 + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-databricks/0.1.0 + Azure-SDK-For-Python AZURECLI/2.6.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N5M2h3NDdzNndldjRlZHJuNTR5emJ2bjQyMmFocW51bGxmbjJhb2N2d29jaHZ6NnE2dHFoeGt6ai9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VQcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NZM0hXNDdTNldFVjRFRFJONTRZWkJWTjQ6N0MwQjk0RDlBNEIxMzM1MEYzOjJETVk6M0F8RDE1NEQyNDFDMDEwREFBMiJ9?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMDE0MDkxMWUtMTA0MC00OGRhLThiYzktYjk5ZmIzZGQ4OGE2L3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NncHF1cm1paGhzc21idDZveGZ1bXZwYXd5eWNmaG83anZ3YWJtYmRlczY0enJxcnRuajNpbWI0ci9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VQcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NHUFFVUk1JSEhTU01CVDZPWEZVTVZQQVc6N0NFODFGREExMjc3RkUzQTc2OjJETVk6M0F8RUQzRkQwMDA0QzYxREQ1QSJ9?api-version=2018-04-01 response: body: string: '{"status":"Accepted"}' @@ -436,7 +431,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 12 Mar 2020 08:52:51 GMT + - Fri, 29 May 2020 15:09:24 GMT expires: - '-1' pragma: @@ -460,13 +455,12 @@ interactions: Connection: - keep-alive ParameterSetName: - - --resource-group --name --location --sku --managed-resource-group --relay-namespace-name - --storage-account-name --storage-account-sku + - --resource-group --name --location --sku --managed-resource-group User-Agent: - - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databricks/0.1.0 Azure-SDK-For-Python AZURECLI/2.2.0 + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-databricks/0.1.0 + Azure-SDK-For-Python AZURECLI/2.6.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N5M2h3NDdzNndldjRlZHJuNTR5emJ2bjQyMmFocW51bGxmbjJhb2N2d29jaHZ6NnE2dHFoeGt6ai9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VQcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NZM0hXNDdTNldFVjRFRFJONTRZWkJWTjQ6N0MwQjk0RDlBNEIxMzM1MEYzOjJETVk6M0F8RDE1NEQyNDFDMDEwREFBMiJ9?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMDE0MDkxMWUtMTA0MC00OGRhLThiYzktYjk5ZmIzZGQ4OGE2L3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NncHF1cm1paGhzc21idDZveGZ1bXZwYXd5eWNmaG83anZ3YWJtYmRlczY0enJxcnRuajNpbWI0ci9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VQcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NHUFFVUk1JSEhTU01CVDZPWEZVTVZQQVc6N0NFODFGREExMjc3RkUzQTc2OjJETVk6M0F8RUQzRkQwMDA0QzYxREQ1QSJ9?api-version=2018-04-01 response: body: string: '{"status":"Accepted"}' @@ -478,7 +472,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 12 Mar 2020 08:53:22 GMT + - Fri, 29 May 2020 15:09:54 GMT expires: - '-1' pragma: @@ -502,13 +496,12 @@ interactions: Connection: - keep-alive ParameterSetName: - - --resource-group --name --location --sku --managed-resource-group --relay-namespace-name - --storage-account-name --storage-account-sku + - --resource-group --name --location --sku --managed-resource-group User-Agent: - - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databricks/0.1.0 Azure-SDK-For-Python AZURECLI/2.2.0 + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-databricks/0.1.0 + Azure-SDK-For-Python AZURECLI/2.6.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N5M2h3NDdzNndldjRlZHJuNTR5emJ2bjQyMmFocW51bGxmbjJhb2N2d29jaHZ6NnE2dHFoeGt6ai9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VQcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NZM0hXNDdTNldFVjRFRFJONTRZWkJWTjQ6N0MwQjk0RDlBNEIxMzM1MEYzOjJETVk6M0F8RDE1NEQyNDFDMDEwREFBMiJ9?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMDE0MDkxMWUtMTA0MC00OGRhLThiYzktYjk5ZmIzZGQ4OGE2L3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NncHF1cm1paGhzc21idDZveGZ1bXZwYXd5eWNmaG83anZ3YWJtYmRlczY0enJxcnRuajNpbWI0ci9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VQcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NHUFFVUk1JSEhTU01CVDZPWEZVTVZQQVc6N0NFODFGREExMjc3RkUzQTc2OjJETVk6M0F8RUQzRkQwMDA0QzYxREQ1QSJ9?api-version=2018-04-01 response: body: string: '{"status":"Accepted"}' @@ -520,7 +513,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 12 Mar 2020 08:53:52 GMT + - Fri, 29 May 2020 15:10:24 GMT expires: - '-1' pragma: @@ -544,13 +537,12 @@ interactions: Connection: - keep-alive ParameterSetName: - - --resource-group --name --location --sku --managed-resource-group --relay-namespace-name - --storage-account-name --storage-account-sku + - --resource-group --name --location --sku --managed-resource-group User-Agent: - - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databricks/0.1.0 Azure-SDK-For-Python AZURECLI/2.2.0 + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-databricks/0.1.0 + Azure-SDK-For-Python AZURECLI/2.6.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N5M2h3NDdzNndldjRlZHJuNTR5emJ2bjQyMmFocW51bGxmbjJhb2N2d29jaHZ6NnE2dHFoeGt6ai9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VQcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NZM0hXNDdTNldFVjRFRFJONTRZWkJWTjQ6N0MwQjk0RDlBNEIxMzM1MEYzOjJETVk6M0F8RDE1NEQyNDFDMDEwREFBMiJ9?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMDE0MDkxMWUtMTA0MC00OGRhLThiYzktYjk5ZmIzZGQ4OGE2L3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NncHF1cm1paGhzc21idDZveGZ1bXZwYXd5eWNmaG83anZ3YWJtYmRlczY0enJxcnRuajNpbWI0ci9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VQcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NHUFFVUk1JSEhTU01CVDZPWEZVTVZQQVc6N0NFODFGREExMjc3RkUzQTc2OjJETVk6M0F8RUQzRkQwMDA0QzYxREQ1QSJ9?api-version=2018-04-01 response: body: string: '{"status":"Accepted"}' @@ -562,7 +554,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 12 Mar 2020 08:54:24 GMT + - Fri, 29 May 2020 15:10:54 GMT expires: - '-1' pragma: @@ -586,13 +578,12 @@ interactions: Connection: - keep-alive ParameterSetName: - - --resource-group --name --location --sku --managed-resource-group --relay-namespace-name - --storage-account-name --storage-account-sku + - --resource-group --name --location --sku --managed-resource-group User-Agent: - - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databricks/0.1.0 Azure-SDK-For-Python AZURECLI/2.2.0 + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-databricks/0.1.0 + Azure-SDK-For-Python AZURECLI/2.6.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N5M2h3NDdzNndldjRlZHJuNTR5emJ2bjQyMmFocW51bGxmbjJhb2N2d29jaHZ6NnE2dHFoeGt6ai9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VQcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NZM0hXNDdTNldFVjRFRFJONTRZWkJWTjQ6N0MwQjk0RDlBNEIxMzM1MEYzOjJETVk6M0F8RDE1NEQyNDFDMDEwREFBMiJ9?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMDE0MDkxMWUtMTA0MC00OGRhLThiYzktYjk5ZmIzZGQ4OGE2L3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NncHF1cm1paGhzc21idDZveGZ1bXZwYXd5eWNmaG83anZ3YWJtYmRlczY0enJxcnRuajNpbWI0ci9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VQcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NHUFFVUk1JSEhTU01CVDZPWEZVTVZQQVc6N0NFODFGREExMjc3RkUzQTc2OjJETVk6M0F8RUQzRkQwMDA0QzYxREQ1QSJ9?api-version=2018-04-01 response: body: string: '{"status":"Succeeded"}' @@ -604,7 +595,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 12 Mar 2020 08:54:54 GMT + - Fri, 29 May 2020 15:11:25 GMT expires: - '-1' pragma: @@ -632,25 +623,26 @@ interactions: Connection: - keep-alive ParameterSetName: - - --resource-group --name --location --sku --managed-resource-group --relay-namespace-name - --storage-account-name --storage-account-sku + - --resource-group --name --location --sku --managed-resource-group User-Agent: - - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databricks/0.1.0 Azure-SDK-For-Python AZURECLI/2.2.0 + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-databricks/0.1.0 + Azure-SDK-For-Python AZURECLI/2.6.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-custom-workspace?api-version=2018-04-01 response: body: - string: '{"properties":{"managedResourceGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/custom-managed-rg","parameters":{"customPrivateSubnetName":{"type":"String","value":""},"customPublicSubnetName":{"type":"String","value":""},"customVirtualNetworkId":{"type":"String","value":""},"enableNoPublicIp":{"type":"Bool","value":false},"loadBalancerBackendPoolName":{"type":"String","value":""},"loadBalancerId":{"type":"String","value":""},"relayNamespaceName":{"type":"String","value":"custom-relay-space"},"storageAccountName":{"type":"String","value":"customdbstorage"},"storageAccountSkuName":{"type":"String","value":"Standard_LRS"},"vnetAddressPrefix":{"type":"String","value":"10.139"},"resourceTags":{"type":"Object","value":{"application":"databricks","databricks-environment":"true"}},"amlWorkspaceId":{"type":"String","value":""}},"provisioningState":"Succeeded","authorizations":[{"principalId":"9a74af6f-d153-4348-988a-e2672920bee9","roleDefinitionId":"8e3af657-a8ff-443c-a75c-2fe8c4bcb635"}],"createdBy":{"oid":"31e600e0-d7ce-4e98-a927-19bb30042e44","puid":"1003200069544A27","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"updatedBy":{"oid":"31e600e0-d7ce-4e98-a927-19bb30042e44","puid":"1003200069544A27","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"workspaceId":"8331080537640658","workspaceUrl":"adb-8331080537640658.18.azuredatabricks.net","createdDateTime":"2020-03-12T08:52:04.365053Z"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-custom-workspace","name":"my-custom-workspace","type":"Microsoft.Databricks/workspaces","sku":{"name":"standard"},"location":"westus"}' + string: '{"properties":{"managedResourceGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/custom-managed-rg","parameters":{"amlWorkspaceId":{"type":"String","value":""},"customPrivateSubnetName":{"type":"String","value":""},"customPublicSubnetName":{"type":"String","value":""},"customVirtualNetworkId":{"type":"String","value":""},"enableFedRampCertification":{"type":"Bool","value":false},"enableNoPublicIp":{"type":"Bool","value":false},"loadBalancerBackendPoolName":{"type":"String","value":""},"loadBalancerId":{"type":"String","value":""},"relayNamespaceName":{"type":"String","value":"dbrelaypqbf5u5j5xdag"},"resourceTags":{"type":"Object","value":{"application":"databricks","databricks-environment":"true","Created + By":"User","environment":"dev"}},"storageAccountName":{"type":"String","value":"dbstoragepqbf5u5j5xdag"},"storageAccountSkuName":{"type":"String","value":"Standard_GRS"},"vnetAddressPrefix":{"type":"String","value":"10.139"}},"provisioningState":"Succeeded","authorizations":[{"principalId":"9a74af6f-d153-4348-988a-e2672920bee9","roleDefinitionId":"8e3af657-a8ff-443c-a75c-2fe8c4bcb635"}],"createdBy":{"oid":"7f050518-5c2c-490e-a617-e8ea4bccece2","puid":"1003200069544A27","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"updatedBy":{"oid":"7f050518-5c2c-490e-a617-e8ea4bccece2","puid":"1003200069544A27","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"workspaceId":"3636106315055432","workspaceUrl":"adb-3636106315055432.12.azuredatabricks.net","createdDateTime":"2020-05-29T15:08:35.8010165Z"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-custom-workspace","name":"my-custom-workspace","type":"Microsoft.Databricks/workspaces","sku":{"name":"standard"},"location":"westus","tags":{"Created + By":"User","environment":"dev"}}' headers: cache-control: - no-cache content-length: - - '1775' + - '1933' content-type: - application/json; charset=utf-8 date: - - Thu, 12 Mar 2020 08:54:54 GMT + - Fri, 29 May 2020 15:11:25 GMT expires: - '-1' pragma: @@ -667,7 +659,679 @@ interactions: code: 200 message: OK - request: - body: '{"tags": {"type": "test"}}' + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - databricks workspace update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --tags --prepare-encryption + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-databricks/0.1.0 + Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-test-workspace?api-version=2018-04-01 + response: + body: + string: '{"properties":{"managedResourceGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-my-test-workspace-ht1quyw8nrd1y","parameters":{"amlWorkspaceId":{"type":"String","value":""},"customPrivateSubnetName":{"type":"String","value":""},"customPublicSubnetName":{"type":"String","value":""},"customVirtualNetworkId":{"type":"String","value":""},"enableFedRampCertification":{"type":"Bool","value":false},"enableNoPublicIp":{"type":"Bool","value":false},"prepareEncryption":{"type":"Bool","value":false},"loadBalancerBackendPoolName":{"type":"String","value":""},"loadBalancerId":{"type":"String","value":""},"relayNamespaceName":{"type":"String","value":"dbrelayop7zusuqgr5xs"},"resourceTags":{"type":"Object","value":{"application":"databricks","databricks-environment":"true","Created + By":"User","environment":"dev"}},"storageAccountName":{"type":"String","value":"dbstorageop7zusuqgr5xs"},"storageAccountSkuName":{"type":"String","value":"Standard_GRS"},"vnetAddressPrefix":{"type":"String","value":"10.139"}},"provisioningState":"Succeeded","authorizations":[{"principalId":"9a74af6f-d153-4348-988a-e2672920bee9","roleDefinitionId":"8e3af657-a8ff-443c-a75c-2fe8c4bcb635"}],"createdBy":{"oid":"7f050518-5c2c-490e-a617-e8ea4bccece2","puid":"1003200069544A27","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"updatedBy":{"oid":"7f050518-5c2c-490e-a617-e8ea4bccece2","puid":"1003200069544A27","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"workspaceId":"3036789934282478","workspaceUrl":"adb-3036789934282478.18.azuredatabricks.net","createdDateTime":"2020-05-29T15:06:09.1429271Z"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-test-workspace","name":"my-test-workspace","type":"Microsoft.Databricks/workspaces","sku":{"name":"premium"},"location":"eastus2euap","tags":{"Created + By":"User","environment":"dev"}}' + headers: + cache-control: + - no-cache + content-length: + - '2011' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 29 May 2020 15:11:27 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"tags": {"type": "test"}, "location": "eastus2euap", "properties": {"managedResourceGroupId": + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-my-test-workspace-ht1quyw8nrd1y", + "parameters": {"customVirtualNetworkId": {"type": "String", "value": ""}, "customPublicSubnetName": + {"type": "String", "value": ""}, "customPrivateSubnetName": {"type": "String", + "value": ""}, "enableNoPublicIp": {"type": "Bool", "value": false}, "prepareEncryption": + {"type": "Bool", "value": true}}, "authorizations": [{"principalId": "9a74af6f-d153-4348-988a-e2672920bee9", + "roleDefinitionId": "8e3af657-a8ff-443c-a75c-2fe8c4bcb635"}], "createdBy": {}, + "updatedBy": {}, "createdDateTime": "2020-05-29T15:06:09.142927Z"}, "sku": {"name": + "premium"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - databricks workspace update + Connection: + - keep-alive + Content-Length: + - '762' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - --resource-group --name --tags --prepare-encryption + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-databricks/0.1.0 + Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-test-workspace?api-version=2018-04-01 + response: + body: + string: '{"properties":{"managedResourceGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-my-test-workspace-ht1quyw8nrd1y","parameters":{"amlWorkspaceId":{"type":"String","value":""},"customPrivateSubnetName":{"type":"String","value":""},"customPublicSubnetName":{"type":"String","value":""},"customVirtualNetworkId":{"type":"String","value":""},"enableFedRampCertification":{"type":"Bool","value":false},"enableNoPublicIp":{"type":"Bool","value":false},"prepareEncryption":{"type":"Bool","value":true},"loadBalancerBackendPoolName":{"type":"String","value":""},"loadBalancerId":{"type":"String","value":""},"relayNamespaceName":{"type":"String","value":"dbrelayop7zusuqgr5xs"},"resourceTags":{"type":"Object","value":{"application":"databricks","databricks-environment":"true","Created + By":"User","environment":"dev"}},"storageAccountName":{"type":"String","value":"dbstorageop7zusuqgr5xs"},"storageAccountSkuName":{"type":"String","value":"Standard_GRS"},"vnetAddressPrefix":{"type":"String","value":"10.139"}},"provisioningState":"Succeeded","authorizations":[{"principalId":"9a74af6f-d153-4348-988a-e2672920bee9","roleDefinitionId":"8e3af657-a8ff-443c-a75c-2fe8c4bcb635"}],"createdBy":{"oid":"7f050518-5c2c-490e-a617-e8ea4bccece2","puid":"1003200069544A27","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"updatedBy":{"oid":"7f050518-5c2c-490e-a617-e8ea4bccece2","puid":"1003200069544A27","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"workspaceId":"3036789934282478","workspaceUrl":"adb-3036789934282478.18.azuredatabricks.net","createdDateTime":"2020-05-29T15:06:09.1429271Z","storageAccountIdentity":{"principalId":"ed908da5-1e94-4cf7-bd69-0502b1165069","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-test-workspace","name":"my-test-workspace","type":"Microsoft.Databricks/workspaces","sku":{"name":"premium"},"location":"eastus2euap","tags":{"type":"test","Created + By":"User","environment":"dev"}}' + headers: + cache-control: + - no-cache + content-length: + - '2178' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 29 May 2020 15:11:35 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - keyvault set-policy + Connection: + - keep-alive + ParameterSetName: + - -n --object-id -g --key-permissions + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-keyvault/2.2.0 + Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.KeyVault/vaults/clitest000002?api-version=2019-09-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.KeyVault/vaults/clitest000002","name":"clitest000002","type":"Microsoft.KeyVault/vaults","location":"eastus2euap","tags":{"Created + By":"User","environment":"dev"},"properties":{"sku":{"family":"A","name":"standard"},"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","accessPolicies":[{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","objectId":"7f050518-5c2c-490e-a617-e8ea4bccece2","permissions":{"keys":["get","create","delete","list","update","import","backup","restore","recover"],"secrets":["get","list","set","delete","backup","restore","recover"],"certificates":["get","list","delete","create","import","update","managecontacts","getissuers","listissuers","setissuers","deleteissuers","manageissuers","recover"],"storage":["get","list","delete","set","update","regeneratekey","setsas","listsas","getsas","deletesas"]}}],"enabledForDeployment":false,"enableSoftDelete":true,"softDeleteRetentionInDays":90,"vaultUri":"https://clitest000002.vault.azure.net/","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '1201' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 29 May 2020 15:11:37 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-service-version: + - 1.1.0.281 + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: 'b''{"location": "eastus2euap", "tags": {"Created By": "User", "environment": + "dev"}, "properties": {"tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", "sku": + {"family": "A", "name": "standard"}, "accessPolicies": [{"tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "objectId": "7f050518-5c2c-490e-a617-e8ea4bccece2", "permissions": {"keys": + ["get", "create", "delete", "list", "update", "import", "backup", "restore", + "recover"], "secrets": ["get", "list", "set", "delete", "backup", "restore", + "recover"], "certificates": ["get", "list", "delete", "create", "import", "update", + "managecontacts", "getissuers", "listissuers", "setissuers", "deleteissuers", + "manageissuers", "recover"], "storage": ["get", "list", "delete", "set", "update", + "regeneratekey", "setsas", "listsas", "getsas", "deletesas"]}}, {"tenantId": + "72f988bf-86f1-41af-91ab-2d7cd011db47", "objectId": "ed908da5-1e94-4cf7-bd69-0502b1165069", + "permissions": {"keys": ["wrapKey", "recover", "get", "unwrapKey"]}}], "vaultUri": + "https://clitest000002.vault.azure.net/", "enabledForDeployment": false, "enableSoftDelete": + true, "softDeleteRetentionInDays": 90}}''' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - keyvault set-policy + Connection: + - keep-alive + Content-Length: + - '1135' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -n --object-id -g --key-permissions + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-keyvault/2.2.0 + Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.KeyVault/vaults/clitest000002?api-version=2019-09-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.KeyVault/vaults/clitest000002","name":"clitest000002","type":"Microsoft.KeyVault/vaults","location":"eastus2euap","tags":{"Created + By":"User","environment":"dev"},"properties":{"sku":{"family":"A","name":"standard"},"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","accessPolicies":[{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","objectId":"7f050518-5c2c-490e-a617-e8ea4bccece2","permissions":{"keys":["get","create","delete","list","update","import","backup","restore","recover"],"secrets":["get","list","set","delete","backup","restore","recover"],"certificates":["get","list","delete","create","import","update","managecontacts","getissuers","listissuers","setissuers","deleteissuers","manageissuers","recover"],"storage":["get","list","delete","set","update","regeneratekey","setsas","listsas","getsas","deletesas"]}},{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","objectId":"ed908da5-1e94-4cf7-bd69-0502b1165069","permissions":{"keys":["wrapKey","recover","get","unwrapKey"]}}],"enabledForDeployment":false,"enableSoftDelete":true,"softDeleteRetentionInDays":90,"vaultUri":"https://clitest000002.vault.azure.net/","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '1366' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 29 May 2020 15:11:38 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-service-version: + - 1.1.0.281 + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - keyvault update + Connection: + - keep-alive + ParameterSetName: + - -n -g --set + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-keyvault/2.2.0 + Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.KeyVault/vaults/clitest000002?api-version=2019-09-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.KeyVault/vaults/clitest000002","name":"clitest000002","type":"Microsoft.KeyVault/vaults","location":"eastus2euap","tags":{"Created + By":"User","environment":"dev"},"properties":{"sku":{"family":"A","name":"standard"},"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","accessPolicies":[{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","objectId":"7f050518-5c2c-490e-a617-e8ea4bccece2","permissions":{"keys":["get","create","delete","list","update","import","backup","restore","recover"],"secrets":["get","list","set","delete","backup","restore","recover"],"certificates":["get","list","delete","create","import","update","managecontacts","getissuers","listissuers","setissuers","deleteissuers","manageissuers","recover"],"storage":["get","list","delete","set","update","regeneratekey","setsas","listsas","getsas","deletesas"]}},{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","objectId":"ed908da5-1e94-4cf7-bd69-0502b1165069","permissions":{"keys":["wrapKey","recover","get","unwrapKey"]}}],"enabledForDeployment":false,"enableSoftDelete":true,"softDeleteRetentionInDays":90,"vaultUri":"https://clitest000002.vault.azure.net/","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '1366' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 29 May 2020 15:11:41 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-service-version: + - 1.1.0.281 + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: 'b''{"location": "eastus2euap", "properties": {"tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "sku": {"family": "A", "name": "standard"}, "accessPolicies": [{"tenantId": + "72f988bf-86f1-41af-91ab-2d7cd011db47", "objectId": "7f050518-5c2c-490e-a617-e8ea4bccece2", + "permissions": {"keys": ["get", "create", "delete", "list", "update", "import", + "backup", "restore", "recover"], "secrets": ["get", "list", "set", "delete", + "backup", "restore", "recover"], "certificates": ["get", "list", "delete", "create", + "import", "update", "managecontacts", "getissuers", "listissuers", "setissuers", + "deleteissuers", "manageissuers", "recover"], "storage": ["get", "list", "delete", + "set", "update", "regeneratekey", "setsas", "listsas", "getsas", "deletesas"]}}, + {"tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", "objectId": "ed908da5-1e94-4cf7-bd69-0502b1165069", + "permissions": {"keys": ["wrapKey", "recover", "get", "unwrapKey"]}}], "vaultUri": + "https://clitest000002.vault.azure.net/", "enabledForDeployment": false, "enableSoftDelete": + true, "softDeleteRetentionInDays": 90}}''' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - keyvault update + Connection: + - keep-alive + Content-Length: + - '1081' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -n -g --set + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-keyvault/2.2.0 + Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.KeyVault/vaults/clitest000002?api-version=2019-09-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.KeyVault/vaults/clitest000002","name":"clitest000002","type":"Microsoft.KeyVault/vaults","location":"eastus2euap","tags":{"Created + By":"User","environment":"dev"},"properties":{"sku":{"family":"A","name":"standard"},"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","accessPolicies":[{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","objectId":"7f050518-5c2c-490e-a617-e8ea4bccece2","permissions":{"keys":["get","create","delete","list","update","import","backup","restore","recover"],"secrets":["get","list","set","delete","backup","restore","recover"],"certificates":["get","list","delete","create","import","update","managecontacts","getissuers","listissuers","setissuers","deleteissuers","manageissuers","recover"],"storage":["get","list","delete","set","update","regeneratekey","setsas","listsas","getsas","deletesas"]}},{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","objectId":"ed908da5-1e94-4cf7-bd69-0502b1165069","permissions":{"keys":["wrapKey","recover","get","unwrapKey"]}}],"enabledForDeployment":false,"enableSoftDelete":true,"softDeleteRetentionInDays":90,"vaultUri":"https://clitest000002.vault.azure.net/","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '1366' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 29 May 2020 15:11:46 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-service-version: + - 1.1.0.281 + x-ms-ratelimit-remaining-subscription-writes: + - '1194' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - keyvault update + Connection: + - keep-alive + ParameterSetName: + - -n -g --set + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-keyvault/2.2.0 + Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.KeyVault/vaults/clitest000002?api-version=2019-09-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.KeyVault/vaults/clitest000002","name":"clitest000002","type":"Microsoft.KeyVault/vaults","location":"eastus2euap","tags":{"Created + By":"User","environment":"dev"},"properties":{"sku":{"family":"A","name":"standard"},"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","accessPolicies":[{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","objectId":"7f050518-5c2c-490e-a617-e8ea4bccece2","permissions":{"keys":["get","create","delete","list","update","import","backup","restore","recover"],"secrets":["get","list","set","delete","backup","restore","recover"],"certificates":["get","list","delete","create","import","update","managecontacts","getissuers","listissuers","setissuers","deleteissuers","manageissuers","recover"],"storage":["get","list","delete","set","update","regeneratekey","setsas","listsas","getsas","deletesas"]}},{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","objectId":"ed908da5-1e94-4cf7-bd69-0502b1165069","permissions":{"keys":["wrapKey","recover","get","unwrapKey"]}}],"enabledForDeployment":false,"enableSoftDelete":true,"softDeleteRetentionInDays":90,"vaultUri":"https://clitest000002.vault.azure.net/","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '1366' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 29 May 2020 15:11:49 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-service-version: + - 1.1.0.281 + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: 'b''{"location": "eastus2euap", "properties": {"tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "sku": {"family": "A", "name": "standard"}, "accessPolicies": [{"tenantId": + "72f988bf-86f1-41af-91ab-2d7cd011db47", "objectId": "7f050518-5c2c-490e-a617-e8ea4bccece2", + "permissions": {"keys": ["get", "create", "delete", "list", "update", "import", + "backup", "restore", "recover"], "secrets": ["get", "list", "set", "delete", + "backup", "restore", "recover"], "certificates": ["get", "list", "delete", "create", + "import", "update", "managecontacts", "getissuers", "listissuers", "setissuers", + "deleteissuers", "manageissuers", "recover"], "storage": ["get", "list", "delete", + "set", "update", "regeneratekey", "setsas", "listsas", "getsas", "deletesas"]}}, + {"tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", "objectId": "ed908da5-1e94-4cf7-bd69-0502b1165069", + "permissions": {"keys": ["wrapKey", "recover", "get", "unwrapKey"]}}], "vaultUri": + "https://clitest000002.vault.azure.net/", "enabledForDeployment": false, "enableSoftDelete": + true, "softDeleteRetentionInDays": 90, "enablePurgeProtection": true}}''' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - keyvault update + Connection: + - keep-alive + Content-Length: + - '1112' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -n -g --set + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-keyvault/2.2.0 + Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.KeyVault/vaults/clitest000002?api-version=2019-09-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.KeyVault/vaults/clitest000002","name":"clitest000002","type":"Microsoft.KeyVault/vaults","location":"eastus2euap","tags":{"Created + By":"User","environment":"dev"},"properties":{"sku":{"family":"A","name":"standard"},"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","accessPolicies":[{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","objectId":"7f050518-5c2c-490e-a617-e8ea4bccece2","permissions":{"keys":["get","create","delete","list","update","import","backup","restore","recover"],"secrets":["get","list","set","delete","backup","restore","recover"],"certificates":["get","list","delete","create","import","update","managecontacts","getissuers","listissuers","setissuers","deleteissuers","manageissuers","recover"],"storage":["get","list","delete","set","update","regeneratekey","setsas","listsas","getsas","deletesas"]}},{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","objectId":"ed908da5-1e94-4cf7-bd69-0502b1165069","permissions":{"keys":["wrapKey","recover","get","unwrapKey"]}}],"enabledForDeployment":false,"enableSoftDelete":true,"softDeleteRetentionInDays":90,"enablePurgeProtection":true,"vaultUri":"https://clitest000002.vault.azure.net/","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '1395' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 29 May 2020 15:11:54 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-service-version: + - 1.1.0.281 + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '' + 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.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-keyvault/7.0 + Azure-SDK-For-Python + accept-language: + - en-US + method: POST + uri: https://clitest000002.vault.azure.net/keys/testkey/create?api-version=7.0 + response: + body: + string: '{"error":{"code":"Unauthorized","message":"Request is missing a Bearer + or PoP token."}}' + headers: + cache-control: + - no-cache + content-length: + - '87' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 29 May 2020 15:11:56 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000;includeSubDomains + www-authenticate: + - Bearer authorization="https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47", + resource="https://vault.azure.net" + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-network-info: + - conn_type=Ipv4;addr=167.220.255.85;act_addr_fam=InterNetwork; + x-ms-keyvault-region: + - eastus2euap + x-ms-keyvault-service-version: + - 1.1.6.0 + x-powered-by: + - ASP.NET + status: + code: 401 + message: Unauthorized +- request: + body: '{"kty": "RSA", "attributes": {"enabled": true}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '47' + Content-Type: + - application/json; charset=utf-8 + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-keyvault/7.0 + Azure-SDK-For-Python + accept-language: + - en-US + method: POST + uri: https://clitest000002.vault.azure.net/keys/testkey/create?api-version=7.0 + response: + body: + string: '{"key":{"kid":"https://clitest000002.vault.azure.net/keys/testkey/19d6ba87e4a949bcab0242650c44b1ee","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"r1QMcm22kvXF8YUaM4bcoqMQkAPrfvlUBs8Hj3QVRog6r0Dtc1652NEiRF6raeHV_z-qzXLz4Irh2V9E94psAvktd6NgGvEDDXFIeqwAgv2XxHtMkOewE2bWfk8gC-Yfs_awACdjOWD2Pz6N33SKauzVPJRJqNq5JgocsROZEXquBhhlaZZCzBJu_nhFyoWjqifi5tTx5drglTDsSFSD8ucel5EHZy4O-o80lrSkyW4BbRpwPSNS8IPuJPwfZE8Efmu7kgzm37ZumEtNdmEmcBhk_9vMbtMFdOqUqMjMPtV9heGyUHW5OWokiIJaQoAwg5Wf4q8aW-X_0YYmkjjlJw","e":"AQAB"},"attributes":{"enabled":true,"created":1590765117,"updated":1590765117,"recoveryLevel":"Recoverable"}}' + headers: + cache-control: + - no-cache + content-length: + - '656' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 29 May 2020 15:11:57 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000;includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-network-info: + - conn_type=Ipv4;addr=167.220.255.85;act_addr_fam=InterNetwork; + x-ms-keyvault-region: + - eastus2euap + x-ms-keyvault-service-version: + - 1.1.6.0 + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - databricks workspace update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --key-source --key-name --key-version --key-vault + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-databricks/0.1.0 + Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-test-workspace?api-version=2018-04-01 + response: + body: + string: '{"properties":{"managedResourceGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-my-test-workspace-ht1quyw8nrd1y","parameters":{"amlWorkspaceId":{"type":"String","value":""},"customPrivateSubnetName":{"type":"String","value":""},"customPublicSubnetName":{"type":"String","value":""},"customVirtualNetworkId":{"type":"String","value":""},"enableFedRampCertification":{"type":"Bool","value":false},"enableNoPublicIp":{"type":"Bool","value":false},"prepareEncryption":{"type":"Bool","value":true},"loadBalancerBackendPoolName":{"type":"String","value":""},"loadBalancerId":{"type":"String","value":""},"relayNamespaceName":{"type":"String","value":"dbrelayop7zusuqgr5xs"},"resourceTags":{"type":"Object","value":{"application":"databricks","databricks-environment":"true","Created + By":"User","environment":"dev"}},"storageAccountName":{"type":"String","value":"dbstorageop7zusuqgr5xs"},"storageAccountSkuName":{"type":"String","value":"Standard_GRS"},"vnetAddressPrefix":{"type":"String","value":"10.139"}},"provisioningState":"Succeeded","authorizations":[{"principalId":"9a74af6f-d153-4348-988a-e2672920bee9","roleDefinitionId":"8e3af657-a8ff-443c-a75c-2fe8c4bcb635"}],"createdBy":{"oid":"7f050518-5c2c-490e-a617-e8ea4bccece2","puid":"1003200069544A27","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"updatedBy":{"oid":"7f050518-5c2c-490e-a617-e8ea4bccece2","puid":"1003200069544A27","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"workspaceId":"3036789934282478","workspaceUrl":"adb-3036789934282478.18.azuredatabricks.net","createdDateTime":"2020-05-29T15:06:09.1429271Z","storageAccountIdentity":{"principalId":"ed908da5-1e94-4cf7-bd69-0502b1165069","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-test-workspace","name":"my-test-workspace","type":"Microsoft.Databricks/workspaces","sku":{"name":"premium"},"location":"eastus2euap","tags":{"type":"test","Created + By":"User","environment":"dev"}}' + headers: + cache-control: + - no-cache + content-length: + - '2178' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 29 May 2020 15:11:59 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: 'b''{"tags": {"type": "test", "Created By": "User", "environment": "dev"}, + "location": "eastus2euap", "properties": {"managedResourceGroupId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-my-test-workspace-ht1quyw8nrd1y", + "parameters": {"customVirtualNetworkId": {"type": "String", "value": ""}, "customPublicSubnetName": + {"type": "String", "value": ""}, "customPrivateSubnetName": {"type": "String", + "value": ""}, "enableNoPublicIp": {"type": "Bool", "value": false}, "prepareEncryption": + {"type": "Bool", "value": true}, "encryption": {"value": {"keySource": "Microsoft.Keyvault", + "KeyName": "testkey", "keyversion": "19d6ba87e4a949bcab0242650c44b1ee", "keyvaulturi": + "https://clitest000002.vault.azure.net/"}}}, "authorizations": [{"principalId": + "9a74af6f-d153-4348-988a-e2672920bee9", "roleDefinitionId": "8e3af657-a8ff-443c-a75c-2fe8c4bcb635"}], + "createdBy": {}, "updatedBy": {}, "createdDateTime": "2020-05-29T15:06:09.142927Z", + "storageAccountIdentity": {}}, "sku": {"name": "premium"}}''' headers: Accept: - application/json @@ -678,30 +1342,32 @@ interactions: Connection: - keep-alive Content-Length: - - '26' + - '1038' Content-Type: - application/json; charset=utf-8 ParameterSetName: - - --resource-group --name --tags + - --resource-group --name --key-source --key-name --key-version --key-vault User-Agent: - - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databricks/0.1.0 Azure-SDK-For-Python AZURECLI/2.2.0 + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-databricks/0.1.0 + Azure-SDK-For-Python AZURECLI/2.6.0 accept-language: - en-US - method: PATCH + method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-test-workspace?api-version=2018-04-01 response: body: - string: '{"properties":{"managedResourceGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-my-test-workspace-6m4koqadkewk0","publisherPackageId":"databricks.databricks-workspace-previewdatabricks-workspace.0.0.2","parameters":{"customPrivateSubnetName":{"type":"String","value":""},"customPublicSubnetName":{"type":"String","value":""},"customVirtualNetworkId":{"type":"String","value":""},"enableNoPublicIp":{"type":"Bool","value":false},"loadBalancerBackendPoolName":{"type":"String","value":""},"loadBalancerId":{"type":"String","value":""},"relayNamespaceName":{"type":"String","value":"dbrelay6m4koqadkewk0"},"storageAccountName":{"type":"String","value":"dbstorage6m4koqadkewk0"},"storageAccountSkuName":{"type":"String","value":"Standard_GRS"},"vnetAddressPrefix":{"type":"String","value":"10.139"},"resourceTags":{"type":"Object","value":{"application":"databricks","databricks-environment":"true"}},"amlWorkspaceId":{"type":"String","value":""}},"provisioningState":"Succeeded","authorizations":[{"principalId":"9a74af6f-d153-4348-988a-e2672920bee9","roleDefinitionId":"8e3af657-a8ff-443c-a75c-2fe8c4bcb635"}],"createdBy":{"oid":"31e600e0-d7ce-4e98-a927-19bb30042e44","puid":"1003200069544A27","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"updatedBy":{"oid":"31e600e0-d7ce-4e98-a927-19bb30042e44","puid":"1003200069544A27","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"workspaceId":"8075394944208041","workspaceUrl":"adb-8075394944208041.1.azuredatabricks.net","createdDateTime":"2020-03-12T08:49:38.9954664Z"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-test-workspace","name":"my-test-workspace","type":"Microsoft.Databricks/workspaces","sku":{"name":"standard"},"kind":"MarketPlace","location":"westus","tags":{"type":"test"}}' + string: '{"properties":{"managedResourceGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-my-test-workspace-ht1quyw8nrd1y","parameters":{"amlWorkspaceId":{"type":"String","value":""},"customPrivateSubnetName":{"type":"String","value":""},"customPublicSubnetName":{"type":"String","value":""},"customVirtualNetworkId":{"type":"String","value":""},"enableFedRampCertification":{"type":"Bool","value":false},"enableNoPublicIp":{"type":"Bool","value":false},"prepareEncryption":{"type":"Bool","value":true},"loadBalancerBackendPoolName":{"type":"String","value":""},"loadBalancerId":{"type":"String","value":""},"relayNamespaceName":{"type":"String","value":"dbrelayop7zusuqgr5xs"},"resourceTags":{"type":"Object","value":{"application":"databricks","databricks-environment":"true","Created + By":"User","environment":"dev"}},"storageAccountName":{"type":"String","value":"dbstorageop7zusuqgr5xs"},"storageAccountSkuName":{"type":"String","value":"Standard_GRS"},"vnetAddressPrefix":{"type":"String","value":"10.139"},"encryption":{"type":"Object","value":{"keySource":"Microsoft.Keyvault","keyvaulturi":"https://clitest000002.vault.azure.net/","KeyName":"testkey","keyversion":"19d6ba87e4a949bcab0242650c44b1ee"}}},"provisioningState":"Succeeded","authorizations":[{"principalId":"9a74af6f-d153-4348-988a-e2672920bee9","roleDefinitionId":"8e3af657-a8ff-443c-a75c-2fe8c4bcb635"}],"createdBy":{"oid":"7f050518-5c2c-490e-a617-e8ea4bccece2","puid":"1003200069544A27","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"updatedBy":{"oid":"7f050518-5c2c-490e-a617-e8ea4bccece2","puid":"1003200069544A27","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"workspaceId":"3036789934282478","workspaceUrl":"adb-3036789934282478.18.azuredatabricks.net","createdDateTime":"2020-05-29T15:06:09.1429271Z","storageAccountIdentity":{"principalId":"ed908da5-1e94-4cf7-bd69-0502b1165069","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-test-workspace","name":"my-test-workspace","type":"Microsoft.Databricks/workspaces","sku":{"name":"premium"},"location":"eastus2euap","tags":{"type":"test","Created + By":"User","environment":"dev"}}' headers: cache-control: - no-cache content-length: - - '1941' + - '2386' content-type: - application/json; charset=utf-8 date: - - Thu, 12 Mar 2020 08:55:05 GMT + - Fri, 29 May 2020 15:12:04 GMT expires: - '-1' pragma: @@ -715,7 +1381,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1197' status: code: 200 message: OK @@ -727,30 +1393,32 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - databricks workspace show + - databricks workspace update Connection: - keep-alive ParameterSetName: - - --resource-group --name + - --resource-group --name --key-source User-Agent: - - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databricks/0.1.0 Azure-SDK-For-Python AZURECLI/2.2.0 + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-databricks/0.1.0 + Azure-SDK-For-Python AZURECLI/2.6.0 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-test-workspace?api-version=2018-04-01 response: body: - string: '{"properties":{"managedResourceGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-my-test-workspace-6m4koqadkewk0","parameters":{"customPrivateSubnetName":{"type":"String","value":""},"customPublicSubnetName":{"type":"String","value":""},"customVirtualNetworkId":{"type":"String","value":""},"enableNoPublicIp":{"type":"Bool","value":false},"loadBalancerBackendPoolName":{"type":"String","value":""},"loadBalancerId":{"type":"String","value":""},"relayNamespaceName":{"type":"String","value":"dbrelay6m4koqadkewk0"},"storageAccountName":{"type":"String","value":"dbstorage6m4koqadkewk0"},"storageAccountSkuName":{"type":"String","value":"Standard_GRS"},"vnetAddressPrefix":{"type":"String","value":"10.139"},"resourceTags":{"type":"Object","value":{"application":"databricks","databricks-environment":"true"}},"amlWorkspaceId":{"type":"String","value":""}},"provisioningState":"Succeeded","authorizations":[{"principalId":"9a74af6f-d153-4348-988a-e2672920bee9","roleDefinitionId":"8e3af657-a8ff-443c-a75c-2fe8c4bcb635"}],"createdBy":{"oid":"31e600e0-d7ce-4e98-a927-19bb30042e44","puid":"1003200069544A27","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"updatedBy":{"oid":"31e600e0-d7ce-4e98-a927-19bb30042e44","puid":"1003200069544A27","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"workspaceId":"8075394944208041","workspaceUrl":"adb-8075394944208041.1.azuredatabricks.net","createdDateTime":"2020-03-12T08:49:38.9954664Z"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-test-workspace","name":"my-test-workspace","type":"Microsoft.Databricks/workspaces","sku":{"name":"standard"},"location":"westus","tags":{"type":"test"}}' + string: '{"properties":{"managedResourceGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-my-test-workspace-ht1quyw8nrd1y","parameters":{"amlWorkspaceId":{"type":"String","value":""},"customPrivateSubnetName":{"type":"String","value":""},"customPublicSubnetName":{"type":"String","value":""},"customVirtualNetworkId":{"type":"String","value":""},"enableFedRampCertification":{"type":"Bool","value":false},"enableNoPublicIp":{"type":"Bool","value":false},"prepareEncryption":{"type":"Bool","value":true},"loadBalancerBackendPoolName":{"type":"String","value":""},"loadBalancerId":{"type":"String","value":""},"relayNamespaceName":{"type":"String","value":"dbrelayop7zusuqgr5xs"},"resourceTags":{"type":"Object","value":{"application":"databricks","databricks-environment":"true","Created + By":"User","environment":"dev"}},"storageAccountName":{"type":"String","value":"dbstorageop7zusuqgr5xs"},"storageAccountSkuName":{"type":"String","value":"Standard_GRS"},"vnetAddressPrefix":{"type":"String","value":"10.139"},"encryption":{"type":"Object","value":{"keySource":"Microsoft.Keyvault","keyvaulturi":"https://clitest000002.vault.azure.net/","KeyName":"testkey","keyversion":"19d6ba87e4a949bcab0242650c44b1ee"}}},"provisioningState":"Succeeded","authorizations":[{"principalId":"9a74af6f-d153-4348-988a-e2672920bee9","roleDefinitionId":"8e3af657-a8ff-443c-a75c-2fe8c4bcb635"}],"createdBy":{"oid":"7f050518-5c2c-490e-a617-e8ea4bccece2","puid":"1003200069544A27","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"updatedBy":{"oid":"7f050518-5c2c-490e-a617-e8ea4bccece2","puid":"1003200069544A27","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"workspaceId":"3036789934282478","workspaceUrl":"adb-3036789934282478.18.azuredatabricks.net","createdDateTime":"2020-05-29T15:06:09.1429271Z","storageAccountIdentity":{"principalId":"ed908da5-1e94-4cf7-bd69-0502b1165069","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-test-workspace","name":"my-test-workspace","type":"Microsoft.Databricks/workspaces","sku":{"name":"premium"},"location":"eastus2euap","tags":{"type":"test","Created + By":"User","environment":"dev"}}' headers: cache-control: - no-cache content-length: - - '1831' + - '2386' content-type: - application/json; charset=utf-8 date: - - Thu, 12 Mar 2020 08:55:07 GMT + - Fri, 29 May 2020 15:12:05 GMT expires: - '-1' pragma: @@ -767,37 +1435,52 @@ interactions: code: 200 message: OK - request: - body: null + body: '{"tags": {"type": "test", "Created By": "User", "environment": "dev"}, + "location": "eastus2euap", "properties": {"managedResourceGroupId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-my-test-workspace-ht1quyw8nrd1y", + "parameters": {"customVirtualNetworkId": {"type": "String", "value": ""}, "customPublicSubnetName": + {"type": "String", "value": ""}, "customPrivateSubnetName": {"type": "String", + "value": ""}, "enableNoPublicIp": {"type": "Bool", "value": false}, "prepareEncryption": + {"type": "Bool", "value": true}, "encryption": {"type": "Object", "value": {"keySource": + "Default"}}}, "authorizations": [{"principalId": "9a74af6f-d153-4348-988a-e2672920bee9", + "roleDefinitionId": "8e3af657-a8ff-443c-a75c-2fe8c4bcb635"}], "createdBy": {}, + "updatedBy": {}, "createdDateTime": "2020-05-29T15:06:09.142927Z", "storageAccountIdentity": + {}}, "sku": {"name": "premium"}}' headers: Accept: - application/json Accept-Encoding: - gzip, deflate CommandName: - - databricks workspace show + - databricks workspace update Connection: - keep-alive + Content-Length: + - '905' + Content-Type: + - application/json; charset=utf-8 ParameterSetName: - - --ids + - --resource-group --name --key-source User-Agent: - - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databricks/0.1.0 Azure-SDK-For-Python AZURECLI/2.2.0 + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-databricks/0.1.0 + Azure-SDK-For-Python AZURECLI/2.6.0 accept-language: - en-US - method: GET + method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-test-workspace?api-version=2018-04-01 response: body: - string: '{"properties":{"managedResourceGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-my-test-workspace-6m4koqadkewk0","parameters":{"customPrivateSubnetName":{"type":"String","value":""},"customPublicSubnetName":{"type":"String","value":""},"customVirtualNetworkId":{"type":"String","value":""},"enableNoPublicIp":{"type":"Bool","value":false},"loadBalancerBackendPoolName":{"type":"String","value":""},"loadBalancerId":{"type":"String","value":""},"relayNamespaceName":{"type":"String","value":"dbrelay6m4koqadkewk0"},"storageAccountName":{"type":"String","value":"dbstorage6m4koqadkewk0"},"storageAccountSkuName":{"type":"String","value":"Standard_GRS"},"vnetAddressPrefix":{"type":"String","value":"10.139"},"resourceTags":{"type":"Object","value":{"application":"databricks","databricks-environment":"true"}},"amlWorkspaceId":{"type":"String","value":""}},"provisioningState":"Succeeded","authorizations":[{"principalId":"9a74af6f-d153-4348-988a-e2672920bee9","roleDefinitionId":"8e3af657-a8ff-443c-a75c-2fe8c4bcb635"}],"createdBy":{"oid":"31e600e0-d7ce-4e98-a927-19bb30042e44","puid":"1003200069544A27","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"updatedBy":{"oid":"31e600e0-d7ce-4e98-a927-19bb30042e44","puid":"1003200069544A27","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"workspaceId":"8075394944208041","workspaceUrl":"adb-8075394944208041.1.azuredatabricks.net","createdDateTime":"2020-03-12T08:49:38.9954664Z"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-test-workspace","name":"my-test-workspace","type":"Microsoft.Databricks/workspaces","sku":{"name":"standard"},"location":"westus","tags":{"type":"test"}}' + string: '{"properties":{"managedResourceGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-my-test-workspace-ht1quyw8nrd1y","parameters":{"amlWorkspaceId":{"type":"String","value":""},"customPrivateSubnetName":{"type":"String","value":""},"customPublicSubnetName":{"type":"String","value":""},"customVirtualNetworkId":{"type":"String","value":""},"enableFedRampCertification":{"type":"Bool","value":false},"enableNoPublicIp":{"type":"Bool","value":false},"prepareEncryption":{"type":"Bool","value":true},"loadBalancerBackendPoolName":{"type":"String","value":""},"loadBalancerId":{"type":"String","value":""},"relayNamespaceName":{"type":"String","value":"dbrelayop7zusuqgr5xs"},"resourceTags":{"type":"Object","value":{"application":"databricks","databricks-environment":"true","Created + By":"User","environment":"dev"}},"storageAccountName":{"type":"String","value":"dbstorageop7zusuqgr5xs"},"storageAccountSkuName":{"type":"String","value":"Standard_GRS"},"vnetAddressPrefix":{"type":"String","value":"10.139"},"encryption":{"type":"Object","value":{"keySource":"Default"}}},"provisioningState":"Succeeded","authorizations":[{"principalId":"9a74af6f-d153-4348-988a-e2672920bee9","roleDefinitionId":"8e3af657-a8ff-443c-a75c-2fe8c4bcb635"}],"createdBy":{"oid":"7f050518-5c2c-490e-a617-e8ea4bccece2","puid":"1003200069544A27","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"updatedBy":{"oid":"7f050518-5c2c-490e-a617-e8ea4bccece2","puid":"1003200069544A27","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"workspaceId":"3036789934282478","workspaceUrl":"adb-3036789934282478.18.azuredatabricks.net","createdDateTime":"2020-05-29T15:06:09.1429271Z","storageAccountIdentity":{"principalId":"ed908da5-1e94-4cf7-bd69-0502b1165069","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-test-workspace","name":"my-test-workspace","type":"Microsoft.Databricks/workspaces","sku":{"name":"premium"},"location":"eastus2euap","tags":{"type":"test","Created + By":"User","environment":"dev"}}' headers: cache-control: - no-cache content-length: - - '1831' + - '2241' content-type: - application/json; charset=utf-8 date: - - Thu, 12 Mar 2020 08:55:09 GMT + - Fri, 29 May 2020 15:12:38 GMT expires: - '-1' pragma: @@ -810,6 +1493,8 @@ interactions: - Accept-Encoding,Accept-Encoding x-content-type-options: - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1196' status: code: 200 message: OK @@ -821,30 +1506,32 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - databricks workspace list + - databricks workspace show Connection: - keep-alive ParameterSetName: - - --resource-group + - --resource-group --name User-Agent: - - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databricks/0.1.0 Azure-SDK-For-Python AZURECLI/2.2.0 + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-databricks/0.1.0 + Azure-SDK-For-Python AZURECLI/2.6.0 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-test-workspace?api-version=2018-04-01 response: body: - string: '{"value":[{"properties":{"managedResourceGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/custom-managed-rg","parameters":{"customPrivateSubnetName":{"type":"String","value":""},"customPublicSubnetName":{"type":"String","value":""},"customVirtualNetworkId":{"type":"String","value":""},"enableNoPublicIp":{"type":"Bool","value":false},"loadBalancerBackendPoolName":{"type":"String","value":""},"loadBalancerId":{"type":"String","value":""},"relayNamespaceName":{"type":"String","value":"custom-relay-space"},"storageAccountName":{"type":"String","value":"customdbstorage"},"storageAccountSkuName":{"type":"String","value":"Standard_LRS"},"vnetAddressPrefix":{"type":"String","value":"10.139"},"resourceTags":{"type":"Object","value":{"application":"databricks","databricks-environment":"true"}},"amlWorkspaceId":{"type":"String","value":""}},"provisioningState":"Succeeded","authorizations":[{"principalId":"9a74af6f-d153-4348-988a-e2672920bee9","roleDefinitionId":"8e3af657-a8ff-443c-a75c-2fe8c4bcb635"}],"createdBy":{"oid":"31e600e0-d7ce-4e98-a927-19bb30042e44","puid":"1003200069544A27","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"updatedBy":{"oid":"31e600e0-d7ce-4e98-a927-19bb30042e44","puid":"1003200069544A27","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"workspaceId":"8331080537640658","workspaceUrl":"adb-8331080537640658.18.azuredatabricks.net","createdDateTime":"2020-03-12T08:52:04.365053Z"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-custom-workspace","name":"my-custom-workspace","type":"Microsoft.Databricks/workspaces","sku":{"name":"standard"},"location":"westus"},{"properties":{"managedResourceGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-my-test-workspace-6m4koqadkewk0","parameters":{"customPrivateSubnetName":{"type":"String","value":""},"customPublicSubnetName":{"type":"String","value":""},"customVirtualNetworkId":{"type":"String","value":""},"enableNoPublicIp":{"type":"Bool","value":false},"loadBalancerBackendPoolName":{"type":"String","value":""},"loadBalancerId":{"type":"String","value":""},"relayNamespaceName":{"type":"String","value":"dbrelay6m4koqadkewk0"},"storageAccountName":{"type":"String","value":"dbstorage6m4koqadkewk0"},"storageAccountSkuName":{"type":"String","value":"Standard_GRS"},"vnetAddressPrefix":{"type":"String","value":"10.139"},"resourceTags":{"type":"Object","value":{"application":"databricks","databricks-environment":"true"}},"amlWorkspaceId":{"type":"String","value":""}},"provisioningState":"Succeeded","authorizations":[{"principalId":"9a74af6f-d153-4348-988a-e2672920bee9","roleDefinitionId":"8e3af657-a8ff-443c-a75c-2fe8c4bcb635"}],"createdBy":{"oid":"31e600e0-d7ce-4e98-a927-19bb30042e44","puid":"1003200069544A27","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"updatedBy":{"oid":"31e600e0-d7ce-4e98-a927-19bb30042e44","puid":"1003200069544A27","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"workspaceId":"8075394944208041","workspaceUrl":"adb-8075394944208041.1.azuredatabricks.net","createdDateTime":"2020-03-12T08:49:38.9954664Z"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-test-workspace","name":"my-test-workspace","type":"Microsoft.Databricks/workspaces","sku":{"name":"standard"},"location":"westus","tags":{"type":"test"}}]}' + string: '{"properties":{"managedResourceGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-my-test-workspace-ht1quyw8nrd1y","parameters":{"amlWorkspaceId":{"type":"String","value":""},"customPrivateSubnetName":{"type":"String","value":""},"customPublicSubnetName":{"type":"String","value":""},"customVirtualNetworkId":{"type":"String","value":""},"enableFedRampCertification":{"type":"Bool","value":false},"enableNoPublicIp":{"type":"Bool","value":false},"prepareEncryption":{"type":"Bool","value":true},"loadBalancerBackendPoolName":{"type":"String","value":""},"loadBalancerId":{"type":"String","value":""},"relayNamespaceName":{"type":"String","value":"dbrelayop7zusuqgr5xs"},"resourceTags":{"type":"Object","value":{"application":"databricks","databricks-environment":"true","Created + By":"User","environment":"dev"}},"storageAccountName":{"type":"String","value":"dbstorageop7zusuqgr5xs"},"storageAccountSkuName":{"type":"String","value":"Standard_GRS"},"vnetAddressPrefix":{"type":"String","value":"10.139"},"encryption":{"type":"Object","value":{"keySource":"Default"}}},"provisioningState":"Succeeded","authorizations":[{"principalId":"9a74af6f-d153-4348-988a-e2672920bee9","roleDefinitionId":"8e3af657-a8ff-443c-a75c-2fe8c4bcb635"}],"createdBy":{"oid":"7f050518-5c2c-490e-a617-e8ea4bccece2","puid":"1003200069544A27","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"updatedBy":{"oid":"7f050518-5c2c-490e-a617-e8ea4bccece2","puid":"1003200069544A27","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"workspaceId":"3036789934282478","workspaceUrl":"adb-3036789934282478.18.azuredatabricks.net","createdDateTime":"2020-05-29T15:06:09.1429271Z","storageAccountIdentity":{"principalId":"ed908da5-1e94-4cf7-bd69-0502b1165069","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-test-workspace","name":"my-test-workspace","type":"Microsoft.Databricks/workspaces","sku":{"name":"premium"},"location":"eastus2euap","tags":{"type":"test","Created + By":"User","environment":"dev"}}' headers: cache-control: - no-cache content-length: - - '3619' + - '2241' content-type: - application/json; charset=utf-8 date: - - Thu, 12 Mar 2020 08:55:11 GMT + - Fri, 29 May 2020 15:12:40 GMT expires: - '-1' pragma: @@ -868,45 +1555,47 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - databricks workspace delete + - databricks workspace show Connection: - keep-alive - Content-Length: - - '0' ParameterSetName: - - --resource-group --name -y + - --ids User-Agent: - - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databricks/0.1.0 Azure-SDK-For-Python AZURECLI/2.2.0 + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-databricks/0.1.0 + Azure-SDK-For-Python AZURECLI/2.6.0 accept-language: - en-US - method: DELETE + method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-test-workspace?api-version=2018-04-01 response: body: - string: '' + string: '{"properties":{"managedResourceGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-my-test-workspace-ht1quyw8nrd1y","parameters":{"amlWorkspaceId":{"type":"String","value":""},"customPrivateSubnetName":{"type":"String","value":""},"customPublicSubnetName":{"type":"String","value":""},"customVirtualNetworkId":{"type":"String","value":""},"enableFedRampCertification":{"type":"Bool","value":false},"enableNoPublicIp":{"type":"Bool","value":false},"prepareEncryption":{"type":"Bool","value":true},"loadBalancerBackendPoolName":{"type":"String","value":""},"loadBalancerId":{"type":"String","value":""},"relayNamespaceName":{"type":"String","value":"dbrelayop7zusuqgr5xs"},"resourceTags":{"type":"Object","value":{"application":"databricks","databricks-environment":"true","Created + By":"User","environment":"dev"}},"storageAccountName":{"type":"String","value":"dbstorageop7zusuqgr5xs"},"storageAccountSkuName":{"type":"String","value":"Standard_GRS"},"vnetAddressPrefix":{"type":"String","value":"10.139"},"encryption":{"type":"Object","value":{"keySource":"Default"}}},"provisioningState":"Succeeded","authorizations":[{"principalId":"9a74af6f-d153-4348-988a-e2672920bee9","roleDefinitionId":"8e3af657-a8ff-443c-a75c-2fe8c4bcb635"}],"createdBy":{"oid":"7f050518-5c2c-490e-a617-e8ea4bccece2","puid":"1003200069544A27","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"updatedBy":{"oid":"7f050518-5c2c-490e-a617-e8ea4bccece2","puid":"1003200069544A27","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"workspaceId":"3036789934282478","workspaceUrl":"adb-3036789934282478.18.azuredatabricks.net","createdDateTime":"2020-05-29T15:06:09.1429271Z","storageAccountIdentity":{"principalId":"ed908da5-1e94-4cf7-bd69-0502b1165069","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-test-workspace","name":"my-test-workspace","type":"Microsoft.Databricks/workspaces","sku":{"name":"premium"},"location":"eastus2euap","tags":{"type":"test","Created + By":"User","environment":"dev"}}' headers: cache-control: - no-cache content-length: - - '0' + - '2241' + content-type: + - application/json; charset=utf-8 date: - - Thu, 12 Mar 2020 08:55:12 GMT + - Fri, 29 May 2020 15:12:43 GMT expires: - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N5M2h3NDdzNndldjRlZHJuNTR5emJ2bjQyMmFocW51bGxmbjJhb2N2d29jaHZ6NnE2dHFoeGt6ai9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NZM0hXNDdTNldFVjRFRFJONTRZWkJWTjQ6N0MwQjk0RDlBNEIxMzM1MEYzOjJETVk6fDVFMTJGQzkwQUM0OUJCNkQifQ?api-version=2018-04-01 pragma: - no-cache strict-transport-security: - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding x-content-type-options: - nosniff - x-ms-ratelimit-remaining-subscription-deletes: - - '14998' status: - code: 202 - message: Accepted + code: 200 + message: OK - request: body: null headers: @@ -915,39 +1604,50 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - databricks workspace delete + - databricks workspace list Connection: - keep-alive ParameterSetName: - - --resource-group --name -y + - --resource-group User-Agent: - - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databricks/0.1.0 Azure-SDK-For-Python AZURECLI/2.2.0 + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-databricks/0.1.0 + Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N5M2h3NDdzNndldjRlZHJuNTR5emJ2bjQyMmFocW51bGxmbjJhb2N2d29jaHZ6NnE2dHFoeGt6ai9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NZM0hXNDdTNldFVjRFRFJONTRZWkJWTjQ6N0MwQjk0RDlBNEIxMzM1MEYzOjJETVk6fDVFMTJGQzkwQUM0OUJCNkQifQ?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces?api-version=2018-04-01 response: body: - string: '{"status":"Accepted"}' + string: '{"value":[{"properties":{"managedResourceGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/custom-managed-rg","parameters":{"amlWorkspaceId":{"type":"String","value":""},"customPrivateSubnetName":{"type":"String","value":""},"customPublicSubnetName":{"type":"String","value":""},"customVirtualNetworkId":{"type":"String","value":""},"enableFedRampCertification":{"type":"Bool","value":false},"enableNoPublicIp":{"type":"Bool","value":false},"loadBalancerBackendPoolName":{"type":"String","value":""},"loadBalancerId":{"type":"String","value":""},"relayNamespaceName":{"type":"String","value":"dbrelaypqbf5u5j5xdag"},"resourceTags":{"type":"Object","value":{"application":"databricks","databricks-environment":"true","Created + By":"User","environment":"dev"}},"storageAccountName":{"type":"String","value":"dbstoragepqbf5u5j5xdag"},"storageAccountSkuName":{"type":"String","value":"Standard_GRS"},"vnetAddressPrefix":{"type":"String","value":"10.139"}},"provisioningState":"Succeeded","authorizations":[{"principalId":"9a74af6f-d153-4348-988a-e2672920bee9","roleDefinitionId":"8e3af657-a8ff-443c-a75c-2fe8c4bcb635"}],"createdBy":{"oid":"7f050518-5c2c-490e-a617-e8ea4bccece2","puid":"1003200069544A27","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"updatedBy":{"oid":"7f050518-5c2c-490e-a617-e8ea4bccece2","puid":"1003200069544A27","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"workspaceId":"3636106315055432","workspaceUrl":"adb-3636106315055432.12.azuredatabricks.net","createdDateTime":"2020-05-29T15:08:35.8010165Z"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-custom-workspace","name":"my-custom-workspace","type":"Microsoft.Databricks/workspaces","sku":{"name":"standard"},"location":"westus","tags":{"Created + By":"User","environment":"dev"}},{"properties":{"managedResourceGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-my-test-workspace-ht1quyw8nrd1y","parameters":{"amlWorkspaceId":{"type":"String","value":""},"customPrivateSubnetName":{"type":"String","value":""},"customPublicSubnetName":{"type":"String","value":""},"customVirtualNetworkId":{"type":"String","value":""},"enableFedRampCertification":{"type":"Bool","value":false},"enableNoPublicIp":{"type":"Bool","value":false},"prepareEncryption":{"type":"Bool","value":true},"loadBalancerBackendPoolName":{"type":"String","value":""},"loadBalancerId":{"type":"String","value":""},"relayNamespaceName":{"type":"String","value":"dbrelayop7zusuqgr5xs"},"resourceTags":{"type":"Object","value":{"application":"databricks","databricks-environment":"true","Created + By":"User","environment":"dev"}},"storageAccountName":{"type":"String","value":"dbstorageop7zusuqgr5xs"},"storageAccountSkuName":{"type":"String","value":"Standard_GRS"},"vnetAddressPrefix":{"type":"String","value":"10.139"},"encryption":{"type":"Object","value":{"keySource":"Default"}}},"provisioningState":"Succeeded","authorizations":[{"principalId":"9a74af6f-d153-4348-988a-e2672920bee9","roleDefinitionId":"8e3af657-a8ff-443c-a75c-2fe8c4bcb635"}],"createdBy":{"oid":"7f050518-5c2c-490e-a617-e8ea4bccece2","puid":"1003200069544A27","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"updatedBy":{"oid":"7f050518-5c2c-490e-a617-e8ea4bccece2","puid":"1003200069544A27","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"workspaceId":"3036789934282478","workspaceUrl":"adb-3036789934282478.18.azuredatabricks.net","createdDateTime":"2020-05-29T15:06:09.1429271Z","storageAccountIdentity":{"principalId":"ed908da5-1e94-4cf7-bd69-0502b1165069","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-test-workspace","name":"my-test-workspace","type":"Microsoft.Databricks/workspaces","sku":{"name":"premium"},"location":"eastus2euap","tags":{"type":"test","Created + By":"User","environment":"dev"}}]}' headers: cache-control: - no-cache content-length: - - '21' + - '4187' content-type: - application/json; charset=utf-8 date: - - Thu, 12 Mar 2020 08:55:28 GMT + - Fri, 29 May 2020 15:12:44 GMT expires: - '-1' pragma: - no-cache strict-transport-security: - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding x-content-type-options: - nosniff + x-ms-original-request-ids: + - westus:36c1bb06-8e56-4cac-92a1-48ddda96d140 + - eastus2:b5227394-152b-49e6-aec8-4be30acf8979 status: - code: 202 - message: Accepted + code: 200 + message: OK - request: body: null headers: @@ -959,33 +1659,39 @@ interactions: - databricks workspace delete Connection: - keep-alive + Content-Length: + - '0' ParameterSetName: - --resource-group --name -y User-Agent: - - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databricks/0.1.0 Azure-SDK-For-Python AZURECLI/2.2.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N5M2h3NDdzNndldjRlZHJuNTR5emJ2bjQyMmFocW51bGxmbjJhb2N2d29jaHZ6NnE2dHFoeGt6ai9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NZM0hXNDdTNldFVjRFRFJONTRZWkJWTjQ6N0MwQjk0RDlBNEIxMzM1MEYzOjJETVk6fDVFMTJGQzkwQUM0OUJCNkQifQ?api-version=2018-04-01 + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-databricks/0.1.0 + Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-test-workspace?api-version=2018-04-01 response: body: - string: '{"status":"Accepted"}' + string: '' headers: cache-control: - no-cache content-length: - - '21' - content-type: - - application/json; charset=utf-8 + - '0' date: - - Thu, 12 Mar 2020 08:55:59 GMT + - Fri, 29 May 2020 15:12:47 GMT expires: - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus2euap/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMDE0MDkxMWUtMTA0MC00OGRhLThiYzktYjk5ZmIzZGQ4OGE2L3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NncHF1cm1paGhzc21idDZveGZ1bXZwYXd5eWNmaG83anZ3YWJtYmRlczY0enJxcnRuajNpbWI0ci9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NHUFFVUk1JSEhTU01CVDZPWEZVTVZQQVc6N0NFODFGREExMjc3RkUzQTc2OjJETVk6fDBFOUFEMzYyNTk4ODhGQUYifQ?api-version=2018-04-01 pragma: - no-cache strict-transport-security: - max-age=31536000; includeSubDomains x-content-type-options: - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' status: code: 202 message: Accepted @@ -1003,10 +1709,10 @@ interactions: ParameterSetName: - --resource-group --name -y User-Agent: - - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databricks/0.1.0 Azure-SDK-For-Python AZURECLI/2.2.0 + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-databricks/0.1.0 + Azure-SDK-For-Python AZURECLI/2.6.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N5M2h3NDdzNndldjRlZHJuNTR5emJ2bjQyMmFocW51bGxmbjJhb2N2d29jaHZ6NnE2dHFoeGt6ai9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NZM0hXNDdTNldFVjRFRFJONTRZWkJWTjQ6N0MwQjk0RDlBNEIxMzM1MEYzOjJETVk6fDVFMTJGQzkwQUM0OUJCNkQifQ?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus2euap/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMDE0MDkxMWUtMTA0MC00OGRhLThiYzktYjk5ZmIzZGQ4OGE2L3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NncHF1cm1paGhzc21idDZveGZ1bXZwYXd5eWNmaG83anZ3YWJtYmRlczY0enJxcnRuajNpbWI0ci9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NHUFFVUk1JSEhTU01CVDZPWEZVTVZQQVc6N0NFODFGREExMjc3RkUzQTc2OjJETVk6fDBFOUFEMzYyNTk4ODhGQUYifQ?api-version=2018-04-01 response: body: string: '{"status":"Accepted"}' @@ -1018,7 +1724,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 12 Mar 2020 08:56:30 GMT + - Fri, 29 May 2020 15:13:05 GMT expires: - '-1' pragma: @@ -1044,10 +1750,10 @@ interactions: ParameterSetName: - --resource-group --name -y User-Agent: - - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databricks/0.1.0 Azure-SDK-For-Python AZURECLI/2.2.0 + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-databricks/0.1.0 + Azure-SDK-For-Python AZURECLI/2.6.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N5M2h3NDdzNndldjRlZHJuNTR5emJ2bjQyMmFocW51bGxmbjJhb2N2d29jaHZ6NnE2dHFoeGt6ai9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NZM0hXNDdTNldFVjRFRFJONTRZWkJWTjQ6N0MwQjk0RDlBNEIxMzM1MEYzOjJETVk6fDVFMTJGQzkwQUM0OUJCNkQifQ?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus2euap/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMDE0MDkxMWUtMTA0MC00OGRhLThiYzktYjk5ZmIzZGQ4OGE2L3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NncHF1cm1paGhzc21idDZveGZ1bXZwYXd5eWNmaG83anZ3YWJtYmRlczY0enJxcnRuajNpbWI0ci9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NHUFFVUk1JSEhTU01CVDZPWEZVTVZQQVc6N0NFODFGREExMjc3RkUzQTc2OjJETVk6fDBFOUFEMzYyNTk4ODhGQUYifQ?api-version=2018-04-01 response: body: string: '{"status":"Accepted"}' @@ -1059,7 +1765,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 12 Mar 2020 08:57:00 GMT + - Fri, 29 May 2020 15:13:35 GMT expires: - '-1' pragma: @@ -1085,10 +1791,10 @@ interactions: ParameterSetName: - --resource-group --name -y User-Agent: - - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databricks/0.1.0 Azure-SDK-For-Python AZURECLI/2.2.0 + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-databricks/0.1.0 + Azure-SDK-For-Python AZURECLI/2.6.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N5M2h3NDdzNndldjRlZHJuNTR5emJ2bjQyMmFocW51bGxmbjJhb2N2d29jaHZ6NnE2dHFoeGt6ai9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NZM0hXNDdTNldFVjRFRFJONTRZWkJWTjQ6N0MwQjk0RDlBNEIxMzM1MEYzOjJETVk6fDVFMTJGQzkwQUM0OUJCNkQifQ?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus2euap/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMDE0MDkxMWUtMTA0MC00OGRhLThiYzktYjk5ZmIzZGQ4OGE2L3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NncHF1cm1paGhzc21idDZveGZ1bXZwYXd5eWNmaG83anZ3YWJtYmRlczY0enJxcnRuajNpbWI0ci9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NHUFFVUk1JSEhTU01CVDZPWEZVTVZQQVc6N0NFODFGREExMjc3RkUzQTc2OjJETVk6fDBFOUFEMzYyNTk4ODhGQUYifQ?api-version=2018-04-01 response: body: string: '{"status":"Accepted"}' @@ -1100,7 +1806,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 12 Mar 2020 08:57:30 GMT + - Fri, 29 May 2020 15:14:05 GMT expires: - '-1' pragma: @@ -1126,10 +1832,10 @@ interactions: ParameterSetName: - --resource-group --name -y User-Agent: - - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databricks/0.1.0 Azure-SDK-For-Python AZURECLI/2.2.0 + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-databricks/0.1.0 + Azure-SDK-For-Python AZURECLI/2.6.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N5M2h3NDdzNndldjRlZHJuNTR5emJ2bjQyMmFocW51bGxmbjJhb2N2d29jaHZ6NnE2dHFoeGt6ai9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NZM0hXNDdTNldFVjRFRFJONTRZWkJWTjQ6N0MwQjk0RDlBNEIxMzM1MEYzOjJETVk6fDVFMTJGQzkwQUM0OUJCNkQifQ?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus2euap/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMDE0MDkxMWUtMTA0MC00OGRhLThiYzktYjk5ZmIzZGQ4OGE2L3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NncHF1cm1paGhzc21idDZveGZ1bXZwYXd5eWNmaG83anZ3YWJtYmRlczY0enJxcnRuajNpbWI0ci9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NHUFFVUk1JSEhTU01CVDZPWEZVTVZQQVc6N0NFODFGREExMjc3RkUzQTc2OjJETVk6fDBFOUFEMzYyNTk4ODhGQUYifQ?api-version=2018-04-01 response: body: string: '{"status":"Accepted"}' @@ -1141,7 +1847,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 12 Mar 2020 08:58:02 GMT + - Fri, 29 May 2020 15:14:36 GMT expires: - '-1' pragma: @@ -1167,10 +1873,10 @@ interactions: ParameterSetName: - --resource-group --name -y User-Agent: - - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databricks/0.1.0 Azure-SDK-For-Python AZURECLI/2.2.0 + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-databricks/0.1.0 + Azure-SDK-For-Python AZURECLI/2.6.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N5M2h3NDdzNndldjRlZHJuNTR5emJ2bjQyMmFocW51bGxmbjJhb2N2d29jaHZ6NnE2dHFoeGt6ai9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NZM0hXNDdTNldFVjRFRFJONTRZWkJWTjQ6N0MwQjk0RDlBNEIxMzM1MEYzOjJETVk6fDVFMTJGQzkwQUM0OUJCNkQifQ?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus2euap/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMDE0MDkxMWUtMTA0MC00OGRhLThiYzktYjk5ZmIzZGQ4OGE2L3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NncHF1cm1paGhzc21idDZveGZ1bXZwYXd5eWNmaG83anZ3YWJtYmRlczY0enJxcnRuajNpbWI0ci9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NHUFFVUk1JSEhTU01CVDZPWEZVTVZQQVc6N0NFODFGREExMjc3RkUzQTc2OjJETVk6fDBFOUFEMzYyNTk4ODhGQUYifQ?api-version=2018-04-01 response: body: string: '{"status":"Accepted"}' @@ -1182,7 +1888,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 12 Mar 2020 08:58:32 GMT + - Fri, 29 May 2020 15:15:06 GMT expires: - '-1' pragma: @@ -1208,10 +1914,10 @@ interactions: ParameterSetName: - --resource-group --name -y User-Agent: - - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databricks/0.1.0 Azure-SDK-For-Python AZURECLI/2.2.0 + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-databricks/0.1.0 + Azure-SDK-For-Python AZURECLI/2.6.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N5M2h3NDdzNndldjRlZHJuNTR5emJ2bjQyMmFocW51bGxmbjJhb2N2d29jaHZ6NnE2dHFoeGt6ai9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NZM0hXNDdTNldFVjRFRFJONTRZWkJWTjQ6N0MwQjk0RDlBNEIxMzM1MEYzOjJETVk6fDVFMTJGQzkwQUM0OUJCNkQifQ?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus2euap/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMDE0MDkxMWUtMTA0MC00OGRhLThiYzktYjk5ZmIzZGQ4OGE2L3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NncHF1cm1paGhzc21idDZveGZ1bXZwYXd5eWNmaG83anZ3YWJtYmRlczY0enJxcnRuajNpbWI0ci9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NHUFFVUk1JSEhTU01CVDZPWEZVTVZQQVc6N0NFODFGREExMjc3RkUzQTc2OjJETVk6fDBFOUFEMzYyNTk4ODhGQUYifQ?api-version=2018-04-01 response: body: string: '{"status":"Accepted"}' @@ -1223,7 +1929,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 12 Mar 2020 08:59:02 GMT + - Fri, 29 May 2020 15:15:36 GMT expires: - '-1' pragma: @@ -1249,10 +1955,10 @@ interactions: ParameterSetName: - --resource-group --name -y User-Agent: - - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databricks/0.1.0 Azure-SDK-For-Python AZURECLI/2.2.0 + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-databricks/0.1.0 + Azure-SDK-For-Python AZURECLI/2.6.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N5M2h3NDdzNndldjRlZHJuNTR5emJ2bjQyMmFocW51bGxmbjJhb2N2d29jaHZ6NnE2dHFoeGt6ai9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NZM0hXNDdTNldFVjRFRFJONTRZWkJWTjQ6N0MwQjk0RDlBNEIxMzM1MEYzOjJETVk6fDVFMTJGQzkwQUM0OUJCNkQifQ?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus2euap/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMDE0MDkxMWUtMTA0MC00OGRhLThiYzktYjk5ZmIzZGQ4OGE2L3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NncHF1cm1paGhzc21idDZveGZ1bXZwYXd5eWNmaG83anZ3YWJtYmRlczY0enJxcnRuajNpbWI0ci9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NHUFFVUk1JSEhTU01CVDZPWEZVTVZQQVc6N0NFODFGREExMjc3RkUzQTc2OjJETVk6fDBFOUFEMzYyNTk4ODhGQUYifQ?api-version=2018-04-01 response: body: string: '{"status":"Accepted"}' @@ -1264,7 +1970,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 12 Mar 2020 08:59:33 GMT + - Fri, 29 May 2020 15:16:08 GMT expires: - '-1' pragma: @@ -1290,10 +1996,10 @@ interactions: ParameterSetName: - --resource-group --name -y User-Agent: - - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databricks/0.1.0 Azure-SDK-For-Python AZURECLI/2.2.0 + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-databricks/0.1.0 + Azure-SDK-For-Python AZURECLI/2.6.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N5M2h3NDdzNndldjRlZHJuNTR5emJ2bjQyMmFocW51bGxmbjJhb2N2d29jaHZ6NnE2dHFoeGt6ai9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NZM0hXNDdTNldFVjRFRFJONTRZWkJWTjQ6N0MwQjk0RDlBNEIxMzM1MEYzOjJETVk6fDVFMTJGQzkwQUM0OUJCNkQifQ?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus2euap/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMDE0MDkxMWUtMTA0MC00OGRhLThiYzktYjk5ZmIzZGQ4OGE2L3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NncHF1cm1paGhzc21idDZveGZ1bXZwYXd5eWNmaG83anZ3YWJtYmRlczY0enJxcnRuajNpbWI0ci9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NHUFFVUk1JSEhTU01CVDZPWEZVTVZQQVc6N0NFODFGREExMjc3RkUzQTc2OjJETVk6fDBFOUFEMzYyNTk4ODhGQUYifQ?api-version=2018-04-01 response: body: string: '{"status":"Accepted"}' @@ -1305,7 +2011,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 12 Mar 2020 09:00:04 GMT + - Fri, 29 May 2020 15:16:39 GMT expires: - '-1' pragma: @@ -1331,37 +2037,33 @@ interactions: ParameterSetName: - --resource-group --name -y User-Agent: - - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databricks/0.1.0 Azure-SDK-For-Python AZURECLI/2.2.0 + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-databricks/0.1.0 + Azure-SDK-For-Python AZURECLI/2.6.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N5M2h3NDdzNndldjRlZHJuNTR5emJ2bjQyMmFocW51bGxmbjJhb2N2d29jaHZ6NnE2dHFoeGt6ai9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NZM0hXNDdTNldFVjRFRFJONTRZWkJWTjQ6N0MwQjk0RDlBNEIxMzM1MEYzOjJETVk6fDVFMTJGQzkwQUM0OUJCNkQifQ?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus2euap/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMDE0MDkxMWUtMTA0MC00OGRhLThiYzktYjk5ZmIzZGQ4OGE2L3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NncHF1cm1paGhzc21idDZveGZ1bXZwYXd5eWNmaG83anZ3YWJtYmRlczY0enJxcnRuajNpbWI0ci9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NHUFFVUk1JSEhTU01CVDZPWEZVTVZQQVc6N0NFODFGREExMjc3RkUzQTc2OjJETVk6fDBFOUFEMzYyNTk4ODhGQUYifQ?api-version=2018-04-01 response: body: - string: '{"status":"Succeeded"}' + string: '{"status":"Accepted"}' headers: cache-control: - no-cache content-length: - - '22' + - '21' content-type: - application/json; charset=utf-8 date: - - Thu, 12 Mar 2020 09:00:34 GMT + - Fri, 29 May 2020 15:17:09 GMT expires: - '-1' pragma: - no-cache strict-transport-security: - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding x-content-type-options: - nosniff status: - code: 200 - message: OK + code: 202 + message: Accepted - request: body: null headers: @@ -1373,39 +2075,33 @@ interactions: - databricks workspace delete Connection: - keep-alive - Content-Length: - - '0' ParameterSetName: - --resource-group --name -y User-Agent: - - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databricks/0.1.0 Azure-SDK-For-Python AZURECLI/2.2.0 - accept-language: - - en-US - method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-custom-workspace?api-version=2018-04-01 + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-databricks/0.1.0 + Azure-SDK-For-Python AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus2euap/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMDE0MDkxMWUtMTA0MC00OGRhLThiYzktYjk5ZmIzZGQ4OGE2L3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NncHF1cm1paGhzc21idDZveGZ1bXZwYXd5eWNmaG83anZ3YWJtYmRlczY0enJxcnRuajNpbWI0ci9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NHUFFVUk1JSEhTU01CVDZPWEZVTVZQQVc6N0NFODFGREExMjc3RkUzQTc2OjJETVk6fDBFOUFEMzYyNTk4ODhGQUYifQ?api-version=2018-04-01 response: body: - string: '' + string: '{"status":"Accepted"}' headers: cache-control: - no-cache content-length: - - '0' + - '21' + content-type: + - application/json; charset=utf-8 date: - - Thu, 12 Mar 2020 09:00:38 GMT + - Fri, 29 May 2020 15:17:40 GMT expires: - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N5M2h3NDdzNndldjRlZHJuNTR5emJ2bjQyMmFocW51bGxmbjJhb2N2d29jaHZ6NnE2dHFoeGt6ai9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VEZXByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLU1kzSFc0N1M2V0VWNEVEUk41NFlaQlZONDo3QzBCOTREOUE0QjEzMzUwRjM6MkRNWTp8MzFCOTc3QkRDNDM4Q0IwRiJ9?api-version=2018-04-01 pragma: - no-cache strict-transport-security: - max-age=31536000; includeSubDomains x-content-type-options: - nosniff - x-ms-ratelimit-remaining-subscription-deletes: - - '14999' status: code: 202 message: Accepted @@ -1423,33 +2119,37 @@ interactions: ParameterSetName: - --resource-group --name -y User-Agent: - - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databricks/0.1.0 Azure-SDK-For-Python AZURECLI/2.2.0 + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-databricks/0.1.0 + Azure-SDK-For-Python AZURECLI/2.6.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N5M2h3NDdzNndldjRlZHJuNTR5emJ2bjQyMmFocW51bGxmbjJhb2N2d29jaHZ6NnE2dHFoeGt6ai9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VEZXByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLU1kzSFc0N1M2V0VWNEVEUk41NFlaQlZONDo3QzBCOTREOUE0QjEzMzUwRjM6MkRNWTp8MzFCOTc3QkRDNDM4Q0IwRiJ9?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus2euap/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMDE0MDkxMWUtMTA0MC00OGRhLThiYzktYjk5ZmIzZGQ4OGE2L3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NncHF1cm1paGhzc21idDZveGZ1bXZwYXd5eWNmaG83anZ3YWJtYmRlczY0enJxcnRuajNpbWI0ci9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NHUFFVUk1JSEhTU01CVDZPWEZVTVZQQVc6N0NFODFGREExMjc3RkUzQTc2OjJETVk6fDBFOUFEMzYyNTk4ODhGQUYifQ?api-version=2018-04-01 response: body: - string: '{"status":"Accepted"}' + string: '{"status":"Succeeded"}' headers: cache-control: - no-cache content-length: - - '21' + - '22' content-type: - application/json; charset=utf-8 date: - - Thu, 12 Mar 2020 09:00:55 GMT + - Fri, 29 May 2020 15:18:10 GMT expires: - '-1' pragma: - no-cache strict-transport-security: - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding x-content-type-options: - nosniff status: - code: 202 - message: Accepted + code: 200 + message: OK - request: body: null headers: @@ -1461,33 +2161,39 @@ interactions: - databricks workspace delete Connection: - keep-alive + Content-Length: + - '0' ParameterSetName: - --resource-group --name -y User-Agent: - - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databricks/0.1.0 Azure-SDK-For-Python AZURECLI/2.2.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N5M2h3NDdzNndldjRlZHJuNTR5emJ2bjQyMmFocW51bGxmbjJhb2N2d29jaHZ6NnE2dHFoeGt6ai9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VEZXByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLU1kzSFc0N1M2V0VWNEVEUk41NFlaQlZONDo3QzBCOTREOUE0QjEzMzUwRjM6MkRNWTp8MzFCOTc3QkRDNDM4Q0IwRiJ9?api-version=2018-04-01 + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-databricks/0.1.0 + Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-custom-workspace?api-version=2018-04-01 response: body: - string: '{"status":"Accepted"}' + string: '' headers: cache-control: - no-cache content-length: - - '21' - content-type: - - application/json; charset=utf-8 + - '0' date: - - Thu, 12 Mar 2020 09:01:25 GMT + - Fri, 29 May 2020 15:18:13 GMT expires: - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMDE0MDkxMWUtMTA0MC00OGRhLThiYzktYjk5ZmIzZGQ4OGE2L3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NncHF1cm1paGhzc21idDZveGZ1bXZwYXd5eWNmaG83anZ3YWJtYmRlczY0enJxcnRuajNpbWI0ci9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VEZXByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLU0dQUVVSTUlISFNTTUJUNk9YRlVNVlBBVzo3Q0U4MUZEQTEyNzdGRTNBNzY6MkRNWTp8QjAxREIzRTk0RUREMUM5RiJ9?api-version=2018-04-01 pragma: - no-cache strict-transport-security: - max-age=31536000; includeSubDomains x-content-type-options: - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' status: code: 202 message: Accepted @@ -1505,10 +2211,10 @@ interactions: ParameterSetName: - --resource-group --name -y User-Agent: - - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databricks/0.1.0 Azure-SDK-For-Python AZURECLI/2.2.0 + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-databricks/0.1.0 + Azure-SDK-For-Python AZURECLI/2.6.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N5M2h3NDdzNndldjRlZHJuNTR5emJ2bjQyMmFocW51bGxmbjJhb2N2d29jaHZ6NnE2dHFoeGt6ai9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VEZXByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLU1kzSFc0N1M2V0VWNEVEUk41NFlaQlZONDo3QzBCOTREOUE0QjEzMzUwRjM6MkRNWTp8MzFCOTc3QkRDNDM4Q0IwRiJ9?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMDE0MDkxMWUtMTA0MC00OGRhLThiYzktYjk5ZmIzZGQ4OGE2L3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NncHF1cm1paGhzc21idDZveGZ1bXZwYXd5eWNmaG83anZ3YWJtYmRlczY0enJxcnRuajNpbWI0ci9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VEZXByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLU0dQUVVSTUlISFNTTUJUNk9YRlVNVlBBVzo3Q0U4MUZEQTEyNzdGRTNBNzY6MkRNWTp8QjAxREIzRTk0RUREMUM5RiJ9?api-version=2018-04-01 response: body: string: '{"status":"Accepted"}' @@ -1520,7 +2226,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 12 Mar 2020 09:01:55 GMT + - Fri, 29 May 2020 15:18:28 GMT expires: - '-1' pragma: @@ -1546,10 +2252,10 @@ interactions: ParameterSetName: - --resource-group --name -y User-Agent: - - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databricks/0.1.0 Azure-SDK-For-Python AZURECLI/2.2.0 + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-databricks/0.1.0 + Azure-SDK-For-Python AZURECLI/2.6.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N5M2h3NDdzNndldjRlZHJuNTR5emJ2bjQyMmFocW51bGxmbjJhb2N2d29jaHZ6NnE2dHFoeGt6ai9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VEZXByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLU1kzSFc0N1M2V0VWNEVEUk41NFlaQlZONDo3QzBCOTREOUE0QjEzMzUwRjM6MkRNWTp8MzFCOTc3QkRDNDM4Q0IwRiJ9?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMDE0MDkxMWUtMTA0MC00OGRhLThiYzktYjk5ZmIzZGQ4OGE2L3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NncHF1cm1paGhzc21idDZveGZ1bXZwYXd5eWNmaG83anZ3YWJtYmRlczY0enJxcnRuajNpbWI0ci9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VEZXByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLU0dQUVVSTUlISFNTTUJUNk9YRlVNVlBBVzo3Q0U4MUZEQTEyNzdGRTNBNzY6MkRNWTp8QjAxREIzRTk0RUREMUM5RiJ9?api-version=2018-04-01 response: body: string: '{"status":"Accepted"}' @@ -1561,7 +2267,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 12 Mar 2020 09:02:26 GMT + - Fri, 29 May 2020 15:18:59 GMT expires: - '-1' pragma: @@ -1587,10 +2293,10 @@ interactions: ParameterSetName: - --resource-group --name -y User-Agent: - - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databricks/0.1.0 Azure-SDK-For-Python AZURECLI/2.2.0 + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-databricks/0.1.0 + Azure-SDK-For-Python AZURECLI/2.6.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N5M2h3NDdzNndldjRlZHJuNTR5emJ2bjQyMmFocW51bGxmbjJhb2N2d29jaHZ6NnE2dHFoeGt6ai9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VEZXByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLU1kzSFc0N1M2V0VWNEVEUk41NFlaQlZONDo3QzBCOTREOUE0QjEzMzUwRjM6MkRNWTp8MzFCOTc3QkRDNDM4Q0IwRiJ9?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMDE0MDkxMWUtMTA0MC00OGRhLThiYzktYjk5ZmIzZGQ4OGE2L3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NncHF1cm1paGhzc21idDZveGZ1bXZwYXd5eWNmaG83anZ3YWJtYmRlczY0enJxcnRuajNpbWI0ci9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VEZXByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLU0dQUVVSTUlISFNTTUJUNk9YRlVNVlBBVzo3Q0U4MUZEQTEyNzdGRTNBNzY6MkRNWTp8QjAxREIzRTk0RUREMUM5RiJ9?api-version=2018-04-01 response: body: string: '{"status":"Accepted"}' @@ -1602,7 +2308,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 12 Mar 2020 09:02:56 GMT + - Fri, 29 May 2020 15:19:29 GMT expires: - '-1' pragma: @@ -1628,10 +2334,10 @@ interactions: ParameterSetName: - --resource-group --name -y User-Agent: - - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databricks/0.1.0 Azure-SDK-For-Python AZURECLI/2.2.0 + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-databricks/0.1.0 + Azure-SDK-For-Python AZURECLI/2.6.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N5M2h3NDdzNndldjRlZHJuNTR5emJ2bjQyMmFocW51bGxmbjJhb2N2d29jaHZ6NnE2dHFoeGt6ai9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VEZXByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLU1kzSFc0N1M2V0VWNEVEUk41NFlaQlZONDo3QzBCOTREOUE0QjEzMzUwRjM6MkRNWTp8MzFCOTc3QkRDNDM4Q0IwRiJ9?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMDE0MDkxMWUtMTA0MC00OGRhLThiYzktYjk5ZmIzZGQ4OGE2L3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NncHF1cm1paGhzc21idDZveGZ1bXZwYXd5eWNmaG83anZ3YWJtYmRlczY0enJxcnRuajNpbWI0ci9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VEZXByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLU0dQUVVSTUlISFNTTUJUNk9YRlVNVlBBVzo3Q0U4MUZEQTEyNzdGRTNBNzY6MkRNWTp8QjAxREIzRTk0RUREMUM5RiJ9?api-version=2018-04-01 response: body: string: '{"status":"Accepted"}' @@ -1643,7 +2349,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 12 Mar 2020 09:03:26 GMT + - Fri, 29 May 2020 15:20:00 GMT expires: - '-1' pragma: @@ -1669,10 +2375,10 @@ interactions: ParameterSetName: - --resource-group --name -y User-Agent: - - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databricks/0.1.0 Azure-SDK-For-Python AZURECLI/2.2.0 + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-databricks/0.1.0 + Azure-SDK-For-Python AZURECLI/2.6.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N5M2h3NDdzNndldjRlZHJuNTR5emJ2bjQyMmFocW51bGxmbjJhb2N2d29jaHZ6NnE2dHFoeGt6ai9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VEZXByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLU1kzSFc0N1M2V0VWNEVEUk41NFlaQlZONDo3QzBCOTREOUE0QjEzMzUwRjM6MkRNWTp8MzFCOTc3QkRDNDM4Q0IwRiJ9?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMDE0MDkxMWUtMTA0MC00OGRhLThiYzktYjk5ZmIzZGQ4OGE2L3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NncHF1cm1paGhzc21idDZveGZ1bXZwYXd5eWNmaG83anZ3YWJtYmRlczY0enJxcnRuajNpbWI0ci9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VEZXByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLU0dQUVVSTUlISFNTTUJUNk9YRlVNVlBBVzo3Q0U4MUZEQTEyNzdGRTNBNzY6MkRNWTp8QjAxREIzRTk0RUREMUM5RiJ9?api-version=2018-04-01 response: body: string: '{"status":"Accepted"}' @@ -1684,7 +2390,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 12 Mar 2020 09:03:57 GMT + - Fri, 29 May 2020 15:20:30 GMT expires: - '-1' pragma: @@ -1710,10 +2416,10 @@ interactions: ParameterSetName: - --resource-group --name -y User-Agent: - - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databricks/0.1.0 Azure-SDK-For-Python AZURECLI/2.2.0 + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-databricks/0.1.0 + Azure-SDK-For-Python AZURECLI/2.6.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N5M2h3NDdzNndldjRlZHJuNTR5emJ2bjQyMmFocW51bGxmbjJhb2N2d29jaHZ6NnE2dHFoeGt6ai9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VEZXByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLU1kzSFc0N1M2V0VWNEVEUk41NFlaQlZONDo3QzBCOTREOUE0QjEzMzUwRjM6MkRNWTp8MzFCOTc3QkRDNDM4Q0IwRiJ9?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMDE0MDkxMWUtMTA0MC00OGRhLThiYzktYjk5ZmIzZGQ4OGE2L3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NncHF1cm1paGhzc21idDZveGZ1bXZwYXd5eWNmaG83anZ3YWJtYmRlczY0enJxcnRuajNpbWI0ci9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VEZXByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLU0dQUVVSTUlISFNTTUJUNk9YRlVNVlBBVzo3Q0U4MUZEQTEyNzdGRTNBNzY6MkRNWTp8QjAxREIzRTk0RUREMUM5RiJ9?api-version=2018-04-01 response: body: string: '{"status":"Accepted"}' @@ -1725,7 +2431,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 12 Mar 2020 09:04:27 GMT + - Fri, 29 May 2020 15:21:01 GMT expires: - '-1' pragma: @@ -1751,10 +2457,10 @@ interactions: ParameterSetName: - --resource-group --name -y User-Agent: - - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databricks/0.1.0 Azure-SDK-For-Python AZURECLI/2.2.0 + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-databricks/0.1.0 + Azure-SDK-For-Python AZURECLI/2.6.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N5M2h3NDdzNndldjRlZHJuNTR5emJ2bjQyMmFocW51bGxmbjJhb2N2d29jaHZ6NnE2dHFoeGt6ai9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VEZXByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLU1kzSFc0N1M2V0VWNEVEUk41NFlaQlZONDo3QzBCOTREOUE0QjEzMzUwRjM6MkRNWTp8MzFCOTc3QkRDNDM4Q0IwRiJ9?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMDE0MDkxMWUtMTA0MC00OGRhLThiYzktYjk5ZmIzZGQ4OGE2L3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NncHF1cm1paGhzc21idDZveGZ1bXZwYXd5eWNmaG83anZ3YWJtYmRlczY0enJxcnRuajNpbWI0ci9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VEZXByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLU0dQUVVSTUlISFNTTUJUNk9YRlVNVlBBVzo3Q0U4MUZEQTEyNzdGRTNBNzY6MkRNWTp8QjAxREIzRTk0RUREMUM5RiJ9?api-version=2018-04-01 response: body: string: '{"status":"Accepted"}' @@ -1766,7 +2472,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 12 Mar 2020 09:04:58 GMT + - Fri, 29 May 2020 15:21:31 GMT expires: - '-1' pragma: @@ -1792,10 +2498,10 @@ interactions: ParameterSetName: - --resource-group --name -y User-Agent: - - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databricks/0.1.0 Azure-SDK-For-Python AZURECLI/2.2.0 + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-databricks/0.1.0 + Azure-SDK-For-Python AZURECLI/2.6.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N5M2h3NDdzNndldjRlZHJuNTR5emJ2bjQyMmFocW51bGxmbjJhb2N2d29jaHZ6NnE2dHFoeGt6ai9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VEZXByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLU1kzSFc0N1M2V0VWNEVEUk41NFlaQlZONDo3QzBCOTREOUE0QjEzMzUwRjM6MkRNWTp8MzFCOTc3QkRDNDM4Q0IwRiJ9?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMDE0MDkxMWUtMTA0MC00OGRhLThiYzktYjk5ZmIzZGQ4OGE2L3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NncHF1cm1paGhzc21idDZveGZ1bXZwYXd5eWNmaG83anZ3YWJtYmRlczY0enJxcnRuajNpbWI0ci9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VEZXByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLU0dQUVVSTUlISFNTTUJUNk9YRlVNVlBBVzo3Q0U4MUZEQTEyNzdGRTNBNzY6MkRNWTp8QjAxREIzRTk0RUREMUM5RiJ9?api-version=2018-04-01 response: body: string: '{"status":"Accepted"}' @@ -1807,7 +2513,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 12 Mar 2020 09:05:29 GMT + - Fri, 29 May 2020 15:22:01 GMT expires: - '-1' pragma: @@ -1833,10 +2539,10 @@ interactions: ParameterSetName: - --resource-group --name -y User-Agent: - - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databricks/0.1.0 Azure-SDK-For-Python AZURECLI/2.2.0 + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-databricks/0.1.0 + Azure-SDK-For-Python AZURECLI/2.6.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N5M2h3NDdzNndldjRlZHJuNTR5emJ2bjQyMmFocW51bGxmbjJhb2N2d29jaHZ6NnE2dHFoeGt6ai9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VEZXByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLU1kzSFc0N1M2V0VWNEVEUk41NFlaQlZONDo3QzBCOTREOUE0QjEzMzUwRjM6MkRNWTp8MzFCOTc3QkRDNDM4Q0IwRiJ9?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMDE0MDkxMWUtMTA0MC00OGRhLThiYzktYjk5ZmIzZGQ4OGE2L3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NncHF1cm1paGhzc21idDZveGZ1bXZwYXd5eWNmaG83anZ3YWJtYmRlczY0enJxcnRuajNpbWI0ci9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VEZXByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLU0dQUVVSTUlISFNTTUJUNk9YRlVNVlBBVzo3Q0U4MUZEQTEyNzdGRTNBNzY6MkRNWTp8QjAxREIzRTk0RUREMUM5RiJ9?api-version=2018-04-01 response: body: string: '{"status":"Accepted"}' @@ -1848,7 +2554,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 12 Mar 2020 09:05:59 GMT + - Fri, 29 May 2020 15:22:31 GMT expires: - '-1' pragma: @@ -1874,10 +2580,10 @@ interactions: ParameterSetName: - --resource-group --name -y User-Agent: - - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databricks/0.1.0 Azure-SDK-For-Python AZURECLI/2.2.0 + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-databricks/0.1.0 + Azure-SDK-For-Python AZURECLI/2.6.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N5M2h3NDdzNndldjRlZHJuNTR5emJ2bjQyMmFocW51bGxmbjJhb2N2d29jaHZ6NnE2dHFoeGt6ai9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VEZXByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLU1kzSFc0N1M2V0VWNEVEUk41NFlaQlZONDo3QzBCOTREOUE0QjEzMzUwRjM6MkRNWTp8MzFCOTc3QkRDNDM4Q0IwRiJ9?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMDE0MDkxMWUtMTA0MC00OGRhLThiYzktYjk5ZmIzZGQ4OGE2L3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NncHF1cm1paGhzc21idDZveGZ1bXZwYXd5eWNmaG83anZ3YWJtYmRlczY0enJxcnRuajNpbWI0ci9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VEZXByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLU0dQUVVSTUlISFNTTUJUNk9YRlVNVlBBVzo3Q0U4MUZEQTEyNzdGRTNBNzY6MkRNWTp8QjAxREIzRTk0RUREMUM5RiJ9?api-version=2018-04-01 response: body: string: '{"status":"Accepted"}' @@ -1889,7 +2595,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 12 Mar 2020 09:06:29 GMT + - Fri, 29 May 2020 15:23:02 GMT expires: - '-1' pragma: @@ -1915,10 +2621,10 @@ interactions: ParameterSetName: - --resource-group --name -y User-Agent: - - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databricks/0.1.0 Azure-SDK-For-Python AZURECLI/2.2.0 + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-databricks/0.1.0 + Azure-SDK-For-Python AZURECLI/2.6.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N5M2h3NDdzNndldjRlZHJuNTR5emJ2bjQyMmFocW51bGxmbjJhb2N2d29jaHZ6NnE2dHFoeGt6ai9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VEZXByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLU1kzSFc0N1M2V0VWNEVEUk41NFlaQlZONDo3QzBCOTREOUE0QjEzMzUwRjM6MkRNWTp8MzFCOTc3QkRDNDM4Q0IwRiJ9?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMDE0MDkxMWUtMTA0MC00OGRhLThiYzktYjk5ZmIzZGQ4OGE2L3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NncHF1cm1paGhzc21idDZveGZ1bXZwYXd5eWNmaG83anZ3YWJtYmRlczY0enJxcnRuajNpbWI0ci9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VEZXByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLU0dQUVVSTUlISFNTTUJUNk9YRlVNVlBBVzo3Q0U4MUZEQTEyNzdGRTNBNzY6MkRNWTp8QjAxREIzRTk0RUREMUM5RiJ9?api-version=2018-04-01 response: body: string: '{"status":"Succeeded"}' @@ -1930,7 +2636,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 12 Mar 2020 09:07:01 GMT + - Fri, 29 May 2020 15:23:33 GMT expires: - '-1' pragma: diff --git a/src/databricks/azext_databricks/tests/latest/test_databricks_scenario.py b/src/databricks/azext_databricks/tests/latest/test_databricks_scenario.py index c797100872f..17ccd2a7ace 100644 --- a/src/databricks/azext_databricks/tests/latest/test_databricks_scenario.py +++ b/src/databricks/azext_databricks/tests/latest/test_databricks_scenario.py @@ -7,9 +7,7 @@ import unittest from azure_devtools.scenario_tests import AllowLargeResponse -from azure.cli.testsdk import (ScenarioTest, ResourceGroupPreparer, - JMESPathCheck, JMESPathCheckExists, - NoneCheck) +from azure.cli.testsdk import (ScenarioTest, ResourceGroupPreparer, KeyVaultPreparer) from msrestazure.tools import resource_id @@ -19,11 +17,12 @@ class DatabricksClientScenarioTest(ScenarioTest): @ResourceGroupPreparer(name_prefix='cli_test_databricks') - def test_databricks(self, resource_group): - + @KeyVaultPreparer(location='eastus2euap') + def test_databricks(self, resource_group, key_vault): + subscription_id = self.get_subscription_id() self.kwargs.update({ + 'kv': key_vault, 'workspace_name': 'my-test-workspace', - 'subscription': '00000000-0000-0000-0000-000000000000', 'custom_workspace_name': 'my-custom-workspace', 'managed_resource_group': 'custom-managed-rg' }) @@ -31,40 +30,71 @@ def test_databricks(self, resource_group): self.cmd('az databricks workspace create ' '--resource-group {rg} ' '--name {workspace_name} ' - '--location "westus" ' - '--sku standard', - checks=[JMESPathCheck('name', self.kwargs.get('workspace_name', '')), - JMESPathCheck('sku.name', self.kwargs.get('sku.name', 'standard'))]) + '--location "eastus2euap" ' + '--sku premium', + checks=[self.check('name', '{workspace_name}'), + self.check('sku.name', 'premium')]) - managed_resource_group_id = '/subscriptions/{}/resourceGroups/{}'.format(self.kwargs.get('subscription', ''), self.kwargs.get('managed_resource_group', '')) + managed_resource_group_id = '/subscriptions/{}/resourceGroups/{}'.format(subscription_id, self.kwargs.get('managed_resource_group', '')) self.cmd('az databricks workspace create ' '--resource-group {rg} ' '--name {custom_workspace_name} ' '--location "westus" ' '--sku standard ' - '--managed-resource-group {managed_resource_group} ' - '--relay-namespace-name custom-relay-space ' - '--storage-account-name customdbstorage ' - '--storage-account-sku Standard_LRS', - checks=[JMESPathCheck('name', self.kwargs.get('custom_workspace_name', '')), - JMESPathCheck('parameters.relayNamespaceName.value', 'custom-relay-space'), - JMESPathCheck('parameters.storageAccountName.value', 'customdbstorage'), - JMESPathCheck('parameters.storageAccountSkuName.value', 'Standard_LRS'), - JMESPathCheck('managedResourceGroupId', managed_resource_group_id)]) + '--managed-resource-group {managed_resource_group}', + checks=[self.check('name', '{custom_workspace_name}'), + self.check('managedResourceGroupId', managed_resource_group_id)]) + + workspace = self.cmd('az databricks workspace update ' + '--resource-group {rg} ' + '--name {workspace_name} ' + '--tags type=test ' + '--prepare-encryption', + checks=[self.check('tags.type', 'test'), + self.exists('storageAccountIdentity.principalId')]).get_output_in_json() + principalId = workspace['storageAccountIdentity']['principalId'] + + self.kwargs.update({'oid': principalId, 'key_name': 'testkey'}) + + self.cmd('az keyvault set-policy -n {kv} --object-id {oid} -g {rg} ' + '--key-permissions get wrapKey unwrapKey recover') + + self.cmd('az keyvault update -n {kv} -g {rg} --set properties.enableSoftDelete=true') + + keyvault = self.cmd('az keyvault update -n {kv} -g {rg} --set properties.enablePurgeProtection=true').get_output_in_json() + + key = self.cmd('az keyvault key create -n {key_name} -p software --vault-name {kv}').get_output_in_json() + key_version = key['key']['kid'].rsplit('/', 1)[1] + + self.kwargs.update({'key_version': key_version, + 'key_vault': keyvault['properties']['vaultUri']}) self.cmd('az databricks workspace update ' '--resource-group {rg} ' '--name {workspace_name} ' - '--tags type=test', - checks=[JMESPathCheck('tags.type', 'test')]) + '--key-source Microsoft.KeyVault ' + '--key-name {key_name} ' + '--key-version {key_version} ' + '--key-vault {key_vault}', + checks=[self.check('parameters.encryption.value.keySource', 'Microsoft.Keyvault'), + self.check('parameters.encryption.value.keyName', '{key_name}'), + self.check('parameters.encryption.value.keyVersion', '{key_version}'), + self.check('parameters.encryption.value.keyVaultUri', '{key_vault}')]) + + self.cmd('az databricks workspace update ' + '--resource-group {rg} ' + '--name {workspace_name} ' + '--key-source Default', + checks=[self.check('parameters.encryption.value.keySource', 'Default'), + self.not_exists('parameters.encryption.value.keyName')]) self.cmd('az databricks workspace show ' '--resource-group {rg} ' '--name {workspace_name}', - checks=[JMESPathCheck('name', self.kwargs.get('workspace_name', ''))]) + checks=[self.check('name', '{workspace_name}')]) workspace_resource_id = resource_id( - subscription=self.kwargs.get('subscription', ''), + subscription=subscription_id, resource_group=resource_group, namespace='Microsoft.Databricks', type='workspaces', @@ -72,12 +102,7 @@ def test_databricks(self, resource_group): self.cmd('az databricks workspace show ' '--ids {}'.format(workspace_resource_id), - checks=[JMESPathCheck('name', self.kwargs.get('workspace_name', ''))]) - - # todo service 502 - # self.cmd('az databricks workspace list', - # '--resource-group=' - # checks=[]) + checks=[self.check('name', '{workspace_name}')]) self.cmd('az databricks workspace list ' '--resource-group {rg} ', diff --git a/src/databricks/azext_databricks/vendored_sdks/databricks/models/__init__.py b/src/databricks/azext_databricks/vendored_sdks/databricks/models/__init__.py index 8ba7a1b46a7..5eb06e35742 100644 --- a/src/databricks/azext_databricks/vendored_sdks/databricks/models/__init__.py +++ b/src/databricks/azext_databricks/vendored_sdks/databricks/models/__init__.py @@ -10,9 +10,12 @@ # -------------------------------------------------------------------------- try: + from ._models_py3 import CreatedBy + from ._models_py3 import Encryption from ._models_py3 import ErrorDetail from ._models_py3 import ErrorInfo from ._models_py3 import ErrorResponse, ErrorResponseException + from ._models_py3 import ManagedIdentityConfiguration from ._models_py3 import Operation from ._models_py3 import OperationDisplay from ._models_py3 import Resource @@ -23,12 +26,16 @@ from ._models_py3 import WorkspaceCustomObjectParameter from ._models_py3 import WorkspaceCustomParameters from ._models_py3 import WorkspaceCustomStringParameter + from ._models_py3 import WorkspaceEncryptionParameter from ._models_py3 import WorkspaceProviderAuthorization from ._models_py3 import WorkspaceUpdate except (SyntaxError, ImportError): + from ._models import CreatedBy + from ._models import Encryption from ._models import ErrorDetail from ._models import ErrorInfo from ._models import ErrorResponse, ErrorResponseException + from ._models import ManagedIdentityConfiguration from ._models import Operation from ._models import OperationDisplay from ._models import Resource @@ -39,19 +46,24 @@ from ._models import WorkspaceCustomObjectParameter from ._models import WorkspaceCustomParameters from ._models import WorkspaceCustomStringParameter + from ._models import WorkspaceEncryptionParameter from ._models import WorkspaceProviderAuthorization from ._models import WorkspaceUpdate from ._paged_models import OperationPaged from ._paged_models import WorkspacePaged from ._databricks_client_enums import ( CustomParameterType, + KeySource, ProvisioningState, ) __all__ = [ + 'CreatedBy', + 'Encryption', 'ErrorDetail', 'ErrorInfo', 'ErrorResponse', 'ErrorResponseException', + 'ManagedIdentityConfiguration', 'Operation', 'OperationDisplay', 'Resource', @@ -62,10 +74,12 @@ 'WorkspaceCustomObjectParameter', 'WorkspaceCustomParameters', 'WorkspaceCustomStringParameter', + 'WorkspaceEncryptionParameter', 'WorkspaceProviderAuthorization', 'WorkspaceUpdate', 'WorkspacePaged', 'OperationPaged', 'CustomParameterType', + 'KeySource', 'ProvisioningState', ] diff --git a/src/databricks/azext_databricks/vendored_sdks/databricks/models/_databricks_client_enums.py b/src/databricks/azext_databricks/vendored_sdks/databricks/models/_databricks_client_enums.py index c14cd8e961a..be332f03a4c 100644 --- a/src/databricks/azext_databricks/vendored_sdks/databricks/models/_databricks_client_enums.py +++ b/src/databricks/azext_databricks/vendored_sdks/databricks/models/_databricks_client_enums.py @@ -19,6 +19,12 @@ class CustomParameterType(str, Enum): string = "String" +class KeySource(str, Enum): + + default = "Default" + microsoft_keyvault = "Microsoft.Keyvault" + + class ProvisioningState(str, Enum): accepted = "Accepted" diff --git a/src/databricks/azext_databricks/vendored_sdks/databricks/models/_models.py b/src/databricks/azext_databricks/vendored_sdks/databricks/models/_models.py index d79f5c3cb22..7d0f484a145 100644 --- a/src/databricks/azext_databricks/vendored_sdks/databricks/models/_models.py +++ b/src/databricks/azext_databricks/vendored_sdks/databricks/models/_models.py @@ -21,6 +21,70 @@ class CloudError(Model): } +class CreatedBy(Model): + """Provides details of the entity that created/updated the workspace. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar oid: The Object ID that created the workspace. + :vartype oid: str + :ivar puid: The Personal Object ID corresponding to the object ID above + :vartype puid: str + :ivar application_id: The application ID of the application that initiated + the creation of the workspace. For example, Azure Portal. + :vartype application_id: str + """ + + _validation = { + 'oid': {'readonly': True}, + 'puid': {'readonly': True}, + 'application_id': {'readonly': True}, + } + + _attribute_map = { + 'oid': {'key': 'oid', 'type': 'str'}, + 'puid': {'key': 'puid', 'type': 'str'}, + 'application_id': {'key': 'applicationId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(CreatedBy, self).__init__(**kwargs) + self.oid = None + self.puid = None + self.application_id = None + + +class Encryption(Model): + """The object that contains details of encryption used on the workspace. + + :param key_source: The encryption keySource (provider). Possible values + (case-insensitive): Default, Microsoft.Keyvault. Possible values include: + 'Default', 'Microsoft.Keyvault'. Default value: "Default" . + :type key_source: str or ~azure.mgmt.databricks.models.KeySource + :param key_name: The name of KeyVault key. + :type key_name: str + :param key_version: The version of KeyVault key. + :type key_version: str + :param key_vault_uri: The Uri of KeyVault. + :type key_vault_uri: str + """ + + _attribute_map = { + 'key_source': {'key': 'keySource', 'type': 'str'}, + 'key_name': {'key': 'KeyName', 'type': 'str'}, + 'key_version': {'key': 'keyversion', 'type': 'str'}, + 'key_vault_uri': {'key': 'keyvaulturi', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Encryption, self).__init__(**kwargs) + self.key_source = kwargs.get('key_source', "Default") + self.key_name = kwargs.get('key_name', None) + self.key_version = kwargs.get('key_version', None) + self.key_vault_uri = kwargs.get('key_vault_uri', None) + + class ErrorDetail(Model): """Error details. @@ -124,6 +188,41 @@ def __init__(self, deserialize, response, *args): super(ErrorResponseException, self).__init__(deserialize, response, 'ErrorResponse', *args) +class ManagedIdentityConfiguration(Model): + """The Managed Identity details for storage account. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar principal_id: The objectId of the Managed Identity that is linked to + the Managed Storage account. + :vartype principal_id: str + :ivar tenant_id: The tenant Id where the Managed Identity is created. + :vartype tenant_id: str + :ivar type: The type of Identity created. It can be either SystemAssigned + or UserAssigned. + :vartype type: str + """ + + _validation = { + 'principal_id': {'readonly': True}, + 'tenant_id': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'principal_id': {'key': 'principalId', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ManagedIdentityConfiguration, self).__init__(**kwargs) + self.principal_id = None + self.tenant_id = None + self.type = None + + class Operation(Model): """REST API operation. @@ -307,6 +406,25 @@ class Workspace(TrackedResource): :param authorizations: The workspace provider authorizations. :type authorizations: list[~azure.mgmt.databricks.models.WorkspaceProviderAuthorization] + :param created_by: Indicates the Object ID, PUID and Application ID of + entity that created the workspace. + :type created_by: ~azure.mgmt.databricks.models.CreatedBy + :param updated_by: Indicates the Object ID, PUID and Application ID of + entity that last updated the workspace. + :type updated_by: ~azure.mgmt.databricks.models.CreatedBy + :param created_date_time: Specifies the date and time when the workspace + is created. + :type created_date_time: datetime + :ivar workspace_id: The unique identifier of the databricks workspace in + databricks control plane. + :vartype workspace_id: str + :ivar workspace_url: The workspace URL which is of the format + 'adb-{workspaceId}.{random}.azuredatabricks.net' + :vartype workspace_url: str + :param storage_account_identity: The details of Managed Identity of + Storage Account + :type storage_account_identity: + ~azure.mgmt.databricks.models.ManagedIdentityConfiguration :param sku: The SKU of the resource. :type sku: ~azure.mgmt.databricks.models.Sku """ @@ -318,6 +436,8 @@ class Workspace(TrackedResource): 'location': {'required': True}, 'managed_resource_group_id': {'required': True}, 'provisioning_state': {'readonly': True}, + 'workspace_id': {'readonly': True}, + 'workspace_url': {'readonly': True}, } _attribute_map = { @@ -331,6 +451,12 @@ class Workspace(TrackedResource): 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 'ui_definition_uri': {'key': 'properties.uiDefinitionUri', 'type': 'str'}, 'authorizations': {'key': 'properties.authorizations', 'type': '[WorkspaceProviderAuthorization]'}, + 'created_by': {'key': 'properties.createdBy', 'type': 'CreatedBy'}, + 'updated_by': {'key': 'properties.updatedBy', 'type': 'CreatedBy'}, + 'created_date_time': {'key': 'properties.createdDateTime', 'type': 'iso-8601'}, + 'workspace_id': {'key': 'properties.workspaceId', 'type': 'str'}, + 'workspace_url': {'key': 'properties.workspaceUrl', 'type': 'str'}, + 'storage_account_identity': {'key': 'properties.storageAccountIdentity', 'type': 'ManagedIdentityConfiguration'}, 'sku': {'key': 'sku', 'type': 'Sku'}, } @@ -341,6 +467,12 @@ def __init__(self, **kwargs): self.provisioning_state = None self.ui_definition_uri = kwargs.get('ui_definition_uri', None) self.authorizations = kwargs.get('authorizations', None) + self.created_by = kwargs.get('created_by', None) + self.updated_by = kwargs.get('updated_by', None) + self.created_date_time = kwargs.get('created_date_time', None) + self.workspace_id = None + self.workspace_url = None + self.storage_account_identity = kwargs.get('storage_account_identity', None) self.sku = kwargs.get('sku', None) @@ -401,10 +533,6 @@ def __init__(self, **kwargs): class WorkspaceCustomParameters(Model): """Custom Parameters used for Cluster Creation. - :param aml_workspace_id: The Workspace ID of an Azure Machine Learning - Workspace - :type aml_workspace_id: - ~azure.mgmt.databricks.models.WorkspaceCustomStringParameter :param custom_virtual_network_id: The ID of a Virtual Network where this Databricks Cluster should be created :type custom_virtual_network_id: @@ -420,63 +548,33 @@ class WorkspaceCustomParameters(Model): :param enable_no_public_ip: Should the Public IP be Disabled? :type enable_no_public_ip: ~azure.mgmt.databricks.models.WorkspaceCustomBooleanParameter - :param load_balancer_backend_pool_name: The name of a Backend Address Pool - within an Azure Load Balancer - :type load_balancer_backend_pool_name: - ~azure.mgmt.databricks.models.WorkspaceCustomStringParameter - :param load_balancer_id: The Resource ID of an Azure Load Balancer - :type load_balancer_id: - ~azure.mgmt.databricks.models.WorkspaceCustomStringParameter - :param relay_namespace_name: The name of an Azure Relay Namespace - :type relay_namespace_name: - ~azure.mgmt.databricks.models.WorkspaceCustomStringParameter - :param storage_account_name: The name which should be used for the Storage - Account - :type storage_account_name: - ~azure.mgmt.databricks.models.WorkspaceCustomStringParameter - :param storage_account_sku_name: The SKU which should be used for this - Storage Account - :type storage_account_sku_name: - ~azure.mgmt.databricks.models.WorkspaceCustomStringParameter - :param resource_tags: A map of Tags which should be applied to the - resources used by this Databricks Cluster. - :type resource_tags: - ~azure.mgmt.databricks.models.WorkspaceCustomObjectParameter - :param vnet_address_prefix: The first 2 octets of the virtual network /16 - address range (e.g., '10.139' for the address range 10.139.0.0/16). - :type vnet_address_prefix: - ~azure.mgmt.databricks.models.WorkspaceCustomStringParameter + :param prepare_encryption: Prepare the workspace for encryption. Enables + the Managed Identity for managed storage account. + :type prepare_encryption: + ~azure.mgmt.databricks.models.WorkspaceCustomBooleanParameter + :param encryption: Contains the encryption details for Customer-Managed + Key (CMK) enabled workspace. + :type encryption: + ~azure.mgmt.databricks.models.WorkspaceEncryptionParameter """ _attribute_map = { - 'aml_workspace_id': {'key': 'amlWorkspaceId', 'type': 'WorkspaceCustomStringParameter'}, 'custom_virtual_network_id': {'key': 'customVirtualNetworkId', 'type': 'WorkspaceCustomStringParameter'}, 'custom_public_subnet_name': {'key': 'customPublicSubnetName', 'type': 'WorkspaceCustomStringParameter'}, 'custom_private_subnet_name': {'key': 'customPrivateSubnetName', 'type': 'WorkspaceCustomStringParameter'}, 'enable_no_public_ip': {'key': 'enableNoPublicIp', 'type': 'WorkspaceCustomBooleanParameter'}, - 'load_balancer_backend_pool_name': {'key': 'loadBalancerBackendPoolName', 'type': 'WorkspaceCustomStringParameter'}, - 'load_balancer_id': {'key': 'loadBalancerId', 'type': 'WorkspaceCustomStringParameter'}, - 'relay_namespace_name': {'key': 'relayNamespaceName', 'type': 'WorkspaceCustomStringParameter'}, - 'storage_account_name': {'key': 'storageAccountName', 'type': 'WorkspaceCustomStringParameter'}, - 'storage_account_sku_name': {'key': 'storageAccountSkuName', 'type': 'WorkspaceCustomStringParameter'}, - 'resource_tags': {'key': 'resourceTags', 'type': 'WorkspaceCustomObjectParameter'}, - 'vnet_address_prefix': {'key': 'vnetAddressPrefix', 'type': 'WorkspaceCustomStringParameter'}, + 'prepare_encryption': {'key': 'prepareEncryption', 'type': 'WorkspaceCustomBooleanParameter'}, + 'encryption': {'key': 'encryption', 'type': 'WorkspaceEncryptionParameter'}, } def __init__(self, **kwargs): super(WorkspaceCustomParameters, self).__init__(**kwargs) - self.aml_workspace_id = kwargs.get('aml_workspace_id', None) self.custom_virtual_network_id = kwargs.get('custom_virtual_network_id', None) self.custom_public_subnet_name = kwargs.get('custom_public_subnet_name', None) self.custom_private_subnet_name = kwargs.get('custom_private_subnet_name', None) self.enable_no_public_ip = kwargs.get('enable_no_public_ip', None) - self.load_balancer_backend_pool_name = kwargs.get('load_balancer_backend_pool_name', None) - self.load_balancer_id = kwargs.get('load_balancer_id', None) - self.relay_namespace_name = kwargs.get('relay_namespace_name', None) - self.storage_account_name = kwargs.get('storage_account_name', None) - self.storage_account_sku_name = kwargs.get('storage_account_sku_name', None) - self.resource_tags = kwargs.get('resource_tags', None) - self.vnet_address_prefix = kwargs.get('vnet_address_prefix', None) + self.prepare_encryption = kwargs.get('prepare_encryption', None) + self.encryption = kwargs.get('encryption', None) class WorkspaceCustomStringParameter(Model): @@ -506,6 +604,27 @@ def __init__(self, **kwargs): self.value = kwargs.get('value', None) +class WorkspaceEncryptionParameter(Model): + """The object that contains details of encryption used on the workspace. + + :param type: The type of variable that this is. Possible values include: + 'Bool', 'Object', 'String' + :type type: str or ~azure.mgmt.databricks.models.CustomParameterType + :param value: The value which should be used for this field. + :type value: ~azure.mgmt.databricks.models.Encryption + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'Encryption'}, + } + + def __init__(self, **kwargs): + super(WorkspaceEncryptionParameter, self).__init__(**kwargs) + self.type = kwargs.get('type', None) + self.value = kwargs.get('value', None) + + class WorkspaceProviderAuthorization(Model): """The workspace provider authorization. diff --git a/src/databricks/azext_databricks/vendored_sdks/databricks/models/_models_py3.py b/src/databricks/azext_databricks/vendored_sdks/databricks/models/_models_py3.py index a4b2df30510..e6b85c5f903 100644 --- a/src/databricks/azext_databricks/vendored_sdks/databricks/models/_models_py3.py +++ b/src/databricks/azext_databricks/vendored_sdks/databricks/models/_models_py3.py @@ -21,6 +21,70 @@ class CloudError(Model): } +class CreatedBy(Model): + """Provides details of the entity that created/updated the workspace. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar oid: The Object ID that created the workspace. + :vartype oid: str + :ivar puid: The Personal Object ID corresponding to the object ID above + :vartype puid: str + :ivar application_id: The application ID of the application that initiated + the creation of the workspace. For example, Azure Portal. + :vartype application_id: str + """ + + _validation = { + 'oid': {'readonly': True}, + 'puid': {'readonly': True}, + 'application_id': {'readonly': True}, + } + + _attribute_map = { + 'oid': {'key': 'oid', 'type': 'str'}, + 'puid': {'key': 'puid', 'type': 'str'}, + 'application_id': {'key': 'applicationId', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(CreatedBy, self).__init__(**kwargs) + self.oid = None + self.puid = None + self.application_id = None + + +class Encryption(Model): + """The object that contains details of encryption used on the workspace. + + :param key_source: The encryption keySource (provider). Possible values + (case-insensitive): Default, Microsoft.Keyvault. Possible values include: + 'Default', 'Microsoft.Keyvault'. Default value: "Default" . + :type key_source: str or ~azure.mgmt.databricks.models.KeySource + :param key_name: The name of KeyVault key. + :type key_name: str + :param key_version: The version of KeyVault key. + :type key_version: str + :param key_vault_uri: The Uri of KeyVault. + :type key_vault_uri: str + """ + + _attribute_map = { + 'key_source': {'key': 'keySource', 'type': 'str'}, + 'key_name': {'key': 'KeyName', 'type': 'str'}, + 'key_version': {'key': 'keyversion', 'type': 'str'}, + 'key_vault_uri': {'key': 'keyvaulturi', 'type': 'str'}, + } + + def __init__(self, *, key_source="Default", key_name: str=None, key_version: str=None, key_vault_uri: str=None, **kwargs) -> None: + super(Encryption, self).__init__(**kwargs) + self.key_source = key_source + self.key_name = key_name + self.key_version = key_version + self.key_vault_uri = key_vault_uri + + class ErrorDetail(Model): """Error details. @@ -124,6 +188,41 @@ def __init__(self, deserialize, response, *args): super(ErrorResponseException, self).__init__(deserialize, response, 'ErrorResponse', *args) +class ManagedIdentityConfiguration(Model): + """The Managed Identity details for storage account. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar principal_id: The objectId of the Managed Identity that is linked to + the Managed Storage account. + :vartype principal_id: str + :ivar tenant_id: The tenant Id where the Managed Identity is created. + :vartype tenant_id: str + :ivar type: The type of Identity created. It can be either SystemAssigned + or UserAssigned. + :vartype type: str + """ + + _validation = { + 'principal_id': {'readonly': True}, + 'tenant_id': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'principal_id': {'key': 'principalId', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(ManagedIdentityConfiguration, self).__init__(**kwargs) + self.principal_id = None + self.tenant_id = None + self.type = None + + class Operation(Model): """REST API operation. @@ -307,6 +406,25 @@ class Workspace(TrackedResource): :param authorizations: The workspace provider authorizations. :type authorizations: list[~azure.mgmt.databricks.models.WorkspaceProviderAuthorization] + :param created_by: Indicates the Object ID, PUID and Application ID of + entity that created the workspace. + :type created_by: ~azure.mgmt.databricks.models.CreatedBy + :param updated_by: Indicates the Object ID, PUID and Application ID of + entity that last updated the workspace. + :type updated_by: ~azure.mgmt.databricks.models.CreatedBy + :param created_date_time: Specifies the date and time when the workspace + is created. + :type created_date_time: datetime + :ivar workspace_id: The unique identifier of the databricks workspace in + databricks control plane. + :vartype workspace_id: str + :ivar workspace_url: The workspace URL which is of the format + 'adb-{workspaceId}.{random}.azuredatabricks.net' + :vartype workspace_url: str + :param storage_account_identity: The details of Managed Identity of + Storage Account + :type storage_account_identity: + ~azure.mgmt.databricks.models.ManagedIdentityConfiguration :param sku: The SKU of the resource. :type sku: ~azure.mgmt.databricks.models.Sku """ @@ -318,6 +436,8 @@ class Workspace(TrackedResource): 'location': {'required': True}, 'managed_resource_group_id': {'required': True}, 'provisioning_state': {'readonly': True}, + 'workspace_id': {'readonly': True}, + 'workspace_url': {'readonly': True}, } _attribute_map = { @@ -331,16 +451,28 @@ class Workspace(TrackedResource): 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 'ui_definition_uri': {'key': 'properties.uiDefinitionUri', 'type': 'str'}, 'authorizations': {'key': 'properties.authorizations', 'type': '[WorkspaceProviderAuthorization]'}, + 'created_by': {'key': 'properties.createdBy', 'type': 'CreatedBy'}, + 'updated_by': {'key': 'properties.updatedBy', 'type': 'CreatedBy'}, + 'created_date_time': {'key': 'properties.createdDateTime', 'type': 'iso-8601'}, + 'workspace_id': {'key': 'properties.workspaceId', 'type': 'str'}, + 'workspace_url': {'key': 'properties.workspaceUrl', 'type': 'str'}, + 'storage_account_identity': {'key': 'properties.storageAccountIdentity', 'type': 'ManagedIdentityConfiguration'}, 'sku': {'key': 'sku', 'type': 'Sku'}, } - def __init__(self, *, location: str, managed_resource_group_id: str, tags=None, parameters=None, ui_definition_uri: str=None, authorizations=None, sku=None, **kwargs) -> None: + def __init__(self, *, location: str, managed_resource_group_id: str, tags=None, parameters=None, ui_definition_uri: str=None, authorizations=None, created_by=None, updated_by=None, created_date_time=None, storage_account_identity=None, sku=None, **kwargs) -> None: super(Workspace, self).__init__(tags=tags, location=location, **kwargs) self.managed_resource_group_id = managed_resource_group_id self.parameters = parameters self.provisioning_state = None self.ui_definition_uri = ui_definition_uri self.authorizations = authorizations + self.created_by = created_by + self.updated_by = updated_by + self.created_date_time = created_date_time + self.workspace_id = None + self.workspace_url = None + self.storage_account_identity = storage_account_identity self.sku = sku @@ -401,10 +533,6 @@ def __init__(self, *, value, type=None, **kwargs) -> None: class WorkspaceCustomParameters(Model): """Custom Parameters used for Cluster Creation. - :param aml_workspace_id: The Workspace ID of an Azure Machine Learning - Workspace - :type aml_workspace_id: - ~azure.mgmt.databricks.models.WorkspaceCustomStringParameter :param custom_virtual_network_id: The ID of a Virtual Network where this Databricks Cluster should be created :type custom_virtual_network_id: @@ -420,63 +548,33 @@ class WorkspaceCustomParameters(Model): :param enable_no_public_ip: Should the Public IP be Disabled? :type enable_no_public_ip: ~azure.mgmt.databricks.models.WorkspaceCustomBooleanParameter - :param load_balancer_backend_pool_name: The name of a Backend Address Pool - within an Azure Load Balancer - :type load_balancer_backend_pool_name: - ~azure.mgmt.databricks.models.WorkspaceCustomStringParameter - :param load_balancer_id: The Resource ID of an Azure Load Balancer - :type load_balancer_id: - ~azure.mgmt.databricks.models.WorkspaceCustomStringParameter - :param relay_namespace_name: The name of an Azure Relay Namespace - :type relay_namespace_name: - ~azure.mgmt.databricks.models.WorkspaceCustomStringParameter - :param storage_account_name: The name which should be used for the Storage - Account - :type storage_account_name: - ~azure.mgmt.databricks.models.WorkspaceCustomStringParameter - :param storage_account_sku_name: The SKU which should be used for this - Storage Account - :type storage_account_sku_name: - ~azure.mgmt.databricks.models.WorkspaceCustomStringParameter - :param resource_tags: A map of Tags which should be applied to the - resources used by this Databricks Cluster. - :type resource_tags: - ~azure.mgmt.databricks.models.WorkspaceCustomObjectParameter - :param vnet_address_prefix: The first 2 octets of the virtual network /16 - address range (e.g., '10.139' for the address range 10.139.0.0/16). - :type vnet_address_prefix: - ~azure.mgmt.databricks.models.WorkspaceCustomStringParameter + :param prepare_encryption: Prepare the workspace for encryption. Enables + the Managed Identity for managed storage account. + :type prepare_encryption: + ~azure.mgmt.databricks.models.WorkspaceCustomBooleanParameter + :param encryption: Contains the encryption details for Customer-Managed + Key (CMK) enabled workspace. + :type encryption: + ~azure.mgmt.databricks.models.WorkspaceEncryptionParameter """ _attribute_map = { - 'aml_workspace_id': {'key': 'amlWorkspaceId', 'type': 'WorkspaceCustomStringParameter'}, 'custom_virtual_network_id': {'key': 'customVirtualNetworkId', 'type': 'WorkspaceCustomStringParameter'}, 'custom_public_subnet_name': {'key': 'customPublicSubnetName', 'type': 'WorkspaceCustomStringParameter'}, 'custom_private_subnet_name': {'key': 'customPrivateSubnetName', 'type': 'WorkspaceCustomStringParameter'}, 'enable_no_public_ip': {'key': 'enableNoPublicIp', 'type': 'WorkspaceCustomBooleanParameter'}, - 'load_balancer_backend_pool_name': {'key': 'loadBalancerBackendPoolName', 'type': 'WorkspaceCustomStringParameter'}, - 'load_balancer_id': {'key': 'loadBalancerId', 'type': 'WorkspaceCustomStringParameter'}, - 'relay_namespace_name': {'key': 'relayNamespaceName', 'type': 'WorkspaceCustomStringParameter'}, - 'storage_account_name': {'key': 'storageAccountName', 'type': 'WorkspaceCustomStringParameter'}, - 'storage_account_sku_name': {'key': 'storageAccountSkuName', 'type': 'WorkspaceCustomStringParameter'}, - 'resource_tags': {'key': 'resourceTags', 'type': 'WorkspaceCustomObjectParameter'}, - 'vnet_address_prefix': {'key': 'vnetAddressPrefix', 'type': 'WorkspaceCustomStringParameter'}, + 'prepare_encryption': {'key': 'prepareEncryption', 'type': 'WorkspaceCustomBooleanParameter'}, + 'encryption': {'key': 'encryption', 'type': 'WorkspaceEncryptionParameter'}, } - def __init__(self, *, aml_workspace_id=None, custom_virtual_network_id=None, custom_public_subnet_name=None, custom_private_subnet_name=None, enable_no_public_ip=None, load_balancer_backend_pool_name=None, load_balancer_id=None, relay_namespace_name=None, storage_account_name=None, storage_account_sku_name=None, resource_tags=None, vnet_address_prefix=None, **kwargs) -> None: + def __init__(self, *, custom_virtual_network_id=None, custom_public_subnet_name=None, custom_private_subnet_name=None, enable_no_public_ip=None, prepare_encryption=None, encryption=None, **kwargs) -> None: super(WorkspaceCustomParameters, self).__init__(**kwargs) - self.aml_workspace_id = aml_workspace_id self.custom_virtual_network_id = custom_virtual_network_id self.custom_public_subnet_name = custom_public_subnet_name self.custom_private_subnet_name = custom_private_subnet_name self.enable_no_public_ip = enable_no_public_ip - self.load_balancer_backend_pool_name = load_balancer_backend_pool_name - self.load_balancer_id = load_balancer_id - self.relay_namespace_name = relay_namespace_name - self.storage_account_name = storage_account_name - self.storage_account_sku_name = storage_account_sku_name - self.resource_tags = resource_tags - self.vnet_address_prefix = vnet_address_prefix + self.prepare_encryption = prepare_encryption + self.encryption = encryption class WorkspaceCustomStringParameter(Model): @@ -506,6 +604,27 @@ def __init__(self, *, value: str, type=None, **kwargs) -> None: self.value = value +class WorkspaceEncryptionParameter(Model): + """The object that contains details of encryption used on the workspace. + + :param type: The type of variable that this is. Possible values include: + 'Bool', 'Object', 'String' + :type type: str or ~azure.mgmt.databricks.models.CustomParameterType + :param value: The value which should be used for this field. + :type value: ~azure.mgmt.databricks.models.Encryption + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'Encryption'}, + } + + def __init__(self, *, type=None, value=None, **kwargs) -> None: + super(WorkspaceEncryptionParameter, self).__init__(**kwargs) + self.type = type + self.value = value + + class WorkspaceProviderAuthorization(Model): """The workspace provider authorization. diff --git a/src/databricks/azext_databricks/vendored_sdks/databricks/models/databricks_client_enums.py b/src/databricks/azext_databricks/vendored_sdks/databricks/models/databricks_client_enums.py deleted file mode 100644 index 59c762eafc5..00000000000 --- a/src/databricks/azext_databricks/vendored_sdks/databricks/models/databricks_client_enums.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from enum import Enum - - -class ProvisioningState(str, Enum): - - accepted = "Accepted" - running = "Running" - ready = "Ready" - creating = "Creating" - created = "Created" - deleting = "Deleting" - deleted = "Deleted" - canceled = "Canceled" - failed = "Failed" - succeeded = "Succeeded" - updating = "Updating" diff --git a/src/databricks/azext_databricks/vendored_sdks/databricks/models/error_detail.py b/src/databricks/azext_databricks/vendored_sdks/databricks/models/error_detail.py deleted file mode 100644 index ac459ba41d0..00000000000 --- a/src/databricks/azext_databricks/vendored_sdks/databricks/models/error_detail.py +++ /dev/null @@ -1,44 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ErrorDetail(Model): - """Error details. - - All required parameters must be populated in order to send to Azure. - - :param code: Required. The error's code. - :type code: str - :param message: Required. A human readable error message. - :type message: str - :param target: Indicates which property in the request is responsible for - the error. - :type target: str - """ - - _validation = { - 'code': {'required': True}, - 'message': {'required': True}, - } - - _attribute_map = { - 'code': {'key': 'code', 'type': 'str'}, - 'message': {'key': 'message', 'type': 'str'}, - 'target': {'key': 'target', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ErrorDetail, self).__init__(**kwargs) - self.code = kwargs.get('code', None) - self.message = kwargs.get('message', None) - self.target = kwargs.get('target', None) diff --git a/src/databricks/azext_databricks/vendored_sdks/databricks/models/error_detail_py3.py b/src/databricks/azext_databricks/vendored_sdks/databricks/models/error_detail_py3.py deleted file mode 100644 index 1bc29789111..00000000000 --- a/src/databricks/azext_databricks/vendored_sdks/databricks/models/error_detail_py3.py +++ /dev/null @@ -1,44 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ErrorDetail(Model): - """Error details. - - All required parameters must be populated in order to send to Azure. - - :param code: Required. The error's code. - :type code: str - :param message: Required. A human readable error message. - :type message: str - :param target: Indicates which property in the request is responsible for - the error. - :type target: str - """ - - _validation = { - 'code': {'required': True}, - 'message': {'required': True}, - } - - _attribute_map = { - 'code': {'key': 'code', 'type': 'str'}, - 'message': {'key': 'message', 'type': 'str'}, - 'target': {'key': 'target', 'type': 'str'}, - } - - def __init__(self, *, code: str, message: str, target: str=None, **kwargs) -> None: - super(ErrorDetail, self).__init__(**kwargs) - self.code = code - self.message = message - self.target = target diff --git a/src/databricks/azext_databricks/vendored_sdks/databricks/models/error_info.py b/src/databricks/azext_databricks/vendored_sdks/databricks/models/error_info.py deleted file mode 100644 index eb4b250da20..00000000000 --- a/src/databricks/azext_databricks/vendored_sdks/databricks/models/error_info.py +++ /dev/null @@ -1,47 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ErrorInfo(Model): - """The code and message for an error. - - All required parameters must be populated in order to send to Azure. - - :param code: Required. A machine readable error code. - :type code: str - :param message: Required. A human readable error message. - :type message: str - :param details: error details. - :type details: list[~azure.mgmt.databricks.models.ErrorDetail] - :param innererror: Inner error details if they exist. - :type innererror: str - """ - - _validation = { - 'code': {'required': True}, - 'message': {'required': True}, - } - - _attribute_map = { - 'code': {'key': 'code', 'type': 'str'}, - 'message': {'key': 'message', 'type': 'str'}, - 'details': {'key': 'details', 'type': '[ErrorDetail]'}, - 'innererror': {'key': 'innererror', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ErrorInfo, self).__init__(**kwargs) - self.code = kwargs.get('code', None) - self.message = kwargs.get('message', None) - self.details = kwargs.get('details', None) - self.innererror = kwargs.get('innererror', None) diff --git a/src/databricks/azext_databricks/vendored_sdks/databricks/models/error_info_py3.py b/src/databricks/azext_databricks/vendored_sdks/databricks/models/error_info_py3.py deleted file mode 100644 index b560e54f16b..00000000000 --- a/src/databricks/azext_databricks/vendored_sdks/databricks/models/error_info_py3.py +++ /dev/null @@ -1,47 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ErrorInfo(Model): - """The code and message for an error. - - All required parameters must be populated in order to send to Azure. - - :param code: Required. A machine readable error code. - :type code: str - :param message: Required. A human readable error message. - :type message: str - :param details: error details. - :type details: list[~azure.mgmt.databricks.models.ErrorDetail] - :param innererror: Inner error details if they exist. - :type innererror: str - """ - - _validation = { - 'code': {'required': True}, - 'message': {'required': True}, - } - - _attribute_map = { - 'code': {'key': 'code', 'type': 'str'}, - 'message': {'key': 'message', 'type': 'str'}, - 'details': {'key': 'details', 'type': '[ErrorDetail]'}, - 'innererror': {'key': 'innererror', 'type': 'str'}, - } - - def __init__(self, *, code: str, message: str, details=None, innererror: str=None, **kwargs) -> None: - super(ErrorInfo, self).__init__(**kwargs) - self.code = code - self.message = message - self.details = details - self.innererror = innererror diff --git a/src/databricks/azext_databricks/vendored_sdks/databricks/models/error_response.py b/src/databricks/azext_databricks/vendored_sdks/databricks/models/error_response.py deleted file mode 100644 index ca3a62e0c77..00000000000 --- a/src/databricks/azext_databricks/vendored_sdks/databricks/models/error_response.py +++ /dev/null @@ -1,49 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model -from msrest.exceptions import HttpOperationError - - -class ErrorResponse(Model): - """Error response. - - Contains details when the response code indicates an error. - - All required parameters must be populated in order to send to Azure. - - :param error: Required. The error details. - :type error: ~azure.mgmt.databricks.models.ErrorInfo - """ - - _validation = { - 'error': {'required': True}, - } - - _attribute_map = { - 'error': {'key': 'error', 'type': 'ErrorInfo'}, - } - - def __init__(self, **kwargs): - super(ErrorResponse, self).__init__(**kwargs) - self.error = kwargs.get('error', None) - - -class ErrorResponseException(HttpOperationError): - """Server responsed with exception of type: 'ErrorResponse'. - - :param deserialize: A deserializer - :param response: Server response to be deserialized. - """ - - def __init__(self, deserialize, response, *args): - - super(ErrorResponseException, self).__init__(deserialize, response, 'ErrorResponse', *args) diff --git a/src/databricks/azext_databricks/vendored_sdks/databricks/models/error_response_py3.py b/src/databricks/azext_databricks/vendored_sdks/databricks/models/error_response_py3.py deleted file mode 100644 index 0f68702ffa1..00000000000 --- a/src/databricks/azext_databricks/vendored_sdks/databricks/models/error_response_py3.py +++ /dev/null @@ -1,49 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model -from msrest.exceptions import HttpOperationError - - -class ErrorResponse(Model): - """Error response. - - Contains details when the response code indicates an error. - - All required parameters must be populated in order to send to Azure. - - :param error: Required. The error details. - :type error: ~azure.mgmt.databricks.models.ErrorInfo - """ - - _validation = { - 'error': {'required': True}, - } - - _attribute_map = { - 'error': {'key': 'error', 'type': 'ErrorInfo'}, - } - - def __init__(self, *, error, **kwargs) -> None: - super(ErrorResponse, self).__init__(**kwargs) - self.error = error - - -class ErrorResponseException(HttpOperationError): - """Server responsed with exception of type: 'ErrorResponse'. - - :param deserialize: A deserializer - :param response: Server response to be deserialized. - """ - - def __init__(self, deserialize, response, *args): - - super(ErrorResponseException, self).__init__(deserialize, response, 'ErrorResponse', *args) diff --git a/src/databricks/azext_databricks/vendored_sdks/databricks/models/operation.py b/src/databricks/azext_databricks/vendored_sdks/databricks/models/operation.py deleted file mode 100644 index 2d3b42b12ad..00000000000 --- a/src/databricks/azext_databricks/vendored_sdks/databricks/models/operation.py +++ /dev/null @@ -1,32 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class Operation(Model): - """REST API operation. - - :param name: Operation name: {provider}/{resource}/{operation} - :type name: str - :param display: The object that represents the operation. - :type display: ~azure.mgmt.databricks.models.OperationDisplay - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'display': {'key': 'display', 'type': 'OperationDisplay'}, - } - - def __init__(self, **kwargs): - super(Operation, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.display = kwargs.get('display', None) diff --git a/src/databricks/azext_databricks/vendored_sdks/databricks/models/operation_display.py b/src/databricks/azext_databricks/vendored_sdks/databricks/models/operation_display.py deleted file mode 100644 index 3f41bf8dc39..00000000000 --- a/src/databricks/azext_databricks/vendored_sdks/databricks/models/operation_display.py +++ /dev/null @@ -1,36 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class OperationDisplay(Model): - """The object that represents the operation. - - :param provider: Service provider: Microsoft.ResourceProvider - :type provider: str - :param resource: Resource on which the operation is performed. - :type resource: str - :param operation: Operation type: Read, write, delete, etc. - :type operation: str - """ - - _attribute_map = { - 'provider': {'key': 'provider', 'type': 'str'}, - 'resource': {'key': 'resource', 'type': 'str'}, - 'operation': {'key': 'operation', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(OperationDisplay, self).__init__(**kwargs) - self.provider = kwargs.get('provider', None) - self.resource = kwargs.get('resource', None) - self.operation = kwargs.get('operation', None) diff --git a/src/databricks/azext_databricks/vendored_sdks/databricks/models/operation_display_py3.py b/src/databricks/azext_databricks/vendored_sdks/databricks/models/operation_display_py3.py deleted file mode 100644 index e999835f754..00000000000 --- a/src/databricks/azext_databricks/vendored_sdks/databricks/models/operation_display_py3.py +++ /dev/null @@ -1,36 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class OperationDisplay(Model): - """The object that represents the operation. - - :param provider: Service provider: Microsoft.ResourceProvider - :type provider: str - :param resource: Resource on which the operation is performed. - :type resource: str - :param operation: Operation type: Read, write, delete, etc. - :type operation: str - """ - - _attribute_map = { - 'provider': {'key': 'provider', 'type': 'str'}, - 'resource': {'key': 'resource', 'type': 'str'}, - 'operation': {'key': 'operation', 'type': 'str'}, - } - - def __init__(self, *, provider: str=None, resource: str=None, operation: str=None, **kwargs) -> None: - super(OperationDisplay, self).__init__(**kwargs) - self.provider = provider - self.resource = resource - self.operation = operation diff --git a/src/databricks/azext_databricks/vendored_sdks/databricks/models/operation_paged.py b/src/databricks/azext_databricks/vendored_sdks/databricks/models/operation_paged.py deleted file mode 100644 index ec9d387e271..00000000000 --- a/src/databricks/azext_databricks/vendored_sdks/databricks/models/operation_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.paging import Paged - - -class OperationPaged(Paged): - """ - A paging container for iterating over a list of :class:`Operation ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[Operation]'} - } - - def __init__(self, *args, **kwargs): - - super(OperationPaged, self).__init__(*args, **kwargs) diff --git a/src/databricks/azext_databricks/vendored_sdks/databricks/models/operation_py3.py b/src/databricks/azext_databricks/vendored_sdks/databricks/models/operation_py3.py deleted file mode 100644 index 043239e379c..00000000000 --- a/src/databricks/azext_databricks/vendored_sdks/databricks/models/operation_py3.py +++ /dev/null @@ -1,32 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class Operation(Model): - """REST API operation. - - :param name: Operation name: {provider}/{resource}/{operation} - :type name: str - :param display: The object that represents the operation. - :type display: ~azure.mgmt.databricks.models.OperationDisplay - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'display': {'key': 'display', 'type': 'OperationDisplay'}, - } - - def __init__(self, *, name: str=None, display=None, **kwargs) -> None: - super(Operation, self).__init__(**kwargs) - self.name = name - self.display = display diff --git a/src/databricks/azext_databricks/vendored_sdks/databricks/models/resource.py b/src/databricks/azext_databricks/vendored_sdks/databricks/models/resource.py deleted file mode 100644 index d8f988cdf5f..00000000000 --- a/src/databricks/azext_databricks/vendored_sdks/databricks/models/resource.py +++ /dev/null @@ -1,47 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class Resource(Model): - """The core properties of ARM resources. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar id: Fully qualified resource Id for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} - :vartype id: str - :ivar name: The name of the resource - :vartype name: str - :ivar type: The type of the resource. Ex- - Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. - :vartype type: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(Resource, self).__init__(**kwargs) - self.id = None - self.name = None - self.type = None diff --git a/src/databricks/azext_databricks/vendored_sdks/databricks/models/resource_py3.py b/src/databricks/azext_databricks/vendored_sdks/databricks/models/resource_py3.py deleted file mode 100644 index 7c8c3022e1f..00000000000 --- a/src/databricks/azext_databricks/vendored_sdks/databricks/models/resource_py3.py +++ /dev/null @@ -1,47 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class Resource(Model): - """The core properties of ARM resources. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar id: Fully qualified resource Id for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} - :vartype id: str - :ivar name: The name of the resource - :vartype name: str - :ivar type: The type of the resource. Ex- - Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. - :vartype type: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs) -> None: - super(Resource, self).__init__(**kwargs) - self.id = None - self.name = None - self.type = None diff --git a/src/databricks/azext_databricks/vendored_sdks/databricks/models/sku.py b/src/databricks/azext_databricks/vendored_sdks/databricks/models/sku.py deleted file mode 100644 index 59bf3f22dd2..00000000000 --- a/src/databricks/azext_databricks/vendored_sdks/databricks/models/sku.py +++ /dev/null @@ -1,38 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class Sku(Model): - """SKU for the resource. - - All required parameters must be populated in order to send to Azure. - - :param name: Required. The SKU name. - :type name: str - :param tier: The SKU tier. - :type tier: str - """ - - _validation = { - 'name': {'required': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'tier': {'key': 'tier', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(Sku, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.tier = kwargs.get('tier', None) diff --git a/src/databricks/azext_databricks/vendored_sdks/databricks/models/sku_py3.py b/src/databricks/azext_databricks/vendored_sdks/databricks/models/sku_py3.py deleted file mode 100644 index 6fe2d3126c5..00000000000 --- a/src/databricks/azext_databricks/vendored_sdks/databricks/models/sku_py3.py +++ /dev/null @@ -1,38 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class Sku(Model): - """SKU for the resource. - - All required parameters must be populated in order to send to Azure. - - :param name: Required. The SKU name. - :type name: str - :param tier: The SKU tier. - :type tier: str - """ - - _validation = { - 'name': {'required': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'tier': {'key': 'tier', 'type': 'str'}, - } - - def __init__(self, *, name: str, tier: str=None, **kwargs) -> None: - super(Sku, self).__init__(**kwargs) - self.name = name - self.tier = tier diff --git a/src/databricks/azext_databricks/vendored_sdks/databricks/models/workspace.py b/src/databricks/azext_databricks/vendored_sdks/databricks/models/workspace.py deleted file mode 100644 index 951ffd97b04..00000000000 --- a/src/databricks/azext_databricks/vendored_sdks/databricks/models/workspace.py +++ /dev/null @@ -1,85 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .tracked_resource import TrackedResource - - -class Workspace(TrackedResource): - """Information about workspace. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :ivar id: Fully qualified resource Id for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} - :vartype id: str - :ivar name: The name of the resource - :vartype name: str - :ivar type: The type of the resource. Ex- - Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. - :vartype type: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param location: Required. The geo-location where the resource lives - :type location: str - :param managed_resource_group_id: Required. The managed resource group Id. - :type managed_resource_group_id: str - :param parameters: Name and value pairs that define the workspace - parameters. - :type parameters: object - :ivar provisioning_state: The workspace provisioning state. Possible - values include: 'Accepted', 'Running', 'Ready', 'Creating', 'Created', - 'Deleting', 'Deleted', 'Canceled', 'Failed', 'Succeeded', 'Updating' - :vartype provisioning_state: str or - ~azure.mgmt.databricks.models.ProvisioningState - :param ui_definition_uri: The blob URI where the UI definition file is - located. - :type ui_definition_uri: str - :param authorizations: The workspace provider authorizations. - :type authorizations: - list[~azure.mgmt.databricks.models.WorkspaceProviderAuthorization] - :param sku: The SKU of the resource. - :type sku: ~azure.mgmt.databricks.models.Sku - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'location': {'required': True}, - 'managed_resource_group_id': {'required': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'location': {'key': 'location', 'type': 'str'}, - 'managed_resource_group_id': {'key': 'properties.managedResourceGroupId', 'type': 'str'}, - 'parameters': {'key': 'properties.parameters', 'type': 'object'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'ui_definition_uri': {'key': 'properties.uiDefinitionUri', 'type': 'str'}, - 'authorizations': {'key': 'properties.authorizations', 'type': '[WorkspaceProviderAuthorization]'}, - 'sku': {'key': 'sku', 'type': 'Sku'}, - } - - def __init__(self, **kwargs): - super(Workspace, self).__init__(**kwargs) - self.managed_resource_group_id = kwargs.get('managed_resource_group_id', None) - self.parameters = kwargs.get('parameters', None) - self.provisioning_state = None - self.ui_definition_uri = kwargs.get('ui_definition_uri', None) - self.authorizations = kwargs.get('authorizations', None) - self.sku = kwargs.get('sku', None) diff --git a/src/databricks/azext_databricks/vendored_sdks/databricks/models/workspace_paged.py b/src/databricks/azext_databricks/vendored_sdks/databricks/models/workspace_paged.py deleted file mode 100644 index d514b8bd185..00000000000 --- a/src/databricks/azext_databricks/vendored_sdks/databricks/models/workspace_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.paging import Paged - - -class WorkspacePaged(Paged): - """ - A paging container for iterating over a list of :class:`Workspace ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[Workspace]'} - } - - def __init__(self, *args, **kwargs): - - super(WorkspacePaged, self).__init__(*args, **kwargs) diff --git a/src/databricks/azext_databricks/vendored_sdks/databricks/models/workspace_provider_authorization.py b/src/databricks/azext_databricks/vendored_sdks/databricks/models/workspace_provider_authorization.py deleted file mode 100644 index 050276511e1..00000000000 --- a/src/databricks/azext_databricks/vendored_sdks/databricks/models/workspace_provider_authorization.py +++ /dev/null @@ -1,44 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class WorkspaceProviderAuthorization(Model): - """The workspace provider authorization. - - All required parameters must be populated in order to send to Azure. - - :param principal_id: Required. The provider's principal identifier. This - is the identity that the provider will use to call ARM to manage the - workspace resources. - :type principal_id: str - :param role_definition_id: Required. The provider's role definition - identifier. This role will define all the permissions that the provider - must have on the workspace's container resource group. This role - definition cannot have permission to delete the resource group. - :type role_definition_id: str - """ - - _validation = { - 'principal_id': {'required': True}, - 'role_definition_id': {'required': True}, - } - - _attribute_map = { - 'principal_id': {'key': 'principalId', 'type': 'str'}, - 'role_definition_id': {'key': 'roleDefinitionId', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(WorkspaceProviderAuthorization, self).__init__(**kwargs) - self.principal_id = kwargs.get('principal_id', None) - self.role_definition_id = kwargs.get('role_definition_id', None) diff --git a/src/databricks/azext_databricks/vendored_sdks/databricks/models/workspace_provider_authorization_py3.py b/src/databricks/azext_databricks/vendored_sdks/databricks/models/workspace_provider_authorization_py3.py deleted file mode 100644 index e5584dbd1e7..00000000000 --- a/src/databricks/azext_databricks/vendored_sdks/databricks/models/workspace_provider_authorization_py3.py +++ /dev/null @@ -1,44 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class WorkspaceProviderAuthorization(Model): - """The workspace provider authorization. - - All required parameters must be populated in order to send to Azure. - - :param principal_id: Required. The provider's principal identifier. This - is the identity that the provider will use to call ARM to manage the - workspace resources. - :type principal_id: str - :param role_definition_id: Required. The provider's role definition - identifier. This role will define all the permissions that the provider - must have on the workspace's container resource group. This role - definition cannot have permission to delete the resource group. - :type role_definition_id: str - """ - - _validation = { - 'principal_id': {'required': True}, - 'role_definition_id': {'required': True}, - } - - _attribute_map = { - 'principal_id': {'key': 'principalId', 'type': 'str'}, - 'role_definition_id': {'key': 'roleDefinitionId', 'type': 'str'}, - } - - def __init__(self, *, principal_id: str, role_definition_id: str, **kwargs) -> None: - super(WorkspaceProviderAuthorization, self).__init__(**kwargs) - self.principal_id = principal_id - self.role_definition_id = role_definition_id diff --git a/src/databricks/azext_databricks/vendored_sdks/databricks/models/workspace_py3.py b/src/databricks/azext_databricks/vendored_sdks/databricks/models/workspace_py3.py deleted file mode 100644 index d046f0b7862..00000000000 --- a/src/databricks/azext_databricks/vendored_sdks/databricks/models/workspace_py3.py +++ /dev/null @@ -1,85 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .tracked_resource_py3 import TrackedResource - - -class Workspace(TrackedResource): - """Information about workspace. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :ivar id: Fully qualified resource Id for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} - :vartype id: str - :ivar name: The name of the resource - :vartype name: str - :ivar type: The type of the resource. Ex- - Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. - :vartype type: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param location: Required. The geo-location where the resource lives - :type location: str - :param managed_resource_group_id: Required. The managed resource group Id. - :type managed_resource_group_id: str - :param parameters: Name and value pairs that define the workspace - parameters. - :type parameters: object - :ivar provisioning_state: The workspace provisioning state. Possible - values include: 'Accepted', 'Running', 'Ready', 'Creating', 'Created', - 'Deleting', 'Deleted', 'Canceled', 'Failed', 'Succeeded', 'Updating' - :vartype provisioning_state: str or - ~azure.mgmt.databricks.models.ProvisioningState - :param ui_definition_uri: The blob URI where the UI definition file is - located. - :type ui_definition_uri: str - :param authorizations: The workspace provider authorizations. - :type authorizations: - list[~azure.mgmt.databricks.models.WorkspaceProviderAuthorization] - :param sku: The SKU of the resource. - :type sku: ~azure.mgmt.databricks.models.Sku - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'location': {'required': True}, - 'managed_resource_group_id': {'required': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'location': {'key': 'location', 'type': 'str'}, - 'managed_resource_group_id': {'key': 'properties.managedResourceGroupId', 'type': 'str'}, - 'parameters': {'key': 'properties.parameters', 'type': 'object'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'ui_definition_uri': {'key': 'properties.uiDefinitionUri', 'type': 'str'}, - 'authorizations': {'key': 'properties.authorizations', 'type': '[WorkspaceProviderAuthorization]'}, - 'sku': {'key': 'sku', 'type': 'Sku'}, - } - - def __init__(self, *, location: str, managed_resource_group_id: str, tags=None, parameters=None, ui_definition_uri: str=None, authorizations=None, sku=None, **kwargs) -> None: - super(Workspace, self).__init__(tags=tags, location=location, **kwargs) - self.managed_resource_group_id = managed_resource_group_id - self.parameters = parameters - self.provisioning_state = None - self.ui_definition_uri = ui_definition_uri - self.authorizations = authorizations - self.sku = sku diff --git a/src/databricks/azext_databricks/vendored_sdks/databricks/models/workspace_update.py b/src/databricks/azext_databricks/vendored_sdks/databricks/models/workspace_update.py deleted file mode 100644 index 6692c6b62e6..00000000000 --- a/src/databricks/azext_databricks/vendored_sdks/databricks/models/workspace_update.py +++ /dev/null @@ -1,28 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class WorkspaceUpdate(Model): - """An update to a workspace. - - :param tags: Resource tags. - :type tags: dict[str, str] - """ - - _attribute_map = { - 'tags': {'key': 'tags', 'type': '{str}'}, - } - - def __init__(self, **kwargs): - super(WorkspaceUpdate, self).__init__(**kwargs) - self.tags = kwargs.get('tags', None) diff --git a/src/databricks/azext_databricks/vendored_sdks/databricks/models/workspace_update_py3.py b/src/databricks/azext_databricks/vendored_sdks/databricks/models/workspace_update_py3.py deleted file mode 100644 index 19903c679fb..00000000000 --- a/src/databricks/azext_databricks/vendored_sdks/databricks/models/workspace_update_py3.py +++ /dev/null @@ -1,28 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class WorkspaceUpdate(Model): - """An update to a workspace. - - :param tags: Resource tags. - :type tags: dict[str, str] - """ - - _attribute_map = { - 'tags': {'key': 'tags', 'type': '{str}'}, - } - - def __init__(self, *, tags=None, **kwargs) -> None: - super(WorkspaceUpdate, self).__init__(**kwargs) - self.tags = tags diff --git a/src/databricks/azext_databricks/vendored_sdks/databricks/operations/_workspaces_operations.py b/src/databricks/azext_databricks/vendored_sdks/databricks/operations/_workspaces_operations.py index 24e137edea1..9ca2760df9a 100644 --- a/src/databricks/azext_databricks/vendored_sdks/databricks/operations/_workspaces_operations.py +++ b/src/databricks/azext_databricks/vendored_sdks/databricks/operations/_workspaces_operations.py @@ -87,7 +87,7 @@ def get( request = self._client.get(url, query_parameters, header_parameters) response = self._client.send(request, stream=False, **operation_config) - if response.status_code not in [200, 404]: + if response.status_code not in [200]: raise models.ErrorResponseException(self._deserialize, response) deserialized = None @@ -130,7 +130,7 @@ def _delete_initial( request = self._client.delete(url, query_parameters, header_parameters) response = self._client.send(request, stream=False, **operation_config) - if response.status_code not in [202, 204]: + if response.status_code not in [200, 202, 204]: raise models.ErrorResponseException(self._deserialize, response) if raw: diff --git a/src/databricks/setup.cfg b/src/databricks/setup.cfg index 5eab412034f..e69de29bb2d 100644 --- a/src/databricks/setup.cfg +++ b/src/databricks/setup.cfg @@ -1,2 +0,0 @@ -[bdist_wheel] -universal=1 diff --git a/src/databricks/setup.py b/src/databricks/setup.py index 17986921ef3..c7bd3cd1ca9 100644 --- a/src/databricks/setup.py +++ b/src/databricks/setup.py @@ -16,7 +16,7 @@ # TODO: Confirm this is the right version number you want and it matches your # HISTORY.rst entry. -VERSION = '0.1.0' +VERSION = '0.3.0' # The full list of classifiers is available at # https://pypi.python.org/pypi?%3Aaction=list_classifiers @@ -26,7 +26,6 @@ 'Intended Audience :: System Administrators', 'Programming Language :: Python', 'Programming Language :: Python :: 3', - 'Programming Language :: Python :: 3.5', 'Programming Language :: Python :: 3.6', 'Programming Language :: Python :: 3.7', 'Programming Language :: Python :: 3.8', diff --git a/src/datashare/HISTORY.rst b/src/datashare/HISTORY.rst new file mode 100644 index 00000000000..27f152061e8 --- /dev/null +++ b/src/datashare/HISTORY.rst @@ -0,0 +1,8 @@ +.. :changelog: + +Release History +=============== + +0.1.0 +++++++ +* Initial release. diff --git a/src/datashare/README.md b/src/datashare/README.md new file mode 100644 index 00000000000..9b8be0ab667 --- /dev/null +++ b/src/datashare/README.md @@ -0,0 +1,201 @@ +# Azure CLI datashare Extension # +This package is for the 'datashare' extension, i.e. 'az datashare'. More info on what is [Data Share](https://docs.microsoft.com/azure/data-share/). + +### How to use ### +Install this extension using the below CLI command +``` +az extension add --name datashare +``` + +Register DataShare Resource Provider for your default susbcription. +``` +az provider register -n "Microsoft.DataShare" +``` + +### Included Features +#### Datashare Account Management +*Examples:* + +##### Create a Datashare Account + +``` +az datashare account create \ +--location "West US 2" \ +--tags tag1=Red tag2=White \ +--name "cli_test_account" \ +--resource-group "datashare_provider_rg" +``` + +##### Wait for the Datashare Account to be provisioned +``` +az datashare account wait \ +--name "cli_test_account" \ +--resource-group "datashare_provider_rg" \ +--created +``` + +#### Datashare Resource Management for a Provider +*Examples:* + +##### Create a Datashare +``` +az datashare create \ +--account-name "cli_test_account" \ +--resource-group "datashare_provider_rg" \ +--description "share description" \ +--share-kind "CopyBased" \ +--terms "Confidential" \ +--name "cli_test_share" +``` + +##### Create a Data Set +``` +az datashare dataset create \ +--account-name "cli_test_account" \ +--name "cli_test_data_set" \ +--resource-group "datashare_provider_rg" \ +--share-name "cli_test_share" \ +--dataset "{\"container_name\":\"mycontainer\",\"storage_account_name\":\"mysa\",\"kind\":\"Container\"}" +``` + +Please make sure the datashare account has the right permission of the data source when creating a data set upon it. +For instance, you can use `az datashare account show` to get 'identity.principalId' of the account, then assign the right role to it. +``` +az role assignment create \ +--role "Storage Blob Data Reader" \ +--assignee-object-id {DatashareAccountPrincipalId} \ +--assignee-principal-type ServicePrincipal \ +--scope {StorageAccountId} +``` + +##### Create a Synchronization Setting +``` +az datashare synchronization-setting create \ +--account-name cli_test_account \ +--resource-group datashare_provider_rg \ +--share-name cli_test_share \ +--name cli_test_synchronization_setting \ +--recurrence-interval Day \ +--synchronization-time "2020-04-05 10:50:00 +00:00" \ +--kind ScheduleBased +``` + +##### List Synchronization History +``` +az datashare synchronization list \ +--account-name "cli_test_account" \ +--resource-group "datashare_provider_rg" \ +--share-name "cli_test_share" +``` + +##### Create a Datashare Invitation +``` +az datashare invitation create \ +--account-name "cli_test_account" \ +--target-email "myname@microsoft.com" \ +--name "cli_test_invitation" \ +--resource-group "datashare_provider_rg" \ +--share-name "cli_test_share" +``` + +##### List Share Subscriptions +``` +az datashare provider-share-subscription list \ +--account-name "cli_test_account" \ +--resource-group "datashare_provider_rg" \ +--share-name "cli_test_share" +``` +Share subscriptions are created by Datashare consumers when they accept invitations. + +##### Revoke Datashare for a Share Subscription +``` +az datashare provider-share-subscription revoke \ +--account-name "cli_test_account" \ +--share-subscription "{ProviderShareSubscriptionObjectId}" \ +--resource-group "datashare_provider_rg" \ +--share-name "cli_test_share" +``` + +##### Reinstate Datashare for a Share Subscription +``` +az datashare provider-share-subscription reinstate \ +--account-name "cli_test_account" \ +--share-subscription "{ProviderShareSubscriptionObjectId}" \ +--resource-group "datashare_provider_rg" \ +--share-name "cli_test_share" +``` + +#### Datashare Resource Management for a Consumer +*Examples:* + +##### List received Invitations +``` +az datashare consumer invitation list +``` + +##### Create a Share Subscription from an Invitation +``` +az datashare consumer share-subscription create \ +--account-name "cli_test_consumer_account" \ +--resource-group "datashare_consumer_rg" \ +--invitation-id "{InvitationId1}" \ +--source-share-location "sourceShareLocation" \ +--name "cli_test_share_subscription" +``` + +##### List Source Data Sets in the Share Subscription +``` +az datashare consumer share-subscription list-source-dataset \ +--account-name "cli_test_consumer_account" \ +--resource-group "datashare_consumer_rg" \ +--share-subscription-name "cli_test_share_subscription" +``` + +##### Create a Data Set Mapping of the Source Data Set +``` +az datashare consumer dataset-mapping create \ +--account-name "cli_test_consumer_account" \ +--name "cli_test_data_set_mapping" \ +--resource-group "datashare_consumer_rg" \ +--share-subscription-name "cli_test_share_subscription" \ +--mapping "{\"data_set_id\":\"2036a39f-add6-4347-9c82-a424dfaf4e8d\", \ +\"container_name\":\"newcontainer\", \"storage_account_name\":\"consumersa\", \ +\"kind\":\"BlobFolder\",\"prefix\":\"myprefix\"}" +``` +Please make sure the datashare consumer account has the right permission of the data target when creating a data set mapping on it. For instance, you can use `az datashare account show` to get 'identity.principalId' of the account, then assign the right role to it. +``` +az role assignment create \ +--role "Storage Blob Data Contributor" \ +--assignee-object-id "{ConsumerDatashareAccountPrincipalId}" \ +--assignee-principal-type ServicePrincipal \ +--scope "{ConsumerStorageAccountId}" +``` + +##### List the synchronization settings of the Source Datashare +``` +az datashare consumer share-subscription list-source-share-synchronization-setting \ +--account-name "cli_test_consumer_account" \ +--resource-group "datashare_consumer_rg" \ +--share-subscription-name "cli_test_share_subscription" +``` + +##### Create a trigger for the Share Subsciption +``` +az datashare consumer trigger create \ +--account-name "cli_test_consumer_account" \ +--resource-group "datashare_consumer_rg" \ +--share-subscription-name "cli_test_share_subscription" \ +--name "cli_test_trigger" \ +--recurrence-interval Day \ +--synchronization-time "2020-04-05 10:50:00 +00:00" \ +--kind ScheduleBased +``` + +##### Start a synchronization for the Share Subscription +``` +az datashare consumer share-subscription synchronization start \ +--account-name "cli_test_consumer_account" \ +--resource-group "datashare_consumer_rg" \ +--share-subscription-name "cli_test_share_subscription" \ +--synchronization-mode "Incremental" +``` diff --git a/src/datashare/azext_datashare/__init__.py b/src/datashare/azext_datashare/__init__.py new file mode 100644 index 00000000000..505737b668a --- /dev/null +++ b/src/datashare/azext_datashare/__init__.py @@ -0,0 +1,49 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- +# pylint: disable=unused-argument +# pylint: disable=unused-import + +from azure.cli.core import AzCommandsLoader +from azext_datashare._help import helps + + +class DataShareManagementClientCommandsLoader(AzCommandsLoader): + + def __init__(self, cli_ctx=None): + from azure.cli.core.commands import CliCommandType + from azext_datashare.generated._client_factory import cf_datashare + datashare_custom = CliCommandType( + operations_tmpl='azext_datashare.manual.custom#{}', # modified + client_factory=cf_datashare) + super(DataShareManagementClientCommandsLoader, self).__init__(cli_ctx=cli_ctx, + custom_command_type=datashare_custom) + + def load_command_table(self, args): + try: + from azext_datashare.generated.commands import load_command_table + load_command_table(self, args) + except ImportError: + pass + try: + from azext_datashare.manual.commands import load_command_table as load_command_table_manual + load_command_table_manual(self, args) + except ImportError: + pass + return self.command_table + + def load_arguments(self, command): + try: + from azext_datashare.generated._params import load_arguments + load_arguments(self, command) + except ImportError: + pass + try: + from azext_datashare.manual._params import load_arguments as load_arguments_manual + load_arguments_manual(self, command) + except ImportError: + pass + + +COMMAND_LOADER_CLS = DataShareManagementClientCommandsLoader diff --git a/src/datashare/azext_datashare/_help.py b/src/datashare/azext_datashare/_help.py new file mode 100644 index 00000000000..c0b36e140d8 --- /dev/null +++ b/src/datashare/azext_datashare/_help.py @@ -0,0 +1,16 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- +# pylint: disable=wildcard-import +# pylint: disable=unused-wildcard-import + +# try: +# from .generated._help import * # noqa: F403 +# except ImportError: +# pass + +try: + from .manual._help import * # noqa: F403 +except ImportError: + pass diff --git a/src/datashare/azext_datashare/_params.py b/src/datashare/azext_datashare/_params.py new file mode 100644 index 00000000000..d1283049baf --- /dev/null +++ b/src/datashare/azext_datashare/_params.py @@ -0,0 +1,16 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- +# pylint: disable=wildcard-import +# pylint: disable=unused-wildcard-import + +try: + from .generated._params import * # noqa: F403 +except ImportError: + pass + +try: + from .manual._params import * # noqa: F403 +except ImportError: + pass diff --git a/src/datashare/azext_datashare/action.py b/src/datashare/azext_datashare/action.py new file mode 100644 index 00000000000..4ad472a8c52 --- /dev/null +++ b/src/datashare/azext_datashare/action.py @@ -0,0 +1,16 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- +# pylint: disable=wildcard-import +# pylint: disable=unused-wildcard-import + +try: + from .generated.action import * # noqa: F403 +except ImportError: + pass + +try: + from .manual.action import * # noqa: F403 +except ImportError: + pass diff --git a/src/datashare/azext_datashare/azext_metadata.json b/src/datashare/azext_datashare/azext_metadata.json new file mode 100644 index 00000000000..7b56fb1e11a --- /dev/null +++ b/src/datashare/azext_datashare/azext_metadata.json @@ -0,0 +1,4 @@ +{ + "azext.isExperimental": true, + "azext.minCliCoreVersion": "2.3.1" +} \ No newline at end of file diff --git a/src/datashare/azext_datashare/generated/__init__.py b/src/datashare/azext_datashare/generated/__init__.py new file mode 100644 index 00000000000..c9cfdc73e77 --- /dev/null +++ b/src/datashare/azext_datashare/generated/__init__.py @@ -0,0 +1,12 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +__path__ = __import__('pkgutil').extend_path(__path__, __name__) diff --git a/src/datashare/azext_datashare/generated/_client_factory.py b/src/datashare/azext_datashare/generated/_client_factory.py new file mode 100644 index 00000000000..bba6d6bcfb5 --- /dev/null +++ b/src/datashare/azext_datashare/generated/_client_factory.py @@ -0,0 +1,54 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + + +def cf_datashare(cli_ctx, *_): + from azure.cli.core.commands.client_factory import get_mgmt_service_client + from ..vendored_sdks.datashare import DataShareManagementClient + return get_mgmt_service_client(cli_ctx, DataShareManagementClient) + + +def cf_account(cli_ctx, *_): + return cf_datashare(cli_ctx).account + + +def cf_consumer_invitation(cli_ctx, *_): + return cf_datashare(cli_ctx).consumer_invitation + + +def cf_data_set(cli_ctx, *_): + return cf_datashare(cli_ctx).data_set + + +def cf_data_set_mapping(cli_ctx, *_): + return cf_datashare(cli_ctx).data_set_mapping + + +def cf_invitation(cli_ctx, *_): + return cf_datashare(cli_ctx).invitation + + +def cf_share(cli_ctx, *_): + return cf_datashare(cli_ctx).share + + +def cf_provider_share_subscription(cli_ctx, *_): + return cf_datashare(cli_ctx).provider_share_subscription + + +def cf_share_subscription(cli_ctx, *_): + return cf_datashare(cli_ctx).share_subscription + + +def cf_consumer_source_data_set(cli_ctx, *_): + return cf_datashare(cli_ctx).consumer_source_data_set + + +def cf_synchronization_setting(cli_ctx, *_): + return cf_datashare(cli_ctx).synchronization_setting + + +def cf_trigger(cli_ctx, *_): + return cf_datashare(cli_ctx).trigger diff --git a/src/datashare/azext_datashare/manual/__init__.py b/src/datashare/azext_datashare/manual/__init__.py new file mode 100644 index 00000000000..c9cfdc73e77 --- /dev/null +++ b/src/datashare/azext_datashare/manual/__init__.py @@ -0,0 +1,12 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +__path__ = __import__('pkgutil').extend_path(__path__, __name__) diff --git a/src/datashare/azext_datashare/manual/_help.py b/src/datashare/azext_datashare/manual/_help.py new file mode 100644 index 00000000000..e9d2ba56a72 --- /dev/null +++ b/src/datashare/azext_datashare/manual/_help.py @@ -0,0 +1,613 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- +# pylint: disable=line-too-long +# pylint: disable=too-many-lines + +from knack.help_files import helps + + +helps['datashare consumer'] = """ + type: group + short-summary: Commands for consumers to manage datashare +""" + +helps['datashare account'] = """ + type: group + short-summary: Commands to manage datashare accounts +""" + +helps['datashare account list'] = """ + type: command + short-summary: List datashare accounts + examples: + - name: List accounts by resource group + text: |- + az datashare account list --resource-group MyResourceGroup +""" + +helps['datashare account show'] = """ + type: command + short-summary: Show an account + examples: + - name: Show account information + text: |- + az datashare account show --name MyAccount --resource-group MyResourceGroup +""" + +helps['datashare account create'] = """ + type: command + short-summary: Create an account + examples: + - name: Create an account + text: |- + az datashare account create --location "West US 2" --tags tag1=Red tag2=White --name MyAccount --resource-group MyResourceGroup +""" + +helps['datashare account update'] = """ + type: command + short-summary: Patch an account + examples: + - name: Update account tags + text: |- + az datashare account update --name MyAccount --tags tag1=Red tag2=White --resource-group MyResourceGroup +""" + +helps['datashare account delete'] = """ + type: command + short-summary: Delete an account + examples: + - name: Delete the account + text: |- + az datashare account delete --name MyAccount --resource-group MyResourceGroup +""" + +helps['datashare account wait'] = """ + type: command + short-summary: Place the CLI in a waiting state until a condition of the datashare account is met. + examples: + - name: Pause executing next line of CLI script until the datashare account is successfully provisioned. + text: az datashare account wait --name MyAccount --resource-group MyResourceGroup --created +""" + +helps['datashare consumer invitation'] = """ + type: group + short-summary: Commands for consumers to manage datashare invitations +""" + +helps['datashare consumer invitation list'] = """ + type: command + short-summary: List received invitations + examples: + - name: List invitations + text: |- + az datashare consumer invitation list +""" + +helps['datashare consumer invitation show'] = """ + type: command + short-summary: Show a received invitation + examples: + - name: Show an invitation + text: |- + az datashare consumer invitation show --invitation-id 00000000-0000-0000-0000-000000000000 --location "East US 2" +""" + +helps['datashare consumer invitation reject'] = """ + type: command + short-summary: Reject an invitation + examples: + - name: Reject an invitation + text: |- + az datashare consumer invitation reject --invitation-id 00000000-0000-0000-0000-000000000000 --location "East US 2" +""" + +helps['datashare dataset'] = """ + type: group + short-summary: Commands for providers to manage datashare datasets +""" + +helps['datashare dataset list'] = """ + type: command + short-summary: List datasets in a share + examples: + - name: List datasets + text: |- + az datashare dataset list --account-name MyAccount --resource-group MyResourceGroup --share-name MyShare +""" + +helps['datashare dataset show'] = """ + type: command + short-summary: Show a dataset + examples: + - name: Show a dataset + text: |- + az datashare dataset show --account-name MyAccount --name MyDataset --resource-group MyResourceGroup --share-name MyShare +""" + +helps['datashare dataset create'] = """ + type: command + short-summary: Create a dataset + examples: + - name: Create a Blob dataset + text: |- + az datashare dataset create --account-name MyAccount --name MyDataset --resource-group MyResourceGroup --share-name MyShare \ +--dataset "{\\"kind\\":\\"Blob\\",\\"properties\\":{\\"containerName\\":\\"C1\\",\\"filePath\\":\\"file21\\",\\"resourceGroup\\": \ +\\"SampleResourceGroup\\",\\"storageAccountName\\":\\"storage2\\",\\"subscriptionId\\":\\"00000000-0000-0000-0000-000000000000\\"}}" + - name: Create a KustoCluster dataset + text: |- + az datashare dataset create --account-name MyAccount --name MyDataset --resource-group MyResourceGroup --share-name MyShare \ +--dataset "{\\"kind\\":\\"KustoCluster\\",\\"properties\\":{\\"kustoClusterResourceId\\": \ +\\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SampleResourceGroup/providers/Microsoft.Kusto/clusters/Cluster1\\"}}" + - name: Create a KustoDatabase dataset + text: |- + az datashare dataset create --account-name MyAccount --name MyDataset --resource-group MyResourceGroup --share-name MyShare \ +--dataset "{\\"kind\\":\\"KustoDatabase\\",\\"properties\\":{\\"kustoDatabaseResourceId\\": \ +\\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SampleResourceGroup/providers/Microsoft.Kusto/clusters/Cluster1/databases/Database1\\"}}" + - name: Create a SqlDBTable dataset + text: |- + az datashare dataset create --account-name MyAccount --name MyDataset --resource-group MyResourceGroup --share-name MyShare \ +--dataset "{\\"kind\\":\\"SqlDBTable\\",\\"properties\\":{\\"databaseName\\":\\"MySqlDB\\",\\"schemaName\\":\\"dbo\\", \ +\\"sqlServerResourceId\\":\\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SampleResourceGroup/providers/Microsoft.Sql/servers/Server1\\", \ +\\"tableName\\":\\"Table1\\"}}" + - name: Create a SqlDWTable dataset + text: |- + az datashare dataset create --account-name MyAccount --name MyDataset --resource-group MyResourceGroup --share-name MyShare \ +--dataset "{\\"kind\\":\\"SqlDWTable\\",\\"properties\\":{\\"dataWarehouseName\\":\\"MyDataWarehouse\\",\\"schemaName\\":\\"dbo\\", \ +\\"sqlServerResourceId\\":\\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup/providers/Microsoft.Sql/servers/MyServer\ +\\",\\"tableName\\":\\"MyTable\\"}}" +""" + +helps['datashare dataset delete'] = """ + type: command + short-summary: Delete a dataset in a share + examples: + - name: Delete a dataset + text: |- + az datashare dataset delete --account-name MyAccount --name MyDataset --resource-group MyResourceGroup --share-name MyShare +""" + +helps['datashare dataset wait'] = """ + type: command + short-summary: Place the CLI in a waiting state until a condition of the datashare dataset is met. + examples: + - name: Pause executing next line of CLI script until the datashare dataset is successfully provisioned. + text: az datashare dataset wait --account-name MyAccount --share-name MyShare --name MyDataset --resource-group MyResourceGroup --created +""" + +helps['datashare consumer dataset-mapping'] = """ + type: group + short-summary: Commands for consumers to manage datashare dataset mappings +""" + +helps['datashare consumer dataset-mapping list'] = """ + type: command + short-summary: List dataset mappings in a share subscription + examples: + - name: List dataset mappings + text: |- + az datashare consumer dataset-mapping list --account-name MyAccount --resource-group MyResourceGroup --share-subscription-name MyShareSubscription +""" + +helps['datashare consumer dataset-mapping show'] = """ + type: command + short-summary: Show a dataset mapping in a share subscription + examples: + - name: Show a dataset mapping + text: |- + az datashare consumer dataset-mapping show --account-name MyAccount --name MyDatasetMapping --resource-group MyResourceGroup --share-subscription-name MyShareSubscription +""" + +helps['datashare consumer dataset-mapping create'] = """ + type: command + short-summary: Create a dataSet mapping + examples: + - name: Create a Blob dataset mapping + text: |- + az datashare consumer dataset-mapping create --account-name MyAccount --name MyDatasetMapping --resource-group MyResourceGroup --share-subscription-name MyShareSubscription \ +--mapping "{\\"kind\\":\\"Blob\\",\\"properties\\":{\\"containerName\\":\\"C1\\",\\"dataSetId\\":\\"00000000-0000-0000-0000-000000000000\\",\\"filePath\ +\\":\\"file21\\",\\"resourceGroup\\":\\"SampleResourceGroup\\",\\"storageAccountName\\":\\"storage2\\",\\"subscriptionId\\":\\"00000000-0000-0000-0000-000000000000\\"}}" + - name: Create a SqlDBTable dataset mapping + text: |- + az datashare consumer dataset-mapping create --account-name MyAccount --name MyDatasetMapping --resource-group MyResourceGroup --share-subscription-name MyShareSubscription \ +--mapping "{\\"kind\\":\\"SqlDBTable\\",\\"properties\\":{\\"dataSetId\\":\\"00000000-0000-0000-0000-000000000000\\",\\"databaseName\\":\\"Database1\\"\ +,\\"schemaName\\":\\"dbo\\",\\"sqlServerResourceId\\":\\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SampleResourceGroup/providers/Microsoft.Sql/servers/Server1\\",\\"tableName\\":\\"Table1\\"}}" + - name: Create a AdlsGen2File dataset mapping + text: |- + az datashare consumer dataset-mapping create --account-name MyAccount --name MyDatasetMapping --resource-group MyResourceGroup --share-subscription-name MyShareSubscription \ +--mapping "{\\"kind\\":\\"AdlsGen2File\\",\\"properties\\":{\\"dataSetId\\":\\"00000000-0000-0000-0000-000000000000\\",\\"filePath\\":\\"file21\\",\\"fileSystem\\": \ +\\"fileSystem\\",\\"outputType\\":\\"Csv\\",\\"resourceGroup\\":\\"SampleResourceGroup\\",\\"storageAccountName\\":\\"storage2\\",\\"subscriptionId\\":\\"00000000-0000-0000-0000-000000000000\\"}}" + - name: Create a SqlDWTable dataset mapping + text: |- + az datashare consumer dataset-mapping create --account-name MyAccount --name MyDatasetMapping --resource-group MyResourceGroup --share-subscription-name MyShareSubscription \ +--mapping "{\\"kind\\":\\"SqlDWTable\\",\\"properties\\":{\\"dataSetId\\":\\"00000000-0000-0000-0000-000000000000\\",\\"dataWarehouseName\\":\\"DataWarehouse1\\",\ +\\"schemaName\\":\\"dbo\\",\\"sqlServerResourceId\\":\\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SampleResourceGroup/providers/Microsoft.Sql/servers/Server1\\",\\"tableName\\":\\"Table1\\"}}" +""" + +helps['datashare consumer dataset-mapping delete'] = """ + type: command + short-summary: Delete a dataset mapping in a share subscription + examples: + - name: Delete a dataset mapping + text: |- + az datashare consumer dataset-mapping delete --account-name MyAccount --name MyDatasetMapping --resource-group MyResourceGroup --share-subscription-name MyShareSubscription +""" + +helps['datashare invitation'] = """ + type: group + short-summary: Commands for providers to manage datashare invitations +""" + +helps['datashare invitation list'] = """ + type: command + short-summary: List invitations in a share + examples: + - name: List invitations + text: |- + az datashare invitation list --account-name MyAccount --resource-group MyResourceGroup --share-name MyShare +""" + +helps['datashare invitation show'] = """ + type: command + short-summary: Show an invitation in a share + examples: + - name: Show an invitation + text: |- + az datashare invitation show --account-name MyAccount --name MyInvitation --resource-group MyResourceGroup --share-name MyShare +""" + +helps['datashare invitation create'] = """ + type: command + short-summary: Create an invitation + examples: + - name: Create an invitation + text: |- + az datashare invitation create --account-name MyAccount --target-email "receiver@microsoft.com" --name MyInvitation --resource-group MyResourceGroup --share-name MyShare +""" + +helps['datashare invitation delete'] = """ + type: command + short-summary: Delete an invitation in a share + examples: + - name: Delete an invitation + text: |- + az datashare invitation delete --account-name MyAccount --name MyInvitation --resource-group MyResourceGroup --share-name MyShare +""" + +helps['datashare'] = """ + type: group + short-summary: Commands to manage datashare +""" + +helps['datashare list'] = """ + type: command + short-summary: List datashares in an account + examples: + - name: List datashares + text: |- + az datashare list --account-name MyAccount --resource-group MyResourceGroup +""" + +helps['datashare show'] = """ + type: command + short-summary: Show a datashare + examples: + - name: Show a datashare + text: |- + az datashare show --account-name MyAccount --resource-group MyResourceGroup --name MyShare +""" + +helps['datashare create'] = """ + type: command + short-summary: Create a datashare + examples: + - name: Create a datashare + text: |- + az datashare create --account-name MyAccount --resource-group MyResourceGroup --description "share description" --share-kind "CopyBased" --terms "Confidential" --name MyShare +""" + +helps['datashare delete'] = """ + type: command + short-summary: Delete a datashare + examples: + - name: Delete a datashare + text: |- + az datashare delete --account-name MyAccount --resource-group MyResourceGroup --name MyShare +""" + +helps['datashare synchronization'] = """ + type: group + short-summary: Commands to manage datashare synchronization +""" + +helps['datashare synchronization list-detail'] = """ + type: command + short-summary: List synchronization details + examples: + - name: List synchronization details + text: |- + az datashare synchronization list-detail --account-name MyAccount --resource-group MyResourceGroup --share-name MyShare --synchronization-id 00000000-0000-0000-0000-000000000000 +""" + +helps['datashare synchronization list'] = """ + type: command + short-summary: List synchronizations of a datashare + examples: + - name: List synchronizations + text: |- + az datashare synchronization list --account-name MyAccount --resource-group MyResourceGroup --share-name MyShare +""" + +helps['datashare wait'] = """ + type: command + short-summary: Place the CLI in a waiting state until a condition of the datashare is met. + examples: + - name: Pause executing next line of CLI script until the datashare is successfully provisioned. + text: az datashare wait --account-name MyAccount --resource-group MyResourceGroup --name MyShare --created +""" + +helps['datashare provider-share-subscription'] = """ + type: group + short-summary: Commands for providers to manage datashare share subscriptions +""" + +helps['datashare provider-share-subscription list'] = """ + type: command + short-summary: List share subscriptions in a provider share + examples: + - name: List share subscriptions + text: |- + az datashare provider-share-subscription list --account-name MyAccount --resource-group MyResourceGroup --share-name MyShare +""" + +helps['datashare provider-share-subscription show'] = """ + type: command + short-summary: Show a share subscription in a provider share + examples: + - name: Show a share subscription + text: |- + az datashare provider-share-subscription show --account-name MyAccount --share-subscription 00000000-0000-0000-0000-000000000000 --resource-group MyResourceGroup --share-name MyShare +""" + +helps['datashare provider-share-subscription revoke'] = """ + type: command + short-summary: Revoke a share subscription in a provider share + examples: + - name: Revoke a share subscription + text: |- + az datashare provider-share-subscription revoke --account-name MyAccount --share-subscription 00000000-0000-0000-0000-000000000000 --resource-group MyResourceGroup --share-name MyShare +""" + +helps['datashare provider-share-subscription reinstate'] = """ + type: command + short-summary: Reinstate a share subscription in a provider share + examples: + - name: Reinstate a share subscription + text: |- + az datashare provider-share-subscription reinstate --account-name MyAccount --share-subscription 00000000-0000-0000-0000-000000000000 --resource-group MyResourceGroup --share-name MyShare +""" + +helps['datashare provider-share-subscription wait'] = """ + type: command + short-summary: Place the CLI in a waiting state until a condition of the datashare provider share subscription is met. + examples: + - name: Pause executing next line of CLI script until the datashare provider share subscription is successfully provisioned. + text: az datashare provider-share-subscription wait --account-name MyAccount --share-subscription 00000000-0000-0000-0000-000000000000 --resource-group MyResourceGroup --share-name MyShare --created +""" + +helps['datashare consumer share-subscription'] = """ + type: group + short-summary: Commands for consumers to manage datashare share subscriptions +""" + +helps['datashare consumer share-subscription list'] = """ + type: command + short-summary: List share subscriptions in an account + examples: + - name: List share subscriptions + text: |- + az datashare consumer share-subscription list --account-name MyAccount --resource-group MyResourceGroup +""" + +helps['datashare consumer share-subscription show'] = """ + type: command + short-summary: Show a share subscription in an account + examples: + - name: Show a share subscription + text: |- + az datashare consumer share-subscription show --account-name MyAccount --resource-group MyResourceGroup --name MyShareSubscription +""" + +helps['datashare consumer share-subscription create'] = """ + type: command + short-summary: Create a share subscription in an account + examples: + - name: Create a share subscription + text: |- + az datashare consumer share-subscription create --account-name MyAccount --resource-group MyResourceGroup --invitation-id 00000000-0000-0000-0000-000000000000 --source-share-location "eastus2" --name MyShareSubscription +""" + +helps['datashare consumer share-subscription delete'] = """ + type: command + short-summary: Delete a share subscription in an account + examples: + - name: Delete a share subscription + text: |- + az datashare consumer share-subscription delete --account-name MyAccount --resource-group MyResourceGroup --name MyShareSubscription +""" + +helps['datashare consumer share-subscription synchronization'] = """ + type: group + short-summary: Commands for consumers to manage datashare share subscription synchronizations +""" + +helps['datashare consumer share-subscription synchronization list-detail'] = """ + type: command + short-summary: List synchronization details + examples: + - name: List synchronization details + text: |- + az datashare consumer share-subscription synchronization list-detail --account-name MyAccount --resource-group MyResourceGroup --share-subscription-name MyShareSub --synchronization-id 00000000-0000-0000-0000-000000000000 +""" + +helps['datashare consumer share-subscription synchronization start'] = """ + type: command + short-summary: Initiate a dataset synchronization + examples: + - name: Initiate a dataset synchronization + text: |- + az datashare consumer share-subscription synchronization start --account-name MyAccount --resource-group MyResourceGroup --share-subscription-name MyShareSubscription --synchronization-mode "Incremental" +""" + +helps['datashare consumer share-subscription synchronization cancel'] = """ + type: command + short-summary: Request to cancel a synchronization. + examples: + - name: Request to cancel a synchronization + text: |- + az datashare consumer share-subscription synchronization cancel --account-name MyAccount --resource-group MyResourceGroup --share-subscription-name MyShareSubscription --synchronization-id 00000000-0000-0000-0000-000000000000 +""" + +helps['datashare consumer share-subscription synchronization wait'] = """ + type: command + short-summary: Place the CLI in a waiting state until a condition of the datashare share subscription synchronization is met. + examples: + - name: Pause executing next line of CLI script until the datashare share subscription synchronization finishes successfully. + text: az datashare consumer share-subscription synchronization wait --custom "status=='Succeeded'" --account-name MyAccount --resource-group MyResourceGroup --share-subscription-name MyShareSubscription --synchronization-id 00000000-0000-0000-0000-000000000000 + - name: Pause executing next line of CLI script until the datashare share subscription synchronization is cancelled. + text: az datashare consumer share-subscription synchronization wait --custom "status=='Cancelled'" --account-name MyAccount --resource-group MyResourceGroup --share-subscription-name MyShareSubscription --synchronization-id 00000000-0000-0000-0000-000000000000 +""" + +helps['datashare consumer share-subscription list-source-share-synchronization-setting'] = """ + type: command + short-summary: List synchronization settings set on a share + examples: + - name: List synchronization settings + text: |- + az datashare consumer share-subscription list-source-share-synchronization-setting --account-name MyAccount --resource-group MyResourceGroup --share-subscription-name MyShareSub +""" + +helps['datashare consumer share-subscription synchronization list'] = """ + type: command + short-summary: List synchronizations of a share subscription + examples: + - name: List synchronizations + text: |- + az datashare consumer share-subscription synchronization list --account-name MyAccount --resource-group MyResourceGroup --share-subscription-name MyShareSub +""" + +helps['datashare consumer share-subscription wait'] = """ + type: command + short-summary: Place the CLI in a waiting state until a condition of the datashare share subscription is met. + examples: + - name: Pause executing next line of CLI script until the datashare share subscription is successfully provisioned. + text: az datashare consumer share-subscription wait --account-name MyAccount --resource-group MyResourceGroup --name MyShareSubscription --created +""" + +helps['datashare consumer share-subscription list-source-dataset'] = """ + type: command + short-summary: List source datasets of a share subscription + examples: + - name: List source datasets + text: |- + az datashare consumer share-subscription list-source-dataset --account-name MyAccount --resource-group MyResourceGroup --share-subscription-name MyShare +""" + +helps['datashare synchronization-setting'] = """ + type: group + short-summary: Commands for providers to manage datashare synchronization settings +""" + +helps['datashare synchronization-setting list'] = """ + type: command + short-summary: List synchronization settings in a share + examples: + - name: List synchronization settings + text: |- + az datashare synchronization-setting list --account-name MyAccount --resource-group MyResourceGroup --share-name MyShare +""" + +helps['datashare synchronization-setting show'] = """ + type: command + short-summary: Show a synchronization setting in a share + examples: + - name: Show a synchronization setting + text: |- + az datashare synchronization-setting show --account-name MyAccount --resource-group MyResourceGroup --share-name MyShare --name MySyncrhonizationSetting +""" + +helps['datashare synchronization-setting create'] = """ + type: command + short-summary: Create a synchronization setting + examples: + - name: Create a synchronization setting + text: |- + az datashare synchronization-setting create --account-name MyAccount --resource-group MyResourceGroup --share-name MyShare --name MyDataset --recurrence-interval Day --synchronization-time "2020-04-05 10:50:00 +00:00" --kind ScheduleBased +""" + +helps['datashare synchronization-setting delete'] = """ + type: command + short-summary: Delete a synchronization setting in a share + examples: + - name: Delete a synchronization setting + text: |- + az datashare synchronization-setting delete --account-name MyAccount --resource-group MyResourceGroup --share-name MyShare --name MySyncrhonizationSetting +""" + +helps['datashare synchronization-setting wait'] = """ + type: command + short-summary: Place the CLI in a waiting state until a condition of the datashare synchronization setting is met. + examples: + - name: Pause executing next line of CLI script until the datashare synchronization setting is successfully provisioned. + text: az datashare synchronization-setting wait --account-name MyAccount --resource-group MyResourceGroup --share-name MyShare --name MySyncrhonizationSetting --created +""" + +helps['datashare consumer trigger'] = """ + type: group + short-summary: Commands for consumers to manage datashare consumer triggers +""" + +helps['datashare consumer trigger list'] = """ + type: command + short-summary: List triggers in a share subscription + examples: + - name: List triggers + text: |- + az datashare consumer trigger list --account-name MyAccount --resource-group MyResourceGroup --share-subscription-name MyShareSubscription +""" + +helps['datashare consumer trigger show'] = """ + type: command + short-summary: Show a trigger in a share subscription + examples: + - name: Show a trigger + text: |- + az datashare consumer trigger show --account-name MyAccount --resource-group MyResourceGroup --share-subscription-name MyShareSubscription --name MyTrigger +""" + +helps['datashare consumer trigger create'] = """ + type: command + short-summary: Create a trigger + examples: + - name: Create a trigger + text: |- + az datashare consumer trigger create --account-name MyAccount --resource-group MyResourceGroup --share-subscription-name MyShareSubscription --name MyTrigger --recurrence-interval Day --synchronization-time "2020-04-05 10:50:00 +00:00" --kind ScheduleBased +""" + +helps['datashare consumer trigger delete'] = """ + type: command + short-summary: Delete a trigger in a share subscription + examples: + - name: Delete a trigger + text: |- + az datashare consumer trigger delete --account-name MyAccount --resource-group MyResourceGroup --share-subscription-name MyShareSubscription --name MyTrigger +""" + +helps['datashare consumer trigger wait'] = """ + type: command + short-summary: Place the CLI in a waiting state until a condition of the datashare trigger is met. + examples: + - name: Pause executing next line of CLI script until the datashare trigger is successfully provisioned. + text: az datashare consumer trigger wait --account-name MyAccount --resource-group MyResourceGroup --share-subscription-name MyShareSubscription --name MyTrigger --created +""" diff --git a/src/datashare/azext_datashare/manual/_params.py b/src/datashare/azext_datashare/manual/_params.py new file mode 100644 index 00000000000..f7dbfbae2ac --- /dev/null +++ b/src/datashare/azext_datashare/manual/_params.py @@ -0,0 +1,333 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- +# pylint: disable=line-too-long +# pylint: disable=too-many-lines +# pylint: disable=too-many-statements +# pylint: disable=unused-import + +from knack.arguments import CLIArgumentType +from azure.cli.core.commands.parameters import ( + tags_type, + get_enum_type, + resource_group_name_type, + get_location_type, + get_datetime_type +) +from azure.cli.core.commands.validators import get_default_location_from_resource_group, validate_file_or_dict +from azext_datashare.vendored_sdks.datashare.models._data_share_management_client_enums import ShareKind, Kind, SynchronizationMode, SynchronizationKind, RecurrenceInterval +from azext_datashare.manual._validators import invitation_id_validator + + +def load_arguments(self, _): + + with self.argument_context('datashare account list') as c: + c.argument('resource_group_name', resource_group_name_type) # modified + + with self.argument_context('datashare account show') as c: + c.argument('resource_group_name', resource_group_name_type) # modified + c.argument('account_name', options_list=['--name', '-n'], id_part='name', help='The name of the share account.') # modified + + with self.argument_context('datashare account create') as c: + c.argument('resource_group_name', resource_group_name_type) # modified + c.argument('account_name', options_list=['--name', '-n'], help='The name of the share account.') # modified + c.argument('location', arg_type=get_location_type(self.cli_ctx), validator=get_default_location_from_resource_group) # modified + c.argument('tags', tags_type) # modified + c.ignore('identity') # Only system assigned identity is supported, we can omit this option + + with self.argument_context('datashare account update') as c: + c.argument('resource_group_name', resource_group_name_type) # modified + c.argument('account_name', options_list=['--name', '-n'], id_part='name', help='The name of the share account.') # modified + c.argument('tags', tags_type) # modified + + with self.argument_context('datashare account delete') as c: + c.argument('resource_group_name', resource_group_name_type) # modified + c.argument('account_name', options_list=['--name', '-n'], id_part='name', help='The name of the share account.') + + with self.argument_context('datashare account wait') as c: + c.argument('account_name', options_list=['--name', '-n'], id_part='name', help='The name of the share account.') # modified + + with self.argument_context('datashare list') as c: # modified + c.argument('resource_group_name', resource_group_name_type) # modified + c.argument('account_name', help='The name of the share account.') + + with self.argument_context('datashare show') as c: # modified + c.argument('resource_group_name', resource_group_name_type) # modified + c.argument('account_name', id_part='name', help='The name of the share account.') # modified + c.argument('share_name', options_list=['--name', '-n'], id_part='child_name_1', help='The name of the share.') # modified + + with self.argument_context('datashare create') as c: # modified + c.argument('resource_group_name', resource_group_name_type) # modified + c.argument('account_name', help='The name of the share account.') + c.argument('share_name', options_list=['--name', '-n'], help='The name of the share.') # modified + c.argument('description', help='Share description.') # modified + c.argument('share_kind', arg_type=get_enum_type(ShareKind), help='Share kind.') # modified + c.argument('terms', help='Share terms.') # modified + + with self.argument_context('datashare delete') as c: + c.argument('resource_group_name', resource_group_name_type) # modified + c.argument('account_name', id_part='name', help='The name of the share account.') # modified + c.argument('share_name', options_list=['--name', '-n'], id_part='child_name_1', help='The name of the share.') # modified + + with self.argument_context('datashare wait') as c: + c.argument('account_name', id_part='name', help='The name of the share account.') # modified + c.argument('share_name', options_list=['--name', '-n'], id_part='child_name_1', help='The name of the share.') # modified + + with self.argument_context('datashare dataset list') as c: # modified + c.argument('resource_group_name', resource_group_name_type) # modified + c.argument('account_name', help='The name of the share account.') + c.argument('share_name', help='The name of the share.') + + with self.argument_context('datashare dataset show') as c: # modified + c.argument('resource_group_name', resource_group_name_type) # modified + c.argument('account_name', id_part='name', help='The name of the share account.') # modified + c.argument('share_name', id_part='child_name_1', help='The name of the share.') # modified + c.argument('data_set_name', options_list=['--name', '-n'], id_part='child_name_2', help='The name of the dataset.') # modified + + with self.argument_context('datashare dataset create') as c: # modified + c.argument('resource_group_name', resource_group_name_type) # modified + c.argument('account_name', help='The name of the share account.') + c.argument('share_name', help='The name of the share.') + c.argument('data_set_name', options_list=['--name', '-n'], help='The name of the dataset.') # modified + c.argument('data_set', options_list=['--dataset'], type=validate_file_or_dict, help='Dataset parameters in JSON string or path to JSON file.') # modified + + with self.argument_context('datashare dataset delete') as c: # modified + c.argument('resource_group_name', resource_group_name_type) # modified + c.argument('account_name', id_part='name', help='The name of the share account.') # modified + c.argument('share_name', id_part='child_name_1', help='The name of the share.') # modified + c.argument('data_set_name', options_list=['--name', '-n'], id_part='child_name_2', help='The name of the dataset.') # modified + + with self.argument_context('datashare dataset wait') as c: + c.argument('account_name', id_part='name', help='The name of the share account.') # modified + c.argument('share_name', id_part='child_name_1', help='The name of the share.') # modified + c.argument('data_set_name', options_list=['--name', '-n'], id_part='child_name_2', help='The name of the dataset.') # modified + + with self.argument_context('datashare invitation list') as c: + c.argument('resource_group_name', resource_group_name_type) # modified + c.argument('account_name', help='The name of the share account.') + c.argument('share_name', help='The name of the share.') + + with self.argument_context('datashare invitation show') as c: + c.argument('resource_group_name', resource_group_name_type) # modified + c.argument('account_name', id_part='name', help='The name of the share account.') # modified + c.argument('share_name', id_part='child_name_1', help='The name of the share.') # modified + c.argument('invitation_name', options_list=['--name', '-n'], id_part='child_name_2', help='The name of the invitation.') # modified + + with self.argument_context('datashare invitation create') as c: + c.argument('resource_group_name', resource_group_name_type) # modified + c.argument('account_name', help='The name of the share account.') + c.argument('share_name', help='The name of the share.') + c.argument('invitation_name', options_list=['--name', '-n'], help='The name of the invitation.') # modified + c.argument('target_active_directory_id', help='The target Azure AD Id. Can\'t be combined with email.') # modified + c.argument('target_email', help='The email the invitation is directed to.') # modified + c.argument('target_object_id', help='The target user or application Id that invitation is being sent to. Must be specified along TargetActiveDirectoryId. This enables sending invitations to specific users or applications in an AD tenant.') # modified + + with self.argument_context('datashare invitation delete') as c: + c.argument('resource_group_name', resource_group_name_type) # modified + c.argument('account_name', id_part='name', help='The name of the share account.') # modified + c.argument('share_name', id_part='child_name_1', help='The name of the share.') # modified + c.argument('invitation_name', options_list=['--name', '-n'], id_part='child_name_2', help='The name of the invitation.') # modified + + with self.argument_context('datashare synchronization-setting list') as c: + c.argument('resource_group_name', resource_group_name_type) # modified + c.argument('account_name', help='The name of the share account.') + c.argument('share_name', help='The name of the share.') + + with self.argument_context('datashare synchronization-setting show') as c: + c.argument('resource_group_name', resource_group_name_type) # modified + c.argument('account_name', id_part='name', help='The name of the share account.') # modified + c.argument('share_name', id_part='child_name_1', help='The name of the share.') # modified + c.argument('synchronization_setting_name', options_list=['--name', '-n'], id_part='child_name_2', help='The name of the synchronizationSetting.') # modified + + with self.argument_context('datashare synchronization-setting create') as c: + c.argument('resource_group_name', resource_group_name_type) # modified + c.argument('account_name', help='The name of the share account.') + c.argument('share_name', help='The name of the share.') + c.argument('synchronization_setting_name', options_list=['--name', '-n'], help='The name of the synchronizationSetting.') # modified + c.argument('recurrence_interval', arg_type=get_enum_type(RecurrenceInterval), arg_group='Synchronization Setting', help='Synchronization Recurrence Interval.') + c.argument('synchronization_time', arg_group='Synchronization Setting', arg_type=get_datetime_type(help='Synchronization time.')) + c.argument('kind', arg_type=get_enum_type(SynchronizationKind), arg_group='Synchronization Setting', default='ScheduleBased', help='Kind of synchronization.') + + with self.argument_context('datashare synchronization-setting delete') as c: + c.argument('resource_group_name', resource_group_name_type) # modified + c.argument('account_name', id_part='name', help='The name of the share account.') # modified + c.argument('share_name', id_part='child_name_1', help='The name of the share.') # modified + c.argument('synchronization_setting_name', options_list=['--name', '-n'], id_part='child_name_2', help='The name of the synchronizationSetting.') # modified + + with self.argument_context('datashare synchronization-setting wait') as c: + c.argument('account_name', id_part='name', help='The name of the share account.') # modified + c.argument('share_name', id_part='child_name_1', help='The name of the share.') # modified + c.argument('synchronization_setting_name', options_list=['--name', '-n'], id_part='child_name_2', help='The name of the synchronizationSetting.') # modified + + with self.argument_context('datashare synchronization list-detail') as c: + c.argument('resource_group_name', resource_group_name_type) # modified + c.argument('account_name', help='The name of the share account.') # modified + c.argument('share_name', help='The name of the share.') # modified + c.argument('synchronization_id', help='The synchronization GUID.') + + with self.argument_context('datashare synchronization list') as c: # modified + c.argument('resource_group_name', resource_group_name_type) # modified + c.argument('account_name', help='The name of the share account.') # modified + c.argument('share_name', help='The name of the share.') # modified + + with self.argument_context('datashare provider-share-subscription list') as c: + c.argument('resource_group_name', resource_group_name_type) # modified + c.argument('account_name', help='The name of the share account.') + c.argument('share_name', help='The name of the share.') + + with self.argument_context('datashare provider-share-subscription show') as c: + c.argument('resource_group_name', resource_group_name_type) # modified + c.argument('account_name', id_part='name', help='The name of the share account.') # modified + c.argument('share_name', id_part='child_name_1', help='The name of the share.') # modified + c.argument('provider_share_subscription_id', options_list=['--share-subscription'], id_part='child_name_2', help='To locate share subscription') # modified TODO validator + + with self.argument_context('datashare provider-share-subscription revoke') as c: + c.argument('resource_group_name', resource_group_name_type) # modified + c.argument('account_name', id_part='name', help='The name of the share account.') # modified + c.argument('share_name', id_part='child_name_1', help='The name of the share.') # modified + c.argument('provider_share_subscription_id', options_list=['--share-subscription'], id_part='child_name_2', help='To locate share subscription') # modified + + with self.argument_context('datashare provider-share-subscription reinstate') as c: + c.argument('resource_group_name', resource_group_name_type) # modified + c.argument('account_name', id_part='name', help='The name of the share account.') # modified + c.argument('share_name', id_part='child_name_1', help='The name of the share.') # modified + c.argument('provider_share_subscription_id', options_list=['--share-subscription'], id_part='child_name_2', help='To locate share subscription') # modified + + with self.argument_context('datashare provider-share-subscription wait') as c: + c.argument('account_name', id_part='name', help='The name of the share account.') # modified + c.argument('share_name', id_part='child_name_1', help='The name of the share.') # modified + c.argument('provider_share_subscription_id', options_list=['--share-subscription'], id_part='child_name_2', help='To locate share subscription') # modified + + with self.argument_context('datashare consumer invitation list') as c: + pass + + with self.argument_context('datashare consumer invitation show') as c: + c.argument('location', arg_type=get_location_type(self.cli_ctx)) # modified + c.argument('invitation_id', validator=invitation_id_validator, help='An invitation id') + + with self.argument_context('datashare consumer invitation reject') as c: + c.argument('location', arg_type=get_location_type(self.cli_ctx)) # modified + c.argument('invitation_id', validator=invitation_id_validator, help='An invitation id') # modified + + with self.argument_context('datashare consumer share-subscription list') as c: + c.argument('resource_group_name', resource_group_name_type) # modified + c.argument('account_name', help='The name of the share account.') + + with self.argument_context('datashare consumer share-subscription show') as c: + c.argument('resource_group_name', resource_group_name_type) # modified + c.argument('account_name', id_part='name', help='The name of the share account.') # modified + c.argument('share_subscription_name', options_list=['--name', '-n'], id_part='child_name_1', help='The name of the share subscription.') # modified + + with self.argument_context('datashare consumer share-subscription create') as c: + from azure.cli.core.commands.parameters import get_location_name_type, get_location_completion_list + c.argument('resource_group_name', resource_group_name_type) # modified + c.argument('account_name', help='The name of the share account.') + c.argument('share_subscription_name', options_list=['--name', '-n'], help='The name of the share subscription.') # modified + c.argument('invitation_id', validator=invitation_id_validator, help='The invitation id.') # modified + c.argument('source_share_location', type=get_location_name_type(self.cli_ctx), help='Source share location.', completer=get_location_completion_list) # modified + + with self.argument_context('datashare consumer share-subscription delete') as c: + c.argument('resource_group_name', resource_group_name_type) # modified + c.argument('account_name', id_part='name', help='The name of the share account.') # modified + c.argument('share_subscription_name', options_list=['--name', '-n'], id_part='child_name_1', help='The name of the share subscription.') # modified + + with self.argument_context('datashare consumer share-subscription list-source-share-synchronization-setting') as c: + c.argument('resource_group_name', resource_group_name_type) # modified + c.argument('account_name', help='The name of the share account.') + c.argument('share_subscription_name', help='The name of the share subscription.') + + with self.argument_context('datashare consumer share-subscription list-source-dataset') as c: + c.argument('resource_group_name', resource_group_name_type) # modified + c.argument('account_name', help='The name of the share account.') + c.argument('share_subscription_name', help='The name of the share subscription.') + + with self.argument_context('datashare consumer share-subscription wait') as c: + c.argument('account_name', id_part='name', help='The name of the share account.') + c.argument('share_subscription_name', options_list=['--name', '-n'], id_part='child_name_1', help='The name of the share subscription.') # modified + + with self.argument_context('datashare consumer share-subscription synchronization start') as c: + c.argument('resource_group_name', resource_group_name_type) # modified + c.argument('account_name', help='The name of the share account.') + c.argument('share_subscription_name', help='The name of the share subscription.') + c.argument('synchronization_mode', arg_type=get_enum_type(SynchronizationMode), help='Synchronization mode') # modified + + with self.argument_context('datashare consumer share-subscription synchronization cancel') as c: + c.argument('resource_group_name', resource_group_name_type) # modified + c.argument('account_name', help='The name of the share account.') + c.argument('share_subscription_name', help='The name of the share subscription.') + c.argument('synchronization_id', help='The synchronization GUID') + + with self.argument_context('datashare consumer share-subscription synchronization wait') as c: + c.argument('account_name', help='The name of the share account.') + c.argument('share_subscription_name', help='The name of the share subscription.') + c.argument('synchronization_id', help='The synchronization GUID') + + with self.argument_context('datashare consumer share-subscription synchronization list') as c: + c.argument('resource_group_name', resource_group_name_type) # modified + c.argument('account_name', help='The name of the share account.') + c.argument('share_subscription_name', help='The name of the share subscription.') + + with self.argument_context('datashare consumer share-subscription synchronization list-detail') as c: + c.argument('resource_group_name', resource_group_name_type) # modified + c.argument('account_name', help='The name of the share account.') + c.argument('share_subscription_name', help='The name of the share subscription.') + c.argument('synchronization_id', help='Synchronization id') + + with self.argument_context('datashare consumer dataset-mapping list') as c: # modified + c.argument('resource_group_name', resource_group_name_type) # modified + c.argument('account_name', help='The name of the share account.') + c.argument('share_subscription_name', help='The name of the share subscription.') + + with self.argument_context('datashare consumer dataset-mapping show') as c: # modified + c.argument('resource_group_name', resource_group_name_type) # modified + c.argument('account_name', id_part='name', help='The name of the share account.') + c.argument('share_subscription_name', id_part='child_name_1', help='The name of the share subscription.') + c.argument('data_set_mapping_name', id_part='child_name_2', options_list=['--name', '-n'], help='The name of the datasetMapping.') # modified + + with self.argument_context('datashare consumer dataset-mapping create') as c: # modified + c.argument('resource_group_name', resource_group_name_type) # modified + c.argument('account_name', help='The name of the share account.') + c.argument('share_subscription_name', help='The name of the share subscription.') + c.argument('data_set_mapping_name', options_list=['--name', '-n'], help='The name of the datasetMapping.') # modified + c.argument('data_set_mapping', options_list=['--mapping'], type=validate_file_or_dict, help='Dataset mapping in JSON string or path to JSON file.') # modified + + with self.argument_context('datashare consumer dataset-mapping delete') as c: # modified + c.argument('resource_group_name', resource_group_name_type) # modified + c.argument('account_name', id_part='name', help='The name of the share account.') + c.argument('share_subscription_name', id_part='child_name_1', help='The name of the share subscription.') + c.argument('data_set_mapping_name', id_part='child_name_2', options_list=['--name', '-n'], help='The name of the datasetMapping.') # modified + + with self.argument_context('datashare consumer dataset-mapping wait') as c: + c.argument('account_name', id_part='name', help='The name of the share account.') + c.argument('share_subscription_name', id_part='child_name_1', help='The name of the share subscription.') + c.argument('data_set_mapping_name', id_part='child_name_2', options_list=['--name', '-n'], help='The name of the datasetMapping.') # modified + + with self.argument_context('datashare consumer trigger list') as c: + c.argument('resource_group_name', resource_group_name_type) # modified + c.argument('account_name', help='The name of the share account.') + c.argument('share_subscription_name', help='The name of the share subscription.') + + with self.argument_context('datashare consumer trigger show') as c: + c.argument('resource_group_name', resource_group_name_type) # modified + c.argument('account_name', id_part='name', help='The name of the share account.') + c.argument('share_subscription_name', id_part='child_name_1', help='The name of the share subscription.') + c.argument('trigger_name', options_list=['--name', '-n'], id_part='child_name_2', help='The name of the trigger.') + + with self.argument_context('datashare consumer trigger create') as c: + c.argument('resource_group_name', resource_group_name_type) # modified + c.argument('account_name', help='The name of the share account.') + c.argument('share_subscription_name', help='The name of the share subscription.') + c.argument('trigger_name', options_list=['--name', '-n'], help='The name of the trigger.') # modified + c.argument('recurrence_interval', arg_type=get_enum_type(RecurrenceInterval), arg_group='Synchronization Setting', help='Synchronization Recurrence Interval.') + c.argument('synchronization_time', arg_group='Synchronization Setting', arg_type=get_datetime_type(help='Synchronization time.')) + c.argument('kind', arg_type=get_enum_type(SynchronizationKind), arg_group='Synchronization Setting', default='ScheduleBased', help='Kind of synchronization.') + + with self.argument_context('datashare consumer trigger delete') as c: + c.argument('resource_group_name', resource_group_name_type) # modified + c.argument('account_name', id_part='name', help='The name of the share account.') # modified + c.argument('share_subscription_name', id_part='child_name_1', help='The name of the share subscription.') # modified + c.argument('trigger_name', options_list=['--name', '-n'], id_part='child_name_2', help='The name of the trigger.') # modified + + with self.argument_context('datashare consumer trigger wait') as c: + c.argument('trigger_name', options_list=['--name', '-n'], id_part='child_name_2', help='The name of the trigger.') # modified diff --git a/src/datashare/azext_datashare/manual/_validators.py b/src/datashare/azext_datashare/manual/_validators.py new file mode 100644 index 00000000000..26b40d74163 --- /dev/null +++ b/src/datashare/azext_datashare/manual/_validators.py @@ -0,0 +1,11 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- +# pylint: disable=unused-argument + + +def invitation_id_validator(cmd, namespace): + if namespace.invitation_id: + if namespace.invitation_id.startswith("/providers"): + namespace.invitation_id = namespace.invitation_id.split("/")[-1] diff --git a/src/datashare/azext_datashare/manual/commands.py b/src/datashare/azext_datashare/manual/commands.py new file mode 100644 index 00000000000..7caeb1df48f --- /dev/null +++ b/src/datashare/azext_datashare/manual/commands.py @@ -0,0 +1,137 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- +# pylint: disable=line-too-long +# pylint: disable=too-many-statements + +from azure.cli.core.commands import CliCommandType + + +def load_command_table(self, _): + + from azext_datashare.generated._client_factory import cf_account + datashare_account = CliCommandType( + operations_tmpl='azext_datashare.vendored_sdks.datashare.operations._account_operations#AccountOperations.{}', + client_factory=cf_account) + with self.command_group('datashare account', datashare_account, client_factory=cf_account) as g: + g.custom_command('list', 'datashare_account_list') + g.custom_show_command('show', 'datashare_account_show') + g.custom_command('create', 'datashare_account_create', supports_no_wait=True) + g.custom_command('update', 'datashare_account_update') + g.custom_command('delete', 'datashare_account_delete', supports_no_wait=True, confirmation=True) + g.wait_command('wait') + + from azext_datashare.generated._client_factory import cf_consumer_invitation + datashare_consumer_invitation = CliCommandType( + operations_tmpl='azext_datashare.vendored_sdks.datashare.operations._consumer_invitation_operations#ConsumerInvitationOperations.{}', + client_factory=cf_consumer_invitation) + with self.command_group('datashare consumer invitation', datashare_consumer_invitation, client_factory=cf_consumer_invitation) as g: + g.custom_command('list', 'datashare_consumer_invitation_list') + g.custom_show_command('show', 'datashare_consumer_invitation_show') + g.custom_command('reject', 'datashare_consumer_invitation_reject_invitation') + + from azext_datashare.generated._client_factory import cf_data_set + datashare_data_set = CliCommandType( + operations_tmpl='azext_datashare.vendored_sdks.datashare.operations._data_set_operations#DataSetOperations.{}', + client_factory=cf_data_set) + with self.command_group('datashare dataset', datashare_data_set, client_factory=cf_data_set) as g: # modified + g.custom_command('list', 'datashare_data_set_list') + g.custom_show_command('show', 'datashare_data_set_show') + g.custom_command('create', 'datashare_data_set_create') + g.custom_command('delete', 'datashare_data_set_delete', supports_no_wait=True, confirmation=True) + g.wait_command('wait') + + from azext_datashare.generated._client_factory import cf_data_set_mapping + datashare_data_set_mapping = CliCommandType( + operations_tmpl='azext_datashare.vendored_sdks.datashare.operations._data_set_mapping_operations#DataSetMappingOperations.{}', + client_factory=cf_data_set_mapping) + with self.command_group('datashare consumer dataset-mapping', datashare_data_set_mapping, client_factory=cf_data_set_mapping) as g: # modified + g.custom_command('list', 'datashare_data_set_mapping_list') + g.custom_show_command('show', 'datashare_data_set_mapping_show') + g.custom_command('create', 'datashare_data_set_mapping_create') + g.custom_command('delete', 'datashare_data_set_mapping_delete', confirmation=True) + + from azext_datashare.generated._client_factory import cf_invitation + datashare_invitation = CliCommandType( + operations_tmpl='azext_datashare.vendored_sdks.datashare.operations._invitation_operations#InvitationOperations.{}', + client_factory=cf_invitation) + with self.command_group('datashare invitation', datashare_invitation, client_factory=cf_invitation) as g: + g.custom_command('list', 'datashare_invitation_list') + g.custom_show_command('show', 'datashare_invitation_show') + g.custom_command('create', 'datashare_invitation_create') + g.custom_command('delete', 'datashare_invitation_delete', confirmation=True) + + from azext_datashare.generated._client_factory import cf_share + datashare_share = CliCommandType( + operations_tmpl='azext_datashare.vendored_sdks.datashare.operations._share_operations#ShareOperations.{}', + client_factory=cf_share) + with self.command_group('datashare', datashare_share, client_factory=cf_share, is_experimental=True) as g: # modified + g.custom_command('list', 'datashare_share_list') + g.custom_show_command('show', 'datashare_share_show') + g.custom_command('create', 'datashare_share_create') + g.custom_command('delete', 'datashare_share_delete', supports_no_wait=True, confirmation=True) + g.wait_command('wait') + + with self.command_group('datashare synchronization', datashare_share, client_factory=cf_share, is_experimental=True) as g: + g.custom_command('list-detail', 'datashare_share_list_synchronization_detail') + g.custom_command('list', 'datashare_share_list_synchronization') + + from azext_datashare.generated._client_factory import cf_provider_share_subscription + datashare_provider_share_subscription = CliCommandType( + operations_tmpl='azext_datashare.vendored_sdks.datashare.operations._provider_share_subscription_operations#ProviderShareSubscriptionOperations.{}', + client_factory=cf_provider_share_subscription) + with self.command_group('datashare provider-share-subscription', datashare_provider_share_subscription, client_factory=cf_provider_share_subscription) as g: + g.custom_command('list', 'datashare_provider_share_subscription_list') + g.custom_show_command('show', 'datashare_provider_share_subscription_show') + g.custom_command('revoke', 'datashare_provider_share_subscription_revoke', supports_no_wait=True) + g.custom_command('reinstate', 'datashare_provider_share_subscription_reinstate') + g.wait_command('wait', getter_name='get_by_share') + + from azext_datashare.generated._client_factory import cf_share_subscription + datashare_share_subscription = CliCommandType( + operations_tmpl='azext_datashare.vendored_sdks.datashare.operations._share_subscription_operations#ShareSubscriptionOperations.{}', + client_factory=cf_share_subscription) + with self.command_group('datashare consumer share-subscription', datashare_share_subscription, client_factory=cf_share_subscription) as g: + g.custom_command('list', 'datashare_share_subscription_list') + g.custom_show_command('show', 'datashare_share_subscription_show') + g.custom_command('create', 'datashare_share_subscription_create') + g.custom_command('delete', 'datashare_share_subscription_delete', supports_no_wait=True, confirmation=True) + g.custom_command('list-source-share-synchronization-setting', 'datashare_share_subscription_list_source_share_synchronization_setting') + g.wait_command('wait') + + with self.command_group('datashare consumer share-subscription synchronization', datashare_share_subscription, client_factory=cf_share_subscription) as g: + g.custom_command('list', 'datashare_share_subscription_list_synchronization') + g.custom_command('list-detail', 'datashare_share_subscription_list_synchronization_detail') + g.custom_command('start', 'datashare_share_subscription_synchronize', supports_no_wait=True) + g.custom_command('cancel', 'datashare_share_subscription_cancel_synchronization', supports_no_wait=True) + g.custom_wait_command('wait', '_datashare_share_subscription_get_synchronization') + + from azext_datashare.generated._client_factory import cf_consumer_source_data_set + datashare_consumer_source_data_set = CliCommandType( + operations_tmpl='azext_datashare.vendored_sdks.datashare.operations._consumer_source_data_set_operations#ConsumerSourceDataSetOperations.{}', + client_factory=cf_consumer_source_data_set) + with self.command_group('datashare consumer share-subscription', datashare_consumer_source_data_set, client_factory=cf_consumer_source_data_set) as g: + g.custom_command('list-source-dataset', 'datashare_consumer_source_data_set_list') + + from azext_datashare.generated._client_factory import cf_synchronization_setting + datashare_synchronization_setting = CliCommandType( + operations_tmpl='azext_datashare.vendored_sdks.datashare.operations._synchronization_setting_operations#SynchronizationSettingOperations.{}', + client_factory=cf_synchronization_setting) + with self.command_group('datashare synchronization-setting', datashare_synchronization_setting, client_factory=cf_synchronization_setting) as g: + g.custom_command('list', 'datashare_synchronization_setting_list') + g.custom_show_command('show', 'datashare_synchronization_setting_show') + g.custom_command('create', 'datashare_synchronization_setting_create') + g.custom_command('delete', 'datashare_synchronization_setting_delete', supports_no_wait=True, confirmation=True) + g.wait_command('wait') + + from azext_datashare.generated._client_factory import cf_trigger + datashare_trigger = CliCommandType( + operations_tmpl='azext_datashare.vendored_sdks.datashare.operations._trigger_operations#TriggerOperations.{}', + client_factory=cf_trigger) + with self.command_group('datashare consumer trigger', datashare_trigger, client_factory=cf_trigger) as g: + g.custom_command('list', 'datashare_trigger_list') + g.custom_show_command('show', 'datashare_trigger_show') + g.custom_command('create', 'datashare_trigger_create', supports_no_wait=True) + g.custom_command('delete', 'datashare_trigger_delete', supports_no_wait=True, confirmation=True) + g.wait_command('wait') diff --git a/src/datashare/azext_datashare/manual/custom.py b/src/datashare/azext_datashare/manual/custom.py new file mode 100644 index 00000000000..c75327b1b3f --- /dev/null +++ b/src/datashare/azext_datashare/manual/custom.py @@ -0,0 +1,520 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- +# pylint: disable=line-too-long +# pylint: disable=too-many-lines +# pylint: disable=unused-argument +from azure.cli.core.util import sdk_no_wait + + +def datashare_account_list(cmd, client, + resource_group_name=None): + if resource_group_name: + return client.list_by_resource_group(resource_group_name=resource_group_name) + return client.list_by_subscription() + + +def datashare_account_show(cmd, client, + resource_group_name, + account_name): + return client.get(resource_group_name=resource_group_name, account_name=account_name) + + +def datashare_account_create(cmd, client, + resource_group_name, + account_name, + identity=None, + location=None, + tags=None, + no_wait=False): + if identity is None: + identity = {'type': 'SystemAssigned'} + return sdk_no_wait(no_wait, + client.begin_create, + resource_group_name=resource_group_name, + account_name=account_name, + location=location, + tags=tags, + identity=identity) + + +def datashare_account_update(cmd, client, + resource_group_name, + account_name, + tags=None): + return client.update(resource_group_name=resource_group_name, account_name=account_name, tags=tags) + + +def datashare_account_delete(cmd, client, + resource_group_name, + account_name, + no_wait=False): + return sdk_no_wait(no_wait, + client.begin_delete, + resource_group_name=resource_group_name, + account_name=account_name) + + +def datashare_consumer_invitation_list(cmd, client): + return client.list_invitation() + + +def datashare_consumer_invitation_show(cmd, client, + location, + invitation_id): + return client.get(location=location, invitation_id=invitation_id) + + +def datashare_consumer_invitation_reject_invitation(cmd, client, + location, + invitation_id): + return client.reject_invitation(location=location, invitation_id=invitation_id) + + +def datashare_data_set_list(cmd, client, + resource_group_name, + account_name, + share_name): + return client.list_by_share(resource_group_name=resource_group_name, + account_name=account_name, + share_name=share_name) + + +def datashare_data_set_show(cmd, client, + resource_group_name, + account_name, + share_name, + data_set_name): + return client.get(resource_group_name=resource_group_name, account_name=account_name, share_name=share_name, data_set_name=data_set_name) + + +def datashare_data_set_create(cmd, client, + resource_group_name, + account_name, + share_name, + data_set_name, + data_set): + from azure.cli.core.commands.client_factory import get_subscription_id + if 'resource_group' not in data_set: + data_set['resource_group'] = resource_group_name + if 'subscription_id' not in data_set: + data_set['subscription_id'] = get_subscription_id(cmd.cli_ctx) + return client.create(resource_group_name=resource_group_name, + account_name=account_name, + share_name=share_name, + data_set_name=data_set_name, + data_set=data_set) + + +def datashare_data_set_delete(cmd, client, + resource_group_name, + account_name, + share_name, + data_set_name, + no_wait=False): + return sdk_no_wait(no_wait, + client.begin_delete, + resource_group_name=resource_group_name, + account_name=account_name, + share_name=share_name, + data_set_name=data_set_name) + + +def datashare_data_set_mapping_list(cmd, client, + resource_group_name, + account_name, + share_subscription_name): + return client.list_by_share_subscription(resource_group_name=resource_group_name, + account_name=account_name, + share_subscription_name=share_subscription_name) + + +def datashare_data_set_mapping_show(cmd, client, + resource_group_name, + account_name, + share_subscription_name, + data_set_mapping_name): + return client.get(resource_group_name=resource_group_name, account_name=account_name, share_subscription_name=share_subscription_name, data_set_mapping_name=data_set_mapping_name) + + +def datashare_data_set_mapping_create(cmd, client, + resource_group_name, + account_name, + share_subscription_name, + data_set_mapping_name, + data_set_mapping): + from azure.cli.core.commands.client_factory import get_subscription_id + if 'resource_group' not in data_set_mapping: + data_set_mapping['resource_group'] = resource_group_name + if 'subscription_id' not in data_set_mapping: + data_set_mapping['subscription_id'] = get_subscription_id(cmd.cli_ctx) + return client.create(resource_group_name=resource_group_name, + account_name=account_name, + share_subscription_name=share_subscription_name, + data_set_mapping_name=data_set_mapping_name, + data_set_mapping=data_set_mapping) + + +def datashare_data_set_mapping_delete(cmd, client, + resource_group_name, + account_name, + share_subscription_name, + data_set_mapping_name): + return client.delete(resource_group_name=resource_group_name, account_name=account_name, share_subscription_name=share_subscription_name, data_set_mapping_name=data_set_mapping_name) + + +def datashare_invitation_list(cmd, client, + resource_group_name, + account_name, + share_name): + return client.list_by_share(resource_group_name=resource_group_name, + account_name=account_name, + share_name=share_name) + + +def datashare_invitation_show(cmd, client, + resource_group_name, + account_name, + share_name, + invitation_name): + return client.get(resource_group_name=resource_group_name, account_name=account_name, share_name=share_name, invitation_name=invitation_name) + + +def datashare_invitation_create(cmd, client, + resource_group_name, + account_name, + share_name, + invitation_name, + target_active_directory_id=None, + target_email=None, + target_object_id=None): + return client.create(resource_group_name=resource_group_name, account_name=account_name, share_name=share_name, invitation_name=invitation_name, target_active_directory_id=target_active_directory_id, target_email=target_email, target_object_id=target_object_id) + + +def datashare_invitation_delete(cmd, client, + resource_group_name, + account_name, + share_name, + invitation_name): + return client.delete(resource_group_name=resource_group_name, account_name=account_name, share_name=share_name, invitation_name=invitation_name) + + +def datashare_share_list(cmd, client, + resource_group_name, + account_name): + return client.list_by_account(resource_group_name=resource_group_name, account_name=account_name) + + +def datashare_share_show(cmd, client, + resource_group_name, + account_name, + share_name): + return client.get(resource_group_name=resource_group_name, account_name=account_name, share_name=share_name) + + +def datashare_share_create(cmd, client, + resource_group_name, + account_name, + share_name, + description=None, + share_kind=None, + terms=None): + return client.create(resource_group_name=resource_group_name, account_name=account_name, share_name=share_name, description=description, share_kind=share_kind, terms=terms) + + +def datashare_share_delete(cmd, client, + resource_group_name, + account_name, + share_name, + no_wait=False): + return sdk_no_wait(no_wait, + client.begin_delete, + resource_group_name=resource_group_name, + account_name=account_name, + share_name=share_name) + + +def datashare_share_list_synchronization_detail(cmd, client, + resource_group_name, + account_name, + share_name, + synchronization_id=None): + return client.list_synchronization_detail(resource_group_name=resource_group_name, + account_name=account_name, + share_name=share_name, + synchronization_id=synchronization_id) + + +def datashare_share_list_synchronization(cmd, client, + resource_group_name, + account_name, + share_name): + return client.list_synchronization(resource_group_name=resource_group_name, + account_name=account_name, + share_name=share_name) + + +def datashare_provider_share_subscription_list(cmd, client, + resource_group_name, + account_name, + share_name): + return client.list_by_share(resource_group_name=resource_group_name, + account_name=account_name, + share_name=share_name) + + +def datashare_provider_share_subscription_show(cmd, client, + resource_group_name, + account_name, + share_name, + provider_share_subscription_id): + return client.get_by_share(resource_group_name=resource_group_name, account_name=account_name, share_name=share_name, provider_share_subscription_id=provider_share_subscription_id) + + +def datashare_provider_share_subscription_revoke(cmd, client, + resource_group_name, + account_name, + share_name, + provider_share_subscription_id, + no_wait=False): + return sdk_no_wait(no_wait, + client.begin_revoke, + resource_group_name=resource_group_name, + account_name=account_name, + share_name=share_name, + provider_share_subscription_id=provider_share_subscription_id) + + +def datashare_provider_share_subscription_reinstate(cmd, client, + resource_group_name, + account_name, + share_name, + provider_share_subscription_id): + return client.reinstate(resource_group_name=resource_group_name, account_name=account_name, share_name=share_name, provider_share_subscription_id=provider_share_subscription_id) + + +def datashare_share_subscription_list(cmd, client, + resource_group_name, + account_name): + return client.list_by_account(resource_group_name=resource_group_name, account_name=account_name) + + +def datashare_share_subscription_show(cmd, client, + resource_group_name, + account_name, + share_subscription_name): + return client.get(resource_group_name=resource_group_name, account_name=account_name, share_subscription_name=share_subscription_name) + + +def datashare_share_subscription_create(cmd, client, + resource_group_name, + account_name, + share_subscription_name, + invitation_id, + source_share_location): + return client.create(resource_group_name=resource_group_name, account_name=account_name, share_subscription_name=share_subscription_name, invitation_id=invitation_id, source_share_location=source_share_location) + + +def datashare_share_subscription_delete(cmd, client, + resource_group_name, + account_name, + share_subscription_name, + no_wait=False): + return sdk_no_wait(no_wait, + client.begin_delete, + resource_group_name=resource_group_name, + account_name=account_name, + share_subscription_name=share_subscription_name) + + +def datashare_share_subscription_list_synchronization_detail(cmd, client, + resource_group_name, + account_name, + share_subscription_name, + synchronization_id): + return client.list_synchronization_detail(resource_group_name=resource_group_name, + account_name=account_name, + share_subscription_name=share_subscription_name, + synchronization_id=synchronization_id) + + +def datashare_share_subscription_synchronize(cmd, client, + resource_group_name, + account_name, + share_subscription_name, + synchronization_mode=None, + no_wait=False): + return sdk_no_wait(no_wait, + client.begin_synchronize, + resource_group_name=resource_group_name, + account_name=account_name, + share_subscription_name=share_subscription_name, + synchronization_mode=synchronization_mode) + + +def datashare_share_subscription_cancel_synchronization(cmd, client, + resource_group_name, + account_name, + share_subscription_name, + synchronization_id, + no_wait=False): + return sdk_no_wait(no_wait, + client.begin_cancel_synchronization, + resource_group_name=resource_group_name, + account_name=account_name, + share_subscription_name=share_subscription_name, + synchronization_id=synchronization_id) + + +def datashare_share_subscription_list_source_share_synchronization_setting(cmd, client, + resource_group_name, + account_name, + share_subscription_name): + return client.list_source_share_synchronization_setting(resource_group_name=resource_group_name, + account_name=account_name, + share_subscription_name=share_subscription_name) + + +def datashare_share_subscription_list_synchronization(cmd, client, + resource_group_name, + account_name, + share_subscription_name): + return client.list_synchronization(resource_group_name=resource_group_name, + account_name=account_name, + share_subscription_name=share_subscription_name) + + +def _datashare_share_subscription_get_synchronization(cmd, client, + resource_group_name, + account_name, + share_subscription_name, + synchronization_id): + from knack.util import todict + from azure.cli.core.commands import AzCliCommandInvoker + result = client.list_synchronization(resource_group_name=resource_group_name, + account_name=account_name, + share_subscription_name=share_subscription_name) + result = todict(list(result), AzCliCommandInvoker.remove_additional_prop_layer) + return next((x for x in result if x['synchronizationId'] == synchronization_id), None) + + +def datashare_consumer_source_data_set_list(cmd, client, + resource_group_name, + account_name, + share_subscription_name): + return client.list_by_share_subscription(resource_group_name=resource_group_name, account_name=account_name, share_subscription_name=share_subscription_name) + + +def datashare_synchronization_setting_list(cmd, client, + resource_group_name, + account_name, + share_name): + return client.list_by_share(resource_group_name=resource_group_name, + account_name=account_name, + share_name=share_name) + + +def datashare_synchronization_setting_show(cmd, client, + resource_group_name, + account_name, + share_name, + synchronization_setting_name): + return client.get(resource_group_name=resource_group_name, account_name=account_name, share_name=share_name, synchronization_setting_name=synchronization_setting_name) + + +# def _format_datetime(date_string): +# from dateutil.parser import parse +# try: +# return parse(date_string).strftime("%Y-%m-%dT%H:%M:%SZ") +# except ValueError: +# # logger.debug("Unable to parse date_string '%s'", date_string) +# return date_string or ' ' + + +def datashare_synchronization_setting_create(cmd, client, + resource_group_name, + account_name, + share_name, + synchronization_setting_name, + recurrence_interval, + synchronization_time, + kind=None): + synchronization_setting = { + 'synchronizationTime': synchronization_time, + 'recurrenceInterval': recurrence_interval, + 'kind': kind + } + return client.create(resource_group_name=resource_group_name, + account_name=account_name, + share_name=share_name, + synchronization_setting_name=synchronization_setting_name, + synchronization_setting=synchronization_setting) + + +def datashare_synchronization_setting_delete(cmd, client, + resource_group_name, + account_name, + share_name, + synchronization_setting_name, + no_wait=False): + return sdk_no_wait(no_wait, + client.begin_delete, + resource_group_name=resource_group_name, + account_name=account_name, + share_name=share_name, + synchronization_setting_name=synchronization_setting_name) + + +def datashare_trigger_list(cmd, client, + resource_group_name, + account_name, + share_subscription_name): + return client.list_by_share_subscription(resource_group_name=resource_group_name, + account_name=account_name, + share_subscription_name=share_subscription_name) + + +def datashare_trigger_show(cmd, client, + resource_group_name, + account_name, + share_subscription_name, + trigger_name): + return client.get(resource_group_name=resource_group_name, account_name=account_name, share_subscription_name=share_subscription_name, trigger_name=trigger_name) + + +def datashare_trigger_create(cmd, client, + resource_group_name, + account_name, + share_subscription_name, + trigger_name, + recurrence_interval, + synchronization_time, + kind=None, + no_wait=False): + synchronization_setting = { + 'synchronizationTime': synchronization_time, + 'recurrenceInterval': recurrence_interval, + 'kind': kind + } + return sdk_no_wait(no_wait, + client.begin_create, + resource_group_name=resource_group_name, + account_name=account_name, + share_subscription_name=share_subscription_name, + trigger_name=trigger_name, + trigger=synchronization_setting) + + +def datashare_trigger_delete(cmd, client, + resource_group_name, + account_name, + share_subscription_name, + trigger_name, + no_wait=False): + return sdk_no_wait(no_wait, + client.begin_delete, + resource_group_name=resource_group_name, + account_name=account_name, + share_subscription_name=share_subscription_name, + trigger_name=trigger_name) diff --git a/src/datashare/azext_datashare/tests/__init__.py b/src/datashare/azext_datashare/tests/__init__.py new file mode 100644 index 00000000000..c9cfdc73e77 --- /dev/null +++ b/src/datashare/azext_datashare/tests/__init__.py @@ -0,0 +1,12 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +__path__ = __import__('pkgutil').extend_path(__path__, __name__) diff --git a/src/datashare/azext_datashare/tests/latest/__init__.py b/src/datashare/azext_datashare/tests/latest/__init__.py new file mode 100644 index 00000000000..ee0c4f36bd0 --- /dev/null +++ b/src/datashare/azext_datashare/tests/latest/__init__.py @@ -0,0 +1,12 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +__path__ = __import__('pkgutil').extend_path(__path__, __name__) diff --git a/src/datashare/azext_datashare/tests/latest/recordings/test_datashare.yaml b/src/datashare/azext_datashare/tests/latest/recordings/test_datashare.yaml new file mode 100644 index 00000000000..5896d5f4841 --- /dev/null +++ b/src/datashare/azext_datashare/tests/latest/recordings/test_datashare.yaml @@ -0,0 +1,3351 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - unknown + Connection: + - keep-alive + User-Agent: + - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.3 + azure-mgmt-resource/8.0.1 Azure-SDK-For-Python AZURECLI/2.4.0 (MSI) + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/locations?api-version=2019-06-01 + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastasia","name":"eastasia","displayName":"East + Asia","longitude":"114.188","latitude":"22.267"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southeastasia","name":"southeastasia","displayName":"Southeast + Asia","longitude":"103.833","latitude":"1.283"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centralus","name":"centralus","displayName":"Central + US","longitude":"-93.6208","latitude":"41.5908"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus","name":"eastus","displayName":"East + US","longitude":"-79.8164","latitude":"37.3719"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus2","name":"eastus2","displayName":"East + US 2","longitude":"-78.3889","latitude":"36.6681"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus","name":"westus","displayName":"West + US","longitude":"-122.417","latitude":"37.783"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/northcentralus","name":"northcentralus","displayName":"North + Central US","longitude":"-87.6278","latitude":"41.8819"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southcentralus","name":"southcentralus","displayName":"South + Central US","longitude":"-98.5","latitude":"29.4167"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/northeurope","name":"northeurope","displayName":"North + Europe","longitude":"-6.2597","latitude":"53.3478"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westeurope","name":"westeurope","displayName":"West + Europe","longitude":"4.9","latitude":"52.3667"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/japanwest","name":"japanwest","displayName":"Japan + West","longitude":"135.5022","latitude":"34.6939"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/japaneast","name":"japaneast","displayName":"Japan + East","longitude":"139.77","latitude":"35.68"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/brazilsouth","name":"brazilsouth","displayName":"Brazil + South","longitude":"-46.633","latitude":"-23.55"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiaeast","name":"australiaeast","displayName":"Australia + East","longitude":"151.2094","latitude":"-33.86"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiasoutheast","name":"australiasoutheast","displayName":"Australia + Southeast","longitude":"144.9631","latitude":"-37.8136"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southindia","name":"southindia","displayName":"South + India","longitude":"80.1636","latitude":"12.9822"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centralindia","name":"centralindia","displayName":"Central + India","longitude":"73.9197","latitude":"18.5822"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westindia","name":"westindia","displayName":"West + India","longitude":"72.868","latitude":"19.088"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/canadacentral","name":"canadacentral","displayName":"Canada + Central","longitude":"-79.383","latitude":"43.653"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/canadaeast","name":"canadaeast","displayName":"Canada + East","longitude":"-71.217","latitude":"46.817"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uksouth","name":"uksouth","displayName":"UK + South","longitude":"-0.799","latitude":"50.941"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/ukwest","name":"ukwest","displayName":"UK + West","longitude":"-3.084","latitude":"53.427"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westcentralus","name":"westcentralus","displayName":"West + Central US","longitude":"-110.234","latitude":"40.890"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus2","name":"westus2","displayName":"West + US 2","longitude":"-119.852","latitude":"47.233"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/koreacentral","name":"koreacentral","displayName":"Korea + Central","longitude":"126.9780","latitude":"37.5665"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/koreasouth","name":"koreasouth","displayName":"Korea + South","longitude":"129.0756","latitude":"35.1796"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/francecentral","name":"francecentral","displayName":"France + Central","longitude":"2.3730","latitude":"46.3772"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/francesouth","name":"francesouth","displayName":"France + South","longitude":"2.1972","latitude":"43.8345"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiacentral","name":"australiacentral","displayName":"Australia + Central","longitude":"149.1244","latitude":"-35.3075"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiacentral2","name":"australiacentral2","displayName":"Australia + Central 2","longitude":"149.1244","latitude":"-35.3075"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uaecentral","name":"uaecentral","displayName":"UAE + Central","longitude":"54.366669","latitude":"24.466667"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uaenorth","name":"uaenorth","displayName":"UAE + North","longitude":"55.316666","latitude":"25.266666"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southafricanorth","name":"southafricanorth","displayName":"South + Africa North","longitude":"28.218370","latitude":"-25.731340"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southafricawest","name":"southafricawest","displayName":"South + Africa West","longitude":"18.843266","latitude":"-34.075691"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/switzerlandnorth","name":"switzerlandnorth","displayName":"Switzerland + North","longitude":"8.564572","latitude":"47.451542"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/switzerlandwest","name":"switzerlandwest","displayName":"Switzerland + West","longitude":"6.143158","latitude":"46.204391"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/germanynorth","name":"germanynorth","displayName":"Germany + North","longitude":"8.806422","latitude":"53.073635"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/germanywestcentral","name":"germanywestcentral","displayName":"Germany + West Central","longitude":"8.682127","latitude":"50.110924"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/norwaywest","name":"norwaywest","displayName":"Norway + West","longitude":"5.733107","latitude":"58.969975"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/norwayeast","name":"norwayeast","displayName":"Norway + East","longitude":"10.752245","latitude":"59.913868"}]}' + headers: + cache-control: + - no-cache + content-length: + - '7129' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 23 Apr 2020 13:42:15 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"location": "westus2", "tags": {"tag1": "Red", "tag2": "White"}, "identity": + {"type": "SystemAssigned"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare account create + Connection: + - keep-alive + Content-Length: + - '105' + Content-Type: + - application/json + ParameterSetName: + - --location --tags --name --resource-group + User-Agent: + - AZURECLI/2.4.0 (MSI) azsdk-python-datasharemanagementclient/unknown Python/3.8.2 + (Windows-10-10.0.18362-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account?api-version=2019-11-01 + response: + body: + string: '{"identity":{"type":"SystemAssigned","principalId":"b5246a1a-9dff-43b3-bef8-4e1ae69234aa","tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a"},"properties":{"createdAt":"2020-04-23T13:42:23.9427652Z","provisioningState":"Creating","userName":"Feng + Zhou","userEmail":"provider@microsoft.com"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account","name":"cli_test_account","type":"Microsoft.DataShare/accounts","location":"westus2","tags":{"tag1":"Red","tag2":"White"}}' + headers: + cache-control: + - no-cache + content-length: + - '619' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 23 Apr 2020 13:42:26 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account?api-version=2019-11-01 + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-quota: + - '[{"currentUsed":4,"limit":50,"name":{"localizedValue":"Account resource quota","value":"Account + resource quota"},"target":"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/cli_test_datrywkgqr6mfnic2batum7zhzzekrutyfed7ajmopnqmg7bfkqdq2mavcabi7fdxo/providers/Microsoft.DataShare/accounts/cli_test_account"}]' + x-ms-ratelimit-remaining-subscription-writes: + - '1197' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare account wait + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group --created + User-Agent: + - AZURECLI/2.4.0 (MSI) azsdk-python-datasharemanagementclient/unknown Python/3.8.2 + (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account?api-version=2019-11-01 + response: + body: + string: '{"identity":{"type":"SystemAssigned","principalId":"b5246a1a-9dff-43b3-bef8-4e1ae69234aa","tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a"},"properties":{"createdAt":"2020-04-23T13:42:23.9427652Z","provisioningState":"Creating","userName":"Feng + Zhou","userEmail":"provider@microsoft.com"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account","name":"cli_test_account","type":"Microsoft.DataShare/accounts","location":"westus2","tags":{"tag1":"Red","tag2":"White"}}' + headers: + cache-control: + - no-cache + content-length: + - '619' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 23 Apr 2020 13:42:27 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare account wait + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group --created + User-Agent: + - AZURECLI/2.4.0 (MSI) azsdk-python-datasharemanagementclient/unknown Python/3.8.2 + (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account?api-version=2019-11-01 + response: + body: + string: '{"identity":{"type":"SystemAssigned","principalId":"b5246a1a-9dff-43b3-bef8-4e1ae69234aa","tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a"},"properties":{"createdAt":"2020-04-23T13:42:23.9427652Z","provisioningState":"Creating","userName":"Feng + Zhou","userEmail":"provider@microsoft.com"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account","name":"cli_test_account","type":"Microsoft.DataShare/accounts","location":"westus2","tags":{"tag1":"Red","tag2":"White"}}' + headers: + cache-control: + - no-cache + content-length: + - '619' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 23 Apr 2020 13:42:58 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare account wait + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group --created + User-Agent: + - AZURECLI/2.4.0 (MSI) azsdk-python-datasharemanagementclient/unknown Python/3.8.2 + (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account?api-version=2019-11-01 + response: + body: + string: '{"identity":{"type":"SystemAssigned","principalId":"b5246a1a-9dff-43b3-bef8-4e1ae69234aa","tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a"},"properties":{"createdAt":"2020-04-23T13:42:23.9427652Z","provisioningState":"Creating","userName":"Feng + Zhou","userEmail":"provider@microsoft.com"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account","name":"cli_test_account","type":"Microsoft.DataShare/accounts","location":"westus2","tags":{"tag1":"Red","tag2":"White"}}' + headers: + cache-control: + - no-cache + content-length: + - '619' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 23 Apr 2020 13:43:29 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare account wait + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group --created + User-Agent: + - AZURECLI/2.4.0 (MSI) azsdk-python-datasharemanagementclient/unknown Python/3.8.2 + (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account?api-version=2019-11-01 + response: + body: + string: '{"identity":{"type":"SystemAssigned","principalId":"b5246a1a-9dff-43b3-bef8-4e1ae69234aa","tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a"},"properties":{"createdAt":"2020-04-23T13:42:23.9427652Z","provisioningState":"Creating","userName":"Feng + Zhou","userEmail":"provider@microsoft.com"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account","name":"cli_test_account","type":"Microsoft.DataShare/accounts","location":"westus2","tags":{"tag1":"Red","tag2":"White"}}' + headers: + cache-control: + - no-cache + content-length: + - '619' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 23 Apr 2020 13:43:59 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare account wait + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group --created + User-Agent: + - AZURECLI/2.4.0 (MSI) azsdk-python-datasharemanagementclient/unknown Python/3.8.2 + (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account?api-version=2019-11-01 + response: + body: + string: '{"identity":{"type":"SystemAssigned","principalId":"b5246a1a-9dff-43b3-bef8-4e1ae69234aa","tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a"},"properties":{"createdAt":"2020-04-23T13:42:23.9427652Z","provisioningState":"Succeeded","userName":"Feng + Zhou","userEmail":"provider@microsoft.com"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account","name":"cli_test_account","type":"Microsoft.DataShare/accounts","location":"westus2","tags":{"tag1":"Red","tag2":"White"}}' + headers: + cache-control: + - no-cache + content-length: + - '620' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 23 Apr 2020 13:44:30 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare account show + Connection: + - keep-alive + ParameterSetName: + - -n --resource-group + User-Agent: + - AZURECLI/2.4.0 (MSI) azsdk-python-datasharemanagementclient/unknown Python/3.8.2 + (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account?api-version=2019-11-01 + response: + body: + string: '{"identity":{"type":"SystemAssigned","principalId":"b5246a1a-9dff-43b3-bef8-4e1ae69234aa","tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a"},"properties":{"createdAt":"2020-04-23T13:42:23.9427652Z","provisioningState":"Succeeded","userName":"Feng + Zhou","userEmail":"provider@microsoft.com"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account","name":"cli_test_account","type":"Microsoft.DataShare/accounts","location":"westus2","tags":{"tag1":"Red","tag2":"White"}}' + headers: + cache-control: + - no-cache + content-length: + - '620' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 23 Apr 2020 13:44:32 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare account show + Connection: + - keep-alive + ParameterSetName: + - --ids + User-Agent: + - AZURECLI/2.4.0 (MSI) azsdk-python-datasharemanagementclient/unknown Python/3.8.2 + (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account?api-version=2019-11-01 + response: + body: + string: '{"identity":{"type":"SystemAssigned","principalId":"b5246a1a-9dff-43b3-bef8-4e1ae69234aa","tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a"},"properties":{"createdAt":"2020-04-23T13:42:23.9427652Z","provisioningState":"Succeeded","userName":"Feng + Zhou","userEmail":"provider@microsoft.com"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account","name":"cli_test_account","type":"Microsoft.DataShare/accounts","location":"westus2","tags":{"tag1":"Red","tag2":"White"}}' + headers: + cache-control: + - no-cache + content-length: + - '620' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 23 Apr 2020 13:44:33 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare account list + Connection: + - keep-alive + ParameterSetName: + - --resource-group + User-Agent: + - AZURECLI/2.4.0 (MSI) azsdk-python-datasharemanagementclient/unknown Python/3.8.2 + (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts?api-version=2019-11-01 + response: + body: + string: '{"value":[{"identity":{"type":"SystemAssigned","principalId":"b5246a1a-9dff-43b3-bef8-4e1ae69234aa","tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a"},"properties":{"createdAt":"2020-04-23T13:42:23.9427652Z","provisioningState":"Succeeded","userName":"Feng + Zhou","userEmail":"provider@microsoft.com"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account","name":"cli_test_account","type":"Microsoft.DataShare/accounts","location":"westus2","tags":{"tag1":"Red","tag2":"White"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '632' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 23 Apr 2020 13:44:35 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"tags": {"tag1": "Green"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare account update + Connection: + - keep-alive + Content-Length: + - '27' + Content-Type: + - application/json + ParameterSetName: + - --name --tags --resource-group + User-Agent: + - AZURECLI/2.4.0 (MSI) azsdk-python-datasharemanagementclient/unknown Python/3.8.2 + (Windows-10-10.0.18362-SP0) + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account?api-version=2019-11-01 + response: + body: + string: '{"identity":{"type":"SystemAssigned","principalId":"b5246a1a-9dff-43b3-bef8-4e1ae69234aa","tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a"},"properties":{"createdAt":"2020-04-23T13:42:23.9427652Z","provisioningState":"Succeeded","userName":"Feng + Zhou","userEmail":"provider@microsoft.com"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account","name":"cli_test_account","type":"Microsoft.DataShare/accounts","location":"westus2","tags":{"tag1":"Green"}}' + headers: + cache-control: + - no-cache + content-length: + - '607' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 23 Apr 2020 13:44:40 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + status: + code: 200 + message: OK +- request: + body: '{"properties": {"description": "share description", "shareKind": "CopyBased", + "terms": "Confidential"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare create + Connection: + - keep-alive + Content-Length: + - '103' + Content-Type: + - application/json + ParameterSetName: + - --account-name --resource-group --description --share-kind --terms --name + User-Agent: + - AZURECLI/2.4.0 (MSI) azsdk-python-datasharemanagementclient/unknown Python/3.8.2 + (Windows-10-10.0.18362-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share?api-version=2019-11-01 + response: + body: + string: '{"properties":{"description":"share description","terms":"Confidential","shareKind":"CopyBased","provisioningState":"Succeeded","createdAt":"2020-04-23T13:44:43.0008884Z","userName":"Feng + Zhou","userEmail":"provider@microsoft.com"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share","name":"cli_test_share","type":"Microsoft.DataShare/shares"}' + headers: + cache-control: + - no-cache + content-length: + - '521' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 23 Apr 2020 13:44:43 GMT + expires: + - '-1' + location: + - /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/cli_test_share + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-quota: + - '[{"currentUsed":1,"limit":100,"name":{"localizedValue":"Share resource quota","value":"Share + resource quota"},"target":"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/cli_test_datrywkgqr6mfnic2batum7zhzzekrutyfed7ajmopnqmg7bfkqdq2mavcabi7fdxo/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share"}]' + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare show + Connection: + - keep-alive + ParameterSetName: + - --account-name --resource-group --name + User-Agent: + - AZURECLI/2.4.0 (MSI) azsdk-python-datasharemanagementclient/unknown Python/3.8.2 + (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share?api-version=2019-11-01 + response: + body: + string: '{"properties":{"description":"share description","terms":"Confidential","shareKind":"CopyBased","provisioningState":"Succeeded","createdAt":"2020-04-23T13:44:43.0008884Z","userName":"Feng + Zhou","userEmail":"provider@microsoft.com"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share","name":"cli_test_share","type":"Microsoft.DataShare/shares"}' + headers: + cache-control: + - no-cache + content-length: + - '521' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 23 Apr 2020 13:44:44 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare show + Connection: + - keep-alive + ParameterSetName: + - --ids + User-Agent: + - AZURECLI/2.4.0 (MSI) azsdk-python-datasharemanagementclient/unknown Python/3.8.2 + (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share?api-version=2019-11-01 + response: + body: + string: '{"properties":{"description":"share description","terms":"Confidential","shareKind":"CopyBased","provisioningState":"Succeeded","createdAt":"2020-04-23T13:44:43.0008884Z","userName":"Feng + Zhou","userEmail":"provider@microsoft.com"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share","name":"cli_test_share","type":"Microsoft.DataShare/shares"}' + headers: + cache-control: + - no-cache + content-length: + - '521' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 23 Apr 2020 13:44:46 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare list + Connection: + - keep-alive + ParameterSetName: + - --account-name --resource-group + User-Agent: + - AZURECLI/2.4.0 (MSI) azsdk-python-datasharemanagementclient/unknown Python/3.8.2 + (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares?api-version=2019-11-01 + response: + body: + string: '{"value":[{"properties":{"description":"share description","terms":"Confidential","shareKind":"CopyBased","provisioningState":"Succeeded","createdAt":"2020-04-23T13:44:43.0008884Z","userName":"Feng + Zhou","userEmail":"provider@microsoft.com"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share","name":"cli_test_share","type":"Microsoft.DataShare/shares"}]}' + headers: + cache-control: + - no-cache + content-length: + - '533' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 23 Apr 2020 13:44:48 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage account show + Connection: + - keep-alive + ParameterSetName: + - -n -g + User-Agent: + - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.3 + azure-mgmt-storage/9.0.0 Azure-SDK-For-Python AZURECLI/2.4.0 (MSI) + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.Storage/storageAccounts/clitestdatas000002?api-version=2019-06-01 + response: + body: + string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.Storage/storageAccounts/clitestdatas000002","name":"clitestdatas000002","type":"Microsoft.Storage/storageAccounts","location":"westus2","tags":{},"properties":{"privateEndpointConnections":[],"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-04-23T13:41:53.6606746Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-04-23T13:41:53.6606746Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-04-23T13:41:53.5981225Z","primaryEndpoints":{"blob":"https://clitestdatas000002.blob.core.windows.net/","queue":"https://clitestdatas000002.queue.core.windows.net/","table":"https://clitestdatas000002.table.core.windows.net/","file":"https://clitestdatas000002.file.core.windows.net/"},"primaryLocation":"westus2","statusOfPrimary":"available"}}' + headers: + cache-control: + - no-cache + content-length: + - '1263' + content-type: + - application/json + date: + - Thu, 23 Apr 2020 13:44:49 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"properties": {"roleDefinitionId": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/2a2b9908-6ea1-4ae2-8e65-a410df84e7d1", + "principalId": "b5246a1a-9dff-43b3-bef8-4e1ae69234aa", "principalType": "ServicePrincipal"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - role assignment create + Connection: + - keep-alive + Content-Length: + - '270' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - --role --assignee-object-id --assignee-principal-type --scope + User-Agent: + - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.3 + azure-mgmt-authorization/0.52.0 Azure-SDK-For-Python AZURECLI/2.4.0 (MSI) + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.Storage/storageAccounts/clitestdatas000002/providers/Microsoft.Authorization/roleAssignments/0276c401-3a81-4eb5-ac21-1d520c24c5e1?api-version=2018-09-01-preview + response: + body: + string: '{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/2a2b9908-6ea1-4ae2-8e65-a410df84e7d1","principalId":"b5246a1a-9dff-43b3-bef8-4e1ae69234aa","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.Storage/storageAccounts/clitestdatas000002","createdOn":"2020-04-23T13:44:51.4815862Z","updatedOn":"2020-04-23T13:44:51.4815862Z","createdBy":null,"updatedBy":"31e600e0-d7ce-4e98-a927-19bb30042e44"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.Storage/storageAccounts/clitestdatas000002/providers/Microsoft.Authorization/roleAssignments/0276c401-3a81-4eb5-ac21-1d520c24c5e1","type":"Microsoft.Authorization/roleAssignments","name":"0276c401-3a81-4eb5-ac21-1d520c24c5e1"}' + headers: + cache-control: + - no-cache + content-length: + - '1041' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 23 Apr 2020 13:44:58 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - x-ms-gateway-slice=Production; path=/; SameSite=None; secure; HttpOnly + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage container create + Connection: + - keep-alive + ParameterSetName: + - --account-name --name + User-Agent: + - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.3 + azure-mgmt-storage/9.0.0 Azure-SDK-For-Python AZURECLI/2.4.0 (MSI) + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/storageAccounts?api-version=2019-06-01 + response: + body: + string: '{"value":[{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azure-core-poc/providers/Microsoft.Storage/storageAccounts/azurecorepoc","name":"azurecorepoc","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-12-26T02:38:58.8233588Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-12-26T02:38:58.8233588Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-12-26T02:38:58.7452329Z","primaryEndpoints":{"dfs":"https://azurecorepoc.dfs.core.windows.net/","web":"https://azurecorepoc.z13.web.core.windows.net/","blob":"https://azurecorepoc.blob.core.windows.net/","queue":"https://azurecorepoc.queue.core.windows.net/","table":"https://azurecorepoc.table.core.windows.net/","file":"https://azurecorepoc.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://azurecorepoc-secondary.dfs.core.windows.net/","web":"https://azurecorepoc-secondary.z13.web.core.windows.net/","blob":"https://azurecorepoc-secondary.blob.core.windows.net/","queue":"https://azurecorepoc-secondary.queue.core.windows.net/","table":"https://azurecorepoc-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fytest/providers/Microsoft.Storage/storageAccounts/fystac","name":"fystac","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-04-08T03:10:13.4426715Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-04-08T03:10:13.4426715Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-04-08T03:10:13.3645539Z","primaryEndpoints":{"dfs":"https://fystac.dfs.core.windows.net/","web":"https://fystac.z13.web.core.windows.net/","blob":"https://fystac.blob.core.windows.net/","queue":"https://fystac.queue.core.windows.net/","table":"https://fystac.table.core.windows.net/","file":"https://fystac.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://fystac-secondary.dfs.core.windows.net/","web":"https://fystac-secondary.z13.web.core.windows.net/","blob":"https://fystac-secondary.blob.core.windows.net/","queue":"https://fystac-secondary.queue.core.windows.net/","table":"https://fystac-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/harold/providers/Microsoft.Storage/storageAccounts/harold","name":"harold","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-29T13:11:16.4123336Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-29T13:11:16.4123336Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-29T13:11:16.3342268Z","primaryEndpoints":{"dfs":"https://harold.dfs.core.windows.net/","web":"https://harold.z13.web.core.windows.net/","blob":"https://harold.blob.core.windows.net/","queue":"https://harold.queue.core.windows.net/","table":"https://harold.table.core.windows.net/","file":"https://harold.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://harold-secondary.dfs.core.windows.net/","web":"https://harold-secondary.z13.web.core.windows.net/","blob":"https://harold-secondary.blob.core.windows.net/","queue":"https://harold-secondary.queue.core.windows.net/","table":"https://harold-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qianwens/providers/Microsoft.Storage/storageAccounts/qianwenadls","name":"qianwenadls","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"privateEndpointConnections":[],"isHnsEnabled":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-04-01T10:11:06.0357634Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-04-01T10:11:06.0357634Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-04-01T10:11:05.9576622Z","primaryEndpoints":{"dfs":"https://qianwenadls.dfs.core.windows.net/","web":"https://qianwenadls.z13.web.core.windows.net/","blob":"https://qianwenadls.blob.core.windows.net/","queue":"https://qianwenadls.queue.core.windows.net/","table":"https://qianwenadls.table.core.windows.net/","file":"https://qianwenadls.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://qianwenadls-secondary.dfs.core.windows.net/","web":"https://qianwenadls-secondary.z13.web.core.windows.net/","blob":"https://qianwenadls-secondary.blob.core.windows.net/","queue":"https://qianwenadls-secondary.queue.core.windows.net/","table":"https://qianwenadls-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qianwens/providers/Microsoft.Storage/storageAccounts/qianwendev","name":"qianwendev","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qianwens/providers/Microsoft.Network/virtualNetworks/QIAN/subnets/default","action":"Allow","state":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qianwens/providers/Microsoft.Network/virtualNetworks/qianwendev/subnets/default","action":"Allow","state":"Succeeded"}],"ipRules":[{"value":"23.45.1.0/24","action":"Allow"},{"value":"23.45.1.1/24","action":"Allow"}],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-12T03:29:28.0084761Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-12T03:29:28.0084761Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-02-12T03:29:27.9459854Z","primaryEndpoints":{"dfs":"https://qianwendev.dfs.core.windows.net/","web":"https://qianwendev.z13.web.core.windows.net/","blob":"https://qianwendev.blob.core.windows.net/","queue":"https://qianwendev.queue.core.windows.net/","table":"https://qianwendev.table.core.windows.net/","file":"https://qianwendev.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://qianwendev-secondary.dfs.core.windows.net/","web":"https://qianwendev-secondary.z13.web.core.windows.net/","blob":"https://qianwendev-secondary.blob.core.windows.net/","queue":"https://qianwendev-secondary.queue.core.windows.net/","table":"https://qianwendev-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qianwens/providers/Microsoft.Storage/storageAccounts/qianwenhpctarget","name":"qianwenhpctarget","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-06T07:09:20.3073299Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-06T07:09:20.3073299Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-06T07:09:20.2291899Z","primaryEndpoints":{"dfs":"https://qianwenhpctarget.dfs.core.windows.net/","web":"https://qianwenhpctarget.z13.web.core.windows.net/","blob":"https://qianwenhpctarget.blob.core.windows.net/","queue":"https://qianwenhpctarget.queue.core.windows.net/","table":"https://qianwenhpctarget.table.core.windows.net/","file":"https://qianwenhpctarget.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://qianwenhpctarget-secondary.dfs.core.windows.net/","web":"https://qianwenhpctarget-secondary.z13.web.core.windows.net/","blob":"https://qianwenhpctarget-secondary.blob.core.windows.net/","queue":"https://qianwenhpctarget-secondary.queue.core.windows.net/","table":"https://qianwenhpctarget-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zhoxing-test/providers/Microsoft.Storage/storageAccounts/zhoxing","name":"zhoxing","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-04-15T08:53:45.4310180Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-04-15T08:53:45.4310180Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-04-15T08:53:45.3528671Z","primaryEndpoints":{"dfs":"https://zhoxing.dfs.core.windows.net/","web":"https://zhoxing.z13.web.core.windows.net/","blob":"https://zhoxing.blob.core.windows.net/","queue":"https://zhoxing.queue.core.windows.net/","table":"https://zhoxing.table.core.windows.net/","file":"https://zhoxing.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://zhoxing-secondary.dfs.core.windows.net/","web":"https://zhoxing-secondary.z13.web.core.windows.net/","blob":"https://zhoxing-secondary.blob.core.windows.net/","queue":"https://zhoxing-secondary.queue.core.windows.net/","table":"https://zhoxing-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/jlrg1/providers/Microsoft.Storage/storageAccounts/jlst","name":"jlst","type":"Microsoft.Storage/storageAccounts","location":"eastus2","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-04-14T12:05:01.5230050Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-04-14T12:05:01.5230050Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-04-14T12:05:01.4448881Z","primaryEndpoints":{"dfs":"https://jlst.dfs.core.windows.net/","web":"https://jlst.z20.web.core.windows.net/","blob":"https://jlst.blob.core.windows.net/","queue":"https://jlst.queue.core.windows.net/","table":"https://jlst.table.core.windows.net/","file":"https://jlst.file.core.windows.net/"},"primaryLocation":"eastus2","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/jlrg1/providers/Microsoft.Storage/storageAccounts/tsiext","name":"tsiext","type":"Microsoft.Storage/storageAccounts","location":"eastus2","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-04-16T04:42:27.8695098Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-04-16T04:42:27.8695098Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-04-16T04:42:27.8070104Z","primaryEndpoints":{"dfs":"https://tsiext.dfs.core.windows.net/","web":"https://tsiext.z20.web.core.windows.net/","blob":"https://tsiext.blob.core.windows.net/","queue":"https://tsiext.queue.core.windows.net/","table":"https://tsiext.table.core.windows.net/","file":"https://tsiext.file.core.windows.net/"},"primaryLocation":"eastus2","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zhoxing-test/providers/Microsoft.Storage/storageAccounts/azhoxingtest9851","name":"azhoxingtest9851","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{"hidden-DevTestLabs-LabUId":"6e279161-d008-42b7-90a1-6801fc4bc4ca"},"properties":{"privateEndpointConnections":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zhoxing-test/providers/Microsoft.Storage/storageAccounts/azhoxingtest9851/privateEndpointConnections/azhoxingtest9851.6911cd49-cfc1-4bcf-887b-6941ff2b8756","name":"azhoxingtest9851.6911cd49-cfc1-4bcf-887b-6941ff2b8756","type":"Microsoft.Storage/storageAccounts/privateEndpointConnections","properties":{"provisioningState":"Succeeded","privateEndpoint":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuhcentral/providers/Microsoft.Network/privateEndpoints/test"},"privateLinkServiceConnectionState":{"status":"Approved","description":"Auto-Approved","actionRequired":"None"}}}],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-21T05:43:15.2811036Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-21T05:43:15.2811036Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-02-21T05:43:15.2029670Z","primaryEndpoints":{"dfs":"https://azhoxingtest9851.dfs.core.windows.net/","web":"https://azhoxingtest9851.z22.web.core.windows.net/","blob":"https://azhoxingtest9851.blob.core.windows.net/","queue":"https://azhoxingtest9851.queue.core.windows.net/","table":"https://azhoxingtest9851.table.core.windows.net/","file":"https://azhoxingtest9851.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databoxoe2qtcqlnxonqpub522jgmpzgeegwhowl2qo6xqgfwtqcd3jzicz5yraawi/providers/Microsoft.Storage/storageAccounts/clitest6yrafi3cntx2cngw3","name":"clitest6yrafi3cntx2cngw3","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-06T14:00:05.4412024Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-06T14:00:05.4412024Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-06T14:00:05.3786989Z","primaryEndpoints":{"blob":"https://clitest6yrafi3cntx2cngw3.blob.core.windows.net/","queue":"https://clitest6yrafi3cntx2cngw3.queue.core.windows.net/","table":"https://clitest6yrafi3cntx2cngw3.table.core.windows.net/","file":"https://clitest6yrafi3cntx2cngw3.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databoxn5n2vkeyewiwob4e7e6nqiblkvvgc5qorevejhsntblvdlc2t373rrvy45p/providers/Microsoft.Storage/storageAccounts/clitest75g6r5uwkj7ker7wu","name":"clitest75g6r5uwkj7ker7wu","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T06:35:53.9029562Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T06:35:53.9029562Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-03T06:35:53.8248647Z","primaryEndpoints":{"blob":"https://clitest75g6r5uwkj7ker7wu.blob.core.windows.net/","queue":"https://clitest75g6r5uwkj7ker7wu.queue.core.windows.net/","table":"https://clitest75g6r5uwkj7ker7wu.table.core.windows.net/","file":"https://clitest75g6r5uwkj7ker7wu.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox5gpbe2knrizxsitmvje3fbdl44tf6cvpfqbpvsyicxmupsbyhmlcrg4wesk/providers/Microsoft.Storage/storageAccounts/clitest7b5n3o4aahl5rafju","name":"clitest7b5n3o4aahl5rafju","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T08:27:23.1140038Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T08:27:23.1140038Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-03T08:27:23.0514944Z","primaryEndpoints":{"blob":"https://clitest7b5n3o4aahl5rafju.blob.core.windows.net/","queue":"https://clitest7b5n3o4aahl5rafju.queue.core.windows.net/","table":"https://clitest7b5n3o4aahl5rafju.table.core.windows.net/","file":"https://clitest7b5n3o4aahl5rafju.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databoxlekg7y4dtg2pnsaueisdkyqi5mnvmlwxto2cpu3kv7snll4uc37q2rm4wme/providers/Microsoft.Storage/storageAccounts/clitestcu3wv45lektdc3whs","name":"clitestcu3wv45lektdc3whs","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T08:35:04.7531702Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T08:35:04.7531702Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-03T08:35:04.6750427Z","primaryEndpoints":{"blob":"https://clitestcu3wv45lektdc3whs.blob.core.windows.net/","queue":"https://clitestcu3wv45lektdc3whs.queue.core.windows.net/","table":"https://clitestcu3wv45lektdc3whs.table.core.windows.net/","file":"https://clitestcu3wv45lektdc3whs.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databoxeg3csudujzrh2zcvbjytg6gvlkp6sjfcozveffblaqhrzhsslvpr54lg7n2/providers/Microsoft.Storage/storageAccounts/clitestgdfhjpgc2wgbrddlq","name":"clitestgdfhjpgc2wgbrddlq","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T06:28:55.9105364Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T06:28:55.9105364Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-03T06:28:55.8480330Z","primaryEndpoints":{"blob":"https://clitestgdfhjpgc2wgbrddlq.blob.core.windows.net/","queue":"https://clitestgdfhjpgc2wgbrddlq.queue.core.windows.net/","table":"https://clitestgdfhjpgc2wgbrddlq.table.core.windows.net/","file":"https://clitestgdfhjpgc2wgbrddlq.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databoxoe2qtcqlnxonqpub522jgmpzgeegwhowl2qo6xqgfwtqcd3jzicz5yraawi/providers/Microsoft.Storage/storageAccounts/clitestl6h6fa53d2gbmohn3","name":"clitestl6h6fa53d2gbmohn3","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-06T13:59:30.5816034Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-06T13:59:30.5816034Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-06T13:59:30.5034613Z","primaryEndpoints":{"blob":"https://clitestl6h6fa53d2gbmohn3.blob.core.windows.net/","queue":"https://clitestl6h6fa53d2gbmohn3.queue.core.windows.net/","table":"https://clitestl6h6fa53d2gbmohn3.table.core.windows.net/","file":"https://clitestl6h6fa53d2gbmohn3.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databoxfgdxtb5b3moqarfyogd7fcognbrlsihjlj3acnscrixetycujoejzzalyi3/providers/Microsoft.Storage/storageAccounts/clitestldg5uo7ika27utek4","name":"clitestldg5uo7ika27utek4","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T08:59:48.7196866Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T08:59:48.7196866Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-03T08:59:48.6728325Z","primaryEndpoints":{"blob":"https://clitestldg5uo7ika27utek4.blob.core.windows.net/","queue":"https://clitestldg5uo7ika27utek4.queue.core.windows.net/","table":"https://clitestldg5uo7ika27utek4.table.core.windows.net/","file":"https://clitestldg5uo7ika27utek4.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox52yrfbe7molrqhwdubnr2jcijd22xsz3hgcg3btf3sza5boeklwgzzq5sfn/providers/Microsoft.Storage/storageAccounts/clitestm7nikx6sld4npo42d","name":"clitestm7nikx6sld4npo42d","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-06T14:20:54.5597796Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-06T14:20:54.5597796Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-06T14:20:54.4972558Z","primaryEndpoints":{"blob":"https://clitestm7nikx6sld4npo42d.blob.core.windows.net/","queue":"https://clitestm7nikx6sld4npo42d.queue.core.windows.net/","table":"https://clitestm7nikx6sld4npo42d.table.core.windows.net/","file":"https://clitestm7nikx6sld4npo42d.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databoxrg2slunrj5vx5aydveu66wkj6rh3ildamkumi4zojpcf6f4vastgfp4v3rw/providers/Microsoft.Storage/storageAccounts/clitestmap7c2xyjf3gsd7yg","name":"clitestmap7c2xyjf3gsd7yg","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T09:10:56.7318732Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T09:10:56.7318732Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-03T09:10:56.6381622Z","primaryEndpoints":{"blob":"https://clitestmap7c2xyjf3gsd7yg.blob.core.windows.net/","queue":"https://clitestmap7c2xyjf3gsd7yg.queue.core.windows.net/","table":"https://clitestmap7c2xyjf3gsd7yg.table.core.windows.net/","file":"https://clitestmap7c2xyjf3gsd7yg.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databoxu7woflo47pjem4rfw2djuvafywtfnprfpduospdfotkqkudaylsua3ybqpa/providers/Microsoft.Storage/storageAccounts/clitestnxsheqf5s5rcht46h","name":"clitestnxsheqf5s5rcht46h","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T06:40:27.7931436Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T06:40:27.7931436Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-03T06:40:27.7305929Z","primaryEndpoints":{"blob":"https://clitestnxsheqf5s5rcht46h.blob.core.windows.net/","queue":"https://clitestnxsheqf5s5rcht46h.queue.core.windows.net/","table":"https://clitestnxsheqf5s5rcht46h.table.core.windows.net/","file":"https://clitestnxsheqf5s5rcht46h.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox52yrfbe7molrqhwdubnr2jcijd22xsz3hgcg3btf3sza5boeklwgzzq5sfn/providers/Microsoft.Storage/storageAccounts/clitestqsel4b35pkfyubvyx","name":"clitestqsel4b35pkfyubvyx","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-06T14:20:08.8041709Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-06T14:20:08.8041709Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-06T14:20:08.7417121Z","primaryEndpoints":{"blob":"https://clitestqsel4b35pkfyubvyx.blob.core.windows.net/","queue":"https://clitestqsel4b35pkfyubvyx.queue.core.windows.net/","table":"https://clitestqsel4b35pkfyubvyx.table.core.windows.net/","file":"https://clitestqsel4b35pkfyubvyx.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databoxam64dpcskfsb23dkj6zbvxysimh24e3upfdsdmuxbdl2j25ckz2uz5lht5y/providers/Microsoft.Storage/storageAccounts/clitesty2xsxbbcego73beie","name":"clitesty2xsxbbcego73beie","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T05:23:45.1933083Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T05:23:45.1933083Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-03T05:23:45.1308322Z","primaryEndpoints":{"blob":"https://clitesty2xsxbbcego73beie.blob.core.windows.net/","queue":"https://clitesty2xsxbbcego73beie.queue.core.windows.net/","table":"https://clitesty2xsxbbcego73beie.table.core.windows.net/","file":"https://clitesty2xsxbbcego73beie.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_GRS","tier":"Standard"},"kind":"BlobStorage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-test-ws-udvur1v2scpdh/providers/Microsoft.Storage/storageAccounts/dbstorageazqiaxnzp45c4","name":"dbstorageazqiaxnzp45c4","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{"application":"databricks","databricks-environment":"true"},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-04-13T03:47:02.5418099Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-04-13T03:47:02.5418099Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-04-13T03:47:02.4793343Z","primaryEndpoints":{"dfs":"https://dbstorageazqiaxnzp45c4.dfs.core.windows.net/","blob":"https://dbstorageazqiaxnzp45c4.blob.core.windows.net/","table":"https://dbstorageazqiaxnzp45c4.table.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available"}},{"sku":{"name":"Standard_GRS","tier":"Standard"},"kind":"BlobStorage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-test-ws-1-tkfkantu2y5cn/providers/Microsoft.Storage/storageAccounts/dbstorageucp43z6irid74","name":"dbstorageucp43z6irid74","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{"application":"databricks","databricks-environment":"true"},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-04-13T04:56:17.5656641Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-04-13T04:56:17.5656641Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-04-13T04:56:17.4874850Z","primaryEndpoints":{"dfs":"https://dbstorageucp43z6irid74.dfs.core.windows.net/","blob":"https://dbstorageucp43z6irid74.blob.core.windows.net/","table":"https://dbstorageucp43z6irid74.table.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available"}},{"sku":{"name":"Standard_GRS","tier":"Standard"},"kind":"BlobStorage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-test-ws-2-eh7zug4x1inzs/providers/Microsoft.Storage/storageAccounts/dbstoragezkqasazvxxgmu","name":"dbstoragezkqasazvxxgmu","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{"application":"databricks","databricks-environment":"true"},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-04-13T05:06:37.5070495Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-04-13T05:06:37.5070495Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-04-13T05:06:37.4288942Z","primaryEndpoints":{"dfs":"https://dbstoragezkqasazvxxgmu.dfs.core.windows.net/","blob":"https://dbstoragezkqasazvxxgmu.blob.core.windows.net/","table":"https://dbstoragezkqasazvxxgmu.table.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yu-test-rg-westus/providers/Microsoft.Storage/storageAccounts/yutestdbsawestus","name":"yutestdbsawestus","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-25T11:11:24.7554090Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-25T11:11:24.7554090Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-02-25T11:11:24.6772540Z","primaryEndpoints":{"dfs":"https://yutestdbsawestus.dfs.core.windows.net/","web":"https://yutestdbsawestus.z22.web.core.windows.net/","blob":"https://yutestdbsawestus.blob.core.windows.net/","queue":"https://yutestdbsawestus.queue.core.windows.net/","table":"https://yutestdbsawestus.table.core.windows.net/","file":"https://yutestdbsawestus.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://yutestdbsawestus-secondary.dfs.core.windows.net/","web":"https://yutestdbsawestus-secondary.z22.web.core.windows.net/","blob":"https://yutestdbsawestus-secondary.blob.core.windows.net/","queue":"https://yutestdbsawestus-secondary.queue.core.windows.net/","table":"https://yutestdbsawestus-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yu-test-rg-westus/providers/Microsoft.Storage/storageAccounts/yutestlro","name":"yutestlro","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-28T07:50:15.1386919Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-28T07:50:15.1386919Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-02-28T07:50:15.0762161Z","primaryEndpoints":{"blob":"https://yutestlro.blob.core.windows.net/","queue":"https://yutestlro.queue.core.windows.net/","table":"https://yutestlro.table.core.windows.net/","file":"https://yutestlro.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"blob":"https://yutestlro-secondary.blob.core.windows.net/","queue":"https://yutestlro-secondary.queue.core.windows.net/","table":"https://yutestlro-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_GRS","tier":"Standard"},"kind":"BlobStorage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-my-standard-space-fez3hbt1bsvmr/providers/Microsoft.Storage/storageAccounts/dbstoragefez3hbt1bsvmr","name":"dbstoragefez3hbt1bsvmr","type":"Microsoft.Storage/storageAccounts","location":"eastasia","tags":{"application":"databricks","databricks-environment":"true"},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-16T03:14:00.7822307Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-16T03:14:00.7822307Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-16T03:14:00.7197710Z","primaryEndpoints":{"dfs":"https://dbstoragefez3hbt1bsvmr.dfs.core.windows.net/","blob":"https://dbstoragefez3hbt1bsvmr.blob.core.windows.net/","table":"https://dbstoragefez3hbt1bsvmr.table.core.windows.net/"},"primaryLocation":"eastasia","statusOfPrimary":"available","secondaryLocation":"southeastasia","statusOfSecondary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/feng-cli-rg/providers/Microsoft.Storage/storageAccounts/fengws1storage296335f3c7","name":"fengws1storage296335f3c7","type":"Microsoft.Storage/storageAccounts","location":"eastasia","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-14T14:41:02.2224956Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-14T14:41:02.2224956Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-02-14T14:41:02.1600089Z","primaryEndpoints":{"dfs":"https://fengws1storage296335f3c7.dfs.core.windows.net/","web":"https://fengws1storage296335f3c7.z7.web.core.windows.net/","blob":"https://fengws1storage296335f3c7.blob.core.windows.net/","queue":"https://fengws1storage296335f3c7.queue.core.windows.net/","table":"https://fengws1storage296335f3c7.table.core.windows.net/","file":"https://fengws1storage296335f3c7.file.core.windows.net/"},"primaryLocation":"eastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/xiaojianxu/providers/Microsoft.Storage/storageAccounts/xxjtest1","name":"xxjtest1","type":"Microsoft.Storage/storageAccounts","location":"eastasia","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-04-20T08:36:23.6918366Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-04-20T08:36:23.6918366Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-04-20T08:36:23.6293420Z","primaryEndpoints":{"dfs":"https://xxjtest1.dfs.core.windows.net/","web":"https://xxjtest1.z7.web.core.windows.net/","blob":"https://xxjtest1.blob.core.windows.net/","queue":"https://xxjtest1.queue.core.windows.net/","table":"https://xxjtest1.table.core.windows.net/","file":"https://xxjtest1.file.core.windows.net/"},"primaryLocation":"eastasia","statusOfPrimary":"available","secondaryLocation":"southeastasia","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://xxjtest1-secondary.dfs.core.windows.net/","web":"https://xxjtest1-secondary.z7.web.core.windows.net/","blob":"https://xxjtest1-secondary.blob.core.windows.net/","queue":"https://xxjtest1-secondary.queue.core.windows.net/","table":"https://xxjtest1-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg6i4hl6iakg/providers/Microsoft.Storage/storageAccounts/clitestu3p7a7ib4n4y7gt4m","name":"clitestu3p7a7ib4n4y7gt4m","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-12-30T01:51:53.0814418Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-12-30T01:51:53.0814418Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2019-12-30T01:51:53.0189478Z","primaryEndpoints":{"blob":"https://clitestu3p7a7ib4n4y7gt4m.blob.core.windows.net/","queue":"https://clitestu3p7a7ib4n4y7gt4m.queue.core.windows.net/","table":"https://clitestu3p7a7ib4n4y7gt4m.table.core.windows.net/","file":"https://clitestu3p7a7ib4n4y7gt4m.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/jlrg1/providers/Microsoft.Storage/storageAccounts/jlcsst","name":"jlcsst","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-02T07:15:45.8047726Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-02T07:15:45.8047726Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-02T07:15:45.7422455Z","primaryEndpoints":{"dfs":"https://jlcsst.dfs.core.windows.net/","web":"https://jlcsst.z23.web.core.windows.net/","blob":"https://jlcsst.blob.core.windows.net/","queue":"https://jlcsst.queue.core.windows.net/","table":"https://jlcsst.table.core.windows.net/","file":"https://jlcsst.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/jlvm2rg/providers/Microsoft.Storage/storageAccounts/jlvm2rgdiag","name":"jlvm2rgdiag","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T04:41:48.6974827Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T04:41:48.6974827Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-03T04:41:48.6505931Z","primaryEndpoints":{"blob":"https://jlvm2rgdiag.blob.core.windows.net/","queue":"https://jlvm2rgdiag.queue.core.windows.net/","table":"https://jlvm2rgdiag.table.core.windows.net/","file":"https://jlvm2rgdiag.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qianwens/providers/Microsoft.Storage/storageAccounts/qianwensdiag","name":"qianwensdiag","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-04T07:17:09.1138103Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-04T07:17:09.1138103Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-02-04T07:17:09.0514178Z","primaryEndpoints":{"blob":"https://qianwensdiag.blob.core.windows.net/","queue":"https://qianwensdiag.queue.core.windows.net/","table":"https://qianwensdiag.table.core.windows.net/","file":"https://qianwensdiag.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yeming/providers/Microsoft.Storage/storageAccounts/yeming","name":"yeming","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-12-04T06:41:07.4012554Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-12-04T06:41:07.4012554Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-12-04T06:41:07.3699884Z","primaryEndpoints":{"dfs":"https://yeming.dfs.core.windows.net/","web":"https://yeming.z23.web.core.windows.net/","blob":"https://yeming.blob.core.windows.net/","queue":"https://yeming.queue.core.windows.net/","table":"https://yeming.table.core.windows.net/","file":"https://yeming.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available","secondaryLocation":"eastasia","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://yeming-secondary.dfs.core.windows.net/","web":"https://yeming-secondary.z23.web.core.windows.net/","blob":"https://yeming-secondary.blob.core.windows.net/","queue":"https://yeming-secondary.queue.core.windows.net/","table":"https://yeming-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/bim-rg/providers/Microsoft.Storage/storageAccounts/bimrgdiag","name":"bimrgdiag","type":"Microsoft.Storage/storageAccounts","location":"japaneast","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-12T15:04:32.1018377Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-12T15:04:32.1018377Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-02-12T15:04:32.0706109Z","primaryEndpoints":{"blob":"https://bimrgdiag.blob.core.windows.net/","queue":"https://bimrgdiag.queue.core.windows.net/","table":"https://bimrgdiag.table.core.windows.net/","file":"https://bimrgdiag.file.core.windows.net/"},"primaryLocation":"japaneast","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/feng-cli-rg/providers/Microsoft.Storage/storageAccounts/fengclirgdiag","name":"fengclirgdiag","type":"Microsoft.Storage/storageAccounts","location":"japaneast","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-01T07:10:20.0599535Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-01T07:10:20.0599535Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-01T07:10:19.9974827Z","primaryEndpoints":{"blob":"https://fengclirgdiag.blob.core.windows.net/","queue":"https://fengclirgdiag.queue.core.windows.net/","table":"https://fengclirgdiag.table.core.windows.net/","file":"https://fengclirgdiag.file.core.windows.net/"},"primaryLocation":"japaneast","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zhoxing-test/providers/Microsoft.Storage/storageAccounts/store6472qnxl3vv5o","name":"store6472qnxl3vv5o","type":"Microsoft.Storage/storageAccounts","location":"southcentralus","tags":{"project":"Digital + Platform","env":"CI"},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-27T08:24:34.7235260Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-27T08:24:34.7235260Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-02-27T08:24:34.6453999Z","primaryEndpoints":{"blob":"https://store6472qnxl3vv5o.blob.core.windows.net/","queue":"https://store6472qnxl3vv5o.queue.core.windows.net/","table":"https://store6472qnxl3vv5o.table.core.windows.net/","file":"https://store6472qnxl3vv5o.file.core.windows.net/"},"primaryLocation":"southcentralus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/feng-cli-rg/providers/Microsoft.Storage/storageAccounts/extmigrate","name":"extmigrate","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-16T08:26:10.6796218Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-16T08:26:10.6796218Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-16T08:26:10.5858998Z","primaryEndpoints":{"blob":"https://extmigrate.blob.core.windows.net/","queue":"https://extmigrate.queue.core.windows.net/","table":"https://extmigrate.table.core.windows.net/","file":"https://extmigrate.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"blob":"https://extmigrate-secondary.blob.core.windows.net/","queue":"https://extmigrate-secondary.queue.core.windows.net/","table":"https://extmigrate-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/feng-cli-rg/providers/Microsoft.Storage/storageAccounts/fengsa","name":"fengsa","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-01-06T04:33:22.9379802Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-01-06T04:33:22.9379802Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-01-06T04:33:22.8754625Z","primaryEndpoints":{"dfs":"https://fengsa.dfs.core.windows.net/","web":"https://fengsa.z19.web.core.windows.net/","blob":"https://fengsa.blob.core.windows.net/","queue":"https://fengsa.queue.core.windows.net/","table":"https://fengsa.table.core.windows.net/","file":"https://fengsa.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://fengsa-secondary.dfs.core.windows.net/","web":"https://fengsa-secondary.z19.web.core.windows.net/","blob":"https://fengsa-secondary.blob.core.windows.net/","queue":"https://fengsa-secondary.queue.core.windows.net/","table":"https://fengsa-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zhoxing-test/providers/Microsoft.Storage/storageAccounts/idgdiag6472qnxl3vv5o","name":"idgdiag6472qnxl3vv5o","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-04-03T08:53:11.2645207Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-04-03T08:53:11.2645207Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-04-03T08:53:11.1707355Z","primaryEndpoints":{"dfs":"https://idgdiag6472qnxl3vv5o.dfs.core.windows.net/","web":"https://idgdiag6472qnxl3vv5o.z19.web.core.windows.net/","blob":"https://idgdiag6472qnxl3vv5o.blob.core.windows.net/","queue":"https://idgdiag6472qnxl3vv5o.queue.core.windows.net/","table":"https://idgdiag6472qnxl3vv5o.table.core.windows.net/","file":"https://idgdiag6472qnxl3vv5o.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zhoxing-test/providers/Microsoft.Storage/storageAccounts/storageaccountzhoxib2a8","name":"storageaccountzhoxib2a8","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-25T06:54:03.9825980Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-25T06:54:03.9825980Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-02-25T06:54:03.9044955Z","primaryEndpoints":{"blob":"https://storageaccountzhoxib2a8.blob.core.windows.net/","queue":"https://storageaccountzhoxib2a8.queue.core.windows.net/","table":"https://storageaccountzhoxib2a8.table.core.windows.net/","file":"https://storageaccountzhoxib2a8.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro1","name":"storagesfrepro1","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:07:42.2058942Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:07:42.2058942Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:07:42.1277444Z","primaryEndpoints":{"dfs":"https://storagesfrepro1.dfs.core.windows.net/","web":"https://storagesfrepro1.z19.web.core.windows.net/","blob":"https://storagesfrepro1.blob.core.windows.net/","queue":"https://storagesfrepro1.queue.core.windows.net/","table":"https://storagesfrepro1.table.core.windows.net/","file":"https://storagesfrepro1.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro1-secondary.dfs.core.windows.net/","web":"https://storagesfrepro1-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro1-secondary.blob.core.windows.net/","queue":"https://storagesfrepro1-secondary.queue.core.windows.net/","table":"https://storagesfrepro1-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro10","name":"storagesfrepro10","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:14:00.8753334Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:14:00.8753334Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:14:00.7815921Z","primaryEndpoints":{"dfs":"https://storagesfrepro10.dfs.core.windows.net/","web":"https://storagesfrepro10.z19.web.core.windows.net/","blob":"https://storagesfrepro10.blob.core.windows.net/","queue":"https://storagesfrepro10.queue.core.windows.net/","table":"https://storagesfrepro10.table.core.windows.net/","file":"https://storagesfrepro10.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro10-secondary.dfs.core.windows.net/","web":"https://storagesfrepro10-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro10-secondary.blob.core.windows.net/","queue":"https://storagesfrepro10-secondary.queue.core.windows.net/","table":"https://storagesfrepro10-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro11","name":"storagesfrepro11","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:14:28.9859417Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:14:28.9859417Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:14:28.8609347Z","primaryEndpoints":{"dfs":"https://storagesfrepro11.dfs.core.windows.net/","web":"https://storagesfrepro11.z19.web.core.windows.net/","blob":"https://storagesfrepro11.blob.core.windows.net/","queue":"https://storagesfrepro11.queue.core.windows.net/","table":"https://storagesfrepro11.table.core.windows.net/","file":"https://storagesfrepro11.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro11-secondary.dfs.core.windows.net/","web":"https://storagesfrepro11-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro11-secondary.blob.core.windows.net/","queue":"https://storagesfrepro11-secondary.queue.core.windows.net/","table":"https://storagesfrepro11-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro12","name":"storagesfrepro12","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:15:15.6785362Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:15:15.6785362Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:15:15.5848345Z","primaryEndpoints":{"dfs":"https://storagesfrepro12.dfs.core.windows.net/","web":"https://storagesfrepro12.z19.web.core.windows.net/","blob":"https://storagesfrepro12.blob.core.windows.net/","queue":"https://storagesfrepro12.queue.core.windows.net/","table":"https://storagesfrepro12.table.core.windows.net/","file":"https://storagesfrepro12.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro12-secondary.dfs.core.windows.net/","web":"https://storagesfrepro12-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro12-secondary.blob.core.windows.net/","queue":"https://storagesfrepro12-secondary.queue.core.windows.net/","table":"https://storagesfrepro12-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro13","name":"storagesfrepro13","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:16:55.7609361Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:16:55.7609361Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:16:55.6671828Z","primaryEndpoints":{"dfs":"https://storagesfrepro13.dfs.core.windows.net/","web":"https://storagesfrepro13.z19.web.core.windows.net/","blob":"https://storagesfrepro13.blob.core.windows.net/","queue":"https://storagesfrepro13.queue.core.windows.net/","table":"https://storagesfrepro13.table.core.windows.net/","file":"https://storagesfrepro13.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro13-secondary.dfs.core.windows.net/","web":"https://storagesfrepro13-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro13-secondary.blob.core.windows.net/","queue":"https://storagesfrepro13-secondary.queue.core.windows.net/","table":"https://storagesfrepro13-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro14","name":"storagesfrepro14","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:17:40.7661469Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:17:40.7661469Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:17:40.6880204Z","primaryEndpoints":{"dfs":"https://storagesfrepro14.dfs.core.windows.net/","web":"https://storagesfrepro14.z19.web.core.windows.net/","blob":"https://storagesfrepro14.blob.core.windows.net/","queue":"https://storagesfrepro14.queue.core.windows.net/","table":"https://storagesfrepro14.table.core.windows.net/","file":"https://storagesfrepro14.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro14-secondary.dfs.core.windows.net/","web":"https://storagesfrepro14-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro14-secondary.blob.core.windows.net/","queue":"https://storagesfrepro14-secondary.queue.core.windows.net/","table":"https://storagesfrepro14-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro15","name":"storagesfrepro15","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:18:52.1812445Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:18:52.1812445Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:18:52.0718543Z","primaryEndpoints":{"dfs":"https://storagesfrepro15.dfs.core.windows.net/","web":"https://storagesfrepro15.z19.web.core.windows.net/","blob":"https://storagesfrepro15.blob.core.windows.net/","queue":"https://storagesfrepro15.queue.core.windows.net/","table":"https://storagesfrepro15.table.core.windows.net/","file":"https://storagesfrepro15.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro15-secondary.dfs.core.windows.net/","web":"https://storagesfrepro15-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro15-secondary.blob.core.windows.net/","queue":"https://storagesfrepro15-secondary.queue.core.windows.net/","table":"https://storagesfrepro15-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro16","name":"storagesfrepro16","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:19:33.1863807Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:19:33.1863807Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:19:33.0770034Z","primaryEndpoints":{"dfs":"https://storagesfrepro16.dfs.core.windows.net/","web":"https://storagesfrepro16.z19.web.core.windows.net/","blob":"https://storagesfrepro16.blob.core.windows.net/","queue":"https://storagesfrepro16.queue.core.windows.net/","table":"https://storagesfrepro16.table.core.windows.net/","file":"https://storagesfrepro16.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro16-secondary.dfs.core.windows.net/","web":"https://storagesfrepro16-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro16-secondary.blob.core.windows.net/","queue":"https://storagesfrepro16-secondary.queue.core.windows.net/","table":"https://storagesfrepro16-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro17","name":"storagesfrepro17","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:04:23.5553513Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:04:23.5553513Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:04:23.4771469Z","primaryEndpoints":{"dfs":"https://storagesfrepro17.dfs.core.windows.net/","web":"https://storagesfrepro17.z19.web.core.windows.net/","blob":"https://storagesfrepro17.blob.core.windows.net/","queue":"https://storagesfrepro17.queue.core.windows.net/","table":"https://storagesfrepro17.table.core.windows.net/","file":"https://storagesfrepro17.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro17-secondary.dfs.core.windows.net/","web":"https://storagesfrepro17-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro17-secondary.blob.core.windows.net/","queue":"https://storagesfrepro17-secondary.queue.core.windows.net/","table":"https://storagesfrepro17-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro18","name":"storagesfrepro18","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:04:53.8320772Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:04:53.8320772Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:04:53.7383176Z","primaryEndpoints":{"dfs":"https://storagesfrepro18.dfs.core.windows.net/","web":"https://storagesfrepro18.z19.web.core.windows.net/","blob":"https://storagesfrepro18.blob.core.windows.net/","queue":"https://storagesfrepro18.queue.core.windows.net/","table":"https://storagesfrepro18.table.core.windows.net/","file":"https://storagesfrepro18.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro18-secondary.dfs.core.windows.net/","web":"https://storagesfrepro18-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro18-secondary.blob.core.windows.net/","queue":"https://storagesfrepro18-secondary.queue.core.windows.net/","table":"https://storagesfrepro18-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro19","name":"storagesfrepro19","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:05:26.3650238Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:05:26.3650238Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:05:26.2556326Z","primaryEndpoints":{"dfs":"https://storagesfrepro19.dfs.core.windows.net/","web":"https://storagesfrepro19.z19.web.core.windows.net/","blob":"https://storagesfrepro19.blob.core.windows.net/","queue":"https://storagesfrepro19.queue.core.windows.net/","table":"https://storagesfrepro19.table.core.windows.net/","file":"https://storagesfrepro19.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro19-secondary.dfs.core.windows.net/","web":"https://storagesfrepro19-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro19-secondary.blob.core.windows.net/","queue":"https://storagesfrepro19-secondary.queue.core.windows.net/","table":"https://storagesfrepro19-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro2","name":"storagesfrepro2","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:08:45.8498203Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:08:45.8498203Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:08:45.7717196Z","primaryEndpoints":{"dfs":"https://storagesfrepro2.dfs.core.windows.net/","web":"https://storagesfrepro2.z19.web.core.windows.net/","blob":"https://storagesfrepro2.blob.core.windows.net/","queue":"https://storagesfrepro2.queue.core.windows.net/","table":"https://storagesfrepro2.table.core.windows.net/","file":"https://storagesfrepro2.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro2-secondary.dfs.core.windows.net/","web":"https://storagesfrepro2-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro2-secondary.blob.core.windows.net/","queue":"https://storagesfrepro2-secondary.queue.core.windows.net/","table":"https://storagesfrepro2-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro20","name":"storagesfrepro20","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:06:07.4295934Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:06:07.4295934Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:06:07.3358422Z","primaryEndpoints":{"dfs":"https://storagesfrepro20.dfs.core.windows.net/","web":"https://storagesfrepro20.z19.web.core.windows.net/","blob":"https://storagesfrepro20.blob.core.windows.net/","queue":"https://storagesfrepro20.queue.core.windows.net/","table":"https://storagesfrepro20.table.core.windows.net/","file":"https://storagesfrepro20.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro20-secondary.dfs.core.windows.net/","web":"https://storagesfrepro20-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro20-secondary.blob.core.windows.net/","queue":"https://storagesfrepro20-secondary.queue.core.windows.net/","table":"https://storagesfrepro20-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro21","name":"storagesfrepro21","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:06:37.4780251Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:06:37.4780251Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:06:37.3686460Z","primaryEndpoints":{"dfs":"https://storagesfrepro21.dfs.core.windows.net/","web":"https://storagesfrepro21.z19.web.core.windows.net/","blob":"https://storagesfrepro21.blob.core.windows.net/","queue":"https://storagesfrepro21.queue.core.windows.net/","table":"https://storagesfrepro21.table.core.windows.net/","file":"https://storagesfrepro21.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro21-secondary.dfs.core.windows.net/","web":"https://storagesfrepro21-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro21-secondary.blob.core.windows.net/","queue":"https://storagesfrepro21-secondary.queue.core.windows.net/","table":"https://storagesfrepro21-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro22","name":"storagesfrepro22","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:06:59.8295391Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:06:59.8295391Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:06:59.7201581Z","primaryEndpoints":{"dfs":"https://storagesfrepro22.dfs.core.windows.net/","web":"https://storagesfrepro22.z19.web.core.windows.net/","blob":"https://storagesfrepro22.blob.core.windows.net/","queue":"https://storagesfrepro22.queue.core.windows.net/","table":"https://storagesfrepro22.table.core.windows.net/","file":"https://storagesfrepro22.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro22-secondary.dfs.core.windows.net/","web":"https://storagesfrepro22-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro22-secondary.blob.core.windows.net/","queue":"https://storagesfrepro22-secondary.queue.core.windows.net/","table":"https://storagesfrepro22-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro23","name":"storagesfrepro23","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:07:29.0846619Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:07:29.0846619Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:07:29.0065050Z","primaryEndpoints":{"dfs":"https://storagesfrepro23.dfs.core.windows.net/","web":"https://storagesfrepro23.z19.web.core.windows.net/","blob":"https://storagesfrepro23.blob.core.windows.net/","queue":"https://storagesfrepro23.queue.core.windows.net/","table":"https://storagesfrepro23.table.core.windows.net/","file":"https://storagesfrepro23.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro23-secondary.dfs.core.windows.net/","web":"https://storagesfrepro23-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro23-secondary.blob.core.windows.net/","queue":"https://storagesfrepro23-secondary.queue.core.windows.net/","table":"https://storagesfrepro23-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro24","name":"storagesfrepro24","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:07:53.2658712Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:07:53.2658712Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:07:53.1565651Z","primaryEndpoints":{"dfs":"https://storagesfrepro24.dfs.core.windows.net/","web":"https://storagesfrepro24.z19.web.core.windows.net/","blob":"https://storagesfrepro24.blob.core.windows.net/","queue":"https://storagesfrepro24.queue.core.windows.net/","table":"https://storagesfrepro24.table.core.windows.net/","file":"https://storagesfrepro24.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro24-secondary.dfs.core.windows.net/","web":"https://storagesfrepro24-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro24-secondary.blob.core.windows.net/","queue":"https://storagesfrepro24-secondary.queue.core.windows.net/","table":"https://storagesfrepro24-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro25","name":"storagesfrepro25","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:08:18.7432319Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:08:18.7432319Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:08:18.6338258Z","primaryEndpoints":{"dfs":"https://storagesfrepro25.dfs.core.windows.net/","web":"https://storagesfrepro25.z19.web.core.windows.net/","blob":"https://storagesfrepro25.blob.core.windows.net/","queue":"https://storagesfrepro25.queue.core.windows.net/","table":"https://storagesfrepro25.table.core.windows.net/","file":"https://storagesfrepro25.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro25-secondary.dfs.core.windows.net/","web":"https://storagesfrepro25-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro25-secondary.blob.core.windows.net/","queue":"https://storagesfrepro25-secondary.queue.core.windows.net/","table":"https://storagesfrepro25-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro3","name":"storagesfrepro3","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:09:19.5698333Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:09:19.5698333Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:09:19.3510997Z","primaryEndpoints":{"dfs":"https://storagesfrepro3.dfs.core.windows.net/","web":"https://storagesfrepro3.z19.web.core.windows.net/","blob":"https://storagesfrepro3.blob.core.windows.net/","queue":"https://storagesfrepro3.queue.core.windows.net/","table":"https://storagesfrepro3.table.core.windows.net/","file":"https://storagesfrepro3.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro3-secondary.dfs.core.windows.net/","web":"https://storagesfrepro3-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro3-secondary.blob.core.windows.net/","queue":"https://storagesfrepro3-secondary.queue.core.windows.net/","table":"https://storagesfrepro3-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro4","name":"storagesfrepro4","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:09:54.9930953Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:09:54.9930953Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:09:54.8993063Z","primaryEndpoints":{"dfs":"https://storagesfrepro4.dfs.core.windows.net/","web":"https://storagesfrepro4.z19.web.core.windows.net/","blob":"https://storagesfrepro4.blob.core.windows.net/","queue":"https://storagesfrepro4.queue.core.windows.net/","table":"https://storagesfrepro4.table.core.windows.net/","file":"https://storagesfrepro4.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro4-secondary.dfs.core.windows.net/","web":"https://storagesfrepro4-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro4-secondary.blob.core.windows.net/","queue":"https://storagesfrepro4-secondary.queue.core.windows.net/","table":"https://storagesfrepro4-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro5","name":"storagesfrepro5","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:10:48.1114395Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:10:48.1114395Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:10:48.0177273Z","primaryEndpoints":{"dfs":"https://storagesfrepro5.dfs.core.windows.net/","web":"https://storagesfrepro5.z19.web.core.windows.net/","blob":"https://storagesfrepro5.blob.core.windows.net/","queue":"https://storagesfrepro5.queue.core.windows.net/","table":"https://storagesfrepro5.table.core.windows.net/","file":"https://storagesfrepro5.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro5-secondary.dfs.core.windows.net/","web":"https://storagesfrepro5-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro5-secondary.blob.core.windows.net/","queue":"https://storagesfrepro5-secondary.queue.core.windows.net/","table":"https://storagesfrepro5-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro6","name":"storagesfrepro6","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:11:28.0269117Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:11:28.0269117Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:11:27.9331594Z","primaryEndpoints":{"dfs":"https://storagesfrepro6.dfs.core.windows.net/","web":"https://storagesfrepro6.z19.web.core.windows.net/","blob":"https://storagesfrepro6.blob.core.windows.net/","queue":"https://storagesfrepro6.queue.core.windows.net/","table":"https://storagesfrepro6.table.core.windows.net/","file":"https://storagesfrepro6.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro6-secondary.dfs.core.windows.net/","web":"https://storagesfrepro6-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro6-secondary.blob.core.windows.net/","queue":"https://storagesfrepro6-secondary.queue.core.windows.net/","table":"https://storagesfrepro6-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro7","name":"storagesfrepro7","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:12:08.7761892Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:12:08.7761892Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:12:08.6824637Z","primaryEndpoints":{"dfs":"https://storagesfrepro7.dfs.core.windows.net/","web":"https://storagesfrepro7.z19.web.core.windows.net/","blob":"https://storagesfrepro7.blob.core.windows.net/","queue":"https://storagesfrepro7.queue.core.windows.net/","table":"https://storagesfrepro7.table.core.windows.net/","file":"https://storagesfrepro7.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro7-secondary.dfs.core.windows.net/","web":"https://storagesfrepro7-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro7-secondary.blob.core.windows.net/","queue":"https://storagesfrepro7-secondary.queue.core.windows.net/","table":"https://storagesfrepro7-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro8","name":"storagesfrepro8","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:12:39.5221164Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:12:39.5221164Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:12:39.4283923Z","primaryEndpoints":{"dfs":"https://storagesfrepro8.dfs.core.windows.net/","web":"https://storagesfrepro8.z19.web.core.windows.net/","blob":"https://storagesfrepro8.blob.core.windows.net/","queue":"https://storagesfrepro8.queue.core.windows.net/","table":"https://storagesfrepro8.table.core.windows.net/","file":"https://storagesfrepro8.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro8-secondary.dfs.core.windows.net/","web":"https://storagesfrepro8-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro8-secondary.blob.core.windows.net/","queue":"https://storagesfrepro8-secondary.queue.core.windows.net/","table":"https://storagesfrepro8-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro9","name":"storagesfrepro9","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:13:18.1628430Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:13:18.1628430Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:13:18.0691096Z","primaryEndpoints":{"dfs":"https://storagesfrepro9.dfs.core.windows.net/","web":"https://storagesfrepro9.z19.web.core.windows.net/","blob":"https://storagesfrepro9.blob.core.windows.net/","queue":"https://storagesfrepro9.queue.core.windows.net/","table":"https://storagesfrepro9.table.core.windows.net/","file":"https://storagesfrepro9.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro9-secondary.dfs.core.windows.net/","web":"https://storagesfrepro9-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro9-secondary.blob.core.windows.net/","queue":"https://storagesfrepro9-secondary.queue.core.windows.net/","table":"https://storagesfrepro9-secondary.table.core.windows.net/"}}},{"sku":{"name":"Premium_LRS","tier":"Premium"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zhoxing-test/providers/Microsoft.Storage/storageAccounts/zhoxing2","name":"zhoxing2","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-04-21T06:54:17.8037418Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-04-21T06:54:17.8037418Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-04-21T06:54:17.7099423Z","primaryEndpoints":{"dfs":"https://zhoxing2.dfs.core.windows.net/","web":"https://zhoxing2.z19.web.core.windows.net/","blob":"https://zhoxing2.blob.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zhoxing-test/providers/Microsoft.Storage/storageAccounts/zhoxingtest","name":"zhoxingtest","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"isHnsEnabled":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-04-20T09:01:14.2087269Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-04-20T09:01:14.2087269Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-04-20T09:01:14.1462280Z","primaryEndpoints":{"dfs":"https://zhoxingtest.dfs.core.windows.net/","web":"https://zhoxingtest.z19.web.core.windows.net/","blob":"https://zhoxingtest.blob.core.windows.net/","queue":"https://zhoxingtest.queue.core.windows.net/","table":"https://zhoxingtest.table.core.windows.net/","file":"https://zhoxingtest.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://zhoxingtest-secondary.dfs.core.windows.net/","web":"https://zhoxingtest-secondary.z19.web.core.windows.net/","blob":"https://zhoxingtest-secondary.blob.core.windows.net/","queue":"https://zhoxingtest-secondary.queue.core.windows.net/","table":"https://zhoxingtest-secondary.table.core.windows.net/"}}},{"sku":{"name":"Premium_LRS","tier":"Premium"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zhoxing-test/providers/Microsoft.Storage/storageAccounts/zhoxingtest2","name":"zhoxingtest2","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-04-21T06:52:39.2007383Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-04-21T06:52:39.2007383Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-04-21T06:52:39.1039700Z","primaryEndpoints":{"dfs":"https://zhoxingtest2.dfs.core.windows.net/","web":"https://zhoxingtest2.z19.web.core.windows.net/","blob":"https://zhoxingtest2.blob.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuhcentral/providers/Microsoft.Storage/storageAccounts/zuhstorage","name":"zuhstorage","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{"key":"val","key2":"val2"},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-02T06:04:55.7104787Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-02T06:04:55.7104787Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-02T06:04:55.6167450Z","primaryEndpoints":{"dfs":"https://zuhstorage.dfs.core.windows.net/","web":"https://zuhstorage.z19.web.core.windows.net/","blob":"https://zuhstorage.blob.core.windows.net/","queue":"https://zuhstorage.queue.core.windows.net/","table":"https://zuhstorage.table.core.windows.net/","file":"https://zuhstorage.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://zuhstorage-secondary.dfs.core.windows.net/","web":"https://zuhstorage-secondary.z19.web.core.windows.net/","blob":"https://zuhstorage-secondary.blob.core.windows.net/","queue":"https://zuhstorage-secondary.queue.core.windows.net/","table":"https://zuhstorage-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.Storage/storageAccounts/clitestdatas000002","name":"clitestdatas000002","type":"Microsoft.Storage/storageAccounts","location":"westus2","tags":{},"properties":{"privateEndpointConnections":[],"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-04-23T13:41:53.6606746Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-04-23T13:41:53.6606746Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-04-23T13:41:53.5981225Z","primaryEndpoints":{"blob":"https://clitestdatas000002.blob.core.windows.net/","queue":"https://clitestdatas000002.queue.core.windows.net/","table":"https://clitestdatas000002.table.core.windows.net/","file":"https://clitestdatas000002.file.core.windows.net/"},"primaryLocation":"westus2","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_datwup7nhvv2zbeog5cowmt74wcgwnrm6i5z2ss6dyqwfzen4jh3hjpyl2hwz5ynxy/providers/Microsoft.Storage/storageAccounts/clitestdatasmezc7dtd565a","name":"clitestdatasmezc7dtd565a","type":"Microsoft.Storage/storageAccounts","location":"westus2","tags":{},"properties":{"privateEndpointConnections":[],"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-04-23T13:14:14.9779346Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-04-23T13:14:14.9779346Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-04-23T13:14:14.8998336Z","primaryEndpoints":{"blob":"https://clitestdatasmezc7dtd565a.blob.core.windows.net/","queue":"https://clitestdatasmezc7dtd565a.queue.core.windows.net/","table":"https://clitestdatasmezc7dtd565a.table.core.windows.net/","file":"https://clitestdatasmezc7dtd565a.file.core.windows.net/"},"primaryLocation":"westus2","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/feng-cli-rg/providers/Microsoft.Storage/storageAccounts/fengwsstorage28dfde17cb1","name":"fengwsstorage28dfde17cb1","type":"Microsoft.Storage/storageAccounts","location":"westus2","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-07T04:11:42.2482670Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-07T04:11:42.2482670Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-02-07T04:11:42.1857797Z","primaryEndpoints":{"dfs":"https://fengwsstorage28dfde17cb1.dfs.core.windows.net/","web":"https://fengwsstorage28dfde17cb1.z5.web.core.windows.net/","blob":"https://fengwsstorage28dfde17cb1.blob.core.windows.net/","queue":"https://fengwsstorage28dfde17cb1.queue.core.windows.net/","table":"https://fengwsstorage28dfde17cb1.table.core.windows.net/","file":"https://fengwsstorage28dfde17cb1.file.core.windows.net/"},"primaryLocation":"westus2","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/xiaojianxu/providers/Microsoft.Storage/storageAccounts/xxjwetus2storage","name":"xxjwetus2storage","type":"Microsoft.Storage/storageAccounts","location":"westus2","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-30T06:26:54.2163538Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-30T06:26:54.2163538Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-30T06:26:54.1538919Z","primaryEndpoints":{"dfs":"https://xxjwetus2storage.dfs.core.windows.net/","web":"https://xxjwetus2storage.z5.web.core.windows.net/","blob":"https://xxjwetus2storage.blob.core.windows.net/","queue":"https://xxjwetus2storage.queue.core.windows.net/","table":"https://xxjwetus2storage.table.core.windows.net/","file":"https://xxjwetus2storage.file.core.windows.net/"},"primaryLocation":"westus2","statusOfPrimary":"available","secondaryLocation":"westcentralus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://xxjwetus2storage-secondary.dfs.core.windows.net/","web":"https://xxjwetus2storage-secondary.z5.web.core.windows.net/","blob":"https://xxjwetus2storage-secondary.blob.core.windows.net/","queue":"https://xxjwetus2storage-secondary.queue.core.windows.net/","table":"https://xxjwetus2storage-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/bim-rg/providers/Microsoft.Storage/storageAccounts/bimstorageacc","name":"bimstorageacc","type":"Microsoft.Storage/storageAccounts","location":"westcentralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T07:20:55.2327590Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T07:20:55.2327590Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-03T07:20:55.1858389Z","primaryEndpoints":{"dfs":"https://bimstorageacc.dfs.core.windows.net/","web":"https://bimstorageacc.z4.web.core.windows.net/","blob":"https://bimstorageacc.blob.core.windows.net/","queue":"https://bimstorageacc.queue.core.windows.net/","table":"https://bimstorageacc.table.core.windows.net/","file":"https://bimstorageacc.file.core.windows.net/"},"primaryLocation":"westcentralus","statusOfPrimary":"available","secondaryLocation":"westus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://bimstorageacc-secondary.dfs.core.windows.net/","web":"https://bimstorageacc-secondary.z4.web.core.windows.net/","blob":"https://bimstorageacc-secondary.blob.core.windows.net/","queue":"https://bimstorageacc-secondary.queue.core.windows.net/","table":"https://bimstorageacc-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yu-test-rg-westus/providers/Microsoft.Storage/storageAccounts/sfsfsfsssf","name":"sfsfsfsssf","type":"Microsoft.Storage/storageAccounts","location":"westcentralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-05T07:16:53.7141799Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-05T07:16:53.7141799Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-05T07:16:53.6829148Z","primaryEndpoints":{"blob":"https://sfsfsfsssf.blob.core.windows.net/","queue":"https://sfsfsfsssf.queue.core.windows.net/","table":"https://sfsfsfsssf.table.core.windows.net/","file":"https://sfsfsfsssf.file.core.windows.net/"},"primaryLocation":"westcentralus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yu-test-rg-westus/providers/Microsoft.Storage/storageAccounts/stststeset","name":"stststeset","type":"Microsoft.Storage/storageAccounts","location":"westcentralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-05T07:13:11.0482184Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-05T07:13:11.0482184Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-05T07:13:10.9856962Z","primaryEndpoints":{"dfs":"https://stststeset.dfs.core.windows.net/","web":"https://stststeset.z4.web.core.windows.net/","blob":"https://stststeset.blob.core.windows.net/","queue":"https://stststeset.queue.core.windows.net/","table":"https://stststeset.table.core.windows.net/","file":"https://stststeset.file.core.windows.net/"},"primaryLocation":"westcentralus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yu-test-rg-westus/providers/Microsoft.Storage/storageAccounts/yusawcu","name":"yusawcu","type":"Microsoft.Storage/storageAccounts","location":"westcentralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-26T09:39:00.0292799Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-26T09:39:00.0292799Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-02-26T09:38:59.9667703Z","primaryEndpoints":{"dfs":"https://yusawcu.dfs.core.windows.net/","web":"https://yusawcu.z4.web.core.windows.net/","blob":"https://yusawcu.blob.core.windows.net/","queue":"https://yusawcu.queue.core.windows.net/","table":"https://yusawcu.table.core.windows.net/","file":"https://yusawcu.file.core.windows.net/"},"primaryLocation":"westcentralus","statusOfPrimary":"available","secondaryLocation":"westus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://yusawcu-secondary.dfs.core.windows.net/","web":"https://yusawcu-secondary.z4.web.core.windows.net/","blob":"https://yusawcu-secondary.blob.core.windows.net/","queue":"https://yusawcu-secondary.queue.core.windows.net/","table":"https://yusawcu-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuh/providers/Microsoft.Storage/storageAccounts/storageextension","name":"storageextension","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-30T08:44:19.2476281Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-30T08:44:19.2476281Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-30T08:44:19.2007782Z","primaryEndpoints":{"dfs":"https://storageextension.dfs.core.windows.net/","web":"https://storageextension.z3.web.core.windows.net/","blob":"https://storageextension.blob.core.windows.net/","queue":"https://storageextension.queue.core.windows.net/","table":"https://storageextension.table.core.windows.net/","file":"https://storageextension.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available","secondaryLocation":"centraluseuap","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storageextension-secondary.dfs.core.windows.net/","web":"https://storageextension-secondary.z3.web.core.windows.net/","blob":"https://storageextension-secondary.blob.core.windows.net/","queue":"https://storageextension-secondary.queue.core.windows.net/","table":"https://storageextension-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuh/providers/Microsoft.Storage/storageAccounts/storagetest22","name":"storagetest22","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-04-21T03:43:07.5284378Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-04-21T03:43:07.5284378Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-04-21T03:43:07.4503168Z","primaryEndpoints":{"dfs":"https://storagetest22.dfs.core.windows.net/","web":"https://storagetest22.z3.web.core.windows.net/","blob":"https://storagetest22.blob.core.windows.net/","queue":"https://storagetest22.queue.core.windows.net/","table":"https://storagetest22.table.core.windows.net/","file":"https://storagetest22.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available","secondaryLocation":"centraluseuap","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagetest22-secondary.dfs.core.windows.net/","web":"https://storagetest22-secondary.z3.web.core.windows.net/","blob":"https://storagetest22-secondary.blob.core.windows.net/","queue":"https://storagetest22-secondary.queue.core.windows.net/","table":"https://storagetest22-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuh/providers/Microsoft.Storage/storageAccounts/zuhadls","name":"zuhadls","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"privateEndpointConnections":[],"isHnsEnabled":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-20T03:10:14.5178215Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-20T03:10:14.5178215Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-20T03:10:14.4709025Z","primaryEndpoints":{"dfs":"https://zuhadls.dfs.core.windows.net/","web":"https://zuhadls.z3.web.core.windows.net/","blob":"https://zuhadls.blob.core.windows.net/","queue":"https://zuhadls.queue.core.windows.net/","table":"https://zuhadls.table.core.windows.net/","file":"https://zuhadls.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available","secondaryLocation":"centraluseuap","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://zuhadls-secondary.dfs.core.windows.net/","web":"https://zuhadls-secondary.z3.web.core.windows.net/","blob":"https://zuhadls-secondary.blob.core.windows.net/","queue":"https://zuhadls-secondary.queue.core.windows.net/","table":"https://zuhadls-secondary.table.core.windows.net/"}}},{"identity":{"principalId":"d2e83740-1d90-4aa7-901c-97c510d4f7ec","tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a","type":"SystemAssigned"},"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuh/providers/Microsoft.Storage/storageAccounts/zuhdefault","name":"zuhdefault","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"keyvaultproperties":{"currentVersionedKeyIdentifier":"https://zuhkeyvault.vault.azure.net/keys/zuhkey/2780bea583714f33b8051ea24f90a246","lastKeyRotationTimestamp":"2020-04-09T06:46:21.5968704Z","currentVersionedKeyExpirationTimestamp":"1970-01-01T00:00:00.0000000Z","keyvaulturi":"https://zuhkeyvault.vault.azure.net/","keyname":"zuhkey","keyversion":"2780bea583714f33b8051ea24f90a246"},"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-30T03:16:26.4697374Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-30T03:16:26.4697374Z"}},"keySource":"Microsoft.Keyvault"},"provisioningState":"Succeeded","creationTime":"2020-03-30T03:16:26.4228869Z","primaryEndpoints":{"blob":"https://zuhdefault.blob.core.windows.net/","queue":"https://zuhdefault.queue.core.windows.net/","table":"https://zuhdefault.table.core.windows.net/","file":"https://zuhdefault.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available","secondaryLocation":"centraluseuap","statusOfSecondary":"available","secondaryEndpoints":{"blob":"https://zuhdefault-secondary.blob.core.windows.net/","queue":"https://zuhdefault-secondary.queue.core.windows.net/","table":"https://zuhdefault-secondary.table.core.windows.net/"}}},{"identity":{"principalId":"1b643393-f35b-408e-b50c-2fbef882d353","tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a","type":"SystemAssigned"},"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuh/providers/Microsoft.Storage/storageAccounts/zuhlrs","name":"zuhlrs","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"keyvaultproperties":{"currentVersionedKeyIdentifier":"https://zuhkeyvault.vault.azure.net/keys/storagekey/04704263f43241dca0ff99c3794fd8c7","lastKeyRotationTimestamp":"2020-04-15T08:06:44.8059437Z","currentVersionedKeyExpirationTimestamp":"1970-01-01T00:00:00.0000000Z","keyvaulturi":"https://zuhkeyvault.vault.azure.net/","keyname":"storagekey","keyversion":""},"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-18T01:57:52.8994530Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-18T01:57:52.8994530Z"}},"keySource":"Microsoft.Keyvault"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-18T01:57:52.8369202Z","primaryEndpoints":{"dfs":"https://zuhlrs.dfs.core.windows.net/","web":"https://zuhlrs.z3.web.core.windows.net/","blob":"https://zuhlrs.blob.core.windows.net/","queue":"https://zuhlrs.queue.core.windows.net/","table":"https://zuhlrs.table.core.windows.net/","file":"https://zuhlrs.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuh/providers/Microsoft.Storage/storageAccounts/zuhors","name":"zuhors","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-30T05:15:21.5112485Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-30T05:15:21.5112485Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-30T05:15:21.4800200Z","primaryEndpoints":{"dfs":"https://zuhors.dfs.core.windows.net/","web":"https://zuhors.z3.web.core.windows.net/","blob":"https://zuhors.blob.core.windows.net/","queue":"https://zuhors.queue.core.windows.net/","table":"https://zuhors.table.core.windows.net/","file":"https://zuhors.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available","secondaryLocation":"centraluseuap","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://zuhors-secondary.dfs.core.windows.net/","web":"https://zuhors-secondary.z3.web.core.windows.net/","blob":"https://zuhors-secondary.blob.core.windows.net/","queue":"https://zuhors-secondary.queue.core.windows.net/","table":"https://zuhors-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuh/providers/Microsoft.Storage/storageAccounts/zuhstoragetest","name":"zuhstoragetest","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-04-20T07:16:48.8761196Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-04-20T07:16:48.8761196Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-04-20T07:16:48.8448300Z","primaryEndpoints":{"dfs":"https://zuhstoragetest.dfs.core.windows.net/","web":"https://zuhstoragetest.z3.web.core.windows.net/","blob":"https://zuhstoragetest.blob.core.windows.net/","queue":"https://zuhstoragetest.queue.core.windows.net/","table":"https://zuhstoragetest.table.core.windows.net/","file":"https://zuhstoragetest.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available","secondaryLocation":"centraluseuap","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://zuhstoragetest-secondary.dfs.core.windows.net/","web":"https://zuhstoragetest-secondary.z3.web.core.windows.net/","blob":"https://zuhstoragetest-secondary.blob.core.windows.net/","queue":"https://zuhstoragetest-secondary.queue.core.windows.net/","table":"https://zuhstoragetest-secondary.table.core.windows.net/"}}}]}' + headers: + cache-control: + - no-cache + content-length: + - '127895' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 23 Apr 2020 13:45:04 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-original-request-ids: + - 1d135e07-2e6e-40be-a2b3-3b916a6e0da2 + - dee3f2c8-4ebe-4540-8407-ca7713724a9a + - c104a4ca-15f7-470c-bacd-faa81e9b4517 + - 2dfc2132-c363-4994-94b4-7a92972f8324 + - 4f634dd3-9a28-4a79-96a4-c226b692416f + - 714ebaf4-62c9-4b87-b9fe-f8f7cd8f4ecf + - c2bc88dc-82f1-4bbb-9066-9e0266f19444 + - 4d9514e9-6d2a-4501-846d-7cbf1bbb9c5b + - cb89a6d6-335f-451a-a1f8-86799ab6f621 + - 62943f3d-91c5-4359-8a8e-f594544946e5 + - 0720666c-126e-42db-80dd-f720caa725e0 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage container create + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --account-name --name + User-Agent: + - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.3 + azure-mgmt-storage/9.0.0 Azure-SDK-For-Python AZURECLI/2.4.0 (MSI) + accept-language: + - en-US + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.Storage/storageAccounts/clitestdatas000002/listKeys?api-version=2019-06-01 + response: + body: + string: '{"keys":[{"keyName":"key1","value":"veryFakedStorageAccountKey==","permissions":"FULL"},{"keyName":"key2","value":"veryFakedStorageAccountKey==","permissions":"FULL"}]}' + headers: + cache-control: + - no-cache + content-length: + - '288' + content-type: + - application/json + date: + - Thu, 23 Apr 2020 13:45:05 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11998' + status: + code: 200 + message: OK +- request: + body: null + headers: + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.8.2; Windows 10) AZURECLI/2.4.0 + (MSI) + x-ms-date: + - Thu, 23 Apr 2020 13:45:06 GMT + x-ms-version: + - '2018-11-09' + method: PUT + uri: https://clitestdatas000002.blob.core.windows.net/clitestcontainer?restype=container + response: + body: + string: '' + headers: + content-length: + - '0' + date: + - Thu, 23 Apr 2020 13:45:07 GMT + etag: + - '"0x8D7E78C89BF1209"' + last-modified: + - Thu, 23 Apr 2020 13:45:08 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: + - '2018-11-09' + status: + code: 201 + message: Created +- request: + body: 'b''b\''{"kind": "Container", "properties": {"containerName": "clitestcontainer", + "resourceGroup": "cli_test_dat000001", "storageAccountName": "clitestdatas000002", + "subscriptionId": "0b1f6471-1bf0-4dda-aec3-cb9272f09590"}}\''''' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare dataset create + Connection: + - keep-alive + Content-Length: + - '278' + Content-Type: + - application/json + ParameterSetName: + - --account-name --dataset --name --resource-group --share-name + User-Agent: + - AZURECLI/2.4.0 (MSI) azsdk-python-datasharemanagementclient/unknown Python/3.8.2 + (Windows-10-10.0.18362-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/dataSets/cli_test_data_set?api-version=2019-11-01 + response: + body: + string: '{"properties":{"containerName":"clitestcontainer","subscriptionId":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","resourceGroup":"cli_test_dat000001","storageAccountName":"clitestdatas000002","dataSetId":"031a78ef-0cfc-45b0-88a3-a20a58f3a87a"},"kind":"Container","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/dataSets/cli_test_data_set","name":"cli_test_data_set","type":"Microsoft.DataShare/DataSets"}' + headers: + cache-control: + - no-cache + content-length: + - '639' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 23 Apr 2020 13:45:11 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/dataSets/cli_test_data_set?api-version=2019-11-01 + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-quota: + - '[{"currentUsed":1,"limit":100,"name":{"localizedValue":"DataSet resource + quota","value":"DataSet resource quota"},"target":"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/cli_test_datrywkgqr6mfnic2batum7zhzzekrutyfed7ajmopnqmg7bfkqdq2mavcabi7fdxo/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/dataSets/cli_test_data_set"}]' + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare dataset show + Connection: + - keep-alive + ParameterSetName: + - --account-name --name --resource-group --share-name + User-Agent: + - AZURECLI/2.4.0 (MSI) azsdk-python-datasharemanagementclient/unknown Python/3.8.2 + (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/dataSets/cli_test_data_set?api-version=2019-11-01 + response: + body: + string: '{"properties":{"containerName":"clitestcontainer","subscriptionId":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","resourceGroup":"cli_test_dat000001","storageAccountName":"clitestdatas000002","dataSetId":"031a78ef-0cfc-45b0-88a3-a20a58f3a87a"},"kind":"Container","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/dataSets/cli_test_data_set","name":"cli_test_data_set","type":"Microsoft.DataShare/DataSets"}' + headers: + cache-control: + - no-cache + content-length: + - '639' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 23 Apr 2020 13:45:13 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare dataset list + Connection: + - keep-alive + ParameterSetName: + - --account-name --resource-group --share-name + User-Agent: + - AZURECLI/2.4.0 (MSI) azsdk-python-datasharemanagementclient/unknown Python/3.8.2 + (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/dataSets?api-version=2019-11-01 + response: + body: + string: '{"value":[{"properties":{"containerName":"clitestcontainer","subscriptionId":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","resourceGroup":"cli_test_dat000001","storageAccountName":"clitestdatas000002","dataSetId":"031a78ef-0cfc-45b0-88a3-a20a58f3a87a"},"kind":"Container","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/dataSets/cli_test_data_set","name":"cli_test_data_set","type":"Microsoft.DataShare/DataSets"}]}' + headers: + cache-control: + - no-cache + content-length: + - '651' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 23 Apr 2020 13:45:16 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"kind": "ScheduleBased", "properties": {"recurrenceInterval": "Day", "synchronizationTime": + "2020-04-05T10:50:00.000Z"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare synchronization-setting create + Connection: + - keep-alive + Content-Length: + - '121' + Content-Type: + - application/json + ParameterSetName: + - --account-name --resource-group --share-name --name --recurrence-interval + --synchronization-time + User-Agent: + - AZURECLI/2.4.0 (MSI) azsdk-python-datasharemanagementclient/unknown Python/3.8.2 + (Windows-10-10.0.18362-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/synchronizationSettings/cli_test_synchronization_setting?api-version=2019-11-01 + response: + body: + string: '{"properties":{"recurrenceInterval":"Day","synchronizationTime":"2020-04-05T10:50:00Z","createdAt":"2020-04-23T13:45:18.9184873Z","userName":"Feng + Zhou","provisioningState":"Succeeded"},"kind":"ScheduleBased","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/synchronizationSettings/cli_test_synchronization_setting","name":"cli_test_synchronization_setting","type":"Microsoft.DataShare/SynchronizationSettings"}' + headers: + cache-control: + - no-cache + content-length: + - '589' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 23 Apr 2020 13:45:18 GMT + expires: + - '-1' + location: + - /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/synchronizationSettings/cli_test_synchronization_setting + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1197' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare synchronization-setting show + Connection: + - keep-alive + ParameterSetName: + - --account-name --resource-group --share-name --name + User-Agent: + - AZURECLI/2.4.0 (MSI) azsdk-python-datasharemanagementclient/unknown Python/3.8.2 + (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/synchronizationSettings/cli_test_synchronization_setting?api-version=2019-11-01 + response: + body: + string: '{"properties":{"recurrenceInterval":"Day","synchronizationTime":"2020-04-05T10:50:00Z","createdAt":"2020-04-23T13:45:18.9184873Z","userName":"Feng + Zhou","provisioningState":"Succeeded"},"kind":"ScheduleBased","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/synchronizationSettings/cli_test_synchronization_setting","name":"cli_test_synchronization_setting","type":"Microsoft.DataShare/SynchronizationSettings"}' + headers: + cache-control: + - no-cache + content-length: + - '589' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 23 Apr 2020 13:45:19 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare synchronization-setting list + Connection: + - keep-alive + ParameterSetName: + - --account-name --resource-group --share-name + User-Agent: + - AZURECLI/2.4.0 (MSI) azsdk-python-datasharemanagementclient/unknown Python/3.8.2 + (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/synchronizationSettings?api-version=2019-11-01 + response: + body: + string: '{"value":[{"properties":{"recurrenceInterval":"Day","synchronizationTime":"2020-04-05T10:50:00Z","createdAt":"2020-04-23T13:45:18.9184873Z","userName":"Feng + Zhou","provisioningState":"Succeeded"},"kind":"ScheduleBased","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/synchronizationSettings/cli_test_synchronization_setting","name":"cli_test_synchronization_setting","type":"Microsoft.DataShare/SynchronizationSettings"}]}' + headers: + cache-control: + - no-cache + content-length: + - '601' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 23 Apr 2020 13:45:22 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare synchronization list + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --account-name --resource-group --share-name + User-Agent: + - AZURECLI/2.4.0 (MSI) azsdk-python-datasharemanagementclient/unknown Python/3.8.2 + (Windows-10-10.0.18362-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/listSynchronizations?api-version=2019-11-01 + response: + body: + string: '{"value":[]}' + headers: + cache-control: + - no-cache + content-length: + - '12' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 23 Apr 2020 13:45:22 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: '{"properties": {"targetEmail": "consumer@microsoft.com"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare invitation create + Connection: + - keep-alive + Content-Length: + - '54' + Content-Type: + - application/json + ParameterSetName: + - --account-name --target-email --name --resource-group --share-name + User-Agent: + - AZURECLI/2.4.0 (MSI) azsdk-python-datasharemanagementclient/unknown Python/3.8.2 + (Windows-10-10.0.18362-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/invitations/cli_test_invitation?api-version=2019-11-01 + response: + body: + string: '{"properties":{"sentAt":"2020-04-23T13:45:26.3055269Z","targetEmail":"consumer@microsoft.com","invitationStatus":"Pending","invitationId":"8844a5ff-7016-4c96-9901-1a7d005fc0ec","userName":"Feng + Zhou","userEmail":"provider@microsoft.com"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/invitations/cli_test_invitation","name":"cli_test_invitation","type":"Microsoft.DataShare/Invitations"}' + headers: + cache-control: + - no-cache + content-length: + - '566' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 23 Apr 2020 13:45:26 GMT + expires: + - '-1' + location: + - /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/invitations/cli_test_invitation/8844a5ff-7016-4c96-9901-1a7d005fc0ec + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1196' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare invitation list + Connection: + - keep-alive + ParameterSetName: + - --account-name --resource-group --share-name + User-Agent: + - AZURECLI/2.4.0 (MSI) azsdk-python-datasharemanagementclient/unknown Python/3.8.2 + (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/invitations?api-version=2019-11-01 + response: + body: + string: '{"value":[{"properties":{"sentAt":"2020-04-23T13:45:26.3055269Z","targetEmail":"consumer@microsoft.com","invitationStatus":"Pending","invitationId":"8844a5ff-7016-4c96-9901-1a7d005fc0ec","userName":"Feng + Zhou","userEmail":"provider@microsoft.com"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/invitations/cli_test_invitation","name":"cli_test_invitation","type":"Microsoft.DataShare/Invitations"}]}' + headers: + cache-control: + - no-cache + content-length: + - '578' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 23 Apr 2020 13:45:27 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare invitation show + Connection: + - keep-alive + ParameterSetName: + - --account-name --name --resource-group --share-name + User-Agent: + - AZURECLI/2.4.0 (MSI) azsdk-python-datasharemanagementclient/unknown Python/3.8.2 + (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/invitations/cli_test_invitation?api-version=2019-11-01 + response: + body: + string: '{"properties":{"sentAt":"2020-04-23T13:45:26.3055269Z","targetEmail":"consumer@microsoft.com","invitationStatus":"Pending","invitationId":"8844a5ff-7016-4c96-9901-1a7d005fc0ec","userName":"Feng + Zhou","userEmail":"provider@microsoft.com"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/invitations/cli_test_invitation","name":"cli_test_invitation","type":"Microsoft.DataShare/Invitations"}' + headers: + cache-control: + - no-cache + content-length: + - '566' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 23 Apr 2020 13:45:29 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare invitation show + Connection: + - keep-alive + ParameterSetName: + - --account-name --name --resource-group --share-name + User-Agent: + - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.3 + azure-mgmt-resource/8.0.1 Azure-SDK-For-Python AZURECLI/2.4.0 (MSI) + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/locations?api-version=2019-06-01 + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastasia","name":"eastasia","displayName":"East + Asia","longitude":"114.188","latitude":"22.267"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southeastasia","name":"southeastasia","displayName":"Southeast + Asia","longitude":"103.833","latitude":"1.283"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centralus","name":"centralus","displayName":"Central + US","longitude":"-93.6208","latitude":"41.5908"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus","name":"eastus","displayName":"East + US","longitude":"-79.8164","latitude":"37.3719"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus2","name":"eastus2","displayName":"East + US 2","longitude":"-78.3889","latitude":"36.6681"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus","name":"westus","displayName":"West + US","longitude":"-122.417","latitude":"37.783"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/northcentralus","name":"northcentralus","displayName":"North + Central US","longitude":"-87.6278","latitude":"41.8819"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southcentralus","name":"southcentralus","displayName":"South + Central US","longitude":"-98.5","latitude":"29.4167"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/northeurope","name":"northeurope","displayName":"North + Europe","longitude":"-6.2597","latitude":"53.3478"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westeurope","name":"westeurope","displayName":"West + Europe","longitude":"4.9","latitude":"52.3667"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/japanwest","name":"japanwest","displayName":"Japan + West","longitude":"135.5022","latitude":"34.6939"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/japaneast","name":"japaneast","displayName":"Japan + East","longitude":"139.77","latitude":"35.68"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/brazilsouth","name":"brazilsouth","displayName":"Brazil + South","longitude":"-46.633","latitude":"-23.55"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiaeast","name":"australiaeast","displayName":"Australia + East","longitude":"151.2094","latitude":"-33.86"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiasoutheast","name":"australiasoutheast","displayName":"Australia + Southeast","longitude":"144.9631","latitude":"-37.8136"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southindia","name":"southindia","displayName":"South + India","longitude":"80.1636","latitude":"12.9822"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centralindia","name":"centralindia","displayName":"Central + India","longitude":"73.9197","latitude":"18.5822"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westindia","name":"westindia","displayName":"West + India","longitude":"72.868","latitude":"19.088"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/canadacentral","name":"canadacentral","displayName":"Canada + Central","longitude":"-79.383","latitude":"43.653"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/canadaeast","name":"canadaeast","displayName":"Canada + East","longitude":"-71.217","latitude":"46.817"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uksouth","name":"uksouth","displayName":"UK + South","longitude":"-0.799","latitude":"50.941"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/ukwest","name":"ukwest","displayName":"UK + West","longitude":"-3.084","latitude":"53.427"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westcentralus","name":"westcentralus","displayName":"West + Central US","longitude":"-110.234","latitude":"40.890"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus2","name":"westus2","displayName":"West + US 2","longitude":"-119.852","latitude":"47.233"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/koreacentral","name":"koreacentral","displayName":"Korea + Central","longitude":"126.9780","latitude":"37.5665"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/koreasouth","name":"koreasouth","displayName":"Korea + South","longitude":"129.0756","latitude":"35.1796"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/francecentral","name":"francecentral","displayName":"France + Central","longitude":"2.3730","latitude":"46.3772"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/francesouth","name":"francesouth","displayName":"France + South","longitude":"2.1972","latitude":"43.8345"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiacentral","name":"australiacentral","displayName":"Australia + Central","longitude":"149.1244","latitude":"-35.3075"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiacentral2","name":"australiacentral2","displayName":"Australia + Central 2","longitude":"149.1244","latitude":"-35.3075"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uaecentral","name":"uaecentral","displayName":"UAE + Central","longitude":"54.366669","latitude":"24.466667"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uaenorth","name":"uaenorth","displayName":"UAE + North","longitude":"55.316666","latitude":"25.266666"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southafricanorth","name":"southafricanorth","displayName":"South + Africa North","longitude":"28.218370","latitude":"-25.731340"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southafricawest","name":"southafricawest","displayName":"South + Africa West","longitude":"18.843266","latitude":"-34.075691"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/switzerlandnorth","name":"switzerlandnorth","displayName":"Switzerland + North","longitude":"8.564572","latitude":"47.451542"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/switzerlandwest","name":"switzerlandwest","displayName":"Switzerland + West","longitude":"6.143158","latitude":"46.204391"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/germanynorth","name":"germanynorth","displayName":"Germany + North","longitude":"8.806422","latitude":"53.073635"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/germanywestcentral","name":"germanywestcentral","displayName":"Germany + West Central","longitude":"8.682127","latitude":"50.110924"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/norwaywest","name":"norwaywest","displayName":"Norway + West","longitude":"5.733107","latitude":"58.969975"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/norwayeast","name":"norwayeast","displayName":"Norway + East","longitude":"10.752245","latitude":"59.913868"}]}' + headers: + cache-control: + - no-cache + content-length: + - '7129' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 23 Apr 2020 13:45:30 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"location": "westus2", "identity": {"type": "SystemAssigned"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare account create + Connection: + - keep-alive + Content-Length: + - '63' + Content-Type: + - application/json + ParameterSetName: + - --location --name --resource-group --subscription + User-Agent: + - AZURECLI/2.4.0 (MSI) azsdk-python-datasharemanagementclient/unknown Python/3.8.2 + (Windows-10-10.0.18362-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account?api-version=2019-11-01 + response: + body: + string: '{"identity":{"type":"SystemAssigned","principalId":"b6e0a818-ff37-4b75-95bd-1b2526538ea7","tenantId":"66d4b7e9-35f0-4be4-993b-31770b23fbae"},"properties":{"createdAt":"2020-04-23T13:45:41.6651537Z","provisioningState":"Creating","userName":"Allen + Zhou","userEmail":"consumer@microsoft.com"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account","name":"cli_test_consumer_account","type":"Microsoft.DataShare/accounts","location":"westus2"}' + headers: + cache-control: + - no-cache + content-length: + - '543' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 23 Apr 2020 13:45:42 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account?api-version=2019-11-01 + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-quota: + - '[{"currentUsed":1,"limit":50,"name":{"localizedValue":"Account resource quota","value":"Account + resource quota"},"target":"/subscriptions/9abff005-2afc-4de1-b39c-344b9de2cc9c/resourceGroups/datashare_consumer_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account"}]' + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare consumer invitation list + Connection: + - keep-alive + ParameterSetName: + - --subscription + User-Agent: + - AZURECLI/2.4.0 (MSI) azsdk-python-datasharemanagementclient/unknown Python/3.8.2 + (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/providers/Microsoft.DataShare/ListInvitations?api-version=2019-11-01 + response: + body: + string: '{"value":[{"properties":{"description":"share description","dataSetCount":1,"invitationId":"8844a5ff-7016-4c96-9901-1a7d005fc0ec","invitationStatus":"Pending","location":"westus2","shareName":"cli_test_share","sentAt":"2020-04-23T13:45:26.3055269Z","termsOfUse":"Confidential","providerName":"Feng + Zhou","providerEmail":"provider@microsoft.com","providerTenantName":"AzureSDKTeam","userName":null,"userEmail":null},"id":"/providers/Microsoft.DataShare/consumerInvitations/8844a5ff-7016-4c96-9901-1a7d005fc0ec","name":"cli_test_invitation","type":"Microsoft.DataShare/consumerInvitations"}]}' + headers: + cache-control: + - no-cache + content-length: + - '591' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 23 Apr 2020 13:45:45 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-original-request-ids: + - '' + - '' + - '' + - '' + - '' + - '' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare consumer invitation show + Connection: + - keep-alive + ParameterSetName: + - --invitation-id --subscription --location + User-Agent: + - AZURECLI/2.4.0 (MSI) azsdk-python-datasharemanagementclient/unknown Python/3.8.2 + (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/providers/Microsoft.DataShare/locations/westus2/consumerInvitations/8844a5ff-7016-4c96-9901-1a7d005fc0ec?api-version=2019-11-01 + response: + body: + string: '{"properties":{"description":"share description","dataSetCount":1,"invitationId":"8844a5ff-7016-4c96-9901-1a7d005fc0ec","invitationStatus":"Pending","location":"westus2","shareName":"cli_test_share","sentAt":"2020-04-23T13:45:26.3055269Z","termsOfUse":"Confidential","providerName":"Feng + Zhou","providerEmail":"provider@microsoft.com","providerTenantName":"AzureSDKTeam","userName":null,"userEmail":null},"id":"/providers/Microsoft.DataShare/consumerInvitations/8844a5ff-7016-4c96-9901-1a7d005fc0ec","name":"cli_test_invitation","type":"Microsoft.DataShare/consumerInvitations"}' + headers: + cache-control: + - no-cache + content-length: + - '579' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 23 Apr 2020 13:45:48 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare account wait + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group --created --subscription + User-Agent: + - AZURECLI/2.4.0 (MSI) azsdk-python-datasharemanagementclient/unknown Python/3.8.2 + (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account?api-version=2019-11-01 + response: + body: + string: '{"identity":{"type":"SystemAssigned","principalId":"b6e0a818-ff37-4b75-95bd-1b2526538ea7","tenantId":"66d4b7e9-35f0-4be4-993b-31770b23fbae"},"properties":{"createdAt":"2020-04-23T13:45:41.6651537Z","provisioningState":"Creating","userName":"Allen + Zhou","userEmail":"consumer@microsoft.com"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account","name":"cli_test_consumer_account","type":"Microsoft.DataShare/accounts","location":"westus2"}' + headers: + cache-control: + - no-cache + content-length: + - '543' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 23 Apr 2020 13:45:49 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare account wait + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group --created --subscription + User-Agent: + - AZURECLI/2.4.0 (MSI) azsdk-python-datasharemanagementclient/unknown Python/3.8.2 + (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account?api-version=2019-11-01 + response: + body: + string: '{"identity":{"type":"SystemAssigned","principalId":"b6e0a818-ff37-4b75-95bd-1b2526538ea7","tenantId":"66d4b7e9-35f0-4be4-993b-31770b23fbae"},"properties":{"createdAt":"2020-04-23T13:45:41.6651537Z","provisioningState":"Creating","userName":"Allen + Zhou","userEmail":"consumer@microsoft.com"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account","name":"cli_test_consumer_account","type":"Microsoft.DataShare/accounts","location":"westus2"}' + headers: + cache-control: + - no-cache + content-length: + - '543' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 23 Apr 2020 13:46:19 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare account wait + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group --created --subscription + User-Agent: + - AZURECLI/2.4.0 (MSI) azsdk-python-datasharemanagementclient/unknown Python/3.8.2 + (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account?api-version=2019-11-01 + response: + body: + string: '{"identity":{"type":"SystemAssigned","principalId":"b6e0a818-ff37-4b75-95bd-1b2526538ea7","tenantId":"66d4b7e9-35f0-4be4-993b-31770b23fbae"},"properties":{"createdAt":"2020-04-23T13:45:41.6651537Z","provisioningState":"Creating","userName":"Allen + Zhou","userEmail":"consumer@microsoft.com"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account","name":"cli_test_consumer_account","type":"Microsoft.DataShare/accounts","location":"westus2"}' + headers: + cache-control: + - no-cache + content-length: + - '543' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 23 Apr 2020 13:46:49 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare account wait + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group --created --subscription + User-Agent: + - AZURECLI/2.4.0 (MSI) azsdk-python-datasharemanagementclient/unknown Python/3.8.2 + (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account?api-version=2019-11-01 + response: + body: + string: '{"identity":{"type":"SystemAssigned","principalId":"b6e0a818-ff37-4b75-95bd-1b2526538ea7","tenantId":"66d4b7e9-35f0-4be4-993b-31770b23fbae"},"properties":{"createdAt":"2020-04-23T13:45:41.6651537Z","provisioningState":"Creating","userName":"Allen + Zhou","userEmail":"consumer@microsoft.com"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account","name":"cli_test_consumer_account","type":"Microsoft.DataShare/accounts","location":"westus2"}' + headers: + cache-control: + - no-cache + content-length: + - '543' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 23 Apr 2020 13:47:21 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare account wait + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group --created --subscription + User-Agent: + - AZURECLI/2.4.0 (MSI) azsdk-python-datasharemanagementclient/unknown Python/3.8.2 + (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account?api-version=2019-11-01 + response: + body: + string: '{"identity":{"type":"SystemAssigned","principalId":"b6e0a818-ff37-4b75-95bd-1b2526538ea7","tenantId":"66d4b7e9-35f0-4be4-993b-31770b23fbae"},"properties":{"createdAt":"2020-04-23T13:45:41.6651537Z","provisioningState":"Succeeded","userName":"Allen + Zhou","userEmail":"consumer@microsoft.com"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account","name":"cli_test_consumer_account","type":"Microsoft.DataShare/accounts","location":"westus2"}' + headers: + cache-control: + - no-cache + content-length: + - '544' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 23 Apr 2020 13:47:51 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"properties": {"invitationId": "8844a5ff-7016-4c96-9901-1a7d005fc0ec", + "sourceShareLocation": "westus2"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare consumer share-subscription create + Connection: + - keep-alive + Content-Length: + - '106' + Content-Type: + - application/json + ParameterSetName: + - --account-name --resource-group --invitation-id --source-share-location --name + --subscription + User-Agent: + - AZURECLI/2.4.0 (MSI) azsdk-python-datasharemanagementclient/unknown Python/3.8.2 + (Windows-10-10.0.18362-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription?api-version=2019-11-01 + response: + body: + string: '{"properties":{"createdAt":"2020-04-23T13:47:55.3598425Z","invitationId":"8844a5ff-7016-4c96-9901-1a7d005fc0ec","sourceShareLocation":"westus2","provisioningState":"Succeeded","shareDescription":"share + description","shareKind":"CopyBased","shareName":"cli_test_share","shareSubscriptionStatus":"Active","shareTerms":"Confidential","providerName":"Feng + Zhou","providerEmail":"provider@microsoft.com","providerTenantName":"AzureSDKTeam","userName":"Allen + Zhou","userEmail":"consumer@microsoft.com"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription","name":"cli_test_share_subscription","type":"Microsoft.DataShare/ShareSubscriptions"}' + headers: + cache-control: + - no-cache + content-length: + - '788' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 23 Apr 2020 13:47:55 GMT + expires: + - '-1' + location: + - /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription/cli_test_share_subscription + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-quota: + - '[{"currentUsed":1,"limit":100,"name":{"localizedValue":"ShareSubscription + resource quota","value":"ShareSubscription resource quota"},"target":"/subscriptions/9abff005-2afc-4de1-b39c-344b9de2cc9c/resourceGroups/datashare_consumer_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription"}]' + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare consumer share-subscription show + Connection: + - keep-alive + ParameterSetName: + - --account-name --resource-group --name --subscription + User-Agent: + - AZURECLI/2.4.0 (MSI) azsdk-python-datasharemanagementclient/unknown Python/3.8.2 + (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription?api-version=2019-11-01 + response: + body: + string: '{"properties":{"createdAt":"2020-04-23T13:47:55.3598425Z","invitationId":"8844a5ff-7016-4c96-9901-1a7d005fc0ec","sourceShareLocation":"westus2","provisioningState":"Succeeded","shareDescription":"share + description","shareKind":"CopyBased","shareName":"cli_test_share","shareSubscriptionStatus":"Active","shareTerms":"Confidential","providerName":"Feng + Zhou","providerEmail":"provider@microsoft.com","providerTenantName":"AzureSDKTeam","userName":"Allen + Zhou","userEmail":"consumer@microsoft.com"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription","name":"cli_test_share_subscription","type":"Microsoft.DataShare/ShareSubscriptions"}' + headers: + cache-control: + - no-cache + content-length: + - '788' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 23 Apr 2020 13:47:56 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare consumer share-subscription list + Connection: + - keep-alive + ParameterSetName: + - --account-name --resource-group --subscription + User-Agent: + - AZURECLI/2.4.0 (MSI) azsdk-python-datasharemanagementclient/unknown Python/3.8.2 + (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions?api-version=2019-11-01 + response: + body: + string: '{"value":[{"properties":{"createdAt":"2020-04-23T13:47:55.3598425Z","invitationId":"8844a5ff-7016-4c96-9901-1a7d005fc0ec","sourceShareLocation":"westus2","provisioningState":"Succeeded","shareDescription":"share + description","shareKind":"CopyBased","shareName":"cli_test_share","shareSubscriptionStatus":"Active","shareTerms":"Confidential","providerName":"Feng + Zhou","providerEmail":"provider@microsoft.com","providerTenantName":"AzureSDKTeam","userName":"Allen + Zhou","userEmail":"consumer@microsoft.com"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription","name":"cli_test_share_subscription","type":"Microsoft.DataShare/ShareSubscriptions"}]}' + headers: + cache-control: + - no-cache + content-length: + - '800' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 23 Apr 2020 13:47:59 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare consumer share-subscription list-source-dataset + Connection: + - keep-alive + ParameterSetName: + - --account-name --resource-group --share-subscription-name --subscription + User-Agent: + - AZURECLI/2.4.0 (MSI) azsdk-python-datasharemanagementclient/unknown Python/3.8.2 + (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription/ConsumerSourceDataSets?api-version=2019-11-01 + response: + body: + string: '{"value":[{"properties":{"dataSetName":"cli_test_data_set","dataSetPath":"clitestcontainer","dataSetId":"031a78ef-0cfc-45b0-88a3-a20a58f3a87a","dataSetLocation":null,"dataSetType":"Container"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription/consumerSourceDataSets/cli_test_data_set","name":"cli_test_data_set","type":"Microsoft.DataShare/ConsumerSourceDataSet"}]}' + headers: + cache-control: + - no-cache + content-length: + - '522' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 23 Apr 2020 13:48:00 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage account show + Connection: + - keep-alive + ParameterSetName: + - -n -g --subscription + User-Agent: + - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.3 + azure-mgmt-storage/9.0.0 Azure-SDK-For-Python AZURECLI/2.4.0 (MSI) + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.Storage/storageAccounts/datashareconsumersa?api-version=2019-06-01 + response: + body: + string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.Storage/storageAccounts/datashareconsumersa","name":"datashareconsumersa","type":"Microsoft.Storage/storageAccounts","location":"westus2","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-04-07T02:47:00.7207527Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-04-07T02:47:00.7207527Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-04-07T02:47:00.6426060Z","primaryEndpoints":{"dfs":"https://datashareconsumersa.dfs.core.windows.net/","web":"https://datashareconsumersa.z5.web.core.windows.net/","blob":"https://datashareconsumersa.blob.core.windows.net/","queue":"https://datashareconsumersa.queue.core.windows.net/","table":"https://datashareconsumersa.table.core.windows.net/","file":"https://datashareconsumersa.file.core.windows.net/"},"primaryLocation":"westus2","statusOfPrimary":"available","secondaryLocation":"westcentralus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://datashareconsumersa-secondary.dfs.core.windows.net/","web":"https://datashareconsumersa-secondary.z5.web.core.windows.net/","blob":"https://datashareconsumersa-secondary.blob.core.windows.net/","queue":"https://datashareconsumersa-secondary.queue.core.windows.net/","table":"https://datashareconsumersa-secondary.table.core.windows.net/"}}}' + headers: + cache-control: + - no-cache + content-length: + - '1744' + content-type: + - application/json + date: + - Thu, 23 Apr 2020 13:48:02 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"properties": {"roleDefinitionId": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/ba92f5b4-2d11-453d-a403-e96b0029c9fe", + "principalId": "b6e0a818-ff37-4b75-95bd-1b2526538ea7", "principalType": "ServicePrincipal"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - role assignment create + Connection: + - keep-alive + Content-Length: + - '270' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - --role --assignee-object-id --assignee-principal-type --scope --subscription + User-Agent: + - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.3 + azure-mgmt-authorization/0.52.0 Azure-SDK-For-Python AZURECLI/2.4.0 (MSI) + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.Storage/storageAccounts/datashareconsumersa/providers/Microsoft.Authorization/roleAssignments/3a1bf740-28a5-4a0d-bdb5-48fdb2c43922?api-version=2018-09-01-preview + response: + body: + string: '{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/ba92f5b4-2d11-453d-a403-e96b0029c9fe","principalId":"b6e0a818-ff37-4b75-95bd-1b2526538ea7","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.Storage/storageAccounts/datashareconsumersa","createdOn":"2020-04-23T13:48:04.0784140Z","updatedOn":"2020-04-23T13:48:04.0784140Z","createdBy":null,"updatedBy":"97bce510-8fdd-4a59-9f13-f32a6179931e"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.Storage/storageAccounts/datashareconsumersa/providers/Microsoft.Authorization/roleAssignments/3a1bf740-28a5-4a0d-bdb5-48fdb2c43922","type":"Microsoft.Authorization/roleAssignments","name":"3a1bf740-28a5-4a0d-bdb5-48fdb2c43922"}' + headers: + cache-control: + - no-cache + content-length: + - '923' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 23 Apr 2020 13:48:10 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - x-ms-gateway-slice=Production; path=/; SameSite=None; secure; HttpOnly + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 201 + message: Created +- request: + body: '{"kind": "BlobFolder", "properties": {"containerName": "clitestconsumercontainer", + "dataSetId": "031a78ef-0cfc-45b0-88a3-a20a58f3a87a", "prefix": "cli_test_data_set", + "resourceGroup": "datashare_consumer_rg", "storageAccountName": "datashareconsumersa", + "subscriptionId": "9abff005-2afc-4de1-b39c-344b9de2cc9c"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare consumer dataset-mapping create + Connection: + - keep-alive + Content-Length: + - '312' + Content-Type: + - application/json + ParameterSetName: + - --account-name --name --resource-group --share-subscription-name --mapping + --subscription + User-Agent: + - AZURECLI/2.4.0 (MSI) azsdk-python-datasharemanagementclient/unknown Python/3.8.2 + (Windows-10-10.0.18362-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription/dataSetMappings/cli_test_data_set_mapping?api-version=2019-11-01 + response: + body: + string: '{"properties":{"containerName":"clitestconsumercontainer","prefix":"cli_test_data_set","subscriptionId":"9abff005-2afc-4de1-b39c-344b9de2cc9c","resourceGroup":"datashare_consumer_rg","storageAccountName":"datashareconsumersa","dataSetId":"031a78ef-0cfc-45b0-88a3-a20a58f3a87a","dataSetMappingStatus":"Ok","provisioningState":"Succeeded"},"kind":"BlobFolder","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription/dataSetMappings/cli_test_data_set_mapping","name":"cli_test_data_set_mapping","type":"Microsoft.DataShare/DataSetMappings"}' + headers: + cache-control: + - no-cache + content-length: + - '688' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 23 Apr 2020 13:48:25 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription/dataSetMappings/cli_test_data_set_mapping?api-version=2019-11-01 + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-quota: + - '[{"currentUsed":1,"limit":100,"name":{"localizedValue":"DataSetMapping resource + quota","value":"DataSetMapping resource quota"},"target":"/subscriptions/9abff005-2afc-4de1-b39c-344b9de2cc9c/resourceGroups/datashare_consumer_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription/dataSetMappings/cli_test_data_set_mapping"}]' + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + status: + code: 201 + message: Created +- request: + body: '{"synchronizationMode": "Incremental"}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare consumer share-subscription synchronization start + Connection: + - keep-alive + Content-Length: + - '38' + Content-Type: + - application/json + ParameterSetName: + - --account-name --resource-group --share-subscription-name --synchronization-mode + --subscription + User-Agent: + - AZURECLI/2.4.0 (MSI) azsdk-python-datasharemanagementclient/unknown Python/3.8.2 + (Windows-10-10.0.18362-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription/Synchronize?api-version=2019-11-01 + response: + body: + string: '{"status":"Queued","synchronizationId":"46da96f7-df55-4472-9d4a-90dabc0dc1c2","synchronizationMode":"Incremental"}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription/synchronizationOperationResults/46da96f7-df55-4472-9d4a-90dabc0dc1c2?api-version=2019-11-01 + cache-control: + - no-cache + content-length: + - '114' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 23 Apr 2020 13:48:31 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription/shareSubscriptionSynchronizations/46da96f7-df55-4472-9d4a-90dabc0dc1c2?api-version=2019-11-01 + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare consumer dataset-mapping show + Connection: + - keep-alive + ParameterSetName: + - --account-name --name --resource-group --share-subscription-name --subscription + User-Agent: + - AZURECLI/2.4.0 (MSI) azsdk-python-datasharemanagementclient/unknown Python/3.8.2 + (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription/dataSetMappings/cli_test_data_set_mapping?api-version=2019-11-01 + response: + body: + string: '{"properties":{"containerName":"clitestconsumercontainer","prefix":"cli_test_data_set","subscriptionId":"9abff005-2afc-4de1-b39c-344b9de2cc9c","resourceGroup":"datashare_consumer_rg","storageAccountName":"datashareconsumersa","dataSetId":"031a78ef-0cfc-45b0-88a3-a20a58f3a87a","dataSetMappingStatus":"Ok","provisioningState":"Succeeded"},"kind":"BlobFolder","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription/dataSetMappings/cli_test_data_set_mapping","name":"cli_test_data_set_mapping","type":"Microsoft.DataShare/DataSetMappings"}' + headers: + cache-control: + - no-cache + content-length: + - '688' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 23 Apr 2020 13:48:32 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare consumer dataset-mapping list + Connection: + - keep-alive + ParameterSetName: + - --account-name --resource-group --share-subscription-name --subscription + User-Agent: + - AZURECLI/2.4.0 (MSI) azsdk-python-datasharemanagementclient/unknown Python/3.8.2 + (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription/dataSetMappings?api-version=2019-11-01 + response: + body: + string: '{"value":[{"properties":{"containerName":"clitestconsumercontainer","prefix":"cli_test_data_set","subscriptionId":"9abff005-2afc-4de1-b39c-344b9de2cc9c","resourceGroup":"datashare_consumer_rg","storageAccountName":"datashareconsumersa","dataSetId":"031a78ef-0cfc-45b0-88a3-a20a58f3a87a","dataSetMappingStatus":"Ok","provisioningState":"Succeeded"},"kind":"BlobFolder","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription/dataSetMappings/cli_test_data_set_mapping","name":"cli_test_data_set_mapping","type":"Microsoft.DataShare/DataSetMappings"}]}' + headers: + cache-control: + - no-cache + content-length: + - '700' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 23 Apr 2020 13:48:35 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare consumer share-subscription synchronization list + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --account-name --resource-group --share-subscription-name --subscription + User-Agent: + - AZURECLI/2.4.0 (MSI) azsdk-python-datasharemanagementclient/unknown Python/3.8.2 + (Windows-10-10.0.18362-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription/listSynchronizations?api-version=2019-11-01 + response: + body: + string: '{"value":[{"startTime":"2020-04-23T13:48:32.353028Z","status":"Queued","synchronizationId":"46da96f7-df55-4472-9d4a-90dabc0dc1c2","synchronizationMode":"Incremental"}]}' + headers: + cache-control: + - no-cache + content-length: + - '168' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 23 Apr 2020 13:48:37 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare consumer share-subscription list-source-share-synchronization-setting + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --account-name --resource-group --share-subscription-name --subscription + User-Agent: + - AZURECLI/2.4.0 (MSI) azsdk-python-datasharemanagementclient/unknown Python/3.8.2 + (Windows-10-10.0.18362-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription/listSourceShareSynchronizationSettings?api-version=2019-11-01 + response: + body: + string: '{"value":[{"properties":{"recurrenceInterval":"Day","synchronizationTime":"2020-04-05T10:50:00Z"},"kind":"ScheduleBased"}]}' + headers: + cache-control: + - no-cache + content-length: + - '123' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 23 Apr 2020 13:48:39 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: '{"kind": "ScheduleBased", "properties": {"recurrenceInterval": "Day", "synchronizationTime": + "2020-04-05T10:50:00.000Z"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare consumer trigger create + Connection: + - keep-alive + Content-Length: + - '121' + Content-Type: + - application/json + ParameterSetName: + - --account-name --resource-group --share-subscription-name --name --recurrence-interval + --synchronization-time --subscription + User-Agent: + - AZURECLI/2.4.0 (MSI) azsdk-python-datasharemanagementclient/unknown Python/3.8.2 + (Windows-10-10.0.18362-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription/triggers/cli_test_trigger?api-version=2019-11-01 + response: + body: + string: '{"properties":{"recurrenceInterval":"Day","synchronizationTime":"2020-04-05T10:50:00Z","createdAt":"2020-04-23T13:48:42.2978189Z","userName":"Allen + Zhou","provisioningState":"Creating","triggerStatus":"Inactive","synchronizationMode":"Incremental"},"kind":"ScheduleBased","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription/triggers/cli_test_trigger","name":"cli_test_trigger","type":"Microsoft.DataShare/Triggers"}' + headers: + cache-control: + - no-cache + content-length: + - '570' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 23 Apr 2020 13:48:42 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription/triggers/cli_test_trigger?api-version=2019-11-01 + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare consumer trigger show + Connection: + - keep-alive + ParameterSetName: + - --account-name --resource-group --share-subscription-name --name --subscription + User-Agent: + - AZURECLI/2.4.0 (MSI) azsdk-python-datasharemanagementclient/unknown Python/3.8.2 + (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription/triggers/cli_test_trigger?api-version=2019-11-01 + response: + body: + string: '{"properties":{"recurrenceInterval":"Day","synchronizationTime":"2020-04-05T10:50:00Z","createdAt":"2020-04-23T13:48:42.2978189Z","userName":"Allen + Zhou","provisioningState":"Creating","triggerStatus":"Inactive","synchronizationMode":"Incremental"},"kind":"ScheduleBased","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription/triggers/cli_test_trigger","name":"cli_test_trigger","type":"Microsoft.DataShare/Triggers"}' + headers: + cache-control: + - no-cache + content-length: + - '570' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 23 Apr 2020 13:48:43 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare consumer trigger list + Connection: + - keep-alive + ParameterSetName: + - --account-name --resource-group --share-subscription-name --subscription + User-Agent: + - AZURECLI/2.4.0 (MSI) azsdk-python-datasharemanagementclient/unknown Python/3.8.2 + (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription/triggers?api-version=2019-11-01 + response: + body: + string: '{"value":[{"properties":{"recurrenceInterval":"Day","synchronizationTime":"2020-04-05T10:50:00Z","createdAt":"2020-04-23T13:48:42.2978189Z","userName":"Allen + Zhou","provisioningState":"Creating","triggerStatus":"Inactive","synchronizationMode":"Incremental"},"kind":"ScheduleBased","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription/triggers/cli_test_trigger","name":"cli_test_trigger","type":"Microsoft.DataShare/Triggers"}]}' + headers: + cache-control: + - no-cache + content-length: + - '582' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 23 Apr 2020 13:48:45 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare provider-share-subscription list + Connection: + - keep-alive + ParameterSetName: + - --account-name --resource-group --share-name + User-Agent: + - AZURECLI/2.4.0 (MSI) azsdk-python-datasharemanagementclient/unknown Python/3.8.2 + (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/providerShareSubscriptions?api-version=2019-11-01 + response: + body: + string: '{"value":[{"properties":{"shareSubscriptionObjectId":"cea4ae94-0b80-4306-9124-29e0f97e6604","consumerName":"Allen + Zhou","createdAt":"2020-04-23T13:47:55.3598425Z","sharedAt":"2020-04-23T13:45:26.3055269Z","consumerEmail":"consumer@microsoft.com","consumerTenantName":"Default + Directory","providerName":"Feng Zhou","providerEmail":"provider@microsoft.com","shareSubscriptionStatus":"Active"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/shareSubscriptions/cea4ae94-0b80-4306-9124-29e0f97e6604","name":"cli_test_share_subscription","type":"Microsoft.DataShare/ShareSubscriptions"}]}' + headers: + cache-control: + - no-cache + content-length: + - '760' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 23 Apr 2020 13:48:47 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare provider-share-subscription show + Connection: + - keep-alive + ParameterSetName: + - --account-name --share-subscription --resource-group --share-name + User-Agent: + - AZURECLI/2.4.0 (MSI) azsdk-python-datasharemanagementclient/unknown Python/3.8.2 + (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/providerShareSubscriptions/cea4ae94-0b80-4306-9124-29e0f97e6604?api-version=2019-11-01 + response: + body: + string: '{"properties":{"shareSubscriptionObjectId":"cea4ae94-0b80-4306-9124-29e0f97e6604","consumerName":"Allen + Zhou","createdAt":"2020-04-23T13:47:55.3598425Z","sharedAt":"2020-04-23T13:45:26.3055269Z","consumerEmail":"consumer@microsoft.com","consumerTenantName":"Default + Directory","providerName":"Feng Zhou","providerEmail":"provider@microsoft.com","shareSubscriptionStatus":"Active"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/shareSubscriptions/cea4ae94-0b80-4306-9124-29e0f97e6604","name":"cli_test_share_subscription","type":"Microsoft.DataShare/ShareSubscriptions"}' + headers: + cache-control: + - no-cache + content-length: + - '748' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 23 Apr 2020 13:48:49 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare provider-share-subscription revoke + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --account-name --share-subscription --resource-group --share-name + User-Agent: + - AZURECLI/2.4.0 (MSI) azsdk-python-datasharemanagementclient/unknown Python/3.8.2 + (Windows-10-10.0.18362-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/providerShareSubscriptions/cea4ae94-0b80-4306-9124-29e0f97e6604/revoke?api-version=2019-11-01 + response: + body: + string: '{"properties":{"shareSubscriptionObjectId":"cea4ae94-0b80-4306-9124-29e0f97e6604","consumerName":"Allen + Zhou","createdAt":"2020-04-23T13:47:55.3598425Z","sharedAt":"2020-04-23T13:45:26.3055269Z","consumerEmail":"consumer@microsoft.com","consumerTenantName":"Default + Directory","providerName":"Feng Zhou","providerEmail":"provider@microsoft.com","shareSubscriptionStatus":"Revoking"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/shareSubscriptions/cea4ae94-0b80-4306-9124-29e0f97e6604","name":"cli_test_share_subscription","type":"Microsoft.DataShare/ShareSubscriptions"}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/operationResults/f9efc1e9-34af-4f77-87eb-5de189b8fe89?api-version=2019-11-01 + cache-control: + - no-cache + content-length: + - '750' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 23 Apr 2020 13:48:52 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/providerShareSubscriptions/cea4ae94-0b80-4306-9124-29e0f97e6604?api-version=2019-11-01 + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare provider-share-subscription reinstate + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --account-name --share-subscription --resource-group --share-name + User-Agent: + - AZURECLI/2.4.0 (MSI) azsdk-python-datasharemanagementclient/unknown Python/3.8.2 + (Windows-10-10.0.18362-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/providerShareSubscriptions/cea4ae94-0b80-4306-9124-29e0f97e6604/reinstate?api-version=2019-11-01 + response: + body: + string: '{"properties":{"shareSubscriptionObjectId":"cea4ae94-0b80-4306-9124-29e0f97e6604","consumerName":"Allen + Zhou","createdAt":"2020-04-23T13:47:55.3598425Z","sharedAt":"2020-04-23T13:45:26.3055269Z","consumerEmail":"consumer@microsoft.com","consumerTenantName":"Default + Directory","providerName":"Feng Zhou","providerEmail":"provider@microsoft.com","shareSubscriptionStatus":"Active"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/shareSubscriptions/cea4ae94-0b80-4306-9124-29e0f97e6604","name":"cli_test_share_subscription","type":"Microsoft.DataShare/ShareSubscriptions"}' + headers: + cache-control: + - no-cache + content-length: + - '748' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 23 Apr 2020 13:48:59 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare synchronization-setting delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --account-name --resource-group --share-name --name --yes + User-Agent: + - AZURECLI/2.4.0 (MSI) azsdk-python-datasharemanagementclient/unknown Python/3.8.2 + (Windows-10-10.0.18362-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/synchronizationSettings/cli_test_synchronization_setting?api-version=2019-11-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Thu, 23 Apr 2020 13:49:01 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataShare/locations/westus2/operationResults/d7892df8-eccd-42a3-8de4-be8600d80a4d?api-version=2019-11-01 + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare dataset delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --account-name --name --resource-group --share-name --yes + User-Agent: + - AZURECLI/2.4.0 (MSI) azsdk-python-datasharemanagementclient/unknown Python/3.8.2 + (Windows-10-10.0.18362-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/dataSets/cli_test_data_set?api-version=2019-11-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Thu, 23 Apr 2020 13:49:03 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-quota: + - '[{"currentUsed":0,"limit":100,"name":{"localizedValue":"DataSet resource + quota","value":"DataSet resource quota"},"target":"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/cli_test_datrywkgqr6mfnic2batum7zhzzekrutyfed7ajmopnqmg7bfkqdq2mavcabi7fdxo/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/dataSets/cli_test_data_set"}]' + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --account-name --resource-group --name --yes + User-Agent: + - AZURECLI/2.4.0 (MSI) azsdk-python-datasharemanagementclient/unknown Python/3.8.2 + (Windows-10-10.0.18362-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share?api-version=2019-11-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Thu, 23 Apr 2020 13:49:04 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataShare/locations/westus2/operationResults/80548841-441e-4061-93b9-b6d0ce4c0249?api-version=2019-11-01 + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare account delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --name --resource-group --no-wait --yes + User-Agent: + - AZURECLI/2.4.0 (MSI) azsdk-python-datasharemanagementclient/unknown Python/3.8.2 + (Windows-10-10.0.18362-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account?api-version=2019-11-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Thu, 23 Apr 2020 13:49:06 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataShare/locations/westus2/operationResults/e331712b-17b0-48ba-8e62-592b4f5f284d?api-version=2019-11-01 + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14998' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare consumer trigger delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --account-name --resource-group --share-subscription-name --name --yes --subscription + User-Agent: + - AZURECLI/2.4.0 (MSI) azsdk-python-datasharemanagementclient/unknown Python/3.8.2 + (Windows-10-10.0.18362-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription/triggers/cli_test_trigger?api-version=2019-11-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Thu, 23 Apr 2020 13:49:08 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataShare/locations/westus2/operationResults/e89ae980-17f5-4a9b-9e65-db922d490a7c?api-version=2019-11-01 + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14998' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare consumer dataset-mapping delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --account-name --name --resource-group --share-subscription-name --yes --subscription + User-Agent: + - AZURECLI/2.4.0 (MSI) azsdk-python-datasharemanagementclient/unknown Python/3.8.2 + (Windows-10-10.0.18362-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription/dataSetMappings/cli_test_data_set_mapping?api-version=2019-11-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Thu, 23 Apr 2020 13:49:09 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-quota: + - '[{"currentUsed":0,"limit":100,"name":{"localizedValue":"DataSetMapping resource + quota","value":"DataSetMapping resource quota"},"target":"/subscriptions/9abff005-2afc-4de1-b39c-344b9de2cc9c/resourceGroups/datashare_consumer_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription/dataSetMappings/cli_test_data_set_mapping"}]' + x-ms-ratelimit-remaining-subscription-deletes: + - '14997' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare consumer share-subscription delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --account-name --resource-group --name --yes --subscription + User-Agent: + - AZURECLI/2.4.0 (MSI) azsdk-python-datasharemanagementclient/unknown Python/3.8.2 + (Windows-10-10.0.18362-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription?api-version=2019-11-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Thu, 23 Apr 2020 13:49:11 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataShare/locations/westus2/operationResults/bd7196da-c8a9-4b96-927e-000510684928?api-version=2019-11-01 + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare account delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --name --resource-group --no-wait --yes --subscription + User-Agent: + - AZURECLI/2.4.0 (MSI) azsdk-python-datasharemanagementclient/unknown Python/3.8.2 + (Windows-10-10.0.18362-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account?api-version=2019-11-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Thu, 23 Apr 2020 13:49:13 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataShare/locations/westus2/operationResults/44b598b3-6268-4028-9d1f-3cdb8adb30c6?api-version=2019-11-01 + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + status: + code: 202 + message: Accepted +version: 1 diff --git a/src/datashare/azext_datashare/tests/latest/test_datashare_scenario.py b/src/datashare/azext_datashare/tests/latest/test_datashare_scenario.py new file mode 100644 index 00000000000..43245c24f3e --- /dev/null +++ b/src/datashare/azext_datashare/tests/latest/test_datashare_scenario.py @@ -0,0 +1,599 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +import os +import unittest + +from azure_devtools.scenario_tests import AllowLargeResponse +from azure.cli.testsdk import (ScenarioTest, ResourceGroupPreparer, StorageAccountPreparer) + +TEST_DIR = os.path.abspath(os.path.join(os.path.abspath(__file__), '..')) + + +class DataShareManagementClientScenarioTest(ScenarioTest): + + @ResourceGroupPreparer(name_prefix='cli_test_datashare_provider_rg'[:12], location='westus2', key='ProviderResourceGroup') + @StorageAccountPreparer(name_prefix='clitestdatashareprovidersa'[:12], location='westus2', key='ProviderStorageAccount') + @AllowLargeResponse() + def test_datashare(self, resource_group, storage_account): + + self.kwargs.update({ + 'ConsumerSubscription': '00000000-0000-0000-0000-000000000000', # change this value in live test + 'ConsumerResourceGroup': 'datashare_consumer_rg', # this is a pre-existing reosurce group in consumer subscription + 'ConsumerStorageAccount': 'datashareconsumersa', # this is a pre-existing storage account in consumer subscription + 'ProviderEmail': 'provider@microsoft.com', # change this value in live test + 'ConsumerEmail': 'consumer@microsoft.com', # change this value in live test + 'ProviderAccount': 'cli_test_account', + 'ConsumerAccount': 'cli_test_consumer_account', + 'ProviderDataset': 'cli_test_data_set', + 'ConsumerDatasetMapping': 'cli_test_data_set_mapping', + 'ProviderInvitation': 'cli_test_invitation', + 'ProviderShare': 'cli_test_share', + 'ConsumerShareSubscription': 'cli_test_share_subscription', + 'ProviderSynchronizationSetting': 'cli_test_synchronization_setting', + 'ConsumerTrigger': 'cli_test_trigger', + 'ProviderContainer': 'clitestcontainer', + 'ConsumerContainer': 'clitestconsumercontainer', + }) + + # Provider commands + datashareAccount = self.cmd('az datashare account create ' + '--location "West US 2" ' + '--tags tag1=Red tag2=White ' + '--name "{ProviderAccount}" ' + '--resource-group "{ProviderResourceGroup}"', + checks=[self.check('name', '{ProviderAccount}'), + self.check('location', 'westus2'), + self.check('resourceGroup', '{ProviderResourceGroup}'), + self.check('tags.tag1', 'Red'), + self.check('tags.tag2', 'White') + ]).get_output_in_json() + + self.cmd('az datashare account wait ' + '--name "{ProviderAccount}" ' + '--resource-group "{ProviderResourceGroup}" ' + '--created', + checks=[]) + + accountId = datashareAccount['id'] + self.cmd('az datashare account show ' + '-n "{ProviderAccount}" ' + '--resource-group "{ProviderResourceGroup}"', + checks=[self.check('name', '{ProviderAccount}'), + self.check('location', 'westus2'), + self.check('provisioningState', 'Succeeded'), + self.check('resourceGroup', '{ProviderResourceGroup}'), + self.check('tags.tag1', 'Red'), + self.check('tags.tag2', 'White') + ]) + + self.cmd('az datashare account show ' + '--ids {}'.format(accountId), + checks=[self.check('name', '{ProviderAccount}'), + self.check('location', 'westus2'), + self.check('provisioningState', 'Succeeded'), + self.check('resourceGroup', '{ProviderResourceGroup}'), + self.check('tags.tag1', 'Red'), + self.check('tags.tag2', 'White') + ]) + + self.cmd('az datashare account list ' + '--resource-group "{ProviderResourceGroup}"', + checks=[self.check("[?id=='{}'].name | [0]".format(accountId), '{ProviderAccount}'), + self.check("[?id=='{}'].location | [0]".format(accountId), 'westus2'), + self.check("[?id=='{}'].resourceGroup | [0]".format(accountId), '{ProviderResourceGroup}'), + self.check("[?id=='{}'].tags | [0].tag1".format(accountId), 'Red'), + self.check("[?id=='{}'].tags | [0].tag2".format(accountId), 'White')]) + + self.cmd('az datashare account update ' + '--name "{ProviderAccount}" ' + '--tags tag1=Green ' + '--resource-group "{ProviderResourceGroup}"', + checks=[self.check('name', '{ProviderAccount}'), + self.check('location', 'westus2'), + self.check('provisioningState', 'Succeeded'), + self.check('resourceGroup', '{ProviderResourceGroup}'), + self.check('tags.tag1', 'Green')]) + + datashare = self.cmd('az datashare create ' + '--account-name "{ProviderAccount}" ' + '--resource-group "{ProviderResourceGroup}" ' + '--description "share description" ' + '--share-kind "CopyBased" ' + '--terms "Confidential" ' + '--name "{ProviderShare}"', + checks=[self.check('name', '{ProviderShare}'), + self.check('description', 'share description'), + self.check('shareKind', 'CopyBased'), + self.check('terms', 'Confidential')]).get_output_in_json() + + self.cmd('az datashare show ' + '--account-name "{ProviderAccount}" ' + '--resource-group "{ProviderResourceGroup}" ' + '--name "{ProviderShare}"', + checks=[self.check('name', '{ProviderShare}'), + self.check('description', 'share description'), + self.check('shareKind', 'CopyBased'), + self.check('terms', 'Confidential')]) + + datashareId = datashare['id'] + self.cmd('az datashare show ' + '--ids {}'.format(datashareId), + checks=[self.check('name', '{ProviderShare}'), + self.check('description', 'share description'), + self.check('shareKind', 'CopyBased'), + self.check('terms', 'Confidential')]) + + self.cmd('az datashare list ' + '--account-name "{ProviderAccount}" ' + '--resource-group "{ProviderResourceGroup}"', + checks=[self.check("[?id=='{}'].name | [0]".format(datashareId), '{ProviderShare}'), + self.check("[?id=='{}'].description | [0]".format(datashareId), 'share description'), + self.check("[?id=='{}'].shareKind | [0]".format(datashareId), 'CopyBased'), + self.check("[?id=='{}'].terms | [0]".format(datashareId), 'Confidential')]) + + storage_account_json = self.cmd('az storage account show ' + '-n {ProviderStorageAccount} ' + '-g {ProviderResourceGroup}').get_output_in_json() + + accountPrincipalId = datashareAccount['identity']['principalId'] + if self.is_live or self.in_recording: + import time + self.cmd('az role assignment create ' + '--role "2a2b9908-6ea1-4ae2-8e65-a410df84e7d1" ' # Storage Blob Data Reader + '--assignee-object-id {} ' + '--assignee-principal-type ServicePrincipal ' + '--scope {}'.format(accountPrincipalId, storage_account_json['id'])) + time.sleep(5) + + self.cmd('az storage container create ' + '--account-name {ProviderStorageAccount} ' + '--name {ProviderContainer}') + + datasetContent = {"container_name": "{}".format(self.kwargs.get('ProviderContainer', '')), "storage_account_name": "{}".format(storage_account), "kind": "Container"} + self.kwargs.update({ + 'ProviderDatasetContent': datasetContent + }) + self.cmd('az datashare dataset create ' + '--account-name "{ProviderAccount}" ' + '--dataset "{ProviderDatasetContent}" ' + '--name "{ProviderDataset}" ' + '--resource-group "{ProviderResourceGroup}" ' + '--share-name "{ProviderShare}"', + checks=[self.check('containerName', '{ProviderContainer}'), + self.check('storageAccountName', '{ProviderStorageAccount}'), + self.check('kind', 'Container'), + self.check('name', '{ProviderDataset}')]) + + self.cmd('az datashare dataset show ' + '--account-name "{ProviderAccount}" ' + '--name "{ProviderDataset}" ' + '--resource-group "{ProviderResourceGroup}" ' + '--share-name "{ProviderShare}"', + checks=[self.check('containerName', '{ProviderContainer}'), + self.check('storageAccountName', '{ProviderStorageAccount}'), + self.check('kind', 'Container'), + self.check('name', '{ProviderDataset}')]) + + self.cmd('az datashare dataset list ' + '--account-name "{ProviderAccount}" ' + '--resource-group "{ProviderResourceGroup}" ' + '--share-name "{ProviderShare}"', + checks=[self.check('[0].containerName', '{ProviderContainer}'), + self.check('[0].storageAccountName', '{ProviderStorageAccount}'), + self.check('[0].kind', 'Container'), + self.check('[0].name', '{ProviderDataset}')]) + + self.cmd('az datashare synchronization-setting create ' + '--account-name "{ProviderAccount}" ' + '--resource-group "{ProviderResourceGroup}" ' + '--share-name "{ProviderShare}" ' + '--name "{ProviderSynchronizationSetting}" ' + '--recurrence-interval "Day" ' + '--synchronization-time "2020-04-05 10:50:00 +00:00"', + checks=[self.check('kind', 'ScheduleBased'), + self.check('name', '{ProviderSynchronizationSetting}'), + self.check('recurrenceInterval', 'Day'), + self.check('resourceGroup', '{ProviderResourceGroup}'), + self.check('synchronizationTime', '2020-04-05T10:50:00+00:00')]) + + self.cmd('az datashare synchronization-setting show ' + '--account-name "{ProviderAccount}" ' + '--resource-group "{ProviderResourceGroup}" ' + '--share-name "{ProviderShare}" ' + '--name "{ProviderSynchronizationSetting}"', + checks=[self.check('kind', 'ScheduleBased'), + self.check('name', '{ProviderSynchronizationSetting}'), + self.check('recurrenceInterval', 'Day'), + self.check('resourceGroup', '{ProviderResourceGroup}'), + self.check('synchronizationTime', '2020-04-05T10:50:00+00:00')]) + + self.cmd('az datashare synchronization-setting list ' + '--account-name "{ProviderAccount}" ' + '--resource-group "{ProviderResourceGroup}" ' + '--share-name "{ProviderShare}"', + checks=[self.check('[0].kind', 'ScheduleBased'), + self.check('[0].name', '{ProviderSynchronizationSetting}'), + self.check('[0].recurrenceInterval', 'Day'), + self.check('[0].resourceGroup', '{ProviderResourceGroup}'), + self.check('[0].synchronizationTime', '2020-04-05T10:50:00+00:00')]) + + self.cmd('az datashare synchronization list ' + '--account-name "{ProviderAccount}" ' + '--resource-group "{ProviderResourceGroup}" ' + '--share-name "{ProviderShare}"', + checks=[]) + + # self.cmd('az datashare synchronization list-detail ' + # '--account-name "{ProviderAccount}" ' + # '--resource-group "{ProviderResourceGroup}" ' + # '--share-name "{ProviderShare}" ' + # '--synchronization-id "7d0536a6-3fa5-43de-b152-3d07c4f6b2bb"', + # checks=[]) + + self.cmd('az datashare invitation create ' + '--account-name "{ProviderAccount}" ' + '--target-email "{ConsumerEmail}" ' + '--name "{ProviderInvitation}" ' + '--resource-group "{ProviderResourceGroup}" ' + '--share-name "{ProviderShare}"', + checks=[self.check('invitationStatus', 'Pending'), + self.check('name', '{ProviderInvitation}'), + self.check('resourceGroup', '{ProviderResourceGroup}'), + self.check('targetEmail', '{ConsumerEmail}')]) + + self.cmd('az datashare invitation list ' + '--account-name "{ProviderAccount}" ' + '--resource-group "{ProviderResourceGroup}" ' + '--share-name "{ProviderShare}"', + checks=[self.check('[0].invitationStatus', 'Pending'), + self.check('[0].name', '{ProviderInvitation}'), + self.check('[0].resourceGroup', '{ProviderResourceGroup}'), + self.check('[0].targetEmail', '{ConsumerEmail}')]) + + self.cmd('az datashare invitation show ' + '--account-name "{ProviderAccount}" ' + '--name "{ProviderInvitation}" ' + '--resource-group "{ProviderResourceGroup}" ' + '--share-name "{ProviderShare}"', + checks=[self.check('invitationStatus', 'Pending'), + self.check('name', '{ProviderInvitation}'), + self.check('resourceGroup', '{ProviderResourceGroup}'), + self.check('targetEmail', '{ConsumerEmail}')]) + + # Consumer commands + datashareConsumerAccount = self.cmd('az datashare account create ' + '--location "West US 2" ' + '--name "{ConsumerAccount}" ' + '--resource-group "{ConsumerResourceGroup}" ' + '--subscription "{ConsumerSubscription}"', + checks=[self.check('name', '{ConsumerAccount}'), + self.check('location', 'westus2'), + self.check('resourceGroup', '{ConsumerResourceGroup}')]).get_output_in_json() + + invitations = self.cmd('az datashare consumer invitation list ' + '--subscription "{ConsumerSubscription}"', + checks=[self.check('[0].invitationStatus', 'Pending'), + self.check('[0].name', '{ProviderInvitation}'), + self.check('[0].shareName', '{ProviderShare}'), + self.check('[0].providerEmail', '{ProviderEmail}')]).get_output_in_json() + + invitationId = invitations[0]['invitationId'] + sourceShareLocation = invitations[0]['location'] + self.kwargs.update({'InvitationId1': invitationId, + 'Location1': sourceShareLocation}) + + self.cmd('az datashare consumer invitation show ' + '--invitation-id "{InvitationId1}" ' + '--subscription "{ConsumerSubscription}" ' + '--location "{Location1}"', + checks=[self.check('invitationStatus', 'Pending'), + self.check('name', '{ProviderInvitation}'), + self.check('shareName', '{ProviderShare}'), + self.check('providerEmail', '{ProviderEmail}')]) + +# self.cmd('az datashare consumer invitation reject ' +# '--invitation-id 00000000-0000-0000-0000-000000000000 ' +# checks=[]) + + self.cmd('az datashare account wait ' + '--name "{ConsumerAccount}" ' + '--resource-group "{ConsumerResourceGroup}" ' + '--created ' + '--subscription "{ConsumerSubscription}"', + checks=[]) + + self.cmd('az datashare consumer share-subscription create ' + '--account-name "{ConsumerAccount}" ' + '--resource-group "{ConsumerResourceGroup}" ' + '--invitation-id "{InvitationId1}" ' + '--source-share-location "{Location1}" ' + '--name "{ConsumerShareSubscription}" ' + '--subscription "{ConsumerSubscription}"', + checks=[self.check('invitationId', '{InvitationId1}'), + self.check('name', '{ConsumerShareSubscription}'), + self.check('resourceGroup', '{ConsumerResourceGroup}'), + self.check('shareName', '{ProviderShare}'), + self.check('shareKind', 'CopyBased'), + self.check('sourceShareLocation', '{Location1}')]) + + self.cmd('az datashare consumer share-subscription show ' + '--account-name "{ConsumerAccount}" ' + '--resource-group "{ConsumerResourceGroup}" ' + '--name "{ConsumerShareSubscription}" ' + '--subscription "{ConsumerSubscription}"', + checks=[self.check('invitationId', '{InvitationId1}'), + self.check('name', '{ConsumerShareSubscription}'), + self.check('resourceGroup', '{ConsumerResourceGroup}'), + self.check('shareName', '{ProviderShare}'), + self.check('shareKind', 'CopyBased'), + self.check('sourceShareLocation', '{Location1}')]) + + self.cmd('az datashare consumer share-subscription list ' + '--account-name "{ConsumerAccount}" ' + '--resource-group "{ConsumerResourceGroup}" ' + '--subscription "{ConsumerSubscription}"', + checks=[self.check('[0].invitationId', '{InvitationId1}'), + self.check('[0].name', '{ConsumerShareSubscription}'), + self.check('[0].resourceGroup', '{ConsumerResourceGroup}'), + self.check('[0].shareName', '{ProviderShare}'), + self.check('[0].shareKind', 'CopyBased'), + self.check('[0].sourceShareLocation', '{Location1}')]) + + sourceDatasets = self.cmd('az datashare consumer share-subscription list-source-dataset ' + '--account-name "{ConsumerAccount}" ' + '--resource-group "{ConsumerResourceGroup}" ' + '--share-subscription-name "{ConsumerShareSubscription}" ' + '--subscription "{ConsumerSubscription}"', + checks=[self.check('[0].dataSetName', '{ProviderDataset}'), + self.check('[0].dataSetType', 'Container')]).get_output_in_json() + sourceDatasetId = sourceDatasets[0]['dataSetId'] + + storage_account2_json = self.cmd('az storage account show ' + '-n {ConsumerStorageAccount} ' + '-g {ConsumerResourceGroup} ' + '--subscription "{ConsumerSubscription}"').get_output_in_json() + + accountPrincipalId2 = datashareConsumerAccount['identity']['principalId'] + self.kwargs.update({ + "AccountPrincipalId2": accountPrincipalId2, + "StorageAccountId2": storage_account2_json['id']}) + + if self.is_live or self.in_recording: + import time + self.cmd('az role assignment create ' + '--role "ba92f5b4-2d11-453d-a403-e96b0029c9fe" ' # Storage Blob Data Contributor + '--assignee-object-id "{AccountPrincipalId2}" ' + '--assignee-principal-type ServicePrincipal ' + '--scope "{StorageAccountId2}" ' + '--subscription "{ConsumerSubscription}"') + time.sleep(5) + + datasetMappingContent = {"data_set_id": "{}".format(sourceDatasetId), + "container_name": "{}".format(self.kwargs.get('ConsumerContainer', '')), + "storage_account_name": "{}".format(self.kwargs.get('ConsumerStorageAccount', '')), + "kind": "BlobFolder", + "prefix": "{}".format(self.kwargs.get('ProviderDataset', ''))} + self.kwargs.update({ + 'ConsumerDatasetMappingContent': datasetMappingContent + }) + self.cmd('az datashare consumer dataset-mapping create ' + '--account-name "{ConsumerAccount}" ' + '--name "{ConsumerDatasetMapping}" ' + '--resource-group "{ConsumerResourceGroup}" ' + '--share-subscription-name "{ConsumerShareSubscription}" ' + '--mapping "{ConsumerDatasetMappingContent}" ' + '--subscription "{ConsumerSubscription}"', + checks=[self.check('kind', 'BlobFolder'), + self.check('name', '{ConsumerDatasetMapping}'), + self.check('prefix', '{ProviderDataset}'), + self.check('storageAccountName', '{ConsumerStorageAccount}')]) + + self.cmd('az datashare consumer share-subscription synchronization start ' + '--account-name "{ConsumerAccount}" ' + '--resource-group "{ConsumerResourceGroup}" ' + '--share-subscription-name "{ConsumerShareSubscription}" ' + '--synchronization-mode "Incremental" ' + '--subscription "{ConsumerSubscription}"', + checks=[self.check('status', 'Queued'), + self.check('synchronizationMode', 'Incremental')]) + + self.cmd('az datashare consumer dataset-mapping show ' + '--account-name "{ConsumerAccount}" ' + '--name "{ConsumerDatasetMapping}" ' + '--resource-group "{ConsumerResourceGroup}" ' + '--share-subscription-name "{ConsumerShareSubscription}" ' + '--subscription "{ConsumerSubscription}"', + checks=[self.check('kind', 'BlobFolder'), + self.check('name', '{ConsumerDatasetMapping}'), + self.check('prefix', '{ProviderDataset}'), + self.check('storageAccountName', '{ConsumerStorageAccount}')]) + + self.cmd('az datashare consumer dataset-mapping list ' + '--account-name "{ConsumerAccount}" ' + '--resource-group "{ConsumerResourceGroup}" ' + '--share-subscription-name "{ConsumerShareSubscription}" ' + '--subscription "{ConsumerSubscription}"', + checks=[self.check('[0].kind', 'BlobFolder'), + self.check('[0].name', '{ConsumerDatasetMapping}'), + self.check('[0].prefix', '{ProviderDataset}'), + self.check('[0].storageAccountName', '{ConsumerStorageAccount}')]) + + self.cmd('az datashare consumer share-subscription synchronization list ' + '--account-name "{ConsumerAccount}" ' + '--resource-group "{ConsumerResourceGroup}" ' + '--share-subscription-name "{ConsumerShareSubscription}" ' + '--subscription "{ConsumerSubscription}"', + checks=[self.check('[0].synchronizationMode', 'Incremental')]) + +# self.cmd('az datashare consumer share-subscription synchronization list-detail ' +# '--account-name "{ConsumerAccount}" ' +# '--resource-group "{ConsumerResourceGroup}" ' +# '--share-subscription-name "{ConsumerShareSubscription}" ' +# '--synchronization-id "7d0536a6-3fa5-43de-b152-3d07c4f6b2bb" ' +# '--subscription "{ConsumerSubscription}"', +# checks=[]) + +# self.cmd('az datashare consumer share-subscription synchronization cancel ' +# '--account-name "{ConsumerAccount}" ' +# '--resource-group "{ConsumerResourceGroup}" ' +# '--share-subscription-name "{ConsumerShareSubscription}" ' +# '--synchronization-id "7d0536a6-3fa5-43de-b152-3d07c4f6b2bb" ' +# '--subscription "{ConsumerSubscription}"', +# checks=[]) + + self.cmd('az datashare consumer share-subscription list-source-share-synchronization-setting ' + '--account-name "{ConsumerAccount}" ' + '--resource-group "{ConsumerResourceGroup}" ' + '--share-subscription-name "{ConsumerShareSubscription}" ' + '--subscription "{ConsumerSubscription}"', + checks=[self.check('[0].recurrenceInterval', 'Day'), + self.check('[0].kind', 'ScheduleBased')]) + + self.cmd('az datashare consumer trigger create ' + '--account-name "{ConsumerAccount}" ' + '--resource-group "{ConsumerResourceGroup}" ' + '--share-subscription-name "{ConsumerShareSubscription}" ' + '--name "{ConsumerTrigger}" ' + '--recurrence-interval "Day" ' + '--synchronization-time "2020-04-05 10:50:00 +00:00" ' + '--subscription "{ConsumerSubscription}"', + checks=[self.check('properties.recurrenceInterval', 'Day'), # TODO properties is not removed in the response structure + self.check('properties.synchronizationMode', 'Incremental')]) + + self.cmd('az datashare consumer trigger show ' + '--account-name "{ConsumerAccount}" ' + '--resource-group "{ConsumerResourceGroup}" ' + '--share-subscription-name "{ConsumerShareSubscription}" ' + '--name "{ConsumerTrigger}" ' + '--subscription "{ConsumerSubscription}"', + checks=[self.check('recurrenceInterval', 'Day'), + self.check('synchronizationMode', 'Incremental')]) + + self.cmd('az datashare consumer trigger list ' + '--account-name "{ConsumerAccount}" ' + '--resource-group "{ConsumerResourceGroup}" ' + '--share-subscription-name "{ConsumerShareSubscription}" ' + '--subscription "{ConsumerSubscription}"', + checks=[self.check('[0].recurrenceInterval', 'Day'), + self.check('[0].synchronizationMode', 'Incremental')]) + + # Provider commands + providerShareSubscriptions = self.cmd('az datashare provider-share-subscription list ' + '--account-name "{ProviderAccount}" ' + '--resource-group "{ProviderResourceGroup}" ' + '--share-name "{ProviderShare}"', + checks=[self.check('[0].consumerEmail', '{ConsumerEmail}'), + self.check('[0].providerEmail', '{ProviderEmail}'), + self.check('[0].shareSubscriptionStatus', 'Active'), + self.check('[0].name', '{ConsumerShareSubscription}')]).get_output_in_json() + shareSubscriptionObjectId = providerShareSubscriptions[0]['shareSubscriptionObjectId'] + self.kwargs.update({'ProviderShareSubscriptionObjectId': shareSubscriptionObjectId}) + + self.cmd('az datashare provider-share-subscription show ' + '--account-name "{ProviderAccount}" ' + '--share-subscription "{ProviderShareSubscriptionObjectId}" ' + '--resource-group "{ProviderResourceGroup}" ' + '--share-name "{ProviderShare}"', + checks=[self.check('consumerEmail', '{ConsumerEmail}'), + self.check('providerEmail', '{ProviderEmail}'), + self.check('shareSubscriptionStatus', 'Active'), + self.check('name', '{ConsumerShareSubscription}'), + self.check('shareSubscriptionObjectId', '{ProviderShareSubscriptionObjectId}')]) + + self.cmd('az datashare provider-share-subscription revoke ' + '--account-name "{ProviderAccount}" ' + '--share-subscription "{ProviderShareSubscriptionObjectId}" ' + '--resource-group "{ProviderResourceGroup}" ' + '--share-name "{ProviderShare}"', + checks=[self.check('consumerEmail', '{ConsumerEmail}'), + self.check('providerEmail', '{ProviderEmail}'), + self.check('shareSubscriptionStatus', 'Revoking'), + self.check('name', '{ConsumerShareSubscription}'), + self.check('shareSubscriptionObjectId', '{ProviderShareSubscriptionObjectId}')]) + + if self.is_live or self.in_recording: + import time + time.sleep(5) + + self.cmd('az datashare provider-share-subscription reinstate ' + '--account-name "{ProviderAccount}" ' + '--share-subscription "{ProviderShareSubscriptionObjectId}" ' + '--resource-group "{ProviderResourceGroup}" ' + '--share-name "{ProviderShare}"', + checks=[self.check('consumerEmail', '{ConsumerEmail}'), + self.check('providerEmail', '{ProviderEmail}'), + self.check('shareSubscriptionStatus', 'Active'), + self.check('name', '{ConsumerShareSubscription}'), + self.check('shareSubscriptionObjectId', '{ProviderShareSubscriptionObjectId}')]) + + # Provider Clean up + self.cmd('az datashare synchronization-setting delete ' + '--account-name "{ProviderAccount}" ' + '--resource-group "{ProviderResourceGroup}" ' + '--share-name "{ProviderShare}" ' + '--name "{ProviderSynchronizationSetting}" ' + '--yes', + checks=[]) + + # self.cmd('az datashare invitation delete ' + # '--account-name "{ProviderAccount}" ' + # '--name "{ProviderInvitation}" ' + # '--resource-group "{ProviderResourceGroup}" ' + # '--share-name "{ProviderShare}"', + # checks=[]) + + self.cmd('az datashare dataset delete ' + '--account-name "{ProviderAccount}" ' + '--name "{ProviderDataset}" ' + '--resource-group "{ProviderResourceGroup}" ' + '--share-name "{ProviderShare}" ' + '--yes', + checks=[]) + + self.cmd('az datashare delete ' + '--account-name "{ProviderAccount}" ' + '--resource-group "{ProviderResourceGroup}" ' + '--name "{ProviderShare}" ' + '--yes', + checks=[]) + + self.cmd('az datashare account delete ' + '--name "{ProviderAccount}" ' + '--resource-group "{ProviderResourceGroup}" ' + '--no-wait ' + '--yes', + checks=[]) + + self.cmd('az datashare consumer trigger delete ' + '--account-name "{ConsumerAccount}" ' + '--resource-group "{ConsumerResourceGroup}" ' + '--share-subscription-name "{ConsumerShareSubscription}" ' + '--name "{ConsumerTrigger}" ' + '--yes ' + '--subscription "{ConsumerSubscription}"', + checks=[]) + self.cmd('az datashare consumer dataset-mapping delete ' + '--account-name "{ConsumerAccount}" ' + '--name "{ConsumerDatasetMapping}" ' + '--resource-group "{ConsumerResourceGroup}" ' + '--share-subscription-name "{ConsumerShareSubscription}" ' + '--yes ' + '--subscription "{ConsumerSubscription}"', + checks=[]) + self.cmd('az datashare consumer share-subscription delete ' + '--account-name "{ConsumerAccount}" ' + '--resource-group "{ConsumerResourceGroup}" ' + '--name "{ConsumerShareSubscription}" ' + '--yes ' + '--subscription "{ConsumerSubscription}"', + checks=[]) + self.cmd('az datashare account delete ' + '--name "{ConsumerAccount}" ' + '--resource-group "{ConsumerResourceGroup}" ' + '--no-wait ' + '--yes ' + '--subscription "{ConsumerSubscription}"', + checks=[]) diff --git a/src/datashare/azext_datashare/vendored_sdks/__init__.py b/src/datashare/azext_datashare/vendored_sdks/__init__.py new file mode 100644 index 00000000000..8d86d5a6be1 --- /dev/null +++ b/src/datashare/azext_datashare/vendored_sdks/__init__.py @@ -0,0 +1,12 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +__path__ = __import__('pkgutil').extend_path(__path__, __name__) \ No newline at end of file diff --git a/src/datashare/azext_datashare/vendored_sdks/datashare/__init__.py b/src/datashare/azext_datashare/vendored_sdks/datashare/__init__.py new file mode 100644 index 00000000000..eb57d0ef34e --- /dev/null +++ b/src/datashare/azext_datashare/vendored_sdks/datashare/__init__.py @@ -0,0 +1,10 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._data_share_management_client import DataShareManagementClient +__all__ = ['DataShareManagementClient'] diff --git a/src/datashare/azext_datashare/vendored_sdks/datashare/_configuration.py b/src/datashare/azext_datashare/vendored_sdks/datashare/_configuration.py new file mode 100644 index 00000000000..88932a1125e --- /dev/null +++ b/src/datashare/azext_datashare/vendored_sdks/datashare/_configuration.py @@ -0,0 +1,61 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import Any + +from azure.core.configuration import Configuration +from azure.core.pipeline import policies + +VERSION = "unknown" + +class DataShareManagementClientConfiguration(Configuration): + """Configuration for DataShareManagementClient. + + Note that all parameters used to create this instance are saved as instance + attributes. + + :param credential: Credential needed for the client to connect to Azure. + :type credential: azure.core.credentials.TokenCredential + :param subscription_id: The subscription identifier. + :type subscription_id: str + """ + + def __init__( + self, + credential, # type: "TokenCredential" + subscription_id, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + if credential is None: + raise ValueError("Parameter 'credential' must not be None.") + if subscription_id is None: + raise ValueError("Parameter 'subscription_id' must not be None.") + super(DataShareManagementClientConfiguration, self).__init__(**kwargs) + + self.credential = credential + self.subscription_id = subscription_id + self.api_version = "2019-11-01" + kwargs.setdefault('sdk_moniker', 'datasharemanagementclient/{}'.format(VERSION)) + self._configure(**kwargs) + + def _configure( + self, + **kwargs # type: Any + ): + # type: (...) -> None + self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get('retry_policy') or policies.RetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get('redirect_policy') or policies.RedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get('authentication_policy') + if self.credential and not self.authentication_policy: + self.authentication_policy = policies.BearerTokenCredentialPolicy(self.credential, **kwargs) diff --git a/src/datashare/azext_datashare/vendored_sdks/datashare/_data_share_management_client.py b/src/datashare/azext_datashare/vendored_sdks/datashare/_data_share_management_client.py new file mode 100644 index 00000000000..c36cabec848 --- /dev/null +++ b/src/datashare/azext_datashare/vendored_sdks/datashare/_data_share_management_client.py @@ -0,0 +1,117 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import Any, Optional + +from azure.core import PipelineClient +from msrest import Deserializer, Serializer + +from ._configuration import DataShareManagementClientConfiguration +from .operations import AccountOperations +from .operations import ConsumerInvitationOperations +from .operations import DataSetOperations +from .operations import DataSetMappingOperations +from .operations import InvitationOperations +from .operations import OperationOperations +from .operations import ShareOperations +from .operations import ProviderShareSubscriptionOperations +from .operations import ShareSubscriptionOperations +from .operations import ConsumerSourceDataSetOperations +from .operations import SynchronizationSettingOperations +from .operations import TriggerOperations +from . import models + + +class DataShareManagementClient(object): + """Creates a Microsoft.DataShare management client. + + :ivar account: AccountOperations operations + :vartype account: data_share_management_client.operations.AccountOperations + :ivar consumer_invitation: ConsumerInvitationOperations operations + :vartype consumer_invitation: data_share_management_client.operations.ConsumerInvitationOperations + :ivar data_set: DataSetOperations operations + :vartype data_set: data_share_management_client.operations.DataSetOperations + :ivar data_set_mapping: DataSetMappingOperations operations + :vartype data_set_mapping: data_share_management_client.operations.DataSetMappingOperations + :ivar invitation: InvitationOperations operations + :vartype invitation: data_share_management_client.operations.InvitationOperations + :ivar operation: OperationOperations operations + :vartype operation: data_share_management_client.operations.OperationOperations + :ivar share: ShareOperations operations + :vartype share: data_share_management_client.operations.ShareOperations + :ivar provider_share_subscription: ProviderShareSubscriptionOperations operations + :vartype provider_share_subscription: data_share_management_client.operations.ProviderShareSubscriptionOperations + :ivar share_subscription: ShareSubscriptionOperations operations + :vartype share_subscription: data_share_management_client.operations.ShareSubscriptionOperations + :ivar consumer_source_data_set: ConsumerSourceDataSetOperations operations + :vartype consumer_source_data_set: data_share_management_client.operations.ConsumerSourceDataSetOperations + :ivar synchronization_setting: SynchronizationSettingOperations operations + :vartype synchronization_setting: data_share_management_client.operations.SynchronizationSettingOperations + :ivar trigger: TriggerOperations operations + :vartype trigger: data_share_management_client.operations.TriggerOperations + :param credential: Credential needed for the client to connect to Azure. + :type credential: azure.core.credentials.TokenCredential + :param subscription_id: The subscription identifier. + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, + credential, # type: "TokenCredential" + subscription_id, # type: str + base_url=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> None + if not base_url: + base_url = 'https://management.azure.com' + self._config = DataShareManagementClientConfiguration(credential, subscription_id, **kwargs) + self._client = PipelineClient(base_url=base_url, config=self._config, **kwargs) + + 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.account = AccountOperations( + self._client, self._config, self._serialize, self._deserialize) + self.consumer_invitation = ConsumerInvitationOperations( + self._client, self._config, self._serialize, self._deserialize) + self.data_set = DataSetOperations( + self._client, self._config, self._serialize, self._deserialize) + self.data_set_mapping = DataSetMappingOperations( + self._client, self._config, self._serialize, self._deserialize) + self.invitation = InvitationOperations( + self._client, self._config, self._serialize, self._deserialize) + self.operation = OperationOperations( + self._client, self._config, self._serialize, self._deserialize) + self.share = ShareOperations( + self._client, self._config, self._serialize, self._deserialize) + self.provider_share_subscription = ProviderShareSubscriptionOperations( + self._client, self._config, self._serialize, self._deserialize) + self.share_subscription = ShareSubscriptionOperations( + self._client, self._config, self._serialize, self._deserialize) + self.consumer_source_data_set = ConsumerSourceDataSetOperations( + self._client, self._config, self._serialize, self._deserialize) + self.synchronization_setting = SynchronizationSettingOperations( + self._client, self._config, self._serialize, self._deserialize) + self.trigger = TriggerOperations( + self._client, self._config, self._serialize, self._deserialize) + + def close(self): + # type: () -> None + self._client.close() + + def __enter__(self): + # type: () -> DataShareManagementClient + self._client.__enter__() + return self + + def __exit__(self, *exc_details): + # type: (Any) -> None + self._client.__exit__(*exc_details) diff --git a/src/datashare/azext_datashare/vendored_sdks/datashare/aio/__init__.py b/src/datashare/azext_datashare/vendored_sdks/datashare/aio/__init__.py new file mode 100644 index 00000000000..e14f4db6b79 --- /dev/null +++ b/src/datashare/azext_datashare/vendored_sdks/datashare/aio/__init__.py @@ -0,0 +1,10 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._data_share_management_client_async import DataShareManagementClient +__all__ = ['DataShareManagementClient'] diff --git a/src/datashare/azext_datashare/vendored_sdks/datashare/aio/_configuration_async.py b/src/datashare/azext_datashare/vendored_sdks/datashare/aio/_configuration_async.py new file mode 100644 index 00000000000..a5c30f8ec3f --- /dev/null +++ b/src/datashare/azext_datashare/vendored_sdks/datashare/aio/_configuration_async.py @@ -0,0 +1,59 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import Any + +from azure.core.configuration import Configuration +from azure.core.pipeline import policies + +VERSION = "unknown" + +class DataShareManagementClientConfiguration(Configuration): + """Configuration for DataShareManagementClient. + + Note that all parameters used to create this instance are saved as instance + attributes. + + :param credential: Credential needed for the client to connect to Azure. + :type credential: azure.core.credentials.TokenCredential + :param subscription_id: The subscription identifier. + :type subscription_id: str + """ + + def __init__( + self, + credential: "TokenCredential", + subscription_id: str, + **kwargs: Any + ) -> None: + if credential is None: + raise ValueError("Parameter 'credential' must not be None.") + if subscription_id is None: + raise ValueError("Parameter 'subscription_id' must not be None.") + super(DataShareManagementClientConfiguration, self).__init__(**kwargs) + + self.credential = credential + self.subscription_id = subscription_id + self.api_version = "2019-11-01" + kwargs.setdefault('sdk_moniker', 'datasharemanagementclient/{}'.format(VERSION)) + self._configure(**kwargs) + + def _configure( + self, + **kwargs: Any + ) -> None: + self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get('retry_policy') or policies.AsyncRetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get('redirect_policy') or policies.AsyncRedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get('authentication_policy') + if self.credential and not self.authentication_policy: + self.authentication_policy = policies.AsyncBearerTokenCredentialPolicy(self.credential, **kwargs) diff --git a/src/datashare/azext_datashare/vendored_sdks/datashare/aio/_data_share_management_client_async.py b/src/datashare/azext_datashare/vendored_sdks/datashare/aio/_data_share_management_client_async.py new file mode 100644 index 00000000000..0609b8e2594 --- /dev/null +++ b/src/datashare/azext_datashare/vendored_sdks/datashare/aio/_data_share_management_client_async.py @@ -0,0 +1,113 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import Any, Optional + +from azure.core import AsyncPipelineClient +from msrest import Deserializer, Serializer + +from ._configuration_async import DataShareManagementClientConfiguration +from .operations_async import AccountOperations +from .operations_async import ConsumerInvitationOperations +from .operations_async import DataSetOperations +from .operations_async import DataSetMappingOperations +from .operations_async import InvitationOperations +from .operations_async import OperationOperations +from .operations_async import ShareOperations +from .operations_async import ProviderShareSubscriptionOperations +from .operations_async import ShareSubscriptionOperations +from .operations_async import ConsumerSourceDataSetOperations +from .operations_async import SynchronizationSettingOperations +from .operations_async import TriggerOperations +from .. import models + + +class DataShareManagementClient(object): + """Creates a Microsoft.DataShare management client. + + :ivar account: AccountOperations operations + :vartype account: data_share_management_client.aio.operations_async.AccountOperations + :ivar consumer_invitation: ConsumerInvitationOperations operations + :vartype consumer_invitation: data_share_management_client.aio.operations_async.ConsumerInvitationOperations + :ivar data_set: DataSetOperations operations + :vartype data_set: data_share_management_client.aio.operations_async.DataSetOperations + :ivar data_set_mapping: DataSetMappingOperations operations + :vartype data_set_mapping: data_share_management_client.aio.operations_async.DataSetMappingOperations + :ivar invitation: InvitationOperations operations + :vartype invitation: data_share_management_client.aio.operations_async.InvitationOperations + :ivar operation: OperationOperations operations + :vartype operation: data_share_management_client.aio.operations_async.OperationOperations + :ivar share: ShareOperations operations + :vartype share: data_share_management_client.aio.operations_async.ShareOperations + :ivar provider_share_subscription: ProviderShareSubscriptionOperations operations + :vartype provider_share_subscription: data_share_management_client.aio.operations_async.ProviderShareSubscriptionOperations + :ivar share_subscription: ShareSubscriptionOperations operations + :vartype share_subscription: data_share_management_client.aio.operations_async.ShareSubscriptionOperations + :ivar consumer_source_data_set: ConsumerSourceDataSetOperations operations + :vartype consumer_source_data_set: data_share_management_client.aio.operations_async.ConsumerSourceDataSetOperations + :ivar synchronization_setting: SynchronizationSettingOperations operations + :vartype synchronization_setting: data_share_management_client.aio.operations_async.SynchronizationSettingOperations + :ivar trigger: TriggerOperations operations + :vartype trigger: data_share_management_client.aio.operations_async.TriggerOperations + :param credential: Credential needed for the client to connect to Azure. + :type credential: azure.core.credentials.TokenCredential + :param subscription_id: The subscription identifier. + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, + credential: "TokenCredential", + subscription_id: str, + base_url: Optional[str] = None, + **kwargs: Any + ) -> None: + if not base_url: + base_url = 'https://management.azure.com' + self._config = DataShareManagementClientConfiguration(credential, subscription_id, **kwargs) + self._client = AsyncPipelineClient(base_url=base_url, config=self._config, **kwargs) + + 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.account = AccountOperations( + self._client, self._config, self._serialize, self._deserialize) + self.consumer_invitation = ConsumerInvitationOperations( + self._client, self._config, self._serialize, self._deserialize) + self.data_set = DataSetOperations( + self._client, self._config, self._serialize, self._deserialize) + self.data_set_mapping = DataSetMappingOperations( + self._client, self._config, self._serialize, self._deserialize) + self.invitation = InvitationOperations( + self._client, self._config, self._serialize, self._deserialize) + self.operation = OperationOperations( + self._client, self._config, self._serialize, self._deserialize) + self.share = ShareOperations( + self._client, self._config, self._serialize, self._deserialize) + self.provider_share_subscription = ProviderShareSubscriptionOperations( + self._client, self._config, self._serialize, self._deserialize) + self.share_subscription = ShareSubscriptionOperations( + self._client, self._config, self._serialize, self._deserialize) + self.consumer_source_data_set = ConsumerSourceDataSetOperations( + self._client, self._config, self._serialize, self._deserialize) + self.synchronization_setting = SynchronizationSettingOperations( + self._client, self._config, self._serialize, self._deserialize) + self.trigger = TriggerOperations( + self._client, self._config, self._serialize, self._deserialize) + + async def close(self) -> None: + await self._client.close() + + async def __aenter__(self) -> "DataShareManagementClient": + await self._client.__aenter__() + return self + + async def __aexit__(self, *exc_details) -> None: + await self._client.__aexit__(*exc_details) diff --git a/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations_async/__init__.py b/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations_async/__init__.py new file mode 100644 index 00000000000..c50fe5e6a33 --- /dev/null +++ b/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations_async/__init__.py @@ -0,0 +1,35 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._account_operations_async import AccountOperations +from ._consumer_invitation_operations_async import ConsumerInvitationOperations +from ._data_set_operations_async import DataSetOperations +from ._data_set_mapping_operations_async import DataSetMappingOperations +from ._invitation_operations_async import InvitationOperations +from ._operation_operations_async import OperationOperations +from ._share_operations_async import ShareOperations +from ._provider_share_subscription_operations_async import ProviderShareSubscriptionOperations +from ._share_subscription_operations_async import ShareSubscriptionOperations +from ._consumer_source_data_set_operations_async import ConsumerSourceDataSetOperations +from ._synchronization_setting_operations_async import SynchronizationSettingOperations +from ._trigger_operations_async import TriggerOperations + +__all__ = [ + 'AccountOperations', + 'ConsumerInvitationOperations', + 'DataSetOperations', + 'DataSetMappingOperations', + 'InvitationOperations', + 'OperationOperations', + 'ShareOperations', + 'ProviderShareSubscriptionOperations', + 'ShareSubscriptionOperations', + 'ConsumerSourceDataSetOperations', + 'SynchronizationSettingOperations', + 'TriggerOperations', +] diff --git a/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations_async/_account_operations_async.py b/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations_async/_account_operations_async.py new file mode 100644 index 00000000000..5c293630594 --- /dev/null +++ b/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations_async/_account_operations_async.py @@ -0,0 +1,531 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.polling import AsyncNoPolling, AsyncPollingMethod, async_poller + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class AccountOperations: + """AccountOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~data_share_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + async def get( + self, + resource_group_name: str, + account_name: str, + **kwargs + ) -> "models.Account": + """Get an account. + + Get an account under a resource group. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Account or the result of cls(response) + :rtype: ~data_share_management_client.models.Account + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.Account"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.DataShareError, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('Account', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}'} + + async def _create_initial( + self, + resource_group_name: str, + account_name: str, + identity: "models.Identity", + location: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + **kwargs + ) -> "models.Account": + cls = kwargs.pop('cls', None) # type: ClsType["models.Account"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _account = models.Account(location=location, tags=tags, identity=identity) + api_version = "2019-11-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self._create_initial.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_account, 'Account') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.DataShareError, response) + raise HttpResponseError(response=response, model=error) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('Account', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('Account', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}'} + + async def create( + self, + resource_group_name: str, + account_name: str, + identity: "models.Identity", + location: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + **kwargs + ) -> "models.Account": + """Create an account. + + Create an account in the given resource group. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param identity: Identity Info on the Account. + :type identity: ~data_share_management_client.models.Identity + :param location: Location of the azure resource. + :type location: str + :param tags: Tags on the azure resource. + :type tags: dict[str, str] + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :return: An instance of LROPoller that returns Account + :rtype: ~azure.core.polling.LROPoller[~data_share_management_client.models.Account] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', False) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.Account"] + raw_result = await self._create_initial( + resource_group_name=resource_group_name, + account_name=account_name, + identity=identity, + location=location, + tags=tags, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('Account', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: raise ValueError("polling being True is not valid because no default polling implemetation has been defined.") + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + return await async_poller(self._client, raw_result, get_long_running_output, polling_method) + create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}'} + + async def _delete_initial( + self, + resource_group_name: str, + account_name: str, + **kwargs + ) -> "models.OperationResponse": + cls = kwargs.pop('cls', None) # type: ClsType["models.OperationResponse"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + # Construct URL + url = self._delete_initial.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.DataShareError, response) + raise HttpResponseError(response=response, model=error) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('OperationResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}'} + + async def delete( + self, + resource_group_name: str, + account_name: str, + **kwargs + ) -> "models.OperationResponse": + """DeleteAccount. + + Delete an account. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :return: An instance of LROPoller that returns OperationResponse + :rtype: ~azure.core.polling.LROPoller[~data_share_management_client.models.OperationResponse] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', False) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.OperationResponse"] + raw_result = await self._delete_initial( + resource_group_name=resource_group_name, + account_name=account_name, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('OperationResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: raise ValueError("polling being True is not valid because no default polling implemetation has been defined.") + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + return await async_poller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}'} + + async def update( + self, + resource_group_name: str, + account_name: str, + tags: Optional[Dict[str, str]] = None, + **kwargs + ) -> "models.Account": + """Patch an account. + + Patch a given account. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param tags: Tags on the azure resource. + :type tags: dict[str, str] + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Account or the result of cls(response) + :rtype: ~data_share_management_client.models.Account + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.Account"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _account_update_parameters = models.AccountUpdateParameters(tags=tags) + api_version = "2019-11-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_account_update_parameters, 'AccountUpdateParameters') + body_content_kwargs['content'] = body_content + request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.DataShareError, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('Account', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}'} + + def list_by_subscription( + self, + skip_token: Optional[str] = None, + **kwargs + ) -> "models.AccountList": + """List Accounts in Subscription. + + List Accounts in a subscription. + + :param skip_token: Continuation token. + :type skip_token: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: AccountList or the result of cls(response) + :rtype: ~data_share_management_client.models.AccountList + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.AccountList"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_subscription.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if skip_token is not None: + query_parameters['$skipToken'] = self._serialize.query("skip_token", skip_token, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('AccountList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.DataShareError, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_by_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DataShare/accounts'} + + def list_by_resource_group( + self, + resource_group_name: str, + skip_token: Optional[str] = None, + **kwargs + ) -> "models.AccountList": + """List Accounts in ResourceGroup. + + List Accounts in a resource group. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param skip_token: Continuation token. + :type skip_token: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: AccountList or the result of cls(response) + :rtype: ~data_share_management_client.models.AccountList + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.AccountList"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if skip_token is not None: + query_parameters['$skipToken'] = self._serialize.query("skip_token", skip_token, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('AccountList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.DataShareError, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts'} diff --git a/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations_async/_consumer_invitation_operations_async.py b/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations_async/_consumer_invitation_operations_async.py new file mode 100644 index 00000000000..97d9f26ea32 --- /dev/null +++ b/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations_async/_consumer_invitation_operations_async.py @@ -0,0 +1,228 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class ConsumerInvitationOperations: + """ConsumerInvitationOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~data_share_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + async def reject_invitation( + self, + location: str, + invitation_id: str, + **kwargs + ) -> "models.ConsumerInvitation": + """Reject an invitation. + + Rejects the invitation identified by invitationId. + + :param location: Location of the invitation. + :type location: str + :param invitation_id: Unique id of the invitation. + :type invitation_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ConsumerInvitation or the result of cls(response) + :rtype: ~data_share_management_client.models.ConsumerInvitation + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ConsumerInvitation"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _invitation = models.ConsumerInvitation(invitation_id=invitation_id) + api_version = "2019-11-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.reject_invitation.metadata['url'] + path_format_arguments = { + 'location': self._serialize.url("location", location, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_invitation, 'ConsumerInvitation') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.DataShareError, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('ConsumerInvitation', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + reject_invitation.metadata = {'url': '/providers/Microsoft.DataShare/locations/{location}/RejectInvitation'} + + async def get( + self, + location: str, + invitation_id: str, + **kwargs + ) -> "models.ConsumerInvitation": + """Get an invitation. + + Gets the invitation identified by invitationId. + + :param location: Location of the invitation. + :type location: str + :param invitation_id: An invitation id. + :type invitation_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ConsumerInvitation or the result of cls(response) + :rtype: ~data_share_management_client.models.ConsumerInvitation + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ConsumerInvitation"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'location': self._serialize.url("location", location, 'str'), + 'invitationId': self._serialize.url("invitation_id", invitation_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.DataShareError, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('ConsumerInvitation', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/providers/Microsoft.DataShare/locations/{location}/consumerInvitations/{invitationId}'} + + def list_invitation( + self, + skip_token: Optional[str] = None, + **kwargs + ) -> "models.ConsumerInvitationList": + """Lists invitations. + + List the invitations. + + :param skip_token: The continuation token. + :type skip_token: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ConsumerInvitationList or the result of cls(response) + :rtype: ~data_share_management_client.models.ConsumerInvitationList + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ConsumerInvitationList"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_invitation.metadata['url'] + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if skip_token is not None: + query_parameters['$skipToken'] = self._serialize.query("skip_token", skip_token, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('ConsumerInvitationList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.DataShareError, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_invitation.metadata = {'url': '/providers/Microsoft.DataShare/ListInvitations'} diff --git a/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations_async/_consumer_source_data_set_operations_async.py b/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations_async/_consumer_source_data_set_operations_async.py new file mode 100644 index 00000000000..65443ffd30b --- /dev/null +++ b/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations_async/_consumer_source_data_set_operations_async.py @@ -0,0 +1,123 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class ConsumerSourceDataSetOperations: + """ConsumerSourceDataSetOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~data_share_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list_by_share_subscription( + self, + resource_group_name: str, + account_name: str, + share_subscription_name: str, + skip_token: Optional[str] = None, + **kwargs + ) -> "models.ConsumerSourceDataSetList": + """Get source dataSets of a shareSubscription. + + Get source dataSets of a shareSubscription. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param share_subscription_name: The name of the shareSubscription. + :type share_subscription_name: str + :param skip_token: Continuation token. + :type skip_token: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ConsumerSourceDataSetList or the result of cls(response) + :rtype: ~data_share_management_client.models.ConsumerSourceDataSetList + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ConsumerSourceDataSetList"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_share_subscription.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareSubscriptionName': self._serialize.url("share_subscription_name", share_subscription_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if skip_token is not None: + query_parameters['$skipToken'] = self._serialize.query("skip_token", skip_token, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('ConsumerSourceDataSetList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.DataShareError, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_by_share_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/ConsumerSourceDataSets'} diff --git a/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations_async/_data_set_mapping_operations_async.py b/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations_async/_data_set_mapping_operations_async.py new file mode 100644 index 00000000000..acf0170149b --- /dev/null +++ b/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations_async/_data_set_mapping_operations_async.py @@ -0,0 +1,333 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class DataSetMappingOperations: + """DataSetMappingOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~data_share_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + async def get( + self, + resource_group_name: str, + account_name: str, + share_subscription_name: str, + data_set_mapping_name: str, + **kwargs + ) -> "models.DataSetMapping": + """Get a DataSetMapping in a shareSubscription. + + Get DataSetMapping in a shareSubscription. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param share_subscription_name: The name of the shareSubscription. + :type share_subscription_name: str + :param data_set_mapping_name: The name of the dataSetMapping. + :type data_set_mapping_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DataSetMapping or the result of cls(response) + :rtype: ~data_share_management_client.models.DataSetMapping + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.DataSetMapping"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareSubscriptionName': self._serialize.url("share_subscription_name", share_subscription_name, 'str'), + 'dataSetMappingName': self._serialize.url("data_set_mapping_name", data_set_mapping_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.DataShareError, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('DataSetMapping', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/dataSetMappings/{dataSetMappingName}'} + + async def create( + self, + resource_group_name: str, + account_name: str, + share_subscription_name: str, + data_set_mapping_name: str, + data_set_mapping: "models.DataSetMapping", + **kwargs + ) -> "models.DataSetMapping": + """Create a DataSetMapping. + + Maps a source data set in the source share to a sink data set in the share subscription. + Enables copying the data set from source to destination. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param share_subscription_name: The name of the share subscription which will hold the data set + sink. + :type share_subscription_name: str + :param data_set_mapping_name: The name of the data set mapping to be created. + :type data_set_mapping_name: str + :param data_set_mapping: Destination data set configuration details. + :type data_set_mapping: ~data_share_management_client.models.DataSetMapping + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DataSetMapping or the result of cls(response) + :rtype: ~data_share_management_client.models.DataSetMapping or ~data_share_management_client.models.DataSetMapping + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.DataSetMapping"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.create.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareSubscriptionName': self._serialize.url("share_subscription_name", share_subscription_name, 'str'), + 'dataSetMappingName': self._serialize.url("data_set_mapping_name", data_set_mapping_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(data_set_mapping, 'DataSetMapping') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.DataShareError, response) + raise HttpResponseError(response=response, model=error) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('DataSetMapping', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('DataSetMapping', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/dataSetMappings/{dataSetMappingName}'} + + async def delete( + self, + resource_group_name: str, + account_name: str, + share_subscription_name: str, + data_set_mapping_name: str, + **kwargs + ) -> None: + """Delete a DataSetMapping in a shareSubscription. + + Delete DataSetMapping in a shareSubscription. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param share_subscription_name: The name of the shareSubscription. + :type share_subscription_name: str + :param data_set_mapping_name: The name of the dataSetMapping. + :type data_set_mapping_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareSubscriptionName': self._serialize.url("share_subscription_name", share_subscription_name, 'str'), + 'dataSetMappingName': self._serialize.url("data_set_mapping_name", data_set_mapping_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.DataShareError, response) + raise HttpResponseError(response=response, model=error) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/dataSetMappings/{dataSetMappingName}'} + + def list_by_share_subscription( + self, + resource_group_name: str, + account_name: str, + share_subscription_name: str, + skip_token: Optional[str] = None, + **kwargs + ) -> "models.DataSetMappingList": + """List DataSetMappings in a share subscription. + + List DataSetMappings in a share subscription. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param share_subscription_name: The name of the share subscription. + :type share_subscription_name: str + :param skip_token: Continuation token. + :type skip_token: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DataSetMappingList or the result of cls(response) + :rtype: ~data_share_management_client.models.DataSetMappingList + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.DataSetMappingList"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_share_subscription.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareSubscriptionName': self._serialize.url("share_subscription_name", share_subscription_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if skip_token is not None: + query_parameters['$skipToken'] = self._serialize.query("skip_token", skip_token, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('DataSetMappingList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.DataShareError, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_by_share_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/dataSetMappings'} diff --git a/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations_async/_data_set_operations_async.py b/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations_async/_data_set_operations_async.py new file mode 100644 index 00000000000..077f29e0407 --- /dev/null +++ b/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations_async/_data_set_operations_async.py @@ -0,0 +1,369 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.polling import AsyncNoPolling, AsyncPollingMethod, async_poller + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class DataSetOperations: + """DataSetOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~data_share_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + async def get( + self, + resource_group_name: str, + account_name: str, + share_name: str, + data_set_name: str, + **kwargs + ) -> "models.DataSet": + """Get a DataSet in a share. + + Get DataSet in a share. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param share_name: The name of the share. + :type share_name: str + :param data_set_name: The name of the dataSet. + :type data_set_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DataSet or the result of cls(response) + :rtype: ~data_share_management_client.models.DataSet + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.DataSet"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareName': self._serialize.url("share_name", share_name, 'str'), + 'dataSetName': self._serialize.url("data_set_name", data_set_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.DataShareError, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('DataSet', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/dataSets/{dataSetName}'} + + async def create( + self, + resource_group_name: str, + account_name: str, + share_name: str, + data_set_name: str, + data_set: "models.DataSet", + **kwargs + ) -> "models.DataSet": + """Create a DataSet. + + Adds a new data set to an existing share. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param share_name: The name of the share to add the data set to. + :type share_name: str + :param data_set_name: The name of the dataSet. + :type data_set_name: str + :param data_set: The new data set information. + :type data_set: ~data_share_management_client.models.DataSet + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DataSet or the result of cls(response) + :rtype: ~data_share_management_client.models.DataSet or ~data_share_management_client.models.DataSet + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.DataSet"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.create.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareName': self._serialize.url("share_name", share_name, 'str'), + 'dataSetName': self._serialize.url("data_set_name", data_set_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(data_set, 'DataSet') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.DataShareError, response) + raise HttpResponseError(response=response, model=error) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('DataSet', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('DataSet', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/dataSets/{dataSetName}'} + + async def _delete_initial( + self, + resource_group_name: str, + account_name: str, + share_name: str, + data_set_name: str, + **kwargs + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + # Construct URL + url = self._delete_initial.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareName': self._serialize.url("share_name", share_name, 'str'), + 'dataSetName': self._serialize.url("data_set_name", data_set_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.DataShareError, response) + raise HttpResponseError(response=response, model=error) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/dataSets/{dataSetName}'} + + async def delete( + self, + resource_group_name: str, + account_name: str, + share_name: str, + data_set_name: str, + **kwargs + ) -> None: + """Delete a DataSet in a share. + + Delete DataSet in a share. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param share_name: The name of the share. + :type share_name: str + :param data_set_name: The name of the dataSet. + :type data_set_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :return: An instance of LROPoller that returns None + :rtype: ~azure.core.polling.LROPoller[None] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', False) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + raw_result = await self._delete_initial( + resource_group_name=resource_group_name, + account_name=account_name, + share_name=share_name, + data_set_name=data_set_name, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: raise ValueError("polling being True is not valid because no default polling implemetation has been defined.") + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + return await async_poller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/dataSets/{dataSetName}'} + + def list_by_share( + self, + resource_group_name: str, + account_name: str, + share_name: str, + skip_token: Optional[str] = None, + **kwargs + ) -> "models.DataSetList": + """List DataSets in a share. + + List DataSets in a share. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param share_name: The name of the share. + :type share_name: str + :param skip_token: continuation token. + :type skip_token: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DataSetList or the result of cls(response) + :rtype: ~data_share_management_client.models.DataSetList + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.DataSetList"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_share.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareName': self._serialize.url("share_name", share_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if skip_token is not None: + query_parameters['$skipToken'] = self._serialize.query("skip_token", skip_token, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('DataSetList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.DataShareError, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_by_share.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/dataSets'} diff --git a/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations_async/_invitation_operations_async.py b/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations_async/_invitation_operations_async.py new file mode 100644 index 00000000000..c53ea9c8e86 --- /dev/null +++ b/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations_async/_invitation_operations_async.py @@ -0,0 +1,341 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class InvitationOperations: + """InvitationOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~data_share_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + async def get( + self, + resource_group_name: str, + account_name: str, + share_name: str, + invitation_name: str, + **kwargs + ) -> "models.Invitation": + """Get an invitation in a share. + + Get Invitation in a share. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param share_name: The name of the share. + :type share_name: str + :param invitation_name: The name of the invitation. + :type invitation_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Invitation or the result of cls(response) + :rtype: ~data_share_management_client.models.Invitation + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.Invitation"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareName': self._serialize.url("share_name", share_name, 'str'), + 'invitationName': self._serialize.url("invitation_name", invitation_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.DataShareError, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('Invitation', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/invitations/{invitationName}'} + + async def create( + self, + resource_group_name: str, + account_name: str, + share_name: str, + invitation_name: str, + target_active_directory_id: Optional[str] = None, + target_email: Optional[str] = None, + target_object_id: Optional[str] = None, + **kwargs + ) -> "models.Invitation": + """Create an invitation. + + Sends a new invitation to a recipient to access a share. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param share_name: The name of the share to send the invitation for. + :type share_name: str + :param invitation_name: The name of the invitation. + :type invitation_name: str + :param target_active_directory_id: The target Azure AD Id. Can't be combined with email. + :type target_active_directory_id: str + :param target_email: The email the invitation is directed to. + :type target_email: str + :param target_object_id: The target user or application Id that invitation is being sent to. + Must be specified along TargetActiveDirectoryId. This enables sending + invitations to specific users or applications in an AD tenant. + :type target_object_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Invitation or the result of cls(response) + :rtype: ~data_share_management_client.models.Invitation or ~data_share_management_client.models.Invitation + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.Invitation"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _invitation = models.Invitation(target_active_directory_id=target_active_directory_id, target_email=target_email, target_object_id=target_object_id) + api_version = "2019-11-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.create.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareName': self._serialize.url("share_name", share_name, 'str'), + 'invitationName': self._serialize.url("invitation_name", invitation_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_invitation, 'Invitation') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.DataShareError, response) + raise HttpResponseError(response=response, model=error) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('Invitation', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('Invitation', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/invitations/{invitationName}'} + + async def delete( + self, + resource_group_name: str, + account_name: str, + share_name: str, + invitation_name: str, + **kwargs + ) -> None: + """Delete an invitation in a share. + + Delete Invitation in a share. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param share_name: The name of the share. + :type share_name: str + :param invitation_name: The name of the invitation. + :type invitation_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareName': self._serialize.url("share_name", share_name, 'str'), + 'invitationName': self._serialize.url("invitation_name", invitation_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.DataShareError, response) + raise HttpResponseError(response=response, model=error) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/invitations/{invitationName}'} + + def list_by_share( + self, + resource_group_name: str, + account_name: str, + share_name: str, + skip_token: Optional[str] = None, + **kwargs + ) -> "models.InvitationList": + """List invitations in a share. + + List all Invitations in a share. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param share_name: The name of the share. + :type share_name: str + :param skip_token: The continuation token. + :type skip_token: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: InvitationList or the result of cls(response) + :rtype: ~data_share_management_client.models.InvitationList + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.InvitationList"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_share.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareName': self._serialize.url("share_name", share_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if skip_token is not None: + query_parameters['$skipToken'] = self._serialize.query("skip_token", skip_token, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('InvitationList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.DataShareError, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_by_share.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/invitations'} diff --git a/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations_async/_operation_operations_async.py b/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations_async/_operation_operations_async.py new file mode 100644 index 00000000000..397c94d67b8 --- /dev/null +++ b/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations_async/_operation_operations_async.py @@ -0,0 +1,102 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class OperationOperations: + """OperationOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~data_share_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + **kwargs + ) -> "models.OperationList": + """List of available operations. + + Lists the available operations. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: OperationList or the result of cls(response) + :rtype: ~data_share_management_client.models.OperationList + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.OperationList"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('OperationList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.DataShareError, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/providers/Microsoft.DataShare/operations'} diff --git a/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations_async/_provider_share_subscription_operations_async.py b/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations_async/_provider_share_subscription_operations_async.py new file mode 100644 index 00000000000..e516dc2824a --- /dev/null +++ b/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations_async/_provider_share_subscription_operations_async.py @@ -0,0 +1,367 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.polling import AsyncNoPolling, AsyncPollingMethod, async_poller + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class ProviderShareSubscriptionOperations: + """ProviderShareSubscriptionOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~data_share_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + async def get_by_share( + self, + resource_group_name: str, + account_name: str, + share_name: str, + provider_share_subscription_id: str, + **kwargs + ) -> "models.ProviderShareSubscription": + """Get share subscription in a provider share. + + Get share subscription in a provider share. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param share_name: The name of the share. + :type share_name: str + :param provider_share_subscription_id: To locate shareSubscription. + :type provider_share_subscription_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ProviderShareSubscription or the result of cls(response) + :rtype: ~data_share_management_client.models.ProviderShareSubscription + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ProviderShareSubscription"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + # Construct URL + url = self.get_by_share.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareName': self._serialize.url("share_name", share_name, 'str'), + 'providerShareSubscriptionId': self._serialize.url("provider_share_subscription_id", provider_share_subscription_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.DataShareError, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('ProviderShareSubscription', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_by_share.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/providerShareSubscriptions/{providerShareSubscriptionId}'} + + def list_by_share( + self, + resource_group_name: str, + account_name: str, + share_name: str, + skip_token: Optional[str] = None, + **kwargs + ) -> "models.ProviderShareSubscriptionList": + """List share subscriptions in a provider share. + + List of available share subscriptions to a provider share. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param share_name: The name of the share. + :type share_name: str + :param skip_token: Continuation Token. + :type skip_token: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ProviderShareSubscriptionList or the result of cls(response) + :rtype: ~data_share_management_client.models.ProviderShareSubscriptionList + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ProviderShareSubscriptionList"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_share.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareName': self._serialize.url("share_name", share_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if skip_token is not None: + query_parameters['$skipToken'] = self._serialize.query("skip_token", skip_token, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('ProviderShareSubscriptionList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.DataShareError, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_by_share.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/providerShareSubscriptions'} + + async def _revoke_initial( + self, + resource_group_name: str, + account_name: str, + share_name: str, + provider_share_subscription_id: str, + **kwargs + ) -> "models.ProviderShareSubscription": + cls = kwargs.pop('cls', None) # type: ClsType["models.ProviderShareSubscription"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + # Construct URL + url = self._revoke_initial.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareName': self._serialize.url("share_name", share_name, 'str'), + 'providerShareSubscriptionId': self._serialize.url("provider_share_subscription_id", provider_share_subscription_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.DataShareError, response) + raise HttpResponseError(response=response, model=error) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('ProviderShareSubscription', pipeline_response) + + if response.status_code == 202: + deserialized = self._deserialize('ProviderShareSubscription', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _revoke_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/providerShareSubscriptions/{providerShareSubscriptionId}/revoke'} + + async def revoke( + self, + resource_group_name: str, + account_name: str, + share_name: str, + provider_share_subscription_id: str, + **kwargs + ) -> "models.ProviderShareSubscription": + """Revoke share subscription in a provider share. + + Revoke share subscription in a provider share. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param share_name: The name of the share. + :type share_name: str + :param provider_share_subscription_id: To locate shareSubscription. + :type provider_share_subscription_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :return: An instance of LROPoller that returns ProviderShareSubscription + :rtype: ~azure.core.polling.LROPoller[~data_share_management_client.models.ProviderShareSubscription] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', False) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.ProviderShareSubscription"] + raw_result = await self._revoke_initial( + resource_group_name=resource_group_name, + account_name=account_name, + share_name=share_name, + provider_share_subscription_id=provider_share_subscription_id, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ProviderShareSubscription', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: raise ValueError("polling being True is not valid because no default polling implemetation has been defined.") + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + return await async_poller(self._client, raw_result, get_long_running_output, polling_method) + revoke.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/providerShareSubscriptions/{providerShareSubscriptionId}/revoke'} + + async def reinstate( + self, + resource_group_name: str, + account_name: str, + share_name: str, + provider_share_subscription_id: str, + **kwargs + ) -> "models.ProviderShareSubscription": + """Reinstate share subscription in a provider share. + + Reinstate share subscription in a provider share. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param share_name: The name of the share. + :type share_name: str + :param provider_share_subscription_id: To locate shareSubscription. + :type provider_share_subscription_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ProviderShareSubscription or the result of cls(response) + :rtype: ~data_share_management_client.models.ProviderShareSubscription + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ProviderShareSubscription"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + # Construct URL + url = self.reinstate.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareName': self._serialize.url("share_name", share_name, 'str'), + 'providerShareSubscriptionId': self._serialize.url("provider_share_subscription_id", provider_share_subscription_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.DataShareError, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('ProviderShareSubscription', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + reinstate.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/providerShareSubscriptions/{providerShareSubscriptionId}/reinstate'} diff --git a/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations_async/_share_operations_async.py b/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations_async/_share_operations_async.py new file mode 100644 index 00000000000..0c7c5ef51f1 --- /dev/null +++ b/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations_async/_share_operations_async.py @@ -0,0 +1,567 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import datetime +from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.polling import AsyncNoPolling, AsyncPollingMethod, async_poller + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class ShareOperations: + """ShareOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~data_share_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + async def get( + self, + resource_group_name: str, + account_name: str, + share_name: str, + **kwargs + ) -> "models.Share": + """Get a share. + + Get a specified share. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param share_name: The name of the share to retrieve. + :type share_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Share or the result of cls(response) + :rtype: ~data_share_management_client.models.Share + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.Share"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareName': self._serialize.url("share_name", share_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.DataShareError, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('Share', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}'} + + async def create( + self, + resource_group_name: str, + account_name: str, + share_name: str, + description: Optional[str] = None, + share_kind: Optional[Union[str, "models.ShareKind"]] = None, + terms: Optional[str] = None, + **kwargs + ) -> "models.Share": + """Create a share. + + Create a share in the given account. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param share_name: The name of the share. + :type share_name: str + :param description: Share description. + :type description: str + :param share_kind: Share kind. + :type share_kind: str or ~data_share_management_client.models.ShareKind + :param terms: Share terms. + :type terms: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Share or the result of cls(response) + :rtype: ~data_share_management_client.models.Share or ~data_share_management_client.models.Share + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.Share"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _share = models.Share(description=description, share_kind=share_kind, terms=terms) + api_version = "2019-11-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.create.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareName': self._serialize.url("share_name", share_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_share, 'Share') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.DataShareError, response) + raise HttpResponseError(response=response, model=error) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('Share', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('Share', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}'} + + async def _delete_initial( + self, + resource_group_name: str, + account_name: str, + share_name: str, + **kwargs + ) -> "models.OperationResponse": + cls = kwargs.pop('cls', None) # type: ClsType["models.OperationResponse"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + # Construct URL + url = self._delete_initial.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareName': self._serialize.url("share_name", share_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.DataShareError, response) + raise HttpResponseError(response=response, model=error) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('OperationResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}'} + + async def delete( + self, + resource_group_name: str, + account_name: str, + share_name: str, + **kwargs + ) -> "models.OperationResponse": + """Delete a share. + + Deletes a share. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param share_name: The name of the share. + :type share_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :return: An instance of LROPoller that returns OperationResponse + :rtype: ~azure.core.polling.LROPoller[~data_share_management_client.models.OperationResponse] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', False) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.OperationResponse"] + raw_result = await self._delete_initial( + resource_group_name=resource_group_name, + account_name=account_name, + share_name=share_name, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('OperationResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: raise ValueError("polling being True is not valid because no default polling implemetation has been defined.") + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + return await async_poller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}'} + + def list_by_account( + self, + resource_group_name: str, + account_name: str, + skip_token: Optional[str] = None, + **kwargs + ) -> "models.ShareList": + """List shares in an account. + + List of available shares under an account. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param skip_token: Continuation Token. + :type skip_token: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ShareList or the result of cls(response) + :rtype: ~data_share_management_client.models.ShareList + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ShareList"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_account.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if skip_token is not None: + query_parameters['$skipToken'] = self._serialize.query("skip_token", skip_token, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('ShareList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.DataShareError, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_by_account.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares'} + + def list_synchronization( + self, + resource_group_name: str, + account_name: str, + share_name: str, + skip_token: Optional[str] = None, + **kwargs + ) -> "models.ShareSynchronizationList": + """List synchronizations of a share. + + List Synchronizations in a share. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param share_name: The name of the share. + :type share_name: str + :param skip_token: Continuation token. + :type skip_token: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ShareSynchronizationList or the result of cls(response) + :rtype: ~data_share_management_client.models.ShareSynchronizationList + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ShareSynchronizationList"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_synchronization.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareName': self._serialize.url("share_name", share_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if skip_token is not None: + query_parameters['$skipToken'] = self._serialize.query("skip_token", skip_token, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('ShareSynchronizationList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.DataShareError, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_synchronization.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/listSynchronizations'} + + def list_synchronization_detail( + self, + resource_group_name: str, + account_name: str, + share_name: str, + skip_token: Optional[str] = None, + consumer_email: Optional[str] = None, + consumer_name: Optional[str] = None, + consumer_tenant_name: Optional[str] = None, + duration_ms: Optional[int] = None, + end_time: Optional[datetime.datetime] = None, + message: Optional[str] = None, + start_time: Optional[datetime.datetime] = None, + status: Optional[str] = None, + synchronization_id: Optional[str] = None, + **kwargs + ) -> "models.SynchronizationDetailsList": + """List synchronization details. + + List data set level details for a share synchronization. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param share_name: The name of the share. + :type share_name: str + :param skip_token: Continuation token. + :type skip_token: str + :param consumer_email: Email of the user who created the synchronization. + :type consumer_email: str + :param consumer_name: Name of the user who created the synchronization. + :type consumer_name: str + :param consumer_tenant_name: Tenant name of the consumer who created the synchronization. + :type consumer_tenant_name: str + :param duration_ms: synchronization duration. + :type duration_ms: int + :param end_time: End time of synchronization. + :type end_time: ~datetime.datetime + :param message: message of synchronization. + :type message: str + :param start_time: start time of synchronization. + :type start_time: ~datetime.datetime + :param status: Raw Status. + :type status: str + :param synchronization_id: Synchronization id. + :type synchronization_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SynchronizationDetailsList or the result of cls(response) + :rtype: ~data_share_management_client.models.SynchronizationDetailsList + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.SynchronizationDetailsList"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + _share_synchronization = models.ShareSynchronization(consumer_email=consumer_email, consumer_name=consumer_name, consumer_tenant_name=consumer_tenant_name, duration_ms=duration_ms, end_time=end_time, message=message, start_time=start_time, status=status, synchronization_id=synchronization_id) + api_version = "2019-11-01" + content_type = "application/json" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_synchronization_detail.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareName': self._serialize.url("share_name", share_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if skip_token is not None: + query_parameters['$skipToken'] = self._serialize.query("skip_token", skip_token, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_share_synchronization, 'ShareSynchronization') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('SynchronizationDetailsList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.DataShareError, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_synchronization_detail.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/listSynchronizationDetails'} diff --git a/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations_async/_share_subscription_operations_async.py b/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations_async/_share_subscription_operations_async.py new file mode 100644 index 00000000000..4416c305e0e --- /dev/null +++ b/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations_async/_share_subscription_operations_async.py @@ -0,0 +1,858 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.polling import AsyncNoPolling, AsyncPollingMethod, async_poller + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class ShareSubscriptionOperations: + """ShareSubscriptionOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~data_share_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + async def get( + self, + resource_group_name: str, + account_name: str, + share_subscription_name: str, + **kwargs + ) -> "models.ShareSubscription": + """Get a shareSubscription in an account. + + Get shareSubscription in an account. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param share_subscription_name: The name of the shareSubscription. + :type share_subscription_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ShareSubscription or the result of cls(response) + :rtype: ~data_share_management_client.models.ShareSubscription + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ShareSubscription"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareSubscriptionName': self._serialize.url("share_subscription_name", share_subscription_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.DataShareError, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('ShareSubscription', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}'} + + async def create( + self, + resource_group_name: str, + account_name: str, + share_subscription_name: str, + invitation_id: str, + source_share_location: str, + **kwargs + ) -> "models.ShareSubscription": + """Create a shareSubscription in an account. + + Create shareSubscription in an account. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param share_subscription_name: The name of the shareSubscription. + :type share_subscription_name: str + :param invitation_id: The invitation id. + :type invitation_id: str + :param source_share_location: Source share location. + :type source_share_location: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ShareSubscription or the result of cls(response) + :rtype: ~data_share_management_client.models.ShareSubscription or ~data_share_management_client.models.ShareSubscription + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ShareSubscription"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _share_subscription = models.ShareSubscription(invitation_id=invitation_id, source_share_location=source_share_location) + api_version = "2019-11-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.create.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareSubscriptionName': self._serialize.url("share_subscription_name", share_subscription_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_share_subscription, 'ShareSubscription') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.DataShareError, response) + raise HttpResponseError(response=response, model=error) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('ShareSubscription', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('ShareSubscription', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}'} + + async def _delete_initial( + self, + resource_group_name: str, + account_name: str, + share_subscription_name: str, + **kwargs + ) -> "models.OperationResponse": + cls = kwargs.pop('cls', None) # type: ClsType["models.OperationResponse"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + # Construct URL + url = self._delete_initial.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareSubscriptionName': self._serialize.url("share_subscription_name", share_subscription_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.DataShareError, response) + raise HttpResponseError(response=response, model=error) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('OperationResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}'} + + async def delete( + self, + resource_group_name: str, + account_name: str, + share_subscription_name: str, + **kwargs + ) -> "models.OperationResponse": + """Delete a shareSubscription in an account. + + Delete shareSubscription in an account. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param share_subscription_name: The name of the shareSubscription. + :type share_subscription_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :return: An instance of LROPoller that returns OperationResponse + :rtype: ~azure.core.polling.LROPoller[~data_share_management_client.models.OperationResponse] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', False) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.OperationResponse"] + raw_result = await self._delete_initial( + resource_group_name=resource_group_name, + account_name=account_name, + share_subscription_name=share_subscription_name, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('OperationResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: raise ValueError("polling being True is not valid because no default polling implemetation has been defined.") + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + return await async_poller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}'} + + def list_by_account( + self, + resource_group_name: str, + account_name: str, + skip_token: Optional[str] = None, + **kwargs + ) -> "models.ShareSubscriptionList": + """List share subscriptions in an account. + + List of available share subscriptions under an account. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param skip_token: Continuation Token. + :type skip_token: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ShareSubscriptionList or the result of cls(response) + :rtype: ~data_share_management_client.models.ShareSubscriptionList + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ShareSubscriptionList"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_account.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if skip_token is not None: + query_parameters['$skipToken'] = self._serialize.query("skip_token", skip_token, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('ShareSubscriptionList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.DataShareError, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_by_account.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions'} + + def list_source_share_synchronization_setting( + self, + resource_group_name: str, + account_name: str, + share_subscription_name: str, + skip_token: Optional[str] = None, + **kwargs + ) -> "models.SourceShareSynchronizationSettingList": + """Get synchronization settings set on a share. + + Get source share synchronization settings for a shareSubscription. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param share_subscription_name: The name of the shareSubscription. + :type share_subscription_name: str + :param skip_token: Continuation token. + :type skip_token: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SourceShareSynchronizationSettingList or the result of cls(response) + :rtype: ~data_share_management_client.models.SourceShareSynchronizationSettingList + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.SourceShareSynchronizationSettingList"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_source_share_synchronization_setting.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareSubscriptionName': self._serialize.url("share_subscription_name", share_subscription_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if skip_token is not None: + query_parameters['$skipToken'] = self._serialize.query("skip_token", skip_token, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('SourceShareSynchronizationSettingList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.DataShareError, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_source_share_synchronization_setting.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/listSourceShareSynchronizationSettings'} + + def list_synchronization( + self, + resource_group_name: str, + account_name: str, + share_subscription_name: str, + skip_token: Optional[str] = None, + **kwargs + ) -> "models.ShareSubscriptionSynchronizationList": + """List synchronizations of a share subscription. + + List Synchronizations in a share subscription. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param share_subscription_name: The name of the share subscription. + :type share_subscription_name: str + :param skip_token: Continuation token. + :type skip_token: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ShareSubscriptionSynchronizationList or the result of cls(response) + :rtype: ~data_share_management_client.models.ShareSubscriptionSynchronizationList + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ShareSubscriptionSynchronizationList"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_synchronization.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareSubscriptionName': self._serialize.url("share_subscription_name", share_subscription_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if skip_token is not None: + query_parameters['$skipToken'] = self._serialize.query("skip_token", skip_token, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('ShareSubscriptionSynchronizationList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.DataShareError, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_synchronization.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/listSynchronizations'} + + def list_synchronization_detail( + self, + resource_group_name: str, + account_name: str, + share_subscription_name: str, + synchronization_id: str, + skip_token: Optional[str] = None, + **kwargs + ) -> "models.SynchronizationDetailsList": + """List synchronization details. + + List data set level details for a share subscription synchronization. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param share_subscription_name: The name of the share subscription. + :type share_subscription_name: str + :param synchronization_id: Synchronization id. + :type synchronization_id: str + :param skip_token: Continuation token. + :type skip_token: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SynchronizationDetailsList or the result of cls(response) + :rtype: ~data_share_management_client.models.SynchronizationDetailsList + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.SynchronizationDetailsList"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + _share_subscription_synchronization = models.ShareSubscriptionSynchronization(synchronization_id=synchronization_id) + api_version = "2019-11-01" + content_type = "application/json" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_synchronization_detail.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareSubscriptionName': self._serialize.url("share_subscription_name", share_subscription_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if skip_token is not None: + query_parameters['$skipToken'] = self._serialize.query("skip_token", skip_token, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_share_subscription_synchronization, 'ShareSubscriptionSynchronization') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('SynchronizationDetailsList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.DataShareError, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_synchronization_detail.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/listSynchronizationDetails'} + + async def _synchronize_initial( + self, + resource_group_name: str, + account_name: str, + share_subscription_name: str, + synchronization_mode: Optional[Union[str, "models.SynchronizationMode"]] = None, + **kwargs + ) -> "models.ShareSubscriptionSynchronization": + cls = kwargs.pop('cls', None) # type: ClsType["models.ShareSubscriptionSynchronization"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _synchronize = models.Synchronize(synchronization_mode=synchronization_mode) + api_version = "2019-11-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self._synchronize_initial.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareSubscriptionName': self._serialize.url("share_subscription_name", share_subscription_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_synchronize, 'Synchronize') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.DataShareError, response) + raise HttpResponseError(response=response, model=error) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('ShareSubscriptionSynchronization', pipeline_response) + + if response.status_code == 202: + deserialized = self._deserialize('ShareSubscriptionSynchronization', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _synchronize_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/Synchronize'} + + async def synchronize( + self, + resource_group_name: str, + account_name: str, + share_subscription_name: str, + synchronization_mode: Optional[Union[str, "models.SynchronizationMode"]] = None, + **kwargs + ) -> "models.ShareSubscriptionSynchronization": + """Initiate a copy. + + Initiate an asynchronous data share job. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param share_subscription_name: The name of share subscription. + :type share_subscription_name: str + :param synchronization_mode: Mode of synchronization used in triggers and snapshot sync. + Incremental by default. + :type synchronization_mode: str or ~data_share_management_client.models.SynchronizationMode + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :return: An instance of LROPoller that returns ShareSubscriptionSynchronization + :rtype: ~azure.core.polling.LROPoller[~data_share_management_client.models.ShareSubscriptionSynchronization] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', False) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.ShareSubscriptionSynchronization"] + raw_result = await self._synchronize_initial( + resource_group_name=resource_group_name, + account_name=account_name, + share_subscription_name=share_subscription_name, + synchronization_mode=synchronization_mode, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ShareSubscriptionSynchronization', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: raise ValueError("polling being True is not valid because no default polling implemetation has been defined.") + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + return await async_poller(self._client, raw_result, get_long_running_output, polling_method) + synchronize.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/Synchronize'} + + async def _cancel_synchronization_initial( + self, + resource_group_name: str, + account_name: str, + share_subscription_name: str, + synchronization_id: str, + **kwargs + ) -> "models.ShareSubscriptionSynchronization": + cls = kwargs.pop('cls', None) # type: ClsType["models.ShareSubscriptionSynchronization"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _share_subscription_synchronization = models.ShareSubscriptionSynchronization(synchronization_id=synchronization_id) + api_version = "2019-11-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self._cancel_synchronization_initial.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareSubscriptionName': self._serialize.url("share_subscription_name", share_subscription_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_share_subscription_synchronization, 'ShareSubscriptionSynchronization') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.DataShareError, response) + raise HttpResponseError(response=response, model=error) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('ShareSubscriptionSynchronization', pipeline_response) + + if response.status_code == 202: + deserialized = self._deserialize('ShareSubscriptionSynchronization', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _cancel_synchronization_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/cancelSynchronization'} + + async def cancel_synchronization( + self, + resource_group_name: str, + account_name: str, + share_subscription_name: str, + synchronization_id: str, + **kwargs + ) -> "models.ShareSubscriptionSynchronization": + """Request to cancel a synchronization. + + Request cancellation of a data share snapshot. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param share_subscription_name: The name of the shareSubscription. + :type share_subscription_name: str + :param synchronization_id: Synchronization id. + :type synchronization_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :return: An instance of LROPoller that returns ShareSubscriptionSynchronization + :rtype: ~azure.core.polling.LROPoller[~data_share_management_client.models.ShareSubscriptionSynchronization] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', False) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.ShareSubscriptionSynchronization"] + raw_result = await self._cancel_synchronization_initial( + resource_group_name=resource_group_name, + account_name=account_name, + share_subscription_name=share_subscription_name, + synchronization_id=synchronization_id, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ShareSubscriptionSynchronization', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: raise ValueError("polling being True is not valid because no default polling implemetation has been defined.") + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + return await async_poller(self._client, raw_result, get_long_running_output, polling_method) + cancel_synchronization.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/cancelSynchronization'} diff --git a/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations_async/_synchronization_setting_operations_async.py b/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations_async/_synchronization_setting_operations_async.py new file mode 100644 index 00000000000..78a95bd6159 --- /dev/null +++ b/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations_async/_synchronization_setting_operations_async.py @@ -0,0 +1,378 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.polling import AsyncNoPolling, AsyncPollingMethod, async_poller + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class SynchronizationSettingOperations: + """SynchronizationSettingOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~data_share_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + async def get( + self, + resource_group_name: str, + account_name: str, + share_name: str, + synchronization_setting_name: str, + **kwargs + ) -> "models.SynchronizationSetting": + """Get a synchronizationSetting in a share. + + Get synchronizationSetting in a share. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param share_name: The name of the share. + :type share_name: str + :param synchronization_setting_name: The name of the synchronizationSetting. + :type synchronization_setting_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SynchronizationSetting or the result of cls(response) + :rtype: ~data_share_management_client.models.SynchronizationSetting + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.SynchronizationSetting"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareName': self._serialize.url("share_name", share_name, 'str'), + 'synchronizationSettingName': self._serialize.url("synchronization_setting_name", synchronization_setting_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.DataShareError, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('SynchronizationSetting', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/synchronizationSettings/{synchronizationSettingName}'} + + async def create( + self, + resource_group_name: str, + account_name: str, + share_name: str, + synchronization_setting_name: str, + synchronization_setting: "models.SynchronizationSetting", + **kwargs + ) -> "models.SynchronizationSetting": + """Create or update a synchronizationSetting. + + Adds a new synchronization setting to an existing share. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param share_name: The name of the share to add the synchronization setting to. + :type share_name: str + :param synchronization_setting_name: The name of the synchronizationSetting. + :type synchronization_setting_name: str + :param synchronization_setting: The new synchronization setting information. + :type synchronization_setting: ~data_share_management_client.models.SynchronizationSetting + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SynchronizationSetting or the result of cls(response) + :rtype: ~data_share_management_client.models.SynchronizationSetting or ~data_share_management_client.models.SynchronizationSetting + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.SynchronizationSetting"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.create.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareName': self._serialize.url("share_name", share_name, 'str'), + 'synchronizationSettingName': self._serialize.url("synchronization_setting_name", synchronization_setting_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(synchronization_setting, 'SynchronizationSetting') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.DataShareError, response) + raise HttpResponseError(response=response, model=error) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('SynchronizationSetting', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('SynchronizationSetting', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/synchronizationSettings/{synchronizationSettingName}'} + + async def _delete_initial( + self, + resource_group_name: str, + account_name: str, + share_name: str, + synchronization_setting_name: str, + **kwargs + ) -> "models.OperationResponse": + cls = kwargs.pop('cls', None) # type: ClsType["models.OperationResponse"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + # Construct URL + url = self._delete_initial.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareName': self._serialize.url("share_name", share_name, 'str'), + 'synchronizationSettingName': self._serialize.url("synchronization_setting_name", synchronization_setting_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.DataShareError, response) + raise HttpResponseError(response=response, model=error) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('OperationResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/synchronizationSettings/{synchronizationSettingName}'} + + async def delete( + self, + resource_group_name: str, + account_name: str, + share_name: str, + synchronization_setting_name: str, + **kwargs + ) -> "models.OperationResponse": + """Delete a synchronizationSetting in a share. + + Delete synchronizationSetting in a share. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param share_name: The name of the share. + :type share_name: str + :param synchronization_setting_name: The name of the synchronizationSetting . + :type synchronization_setting_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :return: An instance of LROPoller that returns OperationResponse + :rtype: ~azure.core.polling.LROPoller[~data_share_management_client.models.OperationResponse] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', False) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.OperationResponse"] + raw_result = await self._delete_initial( + resource_group_name=resource_group_name, + account_name=account_name, + share_name=share_name, + synchronization_setting_name=synchronization_setting_name, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('OperationResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: raise ValueError("polling being True is not valid because no default polling implemetation has been defined.") + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + return await async_poller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/synchronizationSettings/{synchronizationSettingName}'} + + def list_by_share( + self, + resource_group_name: str, + account_name: str, + share_name: str, + skip_token: Optional[str] = None, + **kwargs + ) -> "models.SynchronizationSettingList": + """List synchronizationSettings in a share. + + List synchronizationSettings in a share. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param share_name: The name of the share. + :type share_name: str + :param skip_token: continuation token. + :type skip_token: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SynchronizationSettingList or the result of cls(response) + :rtype: ~data_share_management_client.models.SynchronizationSettingList + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.SynchronizationSettingList"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_share.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareName': self._serialize.url("share_name", share_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if skip_token is not None: + query_parameters['$skipToken'] = self._serialize.query("skip_token", skip_token, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('SynchronizationSettingList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.DataShareError, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_by_share.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/synchronizationSettings'} diff --git a/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations_async/_trigger_operations_async.py b/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations_async/_trigger_operations_async.py new file mode 100644 index 00000000000..18598bf412e --- /dev/null +++ b/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations_async/_trigger_operations_async.py @@ -0,0 +1,421 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.polling import AsyncNoPolling, AsyncPollingMethod, async_poller + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class TriggerOperations: + """TriggerOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~data_share_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + async def get( + self, + resource_group_name: str, + account_name: str, + share_subscription_name: str, + trigger_name: str, + **kwargs + ) -> "models.Trigger": + """Get a Trigger in a shareSubscription. + + Get Trigger in a shareSubscription. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param share_subscription_name: The name of the shareSubscription. + :type share_subscription_name: str + :param trigger_name: The name of the trigger. + :type trigger_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Trigger or the result of cls(response) + :rtype: ~data_share_management_client.models.Trigger + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.Trigger"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareSubscriptionName': self._serialize.url("share_subscription_name", share_subscription_name, 'str'), + 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.DataShareError, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('Trigger', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/triggers/{triggerName}'} + + async def _create_initial( + self, + resource_group_name: str, + account_name: str, + share_subscription_name: str, + trigger_name: str, + trigger: "models.Trigger", + **kwargs + ) -> "models.Trigger": + cls = kwargs.pop('cls', None) # type: ClsType["models.Trigger"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self._create_initial.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareSubscriptionName': self._serialize.url("share_subscription_name", share_subscription_name, 'str'), + 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(trigger, 'Trigger') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.DataShareError, response) + raise HttpResponseError(response=response, model=error) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('Trigger', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('Trigger', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/triggers/{triggerName}'} + + async def create( + self, + resource_group_name: str, + account_name: str, + share_subscription_name: str, + trigger_name: str, + trigger: "models.Trigger", + **kwargs + ) -> "models.Trigger": + """Create a Trigger. + + This method creates a trigger for a share subscription. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param share_subscription_name: The name of the share subscription which will hold the data set + sink. + :type share_subscription_name: str + :param trigger_name: The name of the trigger. + :type trigger_name: str + :param trigger: Trigger details. + :type trigger: ~data_share_management_client.models.Trigger + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :return: An instance of LROPoller that returns Trigger + :rtype: ~azure.core.polling.LROPoller[~data_share_management_client.models.Trigger] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', False) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.Trigger"] + raw_result = await self._create_initial( + resource_group_name=resource_group_name, + account_name=account_name, + share_subscription_name=share_subscription_name, + trigger_name=trigger_name, + trigger=trigger, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('Trigger', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: raise ValueError("polling being True is not valid because no default polling implemetation has been defined.") + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + return await async_poller(self._client, raw_result, get_long_running_output, polling_method) + create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/triggers/{triggerName}'} + + async def _delete_initial( + self, + resource_group_name: str, + account_name: str, + share_subscription_name: str, + trigger_name: str, + **kwargs + ) -> "models.OperationResponse": + cls = kwargs.pop('cls', None) # type: ClsType["models.OperationResponse"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + # Construct URL + url = self._delete_initial.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareSubscriptionName': self._serialize.url("share_subscription_name", share_subscription_name, 'str'), + 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.DataShareError, response) + raise HttpResponseError(response=response, model=error) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('OperationResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/triggers/{triggerName}'} + + async def delete( + self, + resource_group_name: str, + account_name: str, + share_subscription_name: str, + trigger_name: str, + **kwargs + ) -> "models.OperationResponse": + """Delete a Trigger in a shareSubscription. + + Delete Trigger in a shareSubscription. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param share_subscription_name: The name of the shareSubscription. + :type share_subscription_name: str + :param trigger_name: The name of the trigger. + :type trigger_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :return: An instance of LROPoller that returns OperationResponse + :rtype: ~azure.core.polling.LROPoller[~data_share_management_client.models.OperationResponse] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', False) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.OperationResponse"] + raw_result = await self._delete_initial( + resource_group_name=resource_group_name, + account_name=account_name, + share_subscription_name=share_subscription_name, + trigger_name=trigger_name, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('OperationResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: raise ValueError("polling being True is not valid because no default polling implemetation has been defined.") + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + return await async_poller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/triggers/{triggerName}'} + + def list_by_share_subscription( + self, + resource_group_name: str, + account_name: str, + share_subscription_name: str, + skip_token: Optional[str] = None, + **kwargs + ) -> "models.TriggerList": + """List Triggers in a share subscription. + + List Triggers in a share subscription. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param share_subscription_name: The name of the share subscription. + :type share_subscription_name: str + :param skip_token: Continuation token. + :type skip_token: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: TriggerList or the result of cls(response) + :rtype: ~data_share_management_client.models.TriggerList + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.TriggerList"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_share_subscription.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareSubscriptionName': self._serialize.url("share_subscription_name", share_subscription_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if skip_token is not None: + query_parameters['$skipToken'] = self._serialize.query("skip_token", skip_token, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('TriggerList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.DataShareError, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_by_share_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/triggers'} diff --git a/src/datashare/azext_datashare/vendored_sdks/datashare/models/__init__.py b/src/datashare/azext_datashare/vendored_sdks/datashare/models/__init__.py new file mode 100644 index 00000000000..237bc58e2ae --- /dev/null +++ b/src/datashare/azext_datashare/vendored_sdks/datashare/models/__init__.py @@ -0,0 +1,250 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +try: + from ._models_py3 import Account + from ._models_py3 import AccountList + from ._models_py3 import AccountUpdateParameters + from ._models_py3 import AdlsGen1FileDataSet + from ._models_py3 import AdlsGen1FolderDataSet + from ._models_py3 import AdlsGen2FileDataSet + from ._models_py3 import AdlsGen2FileDataSetMapping + from ._models_py3 import AdlsGen2FileSystemDataSet + from ._models_py3 import AdlsGen2FileSystemDataSetMapping + from ._models_py3 import AdlsGen2FolderDataSet + from ._models_py3 import AdlsGen2FolderDataSetMapping + from ._models_py3 import BlobContainerDataSet + from ._models_py3 import BlobContainerDataSetMapping + from ._models_py3 import BlobDataSet + from ._models_py3 import BlobDataSetMapping + from ._models_py3 import BlobFolderDataSet + from ._models_py3 import BlobFolderDataSetMapping + from ._models_py3 import ConsumerInvitation + from ._models_py3 import ConsumerInvitationList + from ._models_py3 import ConsumerSourceDataSet + from ._models_py3 import ConsumerSourceDataSetList + from ._models_py3 import DataSet + from ._models_py3 import DataSetList + from ._models_py3 import DataSetMapping + from ._models_py3 import DataSetMappingList + from ._models_py3 import DataShareError + from ._models_py3 import DataShareErrorInfo + from ._models_py3 import DefaultDto + from ._models_py3 import DimensionProperties + from ._models_py3 import Identity + from ._models_py3 import Invitation + from ._models_py3 import InvitationList + from ._models_py3 import KustoClusterDataSet + from ._models_py3 import KustoClusterDataSetMapping + from ._models_py3 import KustoDatabaseDataSet + from ._models_py3 import KustoDatabaseDataSetMapping + from ._models_py3 import OperationList + from ._models_py3 import OperationMetaLogSpecification + from ._models_py3 import OperationMetaMetricSpecification + from ._models_py3 import OperationMetaServiceSpecification + from ._models_py3 import OperationModel + from ._models_py3 import OperationModelProperties + from ._models_py3 import OperationResponse + from ._models_py3 import ProviderShareSubscription + from ._models_py3 import ProviderShareSubscriptionList + from ._models_py3 import ProxyDto + from ._models_py3 import ScheduledSourceSynchronizationSetting + from ._models_py3 import ScheduledSynchronizationSetting + from ._models_py3 import ScheduledTrigger + from ._models_py3 import Share + from ._models_py3 import ShareList + from ._models_py3 import ShareSubscription + from ._models_py3 import ShareSubscriptionList + from ._models_py3 import ShareSubscriptionSynchronization + from ._models_py3 import ShareSubscriptionSynchronizationList + from ._models_py3 import ShareSynchronization + from ._models_py3 import ShareSynchronizationList + from ._models_py3 import SourceShareSynchronizationSetting + from ._models_py3 import SourceShareSynchronizationSettingList + from ._models_py3 import SqlDBTableDataSet + from ._models_py3 import SqlDBTableDataSetMapping + from ._models_py3 import SqlDwTableDataSet + from ._models_py3 import SqlDwTableDataSetMapping + from ._models_py3 import SynchronizationDetails + from ._models_py3 import SynchronizationDetailsList + from ._models_py3 import SynchronizationSetting + from ._models_py3 import SynchronizationSettingList + from ._models_py3 import Synchronize + from ._models_py3 import Trigger + from ._models_py3 import TriggerList +except (SyntaxError, ImportError): + from ._models import Account # type: ignore + from ._models import AccountList # type: ignore + from ._models import AccountUpdateParameters # type: ignore + from ._models import AdlsGen1FileDataSet # type: ignore + from ._models import AdlsGen1FolderDataSet # type: ignore + from ._models import AdlsGen2FileDataSet # type: ignore + from ._models import AdlsGen2FileDataSetMapping # type: ignore + from ._models import AdlsGen2FileSystemDataSet # type: ignore + from ._models import AdlsGen2FileSystemDataSetMapping # type: ignore + from ._models import AdlsGen2FolderDataSet # type: ignore + from ._models import AdlsGen2FolderDataSetMapping # type: ignore + from ._models import BlobContainerDataSet # type: ignore + from ._models import BlobContainerDataSetMapping # type: ignore + from ._models import BlobDataSet # type: ignore + from ._models import BlobDataSetMapping # type: ignore + from ._models import BlobFolderDataSet # type: ignore + from ._models import BlobFolderDataSetMapping # type: ignore + from ._models import ConsumerInvitation # type: ignore + from ._models import ConsumerInvitationList # type: ignore + from ._models import ConsumerSourceDataSet # type: ignore + from ._models import ConsumerSourceDataSetList # type: ignore + from ._models import DataSet # type: ignore + from ._models import DataSetList # type: ignore + from ._models import DataSetMapping # type: ignore + from ._models import DataSetMappingList # type: ignore + from ._models import DataShareError # type: ignore + from ._models import DataShareErrorInfo # type: ignore + from ._models import DefaultDto # type: ignore + from ._models import DimensionProperties # type: ignore + from ._models import Identity # type: ignore + from ._models import Invitation # type: ignore + from ._models import InvitationList # type: ignore + from ._models import KustoClusterDataSet # type: ignore + from ._models import KustoClusterDataSetMapping # type: ignore + from ._models import KustoDatabaseDataSet # type: ignore + from ._models import KustoDatabaseDataSetMapping # type: ignore + from ._models import OperationList # type: ignore + from ._models import OperationMetaLogSpecification # type: ignore + from ._models import OperationMetaMetricSpecification # type: ignore + from ._models import OperationMetaServiceSpecification # type: ignore + from ._models import OperationModel # type: ignore + from ._models import OperationModelProperties # type: ignore + from ._models import OperationResponse # type: ignore + from ._models import ProviderShareSubscription # type: ignore + from ._models import ProviderShareSubscriptionList # type: ignore + from ._models import ProxyDto # type: ignore + from ._models import ScheduledSourceSynchronizationSetting # type: ignore + from ._models import ScheduledSynchronizationSetting # type: ignore + from ._models import ScheduledTrigger # type: ignore + from ._models import Share # type: ignore + from ._models import ShareList # type: ignore + from ._models import ShareSubscription # type: ignore + from ._models import ShareSubscriptionList # type: ignore + from ._models import ShareSubscriptionSynchronization # type: ignore + from ._models import ShareSubscriptionSynchronizationList # type: ignore + from ._models import ShareSynchronization # type: ignore + from ._models import ShareSynchronizationList # type: ignore + from ._models import SourceShareSynchronizationSetting # type: ignore + from ._models import SourceShareSynchronizationSettingList # type: ignore + from ._models import SqlDBTableDataSet # type: ignore + from ._models import SqlDBTableDataSetMapping # type: ignore + from ._models import SqlDwTableDataSet # type: ignore + from ._models import SqlDwTableDataSetMapping # type: ignore + from ._models import SynchronizationDetails # type: ignore + from ._models import SynchronizationDetailsList # type: ignore + from ._models import SynchronizationSetting # type: ignore + from ._models import SynchronizationSettingList # type: ignore + from ._models import Synchronize # type: ignore + from ._models import Trigger # type: ignore + from ._models import TriggerList # type: ignore + +from ._data_share_management_client_enums import ( + DataSetMappingStatus, + DataSetType, + InvitationStatus, + Kind, + OutputType, + ProvisioningState, + RecurrenceInterval, + ShareKind, + ShareSubscriptionStatus, + Status, + SynchronizationMode, + TriggerStatus, +) + +__all__ = [ + 'Account', + 'AccountList', + 'AccountUpdateParameters', + 'AdlsGen1FileDataSet', + 'AdlsGen1FolderDataSet', + 'AdlsGen2FileDataSet', + 'AdlsGen2FileDataSetMapping', + 'AdlsGen2FileSystemDataSet', + 'AdlsGen2FileSystemDataSetMapping', + 'AdlsGen2FolderDataSet', + 'AdlsGen2FolderDataSetMapping', + 'BlobContainerDataSet', + 'BlobContainerDataSetMapping', + 'BlobDataSet', + 'BlobDataSetMapping', + 'BlobFolderDataSet', + 'BlobFolderDataSetMapping', + 'ConsumerInvitation', + 'ConsumerInvitationList', + 'ConsumerSourceDataSet', + 'ConsumerSourceDataSetList', + 'DataSet', + 'DataSetList', + 'DataSetMapping', + 'DataSetMappingList', + 'DataShareError', + 'DataShareErrorInfo', + 'DefaultDto', + 'DimensionProperties', + 'Identity', + 'Invitation', + 'InvitationList', + 'KustoClusterDataSet', + 'KustoClusterDataSetMapping', + 'KustoDatabaseDataSet', + 'KustoDatabaseDataSetMapping', + 'OperationList', + 'OperationMetaLogSpecification', + 'OperationMetaMetricSpecification', + 'OperationMetaServiceSpecification', + 'OperationModel', + 'OperationModelProperties', + 'OperationResponse', + 'ProviderShareSubscription', + 'ProviderShareSubscriptionList', + 'ProxyDto', + 'ScheduledSourceSynchronizationSetting', + 'ScheduledSynchronizationSetting', + 'ScheduledTrigger', + 'Share', + 'ShareList', + 'ShareSubscription', + 'ShareSubscriptionList', + 'ShareSubscriptionSynchronization', + 'ShareSubscriptionSynchronizationList', + 'ShareSynchronization', + 'ShareSynchronizationList', + 'SourceShareSynchronizationSetting', + 'SourceShareSynchronizationSettingList', + 'SqlDBTableDataSet', + 'SqlDBTableDataSetMapping', + 'SqlDwTableDataSet', + 'SqlDwTableDataSetMapping', + 'SynchronizationDetails', + 'SynchronizationDetailsList', + 'SynchronizationSetting', + 'SynchronizationSettingList', + 'Synchronize', + 'Trigger', + 'TriggerList', + 'DataSetMappingStatus', + 'DataSetType', + 'InvitationStatus', + 'Kind', + 'OutputType', + 'ProvisioningState', + 'RecurrenceInterval', + 'ShareKind', + 'ShareSubscriptionStatus', + 'Status', + 'SynchronizationMode', + 'TriggerStatus', +] diff --git a/src/datashare/azext_datashare/vendored_sdks/datashare/models/_data_share_management_client_enums.py b/src/datashare/azext_datashare/vendored_sdks/datashare/models/_data_share_management_client_enums.py new file mode 100644 index 00000000000..a2a515c4266 --- /dev/null +++ b/src/datashare/azext_datashare/vendored_sdks/datashare/models/_data_share_management_client_enums.py @@ -0,0 +1,128 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from enum import Enum + +class ProvisioningState(str, Enum): + """Provisioning state of the Account + """ + + succeeded = "Succeeded" + creating = "Creating" + deleting = "Deleting" + moving = "Moving" + failed = "Failed" + +class InvitationStatus(str, Enum): + """The status of the invitation. + """ + + pending = "Pending" + accepted = "Accepted" + rejected = "Rejected" + withdrawn = "Withdrawn" + +class Kind(str, Enum): + """Kind of data set. + """ + + blob = "Blob" + container = "Container" + blob_folder = "BlobFolder" + adls_gen2_file_system = "AdlsGen2FileSystem" + adls_gen2_folder = "AdlsGen2Folder" + adls_gen2_file = "AdlsGen2File" + adls_gen1_folder = "AdlsGen1Folder" + adls_gen1_file = "AdlsGen1File" + kusto_cluster = "KustoCluster" + kusto_database = "KustoDatabase" + sql_db_table = "SqlDBTable" + sql_dw_table = "SqlDWTable" + +class SynchronizationKind(str, Enum): + schedule_based = "ScheduleBased" + +class ShareKind(str, Enum): + """Share kind. + """ + + copy_based = "CopyBased" + in_place = "InPlace" + +class SynchronizationMode(str, Enum): + """Synchronization mode + """ + + incremental = "Incremental" + full_sync = "FullSync" + +class DataSetType(str, Enum): + """Type of the data set + """ + + blob = "Blob" + container = "Container" + blob_folder = "BlobFolder" + adls_gen2_file_system = "AdlsGen2FileSystem" + adls_gen2_folder = "AdlsGen2Folder" + adls_gen2_file = "AdlsGen2File" + adls_gen1_folder = "AdlsGen1Folder" + adls_gen1_file = "AdlsGen1File" + kusto_cluster = "KustoCluster" + kusto_database = "KustoDatabase" + sql_db_table = "SqlDBTable" + sql_dw_table = "SqlDWTable" + +class ShareSubscriptionStatus(str, Enum): + """Gets the status of share subscription + """ + + active = "Active" + revoked = "Revoked" + source_deleted = "SourceDeleted" + revoking = "Revoking" + +class Status(str, Enum): + """Operation state of the long running operation. + """ + + accepted = "Accepted" + in_progress = "InProgress" + transient_failure = "TransientFailure" + succeeded = "Succeeded" + failed = "Failed" + canceled = "Canceled" + +class RecurrenceInterval(str, Enum): + """Recurrence Interval + """ + + hour = "Hour" + day = "Day" + +class TriggerStatus(str, Enum): + """Gets the trigger state + """ + + active = "Active" + inactive = "Inactive" + source_synchronization_setting_deleted = "SourceSynchronizationSettingDeleted" + +class DataSetMappingStatus(str, Enum): + """Gets the status of the data set mapping. + """ + + ok = "Ok" + broken = "Broken" + +class OutputType(str, Enum): + """File output type + """ + + csv = "Csv" + parquet = "Parquet" diff --git a/src/datashare/azext_datashare/vendored_sdks/datashare/models/_models.py b/src/datashare/azext_datashare/vendored_sdks/datashare/models/_models.py new file mode 100644 index 00000000000..bee5d5e4df6 --- /dev/null +++ b/src/datashare/azext_datashare/vendored_sdks/datashare/models/_models.py @@ -0,0 +1,3738 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from azure.core.exceptions import HttpResponseError +import msrest.serialization + + +class DefaultDto(msrest.serialization.Model): + """Base data transfer object implementation for default resources. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: The resource id of the azure resource. + :vartype id: str + :param location: Location of the azure resource. + :type location: str + :ivar name: Name of the azure resource. + :vartype name: str + :param tags: A set of tags. Tags on the azure resource. + :type tags: dict[str, str] + :ivar type: Type of the azure resource. + :vartype type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(DefaultDto, self).__init__(**kwargs) + self.id = None + self.location = kwargs.get('location', None) + self.name = None + self.tags = kwargs.get('tags', None) + self.type = None + + +class Account(DefaultDto): + """An account data transfer object. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The resource id of the azure resource. + :vartype id: str + :param location: Location of the azure resource. + :type location: str + :ivar name: Name of the azure resource. + :vartype name: str + :param tags: A set of tags. Tags on the azure resource. + :type tags: dict[str, str] + :ivar type: Type of the azure resource. + :vartype type: str + :param identity: Required. Identity Info on the Account. + :type identity: ~data_share_management_client.models.Identity + :ivar created_at: Time at which the account was created. + :vartype created_at: ~datetime.datetime + :ivar provisioning_state: Provisioning state of the Account. Possible values include: + 'Succeeded', 'Creating', 'Deleting', 'Moving', 'Failed'. + :vartype provisioning_state: str or ~data_share_management_client.models.ProvisioningState + :ivar user_email: Email of the user who created the resource. + :vartype user_email: str + :ivar user_name: Name of the user who created the resource. + :vartype user_name: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'identity': {'required': True}, + 'created_at': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'user_email': {'readonly': True}, + 'user_name': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'identity': {'key': 'identity', 'type': 'Identity'}, + 'created_at': {'key': 'properties.createdAt', 'type': 'iso-8601'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'user_email': {'key': 'properties.userEmail', 'type': 'str'}, + 'user_name': {'key': 'properties.userName', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(Account, self).__init__(**kwargs) + self.identity = kwargs.get('identity', None) + self.created_at = None + self.provisioning_state = None + self.user_email = None + self.user_name = None + + +class AccountList(msrest.serialization.Model): + """List response for get Accounts. + + All required parameters must be populated in order to send to Azure. + + :param next_link: The Url of next result page. + :type next_link: str + :param value: Required. Collection of items of type DataTransferObjects. + :type value: list[~data_share_management_client.models.Account] + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[Account]'}, + } + + def __init__( + self, + **kwargs + ): + super(AccountList, self).__init__(**kwargs) + self.next_link = kwargs.get('next_link', None) + self.value = kwargs.get('value', None) + + +class AccountUpdateParameters(msrest.serialization.Model): + """Update parameters for accounts. + + :param tags: A set of tags. Tags on the azure resource. + :type tags: dict[str, str] + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__( + self, + **kwargs + ): + super(AccountUpdateParameters, self).__init__(**kwargs) + self.tags = kwargs.get('tags', None) + + +class ProxyDto(msrest.serialization.Model): + """Base data transfer object implementation for proxy resources. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: The resource id of the azure resource. + :vartype id: str + :ivar name: Name of the azure resource. + :vartype name: str + :ivar type: Type of the azure resource. + :vartype type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ProxyDto, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + + +class DataSet(ProxyDto): + """A DataSet data transfer object. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: AdlsGen1FileDataSet, AdlsGen1FolderDataSet, AdlsGen2FileDataSet, AdlsGen2FileSystemDataSet, AdlsGen2FolderDataSet, BlobDataSet, BlobFolderDataSet, BlobContainerDataSet, KustoClusterDataSet, KustoDatabaseDataSet, SqlDBTableDataSet, SqlDwTableDataSet. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The resource id of the azure resource. + :vartype id: str + :ivar name: Name of the azure resource. + :vartype name: str + :ivar type: Type of the azure resource. + :vartype type: str + :param kind: Required. Kind of data set.Constant filled by server. Possible values include: + 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', 'AdlsGen2File', + 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', 'SqlDBTable', 'SqlDWTable', + 'ScheduleBased'. + :type kind: str or ~data_share_management_client.models.Kind + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'kind': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + } + + _subtype_map = { + 'kind': {'AdlsGen1File': 'AdlsGen1FileDataSet', 'AdlsGen1Folder': 'AdlsGen1FolderDataSet', 'AdlsGen2File': 'AdlsGen2FileDataSet', 'AdlsGen2FileSystem': 'AdlsGen2FileSystemDataSet', 'AdlsGen2Folder': 'AdlsGen2FolderDataSet', 'Blob': 'BlobDataSet', 'BlobFolder': 'BlobFolderDataSet', 'Container': 'BlobContainerDataSet', 'KustoCluster': 'KustoClusterDataSet', 'KustoDatabase': 'KustoDatabaseDataSet', 'SqlDBTable': 'SqlDBTableDataSet', 'SqlDWTable': 'SqlDwTableDataSet'} + } + + def __init__( + self, + **kwargs + ): + super(DataSet, self).__init__(**kwargs) + self.kind = 'DataSet' + + +class AdlsGen1FileDataSet(DataSet): + """An ADLS Gen 1 file data set. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The resource id of the azure resource. + :vartype id: str + :ivar name: Name of the azure resource. + :vartype name: str + :ivar type: Type of the azure resource. + :vartype type: str + :param kind: Required. Kind of data set.Constant filled by server. Possible values include: + 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', 'AdlsGen2File', + 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', 'SqlDBTable', 'SqlDWTable', + 'ScheduleBased'. + :type kind: str or ~data_share_management_client.models.Kind + :param account_name: Required. The ADLS account name. + :type account_name: str + :ivar data_set_id: Unique id for identifying a data set resource. + :vartype data_set_id: str + :param file_name: Required. The file name in the ADLS account. + :type file_name: str + :param folder_path: Required. The folder path within the ADLS account. + :type folder_path: str + :param resource_group: Required. Resource group of ADLS account. + :type resource_group: str + :param subscription_id: Required. Subscription id of ADLS account. + :type subscription_id: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'kind': {'required': True}, + 'account_name': {'required': True}, + 'data_set_id': {'readonly': True}, + 'file_name': {'required': True}, + 'folder_path': {'required': True}, + 'resource_group': {'required': True}, + 'subscription_id': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'account_name': {'key': 'properties.accountName', 'type': 'str'}, + 'data_set_id': {'key': 'properties.dataSetId', 'type': 'str'}, + 'file_name': {'key': 'properties.fileName', 'type': 'str'}, + 'folder_path': {'key': 'properties.folderPath', 'type': 'str'}, + 'resource_group': {'key': 'properties.resourceGroup', 'type': 'str'}, + 'subscription_id': {'key': 'properties.subscriptionId', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(AdlsGen1FileDataSet, self).__init__(**kwargs) + self.kind = 'AdlsGen1File' + self.account_name = kwargs.get('account_name', None) + self.data_set_id = None + self.file_name = kwargs.get('file_name', None) + self.folder_path = kwargs.get('folder_path', None) + self.resource_group = kwargs.get('resource_group', None) + self.subscription_id = kwargs.get('subscription_id', None) + + +class AdlsGen1FolderDataSet(DataSet): + """An ADLS Gen 1 folder data set. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The resource id of the azure resource. + :vartype id: str + :ivar name: Name of the azure resource. + :vartype name: str + :ivar type: Type of the azure resource. + :vartype type: str + :param kind: Required. Kind of data set.Constant filled by server. Possible values include: + 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', 'AdlsGen2File', + 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', 'SqlDBTable', 'SqlDWTable', + 'ScheduleBased'. + :type kind: str or ~data_share_management_client.models.Kind + :param account_name: Required. The ADLS account name. + :type account_name: str + :ivar data_set_id: Unique id for identifying a data set resource. + :vartype data_set_id: str + :param folder_path: Required. The folder path within the ADLS account. + :type folder_path: str + :param resource_group: Required. Resource group of ADLS account. + :type resource_group: str + :param subscription_id: Required. Subscription id of ADLS account. + :type subscription_id: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'kind': {'required': True}, + 'account_name': {'required': True}, + 'data_set_id': {'readonly': True}, + 'folder_path': {'required': True}, + 'resource_group': {'required': True}, + 'subscription_id': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'account_name': {'key': 'properties.accountName', 'type': 'str'}, + 'data_set_id': {'key': 'properties.dataSetId', 'type': 'str'}, + 'folder_path': {'key': 'properties.folderPath', 'type': 'str'}, + 'resource_group': {'key': 'properties.resourceGroup', 'type': 'str'}, + 'subscription_id': {'key': 'properties.subscriptionId', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(AdlsGen1FolderDataSet, self).__init__(**kwargs) + self.kind = 'AdlsGen1Folder' + self.account_name = kwargs.get('account_name', None) + self.data_set_id = None + self.folder_path = kwargs.get('folder_path', None) + self.resource_group = kwargs.get('resource_group', None) + self.subscription_id = kwargs.get('subscription_id', None) + + +class AdlsGen2FileDataSet(DataSet): + """An ADLS Gen 2 file data set. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The resource id of the azure resource. + :vartype id: str + :ivar name: Name of the azure resource. + :vartype name: str + :ivar type: Type of the azure resource. + :vartype type: str + :param kind: Required. Kind of data set.Constant filled by server. Possible values include: + 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', 'AdlsGen2File', + 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', 'SqlDBTable', 'SqlDWTable', + 'ScheduleBased'. + :type kind: str or ~data_share_management_client.models.Kind + :ivar data_set_id: Unique id for identifying a data set resource. + :vartype data_set_id: str + :param file_path: Required. File path within the file system. + :type file_path: str + :param file_system: Required. File system to which the file belongs. + :type file_system: str + :param resource_group: Required. Resource group of storage account. + :type resource_group: str + :param storage_account_name: Required. Storage account name of the source data set. + :type storage_account_name: str + :param subscription_id: Required. Subscription id of storage account. + :type subscription_id: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'kind': {'required': True}, + 'data_set_id': {'readonly': True}, + 'file_path': {'required': True}, + 'file_system': {'required': True}, + 'resource_group': {'required': True}, + 'storage_account_name': {'required': True}, + 'subscription_id': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'data_set_id': {'key': 'properties.dataSetId', 'type': 'str'}, + 'file_path': {'key': 'properties.filePath', 'type': 'str'}, + 'file_system': {'key': 'properties.fileSystem', 'type': 'str'}, + 'resource_group': {'key': 'properties.resourceGroup', 'type': 'str'}, + 'storage_account_name': {'key': 'properties.storageAccountName', 'type': 'str'}, + 'subscription_id': {'key': 'properties.subscriptionId', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(AdlsGen2FileDataSet, self).__init__(**kwargs) + self.kind = 'AdlsGen2File' + self.data_set_id = None + self.file_path = kwargs.get('file_path', None) + self.file_system = kwargs.get('file_system', None) + self.resource_group = kwargs.get('resource_group', None) + self.storage_account_name = kwargs.get('storage_account_name', None) + self.subscription_id = kwargs.get('subscription_id', None) + + +class DataSetMapping(ProxyDto): + """A data set mapping data transfer object. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: AdlsGen2FileDataSetMapping, AdlsGen2FileSystemDataSetMapping, AdlsGen2FolderDataSetMapping, BlobDataSetMapping, BlobFolderDataSetMapping, BlobContainerDataSetMapping, KustoClusterDataSetMapping, KustoDatabaseDataSetMapping, SqlDBTableDataSetMapping, SqlDwTableDataSetMapping. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The resource id of the azure resource. + :vartype id: str + :ivar name: Name of the azure resource. + :vartype name: str + :ivar type: Type of the azure resource. + :vartype type: str + :param kind: Required. Kind of data set mapping.Constant filled by server. Possible values + include: 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', + 'AdlsGen2File', 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', + 'SqlDBTable', 'SqlDWTable', 'ScheduleBased'. + :type kind: str or ~data_share_management_client.models.Kind + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'kind': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + } + + _subtype_map = { + 'kind': {'AdlsGen2File': 'AdlsGen2FileDataSetMapping', 'AdlsGen2FileSystem': 'AdlsGen2FileSystemDataSetMapping', 'AdlsGen2Folder': 'AdlsGen2FolderDataSetMapping', 'Blob': 'BlobDataSetMapping', 'BlobFolder': 'BlobFolderDataSetMapping', 'Container': 'BlobContainerDataSetMapping', 'KustoCluster': 'KustoClusterDataSetMapping', 'KustoDatabase': 'KustoDatabaseDataSetMapping', 'SqlDBTable': 'SqlDBTableDataSetMapping', 'SqlDWTable': 'SqlDwTableDataSetMapping'} + } + + def __init__( + self, + **kwargs + ): + super(DataSetMapping, self).__init__(**kwargs) + self.kind = 'DataSetMapping' + + +class AdlsGen2FileDataSetMapping(DataSetMapping): + """An ADLS Gen2 file data set mapping. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The resource id of the azure resource. + :vartype id: str + :ivar name: Name of the azure resource. + :vartype name: str + :ivar type: Type of the azure resource. + :vartype type: str + :param kind: Required. Kind of data set mapping.Constant filled by server. Possible values + include: 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', + 'AdlsGen2File', 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', + 'SqlDBTable', 'SqlDWTable', 'ScheduleBased'. + :type kind: str or ~data_share_management_client.models.Kind + :param data_set_id: Required. The id of the source data set. + :type data_set_id: str + :ivar data_set_mapping_status: Gets the status of the data set mapping. Possible values + include: 'Ok', 'Broken'. + :vartype data_set_mapping_status: str or + ~data_share_management_client.models.DataSetMappingStatus + :param file_path: Required. File path within the file system. + :type file_path: str + :param file_system: Required. File system to which the file belongs. + :type file_system: str + :param output_type: Type of output file. Possible values include: 'Csv', 'Parquet'. + :type output_type: str or ~data_share_management_client.models.OutputType + :ivar provisioning_state: Provisioning state of the data set mapping. Possible values include: + 'Succeeded', 'Creating', 'Deleting', 'Moving', 'Failed'. + :vartype provisioning_state: str or ~data_share_management_client.models.ProvisioningState + :param resource_group: Required. Resource group of storage account. + :type resource_group: str + :param storage_account_name: Required. Storage account name of the source data set. + :type storage_account_name: str + :param subscription_id: Required. Subscription id of storage account. + :type subscription_id: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'kind': {'required': True}, + 'data_set_id': {'required': True}, + 'data_set_mapping_status': {'readonly': True}, + 'file_path': {'required': True}, + 'file_system': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'resource_group': {'required': True}, + 'storage_account_name': {'required': True}, + 'subscription_id': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'data_set_id': {'key': 'properties.dataSetId', 'type': 'str'}, + 'data_set_mapping_status': {'key': 'properties.dataSetMappingStatus', 'type': 'str'}, + 'file_path': {'key': 'properties.filePath', 'type': 'str'}, + 'file_system': {'key': 'properties.fileSystem', 'type': 'str'}, + 'output_type': {'key': 'properties.outputType', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'resource_group': {'key': 'properties.resourceGroup', 'type': 'str'}, + 'storage_account_name': {'key': 'properties.storageAccountName', 'type': 'str'}, + 'subscription_id': {'key': 'properties.subscriptionId', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(AdlsGen2FileDataSetMapping, self).__init__(**kwargs) + self.kind = 'AdlsGen2File' + self.data_set_id = kwargs.get('data_set_id', None) + self.data_set_mapping_status = None + self.file_path = kwargs.get('file_path', None) + self.file_system = kwargs.get('file_system', None) + self.output_type = kwargs.get('output_type', None) + self.provisioning_state = None + self.resource_group = kwargs.get('resource_group', None) + self.storage_account_name = kwargs.get('storage_account_name', None) + self.subscription_id = kwargs.get('subscription_id', None) + + +class AdlsGen2FileSystemDataSet(DataSet): + """An ADLS Gen 2 file system data set. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The resource id of the azure resource. + :vartype id: str + :ivar name: Name of the azure resource. + :vartype name: str + :ivar type: Type of the azure resource. + :vartype type: str + :param kind: Required. Kind of data set.Constant filled by server. Possible values include: + 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', 'AdlsGen2File', + 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', 'SqlDBTable', 'SqlDWTable', + 'ScheduleBased'. + :type kind: str or ~data_share_management_client.models.Kind + :ivar data_set_id: Unique id for identifying a data set resource. + :vartype data_set_id: str + :param file_system: Required. The file system name. + :type file_system: str + :param resource_group: Required. Resource group of storage account. + :type resource_group: str + :param storage_account_name: Required. Storage account name of the source data set. + :type storage_account_name: str + :param subscription_id: Required. Subscription id of storage account. + :type subscription_id: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'kind': {'required': True}, + 'data_set_id': {'readonly': True}, + 'file_system': {'required': True}, + 'resource_group': {'required': True}, + 'storage_account_name': {'required': True}, + 'subscription_id': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'data_set_id': {'key': 'properties.dataSetId', 'type': 'str'}, + 'file_system': {'key': 'properties.fileSystem', 'type': 'str'}, + 'resource_group': {'key': 'properties.resourceGroup', 'type': 'str'}, + 'storage_account_name': {'key': 'properties.storageAccountName', 'type': 'str'}, + 'subscription_id': {'key': 'properties.subscriptionId', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(AdlsGen2FileSystemDataSet, self).__init__(**kwargs) + self.kind = 'AdlsGen2FileSystem' + self.data_set_id = None + self.file_system = kwargs.get('file_system', None) + self.resource_group = kwargs.get('resource_group', None) + self.storage_account_name = kwargs.get('storage_account_name', None) + self.subscription_id = kwargs.get('subscription_id', None) + + +class AdlsGen2FileSystemDataSetMapping(DataSetMapping): + """An ADLS Gen2 file system data set mapping. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The resource id of the azure resource. + :vartype id: str + :ivar name: Name of the azure resource. + :vartype name: str + :ivar type: Type of the azure resource. + :vartype type: str + :param kind: Required. Kind of data set mapping.Constant filled by server. Possible values + include: 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', + 'AdlsGen2File', 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', + 'SqlDBTable', 'SqlDWTable', 'ScheduleBased'. + :type kind: str or ~data_share_management_client.models.Kind + :param data_set_id: Required. The id of the source data set. + :type data_set_id: str + :ivar data_set_mapping_status: Gets the status of the data set mapping. Possible values + include: 'Ok', 'Broken'. + :vartype data_set_mapping_status: str or + ~data_share_management_client.models.DataSetMappingStatus + :param file_system: Required. The file system name. + :type file_system: str + :ivar provisioning_state: Provisioning state of the data set mapping. Possible values include: + 'Succeeded', 'Creating', 'Deleting', 'Moving', 'Failed'. + :vartype provisioning_state: str or ~data_share_management_client.models.ProvisioningState + :param resource_group: Required. Resource group of storage account. + :type resource_group: str + :param storage_account_name: Required. Storage account name of the source data set. + :type storage_account_name: str + :param subscription_id: Required. Subscription id of storage account. + :type subscription_id: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'kind': {'required': True}, + 'data_set_id': {'required': True}, + 'data_set_mapping_status': {'readonly': True}, + 'file_system': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'resource_group': {'required': True}, + 'storage_account_name': {'required': True}, + 'subscription_id': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'data_set_id': {'key': 'properties.dataSetId', 'type': 'str'}, + 'data_set_mapping_status': {'key': 'properties.dataSetMappingStatus', 'type': 'str'}, + 'file_system': {'key': 'properties.fileSystem', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'resource_group': {'key': 'properties.resourceGroup', 'type': 'str'}, + 'storage_account_name': {'key': 'properties.storageAccountName', 'type': 'str'}, + 'subscription_id': {'key': 'properties.subscriptionId', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(AdlsGen2FileSystemDataSetMapping, self).__init__(**kwargs) + self.kind = 'AdlsGen2FileSystem' + self.data_set_id = kwargs.get('data_set_id', None) + self.data_set_mapping_status = None + self.file_system = kwargs.get('file_system', None) + self.provisioning_state = None + self.resource_group = kwargs.get('resource_group', None) + self.storage_account_name = kwargs.get('storage_account_name', None) + self.subscription_id = kwargs.get('subscription_id', None) + + +class AdlsGen2FolderDataSet(DataSet): + """An ADLS Gen 2 folder data set. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The resource id of the azure resource. + :vartype id: str + :ivar name: Name of the azure resource. + :vartype name: str + :ivar type: Type of the azure resource. + :vartype type: str + :param kind: Required. Kind of data set.Constant filled by server. Possible values include: + 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', 'AdlsGen2File', + 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', 'SqlDBTable', 'SqlDWTable', + 'ScheduleBased'. + :type kind: str or ~data_share_management_client.models.Kind + :ivar data_set_id: Unique id for identifying a data set resource. + :vartype data_set_id: str + :param file_system: Required. File system to which the folder belongs. + :type file_system: str + :param folder_path: Required. Folder path within the file system. + :type folder_path: str + :param resource_group: Required. Resource group of storage account. + :type resource_group: str + :param storage_account_name: Required. Storage account name of the source data set. + :type storage_account_name: str + :param subscription_id: Required. Subscription id of storage account. + :type subscription_id: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'kind': {'required': True}, + 'data_set_id': {'readonly': True}, + 'file_system': {'required': True}, + 'folder_path': {'required': True}, + 'resource_group': {'required': True}, + 'storage_account_name': {'required': True}, + 'subscription_id': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'data_set_id': {'key': 'properties.dataSetId', 'type': 'str'}, + 'file_system': {'key': 'properties.fileSystem', 'type': 'str'}, + 'folder_path': {'key': 'properties.folderPath', 'type': 'str'}, + 'resource_group': {'key': 'properties.resourceGroup', 'type': 'str'}, + 'storage_account_name': {'key': 'properties.storageAccountName', 'type': 'str'}, + 'subscription_id': {'key': 'properties.subscriptionId', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(AdlsGen2FolderDataSet, self).__init__(**kwargs) + self.kind = 'AdlsGen2Folder' + self.data_set_id = None + self.file_system = kwargs.get('file_system', None) + self.folder_path = kwargs.get('folder_path', None) + self.resource_group = kwargs.get('resource_group', None) + self.storage_account_name = kwargs.get('storage_account_name', None) + self.subscription_id = kwargs.get('subscription_id', None) + + +class AdlsGen2FolderDataSetMapping(DataSetMapping): + """An ADLS Gen2 folder data set mapping. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The resource id of the azure resource. + :vartype id: str + :ivar name: Name of the azure resource. + :vartype name: str + :ivar type: Type of the azure resource. + :vartype type: str + :param kind: Required. Kind of data set mapping.Constant filled by server. Possible values + include: 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', + 'AdlsGen2File', 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', + 'SqlDBTable', 'SqlDWTable', 'ScheduleBased'. + :type kind: str or ~data_share_management_client.models.Kind + :param data_set_id: Required. The id of the source data set. + :type data_set_id: str + :ivar data_set_mapping_status: Gets the status of the data set mapping. Possible values + include: 'Ok', 'Broken'. + :vartype data_set_mapping_status: str or + ~data_share_management_client.models.DataSetMappingStatus + :param file_system: Required. File system to which the folder belongs. + :type file_system: str + :param folder_path: Required. Folder path within the file system. + :type folder_path: str + :ivar provisioning_state: Provisioning state of the data set mapping. Possible values include: + 'Succeeded', 'Creating', 'Deleting', 'Moving', 'Failed'. + :vartype provisioning_state: str or ~data_share_management_client.models.ProvisioningState + :param resource_group: Required. Resource group of storage account. + :type resource_group: str + :param storage_account_name: Required. Storage account name of the source data set. + :type storage_account_name: str + :param subscription_id: Required. Subscription id of storage account. + :type subscription_id: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'kind': {'required': True}, + 'data_set_id': {'required': True}, + 'data_set_mapping_status': {'readonly': True}, + 'file_system': {'required': True}, + 'folder_path': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'resource_group': {'required': True}, + 'storage_account_name': {'required': True}, + 'subscription_id': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'data_set_id': {'key': 'properties.dataSetId', 'type': 'str'}, + 'data_set_mapping_status': {'key': 'properties.dataSetMappingStatus', 'type': 'str'}, + 'file_system': {'key': 'properties.fileSystem', 'type': 'str'}, + 'folder_path': {'key': 'properties.folderPath', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'resource_group': {'key': 'properties.resourceGroup', 'type': 'str'}, + 'storage_account_name': {'key': 'properties.storageAccountName', 'type': 'str'}, + 'subscription_id': {'key': 'properties.subscriptionId', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(AdlsGen2FolderDataSetMapping, self).__init__(**kwargs) + self.kind = 'AdlsGen2Folder' + self.data_set_id = kwargs.get('data_set_id', None) + self.data_set_mapping_status = None + self.file_system = kwargs.get('file_system', None) + self.folder_path = kwargs.get('folder_path', None) + self.provisioning_state = None + self.resource_group = kwargs.get('resource_group', None) + self.storage_account_name = kwargs.get('storage_account_name', None) + self.subscription_id = kwargs.get('subscription_id', None) + + +class BlobContainerDataSet(DataSet): + """An Azure storage blob container data set. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The resource id of the azure resource. + :vartype id: str + :ivar name: Name of the azure resource. + :vartype name: str + :ivar type: Type of the azure resource. + :vartype type: str + :param kind: Required. Kind of data set.Constant filled by server. Possible values include: + 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', 'AdlsGen2File', + 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', 'SqlDBTable', 'SqlDWTable', + 'ScheduleBased'. + :type kind: str or ~data_share_management_client.models.Kind + :param container_name: Required. BLOB Container name. + :type container_name: str + :ivar data_set_id: Unique id for identifying a data set resource. + :vartype data_set_id: str + :param resource_group: Required. Resource group of storage account. + :type resource_group: str + :param storage_account_name: Required. Storage account name of the source data set. + :type storage_account_name: str + :param subscription_id: Required. Subscription id of storage account. + :type subscription_id: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'kind': {'required': True}, + 'container_name': {'required': True}, + 'data_set_id': {'readonly': True}, + 'resource_group': {'required': True}, + 'storage_account_name': {'required': True}, + 'subscription_id': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'container_name': {'key': 'properties.containerName', 'type': 'str'}, + 'data_set_id': {'key': 'properties.dataSetId', 'type': 'str'}, + 'resource_group': {'key': 'properties.resourceGroup', 'type': 'str'}, + 'storage_account_name': {'key': 'properties.storageAccountName', 'type': 'str'}, + 'subscription_id': {'key': 'properties.subscriptionId', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(BlobContainerDataSet, self).__init__(**kwargs) + self.kind = 'Container' + self.container_name = kwargs.get('container_name', None) + self.data_set_id = None + self.resource_group = kwargs.get('resource_group', None) + self.storage_account_name = kwargs.get('storage_account_name', None) + self.subscription_id = kwargs.get('subscription_id', None) + + +class BlobContainerDataSetMapping(DataSetMapping): + """A Blob container data set mapping. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The resource id of the azure resource. + :vartype id: str + :ivar name: Name of the azure resource. + :vartype name: str + :ivar type: Type of the azure resource. + :vartype type: str + :param kind: Required. Kind of data set mapping.Constant filled by server. Possible values + include: 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', + 'AdlsGen2File', 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', + 'SqlDBTable', 'SqlDWTable', 'ScheduleBased'. + :type kind: str or ~data_share_management_client.models.Kind + :param container_name: Required. BLOB Container name. + :type container_name: str + :param data_set_id: Required. The id of the source data set. + :type data_set_id: str + :ivar data_set_mapping_status: Gets the status of the data set mapping. Possible values + include: 'Ok', 'Broken'. + :vartype data_set_mapping_status: str or + ~data_share_management_client.models.DataSetMappingStatus + :ivar provisioning_state: Provisioning state of the data set mapping. Possible values include: + 'Succeeded', 'Creating', 'Deleting', 'Moving', 'Failed'. + :vartype provisioning_state: str or ~data_share_management_client.models.ProvisioningState + :param resource_group: Required. Resource group of storage account. + :type resource_group: str + :param storage_account_name: Required. Storage account name of the source data set. + :type storage_account_name: str + :param subscription_id: Required. Subscription id of storage account. + :type subscription_id: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'kind': {'required': True}, + 'container_name': {'required': True}, + 'data_set_id': {'required': True}, + 'data_set_mapping_status': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'resource_group': {'required': True}, + 'storage_account_name': {'required': True}, + 'subscription_id': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'container_name': {'key': 'properties.containerName', 'type': 'str'}, + 'data_set_id': {'key': 'properties.dataSetId', 'type': 'str'}, + 'data_set_mapping_status': {'key': 'properties.dataSetMappingStatus', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'resource_group': {'key': 'properties.resourceGroup', 'type': 'str'}, + 'storage_account_name': {'key': 'properties.storageAccountName', 'type': 'str'}, + 'subscription_id': {'key': 'properties.subscriptionId', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(BlobContainerDataSetMapping, self).__init__(**kwargs) + self.kind = 'Container' + self.container_name = kwargs.get('container_name', None) + self.data_set_id = kwargs.get('data_set_id', None) + self.data_set_mapping_status = None + self.provisioning_state = None + self.resource_group = kwargs.get('resource_group', None) + self.storage_account_name = kwargs.get('storage_account_name', None) + self.subscription_id = kwargs.get('subscription_id', None) + + +class BlobDataSet(DataSet): + """An Azure storage blob data set. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The resource id of the azure resource. + :vartype id: str + :ivar name: Name of the azure resource. + :vartype name: str + :ivar type: Type of the azure resource. + :vartype type: str + :param kind: Required. Kind of data set.Constant filled by server. Possible values include: + 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', 'AdlsGen2File', + 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', 'SqlDBTable', 'SqlDWTable', + 'ScheduleBased'. + :type kind: str or ~data_share_management_client.models.Kind + :param container_name: Required. Container that has the file path. + :type container_name: str + :ivar data_set_id: Unique id for identifying a data set resource. + :vartype data_set_id: str + :param file_path: Required. File path within the source data set. + :type file_path: str + :param resource_group: Required. Resource group of storage account. + :type resource_group: str + :param storage_account_name: Required. Storage account name of the source data set. + :type storage_account_name: str + :param subscription_id: Required. Subscription id of storage account. + :type subscription_id: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'kind': {'required': True}, + 'container_name': {'required': True}, + 'data_set_id': {'readonly': True}, + 'file_path': {'required': True}, + 'resource_group': {'required': True}, + 'storage_account_name': {'required': True}, + 'subscription_id': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'container_name': {'key': 'properties.containerName', 'type': 'str'}, + 'data_set_id': {'key': 'properties.dataSetId', 'type': 'str'}, + 'file_path': {'key': 'properties.filePath', 'type': 'str'}, + 'resource_group': {'key': 'properties.resourceGroup', 'type': 'str'}, + 'storage_account_name': {'key': 'properties.storageAccountName', 'type': 'str'}, + 'subscription_id': {'key': 'properties.subscriptionId', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(BlobDataSet, self).__init__(**kwargs) + self.kind = 'Blob' + self.container_name = kwargs.get('container_name', None) + self.data_set_id = None + self.file_path = kwargs.get('file_path', None) + self.resource_group = kwargs.get('resource_group', None) + self.storage_account_name = kwargs.get('storage_account_name', None) + self.subscription_id = kwargs.get('subscription_id', None) + + +class BlobDataSetMapping(DataSetMapping): + """A Blob data set mapping. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The resource id of the azure resource. + :vartype id: str + :ivar name: Name of the azure resource. + :vartype name: str + :ivar type: Type of the azure resource. + :vartype type: str + :param kind: Required. Kind of data set mapping.Constant filled by server. Possible values + include: 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', + 'AdlsGen2File', 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', + 'SqlDBTable', 'SqlDWTable', 'ScheduleBased'. + :type kind: str or ~data_share_management_client.models.Kind + :param container_name: Required. Container that has the file path. + :type container_name: str + :param data_set_id: Required. The id of the source data set. + :type data_set_id: str + :ivar data_set_mapping_status: Gets the status of the data set mapping. Possible values + include: 'Ok', 'Broken'. + :vartype data_set_mapping_status: str or + ~data_share_management_client.models.DataSetMappingStatus + :param file_path: Required. File path within the source data set. + :type file_path: str + :param output_type: File output type. Possible values include: 'Csv', 'Parquet'. + :type output_type: str or ~data_share_management_client.models.OutputType + :ivar provisioning_state: Provisioning state of the data set mapping. Possible values include: + 'Succeeded', 'Creating', 'Deleting', 'Moving', 'Failed'. + :vartype provisioning_state: str or ~data_share_management_client.models.ProvisioningState + :param resource_group: Required. Resource group of storage account. + :type resource_group: str + :param storage_account_name: Required. Storage account name of the source data set. + :type storage_account_name: str + :param subscription_id: Required. Subscription id of storage account. + :type subscription_id: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'kind': {'required': True}, + 'container_name': {'required': True}, + 'data_set_id': {'required': True}, + 'data_set_mapping_status': {'readonly': True}, + 'file_path': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'resource_group': {'required': True}, + 'storage_account_name': {'required': True}, + 'subscription_id': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'container_name': {'key': 'properties.containerName', 'type': 'str'}, + 'data_set_id': {'key': 'properties.dataSetId', 'type': 'str'}, + 'data_set_mapping_status': {'key': 'properties.dataSetMappingStatus', 'type': 'str'}, + 'file_path': {'key': 'properties.filePath', 'type': 'str'}, + 'output_type': {'key': 'properties.outputType', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'resource_group': {'key': 'properties.resourceGroup', 'type': 'str'}, + 'storage_account_name': {'key': 'properties.storageAccountName', 'type': 'str'}, + 'subscription_id': {'key': 'properties.subscriptionId', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(BlobDataSetMapping, self).__init__(**kwargs) + self.kind = 'Blob' + self.container_name = kwargs.get('container_name', None) + self.data_set_id = kwargs.get('data_set_id', None) + self.data_set_mapping_status = None + self.file_path = kwargs.get('file_path', None) + self.output_type = kwargs.get('output_type', None) + self.provisioning_state = None + self.resource_group = kwargs.get('resource_group', None) + self.storage_account_name = kwargs.get('storage_account_name', None) + self.subscription_id = kwargs.get('subscription_id', None) + + +class BlobFolderDataSet(DataSet): + """An Azure storage blob folder data set. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The resource id of the azure resource. + :vartype id: str + :ivar name: Name of the azure resource. + :vartype name: str + :ivar type: Type of the azure resource. + :vartype type: str + :param kind: Required. Kind of data set.Constant filled by server. Possible values include: + 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', 'AdlsGen2File', + 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', 'SqlDBTable', 'SqlDWTable', + 'ScheduleBased'. + :type kind: str or ~data_share_management_client.models.Kind + :param container_name: Required. Container that has the file path. + :type container_name: str + :ivar data_set_id: Unique id for identifying a data set resource. + :vartype data_set_id: str + :param prefix: Required. Prefix for blob folder. + :type prefix: str + :param resource_group: Required. Resource group of storage account. + :type resource_group: str + :param storage_account_name: Required. Storage account name of the source data set. + :type storage_account_name: str + :param subscription_id: Required. Subscription id of storage account. + :type subscription_id: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'kind': {'required': True}, + 'container_name': {'required': True}, + 'data_set_id': {'readonly': True}, + 'prefix': {'required': True}, + 'resource_group': {'required': True}, + 'storage_account_name': {'required': True}, + 'subscription_id': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'container_name': {'key': 'properties.containerName', 'type': 'str'}, + 'data_set_id': {'key': 'properties.dataSetId', 'type': 'str'}, + 'prefix': {'key': 'properties.prefix', 'type': 'str'}, + 'resource_group': {'key': 'properties.resourceGroup', 'type': 'str'}, + 'storage_account_name': {'key': 'properties.storageAccountName', 'type': 'str'}, + 'subscription_id': {'key': 'properties.subscriptionId', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(BlobFolderDataSet, self).__init__(**kwargs) + self.kind = 'BlobFolder' + self.container_name = kwargs.get('container_name', None) + self.data_set_id = None + self.prefix = kwargs.get('prefix', None) + self.resource_group = kwargs.get('resource_group', None) + self.storage_account_name = kwargs.get('storage_account_name', None) + self.subscription_id = kwargs.get('subscription_id', None) + + +class BlobFolderDataSetMapping(DataSetMapping): + """A Blob folder data set mapping. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The resource id of the azure resource. + :vartype id: str + :ivar name: Name of the azure resource. + :vartype name: str + :ivar type: Type of the azure resource. + :vartype type: str + :param kind: Required. Kind of data set mapping.Constant filled by server. Possible values + include: 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', + 'AdlsGen2File', 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', + 'SqlDBTable', 'SqlDWTable', 'ScheduleBased'. + :type kind: str or ~data_share_management_client.models.Kind + :param container_name: Required. Container that has the file path. + :type container_name: str + :param data_set_id: Required. The id of the source data set. + :type data_set_id: str + :ivar data_set_mapping_status: Gets the status of the data set mapping. Possible values + include: 'Ok', 'Broken'. + :vartype data_set_mapping_status: str or + ~data_share_management_client.models.DataSetMappingStatus + :param prefix: Required. Prefix for blob folder. + :type prefix: str + :ivar provisioning_state: Provisioning state of the data set mapping. Possible values include: + 'Succeeded', 'Creating', 'Deleting', 'Moving', 'Failed'. + :vartype provisioning_state: str or ~data_share_management_client.models.ProvisioningState + :param resource_group: Required. Resource group of storage account. + :type resource_group: str + :param storage_account_name: Required. Storage account name of the source data set. + :type storage_account_name: str + :param subscription_id: Required. Subscription id of storage account. + :type subscription_id: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'kind': {'required': True}, + 'container_name': {'required': True}, + 'data_set_id': {'required': True}, + 'data_set_mapping_status': {'readonly': True}, + 'prefix': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'resource_group': {'required': True}, + 'storage_account_name': {'required': True}, + 'subscription_id': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'container_name': {'key': 'properties.containerName', 'type': 'str'}, + 'data_set_id': {'key': 'properties.dataSetId', 'type': 'str'}, + 'data_set_mapping_status': {'key': 'properties.dataSetMappingStatus', 'type': 'str'}, + 'prefix': {'key': 'properties.prefix', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'resource_group': {'key': 'properties.resourceGroup', 'type': 'str'}, + 'storage_account_name': {'key': 'properties.storageAccountName', 'type': 'str'}, + 'subscription_id': {'key': 'properties.subscriptionId', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(BlobFolderDataSetMapping, self).__init__(**kwargs) + self.kind = 'BlobFolder' + self.container_name = kwargs.get('container_name', None) + self.data_set_id = kwargs.get('data_set_id', None) + self.data_set_mapping_status = None + self.prefix = kwargs.get('prefix', None) + self.provisioning_state = None + self.resource_group = kwargs.get('resource_group', None) + self.storage_account_name = kwargs.get('storage_account_name', None) + self.subscription_id = kwargs.get('subscription_id', None) + + +class ConsumerInvitation(ProxyDto): + """A consumer Invitation data transfer object. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The resource id of the azure resource. + :vartype id: str + :ivar name: Name of the azure resource. + :vartype name: str + :ivar type: Type of the azure resource. + :vartype type: str + :ivar data_set_count: Number of data sets in a share. + :vartype data_set_count: int + :ivar description: Description shared when the invitation was created. + :vartype description: str + :param invitation_id: Required. Unique id of the invitation. + :type invitation_id: str + :ivar invitation_status: The status of the invitation. Possible values include: 'Pending', + 'Accepted', 'Rejected', 'Withdrawn'. + :vartype invitation_status: str or ~data_share_management_client.models.InvitationStatus + :ivar location: invitation location. + :vartype location: str + :ivar provider_email: Email of the provider who created the resource. + :vartype provider_email: str + :ivar provider_name: Name of the provider who created the resource. + :vartype provider_name: str + :ivar provider_tenant_name: Tenant name of the provider who created the resource. + :vartype provider_tenant_name: str + :ivar responded_at: The time the recipient responded to the invitation. + :vartype responded_at: ~datetime.datetime + :ivar sent_at: Gets the time at which the invitation was sent. + :vartype sent_at: ~datetime.datetime + :ivar share_name: Gets the source share Name. + :vartype share_name: str + :ivar terms_of_use: Terms of use shared when the invitation was created. + :vartype terms_of_use: str + :ivar user_email: Email of the user who created the resource. + :vartype user_email: str + :ivar user_name: Name of the user who created the resource. + :vartype user_name: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'data_set_count': {'readonly': True}, + 'description': {'readonly': True}, + 'invitation_id': {'required': True}, + 'invitation_status': {'readonly': True}, + 'location': {'readonly': True}, + 'provider_email': {'readonly': True}, + 'provider_name': {'readonly': True}, + 'provider_tenant_name': {'readonly': True}, + 'responded_at': {'readonly': True}, + 'sent_at': {'readonly': True}, + 'share_name': {'readonly': True}, + 'terms_of_use': {'readonly': True}, + 'user_email': {'readonly': True}, + 'user_name': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'data_set_count': {'key': 'properties.dataSetCount', 'type': 'int'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'invitation_id': {'key': 'properties.invitationId', 'type': 'str'}, + 'invitation_status': {'key': 'properties.invitationStatus', 'type': 'str'}, + 'location': {'key': 'properties.location', 'type': 'str'}, + 'provider_email': {'key': 'properties.providerEmail', 'type': 'str'}, + 'provider_name': {'key': 'properties.providerName', 'type': 'str'}, + 'provider_tenant_name': {'key': 'properties.providerTenantName', 'type': 'str'}, + 'responded_at': {'key': 'properties.respondedAt', 'type': 'iso-8601'}, + 'sent_at': {'key': 'properties.sentAt', 'type': 'iso-8601'}, + 'share_name': {'key': 'properties.shareName', 'type': 'str'}, + 'terms_of_use': {'key': 'properties.termsOfUse', 'type': 'str'}, + 'user_email': {'key': 'properties.userEmail', 'type': 'str'}, + 'user_name': {'key': 'properties.userName', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ConsumerInvitation, self).__init__(**kwargs) + self.data_set_count = None + self.description = None + self.invitation_id = kwargs.get('invitation_id', None) + self.invitation_status = None + self.location = None + self.provider_email = None + self.provider_name = None + self.provider_tenant_name = None + self.responded_at = None + self.sent_at = None + self.share_name = None + self.terms_of_use = None + self.user_email = None + self.user_name = None + + +class ConsumerInvitationList(msrest.serialization.Model): + """List response for get InvitationList. + + All required parameters must be populated in order to send to Azure. + + :param next_link: The Url of next result page. + :type next_link: str + :param value: Required. Collection of items of type DataTransferObjects. + :type value: list[~data_share_management_client.models.ConsumerInvitation] + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[ConsumerInvitation]'}, + } + + def __init__( + self, + **kwargs + ): + super(ConsumerInvitationList, self).__init__(**kwargs) + self.next_link = kwargs.get('next_link', None) + self.value = kwargs.get('value', None) + + +class ConsumerSourceDataSet(ProxyDto): + """A consumer side dataSet data transfer object. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: The resource id of the azure resource. + :vartype id: str + :ivar name: Name of the azure resource. + :vartype name: str + :ivar type: Type of the azure resource. + :vartype type: str + :ivar data_set_id: DataSet Id. + :vartype data_set_id: str + :ivar data_set_location: Location of the data set. + :vartype data_set_location: str + :ivar data_set_name: DataSet name. + :vartype data_set_name: str + :ivar data_set_path: DataSet path. + :vartype data_set_path: str + :ivar data_set_type: Type of data set. Possible values include: 'Blob', 'Container', + 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', 'AdlsGen2File', 'AdlsGen1Folder', + 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', 'SqlDBTable', 'SqlDWTable'. + :vartype data_set_type: str or ~data_share_management_client.models.DataSetType + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'data_set_id': {'readonly': True}, + 'data_set_location': {'readonly': True}, + 'data_set_name': {'readonly': True}, + 'data_set_path': {'readonly': True}, + 'data_set_type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'data_set_id': {'key': 'properties.dataSetId', 'type': 'str'}, + 'data_set_location': {'key': 'properties.dataSetLocation', 'type': 'str'}, + 'data_set_name': {'key': 'properties.dataSetName', 'type': 'str'}, + 'data_set_path': {'key': 'properties.dataSetPath', 'type': 'str'}, + 'data_set_type': {'key': 'properties.dataSetType', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ConsumerSourceDataSet, self).__init__(**kwargs) + self.data_set_id = None + self.data_set_location = None + self.data_set_name = None + self.data_set_path = None + self.data_set_type = None + + +class ConsumerSourceDataSetList(msrest.serialization.Model): + """A consumer side list of source dataSets. + + All required parameters must be populated in order to send to Azure. + + :param next_link: The Url of next result page. + :type next_link: str + :param value: Required. Collection of items of type DataTransferObjects. + :type value: list[~data_share_management_client.models.ConsumerSourceDataSet] + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[ConsumerSourceDataSet]'}, + } + + def __init__( + self, + **kwargs + ): + super(ConsumerSourceDataSetList, self).__init__(**kwargs) + self.next_link = kwargs.get('next_link', None) + self.value = kwargs.get('value', None) + + +class DataSetList(msrest.serialization.Model): + """List response for get DataSets. + + All required parameters must be populated in order to send to Azure. + + :param next_link: The Url of next result page. + :type next_link: str + :param value: Required. Collection of items of type DataTransferObjects. + :type value: list[~data_share_management_client.models.DataSet] + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[DataSet]'}, + } + + def __init__( + self, + **kwargs + ): + super(DataSetList, self).__init__(**kwargs) + self.next_link = kwargs.get('next_link', None) + self.value = kwargs.get('value', None) + + +class DataSetMappingList(msrest.serialization.Model): + """List response for get DataSetMappings. + + All required parameters must be populated in order to send to Azure. + + :param next_link: The Url of next result page. + :type next_link: str + :param value: Required. Collection of items of type DataTransferObjects. + :type value: list[~data_share_management_client.models.DataSetMapping] + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[DataSetMapping]'}, + } + + def __init__( + self, + **kwargs + ): + super(DataSetMappingList, self).__init__(**kwargs) + self.next_link = kwargs.get('next_link', None) + self.value = kwargs.get('value', None) + + +class DataShareError(msrest.serialization.Model): + """The data share error model. + + All required parameters must be populated in order to send to Azure. + + :param error: Required. The data share error body. + :type error: ~data_share_management_client.models.DataShareErrorInfo + """ + + _validation = { + 'error': {'required': True}, + } + + _attribute_map = { + 'error': {'key': 'error', 'type': 'DataShareErrorInfo'}, + } + + def __init__( + self, + **kwargs + ): + super(DataShareError, self).__init__(**kwargs) + self.error = kwargs.get('error', None) + + +class DataShareErrorInfo(msrest.serialization.Model): + """The data share error body model. + + All required parameters must be populated in order to send to Azure. + + :param code: Required. Code of the error. + :type code: str + :param details: Nested details of the error model. + :type details: list[~data_share_management_client.models.DataShareErrorInfo] + :param message: Required. Message of the error. + :type message: str + :param target: Target of the error. + :type target: str + """ + + _validation = { + 'code': {'required': True}, + 'message': {'required': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[DataShareErrorInfo]'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(DataShareErrorInfo, self).__init__(**kwargs) + self.code = kwargs.get('code', None) + self.details = kwargs.get('details', None) + self.message = kwargs.get('message', None) + self.target = kwargs.get('target', None) + + +class DimensionProperties(msrest.serialization.Model): + """properties for dimension. + + :param display_name: localized display name of the dimension to customer. + :type display_name: str + :param name: dimension name. + :type name: str + """ + + _attribute_map = { + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(DimensionProperties, self).__init__(**kwargs) + self.display_name = kwargs.get('display_name', None) + self.name = kwargs.get('name', None) + + +class Identity(msrest.serialization.Model): + """Identity of resource. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar principal_id: service principal Id. + :vartype principal_id: str + :ivar tenant_id: Tenant Id. + :vartype tenant_id: str + :ivar type: Identity Type. Default value: "SystemAssigned". + :vartype type: str + """ + + _validation = { + 'principal_id': {'readonly': True}, + 'tenant_id': {'readonly': True}, + 'type': {'constant': True}, + } + + _attribute_map = { + 'principal_id': {'key': 'principalId', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + type = "SystemAssigned" + + def __init__( + self, + **kwargs + ): + super(Identity, self).__init__(**kwargs) + self.principal_id = None + self.tenant_id = None + + +class Invitation(ProxyDto): + """A Invitation data transfer object. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: The resource id of the azure resource. + :vartype id: str + :ivar name: Name of the azure resource. + :vartype name: str + :ivar type: Type of the azure resource. + :vartype type: str + :ivar invitation_id: unique invitation id. + :vartype invitation_id: str + :ivar invitation_status: The status of the invitation. Possible values include: 'Pending', + 'Accepted', 'Rejected', 'Withdrawn'. + :vartype invitation_status: str or ~data_share_management_client.models.InvitationStatus + :ivar responded_at: The time the recipient responded to the invitation. + :vartype responded_at: ~datetime.datetime + :ivar sent_at: Gets the time at which the invitation was sent. + :vartype sent_at: ~datetime.datetime + :param target_active_directory_id: The target Azure AD Id. Can't be combined with email. + :type target_active_directory_id: str + :param target_email: The email the invitation is directed to. + :type target_email: str + :param target_object_id: The target user or application Id that invitation is being sent to. + Must be specified along TargetActiveDirectoryId. This enables sending + invitations to specific users or applications in an AD tenant. + :type target_object_id: str + :ivar user_email: Email of the user who created the resource. + :vartype user_email: str + :ivar user_name: Name of the user who created the resource. + :vartype user_name: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'invitation_id': {'readonly': True}, + 'invitation_status': {'readonly': True}, + 'responded_at': {'readonly': True}, + 'sent_at': {'readonly': True}, + 'user_email': {'readonly': True}, + 'user_name': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'invitation_id': {'key': 'properties.invitationId', 'type': 'str'}, + 'invitation_status': {'key': 'properties.invitationStatus', 'type': 'str'}, + 'responded_at': {'key': 'properties.respondedAt', 'type': 'iso-8601'}, + 'sent_at': {'key': 'properties.sentAt', 'type': 'iso-8601'}, + 'target_active_directory_id': {'key': 'properties.targetActiveDirectoryId', 'type': 'str'}, + 'target_email': {'key': 'properties.targetEmail', 'type': 'str'}, + 'target_object_id': {'key': 'properties.targetObjectId', 'type': 'str'}, + 'user_email': {'key': 'properties.userEmail', 'type': 'str'}, + 'user_name': {'key': 'properties.userName', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(Invitation, self).__init__(**kwargs) + self.invitation_id = None + self.invitation_status = None + self.responded_at = None + self.sent_at = None + self.target_active_directory_id = kwargs.get('target_active_directory_id', None) + self.target_email = kwargs.get('target_email', None) + self.target_object_id = kwargs.get('target_object_id', None) + self.user_email = None + self.user_name = None + + +class InvitationList(msrest.serialization.Model): + """List response for get InvitationList. + + All required parameters must be populated in order to send to Azure. + + :param next_link: The Url of next result page. + :type next_link: str + :param value: Required. Collection of items of type DataTransferObjects. + :type value: list[~data_share_management_client.models.Invitation] + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[Invitation]'}, + } + + def __init__( + self, + **kwargs + ): + super(InvitationList, self).__init__(**kwargs) + self.next_link = kwargs.get('next_link', None) + self.value = kwargs.get('value', None) + + +class KustoClusterDataSet(DataSet): + """A kusto cluster data set. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The resource id of the azure resource. + :vartype id: str + :ivar name: Name of the azure resource. + :vartype name: str + :ivar type: Type of the azure resource. + :vartype type: str + :param kind: Required. Kind of data set.Constant filled by server. Possible values include: + 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', 'AdlsGen2File', + 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', 'SqlDBTable', 'SqlDWTable', + 'ScheduleBased'. + :type kind: str or ~data_share_management_client.models.Kind + :ivar data_set_id: Unique id for identifying a data set resource. + :vartype data_set_id: str + :param kusto_cluster_resource_id: Required. Resource id of the kusto cluster. + :type kusto_cluster_resource_id: str + :ivar location: Location of the kusto cluster. + :vartype location: str + :ivar provisioning_state: Provisioning state of the kusto cluster data set. Possible values + include: 'Succeeded', 'Creating', 'Deleting', 'Moving', 'Failed'. + :vartype provisioning_state: str or ~data_share_management_client.models.ProvisioningState + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'kind': {'required': True}, + 'data_set_id': {'readonly': True}, + 'kusto_cluster_resource_id': {'required': True}, + 'location': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'data_set_id': {'key': 'properties.dataSetId', 'type': 'str'}, + 'kusto_cluster_resource_id': {'key': 'properties.kustoClusterResourceId', 'type': 'str'}, + 'location': {'key': 'properties.location', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(KustoClusterDataSet, self).__init__(**kwargs) + self.kind = 'KustoCluster' + self.data_set_id = None + self.kusto_cluster_resource_id = kwargs.get('kusto_cluster_resource_id', None) + self.location = None + self.provisioning_state = None + + +class KustoClusterDataSetMapping(DataSetMapping): + """A Kusto cluster data set mapping. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The resource id of the azure resource. + :vartype id: str + :ivar name: Name of the azure resource. + :vartype name: str + :ivar type: Type of the azure resource. + :vartype type: str + :param kind: Required. Kind of data set mapping.Constant filled by server. Possible values + include: 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', + 'AdlsGen2File', 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', + 'SqlDBTable', 'SqlDWTable', 'ScheduleBased'. + :type kind: str or ~data_share_management_client.models.Kind + :param data_set_id: Required. The id of the source data set. + :type data_set_id: str + :ivar data_set_mapping_status: Gets the status of the data set mapping. Possible values + include: 'Ok', 'Broken'. + :vartype data_set_mapping_status: str or + ~data_share_management_client.models.DataSetMappingStatus + :param kusto_cluster_resource_id: Required. Resource id of the sink kusto cluster. + :type kusto_cluster_resource_id: str + :ivar location: Location of the sink kusto cluster. + :vartype location: str + :ivar provisioning_state: Provisioning state of the data set mapping. Possible values include: + 'Succeeded', 'Creating', 'Deleting', 'Moving', 'Failed'. + :vartype provisioning_state: str or ~data_share_management_client.models.ProvisioningState + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'kind': {'required': True}, + 'data_set_id': {'required': True}, + 'data_set_mapping_status': {'readonly': True}, + 'kusto_cluster_resource_id': {'required': True}, + 'location': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'data_set_id': {'key': 'properties.dataSetId', 'type': 'str'}, + 'data_set_mapping_status': {'key': 'properties.dataSetMappingStatus', 'type': 'str'}, + 'kusto_cluster_resource_id': {'key': 'properties.kustoClusterResourceId', 'type': 'str'}, + 'location': {'key': 'properties.location', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(KustoClusterDataSetMapping, self).__init__(**kwargs) + self.kind = 'KustoCluster' + self.data_set_id = kwargs.get('data_set_id', None) + self.data_set_mapping_status = None + self.kusto_cluster_resource_id = kwargs.get('kusto_cluster_resource_id', None) + self.location = None + self.provisioning_state = None + + +class KustoDatabaseDataSet(DataSet): + """A kusto database data set. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The resource id of the azure resource. + :vartype id: str + :ivar name: Name of the azure resource. + :vartype name: str + :ivar type: Type of the azure resource. + :vartype type: str + :param kind: Required. Kind of data set.Constant filled by server. Possible values include: + 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', 'AdlsGen2File', + 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', 'SqlDBTable', 'SqlDWTable', + 'ScheduleBased'. + :type kind: str or ~data_share_management_client.models.Kind + :ivar data_set_id: Unique id for identifying a data set resource. + :vartype data_set_id: str + :param kusto_database_resource_id: Required. Resource id of the kusto database. + :type kusto_database_resource_id: str + :ivar location: Location of the kusto cluster. + :vartype location: str + :ivar provisioning_state: Provisioning state of the kusto database data set. Possible values + include: 'Succeeded', 'Creating', 'Deleting', 'Moving', 'Failed'. + :vartype provisioning_state: str or ~data_share_management_client.models.ProvisioningState + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'kind': {'required': True}, + 'data_set_id': {'readonly': True}, + 'kusto_database_resource_id': {'required': True}, + 'location': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'data_set_id': {'key': 'properties.dataSetId', 'type': 'str'}, + 'kusto_database_resource_id': {'key': 'properties.kustoDatabaseResourceId', 'type': 'str'}, + 'location': {'key': 'properties.location', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(KustoDatabaseDataSet, self).__init__(**kwargs) + self.kind = 'KustoDatabase' + self.data_set_id = None + self.kusto_database_resource_id = kwargs.get('kusto_database_resource_id', None) + self.location = None + self.provisioning_state = None + + +class KustoDatabaseDataSetMapping(DataSetMapping): + """A Kusto database data set mapping. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The resource id of the azure resource. + :vartype id: str + :ivar name: Name of the azure resource. + :vartype name: str + :ivar type: Type of the azure resource. + :vartype type: str + :param kind: Required. Kind of data set mapping.Constant filled by server. Possible values + include: 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', + 'AdlsGen2File', 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', + 'SqlDBTable', 'SqlDWTable', 'ScheduleBased'. + :type kind: str or ~data_share_management_client.models.Kind + :param data_set_id: Required. The id of the source data set. + :type data_set_id: str + :ivar data_set_mapping_status: Gets the status of the data set mapping. Possible values + include: 'Ok', 'Broken'. + :vartype data_set_mapping_status: str or + ~data_share_management_client.models.DataSetMappingStatus + :param kusto_cluster_resource_id: Required. Resource id of the sink kusto cluster. + :type kusto_cluster_resource_id: str + :ivar location: Location of the sink kusto cluster. + :vartype location: str + :ivar provisioning_state: Provisioning state of the data set mapping. Possible values include: + 'Succeeded', 'Creating', 'Deleting', 'Moving', 'Failed'. + :vartype provisioning_state: str or ~data_share_management_client.models.ProvisioningState + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'kind': {'required': True}, + 'data_set_id': {'required': True}, + 'data_set_mapping_status': {'readonly': True}, + 'kusto_cluster_resource_id': {'required': True}, + 'location': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'data_set_id': {'key': 'properties.dataSetId', 'type': 'str'}, + 'data_set_mapping_status': {'key': 'properties.dataSetMappingStatus', 'type': 'str'}, + 'kusto_cluster_resource_id': {'key': 'properties.kustoClusterResourceId', 'type': 'str'}, + 'location': {'key': 'properties.location', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(KustoDatabaseDataSetMapping, self).__init__(**kwargs) + self.kind = 'KustoDatabase' + self.data_set_id = kwargs.get('data_set_id', None) + self.data_set_mapping_status = None + self.kusto_cluster_resource_id = kwargs.get('kusto_cluster_resource_id', None) + self.location = None + self.provisioning_state = None + + +class OperationList(msrest.serialization.Model): + """List response for get operations. + + All required parameters must be populated in order to send to Azure. + + :param next_link: The Url of next result page. + :type next_link: str + :param value: Required. Collection of items of type DataTransferObjects. + :type value: list[~data_share_management_client.models.OperationModel] + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[OperationModel]'}, + } + + def __init__( + self, + **kwargs + ): + super(OperationList, self).__init__(**kwargs) + self.next_link = kwargs.get('next_link', None) + self.value = kwargs.get('value', None) + + +class OperationMetaLogSpecification(msrest.serialization.Model): + """log specifications for operation api. + + :param blob_duration: blob duration of the log. + :type blob_duration: str + :param display_name: localized name of the log category. + :type display_name: str + :param name: name of the log category. + :type name: str + """ + + _attribute_map = { + 'blob_duration': {'key': 'blobDuration', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(OperationMetaLogSpecification, self).__init__(**kwargs) + self.blob_duration = kwargs.get('blob_duration', None) + self.display_name = kwargs.get('display_name', None) + self.name = kwargs.get('name', None) + + +class OperationMetaMetricSpecification(msrest.serialization.Model): + """metric specifications for the operation. + + :param aggregation_type: aggregation type of metric. + :type aggregation_type: str + :param dimensions: properties for dimension. + :type dimensions: list[~data_share_management_client.models.DimensionProperties] + :param display_description: description of the metric. + :type display_description: str + :param display_name: localized name of the metric. + :type display_name: str + :param enable_regional_mdm_account: enable regional mdm account. + :type enable_regional_mdm_account: str + :param internal_metric_name: internal metric name. + :type internal_metric_name: str + :param name: name of the metric. + :type name: str + :param resource_id_dimension_name_override: dimension name use to replace resource id if + specified. + :type resource_id_dimension_name_override: str + :param supported_aggregation_types: supported aggregation types. + :type supported_aggregation_types: list[str] + :param supported_time_grain_types: supported time grain types. + :type supported_time_grain_types: list[str] + :param unit: units for the metric. + :type unit: str + """ + + _attribute_map = { + 'aggregation_type': {'key': 'aggregationType', 'type': 'str'}, + 'dimensions': {'key': 'dimensions', 'type': '[DimensionProperties]'}, + 'display_description': {'key': 'displayDescription', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'enable_regional_mdm_account': {'key': 'enableRegionalMdmAccount', 'type': 'str'}, + 'internal_metric_name': {'key': 'internalMetricName', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'resource_id_dimension_name_override': {'key': 'resourceIdDimensionNameOverride', 'type': 'str'}, + 'supported_aggregation_types': {'key': 'supportedAggregationTypes', 'type': '[str]'}, + 'supported_time_grain_types': {'key': 'supportedTimeGrainTypes', 'type': '[str]'}, + 'unit': {'key': 'unit', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(OperationMetaMetricSpecification, self).__init__(**kwargs) + self.aggregation_type = kwargs.get('aggregation_type', None) + self.dimensions = kwargs.get('dimensions', None) + self.display_description = kwargs.get('display_description', None) + self.display_name = kwargs.get('display_name', None) + self.enable_regional_mdm_account = kwargs.get('enable_regional_mdm_account', None) + self.internal_metric_name = kwargs.get('internal_metric_name', None) + self.name = kwargs.get('name', None) + self.resource_id_dimension_name_override = kwargs.get('resource_id_dimension_name_override', None) + self.supported_aggregation_types = kwargs.get('supported_aggregation_types', None) + self.supported_time_grain_types = kwargs.get('supported_time_grain_types', None) + self.unit = kwargs.get('unit', None) + + +class OperationMetaServiceSpecification(msrest.serialization.Model): + """The operation meta service specification. + + :param log_specifications: log specifications for the operation. + :type log_specifications: + list[~data_share_management_client.models.OperationMetaLogSpecification] + :param metric_specifications: metric specifications for the operation. + :type metric_specifications: + list[~data_share_management_client.models.OperationMetaMetricSpecification] + """ + + _attribute_map = { + 'log_specifications': {'key': 'logSpecifications', 'type': '[OperationMetaLogSpecification]'}, + 'metric_specifications': {'key': 'metricSpecifications', 'type': '[OperationMetaMetricSpecification]'}, + } + + def __init__( + self, + **kwargs + ): + super(OperationMetaServiceSpecification, self).__init__(**kwargs) + self.log_specifications = kwargs.get('log_specifications', None) + self.metric_specifications = kwargs.get('metric_specifications', None) + + +class OperationModel(msrest.serialization.Model): + """The response model for get operations. + + :param display: Properties on the operation. + :type display: ~data_share_management_client.models.OperationModelProperties + :param name: Operation name for display purposes. + :type name: str + :param origin: origin of the operation. + :type origin: str + :param service_specification: meta service specification. + :type service_specification: + ~data_share_management_client.models.OperationMetaServiceSpecification + """ + + _attribute_map = { + 'display': {'key': 'display', 'type': 'OperationModelProperties'}, + 'name': {'key': 'name', 'type': 'str'}, + 'origin': {'key': 'origin', 'type': 'str'}, + 'service_specification': {'key': 'properties.serviceSpecification', 'type': 'OperationMetaServiceSpecification'}, + } + + def __init__( + self, + **kwargs + ): + super(OperationModel, self).__init__(**kwargs) + self.display = kwargs.get('display', None) + self.name = kwargs.get('name', None) + self.origin = kwargs.get('origin', None) + self.service_specification = kwargs.get('service_specification', None) + + +class OperationModelProperties(msrest.serialization.Model): + """Properties on operations. + + :param description: Description of the operation for display purposes. + :type description: str + :param operation: Name of the operation for display purposes. + :type operation: str + :param provider: Name of the provider for display purposes. + :type provider: str + :param resource: Name of the resource type for display purposes. + :type resource: str + """ + + _attribute_map = { + 'description': {'key': 'description', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(OperationModelProperties, self).__init__(**kwargs) + self.description = kwargs.get('description', None) + self.operation = kwargs.get('operation', None) + self.provider = kwargs.get('provider', None) + self.resource = kwargs.get('resource', None) + + +class OperationResponse(msrest.serialization.Model): + """Response for long running operation. + + All required parameters must be populated in order to send to Azure. + + :param end_time: start time. + :type end_time: ~datetime.datetime + :param error: The error property when status is failed. + :type error: ~data_share_management_client.models.DataShareErrorInfo + :param start_time: start time. + :type start_time: ~datetime.datetime + :param status: Required. Operation state of the long running operation. Possible values + include: 'Accepted', 'InProgress', 'TransientFailure', 'Succeeded', 'Failed', 'Canceled'. + :type status: str or ~data_share_management_client.models.Status + """ + + _validation = { + 'status': {'required': True}, + } + + _attribute_map = { + 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, + 'error': {'key': 'error', 'type': 'DataShareErrorInfo'}, + 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, + 'status': {'key': 'status', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(OperationResponse, self).__init__(**kwargs) + self.end_time = kwargs.get('end_time', None) + self.error = kwargs.get('error', None) + self.start_time = kwargs.get('start_time', None) + self.status = kwargs.get('status', None) + + +class ProviderShareSubscription(ProxyDto): + """A provider side share subscription data transfer object. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: The resource id of the azure resource. + :vartype id: str + :ivar name: Name of the azure resource. + :vartype name: str + :ivar type: Type of the azure resource. + :vartype type: str + :ivar consumer_email: Email of the consumer who created the share subscription. + :vartype consumer_email: str + :ivar consumer_name: Name of the consumer who created the share subscription. + :vartype consumer_name: str + :ivar consumer_tenant_name: Tenant name of the consumer who created the share subscription. + :vartype consumer_tenant_name: str + :ivar created_at: created at. + :vartype created_at: ~datetime.datetime + :ivar provider_email: Email of the provider who created the share. + :vartype provider_email: str + :ivar provider_name: Name of the provider who created the share. + :vartype provider_name: str + :ivar shared_at: Shared at. + :vartype shared_at: ~datetime.datetime + :ivar share_subscription_object_id: share Subscription Object Id. + :vartype share_subscription_object_id: str + :ivar share_subscription_status: Gets the status of share subscription. Possible values + include: 'Active', 'Revoked', 'SourceDeleted', 'Revoking'. + :vartype share_subscription_status: str or + ~data_share_management_client.models.ShareSubscriptionStatus + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'consumer_email': {'readonly': True}, + 'consumer_name': {'readonly': True}, + 'consumer_tenant_name': {'readonly': True}, + 'created_at': {'readonly': True}, + 'provider_email': {'readonly': True}, + 'provider_name': {'readonly': True}, + 'shared_at': {'readonly': True}, + 'share_subscription_object_id': {'readonly': True}, + 'share_subscription_status': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'consumer_email': {'key': 'properties.consumerEmail', 'type': 'str'}, + 'consumer_name': {'key': 'properties.consumerName', 'type': 'str'}, + 'consumer_tenant_name': {'key': 'properties.consumerTenantName', 'type': 'str'}, + 'created_at': {'key': 'properties.createdAt', 'type': 'iso-8601'}, + 'provider_email': {'key': 'properties.providerEmail', 'type': 'str'}, + 'provider_name': {'key': 'properties.providerName', 'type': 'str'}, + 'shared_at': {'key': 'properties.sharedAt', 'type': 'iso-8601'}, + 'share_subscription_object_id': {'key': 'properties.shareSubscriptionObjectId', 'type': 'str'}, + 'share_subscription_status': {'key': 'properties.shareSubscriptionStatus', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ProviderShareSubscription, self).__init__(**kwargs) + self.consumer_email = None + self.consumer_name = None + self.consumer_tenant_name = None + self.created_at = None + self.provider_email = None + self.provider_name = None + self.shared_at = None + self.share_subscription_object_id = None + self.share_subscription_status = None + + +class ProviderShareSubscriptionList(msrest.serialization.Model): + """List response for get ShareSubscription. + + All required parameters must be populated in order to send to Azure. + + :param next_link: The Url of next result page. + :type next_link: str + :param value: Required. Collection of items of type DataTransferObjects. + :type value: list[~data_share_management_client.models.ProviderShareSubscription] + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[ProviderShareSubscription]'}, + } + + def __init__( + self, + **kwargs + ): + super(ProviderShareSubscriptionList, self).__init__(**kwargs) + self.next_link = kwargs.get('next_link', None) + self.value = kwargs.get('value', None) + + +class SourceShareSynchronizationSetting(msrest.serialization.Model): + """A view of synchronization setting added by the provider. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: ScheduledSourceSynchronizationSetting. + + All required parameters must be populated in order to send to Azure. + + :param kind: Required. Kind of synchronization.Constant filled by server. Possible values + include: 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', + 'AdlsGen2File', 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', + 'SqlDBTable', 'SqlDWTable', 'ScheduleBased'. + :type kind: str or ~data_share_management_client.models.Kind + """ + + _validation = { + 'kind': {'required': True}, + } + + _attribute_map = { + 'kind': {'key': 'kind', 'type': 'str'}, + } + + _subtype_map = { + 'kind': {'ScheduleBased': 'ScheduledSourceSynchronizationSetting'} + } + + def __init__( + self, + **kwargs + ): + super(SourceShareSynchronizationSetting, self).__init__(**kwargs) + self.kind = None + + +class ScheduledSourceSynchronizationSetting(SourceShareSynchronizationSetting): + """A type of synchronization setting based on schedule. + + All required parameters must be populated in order to send to Azure. + + :param kind: Required. Kind of synchronization.Constant filled by server. Possible values + include: 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', + 'AdlsGen2File', 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', + 'SqlDBTable', 'SqlDWTable', 'ScheduleBased'. + :type kind: str or ~data_share_management_client.models.Kind + :param recurrence_interval: Recurrence Interval. Possible values include: 'Hour', 'Day'. + :type recurrence_interval: str or ~data_share_management_client.models.RecurrenceInterval + :param synchronization_time: Synchronization time. + :type synchronization_time: ~datetime.datetime + """ + + _validation = { + 'kind': {'required': True}, + } + + _attribute_map = { + 'kind': {'key': 'kind', 'type': 'str'}, + 'recurrence_interval': {'key': 'properties.recurrenceInterval', 'type': 'str'}, + 'synchronization_time': {'key': 'properties.synchronizationTime', 'type': 'iso-8601'}, + } + + def __init__( + self, + **kwargs + ): + super(ScheduledSourceSynchronizationSetting, self).__init__(**kwargs) + self.kind = 'ScheduleBased' + self.recurrence_interval = kwargs.get('recurrence_interval', None) + self.synchronization_time = kwargs.get('synchronization_time', None) + + +class SynchronizationSetting(ProxyDto): + """A Synchronization Setting data transfer object. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: ScheduledSynchronizationSetting. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The resource id of the azure resource. + :vartype id: str + :ivar name: Name of the azure resource. + :vartype name: str + :ivar type: Type of the azure resource. + :vartype type: str + :param kind: Required. Kind of synchronization.Constant filled by server. Possible values + include: 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', + 'AdlsGen2File', 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', + 'SqlDBTable', 'SqlDWTable', 'ScheduleBased'. + :type kind: str or ~data_share_management_client.models.Kind + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'kind': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + } + + _subtype_map = { + 'kind': {'ScheduleBased': 'ScheduledSynchronizationSetting'} + } + + def __init__( + self, + **kwargs + ): + super(SynchronizationSetting, self).__init__(**kwargs) + self.kind = 'SynchronizationSetting' + + +class ScheduledSynchronizationSetting(SynchronizationSetting): + """A type of synchronization setting based on schedule. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The resource id of the azure resource. + :vartype id: str + :ivar name: Name of the azure resource. + :vartype name: str + :ivar type: Type of the azure resource. + :vartype type: str + :param kind: Required. Kind of synchronization.Constant filled by server. Possible values + include: 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', + 'AdlsGen2File', 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', + 'SqlDBTable', 'SqlDWTable', 'ScheduleBased'. + :type kind: str or ~data_share_management_client.models.Kind + :ivar created_at: Time at which the synchronization setting was created. + :vartype created_at: ~datetime.datetime + :ivar provisioning_state: Gets or sets the provisioning state. Possible values include: + 'Succeeded', 'Creating', 'Deleting', 'Moving', 'Failed'. + :vartype provisioning_state: str or ~data_share_management_client.models.ProvisioningState + :param recurrence_interval: Required. Recurrence Interval. Possible values include: 'Hour', + 'Day'. + :type recurrence_interval: str or ~data_share_management_client.models.RecurrenceInterval + :param synchronization_time: Required. Synchronization time. + :type synchronization_time: ~datetime.datetime + :ivar user_name: Name of the user who created the synchronization setting. + :vartype user_name: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'kind': {'required': True}, + 'created_at': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'recurrence_interval': {'required': True}, + 'synchronization_time': {'required': True}, + 'user_name': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'created_at': {'key': 'properties.createdAt', 'type': 'iso-8601'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'recurrence_interval': {'key': 'properties.recurrenceInterval', 'type': 'str'}, + 'synchronization_time': {'key': 'properties.synchronizationTime', 'type': 'iso-8601'}, + 'user_name': {'key': 'properties.userName', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ScheduledSynchronizationSetting, self).__init__(**kwargs) + self.kind = 'ScheduleBased' + self.created_at = None + self.provisioning_state = None + self.recurrence_interval = kwargs.get('recurrence_interval', None) + self.synchronization_time = kwargs.get('synchronization_time', None) + self.user_name = None + + +class Trigger(ProxyDto): + """A Trigger data transfer object. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: ScheduledTrigger. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The resource id of the azure resource. + :vartype id: str + :ivar name: Name of the azure resource. + :vartype name: str + :ivar type: Type of the azure resource. + :vartype type: str + :param kind: Required. Kind of synchronization.Constant filled by server. Possible values + include: 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', + 'AdlsGen2File', 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', + 'SqlDBTable', 'SqlDWTable', 'ScheduleBased'. + :type kind: str or ~data_share_management_client.models.Kind + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'kind': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + } + + _subtype_map = { + 'kind': {'ScheduleBased': 'ScheduledTrigger'} + } + + def __init__( + self, + **kwargs + ): + super(Trigger, self).__init__(**kwargs) + self.kind = 'Trigger' + + +class ScheduledTrigger(Trigger): + """A type of trigger based on schedule. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The resource id of the azure resource. + :vartype id: str + :ivar name: Name of the azure resource. + :vartype name: str + :ivar type: Type of the azure resource. + :vartype type: str + :param kind: Required. Kind of synchronization.Constant filled by server. Possible values + include: 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', + 'AdlsGen2File', 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', + 'SqlDBTable', 'SqlDWTable', 'ScheduleBased'. + :type kind: str or ~data_share_management_client.models.Kind + :ivar created_at: Time at which the trigger was created. + :vartype created_at: ~datetime.datetime + :ivar provisioning_state: Gets the provisioning state. Possible values include: 'Succeeded', + 'Creating', 'Deleting', 'Moving', 'Failed'. + :vartype provisioning_state: str or ~data_share_management_client.models.ProvisioningState + :param recurrence_interval: Required. Recurrence Interval. Possible values include: 'Hour', + 'Day'. + :type recurrence_interval: str or ~data_share_management_client.models.RecurrenceInterval + :param synchronization_mode: Synchronization mode. Possible values include: 'Incremental', + 'FullSync'. + :type synchronization_mode: str or ~data_share_management_client.models.SynchronizationMode + :param synchronization_time: Required. Synchronization time. + :type synchronization_time: ~datetime.datetime + :ivar trigger_status: Gets the trigger state. Possible values include: 'Active', 'Inactive', + 'SourceSynchronizationSettingDeleted'. + :vartype trigger_status: str or ~data_share_management_client.models.TriggerStatus + :ivar user_name: Name of the user who created the trigger. + :vartype user_name: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'kind': {'required': True}, + 'created_at': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'recurrence_interval': {'required': True}, + 'synchronization_time': {'required': True}, + 'trigger_status': {'readonly': True}, + 'user_name': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'created_at': {'key': 'properties.createdAt', 'type': 'iso-8601'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'recurrence_interval': {'key': 'properties.recurrenceInterval', 'type': 'str'}, + 'synchronization_mode': {'key': 'properties.synchronizationMode', 'type': 'str'}, + 'synchronization_time': {'key': 'properties.synchronizationTime', 'type': 'iso-8601'}, + 'trigger_status': {'key': 'properties.triggerStatus', 'type': 'str'}, + 'user_name': {'key': 'properties.userName', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ScheduledTrigger, self).__init__(**kwargs) + self.kind = 'ScheduleBased' + self.created_at = None + self.provisioning_state = None + self.recurrence_interval = kwargs.get('recurrence_interval', None) + self.synchronization_mode = kwargs.get('synchronization_mode', None) + self.synchronization_time = kwargs.get('synchronization_time', None) + self.trigger_status = None + self.user_name = None + + +class Share(ProxyDto): + """A share data transfer object. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: The resource id of the azure resource. + :vartype id: str + :ivar name: Name of the azure resource. + :vartype name: str + :ivar type: Type of the azure resource. + :vartype type: str + :ivar created_at: Time at which the share was created. + :vartype created_at: ~datetime.datetime + :param description: Share description. + :type description: str + :ivar provisioning_state: Gets or sets the provisioning state. Possible values include: + 'Succeeded', 'Creating', 'Deleting', 'Moving', 'Failed'. + :vartype provisioning_state: str or ~data_share_management_client.models.ProvisioningState + :param share_kind: Share kind. Possible values include: 'CopyBased', 'InPlace'. + :type share_kind: str or ~data_share_management_client.models.ShareKind + :param terms: Share terms. + :type terms: str + :ivar user_email: Email of the user who created the resource. + :vartype user_email: str + :ivar user_name: Name of the user who created the resource. + :vartype user_name: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'created_at': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'user_email': {'readonly': True}, + 'user_name': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'created_at': {'key': 'properties.createdAt', 'type': 'iso-8601'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'share_kind': {'key': 'properties.shareKind', 'type': 'str'}, + 'terms': {'key': 'properties.terms', 'type': 'str'}, + 'user_email': {'key': 'properties.userEmail', 'type': 'str'}, + 'user_name': {'key': 'properties.userName', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(Share, self).__init__(**kwargs) + self.created_at = None + self.description = kwargs.get('description', None) + self.provisioning_state = None + self.share_kind = kwargs.get('share_kind', None) + self.terms = kwargs.get('terms', None) + self.user_email = None + self.user_name = None + + +class ShareList(msrest.serialization.Model): + """List response for get Shares. + + All required parameters must be populated in order to send to Azure. + + :param next_link: The Url of next result page. + :type next_link: str + :param value: Required. Collection of items of type DataTransferObjects. + :type value: list[~data_share_management_client.models.Share] + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[Share]'}, + } + + def __init__( + self, + **kwargs + ): + super(ShareList, self).__init__(**kwargs) + self.next_link = kwargs.get('next_link', None) + self.value = kwargs.get('value', None) + + +class ShareSubscription(ProxyDto): + """A share subscription data transfer object. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The resource id of the azure resource. + :vartype id: str + :ivar name: Name of the azure resource. + :vartype name: str + :ivar type: Type of the azure resource. + :vartype type: str + :ivar created_at: Time at which the share subscription was created. + :vartype created_at: ~datetime.datetime + :param invitation_id: Required. The invitation id. + :type invitation_id: str + :ivar provider_email: Email of the provider who created the resource. + :vartype provider_email: str + :ivar provider_name: Name of the provider who created the resource. + :vartype provider_name: str + :ivar provider_tenant_name: Tenant name of the provider who created the resource. + :vartype provider_tenant_name: str + :ivar provisioning_state: Provisioning state of the share subscription. Possible values + include: 'Succeeded', 'Creating', 'Deleting', 'Moving', 'Failed'. + :vartype provisioning_state: str or ~data_share_management_client.models.ProvisioningState + :ivar share_description: Description of share. + :vartype share_description: str + :ivar share_kind: Kind of share. Possible values include: 'CopyBased', 'InPlace'. + :vartype share_kind: str or ~data_share_management_client.models.ShareKind + :ivar share_name: Name of the share. + :vartype share_name: str + :ivar share_subscription_status: Gets the current status of share subscription. Possible values + include: 'Active', 'Revoked', 'SourceDeleted', 'Revoking'. + :vartype share_subscription_status: str or + ~data_share_management_client.models.ShareSubscriptionStatus + :ivar share_terms: Terms of a share. + :vartype share_terms: str + :param source_share_location: Required. Source share location. + :type source_share_location: str + :ivar user_email: Email of the user who created the resource. + :vartype user_email: str + :ivar user_name: Name of the user who created the resource. + :vartype user_name: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'created_at': {'readonly': True}, + 'invitation_id': {'required': True}, + 'provider_email': {'readonly': True}, + 'provider_name': {'readonly': True}, + 'provider_tenant_name': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'share_description': {'readonly': True}, + 'share_kind': {'readonly': True}, + 'share_name': {'readonly': True}, + 'share_subscription_status': {'readonly': True}, + 'share_terms': {'readonly': True}, + 'source_share_location': {'required': True}, + 'user_email': {'readonly': True}, + 'user_name': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'created_at': {'key': 'properties.createdAt', 'type': 'iso-8601'}, + 'invitation_id': {'key': 'properties.invitationId', 'type': 'str'}, + 'provider_email': {'key': 'properties.providerEmail', 'type': 'str'}, + 'provider_name': {'key': 'properties.providerName', 'type': 'str'}, + 'provider_tenant_name': {'key': 'properties.providerTenantName', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'share_description': {'key': 'properties.shareDescription', 'type': 'str'}, + 'share_kind': {'key': 'properties.shareKind', 'type': 'str'}, + 'share_name': {'key': 'properties.shareName', 'type': 'str'}, + 'share_subscription_status': {'key': 'properties.shareSubscriptionStatus', 'type': 'str'}, + 'share_terms': {'key': 'properties.shareTerms', 'type': 'str'}, + 'source_share_location': {'key': 'properties.sourceShareLocation', 'type': 'str'}, + 'user_email': {'key': 'properties.userEmail', 'type': 'str'}, + 'user_name': {'key': 'properties.userName', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ShareSubscription, self).__init__(**kwargs) + self.created_at = None + self.invitation_id = kwargs.get('invitation_id', None) + self.provider_email = None + self.provider_name = None + self.provider_tenant_name = None + self.provisioning_state = None + self.share_description = None + self.share_kind = None + self.share_name = None + self.share_subscription_status = None + self.share_terms = None + self.source_share_location = kwargs.get('source_share_location', None) + self.user_email = None + self.user_name = None + + +class ShareSubscriptionList(msrest.serialization.Model): + """List response for get ShareSubscription. + + All required parameters must be populated in order to send to Azure. + + :param next_link: The Url of next result page. + :type next_link: str + :param value: Required. Collection of items of type DataTransferObjects. + :type value: list[~data_share_management_client.models.ShareSubscription] + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[ShareSubscription]'}, + } + + def __init__( + self, + **kwargs + ): + super(ShareSubscriptionList, self).__init__(**kwargs) + self.next_link = kwargs.get('next_link', None) + self.value = kwargs.get('value', None) + + +class ShareSubscriptionSynchronization(msrest.serialization.Model): + """A ShareSubscriptionSynchronization data transfer object. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar duration_ms: Synchronization duration. + :vartype duration_ms: int + :ivar end_time: End time of synchronization. + :vartype end_time: ~datetime.datetime + :ivar message: message of Synchronization. + :vartype message: str + :ivar start_time: start time of synchronization. + :vartype start_time: ~datetime.datetime + :ivar status: Raw Status. + :vartype status: str + :param synchronization_id: Required. Synchronization id. + :type synchronization_id: str + :ivar synchronization_mode: Synchronization Mode. Possible values include: 'Incremental', + 'FullSync'. + :vartype synchronization_mode: str or ~data_share_management_client.models.SynchronizationMode + """ + + _validation = { + 'duration_ms': {'readonly': True}, + 'end_time': {'readonly': True}, + 'message': {'readonly': True}, + 'start_time': {'readonly': True}, + 'status': {'readonly': True}, + 'synchronization_id': {'required': True}, + 'synchronization_mode': {'readonly': True}, + } + + _attribute_map = { + 'duration_ms': {'key': 'durationMs', 'type': 'int'}, + 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, + 'message': {'key': 'message', 'type': 'str'}, + 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, + 'status': {'key': 'status', 'type': 'str'}, + 'synchronization_id': {'key': 'synchronizationId', 'type': 'str'}, + 'synchronization_mode': {'key': 'synchronizationMode', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ShareSubscriptionSynchronization, self).__init__(**kwargs) + self.duration_ms = None + self.end_time = None + self.message = None + self.start_time = None + self.status = None + self.synchronization_id = kwargs.get('synchronization_id', None) + self.synchronization_mode = None + + +class ShareSubscriptionSynchronizationList(msrest.serialization.Model): + """A consumer side list of share subscription synchronizations. + + All required parameters must be populated in order to send to Azure. + + :param next_link: The Url of next result page. + :type next_link: str + :param value: Required. Collection of items of type DataTransferObjects. + :type value: list[~data_share_management_client.models.ShareSubscriptionSynchronization] + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[ShareSubscriptionSynchronization]'}, + } + + def __init__( + self, + **kwargs + ): + super(ShareSubscriptionSynchronizationList, self).__init__(**kwargs) + self.next_link = kwargs.get('next_link', None) + self.value = kwargs.get('value', None) + + +class ShareSynchronization(msrest.serialization.Model): + """A ShareSynchronization data transfer object. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param consumer_email: Email of the user who created the synchronization. + :type consumer_email: str + :param consumer_name: Name of the user who created the synchronization. + :type consumer_name: str + :param consumer_tenant_name: Tenant name of the consumer who created the synchronization. + :type consumer_tenant_name: str + :param duration_ms: synchronization duration. + :type duration_ms: int + :param end_time: End time of synchronization. + :type end_time: ~datetime.datetime + :param message: message of synchronization. + :type message: str + :param start_time: start time of synchronization. + :type start_time: ~datetime.datetime + :param status: Raw Status. + :type status: str + :param synchronization_id: Synchronization id. + :type synchronization_id: str + :ivar synchronization_mode: Synchronization mode. Possible values include: 'Incremental', + 'FullSync'. + :vartype synchronization_mode: str or ~data_share_management_client.models.SynchronizationMode + """ + + _validation = { + 'synchronization_mode': {'readonly': True}, + } + + _attribute_map = { + 'consumer_email': {'key': 'consumerEmail', 'type': 'str'}, + 'consumer_name': {'key': 'consumerName', 'type': 'str'}, + 'consumer_tenant_name': {'key': 'consumerTenantName', 'type': 'str'}, + 'duration_ms': {'key': 'durationMs', 'type': 'int'}, + 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, + 'message': {'key': 'message', 'type': 'str'}, + 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, + 'status': {'key': 'status', 'type': 'str'}, + 'synchronization_id': {'key': 'synchronizationId', 'type': 'str'}, + 'synchronization_mode': {'key': 'synchronizationMode', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ShareSynchronization, self).__init__(**kwargs) + self.consumer_email = kwargs.get('consumer_email', None) + self.consumer_name = kwargs.get('consumer_name', None) + self.consumer_tenant_name = kwargs.get('consumer_tenant_name', None) + self.duration_ms = kwargs.get('duration_ms', None) + self.end_time = kwargs.get('end_time', None) + self.message = kwargs.get('message', None) + self.start_time = kwargs.get('start_time', None) + self.status = kwargs.get('status', None) + self.synchronization_id = kwargs.get('synchronization_id', None) + self.synchronization_mode = None + + +class ShareSynchronizationList(msrest.serialization.Model): + """List response for get ShareSynchronization. + + All required parameters must be populated in order to send to Azure. + + :param next_link: The Url of next result page. + :type next_link: str + :param value: Required. Collection of items of type DataTransferObjects. + :type value: list[~data_share_management_client.models.ShareSynchronization] + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[ShareSynchronization]'}, + } + + def __init__( + self, + **kwargs + ): + super(ShareSynchronizationList, self).__init__(**kwargs) + self.next_link = kwargs.get('next_link', None) + self.value = kwargs.get('value', None) + + +class SourceShareSynchronizationSettingList(msrest.serialization.Model): + """List response for get source share Synchronization settings. + + All required parameters must be populated in order to send to Azure. + + :param next_link: The Url of next result page. + :type next_link: str + :param value: Required. Collection of items of type DataTransferObjects. + :type value: list[~data_share_management_client.models.SourceShareSynchronizationSetting] + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[SourceShareSynchronizationSetting]'}, + } + + def __init__( + self, + **kwargs + ): + super(SourceShareSynchronizationSettingList, self).__init__(**kwargs) + self.next_link = kwargs.get('next_link', None) + self.value = kwargs.get('value', None) + + +class SqlDBTableDataSet(DataSet): + """A SQL DB table data set. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The resource id of the azure resource. + :vartype id: str + :ivar name: Name of the azure resource. + :vartype name: str + :ivar type: Type of the azure resource. + :vartype type: str + :param kind: Required. Kind of data set.Constant filled by server. Possible values include: + 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', 'AdlsGen2File', + 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', 'SqlDBTable', 'SqlDWTable', + 'ScheduleBased'. + :type kind: str or ~data_share_management_client.models.Kind + :param database_name: Database name of the source data set. + :type database_name: str + :ivar data_set_id: Unique id for identifying a data set resource. + :vartype data_set_id: str + :param schema_name: Schema of the table. Default value is dbo. + :type schema_name: str + :param sql_server_resource_id: Resource id of SQL server. + :type sql_server_resource_id: str + :param table_name: SQL DB table name. + :type table_name: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'kind': {'required': True}, + 'data_set_id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'database_name': {'key': 'properties.databaseName', 'type': 'str'}, + 'data_set_id': {'key': 'properties.dataSetId', 'type': 'str'}, + 'schema_name': {'key': 'properties.schemaName', 'type': 'str'}, + 'sql_server_resource_id': {'key': 'properties.sqlServerResourceId', 'type': 'str'}, + 'table_name': {'key': 'properties.tableName', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(SqlDBTableDataSet, self).__init__(**kwargs) + self.kind = 'SqlDBTable' + self.database_name = kwargs.get('database_name', None) + self.data_set_id = None + self.schema_name = kwargs.get('schema_name', None) + self.sql_server_resource_id = kwargs.get('sql_server_resource_id', None) + self.table_name = kwargs.get('table_name', None) + + +class SqlDBTableDataSetMapping(DataSetMapping): + """A SQL DB Table data set mapping. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The resource id of the azure resource. + :vartype id: str + :ivar name: Name of the azure resource. + :vartype name: str + :ivar type: Type of the azure resource. + :vartype type: str + :param kind: Required. Kind of data set mapping.Constant filled by server. Possible values + include: 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', + 'AdlsGen2File', 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', + 'SqlDBTable', 'SqlDWTable', 'ScheduleBased'. + :type kind: str or ~data_share_management_client.models.Kind + :param database_name: Required. DatabaseName name of the sink data set. + :type database_name: str + :param data_set_id: Required. The id of the source data set. + :type data_set_id: str + :ivar data_set_mapping_status: Gets the status of the data set mapping. Possible values + include: 'Ok', 'Broken'. + :vartype data_set_mapping_status: str or + ~data_share_management_client.models.DataSetMappingStatus + :ivar provisioning_state: Provisioning state of the data set mapping. Possible values include: + 'Succeeded', 'Creating', 'Deleting', 'Moving', 'Failed'. + :vartype provisioning_state: str or ~data_share_management_client.models.ProvisioningState + :param schema_name: Required. Schema of the table. Default value is dbo. + :type schema_name: str + :param sql_server_resource_id: Required. Resource id of SQL server. + :type sql_server_resource_id: str + :param table_name: Required. SQL DB table name. + :type table_name: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'kind': {'required': True}, + 'database_name': {'required': True}, + 'data_set_id': {'required': True}, + 'data_set_mapping_status': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'schema_name': {'required': True}, + 'sql_server_resource_id': {'required': True}, + 'table_name': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'database_name': {'key': 'properties.databaseName', 'type': 'str'}, + 'data_set_id': {'key': 'properties.dataSetId', 'type': 'str'}, + 'data_set_mapping_status': {'key': 'properties.dataSetMappingStatus', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'schema_name': {'key': 'properties.schemaName', 'type': 'str'}, + 'sql_server_resource_id': {'key': 'properties.sqlServerResourceId', 'type': 'str'}, + 'table_name': {'key': 'properties.tableName', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(SqlDBTableDataSetMapping, self).__init__(**kwargs) + self.kind = 'SqlDBTable' + self.database_name = kwargs.get('database_name', None) + self.data_set_id = kwargs.get('data_set_id', None) + self.data_set_mapping_status = None + self.provisioning_state = None + self.schema_name = kwargs.get('schema_name', None) + self.sql_server_resource_id = kwargs.get('sql_server_resource_id', None) + self.table_name = kwargs.get('table_name', None) + + +class SqlDwTableDataSet(DataSet): + """A SQL DW table data set. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The resource id of the azure resource. + :vartype id: str + :ivar name: Name of the azure resource. + :vartype name: str + :ivar type: Type of the azure resource. + :vartype type: str + :param kind: Required. Kind of data set.Constant filled by server. Possible values include: + 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', 'AdlsGen2File', + 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', 'SqlDBTable', 'SqlDWTable', + 'ScheduleBased'. + :type kind: str or ~data_share_management_client.models.Kind + :ivar data_set_id: Unique id for identifying a data set resource. + :vartype data_set_id: str + :param data_warehouse_name: DataWarehouse name of the source data set. + :type data_warehouse_name: str + :param schema_name: Schema of the table. Default value is dbo. + :type schema_name: str + :param sql_server_resource_id: Resource id of SQL server. + :type sql_server_resource_id: str + :param table_name: SQL DW table name. + :type table_name: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'kind': {'required': True}, + 'data_set_id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'data_set_id': {'key': 'properties.dataSetId', 'type': 'str'}, + 'data_warehouse_name': {'key': 'properties.dataWarehouseName', 'type': 'str'}, + 'schema_name': {'key': 'properties.schemaName', 'type': 'str'}, + 'sql_server_resource_id': {'key': 'properties.sqlServerResourceId', 'type': 'str'}, + 'table_name': {'key': 'properties.tableName', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(SqlDwTableDataSet, self).__init__(**kwargs) + self.kind = 'SqlDWTable' + self.data_set_id = None + self.data_warehouse_name = kwargs.get('data_warehouse_name', None) + self.schema_name = kwargs.get('schema_name', None) + self.sql_server_resource_id = kwargs.get('sql_server_resource_id', None) + self.table_name = kwargs.get('table_name', None) + + +class SqlDwTableDataSetMapping(DataSetMapping): + """A SQL DW Table data set mapping. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The resource id of the azure resource. + :vartype id: str + :ivar name: Name of the azure resource. + :vartype name: str + :ivar type: Type of the azure resource. + :vartype type: str + :param kind: Required. Kind of data set mapping.Constant filled by server. Possible values + include: 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', + 'AdlsGen2File', 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', + 'SqlDBTable', 'SqlDWTable', 'ScheduleBased'. + :type kind: str or ~data_share_management_client.models.Kind + :param data_set_id: Required. The id of the source data set. + :type data_set_id: str + :ivar data_set_mapping_status: Gets the status of the data set mapping. Possible values + include: 'Ok', 'Broken'. + :vartype data_set_mapping_status: str or + ~data_share_management_client.models.DataSetMappingStatus + :param data_warehouse_name: Required. DataWarehouse name of the source data set. + :type data_warehouse_name: str + :ivar provisioning_state: Provisioning state of the data set mapping. Possible values include: + 'Succeeded', 'Creating', 'Deleting', 'Moving', 'Failed'. + :vartype provisioning_state: str or ~data_share_management_client.models.ProvisioningState + :param schema_name: Required. Schema of the table. Default value is dbo. + :type schema_name: str + :param sql_server_resource_id: Required. Resource id of SQL server. + :type sql_server_resource_id: str + :param table_name: Required. SQL DW table name. + :type table_name: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'kind': {'required': True}, + 'data_set_id': {'required': True}, + 'data_set_mapping_status': {'readonly': True}, + 'data_warehouse_name': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'schema_name': {'required': True}, + 'sql_server_resource_id': {'required': True}, + 'table_name': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'data_set_id': {'key': 'properties.dataSetId', 'type': 'str'}, + 'data_set_mapping_status': {'key': 'properties.dataSetMappingStatus', 'type': 'str'}, + 'data_warehouse_name': {'key': 'properties.dataWarehouseName', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'schema_name': {'key': 'properties.schemaName', 'type': 'str'}, + 'sql_server_resource_id': {'key': 'properties.sqlServerResourceId', 'type': 'str'}, + 'table_name': {'key': 'properties.tableName', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(SqlDwTableDataSetMapping, self).__init__(**kwargs) + self.kind = 'SqlDWTable' + self.data_set_id = kwargs.get('data_set_id', None) + self.data_set_mapping_status = None + self.data_warehouse_name = kwargs.get('data_warehouse_name', None) + self.provisioning_state = None + self.schema_name = kwargs.get('schema_name', None) + self.sql_server_resource_id = kwargs.get('sql_server_resource_id', None) + self.table_name = kwargs.get('table_name', None) + + +class SynchronizationDetails(msrest.serialization.Model): + """Synchronization details at data set level. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar data_set_id: Id of data set. + :vartype data_set_id: str + :ivar data_set_type: Type of the data set. Possible values include: 'Blob', 'Container', + 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', 'AdlsGen2File', 'AdlsGen1Folder', + 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', 'SqlDBTable', 'SqlDWTable'. + :vartype data_set_type: str or ~data_share_management_client.models.DataSetType + :ivar duration_ms: Duration of data set level copy. + :vartype duration_ms: int + :ivar end_time: End time of data set level copy. + :vartype end_time: ~datetime.datetime + :ivar files_read: The number of files read from the source data set. + :vartype files_read: long + :ivar files_written: The number of files written into the sink data set. + :vartype files_written: long + :ivar message: Error message if any. + :vartype message: str + :ivar name: Name of the data set. + :vartype name: str + :ivar rows_copied: The number of files copied into the sink data set. + :vartype rows_copied: long + :ivar rows_read: The number of rows read from the source data set. + :vartype rows_read: long + :ivar size_read: The size of the data read from the source data set in bytes. + :vartype size_read: long + :ivar size_written: The size of the data written into the sink data set in bytes. + :vartype size_written: long + :ivar start_time: Start time of data set level copy. + :vartype start_time: ~datetime.datetime + :ivar status: Raw Status. + :vartype status: str + :ivar v_core: The vCore units consumed for the data set synchronization. + :vartype v_core: long + """ + + _validation = { + 'data_set_id': {'readonly': True}, + 'data_set_type': {'readonly': True}, + 'duration_ms': {'readonly': True}, + 'end_time': {'readonly': True}, + 'files_read': {'readonly': True}, + 'files_written': {'readonly': True}, + 'message': {'readonly': True}, + 'name': {'readonly': True}, + 'rows_copied': {'readonly': True}, + 'rows_read': {'readonly': True}, + 'size_read': {'readonly': True}, + 'size_written': {'readonly': True}, + 'start_time': {'readonly': True}, + 'status': {'readonly': True}, + 'v_core': {'readonly': True}, + } + + _attribute_map = { + 'data_set_id': {'key': 'dataSetId', 'type': 'str'}, + 'data_set_type': {'key': 'dataSetType', 'type': 'str'}, + 'duration_ms': {'key': 'durationMs', 'type': 'int'}, + 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, + 'files_read': {'key': 'filesRead', 'type': 'long'}, + 'files_written': {'key': 'filesWritten', 'type': 'long'}, + 'message': {'key': 'message', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'rows_copied': {'key': 'rowsCopied', 'type': 'long'}, + 'rows_read': {'key': 'rowsRead', 'type': 'long'}, + 'size_read': {'key': 'sizeRead', 'type': 'long'}, + 'size_written': {'key': 'sizeWritten', 'type': 'long'}, + 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, + 'status': {'key': 'status', 'type': 'str'}, + 'v_core': {'key': 'vCore', 'type': 'long'}, + } + + def __init__( + self, + **kwargs + ): + super(SynchronizationDetails, self).__init__(**kwargs) + self.data_set_id = None + self.data_set_type = None + self.duration_ms = None + self.end_time = None + self.files_read = None + self.files_written = None + self.message = None + self.name = None + self.rows_copied = None + self.rows_read = None + self.size_read = None + self.size_written = None + self.start_time = None + self.status = None + self.v_core = None + + +class SynchronizationDetailsList(msrest.serialization.Model): + """details of synchronization. + + All required parameters must be populated in order to send to Azure. + + :param next_link: The Url of next result page. + :type next_link: str + :param value: Required. Collection of items of type DataTransferObjects. + :type value: list[~data_share_management_client.models.SynchronizationDetails] + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[SynchronizationDetails]'}, + } + + def __init__( + self, + **kwargs + ): + super(SynchronizationDetailsList, self).__init__(**kwargs) + self.next_link = kwargs.get('next_link', None) + self.value = kwargs.get('value', None) + + +class SynchronizationSettingList(msrest.serialization.Model): + """List response for get Synchronization settings. + + All required parameters must be populated in order to send to Azure. + + :param next_link: The Url of next result page. + :type next_link: str + :param value: Required. Collection of items of type DataTransferObjects. + :type value: list[~data_share_management_client.models.SynchronizationSetting] + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[SynchronizationSetting]'}, + } + + def __init__( + self, + **kwargs + ): + super(SynchronizationSettingList, self).__init__(**kwargs) + self.next_link = kwargs.get('next_link', None) + self.value = kwargs.get('value', None) + + +class Synchronize(msrest.serialization.Model): + """Payload for the synchronizing the data. + + :param synchronization_mode: Mode of synchronization used in triggers and snapshot sync. + Incremental by default. Possible values include: 'Incremental', 'FullSync'. + :type synchronization_mode: str or ~data_share_management_client.models.SynchronizationMode + """ + + _attribute_map = { + 'synchronization_mode': {'key': 'synchronizationMode', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(Synchronize, self).__init__(**kwargs) + self.synchronization_mode = kwargs.get('synchronization_mode', None) + + +class TriggerList(msrest.serialization.Model): + """List response for get triggers. + + All required parameters must be populated in order to send to Azure. + + :param next_link: The Url of next result page. + :type next_link: str + :param value: Required. Collection of items of type DataTransferObjects. + :type value: list[~data_share_management_client.models.Trigger] + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[Trigger]'}, + } + + def __init__( + self, + **kwargs + ): + super(TriggerList, self).__init__(**kwargs) + self.next_link = kwargs.get('next_link', None) + self.value = kwargs.get('value', None) diff --git a/src/datashare/azext_datashare/vendored_sdks/datashare/models/_models_py3.py b/src/datashare/azext_datashare/vendored_sdks/datashare/models/_models_py3.py new file mode 100644 index 00000000000..bc585b353f5 --- /dev/null +++ b/src/datashare/azext_datashare/vendored_sdks/datashare/models/_models_py3.py @@ -0,0 +1,3998 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +import datetime +from typing import Dict, List, Optional, Union + +from azure.core.exceptions import HttpResponseError +import msrest.serialization + + +class DefaultDto(msrest.serialization.Model): + """Base data transfer object implementation for default resources. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: The resource id of the azure resource. + :vartype id: str + :param location: Location of the azure resource. + :type location: str + :ivar name: Name of the azure resource. + :vartype name: str + :param tags: A set of tags. Tags on the azure resource. + :type tags: dict[str, str] + :ivar type: Type of the azure resource. + :vartype type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__( + self, + *, + location: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + **kwargs + ): + super(DefaultDto, self).__init__(**kwargs) + self.id = None + self.location = location + self.name = None + self.tags = tags + self.type = None + + +class Account(DefaultDto): + """An account data transfer object. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The resource id of the azure resource. + :vartype id: str + :param location: Location of the azure resource. + :type location: str + :ivar name: Name of the azure resource. + :vartype name: str + :param tags: A set of tags. Tags on the azure resource. + :type tags: dict[str, str] + :ivar type: Type of the azure resource. + :vartype type: str + :param identity: Required. Identity Info on the Account. + :type identity: ~data_share_management_client.models.Identity + :ivar created_at: Time at which the account was created. + :vartype created_at: ~datetime.datetime + :ivar provisioning_state: Provisioning state of the Account. Possible values include: + 'Succeeded', 'Creating', 'Deleting', 'Moving', 'Failed'. + :vartype provisioning_state: str or ~data_share_management_client.models.ProvisioningState + :ivar user_email: Email of the user who created the resource. + :vartype user_email: str + :ivar user_name: Name of the user who created the resource. + :vartype user_name: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'identity': {'required': True}, + 'created_at': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'user_email': {'readonly': True}, + 'user_name': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'identity': {'key': 'identity', 'type': 'Identity'}, + 'created_at': {'key': 'properties.createdAt', 'type': 'iso-8601'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'user_email': {'key': 'properties.userEmail', 'type': 'str'}, + 'user_name': {'key': 'properties.userName', 'type': 'str'}, + } + + def __init__( + self, + *, + identity: "Identity", + location: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + **kwargs + ): + super(Account, self).__init__(location=location, tags=tags, **kwargs) + self.identity = identity + self.created_at = None + self.provisioning_state = None + self.user_email = None + self.user_name = None + + +class AccountList(msrest.serialization.Model): + """List response for get Accounts. + + All required parameters must be populated in order to send to Azure. + + :param next_link: The Url of next result page. + :type next_link: str + :param value: Required. Collection of items of type DataTransferObjects. + :type value: list[~data_share_management_client.models.Account] + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[Account]'}, + } + + def __init__( + self, + *, + value: List["Account"], + next_link: Optional[str] = None, + **kwargs + ): + super(AccountList, self).__init__(**kwargs) + self.next_link = next_link + self.value = value + + +class AccountUpdateParameters(msrest.serialization.Model): + """Update parameters for accounts. + + :param tags: A set of tags. Tags on the azure resource. + :type tags: dict[str, str] + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__( + self, + *, + tags: Optional[Dict[str, str]] = None, + **kwargs + ): + super(AccountUpdateParameters, self).__init__(**kwargs) + self.tags = tags + + +class ProxyDto(msrest.serialization.Model): + """Base data transfer object implementation for proxy resources. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: The resource id of the azure resource. + :vartype id: str + :ivar name: Name of the azure resource. + :vartype name: str + :ivar type: Type of the azure resource. + :vartype type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ProxyDto, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + + +class DataSet(ProxyDto): + """A DataSet data transfer object. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: AdlsGen1FileDataSet, AdlsGen1FolderDataSet, AdlsGen2FileDataSet, AdlsGen2FileSystemDataSet, AdlsGen2FolderDataSet, BlobDataSet, BlobFolderDataSet, BlobContainerDataSet, KustoClusterDataSet, KustoDatabaseDataSet, SqlDBTableDataSet, SqlDwTableDataSet. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The resource id of the azure resource. + :vartype id: str + :ivar name: Name of the azure resource. + :vartype name: str + :ivar type: Type of the azure resource. + :vartype type: str + :param kind: Required. Kind of data set.Constant filled by server. Possible values include: + 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', 'AdlsGen2File', + 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', 'SqlDBTable', 'SqlDWTable', + 'ScheduleBased'. + :type kind: str or ~data_share_management_client.models.Kind + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'kind': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + } + + _subtype_map = { + 'kind': {'AdlsGen1File': 'AdlsGen1FileDataSet', 'AdlsGen1Folder': 'AdlsGen1FolderDataSet', 'AdlsGen2File': 'AdlsGen2FileDataSet', 'AdlsGen2FileSystem': 'AdlsGen2FileSystemDataSet', 'AdlsGen2Folder': 'AdlsGen2FolderDataSet', 'Blob': 'BlobDataSet', 'BlobFolder': 'BlobFolderDataSet', 'Container': 'BlobContainerDataSet', 'KustoCluster': 'KustoClusterDataSet', 'KustoDatabase': 'KustoDatabaseDataSet', 'SqlDBTable': 'SqlDBTableDataSet', 'SqlDWTable': 'SqlDwTableDataSet'} + } + + def __init__( + self, + **kwargs + ): + super(DataSet, self).__init__(**kwargs) + self.kind = 'DataSet' + + +class AdlsGen1FileDataSet(DataSet): + """An ADLS Gen 1 file data set. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The resource id of the azure resource. + :vartype id: str + :ivar name: Name of the azure resource. + :vartype name: str + :ivar type: Type of the azure resource. + :vartype type: str + :param kind: Required. Kind of data set.Constant filled by server. Possible values include: + 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', 'AdlsGen2File', + 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', 'SqlDBTable', 'SqlDWTable', + 'ScheduleBased'. + :type kind: str or ~data_share_management_client.models.Kind + :param account_name: Required. The ADLS account name. + :type account_name: str + :ivar data_set_id: Unique id for identifying a data set resource. + :vartype data_set_id: str + :param file_name: Required. The file name in the ADLS account. + :type file_name: str + :param folder_path: Required. The folder path within the ADLS account. + :type folder_path: str + :param resource_group: Required. Resource group of ADLS account. + :type resource_group: str + :param subscription_id: Required. Subscription id of ADLS account. + :type subscription_id: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'kind': {'required': True}, + 'account_name': {'required': True}, + 'data_set_id': {'readonly': True}, + 'file_name': {'required': True}, + 'folder_path': {'required': True}, + 'resource_group': {'required': True}, + 'subscription_id': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'account_name': {'key': 'properties.accountName', 'type': 'str'}, + 'data_set_id': {'key': 'properties.dataSetId', 'type': 'str'}, + 'file_name': {'key': 'properties.fileName', 'type': 'str'}, + 'folder_path': {'key': 'properties.folderPath', 'type': 'str'}, + 'resource_group': {'key': 'properties.resourceGroup', 'type': 'str'}, + 'subscription_id': {'key': 'properties.subscriptionId', 'type': 'str'}, + } + + def __init__( + self, + *, + account_name: str, + file_name: str, + folder_path: str, + resource_group: str, + subscription_id: str, + **kwargs + ): + super(AdlsGen1FileDataSet, self).__init__(**kwargs) + self.kind = 'AdlsGen1File' + self.account_name = account_name + self.data_set_id = None + self.file_name = file_name + self.folder_path = folder_path + self.resource_group = resource_group + self.subscription_id = subscription_id + + +class AdlsGen1FolderDataSet(DataSet): + """An ADLS Gen 1 folder data set. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The resource id of the azure resource. + :vartype id: str + :ivar name: Name of the azure resource. + :vartype name: str + :ivar type: Type of the azure resource. + :vartype type: str + :param kind: Required. Kind of data set.Constant filled by server. Possible values include: + 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', 'AdlsGen2File', + 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', 'SqlDBTable', 'SqlDWTable', + 'ScheduleBased'. + :type kind: str or ~data_share_management_client.models.Kind + :param account_name: Required. The ADLS account name. + :type account_name: str + :ivar data_set_id: Unique id for identifying a data set resource. + :vartype data_set_id: str + :param folder_path: Required. The folder path within the ADLS account. + :type folder_path: str + :param resource_group: Required. Resource group of ADLS account. + :type resource_group: str + :param subscription_id: Required. Subscription id of ADLS account. + :type subscription_id: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'kind': {'required': True}, + 'account_name': {'required': True}, + 'data_set_id': {'readonly': True}, + 'folder_path': {'required': True}, + 'resource_group': {'required': True}, + 'subscription_id': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'account_name': {'key': 'properties.accountName', 'type': 'str'}, + 'data_set_id': {'key': 'properties.dataSetId', 'type': 'str'}, + 'folder_path': {'key': 'properties.folderPath', 'type': 'str'}, + 'resource_group': {'key': 'properties.resourceGroup', 'type': 'str'}, + 'subscription_id': {'key': 'properties.subscriptionId', 'type': 'str'}, + } + + def __init__( + self, + *, + account_name: str, + folder_path: str, + resource_group: str, + subscription_id: str, + **kwargs + ): + super(AdlsGen1FolderDataSet, self).__init__(**kwargs) + self.kind = 'AdlsGen1Folder' + self.account_name = account_name + self.data_set_id = None + self.folder_path = folder_path + self.resource_group = resource_group + self.subscription_id = subscription_id + + +class AdlsGen2FileDataSet(DataSet): + """An ADLS Gen 2 file data set. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The resource id of the azure resource. + :vartype id: str + :ivar name: Name of the azure resource. + :vartype name: str + :ivar type: Type of the azure resource. + :vartype type: str + :param kind: Required. Kind of data set.Constant filled by server. Possible values include: + 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', 'AdlsGen2File', + 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', 'SqlDBTable', 'SqlDWTable', + 'ScheduleBased'. + :type kind: str or ~data_share_management_client.models.Kind + :ivar data_set_id: Unique id for identifying a data set resource. + :vartype data_set_id: str + :param file_path: Required. File path within the file system. + :type file_path: str + :param file_system: Required. File system to which the file belongs. + :type file_system: str + :param resource_group: Required. Resource group of storage account. + :type resource_group: str + :param storage_account_name: Required. Storage account name of the source data set. + :type storage_account_name: str + :param subscription_id: Required. Subscription id of storage account. + :type subscription_id: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'kind': {'required': True}, + 'data_set_id': {'readonly': True}, + 'file_path': {'required': True}, + 'file_system': {'required': True}, + 'resource_group': {'required': True}, + 'storage_account_name': {'required': True}, + 'subscription_id': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'data_set_id': {'key': 'properties.dataSetId', 'type': 'str'}, + 'file_path': {'key': 'properties.filePath', 'type': 'str'}, + 'file_system': {'key': 'properties.fileSystem', 'type': 'str'}, + 'resource_group': {'key': 'properties.resourceGroup', 'type': 'str'}, + 'storage_account_name': {'key': 'properties.storageAccountName', 'type': 'str'}, + 'subscription_id': {'key': 'properties.subscriptionId', 'type': 'str'}, + } + + def __init__( + self, + *, + file_path: str, + file_system: str, + resource_group: str, + storage_account_name: str, + subscription_id: str, + **kwargs + ): + super(AdlsGen2FileDataSet, self).__init__(**kwargs) + self.kind = 'AdlsGen2File' + self.data_set_id = None + self.file_path = file_path + self.file_system = file_system + self.resource_group = resource_group + self.storage_account_name = storage_account_name + self.subscription_id = subscription_id + + +class DataSetMapping(ProxyDto): + """A data set mapping data transfer object. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: AdlsGen2FileDataSetMapping, AdlsGen2FileSystemDataSetMapping, AdlsGen2FolderDataSetMapping, BlobDataSetMapping, BlobFolderDataSetMapping, BlobContainerDataSetMapping, KustoClusterDataSetMapping, KustoDatabaseDataSetMapping, SqlDBTableDataSetMapping, SqlDwTableDataSetMapping. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The resource id of the azure resource. + :vartype id: str + :ivar name: Name of the azure resource. + :vartype name: str + :ivar type: Type of the azure resource. + :vartype type: str + :param kind: Required. Kind of data set mapping.Constant filled by server. Possible values + include: 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', + 'AdlsGen2File', 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', + 'SqlDBTable', 'SqlDWTable', 'ScheduleBased'. + :type kind: str or ~data_share_management_client.models.Kind + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'kind': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + } + + _subtype_map = { + 'kind': {'AdlsGen2File': 'AdlsGen2FileDataSetMapping', 'AdlsGen2FileSystem': 'AdlsGen2FileSystemDataSetMapping', 'AdlsGen2Folder': 'AdlsGen2FolderDataSetMapping', 'Blob': 'BlobDataSetMapping', 'BlobFolder': 'BlobFolderDataSetMapping', 'Container': 'BlobContainerDataSetMapping', 'KustoCluster': 'KustoClusterDataSetMapping', 'KustoDatabase': 'KustoDatabaseDataSetMapping', 'SqlDBTable': 'SqlDBTableDataSetMapping', 'SqlDWTable': 'SqlDwTableDataSetMapping'} + } + + def __init__( + self, + **kwargs + ): + super(DataSetMapping, self).__init__(**kwargs) + self.kind = 'DataSetMapping' + + +class AdlsGen2FileDataSetMapping(DataSetMapping): + """An ADLS Gen2 file data set mapping. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The resource id of the azure resource. + :vartype id: str + :ivar name: Name of the azure resource. + :vartype name: str + :ivar type: Type of the azure resource. + :vartype type: str + :param kind: Required. Kind of data set mapping.Constant filled by server. Possible values + include: 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', + 'AdlsGen2File', 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', + 'SqlDBTable', 'SqlDWTable', 'ScheduleBased'. + :type kind: str or ~data_share_management_client.models.Kind + :param data_set_id: Required. The id of the source data set. + :type data_set_id: str + :ivar data_set_mapping_status: Gets the status of the data set mapping. Possible values + include: 'Ok', 'Broken'. + :vartype data_set_mapping_status: str or + ~data_share_management_client.models.DataSetMappingStatus + :param file_path: Required. File path within the file system. + :type file_path: str + :param file_system: Required. File system to which the file belongs. + :type file_system: str + :param output_type: Type of output file. Possible values include: 'Csv', 'Parquet'. + :type output_type: str or ~data_share_management_client.models.OutputType + :ivar provisioning_state: Provisioning state of the data set mapping. Possible values include: + 'Succeeded', 'Creating', 'Deleting', 'Moving', 'Failed'. + :vartype provisioning_state: str or ~data_share_management_client.models.ProvisioningState + :param resource_group: Required. Resource group of storage account. + :type resource_group: str + :param storage_account_name: Required. Storage account name of the source data set. + :type storage_account_name: str + :param subscription_id: Required. Subscription id of storage account. + :type subscription_id: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'kind': {'required': True}, + 'data_set_id': {'required': True}, + 'data_set_mapping_status': {'readonly': True}, + 'file_path': {'required': True}, + 'file_system': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'resource_group': {'required': True}, + 'storage_account_name': {'required': True}, + 'subscription_id': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'data_set_id': {'key': 'properties.dataSetId', 'type': 'str'}, + 'data_set_mapping_status': {'key': 'properties.dataSetMappingStatus', 'type': 'str'}, + 'file_path': {'key': 'properties.filePath', 'type': 'str'}, + 'file_system': {'key': 'properties.fileSystem', 'type': 'str'}, + 'output_type': {'key': 'properties.outputType', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'resource_group': {'key': 'properties.resourceGroup', 'type': 'str'}, + 'storage_account_name': {'key': 'properties.storageAccountName', 'type': 'str'}, + 'subscription_id': {'key': 'properties.subscriptionId', 'type': 'str'}, + } + + def __init__( + self, + *, + data_set_id: str, + file_path: str, + file_system: str, + resource_group: str, + storage_account_name: str, + subscription_id: str, + output_type: Optional[Union[str, "OutputType"]] = None, + **kwargs + ): + super(AdlsGen2FileDataSetMapping, self).__init__(**kwargs) + self.kind = 'AdlsGen2File' + self.data_set_id = data_set_id + self.data_set_mapping_status = None + self.file_path = file_path + self.file_system = file_system + self.output_type = output_type + self.provisioning_state = None + self.resource_group = resource_group + self.storage_account_name = storage_account_name + self.subscription_id = subscription_id + + +class AdlsGen2FileSystemDataSet(DataSet): + """An ADLS Gen 2 file system data set. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The resource id of the azure resource. + :vartype id: str + :ivar name: Name of the azure resource. + :vartype name: str + :ivar type: Type of the azure resource. + :vartype type: str + :param kind: Required. Kind of data set.Constant filled by server. Possible values include: + 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', 'AdlsGen2File', + 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', 'SqlDBTable', 'SqlDWTable', + 'ScheduleBased'. + :type kind: str or ~data_share_management_client.models.Kind + :ivar data_set_id: Unique id for identifying a data set resource. + :vartype data_set_id: str + :param file_system: Required. The file system name. + :type file_system: str + :param resource_group: Required. Resource group of storage account. + :type resource_group: str + :param storage_account_name: Required. Storage account name of the source data set. + :type storage_account_name: str + :param subscription_id: Required. Subscription id of storage account. + :type subscription_id: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'kind': {'required': True}, + 'data_set_id': {'readonly': True}, + 'file_system': {'required': True}, + 'resource_group': {'required': True}, + 'storage_account_name': {'required': True}, + 'subscription_id': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'data_set_id': {'key': 'properties.dataSetId', 'type': 'str'}, + 'file_system': {'key': 'properties.fileSystem', 'type': 'str'}, + 'resource_group': {'key': 'properties.resourceGroup', 'type': 'str'}, + 'storage_account_name': {'key': 'properties.storageAccountName', 'type': 'str'}, + 'subscription_id': {'key': 'properties.subscriptionId', 'type': 'str'}, + } + + def __init__( + self, + *, + file_system: str, + resource_group: str, + storage_account_name: str, + subscription_id: str, + **kwargs + ): + super(AdlsGen2FileSystemDataSet, self).__init__(**kwargs) + self.kind = 'AdlsGen2FileSystem' + self.data_set_id = None + self.file_system = file_system + self.resource_group = resource_group + self.storage_account_name = storage_account_name + self.subscription_id = subscription_id + + +class AdlsGen2FileSystemDataSetMapping(DataSetMapping): + """An ADLS Gen2 file system data set mapping. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The resource id of the azure resource. + :vartype id: str + :ivar name: Name of the azure resource. + :vartype name: str + :ivar type: Type of the azure resource. + :vartype type: str + :param kind: Required. Kind of data set mapping.Constant filled by server. Possible values + include: 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', + 'AdlsGen2File', 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', + 'SqlDBTable', 'SqlDWTable', 'ScheduleBased'. + :type kind: str or ~data_share_management_client.models.Kind + :param data_set_id: Required. The id of the source data set. + :type data_set_id: str + :ivar data_set_mapping_status: Gets the status of the data set mapping. Possible values + include: 'Ok', 'Broken'. + :vartype data_set_mapping_status: str or + ~data_share_management_client.models.DataSetMappingStatus + :param file_system: Required. The file system name. + :type file_system: str + :ivar provisioning_state: Provisioning state of the data set mapping. Possible values include: + 'Succeeded', 'Creating', 'Deleting', 'Moving', 'Failed'. + :vartype provisioning_state: str or ~data_share_management_client.models.ProvisioningState + :param resource_group: Required. Resource group of storage account. + :type resource_group: str + :param storage_account_name: Required. Storage account name of the source data set. + :type storage_account_name: str + :param subscription_id: Required. Subscription id of storage account. + :type subscription_id: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'kind': {'required': True}, + 'data_set_id': {'required': True}, + 'data_set_mapping_status': {'readonly': True}, + 'file_system': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'resource_group': {'required': True}, + 'storage_account_name': {'required': True}, + 'subscription_id': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'data_set_id': {'key': 'properties.dataSetId', 'type': 'str'}, + 'data_set_mapping_status': {'key': 'properties.dataSetMappingStatus', 'type': 'str'}, + 'file_system': {'key': 'properties.fileSystem', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'resource_group': {'key': 'properties.resourceGroup', 'type': 'str'}, + 'storage_account_name': {'key': 'properties.storageAccountName', 'type': 'str'}, + 'subscription_id': {'key': 'properties.subscriptionId', 'type': 'str'}, + } + + def __init__( + self, + *, + data_set_id: str, + file_system: str, + resource_group: str, + storage_account_name: str, + subscription_id: str, + **kwargs + ): + super(AdlsGen2FileSystemDataSetMapping, self).__init__(**kwargs) + self.kind = 'AdlsGen2FileSystem' + self.data_set_id = data_set_id + self.data_set_mapping_status = None + self.file_system = file_system + self.provisioning_state = None + self.resource_group = resource_group + self.storage_account_name = storage_account_name + self.subscription_id = subscription_id + + +class AdlsGen2FolderDataSet(DataSet): + """An ADLS Gen 2 folder data set. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The resource id of the azure resource. + :vartype id: str + :ivar name: Name of the azure resource. + :vartype name: str + :ivar type: Type of the azure resource. + :vartype type: str + :param kind: Required. Kind of data set.Constant filled by server. Possible values include: + 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', 'AdlsGen2File', + 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', 'SqlDBTable', 'SqlDWTable', + 'ScheduleBased'. + :type kind: str or ~data_share_management_client.models.Kind + :ivar data_set_id: Unique id for identifying a data set resource. + :vartype data_set_id: str + :param file_system: Required. File system to which the folder belongs. + :type file_system: str + :param folder_path: Required. Folder path within the file system. + :type folder_path: str + :param resource_group: Required. Resource group of storage account. + :type resource_group: str + :param storage_account_name: Required. Storage account name of the source data set. + :type storage_account_name: str + :param subscription_id: Required. Subscription id of storage account. + :type subscription_id: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'kind': {'required': True}, + 'data_set_id': {'readonly': True}, + 'file_system': {'required': True}, + 'folder_path': {'required': True}, + 'resource_group': {'required': True}, + 'storage_account_name': {'required': True}, + 'subscription_id': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'data_set_id': {'key': 'properties.dataSetId', 'type': 'str'}, + 'file_system': {'key': 'properties.fileSystem', 'type': 'str'}, + 'folder_path': {'key': 'properties.folderPath', 'type': 'str'}, + 'resource_group': {'key': 'properties.resourceGroup', 'type': 'str'}, + 'storage_account_name': {'key': 'properties.storageAccountName', 'type': 'str'}, + 'subscription_id': {'key': 'properties.subscriptionId', 'type': 'str'}, + } + + def __init__( + self, + *, + file_system: str, + folder_path: str, + resource_group: str, + storage_account_name: str, + subscription_id: str, + **kwargs + ): + super(AdlsGen2FolderDataSet, self).__init__(**kwargs) + self.kind = 'AdlsGen2Folder' + self.data_set_id = None + self.file_system = file_system + self.folder_path = folder_path + self.resource_group = resource_group + self.storage_account_name = storage_account_name + self.subscription_id = subscription_id + + +class AdlsGen2FolderDataSetMapping(DataSetMapping): + """An ADLS Gen2 folder data set mapping. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The resource id of the azure resource. + :vartype id: str + :ivar name: Name of the azure resource. + :vartype name: str + :ivar type: Type of the azure resource. + :vartype type: str + :param kind: Required. Kind of data set mapping.Constant filled by server. Possible values + include: 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', + 'AdlsGen2File', 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', + 'SqlDBTable', 'SqlDWTable', 'ScheduleBased'. + :type kind: str or ~data_share_management_client.models.Kind + :param data_set_id: Required. The id of the source data set. + :type data_set_id: str + :ivar data_set_mapping_status: Gets the status of the data set mapping. Possible values + include: 'Ok', 'Broken'. + :vartype data_set_mapping_status: str or + ~data_share_management_client.models.DataSetMappingStatus + :param file_system: Required. File system to which the folder belongs. + :type file_system: str + :param folder_path: Required. Folder path within the file system. + :type folder_path: str + :ivar provisioning_state: Provisioning state of the data set mapping. Possible values include: + 'Succeeded', 'Creating', 'Deleting', 'Moving', 'Failed'. + :vartype provisioning_state: str or ~data_share_management_client.models.ProvisioningState + :param resource_group: Required. Resource group of storage account. + :type resource_group: str + :param storage_account_name: Required. Storage account name of the source data set. + :type storage_account_name: str + :param subscription_id: Required. Subscription id of storage account. + :type subscription_id: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'kind': {'required': True}, + 'data_set_id': {'required': True}, + 'data_set_mapping_status': {'readonly': True}, + 'file_system': {'required': True}, + 'folder_path': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'resource_group': {'required': True}, + 'storage_account_name': {'required': True}, + 'subscription_id': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'data_set_id': {'key': 'properties.dataSetId', 'type': 'str'}, + 'data_set_mapping_status': {'key': 'properties.dataSetMappingStatus', 'type': 'str'}, + 'file_system': {'key': 'properties.fileSystem', 'type': 'str'}, + 'folder_path': {'key': 'properties.folderPath', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'resource_group': {'key': 'properties.resourceGroup', 'type': 'str'}, + 'storage_account_name': {'key': 'properties.storageAccountName', 'type': 'str'}, + 'subscription_id': {'key': 'properties.subscriptionId', 'type': 'str'}, + } + + def __init__( + self, + *, + data_set_id: str, + file_system: str, + folder_path: str, + resource_group: str, + storage_account_name: str, + subscription_id: str, + **kwargs + ): + super(AdlsGen2FolderDataSetMapping, self).__init__(**kwargs) + self.kind = 'AdlsGen2Folder' + self.data_set_id = data_set_id + self.data_set_mapping_status = None + self.file_system = file_system + self.folder_path = folder_path + self.provisioning_state = None + self.resource_group = resource_group + self.storage_account_name = storage_account_name + self.subscription_id = subscription_id + + +class BlobContainerDataSet(DataSet): + """An Azure storage blob container data set. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The resource id of the azure resource. + :vartype id: str + :ivar name: Name of the azure resource. + :vartype name: str + :ivar type: Type of the azure resource. + :vartype type: str + :param kind: Required. Kind of data set.Constant filled by server. Possible values include: + 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', 'AdlsGen2File', + 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', 'SqlDBTable', 'SqlDWTable', + 'ScheduleBased'. + :type kind: str or ~data_share_management_client.models.Kind + :param container_name: Required. BLOB Container name. + :type container_name: str + :ivar data_set_id: Unique id for identifying a data set resource. + :vartype data_set_id: str + :param resource_group: Required. Resource group of storage account. + :type resource_group: str + :param storage_account_name: Required. Storage account name of the source data set. + :type storage_account_name: str + :param subscription_id: Required. Subscription id of storage account. + :type subscription_id: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'kind': {'required': True}, + 'container_name': {'required': True}, + 'data_set_id': {'readonly': True}, + 'resource_group': {'required': True}, + 'storage_account_name': {'required': True}, + 'subscription_id': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'container_name': {'key': 'properties.containerName', 'type': 'str'}, + 'data_set_id': {'key': 'properties.dataSetId', 'type': 'str'}, + 'resource_group': {'key': 'properties.resourceGroup', 'type': 'str'}, + 'storage_account_name': {'key': 'properties.storageAccountName', 'type': 'str'}, + 'subscription_id': {'key': 'properties.subscriptionId', 'type': 'str'}, + } + + def __init__( + self, + *, + container_name: str, + resource_group: str, + storage_account_name: str, + subscription_id: str, + **kwargs + ): + super(BlobContainerDataSet, self).__init__(**kwargs) + self.kind = 'Container' + self.container_name = container_name + self.data_set_id = None + self.resource_group = resource_group + self.storage_account_name = storage_account_name + self.subscription_id = subscription_id + + +class BlobContainerDataSetMapping(DataSetMapping): + """A Blob container data set mapping. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The resource id of the azure resource. + :vartype id: str + :ivar name: Name of the azure resource. + :vartype name: str + :ivar type: Type of the azure resource. + :vartype type: str + :param kind: Required. Kind of data set mapping.Constant filled by server. Possible values + include: 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', + 'AdlsGen2File', 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', + 'SqlDBTable', 'SqlDWTable', 'ScheduleBased'. + :type kind: str or ~data_share_management_client.models.Kind + :param container_name: Required. BLOB Container name. + :type container_name: str + :param data_set_id: Required. The id of the source data set. + :type data_set_id: str + :ivar data_set_mapping_status: Gets the status of the data set mapping. Possible values + include: 'Ok', 'Broken'. + :vartype data_set_mapping_status: str or + ~data_share_management_client.models.DataSetMappingStatus + :ivar provisioning_state: Provisioning state of the data set mapping. Possible values include: + 'Succeeded', 'Creating', 'Deleting', 'Moving', 'Failed'. + :vartype provisioning_state: str or ~data_share_management_client.models.ProvisioningState + :param resource_group: Required. Resource group of storage account. + :type resource_group: str + :param storage_account_name: Required. Storage account name of the source data set. + :type storage_account_name: str + :param subscription_id: Required. Subscription id of storage account. + :type subscription_id: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'kind': {'required': True}, + 'container_name': {'required': True}, + 'data_set_id': {'required': True}, + 'data_set_mapping_status': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'resource_group': {'required': True}, + 'storage_account_name': {'required': True}, + 'subscription_id': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'container_name': {'key': 'properties.containerName', 'type': 'str'}, + 'data_set_id': {'key': 'properties.dataSetId', 'type': 'str'}, + 'data_set_mapping_status': {'key': 'properties.dataSetMappingStatus', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'resource_group': {'key': 'properties.resourceGroup', 'type': 'str'}, + 'storage_account_name': {'key': 'properties.storageAccountName', 'type': 'str'}, + 'subscription_id': {'key': 'properties.subscriptionId', 'type': 'str'}, + } + + def __init__( + self, + *, + container_name: str, + data_set_id: str, + resource_group: str, + storage_account_name: str, + subscription_id: str, + **kwargs + ): + super(BlobContainerDataSetMapping, self).__init__(**kwargs) + self.kind = 'Container' + self.container_name = container_name + self.data_set_id = data_set_id + self.data_set_mapping_status = None + self.provisioning_state = None + self.resource_group = resource_group + self.storage_account_name = storage_account_name + self.subscription_id = subscription_id + + +class BlobDataSet(DataSet): + """An Azure storage blob data set. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The resource id of the azure resource. + :vartype id: str + :ivar name: Name of the azure resource. + :vartype name: str + :ivar type: Type of the azure resource. + :vartype type: str + :param kind: Required. Kind of data set.Constant filled by server. Possible values include: + 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', 'AdlsGen2File', + 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', 'SqlDBTable', 'SqlDWTable', + 'ScheduleBased'. + :type kind: str or ~data_share_management_client.models.Kind + :param container_name: Required. Container that has the file path. + :type container_name: str + :ivar data_set_id: Unique id for identifying a data set resource. + :vartype data_set_id: str + :param file_path: Required. File path within the source data set. + :type file_path: str + :param resource_group: Required. Resource group of storage account. + :type resource_group: str + :param storage_account_name: Required. Storage account name of the source data set. + :type storage_account_name: str + :param subscription_id: Required. Subscription id of storage account. + :type subscription_id: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'kind': {'required': True}, + 'container_name': {'required': True}, + 'data_set_id': {'readonly': True}, + 'file_path': {'required': True}, + 'resource_group': {'required': True}, + 'storage_account_name': {'required': True}, + 'subscription_id': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'container_name': {'key': 'properties.containerName', 'type': 'str'}, + 'data_set_id': {'key': 'properties.dataSetId', 'type': 'str'}, + 'file_path': {'key': 'properties.filePath', 'type': 'str'}, + 'resource_group': {'key': 'properties.resourceGroup', 'type': 'str'}, + 'storage_account_name': {'key': 'properties.storageAccountName', 'type': 'str'}, + 'subscription_id': {'key': 'properties.subscriptionId', 'type': 'str'}, + } + + def __init__( + self, + *, + container_name: str, + file_path: str, + resource_group: str, + storage_account_name: str, + subscription_id: str, + **kwargs + ): + super(BlobDataSet, self).__init__(**kwargs) + self.kind = 'Blob' + self.container_name = container_name + self.data_set_id = None + self.file_path = file_path + self.resource_group = resource_group + self.storage_account_name = storage_account_name + self.subscription_id = subscription_id + + +class BlobDataSetMapping(DataSetMapping): + """A Blob data set mapping. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The resource id of the azure resource. + :vartype id: str + :ivar name: Name of the azure resource. + :vartype name: str + :ivar type: Type of the azure resource. + :vartype type: str + :param kind: Required. Kind of data set mapping.Constant filled by server. Possible values + include: 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', + 'AdlsGen2File', 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', + 'SqlDBTable', 'SqlDWTable', 'ScheduleBased'. + :type kind: str or ~data_share_management_client.models.Kind + :param container_name: Required. Container that has the file path. + :type container_name: str + :param data_set_id: Required. The id of the source data set. + :type data_set_id: str + :ivar data_set_mapping_status: Gets the status of the data set mapping. Possible values + include: 'Ok', 'Broken'. + :vartype data_set_mapping_status: str or + ~data_share_management_client.models.DataSetMappingStatus + :param file_path: Required. File path within the source data set. + :type file_path: str + :param output_type: File output type. Possible values include: 'Csv', 'Parquet'. + :type output_type: str or ~data_share_management_client.models.OutputType + :ivar provisioning_state: Provisioning state of the data set mapping. Possible values include: + 'Succeeded', 'Creating', 'Deleting', 'Moving', 'Failed'. + :vartype provisioning_state: str or ~data_share_management_client.models.ProvisioningState + :param resource_group: Required. Resource group of storage account. + :type resource_group: str + :param storage_account_name: Required. Storage account name of the source data set. + :type storage_account_name: str + :param subscription_id: Required. Subscription id of storage account. + :type subscription_id: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'kind': {'required': True}, + 'container_name': {'required': True}, + 'data_set_id': {'required': True}, + 'data_set_mapping_status': {'readonly': True}, + 'file_path': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'resource_group': {'required': True}, + 'storage_account_name': {'required': True}, + 'subscription_id': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'container_name': {'key': 'properties.containerName', 'type': 'str'}, + 'data_set_id': {'key': 'properties.dataSetId', 'type': 'str'}, + 'data_set_mapping_status': {'key': 'properties.dataSetMappingStatus', 'type': 'str'}, + 'file_path': {'key': 'properties.filePath', 'type': 'str'}, + 'output_type': {'key': 'properties.outputType', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'resource_group': {'key': 'properties.resourceGroup', 'type': 'str'}, + 'storage_account_name': {'key': 'properties.storageAccountName', 'type': 'str'}, + 'subscription_id': {'key': 'properties.subscriptionId', 'type': 'str'}, + } + + def __init__( + self, + *, + container_name: str, + data_set_id: str, + file_path: str, + resource_group: str, + storage_account_name: str, + subscription_id: str, + output_type: Optional[Union[str, "OutputType"]] = None, + **kwargs + ): + super(BlobDataSetMapping, self).__init__(**kwargs) + self.kind = 'Blob' + self.container_name = container_name + self.data_set_id = data_set_id + self.data_set_mapping_status = None + self.file_path = file_path + self.output_type = output_type + self.provisioning_state = None + self.resource_group = resource_group + self.storage_account_name = storage_account_name + self.subscription_id = subscription_id + + +class BlobFolderDataSet(DataSet): + """An Azure storage blob folder data set. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The resource id of the azure resource. + :vartype id: str + :ivar name: Name of the azure resource. + :vartype name: str + :ivar type: Type of the azure resource. + :vartype type: str + :param kind: Required. Kind of data set.Constant filled by server. Possible values include: + 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', 'AdlsGen2File', + 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', 'SqlDBTable', 'SqlDWTable', + 'ScheduleBased'. + :type kind: str or ~data_share_management_client.models.Kind + :param container_name: Required. Container that has the file path. + :type container_name: str + :ivar data_set_id: Unique id for identifying a data set resource. + :vartype data_set_id: str + :param prefix: Required. Prefix for blob folder. + :type prefix: str + :param resource_group: Required. Resource group of storage account. + :type resource_group: str + :param storage_account_name: Required. Storage account name of the source data set. + :type storage_account_name: str + :param subscription_id: Required. Subscription id of storage account. + :type subscription_id: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'kind': {'required': True}, + 'container_name': {'required': True}, + 'data_set_id': {'readonly': True}, + 'prefix': {'required': True}, + 'resource_group': {'required': True}, + 'storage_account_name': {'required': True}, + 'subscription_id': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'container_name': {'key': 'properties.containerName', 'type': 'str'}, + 'data_set_id': {'key': 'properties.dataSetId', 'type': 'str'}, + 'prefix': {'key': 'properties.prefix', 'type': 'str'}, + 'resource_group': {'key': 'properties.resourceGroup', 'type': 'str'}, + 'storage_account_name': {'key': 'properties.storageAccountName', 'type': 'str'}, + 'subscription_id': {'key': 'properties.subscriptionId', 'type': 'str'}, + } + + def __init__( + self, + *, + container_name: str, + prefix: str, + resource_group: str, + storage_account_name: str, + subscription_id: str, + **kwargs + ): + super(BlobFolderDataSet, self).__init__(**kwargs) + self.kind = 'BlobFolder' + self.container_name = container_name + self.data_set_id = None + self.prefix = prefix + self.resource_group = resource_group + self.storage_account_name = storage_account_name + self.subscription_id = subscription_id + + +class BlobFolderDataSetMapping(DataSetMapping): + """A Blob folder data set mapping. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The resource id of the azure resource. + :vartype id: str + :ivar name: Name of the azure resource. + :vartype name: str + :ivar type: Type of the azure resource. + :vartype type: str + :param kind: Required. Kind of data set mapping.Constant filled by server. Possible values + include: 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', + 'AdlsGen2File', 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', + 'SqlDBTable', 'SqlDWTable', 'ScheduleBased'. + :type kind: str or ~data_share_management_client.models.Kind + :param container_name: Required. Container that has the file path. + :type container_name: str + :param data_set_id: Required. The id of the source data set. + :type data_set_id: str + :ivar data_set_mapping_status: Gets the status of the data set mapping. Possible values + include: 'Ok', 'Broken'. + :vartype data_set_mapping_status: str or + ~data_share_management_client.models.DataSetMappingStatus + :param prefix: Required. Prefix for blob folder. + :type prefix: str + :ivar provisioning_state: Provisioning state of the data set mapping. Possible values include: + 'Succeeded', 'Creating', 'Deleting', 'Moving', 'Failed'. + :vartype provisioning_state: str or ~data_share_management_client.models.ProvisioningState + :param resource_group: Required. Resource group of storage account. + :type resource_group: str + :param storage_account_name: Required. Storage account name of the source data set. + :type storage_account_name: str + :param subscription_id: Required. Subscription id of storage account. + :type subscription_id: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'kind': {'required': True}, + 'container_name': {'required': True}, + 'data_set_id': {'required': True}, + 'data_set_mapping_status': {'readonly': True}, + 'prefix': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'resource_group': {'required': True}, + 'storage_account_name': {'required': True}, + 'subscription_id': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'container_name': {'key': 'properties.containerName', 'type': 'str'}, + 'data_set_id': {'key': 'properties.dataSetId', 'type': 'str'}, + 'data_set_mapping_status': {'key': 'properties.dataSetMappingStatus', 'type': 'str'}, + 'prefix': {'key': 'properties.prefix', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'resource_group': {'key': 'properties.resourceGroup', 'type': 'str'}, + 'storage_account_name': {'key': 'properties.storageAccountName', 'type': 'str'}, + 'subscription_id': {'key': 'properties.subscriptionId', 'type': 'str'}, + } + + def __init__( + self, + *, + container_name: str, + data_set_id: str, + prefix: str, + resource_group: str, + storage_account_name: str, + subscription_id: str, + **kwargs + ): + super(BlobFolderDataSetMapping, self).__init__(**kwargs) + self.kind = 'BlobFolder' + self.container_name = container_name + self.data_set_id = data_set_id + self.data_set_mapping_status = None + self.prefix = prefix + self.provisioning_state = None + self.resource_group = resource_group + self.storage_account_name = storage_account_name + self.subscription_id = subscription_id + + +class ConsumerInvitation(ProxyDto): + """A consumer Invitation data transfer object. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The resource id of the azure resource. + :vartype id: str + :ivar name: Name of the azure resource. + :vartype name: str + :ivar type: Type of the azure resource. + :vartype type: str + :ivar data_set_count: Number of data sets in a share. + :vartype data_set_count: int + :ivar description: Description shared when the invitation was created. + :vartype description: str + :param invitation_id: Required. Unique id of the invitation. + :type invitation_id: str + :ivar invitation_status: The status of the invitation. Possible values include: 'Pending', + 'Accepted', 'Rejected', 'Withdrawn'. + :vartype invitation_status: str or ~data_share_management_client.models.InvitationStatus + :ivar location: invitation location. + :vartype location: str + :ivar provider_email: Email of the provider who created the resource. + :vartype provider_email: str + :ivar provider_name: Name of the provider who created the resource. + :vartype provider_name: str + :ivar provider_tenant_name: Tenant name of the provider who created the resource. + :vartype provider_tenant_name: str + :ivar responded_at: The time the recipient responded to the invitation. + :vartype responded_at: ~datetime.datetime + :ivar sent_at: Gets the time at which the invitation was sent. + :vartype sent_at: ~datetime.datetime + :ivar share_name: Gets the source share Name. + :vartype share_name: str + :ivar terms_of_use: Terms of use shared when the invitation was created. + :vartype terms_of_use: str + :ivar user_email: Email of the user who created the resource. + :vartype user_email: str + :ivar user_name: Name of the user who created the resource. + :vartype user_name: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'data_set_count': {'readonly': True}, + 'description': {'readonly': True}, + 'invitation_id': {'required': True}, + 'invitation_status': {'readonly': True}, + 'location': {'readonly': True}, + 'provider_email': {'readonly': True}, + 'provider_name': {'readonly': True}, + 'provider_tenant_name': {'readonly': True}, + 'responded_at': {'readonly': True}, + 'sent_at': {'readonly': True}, + 'share_name': {'readonly': True}, + 'terms_of_use': {'readonly': True}, + 'user_email': {'readonly': True}, + 'user_name': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'data_set_count': {'key': 'properties.dataSetCount', 'type': 'int'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'invitation_id': {'key': 'properties.invitationId', 'type': 'str'}, + 'invitation_status': {'key': 'properties.invitationStatus', 'type': 'str'}, + 'location': {'key': 'properties.location', 'type': 'str'}, + 'provider_email': {'key': 'properties.providerEmail', 'type': 'str'}, + 'provider_name': {'key': 'properties.providerName', 'type': 'str'}, + 'provider_tenant_name': {'key': 'properties.providerTenantName', 'type': 'str'}, + 'responded_at': {'key': 'properties.respondedAt', 'type': 'iso-8601'}, + 'sent_at': {'key': 'properties.sentAt', 'type': 'iso-8601'}, + 'share_name': {'key': 'properties.shareName', 'type': 'str'}, + 'terms_of_use': {'key': 'properties.termsOfUse', 'type': 'str'}, + 'user_email': {'key': 'properties.userEmail', 'type': 'str'}, + 'user_name': {'key': 'properties.userName', 'type': 'str'}, + } + + def __init__( + self, + *, + invitation_id: str, + **kwargs + ): + super(ConsumerInvitation, self).__init__(**kwargs) + self.data_set_count = None + self.description = None + self.invitation_id = invitation_id + self.invitation_status = None + self.location = None + self.provider_email = None + self.provider_name = None + self.provider_tenant_name = None + self.responded_at = None + self.sent_at = None + self.share_name = None + self.terms_of_use = None + self.user_email = None + self.user_name = None + + +class ConsumerInvitationList(msrest.serialization.Model): + """List response for get InvitationList. + + All required parameters must be populated in order to send to Azure. + + :param next_link: The Url of next result page. + :type next_link: str + :param value: Required. Collection of items of type DataTransferObjects. + :type value: list[~data_share_management_client.models.ConsumerInvitation] + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[ConsumerInvitation]'}, + } + + def __init__( + self, + *, + value: List["ConsumerInvitation"], + next_link: Optional[str] = None, + **kwargs + ): + super(ConsumerInvitationList, self).__init__(**kwargs) + self.next_link = next_link + self.value = value + + +class ConsumerSourceDataSet(ProxyDto): + """A consumer side dataSet data transfer object. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: The resource id of the azure resource. + :vartype id: str + :ivar name: Name of the azure resource. + :vartype name: str + :ivar type: Type of the azure resource. + :vartype type: str + :ivar data_set_id: DataSet Id. + :vartype data_set_id: str + :ivar data_set_location: Location of the data set. + :vartype data_set_location: str + :ivar data_set_name: DataSet name. + :vartype data_set_name: str + :ivar data_set_path: DataSet path. + :vartype data_set_path: str + :ivar data_set_type: Type of data set. Possible values include: 'Blob', 'Container', + 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', 'AdlsGen2File', 'AdlsGen1Folder', + 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', 'SqlDBTable', 'SqlDWTable'. + :vartype data_set_type: str or ~data_share_management_client.models.DataSetType + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'data_set_id': {'readonly': True}, + 'data_set_location': {'readonly': True}, + 'data_set_name': {'readonly': True}, + 'data_set_path': {'readonly': True}, + 'data_set_type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'data_set_id': {'key': 'properties.dataSetId', 'type': 'str'}, + 'data_set_location': {'key': 'properties.dataSetLocation', 'type': 'str'}, + 'data_set_name': {'key': 'properties.dataSetName', 'type': 'str'}, + 'data_set_path': {'key': 'properties.dataSetPath', 'type': 'str'}, + 'data_set_type': {'key': 'properties.dataSetType', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ConsumerSourceDataSet, self).__init__(**kwargs) + self.data_set_id = None + self.data_set_location = None + self.data_set_name = None + self.data_set_path = None + self.data_set_type = None + + +class ConsumerSourceDataSetList(msrest.serialization.Model): + """A consumer side list of source dataSets. + + All required parameters must be populated in order to send to Azure. + + :param next_link: The Url of next result page. + :type next_link: str + :param value: Required. Collection of items of type DataTransferObjects. + :type value: list[~data_share_management_client.models.ConsumerSourceDataSet] + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[ConsumerSourceDataSet]'}, + } + + def __init__( + self, + *, + value: List["ConsumerSourceDataSet"], + next_link: Optional[str] = None, + **kwargs + ): + super(ConsumerSourceDataSetList, self).__init__(**kwargs) + self.next_link = next_link + self.value = value + + +class DataSetList(msrest.serialization.Model): + """List response for get DataSets. + + All required parameters must be populated in order to send to Azure. + + :param next_link: The Url of next result page. + :type next_link: str + :param value: Required. Collection of items of type DataTransferObjects. + :type value: list[~data_share_management_client.models.DataSet] + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[DataSet]'}, + } + + def __init__( + self, + *, + value: List["DataSet"], + next_link: Optional[str] = None, + **kwargs + ): + super(DataSetList, self).__init__(**kwargs) + self.next_link = next_link + self.value = value + + +class DataSetMappingList(msrest.serialization.Model): + """List response for get DataSetMappings. + + All required parameters must be populated in order to send to Azure. + + :param next_link: The Url of next result page. + :type next_link: str + :param value: Required. Collection of items of type DataTransferObjects. + :type value: list[~data_share_management_client.models.DataSetMapping] + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[DataSetMapping]'}, + } + + def __init__( + self, + *, + value: List["DataSetMapping"], + next_link: Optional[str] = None, + **kwargs + ): + super(DataSetMappingList, self).__init__(**kwargs) + self.next_link = next_link + self.value = value + + +class DataShareError(msrest.serialization.Model): + """The data share error model. + + All required parameters must be populated in order to send to Azure. + + :param error: Required. The data share error body. + :type error: ~data_share_management_client.models.DataShareErrorInfo + """ + + _validation = { + 'error': {'required': True}, + } + + _attribute_map = { + 'error': {'key': 'error', 'type': 'DataShareErrorInfo'}, + } + + def __init__( + self, + *, + error: "DataShareErrorInfo", + **kwargs + ): + super(DataShareError, self).__init__(**kwargs) + self.error = error + + +class DataShareErrorInfo(msrest.serialization.Model): + """The data share error body model. + + All required parameters must be populated in order to send to Azure. + + :param code: Required. Code of the error. + :type code: str + :param details: Nested details of the error model. + :type details: list[~data_share_management_client.models.DataShareErrorInfo] + :param message: Required. Message of the error. + :type message: str + :param target: Target of the error. + :type target: str + """ + + _validation = { + 'code': {'required': True}, + 'message': {'required': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[DataShareErrorInfo]'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + } + + def __init__( + self, + *, + code: str, + message: str, + details: Optional[List["DataShareErrorInfo"]] = None, + target: Optional[str] = None, + **kwargs + ): + super(DataShareErrorInfo, self).__init__(**kwargs) + self.code = code + self.details = details + self.message = message + self.target = target + + +class DimensionProperties(msrest.serialization.Model): + """properties for dimension. + + :param display_name: localized display name of the dimension to customer. + :type display_name: str + :param name: dimension name. + :type name: str + """ + + _attribute_map = { + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__( + self, + *, + display_name: Optional[str] = None, + name: Optional[str] = None, + **kwargs + ): + super(DimensionProperties, self).__init__(**kwargs) + self.display_name = display_name + self.name = name + + +class Identity(msrest.serialization.Model): + """Identity of resource. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar principal_id: service principal Id. + :vartype principal_id: str + :ivar tenant_id: Tenant Id. + :vartype tenant_id: str + :ivar type: Identity Type. Default value: "SystemAssigned". + :vartype type: str + """ + + _validation = { + 'principal_id': {'readonly': True}, + 'tenant_id': {'readonly': True}, + 'type': {'constant': True}, + } + + _attribute_map = { + 'principal_id': {'key': 'principalId', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + type = "SystemAssigned" + + def __init__( + self, + **kwargs + ): + super(Identity, self).__init__(**kwargs) + self.principal_id = None + self.tenant_id = None + + +class Invitation(ProxyDto): + """A Invitation data transfer object. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: The resource id of the azure resource. + :vartype id: str + :ivar name: Name of the azure resource. + :vartype name: str + :ivar type: Type of the azure resource. + :vartype type: str + :ivar invitation_id: unique invitation id. + :vartype invitation_id: str + :ivar invitation_status: The status of the invitation. Possible values include: 'Pending', + 'Accepted', 'Rejected', 'Withdrawn'. + :vartype invitation_status: str or ~data_share_management_client.models.InvitationStatus + :ivar responded_at: The time the recipient responded to the invitation. + :vartype responded_at: ~datetime.datetime + :ivar sent_at: Gets the time at which the invitation was sent. + :vartype sent_at: ~datetime.datetime + :param target_active_directory_id: The target Azure AD Id. Can't be combined with email. + :type target_active_directory_id: str + :param target_email: The email the invitation is directed to. + :type target_email: str + :param target_object_id: The target user or application Id that invitation is being sent to. + Must be specified along TargetActiveDirectoryId. This enables sending + invitations to specific users or applications in an AD tenant. + :type target_object_id: str + :ivar user_email: Email of the user who created the resource. + :vartype user_email: str + :ivar user_name: Name of the user who created the resource. + :vartype user_name: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'invitation_id': {'readonly': True}, + 'invitation_status': {'readonly': True}, + 'responded_at': {'readonly': True}, + 'sent_at': {'readonly': True}, + 'user_email': {'readonly': True}, + 'user_name': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'invitation_id': {'key': 'properties.invitationId', 'type': 'str'}, + 'invitation_status': {'key': 'properties.invitationStatus', 'type': 'str'}, + 'responded_at': {'key': 'properties.respondedAt', 'type': 'iso-8601'}, + 'sent_at': {'key': 'properties.sentAt', 'type': 'iso-8601'}, + 'target_active_directory_id': {'key': 'properties.targetActiveDirectoryId', 'type': 'str'}, + 'target_email': {'key': 'properties.targetEmail', 'type': 'str'}, + 'target_object_id': {'key': 'properties.targetObjectId', 'type': 'str'}, + 'user_email': {'key': 'properties.userEmail', 'type': 'str'}, + 'user_name': {'key': 'properties.userName', 'type': 'str'}, + } + + def __init__( + self, + *, + target_active_directory_id: Optional[str] = None, + target_email: Optional[str] = None, + target_object_id: Optional[str] = None, + **kwargs + ): + super(Invitation, self).__init__(**kwargs) + self.invitation_id = None + self.invitation_status = None + self.responded_at = None + self.sent_at = None + self.target_active_directory_id = target_active_directory_id + self.target_email = target_email + self.target_object_id = target_object_id + self.user_email = None + self.user_name = None + + +class InvitationList(msrest.serialization.Model): + """List response for get InvitationList. + + All required parameters must be populated in order to send to Azure. + + :param next_link: The Url of next result page. + :type next_link: str + :param value: Required. Collection of items of type DataTransferObjects. + :type value: list[~data_share_management_client.models.Invitation] + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[Invitation]'}, + } + + def __init__( + self, + *, + value: List["Invitation"], + next_link: Optional[str] = None, + **kwargs + ): + super(InvitationList, self).__init__(**kwargs) + self.next_link = next_link + self.value = value + + +class KustoClusterDataSet(DataSet): + """A kusto cluster data set. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The resource id of the azure resource. + :vartype id: str + :ivar name: Name of the azure resource. + :vartype name: str + :ivar type: Type of the azure resource. + :vartype type: str + :param kind: Required. Kind of data set.Constant filled by server. Possible values include: + 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', 'AdlsGen2File', + 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', 'SqlDBTable', 'SqlDWTable', + 'ScheduleBased'. + :type kind: str or ~data_share_management_client.models.Kind + :ivar data_set_id: Unique id for identifying a data set resource. + :vartype data_set_id: str + :param kusto_cluster_resource_id: Required. Resource id of the kusto cluster. + :type kusto_cluster_resource_id: str + :ivar location: Location of the kusto cluster. + :vartype location: str + :ivar provisioning_state: Provisioning state of the kusto cluster data set. Possible values + include: 'Succeeded', 'Creating', 'Deleting', 'Moving', 'Failed'. + :vartype provisioning_state: str or ~data_share_management_client.models.ProvisioningState + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'kind': {'required': True}, + 'data_set_id': {'readonly': True}, + 'kusto_cluster_resource_id': {'required': True}, + 'location': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'data_set_id': {'key': 'properties.dataSetId', 'type': 'str'}, + 'kusto_cluster_resource_id': {'key': 'properties.kustoClusterResourceId', 'type': 'str'}, + 'location': {'key': 'properties.location', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + } + + def __init__( + self, + *, + kusto_cluster_resource_id: str, + **kwargs + ): + super(KustoClusterDataSet, self).__init__(**kwargs) + self.kind = 'KustoCluster' + self.data_set_id = None + self.kusto_cluster_resource_id = kusto_cluster_resource_id + self.location = None + self.provisioning_state = None + + +class KustoClusterDataSetMapping(DataSetMapping): + """A Kusto cluster data set mapping. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The resource id of the azure resource. + :vartype id: str + :ivar name: Name of the azure resource. + :vartype name: str + :ivar type: Type of the azure resource. + :vartype type: str + :param kind: Required. Kind of data set mapping.Constant filled by server. Possible values + include: 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', + 'AdlsGen2File', 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', + 'SqlDBTable', 'SqlDWTable', 'ScheduleBased'. + :type kind: str or ~data_share_management_client.models.Kind + :param data_set_id: Required. The id of the source data set. + :type data_set_id: str + :ivar data_set_mapping_status: Gets the status of the data set mapping. Possible values + include: 'Ok', 'Broken'. + :vartype data_set_mapping_status: str or + ~data_share_management_client.models.DataSetMappingStatus + :param kusto_cluster_resource_id: Required. Resource id of the sink kusto cluster. + :type kusto_cluster_resource_id: str + :ivar location: Location of the sink kusto cluster. + :vartype location: str + :ivar provisioning_state: Provisioning state of the data set mapping. Possible values include: + 'Succeeded', 'Creating', 'Deleting', 'Moving', 'Failed'. + :vartype provisioning_state: str or ~data_share_management_client.models.ProvisioningState + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'kind': {'required': True}, + 'data_set_id': {'required': True}, + 'data_set_mapping_status': {'readonly': True}, + 'kusto_cluster_resource_id': {'required': True}, + 'location': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'data_set_id': {'key': 'properties.dataSetId', 'type': 'str'}, + 'data_set_mapping_status': {'key': 'properties.dataSetMappingStatus', 'type': 'str'}, + 'kusto_cluster_resource_id': {'key': 'properties.kustoClusterResourceId', 'type': 'str'}, + 'location': {'key': 'properties.location', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + } + + def __init__( + self, + *, + data_set_id: str, + kusto_cluster_resource_id: str, + **kwargs + ): + super(KustoClusterDataSetMapping, self).__init__(**kwargs) + self.kind = 'KustoCluster' + self.data_set_id = data_set_id + self.data_set_mapping_status = None + self.kusto_cluster_resource_id = kusto_cluster_resource_id + self.location = None + self.provisioning_state = None + + +class KustoDatabaseDataSet(DataSet): + """A kusto database data set. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The resource id of the azure resource. + :vartype id: str + :ivar name: Name of the azure resource. + :vartype name: str + :ivar type: Type of the azure resource. + :vartype type: str + :param kind: Required. Kind of data set.Constant filled by server. Possible values include: + 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', 'AdlsGen2File', + 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', 'SqlDBTable', 'SqlDWTable', + 'ScheduleBased'. + :type kind: str or ~data_share_management_client.models.Kind + :ivar data_set_id: Unique id for identifying a data set resource. + :vartype data_set_id: str + :param kusto_database_resource_id: Required. Resource id of the kusto database. + :type kusto_database_resource_id: str + :ivar location: Location of the kusto cluster. + :vartype location: str + :ivar provisioning_state: Provisioning state of the kusto database data set. Possible values + include: 'Succeeded', 'Creating', 'Deleting', 'Moving', 'Failed'. + :vartype provisioning_state: str or ~data_share_management_client.models.ProvisioningState + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'kind': {'required': True}, + 'data_set_id': {'readonly': True}, + 'kusto_database_resource_id': {'required': True}, + 'location': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'data_set_id': {'key': 'properties.dataSetId', 'type': 'str'}, + 'kusto_database_resource_id': {'key': 'properties.kustoDatabaseResourceId', 'type': 'str'}, + 'location': {'key': 'properties.location', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + } + + def __init__( + self, + *, + kusto_database_resource_id: str, + **kwargs + ): + super(KustoDatabaseDataSet, self).__init__(**kwargs) + self.kind = 'KustoDatabase' + self.data_set_id = None + self.kusto_database_resource_id = kusto_database_resource_id + self.location = None + self.provisioning_state = None + + +class KustoDatabaseDataSetMapping(DataSetMapping): + """A Kusto database data set mapping. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The resource id of the azure resource. + :vartype id: str + :ivar name: Name of the azure resource. + :vartype name: str + :ivar type: Type of the azure resource. + :vartype type: str + :param kind: Required. Kind of data set mapping.Constant filled by server. Possible values + include: 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', + 'AdlsGen2File', 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', + 'SqlDBTable', 'SqlDWTable', 'ScheduleBased'. + :type kind: str or ~data_share_management_client.models.Kind + :param data_set_id: Required. The id of the source data set. + :type data_set_id: str + :ivar data_set_mapping_status: Gets the status of the data set mapping. Possible values + include: 'Ok', 'Broken'. + :vartype data_set_mapping_status: str or + ~data_share_management_client.models.DataSetMappingStatus + :param kusto_cluster_resource_id: Required. Resource id of the sink kusto cluster. + :type kusto_cluster_resource_id: str + :ivar location: Location of the sink kusto cluster. + :vartype location: str + :ivar provisioning_state: Provisioning state of the data set mapping. Possible values include: + 'Succeeded', 'Creating', 'Deleting', 'Moving', 'Failed'. + :vartype provisioning_state: str or ~data_share_management_client.models.ProvisioningState + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'kind': {'required': True}, + 'data_set_id': {'required': True}, + 'data_set_mapping_status': {'readonly': True}, + 'kusto_cluster_resource_id': {'required': True}, + 'location': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'data_set_id': {'key': 'properties.dataSetId', 'type': 'str'}, + 'data_set_mapping_status': {'key': 'properties.dataSetMappingStatus', 'type': 'str'}, + 'kusto_cluster_resource_id': {'key': 'properties.kustoClusterResourceId', 'type': 'str'}, + 'location': {'key': 'properties.location', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + } + + def __init__( + self, + *, + data_set_id: str, + kusto_cluster_resource_id: str, + **kwargs + ): + super(KustoDatabaseDataSetMapping, self).__init__(**kwargs) + self.kind = 'KustoDatabase' + self.data_set_id = data_set_id + self.data_set_mapping_status = None + self.kusto_cluster_resource_id = kusto_cluster_resource_id + self.location = None + self.provisioning_state = None + + +class OperationList(msrest.serialization.Model): + """List response for get operations. + + All required parameters must be populated in order to send to Azure. + + :param next_link: The Url of next result page. + :type next_link: str + :param value: Required. Collection of items of type DataTransferObjects. + :type value: list[~data_share_management_client.models.OperationModel] + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[OperationModel]'}, + } + + def __init__( + self, + *, + value: List["OperationModel"], + next_link: Optional[str] = None, + **kwargs + ): + super(OperationList, self).__init__(**kwargs) + self.next_link = next_link + self.value = value + + +class OperationMetaLogSpecification(msrest.serialization.Model): + """log specifications for operation api. + + :param blob_duration: blob duration of the log. + :type blob_duration: str + :param display_name: localized name of the log category. + :type display_name: str + :param name: name of the log category. + :type name: str + """ + + _attribute_map = { + 'blob_duration': {'key': 'blobDuration', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__( + self, + *, + blob_duration: Optional[str] = None, + display_name: Optional[str] = None, + name: Optional[str] = None, + **kwargs + ): + super(OperationMetaLogSpecification, self).__init__(**kwargs) + self.blob_duration = blob_duration + self.display_name = display_name + self.name = name + + +class OperationMetaMetricSpecification(msrest.serialization.Model): + """metric specifications for the operation. + + :param aggregation_type: aggregation type of metric. + :type aggregation_type: str + :param dimensions: properties for dimension. + :type dimensions: list[~data_share_management_client.models.DimensionProperties] + :param display_description: description of the metric. + :type display_description: str + :param display_name: localized name of the metric. + :type display_name: str + :param enable_regional_mdm_account: enable regional mdm account. + :type enable_regional_mdm_account: str + :param internal_metric_name: internal metric name. + :type internal_metric_name: str + :param name: name of the metric. + :type name: str + :param resource_id_dimension_name_override: dimension name use to replace resource id if + specified. + :type resource_id_dimension_name_override: str + :param supported_aggregation_types: supported aggregation types. + :type supported_aggregation_types: list[str] + :param supported_time_grain_types: supported time grain types. + :type supported_time_grain_types: list[str] + :param unit: units for the metric. + :type unit: str + """ + + _attribute_map = { + 'aggregation_type': {'key': 'aggregationType', 'type': 'str'}, + 'dimensions': {'key': 'dimensions', 'type': '[DimensionProperties]'}, + 'display_description': {'key': 'displayDescription', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'enable_regional_mdm_account': {'key': 'enableRegionalMdmAccount', 'type': 'str'}, + 'internal_metric_name': {'key': 'internalMetricName', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'resource_id_dimension_name_override': {'key': 'resourceIdDimensionNameOverride', 'type': 'str'}, + 'supported_aggregation_types': {'key': 'supportedAggregationTypes', 'type': '[str]'}, + 'supported_time_grain_types': {'key': 'supportedTimeGrainTypes', 'type': '[str]'}, + 'unit': {'key': 'unit', 'type': 'str'}, + } + + def __init__( + self, + *, + aggregation_type: Optional[str] = None, + dimensions: Optional[List["DimensionProperties"]] = None, + display_description: Optional[str] = None, + display_name: Optional[str] = None, + enable_regional_mdm_account: Optional[str] = None, + internal_metric_name: Optional[str] = None, + name: Optional[str] = None, + resource_id_dimension_name_override: Optional[str] = None, + supported_aggregation_types: Optional[List[str]] = None, + supported_time_grain_types: Optional[List[str]] = None, + unit: Optional[str] = None, + **kwargs + ): + super(OperationMetaMetricSpecification, self).__init__(**kwargs) + self.aggregation_type = aggregation_type + self.dimensions = dimensions + self.display_description = display_description + self.display_name = display_name + self.enable_regional_mdm_account = enable_regional_mdm_account + self.internal_metric_name = internal_metric_name + self.name = name + self.resource_id_dimension_name_override = resource_id_dimension_name_override + self.supported_aggregation_types = supported_aggregation_types + self.supported_time_grain_types = supported_time_grain_types + self.unit = unit + + +class OperationMetaServiceSpecification(msrest.serialization.Model): + """The operation meta service specification. + + :param log_specifications: log specifications for the operation. + :type log_specifications: + list[~data_share_management_client.models.OperationMetaLogSpecification] + :param metric_specifications: metric specifications for the operation. + :type metric_specifications: + list[~data_share_management_client.models.OperationMetaMetricSpecification] + """ + + _attribute_map = { + 'log_specifications': {'key': 'logSpecifications', 'type': '[OperationMetaLogSpecification]'}, + 'metric_specifications': {'key': 'metricSpecifications', 'type': '[OperationMetaMetricSpecification]'}, + } + + def __init__( + self, + *, + log_specifications: Optional[List["OperationMetaLogSpecification"]] = None, + metric_specifications: Optional[List["OperationMetaMetricSpecification"]] = None, + **kwargs + ): + super(OperationMetaServiceSpecification, self).__init__(**kwargs) + self.log_specifications = log_specifications + self.metric_specifications = metric_specifications + + +class OperationModel(msrest.serialization.Model): + """The response model for get operations. + + :param display: Properties on the operation. + :type display: ~data_share_management_client.models.OperationModelProperties + :param name: Operation name for display purposes. + :type name: str + :param origin: origin of the operation. + :type origin: str + :param service_specification: meta service specification. + :type service_specification: + ~data_share_management_client.models.OperationMetaServiceSpecification + """ + + _attribute_map = { + 'display': {'key': 'display', 'type': 'OperationModelProperties'}, + 'name': {'key': 'name', 'type': 'str'}, + 'origin': {'key': 'origin', 'type': 'str'}, + 'service_specification': {'key': 'properties.serviceSpecification', 'type': 'OperationMetaServiceSpecification'}, + } + + def __init__( + self, + *, + display: Optional["OperationModelProperties"] = None, + name: Optional[str] = None, + origin: Optional[str] = None, + service_specification: Optional["OperationMetaServiceSpecification"] = None, + **kwargs + ): + super(OperationModel, self).__init__(**kwargs) + self.display = display + self.name = name + self.origin = origin + self.service_specification = service_specification + + +class OperationModelProperties(msrest.serialization.Model): + """Properties on operations. + + :param description: Description of the operation for display purposes. + :type description: str + :param operation: Name of the operation for display purposes. + :type operation: str + :param provider: Name of the provider for display purposes. + :type provider: str + :param resource: Name of the resource type for display purposes. + :type resource: str + """ + + _attribute_map = { + 'description': {'key': 'description', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + } + + def __init__( + self, + *, + description: Optional[str] = None, + operation: Optional[str] = None, + provider: Optional[str] = None, + resource: Optional[str] = None, + **kwargs + ): + super(OperationModelProperties, self).__init__(**kwargs) + self.description = description + self.operation = operation + self.provider = provider + self.resource = resource + + +class OperationResponse(msrest.serialization.Model): + """Response for long running operation. + + All required parameters must be populated in order to send to Azure. + + :param end_time: start time. + :type end_time: ~datetime.datetime + :param error: The error property when status is failed. + :type error: ~data_share_management_client.models.DataShareErrorInfo + :param start_time: start time. + :type start_time: ~datetime.datetime + :param status: Required. Operation state of the long running operation. Possible values + include: 'Accepted', 'InProgress', 'TransientFailure', 'Succeeded', 'Failed', 'Canceled'. + :type status: str or ~data_share_management_client.models.Status + """ + + _validation = { + 'status': {'required': True}, + } + + _attribute_map = { + 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, + 'error': {'key': 'error', 'type': 'DataShareErrorInfo'}, + 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, + 'status': {'key': 'status', 'type': 'str'}, + } + + def __init__( + self, + *, + status: Union[str, "Status"], + end_time: Optional[datetime.datetime] = None, + error: Optional["DataShareErrorInfo"] = None, + start_time: Optional[datetime.datetime] = None, + **kwargs + ): + super(OperationResponse, self).__init__(**kwargs) + self.end_time = end_time + self.error = error + self.start_time = start_time + self.status = status + + +class ProviderShareSubscription(ProxyDto): + """A provider side share subscription data transfer object. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: The resource id of the azure resource. + :vartype id: str + :ivar name: Name of the azure resource. + :vartype name: str + :ivar type: Type of the azure resource. + :vartype type: str + :ivar consumer_email: Email of the consumer who created the share subscription. + :vartype consumer_email: str + :ivar consumer_name: Name of the consumer who created the share subscription. + :vartype consumer_name: str + :ivar consumer_tenant_name: Tenant name of the consumer who created the share subscription. + :vartype consumer_tenant_name: str + :ivar created_at: created at. + :vartype created_at: ~datetime.datetime + :ivar provider_email: Email of the provider who created the share. + :vartype provider_email: str + :ivar provider_name: Name of the provider who created the share. + :vartype provider_name: str + :ivar shared_at: Shared at. + :vartype shared_at: ~datetime.datetime + :ivar share_subscription_object_id: share Subscription Object Id. + :vartype share_subscription_object_id: str + :ivar share_subscription_status: Gets the status of share subscription. Possible values + include: 'Active', 'Revoked', 'SourceDeleted', 'Revoking'. + :vartype share_subscription_status: str or + ~data_share_management_client.models.ShareSubscriptionStatus + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'consumer_email': {'readonly': True}, + 'consumer_name': {'readonly': True}, + 'consumer_tenant_name': {'readonly': True}, + 'created_at': {'readonly': True}, + 'provider_email': {'readonly': True}, + 'provider_name': {'readonly': True}, + 'shared_at': {'readonly': True}, + 'share_subscription_object_id': {'readonly': True}, + 'share_subscription_status': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'consumer_email': {'key': 'properties.consumerEmail', 'type': 'str'}, + 'consumer_name': {'key': 'properties.consumerName', 'type': 'str'}, + 'consumer_tenant_name': {'key': 'properties.consumerTenantName', 'type': 'str'}, + 'created_at': {'key': 'properties.createdAt', 'type': 'iso-8601'}, + 'provider_email': {'key': 'properties.providerEmail', 'type': 'str'}, + 'provider_name': {'key': 'properties.providerName', 'type': 'str'}, + 'shared_at': {'key': 'properties.sharedAt', 'type': 'iso-8601'}, + 'share_subscription_object_id': {'key': 'properties.shareSubscriptionObjectId', 'type': 'str'}, + 'share_subscription_status': {'key': 'properties.shareSubscriptionStatus', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ProviderShareSubscription, self).__init__(**kwargs) + self.consumer_email = None + self.consumer_name = None + self.consumer_tenant_name = None + self.created_at = None + self.provider_email = None + self.provider_name = None + self.shared_at = None + self.share_subscription_object_id = None + self.share_subscription_status = None + + +class ProviderShareSubscriptionList(msrest.serialization.Model): + """List response for get ShareSubscription. + + All required parameters must be populated in order to send to Azure. + + :param next_link: The Url of next result page. + :type next_link: str + :param value: Required. Collection of items of type DataTransferObjects. + :type value: list[~data_share_management_client.models.ProviderShareSubscription] + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[ProviderShareSubscription]'}, + } + + def __init__( + self, + *, + value: List["ProviderShareSubscription"], + next_link: Optional[str] = None, + **kwargs + ): + super(ProviderShareSubscriptionList, self).__init__(**kwargs) + self.next_link = next_link + self.value = value + + +class SourceShareSynchronizationSetting(msrest.serialization.Model): + """A view of synchronization setting added by the provider. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: ScheduledSourceSynchronizationSetting. + + All required parameters must be populated in order to send to Azure. + + :param kind: Required. Kind of synchronization.Constant filled by server. Possible values + include: 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', + 'AdlsGen2File', 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', + 'SqlDBTable', 'SqlDWTable', 'ScheduleBased'. + :type kind: str or ~data_share_management_client.models.Kind + """ + + _validation = { + 'kind': {'required': True}, + } + + _attribute_map = { + 'kind': {'key': 'kind', 'type': 'str'}, + } + + _subtype_map = { + 'kind': {'ScheduleBased': 'ScheduledSourceSynchronizationSetting'} + } + + def __init__( + self, + **kwargs + ): + super(SourceShareSynchronizationSetting, self).__init__(**kwargs) + self.kind = None + + +class ScheduledSourceSynchronizationSetting(SourceShareSynchronizationSetting): + """A type of synchronization setting based on schedule. + + All required parameters must be populated in order to send to Azure. + + :param kind: Required. Kind of synchronization.Constant filled by server. Possible values + include: 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', + 'AdlsGen2File', 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', + 'SqlDBTable', 'SqlDWTable', 'ScheduleBased'. + :type kind: str or ~data_share_management_client.models.Kind + :param recurrence_interval: Recurrence Interval. Possible values include: 'Hour', 'Day'. + :type recurrence_interval: str or ~data_share_management_client.models.RecurrenceInterval + :param synchronization_time: Synchronization time. + :type synchronization_time: ~datetime.datetime + """ + + _validation = { + 'kind': {'required': True}, + } + + _attribute_map = { + 'kind': {'key': 'kind', 'type': 'str'}, + 'recurrence_interval': {'key': 'properties.recurrenceInterval', 'type': 'str'}, + 'synchronization_time': {'key': 'properties.synchronizationTime', 'type': 'iso-8601'}, + } + + def __init__( + self, + *, + recurrence_interval: Optional[Union[str, "RecurrenceInterval"]] = None, + synchronization_time: Optional[datetime.datetime] = None, + **kwargs + ): + super(ScheduledSourceSynchronizationSetting, self).__init__(**kwargs) + self.kind = 'ScheduleBased' + self.recurrence_interval = recurrence_interval + self.synchronization_time = synchronization_time + + +class SynchronizationSetting(ProxyDto): + """A Synchronization Setting data transfer object. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: ScheduledSynchronizationSetting. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The resource id of the azure resource. + :vartype id: str + :ivar name: Name of the azure resource. + :vartype name: str + :ivar type: Type of the azure resource. + :vartype type: str + :param kind: Required. Kind of synchronization.Constant filled by server. Possible values + include: 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', + 'AdlsGen2File', 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', + 'SqlDBTable', 'SqlDWTable', 'ScheduleBased'. + :type kind: str or ~data_share_management_client.models.Kind + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'kind': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + } + + _subtype_map = { + 'kind': {'ScheduleBased': 'ScheduledSynchronizationSetting'} + } + + def __init__( + self, + **kwargs + ): + super(SynchronizationSetting, self).__init__(**kwargs) + self.kind = 'SynchronizationSetting' + + +class ScheduledSynchronizationSetting(SynchronizationSetting): + """A type of synchronization setting based on schedule. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The resource id of the azure resource. + :vartype id: str + :ivar name: Name of the azure resource. + :vartype name: str + :ivar type: Type of the azure resource. + :vartype type: str + :param kind: Required. Kind of synchronization.Constant filled by server. Possible values + include: 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', + 'AdlsGen2File', 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', + 'SqlDBTable', 'SqlDWTable', 'ScheduleBased'. + :type kind: str or ~data_share_management_client.models.Kind + :ivar created_at: Time at which the synchronization setting was created. + :vartype created_at: ~datetime.datetime + :ivar provisioning_state: Gets or sets the provisioning state. Possible values include: + 'Succeeded', 'Creating', 'Deleting', 'Moving', 'Failed'. + :vartype provisioning_state: str or ~data_share_management_client.models.ProvisioningState + :param recurrence_interval: Required. Recurrence Interval. Possible values include: 'Hour', + 'Day'. + :type recurrence_interval: str or ~data_share_management_client.models.RecurrenceInterval + :param synchronization_time: Required. Synchronization time. + :type synchronization_time: ~datetime.datetime + :ivar user_name: Name of the user who created the synchronization setting. + :vartype user_name: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'kind': {'required': True}, + 'created_at': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'recurrence_interval': {'required': True}, + 'synchronization_time': {'required': True}, + 'user_name': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'created_at': {'key': 'properties.createdAt', 'type': 'iso-8601'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'recurrence_interval': {'key': 'properties.recurrenceInterval', 'type': 'str'}, + 'synchronization_time': {'key': 'properties.synchronizationTime', 'type': 'iso-8601'}, + 'user_name': {'key': 'properties.userName', 'type': 'str'}, + } + + def __init__( + self, + *, + recurrence_interval: Union[str, "RecurrenceInterval"], + synchronization_time: datetime.datetime, + **kwargs + ): + super(ScheduledSynchronizationSetting, self).__init__(**kwargs) + self.kind = 'ScheduleBased' + self.created_at = None + self.provisioning_state = None + self.recurrence_interval = recurrence_interval + self.synchronization_time = synchronization_time + self.user_name = None + + +class Trigger(ProxyDto): + """A Trigger data transfer object. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: ScheduledTrigger. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The resource id of the azure resource. + :vartype id: str + :ivar name: Name of the azure resource. + :vartype name: str + :ivar type: Type of the azure resource. + :vartype type: str + :param kind: Required. Kind of synchronization.Constant filled by server. Possible values + include: 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', + 'AdlsGen2File', 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', + 'SqlDBTable', 'SqlDWTable', 'ScheduleBased'. + :type kind: str or ~data_share_management_client.models.Kind + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'kind': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + } + + _subtype_map = { + 'kind': {'ScheduleBased': 'ScheduledTrigger'} + } + + def __init__( + self, + **kwargs + ): + super(Trigger, self).__init__(**kwargs) + self.kind = 'Trigger' + + +class ScheduledTrigger(Trigger): + """A type of trigger based on schedule. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The resource id of the azure resource. + :vartype id: str + :ivar name: Name of the azure resource. + :vartype name: str + :ivar type: Type of the azure resource. + :vartype type: str + :param kind: Required. Kind of synchronization.Constant filled by server. Possible values + include: 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', + 'AdlsGen2File', 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', + 'SqlDBTable', 'SqlDWTable', 'ScheduleBased'. + :type kind: str or ~data_share_management_client.models.Kind + :ivar created_at: Time at which the trigger was created. + :vartype created_at: ~datetime.datetime + :ivar provisioning_state: Gets the provisioning state. Possible values include: 'Succeeded', + 'Creating', 'Deleting', 'Moving', 'Failed'. + :vartype provisioning_state: str or ~data_share_management_client.models.ProvisioningState + :param recurrence_interval: Required. Recurrence Interval. Possible values include: 'Hour', + 'Day'. + :type recurrence_interval: str or ~data_share_management_client.models.RecurrenceInterval + :param synchronization_mode: Synchronization mode. Possible values include: 'Incremental', + 'FullSync'. + :type synchronization_mode: str or ~data_share_management_client.models.SynchronizationMode + :param synchronization_time: Required. Synchronization time. + :type synchronization_time: ~datetime.datetime + :ivar trigger_status: Gets the trigger state. Possible values include: 'Active', 'Inactive', + 'SourceSynchronizationSettingDeleted'. + :vartype trigger_status: str or ~data_share_management_client.models.TriggerStatus + :ivar user_name: Name of the user who created the trigger. + :vartype user_name: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'kind': {'required': True}, + 'created_at': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'recurrence_interval': {'required': True}, + 'synchronization_time': {'required': True}, + 'trigger_status': {'readonly': True}, + 'user_name': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'created_at': {'key': 'properties.createdAt', 'type': 'iso-8601'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'recurrence_interval': {'key': 'properties.recurrenceInterval', 'type': 'str'}, + 'synchronization_mode': {'key': 'properties.synchronizationMode', 'type': 'str'}, + 'synchronization_time': {'key': 'properties.synchronizationTime', 'type': 'iso-8601'}, + 'trigger_status': {'key': 'properties.triggerStatus', 'type': 'str'}, + 'user_name': {'key': 'properties.userName', 'type': 'str'}, + } + + def __init__( + self, + *, + recurrence_interval: Union[str, "RecurrenceInterval"], + synchronization_time: datetime.datetime, + synchronization_mode: Optional[Union[str, "SynchronizationMode"]] = None, + **kwargs + ): + super(ScheduledTrigger, self).__init__(**kwargs) + self.kind = 'ScheduleBased' + self.created_at = None + self.provisioning_state = None + self.recurrence_interval = recurrence_interval + self.synchronization_mode = synchronization_mode + self.synchronization_time = synchronization_time + self.trigger_status = None + self.user_name = None + + +class Share(ProxyDto): + """A share data transfer object. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: The resource id of the azure resource. + :vartype id: str + :ivar name: Name of the azure resource. + :vartype name: str + :ivar type: Type of the azure resource. + :vartype type: str + :ivar created_at: Time at which the share was created. + :vartype created_at: ~datetime.datetime + :param description: Share description. + :type description: str + :ivar provisioning_state: Gets or sets the provisioning state. Possible values include: + 'Succeeded', 'Creating', 'Deleting', 'Moving', 'Failed'. + :vartype provisioning_state: str or ~data_share_management_client.models.ProvisioningState + :param share_kind: Share kind. Possible values include: 'CopyBased', 'InPlace'. + :type share_kind: str or ~data_share_management_client.models.ShareKind + :param terms: Share terms. + :type terms: str + :ivar user_email: Email of the user who created the resource. + :vartype user_email: str + :ivar user_name: Name of the user who created the resource. + :vartype user_name: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'created_at': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'user_email': {'readonly': True}, + 'user_name': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'created_at': {'key': 'properties.createdAt', 'type': 'iso-8601'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'share_kind': {'key': 'properties.shareKind', 'type': 'str'}, + 'terms': {'key': 'properties.terms', 'type': 'str'}, + 'user_email': {'key': 'properties.userEmail', 'type': 'str'}, + 'user_name': {'key': 'properties.userName', 'type': 'str'}, + } + + def __init__( + self, + *, + description: Optional[str] = None, + share_kind: Optional[Union[str, "ShareKind"]] = None, + terms: Optional[str] = None, + **kwargs + ): + super(Share, self).__init__(**kwargs) + self.created_at = None + self.description = description + self.provisioning_state = None + self.share_kind = share_kind + self.terms = terms + self.user_email = None + self.user_name = None + + +class ShareList(msrest.serialization.Model): + """List response for get Shares. + + All required parameters must be populated in order to send to Azure. + + :param next_link: The Url of next result page. + :type next_link: str + :param value: Required. Collection of items of type DataTransferObjects. + :type value: list[~data_share_management_client.models.Share] + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[Share]'}, + } + + def __init__( + self, + *, + value: List["Share"], + next_link: Optional[str] = None, + **kwargs + ): + super(ShareList, self).__init__(**kwargs) + self.next_link = next_link + self.value = value + + +class ShareSubscription(ProxyDto): + """A share subscription data transfer object. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The resource id of the azure resource. + :vartype id: str + :ivar name: Name of the azure resource. + :vartype name: str + :ivar type: Type of the azure resource. + :vartype type: str + :ivar created_at: Time at which the share subscription was created. + :vartype created_at: ~datetime.datetime + :param invitation_id: Required. The invitation id. + :type invitation_id: str + :ivar provider_email: Email of the provider who created the resource. + :vartype provider_email: str + :ivar provider_name: Name of the provider who created the resource. + :vartype provider_name: str + :ivar provider_tenant_name: Tenant name of the provider who created the resource. + :vartype provider_tenant_name: str + :ivar provisioning_state: Provisioning state of the share subscription. Possible values + include: 'Succeeded', 'Creating', 'Deleting', 'Moving', 'Failed'. + :vartype provisioning_state: str or ~data_share_management_client.models.ProvisioningState + :ivar share_description: Description of share. + :vartype share_description: str + :ivar share_kind: Kind of share. Possible values include: 'CopyBased', 'InPlace'. + :vartype share_kind: str or ~data_share_management_client.models.ShareKind + :ivar share_name: Name of the share. + :vartype share_name: str + :ivar share_subscription_status: Gets the current status of share subscription. Possible values + include: 'Active', 'Revoked', 'SourceDeleted', 'Revoking'. + :vartype share_subscription_status: str or + ~data_share_management_client.models.ShareSubscriptionStatus + :ivar share_terms: Terms of a share. + :vartype share_terms: str + :param source_share_location: Required. Source share location. + :type source_share_location: str + :ivar user_email: Email of the user who created the resource. + :vartype user_email: str + :ivar user_name: Name of the user who created the resource. + :vartype user_name: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'created_at': {'readonly': True}, + 'invitation_id': {'required': True}, + 'provider_email': {'readonly': True}, + 'provider_name': {'readonly': True}, + 'provider_tenant_name': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'share_description': {'readonly': True}, + 'share_kind': {'readonly': True}, + 'share_name': {'readonly': True}, + 'share_subscription_status': {'readonly': True}, + 'share_terms': {'readonly': True}, + 'source_share_location': {'required': True}, + 'user_email': {'readonly': True}, + 'user_name': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'created_at': {'key': 'properties.createdAt', 'type': 'iso-8601'}, + 'invitation_id': {'key': 'properties.invitationId', 'type': 'str'}, + 'provider_email': {'key': 'properties.providerEmail', 'type': 'str'}, + 'provider_name': {'key': 'properties.providerName', 'type': 'str'}, + 'provider_tenant_name': {'key': 'properties.providerTenantName', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'share_description': {'key': 'properties.shareDescription', 'type': 'str'}, + 'share_kind': {'key': 'properties.shareKind', 'type': 'str'}, + 'share_name': {'key': 'properties.shareName', 'type': 'str'}, + 'share_subscription_status': {'key': 'properties.shareSubscriptionStatus', 'type': 'str'}, + 'share_terms': {'key': 'properties.shareTerms', 'type': 'str'}, + 'source_share_location': {'key': 'properties.sourceShareLocation', 'type': 'str'}, + 'user_email': {'key': 'properties.userEmail', 'type': 'str'}, + 'user_name': {'key': 'properties.userName', 'type': 'str'}, + } + + def __init__( + self, + *, + invitation_id: str, + source_share_location: str, + **kwargs + ): + super(ShareSubscription, self).__init__(**kwargs) + self.created_at = None + self.invitation_id = invitation_id + self.provider_email = None + self.provider_name = None + self.provider_tenant_name = None + self.provisioning_state = None + self.share_description = None + self.share_kind = None + self.share_name = None + self.share_subscription_status = None + self.share_terms = None + self.source_share_location = source_share_location + self.user_email = None + self.user_name = None + + +class ShareSubscriptionList(msrest.serialization.Model): + """List response for get ShareSubscription. + + All required parameters must be populated in order to send to Azure. + + :param next_link: The Url of next result page. + :type next_link: str + :param value: Required. Collection of items of type DataTransferObjects. + :type value: list[~data_share_management_client.models.ShareSubscription] + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[ShareSubscription]'}, + } + + def __init__( + self, + *, + value: List["ShareSubscription"], + next_link: Optional[str] = None, + **kwargs + ): + super(ShareSubscriptionList, self).__init__(**kwargs) + self.next_link = next_link + self.value = value + + +class ShareSubscriptionSynchronization(msrest.serialization.Model): + """A ShareSubscriptionSynchronization data transfer object. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar duration_ms: Synchronization duration. + :vartype duration_ms: int + :ivar end_time: End time of synchronization. + :vartype end_time: ~datetime.datetime + :ivar message: message of Synchronization. + :vartype message: str + :ivar start_time: start time of synchronization. + :vartype start_time: ~datetime.datetime + :ivar status: Raw Status. + :vartype status: str + :param synchronization_id: Required. Synchronization id. + :type synchronization_id: str + :ivar synchronization_mode: Synchronization Mode. Possible values include: 'Incremental', + 'FullSync'. + :vartype synchronization_mode: str or ~data_share_management_client.models.SynchronizationMode + """ + + _validation = { + 'duration_ms': {'readonly': True}, + 'end_time': {'readonly': True}, + 'message': {'readonly': True}, + 'start_time': {'readonly': True}, + 'status': {'readonly': True}, + 'synchronization_id': {'required': True}, + 'synchronization_mode': {'readonly': True}, + } + + _attribute_map = { + 'duration_ms': {'key': 'durationMs', 'type': 'int'}, + 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, + 'message': {'key': 'message', 'type': 'str'}, + 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, + 'status': {'key': 'status', 'type': 'str'}, + 'synchronization_id': {'key': 'synchronizationId', 'type': 'str'}, + 'synchronization_mode': {'key': 'synchronizationMode', 'type': 'str'}, + } + + def __init__( + self, + *, + synchronization_id: str, + **kwargs + ): + super(ShareSubscriptionSynchronization, self).__init__(**kwargs) + self.duration_ms = None + self.end_time = None + self.message = None + self.start_time = None + self.status = None + self.synchronization_id = synchronization_id + self.synchronization_mode = None + + +class ShareSubscriptionSynchronizationList(msrest.serialization.Model): + """A consumer side list of share subscription synchronizations. + + All required parameters must be populated in order to send to Azure. + + :param next_link: The Url of next result page. + :type next_link: str + :param value: Required. Collection of items of type DataTransferObjects. + :type value: list[~data_share_management_client.models.ShareSubscriptionSynchronization] + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[ShareSubscriptionSynchronization]'}, + } + + def __init__( + self, + *, + value: List["ShareSubscriptionSynchronization"], + next_link: Optional[str] = None, + **kwargs + ): + super(ShareSubscriptionSynchronizationList, self).__init__(**kwargs) + self.next_link = next_link + self.value = value + + +class ShareSynchronization(msrest.serialization.Model): + """A ShareSynchronization data transfer object. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param consumer_email: Email of the user who created the synchronization. + :type consumer_email: str + :param consumer_name: Name of the user who created the synchronization. + :type consumer_name: str + :param consumer_tenant_name: Tenant name of the consumer who created the synchronization. + :type consumer_tenant_name: str + :param duration_ms: synchronization duration. + :type duration_ms: int + :param end_time: End time of synchronization. + :type end_time: ~datetime.datetime + :param message: message of synchronization. + :type message: str + :param start_time: start time of synchronization. + :type start_time: ~datetime.datetime + :param status: Raw Status. + :type status: str + :param synchronization_id: Synchronization id. + :type synchronization_id: str + :ivar synchronization_mode: Synchronization mode. Possible values include: 'Incremental', + 'FullSync'. + :vartype synchronization_mode: str or ~data_share_management_client.models.SynchronizationMode + """ + + _validation = { + 'synchronization_mode': {'readonly': True}, + } + + _attribute_map = { + 'consumer_email': {'key': 'consumerEmail', 'type': 'str'}, + 'consumer_name': {'key': 'consumerName', 'type': 'str'}, + 'consumer_tenant_name': {'key': 'consumerTenantName', 'type': 'str'}, + 'duration_ms': {'key': 'durationMs', 'type': 'int'}, + 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, + 'message': {'key': 'message', 'type': 'str'}, + 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, + 'status': {'key': 'status', 'type': 'str'}, + 'synchronization_id': {'key': 'synchronizationId', 'type': 'str'}, + 'synchronization_mode': {'key': 'synchronizationMode', 'type': 'str'}, + } + + def __init__( + self, + *, + consumer_email: Optional[str] = None, + consumer_name: Optional[str] = None, + consumer_tenant_name: Optional[str] = None, + duration_ms: Optional[int] = None, + end_time: Optional[datetime.datetime] = None, + message: Optional[str] = None, + start_time: Optional[datetime.datetime] = None, + status: Optional[str] = None, + synchronization_id: Optional[str] = None, + **kwargs + ): + super(ShareSynchronization, self).__init__(**kwargs) + self.consumer_email = consumer_email + self.consumer_name = consumer_name + self.consumer_tenant_name = consumer_tenant_name + self.duration_ms = duration_ms + self.end_time = end_time + self.message = message + self.start_time = start_time + self.status = status + self.synchronization_id = synchronization_id + self.synchronization_mode = None + + +class ShareSynchronizationList(msrest.serialization.Model): + """List response for get ShareSynchronization. + + All required parameters must be populated in order to send to Azure. + + :param next_link: The Url of next result page. + :type next_link: str + :param value: Required. Collection of items of type DataTransferObjects. + :type value: list[~data_share_management_client.models.ShareSynchronization] + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[ShareSynchronization]'}, + } + + def __init__( + self, + *, + value: List["ShareSynchronization"], + next_link: Optional[str] = None, + **kwargs + ): + super(ShareSynchronizationList, self).__init__(**kwargs) + self.next_link = next_link + self.value = value + + +class SourceShareSynchronizationSettingList(msrest.serialization.Model): + """List response for get source share Synchronization settings. + + All required parameters must be populated in order to send to Azure. + + :param next_link: The Url of next result page. + :type next_link: str + :param value: Required. Collection of items of type DataTransferObjects. + :type value: list[~data_share_management_client.models.SourceShareSynchronizationSetting] + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[SourceShareSynchronizationSetting]'}, + } + + def __init__( + self, + *, + value: List["SourceShareSynchronizationSetting"], + next_link: Optional[str] = None, + **kwargs + ): + super(SourceShareSynchronizationSettingList, self).__init__(**kwargs) + self.next_link = next_link + self.value = value + + +class SqlDBTableDataSet(DataSet): + """A SQL DB table data set. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The resource id of the azure resource. + :vartype id: str + :ivar name: Name of the azure resource. + :vartype name: str + :ivar type: Type of the azure resource. + :vartype type: str + :param kind: Required. Kind of data set.Constant filled by server. Possible values include: + 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', 'AdlsGen2File', + 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', 'SqlDBTable', 'SqlDWTable', + 'ScheduleBased'. + :type kind: str or ~data_share_management_client.models.Kind + :param database_name: Database name of the source data set. + :type database_name: str + :ivar data_set_id: Unique id for identifying a data set resource. + :vartype data_set_id: str + :param schema_name: Schema of the table. Default value is dbo. + :type schema_name: str + :param sql_server_resource_id: Resource id of SQL server. + :type sql_server_resource_id: str + :param table_name: SQL DB table name. + :type table_name: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'kind': {'required': True}, + 'data_set_id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'database_name': {'key': 'properties.databaseName', 'type': 'str'}, + 'data_set_id': {'key': 'properties.dataSetId', 'type': 'str'}, + 'schema_name': {'key': 'properties.schemaName', 'type': 'str'}, + 'sql_server_resource_id': {'key': 'properties.sqlServerResourceId', 'type': 'str'}, + 'table_name': {'key': 'properties.tableName', 'type': 'str'}, + } + + def __init__( + self, + *, + database_name: Optional[str] = None, + schema_name: Optional[str] = None, + sql_server_resource_id: Optional[str] = None, + table_name: Optional[str] = None, + **kwargs + ): + super(SqlDBTableDataSet, self).__init__(**kwargs) + self.kind = 'SqlDBTable' + self.database_name = database_name + self.data_set_id = None + self.schema_name = schema_name + self.sql_server_resource_id = sql_server_resource_id + self.table_name = table_name + + +class SqlDBTableDataSetMapping(DataSetMapping): + """A SQL DB Table data set mapping. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The resource id of the azure resource. + :vartype id: str + :ivar name: Name of the azure resource. + :vartype name: str + :ivar type: Type of the azure resource. + :vartype type: str + :param kind: Required. Kind of data set mapping.Constant filled by server. Possible values + include: 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', + 'AdlsGen2File', 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', + 'SqlDBTable', 'SqlDWTable', 'ScheduleBased'. + :type kind: str or ~data_share_management_client.models.Kind + :param database_name: Required. DatabaseName name of the sink data set. + :type database_name: str + :param data_set_id: Required. The id of the source data set. + :type data_set_id: str + :ivar data_set_mapping_status: Gets the status of the data set mapping. Possible values + include: 'Ok', 'Broken'. + :vartype data_set_mapping_status: str or + ~data_share_management_client.models.DataSetMappingStatus + :ivar provisioning_state: Provisioning state of the data set mapping. Possible values include: + 'Succeeded', 'Creating', 'Deleting', 'Moving', 'Failed'. + :vartype provisioning_state: str or ~data_share_management_client.models.ProvisioningState + :param schema_name: Required. Schema of the table. Default value is dbo. + :type schema_name: str + :param sql_server_resource_id: Required. Resource id of SQL server. + :type sql_server_resource_id: str + :param table_name: Required. SQL DB table name. + :type table_name: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'kind': {'required': True}, + 'database_name': {'required': True}, + 'data_set_id': {'required': True}, + 'data_set_mapping_status': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'schema_name': {'required': True}, + 'sql_server_resource_id': {'required': True}, + 'table_name': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'database_name': {'key': 'properties.databaseName', 'type': 'str'}, + 'data_set_id': {'key': 'properties.dataSetId', 'type': 'str'}, + 'data_set_mapping_status': {'key': 'properties.dataSetMappingStatus', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'schema_name': {'key': 'properties.schemaName', 'type': 'str'}, + 'sql_server_resource_id': {'key': 'properties.sqlServerResourceId', 'type': 'str'}, + 'table_name': {'key': 'properties.tableName', 'type': 'str'}, + } + + def __init__( + self, + *, + database_name: str, + data_set_id: str, + schema_name: str, + sql_server_resource_id: str, + table_name: str, + **kwargs + ): + super(SqlDBTableDataSetMapping, self).__init__(**kwargs) + self.kind = 'SqlDBTable' + self.database_name = database_name + self.data_set_id = data_set_id + self.data_set_mapping_status = None + self.provisioning_state = None + self.schema_name = schema_name + self.sql_server_resource_id = sql_server_resource_id + self.table_name = table_name + + +class SqlDwTableDataSet(DataSet): + """A SQL DW table data set. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The resource id of the azure resource. + :vartype id: str + :ivar name: Name of the azure resource. + :vartype name: str + :ivar type: Type of the azure resource. + :vartype type: str + :param kind: Required. Kind of data set.Constant filled by server. Possible values include: + 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', 'AdlsGen2File', + 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', 'SqlDBTable', 'SqlDWTable', + 'ScheduleBased'. + :type kind: str or ~data_share_management_client.models.Kind + :ivar data_set_id: Unique id for identifying a data set resource. + :vartype data_set_id: str + :param data_warehouse_name: DataWarehouse name of the source data set. + :type data_warehouse_name: str + :param schema_name: Schema of the table. Default value is dbo. + :type schema_name: str + :param sql_server_resource_id: Resource id of SQL server. + :type sql_server_resource_id: str + :param table_name: SQL DW table name. + :type table_name: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'kind': {'required': True}, + 'data_set_id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'data_set_id': {'key': 'properties.dataSetId', 'type': 'str'}, + 'data_warehouse_name': {'key': 'properties.dataWarehouseName', 'type': 'str'}, + 'schema_name': {'key': 'properties.schemaName', 'type': 'str'}, + 'sql_server_resource_id': {'key': 'properties.sqlServerResourceId', 'type': 'str'}, + 'table_name': {'key': 'properties.tableName', 'type': 'str'}, + } + + def __init__( + self, + *, + data_warehouse_name: Optional[str] = None, + schema_name: Optional[str] = None, + sql_server_resource_id: Optional[str] = None, + table_name: Optional[str] = None, + **kwargs + ): + super(SqlDwTableDataSet, self).__init__(**kwargs) + self.kind = 'SqlDWTable' + self.data_set_id = None + self.data_warehouse_name = data_warehouse_name + self.schema_name = schema_name + self.sql_server_resource_id = sql_server_resource_id + self.table_name = table_name + + +class SqlDwTableDataSetMapping(DataSetMapping): + """A SQL DW Table data set mapping. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The resource id of the azure resource. + :vartype id: str + :ivar name: Name of the azure resource. + :vartype name: str + :ivar type: Type of the azure resource. + :vartype type: str + :param kind: Required. Kind of data set mapping.Constant filled by server. Possible values + include: 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', + 'AdlsGen2File', 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', + 'SqlDBTable', 'SqlDWTable', 'ScheduleBased'. + :type kind: str or ~data_share_management_client.models.Kind + :param data_set_id: Required. The id of the source data set. + :type data_set_id: str + :ivar data_set_mapping_status: Gets the status of the data set mapping. Possible values + include: 'Ok', 'Broken'. + :vartype data_set_mapping_status: str or + ~data_share_management_client.models.DataSetMappingStatus + :param data_warehouse_name: Required. DataWarehouse name of the source data set. + :type data_warehouse_name: str + :ivar provisioning_state: Provisioning state of the data set mapping. Possible values include: + 'Succeeded', 'Creating', 'Deleting', 'Moving', 'Failed'. + :vartype provisioning_state: str or ~data_share_management_client.models.ProvisioningState + :param schema_name: Required. Schema of the table. Default value is dbo. + :type schema_name: str + :param sql_server_resource_id: Required. Resource id of SQL server. + :type sql_server_resource_id: str + :param table_name: Required. SQL DW table name. + :type table_name: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'kind': {'required': True}, + 'data_set_id': {'required': True}, + 'data_set_mapping_status': {'readonly': True}, + 'data_warehouse_name': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'schema_name': {'required': True}, + 'sql_server_resource_id': {'required': True}, + 'table_name': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'data_set_id': {'key': 'properties.dataSetId', 'type': 'str'}, + 'data_set_mapping_status': {'key': 'properties.dataSetMappingStatus', 'type': 'str'}, + 'data_warehouse_name': {'key': 'properties.dataWarehouseName', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'schema_name': {'key': 'properties.schemaName', 'type': 'str'}, + 'sql_server_resource_id': {'key': 'properties.sqlServerResourceId', 'type': 'str'}, + 'table_name': {'key': 'properties.tableName', 'type': 'str'}, + } + + def __init__( + self, + *, + data_set_id: str, + data_warehouse_name: str, + schema_name: str, + sql_server_resource_id: str, + table_name: str, + **kwargs + ): + super(SqlDwTableDataSetMapping, self).__init__(**kwargs) + self.kind = 'SqlDWTable' + self.data_set_id = data_set_id + self.data_set_mapping_status = None + self.data_warehouse_name = data_warehouse_name + self.provisioning_state = None + self.schema_name = schema_name + self.sql_server_resource_id = sql_server_resource_id + self.table_name = table_name + + +class SynchronizationDetails(msrest.serialization.Model): + """Synchronization details at data set level. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar data_set_id: Id of data set. + :vartype data_set_id: str + :ivar data_set_type: Type of the data set. Possible values include: 'Blob', 'Container', + 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', 'AdlsGen2File', 'AdlsGen1Folder', + 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', 'SqlDBTable', 'SqlDWTable'. + :vartype data_set_type: str or ~data_share_management_client.models.DataSetType + :ivar duration_ms: Duration of data set level copy. + :vartype duration_ms: int + :ivar end_time: End time of data set level copy. + :vartype end_time: ~datetime.datetime + :ivar files_read: The number of files read from the source data set. + :vartype files_read: long + :ivar files_written: The number of files written into the sink data set. + :vartype files_written: long + :ivar message: Error message if any. + :vartype message: str + :ivar name: Name of the data set. + :vartype name: str + :ivar rows_copied: The number of files copied into the sink data set. + :vartype rows_copied: long + :ivar rows_read: The number of rows read from the source data set. + :vartype rows_read: long + :ivar size_read: The size of the data read from the source data set in bytes. + :vartype size_read: long + :ivar size_written: The size of the data written into the sink data set in bytes. + :vartype size_written: long + :ivar start_time: Start time of data set level copy. + :vartype start_time: ~datetime.datetime + :ivar status: Raw Status. + :vartype status: str + :ivar v_core: The vCore units consumed for the data set synchronization. + :vartype v_core: long + """ + + _validation = { + 'data_set_id': {'readonly': True}, + 'data_set_type': {'readonly': True}, + 'duration_ms': {'readonly': True}, + 'end_time': {'readonly': True}, + 'files_read': {'readonly': True}, + 'files_written': {'readonly': True}, + 'message': {'readonly': True}, + 'name': {'readonly': True}, + 'rows_copied': {'readonly': True}, + 'rows_read': {'readonly': True}, + 'size_read': {'readonly': True}, + 'size_written': {'readonly': True}, + 'start_time': {'readonly': True}, + 'status': {'readonly': True}, + 'v_core': {'readonly': True}, + } + + _attribute_map = { + 'data_set_id': {'key': 'dataSetId', 'type': 'str'}, + 'data_set_type': {'key': 'dataSetType', 'type': 'str'}, + 'duration_ms': {'key': 'durationMs', 'type': 'int'}, + 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, + 'files_read': {'key': 'filesRead', 'type': 'long'}, + 'files_written': {'key': 'filesWritten', 'type': 'long'}, + 'message': {'key': 'message', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'rows_copied': {'key': 'rowsCopied', 'type': 'long'}, + 'rows_read': {'key': 'rowsRead', 'type': 'long'}, + 'size_read': {'key': 'sizeRead', 'type': 'long'}, + 'size_written': {'key': 'sizeWritten', 'type': 'long'}, + 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, + 'status': {'key': 'status', 'type': 'str'}, + 'v_core': {'key': 'vCore', 'type': 'long'}, + } + + def __init__( + self, + **kwargs + ): + super(SynchronizationDetails, self).__init__(**kwargs) + self.data_set_id = None + self.data_set_type = None + self.duration_ms = None + self.end_time = None + self.files_read = None + self.files_written = None + self.message = None + self.name = None + self.rows_copied = None + self.rows_read = None + self.size_read = None + self.size_written = None + self.start_time = None + self.status = None + self.v_core = None + + +class SynchronizationDetailsList(msrest.serialization.Model): + """details of synchronization. + + All required parameters must be populated in order to send to Azure. + + :param next_link: The Url of next result page. + :type next_link: str + :param value: Required. Collection of items of type DataTransferObjects. + :type value: list[~data_share_management_client.models.SynchronizationDetails] + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[SynchronizationDetails]'}, + } + + def __init__( + self, + *, + value: List["SynchronizationDetails"], + next_link: Optional[str] = None, + **kwargs + ): + super(SynchronizationDetailsList, self).__init__(**kwargs) + self.next_link = next_link + self.value = value + + +class SynchronizationSettingList(msrest.serialization.Model): + """List response for get Synchronization settings. + + All required parameters must be populated in order to send to Azure. + + :param next_link: The Url of next result page. + :type next_link: str + :param value: Required. Collection of items of type DataTransferObjects. + :type value: list[~data_share_management_client.models.SynchronizationSetting] + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[SynchronizationSetting]'}, + } + + def __init__( + self, + *, + value: List["SynchronizationSetting"], + next_link: Optional[str] = None, + **kwargs + ): + super(SynchronizationSettingList, self).__init__(**kwargs) + self.next_link = next_link + self.value = value + + +class Synchronize(msrest.serialization.Model): + """Payload for the synchronizing the data. + + :param synchronization_mode: Mode of synchronization used in triggers and snapshot sync. + Incremental by default. Possible values include: 'Incremental', 'FullSync'. + :type synchronization_mode: str or ~data_share_management_client.models.SynchronizationMode + """ + + _attribute_map = { + 'synchronization_mode': {'key': 'synchronizationMode', 'type': 'str'}, + } + + def __init__( + self, + *, + synchronization_mode: Optional[Union[str, "SynchronizationMode"]] = None, + **kwargs + ): + super(Synchronize, self).__init__(**kwargs) + self.synchronization_mode = synchronization_mode + + +class TriggerList(msrest.serialization.Model): + """List response for get triggers. + + All required parameters must be populated in order to send to Azure. + + :param next_link: The Url of next result page. + :type next_link: str + :param value: Required. Collection of items of type DataTransferObjects. + :type value: list[~data_share_management_client.models.Trigger] + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[Trigger]'}, + } + + def __init__( + self, + *, + value: List["Trigger"], + next_link: Optional[str] = None, + **kwargs + ): + super(TriggerList, self).__init__(**kwargs) + self.next_link = next_link + self.value = value diff --git a/src/datashare/azext_datashare/vendored_sdks/datashare/operations/__init__.py b/src/datashare/azext_datashare/vendored_sdks/datashare/operations/__init__.py new file mode 100644 index 00000000000..72ad85b0b3c --- /dev/null +++ b/src/datashare/azext_datashare/vendored_sdks/datashare/operations/__init__.py @@ -0,0 +1,35 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._account_operations import AccountOperations +from ._consumer_invitation_operations import ConsumerInvitationOperations +from ._data_set_operations import DataSetOperations +from ._data_set_mapping_operations import DataSetMappingOperations +from ._invitation_operations import InvitationOperations +from ._operation_operations import OperationOperations +from ._share_operations import ShareOperations +from ._provider_share_subscription_operations import ProviderShareSubscriptionOperations +from ._share_subscription_operations import ShareSubscriptionOperations +from ._consumer_source_data_set_operations import ConsumerSourceDataSetOperations +from ._synchronization_setting_operations import SynchronizationSettingOperations +from ._trigger_operations import TriggerOperations + +__all__ = [ + 'AccountOperations', + 'ConsumerInvitationOperations', + 'DataSetOperations', + 'DataSetMappingOperations', + 'InvitationOperations', + 'OperationOperations', + 'ShareOperations', + 'ProviderShareSubscriptionOperations', + 'ShareSubscriptionOperations', + 'ConsumerSourceDataSetOperations', + 'SynchronizationSettingOperations', + 'TriggerOperations', +] diff --git a/src/datashare/azext_datashare/vendored_sdks/datashare/operations/_account_operations.py b/src/datashare/azext_datashare/vendored_sdks/datashare/operations/_account_operations.py new file mode 100644 index 00000000000..2b06a214c51 --- /dev/null +++ b/src/datashare/azext_datashare/vendored_sdks/datashare/operations/_account_operations.py @@ -0,0 +1,539 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.core.polling import LROPoller, NoPolling, PollingMethod + +from .. import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class AccountOperations(object): + """AccountOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~data_share_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def get( + self, + resource_group_name, # type: str + account_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.Account" + """Get an account. + + Get an account under a resource group. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Account or the result of cls(response) + :rtype: ~data_share_management_client.models.Account + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.Account"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.DataShareError, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('Account', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}'} + + def _create_initial( + self, + resource_group_name, # type: str + account_name, # type: str + identity, # type: "models.Identity" + location=None, # type: Optional[str] + tags=None, # type: Optional[Dict[str, str]] + **kwargs # type: Any + ): + # type: (...) -> "models.Account" + cls = kwargs.pop('cls', None) # type: ClsType["models.Account"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _account = models.Account(location=location, tags=tags, identity=identity) + api_version = "2019-11-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self._create_initial.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_account, 'Account') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.DataShareError, response) + raise HttpResponseError(response=response, model=error) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('Account', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('Account', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}'} + + def begin_create( + self, + resource_group_name, # type: str + account_name, # type: str + identity, # type: "models.Identity" + location=None, # type: Optional[str] + tags=None, # type: Optional[Dict[str, str]] + **kwargs # type: Any + ): + # type: (...) -> "models.Account" + """Create an account. + + Create an account in the given resource group. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param identity: Identity Info on the Account. + :type identity: ~data_share_management_client.models.Identity + :param location: Location of the azure resource. + :type location: str + :param tags: Tags on the azure resource. + :type tags: dict[str, str] + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :return: An instance of LROPoller that returns Account + :rtype: ~azure.core.polling.LROPoller[~data_share_management_client.models.Account] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', False) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.Account"] + raw_result = self._create_initial( + resource_group_name=resource_group_name, + account_name=account_name, + identity=identity, + location=location, + tags=tags, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('Account', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: raise ValueError("polling being True is not valid because no default polling implemetation has been defined.") + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}'} + + def _delete_initial( + self, + resource_group_name, # type: str + account_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.OperationResponse" + cls = kwargs.pop('cls', None) # type: ClsType["models.OperationResponse"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + # Construct URL + url = self._delete_initial.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.DataShareError, response) + raise HttpResponseError(response=response, model=error) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('OperationResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}'} + + def begin_delete( + self, + resource_group_name, # type: str + account_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.OperationResponse" + """DeleteAccount. + + Delete an account. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :return: An instance of LROPoller that returns OperationResponse + :rtype: ~azure.core.polling.LROPoller[~data_share_management_client.models.OperationResponse] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', False) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.OperationResponse"] + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + account_name=account_name, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('OperationResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: raise ValueError("polling being True is not valid because no default polling implemetation has been defined.") + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}'} + + def update( + self, + resource_group_name, # type: str + account_name, # type: str + tags=None, # type: Optional[Dict[str, str]] + **kwargs # type: Any + ): + # type: (...) -> "models.Account" + """Patch an account. + + Patch a given account. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param tags: Tags on the azure resource. + :type tags: dict[str, str] + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Account or the result of cls(response) + :rtype: ~data_share_management_client.models.Account + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.Account"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _account_update_parameters = models.AccountUpdateParameters(tags=tags) + api_version = "2019-11-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_account_update_parameters, 'AccountUpdateParameters') + body_content_kwargs['content'] = body_content + request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.DataShareError, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('Account', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}'} + + def list_by_subscription( + self, + skip_token=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.AccountList" + """List Accounts in Subscription. + + List Accounts in a subscription. + + :param skip_token: Continuation token. + :type skip_token: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: AccountList or the result of cls(response) + :rtype: ~data_share_management_client.models.AccountList + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.AccountList"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_subscription.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if skip_token is not None: + query_parameters['$skipToken'] = self._serialize.query("skip_token", skip_token, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('AccountList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.DataShareError, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_by_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DataShare/accounts'} + + def list_by_resource_group( + self, + resource_group_name, # type: str + skip_token=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.AccountList" + """List Accounts in ResourceGroup. + + List Accounts in a resource group. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param skip_token: Continuation token. + :type skip_token: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: AccountList or the result of cls(response) + :rtype: ~data_share_management_client.models.AccountList + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.AccountList"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if skip_token is not None: + query_parameters['$skipToken'] = self._serialize.query("skip_token", skip_token, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('AccountList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.DataShareError, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts'} diff --git a/src/datashare/azext_datashare/vendored_sdks/datashare/operations/_consumer_invitation_operations.py b/src/datashare/azext_datashare/vendored_sdks/datashare/operations/_consumer_invitation_operations.py new file mode 100644 index 00000000000..61235cd44a9 --- /dev/null +++ b/src/datashare/azext_datashare/vendored_sdks/datashare/operations/_consumer_invitation_operations.py @@ -0,0 +1,231 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse + +from .. import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class ConsumerInvitationOperations(object): + """ConsumerInvitationOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~data_share_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def reject_invitation( + self, + location, # type: str + invitation_id, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.ConsumerInvitation" + """Reject an invitation. + + Rejects the invitation identified by invitationId. + + :param location: Location of the invitation. + :type location: str + :param invitation_id: Unique id of the invitation. + :type invitation_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ConsumerInvitation or the result of cls(response) + :rtype: ~data_share_management_client.models.ConsumerInvitation + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ConsumerInvitation"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _invitation = models.ConsumerInvitation(invitation_id=invitation_id) + api_version = "2019-11-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.reject_invitation.metadata['url'] + path_format_arguments = { + 'location': self._serialize.url("location", location, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_invitation, 'ConsumerInvitation') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.DataShareError, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('ConsumerInvitation', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + reject_invitation.metadata = {'url': '/providers/Microsoft.DataShare/locations/{location}/RejectInvitation'} + + def get( + self, + location, # type: str + invitation_id, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.ConsumerInvitation" + """Get an invitation. + + Gets the invitation identified by invitationId. + + :param location: Location of the invitation. + :type location: str + :param invitation_id: An invitation id. + :type invitation_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ConsumerInvitation or the result of cls(response) + :rtype: ~data_share_management_client.models.ConsumerInvitation + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ConsumerInvitation"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'location': self._serialize.url("location", location, 'str'), + 'invitationId': self._serialize.url("invitation_id", invitation_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.DataShareError, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('ConsumerInvitation', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/providers/Microsoft.DataShare/locations/{location}/consumerInvitations/{invitationId}'} + + def list_invitation( + self, + skip_token=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.ConsumerInvitationList" + """Lists invitations. + + List the invitations. + + :param skip_token: The continuation token. + :type skip_token: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ConsumerInvitationList or the result of cls(response) + :rtype: ~data_share_management_client.models.ConsumerInvitationList + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ConsumerInvitationList"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_invitation.metadata['url'] + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if skip_token is not None: + query_parameters['$skipToken'] = self._serialize.query("skip_token", skip_token, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('ConsumerInvitationList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.DataShareError, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_invitation.metadata = {'url': '/providers/Microsoft.DataShare/ListInvitations'} diff --git a/src/datashare/azext_datashare/vendored_sdks/datashare/operations/_consumer_source_data_set_operations.py b/src/datashare/azext_datashare/vendored_sdks/datashare/operations/_consumer_source_data_set_operations.py new file mode 100644 index 00000000000..f45b8832698 --- /dev/null +++ b/src/datashare/azext_datashare/vendored_sdks/datashare/operations/_consumer_source_data_set_operations.py @@ -0,0 +1,124 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse + +from .. import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class ConsumerSourceDataSetOperations(object): + """ConsumerSourceDataSetOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~data_share_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list_by_share_subscription( + self, + resource_group_name, # type: str + account_name, # type: str + share_subscription_name, # type: str + skip_token=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.ConsumerSourceDataSetList" + """Get source dataSets of a shareSubscription. + + Get source dataSets of a shareSubscription. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param share_subscription_name: The name of the shareSubscription. + :type share_subscription_name: str + :param skip_token: Continuation token. + :type skip_token: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ConsumerSourceDataSetList or the result of cls(response) + :rtype: ~data_share_management_client.models.ConsumerSourceDataSetList + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ConsumerSourceDataSetList"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_share_subscription.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareSubscriptionName': self._serialize.url("share_subscription_name", share_subscription_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if skip_token is not None: + query_parameters['$skipToken'] = self._serialize.query("skip_token", skip_token, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('ConsumerSourceDataSetList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.DataShareError, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_by_share_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/ConsumerSourceDataSets'} diff --git a/src/datashare/azext_datashare/vendored_sdks/datashare/operations/_data_set_mapping_operations.py b/src/datashare/azext_datashare/vendored_sdks/datashare/operations/_data_set_mapping_operations.py new file mode 100644 index 00000000000..be59ce3d9b9 --- /dev/null +++ b/src/datashare/azext_datashare/vendored_sdks/datashare/operations/_data_set_mapping_operations.py @@ -0,0 +1,337 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse + +from .. import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class DataSetMappingOperations(object): + """DataSetMappingOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~data_share_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def get( + self, + resource_group_name, # type: str + account_name, # type: str + share_subscription_name, # type: str + data_set_mapping_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.DataSetMapping" + """Get a DataSetMapping in a shareSubscription. + + Get DataSetMapping in a shareSubscription. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param share_subscription_name: The name of the shareSubscription. + :type share_subscription_name: str + :param data_set_mapping_name: The name of the dataSetMapping. + :type data_set_mapping_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DataSetMapping or the result of cls(response) + :rtype: ~data_share_management_client.models.DataSetMapping + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.DataSetMapping"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareSubscriptionName': self._serialize.url("share_subscription_name", share_subscription_name, 'str'), + 'dataSetMappingName': self._serialize.url("data_set_mapping_name", data_set_mapping_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.DataShareError, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('DataSetMapping', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/dataSetMappings/{dataSetMappingName}'} + + def create( + self, + resource_group_name, # type: str + account_name, # type: str + share_subscription_name, # type: str + data_set_mapping_name, # type: str + data_set_mapping, # type: "models.DataSetMapping" + **kwargs # type: Any + ): + # type: (...) -> "models.DataSetMapping" + """Create a DataSetMapping. + + Maps a source data set in the source share to a sink data set in the share subscription. + Enables copying the data set from source to destination. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param share_subscription_name: The name of the share subscription which will hold the data set + sink. + :type share_subscription_name: str + :param data_set_mapping_name: The name of the data set mapping to be created. + :type data_set_mapping_name: str + :param data_set_mapping: Destination data set configuration details. + :type data_set_mapping: ~data_share_management_client.models.DataSetMapping + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DataSetMapping or the result of cls(response) + :rtype: ~data_share_management_client.models.DataSetMapping or ~data_share_management_client.models.DataSetMapping + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.DataSetMapping"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.create.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareSubscriptionName': self._serialize.url("share_subscription_name", share_subscription_name, 'str'), + 'dataSetMappingName': self._serialize.url("data_set_mapping_name", data_set_mapping_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(data_set_mapping, 'DataSetMapping') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.DataShareError, response) + raise HttpResponseError(response=response, model=error) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('DataSetMapping', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('DataSetMapping', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/dataSetMappings/{dataSetMappingName}'} + + def delete( + self, + resource_group_name, # type: str + account_name, # type: str + share_subscription_name, # type: str + data_set_mapping_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + """Delete a DataSetMapping in a shareSubscription. + + Delete DataSetMapping in a shareSubscription. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param share_subscription_name: The name of the shareSubscription. + :type share_subscription_name: str + :param data_set_mapping_name: The name of the dataSetMapping. + :type data_set_mapping_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareSubscriptionName': self._serialize.url("share_subscription_name", share_subscription_name, 'str'), + 'dataSetMappingName': self._serialize.url("data_set_mapping_name", data_set_mapping_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.DataShareError, response) + raise HttpResponseError(response=response, model=error) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/dataSetMappings/{dataSetMappingName}'} + + def list_by_share_subscription( + self, + resource_group_name, # type: str + account_name, # type: str + share_subscription_name, # type: str + skip_token=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.DataSetMappingList" + """List DataSetMappings in a share subscription. + + List DataSetMappings in a share subscription. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param share_subscription_name: The name of the share subscription. + :type share_subscription_name: str + :param skip_token: Continuation token. + :type skip_token: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DataSetMappingList or the result of cls(response) + :rtype: ~data_share_management_client.models.DataSetMappingList + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.DataSetMappingList"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_share_subscription.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareSubscriptionName': self._serialize.url("share_subscription_name", share_subscription_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if skip_token is not None: + query_parameters['$skipToken'] = self._serialize.query("skip_token", skip_token, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('DataSetMappingList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.DataShareError, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_by_share_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/dataSetMappings'} diff --git a/src/datashare/azext_datashare/vendored_sdks/datashare/operations/_data_set_operations.py b/src/datashare/azext_datashare/vendored_sdks/datashare/operations/_data_set_operations.py new file mode 100644 index 00000000000..95929ba4858 --- /dev/null +++ b/src/datashare/azext_datashare/vendored_sdks/datashare/operations/_data_set_operations.py @@ -0,0 +1,374 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.core.polling import LROPoller, NoPolling, PollingMethod + +from .. import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class DataSetOperations(object): + """DataSetOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~data_share_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def get( + self, + resource_group_name, # type: str + account_name, # type: str + share_name, # type: str + data_set_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.DataSet" + """Get a DataSet in a share. + + Get DataSet in a share. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param share_name: The name of the share. + :type share_name: str + :param data_set_name: The name of the dataSet. + :type data_set_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DataSet or the result of cls(response) + :rtype: ~data_share_management_client.models.DataSet + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.DataSet"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareName': self._serialize.url("share_name", share_name, 'str'), + 'dataSetName': self._serialize.url("data_set_name", data_set_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.DataShareError, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('DataSet', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/dataSets/{dataSetName}'} + + def create( + self, + resource_group_name, # type: str + account_name, # type: str + share_name, # type: str + data_set_name, # type: str + data_set, # type: "models.DataSet" + **kwargs # type: Any + ): + # type: (...) -> "models.DataSet" + """Create a DataSet. + + Adds a new data set to an existing share. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param share_name: The name of the share to add the data set to. + :type share_name: str + :param data_set_name: The name of the dataSet. + :type data_set_name: str + :param data_set: The new data set information. + :type data_set: ~data_share_management_client.models.DataSet + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DataSet or the result of cls(response) + :rtype: ~data_share_management_client.models.DataSet or ~data_share_management_client.models.DataSet + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.DataSet"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.create.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareName': self._serialize.url("share_name", share_name, 'str'), + 'dataSetName': self._serialize.url("data_set_name", data_set_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(data_set, 'DataSet') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.DataShareError, response) + raise HttpResponseError(response=response, model=error) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('DataSet', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('DataSet', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/dataSets/{dataSetName}'} + + def _delete_initial( + self, + resource_group_name, # type: str + account_name, # type: str + share_name, # type: str + data_set_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + # Construct URL + url = self._delete_initial.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareName': self._serialize.url("share_name", share_name, 'str'), + 'dataSetName': self._serialize.url("data_set_name", data_set_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.DataShareError, response) + raise HttpResponseError(response=response, model=error) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/dataSets/{dataSetName}'} + + def begin_delete( + self, + resource_group_name, # type: str + account_name, # type: str + share_name, # type: str + data_set_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + """Delete a DataSet in a share. + + Delete DataSet in a share. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param share_name: The name of the share. + :type share_name: str + :param data_set_name: The name of the dataSet. + :type data_set_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :return: An instance of LROPoller that returns None + :rtype: ~azure.core.polling.LROPoller[None] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', False) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + account_name=account_name, + share_name=share_name, + data_set_name=data_set_name, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: raise ValueError("polling being True is not valid because no default polling implemetation has been defined.") + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/dataSets/{dataSetName}'} + + def list_by_share( + self, + resource_group_name, # type: str + account_name, # type: str + share_name, # type: str + skip_token=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.DataSetList" + """List DataSets in a share. + + List DataSets in a share. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param share_name: The name of the share. + :type share_name: str + :param skip_token: continuation token. + :type skip_token: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DataSetList or the result of cls(response) + :rtype: ~data_share_management_client.models.DataSetList + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.DataSetList"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_share.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareName': self._serialize.url("share_name", share_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if skip_token is not None: + query_parameters['$skipToken'] = self._serialize.query("skip_token", skip_token, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('DataSetList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.DataShareError, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_by_share.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/dataSets'} diff --git a/src/datashare/azext_datashare/vendored_sdks/datashare/operations/_invitation_operations.py b/src/datashare/azext_datashare/vendored_sdks/datashare/operations/_invitation_operations.py new file mode 100644 index 00000000000..f6d2e38dc1a --- /dev/null +++ b/src/datashare/azext_datashare/vendored_sdks/datashare/operations/_invitation_operations.py @@ -0,0 +1,345 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse + +from .. import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class InvitationOperations(object): + """InvitationOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~data_share_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def get( + self, + resource_group_name, # type: str + account_name, # type: str + share_name, # type: str + invitation_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.Invitation" + """Get an invitation in a share. + + Get Invitation in a share. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param share_name: The name of the share. + :type share_name: str + :param invitation_name: The name of the invitation. + :type invitation_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Invitation or the result of cls(response) + :rtype: ~data_share_management_client.models.Invitation + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.Invitation"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareName': self._serialize.url("share_name", share_name, 'str'), + 'invitationName': self._serialize.url("invitation_name", invitation_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.DataShareError, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('Invitation', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/invitations/{invitationName}'} + + def create( + self, + resource_group_name, # type: str + account_name, # type: str + share_name, # type: str + invitation_name, # type: str + target_active_directory_id=None, # type: Optional[str] + target_email=None, # type: Optional[str] + target_object_id=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.Invitation" + """Create an invitation. + + Sends a new invitation to a recipient to access a share. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param share_name: The name of the share to send the invitation for. + :type share_name: str + :param invitation_name: The name of the invitation. + :type invitation_name: str + :param target_active_directory_id: The target Azure AD Id. Can't be combined with email. + :type target_active_directory_id: str + :param target_email: The email the invitation is directed to. + :type target_email: str + :param target_object_id: The target user or application Id that invitation is being sent to. + Must be specified along TargetActiveDirectoryId. This enables sending + invitations to specific users or applications in an AD tenant. + :type target_object_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Invitation or the result of cls(response) + :rtype: ~data_share_management_client.models.Invitation or ~data_share_management_client.models.Invitation + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.Invitation"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _invitation = models.Invitation(target_active_directory_id=target_active_directory_id, target_email=target_email, target_object_id=target_object_id) + api_version = "2019-11-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.create.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareName': self._serialize.url("share_name", share_name, 'str'), + 'invitationName': self._serialize.url("invitation_name", invitation_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_invitation, 'Invitation') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.DataShareError, response) + raise HttpResponseError(response=response, model=error) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('Invitation', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('Invitation', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/invitations/{invitationName}'} + + def delete( + self, + resource_group_name, # type: str + account_name, # type: str + share_name, # type: str + invitation_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + """Delete an invitation in a share. + + Delete Invitation in a share. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param share_name: The name of the share. + :type share_name: str + :param invitation_name: The name of the invitation. + :type invitation_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareName': self._serialize.url("share_name", share_name, 'str'), + 'invitationName': self._serialize.url("invitation_name", invitation_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.DataShareError, response) + raise HttpResponseError(response=response, model=error) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/invitations/{invitationName}'} + + def list_by_share( + self, + resource_group_name, # type: str + account_name, # type: str + share_name, # type: str + skip_token=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.InvitationList" + """List invitations in a share. + + List all Invitations in a share. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param share_name: The name of the share. + :type share_name: str + :param skip_token: The continuation token. + :type skip_token: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: InvitationList or the result of cls(response) + :rtype: ~data_share_management_client.models.InvitationList + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.InvitationList"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_share.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareName': self._serialize.url("share_name", share_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if skip_token is not None: + query_parameters['$skipToken'] = self._serialize.query("skip_token", skip_token, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('InvitationList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.DataShareError, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_by_share.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/invitations'} diff --git a/src/datashare/azext_datashare/vendored_sdks/datashare/operations/_operation_operations.py b/src/datashare/azext_datashare/vendored_sdks/datashare/operations/_operation_operations.py new file mode 100644 index 00000000000..ea88e363ce7 --- /dev/null +++ b/src/datashare/azext_datashare/vendored_sdks/datashare/operations/_operation_operations.py @@ -0,0 +1,103 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse + +from .. import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class OperationOperations(object): + """OperationOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~data_share_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + **kwargs # type: Any + ): + # type: (...) -> "models.OperationList" + """List of available operations. + + Lists the available operations. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: OperationList or the result of cls(response) + :rtype: ~data_share_management_client.models.OperationList + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.OperationList"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('OperationList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.DataShareError, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/providers/Microsoft.DataShare/operations'} diff --git a/src/datashare/azext_datashare/vendored_sdks/datashare/operations/_provider_share_subscription_operations.py b/src/datashare/azext_datashare/vendored_sdks/datashare/operations/_provider_share_subscription_operations.py new file mode 100644 index 00000000000..8c663fab40b --- /dev/null +++ b/src/datashare/azext_datashare/vendored_sdks/datashare/operations/_provider_share_subscription_operations.py @@ -0,0 +1,372 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.core.polling import LROPoller, NoPolling, PollingMethod + +from .. import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class ProviderShareSubscriptionOperations(object): + """ProviderShareSubscriptionOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~data_share_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def get_by_share( + self, + resource_group_name, # type: str + account_name, # type: str + share_name, # type: str + provider_share_subscription_id, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.ProviderShareSubscription" + """Get share subscription in a provider share. + + Get share subscription in a provider share. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param share_name: The name of the share. + :type share_name: str + :param provider_share_subscription_id: To locate shareSubscription. + :type provider_share_subscription_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ProviderShareSubscription or the result of cls(response) + :rtype: ~data_share_management_client.models.ProviderShareSubscription + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ProviderShareSubscription"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + # Construct URL + url = self.get_by_share.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareName': self._serialize.url("share_name", share_name, 'str'), + 'providerShareSubscriptionId': self._serialize.url("provider_share_subscription_id", provider_share_subscription_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.DataShareError, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('ProviderShareSubscription', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_by_share.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/providerShareSubscriptions/{providerShareSubscriptionId}'} + + def list_by_share( + self, + resource_group_name, # type: str + account_name, # type: str + share_name, # type: str + skip_token=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.ProviderShareSubscriptionList" + """List share subscriptions in a provider share. + + List of available share subscriptions to a provider share. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param share_name: The name of the share. + :type share_name: str + :param skip_token: Continuation Token. + :type skip_token: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ProviderShareSubscriptionList or the result of cls(response) + :rtype: ~data_share_management_client.models.ProviderShareSubscriptionList + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ProviderShareSubscriptionList"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_share.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareName': self._serialize.url("share_name", share_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if skip_token is not None: + query_parameters['$skipToken'] = self._serialize.query("skip_token", skip_token, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('ProviderShareSubscriptionList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.DataShareError, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_by_share.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/providerShareSubscriptions'} + + def _revoke_initial( + self, + resource_group_name, # type: str + account_name, # type: str + share_name, # type: str + provider_share_subscription_id, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.ProviderShareSubscription" + cls = kwargs.pop('cls', None) # type: ClsType["models.ProviderShareSubscription"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + # Construct URL + url = self._revoke_initial.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareName': self._serialize.url("share_name", share_name, 'str'), + 'providerShareSubscriptionId': self._serialize.url("provider_share_subscription_id", provider_share_subscription_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.DataShareError, response) + raise HttpResponseError(response=response, model=error) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('ProviderShareSubscription', pipeline_response) + + if response.status_code == 202: + deserialized = self._deserialize('ProviderShareSubscription', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _revoke_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/providerShareSubscriptions/{providerShareSubscriptionId}/revoke'} + + def begin_revoke( + self, + resource_group_name, # type: str + account_name, # type: str + share_name, # type: str + provider_share_subscription_id, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.ProviderShareSubscription" + """Revoke share subscription in a provider share. + + Revoke share subscription in a provider share. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param share_name: The name of the share. + :type share_name: str + :param provider_share_subscription_id: To locate shareSubscription. + :type provider_share_subscription_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :return: An instance of LROPoller that returns ProviderShareSubscription + :rtype: ~azure.core.polling.LROPoller[~data_share_management_client.models.ProviderShareSubscription] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', False) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.ProviderShareSubscription"] + raw_result = self._revoke_initial( + resource_group_name=resource_group_name, + account_name=account_name, + share_name=share_name, + provider_share_subscription_id=provider_share_subscription_id, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ProviderShareSubscription', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: raise ValueError("polling being True is not valid because no default polling implemetation has been defined.") + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_revoke.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/providerShareSubscriptions/{providerShareSubscriptionId}/revoke'} + + def reinstate( + self, + resource_group_name, # type: str + account_name, # type: str + share_name, # type: str + provider_share_subscription_id, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.ProviderShareSubscription" + """Reinstate share subscription in a provider share. + + Reinstate share subscription in a provider share. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param share_name: The name of the share. + :type share_name: str + :param provider_share_subscription_id: To locate shareSubscription. + :type provider_share_subscription_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ProviderShareSubscription or the result of cls(response) + :rtype: ~data_share_management_client.models.ProviderShareSubscription + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ProviderShareSubscription"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + # Construct URL + url = self.reinstate.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareName': self._serialize.url("share_name", share_name, 'str'), + 'providerShareSubscriptionId': self._serialize.url("provider_share_subscription_id", provider_share_subscription_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.DataShareError, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('ProviderShareSubscription', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + reinstate.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/providerShareSubscriptions/{providerShareSubscriptionId}/reinstate'} diff --git a/src/datashare/azext_datashare/vendored_sdks/datashare/operations/_share_operations.py b/src/datashare/azext_datashare/vendored_sdks/datashare/operations/_share_operations.py new file mode 100644 index 00000000000..a891d441424 --- /dev/null +++ b/src/datashare/azext_datashare/vendored_sdks/datashare/operations/_share_operations.py @@ -0,0 +1,574 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import datetime +from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.core.polling import LROPoller, NoPolling, PollingMethod + +from .. import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class ShareOperations(object): + """ShareOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~data_share_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def get( + self, + resource_group_name, # type: str + account_name, # type: str + share_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.Share" + """Get a share. + + Get a specified share. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param share_name: The name of the share to retrieve. + :type share_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Share or the result of cls(response) + :rtype: ~data_share_management_client.models.Share + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.Share"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareName': self._serialize.url("share_name", share_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.DataShareError, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('Share', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}'} + + def create( + self, + resource_group_name, # type: str + account_name, # type: str + share_name, # type: str + description=None, # type: Optional[str] + share_kind=None, # type: Optional[Union[str, "models.ShareKind"]] + terms=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.Share" + """Create a share. + + Create a share in the given account. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param share_name: The name of the share. + :type share_name: str + :param description: Share description. + :type description: str + :param share_kind: Share kind. + :type share_kind: str or ~data_share_management_client.models.ShareKind + :param terms: Share terms. + :type terms: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Share or the result of cls(response) + :rtype: ~data_share_management_client.models.Share or ~data_share_management_client.models.Share + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.Share"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _share = models.Share(description=description, share_kind=share_kind, terms=terms) + api_version = "2019-11-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.create.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareName': self._serialize.url("share_name", share_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_share, 'Share') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.DataShareError, response) + raise HttpResponseError(response=response, model=error) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('Share', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('Share', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}'} + + def _delete_initial( + self, + resource_group_name, # type: str + account_name, # type: str + share_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.OperationResponse" + cls = kwargs.pop('cls', None) # type: ClsType["models.OperationResponse"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + # Construct URL + url = self._delete_initial.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareName': self._serialize.url("share_name", share_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.DataShareError, response) + raise HttpResponseError(response=response, model=error) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('OperationResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}'} + + def begin_delete( + self, + resource_group_name, # type: str + account_name, # type: str + share_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.OperationResponse" + """Delete a share. + + Deletes a share. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param share_name: The name of the share. + :type share_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :return: An instance of LROPoller that returns OperationResponse + :rtype: ~azure.core.polling.LROPoller[~data_share_management_client.models.OperationResponse] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', False) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.OperationResponse"] + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + account_name=account_name, + share_name=share_name, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('OperationResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: raise ValueError("polling being True is not valid because no default polling implemetation has been defined.") + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}'} + + def list_by_account( + self, + resource_group_name, # type: str + account_name, # type: str + skip_token=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.ShareList" + """List shares in an account. + + List of available shares under an account. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param skip_token: Continuation Token. + :type skip_token: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ShareList or the result of cls(response) + :rtype: ~data_share_management_client.models.ShareList + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ShareList"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_account.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if skip_token is not None: + query_parameters['$skipToken'] = self._serialize.query("skip_token", skip_token, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('ShareList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.DataShareError, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_by_account.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares'} + + def list_synchronization( + self, + resource_group_name, # type: str + account_name, # type: str + share_name, # type: str + skip_token=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.ShareSynchronizationList" + """List synchronizations of a share. + + List Synchronizations in a share. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param share_name: The name of the share. + :type share_name: str + :param skip_token: Continuation token. + :type skip_token: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ShareSynchronizationList or the result of cls(response) + :rtype: ~data_share_management_client.models.ShareSynchronizationList + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ShareSynchronizationList"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_synchronization.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareName': self._serialize.url("share_name", share_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if skip_token is not None: + query_parameters['$skipToken'] = self._serialize.query("skip_token", skip_token, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('ShareSynchronizationList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.DataShareError, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_synchronization.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/listSynchronizations'} + + def list_synchronization_detail( + self, + resource_group_name, # type: str + account_name, # type: str + share_name, # type: str + skip_token=None, # type: Optional[str] + consumer_email=None, # type: Optional[str] + consumer_name=None, # type: Optional[str] + consumer_tenant_name=None, # type: Optional[str] + duration_ms=None, # type: Optional[int] + end_time=None, # type: Optional[datetime.datetime] + message=None, # type: Optional[str] + start_time=None, # type: Optional[datetime.datetime] + status=None, # type: Optional[str] + synchronization_id=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.SynchronizationDetailsList" + """List synchronization details. + + List data set level details for a share synchronization. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param share_name: The name of the share. + :type share_name: str + :param skip_token: Continuation token. + :type skip_token: str + :param consumer_email: Email of the user who created the synchronization. + :type consumer_email: str + :param consumer_name: Name of the user who created the synchronization. + :type consumer_name: str + :param consumer_tenant_name: Tenant name of the consumer who created the synchronization. + :type consumer_tenant_name: str + :param duration_ms: synchronization duration. + :type duration_ms: int + :param end_time: End time of synchronization. + :type end_time: ~datetime.datetime + :param message: message of synchronization. + :type message: str + :param start_time: start time of synchronization. + :type start_time: ~datetime.datetime + :param status: Raw Status. + :type status: str + :param synchronization_id: Synchronization id. + :type synchronization_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SynchronizationDetailsList or the result of cls(response) + :rtype: ~data_share_management_client.models.SynchronizationDetailsList + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.SynchronizationDetailsList"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + _share_synchronization = models.ShareSynchronization(consumer_email=consumer_email, consumer_name=consumer_name, consumer_tenant_name=consumer_tenant_name, duration_ms=duration_ms, end_time=end_time, message=message, start_time=start_time, status=status, synchronization_id=synchronization_id) + api_version = "2019-11-01" + content_type = "application/json" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_synchronization_detail.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareName': self._serialize.url("share_name", share_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if skip_token is not None: + query_parameters['$skipToken'] = self._serialize.query("skip_token", skip_token, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_share_synchronization, 'ShareSynchronization') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('SynchronizationDetailsList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.DataShareError, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_synchronization_detail.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/listSynchronizationDetails'} diff --git a/src/datashare/azext_datashare/vendored_sdks/datashare/operations/_share_subscription_operations.py b/src/datashare/azext_datashare/vendored_sdks/datashare/operations/_share_subscription_operations.py new file mode 100644 index 00000000000..59e710c1c5b --- /dev/null +++ b/src/datashare/azext_datashare/vendored_sdks/datashare/operations/_share_subscription_operations.py @@ -0,0 +1,870 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.core.polling import LROPoller, NoPolling, PollingMethod + +from .. import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class ShareSubscriptionOperations(object): + """ShareSubscriptionOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~data_share_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def get( + self, + resource_group_name, # type: str + account_name, # type: str + share_subscription_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.ShareSubscription" + """Get a shareSubscription in an account. + + Get shareSubscription in an account. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param share_subscription_name: The name of the shareSubscription. + :type share_subscription_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ShareSubscription or the result of cls(response) + :rtype: ~data_share_management_client.models.ShareSubscription + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ShareSubscription"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareSubscriptionName': self._serialize.url("share_subscription_name", share_subscription_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.DataShareError, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('ShareSubscription', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}'} + + def create( + self, + resource_group_name, # type: str + account_name, # type: str + share_subscription_name, # type: str + invitation_id, # type: str + source_share_location, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.ShareSubscription" + """Create a shareSubscription in an account. + + Create shareSubscription in an account. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param share_subscription_name: The name of the shareSubscription. + :type share_subscription_name: str + :param invitation_id: The invitation id. + :type invitation_id: str + :param source_share_location: Source share location. + :type source_share_location: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ShareSubscription or the result of cls(response) + :rtype: ~data_share_management_client.models.ShareSubscription or ~data_share_management_client.models.ShareSubscription + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ShareSubscription"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _share_subscription = models.ShareSubscription(invitation_id=invitation_id, source_share_location=source_share_location) + api_version = "2019-11-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.create.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareSubscriptionName': self._serialize.url("share_subscription_name", share_subscription_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_share_subscription, 'ShareSubscription') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.DataShareError, response) + raise HttpResponseError(response=response, model=error) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('ShareSubscription', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('ShareSubscription', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}'} + + def _delete_initial( + self, + resource_group_name, # type: str + account_name, # type: str + share_subscription_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.OperationResponse" + cls = kwargs.pop('cls', None) # type: ClsType["models.OperationResponse"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + # Construct URL + url = self._delete_initial.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareSubscriptionName': self._serialize.url("share_subscription_name", share_subscription_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.DataShareError, response) + raise HttpResponseError(response=response, model=error) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('OperationResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}'} + + def begin_delete( + self, + resource_group_name, # type: str + account_name, # type: str + share_subscription_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.OperationResponse" + """Delete a shareSubscription in an account. + + Delete shareSubscription in an account. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param share_subscription_name: The name of the shareSubscription. + :type share_subscription_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :return: An instance of LROPoller that returns OperationResponse + :rtype: ~azure.core.polling.LROPoller[~data_share_management_client.models.OperationResponse] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', False) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.OperationResponse"] + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + account_name=account_name, + share_subscription_name=share_subscription_name, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('OperationResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: raise ValueError("polling being True is not valid because no default polling implemetation has been defined.") + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}'} + + def list_by_account( + self, + resource_group_name, # type: str + account_name, # type: str + skip_token=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.ShareSubscriptionList" + """List share subscriptions in an account. + + List of available share subscriptions under an account. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param skip_token: Continuation Token. + :type skip_token: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ShareSubscriptionList or the result of cls(response) + :rtype: ~data_share_management_client.models.ShareSubscriptionList + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ShareSubscriptionList"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_account.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if skip_token is not None: + query_parameters['$skipToken'] = self._serialize.query("skip_token", skip_token, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('ShareSubscriptionList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.DataShareError, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_by_account.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions'} + + def list_source_share_synchronization_setting( + self, + resource_group_name, # type: str + account_name, # type: str + share_subscription_name, # type: str + skip_token=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.SourceShareSynchronizationSettingList" + """Get synchronization settings set on a share. + + Get source share synchronization settings for a shareSubscription. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param share_subscription_name: The name of the shareSubscription. + :type share_subscription_name: str + :param skip_token: Continuation token. + :type skip_token: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SourceShareSynchronizationSettingList or the result of cls(response) + :rtype: ~data_share_management_client.models.SourceShareSynchronizationSettingList + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.SourceShareSynchronizationSettingList"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_source_share_synchronization_setting.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareSubscriptionName': self._serialize.url("share_subscription_name", share_subscription_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if skip_token is not None: + query_parameters['$skipToken'] = self._serialize.query("skip_token", skip_token, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('SourceShareSynchronizationSettingList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.DataShareError, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_source_share_synchronization_setting.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/listSourceShareSynchronizationSettings'} + + def list_synchronization( + self, + resource_group_name, # type: str + account_name, # type: str + share_subscription_name, # type: str + skip_token=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.ShareSubscriptionSynchronizationList" + """List synchronizations of a share subscription. + + List Synchronizations in a share subscription. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param share_subscription_name: The name of the share subscription. + :type share_subscription_name: str + :param skip_token: Continuation token. + :type skip_token: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ShareSubscriptionSynchronizationList or the result of cls(response) + :rtype: ~data_share_management_client.models.ShareSubscriptionSynchronizationList + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ShareSubscriptionSynchronizationList"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_synchronization.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareSubscriptionName': self._serialize.url("share_subscription_name", share_subscription_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if skip_token is not None: + query_parameters['$skipToken'] = self._serialize.query("skip_token", skip_token, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('ShareSubscriptionSynchronizationList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.DataShareError, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_synchronization.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/listSynchronizations'} + + def list_synchronization_detail( + self, + resource_group_name, # type: str + account_name, # type: str + share_subscription_name, # type: str + synchronization_id, # type: str + skip_token=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.SynchronizationDetailsList" + """List synchronization details. + + List data set level details for a share subscription synchronization. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param share_subscription_name: The name of the share subscription. + :type share_subscription_name: str + :param synchronization_id: Synchronization id. + :type synchronization_id: str + :param skip_token: Continuation token. + :type skip_token: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SynchronizationDetailsList or the result of cls(response) + :rtype: ~data_share_management_client.models.SynchronizationDetailsList + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.SynchronizationDetailsList"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + _share_subscription_synchronization = models.ShareSubscriptionSynchronization(synchronization_id=synchronization_id) + api_version = "2019-11-01" + content_type = "application/json" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_synchronization_detail.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareSubscriptionName': self._serialize.url("share_subscription_name", share_subscription_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if skip_token is not None: + query_parameters['$skipToken'] = self._serialize.query("skip_token", skip_token, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_share_subscription_synchronization, 'ShareSubscriptionSynchronization') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('SynchronizationDetailsList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.DataShareError, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_synchronization_detail.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/listSynchronizationDetails'} + + def _synchronize_initial( + self, + resource_group_name, # type: str + account_name, # type: str + share_subscription_name, # type: str + synchronization_mode=None, # type: Optional[Union[str, "models.SynchronizationMode"]] + **kwargs # type: Any + ): + # type: (...) -> "models.ShareSubscriptionSynchronization" + cls = kwargs.pop('cls', None) # type: ClsType["models.ShareSubscriptionSynchronization"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _synchronize = models.Synchronize(synchronization_mode=synchronization_mode) + api_version = "2019-11-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self._synchronize_initial.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareSubscriptionName': self._serialize.url("share_subscription_name", share_subscription_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_synchronize, 'Synchronize') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.DataShareError, response) + raise HttpResponseError(response=response, model=error) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('ShareSubscriptionSynchronization', pipeline_response) + + if response.status_code == 202: + deserialized = self._deserialize('ShareSubscriptionSynchronization', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _synchronize_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/Synchronize'} + + def begin_synchronize( + self, + resource_group_name, # type: str + account_name, # type: str + share_subscription_name, # type: str + synchronization_mode=None, # type: Optional[Union[str, "models.SynchronizationMode"]] + **kwargs # type: Any + ): + # type: (...) -> "models.ShareSubscriptionSynchronization" + """Initiate a copy. + + Initiate an asynchronous data share job. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param share_subscription_name: The name of share subscription. + :type share_subscription_name: str + :param synchronization_mode: Mode of synchronization used in triggers and snapshot sync. + Incremental by default. + :type synchronization_mode: str or ~data_share_management_client.models.SynchronizationMode + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :return: An instance of LROPoller that returns ShareSubscriptionSynchronization + :rtype: ~azure.core.polling.LROPoller[~data_share_management_client.models.ShareSubscriptionSynchronization] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', False) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.ShareSubscriptionSynchronization"] + raw_result = self._synchronize_initial( + resource_group_name=resource_group_name, + account_name=account_name, + share_subscription_name=share_subscription_name, + synchronization_mode=synchronization_mode, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ShareSubscriptionSynchronization', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: raise ValueError("polling being True is not valid because no default polling implemetation has been defined.") + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_synchronize.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/Synchronize'} + + def _cancel_synchronization_initial( + self, + resource_group_name, # type: str + account_name, # type: str + share_subscription_name, # type: str + synchronization_id, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.ShareSubscriptionSynchronization" + cls = kwargs.pop('cls', None) # type: ClsType["models.ShareSubscriptionSynchronization"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _share_subscription_synchronization = models.ShareSubscriptionSynchronization(synchronization_id=synchronization_id) + api_version = "2019-11-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self._cancel_synchronization_initial.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareSubscriptionName': self._serialize.url("share_subscription_name", share_subscription_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_share_subscription_synchronization, 'ShareSubscriptionSynchronization') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.DataShareError, response) + raise HttpResponseError(response=response, model=error) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('ShareSubscriptionSynchronization', pipeline_response) + + if response.status_code == 202: + deserialized = self._deserialize('ShareSubscriptionSynchronization', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _cancel_synchronization_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/cancelSynchronization'} + + def begin_cancel_synchronization( + self, + resource_group_name, # type: str + account_name, # type: str + share_subscription_name, # type: str + synchronization_id, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.ShareSubscriptionSynchronization" + """Request to cancel a synchronization. + + Request cancellation of a data share snapshot. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param share_subscription_name: The name of the shareSubscription. + :type share_subscription_name: str + :param synchronization_id: Synchronization id. + :type synchronization_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :return: An instance of LROPoller that returns ShareSubscriptionSynchronization + :rtype: ~azure.core.polling.LROPoller[~data_share_management_client.models.ShareSubscriptionSynchronization] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', False) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.ShareSubscriptionSynchronization"] + raw_result = self._cancel_synchronization_initial( + resource_group_name=resource_group_name, + account_name=account_name, + share_subscription_name=share_subscription_name, + synchronization_id=synchronization_id, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ShareSubscriptionSynchronization', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: raise ValueError("polling being True is not valid because no default polling implemetation has been defined.") + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_cancel_synchronization.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/cancelSynchronization'} diff --git a/src/datashare/azext_datashare/vendored_sdks/datashare/operations/_synchronization_setting_operations.py b/src/datashare/azext_datashare/vendored_sdks/datashare/operations/_synchronization_setting_operations.py new file mode 100644 index 00000000000..4b59370d082 --- /dev/null +++ b/src/datashare/azext_datashare/vendored_sdks/datashare/operations/_synchronization_setting_operations.py @@ -0,0 +1,383 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.core.polling import LROPoller, NoPolling, PollingMethod + +from .. import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class SynchronizationSettingOperations(object): + """SynchronizationSettingOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~data_share_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def get( + self, + resource_group_name, # type: str + account_name, # type: str + share_name, # type: str + synchronization_setting_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.SynchronizationSetting" + """Get a synchronizationSetting in a share. + + Get synchronizationSetting in a share. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param share_name: The name of the share. + :type share_name: str + :param synchronization_setting_name: The name of the synchronizationSetting. + :type synchronization_setting_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SynchronizationSetting or the result of cls(response) + :rtype: ~data_share_management_client.models.SynchronizationSetting + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.SynchronizationSetting"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareName': self._serialize.url("share_name", share_name, 'str'), + 'synchronizationSettingName': self._serialize.url("synchronization_setting_name", synchronization_setting_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.DataShareError, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('SynchronizationSetting', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/synchronizationSettings/{synchronizationSettingName}'} + + def create( + self, + resource_group_name, # type: str + account_name, # type: str + share_name, # type: str + synchronization_setting_name, # type: str + synchronization_setting, # type: "models.SynchronizationSetting" + **kwargs # type: Any + ): + # type: (...) -> "models.SynchronizationSetting" + """Create or update a synchronizationSetting. + + Adds a new synchronization setting to an existing share. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param share_name: The name of the share to add the synchronization setting to. + :type share_name: str + :param synchronization_setting_name: The name of the synchronizationSetting. + :type synchronization_setting_name: str + :param synchronization_setting: The new synchronization setting information. + :type synchronization_setting: ~data_share_management_client.models.SynchronizationSetting + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SynchronizationSetting or the result of cls(response) + :rtype: ~data_share_management_client.models.SynchronizationSetting or ~data_share_management_client.models.SynchronizationSetting + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.SynchronizationSetting"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.create.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareName': self._serialize.url("share_name", share_name, 'str'), + 'synchronizationSettingName': self._serialize.url("synchronization_setting_name", synchronization_setting_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(synchronization_setting, 'SynchronizationSetting') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.DataShareError, response) + raise HttpResponseError(response=response, model=error) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('SynchronizationSetting', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('SynchronizationSetting', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/synchronizationSettings/{synchronizationSettingName}'} + + def _delete_initial( + self, + resource_group_name, # type: str + account_name, # type: str + share_name, # type: str + synchronization_setting_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.OperationResponse" + cls = kwargs.pop('cls', None) # type: ClsType["models.OperationResponse"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + # Construct URL + url = self._delete_initial.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareName': self._serialize.url("share_name", share_name, 'str'), + 'synchronizationSettingName': self._serialize.url("synchronization_setting_name", synchronization_setting_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.DataShareError, response) + raise HttpResponseError(response=response, model=error) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('OperationResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/synchronizationSettings/{synchronizationSettingName}'} + + def begin_delete( + self, + resource_group_name, # type: str + account_name, # type: str + share_name, # type: str + synchronization_setting_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.OperationResponse" + """Delete a synchronizationSetting in a share. + + Delete synchronizationSetting in a share. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param share_name: The name of the share. + :type share_name: str + :param synchronization_setting_name: The name of the synchronizationSetting . + :type synchronization_setting_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :return: An instance of LROPoller that returns OperationResponse + :rtype: ~azure.core.polling.LROPoller[~data_share_management_client.models.OperationResponse] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', False) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.OperationResponse"] + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + account_name=account_name, + share_name=share_name, + synchronization_setting_name=synchronization_setting_name, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('OperationResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: raise ValueError("polling being True is not valid because no default polling implemetation has been defined.") + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/synchronizationSettings/{synchronizationSettingName}'} + + def list_by_share( + self, + resource_group_name, # type: str + account_name, # type: str + share_name, # type: str + skip_token=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.SynchronizationSettingList" + """List synchronizationSettings in a share. + + List synchronizationSettings in a share. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param share_name: The name of the share. + :type share_name: str + :param skip_token: continuation token. + :type skip_token: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SynchronizationSettingList or the result of cls(response) + :rtype: ~data_share_management_client.models.SynchronizationSettingList + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.SynchronizationSettingList"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_share.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareName': self._serialize.url("share_name", share_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if skip_token is not None: + query_parameters['$skipToken'] = self._serialize.query("skip_token", skip_token, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('SynchronizationSettingList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.DataShareError, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_by_share.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/synchronizationSettings'} diff --git a/src/datashare/azext_datashare/vendored_sdks/datashare/operations/_trigger_operations.py b/src/datashare/azext_datashare/vendored_sdks/datashare/operations/_trigger_operations.py new file mode 100644 index 00000000000..1bea3c38c31 --- /dev/null +++ b/src/datashare/azext_datashare/vendored_sdks/datashare/operations/_trigger_operations.py @@ -0,0 +1,427 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.core.polling import LROPoller, NoPolling, PollingMethod + +from .. import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class TriggerOperations(object): + """TriggerOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~data_share_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def get( + self, + resource_group_name, # type: str + account_name, # type: str + share_subscription_name, # type: str + trigger_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.Trigger" + """Get a Trigger in a shareSubscription. + + Get Trigger in a shareSubscription. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param share_subscription_name: The name of the shareSubscription. + :type share_subscription_name: str + :param trigger_name: The name of the trigger. + :type trigger_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Trigger or the result of cls(response) + :rtype: ~data_share_management_client.models.Trigger + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.Trigger"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareSubscriptionName': self._serialize.url("share_subscription_name", share_subscription_name, 'str'), + 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.DataShareError, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('Trigger', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/triggers/{triggerName}'} + + def _create_initial( + self, + resource_group_name, # type: str + account_name, # type: str + share_subscription_name, # type: str + trigger_name, # type: str + trigger, # type: "models.Trigger" + **kwargs # type: Any + ): + # type: (...) -> "models.Trigger" + cls = kwargs.pop('cls', None) # type: ClsType["models.Trigger"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self._create_initial.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareSubscriptionName': self._serialize.url("share_subscription_name", share_subscription_name, 'str'), + 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(trigger, 'Trigger') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.DataShareError, response) + raise HttpResponseError(response=response, model=error) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('Trigger', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('Trigger', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/triggers/{triggerName}'} + + def begin_create( + self, + resource_group_name, # type: str + account_name, # type: str + share_subscription_name, # type: str + trigger_name, # type: str + trigger, # type: "models.Trigger" + **kwargs # type: Any + ): + # type: (...) -> "models.Trigger" + """Create a Trigger. + + This method creates a trigger for a share subscription. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param share_subscription_name: The name of the share subscription which will hold the data set + sink. + :type share_subscription_name: str + :param trigger_name: The name of the trigger. + :type trigger_name: str + :param trigger: Trigger details. + :type trigger: ~data_share_management_client.models.Trigger + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :return: An instance of LROPoller that returns Trigger + :rtype: ~azure.core.polling.LROPoller[~data_share_management_client.models.Trigger] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', False) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.Trigger"] + raw_result = self._create_initial( + resource_group_name=resource_group_name, + account_name=account_name, + share_subscription_name=share_subscription_name, + trigger_name=trigger_name, + trigger=trigger, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('Trigger', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: raise ValueError("polling being True is not valid because no default polling implemetation has been defined.") + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/triggers/{triggerName}'} + + def _delete_initial( + self, + resource_group_name, # type: str + account_name, # type: str + share_subscription_name, # type: str + trigger_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.OperationResponse" + cls = kwargs.pop('cls', None) # type: ClsType["models.OperationResponse"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + # Construct URL + url = self._delete_initial.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareSubscriptionName': self._serialize.url("share_subscription_name", share_subscription_name, 'str'), + 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.DataShareError, response) + raise HttpResponseError(response=response, model=error) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('OperationResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/triggers/{triggerName}'} + + def begin_delete( + self, + resource_group_name, # type: str + account_name, # type: str + share_subscription_name, # type: str + trigger_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.OperationResponse" + """Delete a Trigger in a shareSubscription. + + Delete Trigger in a shareSubscription. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param share_subscription_name: The name of the shareSubscription. + :type share_subscription_name: str + :param trigger_name: The name of the trigger. + :type trigger_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :return: An instance of LROPoller that returns OperationResponse + :rtype: ~azure.core.polling.LROPoller[~data_share_management_client.models.OperationResponse] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', False) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.OperationResponse"] + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + account_name=account_name, + share_subscription_name=share_subscription_name, + trigger_name=trigger_name, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('OperationResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: raise ValueError("polling being True is not valid because no default polling implemetation has been defined.") + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/triggers/{triggerName}'} + + def list_by_share_subscription( + self, + resource_group_name, # type: str + account_name, # type: str + share_subscription_name, # type: str + skip_token=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.TriggerList" + """List Triggers in a share subscription. + + List Triggers in a share subscription. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param share_subscription_name: The name of the share subscription. + :type share_subscription_name: str + :param skip_token: Continuation token. + :type skip_token: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: TriggerList or the result of cls(response) + :rtype: ~data_share_management_client.models.TriggerList + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.TriggerList"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-11-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_share_subscription.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareSubscriptionName': self._serialize.url("share_subscription_name", share_subscription_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if skip_token is not None: + query_parameters['$skipToken'] = self._serialize.query("skip_token", skip_token, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('TriggerList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.DataShareError, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_by_share_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/triggers'} diff --git a/src/datashare/report.md b/src/datashare/report.md new file mode 100644 index 00000000000..652f8051a95 --- /dev/null +++ b/src/datashare/report.md @@ -0,0 +1,483 @@ +# Azure CLI Module Creation Report + +### datashare account create + +create a datashare account. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| +|**--account_name**|string|The name of the share account.|account_name|account_name| +|**--identity**|object|Identity of resource|identity|identity| +|**--location**|string|Location of the azure resource.|location|location| +|**--tags**|dictionary|Tags on the azure resource.|tags|tags| +### datashare account delete + +delete a datashare account. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| +|**--account_name**|string|The name of the share account.|account_name|account_name| +### datashare account list + +list a datashare account. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| +|**--skip_token**|string|Continuation token|skip_token|skip_token| +### datashare account show + +show a datashare account. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| +|**--account_name**|string|The name of the share account.|account_name|account_name| +### datashare account update + +update a datashare account. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| +|**--account_name**|string|The name of the share account.|account_name|account_name| +|**--tags**|dictionary|Tags on the azure resource.|tags|tags| +### datashare consumer-invitation list + +list a datashare consumer-invitation. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--skip_token**|string|Continuation token|skip_token|skip_token| +### datashare consumer-invitation reject-invitation + +reject-invitation a datashare consumer-invitation. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--location**|string|Location of the invitation|location|location| +|**--invitation_id**|string|Unique id of the invitation.|invitation_id|properties_invitation_id| +### datashare consumer-invitation show + +show a datashare consumer-invitation. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--location**|string|Location of the invitation|location|location| +|**--invitation_id**|string|An invitation id|invitation_id|invitation_id| +### datashare consumer-source-data-set list + +list a datashare consumer-source-data-set. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| +|**--account_name**|string|The name of the share account.|account_name|account_name| +|**--share_subscription_name**|string|The name of the shareSubscription.|share_subscription_name|share_subscription_name| +|**--skip_token**|string|Continuation token|skip_token|skip_token| +### datashare data-set create + +create a datashare data-set. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| +|**--account_name**|string|The name of the share account.|account_name|account_name| +|**--share_name**|string|The name of the share.|share_name|share_name| +|**--data_set_name**|string|The name of the dataSet.|data_set_name|data_set_name| +|**--kind**|choice|Kind of data set.|kind|kind| +### datashare data-set delete + +delete a datashare data-set. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| +|**--account_name**|string|The name of the share account.|account_name|account_name| +|**--share_name**|string|The name of the share.|share_name|share_name| +|**--data_set_name**|string|The name of the dataSet.|data_set_name|data_set_name| +### datashare data-set list + +list a datashare data-set. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| +|**--account_name**|string|The name of the share account.|account_name|account_name| +|**--share_name**|string|The name of the share.|share_name|share_name| +|**--skip_token**|string|Continuation token|skip_token|skip_token| +### datashare data-set show + +show a datashare data-set. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| +|**--account_name**|string|The name of the share account.|account_name|account_name| +|**--share_name**|string|The name of the share.|share_name|share_name| +|**--data_set_name**|string|The name of the dataSet.|data_set_name|data_set_name| +### datashare data-set-mapping create + +create a datashare data-set-mapping. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| +|**--account_name**|string|The name of the share account.|account_name|account_name| +|**--share_subscription_name**|string|The name of the shareSubscription.|share_subscription_name|share_subscription_name| +|**--data_set_mapping_name**|string|The name of the dataSetMapping.|data_set_mapping_name|data_set_mapping_name| +|**--kind**|choice|Kind of data set.|kind|kind| +### datashare data-set-mapping delete + +delete a datashare data-set-mapping. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| +|**--account_name**|string|The name of the share account.|account_name|account_name| +|**--share_subscription_name**|string|The name of the shareSubscription.|share_subscription_name|share_subscription_name| +|**--data_set_mapping_name**|string|The name of the dataSetMapping.|data_set_mapping_name|data_set_mapping_name| +### datashare data-set-mapping list + +list a datashare data-set-mapping. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| +|**--account_name**|string|The name of the share account.|account_name|account_name| +|**--share_subscription_name**|string|The name of the shareSubscription.|share_subscription_name|share_subscription_name| +|**--skip_token**|string|Continuation token|skip_token|skip_token| +### datashare data-set-mapping show + +show a datashare data-set-mapping. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| +|**--account_name**|string|The name of the share account.|account_name|account_name| +|**--share_subscription_name**|string|The name of the shareSubscription.|share_subscription_name|share_subscription_name| +|**--data_set_mapping_name**|string|The name of the dataSetMapping.|data_set_mapping_name|data_set_mapping_name| +### datashare invitation create + +create a datashare invitation. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| +|**--account_name**|string|The name of the share account.|account_name|account_name| +|**--share_name**|string|The name of the share.|share_name|share_name| +|**--invitation_name**|string|The name of the invitation.|invitation_name|invitation_name| +|**--target_active_directory_id**|string|The target Azure AD Id. Can't be combined with email.|target_active_directory_id|properties_target_active_directory_id| +|**--target_email**|string|The email the invitation is directed to.|target_email|properties_target_email| +|**--target_object_id**|string|The target user or application Id that invitation is being sent to. Must be specified along TargetActiveDirectoryId. This enables sending invitations to specific users or applications in an AD tenant.|target_object_id|properties_target_object_id| +### datashare invitation delete + +delete a datashare invitation. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| +|**--account_name**|string|The name of the share account.|account_name|account_name| +|**--share_name**|string|The name of the share.|share_name|share_name| +|**--invitation_name**|string|The name of the invitation.|invitation_name|invitation_name| +### datashare invitation list + +list a datashare invitation. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| +|**--account_name**|string|The name of the share account.|account_name|account_name| +|**--share_name**|string|The name of the share.|share_name|share_name| +|**--skip_token**|string|Continuation token|skip_token|skip_token| +### datashare invitation show + +show a datashare invitation. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| +|**--account_name**|string|The name of the share account.|account_name|account_name| +|**--share_name**|string|The name of the share.|share_name|share_name| +|**--invitation_name**|string|The name of the invitation.|invitation_name|invitation_name| +### datashare provider-share-subscription list + +list a datashare provider-share-subscription. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| +|**--account_name**|string|The name of the share account.|account_name|account_name| +|**--share_name**|string|The name of the share.|share_name|share_name| +|**--skip_token**|string|Continuation token|skip_token|skip_token| +### datashare provider-share-subscription reinstate + +reinstate a datashare provider-share-subscription. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| +|**--account_name**|string|The name of the share account.|account_name|account_name| +|**--share_name**|string|The name of the share.|share_name|share_name| +|**--provider_share_subscription_id**|string|To locate shareSubscription|provider_share_subscription_id|provider_share_subscription_id| +### datashare provider-share-subscription revoke + +revoke a datashare provider-share-subscription. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| +|**--account_name**|string|The name of the share account.|account_name|account_name| +|**--share_name**|string|The name of the share.|share_name|share_name| +|**--provider_share_subscription_id**|string|To locate shareSubscription|provider_share_subscription_id|provider_share_subscription_id| +### datashare provider-share-subscription show + +show a datashare provider-share-subscription. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| +|**--account_name**|string|The name of the share account.|account_name|account_name| +|**--share_name**|string|The name of the share.|share_name|share_name| +|**--provider_share_subscription_id**|string|To locate shareSubscription|provider_share_subscription_id|provider_share_subscription_id| +### datashare share create + +create a datashare share. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| +|**--account_name**|string|The name of the share account.|account_name|account_name| +|**--share_name**|string|The name of the share.|share_name|share_name| +|**--description**|string|Share description.|description|properties_description| +|**--share_kind**|choice|Share kind.|share_kind|properties_share_kind| +|**--terms**|string|Share terms.|terms|properties_terms| +### datashare share delete + +delete a datashare share. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| +|**--account_name**|string|The name of the share account.|account_name|account_name| +|**--share_name**|string|The name of the share.|share_name|share_name| +### datashare share list + +list a datashare share. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| +|**--account_name**|string|The name of the share account.|account_name|account_name| +|**--skip_token**|string|Continuation token|skip_token|skip_token| +### datashare share list-synchronization + +list-synchronization a datashare share. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| +|**--account_name**|string|The name of the share account.|account_name|account_name| +|**--share_name**|string|The name of the share.|share_name|share_name| +|**--skip_token**|string|Continuation token|skip_token|skip_token| +### datashare share list-synchronization-detail + +list-synchronization-detail a datashare share. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| +|**--account_name**|string|The name of the share account.|account_name|account_name| +|**--share_name**|string|The name of the share.|share_name|share_name| +|**--skip_token**|string|Continuation token|skip_token|skip_token| +|**--consumer_email**|string|Email of the user who created the synchronization|consumer_email|consumer_email| +|**--consumer_name**|string|Name of the user who created the synchronization|consumer_name|consumer_name| +|**--consumer_tenant_name**|string|Tenant name of the consumer who created the synchronization|consumer_tenant_name|consumer_tenant_name| +|**--duration_ms**|integer|synchronization duration|duration_ms|duration_ms| +|**--end_time**|date-time|End time of synchronization|end_time|end_time| +|**--message**|string|message of synchronization|message|message| +|**--start_time**|date-time|start time of synchronization|start_time|start_time| +|**--status**|string|Raw Status|status|status| +|**--synchronization_id**|string|Synchronization id|synchronization_id|synchronization_id| +### datashare share show + +show a datashare share. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| +|**--account_name**|string|The name of the share account.|account_name|account_name| +|**--share_name**|string|The name of the share.|share_name|share_name| +### datashare share-subscription cancel-synchronization + +cancel-synchronization a datashare share-subscription. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| +|**--account_name**|string|The name of the share account.|account_name|account_name| +|**--share_subscription_name**|string|The name of the shareSubscription.|share_subscription_name|share_subscription_name| +|**--synchronization_id**|string|Synchronization id|synchronization_id|synchronization_id| +### datashare share-subscription create + +create a datashare share-subscription. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| +|**--account_name**|string|The name of the share account.|account_name|account_name| +|**--share_subscription_name**|string|The name of the shareSubscription.|share_subscription_name|share_subscription_name| +|**--invitation_id**|string|The invitation id.|invitation_id|properties_invitation_id| +|**--source_share_location**|string|Source share location.|source_share_location|properties_source_share_location| +### datashare share-subscription delete + +delete a datashare share-subscription. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| +|**--account_name**|string|The name of the share account.|account_name|account_name| +|**--share_subscription_name**|string|The name of the shareSubscription.|share_subscription_name|share_subscription_name| +### datashare share-subscription list + +list a datashare share-subscription. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| +|**--account_name**|string|The name of the share account.|account_name|account_name| +|**--skip_token**|string|Continuation token|skip_token|skip_token| +### datashare share-subscription list-source-share-synchronization-setting + +list-source-share-synchronization-setting a datashare share-subscription. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| +|**--account_name**|string|The name of the share account.|account_name|account_name| +|**--share_subscription_name**|string|The name of the shareSubscription.|share_subscription_name|share_subscription_name| +|**--skip_token**|string|Continuation token|skip_token|skip_token| +### datashare share-subscription list-synchronization + +list-synchronization a datashare share-subscription. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| +|**--account_name**|string|The name of the share account.|account_name|account_name| +|**--share_subscription_name**|string|The name of the shareSubscription.|share_subscription_name|share_subscription_name| +|**--skip_token**|string|Continuation token|skip_token|skip_token| +### datashare share-subscription list-synchronization-detail + +list-synchronization-detail a datashare share-subscription. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| +|**--account_name**|string|The name of the share account.|account_name|account_name| +|**--share_subscription_name**|string|The name of the shareSubscription.|share_subscription_name|share_subscription_name| +|**--synchronization_id**|string|Synchronization id|synchronization_id|synchronization_id| +|**--skip_token**|string|Continuation token|skip_token|skip_token| +### datashare share-subscription show + +show a datashare share-subscription. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| +|**--account_name**|string|The name of the share account.|account_name|account_name| +|**--share_subscription_name**|string|The name of the shareSubscription.|share_subscription_name|share_subscription_name| +### datashare share-subscription synchronize + +synchronize a datashare share-subscription. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| +|**--account_name**|string|The name of the share account.|account_name|account_name| +|**--share_subscription_name**|string|The name of the shareSubscription.|share_subscription_name|share_subscription_name| +|**--synchronization_mode**|choice|Synchronization mode|synchronization_mode|synchronization_mode| +### datashare synchronization-setting create + +create a datashare synchronization-setting. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| +|**--account_name**|string|The name of the share account.|account_name|account_name| +|**--share_name**|string|The name of the share.|share_name|share_name| +|**--synchronization_setting_name**|string|The name of the synchronizationSetting.|synchronization_setting_name|synchronization_setting_name| +|**--kind**|choice|Kind of data set.|kind|kind| +### datashare synchronization-setting delete + +delete a datashare synchronization-setting. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| +|**--account_name**|string|The name of the share account.|account_name|account_name| +|**--share_name**|string|The name of the share.|share_name|share_name| +|**--synchronization_setting_name**|string|The name of the synchronizationSetting.|synchronization_setting_name|synchronization_setting_name| +### datashare synchronization-setting list + +list a datashare synchronization-setting. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| +|**--account_name**|string|The name of the share account.|account_name|account_name| +|**--share_name**|string|The name of the share.|share_name|share_name| +|**--skip_token**|string|Continuation token|skip_token|skip_token| +### datashare synchronization-setting show + +show a datashare synchronization-setting. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| +|**--account_name**|string|The name of the share account.|account_name|account_name| +|**--share_name**|string|The name of the share.|share_name|share_name| +|**--synchronization_setting_name**|string|The name of the synchronizationSetting.|synchronization_setting_name|synchronization_setting_name| +### datashare trigger create + +create a datashare trigger. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| +|**--account_name**|string|The name of the share account.|account_name|account_name| +|**--share_subscription_name**|string|The name of the shareSubscription.|share_subscription_name|share_subscription_name| +|**--trigger_name**|string|The name of the trigger.|trigger_name|trigger_name| +|**--kind**|choice|Kind of data set.|kind|kind| +### datashare trigger delete + +delete a datashare trigger. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| +|**--account_name**|string|The name of the share account.|account_name|account_name| +|**--share_subscription_name**|string|The name of the shareSubscription.|share_subscription_name|share_subscription_name| +|**--trigger_name**|string|The name of the trigger.|trigger_name|trigger_name| +### datashare trigger list + +list a datashare trigger. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| +|**--account_name**|string|The name of the share account.|account_name|account_name| +|**--share_subscription_name**|string|The name of the shareSubscription.|share_subscription_name|share_subscription_name| +|**--skip_token**|string|Continuation token|skip_token|skip_token| +### datashare trigger show + +show a datashare trigger. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| +|**--account_name**|string|The name of the share account.|account_name|account_name| +|**--share_subscription_name**|string|The name of the shareSubscription.|share_subscription_name|share_subscription_name| +|**--trigger_name**|string|The name of the trigger.|trigger_name|trigger_name| \ No newline at end of file diff --git a/src/datashare/setup.cfg b/src/datashare/setup.cfg new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/datashare/setup.py b/src/datashare/setup.py new file mode 100644 index 00000000000..172005632aa --- /dev/null +++ b/src/datashare/setup.py @@ -0,0 +1,58 @@ +#!/usr/bin/env python + +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + + +from codecs import open +from setuptools import setup, find_packages +try: + from azure_bdist_wheel import cmdclass +except ImportError: + from distutils import log as logger + logger.warn("Wheel is not available, disabling bdist_wheel hook") + +# TODO: Confirm this is the right version number you want and it matches your +# HISTORY.rst entry. +VERSION = '0.1.0' + +# The full list of classifiers is available at +# https://pypi.python.org/pypi?%3Aaction=list_classifiers +CLASSIFIERS = [ + 'Development Status :: 4 - Beta', + 'Intended Audience :: Developers', + 'Intended Audience :: System Administrators', + 'Programming Language :: Python', + 'Programming Language :: Python :: 3', + 'Programming Language :: Python :: 3.6', + 'Programming Language :: Python :: 3.7', + 'Programming Language :: Python :: 3.8', + 'License :: OSI Approved :: MIT License', +] + +# TODO: Add any additional SDK dependencies here +DEPENDENCIES = [] + +with open('README.md', 'r', encoding='utf-8') as f: + README = f.read() +with open('HISTORY.rst', 'r', encoding='utf-8') as f: + HISTORY = f.read() + +setup( + name='datashare', + version=VERSION, + description='Microsoft Azure Command-Line Tools DataShareManagementClient Extension', + # TODO: Update author and email, if applicable + author='Microsoft Corporation', + author_email='azpycli@microsoft.com', + # TODO: consider pointing directly to your source code instead of the generic repo + url='https://github.com/Azure/azure-cli-extensions', + long_description=README + '\n\n' + HISTORY, + license='MIT', + classifiers=CLASSIFIERS, + packages=find_packages(), + install_requires=DEPENDENCIES, + package_data={'azext_datashare': ['azext_metadata.json']}, +) diff --git a/src/db-up/HISTORY.rst b/src/db-up/HISTORY.rst index 18027bca2be..19e5d420d81 100644 --- a/src/db-up/HISTORY.rst +++ b/src/db-up/HISTORY.rst @@ -3,6 +3,12 @@ Release History =============== +0.1.14 (2020-5-9) +++++++++++++++++ +* Bump Cython, psycopg2-binary +* `az postgres/mysql up`: Enable SSL enforcement by default. +* Fix bug in validator when using a different resource group + 0.1.10 (2019-3-22) +++++++++++++++++ * `az sql up/down/show-connection-string`. diff --git a/src/db-up/azext_db_up/_params.py b/src/db-up/azext_db_up/_params.py index 26e504823d4..ec5a876985b 100644 --- a/src/db-up/azext_db_up/_params.py +++ b/src/db-up/azext_db_up/_params.py @@ -47,7 +47,7 @@ def load_arguments(self, _): # pylint: disable=too-many-locals, too-many-statem c.argument('storage_mb', options_list=['--storage-size'], type=int, help='The max storage size of the server. Unit is megabytes.') c.argument('ssl_enforcement', arg_type=get_enum_type(SslEnforcementEnum), - default=SslEnforcementEnum.disabled.value, + default=SslEnforcementEnum.enabled.value, help='Enable ssl enforcement or not when connect to server.') with self.argument_context('mysql up') as c: diff --git a/src/db-up/azext_db_up/_validators.py b/src/db-up/azext_db_up/_validators.py index 7079a873dc1..e1a69bf26eb 100644 --- a/src/db-up/azext_db_up/_validators.py +++ b/src/db-up/azext_db_up/_validators.py @@ -30,28 +30,44 @@ def db_down_namespace_processor(db_type): return lambda cmd, namespace: _process_db_down_namespace(namespace, db_type=db_type) +# pylint: disable=bare-except def _process_db_up_namespace(cmd, namespace, db_type=None): - # populate from cache if existing - _set_value(db_type, namespace, 'location', 'location', cache=False) - _set_value(db_type, namespace, 'resource_group_name', 'group', cache=False) + # populate from cache if existing when no resource group name provided + resource_client = resource_client_factory(cmd.cli_ctx) + if namespace.resource_group_name is None: + _set_value(db_type, namespace, 'resource_group_name', 'group', cache=False) + try: + resource_client.resource_groups.get(namespace.resource_group_name) + except: # Clear resource group name information when it is invalid + namespace.resource_group_name = None - # generate smart defaults + # populate from cache if existing when no location provided + if namespace.location is None: + _set_value(db_type, namespace, 'location', 'location', cache=False) + # generate smart defaults when namespace.location is None if _get_value(db_type, namespace, 'location', 'location') is None: try: get_default_location_from_resource_group(cmd, namespace) except (CLIError, ValidationError): - namespace.location = 'westus2' - _set_value(db_type, namespace, 'location', 'location', namespace.location) + namespace.location = 'eastus' + _set_value(db_type, namespace, 'location', 'location', default=namespace.location) + + # When resource group name in namespace is different from what in cache, reset it and create new server name + if namespace.resource_group_name != get_config_value(db_type, 'group', None): + set_config_value(db_type, 'group', namespace.resource_group_name) + if namespace.server_name is None: + namespace.server_name = create_random_resource_name('server') + set_config_value(db_type, 'server', namespace.server_name) + # When no resource group name in namespace and cache, create new resource group with random name create_resource_group = True - resource_client = resource_client_factory(cmd.cli_ctx) - if namespace.resource_group_name is None: + if namespace.resource_group_name is None: # No resource group provided and in cache namespace.resource_group_name = create_random_resource_name('group') else: try: resource_client.resource_groups.get(namespace.resource_group_name) create_resource_group = False - except CloudError: + except CloudError: # throw exception when resource group name is invalid pass if create_resource_group: @@ -59,14 +75,14 @@ def _process_db_up_namespace(cmd, namespace, db_type=None): params = ResourceGroup(location=namespace.location) logger.warning('Creating Resource Group \'%s\'...', namespace.resource_group_name) resource_client.resource_groups.create_or_update(namespace.resource_group_name, params) - _set_value(db_type, namespace, 'resource_group_name', 'group', namespace.resource_group_name) + _set_value(db_type, namespace, 'resource_group_name', 'group', default=namespace.resource_group_name) - _set_value(db_type, namespace, 'server_name', 'server', create_random_resource_name('server')) - _set_value(db_type, namespace, 'administrator_login', 'login', generate_username()) + _set_value(db_type, namespace, 'server_name', 'server', default=create_random_resource_name('server')) + _set_value(db_type, namespace, 'administrator_login', 'login', default=generate_username()) if namespace.generate_password: namespace.administrator_login_password = str(uuid.uuid4()) del namespace.generate_password - _set_value(db_type, namespace, 'database_name', 'database', DEFAULT_DATABASE_NAME) + _set_value(db_type, namespace, 'database_name', 'database', default=DEFAULT_DATABASE_NAME) def _process_db_down_namespace(namespace, db_type=None): @@ -82,7 +98,10 @@ def _process_db_down_namespace(namespace, db_type=None): def _set_value(db_type, namespace, attribute, option, default=None, cache=True): if getattr(namespace, attribute) is None: try: - setattr(namespace, attribute, get_config_value(db_type, option)) + if get_config_value(db_type, option): + setattr(namespace, attribute, get_config_value(db_type, option)) + else: + setattr(namespace, attribute, default) except (configparser.NoSectionError, configparser.NoOptionError): if default is not None: setattr(namespace, attribute, default) diff --git a/src/db-up/azext_db_up/tests/latest/recordings/test_mysql_flow.yaml b/src/db-up/azext_db_up/tests/latest/recordings/test_mysql_flow.yaml index 1be044c9213..65afde5a9c8 100644 --- a/src/db-up/azext_db_up/tests/latest/recordings/test_mysql_flow.yaml +++ b/src/db-up/azext_db_up/tests/latest/recordings/test_mysql_flow.yaml @@ -13,12 +13,12 @@ interactions: ParameterSetName: - -g -s User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 resourcemanagementclient/2.1.0 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/group000001?api-version=2018-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/group000001?api-version=2019-07-01 response: body: string: '{"error":{"code":"ResourceGroupNotFound","message":"Resource group @@ -31,7 +31,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 22 Mar 2019 17:54:03 GMT + - Mon, 25 May 2020 08:00:12 GMT expires: - '-1' pragma: @@ -46,53 +46,7 @@ interactions: code: 404 message: Not Found - request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - mysql up - Connection: - - keep-alive - ParameterSetName: - - -g -s - User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 resourcemanagementclient/2.1.0 - Azure-SDK-For-Python AZURECLI/2.0.60 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/group000001?api-version=2018-05-01 - response: - body: - string: '{"error":{"code":"ResourceGroupNotFound","message":"Resource group - ''group000001'' could not be found."}}' - headers: - cache-control: - - no-cache - content-length: - - '116' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 22 Mar 2019 17:54:04 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-failure-cause: - - gateway - status: - code: 404 - message: Not Found -- request: - body: '{"location": "westus2"}' + body: '{"location": "eastus"}' headers: Accept: - application/json @@ -103,30 +57,30 @@ interactions: Connection: - keep-alive Content-Length: - - '23' + - '22' Content-Type: - application/json; charset=utf-8 ParameterSetName: - -g -s User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 resourcemanagementclient/2.1.0 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/group000001?api-version=2018-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/group000001?api-version=2019-07-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001","name":"group000001","location":"westus2","properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001","name":"group000001","type":"Microsoft.Resources/resourceGroups","location":"eastus","tags":{"StorageType":"Standard_LRS","type":"test"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '202' + - '297' content-type: - application/json; charset=utf-8 date: - - Fri, 22 Mar 2019 17:54:05 GMT + - Mon, 25 May 2020 08:00:15 GMT expires: - '-1' pragma: @@ -154,8 +108,8 @@ interactions: ParameterSetName: - -g -s User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 azure-mgmt-rdbms/2017-12-01 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.6.0 accept-language: - en-US method: GET @@ -172,7 +126,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 22 Mar 2019 17:54:05 GMT + - Mon, 25 May 2020 08:00:16 GMT expires: - '-1' pragma: @@ -188,9 +142,9 @@ interactions: message: Not Found - request: body: '{"sku": {"name": "GP_Gen5_2"}, "properties": {"version": "5.7", "sslEnforcement": - "Disabled", "storageProfile": {"geoRedundantBackup": "Disabled"}, "createMode": - "Default", "administratorLogin": "merryGoshawk5", "administratorLoginPassword": - "5158aab6-d065-4770-afd8-8c1021781d9c"}, "location": "westus2"}' + "Enabled", "storageProfile": {"geoRedundantBackup": "Disabled"}, "createMode": + "Default", "administratorLogin": "unlinedPaella4", "administratorLoginPassword": + "78e1da36-790f-4572-bc44-0dbcef1c20f1"}, "location": "eastus"}' headers: Accept: - application/json @@ -201,36 +155,36 @@ interactions: Connection: - keep-alive Content-Length: - - '305' + - '304' Content-Type: - application/json; charset=utf-8 ParameterSetName: - -g -s User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 azure-mgmt-rdbms/2017-12-01 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.6.0 accept-language: - en-US method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.DBforMySQL/servers/server000002?api-version=2017-12-01 response: body: - string: '{"operation":"UpsertElasticServer","startTime":"2019-03-22T17:54:06.577Z"}' + string: '{"operation":"UpsertElasticServer","startTime":"2020-05-25T08:00:23.65Z"}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/westus2/azureAsyncOperation/f518b888-cf3c-45bc-8d3b-e5e059c7a4c4?api-version=2017-12-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/76cca652-be0c-4ecd-844b-92e5038a848b?api-version=2017-12-01 cache-control: - no-cache content-length: - - '74' + - '73' content-type: - application/json; charset=utf-8 date: - - Fri, 22 Mar 2019 17:54:05 GMT + - Mon, 25 May 2020 08:00:24 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/westus2/operationResults/f518b888-cf3c-45bc-8d3b-e5e059c7a4c4?api-version=2017-12-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/operationResults/76cca652-be0c-4ecd-844b-92e5038a848b?api-version=2017-12-01 pragma: - no-cache server: @@ -240,7 +194,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1197' status: code: 202 message: Accepted @@ -258,22 +212,22 @@ interactions: ParameterSetName: - -g -s User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 azure-mgmt-rdbms/2017-12-01 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.6.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/westus2/azureAsyncOperation/f518b888-cf3c-45bc-8d3b-e5e059c7a4c4?api-version=2017-12-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/76cca652-be0c-4ecd-844b-92e5038a848b?api-version=2017-12-01 response: body: - string: '{"name":"f518b888-cf3c-45bc-8d3b-e5e059c7a4c4","status":"InProgress","startTime":"2019-03-22T17:54:06.577Z"}' + string: '{"name":"76cca652-be0c-4ecd-844b-92e5038a848b","status":"InProgress","startTime":"2020-05-25T08:00:23.65Z"}' headers: cache-control: - no-cache content-length: - - '108' + - '107' content-type: - application/json; charset=utf-8 date: - - Fri, 22 Mar 2019 17:55:06 GMT + - Mon, 25 May 2020 08:01:25 GMT expires: - '-1' pragma: @@ -305,22 +259,22 @@ interactions: ParameterSetName: - -g -s User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 azure-mgmt-rdbms/2017-12-01 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.6.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/westus2/azureAsyncOperation/f518b888-cf3c-45bc-8d3b-e5e059c7a4c4?api-version=2017-12-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/76cca652-be0c-4ecd-844b-92e5038a848b?api-version=2017-12-01 response: body: - string: '{"name":"f518b888-cf3c-45bc-8d3b-e5e059c7a4c4","status":"InProgress","startTime":"2019-03-22T17:54:06.577Z"}' + string: '{"name":"76cca652-be0c-4ecd-844b-92e5038a848b","status":"Succeeded","startTime":"2020-05-25T08:00:23.65Z"}' headers: cache-control: - no-cache content-length: - - '108' + - '106' content-type: - application/json; charset=utf-8 date: - - Fri, 22 Mar 2019 17:56:07 GMT + - Mon, 25 May 2020 08:02:26 GMT expires: - '-1' pragma: @@ -352,22 +306,22 @@ interactions: ParameterSetName: - -g -s User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 azure-mgmt-rdbms/2017-12-01 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.6.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/westus2/azureAsyncOperation/f518b888-cf3c-45bc-8d3b-e5e059c7a4c4?api-version=2017-12-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.DBforMySQL/servers/server000002?api-version=2017-12-01 response: body: - string: '{"name":"f518b888-cf3c-45bc-8d3b-e5e059c7a4c4","status":"InProgress","startTime":"2019-03-22T17:54:06.577Z"}' + string: '{"sku":{"name":"GP_Gen5_2","tier":"GeneralPurpose","family":"Gen5","capacity":2},"properties":{"administratorLogin":"unlinedPaella4","storageProfile":{"storageMB":5120,"backupRetentionDays":7,"geoRedundantBackup":"Disabled","storageAutogrow":"Disabled"},"version":"5.7","sslEnforcement":"Enabled","minimalTlsVersion":"TLSEnforcementDisabled","userVisibleState":"Ready","fullyQualifiedDomainName":"server000002.mysql.database.azure.com","earliestRestoreDate":"2020-05-25T08:10:23.993+00:00","replicationRole":"None","masterServerId":"","replicaCapacity":5,"byokEnforcement":"Disabled","privateEndpointConnections":[],"infrastructureEncryption":"Disabled","publicNetworkAccess":"Enabled"},"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.DBforMySQL/servers/server000002","name":"server000002","type":"Microsoft.DBforMySQL/servers"}' headers: cache-control: - no-cache content-length: - - '108' + - '954' content-type: - application/json; charset=utf-8 date: - - Fri, 22 Mar 2019 17:57:07 GMT + - Mon, 25 May 2020 08:02:27 GMT expires: - '-1' pragma: @@ -386,7 +340,7 @@ interactions: code: 200 message: OK - request: - body: null + body: '{"properties": {"value": "28800"}}' headers: Accept: - application/json @@ -396,42 +350,50 @@ interactions: - mysql up Connection: - keep-alive + Content-Length: + - '34' + Content-Type: + - application/json; charset=utf-8 ParameterSetName: - -g -s User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 azure-mgmt-rdbms/2017-12-01 - Azure-SDK-For-Python AZURECLI/2.0.60 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/westus2/azureAsyncOperation/f518b888-cf3c-45bc-8d3b-e5e059c7a4c4?api-version=2017-12-01 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.DBforMySQL/servers/server000002/configurations/wait_timeout?api-version=2017-12-01 response: body: - string: '{"name":"f518b888-cf3c-45bc-8d3b-e5e059c7a4c4","status":"InProgress","startTime":"2019-03-22T17:54:06.577Z"}' + string: '{"operation":"UpdateElasticServerConfig","startTime":"2020-05-25T08:02:30.12Z"}' headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/250fb59d-693c-4604-9899-0d995fdb2090?api-version=2017-12-01 cache-control: - no-cache content-length: - - '108' + - '79' content-type: - application/json; charset=utf-8 date: - - Fri, 22 Mar 2019 17:58:07 GMT + - Mon, 25 May 2020 08:02:29 GMT expires: - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/operationResults/250fb59d-693c-4604-9899-0d995fdb2090?api-version=2017-12-01 pragma: - no-cache server: - Microsoft-HTTPAPI/2.0 strict-transport-security: - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding x-content-type-options: - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1196' status: - code: 200 - message: OK + code: 202 + message: Accepted - request: body: null headers: @@ -446,22 +408,22 @@ interactions: ParameterSetName: - -g -s User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 azure-mgmt-rdbms/2017-12-01 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.6.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/westus2/azureAsyncOperation/f518b888-cf3c-45bc-8d3b-e5e059c7a4c4?api-version=2017-12-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/250fb59d-693c-4604-9899-0d995fdb2090?api-version=2017-12-01 response: body: - string: '{"name":"f518b888-cf3c-45bc-8d3b-e5e059c7a4c4","status":"InProgress","startTime":"2019-03-22T17:54:06.577Z"}' + string: '{"name":"250fb59d-693c-4604-9899-0d995fdb2090","status":"Succeeded","startTime":"2020-05-25T08:02:30.12Z"}' headers: cache-control: - no-cache content-length: - - '108' + - '106' content-type: - application/json; charset=utf-8 date: - - Fri, 22 Mar 2019 17:59:07 GMT + - Mon, 25 May 2020 08:02:46 GMT expires: - '-1' pragma: @@ -493,22 +455,24 @@ interactions: ParameterSetName: - -g -s User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 azure-mgmt-rdbms/2017-12-01 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.6.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/westus2/azureAsyncOperation/f518b888-cf3c-45bc-8d3b-e5e059c7a4c4?api-version=2017-12-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.DBforMySQL/servers/server000002/configurations/wait_timeout?api-version=2017-12-01 response: body: - string: '{"name":"f518b888-cf3c-45bc-8d3b-e5e059c7a4c4","status":"Succeeded","startTime":"2019-03-22T17:54:06.577Z"}' + string: '{"properties":{"value":"28800","description":"The number of seconds + the server waits for activity on a noninteractive connection before closing + it.","defaultValue":"120","dataType":"Integer","allowedValues":"1-2147483","source":"user-override","isConfigPendingRestart":"False","isDynamicConfig":"True"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.DBforMySQL/servers/server000002/configurations/wait_timeout","name":"wait_timeout","type":"Microsoft.DBforMySQL/servers/configurations"}' headers: cache-control: - no-cache content-length: - - '107' + - '569' content-type: - application/json; charset=utf-8 date: - - Fri, 22 Mar 2019 18:00:08 GMT + - Mon, 25 May 2020 08:02:47 GMT expires: - '-1' pragma: @@ -527,7 +491,7 @@ interactions: code: 200 message: OK - request: - body: null + body: '{"properties": {"startIpAddress": "0.0.0.0", "endIpAddress": "0.0.0.0"}}' headers: Accept: - application/json @@ -537,44 +501,52 @@ interactions: - mysql up Connection: - keep-alive + Content-Length: + - '72' + Content-Type: + - application/json; charset=utf-8 ParameterSetName: - -g -s User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 azure-mgmt-rdbms/2017-12-01 - Azure-SDK-For-Python AZURECLI/2.0.60 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.DBforMySQL/servers/server000002?api-version=2017-12-01 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.DBforMySQL/servers/server000002/firewallRules/azure-access?api-version=2017-12-01 response: body: - string: '{"sku":{"name":"GP_Gen5_2","tier":"GeneralPurpose","family":"Gen5","capacity":2},"properties":{"administratorLogin":"merryGoshawk5","storageProfile":{"storageMB":5120,"backupRetentionDays":7,"geoRedundantBackup":"Disabled","storageAutoGrow":"Disabled"},"version":"5.7","sslEnforcement":"Disabled","userVisibleState":"Ready","fullyQualifiedDomainName":"server000002.mysql.database.azure.com","earliestRestoreDate":"2019-03-22T18:04:08.23+00:00","replicationRole":"None","masterServerId":"","replicaCapacity":5},"location":"westus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.DBforMySQL/servers/server000002","name":"server000002","type":"Microsoft.DBforMySQL/servers"}' + string: '{"operation":"UpsertElasticServerFirewallRules","startTime":"2020-05-25T08:02:49.557Z"}' headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/d64feb0c-2381-42be-ad4b-b0b23dfd5c26?api-version=2017-12-01 cache-control: - no-cache content-length: - - '778' + - '87' content-type: - application/json; charset=utf-8 date: - - Fri, 22 Mar 2019 18:00:08 GMT + - Mon, 25 May 2020 08:02:49 GMT expires: - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/operationResults/d64feb0c-2381-42be-ad4b-b0b23dfd5c26?api-version=2017-12-01 pragma: - no-cache server: - Microsoft-HTTPAPI/2.0 strict-transport-security: - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding x-content-type-options: - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' status: - code: 200 - message: OK + code: 202 + message: Accepted - request: - body: '{"properties": {"value": "28800"}}' + body: null headers: Accept: - application/json @@ -584,50 +556,42 @@ interactions: - mysql up Connection: - keep-alive - Content-Length: - - '34' - Content-Type: - - application/json; charset=utf-8 ParameterSetName: - -g -s User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 azure-mgmt-rdbms/2017-12-01 - Azure-SDK-For-Python AZURECLI/2.0.60 - accept-language: - - en-US - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.DBforMySQL/servers/server000002/configurations/wait_timeout?api-version=2017-12-01 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/d64feb0c-2381-42be-ad4b-b0b23dfd5c26?api-version=2017-12-01 response: body: - string: '{"operation":"UpdateElasticServerConfig","startTime":"2019-03-22T18:00:10.447Z"}' + string: '{"name":"d64feb0c-2381-42be-ad4b-b0b23dfd5c26","status":"Succeeded","startTime":"2020-05-25T08:02:49.557Z"}' headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/westus2/azureAsyncOperation/a2c5357c-0b26-4439-8c3d-33058cc14555?api-version=2017-12-01 cache-control: - no-cache content-length: - - '80' + - '107' content-type: - application/json; charset=utf-8 date: - - Fri, 22 Mar 2019 18:00:10 GMT + - Mon, 25 May 2020 08:03:06 GMT expires: - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/westus2/operationResults/a2c5357c-0b26-4439-8c3d-33058cc14555?api-version=2017-12-01 pragma: - no-cache server: - Microsoft-HTTPAPI/2.0 strict-transport-security: - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding x-content-type-options: - nosniff - x-ms-ratelimit-remaining-subscription-writes: - - '1199' status: - code: 202 - message: Accepted + code: 200 + message: OK - request: body: null headers: @@ -642,22 +606,22 @@ interactions: ParameterSetName: - -g -s User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 azure-mgmt-rdbms/2017-12-01 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.6.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/westus2/azureAsyncOperation/a2c5357c-0b26-4439-8c3d-33058cc14555?api-version=2017-12-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.DBforMySQL/servers/server000002/firewallRules/azure-access?api-version=2017-12-01 response: body: - string: '{"name":"a2c5357c-0b26-4439-8c3d-33058cc14555","status":"Succeeded","startTime":"2019-03-22T18:00:10.447Z"}' + string: '{"properties":{"startIpAddress":"0.0.0.0","endIpAddress":"0.0.0.0"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.DBforMySQL/servers/server000002/firewallRules/azure-access","name":"azure-access","type":"Microsoft.DBforMySQL/servers/firewallRules"}' headers: cache-control: - no-cache content-length: - - '107' + - '332' content-type: - application/json; charset=utf-8 date: - - Fri, 22 Mar 2019 18:00:25 GMT + - Mon, 25 May 2020 08:03:07 GMT expires: - '-1' pragma: @@ -689,24 +653,26 @@ interactions: ParameterSetName: - -g -s User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 azure-mgmt-rdbms/2017-12-01 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.DBforMySQL/servers/server000002/configurations/wait_timeout?api-version=2017-12-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.DBforMySQL/servers/server000002/databases/sampledb?api-version=2017-12-01 response: body: - string: '{"properties":{"value":"28800","description":"The number of seconds - the server waits for activity on a noninteractive connection before closing - it.","defaultValue":"120","dataType":"Integer","allowedValues":"1-2147483","source":"user-override","isConfigPendingRestart":"False","isDynamicConfig":"True"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.DBforMySQL/servers/server000002/configurations/wait_timeout","name":"wait_timeout","type":"Microsoft.DBforMySQL/servers/configurations"}' + string: '{"error":{"code":"ResourceNotFound","message":"The requested resource + of type ''Microsoft.DBforMySQL/servers/databases'' with name ''sampledb'' + was not found."}}' headers: cache-control: - no-cache content-length: - - '569' + - '157' content-type: - application/json; charset=utf-8 date: - - Fri, 22 Mar 2019 18:00:25 GMT + - Mon, 25 May 2020 08:03:09 GMT expires: - '-1' pragma: @@ -715,17 +681,13 @@ interactions: - Microsoft-HTTPAPI/2.0 strict-transport-security: - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding x-content-type-options: - nosniff status: - code: 200 - message: OK + code: 404 + message: Not Found - request: - body: '{"properties": {"startIpAddress": "0.0.0.0", "endIpAddress": "0.0.0.0"}}' + body: '{}' headers: Accept: - application/json @@ -736,36 +698,36 @@ interactions: Connection: - keep-alive Content-Length: - - '72' + - '2' Content-Type: - application/json; charset=utf-8 ParameterSetName: - -g -s User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 azure-mgmt-rdbms/2017-12-01 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.6.0 accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.DBforMySQL/servers/server000002/firewallRules/azure-access?api-version=2017-12-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.DBforMySQL/servers/server000002/databases/sampledb?api-version=2017-12-01 response: body: - string: '{"operation":"UpsertElasticServerFirewallRules","startTime":"2019-03-22T18:00:27Z"}' + string: '{"operation":"UpsertElasticServerDatabase","startTime":"2020-05-25T08:03:10.667Z"}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/westus2/azureAsyncOperation/f5095653-2064-40f0-82f1-926a9e75b389?api-version=2017-12-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/150b5569-5283-4410-9e04-3c374909b741?api-version=2017-12-01 cache-control: - no-cache content-length: - - '83' + - '82' content-type: - application/json; charset=utf-8 date: - - Fri, 22 Mar 2019 18:00:27 GMT + - Mon, 25 May 2020 08:03:10 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/westus2/operationResults/f5095653-2064-40f0-82f1-926a9e75b389?api-version=2017-12-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/operationResults/150b5569-5283-4410-9e04-3c374909b741?api-version=2017-12-01 pragma: - no-cache server: @@ -775,7 +737,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1198' status: code: 202 message: Accepted @@ -793,22 +755,22 @@ interactions: ParameterSetName: - -g -s User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 azure-mgmt-rdbms/2017-12-01 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.6.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/westus2/azureAsyncOperation/f5095653-2064-40f0-82f1-926a9e75b389?api-version=2017-12-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/150b5569-5283-4410-9e04-3c374909b741?api-version=2017-12-01 response: body: - string: '{"name":"f5095653-2064-40f0-82f1-926a9e75b389","status":"Succeeded","startTime":"2019-03-22T18:00:27Z"}' + string: '{"name":"150b5569-5283-4410-9e04-3c374909b741","status":"Succeeded","startTime":"2020-05-25T08:03:10.667Z"}' headers: cache-control: - no-cache content-length: - - '103' + - '107' content-type: - application/json; charset=utf-8 date: - - Fri, 22 Mar 2019 18:00:42 GMT + - Mon, 25 May 2020 08:03:25 GMT expires: - '-1' pragma: @@ -840,22 +802,22 @@ interactions: ParameterSetName: - -g -s User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 azure-mgmt-rdbms/2017-12-01 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.6.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.DBforMySQL/servers/server000002/firewallRules/azure-access?api-version=2017-12-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.DBforMySQL/servers/server000002/databases/sampledb?api-version=2017-12-01 response: body: - string: '{"properties":{"startIpAddress":"0.0.0.0","endIpAddress":"0.0.0.0"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.DBforMySQL/servers/server000002/firewallRules/azure-access","name":"azure-access","type":"Microsoft.DBforMySQL/servers/firewallRules"}' + string: '{"properties":{"charset":"latin1","collation":"latin1_swedish_ci"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.DBforMySQL/servers/server000002/databases/sampledb","name":"sampledb","type":"Microsoft.DBforMySQL/servers/databases"}' headers: cache-control: - no-cache content-length: - - '332' + - '315' content-type: - application/json; charset=utf-8 date: - - Fri, 22 Mar 2019 18:00:42 GMT + - Mon, 25 May 2020 08:03:27 GMT expires: - '-1' pragma: @@ -884,44 +846,40 @@ interactions: - mysql up Connection: - keep-alive - ParameterSetName: - - -g -s User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 azure-mgmt-rdbms/2017-12-01 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.DBforMySQL/servers/server000002/databases/sampledb?api-version=2017-12-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/group000001?api-version=2019-07-01 response: body: - string: '{"error":{"code":"ResourceNotFound","message":"The requested resource - of type ''Microsoft.DBforMySQL/servers/databases'' with name ''sampledb'' - was not found."}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001","name":"group000001","type":"Microsoft.Resources/resourceGroups","location":"eastus","tags":{"StorageType":"Standard_LRS","type":"test"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '157' + - '297' content-type: - application/json; charset=utf-8 date: - - Fri, 22 Mar 2019 18:00:43 GMT + - Mon, 25 May 2020 08:03:28 GMT expires: - '-1' pragma: - no-cache - server: - - Microsoft-HTTPAPI/2.0 strict-transport-security: - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding x-content-type-options: - nosniff status: - code: 404 - message: Not Found + code: 200 + message: OK - request: - body: '{}' + body: null headers: Accept: - application/json @@ -931,50 +889,38 @@ interactions: - mysql up Connection: - keep-alive - Content-Length: - - '2' - Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - -g -s User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 azure-mgmt-rdbms/2017-12-01 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 accept-language: - en-US - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.DBforMySQL/servers/server000002/databases/sampledb?api-version=2017-12-01 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/group000001?api-version=2019-07-01 response: body: - string: '{"operation":"UpsertElasticServerDatabase","startTime":"2019-03-22T18:00:44.39Z"}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001","name":"group000001","type":"Microsoft.Resources/resourceGroups","location":"eastus","tags":{"StorageType":"Standard_LRS","type":"test"},"properties":{"provisioningState":"Succeeded"}}' headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/westus2/azureAsyncOperation/3def531b-2422-454e-ab65-0af3b15864ed?api-version=2017-12-01 cache-control: - no-cache content-length: - - '81' + - '297' content-type: - application/json; charset=utf-8 date: - - Fri, 22 Mar 2019 18:00:44 GMT + - Mon, 25 May 2020 08:03:28 GMT expires: - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/westus2/operationResults/3def531b-2422-454e-ab65-0af3b15864ed?api-version=2017-12-01 pragma: - no-cache - server: - - Microsoft-HTTPAPI/2.0 strict-transport-security: - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding x-content-type-options: - nosniff - x-ms-ratelimit-remaining-subscription-writes: - - '1199' status: - code: 202 - message: Accepted + code: 200 + message: OK - request: body: null headers: @@ -986,25 +932,25 @@ interactions: - mysql up Connection: - keep-alive - ParameterSetName: - - -g -s User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 azure-mgmt-rdbms/2017-12-01 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/westus2/azureAsyncOperation/3def531b-2422-454e-ab65-0af3b15864ed?api-version=2017-12-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.DBforMySQL/servers/server000002?api-version=2017-12-01 response: body: - string: '{"name":"3def531b-2422-454e-ab65-0af3b15864ed","status":"Succeeded","startTime":"2019-03-22T18:00:44.39Z"}' + string: '{"sku":{"name":"GP_Gen5_2","tier":"GeneralPurpose","family":"Gen5","capacity":2},"properties":{"administratorLogin":"unlinedPaella4","storageProfile":{"storageMB":5120,"backupRetentionDays":7,"geoRedundantBackup":"Disabled","storageAutogrow":"Disabled"},"version":"5.7","sslEnforcement":"Enabled","minimalTlsVersion":"TLSEnforcementDisabled","userVisibleState":"Ready","fullyQualifiedDomainName":"server000002.mysql.database.azure.com","earliestRestoreDate":"2020-05-25T08:10:23.993+00:00","replicationRole":"None","masterServerId":"","replicaCapacity":5,"byokEnforcement":"Disabled","privateEndpointConnections":[],"infrastructureEncryption":"Disabled","publicNetworkAccess":"Enabled"},"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.DBforMySQL/servers/server000002","name":"server000002","type":"Microsoft.DBforMySQL/servers"}' headers: cache-control: - no-cache content-length: - - '106' + - '954' content-type: - application/json; charset=utf-8 date: - - Fri, 22 Mar 2019 18:00:58 GMT + - Mon, 25 May 2020 08:03:29 GMT expires: - '-1' pragma: @@ -1033,11 +979,11 @@ interactions: - mysql up Connection: - keep-alive - ParameterSetName: - - -g -s User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 azure-mgmt-rdbms/2017-12-01 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.DBforMySQL/servers/server000002/databases/sampledb?api-version=2017-12-01 response: @@ -1051,7 +997,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 22 Mar 2019 18:00:59 GMT + - Mon, 25 May 2020 08:03:29 GMT expires: - '-1' pragma: @@ -1080,25 +1026,27 @@ interactions: - mysql up Connection: - keep-alive + ParameterSetName: + - -p User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 resourcemanagementclient/2.1.0 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/group000001?api-version=2018-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/group000001?api-version=2019-07-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001","name":"group000001","location":"westus2","properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001","name":"group000001","type":"Microsoft.Resources/resourceGroups","location":"eastus","tags":{"StorageType":"Standard_LRS","type":"test"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '202' + - '297' content-type: - application/json; charset=utf-8 date: - - Fri, 22 Mar 2019 18:01:00 GMT + - Mon, 25 May 2020 08:03:30 GMT expires: - '-1' pragma: @@ -1123,35 +1071,33 @@ interactions: - mysql up Connection: - keep-alive + ParameterSetName: + - -p User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 azure-mgmt-rdbms/2017-12-01 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.DBforMySQL/servers/server000002?api-version=2017-12-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/group000001?api-version=2019-07-01 response: body: - string: '{"sku":{"name":"GP_Gen5_2","tier":"GeneralPurpose","family":"Gen5","capacity":2},"properties":{"administratorLogin":"merryGoshawk5","storageProfile":{"storageMB":5120,"backupRetentionDays":7,"geoRedundantBackup":"Disabled","storageAutoGrow":"Disabled"},"version":"5.7","sslEnforcement":"Disabled","userVisibleState":"Ready","fullyQualifiedDomainName":"server000002.mysql.database.azure.com","earliestRestoreDate":"2019-03-22T18:04:08.23+00:00","replicationRole":"None","masterServerId":"","replicaCapacity":5},"location":"westus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.DBforMySQL/servers/server000002","name":"server000002","type":"Microsoft.DBforMySQL/servers"}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001","name":"group000001","type":"Microsoft.Resources/resourceGroups","location":"eastus","tags":{"StorageType":"Standard_LRS","type":"test"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '778' + - '297' content-type: - application/json; charset=utf-8 date: - - Fri, 22 Mar 2019 18:01:01 GMT + - Mon, 25 May 2020 08:03:30 GMT expires: - '-1' pragma: - no-cache - server: - - Microsoft-HTTPAPI/2.0 strict-transport-security: - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked vary: - Accept-Encoding x-content-type-options: @@ -1170,25 +1116,27 @@ interactions: - mysql up Connection: - keep-alive + ParameterSetName: + - -p User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 azure-mgmt-rdbms/2017-12-01 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.6.0 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.DBforMySQL/servers/server000002/databases/sampledb?api-version=2017-12-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.DBforMySQL/servers/server000002?api-version=2017-12-01 response: body: - string: '{"properties":{"charset":"latin1","collation":"latin1_swedish_ci"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.DBforMySQL/servers/server000002/databases/sampledb","name":"sampledb","type":"Microsoft.DBforMySQL/servers/databases"}' + string: '{"sku":{"name":"GP_Gen5_2","tier":"GeneralPurpose","family":"Gen5","capacity":2},"properties":{"administratorLogin":"unlinedPaella4","storageProfile":{"storageMB":5120,"backupRetentionDays":7,"geoRedundantBackup":"Disabled","storageAutogrow":"Disabled"},"version":"5.7","sslEnforcement":"Enabled","minimalTlsVersion":"TLSEnforcementDisabled","userVisibleState":"Ready","fullyQualifiedDomainName":"server000002.mysql.database.azure.com","earliestRestoreDate":"2020-05-25T08:10:23.993+00:00","replicationRole":"None","masterServerId":"","replicaCapacity":5,"byokEnforcement":"Disabled","privateEndpointConnections":[],"infrastructureEncryption":"Disabled","publicNetworkAccess":"Enabled"},"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.DBforMySQL/servers/server000002","name":"server000002","type":"Microsoft.DBforMySQL/servers"}' headers: cache-control: - no-cache content-length: - - '315' + - '954' content-type: - application/json; charset=utf-8 date: - - Fri, 22 Mar 2019 18:01:01 GMT + - Mon, 25 May 2020 08:03:31 GMT expires: - '-1' pragma: @@ -1207,7 +1155,7 @@ interactions: code: 200 message: OK - request: - body: null + body: '{"properties": {"administratorLoginPassword": "78e1da36-790f-4572-bc44-0dbcef1c20f1"}}' headers: Accept: - application/json @@ -1217,40 +1165,50 @@ interactions: - mysql up Connection: - keep-alive + Content-Length: + - '86' + Content-Type: + - application/json; charset=utf-8 ParameterSetName: - -p User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 resourcemanagementclient/2.1.0 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.6.0 accept-language: - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/group000001?api-version=2018-05-01 + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.DBforMySQL/servers/server000002?api-version=2017-12-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001","name":"group000001","location":"westus2","properties":{"provisioningState":"Succeeded"}}' + string: '{"operation":"UpsertElasticServer","startTime":"2020-05-25T08:03:32.53Z"}' headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/07817c12-1d9f-477a-bdc2-6c6a8acac4ed?api-version=2017-12-01 cache-control: - no-cache content-length: - - '202' + - '73' content-type: - application/json; charset=utf-8 date: - - Fri, 22 Mar 2019 18:01:02 GMT + - Mon, 25 May 2020 08:03:33 GMT expires: - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/operationResults/07817c12-1d9f-477a-bdc2-6c6a8acac4ed?api-version=2017-12-01 pragma: - no-cache + server: + - Microsoft-HTTPAPI/2.0 strict-transport-security: - max-age=31536000; includeSubDomains - vary: - - Accept-Encoding x-content-type-options: - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1197' status: - code: 200 - message: OK + code: 202 + message: Accepted - request: body: null headers: @@ -1265,24 +1223,22 @@ interactions: ParameterSetName: - -p User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 azure-mgmt-rdbms/2017-12-01 - Azure-SDK-For-Python AZURECLI/2.0.60 - accept-language: - - en-US + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.6.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.DBforMySQL/servers/server000002?api-version=2017-12-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/07817c12-1d9f-477a-bdc2-6c6a8acac4ed?api-version=2017-12-01 response: body: - string: '{"sku":{"name":"GP_Gen5_2","tier":"GeneralPurpose","family":"Gen5","capacity":2},"properties":{"administratorLogin":"merryGoshawk5","storageProfile":{"storageMB":5120,"backupRetentionDays":7,"geoRedundantBackup":"Disabled","storageAutoGrow":"Disabled"},"version":"5.7","sslEnforcement":"Disabled","userVisibleState":"Ready","fullyQualifiedDomainName":"server000002.mysql.database.azure.com","earliestRestoreDate":"2019-03-22T18:04:08.23+00:00","replicationRole":"None","masterServerId":"","replicaCapacity":5},"location":"westus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.DBforMySQL/servers/server000002","name":"server000002","type":"Microsoft.DBforMySQL/servers"}' + string: '{"name":"07817c12-1d9f-477a-bdc2-6c6a8acac4ed","status":"Succeeded","startTime":"2020-05-25T08:03:32.53Z"}' headers: cache-control: - no-cache content-length: - - '778' + - '106' content-type: - application/json; charset=utf-8 date: - - Fri, 22 Mar 2019 18:01:02 GMT + - Mon, 25 May 2020 08:04:34 GMT expires: - '-1' pragma: @@ -1301,7 +1257,7 @@ interactions: code: 200 message: OK - request: - body: '{"properties": {"administratorLoginPassword": "5158aab6-d065-4770-afd8-8c1021781d9c"}}' + body: null headers: Accept: - application/json @@ -1311,50 +1267,42 @@ interactions: - mysql up Connection: - keep-alive - Content-Length: - - '86' - Content-Type: - - application/json; charset=utf-8 ParameterSetName: - -p User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 azure-mgmt-rdbms/2017-12-01 - Azure-SDK-For-Python AZURECLI/2.0.60 - accept-language: - - en-US - method: PATCH + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.6.0 + method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.DBforMySQL/servers/server000002?api-version=2017-12-01 response: body: - string: '{"operation":"UpsertElasticServer","startTime":"2019-03-22T18:01:03.827Z"}' + string: '{"sku":{"name":"GP_Gen5_2","tier":"GeneralPurpose","family":"Gen5","capacity":2},"properties":{"administratorLogin":"unlinedPaella4","storageProfile":{"storageMB":5120,"backupRetentionDays":7,"geoRedundantBackup":"Disabled","storageAutogrow":"Disabled"},"version":"5.7","sslEnforcement":"Enabled","minimalTlsVersion":"TLSEnforcementDisabled","userVisibleState":"Ready","fullyQualifiedDomainName":"server000002.mysql.database.azure.com","earliestRestoreDate":"2020-05-25T08:10:23.993+00:00","replicationRole":"None","masterServerId":"","replicaCapacity":5,"byokEnforcement":"Disabled","privateEndpointConnections":[],"infrastructureEncryption":"Disabled","publicNetworkAccess":"Enabled"},"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.DBforMySQL/servers/server000002","name":"server000002","type":"Microsoft.DBforMySQL/servers"}' headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/westus2/azureAsyncOperation/92c1adfd-1618-49b5-9b2d-0b415f14b5b6?api-version=2017-12-01 cache-control: - no-cache content-length: - - '74' + - '954' content-type: - application/json; charset=utf-8 date: - - Fri, 22 Mar 2019 18:01:03 GMT + - Mon, 25 May 2020 08:04:36 GMT expires: - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/westus2/operationResults/92c1adfd-1618-49b5-9b2d-0b415f14b5b6?api-version=2017-12-01 pragma: - no-cache server: - Microsoft-HTTPAPI/2.0 strict-transport-security: - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding x-content-type-options: - nosniff - x-ms-ratelimit-remaining-subscription-writes: - - '1199' status: - code: 202 - message: Accepted + code: 200 + message: OK - request: body: null headers: @@ -1369,22 +1317,24 @@ interactions: ParameterSetName: - -p User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 azure-mgmt-rdbms/2017-12-01 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/westus2/azureAsyncOperation/92c1adfd-1618-49b5-9b2d-0b415f14b5b6?api-version=2017-12-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.DBforMySQL/servers/server000002/databases/sampledb?api-version=2017-12-01 response: body: - string: '{"name":"92c1adfd-1618-49b5-9b2d-0b415f14b5b6","status":"Succeeded","startTime":"2019-03-22T18:01:03.827Z"}' + string: '{"properties":{"charset":"latin1","collation":"latin1_swedish_ci"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.DBforMySQL/servers/server000002/databases/sampledb","name":"sampledb","type":"Microsoft.DBforMySQL/servers/databases"}' headers: cache-control: - no-cache content-length: - - '107' + - '315' content-type: - application/json; charset=utf-8 date: - - Fri, 22 Mar 2019 18:02:03 GMT + - Mon, 25 May 2020 08:04:37 GMT expires: - '-1' pragma: @@ -1410,28 +1360,30 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - mysql up + - mysql db show Connection: - keep-alive ParameterSetName: - - -p + - -n -g -s User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 azure-mgmt-rdbms/2017-12-01 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.DBforMySQL/servers/server000002?api-version=2017-12-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.DBforMySQL/servers/server000002/databases/sampledb?api-version=2017-12-01 response: body: - string: '{"sku":{"name":"GP_Gen5_2","tier":"GeneralPurpose","family":"Gen5","capacity":2},"properties":{"administratorLogin":"merryGoshawk5","storageProfile":{"storageMB":5120,"backupRetentionDays":7,"geoRedundantBackup":"Disabled","storageAutoGrow":"Disabled"},"version":"5.7","sslEnforcement":"Disabled","userVisibleState":"Ready","fullyQualifiedDomainName":"server000002.mysql.database.azure.com","earliestRestoreDate":"2019-03-22T18:04:08.23+00:00","replicationRole":"None","masterServerId":"","replicaCapacity":5},"location":"westus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.DBforMySQL/servers/server000002","name":"server000002","type":"Microsoft.DBforMySQL/servers"}' + string: '{"properties":{"charset":"latin1","collation":"latin1_swedish_ci"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.DBforMySQL/servers/server000002/databases/sampledb","name":"sampledb","type":"Microsoft.DBforMySQL/servers/databases"}' headers: cache-control: - no-cache content-length: - - '778' + - '315' content-type: - application/json; charset=utf-8 date: - - Fri, 22 Mar 2019 18:02:04 GMT + - Mon, 25 May 2020 08:04:38 GMT expires: - '-1' pragma: @@ -1457,47 +1409,86 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - mysql up + - mysql down Connection: - keep-alive + Content-Length: + - '0' ParameterSetName: - - -p + - -y --delete-group User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 azure-mgmt-rdbms/2017-12-01 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 accept-language: - en-US + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/group000001?api-version=2019-07-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Mon, 25 May 2020 08:04:44 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUEhaWVVIR0QzQjI3WUhSVlNDV1YtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2019-07-01 + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - mysql down + Connection: + - keep-alive + ParameterSetName: + - -y --delete-group + User-Agent: + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.DBforMySQL/servers/server000002/databases/sampledb?api-version=2017-12-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUEhaWVVIR0QzQjI3WUhSVlNDV1YtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2019-07-01 response: body: - string: '{"properties":{"charset":"latin1","collation":"latin1_swedish_ci"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.DBforMySQL/servers/server000002/databases/sampledb","name":"sampledb","type":"Microsoft.DBforMySQL/servers/databases"}' + string: '' headers: cache-control: - no-cache content-length: - - '315' - content-type: - - application/json; charset=utf-8 + - '0' date: - - Fri, 22 Mar 2019 18:02:05 GMT + - Mon, 25 May 2020 08:05:01 GMT expires: - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUEhaWVVIR0QzQjI3WUhSVlNDV1YtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2019-07-01 pragma: - no-cache - server: - - Microsoft-HTTPAPI/2.0 strict-transport-security: - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding x-content-type-options: - nosniff status: - code: 200 - message: OK + code: 202 + message: Accepted - request: body: null headers: @@ -1506,47 +1497,39 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - mysql db show + - mysql down Connection: - keep-alive ParameterSetName: - - -n -g -s + - -y --delete-group User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 azure-mgmt-rdbms/2017-12-01 - Azure-SDK-For-Python AZURECLI/2.0.60 - accept-language: - - en-US + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.DBforMySQL/servers/server000002/databases/sampledb?api-version=2017-12-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUEhaWVVIR0QzQjI3WUhSVlNDV1YtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2019-07-01 response: body: - string: '{"properties":{"charset":"latin1","collation":"latin1_swedish_ci"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.DBforMySQL/servers/server000002/databases/sampledb","name":"sampledb","type":"Microsoft.DBforMySQL/servers/databases"}' + string: '' headers: cache-control: - no-cache content-length: - - '315' - content-type: - - application/json; charset=utf-8 + - '0' date: - - Fri, 22 Mar 2019 18:02:05 GMT + - Mon, 25 May 2020 08:05:17 GMT expires: - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUEhaWVVIR0QzQjI3WUhSVlNDV1YtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2019-07-01 pragma: - no-cache - server: - - Microsoft-HTTPAPI/2.0 strict-transport-security: - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding x-content-type-options: - nosniff status: - code: 200 - message: OK + code: 202 + message: Accepted - request: body: null headers: @@ -1558,17 +1541,54 @@ interactions: - mysql down Connection: - keep-alive - Content-Length: + ParameterSetName: + - -y --delete-group + User-Agent: + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUEhaWVVIR0QzQjI3WUhSVlNDV1YtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2019-07-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: - '0' + date: + - Mon, 25 May 2020 08:05:32 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUEhaWVVIR0QzQjI3WUhSVlNDV1YtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2019-07-01 + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - mysql down + Connection: + - keep-alive ParameterSetName: - -y --delete-group User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 resourcemanagementclient/2.1.0 - Azure-SDK-For-Python AZURECLI/2.0.60 - accept-language: - - en-US - method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/group000001?api-version=2018-05-01 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUEhaWVVIR0QzQjI3WUhSVlNDV1YtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2019-07-01 response: body: string: '' @@ -1578,19 +1598,17 @@ interactions: content-length: - '0' date: - - Fri, 22 Mar 2019 18:02:06 GMT + - Mon, 25 May 2020 08:05:48 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUFJWV0NRTU5DVE9YQU5YNEtGT1ktV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2018-05-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUEhaWVVIR0QzQjI3WUhSVlNDV1YtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2019-07-01 pragma: - no-cache strict-transport-security: - max-age=31536000; includeSubDomains x-content-type-options: - nosniff - x-ms-ratelimit-remaining-subscription-deletes: - - '14999' status: code: 202 message: Accepted @@ -1608,10 +1626,10 @@ interactions: ParameterSetName: - -y --delete-group User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 resourcemanagementclient/2.1.0 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUFJWV0NRTU5DVE9YQU5YNEtGT1ktV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2018-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUEhaWVVIR0QzQjI3WUhSVlNDV1YtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2019-07-01 response: body: string: '' @@ -1621,11 +1639,11 @@ interactions: content-length: - '0' date: - - Fri, 22 Mar 2019 18:02:21 GMT + - Mon, 25 May 2020 08:06:04 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUFJWV0NRTU5DVE9YQU5YNEtGT1ktV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2018-05-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUEhaWVVIR0QzQjI3WUhSVlNDV1YtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2019-07-01 pragma: - no-cache strict-transport-security: @@ -1649,10 +1667,10 @@ interactions: ParameterSetName: - -y --delete-group User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 resourcemanagementclient/2.1.0 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUFJWV0NRTU5DVE9YQU5YNEtGT1ktV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2018-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUEhaWVVIR0QzQjI3WUhSVlNDV1YtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2019-07-01 response: body: string: '' @@ -1662,11 +1680,11 @@ interactions: content-length: - '0' date: - - Fri, 22 Mar 2019 18:02:37 GMT + - Mon, 25 May 2020 08:06:19 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUFJWV0NRTU5DVE9YQU5YNEtGT1ktV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2018-05-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUEhaWVVIR0QzQjI3WUhSVlNDV1YtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2019-07-01 pragma: - no-cache strict-transport-security: @@ -1690,10 +1708,10 @@ interactions: ParameterSetName: - -y --delete-group User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 resourcemanagementclient/2.1.0 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUFJWV0NRTU5DVE9YQU5YNEtGT1ktV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2018-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUEhaWVVIR0QzQjI3WUhSVlNDV1YtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2019-07-01 response: body: string: '' @@ -1703,11 +1721,11 @@ interactions: content-length: - '0' date: - - Fri, 22 Mar 2019 18:02:52 GMT + - Mon, 25 May 2020 08:06:35 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUFJWV0NRTU5DVE9YQU5YNEtGT1ktV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2018-05-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUEhaWVVIR0QzQjI3WUhSVlNDV1YtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2019-07-01 pragma: - no-cache strict-transport-security: @@ -1731,10 +1749,10 @@ interactions: ParameterSetName: - -y --delete-group User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 resourcemanagementclient/2.1.0 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUFJWV0NRTU5DVE9YQU5YNEtGT1ktV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2018-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUEhaWVVIR0QzQjI3WUhSVlNDV1YtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2019-07-01 response: body: string: '' @@ -1744,11 +1762,11 @@ interactions: content-length: - '0' date: - - Fri, 22 Mar 2019 18:03:08 GMT + - Mon, 25 May 2020 08:06:50 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUFJWV0NRTU5DVE9YQU5YNEtGT1ktV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2018-05-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUEhaWVVIR0QzQjI3WUhSVlNDV1YtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2019-07-01 pragma: - no-cache strict-transport-security: @@ -1772,10 +1790,10 @@ interactions: ParameterSetName: - -y --delete-group User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 resourcemanagementclient/2.1.0 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUFJWV0NRTU5DVE9YQU5YNEtGT1ktV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2018-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUEhaWVVIR0QzQjI3WUhSVlNDV1YtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2019-07-01 response: body: string: '' @@ -1785,11 +1803,11 @@ interactions: content-length: - '0' date: - - Fri, 22 Mar 2019 18:03:23 GMT + - Mon, 25 May 2020 08:07:05 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUFJWV0NRTU5DVE9YQU5YNEtGT1ktV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2018-05-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUEhaWVVIR0QzQjI3WUhSVlNDV1YtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2019-07-01 pragma: - no-cache strict-transport-security: @@ -1813,10 +1831,10 @@ interactions: ParameterSetName: - -y --delete-group User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 resourcemanagementclient/2.1.0 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUFJWV0NRTU5DVE9YQU5YNEtGT1ktV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2018-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUEhaWVVIR0QzQjI3WUhSVlNDV1YtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2019-07-01 response: body: string: '' @@ -1826,11 +1844,11 @@ interactions: content-length: - '0' date: - - Fri, 22 Mar 2019 18:03:38 GMT + - Mon, 25 May 2020 08:07:22 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUFJWV0NRTU5DVE9YQU5YNEtGT1ktV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2018-05-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUEhaWVVIR0QzQjI3WUhSVlNDV1YtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2019-07-01 pragma: - no-cache strict-transport-security: @@ -1854,10 +1872,10 @@ interactions: ParameterSetName: - -y --delete-group User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 resourcemanagementclient/2.1.0 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUFJWV0NRTU5DVE9YQU5YNEtGT1ktV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2018-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUEhaWVVIR0QzQjI3WUhSVlNDV1YtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2019-07-01 response: body: string: '' @@ -1867,7 +1885,7 @@ interactions: content-length: - '0' date: - - Fri, 22 Mar 2019 18:03:54 GMT + - Mon, 25 May 2020 08:07:37 GMT expires: - '-1' pragma: @@ -1893,12 +1911,12 @@ interactions: ParameterSetName: - -n User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 resourcemanagementclient/2.1.0 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/group000001?api-version=2018-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/group000001?api-version=2019-07-01 response: body: string: '{"error":{"code":"ResourceGroupNotFound","message":"Resource group @@ -1911,7 +1929,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 22 Mar 2019 18:03:54 GMT + - Mon, 25 May 2020 08:07:39 GMT expires: - '-1' pragma: diff --git a/src/db-up/azext_db_up/tests/latest/recordings/test_postgres_flow.yaml b/src/db-up/azext_db_up/tests/latest/recordings/test_postgres_flow.yaml index 0a7a578528c..a6f942712d4 100644 --- a/src/db-up/azext_db_up/tests/latest/recordings/test_postgres_flow.yaml +++ b/src/db-up/azext_db_up/tests/latest/recordings/test_postgres_flow.yaml @@ -13,12 +13,12 @@ interactions: ParameterSetName: - -g -s User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 resourcemanagementclient/2.1.0 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/group000001?api-version=2018-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/group000001?api-version=2019-07-01 response: body: string: '{"error":{"code":"ResourceGroupNotFound","message":"Resource group @@ -31,7 +31,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 22 Mar 2019 18:33:27 GMT + - Mon, 25 May 2020 08:07:40 GMT expires: - '-1' pragma: @@ -46,53 +46,7 @@ interactions: code: 404 message: Not Found - request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - postgres up - Connection: - - keep-alive - ParameterSetName: - - -g -s - User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 resourcemanagementclient/2.1.0 - Azure-SDK-For-Python AZURECLI/2.0.60 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/group000001?api-version=2018-05-01 - response: - body: - string: '{"error":{"code":"ResourceGroupNotFound","message":"Resource group - ''group000001'' could not be found."}}' - headers: - cache-control: - - no-cache - content-length: - - '116' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 22 Mar 2019 18:33:27 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-failure-cause: - - gateway - status: - code: 404 - message: Not Found -- request: - body: '{"location": "westus2"}' + body: '{"location": "eastus"}' headers: Accept: - application/json @@ -103,30 +57,30 @@ interactions: Connection: - keep-alive Content-Length: - - '23' + - '22' Content-Type: - application/json; charset=utf-8 ParameterSetName: - -g -s User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 resourcemanagementclient/2.1.0 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/group000001?api-version=2018-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/group000001?api-version=2019-07-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001","name":"group000001","location":"westus2","properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001","name":"group000001","type":"Microsoft.Resources/resourceGroups","location":"eastus","tags":{"StorageType":"Standard_LRS","type":"test"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '202' + - '297' content-type: - application/json; charset=utf-8 date: - - Fri, 22 Mar 2019 18:33:28 GMT + - Mon, 25 May 2020 08:07:43 GMT expires: - '-1' pragma: @@ -156,8 +110,8 @@ interactions: ParameterSetName: - -g -s User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 azure-mgmt-rdbms/2017-12-01 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.6.0 accept-language: - en-US method: GET @@ -174,7 +128,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 22 Mar 2019 18:33:28 GMT + - Mon, 25 May 2020 08:07:44 GMT expires: - '-1' pragma: @@ -190,9 +144,9 @@ interactions: message: Not Found - request: body: '{"sku": {"name": "GP_Gen5_2"}, "properties": {"version": "10", "sslEnforcement": - "Disabled", "storageProfile": {"geoRedundantBackup": "Disabled"}, "createMode": - "Default", "administratorLogin": "crushedGull8", "administratorLoginPassword": - "cb6627b0-cd2f-4e28-bd90-5835baa9d1b8"}, "location": "westus2"}' + "Enabled", "storageProfile": {"geoRedundantBackup": "Disabled"}, "createMode": + "Default", "administratorLogin": "hurtLapwing1", "administratorLoginPassword": + "20e09de2-b634-4fa2-8989-ccd7818d6e56"}, "location": "eastus"}' headers: Accept: - application/json @@ -203,24 +157,24 @@ interactions: Connection: - keep-alive Content-Length: - - '303' + - '301' Content-Type: - application/json; charset=utf-8 ParameterSetName: - -g -s User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 azure-mgmt-rdbms/2017-12-01 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.6.0 accept-language: - en-US method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.DBforPostgreSQL/servers/server000002?api-version=2017-12-01 response: body: - string: '{"operation":"UpsertElasticServer","startTime":"2019-03-22T18:33:29.82Z"}' + string: '{"operation":"UpsertElasticServer","startTime":"2020-05-25T08:07:50.78Z"}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/westus2/azureAsyncOperation/bef85736-337e-4d57-9a84-12cbb4820a14?api-version=2017-12-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/bd03ef3f-20b2-4f13-b8c4-164eb66ac3c2?api-version=2017-12-01 cache-control: - no-cache content-length: @@ -228,11 +182,11 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 22 Mar 2019 18:33:29 GMT + - Mon, 25 May 2020 08:07:51 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/westus2/operationResults/bef85736-337e-4d57-9a84-12cbb4820a14?api-version=2017-12-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/operationResults/bd03ef3f-20b2-4f13-b8c4-164eb66ac3c2?api-version=2017-12-01 pragma: - no-cache server: @@ -260,13 +214,13 @@ interactions: ParameterSetName: - -g -s User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 azure-mgmt-rdbms/2017-12-01 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.6.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/westus2/azureAsyncOperation/bef85736-337e-4d57-9a84-12cbb4820a14?api-version=2017-12-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/bd03ef3f-20b2-4f13-b8c4-164eb66ac3c2?api-version=2017-12-01 response: body: - string: '{"name":"bef85736-337e-4d57-9a84-12cbb4820a14","status":"InProgress","startTime":"2019-03-22T18:33:29.82Z"}' + string: '{"name":"bd03ef3f-20b2-4f13-b8c4-164eb66ac3c2","status":"InProgress","startTime":"2020-05-25T08:07:50.78Z"}' headers: cache-control: - no-cache @@ -275,7 +229,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 22 Mar 2019 18:34:29 GMT + - Mon, 25 May 2020 08:08:52 GMT expires: - '-1' pragma: @@ -307,60 +261,13 @@ interactions: ParameterSetName: - -g -s User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 azure-mgmt-rdbms/2017-12-01 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.6.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/westus2/azureAsyncOperation/bef85736-337e-4d57-9a84-12cbb4820a14?api-version=2017-12-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/bd03ef3f-20b2-4f13-b8c4-164eb66ac3c2?api-version=2017-12-01 response: body: - string: '{"name":"bef85736-337e-4d57-9a84-12cbb4820a14","status":"InProgress","startTime":"2019-03-22T18:33:29.82Z"}' - headers: - cache-control: - - no-cache - content-length: - - '107' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 22 Mar 2019 18:35:30 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - postgres up - Connection: - - keep-alive - ParameterSetName: - - -g -s - User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 azure-mgmt-rdbms/2017-12-01 - Azure-SDK-For-Python AZURECLI/2.0.60 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/westus2/azureAsyncOperation/bef85736-337e-4d57-9a84-12cbb4820a14?api-version=2017-12-01 - response: - body: - string: '{"name":"bef85736-337e-4d57-9a84-12cbb4820a14","status":"Succeeded","startTime":"2019-03-22T18:33:29.82Z"}' + string: '{"name":"bd03ef3f-20b2-4f13-b8c4-164eb66ac3c2","status":"Succeeded","startTime":"2020-05-25T08:07:50.78Z"}' headers: cache-control: - no-cache @@ -369,7 +276,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 22 Mar 2019 18:36:30 GMT + - Mon, 25 May 2020 08:09:54 GMT expires: - '-1' pragma: @@ -401,22 +308,22 @@ interactions: ParameterSetName: - -g -s User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 azure-mgmt-rdbms/2017-12-01 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.6.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.DBforPostgreSQL/servers/server000002?api-version=2017-12-01 response: body: - string: '{"sku":{"name":"GP_Gen5_2","tier":"GeneralPurpose","family":"Gen5","capacity":2},"properties":{"administratorLogin":"crushedGull8","storageProfile":{"storageMB":5120,"backupRetentionDays":7,"geoRedundantBackup":"Disabled","storageAutoGrow":"Disabled"},"version":"10","sslEnforcement":"Disabled","userVisibleState":"Ready","fullyQualifiedDomainName":"server000002.postgres.database.azure.com","earliestRestoreDate":"2019-03-22T18:43:43.32+00:00","replicationRole":"None","masterServerId":"","replicaCapacity":5},"location":"westus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.DBforPostgreSQL/servers/server000002","name":"server000002","type":"Microsoft.DBforPostgreSQL/servers"}' + string: '{"sku":{"name":"GP_Gen5_2","tier":"GeneralPurpose","family":"Gen5","capacity":2},"properties":{"administratorLogin":"hurtLapwing1","storageProfile":{"storageMB":5120,"backupRetentionDays":7,"geoRedundantBackup":"Disabled","storageAutogrow":"Disabled"},"version":"10","sslEnforcement":"Enabled","minimalTlsVersion":"TLSEnforcementDisabled","userVisibleState":"Ready","fullyQualifiedDomainName":"server000002.postgres.database.azure.com","earliestRestoreDate":"2020-05-25T08:17:51.09+00:00","replicationRole":"None","masterServerId":"","replicaCapacity":5,"byokEnforcement":"Disabled","privateEndpointConnections":[],"infrastructureEncryption":"Disabled","publicNetworkAccess":"Enabled"},"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.DBforPostgreSQL/servers/server000002","name":"server000002","type":"Microsoft.DBforPostgreSQL/servers"}' headers: cache-control: - no-cache content-length: - - '789' + - '963' content-type: - application/json; charset=utf-8 date: - - Fri, 22 Mar 2019 18:36:31 GMT + - Mon, 25 May 2020 08:09:54 GMT expires: - '-1' pragma: @@ -450,8 +357,8 @@ interactions: ParameterSetName: - -g -s User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 azure-mgmt-rdbms/2017-12-01 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.6.0 accept-language: - en-US method: GET @@ -469,7 +376,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 22 Mar 2019 18:36:32 GMT + - Mon, 25 May 2020 08:09:57 GMT expires: - '-1' pragma: @@ -501,30 +408,30 @@ interactions: ParameterSetName: - -g -s User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 azure-mgmt-rdbms/2017-12-01 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.6.0 accept-language: - en-US method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.DBforPostgreSQL/servers/server000002/databases/sampledb?api-version=2017-12-01 response: body: - string: '{"operation":"UpsertElasticServerDatabase","startTime":"2019-03-22T18:36:33.17Z"}' + string: '{"operation":"UpsertElasticServerDatabase","startTime":"2020-05-25T08:09:58.983Z"}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/westus2/azureAsyncOperation/ec19b8d7-ec70-4b0f-b206-3ed999fe32a3?api-version=2017-12-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/d2508fbf-7b04-478f-8841-6c4a79f857e2?api-version=2017-12-01 cache-control: - no-cache content-length: - - '81' + - '82' content-type: - application/json; charset=utf-8 date: - - Fri, 22 Mar 2019 18:36:51 GMT + - Mon, 25 May 2020 08:09:58 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/westus2/operationResults/ec19b8d7-ec70-4b0f-b206-3ed999fe32a3?api-version=2017-12-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/operationResults/d2508fbf-7b04-478f-8841-6c4a79f857e2?api-version=2017-12-01 pragma: - no-cache server: @@ -534,7 +441,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1199' status: code: 202 message: Accepted @@ -552,22 +459,22 @@ interactions: ParameterSetName: - -g -s User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 azure-mgmt-rdbms/2017-12-01 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.6.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/westus2/azureAsyncOperation/ec19b8d7-ec70-4b0f-b206-3ed999fe32a3?api-version=2017-12-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/d2508fbf-7b04-478f-8841-6c4a79f857e2?api-version=2017-12-01 response: body: - string: '{"name":"ec19b8d7-ec70-4b0f-b206-3ed999fe32a3","status":"Succeeded","startTime":"2019-03-22T18:36:33.17Z"}' + string: '{"name":"d2508fbf-7b04-478f-8841-6c4a79f857e2","status":"Succeeded","startTime":"2020-05-25T08:09:58.983Z"}' headers: cache-control: - no-cache content-length: - - '106' + - '107' content-type: - application/json; charset=utf-8 date: - - Fri, 22 Mar 2019 18:37:05 GMT + - Mon, 25 May 2020 08:10:15 GMT expires: - '-1' pragma: @@ -599,8 +506,8 @@ interactions: ParameterSetName: - -g -s User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 azure-mgmt-rdbms/2017-12-01 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.6.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.DBforPostgreSQL/servers/server000002/databases/sampledb?api-version=2017-12-01 response: @@ -614,7 +521,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 22 Mar 2019 18:37:07 GMT + - Mon, 25 May 2020 08:10:15 GMT expires: - '-1' pragma: @@ -650,30 +557,30 @@ interactions: ParameterSetName: - -g -s User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 azure-mgmt-rdbms/2017-12-01 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.6.0 accept-language: - en-US method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.DBforPostgreSQL/servers/server000002/firewallRules/azure-access?api-version=2017-12-01 response: body: - string: '{"operation":"UpsertElasticServerFirewallRules","startTime":"2019-03-22T18:37:08.453Z"}' + string: '{"operation":"UpsertElasticServerFirewallRules","startTime":"2020-05-25T08:10:17.78Z"}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/westus2/azureAsyncOperation/298a2d0c-b42b-489b-88a7-040fadd48d61?api-version=2017-12-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/2206935a-26bb-4902-a90e-db9b73f4f861?api-version=2017-12-01 cache-control: - no-cache content-length: - - '87' + - '86' content-type: - application/json; charset=utf-8 date: - - Fri, 22 Mar 2019 18:37:08 GMT + - Mon, 25 May 2020 08:10:19 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/westus2/operationResults/298a2d0c-b42b-489b-88a7-040fadd48d61?api-version=2017-12-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/operationResults/2206935a-26bb-4902-a90e-db9b73f4f861?api-version=2017-12-01 pragma: - no-cache server: @@ -683,7 +590,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1196' status: code: 202 message: Accepted @@ -701,22 +608,22 @@ interactions: ParameterSetName: - -g -s User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 azure-mgmt-rdbms/2017-12-01 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.6.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/westus2/azureAsyncOperation/298a2d0c-b42b-489b-88a7-040fadd48d61?api-version=2017-12-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/2206935a-26bb-4902-a90e-db9b73f4f861?api-version=2017-12-01 response: body: - string: '{"name":"298a2d0c-b42b-489b-88a7-040fadd48d61","status":"Succeeded","startTime":"2019-03-22T18:37:08.453Z"}' + string: '{"name":"2206935a-26bb-4902-a90e-db9b73f4f861","status":"Succeeded","startTime":"2020-05-25T08:10:17.78Z"}' headers: cache-control: - no-cache content-length: - - '107' + - '106' content-type: - application/json; charset=utf-8 date: - - Fri, 22 Mar 2019 18:37:24 GMT + - Mon, 25 May 2020 08:10:35 GMT expires: - '-1' pragma: @@ -748,8 +655,8 @@ interactions: ParameterSetName: - -g -s User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 azure-mgmt-rdbms/2017-12-01 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.6.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.DBforPostgreSQL/servers/server000002/firewallRules/azure-access?api-version=2017-12-01 response: @@ -763,7 +670,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 22 Mar 2019 18:37:24 GMT + - Mon, 25 May 2020 08:10:38 GMT expires: - '-1' pragma: @@ -793,24 +700,67 @@ interactions: Connection: - keep-alive User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 resourcemanagementclient/2.1.0 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/group000001?api-version=2018-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/group000001?api-version=2019-07-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001","name":"group000001","location":"westus2","properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001","name":"group000001","type":"Microsoft.Resources/resourceGroups","location":"eastus","tags":{"StorageType":"Standard_LRS","type":"test"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '202' + - '297' content-type: - application/json; charset=utf-8 date: - - Fri, 22 Mar 2019 18:37:27 GMT + - Mon, 25 May 2020 08:10:39 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - postgres up + Connection: + - keep-alive + User-Agent: + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/group000001?api-version=2019-07-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001","name":"group000001","type":"Microsoft.Resources/resourceGroups","location":"eastus","tags":{"StorageType":"Standard_LRS","type":"test"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '297' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 08:10:39 GMT expires: - '-1' pragma: @@ -838,24 +788,24 @@ interactions: Content-Type: - application/json; charset=utf-8 User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 azure-mgmt-rdbms/2017-12-01 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.6.0 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.DBforPostgreSQL/servers/server000002?api-version=2017-12-01 response: body: - string: '{"sku":{"name":"GP_Gen5_2","tier":"GeneralPurpose","family":"Gen5","capacity":2},"properties":{"administratorLogin":"crushedGull8","storageProfile":{"storageMB":5120,"backupRetentionDays":7,"geoRedundantBackup":"Disabled","storageAutoGrow":"Disabled"},"version":"10","sslEnforcement":"Disabled","userVisibleState":"Ready","fullyQualifiedDomainName":"server000002.postgres.database.azure.com","earliestRestoreDate":"2019-03-22T18:43:43.32+00:00","replicationRole":"None","masterServerId":"","replicaCapacity":5},"location":"westus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.DBforPostgreSQL/servers/server000002","name":"server000002","type":"Microsoft.DBforPostgreSQL/servers"}' + string: '{"sku":{"name":"GP_Gen5_2","tier":"GeneralPurpose","family":"Gen5","capacity":2},"properties":{"administratorLogin":"hurtLapwing1","storageProfile":{"storageMB":5120,"backupRetentionDays":7,"geoRedundantBackup":"Disabled","storageAutogrow":"Disabled"},"version":"10","sslEnforcement":"Enabled","minimalTlsVersion":"TLSEnforcementDisabled","userVisibleState":"Ready","fullyQualifiedDomainName":"server000002.postgres.database.azure.com","earliestRestoreDate":"2020-05-25T08:17:51.09+00:00","replicationRole":"None","masterServerId":"","replicaCapacity":5,"byokEnforcement":"Disabled","privateEndpointConnections":[],"infrastructureEncryption":"Disabled","publicNetworkAccess":"Enabled"},"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.DBforPostgreSQL/servers/server000002","name":"server000002","type":"Microsoft.DBforPostgreSQL/servers"}' headers: cache-control: - no-cache content-length: - - '789' + - '963' content-type: - application/json; charset=utf-8 date: - - Fri, 22 Mar 2019 18:37:27 GMT + - Mon, 25 May 2020 08:10:40 GMT expires: - '-1' pragma: @@ -887,8 +837,8 @@ interactions: Content-Type: - application/json; charset=utf-8 User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 azure-mgmt-rdbms/2017-12-01 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.6.0 accept-language: - en-US method: GET @@ -904,7 +854,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 22 Mar 2019 18:37:27 GMT + - Mon, 25 May 2020 08:10:41 GMT expires: - '-1' pragma: @@ -938,18 +888,18 @@ interactions: Content-Type: - application/json; charset=utf-8 User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 azure-mgmt-rdbms/2017-12-01 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.6.0 accept-language: - en-US method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.DBforPostgreSQL/servers/server000002/firewallRules/azure-access?api-version=2017-12-01 response: body: - string: '{"operation":"UpsertElasticServerFirewallRules","startTime":"2019-03-22T18:37:29.513Z"}' + string: '{"operation":"UpsertElasticServerFirewallRules","startTime":"2020-05-25T08:10:43.227Z"}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/westus2/azureAsyncOperation/94c2134a-6b2e-45dd-80d3-455c75f5ce00?api-version=2017-12-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/48e3a7e6-b21e-40da-993d-78ea8335e1df?api-version=2017-12-01 cache-control: - no-cache content-length: @@ -957,11 +907,11 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 22 Mar 2019 18:37:44 GMT + - Mon, 25 May 2020 08:10:45 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/westus2/operationResults/94c2134a-6b2e-45dd-80d3-455c75f5ce00?api-version=2017-12-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/operationResults/48e3a7e6-b21e-40da-993d-78ea8335e1df?api-version=2017-12-01 pragma: - no-cache server: @@ -971,7 +921,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1198' status: code: 202 message: Accepted @@ -987,13 +937,13 @@ interactions: Connection: - keep-alive User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 azure-mgmt-rdbms/2017-12-01 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.6.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/westus2/azureAsyncOperation/94c2134a-6b2e-45dd-80d3-455c75f5ce00?api-version=2017-12-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/48e3a7e6-b21e-40da-993d-78ea8335e1df?api-version=2017-12-01 response: body: - string: '{"name":"94c2134a-6b2e-45dd-80d3-455c75f5ce00","status":"Succeeded","startTime":"2019-03-22T18:37:29.513Z"}' + string: '{"name":"48e3a7e6-b21e-40da-993d-78ea8335e1df","status":"Succeeded","startTime":"2020-05-25T08:10:43.227Z"}' headers: cache-control: - no-cache @@ -1002,7 +952,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 22 Mar 2019 18:38:00 GMT + - Mon, 25 May 2020 08:11:01 GMT expires: - '-1' pragma: @@ -1032,8 +982,8 @@ interactions: Connection: - keep-alive User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 azure-mgmt-rdbms/2017-12-01 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.6.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.DBforPostgreSQL/servers/server000002/firewallRules/azure-access?api-version=2017-12-01 response: @@ -1047,7 +997,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 22 Mar 2019 18:38:00 GMT + - Mon, 25 May 2020 08:11:03 GMT expires: - '-1' pragma: @@ -1079,24 +1029,69 @@ interactions: ParameterSetName: - -p User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 resourcemanagementclient/2.1.0 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/group000001?api-version=2019-07-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001","name":"group000001","type":"Microsoft.Resources/resourceGroups","location":"eastus","tags":{"StorageType":"Standard_LRS","type":"test"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '297' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 08:11:05 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - postgres up + Connection: + - keep-alive + ParameterSetName: + - -p + User-Agent: + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/group000001?api-version=2018-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/group000001?api-version=2019-07-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001","name":"group000001","location":"westus2","properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001","name":"group000001","type":"Microsoft.Resources/resourceGroups","location":"eastus","tags":{"StorageType":"Standard_LRS","type":"test"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '202' + - '297' content-type: - application/json; charset=utf-8 date: - - Fri, 22 Mar 2019 18:38:02 GMT + - Mon, 25 May 2020 08:11:05 GMT expires: - '-1' pragma: @@ -1126,24 +1121,24 @@ interactions: ParameterSetName: - -p User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 azure-mgmt-rdbms/2017-12-01 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.6.0 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.DBforPostgreSQL/servers/server000002?api-version=2017-12-01 response: body: - string: '{"sku":{"name":"GP_Gen5_2","tier":"GeneralPurpose","family":"Gen5","capacity":2},"properties":{"administratorLogin":"crushedGull8","storageProfile":{"storageMB":5120,"backupRetentionDays":7,"geoRedundantBackup":"Disabled","storageAutoGrow":"Disabled"},"version":"10","sslEnforcement":"Disabled","userVisibleState":"Ready","fullyQualifiedDomainName":"server000002.postgres.database.azure.com","earliestRestoreDate":"2019-03-22T18:43:43.32+00:00","replicationRole":"None","masterServerId":"","replicaCapacity":5},"location":"westus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.DBforPostgreSQL/servers/server000002","name":"server000002","type":"Microsoft.DBforPostgreSQL/servers"}' + string: '{"sku":{"name":"GP_Gen5_2","tier":"GeneralPurpose","family":"Gen5","capacity":2},"properties":{"administratorLogin":"hurtLapwing1","storageProfile":{"storageMB":5120,"backupRetentionDays":7,"geoRedundantBackup":"Disabled","storageAutogrow":"Disabled"},"version":"10","sslEnforcement":"Enabled","minimalTlsVersion":"TLSEnforcementDisabled","userVisibleState":"Ready","fullyQualifiedDomainName":"server000002.postgres.database.azure.com","earliestRestoreDate":"2020-05-25T08:17:51.09+00:00","replicationRole":"None","masterServerId":"","replicaCapacity":5,"byokEnforcement":"Disabled","privateEndpointConnections":[],"infrastructureEncryption":"Disabled","publicNetworkAccess":"Enabled"},"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.DBforPostgreSQL/servers/server000002","name":"server000002","type":"Microsoft.DBforPostgreSQL/servers"}' headers: cache-control: - no-cache content-length: - - '789' + - '963' content-type: - application/json; charset=utf-8 date: - - Fri, 22 Mar 2019 18:38:01 GMT + - Mon, 25 May 2020 08:11:06 GMT expires: - '-1' pragma: @@ -1162,7 +1157,7 @@ interactions: code: 200 message: OK - request: - body: '{"properties": {"administratorLoginPassword": "cb6627b0-cd2f-4e28-bd90-5835baa9d1b8"}}' + body: '{"properties": {"administratorLoginPassword": "20e09de2-b634-4fa2-8989-ccd7818d6e56"}}' headers: Accept: - application/json @@ -1179,30 +1174,30 @@ interactions: ParameterSetName: - -p User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 azure-mgmt-rdbms/2017-12-01 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.6.0 accept-language: - en-US method: PATCH uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.DBforPostgreSQL/servers/server000002?api-version=2017-12-01 response: body: - string: '{"operation":"UpsertElasticServer","startTime":"2019-03-22T18:38:03.273Z"}' + string: '{"operation":"UpsertElasticServer","startTime":"2020-05-25T08:11:07.18Z"}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/westus2/azureAsyncOperation/31bc7839-570a-44ec-b066-e2a0097441b7?api-version=2017-12-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/b357d269-9f22-4fdc-93f9-9feb5387aab7?api-version=2017-12-01 cache-control: - no-cache content-length: - - '74' + - '73' content-type: - application/json; charset=utf-8 date: - - Fri, 22 Mar 2019 18:38:30 GMT + - Mon, 25 May 2020 08:11:08 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/westus2/operationResults/31bc7839-570a-44ec-b066-e2a0097441b7?api-version=2017-12-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/operationResults/b357d269-9f22-4fdc-93f9-9feb5387aab7?api-version=2017-12-01 pragma: - no-cache server: @@ -1212,7 +1207,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1197' status: code: 202 message: Accepted @@ -1230,22 +1225,22 @@ interactions: ParameterSetName: - -p User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 azure-mgmt-rdbms/2017-12-01 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.6.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/westus2/azureAsyncOperation/31bc7839-570a-44ec-b066-e2a0097441b7?api-version=2017-12-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/b357d269-9f22-4fdc-93f9-9feb5387aab7?api-version=2017-12-01 response: body: - string: '{"name":"31bc7839-570a-44ec-b066-e2a0097441b7","status":"Succeeded","startTime":"2019-03-22T18:38:03.273Z"}' + string: '{"name":"b357d269-9f22-4fdc-93f9-9feb5387aab7","status":"Succeeded","startTime":"2020-05-25T08:11:07.18Z"}' headers: cache-control: - no-cache content-length: - - '107' + - '106' content-type: - application/json; charset=utf-8 date: - - Fri, 22 Mar 2019 18:39:31 GMT + - Mon, 25 May 2020 08:12:09 GMT expires: - '-1' pragma: @@ -1277,22 +1272,22 @@ interactions: ParameterSetName: - -p User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 azure-mgmt-rdbms/2017-12-01 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.6.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.DBforPostgreSQL/servers/server000002?api-version=2017-12-01 response: body: - string: '{"sku":{"name":"GP_Gen5_2","tier":"GeneralPurpose","family":"Gen5","capacity":2},"properties":{"administratorLogin":"crushedGull8","storageProfile":{"storageMB":5120,"backupRetentionDays":7,"geoRedundantBackup":"Disabled","storageAutoGrow":"Disabled"},"version":"10","sslEnforcement":"Disabled","userVisibleState":"Ready","fullyQualifiedDomainName":"server000002.postgres.database.azure.com","earliestRestoreDate":"2019-03-22T18:43:43.32+00:00","replicationRole":"None","masterServerId":"","replicaCapacity":5},"location":"westus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.DBforPostgreSQL/servers/server000002","name":"server000002","type":"Microsoft.DBforPostgreSQL/servers"}' + string: '{"sku":{"name":"GP_Gen5_2","tier":"GeneralPurpose","family":"Gen5","capacity":2},"properties":{"administratorLogin":"hurtLapwing1","storageProfile":{"storageMB":5120,"backupRetentionDays":7,"geoRedundantBackup":"Disabled","storageAutogrow":"Disabled"},"version":"10","sslEnforcement":"Enabled","minimalTlsVersion":"TLSEnforcementDisabled","userVisibleState":"Ready","fullyQualifiedDomainName":"server000002.postgres.database.azure.com","earliestRestoreDate":"2020-05-25T08:17:51.09+00:00","replicationRole":"None","masterServerId":"","replicaCapacity":5,"byokEnforcement":"Disabled","privateEndpointConnections":[],"infrastructureEncryption":"Disabled","publicNetworkAccess":"Enabled"},"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.DBforPostgreSQL/servers/server000002","name":"server000002","type":"Microsoft.DBforPostgreSQL/servers"}' headers: cache-control: - no-cache content-length: - - '789' + - '963' content-type: - application/json; charset=utf-8 date: - - Fri, 22 Mar 2019 18:39:31 GMT + - Mon, 25 May 2020 08:12:10 GMT expires: - '-1' pragma: @@ -1326,8 +1321,8 @@ interactions: ParameterSetName: - -p User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 azure-mgmt-rdbms/2017-12-01 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.6.0 accept-language: - en-US method: GET @@ -1343,7 +1338,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 22 Mar 2019 18:39:33 GMT + - Mon, 25 May 2020 08:12:12 GMT expires: - '-1' pragma: @@ -1379,30 +1374,30 @@ interactions: ParameterSetName: - -p User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 azure-mgmt-rdbms/2017-12-01 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.6.0 accept-language: - en-US method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.DBforPostgreSQL/servers/server000002/firewallRules/azure-access?api-version=2017-12-01 response: body: - string: '{"operation":"UpsertElasticServerFirewallRules","startTime":"2019-03-22T18:39:34.227Z"}' + string: '{"operation":"UpsertElasticServerFirewallRules","startTime":"2020-05-25T08:12:14.39Z"}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/westus2/azureAsyncOperation/c287ae15-92da-4382-a478-4ec147790358?api-version=2017-12-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/30b067a5-0697-4682-8a08-b6b1ceac6bc8?api-version=2017-12-01 cache-control: - no-cache content-length: - - '87' + - '86' content-type: - application/json; charset=utf-8 date: - - Fri, 22 Mar 2019 18:39:33 GMT + - Mon, 25 May 2020 08:12:16 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/westus2/operationResults/c287ae15-92da-4382-a478-4ec147790358?api-version=2017-12-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/operationResults/30b067a5-0697-4682-8a08-b6b1ceac6bc8?api-version=2017-12-01 pragma: - no-cache server: @@ -1412,7 +1407,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1198' status: code: 202 message: Accepted @@ -1430,22 +1425,22 @@ interactions: ParameterSetName: - -p User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 azure-mgmt-rdbms/2017-12-01 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.6.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/westus2/azureAsyncOperation/c287ae15-92da-4382-a478-4ec147790358?api-version=2017-12-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/30b067a5-0697-4682-8a08-b6b1ceac6bc8?api-version=2017-12-01 response: body: - string: '{"name":"c287ae15-92da-4382-a478-4ec147790358","status":"Succeeded","startTime":"2019-03-22T18:39:34.227Z"}' + string: '{"name":"30b067a5-0697-4682-8a08-b6b1ceac6bc8","status":"Succeeded","startTime":"2020-05-25T08:12:14.39Z"}' headers: cache-control: - no-cache content-length: - - '107' + - '106' content-type: - application/json; charset=utf-8 date: - - Fri, 22 Mar 2019 18:39:49 GMT + - Mon, 25 May 2020 08:12:33 GMT expires: - '-1' pragma: @@ -1477,8 +1472,8 @@ interactions: ParameterSetName: - -p User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 azure-mgmt-rdbms/2017-12-01 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.6.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.DBforPostgreSQL/servers/server000002/firewallRules/azure-access?api-version=2017-12-01 response: @@ -1492,7 +1487,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 22 Mar 2019 18:39:50 GMT + - Mon, 25 May 2020 08:12:35 GMT expires: - '-1' pragma: @@ -1524,8 +1519,8 @@ interactions: ParameterSetName: - -n -g -s User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 azure-mgmt-rdbms/2017-12-01 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.6.0 accept-language: - en-US method: GET @@ -1541,7 +1536,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 22 Mar 2019 18:39:52 GMT + - Mon, 25 May 2020 08:12:37 GMT expires: - '-1' pragma: @@ -1575,12 +1570,12 @@ interactions: ParameterSetName: - -y --delete-group User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 resourcemanagementclient/2.1.0 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 accept-language: - en-US method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/group000001?api-version=2018-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/group000001?api-version=2019-07-01 response: body: string: '' @@ -1590,11 +1585,11 @@ interactions: content-length: - '0' date: - - Fri, 22 Mar 2019 18:39:53 GMT + - Mon, 25 May 2020 08:12:42 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUDdaRlZNNlE2T1Y0TzRaSDNMTzctV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2018-05-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUEtGWUw3N0E3WEM3MkVPQVhINVAtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2019-07-01 pragma: - no-cache strict-transport-security: @@ -1620,10 +1615,215 @@ interactions: ParameterSetName: - -y --delete-group User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 resourcemanagementclient/2.1.0 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUEtGWUw3N0E3WEM3MkVPQVhINVAtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2019-07-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Mon, 25 May 2020 08:12:59 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUEtGWUw3N0E3WEM3MkVPQVhINVAtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2019-07-01 + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - postgres down + Connection: + - keep-alive + ParameterSetName: + - -y --delete-group + User-Agent: + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUEtGWUw3N0E3WEM3MkVPQVhINVAtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2019-07-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Mon, 25 May 2020 08:13:14 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUEtGWUw3N0E3WEM3MkVPQVhINVAtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2019-07-01 + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - postgres down + Connection: + - keep-alive + ParameterSetName: + - -y --delete-group + User-Agent: + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUEtGWUw3N0E3WEM3MkVPQVhINVAtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2019-07-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Mon, 25 May 2020 08:13:30 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUEtGWUw3N0E3WEM3MkVPQVhINVAtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2019-07-01 + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - postgres down + Connection: + - keep-alive + ParameterSetName: + - -y --delete-group + User-Agent: + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUEtGWUw3N0E3WEM3MkVPQVhINVAtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2019-07-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Mon, 25 May 2020 08:13:45 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUEtGWUw3N0E3WEM3MkVPQVhINVAtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2019-07-01 + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - postgres down + Connection: + - keep-alive + ParameterSetName: + - -y --delete-group + User-Agent: + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUEtGWUw3N0E3WEM3MkVPQVhINVAtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2019-07-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Mon, 25 May 2020 08:14:01 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUEtGWUw3N0E3WEM3MkVPQVhINVAtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2019-07-01 + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - postgres down + Connection: + - keep-alive + ParameterSetName: + - -y --delete-group + User-Agent: + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUDdaRlZNNlE2T1Y0TzRaSDNMTzctV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2018-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUEtGWUw3N0E3WEM3MkVPQVhINVAtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2019-07-01 response: body: string: '' @@ -1633,11 +1833,11 @@ interactions: content-length: - '0' date: - - Fri, 22 Mar 2019 18:40:07 GMT + - Mon, 25 May 2020 08:14:17 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUDdaRlZNNlE2T1Y0TzRaSDNMTzctV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2018-05-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUEtGWUw3N0E3WEM3MkVPQVhINVAtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2019-07-01 pragma: - no-cache strict-transport-security: @@ -1661,10 +1861,10 @@ interactions: ParameterSetName: - -y --delete-group User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 resourcemanagementclient/2.1.0 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUDdaRlZNNlE2T1Y0TzRaSDNMTzctV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2018-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUEtGWUw3N0E3WEM3MkVPQVhINVAtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2019-07-01 response: body: string: '' @@ -1674,11 +1874,11 @@ interactions: content-length: - '0' date: - - Fri, 22 Mar 2019 18:40:23 GMT + - Mon, 25 May 2020 08:14:32 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUDdaRlZNNlE2T1Y0TzRaSDNMTzctV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2018-05-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUEtGWUw3N0E3WEM3MkVPQVhINVAtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2019-07-01 pragma: - no-cache strict-transport-security: @@ -1702,10 +1902,10 @@ interactions: ParameterSetName: - -y --delete-group User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 resourcemanagementclient/2.1.0 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUDdaRlZNNlE2T1Y0TzRaSDNMTzctV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2018-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUEtGWUw3N0E3WEM3MkVPQVhINVAtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2019-07-01 response: body: string: '' @@ -1715,11 +1915,11 @@ interactions: content-length: - '0' date: - - Fri, 22 Mar 2019 18:40:38 GMT + - Mon, 25 May 2020 08:14:47 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUDdaRlZNNlE2T1Y0TzRaSDNMTzctV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2018-05-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUEtGWUw3N0E3WEM3MkVPQVhINVAtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2019-07-01 pragma: - no-cache strict-transport-security: @@ -1743,10 +1943,10 @@ interactions: ParameterSetName: - -y --delete-group User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 resourcemanagementclient/2.1.0 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUDdaRlZNNlE2T1Y0TzRaSDNMTzctV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2018-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUEtGWUw3N0E3WEM3MkVPQVhINVAtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2019-07-01 response: body: string: '' @@ -1756,11 +1956,11 @@ interactions: content-length: - '0' date: - - Fri, 22 Mar 2019 18:40:53 GMT + - Mon, 25 May 2020 08:15:03 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUDdaRlZNNlE2T1Y0TzRaSDNMTzctV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2018-05-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUEtGWUw3N0E3WEM3MkVPQVhINVAtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2019-07-01 pragma: - no-cache strict-transport-security: @@ -1784,10 +1984,10 @@ interactions: ParameterSetName: - -y --delete-group User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 resourcemanagementclient/2.1.0 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUDdaRlZNNlE2T1Y0TzRaSDNMTzctV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2018-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUEtGWUw3N0E3WEM3MkVPQVhINVAtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2019-07-01 response: body: string: '' @@ -1797,11 +1997,11 @@ interactions: content-length: - '0' date: - - Fri, 22 Mar 2019 18:41:09 GMT + - Mon, 25 May 2020 08:15:19 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUDdaRlZNNlE2T1Y0TzRaSDNMTzctV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2018-05-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUEtGWUw3N0E3WEM3MkVPQVhINVAtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2019-07-01 pragma: - no-cache strict-transport-security: @@ -1825,10 +2025,10 @@ interactions: ParameterSetName: - -y --delete-group User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 resourcemanagementclient/2.1.0 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUDdaRlZNNlE2T1Y0TzRaSDNMTzctV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2018-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUEtGWUw3N0E3WEM3MkVPQVhINVAtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2019-07-01 response: body: string: '' @@ -1838,7 +2038,7 @@ interactions: content-length: - '0' date: - - Fri, 22 Mar 2019 18:41:25 GMT + - Mon, 25 May 2020 08:15:34 GMT expires: - '-1' pragma: @@ -1864,12 +2064,12 @@ interactions: ParameterSetName: - -n User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 resourcemanagementclient/2.1.0 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/group000001?api-version=2018-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/group000001?api-version=2019-07-01 response: body: string: '{"error":{"code":"ResourceGroupNotFound","message":"Resource group @@ -1882,7 +2082,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 22 Mar 2019 18:41:25 GMT + - Mon, 25 May 2020 08:15:35 GMT expires: - '-1' pragma: diff --git a/src/db-up/azext_db_up/tests/latest/recordings/test_postgres_up.yaml b/src/db-up/azext_db_up/tests/latest/recordings/test_postgres_up.yaml new file mode 100644 index 00000000000..46569ecb76a --- /dev/null +++ b/src/db-up/azext_db_up/tests/latest/recordings/test_postgres_up.yaml @@ -0,0 +1,1550 @@ +interactions: +- request: + body: '{"location": "eastus"}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - postgres up + Connection: + - keep-alive + Content-Length: + - '22' + Content-Type: + - application/json; charset=utf-8 + User-Agent: + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/group4794040878?api-version=2019-07-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group4794040878","name":"group4794040878","type":"Microsoft.Resources/resourceGroups","location":"eastus","tags":{"StorageType":"Standard_LRS","type":"test"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '279' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 08:15:42 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - postgres up + Connection: + - keep-alive + Content-Type: + - application/json; charset=utf-8 + User-Agent: + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group4794040878/providers/Microsoft.DBforPostgreSQL/servers/server164938835?api-version=2017-12-01 + response: + body: + string: '{"error":{"code":"ResourceNotFound","message":"The Resource ''Microsoft.DBforPostgreSQL/servers/server164938835'' + under resource group ''group4794040878'' was not found."}}' + headers: + cache-control: + - no-cache + content-length: + - '168' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 08:15:43 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-failure-cause: + - gateway + status: + code: 404 + message: Not Found +- request: + body: '{"sku": {"name": "GP_Gen5_2"}, "properties": {"version": "10", "sslEnforcement": + "Enabled", "storageProfile": {"geoRedundantBackup": "Disabled"}, "createMode": + "Default", "administratorLogin": "formalPie8", "administratorLoginPassword": + "d2be5b88-8e75-46c5-a6ce-c8eeb7ddd13f"}, "location": "eastus"}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - postgres up + Connection: + - keep-alive + Content-Length: + - '299' + Content-Type: + - application/json; charset=utf-8 + User-Agent: + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group4794040878/providers/Microsoft.DBforPostgreSQL/servers/server164938835?api-version=2017-12-01 + response: + body: + string: '{"operation":"UpsertElasticServer","startTime":"2020-05-25T08:15:49.767Z"}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/b0d1f764-7907-4879-9937-702617855eb5?api-version=2017-12-01 + cache-control: + - no-cache + content-length: + - '74' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 08:15:50 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/operationResults/b0d1f764-7907-4879-9937-702617855eb5?api-version=2017-12-01 + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1197' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - postgres up + Connection: + - keep-alive + User-Agent: + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/b0d1f764-7907-4879-9937-702617855eb5?api-version=2017-12-01 + response: + body: + string: '{"name":"b0d1f764-7907-4879-9937-702617855eb5","status":"InProgress","startTime":"2020-05-25T08:15:49.767Z"}' + headers: + cache-control: + - no-cache + content-length: + - '108' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 08:16:51 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - postgres up + Connection: + - keep-alive + User-Agent: + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/b0d1f764-7907-4879-9937-702617855eb5?api-version=2017-12-01 + response: + body: + string: '{"name":"b0d1f764-7907-4879-9937-702617855eb5","status":"Succeeded","startTime":"2020-05-25T08:15:49.767Z"}' + headers: + cache-control: + - no-cache + content-length: + - '107' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 08:17:53 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - postgres up + Connection: + - keep-alive + User-Agent: + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group4794040878/providers/Microsoft.DBforPostgreSQL/servers/server164938835?api-version=2017-12-01 + response: + body: + string: '{"sku":{"name":"GP_Gen5_2","tier":"GeneralPurpose","family":"Gen5","capacity":2},"properties":{"administratorLogin":"formalPie8","storageProfile":{"storageMB":5120,"backupRetentionDays":7,"geoRedundantBackup":"Disabled","storageAutogrow":"Disabled"},"version":"10","sslEnforcement":"Enabled","minimalTlsVersion":"TLSEnforcementDisabled","userVisibleState":"Ready","fullyQualifiedDomainName":"server164938835.postgres.database.azure.com","earliestRestoreDate":"2020-05-25T08:25:50.203+00:00","replicationRole":"None","masterServerId":"","replicaCapacity":5,"byokEnforcement":"Disabled","privateEndpointConnections":[],"infrastructureEncryption":"Disabled","publicNetworkAccess":"Enabled"},"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group4794040878/providers/Microsoft.DBforPostgreSQL/servers/server164938835","name":"server164938835","type":"Microsoft.DBforPostgreSQL/servers"}' + headers: + cache-control: + - no-cache + content-length: + - '926' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 08:17:55 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - postgres up + Connection: + - keep-alive + Content-Type: + - application/json; charset=utf-8 + User-Agent: + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group4794040878/providers/Microsoft.DBforPostgreSQL/servers/server164938835/databases/sampledb?api-version=2017-12-01 + response: + body: + string: '{"error":{"code":"ResourceNotFound","message":"The requested resource + of type ''Microsoft.DBforPostgreSQL/servers/databases'' with name ''sampledb'' + was not found."}}' + headers: + cache-control: + - no-cache + content-length: + - '162' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 08:17:57 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 404 + message: Not Found +- request: + body: '{}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - postgres up + Connection: + - keep-alive + Content-Length: + - '2' + Content-Type: + - application/json; charset=utf-8 + User-Agent: + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group4794040878/providers/Microsoft.DBforPostgreSQL/servers/server164938835/databases/sampledb?api-version=2017-12-01 + response: + body: + string: '{"operation":"UpsertElasticServerDatabase","startTime":"2020-05-25T08:17:58.933Z"}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/7c9f8383-2309-4920-a19b-7d9dc38f512b?api-version=2017-12-01 + cache-control: + - no-cache + content-length: + - '82' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 08:17:58 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/operationResults/7c9f8383-2309-4920-a19b-7d9dc38f512b?api-version=2017-12-01 + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - postgres up + Connection: + - keep-alive + User-Agent: + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/7c9f8383-2309-4920-a19b-7d9dc38f512b?api-version=2017-12-01 + response: + body: + string: '{"name":"7c9f8383-2309-4920-a19b-7d9dc38f512b","status":"Succeeded","startTime":"2020-05-25T08:17:58.933Z"}' + headers: + cache-control: + - no-cache + content-length: + - '107' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 08:18:15 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - postgres up + Connection: + - keep-alive + User-Agent: + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group4794040878/providers/Microsoft.DBforPostgreSQL/servers/server164938835/databases/sampledb?api-version=2017-12-01 + response: + body: + string: '{"properties":{"charset":"UTF8","collation":"English_United States.1252"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group4794040878/providers/Microsoft.DBforPostgreSQL/servers/server164938835/databases/sampledb","name":"sampledb","type":"Microsoft.DBforPostgreSQL/servers/databases"}' + headers: + cache-control: + - no-cache + content-length: + - '314' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 08:18:16 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"properties": {"startIpAddress": "167.220.255.115", "endIpAddress": "167.220.255.115"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - postgres up + Connection: + - keep-alive + Content-Length: + - '88' + Content-Type: + - application/json; charset=utf-8 + User-Agent: + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group4794040878/providers/Microsoft.DBforPostgreSQL/servers/server164938835/firewallRules/devbox?api-version=2017-12-01 + response: + body: + string: '{"operation":"UpsertElasticServerFirewallRules","startTime":"2020-05-25T08:19:04.987Z"}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/28325450-0a01-4621-9e30-6f6553968d13?api-version=2017-12-01 + cache-control: + - no-cache + content-length: + - '87' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 08:19:05 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/operationResults/28325450-0a01-4621-9e30-6f6553968d13?api-version=2017-12-01 + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1195' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - postgres up + Connection: + - keep-alive + User-Agent: + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/28325450-0a01-4621-9e30-6f6553968d13?api-version=2017-12-01 + response: + body: + string: '{"name":"28325450-0a01-4621-9e30-6f6553968d13","status":"Succeeded","startTime":"2020-05-25T08:19:04.987Z"}' + headers: + cache-control: + - no-cache + content-length: + - '107' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 08:19:21 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - postgres up + Connection: + - keep-alive + User-Agent: + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group4794040878/providers/Microsoft.DBforPostgreSQL/servers/server164938835/firewallRules/devbox?api-version=2017-12-01 + response: + body: + string: '{"properties":{"startIpAddress":"167.220.255.115","endIpAddress":"167.220.255.115"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group4794040878/providers/Microsoft.DBforPostgreSQL/servers/server164938835/firewallRules/devbox","name":"devbox","type":"Microsoft.DBforPostgreSQL/servers/firewallRules"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 08:19:24 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"properties": {"startIpAddress": "0.0.0.0", "endIpAddress": "0.0.0.0"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - postgres up + Connection: + - keep-alive + Content-Length: + - '72' + Content-Type: + - application/json; charset=utf-8 + User-Agent: + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group4794040878/providers/Microsoft.DBforPostgreSQL/servers/server164938835/firewallRules/azure-access?api-version=2017-12-01 + response: + body: + string: '{"operation":"UpsertElasticServerFirewallRules","startTime":"2020-05-25T08:19:26.47Z"}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/679e52fc-baa5-492b-881a-60a25e3212a7?api-version=2017-12-01 + cache-control: + - no-cache + content-length: + - '86' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 08:19:29 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/operationResults/679e52fc-baa5-492b-881a-60a25e3212a7?api-version=2017-12-01 + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1197' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - postgres up + Connection: + - keep-alive + User-Agent: + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/679e52fc-baa5-492b-881a-60a25e3212a7?api-version=2017-12-01 + response: + body: + string: '{"name":"679e52fc-baa5-492b-881a-60a25e3212a7","status":"Succeeded","startTime":"2020-05-25T08:19:26.47Z"}' + headers: + cache-control: + - no-cache + content-length: + - '106' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 08:19:45 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - postgres up + Connection: + - keep-alive + User-Agent: + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group4794040878/providers/Microsoft.DBforPostgreSQL/servers/server164938835/firewallRules/azure-access?api-version=2017-12-01 + response: + body: + string: '{"properties":{"startIpAddress":"0.0.0.0","endIpAddress":"0.0.0.0"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group4794040878/providers/Microsoft.DBforPostgreSQL/servers/server164938835/firewallRules/azure-access","name":"azure-access","type":"Microsoft.DBforPostgreSQL/servers/firewallRules"}' + headers: + cache-control: + - no-cache + content-length: + - '324' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 08:19:47 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - postgres up + Connection: + - keep-alive + ParameterSetName: + - -g + User-Agent: + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/postgresup000001?api-version=2019-07-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/postgresup000001","name":"postgresup000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2020-05-25T08:15:37Z","StorageType":"Standard_LRS","type":"test"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '471' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 08:19:52 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - postgres up + Connection: + - keep-alive + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -g + User-Agent: + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/postgresup000001/providers/Microsoft.DBforPostgreSQL/servers/server331254770?api-version=2017-12-01 + response: + body: + string: '{"error":{"code":"ResourceNotFound","message":"The Resource ''Microsoft.DBforPostgreSQL/servers/server331254770'' + under resource group ''postgresup000001'' was not found."}}' + headers: + cache-control: + - no-cache + content-length: + - '228' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 08:19:53 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-failure-cause: + - gateway + status: + code: 404 + message: Not Found +- request: + body: '{"sku": {"name": "GP_Gen5_2"}, "properties": {"version": "10", "sslEnforcement": + "Enabled", "storageProfile": {"geoRedundantBackup": "Disabled"}, "createMode": + "Default", "administratorLogin": "formalPie8", "administratorLoginPassword": + "85537822-deba-4040-bf9e-c48077654a0d"}, "location": "eastus"}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - postgres up + Connection: + - keep-alive + Content-Length: + - '299' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -g + User-Agent: + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/postgresup000001/providers/Microsoft.DBforPostgreSQL/servers/server331254770?api-version=2017-12-01 + response: + body: + string: '{"operation":"UpsertElasticServer","startTime":"2020-05-25T08:19:59.16Z"}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/1819b1ce-6965-45af-8530-a0ed66a5f8ea?api-version=2017-12-01 + cache-control: + - no-cache + content-length: + - '73' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 08:19:59 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/operationResults/1819b1ce-6965-45af-8530-a0ed66a5f8ea?api-version=2017-12-01 + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - postgres up + Connection: + - keep-alive + ParameterSetName: + - -g + User-Agent: + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/1819b1ce-6965-45af-8530-a0ed66a5f8ea?api-version=2017-12-01 + response: + body: + string: '{"name":"1819b1ce-6965-45af-8530-a0ed66a5f8ea","status":"InProgress","startTime":"2020-05-25T08:19:59.16Z"}' + headers: + cache-control: + - no-cache + content-length: + - '107' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 08:21:01 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - postgres up + Connection: + - keep-alive + ParameterSetName: + - -g + User-Agent: + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/1819b1ce-6965-45af-8530-a0ed66a5f8ea?api-version=2017-12-01 + response: + body: + string: '{"name":"1819b1ce-6965-45af-8530-a0ed66a5f8ea","status":"Succeeded","startTime":"2020-05-25T08:19:59.16Z"}' + headers: + cache-control: + - no-cache + content-length: + - '106' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 08:22:02 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - postgres up + Connection: + - keep-alive + ParameterSetName: + - -g + User-Agent: + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/postgresup000001/providers/Microsoft.DBforPostgreSQL/servers/server331254770?api-version=2017-12-01 + response: + body: + string: '{"sku":{"name":"GP_Gen5_2","tier":"GeneralPurpose","family":"Gen5","capacity":2},"properties":{"administratorLogin":"formalPie8","storageProfile":{"storageMB":5120,"backupRetentionDays":7,"geoRedundantBackup":"Disabled","storageAutogrow":"Disabled"},"version":"10","sslEnforcement":"Enabled","minimalTlsVersion":"TLSEnforcementDisabled","userVisibleState":"Ready","fullyQualifiedDomainName":"server331254770.postgres.database.azure.com","earliestRestoreDate":"2020-05-25T08:29:59.537+00:00","replicationRole":"None","masterServerId":"","replicaCapacity":5,"byokEnforcement":"Disabled","privateEndpointConnections":[],"infrastructureEncryption":"Disabled","publicNetworkAccess":"Enabled"},"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/postgresup000001/providers/Microsoft.DBforPostgreSQL/servers/server331254770","name":"server331254770","type":"Microsoft.DBforPostgreSQL/servers"}' + headers: + cache-control: + - no-cache + content-length: + - '986' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 08:22:03 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - postgres up + Connection: + - keep-alive + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -g + User-Agent: + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/postgresup000001/providers/Microsoft.DBforPostgreSQL/servers/server331254770/databases/sampledb?api-version=2017-12-01 + response: + body: + string: '{"error":{"code":"ResourceNotFound","message":"The requested resource + of type ''Microsoft.DBforPostgreSQL/servers/databases'' with name ''sampledb'' + was not found."}}' + headers: + cache-control: + - no-cache + content-length: + - '162' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 08:22:06 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 404 + message: Not Found +- request: + body: '{}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - postgres up + Connection: + - keep-alive + Content-Length: + - '2' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -g + User-Agent: + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/postgresup000001/providers/Microsoft.DBforPostgreSQL/servers/server331254770/databases/sampledb?api-version=2017-12-01 + response: + body: + string: '{"operation":"UpsertElasticServerDatabase","startTime":"2020-05-25T08:22:08.293Z"}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/91f2ddbd-8e26-4d14-ab39-96b543a0ce4a?api-version=2017-12-01 + cache-control: + - no-cache + content-length: + - '82' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 08:22:08 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/operationResults/91f2ddbd-8e26-4d14-ab39-96b543a0ce4a?api-version=2017-12-01 + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1196' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - postgres up + Connection: + - keep-alive + ParameterSetName: + - -g + User-Agent: + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/91f2ddbd-8e26-4d14-ab39-96b543a0ce4a?api-version=2017-12-01 + response: + body: + string: '{"name":"91f2ddbd-8e26-4d14-ab39-96b543a0ce4a","status":"Succeeded","startTime":"2020-05-25T08:22:08.293Z"}' + headers: + cache-control: + - no-cache + content-length: + - '107' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 08:22:24 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - postgres up + Connection: + - keep-alive + ParameterSetName: + - -g + User-Agent: + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/postgresup000001/providers/Microsoft.DBforPostgreSQL/servers/server331254770/databases/sampledb?api-version=2017-12-01 + response: + body: + string: '{"properties":{"charset":"UTF8","collation":"English_United States.1252"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/postgresup000001/providers/Microsoft.DBforPostgreSQL/servers/server331254770/databases/sampledb","name":"sampledb","type":"Microsoft.DBforPostgreSQL/servers/databases"}' + headers: + cache-control: + - no-cache + content-length: + - '374' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 08:22:24 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"properties": {"startIpAddress": "167.220.255.115", "endIpAddress": "167.220.255.115"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - postgres up + Connection: + - keep-alive + Content-Length: + - '88' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -g + User-Agent: + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/postgresup000001/providers/Microsoft.DBforPostgreSQL/servers/server331254770/firewallRules/devbox?api-version=2017-12-01 + response: + body: + string: '{"operation":"UpsertElasticServerFirewallRules","startTime":"2020-05-25T08:23:16.44Z"}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/76b3c6ff-9986-4a10-9b83-e31d6645dbbb?api-version=2017-12-01 + cache-control: + - no-cache + content-length: + - '86' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 08:23:17 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/operationResults/76b3c6ff-9986-4a10-9b83-e31d6645dbbb?api-version=2017-12-01 + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - postgres up + Connection: + - keep-alive + ParameterSetName: + - -g + User-Agent: + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/76b3c6ff-9986-4a10-9b83-e31d6645dbbb?api-version=2017-12-01 + response: + body: + string: '{"name":"76b3c6ff-9986-4a10-9b83-e31d6645dbbb","status":"Succeeded","startTime":"2020-05-25T08:23:16.44Z"}' + headers: + cache-control: + - no-cache + content-length: + - '106' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 08:23:33 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - postgres up + Connection: + - keep-alive + ParameterSetName: + - -g + User-Agent: + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/postgresup000001/providers/Microsoft.DBforPostgreSQL/servers/server331254770/firewallRules/devbox?api-version=2017-12-01 + response: + body: + string: '{"properties":{"startIpAddress":"167.220.255.115","endIpAddress":"167.220.255.115"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/postgresup000001/providers/Microsoft.DBforPostgreSQL/servers/server331254770/firewallRules/devbox","name":"devbox","type":"Microsoft.DBforPostgreSQL/servers/firewallRules"}' + headers: + cache-control: + - no-cache + content-length: + - '388' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 08:23:35 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"properties": {"startIpAddress": "0.0.0.0", "endIpAddress": "0.0.0.0"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - postgres up + Connection: + - keep-alive + Content-Length: + - '72' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -g + User-Agent: + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/postgresup000001/providers/Microsoft.DBforPostgreSQL/servers/server331254770/firewallRules/azure-access?api-version=2017-12-01 + response: + body: + string: '{"operation":"UpsertElasticServerFirewallRules","startTime":"2020-05-25T08:23:36.873Z"}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/eeff0a5b-75e8-4e52-8d18-60bd348dffc1?api-version=2017-12-01 + cache-control: + - no-cache + content-length: + - '87' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 08:23:38 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/operationResults/eeff0a5b-75e8-4e52-8d18-60bd348dffc1?api-version=2017-12-01 + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1195' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - postgres up + Connection: + - keep-alive + ParameterSetName: + - -g + User-Agent: + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/eeff0a5b-75e8-4e52-8d18-60bd348dffc1?api-version=2017-12-01 + response: + body: + string: '{"name":"eeff0a5b-75e8-4e52-8d18-60bd348dffc1","status":"Succeeded","startTime":"2020-05-25T08:23:36.873Z"}' + headers: + cache-control: + - no-cache + content-length: + - '107' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 08:23:54 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - postgres up + Connection: + - keep-alive + ParameterSetName: + - -g + User-Agent: + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/postgresup000001/providers/Microsoft.DBforPostgreSQL/servers/server331254770/firewallRules/azure-access?api-version=2017-12-01 + response: + body: + string: '{"properties":{"startIpAddress":"0.0.0.0","endIpAddress":"0.0.0.0"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/postgresup000001/providers/Microsoft.DBforPostgreSQL/servers/server331254770/firewallRules/azure-access","name":"azure-access","type":"Microsoft.DBforPostgreSQL/servers/firewallRules"}' + headers: + cache-control: + - no-cache + content-length: + - '384' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 08:23:56 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +version: 1 diff --git a/src/db-up/azext_db_up/tests/latest/recordings/test_sql_flow.yaml b/src/db-up/azext_db_up/tests/latest/recordings/test_sql_flow.yaml index 56f954eacc3..3afe0c58995 100644 --- a/src/db-up/azext_db_up/tests/latest/recordings/test_sql_flow.yaml +++ b/src/db-up/azext_db_up/tests/latest/recordings/test_sql_flow.yaml @@ -13,12 +13,12 @@ interactions: ParameterSetName: - -g -s User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 resourcemanagementclient/2.1.0 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/group000001?api-version=2018-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/group000001?api-version=2019-07-01 response: body: string: '{"error":{"code":"ResourceGroupNotFound","message":"Resource group @@ -31,7 +31,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 22 Mar 2019 21:26:05 GMT + - Mon, 25 May 2020 08:24:06 GMT expires: - '-1' pragma: @@ -46,53 +46,7 @@ interactions: code: 404 message: Not Found - request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - sql up - Connection: - - keep-alive - ParameterSetName: - - -g -s - User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 resourcemanagementclient/2.1.0 - Azure-SDK-For-Python AZURECLI/2.0.60 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/group000001?api-version=2018-05-01 - response: - body: - string: '{"error":{"code":"ResourceGroupNotFound","message":"Resource group - ''group000001'' could not be found."}}' - headers: - cache-control: - - no-cache - content-length: - - '116' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 22 Mar 2019 21:26:06 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-failure-cause: - - gateway - status: - code: 404 - message: Not Found -- request: - body: '{"location": "westus2"}' + body: '{"location": "eastus"}' headers: Accept: - application/json @@ -103,30 +57,30 @@ interactions: Connection: - keep-alive Content-Length: - - '23' + - '22' Content-Type: - application/json; charset=utf-8 ParameterSetName: - -g -s User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 resourcemanagementclient/2.1.0 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/group000001?api-version=2018-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/group000001?api-version=2019-07-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001","name":"group000001","location":"westus2","properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001","name":"group000001","type":"Microsoft.Resources/resourceGroups","location":"eastus","tags":{"StorageType":"Standard_LRS","type":"test"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '202' + - '297' content-type: - application/json; charset=utf-8 date: - - Fri, 22 Mar 2019 21:26:07 GMT + - Mon, 25 May 2020 08:24:08 GMT expires: - '-1' pragma: @@ -136,7 +90,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1198' status: code: 201 message: Created @@ -154,8 +108,8 @@ interactions: ParameterSetName: - -g -s User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 azure-mgmt-sql/0.11.0 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-sql/0.11.0 Azure-SDK-For-Python AZURECLI/2.6.0 accept-language: - en-US method: GET @@ -172,7 +126,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 22 Mar 2019 21:26:07 GMT + - Mon, 25 May 2020 08:24:08 GMT expires: - '-1' pragma: @@ -187,8 +141,8 @@ interactions: code: 404 message: Not Found - request: - body: '{"location": "westus2", "properties": {"administratorLogin": "sereneQuiche0", - "administratorLoginPassword": "fd7e33fc-cabe-4ee7-8462-b431ab270da6", "version": + body: '{"location": "eastus", "properties": {"administratorLogin": "thirdChile0", + "administratorLoginPassword": "8d28cece-4fcd-4da3-adc9-d2fdb2701983", "version": "12.0"}}' headers: Accept: @@ -200,24 +154,24 @@ interactions: Connection: - keep-alive Content-Length: - - '167' + - '164' Content-Type: - application/json; charset=utf-8 ParameterSetName: - -g -s User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 azure-mgmt-sql/0.11.0 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-sql/0.11.0 Azure-SDK-For-Python AZURECLI/2.6.0 accept-language: - en-US method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.Sql/servers/server000002?api-version=2015-05-01-preview response: body: - string: '{"operation":"UpsertLogicalServer","startTime":"2019-03-22T21:26:08.627Z"}' + string: '{"operation":"UpsertLogicalServer","startTime":"2020-05-25T08:24:14.363Z"}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.Sql/locations/westus2/serverAzureAsyncOperation/1299e721-555b-49a5-a811-9e97431f8881?api-version=2015-05-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.Sql/locations/eastus/serverAzureAsyncOperation/cd5077d0-5534-44eb-a7e4-90030fa926a3?api-version=2015-05-01-preview cache-control: - no-cache content-length: @@ -225,11 +179,11 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 22 Mar 2019 21:26:08 GMT + - Mon, 25 May 2020 08:24:14 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.Sql/locations/westus2/serverOperationResults/1299e721-555b-49a5-a811-9e97431f8881?api-version=2015-05-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.Sql/locations/eastus/serverOperationResults/cd5077d0-5534-44eb-a7e4-90030fa926a3?api-version=2015-05-01-preview pragma: - no-cache server: @@ -239,7 +193,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1196' status: code: 202 message: Accepted @@ -257,60 +211,13 @@ interactions: ParameterSetName: - -g -s User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 azure-mgmt-sql/0.11.0 - Azure-SDK-For-Python AZURECLI/2.0.60 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.Sql/locations/westus2/serverAzureAsyncOperation/1299e721-555b-49a5-a811-9e97431f8881?api-version=2015-05-01-preview - response: - body: - string: '{"name":"1299e721-555b-49a5-a811-9e97431f8881","status":"InProgress","startTime":"2019-03-22T21:26:08.627Z"}' - headers: - cache-control: - - no-cache - content-length: - - '108' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 22 Mar 2019 21:26:09 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - sql up - Connection: - - keep-alive - ParameterSetName: - - -g -s - User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 azure-mgmt-sql/0.11.0 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-sql/0.11.0 Azure-SDK-For-Python AZURECLI/2.6.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.Sql/locations/westus2/serverAzureAsyncOperation/1299e721-555b-49a5-a811-9e97431f8881?api-version=2015-05-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.Sql/locations/eastus/serverAzureAsyncOperation/cd5077d0-5534-44eb-a7e4-90030fa926a3?api-version=2015-05-01-preview response: body: - string: '{"name":"1299e721-555b-49a5-a811-9e97431f8881","status":"InProgress","startTime":"2019-03-22T21:26:08.627Z"}' + string: '{"name":"cd5077d0-5534-44eb-a7e4-90030fa926a3","status":"InProgress","startTime":"2020-05-25T08:24:14.363Z"}' headers: cache-control: - no-cache @@ -319,7 +226,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 22 Mar 2019 21:26:11 GMT + - Mon, 25 May 2020 08:24:15 GMT expires: - '-1' pragma: @@ -351,13 +258,13 @@ interactions: ParameterSetName: - -g -s User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 azure-mgmt-sql/0.11.0 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-sql/0.11.0 Azure-SDK-For-Python AZURECLI/2.6.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.Sql/locations/westus2/serverAzureAsyncOperation/1299e721-555b-49a5-a811-9e97431f8881?api-version=2015-05-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.Sql/locations/eastus/serverAzureAsyncOperation/cd5077d0-5534-44eb-a7e4-90030fa926a3?api-version=2015-05-01-preview response: body: - string: '{"name":"1299e721-555b-49a5-a811-9e97431f8881","status":"InProgress","startTime":"2019-03-22T21:26:08.627Z"}' + string: '{"name":"cd5077d0-5534-44eb-a7e4-90030fa926a3","status":"InProgress","startTime":"2020-05-25T08:24:14.363Z"}' headers: cache-control: - no-cache @@ -366,7 +273,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 22 Mar 2019 21:26:13 GMT + - Mon, 25 May 2020 08:24:17 GMT expires: - '-1' pragma: @@ -398,13 +305,13 @@ interactions: ParameterSetName: - -g -s User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 azure-mgmt-sql/0.11.0 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-sql/0.11.0 Azure-SDK-For-Python AZURECLI/2.6.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.Sql/locations/westus2/serverAzureAsyncOperation/1299e721-555b-49a5-a811-9e97431f8881?api-version=2015-05-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.Sql/locations/eastus/serverAzureAsyncOperation/cd5077d0-5534-44eb-a7e4-90030fa926a3?api-version=2015-05-01-preview response: body: - string: '{"name":"1299e721-555b-49a5-a811-9e97431f8881","status":"InProgress","startTime":"2019-03-22T21:26:08.627Z"}' + string: '{"name":"cd5077d0-5534-44eb-a7e4-90030fa926a3","status":"InProgress","startTime":"2020-05-25T08:24:14.363Z"}' headers: cache-control: - no-cache @@ -413,7 +320,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 22 Mar 2019 21:26:14 GMT + - Mon, 25 May 2020 08:24:18 GMT expires: - '-1' pragma: @@ -445,13 +352,13 @@ interactions: ParameterSetName: - -g -s User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 azure-mgmt-sql/0.11.0 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-sql/0.11.0 Azure-SDK-For-Python AZURECLI/2.6.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.Sql/locations/westus2/serverAzureAsyncOperation/1299e721-555b-49a5-a811-9e97431f8881?api-version=2015-05-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.Sql/locations/eastus/serverAzureAsyncOperation/cd5077d0-5534-44eb-a7e4-90030fa926a3?api-version=2015-05-01-preview response: body: - string: '{"name":"1299e721-555b-49a5-a811-9e97431f8881","status":"InProgress","startTime":"2019-03-22T21:26:08.627Z"}' + string: '{"name":"cd5077d0-5534-44eb-a7e4-90030fa926a3","status":"InProgress","startTime":"2020-05-25T08:24:14.363Z"}' headers: cache-control: - no-cache @@ -460,7 +367,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 22 Mar 2019 21:26:34 GMT + - Mon, 25 May 2020 08:24:39 GMT expires: - '-1' pragma: @@ -492,13 +399,13 @@ interactions: ParameterSetName: - -g -s User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 azure-mgmt-sql/0.11.0 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-sql/0.11.0 Azure-SDK-For-Python AZURECLI/2.6.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.Sql/locations/westus2/serverAzureAsyncOperation/1299e721-555b-49a5-a811-9e97431f8881?api-version=2015-05-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.Sql/locations/eastus/serverAzureAsyncOperation/cd5077d0-5534-44eb-a7e4-90030fa926a3?api-version=2015-05-01-preview response: body: - string: '{"name":"1299e721-555b-49a5-a811-9e97431f8881","status":"Succeeded","startTime":"2019-03-22T21:26:08.627Z"}' + string: '{"name":"cd5077d0-5534-44eb-a7e4-90030fa926a3","status":"Succeeded","startTime":"2020-05-25T08:24:14.363Z"}' headers: cache-control: - no-cache @@ -507,7 +414,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 22 Mar 2019 21:26:56 GMT + - Mon, 25 May 2020 08:25:00 GMT expires: - '-1' pragma: @@ -539,22 +446,22 @@ interactions: ParameterSetName: - -g -s User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 azure-mgmt-sql/0.11.0 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-sql/0.11.0 Azure-SDK-For-Python AZURECLI/2.6.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.Sql/servers/server000002?api-version=2015-05-01-preview response: body: - string: '{"kind":"v12.0","properties":{"administratorLogin":"sereneQuiche0","version":"12.0","state":"Ready","fullyQualifiedDomainName":"server000002.database.windows.net"},"location":"westus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.Sql/servers/server000002","name":"server000002","type":"Microsoft.Sql/servers"}' + string: '{"kind":"v12.0","properties":{"administratorLogin":"thirdChile0","version":"12.0","state":"Ready","fullyQualifiedDomainName":"server000002.database.windows.net"},"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.Sql/servers/server000002","name":"server000002","type":"Microsoft.Sql/servers"}' headers: cache-control: - no-cache content-length: - - '418' + - '415' content-type: - application/json; charset=utf-8 date: - - Fri, 22 Mar 2019 21:26:55 GMT + - Mon, 25 May 2020 08:25:01 GMT expires: - '-1' pragma: @@ -590,27 +497,27 @@ interactions: ParameterSetName: - -g -s User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 azure-mgmt-sql/0.11.0 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-sql/0.11.0 Azure-SDK-For-Python AZURECLI/2.6.0 accept-language: - en-US method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.Sql/servers/server000002/firewallRules/azure-access?api-version=2014-04-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.Sql/servers/server000002/firewallRules/azure-access","name":"azure-access","type":"Microsoft.Sql/servers/firewallRules","location":"West - US 2","kind":"v12.0","properties":{"startIpAddress":"0.0.0.0","endIpAddress":"0.0.0.0"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.Sql/servers/server000002/firewallRules/azure-access","name":"azure-access","type":"Microsoft.Sql/servers/firewallRules","location":"East + US","kind":"v12.0","properties":{"startIpAddress":"0.0.0.0","endIpAddress":"0.0.0.0"}}' headers: cache-control: - no-store, no-cache content-length: - - '356' + - '354' content-type: - application/json; odata=minimalmetadata; streaming=true; charset=utf-8 dataserviceversion: - 3.0; date: - - Fri, 22 Mar 2019 21:26:58 GMT + - Mon, 25 May 2020 08:25:02 GMT preference-applied: - return-content server: @@ -620,7 +527,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1198' status: code: 201 message: Created @@ -638,8 +545,8 @@ interactions: ParameterSetName: - -g -s User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 azure-mgmt-sql/0.11.0 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-sql/0.11.0 Azure-SDK-For-Python AZURECLI/2.6.0 accept-language: - en-US method: GET @@ -656,7 +563,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 22 Mar 2019 21:26:57 GMT + - Mon, 25 May 2020 08:25:03 GMT expires: - '-1' pragma: @@ -671,7 +578,7 @@ interactions: code: 404 message: Not Found - request: - body: '{"location": "westus2"}' + body: '{"location": "eastus"}' headers: Accept: - application/json @@ -682,36 +589,36 @@ interactions: Connection: - keep-alive Content-Length: - - '23' + - '22' Content-Type: - application/json; charset=utf-8 ParameterSetName: - -g -s User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 azure-mgmt-sql/0.11.0 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-sql/0.11.0 Azure-SDK-For-Python AZURECLI/2.6.0 accept-language: - en-US method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.Sql/servers/server000002/databases/sampledb?api-version=2017-10-01-preview response: body: - string: '{"operation":"CreateLogicalDatabase","startTime":"2019-03-22T21:26:59.2Z"}' + string: '{"operation":"CreateLogicalDatabase","startTime":"2020-05-25T08:25:07.617Z"}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.Sql/locations/westus2/databaseAzureAsyncOperation/b81fb0ac-570c-4a68-b727-ec4afdfc6531?api-version=2017-10-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.Sql/locations/eastus/databaseAzureAsyncOperation/50603bdc-4828-4559-8d94-ff64cdda4ba5?api-version=2017-10-01-preview cache-control: - no-cache content-length: - - '74' + - '76' content-type: - application/json; charset=utf-8 date: - - Fri, 22 Mar 2019 21:26:59 GMT + - Mon, 25 May 2020 08:25:07 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.Sql/locations/westus2/databaseOperationResults/b81fb0ac-570c-4a68-b727-ec4afdfc6531?api-version=2017-10-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.Sql/locations/eastus/databaseOperationResults/50603bdc-4828-4559-8d94-ff64cdda4ba5?api-version=2017-10-01-preview pragma: - no-cache server: @@ -721,7 +628,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1197' status: code: 202 message: Accepted @@ -739,22 +646,22 @@ interactions: ParameterSetName: - -g -s User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 azure-mgmt-sql/0.11.0 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-sql/0.11.0 Azure-SDK-For-Python AZURECLI/2.6.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.Sql/locations/westus2/databaseAzureAsyncOperation/b81fb0ac-570c-4a68-b727-ec4afdfc6531?api-version=2017-10-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.Sql/locations/eastus/databaseAzureAsyncOperation/50603bdc-4828-4559-8d94-ff64cdda4ba5?api-version=2017-10-01-preview response: body: - string: '{"name":"b81fb0ac-570c-4a68-b727-ec4afdfc6531","status":"InProgress","startTime":"2019-03-22T21:26:59.2Z"}' + string: '{"name":"50603bdc-4828-4559-8d94-ff64cdda4ba5","status":"InProgress","startTime":"2020-05-25T08:25:07.617Z"}' headers: cache-control: - no-cache content-length: - - '106' + - '108' content-type: - application/json; charset=utf-8 date: - - Fri, 22 Mar 2019 21:27:14 GMT + - Mon, 25 May 2020 08:25:23 GMT expires: - '-1' pragma: @@ -786,22 +693,22 @@ interactions: ParameterSetName: - -g -s User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 azure-mgmt-sql/0.11.0 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-sql/0.11.0 Azure-SDK-For-Python AZURECLI/2.6.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.Sql/locations/westus2/databaseAzureAsyncOperation/b81fb0ac-570c-4a68-b727-ec4afdfc6531?api-version=2017-10-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.Sql/locations/eastus/databaseAzureAsyncOperation/50603bdc-4828-4559-8d94-ff64cdda4ba5?api-version=2017-10-01-preview response: body: - string: '{"name":"b81fb0ac-570c-4a68-b727-ec4afdfc6531","status":"InProgress","startTime":"2019-03-22T21:26:59.2Z"}' + string: '{"name":"50603bdc-4828-4559-8d94-ff64cdda4ba5","status":"InProgress","startTime":"2020-05-25T08:25:07.617Z"}' headers: cache-control: - no-cache content-length: - - '106' + - '108' content-type: - application/json; charset=utf-8 date: - - Fri, 22 Mar 2019 21:27:29 GMT + - Mon, 25 May 2020 08:25:38 GMT expires: - '-1' pragma: @@ -833,22 +740,22 @@ interactions: ParameterSetName: - -g -s User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 azure-mgmt-sql/0.11.0 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-sql/0.11.0 Azure-SDK-For-Python AZURECLI/2.6.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.Sql/locations/westus2/databaseAzureAsyncOperation/b81fb0ac-570c-4a68-b727-ec4afdfc6531?api-version=2017-10-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.Sql/locations/eastus/databaseAzureAsyncOperation/50603bdc-4828-4559-8d94-ff64cdda4ba5?api-version=2017-10-01-preview response: body: - string: '{"name":"b81fb0ac-570c-4a68-b727-ec4afdfc6531","status":"InProgress","startTime":"2019-03-22T21:26:59.2Z"}' + string: '{"name":"50603bdc-4828-4559-8d94-ff64cdda4ba5","status":"Succeeded","startTime":"2020-05-25T08:25:07.617Z"}' headers: cache-control: - no-cache content-length: - - '106' + - '107' content-type: - application/json; charset=utf-8 date: - - Fri, 22 Mar 2019 21:27:44 GMT + - Mon, 25 May 2020 08:25:54 GMT expires: - '-1' pragma: @@ -880,22 +787,22 @@ interactions: ParameterSetName: - -g -s User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 azure-mgmt-sql/0.11.0 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-sql/0.11.0 Azure-SDK-For-Python AZURECLI/2.6.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.Sql/locations/westus2/databaseAzureAsyncOperation/b81fb0ac-570c-4a68-b727-ec4afdfc6531?api-version=2017-10-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.Sql/servers/server000002/databases/sampledb?api-version=2017-10-01-preview response: body: - string: '{"name":"b81fb0ac-570c-4a68-b727-ec4afdfc6531","status":"Succeeded","startTime":"2019-03-22T21:26:59.2Z"}' + string: '{"sku":{"name":"GP_Gen5","tier":"GeneralPurpose","family":"Gen5","capacity":2},"kind":"v12.0,user,vcore","properties":{"collation":"SQL_Latin1_General_CP1_CI_AS","maxSizeBytes":34359738368,"status":"Online","databaseId":"24f226cf-53a9-436c-b40a-7ec3ea616146","creationDate":"2020-05-25T08:25:44.287Z","currentServiceObjectiveName":"GP_Gen5_2","requestedServiceObjectiveName":"GP_Gen5_2","defaultSecondaryLocation":"westus","catalogCollation":"SQL_Latin1_General_CP1_CI_AS","zoneRedundant":false,"licenseType":"LicenseIncluded","maxLogSizeBytes":10307502080,"earliestRestoreDate":"2020-05-25T08:55:44.287Z","readScale":"Disabled","readReplicaCount":0,"currentSku":{"name":"GP_Gen5","tier":"GeneralPurpose","family":"Gen5","capacity":2}},"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.Sql/servers/server000002/databases/sampledb","name":"sampledb","type":"Microsoft.Sql/servers/databases"}' headers: cache-control: - no-cache content-length: - - '105' + - '990' content-type: - application/json; charset=utf-8 date: - - Fri, 22 Mar 2019 21:28:01 GMT + - Mon, 25 May 2020 08:25:55 GMT expires: - '-1' pragma: @@ -914,7 +821,7 @@ interactions: code: 200 message: OK - request: - body: null + body: '{"properties": {"startIpAddress": "167.220.255.51", "endIpAddress": "167.220.255.51"}}' headers: Accept: - application/json @@ -924,35 +831,83 @@ interactions: - sql up Connection: - keep-alive + Content-Length: + - '86' + Content-Type: + - application/json; charset=utf-8 ParameterSetName: - -g -s User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 azure-mgmt-sql/0.11.0 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-sql/0.11.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.Sql/servers/server000002/firewallRules/devbox?api-version=2014-04-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.Sql/servers/server000002/firewallRules/devbox","name":"devbox","type":"Microsoft.Sql/servers/firewallRules","location":"East + US","kind":"v12.0","properties":{"startIpAddress":"167.220.255.51","endIpAddress":"167.220.255.51"}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '356' + content-type: + - application/json; odata=minimalmetadata; streaming=true; charset=utf-8 + dataserviceversion: + - 3.0; + date: + - Mon, 25 May 2020 08:26:10 GMT + preference-applied: + - return-content + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - sql up + Connection: + - keep-alive + User-Agent: + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.Sql/servers/server000002/databases/sampledb?api-version=2017-10-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/group000001?api-version=2019-07-01 response: body: - string: '{"sku":{"name":"Standard","tier":"Standard","capacity":10},"kind":"v12.0,user","properties":{"collation":"SQL_Latin1_General_CP1_CI_AS","maxSizeBytes":268435456000,"status":"Online","databaseId":"cbcfa9e3-95fe-4e26-9180-f1a9ccaea793","creationDate":"2019-03-22T21:27:55.827Z","currentServiceObjectiveName":"S0","requestedServiceObjectiveName":"S0","defaultSecondaryLocation":"westcentralus","catalogCollation":"SQL_Latin1_General_CP1_CI_AS","zoneRedundant":false,"earliestRestoreDate":"2019-03-22T21:57:55.827Z","readScale":"Disabled","readReplicaCount":0,"currentSku":{"name":"Standard","tier":"Standard","capacity":10}},"location":"westus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.Sql/servers/server000002/databases/sampledb","name":"sampledb","type":"Microsoft.Sql/servers/databases"}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001","name":"group000001","type":"Microsoft.Resources/resourceGroups","location":"eastus","tags":{"StorageType":"Standard_LRS","type":"test"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '877' + - '297' content-type: - application/json; charset=utf-8 date: - - Fri, 22 Mar 2019 21:28:01 GMT + - Mon, 25 May 2020 08:26:13 GMT expires: - '-1' pragma: - no-cache - server: - - Microsoft-HTTPAPI/2.0 strict-transport-security: - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked vary: - Accept-Encoding x-content-type-options: @@ -972,24 +927,24 @@ interactions: Connection: - keep-alive User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 resourcemanagementclient/2.1.0 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/group000001?api-version=2018-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/group000001?api-version=2019-07-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001","name":"group000001","location":"westus2","properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001","name":"group000001","type":"Microsoft.Resources/resourceGroups","location":"eastus","tags":{"StorageType":"Standard_LRS","type":"test"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '202' + - '297' content-type: - application/json; charset=utf-8 date: - - Fri, 22 Mar 2019 21:28:02 GMT + - Mon, 25 May 2020 08:26:13 GMT expires: - '-1' pragma: @@ -1015,24 +970,24 @@ interactions: Connection: - keep-alive User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 azure-mgmt-sql/0.11.0 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-sql/0.11.0 Azure-SDK-For-Python AZURECLI/2.6.0 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.Sql/servers/server000002?api-version=2015-05-01-preview response: body: - string: '{"kind":"v12.0","properties":{"administratorLogin":"sereneQuiche0","version":"12.0","state":"Ready","fullyQualifiedDomainName":"server000002.database.windows.net"},"location":"westus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.Sql/servers/server000002","name":"server000002","type":"Microsoft.Sql/servers"}' + string: '{"kind":"v12.0","properties":{"administratorLogin":"thirdChile0","version":"12.0","state":"Ready","fullyQualifiedDomainName":"server000002.database.windows.net"},"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.Sql/servers/server000002","name":"server000002","type":"Microsoft.Sql/servers"}' headers: cache-control: - no-cache content-length: - - '418' + - '415' content-type: - application/json; charset=utf-8 date: - - Fri, 22 Mar 2019 21:28:03 GMT + - Mon, 25 May 2020 08:26:14 GMT expires: - '-1' pragma: @@ -1062,24 +1017,24 @@ interactions: Connection: - keep-alive User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 azure-mgmt-sql/0.11.0 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-sql/0.11.0 Azure-SDK-For-Python AZURECLI/2.6.0 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.Sql/servers/server000002/databases/sampledb?api-version=2017-10-01-preview response: body: - string: '{"sku":{"name":"Standard","tier":"Standard","capacity":10},"kind":"v12.0,user","properties":{"collation":"SQL_Latin1_General_CP1_CI_AS","maxSizeBytes":268435456000,"status":"Online","databaseId":"cbcfa9e3-95fe-4e26-9180-f1a9ccaea793","creationDate":"2019-03-22T21:27:55.827Z","currentServiceObjectiveName":"S0","requestedServiceObjectiveName":"S0","defaultSecondaryLocation":"westcentralus","catalogCollation":"SQL_Latin1_General_CP1_CI_AS","zoneRedundant":false,"earliestRestoreDate":"2019-03-22T21:57:55.827Z","readScale":"Disabled","readReplicaCount":0,"currentSku":{"name":"Standard","tier":"Standard","capacity":10}},"location":"westus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.Sql/servers/server000002/databases/sampledb","name":"sampledb","type":"Microsoft.Sql/servers/databases"}' + string: '{"sku":{"name":"GP_Gen5","tier":"GeneralPurpose","family":"Gen5","capacity":2},"kind":"v12.0,user,vcore","properties":{"collation":"SQL_Latin1_General_CP1_CI_AS","maxSizeBytes":34359738368,"status":"Online","databaseId":"24f226cf-53a9-436c-b40a-7ec3ea616146","creationDate":"2020-05-25T08:25:44.287Z","currentServiceObjectiveName":"GP_Gen5_2","requestedServiceObjectiveName":"GP_Gen5_2","defaultSecondaryLocation":"westus","catalogCollation":"SQL_Latin1_General_CP1_CI_AS","zoneRedundant":false,"licenseType":"LicenseIncluded","maxLogSizeBytes":10307502080,"earliestRestoreDate":"2020-05-25T08:55:44.287Z","readScale":"Disabled","readReplicaCount":0,"currentSku":{"name":"GP_Gen5","tier":"GeneralPurpose","family":"Gen5","capacity":2}},"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.Sql/servers/server000002/databases/sampledb","name":"sampledb","type":"Microsoft.Sql/servers/databases"}' headers: cache-control: - no-cache content-length: - - '877' + - '990' content-type: - application/json; charset=utf-8 date: - - Fri, 22 Mar 2019 21:28:03 GMT + - Mon, 25 May 2020 08:26:14 GMT expires: - '-1' pragma: @@ -1111,24 +1066,24 @@ interactions: ParameterSetName: - -p User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 resourcemanagementclient/2.1.0 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/group000001?api-version=2018-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/group000001?api-version=2019-07-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001","name":"group000001","location":"westus2","properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001","name":"group000001","type":"Microsoft.Resources/resourceGroups","location":"eastus","tags":{"StorageType":"Standard_LRS","type":"test"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '202' + - '297' content-type: - application/json; charset=utf-8 date: - - Fri, 22 Mar 2019 21:28:04 GMT + - Mon, 25 May 2020 08:26:28 GMT expires: - '-1' pragma: @@ -1156,24 +1111,69 @@ interactions: ParameterSetName: - -p User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 azure-mgmt-sql/0.11.0 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/group000001?api-version=2019-07-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001","name":"group000001","type":"Microsoft.Resources/resourceGroups","location":"eastus","tags":{"StorageType":"Standard_LRS","type":"test"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '297' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 25 May 2020 08:26:28 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - sql up + Connection: + - keep-alive + ParameterSetName: + - -p + User-Agent: + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-sql/0.11.0 Azure-SDK-For-Python AZURECLI/2.6.0 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.Sql/servers/server000002?api-version=2015-05-01-preview response: body: - string: '{"kind":"v12.0","properties":{"administratorLogin":"sereneQuiche0","version":"12.0","state":"Ready","fullyQualifiedDomainName":"server000002.database.windows.net"},"location":"westus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.Sql/servers/server000002","name":"server000002","type":"Microsoft.Sql/servers"}' + string: '{"kind":"v12.0","properties":{"administratorLogin":"thirdChile0","version":"12.0","state":"Ready","fullyQualifiedDomainName":"server000002.database.windows.net"},"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.Sql/servers/server000002","name":"server000002","type":"Microsoft.Sql/servers"}' headers: cache-control: - no-cache content-length: - - '418' + - '415' content-type: - application/json; charset=utf-8 date: - - Fri, 22 Mar 2019 21:28:05 GMT + - Mon, 25 May 2020 08:26:29 GMT expires: - '-1' pragma: @@ -1192,7 +1192,7 @@ interactions: code: 200 message: OK - request: - body: '{"properties": {"administratorLoginPassword": "fd7e33fc-cabe-4ee7-8462-b431ab270da6"}}' + body: '{"properties": {"administratorLoginPassword": "8d28cece-4fcd-4da3-adc9-d2fdb2701983"}}' headers: Accept: - application/json @@ -1209,18 +1209,18 @@ interactions: ParameterSetName: - -p User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 azure-mgmt-sql/0.11.0 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-sql/0.11.0 Azure-SDK-For-Python AZURECLI/2.6.0 accept-language: - en-US method: PATCH uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.Sql/servers/server000002?api-version=2015-05-01-preview response: body: - string: '{"operation":"UpsertLogicalServer","startTime":"2019-03-22T21:28:06.85Z"}' + string: '{"operation":"UpsertLogicalServer","startTime":"2020-05-25T08:26:30.41Z"}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.Sql/locations/westus2/serverAzureAsyncOperation/1a7bc1b5-9f56-4da7-851d-b8cb1dc2dbfe?api-version=2015-05-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.Sql/locations/eastus/serverAzureAsyncOperation/9957b119-ae9b-4108-92f6-da0eb077763c?api-version=2015-05-01-preview cache-control: - no-cache content-length: @@ -1228,11 +1228,11 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 22 Mar 2019 21:28:06 GMT + - Mon, 25 May 2020 08:26:30 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.Sql/locations/westus2/serverOperationResults/1a7bc1b5-9f56-4da7-851d-b8cb1dc2dbfe?api-version=2015-05-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.Sql/locations/eastus/serverOperationResults/9957b119-ae9b-4108-92f6-da0eb077763c?api-version=2015-05-01-preview pragma: - no-cache server: @@ -1242,7 +1242,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1197' status: code: 202 message: Accepted @@ -1260,13 +1260,13 @@ interactions: ParameterSetName: - -p User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 azure-mgmt-sql/0.11.0 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-sql/0.11.0 Azure-SDK-For-Python AZURECLI/2.6.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.Sql/locations/westus2/serverAzureAsyncOperation/1a7bc1b5-9f56-4da7-851d-b8cb1dc2dbfe?api-version=2015-05-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.Sql/locations/eastus/serverAzureAsyncOperation/9957b119-ae9b-4108-92f6-da0eb077763c?api-version=2015-05-01-preview response: body: - string: '{"name":"1a7bc1b5-9f56-4da7-851d-b8cb1dc2dbfe","status":"Succeeded","startTime":"2019-03-22T21:28:06.85Z"}' + string: '{"name":"9957b119-ae9b-4108-92f6-da0eb077763c","status":"Succeeded","startTime":"2020-05-25T08:26:30.41Z"}' headers: cache-control: - no-cache @@ -1275,7 +1275,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 22 Mar 2019 21:28:07 GMT + - Mon, 25 May 2020 08:26:31 GMT expires: - '-1' pragma: @@ -1307,22 +1307,22 @@ interactions: ParameterSetName: - -p User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 azure-mgmt-sql/0.11.0 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-sql/0.11.0 Azure-SDK-For-Python AZURECLI/2.6.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.Sql/servers/server000002?api-version=2015-05-01-preview response: body: - string: '{"kind":"v12.0","properties":{"administratorLogin":"sereneQuiche0","version":"12.0","state":"Ready","fullyQualifiedDomainName":"server000002.database.windows.net"},"location":"westus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.Sql/servers/server000002","name":"server000002","type":"Microsoft.Sql/servers"}' + string: '{"kind":"v12.0","properties":{"administratorLogin":"thirdChile0","version":"12.0","state":"Ready","fullyQualifiedDomainName":"server000002.database.windows.net"},"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.Sql/servers/server000002","name":"server000002","type":"Microsoft.Sql/servers"}' headers: cache-control: - no-cache content-length: - - '418' + - '415' content-type: - application/json; charset=utf-8 date: - - Fri, 22 Mar 2019 21:28:08 GMT + - Mon, 25 May 2020 08:26:32 GMT expires: - '-1' pragma: @@ -1354,24 +1354,24 @@ interactions: ParameterSetName: - -p User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 azure-mgmt-sql/0.11.0 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-sql/0.11.0 Azure-SDK-For-Python AZURECLI/2.6.0 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.Sql/servers/server000002/databases/sampledb?api-version=2017-10-01-preview response: body: - string: '{"sku":{"name":"Standard","tier":"Standard","capacity":10},"kind":"v12.0,user","properties":{"collation":"SQL_Latin1_General_CP1_CI_AS","maxSizeBytes":268435456000,"status":"Online","databaseId":"cbcfa9e3-95fe-4e26-9180-f1a9ccaea793","creationDate":"2019-03-22T21:27:55.827Z","currentServiceObjectiveName":"S0","requestedServiceObjectiveName":"S0","defaultSecondaryLocation":"westcentralus","catalogCollation":"SQL_Latin1_General_CP1_CI_AS","zoneRedundant":false,"earliestRestoreDate":"2019-03-22T21:57:55.827Z","readScale":"Disabled","readReplicaCount":0,"currentSku":{"name":"Standard","tier":"Standard","capacity":10}},"location":"westus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.Sql/servers/server000002/databases/sampledb","name":"sampledb","type":"Microsoft.Sql/servers/databases"}' + string: '{"sku":{"name":"GP_Gen5","tier":"GeneralPurpose","family":"Gen5","capacity":2},"kind":"v12.0,user,vcore","properties":{"collation":"SQL_Latin1_General_CP1_CI_AS","maxSizeBytes":34359738368,"status":"Online","databaseId":"24f226cf-53a9-436c-b40a-7ec3ea616146","creationDate":"2020-05-25T08:25:44.287Z","currentServiceObjectiveName":"GP_Gen5_2","requestedServiceObjectiveName":"GP_Gen5_2","defaultSecondaryLocation":"westus","catalogCollation":"SQL_Latin1_General_CP1_CI_AS","zoneRedundant":false,"licenseType":"LicenseIncluded","maxLogSizeBytes":10307502080,"earliestRestoreDate":"2020-05-25T08:55:44.287Z","readScale":"Disabled","readReplicaCount":0,"currentSku":{"name":"GP_Gen5","tier":"GeneralPurpose","family":"Gen5","capacity":2}},"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.Sql/servers/server000002/databases/sampledb","name":"sampledb","type":"Microsoft.Sql/servers/databases"}' headers: cache-control: - no-cache content-length: - - '877' + - '990' content-type: - application/json; charset=utf-8 date: - - Fri, 22 Mar 2019 21:28:08 GMT + - Mon, 25 May 2020 08:26:33 GMT expires: - '-1' pragma: @@ -1403,24 +1403,24 @@ interactions: ParameterSetName: - -n -g -s User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 azure-mgmt-sql/0.11.0 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-sql/0.18.0 Azure-SDK-For-Python AZURECLI/2.6.0 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.Sql/servers/server000002/databases/sampledb?api-version=2017-10-01-preview response: body: - string: '{"sku":{"name":"Standard","tier":"Standard","capacity":10},"kind":"v12.0,user","properties":{"collation":"SQL_Latin1_General_CP1_CI_AS","maxSizeBytes":268435456000,"status":"Online","databaseId":"cbcfa9e3-95fe-4e26-9180-f1a9ccaea793","creationDate":"2019-03-22T21:27:55.827Z","currentServiceObjectiveName":"S0","requestedServiceObjectiveName":"S0","defaultSecondaryLocation":"westcentralus","catalogCollation":"SQL_Latin1_General_CP1_CI_AS","zoneRedundant":false,"earliestRestoreDate":"2019-03-22T21:57:55.827Z","readScale":"Disabled","readReplicaCount":0,"currentSku":{"name":"Standard","tier":"Standard","capacity":10}},"location":"westus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.Sql/servers/server000002/databases/sampledb","name":"sampledb","type":"Microsoft.Sql/servers/databases"}' + string: '{"sku":{"name":"GP_Gen5","tier":"GeneralPurpose","family":"Gen5","capacity":2},"kind":"v12.0,user,vcore","properties":{"collation":"SQL_Latin1_General_CP1_CI_AS","maxSizeBytes":34359738368,"status":"Online","databaseId":"24f226cf-53a9-436c-b40a-7ec3ea616146","creationDate":"2020-05-25T08:25:44.287Z","currentServiceObjectiveName":"GP_Gen5_2","requestedServiceObjectiveName":"GP_Gen5_2","defaultSecondaryLocation":"westus","catalogCollation":"SQL_Latin1_General_CP1_CI_AS","zoneRedundant":false,"licenseType":"LicenseIncluded","maxLogSizeBytes":10307502080,"earliestRestoreDate":"2020-05-25T08:55:44.287Z","readScale":"Disabled","readReplicaCount":0,"currentSku":{"name":"GP_Gen5","tier":"GeneralPurpose","family":"Gen5","capacity":2}},"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.Sql/servers/server000002/databases/sampledb","name":"sampledb","type":"Microsoft.Sql/servers/databases"}' headers: cache-control: - no-cache content-length: - - '877' + - '990' content-type: - application/json; charset=utf-8 date: - - Fri, 22 Mar 2019 21:28:09 GMT + - Mon, 25 May 2020 08:27:12 GMT expires: - '-1' pragma: @@ -1454,12 +1454,12 @@ interactions: ParameterSetName: - -y --delete-group User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 resourcemanagementclient/2.1.0 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 accept-language: - en-US method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/group000001?api-version=2018-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/group000001?api-version=2019-07-01 response: body: string: '' @@ -1469,11 +1469,11 @@ interactions: content-length: - '0' date: - - Fri, 22 Mar 2019 21:28:10 GMT + - Mon, 25 May 2020 08:27:18 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUEQ3TzNCRU0ySEYzTlpUNzJQNjctV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2018-05-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUElaQ0pLVkJXRExNWTdYSDRHQlotRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2019-07-01 pragma: - no-cache strict-transport-security: @@ -1499,10 +1499,174 @@ interactions: ParameterSetName: - -y --delete-group User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 resourcemanagementclient/2.1.0 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUElaQ0pLVkJXRExNWTdYSDRHQlotRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2019-07-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Mon, 25 May 2020 08:27:34 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUElaQ0pLVkJXRExNWTdYSDRHQlotRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2019-07-01 + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - sql down + Connection: + - keep-alive + ParameterSetName: + - -y --delete-group + User-Agent: + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUElaQ0pLVkJXRExNWTdYSDRHQlotRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2019-07-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Mon, 25 May 2020 08:27:51 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUElaQ0pLVkJXRExNWTdYSDRHQlotRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2019-07-01 + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - sql down + Connection: + - keep-alive + ParameterSetName: + - -y --delete-group + User-Agent: + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUElaQ0pLVkJXRExNWTdYSDRHQlotRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2019-07-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Mon, 25 May 2020 08:28:06 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUElaQ0pLVkJXRExNWTdYSDRHQlotRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2019-07-01 + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - sql down + Connection: + - keep-alive + ParameterSetName: + - -y --delete-group + User-Agent: + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUElaQ0pLVkJXRExNWTdYSDRHQlotRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2019-07-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Mon, 25 May 2020 08:28:21 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUElaQ0pLVkJXRExNWTdYSDRHQlotRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2019-07-01 + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - sql down + Connection: + - keep-alive + ParameterSetName: + - -y --delete-group + User-Agent: + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUEQ3TzNCRU0ySEYzTlpUNzJQNjctV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2018-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUElaQ0pLVkJXRExNWTdYSDRHQlotRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2019-07-01 response: body: string: '' @@ -1512,11 +1676,11 @@ interactions: content-length: - '0' date: - - Fri, 22 Mar 2019 21:28:25 GMT + - Mon, 25 May 2020 08:28:37 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUEQ3TzNCRU0ySEYzTlpUNzJQNjctV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2018-05-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUElaQ0pLVkJXRExNWTdYSDRHQlotRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2019-07-01 pragma: - no-cache strict-transport-security: @@ -1540,10 +1704,10 @@ interactions: ParameterSetName: - -y --delete-group User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 resourcemanagementclient/2.1.0 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUEQ3TzNCRU0ySEYzTlpUNzJQNjctV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2018-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUElaQ0pLVkJXRExNWTdYSDRHQlotRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2019-07-01 response: body: string: '' @@ -1553,11 +1717,11 @@ interactions: content-length: - '0' date: - - Fri, 22 Mar 2019 21:28:41 GMT + - Mon, 25 May 2020 08:28:52 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUEQ3TzNCRU0ySEYzTlpUNzJQNjctV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2018-05-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUElaQ0pLVkJXRExNWTdYSDRHQlotRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2019-07-01 pragma: - no-cache strict-transport-security: @@ -1581,10 +1745,10 @@ interactions: ParameterSetName: - -y --delete-group User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 resourcemanagementclient/2.1.0 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUEQ3TzNCRU0ySEYzTlpUNzJQNjctV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2018-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUElaQ0pLVkJXRExNWTdYSDRHQlotRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2019-07-01 response: body: string: '' @@ -1594,11 +1758,11 @@ interactions: content-length: - '0' date: - - Fri, 22 Mar 2019 21:28:56 GMT + - Mon, 25 May 2020 08:29:08 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUEQ3TzNCRU0ySEYzTlpUNzJQNjctV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2018-05-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUElaQ0pLVkJXRExNWTdYSDRHQlotRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2019-07-01 pragma: - no-cache strict-transport-security: @@ -1622,10 +1786,10 @@ interactions: ParameterSetName: - -y --delete-group User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 resourcemanagementclient/2.1.0 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUEQ3TzNCRU0ySEYzTlpUNzJQNjctV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2018-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUElaQ0pLVkJXRExNWTdYSDRHQlotRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2019-07-01 response: body: string: '' @@ -1635,11 +1799,11 @@ interactions: content-length: - '0' date: - - Fri, 22 Mar 2019 21:29:11 GMT + - Mon, 25 May 2020 08:29:23 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUEQ3TzNCRU0ySEYzTlpUNzJQNjctV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2018-05-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUElaQ0pLVkJXRExNWTdYSDRHQlotRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2019-07-01 pragma: - no-cache strict-transport-security: @@ -1663,10 +1827,10 @@ interactions: ParameterSetName: - -y --delete-group User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 resourcemanagementclient/2.1.0 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUEQ3TzNCRU0ySEYzTlpUNzJQNjctV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2018-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUElaQ0pLVkJXRExNWTdYSDRHQlotRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2019-07-01 response: body: string: '' @@ -1676,11 +1840,11 @@ interactions: content-length: - '0' date: - - Fri, 22 Mar 2019 21:29:26 GMT + - Mon, 25 May 2020 08:29:40 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUEQ3TzNCRU0ySEYzTlpUNzJQNjctV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2018-05-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUElaQ0pLVkJXRExNWTdYSDRHQlotRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2019-07-01 pragma: - no-cache strict-transport-security: @@ -1704,10 +1868,10 @@ interactions: ParameterSetName: - -y --delete-group User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 resourcemanagementclient/2.1.0 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUEQ3TzNCRU0ySEYzTlpUNzJQNjctV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2018-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUElaQ0pLVkJXRExNWTdYSDRHQlotRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2019-07-01 response: body: string: '' @@ -1717,7 +1881,7 @@ interactions: content-length: - '0' date: - - Fri, 22 Mar 2019 21:29:42 GMT + - Mon, 25 May 2020 08:29:55 GMT expires: - '-1' pragma: @@ -1743,12 +1907,12 @@ interactions: ParameterSetName: - -n User-Agent: - - python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.4 msrest_azure/0.6.0 resourcemanagementclient/2.1.0 - Azure-SDK-For-Python AZURECLI/2.0.60 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/group000001?api-version=2018-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/group000001?api-version=2019-07-01 response: body: string: '{"error":{"code":"ResourceGroupNotFound","message":"Resource group @@ -1761,7 +1925,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 22 Mar 2019 21:29:42 GMT + - Mon, 25 May 2020 08:29:56 GMT expires: - '-1' pragma: diff --git a/src/db-up/azext_db_up/tests/latest/test_db_up_scenarios.py b/src/db-up/azext_db_up/tests/latest/test_db_up_scenarios.py index a0048e0dc77..2307547ec92 100644 --- a/src/db-up/azext_db_up/tests/latest/test_db_up_scenarios.py +++ b/src/db-up/azext_db_up/tests/latest/test_db_up_scenarios.py @@ -11,6 +11,7 @@ class DbUpTests(ScenarioTest): + @live_only() def test_mysql_flow(self): group = self.create_random_name(prefix='group', length=24) server = self.create_random_name(prefix='server', length=24) @@ -42,6 +43,7 @@ def test_mysql_flow(self): password, user, database, server)).get_output_in_json() self.assertEqual(output, output_mirror) + @live_only() def test_postgres_flow(self): group = self.create_random_name(prefix='group', length=24) server = self.create_random_name(prefix='server', length=24) @@ -73,6 +75,24 @@ def test_postgres_flow(self): password, user, database, server)).get_output_in_json() self.assertEqual(output, output_mirror) + @live_only() + @ResourceGroupPreparer(name_prefix='postgresup') + def test_postgres_up(self, resource_group): + from ...util import get_config_value, set_config_value + # Clear all config values + for item in ['location', 'group', 'server', 'login', 'database']: + set_config_value('postgres', item, '') + + self.cmd('postgres up') + rg1 = get_config_value('postgres', 'group') + server1 = get_config_value('postgres', 'server') + + self.cmd('postgres up -g {}'.format(resource_group)) + rg2 = get_config_value('postgres', 'group') + server2 = get_config_value('postgres', 'server') + assert(rg1 != rg2) + assert(server1 != server2) + @live_only() # "sql up" can only run live as updating dependencies is done once during command execution def test_sql_flow(self): group = self.create_random_name(prefix='group', length=24) diff --git a/src/db-up/azext_db_up/util.py b/src/db-up/azext_db_up/util.py index a793578e821..d343c44df55 100644 --- a/src/db-up/azext_db_up/util.py +++ b/src/db-up/azext_db_up/util.py @@ -30,8 +30,12 @@ def create_random_resource_name(prefix='azure', length=15): def get_config_value(db_type, option, fallback='_fallback_none'): config_section = CONFIG_MAP[db_type] if fallback == '_fallback_none': - return DB_CONFIG.get(config_section, option) - return DB_CONFIG.get(config_section, option, fallback=fallback) + result = DB_CONFIG.get(config_section, option) + else: + result = DB_CONFIG.get(config_section, option, fallback=fallback) + if result: + return result + return None def set_config_value(db_type, option, value): diff --git a/src/db-up/setup.py b/src/db-up/setup.py index 6f32dc45770..6812e659367 100644 --- a/src/db-up/setup.py +++ b/src/db-up/setup.py @@ -8,26 +8,24 @@ from codecs import open from setuptools import setup, find_packages -VERSION = "0.1.13" +VERSION = "0.1.14" CLASSIFIERS = [ 'Development Status :: 4 - Beta', 'Intended Audience :: Developers', 'Intended Audience :: System Administrators', 'Programming Language :: Python', - 'Programming Language :: Python :: 2', - 'Programming Language :: Python :: 2.7', 'Programming Language :: Python :: 3', - 'Programming Language :: Python :: 3.4', - 'Programming Language :: Python :: 3.5', 'Programming Language :: Python :: 3.6', + 'Programming Language :: Python :: 3.7', + 'Programming Language :: Python :: 3.8', 'License :: OSI Approved :: MIT License', ] DEPENDENCIES = [ - 'Cython==0.29.6', + 'Cython==0.29.17', 'mysql-connector-python==8.0.13', - 'psycopg2-binary==2.7.7' + 'psycopg2-binary==2.8.5' ] setup( diff --git a/src/desktopvirtualization/HISTORY.rst b/src/desktopvirtualization/HISTORY.rst new file mode 100644 index 00000000000..1c139576ba0 --- /dev/null +++ b/src/desktopvirtualization/HISTORY.rst @@ -0,0 +1,8 @@ +.. :changelog: + +Release History +=============== + +0.1.0 +++++++ +* Initial release. diff --git a/src/desktopvirtualization/README.md b/src/desktopvirtualization/README.md new file mode 100644 index 00000000000..4793fc04410 --- /dev/null +++ b/src/desktopvirtualization/README.md @@ -0,0 +1,59 @@ +# Azure CLI Desktop Virtualization Extension # +This is a extension for desktop virtualization features. + +### How to use ### +Install this extension using the below CLI command +``` +az extension add --name desktopvirtualization +``` + +### Included Features +The desktop virtualization is a desktop and app virtualization service that runs on the cloud. [more info](https://docs.microsoft.com/en-us/azure/virtual-desktop/overview) +#### Host Pool: +Host pools are a collection of one or more identical virtual machines (VMs) within Windows Virtual Desktop environments: [more info](https://docs.microsoft.com/en-us/azure/virtual-desktop/create-host-pools-azure-marketplace)\ +*Examples:* +``` +az desktopvirtualization hostpool create \ + --location "centralus" \ + --description "des1" \ + --friendly-name "friendly" \ + --host-pool-type "Pooled" \ + --load-balancer-type "BreadthFirst" \ + --max-session-limit 999999 \ + --personal-desktop-assignment-type "Automatic" \ + --registration-info expiration-time="2020-10-01T14:01:54.9571247Z" registration-token-operation="Update" \ + --sso-context "KeyVaultPath" \ + --tags tag1="value1" tag2="value2" \ + --name "MyHostPool" \ + --resource-group "MyResourceGroup" +``` + +#### Application Group: +Each host pool can contain an application group that users can interact with as they would on a physical desktop: [more info](https://docs.microsoft.com/en-us/azure/virtual-desktop/manage-app-groups)\ +*Examples:* +``` +az desktopvirtualization applicationgroup create \ + --location "centralus" \ + --description "des1" \ + --application-group-type "RemoteApp" \ + --friendly-name "friendly" \ + --host-pool-arm-path "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/MyResourceGroup/providers/Microsoft.DesktopVirtualization/hostPools/MyHostPool" \ + --tags tag1="value1" tag2="value2" \ + --name "MyApplicationGroup" \ + --resource-group "MyResourceGroup" +``` + +#### Workspace: +An application group can be registered to a workspace: [more info](https://docs.microsoft.com/en-us/azure/virtual-desktop/create-validation-host-pool)\ +*Examples:* +``` +az desktopvirtualization workspace create \ + --resource-group "MyResourceGroup" \ + --location "centralus" \ + --description "des1" \ + --friendly-name "friendly" \ + --tags tag1="value1" tag2="value2" \ + --name "MyWorkspace" +``` + +If you have issues, please give feedback by opening an issue at https://github.com/Azure/azure-cli-extensions/issues. \ No newline at end of file diff --git a/src/desktopvirtualization/_az_debug/clicommon-000010-prename-pre-simplified.yaml b/src/desktopvirtualization/_az_debug/clicommon-000010-prename-pre-simplified.yaml new file mode 100644 index 00000000000..62a31682dae --- /dev/null +++ b/src/desktopvirtualization/_az_debug/clicommon-000010-prename-pre-simplified.yaml @@ -0,0 +1,674 @@ +operationGroups: + all: + - operationGroupName: Operations + operations: + - operationName: List + parameters: + - parameterName: $host(string^string) + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + - operationGroupName: Workspaces + operations: + - operationName: Get + parameters: + - parameterName: $host(string^string) + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + - parameterName: subscriptionId(string^string) + - parameterName: resourceGroupName(string^string) + - parameterName: workspaceName(string^string) + - operationName: CreateOrUpdate + parameters: + - parameterName: $host(string^string) + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + - parameterName: subscriptionId(string^string) + - parameterName: resourceGroupName(string^string) + - parameterName: workspaceName(string^string) + - parameterName[0]: content-type(application/json^constant) + - parameterName[0]: workspace(Workspace^object) + bodySchema: Workspace + - operationName: Delete + parameters: + - parameterName: $host(string^string) + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + - parameterName: subscriptionId(string^string) + - parameterName: resourceGroupName(string^string) + - parameterName: workspaceName(string^string) + - operationName: Update + parameters: + - parameterName: $host(string^string) + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + - parameterName: subscriptionId(string^string) + - parameterName: resourceGroupName(string^string) + - parameterName: workspaceName(string^string) + - parameterName[0]: content-type(application/json^constant) + - parameterName[0]: workspace(WorkspacePatch^object) + bodySchema: WorkspacePatch + - operationName: ListByResourceGroup + parameters: + - parameterName: $host(string^string) + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + - parameterName: subscriptionId(string^string) + - parameterName: resourceGroupName(string^string) + - operationName: ListBySubscription + parameters: + - parameterName: $host(string^string) + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + - parameterName: subscriptionId(string^string) + - operationGroupName: ApplicationGroupAssignments + operations: + - operationName: WorkspaceLevelList + parameters: + - parameterName: $host(string^string) + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + - parameterName: subscriptionId(string^string) + - parameterName: resourceGroupName(string^string) + - parameterName: workspaceName(string^string) + - parameterName: $filter(string^string) + - operationGroupName: ApplicationGroups + operations: + - operationName: Get + parameters: + - parameterName: $host(string^string) + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + - parameterName: subscriptionId(string^string) + - parameterName: resourceGroupName(string^string) + - parameterName: applicationGroupName(string^string) + - operationName: CreateOrUpdate + parameters: + - parameterName: $host(string^string) + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + - parameterName: subscriptionId(string^string) + - parameterName: resourceGroupName(string^string) + - parameterName: applicationGroupName(string^string) + - parameterName[0]: content-type(application/json^constant) + - parameterName[0]: applicationGroup(ApplicationGroup^object) + bodySchema: ApplicationGroup + - operationName: Delete + parameters: + - parameterName: $host(string^string) + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + - parameterName: subscriptionId(string^string) + - parameterName: resourceGroupName(string^string) + - parameterName: applicationGroupName(string^string) + - operationName: Update + parameters: + - parameterName: $host(string^string) + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + - parameterName: subscriptionId(string^string) + - parameterName: resourceGroupName(string^string) + - parameterName: applicationGroupName(string^string) + - parameterName[0]: content-type(application/json^constant) + - parameterName[0]: applicationGroup(ApplicationGroupPatch^object) + bodySchema: ApplicationGroupPatch + - operationName: ListByResourceGroup + parameters: + - parameterName: $host(string^string) + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + - parameterName: subscriptionId(string^string) + - parameterName: resourceGroupName(string^string) + - parameterName: $filter(string^string) + - operationName: ListBySubscription + parameters: + - parameterName: $host(string^string) + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + - parameterName: subscriptionId(string^string) + - parameterName: $filter(string^string) + - operationGroupName: StartMenuItems + operations: + - operationName: List + parameters: + - parameterName: $host(string^string) + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + - parameterName: subscriptionId(string^string) + - parameterName: resourceGroupName(string^string) + - parameterName: applicationGroupName(string^string) + - operationGroupName: Applications + operations: + - operationName: Get + parameters: + - parameterName: $host(string^string) + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + - parameterName: subscriptionId(string^string) + - parameterName: resourceGroupName(string^string) + - parameterName: applicationGroupName(string^string) + - parameterName: applicationName(string^string) + - operationName: CreateOrUpdate + parameters: + - parameterName: $host(string^string) + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + - parameterName: subscriptionId(string^string) + - parameterName: resourceGroupName(string^string) + - parameterName: applicationGroupName(string^string) + - parameterName: applicationName(string^string) + - parameterName[0]: content-type(application/json^constant) + - parameterName[0]: application(Application^object) + bodySchema: Application + - operationName: Delete + parameters: + - parameterName: $host(string^string) + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + - parameterName: subscriptionId(string^string) + - parameterName: resourceGroupName(string^string) + - parameterName: applicationGroupName(string^string) + - parameterName: applicationName(string^string) + - operationName: Update + parameters: + - parameterName: $host(string^string) + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + - parameterName: subscriptionId(string^string) + - parameterName: resourceGroupName(string^string) + - parameterName: applicationGroupName(string^string) + - parameterName: applicationName(string^string) + - parameterName[0]: content-type(application/json^constant) + - parameterName[0]: application(ApplicationPatch^object) + bodySchema: ApplicationPatch + - operationName: List + parameters: + - parameterName: $host(string^string) + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + - parameterName: subscriptionId(string^string) + - parameterName: resourceGroupName(string^string) + - parameterName: applicationGroupName(string^string) + - operationGroupName: Desktops + operations: + - operationName: Get + parameters: + - parameterName: $host(string^string) + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + - parameterName: subscriptionId(string^string) + - parameterName: resourceGroupName(string^string) + - parameterName: applicationGroupName(string^string) + - parameterName: desktopName(string^string) + - operationName: Update + parameters: + - parameterName: $host(string^string) + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + - parameterName: subscriptionId(string^string) + - parameterName: resourceGroupName(string^string) + - parameterName: applicationGroupName(string^string) + - parameterName: desktopName(string^string) + - parameterName[0]: content-type(application/json^constant) + - parameterName[0]: desktop(DesktopPatch^object) + bodySchema: DesktopPatch + - operationName: List + parameters: + - parameterName: $host(string^string) + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + - parameterName: subscriptionId(string^string) + - parameterName: resourceGroupName(string^string) + - parameterName: applicationGroupName(string^string) + - operationGroupName: HostPools + operations: + - operationName: Get + parameters: + - parameterName: $host(string^string) + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + - parameterName: subscriptionId(string^string) + - parameterName: resourceGroupName(string^string) + - parameterName: hostPoolName(string^string) + - operationName: CreateOrUpdate + parameters: + - parameterName: $host(string^string) + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + - parameterName: subscriptionId(string^string) + - parameterName: resourceGroupName(string^string) + - parameterName: hostPoolName(string^string) + - parameterName[0]: content-type(application/json^constant) + - parameterName[0]: hostPool(HostPool^object) + bodySchema: HostPool + - operationName: Delete + parameters: + - parameterName: $host(string^string) + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + - parameterName: subscriptionId(string^string) + - parameterName: resourceGroupName(string^string) + - parameterName: hostPoolName(string^string) + - parameterName: force(boolean^boolean) + - operationName: Update + parameters: + - parameterName: $host(string^string) + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + - parameterName: subscriptionId(string^string) + - parameterName: resourceGroupName(string^string) + - parameterName: hostPoolName(string^string) + - parameterName[0]: content-type(application/json^constant) + - parameterName[0]: hostPool(HostPoolPatch^object) + bodySchema: HostPoolPatch + - operationName: ListByResourceGroup + parameters: + - parameterName: $host(string^string) + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + - parameterName: subscriptionId(string^string) + - parameterName: resourceGroupName(string^string) + - operationName: List + parameters: + - parameterName: $host(string^string) + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + - parameterName: subscriptionId(string^string) + - operationGroupName: UserSessions + operations: + - operationName: ListByHostPool + parameters: + - parameterName: $host(string^string) + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + - parameterName: subscriptionId(string^string) + - parameterName: resourceGroupName(string^string) + - parameterName: hostPoolName(string^string) + - parameterName: $filter(string^string) + - operationName: Get + parameters: + - parameterName: $host(string^string) + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + - parameterName: subscriptionId(string^string) + - parameterName: resourceGroupName(string^string) + - parameterName: hostPoolName(string^string) + - parameterName: sessionHostName(string^string) + - parameterName: userSessionId(string^string) + - operationName: Delete + parameters: + - parameterName: $host(string^string) + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + - parameterName: subscriptionId(string^string) + - parameterName: resourceGroupName(string^string) + - parameterName: hostPoolName(string^string) + - parameterName: sessionHostName(string^string) + - parameterName: userSessionId(string^string) + - parameterName: force(boolean^boolean) + - operationName: List + parameters: + - parameterName: $host(string^string) + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + - parameterName: subscriptionId(string^string) + - parameterName: resourceGroupName(string^string) + - parameterName: hostPoolName(string^string) + - parameterName: sessionHostName(string^string) + - operationName: Disconnect + parameters: + - parameterName: $host(string^string) + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + - parameterName: subscriptionId(string^string) + - parameterName: resourceGroupName(string^string) + - parameterName: hostPoolName(string^string) + - parameterName: sessionHostName(string^string) + - parameterName: userSessionId(string^string) + - operationName: SendMessage + parameters: + - parameterName: $host(string^string) + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + - parameterName: subscriptionId(string^string) + - parameterName: resourceGroupName(string^string) + - parameterName: hostPoolName(string^string) + - parameterName: sessionHostName(string^string) + - parameterName: userSessionId(string^string) + - parameterName[0]: content-type(application/json^constant) + - parameterName[0]: sendMessage(SendMessage^object) + bodySchema: SendMessage + - operationGroupName: SessionHosts + operations: + - operationName: Get + parameters: + - parameterName: $host(string^string) + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + - parameterName: subscriptionId(string^string) + - parameterName: resourceGroupName(string^string) + - parameterName: hostPoolName(string^string) + - parameterName: sessionHostName(string^string) + - operationName: Delete + parameters: + - parameterName: $host(string^string) + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + - parameterName: subscriptionId(string^string) + - parameterName: resourceGroupName(string^string) + - parameterName: hostPoolName(string^string) + - parameterName: sessionHostName(string^string) + - parameterName: force(boolean^boolean) + - operationName: Update + parameters: + - parameterName: $host(string^string) + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + - parameterName: subscriptionId(string^string) + - parameterName: resourceGroupName(string^string) + - parameterName: hostPoolName(string^string) + - parameterName: sessionHostName(string^string) + - parameterName[0]: content-type(application/json^constant) + - parameterName[0]: sessionHost(SessionHostPatch^object) + bodySchema: SessionHostPatch + - operationName: List + parameters: + - parameterName: $host(string^string) + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + - parameterName: subscriptionId(string^string) + - parameterName: resourceGroupName(string^string) + - parameterName: hostPoolName(string^string) + - operationGroupName: ActiveApplications + operations: + - operationName: ListBySessionHost + parameters: + - parameterName: $host(string^string) + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + - parameterName: subscriptionId(string^string) + - parameterName: resourceGroupName(string^string) + - parameterName: hostPoolName(string^string) + - parameterName: sessionHostName(string^string) + - parameterName: $filter(string^string) +schemas: + objects: + all: + - schemaName: ResourceProviderOperationList + properties: + - propertyName: value(ResourceProviderOperationList-value^array) + - schemaName: ResourceProviderOperation + properties: + - propertyName: name(ResourceProviderOperation-name^string) + - propertyName: display(ResourceProviderOperation-display^object) + - schemaName: ResourceProviderOperation-display + properties: + - propertyName: provider(ResourceProviderOperation-display-provider^string) + - propertyName: resource(ResourceProviderOperation-display-resource^string) + - propertyName: operation(ResourceProviderOperation-display-operation^string) + - propertyName: description(ResourceProviderOperation-display-description^string) + - schemaName: Resource + properties: + - propertyName: id(Resource-id^string) + readOnly: true + - propertyName: name(Resource-name^string) + readOnly: true + - propertyName: type(Resource-type^string) + readOnly: true + - schemaName: TrackedResource + properties: + - propertyName: tags(TrackedResource-tags^dictionary) + - propertyName: location(TrackedResource-location^string) + - schemaName: Workspace + properties: + - propertyName: properties(WorkspaceProperties^object) + x-ms-client-flatten: true + - schemaName: WorkspaceProperties + properties: + - propertyName: description(WorkspaceProperties-description^string) + - propertyName: friendlyName(WorkspaceProperties-friendlyName^string) + - propertyName: applicationGroupReferences(WorkspaceProperties-applicationGroupReferences^array) + - schemaName: CloudError + properties: + - propertyName: code(CloudError-code^string) + - propertyName: message(CloudError-message^string) + - schemaName: WorkspacePatch + properties: + - propertyName: tags(any^any) + - propertyName: properties(WorkspacePatchProperties^object) + x-ms-client-flatten: true + - schemaName: WorkspacePatchProperties + properties: + - propertyName: description(WorkspacePatchProperties-description^string) + - propertyName: friendlyName(WorkspacePatchProperties-friendlyName^string) + - propertyName: applicationGroupReferences(WorkspacePatchProperties-applicationGroupReferences^array) + - schemaName: WorkspaceList + properties: + - propertyName: value(WorkspaceList-value^array) + - propertyName: nextLink(WorkspaceList-nextLink^string) + readOnly: true + - schemaName: ApplicationGroupList + properties: + - propertyName: value(ApplicationGroupList-value^array) + - propertyName: nextLink(ApplicationGroupList-nextLink^string) + readOnly: true + - schemaName: ApplicationGroup + properties: + - propertyName: properties(ApplicationGroupProperties^object) + x-ms-client-flatten: true + - schemaName: ApplicationGroupProperties + properties: + - propertyName: description(ApplicationGroupProperties-description^string) + - propertyName: friendlyName(ApplicationGroupProperties-friendlyName^string) + - propertyName: hostPoolArmPath(ApplicationGroupProperties-hostPoolArmPath^string) + - propertyName: workspaceArmPath(ApplicationGroupProperties-workspaceArmPath^string) + readOnly: true + - propertyName: applicationGroupType(ApplicationGroupType^choice) + - schemaName: ApplicationGroupPatch + properties: + - propertyName: tags(any^any) + - propertyName: properties(ApplicationGroupPatchProperties^object) + x-ms-client-flatten: true + - schemaName: ApplicationGroupPatchProperties + properties: + - propertyName: description(ApplicationGroupPatchProperties-description^string) + - propertyName: friendlyName(ApplicationGroupPatchProperties-friendlyName^string) + - schemaName: StartMenuItemList + properties: + - propertyName: value(StartMenuItemList-value^array) + - propertyName: nextLink(StartMenuItemList-nextLink^string) + readOnly: true + - schemaName: StartMenuItem + properties: + - propertyName: properties(StartMenuItemProperties^object) + x-ms-client-flatten: true + - schemaName: StartMenuItemProperties + properties: + - propertyName: appAlias(StartMenuItemProperties-appAlias^string) + - propertyName: friendlyName(StartMenuItemProperties-friendlyName^string) + - propertyName: filePath(StartMenuItemProperties-filePath^string) + - propertyName: commandLineArguments(StartMenuItemProperties-commandLineArguments^string) + - propertyName: iconPath(StartMenuItemProperties-iconPath^string) + - propertyName: iconIndex(integer^integer) + - schemaName: Application + properties: + - propertyName: properties(ApplicationProperties^object) + x-ms-client-flatten: true + - schemaName: ApplicationProperties + properties: + - propertyName: description(ApplicationProperties-description^string) + - propertyName: friendlyName(ApplicationProperties-friendlyName^string) + - propertyName: filePath(ApplicationProperties-filePath^string) + - propertyName: commandLineSetting(CommandLineSetting^choice) + - propertyName: commandLineArguments(ApplicationProperties-commandLineArguments^string) + - propertyName: showInPortal(boolean^boolean) + - propertyName: iconPath(ApplicationProperties-iconPath^string) + - propertyName: iconIndex(integer^integer) + - propertyName: iconHash(ApplicationProperties-iconHash^string) + readOnly: true + - propertyName: iconContent(ApplicationProperties-iconContent^byte-array) + readOnly: true + - schemaName: ApplicationPatch + properties: + - propertyName: tags(any^any) + - propertyName: properties(ApplicationPatchProperties^object) + x-ms-client-flatten: true + - schemaName: ApplicationPatchProperties + properties: + - propertyName: description(ApplicationPatchProperties-description^string) + - propertyName: friendlyName(ApplicationPatchProperties-friendlyName^string) + - propertyName: filePath(ApplicationPatchProperties-filePath^string) + - propertyName: commandLineSetting(CommandLineSetting^choice) + - propertyName: commandLineArguments(ApplicationPatchProperties-commandLineArguments^string) + - propertyName: showInPortal(boolean^boolean) + - propertyName: iconPath(ApplicationPatchProperties-iconPath^string) + - propertyName: iconIndex(integer^integer) + - schemaName: ApplicationList + properties: + - propertyName: value(ApplicationList-value^array) + - propertyName: nextLink(ApplicationList-nextLink^string) + readOnly: true + - schemaName: Desktop + properties: + - propertyName: properties(DesktopProperties^object) + x-ms-client-flatten: true + - schemaName: DesktopProperties + properties: + - propertyName: description(DesktopProperties-description^string) + - propertyName: friendlyName(DesktopProperties-friendlyName^string) + - propertyName: iconHash(DesktopProperties-iconHash^string) + readOnly: true + - propertyName: iconContent(DesktopProperties-iconContent^byte-array) + readOnly: true + - schemaName: DesktopPatch + properties: + - propertyName: tags(any^any) + - propertyName: properties(DesktopPatchProperties^object) + x-ms-client-flatten: true + - schemaName: DesktopPatchProperties + properties: + - propertyName: description(DesktopPatchProperties-description^string) + - propertyName: friendlyName(DesktopPatchProperties-friendlyName^string) + - schemaName: DesktopList + properties: + - propertyName: value(DesktopList-value^array) + - propertyName: nextLink(DesktopList-nextLink^string) + readOnly: true + - schemaName: HostPool + properties: + - propertyName: properties(HostPoolProperties^object) + x-ms-client-flatten: true + - schemaName: HostPoolProperties + properties: + - propertyName: friendlyName(HostPoolProperties-friendlyName^string) + - propertyName: description(HostPoolProperties-description^string) + - propertyName: hostPoolType(HostPoolType^choice) + - propertyName: personalDesktopAssignmentType(PersonalDesktopAssignmentType^choice) + - propertyName: customRdpProperty(HostPoolProperties-customRdpProperty^string) + - propertyName: maxSessionLimit(integer^integer) + - propertyName: loadBalancerType(LoadBalancerType^choice) + - propertyName: ring(integer^integer) + - propertyName: validationEnvironment(boolean^boolean) + - propertyName: registrationInfo(RegistrationInfo^object) + - propertyName: vmTemplate(HostPoolProperties-vmTemplate^string) + - propertyName: applicationGroupReferences(HostPoolProperties-applicationGroupReferences^array) + readOnly: true + - propertyName: ssoContext(HostPoolProperties-ssoContext^string) + - schemaName: RegistrationInfo + properties: + - propertyName: expirationTime(RegistrationInfo-expirationTime^date-time) + - propertyName: token(RegistrationInfo-token^string) + - propertyName: registrationTokenOperation(RegistrationTokenOperation^choice) + - schemaName: HostPoolPatch + properties: + - propertyName: tags(any^any) + - propertyName: properties(HostPoolPatchProperties^object) + x-ms-client-flatten: true + - schemaName: HostPoolPatchProperties + properties: + - propertyName: friendlyName(HostPoolPatchProperties-friendlyName^string) + - propertyName: description(HostPoolPatchProperties-description^string) + - propertyName: customRdpProperty(HostPoolPatchProperties-customRdpProperty^string) + - propertyName: maxSessionLimit(integer^integer) + - propertyName: personalDesktopAssignmentType(PersonalDesktopAssignmentType^choice) + - propertyName: loadBalancerType(LoadBalancerType^choice) + - propertyName: ring(integer^integer) + - propertyName: validationEnvironment(boolean^boolean) + - propertyName: registrationInfo(RegistrationInfoPatch^object) + - propertyName: ssoContext(HostPoolPatchProperties-ssoContext^string) + - schemaName: RegistrationInfoPatch + properties: + - propertyName: registrationTokenOperation(RegistrationTokenOperation^choice) + - schemaName: HostPoolList + properties: + - propertyName: value(HostPoolList-value^array) + - propertyName: nextLink(HostPoolList-nextLink^string) + readOnly: true + - schemaName: UserSessionList + properties: + - propertyName: value(UserSessionList-value^array) + - propertyName: nextLink(UserSessionList-nextLink^string) + readOnly: true + - schemaName: UserSession + properties: + - propertyName: properties(UserSessionProperties^object) + x-ms-client-flatten: true + - schemaName: UserSessionProperties + properties: + - propertyName: userPrincipalName(UserSessionProperties-userPrincipalName^string) + - propertyName: applicationType(ApplicationType^choice) + - propertyName: sessionState(SessionState^choice) + - propertyName: activeDirectoryUserName(UserSessionProperties-activeDirectoryUserName^string) + - propertyName: createTime(UserSessionProperties-createTime^date-time) + - schemaName: SessionHost + properties: + - propertyName: properties(SessionHostProperties^object) + x-ms-client-flatten: true + - schemaName: SessionHostProperties + properties: + - propertyName: lastHeartBeat(SessionHostProperties-lastHeartBeat^date-time) + - propertyName: sessions(integer^integer) + - propertyName: agentVersion(SessionHostProperties-agentVersion^string) + - propertyName: allowNewSession(boolean^boolean) + - propertyName: assignedUser(SessionHostProperties-assignedUser^string) + - propertyName: status(Status^choice) + - propertyName: statusTimestamp(SessionHostProperties-statusTimestamp^date-time) + readOnly: true + - propertyName: osVersion(SessionHostProperties-osVersion^string) + - propertyName: sxSStackVersion(SessionHostProperties-sxSStackVersion^string) + - propertyName: updateState(UpdateState^choice) + - propertyName: lastUpdateTime(SessionHostProperties-lastUpdateTime^date-time) + readOnly: true + - propertyName: updateErrorMessage(SessionHostProperties-updateErrorMessage^string) + - schemaName: SessionHostPatch + properties: + - propertyName: properties(SessionHostPatchProperties^object) + x-ms-client-flatten: true + - schemaName: SessionHostPatchProperties + properties: + - propertyName: allowNewSession(boolean^boolean) + - propertyName: assignedUser(SessionHostPatchProperties-assignedUser^string) + - schemaName: SessionHostList + properties: + - propertyName: value(SessionHostList-value^array) + - propertyName: nextLink(SessionHostList-nextLink^string) + readOnly: true + - schemaName: SendMessage + properties: + - propertyName: messageTitle(SendMessage-messageTitle^string) + - propertyName: messageBody(SendMessage-messageBody^string) + choices: + all: + - choiceName: ApplicationGroupType + choiceValues: + - choiceValue: RemoteApp + - choiceValue: Desktop + - choiceName: CommandLineSetting + choiceValues: + - choiceValue: DoNotAllow + - choiceValue: Allow + - choiceValue: Require + - choiceName: HostPoolType + choiceValues: + - choiceValue: Personal + - choiceValue: Pooled + - choiceName: PersonalDesktopAssignmentType + choiceValues: + - choiceValue: Automatic + - choiceValue: Direct + - choiceName: LoadBalancerType + choiceValues: + - choiceValue: BreadthFirst + - choiceValue: DepthFirst + - choiceValue: Persistent + - choiceName: RegistrationTokenOperation + choiceValues: + - choiceValue: Delete + - choiceValue: None + - choiceValue: Update + - choiceName: ApplicationType + choiceValues: + - choiceValue: RemoteApp + - choiceValue: Desktop + - choiceName: SessionState + choiceValues: + - choiceValue: Unknown + - choiceValue: Active + - choiceValue: Disconnected + - choiceValue: Pending + - choiceValue: LogOff + - choiceValue: UserProfileDiskMounted + - choiceName: Status + choiceValues: + - choiceValue: Available + - choiceValue: Unavailable + - choiceValue: Shutdown + - choiceValue: Disconnected + - choiceValue: Upgrading + - choiceValue: UpgradeFailed + - choiceName: UpdateState + choiceValues: + - choiceValue: Initial + - choiceValue: Pending + - choiceValue: Started + - choiceValue: Succeeded + - choiceValue: Failed diff --git a/src/desktopvirtualization/_az_debug/clicommon-000010-prename-pre.yaml b/src/desktopvirtualization/_az_debug/clicommon-000010-prename-pre.yaml new file mode 100644 index 00000000000..a6c94be96e7 --- /dev/null +++ b/src/desktopvirtualization/_az_debug/clicommon-000010-prename-pre.yaml @@ -0,0 +1,8235 @@ +info: + title: Desktop Virtualization API Client + extensions: + cli-dump-index: 10 +schemas: + booleans: + - &ref_53 + type: boolean + language: + default: + name: boolean + description: Specifies whether to show the RemoteApp program in the RD Web Access server. + protocol: {} + - &ref_27 + type: boolean + language: + default: + name: boolean + description: Is validation environment. + protocol: {} + - &ref_222 + type: boolean + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: boolean + description: '' + protocol: {} + - &ref_73 + type: boolean + language: + default: + name: boolean + description: Allow a new session. + protocol: {} + numbers: + - &ref_47 + type: integer + precision: 32 + language: + default: + name: integer + description: Index of the icon. + protocol: {} + - &ref_24 + type: integer + precision: 32 + language: + default: + name: integer + description: The max session limit of HostPool. + protocol: {} + - &ref_26 + type: integer + precision: 32 + language: + default: + name: integer + description: The ring number of HostPool. + protocol: {} + - &ref_71 + type: integer + precision: 32 + language: + default: + name: integer + description: Number of sessions on SessionHost. + protocol: {} + strings: + - &ref_0 + type: string + language: + default: + name: string + description: simple string + protocol: {} + - &ref_2 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ResourceProviderOperation-name + description: 'Operation name, in format of {provider}/{resource}/{operation}' + protocol: {} + - &ref_3 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ResourceProviderOperation-display-provider + description: 'Resource provider: Microsoft Desktop Virtualization.' + protocol: {} + - &ref_4 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ResourceProviderOperation-display-resource + description: Resource on which the operation is performed. + protocol: {} + - &ref_5 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ResourceProviderOperation-display-operation + description: 'Type of operation: get, read, delete, etc.' + protocol: {} + - &ref_6 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ResourceProviderOperation-display-description + description: Description of this operation. + protocol: {} + - &ref_144 + type: string + apiVersions: + - version: '1.0' + minLength: 1 + language: + default: + name: string + description: '' + protocol: {} + - &ref_150 + type: string + apiVersions: + - version: '1.0' + maxLength: 90 + minLength: 1 + pattern: '^[-\w\._\(\)]+$' + language: + default: + name: string + description: '' + protocol: {} + - &ref_151 + type: string + apiVersions: + - version: 2019-12-10-preview + maxLength: 24 + minLength: 3 + language: + default: + name: string + description: '' + protocol: {} + - &ref_91 + type: string + apiVersions: + - version: '1.0' + language: + default: + name: Resource-id + description: 'Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' + protocol: {} + - &ref_92 + type: string + apiVersions: + - version: '1.0' + language: + default: + name: Resource-name + description: The name of the resource + protocol: {} + - &ref_93 + type: string + apiVersions: + - version: '1.0' + language: + default: + name: Resource-type + description: The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + protocol: {} + - &ref_1 + type: string + apiVersions: + - version: '1.0' + language: + default: + name: string + description: '' + protocol: {} + - &ref_38 + type: string + apiVersions: + - version: '1.0' + extensions: + x-ms-mutability: + - read + - create + language: + default: + name: TrackedResource-location + description: The geo-location where the resource lives + protocol: {} + - &ref_11 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: WorkspaceProperties-description + description: Description of Workspace. + protocol: {} + - &ref_12 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: WorkspaceProperties-friendlyName + description: Friendly name of Workspace. + protocol: {} + - &ref_13 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: WorkspaceProperties-applicationGroupReferencesItem + description: '' + protocol: {} + - &ref_95 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: CloudError-code + description: Error code + protocol: {} + - &ref_96 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: CloudError-message + description: Error message indicating why the operation failed. + protocol: {} + - &ref_97 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: WorkspacePatchProperties-description + description: Description of Workspace. + protocol: {} + - &ref_98 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: WorkspacePatchProperties-friendlyName + description: Friendly name of Workspace. + protocol: {} + - &ref_99 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: WorkspacePatchProperties-applicationGroupReferencesItem + description: '' + protocol: {} + - &ref_101 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: WorkspaceList-nextLink + description: Link to the next page of results. + protocol: {} + - &ref_167 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: string + description: '' + protocol: {} + - &ref_14 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationGroupProperties-description + description: Description of ApplicationGroup. + protocol: {} + - &ref_15 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationGroupProperties-friendlyName + description: Friendly name of ApplicationGroup. + protocol: {} + - &ref_16 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationGroupProperties-hostPoolArmPath + description: HostPool arm path of ApplicationGroup. + protocol: {} + - &ref_17 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationGroupProperties-workspaceArmPath + description: Workspace arm path of ApplicationGroup. + protocol: {} + - &ref_102 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationGroupList-nextLink + description: Link to the next page of results. + protocol: {} + - &ref_40 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationGroupPatchProperties-description + description: Description of ApplicationGroup. + protocol: {} + - &ref_41 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationGroupPatchProperties-friendlyName + description: Friendly name of ApplicationGroup. + protocol: {} + - &ref_42 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: StartMenuItemProperties-appAlias + description: Alias of StartMenuItem. + protocol: {} + - &ref_43 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: StartMenuItemProperties-friendlyName + description: Friendly name of StartMenuItem. + protocol: {} + - &ref_44 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: StartMenuItemProperties-filePath + description: Path to the file of StartMenuItem. + protocol: {} + - &ref_45 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: StartMenuItemProperties-commandLineArguments + description: Command line arguments for StartMenuItem. + protocol: {} + - &ref_46 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: StartMenuItemProperties-iconPath + description: Path to the icon. + protocol: {} + - &ref_105 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: StartMenuItemList-nextLink + description: Link to the next page of results. + protocol: {} + - &ref_48 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationProperties-description + description: Description of Application. + protocol: {} + - &ref_49 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationProperties-friendlyName + description: Friendly name of Application. + protocol: {} + - &ref_50 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationProperties-filePath + description: Specifies a path for the executable file for the application. + protocol: {} + - &ref_52 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationProperties-commandLineArguments + description: Command Line Arguments for Application. + protocol: {} + - &ref_54 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationProperties-iconPath + description: Path to icon. + protocol: {} + - &ref_55 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationProperties-iconHash + description: Hash of the icon. + protocol: {} + - &ref_108 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationPatchProperties-description + description: Description of Application. + protocol: {} + - &ref_109 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationPatchProperties-friendlyName + description: Friendly name of Application. + protocol: {} + - &ref_110 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationPatchProperties-filePath + description: Specifies a path for the executable file for the application. + protocol: {} + - &ref_111 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationPatchProperties-commandLineArguments + description: Command Line Arguments for Application. + protocol: {} + - &ref_112 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationPatchProperties-iconPath + description: Path to icon. + protocol: {} + - &ref_114 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationList-nextLink + description: Link to the next page of results. + protocol: {} + - &ref_57 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: DesktopProperties-description + description: Description of Desktop. + protocol: {} + - &ref_58 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: DesktopProperties-friendlyName + description: Friendly name of Desktop. + protocol: {} + - &ref_59 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: DesktopProperties-iconHash + description: Hash of the icon. + protocol: {} + - &ref_116 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: DesktopPatchProperties-description + description: Description of Desktop. + protocol: {} + - &ref_117 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: DesktopPatchProperties-friendlyName + description: Friendly name of Desktop. + protocol: {} + - &ref_119 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: DesktopList-nextLink + description: Link to the next page of results. + protocol: {} + - &ref_19 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolProperties-friendlyName + description: Friendly name of HostPool. + protocol: {} + - &ref_20 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolProperties-description + description: Description of HostPool. + protocol: {} + - &ref_23 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolProperties-customRdpProperty + description: Custom rdp property of HostPool. + protocol: {} + - &ref_29 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: RegistrationInfo-token + description: The registration token base64 encoded string. + protocol: {} + - &ref_31 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolProperties-vmTemplate + description: VM template for sessionhosts configuration within hostpool. + protocol: {} + - &ref_32 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolProperties-applicationGroupReferencesItem + description: '' + protocol: {} + - &ref_33 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolProperties-ssoContext + description: Path to keyvault containing ssoContext secret. + protocol: {} + - &ref_61 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolPatchProperties-friendlyName + description: Friendly name of HostPool. + protocol: {} + - &ref_62 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolPatchProperties-description + description: Description of HostPool. + protocol: {} + - &ref_63 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolPatchProperties-customRdpProperty + description: Custom rdp property of HostPool. + protocol: {} + - &ref_64 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolPatchProperties-ssoContext + description: Path to keyvault containing ssoContext secret. + protocol: {} + - &ref_124 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolList-nextLink + description: Link to the next page of results. + protocol: {} + - &ref_65 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: UserSessionProperties-userPrincipalName + description: The user principal name. + protocol: {} + - &ref_68 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: UserSessionProperties-activeDirectoryUserName + description: The active directory user name. + protocol: {} + - &ref_125 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: UserSessionList-nextLink + description: Link to the next page of results. + protocol: {} + - &ref_235 + type: string + apiVersions: + - version: 2019-12-10-preview + maxLength: 48 + minLength: 3 + language: + default: + name: string + description: '' + protocol: {} + - &ref_72 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostProperties-agentVersion + description: Version of agent on SessionHost. + protocol: {} + - &ref_74 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostProperties-assignedUser + description: User assigned to SessionHost. + protocol: {} + - &ref_77 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostProperties-osVersion + description: The version of the OS on the session host. + protocol: {} + - &ref_78 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostProperties-sxSStackVersion + description: The version of the side by side stack on the session host. + protocol: {} + - &ref_81 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostProperties-updateErrorMessage + description: The error message. + protocol: {} + - &ref_82 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostPatchProperties-assignedUser + description: User assigned to SessionHost. + protocol: {} + - &ref_129 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostList-nextLink + description: Link to the next page of results. + protocol: {} + - &ref_236 + type: string + apiVersions: + - version: 2019-12-10-preview + maxLength: 24 + minLength: 1 + language: + default: + name: string + description: '' + protocol: {} + - &ref_130 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SendMessage-messageTitle + description: Title of message. + protocol: {} + - &ref_131 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SendMessage-messageBody + description: Body of message. + protocol: {} + choices: + - &ref_18 + choices: + - value: RemoteApp + language: + default: + name: RemoteApp + description: '' + - value: Desktop + language: + default: + name: Desktop + description: '' + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: ApplicationGroupType + description: Resource Type of ApplicationGroup. + protocol: {} + - &ref_51 + choices: + - value: DoNotAllow + language: + default: + name: DoNotAllow + description: '' + - value: Allow + language: + default: + name: Allow + description: '' + - value: Require + language: + default: + name: Require + description: '' + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: CommandLineSetting + description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' + protocol: {} + - &ref_21 + choices: + - value: Personal + language: + default: + name: Personal + description: '' + - value: Pooled + language: + default: + name: Pooled + description: '' + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: HostPoolType + description: HostPool type for desktop. + protocol: {} + - &ref_22 + choices: + - value: Automatic + language: + default: + name: Automatic + description: '' + - value: Direct + language: + default: + name: Direct + description: '' + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: PersonalDesktopAssignmentType + description: PersonalDesktopAssignment type for HostPool. + protocol: {} + - &ref_25 + choices: + - value: BreadthFirst + language: + default: + name: BreadthFirst + description: '' + - value: DepthFirst + language: + default: + name: DepthFirst + description: '' + - value: Persistent + language: + default: + name: Persistent + description: '' + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: LoadBalancerType + description: The type of the load balancer. + protocol: {} + - &ref_30 + choices: + - value: Delete + language: + default: + name: Delete + description: '' + - value: None + language: + default: + name: None + description: '' + - value: Update + language: + default: + name: Update + description: '' + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: RegistrationTokenOperation + description: The type of resetting the token. + protocol: {} + - &ref_66 + choices: + - value: RemoteApp + language: + default: + name: RemoteApp + description: '' + - value: Desktop + language: + default: + name: Desktop + description: '' + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: ApplicationType + description: Application type of application. + protocol: {} + - &ref_67 + choices: + - value: Unknown + language: + default: + name: Unknown + description: '' + - value: Active + language: + default: + name: Active + description: '' + - value: Disconnected + language: + default: + name: Disconnected + description: '' + - value: Pending + language: + default: + name: Pending + description: '' + - value: LogOff + language: + default: + name: LogOff + description: '' + - value: UserProfileDiskMounted + language: + default: + name: UserProfileDiskMounted + description: '' + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: SessionState + description: State of user session. + protocol: {} + - &ref_75 + choices: + - value: Available + language: + default: + name: Available + description: '' + - value: Unavailable + language: + default: + name: Unavailable + description: '' + - value: Shutdown + language: + default: + name: Shutdown + description: '' + - value: Disconnected + language: + default: + name: Disconnected + description: '' + - value: Upgrading + language: + default: + name: Upgrading + description: '' + - value: UpgradeFailed + language: + default: + name: UpgradeFailed + description: '' + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: Status + description: Status for a SessionHost. + protocol: {} + - &ref_79 + choices: + - value: Initial + language: + default: + name: Initial + description: '' + - value: Pending + language: + default: + name: Pending + description: '' + - value: Started + language: + default: + name: Started + description: '' + - value: Succeeded + language: + default: + name: Succeeded + description: '' + - value: Failed + language: + default: + name: Failed + description: '' + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: UpdateState + description: Update state of a SessionHost. + protocol: {} + constants: + - &ref_145 + type: constant + value: + value: 2019-12-10-preview + valueType: *ref_0 + language: + default: + name: ApiVersion-2019-12-10-preview + description: Api Version (2019-12-10-preview) + protocol: {} + - &ref_155 + type: constant + value: + value: application/json + valueType: *ref_0 + language: + default: + name: application/json + description: Content Type 'application/json' + protocol: {} + dictionaries: + - &ref_37 + type: dictionary + elementType: *ref_1 + language: + default: + name: TrackedResource-tags + description: Resource tags. + protocol: {} + any: + - &ref_39 + type: any + language: + default: + name: any + description: Any object + protocol: {} + byteArrays: + - &ref_56 + type: byte-array + format: byte + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationProperties-iconContent + description: the icon a 64 bit string as a byte array. + protocol: {} + - &ref_60 + type: byte-array + format: byte + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: DesktopProperties-iconContent + description: The icon a 64 bit string as a byte array. + protocol: {} + dateTimes: + - &ref_28 + type: date-time + format: date-time + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: RegistrationInfo-expirationTime + description: Expiration time of registration token. + protocol: {} + - &ref_69 + type: date-time + format: date-time + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: UserSessionProperties-createTime + description: The timestamp of the user session create. + protocol: {} + - &ref_70 + type: date-time + format: date-time + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostProperties-lastHeartBeat + description: Last heart beat from SessionHost. + protocol: {} + - &ref_76 + type: date-time + format: date-time + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostProperties-statusTimestamp + description: The timestamp of the status. + protocol: {} + - &ref_80 + type: date-time + format: date-time + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostProperties-lastUpdateTime + description: The timestamp of the last update. + protocol: {} + objects: + - &ref_148 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_132 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: &ref_7 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_2 + serializedName: name + language: + default: + name: name + description: 'Operation name, in format of {provider}/{resource}/{operation}' + protocol: {} + - schema: &ref_8 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_3 + serializedName: provider + language: + default: + name: provider + description: 'Resource provider: Microsoft Desktop Virtualization.' + protocol: {} + - schema: *ref_4 + serializedName: resource + language: + default: + name: resource + description: Resource on which the operation is performed. + protocol: {} + - schema: *ref_5 + serializedName: operation + language: + default: + name: operation + description: 'Type of operation: get, read, delete, etc.' + protocol: {} + - schema: *ref_6 + serializedName: description + language: + default: + name: description + description: Description of this operation. + protocol: {} + serializationFormats: + - json + usage: + - output + language: + default: + name: ResourceProviderOperation-display + description: Display metadata associated with the operation. + namespace: '' + protocol: {} + serializedName: display + language: + default: + name: display + description: Display metadata associated with the operation. + protocol: {} + serializationFormats: + - json + usage: + - output + language: + default: + name: ResourceProviderOperation + description: Supported operation of this resource provider. + namespace: '' + protocol: {} + language: + default: + name: ResourceProviderOperationList-value + description: List of operations supported by this resource provider. + protocol: {} + serializedName: value + language: + default: + name: value + description: List of operations supported by this resource provider. + protocol: {} + serializationFormats: + - json + usage: + - output + language: + default: + name: ResourceProviderOperationList + description: Result of the request to list operations. + namespace: '' + protocol: {} + - *ref_7 + - *ref_8 + - &ref_10 + type: object + apiVersions: + - version: '1.0' + children: + all: + - &ref_9 + type: object + apiVersions: + - version: '1.0' + children: + all: + - &ref_34 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_9 + - *ref_10 + immediate: + - *ref_9 + properties: + - schema: &ref_94 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_11 + serializedName: description + language: + default: + name: description + description: Description of Workspace. + protocol: {} + - schema: *ref_12 + serializedName: friendlyName + language: + default: + name: friendlyName + description: Friendly name of Workspace. + protocol: {} + - schema: &ref_133 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_13 + language: + default: + name: WorkspaceProperties-applicationGroupReferences + description: List of applicationGroup resource Ids. + protocol: {} + serializedName: applicationGroupReferences + language: + default: + name: applicationGroupReferences + description: List of applicationGroup resource Ids. + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: WorkspaceProperties + description: Schema for Workspace properties. + namespace: '' + protocol: {} + serializedName: properties + extensions: + x-ms-client-flatten: true + language: + default: + name: properties + description: Detailed properties for Workspace + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: Workspace + description: Represents a Workspace definition. + namespace: '' + protocol: {} + - &ref_35 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_9 + - *ref_10 + immediate: + - *ref_9 + properties: + - schema: &ref_103 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_14 + required: false + serializedName: description + language: + default: + name: description + description: Description of ApplicationGroup. + protocol: {} + - schema: *ref_15 + required: false + serializedName: friendlyName + language: + default: + name: friendlyName + description: Friendly name of ApplicationGroup. + protocol: {} + - schema: *ref_16 + required: true + serializedName: hostPoolArmPath + language: + default: + name: hostPoolArmPath + description: HostPool arm path of ApplicationGroup. + protocol: {} + - schema: *ref_17 + readOnly: true + required: false + serializedName: workspaceArmPath + language: + default: + name: workspaceArmPath + description: Workspace arm path of ApplicationGroup. + protocol: {} + - schema: *ref_18 + required: true + serializedName: applicationGroupType + language: + default: + name: applicationGroupType + description: Resource Type of ApplicationGroup. + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: ApplicationGroupProperties + description: Schema for ApplicationGroup properties. + namespace: '' + protocol: {} + required: true + serializedName: properties + extensions: + x-ms-client-flatten: true + x-nullable: false + language: + default: + name: properties + description: Detailed properties for ApplicationGroup + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: ApplicationGroup + description: Represents a ApplicationGroup definition. + namespace: '' + protocol: {} + - &ref_36 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_9 + - *ref_10 + immediate: + - *ref_9 + properties: + - schema: &ref_120 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_19 + required: false + serializedName: friendlyName + language: + default: + name: friendlyName + description: Friendly name of HostPool. + protocol: {} + - schema: *ref_20 + required: false + serializedName: description + language: + default: + name: description + description: Description of HostPool. + protocol: {} + - schema: *ref_21 + required: true + serializedName: hostPoolType + language: + default: + name: hostPoolType + description: HostPool type for desktop. + protocol: {} + - schema: *ref_22 + required: true + serializedName: personalDesktopAssignmentType + language: + default: + name: personalDesktopAssignmentType + description: PersonalDesktopAssignment type for HostPool. + protocol: {} + - schema: *ref_23 + required: false + serializedName: customRdpProperty + language: + default: + name: customRdpProperty + description: Custom rdp property of HostPool. + protocol: {} + - schema: *ref_24 + required: false + serializedName: maxSessionLimit + language: + default: + name: maxSessionLimit + description: The max session limit of HostPool. + protocol: {} + - schema: *ref_25 + required: true + serializedName: loadBalancerType + language: + default: + name: loadBalancerType + description: The type of the load balancer. + protocol: {} + - schema: *ref_26 + required: false + serializedName: ring + language: + default: + name: ring + description: The ring number of HostPool. + protocol: {} + - schema: *ref_27 + required: false + serializedName: validationEnvironment + language: + default: + name: validationEnvironment + description: Is validation environment. + protocol: {} + - schema: &ref_121 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_28 + serializedName: expirationTime + language: + default: + name: expirationTime + description: Expiration time of registration token. + protocol: {} + - schema: *ref_29 + serializedName: token + language: + default: + name: token + description: The registration token base64 encoded string. + protocol: {} + - schema: *ref_30 + serializedName: registrationTokenOperation + language: + default: + name: registrationTokenOperation + description: The type of resetting the token. + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: RegistrationInfo + description: Represents a RegistrationInfo definition. + namespace: '' + protocol: {} + required: false + serializedName: registrationInfo + language: + default: + name: registrationInfo + description: The registration info of HostPool. + protocol: {} + - schema: *ref_31 + required: false + serializedName: vmTemplate + language: + default: + name: vmTemplate + description: VM template for sessionhosts configuration within hostpool. + protocol: {} + - schema: &ref_140 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_32 + language: + default: + name: HostPoolProperties-applicationGroupReferences + description: List of applicationGroup links. + protocol: {} + readOnly: true + required: false + serializedName: applicationGroupReferences + language: + default: + name: applicationGroupReferences + description: List of applicationGroup links. + protocol: {} + - schema: *ref_33 + required: false + serializedName: ssoContext + language: + default: + name: ssoContext + description: Path to keyvault containing ssoContext secret. + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: HostPoolProperties + description: Properties of HostPool. + namespace: '' + protocol: {} + required: true + serializedName: properties + extensions: + x-ms-client-flatten: true + x-nullable: false + language: + default: + name: properties + description: Detailed properties for HostPool + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: HostPool + description: Represents a HostPool definition. + namespace: '' + protocol: {} + immediate: + - *ref_34 + - *ref_35 + - *ref_36 + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - schema: *ref_37 + required: false + serializedName: tags + language: + default: + name: tags + description: Resource tags. + protocol: {} + - schema: *ref_38 + required: true + serializedName: location + language: + default: + name: location + description: The geo-location where the resource lives + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: TrackedResource + description: The resource model definition for a ARM tracked top level resource + namespace: '' + protocol: {} + - *ref_34 + - *ref_35 + - &ref_83 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - schema: *ref_39 + serializedName: tags + language: + default: + name: tags + description: tags to be updated + protocol: {} + - schema: &ref_104 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_40 + serializedName: description + language: + default: + name: description + description: Description of ApplicationGroup. + protocol: {} + - schema: *ref_41 + serializedName: friendlyName + language: + default: + name: friendlyName + description: Friendly name of ApplicationGroup. + protocol: {} + serializationFormats: + - json + usage: + - input + - output + language: + default: + name: ApplicationGroupPatchProperties + description: ApplicationGroup properties that can be patched. + namespace: '' + protocol: {} + serializedName: properties + extensions: + x-ms-client-flatten: true + language: + default: + name: properties + description: ApplicationGroup properties that can be patched. + protocol: {} + serializationFormats: + - json + usage: + - input + - output + language: + default: + name: ApplicationGroupPatch + description: ApplicationGroup properties that can be patched. + namespace: '' + protocol: {} + - &ref_84 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - schema: &ref_106 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_42 + serializedName: appAlias + language: + default: + name: appAlias + description: Alias of StartMenuItem. + protocol: {} + - schema: *ref_43 + serializedName: friendlyName + language: + default: + name: friendlyName + description: Friendly name of StartMenuItem. + protocol: {} + - schema: *ref_44 + serializedName: filePath + language: + default: + name: filePath + description: Path to the file of StartMenuItem. + protocol: {} + - schema: *ref_45 + serializedName: commandLineArguments + language: + default: + name: commandLineArguments + description: Command line arguments for StartMenuItem. + protocol: {} + - schema: *ref_46 + serializedName: iconPath + language: + default: + name: iconPath + description: Path to the icon. + protocol: {} + - schema: *ref_47 + serializedName: iconIndex + language: + default: + name: iconIndex + description: Index of the icon. + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: StartMenuItemProperties + description: Schema for StartMenuItem properties. + namespace: '' + protocol: {} + serializedName: properties + extensions: + x-ms-client-flatten: true + language: + default: + name: properties + description: Detailed properties for StartMenuItem + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: StartMenuItem + description: Represents a StartMenuItem definition. + namespace: '' + protocol: {} + - &ref_85 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - schema: &ref_107 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_48 + required: false + serializedName: description + language: + default: + name: description + description: Description of Application. + protocol: {} + - schema: *ref_49 + required: false + serializedName: friendlyName + language: + default: + name: friendlyName + description: Friendly name of Application. + protocol: {} + - schema: *ref_50 + required: false + serializedName: filePath + language: + default: + name: filePath + description: Specifies a path for the executable file for the application. + protocol: {} + - schema: *ref_51 + required: true + serializedName: commandLineSetting + language: + default: + name: commandLineSetting + description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' + protocol: {} + - schema: *ref_52 + required: false + serializedName: commandLineArguments + language: + default: + name: commandLineArguments + description: Command Line Arguments for Application. + protocol: {} + - schema: *ref_53 + required: false + serializedName: showInPortal + language: + default: + name: showInPortal + description: Specifies whether to show the RemoteApp program in the RD Web Access server. + protocol: {} + - schema: *ref_54 + required: false + serializedName: iconPath + language: + default: + name: iconPath + description: Path to icon. + protocol: {} + - schema: *ref_47 + required: false + serializedName: iconIndex + language: + default: + name: iconIndex + description: Index of the icon. + protocol: {} + - schema: *ref_55 + readOnly: true + required: false + serializedName: iconHash + language: + default: + name: iconHash + description: Hash of the icon. + protocol: {} + - schema: *ref_56 + readOnly: true + required: false + serializedName: iconContent + language: + default: + name: iconContent + description: the icon a 64 bit string as a byte array. + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: ApplicationProperties + description: Schema for Application properties. + namespace: '' + protocol: {} + required: true + serializedName: properties + extensions: + x-ms-client-flatten: true + x-nullable: false + language: + default: + name: properties + description: Detailed properties for Application + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: Application + description: Schema for Application properties. + namespace: '' + protocol: {} + - &ref_86 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - schema: &ref_115 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_57 + serializedName: description + language: + default: + name: description + description: Description of Desktop. + protocol: {} + - schema: *ref_58 + serializedName: friendlyName + language: + default: + name: friendlyName + description: Friendly name of Desktop. + protocol: {} + - schema: *ref_59 + readOnly: true + serializedName: iconHash + language: + default: + name: iconHash + description: Hash of the icon. + protocol: {} + - schema: *ref_60 + readOnly: true + serializedName: iconContent + language: + default: + name: iconContent + description: The icon a 64 bit string as a byte array. + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: DesktopProperties + description: Schema for Desktop properties. + namespace: '' + protocol: {} + serializedName: properties + extensions: + x-ms-client-flatten: true + language: + default: + name: properties + description: Detailed properties for Desktop + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: Desktop + description: Schema for Desktop properties. + namespace: '' + protocol: {} + - *ref_36 + - &ref_87 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - schema: *ref_39 + serializedName: tags + language: + default: + name: tags + description: tags to be updated + protocol: {} + - schema: &ref_122 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_61 + serializedName: friendlyName + language: + default: + name: friendlyName + description: Friendly name of HostPool. + protocol: {} + - schema: *ref_62 + serializedName: description + language: + default: + name: description + description: Description of HostPool. + protocol: {} + - schema: *ref_63 + serializedName: customRdpProperty + language: + default: + name: customRdpProperty + description: Custom rdp property of HostPool. + protocol: {} + - schema: *ref_24 + serializedName: maxSessionLimit + language: + default: + name: maxSessionLimit + description: The max session limit of HostPool. + protocol: {} + - schema: *ref_22 + serializedName: personalDesktopAssignmentType + language: + default: + name: personalDesktopAssignmentType + description: PersonalDesktopAssignment type for HostPool. + protocol: {} + - schema: *ref_25 + serializedName: loadBalancerType + language: + default: + name: loadBalancerType + description: The type of the load balancer. + protocol: {} + - schema: *ref_26 + serializedName: ring + language: + default: + name: ring + description: The ring number of HostPool. + protocol: {} + - schema: *ref_27 + serializedName: validationEnvironment + language: + default: + name: validationEnvironment + description: Is validation environment. + protocol: {} + - schema: &ref_123 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_30 + serializedName: registrationTokenOperation + language: + default: + name: registrationTokenOperation + description: The type of resetting the token. + protocol: {} + serializationFormats: + - json + usage: + - input + - output + language: + default: + name: RegistrationInfoPatch + description: Represents a RegistrationInfo definition. + namespace: '' + protocol: {} + serializedName: registrationInfo + language: + default: + name: registrationInfo + description: The registration info of HostPool. + protocol: {} + - schema: *ref_64 + serializedName: ssoContext + language: + default: + name: ssoContext + description: Path to keyvault containing ssoContext secret. + protocol: {} + serializationFormats: + - json + usage: + - input + - output + language: + default: + name: HostPoolPatchProperties + description: Properties of HostPool. + namespace: '' + protocol: {} + serializedName: properties + extensions: + x-ms-client-flatten: true + language: + default: + name: properties + description: HostPool properties that can be patched. + protocol: {} + serializationFormats: + - json + usage: + - input + - output + language: + default: + name: HostPoolPatch + description: HostPool properties that can be patched. + namespace: '' + protocol: {} + - &ref_88 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - schema: &ref_126 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_65 + serializedName: userPrincipalName + language: + default: + name: userPrincipalName + description: The user principal name. + protocol: {} + - schema: *ref_66 + serializedName: applicationType + language: + default: + name: applicationType + description: Application type of application. + protocol: {} + - schema: *ref_67 + serializedName: sessionState + language: + default: + name: sessionState + description: State of user session. + protocol: {} + - schema: *ref_68 + serializedName: activeDirectoryUserName + language: + default: + name: activeDirectoryUserName + description: The active directory user name. + protocol: {} + - schema: *ref_69 + serializedName: createTime + language: + default: + name: createTime + description: The timestamp of the user session create. + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: UserSessionProperties + description: Schema for UserSession properties. + namespace: '' + protocol: {} + serializedName: properties + extensions: + x-ms-client-flatten: true + language: + default: + name: properties + description: Detailed properties for UserSession + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: UserSession + description: Represents a UserSession definition. + namespace: '' + protocol: {} + - &ref_89 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - schema: &ref_127 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_70 + serializedName: lastHeartBeat + language: + default: + name: lastHeartBeat + description: Last heart beat from SessionHost. + protocol: {} + - schema: *ref_71 + serializedName: sessions + language: + default: + name: sessions + description: Number of sessions on SessionHost. + protocol: {} + - schema: *ref_72 + serializedName: agentVersion + language: + default: + name: agentVersion + description: Version of agent on SessionHost. + protocol: {} + - schema: *ref_73 + serializedName: allowNewSession + language: + default: + name: allowNewSession + description: Allow a new session. + protocol: {} + - schema: *ref_74 + serializedName: assignedUser + language: + default: + name: assignedUser + description: User assigned to SessionHost. + protocol: {} + - schema: *ref_75 + serializedName: status + language: + default: + name: status + description: Status for a SessionHost. + protocol: {} + - schema: *ref_76 + readOnly: true + serializedName: statusTimestamp + language: + default: + name: statusTimestamp + description: The timestamp of the status. + protocol: {} + - schema: *ref_77 + serializedName: osVersion + language: + default: + name: osVersion + description: The version of the OS on the session host. + protocol: {} + - schema: *ref_78 + serializedName: sxSStackVersion + language: + default: + name: sxSStackVersion + description: The version of the side by side stack on the session host. + protocol: {} + - schema: *ref_79 + serializedName: updateState + language: + default: + name: updateState + description: Update state of a SessionHost. + protocol: {} + - schema: *ref_80 + readOnly: true + serializedName: lastUpdateTime + language: + default: + name: lastUpdateTime + description: The timestamp of the last update. + protocol: {} + - schema: *ref_81 + serializedName: updateErrorMessage + language: + default: + name: updateErrorMessage + description: The error message. + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: SessionHostProperties + description: Schema for SessionHost properties. + namespace: '' + protocol: {} + serializedName: properties + extensions: + x-ms-client-flatten: true + language: + default: + name: properties + description: Detailed properties for SessionHost + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: SessionHost + description: Represents a SessionHost definition. + namespace: '' + protocol: {} + - &ref_90 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - schema: &ref_128 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_73 + serializedName: allowNewSession + language: + default: + name: allowNewSession + description: Allow a new session. + protocol: {} + - schema: *ref_82 + serializedName: assignedUser + language: + default: + name: assignedUser + description: User assigned to SessionHost. + protocol: {} + serializationFormats: + - json + usage: + - input + - output + language: + default: + name: SessionHostPatchProperties + description: SessionHost properties that can be patched. + namespace: '' + protocol: {} + serializedName: properties + extensions: + x-ms-client-flatten: true + language: + default: + name: properties + description: Detailed properties for SessionHost + protocol: {} + serializationFormats: + - json + usage: + - input + - output + language: + default: + name: SessionHostPatch + description: SessionHost properties that can be patched. + namespace: '' + protocol: {} + immediate: + - *ref_9 + - *ref_83 + - *ref_84 + - *ref_85 + - *ref_86 + - *ref_87 + - *ref_88 + - *ref_89 + - *ref_90 + properties: + - schema: *ref_91 + readOnly: true + serializedName: id + language: + default: + name: id + description: 'Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' + protocol: {} + - schema: *ref_92 + readOnly: true + serializedName: name + language: + default: + name: name + description: The name of the resource + protocol: {} + - schema: *ref_93 + readOnly: true + serializedName: type + language: + default: + name: type + description: The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + protocol: {} + serializationFormats: + - json + usage: + - output + - input + extensions: + x-ms-azure-resource: true + language: + default: + name: Resource + description: '' + namespace: '' + protocol: {} + - *ref_9 + - *ref_34 + - *ref_94 + - &ref_154 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_95 + serializedName: code + language: + default: + name: code + description: Error code + protocol: {} + - schema: *ref_96 + serializedName: message + language: + default: + name: message + description: Error message indicating why the operation failed. + protocol: {} + serializationFormats: + - json + usage: + - output + language: + default: + name: CloudError + description: Error response of an operation failure + namespace: '' + protocol: {} + - &ref_161 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_39 + serializedName: tags + language: + default: + name: tags + description: tags to be updated + protocol: {} + - schema: &ref_100 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_97 + serializedName: description + language: + default: + name: description + description: Description of Workspace. + protocol: {} + - schema: *ref_98 + serializedName: friendlyName + language: + default: + name: friendlyName + description: Friendly name of Workspace. + protocol: {} + - schema: &ref_134 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_99 + language: + default: + name: WorkspacePatchProperties-applicationGroupReferences + description: List of applicationGroup links. + protocol: {} + serializedName: applicationGroupReferences + language: + default: + name: applicationGroupReferences + description: List of applicationGroup links. + protocol: {} + serializationFormats: + - json + usage: + - input + language: + default: + name: WorkspacePatchProperties + description: Workspace properties that can be patched. + namespace: '' + protocol: {} + serializedName: properties + extensions: + x-ms-client-flatten: true + language: + default: + name: properties + description: Detailed properties for Workspace + protocol: {} + serializationFormats: + - json + usage: + - input + language: + default: + name: WorkspacePatch + description: Workspace properties that can be patched. + namespace: '' + protocol: {} + - *ref_100 + - &ref_166 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_135 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_34 + language: + default: + name: WorkspaceList-value + description: List of Workspace definitions. + protocol: {} + serializedName: value + language: + default: + name: value + description: List of Workspace definitions. + protocol: {} + - schema: *ref_101 + readOnly: true + serializedName: nextLink + language: + default: + name: nextLink + description: Link to the next page of results. + protocol: {} + serializationFormats: + - json + summary: WorkspaceList + usage: + - output + language: + default: + name: WorkspaceList + description: List of Workspace definitions. + namespace: '' + summary: WorkspaceList + protocol: {} + - &ref_171 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_136 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_35 + language: + default: + name: ApplicationGroupList-value + description: List of ApplicationGroup definitions. + protocol: {} + serializedName: value + language: + default: + name: value + description: List of ApplicationGroup definitions. + protocol: {} + - schema: *ref_102 + readOnly: true + serializedName: nextLink + language: + default: + name: nextLink + description: Link to the next page of results. + protocol: {} + serializationFormats: + - json + summary: ApplicationGroupList + usage: + - output + language: + default: + name: ApplicationGroupList + description: List of ApplicationGroup definitions. + namespace: '' + summary: ApplicationGroupList + protocol: {} + - *ref_35 + - *ref_103 + - *ref_83 + - *ref_104 + - &ref_187 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_137 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_84 + language: + default: + name: StartMenuItemList-value + description: List of StartMenuItem definitions. + protocol: {} + serializedName: value + language: + default: + name: value + description: List of StartMenuItem definitions. + protocol: {} + - schema: *ref_105 + readOnly: true + serializedName: nextLink + language: + default: + name: nextLink + description: Link to the next page of results. + protocol: {} + serializationFormats: + - json + summary: StartMenuItemList + usage: + - output + language: + default: + name: StartMenuItemList + description: List of StartMenuItem definitions. + namespace: '' + summary: StartMenuItemList + protocol: {} + - *ref_84 + - *ref_106 + - *ref_85 + - *ref_107 + - &ref_198 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_39 + serializedName: tags + language: + default: + name: tags + description: tags to be updated + protocol: {} + - schema: &ref_113 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_108 + serializedName: description + language: + default: + name: description + description: Description of Application. + protocol: {} + - schema: *ref_109 + serializedName: friendlyName + language: + default: + name: friendlyName + description: Friendly name of Application. + protocol: {} + - schema: *ref_110 + serializedName: filePath + language: + default: + name: filePath + description: Specifies a path for the executable file for the application. + protocol: {} + - schema: *ref_51 + serializedName: commandLineSetting + language: + default: + name: commandLineSetting + description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' + protocol: {} + - schema: *ref_111 + serializedName: commandLineArguments + language: + default: + name: commandLineArguments + description: Command Line Arguments for Application. + protocol: {} + - schema: *ref_53 + serializedName: showInPortal + language: + default: + name: showInPortal + description: Specifies whether to show the RemoteApp program in the RD Web Access server. + protocol: {} + - schema: *ref_112 + serializedName: iconPath + language: + default: + name: iconPath + description: Path to icon. + protocol: {} + - schema: *ref_47 + serializedName: iconIndex + language: + default: + name: iconIndex + description: Index of the icon. + protocol: {} + serializationFormats: + - json + usage: + - input + language: + default: + name: ApplicationPatchProperties + description: Application properties that can be patched. + namespace: '' + protocol: {} + serializedName: properties + extensions: + x-ms-client-flatten: true + language: + default: + name: properties + description: Detailed properties for Application + protocol: {} + serializationFormats: + - json + usage: + - input + language: + default: + name: ApplicationPatch + description: Application properties that can be patched. + namespace: '' + protocol: {} + - *ref_113 + - &ref_205 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_138 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_85 + language: + default: + name: ApplicationList-value + description: List of Application definitions. + protocol: {} + serializedName: value + language: + default: + name: value + description: List of Application definitions. + protocol: {} + - schema: *ref_114 + readOnly: true + serializedName: nextLink + language: + default: + name: nextLink + description: Link to the next page of results. + protocol: {} + serializationFormats: + - json + summary: ApplicationList + usage: + - output + language: + default: + name: ApplicationList + description: List of Application definitions. + namespace: '' + summary: ApplicationList + protocol: {} + - *ref_86 + - *ref_115 + - &ref_209 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_39 + serializedName: tags + language: + default: + name: tags + description: tags to be updated + protocol: {} + - schema: &ref_118 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_116 + serializedName: description + language: + default: + name: description + description: Description of Desktop. + protocol: {} + - schema: *ref_117 + serializedName: friendlyName + language: + default: + name: friendlyName + description: Friendly name of Desktop. + protocol: {} + serializationFormats: + - json + usage: + - input + language: + default: + name: DesktopPatchProperties + description: Desktop properties that can be patched. + namespace: '' + protocol: {} + serializedName: properties + extensions: + x-ms-client-flatten: true + language: + default: + name: properties + description: Detailed properties for Desktop + protocol: {} + serializationFormats: + - json + usage: + - input + language: + default: + name: DesktopPatch + description: Desktop properties that can be patched. + namespace: '' + protocol: {} + - *ref_118 + - &ref_216 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_139 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_86 + language: + default: + name: DesktopList-value + description: List of Desktop definitions. + protocol: {} + serializedName: value + language: + default: + name: value + description: List of Desktop definitions. + protocol: {} + - schema: *ref_119 + readOnly: true + serializedName: nextLink + language: + default: + name: nextLink + description: Link to the next page of results. + protocol: {} + serializationFormats: + - json + summary: DesktopList + usage: + - output + language: + default: + name: DesktopList + description: List of Desktop definitions. + namespace: '' + summary: DesktopList + protocol: {} + - *ref_36 + - *ref_120 + - *ref_121 + - *ref_87 + - *ref_122 + - *ref_123 + - &ref_230 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_141 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_36 + language: + default: + name: HostPoolList-value + description: List of HostPool definitions. + protocol: {} + serializedName: value + language: + default: + name: value + description: List of HostPool definitions. + protocol: {} + - schema: *ref_124 + readOnly: true + serializedName: nextLink + language: + default: + name: nextLink + description: Link to the next page of results. + protocol: {} + serializationFormats: + - json + summary: HostPoolList + usage: + - output + language: + default: + name: HostPoolList + description: List of HostPool definitions. + namespace: '' + summary: HostPoolList + protocol: {} + - &ref_234 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_142 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_88 + language: + default: + name: UserSessionList-value + description: List of UserSession definitions. + protocol: {} + serializedName: value + language: + default: + name: value + description: List of UserSession definitions. + protocol: {} + - schema: *ref_125 + readOnly: true + serializedName: nextLink + language: + default: + name: nextLink + description: Link to the next page of results. + protocol: {} + serializationFormats: + - json + summary: UserSessionList + usage: + - output + language: + default: + name: UserSessionList + description: List of UserSession definitions. + namespace: '' + summary: UserSessionList + protocol: {} + - *ref_88 + - *ref_126 + - *ref_89 + - *ref_127 + - *ref_90 + - *ref_128 + - &ref_272 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_143 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_89 + language: + default: + name: SessionHostList-value + description: List of SessionHost definitions. + protocol: {} + serializedName: value + language: + default: + name: value + description: List of SessionHost definitions. + protocol: {} + - schema: *ref_129 + readOnly: true + serializedName: nextLink + language: + default: + name: nextLink + description: Link to the next page of results. + protocol: {} + serializationFormats: + - json + summary: SessionHostList + usage: + - output + language: + default: + name: SessionHostList + description: List of SessionHost definitions. + namespace: '' + summary: SessionHostList + protocol: {} + - &ref_253 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_130 + serializedName: messageTitle + language: + default: + name: messageTitle + description: Title of message. + protocol: {} + - schema: *ref_131 + serializedName: messageBody + language: + default: + name: messageBody + description: Body of message. + protocol: {} + serializationFormats: + - json + usage: + - input + language: + default: + name: SendMessage + description: Represents message sent to a UserSession. + namespace: '' + protocol: {} + arrays: + - *ref_132 + - *ref_133 + - *ref_134 + - *ref_135 + - *ref_136 + - *ref_137 + - *ref_138 + - *ref_139 + - *ref_140 + - *ref_141 + - *ref_142 + - *ref_143 +globalParameters: + - &ref_149 + schema: *ref_144 + implementation: Client + required: true + extensions: + x-ms-priority: 0 + language: + default: + name: subscriptionId + description: The ID of the target subscription. + serializedName: subscriptionId + protocol: + http: + in: path + - &ref_146 + schema: *ref_0 + clientDefaultValue: 'https://management.azure.com' + implementation: Client + origin: 'modelerfour:synthesized/host' + required: true + extensions: + x-ms-skip-url-encoding: true + language: + default: + name: $host + description: server parameter + serializedName: $host + protocol: + http: + in: uri + - &ref_147 + schema: *ref_145 + implementation: Client + origin: 'modelerfour:synthesized/api-version' + required: true + language: + default: + name: ApiVersion + description: Api Version + serializedName: api-version + protocol: + http: + in: query +operationGroups: + - $key: Operations + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: /providers/Microsoft.DesktopVirtualization/operations + method: get + uri: '{$host}' + signatureParameters: [] + responses: + - schema: *ref_148 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + extensions: + x-ms-examples: + OperationDescription_List: + parameters: + api-version: 2019-12-10-preview + responses: + '200': + body: + value: + - name: Microsoft.DesktopVirtualization/ssocontext/read + display: + provider: Microsoft.DesktopVirtualization + resource: ssocontext + - name: Microsoft.DesktopVirtualization/ssocontext/write + display: + provider: Microsoft.DesktopVirtualization + resource: ssocontext + language: + default: + name: List + description: List all of the available operations the Desktop Virtualization resource provider supports. + protocol: {} + language: + default: + name: Operations + description: '' + protocol: {} + - $key: Workspaces + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_152 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + protocol: + http: + in: path + - &ref_153 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: workspaceName + description: The name of the workspace + serializedName: workspaceName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_152 + - *ref_153 + responses: + - schema: *ref_34 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Workspace_Get: + parameters: + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + workspaceName: workspace1 + responses: + '200': + body: + name: workspace1 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + language: + default: + name: Get + description: Get a workspace. + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_157 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + protocol: + http: + in: path + - &ref_158 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: workspaceName + description: The name of the workspace + serializedName: workspaceName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_155 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content-type + description: Body Parameter content-type + serializedName: Content-Type + protocol: + http: + in: header + - &ref_156 + schema: *ref_34 + implementation: Method + required: true + language: + default: + name: workspace + description: Object containing Workspace definitions. + protocol: + http: + in: body + style: json + signatureParameters: + - *ref_156 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' + method: put + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_157 + - *ref_158 + responses: + - schema: *ref_34 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + - schema: *ref_34 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '201' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Workspace_Create: + parameters: + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + workspace: + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + tag1: value1 + tag2: value2 + workspaceName: workspace1 + responses: + '200': + body: + name: workspace1 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + '201': + body: + name: workspace1 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + language: + default: + name: CreateOrUpdate + description: Create or update a workspace. + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_159 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + protocol: + http: + in: path + - &ref_160 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: workspaceName + description: The name of the workspace + serializedName: workspaceName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' + method: delete + uri: '{$host}' + signatureParameters: + - *ref_159 + - *ref_160 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '204' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Workspace_Delete: + parameters: + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + workspaceName: workspace1 + responses: + '200': + name: workspace1 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + '204': {} + language: + default: + name: Delete + description: Remove a workspace. + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_163 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + protocol: + http: + in: path + - &ref_164 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: workspaceName + description: The name of the workspace + serializedName: workspaceName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_155 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content-type + description: Body Parameter content-type + serializedName: Content-Type + protocol: + http: + in: header + - &ref_162 + schema: *ref_161 + implementation: Method + required: false + language: + default: + name: workspace + description: Object containing Workspace definitions. + protocol: + http: + in: body + style: json + signatureParameters: + - *ref_162 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' + method: patch + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_163 + - *ref_164 + responses: + - schema: *ref_34 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Workspace_Update: + parameters: + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + workspace: + properties: + description: des1 + friendlyName: friendly + tags: + tag1: value1 + tag2: value2 + workspaceName: workspace1 + responses: + '200': + body: + name: workspace1 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + language: + default: + name: Update + description: Update a workspace. + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_165 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces' + method: get + uri: '{$host}' + signatureParameters: + - *ref_165 + responses: + - schema: *ref_166 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Workspace_ListByResourceGroup: + parameters: + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: workspace1 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + - name: workspace2 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace2 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: ListByResourceGroup + description: List workspaces. + paging: + nextLinkName: nextLink + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/workspaces' + method: get + uri: '{$host}' + signatureParameters: [] + responses: + - schema: *ref_166 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Workspace_ListBySubscription: + parameters: + api-version: 2019-12-10-preview + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: workspace1 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + - name: workspace2 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace2 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: ListBySubscription + description: List workspaces in subscription. + paging: + nextLinkName: nextLink + protocol: {} + language: + default: + name: Workspaces + description: '' + protocol: {} + - $key: ApplicationGroupAssignments + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_168 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + protocol: + http: + in: path + - &ref_169 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: workspaceName + description: The name of the workspace + serializedName: workspaceName + protocol: + http: + in: path + - &ref_170 + schema: *ref_167 + implementation: Method + language: + default: + name: $filter + description: OData filter expression. Valid properties for filtering are applicationGroupType. + serializedName: $filter + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}/userApplicationGroupAssignments' + method: get + uri: '{$host}' + signatureParameters: + - *ref_168 + - *ref_169 + - *ref_170 + responses: + - schema: *ref_171 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ApplicationGroupAssignment_WorkspaceLevelList: + parameters: + $filter: userPrincipalName eq 'user1@microsoft.com' + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + workspaceName: workspace1 + responses: + '200': + body: + value: + - name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + - name: applicationGroup2 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: WorkspaceLevelList + description: List application group that user can use. + paging: + nextLinkName: nextLink + protocol: {} + language: + default: + name: ApplicationGroupAssignments + description: '' + protocol: {} + - $key: ApplicationGroups + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_172 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + protocol: + http: + in: path + - &ref_173 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationGroupName + description: The name of the application group + serializedName: applicationGroupName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_172 + - *ref_173 + responses: + - schema: *ref_35 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ApplicationGroup_Get: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + language: + default: + name: Get + description: Get an application group. + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_175 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + protocol: + http: + in: path + - &ref_176 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationGroupName + description: The name of the application group + serializedName: applicationGroupName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_155 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content-type + description: Body Parameter content-type + serializedName: Content-Type + protocol: + http: + in: header + - &ref_174 + schema: *ref_35 + implementation: Method + required: true + language: + default: + name: applicationGroup + description: Object containing ApplicationGroup definitions. + protocol: + http: + in: body + style: json + signatureParameters: + - *ref_174 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' + method: put + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_175 + - *ref_176 + responses: + - schema: *ref_35 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + - schema: *ref_35 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '201' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ApplicationGroup_Create: + parameters: + api-version: 2019-12-10-preview + applicationGroup: + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + tags: + tag1: value1 + tag2: value2 + applicationGroupName: applicationGroup1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + '201': + body: + name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + language: + default: + name: CreateOrUpdate + description: Create or update an applicationGroup. + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_177 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + protocol: + http: + in: path + - &ref_178 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationGroupName + description: The name of the application group + serializedName: applicationGroupName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' + method: delete + uri: '{$host}' + signatureParameters: + - *ref_177 + - *ref_178 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '204' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ApplicationGroup_Delete: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + '204': {} + language: + default: + name: Delete + description: Remove an applicationGroup. + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_180 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + protocol: + http: + in: path + - &ref_181 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationGroupName + description: The name of the application group + serializedName: applicationGroupName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_155 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content-type + description: Body Parameter content-type + serializedName: Content-Type + protocol: + http: + in: header + - &ref_179 + schema: *ref_83 + implementation: Method + required: false + language: + default: + name: applicationGroup + description: Object containing ApplicationGroup definitions. + protocol: + http: + in: body + style: json + signatureParameters: + - *ref_179 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' + method: patch + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_180 + - *ref_181 + responses: + - schema: *ref_35 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ApplicationGroups_Update: + parameters: + api-version: 2019-12-10-preview + applicationGroup: + properties: + description: des1 + friendlyName: friendly + tags: + tag1: value1 + tag2: value2 + applicationGroupName: applicationGroup1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + language: + default: + name: Update + description: Update an applicationGroup. + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_182 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + protocol: + http: + in: path + - &ref_183 + schema: *ref_167 + implementation: Method + language: + default: + name: $filter + description: OData filter expression. Valid properties for filtering are applicationGroupType. + serializedName: $filter + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups' + method: get + uri: '{$host}' + signatureParameters: + - *ref_182 + - *ref_183 + responses: + - schema: *ref_171 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ApplicationGroup_ListByResourceGroup: + parameters: + $filter: applicationGroupType eq 'RailApplication' + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + - name: applicationGroup2 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: ListByResourceGroup + description: List applicationGroups. + paging: + nextLinkName: nextLink + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_184 + schema: *ref_167 + implementation: Method + language: + default: + name: $filter + description: OData filter expression. Valid properties for filtering are applicationGroupType. + serializedName: $filter + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/applicationGroups' + method: get + uri: '{$host}' + signatureParameters: + - *ref_184 + responses: + - schema: *ref_171 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ApplicationGroup_List: + parameters: + $filter: applicationGroupType eq 'RailApplication' + api-version: 2019-12-10-preview + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + - name: applicationGroup2 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: ListBySubscription + description: List applicationGroups in subscription. + paging: + nextLinkName: nextLink + protocol: {} + language: + default: + name: ApplicationGroups + description: '' + protocol: {} + - $key: StartMenuItems + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_185 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + protocol: + http: + in: path + - &ref_186 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationGroupName + description: The name of the application group + serializedName: applicationGroupName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/startMenuItems' + method: get + uri: '{$host}' + signatureParameters: + - *ref_185 + - *ref_186 + responses: + - schema: *ref_187 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + StartMenuItem_List: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: application1 + type: Microsoft.DesktopVirtualization/applicationGroups/startMenuItems + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/startMenuItem/application1 + properties: + appAlias: word + commandLineArguments: arguments + filePath: /path/to/file + friendlyName: friendly + iconIndex: 1 + iconPath: /path/to/icon + - name: application2 + type: Microsoft.DesktopVirtualization/applicationGroups/startMenuItems + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/startMenuItem/application2 + properties: + appAlias: excel + commandLineArguments: arguments + filePath: /path/to/file + friendlyName: friendly + iconIndex: 1 + iconPath: /path/to/icon + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: List + description: List start menu items in the given application group. + paging: + nextLinkName: nextLink + protocol: {} + language: + default: + name: StartMenuItems + description: '' + protocol: {} + - $key: Applications + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_188 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + protocol: + http: + in: path + - &ref_189 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationGroupName + description: The name of the application group + serializedName: applicationGroupName + protocol: + http: + in: path + - &ref_190 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationName + description: The name of the application within the specified application group + serializedName: applicationName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_188 + - *ref_189 + - *ref_190 + responses: + - schema: *ref_85 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Application_Get: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + applicationName: application1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1/application1 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + language: + default: + name: Get + description: Get an application. + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_192 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + protocol: + http: + in: path + - &ref_193 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationGroupName + description: The name of the application group + serializedName: applicationGroupName + protocol: + http: + in: path + - &ref_194 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationName + description: The name of the application within the specified application group + serializedName: applicationName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_155 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content-type + description: Body Parameter content-type + serializedName: Content-Type + protocol: + http: + in: header + - &ref_191 + schema: *ref_85 + implementation: Method + required: true + language: + default: + name: application + description: Object containing Application definitions. + protocol: + http: + in: body + style: json + signatureParameters: + - *ref_191 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' + method: put + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_192 + - *ref_193 + - *ref_194 + responses: + - schema: *ref_85 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + - schema: *ref_85 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '201' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Application_Create: + parameters: + api-version: 2019-12-10-preview + application: + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconIndex: 1 + iconPath: icon + showInPortal: true + applicationGroupName: applicationGroup1 + applicationName: application1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1/application1 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + '201': + body: + name: applicationGroup1/application1 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + language: + default: + name: CreateOrUpdate + description: Create or update an application. + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_195 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + protocol: + http: + in: path + - &ref_196 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationGroupName + description: The name of the application group + serializedName: applicationGroupName + protocol: + http: + in: path + - &ref_197 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationName + description: The name of the application within the specified application group + serializedName: applicationName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' + method: delete + uri: '{$host}' + signatureParameters: + - *ref_195 + - *ref_196 + - *ref_197 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '204' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Application_Delete: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + applicationName: application1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + name: applicationGroup1/application1 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + '204': {} + language: + default: + name: Delete + description: Remove an application. + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_200 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + protocol: + http: + in: path + - &ref_201 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationGroupName + description: The name of the application group + serializedName: applicationGroupName + protocol: + http: + in: path + - &ref_202 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationName + description: The name of the application within the specified application group + serializedName: applicationName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_155 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content-type + description: Body Parameter content-type + serializedName: Content-Type + protocol: + http: + in: header + - &ref_199 + schema: *ref_198 + implementation: Method + required: false + language: + default: + name: application + description: Object containing Application definitions. + protocol: + http: + in: body + style: json + signatureParameters: + - *ref_199 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' + method: patch + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_200 + - *ref_201 + - *ref_202 + responses: + - schema: *ref_85 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Application_Update: + parameters: + api-version: 2019-12-10-preview + application: + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconIndex: 1 + iconPath: icon + showInPortal: true + applicationGroupName: applicationGroup1 + applicationName: application1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1/application1 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + language: + default: + name: Update + description: Update an application. + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_203 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + protocol: + http: + in: path + - &ref_204 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationGroupName + description: The name of the application group + serializedName: applicationGroupName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications' + method: get + uri: '{$host}' + signatureParameters: + - *ref_203 + - *ref_204 + responses: + - schema: *ref_205 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Applications_List: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: applicationGroup1/application1 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + - name: applicationGroup1/application2 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application2 + properties: + description: des2 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: List + description: List applications. + paging: + nextLinkName: nextLink + protocol: {} + language: + default: + name: Applications + description: '' + protocol: {} + - $key: Desktops + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_206 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + protocol: + http: + in: path + - &ref_207 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationGroupName + description: The name of the application group + serializedName: applicationGroupName + protocol: + http: + in: path + - &ref_208 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: desktopName + description: The name of the desktop within the specified desktop group + serializedName: desktopName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops/{desktopName}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_206 + - *ref_207 + - *ref_208 + responses: + - schema: *ref_86 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Desktop_Get: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + desktopName: SessionDesktop + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1/SessionDesktop + type: Microsoft.DesktopVirtualization/applicationGroups/desktops + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/SessionDesktop + properties: + description: des1 + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + language: + default: + name: Get + description: Get a desktop. + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_211 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + protocol: + http: + in: path + - &ref_212 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationGroupName + description: The name of the application group + serializedName: applicationGroupName + protocol: + http: + in: path + - &ref_213 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: desktopName + description: The name of the desktop within the specified desktop group + serializedName: desktopName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_155 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content-type + description: Body Parameter content-type + serializedName: Content-Type + protocol: + http: + in: header + - &ref_210 + schema: *ref_209 + implementation: Method + required: false + language: + default: + name: desktop + description: Object containing Desktop definitions. + protocol: + http: + in: body + style: json + signatureParameters: + - *ref_210 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops/{desktopName}' + method: patch + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_211 + - *ref_212 + - *ref_213 + responses: + - schema: *ref_86 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Desktop_Update: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + desktop: + properties: + description: des1 + friendlyName: friendly + desktopName: SessionDesktop + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1/SessionDesktop + type: Microsoft.DesktopVirtualization/applicationGroups/desktops + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/desktops/SessionDesktop + properties: + description: des1 + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + language: + default: + name: Update + description: Update a desktop. + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_214 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + protocol: + http: + in: path + - &ref_215 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationGroupName + description: The name of the application group + serializedName: applicationGroupName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops' + method: get + uri: '{$host}' + signatureParameters: + - *ref_214 + - *ref_215 + responses: + - schema: *ref_216 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Desktop_List: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: applicationGroup1/SessionDesktop + type: Microsoft.DesktopVirtualization/applicationGroups/desktops + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/SessionDesktop + properties: + description: des1 + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + language: + default: + name: List + description: List desktops. + protocol: {} + language: + default: + name: Desktops + description: '' + protocol: {} + - $key: HostPools + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_217 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + protocol: + http: + in: path + - &ref_218 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: hostPoolName + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_217 + - *ref_218 + responses: + - schema: *ref_36 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + HostPool_Get: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: hostPool1 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2008-09-22T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + language: + default: + name: Get + description: Get a host pool. + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_220 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + protocol: + http: + in: path + - &ref_221 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: hostPoolName + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_155 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content-type + description: Body Parameter content-type + serializedName: Content-Type + protocol: + http: + in: header + - &ref_219 + schema: *ref_36 + implementation: Method + required: true + language: + default: + name: hostPool + description: Object containing HostPool definitions. + protocol: + http: + in: body + style: json + signatureParameters: + - *ref_219 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' + method: put + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_220 + - *ref_221 + responses: + - schema: *ref_36 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + - schema: *ref_36 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '201' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + HostPool_Create: + parameters: + api-version: 2019-12-10-preview + hostPool: + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2020-10-01T14:01:54.9571247Z' + registrationTokenOperation: Update + ssoContext: KeyVaultPath + tags: + tag1: value1 + tag2: value2 + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: hostPool1 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2020-10-01T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + '201': + body: + name: hostPool1 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2020-10-01T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + language: + default: + name: CreateOrUpdate + description: Create or update a host pool. + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_223 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + protocol: + http: + in: path + - &ref_224 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: hostPoolName + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + protocol: + http: + in: path + - &ref_225 + schema: *ref_222 + implementation: Method + language: + default: + name: force + description: Force flag to delete sessionHost. + serializedName: force + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' + method: delete + uri: '{$host}' + signatureParameters: + - *ref_223 + - *ref_224 + - *ref_225 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '204' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + HostPool_Delete: + parameters: + api-version: 2019-12-10-preview + force: true + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + name: hostPool1 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2008-09-22T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + '204': {} + language: + default: + name: Delete + description: Remove a host pool. + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_227 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + protocol: + http: + in: path + - &ref_228 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: hostPoolName + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_155 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content-type + description: Body Parameter content-type + serializedName: Content-Type + protocol: + http: + in: header + - &ref_226 + schema: *ref_87 + implementation: Method + required: false + language: + default: + name: hostPool + description: Object containing HostPool definitions. + protocol: + http: + in: body + style: json + signatureParameters: + - *ref_226 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' + method: patch + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_227 + - *ref_228 + responses: + - schema: *ref_36 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + HostPool_Update: + parameters: + api-version: 2019-12-10-preview + hostPool: + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2020-10-02T14:01:54.9571247Z' + ssoContext: KeyVaultPath + tags: + tag1: value1 + tag2: value2 + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: hostPool1 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2008-09-22T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + language: + default: + name: Update + description: Update a host pool. + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_229 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools' + method: get + uri: '{$host}' + signatureParameters: + - *ref_229 + responses: + - schema: *ref_230 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + HostPool_ListByResourceGroup: + parameters: + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: hostPool1 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2008-09-22T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + - name: hostPool2 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool2 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2008-09-22T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: ListByResourceGroup + description: List hostPools. + paging: + nextLinkName: nextLink + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/hostPools' + method: get + uri: '{$host}' + signatureParameters: [] + responses: + - schema: *ref_230 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + HostPool_List: + parameters: + api-version: 2019-12-10-preview + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: hostPool1 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2008-09-22T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + - name: hostPool2 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool2 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2008-09-22T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: List + description: List hostPools in subscription. + paging: + nextLinkName: nextLink + protocol: {} + language: + default: + name: HostPools + description: '' + protocol: {} + - $key: UserSessions + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_231 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + protocol: + http: + in: path + - &ref_232 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: hostPoolName + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + protocol: + http: + in: path + - &ref_233 + schema: *ref_167 + implementation: Method + language: + default: + name: $filter + description: OData filter expression. Valid properties for filtering are userprincipalname and sessionstate. + serializedName: $filter + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/userSessions' + method: get + uri: '{$host}' + signatureParameters: + - *ref_231 + - *ref_232 + - *ref_233 + responses: + - schema: *ref_234 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + UserSession_ListByHostPool: + parameters: + $filter: userPrincipalName eq 'user1@microsoft.com' and state eq 'active' + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: '1' + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 + properties: + activeDirectoryUserName: WVDARM\user1 + applicationType: Desktop + createTime: '2008-09-22T14:01:54.9571247Z' + sessionState: Active + userPrincipalName: user1@microsoft.com + - name: '2' + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/2 + properties: + activeDirectoryUserName: WVDARM\user1 + applicationType: Desktop + createTime: '2008-09-22T14:01:54.9571247Z' + sessionState: Active + userPrincipalName: user1@microsoft.com + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: ListByHostPool + description: List userSessions. + paging: + nextLinkName: nextLink + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_237 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + protocol: + http: + in: path + - &ref_238 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: hostPoolName + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + protocol: + http: + in: path + - &ref_239 + schema: *ref_235 + implementation: Method + required: true + language: + default: + name: sessionHostName + description: The name of the session host within the specified host pool + serializedName: sessionHostName + protocol: + http: + in: path + - &ref_240 + schema: *ref_236 + implementation: Method + required: true + language: + default: + name: userSessionId + description: The name of the user session within the specified session host + serializedName: userSessionId + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_237 + - *ref_238 + - *ref_239 + - *ref_240 + responses: + - schema: *ref_88 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + UserSession_Get: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + userSessionId: '1' + responses: + '200': + body: + name: '1' + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 + properties: + activeDirectoryUserName: WVDARM\user1 + applicationType: Desktop + createTime: '2008-09-22T14:01:54.9571247Z' + sessionState: Active + userPrincipalName: user1@microsoft.com + language: + default: + name: Get + description: Get a userSession. + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_241 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + protocol: + http: + in: path + - &ref_242 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: hostPoolName + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + protocol: + http: + in: path + - &ref_243 + schema: *ref_235 + implementation: Method + required: true + language: + default: + name: sessionHostName + description: The name of the session host within the specified host pool + serializedName: sessionHostName + protocol: + http: + in: path + - &ref_244 + schema: *ref_236 + implementation: Method + required: true + language: + default: + name: userSessionId + description: The name of the user session within the specified session host + serializedName: userSessionId + protocol: + http: + in: path + - &ref_245 + schema: *ref_222 + implementation: Method + language: + default: + name: force + description: Force flag to login off userSession. + serializedName: force + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}' + method: delete + uri: '{$host}' + signatureParameters: + - *ref_241 + - *ref_242 + - *ref_243 + - *ref_244 + - *ref_245 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '204' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + UserSession_Delete: + parameters: + api-version: 2019-12-10-preview + force: true + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + userSessionId: '1' + responses: + '200': + name: '1' + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 + properties: + activeDirectoryUserName: WVDARM\user1 + applicationType: Desktop + createTime: '2008-09-22T14:01:54.9571247Z' + sessionState: Active + userPrincipalName: user1@microsoft.com + '204': {} + language: + default: + name: Delete + description: Remove a userSession. + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_246 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + protocol: + http: + in: path + - &ref_247 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: hostPoolName + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + protocol: + http: + in: path + - &ref_248 + schema: *ref_235 + implementation: Method + required: true + language: + default: + name: sessionHostName + description: The name of the session host within the specified host pool + serializedName: sessionHostName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions' + method: get + uri: '{$host}' + signatureParameters: + - *ref_246 + - *ref_247 + - *ref_248 + responses: + - schema: *ref_234 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + UserSession_List: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: '1' + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 + properties: + activeDirectoryUserName: WVDARM\user1 + applicationType: Desktop + createTime: '2008-09-22T14:01:54.9571247Z' + sessionState: Active + userPrincipalName: user1@microsoft.com + - name: '2' + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/2 + properties: + activeDirectoryUserName: WVDARM\user1 + applicationType: Desktop + createTime: '2008-09-22T14:01:54.9571247Z' + sessionState: Active + userPrincipalName: user1@microsoft.com + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: List + description: List userSessions. + paging: + nextLinkName: nextLink + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_249 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + protocol: + http: + in: path + - &ref_250 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: hostPoolName + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + protocol: + http: + in: path + - &ref_251 + schema: *ref_235 + implementation: Method + required: true + language: + default: + name: sessionHostName + description: The name of the session host within the specified host pool + serializedName: sessionHostName + protocol: + http: + in: path + - &ref_252 + schema: *ref_236 + implementation: Method + required: true + language: + default: + name: userSessionId + description: The name of the user session within the specified session host + serializedName: userSessionId + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}/disconnect' + method: post + uri: '{$host}' + signatureParameters: + - *ref_249 + - *ref_250 + - *ref_251 + - *ref_252 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + UserSession_Disconnect_Post: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + userSessionId: '1' + responses: + '200': {} + language: + default: + name: Disconnect + description: Disconnect a userSession. + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_255 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + protocol: + http: + in: path + - &ref_256 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: hostPoolName + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + protocol: + http: + in: path + - &ref_257 + schema: *ref_235 + implementation: Method + required: true + language: + default: + name: sessionHostName + description: The name of the session host within the specified host pool + serializedName: sessionHostName + protocol: + http: + in: path + - &ref_258 + schema: *ref_236 + implementation: Method + required: true + language: + default: + name: userSessionId + description: The name of the user session within the specified session host + serializedName: userSessionId + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_155 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content-type + description: Body Parameter content-type + serializedName: Content-Type + protocol: + http: + in: header + - &ref_254 + schema: *ref_253 + implementation: Method + required: false + language: + default: + name: sendMessage + description: Object containing message includes title and message body + protocol: + http: + in: body + style: json + signatureParameters: + - *ref_254 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}/sendMessage' + method: post + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_255 + - *ref_256 + - *ref_257 + - *ref_258 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + UserSession_SendMessage_Post: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sendMessage: + messageBody: body + messageTitle: title + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + userSessionId: '1' + responses: + '200': {} + language: + default: + name: SendMessage + description: Send a message to a user. + protocol: {} + language: + default: + name: UserSessions + description: '' + protocol: {} + - $key: SessionHosts + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_259 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + protocol: + http: + in: path + - &ref_260 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: hostPoolName + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + protocol: + http: + in: path + - &ref_261 + schema: *ref_235 + implementation: Method + required: true + language: + default: + name: sessionHostName + description: The name of the session host within the specified host pool + serializedName: sessionHostName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_259 + - *ref_260 + - *ref_261 + responses: + - schema: *ref_89 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + SessionHost_Get: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: sessionHost1.microsoft.com + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com + properties: + agentVersion: 1.0.0.1391 + allowNewSession: true + assignedUser: user1@microsoft.com + lastHeartBeat: '2008-09-22T14:01:54.9571247Z' + lastUpdateTime: '2008-09-22T14:01:54.9571247Z' + osVersion: 10.0.17763 + sessions: 1 + status: Available + statusTimestamp: '2008-09-22T14:01:54.9571247Z' + sxSStackVersion: rdp-sxs190816002 + updateErrorMessage: '' + updateState: Succeeded + language: + default: + name: Get + description: Get a session host. + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_262 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + protocol: + http: + in: path + - &ref_263 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: hostPoolName + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + protocol: + http: + in: path + - &ref_264 + schema: *ref_235 + implementation: Method + required: true + language: + default: + name: sessionHostName + description: The name of the session host within the specified host pool + serializedName: sessionHostName + protocol: + http: + in: path + - &ref_265 + schema: *ref_222 + implementation: Method + language: + default: + name: force + description: Force flag to force sessionHost deletion even when userSession exists. + serializedName: force + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}' + method: delete + uri: '{$host}' + signatureParameters: + - *ref_262 + - *ref_263 + - *ref_264 + - *ref_265 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '204' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + SessionHost_Delete: + parameters: + api-version: 2019-12-10-preview + force: true + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + name: sessionHost1.microsoft.com + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com + properties: + agentVersion: 1.0.0.1391 + allowNewSession: true + assignedUser: user1@microsoft.com + lastHeartBeat: '2008-09-22T14:01:54.9571247Z' + lastUpdateTime: '2008-09-22T14:01:54.9571247Z' + osVersion: 10.0.17763 + sessions: 1 + status: Available + statusTimestamp: '2008-09-22T14:01:54.9571247Z' + sxSStackVersion: rdp-sxs190816002 + updateErrorMessage: '' + updateState: Succeeded + '204': {} + language: + default: + name: Delete + description: Remove a SessionHost. + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_267 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + protocol: + http: + in: path + - &ref_268 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: hostPoolName + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + protocol: + http: + in: path + - &ref_269 + schema: *ref_235 + implementation: Method + required: true + language: + default: + name: sessionHostName + description: The name of the session host within the specified host pool + serializedName: sessionHostName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_155 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content-type + description: Body Parameter content-type + serializedName: Content-Type + protocol: + http: + in: header + - &ref_266 + schema: *ref_90 + implementation: Method + required: false + language: + default: + name: sessionHost + description: Object containing SessionHost definitions. + protocol: + http: + in: body + style: json + signatureParameters: + - *ref_266 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}' + method: patch + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_267 + - *ref_268 + - *ref_269 + responses: + - schema: *ref_89 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + SessionHost_Update: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHost: + properties: + allowNewSession: true + assignedUser: user1@microsoft.com + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: sessionHost1.microsoft.com + type: Microsoft.DesktopVirtualization/hostPools/sessionhosts + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com + properties: + agentVersion: 1.0.0.1391 + allowNewSession: true + assignedUser: user1@microsoft.com + lastHeartBeat: '2019-01-11T19:27:13.6108027Z' + lastUpdateTime: '2008-09-22T14:01:54.9571247Z' + osVersion: 10.0.17763 + sessions: 1 + status: Available + statusTimestamp: '2019-01-24T20:00:08.2893033Z' + sxSStackVersion: rdp-sxs190816002 + updateErrorMessage: '' + updateState: Succeeded + language: + default: + name: Update + description: Update a session host. + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_270 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + protocol: + http: + in: path + - &ref_271 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: hostPoolName + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts' + method: get + uri: '{$host}' + signatureParameters: + - *ref_270 + - *ref_271 + responses: + - schema: *ref_272 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + SessionHost_List: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: sessionHost1.microsoft.com + type: Microsoft.DesktopVirtualization/hostPools/sessionhosts + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com + properties: + agentVersion: 1.0.0.1391 + allowNewSession: true + assignedUser: user1@microsoft.com + lastHeartBeat: '2008-09-22T14:01:54.9571247Z' + lastUpdateTime: '2008-09-22T14:01:54.9571247Z' + osVersion: 10.0.17763 + sessions: 1 + status: Available + statusTimestamp: '2008-09-22T14:01:54.9571247Z' + sxSStackVersion: rdp-sxs190816002 + updateErrorMessage: '' + updateState: Succeeded + - name: sessionHost2.microsoft.com + type: Microsoft.DesktopVirtualization/hostPools/sessionhosts + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost2microsoft.com + properties: + agentVersion: 1.0.0.1391 + allowNewSession: true + assignedUser: user2@microsoft.com + lastHeartBeat: '2008-09-22T14:01:54.9571247Z' + lastUpdateTime: '2008-09-22T14:01:54.9571247Z' + osVersion: 10.0.17763 + sessions: 1 + status: Available + statusTimestamp: '2008-09-22T14:01:54.9571247Z' + sxSStackVersion: rdp-sxs190816002 + updateErrorMessage: '' + updateState: Succeeded + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: List + description: List sessionHosts. + paging: + nextLinkName: nextLink + protocol: {} + language: + default: + name: SessionHosts + description: '' + protocol: {} + - $key: ActiveApplications + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_273 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + protocol: + http: + in: path + - &ref_274 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: hostPoolName + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + protocol: + http: + in: path + - &ref_275 + schema: *ref_235 + implementation: Method + required: true + language: + default: + name: sessionHostName + description: The name of the session host within the specified host pool + serializedName: sessionHostName + protocol: + http: + in: path + - &ref_276 + schema: *ref_167 + implementation: Method + language: + default: + name: $filter + description: OData filter expression. Valid properties for filtering are userprincipalname and sessionstate. + serializedName: $filter + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/activeApplications' + method: get + uri: '{$host}' + signatureParameters: + - *ref_273 + - *ref_274 + - *ref_275 + - *ref_276 + responses: + - schema: *ref_205 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ActiveApplications_List: + parameters: + $filter: userPrincipalName eq 'user1@microsoft.com' + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: applicationGroup1/application1 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + - name: applicationGroup1/application2 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application2 + properties: + description: des2 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: ListBySessionHost + description: List applications for the given session host. + paging: + nextLinkName: nextLink + protocol: {} + language: + default: + name: ActiveApplications + description: '' + protocol: {} +language: + default: + name: '' + description: '' +protocol: + http: {} diff --git a/src/desktopvirtualization/_az_debug/clicommon-000020-prename-post-simplified.yaml b/src/desktopvirtualization/_az_debug/clicommon-000020-prename-post-simplified.yaml new file mode 100644 index 00000000000..9bfd969c1cb --- /dev/null +++ b/src/desktopvirtualization/_az_debug/clicommon-000020-prename-post-simplified.yaml @@ -0,0 +1,1708 @@ +operationGroups: + all: + - operationGroupName: Operations + cli: + cliKey: Operations + operations: + - operationName: List + cli: + cliKey: List + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - operationGroupName: Workspaces + cli: + cliKey: Workspaces + operations: + - operationName: Get + cli: + cliKey: Get + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: workspaceName(string^string) + cli: + cliKey: workspaceName + - operationName: CreateOrUpdate + cli: + cliKey: CreateOrUpdate + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: workspaceName(string^string) + cli: + cliKey: workspaceName + - parameterName[0]: content-type(application/json^constant) + cli: + cliKey: content-type + - parameterName[0]: workspace(Workspace^object) + cli: + cliKey: workspace + bodySchema: Workspace + - operationName: Delete + cli: + cliKey: Delete + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: workspaceName(string^string) + cli: + cliKey: workspaceName + - operationName: Update + cli: + cliKey: Update + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: workspaceName(string^string) + cli: + cliKey: workspaceName + - parameterName[0]: content-type(application/json^constant) + cli: + cliKey: content-type + - parameterName[0]: workspace(WorkspacePatch^object) + cli: + cliKey: workspace + bodySchema: WorkspacePatch + - operationName: ListByResourceGroup + cli: + cliKey: ListByResourceGroup + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - operationName: ListBySubscription + cli: + cliKey: ListBySubscription + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - operationGroupName: ApplicationGroupAssignments + cli: + cliKey: ApplicationGroupAssignments + operations: + - operationName: WorkspaceLevelList + cli: + cliKey: WorkspaceLevelList + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: workspaceName(string^string) + cli: + cliKey: workspaceName + - parameterName: $filter(string^string) + cli: + cliKey: $filter + - operationGroupName: ApplicationGroups + cli: + cliKey: ApplicationGroups + operations: + - operationName: Get + cli: + cliKey: Get + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: applicationGroupName(string^string) + cli: + cliKey: applicationGroupName + - operationName: CreateOrUpdate + cli: + cliKey: CreateOrUpdate + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: applicationGroupName(string^string) + cli: + cliKey: applicationGroupName + - parameterName[0]: content-type(application/json^constant) + cli: + cliKey: content-type + - parameterName[0]: applicationGroup(ApplicationGroup^object) + cli: + cliKey: applicationGroup + bodySchema: ApplicationGroup + - operationName: Delete + cli: + cliKey: Delete + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: applicationGroupName(string^string) + cli: + cliKey: applicationGroupName + - operationName: Update + cli: + cliKey: Update + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: applicationGroupName(string^string) + cli: + cliKey: applicationGroupName + - parameterName[0]: content-type(application/json^constant) + cli: + cliKey: content-type + - parameterName[0]: applicationGroup(ApplicationGroupPatch^object) + cli: + cliKey: applicationGroup + bodySchema: ApplicationGroupPatch + - operationName: ListByResourceGroup + cli: + cliKey: ListByResourceGroup + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: $filter(string^string) + cli: + cliKey: $filter + - operationName: ListBySubscription + cli: + cliKey: ListBySubscription + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: $filter(string^string) + cli: + cliKey: $filter + - operationGroupName: StartMenuItems + cli: + cliKey: StartMenuItems + operations: + - operationName: List + cli: + cliKey: List + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: applicationGroupName(string^string) + cli: + cliKey: applicationGroupName + - operationGroupName: Applications + cli: + cliKey: Applications + operations: + - operationName: Get + cli: + cliKey: Get + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: applicationGroupName(string^string) + cli: + cliKey: applicationGroupName + - parameterName: applicationName(string^string) + cli: + cliKey: applicationName + - operationName: CreateOrUpdate + cli: + cliKey: CreateOrUpdate + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: applicationGroupName(string^string) + cli: + cliKey: applicationGroupName + - parameterName: applicationName(string^string) + cli: + cliKey: applicationName + - parameterName[0]: content-type(application/json^constant) + cli: + cliKey: content-type + - parameterName[0]: application(Application^object) + cli: + cliKey: application + bodySchema: Application + - operationName: Delete + cli: + cliKey: Delete + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: applicationGroupName(string^string) + cli: + cliKey: applicationGroupName + - parameterName: applicationName(string^string) + cli: + cliKey: applicationName + - operationName: Update + cli: + cliKey: Update + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: applicationGroupName(string^string) + cli: + cliKey: applicationGroupName + - parameterName: applicationName(string^string) + cli: + cliKey: applicationName + - parameterName[0]: content-type(application/json^constant) + cli: + cliKey: content-type + - parameterName[0]: application(ApplicationPatch^object) + cli: + cliKey: application + bodySchema: ApplicationPatch + - operationName: List + cli: + cliKey: List + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: applicationGroupName(string^string) + cli: + cliKey: applicationGroupName + - operationGroupName: Desktops + cli: + cliKey: Desktops + operations: + - operationName: Get + cli: + cliKey: Get + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: applicationGroupName(string^string) + cli: + cliKey: applicationGroupName + - parameterName: desktopName(string^string) + cli: + cliKey: desktopName + - operationName: Update + cli: + cliKey: Update + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: applicationGroupName(string^string) + cli: + cliKey: applicationGroupName + - parameterName: desktopName(string^string) + cli: + cliKey: desktopName + - parameterName[0]: content-type(application/json^constant) + cli: + cliKey: content-type + - parameterName[0]: desktop(DesktopPatch^object) + cli: + cliKey: desktop + bodySchema: DesktopPatch + - operationName: List + cli: + cliKey: List + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: applicationGroupName(string^string) + cli: + cliKey: applicationGroupName + - operationGroupName: HostPools + cli: + cliKey: HostPools + operations: + - operationName: Get + cli: + cliKey: Get + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: hostPoolName(string^string) + cli: + cliKey: hostPoolName + - operationName: CreateOrUpdate + cli: + cliKey: CreateOrUpdate + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: hostPoolName(string^string) + cli: + cliKey: hostPoolName + - parameterName[0]: content-type(application/json^constant) + cli: + cliKey: content-type + - parameterName[0]: hostPool(HostPool^object) + cli: + cliKey: hostPool + bodySchema: HostPool + - operationName: Delete + cli: + cliKey: Delete + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: hostPoolName(string^string) + cli: + cliKey: hostPoolName + - parameterName: force(boolean^boolean) + cli: + cliKey: force + - operationName: Update + cli: + cliKey: Update + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: hostPoolName(string^string) + cli: + cliKey: hostPoolName + - parameterName[0]: content-type(application/json^constant) + cli: + cliKey: content-type + - parameterName[0]: hostPool(HostPoolPatch^object) + cli: + cliKey: hostPool + bodySchema: HostPoolPatch + - operationName: ListByResourceGroup + cli: + cliKey: ListByResourceGroup + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - operationName: List + cli: + cliKey: List + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - operationGroupName: UserSessions + cli: + cliKey: UserSessions + operations: + - operationName: ListByHostPool + cli: + cliKey: ListByHostPool + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: hostPoolName(string^string) + cli: + cliKey: hostPoolName + - parameterName: $filter(string^string) + cli: + cliKey: $filter + - operationName: Get + cli: + cliKey: Get + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: hostPoolName(string^string) + cli: + cliKey: hostPoolName + - parameterName: sessionHostName(string^string) + cli: + cliKey: sessionHostName + - parameterName: userSessionId(string^string) + cli: + cliKey: userSessionId + - operationName: Delete + cli: + cliKey: Delete + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: hostPoolName(string^string) + cli: + cliKey: hostPoolName + - parameterName: sessionHostName(string^string) + cli: + cliKey: sessionHostName + - parameterName: userSessionId(string^string) + cli: + cliKey: userSessionId + - parameterName: force(boolean^boolean) + cli: + cliKey: force + - operationName: List + cli: + cliKey: List + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: hostPoolName(string^string) + cli: + cliKey: hostPoolName + - parameterName: sessionHostName(string^string) + cli: + cliKey: sessionHostName + - operationName: Disconnect + cli: + cliKey: Disconnect + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: hostPoolName(string^string) + cli: + cliKey: hostPoolName + - parameterName: sessionHostName(string^string) + cli: + cliKey: sessionHostName + - parameterName: userSessionId(string^string) + cli: + cliKey: userSessionId + - operationName: SendMessage + cli: + cliKey: SendMessage + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: hostPoolName(string^string) + cli: + cliKey: hostPoolName + - parameterName: sessionHostName(string^string) + cli: + cliKey: sessionHostName + - parameterName: userSessionId(string^string) + cli: + cliKey: userSessionId + - parameterName[0]: content-type(application/json^constant) + cli: + cliKey: content-type + - parameterName[0]: sendMessage(SendMessage^object) + cli: + cliKey: sendMessage + bodySchema: SendMessage + - operationGroupName: SessionHosts + cli: + cliKey: SessionHosts + operations: + - operationName: Get + cli: + cliKey: Get + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: hostPoolName(string^string) + cli: + cliKey: hostPoolName + - parameterName: sessionHostName(string^string) + cli: + cliKey: sessionHostName + - operationName: Delete + cli: + cliKey: Delete + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: hostPoolName(string^string) + cli: + cliKey: hostPoolName + - parameterName: sessionHostName(string^string) + cli: + cliKey: sessionHostName + - parameterName: force(boolean^boolean) + cli: + cliKey: force + - operationName: Update + cli: + cliKey: Update + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: hostPoolName(string^string) + cli: + cliKey: hostPoolName + - parameterName: sessionHostName(string^string) + cli: + cliKey: sessionHostName + - parameterName[0]: content-type(application/json^constant) + cli: + cliKey: content-type + - parameterName[0]: sessionHost(SessionHostPatch^object) + cli: + cliKey: sessionHost + bodySchema: SessionHostPatch + - operationName: List + cli: + cliKey: List + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: hostPoolName(string^string) + cli: + cliKey: hostPoolName + - operationGroupName: ActiveApplications + cli: + cliKey: ActiveApplications + operations: + - operationName: ListBySessionHost + cli: + cliKey: ListBySessionHost + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: hostPoolName(string^string) + cli: + cliKey: hostPoolName + - parameterName: sessionHostName(string^string) + cli: + cliKey: sessionHostName + - parameterName: $filter(string^string) + cli: + cliKey: $filter +schemas: + objects: + all: + - schemaName: ResourceProviderOperationList + cli: + cliKey: ResourceProviderOperationList + properties: + - propertyName: value(ResourceProviderOperationList-value^array) + cli: + cliKey: value + - schemaName: ResourceProviderOperation + cli: + cliKey: ResourceProviderOperation + properties: + - propertyName: name(ResourceProviderOperation-name^string) + cli: + cliKey: name + - propertyName: display(ResourceProviderOperation-display^object) + cli: + cliKey: display + - schemaName: ResourceProviderOperation-display + cli: + cliKey: ResourceProviderOperation-display + properties: + - propertyName: provider(ResourceProviderOperation-display-provider^string) + cli: + cliKey: provider + - propertyName: resource(ResourceProviderOperation-display-resource^string) + cli: + cliKey: resource + - propertyName: operation(ResourceProviderOperation-display-operation^string) + cli: + cliKey: operation + - propertyName: description(ResourceProviderOperation-display-description^string) + cli: + cliKey: description + - schemaName: Resource + cli: + cliKey: Resource + properties: + - propertyName: id(Resource-id^string) + cli: + cliKey: id + readOnly: true + - propertyName: name(Resource-name^string) + cli: + cliKey: name + readOnly: true + - propertyName: type(Resource-type^string) + cli: + cliKey: type + readOnly: true + - schemaName: TrackedResource + cli: + cliKey: TrackedResource + properties: + - propertyName: tags(TrackedResource-tags^dictionary) + cli: + cliKey: tags + - propertyName: location(TrackedResource-location^string) + cli: + cliKey: location + - schemaName: Workspace + cli: + cliKey: Workspace + properties: + - propertyName: properties(WorkspaceProperties^object) + cli: + cliKey: properties + x-ms-client-flatten: true + - schemaName: WorkspaceProperties + cli: + cliKey: WorkspaceProperties + properties: + - propertyName: description(WorkspaceProperties-description^string) + cli: + cliKey: description + - propertyName: friendlyName(WorkspaceProperties-friendlyName^string) + cli: + cliKey: friendlyName + - propertyName: applicationGroupReferences(WorkspaceProperties-applicationGroupReferences^array) + cli: + cliKey: applicationGroupReferences + - schemaName: CloudError + cli: + cliKey: CloudError + properties: + - propertyName: code(CloudError-code^string) + cli: + cliKey: code + - propertyName: message(CloudError-message^string) + cli: + cliKey: message + - schemaName: WorkspacePatch + cli: + cliKey: WorkspacePatch + properties: + - propertyName: tags(any^any) + cli: + cliKey: tags + - propertyName: properties(WorkspacePatchProperties^object) + cli: + cliKey: properties + x-ms-client-flatten: true + - schemaName: WorkspacePatchProperties + cli: + cliKey: WorkspacePatchProperties + properties: + - propertyName: description(WorkspacePatchProperties-description^string) + cli: + cliKey: description + - propertyName: friendlyName(WorkspacePatchProperties-friendlyName^string) + cli: + cliKey: friendlyName + - propertyName: applicationGroupReferences(WorkspacePatchProperties-applicationGroupReferences^array) + cli: + cliKey: applicationGroupReferences + - schemaName: WorkspaceList + cli: + cliKey: WorkspaceList + properties: + - propertyName: value(WorkspaceList-value^array) + cli: + cliKey: value + - propertyName: nextLink(WorkspaceList-nextLink^string) + cli: + cliKey: nextLink + readOnly: true + - schemaName: ApplicationGroupList + cli: + cliKey: ApplicationGroupList + properties: + - propertyName: value(ApplicationGroupList-value^array) + cli: + cliKey: value + - propertyName: nextLink(ApplicationGroupList-nextLink^string) + cli: + cliKey: nextLink + readOnly: true + - schemaName: ApplicationGroup + cli: + cliKey: ApplicationGroup + properties: + - propertyName: properties(ApplicationGroupProperties^object) + cli: + cliKey: properties + x-ms-client-flatten: true + - schemaName: ApplicationGroupProperties + cli: + cliKey: ApplicationGroupProperties + properties: + - propertyName: description(ApplicationGroupProperties-description^string) + cli: + cliKey: description + - propertyName: friendlyName(ApplicationGroupProperties-friendlyName^string) + cli: + cliKey: friendlyName + - propertyName: hostPoolArmPath(ApplicationGroupProperties-hostPoolArmPath^string) + cli: + cliKey: hostPoolArmPath + - propertyName: workspaceArmPath(ApplicationGroupProperties-workspaceArmPath^string) + cli: + cliKey: workspaceArmPath + readOnly: true + - propertyName: applicationGroupType(ApplicationGroupType^choice) + cli: + cliKey: applicationGroupType + - schemaName: ApplicationGroupPatch + cli: + cliKey: ApplicationGroupPatch + properties: + - propertyName: tags(any^any) + cli: + cliKey: tags + - propertyName: properties(ApplicationGroupPatchProperties^object) + cli: + cliKey: properties + x-ms-client-flatten: true + - schemaName: ApplicationGroupPatchProperties + cli: + cliKey: ApplicationGroupPatchProperties + properties: + - propertyName: description(ApplicationGroupPatchProperties-description^string) + cli: + cliKey: description + - propertyName: friendlyName(ApplicationGroupPatchProperties-friendlyName^string) + cli: + cliKey: friendlyName + - schemaName: StartMenuItemList + cli: + cliKey: StartMenuItemList + properties: + - propertyName: value(StartMenuItemList-value^array) + cli: + cliKey: value + - propertyName: nextLink(StartMenuItemList-nextLink^string) + cli: + cliKey: nextLink + readOnly: true + - schemaName: StartMenuItem + cli: + cliKey: StartMenuItem + properties: + - propertyName: properties(StartMenuItemProperties^object) + cli: + cliKey: properties + x-ms-client-flatten: true + - schemaName: StartMenuItemProperties + cli: + cliKey: StartMenuItemProperties + properties: + - propertyName: appAlias(StartMenuItemProperties-appAlias^string) + cli: + cliKey: appAlias + - propertyName: friendlyName(StartMenuItemProperties-friendlyName^string) + cli: + cliKey: friendlyName + - propertyName: filePath(StartMenuItemProperties-filePath^string) + cli: + cliKey: filePath + - propertyName: commandLineArguments(StartMenuItemProperties-commandLineArguments^string) + cli: + cliKey: commandLineArguments + - propertyName: iconPath(StartMenuItemProperties-iconPath^string) + cli: + cliKey: iconPath + - propertyName: iconIndex(integer^integer) + cli: + cliKey: iconIndex + - schemaName: Application + cli: + cliKey: Application + properties: + - propertyName: properties(ApplicationProperties^object) + cli: + cliKey: properties + x-ms-client-flatten: true + - schemaName: ApplicationProperties + cli: + cliKey: ApplicationProperties + properties: + - propertyName: description(ApplicationProperties-description^string) + cli: + cliKey: description + - propertyName: friendlyName(ApplicationProperties-friendlyName^string) + cli: + cliKey: friendlyName + - propertyName: filePath(ApplicationProperties-filePath^string) + cli: + cliKey: filePath + - propertyName: commandLineSetting(CommandLineSetting^choice) + cli: + cliKey: commandLineSetting + - propertyName: commandLineArguments(ApplicationProperties-commandLineArguments^string) + cli: + cliKey: commandLineArguments + - propertyName: showInPortal(boolean^boolean) + cli: + cliKey: showInPortal + - propertyName: iconPath(ApplicationProperties-iconPath^string) + cli: + cliKey: iconPath + - propertyName: iconIndex(integer^integer) + cli: + cliKey: iconIndex + - propertyName: iconHash(ApplicationProperties-iconHash^string) + cli: + cliKey: iconHash + readOnly: true + - propertyName: iconContent(ApplicationProperties-iconContent^byte-array) + cli: + cliKey: iconContent + readOnly: true + - schemaName: ApplicationPatch + cli: + cliKey: ApplicationPatch + properties: + - propertyName: tags(any^any) + cli: + cliKey: tags + - propertyName: properties(ApplicationPatchProperties^object) + cli: + cliKey: properties + x-ms-client-flatten: true + - schemaName: ApplicationPatchProperties + cli: + cliKey: ApplicationPatchProperties + properties: + - propertyName: description(ApplicationPatchProperties-description^string) + cli: + cliKey: description + - propertyName: friendlyName(ApplicationPatchProperties-friendlyName^string) + cli: + cliKey: friendlyName + - propertyName: filePath(ApplicationPatchProperties-filePath^string) + cli: + cliKey: filePath + - propertyName: commandLineSetting(CommandLineSetting^choice) + cli: + cliKey: commandLineSetting + - propertyName: commandLineArguments(ApplicationPatchProperties-commandLineArguments^string) + cli: + cliKey: commandLineArguments + - propertyName: showInPortal(boolean^boolean) + cli: + cliKey: showInPortal + - propertyName: iconPath(ApplicationPatchProperties-iconPath^string) + cli: + cliKey: iconPath + - propertyName: iconIndex(integer^integer) + cli: + cliKey: iconIndex + - schemaName: ApplicationList + cli: + cliKey: ApplicationList + properties: + - propertyName: value(ApplicationList-value^array) + cli: + cliKey: value + - propertyName: nextLink(ApplicationList-nextLink^string) + cli: + cliKey: nextLink + readOnly: true + - schemaName: Desktop + cli: + cliKey: Desktop + properties: + - propertyName: properties(DesktopProperties^object) + cli: + cliKey: properties + x-ms-client-flatten: true + - schemaName: DesktopProperties + cli: + cliKey: DesktopProperties + properties: + - propertyName: description(DesktopProperties-description^string) + cli: + cliKey: description + - propertyName: friendlyName(DesktopProperties-friendlyName^string) + cli: + cliKey: friendlyName + - propertyName: iconHash(DesktopProperties-iconHash^string) + cli: + cliKey: iconHash + readOnly: true + - propertyName: iconContent(DesktopProperties-iconContent^byte-array) + cli: + cliKey: iconContent + readOnly: true + - schemaName: DesktopPatch + cli: + cliKey: DesktopPatch + properties: + - propertyName: tags(any^any) + cli: + cliKey: tags + - propertyName: properties(DesktopPatchProperties^object) + cli: + cliKey: properties + x-ms-client-flatten: true + - schemaName: DesktopPatchProperties + cli: + cliKey: DesktopPatchProperties + properties: + - propertyName: description(DesktopPatchProperties-description^string) + cli: + cliKey: description + - propertyName: friendlyName(DesktopPatchProperties-friendlyName^string) + cli: + cliKey: friendlyName + - schemaName: DesktopList + cli: + cliKey: DesktopList + properties: + - propertyName: value(DesktopList-value^array) + cli: + cliKey: value + - propertyName: nextLink(DesktopList-nextLink^string) + cli: + cliKey: nextLink + readOnly: true + - schemaName: HostPool + cli: + cliKey: HostPool + properties: + - propertyName: properties(HostPoolProperties^object) + cli: + cliKey: properties + x-ms-client-flatten: true + - schemaName: HostPoolProperties + cli: + cliKey: HostPoolProperties + properties: + - propertyName: friendlyName(HostPoolProperties-friendlyName^string) + cli: + cliKey: friendlyName + - propertyName: description(HostPoolProperties-description^string) + cli: + cliKey: description + - propertyName: hostPoolType(HostPoolType^choice) + cli: + cliKey: hostPoolType + - propertyName: personalDesktopAssignmentType(PersonalDesktopAssignmentType^choice) + cli: + cliKey: personalDesktopAssignmentType + - propertyName: customRdpProperty(HostPoolProperties-customRdpProperty^string) + cli: + cliKey: customRdpProperty + - propertyName: maxSessionLimit(integer^integer) + cli: + cliKey: maxSessionLimit + - propertyName: loadBalancerType(LoadBalancerType^choice) + cli: + cliKey: loadBalancerType + - propertyName: ring(integer^integer) + cli: + cliKey: ring + - propertyName: validationEnvironment(boolean^boolean) + cli: + cliKey: validationEnvironment + - propertyName: registrationInfo(RegistrationInfo^object) + cli: + cliKey: registrationInfo + - propertyName: vmTemplate(HostPoolProperties-vmTemplate^string) + cli: + cliKey: vmTemplate + - propertyName: applicationGroupReferences(HostPoolProperties-applicationGroupReferences^array) + cli: + cliKey: applicationGroupReferences + readOnly: true + - propertyName: ssoContext(HostPoolProperties-ssoContext^string) + cli: + cliKey: ssoContext + - schemaName: RegistrationInfo + cli: + cliKey: RegistrationInfo + properties: + - propertyName: expirationTime(RegistrationInfo-expirationTime^date-time) + cli: + cliKey: expirationTime + - propertyName: token(RegistrationInfo-token^string) + cli: + cliKey: token + - propertyName: registrationTokenOperation(RegistrationTokenOperation^choice) + cli: + cliKey: registrationTokenOperation + - schemaName: HostPoolPatch + cli: + cliKey: HostPoolPatch + properties: + - propertyName: tags(any^any) + cli: + cliKey: tags + - propertyName: properties(HostPoolPatchProperties^object) + cli: + cliKey: properties + x-ms-client-flatten: true + - schemaName: HostPoolPatchProperties + cli: + cliKey: HostPoolPatchProperties + properties: + - propertyName: friendlyName(HostPoolPatchProperties-friendlyName^string) + cli: + cliKey: friendlyName + - propertyName: description(HostPoolPatchProperties-description^string) + cli: + cliKey: description + - propertyName: customRdpProperty(HostPoolPatchProperties-customRdpProperty^string) + cli: + cliKey: customRdpProperty + - propertyName: maxSessionLimit(integer^integer) + cli: + cliKey: maxSessionLimit + - propertyName: personalDesktopAssignmentType(PersonalDesktopAssignmentType^choice) + cli: + cliKey: personalDesktopAssignmentType + - propertyName: loadBalancerType(LoadBalancerType^choice) + cli: + cliKey: loadBalancerType + - propertyName: ring(integer^integer) + cli: + cliKey: ring + - propertyName: validationEnvironment(boolean^boolean) + cli: + cliKey: validationEnvironment + - propertyName: registrationInfo(RegistrationInfoPatch^object) + cli: + cliKey: registrationInfo + - propertyName: ssoContext(HostPoolPatchProperties-ssoContext^string) + cli: + cliKey: ssoContext + - schemaName: RegistrationInfoPatch + cli: + cliKey: RegistrationInfoPatch + properties: + - propertyName: registrationTokenOperation(RegistrationTokenOperation^choice) + cli: + cliKey: registrationTokenOperation + - schemaName: HostPoolList + cli: + cliKey: HostPoolList + properties: + - propertyName: value(HostPoolList-value^array) + cli: + cliKey: value + - propertyName: nextLink(HostPoolList-nextLink^string) + cli: + cliKey: nextLink + readOnly: true + - schemaName: UserSessionList + cli: + cliKey: UserSessionList + properties: + - propertyName: value(UserSessionList-value^array) + cli: + cliKey: value + - propertyName: nextLink(UserSessionList-nextLink^string) + cli: + cliKey: nextLink + readOnly: true + - schemaName: UserSession + cli: + cliKey: UserSession + properties: + - propertyName: properties(UserSessionProperties^object) + cli: + cliKey: properties + x-ms-client-flatten: true + - schemaName: UserSessionProperties + cli: + cliKey: UserSessionProperties + properties: + - propertyName: userPrincipalName(UserSessionProperties-userPrincipalName^string) + cli: + cliKey: userPrincipalName + - propertyName: applicationType(ApplicationType^choice) + cli: + cliKey: applicationType + - propertyName: sessionState(SessionState^choice) + cli: + cliKey: sessionState + - propertyName: activeDirectoryUserName(UserSessionProperties-activeDirectoryUserName^string) + cli: + cliKey: activeDirectoryUserName + - propertyName: createTime(UserSessionProperties-createTime^date-time) + cli: + cliKey: createTime + - schemaName: SessionHost + cli: + cliKey: SessionHost + properties: + - propertyName: properties(SessionHostProperties^object) + cli: + cliKey: properties + x-ms-client-flatten: true + - schemaName: SessionHostProperties + cli: + cliKey: SessionHostProperties + properties: + - propertyName: lastHeartBeat(SessionHostProperties-lastHeartBeat^date-time) + cli: + cliKey: lastHeartBeat + - propertyName: sessions(integer^integer) + cli: + cliKey: sessions + - propertyName: agentVersion(SessionHostProperties-agentVersion^string) + cli: + cliKey: agentVersion + - propertyName: allowNewSession(boolean^boolean) + cli: + cliKey: allowNewSession + - propertyName: assignedUser(SessionHostProperties-assignedUser^string) + cli: + cliKey: assignedUser + - propertyName: status(Status^choice) + cli: + cliKey: status + - propertyName: statusTimestamp(SessionHostProperties-statusTimestamp^date-time) + cli: + cliKey: statusTimestamp + readOnly: true + - propertyName: osVersion(SessionHostProperties-osVersion^string) + cli: + cliKey: osVersion + - propertyName: sxSStackVersion(SessionHostProperties-sxSStackVersion^string) + cli: + cliKey: sxSStackVersion + - propertyName: updateState(UpdateState^choice) + cli: + cliKey: updateState + - propertyName: lastUpdateTime(SessionHostProperties-lastUpdateTime^date-time) + cli: + cliKey: lastUpdateTime + readOnly: true + - propertyName: updateErrorMessage(SessionHostProperties-updateErrorMessage^string) + cli: + cliKey: updateErrorMessage + - schemaName: SessionHostPatch + cli: + cliKey: SessionHostPatch + properties: + - propertyName: properties(SessionHostPatchProperties^object) + cli: + cliKey: properties + x-ms-client-flatten: true + - schemaName: SessionHostPatchProperties + cli: + cliKey: SessionHostPatchProperties + properties: + - propertyName: allowNewSession(boolean^boolean) + cli: + cliKey: allowNewSession + - propertyName: assignedUser(SessionHostPatchProperties-assignedUser^string) + cli: + cliKey: assignedUser + - schemaName: SessionHostList + cli: + cliKey: SessionHostList + properties: + - propertyName: value(SessionHostList-value^array) + cli: + cliKey: value + - propertyName: nextLink(SessionHostList-nextLink^string) + cli: + cliKey: nextLink + readOnly: true + - schemaName: SendMessage + cli: + cliKey: SendMessage + properties: + - propertyName: messageTitle(SendMessage-messageTitle^string) + cli: + cliKey: messageTitle + - propertyName: messageBody(SendMessage-messageBody^string) + cli: + cliKey: messageBody + choices: + all: + - choiceName: ApplicationGroupType + cli: + cliKey: ApplicationGroupType + choiceValues: + - choiceValue: RemoteApp + cli: + cliKey: RemoteApp + - choiceValue: Desktop + cli: + cliKey: Desktop + - choiceName: CommandLineSetting + cli: + cliKey: CommandLineSetting + choiceValues: + - choiceValue: DoNotAllow + cli: + cliKey: DoNotAllow + - choiceValue: Allow + cli: + cliKey: Allow + - choiceValue: Require + cli: + cliKey: Require + - choiceName: HostPoolType + cli: + cliKey: HostPoolType + choiceValues: + - choiceValue: Personal + cli: + cliKey: Personal + - choiceValue: Pooled + cli: + cliKey: Pooled + - choiceName: PersonalDesktopAssignmentType + cli: + cliKey: PersonalDesktopAssignmentType + choiceValues: + - choiceValue: Automatic + cli: + cliKey: Automatic + - choiceValue: Direct + cli: + cliKey: Direct + - choiceName: LoadBalancerType + cli: + cliKey: LoadBalancerType + choiceValues: + - choiceValue: BreadthFirst + cli: + cliKey: BreadthFirst + - choiceValue: DepthFirst + cli: + cliKey: DepthFirst + - choiceValue: Persistent + cli: + cliKey: Persistent + - choiceName: RegistrationTokenOperation + cli: + cliKey: RegistrationTokenOperation + choiceValues: + - choiceValue: Delete + cli: + cliKey: Delete + - choiceValue: None + cli: + cliKey: None + - choiceValue: Update + cli: + cliKey: Update + - choiceName: ApplicationType + cli: + cliKey: ApplicationType + choiceValues: + - choiceValue: RemoteApp + cli: + cliKey: RemoteApp + - choiceValue: Desktop + cli: + cliKey: Desktop + - choiceName: SessionState + cli: + cliKey: SessionState + choiceValues: + - choiceValue: Unknown + cli: + cliKey: Unknown + - choiceValue: Active + cli: + cliKey: Active + - choiceValue: Disconnected + cli: + cliKey: Disconnected + - choiceValue: Pending + cli: + cliKey: Pending + - choiceValue: LogOff + cli: + cliKey: LogOff + - choiceValue: UserProfileDiskMounted + cli: + cliKey: UserProfileDiskMounted + - choiceName: Status + cli: + cliKey: Status + choiceValues: + - choiceValue: Available + cli: + cliKey: Available + - choiceValue: Unavailable + cli: + cliKey: Unavailable + - choiceValue: Shutdown + cli: + cliKey: Shutdown + - choiceValue: Disconnected + cli: + cliKey: Disconnected + - choiceValue: Upgrading + cli: + cliKey: Upgrading + - choiceValue: UpgradeFailed + cli: + cliKey: UpgradeFailed + - choiceName: UpdateState + cli: + cliKey: UpdateState + choiceValues: + - choiceValue: Initial + cli: + cliKey: Initial + - choiceValue: Pending + cli: + cliKey: Pending + - choiceValue: Started + cli: + cliKey: Started + - choiceValue: Succeeded + cli: + cliKey: Succeeded + - choiceValue: Failed + cli: + cliKey: Failed diff --git a/src/desktopvirtualization/_az_debug/clicommon-000020-prename-post.yaml b/src/desktopvirtualization/_az_debug/clicommon-000020-prename-post.yaml new file mode 100644 index 00000000000..550ae0d6b47 --- /dev/null +++ b/src/desktopvirtualization/_az_debug/clicommon-000020-prename-post.yaml @@ -0,0 +1,9037 @@ +info: + title: Desktop Virtualization API Client + extensions: + cli-dump-index: 20 +schemas: + booleans: + - &ref_53 + type: boolean + language: + default: + name: boolean + description: Specifies whether to show the RemoteApp program in the RD Web Access server. + protocol: {} + - &ref_27 + type: boolean + language: + default: + name: boolean + description: Is validation environment. + protocol: {} + - &ref_222 + type: boolean + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: boolean + description: '' + protocol: {} + - &ref_73 + type: boolean + language: + default: + name: boolean + description: Allow a new session. + protocol: {} + numbers: + - &ref_47 + type: integer + precision: 32 + language: + default: + name: integer + description: Index of the icon. + protocol: {} + - &ref_24 + type: integer + precision: 32 + language: + default: + name: integer + description: The max session limit of HostPool. + protocol: {} + - &ref_26 + type: integer + precision: 32 + language: + default: + name: integer + description: The ring number of HostPool. + protocol: {} + - &ref_71 + type: integer + precision: 32 + language: + default: + name: integer + description: Number of sessions on SessionHost. + protocol: {} + strings: + - &ref_0 + type: string + language: + default: + name: string + description: simple string + protocol: {} + - &ref_2 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ResourceProviderOperation-name + description: 'Operation name, in format of {provider}/{resource}/{operation}' + protocol: {} + - &ref_3 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ResourceProviderOperation-display-provider + description: 'Resource provider: Microsoft Desktop Virtualization.' + protocol: {} + - &ref_4 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ResourceProviderOperation-display-resource + description: Resource on which the operation is performed. + protocol: {} + - &ref_5 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ResourceProviderOperation-display-operation + description: 'Type of operation: get, read, delete, etc.' + protocol: {} + - &ref_6 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ResourceProviderOperation-display-description + description: Description of this operation. + protocol: {} + - &ref_144 + type: string + apiVersions: + - version: '1.0' + minLength: 1 + language: + default: + name: string + description: '' + protocol: {} + - &ref_150 + type: string + apiVersions: + - version: '1.0' + maxLength: 90 + minLength: 1 + pattern: '^[-\w\._\(\)]+$' + language: + default: + name: string + description: '' + protocol: {} + - &ref_151 + type: string + apiVersions: + - version: 2019-12-10-preview + maxLength: 24 + minLength: 3 + language: + default: + name: string + description: '' + protocol: {} + - &ref_91 + type: string + apiVersions: + - version: '1.0' + language: + default: + name: Resource-id + description: 'Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' + protocol: {} + - &ref_92 + type: string + apiVersions: + - version: '1.0' + language: + default: + name: Resource-name + description: The name of the resource + protocol: {} + - &ref_93 + type: string + apiVersions: + - version: '1.0' + language: + default: + name: Resource-type + description: The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + protocol: {} + - &ref_1 + type: string + apiVersions: + - version: '1.0' + language: + default: + name: string + description: '' + protocol: {} + - &ref_38 + type: string + apiVersions: + - version: '1.0' + extensions: + x-ms-mutability: + - read + - create + language: + default: + name: TrackedResource-location + description: The geo-location where the resource lives + protocol: {} + - &ref_11 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: WorkspaceProperties-description + description: Description of Workspace. + protocol: {} + - &ref_12 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: WorkspaceProperties-friendlyName + description: Friendly name of Workspace. + protocol: {} + - &ref_13 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: WorkspaceProperties-applicationGroupReferencesItem + description: '' + protocol: {} + - &ref_95 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: CloudError-code + description: Error code + protocol: {} + - &ref_96 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: CloudError-message + description: Error message indicating why the operation failed. + protocol: {} + - &ref_97 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: WorkspacePatchProperties-description + description: Description of Workspace. + protocol: {} + - &ref_98 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: WorkspacePatchProperties-friendlyName + description: Friendly name of Workspace. + protocol: {} + - &ref_99 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: WorkspacePatchProperties-applicationGroupReferencesItem + description: '' + protocol: {} + - &ref_101 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: WorkspaceList-nextLink + description: Link to the next page of results. + protocol: {} + - &ref_167 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: string + description: '' + protocol: {} + - &ref_14 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationGroupProperties-description + description: Description of ApplicationGroup. + protocol: {} + - &ref_15 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationGroupProperties-friendlyName + description: Friendly name of ApplicationGroup. + protocol: {} + - &ref_16 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationGroupProperties-hostPoolArmPath + description: HostPool arm path of ApplicationGroup. + protocol: {} + - &ref_17 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationGroupProperties-workspaceArmPath + description: Workspace arm path of ApplicationGroup. + protocol: {} + - &ref_102 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationGroupList-nextLink + description: Link to the next page of results. + protocol: {} + - &ref_40 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationGroupPatchProperties-description + description: Description of ApplicationGroup. + protocol: {} + - &ref_41 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationGroupPatchProperties-friendlyName + description: Friendly name of ApplicationGroup. + protocol: {} + - &ref_42 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: StartMenuItemProperties-appAlias + description: Alias of StartMenuItem. + protocol: {} + - &ref_43 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: StartMenuItemProperties-friendlyName + description: Friendly name of StartMenuItem. + protocol: {} + - &ref_44 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: StartMenuItemProperties-filePath + description: Path to the file of StartMenuItem. + protocol: {} + - &ref_45 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: StartMenuItemProperties-commandLineArguments + description: Command line arguments for StartMenuItem. + protocol: {} + - &ref_46 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: StartMenuItemProperties-iconPath + description: Path to the icon. + protocol: {} + - &ref_105 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: StartMenuItemList-nextLink + description: Link to the next page of results. + protocol: {} + - &ref_48 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationProperties-description + description: Description of Application. + protocol: {} + - &ref_49 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationProperties-friendlyName + description: Friendly name of Application. + protocol: {} + - &ref_50 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationProperties-filePath + description: Specifies a path for the executable file for the application. + protocol: {} + - &ref_52 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationProperties-commandLineArguments + description: Command Line Arguments for Application. + protocol: {} + - &ref_54 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationProperties-iconPath + description: Path to icon. + protocol: {} + - &ref_55 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationProperties-iconHash + description: Hash of the icon. + protocol: {} + - &ref_108 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationPatchProperties-description + description: Description of Application. + protocol: {} + - &ref_109 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationPatchProperties-friendlyName + description: Friendly name of Application. + protocol: {} + - &ref_110 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationPatchProperties-filePath + description: Specifies a path for the executable file for the application. + protocol: {} + - &ref_111 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationPatchProperties-commandLineArguments + description: Command Line Arguments for Application. + protocol: {} + - &ref_112 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationPatchProperties-iconPath + description: Path to icon. + protocol: {} + - &ref_114 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationList-nextLink + description: Link to the next page of results. + protocol: {} + - &ref_57 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: DesktopProperties-description + description: Description of Desktop. + protocol: {} + - &ref_58 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: DesktopProperties-friendlyName + description: Friendly name of Desktop. + protocol: {} + - &ref_59 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: DesktopProperties-iconHash + description: Hash of the icon. + protocol: {} + - &ref_116 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: DesktopPatchProperties-description + description: Description of Desktop. + protocol: {} + - &ref_117 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: DesktopPatchProperties-friendlyName + description: Friendly name of Desktop. + protocol: {} + - &ref_119 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: DesktopList-nextLink + description: Link to the next page of results. + protocol: {} + - &ref_19 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolProperties-friendlyName + description: Friendly name of HostPool. + protocol: {} + - &ref_20 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolProperties-description + description: Description of HostPool. + protocol: {} + - &ref_23 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolProperties-customRdpProperty + description: Custom rdp property of HostPool. + protocol: {} + - &ref_29 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: RegistrationInfo-token + description: The registration token base64 encoded string. + protocol: {} + - &ref_31 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolProperties-vmTemplate + description: VM template for sessionhosts configuration within hostpool. + protocol: {} + - &ref_32 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolProperties-applicationGroupReferencesItem + description: '' + protocol: {} + - &ref_33 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolProperties-ssoContext + description: Path to keyvault containing ssoContext secret. + protocol: {} + - &ref_61 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolPatchProperties-friendlyName + description: Friendly name of HostPool. + protocol: {} + - &ref_62 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolPatchProperties-description + description: Description of HostPool. + protocol: {} + - &ref_63 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolPatchProperties-customRdpProperty + description: Custom rdp property of HostPool. + protocol: {} + - &ref_64 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolPatchProperties-ssoContext + description: Path to keyvault containing ssoContext secret. + protocol: {} + - &ref_124 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolList-nextLink + description: Link to the next page of results. + protocol: {} + - &ref_65 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: UserSessionProperties-userPrincipalName + description: The user principal name. + protocol: {} + - &ref_68 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: UserSessionProperties-activeDirectoryUserName + description: The active directory user name. + protocol: {} + - &ref_125 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: UserSessionList-nextLink + description: Link to the next page of results. + protocol: {} + - &ref_235 + type: string + apiVersions: + - version: 2019-12-10-preview + maxLength: 48 + minLength: 3 + language: + default: + name: string + description: '' + protocol: {} + - &ref_72 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostProperties-agentVersion + description: Version of agent on SessionHost. + protocol: {} + - &ref_74 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostProperties-assignedUser + description: User assigned to SessionHost. + protocol: {} + - &ref_77 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostProperties-osVersion + description: The version of the OS on the session host. + protocol: {} + - &ref_78 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostProperties-sxSStackVersion + description: The version of the side by side stack on the session host. + protocol: {} + - &ref_81 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostProperties-updateErrorMessage + description: The error message. + protocol: {} + - &ref_82 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostPatchProperties-assignedUser + description: User assigned to SessionHost. + protocol: {} + - &ref_129 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostList-nextLink + description: Link to the next page of results. + protocol: {} + - &ref_236 + type: string + apiVersions: + - version: 2019-12-10-preview + maxLength: 24 + minLength: 1 + language: + default: + name: string + description: '' + protocol: {} + - &ref_130 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SendMessage-messageTitle + description: Title of message. + protocol: {} + - &ref_131 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SendMessage-messageBody + description: Body of message. + protocol: {} + choices: + - &ref_18 + choices: + - value: RemoteApp + language: + default: + name: RemoteApp + description: '' + cli: + cliKey: RemoteApp + - value: Desktop + language: + default: + name: Desktop + description: '' + cli: + cliKey: Desktop + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: ApplicationGroupType + description: Resource Type of ApplicationGroup. + cli: + cliKey: ApplicationGroupType + protocol: {} + - &ref_51 + choices: + - value: DoNotAllow + language: + default: + name: DoNotAllow + description: '' + cli: + cliKey: DoNotAllow + - value: Allow + language: + default: + name: Allow + description: '' + cli: + cliKey: Allow + - value: Require + language: + default: + name: Require + description: '' + cli: + cliKey: Require + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: CommandLineSetting + description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' + cli: + cliKey: CommandLineSetting + protocol: {} + - &ref_21 + choices: + - value: Personal + language: + default: + name: Personal + description: '' + cli: + cliKey: Personal + - value: Pooled + language: + default: + name: Pooled + description: '' + cli: + cliKey: Pooled + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: HostPoolType + description: HostPool type for desktop. + cli: + cliKey: HostPoolType + protocol: {} + - &ref_22 + choices: + - value: Automatic + language: + default: + name: Automatic + description: '' + cli: + cliKey: Automatic + - value: Direct + language: + default: + name: Direct + description: '' + cli: + cliKey: Direct + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: PersonalDesktopAssignmentType + description: PersonalDesktopAssignment type for HostPool. + cli: + cliKey: PersonalDesktopAssignmentType + protocol: {} + - &ref_25 + choices: + - value: BreadthFirst + language: + default: + name: BreadthFirst + description: '' + cli: + cliKey: BreadthFirst + - value: DepthFirst + language: + default: + name: DepthFirst + description: '' + cli: + cliKey: DepthFirst + - value: Persistent + language: + default: + name: Persistent + description: '' + cli: + cliKey: Persistent + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: LoadBalancerType + description: The type of the load balancer. + cli: + cliKey: LoadBalancerType + protocol: {} + - &ref_30 + choices: + - value: Delete + language: + default: + name: Delete + description: '' + cli: + cliKey: Delete + - value: None + language: + default: + name: None + description: '' + cli: + cliKey: None + - value: Update + language: + default: + name: Update + description: '' + cli: + cliKey: Update + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: RegistrationTokenOperation + description: The type of resetting the token. + cli: + cliKey: RegistrationTokenOperation + protocol: {} + - &ref_66 + choices: + - value: RemoteApp + language: + default: + name: RemoteApp + description: '' + cli: + cliKey: RemoteApp + - value: Desktop + language: + default: + name: Desktop + description: '' + cli: + cliKey: Desktop + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: ApplicationType + description: Application type of application. + cli: + cliKey: ApplicationType + protocol: {} + - &ref_67 + choices: + - value: Unknown + language: + default: + name: Unknown + description: '' + cli: + cliKey: Unknown + - value: Active + language: + default: + name: Active + description: '' + cli: + cliKey: Active + - value: Disconnected + language: + default: + name: Disconnected + description: '' + cli: + cliKey: Disconnected + - value: Pending + language: + default: + name: Pending + description: '' + cli: + cliKey: Pending + - value: LogOff + language: + default: + name: LogOff + description: '' + cli: + cliKey: LogOff + - value: UserProfileDiskMounted + language: + default: + name: UserProfileDiskMounted + description: '' + cli: + cliKey: UserProfileDiskMounted + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: SessionState + description: State of user session. + cli: + cliKey: SessionState + protocol: {} + - &ref_75 + choices: + - value: Available + language: + default: + name: Available + description: '' + cli: + cliKey: Available + - value: Unavailable + language: + default: + name: Unavailable + description: '' + cli: + cliKey: Unavailable + - value: Shutdown + language: + default: + name: Shutdown + description: '' + cli: + cliKey: Shutdown + - value: Disconnected + language: + default: + name: Disconnected + description: '' + cli: + cliKey: Disconnected + - value: Upgrading + language: + default: + name: Upgrading + description: '' + cli: + cliKey: Upgrading + - value: UpgradeFailed + language: + default: + name: UpgradeFailed + description: '' + cli: + cliKey: UpgradeFailed + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: Status + description: Status for a SessionHost. + cli: + cliKey: Status + protocol: {} + - &ref_79 + choices: + - value: Initial + language: + default: + name: Initial + description: '' + cli: + cliKey: Initial + - value: Pending + language: + default: + name: Pending + description: '' + cli: + cliKey: Pending + - value: Started + language: + default: + name: Started + description: '' + cli: + cliKey: Started + - value: Succeeded + language: + default: + name: Succeeded + description: '' + cli: + cliKey: Succeeded + - value: Failed + language: + default: + name: Failed + description: '' + cli: + cliKey: Failed + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: UpdateState + description: Update state of a SessionHost. + cli: + cliKey: UpdateState + protocol: {} + constants: + - &ref_145 + type: constant + value: + value: 2019-12-10-preview + valueType: *ref_0 + language: + default: + name: ApiVersion-2019-12-10-preview + description: Api Version (2019-12-10-preview) + protocol: {} + - &ref_155 + type: constant + value: + value: application/json + valueType: *ref_0 + language: + default: + name: application/json + description: Content Type 'application/json' + protocol: {} + dictionaries: + - &ref_37 + type: dictionary + elementType: *ref_1 + language: + default: + name: TrackedResource-tags + description: Resource tags. + protocol: {} + any: + - &ref_39 + type: any + language: + default: + name: any + description: Any object + protocol: {} + byteArrays: + - &ref_56 + type: byte-array + format: byte + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationProperties-iconContent + description: the icon a 64 bit string as a byte array. + protocol: {} + - &ref_60 + type: byte-array + format: byte + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: DesktopProperties-iconContent + description: The icon a 64 bit string as a byte array. + protocol: {} + dateTimes: + - &ref_28 + type: date-time + format: date-time + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: RegistrationInfo-expirationTime + description: Expiration time of registration token. + protocol: {} + - &ref_69 + type: date-time + format: date-time + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: UserSessionProperties-createTime + description: The timestamp of the user session create. + protocol: {} + - &ref_70 + type: date-time + format: date-time + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostProperties-lastHeartBeat + description: Last heart beat from SessionHost. + protocol: {} + - &ref_76 + type: date-time + format: date-time + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostProperties-statusTimestamp + description: The timestamp of the status. + protocol: {} + - &ref_80 + type: date-time + format: date-time + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostProperties-lastUpdateTime + description: The timestamp of the last update. + protocol: {} + objects: + - &ref_148 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_132 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: &ref_7 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_2 + serializedName: name + language: + default: + name: name + description: 'Operation name, in format of {provider}/{resource}/{operation}' + cli: + cliKey: name + protocol: {} + - schema: &ref_8 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_3 + serializedName: provider + language: + default: + name: provider + description: 'Resource provider: Microsoft Desktop Virtualization.' + cli: + cliKey: provider + protocol: {} + - schema: *ref_4 + serializedName: resource + language: + default: + name: resource + description: Resource on which the operation is performed. + cli: + cliKey: resource + protocol: {} + - schema: *ref_5 + serializedName: operation + language: + default: + name: operation + description: 'Type of operation: get, read, delete, etc.' + cli: + cliKey: operation + protocol: {} + - schema: *ref_6 + serializedName: description + language: + default: + name: description + description: Description of this operation. + cli: + cliKey: description + protocol: {} + serializationFormats: + - json + usage: + - output + language: + default: + name: ResourceProviderOperation-display + description: Display metadata associated with the operation. + namespace: '' + cli: + cliKey: ResourceProviderOperation-display + protocol: {} + serializedName: display + language: + default: + name: display + description: Display metadata associated with the operation. + cli: + cliKey: display + protocol: {} + serializationFormats: + - json + usage: + - output + language: + default: + name: ResourceProviderOperation + description: Supported operation of this resource provider. + namespace: '' + cli: + cliKey: ResourceProviderOperation + protocol: {} + language: + default: + name: ResourceProviderOperationList-value + description: List of operations supported by this resource provider. + protocol: {} + serializedName: value + language: + default: + name: value + description: List of operations supported by this resource provider. + cli: + cliKey: value + protocol: {} + serializationFormats: + - json + usage: + - output + language: + default: + name: ResourceProviderOperationList + description: Result of the request to list operations. + namespace: '' + cli: + cliKey: ResourceProviderOperationList + protocol: {} + - *ref_7 + - *ref_8 + - &ref_10 + type: object + apiVersions: + - version: '1.0' + children: + all: + - &ref_9 + type: object + apiVersions: + - version: '1.0' + children: + all: + - &ref_34 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_9 + - *ref_10 + immediate: + - *ref_9 + properties: + - schema: &ref_94 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_11 + serializedName: description + language: + default: + name: description + description: Description of Workspace. + cli: + cliKey: description + protocol: {} + - schema: *ref_12 + serializedName: friendlyName + language: + default: + name: friendlyName + description: Friendly name of Workspace. + cli: + cliKey: friendlyName + protocol: {} + - schema: &ref_133 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_13 + language: + default: + name: WorkspaceProperties-applicationGroupReferences + description: List of applicationGroup resource Ids. + protocol: {} + serializedName: applicationGroupReferences + language: + default: + name: applicationGroupReferences + description: List of applicationGroup resource Ids. + cli: + cliKey: applicationGroupReferences + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: WorkspaceProperties + description: Schema for Workspace properties. + namespace: '' + cli: + cliKey: WorkspaceProperties + protocol: {} + serializedName: properties + extensions: + x-ms-client-flatten: true + language: + default: + name: properties + description: Detailed properties for Workspace + cli: + cliKey: properties + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: Workspace + description: Represents a Workspace definition. + namespace: '' + cli: + cliKey: Workspace + protocol: {} + - &ref_35 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_9 + - *ref_10 + immediate: + - *ref_9 + properties: + - schema: &ref_103 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_14 + required: false + serializedName: description + language: + default: + name: description + description: Description of ApplicationGroup. + cli: + cliKey: description + protocol: {} + - schema: *ref_15 + required: false + serializedName: friendlyName + language: + default: + name: friendlyName + description: Friendly name of ApplicationGroup. + cli: + cliKey: friendlyName + protocol: {} + - schema: *ref_16 + required: true + serializedName: hostPoolArmPath + language: + default: + name: hostPoolArmPath + description: HostPool arm path of ApplicationGroup. + cli: + cliKey: hostPoolArmPath + protocol: {} + - schema: *ref_17 + readOnly: true + required: false + serializedName: workspaceArmPath + language: + default: + name: workspaceArmPath + description: Workspace arm path of ApplicationGroup. + cli: + cliKey: workspaceArmPath + protocol: {} + - schema: *ref_18 + required: true + serializedName: applicationGroupType + language: + default: + name: applicationGroupType + description: Resource Type of ApplicationGroup. + cli: + cliKey: applicationGroupType + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: ApplicationGroupProperties + description: Schema for ApplicationGroup properties. + namespace: '' + cli: + cliKey: ApplicationGroupProperties + protocol: {} + required: true + serializedName: properties + extensions: + x-ms-client-flatten: true + x-nullable: false + language: + default: + name: properties + description: Detailed properties for ApplicationGroup + cli: + cliKey: properties + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: ApplicationGroup + description: Represents a ApplicationGroup definition. + namespace: '' + cli: + cliKey: ApplicationGroup + protocol: {} + - &ref_36 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_9 + - *ref_10 + immediate: + - *ref_9 + properties: + - schema: &ref_120 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_19 + required: false + serializedName: friendlyName + language: + default: + name: friendlyName + description: Friendly name of HostPool. + cli: + cliKey: friendlyName + protocol: {} + - schema: *ref_20 + required: false + serializedName: description + language: + default: + name: description + description: Description of HostPool. + cli: + cliKey: description + protocol: {} + - schema: *ref_21 + required: true + serializedName: hostPoolType + language: + default: + name: hostPoolType + description: HostPool type for desktop. + cli: + cliKey: hostPoolType + protocol: {} + - schema: *ref_22 + required: true + serializedName: personalDesktopAssignmentType + language: + default: + name: personalDesktopAssignmentType + description: PersonalDesktopAssignment type for HostPool. + cli: + cliKey: personalDesktopAssignmentType + protocol: {} + - schema: *ref_23 + required: false + serializedName: customRdpProperty + language: + default: + name: customRdpProperty + description: Custom rdp property of HostPool. + cli: + cliKey: customRdpProperty + protocol: {} + - schema: *ref_24 + required: false + serializedName: maxSessionLimit + language: + default: + name: maxSessionLimit + description: The max session limit of HostPool. + cli: + cliKey: maxSessionLimit + protocol: {} + - schema: *ref_25 + required: true + serializedName: loadBalancerType + language: + default: + name: loadBalancerType + description: The type of the load balancer. + cli: + cliKey: loadBalancerType + protocol: {} + - schema: *ref_26 + required: false + serializedName: ring + language: + default: + name: ring + description: The ring number of HostPool. + cli: + cliKey: ring + protocol: {} + - schema: *ref_27 + required: false + serializedName: validationEnvironment + language: + default: + name: validationEnvironment + description: Is validation environment. + cli: + cliKey: validationEnvironment + protocol: {} + - schema: &ref_121 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_28 + serializedName: expirationTime + language: + default: + name: expirationTime + description: Expiration time of registration token. + cli: + cliKey: expirationTime + protocol: {} + - schema: *ref_29 + serializedName: token + language: + default: + name: token + description: The registration token base64 encoded string. + cli: + cliKey: token + protocol: {} + - schema: *ref_30 + serializedName: registrationTokenOperation + language: + default: + name: registrationTokenOperation + description: The type of resetting the token. + cli: + cliKey: registrationTokenOperation + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: RegistrationInfo + description: Represents a RegistrationInfo definition. + namespace: '' + cli: + cliKey: RegistrationInfo + protocol: {} + required: false + serializedName: registrationInfo + language: + default: + name: registrationInfo + description: The registration info of HostPool. + cli: + cliKey: registrationInfo + protocol: {} + - schema: *ref_31 + required: false + serializedName: vmTemplate + language: + default: + name: vmTemplate + description: VM template for sessionhosts configuration within hostpool. + cli: + cliKey: vmTemplate + protocol: {} + - schema: &ref_140 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_32 + language: + default: + name: HostPoolProperties-applicationGroupReferences + description: List of applicationGroup links. + protocol: {} + readOnly: true + required: false + serializedName: applicationGroupReferences + language: + default: + name: applicationGroupReferences + description: List of applicationGroup links. + cli: + cliKey: applicationGroupReferences + protocol: {} + - schema: *ref_33 + required: false + serializedName: ssoContext + language: + default: + name: ssoContext + description: Path to keyvault containing ssoContext secret. + cli: + cliKey: ssoContext + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: HostPoolProperties + description: Properties of HostPool. + namespace: '' + cli: + cliKey: HostPoolProperties + protocol: {} + required: true + serializedName: properties + extensions: + x-ms-client-flatten: true + x-nullable: false + language: + default: + name: properties + description: Detailed properties for HostPool + cli: + cliKey: properties + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: HostPool + description: Represents a HostPool definition. + namespace: '' + cli: + cliKey: HostPool + protocol: {} + immediate: + - *ref_34 + - *ref_35 + - *ref_36 + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - schema: *ref_37 + required: false + serializedName: tags + language: + default: + name: tags + description: Resource tags. + cli: + cliKey: tags + protocol: {} + - schema: *ref_38 + required: true + serializedName: location + language: + default: + name: location + description: The geo-location where the resource lives + cli: + cliKey: location + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: TrackedResource + description: The resource model definition for a ARM tracked top level resource + namespace: '' + cli: + cliKey: TrackedResource + protocol: {} + - *ref_34 + - *ref_35 + - &ref_83 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - schema: *ref_39 + serializedName: tags + language: + default: + name: tags + description: tags to be updated + cli: + cliKey: tags + protocol: {} + - schema: &ref_104 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_40 + serializedName: description + language: + default: + name: description + description: Description of ApplicationGroup. + cli: + cliKey: description + protocol: {} + - schema: *ref_41 + serializedName: friendlyName + language: + default: + name: friendlyName + description: Friendly name of ApplicationGroup. + cli: + cliKey: friendlyName + protocol: {} + serializationFormats: + - json + usage: + - input + - output + language: + default: + name: ApplicationGroupPatchProperties + description: ApplicationGroup properties that can be patched. + namespace: '' + cli: + cliKey: ApplicationGroupPatchProperties + protocol: {} + serializedName: properties + extensions: + x-ms-client-flatten: true + language: + default: + name: properties + description: ApplicationGroup properties that can be patched. + cli: + cliKey: properties + protocol: {} + serializationFormats: + - json + usage: + - input + - output + language: + default: + name: ApplicationGroupPatch + description: ApplicationGroup properties that can be patched. + namespace: '' + cli: + cliKey: ApplicationGroupPatch + protocol: {} + - &ref_84 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - schema: &ref_106 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_42 + serializedName: appAlias + language: + default: + name: appAlias + description: Alias of StartMenuItem. + cli: + cliKey: appAlias + protocol: {} + - schema: *ref_43 + serializedName: friendlyName + language: + default: + name: friendlyName + description: Friendly name of StartMenuItem. + cli: + cliKey: friendlyName + protocol: {} + - schema: *ref_44 + serializedName: filePath + language: + default: + name: filePath + description: Path to the file of StartMenuItem. + cli: + cliKey: filePath + protocol: {} + - schema: *ref_45 + serializedName: commandLineArguments + language: + default: + name: commandLineArguments + description: Command line arguments for StartMenuItem. + cli: + cliKey: commandLineArguments + protocol: {} + - schema: *ref_46 + serializedName: iconPath + language: + default: + name: iconPath + description: Path to the icon. + cli: + cliKey: iconPath + protocol: {} + - schema: *ref_47 + serializedName: iconIndex + language: + default: + name: iconIndex + description: Index of the icon. + cli: + cliKey: iconIndex + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: StartMenuItemProperties + description: Schema for StartMenuItem properties. + namespace: '' + cli: + cliKey: StartMenuItemProperties + protocol: {} + serializedName: properties + extensions: + x-ms-client-flatten: true + language: + default: + name: properties + description: Detailed properties for StartMenuItem + cli: + cliKey: properties + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: StartMenuItem + description: Represents a StartMenuItem definition. + namespace: '' + cli: + cliKey: StartMenuItem + protocol: {} + - &ref_85 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - schema: &ref_107 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_48 + required: false + serializedName: description + language: + default: + name: description + description: Description of Application. + cli: + cliKey: description + protocol: {} + - schema: *ref_49 + required: false + serializedName: friendlyName + language: + default: + name: friendlyName + description: Friendly name of Application. + cli: + cliKey: friendlyName + protocol: {} + - schema: *ref_50 + required: false + serializedName: filePath + language: + default: + name: filePath + description: Specifies a path for the executable file for the application. + cli: + cliKey: filePath + protocol: {} + - schema: *ref_51 + required: true + serializedName: commandLineSetting + language: + default: + name: commandLineSetting + description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' + cli: + cliKey: commandLineSetting + protocol: {} + - schema: *ref_52 + required: false + serializedName: commandLineArguments + language: + default: + name: commandLineArguments + description: Command Line Arguments for Application. + cli: + cliKey: commandLineArguments + protocol: {} + - schema: *ref_53 + required: false + serializedName: showInPortal + language: + default: + name: showInPortal + description: Specifies whether to show the RemoteApp program in the RD Web Access server. + cli: + cliKey: showInPortal + protocol: {} + - schema: *ref_54 + required: false + serializedName: iconPath + language: + default: + name: iconPath + description: Path to icon. + cli: + cliKey: iconPath + protocol: {} + - schema: *ref_47 + required: false + serializedName: iconIndex + language: + default: + name: iconIndex + description: Index of the icon. + cli: + cliKey: iconIndex + protocol: {} + - schema: *ref_55 + readOnly: true + required: false + serializedName: iconHash + language: + default: + name: iconHash + description: Hash of the icon. + cli: + cliKey: iconHash + protocol: {} + - schema: *ref_56 + readOnly: true + required: false + serializedName: iconContent + language: + default: + name: iconContent + description: the icon a 64 bit string as a byte array. + cli: + cliKey: iconContent + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: ApplicationProperties + description: Schema for Application properties. + namespace: '' + cli: + cliKey: ApplicationProperties + protocol: {} + required: true + serializedName: properties + extensions: + x-ms-client-flatten: true + x-nullable: false + language: + default: + name: properties + description: Detailed properties for Application + cli: + cliKey: properties + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: Application + description: Schema for Application properties. + namespace: '' + cli: + cliKey: Application + protocol: {} + - &ref_86 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - schema: &ref_115 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_57 + serializedName: description + language: + default: + name: description + description: Description of Desktop. + cli: + cliKey: description + protocol: {} + - schema: *ref_58 + serializedName: friendlyName + language: + default: + name: friendlyName + description: Friendly name of Desktop. + cli: + cliKey: friendlyName + protocol: {} + - schema: *ref_59 + readOnly: true + serializedName: iconHash + language: + default: + name: iconHash + description: Hash of the icon. + cli: + cliKey: iconHash + protocol: {} + - schema: *ref_60 + readOnly: true + serializedName: iconContent + language: + default: + name: iconContent + description: The icon a 64 bit string as a byte array. + cli: + cliKey: iconContent + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: DesktopProperties + description: Schema for Desktop properties. + namespace: '' + cli: + cliKey: DesktopProperties + protocol: {} + serializedName: properties + extensions: + x-ms-client-flatten: true + language: + default: + name: properties + description: Detailed properties for Desktop + cli: + cliKey: properties + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: Desktop + description: Schema for Desktop properties. + namespace: '' + cli: + cliKey: Desktop + protocol: {} + - *ref_36 + - &ref_87 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - schema: *ref_39 + serializedName: tags + language: + default: + name: tags + description: tags to be updated + cli: + cliKey: tags + protocol: {} + - schema: &ref_122 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_61 + serializedName: friendlyName + language: + default: + name: friendlyName + description: Friendly name of HostPool. + cli: + cliKey: friendlyName + protocol: {} + - schema: *ref_62 + serializedName: description + language: + default: + name: description + description: Description of HostPool. + cli: + cliKey: description + protocol: {} + - schema: *ref_63 + serializedName: customRdpProperty + language: + default: + name: customRdpProperty + description: Custom rdp property of HostPool. + cli: + cliKey: customRdpProperty + protocol: {} + - schema: *ref_24 + serializedName: maxSessionLimit + language: + default: + name: maxSessionLimit + description: The max session limit of HostPool. + cli: + cliKey: maxSessionLimit + protocol: {} + - schema: *ref_22 + serializedName: personalDesktopAssignmentType + language: + default: + name: personalDesktopAssignmentType + description: PersonalDesktopAssignment type for HostPool. + cli: + cliKey: personalDesktopAssignmentType + protocol: {} + - schema: *ref_25 + serializedName: loadBalancerType + language: + default: + name: loadBalancerType + description: The type of the load balancer. + cli: + cliKey: loadBalancerType + protocol: {} + - schema: *ref_26 + serializedName: ring + language: + default: + name: ring + description: The ring number of HostPool. + cli: + cliKey: ring + protocol: {} + - schema: *ref_27 + serializedName: validationEnvironment + language: + default: + name: validationEnvironment + description: Is validation environment. + cli: + cliKey: validationEnvironment + protocol: {} + - schema: &ref_123 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_30 + serializedName: registrationTokenOperation + language: + default: + name: registrationTokenOperation + description: The type of resetting the token. + cli: + cliKey: registrationTokenOperation + protocol: {} + serializationFormats: + - json + usage: + - input + - output + language: + default: + name: RegistrationInfoPatch + description: Represents a RegistrationInfo definition. + namespace: '' + cli: + cliKey: RegistrationInfoPatch + protocol: {} + serializedName: registrationInfo + language: + default: + name: registrationInfo + description: The registration info of HostPool. + cli: + cliKey: registrationInfo + protocol: {} + - schema: *ref_64 + serializedName: ssoContext + language: + default: + name: ssoContext + description: Path to keyvault containing ssoContext secret. + cli: + cliKey: ssoContext + protocol: {} + serializationFormats: + - json + usage: + - input + - output + language: + default: + name: HostPoolPatchProperties + description: Properties of HostPool. + namespace: '' + cli: + cliKey: HostPoolPatchProperties + protocol: {} + serializedName: properties + extensions: + x-ms-client-flatten: true + language: + default: + name: properties + description: HostPool properties that can be patched. + cli: + cliKey: properties + protocol: {} + serializationFormats: + - json + usage: + - input + - output + language: + default: + name: HostPoolPatch + description: HostPool properties that can be patched. + namespace: '' + cli: + cliKey: HostPoolPatch + protocol: {} + - &ref_88 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - schema: &ref_126 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_65 + serializedName: userPrincipalName + language: + default: + name: userPrincipalName + description: The user principal name. + cli: + cliKey: userPrincipalName + protocol: {} + - schema: *ref_66 + serializedName: applicationType + language: + default: + name: applicationType + description: Application type of application. + cli: + cliKey: applicationType + protocol: {} + - schema: *ref_67 + serializedName: sessionState + language: + default: + name: sessionState + description: State of user session. + cli: + cliKey: sessionState + protocol: {} + - schema: *ref_68 + serializedName: activeDirectoryUserName + language: + default: + name: activeDirectoryUserName + description: The active directory user name. + cli: + cliKey: activeDirectoryUserName + protocol: {} + - schema: *ref_69 + serializedName: createTime + language: + default: + name: createTime + description: The timestamp of the user session create. + cli: + cliKey: createTime + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: UserSessionProperties + description: Schema for UserSession properties. + namespace: '' + cli: + cliKey: UserSessionProperties + protocol: {} + serializedName: properties + extensions: + x-ms-client-flatten: true + language: + default: + name: properties + description: Detailed properties for UserSession + cli: + cliKey: properties + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: UserSession + description: Represents a UserSession definition. + namespace: '' + cli: + cliKey: UserSession + protocol: {} + - &ref_89 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - schema: &ref_127 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_70 + serializedName: lastHeartBeat + language: + default: + name: lastHeartBeat + description: Last heart beat from SessionHost. + cli: + cliKey: lastHeartBeat + protocol: {} + - schema: *ref_71 + serializedName: sessions + language: + default: + name: sessions + description: Number of sessions on SessionHost. + cli: + cliKey: sessions + protocol: {} + - schema: *ref_72 + serializedName: agentVersion + language: + default: + name: agentVersion + description: Version of agent on SessionHost. + cli: + cliKey: agentVersion + protocol: {} + - schema: *ref_73 + serializedName: allowNewSession + language: + default: + name: allowNewSession + description: Allow a new session. + cli: + cliKey: allowNewSession + protocol: {} + - schema: *ref_74 + serializedName: assignedUser + language: + default: + name: assignedUser + description: User assigned to SessionHost. + cli: + cliKey: assignedUser + protocol: {} + - schema: *ref_75 + serializedName: status + language: + default: + name: status + description: Status for a SessionHost. + cli: + cliKey: status + protocol: {} + - schema: *ref_76 + readOnly: true + serializedName: statusTimestamp + language: + default: + name: statusTimestamp + description: The timestamp of the status. + cli: + cliKey: statusTimestamp + protocol: {} + - schema: *ref_77 + serializedName: osVersion + language: + default: + name: osVersion + description: The version of the OS on the session host. + cli: + cliKey: osVersion + protocol: {} + - schema: *ref_78 + serializedName: sxSStackVersion + language: + default: + name: sxSStackVersion + description: The version of the side by side stack on the session host. + cli: + cliKey: sxSStackVersion + protocol: {} + - schema: *ref_79 + serializedName: updateState + language: + default: + name: updateState + description: Update state of a SessionHost. + cli: + cliKey: updateState + protocol: {} + - schema: *ref_80 + readOnly: true + serializedName: lastUpdateTime + language: + default: + name: lastUpdateTime + description: The timestamp of the last update. + cli: + cliKey: lastUpdateTime + protocol: {} + - schema: *ref_81 + serializedName: updateErrorMessage + language: + default: + name: updateErrorMessage + description: The error message. + cli: + cliKey: updateErrorMessage + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: SessionHostProperties + description: Schema for SessionHost properties. + namespace: '' + cli: + cliKey: SessionHostProperties + protocol: {} + serializedName: properties + extensions: + x-ms-client-flatten: true + language: + default: + name: properties + description: Detailed properties for SessionHost + cli: + cliKey: properties + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: SessionHost + description: Represents a SessionHost definition. + namespace: '' + cli: + cliKey: SessionHost + protocol: {} + - &ref_90 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - schema: &ref_128 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_73 + serializedName: allowNewSession + language: + default: + name: allowNewSession + description: Allow a new session. + cli: + cliKey: allowNewSession + protocol: {} + - schema: *ref_82 + serializedName: assignedUser + language: + default: + name: assignedUser + description: User assigned to SessionHost. + cli: + cliKey: assignedUser + protocol: {} + serializationFormats: + - json + usage: + - input + - output + language: + default: + name: SessionHostPatchProperties + description: SessionHost properties that can be patched. + namespace: '' + cli: + cliKey: SessionHostPatchProperties + protocol: {} + serializedName: properties + extensions: + x-ms-client-flatten: true + language: + default: + name: properties + description: Detailed properties for SessionHost + cli: + cliKey: properties + protocol: {} + serializationFormats: + - json + usage: + - input + - output + language: + default: + name: SessionHostPatch + description: SessionHost properties that can be patched. + namespace: '' + cli: + cliKey: SessionHostPatch + protocol: {} + immediate: + - *ref_9 + - *ref_83 + - *ref_84 + - *ref_85 + - *ref_86 + - *ref_87 + - *ref_88 + - *ref_89 + - *ref_90 + properties: + - schema: *ref_91 + readOnly: true + serializedName: id + language: + default: + name: id + description: 'Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' + cli: + cliKey: id + protocol: {} + - schema: *ref_92 + readOnly: true + serializedName: name + language: + default: + name: name + description: The name of the resource + cli: + cliKey: name + protocol: {} + - schema: *ref_93 + readOnly: true + serializedName: type + language: + default: + name: type + description: The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + cli: + cliKey: type + protocol: {} + serializationFormats: + - json + usage: + - output + - input + extensions: + x-ms-azure-resource: true + language: + default: + name: Resource + description: '' + namespace: '' + cli: + cliKey: Resource + protocol: {} + - *ref_9 + - *ref_34 + - *ref_94 + - &ref_154 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_95 + serializedName: code + language: + default: + name: code + description: Error code + cli: + cliKey: code + protocol: {} + - schema: *ref_96 + serializedName: message + language: + default: + name: message + description: Error message indicating why the operation failed. + cli: + cliKey: message + protocol: {} + serializationFormats: + - json + usage: + - output + language: + default: + name: CloudError + description: Error response of an operation failure + namespace: '' + cli: + cliKey: CloudError + protocol: {} + - &ref_161 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_39 + serializedName: tags + language: + default: + name: tags + description: tags to be updated + cli: + cliKey: tags + protocol: {} + - schema: &ref_100 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_97 + serializedName: description + language: + default: + name: description + description: Description of Workspace. + cli: + cliKey: description + protocol: {} + - schema: *ref_98 + serializedName: friendlyName + language: + default: + name: friendlyName + description: Friendly name of Workspace. + cli: + cliKey: friendlyName + protocol: {} + - schema: &ref_134 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_99 + language: + default: + name: WorkspacePatchProperties-applicationGroupReferences + description: List of applicationGroup links. + protocol: {} + serializedName: applicationGroupReferences + language: + default: + name: applicationGroupReferences + description: List of applicationGroup links. + cli: + cliKey: applicationGroupReferences + protocol: {} + serializationFormats: + - json + usage: + - input + language: + default: + name: WorkspacePatchProperties + description: Workspace properties that can be patched. + namespace: '' + cli: + cliKey: WorkspacePatchProperties + protocol: {} + serializedName: properties + extensions: + x-ms-client-flatten: true + language: + default: + name: properties + description: Detailed properties for Workspace + cli: + cliKey: properties + protocol: {} + serializationFormats: + - json + usage: + - input + language: + default: + name: WorkspacePatch + description: Workspace properties that can be patched. + namespace: '' + cli: + cliKey: WorkspacePatch + protocol: {} + - *ref_100 + - &ref_166 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_135 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_34 + language: + default: + name: WorkspaceList-value + description: List of Workspace definitions. + protocol: {} + serializedName: value + language: + default: + name: value + description: List of Workspace definitions. + cli: + cliKey: value + protocol: {} + - schema: *ref_101 + readOnly: true + serializedName: nextLink + language: + default: + name: nextLink + description: Link to the next page of results. + cli: + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: WorkspaceList + usage: + - output + language: + default: + name: WorkspaceList + description: List of Workspace definitions. + namespace: '' + summary: WorkspaceList + cli: + cliKey: WorkspaceList + protocol: {} + - &ref_171 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_136 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_35 + language: + default: + name: ApplicationGroupList-value + description: List of ApplicationGroup definitions. + protocol: {} + serializedName: value + language: + default: + name: value + description: List of ApplicationGroup definitions. + cli: + cliKey: value + protocol: {} + - schema: *ref_102 + readOnly: true + serializedName: nextLink + language: + default: + name: nextLink + description: Link to the next page of results. + cli: + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: ApplicationGroupList + usage: + - output + language: + default: + name: ApplicationGroupList + description: List of ApplicationGroup definitions. + namespace: '' + summary: ApplicationGroupList + cli: + cliKey: ApplicationGroupList + protocol: {} + - *ref_35 + - *ref_103 + - *ref_83 + - *ref_104 + - &ref_187 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_137 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_84 + language: + default: + name: StartMenuItemList-value + description: List of StartMenuItem definitions. + protocol: {} + serializedName: value + language: + default: + name: value + description: List of StartMenuItem definitions. + cli: + cliKey: value + protocol: {} + - schema: *ref_105 + readOnly: true + serializedName: nextLink + language: + default: + name: nextLink + description: Link to the next page of results. + cli: + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: StartMenuItemList + usage: + - output + language: + default: + name: StartMenuItemList + description: List of StartMenuItem definitions. + namespace: '' + summary: StartMenuItemList + cli: + cliKey: StartMenuItemList + protocol: {} + - *ref_84 + - *ref_106 + - *ref_85 + - *ref_107 + - &ref_198 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_39 + serializedName: tags + language: + default: + name: tags + description: tags to be updated + cli: + cliKey: tags + protocol: {} + - schema: &ref_113 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_108 + serializedName: description + language: + default: + name: description + description: Description of Application. + cli: + cliKey: description + protocol: {} + - schema: *ref_109 + serializedName: friendlyName + language: + default: + name: friendlyName + description: Friendly name of Application. + cli: + cliKey: friendlyName + protocol: {} + - schema: *ref_110 + serializedName: filePath + language: + default: + name: filePath + description: Specifies a path for the executable file for the application. + cli: + cliKey: filePath + protocol: {} + - schema: *ref_51 + serializedName: commandLineSetting + language: + default: + name: commandLineSetting + description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' + cli: + cliKey: commandLineSetting + protocol: {} + - schema: *ref_111 + serializedName: commandLineArguments + language: + default: + name: commandLineArguments + description: Command Line Arguments for Application. + cli: + cliKey: commandLineArguments + protocol: {} + - schema: *ref_53 + serializedName: showInPortal + language: + default: + name: showInPortal + description: Specifies whether to show the RemoteApp program in the RD Web Access server. + cli: + cliKey: showInPortal + protocol: {} + - schema: *ref_112 + serializedName: iconPath + language: + default: + name: iconPath + description: Path to icon. + cli: + cliKey: iconPath + protocol: {} + - schema: *ref_47 + serializedName: iconIndex + language: + default: + name: iconIndex + description: Index of the icon. + cli: + cliKey: iconIndex + protocol: {} + serializationFormats: + - json + usage: + - input + language: + default: + name: ApplicationPatchProperties + description: Application properties that can be patched. + namespace: '' + cli: + cliKey: ApplicationPatchProperties + protocol: {} + serializedName: properties + extensions: + x-ms-client-flatten: true + language: + default: + name: properties + description: Detailed properties for Application + cli: + cliKey: properties + protocol: {} + serializationFormats: + - json + usage: + - input + language: + default: + name: ApplicationPatch + description: Application properties that can be patched. + namespace: '' + cli: + cliKey: ApplicationPatch + protocol: {} + - *ref_113 + - &ref_205 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_138 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_85 + language: + default: + name: ApplicationList-value + description: List of Application definitions. + protocol: {} + serializedName: value + language: + default: + name: value + description: List of Application definitions. + cli: + cliKey: value + protocol: {} + - schema: *ref_114 + readOnly: true + serializedName: nextLink + language: + default: + name: nextLink + description: Link to the next page of results. + cli: + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: ApplicationList + usage: + - output + language: + default: + name: ApplicationList + description: List of Application definitions. + namespace: '' + summary: ApplicationList + cli: + cliKey: ApplicationList + protocol: {} + - *ref_86 + - *ref_115 + - &ref_209 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_39 + serializedName: tags + language: + default: + name: tags + description: tags to be updated + cli: + cliKey: tags + protocol: {} + - schema: &ref_118 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_116 + serializedName: description + language: + default: + name: description + description: Description of Desktop. + cli: + cliKey: description + protocol: {} + - schema: *ref_117 + serializedName: friendlyName + language: + default: + name: friendlyName + description: Friendly name of Desktop. + cli: + cliKey: friendlyName + protocol: {} + serializationFormats: + - json + usage: + - input + language: + default: + name: DesktopPatchProperties + description: Desktop properties that can be patched. + namespace: '' + cli: + cliKey: DesktopPatchProperties + protocol: {} + serializedName: properties + extensions: + x-ms-client-flatten: true + language: + default: + name: properties + description: Detailed properties for Desktop + cli: + cliKey: properties + protocol: {} + serializationFormats: + - json + usage: + - input + language: + default: + name: DesktopPatch + description: Desktop properties that can be patched. + namespace: '' + cli: + cliKey: DesktopPatch + protocol: {} + - *ref_118 + - &ref_216 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_139 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_86 + language: + default: + name: DesktopList-value + description: List of Desktop definitions. + protocol: {} + serializedName: value + language: + default: + name: value + description: List of Desktop definitions. + cli: + cliKey: value + protocol: {} + - schema: *ref_119 + readOnly: true + serializedName: nextLink + language: + default: + name: nextLink + description: Link to the next page of results. + cli: + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: DesktopList + usage: + - output + language: + default: + name: DesktopList + description: List of Desktop definitions. + namespace: '' + summary: DesktopList + cli: + cliKey: DesktopList + protocol: {} + - *ref_36 + - *ref_120 + - *ref_121 + - *ref_87 + - *ref_122 + - *ref_123 + - &ref_230 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_141 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_36 + language: + default: + name: HostPoolList-value + description: List of HostPool definitions. + protocol: {} + serializedName: value + language: + default: + name: value + description: List of HostPool definitions. + cli: + cliKey: value + protocol: {} + - schema: *ref_124 + readOnly: true + serializedName: nextLink + language: + default: + name: nextLink + description: Link to the next page of results. + cli: + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: HostPoolList + usage: + - output + language: + default: + name: HostPoolList + description: List of HostPool definitions. + namespace: '' + summary: HostPoolList + cli: + cliKey: HostPoolList + protocol: {} + - &ref_234 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_142 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_88 + language: + default: + name: UserSessionList-value + description: List of UserSession definitions. + protocol: {} + serializedName: value + language: + default: + name: value + description: List of UserSession definitions. + cli: + cliKey: value + protocol: {} + - schema: *ref_125 + readOnly: true + serializedName: nextLink + language: + default: + name: nextLink + description: Link to the next page of results. + cli: + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: UserSessionList + usage: + - output + language: + default: + name: UserSessionList + description: List of UserSession definitions. + namespace: '' + summary: UserSessionList + cli: + cliKey: UserSessionList + protocol: {} + - *ref_88 + - *ref_126 + - *ref_89 + - *ref_127 + - *ref_90 + - *ref_128 + - &ref_272 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_143 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_89 + language: + default: + name: SessionHostList-value + description: List of SessionHost definitions. + protocol: {} + serializedName: value + language: + default: + name: value + description: List of SessionHost definitions. + cli: + cliKey: value + protocol: {} + - schema: *ref_129 + readOnly: true + serializedName: nextLink + language: + default: + name: nextLink + description: Link to the next page of results. + cli: + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: SessionHostList + usage: + - output + language: + default: + name: SessionHostList + description: List of SessionHost definitions. + namespace: '' + summary: SessionHostList + cli: + cliKey: SessionHostList + protocol: {} + - &ref_253 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_130 + serializedName: messageTitle + language: + default: + name: messageTitle + description: Title of message. + cli: + cliKey: messageTitle + protocol: {} + - schema: *ref_131 + serializedName: messageBody + language: + default: + name: messageBody + description: Body of message. + cli: + cliKey: messageBody + protocol: {} + serializationFormats: + - json + usage: + - input + language: + default: + name: SendMessage + description: Represents message sent to a UserSession. + namespace: '' + cli: + cliKey: SendMessage + protocol: {} + arrays: + - *ref_132 + - *ref_133 + - *ref_134 + - *ref_135 + - *ref_136 + - *ref_137 + - *ref_138 + - *ref_139 + - *ref_140 + - *ref_141 + - *ref_142 + - *ref_143 +globalParameters: + - &ref_149 + schema: *ref_144 + implementation: Client + required: true + extensions: + x-ms-priority: 0 + language: + default: + name: subscriptionId + description: The ID of the target subscription. + serializedName: subscriptionId + cli: + cliKey: subscriptionId + protocol: + http: + in: path + - &ref_146 + schema: *ref_0 + clientDefaultValue: 'https://management.azure.com' + implementation: Client + origin: 'modelerfour:synthesized/host' + required: true + extensions: + x-ms-skip-url-encoding: true + language: + default: + name: $host + description: server parameter + serializedName: $host + cli: + cliKey: $host + protocol: + http: + in: uri + - &ref_147 + schema: *ref_145 + implementation: Client + origin: 'modelerfour:synthesized/api-version' + required: true + language: + default: + name: ApiVersion + description: Api Version + serializedName: api-version + cli: + cliKey: ApiVersion + protocol: + http: + in: query +operationGroups: + - $key: Operations + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: /providers/Microsoft.DesktopVirtualization/operations + method: get + uri: '{$host}' + signatureParameters: [] + responses: + - schema: *ref_148 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + extensions: + x-ms-examples: + OperationDescription_List: + parameters: + api-version: 2019-12-10-preview + responses: + '200': + body: + value: + - name: Microsoft.DesktopVirtualization/ssocontext/read + display: + provider: Microsoft.DesktopVirtualization + resource: ssocontext + - name: Microsoft.DesktopVirtualization/ssocontext/write + display: + provider: Microsoft.DesktopVirtualization + resource: ssocontext + language: + default: + name: List + description: List all of the available operations the Desktop Virtualization resource provider supports. + cli: + cliKey: List + protocol: {} + language: + default: + name: Operations + description: '' + cli: + cliKey: Operations + protocol: {} + - $key: Workspaces + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_152 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_153 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: workspaceName + description: The name of the workspace + serializedName: workspaceName + cli: + cliKey: workspaceName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_152 + - *ref_153 + responses: + - schema: *ref_34 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Workspace_Get: + parameters: + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + workspaceName: workspace1 + responses: + '200': + body: + name: workspace1 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + language: + default: + name: Get + description: Get a workspace. + cli: + cliKey: Get + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_157 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_158 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: workspaceName + description: The name of the workspace + serializedName: workspaceName + cli: + cliKey: workspaceName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_155 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content-type + description: Body Parameter content-type + serializedName: Content-Type + cli: + cliKey: content-type + protocol: + http: + in: header + - &ref_156 + schema: *ref_34 + implementation: Method + required: true + language: + default: + name: workspace + description: Object containing Workspace definitions. + cli: + cliKey: workspace + protocol: + http: + in: body + style: json + signatureParameters: + - *ref_156 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' + method: put + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_157 + - *ref_158 + responses: + - schema: *ref_34 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + - schema: *ref_34 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '201' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Workspace_Create: + parameters: + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + workspace: + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + tag1: value1 + tag2: value2 + workspaceName: workspace1 + responses: + '200': + body: + name: workspace1 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + '201': + body: + name: workspace1 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + language: + default: + name: CreateOrUpdate + description: Create or update a workspace. + cli: + cliKey: CreateOrUpdate + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_159 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_160 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: workspaceName + description: The name of the workspace + serializedName: workspaceName + cli: + cliKey: workspaceName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' + method: delete + uri: '{$host}' + signatureParameters: + - *ref_159 + - *ref_160 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '204' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Workspace_Delete: + parameters: + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + workspaceName: workspace1 + responses: + '200': + name: workspace1 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + '204': {} + language: + default: + name: Delete + description: Remove a workspace. + cli: + cliKey: Delete + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_163 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_164 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: workspaceName + description: The name of the workspace + serializedName: workspaceName + cli: + cliKey: workspaceName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_155 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content-type + description: Body Parameter content-type + serializedName: Content-Type + cli: + cliKey: content-type + protocol: + http: + in: header + - &ref_162 + schema: *ref_161 + implementation: Method + required: false + language: + default: + name: workspace + description: Object containing Workspace definitions. + cli: + cliKey: workspace + protocol: + http: + in: body + style: json + signatureParameters: + - *ref_162 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' + method: patch + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_163 + - *ref_164 + responses: + - schema: *ref_34 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Workspace_Update: + parameters: + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + workspace: + properties: + description: des1 + friendlyName: friendly + tags: + tag1: value1 + tag2: value2 + workspaceName: workspace1 + responses: + '200': + body: + name: workspace1 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + language: + default: + name: Update + description: Update a workspace. + cli: + cliKey: Update + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_165 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces' + method: get + uri: '{$host}' + signatureParameters: + - *ref_165 + responses: + - schema: *ref_166 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Workspace_ListByResourceGroup: + parameters: + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: workspace1 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + - name: workspace2 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace2 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: ListByResourceGroup + description: List workspaces. + paging: + nextLinkName: nextLink + cli: + cliKey: ListByResourceGroup + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/workspaces' + method: get + uri: '{$host}' + signatureParameters: [] + responses: + - schema: *ref_166 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Workspace_ListBySubscription: + parameters: + api-version: 2019-12-10-preview + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: workspace1 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + - name: workspace2 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace2 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: ListBySubscription + description: List workspaces in subscription. + paging: + nextLinkName: nextLink + cli: + cliKey: ListBySubscription + protocol: {} + language: + default: + name: Workspaces + description: '' + cli: + cliKey: Workspaces + protocol: {} + - $key: ApplicationGroupAssignments + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_168 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_169 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: workspaceName + description: The name of the workspace + serializedName: workspaceName + cli: + cliKey: workspaceName + protocol: + http: + in: path + - &ref_170 + schema: *ref_167 + implementation: Method + language: + default: + name: $filter + description: OData filter expression. Valid properties for filtering are applicationGroupType. + serializedName: $filter + cli: + cliKey: $filter + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}/userApplicationGroupAssignments' + method: get + uri: '{$host}' + signatureParameters: + - *ref_168 + - *ref_169 + - *ref_170 + responses: + - schema: *ref_171 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ApplicationGroupAssignment_WorkspaceLevelList: + parameters: + $filter: userPrincipalName eq 'user1@microsoft.com' + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + workspaceName: workspace1 + responses: + '200': + body: + value: + - name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + - name: applicationGroup2 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: WorkspaceLevelList + description: List application group that user can use. + paging: + nextLinkName: nextLink + cli: + cliKey: WorkspaceLevelList + protocol: {} + language: + default: + name: ApplicationGroupAssignments + description: '' + cli: + cliKey: ApplicationGroupAssignments + protocol: {} + - $key: ApplicationGroups + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_172 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_173 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationGroupName + description: The name of the application group + serializedName: applicationGroupName + cli: + cliKey: applicationGroupName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_172 + - *ref_173 + responses: + - schema: *ref_35 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ApplicationGroup_Get: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + language: + default: + name: Get + description: Get an application group. + cli: + cliKey: Get + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_175 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_176 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationGroupName + description: The name of the application group + serializedName: applicationGroupName + cli: + cliKey: applicationGroupName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_155 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content-type + description: Body Parameter content-type + serializedName: Content-Type + cli: + cliKey: content-type + protocol: + http: + in: header + - &ref_174 + schema: *ref_35 + implementation: Method + required: true + language: + default: + name: applicationGroup + description: Object containing ApplicationGroup definitions. + cli: + cliKey: applicationGroup + protocol: + http: + in: body + style: json + signatureParameters: + - *ref_174 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' + method: put + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_175 + - *ref_176 + responses: + - schema: *ref_35 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + - schema: *ref_35 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '201' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ApplicationGroup_Create: + parameters: + api-version: 2019-12-10-preview + applicationGroup: + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + tags: + tag1: value1 + tag2: value2 + applicationGroupName: applicationGroup1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + '201': + body: + name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + language: + default: + name: CreateOrUpdate + description: Create or update an applicationGroup. + cli: + cliKey: CreateOrUpdate + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_177 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_178 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationGroupName + description: The name of the application group + serializedName: applicationGroupName + cli: + cliKey: applicationGroupName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' + method: delete + uri: '{$host}' + signatureParameters: + - *ref_177 + - *ref_178 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '204' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ApplicationGroup_Delete: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + '204': {} + language: + default: + name: Delete + description: Remove an applicationGroup. + cli: + cliKey: Delete + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_180 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_181 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationGroupName + description: The name of the application group + serializedName: applicationGroupName + cli: + cliKey: applicationGroupName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_155 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content-type + description: Body Parameter content-type + serializedName: Content-Type + cli: + cliKey: content-type + protocol: + http: + in: header + - &ref_179 + schema: *ref_83 + implementation: Method + required: false + language: + default: + name: applicationGroup + description: Object containing ApplicationGroup definitions. + cli: + cliKey: applicationGroup + protocol: + http: + in: body + style: json + signatureParameters: + - *ref_179 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' + method: patch + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_180 + - *ref_181 + responses: + - schema: *ref_35 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ApplicationGroups_Update: + parameters: + api-version: 2019-12-10-preview + applicationGroup: + properties: + description: des1 + friendlyName: friendly + tags: + tag1: value1 + tag2: value2 + applicationGroupName: applicationGroup1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + language: + default: + name: Update + description: Update an applicationGroup. + cli: + cliKey: Update + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_182 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_183 + schema: *ref_167 + implementation: Method + language: + default: + name: $filter + description: OData filter expression. Valid properties for filtering are applicationGroupType. + serializedName: $filter + cli: + cliKey: $filter + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups' + method: get + uri: '{$host}' + signatureParameters: + - *ref_182 + - *ref_183 + responses: + - schema: *ref_171 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ApplicationGroup_ListByResourceGroup: + parameters: + $filter: applicationGroupType eq 'RailApplication' + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + - name: applicationGroup2 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: ListByResourceGroup + description: List applicationGroups. + paging: + nextLinkName: nextLink + cli: + cliKey: ListByResourceGroup + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_184 + schema: *ref_167 + implementation: Method + language: + default: + name: $filter + description: OData filter expression. Valid properties for filtering are applicationGroupType. + serializedName: $filter + cli: + cliKey: $filter + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/applicationGroups' + method: get + uri: '{$host}' + signatureParameters: + - *ref_184 + responses: + - schema: *ref_171 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ApplicationGroup_List: + parameters: + $filter: applicationGroupType eq 'RailApplication' + api-version: 2019-12-10-preview + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + - name: applicationGroup2 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: ListBySubscription + description: List applicationGroups in subscription. + paging: + nextLinkName: nextLink + cli: + cliKey: ListBySubscription + protocol: {} + language: + default: + name: ApplicationGroups + description: '' + cli: + cliKey: ApplicationGroups + protocol: {} + - $key: StartMenuItems + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_185 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_186 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationGroupName + description: The name of the application group + serializedName: applicationGroupName + cli: + cliKey: applicationGroupName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/startMenuItems' + method: get + uri: '{$host}' + signatureParameters: + - *ref_185 + - *ref_186 + responses: + - schema: *ref_187 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + StartMenuItem_List: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: application1 + type: Microsoft.DesktopVirtualization/applicationGroups/startMenuItems + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/startMenuItem/application1 + properties: + appAlias: word + commandLineArguments: arguments + filePath: /path/to/file + friendlyName: friendly + iconIndex: 1 + iconPath: /path/to/icon + - name: application2 + type: Microsoft.DesktopVirtualization/applicationGroups/startMenuItems + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/startMenuItem/application2 + properties: + appAlias: excel + commandLineArguments: arguments + filePath: /path/to/file + friendlyName: friendly + iconIndex: 1 + iconPath: /path/to/icon + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: List + description: List start menu items in the given application group. + paging: + nextLinkName: nextLink + cli: + cliKey: List + protocol: {} + language: + default: + name: StartMenuItems + description: '' + cli: + cliKey: StartMenuItems + protocol: {} + - $key: Applications + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_188 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_189 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationGroupName + description: The name of the application group + serializedName: applicationGroupName + cli: + cliKey: applicationGroupName + protocol: + http: + in: path + - &ref_190 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationName + description: The name of the application within the specified application group + serializedName: applicationName + cli: + cliKey: applicationName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_188 + - *ref_189 + - *ref_190 + responses: + - schema: *ref_85 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Application_Get: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + applicationName: application1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1/application1 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + language: + default: + name: Get + description: Get an application. + cli: + cliKey: Get + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_192 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_193 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationGroupName + description: The name of the application group + serializedName: applicationGroupName + cli: + cliKey: applicationGroupName + protocol: + http: + in: path + - &ref_194 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationName + description: The name of the application within the specified application group + serializedName: applicationName + cli: + cliKey: applicationName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_155 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content-type + description: Body Parameter content-type + serializedName: Content-Type + cli: + cliKey: content-type + protocol: + http: + in: header + - &ref_191 + schema: *ref_85 + implementation: Method + required: true + language: + default: + name: application + description: Object containing Application definitions. + cli: + cliKey: application + protocol: + http: + in: body + style: json + signatureParameters: + - *ref_191 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' + method: put + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_192 + - *ref_193 + - *ref_194 + responses: + - schema: *ref_85 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + - schema: *ref_85 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '201' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Application_Create: + parameters: + api-version: 2019-12-10-preview + application: + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconIndex: 1 + iconPath: icon + showInPortal: true + applicationGroupName: applicationGroup1 + applicationName: application1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1/application1 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + '201': + body: + name: applicationGroup1/application1 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + language: + default: + name: CreateOrUpdate + description: Create or update an application. + cli: + cliKey: CreateOrUpdate + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_195 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_196 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationGroupName + description: The name of the application group + serializedName: applicationGroupName + cli: + cliKey: applicationGroupName + protocol: + http: + in: path + - &ref_197 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationName + description: The name of the application within the specified application group + serializedName: applicationName + cli: + cliKey: applicationName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' + method: delete + uri: '{$host}' + signatureParameters: + - *ref_195 + - *ref_196 + - *ref_197 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '204' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Application_Delete: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + applicationName: application1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + name: applicationGroup1/application1 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + '204': {} + language: + default: + name: Delete + description: Remove an application. + cli: + cliKey: Delete + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_200 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_201 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationGroupName + description: The name of the application group + serializedName: applicationGroupName + cli: + cliKey: applicationGroupName + protocol: + http: + in: path + - &ref_202 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationName + description: The name of the application within the specified application group + serializedName: applicationName + cli: + cliKey: applicationName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_155 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content-type + description: Body Parameter content-type + serializedName: Content-Type + cli: + cliKey: content-type + protocol: + http: + in: header + - &ref_199 + schema: *ref_198 + implementation: Method + required: false + language: + default: + name: application + description: Object containing Application definitions. + cli: + cliKey: application + protocol: + http: + in: body + style: json + signatureParameters: + - *ref_199 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' + method: patch + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_200 + - *ref_201 + - *ref_202 + responses: + - schema: *ref_85 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Application_Update: + parameters: + api-version: 2019-12-10-preview + application: + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconIndex: 1 + iconPath: icon + showInPortal: true + applicationGroupName: applicationGroup1 + applicationName: application1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1/application1 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + language: + default: + name: Update + description: Update an application. + cli: + cliKey: Update + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_203 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_204 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationGroupName + description: The name of the application group + serializedName: applicationGroupName + cli: + cliKey: applicationGroupName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications' + method: get + uri: '{$host}' + signatureParameters: + - *ref_203 + - *ref_204 + responses: + - schema: *ref_205 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Applications_List: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: applicationGroup1/application1 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + - name: applicationGroup1/application2 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application2 + properties: + description: des2 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: List + description: List applications. + paging: + nextLinkName: nextLink + cli: + cliKey: List + protocol: {} + language: + default: + name: Applications + description: '' + cli: + cliKey: Applications + protocol: {} + - $key: Desktops + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_206 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_207 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationGroupName + description: The name of the application group + serializedName: applicationGroupName + cli: + cliKey: applicationGroupName + protocol: + http: + in: path + - &ref_208 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: desktopName + description: The name of the desktop within the specified desktop group + serializedName: desktopName + cli: + cliKey: desktopName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops/{desktopName}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_206 + - *ref_207 + - *ref_208 + responses: + - schema: *ref_86 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Desktop_Get: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + desktopName: SessionDesktop + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1/SessionDesktop + type: Microsoft.DesktopVirtualization/applicationGroups/desktops + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/SessionDesktop + properties: + description: des1 + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + language: + default: + name: Get + description: Get a desktop. + cli: + cliKey: Get + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_211 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_212 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationGroupName + description: The name of the application group + serializedName: applicationGroupName + cli: + cliKey: applicationGroupName + protocol: + http: + in: path + - &ref_213 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: desktopName + description: The name of the desktop within the specified desktop group + serializedName: desktopName + cli: + cliKey: desktopName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_155 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content-type + description: Body Parameter content-type + serializedName: Content-Type + cli: + cliKey: content-type + protocol: + http: + in: header + - &ref_210 + schema: *ref_209 + implementation: Method + required: false + language: + default: + name: desktop + description: Object containing Desktop definitions. + cli: + cliKey: desktop + protocol: + http: + in: body + style: json + signatureParameters: + - *ref_210 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops/{desktopName}' + method: patch + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_211 + - *ref_212 + - *ref_213 + responses: + - schema: *ref_86 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Desktop_Update: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + desktop: + properties: + description: des1 + friendlyName: friendly + desktopName: SessionDesktop + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1/SessionDesktop + type: Microsoft.DesktopVirtualization/applicationGroups/desktops + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/desktops/SessionDesktop + properties: + description: des1 + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + language: + default: + name: Update + description: Update a desktop. + cli: + cliKey: Update + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_214 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_215 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationGroupName + description: The name of the application group + serializedName: applicationGroupName + cli: + cliKey: applicationGroupName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops' + method: get + uri: '{$host}' + signatureParameters: + - *ref_214 + - *ref_215 + responses: + - schema: *ref_216 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Desktop_List: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: applicationGroup1/SessionDesktop + type: Microsoft.DesktopVirtualization/applicationGroups/desktops + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/SessionDesktop + properties: + description: des1 + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + language: + default: + name: List + description: List desktops. + cli: + cliKey: List + protocol: {} + language: + default: + name: Desktops + description: '' + cli: + cliKey: Desktops + protocol: {} + - $key: HostPools + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_217 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_218 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: hostPoolName + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_217 + - *ref_218 + responses: + - schema: *ref_36 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + HostPool_Get: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: hostPool1 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2008-09-22T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + language: + default: + name: Get + description: Get a host pool. + cli: + cliKey: Get + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_220 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_221 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: hostPoolName + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_155 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content-type + description: Body Parameter content-type + serializedName: Content-Type + cli: + cliKey: content-type + protocol: + http: + in: header + - &ref_219 + schema: *ref_36 + implementation: Method + required: true + language: + default: + name: hostPool + description: Object containing HostPool definitions. + cli: + cliKey: hostPool + protocol: + http: + in: body + style: json + signatureParameters: + - *ref_219 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' + method: put + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_220 + - *ref_221 + responses: + - schema: *ref_36 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + - schema: *ref_36 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '201' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + HostPool_Create: + parameters: + api-version: 2019-12-10-preview + hostPool: + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2020-10-01T14:01:54.9571247Z' + registrationTokenOperation: Update + ssoContext: KeyVaultPath + tags: + tag1: value1 + tag2: value2 + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: hostPool1 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2020-10-01T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + '201': + body: + name: hostPool1 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2020-10-01T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + language: + default: + name: CreateOrUpdate + description: Create or update a host pool. + cli: + cliKey: CreateOrUpdate + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_223 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_224 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: hostPoolName + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_225 + schema: *ref_222 + implementation: Method + language: + default: + name: force + description: Force flag to delete sessionHost. + serializedName: force + cli: + cliKey: force + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' + method: delete + uri: '{$host}' + signatureParameters: + - *ref_223 + - *ref_224 + - *ref_225 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '204' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + HostPool_Delete: + parameters: + api-version: 2019-12-10-preview + force: true + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + name: hostPool1 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2008-09-22T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + '204': {} + language: + default: + name: Delete + description: Remove a host pool. + cli: + cliKey: Delete + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_227 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_228 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: hostPoolName + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_155 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content-type + description: Body Parameter content-type + serializedName: Content-Type + cli: + cliKey: content-type + protocol: + http: + in: header + - &ref_226 + schema: *ref_87 + implementation: Method + required: false + language: + default: + name: hostPool + description: Object containing HostPool definitions. + cli: + cliKey: hostPool + protocol: + http: + in: body + style: json + signatureParameters: + - *ref_226 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' + method: patch + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_227 + - *ref_228 + responses: + - schema: *ref_36 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + HostPool_Update: + parameters: + api-version: 2019-12-10-preview + hostPool: + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2020-10-02T14:01:54.9571247Z' + ssoContext: KeyVaultPath + tags: + tag1: value1 + tag2: value2 + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: hostPool1 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2008-09-22T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + language: + default: + name: Update + description: Update a host pool. + cli: + cliKey: Update + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_229 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools' + method: get + uri: '{$host}' + signatureParameters: + - *ref_229 + responses: + - schema: *ref_230 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + HostPool_ListByResourceGroup: + parameters: + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: hostPool1 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2008-09-22T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + - name: hostPool2 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool2 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2008-09-22T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: ListByResourceGroup + description: List hostPools. + paging: + nextLinkName: nextLink + cli: + cliKey: ListByResourceGroup + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/hostPools' + method: get + uri: '{$host}' + signatureParameters: [] + responses: + - schema: *ref_230 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + HostPool_List: + parameters: + api-version: 2019-12-10-preview + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: hostPool1 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2008-09-22T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + - name: hostPool2 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool2 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2008-09-22T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: List + description: List hostPools in subscription. + paging: + nextLinkName: nextLink + cli: + cliKey: List + protocol: {} + language: + default: + name: HostPools + description: '' + cli: + cliKey: HostPools + protocol: {} + - $key: UserSessions + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_231 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_232 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: hostPoolName + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_233 + schema: *ref_167 + implementation: Method + language: + default: + name: $filter + description: OData filter expression. Valid properties for filtering are userprincipalname and sessionstate. + serializedName: $filter + cli: + cliKey: $filter + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/userSessions' + method: get + uri: '{$host}' + signatureParameters: + - *ref_231 + - *ref_232 + - *ref_233 + responses: + - schema: *ref_234 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + UserSession_ListByHostPool: + parameters: + $filter: userPrincipalName eq 'user1@microsoft.com' and state eq 'active' + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: '1' + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 + properties: + activeDirectoryUserName: WVDARM\user1 + applicationType: Desktop + createTime: '2008-09-22T14:01:54.9571247Z' + sessionState: Active + userPrincipalName: user1@microsoft.com + - name: '2' + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/2 + properties: + activeDirectoryUserName: WVDARM\user1 + applicationType: Desktop + createTime: '2008-09-22T14:01:54.9571247Z' + sessionState: Active + userPrincipalName: user1@microsoft.com + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: ListByHostPool + description: List userSessions. + paging: + nextLinkName: nextLink + cli: + cliKey: ListByHostPool + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_237 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_238 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: hostPoolName + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_239 + schema: *ref_235 + implementation: Method + required: true + language: + default: + name: sessionHostName + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + cliKey: sessionHostName + protocol: + http: + in: path + - &ref_240 + schema: *ref_236 + implementation: Method + required: true + language: + default: + name: userSessionId + description: The name of the user session within the specified session host + serializedName: userSessionId + cli: + cliKey: userSessionId + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_237 + - *ref_238 + - *ref_239 + - *ref_240 + responses: + - schema: *ref_88 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + UserSession_Get: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + userSessionId: '1' + responses: + '200': + body: + name: '1' + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 + properties: + activeDirectoryUserName: WVDARM\user1 + applicationType: Desktop + createTime: '2008-09-22T14:01:54.9571247Z' + sessionState: Active + userPrincipalName: user1@microsoft.com + language: + default: + name: Get + description: Get a userSession. + cli: + cliKey: Get + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_241 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_242 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: hostPoolName + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_243 + schema: *ref_235 + implementation: Method + required: true + language: + default: + name: sessionHostName + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + cliKey: sessionHostName + protocol: + http: + in: path + - &ref_244 + schema: *ref_236 + implementation: Method + required: true + language: + default: + name: userSessionId + description: The name of the user session within the specified session host + serializedName: userSessionId + cli: + cliKey: userSessionId + protocol: + http: + in: path + - &ref_245 + schema: *ref_222 + implementation: Method + language: + default: + name: force + description: Force flag to login off userSession. + serializedName: force + cli: + cliKey: force + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}' + method: delete + uri: '{$host}' + signatureParameters: + - *ref_241 + - *ref_242 + - *ref_243 + - *ref_244 + - *ref_245 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '204' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + UserSession_Delete: + parameters: + api-version: 2019-12-10-preview + force: true + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + userSessionId: '1' + responses: + '200': + name: '1' + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 + properties: + activeDirectoryUserName: WVDARM\user1 + applicationType: Desktop + createTime: '2008-09-22T14:01:54.9571247Z' + sessionState: Active + userPrincipalName: user1@microsoft.com + '204': {} + language: + default: + name: Delete + description: Remove a userSession. + cli: + cliKey: Delete + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_246 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_247 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: hostPoolName + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_248 + schema: *ref_235 + implementation: Method + required: true + language: + default: + name: sessionHostName + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + cliKey: sessionHostName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions' + method: get + uri: '{$host}' + signatureParameters: + - *ref_246 + - *ref_247 + - *ref_248 + responses: + - schema: *ref_234 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + UserSession_List: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: '1' + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 + properties: + activeDirectoryUserName: WVDARM\user1 + applicationType: Desktop + createTime: '2008-09-22T14:01:54.9571247Z' + sessionState: Active + userPrincipalName: user1@microsoft.com + - name: '2' + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/2 + properties: + activeDirectoryUserName: WVDARM\user1 + applicationType: Desktop + createTime: '2008-09-22T14:01:54.9571247Z' + sessionState: Active + userPrincipalName: user1@microsoft.com + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: List + description: List userSessions. + paging: + nextLinkName: nextLink + cli: + cliKey: List + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_249 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_250 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: hostPoolName + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_251 + schema: *ref_235 + implementation: Method + required: true + language: + default: + name: sessionHostName + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + cliKey: sessionHostName + protocol: + http: + in: path + - &ref_252 + schema: *ref_236 + implementation: Method + required: true + language: + default: + name: userSessionId + description: The name of the user session within the specified session host + serializedName: userSessionId + cli: + cliKey: userSessionId + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}/disconnect' + method: post + uri: '{$host}' + signatureParameters: + - *ref_249 + - *ref_250 + - *ref_251 + - *ref_252 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + UserSession_Disconnect_Post: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + userSessionId: '1' + responses: + '200': {} + language: + default: + name: Disconnect + description: Disconnect a userSession. + cli: + cliKey: Disconnect + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_255 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_256 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: hostPoolName + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_257 + schema: *ref_235 + implementation: Method + required: true + language: + default: + name: sessionHostName + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + cliKey: sessionHostName + protocol: + http: + in: path + - &ref_258 + schema: *ref_236 + implementation: Method + required: true + language: + default: + name: userSessionId + description: The name of the user session within the specified session host + serializedName: userSessionId + cli: + cliKey: userSessionId + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_155 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content-type + description: Body Parameter content-type + serializedName: Content-Type + cli: + cliKey: content-type + protocol: + http: + in: header + - &ref_254 + schema: *ref_253 + implementation: Method + required: false + language: + default: + name: sendMessage + description: Object containing message includes title and message body + cli: + cliKey: sendMessage + protocol: + http: + in: body + style: json + signatureParameters: + - *ref_254 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}/sendMessage' + method: post + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_255 + - *ref_256 + - *ref_257 + - *ref_258 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + UserSession_SendMessage_Post: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sendMessage: + messageBody: body + messageTitle: title + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + userSessionId: '1' + responses: + '200': {} + language: + default: + name: SendMessage + description: Send a message to a user. + cli: + cliKey: SendMessage + protocol: {} + language: + default: + name: UserSessions + description: '' + cli: + cliKey: UserSessions + protocol: {} + - $key: SessionHosts + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_259 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_260 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: hostPoolName + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_261 + schema: *ref_235 + implementation: Method + required: true + language: + default: + name: sessionHostName + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + cliKey: sessionHostName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_259 + - *ref_260 + - *ref_261 + responses: + - schema: *ref_89 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + SessionHost_Get: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: sessionHost1.microsoft.com + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com + properties: + agentVersion: 1.0.0.1391 + allowNewSession: true + assignedUser: user1@microsoft.com + lastHeartBeat: '2008-09-22T14:01:54.9571247Z' + lastUpdateTime: '2008-09-22T14:01:54.9571247Z' + osVersion: 10.0.17763 + sessions: 1 + status: Available + statusTimestamp: '2008-09-22T14:01:54.9571247Z' + sxSStackVersion: rdp-sxs190816002 + updateErrorMessage: '' + updateState: Succeeded + language: + default: + name: Get + description: Get a session host. + cli: + cliKey: Get + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_262 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_263 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: hostPoolName + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_264 + schema: *ref_235 + implementation: Method + required: true + language: + default: + name: sessionHostName + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + cliKey: sessionHostName + protocol: + http: + in: path + - &ref_265 + schema: *ref_222 + implementation: Method + language: + default: + name: force + description: Force flag to force sessionHost deletion even when userSession exists. + serializedName: force + cli: + cliKey: force + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}' + method: delete + uri: '{$host}' + signatureParameters: + - *ref_262 + - *ref_263 + - *ref_264 + - *ref_265 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '204' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + SessionHost_Delete: + parameters: + api-version: 2019-12-10-preview + force: true + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + name: sessionHost1.microsoft.com + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com + properties: + agentVersion: 1.0.0.1391 + allowNewSession: true + assignedUser: user1@microsoft.com + lastHeartBeat: '2008-09-22T14:01:54.9571247Z' + lastUpdateTime: '2008-09-22T14:01:54.9571247Z' + osVersion: 10.0.17763 + sessions: 1 + status: Available + statusTimestamp: '2008-09-22T14:01:54.9571247Z' + sxSStackVersion: rdp-sxs190816002 + updateErrorMessage: '' + updateState: Succeeded + '204': {} + language: + default: + name: Delete + description: Remove a SessionHost. + cli: + cliKey: Delete + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_267 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_268 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: hostPoolName + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_269 + schema: *ref_235 + implementation: Method + required: true + language: + default: + name: sessionHostName + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + cliKey: sessionHostName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_155 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content-type + description: Body Parameter content-type + serializedName: Content-Type + cli: + cliKey: content-type + protocol: + http: + in: header + - &ref_266 + schema: *ref_90 + implementation: Method + required: false + language: + default: + name: sessionHost + description: Object containing SessionHost definitions. + cli: + cliKey: sessionHost + protocol: + http: + in: body + style: json + signatureParameters: + - *ref_266 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}' + method: patch + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_267 + - *ref_268 + - *ref_269 + responses: + - schema: *ref_89 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + SessionHost_Update: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHost: + properties: + allowNewSession: true + assignedUser: user1@microsoft.com + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: sessionHost1.microsoft.com + type: Microsoft.DesktopVirtualization/hostPools/sessionhosts + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com + properties: + agentVersion: 1.0.0.1391 + allowNewSession: true + assignedUser: user1@microsoft.com + lastHeartBeat: '2019-01-11T19:27:13.6108027Z' + lastUpdateTime: '2008-09-22T14:01:54.9571247Z' + osVersion: 10.0.17763 + sessions: 1 + status: Available + statusTimestamp: '2019-01-24T20:00:08.2893033Z' + sxSStackVersion: rdp-sxs190816002 + updateErrorMessage: '' + updateState: Succeeded + language: + default: + name: Update + description: Update a session host. + cli: + cliKey: Update + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_270 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_271 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: hostPoolName + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts' + method: get + uri: '{$host}' + signatureParameters: + - *ref_270 + - *ref_271 + responses: + - schema: *ref_272 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + SessionHost_List: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: sessionHost1.microsoft.com + type: Microsoft.DesktopVirtualization/hostPools/sessionhosts + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com + properties: + agentVersion: 1.0.0.1391 + allowNewSession: true + assignedUser: user1@microsoft.com + lastHeartBeat: '2008-09-22T14:01:54.9571247Z' + lastUpdateTime: '2008-09-22T14:01:54.9571247Z' + osVersion: 10.0.17763 + sessions: 1 + status: Available + statusTimestamp: '2008-09-22T14:01:54.9571247Z' + sxSStackVersion: rdp-sxs190816002 + updateErrorMessage: '' + updateState: Succeeded + - name: sessionHost2.microsoft.com + type: Microsoft.DesktopVirtualization/hostPools/sessionhosts + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost2microsoft.com + properties: + agentVersion: 1.0.0.1391 + allowNewSession: true + assignedUser: user2@microsoft.com + lastHeartBeat: '2008-09-22T14:01:54.9571247Z' + lastUpdateTime: '2008-09-22T14:01:54.9571247Z' + osVersion: 10.0.17763 + sessions: 1 + status: Available + statusTimestamp: '2008-09-22T14:01:54.9571247Z' + sxSStackVersion: rdp-sxs190816002 + updateErrorMessage: '' + updateState: Succeeded + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: List + description: List sessionHosts. + paging: + nextLinkName: nextLink + cli: + cliKey: List + protocol: {} + language: + default: + name: SessionHosts + description: '' + cli: + cliKey: SessionHosts + protocol: {} + - $key: ActiveApplications + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_273 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_274 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: hostPoolName + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_275 + schema: *ref_235 + implementation: Method + required: true + language: + default: + name: sessionHostName + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + cliKey: sessionHostName + protocol: + http: + in: path + - &ref_276 + schema: *ref_167 + implementation: Method + language: + default: + name: $filter + description: OData filter expression. Valid properties for filtering are userprincipalname and sessionstate. + serializedName: $filter + cli: + cliKey: $filter + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/activeApplications' + method: get + uri: '{$host}' + signatureParameters: + - *ref_273 + - *ref_274 + - *ref_275 + - *ref_276 + responses: + - schema: *ref_205 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ActiveApplications_List: + parameters: + $filter: userPrincipalName eq 'user1@microsoft.com' + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: applicationGroup1/application1 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + - name: applicationGroup1/application2 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application2 + properties: + description: des2 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: ListBySessionHost + description: List applications for the given session host. + paging: + nextLinkName: nextLink + cli: + cliKey: ListBySessionHost + protocol: {} + language: + default: + name: ActiveApplications + description: '' + cli: + cliKey: ActiveApplications + protocol: {} +language: + default: + name: '' + description: '' +protocol: + http: {} diff --git a/src/desktopvirtualization/_az_debug/clicommon-000030-complex-marker-pre-simplified.yaml b/src/desktopvirtualization/_az_debug/clicommon-000030-complex-marker-pre-simplified.yaml new file mode 100644 index 00000000000..9bfd969c1cb --- /dev/null +++ b/src/desktopvirtualization/_az_debug/clicommon-000030-complex-marker-pre-simplified.yaml @@ -0,0 +1,1708 @@ +operationGroups: + all: + - operationGroupName: Operations + cli: + cliKey: Operations + operations: + - operationName: List + cli: + cliKey: List + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - operationGroupName: Workspaces + cli: + cliKey: Workspaces + operations: + - operationName: Get + cli: + cliKey: Get + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: workspaceName(string^string) + cli: + cliKey: workspaceName + - operationName: CreateOrUpdate + cli: + cliKey: CreateOrUpdate + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: workspaceName(string^string) + cli: + cliKey: workspaceName + - parameterName[0]: content-type(application/json^constant) + cli: + cliKey: content-type + - parameterName[0]: workspace(Workspace^object) + cli: + cliKey: workspace + bodySchema: Workspace + - operationName: Delete + cli: + cliKey: Delete + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: workspaceName(string^string) + cli: + cliKey: workspaceName + - operationName: Update + cli: + cliKey: Update + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: workspaceName(string^string) + cli: + cliKey: workspaceName + - parameterName[0]: content-type(application/json^constant) + cli: + cliKey: content-type + - parameterName[0]: workspace(WorkspacePatch^object) + cli: + cliKey: workspace + bodySchema: WorkspacePatch + - operationName: ListByResourceGroup + cli: + cliKey: ListByResourceGroup + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - operationName: ListBySubscription + cli: + cliKey: ListBySubscription + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - operationGroupName: ApplicationGroupAssignments + cli: + cliKey: ApplicationGroupAssignments + operations: + - operationName: WorkspaceLevelList + cli: + cliKey: WorkspaceLevelList + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: workspaceName(string^string) + cli: + cliKey: workspaceName + - parameterName: $filter(string^string) + cli: + cliKey: $filter + - operationGroupName: ApplicationGroups + cli: + cliKey: ApplicationGroups + operations: + - operationName: Get + cli: + cliKey: Get + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: applicationGroupName(string^string) + cli: + cliKey: applicationGroupName + - operationName: CreateOrUpdate + cli: + cliKey: CreateOrUpdate + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: applicationGroupName(string^string) + cli: + cliKey: applicationGroupName + - parameterName[0]: content-type(application/json^constant) + cli: + cliKey: content-type + - parameterName[0]: applicationGroup(ApplicationGroup^object) + cli: + cliKey: applicationGroup + bodySchema: ApplicationGroup + - operationName: Delete + cli: + cliKey: Delete + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: applicationGroupName(string^string) + cli: + cliKey: applicationGroupName + - operationName: Update + cli: + cliKey: Update + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: applicationGroupName(string^string) + cli: + cliKey: applicationGroupName + - parameterName[0]: content-type(application/json^constant) + cli: + cliKey: content-type + - parameterName[0]: applicationGroup(ApplicationGroupPatch^object) + cli: + cliKey: applicationGroup + bodySchema: ApplicationGroupPatch + - operationName: ListByResourceGroup + cli: + cliKey: ListByResourceGroup + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: $filter(string^string) + cli: + cliKey: $filter + - operationName: ListBySubscription + cli: + cliKey: ListBySubscription + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: $filter(string^string) + cli: + cliKey: $filter + - operationGroupName: StartMenuItems + cli: + cliKey: StartMenuItems + operations: + - operationName: List + cli: + cliKey: List + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: applicationGroupName(string^string) + cli: + cliKey: applicationGroupName + - operationGroupName: Applications + cli: + cliKey: Applications + operations: + - operationName: Get + cli: + cliKey: Get + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: applicationGroupName(string^string) + cli: + cliKey: applicationGroupName + - parameterName: applicationName(string^string) + cli: + cliKey: applicationName + - operationName: CreateOrUpdate + cli: + cliKey: CreateOrUpdate + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: applicationGroupName(string^string) + cli: + cliKey: applicationGroupName + - parameterName: applicationName(string^string) + cli: + cliKey: applicationName + - parameterName[0]: content-type(application/json^constant) + cli: + cliKey: content-type + - parameterName[0]: application(Application^object) + cli: + cliKey: application + bodySchema: Application + - operationName: Delete + cli: + cliKey: Delete + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: applicationGroupName(string^string) + cli: + cliKey: applicationGroupName + - parameterName: applicationName(string^string) + cli: + cliKey: applicationName + - operationName: Update + cli: + cliKey: Update + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: applicationGroupName(string^string) + cli: + cliKey: applicationGroupName + - parameterName: applicationName(string^string) + cli: + cliKey: applicationName + - parameterName[0]: content-type(application/json^constant) + cli: + cliKey: content-type + - parameterName[0]: application(ApplicationPatch^object) + cli: + cliKey: application + bodySchema: ApplicationPatch + - operationName: List + cli: + cliKey: List + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: applicationGroupName(string^string) + cli: + cliKey: applicationGroupName + - operationGroupName: Desktops + cli: + cliKey: Desktops + operations: + - operationName: Get + cli: + cliKey: Get + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: applicationGroupName(string^string) + cli: + cliKey: applicationGroupName + - parameterName: desktopName(string^string) + cli: + cliKey: desktopName + - operationName: Update + cli: + cliKey: Update + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: applicationGroupName(string^string) + cli: + cliKey: applicationGroupName + - parameterName: desktopName(string^string) + cli: + cliKey: desktopName + - parameterName[0]: content-type(application/json^constant) + cli: + cliKey: content-type + - parameterName[0]: desktop(DesktopPatch^object) + cli: + cliKey: desktop + bodySchema: DesktopPatch + - operationName: List + cli: + cliKey: List + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: applicationGroupName(string^string) + cli: + cliKey: applicationGroupName + - operationGroupName: HostPools + cli: + cliKey: HostPools + operations: + - operationName: Get + cli: + cliKey: Get + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: hostPoolName(string^string) + cli: + cliKey: hostPoolName + - operationName: CreateOrUpdate + cli: + cliKey: CreateOrUpdate + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: hostPoolName(string^string) + cli: + cliKey: hostPoolName + - parameterName[0]: content-type(application/json^constant) + cli: + cliKey: content-type + - parameterName[0]: hostPool(HostPool^object) + cli: + cliKey: hostPool + bodySchema: HostPool + - operationName: Delete + cli: + cliKey: Delete + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: hostPoolName(string^string) + cli: + cliKey: hostPoolName + - parameterName: force(boolean^boolean) + cli: + cliKey: force + - operationName: Update + cli: + cliKey: Update + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: hostPoolName(string^string) + cli: + cliKey: hostPoolName + - parameterName[0]: content-type(application/json^constant) + cli: + cliKey: content-type + - parameterName[0]: hostPool(HostPoolPatch^object) + cli: + cliKey: hostPool + bodySchema: HostPoolPatch + - operationName: ListByResourceGroup + cli: + cliKey: ListByResourceGroup + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - operationName: List + cli: + cliKey: List + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - operationGroupName: UserSessions + cli: + cliKey: UserSessions + operations: + - operationName: ListByHostPool + cli: + cliKey: ListByHostPool + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: hostPoolName(string^string) + cli: + cliKey: hostPoolName + - parameterName: $filter(string^string) + cli: + cliKey: $filter + - operationName: Get + cli: + cliKey: Get + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: hostPoolName(string^string) + cli: + cliKey: hostPoolName + - parameterName: sessionHostName(string^string) + cli: + cliKey: sessionHostName + - parameterName: userSessionId(string^string) + cli: + cliKey: userSessionId + - operationName: Delete + cli: + cliKey: Delete + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: hostPoolName(string^string) + cli: + cliKey: hostPoolName + - parameterName: sessionHostName(string^string) + cli: + cliKey: sessionHostName + - parameterName: userSessionId(string^string) + cli: + cliKey: userSessionId + - parameterName: force(boolean^boolean) + cli: + cliKey: force + - operationName: List + cli: + cliKey: List + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: hostPoolName(string^string) + cli: + cliKey: hostPoolName + - parameterName: sessionHostName(string^string) + cli: + cliKey: sessionHostName + - operationName: Disconnect + cli: + cliKey: Disconnect + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: hostPoolName(string^string) + cli: + cliKey: hostPoolName + - parameterName: sessionHostName(string^string) + cli: + cliKey: sessionHostName + - parameterName: userSessionId(string^string) + cli: + cliKey: userSessionId + - operationName: SendMessage + cli: + cliKey: SendMessage + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: hostPoolName(string^string) + cli: + cliKey: hostPoolName + - parameterName: sessionHostName(string^string) + cli: + cliKey: sessionHostName + - parameterName: userSessionId(string^string) + cli: + cliKey: userSessionId + - parameterName[0]: content-type(application/json^constant) + cli: + cliKey: content-type + - parameterName[0]: sendMessage(SendMessage^object) + cli: + cliKey: sendMessage + bodySchema: SendMessage + - operationGroupName: SessionHosts + cli: + cliKey: SessionHosts + operations: + - operationName: Get + cli: + cliKey: Get + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: hostPoolName(string^string) + cli: + cliKey: hostPoolName + - parameterName: sessionHostName(string^string) + cli: + cliKey: sessionHostName + - operationName: Delete + cli: + cliKey: Delete + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: hostPoolName(string^string) + cli: + cliKey: hostPoolName + - parameterName: sessionHostName(string^string) + cli: + cliKey: sessionHostName + - parameterName: force(boolean^boolean) + cli: + cliKey: force + - operationName: Update + cli: + cliKey: Update + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: hostPoolName(string^string) + cli: + cliKey: hostPoolName + - parameterName: sessionHostName(string^string) + cli: + cliKey: sessionHostName + - parameterName[0]: content-type(application/json^constant) + cli: + cliKey: content-type + - parameterName[0]: sessionHost(SessionHostPatch^object) + cli: + cliKey: sessionHost + bodySchema: SessionHostPatch + - operationName: List + cli: + cliKey: List + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: hostPoolName(string^string) + cli: + cliKey: hostPoolName + - operationGroupName: ActiveApplications + cli: + cliKey: ActiveApplications + operations: + - operationName: ListBySessionHost + cli: + cliKey: ListBySessionHost + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: hostPoolName(string^string) + cli: + cliKey: hostPoolName + - parameterName: sessionHostName(string^string) + cli: + cliKey: sessionHostName + - parameterName: $filter(string^string) + cli: + cliKey: $filter +schemas: + objects: + all: + - schemaName: ResourceProviderOperationList + cli: + cliKey: ResourceProviderOperationList + properties: + - propertyName: value(ResourceProviderOperationList-value^array) + cli: + cliKey: value + - schemaName: ResourceProviderOperation + cli: + cliKey: ResourceProviderOperation + properties: + - propertyName: name(ResourceProviderOperation-name^string) + cli: + cliKey: name + - propertyName: display(ResourceProviderOperation-display^object) + cli: + cliKey: display + - schemaName: ResourceProviderOperation-display + cli: + cliKey: ResourceProviderOperation-display + properties: + - propertyName: provider(ResourceProviderOperation-display-provider^string) + cli: + cliKey: provider + - propertyName: resource(ResourceProviderOperation-display-resource^string) + cli: + cliKey: resource + - propertyName: operation(ResourceProviderOperation-display-operation^string) + cli: + cliKey: operation + - propertyName: description(ResourceProviderOperation-display-description^string) + cli: + cliKey: description + - schemaName: Resource + cli: + cliKey: Resource + properties: + - propertyName: id(Resource-id^string) + cli: + cliKey: id + readOnly: true + - propertyName: name(Resource-name^string) + cli: + cliKey: name + readOnly: true + - propertyName: type(Resource-type^string) + cli: + cliKey: type + readOnly: true + - schemaName: TrackedResource + cli: + cliKey: TrackedResource + properties: + - propertyName: tags(TrackedResource-tags^dictionary) + cli: + cliKey: tags + - propertyName: location(TrackedResource-location^string) + cli: + cliKey: location + - schemaName: Workspace + cli: + cliKey: Workspace + properties: + - propertyName: properties(WorkspaceProperties^object) + cli: + cliKey: properties + x-ms-client-flatten: true + - schemaName: WorkspaceProperties + cli: + cliKey: WorkspaceProperties + properties: + - propertyName: description(WorkspaceProperties-description^string) + cli: + cliKey: description + - propertyName: friendlyName(WorkspaceProperties-friendlyName^string) + cli: + cliKey: friendlyName + - propertyName: applicationGroupReferences(WorkspaceProperties-applicationGroupReferences^array) + cli: + cliKey: applicationGroupReferences + - schemaName: CloudError + cli: + cliKey: CloudError + properties: + - propertyName: code(CloudError-code^string) + cli: + cliKey: code + - propertyName: message(CloudError-message^string) + cli: + cliKey: message + - schemaName: WorkspacePatch + cli: + cliKey: WorkspacePatch + properties: + - propertyName: tags(any^any) + cli: + cliKey: tags + - propertyName: properties(WorkspacePatchProperties^object) + cli: + cliKey: properties + x-ms-client-flatten: true + - schemaName: WorkspacePatchProperties + cli: + cliKey: WorkspacePatchProperties + properties: + - propertyName: description(WorkspacePatchProperties-description^string) + cli: + cliKey: description + - propertyName: friendlyName(WorkspacePatchProperties-friendlyName^string) + cli: + cliKey: friendlyName + - propertyName: applicationGroupReferences(WorkspacePatchProperties-applicationGroupReferences^array) + cli: + cliKey: applicationGroupReferences + - schemaName: WorkspaceList + cli: + cliKey: WorkspaceList + properties: + - propertyName: value(WorkspaceList-value^array) + cli: + cliKey: value + - propertyName: nextLink(WorkspaceList-nextLink^string) + cli: + cliKey: nextLink + readOnly: true + - schemaName: ApplicationGroupList + cli: + cliKey: ApplicationGroupList + properties: + - propertyName: value(ApplicationGroupList-value^array) + cli: + cliKey: value + - propertyName: nextLink(ApplicationGroupList-nextLink^string) + cli: + cliKey: nextLink + readOnly: true + - schemaName: ApplicationGroup + cli: + cliKey: ApplicationGroup + properties: + - propertyName: properties(ApplicationGroupProperties^object) + cli: + cliKey: properties + x-ms-client-flatten: true + - schemaName: ApplicationGroupProperties + cli: + cliKey: ApplicationGroupProperties + properties: + - propertyName: description(ApplicationGroupProperties-description^string) + cli: + cliKey: description + - propertyName: friendlyName(ApplicationGroupProperties-friendlyName^string) + cli: + cliKey: friendlyName + - propertyName: hostPoolArmPath(ApplicationGroupProperties-hostPoolArmPath^string) + cli: + cliKey: hostPoolArmPath + - propertyName: workspaceArmPath(ApplicationGroupProperties-workspaceArmPath^string) + cli: + cliKey: workspaceArmPath + readOnly: true + - propertyName: applicationGroupType(ApplicationGroupType^choice) + cli: + cliKey: applicationGroupType + - schemaName: ApplicationGroupPatch + cli: + cliKey: ApplicationGroupPatch + properties: + - propertyName: tags(any^any) + cli: + cliKey: tags + - propertyName: properties(ApplicationGroupPatchProperties^object) + cli: + cliKey: properties + x-ms-client-flatten: true + - schemaName: ApplicationGroupPatchProperties + cli: + cliKey: ApplicationGroupPatchProperties + properties: + - propertyName: description(ApplicationGroupPatchProperties-description^string) + cli: + cliKey: description + - propertyName: friendlyName(ApplicationGroupPatchProperties-friendlyName^string) + cli: + cliKey: friendlyName + - schemaName: StartMenuItemList + cli: + cliKey: StartMenuItemList + properties: + - propertyName: value(StartMenuItemList-value^array) + cli: + cliKey: value + - propertyName: nextLink(StartMenuItemList-nextLink^string) + cli: + cliKey: nextLink + readOnly: true + - schemaName: StartMenuItem + cli: + cliKey: StartMenuItem + properties: + - propertyName: properties(StartMenuItemProperties^object) + cli: + cliKey: properties + x-ms-client-flatten: true + - schemaName: StartMenuItemProperties + cli: + cliKey: StartMenuItemProperties + properties: + - propertyName: appAlias(StartMenuItemProperties-appAlias^string) + cli: + cliKey: appAlias + - propertyName: friendlyName(StartMenuItemProperties-friendlyName^string) + cli: + cliKey: friendlyName + - propertyName: filePath(StartMenuItemProperties-filePath^string) + cli: + cliKey: filePath + - propertyName: commandLineArguments(StartMenuItemProperties-commandLineArguments^string) + cli: + cliKey: commandLineArguments + - propertyName: iconPath(StartMenuItemProperties-iconPath^string) + cli: + cliKey: iconPath + - propertyName: iconIndex(integer^integer) + cli: + cliKey: iconIndex + - schemaName: Application + cli: + cliKey: Application + properties: + - propertyName: properties(ApplicationProperties^object) + cli: + cliKey: properties + x-ms-client-flatten: true + - schemaName: ApplicationProperties + cli: + cliKey: ApplicationProperties + properties: + - propertyName: description(ApplicationProperties-description^string) + cli: + cliKey: description + - propertyName: friendlyName(ApplicationProperties-friendlyName^string) + cli: + cliKey: friendlyName + - propertyName: filePath(ApplicationProperties-filePath^string) + cli: + cliKey: filePath + - propertyName: commandLineSetting(CommandLineSetting^choice) + cli: + cliKey: commandLineSetting + - propertyName: commandLineArguments(ApplicationProperties-commandLineArguments^string) + cli: + cliKey: commandLineArguments + - propertyName: showInPortal(boolean^boolean) + cli: + cliKey: showInPortal + - propertyName: iconPath(ApplicationProperties-iconPath^string) + cli: + cliKey: iconPath + - propertyName: iconIndex(integer^integer) + cli: + cliKey: iconIndex + - propertyName: iconHash(ApplicationProperties-iconHash^string) + cli: + cliKey: iconHash + readOnly: true + - propertyName: iconContent(ApplicationProperties-iconContent^byte-array) + cli: + cliKey: iconContent + readOnly: true + - schemaName: ApplicationPatch + cli: + cliKey: ApplicationPatch + properties: + - propertyName: tags(any^any) + cli: + cliKey: tags + - propertyName: properties(ApplicationPatchProperties^object) + cli: + cliKey: properties + x-ms-client-flatten: true + - schemaName: ApplicationPatchProperties + cli: + cliKey: ApplicationPatchProperties + properties: + - propertyName: description(ApplicationPatchProperties-description^string) + cli: + cliKey: description + - propertyName: friendlyName(ApplicationPatchProperties-friendlyName^string) + cli: + cliKey: friendlyName + - propertyName: filePath(ApplicationPatchProperties-filePath^string) + cli: + cliKey: filePath + - propertyName: commandLineSetting(CommandLineSetting^choice) + cli: + cliKey: commandLineSetting + - propertyName: commandLineArguments(ApplicationPatchProperties-commandLineArguments^string) + cli: + cliKey: commandLineArguments + - propertyName: showInPortal(boolean^boolean) + cli: + cliKey: showInPortal + - propertyName: iconPath(ApplicationPatchProperties-iconPath^string) + cli: + cliKey: iconPath + - propertyName: iconIndex(integer^integer) + cli: + cliKey: iconIndex + - schemaName: ApplicationList + cli: + cliKey: ApplicationList + properties: + - propertyName: value(ApplicationList-value^array) + cli: + cliKey: value + - propertyName: nextLink(ApplicationList-nextLink^string) + cli: + cliKey: nextLink + readOnly: true + - schemaName: Desktop + cli: + cliKey: Desktop + properties: + - propertyName: properties(DesktopProperties^object) + cli: + cliKey: properties + x-ms-client-flatten: true + - schemaName: DesktopProperties + cli: + cliKey: DesktopProperties + properties: + - propertyName: description(DesktopProperties-description^string) + cli: + cliKey: description + - propertyName: friendlyName(DesktopProperties-friendlyName^string) + cli: + cliKey: friendlyName + - propertyName: iconHash(DesktopProperties-iconHash^string) + cli: + cliKey: iconHash + readOnly: true + - propertyName: iconContent(DesktopProperties-iconContent^byte-array) + cli: + cliKey: iconContent + readOnly: true + - schemaName: DesktopPatch + cli: + cliKey: DesktopPatch + properties: + - propertyName: tags(any^any) + cli: + cliKey: tags + - propertyName: properties(DesktopPatchProperties^object) + cli: + cliKey: properties + x-ms-client-flatten: true + - schemaName: DesktopPatchProperties + cli: + cliKey: DesktopPatchProperties + properties: + - propertyName: description(DesktopPatchProperties-description^string) + cli: + cliKey: description + - propertyName: friendlyName(DesktopPatchProperties-friendlyName^string) + cli: + cliKey: friendlyName + - schemaName: DesktopList + cli: + cliKey: DesktopList + properties: + - propertyName: value(DesktopList-value^array) + cli: + cliKey: value + - propertyName: nextLink(DesktopList-nextLink^string) + cli: + cliKey: nextLink + readOnly: true + - schemaName: HostPool + cli: + cliKey: HostPool + properties: + - propertyName: properties(HostPoolProperties^object) + cli: + cliKey: properties + x-ms-client-flatten: true + - schemaName: HostPoolProperties + cli: + cliKey: HostPoolProperties + properties: + - propertyName: friendlyName(HostPoolProperties-friendlyName^string) + cli: + cliKey: friendlyName + - propertyName: description(HostPoolProperties-description^string) + cli: + cliKey: description + - propertyName: hostPoolType(HostPoolType^choice) + cli: + cliKey: hostPoolType + - propertyName: personalDesktopAssignmentType(PersonalDesktopAssignmentType^choice) + cli: + cliKey: personalDesktopAssignmentType + - propertyName: customRdpProperty(HostPoolProperties-customRdpProperty^string) + cli: + cliKey: customRdpProperty + - propertyName: maxSessionLimit(integer^integer) + cli: + cliKey: maxSessionLimit + - propertyName: loadBalancerType(LoadBalancerType^choice) + cli: + cliKey: loadBalancerType + - propertyName: ring(integer^integer) + cli: + cliKey: ring + - propertyName: validationEnvironment(boolean^boolean) + cli: + cliKey: validationEnvironment + - propertyName: registrationInfo(RegistrationInfo^object) + cli: + cliKey: registrationInfo + - propertyName: vmTemplate(HostPoolProperties-vmTemplate^string) + cli: + cliKey: vmTemplate + - propertyName: applicationGroupReferences(HostPoolProperties-applicationGroupReferences^array) + cli: + cliKey: applicationGroupReferences + readOnly: true + - propertyName: ssoContext(HostPoolProperties-ssoContext^string) + cli: + cliKey: ssoContext + - schemaName: RegistrationInfo + cli: + cliKey: RegistrationInfo + properties: + - propertyName: expirationTime(RegistrationInfo-expirationTime^date-time) + cli: + cliKey: expirationTime + - propertyName: token(RegistrationInfo-token^string) + cli: + cliKey: token + - propertyName: registrationTokenOperation(RegistrationTokenOperation^choice) + cli: + cliKey: registrationTokenOperation + - schemaName: HostPoolPatch + cli: + cliKey: HostPoolPatch + properties: + - propertyName: tags(any^any) + cli: + cliKey: tags + - propertyName: properties(HostPoolPatchProperties^object) + cli: + cliKey: properties + x-ms-client-flatten: true + - schemaName: HostPoolPatchProperties + cli: + cliKey: HostPoolPatchProperties + properties: + - propertyName: friendlyName(HostPoolPatchProperties-friendlyName^string) + cli: + cliKey: friendlyName + - propertyName: description(HostPoolPatchProperties-description^string) + cli: + cliKey: description + - propertyName: customRdpProperty(HostPoolPatchProperties-customRdpProperty^string) + cli: + cliKey: customRdpProperty + - propertyName: maxSessionLimit(integer^integer) + cli: + cliKey: maxSessionLimit + - propertyName: personalDesktopAssignmentType(PersonalDesktopAssignmentType^choice) + cli: + cliKey: personalDesktopAssignmentType + - propertyName: loadBalancerType(LoadBalancerType^choice) + cli: + cliKey: loadBalancerType + - propertyName: ring(integer^integer) + cli: + cliKey: ring + - propertyName: validationEnvironment(boolean^boolean) + cli: + cliKey: validationEnvironment + - propertyName: registrationInfo(RegistrationInfoPatch^object) + cli: + cliKey: registrationInfo + - propertyName: ssoContext(HostPoolPatchProperties-ssoContext^string) + cli: + cliKey: ssoContext + - schemaName: RegistrationInfoPatch + cli: + cliKey: RegistrationInfoPatch + properties: + - propertyName: registrationTokenOperation(RegistrationTokenOperation^choice) + cli: + cliKey: registrationTokenOperation + - schemaName: HostPoolList + cli: + cliKey: HostPoolList + properties: + - propertyName: value(HostPoolList-value^array) + cli: + cliKey: value + - propertyName: nextLink(HostPoolList-nextLink^string) + cli: + cliKey: nextLink + readOnly: true + - schemaName: UserSessionList + cli: + cliKey: UserSessionList + properties: + - propertyName: value(UserSessionList-value^array) + cli: + cliKey: value + - propertyName: nextLink(UserSessionList-nextLink^string) + cli: + cliKey: nextLink + readOnly: true + - schemaName: UserSession + cli: + cliKey: UserSession + properties: + - propertyName: properties(UserSessionProperties^object) + cli: + cliKey: properties + x-ms-client-flatten: true + - schemaName: UserSessionProperties + cli: + cliKey: UserSessionProperties + properties: + - propertyName: userPrincipalName(UserSessionProperties-userPrincipalName^string) + cli: + cliKey: userPrincipalName + - propertyName: applicationType(ApplicationType^choice) + cli: + cliKey: applicationType + - propertyName: sessionState(SessionState^choice) + cli: + cliKey: sessionState + - propertyName: activeDirectoryUserName(UserSessionProperties-activeDirectoryUserName^string) + cli: + cliKey: activeDirectoryUserName + - propertyName: createTime(UserSessionProperties-createTime^date-time) + cli: + cliKey: createTime + - schemaName: SessionHost + cli: + cliKey: SessionHost + properties: + - propertyName: properties(SessionHostProperties^object) + cli: + cliKey: properties + x-ms-client-flatten: true + - schemaName: SessionHostProperties + cli: + cliKey: SessionHostProperties + properties: + - propertyName: lastHeartBeat(SessionHostProperties-lastHeartBeat^date-time) + cli: + cliKey: lastHeartBeat + - propertyName: sessions(integer^integer) + cli: + cliKey: sessions + - propertyName: agentVersion(SessionHostProperties-agentVersion^string) + cli: + cliKey: agentVersion + - propertyName: allowNewSession(boolean^boolean) + cli: + cliKey: allowNewSession + - propertyName: assignedUser(SessionHostProperties-assignedUser^string) + cli: + cliKey: assignedUser + - propertyName: status(Status^choice) + cli: + cliKey: status + - propertyName: statusTimestamp(SessionHostProperties-statusTimestamp^date-time) + cli: + cliKey: statusTimestamp + readOnly: true + - propertyName: osVersion(SessionHostProperties-osVersion^string) + cli: + cliKey: osVersion + - propertyName: sxSStackVersion(SessionHostProperties-sxSStackVersion^string) + cli: + cliKey: sxSStackVersion + - propertyName: updateState(UpdateState^choice) + cli: + cliKey: updateState + - propertyName: lastUpdateTime(SessionHostProperties-lastUpdateTime^date-time) + cli: + cliKey: lastUpdateTime + readOnly: true + - propertyName: updateErrorMessage(SessionHostProperties-updateErrorMessage^string) + cli: + cliKey: updateErrorMessage + - schemaName: SessionHostPatch + cli: + cliKey: SessionHostPatch + properties: + - propertyName: properties(SessionHostPatchProperties^object) + cli: + cliKey: properties + x-ms-client-flatten: true + - schemaName: SessionHostPatchProperties + cli: + cliKey: SessionHostPatchProperties + properties: + - propertyName: allowNewSession(boolean^boolean) + cli: + cliKey: allowNewSession + - propertyName: assignedUser(SessionHostPatchProperties-assignedUser^string) + cli: + cliKey: assignedUser + - schemaName: SessionHostList + cli: + cliKey: SessionHostList + properties: + - propertyName: value(SessionHostList-value^array) + cli: + cliKey: value + - propertyName: nextLink(SessionHostList-nextLink^string) + cli: + cliKey: nextLink + readOnly: true + - schemaName: SendMessage + cli: + cliKey: SendMessage + properties: + - propertyName: messageTitle(SendMessage-messageTitle^string) + cli: + cliKey: messageTitle + - propertyName: messageBody(SendMessage-messageBody^string) + cli: + cliKey: messageBody + choices: + all: + - choiceName: ApplicationGroupType + cli: + cliKey: ApplicationGroupType + choiceValues: + - choiceValue: RemoteApp + cli: + cliKey: RemoteApp + - choiceValue: Desktop + cli: + cliKey: Desktop + - choiceName: CommandLineSetting + cli: + cliKey: CommandLineSetting + choiceValues: + - choiceValue: DoNotAllow + cli: + cliKey: DoNotAllow + - choiceValue: Allow + cli: + cliKey: Allow + - choiceValue: Require + cli: + cliKey: Require + - choiceName: HostPoolType + cli: + cliKey: HostPoolType + choiceValues: + - choiceValue: Personal + cli: + cliKey: Personal + - choiceValue: Pooled + cli: + cliKey: Pooled + - choiceName: PersonalDesktopAssignmentType + cli: + cliKey: PersonalDesktopAssignmentType + choiceValues: + - choiceValue: Automatic + cli: + cliKey: Automatic + - choiceValue: Direct + cli: + cliKey: Direct + - choiceName: LoadBalancerType + cli: + cliKey: LoadBalancerType + choiceValues: + - choiceValue: BreadthFirst + cli: + cliKey: BreadthFirst + - choiceValue: DepthFirst + cli: + cliKey: DepthFirst + - choiceValue: Persistent + cli: + cliKey: Persistent + - choiceName: RegistrationTokenOperation + cli: + cliKey: RegistrationTokenOperation + choiceValues: + - choiceValue: Delete + cli: + cliKey: Delete + - choiceValue: None + cli: + cliKey: None + - choiceValue: Update + cli: + cliKey: Update + - choiceName: ApplicationType + cli: + cliKey: ApplicationType + choiceValues: + - choiceValue: RemoteApp + cli: + cliKey: RemoteApp + - choiceValue: Desktop + cli: + cliKey: Desktop + - choiceName: SessionState + cli: + cliKey: SessionState + choiceValues: + - choiceValue: Unknown + cli: + cliKey: Unknown + - choiceValue: Active + cli: + cliKey: Active + - choiceValue: Disconnected + cli: + cliKey: Disconnected + - choiceValue: Pending + cli: + cliKey: Pending + - choiceValue: LogOff + cli: + cliKey: LogOff + - choiceValue: UserProfileDiskMounted + cli: + cliKey: UserProfileDiskMounted + - choiceName: Status + cli: + cliKey: Status + choiceValues: + - choiceValue: Available + cli: + cliKey: Available + - choiceValue: Unavailable + cli: + cliKey: Unavailable + - choiceValue: Shutdown + cli: + cliKey: Shutdown + - choiceValue: Disconnected + cli: + cliKey: Disconnected + - choiceValue: Upgrading + cli: + cliKey: Upgrading + - choiceValue: UpgradeFailed + cli: + cliKey: UpgradeFailed + - choiceName: UpdateState + cli: + cliKey: UpdateState + choiceValues: + - choiceValue: Initial + cli: + cliKey: Initial + - choiceValue: Pending + cli: + cliKey: Pending + - choiceValue: Started + cli: + cliKey: Started + - choiceValue: Succeeded + cli: + cliKey: Succeeded + - choiceValue: Failed + cli: + cliKey: Failed diff --git a/src/desktopvirtualization/_az_debug/clicommon-000030-complex-marker-pre.yaml b/src/desktopvirtualization/_az_debug/clicommon-000030-complex-marker-pre.yaml new file mode 100644 index 00000000000..fa2a6f2ee9f --- /dev/null +++ b/src/desktopvirtualization/_az_debug/clicommon-000030-complex-marker-pre.yaml @@ -0,0 +1,9037 @@ +info: + title: Desktop Virtualization API Client + extensions: + cli-dump-index: 30 +schemas: + booleans: + - &ref_53 + type: boolean + language: + default: + name: boolean + description: Specifies whether to show the RemoteApp program in the RD Web Access server. + protocol: {} + - &ref_27 + type: boolean + language: + default: + name: boolean + description: Is validation environment. + protocol: {} + - &ref_222 + type: boolean + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: boolean + description: '' + protocol: {} + - &ref_73 + type: boolean + language: + default: + name: boolean + description: Allow a new session. + protocol: {} + numbers: + - &ref_47 + type: integer + precision: 32 + language: + default: + name: integer + description: Index of the icon. + protocol: {} + - &ref_24 + type: integer + precision: 32 + language: + default: + name: integer + description: The max session limit of HostPool. + protocol: {} + - &ref_26 + type: integer + precision: 32 + language: + default: + name: integer + description: The ring number of HostPool. + protocol: {} + - &ref_71 + type: integer + precision: 32 + language: + default: + name: integer + description: Number of sessions on SessionHost. + protocol: {} + strings: + - &ref_0 + type: string + language: + default: + name: string + description: simple string + protocol: {} + - &ref_2 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ResourceProviderOperation-name + description: 'Operation name, in format of {provider}/{resource}/{operation}' + protocol: {} + - &ref_3 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ResourceProviderOperation-display-provider + description: 'Resource provider: Microsoft Desktop Virtualization.' + protocol: {} + - &ref_4 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ResourceProviderOperation-display-resource + description: Resource on which the operation is performed. + protocol: {} + - &ref_5 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ResourceProviderOperation-display-operation + description: 'Type of operation: get, read, delete, etc.' + protocol: {} + - &ref_6 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ResourceProviderOperation-display-description + description: Description of this operation. + protocol: {} + - &ref_144 + type: string + apiVersions: + - version: '1.0' + minLength: 1 + language: + default: + name: string + description: '' + protocol: {} + - &ref_150 + type: string + apiVersions: + - version: '1.0' + maxLength: 90 + minLength: 1 + pattern: '^[-\w\._\(\)]+$' + language: + default: + name: string + description: '' + protocol: {} + - &ref_151 + type: string + apiVersions: + - version: 2019-12-10-preview + maxLength: 24 + minLength: 3 + language: + default: + name: string + description: '' + protocol: {} + - &ref_91 + type: string + apiVersions: + - version: '1.0' + language: + default: + name: Resource-id + description: 'Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' + protocol: {} + - &ref_92 + type: string + apiVersions: + - version: '1.0' + language: + default: + name: Resource-name + description: The name of the resource + protocol: {} + - &ref_93 + type: string + apiVersions: + - version: '1.0' + language: + default: + name: Resource-type + description: The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + protocol: {} + - &ref_1 + type: string + apiVersions: + - version: '1.0' + language: + default: + name: string + description: '' + protocol: {} + - &ref_38 + type: string + apiVersions: + - version: '1.0' + extensions: + x-ms-mutability: + - read + - create + language: + default: + name: TrackedResource-location + description: The geo-location where the resource lives + protocol: {} + - &ref_11 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: WorkspaceProperties-description + description: Description of Workspace. + protocol: {} + - &ref_12 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: WorkspaceProperties-friendlyName + description: Friendly name of Workspace. + protocol: {} + - &ref_13 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: WorkspaceProperties-applicationGroupReferencesItem + description: '' + protocol: {} + - &ref_95 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: CloudError-code + description: Error code + protocol: {} + - &ref_96 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: CloudError-message + description: Error message indicating why the operation failed. + protocol: {} + - &ref_97 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: WorkspacePatchProperties-description + description: Description of Workspace. + protocol: {} + - &ref_98 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: WorkspacePatchProperties-friendlyName + description: Friendly name of Workspace. + protocol: {} + - &ref_99 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: WorkspacePatchProperties-applicationGroupReferencesItem + description: '' + protocol: {} + - &ref_101 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: WorkspaceList-nextLink + description: Link to the next page of results. + protocol: {} + - &ref_167 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: string + description: '' + protocol: {} + - &ref_14 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationGroupProperties-description + description: Description of ApplicationGroup. + protocol: {} + - &ref_15 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationGroupProperties-friendlyName + description: Friendly name of ApplicationGroup. + protocol: {} + - &ref_16 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationGroupProperties-hostPoolArmPath + description: HostPool arm path of ApplicationGroup. + protocol: {} + - &ref_17 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationGroupProperties-workspaceArmPath + description: Workspace arm path of ApplicationGroup. + protocol: {} + - &ref_102 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationGroupList-nextLink + description: Link to the next page of results. + protocol: {} + - &ref_40 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationGroupPatchProperties-description + description: Description of ApplicationGroup. + protocol: {} + - &ref_41 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationGroupPatchProperties-friendlyName + description: Friendly name of ApplicationGroup. + protocol: {} + - &ref_42 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: StartMenuItemProperties-appAlias + description: Alias of StartMenuItem. + protocol: {} + - &ref_43 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: StartMenuItemProperties-friendlyName + description: Friendly name of StartMenuItem. + protocol: {} + - &ref_44 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: StartMenuItemProperties-filePath + description: Path to the file of StartMenuItem. + protocol: {} + - &ref_45 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: StartMenuItemProperties-commandLineArguments + description: Command line arguments for StartMenuItem. + protocol: {} + - &ref_46 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: StartMenuItemProperties-iconPath + description: Path to the icon. + protocol: {} + - &ref_105 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: StartMenuItemList-nextLink + description: Link to the next page of results. + protocol: {} + - &ref_48 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationProperties-description + description: Description of Application. + protocol: {} + - &ref_49 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationProperties-friendlyName + description: Friendly name of Application. + protocol: {} + - &ref_50 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationProperties-filePath + description: Specifies a path for the executable file for the application. + protocol: {} + - &ref_52 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationProperties-commandLineArguments + description: Command Line Arguments for Application. + protocol: {} + - &ref_54 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationProperties-iconPath + description: Path to icon. + protocol: {} + - &ref_55 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationProperties-iconHash + description: Hash of the icon. + protocol: {} + - &ref_108 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationPatchProperties-description + description: Description of Application. + protocol: {} + - &ref_109 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationPatchProperties-friendlyName + description: Friendly name of Application. + protocol: {} + - &ref_110 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationPatchProperties-filePath + description: Specifies a path for the executable file for the application. + protocol: {} + - &ref_111 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationPatchProperties-commandLineArguments + description: Command Line Arguments for Application. + protocol: {} + - &ref_112 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationPatchProperties-iconPath + description: Path to icon. + protocol: {} + - &ref_114 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationList-nextLink + description: Link to the next page of results. + protocol: {} + - &ref_57 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: DesktopProperties-description + description: Description of Desktop. + protocol: {} + - &ref_58 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: DesktopProperties-friendlyName + description: Friendly name of Desktop. + protocol: {} + - &ref_59 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: DesktopProperties-iconHash + description: Hash of the icon. + protocol: {} + - &ref_116 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: DesktopPatchProperties-description + description: Description of Desktop. + protocol: {} + - &ref_117 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: DesktopPatchProperties-friendlyName + description: Friendly name of Desktop. + protocol: {} + - &ref_119 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: DesktopList-nextLink + description: Link to the next page of results. + protocol: {} + - &ref_19 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolProperties-friendlyName + description: Friendly name of HostPool. + protocol: {} + - &ref_20 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolProperties-description + description: Description of HostPool. + protocol: {} + - &ref_23 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolProperties-customRdpProperty + description: Custom rdp property of HostPool. + protocol: {} + - &ref_29 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: RegistrationInfo-token + description: The registration token base64 encoded string. + protocol: {} + - &ref_31 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolProperties-vmTemplate + description: VM template for sessionhosts configuration within hostpool. + protocol: {} + - &ref_32 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolProperties-applicationGroupReferencesItem + description: '' + protocol: {} + - &ref_33 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolProperties-ssoContext + description: Path to keyvault containing ssoContext secret. + protocol: {} + - &ref_61 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolPatchProperties-friendlyName + description: Friendly name of HostPool. + protocol: {} + - &ref_62 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolPatchProperties-description + description: Description of HostPool. + protocol: {} + - &ref_63 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolPatchProperties-customRdpProperty + description: Custom rdp property of HostPool. + protocol: {} + - &ref_64 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolPatchProperties-ssoContext + description: Path to keyvault containing ssoContext secret. + protocol: {} + - &ref_124 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolList-nextLink + description: Link to the next page of results. + protocol: {} + - &ref_65 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: UserSessionProperties-userPrincipalName + description: The user principal name. + protocol: {} + - &ref_68 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: UserSessionProperties-activeDirectoryUserName + description: The active directory user name. + protocol: {} + - &ref_125 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: UserSessionList-nextLink + description: Link to the next page of results. + protocol: {} + - &ref_235 + type: string + apiVersions: + - version: 2019-12-10-preview + maxLength: 48 + minLength: 3 + language: + default: + name: string + description: '' + protocol: {} + - &ref_72 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostProperties-agentVersion + description: Version of agent on SessionHost. + protocol: {} + - &ref_74 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostProperties-assignedUser + description: User assigned to SessionHost. + protocol: {} + - &ref_77 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostProperties-osVersion + description: The version of the OS on the session host. + protocol: {} + - &ref_78 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostProperties-sxSStackVersion + description: The version of the side by side stack on the session host. + protocol: {} + - &ref_81 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostProperties-updateErrorMessage + description: The error message. + protocol: {} + - &ref_82 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostPatchProperties-assignedUser + description: User assigned to SessionHost. + protocol: {} + - &ref_129 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostList-nextLink + description: Link to the next page of results. + protocol: {} + - &ref_236 + type: string + apiVersions: + - version: 2019-12-10-preview + maxLength: 24 + minLength: 1 + language: + default: + name: string + description: '' + protocol: {} + - &ref_130 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SendMessage-messageTitle + description: Title of message. + protocol: {} + - &ref_131 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SendMessage-messageBody + description: Body of message. + protocol: {} + choices: + - &ref_18 + choices: + - value: RemoteApp + language: + default: + name: RemoteApp + description: '' + cli: + cliKey: RemoteApp + - value: Desktop + language: + default: + name: Desktop + description: '' + cli: + cliKey: Desktop + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: ApplicationGroupType + description: Resource Type of ApplicationGroup. + cli: + cliKey: ApplicationGroupType + protocol: {} + - &ref_51 + choices: + - value: DoNotAllow + language: + default: + name: DoNotAllow + description: '' + cli: + cliKey: DoNotAllow + - value: Allow + language: + default: + name: Allow + description: '' + cli: + cliKey: Allow + - value: Require + language: + default: + name: Require + description: '' + cli: + cliKey: Require + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: CommandLineSetting + description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' + cli: + cliKey: CommandLineSetting + protocol: {} + - &ref_21 + choices: + - value: Personal + language: + default: + name: Personal + description: '' + cli: + cliKey: Personal + - value: Pooled + language: + default: + name: Pooled + description: '' + cli: + cliKey: Pooled + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: HostPoolType + description: HostPool type for desktop. + cli: + cliKey: HostPoolType + protocol: {} + - &ref_22 + choices: + - value: Automatic + language: + default: + name: Automatic + description: '' + cli: + cliKey: Automatic + - value: Direct + language: + default: + name: Direct + description: '' + cli: + cliKey: Direct + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: PersonalDesktopAssignmentType + description: PersonalDesktopAssignment type for HostPool. + cli: + cliKey: PersonalDesktopAssignmentType + protocol: {} + - &ref_25 + choices: + - value: BreadthFirst + language: + default: + name: BreadthFirst + description: '' + cli: + cliKey: BreadthFirst + - value: DepthFirst + language: + default: + name: DepthFirst + description: '' + cli: + cliKey: DepthFirst + - value: Persistent + language: + default: + name: Persistent + description: '' + cli: + cliKey: Persistent + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: LoadBalancerType + description: The type of the load balancer. + cli: + cliKey: LoadBalancerType + protocol: {} + - &ref_30 + choices: + - value: Delete + language: + default: + name: Delete + description: '' + cli: + cliKey: Delete + - value: None + language: + default: + name: None + description: '' + cli: + cliKey: None + - value: Update + language: + default: + name: Update + description: '' + cli: + cliKey: Update + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: RegistrationTokenOperation + description: The type of resetting the token. + cli: + cliKey: RegistrationTokenOperation + protocol: {} + - &ref_66 + choices: + - value: RemoteApp + language: + default: + name: RemoteApp + description: '' + cli: + cliKey: RemoteApp + - value: Desktop + language: + default: + name: Desktop + description: '' + cli: + cliKey: Desktop + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: ApplicationType + description: Application type of application. + cli: + cliKey: ApplicationType + protocol: {} + - &ref_67 + choices: + - value: Unknown + language: + default: + name: Unknown + description: '' + cli: + cliKey: Unknown + - value: Active + language: + default: + name: Active + description: '' + cli: + cliKey: Active + - value: Disconnected + language: + default: + name: Disconnected + description: '' + cli: + cliKey: Disconnected + - value: Pending + language: + default: + name: Pending + description: '' + cli: + cliKey: Pending + - value: LogOff + language: + default: + name: LogOff + description: '' + cli: + cliKey: LogOff + - value: UserProfileDiskMounted + language: + default: + name: UserProfileDiskMounted + description: '' + cli: + cliKey: UserProfileDiskMounted + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: SessionState + description: State of user session. + cli: + cliKey: SessionState + protocol: {} + - &ref_75 + choices: + - value: Available + language: + default: + name: Available + description: '' + cli: + cliKey: Available + - value: Unavailable + language: + default: + name: Unavailable + description: '' + cli: + cliKey: Unavailable + - value: Shutdown + language: + default: + name: Shutdown + description: '' + cli: + cliKey: Shutdown + - value: Disconnected + language: + default: + name: Disconnected + description: '' + cli: + cliKey: Disconnected + - value: Upgrading + language: + default: + name: Upgrading + description: '' + cli: + cliKey: Upgrading + - value: UpgradeFailed + language: + default: + name: UpgradeFailed + description: '' + cli: + cliKey: UpgradeFailed + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: Status + description: Status for a SessionHost. + cli: + cliKey: Status + protocol: {} + - &ref_79 + choices: + - value: Initial + language: + default: + name: Initial + description: '' + cli: + cliKey: Initial + - value: Pending + language: + default: + name: Pending + description: '' + cli: + cliKey: Pending + - value: Started + language: + default: + name: Started + description: '' + cli: + cliKey: Started + - value: Succeeded + language: + default: + name: Succeeded + description: '' + cli: + cliKey: Succeeded + - value: Failed + language: + default: + name: Failed + description: '' + cli: + cliKey: Failed + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: UpdateState + description: Update state of a SessionHost. + cli: + cliKey: UpdateState + protocol: {} + constants: + - &ref_145 + type: constant + value: + value: 2019-12-10-preview + valueType: *ref_0 + language: + default: + name: ApiVersion-2019-12-10-preview + description: Api Version (2019-12-10-preview) + protocol: {} + - &ref_155 + type: constant + value: + value: application/json + valueType: *ref_0 + language: + default: + name: application/json + description: Content Type 'application/json' + protocol: {} + dictionaries: + - &ref_37 + type: dictionary + elementType: *ref_1 + language: + default: + name: TrackedResource-tags + description: Resource tags. + protocol: {} + any: + - &ref_39 + type: any + language: + default: + name: any + description: Any object + protocol: {} + byteArrays: + - &ref_56 + type: byte-array + format: byte + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationProperties-iconContent + description: the icon a 64 bit string as a byte array. + protocol: {} + - &ref_60 + type: byte-array + format: byte + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: DesktopProperties-iconContent + description: The icon a 64 bit string as a byte array. + protocol: {} + dateTimes: + - &ref_28 + type: date-time + format: date-time + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: RegistrationInfo-expirationTime + description: Expiration time of registration token. + protocol: {} + - &ref_69 + type: date-time + format: date-time + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: UserSessionProperties-createTime + description: The timestamp of the user session create. + protocol: {} + - &ref_70 + type: date-time + format: date-time + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostProperties-lastHeartBeat + description: Last heart beat from SessionHost. + protocol: {} + - &ref_76 + type: date-time + format: date-time + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostProperties-statusTimestamp + description: The timestamp of the status. + protocol: {} + - &ref_80 + type: date-time + format: date-time + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostProperties-lastUpdateTime + description: The timestamp of the last update. + protocol: {} + objects: + - &ref_148 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_132 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: &ref_7 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_2 + serializedName: name + language: + default: + name: name + description: 'Operation name, in format of {provider}/{resource}/{operation}' + cli: + cliKey: name + protocol: {} + - schema: &ref_8 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_3 + serializedName: provider + language: + default: + name: provider + description: 'Resource provider: Microsoft Desktop Virtualization.' + cli: + cliKey: provider + protocol: {} + - schema: *ref_4 + serializedName: resource + language: + default: + name: resource + description: Resource on which the operation is performed. + cli: + cliKey: resource + protocol: {} + - schema: *ref_5 + serializedName: operation + language: + default: + name: operation + description: 'Type of operation: get, read, delete, etc.' + cli: + cliKey: operation + protocol: {} + - schema: *ref_6 + serializedName: description + language: + default: + name: description + description: Description of this operation. + cli: + cliKey: description + protocol: {} + serializationFormats: + - json + usage: + - output + language: + default: + name: ResourceProviderOperation-display + description: Display metadata associated with the operation. + namespace: '' + cli: + cliKey: ResourceProviderOperation-display + protocol: {} + serializedName: display + language: + default: + name: display + description: Display metadata associated with the operation. + cli: + cliKey: display + protocol: {} + serializationFormats: + - json + usage: + - output + language: + default: + name: ResourceProviderOperation + description: Supported operation of this resource provider. + namespace: '' + cli: + cliKey: ResourceProviderOperation + protocol: {} + language: + default: + name: ResourceProviderOperationList-value + description: List of operations supported by this resource provider. + protocol: {} + serializedName: value + language: + default: + name: value + description: List of operations supported by this resource provider. + cli: + cliKey: value + protocol: {} + serializationFormats: + - json + usage: + - output + language: + default: + name: ResourceProviderOperationList + description: Result of the request to list operations. + namespace: '' + cli: + cliKey: ResourceProviderOperationList + protocol: {} + - *ref_7 + - *ref_8 + - &ref_10 + type: object + apiVersions: + - version: '1.0' + children: + all: + - &ref_9 + type: object + apiVersions: + - version: '1.0' + children: + all: + - &ref_34 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_9 + - *ref_10 + immediate: + - *ref_9 + properties: + - schema: &ref_94 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_11 + serializedName: description + language: + default: + name: description + description: Description of Workspace. + cli: + cliKey: description + protocol: {} + - schema: *ref_12 + serializedName: friendlyName + language: + default: + name: friendlyName + description: Friendly name of Workspace. + cli: + cliKey: friendlyName + protocol: {} + - schema: &ref_133 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_13 + language: + default: + name: WorkspaceProperties-applicationGroupReferences + description: List of applicationGroup resource Ids. + protocol: {} + serializedName: applicationGroupReferences + language: + default: + name: applicationGroupReferences + description: List of applicationGroup resource Ids. + cli: + cliKey: applicationGroupReferences + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: WorkspaceProperties + description: Schema for Workspace properties. + namespace: '' + cli: + cliKey: WorkspaceProperties + protocol: {} + serializedName: properties + extensions: + x-ms-client-flatten: true + language: + default: + name: properties + description: Detailed properties for Workspace + cli: + cliKey: properties + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: Workspace + description: Represents a Workspace definition. + namespace: '' + cli: + cliKey: Workspace + protocol: {} + - &ref_35 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_9 + - *ref_10 + immediate: + - *ref_9 + properties: + - schema: &ref_103 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_14 + required: false + serializedName: description + language: + default: + name: description + description: Description of ApplicationGroup. + cli: + cliKey: description + protocol: {} + - schema: *ref_15 + required: false + serializedName: friendlyName + language: + default: + name: friendlyName + description: Friendly name of ApplicationGroup. + cli: + cliKey: friendlyName + protocol: {} + - schema: *ref_16 + required: true + serializedName: hostPoolArmPath + language: + default: + name: hostPoolArmPath + description: HostPool arm path of ApplicationGroup. + cli: + cliKey: hostPoolArmPath + protocol: {} + - schema: *ref_17 + readOnly: true + required: false + serializedName: workspaceArmPath + language: + default: + name: workspaceArmPath + description: Workspace arm path of ApplicationGroup. + cli: + cliKey: workspaceArmPath + protocol: {} + - schema: *ref_18 + required: true + serializedName: applicationGroupType + language: + default: + name: applicationGroupType + description: Resource Type of ApplicationGroup. + cli: + cliKey: applicationGroupType + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: ApplicationGroupProperties + description: Schema for ApplicationGroup properties. + namespace: '' + cli: + cliKey: ApplicationGroupProperties + protocol: {} + required: true + serializedName: properties + extensions: + x-ms-client-flatten: true + x-nullable: false + language: + default: + name: properties + description: Detailed properties for ApplicationGroup + cli: + cliKey: properties + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: ApplicationGroup + description: Represents a ApplicationGroup definition. + namespace: '' + cli: + cliKey: ApplicationGroup + protocol: {} + - &ref_36 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_9 + - *ref_10 + immediate: + - *ref_9 + properties: + - schema: &ref_120 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_19 + required: false + serializedName: friendlyName + language: + default: + name: friendlyName + description: Friendly name of HostPool. + cli: + cliKey: friendlyName + protocol: {} + - schema: *ref_20 + required: false + serializedName: description + language: + default: + name: description + description: Description of HostPool. + cli: + cliKey: description + protocol: {} + - schema: *ref_21 + required: true + serializedName: hostPoolType + language: + default: + name: hostPoolType + description: HostPool type for desktop. + cli: + cliKey: hostPoolType + protocol: {} + - schema: *ref_22 + required: true + serializedName: personalDesktopAssignmentType + language: + default: + name: personalDesktopAssignmentType + description: PersonalDesktopAssignment type for HostPool. + cli: + cliKey: personalDesktopAssignmentType + protocol: {} + - schema: *ref_23 + required: false + serializedName: customRdpProperty + language: + default: + name: customRdpProperty + description: Custom rdp property of HostPool. + cli: + cliKey: customRdpProperty + protocol: {} + - schema: *ref_24 + required: false + serializedName: maxSessionLimit + language: + default: + name: maxSessionLimit + description: The max session limit of HostPool. + cli: + cliKey: maxSessionLimit + protocol: {} + - schema: *ref_25 + required: true + serializedName: loadBalancerType + language: + default: + name: loadBalancerType + description: The type of the load balancer. + cli: + cliKey: loadBalancerType + protocol: {} + - schema: *ref_26 + required: false + serializedName: ring + language: + default: + name: ring + description: The ring number of HostPool. + cli: + cliKey: ring + protocol: {} + - schema: *ref_27 + required: false + serializedName: validationEnvironment + language: + default: + name: validationEnvironment + description: Is validation environment. + cli: + cliKey: validationEnvironment + protocol: {} + - schema: &ref_121 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_28 + serializedName: expirationTime + language: + default: + name: expirationTime + description: Expiration time of registration token. + cli: + cliKey: expirationTime + protocol: {} + - schema: *ref_29 + serializedName: token + language: + default: + name: token + description: The registration token base64 encoded string. + cli: + cliKey: token + protocol: {} + - schema: *ref_30 + serializedName: registrationTokenOperation + language: + default: + name: registrationTokenOperation + description: The type of resetting the token. + cli: + cliKey: registrationTokenOperation + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: RegistrationInfo + description: Represents a RegistrationInfo definition. + namespace: '' + cli: + cliKey: RegistrationInfo + protocol: {} + required: false + serializedName: registrationInfo + language: + default: + name: registrationInfo + description: The registration info of HostPool. + cli: + cliKey: registrationInfo + protocol: {} + - schema: *ref_31 + required: false + serializedName: vmTemplate + language: + default: + name: vmTemplate + description: VM template for sessionhosts configuration within hostpool. + cli: + cliKey: vmTemplate + protocol: {} + - schema: &ref_140 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_32 + language: + default: + name: HostPoolProperties-applicationGroupReferences + description: List of applicationGroup links. + protocol: {} + readOnly: true + required: false + serializedName: applicationGroupReferences + language: + default: + name: applicationGroupReferences + description: List of applicationGroup links. + cli: + cliKey: applicationGroupReferences + protocol: {} + - schema: *ref_33 + required: false + serializedName: ssoContext + language: + default: + name: ssoContext + description: Path to keyvault containing ssoContext secret. + cli: + cliKey: ssoContext + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: HostPoolProperties + description: Properties of HostPool. + namespace: '' + cli: + cliKey: HostPoolProperties + protocol: {} + required: true + serializedName: properties + extensions: + x-ms-client-flatten: true + x-nullable: false + language: + default: + name: properties + description: Detailed properties for HostPool + cli: + cliKey: properties + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: HostPool + description: Represents a HostPool definition. + namespace: '' + cli: + cliKey: HostPool + protocol: {} + immediate: + - *ref_34 + - *ref_35 + - *ref_36 + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - schema: *ref_37 + required: false + serializedName: tags + language: + default: + name: tags + description: Resource tags. + cli: + cliKey: tags + protocol: {} + - schema: *ref_38 + required: true + serializedName: location + language: + default: + name: location + description: The geo-location where the resource lives + cli: + cliKey: location + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: TrackedResource + description: The resource model definition for a ARM tracked top level resource + namespace: '' + cli: + cliKey: TrackedResource + protocol: {} + - *ref_34 + - *ref_35 + - &ref_83 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - schema: *ref_39 + serializedName: tags + language: + default: + name: tags + description: tags to be updated + cli: + cliKey: tags + protocol: {} + - schema: &ref_104 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_40 + serializedName: description + language: + default: + name: description + description: Description of ApplicationGroup. + cli: + cliKey: description + protocol: {} + - schema: *ref_41 + serializedName: friendlyName + language: + default: + name: friendlyName + description: Friendly name of ApplicationGroup. + cli: + cliKey: friendlyName + protocol: {} + serializationFormats: + - json + usage: + - input + - output + language: + default: + name: ApplicationGroupPatchProperties + description: ApplicationGroup properties that can be patched. + namespace: '' + cli: + cliKey: ApplicationGroupPatchProperties + protocol: {} + serializedName: properties + extensions: + x-ms-client-flatten: true + language: + default: + name: properties + description: ApplicationGroup properties that can be patched. + cli: + cliKey: properties + protocol: {} + serializationFormats: + - json + usage: + - input + - output + language: + default: + name: ApplicationGroupPatch + description: ApplicationGroup properties that can be patched. + namespace: '' + cli: + cliKey: ApplicationGroupPatch + protocol: {} + - &ref_84 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - schema: &ref_106 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_42 + serializedName: appAlias + language: + default: + name: appAlias + description: Alias of StartMenuItem. + cli: + cliKey: appAlias + protocol: {} + - schema: *ref_43 + serializedName: friendlyName + language: + default: + name: friendlyName + description: Friendly name of StartMenuItem. + cli: + cliKey: friendlyName + protocol: {} + - schema: *ref_44 + serializedName: filePath + language: + default: + name: filePath + description: Path to the file of StartMenuItem. + cli: + cliKey: filePath + protocol: {} + - schema: *ref_45 + serializedName: commandLineArguments + language: + default: + name: commandLineArguments + description: Command line arguments for StartMenuItem. + cli: + cliKey: commandLineArguments + protocol: {} + - schema: *ref_46 + serializedName: iconPath + language: + default: + name: iconPath + description: Path to the icon. + cli: + cliKey: iconPath + protocol: {} + - schema: *ref_47 + serializedName: iconIndex + language: + default: + name: iconIndex + description: Index of the icon. + cli: + cliKey: iconIndex + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: StartMenuItemProperties + description: Schema for StartMenuItem properties. + namespace: '' + cli: + cliKey: StartMenuItemProperties + protocol: {} + serializedName: properties + extensions: + x-ms-client-flatten: true + language: + default: + name: properties + description: Detailed properties for StartMenuItem + cli: + cliKey: properties + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: StartMenuItem + description: Represents a StartMenuItem definition. + namespace: '' + cli: + cliKey: StartMenuItem + protocol: {} + - &ref_85 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - schema: &ref_107 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_48 + required: false + serializedName: description + language: + default: + name: description + description: Description of Application. + cli: + cliKey: description + protocol: {} + - schema: *ref_49 + required: false + serializedName: friendlyName + language: + default: + name: friendlyName + description: Friendly name of Application. + cli: + cliKey: friendlyName + protocol: {} + - schema: *ref_50 + required: false + serializedName: filePath + language: + default: + name: filePath + description: Specifies a path for the executable file for the application. + cli: + cliKey: filePath + protocol: {} + - schema: *ref_51 + required: true + serializedName: commandLineSetting + language: + default: + name: commandLineSetting + description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' + cli: + cliKey: commandLineSetting + protocol: {} + - schema: *ref_52 + required: false + serializedName: commandLineArguments + language: + default: + name: commandLineArguments + description: Command Line Arguments for Application. + cli: + cliKey: commandLineArguments + protocol: {} + - schema: *ref_53 + required: false + serializedName: showInPortal + language: + default: + name: showInPortal + description: Specifies whether to show the RemoteApp program in the RD Web Access server. + cli: + cliKey: showInPortal + protocol: {} + - schema: *ref_54 + required: false + serializedName: iconPath + language: + default: + name: iconPath + description: Path to icon. + cli: + cliKey: iconPath + protocol: {} + - schema: *ref_47 + required: false + serializedName: iconIndex + language: + default: + name: iconIndex + description: Index of the icon. + cli: + cliKey: iconIndex + protocol: {} + - schema: *ref_55 + readOnly: true + required: false + serializedName: iconHash + language: + default: + name: iconHash + description: Hash of the icon. + cli: + cliKey: iconHash + protocol: {} + - schema: *ref_56 + readOnly: true + required: false + serializedName: iconContent + language: + default: + name: iconContent + description: the icon a 64 bit string as a byte array. + cli: + cliKey: iconContent + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: ApplicationProperties + description: Schema for Application properties. + namespace: '' + cli: + cliKey: ApplicationProperties + protocol: {} + required: true + serializedName: properties + extensions: + x-ms-client-flatten: true + x-nullable: false + language: + default: + name: properties + description: Detailed properties for Application + cli: + cliKey: properties + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: Application + description: Schema for Application properties. + namespace: '' + cli: + cliKey: Application + protocol: {} + - &ref_86 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - schema: &ref_115 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_57 + serializedName: description + language: + default: + name: description + description: Description of Desktop. + cli: + cliKey: description + protocol: {} + - schema: *ref_58 + serializedName: friendlyName + language: + default: + name: friendlyName + description: Friendly name of Desktop. + cli: + cliKey: friendlyName + protocol: {} + - schema: *ref_59 + readOnly: true + serializedName: iconHash + language: + default: + name: iconHash + description: Hash of the icon. + cli: + cliKey: iconHash + protocol: {} + - schema: *ref_60 + readOnly: true + serializedName: iconContent + language: + default: + name: iconContent + description: The icon a 64 bit string as a byte array. + cli: + cliKey: iconContent + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: DesktopProperties + description: Schema for Desktop properties. + namespace: '' + cli: + cliKey: DesktopProperties + protocol: {} + serializedName: properties + extensions: + x-ms-client-flatten: true + language: + default: + name: properties + description: Detailed properties for Desktop + cli: + cliKey: properties + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: Desktop + description: Schema for Desktop properties. + namespace: '' + cli: + cliKey: Desktop + protocol: {} + - *ref_36 + - &ref_87 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - schema: *ref_39 + serializedName: tags + language: + default: + name: tags + description: tags to be updated + cli: + cliKey: tags + protocol: {} + - schema: &ref_122 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_61 + serializedName: friendlyName + language: + default: + name: friendlyName + description: Friendly name of HostPool. + cli: + cliKey: friendlyName + protocol: {} + - schema: *ref_62 + serializedName: description + language: + default: + name: description + description: Description of HostPool. + cli: + cliKey: description + protocol: {} + - schema: *ref_63 + serializedName: customRdpProperty + language: + default: + name: customRdpProperty + description: Custom rdp property of HostPool. + cli: + cliKey: customRdpProperty + protocol: {} + - schema: *ref_24 + serializedName: maxSessionLimit + language: + default: + name: maxSessionLimit + description: The max session limit of HostPool. + cli: + cliKey: maxSessionLimit + protocol: {} + - schema: *ref_22 + serializedName: personalDesktopAssignmentType + language: + default: + name: personalDesktopAssignmentType + description: PersonalDesktopAssignment type for HostPool. + cli: + cliKey: personalDesktopAssignmentType + protocol: {} + - schema: *ref_25 + serializedName: loadBalancerType + language: + default: + name: loadBalancerType + description: The type of the load balancer. + cli: + cliKey: loadBalancerType + protocol: {} + - schema: *ref_26 + serializedName: ring + language: + default: + name: ring + description: The ring number of HostPool. + cli: + cliKey: ring + protocol: {} + - schema: *ref_27 + serializedName: validationEnvironment + language: + default: + name: validationEnvironment + description: Is validation environment. + cli: + cliKey: validationEnvironment + protocol: {} + - schema: &ref_123 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_30 + serializedName: registrationTokenOperation + language: + default: + name: registrationTokenOperation + description: The type of resetting the token. + cli: + cliKey: registrationTokenOperation + protocol: {} + serializationFormats: + - json + usage: + - input + - output + language: + default: + name: RegistrationInfoPatch + description: Represents a RegistrationInfo definition. + namespace: '' + cli: + cliKey: RegistrationInfoPatch + protocol: {} + serializedName: registrationInfo + language: + default: + name: registrationInfo + description: The registration info of HostPool. + cli: + cliKey: registrationInfo + protocol: {} + - schema: *ref_64 + serializedName: ssoContext + language: + default: + name: ssoContext + description: Path to keyvault containing ssoContext secret. + cli: + cliKey: ssoContext + protocol: {} + serializationFormats: + - json + usage: + - input + - output + language: + default: + name: HostPoolPatchProperties + description: Properties of HostPool. + namespace: '' + cli: + cliKey: HostPoolPatchProperties + protocol: {} + serializedName: properties + extensions: + x-ms-client-flatten: true + language: + default: + name: properties + description: HostPool properties that can be patched. + cli: + cliKey: properties + protocol: {} + serializationFormats: + - json + usage: + - input + - output + language: + default: + name: HostPoolPatch + description: HostPool properties that can be patched. + namespace: '' + cli: + cliKey: HostPoolPatch + protocol: {} + - &ref_88 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - schema: &ref_126 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_65 + serializedName: userPrincipalName + language: + default: + name: userPrincipalName + description: The user principal name. + cli: + cliKey: userPrincipalName + protocol: {} + - schema: *ref_66 + serializedName: applicationType + language: + default: + name: applicationType + description: Application type of application. + cli: + cliKey: applicationType + protocol: {} + - schema: *ref_67 + serializedName: sessionState + language: + default: + name: sessionState + description: State of user session. + cli: + cliKey: sessionState + protocol: {} + - schema: *ref_68 + serializedName: activeDirectoryUserName + language: + default: + name: activeDirectoryUserName + description: The active directory user name. + cli: + cliKey: activeDirectoryUserName + protocol: {} + - schema: *ref_69 + serializedName: createTime + language: + default: + name: createTime + description: The timestamp of the user session create. + cli: + cliKey: createTime + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: UserSessionProperties + description: Schema for UserSession properties. + namespace: '' + cli: + cliKey: UserSessionProperties + protocol: {} + serializedName: properties + extensions: + x-ms-client-flatten: true + language: + default: + name: properties + description: Detailed properties for UserSession + cli: + cliKey: properties + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: UserSession + description: Represents a UserSession definition. + namespace: '' + cli: + cliKey: UserSession + protocol: {} + - &ref_89 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - schema: &ref_127 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_70 + serializedName: lastHeartBeat + language: + default: + name: lastHeartBeat + description: Last heart beat from SessionHost. + cli: + cliKey: lastHeartBeat + protocol: {} + - schema: *ref_71 + serializedName: sessions + language: + default: + name: sessions + description: Number of sessions on SessionHost. + cli: + cliKey: sessions + protocol: {} + - schema: *ref_72 + serializedName: agentVersion + language: + default: + name: agentVersion + description: Version of agent on SessionHost. + cli: + cliKey: agentVersion + protocol: {} + - schema: *ref_73 + serializedName: allowNewSession + language: + default: + name: allowNewSession + description: Allow a new session. + cli: + cliKey: allowNewSession + protocol: {} + - schema: *ref_74 + serializedName: assignedUser + language: + default: + name: assignedUser + description: User assigned to SessionHost. + cli: + cliKey: assignedUser + protocol: {} + - schema: *ref_75 + serializedName: status + language: + default: + name: status + description: Status for a SessionHost. + cli: + cliKey: status + protocol: {} + - schema: *ref_76 + readOnly: true + serializedName: statusTimestamp + language: + default: + name: statusTimestamp + description: The timestamp of the status. + cli: + cliKey: statusTimestamp + protocol: {} + - schema: *ref_77 + serializedName: osVersion + language: + default: + name: osVersion + description: The version of the OS on the session host. + cli: + cliKey: osVersion + protocol: {} + - schema: *ref_78 + serializedName: sxSStackVersion + language: + default: + name: sxSStackVersion + description: The version of the side by side stack on the session host. + cli: + cliKey: sxSStackVersion + protocol: {} + - schema: *ref_79 + serializedName: updateState + language: + default: + name: updateState + description: Update state of a SessionHost. + cli: + cliKey: updateState + protocol: {} + - schema: *ref_80 + readOnly: true + serializedName: lastUpdateTime + language: + default: + name: lastUpdateTime + description: The timestamp of the last update. + cli: + cliKey: lastUpdateTime + protocol: {} + - schema: *ref_81 + serializedName: updateErrorMessage + language: + default: + name: updateErrorMessage + description: The error message. + cli: + cliKey: updateErrorMessage + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: SessionHostProperties + description: Schema for SessionHost properties. + namespace: '' + cli: + cliKey: SessionHostProperties + protocol: {} + serializedName: properties + extensions: + x-ms-client-flatten: true + language: + default: + name: properties + description: Detailed properties for SessionHost + cli: + cliKey: properties + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: SessionHost + description: Represents a SessionHost definition. + namespace: '' + cli: + cliKey: SessionHost + protocol: {} + - &ref_90 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - schema: &ref_128 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_73 + serializedName: allowNewSession + language: + default: + name: allowNewSession + description: Allow a new session. + cli: + cliKey: allowNewSession + protocol: {} + - schema: *ref_82 + serializedName: assignedUser + language: + default: + name: assignedUser + description: User assigned to SessionHost. + cli: + cliKey: assignedUser + protocol: {} + serializationFormats: + - json + usage: + - input + - output + language: + default: + name: SessionHostPatchProperties + description: SessionHost properties that can be patched. + namespace: '' + cli: + cliKey: SessionHostPatchProperties + protocol: {} + serializedName: properties + extensions: + x-ms-client-flatten: true + language: + default: + name: properties + description: Detailed properties for SessionHost + cli: + cliKey: properties + protocol: {} + serializationFormats: + - json + usage: + - input + - output + language: + default: + name: SessionHostPatch + description: SessionHost properties that can be patched. + namespace: '' + cli: + cliKey: SessionHostPatch + protocol: {} + immediate: + - *ref_9 + - *ref_83 + - *ref_84 + - *ref_85 + - *ref_86 + - *ref_87 + - *ref_88 + - *ref_89 + - *ref_90 + properties: + - schema: *ref_91 + readOnly: true + serializedName: id + language: + default: + name: id + description: 'Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' + cli: + cliKey: id + protocol: {} + - schema: *ref_92 + readOnly: true + serializedName: name + language: + default: + name: name + description: The name of the resource + cli: + cliKey: name + protocol: {} + - schema: *ref_93 + readOnly: true + serializedName: type + language: + default: + name: type + description: The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + cli: + cliKey: type + protocol: {} + serializationFormats: + - json + usage: + - output + - input + extensions: + x-ms-azure-resource: true + language: + default: + name: Resource + description: '' + namespace: '' + cli: + cliKey: Resource + protocol: {} + - *ref_9 + - *ref_34 + - *ref_94 + - &ref_154 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_95 + serializedName: code + language: + default: + name: code + description: Error code + cli: + cliKey: code + protocol: {} + - schema: *ref_96 + serializedName: message + language: + default: + name: message + description: Error message indicating why the operation failed. + cli: + cliKey: message + protocol: {} + serializationFormats: + - json + usage: + - output + language: + default: + name: CloudError + description: Error response of an operation failure + namespace: '' + cli: + cliKey: CloudError + protocol: {} + - &ref_161 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_39 + serializedName: tags + language: + default: + name: tags + description: tags to be updated + cli: + cliKey: tags + protocol: {} + - schema: &ref_100 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_97 + serializedName: description + language: + default: + name: description + description: Description of Workspace. + cli: + cliKey: description + protocol: {} + - schema: *ref_98 + serializedName: friendlyName + language: + default: + name: friendlyName + description: Friendly name of Workspace. + cli: + cliKey: friendlyName + protocol: {} + - schema: &ref_134 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_99 + language: + default: + name: WorkspacePatchProperties-applicationGroupReferences + description: List of applicationGroup links. + protocol: {} + serializedName: applicationGroupReferences + language: + default: + name: applicationGroupReferences + description: List of applicationGroup links. + cli: + cliKey: applicationGroupReferences + protocol: {} + serializationFormats: + - json + usage: + - input + language: + default: + name: WorkspacePatchProperties + description: Workspace properties that can be patched. + namespace: '' + cli: + cliKey: WorkspacePatchProperties + protocol: {} + serializedName: properties + extensions: + x-ms-client-flatten: true + language: + default: + name: properties + description: Detailed properties for Workspace + cli: + cliKey: properties + protocol: {} + serializationFormats: + - json + usage: + - input + language: + default: + name: WorkspacePatch + description: Workspace properties that can be patched. + namespace: '' + cli: + cliKey: WorkspacePatch + protocol: {} + - *ref_100 + - &ref_166 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_135 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_34 + language: + default: + name: WorkspaceList-value + description: List of Workspace definitions. + protocol: {} + serializedName: value + language: + default: + name: value + description: List of Workspace definitions. + cli: + cliKey: value + protocol: {} + - schema: *ref_101 + readOnly: true + serializedName: nextLink + language: + default: + name: nextLink + description: Link to the next page of results. + cli: + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: WorkspaceList + usage: + - output + language: + default: + name: WorkspaceList + description: List of Workspace definitions. + namespace: '' + summary: WorkspaceList + cli: + cliKey: WorkspaceList + protocol: {} + - &ref_171 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_136 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_35 + language: + default: + name: ApplicationGroupList-value + description: List of ApplicationGroup definitions. + protocol: {} + serializedName: value + language: + default: + name: value + description: List of ApplicationGroup definitions. + cli: + cliKey: value + protocol: {} + - schema: *ref_102 + readOnly: true + serializedName: nextLink + language: + default: + name: nextLink + description: Link to the next page of results. + cli: + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: ApplicationGroupList + usage: + - output + language: + default: + name: ApplicationGroupList + description: List of ApplicationGroup definitions. + namespace: '' + summary: ApplicationGroupList + cli: + cliKey: ApplicationGroupList + protocol: {} + - *ref_35 + - *ref_103 + - *ref_83 + - *ref_104 + - &ref_187 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_137 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_84 + language: + default: + name: StartMenuItemList-value + description: List of StartMenuItem definitions. + protocol: {} + serializedName: value + language: + default: + name: value + description: List of StartMenuItem definitions. + cli: + cliKey: value + protocol: {} + - schema: *ref_105 + readOnly: true + serializedName: nextLink + language: + default: + name: nextLink + description: Link to the next page of results. + cli: + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: StartMenuItemList + usage: + - output + language: + default: + name: StartMenuItemList + description: List of StartMenuItem definitions. + namespace: '' + summary: StartMenuItemList + cli: + cliKey: StartMenuItemList + protocol: {} + - *ref_84 + - *ref_106 + - *ref_85 + - *ref_107 + - &ref_198 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_39 + serializedName: tags + language: + default: + name: tags + description: tags to be updated + cli: + cliKey: tags + protocol: {} + - schema: &ref_113 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_108 + serializedName: description + language: + default: + name: description + description: Description of Application. + cli: + cliKey: description + protocol: {} + - schema: *ref_109 + serializedName: friendlyName + language: + default: + name: friendlyName + description: Friendly name of Application. + cli: + cliKey: friendlyName + protocol: {} + - schema: *ref_110 + serializedName: filePath + language: + default: + name: filePath + description: Specifies a path for the executable file for the application. + cli: + cliKey: filePath + protocol: {} + - schema: *ref_51 + serializedName: commandLineSetting + language: + default: + name: commandLineSetting + description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' + cli: + cliKey: commandLineSetting + protocol: {} + - schema: *ref_111 + serializedName: commandLineArguments + language: + default: + name: commandLineArguments + description: Command Line Arguments for Application. + cli: + cliKey: commandLineArguments + protocol: {} + - schema: *ref_53 + serializedName: showInPortal + language: + default: + name: showInPortal + description: Specifies whether to show the RemoteApp program in the RD Web Access server. + cli: + cliKey: showInPortal + protocol: {} + - schema: *ref_112 + serializedName: iconPath + language: + default: + name: iconPath + description: Path to icon. + cli: + cliKey: iconPath + protocol: {} + - schema: *ref_47 + serializedName: iconIndex + language: + default: + name: iconIndex + description: Index of the icon. + cli: + cliKey: iconIndex + protocol: {} + serializationFormats: + - json + usage: + - input + language: + default: + name: ApplicationPatchProperties + description: Application properties that can be patched. + namespace: '' + cli: + cliKey: ApplicationPatchProperties + protocol: {} + serializedName: properties + extensions: + x-ms-client-flatten: true + language: + default: + name: properties + description: Detailed properties for Application + cli: + cliKey: properties + protocol: {} + serializationFormats: + - json + usage: + - input + language: + default: + name: ApplicationPatch + description: Application properties that can be patched. + namespace: '' + cli: + cliKey: ApplicationPatch + protocol: {} + - *ref_113 + - &ref_205 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_138 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_85 + language: + default: + name: ApplicationList-value + description: List of Application definitions. + protocol: {} + serializedName: value + language: + default: + name: value + description: List of Application definitions. + cli: + cliKey: value + protocol: {} + - schema: *ref_114 + readOnly: true + serializedName: nextLink + language: + default: + name: nextLink + description: Link to the next page of results. + cli: + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: ApplicationList + usage: + - output + language: + default: + name: ApplicationList + description: List of Application definitions. + namespace: '' + summary: ApplicationList + cli: + cliKey: ApplicationList + protocol: {} + - *ref_86 + - *ref_115 + - &ref_209 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_39 + serializedName: tags + language: + default: + name: tags + description: tags to be updated + cli: + cliKey: tags + protocol: {} + - schema: &ref_118 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_116 + serializedName: description + language: + default: + name: description + description: Description of Desktop. + cli: + cliKey: description + protocol: {} + - schema: *ref_117 + serializedName: friendlyName + language: + default: + name: friendlyName + description: Friendly name of Desktop. + cli: + cliKey: friendlyName + protocol: {} + serializationFormats: + - json + usage: + - input + language: + default: + name: DesktopPatchProperties + description: Desktop properties that can be patched. + namespace: '' + cli: + cliKey: DesktopPatchProperties + protocol: {} + serializedName: properties + extensions: + x-ms-client-flatten: true + language: + default: + name: properties + description: Detailed properties for Desktop + cli: + cliKey: properties + protocol: {} + serializationFormats: + - json + usage: + - input + language: + default: + name: DesktopPatch + description: Desktop properties that can be patched. + namespace: '' + cli: + cliKey: DesktopPatch + protocol: {} + - *ref_118 + - &ref_216 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_139 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_86 + language: + default: + name: DesktopList-value + description: List of Desktop definitions. + protocol: {} + serializedName: value + language: + default: + name: value + description: List of Desktop definitions. + cli: + cliKey: value + protocol: {} + - schema: *ref_119 + readOnly: true + serializedName: nextLink + language: + default: + name: nextLink + description: Link to the next page of results. + cli: + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: DesktopList + usage: + - output + language: + default: + name: DesktopList + description: List of Desktop definitions. + namespace: '' + summary: DesktopList + cli: + cliKey: DesktopList + protocol: {} + - *ref_36 + - *ref_120 + - *ref_121 + - *ref_87 + - *ref_122 + - *ref_123 + - &ref_230 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_141 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_36 + language: + default: + name: HostPoolList-value + description: List of HostPool definitions. + protocol: {} + serializedName: value + language: + default: + name: value + description: List of HostPool definitions. + cli: + cliKey: value + protocol: {} + - schema: *ref_124 + readOnly: true + serializedName: nextLink + language: + default: + name: nextLink + description: Link to the next page of results. + cli: + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: HostPoolList + usage: + - output + language: + default: + name: HostPoolList + description: List of HostPool definitions. + namespace: '' + summary: HostPoolList + cli: + cliKey: HostPoolList + protocol: {} + - &ref_234 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_142 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_88 + language: + default: + name: UserSessionList-value + description: List of UserSession definitions. + protocol: {} + serializedName: value + language: + default: + name: value + description: List of UserSession definitions. + cli: + cliKey: value + protocol: {} + - schema: *ref_125 + readOnly: true + serializedName: nextLink + language: + default: + name: nextLink + description: Link to the next page of results. + cli: + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: UserSessionList + usage: + - output + language: + default: + name: UserSessionList + description: List of UserSession definitions. + namespace: '' + summary: UserSessionList + cli: + cliKey: UserSessionList + protocol: {} + - *ref_88 + - *ref_126 + - *ref_89 + - *ref_127 + - *ref_90 + - *ref_128 + - &ref_272 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_143 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_89 + language: + default: + name: SessionHostList-value + description: List of SessionHost definitions. + protocol: {} + serializedName: value + language: + default: + name: value + description: List of SessionHost definitions. + cli: + cliKey: value + protocol: {} + - schema: *ref_129 + readOnly: true + serializedName: nextLink + language: + default: + name: nextLink + description: Link to the next page of results. + cli: + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: SessionHostList + usage: + - output + language: + default: + name: SessionHostList + description: List of SessionHost definitions. + namespace: '' + summary: SessionHostList + cli: + cliKey: SessionHostList + protocol: {} + - &ref_253 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_130 + serializedName: messageTitle + language: + default: + name: messageTitle + description: Title of message. + cli: + cliKey: messageTitle + protocol: {} + - schema: *ref_131 + serializedName: messageBody + language: + default: + name: messageBody + description: Body of message. + cli: + cliKey: messageBody + protocol: {} + serializationFormats: + - json + usage: + - input + language: + default: + name: SendMessage + description: Represents message sent to a UserSession. + namespace: '' + cli: + cliKey: SendMessage + protocol: {} + arrays: + - *ref_132 + - *ref_133 + - *ref_134 + - *ref_135 + - *ref_136 + - *ref_137 + - *ref_138 + - *ref_139 + - *ref_140 + - *ref_141 + - *ref_142 + - *ref_143 +globalParameters: + - &ref_149 + schema: *ref_144 + implementation: Client + required: true + extensions: + x-ms-priority: 0 + language: + default: + name: subscriptionId + description: The ID of the target subscription. + serializedName: subscriptionId + cli: + cliKey: subscriptionId + protocol: + http: + in: path + - &ref_146 + schema: *ref_0 + clientDefaultValue: 'https://management.azure.com' + implementation: Client + origin: 'modelerfour:synthesized/host' + required: true + extensions: + x-ms-skip-url-encoding: true + language: + default: + name: $host + description: server parameter + serializedName: $host + cli: + cliKey: $host + protocol: + http: + in: uri + - &ref_147 + schema: *ref_145 + implementation: Client + origin: 'modelerfour:synthesized/api-version' + required: true + language: + default: + name: ApiVersion + description: Api Version + serializedName: api-version + cli: + cliKey: ApiVersion + protocol: + http: + in: query +operationGroups: + - $key: Operations + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: /providers/Microsoft.DesktopVirtualization/operations + method: get + uri: '{$host}' + signatureParameters: [] + responses: + - schema: *ref_148 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + extensions: + x-ms-examples: + OperationDescription_List: + parameters: + api-version: 2019-12-10-preview + responses: + '200': + body: + value: + - name: Microsoft.DesktopVirtualization/ssocontext/read + display: + provider: Microsoft.DesktopVirtualization + resource: ssocontext + - name: Microsoft.DesktopVirtualization/ssocontext/write + display: + provider: Microsoft.DesktopVirtualization + resource: ssocontext + language: + default: + name: List + description: List all of the available operations the Desktop Virtualization resource provider supports. + cli: + cliKey: List + protocol: {} + language: + default: + name: Operations + description: '' + cli: + cliKey: Operations + protocol: {} + - $key: Workspaces + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_152 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_153 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: workspaceName + description: The name of the workspace + serializedName: workspaceName + cli: + cliKey: workspaceName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_152 + - *ref_153 + responses: + - schema: *ref_34 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Workspace_Get: + parameters: + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + workspaceName: workspace1 + responses: + '200': + body: + name: workspace1 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + language: + default: + name: Get + description: Get a workspace. + cli: + cliKey: Get + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_157 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_158 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: workspaceName + description: The name of the workspace + serializedName: workspaceName + cli: + cliKey: workspaceName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_155 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content-type + description: Body Parameter content-type + serializedName: Content-Type + cli: + cliKey: content-type + protocol: + http: + in: header + - &ref_156 + schema: *ref_34 + implementation: Method + required: true + language: + default: + name: workspace + description: Object containing Workspace definitions. + cli: + cliKey: workspace + protocol: + http: + in: body + style: json + signatureParameters: + - *ref_156 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' + method: put + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_157 + - *ref_158 + responses: + - schema: *ref_34 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + - schema: *ref_34 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '201' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Workspace_Create: + parameters: + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + workspace: + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + tag1: value1 + tag2: value2 + workspaceName: workspace1 + responses: + '200': + body: + name: workspace1 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + '201': + body: + name: workspace1 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + language: + default: + name: CreateOrUpdate + description: Create or update a workspace. + cli: + cliKey: CreateOrUpdate + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_159 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_160 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: workspaceName + description: The name of the workspace + serializedName: workspaceName + cli: + cliKey: workspaceName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' + method: delete + uri: '{$host}' + signatureParameters: + - *ref_159 + - *ref_160 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '204' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Workspace_Delete: + parameters: + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + workspaceName: workspace1 + responses: + '200': + name: workspace1 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + '204': {} + language: + default: + name: Delete + description: Remove a workspace. + cli: + cliKey: Delete + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_163 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_164 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: workspaceName + description: The name of the workspace + serializedName: workspaceName + cli: + cliKey: workspaceName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_155 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content-type + description: Body Parameter content-type + serializedName: Content-Type + cli: + cliKey: content-type + protocol: + http: + in: header + - &ref_162 + schema: *ref_161 + implementation: Method + required: false + language: + default: + name: workspace + description: Object containing Workspace definitions. + cli: + cliKey: workspace + protocol: + http: + in: body + style: json + signatureParameters: + - *ref_162 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' + method: patch + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_163 + - *ref_164 + responses: + - schema: *ref_34 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Workspace_Update: + parameters: + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + workspace: + properties: + description: des1 + friendlyName: friendly + tags: + tag1: value1 + tag2: value2 + workspaceName: workspace1 + responses: + '200': + body: + name: workspace1 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + language: + default: + name: Update + description: Update a workspace. + cli: + cliKey: Update + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_165 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces' + method: get + uri: '{$host}' + signatureParameters: + - *ref_165 + responses: + - schema: *ref_166 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Workspace_ListByResourceGroup: + parameters: + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: workspace1 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + - name: workspace2 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace2 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: ListByResourceGroup + description: List workspaces. + paging: + nextLinkName: nextLink + cli: + cliKey: ListByResourceGroup + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/workspaces' + method: get + uri: '{$host}' + signatureParameters: [] + responses: + - schema: *ref_166 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Workspace_ListBySubscription: + parameters: + api-version: 2019-12-10-preview + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: workspace1 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + - name: workspace2 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace2 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: ListBySubscription + description: List workspaces in subscription. + paging: + nextLinkName: nextLink + cli: + cliKey: ListBySubscription + protocol: {} + language: + default: + name: Workspaces + description: '' + cli: + cliKey: Workspaces + protocol: {} + - $key: ApplicationGroupAssignments + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_168 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_169 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: workspaceName + description: The name of the workspace + serializedName: workspaceName + cli: + cliKey: workspaceName + protocol: + http: + in: path + - &ref_170 + schema: *ref_167 + implementation: Method + language: + default: + name: $filter + description: OData filter expression. Valid properties for filtering are applicationGroupType. + serializedName: $filter + cli: + cliKey: $filter + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}/userApplicationGroupAssignments' + method: get + uri: '{$host}' + signatureParameters: + - *ref_168 + - *ref_169 + - *ref_170 + responses: + - schema: *ref_171 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ApplicationGroupAssignment_WorkspaceLevelList: + parameters: + $filter: userPrincipalName eq 'user1@microsoft.com' + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + workspaceName: workspace1 + responses: + '200': + body: + value: + - name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + - name: applicationGroup2 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: WorkspaceLevelList + description: List application group that user can use. + paging: + nextLinkName: nextLink + cli: + cliKey: WorkspaceLevelList + protocol: {} + language: + default: + name: ApplicationGroupAssignments + description: '' + cli: + cliKey: ApplicationGroupAssignments + protocol: {} + - $key: ApplicationGroups + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_172 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_173 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationGroupName + description: The name of the application group + serializedName: applicationGroupName + cli: + cliKey: applicationGroupName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_172 + - *ref_173 + responses: + - schema: *ref_35 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ApplicationGroup_Get: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + language: + default: + name: Get + description: Get an application group. + cli: + cliKey: Get + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_175 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_176 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationGroupName + description: The name of the application group + serializedName: applicationGroupName + cli: + cliKey: applicationGroupName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_155 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content-type + description: Body Parameter content-type + serializedName: Content-Type + cli: + cliKey: content-type + protocol: + http: + in: header + - &ref_174 + schema: *ref_35 + implementation: Method + required: true + language: + default: + name: applicationGroup + description: Object containing ApplicationGroup definitions. + cli: + cliKey: applicationGroup + protocol: + http: + in: body + style: json + signatureParameters: + - *ref_174 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' + method: put + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_175 + - *ref_176 + responses: + - schema: *ref_35 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + - schema: *ref_35 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '201' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ApplicationGroup_Create: + parameters: + api-version: 2019-12-10-preview + applicationGroup: + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + tags: + tag1: value1 + tag2: value2 + applicationGroupName: applicationGroup1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + '201': + body: + name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + language: + default: + name: CreateOrUpdate + description: Create or update an applicationGroup. + cli: + cliKey: CreateOrUpdate + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_177 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_178 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationGroupName + description: The name of the application group + serializedName: applicationGroupName + cli: + cliKey: applicationGroupName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' + method: delete + uri: '{$host}' + signatureParameters: + - *ref_177 + - *ref_178 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '204' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ApplicationGroup_Delete: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + '204': {} + language: + default: + name: Delete + description: Remove an applicationGroup. + cli: + cliKey: Delete + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_180 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_181 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationGroupName + description: The name of the application group + serializedName: applicationGroupName + cli: + cliKey: applicationGroupName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_155 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content-type + description: Body Parameter content-type + serializedName: Content-Type + cli: + cliKey: content-type + protocol: + http: + in: header + - &ref_179 + schema: *ref_83 + implementation: Method + required: false + language: + default: + name: applicationGroup + description: Object containing ApplicationGroup definitions. + cli: + cliKey: applicationGroup + protocol: + http: + in: body + style: json + signatureParameters: + - *ref_179 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' + method: patch + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_180 + - *ref_181 + responses: + - schema: *ref_35 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ApplicationGroups_Update: + parameters: + api-version: 2019-12-10-preview + applicationGroup: + properties: + description: des1 + friendlyName: friendly + tags: + tag1: value1 + tag2: value2 + applicationGroupName: applicationGroup1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + language: + default: + name: Update + description: Update an applicationGroup. + cli: + cliKey: Update + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_182 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_183 + schema: *ref_167 + implementation: Method + language: + default: + name: $filter + description: OData filter expression. Valid properties for filtering are applicationGroupType. + serializedName: $filter + cli: + cliKey: $filter + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups' + method: get + uri: '{$host}' + signatureParameters: + - *ref_182 + - *ref_183 + responses: + - schema: *ref_171 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ApplicationGroup_ListByResourceGroup: + parameters: + $filter: applicationGroupType eq 'RailApplication' + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + - name: applicationGroup2 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: ListByResourceGroup + description: List applicationGroups. + paging: + nextLinkName: nextLink + cli: + cliKey: ListByResourceGroup + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_184 + schema: *ref_167 + implementation: Method + language: + default: + name: $filter + description: OData filter expression. Valid properties for filtering are applicationGroupType. + serializedName: $filter + cli: + cliKey: $filter + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/applicationGroups' + method: get + uri: '{$host}' + signatureParameters: + - *ref_184 + responses: + - schema: *ref_171 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ApplicationGroup_List: + parameters: + $filter: applicationGroupType eq 'RailApplication' + api-version: 2019-12-10-preview + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + - name: applicationGroup2 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: ListBySubscription + description: List applicationGroups in subscription. + paging: + nextLinkName: nextLink + cli: + cliKey: ListBySubscription + protocol: {} + language: + default: + name: ApplicationGroups + description: '' + cli: + cliKey: ApplicationGroups + protocol: {} + - $key: StartMenuItems + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_185 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_186 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationGroupName + description: The name of the application group + serializedName: applicationGroupName + cli: + cliKey: applicationGroupName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/startMenuItems' + method: get + uri: '{$host}' + signatureParameters: + - *ref_185 + - *ref_186 + responses: + - schema: *ref_187 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + StartMenuItem_List: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: application1 + type: Microsoft.DesktopVirtualization/applicationGroups/startMenuItems + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/startMenuItem/application1 + properties: + appAlias: word + commandLineArguments: arguments + filePath: /path/to/file + friendlyName: friendly + iconIndex: 1 + iconPath: /path/to/icon + - name: application2 + type: Microsoft.DesktopVirtualization/applicationGroups/startMenuItems + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/startMenuItem/application2 + properties: + appAlias: excel + commandLineArguments: arguments + filePath: /path/to/file + friendlyName: friendly + iconIndex: 1 + iconPath: /path/to/icon + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: List + description: List start menu items in the given application group. + paging: + nextLinkName: nextLink + cli: + cliKey: List + protocol: {} + language: + default: + name: StartMenuItems + description: '' + cli: + cliKey: StartMenuItems + protocol: {} + - $key: Applications + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_188 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_189 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationGroupName + description: The name of the application group + serializedName: applicationGroupName + cli: + cliKey: applicationGroupName + protocol: + http: + in: path + - &ref_190 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationName + description: The name of the application within the specified application group + serializedName: applicationName + cli: + cliKey: applicationName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_188 + - *ref_189 + - *ref_190 + responses: + - schema: *ref_85 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Application_Get: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + applicationName: application1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1/application1 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + language: + default: + name: Get + description: Get an application. + cli: + cliKey: Get + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_192 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_193 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationGroupName + description: The name of the application group + serializedName: applicationGroupName + cli: + cliKey: applicationGroupName + protocol: + http: + in: path + - &ref_194 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationName + description: The name of the application within the specified application group + serializedName: applicationName + cli: + cliKey: applicationName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_155 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content-type + description: Body Parameter content-type + serializedName: Content-Type + cli: + cliKey: content-type + protocol: + http: + in: header + - &ref_191 + schema: *ref_85 + implementation: Method + required: true + language: + default: + name: application + description: Object containing Application definitions. + cli: + cliKey: application + protocol: + http: + in: body + style: json + signatureParameters: + - *ref_191 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' + method: put + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_192 + - *ref_193 + - *ref_194 + responses: + - schema: *ref_85 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + - schema: *ref_85 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '201' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Application_Create: + parameters: + api-version: 2019-12-10-preview + application: + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconIndex: 1 + iconPath: icon + showInPortal: true + applicationGroupName: applicationGroup1 + applicationName: application1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1/application1 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + '201': + body: + name: applicationGroup1/application1 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + language: + default: + name: CreateOrUpdate + description: Create or update an application. + cli: + cliKey: CreateOrUpdate + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_195 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_196 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationGroupName + description: The name of the application group + serializedName: applicationGroupName + cli: + cliKey: applicationGroupName + protocol: + http: + in: path + - &ref_197 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationName + description: The name of the application within the specified application group + serializedName: applicationName + cli: + cliKey: applicationName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' + method: delete + uri: '{$host}' + signatureParameters: + - *ref_195 + - *ref_196 + - *ref_197 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '204' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Application_Delete: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + applicationName: application1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + name: applicationGroup1/application1 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + '204': {} + language: + default: + name: Delete + description: Remove an application. + cli: + cliKey: Delete + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_200 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_201 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationGroupName + description: The name of the application group + serializedName: applicationGroupName + cli: + cliKey: applicationGroupName + protocol: + http: + in: path + - &ref_202 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationName + description: The name of the application within the specified application group + serializedName: applicationName + cli: + cliKey: applicationName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_155 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content-type + description: Body Parameter content-type + serializedName: Content-Type + cli: + cliKey: content-type + protocol: + http: + in: header + - &ref_199 + schema: *ref_198 + implementation: Method + required: false + language: + default: + name: application + description: Object containing Application definitions. + cli: + cliKey: application + protocol: + http: + in: body + style: json + signatureParameters: + - *ref_199 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' + method: patch + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_200 + - *ref_201 + - *ref_202 + responses: + - schema: *ref_85 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Application_Update: + parameters: + api-version: 2019-12-10-preview + application: + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconIndex: 1 + iconPath: icon + showInPortal: true + applicationGroupName: applicationGroup1 + applicationName: application1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1/application1 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + language: + default: + name: Update + description: Update an application. + cli: + cliKey: Update + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_203 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_204 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationGroupName + description: The name of the application group + serializedName: applicationGroupName + cli: + cliKey: applicationGroupName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications' + method: get + uri: '{$host}' + signatureParameters: + - *ref_203 + - *ref_204 + responses: + - schema: *ref_205 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Applications_List: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: applicationGroup1/application1 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + - name: applicationGroup1/application2 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application2 + properties: + description: des2 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: List + description: List applications. + paging: + nextLinkName: nextLink + cli: + cliKey: List + protocol: {} + language: + default: + name: Applications + description: '' + cli: + cliKey: Applications + protocol: {} + - $key: Desktops + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_206 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_207 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationGroupName + description: The name of the application group + serializedName: applicationGroupName + cli: + cliKey: applicationGroupName + protocol: + http: + in: path + - &ref_208 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: desktopName + description: The name of the desktop within the specified desktop group + serializedName: desktopName + cli: + cliKey: desktopName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops/{desktopName}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_206 + - *ref_207 + - *ref_208 + responses: + - schema: *ref_86 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Desktop_Get: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + desktopName: SessionDesktop + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1/SessionDesktop + type: Microsoft.DesktopVirtualization/applicationGroups/desktops + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/SessionDesktop + properties: + description: des1 + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + language: + default: + name: Get + description: Get a desktop. + cli: + cliKey: Get + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_211 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_212 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationGroupName + description: The name of the application group + serializedName: applicationGroupName + cli: + cliKey: applicationGroupName + protocol: + http: + in: path + - &ref_213 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: desktopName + description: The name of the desktop within the specified desktop group + serializedName: desktopName + cli: + cliKey: desktopName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_155 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content-type + description: Body Parameter content-type + serializedName: Content-Type + cli: + cliKey: content-type + protocol: + http: + in: header + - &ref_210 + schema: *ref_209 + implementation: Method + required: false + language: + default: + name: desktop + description: Object containing Desktop definitions. + cli: + cliKey: desktop + protocol: + http: + in: body + style: json + signatureParameters: + - *ref_210 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops/{desktopName}' + method: patch + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_211 + - *ref_212 + - *ref_213 + responses: + - schema: *ref_86 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Desktop_Update: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + desktop: + properties: + description: des1 + friendlyName: friendly + desktopName: SessionDesktop + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1/SessionDesktop + type: Microsoft.DesktopVirtualization/applicationGroups/desktops + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/desktops/SessionDesktop + properties: + description: des1 + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + language: + default: + name: Update + description: Update a desktop. + cli: + cliKey: Update + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_214 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_215 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationGroupName + description: The name of the application group + serializedName: applicationGroupName + cli: + cliKey: applicationGroupName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops' + method: get + uri: '{$host}' + signatureParameters: + - *ref_214 + - *ref_215 + responses: + - schema: *ref_216 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Desktop_List: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: applicationGroup1/SessionDesktop + type: Microsoft.DesktopVirtualization/applicationGroups/desktops + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/SessionDesktop + properties: + description: des1 + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + language: + default: + name: List + description: List desktops. + cli: + cliKey: List + protocol: {} + language: + default: + name: Desktops + description: '' + cli: + cliKey: Desktops + protocol: {} + - $key: HostPools + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_217 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_218 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: hostPoolName + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_217 + - *ref_218 + responses: + - schema: *ref_36 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + HostPool_Get: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: hostPool1 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2008-09-22T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + language: + default: + name: Get + description: Get a host pool. + cli: + cliKey: Get + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_220 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_221 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: hostPoolName + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_155 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content-type + description: Body Parameter content-type + serializedName: Content-Type + cli: + cliKey: content-type + protocol: + http: + in: header + - &ref_219 + schema: *ref_36 + implementation: Method + required: true + language: + default: + name: hostPool + description: Object containing HostPool definitions. + cli: + cliKey: hostPool + protocol: + http: + in: body + style: json + signatureParameters: + - *ref_219 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' + method: put + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_220 + - *ref_221 + responses: + - schema: *ref_36 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + - schema: *ref_36 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '201' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + HostPool_Create: + parameters: + api-version: 2019-12-10-preview + hostPool: + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2020-10-01T14:01:54.9571247Z' + registrationTokenOperation: Update + ssoContext: KeyVaultPath + tags: + tag1: value1 + tag2: value2 + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: hostPool1 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2020-10-01T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + '201': + body: + name: hostPool1 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2020-10-01T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + language: + default: + name: CreateOrUpdate + description: Create or update a host pool. + cli: + cliKey: CreateOrUpdate + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_223 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_224 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: hostPoolName + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_225 + schema: *ref_222 + implementation: Method + language: + default: + name: force + description: Force flag to delete sessionHost. + serializedName: force + cli: + cliKey: force + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' + method: delete + uri: '{$host}' + signatureParameters: + - *ref_223 + - *ref_224 + - *ref_225 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '204' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + HostPool_Delete: + parameters: + api-version: 2019-12-10-preview + force: true + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + name: hostPool1 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2008-09-22T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + '204': {} + language: + default: + name: Delete + description: Remove a host pool. + cli: + cliKey: Delete + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_227 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_228 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: hostPoolName + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_155 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content-type + description: Body Parameter content-type + serializedName: Content-Type + cli: + cliKey: content-type + protocol: + http: + in: header + - &ref_226 + schema: *ref_87 + implementation: Method + required: false + language: + default: + name: hostPool + description: Object containing HostPool definitions. + cli: + cliKey: hostPool + protocol: + http: + in: body + style: json + signatureParameters: + - *ref_226 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' + method: patch + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_227 + - *ref_228 + responses: + - schema: *ref_36 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + HostPool_Update: + parameters: + api-version: 2019-12-10-preview + hostPool: + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2020-10-02T14:01:54.9571247Z' + ssoContext: KeyVaultPath + tags: + tag1: value1 + tag2: value2 + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: hostPool1 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2008-09-22T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + language: + default: + name: Update + description: Update a host pool. + cli: + cliKey: Update + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_229 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools' + method: get + uri: '{$host}' + signatureParameters: + - *ref_229 + responses: + - schema: *ref_230 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + HostPool_ListByResourceGroup: + parameters: + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: hostPool1 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2008-09-22T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + - name: hostPool2 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool2 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2008-09-22T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: ListByResourceGroup + description: List hostPools. + paging: + nextLinkName: nextLink + cli: + cliKey: ListByResourceGroup + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/hostPools' + method: get + uri: '{$host}' + signatureParameters: [] + responses: + - schema: *ref_230 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + HostPool_List: + parameters: + api-version: 2019-12-10-preview + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: hostPool1 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2008-09-22T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + - name: hostPool2 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool2 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2008-09-22T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: List + description: List hostPools in subscription. + paging: + nextLinkName: nextLink + cli: + cliKey: List + protocol: {} + language: + default: + name: HostPools + description: '' + cli: + cliKey: HostPools + protocol: {} + - $key: UserSessions + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_231 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_232 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: hostPoolName + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_233 + schema: *ref_167 + implementation: Method + language: + default: + name: $filter + description: OData filter expression. Valid properties for filtering are userprincipalname and sessionstate. + serializedName: $filter + cli: + cliKey: $filter + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/userSessions' + method: get + uri: '{$host}' + signatureParameters: + - *ref_231 + - *ref_232 + - *ref_233 + responses: + - schema: *ref_234 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + UserSession_ListByHostPool: + parameters: + $filter: userPrincipalName eq 'user1@microsoft.com' and state eq 'active' + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: '1' + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 + properties: + activeDirectoryUserName: WVDARM\user1 + applicationType: Desktop + createTime: '2008-09-22T14:01:54.9571247Z' + sessionState: Active + userPrincipalName: user1@microsoft.com + - name: '2' + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/2 + properties: + activeDirectoryUserName: WVDARM\user1 + applicationType: Desktop + createTime: '2008-09-22T14:01:54.9571247Z' + sessionState: Active + userPrincipalName: user1@microsoft.com + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: ListByHostPool + description: List userSessions. + paging: + nextLinkName: nextLink + cli: + cliKey: ListByHostPool + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_237 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_238 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: hostPoolName + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_239 + schema: *ref_235 + implementation: Method + required: true + language: + default: + name: sessionHostName + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + cliKey: sessionHostName + protocol: + http: + in: path + - &ref_240 + schema: *ref_236 + implementation: Method + required: true + language: + default: + name: userSessionId + description: The name of the user session within the specified session host + serializedName: userSessionId + cli: + cliKey: userSessionId + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_237 + - *ref_238 + - *ref_239 + - *ref_240 + responses: + - schema: *ref_88 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + UserSession_Get: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + userSessionId: '1' + responses: + '200': + body: + name: '1' + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 + properties: + activeDirectoryUserName: WVDARM\user1 + applicationType: Desktop + createTime: '2008-09-22T14:01:54.9571247Z' + sessionState: Active + userPrincipalName: user1@microsoft.com + language: + default: + name: Get + description: Get a userSession. + cli: + cliKey: Get + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_241 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_242 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: hostPoolName + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_243 + schema: *ref_235 + implementation: Method + required: true + language: + default: + name: sessionHostName + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + cliKey: sessionHostName + protocol: + http: + in: path + - &ref_244 + schema: *ref_236 + implementation: Method + required: true + language: + default: + name: userSessionId + description: The name of the user session within the specified session host + serializedName: userSessionId + cli: + cliKey: userSessionId + protocol: + http: + in: path + - &ref_245 + schema: *ref_222 + implementation: Method + language: + default: + name: force + description: Force flag to login off userSession. + serializedName: force + cli: + cliKey: force + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}' + method: delete + uri: '{$host}' + signatureParameters: + - *ref_241 + - *ref_242 + - *ref_243 + - *ref_244 + - *ref_245 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '204' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + UserSession_Delete: + parameters: + api-version: 2019-12-10-preview + force: true + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + userSessionId: '1' + responses: + '200': + name: '1' + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 + properties: + activeDirectoryUserName: WVDARM\user1 + applicationType: Desktop + createTime: '2008-09-22T14:01:54.9571247Z' + sessionState: Active + userPrincipalName: user1@microsoft.com + '204': {} + language: + default: + name: Delete + description: Remove a userSession. + cli: + cliKey: Delete + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_246 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_247 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: hostPoolName + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_248 + schema: *ref_235 + implementation: Method + required: true + language: + default: + name: sessionHostName + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + cliKey: sessionHostName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions' + method: get + uri: '{$host}' + signatureParameters: + - *ref_246 + - *ref_247 + - *ref_248 + responses: + - schema: *ref_234 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + UserSession_List: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: '1' + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 + properties: + activeDirectoryUserName: WVDARM\user1 + applicationType: Desktop + createTime: '2008-09-22T14:01:54.9571247Z' + sessionState: Active + userPrincipalName: user1@microsoft.com + - name: '2' + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/2 + properties: + activeDirectoryUserName: WVDARM\user1 + applicationType: Desktop + createTime: '2008-09-22T14:01:54.9571247Z' + sessionState: Active + userPrincipalName: user1@microsoft.com + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: List + description: List userSessions. + paging: + nextLinkName: nextLink + cli: + cliKey: List + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_249 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_250 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: hostPoolName + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_251 + schema: *ref_235 + implementation: Method + required: true + language: + default: + name: sessionHostName + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + cliKey: sessionHostName + protocol: + http: + in: path + - &ref_252 + schema: *ref_236 + implementation: Method + required: true + language: + default: + name: userSessionId + description: The name of the user session within the specified session host + serializedName: userSessionId + cli: + cliKey: userSessionId + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}/disconnect' + method: post + uri: '{$host}' + signatureParameters: + - *ref_249 + - *ref_250 + - *ref_251 + - *ref_252 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + UserSession_Disconnect_Post: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + userSessionId: '1' + responses: + '200': {} + language: + default: + name: Disconnect + description: Disconnect a userSession. + cli: + cliKey: Disconnect + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_255 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_256 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: hostPoolName + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_257 + schema: *ref_235 + implementation: Method + required: true + language: + default: + name: sessionHostName + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + cliKey: sessionHostName + protocol: + http: + in: path + - &ref_258 + schema: *ref_236 + implementation: Method + required: true + language: + default: + name: userSessionId + description: The name of the user session within the specified session host + serializedName: userSessionId + cli: + cliKey: userSessionId + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_155 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content-type + description: Body Parameter content-type + serializedName: Content-Type + cli: + cliKey: content-type + protocol: + http: + in: header + - &ref_254 + schema: *ref_253 + implementation: Method + required: false + language: + default: + name: sendMessage + description: Object containing message includes title and message body + cli: + cliKey: sendMessage + protocol: + http: + in: body + style: json + signatureParameters: + - *ref_254 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}/sendMessage' + method: post + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_255 + - *ref_256 + - *ref_257 + - *ref_258 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + UserSession_SendMessage_Post: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sendMessage: + messageBody: body + messageTitle: title + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + userSessionId: '1' + responses: + '200': {} + language: + default: + name: SendMessage + description: Send a message to a user. + cli: + cliKey: SendMessage + protocol: {} + language: + default: + name: UserSessions + description: '' + cli: + cliKey: UserSessions + protocol: {} + - $key: SessionHosts + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_259 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_260 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: hostPoolName + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_261 + schema: *ref_235 + implementation: Method + required: true + language: + default: + name: sessionHostName + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + cliKey: sessionHostName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_259 + - *ref_260 + - *ref_261 + responses: + - schema: *ref_89 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + SessionHost_Get: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: sessionHost1.microsoft.com + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com + properties: + agentVersion: 1.0.0.1391 + allowNewSession: true + assignedUser: user1@microsoft.com + lastHeartBeat: '2008-09-22T14:01:54.9571247Z' + lastUpdateTime: '2008-09-22T14:01:54.9571247Z' + osVersion: 10.0.17763 + sessions: 1 + status: Available + statusTimestamp: '2008-09-22T14:01:54.9571247Z' + sxSStackVersion: rdp-sxs190816002 + updateErrorMessage: '' + updateState: Succeeded + language: + default: + name: Get + description: Get a session host. + cli: + cliKey: Get + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_262 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_263 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: hostPoolName + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_264 + schema: *ref_235 + implementation: Method + required: true + language: + default: + name: sessionHostName + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + cliKey: sessionHostName + protocol: + http: + in: path + - &ref_265 + schema: *ref_222 + implementation: Method + language: + default: + name: force + description: Force flag to force sessionHost deletion even when userSession exists. + serializedName: force + cli: + cliKey: force + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}' + method: delete + uri: '{$host}' + signatureParameters: + - *ref_262 + - *ref_263 + - *ref_264 + - *ref_265 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '204' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + SessionHost_Delete: + parameters: + api-version: 2019-12-10-preview + force: true + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + name: sessionHost1.microsoft.com + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com + properties: + agentVersion: 1.0.0.1391 + allowNewSession: true + assignedUser: user1@microsoft.com + lastHeartBeat: '2008-09-22T14:01:54.9571247Z' + lastUpdateTime: '2008-09-22T14:01:54.9571247Z' + osVersion: 10.0.17763 + sessions: 1 + status: Available + statusTimestamp: '2008-09-22T14:01:54.9571247Z' + sxSStackVersion: rdp-sxs190816002 + updateErrorMessage: '' + updateState: Succeeded + '204': {} + language: + default: + name: Delete + description: Remove a SessionHost. + cli: + cliKey: Delete + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_267 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_268 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: hostPoolName + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_269 + schema: *ref_235 + implementation: Method + required: true + language: + default: + name: sessionHostName + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + cliKey: sessionHostName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_155 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content-type + description: Body Parameter content-type + serializedName: Content-Type + cli: + cliKey: content-type + protocol: + http: + in: header + - &ref_266 + schema: *ref_90 + implementation: Method + required: false + language: + default: + name: sessionHost + description: Object containing SessionHost definitions. + cli: + cliKey: sessionHost + protocol: + http: + in: body + style: json + signatureParameters: + - *ref_266 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}' + method: patch + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_267 + - *ref_268 + - *ref_269 + responses: + - schema: *ref_89 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + SessionHost_Update: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHost: + properties: + allowNewSession: true + assignedUser: user1@microsoft.com + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: sessionHost1.microsoft.com + type: Microsoft.DesktopVirtualization/hostPools/sessionhosts + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com + properties: + agentVersion: 1.0.0.1391 + allowNewSession: true + assignedUser: user1@microsoft.com + lastHeartBeat: '2019-01-11T19:27:13.6108027Z' + lastUpdateTime: '2008-09-22T14:01:54.9571247Z' + osVersion: 10.0.17763 + sessions: 1 + status: Available + statusTimestamp: '2019-01-24T20:00:08.2893033Z' + sxSStackVersion: rdp-sxs190816002 + updateErrorMessage: '' + updateState: Succeeded + language: + default: + name: Update + description: Update a session host. + cli: + cliKey: Update + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_270 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_271 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: hostPoolName + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts' + method: get + uri: '{$host}' + signatureParameters: + - *ref_270 + - *ref_271 + responses: + - schema: *ref_272 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + SessionHost_List: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: sessionHost1.microsoft.com + type: Microsoft.DesktopVirtualization/hostPools/sessionhosts + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com + properties: + agentVersion: 1.0.0.1391 + allowNewSession: true + assignedUser: user1@microsoft.com + lastHeartBeat: '2008-09-22T14:01:54.9571247Z' + lastUpdateTime: '2008-09-22T14:01:54.9571247Z' + osVersion: 10.0.17763 + sessions: 1 + status: Available + statusTimestamp: '2008-09-22T14:01:54.9571247Z' + sxSStackVersion: rdp-sxs190816002 + updateErrorMessage: '' + updateState: Succeeded + - name: sessionHost2.microsoft.com + type: Microsoft.DesktopVirtualization/hostPools/sessionhosts + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost2microsoft.com + properties: + agentVersion: 1.0.0.1391 + allowNewSession: true + assignedUser: user2@microsoft.com + lastHeartBeat: '2008-09-22T14:01:54.9571247Z' + lastUpdateTime: '2008-09-22T14:01:54.9571247Z' + osVersion: 10.0.17763 + sessions: 1 + status: Available + statusTimestamp: '2008-09-22T14:01:54.9571247Z' + sxSStackVersion: rdp-sxs190816002 + updateErrorMessage: '' + updateState: Succeeded + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: List + description: List sessionHosts. + paging: + nextLinkName: nextLink + cli: + cliKey: List + protocol: {} + language: + default: + name: SessionHosts + description: '' + cli: + cliKey: SessionHosts + protocol: {} + - $key: ActiveApplications + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_273 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_274 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: hostPoolName + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_275 + schema: *ref_235 + implementation: Method + required: true + language: + default: + name: sessionHostName + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + cliKey: sessionHostName + protocol: + http: + in: path + - &ref_276 + schema: *ref_167 + implementation: Method + language: + default: + name: $filter + description: OData filter expression. Valid properties for filtering are userprincipalname and sessionstate. + serializedName: $filter + cli: + cliKey: $filter + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/activeApplications' + method: get + uri: '{$host}' + signatureParameters: + - *ref_273 + - *ref_274 + - *ref_275 + - *ref_276 + responses: + - schema: *ref_205 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ActiveApplications_List: + parameters: + $filter: userPrincipalName eq 'user1@microsoft.com' + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: applicationGroup1/application1 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + - name: applicationGroup1/application2 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application2 + properties: + description: des2 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: ListBySessionHost + description: List applications for the given session host. + paging: + nextLinkName: nextLink + cli: + cliKey: ListBySessionHost + protocol: {} + language: + default: + name: ActiveApplications + description: '' + cli: + cliKey: ActiveApplications + protocol: {} +language: + default: + name: '' + description: '' +protocol: + http: {} diff --git a/src/desktopvirtualization/_az_debug/clicommon-000040-complex-marker-post-simplified.yaml b/src/desktopvirtualization/_az_debug/clicommon-000040-complex-marker-post-simplified.yaml new file mode 100644 index 00000000000..0a0ad331da6 --- /dev/null +++ b/src/desktopvirtualization/_az_debug/clicommon-000040-complex-marker-post-simplified.yaml @@ -0,0 +1,1978 @@ +operationGroups: + all: + - operationGroupName: Operations + cli: + cliKey: Operations + operations: + - operationName: List + cli: + cliKey: List + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - operationGroupName: Workspaces + cli: + cliKey: Workspaces + operations: + - operationName: Get + cli: + cliKey: Get + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: workspaceName(string^string) + cli: + cliKey: workspaceName + - operationName: CreateOrUpdate + cli: + cliKey: CreateOrUpdate + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: workspaceName(string^string) + cli: + cliKey: workspaceName + - parameterName[0]: content-type(application/json^constant) + cli: + cliKey: content-type + - parameterName[0]: workspace(Workspace^object) + cli: + cliKey: workspace + bodySchema: Workspace + - operationName: Delete + cli: + cliKey: Delete + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: workspaceName(string^string) + cli: + cliKey: workspaceName + - operationName: Update + cli: + cliKey: Update + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: workspaceName(string^string) + cli: + cliKey: workspaceName + - parameterName[0]: content-type(application/json^constant) + cli: + cliKey: content-type + - parameterName[0]: workspace(WorkspacePatch^object) + cli: + cliKey: workspace + bodySchema: WorkspacePatch + - operationName: ListByResourceGroup + cli: + cliKey: ListByResourceGroup + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - operationName: ListBySubscription + cli: + cliKey: ListBySubscription + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - operationGroupName: ApplicationGroupAssignments + cli: + cliKey: ApplicationGroupAssignments + operations: + - operationName: WorkspaceLevelList + cli: + cliKey: WorkspaceLevelList + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: workspaceName(string^string) + cli: + cliKey: workspaceName + - parameterName: $filter(string^string) + cli: + cliKey: $filter + - operationGroupName: ApplicationGroups + cli: + cliKey: ApplicationGroups + operations: + - operationName: Get + cli: + cliKey: Get + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: applicationGroupName(string^string) + cli: + cliKey: applicationGroupName + - operationName: CreateOrUpdate + cli: + cliKey: CreateOrUpdate + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: applicationGroupName(string^string) + cli: + cliKey: applicationGroupName + - parameterName[0]: content-type(application/json^constant) + cli: + cliKey: content-type + - parameterName[0]: applicationGroup(ApplicationGroup^object) + cli: + cliKey: applicationGroup + bodySchema: ApplicationGroup + - operationName: Delete + cli: + cliKey: Delete + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: applicationGroupName(string^string) + cli: + cliKey: applicationGroupName + - operationName: Update + cli: + cliKey: Update + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: applicationGroupName(string^string) + cli: + cliKey: applicationGroupName + - parameterName[0]: content-type(application/json^constant) + cli: + cliKey: content-type + - parameterName[0]: applicationGroup(ApplicationGroupPatch^object) + cli: + cliKey: applicationGroup + bodySchema: ApplicationGroupPatch + - operationName: ListByResourceGroup + cli: + cliKey: ListByResourceGroup + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: $filter(string^string) + cli: + cliKey: $filter + - operationName: ListBySubscription + cli: + cliKey: ListBySubscription + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: $filter(string^string) + cli: + cliKey: $filter + - operationGroupName: StartMenuItems + cli: + cliKey: StartMenuItems + operations: + - operationName: List + cli: + cliKey: List + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: applicationGroupName(string^string) + cli: + cliKey: applicationGroupName + - operationGroupName: Applications + cli: + cliKey: Applications + operations: + - operationName: Get + cli: + cliKey: Get + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: applicationGroupName(string^string) + cli: + cliKey: applicationGroupName + - parameterName: applicationName(string^string) + cli: + cliKey: applicationName + - operationName: CreateOrUpdate + cli: + cliKey: CreateOrUpdate + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: applicationGroupName(string^string) + cli: + cliKey: applicationGroupName + - parameterName: applicationName(string^string) + cli: + cliKey: applicationName + - parameterName[0]: content-type(application/json^constant) + cli: + cliKey: content-type + - parameterName[0]: application(Application^object) + cli: + cliKey: application + bodySchema: Application + - operationName: Delete + cli: + cliKey: Delete + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: applicationGroupName(string^string) + cli: + cliKey: applicationGroupName + - parameterName: applicationName(string^string) + cli: + cliKey: applicationName + - operationName: Update + cli: + cliKey: Update + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: applicationGroupName(string^string) + cli: + cliKey: applicationGroupName + - parameterName: applicationName(string^string) + cli: + cliKey: applicationName + - parameterName[0]: content-type(application/json^constant) + cli: + cliKey: content-type + - parameterName[0]: application(ApplicationPatch^object) + cli: + cliKey: application + bodySchema: ApplicationPatch + - operationName: List + cli: + cliKey: List + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: applicationGroupName(string^string) + cli: + cliKey: applicationGroupName + - operationGroupName: Desktops + cli: + cliKey: Desktops + operations: + - operationName: Get + cli: + cliKey: Get + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: applicationGroupName(string^string) + cli: + cliKey: applicationGroupName + - parameterName: desktopName(string^string) + cli: + cliKey: desktopName + - operationName: Update + cli: + cliKey: Update + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: applicationGroupName(string^string) + cli: + cliKey: applicationGroupName + - parameterName: desktopName(string^string) + cli: + cliKey: desktopName + - parameterName[0]: content-type(application/json^constant) + cli: + cliKey: content-type + - parameterName[0]: desktop(DesktopPatch^object) + cli: + cliKey: desktop + bodySchema: DesktopPatch + - operationName: List + cli: + cliKey: List + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: applicationGroupName(string^string) + cli: + cliKey: applicationGroupName + - operationGroupName: HostPools + cli: + cliKey: HostPools + operations: + - operationName: Get + cli: + cliKey: Get + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: hostPoolName(string^string) + cli: + cliKey: hostPoolName + - operationName: CreateOrUpdate + cli: + cliKey: CreateOrUpdate + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: hostPoolName(string^string) + cli: + cliKey: hostPoolName + - parameterName[0]: content-type(application/json^constant) + cli: + cliKey: content-type + - parameterName[0]: hostPool(HostPool^object) + cli: + cliKey: hostPool + bodySchema: HostPool + - operationName: Delete + cli: + cliKey: Delete + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: hostPoolName(string^string) + cli: + cliKey: hostPoolName + - parameterName: force(boolean^boolean) + cli: + cliKey: force + - operationName: Update + cli: + cliKey: Update + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: hostPoolName(string^string) + cli: + cliKey: hostPoolName + - parameterName[0]: content-type(application/json^constant) + cli: + cliKey: content-type + - parameterName[0]: hostPool(HostPoolPatch^object) + cli: + cliKey: hostPool + bodySchema: HostPoolPatch + - operationName: ListByResourceGroup + cli: + cliKey: ListByResourceGroup + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - operationName: List + cli: + cliKey: List + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - operationGroupName: UserSessions + cli: + cliKey: UserSessions + operations: + - operationName: ListByHostPool + cli: + cliKey: ListByHostPool + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: hostPoolName(string^string) + cli: + cliKey: hostPoolName + - parameterName: $filter(string^string) + cli: + cliKey: $filter + - operationName: Get + cli: + cliKey: Get + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: hostPoolName(string^string) + cli: + cliKey: hostPoolName + - parameterName: sessionHostName(string^string) + cli: + cliKey: sessionHostName + - parameterName: userSessionId(string^string) + cli: + cliKey: userSessionId + - operationName: Delete + cli: + cliKey: Delete + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: hostPoolName(string^string) + cli: + cliKey: hostPoolName + - parameterName: sessionHostName(string^string) + cli: + cliKey: sessionHostName + - parameterName: userSessionId(string^string) + cli: + cliKey: userSessionId + - parameterName: force(boolean^boolean) + cli: + cliKey: force + - operationName: List + cli: + cliKey: List + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: hostPoolName(string^string) + cli: + cliKey: hostPoolName + - parameterName: sessionHostName(string^string) + cli: + cliKey: sessionHostName + - operationName: Disconnect + cli: + cliKey: Disconnect + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: hostPoolName(string^string) + cli: + cliKey: hostPoolName + - parameterName: sessionHostName(string^string) + cli: + cliKey: sessionHostName + - parameterName: userSessionId(string^string) + cli: + cliKey: userSessionId + - operationName: SendMessage + cli: + cliKey: SendMessage + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: hostPoolName(string^string) + cli: + cliKey: hostPoolName + - parameterName: sessionHostName(string^string) + cli: + cliKey: sessionHostName + - parameterName: userSessionId(string^string) + cli: + cliKey: userSessionId + - parameterName[0]: content-type(application/json^constant) + cli: + cliKey: content-type + - parameterName[0]: sendMessage(SendMessage^object) + cli: + cliKey: sendMessage + bodySchema: SendMessage + - operationGroupName: SessionHosts + cli: + cliKey: SessionHosts + operations: + - operationName: Get + cli: + cliKey: Get + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: hostPoolName(string^string) + cli: + cliKey: hostPoolName + - parameterName: sessionHostName(string^string) + cli: + cliKey: sessionHostName + - operationName: Delete + cli: + cliKey: Delete + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: hostPoolName(string^string) + cli: + cliKey: hostPoolName + - parameterName: sessionHostName(string^string) + cli: + cliKey: sessionHostName + - parameterName: force(boolean^boolean) + cli: + cliKey: force + - operationName: Update + cli: + cliKey: Update + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: hostPoolName(string^string) + cli: + cliKey: hostPoolName + - parameterName: sessionHostName(string^string) + cli: + cliKey: sessionHostName + - parameterName[0]: content-type(application/json^constant) + cli: + cliKey: content-type + - parameterName[0]: sessionHost(SessionHostPatch^object) + cli: + cliKey: sessionHost + bodySchema: SessionHostPatch + - operationName: List + cli: + cliKey: List + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: hostPoolName(string^string) + cli: + cliKey: hostPoolName + - operationGroupName: ActiveApplications + cli: + cliKey: ActiveApplications + operations: + - operationName: ListBySessionHost + cli: + cliKey: ListBySessionHost + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: hostPoolName(string^string) + cli: + cliKey: hostPoolName + - parameterName: sessionHostName(string^string) + cli: + cliKey: sessionHostName + - parameterName: $filter(string^string) + cli: + cliKey: $filter +schemas: + objects: + all: + - schemaName: ResourceProviderOperationList + cli: + cliKey: ResourceProviderOperationList + cli-complexity: object_complex + cli-simplify-indicator: + simplifiable: false + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + cli-mark: checked + properties: + - propertyName: value(ResourceProviderOperationList-value^array) + cli: + cliKey: value + - schemaName: ResourceProviderOperation + cli: + cliKey: ResourceProviderOperation + cli-complexity: object_complex + cli-simplify-indicator: + simplifiable: true + propertyCountIfSimplify: 5 + propertyCountIfSimplifyWithoutSimpleObject: 2 + cli-mark: checked + properties: + - propertyName: name(ResourceProviderOperation-name^string) + cli: + cliKey: name + - propertyName: display(ResourceProviderOperation-display^object) + cli: + cliKey: display + - schemaName: ResourceProviderOperation-display + cli: + cliKey: ResourceProviderOperation-display + cli-complexity: object_simple + cli-simplify-indicator: + simplifiable: true + propertyCountIfSimplify: 4 + propertyCountIfSimplifyWithoutSimpleObject: 4 + cli-mark: checked + properties: + - propertyName: provider(ResourceProviderOperation-display-provider^string) + cli: + cliKey: provider + - propertyName: resource(ResourceProviderOperation-display-resource^string) + cli: + cliKey: resource + - propertyName: operation(ResourceProviderOperation-display-operation^string) + cli: + cliKey: operation + - propertyName: description(ResourceProviderOperation-display-description^string) + cli: + cliKey: description + - schemaName: Resource + cli: + cliKey: Resource + cli-complexity: object_simple + cli-simplify-indicator: + simplifiable: true + propertyCountIfSimplify: 0 + propertyCountIfSimplifyWithoutSimpleObject: 0 + cli-mark: checked + properties: + - propertyName: id(Resource-id^string) + cli: + cliKey: id + readOnly: true + - propertyName: name(Resource-name^string) + cli: + cliKey: name + readOnly: true + - propertyName: type(Resource-type^string) + cli: + cliKey: type + readOnly: true + - schemaName: TrackedResource + cli: + cliKey: TrackedResource + cli-complexity: object_complex + cli-simplify-indicator: + simplifiable: false + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + cli-mark: checked + properties: + - propertyName: tags(TrackedResource-tags^dictionary) + cli: + cliKey: tags + - propertyName: location(TrackedResource-location^string) + cli: + cliKey: location + - schemaName: Workspace + cli: + cliKey: Workspace + cli-complexity: object_complex + cli-simplify-indicator: + simplifiable: false + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + cli-mark: checked + properties: + - propertyName: properties(WorkspaceProperties^object) + cli: + cliKey: properties + x-ms-client-flatten: true + - schemaName: WorkspaceProperties + cli: + cliKey: WorkspaceProperties + cli-complexity: object_simple + cli-simplify-indicator: + simplifiable: false + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + cli-mark: checked + properties: + - propertyName: description(WorkspaceProperties-description^string) + cli: + cliKey: description + - propertyName: friendlyName(WorkspaceProperties-friendlyName^string) + cli: + cliKey: friendlyName + - propertyName: applicationGroupReferences(WorkspaceProperties-applicationGroupReferences^array) + cli: + cliKey: applicationGroupReferences + - schemaName: CloudError + cli: + cliKey: CloudError + cli-complexity: object_simple + cli-simplify-indicator: + simplifiable: true + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 2 + cli-mark: checked + properties: + - propertyName: code(CloudError-code^string) + cli: + cliKey: code + - propertyName: message(CloudError-message^string) + cli: + cliKey: message + - schemaName: WorkspacePatch + cli: + cliKey: WorkspacePatch + cli-complexity: object_complex + cli-simplify-indicator: + simplifiable: false + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + cli-mark: checked + properties: + - propertyName: tags(any^any) + cli: + cliKey: tags + - propertyName: properties(WorkspacePatchProperties^object) + cli: + cliKey: properties + x-ms-client-flatten: true + - schemaName: WorkspacePatchProperties + cli: + cliKey: WorkspacePatchProperties + cli-complexity: object_simple + cli-simplify-indicator: + simplifiable: false + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + cli-mark: checked + properties: + - propertyName: description(WorkspacePatchProperties-description^string) + cli: + cliKey: description + - propertyName: friendlyName(WorkspacePatchProperties-friendlyName^string) + cli: + cliKey: friendlyName + - propertyName: applicationGroupReferences(WorkspacePatchProperties-applicationGroupReferences^array) + cli: + cliKey: applicationGroupReferences + - schemaName: WorkspaceList + cli: + cliKey: WorkspaceList + cli-complexity: object_complex + cli-simplify-indicator: + simplifiable: false + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + cli-mark: checked + properties: + - propertyName: value(WorkspaceList-value^array) + cli: + cliKey: value + - propertyName: nextLink(WorkspaceList-nextLink^string) + cli: + cliKey: nextLink + readOnly: true + - schemaName: ApplicationGroupList + cli: + cliKey: ApplicationGroupList + cli-complexity: object_complex + cli-simplify-indicator: + simplifiable: false + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + cli-mark: checked + properties: + - propertyName: value(ApplicationGroupList-value^array) + cli: + cliKey: value + - propertyName: nextLink(ApplicationGroupList-nextLink^string) + cli: + cliKey: nextLink + readOnly: true + - schemaName: ApplicationGroup + cli: + cliKey: ApplicationGroup + cli-complexity: object_complex + cli-simplify-indicator: + simplifiable: false + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + cli-mark: checked + properties: + - propertyName: properties(ApplicationGroupProperties^object) + cli: + cliKey: properties + x-ms-client-flatten: true + - schemaName: ApplicationGroupProperties + cli: + cliKey: ApplicationGroupProperties + cli-complexity: object_simple + cli-simplify-indicator: + simplifiable: true + propertyCountIfSimplify: 4 + propertyCountIfSimplifyWithoutSimpleObject: 4 + cli-mark: checked + properties: + - propertyName: description(ApplicationGroupProperties-description^string) + cli: + cliKey: description + - propertyName: friendlyName(ApplicationGroupProperties-friendlyName^string) + cli: + cliKey: friendlyName + - propertyName: hostPoolArmPath(ApplicationGroupProperties-hostPoolArmPath^string) + cli: + cliKey: hostPoolArmPath + - propertyName: workspaceArmPath(ApplicationGroupProperties-workspaceArmPath^string) + cli: + cliKey: workspaceArmPath + readOnly: true + - propertyName: applicationGroupType(ApplicationGroupType^choice) + cli: + cliKey: applicationGroupType + - schemaName: ApplicationGroupPatch + cli: + cliKey: ApplicationGroupPatch + cli-complexity: object_complex + cli-simplify-indicator: + simplifiable: false + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + cli-mark: checked + properties: + - propertyName: tags(any^any) + cli: + cliKey: tags + - propertyName: properties(ApplicationGroupPatchProperties^object) + cli: + cliKey: properties + x-ms-client-flatten: true + - schemaName: ApplicationGroupPatchProperties + cli: + cliKey: ApplicationGroupPatchProperties + cli-complexity: object_simple + cli-simplify-indicator: + simplifiable: true + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 2 + cli-mark: checked + properties: + - propertyName: description(ApplicationGroupPatchProperties-description^string) + cli: + cliKey: description + - propertyName: friendlyName(ApplicationGroupPatchProperties-friendlyName^string) + cli: + cliKey: friendlyName + - schemaName: StartMenuItemList + cli: + cliKey: StartMenuItemList + cli-complexity: object_complex + cli-simplify-indicator: + simplifiable: false + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + cli-mark: checked + properties: + - propertyName: value(StartMenuItemList-value^array) + cli: + cliKey: value + - propertyName: nextLink(StartMenuItemList-nextLink^string) + cli: + cliKey: nextLink + readOnly: true + - schemaName: StartMenuItem + cli: + cliKey: StartMenuItem + cli-complexity: object_complex + cli-simplify-indicator: + simplifiable: true + propertyCountIfSimplify: 6 + propertyCountIfSimplifyWithoutSimpleObject: 1 + cli-mark: checked + properties: + - propertyName: properties(StartMenuItemProperties^object) + cli: + cliKey: properties + x-ms-client-flatten: true + - schemaName: StartMenuItemProperties + cli: + cliKey: StartMenuItemProperties + cli-complexity: object_simple + cli-simplify-indicator: + simplifiable: true + propertyCountIfSimplify: 6 + propertyCountIfSimplifyWithoutSimpleObject: 6 + cli-mark: checked + properties: + - propertyName: appAlias(StartMenuItemProperties-appAlias^string) + cli: + cliKey: appAlias + - propertyName: friendlyName(StartMenuItemProperties-friendlyName^string) + cli: + cliKey: friendlyName + - propertyName: filePath(StartMenuItemProperties-filePath^string) + cli: + cliKey: filePath + - propertyName: commandLineArguments(StartMenuItemProperties-commandLineArguments^string) + cli: + cliKey: commandLineArguments + - propertyName: iconPath(StartMenuItemProperties-iconPath^string) + cli: + cliKey: iconPath + - propertyName: iconIndex(integer^integer) + cli: + cliKey: iconIndex + - schemaName: Application + cli: + cliKey: Application + cli-complexity: object_complex + cli-simplify-indicator: + simplifiable: true + propertyCountIfSimplify: 8 + propertyCountIfSimplifyWithoutSimpleObject: 1 + cli-mark: checked + properties: + - propertyName: properties(ApplicationProperties^object) + cli: + cliKey: properties + x-ms-client-flatten: true + - schemaName: ApplicationProperties + cli: + cliKey: ApplicationProperties + cli-complexity: object_simple + cli-simplify-indicator: + simplifiable: true + propertyCountIfSimplify: 8 + propertyCountIfSimplifyWithoutSimpleObject: 8 + cli-mark: checked + properties: + - propertyName: description(ApplicationProperties-description^string) + cli: + cliKey: description + - propertyName: friendlyName(ApplicationProperties-friendlyName^string) + cli: + cliKey: friendlyName + - propertyName: filePath(ApplicationProperties-filePath^string) + cli: + cliKey: filePath + - propertyName: commandLineSetting(CommandLineSetting^choice) + cli: + cliKey: commandLineSetting + - propertyName: commandLineArguments(ApplicationProperties-commandLineArguments^string) + cli: + cliKey: commandLineArguments + - propertyName: showInPortal(boolean^boolean) + cli: + cliKey: showInPortal + - propertyName: iconPath(ApplicationProperties-iconPath^string) + cli: + cliKey: iconPath + - propertyName: iconIndex(integer^integer) + cli: + cliKey: iconIndex + - propertyName: iconHash(ApplicationProperties-iconHash^string) + cli: + cliKey: iconHash + readOnly: true + - propertyName: iconContent(ApplicationProperties-iconContent^byte-array) + cli: + cliKey: iconContent + readOnly: true + - schemaName: ApplicationPatch + cli: + cliKey: ApplicationPatch + cli-complexity: object_complex + cli-simplify-indicator: + simplifiable: false + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + cli-mark: checked + properties: + - propertyName: tags(any^any) + cli: + cliKey: tags + - propertyName: properties(ApplicationPatchProperties^object) + cli: + cliKey: properties + x-ms-client-flatten: true + - schemaName: ApplicationPatchProperties + cli: + cliKey: ApplicationPatchProperties + cli-complexity: object_simple + cli-simplify-indicator: + simplifiable: true + propertyCountIfSimplify: 8 + propertyCountIfSimplifyWithoutSimpleObject: 8 + cli-mark: checked + properties: + - propertyName: description(ApplicationPatchProperties-description^string) + cli: + cliKey: description + - propertyName: friendlyName(ApplicationPatchProperties-friendlyName^string) + cli: + cliKey: friendlyName + - propertyName: filePath(ApplicationPatchProperties-filePath^string) + cli: + cliKey: filePath + - propertyName: commandLineSetting(CommandLineSetting^choice) + cli: + cliKey: commandLineSetting + - propertyName: commandLineArguments(ApplicationPatchProperties-commandLineArguments^string) + cli: + cliKey: commandLineArguments + - propertyName: showInPortal(boolean^boolean) + cli: + cliKey: showInPortal + - propertyName: iconPath(ApplicationPatchProperties-iconPath^string) + cli: + cliKey: iconPath + - propertyName: iconIndex(integer^integer) + cli: + cliKey: iconIndex + - schemaName: ApplicationList + cli: + cliKey: ApplicationList + cli-complexity: object_complex + cli-simplify-indicator: + simplifiable: false + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + cli-mark: checked + properties: + - propertyName: value(ApplicationList-value^array) + cli: + cliKey: value + - propertyName: nextLink(ApplicationList-nextLink^string) + cli: + cliKey: nextLink + readOnly: true + - schemaName: Desktop + cli: + cliKey: Desktop + cli-complexity: object_complex + cli-simplify-indicator: + simplifiable: true + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 1 + cli-mark: checked + properties: + - propertyName: properties(DesktopProperties^object) + cli: + cliKey: properties + x-ms-client-flatten: true + - schemaName: DesktopProperties + cli: + cliKey: DesktopProperties + cli-complexity: object_simple + cli-simplify-indicator: + simplifiable: true + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 2 + cli-mark: checked + properties: + - propertyName: description(DesktopProperties-description^string) + cli: + cliKey: description + - propertyName: friendlyName(DesktopProperties-friendlyName^string) + cli: + cliKey: friendlyName + - propertyName: iconHash(DesktopProperties-iconHash^string) + cli: + cliKey: iconHash + readOnly: true + - propertyName: iconContent(DesktopProperties-iconContent^byte-array) + cli: + cliKey: iconContent + readOnly: true + - schemaName: DesktopPatch + cli: + cliKey: DesktopPatch + cli-complexity: object_complex + cli-simplify-indicator: + simplifiable: false + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + cli-mark: checked + properties: + - propertyName: tags(any^any) + cli: + cliKey: tags + - propertyName: properties(DesktopPatchProperties^object) + cli: + cliKey: properties + x-ms-client-flatten: true + - schemaName: DesktopPatchProperties + cli: + cliKey: DesktopPatchProperties + cli-complexity: object_simple + cli-simplify-indicator: + simplifiable: true + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 2 + cli-mark: checked + properties: + - propertyName: description(DesktopPatchProperties-description^string) + cli: + cliKey: description + - propertyName: friendlyName(DesktopPatchProperties-friendlyName^string) + cli: + cliKey: friendlyName + - schemaName: DesktopList + cli: + cliKey: DesktopList + cli-complexity: object_complex + cli-simplify-indicator: + simplifiable: false + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + cli-mark: checked + properties: + - propertyName: value(DesktopList-value^array) + cli: + cliKey: value + - propertyName: nextLink(DesktopList-nextLink^string) + cli: + cliKey: nextLink + readOnly: true + - schemaName: HostPool + cli: + cliKey: HostPool + cli-complexity: object_complex + cli-simplify-indicator: + simplifiable: false + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + cli-mark: checked + properties: + - propertyName: properties(HostPoolProperties^object) + cli: + cliKey: properties + x-ms-client-flatten: true + - schemaName: HostPoolProperties + cli: + cliKey: HostPoolProperties + cli-complexity: object_complex + cli-simplify-indicator: + simplifiable: true + propertyCountIfSimplify: 14 + propertyCountIfSimplifyWithoutSimpleObject: 12 + cli-mark: checked + properties: + - propertyName: friendlyName(HostPoolProperties-friendlyName^string) + cli: + cliKey: friendlyName + - propertyName: description(HostPoolProperties-description^string) + cli: + cliKey: description + - propertyName: hostPoolType(HostPoolType^choice) + cli: + cliKey: hostPoolType + - propertyName: personalDesktopAssignmentType(PersonalDesktopAssignmentType^choice) + cli: + cliKey: personalDesktopAssignmentType + - propertyName: customRdpProperty(HostPoolProperties-customRdpProperty^string) + cli: + cliKey: customRdpProperty + - propertyName: maxSessionLimit(integer^integer) + cli: + cliKey: maxSessionLimit + - propertyName: loadBalancerType(LoadBalancerType^choice) + cli: + cliKey: loadBalancerType + - propertyName: ring(integer^integer) + cli: + cliKey: ring + - propertyName: validationEnvironment(boolean^boolean) + cli: + cliKey: validationEnvironment + - propertyName: registrationInfo(RegistrationInfo^object) + cli: + cliKey: registrationInfo + - propertyName: vmTemplate(HostPoolProperties-vmTemplate^string) + cli: + cliKey: vmTemplate + - propertyName: applicationGroupReferences(HostPoolProperties-applicationGroupReferences^array) + cli: + cliKey: applicationGroupReferences + readOnly: true + - propertyName: ssoContext(HostPoolProperties-ssoContext^string) + cli: + cliKey: ssoContext + - schemaName: RegistrationInfo + cli: + cliKey: RegistrationInfo + cli-complexity: object_simple + cli-simplify-indicator: + simplifiable: true + propertyCountIfSimplify: 3 + propertyCountIfSimplifyWithoutSimpleObject: 3 + cli-mark: checked + properties: + - propertyName: expirationTime(RegistrationInfo-expirationTime^date-time) + cli: + cliKey: expirationTime + - propertyName: token(RegistrationInfo-token^string) + cli: + cliKey: token + - propertyName: registrationTokenOperation(RegistrationTokenOperation^choice) + cli: + cliKey: registrationTokenOperation + - schemaName: HostPoolPatch + cli: + cliKey: HostPoolPatch + cli-complexity: object_complex + cli-simplify-indicator: + simplifiable: false + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + cli-mark: checked + properties: + - propertyName: tags(any^any) + cli: + cliKey: tags + - propertyName: properties(HostPoolPatchProperties^object) + cli: + cliKey: properties + x-ms-client-flatten: true + - schemaName: HostPoolPatchProperties + cli: + cliKey: HostPoolPatchProperties + cli-complexity: object_complex + cli-simplify-indicator: + simplifiable: true + propertyCountIfSimplify: 10 + propertyCountIfSimplifyWithoutSimpleObject: 10 + cli-mark: checked + properties: + - propertyName: friendlyName(HostPoolPatchProperties-friendlyName^string) + cli: + cliKey: friendlyName + - propertyName: description(HostPoolPatchProperties-description^string) + cli: + cliKey: description + - propertyName: customRdpProperty(HostPoolPatchProperties-customRdpProperty^string) + cli: + cliKey: customRdpProperty + - propertyName: maxSessionLimit(integer^integer) + cli: + cliKey: maxSessionLimit + - propertyName: personalDesktopAssignmentType(PersonalDesktopAssignmentType^choice) + cli: + cliKey: personalDesktopAssignmentType + - propertyName: loadBalancerType(LoadBalancerType^choice) + cli: + cliKey: loadBalancerType + - propertyName: ring(integer^integer) + cli: + cliKey: ring + - propertyName: validationEnvironment(boolean^boolean) + cli: + cliKey: validationEnvironment + - propertyName: registrationInfo(RegistrationInfoPatch^object) + cli: + cliKey: registrationInfo + - propertyName: ssoContext(HostPoolPatchProperties-ssoContext^string) + cli: + cliKey: ssoContext + - schemaName: RegistrationInfoPatch + cli: + cliKey: RegistrationInfoPatch + cli-complexity: object_simple + cli-simplify-indicator: + simplifiable: true + propertyCountIfSimplify: 1 + propertyCountIfSimplifyWithoutSimpleObject: 1 + cli-mark: checked + properties: + - propertyName: registrationTokenOperation(RegistrationTokenOperation^choice) + cli: + cliKey: registrationTokenOperation + - schemaName: HostPoolList + cli: + cliKey: HostPoolList + cli-complexity: object_complex + cli-simplify-indicator: + simplifiable: false + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + cli-mark: checked + properties: + - propertyName: value(HostPoolList-value^array) + cli: + cliKey: value + - propertyName: nextLink(HostPoolList-nextLink^string) + cli: + cliKey: nextLink + readOnly: true + - schemaName: UserSessionList + cli: + cliKey: UserSessionList + cli-complexity: object_complex + cli-simplify-indicator: + simplifiable: false + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + cli-mark: checked + properties: + - propertyName: value(UserSessionList-value^array) + cli: + cliKey: value + - propertyName: nextLink(UserSessionList-nextLink^string) + cli: + cliKey: nextLink + readOnly: true + - schemaName: UserSession + cli: + cliKey: UserSession + cli-complexity: object_complex + cli-simplify-indicator: + simplifiable: true + propertyCountIfSimplify: 5 + propertyCountIfSimplifyWithoutSimpleObject: 1 + cli-mark: checked + properties: + - propertyName: properties(UserSessionProperties^object) + cli: + cliKey: properties + x-ms-client-flatten: true + - schemaName: UserSessionProperties + cli: + cliKey: UserSessionProperties + cli-complexity: object_simple + cli-simplify-indicator: + simplifiable: true + propertyCountIfSimplify: 5 + propertyCountIfSimplifyWithoutSimpleObject: 5 + cli-mark: checked + properties: + - propertyName: userPrincipalName(UserSessionProperties-userPrincipalName^string) + cli: + cliKey: userPrincipalName + - propertyName: applicationType(ApplicationType^choice) + cli: + cliKey: applicationType + - propertyName: sessionState(SessionState^choice) + cli: + cliKey: sessionState + - propertyName: activeDirectoryUserName(UserSessionProperties-activeDirectoryUserName^string) + cli: + cliKey: activeDirectoryUserName + - propertyName: createTime(UserSessionProperties-createTime^date-time) + cli: + cliKey: createTime + - schemaName: SessionHost + cli: + cliKey: SessionHost + cli-complexity: object_complex + cli-simplify-indicator: + simplifiable: true + propertyCountIfSimplify: 10 + propertyCountIfSimplifyWithoutSimpleObject: 1 + cli-mark: checked + properties: + - propertyName: properties(SessionHostProperties^object) + cli: + cliKey: properties + x-ms-client-flatten: true + - schemaName: SessionHostProperties + cli: + cliKey: SessionHostProperties + cli-complexity: object_simple + cli-simplify-indicator: + simplifiable: true + propertyCountIfSimplify: 10 + propertyCountIfSimplifyWithoutSimpleObject: 10 + cli-mark: checked + properties: + - propertyName: lastHeartBeat(SessionHostProperties-lastHeartBeat^date-time) + cli: + cliKey: lastHeartBeat + - propertyName: sessions(integer^integer) + cli: + cliKey: sessions + - propertyName: agentVersion(SessionHostProperties-agentVersion^string) + cli: + cliKey: agentVersion + - propertyName: allowNewSession(boolean^boolean) + cli: + cliKey: allowNewSession + - propertyName: assignedUser(SessionHostProperties-assignedUser^string) + cli: + cliKey: assignedUser + - propertyName: status(Status^choice) + cli: + cliKey: status + - propertyName: statusTimestamp(SessionHostProperties-statusTimestamp^date-time) + cli: + cliKey: statusTimestamp + readOnly: true + - propertyName: osVersion(SessionHostProperties-osVersion^string) + cli: + cliKey: osVersion + - propertyName: sxSStackVersion(SessionHostProperties-sxSStackVersion^string) + cli: + cliKey: sxSStackVersion + - propertyName: updateState(UpdateState^choice) + cli: + cliKey: updateState + - propertyName: lastUpdateTime(SessionHostProperties-lastUpdateTime^date-time) + cli: + cliKey: lastUpdateTime + readOnly: true + - propertyName: updateErrorMessage(SessionHostProperties-updateErrorMessage^string) + cli: + cliKey: updateErrorMessage + - schemaName: SessionHostPatch + cli: + cliKey: SessionHostPatch + cli-complexity: object_complex + cli-simplify-indicator: + simplifiable: true + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 1 + cli-mark: checked + properties: + - propertyName: properties(SessionHostPatchProperties^object) + cli: + cliKey: properties + x-ms-client-flatten: true + - schemaName: SessionHostPatchProperties + cli: + cliKey: SessionHostPatchProperties + cli-complexity: object_simple + cli-simplify-indicator: + simplifiable: true + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 2 + cli-mark: checked + properties: + - propertyName: allowNewSession(boolean^boolean) + cli: + cliKey: allowNewSession + - propertyName: assignedUser(SessionHostPatchProperties-assignedUser^string) + cli: + cliKey: assignedUser + - schemaName: SessionHostList + cli: + cliKey: SessionHostList + cli-complexity: object_complex + cli-simplify-indicator: + simplifiable: false + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + cli-mark: checked + properties: + - propertyName: value(SessionHostList-value^array) + cli: + cliKey: value + - propertyName: nextLink(SessionHostList-nextLink^string) + cli: + cliKey: nextLink + readOnly: true + - schemaName: SendMessage + cli: + cliKey: SendMessage + cli-complexity: object_simple + cli-simplify-indicator: + simplifiable: true + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 2 + cli-mark: checked + properties: + - propertyName: messageTitle(SendMessage-messageTitle^string) + cli: + cliKey: messageTitle + - propertyName: messageBody(SendMessage-messageBody^string) + cli: + cliKey: messageBody + choices: + all: + - choiceName: ApplicationGroupType + cli: + cliKey: ApplicationGroupType + choiceValues: + - choiceValue: RemoteApp + cli: + cliKey: RemoteApp + - choiceValue: Desktop + cli: + cliKey: Desktop + - choiceName: CommandLineSetting + cli: + cliKey: CommandLineSetting + choiceValues: + - choiceValue: DoNotAllow + cli: + cliKey: DoNotAllow + - choiceValue: Allow + cli: + cliKey: Allow + - choiceValue: Require + cli: + cliKey: Require + - choiceName: HostPoolType + cli: + cliKey: HostPoolType + choiceValues: + - choiceValue: Personal + cli: + cliKey: Personal + - choiceValue: Pooled + cli: + cliKey: Pooled + - choiceName: PersonalDesktopAssignmentType + cli: + cliKey: PersonalDesktopAssignmentType + choiceValues: + - choiceValue: Automatic + cli: + cliKey: Automatic + - choiceValue: Direct + cli: + cliKey: Direct + - choiceName: LoadBalancerType + cli: + cliKey: LoadBalancerType + choiceValues: + - choiceValue: BreadthFirst + cli: + cliKey: BreadthFirst + - choiceValue: DepthFirst + cli: + cliKey: DepthFirst + - choiceValue: Persistent + cli: + cliKey: Persistent + - choiceName: RegistrationTokenOperation + cli: + cliKey: RegistrationTokenOperation + choiceValues: + - choiceValue: Delete + cli: + cliKey: Delete + - choiceValue: None + cli: + cliKey: None + - choiceValue: Update + cli: + cliKey: Update + - choiceName: ApplicationType + cli: + cliKey: ApplicationType + choiceValues: + - choiceValue: RemoteApp + cli: + cliKey: RemoteApp + - choiceValue: Desktop + cli: + cliKey: Desktop + - choiceName: SessionState + cli: + cliKey: SessionState + choiceValues: + - choiceValue: Unknown + cli: + cliKey: Unknown + - choiceValue: Active + cli: + cliKey: Active + - choiceValue: Disconnected + cli: + cliKey: Disconnected + - choiceValue: Pending + cli: + cliKey: Pending + - choiceValue: LogOff + cli: + cliKey: LogOff + - choiceValue: UserProfileDiskMounted + cli: + cliKey: UserProfileDiskMounted + - choiceName: Status + cli: + cliKey: Status + choiceValues: + - choiceValue: Available + cli: + cliKey: Available + - choiceValue: Unavailable + cli: + cliKey: Unavailable + - choiceValue: Shutdown + cli: + cliKey: Shutdown + - choiceValue: Disconnected + cli: + cliKey: Disconnected + - choiceValue: Upgrading + cli: + cliKey: Upgrading + - choiceValue: UpgradeFailed + cli: + cliKey: UpgradeFailed + - choiceName: UpdateState + cli: + cliKey: UpdateState + choiceValues: + - choiceValue: Initial + cli: + cliKey: Initial + - choiceValue: Pending + cli: + cliKey: Pending + - choiceValue: Started + cli: + cliKey: Started + - choiceValue: Succeeded + cli: + cliKey: Succeeded + - choiceValue: Failed + cli: + cliKey: Failed diff --git a/src/desktopvirtualization/_az_debug/clicommon-000040-complex-marker-post.yaml b/src/desktopvirtualization/_az_debug/clicommon-000040-complex-marker-post.yaml new file mode 100644 index 00000000000..436546b7f84 --- /dev/null +++ b/src/desktopvirtualization/_az_debug/clicommon-000040-complex-marker-post.yaml @@ -0,0 +1,9346 @@ +info: + title: Desktop Virtualization API Client + extensions: + cli-dump-index: 40 +schemas: + booleans: + - &ref_53 + type: boolean + language: + default: + name: boolean + description: Specifies whether to show the RemoteApp program in the RD Web Access server. + protocol: {} + - &ref_27 + type: boolean + language: + default: + name: boolean + description: Is validation environment. + protocol: {} + - &ref_222 + type: boolean + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: boolean + description: '' + protocol: {} + - &ref_73 + type: boolean + language: + default: + name: boolean + description: Allow a new session. + protocol: {} + numbers: + - &ref_47 + type: integer + precision: 32 + language: + default: + name: integer + description: Index of the icon. + protocol: {} + - &ref_24 + type: integer + precision: 32 + language: + default: + name: integer + description: The max session limit of HostPool. + protocol: {} + - &ref_26 + type: integer + precision: 32 + language: + default: + name: integer + description: The ring number of HostPool. + protocol: {} + - &ref_71 + type: integer + precision: 32 + language: + default: + name: integer + description: Number of sessions on SessionHost. + protocol: {} + strings: + - &ref_0 + type: string + language: + default: + name: string + description: simple string + protocol: {} + - &ref_2 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ResourceProviderOperation-name + description: 'Operation name, in format of {provider}/{resource}/{operation}' + protocol: {} + - &ref_3 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ResourceProviderOperation-display-provider + description: 'Resource provider: Microsoft Desktop Virtualization.' + protocol: {} + - &ref_4 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ResourceProviderOperation-display-resource + description: Resource on which the operation is performed. + protocol: {} + - &ref_5 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ResourceProviderOperation-display-operation + description: 'Type of operation: get, read, delete, etc.' + protocol: {} + - &ref_6 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ResourceProviderOperation-display-description + description: Description of this operation. + protocol: {} + - &ref_144 + type: string + apiVersions: + - version: '1.0' + minLength: 1 + language: + default: + name: string + description: '' + protocol: {} + - &ref_150 + type: string + apiVersions: + - version: '1.0' + maxLength: 90 + minLength: 1 + pattern: '^[-\w\._\(\)]+$' + language: + default: + name: string + description: '' + protocol: {} + - &ref_151 + type: string + apiVersions: + - version: 2019-12-10-preview + maxLength: 24 + minLength: 3 + language: + default: + name: string + description: '' + protocol: {} + - &ref_91 + type: string + apiVersions: + - version: '1.0' + language: + default: + name: Resource-id + description: 'Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' + protocol: {} + - &ref_92 + type: string + apiVersions: + - version: '1.0' + language: + default: + name: Resource-name + description: The name of the resource + protocol: {} + - &ref_93 + type: string + apiVersions: + - version: '1.0' + language: + default: + name: Resource-type + description: The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + protocol: {} + - &ref_1 + type: string + apiVersions: + - version: '1.0' + language: + default: + name: string + description: '' + protocol: {} + - &ref_38 + type: string + apiVersions: + - version: '1.0' + extensions: + x-ms-mutability: + - read + - create + language: + default: + name: TrackedResource-location + description: The geo-location where the resource lives + protocol: {} + - &ref_11 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: WorkspaceProperties-description + description: Description of Workspace. + protocol: {} + - &ref_12 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: WorkspaceProperties-friendlyName + description: Friendly name of Workspace. + protocol: {} + - &ref_13 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: WorkspaceProperties-applicationGroupReferencesItem + description: '' + protocol: {} + - &ref_95 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: CloudError-code + description: Error code + protocol: {} + - &ref_96 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: CloudError-message + description: Error message indicating why the operation failed. + protocol: {} + - &ref_97 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: WorkspacePatchProperties-description + description: Description of Workspace. + protocol: {} + - &ref_98 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: WorkspacePatchProperties-friendlyName + description: Friendly name of Workspace. + protocol: {} + - &ref_99 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: WorkspacePatchProperties-applicationGroupReferencesItem + description: '' + protocol: {} + - &ref_101 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: WorkspaceList-nextLink + description: Link to the next page of results. + protocol: {} + - &ref_167 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: string + description: '' + protocol: {} + - &ref_14 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationGroupProperties-description + description: Description of ApplicationGroup. + protocol: {} + - &ref_15 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationGroupProperties-friendlyName + description: Friendly name of ApplicationGroup. + protocol: {} + - &ref_16 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationGroupProperties-hostPoolArmPath + description: HostPool arm path of ApplicationGroup. + protocol: {} + - &ref_17 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationGroupProperties-workspaceArmPath + description: Workspace arm path of ApplicationGroup. + protocol: {} + - &ref_102 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationGroupList-nextLink + description: Link to the next page of results. + protocol: {} + - &ref_40 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationGroupPatchProperties-description + description: Description of ApplicationGroup. + protocol: {} + - &ref_41 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationGroupPatchProperties-friendlyName + description: Friendly name of ApplicationGroup. + protocol: {} + - &ref_42 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: StartMenuItemProperties-appAlias + description: Alias of StartMenuItem. + protocol: {} + - &ref_43 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: StartMenuItemProperties-friendlyName + description: Friendly name of StartMenuItem. + protocol: {} + - &ref_44 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: StartMenuItemProperties-filePath + description: Path to the file of StartMenuItem. + protocol: {} + - &ref_45 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: StartMenuItemProperties-commandLineArguments + description: Command line arguments for StartMenuItem. + protocol: {} + - &ref_46 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: StartMenuItemProperties-iconPath + description: Path to the icon. + protocol: {} + - &ref_105 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: StartMenuItemList-nextLink + description: Link to the next page of results. + protocol: {} + - &ref_48 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationProperties-description + description: Description of Application. + protocol: {} + - &ref_49 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationProperties-friendlyName + description: Friendly name of Application. + protocol: {} + - &ref_50 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationProperties-filePath + description: Specifies a path for the executable file for the application. + protocol: {} + - &ref_52 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationProperties-commandLineArguments + description: Command Line Arguments for Application. + protocol: {} + - &ref_54 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationProperties-iconPath + description: Path to icon. + protocol: {} + - &ref_55 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationProperties-iconHash + description: Hash of the icon. + protocol: {} + - &ref_108 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationPatchProperties-description + description: Description of Application. + protocol: {} + - &ref_109 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationPatchProperties-friendlyName + description: Friendly name of Application. + protocol: {} + - &ref_110 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationPatchProperties-filePath + description: Specifies a path for the executable file for the application. + protocol: {} + - &ref_111 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationPatchProperties-commandLineArguments + description: Command Line Arguments for Application. + protocol: {} + - &ref_112 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationPatchProperties-iconPath + description: Path to icon. + protocol: {} + - &ref_114 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationList-nextLink + description: Link to the next page of results. + protocol: {} + - &ref_57 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: DesktopProperties-description + description: Description of Desktop. + protocol: {} + - &ref_58 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: DesktopProperties-friendlyName + description: Friendly name of Desktop. + protocol: {} + - &ref_59 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: DesktopProperties-iconHash + description: Hash of the icon. + protocol: {} + - &ref_116 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: DesktopPatchProperties-description + description: Description of Desktop. + protocol: {} + - &ref_117 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: DesktopPatchProperties-friendlyName + description: Friendly name of Desktop. + protocol: {} + - &ref_119 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: DesktopList-nextLink + description: Link to the next page of results. + protocol: {} + - &ref_19 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolProperties-friendlyName + description: Friendly name of HostPool. + protocol: {} + - &ref_20 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolProperties-description + description: Description of HostPool. + protocol: {} + - &ref_23 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolProperties-customRdpProperty + description: Custom rdp property of HostPool. + protocol: {} + - &ref_29 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: RegistrationInfo-token + description: The registration token base64 encoded string. + protocol: {} + - &ref_31 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolProperties-vmTemplate + description: VM template for sessionhosts configuration within hostpool. + protocol: {} + - &ref_32 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolProperties-applicationGroupReferencesItem + description: '' + protocol: {} + - &ref_33 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolProperties-ssoContext + description: Path to keyvault containing ssoContext secret. + protocol: {} + - &ref_61 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolPatchProperties-friendlyName + description: Friendly name of HostPool. + protocol: {} + - &ref_62 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolPatchProperties-description + description: Description of HostPool. + protocol: {} + - &ref_63 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolPatchProperties-customRdpProperty + description: Custom rdp property of HostPool. + protocol: {} + - &ref_64 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolPatchProperties-ssoContext + description: Path to keyvault containing ssoContext secret. + protocol: {} + - &ref_124 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolList-nextLink + description: Link to the next page of results. + protocol: {} + - &ref_65 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: UserSessionProperties-userPrincipalName + description: The user principal name. + protocol: {} + - &ref_68 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: UserSessionProperties-activeDirectoryUserName + description: The active directory user name. + protocol: {} + - &ref_125 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: UserSessionList-nextLink + description: Link to the next page of results. + protocol: {} + - &ref_235 + type: string + apiVersions: + - version: 2019-12-10-preview + maxLength: 48 + minLength: 3 + language: + default: + name: string + description: '' + protocol: {} + - &ref_72 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostProperties-agentVersion + description: Version of agent on SessionHost. + protocol: {} + - &ref_74 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostProperties-assignedUser + description: User assigned to SessionHost. + protocol: {} + - &ref_77 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostProperties-osVersion + description: The version of the OS on the session host. + protocol: {} + - &ref_78 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostProperties-sxSStackVersion + description: The version of the side by side stack on the session host. + protocol: {} + - &ref_81 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostProperties-updateErrorMessage + description: The error message. + protocol: {} + - &ref_82 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostPatchProperties-assignedUser + description: User assigned to SessionHost. + protocol: {} + - &ref_129 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostList-nextLink + description: Link to the next page of results. + protocol: {} + - &ref_236 + type: string + apiVersions: + - version: 2019-12-10-preview + maxLength: 24 + minLength: 1 + language: + default: + name: string + description: '' + protocol: {} + - &ref_130 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SendMessage-messageTitle + description: Title of message. + protocol: {} + - &ref_131 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SendMessage-messageBody + description: Body of message. + protocol: {} + choices: + - &ref_18 + choices: + - value: RemoteApp + language: + default: + name: RemoteApp + description: '' + cli: + cliKey: RemoteApp + - value: Desktop + language: + default: + name: Desktop + description: '' + cli: + cliKey: Desktop + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: ApplicationGroupType + description: Resource Type of ApplicationGroup. + cli: + cliKey: ApplicationGroupType + protocol: {} + - &ref_51 + choices: + - value: DoNotAllow + language: + default: + name: DoNotAllow + description: '' + cli: + cliKey: DoNotAllow + - value: Allow + language: + default: + name: Allow + description: '' + cli: + cliKey: Allow + - value: Require + language: + default: + name: Require + description: '' + cli: + cliKey: Require + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: CommandLineSetting + description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' + cli: + cliKey: CommandLineSetting + protocol: {} + - &ref_21 + choices: + - value: Personal + language: + default: + name: Personal + description: '' + cli: + cliKey: Personal + - value: Pooled + language: + default: + name: Pooled + description: '' + cli: + cliKey: Pooled + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: HostPoolType + description: HostPool type for desktop. + cli: + cliKey: HostPoolType + protocol: {} + - &ref_22 + choices: + - value: Automatic + language: + default: + name: Automatic + description: '' + cli: + cliKey: Automatic + - value: Direct + language: + default: + name: Direct + description: '' + cli: + cliKey: Direct + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: PersonalDesktopAssignmentType + description: PersonalDesktopAssignment type for HostPool. + cli: + cliKey: PersonalDesktopAssignmentType + protocol: {} + - &ref_25 + choices: + - value: BreadthFirst + language: + default: + name: BreadthFirst + description: '' + cli: + cliKey: BreadthFirst + - value: DepthFirst + language: + default: + name: DepthFirst + description: '' + cli: + cliKey: DepthFirst + - value: Persistent + language: + default: + name: Persistent + description: '' + cli: + cliKey: Persistent + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: LoadBalancerType + description: The type of the load balancer. + cli: + cliKey: LoadBalancerType + protocol: {} + - &ref_30 + choices: + - value: Delete + language: + default: + name: Delete + description: '' + cli: + cliKey: Delete + - value: None + language: + default: + name: None + description: '' + cli: + cliKey: None + - value: Update + language: + default: + name: Update + description: '' + cli: + cliKey: Update + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: RegistrationTokenOperation + description: The type of resetting the token. + cli: + cliKey: RegistrationTokenOperation + protocol: {} + - &ref_66 + choices: + - value: RemoteApp + language: + default: + name: RemoteApp + description: '' + cli: + cliKey: RemoteApp + - value: Desktop + language: + default: + name: Desktop + description: '' + cli: + cliKey: Desktop + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: ApplicationType + description: Application type of application. + cli: + cliKey: ApplicationType + protocol: {} + - &ref_67 + choices: + - value: Unknown + language: + default: + name: Unknown + description: '' + cli: + cliKey: Unknown + - value: Active + language: + default: + name: Active + description: '' + cli: + cliKey: Active + - value: Disconnected + language: + default: + name: Disconnected + description: '' + cli: + cliKey: Disconnected + - value: Pending + language: + default: + name: Pending + description: '' + cli: + cliKey: Pending + - value: LogOff + language: + default: + name: LogOff + description: '' + cli: + cliKey: LogOff + - value: UserProfileDiskMounted + language: + default: + name: UserProfileDiskMounted + description: '' + cli: + cliKey: UserProfileDiskMounted + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: SessionState + description: State of user session. + cli: + cliKey: SessionState + protocol: {} + - &ref_75 + choices: + - value: Available + language: + default: + name: Available + description: '' + cli: + cliKey: Available + - value: Unavailable + language: + default: + name: Unavailable + description: '' + cli: + cliKey: Unavailable + - value: Shutdown + language: + default: + name: Shutdown + description: '' + cli: + cliKey: Shutdown + - value: Disconnected + language: + default: + name: Disconnected + description: '' + cli: + cliKey: Disconnected + - value: Upgrading + language: + default: + name: Upgrading + description: '' + cli: + cliKey: Upgrading + - value: UpgradeFailed + language: + default: + name: UpgradeFailed + description: '' + cli: + cliKey: UpgradeFailed + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: Status + description: Status for a SessionHost. + cli: + cliKey: Status + protocol: {} + - &ref_79 + choices: + - value: Initial + language: + default: + name: Initial + description: '' + cli: + cliKey: Initial + - value: Pending + language: + default: + name: Pending + description: '' + cli: + cliKey: Pending + - value: Started + language: + default: + name: Started + description: '' + cli: + cliKey: Started + - value: Succeeded + language: + default: + name: Succeeded + description: '' + cli: + cliKey: Succeeded + - value: Failed + language: + default: + name: Failed + description: '' + cli: + cliKey: Failed + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: UpdateState + description: Update state of a SessionHost. + cli: + cliKey: UpdateState + protocol: {} + constants: + - &ref_145 + type: constant + value: + value: 2019-12-10-preview + valueType: *ref_0 + language: + default: + name: ApiVersion-2019-12-10-preview + description: Api Version (2019-12-10-preview) + protocol: {} + - &ref_155 + type: constant + value: + value: application/json + valueType: *ref_0 + language: + default: + name: application/json + description: Content Type 'application/json' + protocol: {} + dictionaries: + - &ref_37 + type: dictionary + elementType: *ref_1 + language: + default: + name: TrackedResource-tags + description: Resource tags. + cli: + cli-complexity: dictionary_simple + cli-mark: checked + protocol: {} + any: + - &ref_39 + type: any + language: + default: + name: any + description: Any object + protocol: {} + byteArrays: + - &ref_56 + type: byte-array + format: byte + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationProperties-iconContent + description: the icon a 64 bit string as a byte array. + protocol: {} + - &ref_60 + type: byte-array + format: byte + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: DesktopProperties-iconContent + description: The icon a 64 bit string as a byte array. + protocol: {} + dateTimes: + - &ref_28 + type: date-time + format: date-time + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: RegistrationInfo-expirationTime + description: Expiration time of registration token. + protocol: {} + - &ref_69 + type: date-time + format: date-time + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: UserSessionProperties-createTime + description: The timestamp of the user session create. + protocol: {} + - &ref_70 + type: date-time + format: date-time + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostProperties-lastHeartBeat + description: Last heart beat from SessionHost. + protocol: {} + - &ref_76 + type: date-time + format: date-time + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostProperties-statusTimestamp + description: The timestamp of the status. + protocol: {} + - &ref_80 + type: date-time + format: date-time + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostProperties-lastUpdateTime + description: The timestamp of the last update. + protocol: {} + objects: + - &ref_148 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_132 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: &ref_7 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_2 + serializedName: name + language: + default: + name: name + description: 'Operation name, in format of {provider}/{resource}/{operation}' + cli: + cliKey: name + protocol: {} + - schema: &ref_8 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_3 + serializedName: provider + language: + default: + name: provider + description: 'Resource provider: Microsoft Desktop Virtualization.' + cli: + cliKey: provider + protocol: {} + - schema: *ref_4 + serializedName: resource + language: + default: + name: resource + description: Resource on which the operation is performed. + cli: + cliKey: resource + protocol: {} + - schema: *ref_5 + serializedName: operation + language: + default: + name: operation + description: 'Type of operation: get, read, delete, etc.' + cli: + cliKey: operation + protocol: {} + - schema: *ref_6 + serializedName: description + language: + default: + name: description + description: Description of this operation. + cli: + cliKey: description + protocol: {} + serializationFormats: + - json + usage: + - output + language: + default: + name: ResourceProviderOperation-display + description: Display metadata associated with the operation. + namespace: '' + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 4 + propertyCountIfSimplifyWithoutSimpleObject: 4 + simplifiable: true + cliKey: ResourceProviderOperation-display + protocol: {} + serializedName: display + language: + default: + name: display + description: Display metadata associated with the operation. + cli: + cliKey: display + protocol: {} + serializationFormats: + - json + usage: + - output + language: + default: + name: ResourceProviderOperation + description: Supported operation of this resource provider. + namespace: '' + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 5 + propertyCountIfSimplifyWithoutSimpleObject: 2 + simplifiable: true + cliKey: ResourceProviderOperation + protocol: {} + language: + default: + name: ResourceProviderOperationList-value + description: List of operations supported by this resource provider. + cli: + cli-complexity: array_complex + cli-mark: checked + protocol: {} + serializedName: value + language: + default: + name: value + description: List of operations supported by this resource provider. + cli: + cliKey: value + protocol: {} + serializationFormats: + - json + usage: + - output + language: + default: + name: ResourceProviderOperationList + description: Result of the request to list operations. + namespace: '' + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ResourceProviderOperationList + protocol: {} + - *ref_7 + - *ref_8 + - &ref_10 + type: object + apiVersions: + - version: '1.0' + children: + all: + - &ref_9 + type: object + apiVersions: + - version: '1.0' + children: + all: + - &ref_34 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_9 + - *ref_10 + immediate: + - *ref_9 + properties: + - schema: &ref_94 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_11 + serializedName: description + language: + default: + name: description + description: Description of Workspace. + cli: + cliKey: description + protocol: {} + - schema: *ref_12 + serializedName: friendlyName + language: + default: + name: friendlyName + description: Friendly name of Workspace. + cli: + cliKey: friendlyName + protocol: {} + - schema: &ref_133 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_13 + language: + default: + name: WorkspaceProperties-applicationGroupReferences + description: List of applicationGroup resource Ids. + cli: + cli-complexity: array_simple + cli-mark: checked + protocol: {} + serializedName: applicationGroupReferences + language: + default: + name: applicationGroupReferences + description: List of applicationGroup resource Ids. + cli: + cliKey: applicationGroupReferences + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: WorkspaceProperties + description: Schema for Workspace properties. + namespace: '' + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: WorkspaceProperties + protocol: {} + serializedName: properties + extensions: + x-ms-client-flatten: true + language: + default: + name: properties + description: Detailed properties for Workspace + cli: + cliKey: properties + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: Workspace + description: Represents a Workspace definition. + namespace: '' + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: Workspace + protocol: {} + - &ref_35 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_9 + - *ref_10 + immediate: + - *ref_9 + properties: + - schema: &ref_103 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_14 + required: false + serializedName: description + language: + default: + name: description + description: Description of ApplicationGroup. + cli: + cliKey: description + protocol: {} + - schema: *ref_15 + required: false + serializedName: friendlyName + language: + default: + name: friendlyName + description: Friendly name of ApplicationGroup. + cli: + cliKey: friendlyName + protocol: {} + - schema: *ref_16 + required: true + serializedName: hostPoolArmPath + language: + default: + name: hostPoolArmPath + description: HostPool arm path of ApplicationGroup. + cli: + cliKey: hostPoolArmPath + protocol: {} + - schema: *ref_17 + readOnly: true + required: false + serializedName: workspaceArmPath + language: + default: + name: workspaceArmPath + description: Workspace arm path of ApplicationGroup. + cli: + cliKey: workspaceArmPath + protocol: {} + - schema: *ref_18 + required: true + serializedName: applicationGroupType + language: + default: + name: applicationGroupType + description: Resource Type of ApplicationGroup. + cli: + cliKey: applicationGroupType + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: ApplicationGroupProperties + description: Schema for ApplicationGroup properties. + namespace: '' + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 4 + propertyCountIfSimplifyWithoutSimpleObject: 4 + simplifiable: true + cliKey: ApplicationGroupProperties + protocol: {} + required: true + serializedName: properties + extensions: + x-ms-client-flatten: true + x-nullable: false + language: + default: + name: properties + description: Detailed properties for ApplicationGroup + cli: + cliKey: properties + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: ApplicationGroup + description: Represents a ApplicationGroup definition. + namespace: '' + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ApplicationGroup + protocol: {} + - &ref_36 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_9 + - *ref_10 + immediate: + - *ref_9 + properties: + - schema: &ref_120 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_19 + required: false + serializedName: friendlyName + language: + default: + name: friendlyName + description: Friendly name of HostPool. + cli: + cliKey: friendlyName + protocol: {} + - schema: *ref_20 + required: false + serializedName: description + language: + default: + name: description + description: Description of HostPool. + cli: + cliKey: description + protocol: {} + - schema: *ref_21 + required: true + serializedName: hostPoolType + language: + default: + name: hostPoolType + description: HostPool type for desktop. + cli: + cliKey: hostPoolType + protocol: {} + - schema: *ref_22 + required: true + serializedName: personalDesktopAssignmentType + language: + default: + name: personalDesktopAssignmentType + description: PersonalDesktopAssignment type for HostPool. + cli: + cliKey: personalDesktopAssignmentType + protocol: {} + - schema: *ref_23 + required: false + serializedName: customRdpProperty + language: + default: + name: customRdpProperty + description: Custom rdp property of HostPool. + cli: + cliKey: customRdpProperty + protocol: {} + - schema: *ref_24 + required: false + serializedName: maxSessionLimit + language: + default: + name: maxSessionLimit + description: The max session limit of HostPool. + cli: + cliKey: maxSessionLimit + protocol: {} + - schema: *ref_25 + required: true + serializedName: loadBalancerType + language: + default: + name: loadBalancerType + description: The type of the load balancer. + cli: + cliKey: loadBalancerType + protocol: {} + - schema: *ref_26 + required: false + serializedName: ring + language: + default: + name: ring + description: The ring number of HostPool. + cli: + cliKey: ring + protocol: {} + - schema: *ref_27 + required: false + serializedName: validationEnvironment + language: + default: + name: validationEnvironment + description: Is validation environment. + cli: + cliKey: validationEnvironment + protocol: {} + - schema: &ref_121 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_28 + serializedName: expirationTime + language: + default: + name: expirationTime + description: Expiration time of registration token. + cli: + cliKey: expirationTime + protocol: {} + - schema: *ref_29 + serializedName: token + language: + default: + name: token + description: The registration token base64 encoded string. + cli: + cliKey: token + protocol: {} + - schema: *ref_30 + serializedName: registrationTokenOperation + language: + default: + name: registrationTokenOperation + description: The type of resetting the token. + cli: + cliKey: registrationTokenOperation + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: RegistrationInfo + description: Represents a RegistrationInfo definition. + namespace: '' + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 3 + propertyCountIfSimplifyWithoutSimpleObject: 3 + simplifiable: true + cliKey: RegistrationInfo + protocol: {} + required: false + serializedName: registrationInfo + language: + default: + name: registrationInfo + description: The registration info of HostPool. + cli: + cliKey: registrationInfo + protocol: {} + - schema: *ref_31 + required: false + serializedName: vmTemplate + language: + default: + name: vmTemplate + description: VM template for sessionhosts configuration within hostpool. + cli: + cliKey: vmTemplate + protocol: {} + - schema: &ref_140 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_32 + language: + default: + name: HostPoolProperties-applicationGroupReferences + description: List of applicationGroup links. + cli: + cli-complexity: array_simple + cli-mark: checked + protocol: {} + readOnly: true + required: false + serializedName: applicationGroupReferences + language: + default: + name: applicationGroupReferences + description: List of applicationGroup links. + cli: + cliKey: applicationGroupReferences + protocol: {} + - schema: *ref_33 + required: false + serializedName: ssoContext + language: + default: + name: ssoContext + description: Path to keyvault containing ssoContext secret. + cli: + cliKey: ssoContext + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: HostPoolProperties + description: Properties of HostPool. + namespace: '' + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 14 + propertyCountIfSimplifyWithoutSimpleObject: 12 + simplifiable: true + cliKey: HostPoolProperties + protocol: {} + required: true + serializedName: properties + extensions: + x-ms-client-flatten: true + x-nullable: false + language: + default: + name: properties + description: Detailed properties for HostPool + cli: + cliKey: properties + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: HostPool + description: Represents a HostPool definition. + namespace: '' + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: HostPool + protocol: {} + immediate: + - *ref_34 + - *ref_35 + - *ref_36 + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - schema: *ref_37 + required: false + serializedName: tags + language: + default: + name: tags + description: Resource tags. + cli: + cliKey: tags + protocol: {} + - schema: *ref_38 + required: true + serializedName: location + language: + default: + name: location + description: The geo-location where the resource lives + cli: + cliKey: location + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: TrackedResource + description: The resource model definition for a ARM tracked top level resource + namespace: '' + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: TrackedResource + protocol: {} + - *ref_34 + - *ref_35 + - &ref_83 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - schema: *ref_39 + serializedName: tags + language: + default: + name: tags + description: tags to be updated + cli: + cliKey: tags + protocol: {} + - schema: &ref_104 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_40 + serializedName: description + language: + default: + name: description + description: Description of ApplicationGroup. + cli: + cliKey: description + protocol: {} + - schema: *ref_41 + serializedName: friendlyName + language: + default: + name: friendlyName + description: Friendly name of ApplicationGroup. + cli: + cliKey: friendlyName + protocol: {} + serializationFormats: + - json + usage: + - input + - output + language: + default: + name: ApplicationGroupPatchProperties + description: ApplicationGroup properties that can be patched. + namespace: '' + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 2 + simplifiable: true + cliKey: ApplicationGroupPatchProperties + protocol: {} + serializedName: properties + extensions: + x-ms-client-flatten: true + language: + default: + name: properties + description: ApplicationGroup properties that can be patched. + cli: + cliKey: properties + protocol: {} + serializationFormats: + - json + usage: + - input + - output + language: + default: + name: ApplicationGroupPatch + description: ApplicationGroup properties that can be patched. + namespace: '' + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ApplicationGroupPatch + protocol: {} + - &ref_84 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - schema: &ref_106 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_42 + serializedName: appAlias + language: + default: + name: appAlias + description: Alias of StartMenuItem. + cli: + cliKey: appAlias + protocol: {} + - schema: *ref_43 + serializedName: friendlyName + language: + default: + name: friendlyName + description: Friendly name of StartMenuItem. + cli: + cliKey: friendlyName + protocol: {} + - schema: *ref_44 + serializedName: filePath + language: + default: + name: filePath + description: Path to the file of StartMenuItem. + cli: + cliKey: filePath + protocol: {} + - schema: *ref_45 + serializedName: commandLineArguments + language: + default: + name: commandLineArguments + description: Command line arguments for StartMenuItem. + cli: + cliKey: commandLineArguments + protocol: {} + - schema: *ref_46 + serializedName: iconPath + language: + default: + name: iconPath + description: Path to the icon. + cli: + cliKey: iconPath + protocol: {} + - schema: *ref_47 + serializedName: iconIndex + language: + default: + name: iconIndex + description: Index of the icon. + cli: + cliKey: iconIndex + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: StartMenuItemProperties + description: Schema for StartMenuItem properties. + namespace: '' + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 6 + propertyCountIfSimplifyWithoutSimpleObject: 6 + simplifiable: true + cliKey: StartMenuItemProperties + protocol: {} + serializedName: properties + extensions: + x-ms-client-flatten: true + language: + default: + name: properties + description: Detailed properties for StartMenuItem + cli: + cliKey: properties + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: StartMenuItem + description: Represents a StartMenuItem definition. + namespace: '' + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 6 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: StartMenuItem + protocol: {} + - &ref_85 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - schema: &ref_107 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_48 + required: false + serializedName: description + language: + default: + name: description + description: Description of Application. + cli: + cliKey: description + protocol: {} + - schema: *ref_49 + required: false + serializedName: friendlyName + language: + default: + name: friendlyName + description: Friendly name of Application. + cli: + cliKey: friendlyName + protocol: {} + - schema: *ref_50 + required: false + serializedName: filePath + language: + default: + name: filePath + description: Specifies a path for the executable file for the application. + cli: + cliKey: filePath + protocol: {} + - schema: *ref_51 + required: true + serializedName: commandLineSetting + language: + default: + name: commandLineSetting + description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' + cli: + cliKey: commandLineSetting + protocol: {} + - schema: *ref_52 + required: false + serializedName: commandLineArguments + language: + default: + name: commandLineArguments + description: Command Line Arguments for Application. + cli: + cliKey: commandLineArguments + protocol: {} + - schema: *ref_53 + required: false + serializedName: showInPortal + language: + default: + name: showInPortal + description: Specifies whether to show the RemoteApp program in the RD Web Access server. + cli: + cliKey: showInPortal + protocol: {} + - schema: *ref_54 + required: false + serializedName: iconPath + language: + default: + name: iconPath + description: Path to icon. + cli: + cliKey: iconPath + protocol: {} + - schema: *ref_47 + required: false + serializedName: iconIndex + language: + default: + name: iconIndex + description: Index of the icon. + cli: + cliKey: iconIndex + protocol: {} + - schema: *ref_55 + readOnly: true + required: false + serializedName: iconHash + language: + default: + name: iconHash + description: Hash of the icon. + cli: + cliKey: iconHash + protocol: {} + - schema: *ref_56 + readOnly: true + required: false + serializedName: iconContent + language: + default: + name: iconContent + description: the icon a 64 bit string as a byte array. + cli: + cliKey: iconContent + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: ApplicationProperties + description: Schema for Application properties. + namespace: '' + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 8 + propertyCountIfSimplifyWithoutSimpleObject: 8 + simplifiable: true + cliKey: ApplicationProperties + protocol: {} + required: true + serializedName: properties + extensions: + x-ms-client-flatten: true + x-nullable: false + language: + default: + name: properties + description: Detailed properties for Application + cli: + cliKey: properties + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: Application + description: Schema for Application properties. + namespace: '' + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 8 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: Application + protocol: {} + - &ref_86 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - schema: &ref_115 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_57 + serializedName: description + language: + default: + name: description + description: Description of Desktop. + cli: + cliKey: description + protocol: {} + - schema: *ref_58 + serializedName: friendlyName + language: + default: + name: friendlyName + description: Friendly name of Desktop. + cli: + cliKey: friendlyName + protocol: {} + - schema: *ref_59 + readOnly: true + serializedName: iconHash + language: + default: + name: iconHash + description: Hash of the icon. + cli: + cliKey: iconHash + protocol: {} + - schema: *ref_60 + readOnly: true + serializedName: iconContent + language: + default: + name: iconContent + description: The icon a 64 bit string as a byte array. + cli: + cliKey: iconContent + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: DesktopProperties + description: Schema for Desktop properties. + namespace: '' + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 2 + simplifiable: true + cliKey: DesktopProperties + protocol: {} + serializedName: properties + extensions: + x-ms-client-flatten: true + language: + default: + name: properties + description: Detailed properties for Desktop + cli: + cliKey: properties + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: Desktop + description: Schema for Desktop properties. + namespace: '' + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: Desktop + protocol: {} + - *ref_36 + - &ref_87 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - schema: *ref_39 + serializedName: tags + language: + default: + name: tags + description: tags to be updated + cli: + cliKey: tags + protocol: {} + - schema: &ref_122 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_61 + serializedName: friendlyName + language: + default: + name: friendlyName + description: Friendly name of HostPool. + cli: + cliKey: friendlyName + protocol: {} + - schema: *ref_62 + serializedName: description + language: + default: + name: description + description: Description of HostPool. + cli: + cliKey: description + protocol: {} + - schema: *ref_63 + serializedName: customRdpProperty + language: + default: + name: customRdpProperty + description: Custom rdp property of HostPool. + cli: + cliKey: customRdpProperty + protocol: {} + - schema: *ref_24 + serializedName: maxSessionLimit + language: + default: + name: maxSessionLimit + description: The max session limit of HostPool. + cli: + cliKey: maxSessionLimit + protocol: {} + - schema: *ref_22 + serializedName: personalDesktopAssignmentType + language: + default: + name: personalDesktopAssignmentType + description: PersonalDesktopAssignment type for HostPool. + cli: + cliKey: personalDesktopAssignmentType + protocol: {} + - schema: *ref_25 + serializedName: loadBalancerType + language: + default: + name: loadBalancerType + description: The type of the load balancer. + cli: + cliKey: loadBalancerType + protocol: {} + - schema: *ref_26 + serializedName: ring + language: + default: + name: ring + description: The ring number of HostPool. + cli: + cliKey: ring + protocol: {} + - schema: *ref_27 + serializedName: validationEnvironment + language: + default: + name: validationEnvironment + description: Is validation environment. + cli: + cliKey: validationEnvironment + protocol: {} + - schema: &ref_123 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_30 + serializedName: registrationTokenOperation + language: + default: + name: registrationTokenOperation + description: The type of resetting the token. + cli: + cliKey: registrationTokenOperation + protocol: {} + serializationFormats: + - json + usage: + - input + - output + language: + default: + name: RegistrationInfoPatch + description: Represents a RegistrationInfo definition. + namespace: '' + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 1 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: RegistrationInfoPatch + protocol: {} + serializedName: registrationInfo + language: + default: + name: registrationInfo + description: The registration info of HostPool. + cli: + cliKey: registrationInfo + protocol: {} + - schema: *ref_64 + serializedName: ssoContext + language: + default: + name: ssoContext + description: Path to keyvault containing ssoContext secret. + cli: + cliKey: ssoContext + protocol: {} + serializationFormats: + - json + usage: + - input + - output + language: + default: + name: HostPoolPatchProperties + description: Properties of HostPool. + namespace: '' + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10 + propertyCountIfSimplifyWithoutSimpleObject: 10 + simplifiable: true + cliKey: HostPoolPatchProperties + protocol: {} + serializedName: properties + extensions: + x-ms-client-flatten: true + language: + default: + name: properties + description: HostPool properties that can be patched. + cli: + cliKey: properties + protocol: {} + serializationFormats: + - json + usage: + - input + - output + language: + default: + name: HostPoolPatch + description: HostPool properties that can be patched. + namespace: '' + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: HostPoolPatch + protocol: {} + - &ref_88 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - schema: &ref_126 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_65 + serializedName: userPrincipalName + language: + default: + name: userPrincipalName + description: The user principal name. + cli: + cliKey: userPrincipalName + protocol: {} + - schema: *ref_66 + serializedName: applicationType + language: + default: + name: applicationType + description: Application type of application. + cli: + cliKey: applicationType + protocol: {} + - schema: *ref_67 + serializedName: sessionState + language: + default: + name: sessionState + description: State of user session. + cli: + cliKey: sessionState + protocol: {} + - schema: *ref_68 + serializedName: activeDirectoryUserName + language: + default: + name: activeDirectoryUserName + description: The active directory user name. + cli: + cliKey: activeDirectoryUserName + protocol: {} + - schema: *ref_69 + serializedName: createTime + language: + default: + name: createTime + description: The timestamp of the user session create. + cli: + cliKey: createTime + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: UserSessionProperties + description: Schema for UserSession properties. + namespace: '' + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 5 + propertyCountIfSimplifyWithoutSimpleObject: 5 + simplifiable: true + cliKey: UserSessionProperties + protocol: {} + serializedName: properties + extensions: + x-ms-client-flatten: true + language: + default: + name: properties + description: Detailed properties for UserSession + cli: + cliKey: properties + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: UserSession + description: Represents a UserSession definition. + namespace: '' + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 5 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: UserSession + protocol: {} + - &ref_89 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - schema: &ref_127 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_70 + serializedName: lastHeartBeat + language: + default: + name: lastHeartBeat + description: Last heart beat from SessionHost. + cli: + cliKey: lastHeartBeat + protocol: {} + - schema: *ref_71 + serializedName: sessions + language: + default: + name: sessions + description: Number of sessions on SessionHost. + cli: + cliKey: sessions + protocol: {} + - schema: *ref_72 + serializedName: agentVersion + language: + default: + name: agentVersion + description: Version of agent on SessionHost. + cli: + cliKey: agentVersion + protocol: {} + - schema: *ref_73 + serializedName: allowNewSession + language: + default: + name: allowNewSession + description: Allow a new session. + cli: + cliKey: allowNewSession + protocol: {} + - schema: *ref_74 + serializedName: assignedUser + language: + default: + name: assignedUser + description: User assigned to SessionHost. + cli: + cliKey: assignedUser + protocol: {} + - schema: *ref_75 + serializedName: status + language: + default: + name: status + description: Status for a SessionHost. + cli: + cliKey: status + protocol: {} + - schema: *ref_76 + readOnly: true + serializedName: statusTimestamp + language: + default: + name: statusTimestamp + description: The timestamp of the status. + cli: + cliKey: statusTimestamp + protocol: {} + - schema: *ref_77 + serializedName: osVersion + language: + default: + name: osVersion + description: The version of the OS on the session host. + cli: + cliKey: osVersion + protocol: {} + - schema: *ref_78 + serializedName: sxSStackVersion + language: + default: + name: sxSStackVersion + description: The version of the side by side stack on the session host. + cli: + cliKey: sxSStackVersion + protocol: {} + - schema: *ref_79 + serializedName: updateState + language: + default: + name: updateState + description: Update state of a SessionHost. + cli: + cliKey: updateState + protocol: {} + - schema: *ref_80 + readOnly: true + serializedName: lastUpdateTime + language: + default: + name: lastUpdateTime + description: The timestamp of the last update. + cli: + cliKey: lastUpdateTime + protocol: {} + - schema: *ref_81 + serializedName: updateErrorMessage + language: + default: + name: updateErrorMessage + description: The error message. + cli: + cliKey: updateErrorMessage + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: SessionHostProperties + description: Schema for SessionHost properties. + namespace: '' + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10 + propertyCountIfSimplifyWithoutSimpleObject: 10 + simplifiable: true + cliKey: SessionHostProperties + protocol: {} + serializedName: properties + extensions: + x-ms-client-flatten: true + language: + default: + name: properties + description: Detailed properties for SessionHost + cli: + cliKey: properties + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: SessionHost + description: Represents a SessionHost definition. + namespace: '' + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: SessionHost + protocol: {} + - &ref_90 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - schema: &ref_128 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_73 + serializedName: allowNewSession + language: + default: + name: allowNewSession + description: Allow a new session. + cli: + cliKey: allowNewSession + protocol: {} + - schema: *ref_82 + serializedName: assignedUser + language: + default: + name: assignedUser + description: User assigned to SessionHost. + cli: + cliKey: assignedUser + protocol: {} + serializationFormats: + - json + usage: + - input + - output + language: + default: + name: SessionHostPatchProperties + description: SessionHost properties that can be patched. + namespace: '' + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 2 + simplifiable: true + cliKey: SessionHostPatchProperties + protocol: {} + serializedName: properties + extensions: + x-ms-client-flatten: true + language: + default: + name: properties + description: Detailed properties for SessionHost + cli: + cliKey: properties + protocol: {} + serializationFormats: + - json + usage: + - input + - output + language: + default: + name: SessionHostPatch + description: SessionHost properties that can be patched. + namespace: '' + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: SessionHostPatch + protocol: {} + immediate: + - *ref_9 + - *ref_83 + - *ref_84 + - *ref_85 + - *ref_86 + - *ref_87 + - *ref_88 + - *ref_89 + - *ref_90 + properties: + - schema: *ref_91 + readOnly: true + serializedName: id + language: + default: + name: id + description: 'Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' + cli: + cliKey: id + protocol: {} + - schema: *ref_92 + readOnly: true + serializedName: name + language: + default: + name: name + description: The name of the resource + cli: + cliKey: name + protocol: {} + - schema: *ref_93 + readOnly: true + serializedName: type + language: + default: + name: type + description: The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + cli: + cliKey: type + protocol: {} + serializationFormats: + - json + usage: + - output + - input + extensions: + x-ms-azure-resource: true + language: + default: + name: Resource + description: '' + namespace: '' + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 0 + propertyCountIfSimplifyWithoutSimpleObject: 0 + simplifiable: true + cliKey: Resource + protocol: {} + - *ref_9 + - *ref_34 + - *ref_94 + - &ref_154 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_95 + serializedName: code + language: + default: + name: code + description: Error code + cli: + cliKey: code + protocol: {} + - schema: *ref_96 + serializedName: message + language: + default: + name: message + description: Error message indicating why the operation failed. + cli: + cliKey: message + protocol: {} + serializationFormats: + - json + usage: + - output + language: + default: + name: CloudError + description: Error response of an operation failure + namespace: '' + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 2 + simplifiable: true + cliKey: CloudError + protocol: {} + - &ref_161 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_39 + serializedName: tags + language: + default: + name: tags + description: tags to be updated + cli: + cliKey: tags + protocol: {} + - schema: &ref_100 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_97 + serializedName: description + language: + default: + name: description + description: Description of Workspace. + cli: + cliKey: description + protocol: {} + - schema: *ref_98 + serializedName: friendlyName + language: + default: + name: friendlyName + description: Friendly name of Workspace. + cli: + cliKey: friendlyName + protocol: {} + - schema: &ref_134 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_99 + language: + default: + name: WorkspacePatchProperties-applicationGroupReferences + description: List of applicationGroup links. + cli: + cli-complexity: array_simple + cli-mark: checked + protocol: {} + serializedName: applicationGroupReferences + language: + default: + name: applicationGroupReferences + description: List of applicationGroup links. + cli: + cliKey: applicationGroupReferences + protocol: {} + serializationFormats: + - json + usage: + - input + language: + default: + name: WorkspacePatchProperties + description: Workspace properties that can be patched. + namespace: '' + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: WorkspacePatchProperties + protocol: {} + serializedName: properties + extensions: + x-ms-client-flatten: true + language: + default: + name: properties + description: Detailed properties for Workspace + cli: + cliKey: properties + protocol: {} + serializationFormats: + - json + usage: + - input + language: + default: + name: WorkspacePatch + description: Workspace properties that can be patched. + namespace: '' + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: WorkspacePatch + protocol: {} + - *ref_100 + - &ref_166 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_135 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_34 + language: + default: + name: WorkspaceList-value + description: List of Workspace definitions. + cli: + cli-complexity: array_complex + cli-mark: checked + protocol: {} + serializedName: value + language: + default: + name: value + description: List of Workspace definitions. + cli: + cliKey: value + protocol: {} + - schema: *ref_101 + readOnly: true + serializedName: nextLink + language: + default: + name: nextLink + description: Link to the next page of results. + cli: + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: WorkspaceList + usage: + - output + language: + default: + name: WorkspaceList + description: List of Workspace definitions. + namespace: '' + summary: WorkspaceList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: WorkspaceList + protocol: {} + - &ref_171 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_136 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_35 + language: + default: + name: ApplicationGroupList-value + description: List of ApplicationGroup definitions. + cli: + cli-complexity: array_complex + cli-mark: checked + protocol: {} + serializedName: value + language: + default: + name: value + description: List of ApplicationGroup definitions. + cli: + cliKey: value + protocol: {} + - schema: *ref_102 + readOnly: true + serializedName: nextLink + language: + default: + name: nextLink + description: Link to the next page of results. + cli: + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: ApplicationGroupList + usage: + - output + language: + default: + name: ApplicationGroupList + description: List of ApplicationGroup definitions. + namespace: '' + summary: ApplicationGroupList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ApplicationGroupList + protocol: {} + - *ref_35 + - *ref_103 + - *ref_83 + - *ref_104 + - &ref_187 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_137 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_84 + language: + default: + name: StartMenuItemList-value + description: List of StartMenuItem definitions. + cli: + cli-complexity: array_complex + cli-mark: checked + protocol: {} + serializedName: value + language: + default: + name: value + description: List of StartMenuItem definitions. + cli: + cliKey: value + protocol: {} + - schema: *ref_105 + readOnly: true + serializedName: nextLink + language: + default: + name: nextLink + description: Link to the next page of results. + cli: + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: StartMenuItemList + usage: + - output + language: + default: + name: StartMenuItemList + description: List of StartMenuItem definitions. + namespace: '' + summary: StartMenuItemList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: StartMenuItemList + protocol: {} + - *ref_84 + - *ref_106 + - *ref_85 + - *ref_107 + - &ref_198 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_39 + serializedName: tags + language: + default: + name: tags + description: tags to be updated + cli: + cliKey: tags + protocol: {} + - schema: &ref_113 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_108 + serializedName: description + language: + default: + name: description + description: Description of Application. + cli: + cliKey: description + protocol: {} + - schema: *ref_109 + serializedName: friendlyName + language: + default: + name: friendlyName + description: Friendly name of Application. + cli: + cliKey: friendlyName + protocol: {} + - schema: *ref_110 + serializedName: filePath + language: + default: + name: filePath + description: Specifies a path for the executable file for the application. + cli: + cliKey: filePath + protocol: {} + - schema: *ref_51 + serializedName: commandLineSetting + language: + default: + name: commandLineSetting + description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' + cli: + cliKey: commandLineSetting + protocol: {} + - schema: *ref_111 + serializedName: commandLineArguments + language: + default: + name: commandLineArguments + description: Command Line Arguments for Application. + cli: + cliKey: commandLineArguments + protocol: {} + - schema: *ref_53 + serializedName: showInPortal + language: + default: + name: showInPortal + description: Specifies whether to show the RemoteApp program in the RD Web Access server. + cli: + cliKey: showInPortal + protocol: {} + - schema: *ref_112 + serializedName: iconPath + language: + default: + name: iconPath + description: Path to icon. + cli: + cliKey: iconPath + protocol: {} + - schema: *ref_47 + serializedName: iconIndex + language: + default: + name: iconIndex + description: Index of the icon. + cli: + cliKey: iconIndex + protocol: {} + serializationFormats: + - json + usage: + - input + language: + default: + name: ApplicationPatchProperties + description: Application properties that can be patched. + namespace: '' + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 8 + propertyCountIfSimplifyWithoutSimpleObject: 8 + simplifiable: true + cliKey: ApplicationPatchProperties + protocol: {} + serializedName: properties + extensions: + x-ms-client-flatten: true + language: + default: + name: properties + description: Detailed properties for Application + cli: + cliKey: properties + protocol: {} + serializationFormats: + - json + usage: + - input + language: + default: + name: ApplicationPatch + description: Application properties that can be patched. + namespace: '' + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ApplicationPatch + protocol: {} + - *ref_113 + - &ref_205 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_138 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_85 + language: + default: + name: ApplicationList-value + description: List of Application definitions. + cli: + cli-complexity: array_complex + cli-mark: checked + protocol: {} + serializedName: value + language: + default: + name: value + description: List of Application definitions. + cli: + cliKey: value + protocol: {} + - schema: *ref_114 + readOnly: true + serializedName: nextLink + language: + default: + name: nextLink + description: Link to the next page of results. + cli: + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: ApplicationList + usage: + - output + language: + default: + name: ApplicationList + description: List of Application definitions. + namespace: '' + summary: ApplicationList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ApplicationList + protocol: {} + - *ref_86 + - *ref_115 + - &ref_209 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_39 + serializedName: tags + language: + default: + name: tags + description: tags to be updated + cli: + cliKey: tags + protocol: {} + - schema: &ref_118 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_116 + serializedName: description + language: + default: + name: description + description: Description of Desktop. + cli: + cliKey: description + protocol: {} + - schema: *ref_117 + serializedName: friendlyName + language: + default: + name: friendlyName + description: Friendly name of Desktop. + cli: + cliKey: friendlyName + protocol: {} + serializationFormats: + - json + usage: + - input + language: + default: + name: DesktopPatchProperties + description: Desktop properties that can be patched. + namespace: '' + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 2 + simplifiable: true + cliKey: DesktopPatchProperties + protocol: {} + serializedName: properties + extensions: + x-ms-client-flatten: true + language: + default: + name: properties + description: Detailed properties for Desktop + cli: + cliKey: properties + protocol: {} + serializationFormats: + - json + usage: + - input + language: + default: + name: DesktopPatch + description: Desktop properties that can be patched. + namespace: '' + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: DesktopPatch + protocol: {} + - *ref_118 + - &ref_216 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_139 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_86 + language: + default: + name: DesktopList-value + description: List of Desktop definitions. + cli: + cli-complexity: array_complex + cli-mark: checked + protocol: {} + serializedName: value + language: + default: + name: value + description: List of Desktop definitions. + cli: + cliKey: value + protocol: {} + - schema: *ref_119 + readOnly: true + serializedName: nextLink + language: + default: + name: nextLink + description: Link to the next page of results. + cli: + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: DesktopList + usage: + - output + language: + default: + name: DesktopList + description: List of Desktop definitions. + namespace: '' + summary: DesktopList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: DesktopList + protocol: {} + - *ref_36 + - *ref_120 + - *ref_121 + - *ref_87 + - *ref_122 + - *ref_123 + - &ref_230 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_141 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_36 + language: + default: + name: HostPoolList-value + description: List of HostPool definitions. + cli: + cli-complexity: array_complex + cli-mark: checked + protocol: {} + serializedName: value + language: + default: + name: value + description: List of HostPool definitions. + cli: + cliKey: value + protocol: {} + - schema: *ref_124 + readOnly: true + serializedName: nextLink + language: + default: + name: nextLink + description: Link to the next page of results. + cli: + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: HostPoolList + usage: + - output + language: + default: + name: HostPoolList + description: List of HostPool definitions. + namespace: '' + summary: HostPoolList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: HostPoolList + protocol: {} + - &ref_234 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_142 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_88 + language: + default: + name: UserSessionList-value + description: List of UserSession definitions. + cli: + cli-complexity: array_complex + cli-mark: checked + protocol: {} + serializedName: value + language: + default: + name: value + description: List of UserSession definitions. + cli: + cliKey: value + protocol: {} + - schema: *ref_125 + readOnly: true + serializedName: nextLink + language: + default: + name: nextLink + description: Link to the next page of results. + cli: + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: UserSessionList + usage: + - output + language: + default: + name: UserSessionList + description: List of UserSession definitions. + namespace: '' + summary: UserSessionList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: UserSessionList + protocol: {} + - *ref_88 + - *ref_126 + - *ref_89 + - *ref_127 + - *ref_90 + - *ref_128 + - &ref_272 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_143 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_89 + language: + default: + name: SessionHostList-value + description: List of SessionHost definitions. + cli: + cli-complexity: array_complex + cli-mark: checked + protocol: {} + serializedName: value + language: + default: + name: value + description: List of SessionHost definitions. + cli: + cliKey: value + protocol: {} + - schema: *ref_129 + readOnly: true + serializedName: nextLink + language: + default: + name: nextLink + description: Link to the next page of results. + cli: + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: SessionHostList + usage: + - output + language: + default: + name: SessionHostList + description: List of SessionHost definitions. + namespace: '' + summary: SessionHostList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: SessionHostList + protocol: {} + - &ref_253 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_130 + serializedName: messageTitle + language: + default: + name: messageTitle + description: Title of message. + cli: + cliKey: messageTitle + protocol: {} + - schema: *ref_131 + serializedName: messageBody + language: + default: + name: messageBody + description: Body of message. + cli: + cliKey: messageBody + protocol: {} + serializationFormats: + - json + usage: + - input + language: + default: + name: SendMessage + description: Represents message sent to a UserSession. + namespace: '' + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 2 + simplifiable: true + cliKey: SendMessage + protocol: {} + arrays: + - *ref_132 + - *ref_133 + - *ref_134 + - *ref_135 + - *ref_136 + - *ref_137 + - *ref_138 + - *ref_139 + - *ref_140 + - *ref_141 + - *ref_142 + - *ref_143 +globalParameters: + - &ref_149 + schema: *ref_144 + implementation: Client + required: true + extensions: + x-ms-priority: 0 + language: + default: + name: subscriptionId + description: The ID of the target subscription. + serializedName: subscriptionId + cli: + cliKey: subscriptionId + protocol: + http: + in: path + - &ref_146 + schema: *ref_0 + clientDefaultValue: 'https://management.azure.com' + implementation: Client + origin: 'modelerfour:synthesized/host' + required: true + extensions: + x-ms-skip-url-encoding: true + language: + default: + name: $host + description: server parameter + serializedName: $host + cli: + cliKey: $host + protocol: + http: + in: uri + - &ref_147 + schema: *ref_145 + implementation: Client + origin: 'modelerfour:synthesized/api-version' + required: true + language: + default: + name: ApiVersion + description: Api Version + serializedName: api-version + cli: + cliKey: ApiVersion + protocol: + http: + in: query +operationGroups: + - $key: Operations + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: /providers/Microsoft.DesktopVirtualization/operations + method: get + uri: '{$host}' + signatureParameters: [] + responses: + - schema: *ref_148 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + extensions: + x-ms-examples: + OperationDescription_List: + parameters: + api-version: 2019-12-10-preview + responses: + '200': + body: + value: + - name: Microsoft.DesktopVirtualization/ssocontext/read + display: + provider: Microsoft.DesktopVirtualization + resource: ssocontext + - name: Microsoft.DesktopVirtualization/ssocontext/write + display: + provider: Microsoft.DesktopVirtualization + resource: ssocontext + language: + default: + name: List + description: List all of the available operations the Desktop Virtualization resource provider supports. + cli: + cliKey: List + protocol: {} + language: + default: + name: Operations + description: '' + cli: + cliKey: Operations + protocol: {} + - $key: Workspaces + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_152 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_153 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: workspaceName + description: The name of the workspace + serializedName: workspaceName + cli: + cliKey: workspaceName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_152 + - *ref_153 + responses: + - schema: *ref_34 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Workspace_Get: + parameters: + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + workspaceName: workspace1 + responses: + '200': + body: + name: workspace1 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + language: + default: + name: Get + description: Get a workspace. + cli: + cliKey: Get + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_157 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_158 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: workspaceName + description: The name of the workspace + serializedName: workspaceName + cli: + cliKey: workspaceName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_155 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content-type + description: Body Parameter content-type + serializedName: Content-Type + cli: + cliKey: content-type + protocol: + http: + in: header + - &ref_156 + schema: *ref_34 + implementation: Method + required: true + language: + default: + name: workspace + description: Object containing Workspace definitions. + cli: + cliKey: workspace + protocol: + http: + in: body + style: json + signatureParameters: + - *ref_156 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' + method: put + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_157 + - *ref_158 + responses: + - schema: *ref_34 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + - schema: *ref_34 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '201' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Workspace_Create: + parameters: + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + workspace: + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + tag1: value1 + tag2: value2 + workspaceName: workspace1 + responses: + '200': + body: + name: workspace1 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + '201': + body: + name: workspace1 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + language: + default: + name: CreateOrUpdate + description: Create or update a workspace. + cli: + cliKey: CreateOrUpdate + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_159 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_160 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: workspaceName + description: The name of the workspace + serializedName: workspaceName + cli: + cliKey: workspaceName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' + method: delete + uri: '{$host}' + signatureParameters: + - *ref_159 + - *ref_160 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '204' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Workspace_Delete: + parameters: + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + workspaceName: workspace1 + responses: + '200': + name: workspace1 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + '204': {} + language: + default: + name: Delete + description: Remove a workspace. + cli: + cliKey: Delete + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_163 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_164 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: workspaceName + description: The name of the workspace + serializedName: workspaceName + cli: + cliKey: workspaceName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_155 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content-type + description: Body Parameter content-type + serializedName: Content-Type + cli: + cliKey: content-type + protocol: + http: + in: header + - &ref_162 + schema: *ref_161 + implementation: Method + required: false + language: + default: + name: workspace + description: Object containing Workspace definitions. + cli: + cliKey: workspace + protocol: + http: + in: body + style: json + signatureParameters: + - *ref_162 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' + method: patch + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_163 + - *ref_164 + responses: + - schema: *ref_34 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Workspace_Update: + parameters: + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + workspace: + properties: + description: des1 + friendlyName: friendly + tags: + tag1: value1 + tag2: value2 + workspaceName: workspace1 + responses: + '200': + body: + name: workspace1 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + language: + default: + name: Update + description: Update a workspace. + cli: + cliKey: Update + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_165 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces' + method: get + uri: '{$host}' + signatureParameters: + - *ref_165 + responses: + - schema: *ref_166 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Workspace_ListByResourceGroup: + parameters: + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: workspace1 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + - name: workspace2 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace2 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: ListByResourceGroup + description: List workspaces. + paging: + nextLinkName: nextLink + cli: + cliKey: ListByResourceGroup + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/workspaces' + method: get + uri: '{$host}' + signatureParameters: [] + responses: + - schema: *ref_166 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Workspace_ListBySubscription: + parameters: + api-version: 2019-12-10-preview + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: workspace1 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + - name: workspace2 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace2 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: ListBySubscription + description: List workspaces in subscription. + paging: + nextLinkName: nextLink + cli: + cliKey: ListBySubscription + protocol: {} + language: + default: + name: Workspaces + description: '' + cli: + cliKey: Workspaces + protocol: {} + - $key: ApplicationGroupAssignments + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_168 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_169 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: workspaceName + description: The name of the workspace + serializedName: workspaceName + cli: + cliKey: workspaceName + protocol: + http: + in: path + - &ref_170 + schema: *ref_167 + implementation: Method + language: + default: + name: $filter + description: OData filter expression. Valid properties for filtering are applicationGroupType. + serializedName: $filter + cli: + cliKey: $filter + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}/userApplicationGroupAssignments' + method: get + uri: '{$host}' + signatureParameters: + - *ref_168 + - *ref_169 + - *ref_170 + responses: + - schema: *ref_171 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ApplicationGroupAssignment_WorkspaceLevelList: + parameters: + $filter: userPrincipalName eq 'user1@microsoft.com' + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + workspaceName: workspace1 + responses: + '200': + body: + value: + - name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + - name: applicationGroup2 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: WorkspaceLevelList + description: List application group that user can use. + paging: + nextLinkName: nextLink + cli: + cliKey: WorkspaceLevelList + protocol: {} + language: + default: + name: ApplicationGroupAssignments + description: '' + cli: + cliKey: ApplicationGroupAssignments + protocol: {} + - $key: ApplicationGroups + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_172 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_173 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationGroupName + description: The name of the application group + serializedName: applicationGroupName + cli: + cliKey: applicationGroupName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_172 + - *ref_173 + responses: + - schema: *ref_35 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ApplicationGroup_Get: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + language: + default: + name: Get + description: Get an application group. + cli: + cliKey: Get + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_175 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_176 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationGroupName + description: The name of the application group + serializedName: applicationGroupName + cli: + cliKey: applicationGroupName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_155 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content-type + description: Body Parameter content-type + serializedName: Content-Type + cli: + cliKey: content-type + protocol: + http: + in: header + - &ref_174 + schema: *ref_35 + implementation: Method + required: true + language: + default: + name: applicationGroup + description: Object containing ApplicationGroup definitions. + cli: + cliKey: applicationGroup + protocol: + http: + in: body + style: json + signatureParameters: + - *ref_174 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' + method: put + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_175 + - *ref_176 + responses: + - schema: *ref_35 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + - schema: *ref_35 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '201' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ApplicationGroup_Create: + parameters: + api-version: 2019-12-10-preview + applicationGroup: + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + tags: + tag1: value1 + tag2: value2 + applicationGroupName: applicationGroup1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + '201': + body: + name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + language: + default: + name: CreateOrUpdate + description: Create or update an applicationGroup. + cli: + cliKey: CreateOrUpdate + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_177 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_178 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationGroupName + description: The name of the application group + serializedName: applicationGroupName + cli: + cliKey: applicationGroupName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' + method: delete + uri: '{$host}' + signatureParameters: + - *ref_177 + - *ref_178 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '204' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ApplicationGroup_Delete: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + '204': {} + language: + default: + name: Delete + description: Remove an applicationGroup. + cli: + cliKey: Delete + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_180 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_181 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationGroupName + description: The name of the application group + serializedName: applicationGroupName + cli: + cliKey: applicationGroupName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_155 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content-type + description: Body Parameter content-type + serializedName: Content-Type + cli: + cliKey: content-type + protocol: + http: + in: header + - &ref_179 + schema: *ref_83 + implementation: Method + required: false + language: + default: + name: applicationGroup + description: Object containing ApplicationGroup definitions. + cli: + cliKey: applicationGroup + protocol: + http: + in: body + style: json + signatureParameters: + - *ref_179 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' + method: patch + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_180 + - *ref_181 + responses: + - schema: *ref_35 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ApplicationGroups_Update: + parameters: + api-version: 2019-12-10-preview + applicationGroup: + properties: + description: des1 + friendlyName: friendly + tags: + tag1: value1 + tag2: value2 + applicationGroupName: applicationGroup1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + language: + default: + name: Update + description: Update an applicationGroup. + cli: + cliKey: Update + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_182 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_183 + schema: *ref_167 + implementation: Method + language: + default: + name: $filter + description: OData filter expression. Valid properties for filtering are applicationGroupType. + serializedName: $filter + cli: + cliKey: $filter + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups' + method: get + uri: '{$host}' + signatureParameters: + - *ref_182 + - *ref_183 + responses: + - schema: *ref_171 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ApplicationGroup_ListByResourceGroup: + parameters: + $filter: applicationGroupType eq 'RailApplication' + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + - name: applicationGroup2 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: ListByResourceGroup + description: List applicationGroups. + paging: + nextLinkName: nextLink + cli: + cliKey: ListByResourceGroup + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_184 + schema: *ref_167 + implementation: Method + language: + default: + name: $filter + description: OData filter expression. Valid properties for filtering are applicationGroupType. + serializedName: $filter + cli: + cliKey: $filter + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/applicationGroups' + method: get + uri: '{$host}' + signatureParameters: + - *ref_184 + responses: + - schema: *ref_171 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ApplicationGroup_List: + parameters: + $filter: applicationGroupType eq 'RailApplication' + api-version: 2019-12-10-preview + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + - name: applicationGroup2 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: ListBySubscription + description: List applicationGroups in subscription. + paging: + nextLinkName: nextLink + cli: + cliKey: ListBySubscription + protocol: {} + language: + default: + name: ApplicationGroups + description: '' + cli: + cliKey: ApplicationGroups + protocol: {} + - $key: StartMenuItems + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_185 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_186 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationGroupName + description: The name of the application group + serializedName: applicationGroupName + cli: + cliKey: applicationGroupName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/startMenuItems' + method: get + uri: '{$host}' + signatureParameters: + - *ref_185 + - *ref_186 + responses: + - schema: *ref_187 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + StartMenuItem_List: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: application1 + type: Microsoft.DesktopVirtualization/applicationGroups/startMenuItems + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/startMenuItem/application1 + properties: + appAlias: word + commandLineArguments: arguments + filePath: /path/to/file + friendlyName: friendly + iconIndex: 1 + iconPath: /path/to/icon + - name: application2 + type: Microsoft.DesktopVirtualization/applicationGroups/startMenuItems + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/startMenuItem/application2 + properties: + appAlias: excel + commandLineArguments: arguments + filePath: /path/to/file + friendlyName: friendly + iconIndex: 1 + iconPath: /path/to/icon + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: List + description: List start menu items in the given application group. + paging: + nextLinkName: nextLink + cli: + cliKey: List + protocol: {} + language: + default: + name: StartMenuItems + description: '' + cli: + cliKey: StartMenuItems + protocol: {} + - $key: Applications + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_188 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_189 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationGroupName + description: The name of the application group + serializedName: applicationGroupName + cli: + cliKey: applicationGroupName + protocol: + http: + in: path + - &ref_190 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationName + description: The name of the application within the specified application group + serializedName: applicationName + cli: + cliKey: applicationName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_188 + - *ref_189 + - *ref_190 + responses: + - schema: *ref_85 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Application_Get: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + applicationName: application1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1/application1 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + language: + default: + name: Get + description: Get an application. + cli: + cliKey: Get + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_192 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_193 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationGroupName + description: The name of the application group + serializedName: applicationGroupName + cli: + cliKey: applicationGroupName + protocol: + http: + in: path + - &ref_194 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationName + description: The name of the application within the specified application group + serializedName: applicationName + cli: + cliKey: applicationName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_155 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content-type + description: Body Parameter content-type + serializedName: Content-Type + cli: + cliKey: content-type + protocol: + http: + in: header + - &ref_191 + schema: *ref_85 + implementation: Method + required: true + language: + default: + name: application + description: Object containing Application definitions. + cli: + cliKey: application + protocol: + http: + in: body + style: json + signatureParameters: + - *ref_191 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' + method: put + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_192 + - *ref_193 + - *ref_194 + responses: + - schema: *ref_85 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + - schema: *ref_85 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '201' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Application_Create: + parameters: + api-version: 2019-12-10-preview + application: + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconIndex: 1 + iconPath: icon + showInPortal: true + applicationGroupName: applicationGroup1 + applicationName: application1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1/application1 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + '201': + body: + name: applicationGroup1/application1 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + language: + default: + name: CreateOrUpdate + description: Create or update an application. + cli: + cliKey: CreateOrUpdate + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_195 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_196 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationGroupName + description: The name of the application group + serializedName: applicationGroupName + cli: + cliKey: applicationGroupName + protocol: + http: + in: path + - &ref_197 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationName + description: The name of the application within the specified application group + serializedName: applicationName + cli: + cliKey: applicationName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' + method: delete + uri: '{$host}' + signatureParameters: + - *ref_195 + - *ref_196 + - *ref_197 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '204' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Application_Delete: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + applicationName: application1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + name: applicationGroup1/application1 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + '204': {} + language: + default: + name: Delete + description: Remove an application. + cli: + cliKey: Delete + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_200 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_201 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationGroupName + description: The name of the application group + serializedName: applicationGroupName + cli: + cliKey: applicationGroupName + protocol: + http: + in: path + - &ref_202 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationName + description: The name of the application within the specified application group + serializedName: applicationName + cli: + cliKey: applicationName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_155 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content-type + description: Body Parameter content-type + serializedName: Content-Type + cli: + cliKey: content-type + protocol: + http: + in: header + - &ref_199 + schema: *ref_198 + implementation: Method + required: false + language: + default: + name: application + description: Object containing Application definitions. + cli: + cliKey: application + protocol: + http: + in: body + style: json + signatureParameters: + - *ref_199 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' + method: patch + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_200 + - *ref_201 + - *ref_202 + responses: + - schema: *ref_85 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Application_Update: + parameters: + api-version: 2019-12-10-preview + application: + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconIndex: 1 + iconPath: icon + showInPortal: true + applicationGroupName: applicationGroup1 + applicationName: application1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1/application1 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + language: + default: + name: Update + description: Update an application. + cli: + cliKey: Update + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_203 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_204 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationGroupName + description: The name of the application group + serializedName: applicationGroupName + cli: + cliKey: applicationGroupName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications' + method: get + uri: '{$host}' + signatureParameters: + - *ref_203 + - *ref_204 + responses: + - schema: *ref_205 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Applications_List: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: applicationGroup1/application1 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + - name: applicationGroup1/application2 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application2 + properties: + description: des2 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: List + description: List applications. + paging: + nextLinkName: nextLink + cli: + cliKey: List + protocol: {} + language: + default: + name: Applications + description: '' + cli: + cliKey: Applications + protocol: {} + - $key: Desktops + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_206 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_207 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationGroupName + description: The name of the application group + serializedName: applicationGroupName + cli: + cliKey: applicationGroupName + protocol: + http: + in: path + - &ref_208 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: desktopName + description: The name of the desktop within the specified desktop group + serializedName: desktopName + cli: + cliKey: desktopName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops/{desktopName}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_206 + - *ref_207 + - *ref_208 + responses: + - schema: *ref_86 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Desktop_Get: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + desktopName: SessionDesktop + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1/SessionDesktop + type: Microsoft.DesktopVirtualization/applicationGroups/desktops + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/SessionDesktop + properties: + description: des1 + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + language: + default: + name: Get + description: Get a desktop. + cli: + cliKey: Get + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_211 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_212 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationGroupName + description: The name of the application group + serializedName: applicationGroupName + cli: + cliKey: applicationGroupName + protocol: + http: + in: path + - &ref_213 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: desktopName + description: The name of the desktop within the specified desktop group + serializedName: desktopName + cli: + cliKey: desktopName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_155 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content-type + description: Body Parameter content-type + serializedName: Content-Type + cli: + cliKey: content-type + protocol: + http: + in: header + - &ref_210 + schema: *ref_209 + implementation: Method + required: false + language: + default: + name: desktop + description: Object containing Desktop definitions. + cli: + cliKey: desktop + protocol: + http: + in: body + style: json + signatureParameters: + - *ref_210 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops/{desktopName}' + method: patch + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_211 + - *ref_212 + - *ref_213 + responses: + - schema: *ref_86 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Desktop_Update: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + desktop: + properties: + description: des1 + friendlyName: friendly + desktopName: SessionDesktop + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1/SessionDesktop + type: Microsoft.DesktopVirtualization/applicationGroups/desktops + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/desktops/SessionDesktop + properties: + description: des1 + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + language: + default: + name: Update + description: Update a desktop. + cli: + cliKey: Update + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_214 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_215 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationGroupName + description: The name of the application group + serializedName: applicationGroupName + cli: + cliKey: applicationGroupName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops' + method: get + uri: '{$host}' + signatureParameters: + - *ref_214 + - *ref_215 + responses: + - schema: *ref_216 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Desktop_List: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: applicationGroup1/SessionDesktop + type: Microsoft.DesktopVirtualization/applicationGroups/desktops + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/SessionDesktop + properties: + description: des1 + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + language: + default: + name: List + description: List desktops. + cli: + cliKey: List + protocol: {} + language: + default: + name: Desktops + description: '' + cli: + cliKey: Desktops + protocol: {} + - $key: HostPools + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_217 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_218 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: hostPoolName + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_217 + - *ref_218 + responses: + - schema: *ref_36 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + HostPool_Get: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: hostPool1 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2008-09-22T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + language: + default: + name: Get + description: Get a host pool. + cli: + cliKey: Get + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_220 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_221 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: hostPoolName + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_155 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content-type + description: Body Parameter content-type + serializedName: Content-Type + cli: + cliKey: content-type + protocol: + http: + in: header + - &ref_219 + schema: *ref_36 + implementation: Method + required: true + language: + default: + name: hostPool + description: Object containing HostPool definitions. + cli: + cliKey: hostPool + protocol: + http: + in: body + style: json + signatureParameters: + - *ref_219 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' + method: put + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_220 + - *ref_221 + responses: + - schema: *ref_36 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + - schema: *ref_36 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '201' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + HostPool_Create: + parameters: + api-version: 2019-12-10-preview + hostPool: + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2020-10-01T14:01:54.9571247Z' + registrationTokenOperation: Update + ssoContext: KeyVaultPath + tags: + tag1: value1 + tag2: value2 + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: hostPool1 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2020-10-01T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + '201': + body: + name: hostPool1 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2020-10-01T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + language: + default: + name: CreateOrUpdate + description: Create or update a host pool. + cli: + cliKey: CreateOrUpdate + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_223 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_224 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: hostPoolName + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_225 + schema: *ref_222 + implementation: Method + language: + default: + name: force + description: Force flag to delete sessionHost. + serializedName: force + cli: + cliKey: force + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' + method: delete + uri: '{$host}' + signatureParameters: + - *ref_223 + - *ref_224 + - *ref_225 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '204' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + HostPool_Delete: + parameters: + api-version: 2019-12-10-preview + force: true + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + name: hostPool1 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2008-09-22T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + '204': {} + language: + default: + name: Delete + description: Remove a host pool. + cli: + cliKey: Delete + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_227 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_228 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: hostPoolName + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_155 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content-type + description: Body Parameter content-type + serializedName: Content-Type + cli: + cliKey: content-type + protocol: + http: + in: header + - &ref_226 + schema: *ref_87 + implementation: Method + required: false + language: + default: + name: hostPool + description: Object containing HostPool definitions. + cli: + cliKey: hostPool + protocol: + http: + in: body + style: json + signatureParameters: + - *ref_226 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' + method: patch + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_227 + - *ref_228 + responses: + - schema: *ref_36 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + HostPool_Update: + parameters: + api-version: 2019-12-10-preview + hostPool: + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2020-10-02T14:01:54.9571247Z' + ssoContext: KeyVaultPath + tags: + tag1: value1 + tag2: value2 + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: hostPool1 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2008-09-22T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + language: + default: + name: Update + description: Update a host pool. + cli: + cliKey: Update + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_229 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools' + method: get + uri: '{$host}' + signatureParameters: + - *ref_229 + responses: + - schema: *ref_230 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + HostPool_ListByResourceGroup: + parameters: + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: hostPool1 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2008-09-22T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + - name: hostPool2 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool2 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2008-09-22T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: ListByResourceGroup + description: List hostPools. + paging: + nextLinkName: nextLink + cli: + cliKey: ListByResourceGroup + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/hostPools' + method: get + uri: '{$host}' + signatureParameters: [] + responses: + - schema: *ref_230 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + HostPool_List: + parameters: + api-version: 2019-12-10-preview + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: hostPool1 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2008-09-22T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + - name: hostPool2 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool2 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2008-09-22T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: List + description: List hostPools in subscription. + paging: + nextLinkName: nextLink + cli: + cliKey: List + protocol: {} + language: + default: + name: HostPools + description: '' + cli: + cliKey: HostPools + protocol: {} + - $key: UserSessions + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_231 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_232 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: hostPoolName + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_233 + schema: *ref_167 + implementation: Method + language: + default: + name: $filter + description: OData filter expression. Valid properties for filtering are userprincipalname and sessionstate. + serializedName: $filter + cli: + cliKey: $filter + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/userSessions' + method: get + uri: '{$host}' + signatureParameters: + - *ref_231 + - *ref_232 + - *ref_233 + responses: + - schema: *ref_234 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + UserSession_ListByHostPool: + parameters: + $filter: userPrincipalName eq 'user1@microsoft.com' and state eq 'active' + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: '1' + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 + properties: + activeDirectoryUserName: WVDARM\user1 + applicationType: Desktop + createTime: '2008-09-22T14:01:54.9571247Z' + sessionState: Active + userPrincipalName: user1@microsoft.com + - name: '2' + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/2 + properties: + activeDirectoryUserName: WVDARM\user1 + applicationType: Desktop + createTime: '2008-09-22T14:01:54.9571247Z' + sessionState: Active + userPrincipalName: user1@microsoft.com + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: ListByHostPool + description: List userSessions. + paging: + nextLinkName: nextLink + cli: + cliKey: ListByHostPool + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_237 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_238 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: hostPoolName + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_239 + schema: *ref_235 + implementation: Method + required: true + language: + default: + name: sessionHostName + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + cliKey: sessionHostName + protocol: + http: + in: path + - &ref_240 + schema: *ref_236 + implementation: Method + required: true + language: + default: + name: userSessionId + description: The name of the user session within the specified session host + serializedName: userSessionId + cli: + cliKey: userSessionId + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_237 + - *ref_238 + - *ref_239 + - *ref_240 + responses: + - schema: *ref_88 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + UserSession_Get: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + userSessionId: '1' + responses: + '200': + body: + name: '1' + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 + properties: + activeDirectoryUserName: WVDARM\user1 + applicationType: Desktop + createTime: '2008-09-22T14:01:54.9571247Z' + sessionState: Active + userPrincipalName: user1@microsoft.com + language: + default: + name: Get + description: Get a userSession. + cli: + cliKey: Get + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_241 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_242 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: hostPoolName + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_243 + schema: *ref_235 + implementation: Method + required: true + language: + default: + name: sessionHostName + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + cliKey: sessionHostName + protocol: + http: + in: path + - &ref_244 + schema: *ref_236 + implementation: Method + required: true + language: + default: + name: userSessionId + description: The name of the user session within the specified session host + serializedName: userSessionId + cli: + cliKey: userSessionId + protocol: + http: + in: path + - &ref_245 + schema: *ref_222 + implementation: Method + language: + default: + name: force + description: Force flag to login off userSession. + serializedName: force + cli: + cliKey: force + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}' + method: delete + uri: '{$host}' + signatureParameters: + - *ref_241 + - *ref_242 + - *ref_243 + - *ref_244 + - *ref_245 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '204' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + UserSession_Delete: + parameters: + api-version: 2019-12-10-preview + force: true + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + userSessionId: '1' + responses: + '200': + name: '1' + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 + properties: + activeDirectoryUserName: WVDARM\user1 + applicationType: Desktop + createTime: '2008-09-22T14:01:54.9571247Z' + sessionState: Active + userPrincipalName: user1@microsoft.com + '204': {} + language: + default: + name: Delete + description: Remove a userSession. + cli: + cliKey: Delete + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_246 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_247 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: hostPoolName + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_248 + schema: *ref_235 + implementation: Method + required: true + language: + default: + name: sessionHostName + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + cliKey: sessionHostName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions' + method: get + uri: '{$host}' + signatureParameters: + - *ref_246 + - *ref_247 + - *ref_248 + responses: + - schema: *ref_234 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + UserSession_List: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: '1' + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 + properties: + activeDirectoryUserName: WVDARM\user1 + applicationType: Desktop + createTime: '2008-09-22T14:01:54.9571247Z' + sessionState: Active + userPrincipalName: user1@microsoft.com + - name: '2' + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/2 + properties: + activeDirectoryUserName: WVDARM\user1 + applicationType: Desktop + createTime: '2008-09-22T14:01:54.9571247Z' + sessionState: Active + userPrincipalName: user1@microsoft.com + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: List + description: List userSessions. + paging: + nextLinkName: nextLink + cli: + cliKey: List + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_249 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_250 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: hostPoolName + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_251 + schema: *ref_235 + implementation: Method + required: true + language: + default: + name: sessionHostName + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + cliKey: sessionHostName + protocol: + http: + in: path + - &ref_252 + schema: *ref_236 + implementation: Method + required: true + language: + default: + name: userSessionId + description: The name of the user session within the specified session host + serializedName: userSessionId + cli: + cliKey: userSessionId + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}/disconnect' + method: post + uri: '{$host}' + signatureParameters: + - *ref_249 + - *ref_250 + - *ref_251 + - *ref_252 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + UserSession_Disconnect_Post: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + userSessionId: '1' + responses: + '200': {} + language: + default: + name: Disconnect + description: Disconnect a userSession. + cli: + cliKey: Disconnect + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_255 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_256 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: hostPoolName + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_257 + schema: *ref_235 + implementation: Method + required: true + language: + default: + name: sessionHostName + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + cliKey: sessionHostName + protocol: + http: + in: path + - &ref_258 + schema: *ref_236 + implementation: Method + required: true + language: + default: + name: userSessionId + description: The name of the user session within the specified session host + serializedName: userSessionId + cli: + cliKey: userSessionId + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_155 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content-type + description: Body Parameter content-type + serializedName: Content-Type + cli: + cliKey: content-type + protocol: + http: + in: header + - &ref_254 + schema: *ref_253 + implementation: Method + required: false + language: + default: + name: sendMessage + description: Object containing message includes title and message body + cli: + cliKey: sendMessage + protocol: + http: + in: body + style: json + signatureParameters: + - *ref_254 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}/sendMessage' + method: post + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_255 + - *ref_256 + - *ref_257 + - *ref_258 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + UserSession_SendMessage_Post: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sendMessage: + messageBody: body + messageTitle: title + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + userSessionId: '1' + responses: + '200': {} + language: + default: + name: SendMessage + description: Send a message to a user. + cli: + cliKey: SendMessage + protocol: {} + language: + default: + name: UserSessions + description: '' + cli: + cliKey: UserSessions + protocol: {} + - $key: SessionHosts + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_259 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_260 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: hostPoolName + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_261 + schema: *ref_235 + implementation: Method + required: true + language: + default: + name: sessionHostName + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + cliKey: sessionHostName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_259 + - *ref_260 + - *ref_261 + responses: + - schema: *ref_89 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + SessionHost_Get: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: sessionHost1.microsoft.com + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com + properties: + agentVersion: 1.0.0.1391 + allowNewSession: true + assignedUser: user1@microsoft.com + lastHeartBeat: '2008-09-22T14:01:54.9571247Z' + lastUpdateTime: '2008-09-22T14:01:54.9571247Z' + osVersion: 10.0.17763 + sessions: 1 + status: Available + statusTimestamp: '2008-09-22T14:01:54.9571247Z' + sxSStackVersion: rdp-sxs190816002 + updateErrorMessage: '' + updateState: Succeeded + language: + default: + name: Get + description: Get a session host. + cli: + cliKey: Get + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_262 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_263 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: hostPoolName + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_264 + schema: *ref_235 + implementation: Method + required: true + language: + default: + name: sessionHostName + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + cliKey: sessionHostName + protocol: + http: + in: path + - &ref_265 + schema: *ref_222 + implementation: Method + language: + default: + name: force + description: Force flag to force sessionHost deletion even when userSession exists. + serializedName: force + cli: + cliKey: force + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}' + method: delete + uri: '{$host}' + signatureParameters: + - *ref_262 + - *ref_263 + - *ref_264 + - *ref_265 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '204' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + SessionHost_Delete: + parameters: + api-version: 2019-12-10-preview + force: true + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + name: sessionHost1.microsoft.com + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com + properties: + agentVersion: 1.0.0.1391 + allowNewSession: true + assignedUser: user1@microsoft.com + lastHeartBeat: '2008-09-22T14:01:54.9571247Z' + lastUpdateTime: '2008-09-22T14:01:54.9571247Z' + osVersion: 10.0.17763 + sessions: 1 + status: Available + statusTimestamp: '2008-09-22T14:01:54.9571247Z' + sxSStackVersion: rdp-sxs190816002 + updateErrorMessage: '' + updateState: Succeeded + '204': {} + language: + default: + name: Delete + description: Remove a SessionHost. + cli: + cliKey: Delete + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_267 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_268 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: hostPoolName + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_269 + schema: *ref_235 + implementation: Method + required: true + language: + default: + name: sessionHostName + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + cliKey: sessionHostName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_155 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content-type + description: Body Parameter content-type + serializedName: Content-Type + cli: + cliKey: content-type + protocol: + http: + in: header + - &ref_266 + schema: *ref_90 + implementation: Method + required: false + language: + default: + name: sessionHost + description: Object containing SessionHost definitions. + cli: + cliKey: sessionHost + protocol: + http: + in: body + style: json + signatureParameters: + - *ref_266 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}' + method: patch + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_267 + - *ref_268 + - *ref_269 + responses: + - schema: *ref_89 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + SessionHost_Update: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHost: + properties: + allowNewSession: true + assignedUser: user1@microsoft.com + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: sessionHost1.microsoft.com + type: Microsoft.DesktopVirtualization/hostPools/sessionhosts + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com + properties: + agentVersion: 1.0.0.1391 + allowNewSession: true + assignedUser: user1@microsoft.com + lastHeartBeat: '2019-01-11T19:27:13.6108027Z' + lastUpdateTime: '2008-09-22T14:01:54.9571247Z' + osVersion: 10.0.17763 + sessions: 1 + status: Available + statusTimestamp: '2019-01-24T20:00:08.2893033Z' + sxSStackVersion: rdp-sxs190816002 + updateErrorMessage: '' + updateState: Succeeded + language: + default: + name: Update + description: Update a session host. + cli: + cliKey: Update + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_270 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_271 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: hostPoolName + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts' + method: get + uri: '{$host}' + signatureParameters: + - *ref_270 + - *ref_271 + responses: + - schema: *ref_272 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + SessionHost_List: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: sessionHost1.microsoft.com + type: Microsoft.DesktopVirtualization/hostPools/sessionhosts + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com + properties: + agentVersion: 1.0.0.1391 + allowNewSession: true + assignedUser: user1@microsoft.com + lastHeartBeat: '2008-09-22T14:01:54.9571247Z' + lastUpdateTime: '2008-09-22T14:01:54.9571247Z' + osVersion: 10.0.17763 + sessions: 1 + status: Available + statusTimestamp: '2008-09-22T14:01:54.9571247Z' + sxSStackVersion: rdp-sxs190816002 + updateErrorMessage: '' + updateState: Succeeded + - name: sessionHost2.microsoft.com + type: Microsoft.DesktopVirtualization/hostPools/sessionhosts + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost2microsoft.com + properties: + agentVersion: 1.0.0.1391 + allowNewSession: true + assignedUser: user2@microsoft.com + lastHeartBeat: '2008-09-22T14:01:54.9571247Z' + lastUpdateTime: '2008-09-22T14:01:54.9571247Z' + osVersion: 10.0.17763 + sessions: 1 + status: Available + statusTimestamp: '2008-09-22T14:01:54.9571247Z' + sxSStackVersion: rdp-sxs190816002 + updateErrorMessage: '' + updateState: Succeeded + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: List + description: List sessionHosts. + paging: + nextLinkName: nextLink + cli: + cliKey: List + protocol: {} + language: + default: + name: SessionHosts + description: '' + cli: + cliKey: SessionHosts + protocol: {} + - $key: ActiveApplications + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_273 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_274 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: hostPoolName + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_275 + schema: *ref_235 + implementation: Method + required: true + language: + default: + name: sessionHostName + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + cliKey: sessionHostName + protocol: + http: + in: path + - &ref_276 + schema: *ref_167 + implementation: Method + language: + default: + name: $filter + description: OData filter expression. Valid properties for filtering are userprincipalname and sessionstate. + serializedName: $filter + cli: + cliKey: $filter + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/activeApplications' + method: get + uri: '{$host}' + signatureParameters: + - *ref_273 + - *ref_274 + - *ref_275 + - *ref_276 + responses: + - schema: *ref_205 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ActiveApplications_List: + parameters: + $filter: userPrincipalName eq 'user1@microsoft.com' + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: applicationGroup1/application1 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + - name: applicationGroup1/application2 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application2 + properties: + description: des2 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: ListBySessionHost + description: List applications for the given session host. + paging: + nextLinkName: nextLink + cli: + cliKey: ListBySessionHost + protocol: {} + language: + default: + name: ActiveApplications + description: '' + cli: + cliKey: ActiveApplications + protocol: {} +language: + default: + name: '' + description: '' +protocol: + http: {} diff --git a/src/desktopvirtualization/_az_debug/clicommon-000050-flatten-set-pre-simplified.yaml b/src/desktopvirtualization/_az_debug/clicommon-000050-flatten-set-pre-simplified.yaml new file mode 100644 index 00000000000..0be013f26b8 --- /dev/null +++ b/src/desktopvirtualization/_az_debug/clicommon-000050-flatten-set-pre-simplified.yaml @@ -0,0 +1,1978 @@ +operationGroups: + all: + - operationGroupName: Operations + cli: + cliKey: Operations + operations: + - operationName: List + cli: + cliKey: List + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - operationGroupName: Workspaces + cli: + cliKey: Workspaces + operations: + - operationName: Get + cli: + cliKey: Get + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: workspaceName(string^string) + cli: + cliKey: workspaceName + - operationName: CreateOrUpdate + cli: + cliKey: CreateOrUpdate + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: workspaceName(string^string) + cli: + cliKey: workspaceName + - parameterName[0]: content-type(application/json^constant) + cli: + cliKey: content-type + - parameterName[0]: workspace(Workspace^object) + cli: + cliKey: workspace + bodySchema: Workspace + - operationName: Delete + cli: + cliKey: Delete + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: workspaceName(string^string) + cli: + cliKey: workspaceName + - operationName: Update + cli: + cliKey: Update + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: workspaceName(string^string) + cli: + cliKey: workspaceName + - parameterName[0]: content-type(application/json^constant) + cli: + cliKey: content-type + - parameterName[0]: workspace(WorkspacePatch^object) + cli: + cliKey: workspace + bodySchema: WorkspacePatch + - operationName: ListByResourceGroup + cli: + cliKey: ListByResourceGroup + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - operationName: ListBySubscription + cli: + cliKey: ListBySubscription + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - operationGroupName: ApplicationGroupAssignments + cli: + cliKey: ApplicationGroupAssignments + operations: + - operationName: WorkspaceLevelList + cli: + cliKey: WorkspaceLevelList + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: workspaceName(string^string) + cli: + cliKey: workspaceName + - parameterName: $filter(string^string) + cli: + cliKey: $filter + - operationGroupName: ApplicationGroups + cli: + cliKey: ApplicationGroups + operations: + - operationName: Get + cli: + cliKey: Get + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: applicationGroupName(string^string) + cli: + cliKey: applicationGroupName + - operationName: CreateOrUpdate + cli: + cliKey: CreateOrUpdate + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: applicationGroupName(string^string) + cli: + cliKey: applicationGroupName + - parameterName[0]: content-type(application/json^constant) + cli: + cliKey: content-type + - parameterName[0]: applicationGroup(ApplicationGroup^object) + cli: + cliKey: applicationGroup + bodySchema: ApplicationGroup + - operationName: Delete + cli: + cliKey: Delete + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: applicationGroupName(string^string) + cli: + cliKey: applicationGroupName + - operationName: Update + cli: + cliKey: Update + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: applicationGroupName(string^string) + cli: + cliKey: applicationGroupName + - parameterName[0]: content-type(application/json^constant) + cli: + cliKey: content-type + - parameterName[0]: applicationGroup(ApplicationGroupPatch^object) + cli: + cliKey: applicationGroup + bodySchema: ApplicationGroupPatch + - operationName: ListByResourceGroup + cli: + cliKey: ListByResourceGroup + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: $filter(string^string) + cli: + cliKey: $filter + - operationName: ListBySubscription + cli: + cliKey: ListBySubscription + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: $filter(string^string) + cli: + cliKey: $filter + - operationGroupName: StartMenuItems + cli: + cliKey: StartMenuItems + operations: + - operationName: List + cli: + cliKey: List + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: applicationGroupName(string^string) + cli: + cliKey: applicationGroupName + - operationGroupName: Applications + cli: + cliKey: Applications + operations: + - operationName: Get + cli: + cliKey: Get + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: applicationGroupName(string^string) + cli: + cliKey: applicationGroupName + - parameterName: applicationName(string^string) + cli: + cliKey: applicationName + - operationName: CreateOrUpdate + cli: + cliKey: CreateOrUpdate + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: applicationGroupName(string^string) + cli: + cliKey: applicationGroupName + - parameterName: applicationName(string^string) + cli: + cliKey: applicationName + - parameterName[0]: content-type(application/json^constant) + cli: + cliKey: content-type + - parameterName[0]: application(Application^object) + cli: + cliKey: application + bodySchema: Application + - operationName: Delete + cli: + cliKey: Delete + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: applicationGroupName(string^string) + cli: + cliKey: applicationGroupName + - parameterName: applicationName(string^string) + cli: + cliKey: applicationName + - operationName: Update + cli: + cliKey: Update + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: applicationGroupName(string^string) + cli: + cliKey: applicationGroupName + - parameterName: applicationName(string^string) + cli: + cliKey: applicationName + - parameterName[0]: content-type(application/json^constant) + cli: + cliKey: content-type + - parameterName[0]: application(ApplicationPatch^object) + cli: + cliKey: application + bodySchema: ApplicationPatch + - operationName: List + cli: + cliKey: List + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: applicationGroupName(string^string) + cli: + cliKey: applicationGroupName + - operationGroupName: Desktops + cli: + cliKey: Desktops + operations: + - operationName: Get + cli: + cliKey: Get + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: applicationGroupName(string^string) + cli: + cliKey: applicationGroupName + - parameterName: desktopName(string^string) + cli: + cliKey: desktopName + - operationName: Update + cli: + cliKey: Update + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: applicationGroupName(string^string) + cli: + cliKey: applicationGroupName + - parameterName: desktopName(string^string) + cli: + cliKey: desktopName + - parameterName[0]: content-type(application/json^constant) + cli: + cliKey: content-type + - parameterName[0]: desktop(DesktopPatch^object) + cli: + cliKey: desktop + bodySchema: DesktopPatch + - operationName: List + cli: + cliKey: List + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: applicationGroupName(string^string) + cli: + cliKey: applicationGroupName + - operationGroupName: HostPools + cli: + cliKey: HostPools + operations: + - operationName: Get + cli: + cliKey: Get + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: hostPoolName(string^string) + cli: + cliKey: hostPoolName + - operationName: CreateOrUpdate + cli: + cliKey: CreateOrUpdate + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: hostPoolName(string^string) + cli: + cliKey: hostPoolName + - parameterName[0]: content-type(application/json^constant) + cli: + cliKey: content-type + - parameterName[0]: hostPool(HostPool^object) + cli: + cliKey: hostPool + bodySchema: HostPool + - operationName: Delete + cli: + cliKey: Delete + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: hostPoolName(string^string) + cli: + cliKey: hostPoolName + - parameterName: force(boolean^boolean) + cli: + cliKey: force + - operationName: Update + cli: + cliKey: Update + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: hostPoolName(string^string) + cli: + cliKey: hostPoolName + - parameterName[0]: content-type(application/json^constant) + cli: + cliKey: content-type + - parameterName[0]: hostPool(HostPoolPatch^object) + cli: + cliKey: hostPool + bodySchema: HostPoolPatch + - operationName: ListByResourceGroup + cli: + cliKey: ListByResourceGroup + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - operationName: List + cli: + cliKey: List + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - operationGroupName: UserSessions + cli: + cliKey: UserSessions + operations: + - operationName: ListByHostPool + cli: + cliKey: ListByHostPool + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: hostPoolName(string^string) + cli: + cliKey: hostPoolName + - parameterName: $filter(string^string) + cli: + cliKey: $filter + - operationName: Get + cli: + cliKey: Get + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: hostPoolName(string^string) + cli: + cliKey: hostPoolName + - parameterName: sessionHostName(string^string) + cli: + cliKey: sessionHostName + - parameterName: userSessionId(string^string) + cli: + cliKey: userSessionId + - operationName: Delete + cli: + cliKey: Delete + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: hostPoolName(string^string) + cli: + cliKey: hostPoolName + - parameterName: sessionHostName(string^string) + cli: + cliKey: sessionHostName + - parameterName: userSessionId(string^string) + cli: + cliKey: userSessionId + - parameterName: force(boolean^boolean) + cli: + cliKey: force + - operationName: List + cli: + cliKey: List + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: hostPoolName(string^string) + cli: + cliKey: hostPoolName + - parameterName: sessionHostName(string^string) + cli: + cliKey: sessionHostName + - operationName: Disconnect + cli: + cliKey: Disconnect + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: hostPoolName(string^string) + cli: + cliKey: hostPoolName + - parameterName: sessionHostName(string^string) + cli: + cliKey: sessionHostName + - parameterName: userSessionId(string^string) + cli: + cliKey: userSessionId + - operationName: SendMessage + cli: + cliKey: SendMessage + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: hostPoolName(string^string) + cli: + cliKey: hostPoolName + - parameterName: sessionHostName(string^string) + cli: + cliKey: sessionHostName + - parameterName: userSessionId(string^string) + cli: + cliKey: userSessionId + - parameterName[0]: content-type(application/json^constant) + cli: + cliKey: content-type + - parameterName[0]: sendMessage(SendMessage^object) + cli: + cliKey: sendMessage + bodySchema: SendMessage + - operationGroupName: SessionHosts + cli: + cliKey: SessionHosts + operations: + - operationName: Get + cli: + cliKey: Get + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: hostPoolName(string^string) + cli: + cliKey: hostPoolName + - parameterName: sessionHostName(string^string) + cli: + cliKey: sessionHostName + - operationName: Delete + cli: + cliKey: Delete + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: hostPoolName(string^string) + cli: + cliKey: hostPoolName + - parameterName: sessionHostName(string^string) + cli: + cliKey: sessionHostName + - parameterName: force(boolean^boolean) + cli: + cliKey: force + - operationName: Update + cli: + cliKey: Update + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: hostPoolName(string^string) + cli: + cliKey: hostPoolName + - parameterName: sessionHostName(string^string) + cli: + cliKey: sessionHostName + - parameterName[0]: content-type(application/json^constant) + cli: + cliKey: content-type + - parameterName[0]: sessionHost(SessionHostPatch^object) + cli: + cliKey: sessionHost + bodySchema: SessionHostPatch + - operationName: List + cli: + cliKey: List + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: hostPoolName(string^string) + cli: + cliKey: hostPoolName + - operationGroupName: ActiveApplications + cli: + cliKey: ActiveApplications + operations: + - operationName: ListBySessionHost + cli: + cliKey: ListBySessionHost + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: hostPoolName(string^string) + cli: + cliKey: hostPoolName + - parameterName: sessionHostName(string^string) + cli: + cliKey: sessionHostName + - parameterName: $filter(string^string) + cli: + cliKey: $filter +schemas: + objects: + all: + - schemaName: ResourceProviderOperationList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ResourceProviderOperationList + properties: + - propertyName: value(ResourceProviderOperationList-value^array) + cli: + cliKey: value + - schemaName: ResourceProviderOperation + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 5 + propertyCountIfSimplifyWithoutSimpleObject: 2 + simplifiable: true + cliKey: ResourceProviderOperation + properties: + - propertyName: name(ResourceProviderOperation-name^string) + cli: + cliKey: name + - propertyName: display(ResourceProviderOperation-display^object) + cli: + cliKey: display + - schemaName: ResourceProviderOperation-display + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 4 + propertyCountIfSimplifyWithoutSimpleObject: 4 + simplifiable: true + cliKey: ResourceProviderOperation-display + properties: + - propertyName: provider(ResourceProviderOperation-display-provider^string) + cli: + cliKey: provider + - propertyName: resource(ResourceProviderOperation-display-resource^string) + cli: + cliKey: resource + - propertyName: operation(ResourceProviderOperation-display-operation^string) + cli: + cliKey: operation + - propertyName: description(ResourceProviderOperation-display-description^string) + cli: + cliKey: description + - schemaName: Resource + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 0 + propertyCountIfSimplifyWithoutSimpleObject: 0 + simplifiable: true + cliKey: Resource + properties: + - propertyName: id(Resource-id^string) + cli: + cliKey: id + readOnly: true + - propertyName: name(Resource-name^string) + cli: + cliKey: name + readOnly: true + - propertyName: type(Resource-type^string) + cli: + cliKey: type + readOnly: true + - schemaName: TrackedResource + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: TrackedResource + properties: + - propertyName: tags(TrackedResource-tags^dictionary) + cli: + cliKey: tags + - propertyName: location(TrackedResource-location^string) + cli: + cliKey: location + - schemaName: Workspace + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: Workspace + properties: + - propertyName: properties(WorkspaceProperties^object) + cli: + cliKey: properties + x-ms-client-flatten: true + - schemaName: WorkspaceProperties + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: WorkspaceProperties + properties: + - propertyName: description(WorkspaceProperties-description^string) + cli: + cliKey: description + - propertyName: friendlyName(WorkspaceProperties-friendlyName^string) + cli: + cliKey: friendlyName + - propertyName: applicationGroupReferences(WorkspaceProperties-applicationGroupReferences^array) + cli: + cliKey: applicationGroupReferences + - schemaName: CloudError + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 2 + simplifiable: true + cliKey: CloudError + properties: + - propertyName: code(CloudError-code^string) + cli: + cliKey: code + - propertyName: message(CloudError-message^string) + cli: + cliKey: message + - schemaName: WorkspacePatch + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: WorkspacePatch + properties: + - propertyName: tags(any^any) + cli: + cliKey: tags + - propertyName: properties(WorkspacePatchProperties^object) + cli: + cliKey: properties + x-ms-client-flatten: true + - schemaName: WorkspacePatchProperties + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: WorkspacePatchProperties + properties: + - propertyName: description(WorkspacePatchProperties-description^string) + cli: + cliKey: description + - propertyName: friendlyName(WorkspacePatchProperties-friendlyName^string) + cli: + cliKey: friendlyName + - propertyName: applicationGroupReferences(WorkspacePatchProperties-applicationGroupReferences^array) + cli: + cliKey: applicationGroupReferences + - schemaName: WorkspaceList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: WorkspaceList + properties: + - propertyName: value(WorkspaceList-value^array) + cli: + cliKey: value + - propertyName: nextLink(WorkspaceList-nextLink^string) + cli: + cliKey: nextLink + readOnly: true + - schemaName: ApplicationGroupList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ApplicationGroupList + properties: + - propertyName: value(ApplicationGroupList-value^array) + cli: + cliKey: value + - propertyName: nextLink(ApplicationGroupList-nextLink^string) + cli: + cliKey: nextLink + readOnly: true + - schemaName: ApplicationGroup + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ApplicationGroup + properties: + - propertyName: properties(ApplicationGroupProperties^object) + cli: + cliKey: properties + x-ms-client-flatten: true + - schemaName: ApplicationGroupProperties + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 4 + propertyCountIfSimplifyWithoutSimpleObject: 4 + simplifiable: true + cliKey: ApplicationGroupProperties + properties: + - propertyName: description(ApplicationGroupProperties-description^string) + cli: + cliKey: description + - propertyName: friendlyName(ApplicationGroupProperties-friendlyName^string) + cli: + cliKey: friendlyName + - propertyName: hostPoolArmPath(ApplicationGroupProperties-hostPoolArmPath^string) + cli: + cliKey: hostPoolArmPath + - propertyName: workspaceArmPath(ApplicationGroupProperties-workspaceArmPath^string) + cli: + cliKey: workspaceArmPath + readOnly: true + - propertyName: applicationGroupType(ApplicationGroupType^choice) + cli: + cliKey: applicationGroupType + - schemaName: ApplicationGroupPatch + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ApplicationGroupPatch + properties: + - propertyName: tags(any^any) + cli: + cliKey: tags + - propertyName: properties(ApplicationGroupPatchProperties^object) + cli: + cliKey: properties + x-ms-client-flatten: true + - schemaName: ApplicationGroupPatchProperties + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 2 + simplifiable: true + cliKey: ApplicationGroupPatchProperties + properties: + - propertyName: description(ApplicationGroupPatchProperties-description^string) + cli: + cliKey: description + - propertyName: friendlyName(ApplicationGroupPatchProperties-friendlyName^string) + cli: + cliKey: friendlyName + - schemaName: StartMenuItemList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: StartMenuItemList + properties: + - propertyName: value(StartMenuItemList-value^array) + cli: + cliKey: value + - propertyName: nextLink(StartMenuItemList-nextLink^string) + cli: + cliKey: nextLink + readOnly: true + - schemaName: StartMenuItem + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 6 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: StartMenuItem + properties: + - propertyName: properties(StartMenuItemProperties^object) + cli: + cliKey: properties + x-ms-client-flatten: true + - schemaName: StartMenuItemProperties + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 6 + propertyCountIfSimplifyWithoutSimpleObject: 6 + simplifiable: true + cliKey: StartMenuItemProperties + properties: + - propertyName: appAlias(StartMenuItemProperties-appAlias^string) + cli: + cliKey: appAlias + - propertyName: friendlyName(StartMenuItemProperties-friendlyName^string) + cli: + cliKey: friendlyName + - propertyName: filePath(StartMenuItemProperties-filePath^string) + cli: + cliKey: filePath + - propertyName: commandLineArguments(StartMenuItemProperties-commandLineArguments^string) + cli: + cliKey: commandLineArguments + - propertyName: iconPath(StartMenuItemProperties-iconPath^string) + cli: + cliKey: iconPath + - propertyName: iconIndex(integer^integer) + cli: + cliKey: iconIndex + - schemaName: Application + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 8 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: Application + properties: + - propertyName: properties(ApplicationProperties^object) + cli: + cliKey: properties + x-ms-client-flatten: true + - schemaName: ApplicationProperties + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 8 + propertyCountIfSimplifyWithoutSimpleObject: 8 + simplifiable: true + cliKey: ApplicationProperties + properties: + - propertyName: description(ApplicationProperties-description^string) + cli: + cliKey: description + - propertyName: friendlyName(ApplicationProperties-friendlyName^string) + cli: + cliKey: friendlyName + - propertyName: filePath(ApplicationProperties-filePath^string) + cli: + cliKey: filePath + - propertyName: commandLineSetting(CommandLineSetting^choice) + cli: + cliKey: commandLineSetting + - propertyName: commandLineArguments(ApplicationProperties-commandLineArguments^string) + cli: + cliKey: commandLineArguments + - propertyName: showInPortal(boolean^boolean) + cli: + cliKey: showInPortal + - propertyName: iconPath(ApplicationProperties-iconPath^string) + cli: + cliKey: iconPath + - propertyName: iconIndex(integer^integer) + cli: + cliKey: iconIndex + - propertyName: iconHash(ApplicationProperties-iconHash^string) + cli: + cliKey: iconHash + readOnly: true + - propertyName: iconContent(ApplicationProperties-iconContent^byte-array) + cli: + cliKey: iconContent + readOnly: true + - schemaName: ApplicationPatch + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ApplicationPatch + properties: + - propertyName: tags(any^any) + cli: + cliKey: tags + - propertyName: properties(ApplicationPatchProperties^object) + cli: + cliKey: properties + x-ms-client-flatten: true + - schemaName: ApplicationPatchProperties + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 8 + propertyCountIfSimplifyWithoutSimpleObject: 8 + simplifiable: true + cliKey: ApplicationPatchProperties + properties: + - propertyName: description(ApplicationPatchProperties-description^string) + cli: + cliKey: description + - propertyName: friendlyName(ApplicationPatchProperties-friendlyName^string) + cli: + cliKey: friendlyName + - propertyName: filePath(ApplicationPatchProperties-filePath^string) + cli: + cliKey: filePath + - propertyName: commandLineSetting(CommandLineSetting^choice) + cli: + cliKey: commandLineSetting + - propertyName: commandLineArguments(ApplicationPatchProperties-commandLineArguments^string) + cli: + cliKey: commandLineArguments + - propertyName: showInPortal(boolean^boolean) + cli: + cliKey: showInPortal + - propertyName: iconPath(ApplicationPatchProperties-iconPath^string) + cli: + cliKey: iconPath + - propertyName: iconIndex(integer^integer) + cli: + cliKey: iconIndex + - schemaName: ApplicationList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ApplicationList + properties: + - propertyName: value(ApplicationList-value^array) + cli: + cliKey: value + - propertyName: nextLink(ApplicationList-nextLink^string) + cli: + cliKey: nextLink + readOnly: true + - schemaName: Desktop + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: Desktop + properties: + - propertyName: properties(DesktopProperties^object) + cli: + cliKey: properties + x-ms-client-flatten: true + - schemaName: DesktopProperties + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 2 + simplifiable: true + cliKey: DesktopProperties + properties: + - propertyName: description(DesktopProperties-description^string) + cli: + cliKey: description + - propertyName: friendlyName(DesktopProperties-friendlyName^string) + cli: + cliKey: friendlyName + - propertyName: iconHash(DesktopProperties-iconHash^string) + cli: + cliKey: iconHash + readOnly: true + - propertyName: iconContent(DesktopProperties-iconContent^byte-array) + cli: + cliKey: iconContent + readOnly: true + - schemaName: DesktopPatch + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: DesktopPatch + properties: + - propertyName: tags(any^any) + cli: + cliKey: tags + - propertyName: properties(DesktopPatchProperties^object) + cli: + cliKey: properties + x-ms-client-flatten: true + - schemaName: DesktopPatchProperties + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 2 + simplifiable: true + cliKey: DesktopPatchProperties + properties: + - propertyName: description(DesktopPatchProperties-description^string) + cli: + cliKey: description + - propertyName: friendlyName(DesktopPatchProperties-friendlyName^string) + cli: + cliKey: friendlyName + - schemaName: DesktopList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: DesktopList + properties: + - propertyName: value(DesktopList-value^array) + cli: + cliKey: value + - propertyName: nextLink(DesktopList-nextLink^string) + cli: + cliKey: nextLink + readOnly: true + - schemaName: HostPool + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: HostPool + properties: + - propertyName: properties(HostPoolProperties^object) + cli: + cliKey: properties + x-ms-client-flatten: true + - schemaName: HostPoolProperties + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 14 + propertyCountIfSimplifyWithoutSimpleObject: 12 + simplifiable: true + cliKey: HostPoolProperties + properties: + - propertyName: friendlyName(HostPoolProperties-friendlyName^string) + cli: + cliKey: friendlyName + - propertyName: description(HostPoolProperties-description^string) + cli: + cliKey: description + - propertyName: hostPoolType(HostPoolType^choice) + cli: + cliKey: hostPoolType + - propertyName: personalDesktopAssignmentType(PersonalDesktopAssignmentType^choice) + cli: + cliKey: personalDesktopAssignmentType + - propertyName: customRdpProperty(HostPoolProperties-customRdpProperty^string) + cli: + cliKey: customRdpProperty + - propertyName: maxSessionLimit(integer^integer) + cli: + cliKey: maxSessionLimit + - propertyName: loadBalancerType(LoadBalancerType^choice) + cli: + cliKey: loadBalancerType + - propertyName: ring(integer^integer) + cli: + cliKey: ring + - propertyName: validationEnvironment(boolean^boolean) + cli: + cliKey: validationEnvironment + - propertyName: registrationInfo(RegistrationInfo^object) + cli: + cliKey: registrationInfo + - propertyName: vmTemplate(HostPoolProperties-vmTemplate^string) + cli: + cliKey: vmTemplate + - propertyName: applicationGroupReferences(HostPoolProperties-applicationGroupReferences^array) + cli: + cliKey: applicationGroupReferences + readOnly: true + - propertyName: ssoContext(HostPoolProperties-ssoContext^string) + cli: + cliKey: ssoContext + - schemaName: RegistrationInfo + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 3 + propertyCountIfSimplifyWithoutSimpleObject: 3 + simplifiable: true + cliKey: RegistrationInfo + properties: + - propertyName: expirationTime(RegistrationInfo-expirationTime^date-time) + cli: + cliKey: expirationTime + - propertyName: token(RegistrationInfo-token^string) + cli: + cliKey: token + - propertyName: registrationTokenOperation(RegistrationTokenOperation^choice) + cli: + cliKey: registrationTokenOperation + - schemaName: HostPoolPatch + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: HostPoolPatch + properties: + - propertyName: tags(any^any) + cli: + cliKey: tags + - propertyName: properties(HostPoolPatchProperties^object) + cli: + cliKey: properties + x-ms-client-flatten: true + - schemaName: HostPoolPatchProperties + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10 + propertyCountIfSimplifyWithoutSimpleObject: 10 + simplifiable: true + cliKey: HostPoolPatchProperties + properties: + - propertyName: friendlyName(HostPoolPatchProperties-friendlyName^string) + cli: + cliKey: friendlyName + - propertyName: description(HostPoolPatchProperties-description^string) + cli: + cliKey: description + - propertyName: customRdpProperty(HostPoolPatchProperties-customRdpProperty^string) + cli: + cliKey: customRdpProperty + - propertyName: maxSessionLimit(integer^integer) + cli: + cliKey: maxSessionLimit + - propertyName: personalDesktopAssignmentType(PersonalDesktopAssignmentType^choice) + cli: + cliKey: personalDesktopAssignmentType + - propertyName: loadBalancerType(LoadBalancerType^choice) + cli: + cliKey: loadBalancerType + - propertyName: ring(integer^integer) + cli: + cliKey: ring + - propertyName: validationEnvironment(boolean^boolean) + cli: + cliKey: validationEnvironment + - propertyName: registrationInfo(RegistrationInfoPatch^object) + cli: + cliKey: registrationInfo + - propertyName: ssoContext(HostPoolPatchProperties-ssoContext^string) + cli: + cliKey: ssoContext + - schemaName: RegistrationInfoPatch + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 1 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: RegistrationInfoPatch + properties: + - propertyName: registrationTokenOperation(RegistrationTokenOperation^choice) + cli: + cliKey: registrationTokenOperation + - schemaName: HostPoolList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: HostPoolList + properties: + - propertyName: value(HostPoolList-value^array) + cli: + cliKey: value + - propertyName: nextLink(HostPoolList-nextLink^string) + cli: + cliKey: nextLink + readOnly: true + - schemaName: UserSessionList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: UserSessionList + properties: + - propertyName: value(UserSessionList-value^array) + cli: + cliKey: value + - propertyName: nextLink(UserSessionList-nextLink^string) + cli: + cliKey: nextLink + readOnly: true + - schemaName: UserSession + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 5 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: UserSession + properties: + - propertyName: properties(UserSessionProperties^object) + cli: + cliKey: properties + x-ms-client-flatten: true + - schemaName: UserSessionProperties + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 5 + propertyCountIfSimplifyWithoutSimpleObject: 5 + simplifiable: true + cliKey: UserSessionProperties + properties: + - propertyName: userPrincipalName(UserSessionProperties-userPrincipalName^string) + cli: + cliKey: userPrincipalName + - propertyName: applicationType(ApplicationType^choice) + cli: + cliKey: applicationType + - propertyName: sessionState(SessionState^choice) + cli: + cliKey: sessionState + - propertyName: activeDirectoryUserName(UserSessionProperties-activeDirectoryUserName^string) + cli: + cliKey: activeDirectoryUserName + - propertyName: createTime(UserSessionProperties-createTime^date-time) + cli: + cliKey: createTime + - schemaName: SessionHost + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: SessionHost + properties: + - propertyName: properties(SessionHostProperties^object) + cli: + cliKey: properties + x-ms-client-flatten: true + - schemaName: SessionHostProperties + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10 + propertyCountIfSimplifyWithoutSimpleObject: 10 + simplifiable: true + cliKey: SessionHostProperties + properties: + - propertyName: lastHeartBeat(SessionHostProperties-lastHeartBeat^date-time) + cli: + cliKey: lastHeartBeat + - propertyName: sessions(integer^integer) + cli: + cliKey: sessions + - propertyName: agentVersion(SessionHostProperties-agentVersion^string) + cli: + cliKey: agentVersion + - propertyName: allowNewSession(boolean^boolean) + cli: + cliKey: allowNewSession + - propertyName: assignedUser(SessionHostProperties-assignedUser^string) + cli: + cliKey: assignedUser + - propertyName: status(Status^choice) + cli: + cliKey: status + - propertyName: statusTimestamp(SessionHostProperties-statusTimestamp^date-time) + cli: + cliKey: statusTimestamp + readOnly: true + - propertyName: osVersion(SessionHostProperties-osVersion^string) + cli: + cliKey: osVersion + - propertyName: sxSStackVersion(SessionHostProperties-sxSStackVersion^string) + cli: + cliKey: sxSStackVersion + - propertyName: updateState(UpdateState^choice) + cli: + cliKey: updateState + - propertyName: lastUpdateTime(SessionHostProperties-lastUpdateTime^date-time) + cli: + cliKey: lastUpdateTime + readOnly: true + - propertyName: updateErrorMessage(SessionHostProperties-updateErrorMessage^string) + cli: + cliKey: updateErrorMessage + - schemaName: SessionHostPatch + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: SessionHostPatch + properties: + - propertyName: properties(SessionHostPatchProperties^object) + cli: + cliKey: properties + x-ms-client-flatten: true + - schemaName: SessionHostPatchProperties + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 2 + simplifiable: true + cliKey: SessionHostPatchProperties + properties: + - propertyName: allowNewSession(boolean^boolean) + cli: + cliKey: allowNewSession + - propertyName: assignedUser(SessionHostPatchProperties-assignedUser^string) + cli: + cliKey: assignedUser + - schemaName: SessionHostList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: SessionHostList + properties: + - propertyName: value(SessionHostList-value^array) + cli: + cliKey: value + - propertyName: nextLink(SessionHostList-nextLink^string) + cli: + cliKey: nextLink + readOnly: true + - schemaName: SendMessage + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 2 + simplifiable: true + cliKey: SendMessage + properties: + - propertyName: messageTitle(SendMessage-messageTitle^string) + cli: + cliKey: messageTitle + - propertyName: messageBody(SendMessage-messageBody^string) + cli: + cliKey: messageBody + choices: + all: + - choiceName: ApplicationGroupType + cli: + cliKey: ApplicationGroupType + choiceValues: + - choiceValue: RemoteApp + cli: + cliKey: RemoteApp + - choiceValue: Desktop + cli: + cliKey: Desktop + - choiceName: CommandLineSetting + cli: + cliKey: CommandLineSetting + choiceValues: + - choiceValue: DoNotAllow + cli: + cliKey: DoNotAllow + - choiceValue: Allow + cli: + cliKey: Allow + - choiceValue: Require + cli: + cliKey: Require + - choiceName: HostPoolType + cli: + cliKey: HostPoolType + choiceValues: + - choiceValue: Personal + cli: + cliKey: Personal + - choiceValue: Pooled + cli: + cliKey: Pooled + - choiceName: PersonalDesktopAssignmentType + cli: + cliKey: PersonalDesktopAssignmentType + choiceValues: + - choiceValue: Automatic + cli: + cliKey: Automatic + - choiceValue: Direct + cli: + cliKey: Direct + - choiceName: LoadBalancerType + cli: + cliKey: LoadBalancerType + choiceValues: + - choiceValue: BreadthFirst + cli: + cliKey: BreadthFirst + - choiceValue: DepthFirst + cli: + cliKey: DepthFirst + - choiceValue: Persistent + cli: + cliKey: Persistent + - choiceName: RegistrationTokenOperation + cli: + cliKey: RegistrationTokenOperation + choiceValues: + - choiceValue: Delete + cli: + cliKey: Delete + - choiceValue: None + cli: + cliKey: None + - choiceValue: Update + cli: + cliKey: Update + - choiceName: ApplicationType + cli: + cliKey: ApplicationType + choiceValues: + - choiceValue: RemoteApp + cli: + cliKey: RemoteApp + - choiceValue: Desktop + cli: + cliKey: Desktop + - choiceName: SessionState + cli: + cliKey: SessionState + choiceValues: + - choiceValue: Unknown + cli: + cliKey: Unknown + - choiceValue: Active + cli: + cliKey: Active + - choiceValue: Disconnected + cli: + cliKey: Disconnected + - choiceValue: Pending + cli: + cliKey: Pending + - choiceValue: LogOff + cli: + cliKey: LogOff + - choiceValue: UserProfileDiskMounted + cli: + cliKey: UserProfileDiskMounted + - choiceName: Status + cli: + cliKey: Status + choiceValues: + - choiceValue: Available + cli: + cliKey: Available + - choiceValue: Unavailable + cli: + cliKey: Unavailable + - choiceValue: Shutdown + cli: + cliKey: Shutdown + - choiceValue: Disconnected + cli: + cliKey: Disconnected + - choiceValue: Upgrading + cli: + cliKey: Upgrading + - choiceValue: UpgradeFailed + cli: + cliKey: UpgradeFailed + - choiceName: UpdateState + cli: + cliKey: UpdateState + choiceValues: + - choiceValue: Initial + cli: + cliKey: Initial + - choiceValue: Pending + cli: + cliKey: Pending + - choiceValue: Started + cli: + cliKey: Started + - choiceValue: Succeeded + cli: + cliKey: Succeeded + - choiceValue: Failed + cli: + cliKey: Failed diff --git a/src/desktopvirtualization/_az_debug/clicommon-000050-flatten-set-pre.yaml b/src/desktopvirtualization/_az_debug/clicommon-000050-flatten-set-pre.yaml new file mode 100644 index 00000000000..f355cc4ef8a --- /dev/null +++ b/src/desktopvirtualization/_az_debug/clicommon-000050-flatten-set-pre.yaml @@ -0,0 +1,9346 @@ +info: + title: Desktop Virtualization API Client + extensions: + cli-dump-index: 50 +schemas: + booleans: + - &ref_53 + type: boolean + language: + default: + name: boolean + description: Specifies whether to show the RemoteApp program in the RD Web Access server. + protocol: {} + - &ref_27 + type: boolean + language: + default: + name: boolean + description: Is validation environment. + protocol: {} + - &ref_222 + type: boolean + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: boolean + description: '' + protocol: {} + - &ref_73 + type: boolean + language: + default: + name: boolean + description: Allow a new session. + protocol: {} + numbers: + - &ref_47 + type: integer + precision: 32 + language: + default: + name: integer + description: Index of the icon. + protocol: {} + - &ref_24 + type: integer + precision: 32 + language: + default: + name: integer + description: The max session limit of HostPool. + protocol: {} + - &ref_26 + type: integer + precision: 32 + language: + default: + name: integer + description: The ring number of HostPool. + protocol: {} + - &ref_71 + type: integer + precision: 32 + language: + default: + name: integer + description: Number of sessions on SessionHost. + protocol: {} + strings: + - &ref_0 + type: string + language: + default: + name: string + description: simple string + protocol: {} + - &ref_2 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ResourceProviderOperation-name + description: 'Operation name, in format of {provider}/{resource}/{operation}' + protocol: {} + - &ref_3 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ResourceProviderOperation-display-provider + description: 'Resource provider: Microsoft Desktop Virtualization.' + protocol: {} + - &ref_4 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ResourceProviderOperation-display-resource + description: Resource on which the operation is performed. + protocol: {} + - &ref_5 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ResourceProviderOperation-display-operation + description: 'Type of operation: get, read, delete, etc.' + protocol: {} + - &ref_6 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ResourceProviderOperation-display-description + description: Description of this operation. + protocol: {} + - &ref_144 + type: string + apiVersions: + - version: '1.0' + minLength: 1 + language: + default: + name: string + description: '' + protocol: {} + - &ref_150 + type: string + apiVersions: + - version: '1.0' + maxLength: 90 + minLength: 1 + pattern: '^[-\w\._\(\)]+$' + language: + default: + name: string + description: '' + protocol: {} + - &ref_151 + type: string + apiVersions: + - version: 2019-12-10-preview + maxLength: 24 + minLength: 3 + language: + default: + name: string + description: '' + protocol: {} + - &ref_91 + type: string + apiVersions: + - version: '1.0' + language: + default: + name: Resource-id + description: 'Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' + protocol: {} + - &ref_92 + type: string + apiVersions: + - version: '1.0' + language: + default: + name: Resource-name + description: The name of the resource + protocol: {} + - &ref_93 + type: string + apiVersions: + - version: '1.0' + language: + default: + name: Resource-type + description: The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + protocol: {} + - &ref_1 + type: string + apiVersions: + - version: '1.0' + language: + default: + name: string + description: '' + protocol: {} + - &ref_38 + type: string + apiVersions: + - version: '1.0' + extensions: + x-ms-mutability: + - read + - create + language: + default: + name: TrackedResource-location + description: The geo-location where the resource lives + protocol: {} + - &ref_11 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: WorkspaceProperties-description + description: Description of Workspace. + protocol: {} + - &ref_12 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: WorkspaceProperties-friendlyName + description: Friendly name of Workspace. + protocol: {} + - &ref_13 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: WorkspaceProperties-applicationGroupReferencesItem + description: '' + protocol: {} + - &ref_95 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: CloudError-code + description: Error code + protocol: {} + - &ref_96 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: CloudError-message + description: Error message indicating why the operation failed. + protocol: {} + - &ref_97 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: WorkspacePatchProperties-description + description: Description of Workspace. + protocol: {} + - &ref_98 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: WorkspacePatchProperties-friendlyName + description: Friendly name of Workspace. + protocol: {} + - &ref_99 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: WorkspacePatchProperties-applicationGroupReferencesItem + description: '' + protocol: {} + - &ref_101 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: WorkspaceList-nextLink + description: Link to the next page of results. + protocol: {} + - &ref_167 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: string + description: '' + protocol: {} + - &ref_14 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationGroupProperties-description + description: Description of ApplicationGroup. + protocol: {} + - &ref_15 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationGroupProperties-friendlyName + description: Friendly name of ApplicationGroup. + protocol: {} + - &ref_16 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationGroupProperties-hostPoolArmPath + description: HostPool arm path of ApplicationGroup. + protocol: {} + - &ref_17 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationGroupProperties-workspaceArmPath + description: Workspace arm path of ApplicationGroup. + protocol: {} + - &ref_102 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationGroupList-nextLink + description: Link to the next page of results. + protocol: {} + - &ref_40 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationGroupPatchProperties-description + description: Description of ApplicationGroup. + protocol: {} + - &ref_41 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationGroupPatchProperties-friendlyName + description: Friendly name of ApplicationGroup. + protocol: {} + - &ref_42 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: StartMenuItemProperties-appAlias + description: Alias of StartMenuItem. + protocol: {} + - &ref_43 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: StartMenuItemProperties-friendlyName + description: Friendly name of StartMenuItem. + protocol: {} + - &ref_44 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: StartMenuItemProperties-filePath + description: Path to the file of StartMenuItem. + protocol: {} + - &ref_45 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: StartMenuItemProperties-commandLineArguments + description: Command line arguments for StartMenuItem. + protocol: {} + - &ref_46 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: StartMenuItemProperties-iconPath + description: Path to the icon. + protocol: {} + - &ref_105 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: StartMenuItemList-nextLink + description: Link to the next page of results. + protocol: {} + - &ref_48 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationProperties-description + description: Description of Application. + protocol: {} + - &ref_49 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationProperties-friendlyName + description: Friendly name of Application. + protocol: {} + - &ref_50 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationProperties-filePath + description: Specifies a path for the executable file for the application. + protocol: {} + - &ref_52 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationProperties-commandLineArguments + description: Command Line Arguments for Application. + protocol: {} + - &ref_54 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationProperties-iconPath + description: Path to icon. + protocol: {} + - &ref_55 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationProperties-iconHash + description: Hash of the icon. + protocol: {} + - &ref_108 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationPatchProperties-description + description: Description of Application. + protocol: {} + - &ref_109 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationPatchProperties-friendlyName + description: Friendly name of Application. + protocol: {} + - &ref_110 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationPatchProperties-filePath + description: Specifies a path for the executable file for the application. + protocol: {} + - &ref_111 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationPatchProperties-commandLineArguments + description: Command Line Arguments for Application. + protocol: {} + - &ref_112 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationPatchProperties-iconPath + description: Path to icon. + protocol: {} + - &ref_114 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationList-nextLink + description: Link to the next page of results. + protocol: {} + - &ref_57 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: DesktopProperties-description + description: Description of Desktop. + protocol: {} + - &ref_58 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: DesktopProperties-friendlyName + description: Friendly name of Desktop. + protocol: {} + - &ref_59 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: DesktopProperties-iconHash + description: Hash of the icon. + protocol: {} + - &ref_116 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: DesktopPatchProperties-description + description: Description of Desktop. + protocol: {} + - &ref_117 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: DesktopPatchProperties-friendlyName + description: Friendly name of Desktop. + protocol: {} + - &ref_119 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: DesktopList-nextLink + description: Link to the next page of results. + protocol: {} + - &ref_19 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolProperties-friendlyName + description: Friendly name of HostPool. + protocol: {} + - &ref_20 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolProperties-description + description: Description of HostPool. + protocol: {} + - &ref_23 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolProperties-customRdpProperty + description: Custom rdp property of HostPool. + protocol: {} + - &ref_29 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: RegistrationInfo-token + description: The registration token base64 encoded string. + protocol: {} + - &ref_31 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolProperties-vmTemplate + description: VM template for sessionhosts configuration within hostpool. + protocol: {} + - &ref_32 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolProperties-applicationGroupReferencesItem + description: '' + protocol: {} + - &ref_33 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolProperties-ssoContext + description: Path to keyvault containing ssoContext secret. + protocol: {} + - &ref_61 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolPatchProperties-friendlyName + description: Friendly name of HostPool. + protocol: {} + - &ref_62 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolPatchProperties-description + description: Description of HostPool. + protocol: {} + - &ref_63 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolPatchProperties-customRdpProperty + description: Custom rdp property of HostPool. + protocol: {} + - &ref_64 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolPatchProperties-ssoContext + description: Path to keyvault containing ssoContext secret. + protocol: {} + - &ref_124 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolList-nextLink + description: Link to the next page of results. + protocol: {} + - &ref_65 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: UserSessionProperties-userPrincipalName + description: The user principal name. + protocol: {} + - &ref_68 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: UserSessionProperties-activeDirectoryUserName + description: The active directory user name. + protocol: {} + - &ref_125 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: UserSessionList-nextLink + description: Link to the next page of results. + protocol: {} + - &ref_235 + type: string + apiVersions: + - version: 2019-12-10-preview + maxLength: 48 + minLength: 3 + language: + default: + name: string + description: '' + protocol: {} + - &ref_72 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostProperties-agentVersion + description: Version of agent on SessionHost. + protocol: {} + - &ref_74 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostProperties-assignedUser + description: User assigned to SessionHost. + protocol: {} + - &ref_77 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostProperties-osVersion + description: The version of the OS on the session host. + protocol: {} + - &ref_78 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostProperties-sxSStackVersion + description: The version of the side by side stack on the session host. + protocol: {} + - &ref_81 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostProperties-updateErrorMessage + description: The error message. + protocol: {} + - &ref_82 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostPatchProperties-assignedUser + description: User assigned to SessionHost. + protocol: {} + - &ref_129 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostList-nextLink + description: Link to the next page of results. + protocol: {} + - &ref_236 + type: string + apiVersions: + - version: 2019-12-10-preview + maxLength: 24 + minLength: 1 + language: + default: + name: string + description: '' + protocol: {} + - &ref_130 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SendMessage-messageTitle + description: Title of message. + protocol: {} + - &ref_131 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SendMessage-messageBody + description: Body of message. + protocol: {} + choices: + - &ref_18 + choices: + - value: RemoteApp + language: + default: + name: RemoteApp + description: '' + cli: + cliKey: RemoteApp + - value: Desktop + language: + default: + name: Desktop + description: '' + cli: + cliKey: Desktop + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: ApplicationGroupType + description: Resource Type of ApplicationGroup. + cli: + cliKey: ApplicationGroupType + protocol: {} + - &ref_51 + choices: + - value: DoNotAllow + language: + default: + name: DoNotAllow + description: '' + cli: + cliKey: DoNotAllow + - value: Allow + language: + default: + name: Allow + description: '' + cli: + cliKey: Allow + - value: Require + language: + default: + name: Require + description: '' + cli: + cliKey: Require + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: CommandLineSetting + description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' + cli: + cliKey: CommandLineSetting + protocol: {} + - &ref_21 + choices: + - value: Personal + language: + default: + name: Personal + description: '' + cli: + cliKey: Personal + - value: Pooled + language: + default: + name: Pooled + description: '' + cli: + cliKey: Pooled + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: HostPoolType + description: HostPool type for desktop. + cli: + cliKey: HostPoolType + protocol: {} + - &ref_22 + choices: + - value: Automatic + language: + default: + name: Automatic + description: '' + cli: + cliKey: Automatic + - value: Direct + language: + default: + name: Direct + description: '' + cli: + cliKey: Direct + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: PersonalDesktopAssignmentType + description: PersonalDesktopAssignment type for HostPool. + cli: + cliKey: PersonalDesktopAssignmentType + protocol: {} + - &ref_25 + choices: + - value: BreadthFirst + language: + default: + name: BreadthFirst + description: '' + cli: + cliKey: BreadthFirst + - value: DepthFirst + language: + default: + name: DepthFirst + description: '' + cli: + cliKey: DepthFirst + - value: Persistent + language: + default: + name: Persistent + description: '' + cli: + cliKey: Persistent + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: LoadBalancerType + description: The type of the load balancer. + cli: + cliKey: LoadBalancerType + protocol: {} + - &ref_30 + choices: + - value: Delete + language: + default: + name: Delete + description: '' + cli: + cliKey: Delete + - value: None + language: + default: + name: None + description: '' + cli: + cliKey: None + - value: Update + language: + default: + name: Update + description: '' + cli: + cliKey: Update + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: RegistrationTokenOperation + description: The type of resetting the token. + cli: + cliKey: RegistrationTokenOperation + protocol: {} + - &ref_66 + choices: + - value: RemoteApp + language: + default: + name: RemoteApp + description: '' + cli: + cliKey: RemoteApp + - value: Desktop + language: + default: + name: Desktop + description: '' + cli: + cliKey: Desktop + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: ApplicationType + description: Application type of application. + cli: + cliKey: ApplicationType + protocol: {} + - &ref_67 + choices: + - value: Unknown + language: + default: + name: Unknown + description: '' + cli: + cliKey: Unknown + - value: Active + language: + default: + name: Active + description: '' + cli: + cliKey: Active + - value: Disconnected + language: + default: + name: Disconnected + description: '' + cli: + cliKey: Disconnected + - value: Pending + language: + default: + name: Pending + description: '' + cli: + cliKey: Pending + - value: LogOff + language: + default: + name: LogOff + description: '' + cli: + cliKey: LogOff + - value: UserProfileDiskMounted + language: + default: + name: UserProfileDiskMounted + description: '' + cli: + cliKey: UserProfileDiskMounted + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: SessionState + description: State of user session. + cli: + cliKey: SessionState + protocol: {} + - &ref_75 + choices: + - value: Available + language: + default: + name: Available + description: '' + cli: + cliKey: Available + - value: Unavailable + language: + default: + name: Unavailable + description: '' + cli: + cliKey: Unavailable + - value: Shutdown + language: + default: + name: Shutdown + description: '' + cli: + cliKey: Shutdown + - value: Disconnected + language: + default: + name: Disconnected + description: '' + cli: + cliKey: Disconnected + - value: Upgrading + language: + default: + name: Upgrading + description: '' + cli: + cliKey: Upgrading + - value: UpgradeFailed + language: + default: + name: UpgradeFailed + description: '' + cli: + cliKey: UpgradeFailed + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: Status + description: Status for a SessionHost. + cli: + cliKey: Status + protocol: {} + - &ref_79 + choices: + - value: Initial + language: + default: + name: Initial + description: '' + cli: + cliKey: Initial + - value: Pending + language: + default: + name: Pending + description: '' + cli: + cliKey: Pending + - value: Started + language: + default: + name: Started + description: '' + cli: + cliKey: Started + - value: Succeeded + language: + default: + name: Succeeded + description: '' + cli: + cliKey: Succeeded + - value: Failed + language: + default: + name: Failed + description: '' + cli: + cliKey: Failed + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: UpdateState + description: Update state of a SessionHost. + cli: + cliKey: UpdateState + protocol: {} + constants: + - &ref_145 + type: constant + value: + value: 2019-12-10-preview + valueType: *ref_0 + language: + default: + name: ApiVersion-2019-12-10-preview + description: Api Version (2019-12-10-preview) + protocol: {} + - &ref_155 + type: constant + value: + value: application/json + valueType: *ref_0 + language: + default: + name: application/json + description: Content Type 'application/json' + protocol: {} + dictionaries: + - &ref_37 + type: dictionary + elementType: *ref_1 + language: + default: + name: TrackedResource-tags + description: Resource tags. + cli: + cli-complexity: dictionary_simple + cli-mark: checked + protocol: {} + any: + - &ref_39 + type: any + language: + default: + name: any + description: Any object + protocol: {} + byteArrays: + - &ref_56 + type: byte-array + format: byte + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationProperties-iconContent + description: the icon a 64 bit string as a byte array. + protocol: {} + - &ref_60 + type: byte-array + format: byte + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: DesktopProperties-iconContent + description: The icon a 64 bit string as a byte array. + protocol: {} + dateTimes: + - &ref_28 + type: date-time + format: date-time + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: RegistrationInfo-expirationTime + description: Expiration time of registration token. + protocol: {} + - &ref_69 + type: date-time + format: date-time + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: UserSessionProperties-createTime + description: The timestamp of the user session create. + protocol: {} + - &ref_70 + type: date-time + format: date-time + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostProperties-lastHeartBeat + description: Last heart beat from SessionHost. + protocol: {} + - &ref_76 + type: date-time + format: date-time + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostProperties-statusTimestamp + description: The timestamp of the status. + protocol: {} + - &ref_80 + type: date-time + format: date-time + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostProperties-lastUpdateTime + description: The timestamp of the last update. + protocol: {} + objects: + - &ref_148 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_132 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: &ref_7 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_2 + serializedName: name + language: + default: + name: name + description: 'Operation name, in format of {provider}/{resource}/{operation}' + cli: + cliKey: name + protocol: {} + - schema: &ref_8 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_3 + serializedName: provider + language: + default: + name: provider + description: 'Resource provider: Microsoft Desktop Virtualization.' + cli: + cliKey: provider + protocol: {} + - schema: *ref_4 + serializedName: resource + language: + default: + name: resource + description: Resource on which the operation is performed. + cli: + cliKey: resource + protocol: {} + - schema: *ref_5 + serializedName: operation + language: + default: + name: operation + description: 'Type of operation: get, read, delete, etc.' + cli: + cliKey: operation + protocol: {} + - schema: *ref_6 + serializedName: description + language: + default: + name: description + description: Description of this operation. + cli: + cliKey: description + protocol: {} + serializationFormats: + - json + usage: + - output + language: + default: + name: ResourceProviderOperation-display + description: Display metadata associated with the operation. + namespace: '' + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 4 + propertyCountIfSimplifyWithoutSimpleObject: 4 + simplifiable: true + cliKey: ResourceProviderOperation-display + protocol: {} + serializedName: display + language: + default: + name: display + description: Display metadata associated with the operation. + cli: + cliKey: display + protocol: {} + serializationFormats: + - json + usage: + - output + language: + default: + name: ResourceProviderOperation + description: Supported operation of this resource provider. + namespace: '' + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 5 + propertyCountIfSimplifyWithoutSimpleObject: 2 + simplifiable: true + cliKey: ResourceProviderOperation + protocol: {} + language: + default: + name: ResourceProviderOperationList-value + description: List of operations supported by this resource provider. + cli: + cli-complexity: array_complex + cli-mark: checked + protocol: {} + serializedName: value + language: + default: + name: value + description: List of operations supported by this resource provider. + cli: + cliKey: value + protocol: {} + serializationFormats: + - json + usage: + - output + language: + default: + name: ResourceProviderOperationList + description: Result of the request to list operations. + namespace: '' + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ResourceProviderOperationList + protocol: {} + - *ref_7 + - *ref_8 + - &ref_10 + type: object + apiVersions: + - version: '1.0' + children: + all: + - &ref_9 + type: object + apiVersions: + - version: '1.0' + children: + all: + - &ref_34 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_9 + - *ref_10 + immediate: + - *ref_9 + properties: + - schema: &ref_94 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_11 + serializedName: description + language: + default: + name: description + description: Description of Workspace. + cli: + cliKey: description + protocol: {} + - schema: *ref_12 + serializedName: friendlyName + language: + default: + name: friendlyName + description: Friendly name of Workspace. + cli: + cliKey: friendlyName + protocol: {} + - schema: &ref_133 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_13 + language: + default: + name: WorkspaceProperties-applicationGroupReferences + description: List of applicationGroup resource Ids. + cli: + cli-complexity: array_simple + cli-mark: checked + protocol: {} + serializedName: applicationGroupReferences + language: + default: + name: applicationGroupReferences + description: List of applicationGroup resource Ids. + cli: + cliKey: applicationGroupReferences + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: WorkspaceProperties + description: Schema for Workspace properties. + namespace: '' + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: WorkspaceProperties + protocol: {} + serializedName: properties + extensions: + x-ms-client-flatten: true + language: + default: + name: properties + description: Detailed properties for Workspace + cli: + cliKey: properties + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: Workspace + description: Represents a Workspace definition. + namespace: '' + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: Workspace + protocol: {} + - &ref_35 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_9 + - *ref_10 + immediate: + - *ref_9 + properties: + - schema: &ref_103 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_14 + required: false + serializedName: description + language: + default: + name: description + description: Description of ApplicationGroup. + cli: + cliKey: description + protocol: {} + - schema: *ref_15 + required: false + serializedName: friendlyName + language: + default: + name: friendlyName + description: Friendly name of ApplicationGroup. + cli: + cliKey: friendlyName + protocol: {} + - schema: *ref_16 + required: true + serializedName: hostPoolArmPath + language: + default: + name: hostPoolArmPath + description: HostPool arm path of ApplicationGroup. + cli: + cliKey: hostPoolArmPath + protocol: {} + - schema: *ref_17 + readOnly: true + required: false + serializedName: workspaceArmPath + language: + default: + name: workspaceArmPath + description: Workspace arm path of ApplicationGroup. + cli: + cliKey: workspaceArmPath + protocol: {} + - schema: *ref_18 + required: true + serializedName: applicationGroupType + language: + default: + name: applicationGroupType + description: Resource Type of ApplicationGroup. + cli: + cliKey: applicationGroupType + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: ApplicationGroupProperties + description: Schema for ApplicationGroup properties. + namespace: '' + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 4 + propertyCountIfSimplifyWithoutSimpleObject: 4 + simplifiable: true + cliKey: ApplicationGroupProperties + protocol: {} + required: true + serializedName: properties + extensions: + x-ms-client-flatten: true + x-nullable: false + language: + default: + name: properties + description: Detailed properties for ApplicationGroup + cli: + cliKey: properties + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: ApplicationGroup + description: Represents a ApplicationGroup definition. + namespace: '' + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ApplicationGroup + protocol: {} + - &ref_36 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_9 + - *ref_10 + immediate: + - *ref_9 + properties: + - schema: &ref_120 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_19 + required: false + serializedName: friendlyName + language: + default: + name: friendlyName + description: Friendly name of HostPool. + cli: + cliKey: friendlyName + protocol: {} + - schema: *ref_20 + required: false + serializedName: description + language: + default: + name: description + description: Description of HostPool. + cli: + cliKey: description + protocol: {} + - schema: *ref_21 + required: true + serializedName: hostPoolType + language: + default: + name: hostPoolType + description: HostPool type for desktop. + cli: + cliKey: hostPoolType + protocol: {} + - schema: *ref_22 + required: true + serializedName: personalDesktopAssignmentType + language: + default: + name: personalDesktopAssignmentType + description: PersonalDesktopAssignment type for HostPool. + cli: + cliKey: personalDesktopAssignmentType + protocol: {} + - schema: *ref_23 + required: false + serializedName: customRdpProperty + language: + default: + name: customRdpProperty + description: Custom rdp property of HostPool. + cli: + cliKey: customRdpProperty + protocol: {} + - schema: *ref_24 + required: false + serializedName: maxSessionLimit + language: + default: + name: maxSessionLimit + description: The max session limit of HostPool. + cli: + cliKey: maxSessionLimit + protocol: {} + - schema: *ref_25 + required: true + serializedName: loadBalancerType + language: + default: + name: loadBalancerType + description: The type of the load balancer. + cli: + cliKey: loadBalancerType + protocol: {} + - schema: *ref_26 + required: false + serializedName: ring + language: + default: + name: ring + description: The ring number of HostPool. + cli: + cliKey: ring + protocol: {} + - schema: *ref_27 + required: false + serializedName: validationEnvironment + language: + default: + name: validationEnvironment + description: Is validation environment. + cli: + cliKey: validationEnvironment + protocol: {} + - schema: &ref_121 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_28 + serializedName: expirationTime + language: + default: + name: expirationTime + description: Expiration time of registration token. + cli: + cliKey: expirationTime + protocol: {} + - schema: *ref_29 + serializedName: token + language: + default: + name: token + description: The registration token base64 encoded string. + cli: + cliKey: token + protocol: {} + - schema: *ref_30 + serializedName: registrationTokenOperation + language: + default: + name: registrationTokenOperation + description: The type of resetting the token. + cli: + cliKey: registrationTokenOperation + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: RegistrationInfo + description: Represents a RegistrationInfo definition. + namespace: '' + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 3 + propertyCountIfSimplifyWithoutSimpleObject: 3 + simplifiable: true + cliKey: RegistrationInfo + protocol: {} + required: false + serializedName: registrationInfo + language: + default: + name: registrationInfo + description: The registration info of HostPool. + cli: + cliKey: registrationInfo + protocol: {} + - schema: *ref_31 + required: false + serializedName: vmTemplate + language: + default: + name: vmTemplate + description: VM template for sessionhosts configuration within hostpool. + cli: + cliKey: vmTemplate + protocol: {} + - schema: &ref_140 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_32 + language: + default: + name: HostPoolProperties-applicationGroupReferences + description: List of applicationGroup links. + cli: + cli-complexity: array_simple + cli-mark: checked + protocol: {} + readOnly: true + required: false + serializedName: applicationGroupReferences + language: + default: + name: applicationGroupReferences + description: List of applicationGroup links. + cli: + cliKey: applicationGroupReferences + protocol: {} + - schema: *ref_33 + required: false + serializedName: ssoContext + language: + default: + name: ssoContext + description: Path to keyvault containing ssoContext secret. + cli: + cliKey: ssoContext + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: HostPoolProperties + description: Properties of HostPool. + namespace: '' + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 14 + propertyCountIfSimplifyWithoutSimpleObject: 12 + simplifiable: true + cliKey: HostPoolProperties + protocol: {} + required: true + serializedName: properties + extensions: + x-ms-client-flatten: true + x-nullable: false + language: + default: + name: properties + description: Detailed properties for HostPool + cli: + cliKey: properties + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: HostPool + description: Represents a HostPool definition. + namespace: '' + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: HostPool + protocol: {} + immediate: + - *ref_34 + - *ref_35 + - *ref_36 + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - schema: *ref_37 + required: false + serializedName: tags + language: + default: + name: tags + description: Resource tags. + cli: + cliKey: tags + protocol: {} + - schema: *ref_38 + required: true + serializedName: location + language: + default: + name: location + description: The geo-location where the resource lives + cli: + cliKey: location + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: TrackedResource + description: The resource model definition for a ARM tracked top level resource + namespace: '' + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: TrackedResource + protocol: {} + - *ref_34 + - *ref_35 + - &ref_83 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - schema: *ref_39 + serializedName: tags + language: + default: + name: tags + description: tags to be updated + cli: + cliKey: tags + protocol: {} + - schema: &ref_104 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_40 + serializedName: description + language: + default: + name: description + description: Description of ApplicationGroup. + cli: + cliKey: description + protocol: {} + - schema: *ref_41 + serializedName: friendlyName + language: + default: + name: friendlyName + description: Friendly name of ApplicationGroup. + cli: + cliKey: friendlyName + protocol: {} + serializationFormats: + - json + usage: + - input + - output + language: + default: + name: ApplicationGroupPatchProperties + description: ApplicationGroup properties that can be patched. + namespace: '' + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 2 + simplifiable: true + cliKey: ApplicationGroupPatchProperties + protocol: {} + serializedName: properties + extensions: + x-ms-client-flatten: true + language: + default: + name: properties + description: ApplicationGroup properties that can be patched. + cli: + cliKey: properties + protocol: {} + serializationFormats: + - json + usage: + - input + - output + language: + default: + name: ApplicationGroupPatch + description: ApplicationGroup properties that can be patched. + namespace: '' + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ApplicationGroupPatch + protocol: {} + - &ref_84 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - schema: &ref_106 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_42 + serializedName: appAlias + language: + default: + name: appAlias + description: Alias of StartMenuItem. + cli: + cliKey: appAlias + protocol: {} + - schema: *ref_43 + serializedName: friendlyName + language: + default: + name: friendlyName + description: Friendly name of StartMenuItem. + cli: + cliKey: friendlyName + protocol: {} + - schema: *ref_44 + serializedName: filePath + language: + default: + name: filePath + description: Path to the file of StartMenuItem. + cli: + cliKey: filePath + protocol: {} + - schema: *ref_45 + serializedName: commandLineArguments + language: + default: + name: commandLineArguments + description: Command line arguments for StartMenuItem. + cli: + cliKey: commandLineArguments + protocol: {} + - schema: *ref_46 + serializedName: iconPath + language: + default: + name: iconPath + description: Path to the icon. + cli: + cliKey: iconPath + protocol: {} + - schema: *ref_47 + serializedName: iconIndex + language: + default: + name: iconIndex + description: Index of the icon. + cli: + cliKey: iconIndex + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: StartMenuItemProperties + description: Schema for StartMenuItem properties. + namespace: '' + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 6 + propertyCountIfSimplifyWithoutSimpleObject: 6 + simplifiable: true + cliKey: StartMenuItemProperties + protocol: {} + serializedName: properties + extensions: + x-ms-client-flatten: true + language: + default: + name: properties + description: Detailed properties for StartMenuItem + cli: + cliKey: properties + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: StartMenuItem + description: Represents a StartMenuItem definition. + namespace: '' + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 6 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: StartMenuItem + protocol: {} + - &ref_85 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - schema: &ref_107 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_48 + required: false + serializedName: description + language: + default: + name: description + description: Description of Application. + cli: + cliKey: description + protocol: {} + - schema: *ref_49 + required: false + serializedName: friendlyName + language: + default: + name: friendlyName + description: Friendly name of Application. + cli: + cliKey: friendlyName + protocol: {} + - schema: *ref_50 + required: false + serializedName: filePath + language: + default: + name: filePath + description: Specifies a path for the executable file for the application. + cli: + cliKey: filePath + protocol: {} + - schema: *ref_51 + required: true + serializedName: commandLineSetting + language: + default: + name: commandLineSetting + description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' + cli: + cliKey: commandLineSetting + protocol: {} + - schema: *ref_52 + required: false + serializedName: commandLineArguments + language: + default: + name: commandLineArguments + description: Command Line Arguments for Application. + cli: + cliKey: commandLineArguments + protocol: {} + - schema: *ref_53 + required: false + serializedName: showInPortal + language: + default: + name: showInPortal + description: Specifies whether to show the RemoteApp program in the RD Web Access server. + cli: + cliKey: showInPortal + protocol: {} + - schema: *ref_54 + required: false + serializedName: iconPath + language: + default: + name: iconPath + description: Path to icon. + cli: + cliKey: iconPath + protocol: {} + - schema: *ref_47 + required: false + serializedName: iconIndex + language: + default: + name: iconIndex + description: Index of the icon. + cli: + cliKey: iconIndex + protocol: {} + - schema: *ref_55 + readOnly: true + required: false + serializedName: iconHash + language: + default: + name: iconHash + description: Hash of the icon. + cli: + cliKey: iconHash + protocol: {} + - schema: *ref_56 + readOnly: true + required: false + serializedName: iconContent + language: + default: + name: iconContent + description: the icon a 64 bit string as a byte array. + cli: + cliKey: iconContent + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: ApplicationProperties + description: Schema for Application properties. + namespace: '' + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 8 + propertyCountIfSimplifyWithoutSimpleObject: 8 + simplifiable: true + cliKey: ApplicationProperties + protocol: {} + required: true + serializedName: properties + extensions: + x-ms-client-flatten: true + x-nullable: false + language: + default: + name: properties + description: Detailed properties for Application + cli: + cliKey: properties + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: Application + description: Schema for Application properties. + namespace: '' + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 8 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: Application + protocol: {} + - &ref_86 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - schema: &ref_115 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_57 + serializedName: description + language: + default: + name: description + description: Description of Desktop. + cli: + cliKey: description + protocol: {} + - schema: *ref_58 + serializedName: friendlyName + language: + default: + name: friendlyName + description: Friendly name of Desktop. + cli: + cliKey: friendlyName + protocol: {} + - schema: *ref_59 + readOnly: true + serializedName: iconHash + language: + default: + name: iconHash + description: Hash of the icon. + cli: + cliKey: iconHash + protocol: {} + - schema: *ref_60 + readOnly: true + serializedName: iconContent + language: + default: + name: iconContent + description: The icon a 64 bit string as a byte array. + cli: + cliKey: iconContent + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: DesktopProperties + description: Schema for Desktop properties. + namespace: '' + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 2 + simplifiable: true + cliKey: DesktopProperties + protocol: {} + serializedName: properties + extensions: + x-ms-client-flatten: true + language: + default: + name: properties + description: Detailed properties for Desktop + cli: + cliKey: properties + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: Desktop + description: Schema for Desktop properties. + namespace: '' + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: Desktop + protocol: {} + - *ref_36 + - &ref_87 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - schema: *ref_39 + serializedName: tags + language: + default: + name: tags + description: tags to be updated + cli: + cliKey: tags + protocol: {} + - schema: &ref_122 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_61 + serializedName: friendlyName + language: + default: + name: friendlyName + description: Friendly name of HostPool. + cli: + cliKey: friendlyName + protocol: {} + - schema: *ref_62 + serializedName: description + language: + default: + name: description + description: Description of HostPool. + cli: + cliKey: description + protocol: {} + - schema: *ref_63 + serializedName: customRdpProperty + language: + default: + name: customRdpProperty + description: Custom rdp property of HostPool. + cli: + cliKey: customRdpProperty + protocol: {} + - schema: *ref_24 + serializedName: maxSessionLimit + language: + default: + name: maxSessionLimit + description: The max session limit of HostPool. + cli: + cliKey: maxSessionLimit + protocol: {} + - schema: *ref_22 + serializedName: personalDesktopAssignmentType + language: + default: + name: personalDesktopAssignmentType + description: PersonalDesktopAssignment type for HostPool. + cli: + cliKey: personalDesktopAssignmentType + protocol: {} + - schema: *ref_25 + serializedName: loadBalancerType + language: + default: + name: loadBalancerType + description: The type of the load balancer. + cli: + cliKey: loadBalancerType + protocol: {} + - schema: *ref_26 + serializedName: ring + language: + default: + name: ring + description: The ring number of HostPool. + cli: + cliKey: ring + protocol: {} + - schema: *ref_27 + serializedName: validationEnvironment + language: + default: + name: validationEnvironment + description: Is validation environment. + cli: + cliKey: validationEnvironment + protocol: {} + - schema: &ref_123 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_30 + serializedName: registrationTokenOperation + language: + default: + name: registrationTokenOperation + description: The type of resetting the token. + cli: + cliKey: registrationTokenOperation + protocol: {} + serializationFormats: + - json + usage: + - input + - output + language: + default: + name: RegistrationInfoPatch + description: Represents a RegistrationInfo definition. + namespace: '' + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 1 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: RegistrationInfoPatch + protocol: {} + serializedName: registrationInfo + language: + default: + name: registrationInfo + description: The registration info of HostPool. + cli: + cliKey: registrationInfo + protocol: {} + - schema: *ref_64 + serializedName: ssoContext + language: + default: + name: ssoContext + description: Path to keyvault containing ssoContext secret. + cli: + cliKey: ssoContext + protocol: {} + serializationFormats: + - json + usage: + - input + - output + language: + default: + name: HostPoolPatchProperties + description: Properties of HostPool. + namespace: '' + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10 + propertyCountIfSimplifyWithoutSimpleObject: 10 + simplifiable: true + cliKey: HostPoolPatchProperties + protocol: {} + serializedName: properties + extensions: + x-ms-client-flatten: true + language: + default: + name: properties + description: HostPool properties that can be patched. + cli: + cliKey: properties + protocol: {} + serializationFormats: + - json + usage: + - input + - output + language: + default: + name: HostPoolPatch + description: HostPool properties that can be patched. + namespace: '' + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: HostPoolPatch + protocol: {} + - &ref_88 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - schema: &ref_126 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_65 + serializedName: userPrincipalName + language: + default: + name: userPrincipalName + description: The user principal name. + cli: + cliKey: userPrincipalName + protocol: {} + - schema: *ref_66 + serializedName: applicationType + language: + default: + name: applicationType + description: Application type of application. + cli: + cliKey: applicationType + protocol: {} + - schema: *ref_67 + serializedName: sessionState + language: + default: + name: sessionState + description: State of user session. + cli: + cliKey: sessionState + protocol: {} + - schema: *ref_68 + serializedName: activeDirectoryUserName + language: + default: + name: activeDirectoryUserName + description: The active directory user name. + cli: + cliKey: activeDirectoryUserName + protocol: {} + - schema: *ref_69 + serializedName: createTime + language: + default: + name: createTime + description: The timestamp of the user session create. + cli: + cliKey: createTime + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: UserSessionProperties + description: Schema for UserSession properties. + namespace: '' + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 5 + propertyCountIfSimplifyWithoutSimpleObject: 5 + simplifiable: true + cliKey: UserSessionProperties + protocol: {} + serializedName: properties + extensions: + x-ms-client-flatten: true + language: + default: + name: properties + description: Detailed properties for UserSession + cli: + cliKey: properties + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: UserSession + description: Represents a UserSession definition. + namespace: '' + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 5 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: UserSession + protocol: {} + - &ref_89 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - schema: &ref_127 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_70 + serializedName: lastHeartBeat + language: + default: + name: lastHeartBeat + description: Last heart beat from SessionHost. + cli: + cliKey: lastHeartBeat + protocol: {} + - schema: *ref_71 + serializedName: sessions + language: + default: + name: sessions + description: Number of sessions on SessionHost. + cli: + cliKey: sessions + protocol: {} + - schema: *ref_72 + serializedName: agentVersion + language: + default: + name: agentVersion + description: Version of agent on SessionHost. + cli: + cliKey: agentVersion + protocol: {} + - schema: *ref_73 + serializedName: allowNewSession + language: + default: + name: allowNewSession + description: Allow a new session. + cli: + cliKey: allowNewSession + protocol: {} + - schema: *ref_74 + serializedName: assignedUser + language: + default: + name: assignedUser + description: User assigned to SessionHost. + cli: + cliKey: assignedUser + protocol: {} + - schema: *ref_75 + serializedName: status + language: + default: + name: status + description: Status for a SessionHost. + cli: + cliKey: status + protocol: {} + - schema: *ref_76 + readOnly: true + serializedName: statusTimestamp + language: + default: + name: statusTimestamp + description: The timestamp of the status. + cli: + cliKey: statusTimestamp + protocol: {} + - schema: *ref_77 + serializedName: osVersion + language: + default: + name: osVersion + description: The version of the OS on the session host. + cli: + cliKey: osVersion + protocol: {} + - schema: *ref_78 + serializedName: sxSStackVersion + language: + default: + name: sxSStackVersion + description: The version of the side by side stack on the session host. + cli: + cliKey: sxSStackVersion + protocol: {} + - schema: *ref_79 + serializedName: updateState + language: + default: + name: updateState + description: Update state of a SessionHost. + cli: + cliKey: updateState + protocol: {} + - schema: *ref_80 + readOnly: true + serializedName: lastUpdateTime + language: + default: + name: lastUpdateTime + description: The timestamp of the last update. + cli: + cliKey: lastUpdateTime + protocol: {} + - schema: *ref_81 + serializedName: updateErrorMessage + language: + default: + name: updateErrorMessage + description: The error message. + cli: + cliKey: updateErrorMessage + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: SessionHostProperties + description: Schema for SessionHost properties. + namespace: '' + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10 + propertyCountIfSimplifyWithoutSimpleObject: 10 + simplifiable: true + cliKey: SessionHostProperties + protocol: {} + serializedName: properties + extensions: + x-ms-client-flatten: true + language: + default: + name: properties + description: Detailed properties for SessionHost + cli: + cliKey: properties + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: SessionHost + description: Represents a SessionHost definition. + namespace: '' + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: SessionHost + protocol: {} + - &ref_90 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - schema: &ref_128 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_73 + serializedName: allowNewSession + language: + default: + name: allowNewSession + description: Allow a new session. + cli: + cliKey: allowNewSession + protocol: {} + - schema: *ref_82 + serializedName: assignedUser + language: + default: + name: assignedUser + description: User assigned to SessionHost. + cli: + cliKey: assignedUser + protocol: {} + serializationFormats: + - json + usage: + - input + - output + language: + default: + name: SessionHostPatchProperties + description: SessionHost properties that can be patched. + namespace: '' + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 2 + simplifiable: true + cliKey: SessionHostPatchProperties + protocol: {} + serializedName: properties + extensions: + x-ms-client-flatten: true + language: + default: + name: properties + description: Detailed properties for SessionHost + cli: + cliKey: properties + protocol: {} + serializationFormats: + - json + usage: + - input + - output + language: + default: + name: SessionHostPatch + description: SessionHost properties that can be patched. + namespace: '' + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: SessionHostPatch + protocol: {} + immediate: + - *ref_9 + - *ref_83 + - *ref_84 + - *ref_85 + - *ref_86 + - *ref_87 + - *ref_88 + - *ref_89 + - *ref_90 + properties: + - schema: *ref_91 + readOnly: true + serializedName: id + language: + default: + name: id + description: 'Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' + cli: + cliKey: id + protocol: {} + - schema: *ref_92 + readOnly: true + serializedName: name + language: + default: + name: name + description: The name of the resource + cli: + cliKey: name + protocol: {} + - schema: *ref_93 + readOnly: true + serializedName: type + language: + default: + name: type + description: The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + cli: + cliKey: type + protocol: {} + serializationFormats: + - json + usage: + - output + - input + extensions: + x-ms-azure-resource: true + language: + default: + name: Resource + description: '' + namespace: '' + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 0 + propertyCountIfSimplifyWithoutSimpleObject: 0 + simplifiable: true + cliKey: Resource + protocol: {} + - *ref_9 + - *ref_34 + - *ref_94 + - &ref_154 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_95 + serializedName: code + language: + default: + name: code + description: Error code + cli: + cliKey: code + protocol: {} + - schema: *ref_96 + serializedName: message + language: + default: + name: message + description: Error message indicating why the operation failed. + cli: + cliKey: message + protocol: {} + serializationFormats: + - json + usage: + - output + language: + default: + name: CloudError + description: Error response of an operation failure + namespace: '' + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 2 + simplifiable: true + cliKey: CloudError + protocol: {} + - &ref_161 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_39 + serializedName: tags + language: + default: + name: tags + description: tags to be updated + cli: + cliKey: tags + protocol: {} + - schema: &ref_100 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_97 + serializedName: description + language: + default: + name: description + description: Description of Workspace. + cli: + cliKey: description + protocol: {} + - schema: *ref_98 + serializedName: friendlyName + language: + default: + name: friendlyName + description: Friendly name of Workspace. + cli: + cliKey: friendlyName + protocol: {} + - schema: &ref_134 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_99 + language: + default: + name: WorkspacePatchProperties-applicationGroupReferences + description: List of applicationGroup links. + cli: + cli-complexity: array_simple + cli-mark: checked + protocol: {} + serializedName: applicationGroupReferences + language: + default: + name: applicationGroupReferences + description: List of applicationGroup links. + cli: + cliKey: applicationGroupReferences + protocol: {} + serializationFormats: + - json + usage: + - input + language: + default: + name: WorkspacePatchProperties + description: Workspace properties that can be patched. + namespace: '' + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: WorkspacePatchProperties + protocol: {} + serializedName: properties + extensions: + x-ms-client-flatten: true + language: + default: + name: properties + description: Detailed properties for Workspace + cli: + cliKey: properties + protocol: {} + serializationFormats: + - json + usage: + - input + language: + default: + name: WorkspacePatch + description: Workspace properties that can be patched. + namespace: '' + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: WorkspacePatch + protocol: {} + - *ref_100 + - &ref_166 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_135 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_34 + language: + default: + name: WorkspaceList-value + description: List of Workspace definitions. + cli: + cli-complexity: array_complex + cli-mark: checked + protocol: {} + serializedName: value + language: + default: + name: value + description: List of Workspace definitions. + cli: + cliKey: value + protocol: {} + - schema: *ref_101 + readOnly: true + serializedName: nextLink + language: + default: + name: nextLink + description: Link to the next page of results. + cli: + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: WorkspaceList + usage: + - output + language: + default: + name: WorkspaceList + description: List of Workspace definitions. + namespace: '' + summary: WorkspaceList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: WorkspaceList + protocol: {} + - &ref_171 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_136 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_35 + language: + default: + name: ApplicationGroupList-value + description: List of ApplicationGroup definitions. + cli: + cli-complexity: array_complex + cli-mark: checked + protocol: {} + serializedName: value + language: + default: + name: value + description: List of ApplicationGroup definitions. + cli: + cliKey: value + protocol: {} + - schema: *ref_102 + readOnly: true + serializedName: nextLink + language: + default: + name: nextLink + description: Link to the next page of results. + cli: + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: ApplicationGroupList + usage: + - output + language: + default: + name: ApplicationGroupList + description: List of ApplicationGroup definitions. + namespace: '' + summary: ApplicationGroupList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ApplicationGroupList + protocol: {} + - *ref_35 + - *ref_103 + - *ref_83 + - *ref_104 + - &ref_187 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_137 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_84 + language: + default: + name: StartMenuItemList-value + description: List of StartMenuItem definitions. + cli: + cli-complexity: array_complex + cli-mark: checked + protocol: {} + serializedName: value + language: + default: + name: value + description: List of StartMenuItem definitions. + cli: + cliKey: value + protocol: {} + - schema: *ref_105 + readOnly: true + serializedName: nextLink + language: + default: + name: nextLink + description: Link to the next page of results. + cli: + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: StartMenuItemList + usage: + - output + language: + default: + name: StartMenuItemList + description: List of StartMenuItem definitions. + namespace: '' + summary: StartMenuItemList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: StartMenuItemList + protocol: {} + - *ref_84 + - *ref_106 + - *ref_85 + - *ref_107 + - &ref_198 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_39 + serializedName: tags + language: + default: + name: tags + description: tags to be updated + cli: + cliKey: tags + protocol: {} + - schema: &ref_113 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_108 + serializedName: description + language: + default: + name: description + description: Description of Application. + cli: + cliKey: description + protocol: {} + - schema: *ref_109 + serializedName: friendlyName + language: + default: + name: friendlyName + description: Friendly name of Application. + cli: + cliKey: friendlyName + protocol: {} + - schema: *ref_110 + serializedName: filePath + language: + default: + name: filePath + description: Specifies a path for the executable file for the application. + cli: + cliKey: filePath + protocol: {} + - schema: *ref_51 + serializedName: commandLineSetting + language: + default: + name: commandLineSetting + description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' + cli: + cliKey: commandLineSetting + protocol: {} + - schema: *ref_111 + serializedName: commandLineArguments + language: + default: + name: commandLineArguments + description: Command Line Arguments for Application. + cli: + cliKey: commandLineArguments + protocol: {} + - schema: *ref_53 + serializedName: showInPortal + language: + default: + name: showInPortal + description: Specifies whether to show the RemoteApp program in the RD Web Access server. + cli: + cliKey: showInPortal + protocol: {} + - schema: *ref_112 + serializedName: iconPath + language: + default: + name: iconPath + description: Path to icon. + cli: + cliKey: iconPath + protocol: {} + - schema: *ref_47 + serializedName: iconIndex + language: + default: + name: iconIndex + description: Index of the icon. + cli: + cliKey: iconIndex + protocol: {} + serializationFormats: + - json + usage: + - input + language: + default: + name: ApplicationPatchProperties + description: Application properties that can be patched. + namespace: '' + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 8 + propertyCountIfSimplifyWithoutSimpleObject: 8 + simplifiable: true + cliKey: ApplicationPatchProperties + protocol: {} + serializedName: properties + extensions: + x-ms-client-flatten: true + language: + default: + name: properties + description: Detailed properties for Application + cli: + cliKey: properties + protocol: {} + serializationFormats: + - json + usage: + - input + language: + default: + name: ApplicationPatch + description: Application properties that can be patched. + namespace: '' + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ApplicationPatch + protocol: {} + - *ref_113 + - &ref_205 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_138 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_85 + language: + default: + name: ApplicationList-value + description: List of Application definitions. + cli: + cli-complexity: array_complex + cli-mark: checked + protocol: {} + serializedName: value + language: + default: + name: value + description: List of Application definitions. + cli: + cliKey: value + protocol: {} + - schema: *ref_114 + readOnly: true + serializedName: nextLink + language: + default: + name: nextLink + description: Link to the next page of results. + cli: + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: ApplicationList + usage: + - output + language: + default: + name: ApplicationList + description: List of Application definitions. + namespace: '' + summary: ApplicationList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ApplicationList + protocol: {} + - *ref_86 + - *ref_115 + - &ref_209 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_39 + serializedName: tags + language: + default: + name: tags + description: tags to be updated + cli: + cliKey: tags + protocol: {} + - schema: &ref_118 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_116 + serializedName: description + language: + default: + name: description + description: Description of Desktop. + cli: + cliKey: description + protocol: {} + - schema: *ref_117 + serializedName: friendlyName + language: + default: + name: friendlyName + description: Friendly name of Desktop. + cli: + cliKey: friendlyName + protocol: {} + serializationFormats: + - json + usage: + - input + language: + default: + name: DesktopPatchProperties + description: Desktop properties that can be patched. + namespace: '' + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 2 + simplifiable: true + cliKey: DesktopPatchProperties + protocol: {} + serializedName: properties + extensions: + x-ms-client-flatten: true + language: + default: + name: properties + description: Detailed properties for Desktop + cli: + cliKey: properties + protocol: {} + serializationFormats: + - json + usage: + - input + language: + default: + name: DesktopPatch + description: Desktop properties that can be patched. + namespace: '' + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: DesktopPatch + protocol: {} + - *ref_118 + - &ref_216 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_139 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_86 + language: + default: + name: DesktopList-value + description: List of Desktop definitions. + cli: + cli-complexity: array_complex + cli-mark: checked + protocol: {} + serializedName: value + language: + default: + name: value + description: List of Desktop definitions. + cli: + cliKey: value + protocol: {} + - schema: *ref_119 + readOnly: true + serializedName: nextLink + language: + default: + name: nextLink + description: Link to the next page of results. + cli: + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: DesktopList + usage: + - output + language: + default: + name: DesktopList + description: List of Desktop definitions. + namespace: '' + summary: DesktopList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: DesktopList + protocol: {} + - *ref_36 + - *ref_120 + - *ref_121 + - *ref_87 + - *ref_122 + - *ref_123 + - &ref_230 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_141 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_36 + language: + default: + name: HostPoolList-value + description: List of HostPool definitions. + cli: + cli-complexity: array_complex + cli-mark: checked + protocol: {} + serializedName: value + language: + default: + name: value + description: List of HostPool definitions. + cli: + cliKey: value + protocol: {} + - schema: *ref_124 + readOnly: true + serializedName: nextLink + language: + default: + name: nextLink + description: Link to the next page of results. + cli: + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: HostPoolList + usage: + - output + language: + default: + name: HostPoolList + description: List of HostPool definitions. + namespace: '' + summary: HostPoolList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: HostPoolList + protocol: {} + - &ref_234 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_142 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_88 + language: + default: + name: UserSessionList-value + description: List of UserSession definitions. + cli: + cli-complexity: array_complex + cli-mark: checked + protocol: {} + serializedName: value + language: + default: + name: value + description: List of UserSession definitions. + cli: + cliKey: value + protocol: {} + - schema: *ref_125 + readOnly: true + serializedName: nextLink + language: + default: + name: nextLink + description: Link to the next page of results. + cli: + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: UserSessionList + usage: + - output + language: + default: + name: UserSessionList + description: List of UserSession definitions. + namespace: '' + summary: UserSessionList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: UserSessionList + protocol: {} + - *ref_88 + - *ref_126 + - *ref_89 + - *ref_127 + - *ref_90 + - *ref_128 + - &ref_272 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_143 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_89 + language: + default: + name: SessionHostList-value + description: List of SessionHost definitions. + cli: + cli-complexity: array_complex + cli-mark: checked + protocol: {} + serializedName: value + language: + default: + name: value + description: List of SessionHost definitions. + cli: + cliKey: value + protocol: {} + - schema: *ref_129 + readOnly: true + serializedName: nextLink + language: + default: + name: nextLink + description: Link to the next page of results. + cli: + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: SessionHostList + usage: + - output + language: + default: + name: SessionHostList + description: List of SessionHost definitions. + namespace: '' + summary: SessionHostList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: SessionHostList + protocol: {} + - &ref_253 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_130 + serializedName: messageTitle + language: + default: + name: messageTitle + description: Title of message. + cli: + cliKey: messageTitle + protocol: {} + - schema: *ref_131 + serializedName: messageBody + language: + default: + name: messageBody + description: Body of message. + cli: + cliKey: messageBody + protocol: {} + serializationFormats: + - json + usage: + - input + language: + default: + name: SendMessage + description: Represents message sent to a UserSession. + namespace: '' + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 2 + simplifiable: true + cliKey: SendMessage + protocol: {} + arrays: + - *ref_132 + - *ref_133 + - *ref_134 + - *ref_135 + - *ref_136 + - *ref_137 + - *ref_138 + - *ref_139 + - *ref_140 + - *ref_141 + - *ref_142 + - *ref_143 +globalParameters: + - &ref_149 + schema: *ref_144 + implementation: Client + required: true + extensions: + x-ms-priority: 0 + language: + default: + name: subscriptionId + description: The ID of the target subscription. + serializedName: subscriptionId + cli: + cliKey: subscriptionId + protocol: + http: + in: path + - &ref_146 + schema: *ref_0 + clientDefaultValue: 'https://management.azure.com' + implementation: Client + origin: 'modelerfour:synthesized/host' + required: true + extensions: + x-ms-skip-url-encoding: true + language: + default: + name: $host + description: server parameter + serializedName: $host + cli: + cliKey: $host + protocol: + http: + in: uri + - &ref_147 + schema: *ref_145 + implementation: Client + origin: 'modelerfour:synthesized/api-version' + required: true + language: + default: + name: ApiVersion + description: Api Version + serializedName: api-version + cli: + cliKey: ApiVersion + protocol: + http: + in: query +operationGroups: + - $key: Operations + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: /providers/Microsoft.DesktopVirtualization/operations + method: get + uri: '{$host}' + signatureParameters: [] + responses: + - schema: *ref_148 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + extensions: + x-ms-examples: + OperationDescription_List: + parameters: + api-version: 2019-12-10-preview + responses: + '200': + body: + value: + - name: Microsoft.DesktopVirtualization/ssocontext/read + display: + provider: Microsoft.DesktopVirtualization + resource: ssocontext + - name: Microsoft.DesktopVirtualization/ssocontext/write + display: + provider: Microsoft.DesktopVirtualization + resource: ssocontext + language: + default: + name: List + description: List all of the available operations the Desktop Virtualization resource provider supports. + cli: + cliKey: List + protocol: {} + language: + default: + name: Operations + description: '' + cli: + cliKey: Operations + protocol: {} + - $key: Workspaces + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_152 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_153 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: workspaceName + description: The name of the workspace + serializedName: workspaceName + cli: + cliKey: workspaceName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_152 + - *ref_153 + responses: + - schema: *ref_34 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Workspace_Get: + parameters: + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + workspaceName: workspace1 + responses: + '200': + body: + name: workspace1 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + language: + default: + name: Get + description: Get a workspace. + cli: + cliKey: Get + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_157 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_158 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: workspaceName + description: The name of the workspace + serializedName: workspaceName + cli: + cliKey: workspaceName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_155 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content-type + description: Body Parameter content-type + serializedName: Content-Type + cli: + cliKey: content-type + protocol: + http: + in: header + - &ref_156 + schema: *ref_34 + implementation: Method + required: true + language: + default: + name: workspace + description: Object containing Workspace definitions. + cli: + cliKey: workspace + protocol: + http: + in: body + style: json + signatureParameters: + - *ref_156 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' + method: put + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_157 + - *ref_158 + responses: + - schema: *ref_34 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + - schema: *ref_34 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '201' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Workspace_Create: + parameters: + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + workspace: + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + tag1: value1 + tag2: value2 + workspaceName: workspace1 + responses: + '200': + body: + name: workspace1 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + '201': + body: + name: workspace1 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + language: + default: + name: CreateOrUpdate + description: Create or update a workspace. + cli: + cliKey: CreateOrUpdate + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_159 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_160 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: workspaceName + description: The name of the workspace + serializedName: workspaceName + cli: + cliKey: workspaceName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' + method: delete + uri: '{$host}' + signatureParameters: + - *ref_159 + - *ref_160 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '204' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Workspace_Delete: + parameters: + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + workspaceName: workspace1 + responses: + '200': + name: workspace1 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + '204': {} + language: + default: + name: Delete + description: Remove a workspace. + cli: + cliKey: Delete + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_163 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_164 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: workspaceName + description: The name of the workspace + serializedName: workspaceName + cli: + cliKey: workspaceName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_155 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content-type + description: Body Parameter content-type + serializedName: Content-Type + cli: + cliKey: content-type + protocol: + http: + in: header + - &ref_162 + schema: *ref_161 + implementation: Method + required: false + language: + default: + name: workspace + description: Object containing Workspace definitions. + cli: + cliKey: workspace + protocol: + http: + in: body + style: json + signatureParameters: + - *ref_162 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' + method: patch + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_163 + - *ref_164 + responses: + - schema: *ref_34 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Workspace_Update: + parameters: + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + workspace: + properties: + description: des1 + friendlyName: friendly + tags: + tag1: value1 + tag2: value2 + workspaceName: workspace1 + responses: + '200': + body: + name: workspace1 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + language: + default: + name: Update + description: Update a workspace. + cli: + cliKey: Update + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_165 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces' + method: get + uri: '{$host}' + signatureParameters: + - *ref_165 + responses: + - schema: *ref_166 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Workspace_ListByResourceGroup: + parameters: + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: workspace1 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + - name: workspace2 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace2 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: ListByResourceGroup + description: List workspaces. + paging: + nextLinkName: nextLink + cli: + cliKey: ListByResourceGroup + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/workspaces' + method: get + uri: '{$host}' + signatureParameters: [] + responses: + - schema: *ref_166 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Workspace_ListBySubscription: + parameters: + api-version: 2019-12-10-preview + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: workspace1 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + - name: workspace2 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace2 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: ListBySubscription + description: List workspaces in subscription. + paging: + nextLinkName: nextLink + cli: + cliKey: ListBySubscription + protocol: {} + language: + default: + name: Workspaces + description: '' + cli: + cliKey: Workspaces + protocol: {} + - $key: ApplicationGroupAssignments + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_168 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_169 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: workspaceName + description: The name of the workspace + serializedName: workspaceName + cli: + cliKey: workspaceName + protocol: + http: + in: path + - &ref_170 + schema: *ref_167 + implementation: Method + language: + default: + name: $filter + description: OData filter expression. Valid properties for filtering are applicationGroupType. + serializedName: $filter + cli: + cliKey: $filter + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}/userApplicationGroupAssignments' + method: get + uri: '{$host}' + signatureParameters: + - *ref_168 + - *ref_169 + - *ref_170 + responses: + - schema: *ref_171 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ApplicationGroupAssignment_WorkspaceLevelList: + parameters: + $filter: userPrincipalName eq 'user1@microsoft.com' + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + workspaceName: workspace1 + responses: + '200': + body: + value: + - name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + - name: applicationGroup2 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: WorkspaceLevelList + description: List application group that user can use. + paging: + nextLinkName: nextLink + cli: + cliKey: WorkspaceLevelList + protocol: {} + language: + default: + name: ApplicationGroupAssignments + description: '' + cli: + cliKey: ApplicationGroupAssignments + protocol: {} + - $key: ApplicationGroups + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_172 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_173 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationGroupName + description: The name of the application group + serializedName: applicationGroupName + cli: + cliKey: applicationGroupName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_172 + - *ref_173 + responses: + - schema: *ref_35 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ApplicationGroup_Get: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + language: + default: + name: Get + description: Get an application group. + cli: + cliKey: Get + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_175 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_176 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationGroupName + description: The name of the application group + serializedName: applicationGroupName + cli: + cliKey: applicationGroupName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_155 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content-type + description: Body Parameter content-type + serializedName: Content-Type + cli: + cliKey: content-type + protocol: + http: + in: header + - &ref_174 + schema: *ref_35 + implementation: Method + required: true + language: + default: + name: applicationGroup + description: Object containing ApplicationGroup definitions. + cli: + cliKey: applicationGroup + protocol: + http: + in: body + style: json + signatureParameters: + - *ref_174 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' + method: put + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_175 + - *ref_176 + responses: + - schema: *ref_35 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + - schema: *ref_35 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '201' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ApplicationGroup_Create: + parameters: + api-version: 2019-12-10-preview + applicationGroup: + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + tags: + tag1: value1 + tag2: value2 + applicationGroupName: applicationGroup1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + '201': + body: + name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + language: + default: + name: CreateOrUpdate + description: Create or update an applicationGroup. + cli: + cliKey: CreateOrUpdate + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_177 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_178 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationGroupName + description: The name of the application group + serializedName: applicationGroupName + cli: + cliKey: applicationGroupName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' + method: delete + uri: '{$host}' + signatureParameters: + - *ref_177 + - *ref_178 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '204' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ApplicationGroup_Delete: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + '204': {} + language: + default: + name: Delete + description: Remove an applicationGroup. + cli: + cliKey: Delete + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_180 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_181 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationGroupName + description: The name of the application group + serializedName: applicationGroupName + cli: + cliKey: applicationGroupName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_155 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content-type + description: Body Parameter content-type + serializedName: Content-Type + cli: + cliKey: content-type + protocol: + http: + in: header + - &ref_179 + schema: *ref_83 + implementation: Method + required: false + language: + default: + name: applicationGroup + description: Object containing ApplicationGroup definitions. + cli: + cliKey: applicationGroup + protocol: + http: + in: body + style: json + signatureParameters: + - *ref_179 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' + method: patch + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_180 + - *ref_181 + responses: + - schema: *ref_35 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ApplicationGroups_Update: + parameters: + api-version: 2019-12-10-preview + applicationGroup: + properties: + description: des1 + friendlyName: friendly + tags: + tag1: value1 + tag2: value2 + applicationGroupName: applicationGroup1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + language: + default: + name: Update + description: Update an applicationGroup. + cli: + cliKey: Update + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_182 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_183 + schema: *ref_167 + implementation: Method + language: + default: + name: $filter + description: OData filter expression. Valid properties for filtering are applicationGroupType. + serializedName: $filter + cli: + cliKey: $filter + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups' + method: get + uri: '{$host}' + signatureParameters: + - *ref_182 + - *ref_183 + responses: + - schema: *ref_171 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ApplicationGroup_ListByResourceGroup: + parameters: + $filter: applicationGroupType eq 'RailApplication' + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + - name: applicationGroup2 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: ListByResourceGroup + description: List applicationGroups. + paging: + nextLinkName: nextLink + cli: + cliKey: ListByResourceGroup + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_184 + schema: *ref_167 + implementation: Method + language: + default: + name: $filter + description: OData filter expression. Valid properties for filtering are applicationGroupType. + serializedName: $filter + cli: + cliKey: $filter + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/applicationGroups' + method: get + uri: '{$host}' + signatureParameters: + - *ref_184 + responses: + - schema: *ref_171 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ApplicationGroup_List: + parameters: + $filter: applicationGroupType eq 'RailApplication' + api-version: 2019-12-10-preview + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + - name: applicationGroup2 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: ListBySubscription + description: List applicationGroups in subscription. + paging: + nextLinkName: nextLink + cli: + cliKey: ListBySubscription + protocol: {} + language: + default: + name: ApplicationGroups + description: '' + cli: + cliKey: ApplicationGroups + protocol: {} + - $key: StartMenuItems + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_185 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_186 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationGroupName + description: The name of the application group + serializedName: applicationGroupName + cli: + cliKey: applicationGroupName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/startMenuItems' + method: get + uri: '{$host}' + signatureParameters: + - *ref_185 + - *ref_186 + responses: + - schema: *ref_187 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + StartMenuItem_List: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: application1 + type: Microsoft.DesktopVirtualization/applicationGroups/startMenuItems + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/startMenuItem/application1 + properties: + appAlias: word + commandLineArguments: arguments + filePath: /path/to/file + friendlyName: friendly + iconIndex: 1 + iconPath: /path/to/icon + - name: application2 + type: Microsoft.DesktopVirtualization/applicationGroups/startMenuItems + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/startMenuItem/application2 + properties: + appAlias: excel + commandLineArguments: arguments + filePath: /path/to/file + friendlyName: friendly + iconIndex: 1 + iconPath: /path/to/icon + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: List + description: List start menu items in the given application group. + paging: + nextLinkName: nextLink + cli: + cliKey: List + protocol: {} + language: + default: + name: StartMenuItems + description: '' + cli: + cliKey: StartMenuItems + protocol: {} + - $key: Applications + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_188 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_189 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationGroupName + description: The name of the application group + serializedName: applicationGroupName + cli: + cliKey: applicationGroupName + protocol: + http: + in: path + - &ref_190 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationName + description: The name of the application within the specified application group + serializedName: applicationName + cli: + cliKey: applicationName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_188 + - *ref_189 + - *ref_190 + responses: + - schema: *ref_85 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Application_Get: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + applicationName: application1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1/application1 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + language: + default: + name: Get + description: Get an application. + cli: + cliKey: Get + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_192 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_193 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationGroupName + description: The name of the application group + serializedName: applicationGroupName + cli: + cliKey: applicationGroupName + protocol: + http: + in: path + - &ref_194 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationName + description: The name of the application within the specified application group + serializedName: applicationName + cli: + cliKey: applicationName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_155 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content-type + description: Body Parameter content-type + serializedName: Content-Type + cli: + cliKey: content-type + protocol: + http: + in: header + - &ref_191 + schema: *ref_85 + implementation: Method + required: true + language: + default: + name: application + description: Object containing Application definitions. + cli: + cliKey: application + protocol: + http: + in: body + style: json + signatureParameters: + - *ref_191 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' + method: put + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_192 + - *ref_193 + - *ref_194 + responses: + - schema: *ref_85 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + - schema: *ref_85 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '201' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Application_Create: + parameters: + api-version: 2019-12-10-preview + application: + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconIndex: 1 + iconPath: icon + showInPortal: true + applicationGroupName: applicationGroup1 + applicationName: application1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1/application1 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + '201': + body: + name: applicationGroup1/application1 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + language: + default: + name: CreateOrUpdate + description: Create or update an application. + cli: + cliKey: CreateOrUpdate + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_195 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_196 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationGroupName + description: The name of the application group + serializedName: applicationGroupName + cli: + cliKey: applicationGroupName + protocol: + http: + in: path + - &ref_197 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationName + description: The name of the application within the specified application group + serializedName: applicationName + cli: + cliKey: applicationName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' + method: delete + uri: '{$host}' + signatureParameters: + - *ref_195 + - *ref_196 + - *ref_197 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '204' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Application_Delete: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + applicationName: application1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + name: applicationGroup1/application1 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + '204': {} + language: + default: + name: Delete + description: Remove an application. + cli: + cliKey: Delete + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_200 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_201 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationGroupName + description: The name of the application group + serializedName: applicationGroupName + cli: + cliKey: applicationGroupName + protocol: + http: + in: path + - &ref_202 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationName + description: The name of the application within the specified application group + serializedName: applicationName + cli: + cliKey: applicationName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_155 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content-type + description: Body Parameter content-type + serializedName: Content-Type + cli: + cliKey: content-type + protocol: + http: + in: header + - &ref_199 + schema: *ref_198 + implementation: Method + required: false + language: + default: + name: application + description: Object containing Application definitions. + cli: + cliKey: application + protocol: + http: + in: body + style: json + signatureParameters: + - *ref_199 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' + method: patch + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_200 + - *ref_201 + - *ref_202 + responses: + - schema: *ref_85 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Application_Update: + parameters: + api-version: 2019-12-10-preview + application: + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconIndex: 1 + iconPath: icon + showInPortal: true + applicationGroupName: applicationGroup1 + applicationName: application1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1/application1 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + language: + default: + name: Update + description: Update an application. + cli: + cliKey: Update + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_203 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_204 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationGroupName + description: The name of the application group + serializedName: applicationGroupName + cli: + cliKey: applicationGroupName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications' + method: get + uri: '{$host}' + signatureParameters: + - *ref_203 + - *ref_204 + responses: + - schema: *ref_205 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Applications_List: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: applicationGroup1/application1 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + - name: applicationGroup1/application2 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application2 + properties: + description: des2 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: List + description: List applications. + paging: + nextLinkName: nextLink + cli: + cliKey: List + protocol: {} + language: + default: + name: Applications + description: '' + cli: + cliKey: Applications + protocol: {} + - $key: Desktops + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_206 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_207 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationGroupName + description: The name of the application group + serializedName: applicationGroupName + cli: + cliKey: applicationGroupName + protocol: + http: + in: path + - &ref_208 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: desktopName + description: The name of the desktop within the specified desktop group + serializedName: desktopName + cli: + cliKey: desktopName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops/{desktopName}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_206 + - *ref_207 + - *ref_208 + responses: + - schema: *ref_86 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Desktop_Get: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + desktopName: SessionDesktop + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1/SessionDesktop + type: Microsoft.DesktopVirtualization/applicationGroups/desktops + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/SessionDesktop + properties: + description: des1 + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + language: + default: + name: Get + description: Get a desktop. + cli: + cliKey: Get + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_211 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_212 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationGroupName + description: The name of the application group + serializedName: applicationGroupName + cli: + cliKey: applicationGroupName + protocol: + http: + in: path + - &ref_213 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: desktopName + description: The name of the desktop within the specified desktop group + serializedName: desktopName + cli: + cliKey: desktopName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_155 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content-type + description: Body Parameter content-type + serializedName: Content-Type + cli: + cliKey: content-type + protocol: + http: + in: header + - &ref_210 + schema: *ref_209 + implementation: Method + required: false + language: + default: + name: desktop + description: Object containing Desktop definitions. + cli: + cliKey: desktop + protocol: + http: + in: body + style: json + signatureParameters: + - *ref_210 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops/{desktopName}' + method: patch + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_211 + - *ref_212 + - *ref_213 + responses: + - schema: *ref_86 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Desktop_Update: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + desktop: + properties: + description: des1 + friendlyName: friendly + desktopName: SessionDesktop + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1/SessionDesktop + type: Microsoft.DesktopVirtualization/applicationGroups/desktops + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/desktops/SessionDesktop + properties: + description: des1 + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + language: + default: + name: Update + description: Update a desktop. + cli: + cliKey: Update + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_214 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_215 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationGroupName + description: The name of the application group + serializedName: applicationGroupName + cli: + cliKey: applicationGroupName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops' + method: get + uri: '{$host}' + signatureParameters: + - *ref_214 + - *ref_215 + responses: + - schema: *ref_216 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Desktop_List: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: applicationGroup1/SessionDesktop + type: Microsoft.DesktopVirtualization/applicationGroups/desktops + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/SessionDesktop + properties: + description: des1 + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + language: + default: + name: List + description: List desktops. + cli: + cliKey: List + protocol: {} + language: + default: + name: Desktops + description: '' + cli: + cliKey: Desktops + protocol: {} + - $key: HostPools + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_217 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_218 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: hostPoolName + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_217 + - *ref_218 + responses: + - schema: *ref_36 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + HostPool_Get: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: hostPool1 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2008-09-22T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + language: + default: + name: Get + description: Get a host pool. + cli: + cliKey: Get + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_220 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_221 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: hostPoolName + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_155 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content-type + description: Body Parameter content-type + serializedName: Content-Type + cli: + cliKey: content-type + protocol: + http: + in: header + - &ref_219 + schema: *ref_36 + implementation: Method + required: true + language: + default: + name: hostPool + description: Object containing HostPool definitions. + cli: + cliKey: hostPool + protocol: + http: + in: body + style: json + signatureParameters: + - *ref_219 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' + method: put + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_220 + - *ref_221 + responses: + - schema: *ref_36 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + - schema: *ref_36 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '201' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + HostPool_Create: + parameters: + api-version: 2019-12-10-preview + hostPool: + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2020-10-01T14:01:54.9571247Z' + registrationTokenOperation: Update + ssoContext: KeyVaultPath + tags: + tag1: value1 + tag2: value2 + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: hostPool1 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2020-10-01T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + '201': + body: + name: hostPool1 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2020-10-01T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + language: + default: + name: CreateOrUpdate + description: Create or update a host pool. + cli: + cliKey: CreateOrUpdate + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_223 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_224 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: hostPoolName + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_225 + schema: *ref_222 + implementation: Method + language: + default: + name: force + description: Force flag to delete sessionHost. + serializedName: force + cli: + cliKey: force + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' + method: delete + uri: '{$host}' + signatureParameters: + - *ref_223 + - *ref_224 + - *ref_225 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '204' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + HostPool_Delete: + parameters: + api-version: 2019-12-10-preview + force: true + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + name: hostPool1 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2008-09-22T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + '204': {} + language: + default: + name: Delete + description: Remove a host pool. + cli: + cliKey: Delete + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_227 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_228 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: hostPoolName + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_155 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content-type + description: Body Parameter content-type + serializedName: Content-Type + cli: + cliKey: content-type + protocol: + http: + in: header + - &ref_226 + schema: *ref_87 + implementation: Method + required: false + language: + default: + name: hostPool + description: Object containing HostPool definitions. + cli: + cliKey: hostPool + protocol: + http: + in: body + style: json + signatureParameters: + - *ref_226 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' + method: patch + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_227 + - *ref_228 + responses: + - schema: *ref_36 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + HostPool_Update: + parameters: + api-version: 2019-12-10-preview + hostPool: + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2020-10-02T14:01:54.9571247Z' + ssoContext: KeyVaultPath + tags: + tag1: value1 + tag2: value2 + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: hostPool1 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2008-09-22T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + language: + default: + name: Update + description: Update a host pool. + cli: + cliKey: Update + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_229 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools' + method: get + uri: '{$host}' + signatureParameters: + - *ref_229 + responses: + - schema: *ref_230 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + HostPool_ListByResourceGroup: + parameters: + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: hostPool1 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2008-09-22T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + - name: hostPool2 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool2 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2008-09-22T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: ListByResourceGroup + description: List hostPools. + paging: + nextLinkName: nextLink + cli: + cliKey: ListByResourceGroup + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/hostPools' + method: get + uri: '{$host}' + signatureParameters: [] + responses: + - schema: *ref_230 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + HostPool_List: + parameters: + api-version: 2019-12-10-preview + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: hostPool1 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2008-09-22T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + - name: hostPool2 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool2 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2008-09-22T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: List + description: List hostPools in subscription. + paging: + nextLinkName: nextLink + cli: + cliKey: List + protocol: {} + language: + default: + name: HostPools + description: '' + cli: + cliKey: HostPools + protocol: {} + - $key: UserSessions + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_231 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_232 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: hostPoolName + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_233 + schema: *ref_167 + implementation: Method + language: + default: + name: $filter + description: OData filter expression. Valid properties for filtering are userprincipalname and sessionstate. + serializedName: $filter + cli: + cliKey: $filter + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/userSessions' + method: get + uri: '{$host}' + signatureParameters: + - *ref_231 + - *ref_232 + - *ref_233 + responses: + - schema: *ref_234 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + UserSession_ListByHostPool: + parameters: + $filter: userPrincipalName eq 'user1@microsoft.com' and state eq 'active' + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: '1' + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 + properties: + activeDirectoryUserName: WVDARM\user1 + applicationType: Desktop + createTime: '2008-09-22T14:01:54.9571247Z' + sessionState: Active + userPrincipalName: user1@microsoft.com + - name: '2' + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/2 + properties: + activeDirectoryUserName: WVDARM\user1 + applicationType: Desktop + createTime: '2008-09-22T14:01:54.9571247Z' + sessionState: Active + userPrincipalName: user1@microsoft.com + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: ListByHostPool + description: List userSessions. + paging: + nextLinkName: nextLink + cli: + cliKey: ListByHostPool + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_237 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_238 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: hostPoolName + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_239 + schema: *ref_235 + implementation: Method + required: true + language: + default: + name: sessionHostName + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + cliKey: sessionHostName + protocol: + http: + in: path + - &ref_240 + schema: *ref_236 + implementation: Method + required: true + language: + default: + name: userSessionId + description: The name of the user session within the specified session host + serializedName: userSessionId + cli: + cliKey: userSessionId + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_237 + - *ref_238 + - *ref_239 + - *ref_240 + responses: + - schema: *ref_88 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + UserSession_Get: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + userSessionId: '1' + responses: + '200': + body: + name: '1' + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 + properties: + activeDirectoryUserName: WVDARM\user1 + applicationType: Desktop + createTime: '2008-09-22T14:01:54.9571247Z' + sessionState: Active + userPrincipalName: user1@microsoft.com + language: + default: + name: Get + description: Get a userSession. + cli: + cliKey: Get + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_241 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_242 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: hostPoolName + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_243 + schema: *ref_235 + implementation: Method + required: true + language: + default: + name: sessionHostName + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + cliKey: sessionHostName + protocol: + http: + in: path + - &ref_244 + schema: *ref_236 + implementation: Method + required: true + language: + default: + name: userSessionId + description: The name of the user session within the specified session host + serializedName: userSessionId + cli: + cliKey: userSessionId + protocol: + http: + in: path + - &ref_245 + schema: *ref_222 + implementation: Method + language: + default: + name: force + description: Force flag to login off userSession. + serializedName: force + cli: + cliKey: force + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}' + method: delete + uri: '{$host}' + signatureParameters: + - *ref_241 + - *ref_242 + - *ref_243 + - *ref_244 + - *ref_245 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '204' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + UserSession_Delete: + parameters: + api-version: 2019-12-10-preview + force: true + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + userSessionId: '1' + responses: + '200': + name: '1' + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 + properties: + activeDirectoryUserName: WVDARM\user1 + applicationType: Desktop + createTime: '2008-09-22T14:01:54.9571247Z' + sessionState: Active + userPrincipalName: user1@microsoft.com + '204': {} + language: + default: + name: Delete + description: Remove a userSession. + cli: + cliKey: Delete + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_246 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_247 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: hostPoolName + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_248 + schema: *ref_235 + implementation: Method + required: true + language: + default: + name: sessionHostName + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + cliKey: sessionHostName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions' + method: get + uri: '{$host}' + signatureParameters: + - *ref_246 + - *ref_247 + - *ref_248 + responses: + - schema: *ref_234 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + UserSession_List: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: '1' + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 + properties: + activeDirectoryUserName: WVDARM\user1 + applicationType: Desktop + createTime: '2008-09-22T14:01:54.9571247Z' + sessionState: Active + userPrincipalName: user1@microsoft.com + - name: '2' + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/2 + properties: + activeDirectoryUserName: WVDARM\user1 + applicationType: Desktop + createTime: '2008-09-22T14:01:54.9571247Z' + sessionState: Active + userPrincipalName: user1@microsoft.com + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: List + description: List userSessions. + paging: + nextLinkName: nextLink + cli: + cliKey: List + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_249 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_250 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: hostPoolName + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_251 + schema: *ref_235 + implementation: Method + required: true + language: + default: + name: sessionHostName + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + cliKey: sessionHostName + protocol: + http: + in: path + - &ref_252 + schema: *ref_236 + implementation: Method + required: true + language: + default: + name: userSessionId + description: The name of the user session within the specified session host + serializedName: userSessionId + cli: + cliKey: userSessionId + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}/disconnect' + method: post + uri: '{$host}' + signatureParameters: + - *ref_249 + - *ref_250 + - *ref_251 + - *ref_252 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + UserSession_Disconnect_Post: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + userSessionId: '1' + responses: + '200': {} + language: + default: + name: Disconnect + description: Disconnect a userSession. + cli: + cliKey: Disconnect + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_255 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_256 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: hostPoolName + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_257 + schema: *ref_235 + implementation: Method + required: true + language: + default: + name: sessionHostName + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + cliKey: sessionHostName + protocol: + http: + in: path + - &ref_258 + schema: *ref_236 + implementation: Method + required: true + language: + default: + name: userSessionId + description: The name of the user session within the specified session host + serializedName: userSessionId + cli: + cliKey: userSessionId + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_155 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content-type + description: Body Parameter content-type + serializedName: Content-Type + cli: + cliKey: content-type + protocol: + http: + in: header + - &ref_254 + schema: *ref_253 + implementation: Method + required: false + language: + default: + name: sendMessage + description: Object containing message includes title and message body + cli: + cliKey: sendMessage + protocol: + http: + in: body + style: json + signatureParameters: + - *ref_254 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}/sendMessage' + method: post + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_255 + - *ref_256 + - *ref_257 + - *ref_258 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + UserSession_SendMessage_Post: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sendMessage: + messageBody: body + messageTitle: title + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + userSessionId: '1' + responses: + '200': {} + language: + default: + name: SendMessage + description: Send a message to a user. + cli: + cliKey: SendMessage + protocol: {} + language: + default: + name: UserSessions + description: '' + cli: + cliKey: UserSessions + protocol: {} + - $key: SessionHosts + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_259 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_260 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: hostPoolName + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_261 + schema: *ref_235 + implementation: Method + required: true + language: + default: + name: sessionHostName + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + cliKey: sessionHostName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_259 + - *ref_260 + - *ref_261 + responses: + - schema: *ref_89 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + SessionHost_Get: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: sessionHost1.microsoft.com + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com + properties: + agentVersion: 1.0.0.1391 + allowNewSession: true + assignedUser: user1@microsoft.com + lastHeartBeat: '2008-09-22T14:01:54.9571247Z' + lastUpdateTime: '2008-09-22T14:01:54.9571247Z' + osVersion: 10.0.17763 + sessions: 1 + status: Available + statusTimestamp: '2008-09-22T14:01:54.9571247Z' + sxSStackVersion: rdp-sxs190816002 + updateErrorMessage: '' + updateState: Succeeded + language: + default: + name: Get + description: Get a session host. + cli: + cliKey: Get + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_262 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_263 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: hostPoolName + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_264 + schema: *ref_235 + implementation: Method + required: true + language: + default: + name: sessionHostName + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + cliKey: sessionHostName + protocol: + http: + in: path + - &ref_265 + schema: *ref_222 + implementation: Method + language: + default: + name: force + description: Force flag to force sessionHost deletion even when userSession exists. + serializedName: force + cli: + cliKey: force + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}' + method: delete + uri: '{$host}' + signatureParameters: + - *ref_262 + - *ref_263 + - *ref_264 + - *ref_265 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '204' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + SessionHost_Delete: + parameters: + api-version: 2019-12-10-preview + force: true + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + name: sessionHost1.microsoft.com + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com + properties: + agentVersion: 1.0.0.1391 + allowNewSession: true + assignedUser: user1@microsoft.com + lastHeartBeat: '2008-09-22T14:01:54.9571247Z' + lastUpdateTime: '2008-09-22T14:01:54.9571247Z' + osVersion: 10.0.17763 + sessions: 1 + status: Available + statusTimestamp: '2008-09-22T14:01:54.9571247Z' + sxSStackVersion: rdp-sxs190816002 + updateErrorMessage: '' + updateState: Succeeded + '204': {} + language: + default: + name: Delete + description: Remove a SessionHost. + cli: + cliKey: Delete + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_267 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_268 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: hostPoolName + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_269 + schema: *ref_235 + implementation: Method + required: true + language: + default: + name: sessionHostName + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + cliKey: sessionHostName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_155 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content-type + description: Body Parameter content-type + serializedName: Content-Type + cli: + cliKey: content-type + protocol: + http: + in: header + - &ref_266 + schema: *ref_90 + implementation: Method + required: false + language: + default: + name: sessionHost + description: Object containing SessionHost definitions. + cli: + cliKey: sessionHost + protocol: + http: + in: body + style: json + signatureParameters: + - *ref_266 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}' + method: patch + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_267 + - *ref_268 + - *ref_269 + responses: + - schema: *ref_89 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + SessionHost_Update: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHost: + properties: + allowNewSession: true + assignedUser: user1@microsoft.com + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: sessionHost1.microsoft.com + type: Microsoft.DesktopVirtualization/hostPools/sessionhosts + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com + properties: + agentVersion: 1.0.0.1391 + allowNewSession: true + assignedUser: user1@microsoft.com + lastHeartBeat: '2019-01-11T19:27:13.6108027Z' + lastUpdateTime: '2008-09-22T14:01:54.9571247Z' + osVersion: 10.0.17763 + sessions: 1 + status: Available + statusTimestamp: '2019-01-24T20:00:08.2893033Z' + sxSStackVersion: rdp-sxs190816002 + updateErrorMessage: '' + updateState: Succeeded + language: + default: + name: Update + description: Update a session host. + cli: + cliKey: Update + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_270 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_271 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: hostPoolName + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts' + method: get + uri: '{$host}' + signatureParameters: + - *ref_270 + - *ref_271 + responses: + - schema: *ref_272 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + SessionHost_List: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: sessionHost1.microsoft.com + type: Microsoft.DesktopVirtualization/hostPools/sessionhosts + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com + properties: + agentVersion: 1.0.0.1391 + allowNewSession: true + assignedUser: user1@microsoft.com + lastHeartBeat: '2008-09-22T14:01:54.9571247Z' + lastUpdateTime: '2008-09-22T14:01:54.9571247Z' + osVersion: 10.0.17763 + sessions: 1 + status: Available + statusTimestamp: '2008-09-22T14:01:54.9571247Z' + sxSStackVersion: rdp-sxs190816002 + updateErrorMessage: '' + updateState: Succeeded + - name: sessionHost2.microsoft.com + type: Microsoft.DesktopVirtualization/hostPools/sessionhosts + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost2microsoft.com + properties: + agentVersion: 1.0.0.1391 + allowNewSession: true + assignedUser: user2@microsoft.com + lastHeartBeat: '2008-09-22T14:01:54.9571247Z' + lastUpdateTime: '2008-09-22T14:01:54.9571247Z' + osVersion: 10.0.17763 + sessions: 1 + status: Available + statusTimestamp: '2008-09-22T14:01:54.9571247Z' + sxSStackVersion: rdp-sxs190816002 + updateErrorMessage: '' + updateState: Succeeded + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: List + description: List sessionHosts. + paging: + nextLinkName: nextLink + cli: + cliKey: List + protocol: {} + language: + default: + name: SessionHosts + description: '' + cli: + cliKey: SessionHosts + protocol: {} + - $key: ActiveApplications + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_273 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_274 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: hostPoolName + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_275 + schema: *ref_235 + implementation: Method + required: true + language: + default: + name: sessionHostName + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + cliKey: sessionHostName + protocol: + http: + in: path + - &ref_276 + schema: *ref_167 + implementation: Method + language: + default: + name: $filter + description: OData filter expression. Valid properties for filtering are userprincipalname and sessionstate. + serializedName: $filter + cli: + cliKey: $filter + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/activeApplications' + method: get + uri: '{$host}' + signatureParameters: + - *ref_273 + - *ref_274 + - *ref_275 + - *ref_276 + responses: + - schema: *ref_205 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ActiveApplications_List: + parameters: + $filter: userPrincipalName eq 'user1@microsoft.com' + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: applicationGroup1/application1 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + - name: applicationGroup1/application2 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application2 + properties: + description: des2 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: ListBySessionHost + description: List applications for the given session host. + paging: + nextLinkName: nextLink + cli: + cliKey: ListBySessionHost + protocol: {} + language: + default: + name: ActiveApplications + description: '' + cli: + cliKey: ActiveApplications + protocol: {} +language: + default: + name: '' + description: '' +protocol: + http: {} diff --git a/src/desktopvirtualization/_az_debug/clicommon-000060-flatten-set-post-simplified.yaml b/src/desktopvirtualization/_az_debug/clicommon-000060-flatten-set-post-simplified.yaml new file mode 100644 index 00000000000..d0ad07c476a --- /dev/null +++ b/src/desktopvirtualization/_az_debug/clicommon-000060-flatten-set-post-simplified.yaml @@ -0,0 +1,1989 @@ +operationGroups: + all: + - operationGroupName: Operations + cli: + cliKey: Operations + operations: + - operationName: List + cli: + cliKey: List + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - operationGroupName: Workspaces + cli: + cliKey: Workspaces + operations: + - operationName: Get + cli: + cliKey: Get + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: workspaceName(string^string) + cli: + cliKey: workspaceName + - operationName: CreateOrUpdate + cli: + cliKey: CreateOrUpdate + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: workspaceName(string^string) + cli: + cliKey: workspaceName + - parameterName[0]: content-type(application/json^constant) + cli: + cliKey: content-type + - parameterName[0]: workspace(Workspace^object) + cli: + cliKey: workspace + x-ms-client-flatten: true + bodySchema: Workspace + - operationName: Delete + cli: + cliKey: Delete + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: workspaceName(string^string) + cli: + cliKey: workspaceName + - operationName: Update + cli: + cliKey: Update + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: workspaceName(string^string) + cli: + cliKey: workspaceName + - parameterName[0]: content-type(application/json^constant) + cli: + cliKey: content-type + - parameterName[0]: workspace(WorkspacePatch^object) + cli: + cliKey: workspace + x-ms-client-flatten: true + bodySchema: WorkspacePatch + - operationName: ListByResourceGroup + cli: + cliKey: ListByResourceGroup + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - operationName: ListBySubscription + cli: + cliKey: ListBySubscription + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - operationGroupName: ApplicationGroupAssignments + cli: + cliKey: ApplicationGroupAssignments + operations: + - operationName: WorkspaceLevelList + cli: + cliKey: WorkspaceLevelList + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: workspaceName(string^string) + cli: + cliKey: workspaceName + - parameterName: $filter(string^string) + cli: + cliKey: $filter + - operationGroupName: ApplicationGroups + cli: + cliKey: ApplicationGroups + operations: + - operationName: Get + cli: + cliKey: Get + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: applicationGroupName(string^string) + cli: + cliKey: applicationGroupName + - operationName: CreateOrUpdate + cli: + cliKey: CreateOrUpdate + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: applicationGroupName(string^string) + cli: + cliKey: applicationGroupName + - parameterName[0]: content-type(application/json^constant) + cli: + cliKey: content-type + - parameterName[0]: applicationGroup(ApplicationGroup^object) + cli: + cliKey: applicationGroup + x-ms-client-flatten: true + bodySchema: ApplicationGroup + - operationName: Delete + cli: + cliKey: Delete + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: applicationGroupName(string^string) + cli: + cliKey: applicationGroupName + - operationName: Update + cli: + cliKey: Update + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: applicationGroupName(string^string) + cli: + cliKey: applicationGroupName + - parameterName[0]: content-type(application/json^constant) + cli: + cliKey: content-type + - parameterName[0]: applicationGroup(ApplicationGroupPatch^object) + cli: + cliKey: applicationGroup + x-ms-client-flatten: true + bodySchema: ApplicationGroupPatch + - operationName: ListByResourceGroup + cli: + cliKey: ListByResourceGroup + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: $filter(string^string) + cli: + cliKey: $filter + - operationName: ListBySubscription + cli: + cliKey: ListBySubscription + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: $filter(string^string) + cli: + cliKey: $filter + - operationGroupName: StartMenuItems + cli: + cliKey: StartMenuItems + operations: + - operationName: List + cli: + cliKey: List + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: applicationGroupName(string^string) + cli: + cliKey: applicationGroupName + - operationGroupName: Applications + cli: + cliKey: Applications + operations: + - operationName: Get + cli: + cliKey: Get + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: applicationGroupName(string^string) + cli: + cliKey: applicationGroupName + - parameterName: applicationName(string^string) + cli: + cliKey: applicationName + - operationName: CreateOrUpdate + cli: + cliKey: CreateOrUpdate + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: applicationGroupName(string^string) + cli: + cliKey: applicationGroupName + - parameterName: applicationName(string^string) + cli: + cliKey: applicationName + - parameterName[0]: content-type(application/json^constant) + cli: + cliKey: content-type + - parameterName[0]: application(Application^object) + cli: + cliKey: application + x-ms-client-flatten: true + bodySchema: Application + - operationName: Delete + cli: + cliKey: Delete + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: applicationGroupName(string^string) + cli: + cliKey: applicationGroupName + - parameterName: applicationName(string^string) + cli: + cliKey: applicationName + - operationName: Update + cli: + cliKey: Update + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: applicationGroupName(string^string) + cli: + cliKey: applicationGroupName + - parameterName: applicationName(string^string) + cli: + cliKey: applicationName + - parameterName[0]: content-type(application/json^constant) + cli: + cliKey: content-type + - parameterName[0]: application(ApplicationPatch^object) + cli: + cliKey: application + x-ms-client-flatten: true + bodySchema: ApplicationPatch + - operationName: List + cli: + cliKey: List + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: applicationGroupName(string^string) + cli: + cliKey: applicationGroupName + - operationGroupName: Desktops + cli: + cliKey: Desktops + operations: + - operationName: Get + cli: + cliKey: Get + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: applicationGroupName(string^string) + cli: + cliKey: applicationGroupName + - parameterName: desktopName(string^string) + cli: + cliKey: desktopName + - operationName: Update + cli: + cliKey: Update + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: applicationGroupName(string^string) + cli: + cliKey: applicationGroupName + - parameterName: desktopName(string^string) + cli: + cliKey: desktopName + - parameterName[0]: content-type(application/json^constant) + cli: + cliKey: content-type + - parameterName[0]: desktop(DesktopPatch^object) + cli: + cliKey: desktop + x-ms-client-flatten: true + bodySchema: DesktopPatch + - operationName: List + cli: + cliKey: List + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: applicationGroupName(string^string) + cli: + cliKey: applicationGroupName + - operationGroupName: HostPools + cli: + cliKey: HostPools + operations: + - operationName: Get + cli: + cliKey: Get + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: hostPoolName(string^string) + cli: + cliKey: hostPoolName + - operationName: CreateOrUpdate + cli: + cliKey: CreateOrUpdate + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: hostPoolName(string^string) + cli: + cliKey: hostPoolName + - parameterName[0]: content-type(application/json^constant) + cli: + cliKey: content-type + - parameterName[0]: hostPool(HostPool^object) + cli: + cliKey: hostPool + x-ms-client-flatten: true + bodySchema: HostPool + - operationName: Delete + cli: + cliKey: Delete + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: hostPoolName(string^string) + cli: + cliKey: hostPoolName + - parameterName: force(boolean^boolean) + cli: + cliKey: force + - operationName: Update + cli: + cliKey: Update + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: hostPoolName(string^string) + cli: + cliKey: hostPoolName + - parameterName[0]: content-type(application/json^constant) + cli: + cliKey: content-type + - parameterName[0]: hostPool(HostPoolPatch^object) + cli: + cliKey: hostPool + x-ms-client-flatten: true + bodySchema: HostPoolPatch + - operationName: ListByResourceGroup + cli: + cliKey: ListByResourceGroup + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - operationName: List + cli: + cliKey: List + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - operationGroupName: UserSessions + cli: + cliKey: UserSessions + operations: + - operationName: ListByHostPool + cli: + cliKey: ListByHostPool + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: hostPoolName(string^string) + cli: + cliKey: hostPoolName + - parameterName: $filter(string^string) + cli: + cliKey: $filter + - operationName: Get + cli: + cliKey: Get + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: hostPoolName(string^string) + cli: + cliKey: hostPoolName + - parameterName: sessionHostName(string^string) + cli: + cliKey: sessionHostName + - parameterName: userSessionId(string^string) + cli: + cliKey: userSessionId + - operationName: Delete + cli: + cliKey: Delete + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: hostPoolName(string^string) + cli: + cliKey: hostPoolName + - parameterName: sessionHostName(string^string) + cli: + cliKey: sessionHostName + - parameterName: userSessionId(string^string) + cli: + cliKey: userSessionId + - parameterName: force(boolean^boolean) + cli: + cliKey: force + - operationName: List + cli: + cliKey: List + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: hostPoolName(string^string) + cli: + cliKey: hostPoolName + - parameterName: sessionHostName(string^string) + cli: + cliKey: sessionHostName + - operationName: Disconnect + cli: + cliKey: Disconnect + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: hostPoolName(string^string) + cli: + cliKey: hostPoolName + - parameterName: sessionHostName(string^string) + cli: + cliKey: sessionHostName + - parameterName: userSessionId(string^string) + cli: + cliKey: userSessionId + - operationName: SendMessage + cli: + cliKey: SendMessage + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: hostPoolName(string^string) + cli: + cliKey: hostPoolName + - parameterName: sessionHostName(string^string) + cli: + cliKey: sessionHostName + - parameterName: userSessionId(string^string) + cli: + cliKey: userSessionId + - parameterName[0]: content-type(application/json^constant) + cli: + cliKey: content-type + - parameterName[0]: sendMessage(SendMessage^object) + cli: + cliKey: sendMessage + x-ms-client-flatten: true + bodySchema: SendMessage + - operationGroupName: SessionHosts + cli: + cliKey: SessionHosts + operations: + - operationName: Get + cli: + cliKey: Get + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: hostPoolName(string^string) + cli: + cliKey: hostPoolName + - parameterName: sessionHostName(string^string) + cli: + cliKey: sessionHostName + - operationName: Delete + cli: + cliKey: Delete + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: hostPoolName(string^string) + cli: + cliKey: hostPoolName + - parameterName: sessionHostName(string^string) + cli: + cliKey: sessionHostName + - parameterName: force(boolean^boolean) + cli: + cliKey: force + - operationName: Update + cli: + cliKey: Update + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: hostPoolName(string^string) + cli: + cliKey: hostPoolName + - parameterName: sessionHostName(string^string) + cli: + cliKey: sessionHostName + - parameterName[0]: content-type(application/json^constant) + cli: + cliKey: content-type + - parameterName[0]: sessionHost(SessionHostPatch^object) + cli: + cliKey: sessionHost + x-ms-client-flatten: true + bodySchema: SessionHostPatch + - operationName: List + cli: + cliKey: List + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: hostPoolName(string^string) + cli: + cliKey: hostPoolName + - operationGroupName: ActiveApplications + cli: + cliKey: ActiveApplications + operations: + - operationName: ListBySessionHost + cli: + cliKey: ListBySessionHost + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscriptionId(string^string) + cli: + cliKey: subscriptionId + - parameterName: resourceGroupName(string^string) + cli: + cliKey: resourceGroupName + - parameterName: hostPoolName(string^string) + cli: + cliKey: hostPoolName + - parameterName: sessionHostName(string^string) + cli: + cliKey: sessionHostName + - parameterName: $filter(string^string) + cli: + cliKey: $filter +schemas: + objects: + all: + - schemaName: ResourceProviderOperationList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ResourceProviderOperationList + properties: + - propertyName: value(ResourceProviderOperationList-value^array) + cli: + cliKey: value + - schemaName: ResourceProviderOperation + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 5 + propertyCountIfSimplifyWithoutSimpleObject: 2 + simplifiable: true + cliKey: ResourceProviderOperation + properties: + - propertyName: name(ResourceProviderOperation-name^string) + cli: + cliKey: name + - propertyName: display(ResourceProviderOperation-display^object) + cli: + cliKey: display + - schemaName: ResourceProviderOperation-display + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 4 + propertyCountIfSimplifyWithoutSimpleObject: 4 + simplifiable: true + cliKey: ResourceProviderOperation-display + properties: + - propertyName: provider(ResourceProviderOperation-display-provider^string) + cli: + cliKey: provider + - propertyName: resource(ResourceProviderOperation-display-resource^string) + cli: + cliKey: resource + - propertyName: operation(ResourceProviderOperation-display-operation^string) + cli: + cliKey: operation + - propertyName: description(ResourceProviderOperation-display-description^string) + cli: + cliKey: description + - schemaName: Resource + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 0 + propertyCountIfSimplifyWithoutSimpleObject: 0 + simplifiable: true + cliKey: Resource + properties: + - propertyName: id(Resource-id^string) + cli: + cliKey: id + readOnly: true + - propertyName: name(Resource-name^string) + cli: + cliKey: name + readOnly: true + - propertyName: type(Resource-type^string) + cli: + cliKey: type + readOnly: true + - schemaName: TrackedResource + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: TrackedResource + properties: + - propertyName: tags(TrackedResource-tags^dictionary) + cli: + cliKey: tags + - propertyName: location(TrackedResource-location^string) + cli: + cliKey: location + - schemaName: Workspace + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: Workspace + properties: + - propertyName: properties(WorkspaceProperties^object) + cli: + cliKey: properties + x-ms-client-flatten: true + - schemaName: WorkspaceProperties + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: WorkspaceProperties + properties: + - propertyName: description(WorkspaceProperties-description^string) + cli: + cliKey: description + - propertyName: friendlyName(WorkspaceProperties-friendlyName^string) + cli: + cliKey: friendlyName + - propertyName: applicationGroupReferences(WorkspaceProperties-applicationGroupReferences^array) + cli: + cliKey: applicationGroupReferences + - schemaName: CloudError + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 2 + simplifiable: true + cliKey: CloudError + properties: + - propertyName: code(CloudError-code^string) + cli: + cliKey: code + - propertyName: message(CloudError-message^string) + cli: + cliKey: message + - schemaName: WorkspacePatch + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: WorkspacePatch + properties: + - propertyName: tags(any^any) + cli: + cliKey: tags + - propertyName: properties(WorkspacePatchProperties^object) + cli: + cliKey: properties + x-ms-client-flatten: true + - schemaName: WorkspacePatchProperties + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: WorkspacePatchProperties + properties: + - propertyName: description(WorkspacePatchProperties-description^string) + cli: + cliKey: description + - propertyName: friendlyName(WorkspacePatchProperties-friendlyName^string) + cli: + cliKey: friendlyName + - propertyName: applicationGroupReferences(WorkspacePatchProperties-applicationGroupReferences^array) + cli: + cliKey: applicationGroupReferences + - schemaName: WorkspaceList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: WorkspaceList + properties: + - propertyName: value(WorkspaceList-value^array) + cli: + cliKey: value + - propertyName: nextLink(WorkspaceList-nextLink^string) + cli: + cliKey: nextLink + readOnly: true + - schemaName: ApplicationGroupList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ApplicationGroupList + properties: + - propertyName: value(ApplicationGroupList-value^array) + cli: + cliKey: value + - propertyName: nextLink(ApplicationGroupList-nextLink^string) + cli: + cliKey: nextLink + readOnly: true + - schemaName: ApplicationGroup + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ApplicationGroup + properties: + - propertyName: properties(ApplicationGroupProperties^object) + cli: + cliKey: properties + x-ms-client-flatten: true + - schemaName: ApplicationGroupProperties + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 4 + propertyCountIfSimplifyWithoutSimpleObject: 4 + simplifiable: true + cliKey: ApplicationGroupProperties + properties: + - propertyName: description(ApplicationGroupProperties-description^string) + cli: + cliKey: description + - propertyName: friendlyName(ApplicationGroupProperties-friendlyName^string) + cli: + cliKey: friendlyName + - propertyName: hostPoolArmPath(ApplicationGroupProperties-hostPoolArmPath^string) + cli: + cliKey: hostPoolArmPath + - propertyName: workspaceArmPath(ApplicationGroupProperties-workspaceArmPath^string) + cli: + cliKey: workspaceArmPath + readOnly: true + - propertyName: applicationGroupType(ApplicationGroupType^choice) + cli: + cliKey: applicationGroupType + - schemaName: ApplicationGroupPatch + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ApplicationGroupPatch + properties: + - propertyName: tags(any^any) + cli: + cliKey: tags + - propertyName: properties(ApplicationGroupPatchProperties^object) + cli: + cliKey: properties + x-ms-client-flatten: true + - schemaName: ApplicationGroupPatchProperties + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 2 + simplifiable: true + cliKey: ApplicationGroupPatchProperties + properties: + - propertyName: description(ApplicationGroupPatchProperties-description^string) + cli: + cliKey: description + - propertyName: friendlyName(ApplicationGroupPatchProperties-friendlyName^string) + cli: + cliKey: friendlyName + - schemaName: StartMenuItemList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: StartMenuItemList + properties: + - propertyName: value(StartMenuItemList-value^array) + cli: + cliKey: value + - propertyName: nextLink(StartMenuItemList-nextLink^string) + cli: + cliKey: nextLink + readOnly: true + - schemaName: StartMenuItem + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 6 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: StartMenuItem + properties: + - propertyName: properties(StartMenuItemProperties^object) + cli: + cliKey: properties + x-ms-client-flatten: true + - schemaName: StartMenuItemProperties + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 6 + propertyCountIfSimplifyWithoutSimpleObject: 6 + simplifiable: true + cliKey: StartMenuItemProperties + properties: + - propertyName: appAlias(StartMenuItemProperties-appAlias^string) + cli: + cliKey: appAlias + - propertyName: friendlyName(StartMenuItemProperties-friendlyName^string) + cli: + cliKey: friendlyName + - propertyName: filePath(StartMenuItemProperties-filePath^string) + cli: + cliKey: filePath + - propertyName: commandLineArguments(StartMenuItemProperties-commandLineArguments^string) + cli: + cliKey: commandLineArguments + - propertyName: iconPath(StartMenuItemProperties-iconPath^string) + cli: + cliKey: iconPath + - propertyName: iconIndex(integer^integer) + cli: + cliKey: iconIndex + - schemaName: Application + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 8 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: Application + properties: + - propertyName: properties(ApplicationProperties^object) + cli: + cliKey: properties + x-ms-client-flatten: true + - schemaName: ApplicationProperties + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 8 + propertyCountIfSimplifyWithoutSimpleObject: 8 + simplifiable: true + cliKey: ApplicationProperties + properties: + - propertyName: description(ApplicationProperties-description^string) + cli: + cliKey: description + - propertyName: friendlyName(ApplicationProperties-friendlyName^string) + cli: + cliKey: friendlyName + - propertyName: filePath(ApplicationProperties-filePath^string) + cli: + cliKey: filePath + - propertyName: commandLineSetting(CommandLineSetting^choice) + cli: + cliKey: commandLineSetting + - propertyName: commandLineArguments(ApplicationProperties-commandLineArguments^string) + cli: + cliKey: commandLineArguments + - propertyName: showInPortal(boolean^boolean) + cli: + cliKey: showInPortal + - propertyName: iconPath(ApplicationProperties-iconPath^string) + cli: + cliKey: iconPath + - propertyName: iconIndex(integer^integer) + cli: + cliKey: iconIndex + - propertyName: iconHash(ApplicationProperties-iconHash^string) + cli: + cliKey: iconHash + readOnly: true + - propertyName: iconContent(ApplicationProperties-iconContent^byte-array) + cli: + cliKey: iconContent + readOnly: true + - schemaName: ApplicationPatch + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ApplicationPatch + properties: + - propertyName: tags(any^any) + cli: + cliKey: tags + - propertyName: properties(ApplicationPatchProperties^object) + cli: + cliKey: properties + x-ms-client-flatten: true + - schemaName: ApplicationPatchProperties + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 8 + propertyCountIfSimplifyWithoutSimpleObject: 8 + simplifiable: true + cliKey: ApplicationPatchProperties + properties: + - propertyName: description(ApplicationPatchProperties-description^string) + cli: + cliKey: description + - propertyName: friendlyName(ApplicationPatchProperties-friendlyName^string) + cli: + cliKey: friendlyName + - propertyName: filePath(ApplicationPatchProperties-filePath^string) + cli: + cliKey: filePath + - propertyName: commandLineSetting(CommandLineSetting^choice) + cli: + cliKey: commandLineSetting + - propertyName: commandLineArguments(ApplicationPatchProperties-commandLineArguments^string) + cli: + cliKey: commandLineArguments + - propertyName: showInPortal(boolean^boolean) + cli: + cliKey: showInPortal + - propertyName: iconPath(ApplicationPatchProperties-iconPath^string) + cli: + cliKey: iconPath + - propertyName: iconIndex(integer^integer) + cli: + cliKey: iconIndex + - schemaName: ApplicationList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ApplicationList + properties: + - propertyName: value(ApplicationList-value^array) + cli: + cliKey: value + - propertyName: nextLink(ApplicationList-nextLink^string) + cli: + cliKey: nextLink + readOnly: true + - schemaName: Desktop + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: Desktop + properties: + - propertyName: properties(DesktopProperties^object) + cli: + cliKey: properties + x-ms-client-flatten: true + - schemaName: DesktopProperties + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 2 + simplifiable: true + cliKey: DesktopProperties + properties: + - propertyName: description(DesktopProperties-description^string) + cli: + cliKey: description + - propertyName: friendlyName(DesktopProperties-friendlyName^string) + cli: + cliKey: friendlyName + - propertyName: iconHash(DesktopProperties-iconHash^string) + cli: + cliKey: iconHash + readOnly: true + - propertyName: iconContent(DesktopProperties-iconContent^byte-array) + cli: + cliKey: iconContent + readOnly: true + - schemaName: DesktopPatch + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: DesktopPatch + properties: + - propertyName: tags(any^any) + cli: + cliKey: tags + - propertyName: properties(DesktopPatchProperties^object) + cli: + cliKey: properties + x-ms-client-flatten: true + - schemaName: DesktopPatchProperties + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 2 + simplifiable: true + cliKey: DesktopPatchProperties + properties: + - propertyName: description(DesktopPatchProperties-description^string) + cli: + cliKey: description + - propertyName: friendlyName(DesktopPatchProperties-friendlyName^string) + cli: + cliKey: friendlyName + - schemaName: DesktopList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: DesktopList + properties: + - propertyName: value(DesktopList-value^array) + cli: + cliKey: value + - propertyName: nextLink(DesktopList-nextLink^string) + cli: + cliKey: nextLink + readOnly: true + - schemaName: HostPool + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: HostPool + properties: + - propertyName: properties(HostPoolProperties^object) + cli: + cliKey: properties + x-ms-client-flatten: true + - schemaName: HostPoolProperties + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 14 + propertyCountIfSimplifyWithoutSimpleObject: 12 + simplifiable: true + cliKey: HostPoolProperties + properties: + - propertyName: friendlyName(HostPoolProperties-friendlyName^string) + cli: + cliKey: friendlyName + - propertyName: description(HostPoolProperties-description^string) + cli: + cliKey: description + - propertyName: hostPoolType(HostPoolType^choice) + cli: + cliKey: hostPoolType + - propertyName: personalDesktopAssignmentType(PersonalDesktopAssignmentType^choice) + cli: + cliKey: personalDesktopAssignmentType + - propertyName: customRdpProperty(HostPoolProperties-customRdpProperty^string) + cli: + cliKey: customRdpProperty + - propertyName: maxSessionLimit(integer^integer) + cli: + cliKey: maxSessionLimit + - propertyName: loadBalancerType(LoadBalancerType^choice) + cli: + cliKey: loadBalancerType + - propertyName: ring(integer^integer) + cli: + cliKey: ring + - propertyName: validationEnvironment(boolean^boolean) + cli: + cliKey: validationEnvironment + - propertyName: registrationInfo(RegistrationInfo^object) + cli: + cliKey: registrationInfo + - propertyName: vmTemplate(HostPoolProperties-vmTemplate^string) + cli: + cliKey: vmTemplate + - propertyName: applicationGroupReferences(HostPoolProperties-applicationGroupReferences^array) + cli: + cliKey: applicationGroupReferences + readOnly: true + - propertyName: ssoContext(HostPoolProperties-ssoContext^string) + cli: + cliKey: ssoContext + - schemaName: RegistrationInfo + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 3 + propertyCountIfSimplifyWithoutSimpleObject: 3 + simplifiable: true + cliKey: RegistrationInfo + properties: + - propertyName: expirationTime(RegistrationInfo-expirationTime^date-time) + cli: + cliKey: expirationTime + - propertyName: token(RegistrationInfo-token^string) + cli: + cliKey: token + - propertyName: registrationTokenOperation(RegistrationTokenOperation^choice) + cli: + cliKey: registrationTokenOperation + - schemaName: HostPoolPatch + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: HostPoolPatch + properties: + - propertyName: tags(any^any) + cli: + cliKey: tags + - propertyName: properties(HostPoolPatchProperties^object) + cli: + cliKey: properties + x-ms-client-flatten: true + - schemaName: HostPoolPatchProperties + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10 + propertyCountIfSimplifyWithoutSimpleObject: 10 + simplifiable: true + cliKey: HostPoolPatchProperties + properties: + - propertyName: friendlyName(HostPoolPatchProperties-friendlyName^string) + cli: + cliKey: friendlyName + - propertyName: description(HostPoolPatchProperties-description^string) + cli: + cliKey: description + - propertyName: customRdpProperty(HostPoolPatchProperties-customRdpProperty^string) + cli: + cliKey: customRdpProperty + - propertyName: maxSessionLimit(integer^integer) + cli: + cliKey: maxSessionLimit + - propertyName: personalDesktopAssignmentType(PersonalDesktopAssignmentType^choice) + cli: + cliKey: personalDesktopAssignmentType + - propertyName: loadBalancerType(LoadBalancerType^choice) + cli: + cliKey: loadBalancerType + - propertyName: ring(integer^integer) + cli: + cliKey: ring + - propertyName: validationEnvironment(boolean^boolean) + cli: + cliKey: validationEnvironment + - propertyName: registrationInfo(RegistrationInfoPatch^object) + cli: + cliKey: registrationInfo + - propertyName: ssoContext(HostPoolPatchProperties-ssoContext^string) + cli: + cliKey: ssoContext + - schemaName: RegistrationInfoPatch + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 1 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: RegistrationInfoPatch + properties: + - propertyName: registrationTokenOperation(RegistrationTokenOperation^choice) + cli: + cliKey: registrationTokenOperation + - schemaName: HostPoolList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: HostPoolList + properties: + - propertyName: value(HostPoolList-value^array) + cli: + cliKey: value + - propertyName: nextLink(HostPoolList-nextLink^string) + cli: + cliKey: nextLink + readOnly: true + - schemaName: UserSessionList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: UserSessionList + properties: + - propertyName: value(UserSessionList-value^array) + cli: + cliKey: value + - propertyName: nextLink(UserSessionList-nextLink^string) + cli: + cliKey: nextLink + readOnly: true + - schemaName: UserSession + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 5 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: UserSession + properties: + - propertyName: properties(UserSessionProperties^object) + cli: + cliKey: properties + x-ms-client-flatten: true + - schemaName: UserSessionProperties + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 5 + propertyCountIfSimplifyWithoutSimpleObject: 5 + simplifiable: true + cliKey: UserSessionProperties + properties: + - propertyName: userPrincipalName(UserSessionProperties-userPrincipalName^string) + cli: + cliKey: userPrincipalName + - propertyName: applicationType(ApplicationType^choice) + cli: + cliKey: applicationType + - propertyName: sessionState(SessionState^choice) + cli: + cliKey: sessionState + - propertyName: activeDirectoryUserName(UserSessionProperties-activeDirectoryUserName^string) + cli: + cliKey: activeDirectoryUserName + - propertyName: createTime(UserSessionProperties-createTime^date-time) + cli: + cliKey: createTime + - schemaName: SessionHost + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: SessionHost + properties: + - propertyName: properties(SessionHostProperties^object) + cli: + cliKey: properties + x-ms-client-flatten: true + - schemaName: SessionHostProperties + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10 + propertyCountIfSimplifyWithoutSimpleObject: 10 + simplifiable: true + cliKey: SessionHostProperties + properties: + - propertyName: lastHeartBeat(SessionHostProperties-lastHeartBeat^date-time) + cli: + cliKey: lastHeartBeat + - propertyName: sessions(integer^integer) + cli: + cliKey: sessions + - propertyName: agentVersion(SessionHostProperties-agentVersion^string) + cli: + cliKey: agentVersion + - propertyName: allowNewSession(boolean^boolean) + cli: + cliKey: allowNewSession + - propertyName: assignedUser(SessionHostProperties-assignedUser^string) + cli: + cliKey: assignedUser + - propertyName: status(Status^choice) + cli: + cliKey: status + - propertyName: statusTimestamp(SessionHostProperties-statusTimestamp^date-time) + cli: + cliKey: statusTimestamp + readOnly: true + - propertyName: osVersion(SessionHostProperties-osVersion^string) + cli: + cliKey: osVersion + - propertyName: sxSStackVersion(SessionHostProperties-sxSStackVersion^string) + cli: + cliKey: sxSStackVersion + - propertyName: updateState(UpdateState^choice) + cli: + cliKey: updateState + - propertyName: lastUpdateTime(SessionHostProperties-lastUpdateTime^date-time) + cli: + cliKey: lastUpdateTime + readOnly: true + - propertyName: updateErrorMessage(SessionHostProperties-updateErrorMessage^string) + cli: + cliKey: updateErrorMessage + - schemaName: SessionHostPatch + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: SessionHostPatch + properties: + - propertyName: properties(SessionHostPatchProperties^object) + cli: + cliKey: properties + x-ms-client-flatten: true + - schemaName: SessionHostPatchProperties + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 2 + simplifiable: true + cliKey: SessionHostPatchProperties + properties: + - propertyName: allowNewSession(boolean^boolean) + cli: + cliKey: allowNewSession + - propertyName: assignedUser(SessionHostPatchProperties-assignedUser^string) + cli: + cliKey: assignedUser + - schemaName: SessionHostList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: SessionHostList + properties: + - propertyName: value(SessionHostList-value^array) + cli: + cliKey: value + - propertyName: nextLink(SessionHostList-nextLink^string) + cli: + cliKey: nextLink + readOnly: true + - schemaName: SendMessage + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 2 + simplifiable: true + cliKey: SendMessage + properties: + - propertyName: messageTitle(SendMessage-messageTitle^string) + cli: + cliKey: messageTitle + - propertyName: messageBody(SendMessage-messageBody^string) + cli: + cliKey: messageBody + choices: + all: + - choiceName: ApplicationGroupType + cli: + cliKey: ApplicationGroupType + choiceValues: + - choiceValue: RemoteApp + cli: + cliKey: RemoteApp + - choiceValue: Desktop + cli: + cliKey: Desktop + - choiceName: CommandLineSetting + cli: + cliKey: CommandLineSetting + choiceValues: + - choiceValue: DoNotAllow + cli: + cliKey: DoNotAllow + - choiceValue: Allow + cli: + cliKey: Allow + - choiceValue: Require + cli: + cliKey: Require + - choiceName: HostPoolType + cli: + cliKey: HostPoolType + choiceValues: + - choiceValue: Personal + cli: + cliKey: Personal + - choiceValue: Pooled + cli: + cliKey: Pooled + - choiceName: PersonalDesktopAssignmentType + cli: + cliKey: PersonalDesktopAssignmentType + choiceValues: + - choiceValue: Automatic + cli: + cliKey: Automatic + - choiceValue: Direct + cli: + cliKey: Direct + - choiceName: LoadBalancerType + cli: + cliKey: LoadBalancerType + choiceValues: + - choiceValue: BreadthFirst + cli: + cliKey: BreadthFirst + - choiceValue: DepthFirst + cli: + cliKey: DepthFirst + - choiceValue: Persistent + cli: + cliKey: Persistent + - choiceName: RegistrationTokenOperation + cli: + cliKey: RegistrationTokenOperation + choiceValues: + - choiceValue: Delete + cli: + cliKey: Delete + - choiceValue: None + cli: + cliKey: None + - choiceValue: Update + cli: + cliKey: Update + - choiceName: ApplicationType + cli: + cliKey: ApplicationType + choiceValues: + - choiceValue: RemoteApp + cli: + cliKey: RemoteApp + - choiceValue: Desktop + cli: + cliKey: Desktop + - choiceName: SessionState + cli: + cliKey: SessionState + choiceValues: + - choiceValue: Unknown + cli: + cliKey: Unknown + - choiceValue: Active + cli: + cliKey: Active + - choiceValue: Disconnected + cli: + cliKey: Disconnected + - choiceValue: Pending + cli: + cliKey: Pending + - choiceValue: LogOff + cli: + cliKey: LogOff + - choiceValue: UserProfileDiskMounted + cli: + cliKey: UserProfileDiskMounted + - choiceName: Status + cli: + cliKey: Status + choiceValues: + - choiceValue: Available + cli: + cliKey: Available + - choiceValue: Unavailable + cli: + cliKey: Unavailable + - choiceValue: Shutdown + cli: + cliKey: Shutdown + - choiceValue: Disconnected + cli: + cliKey: Disconnected + - choiceValue: Upgrading + cli: + cliKey: Upgrading + - choiceValue: UpgradeFailed + cli: + cliKey: UpgradeFailed + - choiceName: UpdateState + cli: + cliKey: UpdateState + choiceValues: + - choiceValue: Initial + cli: + cliKey: Initial + - choiceValue: Pending + cli: + cliKey: Pending + - choiceValue: Started + cli: + cliKey: Started + - choiceValue: Succeeded + cli: + cliKey: Succeeded + - choiceValue: Failed + cli: + cliKey: Failed diff --git a/src/desktopvirtualization/_az_debug/clicommon-000060-flatten-set-post.yaml b/src/desktopvirtualization/_az_debug/clicommon-000060-flatten-set-post.yaml new file mode 100644 index 00000000000..91d2902d92a --- /dev/null +++ b/src/desktopvirtualization/_az_debug/clicommon-000060-flatten-set-post.yaml @@ -0,0 +1,9368 @@ +info: + title: Desktop Virtualization API Client + extensions: + cli-dump-index: 60 +schemas: + booleans: + - &ref_53 + type: boolean + language: + default: + name: boolean + description: Specifies whether to show the RemoteApp program in the RD Web Access server. + protocol: {} + - &ref_27 + type: boolean + language: + default: + name: boolean + description: Is validation environment. + protocol: {} + - &ref_222 + type: boolean + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: boolean + description: '' + protocol: {} + - &ref_73 + type: boolean + language: + default: + name: boolean + description: Allow a new session. + protocol: {} + numbers: + - &ref_47 + type: integer + precision: 32 + language: + default: + name: integer + description: Index of the icon. + protocol: {} + - &ref_24 + type: integer + precision: 32 + language: + default: + name: integer + description: The max session limit of HostPool. + protocol: {} + - &ref_26 + type: integer + precision: 32 + language: + default: + name: integer + description: The ring number of HostPool. + protocol: {} + - &ref_71 + type: integer + precision: 32 + language: + default: + name: integer + description: Number of sessions on SessionHost. + protocol: {} + strings: + - &ref_0 + type: string + language: + default: + name: string + description: simple string + protocol: {} + - &ref_2 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ResourceProviderOperation-name + description: 'Operation name, in format of {provider}/{resource}/{operation}' + protocol: {} + - &ref_3 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ResourceProviderOperation-display-provider + description: 'Resource provider: Microsoft Desktop Virtualization.' + protocol: {} + - &ref_4 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ResourceProviderOperation-display-resource + description: Resource on which the operation is performed. + protocol: {} + - &ref_5 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ResourceProviderOperation-display-operation + description: 'Type of operation: get, read, delete, etc.' + protocol: {} + - &ref_6 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ResourceProviderOperation-display-description + description: Description of this operation. + protocol: {} + - &ref_144 + type: string + apiVersions: + - version: '1.0' + minLength: 1 + language: + default: + name: string + description: '' + protocol: {} + - &ref_150 + type: string + apiVersions: + - version: '1.0' + maxLength: 90 + minLength: 1 + pattern: '^[-\w\._\(\)]+$' + language: + default: + name: string + description: '' + protocol: {} + - &ref_151 + type: string + apiVersions: + - version: 2019-12-10-preview + maxLength: 24 + minLength: 3 + language: + default: + name: string + description: '' + protocol: {} + - &ref_91 + type: string + apiVersions: + - version: '1.0' + language: + default: + name: Resource-id + description: 'Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' + protocol: {} + - &ref_92 + type: string + apiVersions: + - version: '1.0' + language: + default: + name: Resource-name + description: The name of the resource + protocol: {} + - &ref_93 + type: string + apiVersions: + - version: '1.0' + language: + default: + name: Resource-type + description: The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + protocol: {} + - &ref_1 + type: string + apiVersions: + - version: '1.0' + language: + default: + name: string + description: '' + protocol: {} + - &ref_38 + type: string + apiVersions: + - version: '1.0' + extensions: + x-ms-mutability: + - read + - create + language: + default: + name: TrackedResource-location + description: The geo-location where the resource lives + protocol: {} + - &ref_11 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: WorkspaceProperties-description + description: Description of Workspace. + protocol: {} + - &ref_12 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: WorkspaceProperties-friendlyName + description: Friendly name of Workspace. + protocol: {} + - &ref_13 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: WorkspaceProperties-applicationGroupReferencesItem + description: '' + protocol: {} + - &ref_95 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: CloudError-code + description: Error code + protocol: {} + - &ref_96 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: CloudError-message + description: Error message indicating why the operation failed. + protocol: {} + - &ref_97 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: WorkspacePatchProperties-description + description: Description of Workspace. + protocol: {} + - &ref_98 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: WorkspacePatchProperties-friendlyName + description: Friendly name of Workspace. + protocol: {} + - &ref_99 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: WorkspacePatchProperties-applicationGroupReferencesItem + description: '' + protocol: {} + - &ref_101 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: WorkspaceList-nextLink + description: Link to the next page of results. + protocol: {} + - &ref_167 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: string + description: '' + protocol: {} + - &ref_14 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationGroupProperties-description + description: Description of ApplicationGroup. + protocol: {} + - &ref_15 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationGroupProperties-friendlyName + description: Friendly name of ApplicationGroup. + protocol: {} + - &ref_16 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationGroupProperties-hostPoolArmPath + description: HostPool arm path of ApplicationGroup. + protocol: {} + - &ref_17 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationGroupProperties-workspaceArmPath + description: Workspace arm path of ApplicationGroup. + protocol: {} + - &ref_102 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationGroupList-nextLink + description: Link to the next page of results. + protocol: {} + - &ref_40 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationGroupPatchProperties-description + description: Description of ApplicationGroup. + protocol: {} + - &ref_41 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationGroupPatchProperties-friendlyName + description: Friendly name of ApplicationGroup. + protocol: {} + - &ref_42 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: StartMenuItemProperties-appAlias + description: Alias of StartMenuItem. + protocol: {} + - &ref_43 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: StartMenuItemProperties-friendlyName + description: Friendly name of StartMenuItem. + protocol: {} + - &ref_44 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: StartMenuItemProperties-filePath + description: Path to the file of StartMenuItem. + protocol: {} + - &ref_45 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: StartMenuItemProperties-commandLineArguments + description: Command line arguments for StartMenuItem. + protocol: {} + - &ref_46 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: StartMenuItemProperties-iconPath + description: Path to the icon. + protocol: {} + - &ref_105 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: StartMenuItemList-nextLink + description: Link to the next page of results. + protocol: {} + - &ref_48 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationProperties-description + description: Description of Application. + protocol: {} + - &ref_49 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationProperties-friendlyName + description: Friendly name of Application. + protocol: {} + - &ref_50 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationProperties-filePath + description: Specifies a path for the executable file for the application. + protocol: {} + - &ref_52 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationProperties-commandLineArguments + description: Command Line Arguments for Application. + protocol: {} + - &ref_54 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationProperties-iconPath + description: Path to icon. + protocol: {} + - &ref_55 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationProperties-iconHash + description: Hash of the icon. + protocol: {} + - &ref_108 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationPatchProperties-description + description: Description of Application. + protocol: {} + - &ref_109 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationPatchProperties-friendlyName + description: Friendly name of Application. + protocol: {} + - &ref_110 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationPatchProperties-filePath + description: Specifies a path for the executable file for the application. + protocol: {} + - &ref_111 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationPatchProperties-commandLineArguments + description: Command Line Arguments for Application. + protocol: {} + - &ref_112 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationPatchProperties-iconPath + description: Path to icon. + protocol: {} + - &ref_114 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationList-nextLink + description: Link to the next page of results. + protocol: {} + - &ref_57 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: DesktopProperties-description + description: Description of Desktop. + protocol: {} + - &ref_58 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: DesktopProperties-friendlyName + description: Friendly name of Desktop. + protocol: {} + - &ref_59 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: DesktopProperties-iconHash + description: Hash of the icon. + protocol: {} + - &ref_116 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: DesktopPatchProperties-description + description: Description of Desktop. + protocol: {} + - &ref_117 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: DesktopPatchProperties-friendlyName + description: Friendly name of Desktop. + protocol: {} + - &ref_119 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: DesktopList-nextLink + description: Link to the next page of results. + protocol: {} + - &ref_19 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolProperties-friendlyName + description: Friendly name of HostPool. + protocol: {} + - &ref_20 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolProperties-description + description: Description of HostPool. + protocol: {} + - &ref_23 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolProperties-customRdpProperty + description: Custom rdp property of HostPool. + protocol: {} + - &ref_29 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: RegistrationInfo-token + description: The registration token base64 encoded string. + protocol: {} + - &ref_31 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolProperties-vmTemplate + description: VM template for sessionhosts configuration within hostpool. + protocol: {} + - &ref_32 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolProperties-applicationGroupReferencesItem + description: '' + protocol: {} + - &ref_33 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolProperties-ssoContext + description: Path to keyvault containing ssoContext secret. + protocol: {} + - &ref_61 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolPatchProperties-friendlyName + description: Friendly name of HostPool. + protocol: {} + - &ref_62 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolPatchProperties-description + description: Description of HostPool. + protocol: {} + - &ref_63 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolPatchProperties-customRdpProperty + description: Custom rdp property of HostPool. + protocol: {} + - &ref_64 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolPatchProperties-ssoContext + description: Path to keyvault containing ssoContext secret. + protocol: {} + - &ref_124 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolList-nextLink + description: Link to the next page of results. + protocol: {} + - &ref_65 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: UserSessionProperties-userPrincipalName + description: The user principal name. + protocol: {} + - &ref_68 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: UserSessionProperties-activeDirectoryUserName + description: The active directory user name. + protocol: {} + - &ref_125 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: UserSessionList-nextLink + description: Link to the next page of results. + protocol: {} + - &ref_235 + type: string + apiVersions: + - version: 2019-12-10-preview + maxLength: 48 + minLength: 3 + language: + default: + name: string + description: '' + protocol: {} + - &ref_72 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostProperties-agentVersion + description: Version of agent on SessionHost. + protocol: {} + - &ref_74 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostProperties-assignedUser + description: User assigned to SessionHost. + protocol: {} + - &ref_77 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostProperties-osVersion + description: The version of the OS on the session host. + protocol: {} + - &ref_78 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostProperties-sxSStackVersion + description: The version of the side by side stack on the session host. + protocol: {} + - &ref_81 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostProperties-updateErrorMessage + description: The error message. + protocol: {} + - &ref_82 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostPatchProperties-assignedUser + description: User assigned to SessionHost. + protocol: {} + - &ref_129 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostList-nextLink + description: Link to the next page of results. + protocol: {} + - &ref_236 + type: string + apiVersions: + - version: 2019-12-10-preview + maxLength: 24 + minLength: 1 + language: + default: + name: string + description: '' + protocol: {} + - &ref_130 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SendMessage-messageTitle + description: Title of message. + protocol: {} + - &ref_131 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SendMessage-messageBody + description: Body of message. + protocol: {} + choices: + - &ref_18 + choices: + - value: RemoteApp + language: + default: + name: RemoteApp + description: '' + cli: + cliKey: RemoteApp + - value: Desktop + language: + default: + name: Desktop + description: '' + cli: + cliKey: Desktop + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: ApplicationGroupType + description: Resource Type of ApplicationGroup. + cli: + cliKey: ApplicationGroupType + protocol: {} + - &ref_51 + choices: + - value: DoNotAllow + language: + default: + name: DoNotAllow + description: '' + cli: + cliKey: DoNotAllow + - value: Allow + language: + default: + name: Allow + description: '' + cli: + cliKey: Allow + - value: Require + language: + default: + name: Require + description: '' + cli: + cliKey: Require + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: CommandLineSetting + description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' + cli: + cliKey: CommandLineSetting + protocol: {} + - &ref_21 + choices: + - value: Personal + language: + default: + name: Personal + description: '' + cli: + cliKey: Personal + - value: Pooled + language: + default: + name: Pooled + description: '' + cli: + cliKey: Pooled + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: HostPoolType + description: HostPool type for desktop. + cli: + cliKey: HostPoolType + protocol: {} + - &ref_22 + choices: + - value: Automatic + language: + default: + name: Automatic + description: '' + cli: + cliKey: Automatic + - value: Direct + language: + default: + name: Direct + description: '' + cli: + cliKey: Direct + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: PersonalDesktopAssignmentType + description: PersonalDesktopAssignment type for HostPool. + cli: + cliKey: PersonalDesktopAssignmentType + protocol: {} + - &ref_25 + choices: + - value: BreadthFirst + language: + default: + name: BreadthFirst + description: '' + cli: + cliKey: BreadthFirst + - value: DepthFirst + language: + default: + name: DepthFirst + description: '' + cli: + cliKey: DepthFirst + - value: Persistent + language: + default: + name: Persistent + description: '' + cli: + cliKey: Persistent + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: LoadBalancerType + description: The type of the load balancer. + cli: + cliKey: LoadBalancerType + protocol: {} + - &ref_30 + choices: + - value: Delete + language: + default: + name: Delete + description: '' + cli: + cliKey: Delete + - value: None + language: + default: + name: None + description: '' + cli: + cliKey: None + - value: Update + language: + default: + name: Update + description: '' + cli: + cliKey: Update + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: RegistrationTokenOperation + description: The type of resetting the token. + cli: + cliKey: RegistrationTokenOperation + protocol: {} + - &ref_66 + choices: + - value: RemoteApp + language: + default: + name: RemoteApp + description: '' + cli: + cliKey: RemoteApp + - value: Desktop + language: + default: + name: Desktop + description: '' + cli: + cliKey: Desktop + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: ApplicationType + description: Application type of application. + cli: + cliKey: ApplicationType + protocol: {} + - &ref_67 + choices: + - value: Unknown + language: + default: + name: Unknown + description: '' + cli: + cliKey: Unknown + - value: Active + language: + default: + name: Active + description: '' + cli: + cliKey: Active + - value: Disconnected + language: + default: + name: Disconnected + description: '' + cli: + cliKey: Disconnected + - value: Pending + language: + default: + name: Pending + description: '' + cli: + cliKey: Pending + - value: LogOff + language: + default: + name: LogOff + description: '' + cli: + cliKey: LogOff + - value: UserProfileDiskMounted + language: + default: + name: UserProfileDiskMounted + description: '' + cli: + cliKey: UserProfileDiskMounted + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: SessionState + description: State of user session. + cli: + cliKey: SessionState + protocol: {} + - &ref_75 + choices: + - value: Available + language: + default: + name: Available + description: '' + cli: + cliKey: Available + - value: Unavailable + language: + default: + name: Unavailable + description: '' + cli: + cliKey: Unavailable + - value: Shutdown + language: + default: + name: Shutdown + description: '' + cli: + cliKey: Shutdown + - value: Disconnected + language: + default: + name: Disconnected + description: '' + cli: + cliKey: Disconnected + - value: Upgrading + language: + default: + name: Upgrading + description: '' + cli: + cliKey: Upgrading + - value: UpgradeFailed + language: + default: + name: UpgradeFailed + description: '' + cli: + cliKey: UpgradeFailed + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: Status + description: Status for a SessionHost. + cli: + cliKey: Status + protocol: {} + - &ref_79 + choices: + - value: Initial + language: + default: + name: Initial + description: '' + cli: + cliKey: Initial + - value: Pending + language: + default: + name: Pending + description: '' + cli: + cliKey: Pending + - value: Started + language: + default: + name: Started + description: '' + cli: + cliKey: Started + - value: Succeeded + language: + default: + name: Succeeded + description: '' + cli: + cliKey: Succeeded + - value: Failed + language: + default: + name: Failed + description: '' + cli: + cliKey: Failed + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: UpdateState + description: Update state of a SessionHost. + cli: + cliKey: UpdateState + protocol: {} + constants: + - &ref_145 + type: constant + value: + value: 2019-12-10-preview + valueType: *ref_0 + language: + default: + name: ApiVersion-2019-12-10-preview + description: Api Version (2019-12-10-preview) + protocol: {} + - &ref_155 + type: constant + value: + value: application/json + valueType: *ref_0 + language: + default: + name: application/json + description: Content Type 'application/json' + protocol: {} + dictionaries: + - &ref_37 + type: dictionary + elementType: *ref_1 + language: + default: + name: TrackedResource-tags + description: Resource tags. + cli: + cli-complexity: dictionary_simple + cli-mark: checked + protocol: {} + any: + - &ref_39 + type: any + language: + default: + name: any + description: Any object + protocol: {} + byteArrays: + - &ref_56 + type: byte-array + format: byte + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationProperties-iconContent + description: the icon a 64 bit string as a byte array. + protocol: {} + - &ref_60 + type: byte-array + format: byte + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: DesktopProperties-iconContent + description: The icon a 64 bit string as a byte array. + protocol: {} + dateTimes: + - &ref_28 + type: date-time + format: date-time + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: RegistrationInfo-expirationTime + description: Expiration time of registration token. + protocol: {} + - &ref_69 + type: date-time + format: date-time + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: UserSessionProperties-createTime + description: The timestamp of the user session create. + protocol: {} + - &ref_70 + type: date-time + format: date-time + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostProperties-lastHeartBeat + description: Last heart beat from SessionHost. + protocol: {} + - &ref_76 + type: date-time + format: date-time + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostProperties-statusTimestamp + description: The timestamp of the status. + protocol: {} + - &ref_80 + type: date-time + format: date-time + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostProperties-lastUpdateTime + description: The timestamp of the last update. + protocol: {} + objects: + - &ref_148 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_132 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: &ref_7 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_2 + serializedName: name + language: + default: + name: name + description: 'Operation name, in format of {provider}/{resource}/{operation}' + cli: + cliKey: name + protocol: {} + - schema: &ref_8 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_3 + serializedName: provider + language: + default: + name: provider + description: 'Resource provider: Microsoft Desktop Virtualization.' + cli: + cliKey: provider + protocol: {} + - schema: *ref_4 + serializedName: resource + language: + default: + name: resource + description: Resource on which the operation is performed. + cli: + cliKey: resource + protocol: {} + - schema: *ref_5 + serializedName: operation + language: + default: + name: operation + description: 'Type of operation: get, read, delete, etc.' + cli: + cliKey: operation + protocol: {} + - schema: *ref_6 + serializedName: description + language: + default: + name: description + description: Description of this operation. + cli: + cliKey: description + protocol: {} + serializationFormats: + - json + usage: + - output + language: + default: + name: ResourceProviderOperation-display + description: Display metadata associated with the operation. + namespace: '' + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 4 + propertyCountIfSimplifyWithoutSimpleObject: 4 + simplifiable: true + cliKey: ResourceProviderOperation-display + protocol: {} + serializedName: display + language: + default: + name: display + description: Display metadata associated with the operation. + cli: + cliKey: display + protocol: {} + serializationFormats: + - json + usage: + - output + language: + default: + name: ResourceProviderOperation + description: Supported operation of this resource provider. + namespace: '' + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 5 + propertyCountIfSimplifyWithoutSimpleObject: 2 + simplifiable: true + cliKey: ResourceProviderOperation + protocol: {} + language: + default: + name: ResourceProviderOperationList-value + description: List of operations supported by this resource provider. + cli: + cli-complexity: array_complex + cli-mark: checked + protocol: {} + serializedName: value + language: + default: + name: value + description: List of operations supported by this resource provider. + cli: + cliKey: value + protocol: {} + serializationFormats: + - json + usage: + - output + language: + default: + name: ResourceProviderOperationList + description: Result of the request to list operations. + namespace: '' + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ResourceProviderOperationList + protocol: {} + - *ref_7 + - *ref_8 + - &ref_10 + type: object + apiVersions: + - version: '1.0' + children: + all: + - &ref_9 + type: object + apiVersions: + - version: '1.0' + children: + all: + - &ref_34 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_9 + - *ref_10 + immediate: + - *ref_9 + properties: + - schema: &ref_94 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_11 + serializedName: description + language: + default: + name: description + description: Description of Workspace. + cli: + cliKey: description + protocol: {} + - schema: *ref_12 + serializedName: friendlyName + language: + default: + name: friendlyName + description: Friendly name of Workspace. + cli: + cliKey: friendlyName + protocol: {} + - schema: &ref_133 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_13 + language: + default: + name: WorkspaceProperties-applicationGroupReferences + description: List of applicationGroup resource Ids. + cli: + cli-complexity: array_simple + cli-mark: checked + protocol: {} + serializedName: applicationGroupReferences + language: + default: + name: applicationGroupReferences + description: List of applicationGroup resource Ids. + cli: + cliKey: applicationGroupReferences + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: WorkspaceProperties + description: Schema for Workspace properties. + namespace: '' + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: WorkspaceProperties + protocol: {} + serializedName: properties + extensions: + x-ms-client-flatten: true + language: + default: + name: properties + description: Detailed properties for Workspace + cli: + cliKey: properties + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: Workspace + description: Represents a Workspace definition. + namespace: '' + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: Workspace + protocol: {} + - &ref_35 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_9 + - *ref_10 + immediate: + - *ref_9 + properties: + - schema: &ref_103 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_14 + required: false + serializedName: description + language: + default: + name: description + description: Description of ApplicationGroup. + cli: + cliKey: description + protocol: {} + - schema: *ref_15 + required: false + serializedName: friendlyName + language: + default: + name: friendlyName + description: Friendly name of ApplicationGroup. + cli: + cliKey: friendlyName + protocol: {} + - schema: *ref_16 + required: true + serializedName: hostPoolArmPath + language: + default: + name: hostPoolArmPath + description: HostPool arm path of ApplicationGroup. + cli: + cliKey: hostPoolArmPath + protocol: {} + - schema: *ref_17 + readOnly: true + required: false + serializedName: workspaceArmPath + language: + default: + name: workspaceArmPath + description: Workspace arm path of ApplicationGroup. + cli: + cliKey: workspaceArmPath + protocol: {} + - schema: *ref_18 + required: true + serializedName: applicationGroupType + language: + default: + name: applicationGroupType + description: Resource Type of ApplicationGroup. + cli: + cliKey: applicationGroupType + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: ApplicationGroupProperties + description: Schema for ApplicationGroup properties. + namespace: '' + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 4 + propertyCountIfSimplifyWithoutSimpleObject: 4 + simplifiable: true + cliKey: ApplicationGroupProperties + protocol: {} + required: true + serializedName: properties + extensions: + x-ms-client-flatten: true + x-nullable: false + language: + default: + name: properties + description: Detailed properties for ApplicationGroup + cli: + cliKey: properties + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: ApplicationGroup + description: Represents a ApplicationGroup definition. + namespace: '' + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ApplicationGroup + protocol: {} + - &ref_36 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_9 + - *ref_10 + immediate: + - *ref_9 + properties: + - schema: &ref_120 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_19 + required: false + serializedName: friendlyName + language: + default: + name: friendlyName + description: Friendly name of HostPool. + cli: + cliKey: friendlyName + protocol: {} + - schema: *ref_20 + required: false + serializedName: description + language: + default: + name: description + description: Description of HostPool. + cli: + cliKey: description + protocol: {} + - schema: *ref_21 + required: true + serializedName: hostPoolType + language: + default: + name: hostPoolType + description: HostPool type for desktop. + cli: + cliKey: hostPoolType + protocol: {} + - schema: *ref_22 + required: true + serializedName: personalDesktopAssignmentType + language: + default: + name: personalDesktopAssignmentType + description: PersonalDesktopAssignment type for HostPool. + cli: + cliKey: personalDesktopAssignmentType + protocol: {} + - schema: *ref_23 + required: false + serializedName: customRdpProperty + language: + default: + name: customRdpProperty + description: Custom rdp property of HostPool. + cli: + cliKey: customRdpProperty + protocol: {} + - schema: *ref_24 + required: false + serializedName: maxSessionLimit + language: + default: + name: maxSessionLimit + description: The max session limit of HostPool. + cli: + cliKey: maxSessionLimit + protocol: {} + - schema: *ref_25 + required: true + serializedName: loadBalancerType + language: + default: + name: loadBalancerType + description: The type of the load balancer. + cli: + cliKey: loadBalancerType + protocol: {} + - schema: *ref_26 + required: false + serializedName: ring + language: + default: + name: ring + description: The ring number of HostPool. + cli: + cliKey: ring + protocol: {} + - schema: *ref_27 + required: false + serializedName: validationEnvironment + language: + default: + name: validationEnvironment + description: Is validation environment. + cli: + cliKey: validationEnvironment + protocol: {} + - schema: &ref_121 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_28 + serializedName: expirationTime + language: + default: + name: expirationTime + description: Expiration time of registration token. + cli: + cliKey: expirationTime + protocol: {} + - schema: *ref_29 + serializedName: token + language: + default: + name: token + description: The registration token base64 encoded string. + cli: + cliKey: token + protocol: {} + - schema: *ref_30 + serializedName: registrationTokenOperation + language: + default: + name: registrationTokenOperation + description: The type of resetting the token. + cli: + cliKey: registrationTokenOperation + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: RegistrationInfo + description: Represents a RegistrationInfo definition. + namespace: '' + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 3 + propertyCountIfSimplifyWithoutSimpleObject: 3 + simplifiable: true + cliKey: RegistrationInfo + protocol: {} + required: false + serializedName: registrationInfo + language: + default: + name: registrationInfo + description: The registration info of HostPool. + cli: + cliKey: registrationInfo + protocol: {} + - schema: *ref_31 + required: false + serializedName: vmTemplate + language: + default: + name: vmTemplate + description: VM template for sessionhosts configuration within hostpool. + cli: + cliKey: vmTemplate + protocol: {} + - schema: &ref_140 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_32 + language: + default: + name: HostPoolProperties-applicationGroupReferences + description: List of applicationGroup links. + cli: + cli-complexity: array_simple + cli-mark: checked + protocol: {} + readOnly: true + required: false + serializedName: applicationGroupReferences + language: + default: + name: applicationGroupReferences + description: List of applicationGroup links. + cli: + cliKey: applicationGroupReferences + protocol: {} + - schema: *ref_33 + required: false + serializedName: ssoContext + language: + default: + name: ssoContext + description: Path to keyvault containing ssoContext secret. + cli: + cliKey: ssoContext + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: HostPoolProperties + description: Properties of HostPool. + namespace: '' + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 14 + propertyCountIfSimplifyWithoutSimpleObject: 12 + simplifiable: true + cliKey: HostPoolProperties + protocol: {} + required: true + serializedName: properties + extensions: + x-ms-client-flatten: true + x-nullable: false + language: + default: + name: properties + description: Detailed properties for HostPool + cli: + cliKey: properties + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: HostPool + description: Represents a HostPool definition. + namespace: '' + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: HostPool + protocol: {} + immediate: + - *ref_34 + - *ref_35 + - *ref_36 + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - schema: *ref_37 + required: false + serializedName: tags + language: + default: + name: tags + description: Resource tags. + cli: + cliKey: tags + protocol: {} + - schema: *ref_38 + required: true + serializedName: location + language: + default: + name: location + description: The geo-location where the resource lives + cli: + cliKey: location + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: TrackedResource + description: The resource model definition for a ARM tracked top level resource + namespace: '' + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: TrackedResource + protocol: {} + - *ref_34 + - *ref_35 + - &ref_83 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - schema: *ref_39 + serializedName: tags + language: + default: + name: tags + description: tags to be updated + cli: + cliKey: tags + protocol: {} + - schema: &ref_104 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_40 + serializedName: description + language: + default: + name: description + description: Description of ApplicationGroup. + cli: + cliKey: description + protocol: {} + - schema: *ref_41 + serializedName: friendlyName + language: + default: + name: friendlyName + description: Friendly name of ApplicationGroup. + cli: + cliKey: friendlyName + protocol: {} + serializationFormats: + - json + usage: + - input + - output + language: + default: + name: ApplicationGroupPatchProperties + description: ApplicationGroup properties that can be patched. + namespace: '' + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 2 + simplifiable: true + cliKey: ApplicationGroupPatchProperties + protocol: {} + serializedName: properties + extensions: + x-ms-client-flatten: true + language: + default: + name: properties + description: ApplicationGroup properties that can be patched. + cli: + cliKey: properties + protocol: {} + serializationFormats: + - json + usage: + - input + - output + language: + default: + name: ApplicationGroupPatch + description: ApplicationGroup properties that can be patched. + namespace: '' + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ApplicationGroupPatch + protocol: {} + - &ref_84 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - schema: &ref_106 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_42 + serializedName: appAlias + language: + default: + name: appAlias + description: Alias of StartMenuItem. + cli: + cliKey: appAlias + protocol: {} + - schema: *ref_43 + serializedName: friendlyName + language: + default: + name: friendlyName + description: Friendly name of StartMenuItem. + cli: + cliKey: friendlyName + protocol: {} + - schema: *ref_44 + serializedName: filePath + language: + default: + name: filePath + description: Path to the file of StartMenuItem. + cli: + cliKey: filePath + protocol: {} + - schema: *ref_45 + serializedName: commandLineArguments + language: + default: + name: commandLineArguments + description: Command line arguments for StartMenuItem. + cli: + cliKey: commandLineArguments + protocol: {} + - schema: *ref_46 + serializedName: iconPath + language: + default: + name: iconPath + description: Path to the icon. + cli: + cliKey: iconPath + protocol: {} + - schema: *ref_47 + serializedName: iconIndex + language: + default: + name: iconIndex + description: Index of the icon. + cli: + cliKey: iconIndex + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: StartMenuItemProperties + description: Schema for StartMenuItem properties. + namespace: '' + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 6 + propertyCountIfSimplifyWithoutSimpleObject: 6 + simplifiable: true + cliKey: StartMenuItemProperties + protocol: {} + serializedName: properties + extensions: + x-ms-client-flatten: true + language: + default: + name: properties + description: Detailed properties for StartMenuItem + cli: + cliKey: properties + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: StartMenuItem + description: Represents a StartMenuItem definition. + namespace: '' + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 6 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: StartMenuItem + protocol: {} + - &ref_85 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - schema: &ref_107 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_48 + required: false + serializedName: description + language: + default: + name: description + description: Description of Application. + cli: + cliKey: description + protocol: {} + - schema: *ref_49 + required: false + serializedName: friendlyName + language: + default: + name: friendlyName + description: Friendly name of Application. + cli: + cliKey: friendlyName + protocol: {} + - schema: *ref_50 + required: false + serializedName: filePath + language: + default: + name: filePath + description: Specifies a path for the executable file for the application. + cli: + cliKey: filePath + protocol: {} + - schema: *ref_51 + required: true + serializedName: commandLineSetting + language: + default: + name: commandLineSetting + description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' + cli: + cliKey: commandLineSetting + protocol: {} + - schema: *ref_52 + required: false + serializedName: commandLineArguments + language: + default: + name: commandLineArguments + description: Command Line Arguments for Application. + cli: + cliKey: commandLineArguments + protocol: {} + - schema: *ref_53 + required: false + serializedName: showInPortal + language: + default: + name: showInPortal + description: Specifies whether to show the RemoteApp program in the RD Web Access server. + cli: + cliKey: showInPortal + protocol: {} + - schema: *ref_54 + required: false + serializedName: iconPath + language: + default: + name: iconPath + description: Path to icon. + cli: + cliKey: iconPath + protocol: {} + - schema: *ref_47 + required: false + serializedName: iconIndex + language: + default: + name: iconIndex + description: Index of the icon. + cli: + cliKey: iconIndex + protocol: {} + - schema: *ref_55 + readOnly: true + required: false + serializedName: iconHash + language: + default: + name: iconHash + description: Hash of the icon. + cli: + cliKey: iconHash + protocol: {} + - schema: *ref_56 + readOnly: true + required: false + serializedName: iconContent + language: + default: + name: iconContent + description: the icon a 64 bit string as a byte array. + cli: + cliKey: iconContent + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: ApplicationProperties + description: Schema for Application properties. + namespace: '' + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 8 + propertyCountIfSimplifyWithoutSimpleObject: 8 + simplifiable: true + cliKey: ApplicationProperties + protocol: {} + required: true + serializedName: properties + extensions: + x-ms-client-flatten: true + x-nullable: false + language: + default: + name: properties + description: Detailed properties for Application + cli: + cliKey: properties + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: Application + description: Schema for Application properties. + namespace: '' + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 8 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: Application + protocol: {} + - &ref_86 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - schema: &ref_115 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_57 + serializedName: description + language: + default: + name: description + description: Description of Desktop. + cli: + cliKey: description + protocol: {} + - schema: *ref_58 + serializedName: friendlyName + language: + default: + name: friendlyName + description: Friendly name of Desktop. + cli: + cliKey: friendlyName + protocol: {} + - schema: *ref_59 + readOnly: true + serializedName: iconHash + language: + default: + name: iconHash + description: Hash of the icon. + cli: + cliKey: iconHash + protocol: {} + - schema: *ref_60 + readOnly: true + serializedName: iconContent + language: + default: + name: iconContent + description: The icon a 64 bit string as a byte array. + cli: + cliKey: iconContent + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: DesktopProperties + description: Schema for Desktop properties. + namespace: '' + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 2 + simplifiable: true + cliKey: DesktopProperties + protocol: {} + serializedName: properties + extensions: + x-ms-client-flatten: true + language: + default: + name: properties + description: Detailed properties for Desktop + cli: + cliKey: properties + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: Desktop + description: Schema for Desktop properties. + namespace: '' + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: Desktop + protocol: {} + - *ref_36 + - &ref_87 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - schema: *ref_39 + serializedName: tags + language: + default: + name: tags + description: tags to be updated + cli: + cliKey: tags + protocol: {} + - schema: &ref_122 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_61 + serializedName: friendlyName + language: + default: + name: friendlyName + description: Friendly name of HostPool. + cli: + cliKey: friendlyName + protocol: {} + - schema: *ref_62 + serializedName: description + language: + default: + name: description + description: Description of HostPool. + cli: + cliKey: description + protocol: {} + - schema: *ref_63 + serializedName: customRdpProperty + language: + default: + name: customRdpProperty + description: Custom rdp property of HostPool. + cli: + cliKey: customRdpProperty + protocol: {} + - schema: *ref_24 + serializedName: maxSessionLimit + language: + default: + name: maxSessionLimit + description: The max session limit of HostPool. + cli: + cliKey: maxSessionLimit + protocol: {} + - schema: *ref_22 + serializedName: personalDesktopAssignmentType + language: + default: + name: personalDesktopAssignmentType + description: PersonalDesktopAssignment type for HostPool. + cli: + cliKey: personalDesktopAssignmentType + protocol: {} + - schema: *ref_25 + serializedName: loadBalancerType + language: + default: + name: loadBalancerType + description: The type of the load balancer. + cli: + cliKey: loadBalancerType + protocol: {} + - schema: *ref_26 + serializedName: ring + language: + default: + name: ring + description: The ring number of HostPool. + cli: + cliKey: ring + protocol: {} + - schema: *ref_27 + serializedName: validationEnvironment + language: + default: + name: validationEnvironment + description: Is validation environment. + cli: + cliKey: validationEnvironment + protocol: {} + - schema: &ref_123 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_30 + serializedName: registrationTokenOperation + language: + default: + name: registrationTokenOperation + description: The type of resetting the token. + cli: + cliKey: registrationTokenOperation + protocol: {} + serializationFormats: + - json + usage: + - input + - output + language: + default: + name: RegistrationInfoPatch + description: Represents a RegistrationInfo definition. + namespace: '' + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 1 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: RegistrationInfoPatch + protocol: {} + serializedName: registrationInfo + language: + default: + name: registrationInfo + description: The registration info of HostPool. + cli: + cliKey: registrationInfo + protocol: {} + - schema: *ref_64 + serializedName: ssoContext + language: + default: + name: ssoContext + description: Path to keyvault containing ssoContext secret. + cli: + cliKey: ssoContext + protocol: {} + serializationFormats: + - json + usage: + - input + - output + language: + default: + name: HostPoolPatchProperties + description: Properties of HostPool. + namespace: '' + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10 + propertyCountIfSimplifyWithoutSimpleObject: 10 + simplifiable: true + cliKey: HostPoolPatchProperties + protocol: {} + serializedName: properties + extensions: + x-ms-client-flatten: true + language: + default: + name: properties + description: HostPool properties that can be patched. + cli: + cliKey: properties + protocol: {} + serializationFormats: + - json + usage: + - input + - output + language: + default: + name: HostPoolPatch + description: HostPool properties that can be patched. + namespace: '' + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: HostPoolPatch + protocol: {} + - &ref_88 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - schema: &ref_126 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_65 + serializedName: userPrincipalName + language: + default: + name: userPrincipalName + description: The user principal name. + cli: + cliKey: userPrincipalName + protocol: {} + - schema: *ref_66 + serializedName: applicationType + language: + default: + name: applicationType + description: Application type of application. + cli: + cliKey: applicationType + protocol: {} + - schema: *ref_67 + serializedName: sessionState + language: + default: + name: sessionState + description: State of user session. + cli: + cliKey: sessionState + protocol: {} + - schema: *ref_68 + serializedName: activeDirectoryUserName + language: + default: + name: activeDirectoryUserName + description: The active directory user name. + cli: + cliKey: activeDirectoryUserName + protocol: {} + - schema: *ref_69 + serializedName: createTime + language: + default: + name: createTime + description: The timestamp of the user session create. + cli: + cliKey: createTime + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: UserSessionProperties + description: Schema for UserSession properties. + namespace: '' + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 5 + propertyCountIfSimplifyWithoutSimpleObject: 5 + simplifiable: true + cliKey: UserSessionProperties + protocol: {} + serializedName: properties + extensions: + x-ms-client-flatten: true + language: + default: + name: properties + description: Detailed properties for UserSession + cli: + cliKey: properties + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: UserSession + description: Represents a UserSession definition. + namespace: '' + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 5 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: UserSession + protocol: {} + - &ref_89 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - schema: &ref_127 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_70 + serializedName: lastHeartBeat + language: + default: + name: lastHeartBeat + description: Last heart beat from SessionHost. + cli: + cliKey: lastHeartBeat + protocol: {} + - schema: *ref_71 + serializedName: sessions + language: + default: + name: sessions + description: Number of sessions on SessionHost. + cli: + cliKey: sessions + protocol: {} + - schema: *ref_72 + serializedName: agentVersion + language: + default: + name: agentVersion + description: Version of agent on SessionHost. + cli: + cliKey: agentVersion + protocol: {} + - schema: *ref_73 + serializedName: allowNewSession + language: + default: + name: allowNewSession + description: Allow a new session. + cli: + cliKey: allowNewSession + protocol: {} + - schema: *ref_74 + serializedName: assignedUser + language: + default: + name: assignedUser + description: User assigned to SessionHost. + cli: + cliKey: assignedUser + protocol: {} + - schema: *ref_75 + serializedName: status + language: + default: + name: status + description: Status for a SessionHost. + cli: + cliKey: status + protocol: {} + - schema: *ref_76 + readOnly: true + serializedName: statusTimestamp + language: + default: + name: statusTimestamp + description: The timestamp of the status. + cli: + cliKey: statusTimestamp + protocol: {} + - schema: *ref_77 + serializedName: osVersion + language: + default: + name: osVersion + description: The version of the OS on the session host. + cli: + cliKey: osVersion + protocol: {} + - schema: *ref_78 + serializedName: sxSStackVersion + language: + default: + name: sxSStackVersion + description: The version of the side by side stack on the session host. + cli: + cliKey: sxSStackVersion + protocol: {} + - schema: *ref_79 + serializedName: updateState + language: + default: + name: updateState + description: Update state of a SessionHost. + cli: + cliKey: updateState + protocol: {} + - schema: *ref_80 + readOnly: true + serializedName: lastUpdateTime + language: + default: + name: lastUpdateTime + description: The timestamp of the last update. + cli: + cliKey: lastUpdateTime + protocol: {} + - schema: *ref_81 + serializedName: updateErrorMessage + language: + default: + name: updateErrorMessage + description: The error message. + cli: + cliKey: updateErrorMessage + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: SessionHostProperties + description: Schema for SessionHost properties. + namespace: '' + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10 + propertyCountIfSimplifyWithoutSimpleObject: 10 + simplifiable: true + cliKey: SessionHostProperties + protocol: {} + serializedName: properties + extensions: + x-ms-client-flatten: true + language: + default: + name: properties + description: Detailed properties for SessionHost + cli: + cliKey: properties + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: SessionHost + description: Represents a SessionHost definition. + namespace: '' + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: SessionHost + protocol: {} + - &ref_90 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - schema: &ref_128 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_73 + serializedName: allowNewSession + language: + default: + name: allowNewSession + description: Allow a new session. + cli: + cliKey: allowNewSession + protocol: {} + - schema: *ref_82 + serializedName: assignedUser + language: + default: + name: assignedUser + description: User assigned to SessionHost. + cli: + cliKey: assignedUser + protocol: {} + serializationFormats: + - json + usage: + - input + - output + language: + default: + name: SessionHostPatchProperties + description: SessionHost properties that can be patched. + namespace: '' + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 2 + simplifiable: true + cliKey: SessionHostPatchProperties + protocol: {} + serializedName: properties + extensions: + x-ms-client-flatten: true + language: + default: + name: properties + description: Detailed properties for SessionHost + cli: + cliKey: properties + protocol: {} + serializationFormats: + - json + usage: + - input + - output + language: + default: + name: SessionHostPatch + description: SessionHost properties that can be patched. + namespace: '' + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: SessionHostPatch + protocol: {} + immediate: + - *ref_9 + - *ref_83 + - *ref_84 + - *ref_85 + - *ref_86 + - *ref_87 + - *ref_88 + - *ref_89 + - *ref_90 + properties: + - schema: *ref_91 + readOnly: true + serializedName: id + language: + default: + name: id + description: 'Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' + cli: + cliKey: id + protocol: {} + - schema: *ref_92 + readOnly: true + serializedName: name + language: + default: + name: name + description: The name of the resource + cli: + cliKey: name + protocol: {} + - schema: *ref_93 + readOnly: true + serializedName: type + language: + default: + name: type + description: The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + cli: + cliKey: type + protocol: {} + serializationFormats: + - json + usage: + - output + - input + extensions: + x-ms-azure-resource: true + language: + default: + name: Resource + description: '' + namespace: '' + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 0 + propertyCountIfSimplifyWithoutSimpleObject: 0 + simplifiable: true + cliKey: Resource + protocol: {} + - *ref_9 + - *ref_34 + - *ref_94 + - &ref_154 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_95 + serializedName: code + language: + default: + name: code + description: Error code + cli: + cliKey: code + protocol: {} + - schema: *ref_96 + serializedName: message + language: + default: + name: message + description: Error message indicating why the operation failed. + cli: + cliKey: message + protocol: {} + serializationFormats: + - json + usage: + - output + language: + default: + name: CloudError + description: Error response of an operation failure + namespace: '' + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 2 + simplifiable: true + cliKey: CloudError + protocol: {} + - &ref_161 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_39 + serializedName: tags + language: + default: + name: tags + description: tags to be updated + cli: + cliKey: tags + protocol: {} + - schema: &ref_100 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_97 + serializedName: description + language: + default: + name: description + description: Description of Workspace. + cli: + cliKey: description + protocol: {} + - schema: *ref_98 + serializedName: friendlyName + language: + default: + name: friendlyName + description: Friendly name of Workspace. + cli: + cliKey: friendlyName + protocol: {} + - schema: &ref_134 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_99 + language: + default: + name: WorkspacePatchProperties-applicationGroupReferences + description: List of applicationGroup links. + cli: + cli-complexity: array_simple + cli-mark: checked + protocol: {} + serializedName: applicationGroupReferences + language: + default: + name: applicationGroupReferences + description: List of applicationGroup links. + cli: + cliKey: applicationGroupReferences + protocol: {} + serializationFormats: + - json + usage: + - input + language: + default: + name: WorkspacePatchProperties + description: Workspace properties that can be patched. + namespace: '' + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: WorkspacePatchProperties + protocol: {} + serializedName: properties + extensions: + x-ms-client-flatten: true + language: + default: + name: properties + description: Detailed properties for Workspace + cli: + cliKey: properties + protocol: {} + serializationFormats: + - json + usage: + - input + language: + default: + name: WorkspacePatch + description: Workspace properties that can be patched. + namespace: '' + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: WorkspacePatch + protocol: {} + - *ref_100 + - &ref_166 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_135 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_34 + language: + default: + name: WorkspaceList-value + description: List of Workspace definitions. + cli: + cli-complexity: array_complex + cli-mark: checked + protocol: {} + serializedName: value + language: + default: + name: value + description: List of Workspace definitions. + cli: + cliKey: value + protocol: {} + - schema: *ref_101 + readOnly: true + serializedName: nextLink + language: + default: + name: nextLink + description: Link to the next page of results. + cli: + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: WorkspaceList + usage: + - output + language: + default: + name: WorkspaceList + description: List of Workspace definitions. + namespace: '' + summary: WorkspaceList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: WorkspaceList + protocol: {} + - &ref_171 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_136 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_35 + language: + default: + name: ApplicationGroupList-value + description: List of ApplicationGroup definitions. + cli: + cli-complexity: array_complex + cli-mark: checked + protocol: {} + serializedName: value + language: + default: + name: value + description: List of ApplicationGroup definitions. + cli: + cliKey: value + protocol: {} + - schema: *ref_102 + readOnly: true + serializedName: nextLink + language: + default: + name: nextLink + description: Link to the next page of results. + cli: + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: ApplicationGroupList + usage: + - output + language: + default: + name: ApplicationGroupList + description: List of ApplicationGroup definitions. + namespace: '' + summary: ApplicationGroupList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ApplicationGroupList + protocol: {} + - *ref_35 + - *ref_103 + - *ref_83 + - *ref_104 + - &ref_187 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_137 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_84 + language: + default: + name: StartMenuItemList-value + description: List of StartMenuItem definitions. + cli: + cli-complexity: array_complex + cli-mark: checked + protocol: {} + serializedName: value + language: + default: + name: value + description: List of StartMenuItem definitions. + cli: + cliKey: value + protocol: {} + - schema: *ref_105 + readOnly: true + serializedName: nextLink + language: + default: + name: nextLink + description: Link to the next page of results. + cli: + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: StartMenuItemList + usage: + - output + language: + default: + name: StartMenuItemList + description: List of StartMenuItem definitions. + namespace: '' + summary: StartMenuItemList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: StartMenuItemList + protocol: {} + - *ref_84 + - *ref_106 + - *ref_85 + - *ref_107 + - &ref_198 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_39 + serializedName: tags + language: + default: + name: tags + description: tags to be updated + cli: + cliKey: tags + protocol: {} + - schema: &ref_113 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_108 + serializedName: description + language: + default: + name: description + description: Description of Application. + cli: + cliKey: description + protocol: {} + - schema: *ref_109 + serializedName: friendlyName + language: + default: + name: friendlyName + description: Friendly name of Application. + cli: + cliKey: friendlyName + protocol: {} + - schema: *ref_110 + serializedName: filePath + language: + default: + name: filePath + description: Specifies a path for the executable file for the application. + cli: + cliKey: filePath + protocol: {} + - schema: *ref_51 + serializedName: commandLineSetting + language: + default: + name: commandLineSetting + description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' + cli: + cliKey: commandLineSetting + protocol: {} + - schema: *ref_111 + serializedName: commandLineArguments + language: + default: + name: commandLineArguments + description: Command Line Arguments for Application. + cli: + cliKey: commandLineArguments + protocol: {} + - schema: *ref_53 + serializedName: showInPortal + language: + default: + name: showInPortal + description: Specifies whether to show the RemoteApp program in the RD Web Access server. + cli: + cliKey: showInPortal + protocol: {} + - schema: *ref_112 + serializedName: iconPath + language: + default: + name: iconPath + description: Path to icon. + cli: + cliKey: iconPath + protocol: {} + - schema: *ref_47 + serializedName: iconIndex + language: + default: + name: iconIndex + description: Index of the icon. + cli: + cliKey: iconIndex + protocol: {} + serializationFormats: + - json + usage: + - input + language: + default: + name: ApplicationPatchProperties + description: Application properties that can be patched. + namespace: '' + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 8 + propertyCountIfSimplifyWithoutSimpleObject: 8 + simplifiable: true + cliKey: ApplicationPatchProperties + protocol: {} + serializedName: properties + extensions: + x-ms-client-flatten: true + language: + default: + name: properties + description: Detailed properties for Application + cli: + cliKey: properties + protocol: {} + serializationFormats: + - json + usage: + - input + language: + default: + name: ApplicationPatch + description: Application properties that can be patched. + namespace: '' + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ApplicationPatch + protocol: {} + - *ref_113 + - &ref_205 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_138 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_85 + language: + default: + name: ApplicationList-value + description: List of Application definitions. + cli: + cli-complexity: array_complex + cli-mark: checked + protocol: {} + serializedName: value + language: + default: + name: value + description: List of Application definitions. + cli: + cliKey: value + protocol: {} + - schema: *ref_114 + readOnly: true + serializedName: nextLink + language: + default: + name: nextLink + description: Link to the next page of results. + cli: + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: ApplicationList + usage: + - output + language: + default: + name: ApplicationList + description: List of Application definitions. + namespace: '' + summary: ApplicationList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ApplicationList + protocol: {} + - *ref_86 + - *ref_115 + - &ref_209 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_39 + serializedName: tags + language: + default: + name: tags + description: tags to be updated + cli: + cliKey: tags + protocol: {} + - schema: &ref_118 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_116 + serializedName: description + language: + default: + name: description + description: Description of Desktop. + cli: + cliKey: description + protocol: {} + - schema: *ref_117 + serializedName: friendlyName + language: + default: + name: friendlyName + description: Friendly name of Desktop. + cli: + cliKey: friendlyName + protocol: {} + serializationFormats: + - json + usage: + - input + language: + default: + name: DesktopPatchProperties + description: Desktop properties that can be patched. + namespace: '' + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 2 + simplifiable: true + cliKey: DesktopPatchProperties + protocol: {} + serializedName: properties + extensions: + x-ms-client-flatten: true + language: + default: + name: properties + description: Detailed properties for Desktop + cli: + cliKey: properties + protocol: {} + serializationFormats: + - json + usage: + - input + language: + default: + name: DesktopPatch + description: Desktop properties that can be patched. + namespace: '' + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: DesktopPatch + protocol: {} + - *ref_118 + - &ref_216 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_139 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_86 + language: + default: + name: DesktopList-value + description: List of Desktop definitions. + cli: + cli-complexity: array_complex + cli-mark: checked + protocol: {} + serializedName: value + language: + default: + name: value + description: List of Desktop definitions. + cli: + cliKey: value + protocol: {} + - schema: *ref_119 + readOnly: true + serializedName: nextLink + language: + default: + name: nextLink + description: Link to the next page of results. + cli: + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: DesktopList + usage: + - output + language: + default: + name: DesktopList + description: List of Desktop definitions. + namespace: '' + summary: DesktopList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: DesktopList + protocol: {} + - *ref_36 + - *ref_120 + - *ref_121 + - *ref_87 + - *ref_122 + - *ref_123 + - &ref_230 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_141 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_36 + language: + default: + name: HostPoolList-value + description: List of HostPool definitions. + cli: + cli-complexity: array_complex + cli-mark: checked + protocol: {} + serializedName: value + language: + default: + name: value + description: List of HostPool definitions. + cli: + cliKey: value + protocol: {} + - schema: *ref_124 + readOnly: true + serializedName: nextLink + language: + default: + name: nextLink + description: Link to the next page of results. + cli: + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: HostPoolList + usage: + - output + language: + default: + name: HostPoolList + description: List of HostPool definitions. + namespace: '' + summary: HostPoolList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: HostPoolList + protocol: {} + - &ref_234 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_142 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_88 + language: + default: + name: UserSessionList-value + description: List of UserSession definitions. + cli: + cli-complexity: array_complex + cli-mark: checked + protocol: {} + serializedName: value + language: + default: + name: value + description: List of UserSession definitions. + cli: + cliKey: value + protocol: {} + - schema: *ref_125 + readOnly: true + serializedName: nextLink + language: + default: + name: nextLink + description: Link to the next page of results. + cli: + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: UserSessionList + usage: + - output + language: + default: + name: UserSessionList + description: List of UserSession definitions. + namespace: '' + summary: UserSessionList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: UserSessionList + protocol: {} + - *ref_88 + - *ref_126 + - *ref_89 + - *ref_127 + - *ref_90 + - *ref_128 + - &ref_272 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_143 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_89 + language: + default: + name: SessionHostList-value + description: List of SessionHost definitions. + cli: + cli-complexity: array_complex + cli-mark: checked + protocol: {} + serializedName: value + language: + default: + name: value + description: List of SessionHost definitions. + cli: + cliKey: value + protocol: {} + - schema: *ref_129 + readOnly: true + serializedName: nextLink + language: + default: + name: nextLink + description: Link to the next page of results. + cli: + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: SessionHostList + usage: + - output + language: + default: + name: SessionHostList + description: List of SessionHost definitions. + namespace: '' + summary: SessionHostList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: SessionHostList + protocol: {} + - &ref_253 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_130 + serializedName: messageTitle + language: + default: + name: messageTitle + description: Title of message. + cli: + cliKey: messageTitle + protocol: {} + - schema: *ref_131 + serializedName: messageBody + language: + default: + name: messageBody + description: Body of message. + cli: + cliKey: messageBody + protocol: {} + serializationFormats: + - json + usage: + - input + language: + default: + name: SendMessage + description: Represents message sent to a UserSession. + namespace: '' + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 2 + simplifiable: true + cliKey: SendMessage + protocol: {} + arrays: + - *ref_132 + - *ref_133 + - *ref_134 + - *ref_135 + - *ref_136 + - *ref_137 + - *ref_138 + - *ref_139 + - *ref_140 + - *ref_141 + - *ref_142 + - *ref_143 +globalParameters: + - &ref_149 + schema: *ref_144 + implementation: Client + required: true + extensions: + x-ms-priority: 0 + language: + default: + name: subscriptionId + description: The ID of the target subscription. + serializedName: subscriptionId + cli: + cliKey: subscriptionId + protocol: + http: + in: path + - &ref_146 + schema: *ref_0 + clientDefaultValue: 'https://management.azure.com' + implementation: Client + origin: 'modelerfour:synthesized/host' + required: true + extensions: + x-ms-skip-url-encoding: true + language: + default: + name: $host + description: server parameter + serializedName: $host + cli: + cliKey: $host + protocol: + http: + in: uri + - &ref_147 + schema: *ref_145 + implementation: Client + origin: 'modelerfour:synthesized/api-version' + required: true + language: + default: + name: ApiVersion + description: Api Version + serializedName: api-version + cli: + cliKey: ApiVersion + protocol: + http: + in: query +operationGroups: + - $key: Operations + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: /providers/Microsoft.DesktopVirtualization/operations + method: get + uri: '{$host}' + signatureParameters: [] + responses: + - schema: *ref_148 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + extensions: + x-ms-examples: + OperationDescription_List: + parameters: + api-version: 2019-12-10-preview + responses: + '200': + body: + value: + - name: Microsoft.DesktopVirtualization/ssocontext/read + display: + provider: Microsoft.DesktopVirtualization + resource: ssocontext + - name: Microsoft.DesktopVirtualization/ssocontext/write + display: + provider: Microsoft.DesktopVirtualization + resource: ssocontext + language: + default: + name: List + description: List all of the available operations the Desktop Virtualization resource provider supports. + cli: + cliKey: List + protocol: {} + language: + default: + name: Operations + description: '' + cli: + cliKey: Operations + protocol: {} + - $key: Workspaces + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_152 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_153 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: workspaceName + description: The name of the workspace + serializedName: workspaceName + cli: + cliKey: workspaceName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_152 + - *ref_153 + responses: + - schema: *ref_34 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Workspace_Get: + parameters: + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + workspaceName: workspace1 + responses: + '200': + body: + name: workspace1 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + language: + default: + name: Get + description: Get a workspace. + cli: + cliKey: Get + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_157 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_158 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: workspaceName + description: The name of the workspace + serializedName: workspaceName + cli: + cliKey: workspaceName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_155 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content-type + description: Body Parameter content-type + serializedName: Content-Type + cli: + cliKey: content-type + protocol: + http: + in: header + - &ref_156 + schema: *ref_34 + implementation: Method + required: true + extensions: + x-ms-client-flatten: true + language: + default: + name: workspace + description: Object containing Workspace definitions. + cli: + cliKey: workspace + protocol: + http: + in: body + style: json + signatureParameters: + - *ref_156 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' + method: put + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_157 + - *ref_158 + responses: + - schema: *ref_34 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + - schema: *ref_34 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '201' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Workspace_Create: + parameters: + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + workspace: + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + tag1: value1 + tag2: value2 + workspaceName: workspace1 + responses: + '200': + body: + name: workspace1 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + '201': + body: + name: workspace1 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + language: + default: + name: CreateOrUpdate + description: Create or update a workspace. + cli: + cliKey: CreateOrUpdate + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_159 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_160 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: workspaceName + description: The name of the workspace + serializedName: workspaceName + cli: + cliKey: workspaceName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' + method: delete + uri: '{$host}' + signatureParameters: + - *ref_159 + - *ref_160 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '204' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Workspace_Delete: + parameters: + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + workspaceName: workspace1 + responses: + '200': + name: workspace1 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + '204': {} + language: + default: + name: Delete + description: Remove a workspace. + cli: + cliKey: Delete + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_163 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_164 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: workspaceName + description: The name of the workspace + serializedName: workspaceName + cli: + cliKey: workspaceName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_155 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content-type + description: Body Parameter content-type + serializedName: Content-Type + cli: + cliKey: content-type + protocol: + http: + in: header + - &ref_162 + schema: *ref_161 + implementation: Method + required: false + extensions: + x-ms-client-flatten: true + language: + default: + name: workspace + description: Object containing Workspace definitions. + cli: + cliKey: workspace + protocol: + http: + in: body + style: json + signatureParameters: + - *ref_162 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' + method: patch + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_163 + - *ref_164 + responses: + - schema: *ref_34 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Workspace_Update: + parameters: + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + workspace: + properties: + description: des1 + friendlyName: friendly + tags: + tag1: value1 + tag2: value2 + workspaceName: workspace1 + responses: + '200': + body: + name: workspace1 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + language: + default: + name: Update + description: Update a workspace. + cli: + cliKey: Update + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_165 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces' + method: get + uri: '{$host}' + signatureParameters: + - *ref_165 + responses: + - schema: *ref_166 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Workspace_ListByResourceGroup: + parameters: + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: workspace1 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + - name: workspace2 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace2 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: ListByResourceGroup + description: List workspaces. + paging: + nextLinkName: nextLink + cli: + cliKey: ListByResourceGroup + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/workspaces' + method: get + uri: '{$host}' + signatureParameters: [] + responses: + - schema: *ref_166 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Workspace_ListBySubscription: + parameters: + api-version: 2019-12-10-preview + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: workspace1 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + - name: workspace2 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace2 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: ListBySubscription + description: List workspaces in subscription. + paging: + nextLinkName: nextLink + cli: + cliKey: ListBySubscription + protocol: {} + language: + default: + name: Workspaces + description: '' + cli: + cliKey: Workspaces + protocol: {} + - $key: ApplicationGroupAssignments + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_168 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_169 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: workspaceName + description: The name of the workspace + serializedName: workspaceName + cli: + cliKey: workspaceName + protocol: + http: + in: path + - &ref_170 + schema: *ref_167 + implementation: Method + language: + default: + name: $filter + description: OData filter expression. Valid properties for filtering are applicationGroupType. + serializedName: $filter + cli: + cliKey: $filter + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}/userApplicationGroupAssignments' + method: get + uri: '{$host}' + signatureParameters: + - *ref_168 + - *ref_169 + - *ref_170 + responses: + - schema: *ref_171 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ApplicationGroupAssignment_WorkspaceLevelList: + parameters: + $filter: userPrincipalName eq 'user1@microsoft.com' + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + workspaceName: workspace1 + responses: + '200': + body: + value: + - name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + - name: applicationGroup2 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: WorkspaceLevelList + description: List application group that user can use. + paging: + nextLinkName: nextLink + cli: + cliKey: WorkspaceLevelList + protocol: {} + language: + default: + name: ApplicationGroupAssignments + description: '' + cli: + cliKey: ApplicationGroupAssignments + protocol: {} + - $key: ApplicationGroups + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_172 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_173 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationGroupName + description: The name of the application group + serializedName: applicationGroupName + cli: + cliKey: applicationGroupName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_172 + - *ref_173 + responses: + - schema: *ref_35 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ApplicationGroup_Get: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + language: + default: + name: Get + description: Get an application group. + cli: + cliKey: Get + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_175 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_176 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationGroupName + description: The name of the application group + serializedName: applicationGroupName + cli: + cliKey: applicationGroupName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_155 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content-type + description: Body Parameter content-type + serializedName: Content-Type + cli: + cliKey: content-type + protocol: + http: + in: header + - &ref_174 + schema: *ref_35 + implementation: Method + required: true + extensions: + x-ms-client-flatten: true + language: + default: + name: applicationGroup + description: Object containing ApplicationGroup definitions. + cli: + cliKey: applicationGroup + protocol: + http: + in: body + style: json + signatureParameters: + - *ref_174 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' + method: put + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_175 + - *ref_176 + responses: + - schema: *ref_35 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + - schema: *ref_35 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '201' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ApplicationGroup_Create: + parameters: + api-version: 2019-12-10-preview + applicationGroup: + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + tags: + tag1: value1 + tag2: value2 + applicationGroupName: applicationGroup1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + '201': + body: + name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + language: + default: + name: CreateOrUpdate + description: Create or update an applicationGroup. + cli: + cliKey: CreateOrUpdate + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_177 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_178 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationGroupName + description: The name of the application group + serializedName: applicationGroupName + cli: + cliKey: applicationGroupName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' + method: delete + uri: '{$host}' + signatureParameters: + - *ref_177 + - *ref_178 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '204' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ApplicationGroup_Delete: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + '204': {} + language: + default: + name: Delete + description: Remove an applicationGroup. + cli: + cliKey: Delete + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_180 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_181 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationGroupName + description: The name of the application group + serializedName: applicationGroupName + cli: + cliKey: applicationGroupName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_155 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content-type + description: Body Parameter content-type + serializedName: Content-Type + cli: + cliKey: content-type + protocol: + http: + in: header + - &ref_179 + schema: *ref_83 + implementation: Method + required: false + extensions: + x-ms-client-flatten: true + language: + default: + name: applicationGroup + description: Object containing ApplicationGroup definitions. + cli: + cliKey: applicationGroup + protocol: + http: + in: body + style: json + signatureParameters: + - *ref_179 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' + method: patch + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_180 + - *ref_181 + responses: + - schema: *ref_35 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ApplicationGroups_Update: + parameters: + api-version: 2019-12-10-preview + applicationGroup: + properties: + description: des1 + friendlyName: friendly + tags: + tag1: value1 + tag2: value2 + applicationGroupName: applicationGroup1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + language: + default: + name: Update + description: Update an applicationGroup. + cli: + cliKey: Update + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_182 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_183 + schema: *ref_167 + implementation: Method + language: + default: + name: $filter + description: OData filter expression. Valid properties for filtering are applicationGroupType. + serializedName: $filter + cli: + cliKey: $filter + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups' + method: get + uri: '{$host}' + signatureParameters: + - *ref_182 + - *ref_183 + responses: + - schema: *ref_171 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ApplicationGroup_ListByResourceGroup: + parameters: + $filter: applicationGroupType eq 'RailApplication' + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + - name: applicationGroup2 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: ListByResourceGroup + description: List applicationGroups. + paging: + nextLinkName: nextLink + cli: + cliKey: ListByResourceGroup + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_184 + schema: *ref_167 + implementation: Method + language: + default: + name: $filter + description: OData filter expression. Valid properties for filtering are applicationGroupType. + serializedName: $filter + cli: + cliKey: $filter + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/applicationGroups' + method: get + uri: '{$host}' + signatureParameters: + - *ref_184 + responses: + - schema: *ref_171 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ApplicationGroup_List: + parameters: + $filter: applicationGroupType eq 'RailApplication' + api-version: 2019-12-10-preview + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + - name: applicationGroup2 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: ListBySubscription + description: List applicationGroups in subscription. + paging: + nextLinkName: nextLink + cli: + cliKey: ListBySubscription + protocol: {} + language: + default: + name: ApplicationGroups + description: '' + cli: + cliKey: ApplicationGroups + protocol: {} + - $key: StartMenuItems + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_185 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_186 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationGroupName + description: The name of the application group + serializedName: applicationGroupName + cli: + cliKey: applicationGroupName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/startMenuItems' + method: get + uri: '{$host}' + signatureParameters: + - *ref_185 + - *ref_186 + responses: + - schema: *ref_187 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + StartMenuItem_List: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: application1 + type: Microsoft.DesktopVirtualization/applicationGroups/startMenuItems + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/startMenuItem/application1 + properties: + appAlias: word + commandLineArguments: arguments + filePath: /path/to/file + friendlyName: friendly + iconIndex: 1 + iconPath: /path/to/icon + - name: application2 + type: Microsoft.DesktopVirtualization/applicationGroups/startMenuItems + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/startMenuItem/application2 + properties: + appAlias: excel + commandLineArguments: arguments + filePath: /path/to/file + friendlyName: friendly + iconIndex: 1 + iconPath: /path/to/icon + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: List + description: List start menu items in the given application group. + paging: + nextLinkName: nextLink + cli: + cliKey: List + protocol: {} + language: + default: + name: StartMenuItems + description: '' + cli: + cliKey: StartMenuItems + protocol: {} + - $key: Applications + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_188 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_189 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationGroupName + description: The name of the application group + serializedName: applicationGroupName + cli: + cliKey: applicationGroupName + protocol: + http: + in: path + - &ref_190 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationName + description: The name of the application within the specified application group + serializedName: applicationName + cli: + cliKey: applicationName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_188 + - *ref_189 + - *ref_190 + responses: + - schema: *ref_85 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Application_Get: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + applicationName: application1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1/application1 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + language: + default: + name: Get + description: Get an application. + cli: + cliKey: Get + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_192 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_193 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationGroupName + description: The name of the application group + serializedName: applicationGroupName + cli: + cliKey: applicationGroupName + protocol: + http: + in: path + - &ref_194 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationName + description: The name of the application within the specified application group + serializedName: applicationName + cli: + cliKey: applicationName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_155 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content-type + description: Body Parameter content-type + serializedName: Content-Type + cli: + cliKey: content-type + protocol: + http: + in: header + - &ref_191 + schema: *ref_85 + implementation: Method + required: true + extensions: + x-ms-client-flatten: true + language: + default: + name: application + description: Object containing Application definitions. + cli: + cliKey: application + protocol: + http: + in: body + style: json + signatureParameters: + - *ref_191 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' + method: put + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_192 + - *ref_193 + - *ref_194 + responses: + - schema: *ref_85 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + - schema: *ref_85 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '201' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Application_Create: + parameters: + api-version: 2019-12-10-preview + application: + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconIndex: 1 + iconPath: icon + showInPortal: true + applicationGroupName: applicationGroup1 + applicationName: application1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1/application1 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + '201': + body: + name: applicationGroup1/application1 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + language: + default: + name: CreateOrUpdate + description: Create or update an application. + cli: + cliKey: CreateOrUpdate + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_195 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_196 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationGroupName + description: The name of the application group + serializedName: applicationGroupName + cli: + cliKey: applicationGroupName + protocol: + http: + in: path + - &ref_197 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationName + description: The name of the application within the specified application group + serializedName: applicationName + cli: + cliKey: applicationName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' + method: delete + uri: '{$host}' + signatureParameters: + - *ref_195 + - *ref_196 + - *ref_197 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '204' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Application_Delete: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + applicationName: application1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + name: applicationGroup1/application1 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + '204': {} + language: + default: + name: Delete + description: Remove an application. + cli: + cliKey: Delete + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_200 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_201 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationGroupName + description: The name of the application group + serializedName: applicationGroupName + cli: + cliKey: applicationGroupName + protocol: + http: + in: path + - &ref_202 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationName + description: The name of the application within the specified application group + serializedName: applicationName + cli: + cliKey: applicationName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_155 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content-type + description: Body Parameter content-type + serializedName: Content-Type + cli: + cliKey: content-type + protocol: + http: + in: header + - &ref_199 + schema: *ref_198 + implementation: Method + required: false + extensions: + x-ms-client-flatten: true + language: + default: + name: application + description: Object containing Application definitions. + cli: + cliKey: application + protocol: + http: + in: body + style: json + signatureParameters: + - *ref_199 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' + method: patch + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_200 + - *ref_201 + - *ref_202 + responses: + - schema: *ref_85 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Application_Update: + parameters: + api-version: 2019-12-10-preview + application: + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconIndex: 1 + iconPath: icon + showInPortal: true + applicationGroupName: applicationGroup1 + applicationName: application1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1/application1 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + language: + default: + name: Update + description: Update an application. + cli: + cliKey: Update + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_203 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_204 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationGroupName + description: The name of the application group + serializedName: applicationGroupName + cli: + cliKey: applicationGroupName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications' + method: get + uri: '{$host}' + signatureParameters: + - *ref_203 + - *ref_204 + responses: + - schema: *ref_205 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Applications_List: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: applicationGroup1/application1 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + - name: applicationGroup1/application2 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application2 + properties: + description: des2 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: List + description: List applications. + paging: + nextLinkName: nextLink + cli: + cliKey: List + protocol: {} + language: + default: + name: Applications + description: '' + cli: + cliKey: Applications + protocol: {} + - $key: Desktops + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_206 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_207 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationGroupName + description: The name of the application group + serializedName: applicationGroupName + cli: + cliKey: applicationGroupName + protocol: + http: + in: path + - &ref_208 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: desktopName + description: The name of the desktop within the specified desktop group + serializedName: desktopName + cli: + cliKey: desktopName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops/{desktopName}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_206 + - *ref_207 + - *ref_208 + responses: + - schema: *ref_86 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Desktop_Get: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + desktopName: SessionDesktop + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1/SessionDesktop + type: Microsoft.DesktopVirtualization/applicationGroups/desktops + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/SessionDesktop + properties: + description: des1 + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + language: + default: + name: Get + description: Get a desktop. + cli: + cliKey: Get + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_211 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_212 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationGroupName + description: The name of the application group + serializedName: applicationGroupName + cli: + cliKey: applicationGroupName + protocol: + http: + in: path + - &ref_213 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: desktopName + description: The name of the desktop within the specified desktop group + serializedName: desktopName + cli: + cliKey: desktopName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_155 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content-type + description: Body Parameter content-type + serializedName: Content-Type + cli: + cliKey: content-type + protocol: + http: + in: header + - &ref_210 + schema: *ref_209 + implementation: Method + required: false + extensions: + x-ms-client-flatten: true + language: + default: + name: desktop + description: Object containing Desktop definitions. + cli: + cliKey: desktop + protocol: + http: + in: body + style: json + signatureParameters: + - *ref_210 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops/{desktopName}' + method: patch + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_211 + - *ref_212 + - *ref_213 + responses: + - schema: *ref_86 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Desktop_Update: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + desktop: + properties: + description: des1 + friendlyName: friendly + desktopName: SessionDesktop + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1/SessionDesktop + type: Microsoft.DesktopVirtualization/applicationGroups/desktops + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/desktops/SessionDesktop + properties: + description: des1 + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + language: + default: + name: Update + description: Update a desktop. + cli: + cliKey: Update + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_214 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_215 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: applicationGroupName + description: The name of the application group + serializedName: applicationGroupName + cli: + cliKey: applicationGroupName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops' + method: get + uri: '{$host}' + signatureParameters: + - *ref_214 + - *ref_215 + responses: + - schema: *ref_216 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Desktop_List: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: applicationGroup1/SessionDesktop + type: Microsoft.DesktopVirtualization/applicationGroups/desktops + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/SessionDesktop + properties: + description: des1 + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + language: + default: + name: List + description: List desktops. + cli: + cliKey: List + protocol: {} + language: + default: + name: Desktops + description: '' + cli: + cliKey: Desktops + protocol: {} + - $key: HostPools + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_217 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_218 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: hostPoolName + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_217 + - *ref_218 + responses: + - schema: *ref_36 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + HostPool_Get: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: hostPool1 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2008-09-22T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + language: + default: + name: Get + description: Get a host pool. + cli: + cliKey: Get + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_220 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_221 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: hostPoolName + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_155 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content-type + description: Body Parameter content-type + serializedName: Content-Type + cli: + cliKey: content-type + protocol: + http: + in: header + - &ref_219 + schema: *ref_36 + implementation: Method + required: true + extensions: + x-ms-client-flatten: true + language: + default: + name: hostPool + description: Object containing HostPool definitions. + cli: + cliKey: hostPool + protocol: + http: + in: body + style: json + signatureParameters: + - *ref_219 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' + method: put + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_220 + - *ref_221 + responses: + - schema: *ref_36 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + - schema: *ref_36 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '201' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + HostPool_Create: + parameters: + api-version: 2019-12-10-preview + hostPool: + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2020-10-01T14:01:54.9571247Z' + registrationTokenOperation: Update + ssoContext: KeyVaultPath + tags: + tag1: value1 + tag2: value2 + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: hostPool1 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2020-10-01T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + '201': + body: + name: hostPool1 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2020-10-01T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + language: + default: + name: CreateOrUpdate + description: Create or update a host pool. + cli: + cliKey: CreateOrUpdate + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_223 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_224 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: hostPoolName + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_225 + schema: *ref_222 + implementation: Method + language: + default: + name: force + description: Force flag to delete sessionHost. + serializedName: force + cli: + cliKey: force + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' + method: delete + uri: '{$host}' + signatureParameters: + - *ref_223 + - *ref_224 + - *ref_225 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '204' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + HostPool_Delete: + parameters: + api-version: 2019-12-10-preview + force: true + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + name: hostPool1 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2008-09-22T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + '204': {} + language: + default: + name: Delete + description: Remove a host pool. + cli: + cliKey: Delete + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_227 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_228 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: hostPoolName + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_155 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content-type + description: Body Parameter content-type + serializedName: Content-Type + cli: + cliKey: content-type + protocol: + http: + in: header + - &ref_226 + schema: *ref_87 + implementation: Method + required: false + extensions: + x-ms-client-flatten: true + language: + default: + name: hostPool + description: Object containing HostPool definitions. + cli: + cliKey: hostPool + protocol: + http: + in: body + style: json + signatureParameters: + - *ref_226 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' + method: patch + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_227 + - *ref_228 + responses: + - schema: *ref_36 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + HostPool_Update: + parameters: + api-version: 2019-12-10-preview + hostPool: + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2020-10-02T14:01:54.9571247Z' + ssoContext: KeyVaultPath + tags: + tag1: value1 + tag2: value2 + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: hostPool1 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2008-09-22T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + language: + default: + name: Update + description: Update a host pool. + cli: + cliKey: Update + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_229 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools' + method: get + uri: '{$host}' + signatureParameters: + - *ref_229 + responses: + - schema: *ref_230 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + HostPool_ListByResourceGroup: + parameters: + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: hostPool1 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2008-09-22T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + - name: hostPool2 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool2 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2008-09-22T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: ListByResourceGroup + description: List hostPools. + paging: + nextLinkName: nextLink + cli: + cliKey: ListByResourceGroup + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/hostPools' + method: get + uri: '{$host}' + signatureParameters: [] + responses: + - schema: *ref_230 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + HostPool_List: + parameters: + api-version: 2019-12-10-preview + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: hostPool1 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2008-09-22T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + - name: hostPool2 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool2 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2008-09-22T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: List + description: List hostPools in subscription. + paging: + nextLinkName: nextLink + cli: + cliKey: List + protocol: {} + language: + default: + name: HostPools + description: '' + cli: + cliKey: HostPools + protocol: {} + - $key: UserSessions + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_231 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_232 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: hostPoolName + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_233 + schema: *ref_167 + implementation: Method + language: + default: + name: $filter + description: OData filter expression. Valid properties for filtering are userprincipalname and sessionstate. + serializedName: $filter + cli: + cliKey: $filter + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/userSessions' + method: get + uri: '{$host}' + signatureParameters: + - *ref_231 + - *ref_232 + - *ref_233 + responses: + - schema: *ref_234 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + UserSession_ListByHostPool: + parameters: + $filter: userPrincipalName eq 'user1@microsoft.com' and state eq 'active' + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: '1' + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 + properties: + activeDirectoryUserName: WVDARM\user1 + applicationType: Desktop + createTime: '2008-09-22T14:01:54.9571247Z' + sessionState: Active + userPrincipalName: user1@microsoft.com + - name: '2' + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/2 + properties: + activeDirectoryUserName: WVDARM\user1 + applicationType: Desktop + createTime: '2008-09-22T14:01:54.9571247Z' + sessionState: Active + userPrincipalName: user1@microsoft.com + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: ListByHostPool + description: List userSessions. + paging: + nextLinkName: nextLink + cli: + cliKey: ListByHostPool + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_237 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_238 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: hostPoolName + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_239 + schema: *ref_235 + implementation: Method + required: true + language: + default: + name: sessionHostName + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + cliKey: sessionHostName + protocol: + http: + in: path + - &ref_240 + schema: *ref_236 + implementation: Method + required: true + language: + default: + name: userSessionId + description: The name of the user session within the specified session host + serializedName: userSessionId + cli: + cliKey: userSessionId + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_237 + - *ref_238 + - *ref_239 + - *ref_240 + responses: + - schema: *ref_88 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + UserSession_Get: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + userSessionId: '1' + responses: + '200': + body: + name: '1' + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 + properties: + activeDirectoryUserName: WVDARM\user1 + applicationType: Desktop + createTime: '2008-09-22T14:01:54.9571247Z' + sessionState: Active + userPrincipalName: user1@microsoft.com + language: + default: + name: Get + description: Get a userSession. + cli: + cliKey: Get + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_241 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_242 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: hostPoolName + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_243 + schema: *ref_235 + implementation: Method + required: true + language: + default: + name: sessionHostName + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + cliKey: sessionHostName + protocol: + http: + in: path + - &ref_244 + schema: *ref_236 + implementation: Method + required: true + language: + default: + name: userSessionId + description: The name of the user session within the specified session host + serializedName: userSessionId + cli: + cliKey: userSessionId + protocol: + http: + in: path + - &ref_245 + schema: *ref_222 + implementation: Method + language: + default: + name: force + description: Force flag to login off userSession. + serializedName: force + cli: + cliKey: force + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}' + method: delete + uri: '{$host}' + signatureParameters: + - *ref_241 + - *ref_242 + - *ref_243 + - *ref_244 + - *ref_245 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '204' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + UserSession_Delete: + parameters: + api-version: 2019-12-10-preview + force: true + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + userSessionId: '1' + responses: + '200': + name: '1' + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 + properties: + activeDirectoryUserName: WVDARM\user1 + applicationType: Desktop + createTime: '2008-09-22T14:01:54.9571247Z' + sessionState: Active + userPrincipalName: user1@microsoft.com + '204': {} + language: + default: + name: Delete + description: Remove a userSession. + cli: + cliKey: Delete + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_246 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_247 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: hostPoolName + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_248 + schema: *ref_235 + implementation: Method + required: true + language: + default: + name: sessionHostName + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + cliKey: sessionHostName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions' + method: get + uri: '{$host}' + signatureParameters: + - *ref_246 + - *ref_247 + - *ref_248 + responses: + - schema: *ref_234 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + UserSession_List: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: '1' + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 + properties: + activeDirectoryUserName: WVDARM\user1 + applicationType: Desktop + createTime: '2008-09-22T14:01:54.9571247Z' + sessionState: Active + userPrincipalName: user1@microsoft.com + - name: '2' + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/2 + properties: + activeDirectoryUserName: WVDARM\user1 + applicationType: Desktop + createTime: '2008-09-22T14:01:54.9571247Z' + sessionState: Active + userPrincipalName: user1@microsoft.com + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: List + description: List userSessions. + paging: + nextLinkName: nextLink + cli: + cliKey: List + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_249 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_250 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: hostPoolName + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_251 + schema: *ref_235 + implementation: Method + required: true + language: + default: + name: sessionHostName + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + cliKey: sessionHostName + protocol: + http: + in: path + - &ref_252 + schema: *ref_236 + implementation: Method + required: true + language: + default: + name: userSessionId + description: The name of the user session within the specified session host + serializedName: userSessionId + cli: + cliKey: userSessionId + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}/disconnect' + method: post + uri: '{$host}' + signatureParameters: + - *ref_249 + - *ref_250 + - *ref_251 + - *ref_252 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + UserSession_Disconnect_Post: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + userSessionId: '1' + responses: + '200': {} + language: + default: + name: Disconnect + description: Disconnect a userSession. + cli: + cliKey: Disconnect + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_255 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_256 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: hostPoolName + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_257 + schema: *ref_235 + implementation: Method + required: true + language: + default: + name: sessionHostName + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + cliKey: sessionHostName + protocol: + http: + in: path + - &ref_258 + schema: *ref_236 + implementation: Method + required: true + language: + default: + name: userSessionId + description: The name of the user session within the specified session host + serializedName: userSessionId + cli: + cliKey: userSessionId + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_155 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content-type + description: Body Parameter content-type + serializedName: Content-Type + cli: + cliKey: content-type + protocol: + http: + in: header + - &ref_254 + schema: *ref_253 + implementation: Method + required: false + extensions: + x-ms-client-flatten: true + language: + default: + name: sendMessage + description: Object containing message includes title and message body + cli: + cliKey: sendMessage + protocol: + http: + in: body + style: json + signatureParameters: + - *ref_254 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}/sendMessage' + method: post + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_255 + - *ref_256 + - *ref_257 + - *ref_258 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + UserSession_SendMessage_Post: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sendMessage: + messageBody: body + messageTitle: title + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + userSessionId: '1' + responses: + '200': {} + language: + default: + name: SendMessage + description: Send a message to a user. + cli: + cliKey: SendMessage + protocol: {} + language: + default: + name: UserSessions + description: '' + cli: + cliKey: UserSessions + protocol: {} + - $key: SessionHosts + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_259 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_260 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: hostPoolName + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_261 + schema: *ref_235 + implementation: Method + required: true + language: + default: + name: sessionHostName + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + cliKey: sessionHostName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_259 + - *ref_260 + - *ref_261 + responses: + - schema: *ref_89 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + SessionHost_Get: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: sessionHost1.microsoft.com + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com + properties: + agentVersion: 1.0.0.1391 + allowNewSession: true + assignedUser: user1@microsoft.com + lastHeartBeat: '2008-09-22T14:01:54.9571247Z' + lastUpdateTime: '2008-09-22T14:01:54.9571247Z' + osVersion: 10.0.17763 + sessions: 1 + status: Available + statusTimestamp: '2008-09-22T14:01:54.9571247Z' + sxSStackVersion: rdp-sxs190816002 + updateErrorMessage: '' + updateState: Succeeded + language: + default: + name: Get + description: Get a session host. + cli: + cliKey: Get + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_262 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_263 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: hostPoolName + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_264 + schema: *ref_235 + implementation: Method + required: true + language: + default: + name: sessionHostName + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + cliKey: sessionHostName + protocol: + http: + in: path + - &ref_265 + schema: *ref_222 + implementation: Method + language: + default: + name: force + description: Force flag to force sessionHost deletion even when userSession exists. + serializedName: force + cli: + cliKey: force + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}' + method: delete + uri: '{$host}' + signatureParameters: + - *ref_262 + - *ref_263 + - *ref_264 + - *ref_265 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '204' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + SessionHost_Delete: + parameters: + api-version: 2019-12-10-preview + force: true + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + name: sessionHost1.microsoft.com + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com + properties: + agentVersion: 1.0.0.1391 + allowNewSession: true + assignedUser: user1@microsoft.com + lastHeartBeat: '2008-09-22T14:01:54.9571247Z' + lastUpdateTime: '2008-09-22T14:01:54.9571247Z' + osVersion: 10.0.17763 + sessions: 1 + status: Available + statusTimestamp: '2008-09-22T14:01:54.9571247Z' + sxSStackVersion: rdp-sxs190816002 + updateErrorMessage: '' + updateState: Succeeded + '204': {} + language: + default: + name: Delete + description: Remove a SessionHost. + cli: + cliKey: Delete + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_267 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_268 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: hostPoolName + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_269 + schema: *ref_235 + implementation: Method + required: true + language: + default: + name: sessionHostName + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + cliKey: sessionHostName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_155 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content-type + description: Body Parameter content-type + serializedName: Content-Type + cli: + cliKey: content-type + protocol: + http: + in: header + - &ref_266 + schema: *ref_90 + implementation: Method + required: false + extensions: + x-ms-client-flatten: true + language: + default: + name: sessionHost + description: Object containing SessionHost definitions. + cli: + cliKey: sessionHost + protocol: + http: + in: body + style: json + signatureParameters: + - *ref_266 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}' + method: patch + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_267 + - *ref_268 + - *ref_269 + responses: + - schema: *ref_89 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + SessionHost_Update: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHost: + properties: + allowNewSession: true + assignedUser: user1@microsoft.com + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: sessionHost1.microsoft.com + type: Microsoft.DesktopVirtualization/hostPools/sessionhosts + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com + properties: + agentVersion: 1.0.0.1391 + allowNewSession: true + assignedUser: user1@microsoft.com + lastHeartBeat: '2019-01-11T19:27:13.6108027Z' + lastUpdateTime: '2008-09-22T14:01:54.9571247Z' + osVersion: 10.0.17763 + sessions: 1 + status: Available + statusTimestamp: '2019-01-24T20:00:08.2893033Z' + sxSStackVersion: rdp-sxs190816002 + updateErrorMessage: '' + updateState: Succeeded + language: + default: + name: Update + description: Update a session host. + cli: + cliKey: Update + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_270 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_271 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: hostPoolName + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts' + method: get + uri: '{$host}' + signatureParameters: + - *ref_270 + - *ref_271 + responses: + - schema: *ref_272 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + SessionHost_List: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: sessionHost1.microsoft.com + type: Microsoft.DesktopVirtualization/hostPools/sessionhosts + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com + properties: + agentVersion: 1.0.0.1391 + allowNewSession: true + assignedUser: user1@microsoft.com + lastHeartBeat: '2008-09-22T14:01:54.9571247Z' + lastUpdateTime: '2008-09-22T14:01:54.9571247Z' + osVersion: 10.0.17763 + sessions: 1 + status: Available + statusTimestamp: '2008-09-22T14:01:54.9571247Z' + sxSStackVersion: rdp-sxs190816002 + updateErrorMessage: '' + updateState: Succeeded + - name: sessionHost2.microsoft.com + type: Microsoft.DesktopVirtualization/hostPools/sessionhosts + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost2microsoft.com + properties: + agentVersion: 1.0.0.1391 + allowNewSession: true + assignedUser: user2@microsoft.com + lastHeartBeat: '2008-09-22T14:01:54.9571247Z' + lastUpdateTime: '2008-09-22T14:01:54.9571247Z' + osVersion: 10.0.17763 + sessions: 1 + status: Available + statusTimestamp: '2008-09-22T14:01:54.9571247Z' + sxSStackVersion: rdp-sxs190816002 + updateErrorMessage: '' + updateState: Succeeded + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: List + description: List sessionHosts. + paging: + nextLinkName: nextLink + cli: + cliKey: List + protocol: {} + language: + default: + name: SessionHosts + description: '' + cli: + cliKey: SessionHosts + protocol: {} + - $key: ActiveApplications + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_146 + - *ref_147 + - *ref_149 + - &ref_273 + schema: *ref_150 + implementation: Method + required: true + language: + default: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_274 + schema: *ref_151 + implementation: Method + required: true + language: + default: + name: hostPoolName + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_275 + schema: *ref_235 + implementation: Method + required: true + language: + default: + name: sessionHostName + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + cliKey: sessionHostName + protocol: + http: + in: path + - &ref_276 + schema: *ref_167 + implementation: Method + language: + default: + name: $filter + description: OData filter expression. Valid properties for filtering are userprincipalname and sessionstate. + serializedName: $filter + cli: + cliKey: $filter + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/activeApplications' + method: get + uri: '{$host}' + signatureParameters: + - *ref_273 + - *ref_274 + - *ref_275 + - *ref_276 + responses: + - schema: *ref_205 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_154 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ActiveApplications_List: + parameters: + $filter: userPrincipalName eq 'user1@microsoft.com' + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: applicationGroup1/application1 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + - name: applicationGroup1/application2 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application2 + properties: + description: des2 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: ListBySessionHost + description: List applications for the given session host. + paging: + nextLinkName: nextLink + cli: + cliKey: ListBySessionHost + protocol: {} + language: + default: + name: ActiveApplications + description: '' + cli: + cliKey: ActiveApplications + protocol: {} +language: + default: + name: '' + description: '' +protocol: + http: {} diff --git a/src/desktopvirtualization/_az_debug/clicommon-000070-modifier-pre-simplified.yaml b/src/desktopvirtualization/_az_debug/clicommon-000070-modifier-pre-simplified.yaml new file mode 100644 index 00000000000..f35888d5336 --- /dev/null +++ b/src/desktopvirtualization/_az_debug/clicommon-000070-modifier-pre-simplified.yaml @@ -0,0 +1,1994 @@ +operationGroups: + all: + - operationGroupName: operations + cli: + cliKey: Operations + operations: + - operationName: list + cli: + cliKey: List + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + - operationGroupName: workspaces + cli: + cliKey: Workspaces + operations: + - operationName: get + cli: + cliKey: Get + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscription_id(string^string) + cli: + cliKey: subscriptionId + - parameterName: resource_group_name(string^string) + cli: + cliKey: resourceGroupName + - parameterName: workspace_name(string^string) + cli: + cliKey: workspaceName + - operationName: create_or_update + cli: + cliKey: CreateOrUpdate + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscription_id(string^string) + cli: + cliKey: subscriptionId + - parameterName: resource_group_name(string^string) + cli: + cliKey: resourceGroupName + - parameterName: workspace_name(string^string) + cli: + cliKey: workspaceName + - parameterName[0]: content_type(application_json^constant) + cli: + cliKey: content-type + - parameterName[0]: _workspace(workspace^object) + cli: + cliKey: workspace + x-ms-client-flatten: true + bodySchema: workspace + - parameterName[0]: tags(tracked_resource_tags^dictionary) + cli: + cliKey: tags + - parameterName[0]: location(tracked_resource_location^string) + cli: + cliKey: location + - parameterName[0]: description(workspace_properties_description^string) + cli: + cliKey: description + - parameterName[0]: friendly_name(workspace_properties_friendly_name^string) + cli: + cliKey: friendlyName + - parameterName[0]: application_group_references(workspace_properties_application_group_references^array) + cli: + cliKey: applicationGroupReferences + - operationName: delete + cli: + cliKey: Delete + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscription_id(string^string) + cli: + cliKey: subscriptionId + - parameterName: resource_group_name(string^string) + cli: + cliKey: resourceGroupName + - parameterName: workspace_name(string^string) + cli: + cliKey: workspaceName + - operationName: update + cli: + cliKey: Update + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscription_id(string^string) + cli: + cliKey: subscriptionId + - parameterName: resource_group_name(string^string) + cli: + cliKey: resourceGroupName + - parameterName: workspace_name(string^string) + cli: + cliKey: workspaceName + - parameterName[0]: content_type(application_json^constant) + cli: + cliKey: content-type + - parameterName[0]: _workspace(workspace_patch^object) + cli: + cliKey: workspace + x-ms-client-flatten: true + bodySchema: workspace_patch + - parameterName[0]: tags(any^any) + cli: + cliKey: tags + - parameterName[0]: description(workspace_patch_properties_description^string) + cli: + cliKey: description + - parameterName[0]: friendly_name(workspace_patch_properties_friendly_name^string) + cli: + cliKey: friendlyName + - parameterName[0]: application_group_references(workspace_patch_properties_application_group_references^array) + cli: + cliKey: applicationGroupReferences + - operationName: list_by_resource_group + cli: + cliKey: ListByResourceGroup + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscription_id(string^string) + cli: + cliKey: subscriptionId + - parameterName: resource_group_name(string^string) + cli: + cliKey: resourceGroupName + - operationName: list_by_subscription + cli: + cliKey: ListBySubscription + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscription_id(string^string) + cli: + cliKey: subscriptionId + - operationGroupName: application_group_assignments + cli: + cliKey: ApplicationGroupAssignments + operations: + - operationName: workspace_level_list + cli: + cliKey: WorkspaceLevelList + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscription_id(string^string) + cli: + cliKey: subscriptionId + - parameterName: resource_group_name(string^string) + cli: + cliKey: resourceGroupName + - parameterName: workspace_name(string^string) + cli: + cliKey: workspaceName + - parameterName: filter(string^string) + cli: + cliKey: $filter + - operationGroupName: application_groups + cli: + cliKey: ApplicationGroups + operations: + - operationName: get + cli: + cliKey: Get + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscription_id(string^string) + cli: + cliKey: subscriptionId + - parameterName: resource_group_name(string^string) + cli: + cliKey: resourceGroupName + - parameterName: application_group_name(string^string) + cli: + cliKey: applicationGroupName + - operationName: create_or_update + cli: + cliKey: CreateOrUpdate + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscription_id(string^string) + cli: + cliKey: subscriptionId + - parameterName: resource_group_name(string^string) + cli: + cliKey: resourceGroupName + - parameterName: application_group_name(string^string) + cli: + cliKey: applicationGroupName + - parameterName[0]: content_type(application_json^constant) + cli: + cliKey: content-type + - parameterName[0]: _application_group(application_group^object) + cli: + cliKey: applicationGroup + x-ms-client-flatten: true + bodySchema: application_group + - parameterName[0]: tags(tracked_resource_tags^dictionary) + cli: + cliKey: tags + - parameterName[0]: location(tracked_resource_location^string) + cli: + cliKey: location + - parameterName[0]: description(application_group_properties_description^string) + cli: + cliKey: description + - parameterName[0]: friendly_name(application_group_properties_friendly_name^string) + cli: + cliKey: friendlyName + - parameterName[0]: host_pool_arm_path(application_group_properties_host_pool_arm_path^string) + cli: + cliKey: hostPoolArmPath + - parameterName[0]: application_group_type(application_group_type^choice) + cli: + cliKey: applicationGroupType + - operationName: delete + cli: + cliKey: Delete + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscription_id(string^string) + cli: + cliKey: subscriptionId + - parameterName: resource_group_name(string^string) + cli: + cliKey: resourceGroupName + - parameterName: application_group_name(string^string) + cli: + cliKey: applicationGroupName + - operationName: update + cli: + cliKey: Update + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscription_id(string^string) + cli: + cliKey: subscriptionId + - parameterName: resource_group_name(string^string) + cli: + cliKey: resourceGroupName + - parameterName: application_group_name(string^string) + cli: + cliKey: applicationGroupName + - parameterName[0]: content_type(application_json^constant) + cli: + cliKey: content-type + - parameterName[0]: _application_group(application_group_patch^object) + cli: + cliKey: applicationGroup + x-ms-client-flatten: true + bodySchema: application_group_patch + - parameterName[0]: tags(any^any) + cli: + cliKey: tags + - parameterName[0]: description(application_group_patch_properties_description^string) + cli: + cliKey: description + - parameterName[0]: friendly_name(application_group_patch_properties_friendly_name^string) + cli: + cliKey: friendlyName + - operationName: list_by_resource_group + cli: + cliKey: ListByResourceGroup + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscription_id(string^string) + cli: + cliKey: subscriptionId + - parameterName: resource_group_name(string^string) + cli: + cliKey: resourceGroupName + - parameterName: filter(string^string) + cli: + cliKey: $filter + - operationName: list_by_subscription + cli: + cliKey: ListBySubscription + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscription_id(string^string) + cli: + cliKey: subscriptionId + - parameterName: filter(string^string) + cli: + cliKey: $filter + - operationGroupName: start_menu_items + cli: + cliKey: StartMenuItems + operations: + - operationName: list + cli: + cliKey: List + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscription_id(string^string) + cli: + cliKey: subscriptionId + - parameterName: resource_group_name(string^string) + cli: + cliKey: resourceGroupName + - parameterName: application_group_name(string^string) + cli: + cliKey: applicationGroupName + - operationGroupName: applications + cli: + cliKey: Applications + operations: + - operationName: get + cli: + cliKey: Get + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscription_id(string^string) + cli: + cliKey: subscriptionId + - parameterName: resource_group_name(string^string) + cli: + cliKey: resourceGroupName + - parameterName: application_group_name(string^string) + cli: + cliKey: applicationGroupName + - parameterName: application_name(string^string) + cli: + cliKey: applicationName + - operationName: create_or_update + cli: + cliKey: CreateOrUpdate + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscription_id(string^string) + cli: + cliKey: subscriptionId + - parameterName: resource_group_name(string^string) + cli: + cliKey: resourceGroupName + - parameterName: application_group_name(string^string) + cli: + cliKey: applicationGroupName + - parameterName: application_name(string^string) + cli: + cliKey: applicationName + - parameterName[0]: content_type(application_json^constant) + cli: + cliKey: content-type + - parameterName[0]: _application(application^object) + cli: + cliKey: application + x-ms-client-flatten: true + bodySchema: application + - parameterName[0]: description(application_properties_description^string) + cli: + cliKey: description + - parameterName[0]: friendly_name(application_properties_friendly_name^string) + cli: + cliKey: friendlyName + - parameterName[0]: file_path(application_properties_file_path^string) + cli: + cliKey: filePath + - parameterName[0]: command_line_setting(command_line_setting^choice) + cli: + cliKey: commandLineSetting + - parameterName[0]: command_line_arguments(application_properties_command_line_arguments^string) + cli: + cliKey: commandLineArguments + - parameterName[0]: show_in_portal(boolean^boolean) + cli: + cliKey: showInPortal + - parameterName[0]: icon_path(application_properties_icon_path^string) + cli: + cliKey: iconPath + - parameterName[0]: icon_index(integer^integer) + cli: + cliKey: iconIndex + - operationName: delete + cli: + cliKey: Delete + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscription_id(string^string) + cli: + cliKey: subscriptionId + - parameterName: resource_group_name(string^string) + cli: + cliKey: resourceGroupName + - parameterName: application_group_name(string^string) + cli: + cliKey: applicationGroupName + - parameterName: application_name(string^string) + cli: + cliKey: applicationName + - operationName: update + cli: + cliKey: Update + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscription_id(string^string) + cli: + cliKey: subscriptionId + - parameterName: resource_group_name(string^string) + cli: + cliKey: resourceGroupName + - parameterName: application_group_name(string^string) + cli: + cliKey: applicationGroupName + - parameterName: application_name(string^string) + cli: + cliKey: applicationName + - parameterName[0]: content_type(application_json^constant) + cli: + cliKey: content-type + - parameterName[0]: _application(application_patch^object) + cli: + cliKey: application + x-ms-client-flatten: true + bodySchema: application_patch + - parameterName[0]: tags(any^any) + cli: + cliKey: tags + - parameterName[0]: description(application_patch_properties_description^string) + cli: + cliKey: description + - parameterName[0]: friendly_name(application_patch_properties_friendly_name^string) + cli: + cliKey: friendlyName + - parameterName[0]: file_path(application_patch_properties_file_path^string) + cli: + cliKey: filePath + - parameterName[0]: command_line_setting(command_line_setting^choice) + cli: + cliKey: commandLineSetting + - parameterName[0]: command_line_arguments(application_patch_properties_command_line_arguments^string) + cli: + cliKey: commandLineArguments + - parameterName[0]: show_in_portal(boolean^boolean) + cli: + cliKey: showInPortal + - parameterName[0]: icon_path(application_patch_properties_icon_path^string) + cli: + cliKey: iconPath + - parameterName[0]: icon_index(integer^integer) + cli: + cliKey: iconIndex + - operationName: list + cli: + cliKey: List + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscription_id(string^string) + cli: + cliKey: subscriptionId + - parameterName: resource_group_name(string^string) + cli: + cliKey: resourceGroupName + - parameterName: application_group_name(string^string) + cli: + cliKey: applicationGroupName + - operationGroupName: desktops + cli: + cliKey: Desktops + operations: + - operationName: get + cli: + cliKey: Get + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscription_id(string^string) + cli: + cliKey: subscriptionId + - parameterName: resource_group_name(string^string) + cli: + cliKey: resourceGroupName + - parameterName: application_group_name(string^string) + cli: + cliKey: applicationGroupName + - parameterName: desktop_name(string^string) + cli: + cliKey: desktopName + - operationName: update + cli: + cliKey: Update + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscription_id(string^string) + cli: + cliKey: subscriptionId + - parameterName: resource_group_name(string^string) + cli: + cliKey: resourceGroupName + - parameterName: application_group_name(string^string) + cli: + cliKey: applicationGroupName + - parameterName: desktop_name(string^string) + cli: + cliKey: desktopName + - parameterName[0]: content_type(application_json^constant) + cli: + cliKey: content-type + - parameterName[0]: _desktop(desktop_patch^object) + cli: + cliKey: desktop + x-ms-client-flatten: true + bodySchema: desktop_patch + - parameterName[0]: tags(any^any) + cli: + cliKey: tags + - parameterName[0]: description(desktop_patch_properties_description^string) + cli: + cliKey: description + - parameterName[0]: friendly_name(desktop_patch_properties_friendly_name^string) + cli: + cliKey: friendlyName + - operationName: list + cli: + cliKey: List + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscription_id(string^string) + cli: + cliKey: subscriptionId + - parameterName: resource_group_name(string^string) + cli: + cliKey: resourceGroupName + - parameterName: application_group_name(string^string) + cli: + cliKey: applicationGroupName + - operationGroupName: host_pools + cli: + cliKey: HostPools + operations: + - operationName: get + cli: + cliKey: Get + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscription_id(string^string) + cli: + cliKey: subscriptionId + - parameterName: resource_group_name(string^string) + cli: + cliKey: resourceGroupName + - parameterName: host_pool_name(string^string) + cli: + cliKey: hostPoolName + - operationName: create_or_update + cli: + cliKey: CreateOrUpdate + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscription_id(string^string) + cli: + cliKey: subscriptionId + - parameterName: resource_group_name(string^string) + cli: + cliKey: resourceGroupName + - parameterName: host_pool_name(string^string) + cli: + cliKey: hostPoolName + - parameterName[0]: content_type(application_json^constant) + cli: + cliKey: content-type + - parameterName[0]: _host_pool(host_pool^object) + cli: + cliKey: hostPool + x-ms-client-flatten: true + bodySchema: host_pool + - parameterName[0]: tags(tracked_resource_tags^dictionary) + cli: + cliKey: tags + - parameterName[0]: location(tracked_resource_location^string) + cli: + cliKey: location + - parameterName[0]: friendly_name(host_pool_properties_friendly_name^string) + cli: + cliKey: friendlyName + - parameterName[0]: description(host_pool_properties_description^string) + cli: + cliKey: description + - parameterName[0]: host_pool_type(host_pool_type^choice) + cli: + cliKey: hostPoolType + - parameterName[0]: personal_desktop_assignment_type(personal_desktop_assignment_type^choice) + cli: + cliKey: personalDesktopAssignmentType + - parameterName[0]: custom_rdp_property(host_pool_properties_custom_rdp_property^string) + cli: + cliKey: customRdpProperty + - parameterName[0]: max_session_limit(integer^integer) + cli: + cliKey: maxSessionLimit + - parameterName[0]: load_balancer_type(load_balancer_type^choice) + cli: + cliKey: loadBalancerType + - parameterName[0]: ring(integer^integer) + cli: + cliKey: ring + - parameterName[0]: validation_environment(boolean^boolean) + cli: + cliKey: validationEnvironment + - parameterName[0]: registration_info(registration_info^object) + cli: + cliKey: registrationInfo + - parameterName[0]: vm_template(host_pool_properties_vm_template^string) + cli: + cliKey: vmTemplate + - parameterName[0]: sso_context(host_pool_properties_sso_context^string) + cli: + cliKey: ssoContext + - operationName: delete + cli: + cliKey: Delete + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscription_id(string^string) + cli: + cliKey: subscriptionId + - parameterName: resource_group_name(string^string) + cli: + cliKey: resourceGroupName + - parameterName: host_pool_name(string^string) + cli: + cliKey: hostPoolName + - parameterName: force(boolean^boolean) + cli: + cliKey: force + - operationName: update + cli: + cliKey: Update + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscription_id(string^string) + cli: + cliKey: subscriptionId + - parameterName: resource_group_name(string^string) + cli: + cliKey: resourceGroupName + - parameterName: host_pool_name(string^string) + cli: + cliKey: hostPoolName + - parameterName[0]: content_type(application_json^constant) + cli: + cliKey: content-type + - parameterName[0]: _host_pool(host_pool_patch^object) + cli: + cliKey: hostPool + x-ms-client-flatten: true + bodySchema: host_pool_patch + - parameterName[0]: tags(any^any) + cli: + cliKey: tags + - parameterName[0]: friendly_name(host_pool_patch_properties_friendly_name^string) + cli: + cliKey: friendlyName + - parameterName[0]: description(host_pool_patch_properties_description^string) + cli: + cliKey: description + - parameterName[0]: custom_rdp_property(host_pool_patch_properties_custom_rdp_property^string) + cli: + cliKey: customRdpProperty + - parameterName[0]: max_session_limit(integer^integer) + cli: + cliKey: maxSessionLimit + - parameterName[0]: personal_desktop_assignment_type(personal_desktop_assignment_type^choice) + cli: + cliKey: personalDesktopAssignmentType + - parameterName[0]: load_balancer_type(load_balancer_type^choice) + cli: + cliKey: loadBalancerType + - parameterName[0]: ring(integer^integer) + cli: + cliKey: ring + - parameterName[0]: validation_environment(boolean^boolean) + cli: + cliKey: validationEnvironment + - parameterName[0]: registration_info(registration_info_patch^object) + cli: + cliKey: registrationInfo + - parameterName[0]: sso_context(host_pool_patch_properties_sso_context^string) + cli: + cliKey: ssoContext + - operationName: list_by_resource_group + cli: + cliKey: ListByResourceGroup + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscription_id(string^string) + cli: + cliKey: subscriptionId + - parameterName: resource_group_name(string^string) + cli: + cliKey: resourceGroupName + - operationName: list + cli: + cliKey: List + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscription_id(string^string) + cli: + cliKey: subscriptionId + - operationGroupName: user_sessions + cli: + cliKey: UserSessions + operations: + - operationName: list_by_host_pool + cli: + cliKey: ListByHostPool + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscription_id(string^string) + cli: + cliKey: subscriptionId + - parameterName: resource_group_name(string^string) + cli: + cliKey: resourceGroupName + - parameterName: host_pool_name(string^string) + cli: + cliKey: hostPoolName + - parameterName: filter(string^string) + cli: + cliKey: $filter + - operationName: get + cli: + cliKey: Get + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscription_id(string^string) + cli: + cliKey: subscriptionId + - parameterName: resource_group_name(string^string) + cli: + cliKey: resourceGroupName + - parameterName: host_pool_name(string^string) + cli: + cliKey: hostPoolName + - parameterName: session_host_name(string^string) + cli: + cliKey: sessionHostName + - parameterName: user_session_id(string^string) + cli: + cliKey: userSessionId + - operationName: delete + cli: + cliKey: Delete + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscription_id(string^string) + cli: + cliKey: subscriptionId + - parameterName: resource_group_name(string^string) + cli: + cliKey: resourceGroupName + - parameterName: host_pool_name(string^string) + cli: + cliKey: hostPoolName + - parameterName: session_host_name(string^string) + cli: + cliKey: sessionHostName + - parameterName: user_session_id(string^string) + cli: + cliKey: userSessionId + - parameterName: force(boolean^boolean) + cli: + cliKey: force + - operationName: list + cli: + cliKey: List + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscription_id(string^string) + cli: + cliKey: subscriptionId + - parameterName: resource_group_name(string^string) + cli: + cliKey: resourceGroupName + - parameterName: host_pool_name(string^string) + cli: + cliKey: hostPoolName + - parameterName: session_host_name(string^string) + cli: + cliKey: sessionHostName + - operationName: disconnect + cli: + cliKey: Disconnect + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscription_id(string^string) + cli: + cliKey: subscriptionId + - parameterName: resource_group_name(string^string) + cli: + cliKey: resourceGroupName + - parameterName: host_pool_name(string^string) + cli: + cliKey: hostPoolName + - parameterName: session_host_name(string^string) + cli: + cliKey: sessionHostName + - parameterName: user_session_id(string^string) + cli: + cliKey: userSessionId + - operationName: send_message + cli: + cliKey: SendMessage + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscription_id(string^string) + cli: + cliKey: subscriptionId + - parameterName: resource_group_name(string^string) + cli: + cliKey: resourceGroupName + - parameterName: host_pool_name(string^string) + cli: + cliKey: hostPoolName + - parameterName: session_host_name(string^string) + cli: + cliKey: sessionHostName + - parameterName: user_session_id(string^string) + cli: + cliKey: userSessionId + - parameterName[0]: content_type(application_json^constant) + cli: + cliKey: content-type + - parameterName[0]: _send_message(send_message^object) + cli: + cliKey: sendMessage + x-ms-client-flatten: true + bodySchema: send_message + - parameterName[0]: message_title(send_message_title^string) + cli: + cliKey: messageTitle + - parameterName[0]: message_body(send_message_body^string) + cli: + cliKey: messageBody + - operationGroupName: session_hosts + cli: + cliKey: SessionHosts + operations: + - operationName: get + cli: + cliKey: Get + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscription_id(string^string) + cli: + cliKey: subscriptionId + - parameterName: resource_group_name(string^string) + cli: + cliKey: resourceGroupName + - parameterName: host_pool_name(string^string) + cli: + cliKey: hostPoolName + - parameterName: session_host_name(string^string) + cli: + cliKey: sessionHostName + - operationName: delete + cli: + cliKey: Delete + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscription_id(string^string) + cli: + cliKey: subscriptionId + - parameterName: resource_group_name(string^string) + cli: + cliKey: resourceGroupName + - parameterName: host_pool_name(string^string) + cli: + cliKey: hostPoolName + - parameterName: session_host_name(string^string) + cli: + cliKey: sessionHostName + - parameterName: force(boolean^boolean) + cli: + cliKey: force + - operationName: update + cli: + cliKey: Update + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscription_id(string^string) + cli: + cliKey: subscriptionId + - parameterName: resource_group_name(string^string) + cli: + cliKey: resourceGroupName + - parameterName: host_pool_name(string^string) + cli: + cliKey: hostPoolName + - parameterName: session_host_name(string^string) + cli: + cliKey: sessionHostName + - parameterName[0]: content_type(application_json^constant) + cli: + cliKey: content-type + - parameterName[0]: _session_host(session_host_patch^object) + cli: + cliKey: sessionHost + x-ms-client-flatten: true + bodySchema: session_host_patch + - parameterName[0]: allow_new_session(boolean^boolean) + cli: + cliKey: allowNewSession + - parameterName[0]: assigned_user(session_host_patch_properties_assigned_user^string) + cli: + cliKey: assignedUser + - operationName: list + cli: + cliKey: List + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscription_id(string^string) + cli: + cliKey: subscriptionId + - parameterName: resource_group_name(string^string) + cli: + cliKey: resourceGroupName + - parameterName: host_pool_name(string^string) + cli: + cliKey: hostPoolName + - operationGroupName: active_applications + cli: + cliKey: ActiveApplications + operations: + - operationName: list_by_session_host + cli: + cliKey: ListBySessionHost + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscription_id(string^string) + cli: + cliKey: subscriptionId + - parameterName: resource_group_name(string^string) + cli: + cliKey: resourceGroupName + - parameterName: host_pool_name(string^string) + cli: + cliKey: hostPoolName + - parameterName: session_host_name(string^string) + cli: + cliKey: sessionHostName + - parameterName: filter(string^string) + cli: + cliKey: $filter +schemas: + objects: + all: + - schemaName: resource_provider_operation_list + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ResourceProviderOperationList + properties: + - propertyName: value(resource_provider_operation_list_value^array) + cli: + cliKey: value + - schemaName: resource_provider_operation + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 5 + propertyCountIfSimplifyWithoutSimpleObject: 2 + simplifiable: true + cliKey: ResourceProviderOperation + properties: + - propertyName: name(resource_provider_operation_name^string) + cli: + cliKey: name + - propertyName: display(resource_provider_operation_display^object) + cli: + cliKey: display + - schemaName: resource_provider_operation_display + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 4 + propertyCountIfSimplifyWithoutSimpleObject: 4 + simplifiable: true + cliKey: ResourceProviderOperation-display + properties: + - propertyName: provider(resource_provider_operation_display_provider^string) + cli: + cliKey: provider + - propertyName: resource(resource_provider_operation_display_resource^string) + cli: + cliKey: resource + - propertyName: operation(resource_provider_operation_display_operation^string) + cli: + cliKey: operation + - propertyName: description(resource_provider_operation_display_description^string) + cli: + cliKey: description + - schemaName: resource + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 0 + propertyCountIfSimplifyWithoutSimpleObject: 0 + simplifiable: true + cliKey: Resource + properties: + - propertyName: id(resource_id^string) + cli: + cliKey: id + readOnly: true + - propertyName: name(resource_name^string) + cli: + cliKey: name + readOnly: true + - propertyName: type(resource_type^string) + cli: + cliKey: type + readOnly: true + - schemaName: tracked_resource + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: TrackedResource + properties: + - propertyName: tags(tracked_resource_tags^dictionary) + cli: + cliKey: tags + - propertyName: location(tracked_resource_location^string) + cli: + cliKey: location + - schemaName: workspace + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: Workspace + properties: + - propertyName: description(workspace_properties_description^string) + cli: + cliKey: description + - propertyName: friendly_name(workspace_properties_friendly_name^string) + cli: + cliKey: friendlyName + - propertyName: application_group_references(workspace_properties_application_group_references^array) + cli: + cliKey: applicationGroupReferences + - schemaName: cloud_error + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 2 + simplifiable: true + cliKey: CloudError + properties: + - propertyName: code(cloud_error_code^string) + cli: + cliKey: code + - propertyName: message(cloud_error_message^string) + cli: + cliKey: message + - schemaName: workspace_patch + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: WorkspacePatch + properties: + - propertyName: tags(any^any) + cli: + cliKey: tags + - propertyName: description(workspace_patch_properties_description^string) + cli: + cliKey: description + - propertyName: friendly_name(workspace_patch_properties_friendly_name^string) + cli: + cliKey: friendlyName + - propertyName: application_group_references(workspace_patch_properties_application_group_references^array) + cli: + cliKey: applicationGroupReferences + - schemaName: workspace_list + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: WorkspaceList + properties: + - propertyName: value(workspace_list_value^array) + cli: + cliKey: value + - propertyName: next_link(workspace_list_next_link^string) + cli: + cliKey: nextLink + readOnly: true + - schemaName: application_group_list + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ApplicationGroupList + properties: + - propertyName: value(application_group_list_value^array) + cli: + cliKey: value + - propertyName: next_link(application_group_list_next_link^string) + cli: + cliKey: nextLink + readOnly: true + - schemaName: application_group + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ApplicationGroup + properties: + - propertyName: description(application_group_properties_description^string) + cli: + cliKey: description + - propertyName: friendly_name(application_group_properties_friendly_name^string) + cli: + cliKey: friendlyName + - propertyName: host_pool_arm_path(application_group_properties_host_pool_arm_path^string) + cli: + cliKey: hostPoolArmPath + - propertyName: workspace_arm_path(application_group_properties_workspace_arm_path^string) + cli: + cliKey: workspaceArmPath + readOnly: true + - propertyName: application_group_type(application_group_type^choice) + cli: + cliKey: applicationGroupType + - schemaName: application_group_patch + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ApplicationGroupPatch + properties: + - propertyName: tags(any^any) + cli: + cliKey: tags + - propertyName: description(application_group_patch_properties_description^string) + cli: + cliKey: description + - propertyName: friendly_name(application_group_patch_properties_friendly_name^string) + cli: + cliKey: friendlyName + - schemaName: start_menu_item_list + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: StartMenuItemList + properties: + - propertyName: value(start_menu_item_list_value^array) + cli: + cliKey: value + - propertyName: next_link(start_menu_item_list_next_link^string) + cli: + cliKey: nextLink + readOnly: true + - schemaName: start_menu_item + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 6 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: StartMenuItem + properties: + - propertyName: app_alias(start_menu_item_properties_app_alias^string) + cli: + cliKey: appAlias + - propertyName: friendly_name(start_menu_item_properties_friendly_name^string) + cli: + cliKey: friendlyName + - propertyName: file_path(start_menu_item_properties_file_path^string) + cli: + cliKey: filePath + - propertyName: command_line_arguments(start_menu_item_properties_command_line_arguments^string) + cli: + cliKey: commandLineArguments + - propertyName: icon_path(start_menu_item_properties_icon_path^string) + cli: + cliKey: iconPath + - propertyName: icon_index(integer^integer) + cli: + cliKey: iconIndex + - schemaName: application + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 8 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: Application + properties: + - propertyName: description(application_properties_description^string) + cli: + cliKey: description + - propertyName: friendly_name(application_properties_friendly_name^string) + cli: + cliKey: friendlyName + - propertyName: file_path(application_properties_file_path^string) + cli: + cliKey: filePath + - propertyName: command_line_setting(command_line_setting^choice) + cli: + cliKey: commandLineSetting + - propertyName: command_line_arguments(application_properties_command_line_arguments^string) + cli: + cliKey: commandLineArguments + - propertyName: show_in_portal(boolean^boolean) + cli: + cliKey: showInPortal + - propertyName: icon_path(application_properties_icon_path^string) + cli: + cliKey: iconPath + - propertyName: icon_index(integer^integer) + cli: + cliKey: iconIndex + - propertyName: icon_hash(application_properties_icon_hash^string) + cli: + cliKey: iconHash + readOnly: true + - propertyName: icon_content(application_properties_icon_content^byte-array) + cli: + cliKey: iconContent + readOnly: true + - schemaName: application_patch + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ApplicationPatch + properties: + - propertyName: tags(any^any) + cli: + cliKey: tags + - propertyName: description(application_patch_properties_description^string) + cli: + cliKey: description + - propertyName: friendly_name(application_patch_properties_friendly_name^string) + cli: + cliKey: friendlyName + - propertyName: file_path(application_patch_properties_file_path^string) + cli: + cliKey: filePath + - propertyName: command_line_setting(command_line_setting^choice) + cli: + cliKey: commandLineSetting + - propertyName: command_line_arguments(application_patch_properties_command_line_arguments^string) + cli: + cliKey: commandLineArguments + - propertyName: show_in_portal(boolean^boolean) + cli: + cliKey: showInPortal + - propertyName: icon_path(application_patch_properties_icon_path^string) + cli: + cliKey: iconPath + - propertyName: icon_index(integer^integer) + cli: + cliKey: iconIndex + - schemaName: application_list + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ApplicationList + properties: + - propertyName: value(application_list_value^array) + cli: + cliKey: value + - propertyName: next_link(application_list_next_link^string) + cli: + cliKey: nextLink + readOnly: true + - schemaName: desktop + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: Desktop + properties: + - propertyName: description(desktop_properties_description^string) + cli: + cliKey: description + - propertyName: friendly_name(desktop_properties_friendly_name^string) + cli: + cliKey: friendlyName + - propertyName: icon_hash(desktop_properties_icon_hash^string) + cli: + cliKey: iconHash + readOnly: true + - propertyName: icon_content(desktop_properties_icon_content^byte-array) + cli: + cliKey: iconContent + readOnly: true + - schemaName: desktop_patch + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: DesktopPatch + properties: + - propertyName: tags(any^any) + cli: + cliKey: tags + - propertyName: description(desktop_patch_properties_description^string) + cli: + cliKey: description + - propertyName: friendly_name(desktop_patch_properties_friendly_name^string) + cli: + cliKey: friendlyName + - schemaName: desktop_list + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: DesktopList + properties: + - propertyName: value(desktop_list_value^array) + cli: + cliKey: value + - propertyName: next_link(desktop_list_next_link^string) + cli: + cliKey: nextLink + readOnly: true + - schemaName: host_pool + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: HostPool + properties: + - propertyName: friendly_name(host_pool_properties_friendly_name^string) + cli: + cliKey: friendlyName + - propertyName: description(host_pool_properties_description^string) + cli: + cliKey: description + - propertyName: host_pool_type(host_pool_type^choice) + cli: + cliKey: hostPoolType + - propertyName: personal_desktop_assignment_type(personal_desktop_assignment_type^choice) + cli: + cliKey: personalDesktopAssignmentType + - propertyName: custom_rdp_property(host_pool_properties_custom_rdp_property^string) + cli: + cliKey: customRdpProperty + - propertyName: max_session_limit(integer^integer) + cli: + cliKey: maxSessionLimit + - propertyName: load_balancer_type(load_balancer_type^choice) + cli: + cliKey: loadBalancerType + - propertyName: ring(integer^integer) + cli: + cliKey: ring + - propertyName: validation_environment(boolean^boolean) + cli: + cliKey: validationEnvironment + - propertyName: registration_info(registration_info^object) + cli: + cliKey: registrationInfo + - propertyName: vm_template(host_pool_properties_vm_template^string) + cli: + cliKey: vmTemplate + - propertyName: application_group_references(host_pool_properties_application_group_references^array) + cli: + cliKey: applicationGroupReferences + readOnly: true + - propertyName: sso_context(host_pool_properties_sso_context^string) + cli: + cliKey: ssoContext + - schemaName: registration_info + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 3 + propertyCountIfSimplifyWithoutSimpleObject: 3 + simplifiable: true + cliKey: RegistrationInfo + properties: + - propertyName: expiration_time(registration_info_expiration_time^date-time) + cli: + cliKey: expirationTime + - propertyName: token(registration_info_token^string) + cli: + cliKey: token + - propertyName: registration_token_operation(registration_token_operation^choice) + cli: + cliKey: registrationTokenOperation + - schemaName: host_pool_patch + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: HostPoolPatch + properties: + - propertyName: tags(any^any) + cli: + cliKey: tags + - propertyName: friendly_name(host_pool_patch_properties_friendly_name^string) + cli: + cliKey: friendlyName + - propertyName: description(host_pool_patch_properties_description^string) + cli: + cliKey: description + - propertyName: custom_rdp_property(host_pool_patch_properties_custom_rdp_property^string) + cli: + cliKey: customRdpProperty + - propertyName: max_session_limit(integer^integer) + cli: + cliKey: maxSessionLimit + - propertyName: personal_desktop_assignment_type(personal_desktop_assignment_type^choice) + cli: + cliKey: personalDesktopAssignmentType + - propertyName: load_balancer_type(load_balancer_type^choice) + cli: + cliKey: loadBalancerType + - propertyName: ring(integer^integer) + cli: + cliKey: ring + - propertyName: validation_environment(boolean^boolean) + cli: + cliKey: validationEnvironment + - propertyName: registration_info(registration_info_patch^object) + cli: + cliKey: registrationInfo + - propertyName: sso_context(host_pool_patch_properties_sso_context^string) + cli: + cliKey: ssoContext + - schemaName: registration_info_patch + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 1 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: RegistrationInfoPatch + properties: + - propertyName: registration_token_operation(registration_token_operation^choice) + cli: + cliKey: registrationTokenOperation + - schemaName: host_pool_list + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: HostPoolList + properties: + - propertyName: value(host_pool_list_value^array) + cli: + cliKey: value + - propertyName: next_link(host_pool_list_next_link^string) + cli: + cliKey: nextLink + readOnly: true + - schemaName: user_session_list + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: UserSessionList + properties: + - propertyName: value(user_session_list_value^array) + cli: + cliKey: value + - propertyName: next_link(user_session_list_next_link^string) + cli: + cliKey: nextLink + readOnly: true + - schemaName: user_session + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 5 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: UserSession + properties: + - propertyName: user_principal_name(user_session_properties_user_principal_name^string) + cli: + cliKey: userPrincipalName + - propertyName: application_type(application_type^choice) + cli: + cliKey: applicationType + - propertyName: session_state(session_state^choice) + cli: + cliKey: sessionState + - propertyName: active_directory_user_name(user_session_properties_active_directory_user_name^string) + cli: + cliKey: activeDirectoryUserName + - propertyName: create_time(user_session_properties_create_time^date-time) + cli: + cliKey: createTime + - schemaName: session_host + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: SessionHost + properties: + - propertyName: last_heart_beat(session_host_properties_last_heart_beat^date-time) + cli: + cliKey: lastHeartBeat + - propertyName: sessions(integer^integer) + cli: + cliKey: sessions + - propertyName: agent_version(session_host_properties_agent_version^string) + cli: + cliKey: agentVersion + - propertyName: allow_new_session(boolean^boolean) + cli: + cliKey: allowNewSession + - propertyName: assigned_user(session_host_properties_assigned_user^string) + cli: + cliKey: assignedUser + - propertyName: status(status^choice) + cli: + cliKey: status + - propertyName: status_timestamp(session_host_properties_status_timestamp^date-time) + cli: + cliKey: statusTimestamp + readOnly: true + - propertyName: os_version(session_host_properties_os_version^string) + cli: + cliKey: osVersion + - propertyName: sx_s_stack_version(session_host_properties_sx_s_stack_version^string) + cli: + cliKey: sxSStackVersion + - propertyName: update_state(update_state^choice) + cli: + cliKey: updateState + - propertyName: last_update_time(session_host_properties_last_update_time^date-time) + cli: + cliKey: lastUpdateTime + readOnly: true + - propertyName: update_error_message(session_host_properties_update_error_message^string) + cli: + cliKey: updateErrorMessage + - schemaName: session_host_patch + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: SessionHostPatch + properties: + - propertyName: allow_new_session(boolean^boolean) + cli: + cliKey: allowNewSession + - propertyName: assigned_user(session_host_patch_properties_assigned_user^string) + cli: + cliKey: assignedUser + - schemaName: session_host_list + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: SessionHostList + properties: + - propertyName: value(session_host_list_value^array) + cli: + cliKey: value + - propertyName: next_link(session_host_list_next_link^string) + cli: + cliKey: nextLink + readOnly: true + - schemaName: send_message + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 2 + simplifiable: true + cliKey: SendMessage + properties: + - propertyName: message_title(send_message_title^string) + cli: + cliKey: messageTitle + - propertyName: message_body(send_message_body^string) + cli: + cliKey: messageBody + choices: + all: + - choiceName: application_group_type + cli: + cliKey: ApplicationGroupType + choiceValues: + - choiceValue: remote_app + cli: + cliKey: RemoteApp + - choiceValue: desktop + cli: + cliKey: Desktop + - choiceName: command_line_setting + cli: + cliKey: CommandLineSetting + choiceValues: + - choiceValue: do_not_allow + cli: + cliKey: DoNotAllow + - choiceValue: allow + cli: + cliKey: Allow + - choiceValue: require + cli: + cliKey: Require + - choiceName: host_pool_type + cli: + cliKey: HostPoolType + choiceValues: + - choiceValue: personal + cli: + cliKey: Personal + - choiceValue: pooled + cli: + cliKey: Pooled + - choiceName: personal_desktop_assignment_type + cli: + cliKey: PersonalDesktopAssignmentType + choiceValues: + - choiceValue: automatic + cli: + cliKey: Automatic + - choiceValue: direct + cli: + cliKey: Direct + - choiceName: load_balancer_type + cli: + cliKey: LoadBalancerType + choiceValues: + - choiceValue: breadth_first + cli: + cliKey: BreadthFirst + - choiceValue: depth_first + cli: + cliKey: DepthFirst + - choiceValue: persistent + cli: + cliKey: Persistent + - choiceName: registration_token_operation + cli: + cliKey: RegistrationTokenOperation + choiceValues: + - choiceValue: delete + cli: + cliKey: Delete + - choiceValue: none + cli: + cliKey: None + - choiceValue: update + cli: + cliKey: Update + - choiceName: application_type + cli: + cliKey: ApplicationType + choiceValues: + - choiceValue: remote_app + cli: + cliKey: RemoteApp + - choiceValue: desktop + cli: + cliKey: Desktop + - choiceName: session_state + cli: + cliKey: SessionState + choiceValues: + - choiceValue: unknown + cli: + cliKey: Unknown + - choiceValue: active + cli: + cliKey: Active + - choiceValue: disconnected + cli: + cliKey: Disconnected + - choiceValue: pending + cli: + cliKey: Pending + - choiceValue: log_off + cli: + cliKey: LogOff + - choiceValue: user_profile_disk_mounted + cli: + cliKey: UserProfileDiskMounted + - choiceName: status + cli: + cliKey: Status + choiceValues: + - choiceValue: available + cli: + cliKey: Available + - choiceValue: unavailable + cli: + cliKey: Unavailable + - choiceValue: shutdown + cli: + cliKey: Shutdown + - choiceValue: disconnected + cli: + cliKey: Disconnected + - choiceValue: upgrading + cli: + cliKey: Upgrading + - choiceValue: upgrade_failed + cli: + cliKey: UpgradeFailed + - choiceName: update_state + cli: + cliKey: UpdateState + choiceValues: + - choiceValue: initial + cli: + cliKey: Initial + - choiceValue: pending + cli: + cliKey: Pending + - choiceValue: started + cli: + cliKey: Started + - choiceValue: succeeded + cli: + cliKey: Succeeded + - choiceValue: failed + cli: + cliKey: Failed diff --git a/src/desktopvirtualization/_az_debug/clicommon-000070-modifier-pre.yaml b/src/desktopvirtualization/_az_debug/clicommon-000070-modifier-pre.yaml new file mode 100644 index 00000000000..53a4d834586 --- /dev/null +++ b/src/desktopvirtualization/_az_debug/clicommon-000070-modifier-pre.yaml @@ -0,0 +1,10094 @@ +info: + title: Desktop Virtualization API Client + extensions: + cli-dump-index: 70 +schemas: + booleans: + - &ref_53 + type: boolean + language: + default: + name: boolean + description: Specifies whether to show the RemoteApp program in the RD Web Access server. + protocol: {} + - &ref_27 + type: boolean + language: + default: + name: boolean + description: Is validation environment. + protocol: {} + - &ref_356 + type: boolean + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: boolean + description: '' + protocol: {} + - &ref_73 + type: boolean + language: + default: + name: boolean + description: Allow a new session. + protocol: {} + numbers: + - &ref_47 + type: integer + precision: 32 + language: + default: + name: integer + description: Index of the icon. + protocol: {} + - &ref_24 + type: integer + precision: 32 + language: + default: + name: integer + description: The max session limit of HostPool. + protocol: {} + - &ref_26 + type: integer + precision: 32 + language: + default: + name: integer + description: The ring number of HostPool. + protocol: {} + - &ref_71 + type: integer + precision: 32 + language: + default: + name: integer + description: Number of sessions on SessionHost. + protocol: {} + strings: + - &ref_0 + type: string + language: + default: + name: string + description: simple string + protocol: {} + - &ref_2 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: resource_provider_operation_name + description: 'Operation name, in format of {provider}/{resource}/{operation}' + protocol: {} + - &ref_3 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: resource_provider_operation_display_provider + description: 'Resource provider: Microsoft Desktop Virtualization.' + protocol: {} + - &ref_4 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: resource_provider_operation_display_resource + description: Resource on which the operation is performed. + protocol: {} + - &ref_5 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: resource_provider_operation_display_operation + description: 'Type of operation: get, read, delete, etc.' + protocol: {} + - &ref_6 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: resource_provider_operation_display_description + description: Description of this operation. + protocol: {} + - &ref_130 + type: string + apiVersions: + - version: '1.0' + minLength: 1 + language: + default: + name: string + description: '' + protocol: {} + - &ref_136 + type: string + apiVersions: + - version: '1.0' + maxLength: 90 + minLength: 1 + pattern: '^[-\w\._\(\)]+$' + language: + default: + name: string + description: '' + protocol: {} + - &ref_137 + type: string + apiVersions: + - version: 2019-12-10-preview + maxLength: 24 + minLength: 3 + language: + default: + name: string + description: '' + protocol: {} + - &ref_91 + type: string + apiVersions: + - version: '1.0' + language: + default: + name: resource_id + description: 'Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' + protocol: {} + - &ref_92 + type: string + apiVersions: + - version: '1.0' + language: + default: + name: resource_name + description: The name of the resource + protocol: {} + - &ref_93 + type: string + apiVersions: + - version: '1.0' + language: + default: + name: resource_type + description: The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + protocol: {} + - &ref_1 + type: string + apiVersions: + - version: '1.0' + language: + default: + name: string + description: '' + protocol: {} + - &ref_38 + type: string + apiVersions: + - version: '1.0' + extensions: + x-ms-mutability: + - read + - create + language: + default: + name: tracked_resource_location + description: The geo-location where the resource lives + protocol: {} + - &ref_11 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: workspace_properties_description + description: Description of Workspace. + protocol: {} + - &ref_12 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: workspace_properties_friendly_name + description: Friendly name of Workspace. + protocol: {} + - &ref_13 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: workspace_properties_application_group_references_item + description: '' + protocol: {} + - &ref_94 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: cloud_error_code + description: Error code + protocol: {} + - &ref_95 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: cloud_error_message + description: Error message indicating why the operation failed. + protocol: {} + - &ref_96 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: workspace_patch_properties_description + description: Description of Workspace. + protocol: {} + - &ref_97 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: workspace_patch_properties_friendly_name + description: Friendly name of Workspace. + protocol: {} + - &ref_98 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: workspace_patch_properties_application_group_references_item + description: '' + protocol: {} + - &ref_99 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: workspace_list_next_link + description: Link to the next page of results. + protocol: {} + - &ref_180 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: string + description: '' + protocol: {} + - &ref_14 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: application_group_properties_description + description: Description of ApplicationGroup. + protocol: {} + - &ref_15 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: application_group_properties_friendly_name + description: Friendly name of ApplicationGroup. + protocol: {} + - &ref_16 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: application_group_properties_host_pool_arm_path + description: HostPool arm path of ApplicationGroup. + protocol: {} + - &ref_17 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: application_group_properties_workspace_arm_path + description: Workspace arm path of ApplicationGroup. + protocol: {} + - &ref_100 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: application_group_list_next_link + description: Link to the next page of results. + protocol: {} + - &ref_40 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: application_group_patch_properties_description + description: Description of ApplicationGroup. + protocol: {} + - &ref_41 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: application_group_patch_properties_friendly_name + description: Friendly name of ApplicationGroup. + protocol: {} + - &ref_42 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: start_menu_item_properties_app_alias + description: Alias of StartMenuItem. + protocol: {} + - &ref_43 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: start_menu_item_properties_friendly_name + description: Friendly name of StartMenuItem. + protocol: {} + - &ref_44 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: start_menu_item_properties_file_path + description: Path to the file of StartMenuItem. + protocol: {} + - &ref_45 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: start_menu_item_properties_command_line_arguments + description: Command line arguments for StartMenuItem. + protocol: {} + - &ref_46 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: start_menu_item_properties_icon_path + description: Path to the icon. + protocol: {} + - &ref_101 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: start_menu_item_list_next_link + description: Link to the next page of results. + protocol: {} + - &ref_48 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: application_properties_description + description: Description of Application. + protocol: {} + - &ref_49 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: application_properties_friendly_name + description: Friendly name of Application. + protocol: {} + - &ref_50 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: application_properties_file_path + description: Specifies a path for the executable file for the application. + protocol: {} + - &ref_52 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: application_properties_command_line_arguments + description: Command Line Arguments for Application. + protocol: {} + - &ref_54 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: application_properties_icon_path + description: Path to icon. + protocol: {} + - &ref_55 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: application_properties_icon_hash + description: Hash of the icon. + protocol: {} + - &ref_102 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: application_patch_properties_description + description: Description of Application. + protocol: {} + - &ref_103 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: application_patch_properties_friendly_name + description: Friendly name of Application. + protocol: {} + - &ref_104 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: application_patch_properties_file_path + description: Specifies a path for the executable file for the application. + protocol: {} + - &ref_105 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: application_patch_properties_command_line_arguments + description: Command Line Arguments for Application. + protocol: {} + - &ref_106 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: application_patch_properties_icon_path + description: Path to icon. + protocol: {} + - &ref_107 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: application_list_next_link + description: Link to the next page of results. + protocol: {} + - &ref_57 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: desktop_properties_description + description: Description of Desktop. + protocol: {} + - &ref_58 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: desktop_properties_friendly_name + description: Friendly name of Desktop. + protocol: {} + - &ref_59 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: desktop_properties_icon_hash + description: Hash of the icon. + protocol: {} + - &ref_108 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: desktop_patch_properties_description + description: Description of Desktop. + protocol: {} + - &ref_109 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: desktop_patch_properties_friendly_name + description: Friendly name of Desktop. + protocol: {} + - &ref_110 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: desktop_list_next_link + description: Link to the next page of results. + protocol: {} + - &ref_19 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: host_pool_properties_friendly_name + description: Friendly name of HostPool. + protocol: {} + - &ref_20 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: host_pool_properties_description + description: Description of HostPool. + protocol: {} + - &ref_23 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: host_pool_properties_custom_rdp_property + description: Custom rdp property of HostPool. + protocol: {} + - &ref_29 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: registration_info_token + description: The registration token base64 encoded string. + protocol: {} + - &ref_31 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: host_pool_properties_vm_template + description: VM template for sessionhosts configuration within hostpool. + protocol: {} + - &ref_32 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: host_pool_properties_application_group_references_item + description: '' + protocol: {} + - &ref_33 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: host_pool_properties_sso_context + description: Path to keyvault containing ssoContext secret. + protocol: {} + - &ref_61 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: host_pool_patch_properties_friendly_name + description: Friendly name of HostPool. + protocol: {} + - &ref_62 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: host_pool_patch_properties_description + description: Description of HostPool. + protocol: {} + - &ref_63 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: host_pool_patch_properties_custom_rdp_property + description: Custom rdp property of HostPool. + protocol: {} + - &ref_64 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: host_pool_patch_properties_sso_context + description: Path to keyvault containing ssoContext secret. + protocol: {} + - &ref_113 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: host_pool_list_next_link + description: Link to the next page of results. + protocol: {} + - &ref_65 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: user_session_properties_user_principal_name + description: The user principal name. + protocol: {} + - &ref_68 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: user_session_properties_active_directory_user_name + description: The active directory user name. + protocol: {} + - &ref_114 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: user_session_list_next_link + description: Link to the next page of results. + protocol: {} + - &ref_402 + type: string + apiVersions: + - version: 2019-12-10-preview + maxLength: 48 + minLength: 3 + language: + default: + name: string + description: '' + protocol: {} + - &ref_72 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: session_host_properties_agent_version + description: Version of agent on SessionHost. + protocol: {} + - &ref_74 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: session_host_properties_assigned_user + description: User assigned to SessionHost. + protocol: {} + - &ref_77 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: session_host_properties_os_version + description: The version of the OS on the session host. + protocol: {} + - &ref_78 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: session_host_properties_sx_s_stack_version + description: The version of the side by side stack on the session host. + protocol: {} + - &ref_81 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: session_host_properties_update_error_message + description: The error message. + protocol: {} + - &ref_82 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: session_host_patch_properties_assigned_user + description: User assigned to SessionHost. + protocol: {} + - &ref_115 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: session_host_list_next_link + description: Link to the next page of results. + protocol: {} + - &ref_403 + type: string + apiVersions: + - version: 2019-12-10-preview + maxLength: 24 + minLength: 1 + language: + default: + name: string + description: '' + protocol: {} + - &ref_116 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: send_message_title + description: Title of message. + protocol: {} + - &ref_117 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: send_message_body + description: Body of message. + protocol: {} + choices: + - &ref_18 + choices: + - value: RemoteApp + language: + default: + name: remote_app + description: '' + cli: + cliKey: RemoteApp + - value: Desktop + language: + default: + name: desktop + description: '' + cli: + cliKey: Desktop + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: application_group_type + description: Resource Type of ApplicationGroup. + cli: + cliKey: ApplicationGroupType + protocol: {} + - &ref_51 + choices: + - value: DoNotAllow + language: + default: + name: do_not_allow + description: '' + cli: + cliKey: DoNotAllow + - value: Allow + language: + default: + name: allow + description: '' + cli: + cliKey: Allow + - value: Require + language: + default: + name: require + description: '' + cli: + cliKey: Require + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: command_line_setting + description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' + cli: + cliKey: CommandLineSetting + protocol: {} + - &ref_21 + choices: + - value: Personal + language: + default: + name: personal + description: '' + cli: + cliKey: Personal + - value: Pooled + language: + default: + name: pooled + description: '' + cli: + cliKey: Pooled + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: host_pool_type + description: HostPool type for desktop. + cli: + cliKey: HostPoolType + protocol: {} + - &ref_22 + choices: + - value: Automatic + language: + default: + name: automatic + description: '' + cli: + cliKey: Automatic + - value: Direct + language: + default: + name: direct + description: '' + cli: + cliKey: Direct + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: personal_desktop_assignment_type + description: PersonalDesktopAssignment type for HostPool. + cli: + cliKey: PersonalDesktopAssignmentType + protocol: {} + - &ref_25 + choices: + - value: BreadthFirst + language: + default: + name: breadth_first + description: '' + cli: + cliKey: BreadthFirst + - value: DepthFirst + language: + default: + name: depth_first + description: '' + cli: + cliKey: DepthFirst + - value: Persistent + language: + default: + name: persistent + description: '' + cli: + cliKey: Persistent + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: load_balancer_type + description: The type of the load balancer. + cli: + cliKey: LoadBalancerType + protocol: {} + - &ref_30 + choices: + - value: Delete + language: + default: + name: delete + description: '' + cli: + cliKey: Delete + - value: None + language: + default: + name: none + description: '' + cli: + cliKey: None + - value: Update + language: + default: + name: update + description: '' + cli: + cliKey: Update + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: registration_token_operation + description: The type of resetting the token. + cli: + cliKey: RegistrationTokenOperation + protocol: {} + - &ref_66 + choices: + - value: RemoteApp + language: + default: + name: remote_app + description: '' + cli: + cliKey: RemoteApp + - value: Desktop + language: + default: + name: desktop + description: '' + cli: + cliKey: Desktop + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: application_type + description: Application type of application. + cli: + cliKey: ApplicationType + protocol: {} + - &ref_67 + choices: + - value: Unknown + language: + default: + name: unknown + description: '' + cli: + cliKey: Unknown + - value: Active + language: + default: + name: active + description: '' + cli: + cliKey: Active + - value: Disconnected + language: + default: + name: disconnected + description: '' + cli: + cliKey: Disconnected + - value: Pending + language: + default: + name: pending + description: '' + cli: + cliKey: Pending + - value: LogOff + language: + default: + name: log_off + description: '' + cli: + cliKey: LogOff + - value: UserProfileDiskMounted + language: + default: + name: user_profile_disk_mounted + description: '' + cli: + cliKey: UserProfileDiskMounted + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: session_state + description: State of user session. + cli: + cliKey: SessionState + protocol: {} + - &ref_75 + choices: + - value: Available + language: + default: + name: available + description: '' + cli: + cliKey: Available + - value: Unavailable + language: + default: + name: unavailable + description: '' + cli: + cliKey: Unavailable + - value: Shutdown + language: + default: + name: shutdown + description: '' + cli: + cliKey: Shutdown + - value: Disconnected + language: + default: + name: disconnected + description: '' + cli: + cliKey: Disconnected + - value: Upgrading + language: + default: + name: upgrading + description: '' + cli: + cliKey: Upgrading + - value: UpgradeFailed + language: + default: + name: upgrade_failed + description: '' + cli: + cliKey: UpgradeFailed + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: status + description: Status for a SessionHost. + cli: + cliKey: Status + protocol: {} + - &ref_79 + choices: + - value: Initial + language: + default: + name: initial + description: '' + cli: + cliKey: Initial + - value: Pending + language: + default: + name: pending + description: '' + cli: + cliKey: Pending + - value: Started + language: + default: + name: started + description: '' + cli: + cliKey: Started + - value: Succeeded + language: + default: + name: succeeded + description: '' + cli: + cliKey: Succeeded + - value: Failed + language: + default: + name: failed + description: '' + cli: + cliKey: Failed + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: update_state + description: Update state of a SessionHost. + cli: + cliKey: UpdateState + protocol: {} + constants: + - &ref_131 + type: constant + value: + value: 2019-12-10-preview + valueType: *ref_0 + language: + default: + name: api_version2019_12_10_preview + description: Api Version (2019-12-10-preview) + protocol: {} + - &ref_141 + type: constant + value: + value: application/json + valueType: *ref_0 + language: + default: + name: application_json + description: Content Type 'application/json' + protocol: {} + dictionaries: + - &ref_37 + type: dictionary + elementType: *ref_1 + language: + default: + name: tracked_resource_tags + description: Resource tags. + cli: + cli-complexity: dictionary_simple + cli-mark: checked + protocol: {} + any: + - &ref_39 + type: any + language: + default: + name: any + description: Any object + protocol: {} + byteArrays: + - &ref_56 + type: byte-array + format: byte + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: application_properties_icon_content + description: the icon a 64 bit string as a byte array. + protocol: {} + - &ref_60 + type: byte-array + format: byte + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: desktop_properties_icon_content + description: The icon a 64 bit string as a byte array. + protocol: {} + dateTimes: + - &ref_28 + type: date-time + format: date-time + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: registration_info_expiration_time + description: Expiration time of registration token. + protocol: {} + - &ref_69 + type: date-time + format: date-time + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: user_session_properties_create_time + description: The timestamp of the user session create. + protocol: {} + - &ref_70 + type: date-time + format: date-time + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: session_host_properties_last_heart_beat + description: Last heart beat from SessionHost. + protocol: {} + - &ref_76 + type: date-time + format: date-time + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: session_host_properties_status_timestamp + description: The timestamp of the status. + protocol: {} + - &ref_80 + type: date-time + format: date-time + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: session_host_properties_last_update_time + description: The timestamp of the last update. + protocol: {} + objects: + - &ref_134 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_118 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: &ref_7 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_2 + serializedName: name + language: + default: + name: name + description: 'Operation name, in format of {provider}/{resource}/{operation}' + cli: + cliKey: name + protocol: {} + - schema: &ref_8 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_3 + serializedName: provider + language: + default: + name: provider + description: 'Resource provider: Microsoft Desktop Virtualization.' + cli: + cliKey: provider + protocol: {} + - schema: *ref_4 + serializedName: resource + language: + default: + name: resource + description: Resource on which the operation is performed. + cli: + cliKey: resource + protocol: {} + - schema: *ref_5 + serializedName: operation + language: + default: + name: operation + description: 'Type of operation: get, read, delete, etc.' + cli: + cliKey: operation + protocol: {} + - schema: *ref_6 + serializedName: description + language: + default: + name: description + description: Description of this operation. + cli: + cliKey: description + protocol: {} + serializationFormats: + - json + usage: + - output + language: + default: + name: resource_provider_operation_display + description: Display metadata associated with the operation. + namespace: '' + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 4 + propertyCountIfSimplifyWithoutSimpleObject: 4 + simplifiable: true + cliKey: ResourceProviderOperation-display + protocol: {} + serializedName: display + language: + default: + name: display + description: Display metadata associated with the operation. + cli: + cliKey: display + protocol: {} + serializationFormats: + - json + usage: + - output + language: + default: + name: resource_provider_operation + description: Supported operation of this resource provider. + namespace: '' + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 5 + propertyCountIfSimplifyWithoutSimpleObject: 2 + simplifiable: true + cliKey: ResourceProviderOperation + protocol: {} + language: + default: + name: resource_provider_operation_list_value + description: List of operations supported by this resource provider. + cli: + cli-complexity: array_complex + cli-mark: checked + protocol: {} + serializedName: value + language: + default: + name: value + description: List of operations supported by this resource provider. + cli: + cliKey: value + protocol: {} + serializationFormats: + - json + usage: + - output + language: + default: + name: resource_provider_operation_list + description: Result of the request to list operations. + namespace: '' + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ResourceProviderOperationList + protocol: {} + - *ref_7 + - *ref_8 + - &ref_10 + type: object + apiVersions: + - version: '1.0' + children: + all: + - &ref_9 + type: object + apiVersions: + - version: '1.0' + children: + all: + - &ref_34 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_9 + - *ref_10 + immediate: + - *ref_9 + properties: + - &ref_147 + schema: *ref_11 + flattenedNames: + - properties + - description + serializedName: description + language: + default: + name: description + description: Description of Workspace. + cli: &ref_148 + cliKey: description + protocol: {} + - &ref_149 + schema: *ref_12 + flattenedNames: + - properties + - friendlyName + serializedName: friendlyName + language: + default: + name: friendly_name + description: Friendly name of Workspace. + cli: &ref_150 + cliKey: friendlyName + protocol: {} + - &ref_151 + schema: &ref_119 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_13 + language: + default: + name: workspace_properties_application_group_references + description: List of applicationGroup resource Ids. + cli: + cli-complexity: array_simple + cli-mark: checked + protocol: {} + flattenedNames: + - properties + - applicationGroupReferences + serializedName: applicationGroupReferences + language: + default: + name: application_group_references + description: List of applicationGroup resource Ids. + cli: &ref_152 + cliKey: applicationGroupReferences + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: workspace + description: Represents a Workspace definition. + namespace: '' + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: Workspace + protocol: {} + - &ref_35 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_9 + - *ref_10 + immediate: + - *ref_9 + properties: + - &ref_188 + schema: *ref_14 + flattenedNames: + - properties + - description + required: false + serializedName: description + language: + default: + name: description + description: Description of ApplicationGroup. + cli: &ref_189 + cliKey: description + protocol: {} + - &ref_190 + schema: *ref_15 + flattenedNames: + - properties + - friendlyName + required: false + serializedName: friendlyName + language: + default: + name: friendly_name + description: Friendly name of ApplicationGroup. + cli: &ref_191 + cliKey: friendlyName + protocol: {} + - &ref_192 + schema: *ref_16 + flattenedNames: + - properties + - hostPoolArmPath + required: true + serializedName: hostPoolArmPath + language: + default: + name: host_pool_arm_path + description: HostPool arm path of ApplicationGroup. + cli: &ref_193 + cliKey: hostPoolArmPath + protocol: {} + - schema: *ref_17 + flattenedNames: + - properties + - workspaceArmPath + readOnly: true + required: false + serializedName: workspaceArmPath + language: + default: + name: workspace_arm_path + description: Workspace arm path of ApplicationGroup. + cli: + cliKey: workspaceArmPath + protocol: {} + - &ref_194 + schema: *ref_18 + flattenedNames: + - properties + - applicationGroupType + required: true + serializedName: applicationGroupType + language: + default: + name: application_group_type + description: Resource Type of ApplicationGroup. + cli: &ref_195 + cliKey: applicationGroupType + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: application_group + description: Represents a ApplicationGroup definition. + namespace: '' + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ApplicationGroup + protocol: {} + - &ref_36 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_9 + - *ref_10 + immediate: + - *ref_9 + properties: + - &ref_316 + schema: *ref_19 + flattenedNames: + - properties + - friendlyName + required: false + serializedName: friendlyName + language: + default: + name: friendly_name + description: Friendly name of HostPool. + cli: &ref_317 + cliKey: friendlyName + protocol: {} + - &ref_318 + schema: *ref_20 + flattenedNames: + - properties + - description + required: false + serializedName: description + language: + default: + name: description + description: Description of HostPool. + cli: &ref_319 + cliKey: description + protocol: {} + - &ref_320 + schema: *ref_21 + flattenedNames: + - properties + - hostPoolType + required: true + serializedName: hostPoolType + language: + default: + name: host_pool_type + description: HostPool type for desktop. + cli: &ref_321 + cliKey: hostPoolType + protocol: {} + - &ref_322 + schema: *ref_22 + flattenedNames: + - properties + - personalDesktopAssignmentType + required: true + serializedName: personalDesktopAssignmentType + language: + default: + name: personal_desktop_assignment_type + description: PersonalDesktopAssignment type for HostPool. + cli: &ref_323 + cliKey: personalDesktopAssignmentType + protocol: {} + - &ref_324 + schema: *ref_23 + flattenedNames: + - properties + - customRdpProperty + required: false + serializedName: customRdpProperty + language: + default: + name: custom_rdp_property + description: Custom rdp property of HostPool. + cli: &ref_325 + cliKey: customRdpProperty + protocol: {} + - &ref_326 + schema: *ref_24 + flattenedNames: + - properties + - maxSessionLimit + required: false + serializedName: maxSessionLimit + language: + default: + name: max_session_limit + description: The max session limit of HostPool. + cli: &ref_327 + cliKey: maxSessionLimit + protocol: {} + - &ref_328 + schema: *ref_25 + flattenedNames: + - properties + - loadBalancerType + required: true + serializedName: loadBalancerType + language: + default: + name: load_balancer_type + description: The type of the load balancer. + cli: &ref_329 + cliKey: loadBalancerType + protocol: {} + - &ref_330 + schema: *ref_26 + flattenedNames: + - properties + - ring + required: false + serializedName: ring + language: + default: + name: ring + description: The ring number of HostPool. + cli: &ref_331 + cliKey: ring + protocol: {} + - &ref_332 + schema: *ref_27 + flattenedNames: + - properties + - validationEnvironment + required: false + serializedName: validationEnvironment + language: + default: + name: validation_environment + description: Is validation environment. + cli: &ref_333 + cliKey: validationEnvironment + protocol: {} + - &ref_334 + schema: &ref_111 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_28 + serializedName: expirationTime + language: + default: + name: expiration_time + description: Expiration time of registration token. + cli: + cliKey: expirationTime + protocol: {} + - schema: *ref_29 + serializedName: token + language: + default: + name: token + description: The registration token base64 encoded string. + cli: + cliKey: token + protocol: {} + - schema: *ref_30 + serializedName: registrationTokenOperation + language: + default: + name: registration_token_operation + description: The type of resetting the token. + cli: + cliKey: registrationTokenOperation + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: registration_info + description: Represents a RegistrationInfo definition. + namespace: '' + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 3 + propertyCountIfSimplifyWithoutSimpleObject: 3 + simplifiable: true + cliKey: RegistrationInfo + protocol: {} + flattenedNames: + - properties + - registrationInfo + required: false + serializedName: registrationInfo + language: + default: + name: registration_info + description: The registration info of HostPool. + cli: &ref_335 + cliKey: registrationInfo + protocol: {} + - &ref_336 + schema: *ref_31 + flattenedNames: + - properties + - vmTemplate + required: false + serializedName: vmTemplate + language: + default: + name: vm_template + description: VM template for sessionhosts configuration within hostpool. + cli: &ref_337 + cliKey: vmTemplate + protocol: {} + - schema: &ref_126 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_32 + language: + default: + name: host_pool_properties_application_group_references + description: List of applicationGroup links. + cli: + cli-complexity: array_simple + cli-mark: checked + protocol: {} + flattenedNames: + - properties + - applicationGroupReferences + readOnly: true + required: false + serializedName: applicationGroupReferences + language: + default: + name: application_group_references + description: List of applicationGroup links. + cli: + cliKey: applicationGroupReferences + protocol: {} + - &ref_338 + schema: *ref_33 + flattenedNames: + - properties + - ssoContext + required: false + serializedName: ssoContext + language: + default: + name: sso_context + description: Path to keyvault containing ssoContext secret. + cli: &ref_339 + cliKey: ssoContext + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: host_pool + description: Represents a HostPool definition. + namespace: '' + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: HostPool + protocol: {} + immediate: + - *ref_34 + - *ref_35 + - *ref_36 + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - &ref_143 + schema: *ref_37 + required: false + serializedName: tags + language: + default: + name: tags + description: Resource tags. + cli: &ref_144 + cliKey: tags + protocol: {} + - &ref_145 + schema: *ref_38 + required: true + serializedName: location + language: + default: + name: location + description: The geo-location where the resource lives + cli: &ref_146 + cliKey: location + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: tracked_resource + description: The resource model definition for a ARM tracked top level resource + namespace: '' + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: TrackedResource + protocol: {} + - *ref_34 + - *ref_35 + - &ref_83 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - &ref_207 + schema: *ref_39 + serializedName: tags + language: + default: + name: tags + description: tags to be updated + cli: &ref_208 + cliKey: tags + protocol: {} + - &ref_209 + schema: *ref_40 + flattenedNames: + - properties + - description + serializedName: description + language: + default: + name: description + description: Description of ApplicationGroup. + cli: &ref_210 + cliKey: description + protocol: {} + - &ref_211 + schema: *ref_41 + flattenedNames: + - properties + - friendlyName + serializedName: friendlyName + language: + default: + name: friendly_name + description: Friendly name of ApplicationGroup. + cli: &ref_212 + cliKey: friendlyName + protocol: {} + serializationFormats: + - json + usage: + - input + - output + language: + default: + name: application_group_patch + description: ApplicationGroup properties that can be patched. + namespace: '' + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ApplicationGroupPatch + protocol: {} + - &ref_84 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - schema: *ref_42 + flattenedNames: + - properties + - appAlias + serializedName: appAlias + language: + default: + name: app_alias + description: Alias of StartMenuItem. + cli: + cliKey: appAlias + protocol: {} + - schema: *ref_43 + flattenedNames: + - properties + - friendlyName + serializedName: friendlyName + language: + default: + name: friendly_name + description: Friendly name of StartMenuItem. + cli: + cliKey: friendlyName + protocol: {} + - schema: *ref_44 + flattenedNames: + - properties + - filePath + serializedName: filePath + language: + default: + name: file_path + description: Path to the file of StartMenuItem. + cli: + cliKey: filePath + protocol: {} + - schema: *ref_45 + flattenedNames: + - properties + - commandLineArguments + serializedName: commandLineArguments + language: + default: + name: command_line_arguments + description: Command line arguments for StartMenuItem. + cli: + cliKey: commandLineArguments + protocol: {} + - schema: *ref_46 + flattenedNames: + - properties + - iconPath + serializedName: iconPath + language: + default: + name: icon_path + description: Path to the icon. + cli: + cliKey: iconPath + protocol: {} + - schema: *ref_47 + flattenedNames: + - properties + - iconIndex + serializedName: iconIndex + language: + default: + name: icon_index + description: Index of the icon. + cli: + cliKey: iconIndex + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: start_menu_item + description: Represents a StartMenuItem definition. + namespace: '' + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 6 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: StartMenuItem + protocol: {} + - &ref_85 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - &ref_228 + schema: *ref_48 + flattenedNames: + - properties + - description + required: false + serializedName: description + language: + default: + name: description + description: Description of Application. + cli: &ref_229 + cliKey: description + protocol: {} + - &ref_230 + schema: *ref_49 + flattenedNames: + - properties + - friendlyName + required: false + serializedName: friendlyName + language: + default: + name: friendly_name + description: Friendly name of Application. + cli: &ref_231 + cliKey: friendlyName + protocol: {} + - &ref_232 + schema: *ref_50 + flattenedNames: + - properties + - filePath + required: false + serializedName: filePath + language: + default: + name: file_path + description: Specifies a path for the executable file for the application. + cli: &ref_233 + cliKey: filePath + protocol: {} + - &ref_234 + schema: *ref_51 + flattenedNames: + - properties + - commandLineSetting + required: true + serializedName: commandLineSetting + language: + default: + name: command_line_setting + description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' + cli: &ref_235 + cliKey: commandLineSetting + protocol: {} + - &ref_236 + schema: *ref_52 + flattenedNames: + - properties + - commandLineArguments + required: false + serializedName: commandLineArguments + language: + default: + name: command_line_arguments + description: Command Line Arguments for Application. + cli: &ref_237 + cliKey: commandLineArguments + protocol: {} + - &ref_238 + schema: *ref_53 + flattenedNames: + - properties + - showInPortal + required: false + serializedName: showInPortal + language: + default: + name: show_in_portal + description: Specifies whether to show the RemoteApp program in the RD Web Access server. + cli: &ref_239 + cliKey: showInPortal + protocol: {} + - &ref_240 + schema: *ref_54 + flattenedNames: + - properties + - iconPath + required: false + serializedName: iconPath + language: + default: + name: icon_path + description: Path to icon. + cli: &ref_241 + cliKey: iconPath + protocol: {} + - &ref_242 + schema: *ref_47 + flattenedNames: + - properties + - iconIndex + required: false + serializedName: iconIndex + language: + default: + name: icon_index + description: Index of the icon. + cli: &ref_243 + cliKey: iconIndex + protocol: {} + - schema: *ref_55 + flattenedNames: + - properties + - iconHash + readOnly: true + required: false + serializedName: iconHash + language: + default: + name: icon_hash + description: Hash of the icon. + cli: + cliKey: iconHash + protocol: {} + - schema: *ref_56 + flattenedNames: + - properties + - iconContent + readOnly: true + required: false + serializedName: iconContent + language: + default: + name: icon_content + description: the icon a 64 bit string as a byte array. + cli: + cliKey: iconContent + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: application + description: Schema for Application properties. + namespace: '' + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 8 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: Application + protocol: {} + - &ref_86 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - schema: *ref_57 + flattenedNames: + - properties + - description + serializedName: description + language: + default: + name: description + description: Description of Desktop. + cli: + cliKey: description + protocol: {} + - schema: *ref_58 + flattenedNames: + - properties + - friendlyName + serializedName: friendlyName + language: + default: + name: friendly_name + description: Friendly name of Desktop. + cli: + cliKey: friendlyName + protocol: {} + - schema: *ref_59 + flattenedNames: + - properties + - iconHash + readOnly: true + serializedName: iconHash + language: + default: + name: icon_hash + description: Hash of the icon. + cli: + cliKey: iconHash + protocol: {} + - schema: *ref_60 + flattenedNames: + - properties + - iconContent + readOnly: true + serializedName: iconContent + language: + default: + name: icon_content + description: The icon a 64 bit string as a byte array. + cli: + cliKey: iconContent + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: desktop + description: Schema for Desktop properties. + namespace: '' + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: Desktop + protocol: {} + - *ref_36 + - &ref_87 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - &ref_361 + schema: *ref_39 + serializedName: tags + language: + default: + name: tags + description: tags to be updated + cli: &ref_362 + cliKey: tags + protocol: {} + - &ref_363 + schema: *ref_61 + flattenedNames: + - properties + - friendlyName + serializedName: friendlyName + language: + default: + name: friendly_name + description: Friendly name of HostPool. + cli: &ref_364 + cliKey: friendlyName + protocol: {} + - &ref_365 + schema: *ref_62 + flattenedNames: + - properties + - description + serializedName: description + language: + default: + name: description + description: Description of HostPool. + cli: &ref_366 + cliKey: description + protocol: {} + - &ref_367 + schema: *ref_63 + flattenedNames: + - properties + - customRdpProperty + serializedName: customRdpProperty + language: + default: + name: custom_rdp_property + description: Custom rdp property of HostPool. + cli: &ref_368 + cliKey: customRdpProperty + protocol: {} + - &ref_369 + schema: *ref_24 + flattenedNames: + - properties + - maxSessionLimit + serializedName: maxSessionLimit + language: + default: + name: max_session_limit + description: The max session limit of HostPool. + cli: &ref_370 + cliKey: maxSessionLimit + protocol: {} + - &ref_371 + schema: *ref_22 + flattenedNames: + - properties + - personalDesktopAssignmentType + serializedName: personalDesktopAssignmentType + language: + default: + name: personal_desktop_assignment_type + description: PersonalDesktopAssignment type for HostPool. + cli: &ref_372 + cliKey: personalDesktopAssignmentType + protocol: {} + - &ref_373 + schema: *ref_25 + flattenedNames: + - properties + - loadBalancerType + serializedName: loadBalancerType + language: + default: + name: load_balancer_type + description: The type of the load balancer. + cli: &ref_374 + cliKey: loadBalancerType + protocol: {} + - &ref_375 + schema: *ref_26 + flattenedNames: + - properties + - ring + serializedName: ring + language: + default: + name: ring + description: The ring number of HostPool. + cli: &ref_376 + cliKey: ring + protocol: {} + - &ref_377 + schema: *ref_27 + flattenedNames: + - properties + - validationEnvironment + serializedName: validationEnvironment + language: + default: + name: validation_environment + description: Is validation environment. + cli: &ref_378 + cliKey: validationEnvironment + protocol: {} + - &ref_379 + schema: &ref_112 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_30 + serializedName: registrationTokenOperation + language: + default: + name: registration_token_operation + description: The type of resetting the token. + cli: + cliKey: registrationTokenOperation + protocol: {} + serializationFormats: + - json + usage: + - input + - output + language: + default: + name: registration_info_patch + description: Represents a RegistrationInfo definition. + namespace: '' + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 1 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: RegistrationInfoPatch + protocol: {} + flattenedNames: + - properties + - registrationInfo + serializedName: registrationInfo + language: + default: + name: registration_info + description: The registration info of HostPool. + cli: &ref_380 + cliKey: registrationInfo + protocol: {} + - &ref_381 + schema: *ref_64 + flattenedNames: + - properties + - ssoContext + serializedName: ssoContext + language: + default: + name: sso_context + description: Path to keyvault containing ssoContext secret. + cli: &ref_382 + cliKey: ssoContext + protocol: {} + serializationFormats: + - json + usage: + - input + - output + language: + default: + name: host_pool_patch + description: HostPool properties that can be patched. + namespace: '' + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: HostPoolPatch + protocol: {} + - &ref_88 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - schema: *ref_65 + flattenedNames: + - properties + - userPrincipalName + serializedName: userPrincipalName + language: + default: + name: user_principal_name + description: The user principal name. + cli: + cliKey: userPrincipalName + protocol: {} + - schema: *ref_66 + flattenedNames: + - properties + - applicationType + serializedName: applicationType + language: + default: + name: application_type + description: Application type of application. + cli: + cliKey: applicationType + protocol: {} + - schema: *ref_67 + flattenedNames: + - properties + - sessionState + serializedName: sessionState + language: + default: + name: session_state + description: State of user session. + cli: + cliKey: sessionState + protocol: {} + - schema: *ref_68 + flattenedNames: + - properties + - activeDirectoryUserName + serializedName: activeDirectoryUserName + language: + default: + name: active_directory_user_name + description: The active directory user name. + cli: + cliKey: activeDirectoryUserName + protocol: {} + - schema: *ref_69 + flattenedNames: + - properties + - createTime + serializedName: createTime + language: + default: + name: create_time + description: The timestamp of the user session create. + cli: + cliKey: createTime + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: user_session + description: Represents a UserSession definition. + namespace: '' + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 5 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: UserSession + protocol: {} + - &ref_89 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - schema: *ref_70 + flattenedNames: + - properties + - lastHeartBeat + serializedName: lastHeartBeat + language: + default: + name: last_heart_beat + description: Last heart beat from SessionHost. + cli: + cliKey: lastHeartBeat + protocol: {} + - schema: *ref_71 + flattenedNames: + - properties + - sessions + serializedName: sessions + language: + default: + name: sessions + description: Number of sessions on SessionHost. + cli: + cliKey: sessions + protocol: {} + - schema: *ref_72 + flattenedNames: + - properties + - agentVersion + serializedName: agentVersion + language: + default: + name: agent_version + description: Version of agent on SessionHost. + cli: + cliKey: agentVersion + protocol: {} + - schema: *ref_73 + flattenedNames: + - properties + - allowNewSession + serializedName: allowNewSession + language: + default: + name: allow_new_session + description: Allow a new session. + cli: + cliKey: allowNewSession + protocol: {} + - schema: *ref_74 + flattenedNames: + - properties + - assignedUser + serializedName: assignedUser + language: + default: + name: assigned_user + description: User assigned to SessionHost. + cli: + cliKey: assignedUser + protocol: {} + - schema: *ref_75 + flattenedNames: + - properties + - status + serializedName: status + language: + default: + name: status + description: Status for a SessionHost. + cli: + cliKey: status + protocol: {} + - schema: *ref_76 + flattenedNames: + - properties + - statusTimestamp + readOnly: true + serializedName: statusTimestamp + language: + default: + name: status_timestamp + description: The timestamp of the status. + cli: + cliKey: statusTimestamp + protocol: {} + - schema: *ref_77 + flattenedNames: + - properties + - osVersion + serializedName: osVersion + language: + default: + name: os_version + description: The version of the OS on the session host. + cli: + cliKey: osVersion + protocol: {} + - schema: *ref_78 + flattenedNames: + - properties + - sxSStackVersion + serializedName: sxSStackVersion + language: + default: + name: sx_s_stack_version + description: The version of the side by side stack on the session host. + cli: + cliKey: sxSStackVersion + protocol: {} + - schema: *ref_79 + flattenedNames: + - properties + - updateState + serializedName: updateState + language: + default: + name: update_state + description: Update state of a SessionHost. + cli: + cliKey: updateState + protocol: {} + - schema: *ref_80 + flattenedNames: + - properties + - lastUpdateTime + readOnly: true + serializedName: lastUpdateTime + language: + default: + name: last_update_time + description: The timestamp of the last update. + cli: + cliKey: lastUpdateTime + protocol: {} + - schema: *ref_81 + flattenedNames: + - properties + - updateErrorMessage + serializedName: updateErrorMessage + language: + default: + name: update_error_message + description: The error message. + cli: + cliKey: updateErrorMessage + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: session_host + description: Represents a SessionHost definition. + namespace: '' + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: SessionHost + protocol: {} + - &ref_90 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - &ref_440 + schema: *ref_73 + flattenedNames: + - properties + - allowNewSession + serializedName: allowNewSession + language: + default: + name: allow_new_session + description: Allow a new session. + cli: &ref_441 + cliKey: allowNewSession + protocol: {} + - &ref_442 + schema: *ref_82 + flattenedNames: + - properties + - assignedUser + serializedName: assignedUser + language: + default: + name: assigned_user + description: User assigned to SessionHost. + cli: &ref_443 + cliKey: assignedUser + protocol: {} + serializationFormats: + - json + usage: + - input + - output + language: + default: + name: session_host_patch + description: SessionHost properties that can be patched. + namespace: '' + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: SessionHostPatch + protocol: {} + immediate: + - *ref_9 + - *ref_83 + - *ref_84 + - *ref_85 + - *ref_86 + - *ref_87 + - *ref_88 + - *ref_89 + - *ref_90 + properties: + - schema: *ref_91 + readOnly: true + serializedName: id + language: + default: + name: id + description: 'Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' + cli: + cliKey: id + protocol: {} + - schema: *ref_92 + readOnly: true + serializedName: name + language: + default: + name: name + description: The name of the resource + cli: + cliKey: name + protocol: {} + - schema: *ref_93 + readOnly: true + serializedName: type + language: + default: + name: type + description: The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + cli: + cliKey: type + protocol: {} + serializationFormats: + - json + usage: + - output + - input + extensions: + x-ms-azure-resource: true + language: + default: + name: resource + description: '' + namespace: '' + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 0 + propertyCountIfSimplifyWithoutSimpleObject: 0 + simplifiable: true + cliKey: Resource + protocol: {} + - *ref_9 + - *ref_34 + - &ref_140 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_94 + serializedName: code + language: + default: + name: code + description: Error code + cli: + cliKey: code + protocol: {} + - schema: *ref_95 + serializedName: message + language: + default: + name: message + description: Error message indicating why the operation failed. + cli: + cliKey: message + protocol: {} + serializationFormats: + - json + usage: + - output + language: + default: + name: cloud_error + description: Error response of an operation failure + namespace: '' + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 2 + simplifiable: true + cliKey: CloudError + protocol: {} + - &ref_162 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - &ref_164 + schema: *ref_39 + serializedName: tags + language: + default: + name: tags + description: tags to be updated + cli: &ref_165 + cliKey: tags + protocol: {} + - &ref_166 + schema: *ref_96 + flattenedNames: + - properties + - description + serializedName: description + language: + default: + name: description + description: Description of Workspace. + cli: &ref_167 + cliKey: description + protocol: {} + - &ref_168 + schema: *ref_97 + flattenedNames: + - properties + - friendlyName + serializedName: friendlyName + language: + default: + name: friendly_name + description: Friendly name of Workspace. + cli: &ref_169 + cliKey: friendlyName + protocol: {} + - &ref_170 + schema: &ref_120 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_98 + language: + default: + name: workspace_patch_properties_application_group_references + description: List of applicationGroup links. + cli: + cli-complexity: array_simple + cli-mark: checked + protocol: {} + flattenedNames: + - properties + - applicationGroupReferences + serializedName: applicationGroupReferences + language: + default: + name: application_group_references + description: List of applicationGroup links. + cli: &ref_171 + cliKey: applicationGroupReferences + protocol: {} + serializationFormats: + - json + usage: + - input + language: + default: + name: workspace_patch + description: Workspace properties that can be patched. + namespace: '' + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: WorkspacePatch + protocol: {} + - &ref_179 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_121 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_34 + language: + default: + name: workspace_list_value + description: List of Workspace definitions. + cli: + cli-complexity: array_complex + cli-mark: checked + protocol: {} + serializedName: value + language: + default: + name: value + description: List of Workspace definitions. + cli: + cliKey: value + protocol: {} + - schema: *ref_99 + readOnly: true + serializedName: nextLink + language: + default: + name: next_link + description: Link to the next page of results. + cli: + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: WorkspaceList + usage: + - output + language: + default: + name: workspace_list + description: List of Workspace definitions. + namespace: '' + summary: WorkspaceList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: WorkspaceList + protocol: {} + - &ref_184 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_122 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_35 + language: + default: + name: application_group_list_value + description: List of ApplicationGroup definitions. + cli: + cli-complexity: array_complex + cli-mark: checked + protocol: {} + serializedName: value + language: + default: + name: value + description: List of ApplicationGroup definitions. + cli: + cliKey: value + protocol: {} + - schema: *ref_100 + readOnly: true + serializedName: nextLink + language: + default: + name: next_link + description: Link to the next page of results. + cli: + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: ApplicationGroupList + usage: + - output + language: + default: + name: application_group_list + description: List of ApplicationGroup definitions. + namespace: '' + summary: ApplicationGroupList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ApplicationGroupList + protocol: {} + - *ref_35 + - *ref_83 + - &ref_223 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_123 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_84 + language: + default: + name: start_menu_item_list_value + description: List of StartMenuItem definitions. + cli: + cli-complexity: array_complex + cli-mark: checked + protocol: {} + serializedName: value + language: + default: + name: value + description: List of StartMenuItem definitions. + cli: + cliKey: value + protocol: {} + - schema: *ref_101 + readOnly: true + serializedName: nextLink + language: + default: + name: next_link + description: Link to the next page of results. + cli: + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: StartMenuItemList + usage: + - output + language: + default: + name: start_menu_item_list + description: List of StartMenuItem definitions. + namespace: '' + summary: StartMenuItemList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: StartMenuItemList + protocol: {} + - *ref_84 + - *ref_85 + - &ref_258 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - &ref_260 + schema: *ref_39 + serializedName: tags + language: + default: + name: tags + description: tags to be updated + cli: &ref_261 + cliKey: tags + protocol: {} + - &ref_262 + schema: *ref_102 + flattenedNames: + - properties + - description + serializedName: description + language: + default: + name: description + description: Description of Application. + cli: &ref_263 + cliKey: description + protocol: {} + - &ref_264 + schema: *ref_103 + flattenedNames: + - properties + - friendlyName + serializedName: friendlyName + language: + default: + name: friendly_name + description: Friendly name of Application. + cli: &ref_265 + cliKey: friendlyName + protocol: {} + - &ref_266 + schema: *ref_104 + flattenedNames: + - properties + - filePath + serializedName: filePath + language: + default: + name: file_path + description: Specifies a path for the executable file for the application. + cli: &ref_267 + cliKey: filePath + protocol: {} + - &ref_268 + schema: *ref_51 + flattenedNames: + - properties + - commandLineSetting + serializedName: commandLineSetting + language: + default: + name: command_line_setting + description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' + cli: &ref_269 + cliKey: commandLineSetting + protocol: {} + - &ref_270 + schema: *ref_105 + flattenedNames: + - properties + - commandLineArguments + serializedName: commandLineArguments + language: + default: + name: command_line_arguments + description: Command Line Arguments for Application. + cli: &ref_271 + cliKey: commandLineArguments + protocol: {} + - &ref_272 + schema: *ref_53 + flattenedNames: + - properties + - showInPortal + serializedName: showInPortal + language: + default: + name: show_in_portal + description: Specifies whether to show the RemoteApp program in the RD Web Access server. + cli: &ref_273 + cliKey: showInPortal + protocol: {} + - &ref_274 + schema: *ref_106 + flattenedNames: + - properties + - iconPath + serializedName: iconPath + language: + default: + name: icon_path + description: Path to icon. + cli: &ref_275 + cliKey: iconPath + protocol: {} + - &ref_276 + schema: *ref_47 + flattenedNames: + - properties + - iconIndex + serializedName: iconIndex + language: + default: + name: icon_index + description: Index of the icon. + cli: &ref_277 + cliKey: iconIndex + protocol: {} + serializationFormats: + - json + usage: + - input + language: + default: + name: application_patch + description: Application properties that can be patched. + namespace: '' + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ApplicationPatch + protocol: {} + - &ref_292 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_124 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_85 + language: + default: + name: application_list_value + description: List of Application definitions. + cli: + cli-complexity: array_complex + cli-mark: checked + protocol: {} + serializedName: value + language: + default: + name: value + description: List of Application definitions. + cli: + cliKey: value + protocol: {} + - schema: *ref_107 + readOnly: true + serializedName: nextLink + language: + default: + name: next_link + description: Link to the next page of results. + cli: + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: ApplicationList + usage: + - output + language: + default: + name: application_list + description: List of Application definitions. + namespace: '' + summary: ApplicationList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ApplicationList + protocol: {} + - *ref_86 + - &ref_296 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - &ref_298 + schema: *ref_39 + serializedName: tags + language: + default: + name: tags + description: tags to be updated + cli: &ref_299 + cliKey: tags + protocol: {} + - &ref_300 + schema: *ref_108 + flattenedNames: + - properties + - description + serializedName: description + language: + default: + name: description + description: Description of Desktop. + cli: &ref_301 + cliKey: description + protocol: {} + - &ref_302 + schema: *ref_109 + flattenedNames: + - properties + - friendlyName + serializedName: friendlyName + language: + default: + name: friendly_name + description: Friendly name of Desktop. + cli: &ref_303 + cliKey: friendlyName + protocol: {} + serializationFormats: + - json + usage: + - input + language: + default: + name: desktop_patch + description: Desktop properties that can be patched. + namespace: '' + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: DesktopPatch + protocol: {} + - &ref_312 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_125 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_86 + language: + default: + name: desktop_list_value + description: List of Desktop definitions. + cli: + cli-complexity: array_complex + cli-mark: checked + protocol: {} + serializedName: value + language: + default: + name: value + description: List of Desktop definitions. + cli: + cliKey: value + protocol: {} + - schema: *ref_110 + readOnly: true + serializedName: nextLink + language: + default: + name: next_link + description: Link to the next page of results. + cli: + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: DesktopList + usage: + - output + language: + default: + name: desktop_list + description: List of Desktop definitions. + namespace: '' + summary: DesktopList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: DesktopList + protocol: {} + - *ref_36 + - *ref_111 + - *ref_87 + - *ref_112 + - &ref_397 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_127 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_36 + language: + default: + name: host_pool_list_value + description: List of HostPool definitions. + cli: + cli-complexity: array_complex + cli-mark: checked + protocol: {} + serializedName: value + language: + default: + name: value + description: List of HostPool definitions. + cli: + cliKey: value + protocol: {} + - schema: *ref_113 + readOnly: true + serializedName: nextLink + language: + default: + name: next_link + description: Link to the next page of results. + cli: + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: HostPoolList + usage: + - output + language: + default: + name: host_pool_list + description: List of HostPool definitions. + namespace: '' + summary: HostPoolList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: HostPoolList + protocol: {} + - &ref_401 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_128 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_88 + language: + default: + name: user_session_list_value + description: List of UserSession definitions. + cli: + cli-complexity: array_complex + cli-mark: checked + protocol: {} + serializedName: value + language: + default: + name: value + description: List of UserSession definitions. + cli: + cliKey: value + protocol: {} + - schema: *ref_114 + readOnly: true + serializedName: nextLink + language: + default: + name: next_link + description: Link to the next page of results. + cli: + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: UserSessionList + usage: + - output + language: + default: + name: user_session_list + description: List of UserSession definitions. + namespace: '' + summary: UserSessionList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: UserSessionList + protocol: {} + - *ref_88 + - *ref_89 + - *ref_90 + - &ref_451 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_129 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_89 + language: + default: + name: session_host_list_value + description: List of SessionHost definitions. + cli: + cli-complexity: array_complex + cli-mark: checked + protocol: {} + serializedName: value + language: + default: + name: value + description: List of SessionHost definitions. + cli: + cliKey: value + protocol: {} + - schema: *ref_115 + readOnly: true + serializedName: nextLink + language: + default: + name: next_link + description: Link to the next page of results. + cli: + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: SessionHostList + usage: + - output + language: + default: + name: session_host_list + description: List of SessionHost definitions. + namespace: '' + summary: SessionHostList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: SessionHostList + protocol: {} + - &ref_420 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - &ref_422 + schema: *ref_116 + serializedName: messageTitle + language: + default: + name: message_title + description: Title of message. + cli: &ref_423 + cliKey: messageTitle + protocol: {} + - &ref_424 + schema: *ref_117 + serializedName: messageBody + language: + default: + name: message_body + description: Body of message. + cli: &ref_425 + cliKey: messageBody + protocol: {} + serializationFormats: + - json + usage: + - input + language: + default: + name: send_message + description: Represents message sent to a UserSession. + namespace: '' + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 2 + simplifiable: true + cliKey: SendMessage + protocol: {} + arrays: + - *ref_118 + - *ref_119 + - *ref_120 + - *ref_121 + - *ref_122 + - *ref_123 + - *ref_124 + - *ref_125 + - *ref_126 + - *ref_127 + - *ref_128 + - *ref_129 +globalParameters: + - &ref_135 + schema: *ref_130 + implementation: Client + required: true + extensions: + x-ms-priority: 0 + language: + default: + name: subscription_id + description: The ID of the target subscription. + serializedName: subscriptionId + cli: + cliKey: subscriptionId + protocol: + http: + in: path + - &ref_132 + schema: *ref_0 + clientDefaultValue: 'https://management.azure.com' + implementation: Client + origin: 'modelerfour:synthesized/host' + required: true + extensions: + x-ms-skip-url-encoding: true + language: + default: + name: $host + description: server parameter + serializedName: $host + cli: + cliKey: $host + protocol: + http: + in: uri + - &ref_133 + schema: *ref_131 + implementation: Client + origin: 'modelerfour:synthesized/api-version' + required: true + language: + default: + name: api_version + description: Api Version + serializedName: api-version + cli: + cliKey: ApiVersion + protocol: + http: + in: query +operationGroups: + - $key: Operations + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: /providers/Microsoft.DesktopVirtualization/operations + method: get + uri: '{$host}' + signatureParameters: [] + responses: + - schema: *ref_134 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + extensions: + x-ms-examples: + OperationDescription_List: + parameters: + api-version: 2019-12-10-preview + responses: + '200': + body: + value: + - name: Microsoft.DesktopVirtualization/ssocontext/read + display: + provider: Microsoft.DesktopVirtualization + resource: ssocontext + - name: Microsoft.DesktopVirtualization/ssocontext/write + display: + provider: Microsoft.DesktopVirtualization + resource: ssocontext + language: + default: + name: list + description: List all of the available operations the Desktop Virtualization resource provider supports. + cli: + cliKey: List + protocol: {} + language: + default: + name: operations + description: '' + cli: + cliKey: Operations + protocol: {} + - $key: Workspaces + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_138 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_139 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: workspace_name + description: The name of the workspace + serializedName: workspaceName + cli: + cliKey: workspaceName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_138 + - *ref_139 + responses: + - schema: *ref_34 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Workspace_Get: + parameters: + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + workspaceName: workspace1 + responses: + '200': + body: + name: workspace1 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + language: + default: + name: get + description: Get a workspace. + cli: + cliKey: Get + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_158 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_159 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: workspace_name + description: The name of the workspace + serializedName: workspaceName + cli: + cliKey: workspaceName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_141 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content_type + description: Body Parameter content-type + serializedName: Content-Type + cli: + cliKey: content-type + protocol: + http: + in: header + - &ref_142 + schema: *ref_34 + flattened: true + implementation: Method + required: true + extensions: + x-ms-client-flatten: true + language: + default: + name: _workspace + description: Object containing Workspace definitions. + cli: + cliKey: workspace + protocol: + http: + in: body + style: json + - &ref_153 + schema: *ref_37 + implementation: Method + originalParameter: *ref_142 + pathToProperty: [] + required: false + targetProperty: *ref_143 + language: + default: + name: tags + description: Resource tags. + cli: *ref_144 + protocol: {} + - &ref_154 + schema: *ref_38 + implementation: Method + originalParameter: *ref_142 + pathToProperty: [] + required: true + targetProperty: *ref_145 + language: + default: + name: location + description: The geo-location where the resource lives + cli: *ref_146 + protocol: {} + - &ref_155 + schema: *ref_11 + implementation: Method + originalParameter: *ref_142 + pathToProperty: [] + targetProperty: *ref_147 + language: + default: + name: description + description: Description of Workspace. + cli: *ref_148 + protocol: {} + - &ref_156 + schema: *ref_12 + implementation: Method + originalParameter: *ref_142 + pathToProperty: [] + targetProperty: *ref_149 + language: + default: + name: friendly_name + description: Friendly name of Workspace. + cli: *ref_150 + protocol: {} + - &ref_157 + schema: *ref_119 + implementation: Method + originalParameter: *ref_142 + pathToProperty: [] + targetProperty: *ref_151 + language: + default: + name: application_group_references + description: List of applicationGroup resource Ids. + cli: *ref_152 + protocol: {} + signatureParameters: + - *ref_153 + - *ref_154 + - *ref_155 + - *ref_156 + - *ref_157 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' + method: put + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_158 + - *ref_159 + responses: + - schema: *ref_34 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + - schema: *ref_34 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '201' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Workspace_Create: + parameters: + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + workspace: + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + tag1: value1 + tag2: value2 + workspaceName: workspace1 + responses: + '200': + body: + name: workspace1 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + '201': + body: + name: workspace1 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + language: + default: + name: create_or_update + description: Create or update a workspace. + cli: + cliKey: CreateOrUpdate + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_160 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_161 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: workspace_name + description: The name of the workspace + serializedName: workspaceName + cli: + cliKey: workspaceName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' + method: delete + uri: '{$host}' + signatureParameters: + - *ref_160 + - *ref_161 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '204' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Workspace_Delete: + parameters: + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + workspaceName: workspace1 + responses: + '200': + name: workspace1 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + '204': {} + language: + default: + name: delete + description: Remove a workspace. + cli: + cliKey: Delete + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_176 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_177 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: workspace_name + description: The name of the workspace + serializedName: workspaceName + cli: + cliKey: workspaceName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_141 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content_type + description: Body Parameter content-type + serializedName: Content-Type + cli: + cliKey: content-type + protocol: + http: + in: header + - &ref_163 + schema: *ref_162 + flattened: true + implementation: Method + required: false + extensions: + x-ms-client-flatten: true + language: + default: + name: _workspace + description: Object containing Workspace definitions. + cli: + cliKey: workspace + protocol: + http: + in: body + style: json + - &ref_172 + schema: *ref_39 + implementation: Method + originalParameter: *ref_163 + pathToProperty: [] + targetProperty: *ref_164 + language: + default: + name: tags + description: tags to be updated + cli: *ref_165 + protocol: {} + - &ref_173 + schema: *ref_96 + implementation: Method + originalParameter: *ref_163 + pathToProperty: [] + targetProperty: *ref_166 + language: + default: + name: description + description: Description of Workspace. + cli: *ref_167 + protocol: {} + - &ref_174 + schema: *ref_97 + implementation: Method + originalParameter: *ref_163 + pathToProperty: [] + targetProperty: *ref_168 + language: + default: + name: friendly_name + description: Friendly name of Workspace. + cli: *ref_169 + protocol: {} + - &ref_175 + schema: *ref_120 + implementation: Method + originalParameter: *ref_163 + pathToProperty: [] + targetProperty: *ref_170 + language: + default: + name: application_group_references + description: List of applicationGroup links. + cli: *ref_171 + protocol: {} + signatureParameters: + - *ref_172 + - *ref_173 + - *ref_174 + - *ref_175 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' + method: patch + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_176 + - *ref_177 + responses: + - schema: *ref_34 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Workspace_Update: + parameters: + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + workspace: + properties: + description: des1 + friendlyName: friendly + tags: + tag1: value1 + tag2: value2 + workspaceName: workspace1 + responses: + '200': + body: + name: workspace1 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + language: + default: + name: update + description: Update a workspace. + cli: + cliKey: Update + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_178 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces' + method: get + uri: '{$host}' + signatureParameters: + - *ref_178 + responses: + - schema: *ref_179 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Workspace_ListByResourceGroup: + parameters: + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: workspace1 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + - name: workspace2 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace2 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: list_by_resource_group + description: List workspaces. + paging: + nextLinkName: nextLink + cli: + cliKey: ListByResourceGroup + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/workspaces' + method: get + uri: '{$host}' + signatureParameters: [] + responses: + - schema: *ref_179 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Workspace_ListBySubscription: + parameters: + api-version: 2019-12-10-preview + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: workspace1 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + - name: workspace2 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace2 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: list_by_subscription + description: List workspaces in subscription. + paging: + nextLinkName: nextLink + cli: + cliKey: ListBySubscription + protocol: {} + language: + default: + name: workspaces + description: '' + cli: + cliKey: Workspaces + protocol: {} + - $key: ApplicationGroupAssignments + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_181 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_182 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: workspace_name + description: The name of the workspace + serializedName: workspaceName + cli: + cliKey: workspaceName + protocol: + http: + in: path + - &ref_183 + schema: *ref_180 + implementation: Method + language: + default: + name: filter + description: OData filter expression. Valid properties for filtering are applicationGroupType. + serializedName: $filter + cli: + cliKey: $filter + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}/userApplicationGroupAssignments' + method: get + uri: '{$host}' + signatureParameters: + - *ref_181 + - *ref_182 + - *ref_183 + responses: + - schema: *ref_184 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ApplicationGroupAssignment_WorkspaceLevelList: + parameters: + $filter: userPrincipalName eq 'user1@microsoft.com' + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + workspaceName: workspace1 + responses: + '200': + body: + value: + - name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + - name: applicationGroup2 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: workspace_level_list + description: List application group that user can use. + paging: + nextLinkName: nextLink + cli: + cliKey: WorkspaceLevelList + protocol: {} + language: + default: + name: application_group_assignments + description: '' + cli: + cliKey: ApplicationGroupAssignments + protocol: {} + - $key: ApplicationGroups + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_185 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_186 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_group_name + description: The name of the application group + serializedName: applicationGroupName + cli: + cliKey: applicationGroupName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_185 + - *ref_186 + responses: + - schema: *ref_35 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ApplicationGroup_Get: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + language: + default: + name: get + description: Get an application group. + cli: + cliKey: Get + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_202 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_203 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_group_name + description: The name of the application group + serializedName: applicationGroupName + cli: + cliKey: applicationGroupName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_141 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content_type + description: Body Parameter content-type + serializedName: Content-Type + cli: + cliKey: content-type + protocol: + http: + in: header + - &ref_187 + schema: *ref_35 + flattened: true + implementation: Method + required: true + extensions: + x-ms-client-flatten: true + language: + default: + name: _application_group + description: Object containing ApplicationGroup definitions. + cli: + cliKey: applicationGroup + protocol: + http: + in: body + style: json + - &ref_196 + schema: *ref_37 + implementation: Method + originalParameter: *ref_187 + pathToProperty: [] + required: false + targetProperty: *ref_143 + language: + default: + name: tags + description: Resource tags. + cli: *ref_144 + protocol: {} + - &ref_197 + schema: *ref_38 + implementation: Method + originalParameter: *ref_187 + pathToProperty: [] + required: true + targetProperty: *ref_145 + language: + default: + name: location + description: The geo-location where the resource lives + cli: *ref_146 + protocol: {} + - &ref_198 + schema: *ref_14 + implementation: Method + originalParameter: *ref_187 + pathToProperty: [] + required: false + targetProperty: *ref_188 + language: + default: + name: description + description: Description of ApplicationGroup. + cli: *ref_189 + protocol: {} + - &ref_199 + schema: *ref_15 + implementation: Method + originalParameter: *ref_187 + pathToProperty: [] + required: false + targetProperty: *ref_190 + language: + default: + name: friendly_name + description: Friendly name of ApplicationGroup. + cli: *ref_191 + protocol: {} + - &ref_200 + schema: *ref_16 + implementation: Method + originalParameter: *ref_187 + pathToProperty: [] + required: true + targetProperty: *ref_192 + language: + default: + name: host_pool_arm_path + description: HostPool arm path of ApplicationGroup. + cli: *ref_193 + protocol: {} + - &ref_201 + schema: *ref_18 + implementation: Method + originalParameter: *ref_187 + pathToProperty: [] + required: true + targetProperty: *ref_194 + language: + default: + name: application_group_type + description: Resource Type of ApplicationGroup. + cli: *ref_195 + protocol: {} + signatureParameters: + - *ref_196 + - *ref_197 + - *ref_198 + - *ref_199 + - *ref_200 + - *ref_201 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' + method: put + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_202 + - *ref_203 + responses: + - schema: *ref_35 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + - schema: *ref_35 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '201' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ApplicationGroup_Create: + parameters: + api-version: 2019-12-10-preview + applicationGroup: + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + tags: + tag1: value1 + tag2: value2 + applicationGroupName: applicationGroup1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + '201': + body: + name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + language: + default: + name: create_or_update + description: Create or update an applicationGroup. + cli: + cliKey: CreateOrUpdate + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_204 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_205 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_group_name + description: The name of the application group + serializedName: applicationGroupName + cli: + cliKey: applicationGroupName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' + method: delete + uri: '{$host}' + signatureParameters: + - *ref_204 + - *ref_205 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '204' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ApplicationGroup_Delete: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + '204': {} + language: + default: + name: delete + description: Remove an applicationGroup. + cli: + cliKey: Delete + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_216 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_217 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_group_name + description: The name of the application group + serializedName: applicationGroupName + cli: + cliKey: applicationGroupName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_141 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content_type + description: Body Parameter content-type + serializedName: Content-Type + cli: + cliKey: content-type + protocol: + http: + in: header + - &ref_206 + schema: *ref_83 + flattened: true + implementation: Method + required: false + extensions: + x-ms-client-flatten: true + language: + default: + name: _application_group + description: Object containing ApplicationGroup definitions. + cli: + cliKey: applicationGroup + protocol: + http: + in: body + style: json + - &ref_213 + schema: *ref_39 + implementation: Method + originalParameter: *ref_206 + pathToProperty: [] + targetProperty: *ref_207 + language: + default: + name: tags + description: tags to be updated + cli: *ref_208 + protocol: {} + - &ref_214 + schema: *ref_40 + implementation: Method + originalParameter: *ref_206 + pathToProperty: [] + targetProperty: *ref_209 + language: + default: + name: description + description: Description of ApplicationGroup. + cli: *ref_210 + protocol: {} + - &ref_215 + schema: *ref_41 + implementation: Method + originalParameter: *ref_206 + pathToProperty: [] + targetProperty: *ref_211 + language: + default: + name: friendly_name + description: Friendly name of ApplicationGroup. + cli: *ref_212 + protocol: {} + signatureParameters: + - *ref_213 + - *ref_214 + - *ref_215 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' + method: patch + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_216 + - *ref_217 + responses: + - schema: *ref_35 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ApplicationGroups_Update: + parameters: + api-version: 2019-12-10-preview + applicationGroup: + properties: + description: des1 + friendlyName: friendly + tags: + tag1: value1 + tag2: value2 + applicationGroupName: applicationGroup1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + language: + default: + name: update + description: Update an applicationGroup. + cli: + cliKey: Update + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_218 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_219 + schema: *ref_180 + implementation: Method + language: + default: + name: filter + description: OData filter expression. Valid properties for filtering are applicationGroupType. + serializedName: $filter + cli: + cliKey: $filter + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups' + method: get + uri: '{$host}' + signatureParameters: + - *ref_218 + - *ref_219 + responses: + - schema: *ref_184 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ApplicationGroup_ListByResourceGroup: + parameters: + $filter: applicationGroupType eq 'RailApplication' + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + - name: applicationGroup2 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: list_by_resource_group + description: List applicationGroups. + paging: + nextLinkName: nextLink + cli: + cliKey: ListByResourceGroup + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_220 + schema: *ref_180 + implementation: Method + language: + default: + name: filter + description: OData filter expression. Valid properties for filtering are applicationGroupType. + serializedName: $filter + cli: + cliKey: $filter + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/applicationGroups' + method: get + uri: '{$host}' + signatureParameters: + - *ref_220 + responses: + - schema: *ref_184 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ApplicationGroup_List: + parameters: + $filter: applicationGroupType eq 'RailApplication' + api-version: 2019-12-10-preview + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + - name: applicationGroup2 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: list_by_subscription + description: List applicationGroups in subscription. + paging: + nextLinkName: nextLink + cli: + cliKey: ListBySubscription + protocol: {} + language: + default: + name: application_groups + description: '' + cli: + cliKey: ApplicationGroups + protocol: {} + - $key: StartMenuItems + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_221 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_222 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_group_name + description: The name of the application group + serializedName: applicationGroupName + cli: + cliKey: applicationGroupName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/startMenuItems' + method: get + uri: '{$host}' + signatureParameters: + - *ref_221 + - *ref_222 + responses: + - schema: *ref_223 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + StartMenuItem_List: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: application1 + type: Microsoft.DesktopVirtualization/applicationGroups/startMenuItems + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/startMenuItem/application1 + properties: + appAlias: word + commandLineArguments: arguments + filePath: /path/to/file + friendlyName: friendly + iconIndex: 1 + iconPath: /path/to/icon + - name: application2 + type: Microsoft.DesktopVirtualization/applicationGroups/startMenuItems + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/startMenuItem/application2 + properties: + appAlias: excel + commandLineArguments: arguments + filePath: /path/to/file + friendlyName: friendly + iconIndex: 1 + iconPath: /path/to/icon + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: list + description: List start menu items in the given application group. + paging: + nextLinkName: nextLink + cli: + cliKey: List + protocol: {} + language: + default: + name: start_menu_items + description: '' + cli: + cliKey: StartMenuItems + protocol: {} + - $key: Applications + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_224 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_225 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_group_name + description: The name of the application group + serializedName: applicationGroupName + cli: + cliKey: applicationGroupName + protocol: + http: + in: path + - &ref_226 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_name + description: The name of the application within the specified application group + serializedName: applicationName + cli: + cliKey: applicationName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_224 + - *ref_225 + - *ref_226 + responses: + - schema: *ref_85 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Application_Get: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + applicationName: application1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1/application1 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + language: + default: + name: get + description: Get an application. + cli: + cliKey: Get + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_252 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_253 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_group_name + description: The name of the application group + serializedName: applicationGroupName + cli: + cliKey: applicationGroupName + protocol: + http: + in: path + - &ref_254 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_name + description: The name of the application within the specified application group + serializedName: applicationName + cli: + cliKey: applicationName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_141 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content_type + description: Body Parameter content-type + serializedName: Content-Type + cli: + cliKey: content-type + protocol: + http: + in: header + - &ref_227 + schema: *ref_85 + flattened: true + implementation: Method + required: true + extensions: + x-ms-client-flatten: true + language: + default: + name: _application + description: Object containing Application definitions. + cli: + cliKey: application + protocol: + http: + in: body + style: json + - &ref_244 + schema: *ref_48 + implementation: Method + originalParameter: *ref_227 + pathToProperty: [] + required: false + targetProperty: *ref_228 + language: + default: + name: description + description: Description of Application. + cli: *ref_229 + protocol: {} + - &ref_245 + schema: *ref_49 + implementation: Method + originalParameter: *ref_227 + pathToProperty: [] + required: false + targetProperty: *ref_230 + language: + default: + name: friendly_name + description: Friendly name of Application. + cli: *ref_231 + protocol: {} + - &ref_246 + schema: *ref_50 + implementation: Method + originalParameter: *ref_227 + pathToProperty: [] + required: false + targetProperty: *ref_232 + language: + default: + name: file_path + description: Specifies a path for the executable file for the application. + cli: *ref_233 + protocol: {} + - &ref_247 + schema: *ref_51 + implementation: Method + originalParameter: *ref_227 + pathToProperty: [] + required: true + targetProperty: *ref_234 + language: + default: + name: command_line_setting + description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' + cli: *ref_235 + protocol: {} + - &ref_248 + schema: *ref_52 + implementation: Method + originalParameter: *ref_227 + pathToProperty: [] + required: false + targetProperty: *ref_236 + language: + default: + name: command_line_arguments + description: Command Line Arguments for Application. + cli: *ref_237 + protocol: {} + - &ref_249 + schema: *ref_53 + implementation: Method + originalParameter: *ref_227 + pathToProperty: [] + required: false + targetProperty: *ref_238 + language: + default: + name: show_in_portal + description: Specifies whether to show the RemoteApp program in the RD Web Access server. + cli: *ref_239 + protocol: {} + - &ref_250 + schema: *ref_54 + implementation: Method + originalParameter: *ref_227 + pathToProperty: [] + required: false + targetProperty: *ref_240 + language: + default: + name: icon_path + description: Path to icon. + cli: *ref_241 + protocol: {} + - &ref_251 + schema: *ref_47 + implementation: Method + originalParameter: *ref_227 + pathToProperty: [] + required: false + targetProperty: *ref_242 + language: + default: + name: icon_index + description: Index of the icon. + cli: *ref_243 + protocol: {} + signatureParameters: + - *ref_244 + - *ref_245 + - *ref_246 + - *ref_247 + - *ref_248 + - *ref_249 + - *ref_250 + - *ref_251 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' + method: put + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_252 + - *ref_253 + - *ref_254 + responses: + - schema: *ref_85 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + - schema: *ref_85 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '201' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Application_Create: + parameters: + api-version: 2019-12-10-preview + application: + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconIndex: 1 + iconPath: icon + showInPortal: true + applicationGroupName: applicationGroup1 + applicationName: application1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1/application1 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + '201': + body: + name: applicationGroup1/application1 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + language: + default: + name: create_or_update + description: Create or update an application. + cli: + cliKey: CreateOrUpdate + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_255 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_256 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_group_name + description: The name of the application group + serializedName: applicationGroupName + cli: + cliKey: applicationGroupName + protocol: + http: + in: path + - &ref_257 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_name + description: The name of the application within the specified application group + serializedName: applicationName + cli: + cliKey: applicationName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' + method: delete + uri: '{$host}' + signatureParameters: + - *ref_255 + - *ref_256 + - *ref_257 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '204' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Application_Delete: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + applicationName: application1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + name: applicationGroup1/application1 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + '204': {} + language: + default: + name: delete + description: Remove an application. + cli: + cliKey: Delete + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_287 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_288 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_group_name + description: The name of the application group + serializedName: applicationGroupName + cli: + cliKey: applicationGroupName + protocol: + http: + in: path + - &ref_289 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_name + description: The name of the application within the specified application group + serializedName: applicationName + cli: + cliKey: applicationName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_141 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content_type + description: Body Parameter content-type + serializedName: Content-Type + cli: + cliKey: content-type + protocol: + http: + in: header + - &ref_259 + schema: *ref_258 + flattened: true + implementation: Method + required: false + extensions: + x-ms-client-flatten: true + language: + default: + name: _application + description: Object containing Application definitions. + cli: + cliKey: application + protocol: + http: + in: body + style: json + - &ref_278 + schema: *ref_39 + implementation: Method + originalParameter: *ref_259 + pathToProperty: [] + targetProperty: *ref_260 + language: + default: + name: tags + description: tags to be updated + cli: *ref_261 + protocol: {} + - &ref_279 + schema: *ref_102 + implementation: Method + originalParameter: *ref_259 + pathToProperty: [] + targetProperty: *ref_262 + language: + default: + name: description + description: Description of Application. + cli: *ref_263 + protocol: {} + - &ref_280 + schema: *ref_103 + implementation: Method + originalParameter: *ref_259 + pathToProperty: [] + targetProperty: *ref_264 + language: + default: + name: friendly_name + description: Friendly name of Application. + cli: *ref_265 + protocol: {} + - &ref_281 + schema: *ref_104 + implementation: Method + originalParameter: *ref_259 + pathToProperty: [] + targetProperty: *ref_266 + language: + default: + name: file_path + description: Specifies a path for the executable file for the application. + cli: *ref_267 + protocol: {} + - &ref_282 + schema: *ref_51 + implementation: Method + originalParameter: *ref_259 + pathToProperty: [] + targetProperty: *ref_268 + language: + default: + name: command_line_setting + description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' + cli: *ref_269 + protocol: {} + - &ref_283 + schema: *ref_105 + implementation: Method + originalParameter: *ref_259 + pathToProperty: [] + targetProperty: *ref_270 + language: + default: + name: command_line_arguments + description: Command Line Arguments for Application. + cli: *ref_271 + protocol: {} + - &ref_284 + schema: *ref_53 + implementation: Method + originalParameter: *ref_259 + pathToProperty: [] + targetProperty: *ref_272 + language: + default: + name: show_in_portal + description: Specifies whether to show the RemoteApp program in the RD Web Access server. + cli: *ref_273 + protocol: {} + - &ref_285 + schema: *ref_106 + implementation: Method + originalParameter: *ref_259 + pathToProperty: [] + targetProperty: *ref_274 + language: + default: + name: icon_path + description: Path to icon. + cli: *ref_275 + protocol: {} + - &ref_286 + schema: *ref_47 + implementation: Method + originalParameter: *ref_259 + pathToProperty: [] + targetProperty: *ref_276 + language: + default: + name: icon_index + description: Index of the icon. + cli: *ref_277 + protocol: {} + signatureParameters: + - *ref_278 + - *ref_279 + - *ref_280 + - *ref_281 + - *ref_282 + - *ref_283 + - *ref_284 + - *ref_285 + - *ref_286 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' + method: patch + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_287 + - *ref_288 + - *ref_289 + responses: + - schema: *ref_85 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Application_Update: + parameters: + api-version: 2019-12-10-preview + application: + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconIndex: 1 + iconPath: icon + showInPortal: true + applicationGroupName: applicationGroup1 + applicationName: application1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1/application1 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + language: + default: + name: update + description: Update an application. + cli: + cliKey: Update + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_290 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_291 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_group_name + description: The name of the application group + serializedName: applicationGroupName + cli: + cliKey: applicationGroupName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications' + method: get + uri: '{$host}' + signatureParameters: + - *ref_290 + - *ref_291 + responses: + - schema: *ref_292 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Applications_List: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: applicationGroup1/application1 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + - name: applicationGroup1/application2 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application2 + properties: + description: des2 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: list + description: List applications. + paging: + nextLinkName: nextLink + cli: + cliKey: List + protocol: {} + language: + default: + name: applications + description: '' + cli: + cliKey: Applications + protocol: {} + - $key: Desktops + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_293 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_294 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_group_name + description: The name of the application group + serializedName: applicationGroupName + cli: + cliKey: applicationGroupName + protocol: + http: + in: path + - &ref_295 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: desktop_name + description: The name of the desktop within the specified desktop group + serializedName: desktopName + cli: + cliKey: desktopName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops/{desktopName}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_293 + - *ref_294 + - *ref_295 + responses: + - schema: *ref_86 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Desktop_Get: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + desktopName: SessionDesktop + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1/SessionDesktop + type: Microsoft.DesktopVirtualization/applicationGroups/desktops + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/SessionDesktop + properties: + description: des1 + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + language: + default: + name: get + description: Get a desktop. + cli: + cliKey: Get + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_307 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_308 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_group_name + description: The name of the application group + serializedName: applicationGroupName + cli: + cliKey: applicationGroupName + protocol: + http: + in: path + - &ref_309 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: desktop_name + description: The name of the desktop within the specified desktop group + serializedName: desktopName + cli: + cliKey: desktopName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_141 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content_type + description: Body Parameter content-type + serializedName: Content-Type + cli: + cliKey: content-type + protocol: + http: + in: header + - &ref_297 + schema: *ref_296 + flattened: true + implementation: Method + required: false + extensions: + x-ms-client-flatten: true + language: + default: + name: _desktop + description: Object containing Desktop definitions. + cli: + cliKey: desktop + protocol: + http: + in: body + style: json + - &ref_304 + schema: *ref_39 + implementation: Method + originalParameter: *ref_297 + pathToProperty: [] + targetProperty: *ref_298 + language: + default: + name: tags + description: tags to be updated + cli: *ref_299 + protocol: {} + - &ref_305 + schema: *ref_108 + implementation: Method + originalParameter: *ref_297 + pathToProperty: [] + targetProperty: *ref_300 + language: + default: + name: description + description: Description of Desktop. + cli: *ref_301 + protocol: {} + - &ref_306 + schema: *ref_109 + implementation: Method + originalParameter: *ref_297 + pathToProperty: [] + targetProperty: *ref_302 + language: + default: + name: friendly_name + description: Friendly name of Desktop. + cli: *ref_303 + protocol: {} + signatureParameters: + - *ref_304 + - *ref_305 + - *ref_306 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops/{desktopName}' + method: patch + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_307 + - *ref_308 + - *ref_309 + responses: + - schema: *ref_86 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Desktop_Update: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + desktop: + properties: + description: des1 + friendlyName: friendly + desktopName: SessionDesktop + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1/SessionDesktop + type: Microsoft.DesktopVirtualization/applicationGroups/desktops + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/desktops/SessionDesktop + properties: + description: des1 + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + language: + default: + name: update + description: Update a desktop. + cli: + cliKey: Update + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_310 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_311 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_group_name + description: The name of the application group + serializedName: applicationGroupName + cli: + cliKey: applicationGroupName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops' + method: get + uri: '{$host}' + signatureParameters: + - *ref_310 + - *ref_311 + responses: + - schema: *ref_312 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Desktop_List: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: applicationGroup1/SessionDesktop + type: Microsoft.DesktopVirtualization/applicationGroups/desktops + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/SessionDesktop + properties: + description: des1 + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + language: + default: + name: list + description: List desktops. + cli: + cliKey: List + protocol: {} + language: + default: + name: desktops + description: '' + cli: + cliKey: Desktops + protocol: {} + - $key: HostPools + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_313 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_314 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_313 + - *ref_314 + responses: + - schema: *ref_36 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + HostPool_Get: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: hostPool1 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2008-09-22T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + language: + default: + name: get + description: Get a host pool. + cli: + cliKey: Get + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_354 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_355 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_141 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content_type + description: Body Parameter content-type + serializedName: Content-Type + cli: + cliKey: content-type + protocol: + http: + in: header + - &ref_315 + schema: *ref_36 + flattened: true + implementation: Method + required: true + extensions: + x-ms-client-flatten: true + language: + default: + name: _host_pool + description: Object containing HostPool definitions. + cli: + cliKey: hostPool + protocol: + http: + in: body + style: json + - &ref_340 + schema: *ref_37 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: false + targetProperty: *ref_143 + language: + default: + name: tags + description: Resource tags. + cli: *ref_144 + protocol: {} + - &ref_341 + schema: *ref_38 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: true + targetProperty: *ref_145 + language: + default: + name: location + description: The geo-location where the resource lives + cli: *ref_146 + protocol: {} + - &ref_342 + schema: *ref_19 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: false + targetProperty: *ref_316 + language: + default: + name: friendly_name + description: Friendly name of HostPool. + cli: *ref_317 + protocol: {} + - &ref_343 + schema: *ref_20 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: false + targetProperty: *ref_318 + language: + default: + name: description + description: Description of HostPool. + cli: *ref_319 + protocol: {} + - &ref_344 + schema: *ref_21 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: true + targetProperty: *ref_320 + language: + default: + name: host_pool_type + description: HostPool type for desktop. + cli: *ref_321 + protocol: {} + - &ref_345 + schema: *ref_22 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: true + targetProperty: *ref_322 + language: + default: + name: personal_desktop_assignment_type + description: PersonalDesktopAssignment type for HostPool. + cli: *ref_323 + protocol: {} + - &ref_346 + schema: *ref_23 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: false + targetProperty: *ref_324 + language: + default: + name: custom_rdp_property + description: Custom rdp property of HostPool. + cli: *ref_325 + protocol: {} + - &ref_347 + schema: *ref_24 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: false + targetProperty: *ref_326 + language: + default: + name: max_session_limit + description: The max session limit of HostPool. + cli: *ref_327 + protocol: {} + - &ref_348 + schema: *ref_25 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: true + targetProperty: *ref_328 + language: + default: + name: load_balancer_type + description: The type of the load balancer. + cli: *ref_329 + protocol: {} + - &ref_349 + schema: *ref_26 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: false + targetProperty: *ref_330 + language: + default: + name: ring + description: The ring number of HostPool. + cli: *ref_331 + protocol: {} + - &ref_350 + schema: *ref_27 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: false + targetProperty: *ref_332 + language: + default: + name: validation_environment + description: Is validation environment. + cli: *ref_333 + protocol: {} + - &ref_351 + schema: *ref_111 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: false + targetProperty: *ref_334 + language: + default: + name: registration_info + description: The registration info of HostPool. + cli: *ref_335 + protocol: {} + - &ref_352 + schema: *ref_31 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: false + targetProperty: *ref_336 + language: + default: + name: vm_template + description: VM template for sessionhosts configuration within hostpool. + cli: *ref_337 + protocol: {} + - &ref_353 + schema: *ref_33 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: false + targetProperty: *ref_338 + language: + default: + name: sso_context + description: Path to keyvault containing ssoContext secret. + cli: *ref_339 + protocol: {} + signatureParameters: + - *ref_340 + - *ref_341 + - *ref_342 + - *ref_343 + - *ref_344 + - *ref_345 + - *ref_346 + - *ref_347 + - *ref_348 + - *ref_349 + - *ref_350 + - *ref_351 + - *ref_352 + - *ref_353 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' + method: put + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_354 + - *ref_355 + responses: + - schema: *ref_36 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + - schema: *ref_36 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '201' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + HostPool_Create: + parameters: + api-version: 2019-12-10-preview + hostPool: + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2020-10-01T14:01:54.9571247Z' + registrationTokenOperation: Update + ssoContext: KeyVaultPath + tags: + tag1: value1 + tag2: value2 + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: hostPool1 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2020-10-01T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + '201': + body: + name: hostPool1 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2020-10-01T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + language: + default: + name: create_or_update + description: Create or update a host pool. + cli: + cliKey: CreateOrUpdate + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_357 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_358 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_359 + schema: *ref_356 + implementation: Method + language: + default: + name: force + description: Force flag to delete sessionHost. + serializedName: force + cli: + cliKey: force + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' + method: delete + uri: '{$host}' + signatureParameters: + - *ref_357 + - *ref_358 + - *ref_359 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '204' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + HostPool_Delete: + parameters: + api-version: 2019-12-10-preview + force: true + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + name: hostPool1 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2008-09-22T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + '204': {} + language: + default: + name: delete + description: Remove a host pool. + cli: + cliKey: Delete + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_394 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_395 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_141 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content_type + description: Body Parameter content-type + serializedName: Content-Type + cli: + cliKey: content-type + protocol: + http: + in: header + - &ref_360 + schema: *ref_87 + flattened: true + implementation: Method + required: false + extensions: + x-ms-client-flatten: true + language: + default: + name: _host_pool + description: Object containing HostPool definitions. + cli: + cliKey: hostPool + protocol: + http: + in: body + style: json + - &ref_383 + schema: *ref_39 + implementation: Method + originalParameter: *ref_360 + pathToProperty: [] + targetProperty: *ref_361 + language: + default: + name: tags + description: tags to be updated + cli: *ref_362 + protocol: {} + - &ref_384 + schema: *ref_61 + implementation: Method + originalParameter: *ref_360 + pathToProperty: [] + targetProperty: *ref_363 + language: + default: + name: friendly_name + description: Friendly name of HostPool. + cli: *ref_364 + protocol: {} + - &ref_385 + schema: *ref_62 + implementation: Method + originalParameter: *ref_360 + pathToProperty: [] + targetProperty: *ref_365 + language: + default: + name: description + description: Description of HostPool. + cli: *ref_366 + protocol: {} + - &ref_386 + schema: *ref_63 + implementation: Method + originalParameter: *ref_360 + pathToProperty: [] + targetProperty: *ref_367 + language: + default: + name: custom_rdp_property + description: Custom rdp property of HostPool. + cli: *ref_368 + protocol: {} + - &ref_387 + schema: *ref_24 + implementation: Method + originalParameter: *ref_360 + pathToProperty: [] + targetProperty: *ref_369 + language: + default: + name: max_session_limit + description: The max session limit of HostPool. + cli: *ref_370 + protocol: {} + - &ref_388 + schema: *ref_22 + implementation: Method + originalParameter: *ref_360 + pathToProperty: [] + targetProperty: *ref_371 + language: + default: + name: personal_desktop_assignment_type + description: PersonalDesktopAssignment type for HostPool. + cli: *ref_372 + protocol: {} + - &ref_389 + schema: *ref_25 + implementation: Method + originalParameter: *ref_360 + pathToProperty: [] + targetProperty: *ref_373 + language: + default: + name: load_balancer_type + description: The type of the load balancer. + cli: *ref_374 + protocol: {} + - &ref_390 + schema: *ref_26 + implementation: Method + originalParameter: *ref_360 + pathToProperty: [] + targetProperty: *ref_375 + language: + default: + name: ring + description: The ring number of HostPool. + cli: *ref_376 + protocol: {} + - &ref_391 + schema: *ref_27 + implementation: Method + originalParameter: *ref_360 + pathToProperty: [] + targetProperty: *ref_377 + language: + default: + name: validation_environment + description: Is validation environment. + cli: *ref_378 + protocol: {} + - &ref_392 + schema: *ref_112 + implementation: Method + originalParameter: *ref_360 + pathToProperty: [] + targetProperty: *ref_379 + language: + default: + name: registration_info + description: The registration info of HostPool. + cli: *ref_380 + protocol: {} + - &ref_393 + schema: *ref_64 + implementation: Method + originalParameter: *ref_360 + pathToProperty: [] + targetProperty: *ref_381 + language: + default: + name: sso_context + description: Path to keyvault containing ssoContext secret. + cli: *ref_382 + protocol: {} + signatureParameters: + - *ref_383 + - *ref_384 + - *ref_385 + - *ref_386 + - *ref_387 + - *ref_388 + - *ref_389 + - *ref_390 + - *ref_391 + - *ref_392 + - *ref_393 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' + method: patch + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_394 + - *ref_395 + responses: + - schema: *ref_36 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + HostPool_Update: + parameters: + api-version: 2019-12-10-preview + hostPool: + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2020-10-02T14:01:54.9571247Z' + ssoContext: KeyVaultPath + tags: + tag1: value1 + tag2: value2 + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: hostPool1 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2008-09-22T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + language: + default: + name: update + description: Update a host pool. + cli: + cliKey: Update + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_396 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools' + method: get + uri: '{$host}' + signatureParameters: + - *ref_396 + responses: + - schema: *ref_397 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + HostPool_ListByResourceGroup: + parameters: + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: hostPool1 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2008-09-22T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + - name: hostPool2 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool2 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2008-09-22T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: list_by_resource_group + description: List hostPools. + paging: + nextLinkName: nextLink + cli: + cliKey: ListByResourceGroup + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/hostPools' + method: get + uri: '{$host}' + signatureParameters: [] + responses: + - schema: *ref_397 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + HostPool_List: + parameters: + api-version: 2019-12-10-preview + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: hostPool1 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2008-09-22T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + - name: hostPool2 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool2 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2008-09-22T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: list + description: List hostPools in subscription. + paging: + nextLinkName: nextLink + cli: + cliKey: List + protocol: {} + language: + default: + name: host_pools + description: '' + cli: + cliKey: HostPools + protocol: {} + - $key: UserSessions + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_398 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_399 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_400 + schema: *ref_180 + implementation: Method + language: + default: + name: filter + description: OData filter expression. Valid properties for filtering are userprincipalname and sessionstate. + serializedName: $filter + cli: + cliKey: $filter + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/userSessions' + method: get + uri: '{$host}' + signatureParameters: + - *ref_398 + - *ref_399 + - *ref_400 + responses: + - schema: *ref_401 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + UserSession_ListByHostPool: + parameters: + $filter: userPrincipalName eq 'user1@microsoft.com' and state eq 'active' + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: '1' + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 + properties: + activeDirectoryUserName: WVDARM\user1 + applicationType: Desktop + createTime: '2008-09-22T14:01:54.9571247Z' + sessionState: Active + userPrincipalName: user1@microsoft.com + - name: '2' + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/2 + properties: + activeDirectoryUserName: WVDARM\user1 + applicationType: Desktop + createTime: '2008-09-22T14:01:54.9571247Z' + sessionState: Active + userPrincipalName: user1@microsoft.com + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: list_by_host_pool + description: List userSessions. + paging: + nextLinkName: nextLink + cli: + cliKey: ListByHostPool + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_404 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_405 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_406 + schema: *ref_402 + implementation: Method + required: true + language: + default: + name: session_host_name + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + cliKey: sessionHostName + protocol: + http: + in: path + - &ref_407 + schema: *ref_403 + implementation: Method + required: true + language: + default: + name: user_session_id + description: The name of the user session within the specified session host + serializedName: userSessionId + cli: + cliKey: userSessionId + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_404 + - *ref_405 + - *ref_406 + - *ref_407 + responses: + - schema: *ref_88 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + UserSession_Get: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + userSessionId: '1' + responses: + '200': + body: + name: '1' + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 + properties: + activeDirectoryUserName: WVDARM\user1 + applicationType: Desktop + createTime: '2008-09-22T14:01:54.9571247Z' + sessionState: Active + userPrincipalName: user1@microsoft.com + language: + default: + name: get + description: Get a userSession. + cli: + cliKey: Get + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_408 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_409 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_410 + schema: *ref_402 + implementation: Method + required: true + language: + default: + name: session_host_name + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + cliKey: sessionHostName + protocol: + http: + in: path + - &ref_411 + schema: *ref_403 + implementation: Method + required: true + language: + default: + name: user_session_id + description: The name of the user session within the specified session host + serializedName: userSessionId + cli: + cliKey: userSessionId + protocol: + http: + in: path + - &ref_412 + schema: *ref_356 + implementation: Method + language: + default: + name: force + description: Force flag to login off userSession. + serializedName: force + cli: + cliKey: force + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}' + method: delete + uri: '{$host}' + signatureParameters: + - *ref_408 + - *ref_409 + - *ref_410 + - *ref_411 + - *ref_412 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '204' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + UserSession_Delete: + parameters: + api-version: 2019-12-10-preview + force: true + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + userSessionId: '1' + responses: + '200': + name: '1' + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 + properties: + activeDirectoryUserName: WVDARM\user1 + applicationType: Desktop + createTime: '2008-09-22T14:01:54.9571247Z' + sessionState: Active + userPrincipalName: user1@microsoft.com + '204': {} + language: + default: + name: delete + description: Remove a userSession. + cli: + cliKey: Delete + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_413 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_414 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_415 + schema: *ref_402 + implementation: Method + required: true + language: + default: + name: session_host_name + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + cliKey: sessionHostName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions' + method: get + uri: '{$host}' + signatureParameters: + - *ref_413 + - *ref_414 + - *ref_415 + responses: + - schema: *ref_401 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + UserSession_List: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: '1' + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 + properties: + activeDirectoryUserName: WVDARM\user1 + applicationType: Desktop + createTime: '2008-09-22T14:01:54.9571247Z' + sessionState: Active + userPrincipalName: user1@microsoft.com + - name: '2' + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/2 + properties: + activeDirectoryUserName: WVDARM\user1 + applicationType: Desktop + createTime: '2008-09-22T14:01:54.9571247Z' + sessionState: Active + userPrincipalName: user1@microsoft.com + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: list + description: List userSessions. + paging: + nextLinkName: nextLink + cli: + cliKey: List + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_416 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_417 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_418 + schema: *ref_402 + implementation: Method + required: true + language: + default: + name: session_host_name + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + cliKey: sessionHostName + protocol: + http: + in: path + - &ref_419 + schema: *ref_403 + implementation: Method + required: true + language: + default: + name: user_session_id + description: The name of the user session within the specified session host + serializedName: userSessionId + cli: + cliKey: userSessionId + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}/disconnect' + method: post + uri: '{$host}' + signatureParameters: + - *ref_416 + - *ref_417 + - *ref_418 + - *ref_419 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + UserSession_Disconnect_Post: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + userSessionId: '1' + responses: + '200': {} + language: + default: + name: disconnect + description: Disconnect a userSession. + cli: + cliKey: Disconnect + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_428 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_429 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_430 + schema: *ref_402 + implementation: Method + required: true + language: + default: + name: session_host_name + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + cliKey: sessionHostName + protocol: + http: + in: path + - &ref_431 + schema: *ref_403 + implementation: Method + required: true + language: + default: + name: user_session_id + description: The name of the user session within the specified session host + serializedName: userSessionId + cli: + cliKey: userSessionId + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_141 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content_type + description: Body Parameter content-type + serializedName: Content-Type + cli: + cliKey: content-type + protocol: + http: + in: header + - &ref_421 + schema: *ref_420 + flattened: true + implementation: Method + required: false + extensions: + x-ms-client-flatten: true + language: + default: + name: _send_message + description: Object containing message includes title and message body + cli: + cliKey: sendMessage + protocol: + http: + in: body + style: json + - &ref_426 + schema: *ref_116 + implementation: Method + originalParameter: *ref_421 + pathToProperty: [] + targetProperty: *ref_422 + language: + default: + name: message_title + description: Title of message. + cli: *ref_423 + protocol: {} + - &ref_427 + schema: *ref_117 + implementation: Method + originalParameter: *ref_421 + pathToProperty: [] + targetProperty: *ref_424 + language: + default: + name: message_body + description: Body of message. + cli: *ref_425 + protocol: {} + signatureParameters: + - *ref_426 + - *ref_427 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}/sendMessage' + method: post + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_428 + - *ref_429 + - *ref_430 + - *ref_431 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + UserSession_SendMessage_Post: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sendMessage: + messageBody: body + messageTitle: title + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + userSessionId: '1' + responses: + '200': {} + language: + default: + name: send_message + description: Send a message to a user. + cli: + cliKey: SendMessage + protocol: {} + language: + default: + name: user_sessions + description: '' + cli: + cliKey: UserSessions + protocol: {} + - $key: SessionHosts + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_432 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_433 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_434 + schema: *ref_402 + implementation: Method + required: true + language: + default: + name: session_host_name + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + cliKey: sessionHostName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_432 + - *ref_433 + - *ref_434 + responses: + - schema: *ref_89 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + SessionHost_Get: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: sessionHost1.microsoft.com + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com + properties: + agentVersion: 1.0.0.1391 + allowNewSession: true + assignedUser: user1@microsoft.com + lastHeartBeat: '2008-09-22T14:01:54.9571247Z' + lastUpdateTime: '2008-09-22T14:01:54.9571247Z' + osVersion: 10.0.17763 + sessions: 1 + status: Available + statusTimestamp: '2008-09-22T14:01:54.9571247Z' + sxSStackVersion: rdp-sxs190816002 + updateErrorMessage: '' + updateState: Succeeded + language: + default: + name: get + description: Get a session host. + cli: + cliKey: Get + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_435 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_436 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_437 + schema: *ref_402 + implementation: Method + required: true + language: + default: + name: session_host_name + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + cliKey: sessionHostName + protocol: + http: + in: path + - &ref_438 + schema: *ref_356 + implementation: Method + language: + default: + name: force + description: Force flag to force sessionHost deletion even when userSession exists. + serializedName: force + cli: + cliKey: force + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}' + method: delete + uri: '{$host}' + signatureParameters: + - *ref_435 + - *ref_436 + - *ref_437 + - *ref_438 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '204' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + SessionHost_Delete: + parameters: + api-version: 2019-12-10-preview + force: true + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + name: sessionHost1.microsoft.com + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com + properties: + agentVersion: 1.0.0.1391 + allowNewSession: true + assignedUser: user1@microsoft.com + lastHeartBeat: '2008-09-22T14:01:54.9571247Z' + lastUpdateTime: '2008-09-22T14:01:54.9571247Z' + osVersion: 10.0.17763 + sessions: 1 + status: Available + statusTimestamp: '2008-09-22T14:01:54.9571247Z' + sxSStackVersion: rdp-sxs190816002 + updateErrorMessage: '' + updateState: Succeeded + '204': {} + language: + default: + name: delete + description: Remove a SessionHost. + cli: + cliKey: Delete + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_446 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_447 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_448 + schema: *ref_402 + implementation: Method + required: true + language: + default: + name: session_host_name + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + cliKey: sessionHostName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_141 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content_type + description: Body Parameter content-type + serializedName: Content-Type + cli: + cliKey: content-type + protocol: + http: + in: header + - &ref_439 + schema: *ref_90 + flattened: true + implementation: Method + required: false + extensions: + x-ms-client-flatten: true + language: + default: + name: _session_host + description: Object containing SessionHost definitions. + cli: + cliKey: sessionHost + protocol: + http: + in: body + style: json + - &ref_444 + schema: *ref_73 + implementation: Method + originalParameter: *ref_439 + pathToProperty: [] + targetProperty: *ref_440 + language: + default: + name: allow_new_session + description: Allow a new session. + cli: *ref_441 + protocol: {} + - &ref_445 + schema: *ref_82 + implementation: Method + originalParameter: *ref_439 + pathToProperty: [] + targetProperty: *ref_442 + language: + default: + name: assigned_user + description: User assigned to SessionHost. + cli: *ref_443 + protocol: {} + signatureParameters: + - *ref_444 + - *ref_445 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}' + method: patch + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_446 + - *ref_447 + - *ref_448 + responses: + - schema: *ref_89 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + SessionHost_Update: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHost: + properties: + allowNewSession: true + assignedUser: user1@microsoft.com + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: sessionHost1.microsoft.com + type: Microsoft.DesktopVirtualization/hostPools/sessionhosts + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com + properties: + agentVersion: 1.0.0.1391 + allowNewSession: true + assignedUser: user1@microsoft.com + lastHeartBeat: '2019-01-11T19:27:13.6108027Z' + lastUpdateTime: '2008-09-22T14:01:54.9571247Z' + osVersion: 10.0.17763 + sessions: 1 + status: Available + statusTimestamp: '2019-01-24T20:00:08.2893033Z' + sxSStackVersion: rdp-sxs190816002 + updateErrorMessage: '' + updateState: Succeeded + language: + default: + name: update + description: Update a session host. + cli: + cliKey: Update + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_449 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_450 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts' + method: get + uri: '{$host}' + signatureParameters: + - *ref_449 + - *ref_450 + responses: + - schema: *ref_451 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + SessionHost_List: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: sessionHost1.microsoft.com + type: Microsoft.DesktopVirtualization/hostPools/sessionhosts + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com + properties: + agentVersion: 1.0.0.1391 + allowNewSession: true + assignedUser: user1@microsoft.com + lastHeartBeat: '2008-09-22T14:01:54.9571247Z' + lastUpdateTime: '2008-09-22T14:01:54.9571247Z' + osVersion: 10.0.17763 + sessions: 1 + status: Available + statusTimestamp: '2008-09-22T14:01:54.9571247Z' + sxSStackVersion: rdp-sxs190816002 + updateErrorMessage: '' + updateState: Succeeded + - name: sessionHost2.microsoft.com + type: Microsoft.DesktopVirtualization/hostPools/sessionhosts + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost2microsoft.com + properties: + agentVersion: 1.0.0.1391 + allowNewSession: true + assignedUser: user2@microsoft.com + lastHeartBeat: '2008-09-22T14:01:54.9571247Z' + lastUpdateTime: '2008-09-22T14:01:54.9571247Z' + osVersion: 10.0.17763 + sessions: 1 + status: Available + statusTimestamp: '2008-09-22T14:01:54.9571247Z' + sxSStackVersion: rdp-sxs190816002 + updateErrorMessage: '' + updateState: Succeeded + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: list + description: List sessionHosts. + paging: + nextLinkName: nextLink + cli: + cliKey: List + protocol: {} + language: + default: + name: session_hosts + description: '' + cli: + cliKey: SessionHosts + protocol: {} + - $key: ActiveApplications + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_452 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_453 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_454 + schema: *ref_402 + implementation: Method + required: true + language: + default: + name: session_host_name + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + cliKey: sessionHostName + protocol: + http: + in: path + - &ref_455 + schema: *ref_180 + implementation: Method + language: + default: + name: filter + description: OData filter expression. Valid properties for filtering are userprincipalname and sessionstate. + serializedName: $filter + cli: + cliKey: $filter + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/activeApplications' + method: get + uri: '{$host}' + signatureParameters: + - *ref_452 + - *ref_453 + - *ref_454 + - *ref_455 + responses: + - schema: *ref_292 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ActiveApplications_List: + parameters: + $filter: userPrincipalName eq 'user1@microsoft.com' + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: applicationGroup1/application1 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + - name: applicationGroup1/application2 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application2 + properties: + description: des2 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: list_by_session_host + description: List applications for the given session host. + paging: + nextLinkName: nextLink + cli: + cliKey: ListBySessionHost + protocol: {} + language: + default: + name: active_applications + description: '' + cli: + cliKey: ActiveApplications + protocol: {} +language: + default: + name: DesktopVirtualizationAPIClient + description: '' +protocol: + http: {} diff --git a/src/desktopvirtualization/_az_debug/clicommon-000080-modifier-post-simplified.yaml b/src/desktopvirtualization/_az_debug/clicommon-000080-modifier-post-simplified.yaml new file mode 100644 index 00000000000..59345b97497 --- /dev/null +++ b/src/desktopvirtualization/_az_debug/clicommon-000080-modifier-post-simplified.yaml @@ -0,0 +1,2002 @@ +operationGroups: + all: + - operationGroupName: operations + cli: + cliKey: Operations + operations: + - operationName: list + cli: + cliKey: List + hidden: true + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + - operationGroupName: workspaces + cli: + cliKey: Workspaces + operations: + - operationName: get + cli: + cliKey: Get + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscription_id(string^string) + cli: + cliKey: subscriptionId + - parameterName: resource_group_name(string^string) + cli: + cliKey: resourceGroupName + - parameterName: workspace_name(string^string) + cli: + cliKey: workspaceName + - operationName: create_or_update + cli: + cliKey: CreateOrUpdate + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscription_id(string^string) + cli: + cliKey: subscriptionId + - parameterName: resource_group_name(string^string) + cli: + cliKey: resourceGroupName + - parameterName: workspace_name(string^string) + cli: + cliKey: workspaceName + - parameterName[0]: content_type(application_json^constant) + cli: + cliKey: content-type + - parameterName[0]: _workspace(workspace^object) + cli: + cliKey: workspace + x-ms-client-flatten: true + bodySchema: workspace + - parameterName[0]: tags(tracked_resource_tags^dictionary) + cli: + cliKey: tags + - parameterName[0]: location(tracked_resource_location^string) + cli: + cliKey: location + - parameterName[0]: description(workspace_properties_description^string) + cli: + cliKey: description + - parameterName[0]: friendly_name(workspace_properties_friendly_name^string) + cli: + cliKey: friendlyName + - parameterName[0]: application_group_references(workspace_properties_application_group_references^array) + cli: + cliKey: applicationGroupReferences + - operationName: delete + cli: + cliKey: Delete + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscription_id(string^string) + cli: + cliKey: subscriptionId + - parameterName: resource_group_name(string^string) + cli: + cliKey: resourceGroupName + - parameterName: workspace_name(string^string) + cli: + cliKey: workspaceName + - operationName: update + cli: + cliKey: Update + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscription_id(string^string) + cli: + cliKey: subscriptionId + - parameterName: resource_group_name(string^string) + cli: + cliKey: resourceGroupName + - parameterName: workspace_name(string^string) + cli: + cliKey: workspaceName + - parameterName[0]: content_type(application_json^constant) + cli: + cliKey: content-type + - parameterName[0]: _workspace(workspace_patch^object) + cli: + cliKey: workspace + x-ms-client-flatten: true + bodySchema: workspace_patch + - parameterName[0]: tags(any^any) + cli: + cliKey: tags + - parameterName[0]: description(workspace_patch_properties_description^string) + cli: + cliKey: description + - parameterName[0]: friendly_name(workspace_patch_properties_friendly_name^string) + cli: + cliKey: friendlyName + - parameterName[0]: application_group_references(workspace_patch_properties_application_group_references^array) + cli: + cliKey: applicationGroupReferences + - operationName: list_by_resource_group + cli: + cliKey: ListByResourceGroup + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscription_id(string^string) + cli: + cliKey: subscriptionId + - parameterName: resource_group_name(string^string) + cli: + cliKey: resourceGroupName + - operationName: list_by_subscription + cli: + cliKey: ListBySubscription + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscription_id(string^string) + cli: + cliKey: subscriptionId + - operationGroupName: application_group_assignments + cli: + cliKey: ApplicationGroupAssignments + hidden: true + operations: + - operationName: workspace_level_list + cli: + cliKey: WorkspaceLevelList + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscription_id(string^string) + cli: + cliKey: subscriptionId + - parameterName: resource_group_name(string^string) + cli: + cliKey: resourceGroupName + - parameterName: workspace_name(string^string) + cli: + cliKey: workspaceName + - parameterName: filter(string^string) + cli: + cliKey: $filter + - operationGroupName: application_groups + cli: + cliKey: ApplicationGroups + operations: + - operationName: get + cli: + cliKey: Get + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscription_id(string^string) + cli: + cliKey: subscriptionId + - parameterName: resource_group_name(string^string) + cli: + cliKey: resourceGroupName + - parameterName: application_group_name(string^string) + cli: + cliKey: applicationGroupName + - operationName: create_or_update + cli: + cliKey: CreateOrUpdate + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscription_id(string^string) + cli: + cliKey: subscriptionId + - parameterName: resource_group_name(string^string) + cli: + cliKey: resourceGroupName + - parameterName: application_group_name(string^string) + cli: + cliKey: applicationGroupName + - parameterName[0]: content_type(application_json^constant) + cli: + cliKey: content-type + - parameterName[0]: _application_group(application_group^object) + cli: + cliKey: applicationGroup + x-ms-client-flatten: true + bodySchema: application_group + - parameterName[0]: tags(tracked_resource_tags^dictionary) + cli: + cliKey: tags + - parameterName[0]: location(tracked_resource_location^string) + cli: + cliKey: location + - parameterName[0]: description(application_group_properties_description^string) + cli: + cliKey: description + - parameterName[0]: friendly_name(application_group_properties_friendly_name^string) + cli: + cliKey: friendlyName + - parameterName[0]: host_pool_arm_path(application_group_properties_host_pool_arm_path^string) + cli: + cliKey: hostPoolArmPath + - parameterName[0]: application_group_type(application_group_type^choice) + cli: + cliKey: applicationGroupType + - operationName: delete + cli: + cliKey: Delete + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscription_id(string^string) + cli: + cliKey: subscriptionId + - parameterName: resource_group_name(string^string) + cli: + cliKey: resourceGroupName + - parameterName: application_group_name(string^string) + cli: + cliKey: applicationGroupName + - operationName: update + cli: + cliKey: Update + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscription_id(string^string) + cli: + cliKey: subscriptionId + - parameterName: resource_group_name(string^string) + cli: + cliKey: resourceGroupName + - parameterName: application_group_name(string^string) + cli: + cliKey: applicationGroupName + - parameterName[0]: content_type(application_json^constant) + cli: + cliKey: content-type + - parameterName[0]: _application_group(application_group_patch^object) + cli: + cliKey: applicationGroup + x-ms-client-flatten: true + bodySchema: application_group_patch + - parameterName[0]: tags(any^any) + cli: + cliKey: tags + - parameterName[0]: description(application_group_patch_properties_description^string) + cli: + cliKey: description + - parameterName[0]: friendly_name(application_group_patch_properties_friendly_name^string) + cli: + cliKey: friendlyName + - operationName: list_by_resource_group + cli: + cliKey: ListByResourceGroup + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscription_id(string^string) + cli: + cliKey: subscriptionId + - parameterName: resource_group_name(string^string) + cli: + cliKey: resourceGroupName + - parameterName: filter(string^string) + cli: + cliKey: $filter + - operationName: list_by_subscription + cli: + cliKey: ListBySubscription + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscription_id(string^string) + cli: + cliKey: subscriptionId + - parameterName: filter(string^string) + cli: + cliKey: $filter + - operationGroupName: start_menu_items + cli: + cliKey: StartMenuItems + hidden: true + operations: + - operationName: list + cli: + cliKey: List + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscription_id(string^string) + cli: + cliKey: subscriptionId + - parameterName: resource_group_name(string^string) + cli: + cliKey: resourceGroupName + - parameterName: application_group_name(string^string) + cli: + cliKey: applicationGroupName + - operationGroupName: applications + cli: + cliKey: Applications + hidden: true + operations: + - operationName: get + cli: + cliKey: Get + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscription_id(string^string) + cli: + cliKey: subscriptionId + - parameterName: resource_group_name(string^string) + cli: + cliKey: resourceGroupName + - parameterName: application_group_name(string^string) + cli: + cliKey: applicationGroupName + - parameterName: application_name(string^string) + cli: + cliKey: applicationName + - operationName: create_or_update + cli: + cliKey: CreateOrUpdate + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscription_id(string^string) + cli: + cliKey: subscriptionId + - parameterName: resource_group_name(string^string) + cli: + cliKey: resourceGroupName + - parameterName: application_group_name(string^string) + cli: + cliKey: applicationGroupName + - parameterName: application_name(string^string) + cli: + cliKey: applicationName + - parameterName[0]: content_type(application_json^constant) + cli: + cliKey: content-type + - parameterName[0]: _application(application^object) + cli: + cliKey: application + x-ms-client-flatten: true + bodySchema: application + - parameterName[0]: description(application_properties_description^string) + cli: + cliKey: description + - parameterName[0]: friendly_name(application_properties_friendly_name^string) + cli: + cliKey: friendlyName + - parameterName[0]: file_path(application_properties_file_path^string) + cli: + cliKey: filePath + - parameterName[0]: command_line_setting(command_line_setting^choice) + cli: + cliKey: commandLineSetting + - parameterName[0]: command_line_arguments(application_properties_command_line_arguments^string) + cli: + cliKey: commandLineArguments + - parameterName[0]: show_in_portal(boolean^boolean) + cli: + cliKey: showInPortal + - parameterName[0]: icon_path(application_properties_icon_path^string) + cli: + cliKey: iconPath + - parameterName[0]: icon_index(integer^integer) + cli: + cliKey: iconIndex + - operationName: delete + cli: + cliKey: Delete + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscription_id(string^string) + cli: + cliKey: subscriptionId + - parameterName: resource_group_name(string^string) + cli: + cliKey: resourceGroupName + - parameterName: application_group_name(string^string) + cli: + cliKey: applicationGroupName + - parameterName: application_name(string^string) + cli: + cliKey: applicationName + - operationName: update + cli: + cliKey: Update + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscription_id(string^string) + cli: + cliKey: subscriptionId + - parameterName: resource_group_name(string^string) + cli: + cliKey: resourceGroupName + - parameterName: application_group_name(string^string) + cli: + cliKey: applicationGroupName + - parameterName: application_name(string^string) + cli: + cliKey: applicationName + - parameterName[0]: content_type(application_json^constant) + cli: + cliKey: content-type + - parameterName[0]: _application(application_patch^object) + cli: + cliKey: application + x-ms-client-flatten: true + bodySchema: application_patch + - parameterName[0]: tags(any^any) + cli: + cliKey: tags + - parameterName[0]: description(application_patch_properties_description^string) + cli: + cliKey: description + - parameterName[0]: friendly_name(application_patch_properties_friendly_name^string) + cli: + cliKey: friendlyName + - parameterName[0]: file_path(application_patch_properties_file_path^string) + cli: + cliKey: filePath + - parameterName[0]: command_line_setting(command_line_setting^choice) + cli: + cliKey: commandLineSetting + - parameterName[0]: command_line_arguments(application_patch_properties_command_line_arguments^string) + cli: + cliKey: commandLineArguments + - parameterName[0]: show_in_portal(boolean^boolean) + cli: + cliKey: showInPortal + - parameterName[0]: icon_path(application_patch_properties_icon_path^string) + cli: + cliKey: iconPath + - parameterName[0]: icon_index(integer^integer) + cli: + cliKey: iconIndex + - operationName: list + cli: + cliKey: List + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscription_id(string^string) + cli: + cliKey: subscriptionId + - parameterName: resource_group_name(string^string) + cli: + cliKey: resourceGroupName + - parameterName: application_group_name(string^string) + cli: + cliKey: applicationGroupName + - operationGroupName: desktops + cli: + cliKey: Desktops + hidden: true + operations: + - operationName: get + cli: + cliKey: Get + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscription_id(string^string) + cli: + cliKey: subscriptionId + - parameterName: resource_group_name(string^string) + cli: + cliKey: resourceGroupName + - parameterName: application_group_name(string^string) + cli: + cliKey: applicationGroupName + - parameterName: desktop_name(string^string) + cli: + cliKey: desktopName + - operationName: update + cli: + cliKey: Update + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscription_id(string^string) + cli: + cliKey: subscriptionId + - parameterName: resource_group_name(string^string) + cli: + cliKey: resourceGroupName + - parameterName: application_group_name(string^string) + cli: + cliKey: applicationGroupName + - parameterName: desktop_name(string^string) + cli: + cliKey: desktopName + - parameterName[0]: content_type(application_json^constant) + cli: + cliKey: content-type + - parameterName[0]: _desktop(desktop_patch^object) + cli: + cliKey: desktop + x-ms-client-flatten: true + bodySchema: desktop_patch + - parameterName[0]: tags(any^any) + cli: + cliKey: tags + - parameterName[0]: description(desktop_patch_properties_description^string) + cli: + cliKey: description + - parameterName[0]: friendly_name(desktop_patch_properties_friendly_name^string) + cli: + cliKey: friendlyName + - operationName: list + cli: + cliKey: List + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscription_id(string^string) + cli: + cliKey: subscriptionId + - parameterName: resource_group_name(string^string) + cli: + cliKey: resourceGroupName + - parameterName: application_group_name(string^string) + cli: + cliKey: applicationGroupName + - operationGroupName: host_pools + cli: + cliKey: HostPools + operations: + - operationName: get + cli: + cliKey: Get + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscription_id(string^string) + cli: + cliKey: subscriptionId + - parameterName: resource_group_name(string^string) + cli: + cliKey: resourceGroupName + - parameterName: host_pool_name(string^string) + cli: + cliKey: hostPoolName + - operationName: create_or_update + cli: + cliKey: CreateOrUpdate + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscription_id(string^string) + cli: + cliKey: subscriptionId + - parameterName: resource_group_name(string^string) + cli: + cliKey: resourceGroupName + - parameterName: host_pool_name(string^string) + cli: + cliKey: hostPoolName + - parameterName[0]: content_type(application_json^constant) + cli: + cliKey: content-type + - parameterName[0]: _host_pool(host_pool^object) + cli: + cliKey: hostPool + x-ms-client-flatten: true + bodySchema: host_pool + - parameterName[0]: tags(tracked_resource_tags^dictionary) + cli: + cliKey: tags + - parameterName[0]: location(tracked_resource_location^string) + cli: + cliKey: location + - parameterName[0]: friendly_name(host_pool_properties_friendly_name^string) + cli: + cliKey: friendlyName + - parameterName[0]: description(host_pool_properties_description^string) + cli: + cliKey: description + - parameterName[0]: host_pool_type(host_pool_type^choice) + cli: + cliKey: hostPoolType + - parameterName[0]: personal_desktop_assignment_type(personal_desktop_assignment_type^choice) + cli: + cliKey: personalDesktopAssignmentType + - parameterName[0]: custom_rdp_property(host_pool_properties_custom_rdp_property^string) + cli: + cliKey: customRdpProperty + - parameterName[0]: max_session_limit(integer^integer) + cli: + cliKey: maxSessionLimit + - parameterName[0]: load_balancer_type(load_balancer_type^choice) + cli: + cliKey: loadBalancerType + - parameterName[0]: ring(integer^integer) + cli: + cliKey: ring + - parameterName[0]: validation_environment(boolean^boolean) + cli: + cliKey: validationEnvironment + - parameterName[0]: registration_info(registration_info^object) + cli: + cliKey: registrationInfo + - parameterName[0]: vm_template(host_pool_properties_vm_template^string) + cli: + cliKey: vmTemplate + - parameterName[0]: sso_context(host_pool_properties_sso_context^string) + cli: + cliKey: ssoContext + - operationName: delete + cli: + cliKey: Delete + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscription_id(string^string) + cli: + cliKey: subscriptionId + - parameterName: resource_group_name(string^string) + cli: + cliKey: resourceGroupName + - parameterName: host_pool_name(string^string) + cli: + cliKey: hostPoolName + - parameterName: force(boolean^boolean) + cli: + cliKey: force + - operationName: update + cli: + cliKey: Update + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscription_id(string^string) + cli: + cliKey: subscriptionId + - parameterName: resource_group_name(string^string) + cli: + cliKey: resourceGroupName + - parameterName: host_pool_name(string^string) + cli: + cliKey: hostPoolName + - parameterName[0]: content_type(application_json^constant) + cli: + cliKey: content-type + - parameterName[0]: _host_pool(host_pool_patch^object) + cli: + cliKey: hostPool + x-ms-client-flatten: true + bodySchema: host_pool_patch + - parameterName[0]: tags(any^any) + cli: + cliKey: tags + - parameterName[0]: friendly_name(host_pool_patch_properties_friendly_name^string) + cli: + cliKey: friendlyName + - parameterName[0]: description(host_pool_patch_properties_description^string) + cli: + cliKey: description + - parameterName[0]: custom_rdp_property(host_pool_patch_properties_custom_rdp_property^string) + cli: + cliKey: customRdpProperty + - parameterName[0]: max_session_limit(integer^integer) + cli: + cliKey: maxSessionLimit + - parameterName[0]: personal_desktop_assignment_type(personal_desktop_assignment_type^choice) + cli: + cliKey: personalDesktopAssignmentType + - parameterName[0]: load_balancer_type(load_balancer_type^choice) + cli: + cliKey: loadBalancerType + - parameterName[0]: ring(integer^integer) + cli: + cliKey: ring + - parameterName[0]: validation_environment(boolean^boolean) + cli: + cliKey: validationEnvironment + - parameterName[0]: registration_info(registration_info_patch^object) + cli: + cliKey: registrationInfo + - parameterName[0]: sso_context(host_pool_patch_properties_sso_context^string) + cli: + cliKey: ssoContext + - operationName: list_by_resource_group + cli: + cliKey: ListByResourceGroup + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscription_id(string^string) + cli: + cliKey: subscriptionId + - parameterName: resource_group_name(string^string) + cli: + cliKey: resourceGroupName + - operationName: list + cli: + cliKey: List + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscription_id(string^string) + cli: + cliKey: subscriptionId + - operationGroupName: user_sessions + cli: + cliKey: UserSessions + hidden: true + operations: + - operationName: list_by_host_pool + cli: + cliKey: ListByHostPool + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscription_id(string^string) + cli: + cliKey: subscriptionId + - parameterName: resource_group_name(string^string) + cli: + cliKey: resourceGroupName + - parameterName: host_pool_name(string^string) + cli: + cliKey: hostPoolName + - parameterName: filter(string^string) + cli: + cliKey: $filter + - operationName: get + cli: + cliKey: Get + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscription_id(string^string) + cli: + cliKey: subscriptionId + - parameterName: resource_group_name(string^string) + cli: + cliKey: resourceGroupName + - parameterName: host_pool_name(string^string) + cli: + cliKey: hostPoolName + - parameterName: session_host_name(string^string) + cli: + cliKey: sessionHostName + - parameterName: user_session_id(string^string) + cli: + cliKey: userSessionId + - operationName: delete + cli: + cliKey: Delete + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscription_id(string^string) + cli: + cliKey: subscriptionId + - parameterName: resource_group_name(string^string) + cli: + cliKey: resourceGroupName + - parameterName: host_pool_name(string^string) + cli: + cliKey: hostPoolName + - parameterName: session_host_name(string^string) + cli: + cliKey: sessionHostName + - parameterName: user_session_id(string^string) + cli: + cliKey: userSessionId + - parameterName: force(boolean^boolean) + cli: + cliKey: force + - operationName: list + cli: + cliKey: List + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscription_id(string^string) + cli: + cliKey: subscriptionId + - parameterName: resource_group_name(string^string) + cli: + cliKey: resourceGroupName + - parameterName: host_pool_name(string^string) + cli: + cliKey: hostPoolName + - parameterName: session_host_name(string^string) + cli: + cliKey: sessionHostName + - operationName: disconnect + cli: + cliKey: Disconnect + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscription_id(string^string) + cli: + cliKey: subscriptionId + - parameterName: resource_group_name(string^string) + cli: + cliKey: resourceGroupName + - parameterName: host_pool_name(string^string) + cli: + cliKey: hostPoolName + - parameterName: session_host_name(string^string) + cli: + cliKey: sessionHostName + - parameterName: user_session_id(string^string) + cli: + cliKey: userSessionId + - operationName: send_message + cli: + cliKey: SendMessage + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscription_id(string^string) + cli: + cliKey: subscriptionId + - parameterName: resource_group_name(string^string) + cli: + cliKey: resourceGroupName + - parameterName: host_pool_name(string^string) + cli: + cliKey: hostPoolName + - parameterName: session_host_name(string^string) + cli: + cliKey: sessionHostName + - parameterName: user_session_id(string^string) + cli: + cliKey: userSessionId + - parameterName[0]: content_type(application_json^constant) + cli: + cliKey: content-type + - parameterName[0]: _send_message(send_message^object) + cli: + cliKey: sendMessage + x-ms-client-flatten: true + bodySchema: send_message + - parameterName[0]: message_title(send_message_title^string) + cli: + cliKey: messageTitle + - parameterName[0]: message_body(send_message_body^string) + cli: + cliKey: messageBody + - operationGroupName: session_hosts + cli: + cliKey: SessionHosts + hidden: true + operations: + - operationName: get + cli: + cliKey: Get + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscription_id(string^string) + cli: + cliKey: subscriptionId + - parameterName: resource_group_name(string^string) + cli: + cliKey: resourceGroupName + - parameterName: host_pool_name(string^string) + cli: + cliKey: hostPoolName + - parameterName: session_host_name(string^string) + cli: + cliKey: sessionHostName + - operationName: delete + cli: + cliKey: Delete + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscription_id(string^string) + cli: + cliKey: subscriptionId + - parameterName: resource_group_name(string^string) + cli: + cliKey: resourceGroupName + - parameterName: host_pool_name(string^string) + cli: + cliKey: hostPoolName + - parameterName: session_host_name(string^string) + cli: + cliKey: sessionHostName + - parameterName: force(boolean^boolean) + cli: + cliKey: force + - operationName: update + cli: + cliKey: Update + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscription_id(string^string) + cli: + cliKey: subscriptionId + - parameterName: resource_group_name(string^string) + cli: + cliKey: resourceGroupName + - parameterName: host_pool_name(string^string) + cli: + cliKey: hostPoolName + - parameterName: session_host_name(string^string) + cli: + cliKey: sessionHostName + - parameterName[0]: content_type(application_json^constant) + cli: + cliKey: content-type + - parameterName[0]: _session_host(session_host_patch^object) + cli: + cliKey: sessionHost + x-ms-client-flatten: true + bodySchema: session_host_patch + - parameterName[0]: allow_new_session(boolean^boolean) + cli: + cliKey: allowNewSession + - parameterName[0]: assigned_user(session_host_patch_properties_assigned_user^string) + cli: + cliKey: assignedUser + - operationName: list + cli: + cliKey: List + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscription_id(string^string) + cli: + cliKey: subscriptionId + - parameterName: resource_group_name(string^string) + cli: + cliKey: resourceGroupName + - parameterName: host_pool_name(string^string) + cli: + cliKey: hostPoolName + - operationGroupName: active_applications + cli: + cliKey: ActiveApplications + hidden: true + operations: + - operationName: list_by_session_host + cli: + cliKey: ListBySessionHost + parameters: + - parameterName: $host(string^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + - parameterName: subscription_id(string^string) + cli: + cliKey: subscriptionId + - parameterName: resource_group_name(string^string) + cli: + cliKey: resourceGroupName + - parameterName: host_pool_name(string^string) + cli: + cliKey: hostPoolName + - parameterName: session_host_name(string^string) + cli: + cliKey: sessionHostName + - parameterName: filter(string^string) + cli: + cliKey: $filter +schemas: + objects: + all: + - schemaName: resource_provider_operation_list + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ResourceProviderOperationList + properties: + - propertyName: value(resource_provider_operation_list_value^array) + cli: + cliKey: value + - schemaName: resource_provider_operation + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 5 + propertyCountIfSimplifyWithoutSimpleObject: 2 + simplifiable: true + cliKey: ResourceProviderOperation + properties: + - propertyName: name(resource_provider_operation_name^string) + cli: + cliKey: name + - propertyName: display(resource_provider_operation_display^object) + cli: + cliKey: display + - schemaName: resource_provider_operation_display + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 4 + propertyCountIfSimplifyWithoutSimpleObject: 4 + simplifiable: true + cliKey: ResourceProviderOperation-display + properties: + - propertyName: provider(resource_provider_operation_display_provider^string) + cli: + cliKey: provider + - propertyName: resource(resource_provider_operation_display_resource^string) + cli: + cliKey: resource + - propertyName: operation(resource_provider_operation_display_operation^string) + cli: + cliKey: operation + - propertyName: description(resource_provider_operation_display_description^string) + cli: + cliKey: description + - schemaName: resource + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 0 + propertyCountIfSimplifyWithoutSimpleObject: 0 + simplifiable: true + cliKey: Resource + properties: + - propertyName: id(resource_id^string) + cli: + cliKey: id + readOnly: true + - propertyName: name(resource_name^string) + cli: + cliKey: name + readOnly: true + - propertyName: type(resource_type^string) + cli: + cliKey: type + readOnly: true + - schemaName: tracked_resource + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: TrackedResource + properties: + - propertyName: tags(tracked_resource_tags^dictionary) + cli: + cliKey: tags + - propertyName: location(tracked_resource_location^string) + cli: + cliKey: location + - schemaName: workspace + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: Workspace + properties: + - propertyName: description(workspace_properties_description^string) + cli: + cliKey: description + - propertyName: friendly_name(workspace_properties_friendly_name^string) + cli: + cliKey: friendlyName + - propertyName: application_group_references(workspace_properties_application_group_references^array) + cli: + cliKey: applicationGroupReferences + - schemaName: cloud_error + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 2 + simplifiable: true + cliKey: CloudError + properties: + - propertyName: code(cloud_error_code^string) + cli: + cliKey: code + - propertyName: message(cloud_error_message^string) + cli: + cliKey: message + - schemaName: workspace_patch + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: WorkspacePatch + properties: + - propertyName: tags(any^any) + cli: + cliKey: tags + - propertyName: description(workspace_patch_properties_description^string) + cli: + cliKey: description + - propertyName: friendly_name(workspace_patch_properties_friendly_name^string) + cli: + cliKey: friendlyName + - propertyName: application_group_references(workspace_patch_properties_application_group_references^array) + cli: + cliKey: applicationGroupReferences + - schemaName: workspace_list + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: WorkspaceList + properties: + - propertyName: value(workspace_list_value^array) + cli: + cliKey: value + - propertyName: next_link(workspace_list_next_link^string) + cli: + cliKey: nextLink + readOnly: true + - schemaName: application_group_list + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ApplicationGroupList + properties: + - propertyName: value(application_group_list_value^array) + cli: + cliKey: value + - propertyName: next_link(application_group_list_next_link^string) + cli: + cliKey: nextLink + readOnly: true + - schemaName: application_group + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ApplicationGroup + properties: + - propertyName: description(application_group_properties_description^string) + cli: + cliKey: description + - propertyName: friendly_name(application_group_properties_friendly_name^string) + cli: + cliKey: friendlyName + - propertyName: host_pool_arm_path(application_group_properties_host_pool_arm_path^string) + cli: + cliKey: hostPoolArmPath + - propertyName: workspace_arm_path(application_group_properties_workspace_arm_path^string) + cli: + cliKey: workspaceArmPath + readOnly: true + - propertyName: application_group_type(application_group_type^choice) + cli: + cliKey: applicationGroupType + - schemaName: application_group_patch + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ApplicationGroupPatch + properties: + - propertyName: tags(any^any) + cli: + cliKey: tags + - propertyName: description(application_group_patch_properties_description^string) + cli: + cliKey: description + - propertyName: friendly_name(application_group_patch_properties_friendly_name^string) + cli: + cliKey: friendlyName + - schemaName: start_menu_item_list + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: StartMenuItemList + properties: + - propertyName: value(start_menu_item_list_value^array) + cli: + cliKey: value + - propertyName: next_link(start_menu_item_list_next_link^string) + cli: + cliKey: nextLink + readOnly: true + - schemaName: start_menu_item + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 6 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: StartMenuItem + properties: + - propertyName: app_alias(start_menu_item_properties_app_alias^string) + cli: + cliKey: appAlias + - propertyName: friendly_name(start_menu_item_properties_friendly_name^string) + cli: + cliKey: friendlyName + - propertyName: file_path(start_menu_item_properties_file_path^string) + cli: + cliKey: filePath + - propertyName: command_line_arguments(start_menu_item_properties_command_line_arguments^string) + cli: + cliKey: commandLineArguments + - propertyName: icon_path(start_menu_item_properties_icon_path^string) + cli: + cliKey: iconPath + - propertyName: icon_index(integer^integer) + cli: + cliKey: iconIndex + - schemaName: application + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 8 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: Application + properties: + - propertyName: description(application_properties_description^string) + cli: + cliKey: description + - propertyName: friendly_name(application_properties_friendly_name^string) + cli: + cliKey: friendlyName + - propertyName: file_path(application_properties_file_path^string) + cli: + cliKey: filePath + - propertyName: command_line_setting(command_line_setting^choice) + cli: + cliKey: commandLineSetting + - propertyName: command_line_arguments(application_properties_command_line_arguments^string) + cli: + cliKey: commandLineArguments + - propertyName: show_in_portal(boolean^boolean) + cli: + cliKey: showInPortal + - propertyName: icon_path(application_properties_icon_path^string) + cli: + cliKey: iconPath + - propertyName: icon_index(integer^integer) + cli: + cliKey: iconIndex + - propertyName: icon_hash(application_properties_icon_hash^string) + cli: + cliKey: iconHash + readOnly: true + - propertyName: icon_content(application_properties_icon_content^byte-array) + cli: + cliKey: iconContent + readOnly: true + - schemaName: application_patch + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ApplicationPatch + properties: + - propertyName: tags(any^any) + cli: + cliKey: tags + - propertyName: description(application_patch_properties_description^string) + cli: + cliKey: description + - propertyName: friendly_name(application_patch_properties_friendly_name^string) + cli: + cliKey: friendlyName + - propertyName: file_path(application_patch_properties_file_path^string) + cli: + cliKey: filePath + - propertyName: command_line_setting(command_line_setting^choice) + cli: + cliKey: commandLineSetting + - propertyName: command_line_arguments(application_patch_properties_command_line_arguments^string) + cli: + cliKey: commandLineArguments + - propertyName: show_in_portal(boolean^boolean) + cli: + cliKey: showInPortal + - propertyName: icon_path(application_patch_properties_icon_path^string) + cli: + cliKey: iconPath + - propertyName: icon_index(integer^integer) + cli: + cliKey: iconIndex + - schemaName: application_list + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ApplicationList + properties: + - propertyName: value(application_list_value^array) + cli: + cliKey: value + - propertyName: next_link(application_list_next_link^string) + cli: + cliKey: nextLink + readOnly: true + - schemaName: desktop + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: Desktop + properties: + - propertyName: description(desktop_properties_description^string) + cli: + cliKey: description + - propertyName: friendly_name(desktop_properties_friendly_name^string) + cli: + cliKey: friendlyName + - propertyName: icon_hash(desktop_properties_icon_hash^string) + cli: + cliKey: iconHash + readOnly: true + - propertyName: icon_content(desktop_properties_icon_content^byte-array) + cli: + cliKey: iconContent + readOnly: true + - schemaName: desktop_patch + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: DesktopPatch + properties: + - propertyName: tags(any^any) + cli: + cliKey: tags + - propertyName: description(desktop_patch_properties_description^string) + cli: + cliKey: description + - propertyName: friendly_name(desktop_patch_properties_friendly_name^string) + cli: + cliKey: friendlyName + - schemaName: desktop_list + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: DesktopList + properties: + - propertyName: value(desktop_list_value^array) + cli: + cliKey: value + - propertyName: next_link(desktop_list_next_link^string) + cli: + cliKey: nextLink + readOnly: true + - schemaName: host_pool + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: HostPool + properties: + - propertyName: friendly_name(host_pool_properties_friendly_name^string) + cli: + cliKey: friendlyName + - propertyName: description(host_pool_properties_description^string) + cli: + cliKey: description + - propertyName: host_pool_type(host_pool_type^choice) + cli: + cliKey: hostPoolType + - propertyName: personal_desktop_assignment_type(personal_desktop_assignment_type^choice) + cli: + cliKey: personalDesktopAssignmentType + - propertyName: custom_rdp_property(host_pool_properties_custom_rdp_property^string) + cli: + cliKey: customRdpProperty + - propertyName: max_session_limit(integer^integer) + cli: + cliKey: maxSessionLimit + - propertyName: load_balancer_type(load_balancer_type^choice) + cli: + cliKey: loadBalancerType + - propertyName: ring(integer^integer) + cli: + cliKey: ring + - propertyName: validation_environment(boolean^boolean) + cli: + cliKey: validationEnvironment + - propertyName: registration_info(registration_info^object) + cli: + cliKey: registrationInfo + - propertyName: vm_template(host_pool_properties_vm_template^string) + cli: + cliKey: vmTemplate + - propertyName: application_group_references(host_pool_properties_application_group_references^array) + cli: + cliKey: applicationGroupReferences + readOnly: true + - propertyName: sso_context(host_pool_properties_sso_context^string) + cli: + cliKey: ssoContext + - schemaName: registration_info + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 3 + propertyCountIfSimplifyWithoutSimpleObject: 3 + simplifiable: true + cliKey: RegistrationInfo + properties: + - propertyName: expiration_time(registration_info_expiration_time^date-time) + cli: + cliKey: expirationTime + - propertyName: token(registration_info_token^string) + cli: + cliKey: token + - propertyName: registration_token_operation(registration_token_operation^choice) + cli: + cliKey: registrationTokenOperation + - schemaName: host_pool_patch + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: HostPoolPatch + properties: + - propertyName: tags(any^any) + cli: + cliKey: tags + - propertyName: friendly_name(host_pool_patch_properties_friendly_name^string) + cli: + cliKey: friendlyName + - propertyName: description(host_pool_patch_properties_description^string) + cli: + cliKey: description + - propertyName: custom_rdp_property(host_pool_patch_properties_custom_rdp_property^string) + cli: + cliKey: customRdpProperty + - propertyName: max_session_limit(integer^integer) + cli: + cliKey: maxSessionLimit + - propertyName: personal_desktop_assignment_type(personal_desktop_assignment_type^choice) + cli: + cliKey: personalDesktopAssignmentType + - propertyName: load_balancer_type(load_balancer_type^choice) + cli: + cliKey: loadBalancerType + - propertyName: ring(integer^integer) + cli: + cliKey: ring + - propertyName: validation_environment(boolean^boolean) + cli: + cliKey: validationEnvironment + - propertyName: registration_info(registration_info_patch^object) + cli: + cliKey: registrationInfo + - propertyName: sso_context(host_pool_patch_properties_sso_context^string) + cli: + cliKey: ssoContext + - schemaName: registration_info_patch + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 1 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: RegistrationInfoPatch + properties: + - propertyName: registration_token_operation(registration_token_operation^choice) + cli: + cliKey: registrationTokenOperation + - schemaName: host_pool_list + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: HostPoolList + properties: + - propertyName: value(host_pool_list_value^array) + cli: + cliKey: value + - propertyName: next_link(host_pool_list_next_link^string) + cli: + cliKey: nextLink + readOnly: true + - schemaName: user_session_list + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: UserSessionList + properties: + - propertyName: value(user_session_list_value^array) + cli: + cliKey: value + - propertyName: next_link(user_session_list_next_link^string) + cli: + cliKey: nextLink + readOnly: true + - schemaName: user_session + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 5 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: UserSession + properties: + - propertyName: user_principal_name(user_session_properties_user_principal_name^string) + cli: + cliKey: userPrincipalName + - propertyName: application_type(application_type^choice) + cli: + cliKey: applicationType + - propertyName: session_state(session_state^choice) + cli: + cliKey: sessionState + - propertyName: active_directory_user_name(user_session_properties_active_directory_user_name^string) + cli: + cliKey: activeDirectoryUserName + - propertyName: create_time(user_session_properties_create_time^date-time) + cli: + cliKey: createTime + - schemaName: session_host + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: SessionHost + properties: + - propertyName: last_heart_beat(session_host_properties_last_heart_beat^date-time) + cli: + cliKey: lastHeartBeat + - propertyName: sessions(integer^integer) + cli: + cliKey: sessions + - propertyName: agent_version(session_host_properties_agent_version^string) + cli: + cliKey: agentVersion + - propertyName: allow_new_session(boolean^boolean) + cli: + cliKey: allowNewSession + - propertyName: assigned_user(session_host_properties_assigned_user^string) + cli: + cliKey: assignedUser + - propertyName: status(status^choice) + cli: + cliKey: status + - propertyName: status_timestamp(session_host_properties_status_timestamp^date-time) + cli: + cliKey: statusTimestamp + readOnly: true + - propertyName: os_version(session_host_properties_os_version^string) + cli: + cliKey: osVersion + - propertyName: sx_s_stack_version(session_host_properties_sx_s_stack_version^string) + cli: + cliKey: sxSStackVersion + - propertyName: update_state(update_state^choice) + cli: + cliKey: updateState + - propertyName: last_update_time(session_host_properties_last_update_time^date-time) + cli: + cliKey: lastUpdateTime + readOnly: true + - propertyName: update_error_message(session_host_properties_update_error_message^string) + cli: + cliKey: updateErrorMessage + - schemaName: session_host_patch + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: SessionHostPatch + properties: + - propertyName: allow_new_session(boolean^boolean) + cli: + cliKey: allowNewSession + - propertyName: assigned_user(session_host_patch_properties_assigned_user^string) + cli: + cliKey: assignedUser + - schemaName: session_host_list + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: SessionHostList + properties: + - propertyName: value(session_host_list_value^array) + cli: + cliKey: value + - propertyName: next_link(session_host_list_next_link^string) + cli: + cliKey: nextLink + readOnly: true + - schemaName: send_message + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 2 + simplifiable: true + cliKey: SendMessage + properties: + - propertyName: message_title(send_message_title^string) + cli: + cliKey: messageTitle + - propertyName: message_body(send_message_body^string) + cli: + cliKey: messageBody + choices: + all: + - choiceName: application_group_type + cli: + cliKey: ApplicationGroupType + choiceValues: + - choiceValue: remote_app + cli: + cliKey: RemoteApp + - choiceValue: desktop + cli: + cliKey: Desktop + - choiceName: command_line_setting + cli: + cliKey: CommandLineSetting + choiceValues: + - choiceValue: do_not_allow + cli: + cliKey: DoNotAllow + - choiceValue: allow + cli: + cliKey: Allow + - choiceValue: require + cli: + cliKey: Require + - choiceName: host_pool_type + cli: + cliKey: HostPoolType + choiceValues: + - choiceValue: personal + cli: + cliKey: Personal + - choiceValue: pooled + cli: + cliKey: Pooled + - choiceName: personal_desktop_assignment_type + cli: + cliKey: PersonalDesktopAssignmentType + choiceValues: + - choiceValue: automatic + cli: + cliKey: Automatic + - choiceValue: direct + cli: + cliKey: Direct + - choiceName: load_balancer_type + cli: + cliKey: LoadBalancerType + choiceValues: + - choiceValue: breadth_first + cli: + cliKey: BreadthFirst + - choiceValue: depth_first + cli: + cliKey: DepthFirst + - choiceValue: persistent + cli: + cliKey: Persistent + - choiceName: registration_token_operation + cli: + cliKey: RegistrationTokenOperation + choiceValues: + - choiceValue: delete + cli: + cliKey: Delete + - choiceValue: none + cli: + cliKey: None + - choiceValue: update + cli: + cliKey: Update + - choiceName: application_type + cli: + cliKey: ApplicationType + choiceValues: + - choiceValue: remote_app + cli: + cliKey: RemoteApp + - choiceValue: desktop + cli: + cliKey: Desktop + - choiceName: session_state + cli: + cliKey: SessionState + choiceValues: + - choiceValue: unknown + cli: + cliKey: Unknown + - choiceValue: active + cli: + cliKey: Active + - choiceValue: disconnected + cli: + cliKey: Disconnected + - choiceValue: pending + cli: + cliKey: Pending + - choiceValue: log_off + cli: + cliKey: LogOff + - choiceValue: user_profile_disk_mounted + cli: + cliKey: UserProfileDiskMounted + - choiceName: status + cli: + cliKey: Status + choiceValues: + - choiceValue: available + cli: + cliKey: Available + - choiceValue: unavailable + cli: + cliKey: Unavailable + - choiceValue: shutdown + cli: + cliKey: Shutdown + - choiceValue: disconnected + cli: + cliKey: Disconnected + - choiceValue: upgrading + cli: + cliKey: Upgrading + - choiceValue: upgrade_failed + cli: + cliKey: UpgradeFailed + - choiceName: update_state + cli: + cliKey: UpdateState + choiceValues: + - choiceValue: initial + cli: + cliKey: Initial + - choiceValue: pending + cli: + cliKey: Pending + - choiceValue: started + cli: + cliKey: Started + - choiceValue: succeeded + cli: + cliKey: Succeeded + - choiceValue: failed + cli: + cliKey: Failed diff --git a/src/desktopvirtualization/_az_debug/clicommon-000080-modifier-post.yaml b/src/desktopvirtualization/_az_debug/clicommon-000080-modifier-post.yaml new file mode 100644 index 00000000000..8ed5a7c51e0 --- /dev/null +++ b/src/desktopvirtualization/_az_debug/clicommon-000080-modifier-post.yaml @@ -0,0 +1,10102 @@ +info: + title: Desktop Virtualization API Client + extensions: + cli-dump-index: 80 +schemas: + booleans: + - &ref_53 + type: boolean + language: + default: + name: boolean + description: Specifies whether to show the RemoteApp program in the RD Web Access server. + protocol: {} + - &ref_27 + type: boolean + language: + default: + name: boolean + description: Is validation environment. + protocol: {} + - &ref_356 + type: boolean + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: boolean + description: '' + protocol: {} + - &ref_73 + type: boolean + language: + default: + name: boolean + description: Allow a new session. + protocol: {} + numbers: + - &ref_47 + type: integer + precision: 32 + language: + default: + name: integer + description: Index of the icon. + protocol: {} + - &ref_24 + type: integer + precision: 32 + language: + default: + name: integer + description: The max session limit of HostPool. + protocol: {} + - &ref_26 + type: integer + precision: 32 + language: + default: + name: integer + description: The ring number of HostPool. + protocol: {} + - &ref_71 + type: integer + precision: 32 + language: + default: + name: integer + description: Number of sessions on SessionHost. + protocol: {} + strings: + - &ref_0 + type: string + language: + default: + name: string + description: simple string + protocol: {} + - &ref_2 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: resource_provider_operation_name + description: 'Operation name, in format of {provider}/{resource}/{operation}' + protocol: {} + - &ref_3 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: resource_provider_operation_display_provider + description: 'Resource provider: Microsoft Desktop Virtualization.' + protocol: {} + - &ref_4 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: resource_provider_operation_display_resource + description: Resource on which the operation is performed. + protocol: {} + - &ref_5 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: resource_provider_operation_display_operation + description: 'Type of operation: get, read, delete, etc.' + protocol: {} + - &ref_6 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: resource_provider_operation_display_description + description: Description of this operation. + protocol: {} + - &ref_130 + type: string + apiVersions: + - version: '1.0' + minLength: 1 + language: + default: + name: string + description: '' + protocol: {} + - &ref_136 + type: string + apiVersions: + - version: '1.0' + maxLength: 90 + minLength: 1 + pattern: '^[-\w\._\(\)]+$' + language: + default: + name: string + description: '' + protocol: {} + - &ref_137 + type: string + apiVersions: + - version: 2019-12-10-preview + maxLength: 24 + minLength: 3 + language: + default: + name: string + description: '' + protocol: {} + - &ref_91 + type: string + apiVersions: + - version: '1.0' + language: + default: + name: resource_id + description: 'Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' + protocol: {} + - &ref_92 + type: string + apiVersions: + - version: '1.0' + language: + default: + name: resource_name + description: The name of the resource + protocol: {} + - &ref_93 + type: string + apiVersions: + - version: '1.0' + language: + default: + name: resource_type + description: The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + protocol: {} + - &ref_1 + type: string + apiVersions: + - version: '1.0' + language: + default: + name: string + description: '' + protocol: {} + - &ref_38 + type: string + apiVersions: + - version: '1.0' + extensions: + x-ms-mutability: + - read + - create + language: + default: + name: tracked_resource_location + description: The geo-location where the resource lives + protocol: {} + - &ref_11 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: workspace_properties_description + description: Description of Workspace. + protocol: {} + - &ref_12 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: workspace_properties_friendly_name + description: Friendly name of Workspace. + protocol: {} + - &ref_13 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: workspace_properties_application_group_references_item + description: '' + protocol: {} + - &ref_94 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: cloud_error_code + description: Error code + protocol: {} + - &ref_95 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: cloud_error_message + description: Error message indicating why the operation failed. + protocol: {} + - &ref_96 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: workspace_patch_properties_description + description: Description of Workspace. + protocol: {} + - &ref_97 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: workspace_patch_properties_friendly_name + description: Friendly name of Workspace. + protocol: {} + - &ref_98 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: workspace_patch_properties_application_group_references_item + description: '' + protocol: {} + - &ref_99 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: workspace_list_next_link + description: Link to the next page of results. + protocol: {} + - &ref_180 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: string + description: '' + protocol: {} + - &ref_14 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: application_group_properties_description + description: Description of ApplicationGroup. + protocol: {} + - &ref_15 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: application_group_properties_friendly_name + description: Friendly name of ApplicationGroup. + protocol: {} + - &ref_16 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: application_group_properties_host_pool_arm_path + description: HostPool arm path of ApplicationGroup. + protocol: {} + - &ref_17 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: application_group_properties_workspace_arm_path + description: Workspace arm path of ApplicationGroup. + protocol: {} + - &ref_100 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: application_group_list_next_link + description: Link to the next page of results. + protocol: {} + - &ref_40 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: application_group_patch_properties_description + description: Description of ApplicationGroup. + protocol: {} + - &ref_41 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: application_group_patch_properties_friendly_name + description: Friendly name of ApplicationGroup. + protocol: {} + - &ref_42 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: start_menu_item_properties_app_alias + description: Alias of StartMenuItem. + protocol: {} + - &ref_43 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: start_menu_item_properties_friendly_name + description: Friendly name of StartMenuItem. + protocol: {} + - &ref_44 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: start_menu_item_properties_file_path + description: Path to the file of StartMenuItem. + protocol: {} + - &ref_45 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: start_menu_item_properties_command_line_arguments + description: Command line arguments for StartMenuItem. + protocol: {} + - &ref_46 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: start_menu_item_properties_icon_path + description: Path to the icon. + protocol: {} + - &ref_101 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: start_menu_item_list_next_link + description: Link to the next page of results. + protocol: {} + - &ref_48 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: application_properties_description + description: Description of Application. + protocol: {} + - &ref_49 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: application_properties_friendly_name + description: Friendly name of Application. + protocol: {} + - &ref_50 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: application_properties_file_path + description: Specifies a path for the executable file for the application. + protocol: {} + - &ref_52 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: application_properties_command_line_arguments + description: Command Line Arguments for Application. + protocol: {} + - &ref_54 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: application_properties_icon_path + description: Path to icon. + protocol: {} + - &ref_55 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: application_properties_icon_hash + description: Hash of the icon. + protocol: {} + - &ref_102 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: application_patch_properties_description + description: Description of Application. + protocol: {} + - &ref_103 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: application_patch_properties_friendly_name + description: Friendly name of Application. + protocol: {} + - &ref_104 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: application_patch_properties_file_path + description: Specifies a path for the executable file for the application. + protocol: {} + - &ref_105 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: application_patch_properties_command_line_arguments + description: Command Line Arguments for Application. + protocol: {} + - &ref_106 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: application_patch_properties_icon_path + description: Path to icon. + protocol: {} + - &ref_107 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: application_list_next_link + description: Link to the next page of results. + protocol: {} + - &ref_57 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: desktop_properties_description + description: Description of Desktop. + protocol: {} + - &ref_58 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: desktop_properties_friendly_name + description: Friendly name of Desktop. + protocol: {} + - &ref_59 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: desktop_properties_icon_hash + description: Hash of the icon. + protocol: {} + - &ref_108 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: desktop_patch_properties_description + description: Description of Desktop. + protocol: {} + - &ref_109 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: desktop_patch_properties_friendly_name + description: Friendly name of Desktop. + protocol: {} + - &ref_110 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: desktop_list_next_link + description: Link to the next page of results. + protocol: {} + - &ref_19 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: host_pool_properties_friendly_name + description: Friendly name of HostPool. + protocol: {} + - &ref_20 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: host_pool_properties_description + description: Description of HostPool. + protocol: {} + - &ref_23 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: host_pool_properties_custom_rdp_property + description: Custom rdp property of HostPool. + protocol: {} + - &ref_29 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: registration_info_token + description: The registration token base64 encoded string. + protocol: {} + - &ref_31 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: host_pool_properties_vm_template + description: VM template for sessionhosts configuration within hostpool. + protocol: {} + - &ref_32 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: host_pool_properties_application_group_references_item + description: '' + protocol: {} + - &ref_33 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: host_pool_properties_sso_context + description: Path to keyvault containing ssoContext secret. + protocol: {} + - &ref_61 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: host_pool_patch_properties_friendly_name + description: Friendly name of HostPool. + protocol: {} + - &ref_62 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: host_pool_patch_properties_description + description: Description of HostPool. + protocol: {} + - &ref_63 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: host_pool_patch_properties_custom_rdp_property + description: Custom rdp property of HostPool. + protocol: {} + - &ref_64 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: host_pool_patch_properties_sso_context + description: Path to keyvault containing ssoContext secret. + protocol: {} + - &ref_113 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: host_pool_list_next_link + description: Link to the next page of results. + protocol: {} + - &ref_65 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: user_session_properties_user_principal_name + description: The user principal name. + protocol: {} + - &ref_68 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: user_session_properties_active_directory_user_name + description: The active directory user name. + protocol: {} + - &ref_114 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: user_session_list_next_link + description: Link to the next page of results. + protocol: {} + - &ref_402 + type: string + apiVersions: + - version: 2019-12-10-preview + maxLength: 48 + minLength: 3 + language: + default: + name: string + description: '' + protocol: {} + - &ref_72 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: session_host_properties_agent_version + description: Version of agent on SessionHost. + protocol: {} + - &ref_74 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: session_host_properties_assigned_user + description: User assigned to SessionHost. + protocol: {} + - &ref_77 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: session_host_properties_os_version + description: The version of the OS on the session host. + protocol: {} + - &ref_78 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: session_host_properties_sx_s_stack_version + description: The version of the side by side stack on the session host. + protocol: {} + - &ref_81 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: session_host_properties_update_error_message + description: The error message. + protocol: {} + - &ref_82 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: session_host_patch_properties_assigned_user + description: User assigned to SessionHost. + protocol: {} + - &ref_115 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: session_host_list_next_link + description: Link to the next page of results. + protocol: {} + - &ref_403 + type: string + apiVersions: + - version: 2019-12-10-preview + maxLength: 24 + minLength: 1 + language: + default: + name: string + description: '' + protocol: {} + - &ref_116 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: send_message_title + description: Title of message. + protocol: {} + - &ref_117 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: send_message_body + description: Body of message. + protocol: {} + choices: + - &ref_18 + choices: + - value: RemoteApp + language: + default: + name: remote_app + description: '' + cli: + cliKey: RemoteApp + - value: Desktop + language: + default: + name: desktop + description: '' + cli: + cliKey: Desktop + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: application_group_type + description: Resource Type of ApplicationGroup. + cli: + cliKey: ApplicationGroupType + protocol: {} + - &ref_51 + choices: + - value: DoNotAllow + language: + default: + name: do_not_allow + description: '' + cli: + cliKey: DoNotAllow + - value: Allow + language: + default: + name: allow + description: '' + cli: + cliKey: Allow + - value: Require + language: + default: + name: require + description: '' + cli: + cliKey: Require + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: command_line_setting + description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' + cli: + cliKey: CommandLineSetting + protocol: {} + - &ref_21 + choices: + - value: Personal + language: + default: + name: personal + description: '' + cli: + cliKey: Personal + - value: Pooled + language: + default: + name: pooled + description: '' + cli: + cliKey: Pooled + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: host_pool_type + description: HostPool type for desktop. + cli: + cliKey: HostPoolType + protocol: {} + - &ref_22 + choices: + - value: Automatic + language: + default: + name: automatic + description: '' + cli: + cliKey: Automatic + - value: Direct + language: + default: + name: direct + description: '' + cli: + cliKey: Direct + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: personal_desktop_assignment_type + description: PersonalDesktopAssignment type for HostPool. + cli: + cliKey: PersonalDesktopAssignmentType + protocol: {} + - &ref_25 + choices: + - value: BreadthFirst + language: + default: + name: breadth_first + description: '' + cli: + cliKey: BreadthFirst + - value: DepthFirst + language: + default: + name: depth_first + description: '' + cli: + cliKey: DepthFirst + - value: Persistent + language: + default: + name: persistent + description: '' + cli: + cliKey: Persistent + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: load_balancer_type + description: The type of the load balancer. + cli: + cliKey: LoadBalancerType + protocol: {} + - &ref_30 + choices: + - value: Delete + language: + default: + name: delete + description: '' + cli: + cliKey: Delete + - value: None + language: + default: + name: none + description: '' + cli: + cliKey: None + - value: Update + language: + default: + name: update + description: '' + cli: + cliKey: Update + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: registration_token_operation + description: The type of resetting the token. + cli: + cliKey: RegistrationTokenOperation + protocol: {} + - &ref_66 + choices: + - value: RemoteApp + language: + default: + name: remote_app + description: '' + cli: + cliKey: RemoteApp + - value: Desktop + language: + default: + name: desktop + description: '' + cli: + cliKey: Desktop + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: application_type + description: Application type of application. + cli: + cliKey: ApplicationType + protocol: {} + - &ref_67 + choices: + - value: Unknown + language: + default: + name: unknown + description: '' + cli: + cliKey: Unknown + - value: Active + language: + default: + name: active + description: '' + cli: + cliKey: Active + - value: Disconnected + language: + default: + name: disconnected + description: '' + cli: + cliKey: Disconnected + - value: Pending + language: + default: + name: pending + description: '' + cli: + cliKey: Pending + - value: LogOff + language: + default: + name: log_off + description: '' + cli: + cliKey: LogOff + - value: UserProfileDiskMounted + language: + default: + name: user_profile_disk_mounted + description: '' + cli: + cliKey: UserProfileDiskMounted + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: session_state + description: State of user session. + cli: + cliKey: SessionState + protocol: {} + - &ref_75 + choices: + - value: Available + language: + default: + name: available + description: '' + cli: + cliKey: Available + - value: Unavailable + language: + default: + name: unavailable + description: '' + cli: + cliKey: Unavailable + - value: Shutdown + language: + default: + name: shutdown + description: '' + cli: + cliKey: Shutdown + - value: Disconnected + language: + default: + name: disconnected + description: '' + cli: + cliKey: Disconnected + - value: Upgrading + language: + default: + name: upgrading + description: '' + cli: + cliKey: Upgrading + - value: UpgradeFailed + language: + default: + name: upgrade_failed + description: '' + cli: + cliKey: UpgradeFailed + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: status + description: Status for a SessionHost. + cli: + cliKey: Status + protocol: {} + - &ref_79 + choices: + - value: Initial + language: + default: + name: initial + description: '' + cli: + cliKey: Initial + - value: Pending + language: + default: + name: pending + description: '' + cli: + cliKey: Pending + - value: Started + language: + default: + name: started + description: '' + cli: + cliKey: Started + - value: Succeeded + language: + default: + name: succeeded + description: '' + cli: + cliKey: Succeeded + - value: Failed + language: + default: + name: failed + description: '' + cli: + cliKey: Failed + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: update_state + description: Update state of a SessionHost. + cli: + cliKey: UpdateState + protocol: {} + constants: + - &ref_131 + type: constant + value: + value: 2019-12-10-preview + valueType: *ref_0 + language: + default: + name: api_version2019_12_10_preview + description: Api Version (2019-12-10-preview) + protocol: {} + - &ref_141 + type: constant + value: + value: application/json + valueType: *ref_0 + language: + default: + name: application_json + description: Content Type 'application/json' + protocol: {} + dictionaries: + - &ref_37 + type: dictionary + elementType: *ref_1 + language: + default: + name: tracked_resource_tags + description: Resource tags. + cli: + cli-complexity: dictionary_simple + cli-mark: checked + protocol: {} + any: + - &ref_39 + type: any + language: + default: + name: any + description: Any object + protocol: {} + byteArrays: + - &ref_56 + type: byte-array + format: byte + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: application_properties_icon_content + description: the icon a 64 bit string as a byte array. + protocol: {} + - &ref_60 + type: byte-array + format: byte + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: desktop_properties_icon_content + description: The icon a 64 bit string as a byte array. + protocol: {} + dateTimes: + - &ref_28 + type: date-time + format: date-time + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: registration_info_expiration_time + description: Expiration time of registration token. + protocol: {} + - &ref_69 + type: date-time + format: date-time + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: user_session_properties_create_time + description: The timestamp of the user session create. + protocol: {} + - &ref_70 + type: date-time + format: date-time + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: session_host_properties_last_heart_beat + description: Last heart beat from SessionHost. + protocol: {} + - &ref_76 + type: date-time + format: date-time + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: session_host_properties_status_timestamp + description: The timestamp of the status. + protocol: {} + - &ref_80 + type: date-time + format: date-time + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: session_host_properties_last_update_time + description: The timestamp of the last update. + protocol: {} + objects: + - &ref_134 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_118 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: &ref_7 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_2 + serializedName: name + language: + default: + name: name + description: 'Operation name, in format of {provider}/{resource}/{operation}' + cli: + cliKey: name + protocol: {} + - schema: &ref_8 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_3 + serializedName: provider + language: + default: + name: provider + description: 'Resource provider: Microsoft Desktop Virtualization.' + cli: + cliKey: provider + protocol: {} + - schema: *ref_4 + serializedName: resource + language: + default: + name: resource + description: Resource on which the operation is performed. + cli: + cliKey: resource + protocol: {} + - schema: *ref_5 + serializedName: operation + language: + default: + name: operation + description: 'Type of operation: get, read, delete, etc.' + cli: + cliKey: operation + protocol: {} + - schema: *ref_6 + serializedName: description + language: + default: + name: description + description: Description of this operation. + cli: + cliKey: description + protocol: {} + serializationFormats: + - json + usage: + - output + language: + default: + name: resource_provider_operation_display + description: Display metadata associated with the operation. + namespace: '' + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 4 + propertyCountIfSimplifyWithoutSimpleObject: 4 + simplifiable: true + cliKey: ResourceProviderOperation-display + protocol: {} + serializedName: display + language: + default: + name: display + description: Display metadata associated with the operation. + cli: + cliKey: display + protocol: {} + serializationFormats: + - json + usage: + - output + language: + default: + name: resource_provider_operation + description: Supported operation of this resource provider. + namespace: '' + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 5 + propertyCountIfSimplifyWithoutSimpleObject: 2 + simplifiable: true + cliKey: ResourceProviderOperation + protocol: {} + language: + default: + name: resource_provider_operation_list_value + description: List of operations supported by this resource provider. + cli: + cli-complexity: array_complex + cli-mark: checked + protocol: {} + serializedName: value + language: + default: + name: value + description: List of operations supported by this resource provider. + cli: + cliKey: value + protocol: {} + serializationFormats: + - json + usage: + - output + language: + default: + name: resource_provider_operation_list + description: Result of the request to list operations. + namespace: '' + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ResourceProviderOperationList + protocol: {} + - *ref_7 + - *ref_8 + - &ref_10 + type: object + apiVersions: + - version: '1.0' + children: + all: + - &ref_9 + type: object + apiVersions: + - version: '1.0' + children: + all: + - &ref_34 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_9 + - *ref_10 + immediate: + - *ref_9 + properties: + - &ref_147 + schema: *ref_11 + flattenedNames: + - properties + - description + serializedName: description + language: + default: + name: description + description: Description of Workspace. + cli: &ref_148 + cliKey: description + protocol: {} + - &ref_149 + schema: *ref_12 + flattenedNames: + - properties + - friendlyName + serializedName: friendlyName + language: + default: + name: friendly_name + description: Friendly name of Workspace. + cli: &ref_150 + cliKey: friendlyName + protocol: {} + - &ref_151 + schema: &ref_119 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_13 + language: + default: + name: workspace_properties_application_group_references + description: List of applicationGroup resource Ids. + cli: + cli-complexity: array_simple + cli-mark: checked + protocol: {} + flattenedNames: + - properties + - applicationGroupReferences + serializedName: applicationGroupReferences + language: + default: + name: application_group_references + description: List of applicationGroup resource Ids. + cli: &ref_152 + cliKey: applicationGroupReferences + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: workspace + description: Represents a Workspace definition. + namespace: '' + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: Workspace + protocol: {} + - &ref_35 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_9 + - *ref_10 + immediate: + - *ref_9 + properties: + - &ref_188 + schema: *ref_14 + flattenedNames: + - properties + - description + required: false + serializedName: description + language: + default: + name: description + description: Description of ApplicationGroup. + cli: &ref_189 + cliKey: description + protocol: {} + - &ref_190 + schema: *ref_15 + flattenedNames: + - properties + - friendlyName + required: false + serializedName: friendlyName + language: + default: + name: friendly_name + description: Friendly name of ApplicationGroup. + cli: &ref_191 + cliKey: friendlyName + protocol: {} + - &ref_192 + schema: *ref_16 + flattenedNames: + - properties + - hostPoolArmPath + required: true + serializedName: hostPoolArmPath + language: + default: + name: host_pool_arm_path + description: HostPool arm path of ApplicationGroup. + cli: &ref_193 + cliKey: hostPoolArmPath + protocol: {} + - schema: *ref_17 + flattenedNames: + - properties + - workspaceArmPath + readOnly: true + required: false + serializedName: workspaceArmPath + language: + default: + name: workspace_arm_path + description: Workspace arm path of ApplicationGroup. + cli: + cliKey: workspaceArmPath + protocol: {} + - &ref_194 + schema: *ref_18 + flattenedNames: + - properties + - applicationGroupType + required: true + serializedName: applicationGroupType + language: + default: + name: application_group_type + description: Resource Type of ApplicationGroup. + cli: &ref_195 + cliKey: applicationGroupType + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: application_group + description: Represents a ApplicationGroup definition. + namespace: '' + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ApplicationGroup + protocol: {} + - &ref_36 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_9 + - *ref_10 + immediate: + - *ref_9 + properties: + - &ref_316 + schema: *ref_19 + flattenedNames: + - properties + - friendlyName + required: false + serializedName: friendlyName + language: + default: + name: friendly_name + description: Friendly name of HostPool. + cli: &ref_317 + cliKey: friendlyName + protocol: {} + - &ref_318 + schema: *ref_20 + flattenedNames: + - properties + - description + required: false + serializedName: description + language: + default: + name: description + description: Description of HostPool. + cli: &ref_319 + cliKey: description + protocol: {} + - &ref_320 + schema: *ref_21 + flattenedNames: + - properties + - hostPoolType + required: true + serializedName: hostPoolType + language: + default: + name: host_pool_type + description: HostPool type for desktop. + cli: &ref_321 + cliKey: hostPoolType + protocol: {} + - &ref_322 + schema: *ref_22 + flattenedNames: + - properties + - personalDesktopAssignmentType + required: true + serializedName: personalDesktopAssignmentType + language: + default: + name: personal_desktop_assignment_type + description: PersonalDesktopAssignment type for HostPool. + cli: &ref_323 + cliKey: personalDesktopAssignmentType + protocol: {} + - &ref_324 + schema: *ref_23 + flattenedNames: + - properties + - customRdpProperty + required: false + serializedName: customRdpProperty + language: + default: + name: custom_rdp_property + description: Custom rdp property of HostPool. + cli: &ref_325 + cliKey: customRdpProperty + protocol: {} + - &ref_326 + schema: *ref_24 + flattenedNames: + - properties + - maxSessionLimit + required: false + serializedName: maxSessionLimit + language: + default: + name: max_session_limit + description: The max session limit of HostPool. + cli: &ref_327 + cliKey: maxSessionLimit + protocol: {} + - &ref_328 + schema: *ref_25 + flattenedNames: + - properties + - loadBalancerType + required: true + serializedName: loadBalancerType + language: + default: + name: load_balancer_type + description: The type of the load balancer. + cli: &ref_329 + cliKey: loadBalancerType + protocol: {} + - &ref_330 + schema: *ref_26 + flattenedNames: + - properties + - ring + required: false + serializedName: ring + language: + default: + name: ring + description: The ring number of HostPool. + cli: &ref_331 + cliKey: ring + protocol: {} + - &ref_332 + schema: *ref_27 + flattenedNames: + - properties + - validationEnvironment + required: false + serializedName: validationEnvironment + language: + default: + name: validation_environment + description: Is validation environment. + cli: &ref_333 + cliKey: validationEnvironment + protocol: {} + - &ref_334 + schema: &ref_111 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_28 + serializedName: expirationTime + language: + default: + name: expiration_time + description: Expiration time of registration token. + cli: + cliKey: expirationTime + protocol: {} + - schema: *ref_29 + serializedName: token + language: + default: + name: token + description: The registration token base64 encoded string. + cli: + cliKey: token + protocol: {} + - schema: *ref_30 + serializedName: registrationTokenOperation + language: + default: + name: registration_token_operation + description: The type of resetting the token. + cli: + cliKey: registrationTokenOperation + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: registration_info + description: Represents a RegistrationInfo definition. + namespace: '' + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 3 + propertyCountIfSimplifyWithoutSimpleObject: 3 + simplifiable: true + cliKey: RegistrationInfo + protocol: {} + flattenedNames: + - properties + - registrationInfo + required: false + serializedName: registrationInfo + language: + default: + name: registration_info + description: The registration info of HostPool. + cli: &ref_335 + cliKey: registrationInfo + protocol: {} + - &ref_336 + schema: *ref_31 + flattenedNames: + - properties + - vmTemplate + required: false + serializedName: vmTemplate + language: + default: + name: vm_template + description: VM template for sessionhosts configuration within hostpool. + cli: &ref_337 + cliKey: vmTemplate + protocol: {} + - schema: &ref_126 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_32 + language: + default: + name: host_pool_properties_application_group_references + description: List of applicationGroup links. + cli: + cli-complexity: array_simple + cli-mark: checked + protocol: {} + flattenedNames: + - properties + - applicationGroupReferences + readOnly: true + required: false + serializedName: applicationGroupReferences + language: + default: + name: application_group_references + description: List of applicationGroup links. + cli: + cliKey: applicationGroupReferences + protocol: {} + - &ref_338 + schema: *ref_33 + flattenedNames: + - properties + - ssoContext + required: false + serializedName: ssoContext + language: + default: + name: sso_context + description: Path to keyvault containing ssoContext secret. + cli: &ref_339 + cliKey: ssoContext + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: host_pool + description: Represents a HostPool definition. + namespace: '' + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: HostPool + protocol: {} + immediate: + - *ref_34 + - *ref_35 + - *ref_36 + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - &ref_143 + schema: *ref_37 + required: false + serializedName: tags + language: + default: + name: tags + description: Resource tags. + cli: &ref_144 + cliKey: tags + protocol: {} + - &ref_145 + schema: *ref_38 + required: true + serializedName: location + language: + default: + name: location + description: The geo-location where the resource lives + cli: &ref_146 + cliKey: location + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: tracked_resource + description: The resource model definition for a ARM tracked top level resource + namespace: '' + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: TrackedResource + protocol: {} + - *ref_34 + - *ref_35 + - &ref_83 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - &ref_207 + schema: *ref_39 + serializedName: tags + language: + default: + name: tags + description: tags to be updated + cli: &ref_208 + cliKey: tags + protocol: {} + - &ref_209 + schema: *ref_40 + flattenedNames: + - properties + - description + serializedName: description + language: + default: + name: description + description: Description of ApplicationGroup. + cli: &ref_210 + cliKey: description + protocol: {} + - &ref_211 + schema: *ref_41 + flattenedNames: + - properties + - friendlyName + serializedName: friendlyName + language: + default: + name: friendly_name + description: Friendly name of ApplicationGroup. + cli: &ref_212 + cliKey: friendlyName + protocol: {} + serializationFormats: + - json + usage: + - input + - output + language: + default: + name: application_group_patch + description: ApplicationGroup properties that can be patched. + namespace: '' + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ApplicationGroupPatch + protocol: {} + - &ref_84 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - schema: *ref_42 + flattenedNames: + - properties + - appAlias + serializedName: appAlias + language: + default: + name: app_alias + description: Alias of StartMenuItem. + cli: + cliKey: appAlias + protocol: {} + - schema: *ref_43 + flattenedNames: + - properties + - friendlyName + serializedName: friendlyName + language: + default: + name: friendly_name + description: Friendly name of StartMenuItem. + cli: + cliKey: friendlyName + protocol: {} + - schema: *ref_44 + flattenedNames: + - properties + - filePath + serializedName: filePath + language: + default: + name: file_path + description: Path to the file of StartMenuItem. + cli: + cliKey: filePath + protocol: {} + - schema: *ref_45 + flattenedNames: + - properties + - commandLineArguments + serializedName: commandLineArguments + language: + default: + name: command_line_arguments + description: Command line arguments for StartMenuItem. + cli: + cliKey: commandLineArguments + protocol: {} + - schema: *ref_46 + flattenedNames: + - properties + - iconPath + serializedName: iconPath + language: + default: + name: icon_path + description: Path to the icon. + cli: + cliKey: iconPath + protocol: {} + - schema: *ref_47 + flattenedNames: + - properties + - iconIndex + serializedName: iconIndex + language: + default: + name: icon_index + description: Index of the icon. + cli: + cliKey: iconIndex + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: start_menu_item + description: Represents a StartMenuItem definition. + namespace: '' + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 6 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: StartMenuItem + protocol: {} + - &ref_85 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - &ref_228 + schema: *ref_48 + flattenedNames: + - properties + - description + required: false + serializedName: description + language: + default: + name: description + description: Description of Application. + cli: &ref_229 + cliKey: description + protocol: {} + - &ref_230 + schema: *ref_49 + flattenedNames: + - properties + - friendlyName + required: false + serializedName: friendlyName + language: + default: + name: friendly_name + description: Friendly name of Application. + cli: &ref_231 + cliKey: friendlyName + protocol: {} + - &ref_232 + schema: *ref_50 + flattenedNames: + - properties + - filePath + required: false + serializedName: filePath + language: + default: + name: file_path + description: Specifies a path for the executable file for the application. + cli: &ref_233 + cliKey: filePath + protocol: {} + - &ref_234 + schema: *ref_51 + flattenedNames: + - properties + - commandLineSetting + required: true + serializedName: commandLineSetting + language: + default: + name: command_line_setting + description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' + cli: &ref_235 + cliKey: commandLineSetting + protocol: {} + - &ref_236 + schema: *ref_52 + flattenedNames: + - properties + - commandLineArguments + required: false + serializedName: commandLineArguments + language: + default: + name: command_line_arguments + description: Command Line Arguments for Application. + cli: &ref_237 + cliKey: commandLineArguments + protocol: {} + - &ref_238 + schema: *ref_53 + flattenedNames: + - properties + - showInPortal + required: false + serializedName: showInPortal + language: + default: + name: show_in_portal + description: Specifies whether to show the RemoteApp program in the RD Web Access server. + cli: &ref_239 + cliKey: showInPortal + protocol: {} + - &ref_240 + schema: *ref_54 + flattenedNames: + - properties + - iconPath + required: false + serializedName: iconPath + language: + default: + name: icon_path + description: Path to icon. + cli: &ref_241 + cliKey: iconPath + protocol: {} + - &ref_242 + schema: *ref_47 + flattenedNames: + - properties + - iconIndex + required: false + serializedName: iconIndex + language: + default: + name: icon_index + description: Index of the icon. + cli: &ref_243 + cliKey: iconIndex + protocol: {} + - schema: *ref_55 + flattenedNames: + - properties + - iconHash + readOnly: true + required: false + serializedName: iconHash + language: + default: + name: icon_hash + description: Hash of the icon. + cli: + cliKey: iconHash + protocol: {} + - schema: *ref_56 + flattenedNames: + - properties + - iconContent + readOnly: true + required: false + serializedName: iconContent + language: + default: + name: icon_content + description: the icon a 64 bit string as a byte array. + cli: + cliKey: iconContent + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: application + description: Schema for Application properties. + namespace: '' + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 8 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: Application + protocol: {} + - &ref_86 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - schema: *ref_57 + flattenedNames: + - properties + - description + serializedName: description + language: + default: + name: description + description: Description of Desktop. + cli: + cliKey: description + protocol: {} + - schema: *ref_58 + flattenedNames: + - properties + - friendlyName + serializedName: friendlyName + language: + default: + name: friendly_name + description: Friendly name of Desktop. + cli: + cliKey: friendlyName + protocol: {} + - schema: *ref_59 + flattenedNames: + - properties + - iconHash + readOnly: true + serializedName: iconHash + language: + default: + name: icon_hash + description: Hash of the icon. + cli: + cliKey: iconHash + protocol: {} + - schema: *ref_60 + flattenedNames: + - properties + - iconContent + readOnly: true + serializedName: iconContent + language: + default: + name: icon_content + description: The icon a 64 bit string as a byte array. + cli: + cliKey: iconContent + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: desktop + description: Schema for Desktop properties. + namespace: '' + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: Desktop + protocol: {} + - *ref_36 + - &ref_87 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - &ref_361 + schema: *ref_39 + serializedName: tags + language: + default: + name: tags + description: tags to be updated + cli: &ref_362 + cliKey: tags + protocol: {} + - &ref_363 + schema: *ref_61 + flattenedNames: + - properties + - friendlyName + serializedName: friendlyName + language: + default: + name: friendly_name + description: Friendly name of HostPool. + cli: &ref_364 + cliKey: friendlyName + protocol: {} + - &ref_365 + schema: *ref_62 + flattenedNames: + - properties + - description + serializedName: description + language: + default: + name: description + description: Description of HostPool. + cli: &ref_366 + cliKey: description + protocol: {} + - &ref_367 + schema: *ref_63 + flattenedNames: + - properties + - customRdpProperty + serializedName: customRdpProperty + language: + default: + name: custom_rdp_property + description: Custom rdp property of HostPool. + cli: &ref_368 + cliKey: customRdpProperty + protocol: {} + - &ref_369 + schema: *ref_24 + flattenedNames: + - properties + - maxSessionLimit + serializedName: maxSessionLimit + language: + default: + name: max_session_limit + description: The max session limit of HostPool. + cli: &ref_370 + cliKey: maxSessionLimit + protocol: {} + - &ref_371 + schema: *ref_22 + flattenedNames: + - properties + - personalDesktopAssignmentType + serializedName: personalDesktopAssignmentType + language: + default: + name: personal_desktop_assignment_type + description: PersonalDesktopAssignment type for HostPool. + cli: &ref_372 + cliKey: personalDesktopAssignmentType + protocol: {} + - &ref_373 + schema: *ref_25 + flattenedNames: + - properties + - loadBalancerType + serializedName: loadBalancerType + language: + default: + name: load_balancer_type + description: The type of the load balancer. + cli: &ref_374 + cliKey: loadBalancerType + protocol: {} + - &ref_375 + schema: *ref_26 + flattenedNames: + - properties + - ring + serializedName: ring + language: + default: + name: ring + description: The ring number of HostPool. + cli: &ref_376 + cliKey: ring + protocol: {} + - &ref_377 + schema: *ref_27 + flattenedNames: + - properties + - validationEnvironment + serializedName: validationEnvironment + language: + default: + name: validation_environment + description: Is validation environment. + cli: &ref_378 + cliKey: validationEnvironment + protocol: {} + - &ref_379 + schema: &ref_112 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_30 + serializedName: registrationTokenOperation + language: + default: + name: registration_token_operation + description: The type of resetting the token. + cli: + cliKey: registrationTokenOperation + protocol: {} + serializationFormats: + - json + usage: + - input + - output + language: + default: + name: registration_info_patch + description: Represents a RegistrationInfo definition. + namespace: '' + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 1 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: RegistrationInfoPatch + protocol: {} + flattenedNames: + - properties + - registrationInfo + serializedName: registrationInfo + language: + default: + name: registration_info + description: The registration info of HostPool. + cli: &ref_380 + cliKey: registrationInfo + protocol: {} + - &ref_381 + schema: *ref_64 + flattenedNames: + - properties + - ssoContext + serializedName: ssoContext + language: + default: + name: sso_context + description: Path to keyvault containing ssoContext secret. + cli: &ref_382 + cliKey: ssoContext + protocol: {} + serializationFormats: + - json + usage: + - input + - output + language: + default: + name: host_pool_patch + description: HostPool properties that can be patched. + namespace: '' + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: HostPoolPatch + protocol: {} + - &ref_88 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - schema: *ref_65 + flattenedNames: + - properties + - userPrincipalName + serializedName: userPrincipalName + language: + default: + name: user_principal_name + description: The user principal name. + cli: + cliKey: userPrincipalName + protocol: {} + - schema: *ref_66 + flattenedNames: + - properties + - applicationType + serializedName: applicationType + language: + default: + name: application_type + description: Application type of application. + cli: + cliKey: applicationType + protocol: {} + - schema: *ref_67 + flattenedNames: + - properties + - sessionState + serializedName: sessionState + language: + default: + name: session_state + description: State of user session. + cli: + cliKey: sessionState + protocol: {} + - schema: *ref_68 + flattenedNames: + - properties + - activeDirectoryUserName + serializedName: activeDirectoryUserName + language: + default: + name: active_directory_user_name + description: The active directory user name. + cli: + cliKey: activeDirectoryUserName + protocol: {} + - schema: *ref_69 + flattenedNames: + - properties + - createTime + serializedName: createTime + language: + default: + name: create_time + description: The timestamp of the user session create. + cli: + cliKey: createTime + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: user_session + description: Represents a UserSession definition. + namespace: '' + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 5 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: UserSession + protocol: {} + - &ref_89 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - schema: *ref_70 + flattenedNames: + - properties + - lastHeartBeat + serializedName: lastHeartBeat + language: + default: + name: last_heart_beat + description: Last heart beat from SessionHost. + cli: + cliKey: lastHeartBeat + protocol: {} + - schema: *ref_71 + flattenedNames: + - properties + - sessions + serializedName: sessions + language: + default: + name: sessions + description: Number of sessions on SessionHost. + cli: + cliKey: sessions + protocol: {} + - schema: *ref_72 + flattenedNames: + - properties + - agentVersion + serializedName: agentVersion + language: + default: + name: agent_version + description: Version of agent on SessionHost. + cli: + cliKey: agentVersion + protocol: {} + - schema: *ref_73 + flattenedNames: + - properties + - allowNewSession + serializedName: allowNewSession + language: + default: + name: allow_new_session + description: Allow a new session. + cli: + cliKey: allowNewSession + protocol: {} + - schema: *ref_74 + flattenedNames: + - properties + - assignedUser + serializedName: assignedUser + language: + default: + name: assigned_user + description: User assigned to SessionHost. + cli: + cliKey: assignedUser + protocol: {} + - schema: *ref_75 + flattenedNames: + - properties + - status + serializedName: status + language: + default: + name: status + description: Status for a SessionHost. + cli: + cliKey: status + protocol: {} + - schema: *ref_76 + flattenedNames: + - properties + - statusTimestamp + readOnly: true + serializedName: statusTimestamp + language: + default: + name: status_timestamp + description: The timestamp of the status. + cli: + cliKey: statusTimestamp + protocol: {} + - schema: *ref_77 + flattenedNames: + - properties + - osVersion + serializedName: osVersion + language: + default: + name: os_version + description: The version of the OS on the session host. + cli: + cliKey: osVersion + protocol: {} + - schema: *ref_78 + flattenedNames: + - properties + - sxSStackVersion + serializedName: sxSStackVersion + language: + default: + name: sx_s_stack_version + description: The version of the side by side stack on the session host. + cli: + cliKey: sxSStackVersion + protocol: {} + - schema: *ref_79 + flattenedNames: + - properties + - updateState + serializedName: updateState + language: + default: + name: update_state + description: Update state of a SessionHost. + cli: + cliKey: updateState + protocol: {} + - schema: *ref_80 + flattenedNames: + - properties + - lastUpdateTime + readOnly: true + serializedName: lastUpdateTime + language: + default: + name: last_update_time + description: The timestamp of the last update. + cli: + cliKey: lastUpdateTime + protocol: {} + - schema: *ref_81 + flattenedNames: + - properties + - updateErrorMessage + serializedName: updateErrorMessage + language: + default: + name: update_error_message + description: The error message. + cli: + cliKey: updateErrorMessage + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: session_host + description: Represents a SessionHost definition. + namespace: '' + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: SessionHost + protocol: {} + - &ref_90 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - &ref_440 + schema: *ref_73 + flattenedNames: + - properties + - allowNewSession + serializedName: allowNewSession + language: + default: + name: allow_new_session + description: Allow a new session. + cli: &ref_441 + cliKey: allowNewSession + protocol: {} + - &ref_442 + schema: *ref_82 + flattenedNames: + - properties + - assignedUser + serializedName: assignedUser + language: + default: + name: assigned_user + description: User assigned to SessionHost. + cli: &ref_443 + cliKey: assignedUser + protocol: {} + serializationFormats: + - json + usage: + - input + - output + language: + default: + name: session_host_patch + description: SessionHost properties that can be patched. + namespace: '' + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: SessionHostPatch + protocol: {} + immediate: + - *ref_9 + - *ref_83 + - *ref_84 + - *ref_85 + - *ref_86 + - *ref_87 + - *ref_88 + - *ref_89 + - *ref_90 + properties: + - schema: *ref_91 + readOnly: true + serializedName: id + language: + default: + name: id + description: 'Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' + cli: + cliKey: id + protocol: {} + - schema: *ref_92 + readOnly: true + serializedName: name + language: + default: + name: name + description: The name of the resource + cli: + cliKey: name + protocol: {} + - schema: *ref_93 + readOnly: true + serializedName: type + language: + default: + name: type + description: The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + cli: + cliKey: type + protocol: {} + serializationFormats: + - json + usage: + - output + - input + extensions: + x-ms-azure-resource: true + language: + default: + name: resource + description: '' + namespace: '' + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 0 + propertyCountIfSimplifyWithoutSimpleObject: 0 + simplifiable: true + cliKey: Resource + protocol: {} + - *ref_9 + - *ref_34 + - &ref_140 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_94 + serializedName: code + language: + default: + name: code + description: Error code + cli: + cliKey: code + protocol: {} + - schema: *ref_95 + serializedName: message + language: + default: + name: message + description: Error message indicating why the operation failed. + cli: + cliKey: message + protocol: {} + serializationFormats: + - json + usage: + - output + language: + default: + name: cloud_error + description: Error response of an operation failure + namespace: '' + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 2 + simplifiable: true + cliKey: CloudError + protocol: {} + - &ref_162 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - &ref_164 + schema: *ref_39 + serializedName: tags + language: + default: + name: tags + description: tags to be updated + cli: &ref_165 + cliKey: tags + protocol: {} + - &ref_166 + schema: *ref_96 + flattenedNames: + - properties + - description + serializedName: description + language: + default: + name: description + description: Description of Workspace. + cli: &ref_167 + cliKey: description + protocol: {} + - &ref_168 + schema: *ref_97 + flattenedNames: + - properties + - friendlyName + serializedName: friendlyName + language: + default: + name: friendly_name + description: Friendly name of Workspace. + cli: &ref_169 + cliKey: friendlyName + protocol: {} + - &ref_170 + schema: &ref_120 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_98 + language: + default: + name: workspace_patch_properties_application_group_references + description: List of applicationGroup links. + cli: + cli-complexity: array_simple + cli-mark: checked + protocol: {} + flattenedNames: + - properties + - applicationGroupReferences + serializedName: applicationGroupReferences + language: + default: + name: application_group_references + description: List of applicationGroup links. + cli: &ref_171 + cliKey: applicationGroupReferences + protocol: {} + serializationFormats: + - json + usage: + - input + language: + default: + name: workspace_patch + description: Workspace properties that can be patched. + namespace: '' + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: WorkspacePatch + protocol: {} + - &ref_179 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_121 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_34 + language: + default: + name: workspace_list_value + description: List of Workspace definitions. + cli: + cli-complexity: array_complex + cli-mark: checked + protocol: {} + serializedName: value + language: + default: + name: value + description: List of Workspace definitions. + cli: + cliKey: value + protocol: {} + - schema: *ref_99 + readOnly: true + serializedName: nextLink + language: + default: + name: next_link + description: Link to the next page of results. + cli: + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: WorkspaceList + usage: + - output + language: + default: + name: workspace_list + description: List of Workspace definitions. + namespace: '' + summary: WorkspaceList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: WorkspaceList + protocol: {} + - &ref_184 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_122 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_35 + language: + default: + name: application_group_list_value + description: List of ApplicationGroup definitions. + cli: + cli-complexity: array_complex + cli-mark: checked + protocol: {} + serializedName: value + language: + default: + name: value + description: List of ApplicationGroup definitions. + cli: + cliKey: value + protocol: {} + - schema: *ref_100 + readOnly: true + serializedName: nextLink + language: + default: + name: next_link + description: Link to the next page of results. + cli: + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: ApplicationGroupList + usage: + - output + language: + default: + name: application_group_list + description: List of ApplicationGroup definitions. + namespace: '' + summary: ApplicationGroupList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ApplicationGroupList + protocol: {} + - *ref_35 + - *ref_83 + - &ref_223 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_123 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_84 + language: + default: + name: start_menu_item_list_value + description: List of StartMenuItem definitions. + cli: + cli-complexity: array_complex + cli-mark: checked + protocol: {} + serializedName: value + language: + default: + name: value + description: List of StartMenuItem definitions. + cli: + cliKey: value + protocol: {} + - schema: *ref_101 + readOnly: true + serializedName: nextLink + language: + default: + name: next_link + description: Link to the next page of results. + cli: + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: StartMenuItemList + usage: + - output + language: + default: + name: start_menu_item_list + description: List of StartMenuItem definitions. + namespace: '' + summary: StartMenuItemList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: StartMenuItemList + protocol: {} + - *ref_84 + - *ref_85 + - &ref_258 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - &ref_260 + schema: *ref_39 + serializedName: tags + language: + default: + name: tags + description: tags to be updated + cli: &ref_261 + cliKey: tags + protocol: {} + - &ref_262 + schema: *ref_102 + flattenedNames: + - properties + - description + serializedName: description + language: + default: + name: description + description: Description of Application. + cli: &ref_263 + cliKey: description + protocol: {} + - &ref_264 + schema: *ref_103 + flattenedNames: + - properties + - friendlyName + serializedName: friendlyName + language: + default: + name: friendly_name + description: Friendly name of Application. + cli: &ref_265 + cliKey: friendlyName + protocol: {} + - &ref_266 + schema: *ref_104 + flattenedNames: + - properties + - filePath + serializedName: filePath + language: + default: + name: file_path + description: Specifies a path for the executable file for the application. + cli: &ref_267 + cliKey: filePath + protocol: {} + - &ref_268 + schema: *ref_51 + flattenedNames: + - properties + - commandLineSetting + serializedName: commandLineSetting + language: + default: + name: command_line_setting + description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' + cli: &ref_269 + cliKey: commandLineSetting + protocol: {} + - &ref_270 + schema: *ref_105 + flattenedNames: + - properties + - commandLineArguments + serializedName: commandLineArguments + language: + default: + name: command_line_arguments + description: Command Line Arguments for Application. + cli: &ref_271 + cliKey: commandLineArguments + protocol: {} + - &ref_272 + schema: *ref_53 + flattenedNames: + - properties + - showInPortal + serializedName: showInPortal + language: + default: + name: show_in_portal + description: Specifies whether to show the RemoteApp program in the RD Web Access server. + cli: &ref_273 + cliKey: showInPortal + protocol: {} + - &ref_274 + schema: *ref_106 + flattenedNames: + - properties + - iconPath + serializedName: iconPath + language: + default: + name: icon_path + description: Path to icon. + cli: &ref_275 + cliKey: iconPath + protocol: {} + - &ref_276 + schema: *ref_47 + flattenedNames: + - properties + - iconIndex + serializedName: iconIndex + language: + default: + name: icon_index + description: Index of the icon. + cli: &ref_277 + cliKey: iconIndex + protocol: {} + serializationFormats: + - json + usage: + - input + language: + default: + name: application_patch + description: Application properties that can be patched. + namespace: '' + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ApplicationPatch + protocol: {} + - &ref_292 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_124 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_85 + language: + default: + name: application_list_value + description: List of Application definitions. + cli: + cli-complexity: array_complex + cli-mark: checked + protocol: {} + serializedName: value + language: + default: + name: value + description: List of Application definitions. + cli: + cliKey: value + protocol: {} + - schema: *ref_107 + readOnly: true + serializedName: nextLink + language: + default: + name: next_link + description: Link to the next page of results. + cli: + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: ApplicationList + usage: + - output + language: + default: + name: application_list + description: List of Application definitions. + namespace: '' + summary: ApplicationList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ApplicationList + protocol: {} + - *ref_86 + - &ref_296 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - &ref_298 + schema: *ref_39 + serializedName: tags + language: + default: + name: tags + description: tags to be updated + cli: &ref_299 + cliKey: tags + protocol: {} + - &ref_300 + schema: *ref_108 + flattenedNames: + - properties + - description + serializedName: description + language: + default: + name: description + description: Description of Desktop. + cli: &ref_301 + cliKey: description + protocol: {} + - &ref_302 + schema: *ref_109 + flattenedNames: + - properties + - friendlyName + serializedName: friendlyName + language: + default: + name: friendly_name + description: Friendly name of Desktop. + cli: &ref_303 + cliKey: friendlyName + protocol: {} + serializationFormats: + - json + usage: + - input + language: + default: + name: desktop_patch + description: Desktop properties that can be patched. + namespace: '' + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: DesktopPatch + protocol: {} + - &ref_312 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_125 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_86 + language: + default: + name: desktop_list_value + description: List of Desktop definitions. + cli: + cli-complexity: array_complex + cli-mark: checked + protocol: {} + serializedName: value + language: + default: + name: value + description: List of Desktop definitions. + cli: + cliKey: value + protocol: {} + - schema: *ref_110 + readOnly: true + serializedName: nextLink + language: + default: + name: next_link + description: Link to the next page of results. + cli: + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: DesktopList + usage: + - output + language: + default: + name: desktop_list + description: List of Desktop definitions. + namespace: '' + summary: DesktopList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: DesktopList + protocol: {} + - *ref_36 + - *ref_111 + - *ref_87 + - *ref_112 + - &ref_397 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_127 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_36 + language: + default: + name: host_pool_list_value + description: List of HostPool definitions. + cli: + cli-complexity: array_complex + cli-mark: checked + protocol: {} + serializedName: value + language: + default: + name: value + description: List of HostPool definitions. + cli: + cliKey: value + protocol: {} + - schema: *ref_113 + readOnly: true + serializedName: nextLink + language: + default: + name: next_link + description: Link to the next page of results. + cli: + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: HostPoolList + usage: + - output + language: + default: + name: host_pool_list + description: List of HostPool definitions. + namespace: '' + summary: HostPoolList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: HostPoolList + protocol: {} + - &ref_401 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_128 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_88 + language: + default: + name: user_session_list_value + description: List of UserSession definitions. + cli: + cli-complexity: array_complex + cli-mark: checked + protocol: {} + serializedName: value + language: + default: + name: value + description: List of UserSession definitions. + cli: + cliKey: value + protocol: {} + - schema: *ref_114 + readOnly: true + serializedName: nextLink + language: + default: + name: next_link + description: Link to the next page of results. + cli: + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: UserSessionList + usage: + - output + language: + default: + name: user_session_list + description: List of UserSession definitions. + namespace: '' + summary: UserSessionList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: UserSessionList + protocol: {} + - *ref_88 + - *ref_89 + - *ref_90 + - &ref_451 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_129 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_89 + language: + default: + name: session_host_list_value + description: List of SessionHost definitions. + cli: + cli-complexity: array_complex + cli-mark: checked + protocol: {} + serializedName: value + language: + default: + name: value + description: List of SessionHost definitions. + cli: + cliKey: value + protocol: {} + - schema: *ref_115 + readOnly: true + serializedName: nextLink + language: + default: + name: next_link + description: Link to the next page of results. + cli: + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: SessionHostList + usage: + - output + language: + default: + name: session_host_list + description: List of SessionHost definitions. + namespace: '' + summary: SessionHostList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: SessionHostList + protocol: {} + - &ref_420 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - &ref_422 + schema: *ref_116 + serializedName: messageTitle + language: + default: + name: message_title + description: Title of message. + cli: &ref_423 + cliKey: messageTitle + protocol: {} + - &ref_424 + schema: *ref_117 + serializedName: messageBody + language: + default: + name: message_body + description: Body of message. + cli: &ref_425 + cliKey: messageBody + protocol: {} + serializationFormats: + - json + usage: + - input + language: + default: + name: send_message + description: Represents message sent to a UserSession. + namespace: '' + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 2 + simplifiable: true + cliKey: SendMessage + protocol: {} + arrays: + - *ref_118 + - *ref_119 + - *ref_120 + - *ref_121 + - *ref_122 + - *ref_123 + - *ref_124 + - *ref_125 + - *ref_126 + - *ref_127 + - *ref_128 + - *ref_129 +globalParameters: + - &ref_135 + schema: *ref_130 + implementation: Client + required: true + extensions: + x-ms-priority: 0 + language: + default: + name: subscription_id + description: The ID of the target subscription. + serializedName: subscriptionId + cli: + cliKey: subscriptionId + protocol: + http: + in: path + - &ref_132 + schema: *ref_0 + clientDefaultValue: 'https://management.azure.com' + implementation: Client + origin: 'modelerfour:synthesized/host' + required: true + extensions: + x-ms-skip-url-encoding: true + language: + default: + name: $host + description: server parameter + serializedName: $host + cli: + cliKey: $host + protocol: + http: + in: uri + - &ref_133 + schema: *ref_131 + implementation: Client + origin: 'modelerfour:synthesized/api-version' + required: true + language: + default: + name: api_version + description: Api Version + serializedName: api-version + cli: + cliKey: ApiVersion + protocol: + http: + in: query +operationGroups: + - $key: Operations + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: /providers/Microsoft.DesktopVirtualization/operations + method: get + uri: '{$host}' + signatureParameters: [] + responses: + - schema: *ref_134 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + extensions: + x-ms-examples: + OperationDescription_List: + parameters: + api-version: 2019-12-10-preview + responses: + '200': + body: + value: + - name: Microsoft.DesktopVirtualization/ssocontext/read + display: + provider: Microsoft.DesktopVirtualization + resource: ssocontext + - name: Microsoft.DesktopVirtualization/ssocontext/write + display: + provider: Microsoft.DesktopVirtualization + resource: ssocontext + language: + default: + name: list + description: List all of the available operations the Desktop Virtualization resource provider supports. + cli: + cliKey: List + hidden: true + protocol: {} + language: + default: + name: operations + description: '' + cli: + cliKey: Operations + protocol: {} + - $key: Workspaces + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_138 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_139 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: workspace_name + description: The name of the workspace + serializedName: workspaceName + cli: + cliKey: workspaceName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_138 + - *ref_139 + responses: + - schema: *ref_34 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Workspace_Get: + parameters: + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + workspaceName: workspace1 + responses: + '200': + body: + name: workspace1 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + language: + default: + name: get + description: Get a workspace. + cli: + cliKey: Get + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_158 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_159 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: workspace_name + description: The name of the workspace + serializedName: workspaceName + cli: + cliKey: workspaceName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_141 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content_type + description: Body Parameter content-type + serializedName: Content-Type + cli: + cliKey: content-type + protocol: + http: + in: header + - &ref_142 + schema: *ref_34 + flattened: true + implementation: Method + required: true + extensions: + x-ms-client-flatten: true + language: + default: + name: _workspace + description: Object containing Workspace definitions. + cli: + cliKey: workspace + protocol: + http: + in: body + style: json + - &ref_153 + schema: *ref_37 + implementation: Method + originalParameter: *ref_142 + pathToProperty: [] + required: false + targetProperty: *ref_143 + language: + default: + name: tags + description: Resource tags. + cli: *ref_144 + protocol: {} + - &ref_154 + schema: *ref_38 + implementation: Method + originalParameter: *ref_142 + pathToProperty: [] + required: true + targetProperty: *ref_145 + language: + default: + name: location + description: The geo-location where the resource lives + cli: *ref_146 + protocol: {} + - &ref_155 + schema: *ref_11 + implementation: Method + originalParameter: *ref_142 + pathToProperty: [] + targetProperty: *ref_147 + language: + default: + name: description + description: Description of Workspace. + cli: *ref_148 + protocol: {} + - &ref_156 + schema: *ref_12 + implementation: Method + originalParameter: *ref_142 + pathToProperty: [] + targetProperty: *ref_149 + language: + default: + name: friendly_name + description: Friendly name of Workspace. + cli: *ref_150 + protocol: {} + - &ref_157 + schema: *ref_119 + implementation: Method + originalParameter: *ref_142 + pathToProperty: [] + targetProperty: *ref_151 + language: + default: + name: application_group_references + description: List of applicationGroup resource Ids. + cli: *ref_152 + protocol: {} + signatureParameters: + - *ref_153 + - *ref_154 + - *ref_155 + - *ref_156 + - *ref_157 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' + method: put + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_158 + - *ref_159 + responses: + - schema: *ref_34 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + - schema: *ref_34 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '201' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Workspace_Create: + parameters: + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + workspace: + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + tag1: value1 + tag2: value2 + workspaceName: workspace1 + responses: + '200': + body: + name: workspace1 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + '201': + body: + name: workspace1 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + language: + default: + name: create_or_update + description: Create or update a workspace. + cli: + cliKey: CreateOrUpdate + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_160 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_161 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: workspace_name + description: The name of the workspace + serializedName: workspaceName + cli: + cliKey: workspaceName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' + method: delete + uri: '{$host}' + signatureParameters: + - *ref_160 + - *ref_161 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '204' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Workspace_Delete: + parameters: + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + workspaceName: workspace1 + responses: + '200': + name: workspace1 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + '204': {} + language: + default: + name: delete + description: Remove a workspace. + cli: + cliKey: Delete + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_176 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_177 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: workspace_name + description: The name of the workspace + serializedName: workspaceName + cli: + cliKey: workspaceName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_141 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content_type + description: Body Parameter content-type + serializedName: Content-Type + cli: + cliKey: content-type + protocol: + http: + in: header + - &ref_163 + schema: *ref_162 + flattened: true + implementation: Method + required: false + extensions: + x-ms-client-flatten: true + language: + default: + name: _workspace + description: Object containing Workspace definitions. + cli: + cliKey: workspace + protocol: + http: + in: body + style: json + - &ref_172 + schema: *ref_39 + implementation: Method + originalParameter: *ref_163 + pathToProperty: [] + targetProperty: *ref_164 + language: + default: + name: tags + description: tags to be updated + cli: *ref_165 + protocol: {} + - &ref_173 + schema: *ref_96 + implementation: Method + originalParameter: *ref_163 + pathToProperty: [] + targetProperty: *ref_166 + language: + default: + name: description + description: Description of Workspace. + cli: *ref_167 + protocol: {} + - &ref_174 + schema: *ref_97 + implementation: Method + originalParameter: *ref_163 + pathToProperty: [] + targetProperty: *ref_168 + language: + default: + name: friendly_name + description: Friendly name of Workspace. + cli: *ref_169 + protocol: {} + - &ref_175 + schema: *ref_120 + implementation: Method + originalParameter: *ref_163 + pathToProperty: [] + targetProperty: *ref_170 + language: + default: + name: application_group_references + description: List of applicationGroup links. + cli: *ref_171 + protocol: {} + signatureParameters: + - *ref_172 + - *ref_173 + - *ref_174 + - *ref_175 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' + method: patch + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_176 + - *ref_177 + responses: + - schema: *ref_34 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Workspace_Update: + parameters: + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + workspace: + properties: + description: des1 + friendlyName: friendly + tags: + tag1: value1 + tag2: value2 + workspaceName: workspace1 + responses: + '200': + body: + name: workspace1 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + language: + default: + name: update + description: Update a workspace. + cli: + cliKey: Update + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_178 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces' + method: get + uri: '{$host}' + signatureParameters: + - *ref_178 + responses: + - schema: *ref_179 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Workspace_ListByResourceGroup: + parameters: + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: workspace1 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + - name: workspace2 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace2 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: list_by_resource_group + description: List workspaces. + paging: + nextLinkName: nextLink + cli: + cliKey: ListByResourceGroup + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/workspaces' + method: get + uri: '{$host}' + signatureParameters: [] + responses: + - schema: *ref_179 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Workspace_ListBySubscription: + parameters: + api-version: 2019-12-10-preview + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: workspace1 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + - name: workspace2 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace2 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: list_by_subscription + description: List workspaces in subscription. + paging: + nextLinkName: nextLink + cli: + cliKey: ListBySubscription + protocol: {} + language: + default: + name: workspaces + description: '' + cli: + cliKey: Workspaces + protocol: {} + - $key: ApplicationGroupAssignments + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_181 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_182 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: workspace_name + description: The name of the workspace + serializedName: workspaceName + cli: + cliKey: workspaceName + protocol: + http: + in: path + - &ref_183 + schema: *ref_180 + implementation: Method + language: + default: + name: filter + description: OData filter expression. Valid properties for filtering are applicationGroupType. + serializedName: $filter + cli: + cliKey: $filter + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}/userApplicationGroupAssignments' + method: get + uri: '{$host}' + signatureParameters: + - *ref_181 + - *ref_182 + - *ref_183 + responses: + - schema: *ref_184 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ApplicationGroupAssignment_WorkspaceLevelList: + parameters: + $filter: userPrincipalName eq 'user1@microsoft.com' + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + workspaceName: workspace1 + responses: + '200': + body: + value: + - name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + - name: applicationGroup2 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: workspace_level_list + description: List application group that user can use. + paging: + nextLinkName: nextLink + cli: + cliKey: WorkspaceLevelList + protocol: {} + language: + default: + name: application_group_assignments + description: '' + cli: + cliKey: ApplicationGroupAssignments + hidden: true + protocol: {} + - $key: ApplicationGroups + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_185 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_186 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_group_name + description: The name of the application group + serializedName: applicationGroupName + cli: + cliKey: applicationGroupName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_185 + - *ref_186 + responses: + - schema: *ref_35 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ApplicationGroup_Get: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + language: + default: + name: get + description: Get an application group. + cli: + cliKey: Get + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_202 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_203 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_group_name + description: The name of the application group + serializedName: applicationGroupName + cli: + cliKey: applicationGroupName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_141 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content_type + description: Body Parameter content-type + serializedName: Content-Type + cli: + cliKey: content-type + protocol: + http: + in: header + - &ref_187 + schema: *ref_35 + flattened: true + implementation: Method + required: true + extensions: + x-ms-client-flatten: true + language: + default: + name: _application_group + description: Object containing ApplicationGroup definitions. + cli: + cliKey: applicationGroup + protocol: + http: + in: body + style: json + - &ref_196 + schema: *ref_37 + implementation: Method + originalParameter: *ref_187 + pathToProperty: [] + required: false + targetProperty: *ref_143 + language: + default: + name: tags + description: Resource tags. + cli: *ref_144 + protocol: {} + - &ref_197 + schema: *ref_38 + implementation: Method + originalParameter: *ref_187 + pathToProperty: [] + required: true + targetProperty: *ref_145 + language: + default: + name: location + description: The geo-location where the resource lives + cli: *ref_146 + protocol: {} + - &ref_198 + schema: *ref_14 + implementation: Method + originalParameter: *ref_187 + pathToProperty: [] + required: false + targetProperty: *ref_188 + language: + default: + name: description + description: Description of ApplicationGroup. + cli: *ref_189 + protocol: {} + - &ref_199 + schema: *ref_15 + implementation: Method + originalParameter: *ref_187 + pathToProperty: [] + required: false + targetProperty: *ref_190 + language: + default: + name: friendly_name + description: Friendly name of ApplicationGroup. + cli: *ref_191 + protocol: {} + - &ref_200 + schema: *ref_16 + implementation: Method + originalParameter: *ref_187 + pathToProperty: [] + required: true + targetProperty: *ref_192 + language: + default: + name: host_pool_arm_path + description: HostPool arm path of ApplicationGroup. + cli: *ref_193 + protocol: {} + - &ref_201 + schema: *ref_18 + implementation: Method + originalParameter: *ref_187 + pathToProperty: [] + required: true + targetProperty: *ref_194 + language: + default: + name: application_group_type + description: Resource Type of ApplicationGroup. + cli: *ref_195 + protocol: {} + signatureParameters: + - *ref_196 + - *ref_197 + - *ref_198 + - *ref_199 + - *ref_200 + - *ref_201 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' + method: put + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_202 + - *ref_203 + responses: + - schema: *ref_35 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + - schema: *ref_35 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '201' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ApplicationGroup_Create: + parameters: + api-version: 2019-12-10-preview + applicationGroup: + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + tags: + tag1: value1 + tag2: value2 + applicationGroupName: applicationGroup1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + '201': + body: + name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + language: + default: + name: create_or_update + description: Create or update an applicationGroup. + cli: + cliKey: CreateOrUpdate + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_204 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_205 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_group_name + description: The name of the application group + serializedName: applicationGroupName + cli: + cliKey: applicationGroupName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' + method: delete + uri: '{$host}' + signatureParameters: + - *ref_204 + - *ref_205 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '204' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ApplicationGroup_Delete: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + '204': {} + language: + default: + name: delete + description: Remove an applicationGroup. + cli: + cliKey: Delete + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_216 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_217 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_group_name + description: The name of the application group + serializedName: applicationGroupName + cli: + cliKey: applicationGroupName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_141 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content_type + description: Body Parameter content-type + serializedName: Content-Type + cli: + cliKey: content-type + protocol: + http: + in: header + - &ref_206 + schema: *ref_83 + flattened: true + implementation: Method + required: false + extensions: + x-ms-client-flatten: true + language: + default: + name: _application_group + description: Object containing ApplicationGroup definitions. + cli: + cliKey: applicationGroup + protocol: + http: + in: body + style: json + - &ref_213 + schema: *ref_39 + implementation: Method + originalParameter: *ref_206 + pathToProperty: [] + targetProperty: *ref_207 + language: + default: + name: tags + description: tags to be updated + cli: *ref_208 + protocol: {} + - &ref_214 + schema: *ref_40 + implementation: Method + originalParameter: *ref_206 + pathToProperty: [] + targetProperty: *ref_209 + language: + default: + name: description + description: Description of ApplicationGroup. + cli: *ref_210 + protocol: {} + - &ref_215 + schema: *ref_41 + implementation: Method + originalParameter: *ref_206 + pathToProperty: [] + targetProperty: *ref_211 + language: + default: + name: friendly_name + description: Friendly name of ApplicationGroup. + cli: *ref_212 + protocol: {} + signatureParameters: + - *ref_213 + - *ref_214 + - *ref_215 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' + method: patch + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_216 + - *ref_217 + responses: + - schema: *ref_35 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ApplicationGroups_Update: + parameters: + api-version: 2019-12-10-preview + applicationGroup: + properties: + description: des1 + friendlyName: friendly + tags: + tag1: value1 + tag2: value2 + applicationGroupName: applicationGroup1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + language: + default: + name: update + description: Update an applicationGroup. + cli: + cliKey: Update + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_218 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_219 + schema: *ref_180 + implementation: Method + language: + default: + name: filter + description: OData filter expression. Valid properties for filtering are applicationGroupType. + serializedName: $filter + cli: + cliKey: $filter + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups' + method: get + uri: '{$host}' + signatureParameters: + - *ref_218 + - *ref_219 + responses: + - schema: *ref_184 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ApplicationGroup_ListByResourceGroup: + parameters: + $filter: applicationGroupType eq 'RailApplication' + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + - name: applicationGroup2 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: list_by_resource_group + description: List applicationGroups. + paging: + nextLinkName: nextLink + cli: + cliKey: ListByResourceGroup + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_220 + schema: *ref_180 + implementation: Method + language: + default: + name: filter + description: OData filter expression. Valid properties for filtering are applicationGroupType. + serializedName: $filter + cli: + cliKey: $filter + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/applicationGroups' + method: get + uri: '{$host}' + signatureParameters: + - *ref_220 + responses: + - schema: *ref_184 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ApplicationGroup_List: + parameters: + $filter: applicationGroupType eq 'RailApplication' + api-version: 2019-12-10-preview + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + - name: applicationGroup2 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: list_by_subscription + description: List applicationGroups in subscription. + paging: + nextLinkName: nextLink + cli: + cliKey: ListBySubscription + protocol: {} + language: + default: + name: application_groups + description: '' + cli: + cliKey: ApplicationGroups + protocol: {} + - $key: StartMenuItems + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_221 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_222 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_group_name + description: The name of the application group + serializedName: applicationGroupName + cli: + cliKey: applicationGroupName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/startMenuItems' + method: get + uri: '{$host}' + signatureParameters: + - *ref_221 + - *ref_222 + responses: + - schema: *ref_223 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + StartMenuItem_List: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: application1 + type: Microsoft.DesktopVirtualization/applicationGroups/startMenuItems + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/startMenuItem/application1 + properties: + appAlias: word + commandLineArguments: arguments + filePath: /path/to/file + friendlyName: friendly + iconIndex: 1 + iconPath: /path/to/icon + - name: application2 + type: Microsoft.DesktopVirtualization/applicationGroups/startMenuItems + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/startMenuItem/application2 + properties: + appAlias: excel + commandLineArguments: arguments + filePath: /path/to/file + friendlyName: friendly + iconIndex: 1 + iconPath: /path/to/icon + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: list + description: List start menu items in the given application group. + paging: + nextLinkName: nextLink + cli: + cliKey: List + protocol: {} + language: + default: + name: start_menu_items + description: '' + cli: + cliKey: StartMenuItems + hidden: true + protocol: {} + - $key: Applications + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_224 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_225 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_group_name + description: The name of the application group + serializedName: applicationGroupName + cli: + cliKey: applicationGroupName + protocol: + http: + in: path + - &ref_226 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_name + description: The name of the application within the specified application group + serializedName: applicationName + cli: + cliKey: applicationName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_224 + - *ref_225 + - *ref_226 + responses: + - schema: *ref_85 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Application_Get: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + applicationName: application1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1/application1 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + language: + default: + name: get + description: Get an application. + cli: + cliKey: Get + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_252 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_253 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_group_name + description: The name of the application group + serializedName: applicationGroupName + cli: + cliKey: applicationGroupName + protocol: + http: + in: path + - &ref_254 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_name + description: The name of the application within the specified application group + serializedName: applicationName + cli: + cliKey: applicationName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_141 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content_type + description: Body Parameter content-type + serializedName: Content-Type + cli: + cliKey: content-type + protocol: + http: + in: header + - &ref_227 + schema: *ref_85 + flattened: true + implementation: Method + required: true + extensions: + x-ms-client-flatten: true + language: + default: + name: _application + description: Object containing Application definitions. + cli: + cliKey: application + protocol: + http: + in: body + style: json + - &ref_244 + schema: *ref_48 + implementation: Method + originalParameter: *ref_227 + pathToProperty: [] + required: false + targetProperty: *ref_228 + language: + default: + name: description + description: Description of Application. + cli: *ref_229 + protocol: {} + - &ref_245 + schema: *ref_49 + implementation: Method + originalParameter: *ref_227 + pathToProperty: [] + required: false + targetProperty: *ref_230 + language: + default: + name: friendly_name + description: Friendly name of Application. + cli: *ref_231 + protocol: {} + - &ref_246 + schema: *ref_50 + implementation: Method + originalParameter: *ref_227 + pathToProperty: [] + required: false + targetProperty: *ref_232 + language: + default: + name: file_path + description: Specifies a path for the executable file for the application. + cli: *ref_233 + protocol: {} + - &ref_247 + schema: *ref_51 + implementation: Method + originalParameter: *ref_227 + pathToProperty: [] + required: true + targetProperty: *ref_234 + language: + default: + name: command_line_setting + description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' + cli: *ref_235 + protocol: {} + - &ref_248 + schema: *ref_52 + implementation: Method + originalParameter: *ref_227 + pathToProperty: [] + required: false + targetProperty: *ref_236 + language: + default: + name: command_line_arguments + description: Command Line Arguments for Application. + cli: *ref_237 + protocol: {} + - &ref_249 + schema: *ref_53 + implementation: Method + originalParameter: *ref_227 + pathToProperty: [] + required: false + targetProperty: *ref_238 + language: + default: + name: show_in_portal + description: Specifies whether to show the RemoteApp program in the RD Web Access server. + cli: *ref_239 + protocol: {} + - &ref_250 + schema: *ref_54 + implementation: Method + originalParameter: *ref_227 + pathToProperty: [] + required: false + targetProperty: *ref_240 + language: + default: + name: icon_path + description: Path to icon. + cli: *ref_241 + protocol: {} + - &ref_251 + schema: *ref_47 + implementation: Method + originalParameter: *ref_227 + pathToProperty: [] + required: false + targetProperty: *ref_242 + language: + default: + name: icon_index + description: Index of the icon. + cli: *ref_243 + protocol: {} + signatureParameters: + - *ref_244 + - *ref_245 + - *ref_246 + - *ref_247 + - *ref_248 + - *ref_249 + - *ref_250 + - *ref_251 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' + method: put + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_252 + - *ref_253 + - *ref_254 + responses: + - schema: *ref_85 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + - schema: *ref_85 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '201' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Application_Create: + parameters: + api-version: 2019-12-10-preview + application: + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconIndex: 1 + iconPath: icon + showInPortal: true + applicationGroupName: applicationGroup1 + applicationName: application1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1/application1 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + '201': + body: + name: applicationGroup1/application1 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + language: + default: + name: create_or_update + description: Create or update an application. + cli: + cliKey: CreateOrUpdate + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_255 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_256 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_group_name + description: The name of the application group + serializedName: applicationGroupName + cli: + cliKey: applicationGroupName + protocol: + http: + in: path + - &ref_257 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_name + description: The name of the application within the specified application group + serializedName: applicationName + cli: + cliKey: applicationName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' + method: delete + uri: '{$host}' + signatureParameters: + - *ref_255 + - *ref_256 + - *ref_257 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '204' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Application_Delete: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + applicationName: application1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + name: applicationGroup1/application1 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + '204': {} + language: + default: + name: delete + description: Remove an application. + cli: + cliKey: Delete + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_287 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_288 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_group_name + description: The name of the application group + serializedName: applicationGroupName + cli: + cliKey: applicationGroupName + protocol: + http: + in: path + - &ref_289 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_name + description: The name of the application within the specified application group + serializedName: applicationName + cli: + cliKey: applicationName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_141 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content_type + description: Body Parameter content-type + serializedName: Content-Type + cli: + cliKey: content-type + protocol: + http: + in: header + - &ref_259 + schema: *ref_258 + flattened: true + implementation: Method + required: false + extensions: + x-ms-client-flatten: true + language: + default: + name: _application + description: Object containing Application definitions. + cli: + cliKey: application + protocol: + http: + in: body + style: json + - &ref_278 + schema: *ref_39 + implementation: Method + originalParameter: *ref_259 + pathToProperty: [] + targetProperty: *ref_260 + language: + default: + name: tags + description: tags to be updated + cli: *ref_261 + protocol: {} + - &ref_279 + schema: *ref_102 + implementation: Method + originalParameter: *ref_259 + pathToProperty: [] + targetProperty: *ref_262 + language: + default: + name: description + description: Description of Application. + cli: *ref_263 + protocol: {} + - &ref_280 + schema: *ref_103 + implementation: Method + originalParameter: *ref_259 + pathToProperty: [] + targetProperty: *ref_264 + language: + default: + name: friendly_name + description: Friendly name of Application. + cli: *ref_265 + protocol: {} + - &ref_281 + schema: *ref_104 + implementation: Method + originalParameter: *ref_259 + pathToProperty: [] + targetProperty: *ref_266 + language: + default: + name: file_path + description: Specifies a path for the executable file for the application. + cli: *ref_267 + protocol: {} + - &ref_282 + schema: *ref_51 + implementation: Method + originalParameter: *ref_259 + pathToProperty: [] + targetProperty: *ref_268 + language: + default: + name: command_line_setting + description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' + cli: *ref_269 + protocol: {} + - &ref_283 + schema: *ref_105 + implementation: Method + originalParameter: *ref_259 + pathToProperty: [] + targetProperty: *ref_270 + language: + default: + name: command_line_arguments + description: Command Line Arguments for Application. + cli: *ref_271 + protocol: {} + - &ref_284 + schema: *ref_53 + implementation: Method + originalParameter: *ref_259 + pathToProperty: [] + targetProperty: *ref_272 + language: + default: + name: show_in_portal + description: Specifies whether to show the RemoteApp program in the RD Web Access server. + cli: *ref_273 + protocol: {} + - &ref_285 + schema: *ref_106 + implementation: Method + originalParameter: *ref_259 + pathToProperty: [] + targetProperty: *ref_274 + language: + default: + name: icon_path + description: Path to icon. + cli: *ref_275 + protocol: {} + - &ref_286 + schema: *ref_47 + implementation: Method + originalParameter: *ref_259 + pathToProperty: [] + targetProperty: *ref_276 + language: + default: + name: icon_index + description: Index of the icon. + cli: *ref_277 + protocol: {} + signatureParameters: + - *ref_278 + - *ref_279 + - *ref_280 + - *ref_281 + - *ref_282 + - *ref_283 + - *ref_284 + - *ref_285 + - *ref_286 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' + method: patch + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_287 + - *ref_288 + - *ref_289 + responses: + - schema: *ref_85 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Application_Update: + parameters: + api-version: 2019-12-10-preview + application: + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconIndex: 1 + iconPath: icon + showInPortal: true + applicationGroupName: applicationGroup1 + applicationName: application1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1/application1 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + language: + default: + name: update + description: Update an application. + cli: + cliKey: Update + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_290 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_291 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_group_name + description: The name of the application group + serializedName: applicationGroupName + cli: + cliKey: applicationGroupName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications' + method: get + uri: '{$host}' + signatureParameters: + - *ref_290 + - *ref_291 + responses: + - schema: *ref_292 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Applications_List: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: applicationGroup1/application1 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + - name: applicationGroup1/application2 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application2 + properties: + description: des2 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: list + description: List applications. + paging: + nextLinkName: nextLink + cli: + cliKey: List + protocol: {} + language: + default: + name: applications + description: '' + cli: + cliKey: Applications + hidden: true + protocol: {} + - $key: Desktops + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_293 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_294 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_group_name + description: The name of the application group + serializedName: applicationGroupName + cli: + cliKey: applicationGroupName + protocol: + http: + in: path + - &ref_295 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: desktop_name + description: The name of the desktop within the specified desktop group + serializedName: desktopName + cli: + cliKey: desktopName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops/{desktopName}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_293 + - *ref_294 + - *ref_295 + responses: + - schema: *ref_86 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Desktop_Get: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + desktopName: SessionDesktop + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1/SessionDesktop + type: Microsoft.DesktopVirtualization/applicationGroups/desktops + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/SessionDesktop + properties: + description: des1 + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + language: + default: + name: get + description: Get a desktop. + cli: + cliKey: Get + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_307 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_308 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_group_name + description: The name of the application group + serializedName: applicationGroupName + cli: + cliKey: applicationGroupName + protocol: + http: + in: path + - &ref_309 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: desktop_name + description: The name of the desktop within the specified desktop group + serializedName: desktopName + cli: + cliKey: desktopName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_141 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content_type + description: Body Parameter content-type + serializedName: Content-Type + cli: + cliKey: content-type + protocol: + http: + in: header + - &ref_297 + schema: *ref_296 + flattened: true + implementation: Method + required: false + extensions: + x-ms-client-flatten: true + language: + default: + name: _desktop + description: Object containing Desktop definitions. + cli: + cliKey: desktop + protocol: + http: + in: body + style: json + - &ref_304 + schema: *ref_39 + implementation: Method + originalParameter: *ref_297 + pathToProperty: [] + targetProperty: *ref_298 + language: + default: + name: tags + description: tags to be updated + cli: *ref_299 + protocol: {} + - &ref_305 + schema: *ref_108 + implementation: Method + originalParameter: *ref_297 + pathToProperty: [] + targetProperty: *ref_300 + language: + default: + name: description + description: Description of Desktop. + cli: *ref_301 + protocol: {} + - &ref_306 + schema: *ref_109 + implementation: Method + originalParameter: *ref_297 + pathToProperty: [] + targetProperty: *ref_302 + language: + default: + name: friendly_name + description: Friendly name of Desktop. + cli: *ref_303 + protocol: {} + signatureParameters: + - *ref_304 + - *ref_305 + - *ref_306 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops/{desktopName}' + method: patch + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_307 + - *ref_308 + - *ref_309 + responses: + - schema: *ref_86 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Desktop_Update: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + desktop: + properties: + description: des1 + friendlyName: friendly + desktopName: SessionDesktop + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1/SessionDesktop + type: Microsoft.DesktopVirtualization/applicationGroups/desktops + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/desktops/SessionDesktop + properties: + description: des1 + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + language: + default: + name: update + description: Update a desktop. + cli: + cliKey: Update + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_310 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_311 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_group_name + description: The name of the application group + serializedName: applicationGroupName + cli: + cliKey: applicationGroupName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops' + method: get + uri: '{$host}' + signatureParameters: + - *ref_310 + - *ref_311 + responses: + - schema: *ref_312 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Desktop_List: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: applicationGroup1/SessionDesktop + type: Microsoft.DesktopVirtualization/applicationGroups/desktops + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/SessionDesktop + properties: + description: des1 + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + language: + default: + name: list + description: List desktops. + cli: + cliKey: List + protocol: {} + language: + default: + name: desktops + description: '' + cli: + cliKey: Desktops + hidden: true + protocol: {} + - $key: HostPools + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_313 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_314 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_313 + - *ref_314 + responses: + - schema: *ref_36 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + HostPool_Get: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: hostPool1 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2008-09-22T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + language: + default: + name: get + description: Get a host pool. + cli: + cliKey: Get + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_354 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_355 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_141 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content_type + description: Body Parameter content-type + serializedName: Content-Type + cli: + cliKey: content-type + protocol: + http: + in: header + - &ref_315 + schema: *ref_36 + flattened: true + implementation: Method + required: true + extensions: + x-ms-client-flatten: true + language: + default: + name: _host_pool + description: Object containing HostPool definitions. + cli: + cliKey: hostPool + protocol: + http: + in: body + style: json + - &ref_340 + schema: *ref_37 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: false + targetProperty: *ref_143 + language: + default: + name: tags + description: Resource tags. + cli: *ref_144 + protocol: {} + - &ref_341 + schema: *ref_38 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: true + targetProperty: *ref_145 + language: + default: + name: location + description: The geo-location where the resource lives + cli: *ref_146 + protocol: {} + - &ref_342 + schema: *ref_19 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: false + targetProperty: *ref_316 + language: + default: + name: friendly_name + description: Friendly name of HostPool. + cli: *ref_317 + protocol: {} + - &ref_343 + schema: *ref_20 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: false + targetProperty: *ref_318 + language: + default: + name: description + description: Description of HostPool. + cli: *ref_319 + protocol: {} + - &ref_344 + schema: *ref_21 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: true + targetProperty: *ref_320 + language: + default: + name: host_pool_type + description: HostPool type for desktop. + cli: *ref_321 + protocol: {} + - &ref_345 + schema: *ref_22 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: true + targetProperty: *ref_322 + language: + default: + name: personal_desktop_assignment_type + description: PersonalDesktopAssignment type for HostPool. + cli: *ref_323 + protocol: {} + - &ref_346 + schema: *ref_23 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: false + targetProperty: *ref_324 + language: + default: + name: custom_rdp_property + description: Custom rdp property of HostPool. + cli: *ref_325 + protocol: {} + - &ref_347 + schema: *ref_24 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: false + targetProperty: *ref_326 + language: + default: + name: max_session_limit + description: The max session limit of HostPool. + cli: *ref_327 + protocol: {} + - &ref_348 + schema: *ref_25 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: true + targetProperty: *ref_328 + language: + default: + name: load_balancer_type + description: The type of the load balancer. + cli: *ref_329 + protocol: {} + - &ref_349 + schema: *ref_26 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: false + targetProperty: *ref_330 + language: + default: + name: ring + description: The ring number of HostPool. + cli: *ref_331 + protocol: {} + - &ref_350 + schema: *ref_27 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: false + targetProperty: *ref_332 + language: + default: + name: validation_environment + description: Is validation environment. + cli: *ref_333 + protocol: {} + - &ref_351 + schema: *ref_111 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: false + targetProperty: *ref_334 + language: + default: + name: registration_info + description: The registration info of HostPool. + cli: *ref_335 + protocol: {} + - &ref_352 + schema: *ref_31 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: false + targetProperty: *ref_336 + language: + default: + name: vm_template + description: VM template for sessionhosts configuration within hostpool. + cli: *ref_337 + protocol: {} + - &ref_353 + schema: *ref_33 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: false + targetProperty: *ref_338 + language: + default: + name: sso_context + description: Path to keyvault containing ssoContext secret. + cli: *ref_339 + protocol: {} + signatureParameters: + - *ref_340 + - *ref_341 + - *ref_342 + - *ref_343 + - *ref_344 + - *ref_345 + - *ref_346 + - *ref_347 + - *ref_348 + - *ref_349 + - *ref_350 + - *ref_351 + - *ref_352 + - *ref_353 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' + method: put + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_354 + - *ref_355 + responses: + - schema: *ref_36 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + - schema: *ref_36 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '201' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + HostPool_Create: + parameters: + api-version: 2019-12-10-preview + hostPool: + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2020-10-01T14:01:54.9571247Z' + registrationTokenOperation: Update + ssoContext: KeyVaultPath + tags: + tag1: value1 + tag2: value2 + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: hostPool1 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2020-10-01T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + '201': + body: + name: hostPool1 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2020-10-01T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + language: + default: + name: create_or_update + description: Create or update a host pool. + cli: + cliKey: CreateOrUpdate + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_357 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_358 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_359 + schema: *ref_356 + implementation: Method + language: + default: + name: force + description: Force flag to delete sessionHost. + serializedName: force + cli: + cliKey: force + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' + method: delete + uri: '{$host}' + signatureParameters: + - *ref_357 + - *ref_358 + - *ref_359 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '204' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + HostPool_Delete: + parameters: + api-version: 2019-12-10-preview + force: true + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + name: hostPool1 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2008-09-22T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + '204': {} + language: + default: + name: delete + description: Remove a host pool. + cli: + cliKey: Delete + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_394 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_395 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_141 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content_type + description: Body Parameter content-type + serializedName: Content-Type + cli: + cliKey: content-type + protocol: + http: + in: header + - &ref_360 + schema: *ref_87 + flattened: true + implementation: Method + required: false + extensions: + x-ms-client-flatten: true + language: + default: + name: _host_pool + description: Object containing HostPool definitions. + cli: + cliKey: hostPool + protocol: + http: + in: body + style: json + - &ref_383 + schema: *ref_39 + implementation: Method + originalParameter: *ref_360 + pathToProperty: [] + targetProperty: *ref_361 + language: + default: + name: tags + description: tags to be updated + cli: *ref_362 + protocol: {} + - &ref_384 + schema: *ref_61 + implementation: Method + originalParameter: *ref_360 + pathToProperty: [] + targetProperty: *ref_363 + language: + default: + name: friendly_name + description: Friendly name of HostPool. + cli: *ref_364 + protocol: {} + - &ref_385 + schema: *ref_62 + implementation: Method + originalParameter: *ref_360 + pathToProperty: [] + targetProperty: *ref_365 + language: + default: + name: description + description: Description of HostPool. + cli: *ref_366 + protocol: {} + - &ref_386 + schema: *ref_63 + implementation: Method + originalParameter: *ref_360 + pathToProperty: [] + targetProperty: *ref_367 + language: + default: + name: custom_rdp_property + description: Custom rdp property of HostPool. + cli: *ref_368 + protocol: {} + - &ref_387 + schema: *ref_24 + implementation: Method + originalParameter: *ref_360 + pathToProperty: [] + targetProperty: *ref_369 + language: + default: + name: max_session_limit + description: The max session limit of HostPool. + cli: *ref_370 + protocol: {} + - &ref_388 + schema: *ref_22 + implementation: Method + originalParameter: *ref_360 + pathToProperty: [] + targetProperty: *ref_371 + language: + default: + name: personal_desktop_assignment_type + description: PersonalDesktopAssignment type for HostPool. + cli: *ref_372 + protocol: {} + - &ref_389 + schema: *ref_25 + implementation: Method + originalParameter: *ref_360 + pathToProperty: [] + targetProperty: *ref_373 + language: + default: + name: load_balancer_type + description: The type of the load balancer. + cli: *ref_374 + protocol: {} + - &ref_390 + schema: *ref_26 + implementation: Method + originalParameter: *ref_360 + pathToProperty: [] + targetProperty: *ref_375 + language: + default: + name: ring + description: The ring number of HostPool. + cli: *ref_376 + protocol: {} + - &ref_391 + schema: *ref_27 + implementation: Method + originalParameter: *ref_360 + pathToProperty: [] + targetProperty: *ref_377 + language: + default: + name: validation_environment + description: Is validation environment. + cli: *ref_378 + protocol: {} + - &ref_392 + schema: *ref_112 + implementation: Method + originalParameter: *ref_360 + pathToProperty: [] + targetProperty: *ref_379 + language: + default: + name: registration_info + description: The registration info of HostPool. + cli: *ref_380 + protocol: {} + - &ref_393 + schema: *ref_64 + implementation: Method + originalParameter: *ref_360 + pathToProperty: [] + targetProperty: *ref_381 + language: + default: + name: sso_context + description: Path to keyvault containing ssoContext secret. + cli: *ref_382 + protocol: {} + signatureParameters: + - *ref_383 + - *ref_384 + - *ref_385 + - *ref_386 + - *ref_387 + - *ref_388 + - *ref_389 + - *ref_390 + - *ref_391 + - *ref_392 + - *ref_393 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' + method: patch + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_394 + - *ref_395 + responses: + - schema: *ref_36 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + HostPool_Update: + parameters: + api-version: 2019-12-10-preview + hostPool: + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2020-10-02T14:01:54.9571247Z' + ssoContext: KeyVaultPath + tags: + tag1: value1 + tag2: value2 + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: hostPool1 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2008-09-22T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + language: + default: + name: update + description: Update a host pool. + cli: + cliKey: Update + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_396 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools' + method: get + uri: '{$host}' + signatureParameters: + - *ref_396 + responses: + - schema: *ref_397 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + HostPool_ListByResourceGroup: + parameters: + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: hostPool1 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2008-09-22T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + - name: hostPool2 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool2 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2008-09-22T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: list_by_resource_group + description: List hostPools. + paging: + nextLinkName: nextLink + cli: + cliKey: ListByResourceGroup + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/hostPools' + method: get + uri: '{$host}' + signatureParameters: [] + responses: + - schema: *ref_397 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + HostPool_List: + parameters: + api-version: 2019-12-10-preview + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: hostPool1 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2008-09-22T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + - name: hostPool2 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool2 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2008-09-22T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: list + description: List hostPools in subscription. + paging: + nextLinkName: nextLink + cli: + cliKey: List + protocol: {} + language: + default: + name: host_pools + description: '' + cli: + cliKey: HostPools + protocol: {} + - $key: UserSessions + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_398 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_399 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_400 + schema: *ref_180 + implementation: Method + language: + default: + name: filter + description: OData filter expression. Valid properties for filtering are userprincipalname and sessionstate. + serializedName: $filter + cli: + cliKey: $filter + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/userSessions' + method: get + uri: '{$host}' + signatureParameters: + - *ref_398 + - *ref_399 + - *ref_400 + responses: + - schema: *ref_401 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + UserSession_ListByHostPool: + parameters: + $filter: userPrincipalName eq 'user1@microsoft.com' and state eq 'active' + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: '1' + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 + properties: + activeDirectoryUserName: WVDARM\user1 + applicationType: Desktop + createTime: '2008-09-22T14:01:54.9571247Z' + sessionState: Active + userPrincipalName: user1@microsoft.com + - name: '2' + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/2 + properties: + activeDirectoryUserName: WVDARM\user1 + applicationType: Desktop + createTime: '2008-09-22T14:01:54.9571247Z' + sessionState: Active + userPrincipalName: user1@microsoft.com + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: list_by_host_pool + description: List userSessions. + paging: + nextLinkName: nextLink + cli: + cliKey: ListByHostPool + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_404 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_405 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_406 + schema: *ref_402 + implementation: Method + required: true + language: + default: + name: session_host_name + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + cliKey: sessionHostName + protocol: + http: + in: path + - &ref_407 + schema: *ref_403 + implementation: Method + required: true + language: + default: + name: user_session_id + description: The name of the user session within the specified session host + serializedName: userSessionId + cli: + cliKey: userSessionId + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_404 + - *ref_405 + - *ref_406 + - *ref_407 + responses: + - schema: *ref_88 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + UserSession_Get: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + userSessionId: '1' + responses: + '200': + body: + name: '1' + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 + properties: + activeDirectoryUserName: WVDARM\user1 + applicationType: Desktop + createTime: '2008-09-22T14:01:54.9571247Z' + sessionState: Active + userPrincipalName: user1@microsoft.com + language: + default: + name: get + description: Get a userSession. + cli: + cliKey: Get + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_408 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_409 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_410 + schema: *ref_402 + implementation: Method + required: true + language: + default: + name: session_host_name + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + cliKey: sessionHostName + protocol: + http: + in: path + - &ref_411 + schema: *ref_403 + implementation: Method + required: true + language: + default: + name: user_session_id + description: The name of the user session within the specified session host + serializedName: userSessionId + cli: + cliKey: userSessionId + protocol: + http: + in: path + - &ref_412 + schema: *ref_356 + implementation: Method + language: + default: + name: force + description: Force flag to login off userSession. + serializedName: force + cli: + cliKey: force + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}' + method: delete + uri: '{$host}' + signatureParameters: + - *ref_408 + - *ref_409 + - *ref_410 + - *ref_411 + - *ref_412 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '204' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + UserSession_Delete: + parameters: + api-version: 2019-12-10-preview + force: true + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + userSessionId: '1' + responses: + '200': + name: '1' + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 + properties: + activeDirectoryUserName: WVDARM\user1 + applicationType: Desktop + createTime: '2008-09-22T14:01:54.9571247Z' + sessionState: Active + userPrincipalName: user1@microsoft.com + '204': {} + language: + default: + name: delete + description: Remove a userSession. + cli: + cliKey: Delete + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_413 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_414 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_415 + schema: *ref_402 + implementation: Method + required: true + language: + default: + name: session_host_name + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + cliKey: sessionHostName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions' + method: get + uri: '{$host}' + signatureParameters: + - *ref_413 + - *ref_414 + - *ref_415 + responses: + - schema: *ref_401 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + UserSession_List: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: '1' + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 + properties: + activeDirectoryUserName: WVDARM\user1 + applicationType: Desktop + createTime: '2008-09-22T14:01:54.9571247Z' + sessionState: Active + userPrincipalName: user1@microsoft.com + - name: '2' + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/2 + properties: + activeDirectoryUserName: WVDARM\user1 + applicationType: Desktop + createTime: '2008-09-22T14:01:54.9571247Z' + sessionState: Active + userPrincipalName: user1@microsoft.com + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: list + description: List userSessions. + paging: + nextLinkName: nextLink + cli: + cliKey: List + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_416 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_417 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_418 + schema: *ref_402 + implementation: Method + required: true + language: + default: + name: session_host_name + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + cliKey: sessionHostName + protocol: + http: + in: path + - &ref_419 + schema: *ref_403 + implementation: Method + required: true + language: + default: + name: user_session_id + description: The name of the user session within the specified session host + serializedName: userSessionId + cli: + cliKey: userSessionId + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}/disconnect' + method: post + uri: '{$host}' + signatureParameters: + - *ref_416 + - *ref_417 + - *ref_418 + - *ref_419 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + UserSession_Disconnect_Post: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + userSessionId: '1' + responses: + '200': {} + language: + default: + name: disconnect + description: Disconnect a userSession. + cli: + cliKey: Disconnect + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_428 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_429 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_430 + schema: *ref_402 + implementation: Method + required: true + language: + default: + name: session_host_name + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + cliKey: sessionHostName + protocol: + http: + in: path + - &ref_431 + schema: *ref_403 + implementation: Method + required: true + language: + default: + name: user_session_id + description: The name of the user session within the specified session host + serializedName: userSessionId + cli: + cliKey: userSessionId + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_141 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content_type + description: Body Parameter content-type + serializedName: Content-Type + cli: + cliKey: content-type + protocol: + http: + in: header + - &ref_421 + schema: *ref_420 + flattened: true + implementation: Method + required: false + extensions: + x-ms-client-flatten: true + language: + default: + name: _send_message + description: Object containing message includes title and message body + cli: + cliKey: sendMessage + protocol: + http: + in: body + style: json + - &ref_426 + schema: *ref_116 + implementation: Method + originalParameter: *ref_421 + pathToProperty: [] + targetProperty: *ref_422 + language: + default: + name: message_title + description: Title of message. + cli: *ref_423 + protocol: {} + - &ref_427 + schema: *ref_117 + implementation: Method + originalParameter: *ref_421 + pathToProperty: [] + targetProperty: *ref_424 + language: + default: + name: message_body + description: Body of message. + cli: *ref_425 + protocol: {} + signatureParameters: + - *ref_426 + - *ref_427 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}/sendMessage' + method: post + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_428 + - *ref_429 + - *ref_430 + - *ref_431 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + UserSession_SendMessage_Post: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sendMessage: + messageBody: body + messageTitle: title + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + userSessionId: '1' + responses: + '200': {} + language: + default: + name: send_message + description: Send a message to a user. + cli: + cliKey: SendMessage + protocol: {} + language: + default: + name: user_sessions + description: '' + cli: + cliKey: UserSessions + hidden: true + protocol: {} + - $key: SessionHosts + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_432 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_433 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_434 + schema: *ref_402 + implementation: Method + required: true + language: + default: + name: session_host_name + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + cliKey: sessionHostName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_432 + - *ref_433 + - *ref_434 + responses: + - schema: *ref_89 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + SessionHost_Get: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: sessionHost1.microsoft.com + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com + properties: + agentVersion: 1.0.0.1391 + allowNewSession: true + assignedUser: user1@microsoft.com + lastHeartBeat: '2008-09-22T14:01:54.9571247Z' + lastUpdateTime: '2008-09-22T14:01:54.9571247Z' + osVersion: 10.0.17763 + sessions: 1 + status: Available + statusTimestamp: '2008-09-22T14:01:54.9571247Z' + sxSStackVersion: rdp-sxs190816002 + updateErrorMessage: '' + updateState: Succeeded + language: + default: + name: get + description: Get a session host. + cli: + cliKey: Get + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_435 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_436 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_437 + schema: *ref_402 + implementation: Method + required: true + language: + default: + name: session_host_name + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + cliKey: sessionHostName + protocol: + http: + in: path + - &ref_438 + schema: *ref_356 + implementation: Method + language: + default: + name: force + description: Force flag to force sessionHost deletion even when userSession exists. + serializedName: force + cli: + cliKey: force + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}' + method: delete + uri: '{$host}' + signatureParameters: + - *ref_435 + - *ref_436 + - *ref_437 + - *ref_438 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '204' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + SessionHost_Delete: + parameters: + api-version: 2019-12-10-preview + force: true + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + name: sessionHost1.microsoft.com + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com + properties: + agentVersion: 1.0.0.1391 + allowNewSession: true + assignedUser: user1@microsoft.com + lastHeartBeat: '2008-09-22T14:01:54.9571247Z' + lastUpdateTime: '2008-09-22T14:01:54.9571247Z' + osVersion: 10.0.17763 + sessions: 1 + status: Available + statusTimestamp: '2008-09-22T14:01:54.9571247Z' + sxSStackVersion: rdp-sxs190816002 + updateErrorMessage: '' + updateState: Succeeded + '204': {} + language: + default: + name: delete + description: Remove a SessionHost. + cli: + cliKey: Delete + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_446 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_447 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_448 + schema: *ref_402 + implementation: Method + required: true + language: + default: + name: session_host_name + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + cliKey: sessionHostName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_141 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content_type + description: Body Parameter content-type + serializedName: Content-Type + cli: + cliKey: content-type + protocol: + http: + in: header + - &ref_439 + schema: *ref_90 + flattened: true + implementation: Method + required: false + extensions: + x-ms-client-flatten: true + language: + default: + name: _session_host + description: Object containing SessionHost definitions. + cli: + cliKey: sessionHost + protocol: + http: + in: body + style: json + - &ref_444 + schema: *ref_73 + implementation: Method + originalParameter: *ref_439 + pathToProperty: [] + targetProperty: *ref_440 + language: + default: + name: allow_new_session + description: Allow a new session. + cli: *ref_441 + protocol: {} + - &ref_445 + schema: *ref_82 + implementation: Method + originalParameter: *ref_439 + pathToProperty: [] + targetProperty: *ref_442 + language: + default: + name: assigned_user + description: User assigned to SessionHost. + cli: *ref_443 + protocol: {} + signatureParameters: + - *ref_444 + - *ref_445 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}' + method: patch + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_446 + - *ref_447 + - *ref_448 + responses: + - schema: *ref_89 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + SessionHost_Update: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHost: + properties: + allowNewSession: true + assignedUser: user1@microsoft.com + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: sessionHost1.microsoft.com + type: Microsoft.DesktopVirtualization/hostPools/sessionhosts + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com + properties: + agentVersion: 1.0.0.1391 + allowNewSession: true + assignedUser: user1@microsoft.com + lastHeartBeat: '2019-01-11T19:27:13.6108027Z' + lastUpdateTime: '2008-09-22T14:01:54.9571247Z' + osVersion: 10.0.17763 + sessions: 1 + status: Available + statusTimestamp: '2019-01-24T20:00:08.2893033Z' + sxSStackVersion: rdp-sxs190816002 + updateErrorMessage: '' + updateState: Succeeded + language: + default: + name: update + description: Update a session host. + cli: + cliKey: Update + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_449 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_450 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts' + method: get + uri: '{$host}' + signatureParameters: + - *ref_449 + - *ref_450 + responses: + - schema: *ref_451 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + SessionHost_List: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: sessionHost1.microsoft.com + type: Microsoft.DesktopVirtualization/hostPools/sessionhosts + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com + properties: + agentVersion: 1.0.0.1391 + allowNewSession: true + assignedUser: user1@microsoft.com + lastHeartBeat: '2008-09-22T14:01:54.9571247Z' + lastUpdateTime: '2008-09-22T14:01:54.9571247Z' + osVersion: 10.0.17763 + sessions: 1 + status: Available + statusTimestamp: '2008-09-22T14:01:54.9571247Z' + sxSStackVersion: rdp-sxs190816002 + updateErrorMessage: '' + updateState: Succeeded + - name: sessionHost2.microsoft.com + type: Microsoft.DesktopVirtualization/hostPools/sessionhosts + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost2microsoft.com + properties: + agentVersion: 1.0.0.1391 + allowNewSession: true + assignedUser: user2@microsoft.com + lastHeartBeat: '2008-09-22T14:01:54.9571247Z' + lastUpdateTime: '2008-09-22T14:01:54.9571247Z' + osVersion: 10.0.17763 + sessions: 1 + status: Available + statusTimestamp: '2008-09-22T14:01:54.9571247Z' + sxSStackVersion: rdp-sxs190816002 + updateErrorMessage: '' + updateState: Succeeded + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: list + description: List sessionHosts. + paging: + nextLinkName: nextLink + cli: + cliKey: List + protocol: {} + language: + default: + name: session_hosts + description: '' + cli: + cliKey: SessionHosts + hidden: true + protocol: {} + - $key: ActiveApplications + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_452 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_453 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_454 + schema: *ref_402 + implementation: Method + required: true + language: + default: + name: session_host_name + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + cliKey: sessionHostName + protocol: + http: + in: path + - &ref_455 + schema: *ref_180 + implementation: Method + language: + default: + name: filter + description: OData filter expression. Valid properties for filtering are userprincipalname and sessionstate. + serializedName: $filter + cli: + cliKey: $filter + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/activeApplications' + method: get + uri: '{$host}' + signatureParameters: + - *ref_452 + - *ref_453 + - *ref_454 + - *ref_455 + responses: + - schema: *ref_292 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ActiveApplications_List: + parameters: + $filter: userPrincipalName eq 'user1@microsoft.com' + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: applicationGroup1/application1 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + - name: applicationGroup1/application2 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application2 + properties: + description: des2 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: list_by_session_host + description: List applications for the given session host. + paging: + nextLinkName: nextLink + cli: + cliKey: ListBySessionHost + protocol: {} + language: + default: + name: active_applications + description: '' + cli: + cliKey: ActiveApplications + hidden: true + protocol: {} +language: + default: + name: DesktopVirtualizationAPIClient + description: '' +protocol: + http: {} diff --git a/src/desktopvirtualization/_az_debug/clicommon-000090-namer-post-simplified.yaml b/src/desktopvirtualization/_az_debug/clicommon-000090-namer-post-simplified.yaml new file mode 100644 index 00000000000..60ff4563487 --- /dev/null +++ b/src/desktopvirtualization/_az_debug/clicommon-000090-namer-post-simplified.yaml @@ -0,0 +1,2383 @@ +operationGroups: + all: + - operationGroupName: Operation + cli: + cliKey: Operations + operations: + - operationName: list + cli: + cliKey: List + hidden: true + name: List + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + name: ApiVersion + - operationGroupName: Workspace + cli: + cliKey: Workspaces + operations: + - operationName: get + cli: + cliKey: Get + name: Get + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + name: ApiVersion + - parameterName: subscription_id(String^string) + cli: + cliKey: subscriptionId + name: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + cliKey: resourceGroupName + name: resourceGroupName + - parameterName: workspace_name(String^string) + cli: + cliKey: workspaceName + name: workspaceName + - operationName: create_or_update + cli: + cliKey: CreateOrUpdate + name: CreateOrUpdate + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + name: ApiVersion + - parameterName: subscription_id(String^string) + cli: + cliKey: subscriptionId + name: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + cliKey: resourceGroupName + name: resourceGroupName + - parameterName: workspace_name(String^string) + cli: + cliKey: workspaceName + name: workspaceName + - parameterName[0]: content_type(application_json^constant) + cli: + cliKey: content-type + name: ContentType + - parameterName[0]: _workspace(Workspace^object) + cli: + cliKey: workspace + x-ms-client-flatten: true + bodySchema: Workspace + - parameterName[0]: tags(TrackedResourceTags^dictionary) + cli: + cliKey: tags + - parameterName[0]: location(TrackedResourceLocation^string) + cli: + cliKey: location + - parameterName[0]: description(WorkspacePropertiesDescription^string) + cli: + cliKey: description + - parameterName[0]: friendly_name(WorkspacePropertiesFriendlyName^string) + cli: + cliKey: friendlyName + name: friendlyName + - parameterName[0]: application_group_references(WorkspacePropertiesApplicationGroupReferences^array) + cli: + cliKey: applicationGroupReferences + name: applicationGroupReferences + - operationName: delete + cli: + cliKey: Delete + name: Delete + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + name: ApiVersion + - parameterName: subscription_id(String^string) + cli: + cliKey: subscriptionId + name: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + cliKey: resourceGroupName + name: resourceGroupName + - parameterName: workspace_name(String^string) + cli: + cliKey: workspaceName + name: workspaceName + - operationName: update + cli: + cliKey: Update + name: Update + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + name: ApiVersion + - parameterName: subscription_id(String^string) + cli: + cliKey: subscriptionId + name: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + cliKey: resourceGroupName + name: resourceGroupName + - parameterName: workspace_name(String^string) + cli: + cliKey: workspaceName + name: workspaceName + - parameterName[0]: content_type(application_json^constant) + cli: + cliKey: content-type + name: ContentType + - parameterName[0]: _workspace(WorkspacePatch^object) + cli: + cliKey: workspace + x-ms-client-flatten: true + bodySchema: WorkspacePatch + - parameterName[0]: tags(any^any) + cli: + cliKey: tags + - parameterName[0]: description(WorkspacePatchPropertiesDescription^string) + cli: + cliKey: description + - parameterName[0]: friendly_name(WorkspacePatchPropertiesFriendlyName^string) + cli: + cliKey: friendlyName + name: friendlyName + - parameterName[0]: application_group_references(WorkspacePatchPropertiesApplicationGroupReferences^array) + cli: + cliKey: applicationGroupReferences + name: applicationGroupReferences + - operationName: list_by_resource_group + cli: + cliKey: ListByResourceGroup + name: ListByResourceGroup + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + name: ApiVersion + - parameterName: subscription_id(String^string) + cli: + cliKey: subscriptionId + name: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + cliKey: resourceGroupName + name: resourceGroupName + - operationName: list_by_subscription + cli: + cliKey: ListBySubscription + name: ListBySubscription + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + name: ApiVersion + - parameterName: subscription_id(String^string) + cli: + cliKey: subscriptionId + name: subscriptionId + - operationGroupName: ApplicationGroupAssignment + cli: + cliKey: ApplicationGroupAssignments + hidden: true + operations: + - operationName: workspace_level_list + cli: + cliKey: WorkspaceLevelList + name: WorkspaceLevelList + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + name: ApiVersion + - parameterName: subscription_id(String^string) + cli: + cliKey: subscriptionId + name: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + cliKey: resourceGroupName + name: resourceGroupName + - parameterName: workspace_name(String^string) + cli: + cliKey: workspaceName + name: workspaceName + - parameterName: filter(String^string) + cli: + cliKey: $filter + - operationGroupName: ApplicationGroup + cli: + cliKey: ApplicationGroups + operations: + - operationName: get + cli: + cliKey: Get + name: Get + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + name: ApiVersion + - parameterName: subscription_id(String^string) + cli: + cliKey: subscriptionId + name: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + cliKey: resourceGroupName + name: resourceGroupName + - parameterName: application_group_name(String^string) + cli: + cliKey: applicationGroupName + name: applicationGroupName + - operationName: create_or_update + cli: + cliKey: CreateOrUpdate + name: CreateOrUpdate + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + name: ApiVersion + - parameterName: subscription_id(String^string) + cli: + cliKey: subscriptionId + name: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + cliKey: resourceGroupName + name: resourceGroupName + - parameterName: application_group_name(String^string) + cli: + cliKey: applicationGroupName + name: applicationGroupName + - parameterName[0]: content_type(application_json^constant) + cli: + cliKey: content-type + name: ContentType + - parameterName[0]: _application_group(ApplicationGroup^object) + cli: + cliKey: applicationGroup + x-ms-client-flatten: true + bodySchema: ApplicationGroup + - parameterName[0]: tags(TrackedResourceTags^dictionary) + cli: + cliKey: tags + - parameterName[0]: location(TrackedResourceLocation^string) + cli: + cliKey: location + - parameterName[0]: description(ApplicationGroupPropertiesDescription^string) + cli: + cliKey: description + - parameterName[0]: friendly_name(ApplicationGroupPropertiesFriendlyName^string) + cli: + cliKey: friendlyName + name: friendlyName + - parameterName[0]: host_pool_arm_path(ApplicationGroupPropertiesHostPoolArmPath^string) + cli: + cliKey: hostPoolArmPath + name: hostPoolArmPath + - parameterName[0]: application_group_type(ApplicationGroupType^choice) + cli: + cliKey: applicationGroupType + name: applicationGroupType + - operationName: delete + cli: + cliKey: Delete + name: Delete + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + name: ApiVersion + - parameterName: subscription_id(String^string) + cli: + cliKey: subscriptionId + name: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + cliKey: resourceGroupName + name: resourceGroupName + - parameterName: application_group_name(String^string) + cli: + cliKey: applicationGroupName + name: applicationGroupName + - operationName: update + cli: + cliKey: Update + name: Update + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + name: ApiVersion + - parameterName: subscription_id(String^string) + cli: + cliKey: subscriptionId + name: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + cliKey: resourceGroupName + name: resourceGroupName + - parameterName: application_group_name(String^string) + cli: + cliKey: applicationGroupName + name: applicationGroupName + - parameterName[0]: content_type(application_json^constant) + cli: + cliKey: content-type + name: ContentType + - parameterName[0]: _application_group(ApplicationGroupPatch^object) + cli: + cliKey: applicationGroup + x-ms-client-flatten: true + bodySchema: ApplicationGroupPatch + - parameterName[0]: tags(any^any) + cli: + cliKey: tags + - parameterName[0]: description(ApplicationGroupPatchPropertiesDescription^string) + cli: + cliKey: description + - parameterName[0]: friendly_name(ApplicationGroupPatchPropertiesFriendlyName^string) + cli: + cliKey: friendlyName + name: friendlyName + - operationName: list_by_resource_group + cli: + cliKey: ListByResourceGroup + name: ListByResourceGroup + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + name: ApiVersion + - parameterName: subscription_id(String^string) + cli: + cliKey: subscriptionId + name: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + cliKey: resourceGroupName + name: resourceGroupName + - parameterName: filter(String^string) + cli: + cliKey: $filter + - operationName: list_by_subscription + cli: + cliKey: ListBySubscription + name: ListBySubscription + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + name: ApiVersion + - parameterName: subscription_id(String^string) + cli: + cliKey: subscriptionId + name: subscriptionId + - parameterName: filter(String^string) + cli: + cliKey: $filter + - operationGroupName: StartMenuItem + cli: + cliKey: StartMenuItems + hidden: true + operations: + - operationName: list + cli: + cliKey: List + name: List + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + name: ApiVersion + - parameterName: subscription_id(String^string) + cli: + cliKey: subscriptionId + name: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + cliKey: resourceGroupName + name: resourceGroupName + - parameterName: application_group_name(String^string) + cli: + cliKey: applicationGroupName + name: applicationGroupName + - operationGroupName: Application + cli: + cliKey: Applications + hidden: true + operations: + - operationName: get + cli: + cliKey: Get + name: Get + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + name: ApiVersion + - parameterName: subscription_id(String^string) + cli: + cliKey: subscriptionId + name: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + cliKey: resourceGroupName + name: resourceGroupName + - parameterName: application_group_name(String^string) + cli: + cliKey: applicationGroupName + name: applicationGroupName + - parameterName: application_name(String^string) + cli: + cliKey: applicationName + name: applicationName + - operationName: create_or_update + cli: + cliKey: CreateOrUpdate + name: CreateOrUpdate + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + name: ApiVersion + - parameterName: subscription_id(String^string) + cli: + cliKey: subscriptionId + name: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + cliKey: resourceGroupName + name: resourceGroupName + - parameterName: application_group_name(String^string) + cli: + cliKey: applicationGroupName + name: applicationGroupName + - parameterName: application_name(String^string) + cli: + cliKey: applicationName + name: applicationName + - parameterName[0]: content_type(application_json^constant) + cli: + cliKey: content-type + name: ContentType + - parameterName[0]: _application(Application^object) + cli: + cliKey: application + x-ms-client-flatten: true + bodySchema: Application + - parameterName[0]: description(ApplicationPropertiesDescription^string) + cli: + cliKey: description + - parameterName[0]: friendly_name(ApplicationPropertiesFriendlyName^string) + cli: + cliKey: friendlyName + name: friendlyName + - parameterName[0]: file_path(ApplicationPropertiesFilePath^string) + cli: + cliKey: filePath + name: filePath + - parameterName[0]: command_line_setting(CommandLineSetting^choice) + cli: + cliKey: commandLineSetting + name: commandLineSetting + - parameterName[0]: command_line_arguments(ApplicationPropertiesCommandLineArguments^string) + cli: + cliKey: commandLineArguments + name: commandLineArguments + - parameterName[0]: show_in_portal(boolean^boolean) + cli: + cliKey: showInPortal + name: showInPortal + - parameterName[0]: icon_path(ApplicationPropertiesIconPath^string) + cli: + cliKey: iconPath + name: iconPath + - parameterName[0]: icon_index(Integer^integer) + cli: + cliKey: iconIndex + name: iconIndex + - operationName: delete + cli: + cliKey: Delete + name: Delete + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + name: ApiVersion + - parameterName: subscription_id(String^string) + cli: + cliKey: subscriptionId + name: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + cliKey: resourceGroupName + name: resourceGroupName + - parameterName: application_group_name(String^string) + cli: + cliKey: applicationGroupName + name: applicationGroupName + - parameterName: application_name(String^string) + cli: + cliKey: applicationName + name: applicationName + - operationName: update + cli: + cliKey: Update + name: Update + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + name: ApiVersion + - parameterName: subscription_id(String^string) + cli: + cliKey: subscriptionId + name: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + cliKey: resourceGroupName + name: resourceGroupName + - parameterName: application_group_name(String^string) + cli: + cliKey: applicationGroupName + name: applicationGroupName + - parameterName: application_name(String^string) + cli: + cliKey: applicationName + name: applicationName + - parameterName[0]: content_type(application_json^constant) + cli: + cliKey: content-type + name: ContentType + - parameterName[0]: _application(ApplicationPatch^object) + cli: + cliKey: application + x-ms-client-flatten: true + bodySchema: ApplicationPatch + - parameterName[0]: tags(any^any) + cli: + cliKey: tags + - parameterName[0]: description(ApplicationPatchPropertiesDescription^string) + cli: + cliKey: description + - parameterName[0]: friendly_name(ApplicationPatchPropertiesFriendlyName^string) + cli: + cliKey: friendlyName + name: friendlyName + - parameterName[0]: file_path(ApplicationPatchPropertiesFilePath^string) + cli: + cliKey: filePath + name: filePath + - parameterName[0]: command_line_setting(CommandLineSetting^choice) + cli: + cliKey: commandLineSetting + name: commandLineSetting + - parameterName[0]: command_line_arguments(ApplicationPatchPropertiesCommandLineArguments^string) + cli: + cliKey: commandLineArguments + name: commandLineArguments + - parameterName[0]: show_in_portal(boolean^boolean) + cli: + cliKey: showInPortal + name: showInPortal + - parameterName[0]: icon_path(ApplicationPatchPropertiesIconPath^string) + cli: + cliKey: iconPath + name: iconPath + - parameterName[0]: icon_index(Integer^integer) + cli: + cliKey: iconIndex + name: iconIndex + - operationName: list + cli: + cliKey: List + name: List + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + name: ApiVersion + - parameterName: subscription_id(String^string) + cli: + cliKey: subscriptionId + name: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + cliKey: resourceGroupName + name: resourceGroupName + - parameterName: application_group_name(String^string) + cli: + cliKey: applicationGroupName + name: applicationGroupName + - operationGroupName: Desktop + cli: + cliKey: Desktops + hidden: true + operations: + - operationName: get + cli: + cliKey: Get + name: Get + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + name: ApiVersion + - parameterName: subscription_id(String^string) + cli: + cliKey: subscriptionId + name: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + cliKey: resourceGroupName + name: resourceGroupName + - parameterName: application_group_name(String^string) + cli: + cliKey: applicationGroupName + name: applicationGroupName + - parameterName: desktop_name(String^string) + cli: + cliKey: desktopName + name: desktopName + - operationName: update + cli: + cliKey: Update + name: Update + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + name: ApiVersion + - parameterName: subscription_id(String^string) + cli: + cliKey: subscriptionId + name: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + cliKey: resourceGroupName + name: resourceGroupName + - parameterName: application_group_name(String^string) + cli: + cliKey: applicationGroupName + name: applicationGroupName + - parameterName: desktop_name(String^string) + cli: + cliKey: desktopName + name: desktopName + - parameterName[0]: content_type(application_json^constant) + cli: + cliKey: content-type + name: ContentType + - parameterName[0]: _desktop(DesktopPatch^object) + cli: + cliKey: desktop + x-ms-client-flatten: true + bodySchema: DesktopPatch + - parameterName[0]: tags(any^any) + cli: + cliKey: tags + - parameterName[0]: description(DesktopPatchPropertiesDescription^string) + cli: + cliKey: description + - parameterName[0]: friendly_name(DesktopPatchPropertiesFriendlyName^string) + cli: + cliKey: friendlyName + name: friendlyName + - operationName: list + cli: + cliKey: List + name: List + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + name: ApiVersion + - parameterName: subscription_id(String^string) + cli: + cliKey: subscriptionId + name: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + cliKey: resourceGroupName + name: resourceGroupName + - parameterName: application_group_name(String^string) + cli: + cliKey: applicationGroupName + name: applicationGroupName + - operationGroupName: HostPool + cli: + cliKey: HostPools + operations: + - operationName: get + cli: + cliKey: Get + name: Get + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + name: ApiVersion + - parameterName: subscription_id(String^string) + cli: + cliKey: subscriptionId + name: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + cliKey: resourceGroupName + name: resourceGroupName + - parameterName: host_pool_name(String^string) + cli: + cliKey: hostPoolName + name: hostPoolName + - operationName: create_or_update + cli: + cliKey: CreateOrUpdate + name: CreateOrUpdate + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + name: ApiVersion + - parameterName: subscription_id(String^string) + cli: + cliKey: subscriptionId + name: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + cliKey: resourceGroupName + name: resourceGroupName + - parameterName: host_pool_name(String^string) + cli: + cliKey: hostPoolName + name: hostPoolName + - parameterName[0]: content_type(application_json^constant) + cli: + cliKey: content-type + name: ContentType + - parameterName[0]: _host_pool(HostPool^object) + cli: + cliKey: hostPool + x-ms-client-flatten: true + bodySchema: HostPool + - parameterName[0]: tags(TrackedResourceTags^dictionary) + cli: + cliKey: tags + - parameterName[0]: location(TrackedResourceLocation^string) + cli: + cliKey: location + - parameterName[0]: friendly_name(HostPoolPropertiesFriendlyName^string) + cli: + cliKey: friendlyName + name: friendlyName + - parameterName[0]: description(HostPoolPropertiesDescription^string) + cli: + cliKey: description + - parameterName[0]: host_pool_type(HostPoolType^choice) + cli: + cliKey: hostPoolType + name: hostPoolType + - parameterName[0]: personal_desktop_assignment_type(PersonalDesktopAssignmentType^choice) + cli: + cliKey: personalDesktopAssignmentType + name: personalDesktopAssignmentType + - parameterName[0]: custom_rdp_property(HostPoolPropertiesCustomRdpProperty^string) + cli: + cliKey: customRdpProperty + name: customRdpProperty + - parameterName[0]: max_session_limit(Integer^integer) + cli: + cliKey: maxSessionLimit + name: maxSessionLimit + - parameterName[0]: load_balancer_type(LoadBalancerType^choice) + cli: + cliKey: loadBalancerType + name: loadBalancerType + - parameterName[0]: ring(Integer^integer) + cli: + cliKey: ring + - parameterName[0]: validation_environment(boolean^boolean) + cli: + cliKey: validationEnvironment + name: validationEnvironment + - parameterName[0]: registration_info(RegistrationInfo^object) + cli: + cliKey: registrationInfo + name: registrationInfo + - parameterName[0]: vm_template(HostPoolPropertiesVmTemplate^string) + cli: + cliKey: vmTemplate + name: vmTemplate + - parameterName[0]: sso_context(HostPoolPropertiesSsoContext^string) + cli: + cliKey: ssoContext + name: ssoContext + - operationName: delete + cli: + cliKey: Delete + name: Delete + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + name: ApiVersion + - parameterName: subscription_id(String^string) + cli: + cliKey: subscriptionId + name: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + cliKey: resourceGroupName + name: resourceGroupName + - parameterName: host_pool_name(String^string) + cli: + cliKey: hostPoolName + name: hostPoolName + - parameterName: force(boolean^boolean) + cli: + cliKey: force + - operationName: update + cli: + cliKey: Update + name: Update + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + name: ApiVersion + - parameterName: subscription_id(String^string) + cli: + cliKey: subscriptionId + name: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + cliKey: resourceGroupName + name: resourceGroupName + - parameterName: host_pool_name(String^string) + cli: + cliKey: hostPoolName + name: hostPoolName + - parameterName[0]: content_type(application_json^constant) + cli: + cliKey: content-type + name: ContentType + - parameterName[0]: _host_pool(HostPoolPatch^object) + cli: + cliKey: hostPool + x-ms-client-flatten: true + bodySchema: HostPoolPatch + - parameterName[0]: tags(any^any) + cli: + cliKey: tags + - parameterName[0]: friendly_name(HostPoolPatchPropertiesFriendlyName^string) + cli: + cliKey: friendlyName + name: friendlyName + - parameterName[0]: description(HostPoolPatchPropertiesDescription^string) + cli: + cliKey: description + - parameterName[0]: custom_rdp_property(HostPoolPatchPropertiesCustomRdpProperty^string) + cli: + cliKey: customRdpProperty + name: customRdpProperty + - parameterName[0]: max_session_limit(Integer^integer) + cli: + cliKey: maxSessionLimit + name: maxSessionLimit + - parameterName[0]: personal_desktop_assignment_type(PersonalDesktopAssignmentType^choice) + cli: + cliKey: personalDesktopAssignmentType + name: personalDesktopAssignmentType + - parameterName[0]: load_balancer_type(LoadBalancerType^choice) + cli: + cliKey: loadBalancerType + name: loadBalancerType + - parameterName[0]: ring(Integer^integer) + cli: + cliKey: ring + - parameterName[0]: validation_environment(boolean^boolean) + cli: + cliKey: validationEnvironment + name: validationEnvironment + - parameterName[0]: registration_info(RegistrationInfoPatch^object) + cli: + cliKey: registrationInfo + name: registrationInfo + - parameterName[0]: sso_context(HostPoolPatchPropertiesSsoContext^string) + cli: + cliKey: ssoContext + name: ssoContext + - operationName: list_by_resource_group + cli: + cliKey: ListByResourceGroup + name: ListByResourceGroup + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + name: ApiVersion + - parameterName: subscription_id(String^string) + cli: + cliKey: subscriptionId + name: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + cliKey: resourceGroupName + name: resourceGroupName + - operationName: list + cli: + cliKey: List + name: List + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + name: ApiVersion + - parameterName: subscription_id(String^string) + cli: + cliKey: subscriptionId + name: subscriptionId + - operationGroupName: UserSession + cli: + cliKey: UserSessions + hidden: true + operations: + - operationName: list_by_host_pool + cli: + cliKey: ListByHostPool + name: ListByHostPool + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + name: ApiVersion + - parameterName: subscription_id(String^string) + cli: + cliKey: subscriptionId + name: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + cliKey: resourceGroupName + name: resourceGroupName + - parameterName: host_pool_name(String^string) + cli: + cliKey: hostPoolName + name: hostPoolName + - parameterName: filter(String^string) + cli: + cliKey: $filter + - operationName: get + cli: + cliKey: Get + name: Get + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + name: ApiVersion + - parameterName: subscription_id(String^string) + cli: + cliKey: subscriptionId + name: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + cliKey: resourceGroupName + name: resourceGroupName + - parameterName: host_pool_name(String^string) + cli: + cliKey: hostPoolName + name: hostPoolName + - parameterName: session_host_name(String^string) + cli: + cliKey: sessionHostName + name: sessionHostName + - parameterName: user_session_id(String^string) + cli: + cliKey: userSessionId + name: userSessionId + - operationName: delete + cli: + cliKey: Delete + name: Delete + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + name: ApiVersion + - parameterName: subscription_id(String^string) + cli: + cliKey: subscriptionId + name: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + cliKey: resourceGroupName + name: resourceGroupName + - parameterName: host_pool_name(String^string) + cli: + cliKey: hostPoolName + name: hostPoolName + - parameterName: session_host_name(String^string) + cli: + cliKey: sessionHostName + name: sessionHostName + - parameterName: user_session_id(String^string) + cli: + cliKey: userSessionId + name: userSessionId + - parameterName: force(boolean^boolean) + cli: + cliKey: force + - operationName: list + cli: + cliKey: List + name: List + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + name: ApiVersion + - parameterName: subscription_id(String^string) + cli: + cliKey: subscriptionId + name: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + cliKey: resourceGroupName + name: resourceGroupName + - parameterName: host_pool_name(String^string) + cli: + cliKey: hostPoolName + name: hostPoolName + - parameterName: session_host_name(String^string) + cli: + cliKey: sessionHostName + name: sessionHostName + - operationName: disconnect + cli: + cliKey: Disconnect + name: Disconnect + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + name: ApiVersion + - parameterName: subscription_id(String^string) + cli: + cliKey: subscriptionId + name: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + cliKey: resourceGroupName + name: resourceGroupName + - parameterName: host_pool_name(String^string) + cli: + cliKey: hostPoolName + name: hostPoolName + - parameterName: session_host_name(String^string) + cli: + cliKey: sessionHostName + name: sessionHostName + - parameterName: user_session_id(String^string) + cli: + cliKey: userSessionId + name: userSessionId + - operationName: send_message + cli: + cliKey: SendMessage + name: SendMessage + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + name: ApiVersion + - parameterName: subscription_id(String^string) + cli: + cliKey: subscriptionId + name: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + cliKey: resourceGroupName + name: resourceGroupName + - parameterName: host_pool_name(String^string) + cli: + cliKey: hostPoolName + name: hostPoolName + - parameterName: session_host_name(String^string) + cli: + cliKey: sessionHostName + name: sessionHostName + - parameterName: user_session_id(String^string) + cli: + cliKey: userSessionId + name: userSessionId + - parameterName[0]: content_type(application_json^constant) + cli: + cliKey: content-type + name: ContentType + - parameterName[0]: _send_message(SendMessage^object) + cli: + cliKey: sendMessage + x-ms-client-flatten: true + bodySchema: SendMessage + - parameterName[0]: message_title(SendMessageTitle^string) + cli: + cliKey: messageTitle + name: messageTitle + - parameterName[0]: message_body(SendMessageBody^string) + cli: + cliKey: messageBody + name: messageBody + - operationGroupName: SessionHost + cli: + cliKey: SessionHosts + hidden: true + operations: + - operationName: get + cli: + cliKey: Get + name: Get + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + name: ApiVersion + - parameterName: subscription_id(String^string) + cli: + cliKey: subscriptionId + name: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + cliKey: resourceGroupName + name: resourceGroupName + - parameterName: host_pool_name(String^string) + cli: + cliKey: hostPoolName + name: hostPoolName + - parameterName: session_host_name(String^string) + cli: + cliKey: sessionHostName + name: sessionHostName + - operationName: delete + cli: + cliKey: Delete + name: Delete + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + name: ApiVersion + - parameterName: subscription_id(String^string) + cli: + cliKey: subscriptionId + name: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + cliKey: resourceGroupName + name: resourceGroupName + - parameterName: host_pool_name(String^string) + cli: + cliKey: hostPoolName + name: hostPoolName + - parameterName: session_host_name(String^string) + cli: + cliKey: sessionHostName + name: sessionHostName + - parameterName: force(boolean^boolean) + cli: + cliKey: force + - operationName: update + cli: + cliKey: Update + name: Update + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + name: ApiVersion + - parameterName: subscription_id(String^string) + cli: + cliKey: subscriptionId + name: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + cliKey: resourceGroupName + name: resourceGroupName + - parameterName: host_pool_name(String^string) + cli: + cliKey: hostPoolName + name: hostPoolName + - parameterName: session_host_name(String^string) + cli: + cliKey: sessionHostName + name: sessionHostName + - parameterName[0]: content_type(application_json^constant) + cli: + cliKey: content-type + name: ContentType + - parameterName[0]: _session_host(SessionHostPatch^object) + cli: + cliKey: sessionHost + x-ms-client-flatten: true + bodySchema: SessionHostPatch + - parameterName[0]: allow_new_session(boolean^boolean) + cli: + cliKey: allowNewSession + name: allowNewSession + - parameterName[0]: assigned_user(SessionHostPatchPropertiesAssignedUser^string) + cli: + cliKey: assignedUser + name: assignedUser + - operationName: list + cli: + cliKey: List + name: List + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + name: ApiVersion + - parameterName: subscription_id(String^string) + cli: + cliKey: subscriptionId + name: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + cliKey: resourceGroupName + name: resourceGroupName + - parameterName: host_pool_name(String^string) + cli: + cliKey: hostPoolName + name: hostPoolName + - operationGroupName: ActiveApplication + cli: + cliKey: ActiveApplications + hidden: true + operations: + - operationName: list_by_session_host + cli: + cliKey: ListBySessionHost + name: ListBySessionHost + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + cliKey: ApiVersion + name: ApiVersion + - parameterName: subscription_id(String^string) + cli: + cliKey: subscriptionId + name: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + cliKey: resourceGroupName + name: resourceGroupName + - parameterName: host_pool_name(String^string) + cli: + cliKey: hostPoolName + name: hostPoolName + - parameterName: session_host_name(String^string) + cli: + cliKey: sessionHostName + name: sessionHostName + - parameterName: filter(String^string) + cli: + cliKey: $filter +schemas: + objects: + all: + - schemaName: ResourceProviderOperationList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ResourceProviderOperationList + properties: + - propertyName: value(ResourceProviderOperationListValue^array) + cli: + cliKey: value + - schemaName: ResourceProviderOperation + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 5 + propertyCountIfSimplifyWithoutSimpleObject: 2 + simplifiable: true + cliKey: ResourceProviderOperation + properties: + - propertyName: name(ResourceProviderOperationName^string) + cli: + cliKey: name + - propertyName: display(ResourceProviderOperationDisplay^object) + cli: + cliKey: display + - schemaName: ResourceProviderOperationDisplay + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 4 + propertyCountIfSimplifyWithoutSimpleObject: 4 + simplifiable: true + cliKey: ResourceProviderOperation-display + properties: + - propertyName: provider(ResourceProviderOperationDisplayProvider^string) + cli: + cliKey: provider + - propertyName: resource(ResourceProviderOperationDisplayResource^string) + cli: + cliKey: resource + - propertyName: operation(ResourceProviderOperationDisplayOperation^string) + cli: + cliKey: operation + - propertyName: description(ResourceProviderOperationDisplayDescription^string) + cli: + cliKey: description + - schemaName: Resource + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 0 + propertyCountIfSimplifyWithoutSimpleObject: 0 + simplifiable: true + cliKey: Resource + properties: + - propertyName: id(ResourceId^string) + cli: + cliKey: id + readOnly: true + - propertyName: name(ResourceName^string) + cli: + cliKey: name + readOnly: true + - propertyName: type(ResourceType^string) + cli: + cliKey: type + readOnly: true + - schemaName: TrackedResource + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: TrackedResource + properties: + - propertyName: tags(TrackedResourceTags^dictionary) + cli: + cliKey: tags + - propertyName: location(TrackedResourceLocation^string) + cli: + cliKey: location + - schemaName: Workspace + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: Workspace + properties: + - propertyName: description(WorkspacePropertiesDescription^string) + cli: + cliKey: description + - propertyName: friendly_name(WorkspacePropertiesFriendlyName^string) + cli: + cliKey: friendlyName + name: friendlyName + - propertyName: application_group_references(WorkspacePropertiesApplicationGroupReferences^array) + cli: + cliKey: applicationGroupReferences + name: applicationGroupReferences + - schemaName: CloudError + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 2 + simplifiable: true + cliKey: CloudError + properties: + - propertyName: code(CloudErrorCode^string) + cli: + cliKey: code + - propertyName: message(CloudErrorMessage^string) + cli: + cliKey: message + - schemaName: WorkspacePatch + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: WorkspacePatch + properties: + - propertyName: tags(any^any) + cli: + cliKey: tags + - propertyName: description(WorkspacePatchPropertiesDescription^string) + cli: + cliKey: description + - propertyName: friendly_name(WorkspacePatchPropertiesFriendlyName^string) + cli: + cliKey: friendlyName + name: friendlyName + - propertyName: application_group_references(WorkspacePatchPropertiesApplicationGroupReferences^array) + cli: + cliKey: applicationGroupReferences + name: applicationGroupReferences + - schemaName: WorkspaceList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: WorkspaceList + properties: + - propertyName: value(WorkspaceListValue^array) + cli: + cliKey: value + - propertyName: next_link(WorkspaceListNextLink^string) + cli: + cliKey: nextLink + name: nextLink + readOnly: true + - schemaName: ApplicationGroupList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ApplicationGroupList + properties: + - propertyName: value(ApplicationGroupListValue^array) + cli: + cliKey: value + - propertyName: next_link(ApplicationGroupListNextLink^string) + cli: + cliKey: nextLink + name: nextLink + readOnly: true + - schemaName: ApplicationGroup + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ApplicationGroup + properties: + - propertyName: description(ApplicationGroupPropertiesDescription^string) + cli: + cliKey: description + - propertyName: friendly_name(ApplicationGroupPropertiesFriendlyName^string) + cli: + cliKey: friendlyName + name: friendlyName + - propertyName: host_pool_arm_path(ApplicationGroupPropertiesHostPoolArmPath^string) + cli: + cliKey: hostPoolArmPath + name: hostPoolArmPath + - propertyName: workspace_arm_path(ApplicationGroupPropertiesWorkspaceArmPath^string) + cli: + cliKey: workspaceArmPath + name: workspaceArmPath + readOnly: true + - propertyName: application_group_type(ApplicationGroupType^choice) + cli: + cliKey: applicationGroupType + name: applicationGroupType + - schemaName: ApplicationGroupPatch + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ApplicationGroupPatch + properties: + - propertyName: tags(any^any) + cli: + cliKey: tags + - propertyName: description(ApplicationGroupPatchPropertiesDescription^string) + cli: + cliKey: description + - propertyName: friendly_name(ApplicationGroupPatchPropertiesFriendlyName^string) + cli: + cliKey: friendlyName + name: friendlyName + - schemaName: StartMenuItemList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: StartMenuItemList + properties: + - propertyName: value(StartMenuItemListValue^array) + cli: + cliKey: value + - propertyName: next_link(StartMenuItemListNextLink^string) + cli: + cliKey: nextLink + name: nextLink + readOnly: true + - schemaName: StartMenuItem + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 6 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: StartMenuItem + properties: + - propertyName: app_alias(StartMenuItemPropertiesAppAlias^string) + cli: + cliKey: appAlias + name: appAlias + - propertyName: friendly_name(StartMenuItemPropertiesFriendlyName^string) + cli: + cliKey: friendlyName + name: friendlyName + - propertyName: file_path(StartMenuItemPropertiesFilePath^string) + cli: + cliKey: filePath + name: filePath + - propertyName: command_line_arguments(StartMenuItemPropertiesCommandLineArguments^string) + cli: + cliKey: commandLineArguments + name: commandLineArguments + - propertyName: icon_path(StartMenuItemPropertiesIconPath^string) + cli: + cliKey: iconPath + name: iconPath + - propertyName: icon_index(Integer^integer) + cli: + cliKey: iconIndex + name: iconIndex + - schemaName: Application + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 8 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: Application + properties: + - propertyName: description(ApplicationPropertiesDescription^string) + cli: + cliKey: description + - propertyName: friendly_name(ApplicationPropertiesFriendlyName^string) + cli: + cliKey: friendlyName + name: friendlyName + - propertyName: file_path(ApplicationPropertiesFilePath^string) + cli: + cliKey: filePath + name: filePath + - propertyName: command_line_setting(CommandLineSetting^choice) + cli: + cliKey: commandLineSetting + name: commandLineSetting + - propertyName: command_line_arguments(ApplicationPropertiesCommandLineArguments^string) + cli: + cliKey: commandLineArguments + name: commandLineArguments + - propertyName: show_in_portal(boolean^boolean) + cli: + cliKey: showInPortal + name: showInPortal + - propertyName: icon_path(ApplicationPropertiesIconPath^string) + cli: + cliKey: iconPath + name: iconPath + - propertyName: icon_index(Integer^integer) + cli: + cliKey: iconIndex + name: iconIndex + - propertyName: icon_hash(ApplicationPropertiesIconHash^string) + cli: + cliKey: iconHash + name: iconHash + readOnly: true + - propertyName: icon_content(application_properties_icon_content^byte-array) + cli: + cliKey: iconContent + name: iconContent + readOnly: true + - schemaName: ApplicationPatch + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ApplicationPatch + properties: + - propertyName: tags(any^any) + cli: + cliKey: tags + - propertyName: description(ApplicationPatchPropertiesDescription^string) + cli: + cliKey: description + - propertyName: friendly_name(ApplicationPatchPropertiesFriendlyName^string) + cli: + cliKey: friendlyName + name: friendlyName + - propertyName: file_path(ApplicationPatchPropertiesFilePath^string) + cli: + cliKey: filePath + name: filePath + - propertyName: command_line_setting(CommandLineSetting^choice) + cli: + cliKey: commandLineSetting + name: commandLineSetting + - propertyName: command_line_arguments(ApplicationPatchPropertiesCommandLineArguments^string) + cli: + cliKey: commandLineArguments + name: commandLineArguments + - propertyName: show_in_portal(boolean^boolean) + cli: + cliKey: showInPortal + name: showInPortal + - propertyName: icon_path(ApplicationPatchPropertiesIconPath^string) + cli: + cliKey: iconPath + name: iconPath + - propertyName: icon_index(Integer^integer) + cli: + cliKey: iconIndex + name: iconIndex + - schemaName: ApplicationList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ApplicationList + properties: + - propertyName: value(ApplicationListValue^array) + cli: + cliKey: value + - propertyName: next_link(ApplicationListNextLink^string) + cli: + cliKey: nextLink + name: nextLink + readOnly: true + - schemaName: Desktop + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: Desktop + properties: + - propertyName: description(DesktopPropertiesDescription^string) + cli: + cliKey: description + - propertyName: friendly_name(DesktopPropertiesFriendlyName^string) + cli: + cliKey: friendlyName + name: friendlyName + - propertyName: icon_hash(DesktopPropertiesIconHash^string) + cli: + cliKey: iconHash + name: iconHash + readOnly: true + - propertyName: icon_content(desktop_properties_icon_content^byte-array) + cli: + cliKey: iconContent + name: iconContent + readOnly: true + - schemaName: DesktopPatch + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: DesktopPatch + properties: + - propertyName: tags(any^any) + cli: + cliKey: tags + - propertyName: description(DesktopPatchPropertiesDescription^string) + cli: + cliKey: description + - propertyName: friendly_name(DesktopPatchPropertiesFriendlyName^string) + cli: + cliKey: friendlyName + name: friendlyName + - schemaName: DesktopList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: DesktopList + properties: + - propertyName: value(DesktopListValue^array) + cli: + cliKey: value + - propertyName: next_link(DesktopListNextLink^string) + cli: + cliKey: nextLink + name: nextLink + readOnly: true + - schemaName: HostPool + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: HostPool + properties: + - propertyName: friendly_name(HostPoolPropertiesFriendlyName^string) + cli: + cliKey: friendlyName + name: friendlyName + - propertyName: description(HostPoolPropertiesDescription^string) + cli: + cliKey: description + - propertyName: host_pool_type(HostPoolType^choice) + cli: + cliKey: hostPoolType + name: hostPoolType + - propertyName: personal_desktop_assignment_type(PersonalDesktopAssignmentType^choice) + cli: + cliKey: personalDesktopAssignmentType + name: personalDesktopAssignmentType + - propertyName: custom_rdp_property(HostPoolPropertiesCustomRdpProperty^string) + cli: + cliKey: customRdpProperty + name: customRdpProperty + - propertyName: max_session_limit(Integer^integer) + cli: + cliKey: maxSessionLimit + name: maxSessionLimit + - propertyName: load_balancer_type(LoadBalancerType^choice) + cli: + cliKey: loadBalancerType + name: loadBalancerType + - propertyName: ring(Integer^integer) + cli: + cliKey: ring + - propertyName: validation_environment(boolean^boolean) + cli: + cliKey: validationEnvironment + name: validationEnvironment + - propertyName: registration_info(RegistrationInfo^object) + cli: + cliKey: registrationInfo + name: registrationInfo + - propertyName: vm_template(HostPoolPropertiesVmTemplate^string) + cli: + cliKey: vmTemplate + name: vmTemplate + - propertyName: application_group_references(HostPoolPropertiesApplicationGroupReferences^array) + cli: + cliKey: applicationGroupReferences + name: applicationGroupReferences + readOnly: true + - propertyName: sso_context(HostPoolPropertiesSsoContext^string) + cli: + cliKey: ssoContext + name: ssoContext + - schemaName: RegistrationInfo + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 3 + propertyCountIfSimplifyWithoutSimpleObject: 3 + simplifiable: true + cliKey: RegistrationInfo + properties: + - propertyName: expiration_time(registration_info_expiration_time^date-time) + cli: + cliKey: expirationTime + name: expirationTime + - propertyName: token(RegistrationInfoToken^string) + cli: + cliKey: token + - propertyName: registration_token_operation(RegistrationTokenOperation^choice) + cli: + cliKey: registrationTokenOperation + name: registrationTokenOperation + - schemaName: HostPoolPatch + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: HostPoolPatch + properties: + - propertyName: tags(any^any) + cli: + cliKey: tags + - propertyName: friendly_name(HostPoolPatchPropertiesFriendlyName^string) + cli: + cliKey: friendlyName + name: friendlyName + - propertyName: description(HostPoolPatchPropertiesDescription^string) + cli: + cliKey: description + - propertyName: custom_rdp_property(HostPoolPatchPropertiesCustomRdpProperty^string) + cli: + cliKey: customRdpProperty + name: customRdpProperty + - propertyName: max_session_limit(Integer^integer) + cli: + cliKey: maxSessionLimit + name: maxSessionLimit + - propertyName: personal_desktop_assignment_type(PersonalDesktopAssignmentType^choice) + cli: + cliKey: personalDesktopAssignmentType + name: personalDesktopAssignmentType + - propertyName: load_balancer_type(LoadBalancerType^choice) + cli: + cliKey: loadBalancerType + name: loadBalancerType + - propertyName: ring(Integer^integer) + cli: + cliKey: ring + - propertyName: validation_environment(boolean^boolean) + cli: + cliKey: validationEnvironment + name: validationEnvironment + - propertyName: registration_info(RegistrationInfoPatch^object) + cli: + cliKey: registrationInfo + name: registrationInfo + - propertyName: sso_context(HostPoolPatchPropertiesSsoContext^string) + cli: + cliKey: ssoContext + name: ssoContext + - schemaName: RegistrationInfoPatch + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 1 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: RegistrationInfoPatch + properties: + - propertyName: registration_token_operation(RegistrationTokenOperation^choice) + cli: + cliKey: registrationTokenOperation + name: registrationTokenOperation + - schemaName: HostPoolList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: HostPoolList + properties: + - propertyName: value(HostPoolListValue^array) + cli: + cliKey: value + - propertyName: next_link(HostPoolListNextLink^string) + cli: + cliKey: nextLink + name: nextLink + readOnly: true + - schemaName: UserSessionList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: UserSessionList + properties: + - propertyName: value(UserSessionListValue^array) + cli: + cliKey: value + - propertyName: next_link(UserSessionListNextLink^string) + cli: + cliKey: nextLink + name: nextLink + readOnly: true + - schemaName: UserSession + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 5 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: UserSession + properties: + - propertyName: user_principal_name(UserSessionPropertiesUserPrincipalName^string) + cli: + cliKey: userPrincipalName + name: userPrincipalName + - propertyName: application_type(ApplicationType^choice) + cli: + cliKey: applicationType + name: applicationType + - propertyName: session_state(SessionState^choice) + cli: + cliKey: sessionState + name: sessionState + - propertyName: active_directory_user_name(UserSessionPropertiesActiveDirectoryUserName^string) + cli: + cliKey: activeDirectoryUserName + name: activeDirectoryUserName + - propertyName: create_time(user_session_properties_create_time^date-time) + cli: + cliKey: createTime + name: createTime + - schemaName: SessionHost + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: SessionHost + properties: + - propertyName: last_heart_beat(session_host_properties_last_heart_beat^date-time) + cli: + cliKey: lastHeartBeat + name: lastHeartBeat + - propertyName: sessions(Integer^integer) + cli: + cliKey: sessions + - propertyName: agent_version(SessionHostPropertiesAgentVersion^string) + cli: + cliKey: agentVersion + name: agentVersion + - propertyName: allow_new_session(boolean^boolean) + cli: + cliKey: allowNewSession + name: allowNewSession + - propertyName: assigned_user(SessionHostPropertiesAssignedUser^string) + cli: + cliKey: assignedUser + name: assignedUser + - propertyName: status(Status^choice) + cli: + cliKey: status + - propertyName: status_timestamp(session_host_properties_status_timestamp^date-time) + cli: + cliKey: statusTimestamp + name: statusTimestamp + readOnly: true + - propertyName: os_version(SessionHostPropertiesOsVersion^string) + cli: + cliKey: osVersion + name: osVersion + - propertyName: sx_s_stack_version(SessionHostPropertiesSxSStackVersion^string) + cli: + cliKey: sxSStackVersion + name: sxSStackVersion + - propertyName: update_state(UpdateState^choice) + cli: + cliKey: updateState + name: updateState + - propertyName: last_update_time(session_host_properties_last_update_time^date-time) + cli: + cliKey: lastUpdateTime + name: lastUpdateTime + readOnly: true + - propertyName: update_error_message(SessionHostPropertiesUpdateErrorMessage^string) + cli: + cliKey: updateErrorMessage + name: updateErrorMessage + - schemaName: SessionHostPatch + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: SessionHostPatch + properties: + - propertyName: allow_new_session(boolean^boolean) + cli: + cliKey: allowNewSession + name: allowNewSession + - propertyName: assigned_user(SessionHostPatchPropertiesAssignedUser^string) + cli: + cliKey: assignedUser + name: assignedUser + - schemaName: SessionHostList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: SessionHostList + properties: + - propertyName: value(SessionHostListValue^array) + cli: + cliKey: value + - propertyName: next_link(SessionHostListNextLink^string) + cli: + cliKey: nextLink + name: nextLink + readOnly: true + - schemaName: SendMessage + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 2 + simplifiable: true + cliKey: SendMessage + properties: + - propertyName: message_title(SendMessageTitle^string) + cli: + cliKey: messageTitle + name: messageTitle + - propertyName: message_body(SendMessageBody^string) + cli: + cliKey: messageBody + name: messageBody + choices: + all: + - choiceName: ApplicationGroupType + cli: + cliKey: ApplicationGroupType + choiceValues: + - choiceValue: remote_app + cli: + cliKey: RemoteApp + name: RemoteApp + - choiceValue: desktop + cli: + cliKey: Desktop + name: Desktop + - choiceName: CommandLineSetting + cli: + cliKey: CommandLineSetting + choiceValues: + - choiceValue: do_not_allow + cli: + cliKey: DoNotAllow + name: DoNotAllow + - choiceValue: allow + cli: + cliKey: Allow + name: Allow + - choiceValue: require + cli: + cliKey: Require + name: Require + - choiceName: HostPoolType + cli: + cliKey: HostPoolType + choiceValues: + - choiceValue: personal + cli: + cliKey: Personal + name: Personal + - choiceValue: pooled + cli: + cliKey: Pooled + name: Pooled + - choiceName: PersonalDesktopAssignmentType + cli: + cliKey: PersonalDesktopAssignmentType + choiceValues: + - choiceValue: automatic + cli: + cliKey: Automatic + name: Automatic + - choiceValue: direct + cli: + cliKey: Direct + name: Direct + - choiceName: LoadBalancerType + cli: + cliKey: LoadBalancerType + choiceValues: + - choiceValue: breadth_first + cli: + cliKey: BreadthFirst + name: BreadthFirst + - choiceValue: depth_first + cli: + cliKey: DepthFirst + name: DepthFirst + - choiceValue: persistent + cli: + cliKey: Persistent + name: Persistent + - choiceName: RegistrationTokenOperation + cli: + cliKey: RegistrationTokenOperation + choiceValues: + - choiceValue: delete + cli: + cliKey: Delete + name: Delete + - choiceValue: none + cli: + cliKey: None + name: None + - choiceValue: update + cli: + cliKey: Update + name: Update + - choiceName: ApplicationType + cli: + cliKey: ApplicationType + choiceValues: + - choiceValue: remote_app + cli: + cliKey: RemoteApp + name: RemoteApp + - choiceValue: desktop + cli: + cliKey: Desktop + name: Desktop + - choiceName: SessionState + cli: + cliKey: SessionState + choiceValues: + - choiceValue: unknown + cli: + cliKey: Unknown + name: Unknown + - choiceValue: active + cli: + cliKey: Active + name: Active + - choiceValue: disconnected + cli: + cliKey: Disconnected + name: Disconnected + - choiceValue: pending + cli: + cliKey: Pending + name: Pending + - choiceValue: log_off + cli: + cliKey: LogOff + name: LogOff + - choiceValue: user_profile_disk_mounted + cli: + cliKey: UserProfileDiskMounted + name: UserProfileDiskMounted + - choiceName: Status + cli: + cliKey: Status + choiceValues: + - choiceValue: available + cli: + cliKey: Available + name: Available + - choiceValue: unavailable + cli: + cliKey: Unavailable + name: Unavailable + - choiceValue: shutdown + cli: + cliKey: Shutdown + name: Shutdown + - choiceValue: disconnected + cli: + cliKey: Disconnected + name: Disconnected + - choiceValue: upgrading + cli: + cliKey: Upgrading + name: Upgrading + - choiceValue: upgrade_failed + cli: + cliKey: UpgradeFailed + name: UpgradeFailed + - choiceName: UpdateState + cli: + cliKey: UpdateState + choiceValues: + - choiceValue: initial + cli: + cliKey: Initial + name: Initial + - choiceValue: pending + cli: + cliKey: Pending + name: Pending + - choiceValue: started + cli: + cliKey: Started + name: Started + - choiceValue: succeeded + cli: + cliKey: Succeeded + name: Succeeded + - choiceValue: failed + cli: + cliKey: Failed + name: Failed diff --git a/src/desktopvirtualization/_az_debug/clicommon-000090-namer-post.yaml b/src/desktopvirtualization/_az_debug/clicommon-000090-namer-post.yaml new file mode 100644 index 00000000000..db46b90e4ae --- /dev/null +++ b/src/desktopvirtualization/_az_debug/clicommon-000090-namer-post.yaml @@ -0,0 +1,11138 @@ +info: + title: Desktop Virtualization API Client + extensions: + cli-dump-index: 90 +schemas: + booleans: + - &ref_53 + type: boolean + language: + default: + name: boolean + description: Specifies whether to show the RemoteApp program in the RD Web Access server. + protocol: {} + - &ref_27 + type: boolean + language: + default: + name: boolean + description: Is validation environment. + protocol: {} + - &ref_356 + type: boolean + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: boolean + description: '' + protocol: {} + - &ref_73 + type: boolean + language: + default: + name: boolean + description: Allow a new session. + protocol: {} + numbers: + - &ref_47 + type: integer + precision: 32 + language: + default: + name: Integer + description: Index of the icon. + cli: + name: Integer + description: Index of the icon. + protocol: {} + - &ref_24 + type: integer + precision: 32 + language: + default: + name: Integer + description: The max session limit of HostPool. + cli: + name: Integer + description: The max session limit of HostPool. + protocol: {} + - &ref_26 + type: integer + precision: 32 + language: + default: + name: Integer + description: The ring number of HostPool. + cli: + name: Integer + description: The ring number of HostPool. + protocol: {} + - &ref_71 + type: integer + precision: 32 + language: + default: + name: Integer + description: Number of sessions on SessionHost. + cli: + name: Integer + description: Number of sessions on SessionHost. + protocol: {} + strings: + - &ref_0 + type: string + language: + default: + name: String + description: simple string + cli: + name: String + description: simple string + protocol: {} + - &ref_2 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ResourceProviderOperationName + description: 'Operation name, in format of {provider}/{resource}/{operation}' + cli: + name: ResourceProviderOperationName + description: 'Operation name, in format of {provider}/{resource}/{operation}' + protocol: {} + - &ref_3 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ResourceProviderOperationDisplayProvider + description: 'Resource provider: Microsoft Desktop Virtualization.' + cli: + name: ResourceProviderOperationDisplayProvider + description: 'Resource provider: Microsoft Desktop Virtualization.' + protocol: {} + - &ref_4 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ResourceProviderOperationDisplayResource + description: Resource on which the operation is performed. + cli: + name: ResourceProviderOperationDisplayResource + description: Resource on which the operation is performed. + protocol: {} + - &ref_5 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ResourceProviderOperationDisplayOperation + description: 'Type of operation: get, read, delete, etc.' + cli: + name: ResourceProviderOperationDisplayOperation + description: 'Type of operation: get, read, delete, etc.' + protocol: {} + - &ref_6 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ResourceProviderOperationDisplayDescription + description: Description of this operation. + cli: + name: ResourceProviderOperationDisplayDescription + description: Description of this operation. + protocol: {} + - &ref_130 + type: string + apiVersions: + - version: '1.0' + minLength: 1 + language: + default: + name: String + description: '' + cli: + name: String + description: '' + protocol: {} + - &ref_136 + type: string + apiVersions: + - version: '1.0' + maxLength: 90 + minLength: 1 + pattern: '^[-\w\._\(\)]+$' + language: + default: + name: String + description: '' + cli: + name: String + description: '' + protocol: {} + - &ref_137 + type: string + apiVersions: + - version: 2019-12-10-preview + maxLength: 24 + minLength: 3 + language: + default: + name: String + description: '' + cli: + name: String + description: '' + protocol: {} + - &ref_91 + type: string + apiVersions: + - version: '1.0' + language: + default: + name: ResourceId + description: 'Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' + cli: + name: ResourceId + description: 'Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' + protocol: {} + - &ref_92 + type: string + apiVersions: + - version: '1.0' + language: + default: + name: ResourceName + description: The name of the resource + cli: + name: ResourceName + description: The name of the resource + protocol: {} + - &ref_93 + type: string + apiVersions: + - version: '1.0' + language: + default: + name: ResourceType + description: The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + cli: + name: ResourceType + description: The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + protocol: {} + - &ref_1 + type: string + apiVersions: + - version: '1.0' + language: + default: + name: String + description: '' + cli: + name: String + description: '' + protocol: {} + - &ref_38 + type: string + apiVersions: + - version: '1.0' + extensions: + x-ms-mutability: + - read + - create + language: + default: + name: TrackedResourceLocation + description: The geo-location where the resource lives + cli: + name: TrackedResourceLocation + description: The geo-location where the resource lives + protocol: {} + - &ref_11 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: WorkspacePropertiesDescription + description: Description of Workspace. + cli: + name: WorkspacePropertiesDescription + description: Description of Workspace. + protocol: {} + - &ref_12 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: WorkspacePropertiesFriendlyName + description: Friendly name of Workspace. + cli: + name: WorkspacePropertiesFriendlyName + description: Friendly name of Workspace. + protocol: {} + - &ref_13 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: WorkspacePropertiesApplicationGroupReferencesItem + description: '' + cli: + name: WorkspacePropertiesApplicationGroupReferencesItem + description: '' + protocol: {} + - &ref_94 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: CloudErrorCode + description: Error code + cli: + name: CloudErrorCode + description: Error code + protocol: {} + - &ref_95 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: CloudErrorMessage + description: Error message indicating why the operation failed. + cli: + name: CloudErrorMessage + description: Error message indicating why the operation failed. + protocol: {} + - &ref_96 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: WorkspacePatchPropertiesDescription + description: Description of Workspace. + cli: + name: WorkspacePatchPropertiesDescription + description: Description of Workspace. + protocol: {} + - &ref_97 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: WorkspacePatchPropertiesFriendlyName + description: Friendly name of Workspace. + cli: + name: WorkspacePatchPropertiesFriendlyName + description: Friendly name of Workspace. + protocol: {} + - &ref_98 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: WorkspacePatchPropertiesApplicationGroupReferencesItem + description: '' + cli: + name: WorkspacePatchPropertiesApplicationGroupReferencesItem + description: '' + protocol: {} + - &ref_99 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: WorkspaceListNextLink + description: Link to the next page of results. + cli: + name: WorkspaceListNextLink + description: Link to the next page of results. + protocol: {} + - &ref_180 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: String + description: '' + cli: + name: String + description: '' + protocol: {} + - &ref_14 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationGroupPropertiesDescription + description: Description of ApplicationGroup. + cli: + name: ApplicationGroupPropertiesDescription + description: Description of ApplicationGroup. + protocol: {} + - &ref_15 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationGroupPropertiesFriendlyName + description: Friendly name of ApplicationGroup. + cli: + name: ApplicationGroupPropertiesFriendlyName + description: Friendly name of ApplicationGroup. + protocol: {} + - &ref_16 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationGroupPropertiesHostPoolArmPath + description: HostPool arm path of ApplicationGroup. + cli: + name: ApplicationGroupPropertiesHostPoolArmPath + description: HostPool arm path of ApplicationGroup. + protocol: {} + - &ref_17 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationGroupPropertiesWorkspaceArmPath + description: Workspace arm path of ApplicationGroup. + cli: + name: ApplicationGroupPropertiesWorkspaceArmPath + description: Workspace arm path of ApplicationGroup. + protocol: {} + - &ref_100 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationGroupListNextLink + description: Link to the next page of results. + cli: + name: ApplicationGroupListNextLink + description: Link to the next page of results. + protocol: {} + - &ref_40 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationGroupPatchPropertiesDescription + description: Description of ApplicationGroup. + cli: + name: ApplicationGroupPatchPropertiesDescription + description: Description of ApplicationGroup. + protocol: {} + - &ref_41 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationGroupPatchPropertiesFriendlyName + description: Friendly name of ApplicationGroup. + cli: + name: ApplicationGroupPatchPropertiesFriendlyName + description: Friendly name of ApplicationGroup. + protocol: {} + - &ref_42 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: StartMenuItemPropertiesAppAlias + description: Alias of StartMenuItem. + cli: + name: StartMenuItemPropertiesAppAlias + description: Alias of StartMenuItem. + protocol: {} + - &ref_43 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: StartMenuItemPropertiesFriendlyName + description: Friendly name of StartMenuItem. + cli: + name: StartMenuItemPropertiesFriendlyName + description: Friendly name of StartMenuItem. + protocol: {} + - &ref_44 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: StartMenuItemPropertiesFilePath + description: Path to the file of StartMenuItem. + cli: + name: StartMenuItemPropertiesFilePath + description: Path to the file of StartMenuItem. + protocol: {} + - &ref_45 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: StartMenuItemPropertiesCommandLineArguments + description: Command line arguments for StartMenuItem. + cli: + name: StartMenuItemPropertiesCommandLineArguments + description: Command line arguments for StartMenuItem. + protocol: {} + - &ref_46 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: StartMenuItemPropertiesIconPath + description: Path to the icon. + cli: + name: StartMenuItemPropertiesIconPath + description: Path to the icon. + protocol: {} + - &ref_101 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: StartMenuItemListNextLink + description: Link to the next page of results. + cli: + name: StartMenuItemListNextLink + description: Link to the next page of results. + protocol: {} + - &ref_48 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationPropertiesDescription + description: Description of Application. + cli: + name: ApplicationPropertiesDescription + description: Description of Application. + protocol: {} + - &ref_49 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationPropertiesFriendlyName + description: Friendly name of Application. + cli: + name: ApplicationPropertiesFriendlyName + description: Friendly name of Application. + protocol: {} + - &ref_50 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationPropertiesFilePath + description: Specifies a path for the executable file for the application. + cli: + name: ApplicationPropertiesFilePath + description: Specifies a path for the executable file for the application. + protocol: {} + - &ref_52 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationPropertiesCommandLineArguments + description: Command Line Arguments for Application. + cli: + name: ApplicationPropertiesCommandLineArguments + description: Command Line Arguments for Application. + protocol: {} + - &ref_54 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationPropertiesIconPath + description: Path to icon. + cli: + name: ApplicationPropertiesIconPath + description: Path to icon. + protocol: {} + - &ref_55 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationPropertiesIconHash + description: Hash of the icon. + cli: + name: ApplicationPropertiesIconHash + description: Hash of the icon. + protocol: {} + - &ref_102 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationPatchPropertiesDescription + description: Description of Application. + cli: + name: ApplicationPatchPropertiesDescription + description: Description of Application. + protocol: {} + - &ref_103 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationPatchPropertiesFriendlyName + description: Friendly name of Application. + cli: + name: ApplicationPatchPropertiesFriendlyName + description: Friendly name of Application. + protocol: {} + - &ref_104 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationPatchPropertiesFilePath + description: Specifies a path for the executable file for the application. + cli: + name: ApplicationPatchPropertiesFilePath + description: Specifies a path for the executable file for the application. + protocol: {} + - &ref_105 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationPatchPropertiesCommandLineArguments + description: Command Line Arguments for Application. + cli: + name: ApplicationPatchPropertiesCommandLineArguments + description: Command Line Arguments for Application. + protocol: {} + - &ref_106 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationPatchPropertiesIconPath + description: Path to icon. + cli: + name: ApplicationPatchPropertiesIconPath + description: Path to icon. + protocol: {} + - &ref_107 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationListNextLink + description: Link to the next page of results. + cli: + name: ApplicationListNextLink + description: Link to the next page of results. + protocol: {} + - &ref_57 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: DesktopPropertiesDescription + description: Description of Desktop. + cli: + name: DesktopPropertiesDescription + description: Description of Desktop. + protocol: {} + - &ref_58 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: DesktopPropertiesFriendlyName + description: Friendly name of Desktop. + cli: + name: DesktopPropertiesFriendlyName + description: Friendly name of Desktop. + protocol: {} + - &ref_59 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: DesktopPropertiesIconHash + description: Hash of the icon. + cli: + name: DesktopPropertiesIconHash + description: Hash of the icon. + protocol: {} + - &ref_108 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: DesktopPatchPropertiesDescription + description: Description of Desktop. + cli: + name: DesktopPatchPropertiesDescription + description: Description of Desktop. + protocol: {} + - &ref_109 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: DesktopPatchPropertiesFriendlyName + description: Friendly name of Desktop. + cli: + name: DesktopPatchPropertiesFriendlyName + description: Friendly name of Desktop. + protocol: {} + - &ref_110 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: DesktopListNextLink + description: Link to the next page of results. + cli: + name: DesktopListNextLink + description: Link to the next page of results. + protocol: {} + - &ref_19 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolPropertiesFriendlyName + description: Friendly name of HostPool. + cli: + name: HostPoolPropertiesFriendlyName + description: Friendly name of HostPool. + protocol: {} + - &ref_20 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolPropertiesDescription + description: Description of HostPool. + cli: + name: HostPoolPropertiesDescription + description: Description of HostPool. + protocol: {} + - &ref_23 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolPropertiesCustomRdpProperty + description: Custom rdp property of HostPool. + cli: + name: HostPoolPropertiesCustomRdpProperty + description: Custom rdp property of HostPool. + protocol: {} + - &ref_29 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: RegistrationInfoToken + description: The registration token base64 encoded string. + cli: + name: RegistrationInfoToken + description: The registration token base64 encoded string. + protocol: {} + - &ref_31 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolPropertiesVmTemplate + description: VM template for sessionhosts configuration within hostpool. + cli: + name: HostPoolPropertiesVmTemplate + description: VM template for sessionhosts configuration within hostpool. + protocol: {} + - &ref_32 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolPropertiesApplicationGroupReferencesItem + description: '' + cli: + name: HostPoolPropertiesApplicationGroupReferencesItem + description: '' + protocol: {} + - &ref_33 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolPropertiesSsoContext + description: Path to keyvault containing ssoContext secret. + cli: + name: HostPoolPropertiesSsoContext + description: Path to keyvault containing ssoContext secret. + protocol: {} + - &ref_61 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolPatchPropertiesFriendlyName + description: Friendly name of HostPool. + cli: + name: HostPoolPatchPropertiesFriendlyName + description: Friendly name of HostPool. + protocol: {} + - &ref_62 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolPatchPropertiesDescription + description: Description of HostPool. + cli: + name: HostPoolPatchPropertiesDescription + description: Description of HostPool. + protocol: {} + - &ref_63 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolPatchPropertiesCustomRdpProperty + description: Custom rdp property of HostPool. + cli: + name: HostPoolPatchPropertiesCustomRdpProperty + description: Custom rdp property of HostPool. + protocol: {} + - &ref_64 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolPatchPropertiesSsoContext + description: Path to keyvault containing ssoContext secret. + cli: + name: HostPoolPatchPropertiesSsoContext + description: Path to keyvault containing ssoContext secret. + protocol: {} + - &ref_113 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolListNextLink + description: Link to the next page of results. + cli: + name: HostPoolListNextLink + description: Link to the next page of results. + protocol: {} + - &ref_65 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: UserSessionPropertiesUserPrincipalName + description: The user principal name. + cli: + name: UserSessionPropertiesUserPrincipalName + description: The user principal name. + protocol: {} + - &ref_68 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: UserSessionPropertiesActiveDirectoryUserName + description: The active directory user name. + cli: + name: UserSessionPropertiesActiveDirectoryUserName + description: The active directory user name. + protocol: {} + - &ref_114 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: UserSessionListNextLink + description: Link to the next page of results. + cli: + name: UserSessionListNextLink + description: Link to the next page of results. + protocol: {} + - &ref_402 + type: string + apiVersions: + - version: 2019-12-10-preview + maxLength: 48 + minLength: 3 + language: + default: + name: String + description: '' + cli: + name: String + description: '' + protocol: {} + - &ref_72 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostPropertiesAgentVersion + description: Version of agent on SessionHost. + cli: + name: SessionHostPropertiesAgentVersion + description: Version of agent on SessionHost. + protocol: {} + - &ref_74 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostPropertiesAssignedUser + description: User assigned to SessionHost. + cli: + name: SessionHostPropertiesAssignedUser + description: User assigned to SessionHost. + protocol: {} + - &ref_77 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostPropertiesOsVersion + description: The version of the OS on the session host. + cli: + name: SessionHostPropertiesOsVersion + description: The version of the OS on the session host. + protocol: {} + - &ref_78 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostPropertiesSxSStackVersion + description: The version of the side by side stack on the session host. + cli: + name: SessionHostPropertiesSxSStackVersion + description: The version of the side by side stack on the session host. + protocol: {} + - &ref_81 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostPropertiesUpdateErrorMessage + description: The error message. + cli: + name: SessionHostPropertiesUpdateErrorMessage + description: The error message. + protocol: {} + - &ref_82 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostPatchPropertiesAssignedUser + description: User assigned to SessionHost. + cli: + name: SessionHostPatchPropertiesAssignedUser + description: User assigned to SessionHost. + protocol: {} + - &ref_115 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostListNextLink + description: Link to the next page of results. + cli: + name: SessionHostListNextLink + description: Link to the next page of results. + protocol: {} + - &ref_403 + type: string + apiVersions: + - version: 2019-12-10-preview + maxLength: 24 + minLength: 1 + language: + default: + name: String + description: '' + cli: + name: String + description: '' + protocol: {} + - &ref_116 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SendMessageTitle + description: Title of message. + cli: + name: SendMessageTitle + description: Title of message. + protocol: {} + - &ref_117 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SendMessageBody + description: Body of message. + cli: + name: SendMessageBody + description: Body of message. + protocol: {} + choices: + - &ref_18 + choices: + - value: RemoteApp + language: + default: + name: remote_app + description: '' + cli: + name: RemoteApp + description: '' + cliKey: RemoteApp + - value: Desktop + language: + default: + name: desktop + description: '' + cli: + name: Desktop + description: '' + cliKey: Desktop + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: ApplicationGroupType + description: Resource Type of ApplicationGroup. + cli: + name: ApplicationGroupType + description: Resource Type of ApplicationGroup. + cliKey: ApplicationGroupType + protocol: {} + - &ref_51 + choices: + - value: DoNotAllow + language: + default: + name: do_not_allow + description: '' + cli: + name: DoNotAllow + description: '' + cliKey: DoNotAllow + - value: Allow + language: + default: + name: allow + description: '' + cli: + name: Allow + description: '' + cliKey: Allow + - value: Require + language: + default: + name: require + description: '' + cli: + name: Require + description: '' + cliKey: Require + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: CommandLineSetting + description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' + cli: + name: CommandLineSetting + description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' + cliKey: CommandLineSetting + protocol: {} + - &ref_21 + choices: + - value: Personal + language: + default: + name: personal + description: '' + cli: + name: Personal + description: '' + cliKey: Personal + - value: Pooled + language: + default: + name: pooled + description: '' + cli: + name: Pooled + description: '' + cliKey: Pooled + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: HostPoolType + description: HostPool type for desktop. + cli: + name: HostPoolType + description: HostPool type for desktop. + cliKey: HostPoolType + protocol: {} + - &ref_22 + choices: + - value: Automatic + language: + default: + name: automatic + description: '' + cli: + name: Automatic + description: '' + cliKey: Automatic + - value: Direct + language: + default: + name: direct + description: '' + cli: + name: Direct + description: '' + cliKey: Direct + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: PersonalDesktopAssignmentType + description: PersonalDesktopAssignment type for HostPool. + cli: + name: PersonalDesktopAssignmentType + description: PersonalDesktopAssignment type for HostPool. + cliKey: PersonalDesktopAssignmentType + protocol: {} + - &ref_25 + choices: + - value: BreadthFirst + language: + default: + name: breadth_first + description: '' + cli: + name: BreadthFirst + description: '' + cliKey: BreadthFirst + - value: DepthFirst + language: + default: + name: depth_first + description: '' + cli: + name: DepthFirst + description: '' + cliKey: DepthFirst + - value: Persistent + language: + default: + name: persistent + description: '' + cli: + name: Persistent + description: '' + cliKey: Persistent + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: LoadBalancerType + description: The type of the load balancer. + cli: + name: LoadBalancerType + description: The type of the load balancer. + cliKey: LoadBalancerType + protocol: {} + - &ref_30 + choices: + - value: Delete + language: + default: + name: delete + description: '' + cli: + name: Delete + description: '' + cliKey: Delete + - value: None + language: + default: + name: none + description: '' + cli: + name: None + description: '' + cliKey: None + - value: Update + language: + default: + name: update + description: '' + cli: + name: Update + description: '' + cliKey: Update + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: RegistrationTokenOperation + description: The type of resetting the token. + cli: + name: RegistrationTokenOperation + description: The type of resetting the token. + cliKey: RegistrationTokenOperation + protocol: {} + - &ref_66 + choices: + - value: RemoteApp + language: + default: + name: remote_app + description: '' + cli: + name: RemoteApp + description: '' + cliKey: RemoteApp + - value: Desktop + language: + default: + name: desktop + description: '' + cli: + name: Desktop + description: '' + cliKey: Desktop + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: ApplicationType + description: Application type of application. + cli: + name: ApplicationType + description: Application type of application. + cliKey: ApplicationType + protocol: {} + - &ref_67 + choices: + - value: Unknown + language: + default: + name: unknown + description: '' + cli: + name: Unknown + description: '' + cliKey: Unknown + - value: Active + language: + default: + name: active + description: '' + cli: + name: Active + description: '' + cliKey: Active + - value: Disconnected + language: + default: + name: disconnected + description: '' + cli: + name: Disconnected + description: '' + cliKey: Disconnected + - value: Pending + language: + default: + name: pending + description: '' + cli: + name: Pending + description: '' + cliKey: Pending + - value: LogOff + language: + default: + name: log_off + description: '' + cli: + name: LogOff + description: '' + cliKey: LogOff + - value: UserProfileDiskMounted + language: + default: + name: user_profile_disk_mounted + description: '' + cli: + name: UserProfileDiskMounted + description: '' + cliKey: UserProfileDiskMounted + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: SessionState + description: State of user session. + cli: + name: SessionState + description: State of user session. + cliKey: SessionState + protocol: {} + - &ref_75 + choices: + - value: Available + language: + default: + name: available + description: '' + cli: + name: Available + description: '' + cliKey: Available + - value: Unavailable + language: + default: + name: unavailable + description: '' + cli: + name: Unavailable + description: '' + cliKey: Unavailable + - value: Shutdown + language: + default: + name: shutdown + description: '' + cli: + name: Shutdown + description: '' + cliKey: Shutdown + - value: Disconnected + language: + default: + name: disconnected + description: '' + cli: + name: Disconnected + description: '' + cliKey: Disconnected + - value: Upgrading + language: + default: + name: upgrading + description: '' + cli: + name: Upgrading + description: '' + cliKey: Upgrading + - value: UpgradeFailed + language: + default: + name: upgrade_failed + description: '' + cli: + name: UpgradeFailed + description: '' + cliKey: UpgradeFailed + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: Status + description: Status for a SessionHost. + cli: + name: Status + description: Status for a SessionHost. + cliKey: Status + protocol: {} + - &ref_79 + choices: + - value: Initial + language: + default: + name: initial + description: '' + cli: + name: Initial + description: '' + cliKey: Initial + - value: Pending + language: + default: + name: pending + description: '' + cli: + name: Pending + description: '' + cliKey: Pending + - value: Started + language: + default: + name: started + description: '' + cli: + name: Started + description: '' + cliKey: Started + - value: Succeeded + language: + default: + name: succeeded + description: '' + cli: + name: Succeeded + description: '' + cliKey: Succeeded + - value: Failed + language: + default: + name: failed + description: '' + cli: + name: Failed + description: '' + cliKey: Failed + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: UpdateState + description: Update state of a SessionHost. + cli: + name: UpdateState + description: Update state of a SessionHost. + cliKey: UpdateState + protocol: {} + constants: + - &ref_131 + type: constant + value: + value: 2019-12-10-preview + valueType: *ref_0 + language: + default: + name: api_version2019_12_10_preview + description: Api Version (2019-12-10-preview) + cli: + name: ApiVersion20191210Preview + description: Api Version (2019-12-10-preview) + protocol: {} + - &ref_141 + type: constant + value: + value: application/json + valueType: *ref_0 + language: + default: + name: application_json + description: Content Type 'application/json' + cli: + name: ApplicationJson + description: Content Type 'application/json' + protocol: {} + dictionaries: + - &ref_37 + type: dictionary + elementType: *ref_1 + language: + default: + name: TrackedResourceTags + description: Resource tags. + cli: + name: TrackedResourceTags + description: Resource tags. + cli-complexity: dictionary_simple + cli-mark: checked + protocol: {} + any: + - &ref_39 + type: any + language: + default: + name: any + description: Any object + protocol: {} + byteArrays: + - &ref_56 + type: byte-array + format: byte + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: application_properties_icon_content + description: the icon a 64 bit string as a byte array. + protocol: {} + - &ref_60 + type: byte-array + format: byte + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: desktop_properties_icon_content + description: The icon a 64 bit string as a byte array. + protocol: {} + dateTimes: + - &ref_28 + type: date-time + format: date-time + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: registration_info_expiration_time + description: Expiration time of registration token. + protocol: {} + - &ref_69 + type: date-time + format: date-time + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: user_session_properties_create_time + description: The timestamp of the user session create. + protocol: {} + - &ref_70 + type: date-time + format: date-time + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: session_host_properties_last_heart_beat + description: Last heart beat from SessionHost. + protocol: {} + - &ref_76 + type: date-time + format: date-time + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: session_host_properties_status_timestamp + description: The timestamp of the status. + protocol: {} + - &ref_80 + type: date-time + format: date-time + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: session_host_properties_last_update_time + description: The timestamp of the last update. + protocol: {} + objects: + - &ref_134 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_118 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: &ref_7 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_2 + serializedName: name + language: + default: + name: name + description: 'Operation name, in format of {provider}/{resource}/{operation}' + cli: + name: name + description: 'Operation name, in format of {provider}/{resource}/{operation}' + cliKey: name + protocol: {} + - schema: &ref_8 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_3 + serializedName: provider + language: + default: + name: provider + description: 'Resource provider: Microsoft Desktop Virtualization.' + cli: + name: provider + description: 'Resource provider: Microsoft Desktop Virtualization.' + cliKey: provider + protocol: {} + - schema: *ref_4 + serializedName: resource + language: + default: + name: resource + description: Resource on which the operation is performed. + cli: + name: resource + description: Resource on which the operation is performed. + cliKey: resource + protocol: {} + - schema: *ref_5 + serializedName: operation + language: + default: + name: operation + description: 'Type of operation: get, read, delete, etc.' + cli: + name: operation + description: 'Type of operation: get, read, delete, etc.' + cliKey: operation + protocol: {} + - schema: *ref_6 + serializedName: description + language: + default: + name: description + description: Description of this operation. + cli: + name: description + description: Description of this operation. + cliKey: description + protocol: {} + serializationFormats: + - json + usage: + - output + language: + default: + name: ResourceProviderOperationDisplay + description: Display metadata associated with the operation. + namespace: '' + cli: + name: ResourceProviderOperationDisplay + description: Display metadata associated with the operation. + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 4 + propertyCountIfSimplifyWithoutSimpleObject: 4 + simplifiable: true + cliKey: ResourceProviderOperation-display + protocol: {} + serializedName: display + language: + default: + name: display + description: Display metadata associated with the operation. + cli: + name: display + description: Display metadata associated with the operation. + cliKey: display + protocol: {} + serializationFormats: + - json + usage: + - output + language: + default: + name: ResourceProviderOperation + description: Supported operation of this resource provider. + namespace: '' + cli: + name: ResourceProviderOperation + description: Supported operation of this resource provider. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 5 + propertyCountIfSimplifyWithoutSimpleObject: 2 + simplifiable: true + cliKey: ResourceProviderOperation + protocol: {} + language: + default: + name: ResourceProviderOperationListValue + description: List of operations supported by this resource provider. + cli: + name: ResourceProviderOperationListValue + description: List of operations supported by this resource provider. + cli-complexity: array_complex + cli-mark: checked + protocol: {} + serializedName: value + language: + default: + name: value + description: List of operations supported by this resource provider. + cli: + name: value + description: List of operations supported by this resource provider. + cliKey: value + protocol: {} + serializationFormats: + - json + usage: + - output + language: + default: + name: ResourceProviderOperationList + description: Result of the request to list operations. + namespace: '' + cli: + name: ResourceProviderOperationList + description: Result of the request to list operations. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ResourceProviderOperationList + protocol: {} + - *ref_7 + - *ref_8 + - &ref_10 + type: object + apiVersions: + - version: '1.0' + children: + all: + - &ref_9 + type: object + apiVersions: + - version: '1.0' + children: + all: + - &ref_34 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_9 + - *ref_10 + immediate: + - *ref_9 + properties: + - &ref_147 + schema: *ref_11 + flattenedNames: + - properties + - description + serializedName: description + language: + default: + name: description + description: Description of Workspace. + cli: &ref_148 + name: description + description: Description of Workspace. + cliKey: description + protocol: {} + - &ref_149 + schema: *ref_12 + flattenedNames: + - properties + - friendlyName + serializedName: friendlyName + language: + default: + name: friendly_name + description: Friendly name of Workspace. + cli: &ref_150 + name: friendlyName + description: Friendly name of Workspace. + cliKey: friendlyName + protocol: {} + - &ref_151 + schema: &ref_119 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_13 + language: + default: + name: WorkspacePropertiesApplicationGroupReferences + description: List of applicationGroup resource Ids. + cli: + name: WorkspacePropertiesApplicationGroupReferences + description: List of applicationGroup resource Ids. + cli-complexity: array_simple + cli-mark: checked + protocol: {} + flattenedNames: + - properties + - applicationGroupReferences + serializedName: applicationGroupReferences + language: + default: + name: application_group_references + description: List of applicationGroup resource Ids. + cli: &ref_152 + name: applicationGroupReferences + description: List of applicationGroup resource Ids. + cliKey: applicationGroupReferences + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: Workspace + description: Represents a Workspace definition. + namespace: '' + cli: + name: Workspace + description: Represents a Workspace definition. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: Workspace + protocol: {} + - &ref_35 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_9 + - *ref_10 + immediate: + - *ref_9 + properties: + - &ref_188 + schema: *ref_14 + flattenedNames: + - properties + - description + required: false + serializedName: description + language: + default: + name: description + description: Description of ApplicationGroup. + cli: &ref_189 + name: description + description: Description of ApplicationGroup. + cliKey: description + protocol: {} + - &ref_190 + schema: *ref_15 + flattenedNames: + - properties + - friendlyName + required: false + serializedName: friendlyName + language: + default: + name: friendly_name + description: Friendly name of ApplicationGroup. + cli: &ref_191 + name: friendlyName + description: Friendly name of ApplicationGroup. + cliKey: friendlyName + protocol: {} + - &ref_192 + schema: *ref_16 + flattenedNames: + - properties + - hostPoolArmPath + required: true + serializedName: hostPoolArmPath + language: + default: + name: host_pool_arm_path + description: HostPool arm path of ApplicationGroup. + cli: &ref_193 + name: hostPoolArmPath + description: HostPool arm path of ApplicationGroup. + cliKey: hostPoolArmPath + protocol: {} + - schema: *ref_17 + flattenedNames: + - properties + - workspaceArmPath + readOnly: true + required: false + serializedName: workspaceArmPath + language: + default: + name: workspace_arm_path + description: Workspace arm path of ApplicationGroup. + cli: + name: workspaceArmPath + description: Workspace arm path of ApplicationGroup. + cliKey: workspaceArmPath + protocol: {} + - &ref_194 + schema: *ref_18 + flattenedNames: + - properties + - applicationGroupType + required: true + serializedName: applicationGroupType + language: + default: + name: application_group_type + description: Resource Type of ApplicationGroup. + cli: &ref_195 + name: applicationGroupType + description: Resource Type of ApplicationGroup. + cliKey: applicationGroupType + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: ApplicationGroup + description: Represents a ApplicationGroup definition. + namespace: '' + cli: + name: ApplicationGroup + description: Represents a ApplicationGroup definition. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ApplicationGroup + protocol: {} + - &ref_36 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_9 + - *ref_10 + immediate: + - *ref_9 + properties: + - &ref_316 + schema: *ref_19 + flattenedNames: + - properties + - friendlyName + required: false + serializedName: friendlyName + language: + default: + name: friendly_name + description: Friendly name of HostPool. + cli: &ref_317 + name: friendlyName + description: Friendly name of HostPool. + cliKey: friendlyName + protocol: {} + - &ref_318 + schema: *ref_20 + flattenedNames: + - properties + - description + required: false + serializedName: description + language: + default: + name: description + description: Description of HostPool. + cli: &ref_319 + name: description + description: Description of HostPool. + cliKey: description + protocol: {} + - &ref_320 + schema: *ref_21 + flattenedNames: + - properties + - hostPoolType + required: true + serializedName: hostPoolType + language: + default: + name: host_pool_type + description: HostPool type for desktop. + cli: &ref_321 + name: hostPoolType + description: HostPool type for desktop. + cliKey: hostPoolType + protocol: {} + - &ref_322 + schema: *ref_22 + flattenedNames: + - properties + - personalDesktopAssignmentType + required: true + serializedName: personalDesktopAssignmentType + language: + default: + name: personal_desktop_assignment_type + description: PersonalDesktopAssignment type for HostPool. + cli: &ref_323 + name: personalDesktopAssignmentType + description: PersonalDesktopAssignment type for HostPool. + cliKey: personalDesktopAssignmentType + protocol: {} + - &ref_324 + schema: *ref_23 + flattenedNames: + - properties + - customRdpProperty + required: false + serializedName: customRdpProperty + language: + default: + name: custom_rdp_property + description: Custom rdp property of HostPool. + cli: &ref_325 + name: customRdpProperty + description: Custom rdp property of HostPool. + cliKey: customRdpProperty + protocol: {} + - &ref_326 + schema: *ref_24 + flattenedNames: + - properties + - maxSessionLimit + required: false + serializedName: maxSessionLimit + language: + default: + name: max_session_limit + description: The max session limit of HostPool. + cli: &ref_327 + name: maxSessionLimit + description: The max session limit of HostPool. + cliKey: maxSessionLimit + protocol: {} + - &ref_328 + schema: *ref_25 + flattenedNames: + - properties + - loadBalancerType + required: true + serializedName: loadBalancerType + language: + default: + name: load_balancer_type + description: The type of the load balancer. + cli: &ref_329 + name: loadBalancerType + description: The type of the load balancer. + cliKey: loadBalancerType + protocol: {} + - &ref_330 + schema: *ref_26 + flattenedNames: + - properties + - ring + required: false + serializedName: ring + language: + default: + name: ring + description: The ring number of HostPool. + cli: &ref_331 + name: ring + description: The ring number of HostPool. + cliKey: ring + protocol: {} + - &ref_332 + schema: *ref_27 + flattenedNames: + - properties + - validationEnvironment + required: false + serializedName: validationEnvironment + language: + default: + name: validation_environment + description: Is validation environment. + cli: &ref_333 + name: validationEnvironment + description: Is validation environment. + cliKey: validationEnvironment + protocol: {} + - &ref_334 + schema: &ref_111 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_28 + serializedName: expirationTime + language: + default: + name: expiration_time + description: Expiration time of registration token. + cli: + name: expirationTime + description: Expiration time of registration token. + cliKey: expirationTime + protocol: {} + - schema: *ref_29 + serializedName: token + language: + default: + name: token + description: The registration token base64 encoded string. + cli: + name: token + description: The registration token base64 encoded string. + cliKey: token + protocol: {} + - schema: *ref_30 + serializedName: registrationTokenOperation + language: + default: + name: registration_token_operation + description: The type of resetting the token. + cli: + name: registrationTokenOperation + description: The type of resetting the token. + cliKey: registrationTokenOperation + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: RegistrationInfo + description: Represents a RegistrationInfo definition. + namespace: '' + cli: + name: RegistrationInfo + description: Represents a RegistrationInfo definition. + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 3 + propertyCountIfSimplifyWithoutSimpleObject: 3 + simplifiable: true + cliKey: RegistrationInfo + protocol: {} + flattenedNames: + - properties + - registrationInfo + required: false + serializedName: registrationInfo + language: + default: + name: registration_info + description: The registration info of HostPool. + cli: &ref_335 + name: registrationInfo + description: The registration info of HostPool. + cliKey: registrationInfo + protocol: {} + - &ref_336 + schema: *ref_31 + flattenedNames: + - properties + - vmTemplate + required: false + serializedName: vmTemplate + language: + default: + name: vm_template + description: VM template for sessionhosts configuration within hostpool. + cli: &ref_337 + name: vmTemplate + description: VM template for sessionhosts configuration within hostpool. + cliKey: vmTemplate + protocol: {} + - schema: &ref_126 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_32 + language: + default: + name: HostPoolPropertiesApplicationGroupReferences + description: List of applicationGroup links. + cli: + name: HostPoolPropertiesApplicationGroupReferences + description: List of applicationGroup links. + cli-complexity: array_simple + cli-mark: checked + protocol: {} + flattenedNames: + - properties + - applicationGroupReferences + readOnly: true + required: false + serializedName: applicationGroupReferences + language: + default: + name: application_group_references + description: List of applicationGroup links. + cli: + name: applicationGroupReferences + description: List of applicationGroup links. + cliKey: applicationGroupReferences + protocol: {} + - &ref_338 + schema: *ref_33 + flattenedNames: + - properties + - ssoContext + required: false + serializedName: ssoContext + language: + default: + name: sso_context + description: Path to keyvault containing ssoContext secret. + cli: &ref_339 + name: ssoContext + description: Path to keyvault containing ssoContext secret. + cliKey: ssoContext + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: HostPool + description: Represents a HostPool definition. + namespace: '' + cli: + name: HostPool + description: Represents a HostPool definition. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: HostPool + protocol: {} + immediate: + - *ref_34 + - *ref_35 + - *ref_36 + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - &ref_143 + schema: *ref_37 + required: false + serializedName: tags + language: + default: + name: tags + description: Resource tags. + cli: &ref_144 + name: tags + description: Resource tags. + cliKey: tags + protocol: {} + - &ref_145 + schema: *ref_38 + required: true + serializedName: location + language: + default: + name: location + description: The geo-location where the resource lives + cli: &ref_146 + name: location + description: The geo-location where the resource lives + cliKey: location + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: TrackedResource + description: The resource model definition for a ARM tracked top level resource + namespace: '' + cli: + name: TrackedResource + description: The resource model definition for a ARM tracked top level resource + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: TrackedResource + protocol: {} + - *ref_34 + - *ref_35 + - &ref_83 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - &ref_207 + schema: *ref_39 + serializedName: tags + language: + default: + name: tags + description: tags to be updated + cli: &ref_208 + name: tags + description: tags to be updated + cliKey: tags + protocol: {} + - &ref_209 + schema: *ref_40 + flattenedNames: + - properties + - description + serializedName: description + language: + default: + name: description + description: Description of ApplicationGroup. + cli: &ref_210 + name: description + description: Description of ApplicationGroup. + cliKey: description + protocol: {} + - &ref_211 + schema: *ref_41 + flattenedNames: + - properties + - friendlyName + serializedName: friendlyName + language: + default: + name: friendly_name + description: Friendly name of ApplicationGroup. + cli: &ref_212 + name: friendlyName + description: Friendly name of ApplicationGroup. + cliKey: friendlyName + protocol: {} + serializationFormats: + - json + usage: + - input + - output + language: + default: + name: ApplicationGroupPatch + description: ApplicationGroup properties that can be patched. + namespace: '' + cli: + name: ApplicationGroupPatch + description: ApplicationGroup properties that can be patched. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ApplicationGroupPatch + protocol: {} + - &ref_84 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - schema: *ref_42 + flattenedNames: + - properties + - appAlias + serializedName: appAlias + language: + default: + name: app_alias + description: Alias of StartMenuItem. + cli: + name: appAlias + description: Alias of StartMenuItem. + cliKey: appAlias + protocol: {} + - schema: *ref_43 + flattenedNames: + - properties + - friendlyName + serializedName: friendlyName + language: + default: + name: friendly_name + description: Friendly name of StartMenuItem. + cli: + name: friendlyName + description: Friendly name of StartMenuItem. + cliKey: friendlyName + protocol: {} + - schema: *ref_44 + flattenedNames: + - properties + - filePath + serializedName: filePath + language: + default: + name: file_path + description: Path to the file of StartMenuItem. + cli: + name: filePath + description: Path to the file of StartMenuItem. + cliKey: filePath + protocol: {} + - schema: *ref_45 + flattenedNames: + - properties + - commandLineArguments + serializedName: commandLineArguments + language: + default: + name: command_line_arguments + description: Command line arguments for StartMenuItem. + cli: + name: commandLineArguments + description: Command line arguments for StartMenuItem. + cliKey: commandLineArguments + protocol: {} + - schema: *ref_46 + flattenedNames: + - properties + - iconPath + serializedName: iconPath + language: + default: + name: icon_path + description: Path to the icon. + cli: + name: iconPath + description: Path to the icon. + cliKey: iconPath + protocol: {} + - schema: *ref_47 + flattenedNames: + - properties + - iconIndex + serializedName: iconIndex + language: + default: + name: icon_index + description: Index of the icon. + cli: + name: iconIndex + description: Index of the icon. + cliKey: iconIndex + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: StartMenuItem + description: Represents a StartMenuItem definition. + namespace: '' + cli: + name: StartMenuItem + description: Represents a StartMenuItem definition. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 6 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: StartMenuItem + protocol: {} + - &ref_85 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - &ref_228 + schema: *ref_48 + flattenedNames: + - properties + - description + required: false + serializedName: description + language: + default: + name: description + description: Description of Application. + cli: &ref_229 + name: description + description: Description of Application. + cliKey: description + protocol: {} + - &ref_230 + schema: *ref_49 + flattenedNames: + - properties + - friendlyName + required: false + serializedName: friendlyName + language: + default: + name: friendly_name + description: Friendly name of Application. + cli: &ref_231 + name: friendlyName + description: Friendly name of Application. + cliKey: friendlyName + protocol: {} + - &ref_232 + schema: *ref_50 + flattenedNames: + - properties + - filePath + required: false + serializedName: filePath + language: + default: + name: file_path + description: Specifies a path for the executable file for the application. + cli: &ref_233 + name: filePath + description: Specifies a path for the executable file for the application. + cliKey: filePath + protocol: {} + - &ref_234 + schema: *ref_51 + flattenedNames: + - properties + - commandLineSetting + required: true + serializedName: commandLineSetting + language: + default: + name: command_line_setting + description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' + cli: &ref_235 + name: commandLineSetting + description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' + cliKey: commandLineSetting + protocol: {} + - &ref_236 + schema: *ref_52 + flattenedNames: + - properties + - commandLineArguments + required: false + serializedName: commandLineArguments + language: + default: + name: command_line_arguments + description: Command Line Arguments for Application. + cli: &ref_237 + name: commandLineArguments + description: Command Line Arguments for Application. + cliKey: commandLineArguments + protocol: {} + - &ref_238 + schema: *ref_53 + flattenedNames: + - properties + - showInPortal + required: false + serializedName: showInPortal + language: + default: + name: show_in_portal + description: Specifies whether to show the RemoteApp program in the RD Web Access server. + cli: &ref_239 + name: showInPortal + description: Specifies whether to show the RemoteApp program in the RD Web Access server. + cliKey: showInPortal + protocol: {} + - &ref_240 + schema: *ref_54 + flattenedNames: + - properties + - iconPath + required: false + serializedName: iconPath + language: + default: + name: icon_path + description: Path to icon. + cli: &ref_241 + name: iconPath + description: Path to icon. + cliKey: iconPath + protocol: {} + - &ref_242 + schema: *ref_47 + flattenedNames: + - properties + - iconIndex + required: false + serializedName: iconIndex + language: + default: + name: icon_index + description: Index of the icon. + cli: &ref_243 + name: iconIndex + description: Index of the icon. + cliKey: iconIndex + protocol: {} + - schema: *ref_55 + flattenedNames: + - properties + - iconHash + readOnly: true + required: false + serializedName: iconHash + language: + default: + name: icon_hash + description: Hash of the icon. + cli: + name: iconHash + description: Hash of the icon. + cliKey: iconHash + protocol: {} + - schema: *ref_56 + flattenedNames: + - properties + - iconContent + readOnly: true + required: false + serializedName: iconContent + language: + default: + name: icon_content + description: the icon a 64 bit string as a byte array. + cli: + name: iconContent + description: the icon a 64 bit string as a byte array. + cliKey: iconContent + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: Application + description: Schema for Application properties. + namespace: '' + cli: + name: Application + description: Schema for Application properties. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 8 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: Application + protocol: {} + - &ref_86 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - schema: *ref_57 + flattenedNames: + - properties + - description + serializedName: description + language: + default: + name: description + description: Description of Desktop. + cli: + name: description + description: Description of Desktop. + cliKey: description + protocol: {} + - schema: *ref_58 + flattenedNames: + - properties + - friendlyName + serializedName: friendlyName + language: + default: + name: friendly_name + description: Friendly name of Desktop. + cli: + name: friendlyName + description: Friendly name of Desktop. + cliKey: friendlyName + protocol: {} + - schema: *ref_59 + flattenedNames: + - properties + - iconHash + readOnly: true + serializedName: iconHash + language: + default: + name: icon_hash + description: Hash of the icon. + cli: + name: iconHash + description: Hash of the icon. + cliKey: iconHash + protocol: {} + - schema: *ref_60 + flattenedNames: + - properties + - iconContent + readOnly: true + serializedName: iconContent + language: + default: + name: icon_content + description: The icon a 64 bit string as a byte array. + cli: + name: iconContent + description: The icon a 64 bit string as a byte array. + cliKey: iconContent + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: Desktop + description: Schema for Desktop properties. + namespace: '' + cli: + name: Desktop + description: Schema for Desktop properties. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: Desktop + protocol: {} + - *ref_36 + - &ref_87 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - &ref_361 + schema: *ref_39 + serializedName: tags + language: + default: + name: tags + description: tags to be updated + cli: &ref_362 + name: tags + description: tags to be updated + cliKey: tags + protocol: {} + - &ref_363 + schema: *ref_61 + flattenedNames: + - properties + - friendlyName + serializedName: friendlyName + language: + default: + name: friendly_name + description: Friendly name of HostPool. + cli: &ref_364 + name: friendlyName + description: Friendly name of HostPool. + cliKey: friendlyName + protocol: {} + - &ref_365 + schema: *ref_62 + flattenedNames: + - properties + - description + serializedName: description + language: + default: + name: description + description: Description of HostPool. + cli: &ref_366 + name: description + description: Description of HostPool. + cliKey: description + protocol: {} + - &ref_367 + schema: *ref_63 + flattenedNames: + - properties + - customRdpProperty + serializedName: customRdpProperty + language: + default: + name: custom_rdp_property + description: Custom rdp property of HostPool. + cli: &ref_368 + name: customRdpProperty + description: Custom rdp property of HostPool. + cliKey: customRdpProperty + protocol: {} + - &ref_369 + schema: *ref_24 + flattenedNames: + - properties + - maxSessionLimit + serializedName: maxSessionLimit + language: + default: + name: max_session_limit + description: The max session limit of HostPool. + cli: &ref_370 + name: maxSessionLimit + description: The max session limit of HostPool. + cliKey: maxSessionLimit + protocol: {} + - &ref_371 + schema: *ref_22 + flattenedNames: + - properties + - personalDesktopAssignmentType + serializedName: personalDesktopAssignmentType + language: + default: + name: personal_desktop_assignment_type + description: PersonalDesktopAssignment type for HostPool. + cli: &ref_372 + name: personalDesktopAssignmentType + description: PersonalDesktopAssignment type for HostPool. + cliKey: personalDesktopAssignmentType + protocol: {} + - &ref_373 + schema: *ref_25 + flattenedNames: + - properties + - loadBalancerType + serializedName: loadBalancerType + language: + default: + name: load_balancer_type + description: The type of the load balancer. + cli: &ref_374 + name: loadBalancerType + description: The type of the load balancer. + cliKey: loadBalancerType + protocol: {} + - &ref_375 + schema: *ref_26 + flattenedNames: + - properties + - ring + serializedName: ring + language: + default: + name: ring + description: The ring number of HostPool. + cli: &ref_376 + name: ring + description: The ring number of HostPool. + cliKey: ring + protocol: {} + - &ref_377 + schema: *ref_27 + flattenedNames: + - properties + - validationEnvironment + serializedName: validationEnvironment + language: + default: + name: validation_environment + description: Is validation environment. + cli: &ref_378 + name: validationEnvironment + description: Is validation environment. + cliKey: validationEnvironment + protocol: {} + - &ref_379 + schema: &ref_112 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_30 + serializedName: registrationTokenOperation + language: + default: + name: registration_token_operation + description: The type of resetting the token. + cli: + name: registrationTokenOperation + description: The type of resetting the token. + cliKey: registrationTokenOperation + protocol: {} + serializationFormats: + - json + usage: + - input + - output + language: + default: + name: RegistrationInfoPatch + description: Represents a RegistrationInfo definition. + namespace: '' + cli: + name: RegistrationInfoPatch + description: Represents a RegistrationInfo definition. + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 1 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: RegistrationInfoPatch + protocol: {} + flattenedNames: + - properties + - registrationInfo + serializedName: registrationInfo + language: + default: + name: registration_info + description: The registration info of HostPool. + cli: &ref_380 + name: registrationInfo + description: The registration info of HostPool. + cliKey: registrationInfo + protocol: {} + - &ref_381 + schema: *ref_64 + flattenedNames: + - properties + - ssoContext + serializedName: ssoContext + language: + default: + name: sso_context + description: Path to keyvault containing ssoContext secret. + cli: &ref_382 + name: ssoContext + description: Path to keyvault containing ssoContext secret. + cliKey: ssoContext + protocol: {} + serializationFormats: + - json + usage: + - input + - output + language: + default: + name: HostPoolPatch + description: HostPool properties that can be patched. + namespace: '' + cli: + name: HostPoolPatch + description: HostPool properties that can be patched. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: HostPoolPatch + protocol: {} + - &ref_88 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - schema: *ref_65 + flattenedNames: + - properties + - userPrincipalName + serializedName: userPrincipalName + language: + default: + name: user_principal_name + description: The user principal name. + cli: + name: userPrincipalName + description: The user principal name. + cliKey: userPrincipalName + protocol: {} + - schema: *ref_66 + flattenedNames: + - properties + - applicationType + serializedName: applicationType + language: + default: + name: application_type + description: Application type of application. + cli: + name: applicationType + description: Application type of application. + cliKey: applicationType + protocol: {} + - schema: *ref_67 + flattenedNames: + - properties + - sessionState + serializedName: sessionState + language: + default: + name: session_state + description: State of user session. + cli: + name: sessionState + description: State of user session. + cliKey: sessionState + protocol: {} + - schema: *ref_68 + flattenedNames: + - properties + - activeDirectoryUserName + serializedName: activeDirectoryUserName + language: + default: + name: active_directory_user_name + description: The active directory user name. + cli: + name: activeDirectoryUserName + description: The active directory user name. + cliKey: activeDirectoryUserName + protocol: {} + - schema: *ref_69 + flattenedNames: + - properties + - createTime + serializedName: createTime + language: + default: + name: create_time + description: The timestamp of the user session create. + cli: + name: createTime + description: The timestamp of the user session create. + cliKey: createTime + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: UserSession + description: Represents a UserSession definition. + namespace: '' + cli: + name: UserSession + description: Represents a UserSession definition. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 5 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: UserSession + protocol: {} + - &ref_89 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - schema: *ref_70 + flattenedNames: + - properties + - lastHeartBeat + serializedName: lastHeartBeat + language: + default: + name: last_heart_beat + description: Last heart beat from SessionHost. + cli: + name: lastHeartBeat + description: Last heart beat from SessionHost. + cliKey: lastHeartBeat + protocol: {} + - schema: *ref_71 + flattenedNames: + - properties + - sessions + serializedName: sessions + language: + default: + name: sessions + description: Number of sessions on SessionHost. + cli: + name: sessions + description: Number of sessions on SessionHost. + cliKey: sessions + protocol: {} + - schema: *ref_72 + flattenedNames: + - properties + - agentVersion + serializedName: agentVersion + language: + default: + name: agent_version + description: Version of agent on SessionHost. + cli: + name: agentVersion + description: Version of agent on SessionHost. + cliKey: agentVersion + protocol: {} + - schema: *ref_73 + flattenedNames: + - properties + - allowNewSession + serializedName: allowNewSession + language: + default: + name: allow_new_session + description: Allow a new session. + cli: + name: allowNewSession + description: Allow a new session. + cliKey: allowNewSession + protocol: {} + - schema: *ref_74 + flattenedNames: + - properties + - assignedUser + serializedName: assignedUser + language: + default: + name: assigned_user + description: User assigned to SessionHost. + cli: + name: assignedUser + description: User assigned to SessionHost. + cliKey: assignedUser + protocol: {} + - schema: *ref_75 + flattenedNames: + - properties + - status + serializedName: status + language: + default: + name: status + description: Status for a SessionHost. + cli: + name: status + description: Status for a SessionHost. + cliKey: status + protocol: {} + - schema: *ref_76 + flattenedNames: + - properties + - statusTimestamp + readOnly: true + serializedName: statusTimestamp + language: + default: + name: status_timestamp + description: The timestamp of the status. + cli: + name: statusTimestamp + description: The timestamp of the status. + cliKey: statusTimestamp + protocol: {} + - schema: *ref_77 + flattenedNames: + - properties + - osVersion + serializedName: osVersion + language: + default: + name: os_version + description: The version of the OS on the session host. + cli: + name: osVersion + description: The version of the OS on the session host. + cliKey: osVersion + protocol: {} + - schema: *ref_78 + flattenedNames: + - properties + - sxSStackVersion + serializedName: sxSStackVersion + language: + default: + name: sx_s_stack_version + description: The version of the side by side stack on the session host. + cli: + name: sxSStackVersion + description: The version of the side by side stack on the session host. + cliKey: sxSStackVersion + protocol: {} + - schema: *ref_79 + flattenedNames: + - properties + - updateState + serializedName: updateState + language: + default: + name: update_state + description: Update state of a SessionHost. + cli: + name: updateState + description: Update state of a SessionHost. + cliKey: updateState + protocol: {} + - schema: *ref_80 + flattenedNames: + - properties + - lastUpdateTime + readOnly: true + serializedName: lastUpdateTime + language: + default: + name: last_update_time + description: The timestamp of the last update. + cli: + name: lastUpdateTime + description: The timestamp of the last update. + cliKey: lastUpdateTime + protocol: {} + - schema: *ref_81 + flattenedNames: + - properties + - updateErrorMessage + serializedName: updateErrorMessage + language: + default: + name: update_error_message + description: The error message. + cli: + name: updateErrorMessage + description: The error message. + cliKey: updateErrorMessage + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: SessionHost + description: Represents a SessionHost definition. + namespace: '' + cli: + name: SessionHost + description: Represents a SessionHost definition. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: SessionHost + protocol: {} + - &ref_90 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - &ref_440 + schema: *ref_73 + flattenedNames: + - properties + - allowNewSession + serializedName: allowNewSession + language: + default: + name: allow_new_session + description: Allow a new session. + cli: &ref_441 + name: allowNewSession + description: Allow a new session. + cliKey: allowNewSession + protocol: {} + - &ref_442 + schema: *ref_82 + flattenedNames: + - properties + - assignedUser + serializedName: assignedUser + language: + default: + name: assigned_user + description: User assigned to SessionHost. + cli: &ref_443 + name: assignedUser + description: User assigned to SessionHost. + cliKey: assignedUser + protocol: {} + serializationFormats: + - json + usage: + - input + - output + language: + default: + name: SessionHostPatch + description: SessionHost properties that can be patched. + namespace: '' + cli: + name: SessionHostPatch + description: SessionHost properties that can be patched. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: SessionHostPatch + protocol: {} + immediate: + - *ref_9 + - *ref_83 + - *ref_84 + - *ref_85 + - *ref_86 + - *ref_87 + - *ref_88 + - *ref_89 + - *ref_90 + properties: + - schema: *ref_91 + readOnly: true + serializedName: id + language: + default: + name: id + description: 'Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' + cli: + name: id + description: 'Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' + cliKey: id + protocol: {} + - schema: *ref_92 + readOnly: true + serializedName: name + language: + default: + name: name + description: The name of the resource + cli: + name: name + description: The name of the resource + cliKey: name + protocol: {} + - schema: *ref_93 + readOnly: true + serializedName: type + language: + default: + name: type + description: The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + cli: + name: type + description: The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + cliKey: type + protocol: {} + serializationFormats: + - json + usage: + - output + - input + extensions: + x-ms-azure-resource: true + language: + default: + name: Resource + description: '' + namespace: '' + cli: + name: Resource + description: '' + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 0 + propertyCountIfSimplifyWithoutSimpleObject: 0 + simplifiable: true + cliKey: Resource + protocol: {} + - *ref_9 + - *ref_34 + - &ref_140 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_94 + serializedName: code + language: + default: + name: code + description: Error code + cli: + name: code + description: Error code + cliKey: code + protocol: {} + - schema: *ref_95 + serializedName: message + language: + default: + name: message + description: Error message indicating why the operation failed. + cli: + name: message + description: Error message indicating why the operation failed. + cliKey: message + protocol: {} + serializationFormats: + - json + usage: + - output + language: + default: + name: CloudError + description: Error response of an operation failure + namespace: '' + cli: + name: CloudError + description: Error response of an operation failure + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 2 + simplifiable: true + cliKey: CloudError + protocol: {} + - &ref_162 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - &ref_164 + schema: *ref_39 + serializedName: tags + language: + default: + name: tags + description: tags to be updated + cli: &ref_165 + name: tags + description: tags to be updated + cliKey: tags + protocol: {} + - &ref_166 + schema: *ref_96 + flattenedNames: + - properties + - description + serializedName: description + language: + default: + name: description + description: Description of Workspace. + cli: &ref_167 + name: description + description: Description of Workspace. + cliKey: description + protocol: {} + - &ref_168 + schema: *ref_97 + flattenedNames: + - properties + - friendlyName + serializedName: friendlyName + language: + default: + name: friendly_name + description: Friendly name of Workspace. + cli: &ref_169 + name: friendlyName + description: Friendly name of Workspace. + cliKey: friendlyName + protocol: {} + - &ref_170 + schema: &ref_120 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_98 + language: + default: + name: WorkspacePatchPropertiesApplicationGroupReferences + description: List of applicationGroup links. + cli: + name: WorkspacePatchPropertiesApplicationGroupReferences + description: List of applicationGroup links. + cli-complexity: array_simple + cli-mark: checked + protocol: {} + flattenedNames: + - properties + - applicationGroupReferences + serializedName: applicationGroupReferences + language: + default: + name: application_group_references + description: List of applicationGroup links. + cli: &ref_171 + name: applicationGroupReferences + description: List of applicationGroup links. + cliKey: applicationGroupReferences + protocol: {} + serializationFormats: + - json + usage: + - input + language: + default: + name: WorkspacePatch + description: Workspace properties that can be patched. + namespace: '' + cli: + name: WorkspacePatch + description: Workspace properties that can be patched. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: WorkspacePatch + protocol: {} + - &ref_179 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_121 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_34 + language: + default: + name: WorkspaceListValue + description: List of Workspace definitions. + cli: + name: WorkspaceListValue + description: List of Workspace definitions. + cli-complexity: array_complex + cli-mark: checked + protocol: {} + serializedName: value + language: + default: + name: value + description: List of Workspace definitions. + cli: + name: value + description: List of Workspace definitions. + cliKey: value + protocol: {} + - schema: *ref_99 + readOnly: true + serializedName: nextLink + language: + default: + name: next_link + description: Link to the next page of results. + cli: + name: nextLink + description: Link to the next page of results. + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: WorkspaceList + usage: + - output + language: + default: + name: WorkspaceList + description: List of Workspace definitions. + namespace: '' + summary: WorkspaceList + cli: + name: WorkspaceList + description: List of Workspace definitions. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: WorkspaceList + protocol: {} + - &ref_184 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_122 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_35 + language: + default: + name: ApplicationGroupListValue + description: List of ApplicationGroup definitions. + cli: + name: ApplicationGroupListValue + description: List of ApplicationGroup definitions. + cli-complexity: array_complex + cli-mark: checked + protocol: {} + serializedName: value + language: + default: + name: value + description: List of ApplicationGroup definitions. + cli: + name: value + description: List of ApplicationGroup definitions. + cliKey: value + protocol: {} + - schema: *ref_100 + readOnly: true + serializedName: nextLink + language: + default: + name: next_link + description: Link to the next page of results. + cli: + name: nextLink + description: Link to the next page of results. + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: ApplicationGroupList + usage: + - output + language: + default: + name: ApplicationGroupList + description: List of ApplicationGroup definitions. + namespace: '' + summary: ApplicationGroupList + cli: + name: ApplicationGroupList + description: List of ApplicationGroup definitions. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ApplicationGroupList + protocol: {} + - *ref_35 + - *ref_83 + - &ref_223 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_123 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_84 + language: + default: + name: StartMenuItemListValue + description: List of StartMenuItem definitions. + cli: + name: StartMenuItemListValue + description: List of StartMenuItem definitions. + cli-complexity: array_complex + cli-mark: checked + protocol: {} + serializedName: value + language: + default: + name: value + description: List of StartMenuItem definitions. + cli: + name: value + description: List of StartMenuItem definitions. + cliKey: value + protocol: {} + - schema: *ref_101 + readOnly: true + serializedName: nextLink + language: + default: + name: next_link + description: Link to the next page of results. + cli: + name: nextLink + description: Link to the next page of results. + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: StartMenuItemList + usage: + - output + language: + default: + name: StartMenuItemList + description: List of StartMenuItem definitions. + namespace: '' + summary: StartMenuItemList + cli: + name: StartMenuItemList + description: List of StartMenuItem definitions. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: StartMenuItemList + protocol: {} + - *ref_84 + - *ref_85 + - &ref_258 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - &ref_260 + schema: *ref_39 + serializedName: tags + language: + default: + name: tags + description: tags to be updated + cli: &ref_261 + name: tags + description: tags to be updated + cliKey: tags + protocol: {} + - &ref_262 + schema: *ref_102 + flattenedNames: + - properties + - description + serializedName: description + language: + default: + name: description + description: Description of Application. + cli: &ref_263 + name: description + description: Description of Application. + cliKey: description + protocol: {} + - &ref_264 + schema: *ref_103 + flattenedNames: + - properties + - friendlyName + serializedName: friendlyName + language: + default: + name: friendly_name + description: Friendly name of Application. + cli: &ref_265 + name: friendlyName + description: Friendly name of Application. + cliKey: friendlyName + protocol: {} + - &ref_266 + schema: *ref_104 + flattenedNames: + - properties + - filePath + serializedName: filePath + language: + default: + name: file_path + description: Specifies a path for the executable file for the application. + cli: &ref_267 + name: filePath + description: Specifies a path for the executable file for the application. + cliKey: filePath + protocol: {} + - &ref_268 + schema: *ref_51 + flattenedNames: + - properties + - commandLineSetting + serializedName: commandLineSetting + language: + default: + name: command_line_setting + description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' + cli: &ref_269 + name: commandLineSetting + description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' + cliKey: commandLineSetting + protocol: {} + - &ref_270 + schema: *ref_105 + flattenedNames: + - properties + - commandLineArguments + serializedName: commandLineArguments + language: + default: + name: command_line_arguments + description: Command Line Arguments for Application. + cli: &ref_271 + name: commandLineArguments + description: Command Line Arguments for Application. + cliKey: commandLineArguments + protocol: {} + - &ref_272 + schema: *ref_53 + flattenedNames: + - properties + - showInPortal + serializedName: showInPortal + language: + default: + name: show_in_portal + description: Specifies whether to show the RemoteApp program in the RD Web Access server. + cli: &ref_273 + name: showInPortal + description: Specifies whether to show the RemoteApp program in the RD Web Access server. + cliKey: showInPortal + protocol: {} + - &ref_274 + schema: *ref_106 + flattenedNames: + - properties + - iconPath + serializedName: iconPath + language: + default: + name: icon_path + description: Path to icon. + cli: &ref_275 + name: iconPath + description: Path to icon. + cliKey: iconPath + protocol: {} + - &ref_276 + schema: *ref_47 + flattenedNames: + - properties + - iconIndex + serializedName: iconIndex + language: + default: + name: icon_index + description: Index of the icon. + cli: &ref_277 + name: iconIndex + description: Index of the icon. + cliKey: iconIndex + protocol: {} + serializationFormats: + - json + usage: + - input + language: + default: + name: ApplicationPatch + description: Application properties that can be patched. + namespace: '' + cli: + name: ApplicationPatch + description: Application properties that can be patched. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ApplicationPatch + protocol: {} + - &ref_292 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_124 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_85 + language: + default: + name: ApplicationListValue + description: List of Application definitions. + cli: + name: ApplicationListValue + description: List of Application definitions. + cli-complexity: array_complex + cli-mark: checked + protocol: {} + serializedName: value + language: + default: + name: value + description: List of Application definitions. + cli: + name: value + description: List of Application definitions. + cliKey: value + protocol: {} + - schema: *ref_107 + readOnly: true + serializedName: nextLink + language: + default: + name: next_link + description: Link to the next page of results. + cli: + name: nextLink + description: Link to the next page of results. + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: ApplicationList + usage: + - output + language: + default: + name: ApplicationList + description: List of Application definitions. + namespace: '' + summary: ApplicationList + cli: + name: ApplicationList + description: List of Application definitions. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ApplicationList + protocol: {} + - *ref_86 + - &ref_296 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - &ref_298 + schema: *ref_39 + serializedName: tags + language: + default: + name: tags + description: tags to be updated + cli: &ref_299 + name: tags + description: tags to be updated + cliKey: tags + protocol: {} + - &ref_300 + schema: *ref_108 + flattenedNames: + - properties + - description + serializedName: description + language: + default: + name: description + description: Description of Desktop. + cli: &ref_301 + name: description + description: Description of Desktop. + cliKey: description + protocol: {} + - &ref_302 + schema: *ref_109 + flattenedNames: + - properties + - friendlyName + serializedName: friendlyName + language: + default: + name: friendly_name + description: Friendly name of Desktop. + cli: &ref_303 + name: friendlyName + description: Friendly name of Desktop. + cliKey: friendlyName + protocol: {} + serializationFormats: + - json + usage: + - input + language: + default: + name: DesktopPatch + description: Desktop properties that can be patched. + namespace: '' + cli: + name: DesktopPatch + description: Desktop properties that can be patched. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: DesktopPatch + protocol: {} + - &ref_312 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_125 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_86 + language: + default: + name: DesktopListValue + description: List of Desktop definitions. + cli: + name: DesktopListValue + description: List of Desktop definitions. + cli-complexity: array_complex + cli-mark: checked + protocol: {} + serializedName: value + language: + default: + name: value + description: List of Desktop definitions. + cli: + name: value + description: List of Desktop definitions. + cliKey: value + protocol: {} + - schema: *ref_110 + readOnly: true + serializedName: nextLink + language: + default: + name: next_link + description: Link to the next page of results. + cli: + name: nextLink + description: Link to the next page of results. + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: DesktopList + usage: + - output + language: + default: + name: DesktopList + description: List of Desktop definitions. + namespace: '' + summary: DesktopList + cli: + name: DesktopList + description: List of Desktop definitions. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: DesktopList + protocol: {} + - *ref_36 + - *ref_111 + - *ref_87 + - *ref_112 + - &ref_397 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_127 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_36 + language: + default: + name: HostPoolListValue + description: List of HostPool definitions. + cli: + name: HostPoolListValue + description: List of HostPool definitions. + cli-complexity: array_complex + cli-mark: checked + protocol: {} + serializedName: value + language: + default: + name: value + description: List of HostPool definitions. + cli: + name: value + description: List of HostPool definitions. + cliKey: value + protocol: {} + - schema: *ref_113 + readOnly: true + serializedName: nextLink + language: + default: + name: next_link + description: Link to the next page of results. + cli: + name: nextLink + description: Link to the next page of results. + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: HostPoolList + usage: + - output + language: + default: + name: HostPoolList + description: List of HostPool definitions. + namespace: '' + summary: HostPoolList + cli: + name: HostPoolList + description: List of HostPool definitions. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: HostPoolList + protocol: {} + - &ref_401 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_128 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_88 + language: + default: + name: UserSessionListValue + description: List of UserSession definitions. + cli: + name: UserSessionListValue + description: List of UserSession definitions. + cli-complexity: array_complex + cli-mark: checked + protocol: {} + serializedName: value + language: + default: + name: value + description: List of UserSession definitions. + cli: + name: value + description: List of UserSession definitions. + cliKey: value + protocol: {} + - schema: *ref_114 + readOnly: true + serializedName: nextLink + language: + default: + name: next_link + description: Link to the next page of results. + cli: + name: nextLink + description: Link to the next page of results. + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: UserSessionList + usage: + - output + language: + default: + name: UserSessionList + description: List of UserSession definitions. + namespace: '' + summary: UserSessionList + cli: + name: UserSessionList + description: List of UserSession definitions. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: UserSessionList + protocol: {} + - *ref_88 + - *ref_89 + - *ref_90 + - &ref_451 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_129 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_89 + language: + default: + name: SessionHostListValue + description: List of SessionHost definitions. + cli: + name: SessionHostListValue + description: List of SessionHost definitions. + cli-complexity: array_complex + cli-mark: checked + protocol: {} + serializedName: value + language: + default: + name: value + description: List of SessionHost definitions. + cli: + name: value + description: List of SessionHost definitions. + cliKey: value + protocol: {} + - schema: *ref_115 + readOnly: true + serializedName: nextLink + language: + default: + name: next_link + description: Link to the next page of results. + cli: + name: nextLink + description: Link to the next page of results. + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: SessionHostList + usage: + - output + language: + default: + name: SessionHostList + description: List of SessionHost definitions. + namespace: '' + summary: SessionHostList + cli: + name: SessionHostList + description: List of SessionHost definitions. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: SessionHostList + protocol: {} + - &ref_420 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - &ref_422 + schema: *ref_116 + serializedName: messageTitle + language: + default: + name: message_title + description: Title of message. + cli: &ref_423 + name: messageTitle + description: Title of message. + cliKey: messageTitle + protocol: {} + - &ref_424 + schema: *ref_117 + serializedName: messageBody + language: + default: + name: message_body + description: Body of message. + cli: &ref_425 + name: messageBody + description: Body of message. + cliKey: messageBody + protocol: {} + serializationFormats: + - json + usage: + - input + language: + default: + name: SendMessage + description: Represents message sent to a UserSession. + namespace: '' + cli: + name: SendMessage + description: Represents message sent to a UserSession. + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 2 + simplifiable: true + cliKey: SendMessage + protocol: {} + arrays: + - *ref_118 + - *ref_119 + - *ref_120 + - *ref_121 + - *ref_122 + - *ref_123 + - *ref_124 + - *ref_125 + - *ref_126 + - *ref_127 + - *ref_128 + - *ref_129 +globalParameters: + - &ref_135 + schema: *ref_130 + implementation: Client + required: true + extensions: + x-ms-priority: 0 + language: + default: + name: subscription_id + description: The ID of the target subscription. + serializedName: subscriptionId + cli: + name: subscriptionId + description: The ID of the target subscription. + cliKey: subscriptionId + protocol: + http: + in: path + - &ref_132 + schema: *ref_0 + clientDefaultValue: 'https://management.azure.com' + implementation: Client + origin: 'modelerfour:synthesized/host' + required: true + extensions: + x-ms-skip-url-encoding: true + language: + default: + name: $host + description: server parameter + serializedName: $host + cli: + name: $host + description: server parameter + cliKey: $host + protocol: + http: + in: uri + - &ref_133 + schema: *ref_131 + implementation: Client + origin: 'modelerfour:synthesized/api-version' + required: true + language: + default: + name: api_version + description: Api Version + serializedName: api-version + cli: + name: ApiVersion + description: Api Version + cliKey: ApiVersion + protocol: + http: + in: query +operationGroups: + - $key: Operations + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: /providers/Microsoft.DesktopVirtualization/operations + method: get + uri: '{$host}' + signatureParameters: [] + responses: + - schema: *ref_134 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + extensions: + x-ms-examples: + OperationDescription_List: + parameters: + api-version: 2019-12-10-preview + responses: + '200': + body: + value: + - name: Microsoft.DesktopVirtualization/ssocontext/read + display: + provider: Microsoft.DesktopVirtualization + resource: ssocontext + - name: Microsoft.DesktopVirtualization/ssocontext/write + display: + provider: Microsoft.DesktopVirtualization + resource: ssocontext + language: + default: + name: list + description: List all of the available operations the Desktop Virtualization resource provider supports. + cli: + name: List + description: List all of the available operations the Desktop Virtualization resource provider supports. + cliKey: List + hidden: true + protocol: {} + language: + default: + name: Operation + description: '' + cli: + name: Operation + description: '' + cliKey: Operations + protocol: {} + - $key: Workspaces + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_138 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_139 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: workspace_name + description: The name of the workspace + serializedName: workspaceName + cli: + name: workspaceName + description: The name of the workspace + cliKey: workspaceName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_138 + - *ref_139 + responses: + - schema: *ref_34 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Workspace_Get: + parameters: + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + workspaceName: workspace1 + responses: + '200': + body: + name: workspace1 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + language: + default: + name: get + description: Get a workspace. + cli: + name: Get + description: Get a workspace. + cliKey: Get + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_158 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_159 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: workspace_name + description: The name of the workspace + serializedName: workspaceName + cli: + name: workspaceName + description: The name of the workspace + cliKey: workspaceName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_141 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content_type + description: Body Parameter content-type + serializedName: Content-Type + cli: + name: ContentType + description: Body Parameter content-type + cliKey: content-type + protocol: + http: + in: header + - &ref_142 + schema: *ref_34 + flattened: true + implementation: Method + required: true + extensions: + x-ms-client-flatten: true + language: + default: + name: _workspace + description: Object containing Workspace definitions. + cli: + name: _workspace + description: Object containing Workspace definitions. + cliKey: workspace + protocol: + http: + in: body + style: json + - &ref_153 + schema: *ref_37 + implementation: Method + originalParameter: *ref_142 + pathToProperty: [] + required: false + targetProperty: *ref_143 + language: + default: + name: tags + description: Resource tags. + cli: *ref_144 + protocol: {} + - &ref_154 + schema: *ref_38 + implementation: Method + originalParameter: *ref_142 + pathToProperty: [] + required: true + targetProperty: *ref_145 + language: + default: + name: location + description: The geo-location where the resource lives + cli: *ref_146 + protocol: {} + - &ref_155 + schema: *ref_11 + implementation: Method + originalParameter: *ref_142 + pathToProperty: [] + targetProperty: *ref_147 + language: + default: + name: description + description: Description of Workspace. + cli: *ref_148 + protocol: {} + - &ref_156 + schema: *ref_12 + implementation: Method + originalParameter: *ref_142 + pathToProperty: [] + targetProperty: *ref_149 + language: + default: + name: friendly_name + description: Friendly name of Workspace. + cli: *ref_150 + protocol: {} + - &ref_157 + schema: *ref_119 + implementation: Method + originalParameter: *ref_142 + pathToProperty: [] + targetProperty: *ref_151 + language: + default: + name: application_group_references + description: List of applicationGroup resource Ids. + cli: *ref_152 + protocol: {} + signatureParameters: + - *ref_153 + - *ref_154 + - *ref_155 + - *ref_156 + - *ref_157 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' + method: put + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_158 + - *ref_159 + responses: + - schema: *ref_34 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + - schema: *ref_34 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '201' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Workspace_Create: + parameters: + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + workspace: + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + tag1: value1 + tag2: value2 + workspaceName: workspace1 + responses: + '200': + body: + name: workspace1 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + '201': + body: + name: workspace1 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + language: + default: + name: create_or_update + description: Create or update a workspace. + cli: + name: CreateOrUpdate + description: Create or update a workspace. + cliKey: CreateOrUpdate + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_160 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_161 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: workspace_name + description: The name of the workspace + serializedName: workspaceName + cli: + name: workspaceName + description: The name of the workspace + cliKey: workspaceName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' + method: delete + uri: '{$host}' + signatureParameters: + - *ref_160 + - *ref_161 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '204' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Workspace_Delete: + parameters: + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + workspaceName: workspace1 + responses: + '200': + name: workspace1 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + '204': {} + language: + default: + name: delete + description: Remove a workspace. + cli: + name: Delete + description: Remove a workspace. + cliKey: Delete + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_176 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_177 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: workspace_name + description: The name of the workspace + serializedName: workspaceName + cli: + name: workspaceName + description: The name of the workspace + cliKey: workspaceName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_141 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content_type + description: Body Parameter content-type + serializedName: Content-Type + cli: + name: ContentType + description: Body Parameter content-type + cliKey: content-type + protocol: + http: + in: header + - &ref_163 + schema: *ref_162 + flattened: true + implementation: Method + required: false + extensions: + x-ms-client-flatten: true + language: + default: + name: _workspace + description: Object containing Workspace definitions. + cli: + name: _workspace + description: Object containing Workspace definitions. + cliKey: workspace + protocol: + http: + in: body + style: json + - &ref_172 + schema: *ref_39 + implementation: Method + originalParameter: *ref_163 + pathToProperty: [] + targetProperty: *ref_164 + language: + default: + name: tags + description: tags to be updated + cli: *ref_165 + protocol: {} + - &ref_173 + schema: *ref_96 + implementation: Method + originalParameter: *ref_163 + pathToProperty: [] + targetProperty: *ref_166 + language: + default: + name: description + description: Description of Workspace. + cli: *ref_167 + protocol: {} + - &ref_174 + schema: *ref_97 + implementation: Method + originalParameter: *ref_163 + pathToProperty: [] + targetProperty: *ref_168 + language: + default: + name: friendly_name + description: Friendly name of Workspace. + cli: *ref_169 + protocol: {} + - &ref_175 + schema: *ref_120 + implementation: Method + originalParameter: *ref_163 + pathToProperty: [] + targetProperty: *ref_170 + language: + default: + name: application_group_references + description: List of applicationGroup links. + cli: *ref_171 + protocol: {} + signatureParameters: + - *ref_172 + - *ref_173 + - *ref_174 + - *ref_175 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' + method: patch + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_176 + - *ref_177 + responses: + - schema: *ref_34 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Workspace_Update: + parameters: + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + workspace: + properties: + description: des1 + friendlyName: friendly + tags: + tag1: value1 + tag2: value2 + workspaceName: workspace1 + responses: + '200': + body: + name: workspace1 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + language: + default: + name: update + description: Update a workspace. + cli: + name: Update + description: Update a workspace. + cliKey: Update + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_178 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces' + method: get + uri: '{$host}' + signatureParameters: + - *ref_178 + responses: + - schema: *ref_179 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Workspace_ListByResourceGroup: + parameters: + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: workspace1 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + - name: workspace2 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace2 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: list_by_resource_group + description: List workspaces. + paging: + nextLinkName: nextLink + cli: + name: ListByResourceGroup + description: List workspaces. + cliKey: ListByResourceGroup + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/workspaces' + method: get + uri: '{$host}' + signatureParameters: [] + responses: + - schema: *ref_179 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Workspace_ListBySubscription: + parameters: + api-version: 2019-12-10-preview + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: workspace1 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + - name: workspace2 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace2 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: list_by_subscription + description: List workspaces in subscription. + paging: + nextLinkName: nextLink + cli: + name: ListBySubscription + description: List workspaces in subscription. + cliKey: ListBySubscription + protocol: {} + language: + default: + name: Workspace + description: '' + cli: + name: Workspace + description: '' + cliKey: Workspaces + protocol: {} + - $key: ApplicationGroupAssignments + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_181 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_182 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: workspace_name + description: The name of the workspace + serializedName: workspaceName + cli: + name: workspaceName + description: The name of the workspace + cliKey: workspaceName + protocol: + http: + in: path + - &ref_183 + schema: *ref_180 + implementation: Method + language: + default: + name: filter + description: OData filter expression. Valid properties for filtering are applicationGroupType. + serializedName: $filter + cli: + name: filter + description: OData filter expression. Valid properties for filtering are applicationGroupType. + cliKey: $filter + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}/userApplicationGroupAssignments' + method: get + uri: '{$host}' + signatureParameters: + - *ref_181 + - *ref_182 + - *ref_183 + responses: + - schema: *ref_184 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ApplicationGroupAssignment_WorkspaceLevelList: + parameters: + $filter: userPrincipalName eq 'user1@microsoft.com' + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + workspaceName: workspace1 + responses: + '200': + body: + value: + - name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + - name: applicationGroup2 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: workspace_level_list + description: List application group that user can use. + paging: + nextLinkName: nextLink + cli: + name: WorkspaceLevelList + description: List application group that user can use. + cliKey: WorkspaceLevelList + protocol: {} + language: + default: + name: ApplicationGroupAssignment + description: '' + cli: + name: ApplicationGroupAssignment + description: '' + cliKey: ApplicationGroupAssignments + hidden: true + protocol: {} + - $key: ApplicationGroups + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_185 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_186 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_group_name + description: The name of the application group + serializedName: applicationGroupName + cli: + name: applicationGroupName + description: The name of the application group + cliKey: applicationGroupName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_185 + - *ref_186 + responses: + - schema: *ref_35 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ApplicationGroup_Get: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + language: + default: + name: get + description: Get an application group. + cli: + name: Get + description: Get an application group. + cliKey: Get + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_202 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_203 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_group_name + description: The name of the application group + serializedName: applicationGroupName + cli: + name: applicationGroupName + description: The name of the application group + cliKey: applicationGroupName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_141 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content_type + description: Body Parameter content-type + serializedName: Content-Type + cli: + name: ContentType + description: Body Parameter content-type + cliKey: content-type + protocol: + http: + in: header + - &ref_187 + schema: *ref_35 + flattened: true + implementation: Method + required: true + extensions: + x-ms-client-flatten: true + language: + default: + name: _application_group + description: Object containing ApplicationGroup definitions. + cli: + name: _application_group + description: Object containing ApplicationGroup definitions. + cliKey: applicationGroup + protocol: + http: + in: body + style: json + - &ref_196 + schema: *ref_37 + implementation: Method + originalParameter: *ref_187 + pathToProperty: [] + required: false + targetProperty: *ref_143 + language: + default: + name: tags + description: Resource tags. + cli: *ref_144 + protocol: {} + - &ref_197 + schema: *ref_38 + implementation: Method + originalParameter: *ref_187 + pathToProperty: [] + required: true + targetProperty: *ref_145 + language: + default: + name: location + description: The geo-location where the resource lives + cli: *ref_146 + protocol: {} + - &ref_198 + schema: *ref_14 + implementation: Method + originalParameter: *ref_187 + pathToProperty: [] + required: false + targetProperty: *ref_188 + language: + default: + name: description + description: Description of ApplicationGroup. + cli: *ref_189 + protocol: {} + - &ref_199 + schema: *ref_15 + implementation: Method + originalParameter: *ref_187 + pathToProperty: [] + required: false + targetProperty: *ref_190 + language: + default: + name: friendly_name + description: Friendly name of ApplicationGroup. + cli: *ref_191 + protocol: {} + - &ref_200 + schema: *ref_16 + implementation: Method + originalParameter: *ref_187 + pathToProperty: [] + required: true + targetProperty: *ref_192 + language: + default: + name: host_pool_arm_path + description: HostPool arm path of ApplicationGroup. + cli: *ref_193 + protocol: {} + - &ref_201 + schema: *ref_18 + implementation: Method + originalParameter: *ref_187 + pathToProperty: [] + required: true + targetProperty: *ref_194 + language: + default: + name: application_group_type + description: Resource Type of ApplicationGroup. + cli: *ref_195 + protocol: {} + signatureParameters: + - *ref_196 + - *ref_197 + - *ref_198 + - *ref_199 + - *ref_200 + - *ref_201 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' + method: put + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_202 + - *ref_203 + responses: + - schema: *ref_35 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + - schema: *ref_35 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '201' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ApplicationGroup_Create: + parameters: + api-version: 2019-12-10-preview + applicationGroup: + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + tags: + tag1: value1 + tag2: value2 + applicationGroupName: applicationGroup1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + '201': + body: + name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + language: + default: + name: create_or_update + description: Create or update an applicationGroup. + cli: + name: CreateOrUpdate + description: Create or update an applicationGroup. + cliKey: CreateOrUpdate + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_204 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_205 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_group_name + description: The name of the application group + serializedName: applicationGroupName + cli: + name: applicationGroupName + description: The name of the application group + cliKey: applicationGroupName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' + method: delete + uri: '{$host}' + signatureParameters: + - *ref_204 + - *ref_205 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '204' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ApplicationGroup_Delete: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + '204': {} + language: + default: + name: delete + description: Remove an applicationGroup. + cli: + name: Delete + description: Remove an applicationGroup. + cliKey: Delete + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_216 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_217 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_group_name + description: The name of the application group + serializedName: applicationGroupName + cli: + name: applicationGroupName + description: The name of the application group + cliKey: applicationGroupName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_141 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content_type + description: Body Parameter content-type + serializedName: Content-Type + cli: + name: ContentType + description: Body Parameter content-type + cliKey: content-type + protocol: + http: + in: header + - &ref_206 + schema: *ref_83 + flattened: true + implementation: Method + required: false + extensions: + x-ms-client-flatten: true + language: + default: + name: _application_group + description: Object containing ApplicationGroup definitions. + cli: + name: _application_group + description: Object containing ApplicationGroup definitions. + cliKey: applicationGroup + protocol: + http: + in: body + style: json + - &ref_213 + schema: *ref_39 + implementation: Method + originalParameter: *ref_206 + pathToProperty: [] + targetProperty: *ref_207 + language: + default: + name: tags + description: tags to be updated + cli: *ref_208 + protocol: {} + - &ref_214 + schema: *ref_40 + implementation: Method + originalParameter: *ref_206 + pathToProperty: [] + targetProperty: *ref_209 + language: + default: + name: description + description: Description of ApplicationGroup. + cli: *ref_210 + protocol: {} + - &ref_215 + schema: *ref_41 + implementation: Method + originalParameter: *ref_206 + pathToProperty: [] + targetProperty: *ref_211 + language: + default: + name: friendly_name + description: Friendly name of ApplicationGroup. + cli: *ref_212 + protocol: {} + signatureParameters: + - *ref_213 + - *ref_214 + - *ref_215 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' + method: patch + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_216 + - *ref_217 + responses: + - schema: *ref_35 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ApplicationGroups_Update: + parameters: + api-version: 2019-12-10-preview + applicationGroup: + properties: + description: des1 + friendlyName: friendly + tags: + tag1: value1 + tag2: value2 + applicationGroupName: applicationGroup1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + language: + default: + name: update + description: Update an applicationGroup. + cli: + name: Update + description: Update an applicationGroup. + cliKey: Update + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_218 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_219 + schema: *ref_180 + implementation: Method + language: + default: + name: filter + description: OData filter expression. Valid properties for filtering are applicationGroupType. + serializedName: $filter + cli: + name: filter + description: OData filter expression. Valid properties for filtering are applicationGroupType. + cliKey: $filter + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups' + method: get + uri: '{$host}' + signatureParameters: + - *ref_218 + - *ref_219 + responses: + - schema: *ref_184 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ApplicationGroup_ListByResourceGroup: + parameters: + $filter: applicationGroupType eq 'RailApplication' + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + - name: applicationGroup2 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: list_by_resource_group + description: List applicationGroups. + paging: + nextLinkName: nextLink + cli: + name: ListByResourceGroup + description: List applicationGroups. + cliKey: ListByResourceGroup + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_220 + schema: *ref_180 + implementation: Method + language: + default: + name: filter + description: OData filter expression. Valid properties for filtering are applicationGroupType. + serializedName: $filter + cli: + name: filter + description: OData filter expression. Valid properties for filtering are applicationGroupType. + cliKey: $filter + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/applicationGroups' + method: get + uri: '{$host}' + signatureParameters: + - *ref_220 + responses: + - schema: *ref_184 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ApplicationGroup_List: + parameters: + $filter: applicationGroupType eq 'RailApplication' + api-version: 2019-12-10-preview + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + - name: applicationGroup2 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: list_by_subscription + description: List applicationGroups in subscription. + paging: + nextLinkName: nextLink + cli: + name: ListBySubscription + description: List applicationGroups in subscription. + cliKey: ListBySubscription + protocol: {} + language: + default: + name: ApplicationGroup + description: '' + cli: + name: ApplicationGroup + description: '' + cliKey: ApplicationGroups + protocol: {} + - $key: StartMenuItems + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_221 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_222 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_group_name + description: The name of the application group + serializedName: applicationGroupName + cli: + name: applicationGroupName + description: The name of the application group + cliKey: applicationGroupName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/startMenuItems' + method: get + uri: '{$host}' + signatureParameters: + - *ref_221 + - *ref_222 + responses: + - schema: *ref_223 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + StartMenuItem_List: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: application1 + type: Microsoft.DesktopVirtualization/applicationGroups/startMenuItems + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/startMenuItem/application1 + properties: + appAlias: word + commandLineArguments: arguments + filePath: /path/to/file + friendlyName: friendly + iconIndex: 1 + iconPath: /path/to/icon + - name: application2 + type: Microsoft.DesktopVirtualization/applicationGroups/startMenuItems + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/startMenuItem/application2 + properties: + appAlias: excel + commandLineArguments: arguments + filePath: /path/to/file + friendlyName: friendly + iconIndex: 1 + iconPath: /path/to/icon + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: list + description: List start menu items in the given application group. + paging: + nextLinkName: nextLink + cli: + name: List + description: List start menu items in the given application group. + cliKey: List + protocol: {} + language: + default: + name: StartMenuItem + description: '' + cli: + name: StartMenuItem + description: '' + cliKey: StartMenuItems + hidden: true + protocol: {} + - $key: Applications + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_224 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_225 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_group_name + description: The name of the application group + serializedName: applicationGroupName + cli: + name: applicationGroupName + description: The name of the application group + cliKey: applicationGroupName + protocol: + http: + in: path + - &ref_226 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_name + description: The name of the application within the specified application group + serializedName: applicationName + cli: + name: applicationName + description: The name of the application within the specified application group + cliKey: applicationName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_224 + - *ref_225 + - *ref_226 + responses: + - schema: *ref_85 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Application_Get: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + applicationName: application1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1/application1 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + language: + default: + name: get + description: Get an application. + cli: + name: Get + description: Get an application. + cliKey: Get + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_252 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_253 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_group_name + description: The name of the application group + serializedName: applicationGroupName + cli: + name: applicationGroupName + description: The name of the application group + cliKey: applicationGroupName + protocol: + http: + in: path + - &ref_254 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_name + description: The name of the application within the specified application group + serializedName: applicationName + cli: + name: applicationName + description: The name of the application within the specified application group + cliKey: applicationName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_141 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content_type + description: Body Parameter content-type + serializedName: Content-Type + cli: + name: ContentType + description: Body Parameter content-type + cliKey: content-type + protocol: + http: + in: header + - &ref_227 + schema: *ref_85 + flattened: true + implementation: Method + required: true + extensions: + x-ms-client-flatten: true + language: + default: + name: _application + description: Object containing Application definitions. + cli: + name: _application + description: Object containing Application definitions. + cliKey: application + protocol: + http: + in: body + style: json + - &ref_244 + schema: *ref_48 + implementation: Method + originalParameter: *ref_227 + pathToProperty: [] + required: false + targetProperty: *ref_228 + language: + default: + name: description + description: Description of Application. + cli: *ref_229 + protocol: {} + - &ref_245 + schema: *ref_49 + implementation: Method + originalParameter: *ref_227 + pathToProperty: [] + required: false + targetProperty: *ref_230 + language: + default: + name: friendly_name + description: Friendly name of Application. + cli: *ref_231 + protocol: {} + - &ref_246 + schema: *ref_50 + implementation: Method + originalParameter: *ref_227 + pathToProperty: [] + required: false + targetProperty: *ref_232 + language: + default: + name: file_path + description: Specifies a path for the executable file for the application. + cli: *ref_233 + protocol: {} + - &ref_247 + schema: *ref_51 + implementation: Method + originalParameter: *ref_227 + pathToProperty: [] + required: true + targetProperty: *ref_234 + language: + default: + name: command_line_setting + description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' + cli: *ref_235 + protocol: {} + - &ref_248 + schema: *ref_52 + implementation: Method + originalParameter: *ref_227 + pathToProperty: [] + required: false + targetProperty: *ref_236 + language: + default: + name: command_line_arguments + description: Command Line Arguments for Application. + cli: *ref_237 + protocol: {} + - &ref_249 + schema: *ref_53 + implementation: Method + originalParameter: *ref_227 + pathToProperty: [] + required: false + targetProperty: *ref_238 + language: + default: + name: show_in_portal + description: Specifies whether to show the RemoteApp program in the RD Web Access server. + cli: *ref_239 + protocol: {} + - &ref_250 + schema: *ref_54 + implementation: Method + originalParameter: *ref_227 + pathToProperty: [] + required: false + targetProperty: *ref_240 + language: + default: + name: icon_path + description: Path to icon. + cli: *ref_241 + protocol: {} + - &ref_251 + schema: *ref_47 + implementation: Method + originalParameter: *ref_227 + pathToProperty: [] + required: false + targetProperty: *ref_242 + language: + default: + name: icon_index + description: Index of the icon. + cli: *ref_243 + protocol: {} + signatureParameters: + - *ref_244 + - *ref_245 + - *ref_246 + - *ref_247 + - *ref_248 + - *ref_249 + - *ref_250 + - *ref_251 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' + method: put + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_252 + - *ref_253 + - *ref_254 + responses: + - schema: *ref_85 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + - schema: *ref_85 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '201' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Application_Create: + parameters: + api-version: 2019-12-10-preview + application: + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconIndex: 1 + iconPath: icon + showInPortal: true + applicationGroupName: applicationGroup1 + applicationName: application1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1/application1 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + '201': + body: + name: applicationGroup1/application1 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + language: + default: + name: create_or_update + description: Create or update an application. + cli: + name: CreateOrUpdate + description: Create or update an application. + cliKey: CreateOrUpdate + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_255 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_256 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_group_name + description: The name of the application group + serializedName: applicationGroupName + cli: + name: applicationGroupName + description: The name of the application group + cliKey: applicationGroupName + protocol: + http: + in: path + - &ref_257 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_name + description: The name of the application within the specified application group + serializedName: applicationName + cli: + name: applicationName + description: The name of the application within the specified application group + cliKey: applicationName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' + method: delete + uri: '{$host}' + signatureParameters: + - *ref_255 + - *ref_256 + - *ref_257 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '204' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Application_Delete: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + applicationName: application1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + name: applicationGroup1/application1 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + '204': {} + language: + default: + name: delete + description: Remove an application. + cli: + name: Delete + description: Remove an application. + cliKey: Delete + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_287 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_288 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_group_name + description: The name of the application group + serializedName: applicationGroupName + cli: + name: applicationGroupName + description: The name of the application group + cliKey: applicationGroupName + protocol: + http: + in: path + - &ref_289 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_name + description: The name of the application within the specified application group + serializedName: applicationName + cli: + name: applicationName + description: The name of the application within the specified application group + cliKey: applicationName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_141 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content_type + description: Body Parameter content-type + serializedName: Content-Type + cli: + name: ContentType + description: Body Parameter content-type + cliKey: content-type + protocol: + http: + in: header + - &ref_259 + schema: *ref_258 + flattened: true + implementation: Method + required: false + extensions: + x-ms-client-flatten: true + language: + default: + name: _application + description: Object containing Application definitions. + cli: + name: _application + description: Object containing Application definitions. + cliKey: application + protocol: + http: + in: body + style: json + - &ref_278 + schema: *ref_39 + implementation: Method + originalParameter: *ref_259 + pathToProperty: [] + targetProperty: *ref_260 + language: + default: + name: tags + description: tags to be updated + cli: *ref_261 + protocol: {} + - &ref_279 + schema: *ref_102 + implementation: Method + originalParameter: *ref_259 + pathToProperty: [] + targetProperty: *ref_262 + language: + default: + name: description + description: Description of Application. + cli: *ref_263 + protocol: {} + - &ref_280 + schema: *ref_103 + implementation: Method + originalParameter: *ref_259 + pathToProperty: [] + targetProperty: *ref_264 + language: + default: + name: friendly_name + description: Friendly name of Application. + cli: *ref_265 + protocol: {} + - &ref_281 + schema: *ref_104 + implementation: Method + originalParameter: *ref_259 + pathToProperty: [] + targetProperty: *ref_266 + language: + default: + name: file_path + description: Specifies a path for the executable file for the application. + cli: *ref_267 + protocol: {} + - &ref_282 + schema: *ref_51 + implementation: Method + originalParameter: *ref_259 + pathToProperty: [] + targetProperty: *ref_268 + language: + default: + name: command_line_setting + description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' + cli: *ref_269 + protocol: {} + - &ref_283 + schema: *ref_105 + implementation: Method + originalParameter: *ref_259 + pathToProperty: [] + targetProperty: *ref_270 + language: + default: + name: command_line_arguments + description: Command Line Arguments for Application. + cli: *ref_271 + protocol: {} + - &ref_284 + schema: *ref_53 + implementation: Method + originalParameter: *ref_259 + pathToProperty: [] + targetProperty: *ref_272 + language: + default: + name: show_in_portal + description: Specifies whether to show the RemoteApp program in the RD Web Access server. + cli: *ref_273 + protocol: {} + - &ref_285 + schema: *ref_106 + implementation: Method + originalParameter: *ref_259 + pathToProperty: [] + targetProperty: *ref_274 + language: + default: + name: icon_path + description: Path to icon. + cli: *ref_275 + protocol: {} + - &ref_286 + schema: *ref_47 + implementation: Method + originalParameter: *ref_259 + pathToProperty: [] + targetProperty: *ref_276 + language: + default: + name: icon_index + description: Index of the icon. + cli: *ref_277 + protocol: {} + signatureParameters: + - *ref_278 + - *ref_279 + - *ref_280 + - *ref_281 + - *ref_282 + - *ref_283 + - *ref_284 + - *ref_285 + - *ref_286 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' + method: patch + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_287 + - *ref_288 + - *ref_289 + responses: + - schema: *ref_85 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Application_Update: + parameters: + api-version: 2019-12-10-preview + application: + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconIndex: 1 + iconPath: icon + showInPortal: true + applicationGroupName: applicationGroup1 + applicationName: application1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1/application1 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + language: + default: + name: update + description: Update an application. + cli: + name: Update + description: Update an application. + cliKey: Update + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_290 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_291 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_group_name + description: The name of the application group + serializedName: applicationGroupName + cli: + name: applicationGroupName + description: The name of the application group + cliKey: applicationGroupName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications' + method: get + uri: '{$host}' + signatureParameters: + - *ref_290 + - *ref_291 + responses: + - schema: *ref_292 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Applications_List: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: applicationGroup1/application1 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + - name: applicationGroup1/application2 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application2 + properties: + description: des2 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: list + description: List applications. + paging: + nextLinkName: nextLink + cli: + name: List + description: List applications. + cliKey: List + protocol: {} + language: + default: + name: Application + description: '' + cli: + name: Application + description: '' + cliKey: Applications + hidden: true + protocol: {} + - $key: Desktops + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_293 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_294 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_group_name + description: The name of the application group + serializedName: applicationGroupName + cli: + name: applicationGroupName + description: The name of the application group + cliKey: applicationGroupName + protocol: + http: + in: path + - &ref_295 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: desktop_name + description: The name of the desktop within the specified desktop group + serializedName: desktopName + cli: + name: desktopName + description: The name of the desktop within the specified desktop group + cliKey: desktopName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops/{desktopName}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_293 + - *ref_294 + - *ref_295 + responses: + - schema: *ref_86 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Desktop_Get: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + desktopName: SessionDesktop + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1/SessionDesktop + type: Microsoft.DesktopVirtualization/applicationGroups/desktops + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/SessionDesktop + properties: + description: des1 + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + language: + default: + name: get + description: Get a desktop. + cli: + name: Get + description: Get a desktop. + cliKey: Get + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_307 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_308 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_group_name + description: The name of the application group + serializedName: applicationGroupName + cli: + name: applicationGroupName + description: The name of the application group + cliKey: applicationGroupName + protocol: + http: + in: path + - &ref_309 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: desktop_name + description: The name of the desktop within the specified desktop group + serializedName: desktopName + cli: + name: desktopName + description: The name of the desktop within the specified desktop group + cliKey: desktopName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_141 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content_type + description: Body Parameter content-type + serializedName: Content-Type + cli: + name: ContentType + description: Body Parameter content-type + cliKey: content-type + protocol: + http: + in: header + - &ref_297 + schema: *ref_296 + flattened: true + implementation: Method + required: false + extensions: + x-ms-client-flatten: true + language: + default: + name: _desktop + description: Object containing Desktop definitions. + cli: + name: _desktop + description: Object containing Desktop definitions. + cliKey: desktop + protocol: + http: + in: body + style: json + - &ref_304 + schema: *ref_39 + implementation: Method + originalParameter: *ref_297 + pathToProperty: [] + targetProperty: *ref_298 + language: + default: + name: tags + description: tags to be updated + cli: *ref_299 + protocol: {} + - &ref_305 + schema: *ref_108 + implementation: Method + originalParameter: *ref_297 + pathToProperty: [] + targetProperty: *ref_300 + language: + default: + name: description + description: Description of Desktop. + cli: *ref_301 + protocol: {} + - &ref_306 + schema: *ref_109 + implementation: Method + originalParameter: *ref_297 + pathToProperty: [] + targetProperty: *ref_302 + language: + default: + name: friendly_name + description: Friendly name of Desktop. + cli: *ref_303 + protocol: {} + signatureParameters: + - *ref_304 + - *ref_305 + - *ref_306 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops/{desktopName}' + method: patch + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_307 + - *ref_308 + - *ref_309 + responses: + - schema: *ref_86 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Desktop_Update: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + desktop: + properties: + description: des1 + friendlyName: friendly + desktopName: SessionDesktop + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1/SessionDesktop + type: Microsoft.DesktopVirtualization/applicationGroups/desktops + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/desktops/SessionDesktop + properties: + description: des1 + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + language: + default: + name: update + description: Update a desktop. + cli: + name: Update + description: Update a desktop. + cliKey: Update + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_310 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_311 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_group_name + description: The name of the application group + serializedName: applicationGroupName + cli: + name: applicationGroupName + description: The name of the application group + cliKey: applicationGroupName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops' + method: get + uri: '{$host}' + signatureParameters: + - *ref_310 + - *ref_311 + responses: + - schema: *ref_312 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Desktop_List: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: applicationGroup1/SessionDesktop + type: Microsoft.DesktopVirtualization/applicationGroups/desktops + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/SessionDesktop + properties: + description: des1 + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + language: + default: + name: list + description: List desktops. + cli: + name: List + description: List desktops. + cliKey: List + protocol: {} + language: + default: + name: Desktop + description: '' + cli: + name: Desktop + description: '' + cliKey: Desktops + hidden: true + protocol: {} + - $key: HostPools + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_313 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_314 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + name: hostPoolName + description: The name of the host pool within the specified resource group + cliKey: hostPoolName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_313 + - *ref_314 + responses: + - schema: *ref_36 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + HostPool_Get: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: hostPool1 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2008-09-22T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + language: + default: + name: get + description: Get a host pool. + cli: + name: Get + description: Get a host pool. + cliKey: Get + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_354 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_355 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + name: hostPoolName + description: The name of the host pool within the specified resource group + cliKey: hostPoolName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_141 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content_type + description: Body Parameter content-type + serializedName: Content-Type + cli: + name: ContentType + description: Body Parameter content-type + cliKey: content-type + protocol: + http: + in: header + - &ref_315 + schema: *ref_36 + flattened: true + implementation: Method + required: true + extensions: + x-ms-client-flatten: true + language: + default: + name: _host_pool + description: Object containing HostPool definitions. + cli: + name: _host_pool + description: Object containing HostPool definitions. + cliKey: hostPool + protocol: + http: + in: body + style: json + - &ref_340 + schema: *ref_37 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: false + targetProperty: *ref_143 + language: + default: + name: tags + description: Resource tags. + cli: *ref_144 + protocol: {} + - &ref_341 + schema: *ref_38 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: true + targetProperty: *ref_145 + language: + default: + name: location + description: The geo-location where the resource lives + cli: *ref_146 + protocol: {} + - &ref_342 + schema: *ref_19 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: false + targetProperty: *ref_316 + language: + default: + name: friendly_name + description: Friendly name of HostPool. + cli: *ref_317 + protocol: {} + - &ref_343 + schema: *ref_20 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: false + targetProperty: *ref_318 + language: + default: + name: description + description: Description of HostPool. + cli: *ref_319 + protocol: {} + - &ref_344 + schema: *ref_21 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: true + targetProperty: *ref_320 + language: + default: + name: host_pool_type + description: HostPool type for desktop. + cli: *ref_321 + protocol: {} + - &ref_345 + schema: *ref_22 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: true + targetProperty: *ref_322 + language: + default: + name: personal_desktop_assignment_type + description: PersonalDesktopAssignment type for HostPool. + cli: *ref_323 + protocol: {} + - &ref_346 + schema: *ref_23 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: false + targetProperty: *ref_324 + language: + default: + name: custom_rdp_property + description: Custom rdp property of HostPool. + cli: *ref_325 + protocol: {} + - &ref_347 + schema: *ref_24 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: false + targetProperty: *ref_326 + language: + default: + name: max_session_limit + description: The max session limit of HostPool. + cli: *ref_327 + protocol: {} + - &ref_348 + schema: *ref_25 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: true + targetProperty: *ref_328 + language: + default: + name: load_balancer_type + description: The type of the load balancer. + cli: *ref_329 + protocol: {} + - &ref_349 + schema: *ref_26 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: false + targetProperty: *ref_330 + language: + default: + name: ring + description: The ring number of HostPool. + cli: *ref_331 + protocol: {} + - &ref_350 + schema: *ref_27 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: false + targetProperty: *ref_332 + language: + default: + name: validation_environment + description: Is validation environment. + cli: *ref_333 + protocol: {} + - &ref_351 + schema: *ref_111 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: false + targetProperty: *ref_334 + language: + default: + name: registration_info + description: The registration info of HostPool. + cli: *ref_335 + protocol: {} + - &ref_352 + schema: *ref_31 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: false + targetProperty: *ref_336 + language: + default: + name: vm_template + description: VM template for sessionhosts configuration within hostpool. + cli: *ref_337 + protocol: {} + - &ref_353 + schema: *ref_33 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: false + targetProperty: *ref_338 + language: + default: + name: sso_context + description: Path to keyvault containing ssoContext secret. + cli: *ref_339 + protocol: {} + signatureParameters: + - *ref_340 + - *ref_341 + - *ref_342 + - *ref_343 + - *ref_344 + - *ref_345 + - *ref_346 + - *ref_347 + - *ref_348 + - *ref_349 + - *ref_350 + - *ref_351 + - *ref_352 + - *ref_353 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' + method: put + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_354 + - *ref_355 + responses: + - schema: *ref_36 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + - schema: *ref_36 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '201' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + HostPool_Create: + parameters: + api-version: 2019-12-10-preview + hostPool: + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2020-10-01T14:01:54.9571247Z' + registrationTokenOperation: Update + ssoContext: KeyVaultPath + tags: + tag1: value1 + tag2: value2 + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: hostPool1 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2020-10-01T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + '201': + body: + name: hostPool1 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2020-10-01T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + language: + default: + name: create_or_update + description: Create or update a host pool. + cli: + name: CreateOrUpdate + description: Create or update a host pool. + cliKey: CreateOrUpdate + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_357 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_358 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + name: hostPoolName + description: The name of the host pool within the specified resource group + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_359 + schema: *ref_356 + implementation: Method + language: + default: + name: force + description: Force flag to delete sessionHost. + serializedName: force + cli: + name: force + description: Force flag to delete sessionHost. + cliKey: force + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' + method: delete + uri: '{$host}' + signatureParameters: + - *ref_357 + - *ref_358 + - *ref_359 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '204' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + HostPool_Delete: + parameters: + api-version: 2019-12-10-preview + force: true + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + name: hostPool1 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2008-09-22T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + '204': {} + language: + default: + name: delete + description: Remove a host pool. + cli: + name: Delete + description: Remove a host pool. + cliKey: Delete + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_394 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_395 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + name: hostPoolName + description: The name of the host pool within the specified resource group + cliKey: hostPoolName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_141 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content_type + description: Body Parameter content-type + serializedName: Content-Type + cli: + name: ContentType + description: Body Parameter content-type + cliKey: content-type + protocol: + http: + in: header + - &ref_360 + schema: *ref_87 + flattened: true + implementation: Method + required: false + extensions: + x-ms-client-flatten: true + language: + default: + name: _host_pool + description: Object containing HostPool definitions. + cli: + name: _host_pool + description: Object containing HostPool definitions. + cliKey: hostPool + protocol: + http: + in: body + style: json + - &ref_383 + schema: *ref_39 + implementation: Method + originalParameter: *ref_360 + pathToProperty: [] + targetProperty: *ref_361 + language: + default: + name: tags + description: tags to be updated + cli: *ref_362 + protocol: {} + - &ref_384 + schema: *ref_61 + implementation: Method + originalParameter: *ref_360 + pathToProperty: [] + targetProperty: *ref_363 + language: + default: + name: friendly_name + description: Friendly name of HostPool. + cli: *ref_364 + protocol: {} + - &ref_385 + schema: *ref_62 + implementation: Method + originalParameter: *ref_360 + pathToProperty: [] + targetProperty: *ref_365 + language: + default: + name: description + description: Description of HostPool. + cli: *ref_366 + protocol: {} + - &ref_386 + schema: *ref_63 + implementation: Method + originalParameter: *ref_360 + pathToProperty: [] + targetProperty: *ref_367 + language: + default: + name: custom_rdp_property + description: Custom rdp property of HostPool. + cli: *ref_368 + protocol: {} + - &ref_387 + schema: *ref_24 + implementation: Method + originalParameter: *ref_360 + pathToProperty: [] + targetProperty: *ref_369 + language: + default: + name: max_session_limit + description: The max session limit of HostPool. + cli: *ref_370 + protocol: {} + - &ref_388 + schema: *ref_22 + implementation: Method + originalParameter: *ref_360 + pathToProperty: [] + targetProperty: *ref_371 + language: + default: + name: personal_desktop_assignment_type + description: PersonalDesktopAssignment type for HostPool. + cli: *ref_372 + protocol: {} + - &ref_389 + schema: *ref_25 + implementation: Method + originalParameter: *ref_360 + pathToProperty: [] + targetProperty: *ref_373 + language: + default: + name: load_balancer_type + description: The type of the load balancer. + cli: *ref_374 + protocol: {} + - &ref_390 + schema: *ref_26 + implementation: Method + originalParameter: *ref_360 + pathToProperty: [] + targetProperty: *ref_375 + language: + default: + name: ring + description: The ring number of HostPool. + cli: *ref_376 + protocol: {} + - &ref_391 + schema: *ref_27 + implementation: Method + originalParameter: *ref_360 + pathToProperty: [] + targetProperty: *ref_377 + language: + default: + name: validation_environment + description: Is validation environment. + cli: *ref_378 + protocol: {} + - &ref_392 + schema: *ref_112 + implementation: Method + originalParameter: *ref_360 + pathToProperty: [] + targetProperty: *ref_379 + language: + default: + name: registration_info + description: The registration info of HostPool. + cli: *ref_380 + protocol: {} + - &ref_393 + schema: *ref_64 + implementation: Method + originalParameter: *ref_360 + pathToProperty: [] + targetProperty: *ref_381 + language: + default: + name: sso_context + description: Path to keyvault containing ssoContext secret. + cli: *ref_382 + protocol: {} + signatureParameters: + - *ref_383 + - *ref_384 + - *ref_385 + - *ref_386 + - *ref_387 + - *ref_388 + - *ref_389 + - *ref_390 + - *ref_391 + - *ref_392 + - *ref_393 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' + method: patch + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_394 + - *ref_395 + responses: + - schema: *ref_36 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + HostPool_Update: + parameters: + api-version: 2019-12-10-preview + hostPool: + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2020-10-02T14:01:54.9571247Z' + ssoContext: KeyVaultPath + tags: + tag1: value1 + tag2: value2 + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: hostPool1 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2008-09-22T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + language: + default: + name: update + description: Update a host pool. + cli: + name: Update + description: Update a host pool. + cliKey: Update + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_396 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools' + method: get + uri: '{$host}' + signatureParameters: + - *ref_396 + responses: + - schema: *ref_397 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + HostPool_ListByResourceGroup: + parameters: + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: hostPool1 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2008-09-22T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + - name: hostPool2 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool2 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2008-09-22T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: list_by_resource_group + description: List hostPools. + paging: + nextLinkName: nextLink + cli: + name: ListByResourceGroup + description: List hostPools. + cliKey: ListByResourceGroup + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/hostPools' + method: get + uri: '{$host}' + signatureParameters: [] + responses: + - schema: *ref_397 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + HostPool_List: + parameters: + api-version: 2019-12-10-preview + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: hostPool1 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2008-09-22T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + - name: hostPool2 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool2 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2008-09-22T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: list + description: List hostPools in subscription. + paging: + nextLinkName: nextLink + cli: + name: List + description: List hostPools in subscription. + cliKey: List + protocol: {} + language: + default: + name: HostPool + description: '' + cli: + name: HostPool + description: '' + cliKey: HostPools + protocol: {} + - $key: UserSessions + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_398 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_399 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + name: hostPoolName + description: The name of the host pool within the specified resource group + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_400 + schema: *ref_180 + implementation: Method + language: + default: + name: filter + description: OData filter expression. Valid properties for filtering are userprincipalname and sessionstate. + serializedName: $filter + cli: + name: filter + description: OData filter expression. Valid properties for filtering are userprincipalname and sessionstate. + cliKey: $filter + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/userSessions' + method: get + uri: '{$host}' + signatureParameters: + - *ref_398 + - *ref_399 + - *ref_400 + responses: + - schema: *ref_401 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + UserSession_ListByHostPool: + parameters: + $filter: userPrincipalName eq 'user1@microsoft.com' and state eq 'active' + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: '1' + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 + properties: + activeDirectoryUserName: WVDARM\user1 + applicationType: Desktop + createTime: '2008-09-22T14:01:54.9571247Z' + sessionState: Active + userPrincipalName: user1@microsoft.com + - name: '2' + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/2 + properties: + activeDirectoryUserName: WVDARM\user1 + applicationType: Desktop + createTime: '2008-09-22T14:01:54.9571247Z' + sessionState: Active + userPrincipalName: user1@microsoft.com + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: list_by_host_pool + description: List userSessions. + paging: + nextLinkName: nextLink + cli: + name: ListByHostPool + description: List userSessions. + cliKey: ListByHostPool + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_404 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_405 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + name: hostPoolName + description: The name of the host pool within the specified resource group + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_406 + schema: *ref_402 + implementation: Method + required: true + language: + default: + name: session_host_name + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + name: sessionHostName + description: The name of the session host within the specified host pool + cliKey: sessionHostName + protocol: + http: + in: path + - &ref_407 + schema: *ref_403 + implementation: Method + required: true + language: + default: + name: user_session_id + description: The name of the user session within the specified session host + serializedName: userSessionId + cli: + name: userSessionId + description: The name of the user session within the specified session host + cliKey: userSessionId + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_404 + - *ref_405 + - *ref_406 + - *ref_407 + responses: + - schema: *ref_88 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + UserSession_Get: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + userSessionId: '1' + responses: + '200': + body: + name: '1' + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 + properties: + activeDirectoryUserName: WVDARM\user1 + applicationType: Desktop + createTime: '2008-09-22T14:01:54.9571247Z' + sessionState: Active + userPrincipalName: user1@microsoft.com + language: + default: + name: get + description: Get a userSession. + cli: + name: Get + description: Get a userSession. + cliKey: Get + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_408 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_409 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + name: hostPoolName + description: The name of the host pool within the specified resource group + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_410 + schema: *ref_402 + implementation: Method + required: true + language: + default: + name: session_host_name + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + name: sessionHostName + description: The name of the session host within the specified host pool + cliKey: sessionHostName + protocol: + http: + in: path + - &ref_411 + schema: *ref_403 + implementation: Method + required: true + language: + default: + name: user_session_id + description: The name of the user session within the specified session host + serializedName: userSessionId + cli: + name: userSessionId + description: The name of the user session within the specified session host + cliKey: userSessionId + protocol: + http: + in: path + - &ref_412 + schema: *ref_356 + implementation: Method + language: + default: + name: force + description: Force flag to login off userSession. + serializedName: force + cli: + name: force + description: Force flag to login off userSession. + cliKey: force + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}' + method: delete + uri: '{$host}' + signatureParameters: + - *ref_408 + - *ref_409 + - *ref_410 + - *ref_411 + - *ref_412 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '204' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + UserSession_Delete: + parameters: + api-version: 2019-12-10-preview + force: true + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + userSessionId: '1' + responses: + '200': + name: '1' + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 + properties: + activeDirectoryUserName: WVDARM\user1 + applicationType: Desktop + createTime: '2008-09-22T14:01:54.9571247Z' + sessionState: Active + userPrincipalName: user1@microsoft.com + '204': {} + language: + default: + name: delete + description: Remove a userSession. + cli: + name: Delete + description: Remove a userSession. + cliKey: Delete + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_413 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_414 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + name: hostPoolName + description: The name of the host pool within the specified resource group + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_415 + schema: *ref_402 + implementation: Method + required: true + language: + default: + name: session_host_name + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + name: sessionHostName + description: The name of the session host within the specified host pool + cliKey: sessionHostName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions' + method: get + uri: '{$host}' + signatureParameters: + - *ref_413 + - *ref_414 + - *ref_415 + responses: + - schema: *ref_401 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + UserSession_List: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: '1' + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 + properties: + activeDirectoryUserName: WVDARM\user1 + applicationType: Desktop + createTime: '2008-09-22T14:01:54.9571247Z' + sessionState: Active + userPrincipalName: user1@microsoft.com + - name: '2' + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/2 + properties: + activeDirectoryUserName: WVDARM\user1 + applicationType: Desktop + createTime: '2008-09-22T14:01:54.9571247Z' + sessionState: Active + userPrincipalName: user1@microsoft.com + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: list + description: List userSessions. + paging: + nextLinkName: nextLink + cli: + name: List + description: List userSessions. + cliKey: List + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_416 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_417 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + name: hostPoolName + description: The name of the host pool within the specified resource group + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_418 + schema: *ref_402 + implementation: Method + required: true + language: + default: + name: session_host_name + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + name: sessionHostName + description: The name of the session host within the specified host pool + cliKey: sessionHostName + protocol: + http: + in: path + - &ref_419 + schema: *ref_403 + implementation: Method + required: true + language: + default: + name: user_session_id + description: The name of the user session within the specified session host + serializedName: userSessionId + cli: + name: userSessionId + description: The name of the user session within the specified session host + cliKey: userSessionId + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}/disconnect' + method: post + uri: '{$host}' + signatureParameters: + - *ref_416 + - *ref_417 + - *ref_418 + - *ref_419 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + UserSession_Disconnect_Post: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + userSessionId: '1' + responses: + '200': {} + language: + default: + name: disconnect + description: Disconnect a userSession. + cli: + name: Disconnect + description: Disconnect a userSession. + cliKey: Disconnect + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_428 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_429 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + name: hostPoolName + description: The name of the host pool within the specified resource group + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_430 + schema: *ref_402 + implementation: Method + required: true + language: + default: + name: session_host_name + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + name: sessionHostName + description: The name of the session host within the specified host pool + cliKey: sessionHostName + protocol: + http: + in: path + - &ref_431 + schema: *ref_403 + implementation: Method + required: true + language: + default: + name: user_session_id + description: The name of the user session within the specified session host + serializedName: userSessionId + cli: + name: userSessionId + description: The name of the user session within the specified session host + cliKey: userSessionId + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_141 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content_type + description: Body Parameter content-type + serializedName: Content-Type + cli: + name: ContentType + description: Body Parameter content-type + cliKey: content-type + protocol: + http: + in: header + - &ref_421 + schema: *ref_420 + flattened: true + implementation: Method + required: false + extensions: + x-ms-client-flatten: true + language: + default: + name: _send_message + description: Object containing message includes title and message body + cli: + name: _send_message + description: Object containing message includes title and message body + cliKey: sendMessage + protocol: + http: + in: body + style: json + - &ref_426 + schema: *ref_116 + implementation: Method + originalParameter: *ref_421 + pathToProperty: [] + targetProperty: *ref_422 + language: + default: + name: message_title + description: Title of message. + cli: *ref_423 + protocol: {} + - &ref_427 + schema: *ref_117 + implementation: Method + originalParameter: *ref_421 + pathToProperty: [] + targetProperty: *ref_424 + language: + default: + name: message_body + description: Body of message. + cli: *ref_425 + protocol: {} + signatureParameters: + - *ref_426 + - *ref_427 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}/sendMessage' + method: post + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_428 + - *ref_429 + - *ref_430 + - *ref_431 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + UserSession_SendMessage_Post: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sendMessage: + messageBody: body + messageTitle: title + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + userSessionId: '1' + responses: + '200': {} + language: + default: + name: send_message + description: Send a message to a user. + cli: + name: SendMessage + description: Send a message to a user. + cliKey: SendMessage + protocol: {} + language: + default: + name: UserSession + description: '' + cli: + name: UserSession + description: '' + cliKey: UserSessions + hidden: true + protocol: {} + - $key: SessionHosts + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_432 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_433 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + name: hostPoolName + description: The name of the host pool within the specified resource group + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_434 + schema: *ref_402 + implementation: Method + required: true + language: + default: + name: session_host_name + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + name: sessionHostName + description: The name of the session host within the specified host pool + cliKey: sessionHostName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_432 + - *ref_433 + - *ref_434 + responses: + - schema: *ref_89 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + SessionHost_Get: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: sessionHost1.microsoft.com + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com + properties: + agentVersion: 1.0.0.1391 + allowNewSession: true + assignedUser: user1@microsoft.com + lastHeartBeat: '2008-09-22T14:01:54.9571247Z' + lastUpdateTime: '2008-09-22T14:01:54.9571247Z' + osVersion: 10.0.17763 + sessions: 1 + status: Available + statusTimestamp: '2008-09-22T14:01:54.9571247Z' + sxSStackVersion: rdp-sxs190816002 + updateErrorMessage: '' + updateState: Succeeded + language: + default: + name: get + description: Get a session host. + cli: + name: Get + description: Get a session host. + cliKey: Get + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_435 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_436 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + name: hostPoolName + description: The name of the host pool within the specified resource group + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_437 + schema: *ref_402 + implementation: Method + required: true + language: + default: + name: session_host_name + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + name: sessionHostName + description: The name of the session host within the specified host pool + cliKey: sessionHostName + protocol: + http: + in: path + - &ref_438 + schema: *ref_356 + implementation: Method + language: + default: + name: force + description: Force flag to force sessionHost deletion even when userSession exists. + serializedName: force + cli: + name: force + description: Force flag to force sessionHost deletion even when userSession exists. + cliKey: force + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}' + method: delete + uri: '{$host}' + signatureParameters: + - *ref_435 + - *ref_436 + - *ref_437 + - *ref_438 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '204' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + SessionHost_Delete: + parameters: + api-version: 2019-12-10-preview + force: true + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + name: sessionHost1.microsoft.com + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com + properties: + agentVersion: 1.0.0.1391 + allowNewSession: true + assignedUser: user1@microsoft.com + lastHeartBeat: '2008-09-22T14:01:54.9571247Z' + lastUpdateTime: '2008-09-22T14:01:54.9571247Z' + osVersion: 10.0.17763 + sessions: 1 + status: Available + statusTimestamp: '2008-09-22T14:01:54.9571247Z' + sxSStackVersion: rdp-sxs190816002 + updateErrorMessage: '' + updateState: Succeeded + '204': {} + language: + default: + name: delete + description: Remove a SessionHost. + cli: + name: Delete + description: Remove a SessionHost. + cliKey: Delete + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_446 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_447 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + name: hostPoolName + description: The name of the host pool within the specified resource group + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_448 + schema: *ref_402 + implementation: Method + required: true + language: + default: + name: session_host_name + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + name: sessionHostName + description: The name of the session host within the specified host pool + cliKey: sessionHostName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_141 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content_type + description: Body Parameter content-type + serializedName: Content-Type + cli: + name: ContentType + description: Body Parameter content-type + cliKey: content-type + protocol: + http: + in: header + - &ref_439 + schema: *ref_90 + flattened: true + implementation: Method + required: false + extensions: + x-ms-client-flatten: true + language: + default: + name: _session_host + description: Object containing SessionHost definitions. + cli: + name: _session_host + description: Object containing SessionHost definitions. + cliKey: sessionHost + protocol: + http: + in: body + style: json + - &ref_444 + schema: *ref_73 + implementation: Method + originalParameter: *ref_439 + pathToProperty: [] + targetProperty: *ref_440 + language: + default: + name: allow_new_session + description: Allow a new session. + cli: *ref_441 + protocol: {} + - &ref_445 + schema: *ref_82 + implementation: Method + originalParameter: *ref_439 + pathToProperty: [] + targetProperty: *ref_442 + language: + default: + name: assigned_user + description: User assigned to SessionHost. + cli: *ref_443 + protocol: {} + signatureParameters: + - *ref_444 + - *ref_445 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}' + method: patch + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_446 + - *ref_447 + - *ref_448 + responses: + - schema: *ref_89 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + SessionHost_Update: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHost: + properties: + allowNewSession: true + assignedUser: user1@microsoft.com + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: sessionHost1.microsoft.com + type: Microsoft.DesktopVirtualization/hostPools/sessionhosts + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com + properties: + agentVersion: 1.0.0.1391 + allowNewSession: true + assignedUser: user1@microsoft.com + lastHeartBeat: '2019-01-11T19:27:13.6108027Z' + lastUpdateTime: '2008-09-22T14:01:54.9571247Z' + osVersion: 10.0.17763 + sessions: 1 + status: Available + statusTimestamp: '2019-01-24T20:00:08.2893033Z' + sxSStackVersion: rdp-sxs190816002 + updateErrorMessage: '' + updateState: Succeeded + language: + default: + name: update + description: Update a session host. + cli: + name: Update + description: Update a session host. + cliKey: Update + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_449 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_450 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + name: hostPoolName + description: The name of the host pool within the specified resource group + cliKey: hostPoolName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts' + method: get + uri: '{$host}' + signatureParameters: + - *ref_449 + - *ref_450 + responses: + - schema: *ref_451 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + SessionHost_List: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: sessionHost1.microsoft.com + type: Microsoft.DesktopVirtualization/hostPools/sessionhosts + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com + properties: + agentVersion: 1.0.0.1391 + allowNewSession: true + assignedUser: user1@microsoft.com + lastHeartBeat: '2008-09-22T14:01:54.9571247Z' + lastUpdateTime: '2008-09-22T14:01:54.9571247Z' + osVersion: 10.0.17763 + sessions: 1 + status: Available + statusTimestamp: '2008-09-22T14:01:54.9571247Z' + sxSStackVersion: rdp-sxs190816002 + updateErrorMessage: '' + updateState: Succeeded + - name: sessionHost2.microsoft.com + type: Microsoft.DesktopVirtualization/hostPools/sessionhosts + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost2microsoft.com + properties: + agentVersion: 1.0.0.1391 + allowNewSession: true + assignedUser: user2@microsoft.com + lastHeartBeat: '2008-09-22T14:01:54.9571247Z' + lastUpdateTime: '2008-09-22T14:01:54.9571247Z' + osVersion: 10.0.17763 + sessions: 1 + status: Available + statusTimestamp: '2008-09-22T14:01:54.9571247Z' + sxSStackVersion: rdp-sxs190816002 + updateErrorMessage: '' + updateState: Succeeded + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: list + description: List sessionHosts. + paging: + nextLinkName: nextLink + cli: + name: List + description: List sessionHosts. + cliKey: List + protocol: {} + language: + default: + name: SessionHost + description: '' + cli: + name: SessionHost + description: '' + cliKey: SessionHosts + hidden: true + protocol: {} + - $key: ActiveApplications + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_452 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_453 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + name: hostPoolName + description: The name of the host pool within the specified resource group + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_454 + schema: *ref_402 + implementation: Method + required: true + language: + default: + name: session_host_name + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + name: sessionHostName + description: The name of the session host within the specified host pool + cliKey: sessionHostName + protocol: + http: + in: path + - &ref_455 + schema: *ref_180 + implementation: Method + language: + default: + name: filter + description: OData filter expression. Valid properties for filtering are userprincipalname and sessionstate. + serializedName: $filter + cli: + name: filter + description: OData filter expression. Valid properties for filtering are userprincipalname and sessionstate. + cliKey: $filter + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/activeApplications' + method: get + uri: '{$host}' + signatureParameters: + - *ref_452 + - *ref_453 + - *ref_454 + - *ref_455 + responses: + - schema: *ref_292 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ActiveApplications_List: + parameters: + $filter: userPrincipalName eq 'user1@microsoft.com' + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: applicationGroup1/application1 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + - name: applicationGroup1/application2 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application2 + properties: + description: des2 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: list_by_session_host + description: List applications for the given session host. + paging: + nextLinkName: nextLink + cli: + name: ListBySessionHost + description: List applications for the given session host. + cliKey: ListBySessionHost + protocol: {} + language: + default: + name: ActiveApplication + description: '' + cli: + name: ActiveApplication + description: '' + cliKey: ActiveApplications + hidden: true + protocol: {} +language: + default: + name: DesktopVirtualizationAPIClient + description: '' + cli: + name: DesktopVirtualizationAPIClient + description: '' +protocol: + http: {} diff --git a/src/desktopvirtualization/_az_debug/clicommon-000100-poly-as-resource-pre-simplified.yaml b/src/desktopvirtualization/_az_debug/clicommon-000100-poly-as-resource-pre-simplified.yaml new file mode 100644 index 00000000000..893109e1471 --- /dev/null +++ b/src/desktopvirtualization/_az_debug/clicommon-000100-poly-as-resource-pre-simplified.yaml @@ -0,0 +1,2383 @@ +operationGroups: + all: + - operationGroupName: Operation + cli: + cliKey: Operations + operations: + - operationName: list + cli: + name: List + cliKey: List + hidden: true + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - operationGroupName: Workspace + cli: + cliKey: Workspaces + operations: + - operationName: get + cli: + name: Get + cliKey: Get + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: workspace_name(String^string) + cli: + name: workspaceName + cliKey: workspaceName + - operationName: create_or_update + cli: + name: CreateOrUpdate + cliKey: CreateOrUpdate + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: workspace_name(String^string) + cli: + name: workspaceName + cliKey: workspaceName + - parameterName[0]: content_type(application_json^constant) + cli: + name: ContentType + cliKey: content-type + - parameterName[0]: _workspace(Workspace^object) + cli: + cliKey: workspace + x-ms-client-flatten: true + bodySchema: Workspace + - parameterName[0]: tags(TrackedResourceTags^dictionary) + cli: + cliKey: tags + - parameterName[0]: location(TrackedResourceLocation^string) + cli: + cliKey: location + - parameterName[0]: description(WorkspacePropertiesDescription^string) + cli: + cliKey: description + - parameterName[0]: friendly_name(WorkspacePropertiesFriendlyName^string) + cli: + name: friendlyName + cliKey: friendlyName + - parameterName[0]: application_group_references(WorkspacePropertiesApplicationGroupReferences^array) + cli: + name: applicationGroupReferences + cliKey: applicationGroupReferences + - operationName: delete + cli: + name: Delete + cliKey: Delete + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: workspace_name(String^string) + cli: + name: workspaceName + cliKey: workspaceName + - operationName: update + cli: + name: Update + cliKey: Update + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: workspace_name(String^string) + cli: + name: workspaceName + cliKey: workspaceName + - parameterName[0]: content_type(application_json^constant) + cli: + name: ContentType + cliKey: content-type + - parameterName[0]: _workspace(WorkspacePatch^object) + cli: + cliKey: workspace + x-ms-client-flatten: true + bodySchema: WorkspacePatch + - parameterName[0]: tags(any^any) + cli: + cliKey: tags + - parameterName[0]: description(WorkspacePatchPropertiesDescription^string) + cli: + cliKey: description + - parameterName[0]: friendly_name(WorkspacePatchPropertiesFriendlyName^string) + cli: + name: friendlyName + cliKey: friendlyName + - parameterName[0]: application_group_references(WorkspacePatchPropertiesApplicationGroupReferences^array) + cli: + name: applicationGroupReferences + cliKey: applicationGroupReferences + - operationName: list_by_resource_group + cli: + name: ListByResourceGroup + cliKey: ListByResourceGroup + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - operationName: list_by_subscription + cli: + name: ListBySubscription + cliKey: ListBySubscription + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - operationGroupName: ApplicationGroupAssignment + cli: + cliKey: ApplicationGroupAssignments + hidden: true + operations: + - operationName: workspace_level_list + cli: + name: WorkspaceLevelList + cliKey: WorkspaceLevelList + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: workspace_name(String^string) + cli: + name: workspaceName + cliKey: workspaceName + - parameterName: filter(String^string) + cli: + cliKey: $filter + - operationGroupName: ApplicationGroup + cli: + cliKey: ApplicationGroups + operations: + - operationName: get + cli: + name: Get + cliKey: Get + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: application_group_name(String^string) + cli: + name: applicationGroupName + cliKey: applicationGroupName + - operationName: create_or_update + cli: + name: CreateOrUpdate + cliKey: CreateOrUpdate + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: application_group_name(String^string) + cli: + name: applicationGroupName + cliKey: applicationGroupName + - parameterName[0]: content_type(application_json^constant) + cli: + name: ContentType + cliKey: content-type + - parameterName[0]: _application_group(ApplicationGroup^object) + cli: + cliKey: applicationGroup + x-ms-client-flatten: true + bodySchema: ApplicationGroup + - parameterName[0]: tags(TrackedResourceTags^dictionary) + cli: + cliKey: tags + - parameterName[0]: location(TrackedResourceLocation^string) + cli: + cliKey: location + - parameterName[0]: description(ApplicationGroupPropertiesDescription^string) + cli: + cliKey: description + - parameterName[0]: friendly_name(ApplicationGroupPropertiesFriendlyName^string) + cli: + name: friendlyName + cliKey: friendlyName + - parameterName[0]: host_pool_arm_path(ApplicationGroupPropertiesHostPoolArmPath^string) + cli: + name: hostPoolArmPath + cliKey: hostPoolArmPath + - parameterName[0]: application_group_type(ApplicationGroupType^choice) + cli: + name: applicationGroupType + cliKey: applicationGroupType + - operationName: delete + cli: + name: Delete + cliKey: Delete + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: application_group_name(String^string) + cli: + name: applicationGroupName + cliKey: applicationGroupName + - operationName: update + cli: + name: Update + cliKey: Update + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: application_group_name(String^string) + cli: + name: applicationGroupName + cliKey: applicationGroupName + - parameterName[0]: content_type(application_json^constant) + cli: + name: ContentType + cliKey: content-type + - parameterName[0]: _application_group(ApplicationGroupPatch^object) + cli: + cliKey: applicationGroup + x-ms-client-flatten: true + bodySchema: ApplicationGroupPatch + - parameterName[0]: tags(any^any) + cli: + cliKey: tags + - parameterName[0]: description(ApplicationGroupPatchPropertiesDescription^string) + cli: + cliKey: description + - parameterName[0]: friendly_name(ApplicationGroupPatchPropertiesFriendlyName^string) + cli: + name: friendlyName + cliKey: friendlyName + - operationName: list_by_resource_group + cli: + name: ListByResourceGroup + cliKey: ListByResourceGroup + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: filter(String^string) + cli: + cliKey: $filter + - operationName: list_by_subscription + cli: + name: ListBySubscription + cliKey: ListBySubscription + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: filter(String^string) + cli: + cliKey: $filter + - operationGroupName: StartMenuItem + cli: + cliKey: StartMenuItems + hidden: true + operations: + - operationName: list + cli: + name: List + cliKey: List + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: application_group_name(String^string) + cli: + name: applicationGroupName + cliKey: applicationGroupName + - operationGroupName: Application + cli: + cliKey: Applications + hidden: true + operations: + - operationName: get + cli: + name: Get + cliKey: Get + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: application_group_name(String^string) + cli: + name: applicationGroupName + cliKey: applicationGroupName + - parameterName: application_name(String^string) + cli: + name: applicationName + cliKey: applicationName + - operationName: create_or_update + cli: + name: CreateOrUpdate + cliKey: CreateOrUpdate + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: application_group_name(String^string) + cli: + name: applicationGroupName + cliKey: applicationGroupName + - parameterName: application_name(String^string) + cli: + name: applicationName + cliKey: applicationName + - parameterName[0]: content_type(application_json^constant) + cli: + name: ContentType + cliKey: content-type + - parameterName[0]: _application(Application^object) + cli: + cliKey: application + x-ms-client-flatten: true + bodySchema: Application + - parameterName[0]: description(ApplicationPropertiesDescription^string) + cli: + cliKey: description + - parameterName[0]: friendly_name(ApplicationPropertiesFriendlyName^string) + cli: + name: friendlyName + cliKey: friendlyName + - parameterName[0]: file_path(ApplicationPropertiesFilePath^string) + cli: + name: filePath + cliKey: filePath + - parameterName[0]: command_line_setting(CommandLineSetting^choice) + cli: + name: commandLineSetting + cliKey: commandLineSetting + - parameterName[0]: command_line_arguments(ApplicationPropertiesCommandLineArguments^string) + cli: + name: commandLineArguments + cliKey: commandLineArguments + - parameterName[0]: show_in_portal(boolean^boolean) + cli: + name: showInPortal + cliKey: showInPortal + - parameterName[0]: icon_path(ApplicationPropertiesIconPath^string) + cli: + name: iconPath + cliKey: iconPath + - parameterName[0]: icon_index(Integer^integer) + cli: + name: iconIndex + cliKey: iconIndex + - operationName: delete + cli: + name: Delete + cliKey: Delete + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: application_group_name(String^string) + cli: + name: applicationGroupName + cliKey: applicationGroupName + - parameterName: application_name(String^string) + cli: + name: applicationName + cliKey: applicationName + - operationName: update + cli: + name: Update + cliKey: Update + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: application_group_name(String^string) + cli: + name: applicationGroupName + cliKey: applicationGroupName + - parameterName: application_name(String^string) + cli: + name: applicationName + cliKey: applicationName + - parameterName[0]: content_type(application_json^constant) + cli: + name: ContentType + cliKey: content-type + - parameterName[0]: _application(ApplicationPatch^object) + cli: + cliKey: application + x-ms-client-flatten: true + bodySchema: ApplicationPatch + - parameterName[0]: tags(any^any) + cli: + cliKey: tags + - parameterName[0]: description(ApplicationPatchPropertiesDescription^string) + cli: + cliKey: description + - parameterName[0]: friendly_name(ApplicationPatchPropertiesFriendlyName^string) + cli: + name: friendlyName + cliKey: friendlyName + - parameterName[0]: file_path(ApplicationPatchPropertiesFilePath^string) + cli: + name: filePath + cliKey: filePath + - parameterName[0]: command_line_setting(CommandLineSetting^choice) + cli: + name: commandLineSetting + cliKey: commandLineSetting + - parameterName[0]: command_line_arguments(ApplicationPatchPropertiesCommandLineArguments^string) + cli: + name: commandLineArguments + cliKey: commandLineArguments + - parameterName[0]: show_in_portal(boolean^boolean) + cli: + name: showInPortal + cliKey: showInPortal + - parameterName[0]: icon_path(ApplicationPatchPropertiesIconPath^string) + cli: + name: iconPath + cliKey: iconPath + - parameterName[0]: icon_index(Integer^integer) + cli: + name: iconIndex + cliKey: iconIndex + - operationName: list + cli: + name: List + cliKey: List + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: application_group_name(String^string) + cli: + name: applicationGroupName + cliKey: applicationGroupName + - operationGroupName: Desktop + cli: + cliKey: Desktops + hidden: true + operations: + - operationName: get + cli: + name: Get + cliKey: Get + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: application_group_name(String^string) + cli: + name: applicationGroupName + cliKey: applicationGroupName + - parameterName: desktop_name(String^string) + cli: + name: desktopName + cliKey: desktopName + - operationName: update + cli: + name: Update + cliKey: Update + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: application_group_name(String^string) + cli: + name: applicationGroupName + cliKey: applicationGroupName + - parameterName: desktop_name(String^string) + cli: + name: desktopName + cliKey: desktopName + - parameterName[0]: content_type(application_json^constant) + cli: + name: ContentType + cliKey: content-type + - parameterName[0]: _desktop(DesktopPatch^object) + cli: + cliKey: desktop + x-ms-client-flatten: true + bodySchema: DesktopPatch + - parameterName[0]: tags(any^any) + cli: + cliKey: tags + - parameterName[0]: description(DesktopPatchPropertiesDescription^string) + cli: + cliKey: description + - parameterName[0]: friendly_name(DesktopPatchPropertiesFriendlyName^string) + cli: + name: friendlyName + cliKey: friendlyName + - operationName: list + cli: + name: List + cliKey: List + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: application_group_name(String^string) + cli: + name: applicationGroupName + cliKey: applicationGroupName + - operationGroupName: HostPool + cli: + cliKey: HostPools + operations: + - operationName: get + cli: + name: Get + cliKey: Get + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: host_pool_name(String^string) + cli: + name: hostPoolName + cliKey: hostPoolName + - operationName: create_or_update + cli: + name: CreateOrUpdate + cliKey: CreateOrUpdate + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: host_pool_name(String^string) + cli: + name: hostPoolName + cliKey: hostPoolName + - parameterName[0]: content_type(application_json^constant) + cli: + name: ContentType + cliKey: content-type + - parameterName[0]: _host_pool(HostPool^object) + cli: + cliKey: hostPool + x-ms-client-flatten: true + bodySchema: HostPool + - parameterName[0]: tags(TrackedResourceTags^dictionary) + cli: + cliKey: tags + - parameterName[0]: location(TrackedResourceLocation^string) + cli: + cliKey: location + - parameterName[0]: friendly_name(HostPoolPropertiesFriendlyName^string) + cli: + name: friendlyName + cliKey: friendlyName + - parameterName[0]: description(HostPoolPropertiesDescription^string) + cli: + cliKey: description + - parameterName[0]: host_pool_type(HostPoolType^choice) + cli: + name: hostPoolType + cliKey: hostPoolType + - parameterName[0]: personal_desktop_assignment_type(PersonalDesktopAssignmentType^choice) + cli: + name: personalDesktopAssignmentType + cliKey: personalDesktopAssignmentType + - parameterName[0]: custom_rdp_property(HostPoolPropertiesCustomRdpProperty^string) + cli: + name: customRdpProperty + cliKey: customRdpProperty + - parameterName[0]: max_session_limit(Integer^integer) + cli: + name: maxSessionLimit + cliKey: maxSessionLimit + - parameterName[0]: load_balancer_type(LoadBalancerType^choice) + cli: + name: loadBalancerType + cliKey: loadBalancerType + - parameterName[0]: ring(Integer^integer) + cli: + cliKey: ring + - parameterName[0]: validation_environment(boolean^boolean) + cli: + name: validationEnvironment + cliKey: validationEnvironment + - parameterName[0]: registration_info(RegistrationInfo^object) + cli: + name: registrationInfo + cliKey: registrationInfo + - parameterName[0]: vm_template(HostPoolPropertiesVmTemplate^string) + cli: + name: vmTemplate + cliKey: vmTemplate + - parameterName[0]: sso_context(HostPoolPropertiesSsoContext^string) + cli: + name: ssoContext + cliKey: ssoContext + - operationName: delete + cli: + name: Delete + cliKey: Delete + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: host_pool_name(String^string) + cli: + name: hostPoolName + cliKey: hostPoolName + - parameterName: force(boolean^boolean) + cli: + cliKey: force + - operationName: update + cli: + name: Update + cliKey: Update + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: host_pool_name(String^string) + cli: + name: hostPoolName + cliKey: hostPoolName + - parameterName[0]: content_type(application_json^constant) + cli: + name: ContentType + cliKey: content-type + - parameterName[0]: _host_pool(HostPoolPatch^object) + cli: + cliKey: hostPool + x-ms-client-flatten: true + bodySchema: HostPoolPatch + - parameterName[0]: tags(any^any) + cli: + cliKey: tags + - parameterName[0]: friendly_name(HostPoolPatchPropertiesFriendlyName^string) + cli: + name: friendlyName + cliKey: friendlyName + - parameterName[0]: description(HostPoolPatchPropertiesDescription^string) + cli: + cliKey: description + - parameterName[0]: custom_rdp_property(HostPoolPatchPropertiesCustomRdpProperty^string) + cli: + name: customRdpProperty + cliKey: customRdpProperty + - parameterName[0]: max_session_limit(Integer^integer) + cli: + name: maxSessionLimit + cliKey: maxSessionLimit + - parameterName[0]: personal_desktop_assignment_type(PersonalDesktopAssignmentType^choice) + cli: + name: personalDesktopAssignmentType + cliKey: personalDesktopAssignmentType + - parameterName[0]: load_balancer_type(LoadBalancerType^choice) + cli: + name: loadBalancerType + cliKey: loadBalancerType + - parameterName[0]: ring(Integer^integer) + cli: + cliKey: ring + - parameterName[0]: validation_environment(boolean^boolean) + cli: + name: validationEnvironment + cliKey: validationEnvironment + - parameterName[0]: registration_info(RegistrationInfoPatch^object) + cli: + name: registrationInfo + cliKey: registrationInfo + - parameterName[0]: sso_context(HostPoolPatchPropertiesSsoContext^string) + cli: + name: ssoContext + cliKey: ssoContext + - operationName: list_by_resource_group + cli: + name: ListByResourceGroup + cliKey: ListByResourceGroup + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - operationName: list + cli: + name: List + cliKey: List + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - operationGroupName: UserSession + cli: + cliKey: UserSessions + hidden: true + operations: + - operationName: list_by_host_pool + cli: + name: ListByHostPool + cliKey: ListByHostPool + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: host_pool_name(String^string) + cli: + name: hostPoolName + cliKey: hostPoolName + - parameterName: filter(String^string) + cli: + cliKey: $filter + - operationName: get + cli: + name: Get + cliKey: Get + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: host_pool_name(String^string) + cli: + name: hostPoolName + cliKey: hostPoolName + - parameterName: session_host_name(String^string) + cli: + name: sessionHostName + cliKey: sessionHostName + - parameterName: user_session_id(String^string) + cli: + name: userSessionId + cliKey: userSessionId + - operationName: delete + cli: + name: Delete + cliKey: Delete + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: host_pool_name(String^string) + cli: + name: hostPoolName + cliKey: hostPoolName + - parameterName: session_host_name(String^string) + cli: + name: sessionHostName + cliKey: sessionHostName + - parameterName: user_session_id(String^string) + cli: + name: userSessionId + cliKey: userSessionId + - parameterName: force(boolean^boolean) + cli: + cliKey: force + - operationName: list + cli: + name: List + cliKey: List + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: host_pool_name(String^string) + cli: + name: hostPoolName + cliKey: hostPoolName + - parameterName: session_host_name(String^string) + cli: + name: sessionHostName + cliKey: sessionHostName + - operationName: disconnect + cli: + name: Disconnect + cliKey: Disconnect + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: host_pool_name(String^string) + cli: + name: hostPoolName + cliKey: hostPoolName + - parameterName: session_host_name(String^string) + cli: + name: sessionHostName + cliKey: sessionHostName + - parameterName: user_session_id(String^string) + cli: + name: userSessionId + cliKey: userSessionId + - operationName: send_message + cli: + name: SendMessage + cliKey: SendMessage + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: host_pool_name(String^string) + cli: + name: hostPoolName + cliKey: hostPoolName + - parameterName: session_host_name(String^string) + cli: + name: sessionHostName + cliKey: sessionHostName + - parameterName: user_session_id(String^string) + cli: + name: userSessionId + cliKey: userSessionId + - parameterName[0]: content_type(application_json^constant) + cli: + name: ContentType + cliKey: content-type + - parameterName[0]: _send_message(SendMessage^object) + cli: + cliKey: sendMessage + x-ms-client-flatten: true + bodySchema: SendMessage + - parameterName[0]: message_title(SendMessageTitle^string) + cli: + name: messageTitle + cliKey: messageTitle + - parameterName[0]: message_body(SendMessageBody^string) + cli: + name: messageBody + cliKey: messageBody + - operationGroupName: SessionHost + cli: + cliKey: SessionHosts + hidden: true + operations: + - operationName: get + cli: + name: Get + cliKey: Get + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: host_pool_name(String^string) + cli: + name: hostPoolName + cliKey: hostPoolName + - parameterName: session_host_name(String^string) + cli: + name: sessionHostName + cliKey: sessionHostName + - operationName: delete + cli: + name: Delete + cliKey: Delete + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: host_pool_name(String^string) + cli: + name: hostPoolName + cliKey: hostPoolName + - parameterName: session_host_name(String^string) + cli: + name: sessionHostName + cliKey: sessionHostName + - parameterName: force(boolean^boolean) + cli: + cliKey: force + - operationName: update + cli: + name: Update + cliKey: Update + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: host_pool_name(String^string) + cli: + name: hostPoolName + cliKey: hostPoolName + - parameterName: session_host_name(String^string) + cli: + name: sessionHostName + cliKey: sessionHostName + - parameterName[0]: content_type(application_json^constant) + cli: + name: ContentType + cliKey: content-type + - parameterName[0]: _session_host(SessionHostPatch^object) + cli: + cliKey: sessionHost + x-ms-client-flatten: true + bodySchema: SessionHostPatch + - parameterName[0]: allow_new_session(boolean^boolean) + cli: + name: allowNewSession + cliKey: allowNewSession + - parameterName[0]: assigned_user(SessionHostPatchPropertiesAssignedUser^string) + cli: + name: assignedUser + cliKey: assignedUser + - operationName: list + cli: + name: List + cliKey: List + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: host_pool_name(String^string) + cli: + name: hostPoolName + cliKey: hostPoolName + - operationGroupName: ActiveApplication + cli: + cliKey: ActiveApplications + hidden: true + operations: + - operationName: list_by_session_host + cli: + name: ListBySessionHost + cliKey: ListBySessionHost + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: host_pool_name(String^string) + cli: + name: hostPoolName + cliKey: hostPoolName + - parameterName: session_host_name(String^string) + cli: + name: sessionHostName + cliKey: sessionHostName + - parameterName: filter(String^string) + cli: + cliKey: $filter +schemas: + objects: + all: + - schemaName: ResourceProviderOperationList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ResourceProviderOperationList + properties: + - propertyName: value(ResourceProviderOperationListValue^array) + cli: + cliKey: value + - schemaName: ResourceProviderOperation + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 5 + propertyCountIfSimplifyWithoutSimpleObject: 2 + simplifiable: true + cliKey: ResourceProviderOperation + properties: + - propertyName: name(ResourceProviderOperationName^string) + cli: + cliKey: name + - propertyName: display(ResourceProviderOperationDisplay^object) + cli: + cliKey: display + - schemaName: ResourceProviderOperationDisplay + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 4 + propertyCountIfSimplifyWithoutSimpleObject: 4 + simplifiable: true + cliKey: ResourceProviderOperation-display + properties: + - propertyName: provider(ResourceProviderOperationDisplayProvider^string) + cli: + cliKey: provider + - propertyName: resource(ResourceProviderOperationDisplayResource^string) + cli: + cliKey: resource + - propertyName: operation(ResourceProviderOperationDisplayOperation^string) + cli: + cliKey: operation + - propertyName: description(ResourceProviderOperationDisplayDescription^string) + cli: + cliKey: description + - schemaName: Resource + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 0 + propertyCountIfSimplifyWithoutSimpleObject: 0 + simplifiable: true + cliKey: Resource + properties: + - propertyName: id(ResourceId^string) + cli: + cliKey: id + readOnly: true + - propertyName: name(ResourceName^string) + cli: + cliKey: name + readOnly: true + - propertyName: type(ResourceType^string) + cli: + cliKey: type + readOnly: true + - schemaName: TrackedResource + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: TrackedResource + properties: + - propertyName: tags(TrackedResourceTags^dictionary) + cli: + cliKey: tags + - propertyName: location(TrackedResourceLocation^string) + cli: + cliKey: location + - schemaName: Workspace + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: Workspace + properties: + - propertyName: description(WorkspacePropertiesDescription^string) + cli: + cliKey: description + - propertyName: friendly_name(WorkspacePropertiesFriendlyName^string) + cli: + name: friendlyName + cliKey: friendlyName + - propertyName: application_group_references(WorkspacePropertiesApplicationGroupReferences^array) + cli: + name: applicationGroupReferences + cliKey: applicationGroupReferences + - schemaName: CloudError + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 2 + simplifiable: true + cliKey: CloudError + properties: + - propertyName: code(CloudErrorCode^string) + cli: + cliKey: code + - propertyName: message(CloudErrorMessage^string) + cli: + cliKey: message + - schemaName: WorkspacePatch + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: WorkspacePatch + properties: + - propertyName: tags(any^any) + cli: + cliKey: tags + - propertyName: description(WorkspacePatchPropertiesDescription^string) + cli: + cliKey: description + - propertyName: friendly_name(WorkspacePatchPropertiesFriendlyName^string) + cli: + name: friendlyName + cliKey: friendlyName + - propertyName: application_group_references(WorkspacePatchPropertiesApplicationGroupReferences^array) + cli: + name: applicationGroupReferences + cliKey: applicationGroupReferences + - schemaName: WorkspaceList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: WorkspaceList + properties: + - propertyName: value(WorkspaceListValue^array) + cli: + cliKey: value + - propertyName: next_link(WorkspaceListNextLink^string) + cli: + name: nextLink + cliKey: nextLink + readOnly: true + - schemaName: ApplicationGroupList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ApplicationGroupList + properties: + - propertyName: value(ApplicationGroupListValue^array) + cli: + cliKey: value + - propertyName: next_link(ApplicationGroupListNextLink^string) + cli: + name: nextLink + cliKey: nextLink + readOnly: true + - schemaName: ApplicationGroup + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ApplicationGroup + properties: + - propertyName: description(ApplicationGroupPropertiesDescription^string) + cli: + cliKey: description + - propertyName: friendly_name(ApplicationGroupPropertiesFriendlyName^string) + cli: + name: friendlyName + cliKey: friendlyName + - propertyName: host_pool_arm_path(ApplicationGroupPropertiesHostPoolArmPath^string) + cli: + name: hostPoolArmPath + cliKey: hostPoolArmPath + - propertyName: workspace_arm_path(ApplicationGroupPropertiesWorkspaceArmPath^string) + cli: + name: workspaceArmPath + cliKey: workspaceArmPath + readOnly: true + - propertyName: application_group_type(ApplicationGroupType^choice) + cli: + name: applicationGroupType + cliKey: applicationGroupType + - schemaName: ApplicationGroupPatch + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ApplicationGroupPatch + properties: + - propertyName: tags(any^any) + cli: + cliKey: tags + - propertyName: description(ApplicationGroupPatchPropertiesDescription^string) + cli: + cliKey: description + - propertyName: friendly_name(ApplicationGroupPatchPropertiesFriendlyName^string) + cli: + name: friendlyName + cliKey: friendlyName + - schemaName: StartMenuItemList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: StartMenuItemList + properties: + - propertyName: value(StartMenuItemListValue^array) + cli: + cliKey: value + - propertyName: next_link(StartMenuItemListNextLink^string) + cli: + name: nextLink + cliKey: nextLink + readOnly: true + - schemaName: StartMenuItem + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 6 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: StartMenuItem + properties: + - propertyName: app_alias(StartMenuItemPropertiesAppAlias^string) + cli: + name: appAlias + cliKey: appAlias + - propertyName: friendly_name(StartMenuItemPropertiesFriendlyName^string) + cli: + name: friendlyName + cliKey: friendlyName + - propertyName: file_path(StartMenuItemPropertiesFilePath^string) + cli: + name: filePath + cliKey: filePath + - propertyName: command_line_arguments(StartMenuItemPropertiesCommandLineArguments^string) + cli: + name: commandLineArguments + cliKey: commandLineArguments + - propertyName: icon_path(StartMenuItemPropertiesIconPath^string) + cli: + name: iconPath + cliKey: iconPath + - propertyName: icon_index(Integer^integer) + cli: + name: iconIndex + cliKey: iconIndex + - schemaName: Application + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 8 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: Application + properties: + - propertyName: description(ApplicationPropertiesDescription^string) + cli: + cliKey: description + - propertyName: friendly_name(ApplicationPropertiesFriendlyName^string) + cli: + name: friendlyName + cliKey: friendlyName + - propertyName: file_path(ApplicationPropertiesFilePath^string) + cli: + name: filePath + cliKey: filePath + - propertyName: command_line_setting(CommandLineSetting^choice) + cli: + name: commandLineSetting + cliKey: commandLineSetting + - propertyName: command_line_arguments(ApplicationPropertiesCommandLineArguments^string) + cli: + name: commandLineArguments + cliKey: commandLineArguments + - propertyName: show_in_portal(boolean^boolean) + cli: + name: showInPortal + cliKey: showInPortal + - propertyName: icon_path(ApplicationPropertiesIconPath^string) + cli: + name: iconPath + cliKey: iconPath + - propertyName: icon_index(Integer^integer) + cli: + name: iconIndex + cliKey: iconIndex + - propertyName: icon_hash(ApplicationPropertiesIconHash^string) + cli: + name: iconHash + cliKey: iconHash + readOnly: true + - propertyName: icon_content(application_properties_icon_content^byte-array) + cli: + name: iconContent + cliKey: iconContent + readOnly: true + - schemaName: ApplicationPatch + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ApplicationPatch + properties: + - propertyName: tags(any^any) + cli: + cliKey: tags + - propertyName: description(ApplicationPatchPropertiesDescription^string) + cli: + cliKey: description + - propertyName: friendly_name(ApplicationPatchPropertiesFriendlyName^string) + cli: + name: friendlyName + cliKey: friendlyName + - propertyName: file_path(ApplicationPatchPropertiesFilePath^string) + cli: + name: filePath + cliKey: filePath + - propertyName: command_line_setting(CommandLineSetting^choice) + cli: + name: commandLineSetting + cliKey: commandLineSetting + - propertyName: command_line_arguments(ApplicationPatchPropertiesCommandLineArguments^string) + cli: + name: commandLineArguments + cliKey: commandLineArguments + - propertyName: show_in_portal(boolean^boolean) + cli: + name: showInPortal + cliKey: showInPortal + - propertyName: icon_path(ApplicationPatchPropertiesIconPath^string) + cli: + name: iconPath + cliKey: iconPath + - propertyName: icon_index(Integer^integer) + cli: + name: iconIndex + cliKey: iconIndex + - schemaName: ApplicationList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ApplicationList + properties: + - propertyName: value(ApplicationListValue^array) + cli: + cliKey: value + - propertyName: next_link(ApplicationListNextLink^string) + cli: + name: nextLink + cliKey: nextLink + readOnly: true + - schemaName: Desktop + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: Desktop + properties: + - propertyName: description(DesktopPropertiesDescription^string) + cli: + cliKey: description + - propertyName: friendly_name(DesktopPropertiesFriendlyName^string) + cli: + name: friendlyName + cliKey: friendlyName + - propertyName: icon_hash(DesktopPropertiesIconHash^string) + cli: + name: iconHash + cliKey: iconHash + readOnly: true + - propertyName: icon_content(desktop_properties_icon_content^byte-array) + cli: + name: iconContent + cliKey: iconContent + readOnly: true + - schemaName: DesktopPatch + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: DesktopPatch + properties: + - propertyName: tags(any^any) + cli: + cliKey: tags + - propertyName: description(DesktopPatchPropertiesDescription^string) + cli: + cliKey: description + - propertyName: friendly_name(DesktopPatchPropertiesFriendlyName^string) + cli: + name: friendlyName + cliKey: friendlyName + - schemaName: DesktopList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: DesktopList + properties: + - propertyName: value(DesktopListValue^array) + cli: + cliKey: value + - propertyName: next_link(DesktopListNextLink^string) + cli: + name: nextLink + cliKey: nextLink + readOnly: true + - schemaName: HostPool + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: HostPool + properties: + - propertyName: friendly_name(HostPoolPropertiesFriendlyName^string) + cli: + name: friendlyName + cliKey: friendlyName + - propertyName: description(HostPoolPropertiesDescription^string) + cli: + cliKey: description + - propertyName: host_pool_type(HostPoolType^choice) + cli: + name: hostPoolType + cliKey: hostPoolType + - propertyName: personal_desktop_assignment_type(PersonalDesktopAssignmentType^choice) + cli: + name: personalDesktopAssignmentType + cliKey: personalDesktopAssignmentType + - propertyName: custom_rdp_property(HostPoolPropertiesCustomRdpProperty^string) + cli: + name: customRdpProperty + cliKey: customRdpProperty + - propertyName: max_session_limit(Integer^integer) + cli: + name: maxSessionLimit + cliKey: maxSessionLimit + - propertyName: load_balancer_type(LoadBalancerType^choice) + cli: + name: loadBalancerType + cliKey: loadBalancerType + - propertyName: ring(Integer^integer) + cli: + cliKey: ring + - propertyName: validation_environment(boolean^boolean) + cli: + name: validationEnvironment + cliKey: validationEnvironment + - propertyName: registration_info(RegistrationInfo^object) + cli: + name: registrationInfo + cliKey: registrationInfo + - propertyName: vm_template(HostPoolPropertiesVmTemplate^string) + cli: + name: vmTemplate + cliKey: vmTemplate + - propertyName: application_group_references(HostPoolPropertiesApplicationGroupReferences^array) + cli: + name: applicationGroupReferences + cliKey: applicationGroupReferences + readOnly: true + - propertyName: sso_context(HostPoolPropertiesSsoContext^string) + cli: + name: ssoContext + cliKey: ssoContext + - schemaName: RegistrationInfo + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 3 + propertyCountIfSimplifyWithoutSimpleObject: 3 + simplifiable: true + cliKey: RegistrationInfo + properties: + - propertyName: expiration_time(registration_info_expiration_time^date-time) + cli: + name: expirationTime + cliKey: expirationTime + - propertyName: token(RegistrationInfoToken^string) + cli: + cliKey: token + - propertyName: registration_token_operation(RegistrationTokenOperation^choice) + cli: + name: registrationTokenOperation + cliKey: registrationTokenOperation + - schemaName: HostPoolPatch + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: HostPoolPatch + properties: + - propertyName: tags(any^any) + cli: + cliKey: tags + - propertyName: friendly_name(HostPoolPatchPropertiesFriendlyName^string) + cli: + name: friendlyName + cliKey: friendlyName + - propertyName: description(HostPoolPatchPropertiesDescription^string) + cli: + cliKey: description + - propertyName: custom_rdp_property(HostPoolPatchPropertiesCustomRdpProperty^string) + cli: + name: customRdpProperty + cliKey: customRdpProperty + - propertyName: max_session_limit(Integer^integer) + cli: + name: maxSessionLimit + cliKey: maxSessionLimit + - propertyName: personal_desktop_assignment_type(PersonalDesktopAssignmentType^choice) + cli: + name: personalDesktopAssignmentType + cliKey: personalDesktopAssignmentType + - propertyName: load_balancer_type(LoadBalancerType^choice) + cli: + name: loadBalancerType + cliKey: loadBalancerType + - propertyName: ring(Integer^integer) + cli: + cliKey: ring + - propertyName: validation_environment(boolean^boolean) + cli: + name: validationEnvironment + cliKey: validationEnvironment + - propertyName: registration_info(RegistrationInfoPatch^object) + cli: + name: registrationInfo + cliKey: registrationInfo + - propertyName: sso_context(HostPoolPatchPropertiesSsoContext^string) + cli: + name: ssoContext + cliKey: ssoContext + - schemaName: RegistrationInfoPatch + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 1 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: RegistrationInfoPatch + properties: + - propertyName: registration_token_operation(RegistrationTokenOperation^choice) + cli: + name: registrationTokenOperation + cliKey: registrationTokenOperation + - schemaName: HostPoolList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: HostPoolList + properties: + - propertyName: value(HostPoolListValue^array) + cli: + cliKey: value + - propertyName: next_link(HostPoolListNextLink^string) + cli: + name: nextLink + cliKey: nextLink + readOnly: true + - schemaName: UserSessionList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: UserSessionList + properties: + - propertyName: value(UserSessionListValue^array) + cli: + cliKey: value + - propertyName: next_link(UserSessionListNextLink^string) + cli: + name: nextLink + cliKey: nextLink + readOnly: true + - schemaName: UserSession + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 5 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: UserSession + properties: + - propertyName: user_principal_name(UserSessionPropertiesUserPrincipalName^string) + cli: + name: userPrincipalName + cliKey: userPrincipalName + - propertyName: application_type(ApplicationType^choice) + cli: + name: applicationType + cliKey: applicationType + - propertyName: session_state(SessionState^choice) + cli: + name: sessionState + cliKey: sessionState + - propertyName: active_directory_user_name(UserSessionPropertiesActiveDirectoryUserName^string) + cli: + name: activeDirectoryUserName + cliKey: activeDirectoryUserName + - propertyName: create_time(user_session_properties_create_time^date-time) + cli: + name: createTime + cliKey: createTime + - schemaName: SessionHost + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: SessionHost + properties: + - propertyName: last_heart_beat(session_host_properties_last_heart_beat^date-time) + cli: + name: lastHeartBeat + cliKey: lastHeartBeat + - propertyName: sessions(Integer^integer) + cli: + cliKey: sessions + - propertyName: agent_version(SessionHostPropertiesAgentVersion^string) + cli: + name: agentVersion + cliKey: agentVersion + - propertyName: allow_new_session(boolean^boolean) + cli: + name: allowNewSession + cliKey: allowNewSession + - propertyName: assigned_user(SessionHostPropertiesAssignedUser^string) + cli: + name: assignedUser + cliKey: assignedUser + - propertyName: status(Status^choice) + cli: + cliKey: status + - propertyName: status_timestamp(session_host_properties_status_timestamp^date-time) + cli: + name: statusTimestamp + cliKey: statusTimestamp + readOnly: true + - propertyName: os_version(SessionHostPropertiesOsVersion^string) + cli: + name: osVersion + cliKey: osVersion + - propertyName: sx_s_stack_version(SessionHostPropertiesSxSStackVersion^string) + cli: + name: sxSStackVersion + cliKey: sxSStackVersion + - propertyName: update_state(UpdateState^choice) + cli: + name: updateState + cliKey: updateState + - propertyName: last_update_time(session_host_properties_last_update_time^date-time) + cli: + name: lastUpdateTime + cliKey: lastUpdateTime + readOnly: true + - propertyName: update_error_message(SessionHostPropertiesUpdateErrorMessage^string) + cli: + name: updateErrorMessage + cliKey: updateErrorMessage + - schemaName: SessionHostPatch + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: SessionHostPatch + properties: + - propertyName: allow_new_session(boolean^boolean) + cli: + name: allowNewSession + cliKey: allowNewSession + - propertyName: assigned_user(SessionHostPatchPropertiesAssignedUser^string) + cli: + name: assignedUser + cliKey: assignedUser + - schemaName: SessionHostList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: SessionHostList + properties: + - propertyName: value(SessionHostListValue^array) + cli: + cliKey: value + - propertyName: next_link(SessionHostListNextLink^string) + cli: + name: nextLink + cliKey: nextLink + readOnly: true + - schemaName: SendMessage + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 2 + simplifiable: true + cliKey: SendMessage + properties: + - propertyName: message_title(SendMessageTitle^string) + cli: + name: messageTitle + cliKey: messageTitle + - propertyName: message_body(SendMessageBody^string) + cli: + name: messageBody + cliKey: messageBody + choices: + all: + - choiceName: ApplicationGroupType + cli: + cliKey: ApplicationGroupType + choiceValues: + - choiceValue: remote_app + cli: + name: RemoteApp + cliKey: RemoteApp + - choiceValue: desktop + cli: + name: Desktop + cliKey: Desktop + - choiceName: CommandLineSetting + cli: + cliKey: CommandLineSetting + choiceValues: + - choiceValue: do_not_allow + cli: + name: DoNotAllow + cliKey: DoNotAllow + - choiceValue: allow + cli: + name: Allow + cliKey: Allow + - choiceValue: require + cli: + name: Require + cliKey: Require + - choiceName: HostPoolType + cli: + cliKey: HostPoolType + choiceValues: + - choiceValue: personal + cli: + name: Personal + cliKey: Personal + - choiceValue: pooled + cli: + name: Pooled + cliKey: Pooled + - choiceName: PersonalDesktopAssignmentType + cli: + cliKey: PersonalDesktopAssignmentType + choiceValues: + - choiceValue: automatic + cli: + name: Automatic + cliKey: Automatic + - choiceValue: direct + cli: + name: Direct + cliKey: Direct + - choiceName: LoadBalancerType + cli: + cliKey: LoadBalancerType + choiceValues: + - choiceValue: breadth_first + cli: + name: BreadthFirst + cliKey: BreadthFirst + - choiceValue: depth_first + cli: + name: DepthFirst + cliKey: DepthFirst + - choiceValue: persistent + cli: + name: Persistent + cliKey: Persistent + - choiceName: RegistrationTokenOperation + cli: + cliKey: RegistrationTokenOperation + choiceValues: + - choiceValue: delete + cli: + name: Delete + cliKey: Delete + - choiceValue: none + cli: + name: None + cliKey: None + - choiceValue: update + cli: + name: Update + cliKey: Update + - choiceName: ApplicationType + cli: + cliKey: ApplicationType + choiceValues: + - choiceValue: remote_app + cli: + name: RemoteApp + cliKey: RemoteApp + - choiceValue: desktop + cli: + name: Desktop + cliKey: Desktop + - choiceName: SessionState + cli: + cliKey: SessionState + choiceValues: + - choiceValue: unknown + cli: + name: Unknown + cliKey: Unknown + - choiceValue: active + cli: + name: Active + cliKey: Active + - choiceValue: disconnected + cli: + name: Disconnected + cliKey: Disconnected + - choiceValue: pending + cli: + name: Pending + cliKey: Pending + - choiceValue: log_off + cli: + name: LogOff + cliKey: LogOff + - choiceValue: user_profile_disk_mounted + cli: + name: UserProfileDiskMounted + cliKey: UserProfileDiskMounted + - choiceName: Status + cli: + cliKey: Status + choiceValues: + - choiceValue: available + cli: + name: Available + cliKey: Available + - choiceValue: unavailable + cli: + name: Unavailable + cliKey: Unavailable + - choiceValue: shutdown + cli: + name: Shutdown + cliKey: Shutdown + - choiceValue: disconnected + cli: + name: Disconnected + cliKey: Disconnected + - choiceValue: upgrading + cli: + name: Upgrading + cliKey: Upgrading + - choiceValue: upgrade_failed + cli: + name: UpgradeFailed + cliKey: UpgradeFailed + - choiceName: UpdateState + cli: + cliKey: UpdateState + choiceValues: + - choiceValue: initial + cli: + name: Initial + cliKey: Initial + - choiceValue: pending + cli: + name: Pending + cliKey: Pending + - choiceValue: started + cli: + name: Started + cliKey: Started + - choiceValue: succeeded + cli: + name: Succeeded + cliKey: Succeeded + - choiceValue: failed + cli: + name: Failed + cliKey: Failed diff --git a/src/desktopvirtualization/_az_debug/clicommon-000100-poly-as-resource-pre.yaml b/src/desktopvirtualization/_az_debug/clicommon-000100-poly-as-resource-pre.yaml new file mode 100644 index 00000000000..96d8540f7d4 --- /dev/null +++ b/src/desktopvirtualization/_az_debug/clicommon-000100-poly-as-resource-pre.yaml @@ -0,0 +1,11138 @@ +info: + title: Desktop Virtualization API Client + extensions: + cli-dump-index: 100 +schemas: + booleans: + - &ref_53 + type: boolean + language: + default: + name: boolean + description: Specifies whether to show the RemoteApp program in the RD Web Access server. + protocol: {} + - &ref_27 + type: boolean + language: + default: + name: boolean + description: Is validation environment. + protocol: {} + - &ref_356 + type: boolean + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: boolean + description: '' + protocol: {} + - &ref_73 + type: boolean + language: + default: + name: boolean + description: Allow a new session. + protocol: {} + numbers: + - &ref_47 + type: integer + precision: 32 + language: + default: + name: Integer + description: Index of the icon. + cli: + name: Integer + description: Index of the icon. + protocol: {} + - &ref_24 + type: integer + precision: 32 + language: + default: + name: Integer + description: The max session limit of HostPool. + cli: + name: Integer + description: The max session limit of HostPool. + protocol: {} + - &ref_26 + type: integer + precision: 32 + language: + default: + name: Integer + description: The ring number of HostPool. + cli: + name: Integer + description: The ring number of HostPool. + protocol: {} + - &ref_71 + type: integer + precision: 32 + language: + default: + name: Integer + description: Number of sessions on SessionHost. + cli: + name: Integer + description: Number of sessions on SessionHost. + protocol: {} + strings: + - &ref_0 + type: string + language: + default: + name: String + description: simple string + cli: + name: String + description: simple string + protocol: {} + - &ref_2 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ResourceProviderOperationName + description: 'Operation name, in format of {provider}/{resource}/{operation}' + cli: + name: ResourceProviderOperationName + description: 'Operation name, in format of {provider}/{resource}/{operation}' + protocol: {} + - &ref_3 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ResourceProviderOperationDisplayProvider + description: 'Resource provider: Microsoft Desktop Virtualization.' + cli: + name: ResourceProviderOperationDisplayProvider + description: 'Resource provider: Microsoft Desktop Virtualization.' + protocol: {} + - &ref_4 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ResourceProviderOperationDisplayResource + description: Resource on which the operation is performed. + cli: + name: ResourceProviderOperationDisplayResource + description: Resource on which the operation is performed. + protocol: {} + - &ref_5 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ResourceProviderOperationDisplayOperation + description: 'Type of operation: get, read, delete, etc.' + cli: + name: ResourceProviderOperationDisplayOperation + description: 'Type of operation: get, read, delete, etc.' + protocol: {} + - &ref_6 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ResourceProviderOperationDisplayDescription + description: Description of this operation. + cli: + name: ResourceProviderOperationDisplayDescription + description: Description of this operation. + protocol: {} + - &ref_130 + type: string + apiVersions: + - version: '1.0' + minLength: 1 + language: + default: + name: String + description: '' + cli: + name: String + description: '' + protocol: {} + - &ref_136 + type: string + apiVersions: + - version: '1.0' + maxLength: 90 + minLength: 1 + pattern: '^[-\w\._\(\)]+$' + language: + default: + name: String + description: '' + cli: + name: String + description: '' + protocol: {} + - &ref_137 + type: string + apiVersions: + - version: 2019-12-10-preview + maxLength: 24 + minLength: 3 + language: + default: + name: String + description: '' + cli: + name: String + description: '' + protocol: {} + - &ref_91 + type: string + apiVersions: + - version: '1.0' + language: + default: + name: ResourceId + description: 'Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' + cli: + name: ResourceId + description: 'Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' + protocol: {} + - &ref_92 + type: string + apiVersions: + - version: '1.0' + language: + default: + name: ResourceName + description: The name of the resource + cli: + name: ResourceName + description: The name of the resource + protocol: {} + - &ref_93 + type: string + apiVersions: + - version: '1.0' + language: + default: + name: ResourceType + description: The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + cli: + name: ResourceType + description: The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + protocol: {} + - &ref_1 + type: string + apiVersions: + - version: '1.0' + language: + default: + name: String + description: '' + cli: + name: String + description: '' + protocol: {} + - &ref_38 + type: string + apiVersions: + - version: '1.0' + extensions: + x-ms-mutability: + - read + - create + language: + default: + name: TrackedResourceLocation + description: The geo-location where the resource lives + cli: + name: TrackedResourceLocation + description: The geo-location where the resource lives + protocol: {} + - &ref_11 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: WorkspacePropertiesDescription + description: Description of Workspace. + cli: + name: WorkspacePropertiesDescription + description: Description of Workspace. + protocol: {} + - &ref_12 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: WorkspacePropertiesFriendlyName + description: Friendly name of Workspace. + cli: + name: WorkspacePropertiesFriendlyName + description: Friendly name of Workspace. + protocol: {} + - &ref_13 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: WorkspacePropertiesApplicationGroupReferencesItem + description: '' + cli: + name: WorkspacePropertiesApplicationGroupReferencesItem + description: '' + protocol: {} + - &ref_94 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: CloudErrorCode + description: Error code + cli: + name: CloudErrorCode + description: Error code + protocol: {} + - &ref_95 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: CloudErrorMessage + description: Error message indicating why the operation failed. + cli: + name: CloudErrorMessage + description: Error message indicating why the operation failed. + protocol: {} + - &ref_96 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: WorkspacePatchPropertiesDescription + description: Description of Workspace. + cli: + name: WorkspacePatchPropertiesDescription + description: Description of Workspace. + protocol: {} + - &ref_97 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: WorkspacePatchPropertiesFriendlyName + description: Friendly name of Workspace. + cli: + name: WorkspacePatchPropertiesFriendlyName + description: Friendly name of Workspace. + protocol: {} + - &ref_98 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: WorkspacePatchPropertiesApplicationGroupReferencesItem + description: '' + cli: + name: WorkspacePatchPropertiesApplicationGroupReferencesItem + description: '' + protocol: {} + - &ref_99 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: WorkspaceListNextLink + description: Link to the next page of results. + cli: + name: WorkspaceListNextLink + description: Link to the next page of results. + protocol: {} + - &ref_180 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: String + description: '' + cli: + name: String + description: '' + protocol: {} + - &ref_14 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationGroupPropertiesDescription + description: Description of ApplicationGroup. + cli: + name: ApplicationGroupPropertiesDescription + description: Description of ApplicationGroup. + protocol: {} + - &ref_15 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationGroupPropertiesFriendlyName + description: Friendly name of ApplicationGroup. + cli: + name: ApplicationGroupPropertiesFriendlyName + description: Friendly name of ApplicationGroup. + protocol: {} + - &ref_16 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationGroupPropertiesHostPoolArmPath + description: HostPool arm path of ApplicationGroup. + cli: + name: ApplicationGroupPropertiesHostPoolArmPath + description: HostPool arm path of ApplicationGroup. + protocol: {} + - &ref_17 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationGroupPropertiesWorkspaceArmPath + description: Workspace arm path of ApplicationGroup. + cli: + name: ApplicationGroupPropertiesWorkspaceArmPath + description: Workspace arm path of ApplicationGroup. + protocol: {} + - &ref_100 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationGroupListNextLink + description: Link to the next page of results. + cli: + name: ApplicationGroupListNextLink + description: Link to the next page of results. + protocol: {} + - &ref_40 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationGroupPatchPropertiesDescription + description: Description of ApplicationGroup. + cli: + name: ApplicationGroupPatchPropertiesDescription + description: Description of ApplicationGroup. + protocol: {} + - &ref_41 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationGroupPatchPropertiesFriendlyName + description: Friendly name of ApplicationGroup. + cli: + name: ApplicationGroupPatchPropertiesFriendlyName + description: Friendly name of ApplicationGroup. + protocol: {} + - &ref_42 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: StartMenuItemPropertiesAppAlias + description: Alias of StartMenuItem. + cli: + name: StartMenuItemPropertiesAppAlias + description: Alias of StartMenuItem. + protocol: {} + - &ref_43 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: StartMenuItemPropertiesFriendlyName + description: Friendly name of StartMenuItem. + cli: + name: StartMenuItemPropertiesFriendlyName + description: Friendly name of StartMenuItem. + protocol: {} + - &ref_44 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: StartMenuItemPropertiesFilePath + description: Path to the file of StartMenuItem. + cli: + name: StartMenuItemPropertiesFilePath + description: Path to the file of StartMenuItem. + protocol: {} + - &ref_45 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: StartMenuItemPropertiesCommandLineArguments + description: Command line arguments for StartMenuItem. + cli: + name: StartMenuItemPropertiesCommandLineArguments + description: Command line arguments for StartMenuItem. + protocol: {} + - &ref_46 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: StartMenuItemPropertiesIconPath + description: Path to the icon. + cli: + name: StartMenuItemPropertiesIconPath + description: Path to the icon. + protocol: {} + - &ref_101 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: StartMenuItemListNextLink + description: Link to the next page of results. + cli: + name: StartMenuItemListNextLink + description: Link to the next page of results. + protocol: {} + - &ref_48 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationPropertiesDescription + description: Description of Application. + cli: + name: ApplicationPropertiesDescription + description: Description of Application. + protocol: {} + - &ref_49 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationPropertiesFriendlyName + description: Friendly name of Application. + cli: + name: ApplicationPropertiesFriendlyName + description: Friendly name of Application. + protocol: {} + - &ref_50 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationPropertiesFilePath + description: Specifies a path for the executable file for the application. + cli: + name: ApplicationPropertiesFilePath + description: Specifies a path for the executable file for the application. + protocol: {} + - &ref_52 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationPropertiesCommandLineArguments + description: Command Line Arguments for Application. + cli: + name: ApplicationPropertiesCommandLineArguments + description: Command Line Arguments for Application. + protocol: {} + - &ref_54 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationPropertiesIconPath + description: Path to icon. + cli: + name: ApplicationPropertiesIconPath + description: Path to icon. + protocol: {} + - &ref_55 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationPropertiesIconHash + description: Hash of the icon. + cli: + name: ApplicationPropertiesIconHash + description: Hash of the icon. + protocol: {} + - &ref_102 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationPatchPropertiesDescription + description: Description of Application. + cli: + name: ApplicationPatchPropertiesDescription + description: Description of Application. + protocol: {} + - &ref_103 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationPatchPropertiesFriendlyName + description: Friendly name of Application. + cli: + name: ApplicationPatchPropertiesFriendlyName + description: Friendly name of Application. + protocol: {} + - &ref_104 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationPatchPropertiesFilePath + description: Specifies a path for the executable file for the application. + cli: + name: ApplicationPatchPropertiesFilePath + description: Specifies a path for the executable file for the application. + protocol: {} + - &ref_105 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationPatchPropertiesCommandLineArguments + description: Command Line Arguments for Application. + cli: + name: ApplicationPatchPropertiesCommandLineArguments + description: Command Line Arguments for Application. + protocol: {} + - &ref_106 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationPatchPropertiesIconPath + description: Path to icon. + cli: + name: ApplicationPatchPropertiesIconPath + description: Path to icon. + protocol: {} + - &ref_107 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationListNextLink + description: Link to the next page of results. + cli: + name: ApplicationListNextLink + description: Link to the next page of results. + protocol: {} + - &ref_57 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: DesktopPropertiesDescription + description: Description of Desktop. + cli: + name: DesktopPropertiesDescription + description: Description of Desktop. + protocol: {} + - &ref_58 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: DesktopPropertiesFriendlyName + description: Friendly name of Desktop. + cli: + name: DesktopPropertiesFriendlyName + description: Friendly name of Desktop. + protocol: {} + - &ref_59 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: DesktopPropertiesIconHash + description: Hash of the icon. + cli: + name: DesktopPropertiesIconHash + description: Hash of the icon. + protocol: {} + - &ref_108 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: DesktopPatchPropertiesDescription + description: Description of Desktop. + cli: + name: DesktopPatchPropertiesDescription + description: Description of Desktop. + protocol: {} + - &ref_109 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: DesktopPatchPropertiesFriendlyName + description: Friendly name of Desktop. + cli: + name: DesktopPatchPropertiesFriendlyName + description: Friendly name of Desktop. + protocol: {} + - &ref_110 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: DesktopListNextLink + description: Link to the next page of results. + cli: + name: DesktopListNextLink + description: Link to the next page of results. + protocol: {} + - &ref_19 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolPropertiesFriendlyName + description: Friendly name of HostPool. + cli: + name: HostPoolPropertiesFriendlyName + description: Friendly name of HostPool. + protocol: {} + - &ref_20 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolPropertiesDescription + description: Description of HostPool. + cli: + name: HostPoolPropertiesDescription + description: Description of HostPool. + protocol: {} + - &ref_23 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolPropertiesCustomRdpProperty + description: Custom rdp property of HostPool. + cli: + name: HostPoolPropertiesCustomRdpProperty + description: Custom rdp property of HostPool. + protocol: {} + - &ref_29 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: RegistrationInfoToken + description: The registration token base64 encoded string. + cli: + name: RegistrationInfoToken + description: The registration token base64 encoded string. + protocol: {} + - &ref_31 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolPropertiesVmTemplate + description: VM template for sessionhosts configuration within hostpool. + cli: + name: HostPoolPropertiesVmTemplate + description: VM template for sessionhosts configuration within hostpool. + protocol: {} + - &ref_32 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolPropertiesApplicationGroupReferencesItem + description: '' + cli: + name: HostPoolPropertiesApplicationGroupReferencesItem + description: '' + protocol: {} + - &ref_33 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolPropertiesSsoContext + description: Path to keyvault containing ssoContext secret. + cli: + name: HostPoolPropertiesSsoContext + description: Path to keyvault containing ssoContext secret. + protocol: {} + - &ref_61 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolPatchPropertiesFriendlyName + description: Friendly name of HostPool. + cli: + name: HostPoolPatchPropertiesFriendlyName + description: Friendly name of HostPool. + protocol: {} + - &ref_62 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolPatchPropertiesDescription + description: Description of HostPool. + cli: + name: HostPoolPatchPropertiesDescription + description: Description of HostPool. + protocol: {} + - &ref_63 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolPatchPropertiesCustomRdpProperty + description: Custom rdp property of HostPool. + cli: + name: HostPoolPatchPropertiesCustomRdpProperty + description: Custom rdp property of HostPool. + protocol: {} + - &ref_64 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolPatchPropertiesSsoContext + description: Path to keyvault containing ssoContext secret. + cli: + name: HostPoolPatchPropertiesSsoContext + description: Path to keyvault containing ssoContext secret. + protocol: {} + - &ref_113 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolListNextLink + description: Link to the next page of results. + cli: + name: HostPoolListNextLink + description: Link to the next page of results. + protocol: {} + - &ref_65 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: UserSessionPropertiesUserPrincipalName + description: The user principal name. + cli: + name: UserSessionPropertiesUserPrincipalName + description: The user principal name. + protocol: {} + - &ref_68 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: UserSessionPropertiesActiveDirectoryUserName + description: The active directory user name. + cli: + name: UserSessionPropertiesActiveDirectoryUserName + description: The active directory user name. + protocol: {} + - &ref_114 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: UserSessionListNextLink + description: Link to the next page of results. + cli: + name: UserSessionListNextLink + description: Link to the next page of results. + protocol: {} + - &ref_402 + type: string + apiVersions: + - version: 2019-12-10-preview + maxLength: 48 + minLength: 3 + language: + default: + name: String + description: '' + cli: + name: String + description: '' + protocol: {} + - &ref_72 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostPropertiesAgentVersion + description: Version of agent on SessionHost. + cli: + name: SessionHostPropertiesAgentVersion + description: Version of agent on SessionHost. + protocol: {} + - &ref_74 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostPropertiesAssignedUser + description: User assigned to SessionHost. + cli: + name: SessionHostPropertiesAssignedUser + description: User assigned to SessionHost. + protocol: {} + - &ref_77 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostPropertiesOsVersion + description: The version of the OS on the session host. + cli: + name: SessionHostPropertiesOsVersion + description: The version of the OS on the session host. + protocol: {} + - &ref_78 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostPropertiesSxSStackVersion + description: The version of the side by side stack on the session host. + cli: + name: SessionHostPropertiesSxSStackVersion + description: The version of the side by side stack on the session host. + protocol: {} + - &ref_81 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostPropertiesUpdateErrorMessage + description: The error message. + cli: + name: SessionHostPropertiesUpdateErrorMessage + description: The error message. + protocol: {} + - &ref_82 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostPatchPropertiesAssignedUser + description: User assigned to SessionHost. + cli: + name: SessionHostPatchPropertiesAssignedUser + description: User assigned to SessionHost. + protocol: {} + - &ref_115 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostListNextLink + description: Link to the next page of results. + cli: + name: SessionHostListNextLink + description: Link to the next page of results. + protocol: {} + - &ref_403 + type: string + apiVersions: + - version: 2019-12-10-preview + maxLength: 24 + minLength: 1 + language: + default: + name: String + description: '' + cli: + name: String + description: '' + protocol: {} + - &ref_116 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SendMessageTitle + description: Title of message. + cli: + name: SendMessageTitle + description: Title of message. + protocol: {} + - &ref_117 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SendMessageBody + description: Body of message. + cli: + name: SendMessageBody + description: Body of message. + protocol: {} + choices: + - &ref_18 + choices: + - value: RemoteApp + language: + default: + name: remote_app + description: '' + cli: + name: RemoteApp + description: '' + cliKey: RemoteApp + - value: Desktop + language: + default: + name: desktop + description: '' + cli: + name: Desktop + description: '' + cliKey: Desktop + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: ApplicationGroupType + description: Resource Type of ApplicationGroup. + cli: + name: ApplicationGroupType + description: Resource Type of ApplicationGroup. + cliKey: ApplicationGroupType + protocol: {} + - &ref_51 + choices: + - value: DoNotAllow + language: + default: + name: do_not_allow + description: '' + cli: + name: DoNotAllow + description: '' + cliKey: DoNotAllow + - value: Allow + language: + default: + name: allow + description: '' + cli: + name: Allow + description: '' + cliKey: Allow + - value: Require + language: + default: + name: require + description: '' + cli: + name: Require + description: '' + cliKey: Require + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: CommandLineSetting + description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' + cli: + name: CommandLineSetting + description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' + cliKey: CommandLineSetting + protocol: {} + - &ref_21 + choices: + - value: Personal + language: + default: + name: personal + description: '' + cli: + name: Personal + description: '' + cliKey: Personal + - value: Pooled + language: + default: + name: pooled + description: '' + cli: + name: Pooled + description: '' + cliKey: Pooled + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: HostPoolType + description: HostPool type for desktop. + cli: + name: HostPoolType + description: HostPool type for desktop. + cliKey: HostPoolType + protocol: {} + - &ref_22 + choices: + - value: Automatic + language: + default: + name: automatic + description: '' + cli: + name: Automatic + description: '' + cliKey: Automatic + - value: Direct + language: + default: + name: direct + description: '' + cli: + name: Direct + description: '' + cliKey: Direct + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: PersonalDesktopAssignmentType + description: PersonalDesktopAssignment type for HostPool. + cli: + name: PersonalDesktopAssignmentType + description: PersonalDesktopAssignment type for HostPool. + cliKey: PersonalDesktopAssignmentType + protocol: {} + - &ref_25 + choices: + - value: BreadthFirst + language: + default: + name: breadth_first + description: '' + cli: + name: BreadthFirst + description: '' + cliKey: BreadthFirst + - value: DepthFirst + language: + default: + name: depth_first + description: '' + cli: + name: DepthFirst + description: '' + cliKey: DepthFirst + - value: Persistent + language: + default: + name: persistent + description: '' + cli: + name: Persistent + description: '' + cliKey: Persistent + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: LoadBalancerType + description: The type of the load balancer. + cli: + name: LoadBalancerType + description: The type of the load balancer. + cliKey: LoadBalancerType + protocol: {} + - &ref_30 + choices: + - value: Delete + language: + default: + name: delete + description: '' + cli: + name: Delete + description: '' + cliKey: Delete + - value: None + language: + default: + name: none + description: '' + cli: + name: None + description: '' + cliKey: None + - value: Update + language: + default: + name: update + description: '' + cli: + name: Update + description: '' + cliKey: Update + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: RegistrationTokenOperation + description: The type of resetting the token. + cli: + name: RegistrationTokenOperation + description: The type of resetting the token. + cliKey: RegistrationTokenOperation + protocol: {} + - &ref_66 + choices: + - value: RemoteApp + language: + default: + name: remote_app + description: '' + cli: + name: RemoteApp + description: '' + cliKey: RemoteApp + - value: Desktop + language: + default: + name: desktop + description: '' + cli: + name: Desktop + description: '' + cliKey: Desktop + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: ApplicationType + description: Application type of application. + cli: + name: ApplicationType + description: Application type of application. + cliKey: ApplicationType + protocol: {} + - &ref_67 + choices: + - value: Unknown + language: + default: + name: unknown + description: '' + cli: + name: Unknown + description: '' + cliKey: Unknown + - value: Active + language: + default: + name: active + description: '' + cli: + name: Active + description: '' + cliKey: Active + - value: Disconnected + language: + default: + name: disconnected + description: '' + cli: + name: Disconnected + description: '' + cliKey: Disconnected + - value: Pending + language: + default: + name: pending + description: '' + cli: + name: Pending + description: '' + cliKey: Pending + - value: LogOff + language: + default: + name: log_off + description: '' + cli: + name: LogOff + description: '' + cliKey: LogOff + - value: UserProfileDiskMounted + language: + default: + name: user_profile_disk_mounted + description: '' + cli: + name: UserProfileDiskMounted + description: '' + cliKey: UserProfileDiskMounted + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: SessionState + description: State of user session. + cli: + name: SessionState + description: State of user session. + cliKey: SessionState + protocol: {} + - &ref_75 + choices: + - value: Available + language: + default: + name: available + description: '' + cli: + name: Available + description: '' + cliKey: Available + - value: Unavailable + language: + default: + name: unavailable + description: '' + cli: + name: Unavailable + description: '' + cliKey: Unavailable + - value: Shutdown + language: + default: + name: shutdown + description: '' + cli: + name: Shutdown + description: '' + cliKey: Shutdown + - value: Disconnected + language: + default: + name: disconnected + description: '' + cli: + name: Disconnected + description: '' + cliKey: Disconnected + - value: Upgrading + language: + default: + name: upgrading + description: '' + cli: + name: Upgrading + description: '' + cliKey: Upgrading + - value: UpgradeFailed + language: + default: + name: upgrade_failed + description: '' + cli: + name: UpgradeFailed + description: '' + cliKey: UpgradeFailed + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: Status + description: Status for a SessionHost. + cli: + name: Status + description: Status for a SessionHost. + cliKey: Status + protocol: {} + - &ref_79 + choices: + - value: Initial + language: + default: + name: initial + description: '' + cli: + name: Initial + description: '' + cliKey: Initial + - value: Pending + language: + default: + name: pending + description: '' + cli: + name: Pending + description: '' + cliKey: Pending + - value: Started + language: + default: + name: started + description: '' + cli: + name: Started + description: '' + cliKey: Started + - value: Succeeded + language: + default: + name: succeeded + description: '' + cli: + name: Succeeded + description: '' + cliKey: Succeeded + - value: Failed + language: + default: + name: failed + description: '' + cli: + name: Failed + description: '' + cliKey: Failed + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: UpdateState + description: Update state of a SessionHost. + cli: + name: UpdateState + description: Update state of a SessionHost. + cliKey: UpdateState + protocol: {} + constants: + - &ref_131 + type: constant + value: + value: 2019-12-10-preview + valueType: *ref_0 + language: + default: + name: api_version2019_12_10_preview + description: Api Version (2019-12-10-preview) + cli: + name: ApiVersion20191210Preview + description: Api Version (2019-12-10-preview) + protocol: {} + - &ref_141 + type: constant + value: + value: application/json + valueType: *ref_0 + language: + default: + name: application_json + description: Content Type 'application/json' + cli: + name: ApplicationJson + description: Content Type 'application/json' + protocol: {} + dictionaries: + - &ref_37 + type: dictionary + elementType: *ref_1 + language: + default: + name: TrackedResourceTags + description: Resource tags. + cli: + name: TrackedResourceTags + description: Resource tags. + cli-complexity: dictionary_simple + cli-mark: checked + protocol: {} + any: + - &ref_39 + type: any + language: + default: + name: any + description: Any object + protocol: {} + byteArrays: + - &ref_56 + type: byte-array + format: byte + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: application_properties_icon_content + description: the icon a 64 bit string as a byte array. + protocol: {} + - &ref_60 + type: byte-array + format: byte + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: desktop_properties_icon_content + description: The icon a 64 bit string as a byte array. + protocol: {} + dateTimes: + - &ref_28 + type: date-time + format: date-time + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: registration_info_expiration_time + description: Expiration time of registration token. + protocol: {} + - &ref_69 + type: date-time + format: date-time + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: user_session_properties_create_time + description: The timestamp of the user session create. + protocol: {} + - &ref_70 + type: date-time + format: date-time + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: session_host_properties_last_heart_beat + description: Last heart beat from SessionHost. + protocol: {} + - &ref_76 + type: date-time + format: date-time + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: session_host_properties_status_timestamp + description: The timestamp of the status. + protocol: {} + - &ref_80 + type: date-time + format: date-time + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: session_host_properties_last_update_time + description: The timestamp of the last update. + protocol: {} + objects: + - &ref_134 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_118 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: &ref_7 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_2 + serializedName: name + language: + default: + name: name + description: 'Operation name, in format of {provider}/{resource}/{operation}' + cli: + name: name + description: 'Operation name, in format of {provider}/{resource}/{operation}' + cliKey: name + protocol: {} + - schema: &ref_8 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_3 + serializedName: provider + language: + default: + name: provider + description: 'Resource provider: Microsoft Desktop Virtualization.' + cli: + name: provider + description: 'Resource provider: Microsoft Desktop Virtualization.' + cliKey: provider + protocol: {} + - schema: *ref_4 + serializedName: resource + language: + default: + name: resource + description: Resource on which the operation is performed. + cli: + name: resource + description: Resource on which the operation is performed. + cliKey: resource + protocol: {} + - schema: *ref_5 + serializedName: operation + language: + default: + name: operation + description: 'Type of operation: get, read, delete, etc.' + cli: + name: operation + description: 'Type of operation: get, read, delete, etc.' + cliKey: operation + protocol: {} + - schema: *ref_6 + serializedName: description + language: + default: + name: description + description: Description of this operation. + cli: + name: description + description: Description of this operation. + cliKey: description + protocol: {} + serializationFormats: + - json + usage: + - output + language: + default: + name: ResourceProviderOperationDisplay + description: Display metadata associated with the operation. + namespace: '' + cli: + name: ResourceProviderOperationDisplay + description: Display metadata associated with the operation. + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 4 + propertyCountIfSimplifyWithoutSimpleObject: 4 + simplifiable: true + cliKey: ResourceProviderOperation-display + protocol: {} + serializedName: display + language: + default: + name: display + description: Display metadata associated with the operation. + cli: + name: display + description: Display metadata associated with the operation. + cliKey: display + protocol: {} + serializationFormats: + - json + usage: + - output + language: + default: + name: ResourceProviderOperation + description: Supported operation of this resource provider. + namespace: '' + cli: + name: ResourceProviderOperation + description: Supported operation of this resource provider. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 5 + propertyCountIfSimplifyWithoutSimpleObject: 2 + simplifiable: true + cliKey: ResourceProviderOperation + protocol: {} + language: + default: + name: ResourceProviderOperationListValue + description: List of operations supported by this resource provider. + cli: + name: ResourceProviderOperationListValue + description: List of operations supported by this resource provider. + cli-complexity: array_complex + cli-mark: checked + protocol: {} + serializedName: value + language: + default: + name: value + description: List of operations supported by this resource provider. + cli: + name: value + description: List of operations supported by this resource provider. + cliKey: value + protocol: {} + serializationFormats: + - json + usage: + - output + language: + default: + name: ResourceProviderOperationList + description: Result of the request to list operations. + namespace: '' + cli: + name: ResourceProviderOperationList + description: Result of the request to list operations. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ResourceProviderOperationList + protocol: {} + - *ref_7 + - *ref_8 + - &ref_10 + type: object + apiVersions: + - version: '1.0' + children: + all: + - &ref_9 + type: object + apiVersions: + - version: '1.0' + children: + all: + - &ref_34 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_9 + - *ref_10 + immediate: + - *ref_9 + properties: + - &ref_147 + schema: *ref_11 + flattenedNames: + - properties + - description + serializedName: description + language: + default: + name: description + description: Description of Workspace. + cli: &ref_148 + name: description + description: Description of Workspace. + cliKey: description + protocol: {} + - &ref_149 + schema: *ref_12 + flattenedNames: + - properties + - friendlyName + serializedName: friendlyName + language: + default: + name: friendly_name + description: Friendly name of Workspace. + cli: &ref_150 + name: friendlyName + description: Friendly name of Workspace. + cliKey: friendlyName + protocol: {} + - &ref_151 + schema: &ref_119 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_13 + language: + default: + name: WorkspacePropertiesApplicationGroupReferences + description: List of applicationGroup resource Ids. + cli: + name: WorkspacePropertiesApplicationGroupReferences + description: List of applicationGroup resource Ids. + cli-complexity: array_simple + cli-mark: checked + protocol: {} + flattenedNames: + - properties + - applicationGroupReferences + serializedName: applicationGroupReferences + language: + default: + name: application_group_references + description: List of applicationGroup resource Ids. + cli: &ref_152 + name: applicationGroupReferences + description: List of applicationGroup resource Ids. + cliKey: applicationGroupReferences + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: Workspace + description: Represents a Workspace definition. + namespace: '' + cli: + name: Workspace + description: Represents a Workspace definition. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: Workspace + protocol: {} + - &ref_35 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_9 + - *ref_10 + immediate: + - *ref_9 + properties: + - &ref_188 + schema: *ref_14 + flattenedNames: + - properties + - description + required: false + serializedName: description + language: + default: + name: description + description: Description of ApplicationGroup. + cli: &ref_189 + name: description + description: Description of ApplicationGroup. + cliKey: description + protocol: {} + - &ref_190 + schema: *ref_15 + flattenedNames: + - properties + - friendlyName + required: false + serializedName: friendlyName + language: + default: + name: friendly_name + description: Friendly name of ApplicationGroup. + cli: &ref_191 + name: friendlyName + description: Friendly name of ApplicationGroup. + cliKey: friendlyName + protocol: {} + - &ref_192 + schema: *ref_16 + flattenedNames: + - properties + - hostPoolArmPath + required: true + serializedName: hostPoolArmPath + language: + default: + name: host_pool_arm_path + description: HostPool arm path of ApplicationGroup. + cli: &ref_193 + name: hostPoolArmPath + description: HostPool arm path of ApplicationGroup. + cliKey: hostPoolArmPath + protocol: {} + - schema: *ref_17 + flattenedNames: + - properties + - workspaceArmPath + readOnly: true + required: false + serializedName: workspaceArmPath + language: + default: + name: workspace_arm_path + description: Workspace arm path of ApplicationGroup. + cli: + name: workspaceArmPath + description: Workspace arm path of ApplicationGroup. + cliKey: workspaceArmPath + protocol: {} + - &ref_194 + schema: *ref_18 + flattenedNames: + - properties + - applicationGroupType + required: true + serializedName: applicationGroupType + language: + default: + name: application_group_type + description: Resource Type of ApplicationGroup. + cli: &ref_195 + name: applicationGroupType + description: Resource Type of ApplicationGroup. + cliKey: applicationGroupType + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: ApplicationGroup + description: Represents a ApplicationGroup definition. + namespace: '' + cli: + name: ApplicationGroup + description: Represents a ApplicationGroup definition. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ApplicationGroup + protocol: {} + - &ref_36 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_9 + - *ref_10 + immediate: + - *ref_9 + properties: + - &ref_316 + schema: *ref_19 + flattenedNames: + - properties + - friendlyName + required: false + serializedName: friendlyName + language: + default: + name: friendly_name + description: Friendly name of HostPool. + cli: &ref_317 + name: friendlyName + description: Friendly name of HostPool. + cliKey: friendlyName + protocol: {} + - &ref_318 + schema: *ref_20 + flattenedNames: + - properties + - description + required: false + serializedName: description + language: + default: + name: description + description: Description of HostPool. + cli: &ref_319 + name: description + description: Description of HostPool. + cliKey: description + protocol: {} + - &ref_320 + schema: *ref_21 + flattenedNames: + - properties + - hostPoolType + required: true + serializedName: hostPoolType + language: + default: + name: host_pool_type + description: HostPool type for desktop. + cli: &ref_321 + name: hostPoolType + description: HostPool type for desktop. + cliKey: hostPoolType + protocol: {} + - &ref_322 + schema: *ref_22 + flattenedNames: + - properties + - personalDesktopAssignmentType + required: true + serializedName: personalDesktopAssignmentType + language: + default: + name: personal_desktop_assignment_type + description: PersonalDesktopAssignment type for HostPool. + cli: &ref_323 + name: personalDesktopAssignmentType + description: PersonalDesktopAssignment type for HostPool. + cliKey: personalDesktopAssignmentType + protocol: {} + - &ref_324 + schema: *ref_23 + flattenedNames: + - properties + - customRdpProperty + required: false + serializedName: customRdpProperty + language: + default: + name: custom_rdp_property + description: Custom rdp property of HostPool. + cli: &ref_325 + name: customRdpProperty + description: Custom rdp property of HostPool. + cliKey: customRdpProperty + protocol: {} + - &ref_326 + schema: *ref_24 + flattenedNames: + - properties + - maxSessionLimit + required: false + serializedName: maxSessionLimit + language: + default: + name: max_session_limit + description: The max session limit of HostPool. + cli: &ref_327 + name: maxSessionLimit + description: The max session limit of HostPool. + cliKey: maxSessionLimit + protocol: {} + - &ref_328 + schema: *ref_25 + flattenedNames: + - properties + - loadBalancerType + required: true + serializedName: loadBalancerType + language: + default: + name: load_balancer_type + description: The type of the load balancer. + cli: &ref_329 + name: loadBalancerType + description: The type of the load balancer. + cliKey: loadBalancerType + protocol: {} + - &ref_330 + schema: *ref_26 + flattenedNames: + - properties + - ring + required: false + serializedName: ring + language: + default: + name: ring + description: The ring number of HostPool. + cli: &ref_331 + name: ring + description: The ring number of HostPool. + cliKey: ring + protocol: {} + - &ref_332 + schema: *ref_27 + flattenedNames: + - properties + - validationEnvironment + required: false + serializedName: validationEnvironment + language: + default: + name: validation_environment + description: Is validation environment. + cli: &ref_333 + name: validationEnvironment + description: Is validation environment. + cliKey: validationEnvironment + protocol: {} + - &ref_334 + schema: &ref_111 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_28 + serializedName: expirationTime + language: + default: + name: expiration_time + description: Expiration time of registration token. + cli: + name: expirationTime + description: Expiration time of registration token. + cliKey: expirationTime + protocol: {} + - schema: *ref_29 + serializedName: token + language: + default: + name: token + description: The registration token base64 encoded string. + cli: + name: token + description: The registration token base64 encoded string. + cliKey: token + protocol: {} + - schema: *ref_30 + serializedName: registrationTokenOperation + language: + default: + name: registration_token_operation + description: The type of resetting the token. + cli: + name: registrationTokenOperation + description: The type of resetting the token. + cliKey: registrationTokenOperation + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: RegistrationInfo + description: Represents a RegistrationInfo definition. + namespace: '' + cli: + name: RegistrationInfo + description: Represents a RegistrationInfo definition. + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 3 + propertyCountIfSimplifyWithoutSimpleObject: 3 + simplifiable: true + cliKey: RegistrationInfo + protocol: {} + flattenedNames: + - properties + - registrationInfo + required: false + serializedName: registrationInfo + language: + default: + name: registration_info + description: The registration info of HostPool. + cli: &ref_335 + name: registrationInfo + description: The registration info of HostPool. + cliKey: registrationInfo + protocol: {} + - &ref_336 + schema: *ref_31 + flattenedNames: + - properties + - vmTemplate + required: false + serializedName: vmTemplate + language: + default: + name: vm_template + description: VM template for sessionhosts configuration within hostpool. + cli: &ref_337 + name: vmTemplate + description: VM template for sessionhosts configuration within hostpool. + cliKey: vmTemplate + protocol: {} + - schema: &ref_126 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_32 + language: + default: + name: HostPoolPropertiesApplicationGroupReferences + description: List of applicationGroup links. + cli: + name: HostPoolPropertiesApplicationGroupReferences + description: List of applicationGroup links. + cli-complexity: array_simple + cli-mark: checked + protocol: {} + flattenedNames: + - properties + - applicationGroupReferences + readOnly: true + required: false + serializedName: applicationGroupReferences + language: + default: + name: application_group_references + description: List of applicationGroup links. + cli: + name: applicationGroupReferences + description: List of applicationGroup links. + cliKey: applicationGroupReferences + protocol: {} + - &ref_338 + schema: *ref_33 + flattenedNames: + - properties + - ssoContext + required: false + serializedName: ssoContext + language: + default: + name: sso_context + description: Path to keyvault containing ssoContext secret. + cli: &ref_339 + name: ssoContext + description: Path to keyvault containing ssoContext secret. + cliKey: ssoContext + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: HostPool + description: Represents a HostPool definition. + namespace: '' + cli: + name: HostPool + description: Represents a HostPool definition. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: HostPool + protocol: {} + immediate: + - *ref_34 + - *ref_35 + - *ref_36 + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - &ref_143 + schema: *ref_37 + required: false + serializedName: tags + language: + default: + name: tags + description: Resource tags. + cli: &ref_144 + name: tags + description: Resource tags. + cliKey: tags + protocol: {} + - &ref_145 + schema: *ref_38 + required: true + serializedName: location + language: + default: + name: location + description: The geo-location where the resource lives + cli: &ref_146 + name: location + description: The geo-location where the resource lives + cliKey: location + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: TrackedResource + description: The resource model definition for a ARM tracked top level resource + namespace: '' + cli: + name: TrackedResource + description: The resource model definition for a ARM tracked top level resource + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: TrackedResource + protocol: {} + - *ref_34 + - *ref_35 + - &ref_83 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - &ref_207 + schema: *ref_39 + serializedName: tags + language: + default: + name: tags + description: tags to be updated + cli: &ref_208 + name: tags + description: tags to be updated + cliKey: tags + protocol: {} + - &ref_209 + schema: *ref_40 + flattenedNames: + - properties + - description + serializedName: description + language: + default: + name: description + description: Description of ApplicationGroup. + cli: &ref_210 + name: description + description: Description of ApplicationGroup. + cliKey: description + protocol: {} + - &ref_211 + schema: *ref_41 + flattenedNames: + - properties + - friendlyName + serializedName: friendlyName + language: + default: + name: friendly_name + description: Friendly name of ApplicationGroup. + cli: &ref_212 + name: friendlyName + description: Friendly name of ApplicationGroup. + cliKey: friendlyName + protocol: {} + serializationFormats: + - json + usage: + - input + - output + language: + default: + name: ApplicationGroupPatch + description: ApplicationGroup properties that can be patched. + namespace: '' + cli: + name: ApplicationGroupPatch + description: ApplicationGroup properties that can be patched. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ApplicationGroupPatch + protocol: {} + - &ref_84 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - schema: *ref_42 + flattenedNames: + - properties + - appAlias + serializedName: appAlias + language: + default: + name: app_alias + description: Alias of StartMenuItem. + cli: + name: appAlias + description: Alias of StartMenuItem. + cliKey: appAlias + protocol: {} + - schema: *ref_43 + flattenedNames: + - properties + - friendlyName + serializedName: friendlyName + language: + default: + name: friendly_name + description: Friendly name of StartMenuItem. + cli: + name: friendlyName + description: Friendly name of StartMenuItem. + cliKey: friendlyName + protocol: {} + - schema: *ref_44 + flattenedNames: + - properties + - filePath + serializedName: filePath + language: + default: + name: file_path + description: Path to the file of StartMenuItem. + cli: + name: filePath + description: Path to the file of StartMenuItem. + cliKey: filePath + protocol: {} + - schema: *ref_45 + flattenedNames: + - properties + - commandLineArguments + serializedName: commandLineArguments + language: + default: + name: command_line_arguments + description: Command line arguments for StartMenuItem. + cli: + name: commandLineArguments + description: Command line arguments for StartMenuItem. + cliKey: commandLineArguments + protocol: {} + - schema: *ref_46 + flattenedNames: + - properties + - iconPath + serializedName: iconPath + language: + default: + name: icon_path + description: Path to the icon. + cli: + name: iconPath + description: Path to the icon. + cliKey: iconPath + protocol: {} + - schema: *ref_47 + flattenedNames: + - properties + - iconIndex + serializedName: iconIndex + language: + default: + name: icon_index + description: Index of the icon. + cli: + name: iconIndex + description: Index of the icon. + cliKey: iconIndex + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: StartMenuItem + description: Represents a StartMenuItem definition. + namespace: '' + cli: + name: StartMenuItem + description: Represents a StartMenuItem definition. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 6 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: StartMenuItem + protocol: {} + - &ref_85 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - &ref_228 + schema: *ref_48 + flattenedNames: + - properties + - description + required: false + serializedName: description + language: + default: + name: description + description: Description of Application. + cli: &ref_229 + name: description + description: Description of Application. + cliKey: description + protocol: {} + - &ref_230 + schema: *ref_49 + flattenedNames: + - properties + - friendlyName + required: false + serializedName: friendlyName + language: + default: + name: friendly_name + description: Friendly name of Application. + cli: &ref_231 + name: friendlyName + description: Friendly name of Application. + cliKey: friendlyName + protocol: {} + - &ref_232 + schema: *ref_50 + flattenedNames: + - properties + - filePath + required: false + serializedName: filePath + language: + default: + name: file_path + description: Specifies a path for the executable file for the application. + cli: &ref_233 + name: filePath + description: Specifies a path for the executable file for the application. + cliKey: filePath + protocol: {} + - &ref_234 + schema: *ref_51 + flattenedNames: + - properties + - commandLineSetting + required: true + serializedName: commandLineSetting + language: + default: + name: command_line_setting + description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' + cli: &ref_235 + name: commandLineSetting + description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' + cliKey: commandLineSetting + protocol: {} + - &ref_236 + schema: *ref_52 + flattenedNames: + - properties + - commandLineArguments + required: false + serializedName: commandLineArguments + language: + default: + name: command_line_arguments + description: Command Line Arguments for Application. + cli: &ref_237 + name: commandLineArguments + description: Command Line Arguments for Application. + cliKey: commandLineArguments + protocol: {} + - &ref_238 + schema: *ref_53 + flattenedNames: + - properties + - showInPortal + required: false + serializedName: showInPortal + language: + default: + name: show_in_portal + description: Specifies whether to show the RemoteApp program in the RD Web Access server. + cli: &ref_239 + name: showInPortal + description: Specifies whether to show the RemoteApp program in the RD Web Access server. + cliKey: showInPortal + protocol: {} + - &ref_240 + schema: *ref_54 + flattenedNames: + - properties + - iconPath + required: false + serializedName: iconPath + language: + default: + name: icon_path + description: Path to icon. + cli: &ref_241 + name: iconPath + description: Path to icon. + cliKey: iconPath + protocol: {} + - &ref_242 + schema: *ref_47 + flattenedNames: + - properties + - iconIndex + required: false + serializedName: iconIndex + language: + default: + name: icon_index + description: Index of the icon. + cli: &ref_243 + name: iconIndex + description: Index of the icon. + cliKey: iconIndex + protocol: {} + - schema: *ref_55 + flattenedNames: + - properties + - iconHash + readOnly: true + required: false + serializedName: iconHash + language: + default: + name: icon_hash + description: Hash of the icon. + cli: + name: iconHash + description: Hash of the icon. + cliKey: iconHash + protocol: {} + - schema: *ref_56 + flattenedNames: + - properties + - iconContent + readOnly: true + required: false + serializedName: iconContent + language: + default: + name: icon_content + description: the icon a 64 bit string as a byte array. + cli: + name: iconContent + description: the icon a 64 bit string as a byte array. + cliKey: iconContent + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: Application + description: Schema for Application properties. + namespace: '' + cli: + name: Application + description: Schema for Application properties. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 8 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: Application + protocol: {} + - &ref_86 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - schema: *ref_57 + flattenedNames: + - properties + - description + serializedName: description + language: + default: + name: description + description: Description of Desktop. + cli: + name: description + description: Description of Desktop. + cliKey: description + protocol: {} + - schema: *ref_58 + flattenedNames: + - properties + - friendlyName + serializedName: friendlyName + language: + default: + name: friendly_name + description: Friendly name of Desktop. + cli: + name: friendlyName + description: Friendly name of Desktop. + cliKey: friendlyName + protocol: {} + - schema: *ref_59 + flattenedNames: + - properties + - iconHash + readOnly: true + serializedName: iconHash + language: + default: + name: icon_hash + description: Hash of the icon. + cli: + name: iconHash + description: Hash of the icon. + cliKey: iconHash + protocol: {} + - schema: *ref_60 + flattenedNames: + - properties + - iconContent + readOnly: true + serializedName: iconContent + language: + default: + name: icon_content + description: The icon a 64 bit string as a byte array. + cli: + name: iconContent + description: The icon a 64 bit string as a byte array. + cliKey: iconContent + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: Desktop + description: Schema for Desktop properties. + namespace: '' + cli: + name: Desktop + description: Schema for Desktop properties. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: Desktop + protocol: {} + - *ref_36 + - &ref_87 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - &ref_361 + schema: *ref_39 + serializedName: tags + language: + default: + name: tags + description: tags to be updated + cli: &ref_362 + name: tags + description: tags to be updated + cliKey: tags + protocol: {} + - &ref_363 + schema: *ref_61 + flattenedNames: + - properties + - friendlyName + serializedName: friendlyName + language: + default: + name: friendly_name + description: Friendly name of HostPool. + cli: &ref_364 + name: friendlyName + description: Friendly name of HostPool. + cliKey: friendlyName + protocol: {} + - &ref_365 + schema: *ref_62 + flattenedNames: + - properties + - description + serializedName: description + language: + default: + name: description + description: Description of HostPool. + cli: &ref_366 + name: description + description: Description of HostPool. + cliKey: description + protocol: {} + - &ref_367 + schema: *ref_63 + flattenedNames: + - properties + - customRdpProperty + serializedName: customRdpProperty + language: + default: + name: custom_rdp_property + description: Custom rdp property of HostPool. + cli: &ref_368 + name: customRdpProperty + description: Custom rdp property of HostPool. + cliKey: customRdpProperty + protocol: {} + - &ref_369 + schema: *ref_24 + flattenedNames: + - properties + - maxSessionLimit + serializedName: maxSessionLimit + language: + default: + name: max_session_limit + description: The max session limit of HostPool. + cli: &ref_370 + name: maxSessionLimit + description: The max session limit of HostPool. + cliKey: maxSessionLimit + protocol: {} + - &ref_371 + schema: *ref_22 + flattenedNames: + - properties + - personalDesktopAssignmentType + serializedName: personalDesktopAssignmentType + language: + default: + name: personal_desktop_assignment_type + description: PersonalDesktopAssignment type for HostPool. + cli: &ref_372 + name: personalDesktopAssignmentType + description: PersonalDesktopAssignment type for HostPool. + cliKey: personalDesktopAssignmentType + protocol: {} + - &ref_373 + schema: *ref_25 + flattenedNames: + - properties + - loadBalancerType + serializedName: loadBalancerType + language: + default: + name: load_balancer_type + description: The type of the load balancer. + cli: &ref_374 + name: loadBalancerType + description: The type of the load balancer. + cliKey: loadBalancerType + protocol: {} + - &ref_375 + schema: *ref_26 + flattenedNames: + - properties + - ring + serializedName: ring + language: + default: + name: ring + description: The ring number of HostPool. + cli: &ref_376 + name: ring + description: The ring number of HostPool. + cliKey: ring + protocol: {} + - &ref_377 + schema: *ref_27 + flattenedNames: + - properties + - validationEnvironment + serializedName: validationEnvironment + language: + default: + name: validation_environment + description: Is validation environment. + cli: &ref_378 + name: validationEnvironment + description: Is validation environment. + cliKey: validationEnvironment + protocol: {} + - &ref_379 + schema: &ref_112 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_30 + serializedName: registrationTokenOperation + language: + default: + name: registration_token_operation + description: The type of resetting the token. + cli: + name: registrationTokenOperation + description: The type of resetting the token. + cliKey: registrationTokenOperation + protocol: {} + serializationFormats: + - json + usage: + - input + - output + language: + default: + name: RegistrationInfoPatch + description: Represents a RegistrationInfo definition. + namespace: '' + cli: + name: RegistrationInfoPatch + description: Represents a RegistrationInfo definition. + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 1 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: RegistrationInfoPatch + protocol: {} + flattenedNames: + - properties + - registrationInfo + serializedName: registrationInfo + language: + default: + name: registration_info + description: The registration info of HostPool. + cli: &ref_380 + name: registrationInfo + description: The registration info of HostPool. + cliKey: registrationInfo + protocol: {} + - &ref_381 + schema: *ref_64 + flattenedNames: + - properties + - ssoContext + serializedName: ssoContext + language: + default: + name: sso_context + description: Path to keyvault containing ssoContext secret. + cli: &ref_382 + name: ssoContext + description: Path to keyvault containing ssoContext secret. + cliKey: ssoContext + protocol: {} + serializationFormats: + - json + usage: + - input + - output + language: + default: + name: HostPoolPatch + description: HostPool properties that can be patched. + namespace: '' + cli: + name: HostPoolPatch + description: HostPool properties that can be patched. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: HostPoolPatch + protocol: {} + - &ref_88 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - schema: *ref_65 + flattenedNames: + - properties + - userPrincipalName + serializedName: userPrincipalName + language: + default: + name: user_principal_name + description: The user principal name. + cli: + name: userPrincipalName + description: The user principal name. + cliKey: userPrincipalName + protocol: {} + - schema: *ref_66 + flattenedNames: + - properties + - applicationType + serializedName: applicationType + language: + default: + name: application_type + description: Application type of application. + cli: + name: applicationType + description: Application type of application. + cliKey: applicationType + protocol: {} + - schema: *ref_67 + flattenedNames: + - properties + - sessionState + serializedName: sessionState + language: + default: + name: session_state + description: State of user session. + cli: + name: sessionState + description: State of user session. + cliKey: sessionState + protocol: {} + - schema: *ref_68 + flattenedNames: + - properties + - activeDirectoryUserName + serializedName: activeDirectoryUserName + language: + default: + name: active_directory_user_name + description: The active directory user name. + cli: + name: activeDirectoryUserName + description: The active directory user name. + cliKey: activeDirectoryUserName + protocol: {} + - schema: *ref_69 + flattenedNames: + - properties + - createTime + serializedName: createTime + language: + default: + name: create_time + description: The timestamp of the user session create. + cli: + name: createTime + description: The timestamp of the user session create. + cliKey: createTime + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: UserSession + description: Represents a UserSession definition. + namespace: '' + cli: + name: UserSession + description: Represents a UserSession definition. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 5 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: UserSession + protocol: {} + - &ref_89 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - schema: *ref_70 + flattenedNames: + - properties + - lastHeartBeat + serializedName: lastHeartBeat + language: + default: + name: last_heart_beat + description: Last heart beat from SessionHost. + cli: + name: lastHeartBeat + description: Last heart beat from SessionHost. + cliKey: lastHeartBeat + protocol: {} + - schema: *ref_71 + flattenedNames: + - properties + - sessions + serializedName: sessions + language: + default: + name: sessions + description: Number of sessions on SessionHost. + cli: + name: sessions + description: Number of sessions on SessionHost. + cliKey: sessions + protocol: {} + - schema: *ref_72 + flattenedNames: + - properties + - agentVersion + serializedName: agentVersion + language: + default: + name: agent_version + description: Version of agent on SessionHost. + cli: + name: agentVersion + description: Version of agent on SessionHost. + cliKey: agentVersion + protocol: {} + - schema: *ref_73 + flattenedNames: + - properties + - allowNewSession + serializedName: allowNewSession + language: + default: + name: allow_new_session + description: Allow a new session. + cli: + name: allowNewSession + description: Allow a new session. + cliKey: allowNewSession + protocol: {} + - schema: *ref_74 + flattenedNames: + - properties + - assignedUser + serializedName: assignedUser + language: + default: + name: assigned_user + description: User assigned to SessionHost. + cli: + name: assignedUser + description: User assigned to SessionHost. + cliKey: assignedUser + protocol: {} + - schema: *ref_75 + flattenedNames: + - properties + - status + serializedName: status + language: + default: + name: status + description: Status for a SessionHost. + cli: + name: status + description: Status for a SessionHost. + cliKey: status + protocol: {} + - schema: *ref_76 + flattenedNames: + - properties + - statusTimestamp + readOnly: true + serializedName: statusTimestamp + language: + default: + name: status_timestamp + description: The timestamp of the status. + cli: + name: statusTimestamp + description: The timestamp of the status. + cliKey: statusTimestamp + protocol: {} + - schema: *ref_77 + flattenedNames: + - properties + - osVersion + serializedName: osVersion + language: + default: + name: os_version + description: The version of the OS on the session host. + cli: + name: osVersion + description: The version of the OS on the session host. + cliKey: osVersion + protocol: {} + - schema: *ref_78 + flattenedNames: + - properties + - sxSStackVersion + serializedName: sxSStackVersion + language: + default: + name: sx_s_stack_version + description: The version of the side by side stack on the session host. + cli: + name: sxSStackVersion + description: The version of the side by side stack on the session host. + cliKey: sxSStackVersion + protocol: {} + - schema: *ref_79 + flattenedNames: + - properties + - updateState + serializedName: updateState + language: + default: + name: update_state + description: Update state of a SessionHost. + cli: + name: updateState + description: Update state of a SessionHost. + cliKey: updateState + protocol: {} + - schema: *ref_80 + flattenedNames: + - properties + - lastUpdateTime + readOnly: true + serializedName: lastUpdateTime + language: + default: + name: last_update_time + description: The timestamp of the last update. + cli: + name: lastUpdateTime + description: The timestamp of the last update. + cliKey: lastUpdateTime + protocol: {} + - schema: *ref_81 + flattenedNames: + - properties + - updateErrorMessage + serializedName: updateErrorMessage + language: + default: + name: update_error_message + description: The error message. + cli: + name: updateErrorMessage + description: The error message. + cliKey: updateErrorMessage + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: SessionHost + description: Represents a SessionHost definition. + namespace: '' + cli: + name: SessionHost + description: Represents a SessionHost definition. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: SessionHost + protocol: {} + - &ref_90 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - &ref_440 + schema: *ref_73 + flattenedNames: + - properties + - allowNewSession + serializedName: allowNewSession + language: + default: + name: allow_new_session + description: Allow a new session. + cli: &ref_441 + name: allowNewSession + description: Allow a new session. + cliKey: allowNewSession + protocol: {} + - &ref_442 + schema: *ref_82 + flattenedNames: + - properties + - assignedUser + serializedName: assignedUser + language: + default: + name: assigned_user + description: User assigned to SessionHost. + cli: &ref_443 + name: assignedUser + description: User assigned to SessionHost. + cliKey: assignedUser + protocol: {} + serializationFormats: + - json + usage: + - input + - output + language: + default: + name: SessionHostPatch + description: SessionHost properties that can be patched. + namespace: '' + cli: + name: SessionHostPatch + description: SessionHost properties that can be patched. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: SessionHostPatch + protocol: {} + immediate: + - *ref_9 + - *ref_83 + - *ref_84 + - *ref_85 + - *ref_86 + - *ref_87 + - *ref_88 + - *ref_89 + - *ref_90 + properties: + - schema: *ref_91 + readOnly: true + serializedName: id + language: + default: + name: id + description: 'Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' + cli: + name: id + description: 'Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' + cliKey: id + protocol: {} + - schema: *ref_92 + readOnly: true + serializedName: name + language: + default: + name: name + description: The name of the resource + cli: + name: name + description: The name of the resource + cliKey: name + protocol: {} + - schema: *ref_93 + readOnly: true + serializedName: type + language: + default: + name: type + description: The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + cli: + name: type + description: The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + cliKey: type + protocol: {} + serializationFormats: + - json + usage: + - output + - input + extensions: + x-ms-azure-resource: true + language: + default: + name: Resource + description: '' + namespace: '' + cli: + name: Resource + description: '' + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 0 + propertyCountIfSimplifyWithoutSimpleObject: 0 + simplifiable: true + cliKey: Resource + protocol: {} + - *ref_9 + - *ref_34 + - &ref_140 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_94 + serializedName: code + language: + default: + name: code + description: Error code + cli: + name: code + description: Error code + cliKey: code + protocol: {} + - schema: *ref_95 + serializedName: message + language: + default: + name: message + description: Error message indicating why the operation failed. + cli: + name: message + description: Error message indicating why the operation failed. + cliKey: message + protocol: {} + serializationFormats: + - json + usage: + - output + language: + default: + name: CloudError + description: Error response of an operation failure + namespace: '' + cli: + name: CloudError + description: Error response of an operation failure + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 2 + simplifiable: true + cliKey: CloudError + protocol: {} + - &ref_162 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - &ref_164 + schema: *ref_39 + serializedName: tags + language: + default: + name: tags + description: tags to be updated + cli: &ref_165 + name: tags + description: tags to be updated + cliKey: tags + protocol: {} + - &ref_166 + schema: *ref_96 + flattenedNames: + - properties + - description + serializedName: description + language: + default: + name: description + description: Description of Workspace. + cli: &ref_167 + name: description + description: Description of Workspace. + cliKey: description + protocol: {} + - &ref_168 + schema: *ref_97 + flattenedNames: + - properties + - friendlyName + serializedName: friendlyName + language: + default: + name: friendly_name + description: Friendly name of Workspace. + cli: &ref_169 + name: friendlyName + description: Friendly name of Workspace. + cliKey: friendlyName + protocol: {} + - &ref_170 + schema: &ref_120 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_98 + language: + default: + name: WorkspacePatchPropertiesApplicationGroupReferences + description: List of applicationGroup links. + cli: + name: WorkspacePatchPropertiesApplicationGroupReferences + description: List of applicationGroup links. + cli-complexity: array_simple + cli-mark: checked + protocol: {} + flattenedNames: + - properties + - applicationGroupReferences + serializedName: applicationGroupReferences + language: + default: + name: application_group_references + description: List of applicationGroup links. + cli: &ref_171 + name: applicationGroupReferences + description: List of applicationGroup links. + cliKey: applicationGroupReferences + protocol: {} + serializationFormats: + - json + usage: + - input + language: + default: + name: WorkspacePatch + description: Workspace properties that can be patched. + namespace: '' + cli: + name: WorkspacePatch + description: Workspace properties that can be patched. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: WorkspacePatch + protocol: {} + - &ref_179 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_121 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_34 + language: + default: + name: WorkspaceListValue + description: List of Workspace definitions. + cli: + name: WorkspaceListValue + description: List of Workspace definitions. + cli-complexity: array_complex + cli-mark: checked + protocol: {} + serializedName: value + language: + default: + name: value + description: List of Workspace definitions. + cli: + name: value + description: List of Workspace definitions. + cliKey: value + protocol: {} + - schema: *ref_99 + readOnly: true + serializedName: nextLink + language: + default: + name: next_link + description: Link to the next page of results. + cli: + name: nextLink + description: Link to the next page of results. + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: WorkspaceList + usage: + - output + language: + default: + name: WorkspaceList + description: List of Workspace definitions. + namespace: '' + summary: WorkspaceList + cli: + name: WorkspaceList + description: List of Workspace definitions. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: WorkspaceList + protocol: {} + - &ref_184 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_122 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_35 + language: + default: + name: ApplicationGroupListValue + description: List of ApplicationGroup definitions. + cli: + name: ApplicationGroupListValue + description: List of ApplicationGroup definitions. + cli-complexity: array_complex + cli-mark: checked + protocol: {} + serializedName: value + language: + default: + name: value + description: List of ApplicationGroup definitions. + cli: + name: value + description: List of ApplicationGroup definitions. + cliKey: value + protocol: {} + - schema: *ref_100 + readOnly: true + serializedName: nextLink + language: + default: + name: next_link + description: Link to the next page of results. + cli: + name: nextLink + description: Link to the next page of results. + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: ApplicationGroupList + usage: + - output + language: + default: + name: ApplicationGroupList + description: List of ApplicationGroup definitions. + namespace: '' + summary: ApplicationGroupList + cli: + name: ApplicationGroupList + description: List of ApplicationGroup definitions. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ApplicationGroupList + protocol: {} + - *ref_35 + - *ref_83 + - &ref_223 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_123 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_84 + language: + default: + name: StartMenuItemListValue + description: List of StartMenuItem definitions. + cli: + name: StartMenuItemListValue + description: List of StartMenuItem definitions. + cli-complexity: array_complex + cli-mark: checked + protocol: {} + serializedName: value + language: + default: + name: value + description: List of StartMenuItem definitions. + cli: + name: value + description: List of StartMenuItem definitions. + cliKey: value + protocol: {} + - schema: *ref_101 + readOnly: true + serializedName: nextLink + language: + default: + name: next_link + description: Link to the next page of results. + cli: + name: nextLink + description: Link to the next page of results. + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: StartMenuItemList + usage: + - output + language: + default: + name: StartMenuItemList + description: List of StartMenuItem definitions. + namespace: '' + summary: StartMenuItemList + cli: + name: StartMenuItemList + description: List of StartMenuItem definitions. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: StartMenuItemList + protocol: {} + - *ref_84 + - *ref_85 + - &ref_258 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - &ref_260 + schema: *ref_39 + serializedName: tags + language: + default: + name: tags + description: tags to be updated + cli: &ref_261 + name: tags + description: tags to be updated + cliKey: tags + protocol: {} + - &ref_262 + schema: *ref_102 + flattenedNames: + - properties + - description + serializedName: description + language: + default: + name: description + description: Description of Application. + cli: &ref_263 + name: description + description: Description of Application. + cliKey: description + protocol: {} + - &ref_264 + schema: *ref_103 + flattenedNames: + - properties + - friendlyName + serializedName: friendlyName + language: + default: + name: friendly_name + description: Friendly name of Application. + cli: &ref_265 + name: friendlyName + description: Friendly name of Application. + cliKey: friendlyName + protocol: {} + - &ref_266 + schema: *ref_104 + flattenedNames: + - properties + - filePath + serializedName: filePath + language: + default: + name: file_path + description: Specifies a path for the executable file for the application. + cli: &ref_267 + name: filePath + description: Specifies a path for the executable file for the application. + cliKey: filePath + protocol: {} + - &ref_268 + schema: *ref_51 + flattenedNames: + - properties + - commandLineSetting + serializedName: commandLineSetting + language: + default: + name: command_line_setting + description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' + cli: &ref_269 + name: commandLineSetting + description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' + cliKey: commandLineSetting + protocol: {} + - &ref_270 + schema: *ref_105 + flattenedNames: + - properties + - commandLineArguments + serializedName: commandLineArguments + language: + default: + name: command_line_arguments + description: Command Line Arguments for Application. + cli: &ref_271 + name: commandLineArguments + description: Command Line Arguments for Application. + cliKey: commandLineArguments + protocol: {} + - &ref_272 + schema: *ref_53 + flattenedNames: + - properties + - showInPortal + serializedName: showInPortal + language: + default: + name: show_in_portal + description: Specifies whether to show the RemoteApp program in the RD Web Access server. + cli: &ref_273 + name: showInPortal + description: Specifies whether to show the RemoteApp program in the RD Web Access server. + cliKey: showInPortal + protocol: {} + - &ref_274 + schema: *ref_106 + flattenedNames: + - properties + - iconPath + serializedName: iconPath + language: + default: + name: icon_path + description: Path to icon. + cli: &ref_275 + name: iconPath + description: Path to icon. + cliKey: iconPath + protocol: {} + - &ref_276 + schema: *ref_47 + flattenedNames: + - properties + - iconIndex + serializedName: iconIndex + language: + default: + name: icon_index + description: Index of the icon. + cli: &ref_277 + name: iconIndex + description: Index of the icon. + cliKey: iconIndex + protocol: {} + serializationFormats: + - json + usage: + - input + language: + default: + name: ApplicationPatch + description: Application properties that can be patched. + namespace: '' + cli: + name: ApplicationPatch + description: Application properties that can be patched. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ApplicationPatch + protocol: {} + - &ref_292 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_124 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_85 + language: + default: + name: ApplicationListValue + description: List of Application definitions. + cli: + name: ApplicationListValue + description: List of Application definitions. + cli-complexity: array_complex + cli-mark: checked + protocol: {} + serializedName: value + language: + default: + name: value + description: List of Application definitions. + cli: + name: value + description: List of Application definitions. + cliKey: value + protocol: {} + - schema: *ref_107 + readOnly: true + serializedName: nextLink + language: + default: + name: next_link + description: Link to the next page of results. + cli: + name: nextLink + description: Link to the next page of results. + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: ApplicationList + usage: + - output + language: + default: + name: ApplicationList + description: List of Application definitions. + namespace: '' + summary: ApplicationList + cli: + name: ApplicationList + description: List of Application definitions. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ApplicationList + protocol: {} + - *ref_86 + - &ref_296 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - &ref_298 + schema: *ref_39 + serializedName: tags + language: + default: + name: tags + description: tags to be updated + cli: &ref_299 + name: tags + description: tags to be updated + cliKey: tags + protocol: {} + - &ref_300 + schema: *ref_108 + flattenedNames: + - properties + - description + serializedName: description + language: + default: + name: description + description: Description of Desktop. + cli: &ref_301 + name: description + description: Description of Desktop. + cliKey: description + protocol: {} + - &ref_302 + schema: *ref_109 + flattenedNames: + - properties + - friendlyName + serializedName: friendlyName + language: + default: + name: friendly_name + description: Friendly name of Desktop. + cli: &ref_303 + name: friendlyName + description: Friendly name of Desktop. + cliKey: friendlyName + protocol: {} + serializationFormats: + - json + usage: + - input + language: + default: + name: DesktopPatch + description: Desktop properties that can be patched. + namespace: '' + cli: + name: DesktopPatch + description: Desktop properties that can be patched. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: DesktopPatch + protocol: {} + - &ref_312 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_125 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_86 + language: + default: + name: DesktopListValue + description: List of Desktop definitions. + cli: + name: DesktopListValue + description: List of Desktop definitions. + cli-complexity: array_complex + cli-mark: checked + protocol: {} + serializedName: value + language: + default: + name: value + description: List of Desktop definitions. + cli: + name: value + description: List of Desktop definitions. + cliKey: value + protocol: {} + - schema: *ref_110 + readOnly: true + serializedName: nextLink + language: + default: + name: next_link + description: Link to the next page of results. + cli: + name: nextLink + description: Link to the next page of results. + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: DesktopList + usage: + - output + language: + default: + name: DesktopList + description: List of Desktop definitions. + namespace: '' + summary: DesktopList + cli: + name: DesktopList + description: List of Desktop definitions. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: DesktopList + protocol: {} + - *ref_36 + - *ref_111 + - *ref_87 + - *ref_112 + - &ref_397 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_127 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_36 + language: + default: + name: HostPoolListValue + description: List of HostPool definitions. + cli: + name: HostPoolListValue + description: List of HostPool definitions. + cli-complexity: array_complex + cli-mark: checked + protocol: {} + serializedName: value + language: + default: + name: value + description: List of HostPool definitions. + cli: + name: value + description: List of HostPool definitions. + cliKey: value + protocol: {} + - schema: *ref_113 + readOnly: true + serializedName: nextLink + language: + default: + name: next_link + description: Link to the next page of results. + cli: + name: nextLink + description: Link to the next page of results. + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: HostPoolList + usage: + - output + language: + default: + name: HostPoolList + description: List of HostPool definitions. + namespace: '' + summary: HostPoolList + cli: + name: HostPoolList + description: List of HostPool definitions. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: HostPoolList + protocol: {} + - &ref_401 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_128 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_88 + language: + default: + name: UserSessionListValue + description: List of UserSession definitions. + cli: + name: UserSessionListValue + description: List of UserSession definitions. + cli-complexity: array_complex + cli-mark: checked + protocol: {} + serializedName: value + language: + default: + name: value + description: List of UserSession definitions. + cli: + name: value + description: List of UserSession definitions. + cliKey: value + protocol: {} + - schema: *ref_114 + readOnly: true + serializedName: nextLink + language: + default: + name: next_link + description: Link to the next page of results. + cli: + name: nextLink + description: Link to the next page of results. + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: UserSessionList + usage: + - output + language: + default: + name: UserSessionList + description: List of UserSession definitions. + namespace: '' + summary: UserSessionList + cli: + name: UserSessionList + description: List of UserSession definitions. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: UserSessionList + protocol: {} + - *ref_88 + - *ref_89 + - *ref_90 + - &ref_451 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_129 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_89 + language: + default: + name: SessionHostListValue + description: List of SessionHost definitions. + cli: + name: SessionHostListValue + description: List of SessionHost definitions. + cli-complexity: array_complex + cli-mark: checked + protocol: {} + serializedName: value + language: + default: + name: value + description: List of SessionHost definitions. + cli: + name: value + description: List of SessionHost definitions. + cliKey: value + protocol: {} + - schema: *ref_115 + readOnly: true + serializedName: nextLink + language: + default: + name: next_link + description: Link to the next page of results. + cli: + name: nextLink + description: Link to the next page of results. + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: SessionHostList + usage: + - output + language: + default: + name: SessionHostList + description: List of SessionHost definitions. + namespace: '' + summary: SessionHostList + cli: + name: SessionHostList + description: List of SessionHost definitions. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: SessionHostList + protocol: {} + - &ref_420 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - &ref_422 + schema: *ref_116 + serializedName: messageTitle + language: + default: + name: message_title + description: Title of message. + cli: &ref_423 + name: messageTitle + description: Title of message. + cliKey: messageTitle + protocol: {} + - &ref_424 + schema: *ref_117 + serializedName: messageBody + language: + default: + name: message_body + description: Body of message. + cli: &ref_425 + name: messageBody + description: Body of message. + cliKey: messageBody + protocol: {} + serializationFormats: + - json + usage: + - input + language: + default: + name: SendMessage + description: Represents message sent to a UserSession. + namespace: '' + cli: + name: SendMessage + description: Represents message sent to a UserSession. + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 2 + simplifiable: true + cliKey: SendMessage + protocol: {} + arrays: + - *ref_118 + - *ref_119 + - *ref_120 + - *ref_121 + - *ref_122 + - *ref_123 + - *ref_124 + - *ref_125 + - *ref_126 + - *ref_127 + - *ref_128 + - *ref_129 +globalParameters: + - &ref_135 + schema: *ref_130 + implementation: Client + required: true + extensions: + x-ms-priority: 0 + language: + default: + name: subscription_id + description: The ID of the target subscription. + serializedName: subscriptionId + cli: + name: subscriptionId + description: The ID of the target subscription. + cliKey: subscriptionId + protocol: + http: + in: path + - &ref_132 + schema: *ref_0 + clientDefaultValue: 'https://management.azure.com' + implementation: Client + origin: 'modelerfour:synthesized/host' + required: true + extensions: + x-ms-skip-url-encoding: true + language: + default: + name: $host + description: server parameter + serializedName: $host + cli: + name: $host + description: server parameter + cliKey: $host + protocol: + http: + in: uri + - &ref_133 + schema: *ref_131 + implementation: Client + origin: 'modelerfour:synthesized/api-version' + required: true + language: + default: + name: api_version + description: Api Version + serializedName: api-version + cli: + name: ApiVersion + description: Api Version + cliKey: ApiVersion + protocol: + http: + in: query +operationGroups: + - $key: Operations + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: /providers/Microsoft.DesktopVirtualization/operations + method: get + uri: '{$host}' + signatureParameters: [] + responses: + - schema: *ref_134 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + extensions: + x-ms-examples: + OperationDescription_List: + parameters: + api-version: 2019-12-10-preview + responses: + '200': + body: + value: + - name: Microsoft.DesktopVirtualization/ssocontext/read + display: + provider: Microsoft.DesktopVirtualization + resource: ssocontext + - name: Microsoft.DesktopVirtualization/ssocontext/write + display: + provider: Microsoft.DesktopVirtualization + resource: ssocontext + language: + default: + name: list + description: List all of the available operations the Desktop Virtualization resource provider supports. + cli: + name: List + description: List all of the available operations the Desktop Virtualization resource provider supports. + cliKey: List + hidden: true + protocol: {} + language: + default: + name: Operation + description: '' + cli: + name: Operation + description: '' + cliKey: Operations + protocol: {} + - $key: Workspaces + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_138 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_139 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: workspace_name + description: The name of the workspace + serializedName: workspaceName + cli: + name: workspaceName + description: The name of the workspace + cliKey: workspaceName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_138 + - *ref_139 + responses: + - schema: *ref_34 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Workspace_Get: + parameters: + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + workspaceName: workspace1 + responses: + '200': + body: + name: workspace1 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + language: + default: + name: get + description: Get a workspace. + cli: + name: Get + description: Get a workspace. + cliKey: Get + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_158 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_159 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: workspace_name + description: The name of the workspace + serializedName: workspaceName + cli: + name: workspaceName + description: The name of the workspace + cliKey: workspaceName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_141 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content_type + description: Body Parameter content-type + serializedName: Content-Type + cli: + name: ContentType + description: Body Parameter content-type + cliKey: content-type + protocol: + http: + in: header + - &ref_142 + schema: *ref_34 + flattened: true + implementation: Method + required: true + extensions: + x-ms-client-flatten: true + language: + default: + name: _workspace + description: Object containing Workspace definitions. + cli: + name: _workspace + description: Object containing Workspace definitions. + cliKey: workspace + protocol: + http: + in: body + style: json + - &ref_153 + schema: *ref_37 + implementation: Method + originalParameter: *ref_142 + pathToProperty: [] + required: false + targetProperty: *ref_143 + language: + default: + name: tags + description: Resource tags. + cli: *ref_144 + protocol: {} + - &ref_154 + schema: *ref_38 + implementation: Method + originalParameter: *ref_142 + pathToProperty: [] + required: true + targetProperty: *ref_145 + language: + default: + name: location + description: The geo-location where the resource lives + cli: *ref_146 + protocol: {} + - &ref_155 + schema: *ref_11 + implementation: Method + originalParameter: *ref_142 + pathToProperty: [] + targetProperty: *ref_147 + language: + default: + name: description + description: Description of Workspace. + cli: *ref_148 + protocol: {} + - &ref_156 + schema: *ref_12 + implementation: Method + originalParameter: *ref_142 + pathToProperty: [] + targetProperty: *ref_149 + language: + default: + name: friendly_name + description: Friendly name of Workspace. + cli: *ref_150 + protocol: {} + - &ref_157 + schema: *ref_119 + implementation: Method + originalParameter: *ref_142 + pathToProperty: [] + targetProperty: *ref_151 + language: + default: + name: application_group_references + description: List of applicationGroup resource Ids. + cli: *ref_152 + protocol: {} + signatureParameters: + - *ref_153 + - *ref_154 + - *ref_155 + - *ref_156 + - *ref_157 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' + method: put + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_158 + - *ref_159 + responses: + - schema: *ref_34 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + - schema: *ref_34 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '201' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Workspace_Create: + parameters: + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + workspace: + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + tag1: value1 + tag2: value2 + workspaceName: workspace1 + responses: + '200': + body: + name: workspace1 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + '201': + body: + name: workspace1 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + language: + default: + name: create_or_update + description: Create or update a workspace. + cli: + name: CreateOrUpdate + description: Create or update a workspace. + cliKey: CreateOrUpdate + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_160 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_161 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: workspace_name + description: The name of the workspace + serializedName: workspaceName + cli: + name: workspaceName + description: The name of the workspace + cliKey: workspaceName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' + method: delete + uri: '{$host}' + signatureParameters: + - *ref_160 + - *ref_161 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '204' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Workspace_Delete: + parameters: + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + workspaceName: workspace1 + responses: + '200': + name: workspace1 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + '204': {} + language: + default: + name: delete + description: Remove a workspace. + cli: + name: Delete + description: Remove a workspace. + cliKey: Delete + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_176 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_177 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: workspace_name + description: The name of the workspace + serializedName: workspaceName + cli: + name: workspaceName + description: The name of the workspace + cliKey: workspaceName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_141 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content_type + description: Body Parameter content-type + serializedName: Content-Type + cli: + name: ContentType + description: Body Parameter content-type + cliKey: content-type + protocol: + http: + in: header + - &ref_163 + schema: *ref_162 + flattened: true + implementation: Method + required: false + extensions: + x-ms-client-flatten: true + language: + default: + name: _workspace + description: Object containing Workspace definitions. + cli: + name: _workspace + description: Object containing Workspace definitions. + cliKey: workspace + protocol: + http: + in: body + style: json + - &ref_172 + schema: *ref_39 + implementation: Method + originalParameter: *ref_163 + pathToProperty: [] + targetProperty: *ref_164 + language: + default: + name: tags + description: tags to be updated + cli: *ref_165 + protocol: {} + - &ref_173 + schema: *ref_96 + implementation: Method + originalParameter: *ref_163 + pathToProperty: [] + targetProperty: *ref_166 + language: + default: + name: description + description: Description of Workspace. + cli: *ref_167 + protocol: {} + - &ref_174 + schema: *ref_97 + implementation: Method + originalParameter: *ref_163 + pathToProperty: [] + targetProperty: *ref_168 + language: + default: + name: friendly_name + description: Friendly name of Workspace. + cli: *ref_169 + protocol: {} + - &ref_175 + schema: *ref_120 + implementation: Method + originalParameter: *ref_163 + pathToProperty: [] + targetProperty: *ref_170 + language: + default: + name: application_group_references + description: List of applicationGroup links. + cli: *ref_171 + protocol: {} + signatureParameters: + - *ref_172 + - *ref_173 + - *ref_174 + - *ref_175 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' + method: patch + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_176 + - *ref_177 + responses: + - schema: *ref_34 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Workspace_Update: + parameters: + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + workspace: + properties: + description: des1 + friendlyName: friendly + tags: + tag1: value1 + tag2: value2 + workspaceName: workspace1 + responses: + '200': + body: + name: workspace1 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + language: + default: + name: update + description: Update a workspace. + cli: + name: Update + description: Update a workspace. + cliKey: Update + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_178 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces' + method: get + uri: '{$host}' + signatureParameters: + - *ref_178 + responses: + - schema: *ref_179 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Workspace_ListByResourceGroup: + parameters: + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: workspace1 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + - name: workspace2 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace2 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: list_by_resource_group + description: List workspaces. + paging: + nextLinkName: nextLink + cli: + name: ListByResourceGroup + description: List workspaces. + cliKey: ListByResourceGroup + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/workspaces' + method: get + uri: '{$host}' + signatureParameters: [] + responses: + - schema: *ref_179 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Workspace_ListBySubscription: + parameters: + api-version: 2019-12-10-preview + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: workspace1 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + - name: workspace2 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace2 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: list_by_subscription + description: List workspaces in subscription. + paging: + nextLinkName: nextLink + cli: + name: ListBySubscription + description: List workspaces in subscription. + cliKey: ListBySubscription + protocol: {} + language: + default: + name: Workspace + description: '' + cli: + name: Workspace + description: '' + cliKey: Workspaces + protocol: {} + - $key: ApplicationGroupAssignments + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_181 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_182 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: workspace_name + description: The name of the workspace + serializedName: workspaceName + cli: + name: workspaceName + description: The name of the workspace + cliKey: workspaceName + protocol: + http: + in: path + - &ref_183 + schema: *ref_180 + implementation: Method + language: + default: + name: filter + description: OData filter expression. Valid properties for filtering are applicationGroupType. + serializedName: $filter + cli: + name: filter + description: OData filter expression. Valid properties for filtering are applicationGroupType. + cliKey: $filter + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}/userApplicationGroupAssignments' + method: get + uri: '{$host}' + signatureParameters: + - *ref_181 + - *ref_182 + - *ref_183 + responses: + - schema: *ref_184 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ApplicationGroupAssignment_WorkspaceLevelList: + parameters: + $filter: userPrincipalName eq 'user1@microsoft.com' + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + workspaceName: workspace1 + responses: + '200': + body: + value: + - name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + - name: applicationGroup2 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: workspace_level_list + description: List application group that user can use. + paging: + nextLinkName: nextLink + cli: + name: WorkspaceLevelList + description: List application group that user can use. + cliKey: WorkspaceLevelList + protocol: {} + language: + default: + name: ApplicationGroupAssignment + description: '' + cli: + name: ApplicationGroupAssignment + description: '' + cliKey: ApplicationGroupAssignments + hidden: true + protocol: {} + - $key: ApplicationGroups + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_185 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_186 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_group_name + description: The name of the application group + serializedName: applicationGroupName + cli: + name: applicationGroupName + description: The name of the application group + cliKey: applicationGroupName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_185 + - *ref_186 + responses: + - schema: *ref_35 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ApplicationGroup_Get: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + language: + default: + name: get + description: Get an application group. + cli: + name: Get + description: Get an application group. + cliKey: Get + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_202 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_203 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_group_name + description: The name of the application group + serializedName: applicationGroupName + cli: + name: applicationGroupName + description: The name of the application group + cliKey: applicationGroupName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_141 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content_type + description: Body Parameter content-type + serializedName: Content-Type + cli: + name: ContentType + description: Body Parameter content-type + cliKey: content-type + protocol: + http: + in: header + - &ref_187 + schema: *ref_35 + flattened: true + implementation: Method + required: true + extensions: + x-ms-client-flatten: true + language: + default: + name: _application_group + description: Object containing ApplicationGroup definitions. + cli: + name: _application_group + description: Object containing ApplicationGroup definitions. + cliKey: applicationGroup + protocol: + http: + in: body + style: json + - &ref_196 + schema: *ref_37 + implementation: Method + originalParameter: *ref_187 + pathToProperty: [] + required: false + targetProperty: *ref_143 + language: + default: + name: tags + description: Resource tags. + cli: *ref_144 + protocol: {} + - &ref_197 + schema: *ref_38 + implementation: Method + originalParameter: *ref_187 + pathToProperty: [] + required: true + targetProperty: *ref_145 + language: + default: + name: location + description: The geo-location where the resource lives + cli: *ref_146 + protocol: {} + - &ref_198 + schema: *ref_14 + implementation: Method + originalParameter: *ref_187 + pathToProperty: [] + required: false + targetProperty: *ref_188 + language: + default: + name: description + description: Description of ApplicationGroup. + cli: *ref_189 + protocol: {} + - &ref_199 + schema: *ref_15 + implementation: Method + originalParameter: *ref_187 + pathToProperty: [] + required: false + targetProperty: *ref_190 + language: + default: + name: friendly_name + description: Friendly name of ApplicationGroup. + cli: *ref_191 + protocol: {} + - &ref_200 + schema: *ref_16 + implementation: Method + originalParameter: *ref_187 + pathToProperty: [] + required: true + targetProperty: *ref_192 + language: + default: + name: host_pool_arm_path + description: HostPool arm path of ApplicationGroup. + cli: *ref_193 + protocol: {} + - &ref_201 + schema: *ref_18 + implementation: Method + originalParameter: *ref_187 + pathToProperty: [] + required: true + targetProperty: *ref_194 + language: + default: + name: application_group_type + description: Resource Type of ApplicationGroup. + cli: *ref_195 + protocol: {} + signatureParameters: + - *ref_196 + - *ref_197 + - *ref_198 + - *ref_199 + - *ref_200 + - *ref_201 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' + method: put + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_202 + - *ref_203 + responses: + - schema: *ref_35 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + - schema: *ref_35 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '201' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ApplicationGroup_Create: + parameters: + api-version: 2019-12-10-preview + applicationGroup: + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + tags: + tag1: value1 + tag2: value2 + applicationGroupName: applicationGroup1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + '201': + body: + name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + language: + default: + name: create_or_update + description: Create or update an applicationGroup. + cli: + name: CreateOrUpdate + description: Create or update an applicationGroup. + cliKey: CreateOrUpdate + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_204 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_205 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_group_name + description: The name of the application group + serializedName: applicationGroupName + cli: + name: applicationGroupName + description: The name of the application group + cliKey: applicationGroupName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' + method: delete + uri: '{$host}' + signatureParameters: + - *ref_204 + - *ref_205 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '204' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ApplicationGroup_Delete: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + '204': {} + language: + default: + name: delete + description: Remove an applicationGroup. + cli: + name: Delete + description: Remove an applicationGroup. + cliKey: Delete + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_216 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_217 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_group_name + description: The name of the application group + serializedName: applicationGroupName + cli: + name: applicationGroupName + description: The name of the application group + cliKey: applicationGroupName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_141 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content_type + description: Body Parameter content-type + serializedName: Content-Type + cli: + name: ContentType + description: Body Parameter content-type + cliKey: content-type + protocol: + http: + in: header + - &ref_206 + schema: *ref_83 + flattened: true + implementation: Method + required: false + extensions: + x-ms-client-flatten: true + language: + default: + name: _application_group + description: Object containing ApplicationGroup definitions. + cli: + name: _application_group + description: Object containing ApplicationGroup definitions. + cliKey: applicationGroup + protocol: + http: + in: body + style: json + - &ref_213 + schema: *ref_39 + implementation: Method + originalParameter: *ref_206 + pathToProperty: [] + targetProperty: *ref_207 + language: + default: + name: tags + description: tags to be updated + cli: *ref_208 + protocol: {} + - &ref_214 + schema: *ref_40 + implementation: Method + originalParameter: *ref_206 + pathToProperty: [] + targetProperty: *ref_209 + language: + default: + name: description + description: Description of ApplicationGroup. + cli: *ref_210 + protocol: {} + - &ref_215 + schema: *ref_41 + implementation: Method + originalParameter: *ref_206 + pathToProperty: [] + targetProperty: *ref_211 + language: + default: + name: friendly_name + description: Friendly name of ApplicationGroup. + cli: *ref_212 + protocol: {} + signatureParameters: + - *ref_213 + - *ref_214 + - *ref_215 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' + method: patch + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_216 + - *ref_217 + responses: + - schema: *ref_35 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ApplicationGroups_Update: + parameters: + api-version: 2019-12-10-preview + applicationGroup: + properties: + description: des1 + friendlyName: friendly + tags: + tag1: value1 + tag2: value2 + applicationGroupName: applicationGroup1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + language: + default: + name: update + description: Update an applicationGroup. + cli: + name: Update + description: Update an applicationGroup. + cliKey: Update + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_218 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_219 + schema: *ref_180 + implementation: Method + language: + default: + name: filter + description: OData filter expression. Valid properties for filtering are applicationGroupType. + serializedName: $filter + cli: + name: filter + description: OData filter expression. Valid properties for filtering are applicationGroupType. + cliKey: $filter + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups' + method: get + uri: '{$host}' + signatureParameters: + - *ref_218 + - *ref_219 + responses: + - schema: *ref_184 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ApplicationGroup_ListByResourceGroup: + parameters: + $filter: applicationGroupType eq 'RailApplication' + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + - name: applicationGroup2 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: list_by_resource_group + description: List applicationGroups. + paging: + nextLinkName: nextLink + cli: + name: ListByResourceGroup + description: List applicationGroups. + cliKey: ListByResourceGroup + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_220 + schema: *ref_180 + implementation: Method + language: + default: + name: filter + description: OData filter expression. Valid properties for filtering are applicationGroupType. + serializedName: $filter + cli: + name: filter + description: OData filter expression. Valid properties for filtering are applicationGroupType. + cliKey: $filter + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/applicationGroups' + method: get + uri: '{$host}' + signatureParameters: + - *ref_220 + responses: + - schema: *ref_184 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ApplicationGroup_List: + parameters: + $filter: applicationGroupType eq 'RailApplication' + api-version: 2019-12-10-preview + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + - name: applicationGroup2 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: list_by_subscription + description: List applicationGroups in subscription. + paging: + nextLinkName: nextLink + cli: + name: ListBySubscription + description: List applicationGroups in subscription. + cliKey: ListBySubscription + protocol: {} + language: + default: + name: ApplicationGroup + description: '' + cli: + name: ApplicationGroup + description: '' + cliKey: ApplicationGroups + protocol: {} + - $key: StartMenuItems + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_221 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_222 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_group_name + description: The name of the application group + serializedName: applicationGroupName + cli: + name: applicationGroupName + description: The name of the application group + cliKey: applicationGroupName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/startMenuItems' + method: get + uri: '{$host}' + signatureParameters: + - *ref_221 + - *ref_222 + responses: + - schema: *ref_223 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + StartMenuItem_List: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: application1 + type: Microsoft.DesktopVirtualization/applicationGroups/startMenuItems + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/startMenuItem/application1 + properties: + appAlias: word + commandLineArguments: arguments + filePath: /path/to/file + friendlyName: friendly + iconIndex: 1 + iconPath: /path/to/icon + - name: application2 + type: Microsoft.DesktopVirtualization/applicationGroups/startMenuItems + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/startMenuItem/application2 + properties: + appAlias: excel + commandLineArguments: arguments + filePath: /path/to/file + friendlyName: friendly + iconIndex: 1 + iconPath: /path/to/icon + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: list + description: List start menu items in the given application group. + paging: + nextLinkName: nextLink + cli: + name: List + description: List start menu items in the given application group. + cliKey: List + protocol: {} + language: + default: + name: StartMenuItem + description: '' + cli: + name: StartMenuItem + description: '' + cliKey: StartMenuItems + hidden: true + protocol: {} + - $key: Applications + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_224 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_225 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_group_name + description: The name of the application group + serializedName: applicationGroupName + cli: + name: applicationGroupName + description: The name of the application group + cliKey: applicationGroupName + protocol: + http: + in: path + - &ref_226 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_name + description: The name of the application within the specified application group + serializedName: applicationName + cli: + name: applicationName + description: The name of the application within the specified application group + cliKey: applicationName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_224 + - *ref_225 + - *ref_226 + responses: + - schema: *ref_85 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Application_Get: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + applicationName: application1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1/application1 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + language: + default: + name: get + description: Get an application. + cli: + name: Get + description: Get an application. + cliKey: Get + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_252 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_253 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_group_name + description: The name of the application group + serializedName: applicationGroupName + cli: + name: applicationGroupName + description: The name of the application group + cliKey: applicationGroupName + protocol: + http: + in: path + - &ref_254 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_name + description: The name of the application within the specified application group + serializedName: applicationName + cli: + name: applicationName + description: The name of the application within the specified application group + cliKey: applicationName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_141 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content_type + description: Body Parameter content-type + serializedName: Content-Type + cli: + name: ContentType + description: Body Parameter content-type + cliKey: content-type + protocol: + http: + in: header + - &ref_227 + schema: *ref_85 + flattened: true + implementation: Method + required: true + extensions: + x-ms-client-flatten: true + language: + default: + name: _application + description: Object containing Application definitions. + cli: + name: _application + description: Object containing Application definitions. + cliKey: application + protocol: + http: + in: body + style: json + - &ref_244 + schema: *ref_48 + implementation: Method + originalParameter: *ref_227 + pathToProperty: [] + required: false + targetProperty: *ref_228 + language: + default: + name: description + description: Description of Application. + cli: *ref_229 + protocol: {} + - &ref_245 + schema: *ref_49 + implementation: Method + originalParameter: *ref_227 + pathToProperty: [] + required: false + targetProperty: *ref_230 + language: + default: + name: friendly_name + description: Friendly name of Application. + cli: *ref_231 + protocol: {} + - &ref_246 + schema: *ref_50 + implementation: Method + originalParameter: *ref_227 + pathToProperty: [] + required: false + targetProperty: *ref_232 + language: + default: + name: file_path + description: Specifies a path for the executable file for the application. + cli: *ref_233 + protocol: {} + - &ref_247 + schema: *ref_51 + implementation: Method + originalParameter: *ref_227 + pathToProperty: [] + required: true + targetProperty: *ref_234 + language: + default: + name: command_line_setting + description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' + cli: *ref_235 + protocol: {} + - &ref_248 + schema: *ref_52 + implementation: Method + originalParameter: *ref_227 + pathToProperty: [] + required: false + targetProperty: *ref_236 + language: + default: + name: command_line_arguments + description: Command Line Arguments for Application. + cli: *ref_237 + protocol: {} + - &ref_249 + schema: *ref_53 + implementation: Method + originalParameter: *ref_227 + pathToProperty: [] + required: false + targetProperty: *ref_238 + language: + default: + name: show_in_portal + description: Specifies whether to show the RemoteApp program in the RD Web Access server. + cli: *ref_239 + protocol: {} + - &ref_250 + schema: *ref_54 + implementation: Method + originalParameter: *ref_227 + pathToProperty: [] + required: false + targetProperty: *ref_240 + language: + default: + name: icon_path + description: Path to icon. + cli: *ref_241 + protocol: {} + - &ref_251 + schema: *ref_47 + implementation: Method + originalParameter: *ref_227 + pathToProperty: [] + required: false + targetProperty: *ref_242 + language: + default: + name: icon_index + description: Index of the icon. + cli: *ref_243 + protocol: {} + signatureParameters: + - *ref_244 + - *ref_245 + - *ref_246 + - *ref_247 + - *ref_248 + - *ref_249 + - *ref_250 + - *ref_251 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' + method: put + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_252 + - *ref_253 + - *ref_254 + responses: + - schema: *ref_85 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + - schema: *ref_85 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '201' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Application_Create: + parameters: + api-version: 2019-12-10-preview + application: + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconIndex: 1 + iconPath: icon + showInPortal: true + applicationGroupName: applicationGroup1 + applicationName: application1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1/application1 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + '201': + body: + name: applicationGroup1/application1 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + language: + default: + name: create_or_update + description: Create or update an application. + cli: + name: CreateOrUpdate + description: Create or update an application. + cliKey: CreateOrUpdate + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_255 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_256 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_group_name + description: The name of the application group + serializedName: applicationGroupName + cli: + name: applicationGroupName + description: The name of the application group + cliKey: applicationGroupName + protocol: + http: + in: path + - &ref_257 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_name + description: The name of the application within the specified application group + serializedName: applicationName + cli: + name: applicationName + description: The name of the application within the specified application group + cliKey: applicationName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' + method: delete + uri: '{$host}' + signatureParameters: + - *ref_255 + - *ref_256 + - *ref_257 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '204' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Application_Delete: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + applicationName: application1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + name: applicationGroup1/application1 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + '204': {} + language: + default: + name: delete + description: Remove an application. + cli: + name: Delete + description: Remove an application. + cliKey: Delete + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_287 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_288 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_group_name + description: The name of the application group + serializedName: applicationGroupName + cli: + name: applicationGroupName + description: The name of the application group + cliKey: applicationGroupName + protocol: + http: + in: path + - &ref_289 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_name + description: The name of the application within the specified application group + serializedName: applicationName + cli: + name: applicationName + description: The name of the application within the specified application group + cliKey: applicationName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_141 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content_type + description: Body Parameter content-type + serializedName: Content-Type + cli: + name: ContentType + description: Body Parameter content-type + cliKey: content-type + protocol: + http: + in: header + - &ref_259 + schema: *ref_258 + flattened: true + implementation: Method + required: false + extensions: + x-ms-client-flatten: true + language: + default: + name: _application + description: Object containing Application definitions. + cli: + name: _application + description: Object containing Application definitions. + cliKey: application + protocol: + http: + in: body + style: json + - &ref_278 + schema: *ref_39 + implementation: Method + originalParameter: *ref_259 + pathToProperty: [] + targetProperty: *ref_260 + language: + default: + name: tags + description: tags to be updated + cli: *ref_261 + protocol: {} + - &ref_279 + schema: *ref_102 + implementation: Method + originalParameter: *ref_259 + pathToProperty: [] + targetProperty: *ref_262 + language: + default: + name: description + description: Description of Application. + cli: *ref_263 + protocol: {} + - &ref_280 + schema: *ref_103 + implementation: Method + originalParameter: *ref_259 + pathToProperty: [] + targetProperty: *ref_264 + language: + default: + name: friendly_name + description: Friendly name of Application. + cli: *ref_265 + protocol: {} + - &ref_281 + schema: *ref_104 + implementation: Method + originalParameter: *ref_259 + pathToProperty: [] + targetProperty: *ref_266 + language: + default: + name: file_path + description: Specifies a path for the executable file for the application. + cli: *ref_267 + protocol: {} + - &ref_282 + schema: *ref_51 + implementation: Method + originalParameter: *ref_259 + pathToProperty: [] + targetProperty: *ref_268 + language: + default: + name: command_line_setting + description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' + cli: *ref_269 + protocol: {} + - &ref_283 + schema: *ref_105 + implementation: Method + originalParameter: *ref_259 + pathToProperty: [] + targetProperty: *ref_270 + language: + default: + name: command_line_arguments + description: Command Line Arguments for Application. + cli: *ref_271 + protocol: {} + - &ref_284 + schema: *ref_53 + implementation: Method + originalParameter: *ref_259 + pathToProperty: [] + targetProperty: *ref_272 + language: + default: + name: show_in_portal + description: Specifies whether to show the RemoteApp program in the RD Web Access server. + cli: *ref_273 + protocol: {} + - &ref_285 + schema: *ref_106 + implementation: Method + originalParameter: *ref_259 + pathToProperty: [] + targetProperty: *ref_274 + language: + default: + name: icon_path + description: Path to icon. + cli: *ref_275 + protocol: {} + - &ref_286 + schema: *ref_47 + implementation: Method + originalParameter: *ref_259 + pathToProperty: [] + targetProperty: *ref_276 + language: + default: + name: icon_index + description: Index of the icon. + cli: *ref_277 + protocol: {} + signatureParameters: + - *ref_278 + - *ref_279 + - *ref_280 + - *ref_281 + - *ref_282 + - *ref_283 + - *ref_284 + - *ref_285 + - *ref_286 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' + method: patch + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_287 + - *ref_288 + - *ref_289 + responses: + - schema: *ref_85 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Application_Update: + parameters: + api-version: 2019-12-10-preview + application: + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconIndex: 1 + iconPath: icon + showInPortal: true + applicationGroupName: applicationGroup1 + applicationName: application1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1/application1 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + language: + default: + name: update + description: Update an application. + cli: + name: Update + description: Update an application. + cliKey: Update + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_290 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_291 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_group_name + description: The name of the application group + serializedName: applicationGroupName + cli: + name: applicationGroupName + description: The name of the application group + cliKey: applicationGroupName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications' + method: get + uri: '{$host}' + signatureParameters: + - *ref_290 + - *ref_291 + responses: + - schema: *ref_292 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Applications_List: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: applicationGroup1/application1 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + - name: applicationGroup1/application2 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application2 + properties: + description: des2 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: list + description: List applications. + paging: + nextLinkName: nextLink + cli: + name: List + description: List applications. + cliKey: List + protocol: {} + language: + default: + name: Application + description: '' + cli: + name: Application + description: '' + cliKey: Applications + hidden: true + protocol: {} + - $key: Desktops + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_293 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_294 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_group_name + description: The name of the application group + serializedName: applicationGroupName + cli: + name: applicationGroupName + description: The name of the application group + cliKey: applicationGroupName + protocol: + http: + in: path + - &ref_295 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: desktop_name + description: The name of the desktop within the specified desktop group + serializedName: desktopName + cli: + name: desktopName + description: The name of the desktop within the specified desktop group + cliKey: desktopName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops/{desktopName}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_293 + - *ref_294 + - *ref_295 + responses: + - schema: *ref_86 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Desktop_Get: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + desktopName: SessionDesktop + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1/SessionDesktop + type: Microsoft.DesktopVirtualization/applicationGroups/desktops + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/SessionDesktop + properties: + description: des1 + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + language: + default: + name: get + description: Get a desktop. + cli: + name: Get + description: Get a desktop. + cliKey: Get + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_307 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_308 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_group_name + description: The name of the application group + serializedName: applicationGroupName + cli: + name: applicationGroupName + description: The name of the application group + cliKey: applicationGroupName + protocol: + http: + in: path + - &ref_309 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: desktop_name + description: The name of the desktop within the specified desktop group + serializedName: desktopName + cli: + name: desktopName + description: The name of the desktop within the specified desktop group + cliKey: desktopName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_141 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content_type + description: Body Parameter content-type + serializedName: Content-Type + cli: + name: ContentType + description: Body Parameter content-type + cliKey: content-type + protocol: + http: + in: header + - &ref_297 + schema: *ref_296 + flattened: true + implementation: Method + required: false + extensions: + x-ms-client-flatten: true + language: + default: + name: _desktop + description: Object containing Desktop definitions. + cli: + name: _desktop + description: Object containing Desktop definitions. + cliKey: desktop + protocol: + http: + in: body + style: json + - &ref_304 + schema: *ref_39 + implementation: Method + originalParameter: *ref_297 + pathToProperty: [] + targetProperty: *ref_298 + language: + default: + name: tags + description: tags to be updated + cli: *ref_299 + protocol: {} + - &ref_305 + schema: *ref_108 + implementation: Method + originalParameter: *ref_297 + pathToProperty: [] + targetProperty: *ref_300 + language: + default: + name: description + description: Description of Desktop. + cli: *ref_301 + protocol: {} + - &ref_306 + schema: *ref_109 + implementation: Method + originalParameter: *ref_297 + pathToProperty: [] + targetProperty: *ref_302 + language: + default: + name: friendly_name + description: Friendly name of Desktop. + cli: *ref_303 + protocol: {} + signatureParameters: + - *ref_304 + - *ref_305 + - *ref_306 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops/{desktopName}' + method: patch + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_307 + - *ref_308 + - *ref_309 + responses: + - schema: *ref_86 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Desktop_Update: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + desktop: + properties: + description: des1 + friendlyName: friendly + desktopName: SessionDesktop + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1/SessionDesktop + type: Microsoft.DesktopVirtualization/applicationGroups/desktops + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/desktops/SessionDesktop + properties: + description: des1 + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + language: + default: + name: update + description: Update a desktop. + cli: + name: Update + description: Update a desktop. + cliKey: Update + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_310 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_311 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_group_name + description: The name of the application group + serializedName: applicationGroupName + cli: + name: applicationGroupName + description: The name of the application group + cliKey: applicationGroupName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops' + method: get + uri: '{$host}' + signatureParameters: + - *ref_310 + - *ref_311 + responses: + - schema: *ref_312 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Desktop_List: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: applicationGroup1/SessionDesktop + type: Microsoft.DesktopVirtualization/applicationGroups/desktops + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/SessionDesktop + properties: + description: des1 + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + language: + default: + name: list + description: List desktops. + cli: + name: List + description: List desktops. + cliKey: List + protocol: {} + language: + default: + name: Desktop + description: '' + cli: + name: Desktop + description: '' + cliKey: Desktops + hidden: true + protocol: {} + - $key: HostPools + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_313 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_314 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + name: hostPoolName + description: The name of the host pool within the specified resource group + cliKey: hostPoolName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_313 + - *ref_314 + responses: + - schema: *ref_36 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + HostPool_Get: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: hostPool1 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2008-09-22T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + language: + default: + name: get + description: Get a host pool. + cli: + name: Get + description: Get a host pool. + cliKey: Get + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_354 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_355 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + name: hostPoolName + description: The name of the host pool within the specified resource group + cliKey: hostPoolName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_141 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content_type + description: Body Parameter content-type + serializedName: Content-Type + cli: + name: ContentType + description: Body Parameter content-type + cliKey: content-type + protocol: + http: + in: header + - &ref_315 + schema: *ref_36 + flattened: true + implementation: Method + required: true + extensions: + x-ms-client-flatten: true + language: + default: + name: _host_pool + description: Object containing HostPool definitions. + cli: + name: _host_pool + description: Object containing HostPool definitions. + cliKey: hostPool + protocol: + http: + in: body + style: json + - &ref_340 + schema: *ref_37 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: false + targetProperty: *ref_143 + language: + default: + name: tags + description: Resource tags. + cli: *ref_144 + protocol: {} + - &ref_341 + schema: *ref_38 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: true + targetProperty: *ref_145 + language: + default: + name: location + description: The geo-location where the resource lives + cli: *ref_146 + protocol: {} + - &ref_342 + schema: *ref_19 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: false + targetProperty: *ref_316 + language: + default: + name: friendly_name + description: Friendly name of HostPool. + cli: *ref_317 + protocol: {} + - &ref_343 + schema: *ref_20 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: false + targetProperty: *ref_318 + language: + default: + name: description + description: Description of HostPool. + cli: *ref_319 + protocol: {} + - &ref_344 + schema: *ref_21 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: true + targetProperty: *ref_320 + language: + default: + name: host_pool_type + description: HostPool type for desktop. + cli: *ref_321 + protocol: {} + - &ref_345 + schema: *ref_22 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: true + targetProperty: *ref_322 + language: + default: + name: personal_desktop_assignment_type + description: PersonalDesktopAssignment type for HostPool. + cli: *ref_323 + protocol: {} + - &ref_346 + schema: *ref_23 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: false + targetProperty: *ref_324 + language: + default: + name: custom_rdp_property + description: Custom rdp property of HostPool. + cli: *ref_325 + protocol: {} + - &ref_347 + schema: *ref_24 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: false + targetProperty: *ref_326 + language: + default: + name: max_session_limit + description: The max session limit of HostPool. + cli: *ref_327 + protocol: {} + - &ref_348 + schema: *ref_25 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: true + targetProperty: *ref_328 + language: + default: + name: load_balancer_type + description: The type of the load balancer. + cli: *ref_329 + protocol: {} + - &ref_349 + schema: *ref_26 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: false + targetProperty: *ref_330 + language: + default: + name: ring + description: The ring number of HostPool. + cli: *ref_331 + protocol: {} + - &ref_350 + schema: *ref_27 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: false + targetProperty: *ref_332 + language: + default: + name: validation_environment + description: Is validation environment. + cli: *ref_333 + protocol: {} + - &ref_351 + schema: *ref_111 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: false + targetProperty: *ref_334 + language: + default: + name: registration_info + description: The registration info of HostPool. + cli: *ref_335 + protocol: {} + - &ref_352 + schema: *ref_31 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: false + targetProperty: *ref_336 + language: + default: + name: vm_template + description: VM template for sessionhosts configuration within hostpool. + cli: *ref_337 + protocol: {} + - &ref_353 + schema: *ref_33 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: false + targetProperty: *ref_338 + language: + default: + name: sso_context + description: Path to keyvault containing ssoContext secret. + cli: *ref_339 + protocol: {} + signatureParameters: + - *ref_340 + - *ref_341 + - *ref_342 + - *ref_343 + - *ref_344 + - *ref_345 + - *ref_346 + - *ref_347 + - *ref_348 + - *ref_349 + - *ref_350 + - *ref_351 + - *ref_352 + - *ref_353 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' + method: put + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_354 + - *ref_355 + responses: + - schema: *ref_36 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + - schema: *ref_36 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '201' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + HostPool_Create: + parameters: + api-version: 2019-12-10-preview + hostPool: + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2020-10-01T14:01:54.9571247Z' + registrationTokenOperation: Update + ssoContext: KeyVaultPath + tags: + tag1: value1 + tag2: value2 + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: hostPool1 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2020-10-01T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + '201': + body: + name: hostPool1 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2020-10-01T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + language: + default: + name: create_or_update + description: Create or update a host pool. + cli: + name: CreateOrUpdate + description: Create or update a host pool. + cliKey: CreateOrUpdate + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_357 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_358 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + name: hostPoolName + description: The name of the host pool within the specified resource group + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_359 + schema: *ref_356 + implementation: Method + language: + default: + name: force + description: Force flag to delete sessionHost. + serializedName: force + cli: + name: force + description: Force flag to delete sessionHost. + cliKey: force + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' + method: delete + uri: '{$host}' + signatureParameters: + - *ref_357 + - *ref_358 + - *ref_359 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '204' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + HostPool_Delete: + parameters: + api-version: 2019-12-10-preview + force: true + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + name: hostPool1 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2008-09-22T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + '204': {} + language: + default: + name: delete + description: Remove a host pool. + cli: + name: Delete + description: Remove a host pool. + cliKey: Delete + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_394 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_395 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + name: hostPoolName + description: The name of the host pool within the specified resource group + cliKey: hostPoolName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_141 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content_type + description: Body Parameter content-type + serializedName: Content-Type + cli: + name: ContentType + description: Body Parameter content-type + cliKey: content-type + protocol: + http: + in: header + - &ref_360 + schema: *ref_87 + flattened: true + implementation: Method + required: false + extensions: + x-ms-client-flatten: true + language: + default: + name: _host_pool + description: Object containing HostPool definitions. + cli: + name: _host_pool + description: Object containing HostPool definitions. + cliKey: hostPool + protocol: + http: + in: body + style: json + - &ref_383 + schema: *ref_39 + implementation: Method + originalParameter: *ref_360 + pathToProperty: [] + targetProperty: *ref_361 + language: + default: + name: tags + description: tags to be updated + cli: *ref_362 + protocol: {} + - &ref_384 + schema: *ref_61 + implementation: Method + originalParameter: *ref_360 + pathToProperty: [] + targetProperty: *ref_363 + language: + default: + name: friendly_name + description: Friendly name of HostPool. + cli: *ref_364 + protocol: {} + - &ref_385 + schema: *ref_62 + implementation: Method + originalParameter: *ref_360 + pathToProperty: [] + targetProperty: *ref_365 + language: + default: + name: description + description: Description of HostPool. + cli: *ref_366 + protocol: {} + - &ref_386 + schema: *ref_63 + implementation: Method + originalParameter: *ref_360 + pathToProperty: [] + targetProperty: *ref_367 + language: + default: + name: custom_rdp_property + description: Custom rdp property of HostPool. + cli: *ref_368 + protocol: {} + - &ref_387 + schema: *ref_24 + implementation: Method + originalParameter: *ref_360 + pathToProperty: [] + targetProperty: *ref_369 + language: + default: + name: max_session_limit + description: The max session limit of HostPool. + cli: *ref_370 + protocol: {} + - &ref_388 + schema: *ref_22 + implementation: Method + originalParameter: *ref_360 + pathToProperty: [] + targetProperty: *ref_371 + language: + default: + name: personal_desktop_assignment_type + description: PersonalDesktopAssignment type for HostPool. + cli: *ref_372 + protocol: {} + - &ref_389 + schema: *ref_25 + implementation: Method + originalParameter: *ref_360 + pathToProperty: [] + targetProperty: *ref_373 + language: + default: + name: load_balancer_type + description: The type of the load balancer. + cli: *ref_374 + protocol: {} + - &ref_390 + schema: *ref_26 + implementation: Method + originalParameter: *ref_360 + pathToProperty: [] + targetProperty: *ref_375 + language: + default: + name: ring + description: The ring number of HostPool. + cli: *ref_376 + protocol: {} + - &ref_391 + schema: *ref_27 + implementation: Method + originalParameter: *ref_360 + pathToProperty: [] + targetProperty: *ref_377 + language: + default: + name: validation_environment + description: Is validation environment. + cli: *ref_378 + protocol: {} + - &ref_392 + schema: *ref_112 + implementation: Method + originalParameter: *ref_360 + pathToProperty: [] + targetProperty: *ref_379 + language: + default: + name: registration_info + description: The registration info of HostPool. + cli: *ref_380 + protocol: {} + - &ref_393 + schema: *ref_64 + implementation: Method + originalParameter: *ref_360 + pathToProperty: [] + targetProperty: *ref_381 + language: + default: + name: sso_context + description: Path to keyvault containing ssoContext secret. + cli: *ref_382 + protocol: {} + signatureParameters: + - *ref_383 + - *ref_384 + - *ref_385 + - *ref_386 + - *ref_387 + - *ref_388 + - *ref_389 + - *ref_390 + - *ref_391 + - *ref_392 + - *ref_393 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' + method: patch + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_394 + - *ref_395 + responses: + - schema: *ref_36 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + HostPool_Update: + parameters: + api-version: 2019-12-10-preview + hostPool: + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2020-10-02T14:01:54.9571247Z' + ssoContext: KeyVaultPath + tags: + tag1: value1 + tag2: value2 + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: hostPool1 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2008-09-22T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + language: + default: + name: update + description: Update a host pool. + cli: + name: Update + description: Update a host pool. + cliKey: Update + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_396 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools' + method: get + uri: '{$host}' + signatureParameters: + - *ref_396 + responses: + - schema: *ref_397 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + HostPool_ListByResourceGroup: + parameters: + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: hostPool1 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2008-09-22T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + - name: hostPool2 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool2 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2008-09-22T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: list_by_resource_group + description: List hostPools. + paging: + nextLinkName: nextLink + cli: + name: ListByResourceGroup + description: List hostPools. + cliKey: ListByResourceGroup + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/hostPools' + method: get + uri: '{$host}' + signatureParameters: [] + responses: + - schema: *ref_397 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + HostPool_List: + parameters: + api-version: 2019-12-10-preview + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: hostPool1 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2008-09-22T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + - name: hostPool2 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool2 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2008-09-22T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: list + description: List hostPools in subscription. + paging: + nextLinkName: nextLink + cli: + name: List + description: List hostPools in subscription. + cliKey: List + protocol: {} + language: + default: + name: HostPool + description: '' + cli: + name: HostPool + description: '' + cliKey: HostPools + protocol: {} + - $key: UserSessions + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_398 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_399 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + name: hostPoolName + description: The name of the host pool within the specified resource group + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_400 + schema: *ref_180 + implementation: Method + language: + default: + name: filter + description: OData filter expression. Valid properties for filtering are userprincipalname and sessionstate. + serializedName: $filter + cli: + name: filter + description: OData filter expression. Valid properties for filtering are userprincipalname and sessionstate. + cliKey: $filter + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/userSessions' + method: get + uri: '{$host}' + signatureParameters: + - *ref_398 + - *ref_399 + - *ref_400 + responses: + - schema: *ref_401 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + UserSession_ListByHostPool: + parameters: + $filter: userPrincipalName eq 'user1@microsoft.com' and state eq 'active' + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: '1' + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 + properties: + activeDirectoryUserName: WVDARM\user1 + applicationType: Desktop + createTime: '2008-09-22T14:01:54.9571247Z' + sessionState: Active + userPrincipalName: user1@microsoft.com + - name: '2' + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/2 + properties: + activeDirectoryUserName: WVDARM\user1 + applicationType: Desktop + createTime: '2008-09-22T14:01:54.9571247Z' + sessionState: Active + userPrincipalName: user1@microsoft.com + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: list_by_host_pool + description: List userSessions. + paging: + nextLinkName: nextLink + cli: + name: ListByHostPool + description: List userSessions. + cliKey: ListByHostPool + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_404 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_405 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + name: hostPoolName + description: The name of the host pool within the specified resource group + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_406 + schema: *ref_402 + implementation: Method + required: true + language: + default: + name: session_host_name + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + name: sessionHostName + description: The name of the session host within the specified host pool + cliKey: sessionHostName + protocol: + http: + in: path + - &ref_407 + schema: *ref_403 + implementation: Method + required: true + language: + default: + name: user_session_id + description: The name of the user session within the specified session host + serializedName: userSessionId + cli: + name: userSessionId + description: The name of the user session within the specified session host + cliKey: userSessionId + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_404 + - *ref_405 + - *ref_406 + - *ref_407 + responses: + - schema: *ref_88 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + UserSession_Get: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + userSessionId: '1' + responses: + '200': + body: + name: '1' + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 + properties: + activeDirectoryUserName: WVDARM\user1 + applicationType: Desktop + createTime: '2008-09-22T14:01:54.9571247Z' + sessionState: Active + userPrincipalName: user1@microsoft.com + language: + default: + name: get + description: Get a userSession. + cli: + name: Get + description: Get a userSession. + cliKey: Get + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_408 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_409 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + name: hostPoolName + description: The name of the host pool within the specified resource group + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_410 + schema: *ref_402 + implementation: Method + required: true + language: + default: + name: session_host_name + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + name: sessionHostName + description: The name of the session host within the specified host pool + cliKey: sessionHostName + protocol: + http: + in: path + - &ref_411 + schema: *ref_403 + implementation: Method + required: true + language: + default: + name: user_session_id + description: The name of the user session within the specified session host + serializedName: userSessionId + cli: + name: userSessionId + description: The name of the user session within the specified session host + cliKey: userSessionId + protocol: + http: + in: path + - &ref_412 + schema: *ref_356 + implementation: Method + language: + default: + name: force + description: Force flag to login off userSession. + serializedName: force + cli: + name: force + description: Force flag to login off userSession. + cliKey: force + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}' + method: delete + uri: '{$host}' + signatureParameters: + - *ref_408 + - *ref_409 + - *ref_410 + - *ref_411 + - *ref_412 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '204' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + UserSession_Delete: + parameters: + api-version: 2019-12-10-preview + force: true + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + userSessionId: '1' + responses: + '200': + name: '1' + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 + properties: + activeDirectoryUserName: WVDARM\user1 + applicationType: Desktop + createTime: '2008-09-22T14:01:54.9571247Z' + sessionState: Active + userPrincipalName: user1@microsoft.com + '204': {} + language: + default: + name: delete + description: Remove a userSession. + cli: + name: Delete + description: Remove a userSession. + cliKey: Delete + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_413 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_414 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + name: hostPoolName + description: The name of the host pool within the specified resource group + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_415 + schema: *ref_402 + implementation: Method + required: true + language: + default: + name: session_host_name + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + name: sessionHostName + description: The name of the session host within the specified host pool + cliKey: sessionHostName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions' + method: get + uri: '{$host}' + signatureParameters: + - *ref_413 + - *ref_414 + - *ref_415 + responses: + - schema: *ref_401 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + UserSession_List: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: '1' + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 + properties: + activeDirectoryUserName: WVDARM\user1 + applicationType: Desktop + createTime: '2008-09-22T14:01:54.9571247Z' + sessionState: Active + userPrincipalName: user1@microsoft.com + - name: '2' + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/2 + properties: + activeDirectoryUserName: WVDARM\user1 + applicationType: Desktop + createTime: '2008-09-22T14:01:54.9571247Z' + sessionState: Active + userPrincipalName: user1@microsoft.com + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: list + description: List userSessions. + paging: + nextLinkName: nextLink + cli: + name: List + description: List userSessions. + cliKey: List + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_416 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_417 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + name: hostPoolName + description: The name of the host pool within the specified resource group + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_418 + schema: *ref_402 + implementation: Method + required: true + language: + default: + name: session_host_name + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + name: sessionHostName + description: The name of the session host within the specified host pool + cliKey: sessionHostName + protocol: + http: + in: path + - &ref_419 + schema: *ref_403 + implementation: Method + required: true + language: + default: + name: user_session_id + description: The name of the user session within the specified session host + serializedName: userSessionId + cli: + name: userSessionId + description: The name of the user session within the specified session host + cliKey: userSessionId + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}/disconnect' + method: post + uri: '{$host}' + signatureParameters: + - *ref_416 + - *ref_417 + - *ref_418 + - *ref_419 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + UserSession_Disconnect_Post: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + userSessionId: '1' + responses: + '200': {} + language: + default: + name: disconnect + description: Disconnect a userSession. + cli: + name: Disconnect + description: Disconnect a userSession. + cliKey: Disconnect + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_428 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_429 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + name: hostPoolName + description: The name of the host pool within the specified resource group + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_430 + schema: *ref_402 + implementation: Method + required: true + language: + default: + name: session_host_name + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + name: sessionHostName + description: The name of the session host within the specified host pool + cliKey: sessionHostName + protocol: + http: + in: path + - &ref_431 + schema: *ref_403 + implementation: Method + required: true + language: + default: + name: user_session_id + description: The name of the user session within the specified session host + serializedName: userSessionId + cli: + name: userSessionId + description: The name of the user session within the specified session host + cliKey: userSessionId + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_141 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content_type + description: Body Parameter content-type + serializedName: Content-Type + cli: + name: ContentType + description: Body Parameter content-type + cliKey: content-type + protocol: + http: + in: header + - &ref_421 + schema: *ref_420 + flattened: true + implementation: Method + required: false + extensions: + x-ms-client-flatten: true + language: + default: + name: _send_message + description: Object containing message includes title and message body + cli: + name: _send_message + description: Object containing message includes title and message body + cliKey: sendMessage + protocol: + http: + in: body + style: json + - &ref_426 + schema: *ref_116 + implementation: Method + originalParameter: *ref_421 + pathToProperty: [] + targetProperty: *ref_422 + language: + default: + name: message_title + description: Title of message. + cli: *ref_423 + protocol: {} + - &ref_427 + schema: *ref_117 + implementation: Method + originalParameter: *ref_421 + pathToProperty: [] + targetProperty: *ref_424 + language: + default: + name: message_body + description: Body of message. + cli: *ref_425 + protocol: {} + signatureParameters: + - *ref_426 + - *ref_427 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}/sendMessage' + method: post + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_428 + - *ref_429 + - *ref_430 + - *ref_431 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + UserSession_SendMessage_Post: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sendMessage: + messageBody: body + messageTitle: title + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + userSessionId: '1' + responses: + '200': {} + language: + default: + name: send_message + description: Send a message to a user. + cli: + name: SendMessage + description: Send a message to a user. + cliKey: SendMessage + protocol: {} + language: + default: + name: UserSession + description: '' + cli: + name: UserSession + description: '' + cliKey: UserSessions + hidden: true + protocol: {} + - $key: SessionHosts + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_432 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_433 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + name: hostPoolName + description: The name of the host pool within the specified resource group + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_434 + schema: *ref_402 + implementation: Method + required: true + language: + default: + name: session_host_name + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + name: sessionHostName + description: The name of the session host within the specified host pool + cliKey: sessionHostName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_432 + - *ref_433 + - *ref_434 + responses: + - schema: *ref_89 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + SessionHost_Get: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: sessionHost1.microsoft.com + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com + properties: + agentVersion: 1.0.0.1391 + allowNewSession: true + assignedUser: user1@microsoft.com + lastHeartBeat: '2008-09-22T14:01:54.9571247Z' + lastUpdateTime: '2008-09-22T14:01:54.9571247Z' + osVersion: 10.0.17763 + sessions: 1 + status: Available + statusTimestamp: '2008-09-22T14:01:54.9571247Z' + sxSStackVersion: rdp-sxs190816002 + updateErrorMessage: '' + updateState: Succeeded + language: + default: + name: get + description: Get a session host. + cli: + name: Get + description: Get a session host. + cliKey: Get + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_435 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_436 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + name: hostPoolName + description: The name of the host pool within the specified resource group + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_437 + schema: *ref_402 + implementation: Method + required: true + language: + default: + name: session_host_name + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + name: sessionHostName + description: The name of the session host within the specified host pool + cliKey: sessionHostName + protocol: + http: + in: path + - &ref_438 + schema: *ref_356 + implementation: Method + language: + default: + name: force + description: Force flag to force sessionHost deletion even when userSession exists. + serializedName: force + cli: + name: force + description: Force flag to force sessionHost deletion even when userSession exists. + cliKey: force + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}' + method: delete + uri: '{$host}' + signatureParameters: + - *ref_435 + - *ref_436 + - *ref_437 + - *ref_438 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '204' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + SessionHost_Delete: + parameters: + api-version: 2019-12-10-preview + force: true + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + name: sessionHost1.microsoft.com + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com + properties: + agentVersion: 1.0.0.1391 + allowNewSession: true + assignedUser: user1@microsoft.com + lastHeartBeat: '2008-09-22T14:01:54.9571247Z' + lastUpdateTime: '2008-09-22T14:01:54.9571247Z' + osVersion: 10.0.17763 + sessions: 1 + status: Available + statusTimestamp: '2008-09-22T14:01:54.9571247Z' + sxSStackVersion: rdp-sxs190816002 + updateErrorMessage: '' + updateState: Succeeded + '204': {} + language: + default: + name: delete + description: Remove a SessionHost. + cli: + name: Delete + description: Remove a SessionHost. + cliKey: Delete + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_446 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_447 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + name: hostPoolName + description: The name of the host pool within the specified resource group + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_448 + schema: *ref_402 + implementation: Method + required: true + language: + default: + name: session_host_name + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + name: sessionHostName + description: The name of the session host within the specified host pool + cliKey: sessionHostName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_141 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content_type + description: Body Parameter content-type + serializedName: Content-Type + cli: + name: ContentType + description: Body Parameter content-type + cliKey: content-type + protocol: + http: + in: header + - &ref_439 + schema: *ref_90 + flattened: true + implementation: Method + required: false + extensions: + x-ms-client-flatten: true + language: + default: + name: _session_host + description: Object containing SessionHost definitions. + cli: + name: _session_host + description: Object containing SessionHost definitions. + cliKey: sessionHost + protocol: + http: + in: body + style: json + - &ref_444 + schema: *ref_73 + implementation: Method + originalParameter: *ref_439 + pathToProperty: [] + targetProperty: *ref_440 + language: + default: + name: allow_new_session + description: Allow a new session. + cli: *ref_441 + protocol: {} + - &ref_445 + schema: *ref_82 + implementation: Method + originalParameter: *ref_439 + pathToProperty: [] + targetProperty: *ref_442 + language: + default: + name: assigned_user + description: User assigned to SessionHost. + cli: *ref_443 + protocol: {} + signatureParameters: + - *ref_444 + - *ref_445 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}' + method: patch + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_446 + - *ref_447 + - *ref_448 + responses: + - schema: *ref_89 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + SessionHost_Update: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHost: + properties: + allowNewSession: true + assignedUser: user1@microsoft.com + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: sessionHost1.microsoft.com + type: Microsoft.DesktopVirtualization/hostPools/sessionhosts + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com + properties: + agentVersion: 1.0.0.1391 + allowNewSession: true + assignedUser: user1@microsoft.com + lastHeartBeat: '2019-01-11T19:27:13.6108027Z' + lastUpdateTime: '2008-09-22T14:01:54.9571247Z' + osVersion: 10.0.17763 + sessions: 1 + status: Available + statusTimestamp: '2019-01-24T20:00:08.2893033Z' + sxSStackVersion: rdp-sxs190816002 + updateErrorMessage: '' + updateState: Succeeded + language: + default: + name: update + description: Update a session host. + cli: + name: Update + description: Update a session host. + cliKey: Update + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_449 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_450 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + name: hostPoolName + description: The name of the host pool within the specified resource group + cliKey: hostPoolName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts' + method: get + uri: '{$host}' + signatureParameters: + - *ref_449 + - *ref_450 + responses: + - schema: *ref_451 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + SessionHost_List: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: sessionHost1.microsoft.com + type: Microsoft.DesktopVirtualization/hostPools/sessionhosts + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com + properties: + agentVersion: 1.0.0.1391 + allowNewSession: true + assignedUser: user1@microsoft.com + lastHeartBeat: '2008-09-22T14:01:54.9571247Z' + lastUpdateTime: '2008-09-22T14:01:54.9571247Z' + osVersion: 10.0.17763 + sessions: 1 + status: Available + statusTimestamp: '2008-09-22T14:01:54.9571247Z' + sxSStackVersion: rdp-sxs190816002 + updateErrorMessage: '' + updateState: Succeeded + - name: sessionHost2.microsoft.com + type: Microsoft.DesktopVirtualization/hostPools/sessionhosts + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost2microsoft.com + properties: + agentVersion: 1.0.0.1391 + allowNewSession: true + assignedUser: user2@microsoft.com + lastHeartBeat: '2008-09-22T14:01:54.9571247Z' + lastUpdateTime: '2008-09-22T14:01:54.9571247Z' + osVersion: 10.0.17763 + sessions: 1 + status: Available + statusTimestamp: '2008-09-22T14:01:54.9571247Z' + sxSStackVersion: rdp-sxs190816002 + updateErrorMessage: '' + updateState: Succeeded + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: list + description: List sessionHosts. + paging: + nextLinkName: nextLink + cli: + name: List + description: List sessionHosts. + cliKey: List + protocol: {} + language: + default: + name: SessionHost + description: '' + cli: + name: SessionHost + description: '' + cliKey: SessionHosts + hidden: true + protocol: {} + - $key: ActiveApplications + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_452 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_453 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + name: hostPoolName + description: The name of the host pool within the specified resource group + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_454 + schema: *ref_402 + implementation: Method + required: true + language: + default: + name: session_host_name + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + name: sessionHostName + description: The name of the session host within the specified host pool + cliKey: sessionHostName + protocol: + http: + in: path + - &ref_455 + schema: *ref_180 + implementation: Method + language: + default: + name: filter + description: OData filter expression. Valid properties for filtering are userprincipalname and sessionstate. + serializedName: $filter + cli: + name: filter + description: OData filter expression. Valid properties for filtering are userprincipalname and sessionstate. + cliKey: $filter + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/activeApplications' + method: get + uri: '{$host}' + signatureParameters: + - *ref_452 + - *ref_453 + - *ref_454 + - *ref_455 + responses: + - schema: *ref_292 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ActiveApplications_List: + parameters: + $filter: userPrincipalName eq 'user1@microsoft.com' + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: applicationGroup1/application1 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + - name: applicationGroup1/application2 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application2 + properties: + description: des2 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: list_by_session_host + description: List applications for the given session host. + paging: + nextLinkName: nextLink + cli: + name: ListBySessionHost + description: List applications for the given session host. + cliKey: ListBySessionHost + protocol: {} + language: + default: + name: ActiveApplication + description: '' + cli: + name: ActiveApplication + description: '' + cliKey: ActiveApplications + hidden: true + protocol: {} +language: + default: + name: DesktopVirtualizationAPIClient + description: '' + cli: + name: DesktopVirtualizationAPIClient + description: '' +protocol: + http: {} diff --git a/src/desktopvirtualization/_az_debug/clicommon-000110-poly-as-resource-post-simplified.yaml b/src/desktopvirtualization/_az_debug/clicommon-000110-poly-as-resource-post-simplified.yaml new file mode 100644 index 00000000000..893109e1471 --- /dev/null +++ b/src/desktopvirtualization/_az_debug/clicommon-000110-poly-as-resource-post-simplified.yaml @@ -0,0 +1,2383 @@ +operationGroups: + all: + - operationGroupName: Operation + cli: + cliKey: Operations + operations: + - operationName: list + cli: + name: List + cliKey: List + hidden: true + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - operationGroupName: Workspace + cli: + cliKey: Workspaces + operations: + - operationName: get + cli: + name: Get + cliKey: Get + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: workspace_name(String^string) + cli: + name: workspaceName + cliKey: workspaceName + - operationName: create_or_update + cli: + name: CreateOrUpdate + cliKey: CreateOrUpdate + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: workspace_name(String^string) + cli: + name: workspaceName + cliKey: workspaceName + - parameterName[0]: content_type(application_json^constant) + cli: + name: ContentType + cliKey: content-type + - parameterName[0]: _workspace(Workspace^object) + cli: + cliKey: workspace + x-ms-client-flatten: true + bodySchema: Workspace + - parameterName[0]: tags(TrackedResourceTags^dictionary) + cli: + cliKey: tags + - parameterName[0]: location(TrackedResourceLocation^string) + cli: + cliKey: location + - parameterName[0]: description(WorkspacePropertiesDescription^string) + cli: + cliKey: description + - parameterName[0]: friendly_name(WorkspacePropertiesFriendlyName^string) + cli: + name: friendlyName + cliKey: friendlyName + - parameterName[0]: application_group_references(WorkspacePropertiesApplicationGroupReferences^array) + cli: + name: applicationGroupReferences + cliKey: applicationGroupReferences + - operationName: delete + cli: + name: Delete + cliKey: Delete + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: workspace_name(String^string) + cli: + name: workspaceName + cliKey: workspaceName + - operationName: update + cli: + name: Update + cliKey: Update + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: workspace_name(String^string) + cli: + name: workspaceName + cliKey: workspaceName + - parameterName[0]: content_type(application_json^constant) + cli: + name: ContentType + cliKey: content-type + - parameterName[0]: _workspace(WorkspacePatch^object) + cli: + cliKey: workspace + x-ms-client-flatten: true + bodySchema: WorkspacePatch + - parameterName[0]: tags(any^any) + cli: + cliKey: tags + - parameterName[0]: description(WorkspacePatchPropertiesDescription^string) + cli: + cliKey: description + - parameterName[0]: friendly_name(WorkspacePatchPropertiesFriendlyName^string) + cli: + name: friendlyName + cliKey: friendlyName + - parameterName[0]: application_group_references(WorkspacePatchPropertiesApplicationGroupReferences^array) + cli: + name: applicationGroupReferences + cliKey: applicationGroupReferences + - operationName: list_by_resource_group + cli: + name: ListByResourceGroup + cliKey: ListByResourceGroup + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - operationName: list_by_subscription + cli: + name: ListBySubscription + cliKey: ListBySubscription + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - operationGroupName: ApplicationGroupAssignment + cli: + cliKey: ApplicationGroupAssignments + hidden: true + operations: + - operationName: workspace_level_list + cli: + name: WorkspaceLevelList + cliKey: WorkspaceLevelList + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: workspace_name(String^string) + cli: + name: workspaceName + cliKey: workspaceName + - parameterName: filter(String^string) + cli: + cliKey: $filter + - operationGroupName: ApplicationGroup + cli: + cliKey: ApplicationGroups + operations: + - operationName: get + cli: + name: Get + cliKey: Get + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: application_group_name(String^string) + cli: + name: applicationGroupName + cliKey: applicationGroupName + - operationName: create_or_update + cli: + name: CreateOrUpdate + cliKey: CreateOrUpdate + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: application_group_name(String^string) + cli: + name: applicationGroupName + cliKey: applicationGroupName + - parameterName[0]: content_type(application_json^constant) + cli: + name: ContentType + cliKey: content-type + - parameterName[0]: _application_group(ApplicationGroup^object) + cli: + cliKey: applicationGroup + x-ms-client-flatten: true + bodySchema: ApplicationGroup + - parameterName[0]: tags(TrackedResourceTags^dictionary) + cli: + cliKey: tags + - parameterName[0]: location(TrackedResourceLocation^string) + cli: + cliKey: location + - parameterName[0]: description(ApplicationGroupPropertiesDescription^string) + cli: + cliKey: description + - parameterName[0]: friendly_name(ApplicationGroupPropertiesFriendlyName^string) + cli: + name: friendlyName + cliKey: friendlyName + - parameterName[0]: host_pool_arm_path(ApplicationGroupPropertiesHostPoolArmPath^string) + cli: + name: hostPoolArmPath + cliKey: hostPoolArmPath + - parameterName[0]: application_group_type(ApplicationGroupType^choice) + cli: + name: applicationGroupType + cliKey: applicationGroupType + - operationName: delete + cli: + name: Delete + cliKey: Delete + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: application_group_name(String^string) + cli: + name: applicationGroupName + cliKey: applicationGroupName + - operationName: update + cli: + name: Update + cliKey: Update + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: application_group_name(String^string) + cli: + name: applicationGroupName + cliKey: applicationGroupName + - parameterName[0]: content_type(application_json^constant) + cli: + name: ContentType + cliKey: content-type + - parameterName[0]: _application_group(ApplicationGroupPatch^object) + cli: + cliKey: applicationGroup + x-ms-client-flatten: true + bodySchema: ApplicationGroupPatch + - parameterName[0]: tags(any^any) + cli: + cliKey: tags + - parameterName[0]: description(ApplicationGroupPatchPropertiesDescription^string) + cli: + cliKey: description + - parameterName[0]: friendly_name(ApplicationGroupPatchPropertiesFriendlyName^string) + cli: + name: friendlyName + cliKey: friendlyName + - operationName: list_by_resource_group + cli: + name: ListByResourceGroup + cliKey: ListByResourceGroup + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: filter(String^string) + cli: + cliKey: $filter + - operationName: list_by_subscription + cli: + name: ListBySubscription + cliKey: ListBySubscription + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: filter(String^string) + cli: + cliKey: $filter + - operationGroupName: StartMenuItem + cli: + cliKey: StartMenuItems + hidden: true + operations: + - operationName: list + cli: + name: List + cliKey: List + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: application_group_name(String^string) + cli: + name: applicationGroupName + cliKey: applicationGroupName + - operationGroupName: Application + cli: + cliKey: Applications + hidden: true + operations: + - operationName: get + cli: + name: Get + cliKey: Get + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: application_group_name(String^string) + cli: + name: applicationGroupName + cliKey: applicationGroupName + - parameterName: application_name(String^string) + cli: + name: applicationName + cliKey: applicationName + - operationName: create_or_update + cli: + name: CreateOrUpdate + cliKey: CreateOrUpdate + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: application_group_name(String^string) + cli: + name: applicationGroupName + cliKey: applicationGroupName + - parameterName: application_name(String^string) + cli: + name: applicationName + cliKey: applicationName + - parameterName[0]: content_type(application_json^constant) + cli: + name: ContentType + cliKey: content-type + - parameterName[0]: _application(Application^object) + cli: + cliKey: application + x-ms-client-flatten: true + bodySchema: Application + - parameterName[0]: description(ApplicationPropertiesDescription^string) + cli: + cliKey: description + - parameterName[0]: friendly_name(ApplicationPropertiesFriendlyName^string) + cli: + name: friendlyName + cliKey: friendlyName + - parameterName[0]: file_path(ApplicationPropertiesFilePath^string) + cli: + name: filePath + cliKey: filePath + - parameterName[0]: command_line_setting(CommandLineSetting^choice) + cli: + name: commandLineSetting + cliKey: commandLineSetting + - parameterName[0]: command_line_arguments(ApplicationPropertiesCommandLineArguments^string) + cli: + name: commandLineArguments + cliKey: commandLineArguments + - parameterName[0]: show_in_portal(boolean^boolean) + cli: + name: showInPortal + cliKey: showInPortal + - parameterName[0]: icon_path(ApplicationPropertiesIconPath^string) + cli: + name: iconPath + cliKey: iconPath + - parameterName[0]: icon_index(Integer^integer) + cli: + name: iconIndex + cliKey: iconIndex + - operationName: delete + cli: + name: Delete + cliKey: Delete + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: application_group_name(String^string) + cli: + name: applicationGroupName + cliKey: applicationGroupName + - parameterName: application_name(String^string) + cli: + name: applicationName + cliKey: applicationName + - operationName: update + cli: + name: Update + cliKey: Update + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: application_group_name(String^string) + cli: + name: applicationGroupName + cliKey: applicationGroupName + - parameterName: application_name(String^string) + cli: + name: applicationName + cliKey: applicationName + - parameterName[0]: content_type(application_json^constant) + cli: + name: ContentType + cliKey: content-type + - parameterName[0]: _application(ApplicationPatch^object) + cli: + cliKey: application + x-ms-client-flatten: true + bodySchema: ApplicationPatch + - parameterName[0]: tags(any^any) + cli: + cliKey: tags + - parameterName[0]: description(ApplicationPatchPropertiesDescription^string) + cli: + cliKey: description + - parameterName[0]: friendly_name(ApplicationPatchPropertiesFriendlyName^string) + cli: + name: friendlyName + cliKey: friendlyName + - parameterName[0]: file_path(ApplicationPatchPropertiesFilePath^string) + cli: + name: filePath + cliKey: filePath + - parameterName[0]: command_line_setting(CommandLineSetting^choice) + cli: + name: commandLineSetting + cliKey: commandLineSetting + - parameterName[0]: command_line_arguments(ApplicationPatchPropertiesCommandLineArguments^string) + cli: + name: commandLineArguments + cliKey: commandLineArguments + - parameterName[0]: show_in_portal(boolean^boolean) + cli: + name: showInPortal + cliKey: showInPortal + - parameterName[0]: icon_path(ApplicationPatchPropertiesIconPath^string) + cli: + name: iconPath + cliKey: iconPath + - parameterName[0]: icon_index(Integer^integer) + cli: + name: iconIndex + cliKey: iconIndex + - operationName: list + cli: + name: List + cliKey: List + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: application_group_name(String^string) + cli: + name: applicationGroupName + cliKey: applicationGroupName + - operationGroupName: Desktop + cli: + cliKey: Desktops + hidden: true + operations: + - operationName: get + cli: + name: Get + cliKey: Get + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: application_group_name(String^string) + cli: + name: applicationGroupName + cliKey: applicationGroupName + - parameterName: desktop_name(String^string) + cli: + name: desktopName + cliKey: desktopName + - operationName: update + cli: + name: Update + cliKey: Update + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: application_group_name(String^string) + cli: + name: applicationGroupName + cliKey: applicationGroupName + - parameterName: desktop_name(String^string) + cli: + name: desktopName + cliKey: desktopName + - parameterName[0]: content_type(application_json^constant) + cli: + name: ContentType + cliKey: content-type + - parameterName[0]: _desktop(DesktopPatch^object) + cli: + cliKey: desktop + x-ms-client-flatten: true + bodySchema: DesktopPatch + - parameterName[0]: tags(any^any) + cli: + cliKey: tags + - parameterName[0]: description(DesktopPatchPropertiesDescription^string) + cli: + cliKey: description + - parameterName[0]: friendly_name(DesktopPatchPropertiesFriendlyName^string) + cli: + name: friendlyName + cliKey: friendlyName + - operationName: list + cli: + name: List + cliKey: List + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: application_group_name(String^string) + cli: + name: applicationGroupName + cliKey: applicationGroupName + - operationGroupName: HostPool + cli: + cliKey: HostPools + operations: + - operationName: get + cli: + name: Get + cliKey: Get + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: host_pool_name(String^string) + cli: + name: hostPoolName + cliKey: hostPoolName + - operationName: create_or_update + cli: + name: CreateOrUpdate + cliKey: CreateOrUpdate + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: host_pool_name(String^string) + cli: + name: hostPoolName + cliKey: hostPoolName + - parameterName[0]: content_type(application_json^constant) + cli: + name: ContentType + cliKey: content-type + - parameterName[0]: _host_pool(HostPool^object) + cli: + cliKey: hostPool + x-ms-client-flatten: true + bodySchema: HostPool + - parameterName[0]: tags(TrackedResourceTags^dictionary) + cli: + cliKey: tags + - parameterName[0]: location(TrackedResourceLocation^string) + cli: + cliKey: location + - parameterName[0]: friendly_name(HostPoolPropertiesFriendlyName^string) + cli: + name: friendlyName + cliKey: friendlyName + - parameterName[0]: description(HostPoolPropertiesDescription^string) + cli: + cliKey: description + - parameterName[0]: host_pool_type(HostPoolType^choice) + cli: + name: hostPoolType + cliKey: hostPoolType + - parameterName[0]: personal_desktop_assignment_type(PersonalDesktopAssignmentType^choice) + cli: + name: personalDesktopAssignmentType + cliKey: personalDesktopAssignmentType + - parameterName[0]: custom_rdp_property(HostPoolPropertiesCustomRdpProperty^string) + cli: + name: customRdpProperty + cliKey: customRdpProperty + - parameterName[0]: max_session_limit(Integer^integer) + cli: + name: maxSessionLimit + cliKey: maxSessionLimit + - parameterName[0]: load_balancer_type(LoadBalancerType^choice) + cli: + name: loadBalancerType + cliKey: loadBalancerType + - parameterName[0]: ring(Integer^integer) + cli: + cliKey: ring + - parameterName[0]: validation_environment(boolean^boolean) + cli: + name: validationEnvironment + cliKey: validationEnvironment + - parameterName[0]: registration_info(RegistrationInfo^object) + cli: + name: registrationInfo + cliKey: registrationInfo + - parameterName[0]: vm_template(HostPoolPropertiesVmTemplate^string) + cli: + name: vmTemplate + cliKey: vmTemplate + - parameterName[0]: sso_context(HostPoolPropertiesSsoContext^string) + cli: + name: ssoContext + cliKey: ssoContext + - operationName: delete + cli: + name: Delete + cliKey: Delete + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: host_pool_name(String^string) + cli: + name: hostPoolName + cliKey: hostPoolName + - parameterName: force(boolean^boolean) + cli: + cliKey: force + - operationName: update + cli: + name: Update + cliKey: Update + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: host_pool_name(String^string) + cli: + name: hostPoolName + cliKey: hostPoolName + - parameterName[0]: content_type(application_json^constant) + cli: + name: ContentType + cliKey: content-type + - parameterName[0]: _host_pool(HostPoolPatch^object) + cli: + cliKey: hostPool + x-ms-client-flatten: true + bodySchema: HostPoolPatch + - parameterName[0]: tags(any^any) + cli: + cliKey: tags + - parameterName[0]: friendly_name(HostPoolPatchPropertiesFriendlyName^string) + cli: + name: friendlyName + cliKey: friendlyName + - parameterName[0]: description(HostPoolPatchPropertiesDescription^string) + cli: + cliKey: description + - parameterName[0]: custom_rdp_property(HostPoolPatchPropertiesCustomRdpProperty^string) + cli: + name: customRdpProperty + cliKey: customRdpProperty + - parameterName[0]: max_session_limit(Integer^integer) + cli: + name: maxSessionLimit + cliKey: maxSessionLimit + - parameterName[0]: personal_desktop_assignment_type(PersonalDesktopAssignmentType^choice) + cli: + name: personalDesktopAssignmentType + cliKey: personalDesktopAssignmentType + - parameterName[0]: load_balancer_type(LoadBalancerType^choice) + cli: + name: loadBalancerType + cliKey: loadBalancerType + - parameterName[0]: ring(Integer^integer) + cli: + cliKey: ring + - parameterName[0]: validation_environment(boolean^boolean) + cli: + name: validationEnvironment + cliKey: validationEnvironment + - parameterName[0]: registration_info(RegistrationInfoPatch^object) + cli: + name: registrationInfo + cliKey: registrationInfo + - parameterName[0]: sso_context(HostPoolPatchPropertiesSsoContext^string) + cli: + name: ssoContext + cliKey: ssoContext + - operationName: list_by_resource_group + cli: + name: ListByResourceGroup + cliKey: ListByResourceGroup + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - operationName: list + cli: + name: List + cliKey: List + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - operationGroupName: UserSession + cli: + cliKey: UserSessions + hidden: true + operations: + - operationName: list_by_host_pool + cli: + name: ListByHostPool + cliKey: ListByHostPool + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: host_pool_name(String^string) + cli: + name: hostPoolName + cliKey: hostPoolName + - parameterName: filter(String^string) + cli: + cliKey: $filter + - operationName: get + cli: + name: Get + cliKey: Get + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: host_pool_name(String^string) + cli: + name: hostPoolName + cliKey: hostPoolName + - parameterName: session_host_name(String^string) + cli: + name: sessionHostName + cliKey: sessionHostName + - parameterName: user_session_id(String^string) + cli: + name: userSessionId + cliKey: userSessionId + - operationName: delete + cli: + name: Delete + cliKey: Delete + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: host_pool_name(String^string) + cli: + name: hostPoolName + cliKey: hostPoolName + - parameterName: session_host_name(String^string) + cli: + name: sessionHostName + cliKey: sessionHostName + - parameterName: user_session_id(String^string) + cli: + name: userSessionId + cliKey: userSessionId + - parameterName: force(boolean^boolean) + cli: + cliKey: force + - operationName: list + cli: + name: List + cliKey: List + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: host_pool_name(String^string) + cli: + name: hostPoolName + cliKey: hostPoolName + - parameterName: session_host_name(String^string) + cli: + name: sessionHostName + cliKey: sessionHostName + - operationName: disconnect + cli: + name: Disconnect + cliKey: Disconnect + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: host_pool_name(String^string) + cli: + name: hostPoolName + cliKey: hostPoolName + - parameterName: session_host_name(String^string) + cli: + name: sessionHostName + cliKey: sessionHostName + - parameterName: user_session_id(String^string) + cli: + name: userSessionId + cliKey: userSessionId + - operationName: send_message + cli: + name: SendMessage + cliKey: SendMessage + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: host_pool_name(String^string) + cli: + name: hostPoolName + cliKey: hostPoolName + - parameterName: session_host_name(String^string) + cli: + name: sessionHostName + cliKey: sessionHostName + - parameterName: user_session_id(String^string) + cli: + name: userSessionId + cliKey: userSessionId + - parameterName[0]: content_type(application_json^constant) + cli: + name: ContentType + cliKey: content-type + - parameterName[0]: _send_message(SendMessage^object) + cli: + cliKey: sendMessage + x-ms-client-flatten: true + bodySchema: SendMessage + - parameterName[0]: message_title(SendMessageTitle^string) + cli: + name: messageTitle + cliKey: messageTitle + - parameterName[0]: message_body(SendMessageBody^string) + cli: + name: messageBody + cliKey: messageBody + - operationGroupName: SessionHost + cli: + cliKey: SessionHosts + hidden: true + operations: + - operationName: get + cli: + name: Get + cliKey: Get + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: host_pool_name(String^string) + cli: + name: hostPoolName + cliKey: hostPoolName + - parameterName: session_host_name(String^string) + cli: + name: sessionHostName + cliKey: sessionHostName + - operationName: delete + cli: + name: Delete + cliKey: Delete + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: host_pool_name(String^string) + cli: + name: hostPoolName + cliKey: hostPoolName + - parameterName: session_host_name(String^string) + cli: + name: sessionHostName + cliKey: sessionHostName + - parameterName: force(boolean^boolean) + cli: + cliKey: force + - operationName: update + cli: + name: Update + cliKey: Update + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: host_pool_name(String^string) + cli: + name: hostPoolName + cliKey: hostPoolName + - parameterName: session_host_name(String^string) + cli: + name: sessionHostName + cliKey: sessionHostName + - parameterName[0]: content_type(application_json^constant) + cli: + name: ContentType + cliKey: content-type + - parameterName[0]: _session_host(SessionHostPatch^object) + cli: + cliKey: sessionHost + x-ms-client-flatten: true + bodySchema: SessionHostPatch + - parameterName[0]: allow_new_session(boolean^boolean) + cli: + name: allowNewSession + cliKey: allowNewSession + - parameterName[0]: assigned_user(SessionHostPatchPropertiesAssignedUser^string) + cli: + name: assignedUser + cliKey: assignedUser + - operationName: list + cli: + name: List + cliKey: List + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: host_pool_name(String^string) + cli: + name: hostPoolName + cliKey: hostPoolName + - operationGroupName: ActiveApplication + cli: + cliKey: ActiveApplications + hidden: true + operations: + - operationName: list_by_session_host + cli: + name: ListBySessionHost + cliKey: ListBySessionHost + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: host_pool_name(String^string) + cli: + name: hostPoolName + cliKey: hostPoolName + - parameterName: session_host_name(String^string) + cli: + name: sessionHostName + cliKey: sessionHostName + - parameterName: filter(String^string) + cli: + cliKey: $filter +schemas: + objects: + all: + - schemaName: ResourceProviderOperationList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ResourceProviderOperationList + properties: + - propertyName: value(ResourceProviderOperationListValue^array) + cli: + cliKey: value + - schemaName: ResourceProviderOperation + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 5 + propertyCountIfSimplifyWithoutSimpleObject: 2 + simplifiable: true + cliKey: ResourceProviderOperation + properties: + - propertyName: name(ResourceProviderOperationName^string) + cli: + cliKey: name + - propertyName: display(ResourceProviderOperationDisplay^object) + cli: + cliKey: display + - schemaName: ResourceProviderOperationDisplay + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 4 + propertyCountIfSimplifyWithoutSimpleObject: 4 + simplifiable: true + cliKey: ResourceProviderOperation-display + properties: + - propertyName: provider(ResourceProviderOperationDisplayProvider^string) + cli: + cliKey: provider + - propertyName: resource(ResourceProviderOperationDisplayResource^string) + cli: + cliKey: resource + - propertyName: operation(ResourceProviderOperationDisplayOperation^string) + cli: + cliKey: operation + - propertyName: description(ResourceProviderOperationDisplayDescription^string) + cli: + cliKey: description + - schemaName: Resource + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 0 + propertyCountIfSimplifyWithoutSimpleObject: 0 + simplifiable: true + cliKey: Resource + properties: + - propertyName: id(ResourceId^string) + cli: + cliKey: id + readOnly: true + - propertyName: name(ResourceName^string) + cli: + cliKey: name + readOnly: true + - propertyName: type(ResourceType^string) + cli: + cliKey: type + readOnly: true + - schemaName: TrackedResource + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: TrackedResource + properties: + - propertyName: tags(TrackedResourceTags^dictionary) + cli: + cliKey: tags + - propertyName: location(TrackedResourceLocation^string) + cli: + cliKey: location + - schemaName: Workspace + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: Workspace + properties: + - propertyName: description(WorkspacePropertiesDescription^string) + cli: + cliKey: description + - propertyName: friendly_name(WorkspacePropertiesFriendlyName^string) + cli: + name: friendlyName + cliKey: friendlyName + - propertyName: application_group_references(WorkspacePropertiesApplicationGroupReferences^array) + cli: + name: applicationGroupReferences + cliKey: applicationGroupReferences + - schemaName: CloudError + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 2 + simplifiable: true + cliKey: CloudError + properties: + - propertyName: code(CloudErrorCode^string) + cli: + cliKey: code + - propertyName: message(CloudErrorMessage^string) + cli: + cliKey: message + - schemaName: WorkspacePatch + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: WorkspacePatch + properties: + - propertyName: tags(any^any) + cli: + cliKey: tags + - propertyName: description(WorkspacePatchPropertiesDescription^string) + cli: + cliKey: description + - propertyName: friendly_name(WorkspacePatchPropertiesFriendlyName^string) + cli: + name: friendlyName + cliKey: friendlyName + - propertyName: application_group_references(WorkspacePatchPropertiesApplicationGroupReferences^array) + cli: + name: applicationGroupReferences + cliKey: applicationGroupReferences + - schemaName: WorkspaceList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: WorkspaceList + properties: + - propertyName: value(WorkspaceListValue^array) + cli: + cliKey: value + - propertyName: next_link(WorkspaceListNextLink^string) + cli: + name: nextLink + cliKey: nextLink + readOnly: true + - schemaName: ApplicationGroupList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ApplicationGroupList + properties: + - propertyName: value(ApplicationGroupListValue^array) + cli: + cliKey: value + - propertyName: next_link(ApplicationGroupListNextLink^string) + cli: + name: nextLink + cliKey: nextLink + readOnly: true + - schemaName: ApplicationGroup + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ApplicationGroup + properties: + - propertyName: description(ApplicationGroupPropertiesDescription^string) + cli: + cliKey: description + - propertyName: friendly_name(ApplicationGroupPropertiesFriendlyName^string) + cli: + name: friendlyName + cliKey: friendlyName + - propertyName: host_pool_arm_path(ApplicationGroupPropertiesHostPoolArmPath^string) + cli: + name: hostPoolArmPath + cliKey: hostPoolArmPath + - propertyName: workspace_arm_path(ApplicationGroupPropertiesWorkspaceArmPath^string) + cli: + name: workspaceArmPath + cliKey: workspaceArmPath + readOnly: true + - propertyName: application_group_type(ApplicationGroupType^choice) + cli: + name: applicationGroupType + cliKey: applicationGroupType + - schemaName: ApplicationGroupPatch + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ApplicationGroupPatch + properties: + - propertyName: tags(any^any) + cli: + cliKey: tags + - propertyName: description(ApplicationGroupPatchPropertiesDescription^string) + cli: + cliKey: description + - propertyName: friendly_name(ApplicationGroupPatchPropertiesFriendlyName^string) + cli: + name: friendlyName + cliKey: friendlyName + - schemaName: StartMenuItemList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: StartMenuItemList + properties: + - propertyName: value(StartMenuItemListValue^array) + cli: + cliKey: value + - propertyName: next_link(StartMenuItemListNextLink^string) + cli: + name: nextLink + cliKey: nextLink + readOnly: true + - schemaName: StartMenuItem + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 6 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: StartMenuItem + properties: + - propertyName: app_alias(StartMenuItemPropertiesAppAlias^string) + cli: + name: appAlias + cliKey: appAlias + - propertyName: friendly_name(StartMenuItemPropertiesFriendlyName^string) + cli: + name: friendlyName + cliKey: friendlyName + - propertyName: file_path(StartMenuItemPropertiesFilePath^string) + cli: + name: filePath + cliKey: filePath + - propertyName: command_line_arguments(StartMenuItemPropertiesCommandLineArguments^string) + cli: + name: commandLineArguments + cliKey: commandLineArguments + - propertyName: icon_path(StartMenuItemPropertiesIconPath^string) + cli: + name: iconPath + cliKey: iconPath + - propertyName: icon_index(Integer^integer) + cli: + name: iconIndex + cliKey: iconIndex + - schemaName: Application + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 8 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: Application + properties: + - propertyName: description(ApplicationPropertiesDescription^string) + cli: + cliKey: description + - propertyName: friendly_name(ApplicationPropertiesFriendlyName^string) + cli: + name: friendlyName + cliKey: friendlyName + - propertyName: file_path(ApplicationPropertiesFilePath^string) + cli: + name: filePath + cliKey: filePath + - propertyName: command_line_setting(CommandLineSetting^choice) + cli: + name: commandLineSetting + cliKey: commandLineSetting + - propertyName: command_line_arguments(ApplicationPropertiesCommandLineArguments^string) + cli: + name: commandLineArguments + cliKey: commandLineArguments + - propertyName: show_in_portal(boolean^boolean) + cli: + name: showInPortal + cliKey: showInPortal + - propertyName: icon_path(ApplicationPropertiesIconPath^string) + cli: + name: iconPath + cliKey: iconPath + - propertyName: icon_index(Integer^integer) + cli: + name: iconIndex + cliKey: iconIndex + - propertyName: icon_hash(ApplicationPropertiesIconHash^string) + cli: + name: iconHash + cliKey: iconHash + readOnly: true + - propertyName: icon_content(application_properties_icon_content^byte-array) + cli: + name: iconContent + cliKey: iconContent + readOnly: true + - schemaName: ApplicationPatch + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ApplicationPatch + properties: + - propertyName: tags(any^any) + cli: + cliKey: tags + - propertyName: description(ApplicationPatchPropertiesDescription^string) + cli: + cliKey: description + - propertyName: friendly_name(ApplicationPatchPropertiesFriendlyName^string) + cli: + name: friendlyName + cliKey: friendlyName + - propertyName: file_path(ApplicationPatchPropertiesFilePath^string) + cli: + name: filePath + cliKey: filePath + - propertyName: command_line_setting(CommandLineSetting^choice) + cli: + name: commandLineSetting + cliKey: commandLineSetting + - propertyName: command_line_arguments(ApplicationPatchPropertiesCommandLineArguments^string) + cli: + name: commandLineArguments + cliKey: commandLineArguments + - propertyName: show_in_portal(boolean^boolean) + cli: + name: showInPortal + cliKey: showInPortal + - propertyName: icon_path(ApplicationPatchPropertiesIconPath^string) + cli: + name: iconPath + cliKey: iconPath + - propertyName: icon_index(Integer^integer) + cli: + name: iconIndex + cliKey: iconIndex + - schemaName: ApplicationList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ApplicationList + properties: + - propertyName: value(ApplicationListValue^array) + cli: + cliKey: value + - propertyName: next_link(ApplicationListNextLink^string) + cli: + name: nextLink + cliKey: nextLink + readOnly: true + - schemaName: Desktop + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: Desktop + properties: + - propertyName: description(DesktopPropertiesDescription^string) + cli: + cliKey: description + - propertyName: friendly_name(DesktopPropertiesFriendlyName^string) + cli: + name: friendlyName + cliKey: friendlyName + - propertyName: icon_hash(DesktopPropertiesIconHash^string) + cli: + name: iconHash + cliKey: iconHash + readOnly: true + - propertyName: icon_content(desktop_properties_icon_content^byte-array) + cli: + name: iconContent + cliKey: iconContent + readOnly: true + - schemaName: DesktopPatch + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: DesktopPatch + properties: + - propertyName: tags(any^any) + cli: + cliKey: tags + - propertyName: description(DesktopPatchPropertiesDescription^string) + cli: + cliKey: description + - propertyName: friendly_name(DesktopPatchPropertiesFriendlyName^string) + cli: + name: friendlyName + cliKey: friendlyName + - schemaName: DesktopList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: DesktopList + properties: + - propertyName: value(DesktopListValue^array) + cli: + cliKey: value + - propertyName: next_link(DesktopListNextLink^string) + cli: + name: nextLink + cliKey: nextLink + readOnly: true + - schemaName: HostPool + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: HostPool + properties: + - propertyName: friendly_name(HostPoolPropertiesFriendlyName^string) + cli: + name: friendlyName + cliKey: friendlyName + - propertyName: description(HostPoolPropertiesDescription^string) + cli: + cliKey: description + - propertyName: host_pool_type(HostPoolType^choice) + cli: + name: hostPoolType + cliKey: hostPoolType + - propertyName: personal_desktop_assignment_type(PersonalDesktopAssignmentType^choice) + cli: + name: personalDesktopAssignmentType + cliKey: personalDesktopAssignmentType + - propertyName: custom_rdp_property(HostPoolPropertiesCustomRdpProperty^string) + cli: + name: customRdpProperty + cliKey: customRdpProperty + - propertyName: max_session_limit(Integer^integer) + cli: + name: maxSessionLimit + cliKey: maxSessionLimit + - propertyName: load_balancer_type(LoadBalancerType^choice) + cli: + name: loadBalancerType + cliKey: loadBalancerType + - propertyName: ring(Integer^integer) + cli: + cliKey: ring + - propertyName: validation_environment(boolean^boolean) + cli: + name: validationEnvironment + cliKey: validationEnvironment + - propertyName: registration_info(RegistrationInfo^object) + cli: + name: registrationInfo + cliKey: registrationInfo + - propertyName: vm_template(HostPoolPropertiesVmTemplate^string) + cli: + name: vmTemplate + cliKey: vmTemplate + - propertyName: application_group_references(HostPoolPropertiesApplicationGroupReferences^array) + cli: + name: applicationGroupReferences + cliKey: applicationGroupReferences + readOnly: true + - propertyName: sso_context(HostPoolPropertiesSsoContext^string) + cli: + name: ssoContext + cliKey: ssoContext + - schemaName: RegistrationInfo + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 3 + propertyCountIfSimplifyWithoutSimpleObject: 3 + simplifiable: true + cliKey: RegistrationInfo + properties: + - propertyName: expiration_time(registration_info_expiration_time^date-time) + cli: + name: expirationTime + cliKey: expirationTime + - propertyName: token(RegistrationInfoToken^string) + cli: + cliKey: token + - propertyName: registration_token_operation(RegistrationTokenOperation^choice) + cli: + name: registrationTokenOperation + cliKey: registrationTokenOperation + - schemaName: HostPoolPatch + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: HostPoolPatch + properties: + - propertyName: tags(any^any) + cli: + cliKey: tags + - propertyName: friendly_name(HostPoolPatchPropertiesFriendlyName^string) + cli: + name: friendlyName + cliKey: friendlyName + - propertyName: description(HostPoolPatchPropertiesDescription^string) + cli: + cliKey: description + - propertyName: custom_rdp_property(HostPoolPatchPropertiesCustomRdpProperty^string) + cli: + name: customRdpProperty + cliKey: customRdpProperty + - propertyName: max_session_limit(Integer^integer) + cli: + name: maxSessionLimit + cliKey: maxSessionLimit + - propertyName: personal_desktop_assignment_type(PersonalDesktopAssignmentType^choice) + cli: + name: personalDesktopAssignmentType + cliKey: personalDesktopAssignmentType + - propertyName: load_balancer_type(LoadBalancerType^choice) + cli: + name: loadBalancerType + cliKey: loadBalancerType + - propertyName: ring(Integer^integer) + cli: + cliKey: ring + - propertyName: validation_environment(boolean^boolean) + cli: + name: validationEnvironment + cliKey: validationEnvironment + - propertyName: registration_info(RegistrationInfoPatch^object) + cli: + name: registrationInfo + cliKey: registrationInfo + - propertyName: sso_context(HostPoolPatchPropertiesSsoContext^string) + cli: + name: ssoContext + cliKey: ssoContext + - schemaName: RegistrationInfoPatch + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 1 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: RegistrationInfoPatch + properties: + - propertyName: registration_token_operation(RegistrationTokenOperation^choice) + cli: + name: registrationTokenOperation + cliKey: registrationTokenOperation + - schemaName: HostPoolList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: HostPoolList + properties: + - propertyName: value(HostPoolListValue^array) + cli: + cliKey: value + - propertyName: next_link(HostPoolListNextLink^string) + cli: + name: nextLink + cliKey: nextLink + readOnly: true + - schemaName: UserSessionList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: UserSessionList + properties: + - propertyName: value(UserSessionListValue^array) + cli: + cliKey: value + - propertyName: next_link(UserSessionListNextLink^string) + cli: + name: nextLink + cliKey: nextLink + readOnly: true + - schemaName: UserSession + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 5 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: UserSession + properties: + - propertyName: user_principal_name(UserSessionPropertiesUserPrincipalName^string) + cli: + name: userPrincipalName + cliKey: userPrincipalName + - propertyName: application_type(ApplicationType^choice) + cli: + name: applicationType + cliKey: applicationType + - propertyName: session_state(SessionState^choice) + cli: + name: sessionState + cliKey: sessionState + - propertyName: active_directory_user_name(UserSessionPropertiesActiveDirectoryUserName^string) + cli: + name: activeDirectoryUserName + cliKey: activeDirectoryUserName + - propertyName: create_time(user_session_properties_create_time^date-time) + cli: + name: createTime + cliKey: createTime + - schemaName: SessionHost + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: SessionHost + properties: + - propertyName: last_heart_beat(session_host_properties_last_heart_beat^date-time) + cli: + name: lastHeartBeat + cliKey: lastHeartBeat + - propertyName: sessions(Integer^integer) + cli: + cliKey: sessions + - propertyName: agent_version(SessionHostPropertiesAgentVersion^string) + cli: + name: agentVersion + cliKey: agentVersion + - propertyName: allow_new_session(boolean^boolean) + cli: + name: allowNewSession + cliKey: allowNewSession + - propertyName: assigned_user(SessionHostPropertiesAssignedUser^string) + cli: + name: assignedUser + cliKey: assignedUser + - propertyName: status(Status^choice) + cli: + cliKey: status + - propertyName: status_timestamp(session_host_properties_status_timestamp^date-time) + cli: + name: statusTimestamp + cliKey: statusTimestamp + readOnly: true + - propertyName: os_version(SessionHostPropertiesOsVersion^string) + cli: + name: osVersion + cliKey: osVersion + - propertyName: sx_s_stack_version(SessionHostPropertiesSxSStackVersion^string) + cli: + name: sxSStackVersion + cliKey: sxSStackVersion + - propertyName: update_state(UpdateState^choice) + cli: + name: updateState + cliKey: updateState + - propertyName: last_update_time(session_host_properties_last_update_time^date-time) + cli: + name: lastUpdateTime + cliKey: lastUpdateTime + readOnly: true + - propertyName: update_error_message(SessionHostPropertiesUpdateErrorMessage^string) + cli: + name: updateErrorMessage + cliKey: updateErrorMessage + - schemaName: SessionHostPatch + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: SessionHostPatch + properties: + - propertyName: allow_new_session(boolean^boolean) + cli: + name: allowNewSession + cliKey: allowNewSession + - propertyName: assigned_user(SessionHostPatchPropertiesAssignedUser^string) + cli: + name: assignedUser + cliKey: assignedUser + - schemaName: SessionHostList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: SessionHostList + properties: + - propertyName: value(SessionHostListValue^array) + cli: + cliKey: value + - propertyName: next_link(SessionHostListNextLink^string) + cli: + name: nextLink + cliKey: nextLink + readOnly: true + - schemaName: SendMessage + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 2 + simplifiable: true + cliKey: SendMessage + properties: + - propertyName: message_title(SendMessageTitle^string) + cli: + name: messageTitle + cliKey: messageTitle + - propertyName: message_body(SendMessageBody^string) + cli: + name: messageBody + cliKey: messageBody + choices: + all: + - choiceName: ApplicationGroupType + cli: + cliKey: ApplicationGroupType + choiceValues: + - choiceValue: remote_app + cli: + name: RemoteApp + cliKey: RemoteApp + - choiceValue: desktop + cli: + name: Desktop + cliKey: Desktop + - choiceName: CommandLineSetting + cli: + cliKey: CommandLineSetting + choiceValues: + - choiceValue: do_not_allow + cli: + name: DoNotAllow + cliKey: DoNotAllow + - choiceValue: allow + cli: + name: Allow + cliKey: Allow + - choiceValue: require + cli: + name: Require + cliKey: Require + - choiceName: HostPoolType + cli: + cliKey: HostPoolType + choiceValues: + - choiceValue: personal + cli: + name: Personal + cliKey: Personal + - choiceValue: pooled + cli: + name: Pooled + cliKey: Pooled + - choiceName: PersonalDesktopAssignmentType + cli: + cliKey: PersonalDesktopAssignmentType + choiceValues: + - choiceValue: automatic + cli: + name: Automatic + cliKey: Automatic + - choiceValue: direct + cli: + name: Direct + cliKey: Direct + - choiceName: LoadBalancerType + cli: + cliKey: LoadBalancerType + choiceValues: + - choiceValue: breadth_first + cli: + name: BreadthFirst + cliKey: BreadthFirst + - choiceValue: depth_first + cli: + name: DepthFirst + cliKey: DepthFirst + - choiceValue: persistent + cli: + name: Persistent + cliKey: Persistent + - choiceName: RegistrationTokenOperation + cli: + cliKey: RegistrationTokenOperation + choiceValues: + - choiceValue: delete + cli: + name: Delete + cliKey: Delete + - choiceValue: none + cli: + name: None + cliKey: None + - choiceValue: update + cli: + name: Update + cliKey: Update + - choiceName: ApplicationType + cli: + cliKey: ApplicationType + choiceValues: + - choiceValue: remote_app + cli: + name: RemoteApp + cliKey: RemoteApp + - choiceValue: desktop + cli: + name: Desktop + cliKey: Desktop + - choiceName: SessionState + cli: + cliKey: SessionState + choiceValues: + - choiceValue: unknown + cli: + name: Unknown + cliKey: Unknown + - choiceValue: active + cli: + name: Active + cliKey: Active + - choiceValue: disconnected + cli: + name: Disconnected + cliKey: Disconnected + - choiceValue: pending + cli: + name: Pending + cliKey: Pending + - choiceValue: log_off + cli: + name: LogOff + cliKey: LogOff + - choiceValue: user_profile_disk_mounted + cli: + name: UserProfileDiskMounted + cliKey: UserProfileDiskMounted + - choiceName: Status + cli: + cliKey: Status + choiceValues: + - choiceValue: available + cli: + name: Available + cliKey: Available + - choiceValue: unavailable + cli: + name: Unavailable + cliKey: Unavailable + - choiceValue: shutdown + cli: + name: Shutdown + cliKey: Shutdown + - choiceValue: disconnected + cli: + name: Disconnected + cliKey: Disconnected + - choiceValue: upgrading + cli: + name: Upgrading + cliKey: Upgrading + - choiceValue: upgrade_failed + cli: + name: UpgradeFailed + cliKey: UpgradeFailed + - choiceName: UpdateState + cli: + cliKey: UpdateState + choiceValues: + - choiceValue: initial + cli: + name: Initial + cliKey: Initial + - choiceValue: pending + cli: + name: Pending + cliKey: Pending + - choiceValue: started + cli: + name: Started + cliKey: Started + - choiceValue: succeeded + cli: + name: Succeeded + cliKey: Succeeded + - choiceValue: failed + cli: + name: Failed + cliKey: Failed diff --git a/src/desktopvirtualization/_az_debug/clicommon-000110-poly-as-resource-post.yaml b/src/desktopvirtualization/_az_debug/clicommon-000110-poly-as-resource-post.yaml new file mode 100644 index 00000000000..7b789991267 --- /dev/null +++ b/src/desktopvirtualization/_az_debug/clicommon-000110-poly-as-resource-post.yaml @@ -0,0 +1,11138 @@ +info: + title: Desktop Virtualization API Client + extensions: + cli-dump-index: 110 +schemas: + booleans: + - &ref_53 + type: boolean + language: + default: + name: boolean + description: Specifies whether to show the RemoteApp program in the RD Web Access server. + protocol: {} + - &ref_27 + type: boolean + language: + default: + name: boolean + description: Is validation environment. + protocol: {} + - &ref_356 + type: boolean + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: boolean + description: '' + protocol: {} + - &ref_73 + type: boolean + language: + default: + name: boolean + description: Allow a new session. + protocol: {} + numbers: + - &ref_47 + type: integer + precision: 32 + language: + default: + name: Integer + description: Index of the icon. + cli: + name: Integer + description: Index of the icon. + protocol: {} + - &ref_24 + type: integer + precision: 32 + language: + default: + name: Integer + description: The max session limit of HostPool. + cli: + name: Integer + description: The max session limit of HostPool. + protocol: {} + - &ref_26 + type: integer + precision: 32 + language: + default: + name: Integer + description: The ring number of HostPool. + cli: + name: Integer + description: The ring number of HostPool. + protocol: {} + - &ref_71 + type: integer + precision: 32 + language: + default: + name: Integer + description: Number of sessions on SessionHost. + cli: + name: Integer + description: Number of sessions on SessionHost. + protocol: {} + strings: + - &ref_0 + type: string + language: + default: + name: String + description: simple string + cli: + name: String + description: simple string + protocol: {} + - &ref_2 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ResourceProviderOperationName + description: 'Operation name, in format of {provider}/{resource}/{operation}' + cli: + name: ResourceProviderOperationName + description: 'Operation name, in format of {provider}/{resource}/{operation}' + protocol: {} + - &ref_3 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ResourceProviderOperationDisplayProvider + description: 'Resource provider: Microsoft Desktop Virtualization.' + cli: + name: ResourceProviderOperationDisplayProvider + description: 'Resource provider: Microsoft Desktop Virtualization.' + protocol: {} + - &ref_4 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ResourceProviderOperationDisplayResource + description: Resource on which the operation is performed. + cli: + name: ResourceProviderOperationDisplayResource + description: Resource on which the operation is performed. + protocol: {} + - &ref_5 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ResourceProviderOperationDisplayOperation + description: 'Type of operation: get, read, delete, etc.' + cli: + name: ResourceProviderOperationDisplayOperation + description: 'Type of operation: get, read, delete, etc.' + protocol: {} + - &ref_6 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ResourceProviderOperationDisplayDescription + description: Description of this operation. + cli: + name: ResourceProviderOperationDisplayDescription + description: Description of this operation. + protocol: {} + - &ref_130 + type: string + apiVersions: + - version: '1.0' + minLength: 1 + language: + default: + name: String + description: '' + cli: + name: String + description: '' + protocol: {} + - &ref_136 + type: string + apiVersions: + - version: '1.0' + maxLength: 90 + minLength: 1 + pattern: '^[-\w\._\(\)]+$' + language: + default: + name: String + description: '' + cli: + name: String + description: '' + protocol: {} + - &ref_137 + type: string + apiVersions: + - version: 2019-12-10-preview + maxLength: 24 + minLength: 3 + language: + default: + name: String + description: '' + cli: + name: String + description: '' + protocol: {} + - &ref_91 + type: string + apiVersions: + - version: '1.0' + language: + default: + name: ResourceId + description: 'Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' + cli: + name: ResourceId + description: 'Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' + protocol: {} + - &ref_92 + type: string + apiVersions: + - version: '1.0' + language: + default: + name: ResourceName + description: The name of the resource + cli: + name: ResourceName + description: The name of the resource + protocol: {} + - &ref_93 + type: string + apiVersions: + - version: '1.0' + language: + default: + name: ResourceType + description: The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + cli: + name: ResourceType + description: The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + protocol: {} + - &ref_1 + type: string + apiVersions: + - version: '1.0' + language: + default: + name: String + description: '' + cli: + name: String + description: '' + protocol: {} + - &ref_38 + type: string + apiVersions: + - version: '1.0' + extensions: + x-ms-mutability: + - read + - create + language: + default: + name: TrackedResourceLocation + description: The geo-location where the resource lives + cli: + name: TrackedResourceLocation + description: The geo-location where the resource lives + protocol: {} + - &ref_11 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: WorkspacePropertiesDescription + description: Description of Workspace. + cli: + name: WorkspacePropertiesDescription + description: Description of Workspace. + protocol: {} + - &ref_12 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: WorkspacePropertiesFriendlyName + description: Friendly name of Workspace. + cli: + name: WorkspacePropertiesFriendlyName + description: Friendly name of Workspace. + protocol: {} + - &ref_13 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: WorkspacePropertiesApplicationGroupReferencesItem + description: '' + cli: + name: WorkspacePropertiesApplicationGroupReferencesItem + description: '' + protocol: {} + - &ref_94 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: CloudErrorCode + description: Error code + cli: + name: CloudErrorCode + description: Error code + protocol: {} + - &ref_95 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: CloudErrorMessage + description: Error message indicating why the operation failed. + cli: + name: CloudErrorMessage + description: Error message indicating why the operation failed. + protocol: {} + - &ref_96 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: WorkspacePatchPropertiesDescription + description: Description of Workspace. + cli: + name: WorkspacePatchPropertiesDescription + description: Description of Workspace. + protocol: {} + - &ref_97 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: WorkspacePatchPropertiesFriendlyName + description: Friendly name of Workspace. + cli: + name: WorkspacePatchPropertiesFriendlyName + description: Friendly name of Workspace. + protocol: {} + - &ref_98 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: WorkspacePatchPropertiesApplicationGroupReferencesItem + description: '' + cli: + name: WorkspacePatchPropertiesApplicationGroupReferencesItem + description: '' + protocol: {} + - &ref_99 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: WorkspaceListNextLink + description: Link to the next page of results. + cli: + name: WorkspaceListNextLink + description: Link to the next page of results. + protocol: {} + - &ref_180 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: String + description: '' + cli: + name: String + description: '' + protocol: {} + - &ref_14 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationGroupPropertiesDescription + description: Description of ApplicationGroup. + cli: + name: ApplicationGroupPropertiesDescription + description: Description of ApplicationGroup. + protocol: {} + - &ref_15 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationGroupPropertiesFriendlyName + description: Friendly name of ApplicationGroup. + cli: + name: ApplicationGroupPropertiesFriendlyName + description: Friendly name of ApplicationGroup. + protocol: {} + - &ref_16 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationGroupPropertiesHostPoolArmPath + description: HostPool arm path of ApplicationGroup. + cli: + name: ApplicationGroupPropertiesHostPoolArmPath + description: HostPool arm path of ApplicationGroup. + protocol: {} + - &ref_17 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationGroupPropertiesWorkspaceArmPath + description: Workspace arm path of ApplicationGroup. + cli: + name: ApplicationGroupPropertiesWorkspaceArmPath + description: Workspace arm path of ApplicationGroup. + protocol: {} + - &ref_100 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationGroupListNextLink + description: Link to the next page of results. + cli: + name: ApplicationGroupListNextLink + description: Link to the next page of results. + protocol: {} + - &ref_40 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationGroupPatchPropertiesDescription + description: Description of ApplicationGroup. + cli: + name: ApplicationGroupPatchPropertiesDescription + description: Description of ApplicationGroup. + protocol: {} + - &ref_41 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationGroupPatchPropertiesFriendlyName + description: Friendly name of ApplicationGroup. + cli: + name: ApplicationGroupPatchPropertiesFriendlyName + description: Friendly name of ApplicationGroup. + protocol: {} + - &ref_42 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: StartMenuItemPropertiesAppAlias + description: Alias of StartMenuItem. + cli: + name: StartMenuItemPropertiesAppAlias + description: Alias of StartMenuItem. + protocol: {} + - &ref_43 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: StartMenuItemPropertiesFriendlyName + description: Friendly name of StartMenuItem. + cli: + name: StartMenuItemPropertiesFriendlyName + description: Friendly name of StartMenuItem. + protocol: {} + - &ref_44 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: StartMenuItemPropertiesFilePath + description: Path to the file of StartMenuItem. + cli: + name: StartMenuItemPropertiesFilePath + description: Path to the file of StartMenuItem. + protocol: {} + - &ref_45 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: StartMenuItemPropertiesCommandLineArguments + description: Command line arguments for StartMenuItem. + cli: + name: StartMenuItemPropertiesCommandLineArguments + description: Command line arguments for StartMenuItem. + protocol: {} + - &ref_46 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: StartMenuItemPropertiesIconPath + description: Path to the icon. + cli: + name: StartMenuItemPropertiesIconPath + description: Path to the icon. + protocol: {} + - &ref_101 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: StartMenuItemListNextLink + description: Link to the next page of results. + cli: + name: StartMenuItemListNextLink + description: Link to the next page of results. + protocol: {} + - &ref_48 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationPropertiesDescription + description: Description of Application. + cli: + name: ApplicationPropertiesDescription + description: Description of Application. + protocol: {} + - &ref_49 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationPropertiesFriendlyName + description: Friendly name of Application. + cli: + name: ApplicationPropertiesFriendlyName + description: Friendly name of Application. + protocol: {} + - &ref_50 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationPropertiesFilePath + description: Specifies a path for the executable file for the application. + cli: + name: ApplicationPropertiesFilePath + description: Specifies a path for the executable file for the application. + protocol: {} + - &ref_52 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationPropertiesCommandLineArguments + description: Command Line Arguments for Application. + cli: + name: ApplicationPropertiesCommandLineArguments + description: Command Line Arguments for Application. + protocol: {} + - &ref_54 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationPropertiesIconPath + description: Path to icon. + cli: + name: ApplicationPropertiesIconPath + description: Path to icon. + protocol: {} + - &ref_55 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationPropertiesIconHash + description: Hash of the icon. + cli: + name: ApplicationPropertiesIconHash + description: Hash of the icon. + protocol: {} + - &ref_102 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationPatchPropertiesDescription + description: Description of Application. + cli: + name: ApplicationPatchPropertiesDescription + description: Description of Application. + protocol: {} + - &ref_103 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationPatchPropertiesFriendlyName + description: Friendly name of Application. + cli: + name: ApplicationPatchPropertiesFriendlyName + description: Friendly name of Application. + protocol: {} + - &ref_104 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationPatchPropertiesFilePath + description: Specifies a path for the executable file for the application. + cli: + name: ApplicationPatchPropertiesFilePath + description: Specifies a path for the executable file for the application. + protocol: {} + - &ref_105 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationPatchPropertiesCommandLineArguments + description: Command Line Arguments for Application. + cli: + name: ApplicationPatchPropertiesCommandLineArguments + description: Command Line Arguments for Application. + protocol: {} + - &ref_106 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationPatchPropertiesIconPath + description: Path to icon. + cli: + name: ApplicationPatchPropertiesIconPath + description: Path to icon. + protocol: {} + - &ref_107 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationListNextLink + description: Link to the next page of results. + cli: + name: ApplicationListNextLink + description: Link to the next page of results. + protocol: {} + - &ref_57 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: DesktopPropertiesDescription + description: Description of Desktop. + cli: + name: DesktopPropertiesDescription + description: Description of Desktop. + protocol: {} + - &ref_58 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: DesktopPropertiesFriendlyName + description: Friendly name of Desktop. + cli: + name: DesktopPropertiesFriendlyName + description: Friendly name of Desktop. + protocol: {} + - &ref_59 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: DesktopPropertiesIconHash + description: Hash of the icon. + cli: + name: DesktopPropertiesIconHash + description: Hash of the icon. + protocol: {} + - &ref_108 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: DesktopPatchPropertiesDescription + description: Description of Desktop. + cli: + name: DesktopPatchPropertiesDescription + description: Description of Desktop. + protocol: {} + - &ref_109 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: DesktopPatchPropertiesFriendlyName + description: Friendly name of Desktop. + cli: + name: DesktopPatchPropertiesFriendlyName + description: Friendly name of Desktop. + protocol: {} + - &ref_110 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: DesktopListNextLink + description: Link to the next page of results. + cli: + name: DesktopListNextLink + description: Link to the next page of results. + protocol: {} + - &ref_19 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolPropertiesFriendlyName + description: Friendly name of HostPool. + cli: + name: HostPoolPropertiesFriendlyName + description: Friendly name of HostPool. + protocol: {} + - &ref_20 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolPropertiesDescription + description: Description of HostPool. + cli: + name: HostPoolPropertiesDescription + description: Description of HostPool. + protocol: {} + - &ref_23 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolPropertiesCustomRdpProperty + description: Custom rdp property of HostPool. + cli: + name: HostPoolPropertiesCustomRdpProperty + description: Custom rdp property of HostPool. + protocol: {} + - &ref_29 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: RegistrationInfoToken + description: The registration token base64 encoded string. + cli: + name: RegistrationInfoToken + description: The registration token base64 encoded string. + protocol: {} + - &ref_31 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolPropertiesVmTemplate + description: VM template for sessionhosts configuration within hostpool. + cli: + name: HostPoolPropertiesVmTemplate + description: VM template for sessionhosts configuration within hostpool. + protocol: {} + - &ref_32 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolPropertiesApplicationGroupReferencesItem + description: '' + cli: + name: HostPoolPropertiesApplicationGroupReferencesItem + description: '' + protocol: {} + - &ref_33 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolPropertiesSsoContext + description: Path to keyvault containing ssoContext secret. + cli: + name: HostPoolPropertiesSsoContext + description: Path to keyvault containing ssoContext secret. + protocol: {} + - &ref_61 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolPatchPropertiesFriendlyName + description: Friendly name of HostPool. + cli: + name: HostPoolPatchPropertiesFriendlyName + description: Friendly name of HostPool. + protocol: {} + - &ref_62 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolPatchPropertiesDescription + description: Description of HostPool. + cli: + name: HostPoolPatchPropertiesDescription + description: Description of HostPool. + protocol: {} + - &ref_63 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolPatchPropertiesCustomRdpProperty + description: Custom rdp property of HostPool. + cli: + name: HostPoolPatchPropertiesCustomRdpProperty + description: Custom rdp property of HostPool. + protocol: {} + - &ref_64 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolPatchPropertiesSsoContext + description: Path to keyvault containing ssoContext secret. + cli: + name: HostPoolPatchPropertiesSsoContext + description: Path to keyvault containing ssoContext secret. + protocol: {} + - &ref_113 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolListNextLink + description: Link to the next page of results. + cli: + name: HostPoolListNextLink + description: Link to the next page of results. + protocol: {} + - &ref_65 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: UserSessionPropertiesUserPrincipalName + description: The user principal name. + cli: + name: UserSessionPropertiesUserPrincipalName + description: The user principal name. + protocol: {} + - &ref_68 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: UserSessionPropertiesActiveDirectoryUserName + description: The active directory user name. + cli: + name: UserSessionPropertiesActiveDirectoryUserName + description: The active directory user name. + protocol: {} + - &ref_114 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: UserSessionListNextLink + description: Link to the next page of results. + cli: + name: UserSessionListNextLink + description: Link to the next page of results. + protocol: {} + - &ref_402 + type: string + apiVersions: + - version: 2019-12-10-preview + maxLength: 48 + minLength: 3 + language: + default: + name: String + description: '' + cli: + name: String + description: '' + protocol: {} + - &ref_72 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostPropertiesAgentVersion + description: Version of agent on SessionHost. + cli: + name: SessionHostPropertiesAgentVersion + description: Version of agent on SessionHost. + protocol: {} + - &ref_74 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostPropertiesAssignedUser + description: User assigned to SessionHost. + cli: + name: SessionHostPropertiesAssignedUser + description: User assigned to SessionHost. + protocol: {} + - &ref_77 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostPropertiesOsVersion + description: The version of the OS on the session host. + cli: + name: SessionHostPropertiesOsVersion + description: The version of the OS on the session host. + protocol: {} + - &ref_78 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostPropertiesSxSStackVersion + description: The version of the side by side stack on the session host. + cli: + name: SessionHostPropertiesSxSStackVersion + description: The version of the side by side stack on the session host. + protocol: {} + - &ref_81 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostPropertiesUpdateErrorMessage + description: The error message. + cli: + name: SessionHostPropertiesUpdateErrorMessage + description: The error message. + protocol: {} + - &ref_82 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostPatchPropertiesAssignedUser + description: User assigned to SessionHost. + cli: + name: SessionHostPatchPropertiesAssignedUser + description: User assigned to SessionHost. + protocol: {} + - &ref_115 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostListNextLink + description: Link to the next page of results. + cli: + name: SessionHostListNextLink + description: Link to the next page of results. + protocol: {} + - &ref_403 + type: string + apiVersions: + - version: 2019-12-10-preview + maxLength: 24 + minLength: 1 + language: + default: + name: String + description: '' + cli: + name: String + description: '' + protocol: {} + - &ref_116 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SendMessageTitle + description: Title of message. + cli: + name: SendMessageTitle + description: Title of message. + protocol: {} + - &ref_117 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SendMessageBody + description: Body of message. + cli: + name: SendMessageBody + description: Body of message. + protocol: {} + choices: + - &ref_18 + choices: + - value: RemoteApp + language: + default: + name: remote_app + description: '' + cli: + name: RemoteApp + description: '' + cliKey: RemoteApp + - value: Desktop + language: + default: + name: desktop + description: '' + cli: + name: Desktop + description: '' + cliKey: Desktop + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: ApplicationGroupType + description: Resource Type of ApplicationGroup. + cli: + name: ApplicationGroupType + description: Resource Type of ApplicationGroup. + cliKey: ApplicationGroupType + protocol: {} + - &ref_51 + choices: + - value: DoNotAllow + language: + default: + name: do_not_allow + description: '' + cli: + name: DoNotAllow + description: '' + cliKey: DoNotAllow + - value: Allow + language: + default: + name: allow + description: '' + cli: + name: Allow + description: '' + cliKey: Allow + - value: Require + language: + default: + name: require + description: '' + cli: + name: Require + description: '' + cliKey: Require + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: CommandLineSetting + description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' + cli: + name: CommandLineSetting + description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' + cliKey: CommandLineSetting + protocol: {} + - &ref_21 + choices: + - value: Personal + language: + default: + name: personal + description: '' + cli: + name: Personal + description: '' + cliKey: Personal + - value: Pooled + language: + default: + name: pooled + description: '' + cli: + name: Pooled + description: '' + cliKey: Pooled + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: HostPoolType + description: HostPool type for desktop. + cli: + name: HostPoolType + description: HostPool type for desktop. + cliKey: HostPoolType + protocol: {} + - &ref_22 + choices: + - value: Automatic + language: + default: + name: automatic + description: '' + cli: + name: Automatic + description: '' + cliKey: Automatic + - value: Direct + language: + default: + name: direct + description: '' + cli: + name: Direct + description: '' + cliKey: Direct + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: PersonalDesktopAssignmentType + description: PersonalDesktopAssignment type for HostPool. + cli: + name: PersonalDesktopAssignmentType + description: PersonalDesktopAssignment type for HostPool. + cliKey: PersonalDesktopAssignmentType + protocol: {} + - &ref_25 + choices: + - value: BreadthFirst + language: + default: + name: breadth_first + description: '' + cli: + name: BreadthFirst + description: '' + cliKey: BreadthFirst + - value: DepthFirst + language: + default: + name: depth_first + description: '' + cli: + name: DepthFirst + description: '' + cliKey: DepthFirst + - value: Persistent + language: + default: + name: persistent + description: '' + cli: + name: Persistent + description: '' + cliKey: Persistent + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: LoadBalancerType + description: The type of the load balancer. + cli: + name: LoadBalancerType + description: The type of the load balancer. + cliKey: LoadBalancerType + protocol: {} + - &ref_30 + choices: + - value: Delete + language: + default: + name: delete + description: '' + cli: + name: Delete + description: '' + cliKey: Delete + - value: None + language: + default: + name: none + description: '' + cli: + name: None + description: '' + cliKey: None + - value: Update + language: + default: + name: update + description: '' + cli: + name: Update + description: '' + cliKey: Update + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: RegistrationTokenOperation + description: The type of resetting the token. + cli: + name: RegistrationTokenOperation + description: The type of resetting the token. + cliKey: RegistrationTokenOperation + protocol: {} + - &ref_66 + choices: + - value: RemoteApp + language: + default: + name: remote_app + description: '' + cli: + name: RemoteApp + description: '' + cliKey: RemoteApp + - value: Desktop + language: + default: + name: desktop + description: '' + cli: + name: Desktop + description: '' + cliKey: Desktop + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: ApplicationType + description: Application type of application. + cli: + name: ApplicationType + description: Application type of application. + cliKey: ApplicationType + protocol: {} + - &ref_67 + choices: + - value: Unknown + language: + default: + name: unknown + description: '' + cli: + name: Unknown + description: '' + cliKey: Unknown + - value: Active + language: + default: + name: active + description: '' + cli: + name: Active + description: '' + cliKey: Active + - value: Disconnected + language: + default: + name: disconnected + description: '' + cli: + name: Disconnected + description: '' + cliKey: Disconnected + - value: Pending + language: + default: + name: pending + description: '' + cli: + name: Pending + description: '' + cliKey: Pending + - value: LogOff + language: + default: + name: log_off + description: '' + cli: + name: LogOff + description: '' + cliKey: LogOff + - value: UserProfileDiskMounted + language: + default: + name: user_profile_disk_mounted + description: '' + cli: + name: UserProfileDiskMounted + description: '' + cliKey: UserProfileDiskMounted + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: SessionState + description: State of user session. + cli: + name: SessionState + description: State of user session. + cliKey: SessionState + protocol: {} + - &ref_75 + choices: + - value: Available + language: + default: + name: available + description: '' + cli: + name: Available + description: '' + cliKey: Available + - value: Unavailable + language: + default: + name: unavailable + description: '' + cli: + name: Unavailable + description: '' + cliKey: Unavailable + - value: Shutdown + language: + default: + name: shutdown + description: '' + cli: + name: Shutdown + description: '' + cliKey: Shutdown + - value: Disconnected + language: + default: + name: disconnected + description: '' + cli: + name: Disconnected + description: '' + cliKey: Disconnected + - value: Upgrading + language: + default: + name: upgrading + description: '' + cli: + name: Upgrading + description: '' + cliKey: Upgrading + - value: UpgradeFailed + language: + default: + name: upgrade_failed + description: '' + cli: + name: UpgradeFailed + description: '' + cliKey: UpgradeFailed + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: Status + description: Status for a SessionHost. + cli: + name: Status + description: Status for a SessionHost. + cliKey: Status + protocol: {} + - &ref_79 + choices: + - value: Initial + language: + default: + name: initial + description: '' + cli: + name: Initial + description: '' + cliKey: Initial + - value: Pending + language: + default: + name: pending + description: '' + cli: + name: Pending + description: '' + cliKey: Pending + - value: Started + language: + default: + name: started + description: '' + cli: + name: Started + description: '' + cliKey: Started + - value: Succeeded + language: + default: + name: succeeded + description: '' + cli: + name: Succeeded + description: '' + cliKey: Succeeded + - value: Failed + language: + default: + name: failed + description: '' + cli: + name: Failed + description: '' + cliKey: Failed + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: UpdateState + description: Update state of a SessionHost. + cli: + name: UpdateState + description: Update state of a SessionHost. + cliKey: UpdateState + protocol: {} + constants: + - &ref_131 + type: constant + value: + value: 2019-12-10-preview + valueType: *ref_0 + language: + default: + name: api_version2019_12_10_preview + description: Api Version (2019-12-10-preview) + cli: + name: ApiVersion20191210Preview + description: Api Version (2019-12-10-preview) + protocol: {} + - &ref_141 + type: constant + value: + value: application/json + valueType: *ref_0 + language: + default: + name: application_json + description: Content Type 'application/json' + cli: + name: ApplicationJson + description: Content Type 'application/json' + protocol: {} + dictionaries: + - &ref_37 + type: dictionary + elementType: *ref_1 + language: + default: + name: TrackedResourceTags + description: Resource tags. + cli: + name: TrackedResourceTags + description: Resource tags. + cli-complexity: dictionary_simple + cli-mark: checked + protocol: {} + any: + - &ref_39 + type: any + language: + default: + name: any + description: Any object + protocol: {} + byteArrays: + - &ref_56 + type: byte-array + format: byte + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: application_properties_icon_content + description: the icon a 64 bit string as a byte array. + protocol: {} + - &ref_60 + type: byte-array + format: byte + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: desktop_properties_icon_content + description: The icon a 64 bit string as a byte array. + protocol: {} + dateTimes: + - &ref_28 + type: date-time + format: date-time + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: registration_info_expiration_time + description: Expiration time of registration token. + protocol: {} + - &ref_69 + type: date-time + format: date-time + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: user_session_properties_create_time + description: The timestamp of the user session create. + protocol: {} + - &ref_70 + type: date-time + format: date-time + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: session_host_properties_last_heart_beat + description: Last heart beat from SessionHost. + protocol: {} + - &ref_76 + type: date-time + format: date-time + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: session_host_properties_status_timestamp + description: The timestamp of the status. + protocol: {} + - &ref_80 + type: date-time + format: date-time + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: session_host_properties_last_update_time + description: The timestamp of the last update. + protocol: {} + objects: + - &ref_134 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_118 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: &ref_7 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_2 + serializedName: name + language: + default: + name: name + description: 'Operation name, in format of {provider}/{resource}/{operation}' + cli: + name: name + description: 'Operation name, in format of {provider}/{resource}/{operation}' + cliKey: name + protocol: {} + - schema: &ref_8 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_3 + serializedName: provider + language: + default: + name: provider + description: 'Resource provider: Microsoft Desktop Virtualization.' + cli: + name: provider + description: 'Resource provider: Microsoft Desktop Virtualization.' + cliKey: provider + protocol: {} + - schema: *ref_4 + serializedName: resource + language: + default: + name: resource + description: Resource on which the operation is performed. + cli: + name: resource + description: Resource on which the operation is performed. + cliKey: resource + protocol: {} + - schema: *ref_5 + serializedName: operation + language: + default: + name: operation + description: 'Type of operation: get, read, delete, etc.' + cli: + name: operation + description: 'Type of operation: get, read, delete, etc.' + cliKey: operation + protocol: {} + - schema: *ref_6 + serializedName: description + language: + default: + name: description + description: Description of this operation. + cli: + name: description + description: Description of this operation. + cliKey: description + protocol: {} + serializationFormats: + - json + usage: + - output + language: + default: + name: ResourceProviderOperationDisplay + description: Display metadata associated with the operation. + namespace: '' + cli: + name: ResourceProviderOperationDisplay + description: Display metadata associated with the operation. + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 4 + propertyCountIfSimplifyWithoutSimpleObject: 4 + simplifiable: true + cliKey: ResourceProviderOperation-display + protocol: {} + serializedName: display + language: + default: + name: display + description: Display metadata associated with the operation. + cli: + name: display + description: Display metadata associated with the operation. + cliKey: display + protocol: {} + serializationFormats: + - json + usage: + - output + language: + default: + name: ResourceProviderOperation + description: Supported operation of this resource provider. + namespace: '' + cli: + name: ResourceProviderOperation + description: Supported operation of this resource provider. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 5 + propertyCountIfSimplifyWithoutSimpleObject: 2 + simplifiable: true + cliKey: ResourceProviderOperation + protocol: {} + language: + default: + name: ResourceProviderOperationListValue + description: List of operations supported by this resource provider. + cli: + name: ResourceProviderOperationListValue + description: List of operations supported by this resource provider. + cli-complexity: array_complex + cli-mark: checked + protocol: {} + serializedName: value + language: + default: + name: value + description: List of operations supported by this resource provider. + cli: + name: value + description: List of operations supported by this resource provider. + cliKey: value + protocol: {} + serializationFormats: + - json + usage: + - output + language: + default: + name: ResourceProviderOperationList + description: Result of the request to list operations. + namespace: '' + cli: + name: ResourceProviderOperationList + description: Result of the request to list operations. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ResourceProviderOperationList + protocol: {} + - *ref_7 + - *ref_8 + - &ref_10 + type: object + apiVersions: + - version: '1.0' + children: + all: + - &ref_9 + type: object + apiVersions: + - version: '1.0' + children: + all: + - &ref_34 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_9 + - *ref_10 + immediate: + - *ref_9 + properties: + - &ref_147 + schema: *ref_11 + flattenedNames: + - properties + - description + serializedName: description + language: + default: + name: description + description: Description of Workspace. + cli: &ref_148 + name: description + description: Description of Workspace. + cliKey: description + protocol: {} + - &ref_149 + schema: *ref_12 + flattenedNames: + - properties + - friendlyName + serializedName: friendlyName + language: + default: + name: friendly_name + description: Friendly name of Workspace. + cli: &ref_150 + name: friendlyName + description: Friendly name of Workspace. + cliKey: friendlyName + protocol: {} + - &ref_151 + schema: &ref_119 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_13 + language: + default: + name: WorkspacePropertiesApplicationGroupReferences + description: List of applicationGroup resource Ids. + cli: + name: WorkspacePropertiesApplicationGroupReferences + description: List of applicationGroup resource Ids. + cli-complexity: array_simple + cli-mark: checked + protocol: {} + flattenedNames: + - properties + - applicationGroupReferences + serializedName: applicationGroupReferences + language: + default: + name: application_group_references + description: List of applicationGroup resource Ids. + cli: &ref_152 + name: applicationGroupReferences + description: List of applicationGroup resource Ids. + cliKey: applicationGroupReferences + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: Workspace + description: Represents a Workspace definition. + namespace: '' + cli: + name: Workspace + description: Represents a Workspace definition. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: Workspace + protocol: {} + - &ref_35 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_9 + - *ref_10 + immediate: + - *ref_9 + properties: + - &ref_188 + schema: *ref_14 + flattenedNames: + - properties + - description + required: false + serializedName: description + language: + default: + name: description + description: Description of ApplicationGroup. + cli: &ref_189 + name: description + description: Description of ApplicationGroup. + cliKey: description + protocol: {} + - &ref_190 + schema: *ref_15 + flattenedNames: + - properties + - friendlyName + required: false + serializedName: friendlyName + language: + default: + name: friendly_name + description: Friendly name of ApplicationGroup. + cli: &ref_191 + name: friendlyName + description: Friendly name of ApplicationGroup. + cliKey: friendlyName + protocol: {} + - &ref_192 + schema: *ref_16 + flattenedNames: + - properties + - hostPoolArmPath + required: true + serializedName: hostPoolArmPath + language: + default: + name: host_pool_arm_path + description: HostPool arm path of ApplicationGroup. + cli: &ref_193 + name: hostPoolArmPath + description: HostPool arm path of ApplicationGroup. + cliKey: hostPoolArmPath + protocol: {} + - schema: *ref_17 + flattenedNames: + - properties + - workspaceArmPath + readOnly: true + required: false + serializedName: workspaceArmPath + language: + default: + name: workspace_arm_path + description: Workspace arm path of ApplicationGroup. + cli: + name: workspaceArmPath + description: Workspace arm path of ApplicationGroup. + cliKey: workspaceArmPath + protocol: {} + - &ref_194 + schema: *ref_18 + flattenedNames: + - properties + - applicationGroupType + required: true + serializedName: applicationGroupType + language: + default: + name: application_group_type + description: Resource Type of ApplicationGroup. + cli: &ref_195 + name: applicationGroupType + description: Resource Type of ApplicationGroup. + cliKey: applicationGroupType + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: ApplicationGroup + description: Represents a ApplicationGroup definition. + namespace: '' + cli: + name: ApplicationGroup + description: Represents a ApplicationGroup definition. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ApplicationGroup + protocol: {} + - &ref_36 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_9 + - *ref_10 + immediate: + - *ref_9 + properties: + - &ref_316 + schema: *ref_19 + flattenedNames: + - properties + - friendlyName + required: false + serializedName: friendlyName + language: + default: + name: friendly_name + description: Friendly name of HostPool. + cli: &ref_317 + name: friendlyName + description: Friendly name of HostPool. + cliKey: friendlyName + protocol: {} + - &ref_318 + schema: *ref_20 + flattenedNames: + - properties + - description + required: false + serializedName: description + language: + default: + name: description + description: Description of HostPool. + cli: &ref_319 + name: description + description: Description of HostPool. + cliKey: description + protocol: {} + - &ref_320 + schema: *ref_21 + flattenedNames: + - properties + - hostPoolType + required: true + serializedName: hostPoolType + language: + default: + name: host_pool_type + description: HostPool type for desktop. + cli: &ref_321 + name: hostPoolType + description: HostPool type for desktop. + cliKey: hostPoolType + protocol: {} + - &ref_322 + schema: *ref_22 + flattenedNames: + - properties + - personalDesktopAssignmentType + required: true + serializedName: personalDesktopAssignmentType + language: + default: + name: personal_desktop_assignment_type + description: PersonalDesktopAssignment type for HostPool. + cli: &ref_323 + name: personalDesktopAssignmentType + description: PersonalDesktopAssignment type for HostPool. + cliKey: personalDesktopAssignmentType + protocol: {} + - &ref_324 + schema: *ref_23 + flattenedNames: + - properties + - customRdpProperty + required: false + serializedName: customRdpProperty + language: + default: + name: custom_rdp_property + description: Custom rdp property of HostPool. + cli: &ref_325 + name: customRdpProperty + description: Custom rdp property of HostPool. + cliKey: customRdpProperty + protocol: {} + - &ref_326 + schema: *ref_24 + flattenedNames: + - properties + - maxSessionLimit + required: false + serializedName: maxSessionLimit + language: + default: + name: max_session_limit + description: The max session limit of HostPool. + cli: &ref_327 + name: maxSessionLimit + description: The max session limit of HostPool. + cliKey: maxSessionLimit + protocol: {} + - &ref_328 + schema: *ref_25 + flattenedNames: + - properties + - loadBalancerType + required: true + serializedName: loadBalancerType + language: + default: + name: load_balancer_type + description: The type of the load balancer. + cli: &ref_329 + name: loadBalancerType + description: The type of the load balancer. + cliKey: loadBalancerType + protocol: {} + - &ref_330 + schema: *ref_26 + flattenedNames: + - properties + - ring + required: false + serializedName: ring + language: + default: + name: ring + description: The ring number of HostPool. + cli: &ref_331 + name: ring + description: The ring number of HostPool. + cliKey: ring + protocol: {} + - &ref_332 + schema: *ref_27 + flattenedNames: + - properties + - validationEnvironment + required: false + serializedName: validationEnvironment + language: + default: + name: validation_environment + description: Is validation environment. + cli: &ref_333 + name: validationEnvironment + description: Is validation environment. + cliKey: validationEnvironment + protocol: {} + - &ref_334 + schema: &ref_111 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_28 + serializedName: expirationTime + language: + default: + name: expiration_time + description: Expiration time of registration token. + cli: + name: expirationTime + description: Expiration time of registration token. + cliKey: expirationTime + protocol: {} + - schema: *ref_29 + serializedName: token + language: + default: + name: token + description: The registration token base64 encoded string. + cli: + name: token + description: The registration token base64 encoded string. + cliKey: token + protocol: {} + - schema: *ref_30 + serializedName: registrationTokenOperation + language: + default: + name: registration_token_operation + description: The type of resetting the token. + cli: + name: registrationTokenOperation + description: The type of resetting the token. + cliKey: registrationTokenOperation + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: RegistrationInfo + description: Represents a RegistrationInfo definition. + namespace: '' + cli: + name: RegistrationInfo + description: Represents a RegistrationInfo definition. + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 3 + propertyCountIfSimplifyWithoutSimpleObject: 3 + simplifiable: true + cliKey: RegistrationInfo + protocol: {} + flattenedNames: + - properties + - registrationInfo + required: false + serializedName: registrationInfo + language: + default: + name: registration_info + description: The registration info of HostPool. + cli: &ref_335 + name: registrationInfo + description: The registration info of HostPool. + cliKey: registrationInfo + protocol: {} + - &ref_336 + schema: *ref_31 + flattenedNames: + - properties + - vmTemplate + required: false + serializedName: vmTemplate + language: + default: + name: vm_template + description: VM template for sessionhosts configuration within hostpool. + cli: &ref_337 + name: vmTemplate + description: VM template for sessionhosts configuration within hostpool. + cliKey: vmTemplate + protocol: {} + - schema: &ref_126 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_32 + language: + default: + name: HostPoolPropertiesApplicationGroupReferences + description: List of applicationGroup links. + cli: + name: HostPoolPropertiesApplicationGroupReferences + description: List of applicationGroup links. + cli-complexity: array_simple + cli-mark: checked + protocol: {} + flattenedNames: + - properties + - applicationGroupReferences + readOnly: true + required: false + serializedName: applicationGroupReferences + language: + default: + name: application_group_references + description: List of applicationGroup links. + cli: + name: applicationGroupReferences + description: List of applicationGroup links. + cliKey: applicationGroupReferences + protocol: {} + - &ref_338 + schema: *ref_33 + flattenedNames: + - properties + - ssoContext + required: false + serializedName: ssoContext + language: + default: + name: sso_context + description: Path to keyvault containing ssoContext secret. + cli: &ref_339 + name: ssoContext + description: Path to keyvault containing ssoContext secret. + cliKey: ssoContext + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: HostPool + description: Represents a HostPool definition. + namespace: '' + cli: + name: HostPool + description: Represents a HostPool definition. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: HostPool + protocol: {} + immediate: + - *ref_34 + - *ref_35 + - *ref_36 + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - &ref_143 + schema: *ref_37 + required: false + serializedName: tags + language: + default: + name: tags + description: Resource tags. + cli: &ref_144 + name: tags + description: Resource tags. + cliKey: tags + protocol: {} + - &ref_145 + schema: *ref_38 + required: true + serializedName: location + language: + default: + name: location + description: The geo-location where the resource lives + cli: &ref_146 + name: location + description: The geo-location where the resource lives + cliKey: location + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: TrackedResource + description: The resource model definition for a ARM tracked top level resource + namespace: '' + cli: + name: TrackedResource + description: The resource model definition for a ARM tracked top level resource + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: TrackedResource + protocol: {} + - *ref_34 + - *ref_35 + - &ref_83 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - &ref_207 + schema: *ref_39 + serializedName: tags + language: + default: + name: tags + description: tags to be updated + cli: &ref_208 + name: tags + description: tags to be updated + cliKey: tags + protocol: {} + - &ref_209 + schema: *ref_40 + flattenedNames: + - properties + - description + serializedName: description + language: + default: + name: description + description: Description of ApplicationGroup. + cli: &ref_210 + name: description + description: Description of ApplicationGroup. + cliKey: description + protocol: {} + - &ref_211 + schema: *ref_41 + flattenedNames: + - properties + - friendlyName + serializedName: friendlyName + language: + default: + name: friendly_name + description: Friendly name of ApplicationGroup. + cli: &ref_212 + name: friendlyName + description: Friendly name of ApplicationGroup. + cliKey: friendlyName + protocol: {} + serializationFormats: + - json + usage: + - input + - output + language: + default: + name: ApplicationGroupPatch + description: ApplicationGroup properties that can be patched. + namespace: '' + cli: + name: ApplicationGroupPatch + description: ApplicationGroup properties that can be patched. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ApplicationGroupPatch + protocol: {} + - &ref_84 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - schema: *ref_42 + flattenedNames: + - properties + - appAlias + serializedName: appAlias + language: + default: + name: app_alias + description: Alias of StartMenuItem. + cli: + name: appAlias + description: Alias of StartMenuItem. + cliKey: appAlias + protocol: {} + - schema: *ref_43 + flattenedNames: + - properties + - friendlyName + serializedName: friendlyName + language: + default: + name: friendly_name + description: Friendly name of StartMenuItem. + cli: + name: friendlyName + description: Friendly name of StartMenuItem. + cliKey: friendlyName + protocol: {} + - schema: *ref_44 + flattenedNames: + - properties + - filePath + serializedName: filePath + language: + default: + name: file_path + description: Path to the file of StartMenuItem. + cli: + name: filePath + description: Path to the file of StartMenuItem. + cliKey: filePath + protocol: {} + - schema: *ref_45 + flattenedNames: + - properties + - commandLineArguments + serializedName: commandLineArguments + language: + default: + name: command_line_arguments + description: Command line arguments for StartMenuItem. + cli: + name: commandLineArguments + description: Command line arguments for StartMenuItem. + cliKey: commandLineArguments + protocol: {} + - schema: *ref_46 + flattenedNames: + - properties + - iconPath + serializedName: iconPath + language: + default: + name: icon_path + description: Path to the icon. + cli: + name: iconPath + description: Path to the icon. + cliKey: iconPath + protocol: {} + - schema: *ref_47 + flattenedNames: + - properties + - iconIndex + serializedName: iconIndex + language: + default: + name: icon_index + description: Index of the icon. + cli: + name: iconIndex + description: Index of the icon. + cliKey: iconIndex + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: StartMenuItem + description: Represents a StartMenuItem definition. + namespace: '' + cli: + name: StartMenuItem + description: Represents a StartMenuItem definition. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 6 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: StartMenuItem + protocol: {} + - &ref_85 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - &ref_228 + schema: *ref_48 + flattenedNames: + - properties + - description + required: false + serializedName: description + language: + default: + name: description + description: Description of Application. + cli: &ref_229 + name: description + description: Description of Application. + cliKey: description + protocol: {} + - &ref_230 + schema: *ref_49 + flattenedNames: + - properties + - friendlyName + required: false + serializedName: friendlyName + language: + default: + name: friendly_name + description: Friendly name of Application. + cli: &ref_231 + name: friendlyName + description: Friendly name of Application. + cliKey: friendlyName + protocol: {} + - &ref_232 + schema: *ref_50 + flattenedNames: + - properties + - filePath + required: false + serializedName: filePath + language: + default: + name: file_path + description: Specifies a path for the executable file for the application. + cli: &ref_233 + name: filePath + description: Specifies a path for the executable file for the application. + cliKey: filePath + protocol: {} + - &ref_234 + schema: *ref_51 + flattenedNames: + - properties + - commandLineSetting + required: true + serializedName: commandLineSetting + language: + default: + name: command_line_setting + description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' + cli: &ref_235 + name: commandLineSetting + description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' + cliKey: commandLineSetting + protocol: {} + - &ref_236 + schema: *ref_52 + flattenedNames: + - properties + - commandLineArguments + required: false + serializedName: commandLineArguments + language: + default: + name: command_line_arguments + description: Command Line Arguments for Application. + cli: &ref_237 + name: commandLineArguments + description: Command Line Arguments for Application. + cliKey: commandLineArguments + protocol: {} + - &ref_238 + schema: *ref_53 + flattenedNames: + - properties + - showInPortal + required: false + serializedName: showInPortal + language: + default: + name: show_in_portal + description: Specifies whether to show the RemoteApp program in the RD Web Access server. + cli: &ref_239 + name: showInPortal + description: Specifies whether to show the RemoteApp program in the RD Web Access server. + cliKey: showInPortal + protocol: {} + - &ref_240 + schema: *ref_54 + flattenedNames: + - properties + - iconPath + required: false + serializedName: iconPath + language: + default: + name: icon_path + description: Path to icon. + cli: &ref_241 + name: iconPath + description: Path to icon. + cliKey: iconPath + protocol: {} + - &ref_242 + schema: *ref_47 + flattenedNames: + - properties + - iconIndex + required: false + serializedName: iconIndex + language: + default: + name: icon_index + description: Index of the icon. + cli: &ref_243 + name: iconIndex + description: Index of the icon. + cliKey: iconIndex + protocol: {} + - schema: *ref_55 + flattenedNames: + - properties + - iconHash + readOnly: true + required: false + serializedName: iconHash + language: + default: + name: icon_hash + description: Hash of the icon. + cli: + name: iconHash + description: Hash of the icon. + cliKey: iconHash + protocol: {} + - schema: *ref_56 + flattenedNames: + - properties + - iconContent + readOnly: true + required: false + serializedName: iconContent + language: + default: + name: icon_content + description: the icon a 64 bit string as a byte array. + cli: + name: iconContent + description: the icon a 64 bit string as a byte array. + cliKey: iconContent + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: Application + description: Schema for Application properties. + namespace: '' + cli: + name: Application + description: Schema for Application properties. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 8 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: Application + protocol: {} + - &ref_86 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - schema: *ref_57 + flattenedNames: + - properties + - description + serializedName: description + language: + default: + name: description + description: Description of Desktop. + cli: + name: description + description: Description of Desktop. + cliKey: description + protocol: {} + - schema: *ref_58 + flattenedNames: + - properties + - friendlyName + serializedName: friendlyName + language: + default: + name: friendly_name + description: Friendly name of Desktop. + cli: + name: friendlyName + description: Friendly name of Desktop. + cliKey: friendlyName + protocol: {} + - schema: *ref_59 + flattenedNames: + - properties + - iconHash + readOnly: true + serializedName: iconHash + language: + default: + name: icon_hash + description: Hash of the icon. + cli: + name: iconHash + description: Hash of the icon. + cliKey: iconHash + protocol: {} + - schema: *ref_60 + flattenedNames: + - properties + - iconContent + readOnly: true + serializedName: iconContent + language: + default: + name: icon_content + description: The icon a 64 bit string as a byte array. + cli: + name: iconContent + description: The icon a 64 bit string as a byte array. + cliKey: iconContent + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: Desktop + description: Schema for Desktop properties. + namespace: '' + cli: + name: Desktop + description: Schema for Desktop properties. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: Desktop + protocol: {} + - *ref_36 + - &ref_87 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - &ref_361 + schema: *ref_39 + serializedName: tags + language: + default: + name: tags + description: tags to be updated + cli: &ref_362 + name: tags + description: tags to be updated + cliKey: tags + protocol: {} + - &ref_363 + schema: *ref_61 + flattenedNames: + - properties + - friendlyName + serializedName: friendlyName + language: + default: + name: friendly_name + description: Friendly name of HostPool. + cli: &ref_364 + name: friendlyName + description: Friendly name of HostPool. + cliKey: friendlyName + protocol: {} + - &ref_365 + schema: *ref_62 + flattenedNames: + - properties + - description + serializedName: description + language: + default: + name: description + description: Description of HostPool. + cli: &ref_366 + name: description + description: Description of HostPool. + cliKey: description + protocol: {} + - &ref_367 + schema: *ref_63 + flattenedNames: + - properties + - customRdpProperty + serializedName: customRdpProperty + language: + default: + name: custom_rdp_property + description: Custom rdp property of HostPool. + cli: &ref_368 + name: customRdpProperty + description: Custom rdp property of HostPool. + cliKey: customRdpProperty + protocol: {} + - &ref_369 + schema: *ref_24 + flattenedNames: + - properties + - maxSessionLimit + serializedName: maxSessionLimit + language: + default: + name: max_session_limit + description: The max session limit of HostPool. + cli: &ref_370 + name: maxSessionLimit + description: The max session limit of HostPool. + cliKey: maxSessionLimit + protocol: {} + - &ref_371 + schema: *ref_22 + flattenedNames: + - properties + - personalDesktopAssignmentType + serializedName: personalDesktopAssignmentType + language: + default: + name: personal_desktop_assignment_type + description: PersonalDesktopAssignment type for HostPool. + cli: &ref_372 + name: personalDesktopAssignmentType + description: PersonalDesktopAssignment type for HostPool. + cliKey: personalDesktopAssignmentType + protocol: {} + - &ref_373 + schema: *ref_25 + flattenedNames: + - properties + - loadBalancerType + serializedName: loadBalancerType + language: + default: + name: load_balancer_type + description: The type of the load balancer. + cli: &ref_374 + name: loadBalancerType + description: The type of the load balancer. + cliKey: loadBalancerType + protocol: {} + - &ref_375 + schema: *ref_26 + flattenedNames: + - properties + - ring + serializedName: ring + language: + default: + name: ring + description: The ring number of HostPool. + cli: &ref_376 + name: ring + description: The ring number of HostPool. + cliKey: ring + protocol: {} + - &ref_377 + schema: *ref_27 + flattenedNames: + - properties + - validationEnvironment + serializedName: validationEnvironment + language: + default: + name: validation_environment + description: Is validation environment. + cli: &ref_378 + name: validationEnvironment + description: Is validation environment. + cliKey: validationEnvironment + protocol: {} + - &ref_379 + schema: &ref_112 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_30 + serializedName: registrationTokenOperation + language: + default: + name: registration_token_operation + description: The type of resetting the token. + cli: + name: registrationTokenOperation + description: The type of resetting the token. + cliKey: registrationTokenOperation + protocol: {} + serializationFormats: + - json + usage: + - input + - output + language: + default: + name: RegistrationInfoPatch + description: Represents a RegistrationInfo definition. + namespace: '' + cli: + name: RegistrationInfoPatch + description: Represents a RegistrationInfo definition. + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 1 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: RegistrationInfoPatch + protocol: {} + flattenedNames: + - properties + - registrationInfo + serializedName: registrationInfo + language: + default: + name: registration_info + description: The registration info of HostPool. + cli: &ref_380 + name: registrationInfo + description: The registration info of HostPool. + cliKey: registrationInfo + protocol: {} + - &ref_381 + schema: *ref_64 + flattenedNames: + - properties + - ssoContext + serializedName: ssoContext + language: + default: + name: sso_context + description: Path to keyvault containing ssoContext secret. + cli: &ref_382 + name: ssoContext + description: Path to keyvault containing ssoContext secret. + cliKey: ssoContext + protocol: {} + serializationFormats: + - json + usage: + - input + - output + language: + default: + name: HostPoolPatch + description: HostPool properties that can be patched. + namespace: '' + cli: + name: HostPoolPatch + description: HostPool properties that can be patched. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: HostPoolPatch + protocol: {} + - &ref_88 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - schema: *ref_65 + flattenedNames: + - properties + - userPrincipalName + serializedName: userPrincipalName + language: + default: + name: user_principal_name + description: The user principal name. + cli: + name: userPrincipalName + description: The user principal name. + cliKey: userPrincipalName + protocol: {} + - schema: *ref_66 + flattenedNames: + - properties + - applicationType + serializedName: applicationType + language: + default: + name: application_type + description: Application type of application. + cli: + name: applicationType + description: Application type of application. + cliKey: applicationType + protocol: {} + - schema: *ref_67 + flattenedNames: + - properties + - sessionState + serializedName: sessionState + language: + default: + name: session_state + description: State of user session. + cli: + name: sessionState + description: State of user session. + cliKey: sessionState + protocol: {} + - schema: *ref_68 + flattenedNames: + - properties + - activeDirectoryUserName + serializedName: activeDirectoryUserName + language: + default: + name: active_directory_user_name + description: The active directory user name. + cli: + name: activeDirectoryUserName + description: The active directory user name. + cliKey: activeDirectoryUserName + protocol: {} + - schema: *ref_69 + flattenedNames: + - properties + - createTime + serializedName: createTime + language: + default: + name: create_time + description: The timestamp of the user session create. + cli: + name: createTime + description: The timestamp of the user session create. + cliKey: createTime + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: UserSession + description: Represents a UserSession definition. + namespace: '' + cli: + name: UserSession + description: Represents a UserSession definition. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 5 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: UserSession + protocol: {} + - &ref_89 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - schema: *ref_70 + flattenedNames: + - properties + - lastHeartBeat + serializedName: lastHeartBeat + language: + default: + name: last_heart_beat + description: Last heart beat from SessionHost. + cli: + name: lastHeartBeat + description: Last heart beat from SessionHost. + cliKey: lastHeartBeat + protocol: {} + - schema: *ref_71 + flattenedNames: + - properties + - sessions + serializedName: sessions + language: + default: + name: sessions + description: Number of sessions on SessionHost. + cli: + name: sessions + description: Number of sessions on SessionHost. + cliKey: sessions + protocol: {} + - schema: *ref_72 + flattenedNames: + - properties + - agentVersion + serializedName: agentVersion + language: + default: + name: agent_version + description: Version of agent on SessionHost. + cli: + name: agentVersion + description: Version of agent on SessionHost. + cliKey: agentVersion + protocol: {} + - schema: *ref_73 + flattenedNames: + - properties + - allowNewSession + serializedName: allowNewSession + language: + default: + name: allow_new_session + description: Allow a new session. + cli: + name: allowNewSession + description: Allow a new session. + cliKey: allowNewSession + protocol: {} + - schema: *ref_74 + flattenedNames: + - properties + - assignedUser + serializedName: assignedUser + language: + default: + name: assigned_user + description: User assigned to SessionHost. + cli: + name: assignedUser + description: User assigned to SessionHost. + cliKey: assignedUser + protocol: {} + - schema: *ref_75 + flattenedNames: + - properties + - status + serializedName: status + language: + default: + name: status + description: Status for a SessionHost. + cli: + name: status + description: Status for a SessionHost. + cliKey: status + protocol: {} + - schema: *ref_76 + flattenedNames: + - properties + - statusTimestamp + readOnly: true + serializedName: statusTimestamp + language: + default: + name: status_timestamp + description: The timestamp of the status. + cli: + name: statusTimestamp + description: The timestamp of the status. + cliKey: statusTimestamp + protocol: {} + - schema: *ref_77 + flattenedNames: + - properties + - osVersion + serializedName: osVersion + language: + default: + name: os_version + description: The version of the OS on the session host. + cli: + name: osVersion + description: The version of the OS on the session host. + cliKey: osVersion + protocol: {} + - schema: *ref_78 + flattenedNames: + - properties + - sxSStackVersion + serializedName: sxSStackVersion + language: + default: + name: sx_s_stack_version + description: The version of the side by side stack on the session host. + cli: + name: sxSStackVersion + description: The version of the side by side stack on the session host. + cliKey: sxSStackVersion + protocol: {} + - schema: *ref_79 + flattenedNames: + - properties + - updateState + serializedName: updateState + language: + default: + name: update_state + description: Update state of a SessionHost. + cli: + name: updateState + description: Update state of a SessionHost. + cliKey: updateState + protocol: {} + - schema: *ref_80 + flattenedNames: + - properties + - lastUpdateTime + readOnly: true + serializedName: lastUpdateTime + language: + default: + name: last_update_time + description: The timestamp of the last update. + cli: + name: lastUpdateTime + description: The timestamp of the last update. + cliKey: lastUpdateTime + protocol: {} + - schema: *ref_81 + flattenedNames: + - properties + - updateErrorMessage + serializedName: updateErrorMessage + language: + default: + name: update_error_message + description: The error message. + cli: + name: updateErrorMessage + description: The error message. + cliKey: updateErrorMessage + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: SessionHost + description: Represents a SessionHost definition. + namespace: '' + cli: + name: SessionHost + description: Represents a SessionHost definition. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: SessionHost + protocol: {} + - &ref_90 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - &ref_440 + schema: *ref_73 + flattenedNames: + - properties + - allowNewSession + serializedName: allowNewSession + language: + default: + name: allow_new_session + description: Allow a new session. + cli: &ref_441 + name: allowNewSession + description: Allow a new session. + cliKey: allowNewSession + protocol: {} + - &ref_442 + schema: *ref_82 + flattenedNames: + - properties + - assignedUser + serializedName: assignedUser + language: + default: + name: assigned_user + description: User assigned to SessionHost. + cli: &ref_443 + name: assignedUser + description: User assigned to SessionHost. + cliKey: assignedUser + protocol: {} + serializationFormats: + - json + usage: + - input + - output + language: + default: + name: SessionHostPatch + description: SessionHost properties that can be patched. + namespace: '' + cli: + name: SessionHostPatch + description: SessionHost properties that can be patched. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: SessionHostPatch + protocol: {} + immediate: + - *ref_9 + - *ref_83 + - *ref_84 + - *ref_85 + - *ref_86 + - *ref_87 + - *ref_88 + - *ref_89 + - *ref_90 + properties: + - schema: *ref_91 + readOnly: true + serializedName: id + language: + default: + name: id + description: 'Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' + cli: + name: id + description: 'Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' + cliKey: id + protocol: {} + - schema: *ref_92 + readOnly: true + serializedName: name + language: + default: + name: name + description: The name of the resource + cli: + name: name + description: The name of the resource + cliKey: name + protocol: {} + - schema: *ref_93 + readOnly: true + serializedName: type + language: + default: + name: type + description: The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + cli: + name: type + description: The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + cliKey: type + protocol: {} + serializationFormats: + - json + usage: + - output + - input + extensions: + x-ms-azure-resource: true + language: + default: + name: Resource + description: '' + namespace: '' + cli: + name: Resource + description: '' + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 0 + propertyCountIfSimplifyWithoutSimpleObject: 0 + simplifiable: true + cliKey: Resource + protocol: {} + - *ref_9 + - *ref_34 + - &ref_140 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_94 + serializedName: code + language: + default: + name: code + description: Error code + cli: + name: code + description: Error code + cliKey: code + protocol: {} + - schema: *ref_95 + serializedName: message + language: + default: + name: message + description: Error message indicating why the operation failed. + cli: + name: message + description: Error message indicating why the operation failed. + cliKey: message + protocol: {} + serializationFormats: + - json + usage: + - output + language: + default: + name: CloudError + description: Error response of an operation failure + namespace: '' + cli: + name: CloudError + description: Error response of an operation failure + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 2 + simplifiable: true + cliKey: CloudError + protocol: {} + - &ref_162 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - &ref_164 + schema: *ref_39 + serializedName: tags + language: + default: + name: tags + description: tags to be updated + cli: &ref_165 + name: tags + description: tags to be updated + cliKey: tags + protocol: {} + - &ref_166 + schema: *ref_96 + flattenedNames: + - properties + - description + serializedName: description + language: + default: + name: description + description: Description of Workspace. + cli: &ref_167 + name: description + description: Description of Workspace. + cliKey: description + protocol: {} + - &ref_168 + schema: *ref_97 + flattenedNames: + - properties + - friendlyName + serializedName: friendlyName + language: + default: + name: friendly_name + description: Friendly name of Workspace. + cli: &ref_169 + name: friendlyName + description: Friendly name of Workspace. + cliKey: friendlyName + protocol: {} + - &ref_170 + schema: &ref_120 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_98 + language: + default: + name: WorkspacePatchPropertiesApplicationGroupReferences + description: List of applicationGroup links. + cli: + name: WorkspacePatchPropertiesApplicationGroupReferences + description: List of applicationGroup links. + cli-complexity: array_simple + cli-mark: checked + protocol: {} + flattenedNames: + - properties + - applicationGroupReferences + serializedName: applicationGroupReferences + language: + default: + name: application_group_references + description: List of applicationGroup links. + cli: &ref_171 + name: applicationGroupReferences + description: List of applicationGroup links. + cliKey: applicationGroupReferences + protocol: {} + serializationFormats: + - json + usage: + - input + language: + default: + name: WorkspacePatch + description: Workspace properties that can be patched. + namespace: '' + cli: + name: WorkspacePatch + description: Workspace properties that can be patched. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: WorkspacePatch + protocol: {} + - &ref_179 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_121 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_34 + language: + default: + name: WorkspaceListValue + description: List of Workspace definitions. + cli: + name: WorkspaceListValue + description: List of Workspace definitions. + cli-complexity: array_complex + cli-mark: checked + protocol: {} + serializedName: value + language: + default: + name: value + description: List of Workspace definitions. + cli: + name: value + description: List of Workspace definitions. + cliKey: value + protocol: {} + - schema: *ref_99 + readOnly: true + serializedName: nextLink + language: + default: + name: next_link + description: Link to the next page of results. + cli: + name: nextLink + description: Link to the next page of results. + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: WorkspaceList + usage: + - output + language: + default: + name: WorkspaceList + description: List of Workspace definitions. + namespace: '' + summary: WorkspaceList + cli: + name: WorkspaceList + description: List of Workspace definitions. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: WorkspaceList + protocol: {} + - &ref_184 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_122 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_35 + language: + default: + name: ApplicationGroupListValue + description: List of ApplicationGroup definitions. + cli: + name: ApplicationGroupListValue + description: List of ApplicationGroup definitions. + cli-complexity: array_complex + cli-mark: checked + protocol: {} + serializedName: value + language: + default: + name: value + description: List of ApplicationGroup definitions. + cli: + name: value + description: List of ApplicationGroup definitions. + cliKey: value + protocol: {} + - schema: *ref_100 + readOnly: true + serializedName: nextLink + language: + default: + name: next_link + description: Link to the next page of results. + cli: + name: nextLink + description: Link to the next page of results. + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: ApplicationGroupList + usage: + - output + language: + default: + name: ApplicationGroupList + description: List of ApplicationGroup definitions. + namespace: '' + summary: ApplicationGroupList + cli: + name: ApplicationGroupList + description: List of ApplicationGroup definitions. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ApplicationGroupList + protocol: {} + - *ref_35 + - *ref_83 + - &ref_223 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_123 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_84 + language: + default: + name: StartMenuItemListValue + description: List of StartMenuItem definitions. + cli: + name: StartMenuItemListValue + description: List of StartMenuItem definitions. + cli-complexity: array_complex + cli-mark: checked + protocol: {} + serializedName: value + language: + default: + name: value + description: List of StartMenuItem definitions. + cli: + name: value + description: List of StartMenuItem definitions. + cliKey: value + protocol: {} + - schema: *ref_101 + readOnly: true + serializedName: nextLink + language: + default: + name: next_link + description: Link to the next page of results. + cli: + name: nextLink + description: Link to the next page of results. + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: StartMenuItemList + usage: + - output + language: + default: + name: StartMenuItemList + description: List of StartMenuItem definitions. + namespace: '' + summary: StartMenuItemList + cli: + name: StartMenuItemList + description: List of StartMenuItem definitions. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: StartMenuItemList + protocol: {} + - *ref_84 + - *ref_85 + - &ref_258 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - &ref_260 + schema: *ref_39 + serializedName: tags + language: + default: + name: tags + description: tags to be updated + cli: &ref_261 + name: tags + description: tags to be updated + cliKey: tags + protocol: {} + - &ref_262 + schema: *ref_102 + flattenedNames: + - properties + - description + serializedName: description + language: + default: + name: description + description: Description of Application. + cli: &ref_263 + name: description + description: Description of Application. + cliKey: description + protocol: {} + - &ref_264 + schema: *ref_103 + flattenedNames: + - properties + - friendlyName + serializedName: friendlyName + language: + default: + name: friendly_name + description: Friendly name of Application. + cli: &ref_265 + name: friendlyName + description: Friendly name of Application. + cliKey: friendlyName + protocol: {} + - &ref_266 + schema: *ref_104 + flattenedNames: + - properties + - filePath + serializedName: filePath + language: + default: + name: file_path + description: Specifies a path for the executable file for the application. + cli: &ref_267 + name: filePath + description: Specifies a path for the executable file for the application. + cliKey: filePath + protocol: {} + - &ref_268 + schema: *ref_51 + flattenedNames: + - properties + - commandLineSetting + serializedName: commandLineSetting + language: + default: + name: command_line_setting + description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' + cli: &ref_269 + name: commandLineSetting + description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' + cliKey: commandLineSetting + protocol: {} + - &ref_270 + schema: *ref_105 + flattenedNames: + - properties + - commandLineArguments + serializedName: commandLineArguments + language: + default: + name: command_line_arguments + description: Command Line Arguments for Application. + cli: &ref_271 + name: commandLineArguments + description: Command Line Arguments for Application. + cliKey: commandLineArguments + protocol: {} + - &ref_272 + schema: *ref_53 + flattenedNames: + - properties + - showInPortal + serializedName: showInPortal + language: + default: + name: show_in_portal + description: Specifies whether to show the RemoteApp program in the RD Web Access server. + cli: &ref_273 + name: showInPortal + description: Specifies whether to show the RemoteApp program in the RD Web Access server. + cliKey: showInPortal + protocol: {} + - &ref_274 + schema: *ref_106 + flattenedNames: + - properties + - iconPath + serializedName: iconPath + language: + default: + name: icon_path + description: Path to icon. + cli: &ref_275 + name: iconPath + description: Path to icon. + cliKey: iconPath + protocol: {} + - &ref_276 + schema: *ref_47 + flattenedNames: + - properties + - iconIndex + serializedName: iconIndex + language: + default: + name: icon_index + description: Index of the icon. + cli: &ref_277 + name: iconIndex + description: Index of the icon. + cliKey: iconIndex + protocol: {} + serializationFormats: + - json + usage: + - input + language: + default: + name: ApplicationPatch + description: Application properties that can be patched. + namespace: '' + cli: + name: ApplicationPatch + description: Application properties that can be patched. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ApplicationPatch + protocol: {} + - &ref_292 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_124 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_85 + language: + default: + name: ApplicationListValue + description: List of Application definitions. + cli: + name: ApplicationListValue + description: List of Application definitions. + cli-complexity: array_complex + cli-mark: checked + protocol: {} + serializedName: value + language: + default: + name: value + description: List of Application definitions. + cli: + name: value + description: List of Application definitions. + cliKey: value + protocol: {} + - schema: *ref_107 + readOnly: true + serializedName: nextLink + language: + default: + name: next_link + description: Link to the next page of results. + cli: + name: nextLink + description: Link to the next page of results. + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: ApplicationList + usage: + - output + language: + default: + name: ApplicationList + description: List of Application definitions. + namespace: '' + summary: ApplicationList + cli: + name: ApplicationList + description: List of Application definitions. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ApplicationList + protocol: {} + - *ref_86 + - &ref_296 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - &ref_298 + schema: *ref_39 + serializedName: tags + language: + default: + name: tags + description: tags to be updated + cli: &ref_299 + name: tags + description: tags to be updated + cliKey: tags + protocol: {} + - &ref_300 + schema: *ref_108 + flattenedNames: + - properties + - description + serializedName: description + language: + default: + name: description + description: Description of Desktop. + cli: &ref_301 + name: description + description: Description of Desktop. + cliKey: description + protocol: {} + - &ref_302 + schema: *ref_109 + flattenedNames: + - properties + - friendlyName + serializedName: friendlyName + language: + default: + name: friendly_name + description: Friendly name of Desktop. + cli: &ref_303 + name: friendlyName + description: Friendly name of Desktop. + cliKey: friendlyName + protocol: {} + serializationFormats: + - json + usage: + - input + language: + default: + name: DesktopPatch + description: Desktop properties that can be patched. + namespace: '' + cli: + name: DesktopPatch + description: Desktop properties that can be patched. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: DesktopPatch + protocol: {} + - &ref_312 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_125 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_86 + language: + default: + name: DesktopListValue + description: List of Desktop definitions. + cli: + name: DesktopListValue + description: List of Desktop definitions. + cli-complexity: array_complex + cli-mark: checked + protocol: {} + serializedName: value + language: + default: + name: value + description: List of Desktop definitions. + cli: + name: value + description: List of Desktop definitions. + cliKey: value + protocol: {} + - schema: *ref_110 + readOnly: true + serializedName: nextLink + language: + default: + name: next_link + description: Link to the next page of results. + cli: + name: nextLink + description: Link to the next page of results. + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: DesktopList + usage: + - output + language: + default: + name: DesktopList + description: List of Desktop definitions. + namespace: '' + summary: DesktopList + cli: + name: DesktopList + description: List of Desktop definitions. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: DesktopList + protocol: {} + - *ref_36 + - *ref_111 + - *ref_87 + - *ref_112 + - &ref_397 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_127 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_36 + language: + default: + name: HostPoolListValue + description: List of HostPool definitions. + cli: + name: HostPoolListValue + description: List of HostPool definitions. + cli-complexity: array_complex + cli-mark: checked + protocol: {} + serializedName: value + language: + default: + name: value + description: List of HostPool definitions. + cli: + name: value + description: List of HostPool definitions. + cliKey: value + protocol: {} + - schema: *ref_113 + readOnly: true + serializedName: nextLink + language: + default: + name: next_link + description: Link to the next page of results. + cli: + name: nextLink + description: Link to the next page of results. + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: HostPoolList + usage: + - output + language: + default: + name: HostPoolList + description: List of HostPool definitions. + namespace: '' + summary: HostPoolList + cli: + name: HostPoolList + description: List of HostPool definitions. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: HostPoolList + protocol: {} + - &ref_401 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_128 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_88 + language: + default: + name: UserSessionListValue + description: List of UserSession definitions. + cli: + name: UserSessionListValue + description: List of UserSession definitions. + cli-complexity: array_complex + cli-mark: checked + protocol: {} + serializedName: value + language: + default: + name: value + description: List of UserSession definitions. + cli: + name: value + description: List of UserSession definitions. + cliKey: value + protocol: {} + - schema: *ref_114 + readOnly: true + serializedName: nextLink + language: + default: + name: next_link + description: Link to the next page of results. + cli: + name: nextLink + description: Link to the next page of results. + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: UserSessionList + usage: + - output + language: + default: + name: UserSessionList + description: List of UserSession definitions. + namespace: '' + summary: UserSessionList + cli: + name: UserSessionList + description: List of UserSession definitions. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: UserSessionList + protocol: {} + - *ref_88 + - *ref_89 + - *ref_90 + - &ref_451 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_129 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_89 + language: + default: + name: SessionHostListValue + description: List of SessionHost definitions. + cli: + name: SessionHostListValue + description: List of SessionHost definitions. + cli-complexity: array_complex + cli-mark: checked + protocol: {} + serializedName: value + language: + default: + name: value + description: List of SessionHost definitions. + cli: + name: value + description: List of SessionHost definitions. + cliKey: value + protocol: {} + - schema: *ref_115 + readOnly: true + serializedName: nextLink + language: + default: + name: next_link + description: Link to the next page of results. + cli: + name: nextLink + description: Link to the next page of results. + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: SessionHostList + usage: + - output + language: + default: + name: SessionHostList + description: List of SessionHost definitions. + namespace: '' + summary: SessionHostList + cli: + name: SessionHostList + description: List of SessionHost definitions. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: SessionHostList + protocol: {} + - &ref_420 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - &ref_422 + schema: *ref_116 + serializedName: messageTitle + language: + default: + name: message_title + description: Title of message. + cli: &ref_423 + name: messageTitle + description: Title of message. + cliKey: messageTitle + protocol: {} + - &ref_424 + schema: *ref_117 + serializedName: messageBody + language: + default: + name: message_body + description: Body of message. + cli: &ref_425 + name: messageBody + description: Body of message. + cliKey: messageBody + protocol: {} + serializationFormats: + - json + usage: + - input + language: + default: + name: SendMessage + description: Represents message sent to a UserSession. + namespace: '' + cli: + name: SendMessage + description: Represents message sent to a UserSession. + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 2 + simplifiable: true + cliKey: SendMessage + protocol: {} + arrays: + - *ref_118 + - *ref_119 + - *ref_120 + - *ref_121 + - *ref_122 + - *ref_123 + - *ref_124 + - *ref_125 + - *ref_126 + - *ref_127 + - *ref_128 + - *ref_129 +globalParameters: + - &ref_135 + schema: *ref_130 + implementation: Client + required: true + extensions: + x-ms-priority: 0 + language: + default: + name: subscription_id + description: The ID of the target subscription. + serializedName: subscriptionId + cli: + name: subscriptionId + description: The ID of the target subscription. + cliKey: subscriptionId + protocol: + http: + in: path + - &ref_132 + schema: *ref_0 + clientDefaultValue: 'https://management.azure.com' + implementation: Client + origin: 'modelerfour:synthesized/host' + required: true + extensions: + x-ms-skip-url-encoding: true + language: + default: + name: $host + description: server parameter + serializedName: $host + cli: + name: $host + description: server parameter + cliKey: $host + protocol: + http: + in: uri + - &ref_133 + schema: *ref_131 + implementation: Client + origin: 'modelerfour:synthesized/api-version' + required: true + language: + default: + name: api_version + description: Api Version + serializedName: api-version + cli: + name: ApiVersion + description: Api Version + cliKey: ApiVersion + protocol: + http: + in: query +operationGroups: + - $key: Operations + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: /providers/Microsoft.DesktopVirtualization/operations + method: get + uri: '{$host}' + signatureParameters: [] + responses: + - schema: *ref_134 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + extensions: + x-ms-examples: + OperationDescription_List: + parameters: + api-version: 2019-12-10-preview + responses: + '200': + body: + value: + - name: Microsoft.DesktopVirtualization/ssocontext/read + display: + provider: Microsoft.DesktopVirtualization + resource: ssocontext + - name: Microsoft.DesktopVirtualization/ssocontext/write + display: + provider: Microsoft.DesktopVirtualization + resource: ssocontext + language: + default: + name: list + description: List all of the available operations the Desktop Virtualization resource provider supports. + cli: + name: List + description: List all of the available operations the Desktop Virtualization resource provider supports. + cliKey: List + hidden: true + protocol: {} + language: + default: + name: Operation + description: '' + cli: + name: Operation + description: '' + cliKey: Operations + protocol: {} + - $key: Workspaces + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_138 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_139 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: workspace_name + description: The name of the workspace + serializedName: workspaceName + cli: + name: workspaceName + description: The name of the workspace + cliKey: workspaceName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_138 + - *ref_139 + responses: + - schema: *ref_34 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Workspace_Get: + parameters: + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + workspaceName: workspace1 + responses: + '200': + body: + name: workspace1 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + language: + default: + name: get + description: Get a workspace. + cli: + name: Get + description: Get a workspace. + cliKey: Get + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_158 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_159 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: workspace_name + description: The name of the workspace + serializedName: workspaceName + cli: + name: workspaceName + description: The name of the workspace + cliKey: workspaceName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_141 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content_type + description: Body Parameter content-type + serializedName: Content-Type + cli: + name: ContentType + description: Body Parameter content-type + cliKey: content-type + protocol: + http: + in: header + - &ref_142 + schema: *ref_34 + flattened: true + implementation: Method + required: true + extensions: + x-ms-client-flatten: true + language: + default: + name: _workspace + description: Object containing Workspace definitions. + cli: + name: _workspace + description: Object containing Workspace definitions. + cliKey: workspace + protocol: + http: + in: body + style: json + - &ref_153 + schema: *ref_37 + implementation: Method + originalParameter: *ref_142 + pathToProperty: [] + required: false + targetProperty: *ref_143 + language: + default: + name: tags + description: Resource tags. + cli: *ref_144 + protocol: {} + - &ref_154 + schema: *ref_38 + implementation: Method + originalParameter: *ref_142 + pathToProperty: [] + required: true + targetProperty: *ref_145 + language: + default: + name: location + description: The geo-location where the resource lives + cli: *ref_146 + protocol: {} + - &ref_155 + schema: *ref_11 + implementation: Method + originalParameter: *ref_142 + pathToProperty: [] + targetProperty: *ref_147 + language: + default: + name: description + description: Description of Workspace. + cli: *ref_148 + protocol: {} + - &ref_156 + schema: *ref_12 + implementation: Method + originalParameter: *ref_142 + pathToProperty: [] + targetProperty: *ref_149 + language: + default: + name: friendly_name + description: Friendly name of Workspace. + cli: *ref_150 + protocol: {} + - &ref_157 + schema: *ref_119 + implementation: Method + originalParameter: *ref_142 + pathToProperty: [] + targetProperty: *ref_151 + language: + default: + name: application_group_references + description: List of applicationGroup resource Ids. + cli: *ref_152 + protocol: {} + signatureParameters: + - *ref_153 + - *ref_154 + - *ref_155 + - *ref_156 + - *ref_157 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' + method: put + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_158 + - *ref_159 + responses: + - schema: *ref_34 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + - schema: *ref_34 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '201' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Workspace_Create: + parameters: + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + workspace: + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + tag1: value1 + tag2: value2 + workspaceName: workspace1 + responses: + '200': + body: + name: workspace1 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + '201': + body: + name: workspace1 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + language: + default: + name: create_or_update + description: Create or update a workspace. + cli: + name: CreateOrUpdate + description: Create or update a workspace. + cliKey: CreateOrUpdate + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_160 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_161 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: workspace_name + description: The name of the workspace + serializedName: workspaceName + cli: + name: workspaceName + description: The name of the workspace + cliKey: workspaceName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' + method: delete + uri: '{$host}' + signatureParameters: + - *ref_160 + - *ref_161 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '204' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Workspace_Delete: + parameters: + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + workspaceName: workspace1 + responses: + '200': + name: workspace1 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + '204': {} + language: + default: + name: delete + description: Remove a workspace. + cli: + name: Delete + description: Remove a workspace. + cliKey: Delete + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_176 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_177 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: workspace_name + description: The name of the workspace + serializedName: workspaceName + cli: + name: workspaceName + description: The name of the workspace + cliKey: workspaceName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_141 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content_type + description: Body Parameter content-type + serializedName: Content-Type + cli: + name: ContentType + description: Body Parameter content-type + cliKey: content-type + protocol: + http: + in: header + - &ref_163 + schema: *ref_162 + flattened: true + implementation: Method + required: false + extensions: + x-ms-client-flatten: true + language: + default: + name: _workspace + description: Object containing Workspace definitions. + cli: + name: _workspace + description: Object containing Workspace definitions. + cliKey: workspace + protocol: + http: + in: body + style: json + - &ref_172 + schema: *ref_39 + implementation: Method + originalParameter: *ref_163 + pathToProperty: [] + targetProperty: *ref_164 + language: + default: + name: tags + description: tags to be updated + cli: *ref_165 + protocol: {} + - &ref_173 + schema: *ref_96 + implementation: Method + originalParameter: *ref_163 + pathToProperty: [] + targetProperty: *ref_166 + language: + default: + name: description + description: Description of Workspace. + cli: *ref_167 + protocol: {} + - &ref_174 + schema: *ref_97 + implementation: Method + originalParameter: *ref_163 + pathToProperty: [] + targetProperty: *ref_168 + language: + default: + name: friendly_name + description: Friendly name of Workspace. + cli: *ref_169 + protocol: {} + - &ref_175 + schema: *ref_120 + implementation: Method + originalParameter: *ref_163 + pathToProperty: [] + targetProperty: *ref_170 + language: + default: + name: application_group_references + description: List of applicationGroup links. + cli: *ref_171 + protocol: {} + signatureParameters: + - *ref_172 + - *ref_173 + - *ref_174 + - *ref_175 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' + method: patch + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_176 + - *ref_177 + responses: + - schema: *ref_34 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Workspace_Update: + parameters: + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + workspace: + properties: + description: des1 + friendlyName: friendly + tags: + tag1: value1 + tag2: value2 + workspaceName: workspace1 + responses: + '200': + body: + name: workspace1 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + language: + default: + name: update + description: Update a workspace. + cli: + name: Update + description: Update a workspace. + cliKey: Update + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_178 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces' + method: get + uri: '{$host}' + signatureParameters: + - *ref_178 + responses: + - schema: *ref_179 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Workspace_ListByResourceGroup: + parameters: + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: workspace1 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + - name: workspace2 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace2 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: list_by_resource_group + description: List workspaces. + paging: + nextLinkName: nextLink + cli: + name: ListByResourceGroup + description: List workspaces. + cliKey: ListByResourceGroup + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/workspaces' + method: get + uri: '{$host}' + signatureParameters: [] + responses: + - schema: *ref_179 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Workspace_ListBySubscription: + parameters: + api-version: 2019-12-10-preview + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: workspace1 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + - name: workspace2 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace2 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: list_by_subscription + description: List workspaces in subscription. + paging: + nextLinkName: nextLink + cli: + name: ListBySubscription + description: List workspaces in subscription. + cliKey: ListBySubscription + protocol: {} + language: + default: + name: Workspace + description: '' + cli: + name: Workspace + description: '' + cliKey: Workspaces + protocol: {} + - $key: ApplicationGroupAssignments + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_181 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_182 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: workspace_name + description: The name of the workspace + serializedName: workspaceName + cli: + name: workspaceName + description: The name of the workspace + cliKey: workspaceName + protocol: + http: + in: path + - &ref_183 + schema: *ref_180 + implementation: Method + language: + default: + name: filter + description: OData filter expression. Valid properties for filtering are applicationGroupType. + serializedName: $filter + cli: + name: filter + description: OData filter expression. Valid properties for filtering are applicationGroupType. + cliKey: $filter + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}/userApplicationGroupAssignments' + method: get + uri: '{$host}' + signatureParameters: + - *ref_181 + - *ref_182 + - *ref_183 + responses: + - schema: *ref_184 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ApplicationGroupAssignment_WorkspaceLevelList: + parameters: + $filter: userPrincipalName eq 'user1@microsoft.com' + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + workspaceName: workspace1 + responses: + '200': + body: + value: + - name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + - name: applicationGroup2 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: workspace_level_list + description: List application group that user can use. + paging: + nextLinkName: nextLink + cli: + name: WorkspaceLevelList + description: List application group that user can use. + cliKey: WorkspaceLevelList + protocol: {} + language: + default: + name: ApplicationGroupAssignment + description: '' + cli: + name: ApplicationGroupAssignment + description: '' + cliKey: ApplicationGroupAssignments + hidden: true + protocol: {} + - $key: ApplicationGroups + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_185 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_186 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_group_name + description: The name of the application group + serializedName: applicationGroupName + cli: + name: applicationGroupName + description: The name of the application group + cliKey: applicationGroupName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_185 + - *ref_186 + responses: + - schema: *ref_35 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ApplicationGroup_Get: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + language: + default: + name: get + description: Get an application group. + cli: + name: Get + description: Get an application group. + cliKey: Get + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_202 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_203 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_group_name + description: The name of the application group + serializedName: applicationGroupName + cli: + name: applicationGroupName + description: The name of the application group + cliKey: applicationGroupName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_141 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content_type + description: Body Parameter content-type + serializedName: Content-Type + cli: + name: ContentType + description: Body Parameter content-type + cliKey: content-type + protocol: + http: + in: header + - &ref_187 + schema: *ref_35 + flattened: true + implementation: Method + required: true + extensions: + x-ms-client-flatten: true + language: + default: + name: _application_group + description: Object containing ApplicationGroup definitions. + cli: + name: _application_group + description: Object containing ApplicationGroup definitions. + cliKey: applicationGroup + protocol: + http: + in: body + style: json + - &ref_196 + schema: *ref_37 + implementation: Method + originalParameter: *ref_187 + pathToProperty: [] + required: false + targetProperty: *ref_143 + language: + default: + name: tags + description: Resource tags. + cli: *ref_144 + protocol: {} + - &ref_197 + schema: *ref_38 + implementation: Method + originalParameter: *ref_187 + pathToProperty: [] + required: true + targetProperty: *ref_145 + language: + default: + name: location + description: The geo-location where the resource lives + cli: *ref_146 + protocol: {} + - &ref_198 + schema: *ref_14 + implementation: Method + originalParameter: *ref_187 + pathToProperty: [] + required: false + targetProperty: *ref_188 + language: + default: + name: description + description: Description of ApplicationGroup. + cli: *ref_189 + protocol: {} + - &ref_199 + schema: *ref_15 + implementation: Method + originalParameter: *ref_187 + pathToProperty: [] + required: false + targetProperty: *ref_190 + language: + default: + name: friendly_name + description: Friendly name of ApplicationGroup. + cli: *ref_191 + protocol: {} + - &ref_200 + schema: *ref_16 + implementation: Method + originalParameter: *ref_187 + pathToProperty: [] + required: true + targetProperty: *ref_192 + language: + default: + name: host_pool_arm_path + description: HostPool arm path of ApplicationGroup. + cli: *ref_193 + protocol: {} + - &ref_201 + schema: *ref_18 + implementation: Method + originalParameter: *ref_187 + pathToProperty: [] + required: true + targetProperty: *ref_194 + language: + default: + name: application_group_type + description: Resource Type of ApplicationGroup. + cli: *ref_195 + protocol: {} + signatureParameters: + - *ref_196 + - *ref_197 + - *ref_198 + - *ref_199 + - *ref_200 + - *ref_201 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' + method: put + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_202 + - *ref_203 + responses: + - schema: *ref_35 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + - schema: *ref_35 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '201' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ApplicationGroup_Create: + parameters: + api-version: 2019-12-10-preview + applicationGroup: + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + tags: + tag1: value1 + tag2: value2 + applicationGroupName: applicationGroup1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + '201': + body: + name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + language: + default: + name: create_or_update + description: Create or update an applicationGroup. + cli: + name: CreateOrUpdate + description: Create or update an applicationGroup. + cliKey: CreateOrUpdate + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_204 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_205 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_group_name + description: The name of the application group + serializedName: applicationGroupName + cli: + name: applicationGroupName + description: The name of the application group + cliKey: applicationGroupName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' + method: delete + uri: '{$host}' + signatureParameters: + - *ref_204 + - *ref_205 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '204' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ApplicationGroup_Delete: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + '204': {} + language: + default: + name: delete + description: Remove an applicationGroup. + cli: + name: Delete + description: Remove an applicationGroup. + cliKey: Delete + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_216 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_217 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_group_name + description: The name of the application group + serializedName: applicationGroupName + cli: + name: applicationGroupName + description: The name of the application group + cliKey: applicationGroupName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_141 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content_type + description: Body Parameter content-type + serializedName: Content-Type + cli: + name: ContentType + description: Body Parameter content-type + cliKey: content-type + protocol: + http: + in: header + - &ref_206 + schema: *ref_83 + flattened: true + implementation: Method + required: false + extensions: + x-ms-client-flatten: true + language: + default: + name: _application_group + description: Object containing ApplicationGroup definitions. + cli: + name: _application_group + description: Object containing ApplicationGroup definitions. + cliKey: applicationGroup + protocol: + http: + in: body + style: json + - &ref_213 + schema: *ref_39 + implementation: Method + originalParameter: *ref_206 + pathToProperty: [] + targetProperty: *ref_207 + language: + default: + name: tags + description: tags to be updated + cli: *ref_208 + protocol: {} + - &ref_214 + schema: *ref_40 + implementation: Method + originalParameter: *ref_206 + pathToProperty: [] + targetProperty: *ref_209 + language: + default: + name: description + description: Description of ApplicationGroup. + cli: *ref_210 + protocol: {} + - &ref_215 + schema: *ref_41 + implementation: Method + originalParameter: *ref_206 + pathToProperty: [] + targetProperty: *ref_211 + language: + default: + name: friendly_name + description: Friendly name of ApplicationGroup. + cli: *ref_212 + protocol: {} + signatureParameters: + - *ref_213 + - *ref_214 + - *ref_215 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' + method: patch + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_216 + - *ref_217 + responses: + - schema: *ref_35 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ApplicationGroups_Update: + parameters: + api-version: 2019-12-10-preview + applicationGroup: + properties: + description: des1 + friendlyName: friendly + tags: + tag1: value1 + tag2: value2 + applicationGroupName: applicationGroup1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + language: + default: + name: update + description: Update an applicationGroup. + cli: + name: Update + description: Update an applicationGroup. + cliKey: Update + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_218 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_219 + schema: *ref_180 + implementation: Method + language: + default: + name: filter + description: OData filter expression. Valid properties for filtering are applicationGroupType. + serializedName: $filter + cli: + name: filter + description: OData filter expression. Valid properties for filtering are applicationGroupType. + cliKey: $filter + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups' + method: get + uri: '{$host}' + signatureParameters: + - *ref_218 + - *ref_219 + responses: + - schema: *ref_184 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ApplicationGroup_ListByResourceGroup: + parameters: + $filter: applicationGroupType eq 'RailApplication' + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + - name: applicationGroup2 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: list_by_resource_group + description: List applicationGroups. + paging: + nextLinkName: nextLink + cli: + name: ListByResourceGroup + description: List applicationGroups. + cliKey: ListByResourceGroup + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_220 + schema: *ref_180 + implementation: Method + language: + default: + name: filter + description: OData filter expression. Valid properties for filtering are applicationGroupType. + serializedName: $filter + cli: + name: filter + description: OData filter expression. Valid properties for filtering are applicationGroupType. + cliKey: $filter + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/applicationGroups' + method: get + uri: '{$host}' + signatureParameters: + - *ref_220 + responses: + - schema: *ref_184 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ApplicationGroup_List: + parameters: + $filter: applicationGroupType eq 'RailApplication' + api-version: 2019-12-10-preview + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + - name: applicationGroup2 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: list_by_subscription + description: List applicationGroups in subscription. + paging: + nextLinkName: nextLink + cli: + name: ListBySubscription + description: List applicationGroups in subscription. + cliKey: ListBySubscription + protocol: {} + language: + default: + name: ApplicationGroup + description: '' + cli: + name: ApplicationGroup + description: '' + cliKey: ApplicationGroups + protocol: {} + - $key: StartMenuItems + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_221 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_222 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_group_name + description: The name of the application group + serializedName: applicationGroupName + cli: + name: applicationGroupName + description: The name of the application group + cliKey: applicationGroupName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/startMenuItems' + method: get + uri: '{$host}' + signatureParameters: + - *ref_221 + - *ref_222 + responses: + - schema: *ref_223 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + StartMenuItem_List: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: application1 + type: Microsoft.DesktopVirtualization/applicationGroups/startMenuItems + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/startMenuItem/application1 + properties: + appAlias: word + commandLineArguments: arguments + filePath: /path/to/file + friendlyName: friendly + iconIndex: 1 + iconPath: /path/to/icon + - name: application2 + type: Microsoft.DesktopVirtualization/applicationGroups/startMenuItems + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/startMenuItem/application2 + properties: + appAlias: excel + commandLineArguments: arguments + filePath: /path/to/file + friendlyName: friendly + iconIndex: 1 + iconPath: /path/to/icon + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: list + description: List start menu items in the given application group. + paging: + nextLinkName: nextLink + cli: + name: List + description: List start menu items in the given application group. + cliKey: List + protocol: {} + language: + default: + name: StartMenuItem + description: '' + cli: + name: StartMenuItem + description: '' + cliKey: StartMenuItems + hidden: true + protocol: {} + - $key: Applications + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_224 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_225 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_group_name + description: The name of the application group + serializedName: applicationGroupName + cli: + name: applicationGroupName + description: The name of the application group + cliKey: applicationGroupName + protocol: + http: + in: path + - &ref_226 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_name + description: The name of the application within the specified application group + serializedName: applicationName + cli: + name: applicationName + description: The name of the application within the specified application group + cliKey: applicationName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_224 + - *ref_225 + - *ref_226 + responses: + - schema: *ref_85 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Application_Get: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + applicationName: application1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1/application1 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + language: + default: + name: get + description: Get an application. + cli: + name: Get + description: Get an application. + cliKey: Get + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_252 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_253 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_group_name + description: The name of the application group + serializedName: applicationGroupName + cli: + name: applicationGroupName + description: The name of the application group + cliKey: applicationGroupName + protocol: + http: + in: path + - &ref_254 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_name + description: The name of the application within the specified application group + serializedName: applicationName + cli: + name: applicationName + description: The name of the application within the specified application group + cliKey: applicationName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_141 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content_type + description: Body Parameter content-type + serializedName: Content-Type + cli: + name: ContentType + description: Body Parameter content-type + cliKey: content-type + protocol: + http: + in: header + - &ref_227 + schema: *ref_85 + flattened: true + implementation: Method + required: true + extensions: + x-ms-client-flatten: true + language: + default: + name: _application + description: Object containing Application definitions. + cli: + name: _application + description: Object containing Application definitions. + cliKey: application + protocol: + http: + in: body + style: json + - &ref_244 + schema: *ref_48 + implementation: Method + originalParameter: *ref_227 + pathToProperty: [] + required: false + targetProperty: *ref_228 + language: + default: + name: description + description: Description of Application. + cli: *ref_229 + protocol: {} + - &ref_245 + schema: *ref_49 + implementation: Method + originalParameter: *ref_227 + pathToProperty: [] + required: false + targetProperty: *ref_230 + language: + default: + name: friendly_name + description: Friendly name of Application. + cli: *ref_231 + protocol: {} + - &ref_246 + schema: *ref_50 + implementation: Method + originalParameter: *ref_227 + pathToProperty: [] + required: false + targetProperty: *ref_232 + language: + default: + name: file_path + description: Specifies a path for the executable file for the application. + cli: *ref_233 + protocol: {} + - &ref_247 + schema: *ref_51 + implementation: Method + originalParameter: *ref_227 + pathToProperty: [] + required: true + targetProperty: *ref_234 + language: + default: + name: command_line_setting + description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' + cli: *ref_235 + protocol: {} + - &ref_248 + schema: *ref_52 + implementation: Method + originalParameter: *ref_227 + pathToProperty: [] + required: false + targetProperty: *ref_236 + language: + default: + name: command_line_arguments + description: Command Line Arguments for Application. + cli: *ref_237 + protocol: {} + - &ref_249 + schema: *ref_53 + implementation: Method + originalParameter: *ref_227 + pathToProperty: [] + required: false + targetProperty: *ref_238 + language: + default: + name: show_in_portal + description: Specifies whether to show the RemoteApp program in the RD Web Access server. + cli: *ref_239 + protocol: {} + - &ref_250 + schema: *ref_54 + implementation: Method + originalParameter: *ref_227 + pathToProperty: [] + required: false + targetProperty: *ref_240 + language: + default: + name: icon_path + description: Path to icon. + cli: *ref_241 + protocol: {} + - &ref_251 + schema: *ref_47 + implementation: Method + originalParameter: *ref_227 + pathToProperty: [] + required: false + targetProperty: *ref_242 + language: + default: + name: icon_index + description: Index of the icon. + cli: *ref_243 + protocol: {} + signatureParameters: + - *ref_244 + - *ref_245 + - *ref_246 + - *ref_247 + - *ref_248 + - *ref_249 + - *ref_250 + - *ref_251 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' + method: put + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_252 + - *ref_253 + - *ref_254 + responses: + - schema: *ref_85 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + - schema: *ref_85 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '201' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Application_Create: + parameters: + api-version: 2019-12-10-preview + application: + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconIndex: 1 + iconPath: icon + showInPortal: true + applicationGroupName: applicationGroup1 + applicationName: application1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1/application1 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + '201': + body: + name: applicationGroup1/application1 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + language: + default: + name: create_or_update + description: Create or update an application. + cli: + name: CreateOrUpdate + description: Create or update an application. + cliKey: CreateOrUpdate + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_255 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_256 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_group_name + description: The name of the application group + serializedName: applicationGroupName + cli: + name: applicationGroupName + description: The name of the application group + cliKey: applicationGroupName + protocol: + http: + in: path + - &ref_257 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_name + description: The name of the application within the specified application group + serializedName: applicationName + cli: + name: applicationName + description: The name of the application within the specified application group + cliKey: applicationName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' + method: delete + uri: '{$host}' + signatureParameters: + - *ref_255 + - *ref_256 + - *ref_257 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '204' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Application_Delete: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + applicationName: application1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + name: applicationGroup1/application1 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + '204': {} + language: + default: + name: delete + description: Remove an application. + cli: + name: Delete + description: Remove an application. + cliKey: Delete + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_287 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_288 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_group_name + description: The name of the application group + serializedName: applicationGroupName + cli: + name: applicationGroupName + description: The name of the application group + cliKey: applicationGroupName + protocol: + http: + in: path + - &ref_289 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_name + description: The name of the application within the specified application group + serializedName: applicationName + cli: + name: applicationName + description: The name of the application within the specified application group + cliKey: applicationName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_141 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content_type + description: Body Parameter content-type + serializedName: Content-Type + cli: + name: ContentType + description: Body Parameter content-type + cliKey: content-type + protocol: + http: + in: header + - &ref_259 + schema: *ref_258 + flattened: true + implementation: Method + required: false + extensions: + x-ms-client-flatten: true + language: + default: + name: _application + description: Object containing Application definitions. + cli: + name: _application + description: Object containing Application definitions. + cliKey: application + protocol: + http: + in: body + style: json + - &ref_278 + schema: *ref_39 + implementation: Method + originalParameter: *ref_259 + pathToProperty: [] + targetProperty: *ref_260 + language: + default: + name: tags + description: tags to be updated + cli: *ref_261 + protocol: {} + - &ref_279 + schema: *ref_102 + implementation: Method + originalParameter: *ref_259 + pathToProperty: [] + targetProperty: *ref_262 + language: + default: + name: description + description: Description of Application. + cli: *ref_263 + protocol: {} + - &ref_280 + schema: *ref_103 + implementation: Method + originalParameter: *ref_259 + pathToProperty: [] + targetProperty: *ref_264 + language: + default: + name: friendly_name + description: Friendly name of Application. + cli: *ref_265 + protocol: {} + - &ref_281 + schema: *ref_104 + implementation: Method + originalParameter: *ref_259 + pathToProperty: [] + targetProperty: *ref_266 + language: + default: + name: file_path + description: Specifies a path for the executable file for the application. + cli: *ref_267 + protocol: {} + - &ref_282 + schema: *ref_51 + implementation: Method + originalParameter: *ref_259 + pathToProperty: [] + targetProperty: *ref_268 + language: + default: + name: command_line_setting + description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' + cli: *ref_269 + protocol: {} + - &ref_283 + schema: *ref_105 + implementation: Method + originalParameter: *ref_259 + pathToProperty: [] + targetProperty: *ref_270 + language: + default: + name: command_line_arguments + description: Command Line Arguments for Application. + cli: *ref_271 + protocol: {} + - &ref_284 + schema: *ref_53 + implementation: Method + originalParameter: *ref_259 + pathToProperty: [] + targetProperty: *ref_272 + language: + default: + name: show_in_portal + description: Specifies whether to show the RemoteApp program in the RD Web Access server. + cli: *ref_273 + protocol: {} + - &ref_285 + schema: *ref_106 + implementation: Method + originalParameter: *ref_259 + pathToProperty: [] + targetProperty: *ref_274 + language: + default: + name: icon_path + description: Path to icon. + cli: *ref_275 + protocol: {} + - &ref_286 + schema: *ref_47 + implementation: Method + originalParameter: *ref_259 + pathToProperty: [] + targetProperty: *ref_276 + language: + default: + name: icon_index + description: Index of the icon. + cli: *ref_277 + protocol: {} + signatureParameters: + - *ref_278 + - *ref_279 + - *ref_280 + - *ref_281 + - *ref_282 + - *ref_283 + - *ref_284 + - *ref_285 + - *ref_286 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' + method: patch + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_287 + - *ref_288 + - *ref_289 + responses: + - schema: *ref_85 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Application_Update: + parameters: + api-version: 2019-12-10-preview + application: + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconIndex: 1 + iconPath: icon + showInPortal: true + applicationGroupName: applicationGroup1 + applicationName: application1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1/application1 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + language: + default: + name: update + description: Update an application. + cli: + name: Update + description: Update an application. + cliKey: Update + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_290 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_291 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_group_name + description: The name of the application group + serializedName: applicationGroupName + cli: + name: applicationGroupName + description: The name of the application group + cliKey: applicationGroupName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications' + method: get + uri: '{$host}' + signatureParameters: + - *ref_290 + - *ref_291 + responses: + - schema: *ref_292 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Applications_List: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: applicationGroup1/application1 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + - name: applicationGroup1/application2 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application2 + properties: + description: des2 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: list + description: List applications. + paging: + nextLinkName: nextLink + cli: + name: List + description: List applications. + cliKey: List + protocol: {} + language: + default: + name: Application + description: '' + cli: + name: Application + description: '' + cliKey: Applications + hidden: true + protocol: {} + - $key: Desktops + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_293 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_294 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_group_name + description: The name of the application group + serializedName: applicationGroupName + cli: + name: applicationGroupName + description: The name of the application group + cliKey: applicationGroupName + protocol: + http: + in: path + - &ref_295 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: desktop_name + description: The name of the desktop within the specified desktop group + serializedName: desktopName + cli: + name: desktopName + description: The name of the desktop within the specified desktop group + cliKey: desktopName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops/{desktopName}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_293 + - *ref_294 + - *ref_295 + responses: + - schema: *ref_86 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Desktop_Get: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + desktopName: SessionDesktop + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1/SessionDesktop + type: Microsoft.DesktopVirtualization/applicationGroups/desktops + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/SessionDesktop + properties: + description: des1 + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + language: + default: + name: get + description: Get a desktop. + cli: + name: Get + description: Get a desktop. + cliKey: Get + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_307 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_308 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_group_name + description: The name of the application group + serializedName: applicationGroupName + cli: + name: applicationGroupName + description: The name of the application group + cliKey: applicationGroupName + protocol: + http: + in: path + - &ref_309 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: desktop_name + description: The name of the desktop within the specified desktop group + serializedName: desktopName + cli: + name: desktopName + description: The name of the desktop within the specified desktop group + cliKey: desktopName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_141 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content_type + description: Body Parameter content-type + serializedName: Content-Type + cli: + name: ContentType + description: Body Parameter content-type + cliKey: content-type + protocol: + http: + in: header + - &ref_297 + schema: *ref_296 + flattened: true + implementation: Method + required: false + extensions: + x-ms-client-flatten: true + language: + default: + name: _desktop + description: Object containing Desktop definitions. + cli: + name: _desktop + description: Object containing Desktop definitions. + cliKey: desktop + protocol: + http: + in: body + style: json + - &ref_304 + schema: *ref_39 + implementation: Method + originalParameter: *ref_297 + pathToProperty: [] + targetProperty: *ref_298 + language: + default: + name: tags + description: tags to be updated + cli: *ref_299 + protocol: {} + - &ref_305 + schema: *ref_108 + implementation: Method + originalParameter: *ref_297 + pathToProperty: [] + targetProperty: *ref_300 + language: + default: + name: description + description: Description of Desktop. + cli: *ref_301 + protocol: {} + - &ref_306 + schema: *ref_109 + implementation: Method + originalParameter: *ref_297 + pathToProperty: [] + targetProperty: *ref_302 + language: + default: + name: friendly_name + description: Friendly name of Desktop. + cli: *ref_303 + protocol: {} + signatureParameters: + - *ref_304 + - *ref_305 + - *ref_306 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops/{desktopName}' + method: patch + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_307 + - *ref_308 + - *ref_309 + responses: + - schema: *ref_86 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Desktop_Update: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + desktop: + properties: + description: des1 + friendlyName: friendly + desktopName: SessionDesktop + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1/SessionDesktop + type: Microsoft.DesktopVirtualization/applicationGroups/desktops + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/desktops/SessionDesktop + properties: + description: des1 + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + language: + default: + name: update + description: Update a desktop. + cli: + name: Update + description: Update a desktop. + cliKey: Update + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_310 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_311 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_group_name + description: The name of the application group + serializedName: applicationGroupName + cli: + name: applicationGroupName + description: The name of the application group + cliKey: applicationGroupName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops' + method: get + uri: '{$host}' + signatureParameters: + - *ref_310 + - *ref_311 + responses: + - schema: *ref_312 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Desktop_List: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: applicationGroup1/SessionDesktop + type: Microsoft.DesktopVirtualization/applicationGroups/desktops + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/SessionDesktop + properties: + description: des1 + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + language: + default: + name: list + description: List desktops. + cli: + name: List + description: List desktops. + cliKey: List + protocol: {} + language: + default: + name: Desktop + description: '' + cli: + name: Desktop + description: '' + cliKey: Desktops + hidden: true + protocol: {} + - $key: HostPools + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_313 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_314 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + name: hostPoolName + description: The name of the host pool within the specified resource group + cliKey: hostPoolName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_313 + - *ref_314 + responses: + - schema: *ref_36 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + HostPool_Get: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: hostPool1 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2008-09-22T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + language: + default: + name: get + description: Get a host pool. + cli: + name: Get + description: Get a host pool. + cliKey: Get + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_354 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_355 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + name: hostPoolName + description: The name of the host pool within the specified resource group + cliKey: hostPoolName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_141 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content_type + description: Body Parameter content-type + serializedName: Content-Type + cli: + name: ContentType + description: Body Parameter content-type + cliKey: content-type + protocol: + http: + in: header + - &ref_315 + schema: *ref_36 + flattened: true + implementation: Method + required: true + extensions: + x-ms-client-flatten: true + language: + default: + name: _host_pool + description: Object containing HostPool definitions. + cli: + name: _host_pool + description: Object containing HostPool definitions. + cliKey: hostPool + protocol: + http: + in: body + style: json + - &ref_340 + schema: *ref_37 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: false + targetProperty: *ref_143 + language: + default: + name: tags + description: Resource tags. + cli: *ref_144 + protocol: {} + - &ref_341 + schema: *ref_38 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: true + targetProperty: *ref_145 + language: + default: + name: location + description: The geo-location where the resource lives + cli: *ref_146 + protocol: {} + - &ref_342 + schema: *ref_19 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: false + targetProperty: *ref_316 + language: + default: + name: friendly_name + description: Friendly name of HostPool. + cli: *ref_317 + protocol: {} + - &ref_343 + schema: *ref_20 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: false + targetProperty: *ref_318 + language: + default: + name: description + description: Description of HostPool. + cli: *ref_319 + protocol: {} + - &ref_344 + schema: *ref_21 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: true + targetProperty: *ref_320 + language: + default: + name: host_pool_type + description: HostPool type for desktop. + cli: *ref_321 + protocol: {} + - &ref_345 + schema: *ref_22 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: true + targetProperty: *ref_322 + language: + default: + name: personal_desktop_assignment_type + description: PersonalDesktopAssignment type for HostPool. + cli: *ref_323 + protocol: {} + - &ref_346 + schema: *ref_23 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: false + targetProperty: *ref_324 + language: + default: + name: custom_rdp_property + description: Custom rdp property of HostPool. + cli: *ref_325 + protocol: {} + - &ref_347 + schema: *ref_24 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: false + targetProperty: *ref_326 + language: + default: + name: max_session_limit + description: The max session limit of HostPool. + cli: *ref_327 + protocol: {} + - &ref_348 + schema: *ref_25 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: true + targetProperty: *ref_328 + language: + default: + name: load_balancer_type + description: The type of the load balancer. + cli: *ref_329 + protocol: {} + - &ref_349 + schema: *ref_26 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: false + targetProperty: *ref_330 + language: + default: + name: ring + description: The ring number of HostPool. + cli: *ref_331 + protocol: {} + - &ref_350 + schema: *ref_27 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: false + targetProperty: *ref_332 + language: + default: + name: validation_environment + description: Is validation environment. + cli: *ref_333 + protocol: {} + - &ref_351 + schema: *ref_111 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: false + targetProperty: *ref_334 + language: + default: + name: registration_info + description: The registration info of HostPool. + cli: *ref_335 + protocol: {} + - &ref_352 + schema: *ref_31 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: false + targetProperty: *ref_336 + language: + default: + name: vm_template + description: VM template for sessionhosts configuration within hostpool. + cli: *ref_337 + protocol: {} + - &ref_353 + schema: *ref_33 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: false + targetProperty: *ref_338 + language: + default: + name: sso_context + description: Path to keyvault containing ssoContext secret. + cli: *ref_339 + protocol: {} + signatureParameters: + - *ref_340 + - *ref_341 + - *ref_342 + - *ref_343 + - *ref_344 + - *ref_345 + - *ref_346 + - *ref_347 + - *ref_348 + - *ref_349 + - *ref_350 + - *ref_351 + - *ref_352 + - *ref_353 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' + method: put + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_354 + - *ref_355 + responses: + - schema: *ref_36 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + - schema: *ref_36 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '201' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + HostPool_Create: + parameters: + api-version: 2019-12-10-preview + hostPool: + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2020-10-01T14:01:54.9571247Z' + registrationTokenOperation: Update + ssoContext: KeyVaultPath + tags: + tag1: value1 + tag2: value2 + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: hostPool1 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2020-10-01T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + '201': + body: + name: hostPool1 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2020-10-01T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + language: + default: + name: create_or_update + description: Create or update a host pool. + cli: + name: CreateOrUpdate + description: Create or update a host pool. + cliKey: CreateOrUpdate + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_357 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_358 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + name: hostPoolName + description: The name of the host pool within the specified resource group + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_359 + schema: *ref_356 + implementation: Method + language: + default: + name: force + description: Force flag to delete sessionHost. + serializedName: force + cli: + name: force + description: Force flag to delete sessionHost. + cliKey: force + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' + method: delete + uri: '{$host}' + signatureParameters: + - *ref_357 + - *ref_358 + - *ref_359 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '204' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + HostPool_Delete: + parameters: + api-version: 2019-12-10-preview + force: true + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + name: hostPool1 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2008-09-22T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + '204': {} + language: + default: + name: delete + description: Remove a host pool. + cli: + name: Delete + description: Remove a host pool. + cliKey: Delete + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_394 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_395 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + name: hostPoolName + description: The name of the host pool within the specified resource group + cliKey: hostPoolName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_141 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content_type + description: Body Parameter content-type + serializedName: Content-Type + cli: + name: ContentType + description: Body Parameter content-type + cliKey: content-type + protocol: + http: + in: header + - &ref_360 + schema: *ref_87 + flattened: true + implementation: Method + required: false + extensions: + x-ms-client-flatten: true + language: + default: + name: _host_pool + description: Object containing HostPool definitions. + cli: + name: _host_pool + description: Object containing HostPool definitions. + cliKey: hostPool + protocol: + http: + in: body + style: json + - &ref_383 + schema: *ref_39 + implementation: Method + originalParameter: *ref_360 + pathToProperty: [] + targetProperty: *ref_361 + language: + default: + name: tags + description: tags to be updated + cli: *ref_362 + protocol: {} + - &ref_384 + schema: *ref_61 + implementation: Method + originalParameter: *ref_360 + pathToProperty: [] + targetProperty: *ref_363 + language: + default: + name: friendly_name + description: Friendly name of HostPool. + cli: *ref_364 + protocol: {} + - &ref_385 + schema: *ref_62 + implementation: Method + originalParameter: *ref_360 + pathToProperty: [] + targetProperty: *ref_365 + language: + default: + name: description + description: Description of HostPool. + cli: *ref_366 + protocol: {} + - &ref_386 + schema: *ref_63 + implementation: Method + originalParameter: *ref_360 + pathToProperty: [] + targetProperty: *ref_367 + language: + default: + name: custom_rdp_property + description: Custom rdp property of HostPool. + cli: *ref_368 + protocol: {} + - &ref_387 + schema: *ref_24 + implementation: Method + originalParameter: *ref_360 + pathToProperty: [] + targetProperty: *ref_369 + language: + default: + name: max_session_limit + description: The max session limit of HostPool. + cli: *ref_370 + protocol: {} + - &ref_388 + schema: *ref_22 + implementation: Method + originalParameter: *ref_360 + pathToProperty: [] + targetProperty: *ref_371 + language: + default: + name: personal_desktop_assignment_type + description: PersonalDesktopAssignment type for HostPool. + cli: *ref_372 + protocol: {} + - &ref_389 + schema: *ref_25 + implementation: Method + originalParameter: *ref_360 + pathToProperty: [] + targetProperty: *ref_373 + language: + default: + name: load_balancer_type + description: The type of the load balancer. + cli: *ref_374 + protocol: {} + - &ref_390 + schema: *ref_26 + implementation: Method + originalParameter: *ref_360 + pathToProperty: [] + targetProperty: *ref_375 + language: + default: + name: ring + description: The ring number of HostPool. + cli: *ref_376 + protocol: {} + - &ref_391 + schema: *ref_27 + implementation: Method + originalParameter: *ref_360 + pathToProperty: [] + targetProperty: *ref_377 + language: + default: + name: validation_environment + description: Is validation environment. + cli: *ref_378 + protocol: {} + - &ref_392 + schema: *ref_112 + implementation: Method + originalParameter: *ref_360 + pathToProperty: [] + targetProperty: *ref_379 + language: + default: + name: registration_info + description: The registration info of HostPool. + cli: *ref_380 + protocol: {} + - &ref_393 + schema: *ref_64 + implementation: Method + originalParameter: *ref_360 + pathToProperty: [] + targetProperty: *ref_381 + language: + default: + name: sso_context + description: Path to keyvault containing ssoContext secret. + cli: *ref_382 + protocol: {} + signatureParameters: + - *ref_383 + - *ref_384 + - *ref_385 + - *ref_386 + - *ref_387 + - *ref_388 + - *ref_389 + - *ref_390 + - *ref_391 + - *ref_392 + - *ref_393 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' + method: patch + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_394 + - *ref_395 + responses: + - schema: *ref_36 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + HostPool_Update: + parameters: + api-version: 2019-12-10-preview + hostPool: + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2020-10-02T14:01:54.9571247Z' + ssoContext: KeyVaultPath + tags: + tag1: value1 + tag2: value2 + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: hostPool1 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2008-09-22T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + language: + default: + name: update + description: Update a host pool. + cli: + name: Update + description: Update a host pool. + cliKey: Update + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_396 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools' + method: get + uri: '{$host}' + signatureParameters: + - *ref_396 + responses: + - schema: *ref_397 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + HostPool_ListByResourceGroup: + parameters: + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: hostPool1 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2008-09-22T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + - name: hostPool2 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool2 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2008-09-22T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: list_by_resource_group + description: List hostPools. + paging: + nextLinkName: nextLink + cli: + name: ListByResourceGroup + description: List hostPools. + cliKey: ListByResourceGroup + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/hostPools' + method: get + uri: '{$host}' + signatureParameters: [] + responses: + - schema: *ref_397 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + HostPool_List: + parameters: + api-version: 2019-12-10-preview + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: hostPool1 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2008-09-22T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + - name: hostPool2 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool2 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2008-09-22T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: list + description: List hostPools in subscription. + paging: + nextLinkName: nextLink + cli: + name: List + description: List hostPools in subscription. + cliKey: List + protocol: {} + language: + default: + name: HostPool + description: '' + cli: + name: HostPool + description: '' + cliKey: HostPools + protocol: {} + - $key: UserSessions + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_398 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_399 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + name: hostPoolName + description: The name of the host pool within the specified resource group + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_400 + schema: *ref_180 + implementation: Method + language: + default: + name: filter + description: OData filter expression. Valid properties for filtering are userprincipalname and sessionstate. + serializedName: $filter + cli: + name: filter + description: OData filter expression. Valid properties for filtering are userprincipalname and sessionstate. + cliKey: $filter + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/userSessions' + method: get + uri: '{$host}' + signatureParameters: + - *ref_398 + - *ref_399 + - *ref_400 + responses: + - schema: *ref_401 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + UserSession_ListByHostPool: + parameters: + $filter: userPrincipalName eq 'user1@microsoft.com' and state eq 'active' + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: '1' + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 + properties: + activeDirectoryUserName: WVDARM\user1 + applicationType: Desktop + createTime: '2008-09-22T14:01:54.9571247Z' + sessionState: Active + userPrincipalName: user1@microsoft.com + - name: '2' + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/2 + properties: + activeDirectoryUserName: WVDARM\user1 + applicationType: Desktop + createTime: '2008-09-22T14:01:54.9571247Z' + sessionState: Active + userPrincipalName: user1@microsoft.com + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: list_by_host_pool + description: List userSessions. + paging: + nextLinkName: nextLink + cli: + name: ListByHostPool + description: List userSessions. + cliKey: ListByHostPool + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_404 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_405 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + name: hostPoolName + description: The name of the host pool within the specified resource group + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_406 + schema: *ref_402 + implementation: Method + required: true + language: + default: + name: session_host_name + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + name: sessionHostName + description: The name of the session host within the specified host pool + cliKey: sessionHostName + protocol: + http: + in: path + - &ref_407 + schema: *ref_403 + implementation: Method + required: true + language: + default: + name: user_session_id + description: The name of the user session within the specified session host + serializedName: userSessionId + cli: + name: userSessionId + description: The name of the user session within the specified session host + cliKey: userSessionId + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_404 + - *ref_405 + - *ref_406 + - *ref_407 + responses: + - schema: *ref_88 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + UserSession_Get: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + userSessionId: '1' + responses: + '200': + body: + name: '1' + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 + properties: + activeDirectoryUserName: WVDARM\user1 + applicationType: Desktop + createTime: '2008-09-22T14:01:54.9571247Z' + sessionState: Active + userPrincipalName: user1@microsoft.com + language: + default: + name: get + description: Get a userSession. + cli: + name: Get + description: Get a userSession. + cliKey: Get + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_408 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_409 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + name: hostPoolName + description: The name of the host pool within the specified resource group + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_410 + schema: *ref_402 + implementation: Method + required: true + language: + default: + name: session_host_name + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + name: sessionHostName + description: The name of the session host within the specified host pool + cliKey: sessionHostName + protocol: + http: + in: path + - &ref_411 + schema: *ref_403 + implementation: Method + required: true + language: + default: + name: user_session_id + description: The name of the user session within the specified session host + serializedName: userSessionId + cli: + name: userSessionId + description: The name of the user session within the specified session host + cliKey: userSessionId + protocol: + http: + in: path + - &ref_412 + schema: *ref_356 + implementation: Method + language: + default: + name: force + description: Force flag to login off userSession. + serializedName: force + cli: + name: force + description: Force flag to login off userSession. + cliKey: force + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}' + method: delete + uri: '{$host}' + signatureParameters: + - *ref_408 + - *ref_409 + - *ref_410 + - *ref_411 + - *ref_412 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '204' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + UserSession_Delete: + parameters: + api-version: 2019-12-10-preview + force: true + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + userSessionId: '1' + responses: + '200': + name: '1' + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 + properties: + activeDirectoryUserName: WVDARM\user1 + applicationType: Desktop + createTime: '2008-09-22T14:01:54.9571247Z' + sessionState: Active + userPrincipalName: user1@microsoft.com + '204': {} + language: + default: + name: delete + description: Remove a userSession. + cli: + name: Delete + description: Remove a userSession. + cliKey: Delete + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_413 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_414 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + name: hostPoolName + description: The name of the host pool within the specified resource group + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_415 + schema: *ref_402 + implementation: Method + required: true + language: + default: + name: session_host_name + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + name: sessionHostName + description: The name of the session host within the specified host pool + cliKey: sessionHostName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions' + method: get + uri: '{$host}' + signatureParameters: + - *ref_413 + - *ref_414 + - *ref_415 + responses: + - schema: *ref_401 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + UserSession_List: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: '1' + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 + properties: + activeDirectoryUserName: WVDARM\user1 + applicationType: Desktop + createTime: '2008-09-22T14:01:54.9571247Z' + sessionState: Active + userPrincipalName: user1@microsoft.com + - name: '2' + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/2 + properties: + activeDirectoryUserName: WVDARM\user1 + applicationType: Desktop + createTime: '2008-09-22T14:01:54.9571247Z' + sessionState: Active + userPrincipalName: user1@microsoft.com + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: list + description: List userSessions. + paging: + nextLinkName: nextLink + cli: + name: List + description: List userSessions. + cliKey: List + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_416 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_417 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + name: hostPoolName + description: The name of the host pool within the specified resource group + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_418 + schema: *ref_402 + implementation: Method + required: true + language: + default: + name: session_host_name + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + name: sessionHostName + description: The name of the session host within the specified host pool + cliKey: sessionHostName + protocol: + http: + in: path + - &ref_419 + schema: *ref_403 + implementation: Method + required: true + language: + default: + name: user_session_id + description: The name of the user session within the specified session host + serializedName: userSessionId + cli: + name: userSessionId + description: The name of the user session within the specified session host + cliKey: userSessionId + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}/disconnect' + method: post + uri: '{$host}' + signatureParameters: + - *ref_416 + - *ref_417 + - *ref_418 + - *ref_419 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + UserSession_Disconnect_Post: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + userSessionId: '1' + responses: + '200': {} + language: + default: + name: disconnect + description: Disconnect a userSession. + cli: + name: Disconnect + description: Disconnect a userSession. + cliKey: Disconnect + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_428 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_429 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + name: hostPoolName + description: The name of the host pool within the specified resource group + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_430 + schema: *ref_402 + implementation: Method + required: true + language: + default: + name: session_host_name + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + name: sessionHostName + description: The name of the session host within the specified host pool + cliKey: sessionHostName + protocol: + http: + in: path + - &ref_431 + schema: *ref_403 + implementation: Method + required: true + language: + default: + name: user_session_id + description: The name of the user session within the specified session host + serializedName: userSessionId + cli: + name: userSessionId + description: The name of the user session within the specified session host + cliKey: userSessionId + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_141 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content_type + description: Body Parameter content-type + serializedName: Content-Type + cli: + name: ContentType + description: Body Parameter content-type + cliKey: content-type + protocol: + http: + in: header + - &ref_421 + schema: *ref_420 + flattened: true + implementation: Method + required: false + extensions: + x-ms-client-flatten: true + language: + default: + name: _send_message + description: Object containing message includes title and message body + cli: + name: _send_message + description: Object containing message includes title and message body + cliKey: sendMessage + protocol: + http: + in: body + style: json + - &ref_426 + schema: *ref_116 + implementation: Method + originalParameter: *ref_421 + pathToProperty: [] + targetProperty: *ref_422 + language: + default: + name: message_title + description: Title of message. + cli: *ref_423 + protocol: {} + - &ref_427 + schema: *ref_117 + implementation: Method + originalParameter: *ref_421 + pathToProperty: [] + targetProperty: *ref_424 + language: + default: + name: message_body + description: Body of message. + cli: *ref_425 + protocol: {} + signatureParameters: + - *ref_426 + - *ref_427 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}/sendMessage' + method: post + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_428 + - *ref_429 + - *ref_430 + - *ref_431 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + UserSession_SendMessage_Post: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sendMessage: + messageBody: body + messageTitle: title + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + userSessionId: '1' + responses: + '200': {} + language: + default: + name: send_message + description: Send a message to a user. + cli: + name: SendMessage + description: Send a message to a user. + cliKey: SendMessage + protocol: {} + language: + default: + name: UserSession + description: '' + cli: + name: UserSession + description: '' + cliKey: UserSessions + hidden: true + protocol: {} + - $key: SessionHosts + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_432 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_433 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + name: hostPoolName + description: The name of the host pool within the specified resource group + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_434 + schema: *ref_402 + implementation: Method + required: true + language: + default: + name: session_host_name + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + name: sessionHostName + description: The name of the session host within the specified host pool + cliKey: sessionHostName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_432 + - *ref_433 + - *ref_434 + responses: + - schema: *ref_89 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + SessionHost_Get: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: sessionHost1.microsoft.com + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com + properties: + agentVersion: 1.0.0.1391 + allowNewSession: true + assignedUser: user1@microsoft.com + lastHeartBeat: '2008-09-22T14:01:54.9571247Z' + lastUpdateTime: '2008-09-22T14:01:54.9571247Z' + osVersion: 10.0.17763 + sessions: 1 + status: Available + statusTimestamp: '2008-09-22T14:01:54.9571247Z' + sxSStackVersion: rdp-sxs190816002 + updateErrorMessage: '' + updateState: Succeeded + language: + default: + name: get + description: Get a session host. + cli: + name: Get + description: Get a session host. + cliKey: Get + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_435 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_436 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + name: hostPoolName + description: The name of the host pool within the specified resource group + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_437 + schema: *ref_402 + implementation: Method + required: true + language: + default: + name: session_host_name + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + name: sessionHostName + description: The name of the session host within the specified host pool + cliKey: sessionHostName + protocol: + http: + in: path + - &ref_438 + schema: *ref_356 + implementation: Method + language: + default: + name: force + description: Force flag to force sessionHost deletion even when userSession exists. + serializedName: force + cli: + name: force + description: Force flag to force sessionHost deletion even when userSession exists. + cliKey: force + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}' + method: delete + uri: '{$host}' + signatureParameters: + - *ref_435 + - *ref_436 + - *ref_437 + - *ref_438 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '204' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + SessionHost_Delete: + parameters: + api-version: 2019-12-10-preview + force: true + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + name: sessionHost1.microsoft.com + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com + properties: + agentVersion: 1.0.0.1391 + allowNewSession: true + assignedUser: user1@microsoft.com + lastHeartBeat: '2008-09-22T14:01:54.9571247Z' + lastUpdateTime: '2008-09-22T14:01:54.9571247Z' + osVersion: 10.0.17763 + sessions: 1 + status: Available + statusTimestamp: '2008-09-22T14:01:54.9571247Z' + sxSStackVersion: rdp-sxs190816002 + updateErrorMessage: '' + updateState: Succeeded + '204': {} + language: + default: + name: delete + description: Remove a SessionHost. + cli: + name: Delete + description: Remove a SessionHost. + cliKey: Delete + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_446 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_447 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + name: hostPoolName + description: The name of the host pool within the specified resource group + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_448 + schema: *ref_402 + implementation: Method + required: true + language: + default: + name: session_host_name + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + name: sessionHostName + description: The name of the session host within the specified host pool + cliKey: sessionHostName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_141 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content_type + description: Body Parameter content-type + serializedName: Content-Type + cli: + name: ContentType + description: Body Parameter content-type + cliKey: content-type + protocol: + http: + in: header + - &ref_439 + schema: *ref_90 + flattened: true + implementation: Method + required: false + extensions: + x-ms-client-flatten: true + language: + default: + name: _session_host + description: Object containing SessionHost definitions. + cli: + name: _session_host + description: Object containing SessionHost definitions. + cliKey: sessionHost + protocol: + http: + in: body + style: json + - &ref_444 + schema: *ref_73 + implementation: Method + originalParameter: *ref_439 + pathToProperty: [] + targetProperty: *ref_440 + language: + default: + name: allow_new_session + description: Allow a new session. + cli: *ref_441 + protocol: {} + - &ref_445 + schema: *ref_82 + implementation: Method + originalParameter: *ref_439 + pathToProperty: [] + targetProperty: *ref_442 + language: + default: + name: assigned_user + description: User assigned to SessionHost. + cli: *ref_443 + protocol: {} + signatureParameters: + - *ref_444 + - *ref_445 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}' + method: patch + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_446 + - *ref_447 + - *ref_448 + responses: + - schema: *ref_89 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + SessionHost_Update: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHost: + properties: + allowNewSession: true + assignedUser: user1@microsoft.com + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: sessionHost1.microsoft.com + type: Microsoft.DesktopVirtualization/hostPools/sessionhosts + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com + properties: + agentVersion: 1.0.0.1391 + allowNewSession: true + assignedUser: user1@microsoft.com + lastHeartBeat: '2019-01-11T19:27:13.6108027Z' + lastUpdateTime: '2008-09-22T14:01:54.9571247Z' + osVersion: 10.0.17763 + sessions: 1 + status: Available + statusTimestamp: '2019-01-24T20:00:08.2893033Z' + sxSStackVersion: rdp-sxs190816002 + updateErrorMessage: '' + updateState: Succeeded + language: + default: + name: update + description: Update a session host. + cli: + name: Update + description: Update a session host. + cliKey: Update + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_449 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_450 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + name: hostPoolName + description: The name of the host pool within the specified resource group + cliKey: hostPoolName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts' + method: get + uri: '{$host}' + signatureParameters: + - *ref_449 + - *ref_450 + responses: + - schema: *ref_451 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + SessionHost_List: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: sessionHost1.microsoft.com + type: Microsoft.DesktopVirtualization/hostPools/sessionhosts + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com + properties: + agentVersion: 1.0.0.1391 + allowNewSession: true + assignedUser: user1@microsoft.com + lastHeartBeat: '2008-09-22T14:01:54.9571247Z' + lastUpdateTime: '2008-09-22T14:01:54.9571247Z' + osVersion: 10.0.17763 + sessions: 1 + status: Available + statusTimestamp: '2008-09-22T14:01:54.9571247Z' + sxSStackVersion: rdp-sxs190816002 + updateErrorMessage: '' + updateState: Succeeded + - name: sessionHost2.microsoft.com + type: Microsoft.DesktopVirtualization/hostPools/sessionhosts + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost2microsoft.com + properties: + agentVersion: 1.0.0.1391 + allowNewSession: true + assignedUser: user2@microsoft.com + lastHeartBeat: '2008-09-22T14:01:54.9571247Z' + lastUpdateTime: '2008-09-22T14:01:54.9571247Z' + osVersion: 10.0.17763 + sessions: 1 + status: Available + statusTimestamp: '2008-09-22T14:01:54.9571247Z' + sxSStackVersion: rdp-sxs190816002 + updateErrorMessage: '' + updateState: Succeeded + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: list + description: List sessionHosts. + paging: + nextLinkName: nextLink + cli: + name: List + description: List sessionHosts. + cliKey: List + protocol: {} + language: + default: + name: SessionHost + description: '' + cli: + name: SessionHost + description: '' + cliKey: SessionHosts + hidden: true + protocol: {} + - $key: ActiveApplications + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_452 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_453 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + name: hostPoolName + description: The name of the host pool within the specified resource group + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_454 + schema: *ref_402 + implementation: Method + required: true + language: + default: + name: session_host_name + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + name: sessionHostName + description: The name of the session host within the specified host pool + cliKey: sessionHostName + protocol: + http: + in: path + - &ref_455 + schema: *ref_180 + implementation: Method + language: + default: + name: filter + description: OData filter expression. Valid properties for filtering are userprincipalname and sessionstate. + serializedName: $filter + cli: + name: filter + description: OData filter expression. Valid properties for filtering are userprincipalname and sessionstate. + cliKey: $filter + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/activeApplications' + method: get + uri: '{$host}' + signatureParameters: + - *ref_452 + - *ref_453 + - *ref_454 + - *ref_455 + responses: + - schema: *ref_292 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ActiveApplications_List: + parameters: + $filter: userPrincipalName eq 'user1@microsoft.com' + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: applicationGroup1/application1 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + - name: applicationGroup1/application2 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application2 + properties: + description: des2 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: list_by_session_host + description: List applications for the given session host. + paging: + nextLinkName: nextLink + cli: + name: ListBySessionHost + description: List applications for the given session host. + cliKey: ListBySessionHost + protocol: {} + language: + default: + name: ActiveApplication + description: '' + cli: + name: ActiveApplication + description: '' + cliKey: ActiveApplications + hidden: true + protocol: {} +language: + default: + name: DesktopVirtualizationAPIClient + description: '' + cli: + name: DesktopVirtualizationAPIClient + description: '' +protocol: + http: {} diff --git a/src/desktopvirtualization/_az_debug/clicommon-000120-complex-marker-pre-simplified.yaml b/src/desktopvirtualization/_az_debug/clicommon-000120-complex-marker-pre-simplified.yaml new file mode 100644 index 00000000000..893109e1471 --- /dev/null +++ b/src/desktopvirtualization/_az_debug/clicommon-000120-complex-marker-pre-simplified.yaml @@ -0,0 +1,2383 @@ +operationGroups: + all: + - operationGroupName: Operation + cli: + cliKey: Operations + operations: + - operationName: list + cli: + name: List + cliKey: List + hidden: true + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - operationGroupName: Workspace + cli: + cliKey: Workspaces + operations: + - operationName: get + cli: + name: Get + cliKey: Get + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: workspace_name(String^string) + cli: + name: workspaceName + cliKey: workspaceName + - operationName: create_or_update + cli: + name: CreateOrUpdate + cliKey: CreateOrUpdate + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: workspace_name(String^string) + cli: + name: workspaceName + cliKey: workspaceName + - parameterName[0]: content_type(application_json^constant) + cli: + name: ContentType + cliKey: content-type + - parameterName[0]: _workspace(Workspace^object) + cli: + cliKey: workspace + x-ms-client-flatten: true + bodySchema: Workspace + - parameterName[0]: tags(TrackedResourceTags^dictionary) + cli: + cliKey: tags + - parameterName[0]: location(TrackedResourceLocation^string) + cli: + cliKey: location + - parameterName[0]: description(WorkspacePropertiesDescription^string) + cli: + cliKey: description + - parameterName[0]: friendly_name(WorkspacePropertiesFriendlyName^string) + cli: + name: friendlyName + cliKey: friendlyName + - parameterName[0]: application_group_references(WorkspacePropertiesApplicationGroupReferences^array) + cli: + name: applicationGroupReferences + cliKey: applicationGroupReferences + - operationName: delete + cli: + name: Delete + cliKey: Delete + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: workspace_name(String^string) + cli: + name: workspaceName + cliKey: workspaceName + - operationName: update + cli: + name: Update + cliKey: Update + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: workspace_name(String^string) + cli: + name: workspaceName + cliKey: workspaceName + - parameterName[0]: content_type(application_json^constant) + cli: + name: ContentType + cliKey: content-type + - parameterName[0]: _workspace(WorkspacePatch^object) + cli: + cliKey: workspace + x-ms-client-flatten: true + bodySchema: WorkspacePatch + - parameterName[0]: tags(any^any) + cli: + cliKey: tags + - parameterName[0]: description(WorkspacePatchPropertiesDescription^string) + cli: + cliKey: description + - parameterName[0]: friendly_name(WorkspacePatchPropertiesFriendlyName^string) + cli: + name: friendlyName + cliKey: friendlyName + - parameterName[0]: application_group_references(WorkspacePatchPropertiesApplicationGroupReferences^array) + cli: + name: applicationGroupReferences + cliKey: applicationGroupReferences + - operationName: list_by_resource_group + cli: + name: ListByResourceGroup + cliKey: ListByResourceGroup + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - operationName: list_by_subscription + cli: + name: ListBySubscription + cliKey: ListBySubscription + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - operationGroupName: ApplicationGroupAssignment + cli: + cliKey: ApplicationGroupAssignments + hidden: true + operations: + - operationName: workspace_level_list + cli: + name: WorkspaceLevelList + cliKey: WorkspaceLevelList + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: workspace_name(String^string) + cli: + name: workspaceName + cliKey: workspaceName + - parameterName: filter(String^string) + cli: + cliKey: $filter + - operationGroupName: ApplicationGroup + cli: + cliKey: ApplicationGroups + operations: + - operationName: get + cli: + name: Get + cliKey: Get + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: application_group_name(String^string) + cli: + name: applicationGroupName + cliKey: applicationGroupName + - operationName: create_or_update + cli: + name: CreateOrUpdate + cliKey: CreateOrUpdate + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: application_group_name(String^string) + cli: + name: applicationGroupName + cliKey: applicationGroupName + - parameterName[0]: content_type(application_json^constant) + cli: + name: ContentType + cliKey: content-type + - parameterName[0]: _application_group(ApplicationGroup^object) + cli: + cliKey: applicationGroup + x-ms-client-flatten: true + bodySchema: ApplicationGroup + - parameterName[0]: tags(TrackedResourceTags^dictionary) + cli: + cliKey: tags + - parameterName[0]: location(TrackedResourceLocation^string) + cli: + cliKey: location + - parameterName[0]: description(ApplicationGroupPropertiesDescription^string) + cli: + cliKey: description + - parameterName[0]: friendly_name(ApplicationGroupPropertiesFriendlyName^string) + cli: + name: friendlyName + cliKey: friendlyName + - parameterName[0]: host_pool_arm_path(ApplicationGroupPropertiesHostPoolArmPath^string) + cli: + name: hostPoolArmPath + cliKey: hostPoolArmPath + - parameterName[0]: application_group_type(ApplicationGroupType^choice) + cli: + name: applicationGroupType + cliKey: applicationGroupType + - operationName: delete + cli: + name: Delete + cliKey: Delete + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: application_group_name(String^string) + cli: + name: applicationGroupName + cliKey: applicationGroupName + - operationName: update + cli: + name: Update + cliKey: Update + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: application_group_name(String^string) + cli: + name: applicationGroupName + cliKey: applicationGroupName + - parameterName[0]: content_type(application_json^constant) + cli: + name: ContentType + cliKey: content-type + - parameterName[0]: _application_group(ApplicationGroupPatch^object) + cli: + cliKey: applicationGroup + x-ms-client-flatten: true + bodySchema: ApplicationGroupPatch + - parameterName[0]: tags(any^any) + cli: + cliKey: tags + - parameterName[0]: description(ApplicationGroupPatchPropertiesDescription^string) + cli: + cliKey: description + - parameterName[0]: friendly_name(ApplicationGroupPatchPropertiesFriendlyName^string) + cli: + name: friendlyName + cliKey: friendlyName + - operationName: list_by_resource_group + cli: + name: ListByResourceGroup + cliKey: ListByResourceGroup + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: filter(String^string) + cli: + cliKey: $filter + - operationName: list_by_subscription + cli: + name: ListBySubscription + cliKey: ListBySubscription + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: filter(String^string) + cli: + cliKey: $filter + - operationGroupName: StartMenuItem + cli: + cliKey: StartMenuItems + hidden: true + operations: + - operationName: list + cli: + name: List + cliKey: List + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: application_group_name(String^string) + cli: + name: applicationGroupName + cliKey: applicationGroupName + - operationGroupName: Application + cli: + cliKey: Applications + hidden: true + operations: + - operationName: get + cli: + name: Get + cliKey: Get + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: application_group_name(String^string) + cli: + name: applicationGroupName + cliKey: applicationGroupName + - parameterName: application_name(String^string) + cli: + name: applicationName + cliKey: applicationName + - operationName: create_or_update + cli: + name: CreateOrUpdate + cliKey: CreateOrUpdate + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: application_group_name(String^string) + cli: + name: applicationGroupName + cliKey: applicationGroupName + - parameterName: application_name(String^string) + cli: + name: applicationName + cliKey: applicationName + - parameterName[0]: content_type(application_json^constant) + cli: + name: ContentType + cliKey: content-type + - parameterName[0]: _application(Application^object) + cli: + cliKey: application + x-ms-client-flatten: true + bodySchema: Application + - parameterName[0]: description(ApplicationPropertiesDescription^string) + cli: + cliKey: description + - parameterName[0]: friendly_name(ApplicationPropertiesFriendlyName^string) + cli: + name: friendlyName + cliKey: friendlyName + - parameterName[0]: file_path(ApplicationPropertiesFilePath^string) + cli: + name: filePath + cliKey: filePath + - parameterName[0]: command_line_setting(CommandLineSetting^choice) + cli: + name: commandLineSetting + cliKey: commandLineSetting + - parameterName[0]: command_line_arguments(ApplicationPropertiesCommandLineArguments^string) + cli: + name: commandLineArguments + cliKey: commandLineArguments + - parameterName[0]: show_in_portal(boolean^boolean) + cli: + name: showInPortal + cliKey: showInPortal + - parameterName[0]: icon_path(ApplicationPropertiesIconPath^string) + cli: + name: iconPath + cliKey: iconPath + - parameterName[0]: icon_index(Integer^integer) + cli: + name: iconIndex + cliKey: iconIndex + - operationName: delete + cli: + name: Delete + cliKey: Delete + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: application_group_name(String^string) + cli: + name: applicationGroupName + cliKey: applicationGroupName + - parameterName: application_name(String^string) + cli: + name: applicationName + cliKey: applicationName + - operationName: update + cli: + name: Update + cliKey: Update + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: application_group_name(String^string) + cli: + name: applicationGroupName + cliKey: applicationGroupName + - parameterName: application_name(String^string) + cli: + name: applicationName + cliKey: applicationName + - parameterName[0]: content_type(application_json^constant) + cli: + name: ContentType + cliKey: content-type + - parameterName[0]: _application(ApplicationPatch^object) + cli: + cliKey: application + x-ms-client-flatten: true + bodySchema: ApplicationPatch + - parameterName[0]: tags(any^any) + cli: + cliKey: tags + - parameterName[0]: description(ApplicationPatchPropertiesDescription^string) + cli: + cliKey: description + - parameterName[0]: friendly_name(ApplicationPatchPropertiesFriendlyName^string) + cli: + name: friendlyName + cliKey: friendlyName + - parameterName[0]: file_path(ApplicationPatchPropertiesFilePath^string) + cli: + name: filePath + cliKey: filePath + - parameterName[0]: command_line_setting(CommandLineSetting^choice) + cli: + name: commandLineSetting + cliKey: commandLineSetting + - parameterName[0]: command_line_arguments(ApplicationPatchPropertiesCommandLineArguments^string) + cli: + name: commandLineArguments + cliKey: commandLineArguments + - parameterName[0]: show_in_portal(boolean^boolean) + cli: + name: showInPortal + cliKey: showInPortal + - parameterName[0]: icon_path(ApplicationPatchPropertiesIconPath^string) + cli: + name: iconPath + cliKey: iconPath + - parameterName[0]: icon_index(Integer^integer) + cli: + name: iconIndex + cliKey: iconIndex + - operationName: list + cli: + name: List + cliKey: List + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: application_group_name(String^string) + cli: + name: applicationGroupName + cliKey: applicationGroupName + - operationGroupName: Desktop + cli: + cliKey: Desktops + hidden: true + operations: + - operationName: get + cli: + name: Get + cliKey: Get + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: application_group_name(String^string) + cli: + name: applicationGroupName + cliKey: applicationGroupName + - parameterName: desktop_name(String^string) + cli: + name: desktopName + cliKey: desktopName + - operationName: update + cli: + name: Update + cliKey: Update + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: application_group_name(String^string) + cli: + name: applicationGroupName + cliKey: applicationGroupName + - parameterName: desktop_name(String^string) + cli: + name: desktopName + cliKey: desktopName + - parameterName[0]: content_type(application_json^constant) + cli: + name: ContentType + cliKey: content-type + - parameterName[0]: _desktop(DesktopPatch^object) + cli: + cliKey: desktop + x-ms-client-flatten: true + bodySchema: DesktopPatch + - parameterName[0]: tags(any^any) + cli: + cliKey: tags + - parameterName[0]: description(DesktopPatchPropertiesDescription^string) + cli: + cliKey: description + - parameterName[0]: friendly_name(DesktopPatchPropertiesFriendlyName^string) + cli: + name: friendlyName + cliKey: friendlyName + - operationName: list + cli: + name: List + cliKey: List + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: application_group_name(String^string) + cli: + name: applicationGroupName + cliKey: applicationGroupName + - operationGroupName: HostPool + cli: + cliKey: HostPools + operations: + - operationName: get + cli: + name: Get + cliKey: Get + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: host_pool_name(String^string) + cli: + name: hostPoolName + cliKey: hostPoolName + - operationName: create_or_update + cli: + name: CreateOrUpdate + cliKey: CreateOrUpdate + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: host_pool_name(String^string) + cli: + name: hostPoolName + cliKey: hostPoolName + - parameterName[0]: content_type(application_json^constant) + cli: + name: ContentType + cliKey: content-type + - parameterName[0]: _host_pool(HostPool^object) + cli: + cliKey: hostPool + x-ms-client-flatten: true + bodySchema: HostPool + - parameterName[0]: tags(TrackedResourceTags^dictionary) + cli: + cliKey: tags + - parameterName[0]: location(TrackedResourceLocation^string) + cli: + cliKey: location + - parameterName[0]: friendly_name(HostPoolPropertiesFriendlyName^string) + cli: + name: friendlyName + cliKey: friendlyName + - parameterName[0]: description(HostPoolPropertiesDescription^string) + cli: + cliKey: description + - parameterName[0]: host_pool_type(HostPoolType^choice) + cli: + name: hostPoolType + cliKey: hostPoolType + - parameterName[0]: personal_desktop_assignment_type(PersonalDesktopAssignmentType^choice) + cli: + name: personalDesktopAssignmentType + cliKey: personalDesktopAssignmentType + - parameterName[0]: custom_rdp_property(HostPoolPropertiesCustomRdpProperty^string) + cli: + name: customRdpProperty + cliKey: customRdpProperty + - parameterName[0]: max_session_limit(Integer^integer) + cli: + name: maxSessionLimit + cliKey: maxSessionLimit + - parameterName[0]: load_balancer_type(LoadBalancerType^choice) + cli: + name: loadBalancerType + cliKey: loadBalancerType + - parameterName[0]: ring(Integer^integer) + cli: + cliKey: ring + - parameterName[0]: validation_environment(boolean^boolean) + cli: + name: validationEnvironment + cliKey: validationEnvironment + - parameterName[0]: registration_info(RegistrationInfo^object) + cli: + name: registrationInfo + cliKey: registrationInfo + - parameterName[0]: vm_template(HostPoolPropertiesVmTemplate^string) + cli: + name: vmTemplate + cliKey: vmTemplate + - parameterName[0]: sso_context(HostPoolPropertiesSsoContext^string) + cli: + name: ssoContext + cliKey: ssoContext + - operationName: delete + cli: + name: Delete + cliKey: Delete + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: host_pool_name(String^string) + cli: + name: hostPoolName + cliKey: hostPoolName + - parameterName: force(boolean^boolean) + cli: + cliKey: force + - operationName: update + cli: + name: Update + cliKey: Update + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: host_pool_name(String^string) + cli: + name: hostPoolName + cliKey: hostPoolName + - parameterName[0]: content_type(application_json^constant) + cli: + name: ContentType + cliKey: content-type + - parameterName[0]: _host_pool(HostPoolPatch^object) + cli: + cliKey: hostPool + x-ms-client-flatten: true + bodySchema: HostPoolPatch + - parameterName[0]: tags(any^any) + cli: + cliKey: tags + - parameterName[0]: friendly_name(HostPoolPatchPropertiesFriendlyName^string) + cli: + name: friendlyName + cliKey: friendlyName + - parameterName[0]: description(HostPoolPatchPropertiesDescription^string) + cli: + cliKey: description + - parameterName[0]: custom_rdp_property(HostPoolPatchPropertiesCustomRdpProperty^string) + cli: + name: customRdpProperty + cliKey: customRdpProperty + - parameterName[0]: max_session_limit(Integer^integer) + cli: + name: maxSessionLimit + cliKey: maxSessionLimit + - parameterName[0]: personal_desktop_assignment_type(PersonalDesktopAssignmentType^choice) + cli: + name: personalDesktopAssignmentType + cliKey: personalDesktopAssignmentType + - parameterName[0]: load_balancer_type(LoadBalancerType^choice) + cli: + name: loadBalancerType + cliKey: loadBalancerType + - parameterName[0]: ring(Integer^integer) + cli: + cliKey: ring + - parameterName[0]: validation_environment(boolean^boolean) + cli: + name: validationEnvironment + cliKey: validationEnvironment + - parameterName[0]: registration_info(RegistrationInfoPatch^object) + cli: + name: registrationInfo + cliKey: registrationInfo + - parameterName[0]: sso_context(HostPoolPatchPropertiesSsoContext^string) + cli: + name: ssoContext + cliKey: ssoContext + - operationName: list_by_resource_group + cli: + name: ListByResourceGroup + cliKey: ListByResourceGroup + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - operationName: list + cli: + name: List + cliKey: List + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - operationGroupName: UserSession + cli: + cliKey: UserSessions + hidden: true + operations: + - operationName: list_by_host_pool + cli: + name: ListByHostPool + cliKey: ListByHostPool + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: host_pool_name(String^string) + cli: + name: hostPoolName + cliKey: hostPoolName + - parameterName: filter(String^string) + cli: + cliKey: $filter + - operationName: get + cli: + name: Get + cliKey: Get + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: host_pool_name(String^string) + cli: + name: hostPoolName + cliKey: hostPoolName + - parameterName: session_host_name(String^string) + cli: + name: sessionHostName + cliKey: sessionHostName + - parameterName: user_session_id(String^string) + cli: + name: userSessionId + cliKey: userSessionId + - operationName: delete + cli: + name: Delete + cliKey: Delete + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: host_pool_name(String^string) + cli: + name: hostPoolName + cliKey: hostPoolName + - parameterName: session_host_name(String^string) + cli: + name: sessionHostName + cliKey: sessionHostName + - parameterName: user_session_id(String^string) + cli: + name: userSessionId + cliKey: userSessionId + - parameterName: force(boolean^boolean) + cli: + cliKey: force + - operationName: list + cli: + name: List + cliKey: List + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: host_pool_name(String^string) + cli: + name: hostPoolName + cliKey: hostPoolName + - parameterName: session_host_name(String^string) + cli: + name: sessionHostName + cliKey: sessionHostName + - operationName: disconnect + cli: + name: Disconnect + cliKey: Disconnect + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: host_pool_name(String^string) + cli: + name: hostPoolName + cliKey: hostPoolName + - parameterName: session_host_name(String^string) + cli: + name: sessionHostName + cliKey: sessionHostName + - parameterName: user_session_id(String^string) + cli: + name: userSessionId + cliKey: userSessionId + - operationName: send_message + cli: + name: SendMessage + cliKey: SendMessage + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: host_pool_name(String^string) + cli: + name: hostPoolName + cliKey: hostPoolName + - parameterName: session_host_name(String^string) + cli: + name: sessionHostName + cliKey: sessionHostName + - parameterName: user_session_id(String^string) + cli: + name: userSessionId + cliKey: userSessionId + - parameterName[0]: content_type(application_json^constant) + cli: + name: ContentType + cliKey: content-type + - parameterName[0]: _send_message(SendMessage^object) + cli: + cliKey: sendMessage + x-ms-client-flatten: true + bodySchema: SendMessage + - parameterName[0]: message_title(SendMessageTitle^string) + cli: + name: messageTitle + cliKey: messageTitle + - parameterName[0]: message_body(SendMessageBody^string) + cli: + name: messageBody + cliKey: messageBody + - operationGroupName: SessionHost + cli: + cliKey: SessionHosts + hidden: true + operations: + - operationName: get + cli: + name: Get + cliKey: Get + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: host_pool_name(String^string) + cli: + name: hostPoolName + cliKey: hostPoolName + - parameterName: session_host_name(String^string) + cli: + name: sessionHostName + cliKey: sessionHostName + - operationName: delete + cli: + name: Delete + cliKey: Delete + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: host_pool_name(String^string) + cli: + name: hostPoolName + cliKey: hostPoolName + - parameterName: session_host_name(String^string) + cli: + name: sessionHostName + cliKey: sessionHostName + - parameterName: force(boolean^boolean) + cli: + cliKey: force + - operationName: update + cli: + name: Update + cliKey: Update + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: host_pool_name(String^string) + cli: + name: hostPoolName + cliKey: hostPoolName + - parameterName: session_host_name(String^string) + cli: + name: sessionHostName + cliKey: sessionHostName + - parameterName[0]: content_type(application_json^constant) + cli: + name: ContentType + cliKey: content-type + - parameterName[0]: _session_host(SessionHostPatch^object) + cli: + cliKey: sessionHost + x-ms-client-flatten: true + bodySchema: SessionHostPatch + - parameterName[0]: allow_new_session(boolean^boolean) + cli: + name: allowNewSession + cliKey: allowNewSession + - parameterName[0]: assigned_user(SessionHostPatchPropertiesAssignedUser^string) + cli: + name: assignedUser + cliKey: assignedUser + - operationName: list + cli: + name: List + cliKey: List + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: host_pool_name(String^string) + cli: + name: hostPoolName + cliKey: hostPoolName + - operationGroupName: ActiveApplication + cli: + cliKey: ActiveApplications + hidden: true + operations: + - operationName: list_by_session_host + cli: + name: ListBySessionHost + cliKey: ListBySessionHost + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: host_pool_name(String^string) + cli: + name: hostPoolName + cliKey: hostPoolName + - parameterName: session_host_name(String^string) + cli: + name: sessionHostName + cliKey: sessionHostName + - parameterName: filter(String^string) + cli: + cliKey: $filter +schemas: + objects: + all: + - schemaName: ResourceProviderOperationList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ResourceProviderOperationList + properties: + - propertyName: value(ResourceProviderOperationListValue^array) + cli: + cliKey: value + - schemaName: ResourceProviderOperation + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 5 + propertyCountIfSimplifyWithoutSimpleObject: 2 + simplifiable: true + cliKey: ResourceProviderOperation + properties: + - propertyName: name(ResourceProviderOperationName^string) + cli: + cliKey: name + - propertyName: display(ResourceProviderOperationDisplay^object) + cli: + cliKey: display + - schemaName: ResourceProviderOperationDisplay + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 4 + propertyCountIfSimplifyWithoutSimpleObject: 4 + simplifiable: true + cliKey: ResourceProviderOperation-display + properties: + - propertyName: provider(ResourceProviderOperationDisplayProvider^string) + cli: + cliKey: provider + - propertyName: resource(ResourceProviderOperationDisplayResource^string) + cli: + cliKey: resource + - propertyName: operation(ResourceProviderOperationDisplayOperation^string) + cli: + cliKey: operation + - propertyName: description(ResourceProviderOperationDisplayDescription^string) + cli: + cliKey: description + - schemaName: Resource + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 0 + propertyCountIfSimplifyWithoutSimpleObject: 0 + simplifiable: true + cliKey: Resource + properties: + - propertyName: id(ResourceId^string) + cli: + cliKey: id + readOnly: true + - propertyName: name(ResourceName^string) + cli: + cliKey: name + readOnly: true + - propertyName: type(ResourceType^string) + cli: + cliKey: type + readOnly: true + - schemaName: TrackedResource + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: TrackedResource + properties: + - propertyName: tags(TrackedResourceTags^dictionary) + cli: + cliKey: tags + - propertyName: location(TrackedResourceLocation^string) + cli: + cliKey: location + - schemaName: Workspace + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: Workspace + properties: + - propertyName: description(WorkspacePropertiesDescription^string) + cli: + cliKey: description + - propertyName: friendly_name(WorkspacePropertiesFriendlyName^string) + cli: + name: friendlyName + cliKey: friendlyName + - propertyName: application_group_references(WorkspacePropertiesApplicationGroupReferences^array) + cli: + name: applicationGroupReferences + cliKey: applicationGroupReferences + - schemaName: CloudError + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 2 + simplifiable: true + cliKey: CloudError + properties: + - propertyName: code(CloudErrorCode^string) + cli: + cliKey: code + - propertyName: message(CloudErrorMessage^string) + cli: + cliKey: message + - schemaName: WorkspacePatch + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: WorkspacePatch + properties: + - propertyName: tags(any^any) + cli: + cliKey: tags + - propertyName: description(WorkspacePatchPropertiesDescription^string) + cli: + cliKey: description + - propertyName: friendly_name(WorkspacePatchPropertiesFriendlyName^string) + cli: + name: friendlyName + cliKey: friendlyName + - propertyName: application_group_references(WorkspacePatchPropertiesApplicationGroupReferences^array) + cli: + name: applicationGroupReferences + cliKey: applicationGroupReferences + - schemaName: WorkspaceList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: WorkspaceList + properties: + - propertyName: value(WorkspaceListValue^array) + cli: + cliKey: value + - propertyName: next_link(WorkspaceListNextLink^string) + cli: + name: nextLink + cliKey: nextLink + readOnly: true + - schemaName: ApplicationGroupList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ApplicationGroupList + properties: + - propertyName: value(ApplicationGroupListValue^array) + cli: + cliKey: value + - propertyName: next_link(ApplicationGroupListNextLink^string) + cli: + name: nextLink + cliKey: nextLink + readOnly: true + - schemaName: ApplicationGroup + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ApplicationGroup + properties: + - propertyName: description(ApplicationGroupPropertiesDescription^string) + cli: + cliKey: description + - propertyName: friendly_name(ApplicationGroupPropertiesFriendlyName^string) + cli: + name: friendlyName + cliKey: friendlyName + - propertyName: host_pool_arm_path(ApplicationGroupPropertiesHostPoolArmPath^string) + cli: + name: hostPoolArmPath + cliKey: hostPoolArmPath + - propertyName: workspace_arm_path(ApplicationGroupPropertiesWorkspaceArmPath^string) + cli: + name: workspaceArmPath + cliKey: workspaceArmPath + readOnly: true + - propertyName: application_group_type(ApplicationGroupType^choice) + cli: + name: applicationGroupType + cliKey: applicationGroupType + - schemaName: ApplicationGroupPatch + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ApplicationGroupPatch + properties: + - propertyName: tags(any^any) + cli: + cliKey: tags + - propertyName: description(ApplicationGroupPatchPropertiesDescription^string) + cli: + cliKey: description + - propertyName: friendly_name(ApplicationGroupPatchPropertiesFriendlyName^string) + cli: + name: friendlyName + cliKey: friendlyName + - schemaName: StartMenuItemList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: StartMenuItemList + properties: + - propertyName: value(StartMenuItemListValue^array) + cli: + cliKey: value + - propertyName: next_link(StartMenuItemListNextLink^string) + cli: + name: nextLink + cliKey: nextLink + readOnly: true + - schemaName: StartMenuItem + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 6 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: StartMenuItem + properties: + - propertyName: app_alias(StartMenuItemPropertiesAppAlias^string) + cli: + name: appAlias + cliKey: appAlias + - propertyName: friendly_name(StartMenuItemPropertiesFriendlyName^string) + cli: + name: friendlyName + cliKey: friendlyName + - propertyName: file_path(StartMenuItemPropertiesFilePath^string) + cli: + name: filePath + cliKey: filePath + - propertyName: command_line_arguments(StartMenuItemPropertiesCommandLineArguments^string) + cli: + name: commandLineArguments + cliKey: commandLineArguments + - propertyName: icon_path(StartMenuItemPropertiesIconPath^string) + cli: + name: iconPath + cliKey: iconPath + - propertyName: icon_index(Integer^integer) + cli: + name: iconIndex + cliKey: iconIndex + - schemaName: Application + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 8 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: Application + properties: + - propertyName: description(ApplicationPropertiesDescription^string) + cli: + cliKey: description + - propertyName: friendly_name(ApplicationPropertiesFriendlyName^string) + cli: + name: friendlyName + cliKey: friendlyName + - propertyName: file_path(ApplicationPropertiesFilePath^string) + cli: + name: filePath + cliKey: filePath + - propertyName: command_line_setting(CommandLineSetting^choice) + cli: + name: commandLineSetting + cliKey: commandLineSetting + - propertyName: command_line_arguments(ApplicationPropertiesCommandLineArguments^string) + cli: + name: commandLineArguments + cliKey: commandLineArguments + - propertyName: show_in_portal(boolean^boolean) + cli: + name: showInPortal + cliKey: showInPortal + - propertyName: icon_path(ApplicationPropertiesIconPath^string) + cli: + name: iconPath + cliKey: iconPath + - propertyName: icon_index(Integer^integer) + cli: + name: iconIndex + cliKey: iconIndex + - propertyName: icon_hash(ApplicationPropertiesIconHash^string) + cli: + name: iconHash + cliKey: iconHash + readOnly: true + - propertyName: icon_content(application_properties_icon_content^byte-array) + cli: + name: iconContent + cliKey: iconContent + readOnly: true + - schemaName: ApplicationPatch + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ApplicationPatch + properties: + - propertyName: tags(any^any) + cli: + cliKey: tags + - propertyName: description(ApplicationPatchPropertiesDescription^string) + cli: + cliKey: description + - propertyName: friendly_name(ApplicationPatchPropertiesFriendlyName^string) + cli: + name: friendlyName + cliKey: friendlyName + - propertyName: file_path(ApplicationPatchPropertiesFilePath^string) + cli: + name: filePath + cliKey: filePath + - propertyName: command_line_setting(CommandLineSetting^choice) + cli: + name: commandLineSetting + cliKey: commandLineSetting + - propertyName: command_line_arguments(ApplicationPatchPropertiesCommandLineArguments^string) + cli: + name: commandLineArguments + cliKey: commandLineArguments + - propertyName: show_in_portal(boolean^boolean) + cli: + name: showInPortal + cliKey: showInPortal + - propertyName: icon_path(ApplicationPatchPropertiesIconPath^string) + cli: + name: iconPath + cliKey: iconPath + - propertyName: icon_index(Integer^integer) + cli: + name: iconIndex + cliKey: iconIndex + - schemaName: ApplicationList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ApplicationList + properties: + - propertyName: value(ApplicationListValue^array) + cli: + cliKey: value + - propertyName: next_link(ApplicationListNextLink^string) + cli: + name: nextLink + cliKey: nextLink + readOnly: true + - schemaName: Desktop + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: Desktop + properties: + - propertyName: description(DesktopPropertiesDescription^string) + cli: + cliKey: description + - propertyName: friendly_name(DesktopPropertiesFriendlyName^string) + cli: + name: friendlyName + cliKey: friendlyName + - propertyName: icon_hash(DesktopPropertiesIconHash^string) + cli: + name: iconHash + cliKey: iconHash + readOnly: true + - propertyName: icon_content(desktop_properties_icon_content^byte-array) + cli: + name: iconContent + cliKey: iconContent + readOnly: true + - schemaName: DesktopPatch + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: DesktopPatch + properties: + - propertyName: tags(any^any) + cli: + cliKey: tags + - propertyName: description(DesktopPatchPropertiesDescription^string) + cli: + cliKey: description + - propertyName: friendly_name(DesktopPatchPropertiesFriendlyName^string) + cli: + name: friendlyName + cliKey: friendlyName + - schemaName: DesktopList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: DesktopList + properties: + - propertyName: value(DesktopListValue^array) + cli: + cliKey: value + - propertyName: next_link(DesktopListNextLink^string) + cli: + name: nextLink + cliKey: nextLink + readOnly: true + - schemaName: HostPool + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: HostPool + properties: + - propertyName: friendly_name(HostPoolPropertiesFriendlyName^string) + cli: + name: friendlyName + cliKey: friendlyName + - propertyName: description(HostPoolPropertiesDescription^string) + cli: + cliKey: description + - propertyName: host_pool_type(HostPoolType^choice) + cli: + name: hostPoolType + cliKey: hostPoolType + - propertyName: personal_desktop_assignment_type(PersonalDesktopAssignmentType^choice) + cli: + name: personalDesktopAssignmentType + cliKey: personalDesktopAssignmentType + - propertyName: custom_rdp_property(HostPoolPropertiesCustomRdpProperty^string) + cli: + name: customRdpProperty + cliKey: customRdpProperty + - propertyName: max_session_limit(Integer^integer) + cli: + name: maxSessionLimit + cliKey: maxSessionLimit + - propertyName: load_balancer_type(LoadBalancerType^choice) + cli: + name: loadBalancerType + cliKey: loadBalancerType + - propertyName: ring(Integer^integer) + cli: + cliKey: ring + - propertyName: validation_environment(boolean^boolean) + cli: + name: validationEnvironment + cliKey: validationEnvironment + - propertyName: registration_info(RegistrationInfo^object) + cli: + name: registrationInfo + cliKey: registrationInfo + - propertyName: vm_template(HostPoolPropertiesVmTemplate^string) + cli: + name: vmTemplate + cliKey: vmTemplate + - propertyName: application_group_references(HostPoolPropertiesApplicationGroupReferences^array) + cli: + name: applicationGroupReferences + cliKey: applicationGroupReferences + readOnly: true + - propertyName: sso_context(HostPoolPropertiesSsoContext^string) + cli: + name: ssoContext + cliKey: ssoContext + - schemaName: RegistrationInfo + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 3 + propertyCountIfSimplifyWithoutSimpleObject: 3 + simplifiable: true + cliKey: RegistrationInfo + properties: + - propertyName: expiration_time(registration_info_expiration_time^date-time) + cli: + name: expirationTime + cliKey: expirationTime + - propertyName: token(RegistrationInfoToken^string) + cli: + cliKey: token + - propertyName: registration_token_operation(RegistrationTokenOperation^choice) + cli: + name: registrationTokenOperation + cliKey: registrationTokenOperation + - schemaName: HostPoolPatch + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: HostPoolPatch + properties: + - propertyName: tags(any^any) + cli: + cliKey: tags + - propertyName: friendly_name(HostPoolPatchPropertiesFriendlyName^string) + cli: + name: friendlyName + cliKey: friendlyName + - propertyName: description(HostPoolPatchPropertiesDescription^string) + cli: + cliKey: description + - propertyName: custom_rdp_property(HostPoolPatchPropertiesCustomRdpProperty^string) + cli: + name: customRdpProperty + cliKey: customRdpProperty + - propertyName: max_session_limit(Integer^integer) + cli: + name: maxSessionLimit + cliKey: maxSessionLimit + - propertyName: personal_desktop_assignment_type(PersonalDesktopAssignmentType^choice) + cli: + name: personalDesktopAssignmentType + cliKey: personalDesktopAssignmentType + - propertyName: load_balancer_type(LoadBalancerType^choice) + cli: + name: loadBalancerType + cliKey: loadBalancerType + - propertyName: ring(Integer^integer) + cli: + cliKey: ring + - propertyName: validation_environment(boolean^boolean) + cli: + name: validationEnvironment + cliKey: validationEnvironment + - propertyName: registration_info(RegistrationInfoPatch^object) + cli: + name: registrationInfo + cliKey: registrationInfo + - propertyName: sso_context(HostPoolPatchPropertiesSsoContext^string) + cli: + name: ssoContext + cliKey: ssoContext + - schemaName: RegistrationInfoPatch + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 1 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: RegistrationInfoPatch + properties: + - propertyName: registration_token_operation(RegistrationTokenOperation^choice) + cli: + name: registrationTokenOperation + cliKey: registrationTokenOperation + - schemaName: HostPoolList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: HostPoolList + properties: + - propertyName: value(HostPoolListValue^array) + cli: + cliKey: value + - propertyName: next_link(HostPoolListNextLink^string) + cli: + name: nextLink + cliKey: nextLink + readOnly: true + - schemaName: UserSessionList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: UserSessionList + properties: + - propertyName: value(UserSessionListValue^array) + cli: + cliKey: value + - propertyName: next_link(UserSessionListNextLink^string) + cli: + name: nextLink + cliKey: nextLink + readOnly: true + - schemaName: UserSession + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 5 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: UserSession + properties: + - propertyName: user_principal_name(UserSessionPropertiesUserPrincipalName^string) + cli: + name: userPrincipalName + cliKey: userPrincipalName + - propertyName: application_type(ApplicationType^choice) + cli: + name: applicationType + cliKey: applicationType + - propertyName: session_state(SessionState^choice) + cli: + name: sessionState + cliKey: sessionState + - propertyName: active_directory_user_name(UserSessionPropertiesActiveDirectoryUserName^string) + cli: + name: activeDirectoryUserName + cliKey: activeDirectoryUserName + - propertyName: create_time(user_session_properties_create_time^date-time) + cli: + name: createTime + cliKey: createTime + - schemaName: SessionHost + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: SessionHost + properties: + - propertyName: last_heart_beat(session_host_properties_last_heart_beat^date-time) + cli: + name: lastHeartBeat + cliKey: lastHeartBeat + - propertyName: sessions(Integer^integer) + cli: + cliKey: sessions + - propertyName: agent_version(SessionHostPropertiesAgentVersion^string) + cli: + name: agentVersion + cliKey: agentVersion + - propertyName: allow_new_session(boolean^boolean) + cli: + name: allowNewSession + cliKey: allowNewSession + - propertyName: assigned_user(SessionHostPropertiesAssignedUser^string) + cli: + name: assignedUser + cliKey: assignedUser + - propertyName: status(Status^choice) + cli: + cliKey: status + - propertyName: status_timestamp(session_host_properties_status_timestamp^date-time) + cli: + name: statusTimestamp + cliKey: statusTimestamp + readOnly: true + - propertyName: os_version(SessionHostPropertiesOsVersion^string) + cli: + name: osVersion + cliKey: osVersion + - propertyName: sx_s_stack_version(SessionHostPropertiesSxSStackVersion^string) + cli: + name: sxSStackVersion + cliKey: sxSStackVersion + - propertyName: update_state(UpdateState^choice) + cli: + name: updateState + cliKey: updateState + - propertyName: last_update_time(session_host_properties_last_update_time^date-time) + cli: + name: lastUpdateTime + cliKey: lastUpdateTime + readOnly: true + - propertyName: update_error_message(SessionHostPropertiesUpdateErrorMessage^string) + cli: + name: updateErrorMessage + cliKey: updateErrorMessage + - schemaName: SessionHostPatch + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: SessionHostPatch + properties: + - propertyName: allow_new_session(boolean^boolean) + cli: + name: allowNewSession + cliKey: allowNewSession + - propertyName: assigned_user(SessionHostPatchPropertiesAssignedUser^string) + cli: + name: assignedUser + cliKey: assignedUser + - schemaName: SessionHostList + cli: + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: SessionHostList + properties: + - propertyName: value(SessionHostListValue^array) + cli: + cliKey: value + - propertyName: next_link(SessionHostListNextLink^string) + cli: + name: nextLink + cliKey: nextLink + readOnly: true + - schemaName: SendMessage + cli: + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 2 + simplifiable: true + cliKey: SendMessage + properties: + - propertyName: message_title(SendMessageTitle^string) + cli: + name: messageTitle + cliKey: messageTitle + - propertyName: message_body(SendMessageBody^string) + cli: + name: messageBody + cliKey: messageBody + choices: + all: + - choiceName: ApplicationGroupType + cli: + cliKey: ApplicationGroupType + choiceValues: + - choiceValue: remote_app + cli: + name: RemoteApp + cliKey: RemoteApp + - choiceValue: desktop + cli: + name: Desktop + cliKey: Desktop + - choiceName: CommandLineSetting + cli: + cliKey: CommandLineSetting + choiceValues: + - choiceValue: do_not_allow + cli: + name: DoNotAllow + cliKey: DoNotAllow + - choiceValue: allow + cli: + name: Allow + cliKey: Allow + - choiceValue: require + cli: + name: Require + cliKey: Require + - choiceName: HostPoolType + cli: + cliKey: HostPoolType + choiceValues: + - choiceValue: personal + cli: + name: Personal + cliKey: Personal + - choiceValue: pooled + cli: + name: Pooled + cliKey: Pooled + - choiceName: PersonalDesktopAssignmentType + cli: + cliKey: PersonalDesktopAssignmentType + choiceValues: + - choiceValue: automatic + cli: + name: Automatic + cliKey: Automatic + - choiceValue: direct + cli: + name: Direct + cliKey: Direct + - choiceName: LoadBalancerType + cli: + cliKey: LoadBalancerType + choiceValues: + - choiceValue: breadth_first + cli: + name: BreadthFirst + cliKey: BreadthFirst + - choiceValue: depth_first + cli: + name: DepthFirst + cliKey: DepthFirst + - choiceValue: persistent + cli: + name: Persistent + cliKey: Persistent + - choiceName: RegistrationTokenOperation + cli: + cliKey: RegistrationTokenOperation + choiceValues: + - choiceValue: delete + cli: + name: Delete + cliKey: Delete + - choiceValue: none + cli: + name: None + cliKey: None + - choiceValue: update + cli: + name: Update + cliKey: Update + - choiceName: ApplicationType + cli: + cliKey: ApplicationType + choiceValues: + - choiceValue: remote_app + cli: + name: RemoteApp + cliKey: RemoteApp + - choiceValue: desktop + cli: + name: Desktop + cliKey: Desktop + - choiceName: SessionState + cli: + cliKey: SessionState + choiceValues: + - choiceValue: unknown + cli: + name: Unknown + cliKey: Unknown + - choiceValue: active + cli: + name: Active + cliKey: Active + - choiceValue: disconnected + cli: + name: Disconnected + cliKey: Disconnected + - choiceValue: pending + cli: + name: Pending + cliKey: Pending + - choiceValue: log_off + cli: + name: LogOff + cliKey: LogOff + - choiceValue: user_profile_disk_mounted + cli: + name: UserProfileDiskMounted + cliKey: UserProfileDiskMounted + - choiceName: Status + cli: + cliKey: Status + choiceValues: + - choiceValue: available + cli: + name: Available + cliKey: Available + - choiceValue: unavailable + cli: + name: Unavailable + cliKey: Unavailable + - choiceValue: shutdown + cli: + name: Shutdown + cliKey: Shutdown + - choiceValue: disconnected + cli: + name: Disconnected + cliKey: Disconnected + - choiceValue: upgrading + cli: + name: Upgrading + cliKey: Upgrading + - choiceValue: upgrade_failed + cli: + name: UpgradeFailed + cliKey: UpgradeFailed + - choiceName: UpdateState + cli: + cliKey: UpdateState + choiceValues: + - choiceValue: initial + cli: + name: Initial + cliKey: Initial + - choiceValue: pending + cli: + name: Pending + cliKey: Pending + - choiceValue: started + cli: + name: Started + cliKey: Started + - choiceValue: succeeded + cli: + name: Succeeded + cliKey: Succeeded + - choiceValue: failed + cli: + name: Failed + cliKey: Failed diff --git a/src/desktopvirtualization/_az_debug/clicommon-000120-complex-marker-pre.yaml b/src/desktopvirtualization/_az_debug/clicommon-000120-complex-marker-pre.yaml new file mode 100644 index 00000000000..fcddf16f6e2 --- /dev/null +++ b/src/desktopvirtualization/_az_debug/clicommon-000120-complex-marker-pre.yaml @@ -0,0 +1,11138 @@ +info: + title: Desktop Virtualization API Client + extensions: + cli-dump-index: 120 +schemas: + booleans: + - &ref_53 + type: boolean + language: + default: + name: boolean + description: Specifies whether to show the RemoteApp program in the RD Web Access server. + protocol: {} + - &ref_27 + type: boolean + language: + default: + name: boolean + description: Is validation environment. + protocol: {} + - &ref_356 + type: boolean + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: boolean + description: '' + protocol: {} + - &ref_73 + type: boolean + language: + default: + name: boolean + description: Allow a new session. + protocol: {} + numbers: + - &ref_47 + type: integer + precision: 32 + language: + default: + name: Integer + description: Index of the icon. + cli: + name: Integer + description: Index of the icon. + protocol: {} + - &ref_24 + type: integer + precision: 32 + language: + default: + name: Integer + description: The max session limit of HostPool. + cli: + name: Integer + description: The max session limit of HostPool. + protocol: {} + - &ref_26 + type: integer + precision: 32 + language: + default: + name: Integer + description: The ring number of HostPool. + cli: + name: Integer + description: The ring number of HostPool. + protocol: {} + - &ref_71 + type: integer + precision: 32 + language: + default: + name: Integer + description: Number of sessions on SessionHost. + cli: + name: Integer + description: Number of sessions on SessionHost. + protocol: {} + strings: + - &ref_0 + type: string + language: + default: + name: String + description: simple string + cli: + name: String + description: simple string + protocol: {} + - &ref_2 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ResourceProviderOperationName + description: 'Operation name, in format of {provider}/{resource}/{operation}' + cli: + name: ResourceProviderOperationName + description: 'Operation name, in format of {provider}/{resource}/{operation}' + protocol: {} + - &ref_3 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ResourceProviderOperationDisplayProvider + description: 'Resource provider: Microsoft Desktop Virtualization.' + cli: + name: ResourceProviderOperationDisplayProvider + description: 'Resource provider: Microsoft Desktop Virtualization.' + protocol: {} + - &ref_4 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ResourceProviderOperationDisplayResource + description: Resource on which the operation is performed. + cli: + name: ResourceProviderOperationDisplayResource + description: Resource on which the operation is performed. + protocol: {} + - &ref_5 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ResourceProviderOperationDisplayOperation + description: 'Type of operation: get, read, delete, etc.' + cli: + name: ResourceProviderOperationDisplayOperation + description: 'Type of operation: get, read, delete, etc.' + protocol: {} + - &ref_6 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ResourceProviderOperationDisplayDescription + description: Description of this operation. + cli: + name: ResourceProviderOperationDisplayDescription + description: Description of this operation. + protocol: {} + - &ref_130 + type: string + apiVersions: + - version: '1.0' + minLength: 1 + language: + default: + name: String + description: '' + cli: + name: String + description: '' + protocol: {} + - &ref_136 + type: string + apiVersions: + - version: '1.0' + maxLength: 90 + minLength: 1 + pattern: '^[-\w\._\(\)]+$' + language: + default: + name: String + description: '' + cli: + name: String + description: '' + protocol: {} + - &ref_137 + type: string + apiVersions: + - version: 2019-12-10-preview + maxLength: 24 + minLength: 3 + language: + default: + name: String + description: '' + cli: + name: String + description: '' + protocol: {} + - &ref_91 + type: string + apiVersions: + - version: '1.0' + language: + default: + name: ResourceId + description: 'Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' + cli: + name: ResourceId + description: 'Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' + protocol: {} + - &ref_92 + type: string + apiVersions: + - version: '1.0' + language: + default: + name: ResourceName + description: The name of the resource + cli: + name: ResourceName + description: The name of the resource + protocol: {} + - &ref_93 + type: string + apiVersions: + - version: '1.0' + language: + default: + name: ResourceType + description: The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + cli: + name: ResourceType + description: The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + protocol: {} + - &ref_1 + type: string + apiVersions: + - version: '1.0' + language: + default: + name: String + description: '' + cli: + name: String + description: '' + protocol: {} + - &ref_38 + type: string + apiVersions: + - version: '1.0' + extensions: + x-ms-mutability: + - read + - create + language: + default: + name: TrackedResourceLocation + description: The geo-location where the resource lives + cli: + name: TrackedResourceLocation + description: The geo-location where the resource lives + protocol: {} + - &ref_11 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: WorkspacePropertiesDescription + description: Description of Workspace. + cli: + name: WorkspacePropertiesDescription + description: Description of Workspace. + protocol: {} + - &ref_12 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: WorkspacePropertiesFriendlyName + description: Friendly name of Workspace. + cli: + name: WorkspacePropertiesFriendlyName + description: Friendly name of Workspace. + protocol: {} + - &ref_13 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: WorkspacePropertiesApplicationGroupReferencesItem + description: '' + cli: + name: WorkspacePropertiesApplicationGroupReferencesItem + description: '' + protocol: {} + - &ref_94 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: CloudErrorCode + description: Error code + cli: + name: CloudErrorCode + description: Error code + protocol: {} + - &ref_95 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: CloudErrorMessage + description: Error message indicating why the operation failed. + cli: + name: CloudErrorMessage + description: Error message indicating why the operation failed. + protocol: {} + - &ref_96 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: WorkspacePatchPropertiesDescription + description: Description of Workspace. + cli: + name: WorkspacePatchPropertiesDescription + description: Description of Workspace. + protocol: {} + - &ref_97 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: WorkspacePatchPropertiesFriendlyName + description: Friendly name of Workspace. + cli: + name: WorkspacePatchPropertiesFriendlyName + description: Friendly name of Workspace. + protocol: {} + - &ref_98 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: WorkspacePatchPropertiesApplicationGroupReferencesItem + description: '' + cli: + name: WorkspacePatchPropertiesApplicationGroupReferencesItem + description: '' + protocol: {} + - &ref_99 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: WorkspaceListNextLink + description: Link to the next page of results. + cli: + name: WorkspaceListNextLink + description: Link to the next page of results. + protocol: {} + - &ref_180 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: String + description: '' + cli: + name: String + description: '' + protocol: {} + - &ref_14 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationGroupPropertiesDescription + description: Description of ApplicationGroup. + cli: + name: ApplicationGroupPropertiesDescription + description: Description of ApplicationGroup. + protocol: {} + - &ref_15 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationGroupPropertiesFriendlyName + description: Friendly name of ApplicationGroup. + cli: + name: ApplicationGroupPropertiesFriendlyName + description: Friendly name of ApplicationGroup. + protocol: {} + - &ref_16 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationGroupPropertiesHostPoolArmPath + description: HostPool arm path of ApplicationGroup. + cli: + name: ApplicationGroupPropertiesHostPoolArmPath + description: HostPool arm path of ApplicationGroup. + protocol: {} + - &ref_17 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationGroupPropertiesWorkspaceArmPath + description: Workspace arm path of ApplicationGroup. + cli: + name: ApplicationGroupPropertiesWorkspaceArmPath + description: Workspace arm path of ApplicationGroup. + protocol: {} + - &ref_100 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationGroupListNextLink + description: Link to the next page of results. + cli: + name: ApplicationGroupListNextLink + description: Link to the next page of results. + protocol: {} + - &ref_40 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationGroupPatchPropertiesDescription + description: Description of ApplicationGroup. + cli: + name: ApplicationGroupPatchPropertiesDescription + description: Description of ApplicationGroup. + protocol: {} + - &ref_41 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationGroupPatchPropertiesFriendlyName + description: Friendly name of ApplicationGroup. + cli: + name: ApplicationGroupPatchPropertiesFriendlyName + description: Friendly name of ApplicationGroup. + protocol: {} + - &ref_42 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: StartMenuItemPropertiesAppAlias + description: Alias of StartMenuItem. + cli: + name: StartMenuItemPropertiesAppAlias + description: Alias of StartMenuItem. + protocol: {} + - &ref_43 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: StartMenuItemPropertiesFriendlyName + description: Friendly name of StartMenuItem. + cli: + name: StartMenuItemPropertiesFriendlyName + description: Friendly name of StartMenuItem. + protocol: {} + - &ref_44 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: StartMenuItemPropertiesFilePath + description: Path to the file of StartMenuItem. + cli: + name: StartMenuItemPropertiesFilePath + description: Path to the file of StartMenuItem. + protocol: {} + - &ref_45 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: StartMenuItemPropertiesCommandLineArguments + description: Command line arguments for StartMenuItem. + cli: + name: StartMenuItemPropertiesCommandLineArguments + description: Command line arguments for StartMenuItem. + protocol: {} + - &ref_46 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: StartMenuItemPropertiesIconPath + description: Path to the icon. + cli: + name: StartMenuItemPropertiesIconPath + description: Path to the icon. + protocol: {} + - &ref_101 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: StartMenuItemListNextLink + description: Link to the next page of results. + cli: + name: StartMenuItemListNextLink + description: Link to the next page of results. + protocol: {} + - &ref_48 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationPropertiesDescription + description: Description of Application. + cli: + name: ApplicationPropertiesDescription + description: Description of Application. + protocol: {} + - &ref_49 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationPropertiesFriendlyName + description: Friendly name of Application. + cli: + name: ApplicationPropertiesFriendlyName + description: Friendly name of Application. + protocol: {} + - &ref_50 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationPropertiesFilePath + description: Specifies a path for the executable file for the application. + cli: + name: ApplicationPropertiesFilePath + description: Specifies a path for the executable file for the application. + protocol: {} + - &ref_52 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationPropertiesCommandLineArguments + description: Command Line Arguments for Application. + cli: + name: ApplicationPropertiesCommandLineArguments + description: Command Line Arguments for Application. + protocol: {} + - &ref_54 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationPropertiesIconPath + description: Path to icon. + cli: + name: ApplicationPropertiesIconPath + description: Path to icon. + protocol: {} + - &ref_55 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationPropertiesIconHash + description: Hash of the icon. + cli: + name: ApplicationPropertiesIconHash + description: Hash of the icon. + protocol: {} + - &ref_102 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationPatchPropertiesDescription + description: Description of Application. + cli: + name: ApplicationPatchPropertiesDescription + description: Description of Application. + protocol: {} + - &ref_103 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationPatchPropertiesFriendlyName + description: Friendly name of Application. + cli: + name: ApplicationPatchPropertiesFriendlyName + description: Friendly name of Application. + protocol: {} + - &ref_104 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationPatchPropertiesFilePath + description: Specifies a path for the executable file for the application. + cli: + name: ApplicationPatchPropertiesFilePath + description: Specifies a path for the executable file for the application. + protocol: {} + - &ref_105 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationPatchPropertiesCommandLineArguments + description: Command Line Arguments for Application. + cli: + name: ApplicationPatchPropertiesCommandLineArguments + description: Command Line Arguments for Application. + protocol: {} + - &ref_106 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationPatchPropertiesIconPath + description: Path to icon. + cli: + name: ApplicationPatchPropertiesIconPath + description: Path to icon. + protocol: {} + - &ref_107 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationListNextLink + description: Link to the next page of results. + cli: + name: ApplicationListNextLink + description: Link to the next page of results. + protocol: {} + - &ref_57 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: DesktopPropertiesDescription + description: Description of Desktop. + cli: + name: DesktopPropertiesDescription + description: Description of Desktop. + protocol: {} + - &ref_58 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: DesktopPropertiesFriendlyName + description: Friendly name of Desktop. + cli: + name: DesktopPropertiesFriendlyName + description: Friendly name of Desktop. + protocol: {} + - &ref_59 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: DesktopPropertiesIconHash + description: Hash of the icon. + cli: + name: DesktopPropertiesIconHash + description: Hash of the icon. + protocol: {} + - &ref_108 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: DesktopPatchPropertiesDescription + description: Description of Desktop. + cli: + name: DesktopPatchPropertiesDescription + description: Description of Desktop. + protocol: {} + - &ref_109 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: DesktopPatchPropertiesFriendlyName + description: Friendly name of Desktop. + cli: + name: DesktopPatchPropertiesFriendlyName + description: Friendly name of Desktop. + protocol: {} + - &ref_110 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: DesktopListNextLink + description: Link to the next page of results. + cli: + name: DesktopListNextLink + description: Link to the next page of results. + protocol: {} + - &ref_19 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolPropertiesFriendlyName + description: Friendly name of HostPool. + cli: + name: HostPoolPropertiesFriendlyName + description: Friendly name of HostPool. + protocol: {} + - &ref_20 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolPropertiesDescription + description: Description of HostPool. + cli: + name: HostPoolPropertiesDescription + description: Description of HostPool. + protocol: {} + - &ref_23 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolPropertiesCustomRdpProperty + description: Custom rdp property of HostPool. + cli: + name: HostPoolPropertiesCustomRdpProperty + description: Custom rdp property of HostPool. + protocol: {} + - &ref_29 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: RegistrationInfoToken + description: The registration token base64 encoded string. + cli: + name: RegistrationInfoToken + description: The registration token base64 encoded string. + protocol: {} + - &ref_31 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolPropertiesVmTemplate + description: VM template for sessionhosts configuration within hostpool. + cli: + name: HostPoolPropertiesVmTemplate + description: VM template for sessionhosts configuration within hostpool. + protocol: {} + - &ref_32 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolPropertiesApplicationGroupReferencesItem + description: '' + cli: + name: HostPoolPropertiesApplicationGroupReferencesItem + description: '' + protocol: {} + - &ref_33 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolPropertiesSsoContext + description: Path to keyvault containing ssoContext secret. + cli: + name: HostPoolPropertiesSsoContext + description: Path to keyvault containing ssoContext secret. + protocol: {} + - &ref_61 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolPatchPropertiesFriendlyName + description: Friendly name of HostPool. + cli: + name: HostPoolPatchPropertiesFriendlyName + description: Friendly name of HostPool. + protocol: {} + - &ref_62 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolPatchPropertiesDescription + description: Description of HostPool. + cli: + name: HostPoolPatchPropertiesDescription + description: Description of HostPool. + protocol: {} + - &ref_63 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolPatchPropertiesCustomRdpProperty + description: Custom rdp property of HostPool. + cli: + name: HostPoolPatchPropertiesCustomRdpProperty + description: Custom rdp property of HostPool. + protocol: {} + - &ref_64 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolPatchPropertiesSsoContext + description: Path to keyvault containing ssoContext secret. + cli: + name: HostPoolPatchPropertiesSsoContext + description: Path to keyvault containing ssoContext secret. + protocol: {} + - &ref_113 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolListNextLink + description: Link to the next page of results. + cli: + name: HostPoolListNextLink + description: Link to the next page of results. + protocol: {} + - &ref_65 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: UserSessionPropertiesUserPrincipalName + description: The user principal name. + cli: + name: UserSessionPropertiesUserPrincipalName + description: The user principal name. + protocol: {} + - &ref_68 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: UserSessionPropertiesActiveDirectoryUserName + description: The active directory user name. + cli: + name: UserSessionPropertiesActiveDirectoryUserName + description: The active directory user name. + protocol: {} + - &ref_114 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: UserSessionListNextLink + description: Link to the next page of results. + cli: + name: UserSessionListNextLink + description: Link to the next page of results. + protocol: {} + - &ref_402 + type: string + apiVersions: + - version: 2019-12-10-preview + maxLength: 48 + minLength: 3 + language: + default: + name: String + description: '' + cli: + name: String + description: '' + protocol: {} + - &ref_72 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostPropertiesAgentVersion + description: Version of agent on SessionHost. + cli: + name: SessionHostPropertiesAgentVersion + description: Version of agent on SessionHost. + protocol: {} + - &ref_74 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostPropertiesAssignedUser + description: User assigned to SessionHost. + cli: + name: SessionHostPropertiesAssignedUser + description: User assigned to SessionHost. + protocol: {} + - &ref_77 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostPropertiesOsVersion + description: The version of the OS on the session host. + cli: + name: SessionHostPropertiesOsVersion + description: The version of the OS on the session host. + protocol: {} + - &ref_78 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostPropertiesSxSStackVersion + description: The version of the side by side stack on the session host. + cli: + name: SessionHostPropertiesSxSStackVersion + description: The version of the side by side stack on the session host. + protocol: {} + - &ref_81 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostPropertiesUpdateErrorMessage + description: The error message. + cli: + name: SessionHostPropertiesUpdateErrorMessage + description: The error message. + protocol: {} + - &ref_82 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostPatchPropertiesAssignedUser + description: User assigned to SessionHost. + cli: + name: SessionHostPatchPropertiesAssignedUser + description: User assigned to SessionHost. + protocol: {} + - &ref_115 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostListNextLink + description: Link to the next page of results. + cli: + name: SessionHostListNextLink + description: Link to the next page of results. + protocol: {} + - &ref_403 + type: string + apiVersions: + - version: 2019-12-10-preview + maxLength: 24 + minLength: 1 + language: + default: + name: String + description: '' + cli: + name: String + description: '' + protocol: {} + - &ref_116 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SendMessageTitle + description: Title of message. + cli: + name: SendMessageTitle + description: Title of message. + protocol: {} + - &ref_117 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SendMessageBody + description: Body of message. + cli: + name: SendMessageBody + description: Body of message. + protocol: {} + choices: + - &ref_18 + choices: + - value: RemoteApp + language: + default: + name: remote_app + description: '' + cli: + name: RemoteApp + description: '' + cliKey: RemoteApp + - value: Desktop + language: + default: + name: desktop + description: '' + cli: + name: Desktop + description: '' + cliKey: Desktop + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: ApplicationGroupType + description: Resource Type of ApplicationGroup. + cli: + name: ApplicationGroupType + description: Resource Type of ApplicationGroup. + cliKey: ApplicationGroupType + protocol: {} + - &ref_51 + choices: + - value: DoNotAllow + language: + default: + name: do_not_allow + description: '' + cli: + name: DoNotAllow + description: '' + cliKey: DoNotAllow + - value: Allow + language: + default: + name: allow + description: '' + cli: + name: Allow + description: '' + cliKey: Allow + - value: Require + language: + default: + name: require + description: '' + cli: + name: Require + description: '' + cliKey: Require + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: CommandLineSetting + description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' + cli: + name: CommandLineSetting + description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' + cliKey: CommandLineSetting + protocol: {} + - &ref_21 + choices: + - value: Personal + language: + default: + name: personal + description: '' + cli: + name: Personal + description: '' + cliKey: Personal + - value: Pooled + language: + default: + name: pooled + description: '' + cli: + name: Pooled + description: '' + cliKey: Pooled + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: HostPoolType + description: HostPool type for desktop. + cli: + name: HostPoolType + description: HostPool type for desktop. + cliKey: HostPoolType + protocol: {} + - &ref_22 + choices: + - value: Automatic + language: + default: + name: automatic + description: '' + cli: + name: Automatic + description: '' + cliKey: Automatic + - value: Direct + language: + default: + name: direct + description: '' + cli: + name: Direct + description: '' + cliKey: Direct + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: PersonalDesktopAssignmentType + description: PersonalDesktopAssignment type for HostPool. + cli: + name: PersonalDesktopAssignmentType + description: PersonalDesktopAssignment type for HostPool. + cliKey: PersonalDesktopAssignmentType + protocol: {} + - &ref_25 + choices: + - value: BreadthFirst + language: + default: + name: breadth_first + description: '' + cli: + name: BreadthFirst + description: '' + cliKey: BreadthFirst + - value: DepthFirst + language: + default: + name: depth_first + description: '' + cli: + name: DepthFirst + description: '' + cliKey: DepthFirst + - value: Persistent + language: + default: + name: persistent + description: '' + cli: + name: Persistent + description: '' + cliKey: Persistent + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: LoadBalancerType + description: The type of the load balancer. + cli: + name: LoadBalancerType + description: The type of the load balancer. + cliKey: LoadBalancerType + protocol: {} + - &ref_30 + choices: + - value: Delete + language: + default: + name: delete + description: '' + cli: + name: Delete + description: '' + cliKey: Delete + - value: None + language: + default: + name: none + description: '' + cli: + name: None + description: '' + cliKey: None + - value: Update + language: + default: + name: update + description: '' + cli: + name: Update + description: '' + cliKey: Update + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: RegistrationTokenOperation + description: The type of resetting the token. + cli: + name: RegistrationTokenOperation + description: The type of resetting the token. + cliKey: RegistrationTokenOperation + protocol: {} + - &ref_66 + choices: + - value: RemoteApp + language: + default: + name: remote_app + description: '' + cli: + name: RemoteApp + description: '' + cliKey: RemoteApp + - value: Desktop + language: + default: + name: desktop + description: '' + cli: + name: Desktop + description: '' + cliKey: Desktop + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: ApplicationType + description: Application type of application. + cli: + name: ApplicationType + description: Application type of application. + cliKey: ApplicationType + protocol: {} + - &ref_67 + choices: + - value: Unknown + language: + default: + name: unknown + description: '' + cli: + name: Unknown + description: '' + cliKey: Unknown + - value: Active + language: + default: + name: active + description: '' + cli: + name: Active + description: '' + cliKey: Active + - value: Disconnected + language: + default: + name: disconnected + description: '' + cli: + name: Disconnected + description: '' + cliKey: Disconnected + - value: Pending + language: + default: + name: pending + description: '' + cli: + name: Pending + description: '' + cliKey: Pending + - value: LogOff + language: + default: + name: log_off + description: '' + cli: + name: LogOff + description: '' + cliKey: LogOff + - value: UserProfileDiskMounted + language: + default: + name: user_profile_disk_mounted + description: '' + cli: + name: UserProfileDiskMounted + description: '' + cliKey: UserProfileDiskMounted + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: SessionState + description: State of user session. + cli: + name: SessionState + description: State of user session. + cliKey: SessionState + protocol: {} + - &ref_75 + choices: + - value: Available + language: + default: + name: available + description: '' + cli: + name: Available + description: '' + cliKey: Available + - value: Unavailable + language: + default: + name: unavailable + description: '' + cli: + name: Unavailable + description: '' + cliKey: Unavailable + - value: Shutdown + language: + default: + name: shutdown + description: '' + cli: + name: Shutdown + description: '' + cliKey: Shutdown + - value: Disconnected + language: + default: + name: disconnected + description: '' + cli: + name: Disconnected + description: '' + cliKey: Disconnected + - value: Upgrading + language: + default: + name: upgrading + description: '' + cli: + name: Upgrading + description: '' + cliKey: Upgrading + - value: UpgradeFailed + language: + default: + name: upgrade_failed + description: '' + cli: + name: UpgradeFailed + description: '' + cliKey: UpgradeFailed + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: Status + description: Status for a SessionHost. + cli: + name: Status + description: Status for a SessionHost. + cliKey: Status + protocol: {} + - &ref_79 + choices: + - value: Initial + language: + default: + name: initial + description: '' + cli: + name: Initial + description: '' + cliKey: Initial + - value: Pending + language: + default: + name: pending + description: '' + cli: + name: Pending + description: '' + cliKey: Pending + - value: Started + language: + default: + name: started + description: '' + cli: + name: Started + description: '' + cliKey: Started + - value: Succeeded + language: + default: + name: succeeded + description: '' + cli: + name: Succeeded + description: '' + cliKey: Succeeded + - value: Failed + language: + default: + name: failed + description: '' + cli: + name: Failed + description: '' + cliKey: Failed + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: UpdateState + description: Update state of a SessionHost. + cli: + name: UpdateState + description: Update state of a SessionHost. + cliKey: UpdateState + protocol: {} + constants: + - &ref_131 + type: constant + value: + value: 2019-12-10-preview + valueType: *ref_0 + language: + default: + name: api_version2019_12_10_preview + description: Api Version (2019-12-10-preview) + cli: + name: ApiVersion20191210Preview + description: Api Version (2019-12-10-preview) + protocol: {} + - &ref_141 + type: constant + value: + value: application/json + valueType: *ref_0 + language: + default: + name: application_json + description: Content Type 'application/json' + cli: + name: ApplicationJson + description: Content Type 'application/json' + protocol: {} + dictionaries: + - &ref_37 + type: dictionary + elementType: *ref_1 + language: + default: + name: TrackedResourceTags + description: Resource tags. + cli: + name: TrackedResourceTags + description: Resource tags. + cli-complexity: dictionary_simple + cli-mark: checked + protocol: {} + any: + - &ref_39 + type: any + language: + default: + name: any + description: Any object + protocol: {} + byteArrays: + - &ref_56 + type: byte-array + format: byte + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: application_properties_icon_content + description: the icon a 64 bit string as a byte array. + protocol: {} + - &ref_60 + type: byte-array + format: byte + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: desktop_properties_icon_content + description: The icon a 64 bit string as a byte array. + protocol: {} + dateTimes: + - &ref_28 + type: date-time + format: date-time + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: registration_info_expiration_time + description: Expiration time of registration token. + protocol: {} + - &ref_69 + type: date-time + format: date-time + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: user_session_properties_create_time + description: The timestamp of the user session create. + protocol: {} + - &ref_70 + type: date-time + format: date-time + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: session_host_properties_last_heart_beat + description: Last heart beat from SessionHost. + protocol: {} + - &ref_76 + type: date-time + format: date-time + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: session_host_properties_status_timestamp + description: The timestamp of the status. + protocol: {} + - &ref_80 + type: date-time + format: date-time + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: session_host_properties_last_update_time + description: The timestamp of the last update. + protocol: {} + objects: + - &ref_134 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_118 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: &ref_7 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_2 + serializedName: name + language: + default: + name: name + description: 'Operation name, in format of {provider}/{resource}/{operation}' + cli: + name: name + description: 'Operation name, in format of {provider}/{resource}/{operation}' + cliKey: name + protocol: {} + - schema: &ref_8 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_3 + serializedName: provider + language: + default: + name: provider + description: 'Resource provider: Microsoft Desktop Virtualization.' + cli: + name: provider + description: 'Resource provider: Microsoft Desktop Virtualization.' + cliKey: provider + protocol: {} + - schema: *ref_4 + serializedName: resource + language: + default: + name: resource + description: Resource on which the operation is performed. + cli: + name: resource + description: Resource on which the operation is performed. + cliKey: resource + protocol: {} + - schema: *ref_5 + serializedName: operation + language: + default: + name: operation + description: 'Type of operation: get, read, delete, etc.' + cli: + name: operation + description: 'Type of operation: get, read, delete, etc.' + cliKey: operation + protocol: {} + - schema: *ref_6 + serializedName: description + language: + default: + name: description + description: Description of this operation. + cli: + name: description + description: Description of this operation. + cliKey: description + protocol: {} + serializationFormats: + - json + usage: + - output + language: + default: + name: ResourceProviderOperationDisplay + description: Display metadata associated with the operation. + namespace: '' + cli: + name: ResourceProviderOperationDisplay + description: Display metadata associated with the operation. + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 4 + propertyCountIfSimplifyWithoutSimpleObject: 4 + simplifiable: true + cliKey: ResourceProviderOperation-display + protocol: {} + serializedName: display + language: + default: + name: display + description: Display metadata associated with the operation. + cli: + name: display + description: Display metadata associated with the operation. + cliKey: display + protocol: {} + serializationFormats: + - json + usage: + - output + language: + default: + name: ResourceProviderOperation + description: Supported operation of this resource provider. + namespace: '' + cli: + name: ResourceProviderOperation + description: Supported operation of this resource provider. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 5 + propertyCountIfSimplifyWithoutSimpleObject: 2 + simplifiable: true + cliKey: ResourceProviderOperation + protocol: {} + language: + default: + name: ResourceProviderOperationListValue + description: List of operations supported by this resource provider. + cli: + name: ResourceProviderOperationListValue + description: List of operations supported by this resource provider. + cli-complexity: array_complex + cli-mark: checked + protocol: {} + serializedName: value + language: + default: + name: value + description: List of operations supported by this resource provider. + cli: + name: value + description: List of operations supported by this resource provider. + cliKey: value + protocol: {} + serializationFormats: + - json + usage: + - output + language: + default: + name: ResourceProviderOperationList + description: Result of the request to list operations. + namespace: '' + cli: + name: ResourceProviderOperationList + description: Result of the request to list operations. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ResourceProviderOperationList + protocol: {} + - *ref_7 + - *ref_8 + - &ref_10 + type: object + apiVersions: + - version: '1.0' + children: + all: + - &ref_9 + type: object + apiVersions: + - version: '1.0' + children: + all: + - &ref_34 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_9 + - *ref_10 + immediate: + - *ref_9 + properties: + - &ref_147 + schema: *ref_11 + flattenedNames: + - properties + - description + serializedName: description + language: + default: + name: description + description: Description of Workspace. + cli: &ref_148 + name: description + description: Description of Workspace. + cliKey: description + protocol: {} + - &ref_149 + schema: *ref_12 + flattenedNames: + - properties + - friendlyName + serializedName: friendlyName + language: + default: + name: friendly_name + description: Friendly name of Workspace. + cli: &ref_150 + name: friendlyName + description: Friendly name of Workspace. + cliKey: friendlyName + protocol: {} + - &ref_151 + schema: &ref_119 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_13 + language: + default: + name: WorkspacePropertiesApplicationGroupReferences + description: List of applicationGroup resource Ids. + cli: + name: WorkspacePropertiesApplicationGroupReferences + description: List of applicationGroup resource Ids. + cli-complexity: array_simple + cli-mark: checked + protocol: {} + flattenedNames: + - properties + - applicationGroupReferences + serializedName: applicationGroupReferences + language: + default: + name: application_group_references + description: List of applicationGroup resource Ids. + cli: &ref_152 + name: applicationGroupReferences + description: List of applicationGroup resource Ids. + cliKey: applicationGroupReferences + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: Workspace + description: Represents a Workspace definition. + namespace: '' + cli: + name: Workspace + description: Represents a Workspace definition. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: Workspace + protocol: {} + - &ref_35 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_9 + - *ref_10 + immediate: + - *ref_9 + properties: + - &ref_188 + schema: *ref_14 + flattenedNames: + - properties + - description + required: false + serializedName: description + language: + default: + name: description + description: Description of ApplicationGroup. + cli: &ref_189 + name: description + description: Description of ApplicationGroup. + cliKey: description + protocol: {} + - &ref_190 + schema: *ref_15 + flattenedNames: + - properties + - friendlyName + required: false + serializedName: friendlyName + language: + default: + name: friendly_name + description: Friendly name of ApplicationGroup. + cli: &ref_191 + name: friendlyName + description: Friendly name of ApplicationGroup. + cliKey: friendlyName + protocol: {} + - &ref_192 + schema: *ref_16 + flattenedNames: + - properties + - hostPoolArmPath + required: true + serializedName: hostPoolArmPath + language: + default: + name: host_pool_arm_path + description: HostPool arm path of ApplicationGroup. + cli: &ref_193 + name: hostPoolArmPath + description: HostPool arm path of ApplicationGroup. + cliKey: hostPoolArmPath + protocol: {} + - schema: *ref_17 + flattenedNames: + - properties + - workspaceArmPath + readOnly: true + required: false + serializedName: workspaceArmPath + language: + default: + name: workspace_arm_path + description: Workspace arm path of ApplicationGroup. + cli: + name: workspaceArmPath + description: Workspace arm path of ApplicationGroup. + cliKey: workspaceArmPath + protocol: {} + - &ref_194 + schema: *ref_18 + flattenedNames: + - properties + - applicationGroupType + required: true + serializedName: applicationGroupType + language: + default: + name: application_group_type + description: Resource Type of ApplicationGroup. + cli: &ref_195 + name: applicationGroupType + description: Resource Type of ApplicationGroup. + cliKey: applicationGroupType + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: ApplicationGroup + description: Represents a ApplicationGroup definition. + namespace: '' + cli: + name: ApplicationGroup + description: Represents a ApplicationGroup definition. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ApplicationGroup + protocol: {} + - &ref_36 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_9 + - *ref_10 + immediate: + - *ref_9 + properties: + - &ref_316 + schema: *ref_19 + flattenedNames: + - properties + - friendlyName + required: false + serializedName: friendlyName + language: + default: + name: friendly_name + description: Friendly name of HostPool. + cli: &ref_317 + name: friendlyName + description: Friendly name of HostPool. + cliKey: friendlyName + protocol: {} + - &ref_318 + schema: *ref_20 + flattenedNames: + - properties + - description + required: false + serializedName: description + language: + default: + name: description + description: Description of HostPool. + cli: &ref_319 + name: description + description: Description of HostPool. + cliKey: description + protocol: {} + - &ref_320 + schema: *ref_21 + flattenedNames: + - properties + - hostPoolType + required: true + serializedName: hostPoolType + language: + default: + name: host_pool_type + description: HostPool type for desktop. + cli: &ref_321 + name: hostPoolType + description: HostPool type for desktop. + cliKey: hostPoolType + protocol: {} + - &ref_322 + schema: *ref_22 + flattenedNames: + - properties + - personalDesktopAssignmentType + required: true + serializedName: personalDesktopAssignmentType + language: + default: + name: personal_desktop_assignment_type + description: PersonalDesktopAssignment type for HostPool. + cli: &ref_323 + name: personalDesktopAssignmentType + description: PersonalDesktopAssignment type for HostPool. + cliKey: personalDesktopAssignmentType + protocol: {} + - &ref_324 + schema: *ref_23 + flattenedNames: + - properties + - customRdpProperty + required: false + serializedName: customRdpProperty + language: + default: + name: custom_rdp_property + description: Custom rdp property of HostPool. + cli: &ref_325 + name: customRdpProperty + description: Custom rdp property of HostPool. + cliKey: customRdpProperty + protocol: {} + - &ref_326 + schema: *ref_24 + flattenedNames: + - properties + - maxSessionLimit + required: false + serializedName: maxSessionLimit + language: + default: + name: max_session_limit + description: The max session limit of HostPool. + cli: &ref_327 + name: maxSessionLimit + description: The max session limit of HostPool. + cliKey: maxSessionLimit + protocol: {} + - &ref_328 + schema: *ref_25 + flattenedNames: + - properties + - loadBalancerType + required: true + serializedName: loadBalancerType + language: + default: + name: load_balancer_type + description: The type of the load balancer. + cli: &ref_329 + name: loadBalancerType + description: The type of the load balancer. + cliKey: loadBalancerType + protocol: {} + - &ref_330 + schema: *ref_26 + flattenedNames: + - properties + - ring + required: false + serializedName: ring + language: + default: + name: ring + description: The ring number of HostPool. + cli: &ref_331 + name: ring + description: The ring number of HostPool. + cliKey: ring + protocol: {} + - &ref_332 + schema: *ref_27 + flattenedNames: + - properties + - validationEnvironment + required: false + serializedName: validationEnvironment + language: + default: + name: validation_environment + description: Is validation environment. + cli: &ref_333 + name: validationEnvironment + description: Is validation environment. + cliKey: validationEnvironment + protocol: {} + - &ref_334 + schema: &ref_111 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_28 + serializedName: expirationTime + language: + default: + name: expiration_time + description: Expiration time of registration token. + cli: + name: expirationTime + description: Expiration time of registration token. + cliKey: expirationTime + protocol: {} + - schema: *ref_29 + serializedName: token + language: + default: + name: token + description: The registration token base64 encoded string. + cli: + name: token + description: The registration token base64 encoded string. + cliKey: token + protocol: {} + - schema: *ref_30 + serializedName: registrationTokenOperation + language: + default: + name: registration_token_operation + description: The type of resetting the token. + cli: + name: registrationTokenOperation + description: The type of resetting the token. + cliKey: registrationTokenOperation + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: RegistrationInfo + description: Represents a RegistrationInfo definition. + namespace: '' + cli: + name: RegistrationInfo + description: Represents a RegistrationInfo definition. + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 3 + propertyCountIfSimplifyWithoutSimpleObject: 3 + simplifiable: true + cliKey: RegistrationInfo + protocol: {} + flattenedNames: + - properties + - registrationInfo + required: false + serializedName: registrationInfo + language: + default: + name: registration_info + description: The registration info of HostPool. + cli: &ref_335 + name: registrationInfo + description: The registration info of HostPool. + cliKey: registrationInfo + protocol: {} + - &ref_336 + schema: *ref_31 + flattenedNames: + - properties + - vmTemplate + required: false + serializedName: vmTemplate + language: + default: + name: vm_template + description: VM template for sessionhosts configuration within hostpool. + cli: &ref_337 + name: vmTemplate + description: VM template for sessionhosts configuration within hostpool. + cliKey: vmTemplate + protocol: {} + - schema: &ref_126 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_32 + language: + default: + name: HostPoolPropertiesApplicationGroupReferences + description: List of applicationGroup links. + cli: + name: HostPoolPropertiesApplicationGroupReferences + description: List of applicationGroup links. + cli-complexity: array_simple + cli-mark: checked + protocol: {} + flattenedNames: + - properties + - applicationGroupReferences + readOnly: true + required: false + serializedName: applicationGroupReferences + language: + default: + name: application_group_references + description: List of applicationGroup links. + cli: + name: applicationGroupReferences + description: List of applicationGroup links. + cliKey: applicationGroupReferences + protocol: {} + - &ref_338 + schema: *ref_33 + flattenedNames: + - properties + - ssoContext + required: false + serializedName: ssoContext + language: + default: + name: sso_context + description: Path to keyvault containing ssoContext secret. + cli: &ref_339 + name: ssoContext + description: Path to keyvault containing ssoContext secret. + cliKey: ssoContext + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: HostPool + description: Represents a HostPool definition. + namespace: '' + cli: + name: HostPool + description: Represents a HostPool definition. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: HostPool + protocol: {} + immediate: + - *ref_34 + - *ref_35 + - *ref_36 + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - &ref_143 + schema: *ref_37 + required: false + serializedName: tags + language: + default: + name: tags + description: Resource tags. + cli: &ref_144 + name: tags + description: Resource tags. + cliKey: tags + protocol: {} + - &ref_145 + schema: *ref_38 + required: true + serializedName: location + language: + default: + name: location + description: The geo-location where the resource lives + cli: &ref_146 + name: location + description: The geo-location where the resource lives + cliKey: location + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: TrackedResource + description: The resource model definition for a ARM tracked top level resource + namespace: '' + cli: + name: TrackedResource + description: The resource model definition for a ARM tracked top level resource + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: TrackedResource + protocol: {} + - *ref_34 + - *ref_35 + - &ref_83 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - &ref_207 + schema: *ref_39 + serializedName: tags + language: + default: + name: tags + description: tags to be updated + cli: &ref_208 + name: tags + description: tags to be updated + cliKey: tags + protocol: {} + - &ref_209 + schema: *ref_40 + flattenedNames: + - properties + - description + serializedName: description + language: + default: + name: description + description: Description of ApplicationGroup. + cli: &ref_210 + name: description + description: Description of ApplicationGroup. + cliKey: description + protocol: {} + - &ref_211 + schema: *ref_41 + flattenedNames: + - properties + - friendlyName + serializedName: friendlyName + language: + default: + name: friendly_name + description: Friendly name of ApplicationGroup. + cli: &ref_212 + name: friendlyName + description: Friendly name of ApplicationGroup. + cliKey: friendlyName + protocol: {} + serializationFormats: + - json + usage: + - input + - output + language: + default: + name: ApplicationGroupPatch + description: ApplicationGroup properties that can be patched. + namespace: '' + cli: + name: ApplicationGroupPatch + description: ApplicationGroup properties that can be patched. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ApplicationGroupPatch + protocol: {} + - &ref_84 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - schema: *ref_42 + flattenedNames: + - properties + - appAlias + serializedName: appAlias + language: + default: + name: app_alias + description: Alias of StartMenuItem. + cli: + name: appAlias + description: Alias of StartMenuItem. + cliKey: appAlias + protocol: {} + - schema: *ref_43 + flattenedNames: + - properties + - friendlyName + serializedName: friendlyName + language: + default: + name: friendly_name + description: Friendly name of StartMenuItem. + cli: + name: friendlyName + description: Friendly name of StartMenuItem. + cliKey: friendlyName + protocol: {} + - schema: *ref_44 + flattenedNames: + - properties + - filePath + serializedName: filePath + language: + default: + name: file_path + description: Path to the file of StartMenuItem. + cli: + name: filePath + description: Path to the file of StartMenuItem. + cliKey: filePath + protocol: {} + - schema: *ref_45 + flattenedNames: + - properties + - commandLineArguments + serializedName: commandLineArguments + language: + default: + name: command_line_arguments + description: Command line arguments for StartMenuItem. + cli: + name: commandLineArguments + description: Command line arguments for StartMenuItem. + cliKey: commandLineArguments + protocol: {} + - schema: *ref_46 + flattenedNames: + - properties + - iconPath + serializedName: iconPath + language: + default: + name: icon_path + description: Path to the icon. + cli: + name: iconPath + description: Path to the icon. + cliKey: iconPath + protocol: {} + - schema: *ref_47 + flattenedNames: + - properties + - iconIndex + serializedName: iconIndex + language: + default: + name: icon_index + description: Index of the icon. + cli: + name: iconIndex + description: Index of the icon. + cliKey: iconIndex + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: StartMenuItem + description: Represents a StartMenuItem definition. + namespace: '' + cli: + name: StartMenuItem + description: Represents a StartMenuItem definition. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 6 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: StartMenuItem + protocol: {} + - &ref_85 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - &ref_228 + schema: *ref_48 + flattenedNames: + - properties + - description + required: false + serializedName: description + language: + default: + name: description + description: Description of Application. + cli: &ref_229 + name: description + description: Description of Application. + cliKey: description + protocol: {} + - &ref_230 + schema: *ref_49 + flattenedNames: + - properties + - friendlyName + required: false + serializedName: friendlyName + language: + default: + name: friendly_name + description: Friendly name of Application. + cli: &ref_231 + name: friendlyName + description: Friendly name of Application. + cliKey: friendlyName + protocol: {} + - &ref_232 + schema: *ref_50 + flattenedNames: + - properties + - filePath + required: false + serializedName: filePath + language: + default: + name: file_path + description: Specifies a path for the executable file for the application. + cli: &ref_233 + name: filePath + description: Specifies a path for the executable file for the application. + cliKey: filePath + protocol: {} + - &ref_234 + schema: *ref_51 + flattenedNames: + - properties + - commandLineSetting + required: true + serializedName: commandLineSetting + language: + default: + name: command_line_setting + description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' + cli: &ref_235 + name: commandLineSetting + description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' + cliKey: commandLineSetting + protocol: {} + - &ref_236 + schema: *ref_52 + flattenedNames: + - properties + - commandLineArguments + required: false + serializedName: commandLineArguments + language: + default: + name: command_line_arguments + description: Command Line Arguments for Application. + cli: &ref_237 + name: commandLineArguments + description: Command Line Arguments for Application. + cliKey: commandLineArguments + protocol: {} + - &ref_238 + schema: *ref_53 + flattenedNames: + - properties + - showInPortal + required: false + serializedName: showInPortal + language: + default: + name: show_in_portal + description: Specifies whether to show the RemoteApp program in the RD Web Access server. + cli: &ref_239 + name: showInPortal + description: Specifies whether to show the RemoteApp program in the RD Web Access server. + cliKey: showInPortal + protocol: {} + - &ref_240 + schema: *ref_54 + flattenedNames: + - properties + - iconPath + required: false + serializedName: iconPath + language: + default: + name: icon_path + description: Path to icon. + cli: &ref_241 + name: iconPath + description: Path to icon. + cliKey: iconPath + protocol: {} + - &ref_242 + schema: *ref_47 + flattenedNames: + - properties + - iconIndex + required: false + serializedName: iconIndex + language: + default: + name: icon_index + description: Index of the icon. + cli: &ref_243 + name: iconIndex + description: Index of the icon. + cliKey: iconIndex + protocol: {} + - schema: *ref_55 + flattenedNames: + - properties + - iconHash + readOnly: true + required: false + serializedName: iconHash + language: + default: + name: icon_hash + description: Hash of the icon. + cli: + name: iconHash + description: Hash of the icon. + cliKey: iconHash + protocol: {} + - schema: *ref_56 + flattenedNames: + - properties + - iconContent + readOnly: true + required: false + serializedName: iconContent + language: + default: + name: icon_content + description: the icon a 64 bit string as a byte array. + cli: + name: iconContent + description: the icon a 64 bit string as a byte array. + cliKey: iconContent + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: Application + description: Schema for Application properties. + namespace: '' + cli: + name: Application + description: Schema for Application properties. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 8 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: Application + protocol: {} + - &ref_86 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - schema: *ref_57 + flattenedNames: + - properties + - description + serializedName: description + language: + default: + name: description + description: Description of Desktop. + cli: + name: description + description: Description of Desktop. + cliKey: description + protocol: {} + - schema: *ref_58 + flattenedNames: + - properties + - friendlyName + serializedName: friendlyName + language: + default: + name: friendly_name + description: Friendly name of Desktop. + cli: + name: friendlyName + description: Friendly name of Desktop. + cliKey: friendlyName + protocol: {} + - schema: *ref_59 + flattenedNames: + - properties + - iconHash + readOnly: true + serializedName: iconHash + language: + default: + name: icon_hash + description: Hash of the icon. + cli: + name: iconHash + description: Hash of the icon. + cliKey: iconHash + protocol: {} + - schema: *ref_60 + flattenedNames: + - properties + - iconContent + readOnly: true + serializedName: iconContent + language: + default: + name: icon_content + description: The icon a 64 bit string as a byte array. + cli: + name: iconContent + description: The icon a 64 bit string as a byte array. + cliKey: iconContent + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: Desktop + description: Schema for Desktop properties. + namespace: '' + cli: + name: Desktop + description: Schema for Desktop properties. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: Desktop + protocol: {} + - *ref_36 + - &ref_87 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - &ref_361 + schema: *ref_39 + serializedName: tags + language: + default: + name: tags + description: tags to be updated + cli: &ref_362 + name: tags + description: tags to be updated + cliKey: tags + protocol: {} + - &ref_363 + schema: *ref_61 + flattenedNames: + - properties + - friendlyName + serializedName: friendlyName + language: + default: + name: friendly_name + description: Friendly name of HostPool. + cli: &ref_364 + name: friendlyName + description: Friendly name of HostPool. + cliKey: friendlyName + protocol: {} + - &ref_365 + schema: *ref_62 + flattenedNames: + - properties + - description + serializedName: description + language: + default: + name: description + description: Description of HostPool. + cli: &ref_366 + name: description + description: Description of HostPool. + cliKey: description + protocol: {} + - &ref_367 + schema: *ref_63 + flattenedNames: + - properties + - customRdpProperty + serializedName: customRdpProperty + language: + default: + name: custom_rdp_property + description: Custom rdp property of HostPool. + cli: &ref_368 + name: customRdpProperty + description: Custom rdp property of HostPool. + cliKey: customRdpProperty + protocol: {} + - &ref_369 + schema: *ref_24 + flattenedNames: + - properties + - maxSessionLimit + serializedName: maxSessionLimit + language: + default: + name: max_session_limit + description: The max session limit of HostPool. + cli: &ref_370 + name: maxSessionLimit + description: The max session limit of HostPool. + cliKey: maxSessionLimit + protocol: {} + - &ref_371 + schema: *ref_22 + flattenedNames: + - properties + - personalDesktopAssignmentType + serializedName: personalDesktopAssignmentType + language: + default: + name: personal_desktop_assignment_type + description: PersonalDesktopAssignment type for HostPool. + cli: &ref_372 + name: personalDesktopAssignmentType + description: PersonalDesktopAssignment type for HostPool. + cliKey: personalDesktopAssignmentType + protocol: {} + - &ref_373 + schema: *ref_25 + flattenedNames: + - properties + - loadBalancerType + serializedName: loadBalancerType + language: + default: + name: load_balancer_type + description: The type of the load balancer. + cli: &ref_374 + name: loadBalancerType + description: The type of the load balancer. + cliKey: loadBalancerType + protocol: {} + - &ref_375 + schema: *ref_26 + flattenedNames: + - properties + - ring + serializedName: ring + language: + default: + name: ring + description: The ring number of HostPool. + cli: &ref_376 + name: ring + description: The ring number of HostPool. + cliKey: ring + protocol: {} + - &ref_377 + schema: *ref_27 + flattenedNames: + - properties + - validationEnvironment + serializedName: validationEnvironment + language: + default: + name: validation_environment + description: Is validation environment. + cli: &ref_378 + name: validationEnvironment + description: Is validation environment. + cliKey: validationEnvironment + protocol: {} + - &ref_379 + schema: &ref_112 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_30 + serializedName: registrationTokenOperation + language: + default: + name: registration_token_operation + description: The type of resetting the token. + cli: + name: registrationTokenOperation + description: The type of resetting the token. + cliKey: registrationTokenOperation + protocol: {} + serializationFormats: + - json + usage: + - input + - output + language: + default: + name: RegistrationInfoPatch + description: Represents a RegistrationInfo definition. + namespace: '' + cli: + name: RegistrationInfoPatch + description: Represents a RegistrationInfo definition. + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 1 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: RegistrationInfoPatch + protocol: {} + flattenedNames: + - properties + - registrationInfo + serializedName: registrationInfo + language: + default: + name: registration_info + description: The registration info of HostPool. + cli: &ref_380 + name: registrationInfo + description: The registration info of HostPool. + cliKey: registrationInfo + protocol: {} + - &ref_381 + schema: *ref_64 + flattenedNames: + - properties + - ssoContext + serializedName: ssoContext + language: + default: + name: sso_context + description: Path to keyvault containing ssoContext secret. + cli: &ref_382 + name: ssoContext + description: Path to keyvault containing ssoContext secret. + cliKey: ssoContext + protocol: {} + serializationFormats: + - json + usage: + - input + - output + language: + default: + name: HostPoolPatch + description: HostPool properties that can be patched. + namespace: '' + cli: + name: HostPoolPatch + description: HostPool properties that can be patched. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: HostPoolPatch + protocol: {} + - &ref_88 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - schema: *ref_65 + flattenedNames: + - properties + - userPrincipalName + serializedName: userPrincipalName + language: + default: + name: user_principal_name + description: The user principal name. + cli: + name: userPrincipalName + description: The user principal name. + cliKey: userPrincipalName + protocol: {} + - schema: *ref_66 + flattenedNames: + - properties + - applicationType + serializedName: applicationType + language: + default: + name: application_type + description: Application type of application. + cli: + name: applicationType + description: Application type of application. + cliKey: applicationType + protocol: {} + - schema: *ref_67 + flattenedNames: + - properties + - sessionState + serializedName: sessionState + language: + default: + name: session_state + description: State of user session. + cli: + name: sessionState + description: State of user session. + cliKey: sessionState + protocol: {} + - schema: *ref_68 + flattenedNames: + - properties + - activeDirectoryUserName + serializedName: activeDirectoryUserName + language: + default: + name: active_directory_user_name + description: The active directory user name. + cli: + name: activeDirectoryUserName + description: The active directory user name. + cliKey: activeDirectoryUserName + protocol: {} + - schema: *ref_69 + flattenedNames: + - properties + - createTime + serializedName: createTime + language: + default: + name: create_time + description: The timestamp of the user session create. + cli: + name: createTime + description: The timestamp of the user session create. + cliKey: createTime + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: UserSession + description: Represents a UserSession definition. + namespace: '' + cli: + name: UserSession + description: Represents a UserSession definition. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 5 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: UserSession + protocol: {} + - &ref_89 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - schema: *ref_70 + flattenedNames: + - properties + - lastHeartBeat + serializedName: lastHeartBeat + language: + default: + name: last_heart_beat + description: Last heart beat from SessionHost. + cli: + name: lastHeartBeat + description: Last heart beat from SessionHost. + cliKey: lastHeartBeat + protocol: {} + - schema: *ref_71 + flattenedNames: + - properties + - sessions + serializedName: sessions + language: + default: + name: sessions + description: Number of sessions on SessionHost. + cli: + name: sessions + description: Number of sessions on SessionHost. + cliKey: sessions + protocol: {} + - schema: *ref_72 + flattenedNames: + - properties + - agentVersion + serializedName: agentVersion + language: + default: + name: agent_version + description: Version of agent on SessionHost. + cli: + name: agentVersion + description: Version of agent on SessionHost. + cliKey: agentVersion + protocol: {} + - schema: *ref_73 + flattenedNames: + - properties + - allowNewSession + serializedName: allowNewSession + language: + default: + name: allow_new_session + description: Allow a new session. + cli: + name: allowNewSession + description: Allow a new session. + cliKey: allowNewSession + protocol: {} + - schema: *ref_74 + flattenedNames: + - properties + - assignedUser + serializedName: assignedUser + language: + default: + name: assigned_user + description: User assigned to SessionHost. + cli: + name: assignedUser + description: User assigned to SessionHost. + cliKey: assignedUser + protocol: {} + - schema: *ref_75 + flattenedNames: + - properties + - status + serializedName: status + language: + default: + name: status + description: Status for a SessionHost. + cli: + name: status + description: Status for a SessionHost. + cliKey: status + protocol: {} + - schema: *ref_76 + flattenedNames: + - properties + - statusTimestamp + readOnly: true + serializedName: statusTimestamp + language: + default: + name: status_timestamp + description: The timestamp of the status. + cli: + name: statusTimestamp + description: The timestamp of the status. + cliKey: statusTimestamp + protocol: {} + - schema: *ref_77 + flattenedNames: + - properties + - osVersion + serializedName: osVersion + language: + default: + name: os_version + description: The version of the OS on the session host. + cli: + name: osVersion + description: The version of the OS on the session host. + cliKey: osVersion + protocol: {} + - schema: *ref_78 + flattenedNames: + - properties + - sxSStackVersion + serializedName: sxSStackVersion + language: + default: + name: sx_s_stack_version + description: The version of the side by side stack on the session host. + cli: + name: sxSStackVersion + description: The version of the side by side stack on the session host. + cliKey: sxSStackVersion + protocol: {} + - schema: *ref_79 + flattenedNames: + - properties + - updateState + serializedName: updateState + language: + default: + name: update_state + description: Update state of a SessionHost. + cli: + name: updateState + description: Update state of a SessionHost. + cliKey: updateState + protocol: {} + - schema: *ref_80 + flattenedNames: + - properties + - lastUpdateTime + readOnly: true + serializedName: lastUpdateTime + language: + default: + name: last_update_time + description: The timestamp of the last update. + cli: + name: lastUpdateTime + description: The timestamp of the last update. + cliKey: lastUpdateTime + protocol: {} + - schema: *ref_81 + flattenedNames: + - properties + - updateErrorMessage + serializedName: updateErrorMessage + language: + default: + name: update_error_message + description: The error message. + cli: + name: updateErrorMessage + description: The error message. + cliKey: updateErrorMessage + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: SessionHost + description: Represents a SessionHost definition. + namespace: '' + cli: + name: SessionHost + description: Represents a SessionHost definition. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: SessionHost + protocol: {} + - &ref_90 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - &ref_440 + schema: *ref_73 + flattenedNames: + - properties + - allowNewSession + serializedName: allowNewSession + language: + default: + name: allow_new_session + description: Allow a new session. + cli: &ref_441 + name: allowNewSession + description: Allow a new session. + cliKey: allowNewSession + protocol: {} + - &ref_442 + schema: *ref_82 + flattenedNames: + - properties + - assignedUser + serializedName: assignedUser + language: + default: + name: assigned_user + description: User assigned to SessionHost. + cli: &ref_443 + name: assignedUser + description: User assigned to SessionHost. + cliKey: assignedUser + protocol: {} + serializationFormats: + - json + usage: + - input + - output + language: + default: + name: SessionHostPatch + description: SessionHost properties that can be patched. + namespace: '' + cli: + name: SessionHostPatch + description: SessionHost properties that can be patched. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: SessionHostPatch + protocol: {} + immediate: + - *ref_9 + - *ref_83 + - *ref_84 + - *ref_85 + - *ref_86 + - *ref_87 + - *ref_88 + - *ref_89 + - *ref_90 + properties: + - schema: *ref_91 + readOnly: true + serializedName: id + language: + default: + name: id + description: 'Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' + cli: + name: id + description: 'Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' + cliKey: id + protocol: {} + - schema: *ref_92 + readOnly: true + serializedName: name + language: + default: + name: name + description: The name of the resource + cli: + name: name + description: The name of the resource + cliKey: name + protocol: {} + - schema: *ref_93 + readOnly: true + serializedName: type + language: + default: + name: type + description: The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + cli: + name: type + description: The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + cliKey: type + protocol: {} + serializationFormats: + - json + usage: + - output + - input + extensions: + x-ms-azure-resource: true + language: + default: + name: Resource + description: '' + namespace: '' + cli: + name: Resource + description: '' + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 0 + propertyCountIfSimplifyWithoutSimpleObject: 0 + simplifiable: true + cliKey: Resource + protocol: {} + - *ref_9 + - *ref_34 + - &ref_140 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_94 + serializedName: code + language: + default: + name: code + description: Error code + cli: + name: code + description: Error code + cliKey: code + protocol: {} + - schema: *ref_95 + serializedName: message + language: + default: + name: message + description: Error message indicating why the operation failed. + cli: + name: message + description: Error message indicating why the operation failed. + cliKey: message + protocol: {} + serializationFormats: + - json + usage: + - output + language: + default: + name: CloudError + description: Error response of an operation failure + namespace: '' + cli: + name: CloudError + description: Error response of an operation failure + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 2 + simplifiable: true + cliKey: CloudError + protocol: {} + - &ref_162 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - &ref_164 + schema: *ref_39 + serializedName: tags + language: + default: + name: tags + description: tags to be updated + cli: &ref_165 + name: tags + description: tags to be updated + cliKey: tags + protocol: {} + - &ref_166 + schema: *ref_96 + flattenedNames: + - properties + - description + serializedName: description + language: + default: + name: description + description: Description of Workspace. + cli: &ref_167 + name: description + description: Description of Workspace. + cliKey: description + protocol: {} + - &ref_168 + schema: *ref_97 + flattenedNames: + - properties + - friendlyName + serializedName: friendlyName + language: + default: + name: friendly_name + description: Friendly name of Workspace. + cli: &ref_169 + name: friendlyName + description: Friendly name of Workspace. + cliKey: friendlyName + protocol: {} + - &ref_170 + schema: &ref_120 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_98 + language: + default: + name: WorkspacePatchPropertiesApplicationGroupReferences + description: List of applicationGroup links. + cli: + name: WorkspacePatchPropertiesApplicationGroupReferences + description: List of applicationGroup links. + cli-complexity: array_simple + cli-mark: checked + protocol: {} + flattenedNames: + - properties + - applicationGroupReferences + serializedName: applicationGroupReferences + language: + default: + name: application_group_references + description: List of applicationGroup links. + cli: &ref_171 + name: applicationGroupReferences + description: List of applicationGroup links. + cliKey: applicationGroupReferences + protocol: {} + serializationFormats: + - json + usage: + - input + language: + default: + name: WorkspacePatch + description: Workspace properties that can be patched. + namespace: '' + cli: + name: WorkspacePatch + description: Workspace properties that can be patched. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: WorkspacePatch + protocol: {} + - &ref_179 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_121 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_34 + language: + default: + name: WorkspaceListValue + description: List of Workspace definitions. + cli: + name: WorkspaceListValue + description: List of Workspace definitions. + cli-complexity: array_complex + cli-mark: checked + protocol: {} + serializedName: value + language: + default: + name: value + description: List of Workspace definitions. + cli: + name: value + description: List of Workspace definitions. + cliKey: value + protocol: {} + - schema: *ref_99 + readOnly: true + serializedName: nextLink + language: + default: + name: next_link + description: Link to the next page of results. + cli: + name: nextLink + description: Link to the next page of results. + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: WorkspaceList + usage: + - output + language: + default: + name: WorkspaceList + description: List of Workspace definitions. + namespace: '' + summary: WorkspaceList + cli: + name: WorkspaceList + description: List of Workspace definitions. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: WorkspaceList + protocol: {} + - &ref_184 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_122 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_35 + language: + default: + name: ApplicationGroupListValue + description: List of ApplicationGroup definitions. + cli: + name: ApplicationGroupListValue + description: List of ApplicationGroup definitions. + cli-complexity: array_complex + cli-mark: checked + protocol: {} + serializedName: value + language: + default: + name: value + description: List of ApplicationGroup definitions. + cli: + name: value + description: List of ApplicationGroup definitions. + cliKey: value + protocol: {} + - schema: *ref_100 + readOnly: true + serializedName: nextLink + language: + default: + name: next_link + description: Link to the next page of results. + cli: + name: nextLink + description: Link to the next page of results. + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: ApplicationGroupList + usage: + - output + language: + default: + name: ApplicationGroupList + description: List of ApplicationGroup definitions. + namespace: '' + summary: ApplicationGroupList + cli: + name: ApplicationGroupList + description: List of ApplicationGroup definitions. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ApplicationGroupList + protocol: {} + - *ref_35 + - *ref_83 + - &ref_223 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_123 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_84 + language: + default: + name: StartMenuItemListValue + description: List of StartMenuItem definitions. + cli: + name: StartMenuItemListValue + description: List of StartMenuItem definitions. + cli-complexity: array_complex + cli-mark: checked + protocol: {} + serializedName: value + language: + default: + name: value + description: List of StartMenuItem definitions. + cli: + name: value + description: List of StartMenuItem definitions. + cliKey: value + protocol: {} + - schema: *ref_101 + readOnly: true + serializedName: nextLink + language: + default: + name: next_link + description: Link to the next page of results. + cli: + name: nextLink + description: Link to the next page of results. + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: StartMenuItemList + usage: + - output + language: + default: + name: StartMenuItemList + description: List of StartMenuItem definitions. + namespace: '' + summary: StartMenuItemList + cli: + name: StartMenuItemList + description: List of StartMenuItem definitions. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: StartMenuItemList + protocol: {} + - *ref_84 + - *ref_85 + - &ref_258 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - &ref_260 + schema: *ref_39 + serializedName: tags + language: + default: + name: tags + description: tags to be updated + cli: &ref_261 + name: tags + description: tags to be updated + cliKey: tags + protocol: {} + - &ref_262 + schema: *ref_102 + flattenedNames: + - properties + - description + serializedName: description + language: + default: + name: description + description: Description of Application. + cli: &ref_263 + name: description + description: Description of Application. + cliKey: description + protocol: {} + - &ref_264 + schema: *ref_103 + flattenedNames: + - properties + - friendlyName + serializedName: friendlyName + language: + default: + name: friendly_name + description: Friendly name of Application. + cli: &ref_265 + name: friendlyName + description: Friendly name of Application. + cliKey: friendlyName + protocol: {} + - &ref_266 + schema: *ref_104 + flattenedNames: + - properties + - filePath + serializedName: filePath + language: + default: + name: file_path + description: Specifies a path for the executable file for the application. + cli: &ref_267 + name: filePath + description: Specifies a path for the executable file for the application. + cliKey: filePath + protocol: {} + - &ref_268 + schema: *ref_51 + flattenedNames: + - properties + - commandLineSetting + serializedName: commandLineSetting + language: + default: + name: command_line_setting + description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' + cli: &ref_269 + name: commandLineSetting + description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' + cliKey: commandLineSetting + protocol: {} + - &ref_270 + schema: *ref_105 + flattenedNames: + - properties + - commandLineArguments + serializedName: commandLineArguments + language: + default: + name: command_line_arguments + description: Command Line Arguments for Application. + cli: &ref_271 + name: commandLineArguments + description: Command Line Arguments for Application. + cliKey: commandLineArguments + protocol: {} + - &ref_272 + schema: *ref_53 + flattenedNames: + - properties + - showInPortal + serializedName: showInPortal + language: + default: + name: show_in_portal + description: Specifies whether to show the RemoteApp program in the RD Web Access server. + cli: &ref_273 + name: showInPortal + description: Specifies whether to show the RemoteApp program in the RD Web Access server. + cliKey: showInPortal + protocol: {} + - &ref_274 + schema: *ref_106 + flattenedNames: + - properties + - iconPath + serializedName: iconPath + language: + default: + name: icon_path + description: Path to icon. + cli: &ref_275 + name: iconPath + description: Path to icon. + cliKey: iconPath + protocol: {} + - &ref_276 + schema: *ref_47 + flattenedNames: + - properties + - iconIndex + serializedName: iconIndex + language: + default: + name: icon_index + description: Index of the icon. + cli: &ref_277 + name: iconIndex + description: Index of the icon. + cliKey: iconIndex + protocol: {} + serializationFormats: + - json + usage: + - input + language: + default: + name: ApplicationPatch + description: Application properties that can be patched. + namespace: '' + cli: + name: ApplicationPatch + description: Application properties that can be patched. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ApplicationPatch + protocol: {} + - &ref_292 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_124 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_85 + language: + default: + name: ApplicationListValue + description: List of Application definitions. + cli: + name: ApplicationListValue + description: List of Application definitions. + cli-complexity: array_complex + cli-mark: checked + protocol: {} + serializedName: value + language: + default: + name: value + description: List of Application definitions. + cli: + name: value + description: List of Application definitions. + cliKey: value + protocol: {} + - schema: *ref_107 + readOnly: true + serializedName: nextLink + language: + default: + name: next_link + description: Link to the next page of results. + cli: + name: nextLink + description: Link to the next page of results. + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: ApplicationList + usage: + - output + language: + default: + name: ApplicationList + description: List of Application definitions. + namespace: '' + summary: ApplicationList + cli: + name: ApplicationList + description: List of Application definitions. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ApplicationList + protocol: {} + - *ref_86 + - &ref_296 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - &ref_298 + schema: *ref_39 + serializedName: tags + language: + default: + name: tags + description: tags to be updated + cli: &ref_299 + name: tags + description: tags to be updated + cliKey: tags + protocol: {} + - &ref_300 + schema: *ref_108 + flattenedNames: + - properties + - description + serializedName: description + language: + default: + name: description + description: Description of Desktop. + cli: &ref_301 + name: description + description: Description of Desktop. + cliKey: description + protocol: {} + - &ref_302 + schema: *ref_109 + flattenedNames: + - properties + - friendlyName + serializedName: friendlyName + language: + default: + name: friendly_name + description: Friendly name of Desktop. + cli: &ref_303 + name: friendlyName + description: Friendly name of Desktop. + cliKey: friendlyName + protocol: {} + serializationFormats: + - json + usage: + - input + language: + default: + name: DesktopPatch + description: Desktop properties that can be patched. + namespace: '' + cli: + name: DesktopPatch + description: Desktop properties that can be patched. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: DesktopPatch + protocol: {} + - &ref_312 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_125 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_86 + language: + default: + name: DesktopListValue + description: List of Desktop definitions. + cli: + name: DesktopListValue + description: List of Desktop definitions. + cli-complexity: array_complex + cli-mark: checked + protocol: {} + serializedName: value + language: + default: + name: value + description: List of Desktop definitions. + cli: + name: value + description: List of Desktop definitions. + cliKey: value + protocol: {} + - schema: *ref_110 + readOnly: true + serializedName: nextLink + language: + default: + name: next_link + description: Link to the next page of results. + cli: + name: nextLink + description: Link to the next page of results. + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: DesktopList + usage: + - output + language: + default: + name: DesktopList + description: List of Desktop definitions. + namespace: '' + summary: DesktopList + cli: + name: DesktopList + description: List of Desktop definitions. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: DesktopList + protocol: {} + - *ref_36 + - *ref_111 + - *ref_87 + - *ref_112 + - &ref_397 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_127 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_36 + language: + default: + name: HostPoolListValue + description: List of HostPool definitions. + cli: + name: HostPoolListValue + description: List of HostPool definitions. + cli-complexity: array_complex + cli-mark: checked + protocol: {} + serializedName: value + language: + default: + name: value + description: List of HostPool definitions. + cli: + name: value + description: List of HostPool definitions. + cliKey: value + protocol: {} + - schema: *ref_113 + readOnly: true + serializedName: nextLink + language: + default: + name: next_link + description: Link to the next page of results. + cli: + name: nextLink + description: Link to the next page of results. + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: HostPoolList + usage: + - output + language: + default: + name: HostPoolList + description: List of HostPool definitions. + namespace: '' + summary: HostPoolList + cli: + name: HostPoolList + description: List of HostPool definitions. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: HostPoolList + protocol: {} + - &ref_401 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_128 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_88 + language: + default: + name: UserSessionListValue + description: List of UserSession definitions. + cli: + name: UserSessionListValue + description: List of UserSession definitions. + cli-complexity: array_complex + cli-mark: checked + protocol: {} + serializedName: value + language: + default: + name: value + description: List of UserSession definitions. + cli: + name: value + description: List of UserSession definitions. + cliKey: value + protocol: {} + - schema: *ref_114 + readOnly: true + serializedName: nextLink + language: + default: + name: next_link + description: Link to the next page of results. + cli: + name: nextLink + description: Link to the next page of results. + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: UserSessionList + usage: + - output + language: + default: + name: UserSessionList + description: List of UserSession definitions. + namespace: '' + summary: UserSessionList + cli: + name: UserSessionList + description: List of UserSession definitions. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: UserSessionList + protocol: {} + - *ref_88 + - *ref_89 + - *ref_90 + - &ref_451 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_129 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_89 + language: + default: + name: SessionHostListValue + description: List of SessionHost definitions. + cli: + name: SessionHostListValue + description: List of SessionHost definitions. + cli-complexity: array_complex + cli-mark: checked + protocol: {} + serializedName: value + language: + default: + name: value + description: List of SessionHost definitions. + cli: + name: value + description: List of SessionHost definitions. + cliKey: value + protocol: {} + - schema: *ref_115 + readOnly: true + serializedName: nextLink + language: + default: + name: next_link + description: Link to the next page of results. + cli: + name: nextLink + description: Link to the next page of results. + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: SessionHostList + usage: + - output + language: + default: + name: SessionHostList + description: List of SessionHost definitions. + namespace: '' + summary: SessionHostList + cli: + name: SessionHostList + description: List of SessionHost definitions. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: SessionHostList + protocol: {} + - &ref_420 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - &ref_422 + schema: *ref_116 + serializedName: messageTitle + language: + default: + name: message_title + description: Title of message. + cli: &ref_423 + name: messageTitle + description: Title of message. + cliKey: messageTitle + protocol: {} + - &ref_424 + schema: *ref_117 + serializedName: messageBody + language: + default: + name: message_body + description: Body of message. + cli: &ref_425 + name: messageBody + description: Body of message. + cliKey: messageBody + protocol: {} + serializationFormats: + - json + usage: + - input + language: + default: + name: SendMessage + description: Represents message sent to a UserSession. + namespace: '' + cli: + name: SendMessage + description: Represents message sent to a UserSession. + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 2 + simplifiable: true + cliKey: SendMessage + protocol: {} + arrays: + - *ref_118 + - *ref_119 + - *ref_120 + - *ref_121 + - *ref_122 + - *ref_123 + - *ref_124 + - *ref_125 + - *ref_126 + - *ref_127 + - *ref_128 + - *ref_129 +globalParameters: + - &ref_135 + schema: *ref_130 + implementation: Client + required: true + extensions: + x-ms-priority: 0 + language: + default: + name: subscription_id + description: The ID of the target subscription. + serializedName: subscriptionId + cli: + name: subscriptionId + description: The ID of the target subscription. + cliKey: subscriptionId + protocol: + http: + in: path + - &ref_132 + schema: *ref_0 + clientDefaultValue: 'https://management.azure.com' + implementation: Client + origin: 'modelerfour:synthesized/host' + required: true + extensions: + x-ms-skip-url-encoding: true + language: + default: + name: $host + description: server parameter + serializedName: $host + cli: + name: $host + description: server parameter + cliKey: $host + protocol: + http: + in: uri + - &ref_133 + schema: *ref_131 + implementation: Client + origin: 'modelerfour:synthesized/api-version' + required: true + language: + default: + name: api_version + description: Api Version + serializedName: api-version + cli: + name: ApiVersion + description: Api Version + cliKey: ApiVersion + protocol: + http: + in: query +operationGroups: + - $key: Operations + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: /providers/Microsoft.DesktopVirtualization/operations + method: get + uri: '{$host}' + signatureParameters: [] + responses: + - schema: *ref_134 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + extensions: + x-ms-examples: + OperationDescription_List: + parameters: + api-version: 2019-12-10-preview + responses: + '200': + body: + value: + - name: Microsoft.DesktopVirtualization/ssocontext/read + display: + provider: Microsoft.DesktopVirtualization + resource: ssocontext + - name: Microsoft.DesktopVirtualization/ssocontext/write + display: + provider: Microsoft.DesktopVirtualization + resource: ssocontext + language: + default: + name: list + description: List all of the available operations the Desktop Virtualization resource provider supports. + cli: + name: List + description: List all of the available operations the Desktop Virtualization resource provider supports. + cliKey: List + hidden: true + protocol: {} + language: + default: + name: Operation + description: '' + cli: + name: Operation + description: '' + cliKey: Operations + protocol: {} + - $key: Workspaces + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_138 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_139 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: workspace_name + description: The name of the workspace + serializedName: workspaceName + cli: + name: workspaceName + description: The name of the workspace + cliKey: workspaceName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_138 + - *ref_139 + responses: + - schema: *ref_34 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Workspace_Get: + parameters: + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + workspaceName: workspace1 + responses: + '200': + body: + name: workspace1 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + language: + default: + name: get + description: Get a workspace. + cli: + name: Get + description: Get a workspace. + cliKey: Get + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_158 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_159 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: workspace_name + description: The name of the workspace + serializedName: workspaceName + cli: + name: workspaceName + description: The name of the workspace + cliKey: workspaceName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_141 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content_type + description: Body Parameter content-type + serializedName: Content-Type + cli: + name: ContentType + description: Body Parameter content-type + cliKey: content-type + protocol: + http: + in: header + - &ref_142 + schema: *ref_34 + flattened: true + implementation: Method + required: true + extensions: + x-ms-client-flatten: true + language: + default: + name: _workspace + description: Object containing Workspace definitions. + cli: + name: _workspace + description: Object containing Workspace definitions. + cliKey: workspace + protocol: + http: + in: body + style: json + - &ref_153 + schema: *ref_37 + implementation: Method + originalParameter: *ref_142 + pathToProperty: [] + required: false + targetProperty: *ref_143 + language: + default: + name: tags + description: Resource tags. + cli: *ref_144 + protocol: {} + - &ref_154 + schema: *ref_38 + implementation: Method + originalParameter: *ref_142 + pathToProperty: [] + required: true + targetProperty: *ref_145 + language: + default: + name: location + description: The geo-location where the resource lives + cli: *ref_146 + protocol: {} + - &ref_155 + schema: *ref_11 + implementation: Method + originalParameter: *ref_142 + pathToProperty: [] + targetProperty: *ref_147 + language: + default: + name: description + description: Description of Workspace. + cli: *ref_148 + protocol: {} + - &ref_156 + schema: *ref_12 + implementation: Method + originalParameter: *ref_142 + pathToProperty: [] + targetProperty: *ref_149 + language: + default: + name: friendly_name + description: Friendly name of Workspace. + cli: *ref_150 + protocol: {} + - &ref_157 + schema: *ref_119 + implementation: Method + originalParameter: *ref_142 + pathToProperty: [] + targetProperty: *ref_151 + language: + default: + name: application_group_references + description: List of applicationGroup resource Ids. + cli: *ref_152 + protocol: {} + signatureParameters: + - *ref_153 + - *ref_154 + - *ref_155 + - *ref_156 + - *ref_157 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' + method: put + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_158 + - *ref_159 + responses: + - schema: *ref_34 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + - schema: *ref_34 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '201' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Workspace_Create: + parameters: + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + workspace: + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + tag1: value1 + tag2: value2 + workspaceName: workspace1 + responses: + '200': + body: + name: workspace1 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + '201': + body: + name: workspace1 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + language: + default: + name: create_or_update + description: Create or update a workspace. + cli: + name: CreateOrUpdate + description: Create or update a workspace. + cliKey: CreateOrUpdate + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_160 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_161 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: workspace_name + description: The name of the workspace + serializedName: workspaceName + cli: + name: workspaceName + description: The name of the workspace + cliKey: workspaceName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' + method: delete + uri: '{$host}' + signatureParameters: + - *ref_160 + - *ref_161 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '204' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Workspace_Delete: + parameters: + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + workspaceName: workspace1 + responses: + '200': + name: workspace1 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + '204': {} + language: + default: + name: delete + description: Remove a workspace. + cli: + name: Delete + description: Remove a workspace. + cliKey: Delete + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_176 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_177 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: workspace_name + description: The name of the workspace + serializedName: workspaceName + cli: + name: workspaceName + description: The name of the workspace + cliKey: workspaceName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_141 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content_type + description: Body Parameter content-type + serializedName: Content-Type + cli: + name: ContentType + description: Body Parameter content-type + cliKey: content-type + protocol: + http: + in: header + - &ref_163 + schema: *ref_162 + flattened: true + implementation: Method + required: false + extensions: + x-ms-client-flatten: true + language: + default: + name: _workspace + description: Object containing Workspace definitions. + cli: + name: _workspace + description: Object containing Workspace definitions. + cliKey: workspace + protocol: + http: + in: body + style: json + - &ref_172 + schema: *ref_39 + implementation: Method + originalParameter: *ref_163 + pathToProperty: [] + targetProperty: *ref_164 + language: + default: + name: tags + description: tags to be updated + cli: *ref_165 + protocol: {} + - &ref_173 + schema: *ref_96 + implementation: Method + originalParameter: *ref_163 + pathToProperty: [] + targetProperty: *ref_166 + language: + default: + name: description + description: Description of Workspace. + cli: *ref_167 + protocol: {} + - &ref_174 + schema: *ref_97 + implementation: Method + originalParameter: *ref_163 + pathToProperty: [] + targetProperty: *ref_168 + language: + default: + name: friendly_name + description: Friendly name of Workspace. + cli: *ref_169 + protocol: {} + - &ref_175 + schema: *ref_120 + implementation: Method + originalParameter: *ref_163 + pathToProperty: [] + targetProperty: *ref_170 + language: + default: + name: application_group_references + description: List of applicationGroup links. + cli: *ref_171 + protocol: {} + signatureParameters: + - *ref_172 + - *ref_173 + - *ref_174 + - *ref_175 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' + method: patch + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_176 + - *ref_177 + responses: + - schema: *ref_34 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Workspace_Update: + parameters: + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + workspace: + properties: + description: des1 + friendlyName: friendly + tags: + tag1: value1 + tag2: value2 + workspaceName: workspace1 + responses: + '200': + body: + name: workspace1 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + language: + default: + name: update + description: Update a workspace. + cli: + name: Update + description: Update a workspace. + cliKey: Update + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_178 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces' + method: get + uri: '{$host}' + signatureParameters: + - *ref_178 + responses: + - schema: *ref_179 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Workspace_ListByResourceGroup: + parameters: + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: workspace1 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + - name: workspace2 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace2 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: list_by_resource_group + description: List workspaces. + paging: + nextLinkName: nextLink + cli: + name: ListByResourceGroup + description: List workspaces. + cliKey: ListByResourceGroup + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/workspaces' + method: get + uri: '{$host}' + signatureParameters: [] + responses: + - schema: *ref_179 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Workspace_ListBySubscription: + parameters: + api-version: 2019-12-10-preview + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: workspace1 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + - name: workspace2 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace2 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: list_by_subscription + description: List workspaces in subscription. + paging: + nextLinkName: nextLink + cli: + name: ListBySubscription + description: List workspaces in subscription. + cliKey: ListBySubscription + protocol: {} + language: + default: + name: Workspace + description: '' + cli: + name: Workspace + description: '' + cliKey: Workspaces + protocol: {} + - $key: ApplicationGroupAssignments + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_181 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_182 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: workspace_name + description: The name of the workspace + serializedName: workspaceName + cli: + name: workspaceName + description: The name of the workspace + cliKey: workspaceName + protocol: + http: + in: path + - &ref_183 + schema: *ref_180 + implementation: Method + language: + default: + name: filter + description: OData filter expression. Valid properties for filtering are applicationGroupType. + serializedName: $filter + cli: + name: filter + description: OData filter expression. Valid properties for filtering are applicationGroupType. + cliKey: $filter + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}/userApplicationGroupAssignments' + method: get + uri: '{$host}' + signatureParameters: + - *ref_181 + - *ref_182 + - *ref_183 + responses: + - schema: *ref_184 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ApplicationGroupAssignment_WorkspaceLevelList: + parameters: + $filter: userPrincipalName eq 'user1@microsoft.com' + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + workspaceName: workspace1 + responses: + '200': + body: + value: + - name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + - name: applicationGroup2 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: workspace_level_list + description: List application group that user can use. + paging: + nextLinkName: nextLink + cli: + name: WorkspaceLevelList + description: List application group that user can use. + cliKey: WorkspaceLevelList + protocol: {} + language: + default: + name: ApplicationGroupAssignment + description: '' + cli: + name: ApplicationGroupAssignment + description: '' + cliKey: ApplicationGroupAssignments + hidden: true + protocol: {} + - $key: ApplicationGroups + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_185 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_186 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_group_name + description: The name of the application group + serializedName: applicationGroupName + cli: + name: applicationGroupName + description: The name of the application group + cliKey: applicationGroupName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_185 + - *ref_186 + responses: + - schema: *ref_35 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ApplicationGroup_Get: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + language: + default: + name: get + description: Get an application group. + cli: + name: Get + description: Get an application group. + cliKey: Get + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_202 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_203 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_group_name + description: The name of the application group + serializedName: applicationGroupName + cli: + name: applicationGroupName + description: The name of the application group + cliKey: applicationGroupName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_141 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content_type + description: Body Parameter content-type + serializedName: Content-Type + cli: + name: ContentType + description: Body Parameter content-type + cliKey: content-type + protocol: + http: + in: header + - &ref_187 + schema: *ref_35 + flattened: true + implementation: Method + required: true + extensions: + x-ms-client-flatten: true + language: + default: + name: _application_group + description: Object containing ApplicationGroup definitions. + cli: + name: _application_group + description: Object containing ApplicationGroup definitions. + cliKey: applicationGroup + protocol: + http: + in: body + style: json + - &ref_196 + schema: *ref_37 + implementation: Method + originalParameter: *ref_187 + pathToProperty: [] + required: false + targetProperty: *ref_143 + language: + default: + name: tags + description: Resource tags. + cli: *ref_144 + protocol: {} + - &ref_197 + schema: *ref_38 + implementation: Method + originalParameter: *ref_187 + pathToProperty: [] + required: true + targetProperty: *ref_145 + language: + default: + name: location + description: The geo-location where the resource lives + cli: *ref_146 + protocol: {} + - &ref_198 + schema: *ref_14 + implementation: Method + originalParameter: *ref_187 + pathToProperty: [] + required: false + targetProperty: *ref_188 + language: + default: + name: description + description: Description of ApplicationGroup. + cli: *ref_189 + protocol: {} + - &ref_199 + schema: *ref_15 + implementation: Method + originalParameter: *ref_187 + pathToProperty: [] + required: false + targetProperty: *ref_190 + language: + default: + name: friendly_name + description: Friendly name of ApplicationGroup. + cli: *ref_191 + protocol: {} + - &ref_200 + schema: *ref_16 + implementation: Method + originalParameter: *ref_187 + pathToProperty: [] + required: true + targetProperty: *ref_192 + language: + default: + name: host_pool_arm_path + description: HostPool arm path of ApplicationGroup. + cli: *ref_193 + protocol: {} + - &ref_201 + schema: *ref_18 + implementation: Method + originalParameter: *ref_187 + pathToProperty: [] + required: true + targetProperty: *ref_194 + language: + default: + name: application_group_type + description: Resource Type of ApplicationGroup. + cli: *ref_195 + protocol: {} + signatureParameters: + - *ref_196 + - *ref_197 + - *ref_198 + - *ref_199 + - *ref_200 + - *ref_201 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' + method: put + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_202 + - *ref_203 + responses: + - schema: *ref_35 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + - schema: *ref_35 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '201' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ApplicationGroup_Create: + parameters: + api-version: 2019-12-10-preview + applicationGroup: + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + tags: + tag1: value1 + tag2: value2 + applicationGroupName: applicationGroup1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + '201': + body: + name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + language: + default: + name: create_or_update + description: Create or update an applicationGroup. + cli: + name: CreateOrUpdate + description: Create or update an applicationGroup. + cliKey: CreateOrUpdate + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_204 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_205 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_group_name + description: The name of the application group + serializedName: applicationGroupName + cli: + name: applicationGroupName + description: The name of the application group + cliKey: applicationGroupName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' + method: delete + uri: '{$host}' + signatureParameters: + - *ref_204 + - *ref_205 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '204' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ApplicationGroup_Delete: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + '204': {} + language: + default: + name: delete + description: Remove an applicationGroup. + cli: + name: Delete + description: Remove an applicationGroup. + cliKey: Delete + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_216 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_217 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_group_name + description: The name of the application group + serializedName: applicationGroupName + cli: + name: applicationGroupName + description: The name of the application group + cliKey: applicationGroupName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_141 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content_type + description: Body Parameter content-type + serializedName: Content-Type + cli: + name: ContentType + description: Body Parameter content-type + cliKey: content-type + protocol: + http: + in: header + - &ref_206 + schema: *ref_83 + flattened: true + implementation: Method + required: false + extensions: + x-ms-client-flatten: true + language: + default: + name: _application_group + description: Object containing ApplicationGroup definitions. + cli: + name: _application_group + description: Object containing ApplicationGroup definitions. + cliKey: applicationGroup + protocol: + http: + in: body + style: json + - &ref_213 + schema: *ref_39 + implementation: Method + originalParameter: *ref_206 + pathToProperty: [] + targetProperty: *ref_207 + language: + default: + name: tags + description: tags to be updated + cli: *ref_208 + protocol: {} + - &ref_214 + schema: *ref_40 + implementation: Method + originalParameter: *ref_206 + pathToProperty: [] + targetProperty: *ref_209 + language: + default: + name: description + description: Description of ApplicationGroup. + cli: *ref_210 + protocol: {} + - &ref_215 + schema: *ref_41 + implementation: Method + originalParameter: *ref_206 + pathToProperty: [] + targetProperty: *ref_211 + language: + default: + name: friendly_name + description: Friendly name of ApplicationGroup. + cli: *ref_212 + protocol: {} + signatureParameters: + - *ref_213 + - *ref_214 + - *ref_215 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' + method: patch + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_216 + - *ref_217 + responses: + - schema: *ref_35 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ApplicationGroups_Update: + parameters: + api-version: 2019-12-10-preview + applicationGroup: + properties: + description: des1 + friendlyName: friendly + tags: + tag1: value1 + tag2: value2 + applicationGroupName: applicationGroup1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + language: + default: + name: update + description: Update an applicationGroup. + cli: + name: Update + description: Update an applicationGroup. + cliKey: Update + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_218 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_219 + schema: *ref_180 + implementation: Method + language: + default: + name: filter + description: OData filter expression. Valid properties for filtering are applicationGroupType. + serializedName: $filter + cli: + name: filter + description: OData filter expression. Valid properties for filtering are applicationGroupType. + cliKey: $filter + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups' + method: get + uri: '{$host}' + signatureParameters: + - *ref_218 + - *ref_219 + responses: + - schema: *ref_184 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ApplicationGroup_ListByResourceGroup: + parameters: + $filter: applicationGroupType eq 'RailApplication' + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + - name: applicationGroup2 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: list_by_resource_group + description: List applicationGroups. + paging: + nextLinkName: nextLink + cli: + name: ListByResourceGroup + description: List applicationGroups. + cliKey: ListByResourceGroup + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_220 + schema: *ref_180 + implementation: Method + language: + default: + name: filter + description: OData filter expression. Valid properties for filtering are applicationGroupType. + serializedName: $filter + cli: + name: filter + description: OData filter expression. Valid properties for filtering are applicationGroupType. + cliKey: $filter + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/applicationGroups' + method: get + uri: '{$host}' + signatureParameters: + - *ref_220 + responses: + - schema: *ref_184 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ApplicationGroup_List: + parameters: + $filter: applicationGroupType eq 'RailApplication' + api-version: 2019-12-10-preview + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + - name: applicationGroup2 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: list_by_subscription + description: List applicationGroups in subscription. + paging: + nextLinkName: nextLink + cli: + name: ListBySubscription + description: List applicationGroups in subscription. + cliKey: ListBySubscription + protocol: {} + language: + default: + name: ApplicationGroup + description: '' + cli: + name: ApplicationGroup + description: '' + cliKey: ApplicationGroups + protocol: {} + - $key: StartMenuItems + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_221 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_222 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_group_name + description: The name of the application group + serializedName: applicationGroupName + cli: + name: applicationGroupName + description: The name of the application group + cliKey: applicationGroupName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/startMenuItems' + method: get + uri: '{$host}' + signatureParameters: + - *ref_221 + - *ref_222 + responses: + - schema: *ref_223 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + StartMenuItem_List: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: application1 + type: Microsoft.DesktopVirtualization/applicationGroups/startMenuItems + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/startMenuItem/application1 + properties: + appAlias: word + commandLineArguments: arguments + filePath: /path/to/file + friendlyName: friendly + iconIndex: 1 + iconPath: /path/to/icon + - name: application2 + type: Microsoft.DesktopVirtualization/applicationGroups/startMenuItems + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/startMenuItem/application2 + properties: + appAlias: excel + commandLineArguments: arguments + filePath: /path/to/file + friendlyName: friendly + iconIndex: 1 + iconPath: /path/to/icon + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: list + description: List start menu items in the given application group. + paging: + nextLinkName: nextLink + cli: + name: List + description: List start menu items in the given application group. + cliKey: List + protocol: {} + language: + default: + name: StartMenuItem + description: '' + cli: + name: StartMenuItem + description: '' + cliKey: StartMenuItems + hidden: true + protocol: {} + - $key: Applications + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_224 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_225 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_group_name + description: The name of the application group + serializedName: applicationGroupName + cli: + name: applicationGroupName + description: The name of the application group + cliKey: applicationGroupName + protocol: + http: + in: path + - &ref_226 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_name + description: The name of the application within the specified application group + serializedName: applicationName + cli: + name: applicationName + description: The name of the application within the specified application group + cliKey: applicationName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_224 + - *ref_225 + - *ref_226 + responses: + - schema: *ref_85 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Application_Get: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + applicationName: application1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1/application1 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + language: + default: + name: get + description: Get an application. + cli: + name: Get + description: Get an application. + cliKey: Get + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_252 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_253 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_group_name + description: The name of the application group + serializedName: applicationGroupName + cli: + name: applicationGroupName + description: The name of the application group + cliKey: applicationGroupName + protocol: + http: + in: path + - &ref_254 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_name + description: The name of the application within the specified application group + serializedName: applicationName + cli: + name: applicationName + description: The name of the application within the specified application group + cliKey: applicationName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_141 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content_type + description: Body Parameter content-type + serializedName: Content-Type + cli: + name: ContentType + description: Body Parameter content-type + cliKey: content-type + protocol: + http: + in: header + - &ref_227 + schema: *ref_85 + flattened: true + implementation: Method + required: true + extensions: + x-ms-client-flatten: true + language: + default: + name: _application + description: Object containing Application definitions. + cli: + name: _application + description: Object containing Application definitions. + cliKey: application + protocol: + http: + in: body + style: json + - &ref_244 + schema: *ref_48 + implementation: Method + originalParameter: *ref_227 + pathToProperty: [] + required: false + targetProperty: *ref_228 + language: + default: + name: description + description: Description of Application. + cli: *ref_229 + protocol: {} + - &ref_245 + schema: *ref_49 + implementation: Method + originalParameter: *ref_227 + pathToProperty: [] + required: false + targetProperty: *ref_230 + language: + default: + name: friendly_name + description: Friendly name of Application. + cli: *ref_231 + protocol: {} + - &ref_246 + schema: *ref_50 + implementation: Method + originalParameter: *ref_227 + pathToProperty: [] + required: false + targetProperty: *ref_232 + language: + default: + name: file_path + description: Specifies a path for the executable file for the application. + cli: *ref_233 + protocol: {} + - &ref_247 + schema: *ref_51 + implementation: Method + originalParameter: *ref_227 + pathToProperty: [] + required: true + targetProperty: *ref_234 + language: + default: + name: command_line_setting + description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' + cli: *ref_235 + protocol: {} + - &ref_248 + schema: *ref_52 + implementation: Method + originalParameter: *ref_227 + pathToProperty: [] + required: false + targetProperty: *ref_236 + language: + default: + name: command_line_arguments + description: Command Line Arguments for Application. + cli: *ref_237 + protocol: {} + - &ref_249 + schema: *ref_53 + implementation: Method + originalParameter: *ref_227 + pathToProperty: [] + required: false + targetProperty: *ref_238 + language: + default: + name: show_in_portal + description: Specifies whether to show the RemoteApp program in the RD Web Access server. + cli: *ref_239 + protocol: {} + - &ref_250 + schema: *ref_54 + implementation: Method + originalParameter: *ref_227 + pathToProperty: [] + required: false + targetProperty: *ref_240 + language: + default: + name: icon_path + description: Path to icon. + cli: *ref_241 + protocol: {} + - &ref_251 + schema: *ref_47 + implementation: Method + originalParameter: *ref_227 + pathToProperty: [] + required: false + targetProperty: *ref_242 + language: + default: + name: icon_index + description: Index of the icon. + cli: *ref_243 + protocol: {} + signatureParameters: + - *ref_244 + - *ref_245 + - *ref_246 + - *ref_247 + - *ref_248 + - *ref_249 + - *ref_250 + - *ref_251 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' + method: put + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_252 + - *ref_253 + - *ref_254 + responses: + - schema: *ref_85 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + - schema: *ref_85 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '201' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Application_Create: + parameters: + api-version: 2019-12-10-preview + application: + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconIndex: 1 + iconPath: icon + showInPortal: true + applicationGroupName: applicationGroup1 + applicationName: application1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1/application1 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + '201': + body: + name: applicationGroup1/application1 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + language: + default: + name: create_or_update + description: Create or update an application. + cli: + name: CreateOrUpdate + description: Create or update an application. + cliKey: CreateOrUpdate + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_255 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_256 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_group_name + description: The name of the application group + serializedName: applicationGroupName + cli: + name: applicationGroupName + description: The name of the application group + cliKey: applicationGroupName + protocol: + http: + in: path + - &ref_257 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_name + description: The name of the application within the specified application group + serializedName: applicationName + cli: + name: applicationName + description: The name of the application within the specified application group + cliKey: applicationName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' + method: delete + uri: '{$host}' + signatureParameters: + - *ref_255 + - *ref_256 + - *ref_257 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '204' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Application_Delete: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + applicationName: application1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + name: applicationGroup1/application1 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + '204': {} + language: + default: + name: delete + description: Remove an application. + cli: + name: Delete + description: Remove an application. + cliKey: Delete + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_287 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_288 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_group_name + description: The name of the application group + serializedName: applicationGroupName + cli: + name: applicationGroupName + description: The name of the application group + cliKey: applicationGroupName + protocol: + http: + in: path + - &ref_289 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_name + description: The name of the application within the specified application group + serializedName: applicationName + cli: + name: applicationName + description: The name of the application within the specified application group + cliKey: applicationName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_141 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content_type + description: Body Parameter content-type + serializedName: Content-Type + cli: + name: ContentType + description: Body Parameter content-type + cliKey: content-type + protocol: + http: + in: header + - &ref_259 + schema: *ref_258 + flattened: true + implementation: Method + required: false + extensions: + x-ms-client-flatten: true + language: + default: + name: _application + description: Object containing Application definitions. + cli: + name: _application + description: Object containing Application definitions. + cliKey: application + protocol: + http: + in: body + style: json + - &ref_278 + schema: *ref_39 + implementation: Method + originalParameter: *ref_259 + pathToProperty: [] + targetProperty: *ref_260 + language: + default: + name: tags + description: tags to be updated + cli: *ref_261 + protocol: {} + - &ref_279 + schema: *ref_102 + implementation: Method + originalParameter: *ref_259 + pathToProperty: [] + targetProperty: *ref_262 + language: + default: + name: description + description: Description of Application. + cli: *ref_263 + protocol: {} + - &ref_280 + schema: *ref_103 + implementation: Method + originalParameter: *ref_259 + pathToProperty: [] + targetProperty: *ref_264 + language: + default: + name: friendly_name + description: Friendly name of Application. + cli: *ref_265 + protocol: {} + - &ref_281 + schema: *ref_104 + implementation: Method + originalParameter: *ref_259 + pathToProperty: [] + targetProperty: *ref_266 + language: + default: + name: file_path + description: Specifies a path for the executable file for the application. + cli: *ref_267 + protocol: {} + - &ref_282 + schema: *ref_51 + implementation: Method + originalParameter: *ref_259 + pathToProperty: [] + targetProperty: *ref_268 + language: + default: + name: command_line_setting + description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' + cli: *ref_269 + protocol: {} + - &ref_283 + schema: *ref_105 + implementation: Method + originalParameter: *ref_259 + pathToProperty: [] + targetProperty: *ref_270 + language: + default: + name: command_line_arguments + description: Command Line Arguments for Application. + cli: *ref_271 + protocol: {} + - &ref_284 + schema: *ref_53 + implementation: Method + originalParameter: *ref_259 + pathToProperty: [] + targetProperty: *ref_272 + language: + default: + name: show_in_portal + description: Specifies whether to show the RemoteApp program in the RD Web Access server. + cli: *ref_273 + protocol: {} + - &ref_285 + schema: *ref_106 + implementation: Method + originalParameter: *ref_259 + pathToProperty: [] + targetProperty: *ref_274 + language: + default: + name: icon_path + description: Path to icon. + cli: *ref_275 + protocol: {} + - &ref_286 + schema: *ref_47 + implementation: Method + originalParameter: *ref_259 + pathToProperty: [] + targetProperty: *ref_276 + language: + default: + name: icon_index + description: Index of the icon. + cli: *ref_277 + protocol: {} + signatureParameters: + - *ref_278 + - *ref_279 + - *ref_280 + - *ref_281 + - *ref_282 + - *ref_283 + - *ref_284 + - *ref_285 + - *ref_286 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' + method: patch + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_287 + - *ref_288 + - *ref_289 + responses: + - schema: *ref_85 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Application_Update: + parameters: + api-version: 2019-12-10-preview + application: + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconIndex: 1 + iconPath: icon + showInPortal: true + applicationGroupName: applicationGroup1 + applicationName: application1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1/application1 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + language: + default: + name: update + description: Update an application. + cli: + name: Update + description: Update an application. + cliKey: Update + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_290 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_291 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_group_name + description: The name of the application group + serializedName: applicationGroupName + cli: + name: applicationGroupName + description: The name of the application group + cliKey: applicationGroupName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications' + method: get + uri: '{$host}' + signatureParameters: + - *ref_290 + - *ref_291 + responses: + - schema: *ref_292 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Applications_List: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: applicationGroup1/application1 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + - name: applicationGroup1/application2 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application2 + properties: + description: des2 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: list + description: List applications. + paging: + nextLinkName: nextLink + cli: + name: List + description: List applications. + cliKey: List + protocol: {} + language: + default: + name: Application + description: '' + cli: + name: Application + description: '' + cliKey: Applications + hidden: true + protocol: {} + - $key: Desktops + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_293 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_294 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_group_name + description: The name of the application group + serializedName: applicationGroupName + cli: + name: applicationGroupName + description: The name of the application group + cliKey: applicationGroupName + protocol: + http: + in: path + - &ref_295 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: desktop_name + description: The name of the desktop within the specified desktop group + serializedName: desktopName + cli: + name: desktopName + description: The name of the desktop within the specified desktop group + cliKey: desktopName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops/{desktopName}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_293 + - *ref_294 + - *ref_295 + responses: + - schema: *ref_86 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Desktop_Get: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + desktopName: SessionDesktop + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1/SessionDesktop + type: Microsoft.DesktopVirtualization/applicationGroups/desktops + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/SessionDesktop + properties: + description: des1 + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + language: + default: + name: get + description: Get a desktop. + cli: + name: Get + description: Get a desktop. + cliKey: Get + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_307 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_308 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_group_name + description: The name of the application group + serializedName: applicationGroupName + cli: + name: applicationGroupName + description: The name of the application group + cliKey: applicationGroupName + protocol: + http: + in: path + - &ref_309 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: desktop_name + description: The name of the desktop within the specified desktop group + serializedName: desktopName + cli: + name: desktopName + description: The name of the desktop within the specified desktop group + cliKey: desktopName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_141 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content_type + description: Body Parameter content-type + serializedName: Content-Type + cli: + name: ContentType + description: Body Parameter content-type + cliKey: content-type + protocol: + http: + in: header + - &ref_297 + schema: *ref_296 + flattened: true + implementation: Method + required: false + extensions: + x-ms-client-flatten: true + language: + default: + name: _desktop + description: Object containing Desktop definitions. + cli: + name: _desktop + description: Object containing Desktop definitions. + cliKey: desktop + protocol: + http: + in: body + style: json + - &ref_304 + schema: *ref_39 + implementation: Method + originalParameter: *ref_297 + pathToProperty: [] + targetProperty: *ref_298 + language: + default: + name: tags + description: tags to be updated + cli: *ref_299 + protocol: {} + - &ref_305 + schema: *ref_108 + implementation: Method + originalParameter: *ref_297 + pathToProperty: [] + targetProperty: *ref_300 + language: + default: + name: description + description: Description of Desktop. + cli: *ref_301 + protocol: {} + - &ref_306 + schema: *ref_109 + implementation: Method + originalParameter: *ref_297 + pathToProperty: [] + targetProperty: *ref_302 + language: + default: + name: friendly_name + description: Friendly name of Desktop. + cli: *ref_303 + protocol: {} + signatureParameters: + - *ref_304 + - *ref_305 + - *ref_306 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops/{desktopName}' + method: patch + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_307 + - *ref_308 + - *ref_309 + responses: + - schema: *ref_86 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Desktop_Update: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + desktop: + properties: + description: des1 + friendlyName: friendly + desktopName: SessionDesktop + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1/SessionDesktop + type: Microsoft.DesktopVirtualization/applicationGroups/desktops + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/desktops/SessionDesktop + properties: + description: des1 + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + language: + default: + name: update + description: Update a desktop. + cli: + name: Update + description: Update a desktop. + cliKey: Update + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_310 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_311 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_group_name + description: The name of the application group + serializedName: applicationGroupName + cli: + name: applicationGroupName + description: The name of the application group + cliKey: applicationGroupName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops' + method: get + uri: '{$host}' + signatureParameters: + - *ref_310 + - *ref_311 + responses: + - schema: *ref_312 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Desktop_List: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: applicationGroup1/SessionDesktop + type: Microsoft.DesktopVirtualization/applicationGroups/desktops + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/SessionDesktop + properties: + description: des1 + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + language: + default: + name: list + description: List desktops. + cli: + name: List + description: List desktops. + cliKey: List + protocol: {} + language: + default: + name: Desktop + description: '' + cli: + name: Desktop + description: '' + cliKey: Desktops + hidden: true + protocol: {} + - $key: HostPools + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_313 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_314 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + name: hostPoolName + description: The name of the host pool within the specified resource group + cliKey: hostPoolName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_313 + - *ref_314 + responses: + - schema: *ref_36 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + HostPool_Get: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: hostPool1 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2008-09-22T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + language: + default: + name: get + description: Get a host pool. + cli: + name: Get + description: Get a host pool. + cliKey: Get + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_354 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_355 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + name: hostPoolName + description: The name of the host pool within the specified resource group + cliKey: hostPoolName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_141 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content_type + description: Body Parameter content-type + serializedName: Content-Type + cli: + name: ContentType + description: Body Parameter content-type + cliKey: content-type + protocol: + http: + in: header + - &ref_315 + schema: *ref_36 + flattened: true + implementation: Method + required: true + extensions: + x-ms-client-flatten: true + language: + default: + name: _host_pool + description: Object containing HostPool definitions. + cli: + name: _host_pool + description: Object containing HostPool definitions. + cliKey: hostPool + protocol: + http: + in: body + style: json + - &ref_340 + schema: *ref_37 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: false + targetProperty: *ref_143 + language: + default: + name: tags + description: Resource tags. + cli: *ref_144 + protocol: {} + - &ref_341 + schema: *ref_38 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: true + targetProperty: *ref_145 + language: + default: + name: location + description: The geo-location where the resource lives + cli: *ref_146 + protocol: {} + - &ref_342 + schema: *ref_19 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: false + targetProperty: *ref_316 + language: + default: + name: friendly_name + description: Friendly name of HostPool. + cli: *ref_317 + protocol: {} + - &ref_343 + schema: *ref_20 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: false + targetProperty: *ref_318 + language: + default: + name: description + description: Description of HostPool. + cli: *ref_319 + protocol: {} + - &ref_344 + schema: *ref_21 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: true + targetProperty: *ref_320 + language: + default: + name: host_pool_type + description: HostPool type for desktop. + cli: *ref_321 + protocol: {} + - &ref_345 + schema: *ref_22 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: true + targetProperty: *ref_322 + language: + default: + name: personal_desktop_assignment_type + description: PersonalDesktopAssignment type for HostPool. + cli: *ref_323 + protocol: {} + - &ref_346 + schema: *ref_23 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: false + targetProperty: *ref_324 + language: + default: + name: custom_rdp_property + description: Custom rdp property of HostPool. + cli: *ref_325 + protocol: {} + - &ref_347 + schema: *ref_24 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: false + targetProperty: *ref_326 + language: + default: + name: max_session_limit + description: The max session limit of HostPool. + cli: *ref_327 + protocol: {} + - &ref_348 + schema: *ref_25 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: true + targetProperty: *ref_328 + language: + default: + name: load_balancer_type + description: The type of the load balancer. + cli: *ref_329 + protocol: {} + - &ref_349 + schema: *ref_26 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: false + targetProperty: *ref_330 + language: + default: + name: ring + description: The ring number of HostPool. + cli: *ref_331 + protocol: {} + - &ref_350 + schema: *ref_27 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: false + targetProperty: *ref_332 + language: + default: + name: validation_environment + description: Is validation environment. + cli: *ref_333 + protocol: {} + - &ref_351 + schema: *ref_111 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: false + targetProperty: *ref_334 + language: + default: + name: registration_info + description: The registration info of HostPool. + cli: *ref_335 + protocol: {} + - &ref_352 + schema: *ref_31 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: false + targetProperty: *ref_336 + language: + default: + name: vm_template + description: VM template for sessionhosts configuration within hostpool. + cli: *ref_337 + protocol: {} + - &ref_353 + schema: *ref_33 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: false + targetProperty: *ref_338 + language: + default: + name: sso_context + description: Path to keyvault containing ssoContext secret. + cli: *ref_339 + protocol: {} + signatureParameters: + - *ref_340 + - *ref_341 + - *ref_342 + - *ref_343 + - *ref_344 + - *ref_345 + - *ref_346 + - *ref_347 + - *ref_348 + - *ref_349 + - *ref_350 + - *ref_351 + - *ref_352 + - *ref_353 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' + method: put + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_354 + - *ref_355 + responses: + - schema: *ref_36 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + - schema: *ref_36 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '201' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + HostPool_Create: + parameters: + api-version: 2019-12-10-preview + hostPool: + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2020-10-01T14:01:54.9571247Z' + registrationTokenOperation: Update + ssoContext: KeyVaultPath + tags: + tag1: value1 + tag2: value2 + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: hostPool1 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2020-10-01T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + '201': + body: + name: hostPool1 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2020-10-01T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + language: + default: + name: create_or_update + description: Create or update a host pool. + cli: + name: CreateOrUpdate + description: Create or update a host pool. + cliKey: CreateOrUpdate + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_357 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_358 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + name: hostPoolName + description: The name of the host pool within the specified resource group + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_359 + schema: *ref_356 + implementation: Method + language: + default: + name: force + description: Force flag to delete sessionHost. + serializedName: force + cli: + name: force + description: Force flag to delete sessionHost. + cliKey: force + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' + method: delete + uri: '{$host}' + signatureParameters: + - *ref_357 + - *ref_358 + - *ref_359 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '204' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + HostPool_Delete: + parameters: + api-version: 2019-12-10-preview + force: true + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + name: hostPool1 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2008-09-22T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + '204': {} + language: + default: + name: delete + description: Remove a host pool. + cli: + name: Delete + description: Remove a host pool. + cliKey: Delete + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_394 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_395 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + name: hostPoolName + description: The name of the host pool within the specified resource group + cliKey: hostPoolName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_141 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content_type + description: Body Parameter content-type + serializedName: Content-Type + cli: + name: ContentType + description: Body Parameter content-type + cliKey: content-type + protocol: + http: + in: header + - &ref_360 + schema: *ref_87 + flattened: true + implementation: Method + required: false + extensions: + x-ms-client-flatten: true + language: + default: + name: _host_pool + description: Object containing HostPool definitions. + cli: + name: _host_pool + description: Object containing HostPool definitions. + cliKey: hostPool + protocol: + http: + in: body + style: json + - &ref_383 + schema: *ref_39 + implementation: Method + originalParameter: *ref_360 + pathToProperty: [] + targetProperty: *ref_361 + language: + default: + name: tags + description: tags to be updated + cli: *ref_362 + protocol: {} + - &ref_384 + schema: *ref_61 + implementation: Method + originalParameter: *ref_360 + pathToProperty: [] + targetProperty: *ref_363 + language: + default: + name: friendly_name + description: Friendly name of HostPool. + cli: *ref_364 + protocol: {} + - &ref_385 + schema: *ref_62 + implementation: Method + originalParameter: *ref_360 + pathToProperty: [] + targetProperty: *ref_365 + language: + default: + name: description + description: Description of HostPool. + cli: *ref_366 + protocol: {} + - &ref_386 + schema: *ref_63 + implementation: Method + originalParameter: *ref_360 + pathToProperty: [] + targetProperty: *ref_367 + language: + default: + name: custom_rdp_property + description: Custom rdp property of HostPool. + cli: *ref_368 + protocol: {} + - &ref_387 + schema: *ref_24 + implementation: Method + originalParameter: *ref_360 + pathToProperty: [] + targetProperty: *ref_369 + language: + default: + name: max_session_limit + description: The max session limit of HostPool. + cli: *ref_370 + protocol: {} + - &ref_388 + schema: *ref_22 + implementation: Method + originalParameter: *ref_360 + pathToProperty: [] + targetProperty: *ref_371 + language: + default: + name: personal_desktop_assignment_type + description: PersonalDesktopAssignment type for HostPool. + cli: *ref_372 + protocol: {} + - &ref_389 + schema: *ref_25 + implementation: Method + originalParameter: *ref_360 + pathToProperty: [] + targetProperty: *ref_373 + language: + default: + name: load_balancer_type + description: The type of the load balancer. + cli: *ref_374 + protocol: {} + - &ref_390 + schema: *ref_26 + implementation: Method + originalParameter: *ref_360 + pathToProperty: [] + targetProperty: *ref_375 + language: + default: + name: ring + description: The ring number of HostPool. + cli: *ref_376 + protocol: {} + - &ref_391 + schema: *ref_27 + implementation: Method + originalParameter: *ref_360 + pathToProperty: [] + targetProperty: *ref_377 + language: + default: + name: validation_environment + description: Is validation environment. + cli: *ref_378 + protocol: {} + - &ref_392 + schema: *ref_112 + implementation: Method + originalParameter: *ref_360 + pathToProperty: [] + targetProperty: *ref_379 + language: + default: + name: registration_info + description: The registration info of HostPool. + cli: *ref_380 + protocol: {} + - &ref_393 + schema: *ref_64 + implementation: Method + originalParameter: *ref_360 + pathToProperty: [] + targetProperty: *ref_381 + language: + default: + name: sso_context + description: Path to keyvault containing ssoContext secret. + cli: *ref_382 + protocol: {} + signatureParameters: + - *ref_383 + - *ref_384 + - *ref_385 + - *ref_386 + - *ref_387 + - *ref_388 + - *ref_389 + - *ref_390 + - *ref_391 + - *ref_392 + - *ref_393 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' + method: patch + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_394 + - *ref_395 + responses: + - schema: *ref_36 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + HostPool_Update: + parameters: + api-version: 2019-12-10-preview + hostPool: + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2020-10-02T14:01:54.9571247Z' + ssoContext: KeyVaultPath + tags: + tag1: value1 + tag2: value2 + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: hostPool1 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2008-09-22T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + language: + default: + name: update + description: Update a host pool. + cli: + name: Update + description: Update a host pool. + cliKey: Update + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_396 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools' + method: get + uri: '{$host}' + signatureParameters: + - *ref_396 + responses: + - schema: *ref_397 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + HostPool_ListByResourceGroup: + parameters: + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: hostPool1 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2008-09-22T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + - name: hostPool2 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool2 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2008-09-22T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: list_by_resource_group + description: List hostPools. + paging: + nextLinkName: nextLink + cli: + name: ListByResourceGroup + description: List hostPools. + cliKey: ListByResourceGroup + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/hostPools' + method: get + uri: '{$host}' + signatureParameters: [] + responses: + - schema: *ref_397 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + HostPool_List: + parameters: + api-version: 2019-12-10-preview + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: hostPool1 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2008-09-22T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + - name: hostPool2 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool2 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2008-09-22T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: list + description: List hostPools in subscription. + paging: + nextLinkName: nextLink + cli: + name: List + description: List hostPools in subscription. + cliKey: List + protocol: {} + language: + default: + name: HostPool + description: '' + cli: + name: HostPool + description: '' + cliKey: HostPools + protocol: {} + - $key: UserSessions + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_398 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_399 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + name: hostPoolName + description: The name of the host pool within the specified resource group + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_400 + schema: *ref_180 + implementation: Method + language: + default: + name: filter + description: OData filter expression. Valid properties for filtering are userprincipalname and sessionstate. + serializedName: $filter + cli: + name: filter + description: OData filter expression. Valid properties for filtering are userprincipalname and sessionstate. + cliKey: $filter + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/userSessions' + method: get + uri: '{$host}' + signatureParameters: + - *ref_398 + - *ref_399 + - *ref_400 + responses: + - schema: *ref_401 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + UserSession_ListByHostPool: + parameters: + $filter: userPrincipalName eq 'user1@microsoft.com' and state eq 'active' + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: '1' + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 + properties: + activeDirectoryUserName: WVDARM\user1 + applicationType: Desktop + createTime: '2008-09-22T14:01:54.9571247Z' + sessionState: Active + userPrincipalName: user1@microsoft.com + - name: '2' + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/2 + properties: + activeDirectoryUserName: WVDARM\user1 + applicationType: Desktop + createTime: '2008-09-22T14:01:54.9571247Z' + sessionState: Active + userPrincipalName: user1@microsoft.com + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: list_by_host_pool + description: List userSessions. + paging: + nextLinkName: nextLink + cli: + name: ListByHostPool + description: List userSessions. + cliKey: ListByHostPool + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_404 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_405 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + name: hostPoolName + description: The name of the host pool within the specified resource group + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_406 + schema: *ref_402 + implementation: Method + required: true + language: + default: + name: session_host_name + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + name: sessionHostName + description: The name of the session host within the specified host pool + cliKey: sessionHostName + protocol: + http: + in: path + - &ref_407 + schema: *ref_403 + implementation: Method + required: true + language: + default: + name: user_session_id + description: The name of the user session within the specified session host + serializedName: userSessionId + cli: + name: userSessionId + description: The name of the user session within the specified session host + cliKey: userSessionId + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_404 + - *ref_405 + - *ref_406 + - *ref_407 + responses: + - schema: *ref_88 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + UserSession_Get: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + userSessionId: '1' + responses: + '200': + body: + name: '1' + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 + properties: + activeDirectoryUserName: WVDARM\user1 + applicationType: Desktop + createTime: '2008-09-22T14:01:54.9571247Z' + sessionState: Active + userPrincipalName: user1@microsoft.com + language: + default: + name: get + description: Get a userSession. + cli: + name: Get + description: Get a userSession. + cliKey: Get + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_408 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_409 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + name: hostPoolName + description: The name of the host pool within the specified resource group + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_410 + schema: *ref_402 + implementation: Method + required: true + language: + default: + name: session_host_name + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + name: sessionHostName + description: The name of the session host within the specified host pool + cliKey: sessionHostName + protocol: + http: + in: path + - &ref_411 + schema: *ref_403 + implementation: Method + required: true + language: + default: + name: user_session_id + description: The name of the user session within the specified session host + serializedName: userSessionId + cli: + name: userSessionId + description: The name of the user session within the specified session host + cliKey: userSessionId + protocol: + http: + in: path + - &ref_412 + schema: *ref_356 + implementation: Method + language: + default: + name: force + description: Force flag to login off userSession. + serializedName: force + cli: + name: force + description: Force flag to login off userSession. + cliKey: force + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}' + method: delete + uri: '{$host}' + signatureParameters: + - *ref_408 + - *ref_409 + - *ref_410 + - *ref_411 + - *ref_412 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '204' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + UserSession_Delete: + parameters: + api-version: 2019-12-10-preview + force: true + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + userSessionId: '1' + responses: + '200': + name: '1' + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 + properties: + activeDirectoryUserName: WVDARM\user1 + applicationType: Desktop + createTime: '2008-09-22T14:01:54.9571247Z' + sessionState: Active + userPrincipalName: user1@microsoft.com + '204': {} + language: + default: + name: delete + description: Remove a userSession. + cli: + name: Delete + description: Remove a userSession. + cliKey: Delete + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_413 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_414 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + name: hostPoolName + description: The name of the host pool within the specified resource group + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_415 + schema: *ref_402 + implementation: Method + required: true + language: + default: + name: session_host_name + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + name: sessionHostName + description: The name of the session host within the specified host pool + cliKey: sessionHostName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions' + method: get + uri: '{$host}' + signatureParameters: + - *ref_413 + - *ref_414 + - *ref_415 + responses: + - schema: *ref_401 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + UserSession_List: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: '1' + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 + properties: + activeDirectoryUserName: WVDARM\user1 + applicationType: Desktop + createTime: '2008-09-22T14:01:54.9571247Z' + sessionState: Active + userPrincipalName: user1@microsoft.com + - name: '2' + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/2 + properties: + activeDirectoryUserName: WVDARM\user1 + applicationType: Desktop + createTime: '2008-09-22T14:01:54.9571247Z' + sessionState: Active + userPrincipalName: user1@microsoft.com + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: list + description: List userSessions. + paging: + nextLinkName: nextLink + cli: + name: List + description: List userSessions. + cliKey: List + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_416 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_417 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + name: hostPoolName + description: The name of the host pool within the specified resource group + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_418 + schema: *ref_402 + implementation: Method + required: true + language: + default: + name: session_host_name + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + name: sessionHostName + description: The name of the session host within the specified host pool + cliKey: sessionHostName + protocol: + http: + in: path + - &ref_419 + schema: *ref_403 + implementation: Method + required: true + language: + default: + name: user_session_id + description: The name of the user session within the specified session host + serializedName: userSessionId + cli: + name: userSessionId + description: The name of the user session within the specified session host + cliKey: userSessionId + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}/disconnect' + method: post + uri: '{$host}' + signatureParameters: + - *ref_416 + - *ref_417 + - *ref_418 + - *ref_419 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + UserSession_Disconnect_Post: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + userSessionId: '1' + responses: + '200': {} + language: + default: + name: disconnect + description: Disconnect a userSession. + cli: + name: Disconnect + description: Disconnect a userSession. + cliKey: Disconnect + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_428 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_429 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + name: hostPoolName + description: The name of the host pool within the specified resource group + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_430 + schema: *ref_402 + implementation: Method + required: true + language: + default: + name: session_host_name + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + name: sessionHostName + description: The name of the session host within the specified host pool + cliKey: sessionHostName + protocol: + http: + in: path + - &ref_431 + schema: *ref_403 + implementation: Method + required: true + language: + default: + name: user_session_id + description: The name of the user session within the specified session host + serializedName: userSessionId + cli: + name: userSessionId + description: The name of the user session within the specified session host + cliKey: userSessionId + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_141 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content_type + description: Body Parameter content-type + serializedName: Content-Type + cli: + name: ContentType + description: Body Parameter content-type + cliKey: content-type + protocol: + http: + in: header + - &ref_421 + schema: *ref_420 + flattened: true + implementation: Method + required: false + extensions: + x-ms-client-flatten: true + language: + default: + name: _send_message + description: Object containing message includes title and message body + cli: + name: _send_message + description: Object containing message includes title and message body + cliKey: sendMessage + protocol: + http: + in: body + style: json + - &ref_426 + schema: *ref_116 + implementation: Method + originalParameter: *ref_421 + pathToProperty: [] + targetProperty: *ref_422 + language: + default: + name: message_title + description: Title of message. + cli: *ref_423 + protocol: {} + - &ref_427 + schema: *ref_117 + implementation: Method + originalParameter: *ref_421 + pathToProperty: [] + targetProperty: *ref_424 + language: + default: + name: message_body + description: Body of message. + cli: *ref_425 + protocol: {} + signatureParameters: + - *ref_426 + - *ref_427 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}/sendMessage' + method: post + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_428 + - *ref_429 + - *ref_430 + - *ref_431 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + UserSession_SendMessage_Post: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sendMessage: + messageBody: body + messageTitle: title + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + userSessionId: '1' + responses: + '200': {} + language: + default: + name: send_message + description: Send a message to a user. + cli: + name: SendMessage + description: Send a message to a user. + cliKey: SendMessage + protocol: {} + language: + default: + name: UserSession + description: '' + cli: + name: UserSession + description: '' + cliKey: UserSessions + hidden: true + protocol: {} + - $key: SessionHosts + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_432 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_433 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + name: hostPoolName + description: The name of the host pool within the specified resource group + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_434 + schema: *ref_402 + implementation: Method + required: true + language: + default: + name: session_host_name + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + name: sessionHostName + description: The name of the session host within the specified host pool + cliKey: sessionHostName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_432 + - *ref_433 + - *ref_434 + responses: + - schema: *ref_89 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + SessionHost_Get: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: sessionHost1.microsoft.com + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com + properties: + agentVersion: 1.0.0.1391 + allowNewSession: true + assignedUser: user1@microsoft.com + lastHeartBeat: '2008-09-22T14:01:54.9571247Z' + lastUpdateTime: '2008-09-22T14:01:54.9571247Z' + osVersion: 10.0.17763 + sessions: 1 + status: Available + statusTimestamp: '2008-09-22T14:01:54.9571247Z' + sxSStackVersion: rdp-sxs190816002 + updateErrorMessage: '' + updateState: Succeeded + language: + default: + name: get + description: Get a session host. + cli: + name: Get + description: Get a session host. + cliKey: Get + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_435 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_436 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + name: hostPoolName + description: The name of the host pool within the specified resource group + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_437 + schema: *ref_402 + implementation: Method + required: true + language: + default: + name: session_host_name + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + name: sessionHostName + description: The name of the session host within the specified host pool + cliKey: sessionHostName + protocol: + http: + in: path + - &ref_438 + schema: *ref_356 + implementation: Method + language: + default: + name: force + description: Force flag to force sessionHost deletion even when userSession exists. + serializedName: force + cli: + name: force + description: Force flag to force sessionHost deletion even when userSession exists. + cliKey: force + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}' + method: delete + uri: '{$host}' + signatureParameters: + - *ref_435 + - *ref_436 + - *ref_437 + - *ref_438 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '204' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + SessionHost_Delete: + parameters: + api-version: 2019-12-10-preview + force: true + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + name: sessionHost1.microsoft.com + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com + properties: + agentVersion: 1.0.0.1391 + allowNewSession: true + assignedUser: user1@microsoft.com + lastHeartBeat: '2008-09-22T14:01:54.9571247Z' + lastUpdateTime: '2008-09-22T14:01:54.9571247Z' + osVersion: 10.0.17763 + sessions: 1 + status: Available + statusTimestamp: '2008-09-22T14:01:54.9571247Z' + sxSStackVersion: rdp-sxs190816002 + updateErrorMessage: '' + updateState: Succeeded + '204': {} + language: + default: + name: delete + description: Remove a SessionHost. + cli: + name: Delete + description: Remove a SessionHost. + cliKey: Delete + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_446 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_447 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + name: hostPoolName + description: The name of the host pool within the specified resource group + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_448 + schema: *ref_402 + implementation: Method + required: true + language: + default: + name: session_host_name + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + name: sessionHostName + description: The name of the session host within the specified host pool + cliKey: sessionHostName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_141 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content_type + description: Body Parameter content-type + serializedName: Content-Type + cli: + name: ContentType + description: Body Parameter content-type + cliKey: content-type + protocol: + http: + in: header + - &ref_439 + schema: *ref_90 + flattened: true + implementation: Method + required: false + extensions: + x-ms-client-flatten: true + language: + default: + name: _session_host + description: Object containing SessionHost definitions. + cli: + name: _session_host + description: Object containing SessionHost definitions. + cliKey: sessionHost + protocol: + http: + in: body + style: json + - &ref_444 + schema: *ref_73 + implementation: Method + originalParameter: *ref_439 + pathToProperty: [] + targetProperty: *ref_440 + language: + default: + name: allow_new_session + description: Allow a new session. + cli: *ref_441 + protocol: {} + - &ref_445 + schema: *ref_82 + implementation: Method + originalParameter: *ref_439 + pathToProperty: [] + targetProperty: *ref_442 + language: + default: + name: assigned_user + description: User assigned to SessionHost. + cli: *ref_443 + protocol: {} + signatureParameters: + - *ref_444 + - *ref_445 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}' + method: patch + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_446 + - *ref_447 + - *ref_448 + responses: + - schema: *ref_89 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + SessionHost_Update: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHost: + properties: + allowNewSession: true + assignedUser: user1@microsoft.com + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: sessionHost1.microsoft.com + type: Microsoft.DesktopVirtualization/hostPools/sessionhosts + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com + properties: + agentVersion: 1.0.0.1391 + allowNewSession: true + assignedUser: user1@microsoft.com + lastHeartBeat: '2019-01-11T19:27:13.6108027Z' + lastUpdateTime: '2008-09-22T14:01:54.9571247Z' + osVersion: 10.0.17763 + sessions: 1 + status: Available + statusTimestamp: '2019-01-24T20:00:08.2893033Z' + sxSStackVersion: rdp-sxs190816002 + updateErrorMessage: '' + updateState: Succeeded + language: + default: + name: update + description: Update a session host. + cli: + name: Update + description: Update a session host. + cliKey: Update + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_449 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_450 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + name: hostPoolName + description: The name of the host pool within the specified resource group + cliKey: hostPoolName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts' + method: get + uri: '{$host}' + signatureParameters: + - *ref_449 + - *ref_450 + responses: + - schema: *ref_451 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + SessionHost_List: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: sessionHost1.microsoft.com + type: Microsoft.DesktopVirtualization/hostPools/sessionhosts + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com + properties: + agentVersion: 1.0.0.1391 + allowNewSession: true + assignedUser: user1@microsoft.com + lastHeartBeat: '2008-09-22T14:01:54.9571247Z' + lastUpdateTime: '2008-09-22T14:01:54.9571247Z' + osVersion: 10.0.17763 + sessions: 1 + status: Available + statusTimestamp: '2008-09-22T14:01:54.9571247Z' + sxSStackVersion: rdp-sxs190816002 + updateErrorMessage: '' + updateState: Succeeded + - name: sessionHost2.microsoft.com + type: Microsoft.DesktopVirtualization/hostPools/sessionhosts + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost2microsoft.com + properties: + agentVersion: 1.0.0.1391 + allowNewSession: true + assignedUser: user2@microsoft.com + lastHeartBeat: '2008-09-22T14:01:54.9571247Z' + lastUpdateTime: '2008-09-22T14:01:54.9571247Z' + osVersion: 10.0.17763 + sessions: 1 + status: Available + statusTimestamp: '2008-09-22T14:01:54.9571247Z' + sxSStackVersion: rdp-sxs190816002 + updateErrorMessage: '' + updateState: Succeeded + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: list + description: List sessionHosts. + paging: + nextLinkName: nextLink + cli: + name: List + description: List sessionHosts. + cliKey: List + protocol: {} + language: + default: + name: SessionHost + description: '' + cli: + name: SessionHost + description: '' + cliKey: SessionHosts + hidden: true + protocol: {} + - $key: ActiveApplications + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_452 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_453 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + name: hostPoolName + description: The name of the host pool within the specified resource group + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_454 + schema: *ref_402 + implementation: Method + required: true + language: + default: + name: session_host_name + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + name: sessionHostName + description: The name of the session host within the specified host pool + cliKey: sessionHostName + protocol: + http: + in: path + - &ref_455 + schema: *ref_180 + implementation: Method + language: + default: + name: filter + description: OData filter expression. Valid properties for filtering are userprincipalname and sessionstate. + serializedName: $filter + cli: + name: filter + description: OData filter expression. Valid properties for filtering are userprincipalname and sessionstate. + cliKey: $filter + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/activeApplications' + method: get + uri: '{$host}' + signatureParameters: + - *ref_452 + - *ref_453 + - *ref_454 + - *ref_455 + responses: + - schema: *ref_292 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ActiveApplications_List: + parameters: + $filter: userPrincipalName eq 'user1@microsoft.com' + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: applicationGroup1/application1 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + - name: applicationGroup1/application2 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application2 + properties: + description: des2 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: list_by_session_host + description: List applications for the given session host. + paging: + nextLinkName: nextLink + cli: + name: ListBySessionHost + description: List applications for the given session host. + cliKey: ListBySessionHost + protocol: {} + language: + default: + name: ActiveApplication + description: '' + cli: + name: ActiveApplication + description: '' + cliKey: ActiveApplications + hidden: true + protocol: {} +language: + default: + name: DesktopVirtualizationAPIClient + description: '' + cli: + name: DesktopVirtualizationAPIClient + description: '' +protocol: + http: {} diff --git a/src/desktopvirtualization/_az_debug/clicommon-000130-complex-marker-post-simplified.yaml b/src/desktopvirtualization/_az_debug/clicommon-000130-complex-marker-post-simplified.yaml new file mode 100644 index 00000000000..64c46f93a8e --- /dev/null +++ b/src/desktopvirtualization/_az_debug/clicommon-000130-complex-marker-post-simplified.yaml @@ -0,0 +1,2383 @@ +operationGroups: + all: + - operationGroupName: Operation + cli: + cliKey: Operations + operations: + - operationName: list + cli: + name: List + cliKey: List + hidden: true + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - operationGroupName: Workspace + cli: + cliKey: Workspaces + operations: + - operationName: get + cli: + name: Get + cliKey: Get + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: workspace_name(String^string) + cli: + name: workspaceName + cliKey: workspaceName + - operationName: create_or_update + cli: + name: CreateOrUpdate + cliKey: CreateOrUpdate + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: workspace_name(String^string) + cli: + name: workspaceName + cliKey: workspaceName + - parameterName[0]: content_type(application_json^constant) + cli: + name: ContentType + cliKey: content-type + - parameterName[0]: _workspace(Workspace^object) + cli: + cliKey: workspace + x-ms-client-flatten: true + bodySchema: Workspace + - parameterName[0]: tags(TrackedResourceTags^dictionary) + cli: + cliKey: tags + - parameterName[0]: location(TrackedResourceLocation^string) + cli: + cliKey: location + - parameterName[0]: description(WorkspacePropertiesDescription^string) + cli: + cliKey: description + - parameterName[0]: friendly_name(WorkspacePropertiesFriendlyName^string) + cli: + name: friendlyName + cliKey: friendlyName + - parameterName[0]: application_group_references(WorkspacePropertiesApplicationGroupReferences^array) + cli: + name: applicationGroupReferences + cliKey: applicationGroupReferences + - operationName: delete + cli: + name: Delete + cliKey: Delete + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: workspace_name(String^string) + cli: + name: workspaceName + cliKey: workspaceName + - operationName: update + cli: + name: Update + cliKey: Update + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: workspace_name(String^string) + cli: + name: workspaceName + cliKey: workspaceName + - parameterName[0]: content_type(application_json^constant) + cli: + name: ContentType + cliKey: content-type + - parameterName[0]: _workspace(WorkspacePatch^object) + cli: + cliKey: workspace + x-ms-client-flatten: true + bodySchema: WorkspacePatch + - parameterName[0]: tags(any^any) + cli: + cliKey: tags + - parameterName[0]: description(WorkspacePatchPropertiesDescription^string) + cli: + cliKey: description + - parameterName[0]: friendly_name(WorkspacePatchPropertiesFriendlyName^string) + cli: + name: friendlyName + cliKey: friendlyName + - parameterName[0]: application_group_references(WorkspacePatchPropertiesApplicationGroupReferences^array) + cli: + name: applicationGroupReferences + cliKey: applicationGroupReferences + - operationName: list_by_resource_group + cli: + name: ListByResourceGroup + cliKey: ListByResourceGroup + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - operationName: list_by_subscription + cli: + name: ListBySubscription + cliKey: ListBySubscription + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - operationGroupName: ApplicationGroupAssignment + cli: + cliKey: ApplicationGroupAssignments + hidden: true + operations: + - operationName: workspace_level_list + cli: + name: WorkspaceLevelList + cliKey: WorkspaceLevelList + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: workspace_name(String^string) + cli: + name: workspaceName + cliKey: workspaceName + - parameterName: filter(String^string) + cli: + cliKey: $filter + - operationGroupName: ApplicationGroup + cli: + cliKey: ApplicationGroups + operations: + - operationName: get + cli: + name: Get + cliKey: Get + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: application_group_name(String^string) + cli: + name: applicationGroupName + cliKey: applicationGroupName + - operationName: create_or_update + cli: + name: CreateOrUpdate + cliKey: CreateOrUpdate + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: application_group_name(String^string) + cli: + name: applicationGroupName + cliKey: applicationGroupName + - parameterName[0]: content_type(application_json^constant) + cli: + name: ContentType + cliKey: content-type + - parameterName[0]: _application_group(ApplicationGroup^object) + cli: + cliKey: applicationGroup + x-ms-client-flatten: true + bodySchema: ApplicationGroup + - parameterName[0]: tags(TrackedResourceTags^dictionary) + cli: + cliKey: tags + - parameterName[0]: location(TrackedResourceLocation^string) + cli: + cliKey: location + - parameterName[0]: description(ApplicationGroupPropertiesDescription^string) + cli: + cliKey: description + - parameterName[0]: friendly_name(ApplicationGroupPropertiesFriendlyName^string) + cli: + name: friendlyName + cliKey: friendlyName + - parameterName[0]: host_pool_arm_path(ApplicationGroupPropertiesHostPoolArmPath^string) + cli: + name: hostPoolArmPath + cliKey: hostPoolArmPath + - parameterName[0]: application_group_type(ApplicationGroupType^choice) + cli: + name: applicationGroupType + cliKey: applicationGroupType + - operationName: delete + cli: + name: Delete + cliKey: Delete + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: application_group_name(String^string) + cli: + name: applicationGroupName + cliKey: applicationGroupName + - operationName: update + cli: + name: Update + cliKey: Update + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: application_group_name(String^string) + cli: + name: applicationGroupName + cliKey: applicationGroupName + - parameterName[0]: content_type(application_json^constant) + cli: + name: ContentType + cliKey: content-type + - parameterName[0]: _application_group(ApplicationGroupPatch^object) + cli: + cliKey: applicationGroup + x-ms-client-flatten: true + bodySchema: ApplicationGroupPatch + - parameterName[0]: tags(any^any) + cli: + cliKey: tags + - parameterName[0]: description(ApplicationGroupPatchPropertiesDescription^string) + cli: + cliKey: description + - parameterName[0]: friendly_name(ApplicationGroupPatchPropertiesFriendlyName^string) + cli: + name: friendlyName + cliKey: friendlyName + - operationName: list_by_resource_group + cli: + name: ListByResourceGroup + cliKey: ListByResourceGroup + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: filter(String^string) + cli: + cliKey: $filter + - operationName: list_by_subscription + cli: + name: ListBySubscription + cliKey: ListBySubscription + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: filter(String^string) + cli: + cliKey: $filter + - operationGroupName: StartMenuItem + cli: + cliKey: StartMenuItems + hidden: true + operations: + - operationName: list + cli: + name: List + cliKey: List + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: application_group_name(String^string) + cli: + name: applicationGroupName + cliKey: applicationGroupName + - operationGroupName: Application + cli: + cliKey: Applications + hidden: true + operations: + - operationName: get + cli: + name: Get + cliKey: Get + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: application_group_name(String^string) + cli: + name: applicationGroupName + cliKey: applicationGroupName + - parameterName: application_name(String^string) + cli: + name: applicationName + cliKey: applicationName + - operationName: create_or_update + cli: + name: CreateOrUpdate + cliKey: CreateOrUpdate + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: application_group_name(String^string) + cli: + name: applicationGroupName + cliKey: applicationGroupName + - parameterName: application_name(String^string) + cli: + name: applicationName + cliKey: applicationName + - parameterName[0]: content_type(application_json^constant) + cli: + name: ContentType + cliKey: content-type + - parameterName[0]: _application(Application^object) + cli: + cliKey: application + x-ms-client-flatten: true + bodySchema: Application + - parameterName[0]: description(ApplicationPropertiesDescription^string) + cli: + cliKey: description + - parameterName[0]: friendly_name(ApplicationPropertiesFriendlyName^string) + cli: + name: friendlyName + cliKey: friendlyName + - parameterName[0]: file_path(ApplicationPropertiesFilePath^string) + cli: + name: filePath + cliKey: filePath + - parameterName[0]: command_line_setting(CommandLineSetting^choice) + cli: + name: commandLineSetting + cliKey: commandLineSetting + - parameterName[0]: command_line_arguments(ApplicationPropertiesCommandLineArguments^string) + cli: + name: commandLineArguments + cliKey: commandLineArguments + - parameterName[0]: show_in_portal(boolean^boolean) + cli: + name: showInPortal + cliKey: showInPortal + - parameterName[0]: icon_path(ApplicationPropertiesIconPath^string) + cli: + name: iconPath + cliKey: iconPath + - parameterName[0]: icon_index(Integer^integer) + cli: + name: iconIndex + cliKey: iconIndex + - operationName: delete + cli: + name: Delete + cliKey: Delete + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: application_group_name(String^string) + cli: + name: applicationGroupName + cliKey: applicationGroupName + - parameterName: application_name(String^string) + cli: + name: applicationName + cliKey: applicationName + - operationName: update + cli: + name: Update + cliKey: Update + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: application_group_name(String^string) + cli: + name: applicationGroupName + cliKey: applicationGroupName + - parameterName: application_name(String^string) + cli: + name: applicationName + cliKey: applicationName + - parameterName[0]: content_type(application_json^constant) + cli: + name: ContentType + cliKey: content-type + - parameterName[0]: _application(ApplicationPatch^object) + cli: + cliKey: application + x-ms-client-flatten: true + bodySchema: ApplicationPatch + - parameterName[0]: tags(any^any) + cli: + cliKey: tags + - parameterName[0]: description(ApplicationPatchPropertiesDescription^string) + cli: + cliKey: description + - parameterName[0]: friendly_name(ApplicationPatchPropertiesFriendlyName^string) + cli: + name: friendlyName + cliKey: friendlyName + - parameterName[0]: file_path(ApplicationPatchPropertiesFilePath^string) + cli: + name: filePath + cliKey: filePath + - parameterName[0]: command_line_setting(CommandLineSetting^choice) + cli: + name: commandLineSetting + cliKey: commandLineSetting + - parameterName[0]: command_line_arguments(ApplicationPatchPropertiesCommandLineArguments^string) + cli: + name: commandLineArguments + cliKey: commandLineArguments + - parameterName[0]: show_in_portal(boolean^boolean) + cli: + name: showInPortal + cliKey: showInPortal + - parameterName[0]: icon_path(ApplicationPatchPropertiesIconPath^string) + cli: + name: iconPath + cliKey: iconPath + - parameterName[0]: icon_index(Integer^integer) + cli: + name: iconIndex + cliKey: iconIndex + - operationName: list + cli: + name: List + cliKey: List + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: application_group_name(String^string) + cli: + name: applicationGroupName + cliKey: applicationGroupName + - operationGroupName: Desktop + cli: + cliKey: Desktops + hidden: true + operations: + - operationName: get + cli: + name: Get + cliKey: Get + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: application_group_name(String^string) + cli: + name: applicationGroupName + cliKey: applicationGroupName + - parameterName: desktop_name(String^string) + cli: + name: desktopName + cliKey: desktopName + - operationName: update + cli: + name: Update + cliKey: Update + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: application_group_name(String^string) + cli: + name: applicationGroupName + cliKey: applicationGroupName + - parameterName: desktop_name(String^string) + cli: + name: desktopName + cliKey: desktopName + - parameterName[0]: content_type(application_json^constant) + cli: + name: ContentType + cliKey: content-type + - parameterName[0]: _desktop(DesktopPatch^object) + cli: + cliKey: desktop + x-ms-client-flatten: true + bodySchema: DesktopPatch + - parameterName[0]: tags(any^any) + cli: + cliKey: tags + - parameterName[0]: description(DesktopPatchPropertiesDescription^string) + cli: + cliKey: description + - parameterName[0]: friendly_name(DesktopPatchPropertiesFriendlyName^string) + cli: + name: friendlyName + cliKey: friendlyName + - operationName: list + cli: + name: List + cliKey: List + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: application_group_name(String^string) + cli: + name: applicationGroupName + cliKey: applicationGroupName + - operationGroupName: HostPool + cli: + cliKey: HostPools + operations: + - operationName: get + cli: + name: Get + cliKey: Get + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: host_pool_name(String^string) + cli: + name: hostPoolName + cliKey: hostPoolName + - operationName: create_or_update + cli: + name: CreateOrUpdate + cliKey: CreateOrUpdate + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: host_pool_name(String^string) + cli: + name: hostPoolName + cliKey: hostPoolName + - parameterName[0]: content_type(application_json^constant) + cli: + name: ContentType + cliKey: content-type + - parameterName[0]: _host_pool(HostPool^object) + cli: + cliKey: hostPool + x-ms-client-flatten: true + bodySchema: HostPool + - parameterName[0]: tags(TrackedResourceTags^dictionary) + cli: + cliKey: tags + - parameterName[0]: location(TrackedResourceLocation^string) + cli: + cliKey: location + - parameterName[0]: friendly_name(HostPoolPropertiesFriendlyName^string) + cli: + name: friendlyName + cliKey: friendlyName + - parameterName[0]: description(HostPoolPropertiesDescription^string) + cli: + cliKey: description + - parameterName[0]: host_pool_type(HostPoolType^choice) + cli: + name: hostPoolType + cliKey: hostPoolType + - parameterName[0]: personal_desktop_assignment_type(PersonalDesktopAssignmentType^choice) + cli: + name: personalDesktopAssignmentType + cliKey: personalDesktopAssignmentType + - parameterName[0]: custom_rdp_property(HostPoolPropertiesCustomRdpProperty^string) + cli: + name: customRdpProperty + cliKey: customRdpProperty + - parameterName[0]: max_session_limit(Integer^integer) + cli: + name: maxSessionLimit + cliKey: maxSessionLimit + - parameterName[0]: load_balancer_type(LoadBalancerType^choice) + cli: + name: loadBalancerType + cliKey: loadBalancerType + - parameterName[0]: ring(Integer^integer) + cli: + cliKey: ring + - parameterName[0]: validation_environment(boolean^boolean) + cli: + name: validationEnvironment + cliKey: validationEnvironment + - parameterName[0]: registration_info(RegistrationInfo^object) + cli: + name: registrationInfo + cliKey: registrationInfo + - parameterName[0]: vm_template(HostPoolPropertiesVmTemplate^string) + cli: + name: vmTemplate + cliKey: vmTemplate + - parameterName[0]: sso_context(HostPoolPropertiesSsoContext^string) + cli: + name: ssoContext + cliKey: ssoContext + - operationName: delete + cli: + name: Delete + cliKey: Delete + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: host_pool_name(String^string) + cli: + name: hostPoolName + cliKey: hostPoolName + - parameterName: force(boolean^boolean) + cli: + cliKey: force + - operationName: update + cli: + name: Update + cliKey: Update + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: host_pool_name(String^string) + cli: + name: hostPoolName + cliKey: hostPoolName + - parameterName[0]: content_type(application_json^constant) + cli: + name: ContentType + cliKey: content-type + - parameterName[0]: _host_pool(HostPoolPatch^object) + cli: + cliKey: hostPool + x-ms-client-flatten: true + bodySchema: HostPoolPatch + - parameterName[0]: tags(any^any) + cli: + cliKey: tags + - parameterName[0]: friendly_name(HostPoolPatchPropertiesFriendlyName^string) + cli: + name: friendlyName + cliKey: friendlyName + - parameterName[0]: description(HostPoolPatchPropertiesDescription^string) + cli: + cliKey: description + - parameterName[0]: custom_rdp_property(HostPoolPatchPropertiesCustomRdpProperty^string) + cli: + name: customRdpProperty + cliKey: customRdpProperty + - parameterName[0]: max_session_limit(Integer^integer) + cli: + name: maxSessionLimit + cliKey: maxSessionLimit + - parameterName[0]: personal_desktop_assignment_type(PersonalDesktopAssignmentType^choice) + cli: + name: personalDesktopAssignmentType + cliKey: personalDesktopAssignmentType + - parameterName[0]: load_balancer_type(LoadBalancerType^choice) + cli: + name: loadBalancerType + cliKey: loadBalancerType + - parameterName[0]: ring(Integer^integer) + cli: + cliKey: ring + - parameterName[0]: validation_environment(boolean^boolean) + cli: + name: validationEnvironment + cliKey: validationEnvironment + - parameterName[0]: registration_info(RegistrationInfoPatch^object) + cli: + name: registrationInfo + cliKey: registrationInfo + - parameterName[0]: sso_context(HostPoolPatchPropertiesSsoContext^string) + cli: + name: ssoContext + cliKey: ssoContext + - operationName: list_by_resource_group + cli: + name: ListByResourceGroup + cliKey: ListByResourceGroup + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - operationName: list + cli: + name: List + cliKey: List + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - operationGroupName: UserSession + cli: + cliKey: UserSessions + hidden: true + operations: + - operationName: list_by_host_pool + cli: + name: ListByHostPool + cliKey: ListByHostPool + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: host_pool_name(String^string) + cli: + name: hostPoolName + cliKey: hostPoolName + - parameterName: filter(String^string) + cli: + cliKey: $filter + - operationName: get + cli: + name: Get + cliKey: Get + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: host_pool_name(String^string) + cli: + name: hostPoolName + cliKey: hostPoolName + - parameterName: session_host_name(String^string) + cli: + name: sessionHostName + cliKey: sessionHostName + - parameterName: user_session_id(String^string) + cli: + name: userSessionId + cliKey: userSessionId + - operationName: delete + cli: + name: Delete + cliKey: Delete + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: host_pool_name(String^string) + cli: + name: hostPoolName + cliKey: hostPoolName + - parameterName: session_host_name(String^string) + cli: + name: sessionHostName + cliKey: sessionHostName + - parameterName: user_session_id(String^string) + cli: + name: userSessionId + cliKey: userSessionId + - parameterName: force(boolean^boolean) + cli: + cliKey: force + - operationName: list + cli: + name: List + cliKey: List + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: host_pool_name(String^string) + cli: + name: hostPoolName + cliKey: hostPoolName + - parameterName: session_host_name(String^string) + cli: + name: sessionHostName + cliKey: sessionHostName + - operationName: disconnect + cli: + name: Disconnect + cliKey: Disconnect + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: host_pool_name(String^string) + cli: + name: hostPoolName + cliKey: hostPoolName + - parameterName: session_host_name(String^string) + cli: + name: sessionHostName + cliKey: sessionHostName + - parameterName: user_session_id(String^string) + cli: + name: userSessionId + cliKey: userSessionId + - operationName: send_message + cli: + name: SendMessage + cliKey: SendMessage + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: host_pool_name(String^string) + cli: + name: hostPoolName + cliKey: hostPoolName + - parameterName: session_host_name(String^string) + cli: + name: sessionHostName + cliKey: sessionHostName + - parameterName: user_session_id(String^string) + cli: + name: userSessionId + cliKey: userSessionId + - parameterName[0]: content_type(application_json^constant) + cli: + name: ContentType + cliKey: content-type + - parameterName[0]: _send_message(SendMessage^object) + cli: + cliKey: sendMessage + x-ms-client-flatten: true + bodySchema: SendMessage + - parameterName[0]: message_title(SendMessageTitle^string) + cli: + name: messageTitle + cliKey: messageTitle + - parameterName[0]: message_body(SendMessageBody^string) + cli: + name: messageBody + cliKey: messageBody + - operationGroupName: SessionHost + cli: + cliKey: SessionHosts + hidden: true + operations: + - operationName: get + cli: + name: Get + cliKey: Get + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: host_pool_name(String^string) + cli: + name: hostPoolName + cliKey: hostPoolName + - parameterName: session_host_name(String^string) + cli: + name: sessionHostName + cliKey: sessionHostName + - operationName: delete + cli: + name: Delete + cliKey: Delete + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: host_pool_name(String^string) + cli: + name: hostPoolName + cliKey: hostPoolName + - parameterName: session_host_name(String^string) + cli: + name: sessionHostName + cliKey: sessionHostName + - parameterName: force(boolean^boolean) + cli: + cliKey: force + - operationName: update + cli: + name: Update + cliKey: Update + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: host_pool_name(String^string) + cli: + name: hostPoolName + cliKey: hostPoolName + - parameterName: session_host_name(String^string) + cli: + name: sessionHostName + cliKey: sessionHostName + - parameterName[0]: content_type(application_json^constant) + cli: + name: ContentType + cliKey: content-type + - parameterName[0]: _session_host(SessionHostPatch^object) + cli: + cliKey: sessionHost + x-ms-client-flatten: true + bodySchema: SessionHostPatch + - parameterName[0]: allow_new_session(boolean^boolean) + cli: + name: allowNewSession + cliKey: allowNewSession + - parameterName[0]: assigned_user(SessionHostPatchPropertiesAssignedUser^string) + cli: + name: assignedUser + cliKey: assignedUser + - operationName: list + cli: + name: List + cliKey: List + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: host_pool_name(String^string) + cli: + name: hostPoolName + cliKey: hostPoolName + - operationGroupName: ActiveApplication + cli: + cliKey: ActiveApplications + hidden: true + operations: + - operationName: list_by_session_host + cli: + name: ListBySessionHost + cliKey: ListBySessionHost + parameters: + - parameterName: $host(String^string) + cli: + cliKey: $host + - parameterName: api_version(api_version2019_12_10_preview^constant) + cli: + name: ApiVersion + cliKey: ApiVersion + - parameterName: subscription_id(String^string) + cli: + name: subscriptionId + cliKey: subscriptionId + - parameterName: resource_group_name(String^string) + cli: + name: resourceGroupName + cliKey: resourceGroupName + - parameterName: host_pool_name(String^string) + cli: + name: hostPoolName + cliKey: hostPoolName + - parameterName: session_host_name(String^string) + cli: + name: sessionHostName + cliKey: sessionHostName + - parameterName: filter(String^string) + cli: + cliKey: $filter +schemas: + objects: + all: + - schemaName: ResourceProviderOperationList + cli: + cliKey: ResourceProviderOperationList + cli-complexity: object_complex + cli-simplify-indicator: + simplifiable: false + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + cli-mark: checked + properties: + - propertyName: value(ResourceProviderOperationListValue^array) + cli: + cliKey: value + - schemaName: ResourceProviderOperation + cli: + cliKey: ResourceProviderOperation + cli-complexity: object_complex + cli-simplify-indicator: + simplifiable: true + propertyCountIfSimplify: 5 + propertyCountIfSimplifyWithoutSimpleObject: 2 + cli-mark: checked + properties: + - propertyName: name(ResourceProviderOperationName^string) + cli: + cliKey: name + - propertyName: display(ResourceProviderOperationDisplay^object) + cli: + cliKey: display + - schemaName: ResourceProviderOperationDisplay + cli: + cliKey: ResourceProviderOperation-display + cli-complexity: object_simple + cli-simplify-indicator: + simplifiable: true + propertyCountIfSimplify: 4 + propertyCountIfSimplifyWithoutSimpleObject: 4 + cli-mark: checked + properties: + - propertyName: provider(ResourceProviderOperationDisplayProvider^string) + cli: + cliKey: provider + - propertyName: resource(ResourceProviderOperationDisplayResource^string) + cli: + cliKey: resource + - propertyName: operation(ResourceProviderOperationDisplayOperation^string) + cli: + cliKey: operation + - propertyName: description(ResourceProviderOperationDisplayDescription^string) + cli: + cliKey: description + - schemaName: Resource + cli: + cliKey: Resource + cli-complexity: object_simple + cli-simplify-indicator: + simplifiable: true + propertyCountIfSimplify: 0 + propertyCountIfSimplifyWithoutSimpleObject: 0 + cli-mark: checked + properties: + - propertyName: id(ResourceId^string) + cli: + cliKey: id + readOnly: true + - propertyName: name(ResourceName^string) + cli: + cliKey: name + readOnly: true + - propertyName: type(ResourceType^string) + cli: + cliKey: type + readOnly: true + - schemaName: TrackedResource + cli: + cliKey: TrackedResource + cli-complexity: object_complex + cli-simplify-indicator: + simplifiable: false + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + cli-mark: checked + properties: + - propertyName: tags(TrackedResourceTags^dictionary) + cli: + cliKey: tags + - propertyName: location(TrackedResourceLocation^string) + cli: + cliKey: location + - schemaName: Workspace + cli: + cliKey: Workspace + cli-complexity: object_simple + cli-simplify-indicator: + simplifiable: false + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + cli-mark: checked + properties: + - propertyName: description(WorkspacePropertiesDescription^string) + cli: + cliKey: description + - propertyName: friendly_name(WorkspacePropertiesFriendlyName^string) + cli: + name: friendlyName + cliKey: friendlyName + - propertyName: application_group_references(WorkspacePropertiesApplicationGroupReferences^array) + cli: + name: applicationGroupReferences + cliKey: applicationGroupReferences + - schemaName: CloudError + cli: + cliKey: CloudError + cli-complexity: object_simple + cli-simplify-indicator: + simplifiable: true + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 2 + cli-mark: checked + properties: + - propertyName: code(CloudErrorCode^string) + cli: + cliKey: code + - propertyName: message(CloudErrorMessage^string) + cli: + cliKey: message + - schemaName: WorkspacePatch + cli: + cliKey: WorkspacePatch + cli-complexity: object_complex + cli-simplify-indicator: + simplifiable: false + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + cli-mark: checked + properties: + - propertyName: tags(any^any) + cli: + cliKey: tags + - propertyName: description(WorkspacePatchPropertiesDescription^string) + cli: + cliKey: description + - propertyName: friendly_name(WorkspacePatchPropertiesFriendlyName^string) + cli: + name: friendlyName + cliKey: friendlyName + - propertyName: application_group_references(WorkspacePatchPropertiesApplicationGroupReferences^array) + cli: + name: applicationGroupReferences + cliKey: applicationGroupReferences + - schemaName: WorkspaceList + cli: + cliKey: WorkspaceList + cli-complexity: object_complex + cli-simplify-indicator: + simplifiable: false + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + cli-mark: checked + properties: + - propertyName: value(WorkspaceListValue^array) + cli: + cliKey: value + - propertyName: next_link(WorkspaceListNextLink^string) + cli: + name: nextLink + cliKey: nextLink + readOnly: true + - schemaName: ApplicationGroupList + cli: + cliKey: ApplicationGroupList + cli-complexity: object_complex + cli-simplify-indicator: + simplifiable: false + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + cli-mark: checked + properties: + - propertyName: value(ApplicationGroupListValue^array) + cli: + cliKey: value + - propertyName: next_link(ApplicationGroupListNextLink^string) + cli: + name: nextLink + cliKey: nextLink + readOnly: true + - schemaName: ApplicationGroup + cli: + cliKey: ApplicationGroup + cli-complexity: object_simple + cli-simplify-indicator: + simplifiable: false + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + cli-mark: checked + properties: + - propertyName: description(ApplicationGroupPropertiesDescription^string) + cli: + cliKey: description + - propertyName: friendly_name(ApplicationGroupPropertiesFriendlyName^string) + cli: + name: friendlyName + cliKey: friendlyName + - propertyName: host_pool_arm_path(ApplicationGroupPropertiesHostPoolArmPath^string) + cli: + name: hostPoolArmPath + cliKey: hostPoolArmPath + - propertyName: workspace_arm_path(ApplicationGroupPropertiesWorkspaceArmPath^string) + cli: + name: workspaceArmPath + cliKey: workspaceArmPath + readOnly: true + - propertyName: application_group_type(ApplicationGroupType^choice) + cli: + name: applicationGroupType + cliKey: applicationGroupType + - schemaName: ApplicationGroupPatch + cli: + cliKey: ApplicationGroupPatch + cli-complexity: object_complex + cli-simplify-indicator: + simplifiable: false + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + cli-mark: checked + properties: + - propertyName: tags(any^any) + cli: + cliKey: tags + - propertyName: description(ApplicationGroupPatchPropertiesDescription^string) + cli: + cliKey: description + - propertyName: friendly_name(ApplicationGroupPatchPropertiesFriendlyName^string) + cli: + name: friendlyName + cliKey: friendlyName + - schemaName: StartMenuItemList + cli: + cliKey: StartMenuItemList + cli-complexity: object_complex + cli-simplify-indicator: + simplifiable: false + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + cli-mark: checked + properties: + - propertyName: value(StartMenuItemListValue^array) + cli: + cliKey: value + - propertyName: next_link(StartMenuItemListNextLink^string) + cli: + name: nextLink + cliKey: nextLink + readOnly: true + - schemaName: StartMenuItem + cli: + cliKey: StartMenuItem + cli-complexity: object_simple + cli-simplify-indicator: + simplifiable: true + propertyCountIfSimplify: 6 + propertyCountIfSimplifyWithoutSimpleObject: 6 + cli-mark: checked + properties: + - propertyName: app_alias(StartMenuItemPropertiesAppAlias^string) + cli: + name: appAlias + cliKey: appAlias + - propertyName: friendly_name(StartMenuItemPropertiesFriendlyName^string) + cli: + name: friendlyName + cliKey: friendlyName + - propertyName: file_path(StartMenuItemPropertiesFilePath^string) + cli: + name: filePath + cliKey: filePath + - propertyName: command_line_arguments(StartMenuItemPropertiesCommandLineArguments^string) + cli: + name: commandLineArguments + cliKey: commandLineArguments + - propertyName: icon_path(StartMenuItemPropertiesIconPath^string) + cli: + name: iconPath + cliKey: iconPath + - propertyName: icon_index(Integer^integer) + cli: + name: iconIndex + cliKey: iconIndex + - schemaName: Application + cli: + cliKey: Application + cli-complexity: object_simple + cli-simplify-indicator: + simplifiable: true + propertyCountIfSimplify: 8 + propertyCountIfSimplifyWithoutSimpleObject: 8 + cli-mark: checked + properties: + - propertyName: description(ApplicationPropertiesDescription^string) + cli: + cliKey: description + - propertyName: friendly_name(ApplicationPropertiesFriendlyName^string) + cli: + name: friendlyName + cliKey: friendlyName + - propertyName: file_path(ApplicationPropertiesFilePath^string) + cli: + name: filePath + cliKey: filePath + - propertyName: command_line_setting(CommandLineSetting^choice) + cli: + name: commandLineSetting + cliKey: commandLineSetting + - propertyName: command_line_arguments(ApplicationPropertiesCommandLineArguments^string) + cli: + name: commandLineArguments + cliKey: commandLineArguments + - propertyName: show_in_portal(boolean^boolean) + cli: + name: showInPortal + cliKey: showInPortal + - propertyName: icon_path(ApplicationPropertiesIconPath^string) + cli: + name: iconPath + cliKey: iconPath + - propertyName: icon_index(Integer^integer) + cli: + name: iconIndex + cliKey: iconIndex + - propertyName: icon_hash(ApplicationPropertiesIconHash^string) + cli: + name: iconHash + cliKey: iconHash + readOnly: true + - propertyName: icon_content(application_properties_icon_content^byte-array) + cli: + name: iconContent + cliKey: iconContent + readOnly: true + - schemaName: ApplicationPatch + cli: + cliKey: ApplicationPatch + cli-complexity: object_complex + cli-simplify-indicator: + simplifiable: false + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + cli-mark: checked + properties: + - propertyName: tags(any^any) + cli: + cliKey: tags + - propertyName: description(ApplicationPatchPropertiesDescription^string) + cli: + cliKey: description + - propertyName: friendly_name(ApplicationPatchPropertiesFriendlyName^string) + cli: + name: friendlyName + cliKey: friendlyName + - propertyName: file_path(ApplicationPatchPropertiesFilePath^string) + cli: + name: filePath + cliKey: filePath + - propertyName: command_line_setting(CommandLineSetting^choice) + cli: + name: commandLineSetting + cliKey: commandLineSetting + - propertyName: command_line_arguments(ApplicationPatchPropertiesCommandLineArguments^string) + cli: + name: commandLineArguments + cliKey: commandLineArguments + - propertyName: show_in_portal(boolean^boolean) + cli: + name: showInPortal + cliKey: showInPortal + - propertyName: icon_path(ApplicationPatchPropertiesIconPath^string) + cli: + name: iconPath + cliKey: iconPath + - propertyName: icon_index(Integer^integer) + cli: + name: iconIndex + cliKey: iconIndex + - schemaName: ApplicationList + cli: + cliKey: ApplicationList + cli-complexity: object_complex + cli-simplify-indicator: + simplifiable: false + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + cli-mark: checked + properties: + - propertyName: value(ApplicationListValue^array) + cli: + cliKey: value + - propertyName: next_link(ApplicationListNextLink^string) + cli: + name: nextLink + cliKey: nextLink + readOnly: true + - schemaName: Desktop + cli: + cliKey: Desktop + cli-complexity: object_simple + cli-simplify-indicator: + simplifiable: true + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 2 + cli-mark: checked + properties: + - propertyName: description(DesktopPropertiesDescription^string) + cli: + cliKey: description + - propertyName: friendly_name(DesktopPropertiesFriendlyName^string) + cli: + name: friendlyName + cliKey: friendlyName + - propertyName: icon_hash(DesktopPropertiesIconHash^string) + cli: + name: iconHash + cliKey: iconHash + readOnly: true + - propertyName: icon_content(desktop_properties_icon_content^byte-array) + cli: + name: iconContent + cliKey: iconContent + readOnly: true + - schemaName: DesktopPatch + cli: + cliKey: DesktopPatch + cli-complexity: object_complex + cli-simplify-indicator: + simplifiable: false + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + cli-mark: checked + properties: + - propertyName: tags(any^any) + cli: + cliKey: tags + - propertyName: description(DesktopPatchPropertiesDescription^string) + cli: + cliKey: description + - propertyName: friendly_name(DesktopPatchPropertiesFriendlyName^string) + cli: + name: friendlyName + cliKey: friendlyName + - schemaName: DesktopList + cli: + cliKey: DesktopList + cli-complexity: object_complex + cli-simplify-indicator: + simplifiable: false + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + cli-mark: checked + properties: + - propertyName: value(DesktopListValue^array) + cli: + cliKey: value + - propertyName: next_link(DesktopListNextLink^string) + cli: + name: nextLink + cliKey: nextLink + readOnly: true + - schemaName: HostPool + cli: + cliKey: HostPool + cli-complexity: object_complex + cli-simplify-indicator: + simplifiable: false + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + cli-mark: checked + properties: + - propertyName: friendly_name(HostPoolPropertiesFriendlyName^string) + cli: + name: friendlyName + cliKey: friendlyName + - propertyName: description(HostPoolPropertiesDescription^string) + cli: + cliKey: description + - propertyName: host_pool_type(HostPoolType^choice) + cli: + name: hostPoolType + cliKey: hostPoolType + - propertyName: personal_desktop_assignment_type(PersonalDesktopAssignmentType^choice) + cli: + name: personalDesktopAssignmentType + cliKey: personalDesktopAssignmentType + - propertyName: custom_rdp_property(HostPoolPropertiesCustomRdpProperty^string) + cli: + name: customRdpProperty + cliKey: customRdpProperty + - propertyName: max_session_limit(Integer^integer) + cli: + name: maxSessionLimit + cliKey: maxSessionLimit + - propertyName: load_balancer_type(LoadBalancerType^choice) + cli: + name: loadBalancerType + cliKey: loadBalancerType + - propertyName: ring(Integer^integer) + cli: + cliKey: ring + - propertyName: validation_environment(boolean^boolean) + cli: + name: validationEnvironment + cliKey: validationEnvironment + - propertyName: registration_info(RegistrationInfo^object) + cli: + name: registrationInfo + cliKey: registrationInfo + - propertyName: vm_template(HostPoolPropertiesVmTemplate^string) + cli: + name: vmTemplate + cliKey: vmTemplate + - propertyName: application_group_references(HostPoolPropertiesApplicationGroupReferences^array) + cli: + name: applicationGroupReferences + cliKey: applicationGroupReferences + readOnly: true + - propertyName: sso_context(HostPoolPropertiesSsoContext^string) + cli: + name: ssoContext + cliKey: ssoContext + - schemaName: RegistrationInfo + cli: + cliKey: RegistrationInfo + cli-complexity: object_simple + cli-simplify-indicator: + simplifiable: true + propertyCountIfSimplify: 3 + propertyCountIfSimplifyWithoutSimpleObject: 3 + cli-mark: checked + properties: + - propertyName: expiration_time(registration_info_expiration_time^date-time) + cli: + name: expirationTime + cliKey: expirationTime + - propertyName: token(RegistrationInfoToken^string) + cli: + cliKey: token + - propertyName: registration_token_operation(RegistrationTokenOperation^choice) + cli: + name: registrationTokenOperation + cliKey: registrationTokenOperation + - schemaName: HostPoolPatch + cli: + cliKey: HostPoolPatch + cli-complexity: object_complex + cli-simplify-indicator: + simplifiable: false + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + cli-mark: checked + properties: + - propertyName: tags(any^any) + cli: + cliKey: tags + - propertyName: friendly_name(HostPoolPatchPropertiesFriendlyName^string) + cli: + name: friendlyName + cliKey: friendlyName + - propertyName: description(HostPoolPatchPropertiesDescription^string) + cli: + cliKey: description + - propertyName: custom_rdp_property(HostPoolPatchPropertiesCustomRdpProperty^string) + cli: + name: customRdpProperty + cliKey: customRdpProperty + - propertyName: max_session_limit(Integer^integer) + cli: + name: maxSessionLimit + cliKey: maxSessionLimit + - propertyName: personal_desktop_assignment_type(PersonalDesktopAssignmentType^choice) + cli: + name: personalDesktopAssignmentType + cliKey: personalDesktopAssignmentType + - propertyName: load_balancer_type(LoadBalancerType^choice) + cli: + name: loadBalancerType + cliKey: loadBalancerType + - propertyName: ring(Integer^integer) + cli: + cliKey: ring + - propertyName: validation_environment(boolean^boolean) + cli: + name: validationEnvironment + cliKey: validationEnvironment + - propertyName: registration_info(RegistrationInfoPatch^object) + cli: + name: registrationInfo + cliKey: registrationInfo + - propertyName: sso_context(HostPoolPatchPropertiesSsoContext^string) + cli: + name: ssoContext + cliKey: ssoContext + - schemaName: RegistrationInfoPatch + cli: + cliKey: RegistrationInfoPatch + cli-complexity: object_simple + cli-simplify-indicator: + simplifiable: true + propertyCountIfSimplify: 1 + propertyCountIfSimplifyWithoutSimpleObject: 1 + cli-mark: checked + properties: + - propertyName: registration_token_operation(RegistrationTokenOperation^choice) + cli: + name: registrationTokenOperation + cliKey: registrationTokenOperation + - schemaName: HostPoolList + cli: + cliKey: HostPoolList + cli-complexity: object_complex + cli-simplify-indicator: + simplifiable: false + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + cli-mark: checked + properties: + - propertyName: value(HostPoolListValue^array) + cli: + cliKey: value + - propertyName: next_link(HostPoolListNextLink^string) + cli: + name: nextLink + cliKey: nextLink + readOnly: true + - schemaName: UserSessionList + cli: + cliKey: UserSessionList + cli-complexity: object_complex + cli-simplify-indicator: + simplifiable: false + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + cli-mark: checked + properties: + - propertyName: value(UserSessionListValue^array) + cli: + cliKey: value + - propertyName: next_link(UserSessionListNextLink^string) + cli: + name: nextLink + cliKey: nextLink + readOnly: true + - schemaName: UserSession + cli: + cliKey: UserSession + cli-complexity: object_simple + cli-simplify-indicator: + simplifiable: true + propertyCountIfSimplify: 5 + propertyCountIfSimplifyWithoutSimpleObject: 5 + cli-mark: checked + properties: + - propertyName: user_principal_name(UserSessionPropertiesUserPrincipalName^string) + cli: + name: userPrincipalName + cliKey: userPrincipalName + - propertyName: application_type(ApplicationType^choice) + cli: + name: applicationType + cliKey: applicationType + - propertyName: session_state(SessionState^choice) + cli: + name: sessionState + cliKey: sessionState + - propertyName: active_directory_user_name(UserSessionPropertiesActiveDirectoryUserName^string) + cli: + name: activeDirectoryUserName + cliKey: activeDirectoryUserName + - propertyName: create_time(user_session_properties_create_time^date-time) + cli: + name: createTime + cliKey: createTime + - schemaName: SessionHost + cli: + cliKey: SessionHost + cli-complexity: object_simple + cli-simplify-indicator: + simplifiable: true + propertyCountIfSimplify: 10 + propertyCountIfSimplifyWithoutSimpleObject: 10 + cli-mark: checked + properties: + - propertyName: last_heart_beat(session_host_properties_last_heart_beat^date-time) + cli: + name: lastHeartBeat + cliKey: lastHeartBeat + - propertyName: sessions(Integer^integer) + cli: + cliKey: sessions + - propertyName: agent_version(SessionHostPropertiesAgentVersion^string) + cli: + name: agentVersion + cliKey: agentVersion + - propertyName: allow_new_session(boolean^boolean) + cli: + name: allowNewSession + cliKey: allowNewSession + - propertyName: assigned_user(SessionHostPropertiesAssignedUser^string) + cli: + name: assignedUser + cliKey: assignedUser + - propertyName: status(Status^choice) + cli: + cliKey: status + - propertyName: status_timestamp(session_host_properties_status_timestamp^date-time) + cli: + name: statusTimestamp + cliKey: statusTimestamp + readOnly: true + - propertyName: os_version(SessionHostPropertiesOsVersion^string) + cli: + name: osVersion + cliKey: osVersion + - propertyName: sx_s_stack_version(SessionHostPropertiesSxSStackVersion^string) + cli: + name: sxSStackVersion + cliKey: sxSStackVersion + - propertyName: update_state(UpdateState^choice) + cli: + name: updateState + cliKey: updateState + - propertyName: last_update_time(session_host_properties_last_update_time^date-time) + cli: + name: lastUpdateTime + cliKey: lastUpdateTime + readOnly: true + - propertyName: update_error_message(SessionHostPropertiesUpdateErrorMessage^string) + cli: + name: updateErrorMessage + cliKey: updateErrorMessage + - schemaName: SessionHostPatch + cli: + cliKey: SessionHostPatch + cli-complexity: object_simple + cli-simplify-indicator: + simplifiable: true + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 2 + cli-mark: checked + properties: + - propertyName: allow_new_session(boolean^boolean) + cli: + name: allowNewSession + cliKey: allowNewSession + - propertyName: assigned_user(SessionHostPatchPropertiesAssignedUser^string) + cli: + name: assignedUser + cliKey: assignedUser + - schemaName: SessionHostList + cli: + cliKey: SessionHostList + cli-complexity: object_complex + cli-simplify-indicator: + simplifiable: false + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + cli-mark: checked + properties: + - propertyName: value(SessionHostListValue^array) + cli: + cliKey: value + - propertyName: next_link(SessionHostListNextLink^string) + cli: + name: nextLink + cliKey: nextLink + readOnly: true + - schemaName: SendMessage + cli: + cliKey: SendMessage + cli-complexity: object_simple + cli-simplify-indicator: + simplifiable: true + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 2 + cli-mark: checked + properties: + - propertyName: message_title(SendMessageTitle^string) + cli: + name: messageTitle + cliKey: messageTitle + - propertyName: message_body(SendMessageBody^string) + cli: + name: messageBody + cliKey: messageBody + choices: + all: + - choiceName: ApplicationGroupType + cli: + cliKey: ApplicationGroupType + choiceValues: + - choiceValue: remote_app + cli: + name: RemoteApp + cliKey: RemoteApp + - choiceValue: desktop + cli: + name: Desktop + cliKey: Desktop + - choiceName: CommandLineSetting + cli: + cliKey: CommandLineSetting + choiceValues: + - choiceValue: do_not_allow + cli: + name: DoNotAllow + cliKey: DoNotAllow + - choiceValue: allow + cli: + name: Allow + cliKey: Allow + - choiceValue: require + cli: + name: Require + cliKey: Require + - choiceName: HostPoolType + cli: + cliKey: HostPoolType + choiceValues: + - choiceValue: personal + cli: + name: Personal + cliKey: Personal + - choiceValue: pooled + cli: + name: Pooled + cliKey: Pooled + - choiceName: PersonalDesktopAssignmentType + cli: + cliKey: PersonalDesktopAssignmentType + choiceValues: + - choiceValue: automatic + cli: + name: Automatic + cliKey: Automatic + - choiceValue: direct + cli: + name: Direct + cliKey: Direct + - choiceName: LoadBalancerType + cli: + cliKey: LoadBalancerType + choiceValues: + - choiceValue: breadth_first + cli: + name: BreadthFirst + cliKey: BreadthFirst + - choiceValue: depth_first + cli: + name: DepthFirst + cliKey: DepthFirst + - choiceValue: persistent + cli: + name: Persistent + cliKey: Persistent + - choiceName: RegistrationTokenOperation + cli: + cliKey: RegistrationTokenOperation + choiceValues: + - choiceValue: delete + cli: + name: Delete + cliKey: Delete + - choiceValue: none + cli: + name: None + cliKey: None + - choiceValue: update + cli: + name: Update + cliKey: Update + - choiceName: ApplicationType + cli: + cliKey: ApplicationType + choiceValues: + - choiceValue: remote_app + cli: + name: RemoteApp + cliKey: RemoteApp + - choiceValue: desktop + cli: + name: Desktop + cliKey: Desktop + - choiceName: SessionState + cli: + cliKey: SessionState + choiceValues: + - choiceValue: unknown + cli: + name: Unknown + cliKey: Unknown + - choiceValue: active + cli: + name: Active + cliKey: Active + - choiceValue: disconnected + cli: + name: Disconnected + cliKey: Disconnected + - choiceValue: pending + cli: + name: Pending + cliKey: Pending + - choiceValue: log_off + cli: + name: LogOff + cliKey: LogOff + - choiceValue: user_profile_disk_mounted + cli: + name: UserProfileDiskMounted + cliKey: UserProfileDiskMounted + - choiceName: Status + cli: + cliKey: Status + choiceValues: + - choiceValue: available + cli: + name: Available + cliKey: Available + - choiceValue: unavailable + cli: + name: Unavailable + cliKey: Unavailable + - choiceValue: shutdown + cli: + name: Shutdown + cliKey: Shutdown + - choiceValue: disconnected + cli: + name: Disconnected + cliKey: Disconnected + - choiceValue: upgrading + cli: + name: Upgrading + cliKey: Upgrading + - choiceValue: upgrade_failed + cli: + name: UpgradeFailed + cliKey: UpgradeFailed + - choiceName: UpdateState + cli: + cliKey: UpdateState + choiceValues: + - choiceValue: initial + cli: + name: Initial + cliKey: Initial + - choiceValue: pending + cli: + name: Pending + cliKey: Pending + - choiceValue: started + cli: + name: Started + cliKey: Started + - choiceValue: succeeded + cli: + name: Succeeded + cliKey: Succeeded + - choiceValue: failed + cli: + name: Failed + cliKey: Failed diff --git a/src/desktopvirtualization/_az_debug/clicommon-000130-complex-marker-post.yaml b/src/desktopvirtualization/_az_debug/clicommon-000130-complex-marker-post.yaml new file mode 100644 index 00000000000..ab5555106f6 --- /dev/null +++ b/src/desktopvirtualization/_az_debug/clicommon-000130-complex-marker-post.yaml @@ -0,0 +1,11138 @@ +info: + title: Desktop Virtualization API Client + extensions: + cli-dump-index: 130 +schemas: + booleans: + - &ref_53 + type: boolean + language: + default: + name: boolean + description: Specifies whether to show the RemoteApp program in the RD Web Access server. + protocol: {} + - &ref_27 + type: boolean + language: + default: + name: boolean + description: Is validation environment. + protocol: {} + - &ref_356 + type: boolean + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: boolean + description: '' + protocol: {} + - &ref_73 + type: boolean + language: + default: + name: boolean + description: Allow a new session. + protocol: {} + numbers: + - &ref_47 + type: integer + precision: 32 + language: + default: + name: Integer + description: Index of the icon. + cli: + name: Integer + description: Index of the icon. + protocol: {} + - &ref_24 + type: integer + precision: 32 + language: + default: + name: Integer + description: The max session limit of HostPool. + cli: + name: Integer + description: The max session limit of HostPool. + protocol: {} + - &ref_26 + type: integer + precision: 32 + language: + default: + name: Integer + description: The ring number of HostPool. + cli: + name: Integer + description: The ring number of HostPool. + protocol: {} + - &ref_71 + type: integer + precision: 32 + language: + default: + name: Integer + description: Number of sessions on SessionHost. + cli: + name: Integer + description: Number of sessions on SessionHost. + protocol: {} + strings: + - &ref_0 + type: string + language: + default: + name: String + description: simple string + cli: + name: String + description: simple string + protocol: {} + - &ref_2 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ResourceProviderOperationName + description: 'Operation name, in format of {provider}/{resource}/{operation}' + cli: + name: ResourceProviderOperationName + description: 'Operation name, in format of {provider}/{resource}/{operation}' + protocol: {} + - &ref_3 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ResourceProviderOperationDisplayProvider + description: 'Resource provider: Microsoft Desktop Virtualization.' + cli: + name: ResourceProviderOperationDisplayProvider + description: 'Resource provider: Microsoft Desktop Virtualization.' + protocol: {} + - &ref_4 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ResourceProviderOperationDisplayResource + description: Resource on which the operation is performed. + cli: + name: ResourceProviderOperationDisplayResource + description: Resource on which the operation is performed. + protocol: {} + - &ref_5 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ResourceProviderOperationDisplayOperation + description: 'Type of operation: get, read, delete, etc.' + cli: + name: ResourceProviderOperationDisplayOperation + description: 'Type of operation: get, read, delete, etc.' + protocol: {} + - &ref_6 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ResourceProviderOperationDisplayDescription + description: Description of this operation. + cli: + name: ResourceProviderOperationDisplayDescription + description: Description of this operation. + protocol: {} + - &ref_130 + type: string + apiVersions: + - version: '1.0' + minLength: 1 + language: + default: + name: String + description: '' + cli: + name: String + description: '' + protocol: {} + - &ref_136 + type: string + apiVersions: + - version: '1.0' + maxLength: 90 + minLength: 1 + pattern: '^[-\w\._\(\)]+$' + language: + default: + name: String + description: '' + cli: + name: String + description: '' + protocol: {} + - &ref_137 + type: string + apiVersions: + - version: 2019-12-10-preview + maxLength: 24 + minLength: 3 + language: + default: + name: String + description: '' + cli: + name: String + description: '' + protocol: {} + - &ref_91 + type: string + apiVersions: + - version: '1.0' + language: + default: + name: ResourceId + description: 'Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' + cli: + name: ResourceId + description: 'Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' + protocol: {} + - &ref_92 + type: string + apiVersions: + - version: '1.0' + language: + default: + name: ResourceName + description: The name of the resource + cli: + name: ResourceName + description: The name of the resource + protocol: {} + - &ref_93 + type: string + apiVersions: + - version: '1.0' + language: + default: + name: ResourceType + description: The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + cli: + name: ResourceType + description: The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + protocol: {} + - &ref_1 + type: string + apiVersions: + - version: '1.0' + language: + default: + name: String + description: '' + cli: + name: String + description: '' + protocol: {} + - &ref_38 + type: string + apiVersions: + - version: '1.0' + extensions: + x-ms-mutability: + - read + - create + language: + default: + name: TrackedResourceLocation + description: The geo-location where the resource lives + cli: + name: TrackedResourceLocation + description: The geo-location where the resource lives + protocol: {} + - &ref_11 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: WorkspacePropertiesDescription + description: Description of Workspace. + cli: + name: WorkspacePropertiesDescription + description: Description of Workspace. + protocol: {} + - &ref_12 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: WorkspacePropertiesFriendlyName + description: Friendly name of Workspace. + cli: + name: WorkspacePropertiesFriendlyName + description: Friendly name of Workspace. + protocol: {} + - &ref_13 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: WorkspacePropertiesApplicationGroupReferencesItem + description: '' + cli: + name: WorkspacePropertiesApplicationGroupReferencesItem + description: '' + protocol: {} + - &ref_94 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: CloudErrorCode + description: Error code + cli: + name: CloudErrorCode + description: Error code + protocol: {} + - &ref_95 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: CloudErrorMessage + description: Error message indicating why the operation failed. + cli: + name: CloudErrorMessage + description: Error message indicating why the operation failed. + protocol: {} + - &ref_96 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: WorkspacePatchPropertiesDescription + description: Description of Workspace. + cli: + name: WorkspacePatchPropertiesDescription + description: Description of Workspace. + protocol: {} + - &ref_97 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: WorkspacePatchPropertiesFriendlyName + description: Friendly name of Workspace. + cli: + name: WorkspacePatchPropertiesFriendlyName + description: Friendly name of Workspace. + protocol: {} + - &ref_98 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: WorkspacePatchPropertiesApplicationGroupReferencesItem + description: '' + cli: + name: WorkspacePatchPropertiesApplicationGroupReferencesItem + description: '' + protocol: {} + - &ref_99 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: WorkspaceListNextLink + description: Link to the next page of results. + cli: + name: WorkspaceListNextLink + description: Link to the next page of results. + protocol: {} + - &ref_180 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: String + description: '' + cli: + name: String + description: '' + protocol: {} + - &ref_14 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationGroupPropertiesDescription + description: Description of ApplicationGroup. + cli: + name: ApplicationGroupPropertiesDescription + description: Description of ApplicationGroup. + protocol: {} + - &ref_15 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationGroupPropertiesFriendlyName + description: Friendly name of ApplicationGroup. + cli: + name: ApplicationGroupPropertiesFriendlyName + description: Friendly name of ApplicationGroup. + protocol: {} + - &ref_16 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationGroupPropertiesHostPoolArmPath + description: HostPool arm path of ApplicationGroup. + cli: + name: ApplicationGroupPropertiesHostPoolArmPath + description: HostPool arm path of ApplicationGroup. + protocol: {} + - &ref_17 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationGroupPropertiesWorkspaceArmPath + description: Workspace arm path of ApplicationGroup. + cli: + name: ApplicationGroupPropertiesWorkspaceArmPath + description: Workspace arm path of ApplicationGroup. + protocol: {} + - &ref_100 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationGroupListNextLink + description: Link to the next page of results. + cli: + name: ApplicationGroupListNextLink + description: Link to the next page of results. + protocol: {} + - &ref_40 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationGroupPatchPropertiesDescription + description: Description of ApplicationGroup. + cli: + name: ApplicationGroupPatchPropertiesDescription + description: Description of ApplicationGroup. + protocol: {} + - &ref_41 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationGroupPatchPropertiesFriendlyName + description: Friendly name of ApplicationGroup. + cli: + name: ApplicationGroupPatchPropertiesFriendlyName + description: Friendly name of ApplicationGroup. + protocol: {} + - &ref_42 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: StartMenuItemPropertiesAppAlias + description: Alias of StartMenuItem. + cli: + name: StartMenuItemPropertiesAppAlias + description: Alias of StartMenuItem. + protocol: {} + - &ref_43 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: StartMenuItemPropertiesFriendlyName + description: Friendly name of StartMenuItem. + cli: + name: StartMenuItemPropertiesFriendlyName + description: Friendly name of StartMenuItem. + protocol: {} + - &ref_44 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: StartMenuItemPropertiesFilePath + description: Path to the file of StartMenuItem. + cli: + name: StartMenuItemPropertiesFilePath + description: Path to the file of StartMenuItem. + protocol: {} + - &ref_45 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: StartMenuItemPropertiesCommandLineArguments + description: Command line arguments for StartMenuItem. + cli: + name: StartMenuItemPropertiesCommandLineArguments + description: Command line arguments for StartMenuItem. + protocol: {} + - &ref_46 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: StartMenuItemPropertiesIconPath + description: Path to the icon. + cli: + name: StartMenuItemPropertiesIconPath + description: Path to the icon. + protocol: {} + - &ref_101 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: StartMenuItemListNextLink + description: Link to the next page of results. + cli: + name: StartMenuItemListNextLink + description: Link to the next page of results. + protocol: {} + - &ref_48 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationPropertiesDescription + description: Description of Application. + cli: + name: ApplicationPropertiesDescription + description: Description of Application. + protocol: {} + - &ref_49 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationPropertiesFriendlyName + description: Friendly name of Application. + cli: + name: ApplicationPropertiesFriendlyName + description: Friendly name of Application. + protocol: {} + - &ref_50 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationPropertiesFilePath + description: Specifies a path for the executable file for the application. + cli: + name: ApplicationPropertiesFilePath + description: Specifies a path for the executable file for the application. + protocol: {} + - &ref_52 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationPropertiesCommandLineArguments + description: Command Line Arguments for Application. + cli: + name: ApplicationPropertiesCommandLineArguments + description: Command Line Arguments for Application. + protocol: {} + - &ref_54 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationPropertiesIconPath + description: Path to icon. + cli: + name: ApplicationPropertiesIconPath + description: Path to icon. + protocol: {} + - &ref_55 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationPropertiesIconHash + description: Hash of the icon. + cli: + name: ApplicationPropertiesIconHash + description: Hash of the icon. + protocol: {} + - &ref_102 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationPatchPropertiesDescription + description: Description of Application. + cli: + name: ApplicationPatchPropertiesDescription + description: Description of Application. + protocol: {} + - &ref_103 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationPatchPropertiesFriendlyName + description: Friendly name of Application. + cli: + name: ApplicationPatchPropertiesFriendlyName + description: Friendly name of Application. + protocol: {} + - &ref_104 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationPatchPropertiesFilePath + description: Specifies a path for the executable file for the application. + cli: + name: ApplicationPatchPropertiesFilePath + description: Specifies a path for the executable file for the application. + protocol: {} + - &ref_105 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationPatchPropertiesCommandLineArguments + description: Command Line Arguments for Application. + cli: + name: ApplicationPatchPropertiesCommandLineArguments + description: Command Line Arguments for Application. + protocol: {} + - &ref_106 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationPatchPropertiesIconPath + description: Path to icon. + cli: + name: ApplicationPatchPropertiesIconPath + description: Path to icon. + protocol: {} + - &ref_107 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: ApplicationListNextLink + description: Link to the next page of results. + cli: + name: ApplicationListNextLink + description: Link to the next page of results. + protocol: {} + - &ref_57 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: DesktopPropertiesDescription + description: Description of Desktop. + cli: + name: DesktopPropertiesDescription + description: Description of Desktop. + protocol: {} + - &ref_58 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: DesktopPropertiesFriendlyName + description: Friendly name of Desktop. + cli: + name: DesktopPropertiesFriendlyName + description: Friendly name of Desktop. + protocol: {} + - &ref_59 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: DesktopPropertiesIconHash + description: Hash of the icon. + cli: + name: DesktopPropertiesIconHash + description: Hash of the icon. + protocol: {} + - &ref_108 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: DesktopPatchPropertiesDescription + description: Description of Desktop. + cli: + name: DesktopPatchPropertiesDescription + description: Description of Desktop. + protocol: {} + - &ref_109 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: DesktopPatchPropertiesFriendlyName + description: Friendly name of Desktop. + cli: + name: DesktopPatchPropertiesFriendlyName + description: Friendly name of Desktop. + protocol: {} + - &ref_110 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: DesktopListNextLink + description: Link to the next page of results. + cli: + name: DesktopListNextLink + description: Link to the next page of results. + protocol: {} + - &ref_19 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolPropertiesFriendlyName + description: Friendly name of HostPool. + cli: + name: HostPoolPropertiesFriendlyName + description: Friendly name of HostPool. + protocol: {} + - &ref_20 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolPropertiesDescription + description: Description of HostPool. + cli: + name: HostPoolPropertiesDescription + description: Description of HostPool. + protocol: {} + - &ref_23 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolPropertiesCustomRdpProperty + description: Custom rdp property of HostPool. + cli: + name: HostPoolPropertiesCustomRdpProperty + description: Custom rdp property of HostPool. + protocol: {} + - &ref_29 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: RegistrationInfoToken + description: The registration token base64 encoded string. + cli: + name: RegistrationInfoToken + description: The registration token base64 encoded string. + protocol: {} + - &ref_31 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolPropertiesVmTemplate + description: VM template for sessionhosts configuration within hostpool. + cli: + name: HostPoolPropertiesVmTemplate + description: VM template for sessionhosts configuration within hostpool. + protocol: {} + - &ref_32 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolPropertiesApplicationGroupReferencesItem + description: '' + cli: + name: HostPoolPropertiesApplicationGroupReferencesItem + description: '' + protocol: {} + - &ref_33 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolPropertiesSsoContext + description: Path to keyvault containing ssoContext secret. + cli: + name: HostPoolPropertiesSsoContext + description: Path to keyvault containing ssoContext secret. + protocol: {} + - &ref_61 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolPatchPropertiesFriendlyName + description: Friendly name of HostPool. + cli: + name: HostPoolPatchPropertiesFriendlyName + description: Friendly name of HostPool. + protocol: {} + - &ref_62 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolPatchPropertiesDescription + description: Description of HostPool. + cli: + name: HostPoolPatchPropertiesDescription + description: Description of HostPool. + protocol: {} + - &ref_63 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolPatchPropertiesCustomRdpProperty + description: Custom rdp property of HostPool. + cli: + name: HostPoolPatchPropertiesCustomRdpProperty + description: Custom rdp property of HostPool. + protocol: {} + - &ref_64 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolPatchPropertiesSsoContext + description: Path to keyvault containing ssoContext secret. + cli: + name: HostPoolPatchPropertiesSsoContext + description: Path to keyvault containing ssoContext secret. + protocol: {} + - &ref_113 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: HostPoolListNextLink + description: Link to the next page of results. + cli: + name: HostPoolListNextLink + description: Link to the next page of results. + protocol: {} + - &ref_65 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: UserSessionPropertiesUserPrincipalName + description: The user principal name. + cli: + name: UserSessionPropertiesUserPrincipalName + description: The user principal name. + protocol: {} + - &ref_68 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: UserSessionPropertiesActiveDirectoryUserName + description: The active directory user name. + cli: + name: UserSessionPropertiesActiveDirectoryUserName + description: The active directory user name. + protocol: {} + - &ref_114 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: UserSessionListNextLink + description: Link to the next page of results. + cli: + name: UserSessionListNextLink + description: Link to the next page of results. + protocol: {} + - &ref_402 + type: string + apiVersions: + - version: 2019-12-10-preview + maxLength: 48 + minLength: 3 + language: + default: + name: String + description: '' + cli: + name: String + description: '' + protocol: {} + - &ref_72 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostPropertiesAgentVersion + description: Version of agent on SessionHost. + cli: + name: SessionHostPropertiesAgentVersion + description: Version of agent on SessionHost. + protocol: {} + - &ref_74 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostPropertiesAssignedUser + description: User assigned to SessionHost. + cli: + name: SessionHostPropertiesAssignedUser + description: User assigned to SessionHost. + protocol: {} + - &ref_77 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostPropertiesOsVersion + description: The version of the OS on the session host. + cli: + name: SessionHostPropertiesOsVersion + description: The version of the OS on the session host. + protocol: {} + - &ref_78 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostPropertiesSxSStackVersion + description: The version of the side by side stack on the session host. + cli: + name: SessionHostPropertiesSxSStackVersion + description: The version of the side by side stack on the session host. + protocol: {} + - &ref_81 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostPropertiesUpdateErrorMessage + description: The error message. + cli: + name: SessionHostPropertiesUpdateErrorMessage + description: The error message. + protocol: {} + - &ref_82 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostPatchPropertiesAssignedUser + description: User assigned to SessionHost. + cli: + name: SessionHostPatchPropertiesAssignedUser + description: User assigned to SessionHost. + protocol: {} + - &ref_115 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SessionHostListNextLink + description: Link to the next page of results. + cli: + name: SessionHostListNextLink + description: Link to the next page of results. + protocol: {} + - &ref_403 + type: string + apiVersions: + - version: 2019-12-10-preview + maxLength: 24 + minLength: 1 + language: + default: + name: String + description: '' + cli: + name: String + description: '' + protocol: {} + - &ref_116 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SendMessageTitle + description: Title of message. + cli: + name: SendMessageTitle + description: Title of message. + protocol: {} + - &ref_117 + type: string + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: SendMessageBody + description: Body of message. + cli: + name: SendMessageBody + description: Body of message. + protocol: {} + choices: + - &ref_18 + choices: + - value: RemoteApp + language: + default: + name: remote_app + description: '' + cli: + name: RemoteApp + description: '' + cliKey: RemoteApp + - value: Desktop + language: + default: + name: desktop + description: '' + cli: + name: Desktop + description: '' + cliKey: Desktop + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: ApplicationGroupType + description: Resource Type of ApplicationGroup. + cli: + name: ApplicationGroupType + description: Resource Type of ApplicationGroup. + cliKey: ApplicationGroupType + protocol: {} + - &ref_51 + choices: + - value: DoNotAllow + language: + default: + name: do_not_allow + description: '' + cli: + name: DoNotAllow + description: '' + cliKey: DoNotAllow + - value: Allow + language: + default: + name: allow + description: '' + cli: + name: Allow + description: '' + cliKey: Allow + - value: Require + language: + default: + name: require + description: '' + cli: + name: Require + description: '' + cliKey: Require + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: CommandLineSetting + description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' + cli: + name: CommandLineSetting + description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' + cliKey: CommandLineSetting + protocol: {} + - &ref_21 + choices: + - value: Personal + language: + default: + name: personal + description: '' + cli: + name: Personal + description: '' + cliKey: Personal + - value: Pooled + language: + default: + name: pooled + description: '' + cli: + name: Pooled + description: '' + cliKey: Pooled + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: HostPoolType + description: HostPool type for desktop. + cli: + name: HostPoolType + description: HostPool type for desktop. + cliKey: HostPoolType + protocol: {} + - &ref_22 + choices: + - value: Automatic + language: + default: + name: automatic + description: '' + cli: + name: Automatic + description: '' + cliKey: Automatic + - value: Direct + language: + default: + name: direct + description: '' + cli: + name: Direct + description: '' + cliKey: Direct + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: PersonalDesktopAssignmentType + description: PersonalDesktopAssignment type for HostPool. + cli: + name: PersonalDesktopAssignmentType + description: PersonalDesktopAssignment type for HostPool. + cliKey: PersonalDesktopAssignmentType + protocol: {} + - &ref_25 + choices: + - value: BreadthFirst + language: + default: + name: breadth_first + description: '' + cli: + name: BreadthFirst + description: '' + cliKey: BreadthFirst + - value: DepthFirst + language: + default: + name: depth_first + description: '' + cli: + name: DepthFirst + description: '' + cliKey: DepthFirst + - value: Persistent + language: + default: + name: persistent + description: '' + cli: + name: Persistent + description: '' + cliKey: Persistent + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: LoadBalancerType + description: The type of the load balancer. + cli: + name: LoadBalancerType + description: The type of the load balancer. + cliKey: LoadBalancerType + protocol: {} + - &ref_30 + choices: + - value: Delete + language: + default: + name: delete + description: '' + cli: + name: Delete + description: '' + cliKey: Delete + - value: None + language: + default: + name: none + description: '' + cli: + name: None + description: '' + cliKey: None + - value: Update + language: + default: + name: update + description: '' + cli: + name: Update + description: '' + cliKey: Update + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: RegistrationTokenOperation + description: The type of resetting the token. + cli: + name: RegistrationTokenOperation + description: The type of resetting the token. + cliKey: RegistrationTokenOperation + protocol: {} + - &ref_66 + choices: + - value: RemoteApp + language: + default: + name: remote_app + description: '' + cli: + name: RemoteApp + description: '' + cliKey: RemoteApp + - value: Desktop + language: + default: + name: desktop + description: '' + cli: + name: Desktop + description: '' + cliKey: Desktop + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: ApplicationType + description: Application type of application. + cli: + name: ApplicationType + description: Application type of application. + cliKey: ApplicationType + protocol: {} + - &ref_67 + choices: + - value: Unknown + language: + default: + name: unknown + description: '' + cli: + name: Unknown + description: '' + cliKey: Unknown + - value: Active + language: + default: + name: active + description: '' + cli: + name: Active + description: '' + cliKey: Active + - value: Disconnected + language: + default: + name: disconnected + description: '' + cli: + name: Disconnected + description: '' + cliKey: Disconnected + - value: Pending + language: + default: + name: pending + description: '' + cli: + name: Pending + description: '' + cliKey: Pending + - value: LogOff + language: + default: + name: log_off + description: '' + cli: + name: LogOff + description: '' + cliKey: LogOff + - value: UserProfileDiskMounted + language: + default: + name: user_profile_disk_mounted + description: '' + cli: + name: UserProfileDiskMounted + description: '' + cliKey: UserProfileDiskMounted + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: SessionState + description: State of user session. + cli: + name: SessionState + description: State of user session. + cliKey: SessionState + protocol: {} + - &ref_75 + choices: + - value: Available + language: + default: + name: available + description: '' + cli: + name: Available + description: '' + cliKey: Available + - value: Unavailable + language: + default: + name: unavailable + description: '' + cli: + name: Unavailable + description: '' + cliKey: Unavailable + - value: Shutdown + language: + default: + name: shutdown + description: '' + cli: + name: Shutdown + description: '' + cliKey: Shutdown + - value: Disconnected + language: + default: + name: disconnected + description: '' + cli: + name: Disconnected + description: '' + cliKey: Disconnected + - value: Upgrading + language: + default: + name: upgrading + description: '' + cli: + name: Upgrading + description: '' + cliKey: Upgrading + - value: UpgradeFailed + language: + default: + name: upgrade_failed + description: '' + cli: + name: UpgradeFailed + description: '' + cliKey: UpgradeFailed + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: Status + description: Status for a SessionHost. + cli: + name: Status + description: Status for a SessionHost. + cliKey: Status + protocol: {} + - &ref_79 + choices: + - value: Initial + language: + default: + name: initial + description: '' + cli: + name: Initial + description: '' + cliKey: Initial + - value: Pending + language: + default: + name: pending + description: '' + cli: + name: Pending + description: '' + cliKey: Pending + - value: Started + language: + default: + name: started + description: '' + cli: + name: Started + description: '' + cliKey: Started + - value: Succeeded + language: + default: + name: succeeded + description: '' + cli: + name: Succeeded + description: '' + cliKey: Succeeded + - value: Failed + language: + default: + name: failed + description: '' + cli: + name: Failed + description: '' + cliKey: Failed + type: choice + apiVersions: + - version: 2019-12-10-preview + choiceType: *ref_0 + language: + default: + name: UpdateState + description: Update state of a SessionHost. + cli: + name: UpdateState + description: Update state of a SessionHost. + cliKey: UpdateState + protocol: {} + constants: + - &ref_131 + type: constant + value: + value: 2019-12-10-preview + valueType: *ref_0 + language: + default: + name: api_version2019_12_10_preview + description: Api Version (2019-12-10-preview) + cli: + name: ApiVersion20191210Preview + description: Api Version (2019-12-10-preview) + protocol: {} + - &ref_141 + type: constant + value: + value: application/json + valueType: *ref_0 + language: + default: + name: application_json + description: Content Type 'application/json' + cli: + name: ApplicationJson + description: Content Type 'application/json' + protocol: {} + dictionaries: + - &ref_37 + type: dictionary + elementType: *ref_1 + language: + default: + name: TrackedResourceTags + description: Resource tags. + cli: + name: TrackedResourceTags + description: Resource tags. + cli-complexity: dictionary_simple + cli-mark: checked + protocol: {} + any: + - &ref_39 + type: any + language: + default: + name: any + description: Any object + protocol: {} + byteArrays: + - &ref_56 + type: byte-array + format: byte + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: application_properties_icon_content + description: the icon a 64 bit string as a byte array. + protocol: {} + - &ref_60 + type: byte-array + format: byte + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: desktop_properties_icon_content + description: The icon a 64 bit string as a byte array. + protocol: {} + dateTimes: + - &ref_28 + type: date-time + format: date-time + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: registration_info_expiration_time + description: Expiration time of registration token. + protocol: {} + - &ref_69 + type: date-time + format: date-time + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: user_session_properties_create_time + description: The timestamp of the user session create. + protocol: {} + - &ref_70 + type: date-time + format: date-time + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: session_host_properties_last_heart_beat + description: Last heart beat from SessionHost. + protocol: {} + - &ref_76 + type: date-time + format: date-time + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: session_host_properties_status_timestamp + description: The timestamp of the status. + protocol: {} + - &ref_80 + type: date-time + format: date-time + apiVersions: + - version: 2019-12-10-preview + language: + default: + name: session_host_properties_last_update_time + description: The timestamp of the last update. + protocol: {} + objects: + - &ref_134 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_118 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: &ref_7 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_2 + serializedName: name + language: + default: + name: name + description: 'Operation name, in format of {provider}/{resource}/{operation}' + cli: + name: name + description: 'Operation name, in format of {provider}/{resource}/{operation}' + cliKey: name + protocol: {} + - schema: &ref_8 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_3 + serializedName: provider + language: + default: + name: provider + description: 'Resource provider: Microsoft Desktop Virtualization.' + cli: + name: provider + description: 'Resource provider: Microsoft Desktop Virtualization.' + cliKey: provider + protocol: {} + - schema: *ref_4 + serializedName: resource + language: + default: + name: resource + description: Resource on which the operation is performed. + cli: + name: resource + description: Resource on which the operation is performed. + cliKey: resource + protocol: {} + - schema: *ref_5 + serializedName: operation + language: + default: + name: operation + description: 'Type of operation: get, read, delete, etc.' + cli: + name: operation + description: 'Type of operation: get, read, delete, etc.' + cliKey: operation + protocol: {} + - schema: *ref_6 + serializedName: description + language: + default: + name: description + description: Description of this operation. + cli: + name: description + description: Description of this operation. + cliKey: description + protocol: {} + serializationFormats: + - json + usage: + - output + language: + default: + name: ResourceProviderOperationDisplay + description: Display metadata associated with the operation. + namespace: '' + cli: + name: ResourceProviderOperationDisplay + description: Display metadata associated with the operation. + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 4 + propertyCountIfSimplifyWithoutSimpleObject: 4 + simplifiable: true + cliKey: ResourceProviderOperation-display + protocol: {} + serializedName: display + language: + default: + name: display + description: Display metadata associated with the operation. + cli: + name: display + description: Display metadata associated with the operation. + cliKey: display + protocol: {} + serializationFormats: + - json + usage: + - output + language: + default: + name: ResourceProviderOperation + description: Supported operation of this resource provider. + namespace: '' + cli: + name: ResourceProviderOperation + description: Supported operation of this resource provider. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 5 + propertyCountIfSimplifyWithoutSimpleObject: 2 + simplifiable: true + cliKey: ResourceProviderOperation + protocol: {} + language: + default: + name: ResourceProviderOperationListValue + description: List of operations supported by this resource provider. + cli: + name: ResourceProviderOperationListValue + description: List of operations supported by this resource provider. + cli-complexity: array_complex + cli-mark: checked + protocol: {} + serializedName: value + language: + default: + name: value + description: List of operations supported by this resource provider. + cli: + name: value + description: List of operations supported by this resource provider. + cliKey: value + protocol: {} + serializationFormats: + - json + usage: + - output + language: + default: + name: ResourceProviderOperationList + description: Result of the request to list operations. + namespace: '' + cli: + name: ResourceProviderOperationList + description: Result of the request to list operations. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ResourceProviderOperationList + protocol: {} + - *ref_7 + - *ref_8 + - &ref_10 + type: object + apiVersions: + - version: '1.0' + children: + all: + - &ref_9 + type: object + apiVersions: + - version: '1.0' + children: + all: + - &ref_34 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_9 + - *ref_10 + immediate: + - *ref_9 + properties: + - &ref_147 + schema: *ref_11 + flattenedNames: + - properties + - description + serializedName: description + language: + default: + name: description + description: Description of Workspace. + cli: &ref_148 + name: description + description: Description of Workspace. + cliKey: description + protocol: {} + - &ref_149 + schema: *ref_12 + flattenedNames: + - properties + - friendlyName + serializedName: friendlyName + language: + default: + name: friendly_name + description: Friendly name of Workspace. + cli: &ref_150 + name: friendlyName + description: Friendly name of Workspace. + cliKey: friendlyName + protocol: {} + - &ref_151 + schema: &ref_119 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_13 + language: + default: + name: WorkspacePropertiesApplicationGroupReferences + description: List of applicationGroup resource Ids. + cli: + name: WorkspacePropertiesApplicationGroupReferences + description: List of applicationGroup resource Ids. + cli-complexity: array_simple + cli-mark: checked + protocol: {} + flattenedNames: + - properties + - applicationGroupReferences + serializedName: applicationGroupReferences + language: + default: + name: application_group_references + description: List of applicationGroup resource Ids. + cli: &ref_152 + name: applicationGroupReferences + description: List of applicationGroup resource Ids. + cliKey: applicationGroupReferences + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: Workspace + description: Represents a Workspace definition. + namespace: '' + cli: + name: Workspace + description: Represents a Workspace definition. + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: Workspace + protocol: {} + - &ref_35 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_9 + - *ref_10 + immediate: + - *ref_9 + properties: + - &ref_188 + schema: *ref_14 + flattenedNames: + - properties + - description + required: false + serializedName: description + language: + default: + name: description + description: Description of ApplicationGroup. + cli: &ref_189 + name: description + description: Description of ApplicationGroup. + cliKey: description + protocol: {} + - &ref_190 + schema: *ref_15 + flattenedNames: + - properties + - friendlyName + required: false + serializedName: friendlyName + language: + default: + name: friendly_name + description: Friendly name of ApplicationGroup. + cli: &ref_191 + name: friendlyName + description: Friendly name of ApplicationGroup. + cliKey: friendlyName + protocol: {} + - &ref_192 + schema: *ref_16 + flattenedNames: + - properties + - hostPoolArmPath + required: true + serializedName: hostPoolArmPath + language: + default: + name: host_pool_arm_path + description: HostPool arm path of ApplicationGroup. + cli: &ref_193 + name: hostPoolArmPath + description: HostPool arm path of ApplicationGroup. + cliKey: hostPoolArmPath + protocol: {} + - schema: *ref_17 + flattenedNames: + - properties + - workspaceArmPath + readOnly: true + required: false + serializedName: workspaceArmPath + language: + default: + name: workspace_arm_path + description: Workspace arm path of ApplicationGroup. + cli: + name: workspaceArmPath + description: Workspace arm path of ApplicationGroup. + cliKey: workspaceArmPath + protocol: {} + - &ref_194 + schema: *ref_18 + flattenedNames: + - properties + - applicationGroupType + required: true + serializedName: applicationGroupType + language: + default: + name: application_group_type + description: Resource Type of ApplicationGroup. + cli: &ref_195 + name: applicationGroupType + description: Resource Type of ApplicationGroup. + cliKey: applicationGroupType + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: ApplicationGroup + description: Represents a ApplicationGroup definition. + namespace: '' + cli: + name: ApplicationGroup + description: Represents a ApplicationGroup definition. + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ApplicationGroup + protocol: {} + - &ref_36 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_9 + - *ref_10 + immediate: + - *ref_9 + properties: + - &ref_316 + schema: *ref_19 + flattenedNames: + - properties + - friendlyName + required: false + serializedName: friendlyName + language: + default: + name: friendly_name + description: Friendly name of HostPool. + cli: &ref_317 + name: friendlyName + description: Friendly name of HostPool. + cliKey: friendlyName + protocol: {} + - &ref_318 + schema: *ref_20 + flattenedNames: + - properties + - description + required: false + serializedName: description + language: + default: + name: description + description: Description of HostPool. + cli: &ref_319 + name: description + description: Description of HostPool. + cliKey: description + protocol: {} + - &ref_320 + schema: *ref_21 + flattenedNames: + - properties + - hostPoolType + required: true + serializedName: hostPoolType + language: + default: + name: host_pool_type + description: HostPool type for desktop. + cli: &ref_321 + name: hostPoolType + description: HostPool type for desktop. + cliKey: hostPoolType + protocol: {} + - &ref_322 + schema: *ref_22 + flattenedNames: + - properties + - personalDesktopAssignmentType + required: true + serializedName: personalDesktopAssignmentType + language: + default: + name: personal_desktop_assignment_type + description: PersonalDesktopAssignment type for HostPool. + cli: &ref_323 + name: personalDesktopAssignmentType + description: PersonalDesktopAssignment type for HostPool. + cliKey: personalDesktopAssignmentType + protocol: {} + - &ref_324 + schema: *ref_23 + flattenedNames: + - properties + - customRdpProperty + required: false + serializedName: customRdpProperty + language: + default: + name: custom_rdp_property + description: Custom rdp property of HostPool. + cli: &ref_325 + name: customRdpProperty + description: Custom rdp property of HostPool. + cliKey: customRdpProperty + protocol: {} + - &ref_326 + schema: *ref_24 + flattenedNames: + - properties + - maxSessionLimit + required: false + serializedName: maxSessionLimit + language: + default: + name: max_session_limit + description: The max session limit of HostPool. + cli: &ref_327 + name: maxSessionLimit + description: The max session limit of HostPool. + cliKey: maxSessionLimit + protocol: {} + - &ref_328 + schema: *ref_25 + flattenedNames: + - properties + - loadBalancerType + required: true + serializedName: loadBalancerType + language: + default: + name: load_balancer_type + description: The type of the load balancer. + cli: &ref_329 + name: loadBalancerType + description: The type of the load balancer. + cliKey: loadBalancerType + protocol: {} + - &ref_330 + schema: *ref_26 + flattenedNames: + - properties + - ring + required: false + serializedName: ring + language: + default: + name: ring + description: The ring number of HostPool. + cli: &ref_331 + name: ring + description: The ring number of HostPool. + cliKey: ring + protocol: {} + - &ref_332 + schema: *ref_27 + flattenedNames: + - properties + - validationEnvironment + required: false + serializedName: validationEnvironment + language: + default: + name: validation_environment + description: Is validation environment. + cli: &ref_333 + name: validationEnvironment + description: Is validation environment. + cliKey: validationEnvironment + protocol: {} + - &ref_334 + schema: &ref_111 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_28 + serializedName: expirationTime + language: + default: + name: expiration_time + description: Expiration time of registration token. + cli: + name: expirationTime + description: Expiration time of registration token. + cliKey: expirationTime + protocol: {} + - schema: *ref_29 + serializedName: token + language: + default: + name: token + description: The registration token base64 encoded string. + cli: + name: token + description: The registration token base64 encoded string. + cliKey: token + protocol: {} + - schema: *ref_30 + serializedName: registrationTokenOperation + language: + default: + name: registration_token_operation + description: The type of resetting the token. + cli: + name: registrationTokenOperation + description: The type of resetting the token. + cliKey: registrationTokenOperation + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: RegistrationInfo + description: Represents a RegistrationInfo definition. + namespace: '' + cli: + name: RegistrationInfo + description: Represents a RegistrationInfo definition. + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 3 + propertyCountIfSimplifyWithoutSimpleObject: 3 + simplifiable: true + cliKey: RegistrationInfo + protocol: {} + flattenedNames: + - properties + - registrationInfo + required: false + serializedName: registrationInfo + language: + default: + name: registration_info + description: The registration info of HostPool. + cli: &ref_335 + name: registrationInfo + description: The registration info of HostPool. + cliKey: registrationInfo + protocol: {} + - &ref_336 + schema: *ref_31 + flattenedNames: + - properties + - vmTemplate + required: false + serializedName: vmTemplate + language: + default: + name: vm_template + description: VM template for sessionhosts configuration within hostpool. + cli: &ref_337 + name: vmTemplate + description: VM template for sessionhosts configuration within hostpool. + cliKey: vmTemplate + protocol: {} + - schema: &ref_126 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_32 + language: + default: + name: HostPoolPropertiesApplicationGroupReferences + description: List of applicationGroup links. + cli: + name: HostPoolPropertiesApplicationGroupReferences + description: List of applicationGroup links. + cli-complexity: array_simple + cli-mark: checked + protocol: {} + flattenedNames: + - properties + - applicationGroupReferences + readOnly: true + required: false + serializedName: applicationGroupReferences + language: + default: + name: application_group_references + description: List of applicationGroup links. + cli: + name: applicationGroupReferences + description: List of applicationGroup links. + cliKey: applicationGroupReferences + protocol: {} + - &ref_338 + schema: *ref_33 + flattenedNames: + - properties + - ssoContext + required: false + serializedName: ssoContext + language: + default: + name: sso_context + description: Path to keyvault containing ssoContext secret. + cli: &ref_339 + name: ssoContext + description: Path to keyvault containing ssoContext secret. + cliKey: ssoContext + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: HostPool + description: Represents a HostPool definition. + namespace: '' + cli: + name: HostPool + description: Represents a HostPool definition. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: HostPool + protocol: {} + immediate: + - *ref_34 + - *ref_35 + - *ref_36 + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - &ref_143 + schema: *ref_37 + required: false + serializedName: tags + language: + default: + name: tags + description: Resource tags. + cli: &ref_144 + name: tags + description: Resource tags. + cliKey: tags + protocol: {} + - &ref_145 + schema: *ref_38 + required: true + serializedName: location + language: + default: + name: location + description: The geo-location where the resource lives + cli: &ref_146 + name: location + description: The geo-location where the resource lives + cliKey: location + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: TrackedResource + description: The resource model definition for a ARM tracked top level resource + namespace: '' + cli: + name: TrackedResource + description: The resource model definition for a ARM tracked top level resource + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: TrackedResource + protocol: {} + - *ref_34 + - *ref_35 + - &ref_83 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - &ref_207 + schema: *ref_39 + serializedName: tags + language: + default: + name: tags + description: tags to be updated + cli: &ref_208 + name: tags + description: tags to be updated + cliKey: tags + protocol: {} + - &ref_209 + schema: *ref_40 + flattenedNames: + - properties + - description + serializedName: description + language: + default: + name: description + description: Description of ApplicationGroup. + cli: &ref_210 + name: description + description: Description of ApplicationGroup. + cliKey: description + protocol: {} + - &ref_211 + schema: *ref_41 + flattenedNames: + - properties + - friendlyName + serializedName: friendlyName + language: + default: + name: friendly_name + description: Friendly name of ApplicationGroup. + cli: &ref_212 + name: friendlyName + description: Friendly name of ApplicationGroup. + cliKey: friendlyName + protocol: {} + serializationFormats: + - json + usage: + - input + - output + language: + default: + name: ApplicationGroupPatch + description: ApplicationGroup properties that can be patched. + namespace: '' + cli: + name: ApplicationGroupPatch + description: ApplicationGroup properties that can be patched. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ApplicationGroupPatch + protocol: {} + - &ref_84 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - schema: *ref_42 + flattenedNames: + - properties + - appAlias + serializedName: appAlias + language: + default: + name: app_alias + description: Alias of StartMenuItem. + cli: + name: appAlias + description: Alias of StartMenuItem. + cliKey: appAlias + protocol: {} + - schema: *ref_43 + flattenedNames: + - properties + - friendlyName + serializedName: friendlyName + language: + default: + name: friendly_name + description: Friendly name of StartMenuItem. + cli: + name: friendlyName + description: Friendly name of StartMenuItem. + cliKey: friendlyName + protocol: {} + - schema: *ref_44 + flattenedNames: + - properties + - filePath + serializedName: filePath + language: + default: + name: file_path + description: Path to the file of StartMenuItem. + cli: + name: filePath + description: Path to the file of StartMenuItem. + cliKey: filePath + protocol: {} + - schema: *ref_45 + flattenedNames: + - properties + - commandLineArguments + serializedName: commandLineArguments + language: + default: + name: command_line_arguments + description: Command line arguments for StartMenuItem. + cli: + name: commandLineArguments + description: Command line arguments for StartMenuItem. + cliKey: commandLineArguments + protocol: {} + - schema: *ref_46 + flattenedNames: + - properties + - iconPath + serializedName: iconPath + language: + default: + name: icon_path + description: Path to the icon. + cli: + name: iconPath + description: Path to the icon. + cliKey: iconPath + protocol: {} + - schema: *ref_47 + flattenedNames: + - properties + - iconIndex + serializedName: iconIndex + language: + default: + name: icon_index + description: Index of the icon. + cli: + name: iconIndex + description: Index of the icon. + cliKey: iconIndex + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: StartMenuItem + description: Represents a StartMenuItem definition. + namespace: '' + cli: + name: StartMenuItem + description: Represents a StartMenuItem definition. + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 6 + propertyCountIfSimplifyWithoutSimpleObject: 6 + simplifiable: true + cliKey: StartMenuItem + protocol: {} + - &ref_85 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - &ref_228 + schema: *ref_48 + flattenedNames: + - properties + - description + required: false + serializedName: description + language: + default: + name: description + description: Description of Application. + cli: &ref_229 + name: description + description: Description of Application. + cliKey: description + protocol: {} + - &ref_230 + schema: *ref_49 + flattenedNames: + - properties + - friendlyName + required: false + serializedName: friendlyName + language: + default: + name: friendly_name + description: Friendly name of Application. + cli: &ref_231 + name: friendlyName + description: Friendly name of Application. + cliKey: friendlyName + protocol: {} + - &ref_232 + schema: *ref_50 + flattenedNames: + - properties + - filePath + required: false + serializedName: filePath + language: + default: + name: file_path + description: Specifies a path for the executable file for the application. + cli: &ref_233 + name: filePath + description: Specifies a path for the executable file for the application. + cliKey: filePath + protocol: {} + - &ref_234 + schema: *ref_51 + flattenedNames: + - properties + - commandLineSetting + required: true + serializedName: commandLineSetting + language: + default: + name: command_line_setting + description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' + cli: &ref_235 + name: commandLineSetting + description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' + cliKey: commandLineSetting + protocol: {} + - &ref_236 + schema: *ref_52 + flattenedNames: + - properties + - commandLineArguments + required: false + serializedName: commandLineArguments + language: + default: + name: command_line_arguments + description: Command Line Arguments for Application. + cli: &ref_237 + name: commandLineArguments + description: Command Line Arguments for Application. + cliKey: commandLineArguments + protocol: {} + - &ref_238 + schema: *ref_53 + flattenedNames: + - properties + - showInPortal + required: false + serializedName: showInPortal + language: + default: + name: show_in_portal + description: Specifies whether to show the RemoteApp program in the RD Web Access server. + cli: &ref_239 + name: showInPortal + description: Specifies whether to show the RemoteApp program in the RD Web Access server. + cliKey: showInPortal + protocol: {} + - &ref_240 + schema: *ref_54 + flattenedNames: + - properties + - iconPath + required: false + serializedName: iconPath + language: + default: + name: icon_path + description: Path to icon. + cli: &ref_241 + name: iconPath + description: Path to icon. + cliKey: iconPath + protocol: {} + - &ref_242 + schema: *ref_47 + flattenedNames: + - properties + - iconIndex + required: false + serializedName: iconIndex + language: + default: + name: icon_index + description: Index of the icon. + cli: &ref_243 + name: iconIndex + description: Index of the icon. + cliKey: iconIndex + protocol: {} + - schema: *ref_55 + flattenedNames: + - properties + - iconHash + readOnly: true + required: false + serializedName: iconHash + language: + default: + name: icon_hash + description: Hash of the icon. + cli: + name: iconHash + description: Hash of the icon. + cliKey: iconHash + protocol: {} + - schema: *ref_56 + flattenedNames: + - properties + - iconContent + readOnly: true + required: false + serializedName: iconContent + language: + default: + name: icon_content + description: the icon a 64 bit string as a byte array. + cli: + name: iconContent + description: the icon a 64 bit string as a byte array. + cliKey: iconContent + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: Application + description: Schema for Application properties. + namespace: '' + cli: + name: Application + description: Schema for Application properties. + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 8 + propertyCountIfSimplifyWithoutSimpleObject: 8 + simplifiable: true + cliKey: Application + protocol: {} + - &ref_86 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - schema: *ref_57 + flattenedNames: + - properties + - description + serializedName: description + language: + default: + name: description + description: Description of Desktop. + cli: + name: description + description: Description of Desktop. + cliKey: description + protocol: {} + - schema: *ref_58 + flattenedNames: + - properties + - friendlyName + serializedName: friendlyName + language: + default: + name: friendly_name + description: Friendly name of Desktop. + cli: + name: friendlyName + description: Friendly name of Desktop. + cliKey: friendlyName + protocol: {} + - schema: *ref_59 + flattenedNames: + - properties + - iconHash + readOnly: true + serializedName: iconHash + language: + default: + name: icon_hash + description: Hash of the icon. + cli: + name: iconHash + description: Hash of the icon. + cliKey: iconHash + protocol: {} + - schema: *ref_60 + flattenedNames: + - properties + - iconContent + readOnly: true + serializedName: iconContent + language: + default: + name: icon_content + description: The icon a 64 bit string as a byte array. + cli: + name: iconContent + description: The icon a 64 bit string as a byte array. + cliKey: iconContent + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: Desktop + description: Schema for Desktop properties. + namespace: '' + cli: + name: Desktop + description: Schema for Desktop properties. + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 2 + simplifiable: true + cliKey: Desktop + protocol: {} + - *ref_36 + - &ref_87 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - &ref_361 + schema: *ref_39 + serializedName: tags + language: + default: + name: tags + description: tags to be updated + cli: &ref_362 + name: tags + description: tags to be updated + cliKey: tags + protocol: {} + - &ref_363 + schema: *ref_61 + flattenedNames: + - properties + - friendlyName + serializedName: friendlyName + language: + default: + name: friendly_name + description: Friendly name of HostPool. + cli: &ref_364 + name: friendlyName + description: Friendly name of HostPool. + cliKey: friendlyName + protocol: {} + - &ref_365 + schema: *ref_62 + flattenedNames: + - properties + - description + serializedName: description + language: + default: + name: description + description: Description of HostPool. + cli: &ref_366 + name: description + description: Description of HostPool. + cliKey: description + protocol: {} + - &ref_367 + schema: *ref_63 + flattenedNames: + - properties + - customRdpProperty + serializedName: customRdpProperty + language: + default: + name: custom_rdp_property + description: Custom rdp property of HostPool. + cli: &ref_368 + name: customRdpProperty + description: Custom rdp property of HostPool. + cliKey: customRdpProperty + protocol: {} + - &ref_369 + schema: *ref_24 + flattenedNames: + - properties + - maxSessionLimit + serializedName: maxSessionLimit + language: + default: + name: max_session_limit + description: The max session limit of HostPool. + cli: &ref_370 + name: maxSessionLimit + description: The max session limit of HostPool. + cliKey: maxSessionLimit + protocol: {} + - &ref_371 + schema: *ref_22 + flattenedNames: + - properties + - personalDesktopAssignmentType + serializedName: personalDesktopAssignmentType + language: + default: + name: personal_desktop_assignment_type + description: PersonalDesktopAssignment type for HostPool. + cli: &ref_372 + name: personalDesktopAssignmentType + description: PersonalDesktopAssignment type for HostPool. + cliKey: personalDesktopAssignmentType + protocol: {} + - &ref_373 + schema: *ref_25 + flattenedNames: + - properties + - loadBalancerType + serializedName: loadBalancerType + language: + default: + name: load_balancer_type + description: The type of the load balancer. + cli: &ref_374 + name: loadBalancerType + description: The type of the load balancer. + cliKey: loadBalancerType + protocol: {} + - &ref_375 + schema: *ref_26 + flattenedNames: + - properties + - ring + serializedName: ring + language: + default: + name: ring + description: The ring number of HostPool. + cli: &ref_376 + name: ring + description: The ring number of HostPool. + cliKey: ring + protocol: {} + - &ref_377 + schema: *ref_27 + flattenedNames: + - properties + - validationEnvironment + serializedName: validationEnvironment + language: + default: + name: validation_environment + description: Is validation environment. + cli: &ref_378 + name: validationEnvironment + description: Is validation environment. + cliKey: validationEnvironment + protocol: {} + - &ref_379 + schema: &ref_112 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_30 + serializedName: registrationTokenOperation + language: + default: + name: registration_token_operation + description: The type of resetting the token. + cli: + name: registrationTokenOperation + description: The type of resetting the token. + cliKey: registrationTokenOperation + protocol: {} + serializationFormats: + - json + usage: + - input + - output + language: + default: + name: RegistrationInfoPatch + description: Represents a RegistrationInfo definition. + namespace: '' + cli: + name: RegistrationInfoPatch + description: Represents a RegistrationInfo definition. + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 1 + propertyCountIfSimplifyWithoutSimpleObject: 1 + simplifiable: true + cliKey: RegistrationInfoPatch + protocol: {} + flattenedNames: + - properties + - registrationInfo + serializedName: registrationInfo + language: + default: + name: registration_info + description: The registration info of HostPool. + cli: &ref_380 + name: registrationInfo + description: The registration info of HostPool. + cliKey: registrationInfo + protocol: {} + - &ref_381 + schema: *ref_64 + flattenedNames: + - properties + - ssoContext + serializedName: ssoContext + language: + default: + name: sso_context + description: Path to keyvault containing ssoContext secret. + cli: &ref_382 + name: ssoContext + description: Path to keyvault containing ssoContext secret. + cliKey: ssoContext + protocol: {} + serializationFormats: + - json + usage: + - input + - output + language: + default: + name: HostPoolPatch + description: HostPool properties that can be patched. + namespace: '' + cli: + name: HostPoolPatch + description: HostPool properties that can be patched. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: HostPoolPatch + protocol: {} + - &ref_88 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - schema: *ref_65 + flattenedNames: + - properties + - userPrincipalName + serializedName: userPrincipalName + language: + default: + name: user_principal_name + description: The user principal name. + cli: + name: userPrincipalName + description: The user principal name. + cliKey: userPrincipalName + protocol: {} + - schema: *ref_66 + flattenedNames: + - properties + - applicationType + serializedName: applicationType + language: + default: + name: application_type + description: Application type of application. + cli: + name: applicationType + description: Application type of application. + cliKey: applicationType + protocol: {} + - schema: *ref_67 + flattenedNames: + - properties + - sessionState + serializedName: sessionState + language: + default: + name: session_state + description: State of user session. + cli: + name: sessionState + description: State of user session. + cliKey: sessionState + protocol: {} + - schema: *ref_68 + flattenedNames: + - properties + - activeDirectoryUserName + serializedName: activeDirectoryUserName + language: + default: + name: active_directory_user_name + description: The active directory user name. + cli: + name: activeDirectoryUserName + description: The active directory user name. + cliKey: activeDirectoryUserName + protocol: {} + - schema: *ref_69 + flattenedNames: + - properties + - createTime + serializedName: createTime + language: + default: + name: create_time + description: The timestamp of the user session create. + cli: + name: createTime + description: The timestamp of the user session create. + cliKey: createTime + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: UserSession + description: Represents a UserSession definition. + namespace: '' + cli: + name: UserSession + description: Represents a UserSession definition. + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 5 + propertyCountIfSimplifyWithoutSimpleObject: 5 + simplifiable: true + cliKey: UserSession + protocol: {} + - &ref_89 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - schema: *ref_70 + flattenedNames: + - properties + - lastHeartBeat + serializedName: lastHeartBeat + language: + default: + name: last_heart_beat + description: Last heart beat from SessionHost. + cli: + name: lastHeartBeat + description: Last heart beat from SessionHost. + cliKey: lastHeartBeat + protocol: {} + - schema: *ref_71 + flattenedNames: + - properties + - sessions + serializedName: sessions + language: + default: + name: sessions + description: Number of sessions on SessionHost. + cli: + name: sessions + description: Number of sessions on SessionHost. + cliKey: sessions + protocol: {} + - schema: *ref_72 + flattenedNames: + - properties + - agentVersion + serializedName: agentVersion + language: + default: + name: agent_version + description: Version of agent on SessionHost. + cli: + name: agentVersion + description: Version of agent on SessionHost. + cliKey: agentVersion + protocol: {} + - schema: *ref_73 + flattenedNames: + - properties + - allowNewSession + serializedName: allowNewSession + language: + default: + name: allow_new_session + description: Allow a new session. + cli: + name: allowNewSession + description: Allow a new session. + cliKey: allowNewSession + protocol: {} + - schema: *ref_74 + flattenedNames: + - properties + - assignedUser + serializedName: assignedUser + language: + default: + name: assigned_user + description: User assigned to SessionHost. + cli: + name: assignedUser + description: User assigned to SessionHost. + cliKey: assignedUser + protocol: {} + - schema: *ref_75 + flattenedNames: + - properties + - status + serializedName: status + language: + default: + name: status + description: Status for a SessionHost. + cli: + name: status + description: Status for a SessionHost. + cliKey: status + protocol: {} + - schema: *ref_76 + flattenedNames: + - properties + - statusTimestamp + readOnly: true + serializedName: statusTimestamp + language: + default: + name: status_timestamp + description: The timestamp of the status. + cli: + name: statusTimestamp + description: The timestamp of the status. + cliKey: statusTimestamp + protocol: {} + - schema: *ref_77 + flattenedNames: + - properties + - osVersion + serializedName: osVersion + language: + default: + name: os_version + description: The version of the OS on the session host. + cli: + name: osVersion + description: The version of the OS on the session host. + cliKey: osVersion + protocol: {} + - schema: *ref_78 + flattenedNames: + - properties + - sxSStackVersion + serializedName: sxSStackVersion + language: + default: + name: sx_s_stack_version + description: The version of the side by side stack on the session host. + cli: + name: sxSStackVersion + description: The version of the side by side stack on the session host. + cliKey: sxSStackVersion + protocol: {} + - schema: *ref_79 + flattenedNames: + - properties + - updateState + serializedName: updateState + language: + default: + name: update_state + description: Update state of a SessionHost. + cli: + name: updateState + description: Update state of a SessionHost. + cliKey: updateState + protocol: {} + - schema: *ref_80 + flattenedNames: + - properties + - lastUpdateTime + readOnly: true + serializedName: lastUpdateTime + language: + default: + name: last_update_time + description: The timestamp of the last update. + cli: + name: lastUpdateTime + description: The timestamp of the last update. + cliKey: lastUpdateTime + protocol: {} + - schema: *ref_81 + flattenedNames: + - properties + - updateErrorMessage + serializedName: updateErrorMessage + language: + default: + name: update_error_message + description: The error message. + cli: + name: updateErrorMessage + description: The error message. + cliKey: updateErrorMessage + protocol: {} + serializationFormats: + - json + usage: + - output + - input + language: + default: + name: SessionHost + description: Represents a SessionHost definition. + namespace: '' + cli: + name: SessionHost + description: Represents a SessionHost definition. + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10 + propertyCountIfSimplifyWithoutSimpleObject: 10 + simplifiable: true + cliKey: SessionHost + protocol: {} + - &ref_90 + type: object + apiVersions: + - version: 2019-12-10-preview + parents: + all: + - *ref_10 + immediate: + - *ref_10 + properties: + - &ref_440 + schema: *ref_73 + flattenedNames: + - properties + - allowNewSession + serializedName: allowNewSession + language: + default: + name: allow_new_session + description: Allow a new session. + cli: &ref_441 + name: allowNewSession + description: Allow a new session. + cliKey: allowNewSession + protocol: {} + - &ref_442 + schema: *ref_82 + flattenedNames: + - properties + - assignedUser + serializedName: assignedUser + language: + default: + name: assigned_user + description: User assigned to SessionHost. + cli: &ref_443 + name: assignedUser + description: User assigned to SessionHost. + cliKey: assignedUser + protocol: {} + serializationFormats: + - json + usage: + - input + - output + language: + default: + name: SessionHostPatch + description: SessionHost properties that can be patched. + namespace: '' + cli: + name: SessionHostPatch + description: SessionHost properties that can be patched. + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 2 + simplifiable: true + cliKey: SessionHostPatch + protocol: {} + immediate: + - *ref_9 + - *ref_83 + - *ref_84 + - *ref_85 + - *ref_86 + - *ref_87 + - *ref_88 + - *ref_89 + - *ref_90 + properties: + - schema: *ref_91 + readOnly: true + serializedName: id + language: + default: + name: id + description: 'Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' + cli: + name: id + description: 'Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' + cliKey: id + protocol: {} + - schema: *ref_92 + readOnly: true + serializedName: name + language: + default: + name: name + description: The name of the resource + cli: + name: name + description: The name of the resource + cliKey: name + protocol: {} + - schema: *ref_93 + readOnly: true + serializedName: type + language: + default: + name: type + description: The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + cli: + name: type + description: The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + cliKey: type + protocol: {} + serializationFormats: + - json + usage: + - output + - input + extensions: + x-ms-azure-resource: true + language: + default: + name: Resource + description: '' + namespace: '' + cli: + name: Resource + description: '' + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 0 + propertyCountIfSimplifyWithoutSimpleObject: 0 + simplifiable: true + cliKey: Resource + protocol: {} + - *ref_9 + - *ref_34 + - &ref_140 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: *ref_94 + serializedName: code + language: + default: + name: code + description: Error code + cli: + name: code + description: Error code + cliKey: code + protocol: {} + - schema: *ref_95 + serializedName: message + language: + default: + name: message + description: Error message indicating why the operation failed. + cli: + name: message + description: Error message indicating why the operation failed. + cliKey: message + protocol: {} + serializationFormats: + - json + usage: + - output + language: + default: + name: CloudError + description: Error response of an operation failure + namespace: '' + cli: + name: CloudError + description: Error response of an operation failure + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 2 + simplifiable: true + cliKey: CloudError + protocol: {} + - &ref_162 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - &ref_164 + schema: *ref_39 + serializedName: tags + language: + default: + name: tags + description: tags to be updated + cli: &ref_165 + name: tags + description: tags to be updated + cliKey: tags + protocol: {} + - &ref_166 + schema: *ref_96 + flattenedNames: + - properties + - description + serializedName: description + language: + default: + name: description + description: Description of Workspace. + cli: &ref_167 + name: description + description: Description of Workspace. + cliKey: description + protocol: {} + - &ref_168 + schema: *ref_97 + flattenedNames: + - properties + - friendlyName + serializedName: friendlyName + language: + default: + name: friendly_name + description: Friendly name of Workspace. + cli: &ref_169 + name: friendlyName + description: Friendly name of Workspace. + cliKey: friendlyName + protocol: {} + - &ref_170 + schema: &ref_120 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_98 + language: + default: + name: WorkspacePatchPropertiesApplicationGroupReferences + description: List of applicationGroup links. + cli: + name: WorkspacePatchPropertiesApplicationGroupReferences + description: List of applicationGroup links. + cli-complexity: array_simple + cli-mark: checked + protocol: {} + flattenedNames: + - properties + - applicationGroupReferences + serializedName: applicationGroupReferences + language: + default: + name: application_group_references + description: List of applicationGroup links. + cli: &ref_171 + name: applicationGroupReferences + description: List of applicationGroup links. + cliKey: applicationGroupReferences + protocol: {} + serializationFormats: + - json + usage: + - input + language: + default: + name: WorkspacePatch + description: Workspace properties that can be patched. + namespace: '' + cli: + name: WorkspacePatch + description: Workspace properties that can be patched. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: WorkspacePatch + protocol: {} + - &ref_179 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_121 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_34 + language: + default: + name: WorkspaceListValue + description: List of Workspace definitions. + cli: + name: WorkspaceListValue + description: List of Workspace definitions. + cli-complexity: array_complex + cli-mark: checked + protocol: {} + serializedName: value + language: + default: + name: value + description: List of Workspace definitions. + cli: + name: value + description: List of Workspace definitions. + cliKey: value + protocol: {} + - schema: *ref_99 + readOnly: true + serializedName: nextLink + language: + default: + name: next_link + description: Link to the next page of results. + cli: + name: nextLink + description: Link to the next page of results. + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: WorkspaceList + usage: + - output + language: + default: + name: WorkspaceList + description: List of Workspace definitions. + namespace: '' + summary: WorkspaceList + cli: + name: WorkspaceList + description: List of Workspace definitions. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: WorkspaceList + protocol: {} + - &ref_184 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_122 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_35 + language: + default: + name: ApplicationGroupListValue + description: List of ApplicationGroup definitions. + cli: + name: ApplicationGroupListValue + description: List of ApplicationGroup definitions. + cli-complexity: array_complex + cli-mark: checked + protocol: {} + serializedName: value + language: + default: + name: value + description: List of ApplicationGroup definitions. + cli: + name: value + description: List of ApplicationGroup definitions. + cliKey: value + protocol: {} + - schema: *ref_100 + readOnly: true + serializedName: nextLink + language: + default: + name: next_link + description: Link to the next page of results. + cli: + name: nextLink + description: Link to the next page of results. + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: ApplicationGroupList + usage: + - output + language: + default: + name: ApplicationGroupList + description: List of ApplicationGroup definitions. + namespace: '' + summary: ApplicationGroupList + cli: + name: ApplicationGroupList + description: List of ApplicationGroup definitions. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ApplicationGroupList + protocol: {} + - *ref_35 + - *ref_83 + - &ref_223 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_123 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_84 + language: + default: + name: StartMenuItemListValue + description: List of StartMenuItem definitions. + cli: + name: StartMenuItemListValue + description: List of StartMenuItem definitions. + cli-complexity: array_complex + cli-mark: checked + protocol: {} + serializedName: value + language: + default: + name: value + description: List of StartMenuItem definitions. + cli: + name: value + description: List of StartMenuItem definitions. + cliKey: value + protocol: {} + - schema: *ref_101 + readOnly: true + serializedName: nextLink + language: + default: + name: next_link + description: Link to the next page of results. + cli: + name: nextLink + description: Link to the next page of results. + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: StartMenuItemList + usage: + - output + language: + default: + name: StartMenuItemList + description: List of StartMenuItem definitions. + namespace: '' + summary: StartMenuItemList + cli: + name: StartMenuItemList + description: List of StartMenuItem definitions. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: StartMenuItemList + protocol: {} + - *ref_84 + - *ref_85 + - &ref_258 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - &ref_260 + schema: *ref_39 + serializedName: tags + language: + default: + name: tags + description: tags to be updated + cli: &ref_261 + name: tags + description: tags to be updated + cliKey: tags + protocol: {} + - &ref_262 + schema: *ref_102 + flattenedNames: + - properties + - description + serializedName: description + language: + default: + name: description + description: Description of Application. + cli: &ref_263 + name: description + description: Description of Application. + cliKey: description + protocol: {} + - &ref_264 + schema: *ref_103 + flattenedNames: + - properties + - friendlyName + serializedName: friendlyName + language: + default: + name: friendly_name + description: Friendly name of Application. + cli: &ref_265 + name: friendlyName + description: Friendly name of Application. + cliKey: friendlyName + protocol: {} + - &ref_266 + schema: *ref_104 + flattenedNames: + - properties + - filePath + serializedName: filePath + language: + default: + name: file_path + description: Specifies a path for the executable file for the application. + cli: &ref_267 + name: filePath + description: Specifies a path for the executable file for the application. + cliKey: filePath + protocol: {} + - &ref_268 + schema: *ref_51 + flattenedNames: + - properties + - commandLineSetting + serializedName: commandLineSetting + language: + default: + name: command_line_setting + description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' + cli: &ref_269 + name: commandLineSetting + description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' + cliKey: commandLineSetting + protocol: {} + - &ref_270 + schema: *ref_105 + flattenedNames: + - properties + - commandLineArguments + serializedName: commandLineArguments + language: + default: + name: command_line_arguments + description: Command Line Arguments for Application. + cli: &ref_271 + name: commandLineArguments + description: Command Line Arguments for Application. + cliKey: commandLineArguments + protocol: {} + - &ref_272 + schema: *ref_53 + flattenedNames: + - properties + - showInPortal + serializedName: showInPortal + language: + default: + name: show_in_portal + description: Specifies whether to show the RemoteApp program in the RD Web Access server. + cli: &ref_273 + name: showInPortal + description: Specifies whether to show the RemoteApp program in the RD Web Access server. + cliKey: showInPortal + protocol: {} + - &ref_274 + schema: *ref_106 + flattenedNames: + - properties + - iconPath + serializedName: iconPath + language: + default: + name: icon_path + description: Path to icon. + cli: &ref_275 + name: iconPath + description: Path to icon. + cliKey: iconPath + protocol: {} + - &ref_276 + schema: *ref_47 + flattenedNames: + - properties + - iconIndex + serializedName: iconIndex + language: + default: + name: icon_index + description: Index of the icon. + cli: &ref_277 + name: iconIndex + description: Index of the icon. + cliKey: iconIndex + protocol: {} + serializationFormats: + - json + usage: + - input + language: + default: + name: ApplicationPatch + description: Application properties that can be patched. + namespace: '' + cli: + name: ApplicationPatch + description: Application properties that can be patched. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ApplicationPatch + protocol: {} + - &ref_292 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_124 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_85 + language: + default: + name: ApplicationListValue + description: List of Application definitions. + cli: + name: ApplicationListValue + description: List of Application definitions. + cli-complexity: array_complex + cli-mark: checked + protocol: {} + serializedName: value + language: + default: + name: value + description: List of Application definitions. + cli: + name: value + description: List of Application definitions. + cliKey: value + protocol: {} + - schema: *ref_107 + readOnly: true + serializedName: nextLink + language: + default: + name: next_link + description: Link to the next page of results. + cli: + name: nextLink + description: Link to the next page of results. + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: ApplicationList + usage: + - output + language: + default: + name: ApplicationList + description: List of Application definitions. + namespace: '' + summary: ApplicationList + cli: + name: ApplicationList + description: List of Application definitions. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: ApplicationList + protocol: {} + - *ref_86 + - &ref_296 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - &ref_298 + schema: *ref_39 + serializedName: tags + language: + default: + name: tags + description: tags to be updated + cli: &ref_299 + name: tags + description: tags to be updated + cliKey: tags + protocol: {} + - &ref_300 + schema: *ref_108 + flattenedNames: + - properties + - description + serializedName: description + language: + default: + name: description + description: Description of Desktop. + cli: &ref_301 + name: description + description: Description of Desktop. + cliKey: description + protocol: {} + - &ref_302 + schema: *ref_109 + flattenedNames: + - properties + - friendlyName + serializedName: friendlyName + language: + default: + name: friendly_name + description: Friendly name of Desktop. + cli: &ref_303 + name: friendlyName + description: Friendly name of Desktop. + cliKey: friendlyName + protocol: {} + serializationFormats: + - json + usage: + - input + language: + default: + name: DesktopPatch + description: Desktop properties that can be patched. + namespace: '' + cli: + name: DesktopPatch + description: Desktop properties that can be patched. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: DesktopPatch + protocol: {} + - &ref_312 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_125 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_86 + language: + default: + name: DesktopListValue + description: List of Desktop definitions. + cli: + name: DesktopListValue + description: List of Desktop definitions. + cli-complexity: array_complex + cli-mark: checked + protocol: {} + serializedName: value + language: + default: + name: value + description: List of Desktop definitions. + cli: + name: value + description: List of Desktop definitions. + cliKey: value + protocol: {} + - schema: *ref_110 + readOnly: true + serializedName: nextLink + language: + default: + name: next_link + description: Link to the next page of results. + cli: + name: nextLink + description: Link to the next page of results. + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: DesktopList + usage: + - output + language: + default: + name: DesktopList + description: List of Desktop definitions. + namespace: '' + summary: DesktopList + cli: + name: DesktopList + description: List of Desktop definitions. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: DesktopList + protocol: {} + - *ref_36 + - *ref_111 + - *ref_87 + - *ref_112 + - &ref_397 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_127 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_36 + language: + default: + name: HostPoolListValue + description: List of HostPool definitions. + cli: + name: HostPoolListValue + description: List of HostPool definitions. + cli-complexity: array_complex + cli-mark: checked + protocol: {} + serializedName: value + language: + default: + name: value + description: List of HostPool definitions. + cli: + name: value + description: List of HostPool definitions. + cliKey: value + protocol: {} + - schema: *ref_113 + readOnly: true + serializedName: nextLink + language: + default: + name: next_link + description: Link to the next page of results. + cli: + name: nextLink + description: Link to the next page of results. + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: HostPoolList + usage: + - output + language: + default: + name: HostPoolList + description: List of HostPool definitions. + namespace: '' + summary: HostPoolList + cli: + name: HostPoolList + description: List of HostPool definitions. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: HostPoolList + protocol: {} + - &ref_401 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_128 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_88 + language: + default: + name: UserSessionListValue + description: List of UserSession definitions. + cli: + name: UserSessionListValue + description: List of UserSession definitions. + cli-complexity: array_complex + cli-mark: checked + protocol: {} + serializedName: value + language: + default: + name: value + description: List of UserSession definitions. + cli: + name: value + description: List of UserSession definitions. + cliKey: value + protocol: {} + - schema: *ref_114 + readOnly: true + serializedName: nextLink + language: + default: + name: next_link + description: Link to the next page of results. + cli: + name: nextLink + description: Link to the next page of results. + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: UserSessionList + usage: + - output + language: + default: + name: UserSessionList + description: List of UserSession definitions. + namespace: '' + summary: UserSessionList + cli: + name: UserSessionList + description: List of UserSession definitions. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: UserSessionList + protocol: {} + - *ref_88 + - *ref_89 + - *ref_90 + - &ref_451 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - schema: &ref_129 + type: array + apiVersions: + - version: 2019-12-10-preview + elementType: *ref_89 + language: + default: + name: SessionHostListValue + description: List of SessionHost definitions. + cli: + name: SessionHostListValue + description: List of SessionHost definitions. + cli-complexity: array_complex + cli-mark: checked + protocol: {} + serializedName: value + language: + default: + name: value + description: List of SessionHost definitions. + cli: + name: value + description: List of SessionHost definitions. + cliKey: value + protocol: {} + - schema: *ref_115 + readOnly: true + serializedName: nextLink + language: + default: + name: next_link + description: Link to the next page of results. + cli: + name: nextLink + description: Link to the next page of results. + cliKey: nextLink + protocol: {} + serializationFormats: + - json + summary: SessionHostList + usage: + - output + language: + default: + name: SessionHostList + description: List of SessionHost definitions. + namespace: '' + summary: SessionHostList + cli: + name: SessionHostList + description: List of SessionHost definitions. + cli-complexity: object_complex + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 10000 + propertyCountIfSimplifyWithoutSimpleObject: 10000 + simplifiable: false + cliKey: SessionHostList + protocol: {} + - &ref_420 + type: object + apiVersions: + - version: 2019-12-10-preview + properties: + - &ref_422 + schema: *ref_116 + serializedName: messageTitle + language: + default: + name: message_title + description: Title of message. + cli: &ref_423 + name: messageTitle + description: Title of message. + cliKey: messageTitle + protocol: {} + - &ref_424 + schema: *ref_117 + serializedName: messageBody + language: + default: + name: message_body + description: Body of message. + cli: &ref_425 + name: messageBody + description: Body of message. + cliKey: messageBody + protocol: {} + serializationFormats: + - json + usage: + - input + language: + default: + name: SendMessage + description: Represents message sent to a UserSession. + namespace: '' + cli: + name: SendMessage + description: Represents message sent to a UserSession. + cli-complexity: object_simple + cli-mark: checked + cli-simplify-indicator: + propertyCountIfSimplify: 2 + propertyCountIfSimplifyWithoutSimpleObject: 2 + simplifiable: true + cliKey: SendMessage + protocol: {} + arrays: + - *ref_118 + - *ref_119 + - *ref_120 + - *ref_121 + - *ref_122 + - *ref_123 + - *ref_124 + - *ref_125 + - *ref_126 + - *ref_127 + - *ref_128 + - *ref_129 +globalParameters: + - &ref_135 + schema: *ref_130 + implementation: Client + required: true + extensions: + x-ms-priority: 0 + language: + default: + name: subscription_id + description: The ID of the target subscription. + serializedName: subscriptionId + cli: + name: subscriptionId + description: The ID of the target subscription. + cliKey: subscriptionId + protocol: + http: + in: path + - &ref_132 + schema: *ref_0 + clientDefaultValue: 'https://management.azure.com' + implementation: Client + origin: 'modelerfour:synthesized/host' + required: true + extensions: + x-ms-skip-url-encoding: true + language: + default: + name: $host + description: server parameter + serializedName: $host + cli: + name: $host + description: server parameter + cliKey: $host + protocol: + http: + in: uri + - &ref_133 + schema: *ref_131 + implementation: Client + origin: 'modelerfour:synthesized/api-version' + required: true + language: + default: + name: api_version + description: Api Version + serializedName: api-version + cli: + name: ApiVersion + description: Api Version + cliKey: ApiVersion + protocol: + http: + in: query +operationGroups: + - $key: Operations + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: /providers/Microsoft.DesktopVirtualization/operations + method: get + uri: '{$host}' + signatureParameters: [] + responses: + - schema: *ref_134 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + extensions: + x-ms-examples: + OperationDescription_List: + parameters: + api-version: 2019-12-10-preview + responses: + '200': + body: + value: + - name: Microsoft.DesktopVirtualization/ssocontext/read + display: + provider: Microsoft.DesktopVirtualization + resource: ssocontext + - name: Microsoft.DesktopVirtualization/ssocontext/write + display: + provider: Microsoft.DesktopVirtualization + resource: ssocontext + language: + default: + name: list + description: List all of the available operations the Desktop Virtualization resource provider supports. + cli: + name: List + description: List all of the available operations the Desktop Virtualization resource provider supports. + cliKey: List + hidden: true + protocol: {} + language: + default: + name: Operation + description: '' + cli: + name: Operation + description: '' + cliKey: Operations + protocol: {} + - $key: Workspaces + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_138 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_139 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: workspace_name + description: The name of the workspace + serializedName: workspaceName + cli: + name: workspaceName + description: The name of the workspace + cliKey: workspaceName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_138 + - *ref_139 + responses: + - schema: *ref_34 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Workspace_Get: + parameters: + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + workspaceName: workspace1 + responses: + '200': + body: + name: workspace1 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + language: + default: + name: get + description: Get a workspace. + cli: + name: Get + description: Get a workspace. + cliKey: Get + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_158 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_159 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: workspace_name + description: The name of the workspace + serializedName: workspaceName + cli: + name: workspaceName + description: The name of the workspace + cliKey: workspaceName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_141 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content_type + description: Body Parameter content-type + serializedName: Content-Type + cli: + name: ContentType + description: Body Parameter content-type + cliKey: content-type + protocol: + http: + in: header + - &ref_142 + schema: *ref_34 + flattened: true + implementation: Method + required: true + extensions: + x-ms-client-flatten: true + language: + default: + name: _workspace + description: Object containing Workspace definitions. + cli: + name: _workspace + description: Object containing Workspace definitions. + cliKey: workspace + protocol: + http: + in: body + style: json + - &ref_153 + schema: *ref_37 + implementation: Method + originalParameter: *ref_142 + pathToProperty: [] + required: false + targetProperty: *ref_143 + language: + default: + name: tags + description: Resource tags. + cli: *ref_144 + protocol: {} + - &ref_154 + schema: *ref_38 + implementation: Method + originalParameter: *ref_142 + pathToProperty: [] + required: true + targetProperty: *ref_145 + language: + default: + name: location + description: The geo-location where the resource lives + cli: *ref_146 + protocol: {} + - &ref_155 + schema: *ref_11 + implementation: Method + originalParameter: *ref_142 + pathToProperty: [] + targetProperty: *ref_147 + language: + default: + name: description + description: Description of Workspace. + cli: *ref_148 + protocol: {} + - &ref_156 + schema: *ref_12 + implementation: Method + originalParameter: *ref_142 + pathToProperty: [] + targetProperty: *ref_149 + language: + default: + name: friendly_name + description: Friendly name of Workspace. + cli: *ref_150 + protocol: {} + - &ref_157 + schema: *ref_119 + implementation: Method + originalParameter: *ref_142 + pathToProperty: [] + targetProperty: *ref_151 + language: + default: + name: application_group_references + description: List of applicationGroup resource Ids. + cli: *ref_152 + protocol: {} + signatureParameters: + - *ref_153 + - *ref_154 + - *ref_155 + - *ref_156 + - *ref_157 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' + method: put + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_158 + - *ref_159 + responses: + - schema: *ref_34 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + - schema: *ref_34 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '201' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Workspace_Create: + parameters: + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + workspace: + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + tag1: value1 + tag2: value2 + workspaceName: workspace1 + responses: + '200': + body: + name: workspace1 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + '201': + body: + name: workspace1 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + language: + default: + name: create_or_update + description: Create or update a workspace. + cli: + name: CreateOrUpdate + description: Create or update a workspace. + cliKey: CreateOrUpdate + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_160 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_161 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: workspace_name + description: The name of the workspace + serializedName: workspaceName + cli: + name: workspaceName + description: The name of the workspace + cliKey: workspaceName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' + method: delete + uri: '{$host}' + signatureParameters: + - *ref_160 + - *ref_161 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '204' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Workspace_Delete: + parameters: + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + workspaceName: workspace1 + responses: + '200': + name: workspace1 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + '204': {} + language: + default: + name: delete + description: Remove a workspace. + cli: + name: Delete + description: Remove a workspace. + cliKey: Delete + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_176 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_177 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: workspace_name + description: The name of the workspace + serializedName: workspaceName + cli: + name: workspaceName + description: The name of the workspace + cliKey: workspaceName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_141 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content_type + description: Body Parameter content-type + serializedName: Content-Type + cli: + name: ContentType + description: Body Parameter content-type + cliKey: content-type + protocol: + http: + in: header + - &ref_163 + schema: *ref_162 + flattened: true + implementation: Method + required: false + extensions: + x-ms-client-flatten: true + language: + default: + name: _workspace + description: Object containing Workspace definitions. + cli: + name: _workspace + description: Object containing Workspace definitions. + cliKey: workspace + protocol: + http: + in: body + style: json + - &ref_172 + schema: *ref_39 + implementation: Method + originalParameter: *ref_163 + pathToProperty: [] + targetProperty: *ref_164 + language: + default: + name: tags + description: tags to be updated + cli: *ref_165 + protocol: {} + - &ref_173 + schema: *ref_96 + implementation: Method + originalParameter: *ref_163 + pathToProperty: [] + targetProperty: *ref_166 + language: + default: + name: description + description: Description of Workspace. + cli: *ref_167 + protocol: {} + - &ref_174 + schema: *ref_97 + implementation: Method + originalParameter: *ref_163 + pathToProperty: [] + targetProperty: *ref_168 + language: + default: + name: friendly_name + description: Friendly name of Workspace. + cli: *ref_169 + protocol: {} + - &ref_175 + schema: *ref_120 + implementation: Method + originalParameter: *ref_163 + pathToProperty: [] + targetProperty: *ref_170 + language: + default: + name: application_group_references + description: List of applicationGroup links. + cli: *ref_171 + protocol: {} + signatureParameters: + - *ref_172 + - *ref_173 + - *ref_174 + - *ref_175 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' + method: patch + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_176 + - *ref_177 + responses: + - schema: *ref_34 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Workspace_Update: + parameters: + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + workspace: + properties: + description: des1 + friendlyName: friendly + tags: + tag1: value1 + tag2: value2 + workspaceName: workspace1 + responses: + '200': + body: + name: workspace1 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + language: + default: + name: update + description: Update a workspace. + cli: + name: Update + description: Update a workspace. + cliKey: Update + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_178 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces' + method: get + uri: '{$host}' + signatureParameters: + - *ref_178 + responses: + - schema: *ref_179 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Workspace_ListByResourceGroup: + parameters: + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: workspace1 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + - name: workspace2 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace2 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: list_by_resource_group + description: List workspaces. + paging: + nextLinkName: nextLink + cli: + name: ListByResourceGroup + description: List workspaces. + cliKey: ListByResourceGroup + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/workspaces' + method: get + uri: '{$host}' + signatureParameters: [] + responses: + - schema: *ref_179 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Workspace_ListBySubscription: + parameters: + api-version: 2019-12-10-preview + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: workspace1 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + - name: workspace2 + type: Microsoft.DesktopVirtualization/workspaces + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace2 + location: centralus + properties: + description: des1 + friendlyName: friendly + tags: + key1: value1 + key2: value2 + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: list_by_subscription + description: List workspaces in subscription. + paging: + nextLinkName: nextLink + cli: + name: ListBySubscription + description: List workspaces in subscription. + cliKey: ListBySubscription + protocol: {} + language: + default: + name: Workspace + description: '' + cli: + name: Workspace + description: '' + cliKey: Workspaces + protocol: {} + - $key: ApplicationGroupAssignments + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_181 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_182 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: workspace_name + description: The name of the workspace + serializedName: workspaceName + cli: + name: workspaceName + description: The name of the workspace + cliKey: workspaceName + protocol: + http: + in: path + - &ref_183 + schema: *ref_180 + implementation: Method + language: + default: + name: filter + description: OData filter expression. Valid properties for filtering are applicationGroupType. + serializedName: $filter + cli: + name: filter + description: OData filter expression. Valid properties for filtering are applicationGroupType. + cliKey: $filter + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}/userApplicationGroupAssignments' + method: get + uri: '{$host}' + signatureParameters: + - *ref_181 + - *ref_182 + - *ref_183 + responses: + - schema: *ref_184 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ApplicationGroupAssignment_WorkspaceLevelList: + parameters: + $filter: userPrincipalName eq 'user1@microsoft.com' + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + workspaceName: workspace1 + responses: + '200': + body: + value: + - name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + - name: applicationGroup2 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: workspace_level_list + description: List application group that user can use. + paging: + nextLinkName: nextLink + cli: + name: WorkspaceLevelList + description: List application group that user can use. + cliKey: WorkspaceLevelList + protocol: {} + language: + default: + name: ApplicationGroupAssignment + description: '' + cli: + name: ApplicationGroupAssignment + description: '' + cliKey: ApplicationGroupAssignments + hidden: true + protocol: {} + - $key: ApplicationGroups + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_185 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_186 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_group_name + description: The name of the application group + serializedName: applicationGroupName + cli: + name: applicationGroupName + description: The name of the application group + cliKey: applicationGroupName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_185 + - *ref_186 + responses: + - schema: *ref_35 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ApplicationGroup_Get: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + language: + default: + name: get + description: Get an application group. + cli: + name: Get + description: Get an application group. + cliKey: Get + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_202 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_203 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_group_name + description: The name of the application group + serializedName: applicationGroupName + cli: + name: applicationGroupName + description: The name of the application group + cliKey: applicationGroupName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_141 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content_type + description: Body Parameter content-type + serializedName: Content-Type + cli: + name: ContentType + description: Body Parameter content-type + cliKey: content-type + protocol: + http: + in: header + - &ref_187 + schema: *ref_35 + flattened: true + implementation: Method + required: true + extensions: + x-ms-client-flatten: true + language: + default: + name: _application_group + description: Object containing ApplicationGroup definitions. + cli: + name: _application_group + description: Object containing ApplicationGroup definitions. + cliKey: applicationGroup + protocol: + http: + in: body + style: json + - &ref_196 + schema: *ref_37 + implementation: Method + originalParameter: *ref_187 + pathToProperty: [] + required: false + targetProperty: *ref_143 + language: + default: + name: tags + description: Resource tags. + cli: *ref_144 + protocol: {} + - &ref_197 + schema: *ref_38 + implementation: Method + originalParameter: *ref_187 + pathToProperty: [] + required: true + targetProperty: *ref_145 + language: + default: + name: location + description: The geo-location where the resource lives + cli: *ref_146 + protocol: {} + - &ref_198 + schema: *ref_14 + implementation: Method + originalParameter: *ref_187 + pathToProperty: [] + required: false + targetProperty: *ref_188 + language: + default: + name: description + description: Description of ApplicationGroup. + cli: *ref_189 + protocol: {} + - &ref_199 + schema: *ref_15 + implementation: Method + originalParameter: *ref_187 + pathToProperty: [] + required: false + targetProperty: *ref_190 + language: + default: + name: friendly_name + description: Friendly name of ApplicationGroup. + cli: *ref_191 + protocol: {} + - &ref_200 + schema: *ref_16 + implementation: Method + originalParameter: *ref_187 + pathToProperty: [] + required: true + targetProperty: *ref_192 + language: + default: + name: host_pool_arm_path + description: HostPool arm path of ApplicationGroup. + cli: *ref_193 + protocol: {} + - &ref_201 + schema: *ref_18 + implementation: Method + originalParameter: *ref_187 + pathToProperty: [] + required: true + targetProperty: *ref_194 + language: + default: + name: application_group_type + description: Resource Type of ApplicationGroup. + cli: *ref_195 + protocol: {} + signatureParameters: + - *ref_196 + - *ref_197 + - *ref_198 + - *ref_199 + - *ref_200 + - *ref_201 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' + method: put + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_202 + - *ref_203 + responses: + - schema: *ref_35 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + - schema: *ref_35 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '201' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ApplicationGroup_Create: + parameters: + api-version: 2019-12-10-preview + applicationGroup: + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + tags: + tag1: value1 + tag2: value2 + applicationGroupName: applicationGroup1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + '201': + body: + name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + language: + default: + name: create_or_update + description: Create or update an applicationGroup. + cli: + name: CreateOrUpdate + description: Create or update an applicationGroup. + cliKey: CreateOrUpdate + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_204 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_205 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_group_name + description: The name of the application group + serializedName: applicationGroupName + cli: + name: applicationGroupName + description: The name of the application group + cliKey: applicationGroupName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' + method: delete + uri: '{$host}' + signatureParameters: + - *ref_204 + - *ref_205 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '204' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ApplicationGroup_Delete: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + '204': {} + language: + default: + name: delete + description: Remove an applicationGroup. + cli: + name: Delete + description: Remove an applicationGroup. + cliKey: Delete + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_216 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_217 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_group_name + description: The name of the application group + serializedName: applicationGroupName + cli: + name: applicationGroupName + description: The name of the application group + cliKey: applicationGroupName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_141 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content_type + description: Body Parameter content-type + serializedName: Content-Type + cli: + name: ContentType + description: Body Parameter content-type + cliKey: content-type + protocol: + http: + in: header + - &ref_206 + schema: *ref_83 + flattened: true + implementation: Method + required: false + extensions: + x-ms-client-flatten: true + language: + default: + name: _application_group + description: Object containing ApplicationGroup definitions. + cli: + name: _application_group + description: Object containing ApplicationGroup definitions. + cliKey: applicationGroup + protocol: + http: + in: body + style: json + - &ref_213 + schema: *ref_39 + implementation: Method + originalParameter: *ref_206 + pathToProperty: [] + targetProperty: *ref_207 + language: + default: + name: tags + description: tags to be updated + cli: *ref_208 + protocol: {} + - &ref_214 + schema: *ref_40 + implementation: Method + originalParameter: *ref_206 + pathToProperty: [] + targetProperty: *ref_209 + language: + default: + name: description + description: Description of ApplicationGroup. + cli: *ref_210 + protocol: {} + - &ref_215 + schema: *ref_41 + implementation: Method + originalParameter: *ref_206 + pathToProperty: [] + targetProperty: *ref_211 + language: + default: + name: friendly_name + description: Friendly name of ApplicationGroup. + cli: *ref_212 + protocol: {} + signatureParameters: + - *ref_213 + - *ref_214 + - *ref_215 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' + method: patch + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_216 + - *ref_217 + responses: + - schema: *ref_35 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ApplicationGroups_Update: + parameters: + api-version: 2019-12-10-preview + applicationGroup: + properties: + description: des1 + friendlyName: friendly + tags: + tag1: value1 + tag2: value2 + applicationGroupName: applicationGroup1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + language: + default: + name: update + description: Update an applicationGroup. + cli: + name: Update + description: Update an applicationGroup. + cliKey: Update + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_218 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_219 + schema: *ref_180 + implementation: Method + language: + default: + name: filter + description: OData filter expression. Valid properties for filtering are applicationGroupType. + serializedName: $filter + cli: + name: filter + description: OData filter expression. Valid properties for filtering are applicationGroupType. + cliKey: $filter + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups' + method: get + uri: '{$host}' + signatureParameters: + - *ref_218 + - *ref_219 + responses: + - schema: *ref_184 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ApplicationGroup_ListByResourceGroup: + parameters: + $filter: applicationGroupType eq 'RailApplication' + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + - name: applicationGroup2 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: list_by_resource_group + description: List applicationGroups. + paging: + nextLinkName: nextLink + cli: + name: ListByResourceGroup + description: List applicationGroups. + cliKey: ListByResourceGroup + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_220 + schema: *ref_180 + implementation: Method + language: + default: + name: filter + description: OData filter expression. Valid properties for filtering are applicationGroupType. + serializedName: $filter + cli: + name: filter + description: OData filter expression. Valid properties for filtering are applicationGroupType. + cliKey: $filter + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/applicationGroups' + method: get + uri: '{$host}' + signatureParameters: + - *ref_220 + responses: + - schema: *ref_184 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ApplicationGroup_List: + parameters: + $filter: applicationGroupType eq 'RailApplication' + api-version: 2019-12-10-preview + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: applicationGroup1 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + - name: applicationGroup2 + type: Microsoft.DesktopVirtualization/applicationGroups + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2 + location: centralus + properties: + description: des1 + applicationGroupType: RemoteApp + friendlyName: friendly + hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + tags: + key1: value1 + key2: value2 + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: list_by_subscription + description: List applicationGroups in subscription. + paging: + nextLinkName: nextLink + cli: + name: ListBySubscription + description: List applicationGroups in subscription. + cliKey: ListBySubscription + protocol: {} + language: + default: + name: ApplicationGroup + description: '' + cli: + name: ApplicationGroup + description: '' + cliKey: ApplicationGroups + protocol: {} + - $key: StartMenuItems + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_221 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_222 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_group_name + description: The name of the application group + serializedName: applicationGroupName + cli: + name: applicationGroupName + description: The name of the application group + cliKey: applicationGroupName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/startMenuItems' + method: get + uri: '{$host}' + signatureParameters: + - *ref_221 + - *ref_222 + responses: + - schema: *ref_223 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + StartMenuItem_List: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: application1 + type: Microsoft.DesktopVirtualization/applicationGroups/startMenuItems + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/startMenuItem/application1 + properties: + appAlias: word + commandLineArguments: arguments + filePath: /path/to/file + friendlyName: friendly + iconIndex: 1 + iconPath: /path/to/icon + - name: application2 + type: Microsoft.DesktopVirtualization/applicationGroups/startMenuItems + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/startMenuItem/application2 + properties: + appAlias: excel + commandLineArguments: arguments + filePath: /path/to/file + friendlyName: friendly + iconIndex: 1 + iconPath: /path/to/icon + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: list + description: List start menu items in the given application group. + paging: + nextLinkName: nextLink + cli: + name: List + description: List start menu items in the given application group. + cliKey: List + protocol: {} + language: + default: + name: StartMenuItem + description: '' + cli: + name: StartMenuItem + description: '' + cliKey: StartMenuItems + hidden: true + protocol: {} + - $key: Applications + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_224 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_225 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_group_name + description: The name of the application group + serializedName: applicationGroupName + cli: + name: applicationGroupName + description: The name of the application group + cliKey: applicationGroupName + protocol: + http: + in: path + - &ref_226 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_name + description: The name of the application within the specified application group + serializedName: applicationName + cli: + name: applicationName + description: The name of the application within the specified application group + cliKey: applicationName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_224 + - *ref_225 + - *ref_226 + responses: + - schema: *ref_85 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Application_Get: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + applicationName: application1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1/application1 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + language: + default: + name: get + description: Get an application. + cli: + name: Get + description: Get an application. + cliKey: Get + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_252 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_253 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_group_name + description: The name of the application group + serializedName: applicationGroupName + cli: + name: applicationGroupName + description: The name of the application group + cliKey: applicationGroupName + protocol: + http: + in: path + - &ref_254 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_name + description: The name of the application within the specified application group + serializedName: applicationName + cli: + name: applicationName + description: The name of the application within the specified application group + cliKey: applicationName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_141 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content_type + description: Body Parameter content-type + serializedName: Content-Type + cli: + name: ContentType + description: Body Parameter content-type + cliKey: content-type + protocol: + http: + in: header + - &ref_227 + schema: *ref_85 + flattened: true + implementation: Method + required: true + extensions: + x-ms-client-flatten: true + language: + default: + name: _application + description: Object containing Application definitions. + cli: + name: _application + description: Object containing Application definitions. + cliKey: application + protocol: + http: + in: body + style: json + - &ref_244 + schema: *ref_48 + implementation: Method + originalParameter: *ref_227 + pathToProperty: [] + required: false + targetProperty: *ref_228 + language: + default: + name: description + description: Description of Application. + cli: *ref_229 + protocol: {} + - &ref_245 + schema: *ref_49 + implementation: Method + originalParameter: *ref_227 + pathToProperty: [] + required: false + targetProperty: *ref_230 + language: + default: + name: friendly_name + description: Friendly name of Application. + cli: *ref_231 + protocol: {} + - &ref_246 + schema: *ref_50 + implementation: Method + originalParameter: *ref_227 + pathToProperty: [] + required: false + targetProperty: *ref_232 + language: + default: + name: file_path + description: Specifies a path for the executable file for the application. + cli: *ref_233 + protocol: {} + - &ref_247 + schema: *ref_51 + implementation: Method + originalParameter: *ref_227 + pathToProperty: [] + required: true + targetProperty: *ref_234 + language: + default: + name: command_line_setting + description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' + cli: *ref_235 + protocol: {} + - &ref_248 + schema: *ref_52 + implementation: Method + originalParameter: *ref_227 + pathToProperty: [] + required: false + targetProperty: *ref_236 + language: + default: + name: command_line_arguments + description: Command Line Arguments for Application. + cli: *ref_237 + protocol: {} + - &ref_249 + schema: *ref_53 + implementation: Method + originalParameter: *ref_227 + pathToProperty: [] + required: false + targetProperty: *ref_238 + language: + default: + name: show_in_portal + description: Specifies whether to show the RemoteApp program in the RD Web Access server. + cli: *ref_239 + protocol: {} + - &ref_250 + schema: *ref_54 + implementation: Method + originalParameter: *ref_227 + pathToProperty: [] + required: false + targetProperty: *ref_240 + language: + default: + name: icon_path + description: Path to icon. + cli: *ref_241 + protocol: {} + - &ref_251 + schema: *ref_47 + implementation: Method + originalParameter: *ref_227 + pathToProperty: [] + required: false + targetProperty: *ref_242 + language: + default: + name: icon_index + description: Index of the icon. + cli: *ref_243 + protocol: {} + signatureParameters: + - *ref_244 + - *ref_245 + - *ref_246 + - *ref_247 + - *ref_248 + - *ref_249 + - *ref_250 + - *ref_251 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' + method: put + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_252 + - *ref_253 + - *ref_254 + responses: + - schema: *ref_85 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + - schema: *ref_85 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '201' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Application_Create: + parameters: + api-version: 2019-12-10-preview + application: + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconIndex: 1 + iconPath: icon + showInPortal: true + applicationGroupName: applicationGroup1 + applicationName: application1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1/application1 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + '201': + body: + name: applicationGroup1/application1 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + language: + default: + name: create_or_update + description: Create or update an application. + cli: + name: CreateOrUpdate + description: Create or update an application. + cliKey: CreateOrUpdate + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_255 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_256 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_group_name + description: The name of the application group + serializedName: applicationGroupName + cli: + name: applicationGroupName + description: The name of the application group + cliKey: applicationGroupName + protocol: + http: + in: path + - &ref_257 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_name + description: The name of the application within the specified application group + serializedName: applicationName + cli: + name: applicationName + description: The name of the application within the specified application group + cliKey: applicationName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' + method: delete + uri: '{$host}' + signatureParameters: + - *ref_255 + - *ref_256 + - *ref_257 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '204' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Application_Delete: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + applicationName: application1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + name: applicationGroup1/application1 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + '204': {} + language: + default: + name: delete + description: Remove an application. + cli: + name: Delete + description: Remove an application. + cliKey: Delete + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_287 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_288 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_group_name + description: The name of the application group + serializedName: applicationGroupName + cli: + name: applicationGroupName + description: The name of the application group + cliKey: applicationGroupName + protocol: + http: + in: path + - &ref_289 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_name + description: The name of the application within the specified application group + serializedName: applicationName + cli: + name: applicationName + description: The name of the application within the specified application group + cliKey: applicationName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_141 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content_type + description: Body Parameter content-type + serializedName: Content-Type + cli: + name: ContentType + description: Body Parameter content-type + cliKey: content-type + protocol: + http: + in: header + - &ref_259 + schema: *ref_258 + flattened: true + implementation: Method + required: false + extensions: + x-ms-client-flatten: true + language: + default: + name: _application + description: Object containing Application definitions. + cli: + name: _application + description: Object containing Application definitions. + cliKey: application + protocol: + http: + in: body + style: json + - &ref_278 + schema: *ref_39 + implementation: Method + originalParameter: *ref_259 + pathToProperty: [] + targetProperty: *ref_260 + language: + default: + name: tags + description: tags to be updated + cli: *ref_261 + protocol: {} + - &ref_279 + schema: *ref_102 + implementation: Method + originalParameter: *ref_259 + pathToProperty: [] + targetProperty: *ref_262 + language: + default: + name: description + description: Description of Application. + cli: *ref_263 + protocol: {} + - &ref_280 + schema: *ref_103 + implementation: Method + originalParameter: *ref_259 + pathToProperty: [] + targetProperty: *ref_264 + language: + default: + name: friendly_name + description: Friendly name of Application. + cli: *ref_265 + protocol: {} + - &ref_281 + schema: *ref_104 + implementation: Method + originalParameter: *ref_259 + pathToProperty: [] + targetProperty: *ref_266 + language: + default: + name: file_path + description: Specifies a path for the executable file for the application. + cli: *ref_267 + protocol: {} + - &ref_282 + schema: *ref_51 + implementation: Method + originalParameter: *ref_259 + pathToProperty: [] + targetProperty: *ref_268 + language: + default: + name: command_line_setting + description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' + cli: *ref_269 + protocol: {} + - &ref_283 + schema: *ref_105 + implementation: Method + originalParameter: *ref_259 + pathToProperty: [] + targetProperty: *ref_270 + language: + default: + name: command_line_arguments + description: Command Line Arguments for Application. + cli: *ref_271 + protocol: {} + - &ref_284 + schema: *ref_53 + implementation: Method + originalParameter: *ref_259 + pathToProperty: [] + targetProperty: *ref_272 + language: + default: + name: show_in_portal + description: Specifies whether to show the RemoteApp program in the RD Web Access server. + cli: *ref_273 + protocol: {} + - &ref_285 + schema: *ref_106 + implementation: Method + originalParameter: *ref_259 + pathToProperty: [] + targetProperty: *ref_274 + language: + default: + name: icon_path + description: Path to icon. + cli: *ref_275 + protocol: {} + - &ref_286 + schema: *ref_47 + implementation: Method + originalParameter: *ref_259 + pathToProperty: [] + targetProperty: *ref_276 + language: + default: + name: icon_index + description: Index of the icon. + cli: *ref_277 + protocol: {} + signatureParameters: + - *ref_278 + - *ref_279 + - *ref_280 + - *ref_281 + - *ref_282 + - *ref_283 + - *ref_284 + - *ref_285 + - *ref_286 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' + method: patch + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_287 + - *ref_288 + - *ref_289 + responses: + - schema: *ref_85 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Application_Update: + parameters: + api-version: 2019-12-10-preview + application: + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconIndex: 1 + iconPath: icon + showInPortal: true + applicationGroupName: applicationGroup1 + applicationName: application1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1/application1 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + language: + default: + name: update + description: Update an application. + cli: + name: Update + description: Update an application. + cliKey: Update + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_290 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_291 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_group_name + description: The name of the application group + serializedName: applicationGroupName + cli: + name: applicationGroupName + description: The name of the application group + cliKey: applicationGroupName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications' + method: get + uri: '{$host}' + signatureParameters: + - *ref_290 + - *ref_291 + responses: + - schema: *ref_292 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Applications_List: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: applicationGroup1/application1 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + - name: applicationGroup1/application2 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application2 + properties: + description: des2 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: list + description: List applications. + paging: + nextLinkName: nextLink + cli: + name: List + description: List applications. + cliKey: List + protocol: {} + language: + default: + name: Application + description: '' + cli: + name: Application + description: '' + cliKey: Applications + hidden: true + protocol: {} + - $key: Desktops + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_293 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_294 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_group_name + description: The name of the application group + serializedName: applicationGroupName + cli: + name: applicationGroupName + description: The name of the application group + cliKey: applicationGroupName + protocol: + http: + in: path + - &ref_295 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: desktop_name + description: The name of the desktop within the specified desktop group + serializedName: desktopName + cli: + name: desktopName + description: The name of the desktop within the specified desktop group + cliKey: desktopName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops/{desktopName}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_293 + - *ref_294 + - *ref_295 + responses: + - schema: *ref_86 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Desktop_Get: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + desktopName: SessionDesktop + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1/SessionDesktop + type: Microsoft.DesktopVirtualization/applicationGroups/desktops + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/SessionDesktop + properties: + description: des1 + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + language: + default: + name: get + description: Get a desktop. + cli: + name: Get + description: Get a desktop. + cliKey: Get + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_307 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_308 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_group_name + description: The name of the application group + serializedName: applicationGroupName + cli: + name: applicationGroupName + description: The name of the application group + cliKey: applicationGroupName + protocol: + http: + in: path + - &ref_309 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: desktop_name + description: The name of the desktop within the specified desktop group + serializedName: desktopName + cli: + name: desktopName + description: The name of the desktop within the specified desktop group + cliKey: desktopName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_141 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content_type + description: Body Parameter content-type + serializedName: Content-Type + cli: + name: ContentType + description: Body Parameter content-type + cliKey: content-type + protocol: + http: + in: header + - &ref_297 + schema: *ref_296 + flattened: true + implementation: Method + required: false + extensions: + x-ms-client-flatten: true + language: + default: + name: _desktop + description: Object containing Desktop definitions. + cli: + name: _desktop + description: Object containing Desktop definitions. + cliKey: desktop + protocol: + http: + in: body + style: json + - &ref_304 + schema: *ref_39 + implementation: Method + originalParameter: *ref_297 + pathToProperty: [] + targetProperty: *ref_298 + language: + default: + name: tags + description: tags to be updated + cli: *ref_299 + protocol: {} + - &ref_305 + schema: *ref_108 + implementation: Method + originalParameter: *ref_297 + pathToProperty: [] + targetProperty: *ref_300 + language: + default: + name: description + description: Description of Desktop. + cli: *ref_301 + protocol: {} + - &ref_306 + schema: *ref_109 + implementation: Method + originalParameter: *ref_297 + pathToProperty: [] + targetProperty: *ref_302 + language: + default: + name: friendly_name + description: Friendly name of Desktop. + cli: *ref_303 + protocol: {} + signatureParameters: + - *ref_304 + - *ref_305 + - *ref_306 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops/{desktopName}' + method: patch + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_307 + - *ref_308 + - *ref_309 + responses: + - schema: *ref_86 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Desktop_Update: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + desktop: + properties: + description: des1 + friendlyName: friendly + desktopName: SessionDesktop + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: applicationGroup1/SessionDesktop + type: Microsoft.DesktopVirtualization/applicationGroups/desktops + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/desktops/SessionDesktop + properties: + description: des1 + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + language: + default: + name: update + description: Update a desktop. + cli: + name: Update + description: Update a desktop. + cliKey: Update + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_310 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_311 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: application_group_name + description: The name of the application group + serializedName: applicationGroupName + cli: + name: applicationGroupName + description: The name of the application group + cliKey: applicationGroupName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops' + method: get + uri: '{$host}' + signatureParameters: + - *ref_310 + - *ref_311 + responses: + - schema: *ref_312 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Desktop_List: + parameters: + api-version: 2019-12-10-preview + applicationGroupName: applicationGroup1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: applicationGroup1/SessionDesktop + type: Microsoft.DesktopVirtualization/applicationGroups/desktops + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/SessionDesktop + properties: + description: des1 + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + language: + default: + name: list + description: List desktops. + cli: + name: List + description: List desktops. + cliKey: List + protocol: {} + language: + default: + name: Desktop + description: '' + cli: + name: Desktop + description: '' + cliKey: Desktops + hidden: true + protocol: {} + - $key: HostPools + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_313 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_314 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + name: hostPoolName + description: The name of the host pool within the specified resource group + cliKey: hostPoolName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_313 + - *ref_314 + responses: + - schema: *ref_36 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + HostPool_Get: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: hostPool1 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2008-09-22T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + language: + default: + name: get + description: Get a host pool. + cli: + name: Get + description: Get a host pool. + cliKey: Get + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_354 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_355 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + name: hostPoolName + description: The name of the host pool within the specified resource group + cliKey: hostPoolName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_141 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content_type + description: Body Parameter content-type + serializedName: Content-Type + cli: + name: ContentType + description: Body Parameter content-type + cliKey: content-type + protocol: + http: + in: header + - &ref_315 + schema: *ref_36 + flattened: true + implementation: Method + required: true + extensions: + x-ms-client-flatten: true + language: + default: + name: _host_pool + description: Object containing HostPool definitions. + cli: + name: _host_pool + description: Object containing HostPool definitions. + cliKey: hostPool + protocol: + http: + in: body + style: json + - &ref_340 + schema: *ref_37 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: false + targetProperty: *ref_143 + language: + default: + name: tags + description: Resource tags. + cli: *ref_144 + protocol: {} + - &ref_341 + schema: *ref_38 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: true + targetProperty: *ref_145 + language: + default: + name: location + description: The geo-location where the resource lives + cli: *ref_146 + protocol: {} + - &ref_342 + schema: *ref_19 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: false + targetProperty: *ref_316 + language: + default: + name: friendly_name + description: Friendly name of HostPool. + cli: *ref_317 + protocol: {} + - &ref_343 + schema: *ref_20 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: false + targetProperty: *ref_318 + language: + default: + name: description + description: Description of HostPool. + cli: *ref_319 + protocol: {} + - &ref_344 + schema: *ref_21 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: true + targetProperty: *ref_320 + language: + default: + name: host_pool_type + description: HostPool type for desktop. + cli: *ref_321 + protocol: {} + - &ref_345 + schema: *ref_22 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: true + targetProperty: *ref_322 + language: + default: + name: personal_desktop_assignment_type + description: PersonalDesktopAssignment type for HostPool. + cli: *ref_323 + protocol: {} + - &ref_346 + schema: *ref_23 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: false + targetProperty: *ref_324 + language: + default: + name: custom_rdp_property + description: Custom rdp property of HostPool. + cli: *ref_325 + protocol: {} + - &ref_347 + schema: *ref_24 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: false + targetProperty: *ref_326 + language: + default: + name: max_session_limit + description: The max session limit of HostPool. + cli: *ref_327 + protocol: {} + - &ref_348 + schema: *ref_25 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: true + targetProperty: *ref_328 + language: + default: + name: load_balancer_type + description: The type of the load balancer. + cli: *ref_329 + protocol: {} + - &ref_349 + schema: *ref_26 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: false + targetProperty: *ref_330 + language: + default: + name: ring + description: The ring number of HostPool. + cli: *ref_331 + protocol: {} + - &ref_350 + schema: *ref_27 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: false + targetProperty: *ref_332 + language: + default: + name: validation_environment + description: Is validation environment. + cli: *ref_333 + protocol: {} + - &ref_351 + schema: *ref_111 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: false + targetProperty: *ref_334 + language: + default: + name: registration_info + description: The registration info of HostPool. + cli: *ref_335 + protocol: {} + - &ref_352 + schema: *ref_31 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: false + targetProperty: *ref_336 + language: + default: + name: vm_template + description: VM template for sessionhosts configuration within hostpool. + cli: *ref_337 + protocol: {} + - &ref_353 + schema: *ref_33 + implementation: Method + originalParameter: *ref_315 + pathToProperty: [] + required: false + targetProperty: *ref_338 + language: + default: + name: sso_context + description: Path to keyvault containing ssoContext secret. + cli: *ref_339 + protocol: {} + signatureParameters: + - *ref_340 + - *ref_341 + - *ref_342 + - *ref_343 + - *ref_344 + - *ref_345 + - *ref_346 + - *ref_347 + - *ref_348 + - *ref_349 + - *ref_350 + - *ref_351 + - *ref_352 + - *ref_353 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' + method: put + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_354 + - *ref_355 + responses: + - schema: *ref_36 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + - schema: *ref_36 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '201' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + HostPool_Create: + parameters: + api-version: 2019-12-10-preview + hostPool: + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2020-10-01T14:01:54.9571247Z' + registrationTokenOperation: Update + ssoContext: KeyVaultPath + tags: + tag1: value1 + tag2: value2 + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: hostPool1 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2020-10-01T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + '201': + body: + name: hostPool1 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2020-10-01T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + language: + default: + name: create_or_update + description: Create or update a host pool. + cli: + name: CreateOrUpdate + description: Create or update a host pool. + cliKey: CreateOrUpdate + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_357 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_358 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + name: hostPoolName + description: The name of the host pool within the specified resource group + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_359 + schema: *ref_356 + implementation: Method + language: + default: + name: force + description: Force flag to delete sessionHost. + serializedName: force + cli: + name: force + description: Force flag to delete sessionHost. + cliKey: force + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' + method: delete + uri: '{$host}' + signatureParameters: + - *ref_357 + - *ref_358 + - *ref_359 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '204' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + HostPool_Delete: + parameters: + api-version: 2019-12-10-preview + force: true + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + name: hostPool1 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2008-09-22T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + '204': {} + language: + default: + name: delete + description: Remove a host pool. + cli: + name: Delete + description: Remove a host pool. + cliKey: Delete + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_394 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_395 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + name: hostPoolName + description: The name of the host pool within the specified resource group + cliKey: hostPoolName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_141 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content_type + description: Body Parameter content-type + serializedName: Content-Type + cli: + name: ContentType + description: Body Parameter content-type + cliKey: content-type + protocol: + http: + in: header + - &ref_360 + schema: *ref_87 + flattened: true + implementation: Method + required: false + extensions: + x-ms-client-flatten: true + language: + default: + name: _host_pool + description: Object containing HostPool definitions. + cli: + name: _host_pool + description: Object containing HostPool definitions. + cliKey: hostPool + protocol: + http: + in: body + style: json + - &ref_383 + schema: *ref_39 + implementation: Method + originalParameter: *ref_360 + pathToProperty: [] + targetProperty: *ref_361 + language: + default: + name: tags + description: tags to be updated + cli: *ref_362 + protocol: {} + - &ref_384 + schema: *ref_61 + implementation: Method + originalParameter: *ref_360 + pathToProperty: [] + targetProperty: *ref_363 + language: + default: + name: friendly_name + description: Friendly name of HostPool. + cli: *ref_364 + protocol: {} + - &ref_385 + schema: *ref_62 + implementation: Method + originalParameter: *ref_360 + pathToProperty: [] + targetProperty: *ref_365 + language: + default: + name: description + description: Description of HostPool. + cli: *ref_366 + protocol: {} + - &ref_386 + schema: *ref_63 + implementation: Method + originalParameter: *ref_360 + pathToProperty: [] + targetProperty: *ref_367 + language: + default: + name: custom_rdp_property + description: Custom rdp property of HostPool. + cli: *ref_368 + protocol: {} + - &ref_387 + schema: *ref_24 + implementation: Method + originalParameter: *ref_360 + pathToProperty: [] + targetProperty: *ref_369 + language: + default: + name: max_session_limit + description: The max session limit of HostPool. + cli: *ref_370 + protocol: {} + - &ref_388 + schema: *ref_22 + implementation: Method + originalParameter: *ref_360 + pathToProperty: [] + targetProperty: *ref_371 + language: + default: + name: personal_desktop_assignment_type + description: PersonalDesktopAssignment type for HostPool. + cli: *ref_372 + protocol: {} + - &ref_389 + schema: *ref_25 + implementation: Method + originalParameter: *ref_360 + pathToProperty: [] + targetProperty: *ref_373 + language: + default: + name: load_balancer_type + description: The type of the load balancer. + cli: *ref_374 + protocol: {} + - &ref_390 + schema: *ref_26 + implementation: Method + originalParameter: *ref_360 + pathToProperty: [] + targetProperty: *ref_375 + language: + default: + name: ring + description: The ring number of HostPool. + cli: *ref_376 + protocol: {} + - &ref_391 + schema: *ref_27 + implementation: Method + originalParameter: *ref_360 + pathToProperty: [] + targetProperty: *ref_377 + language: + default: + name: validation_environment + description: Is validation environment. + cli: *ref_378 + protocol: {} + - &ref_392 + schema: *ref_112 + implementation: Method + originalParameter: *ref_360 + pathToProperty: [] + targetProperty: *ref_379 + language: + default: + name: registration_info + description: The registration info of HostPool. + cli: *ref_380 + protocol: {} + - &ref_393 + schema: *ref_64 + implementation: Method + originalParameter: *ref_360 + pathToProperty: [] + targetProperty: *ref_381 + language: + default: + name: sso_context + description: Path to keyvault containing ssoContext secret. + cli: *ref_382 + protocol: {} + signatureParameters: + - *ref_383 + - *ref_384 + - *ref_385 + - *ref_386 + - *ref_387 + - *ref_388 + - *ref_389 + - *ref_390 + - *ref_391 + - *ref_392 + - *ref_393 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' + method: patch + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_394 + - *ref_395 + responses: + - schema: *ref_36 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + HostPool_Update: + parameters: + api-version: 2019-12-10-preview + hostPool: + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2020-10-02T14:01:54.9571247Z' + ssoContext: KeyVaultPath + tags: + tag1: value1 + tag2: value2 + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: hostPool1 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2008-09-22T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + language: + default: + name: update + description: Update a host pool. + cli: + name: Update + description: Update a host pool. + cliKey: Update + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_396 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools' + method: get + uri: '{$host}' + signatureParameters: + - *ref_396 + responses: + - schema: *ref_397 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + HostPool_ListByResourceGroup: + parameters: + api-version: 2019-12-10-preview + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: hostPool1 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2008-09-22T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + - name: hostPool2 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool2 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2008-09-22T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: list_by_resource_group + description: List hostPools. + paging: + nextLinkName: nextLink + cli: + name: ListByResourceGroup + description: List hostPools. + cliKey: ListByResourceGroup + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/hostPools' + method: get + uri: '{$host}' + signatureParameters: [] + responses: + - schema: *ref_397 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + HostPool_List: + parameters: + api-version: 2019-12-10-preview + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: hostPool1 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2008-09-22T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + - name: hostPool2 + type: /Microsoft.DesktopVirtualization/hostPools + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool2 + location: centralus + properties: + description: des1 + customRdpProperty: null + friendlyName: friendly + hostPoolType: Pooled + loadBalancerType: BreadthFirst + maxSessionLimit: 999999 + personalDesktopAssignmentType: Automatic + registrationInfo: + expirationTime: '2008-09-22T14:01:54.9571247Z' + registrationTokenOperation: Update + token: token + ring: null + ssoContext: KeyVaultPath + validationEnvironment: null + tags: + key1: value1 + key2: value2 + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: list + description: List hostPools in subscription. + paging: + nextLinkName: nextLink + cli: + name: List + description: List hostPools in subscription. + cliKey: List + protocol: {} + language: + default: + name: HostPool + description: '' + cli: + name: HostPool + description: '' + cliKey: HostPools + protocol: {} + - $key: UserSessions + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_398 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_399 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + name: hostPoolName + description: The name of the host pool within the specified resource group + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_400 + schema: *ref_180 + implementation: Method + language: + default: + name: filter + description: OData filter expression. Valid properties for filtering are userprincipalname and sessionstate. + serializedName: $filter + cli: + name: filter + description: OData filter expression. Valid properties for filtering are userprincipalname and sessionstate. + cliKey: $filter + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/userSessions' + method: get + uri: '{$host}' + signatureParameters: + - *ref_398 + - *ref_399 + - *ref_400 + responses: + - schema: *ref_401 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + UserSession_ListByHostPool: + parameters: + $filter: userPrincipalName eq 'user1@microsoft.com' and state eq 'active' + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: '1' + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 + properties: + activeDirectoryUserName: WVDARM\user1 + applicationType: Desktop + createTime: '2008-09-22T14:01:54.9571247Z' + sessionState: Active + userPrincipalName: user1@microsoft.com + - name: '2' + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/2 + properties: + activeDirectoryUserName: WVDARM\user1 + applicationType: Desktop + createTime: '2008-09-22T14:01:54.9571247Z' + sessionState: Active + userPrincipalName: user1@microsoft.com + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: list_by_host_pool + description: List userSessions. + paging: + nextLinkName: nextLink + cli: + name: ListByHostPool + description: List userSessions. + cliKey: ListByHostPool + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_404 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_405 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + name: hostPoolName + description: The name of the host pool within the specified resource group + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_406 + schema: *ref_402 + implementation: Method + required: true + language: + default: + name: session_host_name + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + name: sessionHostName + description: The name of the session host within the specified host pool + cliKey: sessionHostName + protocol: + http: + in: path + - &ref_407 + schema: *ref_403 + implementation: Method + required: true + language: + default: + name: user_session_id + description: The name of the user session within the specified session host + serializedName: userSessionId + cli: + name: userSessionId + description: The name of the user session within the specified session host + cliKey: userSessionId + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_404 + - *ref_405 + - *ref_406 + - *ref_407 + responses: + - schema: *ref_88 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + UserSession_Get: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + userSessionId: '1' + responses: + '200': + body: + name: '1' + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 + properties: + activeDirectoryUserName: WVDARM\user1 + applicationType: Desktop + createTime: '2008-09-22T14:01:54.9571247Z' + sessionState: Active + userPrincipalName: user1@microsoft.com + language: + default: + name: get + description: Get a userSession. + cli: + name: Get + description: Get a userSession. + cliKey: Get + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_408 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_409 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + name: hostPoolName + description: The name of the host pool within the specified resource group + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_410 + schema: *ref_402 + implementation: Method + required: true + language: + default: + name: session_host_name + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + name: sessionHostName + description: The name of the session host within the specified host pool + cliKey: sessionHostName + protocol: + http: + in: path + - &ref_411 + schema: *ref_403 + implementation: Method + required: true + language: + default: + name: user_session_id + description: The name of the user session within the specified session host + serializedName: userSessionId + cli: + name: userSessionId + description: The name of the user session within the specified session host + cliKey: userSessionId + protocol: + http: + in: path + - &ref_412 + schema: *ref_356 + implementation: Method + language: + default: + name: force + description: Force flag to login off userSession. + serializedName: force + cli: + name: force + description: Force flag to login off userSession. + cliKey: force + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}' + method: delete + uri: '{$host}' + signatureParameters: + - *ref_408 + - *ref_409 + - *ref_410 + - *ref_411 + - *ref_412 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '204' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + UserSession_Delete: + parameters: + api-version: 2019-12-10-preview + force: true + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + userSessionId: '1' + responses: + '200': + name: '1' + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 + properties: + activeDirectoryUserName: WVDARM\user1 + applicationType: Desktop + createTime: '2008-09-22T14:01:54.9571247Z' + sessionState: Active + userPrincipalName: user1@microsoft.com + '204': {} + language: + default: + name: delete + description: Remove a userSession. + cli: + name: Delete + description: Remove a userSession. + cliKey: Delete + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_413 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_414 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + name: hostPoolName + description: The name of the host pool within the specified resource group + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_415 + schema: *ref_402 + implementation: Method + required: true + language: + default: + name: session_host_name + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + name: sessionHostName + description: The name of the session host within the specified host pool + cliKey: sessionHostName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions' + method: get + uri: '{$host}' + signatureParameters: + - *ref_413 + - *ref_414 + - *ref_415 + responses: + - schema: *ref_401 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + UserSession_List: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: '1' + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 + properties: + activeDirectoryUserName: WVDARM\user1 + applicationType: Desktop + createTime: '2008-09-22T14:01:54.9571247Z' + sessionState: Active + userPrincipalName: user1@microsoft.com + - name: '2' + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/2 + properties: + activeDirectoryUserName: WVDARM\user1 + applicationType: Desktop + createTime: '2008-09-22T14:01:54.9571247Z' + sessionState: Active + userPrincipalName: user1@microsoft.com + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: list + description: List userSessions. + paging: + nextLinkName: nextLink + cli: + name: List + description: List userSessions. + cliKey: List + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_416 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_417 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + name: hostPoolName + description: The name of the host pool within the specified resource group + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_418 + schema: *ref_402 + implementation: Method + required: true + language: + default: + name: session_host_name + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + name: sessionHostName + description: The name of the session host within the specified host pool + cliKey: sessionHostName + protocol: + http: + in: path + - &ref_419 + schema: *ref_403 + implementation: Method + required: true + language: + default: + name: user_session_id + description: The name of the user session within the specified session host + serializedName: userSessionId + cli: + name: userSessionId + description: The name of the user session within the specified session host + cliKey: userSessionId + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}/disconnect' + method: post + uri: '{$host}' + signatureParameters: + - *ref_416 + - *ref_417 + - *ref_418 + - *ref_419 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + UserSession_Disconnect_Post: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + userSessionId: '1' + responses: + '200': {} + language: + default: + name: disconnect + description: Disconnect a userSession. + cli: + name: Disconnect + description: Disconnect a userSession. + cliKey: Disconnect + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_428 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_429 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + name: hostPoolName + description: The name of the host pool within the specified resource group + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_430 + schema: *ref_402 + implementation: Method + required: true + language: + default: + name: session_host_name + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + name: sessionHostName + description: The name of the session host within the specified host pool + cliKey: sessionHostName + protocol: + http: + in: path + - &ref_431 + schema: *ref_403 + implementation: Method + required: true + language: + default: + name: user_session_id + description: The name of the user session within the specified session host + serializedName: userSessionId + cli: + name: userSessionId + description: The name of the user session within the specified session host + cliKey: userSessionId + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_141 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content_type + description: Body Parameter content-type + serializedName: Content-Type + cli: + name: ContentType + description: Body Parameter content-type + cliKey: content-type + protocol: + http: + in: header + - &ref_421 + schema: *ref_420 + flattened: true + implementation: Method + required: false + extensions: + x-ms-client-flatten: true + language: + default: + name: _send_message + description: Object containing message includes title and message body + cli: + name: _send_message + description: Object containing message includes title and message body + cliKey: sendMessage + protocol: + http: + in: body + style: json + - &ref_426 + schema: *ref_116 + implementation: Method + originalParameter: *ref_421 + pathToProperty: [] + targetProperty: *ref_422 + language: + default: + name: message_title + description: Title of message. + cli: *ref_423 + protocol: {} + - &ref_427 + schema: *ref_117 + implementation: Method + originalParameter: *ref_421 + pathToProperty: [] + targetProperty: *ref_424 + language: + default: + name: message_body + description: Body of message. + cli: *ref_425 + protocol: {} + signatureParameters: + - *ref_426 + - *ref_427 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}/sendMessage' + method: post + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_428 + - *ref_429 + - *ref_430 + - *ref_431 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + UserSession_SendMessage_Post: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sendMessage: + messageBody: body + messageTitle: title + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + userSessionId: '1' + responses: + '200': {} + language: + default: + name: send_message + description: Send a message to a user. + cli: + name: SendMessage + description: Send a message to a user. + cliKey: SendMessage + protocol: {} + language: + default: + name: UserSession + description: '' + cli: + name: UserSession + description: '' + cliKey: UserSessions + hidden: true + protocol: {} + - $key: SessionHosts + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_432 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_433 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + name: hostPoolName + description: The name of the host pool within the specified resource group + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_434 + schema: *ref_402 + implementation: Method + required: true + language: + default: + name: session_host_name + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + name: sessionHostName + description: The name of the session host within the specified host pool + cliKey: sessionHostName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_432 + - *ref_433 + - *ref_434 + responses: + - schema: *ref_89 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + SessionHost_Get: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: sessionHost1.microsoft.com + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com + properties: + agentVersion: 1.0.0.1391 + allowNewSession: true + assignedUser: user1@microsoft.com + lastHeartBeat: '2008-09-22T14:01:54.9571247Z' + lastUpdateTime: '2008-09-22T14:01:54.9571247Z' + osVersion: 10.0.17763 + sessions: 1 + status: Available + statusTimestamp: '2008-09-22T14:01:54.9571247Z' + sxSStackVersion: rdp-sxs190816002 + updateErrorMessage: '' + updateState: Succeeded + language: + default: + name: get + description: Get a session host. + cli: + name: Get + description: Get a session host. + cliKey: Get + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_435 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_436 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + name: hostPoolName + description: The name of the host pool within the specified resource group + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_437 + schema: *ref_402 + implementation: Method + required: true + language: + default: + name: session_host_name + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + name: sessionHostName + description: The name of the session host within the specified host pool + cliKey: sessionHostName + protocol: + http: + in: path + - &ref_438 + schema: *ref_356 + implementation: Method + language: + default: + name: force + description: Force flag to force sessionHost deletion even when userSession exists. + serializedName: force + cli: + name: force + description: Force flag to force sessionHost deletion even when userSession exists. + cliKey: force + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}' + method: delete + uri: '{$host}' + signatureParameters: + - *ref_435 + - *ref_436 + - *ref_437 + - *ref_438 + responses: + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '200' + - language: + default: + name: '' + description: '' + protocol: + http: + statusCodes: + - '204' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + SessionHost_Delete: + parameters: + api-version: 2019-12-10-preview + force: true + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + name: sessionHost1.microsoft.com + type: Microsoft.DesktopVirtualization/hostPools/sessionHosts + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com + properties: + agentVersion: 1.0.0.1391 + allowNewSession: true + assignedUser: user1@microsoft.com + lastHeartBeat: '2008-09-22T14:01:54.9571247Z' + lastUpdateTime: '2008-09-22T14:01:54.9571247Z' + osVersion: 10.0.17763 + sessions: 1 + status: Available + statusTimestamp: '2008-09-22T14:01:54.9571247Z' + sxSStackVersion: rdp-sxs190816002 + updateErrorMessage: '' + updateState: Succeeded + '204': {} + language: + default: + name: delete + description: Remove a SessionHost. + cli: + name: Delete + description: Remove a SessionHost. + cliKey: Delete + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_446 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_447 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + name: hostPoolName + description: The name of the host pool within the specified resource group + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_448 + schema: *ref_402 + implementation: Method + required: true + language: + default: + name: session_host_name + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + name: sessionHostName + description: The name of the session host within the specified host pool + cliKey: sessionHostName + protocol: + http: + in: path + requests: + - parameters: + - schema: *ref_141 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: + default: + name: content_type + description: Body Parameter content-type + serializedName: Content-Type + cli: + name: ContentType + description: Body Parameter content-type + cliKey: content-type + protocol: + http: + in: header + - &ref_439 + schema: *ref_90 + flattened: true + implementation: Method + required: false + extensions: + x-ms-client-flatten: true + language: + default: + name: _session_host + description: Object containing SessionHost definitions. + cli: + name: _session_host + description: Object containing SessionHost definitions. + cliKey: sessionHost + protocol: + http: + in: body + style: json + - &ref_444 + schema: *ref_73 + implementation: Method + originalParameter: *ref_439 + pathToProperty: [] + targetProperty: *ref_440 + language: + default: + name: allow_new_session + description: Allow a new session. + cli: *ref_441 + protocol: {} + - &ref_445 + schema: *ref_82 + implementation: Method + originalParameter: *ref_439 + pathToProperty: [] + targetProperty: *ref_442 + language: + default: + name: assigned_user + description: User assigned to SessionHost. + cli: *ref_443 + protocol: {} + signatureParameters: + - *ref_444 + - *ref_445 + language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}' + method: patch + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_446 + - *ref_447 + - *ref_448 + responses: + - schema: *ref_89 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + SessionHost_Update: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHost: + properties: + allowNewSession: true + assignedUser: user1@microsoft.com + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + name: sessionHost1.microsoft.com + type: Microsoft.DesktopVirtualization/hostPools/sessionhosts + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com + properties: + agentVersion: 1.0.0.1391 + allowNewSession: true + assignedUser: user1@microsoft.com + lastHeartBeat: '2019-01-11T19:27:13.6108027Z' + lastUpdateTime: '2008-09-22T14:01:54.9571247Z' + osVersion: 10.0.17763 + sessions: 1 + status: Available + statusTimestamp: '2019-01-24T20:00:08.2893033Z' + sxSStackVersion: rdp-sxs190816002 + updateErrorMessage: '' + updateState: Succeeded + language: + default: + name: update + description: Update a session host. + cli: + name: Update + description: Update a session host. + cliKey: Update + protocol: {} + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_449 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_450 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + name: hostPoolName + description: The name of the host pool within the specified resource group + cliKey: hostPoolName + protocol: + http: + in: path + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts' + method: get + uri: '{$host}' + signatureParameters: + - *ref_449 + - *ref_450 + responses: + - schema: *ref_451 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + SessionHost_List: + parameters: + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: sessionHost1.microsoft.com + type: Microsoft.DesktopVirtualization/hostPools/sessionhosts + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com + properties: + agentVersion: 1.0.0.1391 + allowNewSession: true + assignedUser: user1@microsoft.com + lastHeartBeat: '2008-09-22T14:01:54.9571247Z' + lastUpdateTime: '2008-09-22T14:01:54.9571247Z' + osVersion: 10.0.17763 + sessions: 1 + status: Available + statusTimestamp: '2008-09-22T14:01:54.9571247Z' + sxSStackVersion: rdp-sxs190816002 + updateErrorMessage: '' + updateState: Succeeded + - name: sessionHost2.microsoft.com + type: Microsoft.DesktopVirtualization/hostPools/sessionhosts + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost2microsoft.com + properties: + agentVersion: 1.0.0.1391 + allowNewSession: true + assignedUser: user2@microsoft.com + lastHeartBeat: '2008-09-22T14:01:54.9571247Z' + lastUpdateTime: '2008-09-22T14:01:54.9571247Z' + osVersion: 10.0.17763 + sessions: 1 + status: Available + statusTimestamp: '2008-09-22T14:01:54.9571247Z' + sxSStackVersion: rdp-sxs190816002 + updateErrorMessage: '' + updateState: Succeeded + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: list + description: List sessionHosts. + paging: + nextLinkName: nextLink + cli: + name: List + description: List sessionHosts. + cliKey: List + protocol: {} + language: + default: + name: SessionHost + description: '' + cli: + name: SessionHost + description: '' + cliKey: SessionHosts + hidden: true + protocol: {} + - $key: ActiveApplications + operations: + - apiVersions: + - version: 2019-12-10-preview + parameters: + - *ref_132 + - *ref_133 + - *ref_135 + - &ref_452 + schema: *ref_136 + implementation: Method + required: true + language: + default: + name: resource_group_name + description: The name of the resource group. The name is case insensitive. + serializedName: resourceGroupName + cli: + name: resourceGroupName + description: The name of the resource group. The name is case insensitive. + cliKey: resourceGroupName + protocol: + http: + in: path + - &ref_453 + schema: *ref_137 + implementation: Method + required: true + language: + default: + name: host_pool_name + description: The name of the host pool within the specified resource group + serializedName: hostPoolName + cli: + name: hostPoolName + description: The name of the host pool within the specified resource group + cliKey: hostPoolName + protocol: + http: + in: path + - &ref_454 + schema: *ref_402 + implementation: Method + required: true + language: + default: + name: session_host_name + description: The name of the session host within the specified host pool + serializedName: sessionHostName + cli: + name: sessionHostName + description: The name of the session host within the specified host pool + cliKey: sessionHostName + protocol: + http: + in: path + - &ref_455 + schema: *ref_180 + implementation: Method + language: + default: + name: filter + description: OData filter expression. Valid properties for filtering are userprincipalname and sessionstate. + serializedName: $filter + cli: + name: filter + description: OData filter expression. Valid properties for filtering are userprincipalname and sessionstate. + cliKey: $filter + protocol: + http: + in: query + requests: + - language: + default: + name: '' + description: '' + protocol: + http: + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/activeApplications' + method: get + uri: '{$host}' + signatureParameters: + - *ref_452 + - *ref_453 + - *ref_454 + - *ref_455 + responses: + - schema: *ref_292 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - schema: *ref_140 + language: + default: + name: '' + description: '' + protocol: + http: + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + ActiveApplications_List: + parameters: + $filter: userPrincipalName eq 'user1@microsoft.com' + api-version: 2019-12-10-preview + hostPoolName: hostPool1 + resourceGroupName: resourceGroup1 + sessionHostName: sessionHost1.microsoft.com + subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa + responses: + '200': + body: + value: + - name: applicationGroup1/application1 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 + properties: + description: des1 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + - name: applicationGroup1/application2 + type: Microsoft.DesktopVirtualization/applicationGroups/applications + id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application2 + properties: + description: des2 + commandLineArguments: arguments + commandLineSetting: Allow + filePath: path + friendlyName: friendly + iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... + iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc + iconIndex: 1 + iconPath: icon + showInPortal: true + x-ms-pageable: + nextLinkName: nextLink + language: + default: + name: list_by_session_host + description: List applications for the given session host. + paging: + nextLinkName: nextLink + cli: + name: ListBySessionHost + description: List applications for the given session host. + cliKey: ListBySessionHost + protocol: {} + language: + default: + name: ActiveApplication + description: '' + cli: + name: ActiveApplication + description: '' + cliKey: ActiveApplications + hidden: true + protocol: {} +language: + default: + name: DesktopVirtualizationAPIClient + description: '' + cli: + name: DesktopVirtualizationAPIClient + description: '' +protocol: + http: {} diff --git a/src/desktopvirtualization/_az_debug/clicommon-flatten-object-map.txt b/src/desktopvirtualization/_az_debug/clicommon-flatten-object-map.txt new file mode 100644 index 00000000000..b029cf1c9fe --- /dev/null +++ b/src/desktopvirtualization/_az_debug/clicommon-flatten-object-map.txt @@ -0,0 +1,31 @@ +ResourceProviderOperationList<1> +ResourceProviderOperation<2>(display:ResourceProviderOperation-display) +ResourceProviderOperation-display<4> +Resource<3> +TrackedResource<2> +Workspace<1>[properties] -> WorkspaceProperties<3> +CloudError<2> +WorkspacePatch<2>[properties] -> WorkspacePatchProperties<3> +WorkspaceList<2> +ApplicationGroupList<2> +ApplicationGroup<1>[properties] -> ApplicationGroupProperties<5> +ApplicationGroupPatch<2>[properties] -> ApplicationGroupPatchProperties<2> +StartMenuItemList<2> +StartMenuItem<1>[properties] -> StartMenuItemProperties<6> +Application<1>[properties] -> ApplicationProperties<10> +ApplicationPatch<2>[properties] -> ApplicationPatchProperties<8> +ApplicationList<2> +Desktop<1>[properties] -> DesktopProperties<4> +DesktopPatch<2>[properties] -> DesktopPatchProperties<2> +DesktopList<2> +HostPool<1>[properties] -> HostPoolProperties<13>(registrationInfo:RegistrationInfo) +RegistrationInfo<3> +HostPoolPatch<2>[properties] -> HostPoolPatchProperties<10>(registrationInfo:RegistrationInfoPatch) +RegistrationInfoPatch<1> +HostPoolList<2> +UserSessionList<2> +UserSession<1>[properties] -> UserSessionProperties<5> +SessionHost<1>[properties] -> SessionHostProperties<12> +SessionHostPatch<1>[properties] -> SessionHostPatchProperties<2> +SessionHostList<2> +SendMessage<2> \ No newline at end of file diff --git a/src/desktopvirtualization/azext_desktopvirtualization/__init__.py b/src/desktopvirtualization/azext_desktopvirtualization/__init__.py new file mode 100644 index 00000000000..abb688f1d18 --- /dev/null +++ b/src/desktopvirtualization/azext_desktopvirtualization/__init__.py @@ -0,0 +1,46 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from azure.cli.core import AzCommandsLoader +from azext_desktopvirtualization.generated._help import helps # pylint: disable=unused-import + + +class DesktopVirtualizationAPIClientCommandsLoader(AzCommandsLoader): + + def __init__(self, cli_ctx=None): + from azure.cli.core.commands import CliCommandType + from azext_desktopvirtualization.generated._client_factory import cf_desktopvirtualization_cl + desktopvirtualization_custom = CliCommandType( + operations_tmpl='azext_desktopvirtualization.custom#{}', + client_factory=cf_desktopvirtualization_cl) + parent = super(DesktopVirtualizationAPIClientCommandsLoader, self) + parent.__init__(cli_ctx=cli_ctx, custom_command_type=desktopvirtualization_custom) + + def load_command_table(self, args): + from azext_desktopvirtualization.generated.commands import load_command_table + load_command_table(self, args) + try: + from azext_desktopvirtualization.manual.commands import load_command_table as load_command_table_manual + load_command_table_manual(self, args) + except ImportError: + pass + return self.command_table + + def load_arguments(self, command): + from azext_desktopvirtualization.generated._params import load_arguments + load_arguments(self, command) + try: + from azext_desktopvirtualization.manual._params import load_arguments as load_arguments_manual + load_arguments_manual(self, command) + except ImportError: + pass + + +COMMAND_LOADER_CLS = DesktopVirtualizationAPIClientCommandsLoader diff --git a/src/desktopvirtualization/azext_desktopvirtualization/action.py b/src/desktopvirtualization/azext_desktopvirtualization/action.py new file mode 100644 index 00000000000..d95d53bf711 --- /dev/null +++ b/src/desktopvirtualization/azext_desktopvirtualization/action.py @@ -0,0 +1,17 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +# pylint: disable=wildcard-import +# pylint: disable=unused-wildcard-import + +from .generated.action import * # noqa: F403 +try: + from .manual.action import * # noqa: F403 +except ImportError: + pass diff --git a/src/desktopvirtualization/azext_desktopvirtualization/azext_metadata.json b/src/desktopvirtualization/azext_desktopvirtualization/azext_metadata.json new file mode 100644 index 00000000000..13025150393 --- /dev/null +++ b/src/desktopvirtualization/azext_desktopvirtualization/azext_metadata.json @@ -0,0 +1,4 @@ +{ + "azext.isExperimental": true, + "azext.minCliCoreVersion": "2.3.1" +} \ No newline at end of file diff --git a/src/desktopvirtualization/azext_desktopvirtualization/custom.py b/src/desktopvirtualization/azext_desktopvirtualization/custom.py new file mode 100644 index 00000000000..dbe9d5f9742 --- /dev/null +++ b/src/desktopvirtualization/azext_desktopvirtualization/custom.py @@ -0,0 +1,17 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +# pylint: disable=wildcard-import +# pylint: disable=unused-wildcard-import + +from .generated.custom import * # noqa: F403 +try: + from .manual.custom import * # noqa: F403 +except ImportError: + pass diff --git a/src/desktopvirtualization/azext_desktopvirtualization/generated/__init__.py b/src/desktopvirtualization/azext_desktopvirtualization/generated/__init__.py new file mode 100644 index 00000000000..c9cfdc73e77 --- /dev/null +++ b/src/desktopvirtualization/azext_desktopvirtualization/generated/__init__.py @@ -0,0 +1,12 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +__path__ = __import__('pkgutil').extend_path(__path__, __name__) diff --git a/src/desktopvirtualization/azext_desktopvirtualization/generated/_client_factory.py b/src/desktopvirtualization/azext_desktopvirtualization/generated/_client_factory.py new file mode 100644 index 00000000000..c2eaaf78da0 --- /dev/null +++ b/src/desktopvirtualization/azext_desktopvirtualization/generated/_client_factory.py @@ -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. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + + +def cf_desktopvirtualization_cl(cli_ctx, *_): + from azure.cli.core.commands.client_factory import get_mgmt_service_client + from ..vendored_sdks.desktopvirtualization import DesktopVirtualizationAPIClient + return get_mgmt_service_client(cli_ctx, DesktopVirtualizationAPIClient) + + +def cf_workspace(cli_ctx, *_): + return cf_desktopvirtualization_cl(cli_ctx).workspace + + +def cf_application_group(cli_ctx, *_): + return cf_desktopvirtualization_cl(cli_ctx).application_group + + +def cf_host_pool(cli_ctx, *_): + return cf_desktopvirtualization_cl(cli_ctx).host_pool diff --git a/src/desktopvirtualization/azext_desktopvirtualization/generated/_help.py b/src/desktopvirtualization/azext_desktopvirtualization/generated/_help.py new file mode 100644 index 00000000000..f83a14c0562 --- /dev/null +++ b/src/desktopvirtualization/azext_desktopvirtualization/generated/_help.py @@ -0,0 +1,197 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +# pylint: disable=too-many-lines + +from knack.help_files import helps + + +helps['desktopvirtualization workspace'] = """ + type: group + short-summary: desktopvirtualization workspace +""" + +helps['desktopvirtualization workspace list'] = """ + type: command + short-summary: List workspaces in subscription. + examples: + - name: Workspace_ListByResourceGroup + text: |- + az desktopvirtualization workspace list --resource-group "MyResourceGroup" +""" + +helps['desktopvirtualization workspace show'] = """ + type: command + short-summary: Get a workspace. + examples: + - name: Workspace_Get + text: |- + az desktopvirtualization workspace show --resource-group "MyResourceGroup" --name "MyWorkspace" +""" + +helps['desktopvirtualization workspace create'] = """ + type: command + short-summary: Create or update a workspace. + examples: + - name: Workspace_Create + text: |- + az desktopvirtualization workspace create --resource-group "MyResourceGroup" --location "centralus" \ +--description "des1" --friendly-name "friendly" --tags tag1="value1" tag2="value2" --name "MyWorkspace" +""" + +helps['desktopvirtualization workspace update'] = """ + type: command + short-summary: Update a workspace. + examples: + - name: Workspace_Update + text: |- + az desktopvirtualization workspace update --resource-group "MyResourceGroup" --description "des1" \ +--friendly-name "friendly" --tags tag1="value1" tag2="value2" --name "MyWorkspace" +""" + +helps['desktopvirtualization workspace delete'] = """ + type: command + short-summary: Remove a workspace. + examples: + - name: Workspace_Delete + text: |- + az desktopvirtualization workspace delete --resource-group "MyResourceGroup" --name "MyWorkspace" +""" + +helps['desktopvirtualization applicationgroup'] = """ + type: group + short-summary: desktopvirtualization applicationgroup +""" + +helps['desktopvirtualization applicationgroup list'] = """ + type: command + short-summary: List applicationGroups in subscription. + examples: + - name: ApplicationGroup_ListByResourceGroup + text: |- + az desktopvirtualization applicationgroup list --filter "applicationGroupType eq \'RailApplication\'" \ +--resource-group "MyResourceGroup" +""" + +helps['desktopvirtualization applicationgroup show'] = """ + type: command + short-summary: Get an application group. + examples: + - name: ApplicationGroup_Get + text: |- + az desktopvirtualization applicationgroup show --name "MyApplicationGroup" --resource-group \ +"MyResourceGroup" +""" + +helps['desktopvirtualization applicationgroup create'] = """ + type: command + short-summary: Create or update an applicationGroup. + examples: + - name: ApplicationGroup_Create + text: |- + az desktopvirtualization applicationgroup create --location "centralus" --description "des1" \ +--application-group-type "RemoteApp" --friendly-name "friendly" --host-pool-arm-path "/subscriptions/daefabc0-95b4-48b3\ +-b645-8a753a63c4fa/resourceGroups/MyResourceGroup/providers/Microsoft.DesktopVirtualization/hostPools/MyHostPool" \ +--tags tag1="value1" tag2="value2" --name "MyApplicationGroup" --resource-group "MyResourceGroup" +""" + +helps['desktopvirtualization applicationgroup update'] = """ + type: command + short-summary: Update an applicationGroup. + examples: + - name: ApplicationGroups_Update + text: |- + az desktopvirtualization applicationgroup update --description "des1" --friendly-name "friendly" --tags \ +tag1="value1" tag2="value2" --name "MyApplicationGroup" --resource-group "MyResourceGroup" +""" + +helps['desktopvirtualization applicationgroup delete'] = """ + type: command + short-summary: Remove an applicationGroup. + examples: + - name: ApplicationGroup_Delete + text: |- + az desktopvirtualization applicationgroup delete --name "MyApplicationGroup" --resource-group \ +"MyResourceGroup" +""" + +helps['desktopvirtualization hostpool'] = """ + type: group + short-summary: desktopvirtualization hostpool +""" + +helps['desktopvirtualization hostpool list'] = """ + type: command + short-summary: List hostPools in subscription. + examples: + - name: HostPool_ListByResourceGroup + text: |- + az desktopvirtualization hostpool list --resource-group "MyResourceGroup" +""" + +helps['desktopvirtualization hostpool show'] = """ + type: command + short-summary: Get a host pool. + examples: + - name: HostPool_Get + text: |- + az desktopvirtualization hostpool show --name "MyHostPool" --resource-group "MyResourceGroup" +""" + +helps['desktopvirtualization hostpool create'] = """ + type: command + short-summary: Create or update a host pool. + parameters: + - name: --registration-info + short-summary: The registration info of HostPool. + long-summary: | + Usage: --registration-info expiration-time=XX token=XX registration-token-operation=XX + + expiration-time: Expiration time of registration token. + token: The registration token base64 encoded string. + registration-token-operation: The type of resetting the token. + examples: + - name: HostPool_Create + text: |- + az desktopvirtualization hostpool create --location "centralus" --description "des1" --friendly-name \ +"friendly" --host-pool-type "Pooled" --load-balancer-type "BreadthFirst" --max-session-limit 999999 \ +--personal-desktop-assignment-type "Automatic" --registration-info expiration-time="2020-10-01T14:01:54.9571247Z" \ +registration-token-operation="Update" --sso-context "KeyVaultPath" --tags tag1="value1" tag2="value2" --name \ +"MyHostPool" --resource-group "MyResourceGroup" +""" + +helps['desktopvirtualization hostpool update'] = """ + type: command + short-summary: Update a host pool. + parameters: + - name: --registration-info + short-summary: The registration info of HostPool. + long-summary: | + Usage: --registration-info expiration-time=XX registration-token-operation=XX + + expiration-time: Expiration time of registration token. + registration-token-operation: The type of resetting the token. + examples: + - name: HostPool_Update + text: |- + az desktopvirtualization hostpool update --description "des1" --friendly-name "friendly" \ +--load-balancer-type "BreadthFirst" --max-session-limit 999999 --personal-desktop-assignment-type "Automatic" \ +--registration-info expiration-time="2020-10-01T15:01:54.9571247Z" registration-token-operation="Update" --sso-context \ +"KeyVaultPath" --tags tag1="value1" tag2="value2" --name "MyHostPool" --resource-group "MyResourceGroup" +""" + +helps['desktopvirtualization hostpool delete'] = """ + type: command + short-summary: Remove a host pool. + examples: + - name: HostPool_Delete + text: |- + az desktopvirtualization hostpool delete --force true --name "MyHostPool" --resource-group \ +"MyResourceGroup" +""" diff --git a/src/desktopvirtualization/azext_desktopvirtualization/generated/_params.py b/src/desktopvirtualization/azext_desktopvirtualization/generated/_params.py new file mode 100644 index 00000000000..378f640e374 --- /dev/null +++ b/src/desktopvirtualization/azext_desktopvirtualization/generated/_params.py @@ -0,0 +1,147 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +# pylint: disable=too-many-lines +# pylint: disable=too-many-statements + +from azure.cli.core.commands.parameters import ( + tags_type, + get_three_state_flag, + get_enum_type, + resource_group_name_type, + get_location_type +) +from azure.cli.core.commands.validators import get_default_location_from_resource_group +from azext_desktopvirtualization.action import ( + AddDesktopvirtualizationHostpoolCreateRegistrationInfo, + AddDesktopvirtualizationHostpoolUpdateRegistrationInfo +) + + +def load_arguments(self, _): + + with self.argument_context('desktopvirtualization workspace list') as c: + c.argument('resource_group_name', resource_group_name_type) + + with self.argument_context('desktopvirtualization workspace show') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('workspace_name', options_list=['--name', '-n'], help='The name of the workspace', id_part='name') + + with self.argument_context('desktopvirtualization workspace create') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('workspace_name', options_list=['--name', '-n'], help='The name of the workspace') + c.argument('tags', tags_type) + c.argument('location', arg_type=get_location_type(self.cli_ctx), + validator=get_default_location_from_resource_group) + c.argument('description', help='Description of Workspace.') + c.argument('friendly_name', help='Friendly name of Workspace.') + c.argument('application_group_references', nargs='+', help='List of applicationGroup resource Ids.') + + with self.argument_context('desktopvirtualization workspace update') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('workspace_name', options_list=['--name', '-n'], help='The name of the workspace', id_part='name') + c.argument('tags', tags_type) + c.argument('description', help='Description of Workspace.') + c.argument('friendly_name', help='Friendly name of Workspace.') + c.argument('application_group_references', nargs='+', help='List of applicationGroup links.') + + with self.argument_context('desktopvirtualization workspace delete') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('workspace_name', options_list=['--name', '-n'], help='The name of the workspace', id_part='name') + + with self.argument_context('desktopvirtualization applicationgroup list') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('filter', help='OData filter expression. Valid properties for filtering are applicationGroupType.') + + with self.argument_context('desktopvirtualization applicationgroup show') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('application_group_name', options_list=['--name', '-n'], help='The name of the application group', + id_part='name') + + with self.argument_context('desktopvirtualization applicationgroup create') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('application_group_name', options_list=['--name', '-n'], help='The name of the application group') + c.argument('tags', tags_type) + c.argument('location', arg_type=get_location_type(self.cli_ctx), + validator=get_default_location_from_resource_group) + c.argument('description', help='Description of ApplicationGroup.') + c.argument('friendly_name', help='Friendly name of ApplicationGroup.') + c.argument('host_pool_arm_path', help='HostPool arm path of ApplicationGroup.') + c.argument('application_group_type', arg_type=get_enum_type(['RemoteApp', 'Desktop']), help='Resource Type of ' + 'ApplicationGroup.') + + with self.argument_context('desktopvirtualization applicationgroup update') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('application_group_name', options_list=['--name', '-n'], help='The name of the application group', + id_part='name') + c.argument('tags', tags_type) + c.argument('description', help='Description of ApplicationGroup.') + c.argument('friendly_name', help='Friendly name of ApplicationGroup.') + + with self.argument_context('desktopvirtualization applicationgroup delete') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('application_group_name', options_list=['--name', '-n'], help='The name of the application group', + id_part='name') + + with self.argument_context('desktopvirtualization hostpool list') as c: + c.argument('resource_group_name', resource_group_name_type) + + with self.argument_context('desktopvirtualization hostpool show') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('host_pool_name', options_list=['--name', '-n'], help='The name of the host pool within the ' + 'specified resource group', id_part='name') + + with self.argument_context('desktopvirtualization hostpool create') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('host_pool_name', options_list=['--name', '-n'], help='The name of the host pool within the ' + 'specified resource group') + c.argument('tags', tags_type) + c.argument('location', arg_type=get_location_type(self.cli_ctx), + validator=get_default_location_from_resource_group) + c.argument('friendly_name', help='Friendly name of HostPool.') + c.argument('description', help='Description of HostPool.') + c.argument('host_pool_type', arg_type=get_enum_type(['Personal', 'Pooled']), + help='HostPool type for desktop.') + c.argument('personal_desktop_assignment_type', arg_type=get_enum_type(['Automatic', 'Direct']), help='' + 'PersonalDesktopAssignment type for HostPool.') + c.argument('custom_rdp_property', help='Custom rdp property of HostPool.') + c.argument('max_session_limit', help='The max session limit of HostPool.') + c.argument('load_balancer_type', arg_type=get_enum_type(['BreadthFirst', 'DepthFirst', 'Persistent']), help='' + 'The type of the load balancer.') + c.argument('ring', help='The ring number of HostPool.') + c.argument('validation_environment', arg_type=get_three_state_flag(), help='Is validation environment.') + c.argument('registration_info', action=AddDesktopvirtualizationHostpoolCreateRegistrationInfo, nargs='+', + help='The registration info of HostPool.') + c.argument('vm_template', help='VM template for sessionhosts configuration within hostpool.') + c.argument('sso_context', help='Path to keyvault containing ssoContext secret.') + + with self.argument_context('desktopvirtualization hostpool update') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('host_pool_name', options_list=['--name', '-n'], help='The name of the host pool within the ' + 'specified resource group', id_part='name') + c.argument('tags', tags_type) + c.argument('friendly_name', help='Friendly name of HostPool.') + c.argument('description', help='Description of HostPool.') + c.argument('custom_rdp_property', help='Custom rdp property of HostPool.') + c.argument('max_session_limit', help='The max session limit of HostPool.') + c.argument('personal_desktop_assignment_type', arg_type=get_enum_type(['Automatic', 'Direct']), help='' + 'PersonalDesktopAssignment type for HostPool.') + c.argument('load_balancer_type', arg_type=get_enum_type(['BreadthFirst', 'DepthFirst', 'Persistent']), help='' + 'The type of the load balancer.') + c.argument('ring', help='The ring number of HostPool.') + c.argument('validation_environment', arg_type=get_three_state_flag(), help='Is validation environment.') + c.argument('registration_info', action=AddDesktopvirtualizationHostpoolUpdateRegistrationInfo, nargs='+', + help='The registration info of HostPool.') + c.argument('sso_context', help='Path to keyvault containing ssoContext secret.') + + with self.argument_context('desktopvirtualization hostpool delete') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('host_pool_name', options_list=['--name', '-n'], help='The name of the host pool within the ' + 'specified resource group', id_part='name') + c.argument('force', arg_type=get_three_state_flag(), help='Force flag to delete sessionHost.') diff --git a/src/desktopvirtualization/azext_desktopvirtualization/generated/_validators.py b/src/desktopvirtualization/azext_desktopvirtualization/generated/_validators.py new file mode 100644 index 00000000000..b33a44c1ebf --- /dev/null +++ b/src/desktopvirtualization/azext_desktopvirtualization/generated/_validators.py @@ -0,0 +1,9 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- diff --git a/src/desktopvirtualization/azext_desktopvirtualization/generated/action.py b/src/desktopvirtualization/azext_desktopvirtualization/generated/action.py new file mode 100644 index 00000000000..b28cf5edb10 --- /dev/null +++ b/src/desktopvirtualization/azext_desktopvirtualization/generated/action.py @@ -0,0 +1,64 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +# pylint: disable=protected-access + +import argparse +from knack.util import CLIError +from collections import defaultdict + + +class AddDesktopvirtualizationHostpoolCreateRegistrationInfo(argparse.Action): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + namespace.registration_info = action + + def get_action(self, values, option_string): # pylint: disable=no-self-use + try: + properties = defaultdict(list) + for (k, v) in (x.split('=', 1) for x in values): + properties[k].append(v) + properties = dict(properties) + except ValueError: + raise CLIError('usage error: {} [KEY=VALUE ...]'.format(option_string)) + d = {} + for k in properties: + kl = k.lower() + v = properties[k] + if kl == 'expiration-time': + d['expiration_time'] = v[0] + elif kl == 'token': + d['token'] = v[0] + elif kl == 'registration-token-operation': + d['registration_token_operation'] = v[0] + return d + + +class AddDesktopvirtualizationHostpoolUpdateRegistrationInfo(argparse.Action): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + namespace.registration_info = action + + def get_action(self, values, option_string): # pylint: disable=no-self-use + try: + properties = defaultdict(list) + for (k, v) in (x.split('=', 1) for x in values): + properties[k].append(v) + properties = dict(properties) + except ValueError: + raise CLIError('usage error: {} [KEY=VALUE ...]'.format(option_string)) + d = {} + for k in properties: + kl = k.lower() + v = properties[k] + if kl == 'expiration-time': + d['expiration_time'] = v[0] + elif kl == 'registration-token-operation': + d['registration_token_operation'] = v[0] + return d diff --git a/src/desktopvirtualization/azext_desktopvirtualization/generated/commands.py b/src/desktopvirtualization/azext_desktopvirtualization/generated/commands.py new file mode 100644 index 00000000000..213f6a8306c --- /dev/null +++ b/src/desktopvirtualization/azext_desktopvirtualization/generated/commands.py @@ -0,0 +1,55 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +# pylint: disable=too-many-statements +# pylint: disable=too-many-locals + +from azure.cli.core.commands import CliCommandType + + +def load_command_table(self, _): + + from azext_desktopvirtualization.generated._client_factory import cf_workspace + desktopvirtualization_workspace = CliCommandType( + operations_tmpl='azext_desktopvirtualization.vendored_sdks.desktopvirtualization.operations._workspace_operatio' + 'ns#WorkspaceOperations.{}', + client_factory=cf_workspace) + with self.command_group('desktopvirtualization workspace', desktopvirtualization_workspace, + client_factory=cf_workspace, is_experimental=True) as g: + g.custom_command('list', 'desktopvirtualization_workspace_list') + g.custom_show_command('show', 'desktopvirtualization_workspace_show') + g.custom_command('create', 'desktopvirtualization_workspace_create') + g.custom_command('update', 'desktopvirtualization_workspace_update') + g.custom_command('delete', 'desktopvirtualization_workspace_delete') + + from azext_desktopvirtualization.generated._client_factory import cf_application_group + desktopvirtualization_application_group = CliCommandType( + operations_tmpl='azext_desktopvirtualization.vendored_sdks.desktopvirtualization.operations._application_group_' + 'operations#ApplicationGroupOperations.{}', + client_factory=cf_application_group) + with self.command_group('desktopvirtualization applicationgroup', desktopvirtualization_application_group, + client_factory=cf_application_group, is_experimental=True) as g: + g.custom_command('list', 'desktopvirtualization_applicationgroup_list') + g.custom_show_command('show', 'desktopvirtualization_applicationgroup_show') + g.custom_command('create', 'desktopvirtualization_applicationgroup_create') + g.custom_command('update', 'desktopvirtualization_applicationgroup_update') + g.custom_command('delete', 'desktopvirtualization_applicationgroup_delete') + + from azext_desktopvirtualization.generated._client_factory import cf_host_pool + desktopvirtualization_host_pool = CliCommandType( + operations_tmpl='azext_desktopvirtualization.vendored_sdks.desktopvirtualization.operations._host_pool_operatio' + 'ns#HostPoolOperations.{}', + client_factory=cf_host_pool) + with self.command_group('desktopvirtualization hostpool', desktopvirtualization_host_pool, + client_factory=cf_host_pool, is_experimental=True) as g: + g.custom_command('list', 'desktopvirtualization_hostpool_list') + g.custom_show_command('show', 'desktopvirtualization_hostpool_show') + g.custom_command('create', 'desktopvirtualization_hostpool_create') + g.custom_command('update', 'desktopvirtualization_hostpool_update') + g.custom_command('delete', 'desktopvirtualization_hostpool_delete') diff --git a/src/desktopvirtualization/azext_desktopvirtualization/generated/custom.py b/src/desktopvirtualization/azext_desktopvirtualization/generated/custom.py new file mode 100644 index 00000000000..703318cf2ce --- /dev/null +++ b/src/desktopvirtualization/azext_desktopvirtualization/generated/custom.py @@ -0,0 +1,206 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +# pylint: disable=too-many-lines +# pylint: disable=unused-argument + + +def desktopvirtualization_workspace_list(client, + resource_group_name=None): + if resource_group_name: + return client.list_by_resource_group(resource_group_name=resource_group_name) + return client.list_by_subscription() + + +def desktopvirtualization_workspace_show(client, + resource_group_name, + workspace_name): + return client.get(resource_group_name=resource_group_name, + workspace_name=workspace_name) + + +def desktopvirtualization_workspace_create(client, + resource_group_name, + workspace_name, + location, + tags=None, + description=None, + friendly_name=None, + application_group_references=None): + return client.create_or_update(resource_group_name=resource_group_name, + workspace_name=workspace_name, + tags=tags, + location=location, + description=description, + friendly_name=friendly_name, + application_group_references=application_group_references) + + +def desktopvirtualization_workspace_update(client, + resource_group_name, + workspace_name, + tags=None, + description=None, + friendly_name=None, + application_group_references=None): + return client.update(resource_group_name=resource_group_name, + workspace_name=workspace_name, + tags=tags, + description=description, + friendly_name=friendly_name, + application_group_references=application_group_references) + + +def desktopvirtualization_workspace_delete(client, + resource_group_name, + workspace_name): + return client.delete(resource_group_name=resource_group_name, + workspace_name=workspace_name) + + +def desktopvirtualization_applicationgroup_list(client, + resource_group_name=None, + filter=None): + if resource_group_name: + return client.list_by_resource_group(resource_group_name=resource_group_name, + filter=filter) + return client.list_by_subscription(filter=filter) + + +def desktopvirtualization_applicationgroup_show(client, + resource_group_name, + application_group_name): + return client.get(resource_group_name=resource_group_name, + application_group_name=application_group_name) + + +def desktopvirtualization_applicationgroup_create(client, + resource_group_name, + application_group_name, + location, + host_pool_arm_path, + application_group_type, + tags=None, + description=None, + friendly_name=None): + return client.create_or_update(resource_group_name=resource_group_name, + application_group_name=application_group_name, + tags=tags, + location=location, + description=description, + friendly_name=friendly_name, + host_pool_arm_path=host_pool_arm_path, + application_group_type=application_group_type) + + +def desktopvirtualization_applicationgroup_update(client, + resource_group_name, + application_group_name, + tags=None, + description=None, + friendly_name=None): + return client.update(resource_group_name=resource_group_name, + application_group_name=application_group_name, + tags=tags, + description=description, + friendly_name=friendly_name) + + +def desktopvirtualization_applicationgroup_delete(client, + resource_group_name, + application_group_name): + return client.delete(resource_group_name=resource_group_name, + application_group_name=application_group_name) + + +def desktopvirtualization_hostpool_list(client, + resource_group_name=None): + if resource_group_name: + return client.list_by_resource_group(resource_group_name=resource_group_name) + return client.list() + + +def desktopvirtualization_hostpool_show(client, + resource_group_name, + host_pool_name): + return client.get(resource_group_name=resource_group_name, + host_pool_name=host_pool_name) + + +def desktopvirtualization_hostpool_create(client, + resource_group_name, + host_pool_name, + location, + host_pool_type, + personal_desktop_assignment_type, + load_balancer_type, + tags=None, + friendly_name=None, + description=None, + custom_rdp_property=None, + max_session_limit=None, + ring=None, + validation_environment=None, + registration_info=None, + vm_template=None, + sso_context=None): + return client.create_or_update(resource_group_name=resource_group_name, + host_pool_name=host_pool_name, + tags=tags, + location=location, + friendly_name=friendly_name, + description=description, + host_pool_type=host_pool_type, + personal_desktop_assignment_type=personal_desktop_assignment_type, + custom_rdp_property=custom_rdp_property, + max_session_limit=max_session_limit, + load_balancer_type=load_balancer_type, + ring=ring, + validation_environment=validation_environment, + registration_info=registration_info, + vm_template=vm_template, + sso_context=sso_context) + + +def desktopvirtualization_hostpool_update(client, + resource_group_name, + host_pool_name, + tags=None, + friendly_name=None, + description=None, + custom_rdp_property=None, + max_session_limit=None, + personal_desktop_assignment_type=None, + load_balancer_type=None, + ring=None, + validation_environment=None, + registration_info=None, + sso_context=None): + return client.update(resource_group_name=resource_group_name, + host_pool_name=host_pool_name, + tags=tags, + friendly_name=friendly_name, + description=description, + custom_rdp_property=custom_rdp_property, + max_session_limit=max_session_limit, + personal_desktop_assignment_type=personal_desktop_assignment_type, + load_balancer_type=load_balancer_type, + ring=ring, + validation_environment=validation_environment, + registration_info=registration_info, + sso_context=sso_context) + + +def desktopvirtualization_hostpool_delete(client, + resource_group_name, + host_pool_name, + force=None): + return client.delete(resource_group_name=resource_group_name, + host_pool_name=host_pool_name, + force=force) diff --git a/src/desktopvirtualization/azext_desktopvirtualization/manual/__init__.py b/src/desktopvirtualization/azext_desktopvirtualization/manual/__init__.py new file mode 100644 index 00000000000..c9cfdc73e77 --- /dev/null +++ b/src/desktopvirtualization/azext_desktopvirtualization/manual/__init__.py @@ -0,0 +1,12 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +__path__ = __import__('pkgutil').extend_path(__path__, __name__) diff --git a/src/desktopvirtualization/azext_desktopvirtualization/manual/tests/latest/__init__.py b/src/desktopvirtualization/azext_desktopvirtualization/manual/tests/latest/__init__.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/desktopvirtualization/azext_desktopvirtualization/manual/tests/latest/test_desktopvirtualization_scenario.py b/src/desktopvirtualization/azext_desktopvirtualization/manual/tests/latest/test_desktopvirtualization_scenario.py new file mode 100644 index 00000000000..b6ddfb46d28 --- /dev/null +++ b/src/desktopvirtualization/azext_desktopvirtualization/manual/tests/latest/test_desktopvirtualization_scenario.py @@ -0,0 +1,152 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from azure.cli.testsdk.checkers import JMESPathCheck, JMESPathCheckExists + + +# EXAMPLE: /HostPools/put/HostPool_Create +def step__hostpools_put_hostpool_create(test, rg): + test.cmd('az desktopvirtualization hostpool create ' + '--location "centralus" ' + '--description "des1" ' + '--friendly-name "friendly" ' + '--host-pool-type "Pooled" ' + '--load-balancer-type "BreadthFirst" ' + '--max-session-limit 999999 ' + '--personal-desktop-assignment-type "Automatic" ' + '--registration-info expiration-time="2020-07-01T14:01:54.9571247Z" registration-token-operation="Update" ' + '' + '--sso-context "KeyVaultPath" ' + '--tags tag1="value1" tag2="value2" ' + '--name "{MyHostPool}" ' + '--resource-group "{rg}"', + checks=[ + # JMESPathCheckExists('[?name==\'{MyHostPool}\']'), + JMESPathCheck('name', test.kwargs["MyHostPool"]), + JMESPathCheck('tags.tag1', 'value1'), + JMESPathCheck('tags.tag2', 'value2'), + ]) + + +# EXAMPLE: /HostPools/get/HostPool_List +def step__hostpools_get_hostpool_list(test, rg): + test.cmd('az desktopvirtualization hostpool list ' + '-g ""', + checks=[ + JMESPathCheckExists('[?name==\'{}\']'.format( + test.kwargs["MyHostPool"])), + ]) + + +# EXAMPLE: /HostPools/patch/HostPool_Update +def step__hostpools_patch_hostpool_update(test, rg): + test.cmd('az desktopvirtualization hostpool update ' + '--description "des1" ' + '--friendly-name "friendly" ' + '--load-balancer-type "BreadthFirst" ' + '--max-session-limit 999999 ' + '--personal-desktop-assignment-type "Automatic" ' + '--registration-info expiration-time="2020-07-01T15:01:54.9571247Z" registration-token-operation="Update" ' + '' + '--sso-context "KeyVaultPath" ' + '--tags tag1="value3" tag2="value4" ' + '--name "{MyHostPool}" ' + '--resource-group "{rg}"', + checks=[ + JMESPathCheck('name', test.kwargs["MyHostPool"]), + JMESPathCheck('tags.tag1', 'value3'), + JMESPathCheck('tags.tag2', 'value4'), + ]) + + +# EXAMPLE: /ApplicationGroups/put/ApplicationGroup_Create +def step__applicationgroups_put_applicationgroup_create(test, rg): + test.cmd('az desktopvirtualization applicationgroup create ' + '--location "centralus" ' + '--description "des1" ' + '--application-group-type "RemoteApp" ' + '--friendly-name "friendly" ' + '--host-pool-arm-path "/subscriptions/{subscription_id}/resourceGroups/{rg}/providers/Microsoft.DesktopVir' + 'tualization/hostPools/{MyHostPool}" ' + '--tags tag1="value1" tag2="value2" ' + '--name "{MyApplicationGroup}" ' + '--resource-group "{rg}"', + checks=[ + JMESPathCheck('name', test.kwargs["MyApplicationGroup"]), + JMESPathCheck('tags.tag1', 'value1'), + JMESPathCheck('tags.tag2', 'value2'), + ]) + + +# EXAMPLE: /ApplicationGroups/get/ApplicationGroup_ListByResourceGroup +def step__applicationgroups_get_applicationgroup_listbyresourcegroup(test, rg): + test.cmd('az desktopvirtualization applicationgroup list ' + '--filter "applicationGroupType eq \'RailApplication\'" ' + '--resource-group "{rg}"', + checks=[ + JMESPathCheckExists('[?name==\'{}\']'.format( + test.kwargs["MyApplicationGroup"])), + ]) + + +# EXAMPLE: /ApplicationGroups/patch/ApplicationGroups_Update +def step__applicationgroups_patch_applicationgroups_update(test, rg): + test.cmd('az desktopvirtualization applicationgroup update ' + '--description "des1" ' + '--friendly-name "friendly" ' + '--tags tag1="value3" tag2="value4" ' + '--name "{MyApplicationGroup}" ' + '--resource-group "{rg}"', + checks=[ + JMESPathCheck('name', test.kwargs["MyApplicationGroup"]), + JMESPathCheck('tags.tag1', 'value3'), + JMESPathCheck('tags.tag2', 'value4'), + ]) + + +# EXAMPLE: /Workspaces/put/Workspace_Create +def step__workspaces_put_workspace_create(test, rg): + test.cmd('az desktopvirtualization workspace create ' + '--resource-group "{rg}" ' + '--location "centralus" ' + '--description "des1" ' + '--friendly-name "friendly" ' + '--tags tag1="value1" tag2="value2" ' + '--name "{MyWorkspace}"', + checks=[ + JMESPathCheck('name', test.kwargs["MyWorkspace"]), + JMESPathCheck('tags.tag1', 'value1'), + JMESPathCheck('tags.tag2', 'value2'), + ]) + + +# EXAMPLE: /Workspaces/get/Workspace_Get +def step__workspaces_get_workspace_get(test, rg): + test.cmd('az desktopvirtualization workspace show ' + '--resource-group "{rg}" ' + '--name "{MyWorkspace}"', + checks=[ + JMESPathCheck('name', test.kwargs["MyWorkspace"]), + ]) + + +# EXAMPLE: /Workspaces/patch/Workspace_Update +def step__workspaces_patch_workspace_update(test, rg): + test.cmd('az desktopvirtualization workspace update ' + '--resource-group "{rg}" ' + '--description "des1" ' + '--friendly-name "friendly" ' + '--tags tag1="value3" tag2="value4" ' + '--name "{MyWorkspace}"', + checks=[ + JMESPathCheck('name', test.kwargs["MyWorkspace"]), + JMESPathCheck('tags.tag1', 'value3'), + JMESPathCheck('tags.tag2', 'value4'), + ]) diff --git a/src/desktopvirtualization/azext_desktopvirtualization/tests/__init__.py b/src/desktopvirtualization/azext_desktopvirtualization/tests/__init__.py new file mode 100644 index 00000000000..9b7ec942a0b --- /dev/null +++ b/src/desktopvirtualization/azext_desktopvirtualization/tests/__init__.py @@ -0,0 +1,71 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +import inspect +import os +import sys +import traceback +from azure.core.exceptions import AzureError +from azure.cli.testsdk.exceptions import CliTestError, CliExecutionError, JMESPathCheckAssertionError + + +__path__ = __import__('pkgutil').extend_path(__path__, __name__) +exceptions = [] + + +def try_manual(func): + def import_manual_function(origin_func): + from importlib import import_module + decorated_path = inspect.getfile(origin_func) + module_path = __path__[0] + if not decorated_path.startswith(module_path): + raise Exception("Decorator can only be used in submodules!") + manual_path = os.path.join( + decorated_path[module_path.rfind(os.path.sep) + 1:]) + manual_file_path, manual_file_name = os.path.split(manual_path) + module_name, _ = os.path.splitext(manual_file_name) + manual_module = "..manual." + \ + ".".join(manual_file_path.split(os.path.sep) + [module_name, ]) + return getattr(import_module(manual_module, package=__name__), origin_func.__name__) + + def get_func_to_call(): + func_to_call = func + try: + func_to_call = import_manual_function(func) + print("Found manual override for {}(...)".format(func.__name__)) + except (ImportError, AttributeError): + pass + return func_to_call + + def wrapper(*args, **kwargs): + func_to_call = get_func_to_call() + print("running {}()...".format(func.__name__)) + try: + return func_to_call(*args, **kwargs) + except (AssertionError, AzureError, CliTestError, CliExecutionError, JMESPathCheckAssertionError) as e: + print("--------------------------------------") + print("step exception: ", e) + print("--------------------------------------", file=sys.stderr) + print("step exception in {}: {}".format(func.__name__, e), file=sys.stderr) + traceback.print_exc() + exceptions.append((func.__name__, sys.exc_info())) + + if inspect.isclass(func): + return get_func_to_call() + return wrapper + + +def raise_if(): + if exceptions: + if len(exceptions) <= 1: + raise exceptions[0][1][1] + message = "{}\nFollowed with exceptions in other steps:\n".format(str(exceptions[0][1][1])) + message += "\n".join(["{}: {}".format(h[0], h[1][1]) for h in exceptions[1:]]) + raise exceptions[0][1][0](message).with_traceback(exceptions[0][1][2]) diff --git a/src/desktopvirtualization/azext_desktopvirtualization/tests/latest/__init__.py b/src/desktopvirtualization/azext_desktopvirtualization/tests/latest/__init__.py new file mode 100644 index 00000000000..c9cfdc73e77 --- /dev/null +++ b/src/desktopvirtualization/azext_desktopvirtualization/tests/latest/__init__.py @@ -0,0 +1,12 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +__path__ = __import__('pkgutil').extend_path(__path__, __name__) diff --git a/src/desktopvirtualization/azext_desktopvirtualization/tests/latest/recordings/test_desktopvirtualization.yaml b/src/desktopvirtualization/azext_desktopvirtualization/tests/latest/recordings/test_desktopvirtualization.yaml new file mode 100644 index 00000000000..b882b56bcc7 --- /dev/null +++ b/src/desktopvirtualization/azext_desktopvirtualization/tests/latest/recordings/test_desktopvirtualization.yaml @@ -0,0 +1,1092 @@ +interactions: +- request: + body: '{"tags": {"tag1": "value1", "tag2": "value2"}, "location": "centralus", + "properties": {"friendlyName": "friendly", "description": "des1", "hostPoolType": + "Pooled", "personalDesktopAssignmentType": "Automatic", "maxSessionLimit": 999999, + "loadBalancerType": "BreadthFirst", "registrationInfo": {"expirationTime": "2020-07-01T14:01:54.957124Z", + "registrationTokenOperation": "Update"}, "ssoContext": "KeyVaultPath"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - desktopvirtualization hostpool create + Connection: + - keep-alive + Content-Length: + - '414' + Content-Type: + - application/json + ParameterSetName: + - --location --description --friendly-name --host-pool-type --load-balancer-type + --max-session-limit --personal-desktop-assignment-type --registration-info + --sso-context --tags --name --resource-group + User-Agent: + - AZURECLI/2.7.0 azsdk-python-desktopvirtualizationapiclient/unknown Python/3.8.1 + (Windows-10-10.0.18362-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.DesktopVirtualization/hostPools/MyHostPool?api-version=2019-12-10-preview + response: + body: + string: '{"name":"MyHostPool","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.DesktopVirtualization/hostpools/MyHostPool","type":"Microsoft.DesktopVirtualization/hostpools","location":"centralus","tags":{"tag1":"value1","tag2":"value2"},"kind":null,"properties":{"friendlyName":"friendly","description":"des1","hostPoolType":"Pooled","personalDesktopAssignmentType":null,"applicationGroupReferences":[],"customRdpProperty":"","maxSessionLimit":999999,"loadBalancerType":"BreadthFirst","validationEnvironment":true,"ring":null,"registrationInfo":{"expirationTime":"2020-07-01T14:01:54.957124Z","token":"eyJhbGciOiJSUzI1NiIsImtpZCI6IjFCOUNENjgwRUZFN0M3ODhEQjExMDQ0Qjk0M0Y5MjMwRUZEOUVDRDYiLCJ0eXAiOiJKV1QifQ.eyJSZWdpc3RyYXRpb25JZCI6IjE4NzM4ZTkwLTk2NDItNGNiNy05OTQxLTE3OTZlYjVkMGY5NCIsIkJyb2tlclVyaSI6Imh0dHBzOi8vcmRicm9rZXItZy11cy1yMC53dmQubWljcm9zb2Z0LmNvbS8iLCJEaWFnbm9zdGljc1VyaSI6Imh0dHBzOi8vcmRkaWFnbm9zdGljcy1nLXVzLXIwLnd2ZC5taWNyb3NvZnQuY29tLyIsIkVuZHBvaW50UG9vbElkIjoiM2Q3OTQ1MWYtZjhkNy00MjU0LTlkOWEtYjVjYzhlZTg5MjY0IiwiR2xvYmFsQnJva2VyVXJpIjoiaHR0cHM6Ly9yZGJyb2tlci53dmQubWljcm9zb2Z0LmNvbS8iLCJHZW9ncmFwaHkiOiJVUyIsIm5iZiI6MTU5MTg2MTM0MywiZXhwIjoxNTkzNjEyMTE0LCJpc3MiOiJSREluZnJhVG9rZW5NYW5hZ2VyIiwiYXVkIjoiUkRtaSJ9.bVNdPEJ_4UJfcZne5yEj84nZrK8nisd1g-Mj2kapSjrjEtqzMhkhVjG_Z1xwpJTeTnHtNOpm8XNyQNeZ_VVLhNqBEdCE3j2Tb3n2KHXeNRZXkCsCY01zSBmxuD3PSYnRtKy6BkPe7HSLeC5kc_PP4kyF1g00YJPVmIPeiXe6ki-4B4NwPBIrZ_g6OWuz3nh8SAXHNepmAUayPnztrX6gjNGVBWfh8_hPUlM5_Lox6Bt52wY-E-iBP2RL7mUuvTdkjpVb-BcxoB6sXlqAkkO6as0cupTUB7QZ1eRBS7hcaRVYfbuWjPhEUiDPbNMO_B0DlXazef9MwjGhW8K7hky7cg","resetToken":false,"registrationTokenOperation":"Update"},"vmTemplate":null,"preferredAppGroupType":"Desktop"}}' + headers: + cache-control: + - no-cache + content-length: + - '1789' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 11 Jun 2020 07:42:25 GMT + expires: + - '-1' + location: + - /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.DesktopVirtualization/hostpools/MyHostPool + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + set-cookie: + - ARRAffinity=79e06db539acb57119e709978d2cf1da299e8341753d6f6345007fcab3f69bc5;Path=/;HttpOnly;Domain=rdarmprovider-g-us-r0.wvd.microsoft.com + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-correlation-id: + - 02a9359e-ee0e-4529-a628-dea026ed52a8 + x-ms-lamport-ts: + - '150373448' + x-ms-opsarmpath: + - /subscriptions/7fd08dcc-a653-4b0f-8f8c-4dac889fdda4/resourceGroups/clitest3ao55n47gpkeja4nut7wx2446c4to2f2loiinoyd4r6hfttmfdz23dbnuyngykvyebhv/providers/Microsoft.DesktopVirtualization/hostPools/MyHostPool + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-powered-by: + - ASP.NET + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - desktopvirtualization hostpool show + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group + User-Agent: + - AZURECLI/2.7.0 azsdk-python-desktopvirtualizationapiclient/unknown Python/3.8.1 + (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.DesktopVirtualization/hostPools/MyHostPool?api-version=2019-12-10-preview + response: + body: + string: '{"name":"MyHostPool","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.DesktopVirtualization/hostpools/MyHostPool","type":"Microsoft.DesktopVirtualization/hostpools","location":"centralus","tags":{"tag1":"value1","tag2":"value2"},"kind":null,"properties":{"friendlyName":"friendly","description":"des1","hostPoolType":"Pooled","personalDesktopAssignmentType":null,"applicationGroupReferences":[],"customRdpProperty":"","maxSessionLimit":999999,"loadBalancerType":"BreadthFirst","validationEnvironment":true,"ring":null,"registrationInfo":{"expirationTime":"2020-07-01T14:01:54.957124Z","token":"eyJhbGciOiJSUzI1NiIsImtpZCI6IjFCOUNENjgwRUZFN0M3ODhEQjExMDQ0Qjk0M0Y5MjMwRUZEOUVDRDYiLCJ0eXAiOiJKV1QifQ.eyJSZWdpc3RyYXRpb25JZCI6IjE4NzM4ZTkwLTk2NDItNGNiNy05OTQxLTE3OTZlYjVkMGY5NCIsIkJyb2tlclVyaSI6Imh0dHBzOi8vcmRicm9rZXItZy11cy1yMC53dmQubWljcm9zb2Z0LmNvbS8iLCJEaWFnbm9zdGljc1VyaSI6Imh0dHBzOi8vcmRkaWFnbm9zdGljcy1nLXVzLXIwLnd2ZC5taWNyb3NvZnQuY29tLyIsIkVuZHBvaW50UG9vbElkIjoiM2Q3OTQ1MWYtZjhkNy00MjU0LTlkOWEtYjVjYzhlZTg5MjY0IiwiR2xvYmFsQnJva2VyVXJpIjoiaHR0cHM6Ly9yZGJyb2tlci53dmQubWljcm9zb2Z0LmNvbS8iLCJHZW9ncmFwaHkiOiJVUyIsIm5iZiI6MTU5MTg2MTM0MywiZXhwIjoxNTkzNjEyMTE0LCJpc3MiOiJSREluZnJhVG9rZW5NYW5hZ2VyIiwiYXVkIjoiUkRtaSJ9.bVNdPEJ_4UJfcZne5yEj84nZrK8nisd1g-Mj2kapSjrjEtqzMhkhVjG_Z1xwpJTeTnHtNOpm8XNyQNeZ_VVLhNqBEdCE3j2Tb3n2KHXeNRZXkCsCY01zSBmxuD3PSYnRtKy6BkPe7HSLeC5kc_PP4kyF1g00YJPVmIPeiXe6ki-4B4NwPBIrZ_g6OWuz3nh8SAXHNepmAUayPnztrX6gjNGVBWfh8_hPUlM5_Lox6Bt52wY-E-iBP2RL7mUuvTdkjpVb-BcxoB6sXlqAkkO6as0cupTUB7QZ1eRBS7hcaRVYfbuWjPhEUiDPbNMO_B0DlXazef9MwjGhW8K7hky7cg","resetToken":false,"registrationTokenOperation":"None"},"vmTemplate":null,"preferredAppGroupType":"Desktop"}}' + headers: + cache-control: + - no-cache + content-length: + - '1787' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 11 Jun 2020 07:42:28 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + set-cookie: + - ARRAffinity=79e06db539acb57119e709978d2cf1da299e8341753d6f6345007fcab3f69bc5;Path=/;HttpOnly;Domain=rdarmprovider-g-us-r0.wvd.microsoft.com + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-correlation-id: + - de80ba35-e4ba-48b3-8397-42d604233f0b + x-ms-lamport-ts: + - '150373455' + x-ms-opsarmpath: + - /subscriptions/7fd08dcc-a653-4b0f-8f8c-4dac889fdda4/resourceGroups/clitest3ao55n47gpkeja4nut7wx2446c4to2f2loiinoyd4r6hfttmfdz23dbnuyngykvyebhv/providers/Microsoft.DesktopVirtualization/hostPools/MyHostPool + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - desktopvirtualization hostpool list + Connection: + - keep-alive + ParameterSetName: + - -g + User-Agent: + - AZURECLI/2.7.0 azsdk-python-desktopvirtualizationapiclient/unknown Python/3.8.1 + (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DesktopVirtualization/hostPools?api-version=2019-12-10-preview + response: + body: + string: '{"value":[{"name":"hostPool1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/test-changlong/providers/Microsoft.DesktopVirtualization/hostpools/hostPool1","type":"Microsoft.DesktopVirtualization/hostpools","location":"centralus","tags":{"tag1":"value1","tag2":"value2"},"kind":null,"properties":{"friendlyName":"friendly","description":"des1","hostPoolType":"Pooled","personalDesktopAssignmentType":null,"applicationGroupReferences":["/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/test-changlong/providers/Microsoft.DesktopVirtualization/applicationgroups/applicationGroup2"],"customRdpProperty":"","maxSessionLimit":999999,"loadBalancerType":"BreadthFirst","validationEnvironment":true,"ring":null,"registrationInfo":{"expirationTime":null,"token":null,"resetToken":false,"registrationTokenOperation":"None"},"vmTemplate":null,"preferredAppGroupType":"Desktop"}},{"name":"hostPool1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitestb7tguyk47spo7uq46wldfpoyivp25v6e6ehujhl6lsihhb6vrdmwhlxy5fejeuim3kou/providers/Microsoft.DesktopVirtualization/hostpools/hostPool1","type":"Microsoft.DesktopVirtualization/hostpools","location":"centralus","tags":{"tag1":"value1","tag2":"value2"},"kind":null,"properties":{"friendlyName":"friendly","description":"des1","hostPoolType":"Pooled","personalDesktopAssignmentType":null,"applicationGroupReferences":[],"customRdpProperty":"","maxSessionLimit":999999,"loadBalancerType":"BreadthFirst","validationEnvironment":true,"ring":null,"registrationInfo":{"expirationTime":null,"token":null,"resetToken":false,"registrationTokenOperation":"None"},"vmTemplate":null,"preferredAppGroupType":"Desktop"}},{"name":"hostPool1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitestozelmzuo3lidppoz7bqfrwncvojo23ch7f2j4wj2bf3jlkxxnkf2o2y7wrgegk7wu6yt/providers/Microsoft.DesktopVirtualization/hostpools/hostPool1","type":"Microsoft.DesktopVirtualization/hostpools","location":"centralus","tags":{"tag1":"value1","tag2":"value2"},"kind":null,"properties":{"friendlyName":"friendly","description":"des1","hostPoolType":"Pooled","personalDesktopAssignmentType":null,"applicationGroupReferences":[],"customRdpProperty":"","maxSessionLimit":999999,"loadBalancerType":"BreadthFirst","validationEnvironment":true,"ring":null,"registrationInfo":{"expirationTime":null,"token":null,"resetToken":false,"registrationTokenOperation":"None"},"vmTemplate":null,"preferredAppGroupType":"Desktop"}},{"name":"hostPool1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitestqoadita4wp52uq5hbhejscv7f3kabnhpig4rripodyranyeyo2h3jfos3e5stx5bu2m6/providers/Microsoft.DesktopVirtualization/hostpools/hostPool1","type":"Microsoft.DesktopVirtualization/hostpools","location":"centralus","tags":{"tag1":"value1","tag2":"value2"},"kind":null,"properties":{"friendlyName":"friendly","description":"des1","hostPoolType":"Pooled","personalDesktopAssignmentType":null,"applicationGroupReferences":[],"customRdpProperty":"","maxSessionLimit":999999,"loadBalancerType":"BreadthFirst","validationEnvironment":true,"ring":null,"registrationInfo":{"expirationTime":null,"token":null,"resetToken":false,"registrationTokenOperation":"None"},"vmTemplate":null,"preferredAppGroupType":"Desktop"}},{"name":"hostPool5","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/test-changlong/providers/Microsoft.DesktopVirtualization/hostpools/hostPool5","type":"Microsoft.DesktopVirtualization/hostpools","location":"centralus","tags":{"tag1":"value1","tag2":"value2"},"kind":null,"properties":{"friendlyName":"friendly","description":"des1","hostPoolType":"Pooled","personalDesktopAssignmentType":null,"applicationGroupReferences":[],"customRdpProperty":"audiocapturemode:i:1;audiomode:i:0;desktop + size id:i:3;drivestoredirect:s:*;redirectclipboard:i:1;redirectcomports:i:0;redirectprinters:i:1;redirectsmartcards:i:1;screen + mode id:i:1;","maxSessionLimit":99,"loadBalancerType":"BreadthFirst","validationEnvironment":true,"ring":null,"registrationInfo":{"expirationTime":null,"token":null,"resetToken":false,"registrationTokenOperation":"None"},"vmTemplate":"{\"domain\":\"RdsPTTenant1.onmicrosoft.com\",\"galleryImageOffer\":\"Windows-10\",\"galleryImagePublisher\":\"MicrosoftWindowsDesktop\",\"galleryImageSKU\":\"19h2-evd\",\"imageType\":\"Gallery\",\"imageUri\":null,\"customImageId\":null,\"namePrefix\":\"some\",\"osDiskType\":\"StandardSSD_LRS\",\"useManagedDisks\":true,\"vmSize\":{\"id\":\"Standard_D2s_v3\",\"cores\":2,\"ram\":8}}","preferredAppGroupType":"Desktop"}},{"name":"hostPool6","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/test-changlong/providers/Microsoft.DesktopVirtualization/hostpools/hostPool6","type":"Microsoft.DesktopVirtualization/hostpools","location":"centralus","tags":{"tag1":"value1","tag2":"value2"},"kind":null,"properties":{"friendlyName":"friendly","description":"des1","hostPoolType":"Pooled","personalDesktopAssignmentType":null,"applicationGroupReferences":[],"customRdpProperty":"audiocapturemode:i:1;audiomode:i:0;desktop + size id:i:3;drivestoredirect:s:*;redirectclipboard:i:1;redirectcomports:i:0;redirectprinters:i:1;redirectsmartcards:i:1;screen + mode id:i:1;","maxSessionLimit":999999,"loadBalancerType":"BreadthFirst","validationEnvironment":true,"ring":null,"registrationInfo":{"expirationTime":null,"token":null,"resetToken":false,"registrationTokenOperation":"None"},"vmTemplate":"aaa","preferredAppGroupType":"Desktop"}},{"name":"hostPool8","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/test-changlong/providers/Microsoft.DesktopVirtualization/hostpools/hostPool8","type":"Microsoft.DesktopVirtualization/hostpools","location":"centralus","tags":{"tag1":"value1","tag2":"value2"},"kind":null,"properties":{"friendlyName":"friendly","description":"des1","hostPoolType":"Pooled","personalDesktopAssignmentType":null,"applicationGroupReferences":[],"customRdpProperty":"","maxSessionLimit":999999,"loadBalancerType":"BreadthFirst","validationEnvironment":true,"ring":null,"registrationInfo":{"expirationTime":"2020-10-01T14:01:54.957124Z","token":"eyJhbGciOiJSUzI1NiIsImtpZCI6IjFCOUNENjgwRUZFN0M3ODhEQjExMDQ0Qjk0M0Y5MjMwRUZEOUVDRDYiLCJ0eXAiOiJKV1QifQ.eyJSZWdpc3RyYXRpb25JZCI6ImE4NTEzM2FjLWFkYTgtNDNjZC1hOTlmLTZhYTM1ZmJjMTllZSIsIkJyb2tlclVyaSI6Imh0dHBzOi8vcmRicm9rZXItZy11cy1yMC53dmQubWljcm9zb2Z0LmNvbS8iLCJEaWFnbm9zdGljc1VyaSI6Imh0dHBzOi8vcmRkaWFnbm9zdGljcy1nLXVzLXIwLnd2ZC5taWNyb3NvZnQuY29tLyIsIkVuZHBvaW50UG9vbElkIjoiYWUyYzVhM2ItMDY5NS00ZDFiLTg0OTYtNjMxMGVhNGYyNmYyIiwiR2xvYmFsQnJva2VyVXJpIjoiaHR0cHM6Ly9yZGJyb2tlci53dmQubWljcm9zb2Z0LmNvbS8iLCJHZW9ncmFwaHkiOiJVUyIsIm5iZiI6MTU5MDEyODY5NSwiZXhwIjoxNjAxNTYwOTE0LCJpc3MiOiJSREluZnJhVG9rZW5NYW5hZ2VyIiwiYXVkIjoiUkRtaSJ9.YUKWPQE7b_HM-Jd70ZgyGKl_Pcs9O_d89qmeY7zK_mPAxmsW6Jib4_DKgfqJ4T3VMFj5wbfsUKIo3HEsCPFwt24rOQ6iDYa602XPGzYfDEyxz4ZnHPq8aN8xpRZA9qBOE7oDeUBCmeUQ1qyH2GvuBNAOjkZbKm7Ei0-bBTZh9PnKflKA3I9Ldf60FcFAjd3iIYa6QfeM44veCQBfzTjFGdgiMlvv0axmKmd_TZQuQoKaxwEMGEDS4x75RaL6Ezw6oZIDr-yJrEfYyRaUSXb-ypsIXyym_UI1OPOFrgw053LA4_OcsFI38VEQez5UOI99l_pH75Ry65k0e3_N3k3gdA","resetToken":false,"registrationTokenOperation":"None"},"vmTemplate":null,"preferredAppGroupType":"Desktop"}},{"name":"MyHostPool","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.DesktopVirtualization/hostpools/MyHostPool","type":"Microsoft.DesktopVirtualization/hostpools","location":"centralus","tags":{"tag1":"value1","tag2":"value2"},"kind":null,"properties":{"friendlyName":"friendly","description":"des1","hostPoolType":"Pooled","personalDesktopAssignmentType":null,"applicationGroupReferences":[],"customRdpProperty":"","maxSessionLimit":999999,"loadBalancerType":"BreadthFirst","validationEnvironment":true,"ring":null,"registrationInfo":{"expirationTime":"2020-07-01T14:01:54.957124Z","token":"eyJhbGciOiJSUzI1NiIsImtpZCI6IjFCOUNENjgwRUZFN0M3ODhEQjExMDQ0Qjk0M0Y5MjMwRUZEOUVDRDYiLCJ0eXAiOiJKV1QifQ.eyJSZWdpc3RyYXRpb25JZCI6IjE4NzM4ZTkwLTk2NDItNGNiNy05OTQxLTE3OTZlYjVkMGY5NCIsIkJyb2tlclVyaSI6Imh0dHBzOi8vcmRicm9rZXItZy11cy1yMC53dmQubWljcm9zb2Z0LmNvbS8iLCJEaWFnbm9zdGljc1VyaSI6Imh0dHBzOi8vcmRkaWFnbm9zdGljcy1nLXVzLXIwLnd2ZC5taWNyb3NvZnQuY29tLyIsIkVuZHBvaW50UG9vbElkIjoiM2Q3OTQ1MWYtZjhkNy00MjU0LTlkOWEtYjVjYzhlZTg5MjY0IiwiR2xvYmFsQnJva2VyVXJpIjoiaHR0cHM6Ly9yZGJyb2tlci53dmQubWljcm9zb2Z0LmNvbS8iLCJHZW9ncmFwaHkiOiJVUyIsIm5iZiI6MTU5MTg2MTM0MywiZXhwIjoxNTkzNjEyMTE0LCJpc3MiOiJSREluZnJhVG9rZW5NYW5hZ2VyIiwiYXVkIjoiUkRtaSJ9.bVNdPEJ_4UJfcZne5yEj84nZrK8nisd1g-Mj2kapSjrjEtqzMhkhVjG_Z1xwpJTeTnHtNOpm8XNyQNeZ_VVLhNqBEdCE3j2Tb3n2KHXeNRZXkCsCY01zSBmxuD3PSYnRtKy6BkPe7HSLeC5kc_PP4kyF1g00YJPVmIPeiXe6ki-4B4NwPBIrZ_g6OWuz3nh8SAXHNepmAUayPnztrX6gjNGVBWfh8_hPUlM5_Lox6Bt52wY-E-iBP2RL7mUuvTdkjpVb-BcxoB6sXlqAkkO6as0cupTUB7QZ1eRBS7hcaRVYfbuWjPhEUiDPbNMO_B0DlXazef9MwjGhW8K7hky7cg","resetToken":false,"registrationTokenOperation":"None"},"vmTemplate":null,"preferredAppGroupType":"Desktop"}}],"nextLink":null}' + headers: + cache-control: + - no-cache + content-length: + - '9065' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 11 Jun 2020 07:42:30 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + set-cookie: + - ARRAffinity=bd0dfb948b4e67ff60a11cd6e169712e6848609ad034c4789ebdf993fcec41fb;Path=/;HttpOnly;Domain=rdarmprovider-g-us-r0.wvd.microsoft.com + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-correlation-id: + - a065a891-8b0b-40ab-9cd6-6a3c240a8a4f + x-ms-lamport-ts: + - '150367781' + x-ms-opsarmpath: + - /subscriptions/7fd08dcc-a653-4b0f-8f8c-4dac889fdda4 + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - desktopvirtualization hostpool list + Connection: + - keep-alive + ParameterSetName: + - --resource-group + User-Agent: + - AZURECLI/2.7.0 azsdk-python-desktopvirtualizationapiclient/unknown Python/3.8.1 + (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.DesktopVirtualization/hostPools?api-version=2019-12-10-preview + response: + body: + string: '{"value":[{"name":"MyHostPool","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.DesktopVirtualization/hostpools/MyHostPool","type":"Microsoft.DesktopVirtualization/hostpools","location":"centralus","tags":{"tag1":"value1","tag2":"value2"},"kind":null,"properties":{"friendlyName":"friendly","description":"des1","hostPoolType":"Pooled","personalDesktopAssignmentType":null,"applicationGroupReferences":[],"customRdpProperty":"","maxSessionLimit":999999,"loadBalancerType":"BreadthFirst","validationEnvironment":true,"ring":null,"registrationInfo":{"expirationTime":"2020-07-01T14:01:54.957124Z","token":"eyJhbGciOiJSUzI1NiIsImtpZCI6IjFCOUNENjgwRUZFN0M3ODhEQjExMDQ0Qjk0M0Y5MjMwRUZEOUVDRDYiLCJ0eXAiOiJKV1QifQ.eyJSZWdpc3RyYXRpb25JZCI6IjE4NzM4ZTkwLTk2NDItNGNiNy05OTQxLTE3OTZlYjVkMGY5NCIsIkJyb2tlclVyaSI6Imh0dHBzOi8vcmRicm9rZXItZy11cy1yMC53dmQubWljcm9zb2Z0LmNvbS8iLCJEaWFnbm9zdGljc1VyaSI6Imh0dHBzOi8vcmRkaWFnbm9zdGljcy1nLXVzLXIwLnd2ZC5taWNyb3NvZnQuY29tLyIsIkVuZHBvaW50UG9vbElkIjoiM2Q3OTQ1MWYtZjhkNy00MjU0LTlkOWEtYjVjYzhlZTg5MjY0IiwiR2xvYmFsQnJva2VyVXJpIjoiaHR0cHM6Ly9yZGJyb2tlci53dmQubWljcm9zb2Z0LmNvbS8iLCJHZW9ncmFwaHkiOiJVUyIsIm5iZiI6MTU5MTg2MTM0MywiZXhwIjoxNTkzNjEyMTE0LCJpc3MiOiJSREluZnJhVG9rZW5NYW5hZ2VyIiwiYXVkIjoiUkRtaSJ9.bVNdPEJ_4UJfcZne5yEj84nZrK8nisd1g-Mj2kapSjrjEtqzMhkhVjG_Z1xwpJTeTnHtNOpm8XNyQNeZ_VVLhNqBEdCE3j2Tb3n2KHXeNRZXkCsCY01zSBmxuD3PSYnRtKy6BkPe7HSLeC5kc_PP4kyF1g00YJPVmIPeiXe6ki-4B4NwPBIrZ_g6OWuz3nh8SAXHNepmAUayPnztrX6gjNGVBWfh8_hPUlM5_Lox6Bt52wY-E-iBP2RL7mUuvTdkjpVb-BcxoB6sXlqAkkO6as0cupTUB7QZ1eRBS7hcaRVYfbuWjPhEUiDPbNMO_B0DlXazef9MwjGhW8K7hky7cg","resetToken":false,"registrationTokenOperation":"None"},"vmTemplate":null,"preferredAppGroupType":"Desktop"}}],"nextLink":null}' + headers: + cache-control: + - no-cache + content-length: + - '1815' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 11 Jun 2020 07:42:32 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + set-cookie: + - ARRAffinity=7bf5a65c9ab6652b7e960fdced88dd5501d933c0715fe792714d5d958b2e56fd;Path=/;HttpOnly;Domain=rdarmprovider-g-us-r0.wvd.microsoft.com + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-correlation-id: + - edc5fa95-2e84-42e1-956d-f6c915f97864 + x-ms-lamport-ts: + - '150372508' + x-ms-opsarmpath: + - /subscriptions/7fd08dcc-a653-4b0f-8f8c-4dac889fdda4/resourceGroups/clitest3ao55n47gpkeja4nut7wx2446c4to2f2loiinoyd4r6hfttmfdz23dbnuyngykvyebhv + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"tags": {"tag1": "value3", "tag2": "value4"}, "properties": {"friendlyName": + "friendly", "description": "des1", "maxSessionLimit": 999999, "personalDesktopAssignmentType": + "Automatic", "loadBalancerType": "BreadthFirst", "registrationInfo": {"expirationTime": + "2020-07-01T15:01:54.957124Z", "registrationTokenOperation": "Update"}, "ssoContext": + "KeyVaultPath"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - desktopvirtualization hostpool update + Connection: + - keep-alive + Content-Length: + - '363' + Content-Type: + - application/json + ParameterSetName: + - --description --friendly-name --load-balancer-type --max-session-limit --personal-desktop-assignment-type + --registration-info --sso-context --tags --name --resource-group + User-Agent: + - AZURECLI/2.7.0 azsdk-python-desktopvirtualizationapiclient/unknown Python/3.8.1 + (Windows-10-10.0.18362-SP0) + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.DesktopVirtualization/hostPools/MyHostPool?api-version=2019-12-10-preview + response: + body: + string: '{"name":"MyHostPool","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.DesktopVirtualization/hostpools/MyHostPool","type":"Microsoft.DesktopVirtualization/hostpools","location":"centralus","tags":{"tag1":"value3","tag2":"value4"},"kind":null,"properties":{"friendlyName":"friendly","description":"des1","hostPoolType":"Pooled","personalDesktopAssignmentType":null,"applicationGroupReferences":[],"customRdpProperty":"","maxSessionLimit":999999,"loadBalancerType":"BreadthFirst","validationEnvironment":true,"ring":null,"registrationInfo":{"expirationTime":"2020-07-01T15:01:54.957124Z","token":"eyJhbGciOiJSUzI1NiIsImtpZCI6IjFCOUNENjgwRUZFN0M3ODhEQjExMDQ0Qjk0M0Y5MjMwRUZEOUVDRDYiLCJ0eXAiOiJKV1QifQ.eyJSZWdpc3RyYXRpb25JZCI6IjJlYzA1YjgxLTAyYzUtNDg2OC1iNmI0LTc3ZDc0ZDllNTUwOCIsIkJyb2tlclVyaSI6Imh0dHBzOi8vcmRicm9rZXItZy11cy1yMC53dmQubWljcm9zb2Z0LmNvbS8iLCJEaWFnbm9zdGljc1VyaSI6Imh0dHBzOi8vcmRkaWFnbm9zdGljcy1nLXVzLXIwLnd2ZC5taWNyb3NvZnQuY29tLyIsIkVuZHBvaW50UG9vbElkIjoiM2Q3OTQ1MWYtZjhkNy00MjU0LTlkOWEtYjVjYzhlZTg5MjY0IiwiR2xvYmFsQnJva2VyVXJpIjoiaHR0cHM6Ly9yZGJyb2tlci53dmQubWljcm9zb2Z0LmNvbS8iLCJHZW9ncmFwaHkiOiJVUyIsIm5iZiI6MTU5MTg2MTM1NywiZXhwIjoxNTkzNjE1NzE0LCJpc3MiOiJSREluZnJhVG9rZW5NYW5hZ2VyIiwiYXVkIjoiUkRtaSJ9.R-5v2zlk_qXmMkbH-u5Opn7TfKYm6pCqBbSfnAjw-a1yzDkgSCJZnST_nme43Y8HZ2dnAnWm20h-HTQBWbO9cF7XTMrg7Nu8TOBoMq0FS3Sx0UO6XESYS8W0B0UoCkLEAUqFj3PIoRIrFlFgEr76GSos3Rl_xi3DZwr1Dp0w437xbYmHZD8eKYZWymT_TrAfRM1l5NfALeMBdvgsa8l0GydONNX_tXiwiAxEIPdahn2KS5CaK7LrcgwLSaVp2LEFieIJ5FHAY-gOmgAkHB1kv-R7vOaB1ApGuBq2scFgD4PImeeUDNPC-tyChWD4jjtNxI7zi0sOlnLDvyH0aj4fgQ","resetToken":false,"registrationTokenOperation":"Update"},"vmTemplate":null,"preferredAppGroupType":"Desktop"}}' + headers: + cache-control: + - no-cache + content-length: + - '1789' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 11 Jun 2020 07:42:40 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + set-cookie: + - ARRAffinity=79e06db539acb57119e709978d2cf1da299e8341753d6f6345007fcab3f69bc5;Path=/;HttpOnly;Domain=rdarmprovider-g-us-r0.wvd.microsoft.com + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-correlation-id: + - b862d362-54a3-484a-99df-1144a1a9b245 + x-ms-lamport-ts: + - '150373481' + x-ms-opsarmpath: + - /subscriptions/7fd08dcc-a653-4b0f-8f8c-4dac889fdda4/resourceGroups/clitest3ao55n47gpkeja4nut7wx2446c4to2f2loiinoyd4r6hfttmfdz23dbnuyngykvyebhv/providers/Microsoft.DesktopVirtualization/hostPools/MyHostPool + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"tags": {"tag1": "value1", "tag2": "value2"}, "location": "centralus", + "properties": {"description": "des1", "friendlyName": "friendly", "hostPoolArmPath": + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.DesktopVirtualization/hostPools/MyHostPool", + "applicationGroupType": "RemoteApp"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - desktopvirtualization applicationgroup create + Connection: + - keep-alive + Content-Length: + - '403' + Content-Type: + - application/json + ParameterSetName: + - --location --description --application-group-type --friendly-name --host-pool-arm-path + --tags --name --resource-group + User-Agent: + - AZURECLI/2.7.0 azsdk-python-desktopvirtualizationapiclient/unknown Python/3.8.1 + (Windows-10-10.0.18362-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.DesktopVirtualization/applicationGroups/MyApplicationGroup?api-version=2019-12-10-preview + response: + body: + string: '{"name":"MyApplicationGroup","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.DesktopVirtualization/applicationgroups/MyApplicationGroup","type":"Microsoft.DesktopVirtualization/applicationgroups","location":"centralus","tags":{"tag1":"value1","tag2":"value2"},"kind":"RemoteApp","properties":{"hostPoolArmPath":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.DesktopVirtualization/hostpools/MyHostPool","workspaceArmPath":null,"description":"des1","friendlyName":"friendly","applicationGroupType":"RemoteApp"}}' + headers: + cache-control: + - no-cache + content-length: + - '747' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 11 Jun 2020 07:42:46 GMT + expires: + - '-1' + location: + - /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.DesktopVirtualization/applicationgroups/MyApplicationGroup + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + set-cookie: + - ARRAffinity=bd0dfb948b4e67ff60a11cd6e169712e6848609ad034c4789ebdf993fcec41fb;Path=/;HttpOnly;Domain=rdarmprovider-g-us-r0.wvd.microsoft.com + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-correlation-id: + - 5b4cde98-a51d-4fde-ae31-559cba3a0a08 + x-ms-lamport-ts: + - '150367795' + x-ms-opsarmpath: + - /subscriptions/7fd08dcc-a653-4b0f-8f8c-4dac889fdda4/resourceGroups/clitest3ao55n47gpkeja4nut7wx2446c4to2f2loiinoyd4r6hfttmfdz23dbnuyngykvyebhv/providers/Microsoft.DesktopVirtualization/applicationGroups/MyApplicationGroup + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-powered-by: + - ASP.NET + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - desktopvirtualization applicationgroup show + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group + User-Agent: + - AZURECLI/2.7.0 azsdk-python-desktopvirtualizationapiclient/unknown Python/3.8.1 + (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.DesktopVirtualization/applicationGroups/MyApplicationGroup?api-version=2019-12-10-preview + response: + body: + string: '{"name":"MyApplicationGroup","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.DesktopVirtualization/applicationgroups/MyApplicationGroup","type":"Microsoft.DesktopVirtualization/applicationgroups","location":"centralus","tags":{"tag1":"value1","tag2":"value2"},"kind":"RemoteApp","properties":{"hostPoolArmPath":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.DesktopVirtualization/hostpools/MyHostPool","workspaceArmPath":null,"description":"des1","friendlyName":"friendly","applicationGroupType":"RemoteApp"}}' + headers: + cache-control: + - no-cache + content-length: + - '747' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 11 Jun 2020 07:42:48 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + set-cookie: + - ARRAffinity=7bf5a65c9ab6652b7e960fdced88dd5501d933c0715fe792714d5d958b2e56fd;Path=/;HttpOnly;Domain=rdarmprovider-g-us-r0.wvd.microsoft.com + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-correlation-id: + - 72b01d73-76e8-4342-97de-3b3276e43daa + x-ms-lamport-ts: + - '150372520' + x-ms-opsarmpath: + - /subscriptions/7fd08dcc-a653-4b0f-8f8c-4dac889fdda4/resourceGroups/clitest3ao55n47gpkeja4nut7wx2446c4to2f2loiinoyd4r6hfttmfdz23dbnuyngykvyebhv/providers/Microsoft.DesktopVirtualization/applicationGroups/MyApplicationGroup + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - desktopvirtualization applicationgroup list + Connection: + - keep-alive + ParameterSetName: + - --filter -g + User-Agent: + - AZURECLI/2.7.0 azsdk-python-desktopvirtualizationapiclient/unknown Python/3.8.1 + (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DesktopVirtualization/applicationGroups?api-version=2019-12-10-preview&$filter=applicationGroupType%20eq%20%27RailApplication%27 + response: + body: + string: '{"value":[{"name":"applicationGroup2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/test-changlong/providers/Microsoft.DesktopVirtualization/applicationgroups/applicationGroup2","type":"Microsoft.DesktopVirtualization/applicationgroups","location":"centralus","tags":{"tag1":"value1","tag2":"value2"},"kind":"RemoteApp","properties":{"hostPoolArmPath":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/test-changlong/providers/Microsoft.DesktopVirtualization/hostpools/hostPool1","workspaceArmPath":null,"description":"des1","friendlyName":"friendly","applicationGroupType":"RemoteApp"}},{"name":"MyApplicationGroup","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.DesktopVirtualization/applicationgroups/MyApplicationGroup","type":"Microsoft.DesktopVirtualization/applicationgroups","location":"centralus","tags":{"tag1":"value1","tag2":"value2"},"kind":"RemoteApp","properties":{"hostPoolArmPath":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.DesktopVirtualization/hostpools/MyHostPool","workspaceArmPath":null,"description":"des1","friendlyName":"friendly","applicationGroupType":"RemoteApp"}}],"nextLink":null}' + headers: + cache-control: + - no-cache + content-length: + - '1398' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 11 Jun 2020 07:42:50 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + set-cookie: + - ARRAffinity=79e06db539acb57119e709978d2cf1da299e8341753d6f6345007fcab3f69bc5;Path=/;HttpOnly;Domain=rdarmprovider-g-us-r0.wvd.microsoft.com + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-correlation-id: + - 3c302c0f-3b5a-43ca-8fbe-98133956b848 + x-ms-lamport-ts: + - '150373498' + x-ms-opsarmpath: + - /subscriptions/7fd08dcc-a653-4b0f-8f8c-4dac889fdda4 + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - desktopvirtualization applicationgroup list + Connection: + - keep-alive + ParameterSetName: + - --filter --resource-group + User-Agent: + - AZURECLI/2.7.0 azsdk-python-desktopvirtualizationapiclient/unknown Python/3.8.1 + (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.DesktopVirtualization/applicationGroups?api-version=2019-12-10-preview&$filter=applicationGroupType%20eq%20%27RailApplication%27 + response: + body: + string: '{"value":[{"name":"MyApplicationGroup","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.DesktopVirtualization/applicationgroups/MyApplicationGroup","type":"Microsoft.DesktopVirtualization/applicationgroups","location":"centralus","tags":{"tag1":"value1","tag2":"value2"},"kind":"RemoteApp","properties":{"hostPoolArmPath":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.DesktopVirtualization/hostpools/MyHostPool","workspaceArmPath":null,"description":"des1","friendlyName":"friendly","applicationGroupType":"RemoteApp"}}],"nextLink":null}' + headers: + cache-control: + - no-cache + content-length: + - '775' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 11 Jun 2020 07:42:53 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + set-cookie: + - ARRAffinity=bd0dfb948b4e67ff60a11cd6e169712e6848609ad034c4789ebdf993fcec41fb;Path=/;HttpOnly;Domain=rdarmprovider-g-us-r0.wvd.microsoft.com + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-correlation-id: + - 0f47134c-ea86-49ea-bb4a-ce0d873e953f + x-ms-lamport-ts: + - '150367807' + x-ms-opsarmpath: + - /subscriptions/7fd08dcc-a653-4b0f-8f8c-4dac889fdda4/resourceGroups/clitest3ao55n47gpkeja4nut7wx2446c4to2f2loiinoyd4r6hfttmfdz23dbnuyngykvyebhv + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"tags": {"tag1": "value3", "tag2": "value4"}, "properties": {"description": + "des1", "friendlyName": "friendly"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - desktopvirtualization applicationgroup update + Connection: + - keep-alive + Content-Length: + - '113' + Content-Type: + - application/json + ParameterSetName: + - --description --friendly-name --tags --name --resource-group + User-Agent: + - AZURECLI/2.7.0 azsdk-python-desktopvirtualizationapiclient/unknown Python/3.8.1 + (Windows-10-10.0.18362-SP0) + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.DesktopVirtualization/applicationGroups/MyApplicationGroup?api-version=2019-12-10-preview + response: + body: + string: '{"name":"MyApplicationGroup","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.DesktopVirtualization/applicationgroups/MyApplicationGroup","type":"Microsoft.DesktopVirtualization/applicationgroups","location":"centralus","tags":{"tag1":"value3","tag2":"value4"},"kind":"RemoteApp","properties":{"hostPoolArmPath":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.DesktopVirtualization/hostpools/MyHostPool","workspaceArmPath":null,"description":"des1","friendlyName":"friendly","applicationGroupType":"RemoteApp"}}' + headers: + cache-control: + - no-cache + content-length: + - '747' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 11 Jun 2020 07:43:01 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + set-cookie: + - ARRAffinity=bd0dfb948b4e67ff60a11cd6e169712e6848609ad034c4789ebdf993fcec41fb;Path=/;HttpOnly;Domain=rdarmprovider-g-us-r0.wvd.microsoft.com + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-correlation-id: + - efb38f30-e0ea-4abb-b0b4-87123a232c06 + x-ms-lamport-ts: + - '150367813' + x-ms-opsarmpath: + - /subscriptions/7fd08dcc-a653-4b0f-8f8c-4dac889fdda4/resourceGroups/clitest3ao55n47gpkeja4nut7wx2446c4to2f2loiinoyd4r6hfttmfdz23dbnuyngykvyebhv/providers/Microsoft.DesktopVirtualization/applicationGroups/MyApplicationGroup + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - desktopvirtualization applicationgroup delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --name --resource-group + User-Agent: + - AZURECLI/2.7.0 azsdk-python-desktopvirtualizationapiclient/unknown Python/3.8.1 + (Windows-10-10.0.18362-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.DesktopVirtualization/applicationGroups/MyApplicationGroup?api-version=2019-12-10-preview + response: + body: + string: '{"name":"MyApplicationGroup","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.DesktopVirtualization/applicationgroups/MyApplicationGroup","type":"Microsoft.DesktopVirtualization/applicationgroups","location":"centralus","tags":{"tag1":"value3","tag2":"value4"},"kind":"RemoteApp","properties":{"hostPoolArmPath":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.DesktopVirtualization/hostpools/MyHostPool","workspaceArmPath":null,"description":"des1","friendlyName":"friendly","applicationGroupType":"RemoteApp"}}' + headers: + cache-control: + - no-cache + content-length: + - '747' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 11 Jun 2020 07:43:10 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + set-cookie: + - ARRAffinity=79e06db539acb57119e709978d2cf1da299e8341753d6f6345007fcab3f69bc5;Path=/;HttpOnly;Domain=rdarmprovider-g-us-r0.wvd.microsoft.com + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-correlation-id: + - f2435408-9e91-4cc1-82c7-fef5101fb217 + x-ms-lamport-ts: + - '150373518' + x-ms-opsarmpath: + - /subscriptions/7fd08dcc-a653-4b0f-8f8c-4dac889fdda4/resourceGroups/clitest3ao55n47gpkeja4nut7wx2446c4to2f2loiinoyd4r6hfttmfdz23dbnuyngykvyebhv/providers/Microsoft.DesktopVirtualization/applicationGroups/MyApplicationGroup + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"tags": {"tag1": "value1", "tag2": "value2"}, "location": "centralus", + "properties": {"description": "des1", "friendlyName": "friendly"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - desktopvirtualization workspace create + Connection: + - keep-alive + Content-Length: + - '138' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --location --description --friendly-name --tags --name + User-Agent: + - AZURECLI/2.7.0 azsdk-python-desktopvirtualizationapiclient/unknown Python/3.8.1 + (Windows-10-10.0.18362-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.DesktopVirtualization/workspaces/MyWorkspace?api-version=2019-12-10-preview + response: + body: + string: '{"name":"MyWorkspace","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.DesktopVirtualization/workspaces/MyWorkspace","type":"Microsoft.DesktopVirtualization/workspaces","location":"centralus","tags":{"tag1":"value1","tag2":"value2"},"kind":null,"properties":{"description":"des1","friendlyName":"friendly","applicationGroupReferences":[]}}' + headers: + cache-control: + - no-cache + content-length: + - '459' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 11 Jun 2020 07:43:17 GMT + expires: + - '-1' + location: + - /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.DesktopVirtualization/workspaces/MyWorkspace + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + set-cookie: + - ARRAffinity=7bf5a65c9ab6652b7e960fdced88dd5501d933c0715fe792714d5d958b2e56fd;Path=/;HttpOnly;Domain=rdarmprovider-g-us-r0.wvd.microsoft.com + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-correlation-id: + - 1a2a9722-7189-49a2-9e78-06f518227c34 + x-ms-lamport-ts: + - '150372564' + x-ms-opsarmpath: + - /subscriptions/7fd08dcc-a653-4b0f-8f8c-4dac889fdda4/resourceGroups/clitest3ao55n47gpkeja4nut7wx2446c4to2f2loiinoyd4r6hfttmfdz23dbnuyngykvyebhv/providers/Microsoft.DesktopVirtualization/workspaces/MyWorkspace + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-powered-by: + - ASP.NET + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - desktopvirtualization workspace show + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name + User-Agent: + - AZURECLI/2.7.0 azsdk-python-desktopvirtualizationapiclient/unknown Python/3.8.1 + (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.DesktopVirtualization/workspaces/MyWorkspace?api-version=2019-12-10-preview + response: + body: + string: '{"name":"MyWorkspace","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.DesktopVirtualization/workspaces/MyWorkspace","type":"Microsoft.DesktopVirtualization/workspaces","location":"centralus","tags":{"tag1":"value1","tag2":"value2"},"kind":null,"properties":{"description":"des1","friendlyName":"friendly","applicationGroupReferences":[]}}' + headers: + cache-control: + - no-cache + content-length: + - '459' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 11 Jun 2020 07:43:20 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + set-cookie: + - ARRAffinity=bd0dfb948b4e67ff60a11cd6e169712e6848609ad034c4789ebdf993fcec41fb;Path=/;HttpOnly;Domain=rdarmprovider-g-us-r0.wvd.microsoft.com + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-correlation-id: + - a1c5ae50-590f-4271-a616-699ab3f61423 + x-ms-lamport-ts: + - '150367843' + x-ms-opsarmpath: + - /subscriptions/7fd08dcc-a653-4b0f-8f8c-4dac889fdda4/resourceGroups/clitest3ao55n47gpkeja4nut7wx2446c4to2f2loiinoyd4r6hfttmfdz23dbnuyngykvyebhv/providers/Microsoft.DesktopVirtualization/workspaces/MyWorkspace + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - desktopvirtualization workspace list + Connection: + - keep-alive + ParameterSetName: + - --resource-group + User-Agent: + - AZURECLI/2.7.0 azsdk-python-desktopvirtualizationapiclient/unknown Python/3.8.1 + (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.DesktopVirtualization/workspaces?api-version=2019-12-10-preview + response: + body: + string: '{"value":[{"name":"MyWorkspace","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.DesktopVirtualization/workspaces/MyWorkspace","type":"Microsoft.DesktopVirtualization/workspaces","location":"centralus","tags":{"tag1":"value1","tag2":"value2"},"kind":null,"properties":{"description":"des1","friendlyName":"friendly","applicationGroupReferences":[]}}],"nextLink":null}' + headers: + cache-control: + - no-cache + content-length: + - '487' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 11 Jun 2020 07:43:21 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + set-cookie: + - ARRAffinity=bd0dfb948b4e67ff60a11cd6e169712e6848609ad034c4789ebdf993fcec41fb;Path=/;HttpOnly;Domain=rdarmprovider-g-us-r0.wvd.microsoft.com + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-correlation-id: + - 19b02c81-7b12-4c27-b59d-97566f13b316 + x-ms-lamport-ts: + - '150367846' + x-ms-opsarmpath: + - /subscriptions/7fd08dcc-a653-4b0f-8f8c-4dac889fdda4/resourceGroups/clitest3ao55n47gpkeja4nut7wx2446c4to2f2loiinoyd4r6hfttmfdz23dbnuyngykvyebhv + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - desktopvirtualization workspace list + Connection: + - keep-alive + ParameterSetName: + - -g + User-Agent: + - AZURECLI/2.7.0 azsdk-python-desktopvirtualizationapiclient/unknown Python/3.8.1 + (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DesktopVirtualization/workspaces?api-version=2019-12-10-preview + response: + body: + string: '{"value":[{"name":"MyWorkspace","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.DesktopVirtualization/workspaces/MyWorkspace","type":"Microsoft.DesktopVirtualization/workspaces","location":"centralus","tags":{"tag1":"value1","tag2":"value2"},"kind":null,"properties":{"description":"des1","friendlyName":"friendly","applicationGroupReferences":[]}}],"nextLink":null}' + headers: + cache-control: + - no-cache + content-length: + - '487' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 11 Jun 2020 07:43:23 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + set-cookie: + - ARRAffinity=79e06db539acb57119e709978d2cf1da299e8341753d6f6345007fcab3f69bc5;Path=/;HttpOnly;Domain=rdarmprovider-g-us-r0.wvd.microsoft.com + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-correlation-id: + - a61c0d60-fcc9-414a-9972-9c0097211437 + x-ms-lamport-ts: + - '150373537' + x-ms-opsarmpath: + - /subscriptions/7fd08dcc-a653-4b0f-8f8c-4dac889fdda4 + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"tags": {"tag1": "value3", "tag2": "value4"}, "properties": {"description": + "des1", "friendlyName": "friendly"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - desktopvirtualization workspace update + Connection: + - keep-alive + Content-Length: + - '113' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --description --friendly-name --tags --name + User-Agent: + - AZURECLI/2.7.0 azsdk-python-desktopvirtualizationapiclient/unknown Python/3.8.1 + (Windows-10-10.0.18362-SP0) + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.DesktopVirtualization/workspaces/MyWorkspace?api-version=2019-12-10-preview + response: + body: + string: '{"name":"MyWorkspace","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.DesktopVirtualization/workspaces/MyWorkspace","type":"Microsoft.DesktopVirtualization/workspaces","location":"centralus","tags":{"tag1":"value3","tag2":"value4"},"kind":null,"properties":{"description":"des1","friendlyName":"friendly","applicationGroupReferences":[]}}' + headers: + cache-control: + - no-cache + content-length: + - '459' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 11 Jun 2020 07:43:31 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + set-cookie: + - ARRAffinity=7bf5a65c9ab6652b7e960fdced88dd5501d933c0715fe792714d5d958b2e56fd;Path=/;HttpOnly;Domain=rdarmprovider-g-us-r0.wvd.microsoft.com + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-correlation-id: + - 0bcb9a06-25af-40dd-a577-0756dcfe4778 + x-ms-lamport-ts: + - '150372571' + x-ms-opsarmpath: + - /subscriptions/7fd08dcc-a653-4b0f-8f8c-4dac889fdda4/resourceGroups/clitest3ao55n47gpkeja4nut7wx2446c4to2f2loiinoyd4r6hfttmfdz23dbnuyngykvyebhv/providers/Microsoft.DesktopVirtualization/workspaces/MyWorkspace + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - desktopvirtualization hostpool delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --force --name --resource-group + User-Agent: + - AZURECLI/2.7.0 azsdk-python-desktopvirtualizationapiclient/unknown Python/3.8.1 + (Windows-10-10.0.18362-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.DesktopVirtualization/hostPools/MyHostPool?api-version=2019-12-10-preview&force=true + response: + body: + string: '{"name":"MyHostPool","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.DesktopVirtualization/hostpools/MyHostPool","type":"Microsoft.DesktopVirtualization/hostpools","location":"centralus","tags":{"tag1":"value3","tag2":"value4"},"kind":null,"properties":{"friendlyName":"friendly","description":"des1","hostPoolType":"Pooled","personalDesktopAssignmentType":null,"applicationGroupReferences":[],"customRdpProperty":"","maxSessionLimit":999999,"loadBalancerType":"BreadthFirst","validationEnvironment":true,"ring":null,"registrationInfo":{"expirationTime":"2020-07-01T15:01:54.957124Z","token":"eyJhbGciOiJSUzI1NiIsImtpZCI6IjFCOUNENjgwRUZFN0M3ODhEQjExMDQ0Qjk0M0Y5MjMwRUZEOUVDRDYiLCJ0eXAiOiJKV1QifQ.eyJSZWdpc3RyYXRpb25JZCI6IjJlYzA1YjgxLTAyYzUtNDg2OC1iNmI0LTc3ZDc0ZDllNTUwOCIsIkJyb2tlclVyaSI6Imh0dHBzOi8vcmRicm9rZXItZy11cy1yMC53dmQubWljcm9zb2Z0LmNvbS8iLCJEaWFnbm9zdGljc1VyaSI6Imh0dHBzOi8vcmRkaWFnbm9zdGljcy1nLXVzLXIwLnd2ZC5taWNyb3NvZnQuY29tLyIsIkVuZHBvaW50UG9vbElkIjoiM2Q3OTQ1MWYtZjhkNy00MjU0LTlkOWEtYjVjYzhlZTg5MjY0IiwiR2xvYmFsQnJva2VyVXJpIjoiaHR0cHM6Ly9yZGJyb2tlci53dmQubWljcm9zb2Z0LmNvbS8iLCJHZW9ncmFwaHkiOiJVUyIsIm5iZiI6MTU5MTg2MTM1NywiZXhwIjoxNTkzNjE1NzE0LCJpc3MiOiJSREluZnJhVG9rZW5NYW5hZ2VyIiwiYXVkIjoiUkRtaSJ9.R-5v2zlk_qXmMkbH-u5Opn7TfKYm6pCqBbSfnAjw-a1yzDkgSCJZnST_nme43Y8HZ2dnAnWm20h-HTQBWbO9cF7XTMrg7Nu8TOBoMq0FS3Sx0UO6XESYS8W0B0UoCkLEAUqFj3PIoRIrFlFgEr76GSos3Rl_xi3DZwr1Dp0w437xbYmHZD8eKYZWymT_TrAfRM1l5NfALeMBdvgsa8l0GydONNX_tXiwiAxEIPdahn2KS5CaK7LrcgwLSaVp2LEFieIJ5FHAY-gOmgAkHB1kv-R7vOaB1ApGuBq2scFgD4PImeeUDNPC-tyChWD4jjtNxI7zi0sOlnLDvyH0aj4fgQ","resetToken":false,"registrationTokenOperation":"None"},"vmTemplate":null,"preferredAppGroupType":"Desktop"}}' + headers: + cache-control: + - no-cache + content-length: + - '1787' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 11 Jun 2020 07:43:37 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + set-cookie: + - ARRAffinity=79e06db539acb57119e709978d2cf1da299e8341753d6f6345007fcab3f69bc5;Path=/;HttpOnly;Domain=rdarmprovider-g-us-r0.wvd.microsoft.com + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-correlation-id: + - b72b6f31-4608-4a9a-ab6e-fb52730703d7 + x-ms-lamport-ts: + - '150373552' + x-ms-opsarmpath: + - /subscriptions/7fd08dcc-a653-4b0f-8f8c-4dac889fdda4/resourceGroups/clitest3ao55n47gpkeja4nut7wx2446c4to2f2loiinoyd4r6hfttmfdz23dbnuyngykvyebhv/providers/Microsoft.DesktopVirtualization/hostPools/MyHostPool + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - desktopvirtualization workspace delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --resource-group --name + User-Agent: + - AZURECLI/2.7.0 azsdk-python-desktopvirtualizationapiclient/unknown Python/3.8.1 + (Windows-10-10.0.18362-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.DesktopVirtualization/workspaces/MyWorkspace?api-version=2019-12-10-preview + response: + body: + string: '{"name":"MyWorkspace","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.DesktopVirtualization/workspaces/MyWorkspace","type":"Microsoft.DesktopVirtualization/workspaces","location":"centralus","tags":{"tag1":"value3","tag2":"value4"},"kind":null,"properties":{"description":"des1","friendlyName":"friendly","applicationGroupReferences":[]}}' + headers: + cache-control: + - no-cache + content-length: + - '459' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 11 Jun 2020 07:43:44 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + set-cookie: + - ARRAffinity=79e06db539acb57119e709978d2cf1da299e8341753d6f6345007fcab3f69bc5;Path=/;HttpOnly;Domain=rdarmprovider-g-us-r0.wvd.microsoft.com + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-correlation-id: + - 9026fa73-9c34-4810-97b3-e2a01b137e87 + x-ms-lamport-ts: + - '150373555' + x-ms-opsarmpath: + - /subscriptions/7fd08dcc-a653-4b0f-8f8c-4dac889fdda4/resourceGroups/clitest3ao55n47gpkeja4nut7wx2446c4to2f2loiinoyd4r6hfttmfdz23dbnuyngykvyebhv/providers/Microsoft.DesktopVirtualization/workspaces/MyWorkspace + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +version: 1 diff --git a/src/desktopvirtualization/azext_desktopvirtualization/tests/latest/test_desktopvirtualization_scenario.py b/src/desktopvirtualization/azext_desktopvirtualization/tests/latest/test_desktopvirtualization_scenario.py new file mode 100644 index 00000000000..460b2e516f1 --- /dev/null +++ b/src/desktopvirtualization/azext_desktopvirtualization/tests/latest/test_desktopvirtualization_scenario.py @@ -0,0 +1,268 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import os +from azure.cli.testsdk import ScenarioTest +from .. import try_manual, raise_if +from azure.cli.testsdk import ResourceGroupPreparer + + +TEST_DIR = os.path.abspath(os.path.join(os.path.abspath(__file__), '..')) + + +@try_manual +def setup(test, rg): + pass + + +# EXAMPLE: /HostPools/put/HostPool_Create +@try_manual +def step__hostpools_put_hostpool_create(test, rg): + test.cmd('az desktopvirtualization hostpool create ' + '--location "centralus" ' + '--description "des1" ' + '--friendly-name "friendly" ' + '--host-pool-type "Pooled" ' + '--load-balancer-type "BreadthFirst" ' + '--max-session-limit 999999 ' + '--personal-desktop-assignment-type "Automatic" ' + '--registration-info expiration-time="2020-07-01T14:01:54.9571247Z" registration-token-operation="Update" ' + '' + '--sso-context "KeyVaultPath" ' + '--tags tag1="value1" tag2="value2" ' + '--name "{MyHostPool}" ' + '--resource-group "{rg}"', + checks=[]) + + +# EXAMPLE: /HostPools/get/HostPool_Get +@try_manual +def step__hostpools_get_hostpool_get(test, rg): + test.cmd('az desktopvirtualization hostpool show ' + '--name "{MyHostPool}" ' + '--resource-group "{rg}"', + checks=[]) + + +# EXAMPLE: /HostPools/get/HostPool_List +@try_manual +def step__hostpools_get_hostpool_list(test, rg): + test.cmd('az desktopvirtualization hostpool list ' + '-g ""', + checks=[]) + + +# EXAMPLE: /HostPools/get/HostPool_ListByResourceGroup +@try_manual +def step__hostpools_get_hostpool_listbyresourcegroup(test, rg): + test.cmd('az desktopvirtualization hostpool list ' + '--resource-group "{rg}"', + checks=[]) + + +# EXAMPLE: /HostPools/patch/HostPool_Update +@try_manual +def step__hostpools_patch_hostpool_update(test, rg): + test.cmd('az desktopvirtualization hostpool update ' + '--description "des1" ' + '--friendly-name "friendly" ' + '--load-balancer-type "BreadthFirst" ' + '--max-session-limit 999999 ' + '--personal-desktop-assignment-type "Automatic" ' + '--registration-info expiration-time="2020-07-01T15:01:54.9571247Z" registration-token-operation="Update" ' + '' + '--sso-context "KeyVaultPath" ' + '--tags tag1="value1" tag2="value2" ' + '--name "{MyHostPool}" ' + '--resource-group "{rg}"', + checks=[]) + + +# EXAMPLE: /ApplicationGroups/put/ApplicationGroup_Create +@try_manual +def step__applicationgroups_put_applicationgroup_create(test, rg): + test.cmd('az desktopvirtualization applicationgroup create ' + '--location "centralus" ' + '--description "des1" ' + '--application-group-type "RemoteApp" ' + '--friendly-name "friendly" ' + '--host-pool-arm-path "/subscriptions/{subscription_id}/resourceGroups/{rg}/providers/Microsoft.DesktopVir' + 'tualization/hostPools/{MyHostPool}" ' + '--tags tag1="value1" tag2="value2" ' + '--name "{MyApplicationGroup}" ' + '--resource-group "{rg}"', + checks=[]) + + +# EXAMPLE: /ApplicationGroups/get/ApplicationGroup_Get +@try_manual +def step__applicationgroups_get_applicationgroup_get(test, rg): + test.cmd('az desktopvirtualization applicationgroup show ' + '--name "{MyApplicationGroup}" ' + '--resource-group "{rg}"', + checks=[]) + + +# EXAMPLE: /ApplicationGroups/get/ApplicationGroup_List +@try_manual +def step__applicationgroups_get_applicationgroup_list(test, rg): + test.cmd('az desktopvirtualization applicationgroup list ' + '--filter "applicationGroupType eq \'RailApplication\'" ' + '-g ""', + checks=[]) + + +# EXAMPLE: /ApplicationGroups/get/ApplicationGroup_ListByResourceGroup +@try_manual +def step__applicationgroups_get_applicationgroup_listbyresourcegroup(test, rg): + test.cmd('az desktopvirtualization applicationgroup list ' + '--filter "applicationGroupType eq \'RailApplication\'" ' + '--resource-group "{rg}"', + checks=[]) + + +# EXAMPLE: /ApplicationGroups/patch/ApplicationGroups_Update +@try_manual +def step__applicationgroups_patch_applicationgroups_update(test, rg): + test.cmd('az desktopvirtualization applicationgroup update ' + '--description "des1" ' + '--friendly-name "friendly" ' + '--tags tag1="value1" tag2="value2" ' + '--name "{MyApplicationGroup}" ' + '--resource-group "{rg}"', + checks=[]) + + +# EXAMPLE: /ApplicationGroups/delete/ApplicationGroup_Delete +@try_manual +def step__applicationgroups_delete_applicationgroup_delete(test, rg): + test.cmd('az desktopvirtualization applicationgroup delete ' + '--name "{MyApplicationGroup}" ' + '--resource-group "{rg}"', + checks=[]) + + +# EXAMPLE: /Workspaces/put/Workspace_Create +@try_manual +def step__workspaces_put_workspace_create(test, rg): + test.cmd('az desktopvirtualization workspace create ' + '--resource-group "{rg}" ' + '--location "centralus" ' + '--description "des1" ' + '--friendly-name "friendly" ' + '--tags tag1="value1" tag2="value2" ' + '--name "{MyWorkspace}"', + checks=[]) + + +# EXAMPLE: /Workspaces/get/Workspace_Get +@try_manual +def step__workspaces_get_workspace_get(test, rg): + test.cmd('az desktopvirtualization workspace show ' + '--resource-group "{rg}" ' + '--name "{MyWorkspace}"', + checks=[]) + + +# EXAMPLE: /Workspaces/get/Workspace_ListByResourceGroup +@try_manual +def step__workspaces_get_workspace_listbyresourcegroup(test, rg): + test.cmd('az desktopvirtualization workspace list ' + '--resource-group "{rg}"', + checks=[]) + + +# EXAMPLE: /Workspaces/get/Workspace_ListBySubscription +@try_manual +def step__workspaces_get_workspace_listbysubscription(test, rg): + test.cmd('az desktopvirtualization workspace list ' + '-g ""', + checks=[]) + + +# EXAMPLE: /Workspaces/patch/Workspace_Update +@try_manual +def step__workspaces_patch_workspace_update(test, rg): + test.cmd('az desktopvirtualization workspace update ' + '--resource-group "{rg}" ' + '--description "des1" ' + '--friendly-name "friendly" ' + '--tags tag1="value1" tag2="value2" ' + '--name "{MyWorkspace}"', + checks=[]) + + +# EXAMPLE: /HostPools/delete/HostPool_Delete +@try_manual +def step__hostpools_delete_hostpool_delete(test, rg): + test.cmd('az desktopvirtualization hostpool delete ' + '--force true ' + '--name "{MyHostPool}" ' + '--resource-group "{rg}"', + checks=[]) + + +# EXAMPLE: /Workspaces/delete/Workspace_Delete +@try_manual +def step__workspaces_delete_workspace_delete(test, rg): + test.cmd('az desktopvirtualization workspace delete ' + '--resource-group "{rg}" ' + '--name "{MyWorkspace}"', + checks=[]) + + +@try_manual +def cleanup(test, rg): + pass + + +@try_manual +def call_scenario(test, rg): + setup(test, rg) + step__hostpools_put_hostpool_create(test, rg) + step__hostpools_get_hostpool_get(test, rg) + step__hostpools_get_hostpool_list(test, rg) + step__hostpools_get_hostpool_listbyresourcegroup(test, rg) + step__hostpools_patch_hostpool_update(test, rg) + step__applicationgroups_put_applicationgroup_create(test, rg) + step__applicationgroups_get_applicationgroup_get(test, rg) + step__applicationgroups_get_applicationgroup_list(test, rg) + step__applicationgroups_get_applicationgroup_listbyresourcegroup(test, rg) + step__applicationgroups_patch_applicationgroups_update(test, rg) + step__applicationgroups_delete_applicationgroup_delete(test, rg) + step__workspaces_put_workspace_create(test, rg) + step__workspaces_get_workspace_get(test, rg) + step__workspaces_get_workspace_listbyresourcegroup(test, rg) + step__workspaces_get_workspace_listbysubscription(test, rg) + step__workspaces_patch_workspace_update(test, rg) + step__hostpools_delete_hostpool_delete(test, rg) + step__workspaces_delete_workspace_delete(test, rg) + cleanup(test, rg) + + +@try_manual +class DesktopVirtualizationAPIClientScenarioTest(ScenarioTest): + + @ResourceGroupPreparer(name_prefix='clitestdesktopvirtualization_MyResourceGroup'[:7], key='rg', parameter_name='' + 'rg') + def test_desktopvirtualization(self, rg): + + self.kwargs.update({ + 'subscription_id': self.get_subscription_id() + }) + + self.kwargs.update({ + 'MyWorkspace': 'MyWorkspace', + 'MyHostPool': 'MyHostPool', + 'MyApplicationGroup': 'MyApplicationGroup', + }) + + call_scenario(self, rg) + raise_if() diff --git a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/__init__.py b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/__init__.py new file mode 100644 index 00000000000..c9cfdc73e77 --- /dev/null +++ b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/__init__.py @@ -0,0 +1,12 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +__path__ = __import__('pkgutil').extend_path(__path__, __name__) diff --git a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/__init__.py b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/__init__.py new file mode 100644 index 00000000000..d4c9600e5ab --- /dev/null +++ b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/__init__.py @@ -0,0 +1,16 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._desktop_virtualization_api_client import DesktopVirtualizationAPIClient +__all__ = ['DesktopVirtualizationAPIClient'] + +try: + from ._patch import patch_sdk + patch_sdk() +except ImportError: + pass diff --git a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/_configuration.py b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/_configuration.py new file mode 100644 index 00000000000..ff8530a3c79 --- /dev/null +++ b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/_configuration.py @@ -0,0 +1,69 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import TYPE_CHECKING + +from azure.core.configuration import Configuration +from azure.core.pipeline import policies + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any + + from azure.core.credentials import TokenCredential + +VERSION = "unknown" + +class DesktopVirtualizationAPIClientConfiguration(Configuration): + """Configuration for DesktopVirtualizationAPIClient. + + Note that all parameters used to create this instance are saved as instance + attributes. + + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials.TokenCredential + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + """ + + def __init__( + self, + credential, # type: "TokenCredential" + subscription_id, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + if credential is None: + raise ValueError("Parameter 'credential' must not be None.") + if subscription_id is None: + raise ValueError("Parameter 'subscription_id' must not be None.") + super(DesktopVirtualizationAPIClientConfiguration, self).__init__(**kwargs) + + self.credential = credential + self.subscription_id = subscription_id + self.api_version = "2019-12-10-preview" + self.credential_scopes = ['https://management.azure.com/.default'] + self.credential_scopes.extend(kwargs.pop('credential_scopes', [])) + kwargs.setdefault('sdk_moniker', 'desktopvirtualizationapiclient/{}'.format(VERSION)) + self._configure(**kwargs) + + def _configure( + self, + **kwargs # type: Any + ): + # type: (...) -> None + self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get('retry_policy') or policies.RetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get('redirect_policy') or policies.RedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get('authentication_policy') + if self.credential and not self.authentication_policy: + self.authentication_policy = policies.BearerTokenCredentialPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/_desktop_virtualization_api_client.py b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/_desktop_virtualization_api_client.py new file mode 100644 index 00000000000..b772c438678 --- /dev/null +++ b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/_desktop_virtualization_api_client.py @@ -0,0 +1,119 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import TYPE_CHECKING + +from azure.mgmt.core import ARMPipelineClient +from msrest import Deserializer, Serializer + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Optional + + from azure.core.credentials import TokenCredential + +from ._configuration import DesktopVirtualizationAPIClientConfiguration +from .operations import OperationOperations +from .operations import WorkspaceOperations +from .operations import ApplicationGroupAssignmentOperations +from .operations import ApplicationGroupOperations +from .operations import StartMenuItemOperations +from .operations import ApplicationOperations +from .operations import DesktopOperations +from .operations import HostPoolOperations +from .operations import UserSessionOperations +from .operations import SessionHostOperations +from .operations import ActiveApplicationOperations +from . import models + + +class DesktopVirtualizationAPIClient(object): + """DesktopVirtualizationAPIClient. + + :ivar operation: OperationOperations operations + :vartype operation: desktop_virtualization_api_client.operations.OperationOperations + :ivar workspace: WorkspaceOperations operations + :vartype workspace: desktop_virtualization_api_client.operations.WorkspaceOperations + :ivar application_group_assignment: ApplicationGroupAssignmentOperations operations + :vartype application_group_assignment: desktop_virtualization_api_client.operations.ApplicationGroupAssignmentOperations + :ivar application_group: ApplicationGroupOperations operations + :vartype application_group: desktop_virtualization_api_client.operations.ApplicationGroupOperations + :ivar start_menu_item: StartMenuItemOperations operations + :vartype start_menu_item: desktop_virtualization_api_client.operations.StartMenuItemOperations + :ivar application: ApplicationOperations operations + :vartype application: desktop_virtualization_api_client.operations.ApplicationOperations + :ivar desktop: DesktopOperations operations + :vartype desktop: desktop_virtualization_api_client.operations.DesktopOperations + :ivar host_pool: HostPoolOperations operations + :vartype host_pool: desktop_virtualization_api_client.operations.HostPoolOperations + :ivar user_session: UserSessionOperations operations + :vartype user_session: desktop_virtualization_api_client.operations.UserSessionOperations + :ivar session_host: SessionHostOperations operations + :vartype session_host: desktop_virtualization_api_client.operations.SessionHostOperations + :ivar active_application: ActiveApplicationOperations operations + :vartype active_application: desktop_virtualization_api_client.operations.ActiveApplicationOperations + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials.TokenCredential + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + :param str base_url: Service URL + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + """ + + def __init__( + self, + credential, # type: "TokenCredential" + subscription_id, # type: str + base_url=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> None + if not base_url: + base_url = 'https://management.azure.com' + self._config = DesktopVirtualizationAPIClientConfiguration(credential, subscription_id, **kwargs) + self._client = ARMPipelineClient(base_url=base_url, config=self._config, **kwargs) + + 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.operation = OperationOperations( + self._client, self._config, self._serialize, self._deserialize) + self.workspace = WorkspaceOperations( + self._client, self._config, self._serialize, self._deserialize) + self.application_group_assignment = ApplicationGroupAssignmentOperations( + self._client, self._config, self._serialize, self._deserialize) + self.application_group = ApplicationGroupOperations( + self._client, self._config, self._serialize, self._deserialize) + self.start_menu_item = StartMenuItemOperations( + self._client, self._config, self._serialize, self._deserialize) + self.application = ApplicationOperations( + self._client, self._config, self._serialize, self._deserialize) + self.desktop = DesktopOperations( + self._client, self._config, self._serialize, self._deserialize) + self.host_pool = HostPoolOperations( + self._client, self._config, self._serialize, self._deserialize) + self.user_session = UserSessionOperations( + self._client, self._config, self._serialize, self._deserialize) + self.session_host = SessionHostOperations( + self._client, self._config, self._serialize, self._deserialize) + self.active_application = ActiveApplicationOperations( + self._client, self._config, self._serialize, self._deserialize) + + def close(self): + # type: () -> None + self._client.close() + + def __enter__(self): + # type: () -> DesktopVirtualizationAPIClient + self._client.__enter__() + return self + + def __exit__(self, *exc_details): + # type: (Any) -> None + self._client.__exit__(*exc_details) diff --git a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/_version.py b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/_version.py new file mode 100644 index 00000000000..035146e99a2 --- /dev/null +++ b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/_version.py @@ -0,0 +1,9 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +VERSION = "0.2.0" diff --git a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/__init__.py b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/__init__.py new file mode 100644 index 00000000000..541fe112221 --- /dev/null +++ b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/__init__.py @@ -0,0 +1,10 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._desktop_virtualization_api_client_async import DesktopVirtualizationAPIClient +__all__ = ['DesktopVirtualizationAPIClient'] diff --git a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/_configuration_async.py b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/_configuration_async.py new file mode 100644 index 00000000000..e6ea359defd --- /dev/null +++ b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/_configuration_async.py @@ -0,0 +1,65 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import Any, TYPE_CHECKING + +from azure.core.configuration import Configuration +from azure.core.pipeline import policies + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials_async import AsyncTokenCredential + +VERSION = "unknown" + +class DesktopVirtualizationAPIClientConfiguration(Configuration): + """Configuration for DesktopVirtualizationAPIClient. + + Note that all parameters used to create this instance are saved as instance + attributes. + + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials_async.AsyncTokenCredential + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + """ + + def __init__( + self, + credential: "AsyncTokenCredential", + subscription_id: str, + **kwargs: Any + ) -> None: + if credential is None: + raise ValueError("Parameter 'credential' must not be None.") + if subscription_id is None: + raise ValueError("Parameter 'subscription_id' must not be None.") + super(DesktopVirtualizationAPIClientConfiguration, self).__init__(**kwargs) + + self.credential = credential + self.subscription_id = subscription_id + self.api_version = "2019-12-10-preview" + self.credential_scopes = ['https://management.azure.com/.default'] + self.credential_scopes.extend(kwargs.pop('credential_scopes', [])) + kwargs.setdefault('sdk_moniker', 'desktopvirtualizationapiclient/{}'.format(VERSION)) + self._configure(**kwargs) + + def _configure( + self, + **kwargs: Any + ) -> None: + self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get('retry_policy') or policies.AsyncRetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get('redirect_policy') or policies.AsyncRedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get('authentication_policy') + if self.credential and not self.authentication_policy: + self.authentication_policy = policies.AsyncBearerTokenCredentialPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/_desktop_virtualization_api_client_async.py b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/_desktop_virtualization_api_client_async.py new file mode 100644 index 00000000000..481123f11c0 --- /dev/null +++ b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/_desktop_virtualization_api_client_async.py @@ -0,0 +1,113 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import Any, Optional, TYPE_CHECKING + +from azure.mgmt.core import AsyncARMPipelineClient +from msrest import Deserializer, Serializer + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials_async import AsyncTokenCredential + +from ._configuration_async import DesktopVirtualizationAPIClientConfiguration +from .operations_async import OperationOperations +from .operations_async import WorkspaceOperations +from .operations_async import ApplicationGroupAssignmentOperations +from .operations_async import ApplicationGroupOperations +from .operations_async import StartMenuItemOperations +from .operations_async import ApplicationOperations +from .operations_async import DesktopOperations +from .operations_async import HostPoolOperations +from .operations_async import UserSessionOperations +from .operations_async import SessionHostOperations +from .operations_async import ActiveApplicationOperations +from .. import models + + +class DesktopVirtualizationAPIClient(object): + """DesktopVirtualizationAPIClient. + + :ivar operation: OperationOperations operations + :vartype operation: desktop_virtualization_api_client.aio.operations_async.OperationOperations + :ivar workspace: WorkspaceOperations operations + :vartype workspace: desktop_virtualization_api_client.aio.operations_async.WorkspaceOperations + :ivar application_group_assignment: ApplicationGroupAssignmentOperations operations + :vartype application_group_assignment: desktop_virtualization_api_client.aio.operations_async.ApplicationGroupAssignmentOperations + :ivar application_group: ApplicationGroupOperations operations + :vartype application_group: desktop_virtualization_api_client.aio.operations_async.ApplicationGroupOperations + :ivar start_menu_item: StartMenuItemOperations operations + :vartype start_menu_item: desktop_virtualization_api_client.aio.operations_async.StartMenuItemOperations + :ivar application: ApplicationOperations operations + :vartype application: desktop_virtualization_api_client.aio.operations_async.ApplicationOperations + :ivar desktop: DesktopOperations operations + :vartype desktop: desktop_virtualization_api_client.aio.operations_async.DesktopOperations + :ivar host_pool: HostPoolOperations operations + :vartype host_pool: desktop_virtualization_api_client.aio.operations_async.HostPoolOperations + :ivar user_session: UserSessionOperations operations + :vartype user_session: desktop_virtualization_api_client.aio.operations_async.UserSessionOperations + :ivar session_host: SessionHostOperations operations + :vartype session_host: desktop_virtualization_api_client.aio.operations_async.SessionHostOperations + :ivar active_application: ActiveApplicationOperations operations + :vartype active_application: desktop_virtualization_api_client.aio.operations_async.ActiveApplicationOperations + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials_async.AsyncTokenCredential + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + :param str base_url: Service URL + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + """ + + def __init__( + self, + credential: "AsyncTokenCredential", + subscription_id: str, + base_url: Optional[str] = None, + **kwargs: Any + ) -> None: + if not base_url: + base_url = 'https://management.azure.com' + self._config = DesktopVirtualizationAPIClientConfiguration(credential, subscription_id, **kwargs) + self._client = AsyncARMPipelineClient(base_url=base_url, config=self._config, **kwargs) + + 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.operation = OperationOperations( + self._client, self._config, self._serialize, self._deserialize) + self.workspace = WorkspaceOperations( + self._client, self._config, self._serialize, self._deserialize) + self.application_group_assignment = ApplicationGroupAssignmentOperations( + self._client, self._config, self._serialize, self._deserialize) + self.application_group = ApplicationGroupOperations( + self._client, self._config, self._serialize, self._deserialize) + self.start_menu_item = StartMenuItemOperations( + self._client, self._config, self._serialize, self._deserialize) + self.application = ApplicationOperations( + self._client, self._config, self._serialize, self._deserialize) + self.desktop = DesktopOperations( + self._client, self._config, self._serialize, self._deserialize) + self.host_pool = HostPoolOperations( + self._client, self._config, self._serialize, self._deserialize) + self.user_session = UserSessionOperations( + self._client, self._config, self._serialize, self._deserialize) + self.session_host = SessionHostOperations( + self._client, self._config, self._serialize, self._deserialize) + self.active_application = ActiveApplicationOperations( + self._client, self._config, self._serialize, self._deserialize) + + async def close(self) -> None: + await self._client.close() + + async def __aenter__(self) -> "DesktopVirtualizationAPIClient": + await self._client.__aenter__() + return self + + async def __aexit__(self, *exc_details) -> None: + await self._client.__aexit__(*exc_details) diff --git a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations_async/__init__.py b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations_async/__init__.py new file mode 100644 index 00000000000..8168693886f --- /dev/null +++ b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations_async/__init__.py @@ -0,0 +1,33 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._operation_operations_async import OperationOperations +from ._workspace_operations_async import WorkspaceOperations +from ._application_group_assignment_operations_async import ApplicationGroupAssignmentOperations +from ._application_group_operations_async import ApplicationGroupOperations +from ._start_menu_item_operations_async import StartMenuItemOperations +from ._application_operations_async import ApplicationOperations +from ._desktop_operations_async import DesktopOperations +from ._host_pool_operations_async import HostPoolOperations +from ._user_session_operations_async import UserSessionOperations +from ._session_host_operations_async import SessionHostOperations +from ._active_application_operations_async import ActiveApplicationOperations + +__all__ = [ + 'OperationOperations', + 'WorkspaceOperations', + 'ApplicationGroupAssignmentOperations', + 'ApplicationGroupOperations', + 'StartMenuItemOperations', + 'ApplicationOperations', + 'DesktopOperations', + 'HostPoolOperations', + 'UserSessionOperations', + 'SessionHostOperations', + 'ActiveApplicationOperations', +] diff --git a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations_async/_active_application_operations_async.py b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations_async/_active_application_operations_async.py new file mode 100644 index 00000000000..481d74f208d --- /dev/null +++ b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations_async/_active_application_operations_async.py @@ -0,0 +1,123 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class ActiveApplicationOperations: + """ActiveApplicationOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~desktop_virtualization_api_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list_by_session_host( + self, + resource_group_name: str, + host_pool_name: str, + session_host_name: str, + filter: Optional[str] = None, + **kwargs + ) -> AsyncIterable["models.ApplicationList"]: + """List applications for the given session host. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param host_pool_name: The name of the host pool within the specified resource group. + :type host_pool_name: str + :param session_host_name: The name of the session host within the specified host pool. + :type session_host_name: str + :param filter: OData filter expression. Valid properties for filtering are userprincipalname + and sessionstate. + :type filter: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ApplicationList or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~desktop_virtualization_api_client.models.ApplicationList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ApplicationList"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-12-10-preview" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_session_host.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=24, min_length=3), + 'sessionHostName': self._serialize.url("session_host_name", session_host_name, 'str', max_length=48, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('ApplicationList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_by_session_host.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/activeApplications'} # type: ignore diff --git a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations_async/_application_group_assignment_operations_async.py b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations_async/_application_group_assignment_operations_async.py new file mode 100644 index 00000000000..3fab60278d4 --- /dev/null +++ b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations_async/_application_group_assignment_operations_async.py @@ -0,0 +1,119 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class ApplicationGroupAssignmentOperations: + """ApplicationGroupAssignmentOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~desktop_virtualization_api_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def workspace_level_list( + self, + resource_group_name: str, + workspace_name: str, + filter: Optional[str] = None, + **kwargs + ) -> AsyncIterable["models.ApplicationGroupList"]: + """List application group that user can use. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param workspace_name: The name of the workspace. + :type workspace_name: str + :param filter: OData filter expression. Valid properties for filtering are + applicationGroupType. + :type filter: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ApplicationGroupList or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~desktop_virtualization_api_client.models.ApplicationGroupList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ApplicationGroupList"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-12-10-preview" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.workspace_level_list.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'workspaceName': self._serialize.url("workspace_name", workspace_name, 'str', max_length=24, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('ApplicationGroupList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + workspace_level_list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}/userApplicationGroupAssignments'} # type: ignore diff --git a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations_async/_application_group_operations_async.py b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations_async/_application_group_operations_async.py new file mode 100644 index 00000000000..67d6e2fb3eb --- /dev/null +++ b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations_async/_application_group_operations_async.py @@ -0,0 +1,455 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class ApplicationGroupOperations: + """ApplicationGroupOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~desktop_virtualization_api_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + async def get( + self, + resource_group_name: str, + application_group_name: str, + **kwargs + ) -> "models.ApplicationGroup": + """Get an application group. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param application_group_name: The name of the application group. + :type application_group_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ApplicationGroup, or the result of cls(response) + :rtype: ~desktop_virtualization_api_client.models.ApplicationGroup + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ApplicationGroup"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-12-10-preview" + + # Construct URL + url = self.get.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'applicationGroupName': self._serialize.url("application_group_name", application_group_name, 'str', max_length=24, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ApplicationGroup', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}'} # type: ignore + + async def create_or_update( + self, + resource_group_name: str, + application_group_name: str, + location: str, + host_pool_arm_path: str, + application_group_type: Union[str, "models.ApplicationGroupType"], + tags: Optional[Dict[str, str]] = None, + description: Optional[str] = None, + friendly_name: Optional[str] = None, + **kwargs + ) -> "models.ApplicationGroup": + """Create or update an applicationGroup. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param application_group_name: The name of the application group. + :type application_group_name: str + :param location: The geo-location where the resource lives. + :type location: str + :param host_pool_arm_path: HostPool arm path of ApplicationGroup. + :type host_pool_arm_path: str + :param application_group_type: Resource Type of ApplicationGroup. + :type application_group_type: str or ~desktop_virtualization_api_client.models.ApplicationGroupType + :param tags: Resource tags. + :type tags: dict[str, str] + :param description: Description of ApplicationGroup. + :type description: str + :param friendly_name: Friendly name of ApplicationGroup. + :type friendly_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ApplicationGroup, or the result of cls(response) + :rtype: ~desktop_virtualization_api_client.models.ApplicationGroup + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ApplicationGroup"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + + _application_group = models.ApplicationGroup(tags=tags, location=location, description=description, friendly_name=friendly_name, host_pool_arm_path=host_pool_arm_path, application_group_type=application_group_type) + api_version = "2019-12-10-preview" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.create_or_update.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'applicationGroupName': self._serialize.url("application_group_name", application_group_name, 'str', max_length=24, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_application_group, 'ApplicationGroup') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('ApplicationGroup', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('ApplicationGroup', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}'} # type: ignore + + async def delete( + self, + resource_group_name: str, + application_group_name: str, + **kwargs + ) -> None: + """Remove an applicationGroup. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param application_group_name: The name of the application group. + :type application_group_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-12-10-preview" + + # Construct URL + url = self.delete.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'applicationGroupName': self._serialize.url("application_group_name", application_group_name, 'str', max_length=24, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}'} # type: ignore + + async def update( + self, + resource_group_name: str, + application_group_name: str, + tags: Optional[Dict[str, str]] = None, + description: Optional[str] = None, + friendly_name: Optional[str] = None, + **kwargs + ) -> "models.ApplicationGroup": + """Update an applicationGroup. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param application_group_name: The name of the application group. + :type application_group_name: str + :param tags: tags to be updated. + :type tags: dict[str, str] + :param description: Description of ApplicationGroup. + :type description: str + :param friendly_name: Friendly name of ApplicationGroup. + :type friendly_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ApplicationGroup, or the result of cls(response) + :rtype: ~desktop_virtualization_api_client.models.ApplicationGroup + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ApplicationGroup"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + + _application_group = models.ApplicationGroupPatch(tags=tags, description=description, friendly_name=friendly_name) + api_version = "2019-12-10-preview" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.update.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'applicationGroupName': self._serialize.url("application_group_name", application_group_name, 'str', max_length=24, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + if _application_group is not None: + body_content = self._serialize.body(_application_group, 'ApplicationGroupPatch') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ApplicationGroup', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}'} # type: ignore + + def list_by_resource_group( + self, + resource_group_name: str, + filter: Optional[str] = None, + **kwargs + ) -> AsyncIterable["models.ApplicationGroupList"]: + """List applicationGroups. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param filter: OData filter expression. Valid properties for filtering are + applicationGroupType. + :type filter: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ApplicationGroupList or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~desktop_virtualization_api_client.models.ApplicationGroupList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ApplicationGroupList"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-12-10-preview" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('ApplicationGroupList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups'} # type: ignore + + def list_by_subscription( + self, + filter: Optional[str] = None, + **kwargs + ) -> AsyncIterable["models.ApplicationGroupList"]: + """List applicationGroups in subscription. + + :param filter: OData filter expression. Valid properties for filtering are + applicationGroupType. + :type filter: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ApplicationGroupList or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~desktop_virtualization_api_client.models.ApplicationGroupList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ApplicationGroupList"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-12-10-preview" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_subscription.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('ApplicationGroupList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_by_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/applicationGroups'} # type: ignore diff --git a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations_async/_application_operations_async.py b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations_async/_application_operations_async.py new file mode 100644 index 00000000000..2d106a34c43 --- /dev/null +++ b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations_async/_application_operations_async.py @@ -0,0 +1,430 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class ApplicationOperations: + """ApplicationOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~desktop_virtualization_api_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + async def get( + self, + resource_group_name: str, + application_group_name: str, + application_name: str, + **kwargs + ) -> "models.Application": + """Get an application. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param application_group_name: The name of the application group. + :type application_group_name: str + :param application_name: The name of the application within the specified application group. + :type application_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Application, or the result of cls(response) + :rtype: ~desktop_virtualization_api_client.models.Application + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.Application"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-12-10-preview" + + # Construct URL + url = self.get.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'applicationGroupName': self._serialize.url("application_group_name", application_group_name, 'str', max_length=24, min_length=3), + 'applicationName': self._serialize.url("application_name", application_name, 'str', max_length=24, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('Application', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}'} # type: ignore + + async def create_or_update( + self, + resource_group_name: str, + application_group_name: str, + application_name: str, + command_line_setting: Union[str, "models.CommandLineSetting"], + description: Optional[str] = None, + friendly_name: Optional[str] = None, + file_path: Optional[str] = None, + command_line_arguments: Optional[str] = None, + show_in_portal: Optional[bool] = None, + icon_path: Optional[str] = None, + icon_index: Optional[int] = None, + **kwargs + ) -> "models.Application": + """Create or update an application. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param application_group_name: The name of the application group. + :type application_group_name: str + :param application_name: The name of the application within the specified application group. + :type application_name: str + :param command_line_setting: Specifies whether this published application can be launched with + command line arguments provided by the client, command line arguments specified at publish + time, or no command line arguments at all. + :type command_line_setting: str or ~desktop_virtualization_api_client.models.CommandLineSetting + :param description: Description of Application. + :type description: str + :param friendly_name: Friendly name of Application. + :type friendly_name: str + :param file_path: Specifies a path for the executable file for the application. + :type file_path: str + :param command_line_arguments: Command Line Arguments for Application. + :type command_line_arguments: str + :param show_in_portal: Specifies whether to show the RemoteApp program in the RD Web Access + server. + :type show_in_portal: bool + :param icon_path: Path to icon. + :type icon_path: str + :param icon_index: Index of the icon. + :type icon_index: int + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Application, or the result of cls(response) + :rtype: ~desktop_virtualization_api_client.models.Application + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.Application"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + + _application = models.Application(description=description, friendly_name=friendly_name, file_path=file_path, command_line_setting=command_line_setting, command_line_arguments=command_line_arguments, show_in_portal=show_in_portal, icon_path=icon_path, icon_index=icon_index) + api_version = "2019-12-10-preview" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.create_or_update.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'applicationGroupName': self._serialize.url("application_group_name", application_group_name, 'str', max_length=24, min_length=3), + 'applicationName': self._serialize.url("application_name", application_name, 'str', max_length=24, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_application, 'Application') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('Application', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('Application', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}'} # type: ignore + + async def delete( + self, + resource_group_name: str, + application_group_name: str, + application_name: str, + **kwargs + ) -> None: + """Remove an application. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param application_group_name: The name of the application group. + :type application_group_name: str + :param application_name: The name of the application within the specified application group. + :type application_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-12-10-preview" + + # Construct URL + url = self.delete.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'applicationGroupName': self._serialize.url("application_group_name", application_group_name, 'str', max_length=24, min_length=3), + 'applicationName': self._serialize.url("application_name", application_name, 'str', max_length=24, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}'} # type: ignore + + async def update( + self, + resource_group_name: str, + application_group_name: str, + application_name: str, + tags: Optional[Dict[str, str]] = None, + description: Optional[str] = None, + friendly_name: Optional[str] = None, + file_path: Optional[str] = None, + command_line_setting: Optional[Union[str, "models.CommandLineSetting"]] = None, + command_line_arguments: Optional[str] = None, + show_in_portal: Optional[bool] = None, + icon_path: Optional[str] = None, + icon_index: Optional[int] = None, + **kwargs + ) -> "models.Application": + """Update an application. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param application_group_name: The name of the application group. + :type application_group_name: str + :param application_name: The name of the application within the specified application group. + :type application_name: str + :param tags: tags to be updated. + :type tags: dict[str, str] + :param description: Description of Application. + :type description: str + :param friendly_name: Friendly name of Application. + :type friendly_name: str + :param file_path: Specifies a path for the executable file for the application. + :type file_path: str + :param command_line_setting: Specifies whether this published application can be launched with + command line arguments provided by the client, command line arguments specified at publish + time, or no command line arguments at all. + :type command_line_setting: str or ~desktop_virtualization_api_client.models.CommandLineSetting + :param command_line_arguments: Command Line Arguments for Application. + :type command_line_arguments: str + :param show_in_portal: Specifies whether to show the RemoteApp program in the RD Web Access + server. + :type show_in_portal: bool + :param icon_path: Path to icon. + :type icon_path: str + :param icon_index: Index of the icon. + :type icon_index: int + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Application, or the result of cls(response) + :rtype: ~desktop_virtualization_api_client.models.Application + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.Application"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + + _application = models.ApplicationPatch(tags=tags, description=description, friendly_name=friendly_name, file_path=file_path, command_line_setting=command_line_setting, command_line_arguments=command_line_arguments, show_in_portal=show_in_portal, icon_path=icon_path, icon_index=icon_index) + api_version = "2019-12-10-preview" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.update.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'applicationGroupName': self._serialize.url("application_group_name", application_group_name, 'str', max_length=24, min_length=3), + 'applicationName': self._serialize.url("application_name", application_name, 'str', max_length=24, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + if _application is not None: + body_content = self._serialize.body(_application, 'ApplicationPatch') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('Application', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}'} # type: ignore + + def list( + self, + resource_group_name: str, + application_group_name: str, + **kwargs + ) -> AsyncIterable["models.ApplicationList"]: + """List applications. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param application_group_name: The name of the application group. + :type application_group_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ApplicationList or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~desktop_virtualization_api_client.models.ApplicationList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ApplicationList"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-12-10-preview" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'applicationGroupName': self._serialize.url("application_group_name", application_group_name, 'str', max_length=24, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('ApplicationList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications'} # type: ignore diff --git a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations_async/_desktop_operations_async.py b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations_async/_desktop_operations_async.py new file mode 100644 index 00000000000..22bfcf90da0 --- /dev/null +++ b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations_async/_desktop_operations_async.py @@ -0,0 +1,237 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class DesktopOperations: + """DesktopOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~desktop_virtualization_api_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + async def get( + self, + resource_group_name: str, + application_group_name: str, + desktop_name: str, + **kwargs + ) -> "models.Desktop": + """Get a desktop. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param application_group_name: The name of the application group. + :type application_group_name: str + :param desktop_name: The name of the desktop within the specified desktop group. + :type desktop_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Desktop, or the result of cls(response) + :rtype: ~desktop_virtualization_api_client.models.Desktop + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.Desktop"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-12-10-preview" + + # Construct URL + url = self.get.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'applicationGroupName': self._serialize.url("application_group_name", application_group_name, 'str', max_length=24, min_length=3), + 'desktopName': self._serialize.url("desktop_name", desktop_name, 'str', max_length=24, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('Desktop', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops/{desktopName}'} # type: ignore + + async def update( + self, + resource_group_name: str, + application_group_name: str, + desktop_name: str, + tags: Optional[Dict[str, str]] = None, + description: Optional[str] = None, + friendly_name: Optional[str] = None, + **kwargs + ) -> "models.Desktop": + """Update a desktop. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param application_group_name: The name of the application group. + :type application_group_name: str + :param desktop_name: The name of the desktop within the specified desktop group. + :type desktop_name: str + :param tags: tags to be updated. + :type tags: dict[str, str] + :param description: Description of Desktop. + :type description: str + :param friendly_name: Friendly name of Desktop. + :type friendly_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Desktop, or the result of cls(response) + :rtype: ~desktop_virtualization_api_client.models.Desktop + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.Desktop"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + + _desktop = models.DesktopPatch(tags=tags, description=description, friendly_name=friendly_name) + api_version = "2019-12-10-preview" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.update.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'applicationGroupName': self._serialize.url("application_group_name", application_group_name, 'str', max_length=24, min_length=3), + 'desktopName': self._serialize.url("desktop_name", desktop_name, 'str', max_length=24, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + if _desktop is not None: + body_content = self._serialize.body(_desktop, 'DesktopPatch') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('Desktop', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops/{desktopName}'} # type: ignore + + async def list( + self, + resource_group_name: str, + application_group_name: str, + **kwargs + ) -> "models.DesktopList": + """List desktops. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param application_group_name: The name of the application group. + :type application_group_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DesktopList, or the result of cls(response) + :rtype: ~desktop_virtualization_api_client.models.DesktopList + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.DesktopList"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-12-10-preview" + + # Construct URL + url = self.list.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'applicationGroupName': self._serialize.url("application_group_name", application_group_name, 'str', max_length=24, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('DesktopList', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops'} # type: ignore diff --git a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations_async/_host_pool_operations_async.py b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations_async/_host_pool_operations_async.py new file mode 100644 index 00000000000..1c297620523 --- /dev/null +++ b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations_async/_host_pool_operations_async.py @@ -0,0 +1,496 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class HostPoolOperations: + """HostPoolOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~desktop_virtualization_api_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + async def get( + self, + resource_group_name: str, + host_pool_name: str, + **kwargs + ) -> "models.HostPool": + """Get a host pool. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param host_pool_name: The name of the host pool within the specified resource group. + :type host_pool_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: HostPool, or the result of cls(response) + :rtype: ~desktop_virtualization_api_client.models.HostPool + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.HostPool"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-12-10-preview" + + # Construct URL + url = self.get.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=24, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('HostPool', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}'} # type: ignore + + async def create_or_update( + self, + resource_group_name: str, + host_pool_name: str, + location: str, + host_pool_type: Union[str, "models.HostPoolType"], + personal_desktop_assignment_type: Union[str, "models.PersonalDesktopAssignmentType"], + load_balancer_type: Union[str, "models.LoadBalancerType"], + tags: Optional[Dict[str, str]] = None, + friendly_name: Optional[str] = None, + description: Optional[str] = None, + custom_rdp_property: Optional[str] = None, + max_session_limit: Optional[int] = None, + ring: Optional[int] = None, + validation_environment: Optional[bool] = None, + registration_info: Optional["models.RegistrationInfo"] = None, + vm_template: Optional[str] = None, + sso_context: Optional[str] = None, + **kwargs + ) -> "models.HostPool": + """Create or update a host pool. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param host_pool_name: The name of the host pool within the specified resource group. + :type host_pool_name: str + :param location: The geo-location where the resource lives. + :type location: str + :param host_pool_type: HostPool type for desktop. + :type host_pool_type: str or ~desktop_virtualization_api_client.models.HostPoolType + :param personal_desktop_assignment_type: PersonalDesktopAssignment type for HostPool. + :type personal_desktop_assignment_type: str or ~desktop_virtualization_api_client.models.PersonalDesktopAssignmentType + :param load_balancer_type: The type of the load balancer. + :type load_balancer_type: str or ~desktop_virtualization_api_client.models.LoadBalancerType + :param tags: Resource tags. + :type tags: dict[str, str] + :param friendly_name: Friendly name of HostPool. + :type friendly_name: str + :param description: Description of HostPool. + :type description: str + :param custom_rdp_property: Custom rdp property of HostPool. + :type custom_rdp_property: str + :param max_session_limit: The max session limit of HostPool. + :type max_session_limit: int + :param ring: The ring number of HostPool. + :type ring: int + :param validation_environment: Is validation environment. + :type validation_environment: bool + :param registration_info: The registration info of HostPool. + :type registration_info: ~desktop_virtualization_api_client.models.RegistrationInfo + :param vm_template: VM template for sessionhosts configuration within hostpool. + :type vm_template: str + :param sso_context: Path to keyvault containing ssoContext secret. + :type sso_context: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: HostPool, or the result of cls(response) + :rtype: ~desktop_virtualization_api_client.models.HostPool + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.HostPool"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + + _host_pool = models.HostPool(tags=tags, location=location, friendly_name=friendly_name, description=description, host_pool_type=host_pool_type, personal_desktop_assignment_type=personal_desktop_assignment_type, custom_rdp_property=custom_rdp_property, max_session_limit=max_session_limit, load_balancer_type=load_balancer_type, ring=ring, validation_environment=validation_environment, registration_info=registration_info, vm_template=vm_template, sso_context=sso_context) + api_version = "2019-12-10-preview" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.create_or_update.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=24, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_host_pool, 'HostPool') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('HostPool', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('HostPool', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}'} # type: ignore + + async def delete( + self, + resource_group_name: str, + host_pool_name: str, + force: Optional[bool] = None, + **kwargs + ) -> None: + """Remove a host pool. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param host_pool_name: The name of the host pool within the specified resource group. + :type host_pool_name: str + :param force: Force flag to delete sessionHost. + :type force: bool + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-12-10-preview" + + # Construct URL + url = self.delete.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=24, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if force is not None: + query_parameters['force'] = self._serialize.query("force", force, 'bool') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}'} # type: ignore + + async def update( + self, + resource_group_name: str, + host_pool_name: str, + tags: Optional[Dict[str, str]] = None, + friendly_name: Optional[str] = None, + description: Optional[str] = None, + custom_rdp_property: Optional[str] = None, + max_session_limit: Optional[int] = None, + personal_desktop_assignment_type: Optional[Union[str, "models.PersonalDesktopAssignmentType"]] = None, + load_balancer_type: Optional[Union[str, "models.LoadBalancerType"]] = None, + ring: Optional[int] = None, + validation_environment: Optional[bool] = None, + registration_info: Optional["models.RegistrationInfoPatch"] = None, + sso_context: Optional[str] = None, + **kwargs + ) -> "models.HostPool": + """Update a host pool. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param host_pool_name: The name of the host pool within the specified resource group. + :type host_pool_name: str + :param tags: tags to be updated. + :type tags: dict[str, str] + :param friendly_name: Friendly name of HostPool. + :type friendly_name: str + :param description: Description of HostPool. + :type description: str + :param custom_rdp_property: Custom rdp property of HostPool. + :type custom_rdp_property: str + :param max_session_limit: The max session limit of HostPool. + :type max_session_limit: int + :param personal_desktop_assignment_type: PersonalDesktopAssignment type for HostPool. + :type personal_desktop_assignment_type: str or ~desktop_virtualization_api_client.models.PersonalDesktopAssignmentType + :param load_balancer_type: The type of the load balancer. + :type load_balancer_type: str or ~desktop_virtualization_api_client.models.LoadBalancerType + :param ring: The ring number of HostPool. + :type ring: int + :param validation_environment: Is validation environment. + :type validation_environment: bool + :param registration_info: The registration info of HostPool. + :type registration_info: ~desktop_virtualization_api_client.models.RegistrationInfoPatch + :param sso_context: Path to keyvault containing ssoContext secret. + :type sso_context: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: HostPool, or the result of cls(response) + :rtype: ~desktop_virtualization_api_client.models.HostPool + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.HostPool"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + + _host_pool = models.HostPoolPatch(tags=tags, friendly_name=friendly_name, description=description, custom_rdp_property=custom_rdp_property, max_session_limit=max_session_limit, personal_desktop_assignment_type=personal_desktop_assignment_type, load_balancer_type=load_balancer_type, ring=ring, validation_environment=validation_environment, registration_info=registration_info, sso_context=sso_context) + api_version = "2019-12-10-preview" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.update.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=24, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + if _host_pool is not None: + body_content = self._serialize.body(_host_pool, 'HostPoolPatch') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('HostPool', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}'} # type: ignore + + def list_by_resource_group( + self, + resource_group_name: str, + **kwargs + ) -> AsyncIterable["models.HostPoolList"]: + """List hostPools. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either HostPoolList or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~desktop_virtualization_api_client.models.HostPoolList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.HostPoolList"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-12-10-preview" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('HostPoolList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools'} # type: ignore + + def list( + self, + **kwargs + ) -> AsyncIterable["models.HostPoolList"]: + """List hostPools in subscription. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either HostPoolList or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~desktop_virtualization_api_client.models.HostPoolList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.HostPoolList"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-12-10-preview" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('HostPoolList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/hostPools'} # type: ignore diff --git a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations_async/_operation_operations_async.py b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations_async/_operation_operations_async.py new file mode 100644 index 00000000000..2cf37ab408a --- /dev/null +++ b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations_async/_operation_operations_async.py @@ -0,0 +1,85 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class OperationOperations: + """OperationOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~desktop_virtualization_api_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + async def list( + self, + **kwargs + ) -> "models.ResourceProviderOperationList": + """List all of the available operations the Desktop Virtualization resource provider supports. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ResourceProviderOperationList, or the result of cls(response) + :rtype: ~desktop_virtualization_api_client.models.ResourceProviderOperationList + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ResourceProviderOperationList"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-12-10-preview" + + # Construct URL + url = self.list.metadata['url'] # type: ignore + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ResourceProviderOperationList', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + list.metadata = {'url': '/providers/Microsoft.DesktopVirtualization/operations'} # type: ignore diff --git a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations_async/_session_host_operations_async.py b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations_async/_session_host_operations_async.py new file mode 100644 index 00000000000..a6afd849923 --- /dev/null +++ b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations_async/_session_host_operations_async.py @@ -0,0 +1,311 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class SessionHostOperations: + """SessionHostOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~desktop_virtualization_api_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + async def get( + self, + resource_group_name: str, + host_pool_name: str, + session_host_name: str, + **kwargs + ) -> "models.SessionHost": + """Get a session host. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param host_pool_name: The name of the host pool within the specified resource group. + :type host_pool_name: str + :param session_host_name: The name of the session host within the specified host pool. + :type session_host_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SessionHost, or the result of cls(response) + :rtype: ~desktop_virtualization_api_client.models.SessionHost + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.SessionHost"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-12-10-preview" + + # Construct URL + url = self.get.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=24, min_length=3), + 'sessionHostName': self._serialize.url("session_host_name", session_host_name, 'str', max_length=48, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('SessionHost', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}'} # type: ignore + + async def delete( + self, + resource_group_name: str, + host_pool_name: str, + session_host_name: str, + force: Optional[bool] = None, + **kwargs + ) -> None: + """Remove a SessionHost. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param host_pool_name: The name of the host pool within the specified resource group. + :type host_pool_name: str + :param session_host_name: The name of the session host within the specified host pool. + :type session_host_name: str + :param force: Force flag to force sessionHost deletion even when userSession exists. + :type force: bool + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-12-10-preview" + + # Construct URL + url = self.delete.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=24, min_length=3), + 'sessionHostName': self._serialize.url("session_host_name", session_host_name, 'str', max_length=48, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if force is not None: + query_parameters['force'] = self._serialize.query("force", force, 'bool') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}'} # type: ignore + + async def update( + self, + resource_group_name: str, + host_pool_name: str, + session_host_name: str, + allow_new_session: Optional[bool] = None, + assigned_user: Optional[str] = None, + **kwargs + ) -> "models.SessionHost": + """Update a session host. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param host_pool_name: The name of the host pool within the specified resource group. + :type host_pool_name: str + :param session_host_name: The name of the session host within the specified host pool. + :type session_host_name: str + :param allow_new_session: Allow a new session. + :type allow_new_session: bool + :param assigned_user: User assigned to SessionHost. + :type assigned_user: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SessionHost, or the result of cls(response) + :rtype: ~desktop_virtualization_api_client.models.SessionHost + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.SessionHost"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + + _session_host = models.SessionHostPatch(allow_new_session=allow_new_session, assigned_user=assigned_user) + api_version = "2019-12-10-preview" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.update.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=24, min_length=3), + 'sessionHostName': self._serialize.url("session_host_name", session_host_name, 'str', max_length=48, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + if _session_host is not None: + body_content = self._serialize.body(_session_host, 'SessionHostPatch') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('SessionHost', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}'} # type: ignore + + def list( + self, + resource_group_name: str, + host_pool_name: str, + **kwargs + ) -> AsyncIterable["models.SessionHostList"]: + """List sessionHosts. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param host_pool_name: The name of the host pool within the specified resource group. + :type host_pool_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either SessionHostList or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~desktop_virtualization_api_client.models.SessionHostList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.SessionHostList"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-12-10-preview" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=24, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('SessionHostList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts'} # type: ignore diff --git a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations_async/_start_menu_item_operations_async.py b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations_async/_start_menu_item_operations_async.py new file mode 100644 index 00000000000..2bd7b9faa4d --- /dev/null +++ b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations_async/_start_menu_item_operations_async.py @@ -0,0 +1,113 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class StartMenuItemOperations: + """StartMenuItemOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~desktop_virtualization_api_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + resource_group_name: str, + application_group_name: str, + **kwargs + ) -> AsyncIterable["models.StartMenuItemList"]: + """List start menu items in the given application group. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param application_group_name: The name of the application group. + :type application_group_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either StartMenuItemList or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~desktop_virtualization_api_client.models.StartMenuItemList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.StartMenuItemList"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-12-10-preview" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'applicationGroupName': self._serialize.url("application_group_name", application_group_name, 'str', max_length=24, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('StartMenuItemList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/startMenuItems'} # type: ignore diff --git a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations_async/_user_session_operations_async.py b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations_async/_user_session_operations_async.py new file mode 100644 index 00000000000..1b3fb3c181c --- /dev/null +++ b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations_async/_user_session_operations_async.py @@ -0,0 +1,460 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class UserSessionOperations: + """UserSessionOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~desktop_virtualization_api_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list_by_host_pool( + self, + resource_group_name: str, + host_pool_name: str, + filter: Optional[str] = None, + **kwargs + ) -> AsyncIterable["models.UserSessionList"]: + """List userSessions. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param host_pool_name: The name of the host pool within the specified resource group. + :type host_pool_name: str + :param filter: OData filter expression. Valid properties for filtering are userprincipalname + and sessionstate. + :type filter: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either UserSessionList or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~desktop_virtualization_api_client.models.UserSessionList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.UserSessionList"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-12-10-preview" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_host_pool.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=24, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('UserSessionList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_by_host_pool.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/userSessions'} # type: ignore + + async def get( + self, + resource_group_name: str, + host_pool_name: str, + session_host_name: str, + user_session_id: str, + **kwargs + ) -> "models.UserSession": + """Get a userSession. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param host_pool_name: The name of the host pool within the specified resource group. + :type host_pool_name: str + :param session_host_name: The name of the session host within the specified host pool. + :type session_host_name: str + :param user_session_id: The name of the user session within the specified session host. + :type user_session_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: UserSession, or the result of cls(response) + :rtype: ~desktop_virtualization_api_client.models.UserSession + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.UserSession"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-12-10-preview" + + # Construct URL + url = self.get.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=24, min_length=3), + 'sessionHostName': self._serialize.url("session_host_name", session_host_name, 'str', max_length=48, min_length=3), + 'userSessionId': self._serialize.url("user_session_id", user_session_id, 'str', max_length=24, min_length=1), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('UserSession', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}'} # type: ignore + + async def delete( + self, + resource_group_name: str, + host_pool_name: str, + session_host_name: str, + user_session_id: str, + force: Optional[bool] = None, + **kwargs + ) -> None: + """Remove a userSession. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param host_pool_name: The name of the host pool within the specified resource group. + :type host_pool_name: str + :param session_host_name: The name of the session host within the specified host pool. + :type session_host_name: str + :param user_session_id: The name of the user session within the specified session host. + :type user_session_id: str + :param force: Force flag to login off userSession. + :type force: bool + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-12-10-preview" + + # Construct URL + url = self.delete.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=24, min_length=3), + 'sessionHostName': self._serialize.url("session_host_name", session_host_name, 'str', max_length=48, min_length=3), + 'userSessionId': self._serialize.url("user_session_id", user_session_id, 'str', max_length=24, min_length=1), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if force is not None: + query_parameters['force'] = self._serialize.query("force", force, 'bool') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}'} # type: ignore + + def list( + self, + resource_group_name: str, + host_pool_name: str, + session_host_name: str, + **kwargs + ) -> AsyncIterable["models.UserSessionList"]: + """List userSessions. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param host_pool_name: The name of the host pool within the specified resource group. + :type host_pool_name: str + :param session_host_name: The name of the session host within the specified host pool. + :type session_host_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either UserSessionList or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~desktop_virtualization_api_client.models.UserSessionList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.UserSessionList"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-12-10-preview" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=24, min_length=3), + 'sessionHostName': self._serialize.url("session_host_name", session_host_name, 'str', max_length=48, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('UserSessionList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions'} # type: ignore + + async def disconnect( + self, + resource_group_name: str, + host_pool_name: str, + session_host_name: str, + user_session_id: str, + **kwargs + ) -> None: + """Disconnect a userSession. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param host_pool_name: The name of the host pool within the specified resource group. + :type host_pool_name: str + :param session_host_name: The name of the session host within the specified host pool. + :type session_host_name: str + :param user_session_id: The name of the user session within the specified session host. + :type user_session_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-12-10-preview" + + # Construct URL + url = self.disconnect.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=24, min_length=3), + 'sessionHostName': self._serialize.url("session_host_name", session_host_name, 'str', max_length=48, min_length=3), + 'userSessionId': self._serialize.url("user_session_id", user_session_id, 'str', max_length=24, min_length=1), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + disconnect.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}/disconnect'} # type: ignore + + async def send_message( + self, + resource_group_name: str, + host_pool_name: str, + session_host_name: str, + user_session_id: str, + message_title: Optional[str] = None, + message_body: Optional[str] = None, + **kwargs + ) -> None: + """Send a message to a user. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param host_pool_name: The name of the host pool within the specified resource group. + :type host_pool_name: str + :param session_host_name: The name of the session host within the specified host pool. + :type session_host_name: str + :param user_session_id: The name of the user session within the specified session host. + :type user_session_id: str + :param message_title: Title of message. + :type message_title: str + :param message_body: Body of message. + :type message_body: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + + _send_message = models.SendMessage(message_title=message_title, message_body=message_body) + api_version = "2019-12-10-preview" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.send_message.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=24, min_length=3), + 'sessionHostName': self._serialize.url("session_host_name", session_host_name, 'str', max_length=48, min_length=3), + 'userSessionId': self._serialize.url("user_session_id", user_session_id, 'str', max_length=24, min_length=1), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + if _send_message is not None: + body_content = self._serialize.body(_send_message, 'SendMessage') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + send_message.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}/sendMessage'} # type: ignore diff --git a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations_async/_workspace_operations_async.py b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations_async/_workspace_operations_async.py new file mode 100644 index 00000000000..9a611f38f55 --- /dev/null +++ b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations_async/_workspace_operations_async.py @@ -0,0 +1,443 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, AsyncIterable, Callable, Dict, Generic, List, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class WorkspaceOperations: + """WorkspaceOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~desktop_virtualization_api_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + async def get( + self, + resource_group_name: str, + workspace_name: str, + **kwargs + ) -> "models.Workspace": + """Get a workspace. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param workspace_name: The name of the workspace. + :type workspace_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Workspace, or the result of cls(response) + :rtype: ~desktop_virtualization_api_client.models.Workspace + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.Workspace"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-12-10-preview" + + # Construct URL + url = self.get.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'workspaceName': self._serialize.url("workspace_name", workspace_name, 'str', max_length=24, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('Workspace', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}'} # type: ignore + + async def create_or_update( + self, + resource_group_name: str, + workspace_name: str, + location: str, + tags: Optional[Dict[str, str]] = None, + description: Optional[str] = None, + friendly_name: Optional[str] = None, + application_group_references: Optional[List[str]] = None, + **kwargs + ) -> "models.Workspace": + """Create or update a workspace. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param workspace_name: The name of the workspace. + :type workspace_name: str + :param location: The geo-location where the resource lives. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param description: Description of Workspace. + :type description: str + :param friendly_name: Friendly name of Workspace. + :type friendly_name: str + :param application_group_references: List of applicationGroup resource Ids. + :type application_group_references: list[str] + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Workspace, or the result of cls(response) + :rtype: ~desktop_virtualization_api_client.models.Workspace + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.Workspace"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + + _workspace = models.Workspace(tags=tags, location=location, description=description, friendly_name=friendly_name, application_group_references=application_group_references) + api_version = "2019-12-10-preview" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.create_or_update.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'workspaceName': self._serialize.url("workspace_name", workspace_name, 'str', max_length=24, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_workspace, 'Workspace') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('Workspace', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('Workspace', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}'} # type: ignore + + async def delete( + self, + resource_group_name: str, + workspace_name: str, + **kwargs + ) -> None: + """Remove a workspace. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param workspace_name: The name of the workspace. + :type workspace_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-12-10-preview" + + # Construct URL + url = self.delete.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'workspaceName': self._serialize.url("workspace_name", workspace_name, 'str', max_length=24, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}'} # type: ignore + + async def update( + self, + resource_group_name: str, + workspace_name: str, + tags: Optional[Dict[str, str]] = None, + description: Optional[str] = None, + friendly_name: Optional[str] = None, + application_group_references: Optional[List[str]] = None, + **kwargs + ) -> "models.Workspace": + """Update a workspace. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param workspace_name: The name of the workspace. + :type workspace_name: str + :param tags: tags to be updated. + :type tags: dict[str, str] + :param description: Description of Workspace. + :type description: str + :param friendly_name: Friendly name of Workspace. + :type friendly_name: str + :param application_group_references: List of applicationGroup links. + :type application_group_references: list[str] + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Workspace, or the result of cls(response) + :rtype: ~desktop_virtualization_api_client.models.Workspace + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.Workspace"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + + _workspace = models.WorkspacePatch(tags=tags, description=description, friendly_name=friendly_name, application_group_references=application_group_references) + api_version = "2019-12-10-preview" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.update.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'workspaceName': self._serialize.url("workspace_name", workspace_name, 'str', max_length=24, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + if _workspace is not None: + body_content = self._serialize.body(_workspace, 'WorkspacePatch') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('Workspace', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}'} # type: ignore + + def list_by_resource_group( + self, + resource_group_name: str, + **kwargs + ) -> AsyncIterable["models.WorkspaceList"]: + """List workspaces. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either WorkspaceList or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~desktop_virtualization_api_client.models.WorkspaceList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.WorkspaceList"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-12-10-preview" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('WorkspaceList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces'} # type: ignore + + def list_by_subscription( + self, + **kwargs + ) -> AsyncIterable["models.WorkspaceList"]: + """List workspaces in subscription. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either WorkspaceList or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~desktop_virtualization_api_client.models.WorkspaceList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.WorkspaceList"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-12-10-preview" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_subscription.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('WorkspaceList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_by_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/workspaces'} # type: ignore diff --git a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/models/__init__.py b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/models/__init__.py new file mode 100644 index 00000000000..b642bd2d7f5 --- /dev/null +++ b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/models/__init__.py @@ -0,0 +1,126 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +try: + from ._models_py3 import Application + from ._models_py3 import ApplicationGroup + from ._models_py3 import ApplicationGroupList + from ._models_py3 import ApplicationGroupPatch + from ._models_py3 import ApplicationList + from ._models_py3 import ApplicationPatch + from ._models_py3 import Desktop + from ._models_py3 import DesktopList + from ._models_py3 import DesktopPatch + from ._models_py3 import HostPool + from ._models_py3 import HostPoolList + from ._models_py3 import HostPoolPatch + from ._models_py3 import RegistrationInfo + from ._models_py3 import RegistrationInfoPatch + from ._models_py3 import Resource + from ._models_py3 import ResourceProviderOperation + from ._models_py3 import ResourceProviderOperationDisplay + from ._models_py3 import ResourceProviderOperationList + from ._models_py3 import SendMessage + from ._models_py3 import SessionHost + from ._models_py3 import SessionHostList + from ._models_py3 import SessionHostPatch + from ._models_py3 import StartMenuItem + from ._models_py3 import StartMenuItemList + from ._models_py3 import TrackedResource + from ._models_py3 import UserSession + from ._models_py3 import UserSessionList + from ._models_py3 import Workspace + from ._models_py3 import WorkspaceList + from ._models_py3 import WorkspacePatch +except (SyntaxError, ImportError): + from ._models import Application # type: ignore + from ._models import ApplicationGroup # type: ignore + from ._models import ApplicationGroupList # type: ignore + from ._models import ApplicationGroupPatch # type: ignore + from ._models import ApplicationList # type: ignore + from ._models import ApplicationPatch # type: ignore + from ._models import Desktop # type: ignore + from ._models import DesktopList # type: ignore + from ._models import DesktopPatch # type: ignore + from ._models import HostPool # type: ignore + from ._models import HostPoolList # type: ignore + from ._models import HostPoolPatch # type: ignore + from ._models import RegistrationInfo # type: ignore + from ._models import RegistrationInfoPatch # type: ignore + from ._models import Resource # type: ignore + from ._models import ResourceProviderOperation # type: ignore + from ._models import ResourceProviderOperationDisplay # type: ignore + from ._models import ResourceProviderOperationList # type: ignore + from ._models import SendMessage # type: ignore + from ._models import SessionHost # type: ignore + from ._models import SessionHostList # type: ignore + from ._models import SessionHostPatch # type: ignore + from ._models import StartMenuItem # type: ignore + from ._models import StartMenuItemList # type: ignore + from ._models import TrackedResource # type: ignore + from ._models import UserSession # type: ignore + from ._models import UserSessionList # type: ignore + from ._models import Workspace # type: ignore + from ._models import WorkspaceList # type: ignore + from ._models import WorkspacePatch # type: ignore + +from ._desktop_virtualization_api_client_enums import ( + ApplicationGroupType, + ApplicationType, + CommandLineSetting, + HostPoolType, + LoadBalancerType, + PersonalDesktopAssignmentType, + RegistrationTokenOperation, + SessionState, + Status, + UpdateState, +) + +__all__ = [ + 'Application', + 'ApplicationGroup', + 'ApplicationGroupList', + 'ApplicationGroupPatch', + 'ApplicationList', + 'ApplicationPatch', + 'Desktop', + 'DesktopList', + 'DesktopPatch', + 'HostPool', + 'HostPoolList', + 'HostPoolPatch', + 'RegistrationInfo', + 'RegistrationInfoPatch', + 'Resource', + 'ResourceProviderOperation', + 'ResourceProviderOperationDisplay', + 'ResourceProviderOperationList', + 'SendMessage', + 'SessionHost', + 'SessionHostList', + 'SessionHostPatch', + 'StartMenuItem', + 'StartMenuItemList', + 'TrackedResource', + 'UserSession', + 'UserSessionList', + 'Workspace', + 'WorkspaceList', + 'WorkspacePatch', + 'ApplicationGroupType', + 'ApplicationType', + 'CommandLineSetting', + 'HostPoolType', + 'LoadBalancerType', + 'PersonalDesktopAssignmentType', + 'RegistrationTokenOperation', + 'SessionState', + 'Status', + 'UpdateState', +] diff --git a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/models/_desktop_virtualization_api_client_enums.py b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/models/_desktop_virtualization_api_client_enums.py new file mode 100644 index 00000000000..f087ff99f72 --- /dev/null +++ b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/models/_desktop_virtualization_api_client_enums.py @@ -0,0 +1,95 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from enum import Enum + +class ApplicationGroupType(str, Enum): + """Resource Type of ApplicationGroup. + """ + + remote_app = "RemoteApp" + desktop = "Desktop" + +class ApplicationType(str, Enum): + """Application type of application. + """ + + remote_app = "RemoteApp" + desktop = "Desktop" + +class CommandLineSetting(str, Enum): + """Specifies whether this published application can be launched with command line arguments + provided by the client, command line arguments specified at publish time, or no command line + arguments at all. + """ + + do_not_allow = "DoNotAllow" + allow = "Allow" + require = "Require" + +class HostPoolType(str, Enum): + """HostPool type for desktop. + """ + + personal = "Personal" + pooled = "Pooled" + +class LoadBalancerType(str, Enum): + """The type of the load balancer. + """ + + breadth_first = "BreadthFirst" + depth_first = "DepthFirst" + persistent = "Persistent" + +class PersonalDesktopAssignmentType(str, Enum): + """PersonalDesktopAssignment type for HostPool. + """ + + automatic = "Automatic" + direct = "Direct" + +class RegistrationTokenOperation(str, Enum): + """The type of resetting the token. + """ + + delete = "Delete" + none = "None" + update = "Update" + +class SessionState(str, Enum): + """State of user session. + """ + + unknown = "Unknown" + active = "Active" + disconnected = "Disconnected" + pending = "Pending" + log_off = "LogOff" + user_profile_disk_mounted = "UserProfileDiskMounted" + +class Status(str, Enum): + """Status for a SessionHost. + """ + + available = "Available" + unavailable = "Unavailable" + shutdown = "Shutdown" + disconnected = "Disconnected" + upgrading = "Upgrading" + upgrade_failed = "UpgradeFailed" + +class UpdateState(str, Enum): + """Update state of a SessionHost. + """ + + initial = "Initial" + pending = "Pending" + started = "Started" + succeeded = "Succeeded" + failed = "Failed" diff --git a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/models/_models.py b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/models/_models.py new file mode 100644 index 00000000000..bea5d4e283b --- /dev/null +++ b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/models/_models.py @@ -0,0 +1,1316 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +import msrest.serialization + + +class Resource(msrest.serialization.Model): + """Resource. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or + Microsoft.Storage/storageAccounts. + :vartype type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(Resource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + + +class Application(Resource): + """Schema for Application properties. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or + Microsoft.Storage/storageAccounts. + :vartype type: str + :param description: Description of Application. + :type description: str + :param friendly_name: Friendly name of Application. + :type friendly_name: str + :param file_path: Specifies a path for the executable file for the application. + :type file_path: str + :param command_line_setting: Required. Specifies whether this published application can be + launched with command line arguments provided by the client, command line arguments specified + at publish time, or no command line arguments at all. Possible values include: "DoNotAllow", + "Allow", "Require". + :type command_line_setting: str or ~desktop_virtualization_api_client.models.CommandLineSetting + :param command_line_arguments: Command Line Arguments for Application. + :type command_line_arguments: str + :param show_in_portal: Specifies whether to show the RemoteApp program in the RD Web Access + server. + :type show_in_portal: bool + :param icon_path: Path to icon. + :type icon_path: str + :param icon_index: Index of the icon. + :type icon_index: int + :ivar icon_hash: Hash of the icon. + :vartype icon_hash: str + :ivar icon_content: the icon a 64 bit string as a byte array. + :vartype icon_content: bytearray + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'command_line_setting': {'required': True}, + 'icon_hash': {'readonly': True}, + 'icon_content': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'friendly_name': {'key': 'properties.friendlyName', 'type': 'str'}, + 'file_path': {'key': 'properties.filePath', 'type': 'str'}, + 'command_line_setting': {'key': 'properties.commandLineSetting', 'type': 'str'}, + 'command_line_arguments': {'key': 'properties.commandLineArguments', 'type': 'str'}, + 'show_in_portal': {'key': 'properties.showInPortal', 'type': 'bool'}, + 'icon_path': {'key': 'properties.iconPath', 'type': 'str'}, + 'icon_index': {'key': 'properties.iconIndex', 'type': 'int'}, + 'icon_hash': {'key': 'properties.iconHash', 'type': 'str'}, + 'icon_content': {'key': 'properties.iconContent', 'type': 'bytearray'}, + } + + def __init__( + self, + **kwargs + ): + super(Application, self).__init__(**kwargs) + self.description = kwargs.get('description', None) + self.friendly_name = kwargs.get('friendly_name', None) + self.file_path = kwargs.get('file_path', None) + self.command_line_setting = kwargs['command_line_setting'] + self.command_line_arguments = kwargs.get('command_line_arguments', None) + self.show_in_portal = kwargs.get('show_in_portal', None) + self.icon_path = kwargs.get('icon_path', None) + self.icon_index = kwargs.get('icon_index', None) + self.icon_hash = None + self.icon_content = None + + +class TrackedResource(Resource): + """The resource model definition for a ARM tracked top level resource. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or + Microsoft.Storage/storageAccounts. + :vartype type: str + :param tags: A set of tags. Resource tags. + :type tags: dict[str, str] + :param location: Required. The geo-location where the resource lives. + :type location: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'location': {'key': 'location', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(TrackedResource, self).__init__(**kwargs) + self.tags = kwargs.get('tags', None) + self.location = kwargs['location'] + + +class ApplicationGroup(TrackedResource): + """Represents a ApplicationGroup definition. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or + Microsoft.Storage/storageAccounts. + :vartype type: str + :param tags: A set of tags. Resource tags. + :type tags: dict[str, str] + :param location: Required. The geo-location where the resource lives. + :type location: str + :param description: Description of ApplicationGroup. + :type description: str + :param friendly_name: Friendly name of ApplicationGroup. + :type friendly_name: str + :param host_pool_arm_path: Required. HostPool arm path of ApplicationGroup. + :type host_pool_arm_path: str + :ivar workspace_arm_path: Workspace arm path of ApplicationGroup. + :vartype workspace_arm_path: str + :param application_group_type: Required. Resource Type of ApplicationGroup. Possible values + include: "RemoteApp", "Desktop". + :type application_group_type: str or + ~desktop_virtualization_api_client.models.ApplicationGroupType + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + 'host_pool_arm_path': {'required': True}, + 'workspace_arm_path': {'readonly': True}, + 'application_group_type': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'location': {'key': 'location', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'friendly_name': {'key': 'properties.friendlyName', 'type': 'str'}, + 'host_pool_arm_path': {'key': 'properties.hostPoolArmPath', 'type': 'str'}, + 'workspace_arm_path': {'key': 'properties.workspaceArmPath', 'type': 'str'}, + 'application_group_type': {'key': 'properties.applicationGroupType', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ApplicationGroup, self).__init__(**kwargs) + self.description = kwargs.get('description', None) + self.friendly_name = kwargs.get('friendly_name', None) + self.host_pool_arm_path = kwargs['host_pool_arm_path'] + self.workspace_arm_path = None + self.application_group_type = kwargs['application_group_type'] + + +class ApplicationGroupList(msrest.serialization.Model): + """List of ApplicationGroup definitions. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param value: List of ApplicationGroup definitions. + :type value: list[~desktop_virtualization_api_client.models.ApplicationGroup] + :ivar next_link: Link to the next page of results. + :vartype next_link: str + """ + + _validation = { + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ApplicationGroup]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ApplicationGroupList, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = None + + +class ApplicationGroupPatch(Resource): + """ApplicationGroup properties that can be patched. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or + Microsoft.Storage/storageAccounts. + :vartype type: str + :param tags: A set of tags. tags to be updated. + :type tags: dict[str, str] + :param description: Description of ApplicationGroup. + :type description: str + :param friendly_name: Friendly name of ApplicationGroup. + :type friendly_name: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'friendly_name': {'key': 'properties.friendlyName', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ApplicationGroupPatch, self).__init__(**kwargs) + self.tags = kwargs.get('tags', None) + self.description = kwargs.get('description', None) + self.friendly_name = kwargs.get('friendly_name', None) + + +class ApplicationList(msrest.serialization.Model): + """List of Application definitions. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param value: List of Application definitions. + :type value: list[~desktop_virtualization_api_client.models.Application] + :ivar next_link: Link to the next page of results. + :vartype next_link: str + """ + + _validation = { + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[Application]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ApplicationList, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = None + + +class ApplicationPatch(msrest.serialization.Model): + """Application properties that can be patched. + + :param tags: A set of tags. tags to be updated. + :type tags: dict[str, str] + :param description: Description of Application. + :type description: str + :param friendly_name: Friendly name of Application. + :type friendly_name: str + :param file_path: Specifies a path for the executable file for the application. + :type file_path: str + :param command_line_setting: Specifies whether this published application can be launched with + command line arguments provided by the client, command line arguments specified at publish + time, or no command line arguments at all. Possible values include: "DoNotAllow", "Allow", + "Require". + :type command_line_setting: str or ~desktop_virtualization_api_client.models.CommandLineSetting + :param command_line_arguments: Command Line Arguments for Application. + :type command_line_arguments: str + :param show_in_portal: Specifies whether to show the RemoteApp program in the RD Web Access + server. + :type show_in_portal: bool + :param icon_path: Path to icon. + :type icon_path: str + :param icon_index: Index of the icon. + :type icon_index: int + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'friendly_name': {'key': 'properties.friendlyName', 'type': 'str'}, + 'file_path': {'key': 'properties.filePath', 'type': 'str'}, + 'command_line_setting': {'key': 'properties.commandLineSetting', 'type': 'str'}, + 'command_line_arguments': {'key': 'properties.commandLineArguments', 'type': 'str'}, + 'show_in_portal': {'key': 'properties.showInPortal', 'type': 'bool'}, + 'icon_path': {'key': 'properties.iconPath', 'type': 'str'}, + 'icon_index': {'key': 'properties.iconIndex', 'type': 'int'}, + } + + def __init__( + self, + **kwargs + ): + super(ApplicationPatch, self).__init__(**kwargs) + self.tags = kwargs.get('tags', None) + self.description = kwargs.get('description', None) + self.friendly_name = kwargs.get('friendly_name', None) + self.file_path = kwargs.get('file_path', None) + self.command_line_setting = kwargs.get('command_line_setting', None) + self.command_line_arguments = kwargs.get('command_line_arguments', None) + self.show_in_portal = kwargs.get('show_in_portal', None) + self.icon_path = kwargs.get('icon_path', None) + self.icon_index = kwargs.get('icon_index', None) + + +class Desktop(Resource): + """Schema for Desktop properties. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or + Microsoft.Storage/storageAccounts. + :vartype type: str + :param description: Description of Desktop. + :type description: str + :param friendly_name: Friendly name of Desktop. + :type friendly_name: str + :ivar icon_hash: Hash of the icon. + :vartype icon_hash: str + :ivar icon_content: The icon a 64 bit string as a byte array. + :vartype icon_content: bytearray + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'icon_hash': {'readonly': True}, + 'icon_content': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'friendly_name': {'key': 'properties.friendlyName', 'type': 'str'}, + 'icon_hash': {'key': 'properties.iconHash', 'type': 'str'}, + 'icon_content': {'key': 'properties.iconContent', 'type': 'bytearray'}, + } + + def __init__( + self, + **kwargs + ): + super(Desktop, self).__init__(**kwargs) + self.description = kwargs.get('description', None) + self.friendly_name = kwargs.get('friendly_name', None) + self.icon_hash = None + self.icon_content = None + + +class DesktopList(msrest.serialization.Model): + """List of Desktop definitions. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param value: List of Desktop definitions. + :type value: list[~desktop_virtualization_api_client.models.Desktop] + :ivar next_link: Link to the next page of results. + :vartype next_link: str + """ + + _validation = { + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[Desktop]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(DesktopList, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = None + + +class DesktopPatch(msrest.serialization.Model): + """Desktop properties that can be patched. + + :param tags: A set of tags. tags to be updated. + :type tags: dict[str, str] + :param description: Description of Desktop. + :type description: str + :param friendly_name: Friendly name of Desktop. + :type friendly_name: str + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'friendly_name': {'key': 'properties.friendlyName', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(DesktopPatch, self).__init__(**kwargs) + self.tags = kwargs.get('tags', None) + self.description = kwargs.get('description', None) + self.friendly_name = kwargs.get('friendly_name', None) + + +class HostPool(TrackedResource): + """Represents a HostPool definition. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or + Microsoft.Storage/storageAccounts. + :vartype type: str + :param tags: A set of tags. Resource tags. + :type tags: dict[str, str] + :param location: Required. The geo-location where the resource lives. + :type location: str + :param friendly_name: Friendly name of HostPool. + :type friendly_name: str + :param description: Description of HostPool. + :type description: str + :param host_pool_type: Required. HostPool type for desktop. Possible values include: + "Personal", "Pooled". + :type host_pool_type: str or ~desktop_virtualization_api_client.models.HostPoolType + :param personal_desktop_assignment_type: Required. PersonalDesktopAssignment type for HostPool. + Possible values include: "Automatic", "Direct". + :type personal_desktop_assignment_type: str or + ~desktop_virtualization_api_client.models.PersonalDesktopAssignmentType + :param custom_rdp_property: Custom rdp property of HostPool. + :type custom_rdp_property: str + :param max_session_limit: The max session limit of HostPool. + :type max_session_limit: int + :param load_balancer_type: Required. The type of the load balancer. Possible values include: + "BreadthFirst", "DepthFirst", "Persistent". + :type load_balancer_type: str or ~desktop_virtualization_api_client.models.LoadBalancerType + :param ring: The ring number of HostPool. + :type ring: int + :param validation_environment: Is validation environment. + :type validation_environment: bool + :param registration_info: The registration info of HostPool. + :type registration_info: ~desktop_virtualization_api_client.models.RegistrationInfo + :param vm_template: VM template for sessionhosts configuration within hostpool. + :type vm_template: str + :ivar application_group_references: List of applicationGroup links. + :vartype application_group_references: list[str] + :param sso_context: Path to keyvault containing ssoContext secret. + :type sso_context: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + 'host_pool_type': {'required': True}, + 'personal_desktop_assignment_type': {'required': True}, + 'load_balancer_type': {'required': True}, + 'application_group_references': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'location': {'key': 'location', 'type': 'str'}, + 'friendly_name': {'key': 'properties.friendlyName', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'host_pool_type': {'key': 'properties.hostPoolType', 'type': 'str'}, + 'personal_desktop_assignment_type': {'key': 'properties.personalDesktopAssignmentType', 'type': 'str'}, + 'custom_rdp_property': {'key': 'properties.customRdpProperty', 'type': 'str'}, + 'max_session_limit': {'key': 'properties.maxSessionLimit', 'type': 'int'}, + 'load_balancer_type': {'key': 'properties.loadBalancerType', 'type': 'str'}, + 'ring': {'key': 'properties.ring', 'type': 'int'}, + 'validation_environment': {'key': 'properties.validationEnvironment', 'type': 'bool'}, + 'registration_info': {'key': 'properties.registrationInfo', 'type': 'RegistrationInfo'}, + 'vm_template': {'key': 'properties.vmTemplate', 'type': 'str'}, + 'application_group_references': {'key': 'properties.applicationGroupReferences', 'type': '[str]'}, + 'sso_context': {'key': 'properties.ssoContext', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(HostPool, self).__init__(**kwargs) + self.friendly_name = kwargs.get('friendly_name', None) + self.description = kwargs.get('description', None) + self.host_pool_type = kwargs['host_pool_type'] + self.personal_desktop_assignment_type = kwargs['personal_desktop_assignment_type'] + self.custom_rdp_property = kwargs.get('custom_rdp_property', None) + self.max_session_limit = kwargs.get('max_session_limit', None) + self.load_balancer_type = kwargs['load_balancer_type'] + self.ring = kwargs.get('ring', None) + self.validation_environment = kwargs.get('validation_environment', None) + self.registration_info = kwargs.get('registration_info', None) + self.vm_template = kwargs.get('vm_template', None) + self.application_group_references = None + self.sso_context = kwargs.get('sso_context', None) + + +class HostPoolList(msrest.serialization.Model): + """List of HostPool definitions. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param value: List of HostPool definitions. + :type value: list[~desktop_virtualization_api_client.models.HostPool] + :ivar next_link: Link to the next page of results. + :vartype next_link: str + """ + + _validation = { + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[HostPool]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(HostPoolList, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = None + + +class HostPoolPatch(Resource): + """HostPool properties that can be patched. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or + Microsoft.Storage/storageAccounts. + :vartype type: str + :param tags: A set of tags. tags to be updated. + :type tags: dict[str, str] + :param friendly_name: Friendly name of HostPool. + :type friendly_name: str + :param description: Description of HostPool. + :type description: str + :param custom_rdp_property: Custom rdp property of HostPool. + :type custom_rdp_property: str + :param max_session_limit: The max session limit of HostPool. + :type max_session_limit: int + :param personal_desktop_assignment_type: PersonalDesktopAssignment type for HostPool. Possible + values include: "Automatic", "Direct". + :type personal_desktop_assignment_type: str or + ~desktop_virtualization_api_client.models.PersonalDesktopAssignmentType + :param load_balancer_type: The type of the load balancer. Possible values include: + "BreadthFirst", "DepthFirst", "Persistent". + :type load_balancer_type: str or ~desktop_virtualization_api_client.models.LoadBalancerType + :param ring: The ring number of HostPool. + :type ring: int + :param validation_environment: Is validation environment. + :type validation_environment: bool + :param registration_info: The registration info of HostPool. + :type registration_info: ~desktop_virtualization_api_client.models.RegistrationInfoPatch + :param sso_context: Path to keyvault containing ssoContext secret. + :type sso_context: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'friendly_name': {'key': 'properties.friendlyName', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'custom_rdp_property': {'key': 'properties.customRdpProperty', 'type': 'str'}, + 'max_session_limit': {'key': 'properties.maxSessionLimit', 'type': 'int'}, + 'personal_desktop_assignment_type': {'key': 'properties.personalDesktopAssignmentType', 'type': 'str'}, + 'load_balancer_type': {'key': 'properties.loadBalancerType', 'type': 'str'}, + 'ring': {'key': 'properties.ring', 'type': 'int'}, + 'validation_environment': {'key': 'properties.validationEnvironment', 'type': 'bool'}, + 'registration_info': {'key': 'properties.registrationInfo', 'type': 'RegistrationInfoPatch'}, + 'sso_context': {'key': 'properties.ssoContext', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(HostPoolPatch, self).__init__(**kwargs) + self.tags = kwargs.get('tags', None) + self.friendly_name = kwargs.get('friendly_name', None) + self.description = kwargs.get('description', None) + self.custom_rdp_property = kwargs.get('custom_rdp_property', None) + self.max_session_limit = kwargs.get('max_session_limit', None) + self.personal_desktop_assignment_type = kwargs.get('personal_desktop_assignment_type', None) + self.load_balancer_type = kwargs.get('load_balancer_type', None) + self.ring = kwargs.get('ring', None) + self.validation_environment = kwargs.get('validation_environment', None) + self.registration_info = kwargs.get('registration_info', None) + self.sso_context = kwargs.get('sso_context', None) + + +class RegistrationInfo(msrest.serialization.Model): + """Represents a RegistrationInfo definition. + + :param expiration_time: Expiration time of registration token. + :type expiration_time: ~datetime.datetime + :param token: The registration token base64 encoded string. + :type token: str + :param registration_token_operation: The type of resetting the token. Possible values include: + "Delete", "None", "Update". + :type registration_token_operation: str or + ~desktop_virtualization_api_client.models.RegistrationTokenOperation + """ + + _attribute_map = { + 'expiration_time': {'key': 'expirationTime', 'type': 'iso-8601'}, + 'token': {'key': 'token', 'type': 'str'}, + 'registration_token_operation': {'key': 'registrationTokenOperation', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(RegistrationInfo, self).__init__(**kwargs) + self.expiration_time = kwargs.get('expiration_time', None) + self.token = kwargs.get('token', None) + self.registration_token_operation = kwargs.get('registration_token_operation', None) + + +class RegistrationInfoPatch(msrest.serialization.Model): + """Represents a RegistrationInfo definition. + + :param expiration_time: Expiration time of registration token. + :type expiration_time: ~datetime.datetime + :param registration_token_operation: The type of resetting the token. Possible values include: + "Delete", "None", "Update". + :type registration_token_operation: str or + ~desktop_virtualization_api_client.models.RegistrationTokenOperation + """ + + _attribute_map = { + 'expiration_time': {'key': 'expirationTime', 'type': 'iso-8601'}, + 'registration_token_operation': {'key': 'registrationTokenOperation', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(RegistrationInfoPatch, self).__init__(**kwargs) + self.expiration_time = kwargs.get('expiration_time', None) + self.registration_token_operation = kwargs.get('registration_token_operation', None) + + +class ResourceProviderOperation(msrest.serialization.Model): + """Supported operation of this resource provider. + + :param name: Operation name, in format of {provider}/{resource}/{operation}. + :type name: str + :param display: Display metadata associated with the operation. + :type display: ~desktop_virtualization_api_client.models.ResourceProviderOperationDisplay + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'ResourceProviderOperationDisplay'}, + } + + def __init__( + self, + **kwargs + ): + super(ResourceProviderOperation, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.display = kwargs.get('display', None) + + +class ResourceProviderOperationDisplay(msrest.serialization.Model): + """Display metadata associated with the operation. + + :param provider: Resource provider: Microsoft Desktop Virtualization. + :type provider: str + :param resource: Resource on which the operation is performed. + :type resource: str + :param operation: Type of operation: get, read, delete, etc. + :type operation: str + :param description: Description of this operation. + :type description: str + """ + + _attribute_map = { + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ResourceProviderOperationDisplay, self).__init__(**kwargs) + self.provider = kwargs.get('provider', None) + self.resource = kwargs.get('resource', None) + self.operation = kwargs.get('operation', None) + self.description = kwargs.get('description', None) + + +class ResourceProviderOperationList(msrest.serialization.Model): + """Result of the request to list operations. + + :param value: List of operations supported by this resource provider. + :type value: list[~desktop_virtualization_api_client.models.ResourceProviderOperation] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ResourceProviderOperation]'}, + } + + def __init__( + self, + **kwargs + ): + super(ResourceProviderOperationList, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + + +class SendMessage(msrest.serialization.Model): + """Represents message sent to a UserSession. + + :param message_title: Title of message. + :type message_title: str + :param message_body: Body of message. + :type message_body: str + """ + + _attribute_map = { + 'message_title': {'key': 'messageTitle', 'type': 'str'}, + 'message_body': {'key': 'messageBody', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(SendMessage, self).__init__(**kwargs) + self.message_title = kwargs.get('message_title', None) + self.message_body = kwargs.get('message_body', None) + + +class SessionHost(Resource): + """Represents a SessionHost definition. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or + Microsoft.Storage/storageAccounts. + :vartype type: str + :param last_heart_beat: Last heart beat from SessionHost. + :type last_heart_beat: ~datetime.datetime + :param sessions: Number of sessions on SessionHost. + :type sessions: int + :param agent_version: Version of agent on SessionHost. + :type agent_version: str + :param allow_new_session: Allow a new session. + :type allow_new_session: bool + :param assigned_user: User assigned to SessionHost. + :type assigned_user: str + :param status: Status for a SessionHost. Possible values include: "Available", "Unavailable", + "Shutdown", "Disconnected", "Upgrading", "UpgradeFailed". + :type status: str or ~desktop_virtualization_api_client.models.Status + :ivar status_timestamp: The timestamp of the status. + :vartype status_timestamp: ~datetime.datetime + :param os_version: The version of the OS on the session host. + :type os_version: str + :param sx_s_stack_version: The version of the side by side stack on the session host. + :type sx_s_stack_version: str + :param update_state: Update state of a SessionHost. Possible values include: "Initial", + "Pending", "Started", "Succeeded", "Failed". + :type update_state: str or ~desktop_virtualization_api_client.models.UpdateState + :ivar last_update_time: The timestamp of the last update. + :vartype last_update_time: ~datetime.datetime + :param update_error_message: The error message. + :type update_error_message: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'status_timestamp': {'readonly': True}, + 'last_update_time': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'last_heart_beat': {'key': 'properties.lastHeartBeat', 'type': 'iso-8601'}, + 'sessions': {'key': 'properties.sessions', 'type': 'int'}, + 'agent_version': {'key': 'properties.agentVersion', 'type': 'str'}, + 'allow_new_session': {'key': 'properties.allowNewSession', 'type': 'bool'}, + 'assigned_user': {'key': 'properties.assignedUser', 'type': 'str'}, + 'status': {'key': 'properties.status', 'type': 'str'}, + 'status_timestamp': {'key': 'properties.statusTimestamp', 'type': 'iso-8601'}, + 'os_version': {'key': 'properties.osVersion', 'type': 'str'}, + 'sx_s_stack_version': {'key': 'properties.sxSStackVersion', 'type': 'str'}, + 'update_state': {'key': 'properties.updateState', 'type': 'str'}, + 'last_update_time': {'key': 'properties.lastUpdateTime', 'type': 'iso-8601'}, + 'update_error_message': {'key': 'properties.updateErrorMessage', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(SessionHost, self).__init__(**kwargs) + self.last_heart_beat = kwargs.get('last_heart_beat', None) + self.sessions = kwargs.get('sessions', None) + self.agent_version = kwargs.get('agent_version', None) + self.allow_new_session = kwargs.get('allow_new_session', None) + self.assigned_user = kwargs.get('assigned_user', None) + self.status = kwargs.get('status', None) + self.status_timestamp = None + self.os_version = kwargs.get('os_version', None) + self.sx_s_stack_version = kwargs.get('sx_s_stack_version', None) + self.update_state = kwargs.get('update_state', None) + self.last_update_time = None + self.update_error_message = kwargs.get('update_error_message', None) + + +class SessionHostList(msrest.serialization.Model): + """List of SessionHost definitions. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param value: List of SessionHost definitions. + :type value: list[~desktop_virtualization_api_client.models.SessionHost] + :ivar next_link: Link to the next page of results. + :vartype next_link: str + """ + + _validation = { + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[SessionHost]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(SessionHostList, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = None + + +class SessionHostPatch(Resource): + """SessionHost properties that can be patched. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or + Microsoft.Storage/storageAccounts. + :vartype type: str + :param allow_new_session: Allow a new session. + :type allow_new_session: bool + :param assigned_user: User assigned to SessionHost. + :type assigned_user: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'allow_new_session': {'key': 'properties.allowNewSession', 'type': 'bool'}, + 'assigned_user': {'key': 'properties.assignedUser', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(SessionHostPatch, self).__init__(**kwargs) + self.allow_new_session = kwargs.get('allow_new_session', None) + self.assigned_user = kwargs.get('assigned_user', None) + + +class StartMenuItem(Resource): + """Represents a StartMenuItem definition. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or + Microsoft.Storage/storageAccounts. + :vartype type: str + :param app_alias: Alias of StartMenuItem. + :type app_alias: str + :param friendly_name: Friendly name of StartMenuItem. + :type friendly_name: str + :param file_path: Path to the file of StartMenuItem. + :type file_path: str + :param command_line_arguments: Command line arguments for StartMenuItem. + :type command_line_arguments: str + :param icon_path: Path to the icon. + :type icon_path: str + :param icon_index: Index of the icon. + :type icon_index: int + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'app_alias': {'key': 'properties.appAlias', 'type': 'str'}, + 'friendly_name': {'key': 'properties.friendlyName', 'type': 'str'}, + 'file_path': {'key': 'properties.filePath', 'type': 'str'}, + 'command_line_arguments': {'key': 'properties.commandLineArguments', 'type': 'str'}, + 'icon_path': {'key': 'properties.iconPath', 'type': 'str'}, + 'icon_index': {'key': 'properties.iconIndex', 'type': 'int'}, + } + + def __init__( + self, + **kwargs + ): + super(StartMenuItem, self).__init__(**kwargs) + self.app_alias = kwargs.get('app_alias', None) + self.friendly_name = kwargs.get('friendly_name', None) + self.file_path = kwargs.get('file_path', None) + self.command_line_arguments = kwargs.get('command_line_arguments', None) + self.icon_path = kwargs.get('icon_path', None) + self.icon_index = kwargs.get('icon_index', None) + + +class StartMenuItemList(msrest.serialization.Model): + """List of StartMenuItem definitions. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param value: List of StartMenuItem definitions. + :type value: list[~desktop_virtualization_api_client.models.StartMenuItem] + :ivar next_link: Link to the next page of results. + :vartype next_link: str + """ + + _validation = { + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[StartMenuItem]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(StartMenuItemList, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = None + + +class UserSession(Resource): + """Represents a UserSession definition. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or + Microsoft.Storage/storageAccounts. + :vartype type: str + :param user_principal_name: The user principal name. + :type user_principal_name: str + :param application_type: Application type of application. Possible values include: "RemoteApp", + "Desktop". + :type application_type: str or ~desktop_virtualization_api_client.models.ApplicationType + :param session_state: State of user session. Possible values include: "Unknown", "Active", + "Disconnected", "Pending", "LogOff", "UserProfileDiskMounted". + :type session_state: str or ~desktop_virtualization_api_client.models.SessionState + :param active_directory_user_name: The active directory user name. + :type active_directory_user_name: str + :param create_time: The timestamp of the user session create. + :type create_time: ~datetime.datetime + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'user_principal_name': {'key': 'properties.userPrincipalName', 'type': 'str'}, + 'application_type': {'key': 'properties.applicationType', 'type': 'str'}, + 'session_state': {'key': 'properties.sessionState', 'type': 'str'}, + 'active_directory_user_name': {'key': 'properties.activeDirectoryUserName', 'type': 'str'}, + 'create_time': {'key': 'properties.createTime', 'type': 'iso-8601'}, + } + + def __init__( + self, + **kwargs + ): + super(UserSession, self).__init__(**kwargs) + self.user_principal_name = kwargs.get('user_principal_name', None) + self.application_type = kwargs.get('application_type', None) + self.session_state = kwargs.get('session_state', None) + self.active_directory_user_name = kwargs.get('active_directory_user_name', None) + self.create_time = kwargs.get('create_time', None) + + +class UserSessionList(msrest.serialization.Model): + """List of UserSession definitions. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param value: List of UserSession definitions. + :type value: list[~desktop_virtualization_api_client.models.UserSession] + :ivar next_link: Link to the next page of results. + :vartype next_link: str + """ + + _validation = { + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[UserSession]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(UserSessionList, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = None + + +class Workspace(TrackedResource): + """Represents a Workspace definition. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or + Microsoft.Storage/storageAccounts. + :vartype type: str + :param tags: A set of tags. Resource tags. + :type tags: dict[str, str] + :param location: Required. The geo-location where the resource lives. + :type location: str + :param description: Description of Workspace. + :type description: str + :param friendly_name: Friendly name of Workspace. + :type friendly_name: str + :param application_group_references: List of applicationGroup resource Ids. + :type application_group_references: list[str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'location': {'key': 'location', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'friendly_name': {'key': 'properties.friendlyName', 'type': 'str'}, + 'application_group_references': {'key': 'properties.applicationGroupReferences', 'type': '[str]'}, + } + + def __init__( + self, + **kwargs + ): + super(Workspace, self).__init__(**kwargs) + self.description = kwargs.get('description', None) + self.friendly_name = kwargs.get('friendly_name', None) + self.application_group_references = kwargs.get('application_group_references', None) + + +class WorkspaceList(msrest.serialization.Model): + """List of Workspace definitions. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param value: List of Workspace definitions. + :type value: list[~desktop_virtualization_api_client.models.Workspace] + :ivar next_link: Link to the next page of results. + :vartype next_link: str + """ + + _validation = { + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[Workspace]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(WorkspaceList, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = None + + +class WorkspacePatch(msrest.serialization.Model): + """Workspace properties that can be patched. + + :param tags: A set of tags. tags to be updated. + :type tags: dict[str, str] + :param description: Description of Workspace. + :type description: str + :param friendly_name: Friendly name of Workspace. + :type friendly_name: str + :param application_group_references: List of applicationGroup links. + :type application_group_references: list[str] + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'friendly_name': {'key': 'properties.friendlyName', 'type': 'str'}, + 'application_group_references': {'key': 'properties.applicationGroupReferences', 'type': '[str]'}, + } + + def __init__( + self, + **kwargs + ): + super(WorkspacePatch, self).__init__(**kwargs) + self.tags = kwargs.get('tags', None) + self.description = kwargs.get('description', None) + self.friendly_name = kwargs.get('friendly_name', None) + self.application_group_references = kwargs.get('application_group_references', None) diff --git a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/models/_models_py3.py b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/models/_models_py3.py new file mode 100644 index 00000000000..cc133d4a876 --- /dev/null +++ b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/models/_models_py3.py @@ -0,0 +1,1462 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +import datetime +from typing import Dict, List, Optional, Union + +import msrest.serialization + +from ._desktop_virtualization_api_client_enums import * + + +class Resource(msrest.serialization.Model): + """Resource. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or + Microsoft.Storage/storageAccounts. + :vartype type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(Resource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + + +class Application(Resource): + """Schema for Application properties. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or + Microsoft.Storage/storageAccounts. + :vartype type: str + :param description: Description of Application. + :type description: str + :param friendly_name: Friendly name of Application. + :type friendly_name: str + :param file_path: Specifies a path for the executable file for the application. + :type file_path: str + :param command_line_setting: Required. Specifies whether this published application can be + launched with command line arguments provided by the client, command line arguments specified + at publish time, or no command line arguments at all. Possible values include: "DoNotAllow", + "Allow", "Require". + :type command_line_setting: str or ~desktop_virtualization_api_client.models.CommandLineSetting + :param command_line_arguments: Command Line Arguments for Application. + :type command_line_arguments: str + :param show_in_portal: Specifies whether to show the RemoteApp program in the RD Web Access + server. + :type show_in_portal: bool + :param icon_path: Path to icon. + :type icon_path: str + :param icon_index: Index of the icon. + :type icon_index: int + :ivar icon_hash: Hash of the icon. + :vartype icon_hash: str + :ivar icon_content: the icon a 64 bit string as a byte array. + :vartype icon_content: bytearray + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'command_line_setting': {'required': True}, + 'icon_hash': {'readonly': True}, + 'icon_content': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'friendly_name': {'key': 'properties.friendlyName', 'type': 'str'}, + 'file_path': {'key': 'properties.filePath', 'type': 'str'}, + 'command_line_setting': {'key': 'properties.commandLineSetting', 'type': 'str'}, + 'command_line_arguments': {'key': 'properties.commandLineArguments', 'type': 'str'}, + 'show_in_portal': {'key': 'properties.showInPortal', 'type': 'bool'}, + 'icon_path': {'key': 'properties.iconPath', 'type': 'str'}, + 'icon_index': {'key': 'properties.iconIndex', 'type': 'int'}, + 'icon_hash': {'key': 'properties.iconHash', 'type': 'str'}, + 'icon_content': {'key': 'properties.iconContent', 'type': 'bytearray'}, + } + + def __init__( + self, + *, + command_line_setting: Union[str, "CommandLineSetting"], + description: Optional[str] = None, + friendly_name: Optional[str] = None, + file_path: Optional[str] = None, + command_line_arguments: Optional[str] = None, + show_in_portal: Optional[bool] = None, + icon_path: Optional[str] = None, + icon_index: Optional[int] = None, + **kwargs + ): + super(Application, self).__init__(**kwargs) + self.description = description + self.friendly_name = friendly_name + self.file_path = file_path + self.command_line_setting = command_line_setting + self.command_line_arguments = command_line_arguments + self.show_in_portal = show_in_portal + self.icon_path = icon_path + self.icon_index = icon_index + self.icon_hash = None + self.icon_content = None + + +class TrackedResource(Resource): + """The resource model definition for a ARM tracked top level resource. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or + Microsoft.Storage/storageAccounts. + :vartype type: str + :param tags: A set of tags. Resource tags. + :type tags: dict[str, str] + :param location: Required. The geo-location where the resource lives. + :type location: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'location': {'key': 'location', 'type': 'str'}, + } + + def __init__( + self, + *, + location: str, + tags: Optional[Dict[str, str]] = None, + **kwargs + ): + super(TrackedResource, self).__init__(**kwargs) + self.tags = tags + self.location = location + + +class ApplicationGroup(TrackedResource): + """Represents a ApplicationGroup definition. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or + Microsoft.Storage/storageAccounts. + :vartype type: str + :param tags: A set of tags. Resource tags. + :type tags: dict[str, str] + :param location: Required. The geo-location where the resource lives. + :type location: str + :param description: Description of ApplicationGroup. + :type description: str + :param friendly_name: Friendly name of ApplicationGroup. + :type friendly_name: str + :param host_pool_arm_path: Required. HostPool arm path of ApplicationGroup. + :type host_pool_arm_path: str + :ivar workspace_arm_path: Workspace arm path of ApplicationGroup. + :vartype workspace_arm_path: str + :param application_group_type: Required. Resource Type of ApplicationGroup. Possible values + include: "RemoteApp", "Desktop". + :type application_group_type: str or + ~desktop_virtualization_api_client.models.ApplicationGroupType + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + 'host_pool_arm_path': {'required': True}, + 'workspace_arm_path': {'readonly': True}, + 'application_group_type': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'location': {'key': 'location', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'friendly_name': {'key': 'properties.friendlyName', 'type': 'str'}, + 'host_pool_arm_path': {'key': 'properties.hostPoolArmPath', 'type': 'str'}, + 'workspace_arm_path': {'key': 'properties.workspaceArmPath', 'type': 'str'}, + 'application_group_type': {'key': 'properties.applicationGroupType', 'type': 'str'}, + } + + def __init__( + self, + *, + location: str, + host_pool_arm_path: str, + application_group_type: Union[str, "ApplicationGroupType"], + tags: Optional[Dict[str, str]] = None, + description: Optional[str] = None, + friendly_name: Optional[str] = None, + **kwargs + ): + super(ApplicationGroup, self).__init__(tags=tags, location=location, **kwargs) + self.description = description + self.friendly_name = friendly_name + self.host_pool_arm_path = host_pool_arm_path + self.workspace_arm_path = None + self.application_group_type = application_group_type + + +class ApplicationGroupList(msrest.serialization.Model): + """List of ApplicationGroup definitions. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param value: List of ApplicationGroup definitions. + :type value: list[~desktop_virtualization_api_client.models.ApplicationGroup] + :ivar next_link: Link to the next page of results. + :vartype next_link: str + """ + + _validation = { + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ApplicationGroup]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["ApplicationGroup"]] = None, + **kwargs + ): + super(ApplicationGroupList, self).__init__(**kwargs) + self.value = value + self.next_link = None + + +class ApplicationGroupPatch(Resource): + """ApplicationGroup properties that can be patched. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or + Microsoft.Storage/storageAccounts. + :vartype type: str + :param tags: A set of tags. tags to be updated. + :type tags: dict[str, str] + :param description: Description of ApplicationGroup. + :type description: str + :param friendly_name: Friendly name of ApplicationGroup. + :type friendly_name: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'friendly_name': {'key': 'properties.friendlyName', 'type': 'str'}, + } + + def __init__( + self, + *, + tags: Optional[Dict[str, str]] = None, + description: Optional[str] = None, + friendly_name: Optional[str] = None, + **kwargs + ): + super(ApplicationGroupPatch, self).__init__(**kwargs) + self.tags = tags + self.description = description + self.friendly_name = friendly_name + + +class ApplicationList(msrest.serialization.Model): + """List of Application definitions. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param value: List of Application definitions. + :type value: list[~desktop_virtualization_api_client.models.Application] + :ivar next_link: Link to the next page of results. + :vartype next_link: str + """ + + _validation = { + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[Application]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["Application"]] = None, + **kwargs + ): + super(ApplicationList, self).__init__(**kwargs) + self.value = value + self.next_link = None + + +class ApplicationPatch(msrest.serialization.Model): + """Application properties that can be patched. + + :param tags: A set of tags. tags to be updated. + :type tags: dict[str, str] + :param description: Description of Application. + :type description: str + :param friendly_name: Friendly name of Application. + :type friendly_name: str + :param file_path: Specifies a path for the executable file for the application. + :type file_path: str + :param command_line_setting: Specifies whether this published application can be launched with + command line arguments provided by the client, command line arguments specified at publish + time, or no command line arguments at all. Possible values include: "DoNotAllow", "Allow", + "Require". + :type command_line_setting: str or ~desktop_virtualization_api_client.models.CommandLineSetting + :param command_line_arguments: Command Line Arguments for Application. + :type command_line_arguments: str + :param show_in_portal: Specifies whether to show the RemoteApp program in the RD Web Access + server. + :type show_in_portal: bool + :param icon_path: Path to icon. + :type icon_path: str + :param icon_index: Index of the icon. + :type icon_index: int + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'friendly_name': {'key': 'properties.friendlyName', 'type': 'str'}, + 'file_path': {'key': 'properties.filePath', 'type': 'str'}, + 'command_line_setting': {'key': 'properties.commandLineSetting', 'type': 'str'}, + 'command_line_arguments': {'key': 'properties.commandLineArguments', 'type': 'str'}, + 'show_in_portal': {'key': 'properties.showInPortal', 'type': 'bool'}, + 'icon_path': {'key': 'properties.iconPath', 'type': 'str'}, + 'icon_index': {'key': 'properties.iconIndex', 'type': 'int'}, + } + + def __init__( + self, + *, + tags: Optional[Dict[str, str]] = None, + description: Optional[str] = None, + friendly_name: Optional[str] = None, + file_path: Optional[str] = None, + command_line_setting: Optional[Union[str, "CommandLineSetting"]] = None, + command_line_arguments: Optional[str] = None, + show_in_portal: Optional[bool] = None, + icon_path: Optional[str] = None, + icon_index: Optional[int] = None, + **kwargs + ): + super(ApplicationPatch, self).__init__(**kwargs) + self.tags = tags + self.description = description + self.friendly_name = friendly_name + self.file_path = file_path + self.command_line_setting = command_line_setting + self.command_line_arguments = command_line_arguments + self.show_in_portal = show_in_portal + self.icon_path = icon_path + self.icon_index = icon_index + + +class Desktop(Resource): + """Schema for Desktop properties. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or + Microsoft.Storage/storageAccounts. + :vartype type: str + :param description: Description of Desktop. + :type description: str + :param friendly_name: Friendly name of Desktop. + :type friendly_name: str + :ivar icon_hash: Hash of the icon. + :vartype icon_hash: str + :ivar icon_content: The icon a 64 bit string as a byte array. + :vartype icon_content: bytearray + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'icon_hash': {'readonly': True}, + 'icon_content': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'friendly_name': {'key': 'properties.friendlyName', 'type': 'str'}, + 'icon_hash': {'key': 'properties.iconHash', 'type': 'str'}, + 'icon_content': {'key': 'properties.iconContent', 'type': 'bytearray'}, + } + + def __init__( + self, + *, + description: Optional[str] = None, + friendly_name: Optional[str] = None, + **kwargs + ): + super(Desktop, self).__init__(**kwargs) + self.description = description + self.friendly_name = friendly_name + self.icon_hash = None + self.icon_content = None + + +class DesktopList(msrest.serialization.Model): + """List of Desktop definitions. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param value: List of Desktop definitions. + :type value: list[~desktop_virtualization_api_client.models.Desktop] + :ivar next_link: Link to the next page of results. + :vartype next_link: str + """ + + _validation = { + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[Desktop]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["Desktop"]] = None, + **kwargs + ): + super(DesktopList, self).__init__(**kwargs) + self.value = value + self.next_link = None + + +class DesktopPatch(msrest.serialization.Model): + """Desktop properties that can be patched. + + :param tags: A set of tags. tags to be updated. + :type tags: dict[str, str] + :param description: Description of Desktop. + :type description: str + :param friendly_name: Friendly name of Desktop. + :type friendly_name: str + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'friendly_name': {'key': 'properties.friendlyName', 'type': 'str'}, + } + + def __init__( + self, + *, + tags: Optional[Dict[str, str]] = None, + description: Optional[str] = None, + friendly_name: Optional[str] = None, + **kwargs + ): + super(DesktopPatch, self).__init__(**kwargs) + self.tags = tags + self.description = description + self.friendly_name = friendly_name + + +class HostPool(TrackedResource): + """Represents a HostPool definition. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or + Microsoft.Storage/storageAccounts. + :vartype type: str + :param tags: A set of tags. Resource tags. + :type tags: dict[str, str] + :param location: Required. The geo-location where the resource lives. + :type location: str + :param friendly_name: Friendly name of HostPool. + :type friendly_name: str + :param description: Description of HostPool. + :type description: str + :param host_pool_type: Required. HostPool type for desktop. Possible values include: + "Personal", "Pooled". + :type host_pool_type: str or ~desktop_virtualization_api_client.models.HostPoolType + :param personal_desktop_assignment_type: Required. PersonalDesktopAssignment type for HostPool. + Possible values include: "Automatic", "Direct". + :type personal_desktop_assignment_type: str or + ~desktop_virtualization_api_client.models.PersonalDesktopAssignmentType + :param custom_rdp_property: Custom rdp property of HostPool. + :type custom_rdp_property: str + :param max_session_limit: The max session limit of HostPool. + :type max_session_limit: int + :param load_balancer_type: Required. The type of the load balancer. Possible values include: + "BreadthFirst", "DepthFirst", "Persistent". + :type load_balancer_type: str or ~desktop_virtualization_api_client.models.LoadBalancerType + :param ring: The ring number of HostPool. + :type ring: int + :param validation_environment: Is validation environment. + :type validation_environment: bool + :param registration_info: The registration info of HostPool. + :type registration_info: ~desktop_virtualization_api_client.models.RegistrationInfo + :param vm_template: VM template for sessionhosts configuration within hostpool. + :type vm_template: str + :ivar application_group_references: List of applicationGroup links. + :vartype application_group_references: list[str] + :param sso_context: Path to keyvault containing ssoContext secret. + :type sso_context: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + 'host_pool_type': {'required': True}, + 'personal_desktop_assignment_type': {'required': True}, + 'load_balancer_type': {'required': True}, + 'application_group_references': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'location': {'key': 'location', 'type': 'str'}, + 'friendly_name': {'key': 'properties.friendlyName', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'host_pool_type': {'key': 'properties.hostPoolType', 'type': 'str'}, + 'personal_desktop_assignment_type': {'key': 'properties.personalDesktopAssignmentType', 'type': 'str'}, + 'custom_rdp_property': {'key': 'properties.customRdpProperty', 'type': 'str'}, + 'max_session_limit': {'key': 'properties.maxSessionLimit', 'type': 'int'}, + 'load_balancer_type': {'key': 'properties.loadBalancerType', 'type': 'str'}, + 'ring': {'key': 'properties.ring', 'type': 'int'}, + 'validation_environment': {'key': 'properties.validationEnvironment', 'type': 'bool'}, + 'registration_info': {'key': 'properties.registrationInfo', 'type': 'RegistrationInfo'}, + 'vm_template': {'key': 'properties.vmTemplate', 'type': 'str'}, + 'application_group_references': {'key': 'properties.applicationGroupReferences', 'type': '[str]'}, + 'sso_context': {'key': 'properties.ssoContext', 'type': 'str'}, + } + + def __init__( + self, + *, + location: str, + host_pool_type: Union[str, "HostPoolType"], + personal_desktop_assignment_type: Union[str, "PersonalDesktopAssignmentType"], + load_balancer_type: Union[str, "LoadBalancerType"], + tags: Optional[Dict[str, str]] = None, + friendly_name: Optional[str] = None, + description: Optional[str] = None, + custom_rdp_property: Optional[str] = None, + max_session_limit: Optional[int] = None, + ring: Optional[int] = None, + validation_environment: Optional[bool] = None, + registration_info: Optional["RegistrationInfo"] = None, + vm_template: Optional[str] = None, + sso_context: Optional[str] = None, + **kwargs + ): + super(HostPool, self).__init__(tags=tags, location=location, **kwargs) + self.friendly_name = friendly_name + self.description = description + self.host_pool_type = host_pool_type + self.personal_desktop_assignment_type = personal_desktop_assignment_type + self.custom_rdp_property = custom_rdp_property + self.max_session_limit = max_session_limit + self.load_balancer_type = load_balancer_type + self.ring = ring + self.validation_environment = validation_environment + self.registration_info = registration_info + self.vm_template = vm_template + self.application_group_references = None + self.sso_context = sso_context + + +class HostPoolList(msrest.serialization.Model): + """List of HostPool definitions. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param value: List of HostPool definitions. + :type value: list[~desktop_virtualization_api_client.models.HostPool] + :ivar next_link: Link to the next page of results. + :vartype next_link: str + """ + + _validation = { + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[HostPool]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["HostPool"]] = None, + **kwargs + ): + super(HostPoolList, self).__init__(**kwargs) + self.value = value + self.next_link = None + + +class HostPoolPatch(Resource): + """HostPool properties that can be patched. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or + Microsoft.Storage/storageAccounts. + :vartype type: str + :param tags: A set of tags. tags to be updated. + :type tags: dict[str, str] + :param friendly_name: Friendly name of HostPool. + :type friendly_name: str + :param description: Description of HostPool. + :type description: str + :param custom_rdp_property: Custom rdp property of HostPool. + :type custom_rdp_property: str + :param max_session_limit: The max session limit of HostPool. + :type max_session_limit: int + :param personal_desktop_assignment_type: PersonalDesktopAssignment type for HostPool. Possible + values include: "Automatic", "Direct". + :type personal_desktop_assignment_type: str or + ~desktop_virtualization_api_client.models.PersonalDesktopAssignmentType + :param load_balancer_type: The type of the load balancer. Possible values include: + "BreadthFirst", "DepthFirst", "Persistent". + :type load_balancer_type: str or ~desktop_virtualization_api_client.models.LoadBalancerType + :param ring: The ring number of HostPool. + :type ring: int + :param validation_environment: Is validation environment. + :type validation_environment: bool + :param registration_info: The registration info of HostPool. + :type registration_info: ~desktop_virtualization_api_client.models.RegistrationInfoPatch + :param sso_context: Path to keyvault containing ssoContext secret. + :type sso_context: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'friendly_name': {'key': 'properties.friendlyName', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'custom_rdp_property': {'key': 'properties.customRdpProperty', 'type': 'str'}, + 'max_session_limit': {'key': 'properties.maxSessionLimit', 'type': 'int'}, + 'personal_desktop_assignment_type': {'key': 'properties.personalDesktopAssignmentType', 'type': 'str'}, + 'load_balancer_type': {'key': 'properties.loadBalancerType', 'type': 'str'}, + 'ring': {'key': 'properties.ring', 'type': 'int'}, + 'validation_environment': {'key': 'properties.validationEnvironment', 'type': 'bool'}, + 'registration_info': {'key': 'properties.registrationInfo', 'type': 'RegistrationInfoPatch'}, + 'sso_context': {'key': 'properties.ssoContext', 'type': 'str'}, + } + + def __init__( + self, + *, + tags: Optional[Dict[str, str]] = None, + friendly_name: Optional[str] = None, + description: Optional[str] = None, + custom_rdp_property: Optional[str] = None, + max_session_limit: Optional[int] = None, + personal_desktop_assignment_type: Optional[Union[str, "PersonalDesktopAssignmentType"]] = None, + load_balancer_type: Optional[Union[str, "LoadBalancerType"]] = None, + ring: Optional[int] = None, + validation_environment: Optional[bool] = None, + registration_info: Optional["RegistrationInfoPatch"] = None, + sso_context: Optional[str] = None, + **kwargs + ): + super(HostPoolPatch, self).__init__(**kwargs) + self.tags = tags + self.friendly_name = friendly_name + self.description = description + self.custom_rdp_property = custom_rdp_property + self.max_session_limit = max_session_limit + self.personal_desktop_assignment_type = personal_desktop_assignment_type + self.load_balancer_type = load_balancer_type + self.ring = ring + self.validation_environment = validation_environment + self.registration_info = registration_info + self.sso_context = sso_context + + +class RegistrationInfo(msrest.serialization.Model): + """Represents a RegistrationInfo definition. + + :param expiration_time: Expiration time of registration token. + :type expiration_time: ~datetime.datetime + :param token: The registration token base64 encoded string. + :type token: str + :param registration_token_operation: The type of resetting the token. Possible values include: + "Delete", "None", "Update". + :type registration_token_operation: str or + ~desktop_virtualization_api_client.models.RegistrationTokenOperation + """ + + _attribute_map = { + 'expiration_time': {'key': 'expirationTime', 'type': 'iso-8601'}, + 'token': {'key': 'token', 'type': 'str'}, + 'registration_token_operation': {'key': 'registrationTokenOperation', 'type': 'str'}, + } + + def __init__( + self, + *, + expiration_time: Optional[datetime.datetime] = None, + token: Optional[str] = None, + registration_token_operation: Optional[Union[str, "RegistrationTokenOperation"]] = None, + **kwargs + ): + super(RegistrationInfo, self).__init__(**kwargs) + self.expiration_time = expiration_time + self.token = token + self.registration_token_operation = registration_token_operation + + +class RegistrationInfoPatch(msrest.serialization.Model): + """Represents a RegistrationInfo definition. + + :param expiration_time: Expiration time of registration token. + :type expiration_time: ~datetime.datetime + :param registration_token_operation: The type of resetting the token. Possible values include: + "Delete", "None", "Update". + :type registration_token_operation: str or + ~desktop_virtualization_api_client.models.RegistrationTokenOperation + """ + + _attribute_map = { + 'expiration_time': {'key': 'expirationTime', 'type': 'iso-8601'}, + 'registration_token_operation': {'key': 'registrationTokenOperation', 'type': 'str'}, + } + + def __init__( + self, + *, + expiration_time: Optional[datetime.datetime] = None, + registration_token_operation: Optional[Union[str, "RegistrationTokenOperation"]] = None, + **kwargs + ): + super(RegistrationInfoPatch, self).__init__(**kwargs) + self.expiration_time = expiration_time + self.registration_token_operation = registration_token_operation + + +class ResourceProviderOperation(msrest.serialization.Model): + """Supported operation of this resource provider. + + :param name: Operation name, in format of {provider}/{resource}/{operation}. + :type name: str + :param display: Display metadata associated with the operation. + :type display: ~desktop_virtualization_api_client.models.ResourceProviderOperationDisplay + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'ResourceProviderOperationDisplay'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + display: Optional["ResourceProviderOperationDisplay"] = None, + **kwargs + ): + super(ResourceProviderOperation, self).__init__(**kwargs) + self.name = name + self.display = display + + +class ResourceProviderOperationDisplay(msrest.serialization.Model): + """Display metadata associated with the operation. + + :param provider: Resource provider: Microsoft Desktop Virtualization. + :type provider: str + :param resource: Resource on which the operation is performed. + :type resource: str + :param operation: Type of operation: get, read, delete, etc. + :type operation: str + :param description: Description of this operation. + :type description: str + """ + + _attribute_map = { + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__( + self, + *, + provider: Optional[str] = None, + resource: Optional[str] = None, + operation: Optional[str] = None, + description: Optional[str] = None, + **kwargs + ): + super(ResourceProviderOperationDisplay, self).__init__(**kwargs) + self.provider = provider + self.resource = resource + self.operation = operation + self.description = description + + +class ResourceProviderOperationList(msrest.serialization.Model): + """Result of the request to list operations. + + :param value: List of operations supported by this resource provider. + :type value: list[~desktop_virtualization_api_client.models.ResourceProviderOperation] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ResourceProviderOperation]'}, + } + + def __init__( + self, + *, + value: Optional[List["ResourceProviderOperation"]] = None, + **kwargs + ): + super(ResourceProviderOperationList, self).__init__(**kwargs) + self.value = value + + +class SendMessage(msrest.serialization.Model): + """Represents message sent to a UserSession. + + :param message_title: Title of message. + :type message_title: str + :param message_body: Body of message. + :type message_body: str + """ + + _attribute_map = { + 'message_title': {'key': 'messageTitle', 'type': 'str'}, + 'message_body': {'key': 'messageBody', 'type': 'str'}, + } + + def __init__( + self, + *, + message_title: Optional[str] = None, + message_body: Optional[str] = None, + **kwargs + ): + super(SendMessage, self).__init__(**kwargs) + self.message_title = message_title + self.message_body = message_body + + +class SessionHost(Resource): + """Represents a SessionHost definition. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or + Microsoft.Storage/storageAccounts. + :vartype type: str + :param last_heart_beat: Last heart beat from SessionHost. + :type last_heart_beat: ~datetime.datetime + :param sessions: Number of sessions on SessionHost. + :type sessions: int + :param agent_version: Version of agent on SessionHost. + :type agent_version: str + :param allow_new_session: Allow a new session. + :type allow_new_session: bool + :param assigned_user: User assigned to SessionHost. + :type assigned_user: str + :param status: Status for a SessionHost. Possible values include: "Available", "Unavailable", + "Shutdown", "Disconnected", "Upgrading", "UpgradeFailed". + :type status: str or ~desktop_virtualization_api_client.models.Status + :ivar status_timestamp: The timestamp of the status. + :vartype status_timestamp: ~datetime.datetime + :param os_version: The version of the OS on the session host. + :type os_version: str + :param sx_s_stack_version: The version of the side by side stack on the session host. + :type sx_s_stack_version: str + :param update_state: Update state of a SessionHost. Possible values include: "Initial", + "Pending", "Started", "Succeeded", "Failed". + :type update_state: str or ~desktop_virtualization_api_client.models.UpdateState + :ivar last_update_time: The timestamp of the last update. + :vartype last_update_time: ~datetime.datetime + :param update_error_message: The error message. + :type update_error_message: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'status_timestamp': {'readonly': True}, + 'last_update_time': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'last_heart_beat': {'key': 'properties.lastHeartBeat', 'type': 'iso-8601'}, + 'sessions': {'key': 'properties.sessions', 'type': 'int'}, + 'agent_version': {'key': 'properties.agentVersion', 'type': 'str'}, + 'allow_new_session': {'key': 'properties.allowNewSession', 'type': 'bool'}, + 'assigned_user': {'key': 'properties.assignedUser', 'type': 'str'}, + 'status': {'key': 'properties.status', 'type': 'str'}, + 'status_timestamp': {'key': 'properties.statusTimestamp', 'type': 'iso-8601'}, + 'os_version': {'key': 'properties.osVersion', 'type': 'str'}, + 'sx_s_stack_version': {'key': 'properties.sxSStackVersion', 'type': 'str'}, + 'update_state': {'key': 'properties.updateState', 'type': 'str'}, + 'last_update_time': {'key': 'properties.lastUpdateTime', 'type': 'iso-8601'}, + 'update_error_message': {'key': 'properties.updateErrorMessage', 'type': 'str'}, + } + + def __init__( + self, + *, + last_heart_beat: Optional[datetime.datetime] = None, + sessions: Optional[int] = None, + agent_version: Optional[str] = None, + allow_new_session: Optional[bool] = None, + assigned_user: Optional[str] = None, + status: Optional[Union[str, "Status"]] = None, + os_version: Optional[str] = None, + sx_s_stack_version: Optional[str] = None, + update_state: Optional[Union[str, "UpdateState"]] = None, + update_error_message: Optional[str] = None, + **kwargs + ): + super(SessionHost, self).__init__(**kwargs) + self.last_heart_beat = last_heart_beat + self.sessions = sessions + self.agent_version = agent_version + self.allow_new_session = allow_new_session + self.assigned_user = assigned_user + self.status = status + self.status_timestamp = None + self.os_version = os_version + self.sx_s_stack_version = sx_s_stack_version + self.update_state = update_state + self.last_update_time = None + self.update_error_message = update_error_message + + +class SessionHostList(msrest.serialization.Model): + """List of SessionHost definitions. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param value: List of SessionHost definitions. + :type value: list[~desktop_virtualization_api_client.models.SessionHost] + :ivar next_link: Link to the next page of results. + :vartype next_link: str + """ + + _validation = { + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[SessionHost]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["SessionHost"]] = None, + **kwargs + ): + super(SessionHostList, self).__init__(**kwargs) + self.value = value + self.next_link = None + + +class SessionHostPatch(Resource): + """SessionHost properties that can be patched. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or + Microsoft.Storage/storageAccounts. + :vartype type: str + :param allow_new_session: Allow a new session. + :type allow_new_session: bool + :param assigned_user: User assigned to SessionHost. + :type assigned_user: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'allow_new_session': {'key': 'properties.allowNewSession', 'type': 'bool'}, + 'assigned_user': {'key': 'properties.assignedUser', 'type': 'str'}, + } + + def __init__( + self, + *, + allow_new_session: Optional[bool] = None, + assigned_user: Optional[str] = None, + **kwargs + ): + super(SessionHostPatch, self).__init__(**kwargs) + self.allow_new_session = allow_new_session + self.assigned_user = assigned_user + + +class StartMenuItem(Resource): + """Represents a StartMenuItem definition. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or + Microsoft.Storage/storageAccounts. + :vartype type: str + :param app_alias: Alias of StartMenuItem. + :type app_alias: str + :param friendly_name: Friendly name of StartMenuItem. + :type friendly_name: str + :param file_path: Path to the file of StartMenuItem. + :type file_path: str + :param command_line_arguments: Command line arguments for StartMenuItem. + :type command_line_arguments: str + :param icon_path: Path to the icon. + :type icon_path: str + :param icon_index: Index of the icon. + :type icon_index: int + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'app_alias': {'key': 'properties.appAlias', 'type': 'str'}, + 'friendly_name': {'key': 'properties.friendlyName', 'type': 'str'}, + 'file_path': {'key': 'properties.filePath', 'type': 'str'}, + 'command_line_arguments': {'key': 'properties.commandLineArguments', 'type': 'str'}, + 'icon_path': {'key': 'properties.iconPath', 'type': 'str'}, + 'icon_index': {'key': 'properties.iconIndex', 'type': 'int'}, + } + + def __init__( + self, + *, + app_alias: Optional[str] = None, + friendly_name: Optional[str] = None, + file_path: Optional[str] = None, + command_line_arguments: Optional[str] = None, + icon_path: Optional[str] = None, + icon_index: Optional[int] = None, + **kwargs + ): + super(StartMenuItem, self).__init__(**kwargs) + self.app_alias = app_alias + self.friendly_name = friendly_name + self.file_path = file_path + self.command_line_arguments = command_line_arguments + self.icon_path = icon_path + self.icon_index = icon_index + + +class StartMenuItemList(msrest.serialization.Model): + """List of StartMenuItem definitions. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param value: List of StartMenuItem definitions. + :type value: list[~desktop_virtualization_api_client.models.StartMenuItem] + :ivar next_link: Link to the next page of results. + :vartype next_link: str + """ + + _validation = { + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[StartMenuItem]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["StartMenuItem"]] = None, + **kwargs + ): + super(StartMenuItemList, self).__init__(**kwargs) + self.value = value + self.next_link = None + + +class UserSession(Resource): + """Represents a UserSession definition. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or + Microsoft.Storage/storageAccounts. + :vartype type: str + :param user_principal_name: The user principal name. + :type user_principal_name: str + :param application_type: Application type of application. Possible values include: "RemoteApp", + "Desktop". + :type application_type: str or ~desktop_virtualization_api_client.models.ApplicationType + :param session_state: State of user session. Possible values include: "Unknown", "Active", + "Disconnected", "Pending", "LogOff", "UserProfileDiskMounted". + :type session_state: str or ~desktop_virtualization_api_client.models.SessionState + :param active_directory_user_name: The active directory user name. + :type active_directory_user_name: str + :param create_time: The timestamp of the user session create. + :type create_time: ~datetime.datetime + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'user_principal_name': {'key': 'properties.userPrincipalName', 'type': 'str'}, + 'application_type': {'key': 'properties.applicationType', 'type': 'str'}, + 'session_state': {'key': 'properties.sessionState', 'type': 'str'}, + 'active_directory_user_name': {'key': 'properties.activeDirectoryUserName', 'type': 'str'}, + 'create_time': {'key': 'properties.createTime', 'type': 'iso-8601'}, + } + + def __init__( + self, + *, + user_principal_name: Optional[str] = None, + application_type: Optional[Union[str, "ApplicationType"]] = None, + session_state: Optional[Union[str, "SessionState"]] = None, + active_directory_user_name: Optional[str] = None, + create_time: Optional[datetime.datetime] = None, + **kwargs + ): + super(UserSession, self).__init__(**kwargs) + self.user_principal_name = user_principal_name + self.application_type = application_type + self.session_state = session_state + self.active_directory_user_name = active_directory_user_name + self.create_time = create_time + + +class UserSessionList(msrest.serialization.Model): + """List of UserSession definitions. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param value: List of UserSession definitions. + :type value: list[~desktop_virtualization_api_client.models.UserSession] + :ivar next_link: Link to the next page of results. + :vartype next_link: str + """ + + _validation = { + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[UserSession]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["UserSession"]] = None, + **kwargs + ): + super(UserSessionList, self).__init__(**kwargs) + self.value = value + self.next_link = None + + +class Workspace(TrackedResource): + """Represents a Workspace definition. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or + Microsoft.Storage/storageAccounts. + :vartype type: str + :param tags: A set of tags. Resource tags. + :type tags: dict[str, str] + :param location: Required. The geo-location where the resource lives. + :type location: str + :param description: Description of Workspace. + :type description: str + :param friendly_name: Friendly name of Workspace. + :type friendly_name: str + :param application_group_references: List of applicationGroup resource Ids. + :type application_group_references: list[str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'location': {'key': 'location', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'friendly_name': {'key': 'properties.friendlyName', 'type': 'str'}, + 'application_group_references': {'key': 'properties.applicationGroupReferences', 'type': '[str]'}, + } + + def __init__( + self, + *, + location: str, + tags: Optional[Dict[str, str]] = None, + description: Optional[str] = None, + friendly_name: Optional[str] = None, + application_group_references: Optional[List[str]] = None, + **kwargs + ): + super(Workspace, self).__init__(tags=tags, location=location, **kwargs) + self.description = description + self.friendly_name = friendly_name + self.application_group_references = application_group_references + + +class WorkspaceList(msrest.serialization.Model): + """List of Workspace definitions. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param value: List of Workspace definitions. + :type value: list[~desktop_virtualization_api_client.models.Workspace] + :ivar next_link: Link to the next page of results. + :vartype next_link: str + """ + + _validation = { + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[Workspace]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["Workspace"]] = None, + **kwargs + ): + super(WorkspaceList, self).__init__(**kwargs) + self.value = value + self.next_link = None + + +class WorkspacePatch(msrest.serialization.Model): + """Workspace properties that can be patched. + + :param tags: A set of tags. tags to be updated. + :type tags: dict[str, str] + :param description: Description of Workspace. + :type description: str + :param friendly_name: Friendly name of Workspace. + :type friendly_name: str + :param application_group_references: List of applicationGroup links. + :type application_group_references: list[str] + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'friendly_name': {'key': 'properties.friendlyName', 'type': 'str'}, + 'application_group_references': {'key': 'properties.applicationGroupReferences', 'type': '[str]'}, + } + + def __init__( + self, + *, + tags: Optional[Dict[str, str]] = None, + description: Optional[str] = None, + friendly_name: Optional[str] = None, + application_group_references: Optional[List[str]] = None, + **kwargs + ): + super(WorkspacePatch, self).__init__(**kwargs) + self.tags = tags + self.description = description + self.friendly_name = friendly_name + self.application_group_references = application_group_references diff --git a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/__init__.py b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/__init__.py new file mode 100644 index 00000000000..08f1a117a4f --- /dev/null +++ b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/__init__.py @@ -0,0 +1,33 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._operation_operations import OperationOperations +from ._workspace_operations import WorkspaceOperations +from ._application_group_assignment_operations import ApplicationGroupAssignmentOperations +from ._application_group_operations import ApplicationGroupOperations +from ._start_menu_item_operations import StartMenuItemOperations +from ._application_operations import ApplicationOperations +from ._desktop_operations import DesktopOperations +from ._host_pool_operations import HostPoolOperations +from ._user_session_operations import UserSessionOperations +from ._session_host_operations import SessionHostOperations +from ._active_application_operations import ActiveApplicationOperations + +__all__ = [ + 'OperationOperations', + 'WorkspaceOperations', + 'ApplicationGroupAssignmentOperations', + 'ApplicationGroupOperations', + 'StartMenuItemOperations', + 'ApplicationOperations', + 'DesktopOperations', + 'HostPoolOperations', + 'UserSessionOperations', + 'SessionHostOperations', + 'ActiveApplicationOperations', +] diff --git a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_active_application_operations.py b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_active_application_operations.py new file mode 100644 index 00000000000..59f1de40ddf --- /dev/null +++ b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_active_application_operations.py @@ -0,0 +1,128 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.mgmt.core.exceptions import ARMErrorFormat + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class ActiveApplicationOperations(object): + """ActiveApplicationOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~desktop_virtualization_api_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list_by_session_host( + self, + resource_group_name, # type: str + host_pool_name, # type: str + session_host_name, # type: str + filter=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> Iterable["models.ApplicationList"] + """List applications for the given session host. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param host_pool_name: The name of the host pool within the specified resource group. + :type host_pool_name: str + :param session_host_name: The name of the session host within the specified host pool. + :type session_host_name: str + :param filter: OData filter expression. Valid properties for filtering are userprincipalname + and sessionstate. + :type filter: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ApplicationList or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~desktop_virtualization_api_client.models.ApplicationList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ApplicationList"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-12-10-preview" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_session_host.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=24, min_length=3), + 'sessionHostName': self._serialize.url("session_host_name", session_host_name, 'str', max_length=48, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('ApplicationList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_by_session_host.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/activeApplications'} # type: ignore diff --git a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_application_group_assignment_operations.py b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_application_group_assignment_operations.py new file mode 100644 index 00000000000..3ec2fa1ba14 --- /dev/null +++ b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_application_group_assignment_operations.py @@ -0,0 +1,124 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.mgmt.core.exceptions import ARMErrorFormat + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class ApplicationGroupAssignmentOperations(object): + """ApplicationGroupAssignmentOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~desktop_virtualization_api_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def workspace_level_list( + self, + resource_group_name, # type: str + workspace_name, # type: str + filter=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> Iterable["models.ApplicationGroupList"] + """List application group that user can use. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param workspace_name: The name of the workspace. + :type workspace_name: str + :param filter: OData filter expression. Valid properties for filtering are + applicationGroupType. + :type filter: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ApplicationGroupList or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~desktop_virtualization_api_client.models.ApplicationGroupList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ApplicationGroupList"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-12-10-preview" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.workspace_level_list.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'workspaceName': self._serialize.url("workspace_name", workspace_name, 'str', max_length=24, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('ApplicationGroupList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + workspace_level_list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}/userApplicationGroupAssignments'} # type: ignore diff --git a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_application_group_operations.py b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_application_group_operations.py new file mode 100644 index 00000000000..7ab3e5b6dec --- /dev/null +++ b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_application_group_operations.py @@ -0,0 +1,465 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.mgmt.core.exceptions import ARMErrorFormat + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class ApplicationGroupOperations(object): + """ApplicationGroupOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~desktop_virtualization_api_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def get( + self, + resource_group_name, # type: str + application_group_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.ApplicationGroup" + """Get an application group. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param application_group_name: The name of the application group. + :type application_group_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ApplicationGroup, or the result of cls(response) + :rtype: ~desktop_virtualization_api_client.models.ApplicationGroup + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ApplicationGroup"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-12-10-preview" + + # Construct URL + url = self.get.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'applicationGroupName': self._serialize.url("application_group_name", application_group_name, 'str', max_length=24, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ApplicationGroup', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}'} # type: ignore + + def create_or_update( + self, + resource_group_name, # type: str + application_group_name, # type: str + location, # type: str + host_pool_arm_path, # type: str + application_group_type, # type: Union[str, "models.ApplicationGroupType"] + tags=None, # type: Optional[Dict[str, str]] + description=None, # type: Optional[str] + friendly_name=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.ApplicationGroup" + """Create or update an applicationGroup. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param application_group_name: The name of the application group. + :type application_group_name: str + :param location: The geo-location where the resource lives. + :type location: str + :param host_pool_arm_path: HostPool arm path of ApplicationGroup. + :type host_pool_arm_path: str + :param application_group_type: Resource Type of ApplicationGroup. + :type application_group_type: str or ~desktop_virtualization_api_client.models.ApplicationGroupType + :param tags: Resource tags. + :type tags: dict[str, str] + :param description: Description of ApplicationGroup. + :type description: str + :param friendly_name: Friendly name of ApplicationGroup. + :type friendly_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ApplicationGroup, or the result of cls(response) + :rtype: ~desktop_virtualization_api_client.models.ApplicationGroup + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ApplicationGroup"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + + _application_group = models.ApplicationGroup(tags=tags, location=location, description=description, friendly_name=friendly_name, host_pool_arm_path=host_pool_arm_path, application_group_type=application_group_type) + api_version = "2019-12-10-preview" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.create_or_update.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'applicationGroupName': self._serialize.url("application_group_name", application_group_name, 'str', max_length=24, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_application_group, 'ApplicationGroup') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('ApplicationGroup', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('ApplicationGroup', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}'} # type: ignore + + def delete( + self, + resource_group_name, # type: str + application_group_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + """Remove an applicationGroup. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param application_group_name: The name of the application group. + :type application_group_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-12-10-preview" + + # Construct URL + url = self.delete.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'applicationGroupName': self._serialize.url("application_group_name", application_group_name, 'str', max_length=24, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}'} # type: ignore + + def update( + self, + resource_group_name, # type: str + application_group_name, # type: str + tags=None, # type: Optional[Dict[str, str]] + description=None, # type: Optional[str] + friendly_name=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.ApplicationGroup" + """Update an applicationGroup. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param application_group_name: The name of the application group. + :type application_group_name: str + :param tags: tags to be updated. + :type tags: dict[str, str] + :param description: Description of ApplicationGroup. + :type description: str + :param friendly_name: Friendly name of ApplicationGroup. + :type friendly_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ApplicationGroup, or the result of cls(response) + :rtype: ~desktop_virtualization_api_client.models.ApplicationGroup + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ApplicationGroup"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + + _application_group = models.ApplicationGroupPatch(tags=tags, description=description, friendly_name=friendly_name) + api_version = "2019-12-10-preview" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.update.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'applicationGroupName': self._serialize.url("application_group_name", application_group_name, 'str', max_length=24, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + if _application_group is not None: + body_content = self._serialize.body(_application_group, 'ApplicationGroupPatch') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ApplicationGroup', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}'} # type: ignore + + def list_by_resource_group( + self, + resource_group_name, # type: str + filter=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> Iterable["models.ApplicationGroupList"] + """List applicationGroups. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param filter: OData filter expression. Valid properties for filtering are + applicationGroupType. + :type filter: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ApplicationGroupList or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~desktop_virtualization_api_client.models.ApplicationGroupList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ApplicationGroupList"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-12-10-preview" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('ApplicationGroupList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups'} # type: ignore + + def list_by_subscription( + self, + filter=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> Iterable["models.ApplicationGroupList"] + """List applicationGroups in subscription. + + :param filter: OData filter expression. Valid properties for filtering are + applicationGroupType. + :type filter: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ApplicationGroupList or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~desktop_virtualization_api_client.models.ApplicationGroupList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ApplicationGroupList"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-12-10-preview" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_subscription.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('ApplicationGroupList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_by_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/applicationGroups'} # type: ignore diff --git a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_application_operations.py b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_application_operations.py new file mode 100644 index 00000000000..aa4c4afcc2b --- /dev/null +++ b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_application_operations.py @@ -0,0 +1,439 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.mgmt.core.exceptions import ARMErrorFormat + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class ApplicationOperations(object): + """ApplicationOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~desktop_virtualization_api_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def get( + self, + resource_group_name, # type: str + application_group_name, # type: str + application_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.Application" + """Get an application. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param application_group_name: The name of the application group. + :type application_group_name: str + :param application_name: The name of the application within the specified application group. + :type application_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Application, or the result of cls(response) + :rtype: ~desktop_virtualization_api_client.models.Application + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.Application"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-12-10-preview" + + # Construct URL + url = self.get.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'applicationGroupName': self._serialize.url("application_group_name", application_group_name, 'str', max_length=24, min_length=3), + 'applicationName': self._serialize.url("application_name", application_name, 'str', max_length=24, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('Application', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}'} # type: ignore + + def create_or_update( + self, + resource_group_name, # type: str + application_group_name, # type: str + application_name, # type: str + command_line_setting, # type: Union[str, "models.CommandLineSetting"] + description=None, # type: Optional[str] + friendly_name=None, # type: Optional[str] + file_path=None, # type: Optional[str] + command_line_arguments=None, # type: Optional[str] + show_in_portal=None, # type: Optional[bool] + icon_path=None, # type: Optional[str] + icon_index=None, # type: Optional[int] + **kwargs # type: Any + ): + # type: (...) -> "models.Application" + """Create or update an application. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param application_group_name: The name of the application group. + :type application_group_name: str + :param application_name: The name of the application within the specified application group. + :type application_name: str + :param command_line_setting: Specifies whether this published application can be launched with + command line arguments provided by the client, command line arguments specified at publish + time, or no command line arguments at all. + :type command_line_setting: str or ~desktop_virtualization_api_client.models.CommandLineSetting + :param description: Description of Application. + :type description: str + :param friendly_name: Friendly name of Application. + :type friendly_name: str + :param file_path: Specifies a path for the executable file for the application. + :type file_path: str + :param command_line_arguments: Command Line Arguments for Application. + :type command_line_arguments: str + :param show_in_portal: Specifies whether to show the RemoteApp program in the RD Web Access + server. + :type show_in_portal: bool + :param icon_path: Path to icon. + :type icon_path: str + :param icon_index: Index of the icon. + :type icon_index: int + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Application, or the result of cls(response) + :rtype: ~desktop_virtualization_api_client.models.Application + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.Application"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + + _application = models.Application(description=description, friendly_name=friendly_name, file_path=file_path, command_line_setting=command_line_setting, command_line_arguments=command_line_arguments, show_in_portal=show_in_portal, icon_path=icon_path, icon_index=icon_index) + api_version = "2019-12-10-preview" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.create_or_update.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'applicationGroupName': self._serialize.url("application_group_name", application_group_name, 'str', max_length=24, min_length=3), + 'applicationName': self._serialize.url("application_name", application_name, 'str', max_length=24, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_application, 'Application') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('Application', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('Application', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}'} # type: ignore + + def delete( + self, + resource_group_name, # type: str + application_group_name, # type: str + application_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + """Remove an application. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param application_group_name: The name of the application group. + :type application_group_name: str + :param application_name: The name of the application within the specified application group. + :type application_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-12-10-preview" + + # Construct URL + url = self.delete.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'applicationGroupName': self._serialize.url("application_group_name", application_group_name, 'str', max_length=24, min_length=3), + 'applicationName': self._serialize.url("application_name", application_name, 'str', max_length=24, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}'} # type: ignore + + def update( + self, + resource_group_name, # type: str + application_group_name, # type: str + application_name, # type: str + tags=None, # type: Optional[Dict[str, str]] + description=None, # type: Optional[str] + friendly_name=None, # type: Optional[str] + file_path=None, # type: Optional[str] + command_line_setting=None, # type: Optional[Union[str, "models.CommandLineSetting"]] + command_line_arguments=None, # type: Optional[str] + show_in_portal=None, # type: Optional[bool] + icon_path=None, # type: Optional[str] + icon_index=None, # type: Optional[int] + **kwargs # type: Any + ): + # type: (...) -> "models.Application" + """Update an application. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param application_group_name: The name of the application group. + :type application_group_name: str + :param application_name: The name of the application within the specified application group. + :type application_name: str + :param tags: tags to be updated. + :type tags: dict[str, str] + :param description: Description of Application. + :type description: str + :param friendly_name: Friendly name of Application. + :type friendly_name: str + :param file_path: Specifies a path for the executable file for the application. + :type file_path: str + :param command_line_setting: Specifies whether this published application can be launched with + command line arguments provided by the client, command line arguments specified at publish + time, or no command line arguments at all. + :type command_line_setting: str or ~desktop_virtualization_api_client.models.CommandLineSetting + :param command_line_arguments: Command Line Arguments for Application. + :type command_line_arguments: str + :param show_in_portal: Specifies whether to show the RemoteApp program in the RD Web Access + server. + :type show_in_portal: bool + :param icon_path: Path to icon. + :type icon_path: str + :param icon_index: Index of the icon. + :type icon_index: int + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Application, or the result of cls(response) + :rtype: ~desktop_virtualization_api_client.models.Application + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.Application"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + + _application = models.ApplicationPatch(tags=tags, description=description, friendly_name=friendly_name, file_path=file_path, command_line_setting=command_line_setting, command_line_arguments=command_line_arguments, show_in_portal=show_in_portal, icon_path=icon_path, icon_index=icon_index) + api_version = "2019-12-10-preview" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.update.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'applicationGroupName': self._serialize.url("application_group_name", application_group_name, 'str', max_length=24, min_length=3), + 'applicationName': self._serialize.url("application_name", application_name, 'str', max_length=24, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + if _application is not None: + body_content = self._serialize.body(_application, 'ApplicationPatch') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('Application', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}'} # type: ignore + + def list( + self, + resource_group_name, # type: str + application_group_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["models.ApplicationList"] + """List applications. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param application_group_name: The name of the application group. + :type application_group_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ApplicationList or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~desktop_virtualization_api_client.models.ApplicationList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ApplicationList"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-12-10-preview" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'applicationGroupName': self._serialize.url("application_group_name", application_group_name, 'str', max_length=24, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('ApplicationList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications'} # type: ignore diff --git a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_desktop_operations.py b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_desktop_operations.py new file mode 100644 index 00000000000..0d844be1080 --- /dev/null +++ b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_desktop_operations.py @@ -0,0 +1,244 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.mgmt.core.exceptions import ARMErrorFormat + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Optional, TypeVar + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class DesktopOperations(object): + """DesktopOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~desktop_virtualization_api_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def get( + self, + resource_group_name, # type: str + application_group_name, # type: str + desktop_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.Desktop" + """Get a desktop. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param application_group_name: The name of the application group. + :type application_group_name: str + :param desktop_name: The name of the desktop within the specified desktop group. + :type desktop_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Desktop, or the result of cls(response) + :rtype: ~desktop_virtualization_api_client.models.Desktop + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.Desktop"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-12-10-preview" + + # Construct URL + url = self.get.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'applicationGroupName': self._serialize.url("application_group_name", application_group_name, 'str', max_length=24, min_length=3), + 'desktopName': self._serialize.url("desktop_name", desktop_name, 'str', max_length=24, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('Desktop', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops/{desktopName}'} # type: ignore + + def update( + self, + resource_group_name, # type: str + application_group_name, # type: str + desktop_name, # type: str + tags=None, # type: Optional[Dict[str, str]] + description=None, # type: Optional[str] + friendly_name=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.Desktop" + """Update a desktop. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param application_group_name: The name of the application group. + :type application_group_name: str + :param desktop_name: The name of the desktop within the specified desktop group. + :type desktop_name: str + :param tags: tags to be updated. + :type tags: dict[str, str] + :param description: Description of Desktop. + :type description: str + :param friendly_name: Friendly name of Desktop. + :type friendly_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Desktop, or the result of cls(response) + :rtype: ~desktop_virtualization_api_client.models.Desktop + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.Desktop"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + + _desktop = models.DesktopPatch(tags=tags, description=description, friendly_name=friendly_name) + api_version = "2019-12-10-preview" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.update.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'applicationGroupName': self._serialize.url("application_group_name", application_group_name, 'str', max_length=24, min_length=3), + 'desktopName': self._serialize.url("desktop_name", desktop_name, 'str', max_length=24, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + if _desktop is not None: + body_content = self._serialize.body(_desktop, 'DesktopPatch') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('Desktop', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops/{desktopName}'} # type: ignore + + def list( + self, + resource_group_name, # type: str + application_group_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.DesktopList" + """List desktops. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param application_group_name: The name of the application group. + :type application_group_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DesktopList, or the result of cls(response) + :rtype: ~desktop_virtualization_api_client.models.DesktopList + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.DesktopList"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-12-10-preview" + + # Construct URL + url = self.list.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'applicationGroupName': self._serialize.url("application_group_name", application_group_name, 'str', max_length=24, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('DesktopList', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops'} # type: ignore diff --git a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_host_pool_operations.py b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_host_pool_operations.py new file mode 100644 index 00000000000..855d0c0470d --- /dev/null +++ b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_host_pool_operations.py @@ -0,0 +1,506 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.mgmt.core.exceptions import ARMErrorFormat + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class HostPoolOperations(object): + """HostPoolOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~desktop_virtualization_api_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def get( + self, + resource_group_name, # type: str + host_pool_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.HostPool" + """Get a host pool. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param host_pool_name: The name of the host pool within the specified resource group. + :type host_pool_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: HostPool, or the result of cls(response) + :rtype: ~desktop_virtualization_api_client.models.HostPool + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.HostPool"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-12-10-preview" + + # Construct URL + url = self.get.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=24, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('HostPool', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}'} # type: ignore + + def create_or_update( + self, + resource_group_name, # type: str + host_pool_name, # type: str + location, # type: str + host_pool_type, # type: Union[str, "models.HostPoolType"] + personal_desktop_assignment_type, # type: Union[str, "models.PersonalDesktopAssignmentType"] + load_balancer_type, # type: Union[str, "models.LoadBalancerType"] + tags=None, # type: Optional[Dict[str, str]] + friendly_name=None, # type: Optional[str] + description=None, # type: Optional[str] + custom_rdp_property=None, # type: Optional[str] + max_session_limit=None, # type: Optional[int] + ring=None, # type: Optional[int] + validation_environment=None, # type: Optional[bool] + registration_info=None, # type: Optional["models.RegistrationInfo"] + vm_template=None, # type: Optional[str] + sso_context=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.HostPool" + """Create or update a host pool. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param host_pool_name: The name of the host pool within the specified resource group. + :type host_pool_name: str + :param location: The geo-location where the resource lives. + :type location: str + :param host_pool_type: HostPool type for desktop. + :type host_pool_type: str or ~desktop_virtualization_api_client.models.HostPoolType + :param personal_desktop_assignment_type: PersonalDesktopAssignment type for HostPool. + :type personal_desktop_assignment_type: str or ~desktop_virtualization_api_client.models.PersonalDesktopAssignmentType + :param load_balancer_type: The type of the load balancer. + :type load_balancer_type: str or ~desktop_virtualization_api_client.models.LoadBalancerType + :param tags: Resource tags. + :type tags: dict[str, str] + :param friendly_name: Friendly name of HostPool. + :type friendly_name: str + :param description: Description of HostPool. + :type description: str + :param custom_rdp_property: Custom rdp property of HostPool. + :type custom_rdp_property: str + :param max_session_limit: The max session limit of HostPool. + :type max_session_limit: int + :param ring: The ring number of HostPool. + :type ring: int + :param validation_environment: Is validation environment. + :type validation_environment: bool + :param registration_info: The registration info of HostPool. + :type registration_info: ~desktop_virtualization_api_client.models.RegistrationInfo + :param vm_template: VM template for sessionhosts configuration within hostpool. + :type vm_template: str + :param sso_context: Path to keyvault containing ssoContext secret. + :type sso_context: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: HostPool, or the result of cls(response) + :rtype: ~desktop_virtualization_api_client.models.HostPool + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.HostPool"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + + _host_pool = models.HostPool(tags=tags, location=location, friendly_name=friendly_name, description=description, host_pool_type=host_pool_type, personal_desktop_assignment_type=personal_desktop_assignment_type, custom_rdp_property=custom_rdp_property, max_session_limit=max_session_limit, load_balancer_type=load_balancer_type, ring=ring, validation_environment=validation_environment, registration_info=registration_info, vm_template=vm_template, sso_context=sso_context) + api_version = "2019-12-10-preview" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.create_or_update.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=24, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_host_pool, 'HostPool') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('HostPool', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('HostPool', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}'} # type: ignore + + def delete( + self, + resource_group_name, # type: str + host_pool_name, # type: str + force=None, # type: Optional[bool] + **kwargs # type: Any + ): + # type: (...) -> None + """Remove a host pool. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param host_pool_name: The name of the host pool within the specified resource group. + :type host_pool_name: str + :param force: Force flag to delete sessionHost. + :type force: bool + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-12-10-preview" + + # Construct URL + url = self.delete.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=24, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if force is not None: + query_parameters['force'] = self._serialize.query("force", force, 'bool') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}'} # type: ignore + + def update( + self, + resource_group_name, # type: str + host_pool_name, # type: str + tags=None, # type: Optional[Dict[str, str]] + friendly_name=None, # type: Optional[str] + description=None, # type: Optional[str] + custom_rdp_property=None, # type: Optional[str] + max_session_limit=None, # type: Optional[int] + personal_desktop_assignment_type=None, # type: Optional[Union[str, "models.PersonalDesktopAssignmentType"]] + load_balancer_type=None, # type: Optional[Union[str, "models.LoadBalancerType"]] + ring=None, # type: Optional[int] + validation_environment=None, # type: Optional[bool] + registration_info=None, # type: Optional["models.RegistrationInfoPatch"] + sso_context=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.HostPool" + """Update a host pool. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param host_pool_name: The name of the host pool within the specified resource group. + :type host_pool_name: str + :param tags: tags to be updated. + :type tags: dict[str, str] + :param friendly_name: Friendly name of HostPool. + :type friendly_name: str + :param description: Description of HostPool. + :type description: str + :param custom_rdp_property: Custom rdp property of HostPool. + :type custom_rdp_property: str + :param max_session_limit: The max session limit of HostPool. + :type max_session_limit: int + :param personal_desktop_assignment_type: PersonalDesktopAssignment type for HostPool. + :type personal_desktop_assignment_type: str or ~desktop_virtualization_api_client.models.PersonalDesktopAssignmentType + :param load_balancer_type: The type of the load balancer. + :type load_balancer_type: str or ~desktop_virtualization_api_client.models.LoadBalancerType + :param ring: The ring number of HostPool. + :type ring: int + :param validation_environment: Is validation environment. + :type validation_environment: bool + :param registration_info: The registration info of HostPool. + :type registration_info: ~desktop_virtualization_api_client.models.RegistrationInfoPatch + :param sso_context: Path to keyvault containing ssoContext secret. + :type sso_context: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: HostPool, or the result of cls(response) + :rtype: ~desktop_virtualization_api_client.models.HostPool + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.HostPool"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + + _host_pool = models.HostPoolPatch(tags=tags, friendly_name=friendly_name, description=description, custom_rdp_property=custom_rdp_property, max_session_limit=max_session_limit, personal_desktop_assignment_type=personal_desktop_assignment_type, load_balancer_type=load_balancer_type, ring=ring, validation_environment=validation_environment, registration_info=registration_info, sso_context=sso_context) + api_version = "2019-12-10-preview" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.update.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=24, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + if _host_pool is not None: + body_content = self._serialize.body(_host_pool, 'HostPoolPatch') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('HostPool', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}'} # type: ignore + + def list_by_resource_group( + self, + resource_group_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["models.HostPoolList"] + """List hostPools. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either HostPoolList or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~desktop_virtualization_api_client.models.HostPoolList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.HostPoolList"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-12-10-preview" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('HostPoolList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools'} # type: ignore + + def list( + self, + **kwargs # type: Any + ): + # type: (...) -> Iterable["models.HostPoolList"] + """List hostPools in subscription. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either HostPoolList or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~desktop_virtualization_api_client.models.HostPoolList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.HostPoolList"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-12-10-preview" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('HostPoolList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/hostPools'} # type: ignore diff --git a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_operation_operations.py b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_operation_operations.py new file mode 100644 index 00000000000..7fbcd6b267d --- /dev/null +++ b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_operation_operations.py @@ -0,0 +1,90 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.mgmt.core.exceptions import ARMErrorFormat + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Optional, TypeVar + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class OperationOperations(object): + """OperationOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~desktop_virtualization_api_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + **kwargs # type: Any + ): + # type: (...) -> "models.ResourceProviderOperationList" + """List all of the available operations the Desktop Virtualization resource provider supports. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ResourceProviderOperationList, or the result of cls(response) + :rtype: ~desktop_virtualization_api_client.models.ResourceProviderOperationList + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ResourceProviderOperationList"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-12-10-preview" + + # Construct URL + url = self.list.metadata['url'] # type: ignore + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ResourceProviderOperationList', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + list.metadata = {'url': '/providers/Microsoft.DesktopVirtualization/operations'} # type: ignore diff --git a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_session_host_operations.py b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_session_host_operations.py new file mode 100644 index 00000000000..4faae4be2b6 --- /dev/null +++ b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_session_host_operations.py @@ -0,0 +1,319 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.mgmt.core.exceptions import ARMErrorFormat + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class SessionHostOperations(object): + """SessionHostOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~desktop_virtualization_api_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def get( + self, + resource_group_name, # type: str + host_pool_name, # type: str + session_host_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.SessionHost" + """Get a session host. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param host_pool_name: The name of the host pool within the specified resource group. + :type host_pool_name: str + :param session_host_name: The name of the session host within the specified host pool. + :type session_host_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SessionHost, or the result of cls(response) + :rtype: ~desktop_virtualization_api_client.models.SessionHost + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.SessionHost"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-12-10-preview" + + # Construct URL + url = self.get.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=24, min_length=3), + 'sessionHostName': self._serialize.url("session_host_name", session_host_name, 'str', max_length=48, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('SessionHost', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}'} # type: ignore + + def delete( + self, + resource_group_name, # type: str + host_pool_name, # type: str + session_host_name, # type: str + force=None, # type: Optional[bool] + **kwargs # type: Any + ): + # type: (...) -> None + """Remove a SessionHost. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param host_pool_name: The name of the host pool within the specified resource group. + :type host_pool_name: str + :param session_host_name: The name of the session host within the specified host pool. + :type session_host_name: str + :param force: Force flag to force sessionHost deletion even when userSession exists. + :type force: bool + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-12-10-preview" + + # Construct URL + url = self.delete.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=24, min_length=3), + 'sessionHostName': self._serialize.url("session_host_name", session_host_name, 'str', max_length=48, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if force is not None: + query_parameters['force'] = self._serialize.query("force", force, 'bool') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}'} # type: ignore + + def update( + self, + resource_group_name, # type: str + host_pool_name, # type: str + session_host_name, # type: str + allow_new_session=None, # type: Optional[bool] + assigned_user=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.SessionHost" + """Update a session host. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param host_pool_name: The name of the host pool within the specified resource group. + :type host_pool_name: str + :param session_host_name: The name of the session host within the specified host pool. + :type session_host_name: str + :param allow_new_session: Allow a new session. + :type allow_new_session: bool + :param assigned_user: User assigned to SessionHost. + :type assigned_user: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SessionHost, or the result of cls(response) + :rtype: ~desktop_virtualization_api_client.models.SessionHost + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.SessionHost"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + + _session_host = models.SessionHostPatch(allow_new_session=allow_new_session, assigned_user=assigned_user) + api_version = "2019-12-10-preview" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.update.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=24, min_length=3), + 'sessionHostName': self._serialize.url("session_host_name", session_host_name, 'str', max_length=48, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + if _session_host is not None: + body_content = self._serialize.body(_session_host, 'SessionHostPatch') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('SessionHost', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}'} # type: ignore + + def list( + self, + resource_group_name, # type: str + host_pool_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["models.SessionHostList"] + """List sessionHosts. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param host_pool_name: The name of the host pool within the specified resource group. + :type host_pool_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either SessionHostList or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~desktop_virtualization_api_client.models.SessionHostList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.SessionHostList"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-12-10-preview" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=24, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('SessionHostList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts'} # type: ignore diff --git a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_start_menu_item_operations.py b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_start_menu_item_operations.py new file mode 100644 index 00000000000..815e7e5139e --- /dev/null +++ b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_start_menu_item_operations.py @@ -0,0 +1,118 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.mgmt.core.exceptions import ARMErrorFormat + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class StartMenuItemOperations(object): + """StartMenuItemOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~desktop_virtualization_api_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + resource_group_name, # type: str + application_group_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["models.StartMenuItemList"] + """List start menu items in the given application group. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param application_group_name: The name of the application group. + :type application_group_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either StartMenuItemList or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~desktop_virtualization_api_client.models.StartMenuItemList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.StartMenuItemList"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-12-10-preview" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'applicationGroupName': self._serialize.url("application_group_name", application_group_name, 'str', max_length=24, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('StartMenuItemList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/startMenuItems'} # type: ignore diff --git a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_user_session_operations.py b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_user_session_operations.py new file mode 100644 index 00000000000..47cebe6695e --- /dev/null +++ b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_user_session_operations.py @@ -0,0 +1,470 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.mgmt.core.exceptions import ARMErrorFormat + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class UserSessionOperations(object): + """UserSessionOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~desktop_virtualization_api_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list_by_host_pool( + self, + resource_group_name, # type: str + host_pool_name, # type: str + filter=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> Iterable["models.UserSessionList"] + """List userSessions. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param host_pool_name: The name of the host pool within the specified resource group. + :type host_pool_name: str + :param filter: OData filter expression. Valid properties for filtering are userprincipalname + and sessionstate. + :type filter: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either UserSessionList or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~desktop_virtualization_api_client.models.UserSessionList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.UserSessionList"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-12-10-preview" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_host_pool.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=24, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('UserSessionList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_by_host_pool.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/userSessions'} # type: ignore + + def get( + self, + resource_group_name, # type: str + host_pool_name, # type: str + session_host_name, # type: str + user_session_id, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.UserSession" + """Get a userSession. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param host_pool_name: The name of the host pool within the specified resource group. + :type host_pool_name: str + :param session_host_name: The name of the session host within the specified host pool. + :type session_host_name: str + :param user_session_id: The name of the user session within the specified session host. + :type user_session_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: UserSession, or the result of cls(response) + :rtype: ~desktop_virtualization_api_client.models.UserSession + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.UserSession"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-12-10-preview" + + # Construct URL + url = self.get.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=24, min_length=3), + 'sessionHostName': self._serialize.url("session_host_name", session_host_name, 'str', max_length=48, min_length=3), + 'userSessionId': self._serialize.url("user_session_id", user_session_id, 'str', max_length=24, min_length=1), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('UserSession', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}'} # type: ignore + + def delete( + self, + resource_group_name, # type: str + host_pool_name, # type: str + session_host_name, # type: str + user_session_id, # type: str + force=None, # type: Optional[bool] + **kwargs # type: Any + ): + # type: (...) -> None + """Remove a userSession. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param host_pool_name: The name of the host pool within the specified resource group. + :type host_pool_name: str + :param session_host_name: The name of the session host within the specified host pool. + :type session_host_name: str + :param user_session_id: The name of the user session within the specified session host. + :type user_session_id: str + :param force: Force flag to login off userSession. + :type force: bool + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-12-10-preview" + + # Construct URL + url = self.delete.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=24, min_length=3), + 'sessionHostName': self._serialize.url("session_host_name", session_host_name, 'str', max_length=48, min_length=3), + 'userSessionId': self._serialize.url("user_session_id", user_session_id, 'str', max_length=24, min_length=1), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if force is not None: + query_parameters['force'] = self._serialize.query("force", force, 'bool') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}'} # type: ignore + + def list( + self, + resource_group_name, # type: str + host_pool_name, # type: str + session_host_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["models.UserSessionList"] + """List userSessions. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param host_pool_name: The name of the host pool within the specified resource group. + :type host_pool_name: str + :param session_host_name: The name of the session host within the specified host pool. + :type session_host_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either UserSessionList or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~desktop_virtualization_api_client.models.UserSessionList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.UserSessionList"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-12-10-preview" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=24, min_length=3), + 'sessionHostName': self._serialize.url("session_host_name", session_host_name, 'str', max_length=48, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('UserSessionList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions'} # type: ignore + + def disconnect( + self, + resource_group_name, # type: str + host_pool_name, # type: str + session_host_name, # type: str + user_session_id, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + """Disconnect a userSession. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param host_pool_name: The name of the host pool within the specified resource group. + :type host_pool_name: str + :param session_host_name: The name of the session host within the specified host pool. + :type session_host_name: str + :param user_session_id: The name of the user session within the specified session host. + :type user_session_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-12-10-preview" + + # Construct URL + url = self.disconnect.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=24, min_length=3), + 'sessionHostName': self._serialize.url("session_host_name", session_host_name, 'str', max_length=48, min_length=3), + 'userSessionId': self._serialize.url("user_session_id", user_session_id, 'str', max_length=24, min_length=1), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + disconnect.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}/disconnect'} # type: ignore + + def send_message( + self, + resource_group_name, # type: str + host_pool_name, # type: str + session_host_name, # type: str + user_session_id, # type: str + message_title=None, # type: Optional[str] + message_body=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> None + """Send a message to a user. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param host_pool_name: The name of the host pool within the specified resource group. + :type host_pool_name: str + :param session_host_name: The name of the session host within the specified host pool. + :type session_host_name: str + :param user_session_id: The name of the user session within the specified session host. + :type user_session_id: str + :param message_title: Title of message. + :type message_title: str + :param message_body: Body of message. + :type message_body: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + + _send_message = models.SendMessage(message_title=message_title, message_body=message_body) + api_version = "2019-12-10-preview" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.send_message.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=24, min_length=3), + 'sessionHostName': self._serialize.url("session_host_name", session_host_name, 'str', max_length=48, min_length=3), + 'userSessionId': self._serialize.url("user_session_id", user_session_id, 'str', max_length=24, min_length=1), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + if _send_message is not None: + body_content = self._serialize.body(_send_message, 'SendMessage') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + send_message.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}/sendMessage'} # type: ignore diff --git a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_workspace_operations.py b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_workspace_operations.py new file mode 100644 index 00000000000..821e5c5e7d4 --- /dev/null +++ b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_workspace_operations.py @@ -0,0 +1,453 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.mgmt.core.exceptions import ARMErrorFormat + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Iterable, List, Optional, TypeVar, Union + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class WorkspaceOperations(object): + """WorkspaceOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~desktop_virtualization_api_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def get( + self, + resource_group_name, # type: str + workspace_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.Workspace" + """Get a workspace. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param workspace_name: The name of the workspace. + :type workspace_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Workspace, or the result of cls(response) + :rtype: ~desktop_virtualization_api_client.models.Workspace + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.Workspace"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-12-10-preview" + + # Construct URL + url = self.get.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'workspaceName': self._serialize.url("workspace_name", workspace_name, 'str', max_length=24, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('Workspace', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}'} # type: ignore + + def create_or_update( + self, + resource_group_name, # type: str + workspace_name, # type: str + location, # type: str + tags=None, # type: Optional[Dict[str, str]] + description=None, # type: Optional[str] + friendly_name=None, # type: Optional[str] + application_group_references=None, # type: Optional[List[str]] + **kwargs # type: Any + ): + # type: (...) -> "models.Workspace" + """Create or update a workspace. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param workspace_name: The name of the workspace. + :type workspace_name: str + :param location: The geo-location where the resource lives. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param description: Description of Workspace. + :type description: str + :param friendly_name: Friendly name of Workspace. + :type friendly_name: str + :param application_group_references: List of applicationGroup resource Ids. + :type application_group_references: list[str] + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Workspace, or the result of cls(response) + :rtype: ~desktop_virtualization_api_client.models.Workspace + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.Workspace"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + + _workspace = models.Workspace(tags=tags, location=location, description=description, friendly_name=friendly_name, application_group_references=application_group_references) + api_version = "2019-12-10-preview" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.create_or_update.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'workspaceName': self._serialize.url("workspace_name", workspace_name, 'str', max_length=24, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_workspace, 'Workspace') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('Workspace', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('Workspace', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}'} # type: ignore + + def delete( + self, + resource_group_name, # type: str + workspace_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + """Remove a workspace. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param workspace_name: The name of the workspace. + :type workspace_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-12-10-preview" + + # Construct URL + url = self.delete.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'workspaceName': self._serialize.url("workspace_name", workspace_name, 'str', max_length=24, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}'} # type: ignore + + def update( + self, + resource_group_name, # type: str + workspace_name, # type: str + tags=None, # type: Optional[Dict[str, str]] + description=None, # type: Optional[str] + friendly_name=None, # type: Optional[str] + application_group_references=None, # type: Optional[List[str]] + **kwargs # type: Any + ): + # type: (...) -> "models.Workspace" + """Update a workspace. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param workspace_name: The name of the workspace. + :type workspace_name: str + :param tags: tags to be updated. + :type tags: dict[str, str] + :param description: Description of Workspace. + :type description: str + :param friendly_name: Friendly name of Workspace. + :type friendly_name: str + :param application_group_references: List of applicationGroup links. + :type application_group_references: list[str] + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Workspace, or the result of cls(response) + :rtype: ~desktop_virtualization_api_client.models.Workspace + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.Workspace"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + + _workspace = models.WorkspacePatch(tags=tags, description=description, friendly_name=friendly_name, application_group_references=application_group_references) + api_version = "2019-12-10-preview" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.update.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'workspaceName': self._serialize.url("workspace_name", workspace_name, 'str', max_length=24, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + if _workspace is not None: + body_content = self._serialize.body(_workspace, 'WorkspacePatch') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('Workspace', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}'} # type: ignore + + def list_by_resource_group( + self, + resource_group_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["models.WorkspaceList"] + """List workspaces. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either WorkspaceList or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~desktop_virtualization_api_client.models.WorkspaceList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.WorkspaceList"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-12-10-preview" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('WorkspaceList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces'} # type: ignore + + def list_by_subscription( + self, + **kwargs # type: Any + ): + # type: (...) -> Iterable["models.WorkspaceList"] + """List workspaces in subscription. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either WorkspaceList or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~desktop_virtualization_api_client.models.WorkspaceList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.WorkspaceList"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-12-10-preview" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_subscription.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('WorkspaceList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_by_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/workspaces'} # type: ignore diff --git a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/py.typed b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/py.typed new file mode 100644 index 00000000000..e5aff4f83af --- /dev/null +++ b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/py.typed @@ -0,0 +1 @@ +# Marker file for PEP 561. \ No newline at end of file diff --git a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/setup.py b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/setup.py new file mode 100644 index 00000000000..52fc353a0b1 --- /dev/null +++ b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/setup.py @@ -0,0 +1,37 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +# coding: utf-8 + +from setuptools import setup, find_packages + +NAME = "desktopvirtualizationapiclient" +VERSION = "0.2.0" + +# To install the library, run the following +# +# python setup.py install +# +# prerequisite: setuptools +# http://pypi.python.org/pypi/setuptools + +REQUIRES = ["msrest>=0.6.0", "azure-core<2.0.0,>=1.2.0"] + +setup( + name=NAME, + version=VERSION, + description="DesktopVirtualizationAPIClient", + author_email="", + url="", + keywords=["Swagger", "DesktopVirtualizationAPIClient"], + install_requires=REQUIRES, + packages=find_packages(), + include_package_data=True, + long_description="""\ + DesktopVirtualizationAPIClient. + """ +) diff --git a/src/desktopvirtualization/report.md b/src/desktopvirtualization/report.md new file mode 100644 index 00000000000..d535730ab5d --- /dev/null +++ b/src/desktopvirtualization/report.md @@ -0,0 +1,164 @@ +# Azure CLI Module Creation Report + +### desktopvirtualization applicationgroup create + +create a desktopvirtualization applicationgroup. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The name of the resource group. The name is case insensitive.|resource_group_name| +|**--application-group-name**|string|The name of the application group|application_group_name| +|**--location**|string|The geo-location where the resource lives|location| +|**--host-pool-arm-path**|string|HostPool arm path of ApplicationGroup.|host_pool_arm_path| +|**--application-group-type**|choice|Resource Type of ApplicationGroup.|application_group_type| +|**--tags**|dictionary|Resource tags.|tags| +|**--description**|string|Description of ApplicationGroup.|description| +|**--friendly-name**|string|Friendly name of ApplicationGroup.|friendly_name| +### desktopvirtualization applicationgroup delete + +delete a desktopvirtualization applicationgroup. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The name of the resource group. The name is case insensitive.|resource_group_name| +|**--application-group-name**|string|The name of the application group|application_group_name| +### desktopvirtualization applicationgroup list + +list a desktopvirtualization applicationgroup. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The name of the resource group. The name is case insensitive.|resource_group_name| +|**--filter**|string|OData filter expression. Valid properties for filtering are applicationGroupType.|filter| +### desktopvirtualization applicationgroup show + +show a desktopvirtualization applicationgroup. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The name of the resource group. The name is case insensitive.|resource_group_name| +|**--application-group-name**|string|The name of the application group|application_group_name| +### desktopvirtualization applicationgroup update + +update a desktopvirtualization applicationgroup. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The name of the resource group. The name is case insensitive.|resource_group_name| +|**--application-group-name**|string|The name of the application group|application_group_name| +|**--tags**|dictionary|tags to be updated|tags| +|**--description**|string|Description of ApplicationGroup.|description| +|**--friendly-name**|string|Friendly name of ApplicationGroup.|friendly_name| +### desktopvirtualization hostpool create + +create a desktopvirtualization hostpool. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The name of the resource group. The name is case insensitive.|resource_group_name| +|**--host-pool-name**|string|The name of the host pool within the specified resource group|host_pool_name| +|**--location**|string|The geo-location where the resource lives|location| +|**--host-pool-type**|choice|HostPool type for desktop.|host_pool_type| +|**--personal-desktop-assignment-type**|choice|PersonalDesktopAssignment type for HostPool.|personal_desktop_assignment_type| +|**--load-balancer-type**|choice|The type of the load balancer.|load_balancer_type| +|**--tags**|dictionary|Resource tags.|tags| +|**--friendly-name**|string|Friendly name of HostPool.|friendly_name| +|**--description**|string|Description of HostPool.|description| +|**--custom-rdp-property**|string|Custom rdp property of HostPool.|custom_rdp_property| +|**--max-session-limit**|integer|The max session limit of HostPool.|max_session_limit| +|**--ring**|integer|The ring number of HostPool.|ring| +|**--validation-environment**|boolean|Is validation environment.|validation_environment| +|**--registration-info**|object|The registration info of HostPool.|registration_info| +|**--vm-template**|string|VM template for sessionhosts configuration within hostpool.|vm_template| +|**--sso-context**|string|Path to keyvault containing ssoContext secret.|sso_context| +### desktopvirtualization hostpool delete + +delete a desktopvirtualization hostpool. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The name of the resource group. The name is case insensitive.|resource_group_name| +|**--host-pool-name**|string|The name of the host pool within the specified resource group|host_pool_name| +|**--force**|boolean|Force flag to delete sessionHost.|force| +### desktopvirtualization hostpool list + +list a desktopvirtualization hostpool. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The name of the resource group. The name is case insensitive.|resource_group_name| +### desktopvirtualization hostpool show + +show a desktopvirtualization hostpool. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The name of the resource group. The name is case insensitive.|resource_group_name| +|**--host-pool-name**|string|The name of the host pool within the specified resource group|host_pool_name| +### desktopvirtualization hostpool update + +update a desktopvirtualization hostpool. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The name of the resource group. The name is case insensitive.|resource_group_name| +|**--host-pool-name**|string|The name of the host pool within the specified resource group|host_pool_name| +|**--tags**|dictionary|tags to be updated|tags| +|**--friendly-name**|string|Friendly name of HostPool.|friendly_name| +|**--description**|string|Description of HostPool.|description| +|**--custom-rdp-property**|string|Custom rdp property of HostPool.|custom_rdp_property| +|**--max-session-limit**|integer|The max session limit of HostPool.|max_session_limit| +|**--personal-desktop-assignment-type**|choice|PersonalDesktopAssignment type for HostPool.|personal_desktop_assignment_type| +|**--load-balancer-type**|choice|The type of the load balancer.|load_balancer_type| +|**--ring**|integer|The ring number of HostPool.|ring| +|**--validation-environment**|boolean|Is validation environment.|validation_environment| +|**--registration-info**|object|The registration info of HostPool.|registration_info| +|**--sso-context**|string|Path to keyvault containing ssoContext secret.|sso_context| +### desktopvirtualization workspace create + +create a desktopvirtualization workspace. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The name of the resource group. The name is case insensitive.|resource_group_name| +|**--workspace-name**|string|The name of the workspace|workspace_name| +|**--location**|string|The geo-location where the resource lives|location| +|**--tags**|dictionary|Resource tags.|tags| +|**--description**|string|Description of Workspace.|description| +|**--friendly-name**|string|Friendly name of Workspace.|friendly_name| +|**--application-group-references**|array|List of applicationGroup resource Ids.|application_group_references| +### desktopvirtualization workspace delete + +delete a desktopvirtualization workspace. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The name of the resource group. The name is case insensitive.|resource_group_name| +|**--workspace-name**|string|The name of the workspace|workspace_name| +### desktopvirtualization workspace list + +list a desktopvirtualization workspace. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The name of the resource group. The name is case insensitive.|resource_group_name| +### desktopvirtualization workspace show + +show a desktopvirtualization workspace. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The name of the resource group. The name is case insensitive.|resource_group_name| +|**--workspace-name**|string|The name of the workspace|workspace_name| +### desktopvirtualization workspace update + +update a desktopvirtualization workspace. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The name of the resource group. The name is case insensitive.|resource_group_name| +|**--workspace-name**|string|The name of the workspace|workspace_name| +|**--tags**|dictionary|tags to be updated|tags| +|**--description**|string|Description of Workspace.|description| +|**--friendly-name**|string|Friendly name of Workspace.|friendly_name| +|**--application-group-references**|array|List of applicationGroup links.|application_group_references| \ No newline at end of file diff --git a/src/desktopvirtualization/setup.cfg b/src/desktopvirtualization/setup.cfg new file mode 100644 index 00000000000..2fdd96e5d39 --- /dev/null +++ b/src/desktopvirtualization/setup.cfg @@ -0,0 +1 @@ +#setup.cfg \ No newline at end of file diff --git a/src/desktopvirtualization/setup.py b/src/desktopvirtualization/setup.py new file mode 100644 index 00000000000..2c2a532e47a --- /dev/null +++ b/src/desktopvirtualization/setup.py @@ -0,0 +1,57 @@ +#!/usr/bin/env python + +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + + +from codecs import open +from setuptools import setup, find_packages + +# HISTORY.rst entry. +VERSION = '0.1.0' +try: + from .manual.version import VERSION +except ImportError: + pass + +# The full list of classifiers is available at +# https://pypi.python.org/pypi?%3Aaction=list_classifiers +CLASSIFIERS = [ + 'Development Status :: 4 - Beta', + 'Intended Audience :: Developers', + 'Intended Audience :: System Administrators', + 'Programming Language :: Python', + 'Programming Language :: Python :: 3', + 'Programming Language :: Python :: 3.6', + 'Programming Language :: Python :: 3.7', + 'Programming Language :: Python :: 3.8', + 'License :: OSI Approved :: MIT License', +] + +DEPENDENCIES = [] +try: + from .manual.dependency import DEPENDENCIES +except ImportError: + pass + +with open('README.md', 'r', encoding='utf-8') as f: + README = f.read() +with open('HISTORY.rst', 'r', encoding='utf-8') as f: + HISTORY = f.read() + +setup( + name='desktopvirtualization', + version=VERSION, + description='Microsoft Azure Command-Line Tools DesktopVirtualizationAPIClient Extension', + author='Microsoft Corporation', + author_email='azpycli@microsoft.com', + url='https://github.com/Azure/azure-cli-extensions/tree/master/src/desktopvirtualization', + long_description=README + '\n\n' + HISTORY, + license='MIT', + classifiers=CLASSIFIERS, + packages=find_packages(), + install_requires=DEPENDENCIES, + package_data={'azext_desktopvirtualization': ['azext_metadata.json']}, +) diff --git a/src/eventgrid/azext_eventgrid/_help.py b/src/eventgrid/azext_eventgrid/_help.py index 07bdf2a492b..850e4a521b6 100644 --- a/src/eventgrid/azext_eventgrid/_help.py +++ b/src/eventgrid/azext_eventgrid/_help.py @@ -22,8 +22,9 @@ short-summary: Create a domain. parameters: - name: --inbound-ip-rules - short-summary: List of inbound ip rules specifying IP Address in CIDR notation e.g., 10.0.0.0/8 along with corresponding Action to perform based on the match or no match of the IpMask. Possible values include - Allow. - long-summary: List of inbound ip rules specifying IP Address in CIDR notation e.g., 10.0.0.0/8 along with corresponding Action to perform based on the match or no match of the IpMask. Possible values include - Allow. + short-summary: List of inbound IP rules. + long-summary: | + List of inbound IP rules specifying IP Address in CIDR notation e.g., 10.0.0.0/8 along with corresponding Action to perform based on the match or no match of the IpMask. Possible values include - Allow. examples: - name: Create a new domain. text: az eventgrid domain create -g rg1 --name domain1 -l westus2 @@ -32,7 +33,7 @@ - name: Create a new domain that accepts events published in CloudEvents V1.0 schema and maps a property mytopicfield to the topic name. text: az eventgrid domain create -g rg1 --name domain1 -l westus2 --input-schema cloudeventschemav1_0 --input-mapping-fields topic=mytopicfield - name: Create a new domain which allows specific inbound ip rules. - text: az eventgrid domain create -g rg1 --name domain1 -l westus2 --public-network-access disabled --inbound-ip-rules 10.0.0.0/8 Allow --inbound-ip-rules 10.2.0.0/8 Allow + text: az eventgrid domain create -g rg1 --name domain1 -l westus2 --public-network-access enabled --inbound-ip-rules 10.0.0.0/8 Allow --inbound-ip-rules 10.2.0.0/8 Allow --sku basic """ @@ -73,6 +74,22 @@ text: az eventgrid domain private-endpoint-connection list -g rg1 -n domain1 """ +helps['eventgrid domain private-endpoint-connection approve'] = """ +type: command +short-summary: Approve a private endpoint connection request for a domain. +examples: + - name: Approve a private endpoint connection for a domain. + text: az eventgrid domain private-endpoint-connection approve -g rg1 --domain-name domain1 -n domain1-PrivateEndpoint.6d90cf76-a022-452c-9994-6dac62a50c99 --description "Sample approval description" +""" + +helps['eventgrid domain private-endpoint-connection reject'] = """ +type: command +short-summary: Reject a private endpoint connection request for a domain. +examples: + - name: Reject a private endpoint connection for a domain. + text: az eventgrid domain private-endpoint-connection reject -g rg1 --domain-name domain1 -n domain1-PrivateEndpoint.6d90cf76-a022-452c-9994-6dac62a50c99 --description "Sample rejection description" +""" + helps['eventgrid domain private-link-resource'] = """ type: group short-summary: Manage private link resource of a domain. @@ -83,7 +100,7 @@ short-summary: Display the properties of a private link resource for a domain. examples: - name: Show a private endpoint connection for a domain. - text: az eventgrid domain private-link-resource show -g rg1 --domain-name domain1 -n linkName1 + text: az eventgrid domain private-link-resource show -g rg1 --domain-name domain1 -n domain """ helps['eventgrid domain private-link-resource list'] = """ @@ -91,7 +108,7 @@ short-summary: List the properties of all the private link resources for a domain. examples: - name: Show a private endpoint connection for a domain. - text: az eventgrid domain private-link-resource list -g rg1 -n domain1 + text: az eventgrid domain private-link-resource list -g rg1 --domain-name domain1 """ @@ -184,11 +201,12 @@ short-summary: Update a domain. parameters: - name: --inbound-ip-rules - short-summary: List of inbound ip rules specifying IP Address in CIDR notation e.g., 10.0.0.0/8 along with corresponding Action to perform based on the match or no match of the IpMask. Possible values include - Allow. - long-summary: List of inbound ip rules specifying IP Address in CIDR notation e.g., 10.0.0.0/8 along with corresponding Action to perform based on the match or no match of the IpMask. Possible values include - Allow. + short-summary: List of inbound IP rules. + long-summary: | + List of inbound IP rules specifying IP Address in CIDR notation e.g., 10.0.0.0/8 along with corresponding Action to perform based on the match or no match of the IpMask. Possible values include - Allow. examples: - name: Update the properties of an existing domain. - text: az eventgrid domain update -g rg1 --name domain1 --sku Basic --identity noidentity --public-network-access Disabled --inbound-ip-rules 10.0.0.0/8 Allow --inbound-ip-rules 10.2.0.0/8 Allow --tags Dept=IT + text: az eventgrid domain update -g rg1 --name domain1 --sku Basic --identity noidentity --public-network-access enabled --inbound-ip-rules 10.0.0.0/8 Allow --inbound-ip-rules 10.2.0.0/8 Allow --tags Dept=IT --sku basic """ helps['eventgrid partner'] = """ @@ -208,7 +226,7 @@ - name: Create a new partner registration with basic information. text: az eventgrid partner registration create -g rg1 --name partnerRegistrationName1 --partner-name Contoso --resource-type-name Accounts --authorized-subscription-ids 533ad9de-25db-46e2-b94a-d00c37cf022b 05aa2228-7d34-4635-922d-2b582c422445 - name: Create a new partner registration with partner information. - text: az eventgrid partner registration create -g rg1 --name partnerRegistrationName1 --partner-name Contoso --resource-type-name Accounts --authorized-subscription-ids 533ad9de-25db-46e2-b94a-d00c37cf022b 05aa2228-7d34-4635-922d-2b582c422445 --description ExampleDescription --display-name ExampleDisplayName1 --logo-uri https://www.example.com/logo.png --setup-uri https://www.example.com + text: az eventgrid partner registration create -g rg1 --name partnerRegistrationName1 --partner-name Contoso --resource-type-name Accounts --authorized-subscription-ids 533ad9de-25db-46e2-b94a-d00c37cf022b 05aa2228-7d34-4635-922d-2b582c422445 --description ExampleDescription --display-name ExampleDisplayName1 --logo-uri \'https://www.example.com/logo.png\' --setup-uri \'https://www.example.com\' --long-description \'This is sample description}\' --customer-service-number \'+1 800 123 4567' --customer-service-extension \'125\' --customer-service-uri \'https://www.example.com/customerservice\' """ helps['eventgrid partner registration list'] = """ @@ -297,9 +315,31 @@ helps['eventgrid partner namespace event-channel create'] = """ type: command short-summary: Create an event channel under a partner namespace. -examples: - - name: Create a specific event-channel. +parameters: + - name: --publisher-filter + short-summary: A publisher filter that is used to enable filtering of events based on a specific event property. This set of filters that are specified by the publisher in order to determine which events to be received by the subscriber. + long-summary: | + Usage: --publisher-filter KEY[.INNERKEY] FILTEROPERATOR VALUE [VALUE ...] + StringIn: --publisher-filter data.Color StringIn Blue Red Orange Yellow + StringNotIn: --publisher-filter data.Color StringNotIn Blue Red Orange Yellow + StringContains: --publisher-filter subject StringContains Blue Red + StringBeginsWith: --publisher-filter subject StringBeginsWith Blue Red + StringEndsWith: --publisher-filter subject StringEndsWith img png jpg + NumberIn: --publisher-filter data.property1 NumberIn 5 10 20 + NumberNotIn: --publisher-filter data.property2 NumberNotIn 100 200 300 + NumberLessThan: --publisher-filter data.property3 NumberLessThan 100 + NumberLessThanOrEquals: --publisher-filter data.property2 NumberLessThanOrEquals 100 + NumberGreaterThan: --publisher-filter data.property3 NumberGreaterThan 100 + NumberGreaterThanOrEquals: --publisher-filter data.property2 NumberGreaterThanOrEquals 100 + BoolEquals: --publisher-filter data.property3 BoolEquals true + Multiple publisher filters can be specified by using more than one `--publisher-filter` argument. +examples: + - name: Create a specific event channel. text: az eventgrid partner namespace event-channel create -g rg1 --partner-namespace-name partnernamespace1 -n eventChannelName1 --source SourceExample1 --destination-subscription-id 61f7c265-374d-499e-866d-5f4cc302b888 --destination-resource-group rg2 --desination-topic-name topicName1 + - name: Create a specific event channel with an activation expiration time and partner topic friendly description. + text: az eventgrid partner namespace event-channel create -g rg1 --partner-namespace-name partnernamespace1 -n eventChannelName1 --source SourceExample1 --destination-subscription-id 61f7c265-374d-499e-866d-5f4cc302b888 --destination-resource-group rg2 --desination-topic-name topicName1 --activation-expiration-date \'2020-05-20T10:00\' --partner-topic-description \'This topic is created by Costoco corp on user behavior.\' + - name: Create a specific event channel with publisher filters. + text: az eventgrid partner namespace event-channel create -g rg1 --partner-namespace-name partnernamespace1 -n eventChannelName1 --source SourceExample1 --destination-subscription-id 61f7c265-374d-499e-866d-5f4cc302b888 --destination-resource-group rg2 --desination-topic-name topicName1 --publisher-filter data.key1 NumberIn 2 3 4 100 200 --publisher-filter data.key2 StringIn 2 3 4 100 200 """ helps['eventgrid partner namespace event-channel list'] = """ @@ -500,8 +540,8 @@ az eventgrid system-topic event-subscription create --name es1 \\ -g rg1 --system-topic-name systemtopic1 \\ --endpoint https://contoso.azurewebsites.net/api/f1?code=code - --azure_active_directory_tenant_id azureactivedirectorytenantid - --azure_active_directory_application_id_or_uri azureactivedirectoryapplicationidoruri + --azure-active-directory-tenant-id azureactivedirectorytenantid + --azure-active-directory-application-id-or-uri azureactivedirectoryapplicationidoruri - name: Create a new event subscription for an Event Grid system topic, using Azure Function as destination. text: | az eventgrid system-topic event-subscription create -n es1 \\ @@ -656,8 +696,8 @@ az eventgrid partner topic event-subscription create --name es1 \\ -g rg1 --partner-topic-name partnertopic1 \\ --endpoint https://contoso.azurewebsites.net/api/f1?code=code - --azure_active_directory_tenant_id azureactivedirectorytenantid - --azure_active_directory_application_id_or_uri azureactivedirectoryapplicationidoruri + --azure-active-directory-tenant-id azureactivedirectorytenantid + --azure-active-directory-application-id-or-uri azureactivedirectoryapplicationidoruri - name: Create a new event subscription for an Event Grid partner topic, using Azure Function as destination. text: | az eventgrid partner topic event-subscription create -n es1 \\ @@ -793,6 +833,8 @@ Example: --deadletter-endpoint /subscriptions/{SubID}/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/sa1/blobServices/default/containers/containerName - name: --endpoint-type short-summary: The type of the destination endpoint. + - name: --delivery-identity-endpoint-type + short-summary: The type of the destination endpoint with resource identity. examples: - name: Create a new event subscription for an Event Grid topic, using default filters. text: | @@ -880,14 +922,20 @@ az eventgrid event-subscription create --name es1 \\ --source-resource-id /subscriptions/{SubID}/resourceGroups/{RG}/providers/Microsoft.EventGrid/topics/topic1 \\ --endpoint https://contoso.azurewebsites.net/api/f1?code=code - --azure_active_directory_tenant_id azureactivedirectorytenantid - --azure_active_directory_application_id_or_uri azureactivedirectoryapplicationidoruri + --azure-active-directory-tenant-id azureactivedirectorytenantid + --azure-active-directory-application-id-or-uri azureactivedirectoryapplicationidoruri - name: Create a new event subscription for an Event Grid topic, using Azure Function as destination. text: | az eventgrid event-subscription create --name es1 \\ --source-resource-id /subscriptions/{SubID}/resourceGroups/{RG}/providers/Microsoft.EventGrid/topics/topic1 \\ --endpoint /subscriptions/{SubID}/resourceGroups/{RG}/providers/Microsoft.Web/sites/{functionappname}/functions/{functionname} --endpoint-type azurefunction + - name: Create a new event subscription for an Event Grid topic, using Eventhub with systemassigned MSI identity as destination and with deadletter with MSI identity + text: | + az eventgrid event-subscription create --source-resource-id /subscriptions/{SubID}/resourceGroups/{RG}/providers/Microsoft.EventGrid/topics/topic1 \\ + --delivery-identity-endpoint-type eventhub --delivery-identity systemassigned --delivery-identity-endpoint /subscriptions/{SubId2|}/resourceGroups/{RG2}/providers/Microsoft.eventhub/namespaces/{EventHubNamespace}/eventhubs/{EventhubName} \\ + --deadletter-identity-endpoint /subscriptions/{SubID}/resourceGroups/TestRG/providers/Microsoft.Storage/storageAccounts/s2/blobServices/default/containers/blobcontainer1 --deadletter-identity systemassigned -n {EventSubscriptionName} + """ helps['eventgrid event-subscription delete'] = """ @@ -1049,6 +1097,8 @@ For EventGrid domain topic: --source-resource-id /subscriptions/{SubID}/resourceGroups/rg1/providers/Microsoft.EventGrid/domains/d1/topics/t1 - name: --endpoint-type short-summary: The type of the destination endpoint. + - name: --delivery-identity-endpoint-type + short-summary: The type of the destination endpoint with resource identity. - name: --advanced-filter short-summary: An advanced filter enables filtering of events based on a specific event property. long-summary: | @@ -1126,8 +1176,9 @@ short-summary: Create a topic. parameters: - name: --inbound-ip-rules - short-summary: List of inbound ip rules specifying IP Address in CIDR notation e.g., 10.0.0.0/8 along with corresponding Action to perform based on the match or no match of the IpMask. Possible values include - Allow. - long-summary: List of inbound ip rules specifying IP Address in CIDR notation e.g., 10.0.0.0/8 along with corresponding Action to perform based on the match or no match of the IpMask. Possible values include - Allow. + short-summary: List of inbound IP rules. + long-summary: | + List of inbound IP rules specifying IP Address in CIDR notation e.g., 10.0.0.0/8 along with corresponding Action to perform based on the match or no match of the IpMask. Possible values include - Allow. examples: - name: Create a new topic. text: az eventgrid topic create -g rg1 --name topic1 -l westus2 @@ -1136,7 +1187,7 @@ - name: Create a new topic that accepts events published in CloudEvents V1.0 schema. text: az eventgrid topic create -g rg1 --name topic1 -l westus2 --input-schema cloudeventschemav1_0 - name: Create a new topic which allows specific inbound ip rules with Basic Sku and system assigned identity - text: az eventgrid topic create -g rg1 --name topic1 -l westus2 --public-network-access Disabled --inbound-ip-rules 10.0.0.0/8 Allow --inbound-ip-rules 10.2.0.0/8 Allow --sku Basic --identity systemassigned + text: az eventgrid topic create -g rg1 --name topic1 -l westus2 --public-network-access enabled --inbound-ip-rules 10.0.0.0/8 Allow --inbound-ip-rules 10.2.0.0/8 Allow --sku Basic --identity systemassigned """ helps['eventgrid topic delete'] = """ @@ -1149,7 +1200,7 @@ helps['eventgrid topic private-endpoint-connection'] = """ type: group -short-summary: Manage private endpoint connection resources of a topic. +short-summary: Manage private endpoint connections of a topic. """ @@ -1173,8 +1224,24 @@ type: command short-summary: List the properties of all the private endpoint connections for a topic. examples: - - name: Show a private endpoint connection for a topic. - text: az eventgrid topic private-endpoint-connection list -g rg1 -n topic1 + - name: List private endpoint connections for a topic. + text: az eventgrid topic private-endpoint-connection list -g rg1 --topic-name topic1 +""" + +helps['eventgrid topic private-endpoint-connection approve'] = """ +type: command +short-summary: Approve a private endpoint connection request for a topic. +examples: + - name: Approve a private endpoint connection for a topic. + text: az eventgrid topic private-endpoint-connection approve -g rg1 --topic-name topic1 -n topic1-PrivateEndpoint.6d90cf76-a022-452c-9994-6dac62a50c99 --description "Sample approval description" +""" + +helps['eventgrid topic private-endpoint-connection reject'] = """ +type: command +short-summary: Reject a private endpoint connection request for a topic. +examples: + - name: Reject a private endpoint connection for a topic. + text: az eventgrid topic private-endpoint-connection reject -g rg1 --topic-name topic1 -n topic1-PrivateEndpoint.6d90cf76-a022-452c-9994-6dac62a50c99 --description "Sample rejection description" """ helps['eventgrid topic private-link-resource'] = """ @@ -1187,7 +1254,7 @@ short-summary: Display the properties of a private link resource for a topic. examples: - name: Show a private endpoint connection for a topic. - text: az eventgrid topic private-link-resource show -g rg1 --topic-name topic1 -n linkName1 + text: az eventgrid topic private-link-resource show -g rg1 --topic-name topic1 -n topic """ helps['eventgrid topic private-link-resource list'] = """ @@ -1195,7 +1262,7 @@ short-summary: List the properties of all the private link resources for a topic. examples: - name: Show a private endpoint connection for a topic. - text: az eventgrid topic private-link-resource list -g rg1 -n topic1 + text: az eventgrid topic private-link-resource list -g rg1 --topic-name topic1 """ helps['eventgrid topic key'] = """ @@ -1246,11 +1313,11 @@ short-summary: Update a topic. parameters: - name: --inbound-ip-rules - short-summary: List of inbound ip rules specifying IP Address in CIDR notation e.g., 10.0.0.0/8 along with corresponding Action to perform based on the match or no match of the IpMask. Possible values include - Allow. - long-summary: List of inbound ip rules specifying IP Address in CIDR notation e.g., 10.0.0.0/8 along with corresponding Action to perform based on the match or no match of the IpMask. Possible values include - Allow. + short-summary: List of inbound IP rules specifying IP Address in CIDR notation e.g., 10.0.0.0/8 along with corresponding Action to perform based on the match or no match of the IpMask. Possible values include - Allow. + long-summary: List of inbound IP rules specifying IP Address in CIDR notation e.g., 10.0.0.0/8 along with corresponding Action to perform based on the match or no match of the IpMask. Possible values include - Allow. examples: - - name: Update the properties of an existing topic. - text: az eventgrid topic update -g rg1 --name topic1 --sku Premium --identity systemassigned --public-network-access Disabled --inbound-ip-rules 10.0.0.0/8 Allow --inbound-ip-rules 10.2.0.0/8 Allow --tags Dept=IT + - name: Update the properties of an existing topic with new sku, identity and public network access information. + text: az eventgrid topic update -g rg1 --name topic1 --sku Premium --identity systemassigned --public-network-access enabled --inbound-ip-rules 10.0.0.0/8 Allow --inbound-ip-rules 10.2.0.0/8 Allow --tags Dept=IT --sku basic """ helps['eventgrid topic-type'] = """ diff --git a/src/eventgrid/azext_eventgrid/_params.py b/src/eventgrid/azext_eventgrid/_params.py index fb156b65d6c..d57e52cf150 100644 --- a/src/eventgrid/azext_eventgrid/_params.py +++ b/src/eventgrid/azext_eventgrid/_params.py @@ -18,6 +18,7 @@ ) from .advanced_filter import EventSubscriptionAddFilter +from .event_channel_filter import EventChannelAddFilter from .inbound_ip_rules import AddInboundIpRule included_event_types_type = CLIArgumentType( @@ -47,17 +48,29 @@ ) sku_type = CLIArgumentType( - help="The Sku name of the resource. The possible values are basic or premium.", + help="The Sku name of the resource.", arg_type=get_enum_type(['basic', 'premium']), options_list=['--sku'] ) identity_type = CLIArgumentType( - help="The identity type of the resource. The possible values are noidentity or systemassigned.", + help="The identity type of the resource (e.g., topic or domain).", arg_type=get_enum_type(['noidentity', 'systemassigned']), options_list=['--identity'] ) +delivery_identity_type = CLIArgumentType( + help="The identity type of the delivery destination resource (e.g., storage queue, or eventhub).", + arg_type=get_enum_type(['systemassigned']), + options_list=['--delivery-identity'] +) + +deadletter_identity_type = CLIArgumentType( + help="The identity type of the deadletter destination resource.", + arg_type=get_enum_type(['systemassigned']), + options_list=['--deadletter-identity'] +) + input_mapping_fields_type = CLIArgumentType( help="When input-schema is specified as customeventschema, this parameter is used to specify input mappings based on field names. Specify space separated mappings in 'key=value' format. Allowed key names are 'id', 'topic', 'eventtime', 'subject', 'eventtype', 'dataversion'. The corresponding value names should specify the names of the fields in the custom input schema. If a mapping for either 'id' or 'eventtime' is not provided, Event Grid will auto-generate a default value for these two fields.", arg_type=tags_type @@ -138,6 +151,15 @@ arg_type=name_type, options_list=['--partner-topic-source']) +phone_number_type = CLIArgumentType( + help='The customer service number of the publisher. The expected phone format should start with a \'+\' sign' + ' followed by the country code. The remaining digits are then followed. Only digits and spaces are allowed and its' + ' length cannot exceed 16 digits including country code. Examples of valid phone numbers are: +1 515 123 4567 and' + ' +966 7 5115 2471. Examples of invalid phone numbers are: +1 (515) 123-4567, 1 515 123 4567 and +966 121 5115 24 7 551 1234 43.') + +phone_extension_type = CLIArgumentType( + help='The extension of the customer service number of the publisher. Only digits are allowed and number of digits should not exceed 10.') + def load_arguments(self, _): # pylint: disable=too-many-statements with self.argument_context('eventgrid') as c: @@ -147,8 +169,10 @@ def load_arguments(self, _): # pylint: disable=too-many-statements c.argument('included_event_types', arg_type=included_event_types_type) c.argument('labels', arg_type=labels_type) c.argument('endpoint_type', arg_type=get_enum_type(['webhook', 'eventhub', 'storagequeue', 'hybridconnection', 'servicebusqueue', 'servicebustopic', 'azurefunction'], default='webhook')) + c.argument('delivery_identity_endpoint_type', arg_type=get_enum_type(['webhook', 'eventhub', 'storagequeue', 'hybridconnection', 'servicebusqueue', 'servicebustopic', 'azurefunction'], default=None)) c.argument('source_resource_id', help="Fully qualified identifier of the source Azure resource.") c.argument('endpoint', help="Endpoint where EventGrid should deliver events matching this event subscription. For webhook endpoint type, this should be the corresponding webhook URL. For other endpoint types, this should be the Azure resource identifier of the endpoint.") + c.argument('delivery_identity_endpoint', help="Endpoint with identity where EventGrid should deliver events matching this event subscription. For webhook endpoint type, this should be the corresponding webhook URL. For other endpoint types, this should be the Azure resource identifier of the endpoint.") c.argument('event_subscription_name', help="Name of the event subscription.") c.argument('subject_begins_with', help="An optional string to filter events for an event subscription based on a prefix. Wildcard characters are not supported.") c.argument('subject_ends_with', help="An optional string to filter events for an event subscription based on a suffix. Wildcard characters are not supported.") @@ -168,6 +192,8 @@ def load_arguments(self, _): # pylint: disable=too-many-statements c.argument('inbound_ip_rules', action=AddInboundIpRule, nargs='+') c.argument('sku', arg_type=sku_type) c.argument('identity', arg_type=identity_type) + c.argument('delivery_identity', arg_type=delivery_identity_type) + c.argument('deadletter_identity', arg_type=deadletter_identity_type) c.argument('partner_registration_name', arg_type=partner_registration_name_type) c.argument('partner_namespace_name', arg_type=partner_namespace_name_type) c.argument('event_channel_name', arg_type=event_channel_name_type) @@ -200,14 +226,22 @@ def load_arguments(self, _): # pylint: disable=too-many-statements c.argument('private_endpoint_connection_name', arg_type=private_endpoint_connection_name_type, options_list=['--name', '-n'], id_part='privateendpointconnections') with self.argument_context('eventgrid topic private-endpoint-connection list') as c: - c.argument('topic_name', arg_type=topic_name_type, options_list=['--name', '-n'], id_part=None) + c.argument('topic_name', arg_type=topic_name_type, id_part=None) + + with self.argument_context('eventgrid topic private-endpoint-connection approve') as c: + c.argument('topic_name', arg_type=topic_name_type, id_part=None) + c.argument('description', help="Comments for the approval.", id_part=None) + + with self.argument_context('eventgrid topic private-endpoint-connection reject') as c: + c.argument('topic_name', arg_type=topic_name_type, id_part=None) + c.argument('description', help="Comments for the rejection.", id_part=None) with self.argument_context('eventgrid topic private-link-resource') as c: c.argument('topic_name', arg_type=topic_name_type, id_part='name') c.argument('private_link_resource_name', arg_type=private_link_resource_name_type, options_list=['--name', '-n'], id_part='privatelinkresources') with self.argument_context('eventgrid topic private-link-resource list') as c: - c.argument('topic_name', arg_type=topic_name_type, options_list=['--name', '-n'], id_part=None) + c.argument('topic_name', arg_type=topic_name_type, id_part=None) with self.argument_context('eventgrid domain') as c: c.argument('domain_name', arg_type=domain_name_type, options_list=['--name', '-n'], id_part='name') @@ -233,12 +267,20 @@ def load_arguments(self, _): # pylint: disable=too-many-statements with self.argument_context('eventgrid domain private-endpoint-connection list') as c: c.argument('domain_name', arg_type=domain_name_type, options_list=['--name', '-n'], id_part=None) + with self.argument_context('eventgrid domain private-endpoint-connection approve') as c: + c.argument('domain_name', arg_type=domain_name_type, id_part=None) + c.argument('description', help="Comments for the approval.", id_part=None) + + with self.argument_context('eventgrid domain private-endpoint-connection reject') as c: + c.argument('domain_name', arg_type=domain_name_type, id_part=None) + c.argument('description', help="Comments for the rejection.", id_part=None) + with self.argument_context('eventgrid domain private-link-resource') as c: c.argument('domain_name', arg_type=domain_name_type, id_part='name') c.argument('private_link_resource_name', arg_type=private_link_resource_name_type, options_list=['--name', '-n'], id_part='privatelinkresources') with self.argument_context('eventgrid domain private-link-resource list') as c: - c.argument('domain_name', arg_type=domain_name_type, options_list=['--name', '-n'], id_part=None) + c.argument('domain_name', arg_type=domain_name_type, id_part=None) with self.argument_context('eventgrid system-topic') as c: c.argument('system_topic_name', arg_type=system_topic_name_type, options_list=['--name', '-n'], id_part='name', completer=get_resource_name_completion_list('Microsoft.EventGrid/systemtopics')) @@ -251,6 +293,10 @@ def load_arguments(self, _): # pylint: disable=too-many-statements with self.argument_context('eventgrid partner registration') as c: c.argument('partner_registration_name', arg_type=partner_registration_name_type, options_list=['--name', '-n'], id_part='name', completer=get_resource_name_completion_list('Microsoft.EventGrid/partnerregistrations')) + c.argument('long_description', help='Description of the custom scenarios and integration. Length of this description should not exceed 2048 characters', id_part=None) + c.argument('customer_service_number', arg_type=phone_number_type, id_part=None) + c.argument('customer_service_extension', arg_type=phone_extension_type, id_part=None) + c.argument('customer_service_uri', help='The customer service URI of the publisher.', id_part=None) with self.argument_context('eventgrid partner registration list') as c: c.argument('odata_query', arg_type=odata_query_type, id_part=None) @@ -271,6 +317,9 @@ def load_arguments(self, _): # pylint: disable=too-many-statements c.argument('partner_namespace_name', arg_type=partner_namespace_name_type, id_part='name') c.argument('event_channel_name', arg_type=event_channel_name_type, options_list=['--name', '-n'], id_part='name', completer=get_resource_name_completion_list('Microsoft.EventGrid/partnernamespaes/eventchannels')) c.argument('partner_topic_source', arg_type=partner_topic_source_type, options_list=['--source']) + c.argument('activation_expiration_date', help="Date or datetime in UTC ISO 8601 format (e.g., '2022-02-17T01:59:59+00:00' or '2022-02-17') after which the event channel and corresponding partner topic would expire and get auto deleted. If this time is not specified, the expiration date is set to seven days by default.") + c.argument('partner_topic_description', help="Friendly description of the corresponding partner topic. This will be helpful to remove any ambiguity of the origin of creation of the partner topic for the customer.") + c.argument('publisher_filter', action=EventChannelAddFilter, nargs='+') with self.argument_context('eventgrid partner namespace event-channel show') as c: c.argument('partner_namespace_name', arg_type=partner_namespace_name_type, id_part='name') @@ -293,10 +342,15 @@ def load_arguments(self, _): # pylint: disable=too-many-statements c.argument('preferred_batch_size_in_kilobytes', help="Preferred batch size in kilobytes. Must be a number between 1 and 1024.") c.argument('event_ttl', help="Event time to live (in minutes). Must be a number between 1 and 1440.") c.argument('deadletter_endpoint', help="The Azure resource ID of an Azure Storage blob container destination where EventGrid should deadletter undeliverable events for this event subscription.") + c.argument('deadletter_identity_endpoint', help="The Azure resource ID of an Azure Storage blob container destination with identity where EventGrid should deadletter undeliverable events for this event subscription.") c.argument('advanced_filter', action=EventSubscriptionAddFilter, nargs='+') c.argument('expiration_date', help="Date or datetime (in UTC, e.g. '2018-11-30T11:59:59+00:00' or '2018-11-30') after which the event subscription would expire. By default, there is no expiration for the event subscription.") c.argument('azure_active_directory_tenant_id', help="The Azure Active Directory Tenant Id to get the access token that will be included as the bearer token in delivery requests. Applicable only for webhook as a destination") c.argument('azure_active_directory_application_id_or_uri', help="The Azure Active Directory Application Id or Uri to get the access token that will be included as the bearer token in delivery requests. Applicable only for webhook as a destination") + c.argument('delivery_identity', arg_type=delivery_identity_type) + c.argument('deadletter_identity', arg_type=deadletter_identity_type) + c.argument('delivery_identity_endpoint', help="Endpoint with identity where EventGrid should deliver events matching this event subscription. For webhook endpoint type, this should be the corresponding webhook URL. For other endpoint types, this should be the Azure resource identifier of the endpoint.") + c.argument('delivery_identity_endpoint_type', arg_type=get_enum_type(['webhook', 'eventhub', 'storagequeue', 'hybridconnection', 'servicebusqueue', 'servicebustopic', 'azurefunction'], default=None)) with self.argument_context('eventgrid event-subscription list') as c: c.argument('odata_query', arg_type=odata_query_type, id_part=None) diff --git a/src/eventgrid/azext_eventgrid/commands.py b/src/eventgrid/azext_eventgrid/commands.py index ce34971f2e2..2289244dfc8 100644 --- a/src/eventgrid/azext_eventgrid/commands.py +++ b/src/eventgrid/azext_eventgrid/commands.py @@ -139,21 +139,25 @@ def load_command_table(self, _): g.custom_command('update', 'cli_domain_update') with self.command_group('eventgrid topic private-endpoint-connection', private_endpoint_connections_mgmt_util, client_factory=private_endpoint_connections_factory) as g: - g.custom_command('show', 'cli_topic_private_endpoint_connection_get') + g.custom_show_command('show', 'cli_topic_private_endpoint_connection_get') g.custom_command('list', 'cli_topic_private_endpoint_connection_list') g.custom_command('delete', 'cli_topic_private_endpoint_connection_delete') + g.custom_command('approve', 'cli_topic_private_endpoint_connection_approve') + g.custom_command('reject', 'cli_topic_private_endpoint_connection_reject') with self.command_group('eventgrid domain private-endpoint-connection', private_endpoint_connections_mgmt_util, client_factory=private_endpoint_connections_factory) as g: g.custom_show_command('show', 'cli_domain_private_endpoint_connection_get') g.custom_command('list', 'cli_domain_private_endpoint_connection_list') g.custom_command('delete', 'cli_domain_private_endpoint_connection_delete') + g.custom_command('approve', 'cli_domain_private_endpoint_connection_approve') + g.custom_command('reject', 'cli_domain_private_endpoint_connection_reject') with self.command_group('eventgrid topic private-link-resource', private_link_resources_mgmt_util, client_factory=private_link_resources_factory) as g: - g.custom_command('show', 'cli_topic_private_link_resource_get') + g.custom_show_command('show', 'cli_topic_private_link_resource_get') g.custom_command('list', 'cli_topic_private_link_resource_list') with self.command_group('eventgrid domain private-link-resource', private_link_resources_mgmt_util, client_factory=private_link_resources_factory) as g: - g.custom_command('show', 'cli_domain_private_link_resource_get') + g.custom_show_command('show', 'cli_domain_private_link_resource_get') g.custom_command('list', 'cli_domain_private_link_resource_list') with self.command_group('eventgrid system-topic', system_topics_mgmt_util, client_factory=system_topics_factory) as g: diff --git a/src/eventgrid/azext_eventgrid/custom.py b/src/eventgrid/azext_eventgrid/custom.py index 8b2d9b206b3..0b7d6f60494 100644 --- a/src/eventgrid/azext_eventgrid/custom.py +++ b/src/eventgrid/azext_eventgrid/custom.py @@ -39,8 +39,13 @@ PartnerTopic, EventChannelSource, EventChannelDestination, - SystemTopic -) + SystemTopic, + PrivateEndpointConnection, + ConnectionState, + EventSubscriptionIdentity, + DeliveryWithResourceIdentity, + DeadLetterWithResourceIdentity, + EventChannelFilter) logger = get_logger(__name__) @@ -88,7 +93,12 @@ EVENTTIME = "eventtime" EVENTTYPE = "eventtype" DATAVERSION = "dataversion" + +PHONE_NUMBER_REGEX = "^\\+(?:[0-9] ?){6,15}[0-9]$" +EXTENSION_NUMBER_REGEX = "^(?:[0-9] ?){1,8}[0-9]$" + DEFAULT_TOP = 100 +MAX_LONG_DESCRIPTION_LEN = 2048 def cli_topic_list( @@ -127,6 +137,8 @@ def cli_topic_create_or_update( if (identity is not None and identity.lower() != IDENTITY_NONE.lower()): identity_type_name = _get_identity_type(identity) identity_info = IdentityInfo(type=identity_type_name) + else: + identity_info = IdentityInfo(type=IDENTITY_NONE) topic_info = Topic( location=location, @@ -153,8 +165,10 @@ def cli_topic_update( inbound_ip_rules=None, sku=None, identity=None): - sku_name = _get_sku(sku) - sku_info = ResourceSku(name=sku_name) + sku_info = None + if sku is not None: + sku_name = _get_sku(sku) + sku_info = ResourceSku(name=sku_name) identity_info = None @@ -184,9 +198,10 @@ def cli_domain_update( inbound_ip_rules=None, sku=None, identity=None): - sku_name = _get_sku(sku) - sku_info = ResourceSku( - name=sku_name) + sku_info = None + if sku is not None: + sku_name = _get_sku(sku) + sku_info = ResourceSku(name=sku_name) identity_info = None if (identity is not None and identity.lower() != IDENTITY_NONE.lower()): @@ -242,6 +257,8 @@ def cli_domain_create_or_update( if (identity is not None and identity.lower() != IDENTITY_NONE.lower()): identity_type_name = _get_identity_type(identity) identity_info = IdentityInfo(type=identity_type_name) + else: + identity_info = IdentityInfo(type=IDENTITY_NONE) domain_info = Domain( location=location, @@ -319,11 +336,34 @@ def cli_partner_registration_create_or_update( resource_type_name, display_name=None, description=None, + long_description=None, + customer_service_number=None, + customer_service_extension=None, + customer_service_uri=None, logo_uri=None, setup_uri=None, authorized_subscription_ids=None, tags=None): + if long_description is not None and len(long_description) >= MAX_LONG_DESCRIPTION_LEN: + raise CLIError('The long description cannot exceed ' + str(MAX_LONG_DESCRIPTION_LEN) + ' characters.') + + if customer_service_number is not None: + searchObj = re.search(PHONE_NUMBER_REGEX, customer_service_number) + if searchObj is None: + raise CLIError('Invalid customer service phone number. The expected phone format should start with' + ' a \'+\' sign followed by the country code. The remaining digits are then followed.' + ' Only digits and spaces are allowed and its length cannot exceed 16 digits including' + ' country code. Examples of valid phone numbers are: +1 515 123 4567 and' + ' +966 7 5115 2471. Examples of invalid phone numbers are: +1 (515) 123-4567,' + ' 1 515 123 4567 and +966 121 5115 24 7 551 1234 43.') + + if customer_service_extension is not None: + searchObj = re.search(EXTENSION_NUMBER_REGEX, customer_service_extension) + if searchObj is None: + raise CLIError('Invalid customer service extension number. Only digits are allowed' + ' and number of digits should not exceed 10.') + partner_registration_info = PartnerRegistration( location=GLOBAL, partner_name=partner_name, @@ -332,6 +372,10 @@ def cli_partner_registration_create_or_update( setup_uri=setup_uri, partner_resource_type_display_name=display_name, partner_resource_type_description=description, + long_description=long_description, + partner_customer_service_number=customer_service_number, + partner_customer_service_extension=customer_service_extension, + customer_service_uri=customer_service_uri, authorized_azure_subscription_ids=authorized_subscription_ids, tags=tags) @@ -414,7 +458,10 @@ def cli_event_channel_create_or_update( partner_topic_source, destination_subscription_id, destination_resource_group, - desination_topic_name): + desination_topic_name, + activation_expiration_date=None, + partner_topic_description=None, + publisher_filter=None): source_info = EventChannelSource(source=partner_topic_source) @@ -423,7 +470,16 @@ def cli_event_channel_create_or_update( resource_group=destination_resource_group, partner_topic_name=desination_topic_name) - event_channel_info = EventChannel(source=source_info, destination=destination_info) + event_channel_filter = None + if publisher_filter is not None: + event_channel_filter = EventChannelFilter(advanced_filters=publisher_filter) + + event_channel_info = EventChannel( + source=source_info, + destination=destination_info, + expiration_time_if_not_activated_utc=activation_expiration_date, + partner_topic_friendly_description=partner_topic_description, + filter=event_channel_filter) return client.create_or_update( resource_group_name, @@ -523,7 +579,12 @@ def cli_partner_topic_event_subscription_create_or_update( # pylint: disable= expiration_date=expiration_date, advanced_filter=advanced_filter, azure_active_directory_tenant_id=azure_active_directory_tenant_id, - azure_active_directory_application_id_or_uri=azure_active_directory_application_id_or_uri) + azure_active_directory_application_id_or_uri=azure_active_directory_application_id_or_uri, + delivery_identity=None, + delivery_identity_endpoint=None, + delivery_identity_endpoint_type=None, + deadletter_identity=None, + deadletter_identity_endpoint=None) return client.create_or_update( resource_group_name, @@ -641,7 +702,12 @@ def cli_system_topic_event_subscription_create_or_update( # pylint: disable=t expiration_date=expiration_date, advanced_filter=advanced_filter, azure_active_directory_tenant_id=azure_active_directory_tenant_id, - azure_active_directory_application_id_or_uri=azure_active_directory_application_id_or_uri) + azure_active_directory_application_id_or_uri=azure_active_directory_application_id_or_uri, + delivery_identity=None, + delivery_identity_endpoint=None, + delivery_identity_endpoint_type=None, + deadletter_identity=None, + deadletter_identity_endpoint=None) return client.create_or_update( resource_group_name, @@ -689,7 +755,7 @@ def cli_system_topic_event_subscription_list( # pylint: disable=too-many-retur def cli_eventgrid_event_subscription_create( # pylint: disable=too-many-locals client, event_subscription_name, - endpoint, + endpoint=None, source_resource_id=None, endpoint_type=WEBHOOK_DESTINATION, included_event_types=None, @@ -706,7 +772,12 @@ def cli_eventgrid_event_subscription_create( # pylint: disable=too-many-locals expiration_date=None, advanced_filter=None, azure_active_directory_tenant_id=None, - azure_active_directory_application_id_or_uri=None): + azure_active_directory_application_id_or_uri=None, + delivery_identity=None, + delivery_identity_endpoint=None, + delivery_identity_endpoint_type=None, + deadletter_identity=None, + deadletter_identity_endpoint=None): event_subscription_info = _get_event_subscription_info( endpoint=endpoint, @@ -725,7 +796,12 @@ def cli_eventgrid_event_subscription_create( # pylint: disable=too-many-locals expiration_date=expiration_date, advanced_filter=advanced_filter, azure_active_directory_tenant_id=azure_active_directory_tenant_id, - azure_active_directory_application_id_or_uri=azure_active_directory_application_id_or_uri) + azure_active_directory_application_id_or_uri=azure_active_directory_application_id_or_uri, + delivery_identity=delivery_identity, + delivery_identity_endpoint=delivery_identity_endpoint, + delivery_identity_endpoint_type=delivery_identity_endpoint_type, + deadletter_identity=deadletter_identity, + deadletter_identity_endpoint=deadletter_identity_endpoint) return client.create_or_update( source_resource_id, @@ -859,6 +935,40 @@ def cli_topic_private_endpoint_connection_list( return client.list_by_resource(resource_group_name, EVENTGRID_TOPICS, topic_name) +def cli_topic_private_endpoint_connection_approve( + client, + resource_group_name, + topic_name, + private_endpoint_connection_name, + description=None): + + status = ConnectionState(description=description, status='Approved') + private_endpoint_conn = PrivateEndpointConnection(private_link_service_connection_state=status) + return client.update( + resource_group_name, + EVENTGRID_TOPICS, + topic_name, + private_endpoint_connection_name, + private_endpoint_conn) + + +def cli_topic_private_endpoint_connection_reject( + client, + resource_group_name, + topic_name, + private_endpoint_connection_name, + description=None): + + status = ConnectionState(description=description, status='Rejected') + private_endpoint_conn = PrivateEndpointConnection(private_link_service_connection_state=status) + return client.update( + resource_group_name, + EVENTGRID_TOPICS, + topic_name, + private_endpoint_connection_name, + private_endpoint_conn) + + def cli_domain_private_endpoint_connection_get( client, resource_group_name, @@ -885,6 +995,40 @@ def cli_domain_private_endpoint_connection_delete( return client.delete(resource_group_name, EVENTGRID_DOMAINS, domain_name, private_endpoint_connection_name) +def cli_domain_private_endpoint_connection_approve( + client, + resource_group_name, + domain_name, + private_endpoint_connection_name, + description=None): + + status = ConnectionState(description=description, status='Approved') + private_endpoint_conn = PrivateEndpointConnection(private_link_service_connection_state=status) + return client.update( + resource_group_name, + EVENTGRID_DOMAINS, + domain_name, + private_endpoint_connection_name, + private_endpoint_conn) + + +def cli_domain_private_endpoint_connection_reject( + client, + resource_group_name, + domain_name, + private_endpoint_connection_name, + description=None): + + status = ConnectionState(description=description, status='Rejected') + private_endpoint_conn = PrivateEndpointConnection(private_link_service_connection_state=status) + return client.update( + resource_group_name, + EVENTGRID_DOMAINS, + domain_name, + private_endpoint_connection_name, + private_endpoint_conn) + + def cli_topic_private_link_resource_get( client, resource_group_name, @@ -919,8 +1063,8 @@ def cli_domain_private_link_resource_list( return client.list_by_resource(resource_group_name, EVENTGRID_DOMAINS, domain_name) -def _get_event_subscription_info( # pylint: disable=too-many-locals - endpoint, +def _get_event_subscription_info( # pylint: disable=too-many-locals,too-many-statements,too-many-branches + endpoint=None, endpoint_type=WEBHOOK_DESTINATION, included_event_types=None, subject_begins_with=None, @@ -936,7 +1080,21 @@ def _get_event_subscription_info( # pylint: disable=too-many-locals expiration_date=None, advanced_filter=None, azure_active_directory_tenant_id=None, - azure_active_directory_application_id_or_uri=None): + azure_active_directory_application_id_or_uri=None, + delivery_identity=None, + delivery_identity_endpoint=None, + delivery_identity_endpoint_type=None, + deadletter_identity=None, + deadletter_identity_endpoint=None): + + if endpoint is None and delivery_identity_endpoint is None or \ + endpoint is not None and delivery_identity_endpoint is not None: + raise CLIError('usage error: either --endpoint or --delivery-identity-endpoint should ' + 'be specified at one time, not both.') + + if deadletter_endpoint is not None and deadletter_identity_endpoint is not None: + raise CLIError('usage error: either --deadletter_endpoint or --deadletter_identity_endpoint ' + 'should be specified at one time, not both') if included_event_types is not None and len(included_event_types) == 1 and included_event_types[0].lower() == 'all': logger.warning('The usage of \"All\" for --included-event-types is not allowed starting from Azure Event Grid' @@ -985,20 +1143,56 @@ def _get_event_subscription_info( # pylint: disable=too-many-locals raise CLIError('usage error: azure-active-directory-tenant-id is missing. ' 'It should include an Azure Active Directory Tenant Id.') + condition1 = delivery_identity is not None and \ + (delivery_identity_endpoint is None or delivery_identity_endpoint_type is None) + condition2 = delivery_identity is None and \ + (delivery_identity_endpoint is not None or delivery_identity_endpoint_type is not None) + if endpoint is None and (condition1 or condition2): + raise CLIError('usage error: one or more delivery identity information is missing. ' + 'If delivery_identity is specified, both delivery_identity_endpoint and ' + 'delivery_identity_endpoint_type should be specified.') + + condition1 = deadletter_identity is not None and deadletter_identity_endpoint is None + condition2 = deadletter_identity is None and deadletter_identity_endpoint is not None + if condition1 or condition2: + raise CLIError('usage error: one or more deadletter identity information is missing. If ' + 'deadletter_identity is specified, deadletter_identity_endpoint should be specified.') + tennant_id = None application_id = None - if endpoint_type.lower() == WEBHOOK_DESTINATION.lower(): + condition1 = endpoint_type is not None and endpoint_type.lower() == WEBHOOK_DESTINATION.lower() + condition2 = delivery_identity_endpoint_type is not None and \ + delivery_identity_endpoint_type.lower() == WEBHOOK_DESTINATION.lower() # pylint: line-too-long + if condition1 or condition2: tennant_id = azure_active_directory_tenant_id application_id = azure_active_directory_application_id_or_uri - destination = _get_endpoint_destination( - endpoint_type, - endpoint, - max_events_per_batch, - preferred_batch_size_in_kilobytes, - tennant_id, - application_id) + destination = None + if endpoint is not None: + destination = _get_endpoint_destination( + endpoint_type, + endpoint, + max_events_per_batch, + preferred_batch_size_in_kilobytes, + tennant_id, + application_id) + + delivery_with_resource_identity = None + + if delivery_identity_endpoint is not None: + identity_type_name = _get_event_subscription_identity_type(delivery_identity) + delivery_identity_info = EventSubscriptionIdentity(type=identity_type_name) + destination_with_identity = _get_endpoint_destination( + delivery_identity_endpoint_type, + delivery_identity_endpoint, + max_events_per_batch, + preferred_batch_size_in_kilobytes, + tennant_id, + application_id) + delivery_with_resource_identity = DeliveryWithResourceIdentity( + identity=delivery_identity_info, + destination=destination_with_identity) event_subscription_filter = EventSubscriptionFilter( subject_begins_with=subject_begins_with, @@ -1011,6 +1205,16 @@ def _get_event_subscription_info( # pylint: disable=too-many-locals if deadletter_endpoint is not None: deadletter_destination = _get_deadletter_destination(deadletter_endpoint) + deadletter_with_resource_identity = None + + if deadletter_identity_endpoint is not None: + deadletter_destination_with_identity = _get_deadletter_destination(deadletter_identity_endpoint) + deadletter_identity_type_name = _get_event_subscription_identity_type(deadletter_identity) + deadletter_delivery_identity_info = EventSubscriptionIdentity(type=deadletter_identity_type_name) + deadletter_with_resource_identity = DeadLetterWithResourceIdentity( + identity=deadletter_delivery_identity_info, + dead_letter_destination=deadletter_destination_with_identity) + if expiration_date is not None: expiration_date = parse(expiration_date) @@ -1021,7 +1225,9 @@ def _get_event_subscription_info( # pylint: disable=too-many-locals event_delivery_schema=_get_event_delivery_schema(event_delivery_schema), retry_policy=retry_policy, expiration_time_utc=expiration_date, - dead_letter_destination=deadletter_destination) + dead_letter_destination=deadletter_destination, + delivery_with_resource_identity=delivery_with_resource_identity, + dead_letter_with_resource_identity=deadletter_with_resource_identity) _warn_if_manual_handshake_needed(endpoint_type, endpoint) @@ -1110,7 +1316,12 @@ def cli_system_topic_event_subscription_update( included_event_types=included_event_types, advanced_filter=advanced_filter, labels=labels, - deadletter_endpoint=deadletter_endpoint) + deadletter_endpoint=deadletter_endpoint, + delivery_identity=None, + delivery_identity_endpoint=None, + delivery_identity_endpoint_type=None, + deadletter_identity=None, + deadletter_identity_endpoint=None) return client.update( resource_group_name, @@ -1144,7 +1355,12 @@ def cli_partner_topic_event_subscription_update( included_event_types=included_event_types, advanced_filter=advanced_filter, labels=labels, - deadletter_endpoint=deadletter_endpoint) + deadletter_endpoint=deadletter_endpoint, + delivery_identity=None, + delivery_identity_endpoint=None, + delivery_identity_endpoint_type=None, + deadletter_identity=None, + deadletter_identity_endpoint=None) return client.update( resource_group_name, @@ -1162,7 +1378,12 @@ def update_event_subscription( included_event_types=None, advanced_filter=None, labels=None, - deadletter_endpoint=None): + deadletter_endpoint=None, + delivery_identity=None, + delivery_identity_endpoint=None, + delivery_identity_endpoint_type=None, + deadletter_identity=None, + deadletter_identity_endpoint=None): return _update_event_subscription_internal( instance=instance, endpoint=endpoint, @@ -1172,10 +1393,15 @@ def update_event_subscription( included_event_types=included_event_types, advanced_filter=advanced_filter, labels=labels, - deadletter_endpoint=deadletter_endpoint) + deadletter_endpoint=deadletter_endpoint, + delivery_identity=delivery_identity, + delivery_identity_endpoint=delivery_identity_endpoint, + delivery_identity_endpoint_type=delivery_identity_endpoint_type, + deadletter_identity=deadletter_identity, + deadletter_identity_endpoint=deadletter_identity_endpoint) -def _update_event_subscription_internal( +def _update_event_subscription_internal( # pylint: disable=too-many-locals,too-many-statements instance, endpoint=None, endpoint_type=WEBHOOK_DESTINATION, @@ -1184,8 +1410,34 @@ def _update_event_subscription_internal( included_event_types=None, advanced_filter=None, labels=None, - deadletter_endpoint=None): + deadletter_endpoint=None, + delivery_identity=None, + delivery_identity_endpoint=None, + delivery_identity_endpoint_type=None, + deadletter_identity=None, + deadletter_identity_endpoint=None): + + condition1 = delivery_identity is not None and \ + (delivery_identity_endpoint is None or delivery_identity_endpoint_type is None) + condition2 = delivery_identity is None and \ + (delivery_identity_endpoint is not None or delivery_identity_endpoint_type is not None) + if endpoint is None and (condition1 or condition2): + raise CLIError('usage error: one or more delivery identity information is missing. ' + 'If delivery_identity is specified, both delivery_identity_endpoint and ' + 'delivery_identity_endpoint_type should be specified.') + + condition1 = deadletter_identity is not None and deadletter_identity_endpoint is None + condition2 = deadletter_identity is None and deadletter_identity_endpoint is not None + if condition1 or condition2: + raise CLIError('usage error: one or more deadletter identity information is missing. If ' + 'deadletter_identity is specified, deadletter_identity_endpoint should be specified.') + event_subscription_destination = instance.destination + event_subscription_destination_with_resource_identity = None + + if instance.delivery_with_resource_identity is not None: + event_subscription_destination_with_resource_identity = instance.delivery_with_resource_identity.destination + deadletter_destination = None event_subscription_labels = instance.labels event_subscription_filter = instance.filter @@ -1209,18 +1461,66 @@ def _update_event_subscription_internal( hasattr(event_subscription_destination, 'azure_active_directory_application_id_or_uri'): application_id = event_subscription_destination.azure_active_directory_application_id_or_uri + if event_subscription_destination_with_resource_identity is not None and \ + hasattr(event_subscription_destination_with_resource_identity, 'azure_active_directory_tenant_id'): + tennant_id = event_subscription_destination_with_resource_identity.azure_active_directory_tenant_id + + if event_subscription_destination_with_resource_identity is not None and \ + hasattr(event_subscription_destination_with_resource_identity, 'azure_active_directory_application_id_or_uri'): + application_id = \ + event_subscription_destination_with_resource_identity.azure_active_directory_application_id_or_uri + + max_events_per_batch = 0 + preferred_batch_size_in_kilobytes = 0 + + if event_subscription_destination is not None and \ + event_subscription_destination.endpoint_type is not None and (event_subscription_destination.endpoint_type.lower() == WEBHOOK_DESTINATION.lower() or event_subscription_destination.endpoint_type.lower() == AZUREFUNCTION_DESTINATION.lower()): # pylint: disable=line-too-long + max_events_per_batch = event_subscription_destination.max_events_per_batch + preferred_batch_size_in_kilobytes = event_subscription_destination.preferred_batch_size_in_kilobytes + + if event_subscription_destination_with_resource_identity is not None and \ + event_subscription_destination_with_resource_identity.endpoint_type is not None and (event_subscription_destination_with_resource_identity.endpoint_type.lower() == WEBHOOK_DESTINATION.lower() or event_subscription_destination_with_resource_identity.endpoint_type.lower() == AZUREFUNCTION_DESTINATION.lower()): # pylint: disable=line-too-long + max_events_per_batch = event_subscription_destination_with_resource_identity.max_events_per_batch + preferred_batch_size_in_kilobytes = event_subscription_destination_with_resource_identity.preferred_batch_size_in_kilobytes # pylint: disable=line-too-long + if endpoint is not None: event_subscription_destination = _get_endpoint_destination( endpoint_type, endpoint, - event_subscription_destination.max_events_per_batch, - event_subscription_destination.preferred_batch_size_in_kilobytes, + max_events_per_batch, + preferred_batch_size_in_kilobytes, tennant_id, application_id) + delivery_with_resource_identity = None + + if delivery_identity_endpoint is not None: + identity_type_name = _get_event_subscription_identity_type(delivery_identity) + delivery_identity_info = EventSubscriptionIdentity(type=identity_type_name) + destination_with_identity = _get_endpoint_destination( + delivery_identity_endpoint_type, + delivery_identity_endpoint, + 0, + 0, + tennant_id, + application_id) + delivery_with_resource_identity = DeliveryWithResourceIdentity( + identity=delivery_identity_info, + destination=destination_with_identity) + if deadletter_endpoint is not None: deadletter_destination = _get_deadletter_destination(deadletter_endpoint) + deadletter_with_resource_identity = None + + if deadletter_identity_endpoint is not None: + deadletter_destination_with_identity = _get_deadletter_destination(deadletter_identity_endpoint) + deadletter_identity_type_name = _get_event_subscription_identity_type(deadletter_identity) + deadletter_delivery_identity_info = EventSubscriptionIdentity(type=deadletter_identity_type_name) + deadletter_with_resource_identity = DeadLetterWithResourceIdentity( + identity=deadletter_delivery_identity_info, + dead_letter_destination=deadletter_destination_with_identity) + if subject_begins_with is not None: event_subscription_filter.subject_begins_with = subject_begins_with @@ -1242,8 +1542,9 @@ def _update_event_subscription_internal( labels=event_subscription_labels, retry_policy=retry_policy, dead_letter_destination=deadletter_destination, - event_delivery_schema=event_delivery_schema - ) + event_delivery_schema=event_delivery_schema, + delivery_with_resource_identity=delivery_with_resource_identity, + dead_letter_with_resource_identity=deadletter_with_resource_identity) return params @@ -1371,6 +1672,14 @@ def _get_identity_type(identity_type_name=IDENTITY_NONE): return result +def _get_event_subscription_identity_type(identity_type_name): + result = None + if identity_type_name.lower() == IDENTITY_SYSTEM_ASSIGNED.lower(): + result = IDENTITY_SYSTEM_ASSIGNED + + return result + + def _get_input_schema_and_mapping( input_schema=EVENTGRID_SCHEMA, input_mapping_fields=None, diff --git a/src/eventgrid/azext_eventgrid/event_channel_filter.py b/src/eventgrid/azext_eventgrid/event_channel_filter.py new file mode 100644 index 00000000000..99b65ac4910 --- /dev/null +++ b/src/eventgrid/azext_eventgrid/event_channel_filter.py @@ -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. +# -------------------------------------------------------------------------------------------- + +import argparse +from knack.util import CLIError + +from azext_eventgrid.vendored_sdks.eventgrid.models import ( + NumberGreaterThanAdvancedFilter, + NumberGreaterThanOrEqualsAdvancedFilter, + NumberInAdvancedFilter, + NumberLessThanAdvancedFilter, + NumberLessThanOrEqualsAdvancedFilter, + NumberNotInAdvancedFilter, + StringBeginsWithAdvancedFilter, + StringContainsAdvancedFilter, + StringEndsWithAdvancedFilter, + StringInAdvancedFilter, + StringNotInAdvancedFilter, + BoolEqualsAdvancedFilter) + +NUMBERIN = "NumberIn" +NUMBERNOTIN = "NumberNotIn" +STRINGIN = "StringIn" +STRINGNOTIN = "StringNotIn" +STRINGBEGINSWITH = "StringBeginsWith" +STRINGCONTAINS = "StringContains" +STRINGENDSWITH = "StringEndsWith" +NUMBERGREATERTHAN = "NumberGreaterThan" +NUMBERGREATERTHANOREQUALS = "NumberGreaterThanOrEquals" +NUMBERLESSTHAN = "NumberLessThan" +NUMBERLESSTHANOREQUALS = "NumberLessThanOrEquals" +BOOLEQUALS = "BoolEquals" + + +# pylint: disable=protected-access +# pylint: disable=too-few-public-methods +class EventChannelAddFilter(argparse._AppendAction): + def __call__(self, parser, namespace, values, option_string=None): + if len(values) < 3: + raise CLIError('usage error: --publisher-filter KEY[.INNERKEY] FILTEROPERATOR VALUE [VALUE ...]') + + key = values[0] + operator = values[1] + +# operators that support single value + if operator.lower() == NUMBERLESSTHAN.lower(): + _validate_only_single_value_is_specified(NUMBERLESSTHAN, values) + publisher_filter = NumberLessThanAdvancedFilter(key=key, value=float(values[2])) + elif operator.lower() == NUMBERLESSTHANOREQUALS.lower(): + _validate_only_single_value_is_specified(NUMBERLESSTHANOREQUALS, values) + publisher_filter = NumberLessThanOrEqualsAdvancedFilter(key=key, value=float(values[2])) + elif operator.lower() == NUMBERGREATERTHAN.lower(): + _validate_only_single_value_is_specified(NUMBERGREATERTHAN, values) + publisher_filter = NumberGreaterThanAdvancedFilter(key=key, value=float(values[2])) + elif operator.lower() == NUMBERGREATERTHANOREQUALS.lower(): + _validate_only_single_value_is_specified(NUMBERGREATERTHANOREQUALS, values) + publisher_filter = NumberGreaterThanOrEqualsAdvancedFilter(key=key, value=float(values[2])) + elif operator.lower() == BOOLEQUALS.lower(): + _validate_only_single_value_is_specified(BOOLEQUALS, values) + publisher_filter = BoolEqualsAdvancedFilter(key=key, value=bool(values[2])) + +# operators that support multiple values + elif operator.lower() == NUMBERIN.lower(): + float_values = [float(i) for i in values[2:]] + publisher_filter = NumberInAdvancedFilter(key=key, values=float_values) + elif operator.lower() == NUMBERNOTIN.lower(): + float_values = [float(i) for i in values[2:]] + publisher_filter = NumberNotInAdvancedFilter(key=key, values=float_values) + elif operator.lower() == STRINGIN.lower(): + publisher_filter = StringInAdvancedFilter(key=key, values=values[2:]) + elif operator.lower() == STRINGNOTIN.lower(): + publisher_filter = StringNotInAdvancedFilter(key=key, values=values[2:]) + elif operator.lower() == STRINGBEGINSWITH.lower(): + publisher_filter = StringBeginsWithAdvancedFilter(key=key, values=values[2:]) + elif operator.lower() == STRINGENDSWITH.lower(): + publisher_filter = StringEndsWithAdvancedFilter(key=key, values=values[2:]) + elif operator.lower() == STRINGCONTAINS.lower(): + publisher_filter = StringContainsAdvancedFilter(key=key, values=values[2:]) + else: + raise CLIError("--publisher-filter: The specified filter operator '{}' is not" + " a valid operator. Supported values are ".format(operator) + + NUMBERIN + "," + NUMBERNOTIN + "," + STRINGIN + "," + + STRINGNOTIN + "," + STRINGBEGINSWITH + "," + + STRINGCONTAINS + "," + STRINGENDSWITH + "," + + NUMBERGREATERTHAN + "," + NUMBERGREATERTHANOREQUALS + "," + + NUMBERLESSTHAN + "," + NUMBERLESSTHANOREQUALS + "," + BOOLEQUALS + ".") + if namespace.publisher_filter is None: + namespace.publisher_filter = [] + namespace.publisher_filter.append(publisher_filter) + + +def _validate_only_single_value_is_specified(operator_type, values): + if len(values) != 3: + raise CLIError("--publisher-filter: For '{}' operator, only one filter value " + "must be specified.".format(operator_type)) diff --git a/src/eventgrid/azext_eventgrid/tests/latest/recordings/test_Partner_scenarios.yaml b/src/eventgrid/azext_eventgrid/tests/latest/recordings/test_Partner_scenarios.yaml index 6c1350ff3d7..ca772b76e3e 100644 --- a/src/eventgrid/azext_eventgrid/tests/latest/recordings/test_Partner_scenarios.yaml +++ b/src/eventgrid/azext_eventgrid/tests/latest/recordings/test_Partner_scenarios.yaml @@ -1,7 +1,10 @@ interactions: - request: body: '{"location": "global", "properties": {"partnerName": "cli000007", "partnerResourceTypeName": - "cli000008", "authorizedAzureSubscriptionIds": ["e065fce2-69a8-11ea-aa0e-a08cfdecd868"]}}' + "cli000008", "longDescription": "This is long description sample", "partnerCustomerServiceNumber": + "+1 800 123 4567", "partnerCustomerServiceExtension": "1234", "customerServiceUri": + "https://www.example.com/cusomerService", "authorizedAzureSubscriptionIds": + ["966223a4-9787-11ea-9368-a08cfdecd868"]}}' headers: Accept: - application/json @@ -12,30 +15,33 @@ interactions: Connection: - keep-alive Content-Length: - - '244' + - '456' Content-Type: - application/json; charset=utf-8 ParameterSetName: - --name --resource-group --partner-name --resource-type-name --authorized-subscription-ids + --long-description --customer-service-number --customer-service-extension + --customer-service-uri User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/partnerRegistrations/cli000002?api-version=2020-04-01-preview response: body: - string: '{"properties":{"provisioningState":"Succeeded","partnerName":"cli000007","partnerResourceTypeName":"cli000008","partnerResourceTypeDisplayName":null,"partnerResourceTypeDescription":null,"setupUri":null,"logoUri":null,"visibilityState":"Hidden","authorizedAzureSubscriptionIds":["e065fce2-69a8-11ea-aa0e-a08cfdecd868"]},"location":"global","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/partnerRegistrations/cli000002","name":"cli000002","type":"Microsoft.EventGrid/partnerRegistrations"}' + string: '{"properties":{"provisioningState":"Succeeded","partnerName":"cli000007","partnerResourceTypeName":"cli000008","partnerResourceTypeDisplayName":null,"partnerResourceTypeDescription":null,"longDescription":"This + is long description sample","partnerCustomerServiceNumber":"+1 800 123 4567","partnerCustomerServiceExtension":"1234","customerServiceUri":"https://www.example.com/cusomerService","setupUri":null,"logoUri":null,"visibilityState":"Hidden","authorizedAzureSubscriptionIds":["966223a4-9787-11ea-9368-a08cfdecd868"]},"location":"global","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/partnerRegistrations/cli000002","name":"cli000002","type":"Microsoft.EventGrid/partnerRegistrations"}' headers: cache-control: - no-cache content-length: - - '756' + - '960' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:14:24 GMT + - Sat, 16 May 2020 15:11:59 GMT expires: - '-1' pragma: @@ -51,15 +57,17 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1199' status: code: 200 message: OK - request: body: '{"location": "global", "properties": {"partnerName": "cli000007", "partnerResourceTypeName": "cli000008", "partnerResourceTypeDisplayName": "cli000010", "partnerResourceTypeDescription": - "cli000009", "authorizedAzureSubscriptionIds": ["e065fce3-69a8-11ea-82ae-a08cfdecd868", - "e065fce4-69a8-11ea-9e49-a08cfdecd868"]}}' + "cli000009", "longDescription": "This is long description sample", "partnerCustomerServiceNumber": + "+1 962 7 1234 5678", "partnerCustomerServiceExtension": "9876", "customerServiceUri": + "https://www.example.com/cusomerService", "authorizedAzureSubscriptionIds": + ["966223a5-9787-11ea-a602-a08cfdecd868", "966223a6-9787-11ea-aa04-a08cfdecd868"]}}' headers: Accept: - application/json @@ -70,31 +78,34 @@ interactions: Connection: - keep-alive Content-Length: - - '440' + - '655' Content-Type: - application/json; charset=utf-8 ParameterSetName: - --name --resource-group --partner-name --resource-type-name --description - --display-name --authorized-subscription-ids + --display-name --authorized-subscription-ids --long-description --customer-service-number + --customer-service-extension --customer-service-uri User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/partnerRegistrations/cli000002?api-version=2020-04-01-preview response: body: - string: '{"properties":{"provisioningState":"Succeeded","partnerName":"cli000007","partnerResourceTypeName":"cli000008","partnerResourceTypeDisplayName":"cli000010","partnerResourceTypeDescription":"cli000009","setupUri":null,"logoUri":null,"visibilityState":"Hidden","authorizedAzureSubscriptionIds":["e065fce3-69a8-11ea-82ae-a08cfdecd868","e065fce4-69a8-11ea-9e49-a08cfdecd868"]},"location":"global","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/partnerRegistrations/cli000002","name":"cli000002","type":"Microsoft.EventGrid/partnerRegistrations"}' + string: '{"properties":{"provisioningState":"Succeeded","partnerName":"cli000007","partnerResourceTypeName":"cli000008","partnerResourceTypeDisplayName":"cli000010","partnerResourceTypeDescription":"cli000009","longDescription":"This + is long description sample","partnerCustomerServiceNumber":"+1 962 7 1234 + 5678","partnerCustomerServiceExtension":"9876","customerServiceUri":"https://www.example.com/cusomerService","setupUri":null,"logoUri":null,"visibilityState":"Hidden","authorizedAzureSubscriptionIds":["966223a5-9787-11ea-a602-a08cfdecd868","966223a6-9787-11ea-aa04-a08cfdecd868"]},"location":"global","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/partnerRegistrations/cli000002","name":"cli000002","type":"Microsoft.EventGrid/partnerRegistrations"}' headers: cache-control: - no-cache content-length: - - '871' + - '1078' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:14:25 GMT + - Sat, 16 May 2020 15:12:00 GMT expires: - '-1' pragma: @@ -129,23 +140,25 @@ interactions: - --name --resource-group User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/partnerRegistrations/cli000002?api-version=2020-04-01-preview response: body: - string: '{"properties":{"provisioningState":"Succeeded","partnerName":"cli000007","partnerResourceTypeName":"cli000008","partnerResourceTypeDisplayName":"cli000010","partnerResourceTypeDescription":"cli000009","setupUri":null,"logoUri":null,"visibilityState":"Hidden","authorizedAzureSubscriptionIds":["e065fce3-69a8-11ea-82ae-a08cfdecd868","e065fce4-69a8-11ea-9e49-a08cfdecd868"]},"location":"global","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/partnerRegistrations/cli000002","name":"cli000002","type":"Microsoft.EventGrid/partnerRegistrations"}' + string: '{"properties":{"provisioningState":"Succeeded","partnerName":"cli000007","partnerResourceTypeName":"cli000008","partnerResourceTypeDisplayName":"cli000010","partnerResourceTypeDescription":"cli000009","longDescription":"This + is long description sample","partnerCustomerServiceNumber":"+1 962 7 1234 + 5678","partnerCustomerServiceExtension":"9876","customerServiceUri":"https://www.example.com/cusomerService","setupUri":null,"logoUri":null,"visibilityState":"Hidden","authorizedAzureSubscriptionIds":["966223a5-9787-11ea-a602-a08cfdecd868","966223a6-9787-11ea-aa04-a08cfdecd868"]},"location":"global","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/partnerRegistrations/cli000002","name":"cli000002","type":"Microsoft.EventGrid/partnerRegistrations"}' headers: cache-control: - no-cache content-length: - - '871' + - '1078' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:14:25 GMT + - Sat, 16 May 2020 15:12:01 GMT expires: - '-1' pragma: @@ -178,23 +191,25 @@ interactions: - --resource-group User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/partnerRegistrations?api-version=2020-04-01-preview&$top=100 response: body: - string: '{"value":[{"properties":{"provisioningState":"Succeeded","partnerName":"cli000007","partnerResourceTypeName":"cli000008","partnerResourceTypeDisplayName":"cli000010","partnerResourceTypeDescription":"cli000009","setupUri":null,"logoUri":null,"visibilityState":"Hidden","authorizedAzureSubscriptionIds":["e065fce3-69a8-11ea-82ae-a08cfdecd868","e065fce4-69a8-11ea-9e49-a08cfdecd868"]},"location":"global","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/partnerRegistrations/cli000002","name":"cli000002","type":"Microsoft.EventGrid/partnerRegistrations"}]}' + string: '{"value":[{"properties":{"provisioningState":"Succeeded","partnerName":"cli000007","partnerResourceTypeName":"cli000008","partnerResourceTypeDisplayName":"cli000010","partnerResourceTypeDescription":"cli000009","longDescription":"This + is long description sample","partnerCustomerServiceNumber":"+1 962 7 1234 + 5678","partnerCustomerServiceExtension":"9876","customerServiceUri":"https://www.example.com/cusomerService","setupUri":null,"logoUri":null,"visibilityState":"Hidden","authorizedAzureSubscriptionIds":["966223a5-9787-11ea-a602-a08cfdecd868","966223a6-9787-11ea-aa04-a08cfdecd868"]},"location":"global","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/partnerRegistrations/cli000002","name":"cli000002","type":"Microsoft.EventGrid/partnerRegistrations"}]}' headers: cache-control: - no-cache content-length: - - '883' + - '1090' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:14:27 GMT + - Sat, 16 May 2020 15:12:02 GMT expires: - '-1' pragma: @@ -227,23 +242,25 @@ interactions: - --resource-group --odata-query User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/partnerRegistrations?api-version=2020-04-01-preview&$filter=name%20eq%20%27cli000002%27&$top=100 response: body: - string: '{"value":[{"properties":{"provisioningState":"Succeeded","partnerName":"cli000007","partnerResourceTypeName":"cli000008","partnerResourceTypeDisplayName":"cli000010","partnerResourceTypeDescription":"cli000009","setupUri":null,"logoUri":null,"visibilityState":"Hidden","authorizedAzureSubscriptionIds":["e065fce3-69a8-11ea-82ae-a08cfdecd868","e065fce4-69a8-11ea-9e49-a08cfdecd868"]},"location":"global","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/partnerRegistrations/cli000002","name":"cli000002","type":"Microsoft.EventGrid/partnerRegistrations"}]}' + string: '{"value":[{"properties":{"provisioningState":"Succeeded","partnerName":"cli000007","partnerResourceTypeName":"cli000008","partnerResourceTypeDisplayName":"cli000010","partnerResourceTypeDescription":"cli000009","longDescription":"This + is long description sample","partnerCustomerServiceNumber":"+1 962 7 1234 + 5678","partnerCustomerServiceExtension":"9876","customerServiceUri":"https://www.example.com/cusomerService","setupUri":null,"logoUri":null,"visibilityState":"Hidden","authorizedAzureSubscriptionIds":["966223a5-9787-11ea-a602-a08cfdecd868","966223a6-9787-11ea-aa04-a08cfdecd868"]},"location":"global","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/partnerRegistrations/cli000002","name":"cli000002","type":"Microsoft.EventGrid/partnerRegistrations"}]}' headers: cache-control: - no-cache content-length: - - '883' + - '1090' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:14:28 GMT + - Sat, 16 May 2020 15:12:03 GMT expires: - '-1' pragma: @@ -281,7 +298,7 @@ interactions: - --name --resource-group --location --partner-registration-id User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: PUT @@ -291,7 +308,7 @@ interactions: string: '{"properties":{"provisioningState":"Creating","partnerRegistrationFullyQualifiedId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/partnerRegistrations/cli000002","endpoint":null},"location":"centraluseuap","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/partnerNamespaces/cli000003","name":"cli000003","type":"Microsoft.EventGrid/partnerNamespaces"}' headers: azure-asyncoperation: - - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/5EC08FEB-8A80-4A7E-AE19-9B92518F61AD?api-version=2020-04-01-preview + - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/866E6E40-9D4D-47DE-8F3A-43F132CA442D?api-version=2020-04-01-preview cache-control: - no-cache content-length: @@ -299,7 +316,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:14:29 GMT + - Sat, 16 May 2020 15:12:05 GMT expires: - '-1' pragma: @@ -330,12 +347,12 @@ interactions: - --name --resource-group --location --partner-registration-id User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/5EC08FEB-8A80-4A7E-AE19-9B92518F61AD?api-version=2020-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/866E6E40-9D4D-47DE-8F3A-43F132CA442D?api-version=2020-04-01-preview response: body: - string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/5EC08FEB-8A80-4A7E-AE19-9B92518F61AD?api-version=2020-04-01-preview","name":"5ec08feb-8a80-4a7e-ae19-9b92518f61ad","status":"Succeeded"}' + string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/866E6E40-9D4D-47DE-8F3A-43F132CA442D?api-version=2020-04-01-preview","name":"866e6e40-9d4d-47de-8f3a-43f132ca442d","status":"Succeeded"}' headers: cache-control: - no-cache @@ -344,7 +361,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:14:40 GMT + - Sat, 16 May 2020 15:12:15 GMT expires: - '-1' pragma: @@ -377,7 +394,7 @@ interactions: - --name --resource-group --location --partner-registration-id User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/partnerNamespaces/cli000003?api-version=2020-04-01-preview response: @@ -391,7 +408,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:14:40 GMT + - Sat, 16 May 2020 15:12:15 GMT expires: - '-1' pragma: @@ -424,7 +441,7 @@ interactions: - --name --resource-group User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET @@ -440,7 +457,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:14:41 GMT + - Sat, 16 May 2020 15:12:17 GMT expires: - '-1' pragma: @@ -478,7 +495,7 @@ interactions: - --name --resource-group --tags --partner-registration-id --location User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: PUT @@ -488,7 +505,7 @@ interactions: string: '{"properties":{"provisioningState":"Updating","partnerRegistrationFullyQualifiedId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/partnerRegistrations/cli000002","endpoint":null},"location":"centraluseuap","tags":{"Dept":"IT"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/partnerNamespaces/cli000003","name":"cli000003","type":"Microsoft.EventGrid/partnerNamespaces"}' headers: azure-asyncoperation: - - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/B450754C-61A0-43ED-BED1-92AD2DC34626?api-version=2020-04-01-preview + - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/CB13BC49-E4CF-4815-A106-A4E7A134394A?api-version=2020-04-01-preview cache-control: - no-cache content-length: @@ -496,7 +513,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:14:42 GMT + - Sat, 16 May 2020 15:12:17 GMT expires: - '-1' pragma: @@ -508,7 +525,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1197' status: code: 201 message: Created @@ -527,12 +544,12 @@ interactions: - --name --resource-group --tags --partner-registration-id --location User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/B450754C-61A0-43ED-BED1-92AD2DC34626?api-version=2020-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/CB13BC49-E4CF-4815-A106-A4E7A134394A?api-version=2020-04-01-preview response: body: - string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/B450754C-61A0-43ED-BED1-92AD2DC34626?api-version=2020-04-01-preview","name":"b450754c-61a0-43ed-bed1-92ad2dc34626","status":"Succeeded"}' + string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/CB13BC49-E4CF-4815-A106-A4E7A134394A?api-version=2020-04-01-preview","name":"cb13bc49-e4cf-4815-a106-a4e7a134394a","status":"Succeeded"}' headers: cache-control: - no-cache @@ -541,7 +558,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:14:52 GMT + - Sat, 16 May 2020 15:12:29 GMT expires: - '-1' pragma: @@ -574,7 +591,7 @@ interactions: - --name --resource-group --tags --partner-registration-id --location User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/partnerNamespaces/cli000003?api-version=2020-04-01-preview response: @@ -588,7 +605,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:14:52 GMT + - Sat, 16 May 2020 15:12:29 GMT expires: - '-1' pragma: @@ -621,7 +638,7 @@ interactions: - --resource-group User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET @@ -637,7 +654,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:14:54 GMT + - Sat, 16 May 2020 15:12:30 GMT expires: - '-1' pragma: @@ -670,7 +687,7 @@ interactions: - --resource-group --odata-query User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET @@ -686,7 +703,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:14:54 GMT + - Sat, 16 May 2020 15:12:31 GMT expires: - '-1' pragma: @@ -718,17 +735,17 @@ interactions: Content-Length: - '0' ParameterSetName: - - --name --resource-group + - --partner-namespace-name --resource-group User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: POST uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/partnerNamespaces/cli000003/listKeys?api-version=2020-04-01-preview response: body: - string: '{"key1":"0pJNMtpQHBPA3w6nP4qIFWS5qF8dDrCRaRVOX7GxrfA=","key2":"8nIBrUq6QX61lAdtPojrSD/N8t+abCYKjExhgl+pwJQ="}' + string: '{"key1":"Vy0LBjCxgaL7cLCz5xsaIqYM3z6sTEdJNpS+H7/fcQA=","key2":"dQvK9t3XeHEWJhHlhVT3KYWT/atjJIlR3D530ebvkgo="}' headers: cache-control: - no-cache @@ -737,7 +754,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:14:55 GMT + - Sat, 16 May 2020 15:12:31 GMT expires: - '-1' pragma: @@ -773,17 +790,17 @@ interactions: Content-Type: - application/json; charset=utf-8 ParameterSetName: - - --name --resource-group --key-name + - --partner-namespace-name --resource-group --key-name User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: POST uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/partnerNamespaces/cli000003/regenerateKey?api-version=2020-04-01-preview response: body: - string: '{"key1":"xoQI721x9RpmFVnch6i/cVJ7Jy34onlmShAYUOWLFUI=","key2":"8nIBrUq6QX61lAdtPojrSD/N8t+abCYKjExhgl+pwJQ="}' + string: '{"key1":"RsAdm78cdLYQrwQPVKtbDiS2Ki3Sq15MRysC0J5Nr+w=","key2":"dQvK9t3XeHEWJhHlhVT3KYWT/atjJIlR3D530ebvkgo="}' headers: cache-control: - no-cache @@ -792,7 +809,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:14:56 GMT + - Sat, 16 May 2020 15:12:33 GMT expires: - '-1' pragma: @@ -828,17 +845,17 @@ interactions: Content-Type: - application/json; charset=utf-8 ParameterSetName: - - --name --resource-group --key-name + - --partner-namespace-name --resource-group --key-name User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: POST uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/partnerNamespaces/cli000003/regenerateKey?api-version=2020-04-01-preview response: body: - string: '{"key1":"xoQI721x9RpmFVnch6i/cVJ7Jy34onlmShAYUOWLFUI=","key2":"AJN9ZTlmtbqb9eLJKZ0FKfnBnjelAvUJ7Tv5y5R32oE="}' + string: '{"key1":"RsAdm78cdLYQrwQPVKtbDiS2Ki3Sq15MRysC0J5Nr+w=","key2":"3i/IbMY69O4c+LlcEmi+AWC++/PnGOOUOvcdv/QiJ3Q="}' headers: cache-control: - no-cache @@ -847,7 +864,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:14:56 GMT + - Sat, 16 May 2020 15:12:33 GMT expires: - '-1' pragma: @@ -889,23 +906,23 @@ interactions: --destination-resource-group --desination-topic-name --source User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/partnerNamespaces/cli000003/eventChannels/cli000004?api-version=2020-04-01-preview response: body: - string: '{"properties":{"source":{"source":"cli000011"},"destination":{"azureSubscriptionId":"5b4b650e-28b9-4790-b3ab-ddbd88d727c4","resourceGroup":"clitest.rg000001","partnerTopicName":"cli000005"},"provisioningState":"Succeeded"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/partnerNamespaces/cli000003/eventChannels/cli000004","name":"cli000004","type":"Microsoft.EventGrid/partnerNamespaces/eventChannels"}' + string: '{"properties":{"source":{"source":"cli000011"},"destination":{"azureSubscriptionId":"5b4b650e-28b9-4790-b3ab-ddbd88d727c4","resourceGroup":"clitest.rg000001","partnerTopicName":"cli000005"},"provisioningState":"Succeeded","partnerTopicReadinessState":"NotActivatedByUserYet"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/partnerNamespaces/cli000003/eventChannels/cli000004","name":"cli000004","type":"Microsoft.EventGrid/partnerNamespaces/eventChannels"}' headers: cache-control: - no-cache content-length: - - '749' + - '802' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:00 GMT + - Sat, 16 May 2020 15:12:38 GMT expires: - '-1' pragma: @@ -940,23 +957,23 @@ interactions: - --resource-group --partner-namespace-name --name User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/partnerNamespaces/cli000003/eventChannels/cli000004?api-version=2020-04-01-preview response: body: - string: '{"properties":{"source":{"source":"cli000011"},"destination":{"azureSubscriptionId":"5b4b650e-28b9-4790-b3ab-ddbd88d727c4","resourceGroup":"clitest.rg000001","partnerTopicName":"cli000005"},"provisioningState":"Succeeded"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/partnerNamespaces/cli000003/eventChannels/cli000004","name":"cli000004","type":"Microsoft.EventGrid/partnerNamespaces/eventChannels"}' + string: '{"properties":{"source":{"source":"cli000011"},"destination":{"azureSubscriptionId":"5b4b650e-28b9-4790-b3ab-ddbd88d727c4","resourceGroup":"clitest.rg000001","partnerTopicName":"cli000005"},"provisioningState":"Succeeded","partnerTopicReadinessState":"NotActivatedByUserYet","expirationTimeIfNotActivatedUtc":"2020-05-23T15:12:35.404102Z","filter":{}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/partnerNamespaces/cli000003/eventChannels/cli000004","name":"cli000004","type":"Microsoft.EventGrid/partnerNamespaces/eventChannels"}' headers: cache-control: - no-cache content-length: - - '749' + - '878' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:00 GMT + - Sat, 16 May 2020 15:12:38 GMT expires: - '-1' pragma: @@ -977,7 +994,11 @@ interactions: - request: body: 'b''{"properties": {"source": {"source": "cli000011"}, "destination": {"azureSubscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", "resourceGroup": "clitest.rg000001", - "partnerTopicName": "cli000005"}}}''' + "partnerTopicName": "cli000005"}, "expirationTimeIfNotActivatedUtc": "2020-05-17T15:11:58.761462Z", + "filter": {"advancedFilters": [{"key": "data.key1", "operatorType": "NumberIn", + "values": [2.0, 3.0, 4.0, 100.0, 200.0]}, {"key": "data.key2", "operatorType": + "StringIn", "values": ["2", "3", "4", "100", "200"]}]}, "partnerTopicFriendlyDescription": + "This partner topic was created by Partner cli000007 at 2020-05-16T15:11:58.761462."}}''' headers: Accept: - application/json @@ -988,31 +1009,33 @@ interactions: Connection: - keep-alive Content-Length: - - '322' + - '755' Content-Type: - application/json; charset=utf-8 ParameterSetName: - --resource-group --partner-namespace-name --name --destination-subscription-id - --destination-resource-group --desination-topic-name --source + --destination-resource-group --desination-topic-name --source --activation-expiration-date + --partner-topic-description --publisher-filter --publisher-filter User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/partnerNamespaces/cli000003/eventChannels/cli000004?api-version=2020-04-01-preview response: body: - string: '{"properties":{"source":{"source":"cli000011"},"destination":{"azureSubscriptionId":"5b4b650e-28b9-4790-b3ab-ddbd88d727c4","resourceGroup":"clitest.rg000001","partnerTopicName":"cli000005"},"provisioningState":"Succeeded"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/partnerNamespaces/cli000003/eventChannels/cli000004","name":"cli000004","type":"Microsoft.EventGrid/partnerNamespaces/eventChannels"}' + string: '{"properties":{"source":{"source":"cli000011"},"destination":{"azureSubscriptionId":"5b4b650e-28b9-4790-b3ab-ddbd88d727c4","resourceGroup":"clitest.rg000001","partnerTopicName":"cli000005"},"provisioningState":"Succeeded","partnerTopicReadinessState":"NotActivatedByUserYet","expirationTimeIfNotActivatedUtc":"2020-05-17T15:11:58.761462Z","filter":{"advancedFilters":[{"values":[2.0,3.0,4.0,100.0,200.0],"operatorType":"NumberIn","key":"data.key1"},{"values":["2","3","4","100","200"],"operatorType":"StringIn","key":"data.key2"}]},"partnerTopicFriendlyDescription":"This + partner topic was created by Partner cli000007 at 2020-05-16T15:11:58.761462."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/partnerNamespaces/cli000003/eventChannels/cli000004","name":"cli000004","type":"Microsoft.EventGrid/partnerNamespaces/eventChannels"}' headers: cache-control: - no-cache content-length: - - '749' + - '1209' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:02 GMT + - Sat, 16 May 2020 15:12:40 GMT expires: - '-1' pragma: @@ -1032,6 +1055,56 @@ interactions: status: code: 200 message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - eventgrid partner namespace event-channel show + Connection: + - keep-alive + ParameterSetName: + - --resource-group --partner-namespace-name --name + User-Agent: + - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/partnerNamespaces/cli000003/eventChannels/cli000004?api-version=2020-04-01-preview + response: + body: + string: '{"properties":{"source":{"source":"cli000011"},"destination":{"azureSubscriptionId":"5b4b650e-28b9-4790-b3ab-ddbd88d727c4","resourceGroup":"clitest.rg000001","partnerTopicName":"cli000005"},"provisioningState":"Succeeded","partnerTopicReadinessState":"NotActivatedByUserYet","expirationTimeIfNotActivatedUtc":"2020-05-17T15:11:58.761462Z","filter":{"advancedFilters":[{"values":[2.0,3.0,4.0,100.0,200.0],"operatorType":"NumberIn","key":"data.key1"},{"values":["2","3","4","100","200"],"operatorType":"StringIn","key":"data.key2"}]},"partnerTopicFriendlyDescription":"This + partner topic was created by Partner cli000007 at 2020-05-16T15:11:58.761462."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/partnerNamespaces/cli000003/eventChannels/cli000004","name":"cli000004","type":"Microsoft.EventGrid/partnerNamespaces/eventChannels"}' + headers: + cache-control: + - no-cache + content-length: + - '1209' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 16 May 2020 15:12:40 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK - request: body: null headers: @@ -1047,23 +1120,24 @@ interactions: - --resource-group --partner-namespace-name User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/partnerNamespaces/cli000003/eventChannels?api-version=2020-04-01-preview&$top=100 response: body: - string: '{"value":[{"properties":{"source":{"source":"cli000011"},"destination":{"azureSubscriptionId":"5b4b650e-28b9-4790-b3ab-ddbd88d727c4","resourceGroup":"clitest.rg000001","partnerTopicName":"cli000005"},"provisioningState":"Succeeded"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/partnerNamespaces/cli000003/eventChannels/cli000004","name":"cli000004","type":"Microsoft.EventGrid/partnerNamespaces/eventChannels"}]}' + string: '{"value":[{"properties":{"source":{"source":"cli000011"},"destination":{"azureSubscriptionId":"5b4b650e-28b9-4790-b3ab-ddbd88d727c4","resourceGroup":"clitest.rg000001","partnerTopicName":"cli000005"},"provisioningState":"Succeeded","partnerTopicReadinessState":"NotActivatedByUserYet","expirationTimeIfNotActivatedUtc":"2020-05-17T15:11:58.761462Z","filter":{"advancedFilters":[{"values":[2.0,3.0,4.0,100.0,200.0],"operatorType":"NumberIn","key":"data.key1"},{"values":["2","3","4","100","200"],"operatorType":"StringIn","key":"data.key2"}]},"partnerTopicFriendlyDescription":"This + partner topic was created by Partner cli000007 at 2020-05-16T15:11:58.761462."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/partnerNamespaces/cli000003/eventChannels/cli000004","name":"cli000004","type":"Microsoft.EventGrid/partnerNamespaces/eventChannels"}]}' headers: cache-control: - no-cache content-length: - - '761' + - '1221' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:02 GMT + - Sat, 16 May 2020 15:12:42 GMT expires: - '-1' pragma: @@ -1096,23 +1170,24 @@ interactions: - --name --resource-group User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/partnerTopics/cli000005?api-version=2020-04-01-preview response: body: - string: '{"properties":{"source":"cli000011","provisioningState":"Succeeded","activationState":"NeverActivated"},"location":"centraluseuap","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/partnerTopics/cli000005","name":"cli000005","type":"Microsoft.EventGrid/partnerTopics"}' + string: '{"properties":{"source":"cli000011","expirationTimeIfNotActivatedUtc":"2020-05-17T15:11:58.761462Z","provisioningState":"Succeeded","activationState":"NeverActivated","partnerTopicFriendlyDescription":"This + partner topic was created by Partner cli000007 at 2020-05-16T15:11:58.761462."},"location":"centraluseuap","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/partnerTopics/cli000005","name":"cli000005","type":"Microsoft.EventGrid/partnerTopics"}' headers: cache-control: - no-cache content-length: - - '502' + - '716' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:04 GMT + - Sat, 16 May 2020 15:12:43 GMT expires: - '-1' pragma: @@ -1145,23 +1220,24 @@ interactions: - --resource-group User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/partnerTopics?api-version=2020-04-01-preview&$top=100 response: body: - string: '{"value":[{"properties":{"source":"cli000011","provisioningState":"Succeeded","activationState":"NeverActivated"},"location":"centraluseuap","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/partnerTopics/cli000005","name":"cli000005","type":"Microsoft.EventGrid/partnerTopics"}]}' + string: '{"value":[{"properties":{"source":"cli000011","expirationTimeIfNotActivatedUtc":"2020-05-17T15:11:58.761462Z","provisioningState":"Succeeded","activationState":"NeverActivated","partnerTopicFriendlyDescription":"This + partner topic was created by Partner cli000007 at 2020-05-16T15:11:58.761462."},"location":"centraluseuap","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/partnerTopics/cli000005","name":"cli000005","type":"Microsoft.EventGrid/partnerTopics"}]}' headers: cache-control: - no-cache content-length: - - '514' + - '728' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:04 GMT + - Sat, 16 May 2020 15:12:44 GMT expires: - '-1' pragma: @@ -1194,23 +1270,24 @@ interactions: - --resource-group --odata-query User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/partnerTopics?api-version=2020-04-01-preview&$filter=name%20eq%20%27cli000005%27&$top=100 response: body: - string: '{"value":[{"properties":{"source":"cli000011","provisioningState":"Succeeded","activationState":"NeverActivated"},"location":"centraluseuap","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/partnerTopics/cli000005","name":"cli000005","type":"Microsoft.EventGrid/partnerTopics"}]}' + string: '{"value":[{"properties":{"source":"cli000011","expirationTimeIfNotActivatedUtc":"2020-05-17T15:11:58.761462Z","provisioningState":"Succeeded","activationState":"NeverActivated","partnerTopicFriendlyDescription":"This + partner topic was created by Partner cli000007 at 2020-05-16T15:11:58.761462."},"location":"centraluseuap","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/partnerTopics/cli000005","name":"cli000005","type":"Microsoft.EventGrid/partnerTopics"}]}' headers: cache-control: - no-cache content-length: - - '514' + - '728' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:05 GMT + - Sat, 16 May 2020 15:12:44 GMT expires: - '-1' pragma: @@ -1245,23 +1322,24 @@ interactions: - --name --resource-group User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: POST uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/partnerTopics/cli000005/activate?api-version=2020-04-01-preview response: body: - string: '{"properties":{"source":"cli000011","provisioningState":"Succeeded","activationState":"Activated"},"location":"centraluseuap","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/partnerTopics/cli000005","name":"cli000005","type":"Microsoft.EventGrid/partnerTopics"}' + string: '{"properties":{"source":"cli000011","expirationTimeIfNotActivatedUtc":"2020-05-17T15:11:58.761462Z","provisioningState":"Succeeded","activationState":"Activated","partnerTopicFriendlyDescription":"This + partner topic was created by Partner cli000007 at 2020-05-16T15:11:58.761462."},"location":"centraluseuap","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/partnerTopics/cli000005","name":"cli000005","type":"Microsoft.EventGrid/partnerTopics"}' headers: cache-control: - no-cache content-length: - - '497' + - '711' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:05 GMT + - Sat, 16 May 2020 15:12:45 GMT expires: - '-1' pragma: @@ -1281,6 +1359,56 @@ interactions: status: code: 200 message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - eventgrid partner namespace event-channel show + Connection: + - keep-alive + ParameterSetName: + - --resource-group --partner-namespace-name --name + User-Agent: + - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/partnerNamespaces/cli000003/eventChannels/cli000004?api-version=2020-04-01-preview + response: + body: + string: '{"properties":{"source":{"source":"cli000011"},"destination":{"azureSubscriptionId":"5b4b650e-28b9-4790-b3ab-ddbd88d727c4","resourceGroup":"clitest.rg000001","partnerTopicName":"cli000005"},"provisioningState":"Succeeded","partnerTopicReadinessState":"NotActivatedByUserYet","expirationTimeIfNotActivatedUtc":"2020-05-17T15:11:58.761462Z","filter":{"advancedFilters":[{"values":[2.0,3.0,4.0,100.0,200.0],"operatorType":"NumberIn","key":"data.key1"},{"values":["2","3","4","100","200"],"operatorType":"StringIn","key":"data.key2"}]},"partnerTopicFriendlyDescription":"This + partner topic was created by Partner cli000007 at 2020-05-16T15:11:58.761462."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/partnerNamespaces/cli000003/eventChannels/cli000004","name":"cli000004","type":"Microsoft.EventGrid/partnerNamespaces/eventChannels"}' + headers: + cache-control: + - no-cache + content-length: + - '1209' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 16 May 2020 15:12:46 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK - request: body: null headers: @@ -1298,23 +1426,24 @@ interactions: - --name --resource-group User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: POST uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/partnerTopics/cli000005/deactivate?api-version=2020-04-01-preview response: body: - string: '{"properties":{"source":"cli000011","provisioningState":"Succeeded","activationState":"Deactivated"},"location":"centraluseuap","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/partnerTopics/cli000005","name":"cli000005","type":"Microsoft.EventGrid/partnerTopics"}' + string: '{"properties":{"source":"cli000011","expirationTimeIfNotActivatedUtc":"2020-05-17T15:11:58.761462Z","provisioningState":"Succeeded","activationState":"Deactivated","partnerTopicFriendlyDescription":"This + partner topic was created by Partner cli000007 at 2020-05-16T15:11:58.761462."},"location":"centraluseuap","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/partnerTopics/cli000005","name":"cli000005","type":"Microsoft.EventGrid/partnerTopics"}' headers: cache-control: - no-cache content-length: - - '499' + - '713' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:06 GMT + - Sat, 16 May 2020 15:12:47 GMT expires: - '-1' pragma: @@ -1330,7 +1459,57 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1199' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - eventgrid partner namespace event-channel show + Connection: + - keep-alive + ParameterSetName: + - --resource-group --partner-namespace-name --name + User-Agent: + - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/partnerNamespaces/cli000003/eventChannels/cli000004?api-version=2020-04-01-preview + response: + body: + string: '{"properties":{"source":{"source":"cli000011"},"destination":{"azureSubscriptionId":"5b4b650e-28b9-4790-b3ab-ddbd88d727c4","resourceGroup":"clitest.rg000001","partnerTopicName":"cli000005"},"provisioningState":"Succeeded","partnerTopicReadinessState":"NotActivatedByUserYet","expirationTimeIfNotActivatedUtc":"2020-05-17T15:11:58.761462Z","filter":{"advancedFilters":[{"values":[2.0,3.0,4.0,100.0,200.0],"operatorType":"NumberIn","key":"data.key1"},{"values":["2","3","4","100","200"],"operatorType":"StringIn","key":"data.key2"}]},"partnerTopicFriendlyDescription":"This + partner topic was created by Partner cli000007 at 2020-05-16T15:11:58.761462."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/partnerNamespaces/cli000003/eventChannels/cli000004","name":"cli000004","type":"Microsoft.EventGrid/partnerNamespaces/eventChannels"}' + headers: + cache-control: + - no-cache + content-length: + - '1209' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 16 May 2020 15:12:48 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK @@ -1351,23 +1530,24 @@ interactions: - --name --resource-group User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: POST uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/partnerTopics/cli000005/activate?api-version=2020-04-01-preview response: body: - string: '{"properties":{"source":"cli000011","provisioningState":"Succeeded","activationState":"Activated"},"location":"centraluseuap","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/partnerTopics/cli000005","name":"cli000005","type":"Microsoft.EventGrid/partnerTopics"}' + string: '{"properties":{"source":"cli000011","expirationTimeIfNotActivatedUtc":"2020-05-17T15:11:58.761462Z","provisioningState":"Succeeded","activationState":"Activated","partnerTopicFriendlyDescription":"This + partner topic was created by Partner cli000007 at 2020-05-16T15:11:58.761462."},"location":"centraluseuap","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/partnerTopics/cli000005","name":"cli000005","type":"Microsoft.EventGrid/partnerTopics"}' headers: cache-control: - no-cache content-length: - - '497' + - '711' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:06 GMT + - Sat, 16 May 2020 15:12:49 GMT expires: - '-1' pragma: @@ -1387,6 +1567,56 @@ interactions: status: code: 200 message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - eventgrid partner namespace event-channel show + Connection: + - keep-alive + ParameterSetName: + - --resource-group --partner-namespace-name --name + User-Agent: + - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/partnerNamespaces/cli000003/eventChannels/cli000004?api-version=2020-04-01-preview + response: + body: + string: '{"properties":{"source":{"source":"cli000011"},"destination":{"azureSubscriptionId":"5b4b650e-28b9-4790-b3ab-ddbd88d727c4","resourceGroup":"clitest.rg000001","partnerTopicName":"cli000005"},"provisioningState":"Succeeded","partnerTopicReadinessState":"NotActivatedByUserYet","expirationTimeIfNotActivatedUtc":"2020-05-17T15:11:58.761462Z","filter":{"advancedFilters":[{"values":[2.0,3.0,4.0,100.0,200.0],"operatorType":"NumberIn","key":"data.key1"},{"values":["2","3","4","100","200"],"operatorType":"StringIn","key":"data.key2"}]},"partnerTopicFriendlyDescription":"This + partner topic was created by Partner cli000007 at 2020-05-16T15:11:58.761462."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/partnerNamespaces/cli000003/eventChannels/cli000004","name":"cli000004","type":"Microsoft.EventGrid/partnerNamespaces/eventChannels"}' + headers: + cache-control: + - no-cache + content-length: + - '1209' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 16 May 2020 15:12:50 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK - request: body: '{"properties": {"destination": {"endpointType": "StorageQueue", "properties": {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Storage/storageAccounts/devexpstg", @@ -1410,7 +1640,7 @@ interactions: - --resource-group --partner-topic-name --name --endpoint-type --endpoint User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: PUT @@ -1420,7 +1650,7 @@ interactions: string: '{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/partnerTopics/cli000005","provisioningState":"Creating","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Storage/storageAccounts/devexpstg","queueName":"stogqueuedestination"},"endpointType":"StorageQueue"},"filter":{},"labels":null,"retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/partnerTopics/cli000005/eventSubscriptions/cli000006","name":"cli000006","type":"Microsoft.EventGrid/systemTopics/eventSubscriptions"}' headers: azure-asyncoperation: - - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/F0CC99BD-5236-497E-99BE-1E491C94C139?api-version=2020-04-01-preview + - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/7970C174-EAFF-4AA1-B8B1-F7602E096D60?api-version=2020-04-01-preview cache-control: - no-cache content-length: @@ -1428,7 +1658,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:08 GMT + - Sat, 16 May 2020 15:12:52 GMT expires: - '-1' pragma: @@ -1459,12 +1689,12 @@ interactions: - --resource-group --partner-topic-name --name --endpoint-type --endpoint User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/F0CC99BD-5236-497E-99BE-1E491C94C139?api-version=2020-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/7970C174-EAFF-4AA1-B8B1-F7602E096D60?api-version=2020-04-01-preview response: body: - string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/F0CC99BD-5236-497E-99BE-1E491C94C139?api-version=2020-04-01-preview","name":"f0cc99bd-5236-497e-99be-1e491c94c139","status":"Succeeded"}' + string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/7970C174-EAFF-4AA1-B8B1-F7602E096D60?api-version=2020-04-01-preview","name":"7970c174-eaff-4aa1-b8b1-f7602e096d60","status":"Succeeded"}' headers: cache-control: - no-cache @@ -1473,7 +1703,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:18 GMT + - Sat, 16 May 2020 15:13:02 GMT expires: - '-1' pragma: @@ -1506,21 +1736,21 @@ interactions: - --resource-group --partner-topic-name --name --endpoint-type --endpoint User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/partnerTopics/cli000005/eventSubscriptions/cli000006?api-version=2020-04-01-preview response: body: - string: '{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.eventgrid/partnertopics/cli000005","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Storage/storageAccounts/devexpstg","queueName":"stogqueuedestination"},"endpointType":"StorageQueue"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"CloudEventSchemaV1_0","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/partnerTopics/cli000005/providers/Microsoft.EventGrid/eventSubscriptions/cli000006","name":"cli000006","type":"Microsoft.EventGrid/eventSubscriptions"}' + string: '{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.eventgrid/partnertopics/cli000005","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Storage/storageAccounts/devexpstg","queueName":"stogqueuedestination"},"endpointType":"StorageQueue"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"CloudEventSchemaV1_0","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/partnerTopics/cli000005/eventSubscriptions/cli000006","name":"cli000006","type":"Microsoft.EventGrid/partnerTopics/eventSubscriptions"}' headers: cache-control: - no-cache content-length: - - '1137' + - '1121' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:19 GMT + - Sat, 16 May 2020 15:13:02 GMT expires: - '-1' pragma: @@ -1561,7 +1791,7 @@ interactions: - --resource-group --partner-topic-name --name --endpoint-type --endpoint --labels User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: PUT @@ -1571,7 +1801,7 @@ interactions: string: '{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/partnerTopics/cli000005","provisioningState":"Updating","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Storage/storageAccounts/devexpstg","queueName":"stogqueuedestination"},"endpointType":"StorageQueue"},"filter":{},"labels":["label_1","label_2"],"retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/partnerTopics/cli000005/eventSubscriptions/cli000006","name":"cli000006","type":"Microsoft.EventGrid/systemTopics/eventSubscriptions"}' headers: azure-asyncoperation: - - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/F827841E-3FEA-4C45-91E6-638E08763499?api-version=2020-04-01-preview + - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/00F780C0-C427-4525-8BF0-6EC020227991?api-version=2020-04-01-preview cache-control: - no-cache content-length: @@ -1579,7 +1809,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:20 GMT + - Sat, 16 May 2020 15:13:04 GMT expires: - '-1' pragma: @@ -1610,12 +1840,12 @@ interactions: - --resource-group --partner-topic-name --name --endpoint-type --endpoint --labels User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/F827841E-3FEA-4C45-91E6-638E08763499?api-version=2020-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/00F780C0-C427-4525-8BF0-6EC020227991?api-version=2020-04-01-preview response: body: - string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/F827841E-3FEA-4C45-91E6-638E08763499?api-version=2020-04-01-preview","name":"f827841e-3fea-4c45-91e6-638e08763499","status":"Succeeded"}' + string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/00F780C0-C427-4525-8BF0-6EC020227991?api-version=2020-04-01-preview","name":"00f780c0-c427-4525-8bf0-6ec020227991","status":"Succeeded"}' headers: cache-control: - no-cache @@ -1624,7 +1854,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:30 GMT + - Sat, 16 May 2020 15:13:14 GMT expires: - '-1' pragma: @@ -1657,21 +1887,21 @@ interactions: - --resource-group --partner-topic-name --name --endpoint-type --endpoint --labels User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/partnerTopics/cli000005/eventSubscriptions/cli000006?api-version=2020-04-01-preview response: body: - string: '{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.eventgrid/partnertopics/cli000005","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Storage/storageAccounts/devexpstg","queueName":"stogqueuedestination"},"endpointType":"StorageQueue"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":["label_1","label_2"],"eventDeliverySchema":"CloudEventSchemaV1_0","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/partnerTopics/cli000005/providers/Microsoft.EventGrid/eventSubscriptions/cli000006","name":"cli000006","type":"Microsoft.EventGrid/eventSubscriptions"}' + string: '{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.eventgrid/partnertopics/cli000005","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Storage/storageAccounts/devexpstg","queueName":"stogqueuedestination"},"endpointType":"StorageQueue"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":["label_1","label_2"],"eventDeliverySchema":"CloudEventSchemaV1_0","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/partnerTopics/cli000005/eventSubscriptions/cli000006","name":"cli000006","type":"Microsoft.EventGrid/partnerTopics/eventSubscriptions"}' headers: cache-control: - no-cache content-length: - - '1154' + - '1138' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:30 GMT + - Sat, 16 May 2020 15:13:14 GMT expires: - '-1' pragma: @@ -1704,23 +1934,23 @@ interactions: - --resource-group --partner-topic-name --name User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/partnerTopics/cli000005/eventSubscriptions/cli000006?api-version=2020-04-01-preview response: body: - string: '{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.eventgrid/partnertopics/cli000005","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Storage/storageAccounts/devexpstg","queueName":"stogqueuedestination"},"endpointType":"StorageQueue"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":["label_1","label_2"],"eventDeliverySchema":"CloudEventSchemaV1_0","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/partnerTopics/cli000005/providers/Microsoft.EventGrid/eventSubscriptions/cli000006","name":"cli000006","type":"Microsoft.EventGrid/eventSubscriptions"}' + string: '{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.eventgrid/partnertopics/cli000005","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Storage/storageAccounts/devexpstg","queueName":"stogqueuedestination"},"endpointType":"StorageQueue"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":["label_1","label_2"],"eventDeliverySchema":"CloudEventSchemaV1_0","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/partnerTopics/cli000005/eventSubscriptions/cli000006","name":"cli000006","type":"Microsoft.EventGrid/partnerTopics/eventSubscriptions"}' headers: cache-control: - no-cache content-length: - - '1154' + - '1138' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:32 GMT + - Sat, 16 May 2020 15:13:16 GMT expires: - '-1' pragma: @@ -1753,23 +1983,23 @@ interactions: - -g --partner-topic-name -n --labels User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/partnerTopics/cli000005/eventSubscriptions/cli000006?api-version=2020-04-01-preview response: body: - string: '{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.eventgrid/partnertopics/cli000005","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Storage/storageAccounts/devexpstg","queueName":"stogqueuedestination"},"endpointType":"StorageQueue"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":["label_1","label_2"],"eventDeliverySchema":"CloudEventSchemaV1_0","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/partnerTopics/cli000005/providers/Microsoft.EventGrid/eventSubscriptions/cli000006","name":"cli000006","type":"Microsoft.EventGrid/eventSubscriptions"}' + string: '{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.eventgrid/partnertopics/cli000005","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Storage/storageAccounts/devexpstg","queueName":"stogqueuedestination"},"endpointType":"StorageQueue"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":["label_1","label_2"],"eventDeliverySchema":"CloudEventSchemaV1_0","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/partnerTopics/cli000005/eventSubscriptions/cli000006","name":"cli000006","type":"Microsoft.EventGrid/partnerTopics/eventSubscriptions"}' headers: cache-control: - no-cache content-length: - - '1154' + - '1138' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:33 GMT + - Sat, 16 May 2020 15:13:17 GMT expires: - '-1' pragma: @@ -1810,7 +2040,7 @@ interactions: - -g --partner-topic-name -n --labels User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: PATCH @@ -1820,7 +2050,7 @@ interactions: string: '{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/partnerTopics/cli000005","provisioningState":"Updating","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Storage/storageAccounts/devexpstg","queueName":"stogqueuedestination"},"endpointType":"StorageQueue"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":["label11","label22"],"eventDeliverySchema":"CloudEventSchemaV1_0","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/partnerTopics/cli000005/eventSubscriptions/cli000006","name":"cli000006","type":"Microsoft.EventGrid/systemTopics/eventSubscriptions"}' headers: azure-asyncoperation: - - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/6031C0B2-A81D-4539-BA8A-94DDB03F31B1?api-version=2020-04-01-preview + - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/0120BC66-B2DB-4220-B176-8B1141C61301?api-version=2020-04-01-preview cache-control: - no-cache content-length: @@ -1828,7 +2058,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:33 GMT + - Sat, 16 May 2020 15:13:17 GMT expires: - '-1' pragma: @@ -1859,12 +2089,12 @@ interactions: - -g --partner-topic-name -n --labels User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/6031C0B2-A81D-4539-BA8A-94DDB03F31B1?api-version=2020-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/0120BC66-B2DB-4220-B176-8B1141C61301?api-version=2020-04-01-preview response: body: - string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/6031C0B2-A81D-4539-BA8A-94DDB03F31B1?api-version=2020-04-01-preview","name":"6031c0b2-a81d-4539-ba8a-94ddb03f31b1","status":"Succeeded"}' + string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/0120BC66-B2DB-4220-B176-8B1141C61301?api-version=2020-04-01-preview","name":"0120bc66-b2db-4220-b176-8b1141c61301","status":"Succeeded"}' headers: cache-control: - no-cache @@ -1873,7 +2103,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:43 GMT + - Sat, 16 May 2020 15:13:27 GMT expires: - '-1' pragma: @@ -1906,21 +2136,21 @@ interactions: - -g --partner-topic-name -n --labels User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/partnerTopics/cli000005/eventSubscriptions/cli000006?api-version=2020-04-01-preview response: body: - string: '{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.eventgrid/partnertopics/cli000005","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Storage/storageAccounts/devexpstg","queueName":"stogqueuedestination"},"endpointType":"StorageQueue"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":["label11","label22"],"eventDeliverySchema":"CloudEventSchemaV1_0","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/partnerTopics/cli000005/providers/Microsoft.EventGrid/eventSubscriptions/cli000006","name":"cli000006","type":"Microsoft.EventGrid/eventSubscriptions"}' + string: '{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.eventgrid/partnertopics/cli000005","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Storage/storageAccounts/devexpstg","queueName":"stogqueuedestination"},"endpointType":"StorageQueue"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":["label11","label22"],"eventDeliverySchema":"CloudEventSchemaV1_0","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/partnerTopics/cli000005/eventSubscriptions/cli000006","name":"cli000006","type":"Microsoft.EventGrid/partnerTopics/eventSubscriptions"}' headers: cache-control: - no-cache content-length: - - '1154' + - '1138' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:43 GMT + - Sat, 16 May 2020 15:13:27 GMT expires: - '-1' pragma: @@ -1953,23 +2183,23 @@ interactions: - --resource-group --partner-topic-name User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/partnerTopics/cli000005/eventSubscriptions?api-version=2020-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/partnerTopics/cli000005/eventSubscriptions?api-version=2020-04-01-preview&$top=100 response: body: - string: '{"value":[{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.eventgrid/partnertopics/cli000005","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Storage/storageAccounts/devexpstg","queueName":"stogqueuedestination"},"endpointType":"StorageQueue"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":["label11","label22"],"eventDeliverySchema":"CloudEventSchemaV1_0","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/partnerTopics/cli000005/providers/Microsoft.EventGrid/eventSubscriptions/cli000006","name":"cli000006","type":"Microsoft.EventGrid/eventSubscriptions"}]}' + string: '{"value":[{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.eventgrid/partnertopics/cli000005","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Storage/storageAccounts/devexpstg","queueName":"stogqueuedestination"},"endpointType":"StorageQueue"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":["label11","label22"],"eventDeliverySchema":"CloudEventSchemaV1_0","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/partnerTopics/cli000005/eventSubscriptions/cli000006","name":"cli000006","type":"Microsoft.EventGrid/partnerTopics/eventSubscriptions"}]}' headers: cache-control: - no-cache content-length: - - '1166' + - '1150' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:45 GMT + - Sat, 16 May 2020 15:13:29 GMT expires: - '-1' pragma: @@ -2004,7 +2234,7 @@ interactions: - -g --name --partner-topic-name User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: DELETE @@ -2014,17 +2244,17 @@ interactions: string: '' headers: azure-asyncoperation: - - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/C2E3FC41-AE86-46C1-99BD-014EB628FD39?api-version=2020-04-01-preview + - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/71B50516-B4B8-4CFF-939D-AC2A9BA109F8?api-version=2020-04-01-preview cache-control: - no-cache content-length: - '0' date: - - Thu, 19 Mar 2020 06:15:46 GMT + - Sat, 16 May 2020 15:13:30 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationResults/C2E3FC41-AE86-46C1-99BD-014EB628FD39?api-version=2020-04-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationResults/71B50516-B4B8-4CFF-939D-AC2A9BA109F8?api-version=2020-04-01-preview pragma: - no-cache server: @@ -2053,12 +2283,12 @@ interactions: - -g --name --partner-topic-name User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/C2E3FC41-AE86-46C1-99BD-014EB628FD39?api-version=2020-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/71B50516-B4B8-4CFF-939D-AC2A9BA109F8?api-version=2020-04-01-preview response: body: - string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/C2E3FC41-AE86-46C1-99BD-014EB628FD39?api-version=2020-04-01-preview","name":"c2e3fc41-ae86-46c1-99bd-014eb628fd39","status":"Succeeded"}' + string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/71B50516-B4B8-4CFF-939D-AC2A9BA109F8?api-version=2020-04-01-preview","name":"71b50516-b4b8-4cff-939d-ac2a9ba109f8","status":"Succeeded"}' headers: cache-control: - no-cache @@ -2067,7 +2297,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:56 GMT + - Sat, 16 May 2020 15:13:41 GMT expires: - '-1' pragma: @@ -2102,7 +2332,7 @@ interactions: - --name --resource-group User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: DELETE @@ -2111,14 +2341,18 @@ interactions: body: string: '' headers: + azure-asyncoperation: + - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/14EF084E-3E2A-4818-9F75-FEBAF888FB8F?api-version=2020-04-01-preview cache-control: - no-cache content-length: - '0' date: - - Thu, 19 Mar 2020 06:15:58 GMT + - Sat, 16 May 2020 15:13:42 GMT expires: - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationResults/14EF084E-3E2A-4818-9F75-FEBAF888FB8F?api-version=2020-04-01-preview pragma: - no-cache server: @@ -2128,7 +2362,54 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-deletes: - - '14999' + - '14998' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - eventgrid partner topic delete + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group + User-Agent: + - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/14EF084E-3E2A-4818-9F75-FEBAF888FB8F?api-version=2020-04-01-preview + response: + body: + string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/14EF084E-3E2A-4818-9F75-FEBAF888FB8F?api-version=2020-04-01-preview","name":"14ef084e-3e2a-4818-9f75-febaf888fb8f","status":"Succeeded"}' + headers: + cache-control: + - no-cache + content-length: + - '294' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 16 May 2020 15:13:53 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK @@ -2149,7 +2430,7 @@ interactions: - --resource-group --partner-namespace-name --name User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: DELETE @@ -2163,7 +2444,7 @@ interactions: content-length: - '0' date: - - Thu, 19 Mar 2020 06:15:59 GMT + - Sat, 16 May 2020 15:13:54 GMT expires: - '-1' pragma: @@ -2196,7 +2477,7 @@ interactions: - --name --resource-group User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: DELETE @@ -2206,17 +2487,17 @@ interactions: string: '' headers: azure-asyncoperation: - - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/0026513B-2FB0-41DC-8736-FB673A3F8E1F?api-version=2020-04-01-preview + - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/351B6867-7689-4619-A9C7-B30698AC8A22?api-version=2020-04-01-preview cache-control: - no-cache content-length: - '0' date: - - Thu, 19 Mar 2020 06:16:00 GMT + - Sat, 16 May 2020 15:13:56 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationResults/0026513B-2FB0-41DC-8736-FB673A3F8E1F?api-version=2020-04-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationResults/351B6867-7689-4619-A9C7-B30698AC8A22?api-version=2020-04-01-preview pragma: - no-cache server: @@ -2245,12 +2526,12 @@ interactions: - --name --resource-group User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/0026513B-2FB0-41DC-8736-FB673A3F8E1F?api-version=2020-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/351B6867-7689-4619-A9C7-B30698AC8A22?api-version=2020-04-01-preview response: body: - string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/0026513B-2FB0-41DC-8736-FB673A3F8E1F?api-version=2020-04-01-preview","name":"0026513b-2fb0-41dc-8736-fb673a3f8e1f","status":"Succeeded"}' + string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/351B6867-7689-4619-A9C7-B30698AC8A22?api-version=2020-04-01-preview","name":"351b6867-7689-4619-a9c7-b30698ac8a22","status":"Succeeded"}' headers: cache-control: - no-cache @@ -2259,7 +2540,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:16:10 GMT + - Sat, 16 May 2020 15:14:06 GMT expires: - '-1' pragma: @@ -2294,7 +2575,7 @@ interactions: - -n -g User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: DELETE @@ -2308,7 +2589,7 @@ interactions: content-length: - '0' date: - - Thu, 19 Mar 2020 06:16:12 GMT + - Sat, 16 May 2020 15:14:08 GMT expires: - '-1' pragma: diff --git a/src/eventgrid/azext_eventgrid/tests/latest/recordings/test_advanced_filters.yaml b/src/eventgrid/azext_eventgrid/tests/latest/recordings/test_advanced_filters.yaml index 2244bf01794..88abf564aa6 100644 --- a/src/eventgrid/azext_eventgrid/tests/latest/recordings/test_advanced_filters.yaml +++ b/src/eventgrid/azext_eventgrid/tests/latest/recordings/test_advanced_filters.yaml @@ -1,7 +1,7 @@ interactions: - request: body: '{"location": "centraluseuap", "properties": {"inputSchema": "EventGridSchema"}, - "sku": {"name": "Basic"}}' + "sku": {"name": "Basic"}, "identity": {"type": "None"}}' headers: Accept: - application/json @@ -12,32 +12,32 @@ interactions: Connection: - keep-alive Content-Length: - - '105' + - '135' Content-Type: - application/json; charset=utf-8 ParameterSetName: - --name --resource-group --location User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/topics/cli000002?api-version=2020-04-01-preview response: body: - string: '{"properties":{"provisioningState":"Creating","endpoint":null,"inputSchema":"EventGridSchema"},"sku":{"name":"Basic"},"location":"centraluseuap","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/topics/cli000002","name":"cli000002","type":"Microsoft.EventGrid/topics"}' + string: '{"properties":{"provisioningState":"Creating","endpoint":null,"inputSchema":"EventGridSchema"},"sku":{"name":"Basic"},"identity":{"type":"None","principalId":null,"tenantId":null,"userAssignedIdentities":null},"location":"centraluseuap","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/topics/cli000002","name":"cli000002","type":"Microsoft.EventGrid/topics"}' headers: azure-asyncoperation: - - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/2F8B85ED-5313-43C9-A403-46EE0217A1F1?api-version=2020-04-01-preview + - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/B0AAD9DE-FC0E-4569-B259-D586952025A6?api-version=2020-04-01-preview cache-control: - no-cache content-length: - - '471' + - '563' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:14:24 GMT + - Sat, 16 May 2020 15:05:27 GMT expires: - '-1' pragma: @@ -68,12 +68,12 @@ interactions: - --name --resource-group --location User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/2F8B85ED-5313-43C9-A403-46EE0217A1F1?api-version=2020-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/B0AAD9DE-FC0E-4569-B259-D586952025A6?api-version=2020-04-01-preview response: body: - string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/2F8B85ED-5313-43C9-A403-46EE0217A1F1?api-version=2020-04-01-preview","name":"2f8b85ed-5313-43c9-a403-46ee0217a1f1","status":"Succeeded"}' + string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/B0AAD9DE-FC0E-4569-B259-D586952025A6?api-version=2020-04-01-preview","name":"b0aad9de-fc0e-4569-b259-d586952025a6","status":"Succeeded"}' headers: cache-control: - no-cache @@ -82,7 +82,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:14:35 GMT + - Sat, 16 May 2020 15:05:37 GMT expires: - '-1' pragma: @@ -115,21 +115,21 @@ interactions: - --name --resource-group --location User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/topics/cli000002?api-version=2020-04-01-preview response: body: - string: '{"properties":{"provisioningState":"Succeeded","endpoint":"https://cli000002.centraluseuap-1.eventgrid.azure.net/api/events","inputSchema":"EventGridSchema","metricResourceId":"8d59a7c6-ab98-4484-8600-c80836728cd0","publicNetworkAccess":"Enabled"},"sku":{"name":"Basic"},"location":"centraluseuap","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/topics/cli000002","name":"cli000002","type":"Microsoft.EventGrid/topics"}' + string: '{"properties":{"provisioningState":"Succeeded","endpoint":"https://cli000002.centraluseuap-1.eventgrid.azure.net/api/events","inputSchema":"EventGridSchema","metricResourceId":"7fd81d3c-f452-4f8b-a35f-3997d7b7dc32","publicNetworkAccess":"Enabled"},"sku":{"name":"Basic"},"identity":{"type":"None","principalId":null,"tenantId":null,"userAssignedIdentities":null},"location":"centraluseuap","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/topics/cli000002","name":"cli000002","type":"Microsoft.EventGrid/topics"}' headers: cache-control: - no-cache content-length: - - '655' + - '747' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:14:35 GMT + - Sat, 16 May 2020 15:05:37 GMT expires: - '-1' pragma: @@ -162,23 +162,23 @@ interactions: - --name --resource-group -o User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/topics/cli000002?api-version=2020-04-01-preview response: body: - string: '{"properties":{"provisioningState":"Succeeded","endpoint":"https://cli000002.centraluseuap-1.eventgrid.azure.net/api/events","inputSchema":"EventGridSchema","metricResourceId":"8d59a7c6-ab98-4484-8600-c80836728cd0","publicNetworkAccess":"Enabled"},"sku":{"name":"Basic"},"location":"centraluseuap","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/topics/cli000002","name":"cli000002","type":"Microsoft.EventGrid/topics"}' + string: '{"properties":{"provisioningState":"Succeeded","endpoint":"https://cli000002.centraluseuap-1.eventgrid.azure.net/api/events","inputSchema":"EventGridSchema","metricResourceId":"7fd81d3c-f452-4f8b-a35f-3997d7b7dc32","publicNetworkAccess":"Enabled"},"sku":{"name":"Basic"},"identity":{"type":"None","principalId":null,"tenantId":null,"userAssignedIdentities":null},"location":"centraluseuap","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/topics/cli000002","name":"cli000002","type":"Microsoft.EventGrid/topics"}' headers: cache-control: - no-cache content-length: - - '655' + - '747' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:14:36 GMT + - Sat, 16 May 2020 15:05:39 GMT expires: - '-1' pragma: @@ -219,7 +219,7 @@ interactions: - --source-resource-id --name --endpoint --advanced-filter User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: PUT @@ -229,7 +229,7 @@ interactions: string: '{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.eventgrid/topics/cli000002","provisioningState":"Creating","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid"},"endpointType":"WebHook"},"filter":{"advancedFilters":[{"values":[2.0,3.0,4.0,100.0,200.0],"operatorType":"NumberIn","key":"data.key2"}]},"labels":null,"retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/topics/cli000002/providers/Microsoft.EventGrid/eventSubscriptions/cli000003","name":"cli000003","type":"Microsoft.EventGrid/eventSubscriptions"}' headers: azure-asyncoperation: - - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/8B37C1D0-BB30-4CF0-B6AD-5D40F83D47B6?api-version=2020-04-01-preview + - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/0BDF6B35-7A35-4817-B61E-6DCB5F33EBB3?api-version=2020-04-01-preview cache-control: - no-cache content-length: @@ -237,7 +237,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:14:38 GMT + - Sat, 16 May 2020 15:05:41 GMT expires: - '-1' pragma: @@ -268,12 +268,12 @@ interactions: - --source-resource-id --name --endpoint --advanced-filter User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/8B37C1D0-BB30-4CF0-B6AD-5D40F83D47B6?api-version=2020-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/0BDF6B35-7A35-4817-B61E-6DCB5F33EBB3?api-version=2020-04-01-preview response: body: - string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/8B37C1D0-BB30-4CF0-B6AD-5D40F83D47B6?api-version=2020-04-01-preview","name":"8b37c1d0-bb30-4cf0-b6ad-5d40f83d47b6","status":"Succeeded"}' + string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/0BDF6B35-7A35-4817-B61E-6DCB5F33EBB3?api-version=2020-04-01-preview","name":"0bdf6b35-7a35-4817-b61e-6dcb5f33ebb3","status":"Succeeded"}' headers: cache-control: - no-cache @@ -282,7 +282,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:14:49 GMT + - Sat, 16 May 2020 15:05:51 GMT expires: - '-1' pragma: @@ -315,7 +315,7 @@ interactions: - --source-resource-id --name --endpoint --advanced-filter User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/topics/cli000002/providers/Microsoft.EventGrid/eventSubscriptions/cli000003?api-version=2020-04-01-preview response: @@ -329,7 +329,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:14:49 GMT + - Sat, 16 May 2020 15:05:52 GMT expires: - '-1' pragma: @@ -371,7 +371,7 @@ interactions: - --source-resource-id --name --endpoint --advanced-filter --advanced-filter User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: PUT @@ -381,7 +381,7 @@ interactions: string: '{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.eventgrid/topics/cli000002","provisioningState":"Updating","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid"},"endpointType":"WebHook"},"filter":{"advancedFilters":[{"values":[2.0,3.0,4.0,100.0,200.0],"operatorType":"NumberIn","key":"data.key1"},{"values":["2","3","4","100","200"],"operatorType":"StringIn","key":"data.key2"}]},"labels":null,"retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/topics/cli000002/providers/Microsoft.EventGrid/eventSubscriptions/cli000003","name":"cli000003","type":"Microsoft.EventGrid/eventSubscriptions"}' headers: azure-asyncoperation: - - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/B6538B9F-F942-445F-BF28-75A3EB3345AF?api-version=2020-04-01-preview + - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/FACC7834-F4DF-411C-A2B2-E27F75841231?api-version=2020-04-01-preview cache-control: - no-cache content-length: @@ -389,7 +389,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:14:51 GMT + - Sat, 16 May 2020 15:05:54 GMT expires: - '-1' pragma: @@ -420,12 +420,12 @@ interactions: - --source-resource-id --name --endpoint --advanced-filter --advanced-filter User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/B6538B9F-F942-445F-BF28-75A3EB3345AF?api-version=2020-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/FACC7834-F4DF-411C-A2B2-E27F75841231?api-version=2020-04-01-preview response: body: - string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/B6538B9F-F942-445F-BF28-75A3EB3345AF?api-version=2020-04-01-preview","name":"b6538b9f-f942-445f-bf28-75a3eb3345af","status":"Succeeded"}' + string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/FACC7834-F4DF-411C-A2B2-E27F75841231?api-version=2020-04-01-preview","name":"facc7834-f4df-411c-a2b2-e27f75841231","status":"Succeeded"}' headers: cache-control: - no-cache @@ -434,7 +434,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:00 GMT + - Sat, 16 May 2020 15:06:04 GMT expires: - '-1' pragma: @@ -467,7 +467,7 @@ interactions: - --source-resource-id --name --endpoint --advanced-filter --advanced-filter User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/topics/cli000002/providers/Microsoft.EventGrid/eventSubscriptions/cli000003?api-version=2020-04-01-preview response: @@ -481,7 +481,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:00 GMT + - Sat, 16 May 2020 15:06:04 GMT expires: - '-1' pragma: @@ -514,7 +514,7 @@ interactions: - --source-resource-id --name --endpoint --advanced-filter --advanced-filter User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET @@ -530,7 +530,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:01 GMT + - Sat, 16 May 2020 15:06:05 GMT expires: - '-1' pragma: @@ -574,7 +574,7 @@ interactions: - --source-resource-id --name --endpoint --advanced-filter --advanced-filter User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: PATCH @@ -584,7 +584,7 @@ interactions: string: '{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.eventgrid/topics/cli000002","provisioningState":"Updating","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","advancedFilters":[{"values":[21.0,13.0,400.0,101.0],"operatorType":"NumberIn","key":"data.key1"},{"values":["122","3","214","1100","2"],"operatorType":"StringIn","key":"data.key2"}]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/topics/cli000002/providers/Microsoft.EventGrid/eventSubscriptions/cli000003","name":"cli000003","type":"Microsoft.EventGrid/eventSubscriptions"}' headers: azure-asyncoperation: - - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/B9F9DD64-91D1-42C4-8B23-8E3A8755774C?api-version=2020-04-01-preview + - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/82F84931-3AE1-4329-AA1F-C5C4A8097D8E?api-version=2020-04-01-preview cache-control: - no-cache content-length: @@ -592,7 +592,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:02 GMT + - Sat, 16 May 2020 15:06:06 GMT expires: - '-1' pragma: @@ -623,12 +623,12 @@ interactions: - --source-resource-id --name --endpoint --advanced-filter --advanced-filter User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/B9F9DD64-91D1-42C4-8B23-8E3A8755774C?api-version=2020-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/82F84931-3AE1-4329-AA1F-C5C4A8097D8E?api-version=2020-04-01-preview response: body: - string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/B9F9DD64-91D1-42C4-8B23-8E3A8755774C?api-version=2020-04-01-preview","name":"b9f9dd64-91d1-42c4-8b23-8e3a8755774c","status":"Succeeded"}' + string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/82F84931-3AE1-4329-AA1F-C5C4A8097D8E?api-version=2020-04-01-preview","name":"82f84931-3ae1-4329-aa1f-c5c4a8097d8e","status":"Succeeded"}' headers: cache-control: - no-cache @@ -637,7 +637,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:13 GMT + - Sat, 16 May 2020 15:06:17 GMT expires: - '-1' pragma: @@ -670,7 +670,7 @@ interactions: - --source-resource-id --name --endpoint --advanced-filter --advanced-filter User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/topics/cli000002/providers/Microsoft.EventGrid/eventSubscriptions/cli000003?api-version=2020-04-01-preview response: @@ -684,7 +684,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:13 GMT + - Sat, 16 May 2020 15:06:17 GMT expires: - '-1' pragma: @@ -719,7 +719,7 @@ interactions: - --source-resource-id --name User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: DELETE @@ -729,17 +729,17 @@ interactions: string: '' headers: azure-asyncoperation: - - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/AE8DD08E-CF96-46E3-9544-2C8C3BB99CEC?api-version=2020-04-01-preview + - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/62013D67-61D8-4729-A2E8-88715F64F20B?api-version=2020-04-01-preview cache-control: - no-cache content-length: - '0' date: - - Thu, 19 Mar 2020 06:15:14 GMT + - Sat, 16 May 2020 15:06:18 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationResults/AE8DD08E-CF96-46E3-9544-2C8C3BB99CEC?api-version=2020-04-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationResults/62013D67-61D8-4729-A2E8-88715F64F20B?api-version=2020-04-01-preview pragma: - no-cache server: @@ -768,12 +768,12 @@ interactions: - --source-resource-id --name User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/AE8DD08E-CF96-46E3-9544-2C8C3BB99CEC?api-version=2020-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/62013D67-61D8-4729-A2E8-88715F64F20B?api-version=2020-04-01-preview response: body: - string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/AE8DD08E-CF96-46E3-9544-2C8C3BB99CEC?api-version=2020-04-01-preview","name":"ae8dd08e-cf96-46e3-9544-2c8c3bb99cec","status":"Succeeded"}' + string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/62013D67-61D8-4729-A2E8-88715F64F20B?api-version=2020-04-01-preview","name":"62013d67-61d8-4729-a2e8-88715f64f20b","status":"Succeeded"}' headers: cache-control: - no-cache @@ -782,7 +782,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:24 GMT + - Sat, 16 May 2020 15:06:28 GMT expires: - '-1' pragma: @@ -817,7 +817,7 @@ interactions: - --name --resource-group User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: DELETE @@ -827,17 +827,17 @@ interactions: string: '' headers: azure-asyncoperation: - - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/E7EB26FD-BD19-4B0C-996D-6CEC584F7AED?api-version=2020-04-01-preview + - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/2AB2B104-E212-48B3-997D-788CD3F1717E?api-version=2020-04-01-preview cache-control: - no-cache content-length: - '0' date: - - Thu, 19 Mar 2020 06:15:25 GMT + - Sat, 16 May 2020 15:06:30 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationResults/E7EB26FD-BD19-4B0C-996D-6CEC584F7AED?api-version=2020-04-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationResults/2AB2B104-E212-48B3-997D-788CD3F1717E?api-version=2020-04-01-preview pragma: - no-cache server: @@ -866,12 +866,12 @@ interactions: - --name --resource-group User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/E7EB26FD-BD19-4B0C-996D-6CEC584F7AED?api-version=2020-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/2AB2B104-E212-48B3-997D-788CD3F1717E?api-version=2020-04-01-preview response: body: - string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/E7EB26FD-BD19-4B0C-996D-6CEC584F7AED?api-version=2020-04-01-preview","name":"e7eb26fd-bd19-4b0c-996d-6cec584f7aed","status":"Succeeded"}' + string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/2AB2B104-E212-48B3-997D-788CD3F1717E?api-version=2020-04-01-preview","name":"2ab2b104-e212-48b3-997d-788cd3f1717e","status":"Succeeded"}' headers: cache-control: - no-cache @@ -880,7 +880,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:36 GMT + - Sat, 16 May 2020 15:06:40 GMT expires: - '-1' pragma: diff --git a/src/eventgrid/azext_eventgrid/tests/latest/recordings/test_create_domain.yaml b/src/eventgrid/azext_eventgrid/tests/latest/recordings/test_create_domain.yaml index fdcd54fd82f..e5d6609c602 100644 --- a/src/eventgrid/azext_eventgrid/tests/latest/recordings/test_create_domain.yaml +++ b/src/eventgrid/azext_eventgrid/tests/latest/recordings/test_create_domain.yaml @@ -1,7 +1,7 @@ interactions: - request: body: '{"location": "centraluseuap", "properties": {"inputSchema": "EventGridSchema"}, - "sku": {"name": "Basic"}}' + "sku": {"name": "Basic"}, "identity": {"type": "None"}}' headers: Accept: - application/json @@ -12,32 +12,32 @@ interactions: Connection: - keep-alive Content-Length: - - '105' + - '135' Content-Type: - application/json; charset=utf-8 ParameterSetName: - --name --resource-group --location User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/domains/cli000002?api-version=2020-04-01-preview response: body: - string: '{"properties":{"provisioningState":"Creating","endpoint":null,"inputSchema":"EventGridSchema"},"sku":{"name":"Basic"},"location":"centraluseuap","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/domains/cli000002","name":"cli000002","type":"Microsoft.EventGrid/domains"}' + string: '{"properties":{"provisioningState":"Creating","endpoint":null,"inputSchema":"EventGridSchema"},"sku":{"name":"Basic"},"identity":{"type":"None","principalId":null,"tenantId":null,"userAssignedIdentities":null},"location":"centraluseuap","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/domains/cli000002","name":"cli000002","type":"Microsoft.EventGrid/domains"}' headers: azure-asyncoperation: - - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/4CA30A01-AE5A-4DF4-B7C3-CAE19D5AFBCD?api-version=2020-04-01-preview + - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/2566CB1B-FB8B-40DB-BC5F-D78424EFE644?api-version=2020-04-01-preview cache-control: - no-cache content-length: - - '473' + - '565' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:14:23 GMT + - Sat, 16 May 2020 15:05:27 GMT expires: - '-1' pragma: @@ -68,12 +68,12 @@ interactions: - --name --resource-group --location User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/4CA30A01-AE5A-4DF4-B7C3-CAE19D5AFBCD?api-version=2020-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/2566CB1B-FB8B-40DB-BC5F-D78424EFE644?api-version=2020-04-01-preview response: body: - string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/4CA30A01-AE5A-4DF4-B7C3-CAE19D5AFBCD?api-version=2020-04-01-preview","name":"4ca30a01-ae5a-4df4-b7c3-cae19d5afbcd","status":"Succeeded"}' + string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/2566CB1B-FB8B-40DB-BC5F-D78424EFE644?api-version=2020-04-01-preview","name":"2566cb1b-fb8b-40db-bc5f-d78424efe644","status":"Succeeded"}' headers: cache-control: - no-cache @@ -82,7 +82,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:14:33 GMT + - Sat, 16 May 2020 15:05:37 GMT expires: - '-1' pragma: @@ -115,21 +115,21 @@ interactions: - --name --resource-group --location User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/domains/cli000002?api-version=2020-04-01-preview response: body: - string: '{"properties":{"provisioningState":"Succeeded","endpoint":"https://cli000002.centraluseuap-1.eventgrid.azure.net/api/events","inputSchema":"EventGridSchema","metricResourceId":"5edb0897-4851-4ff8-a3e4-595d005f3e07","publicNetworkAccess":"Enabled"},"sku":{"name":"Basic"},"location":"centraluseuap","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/domains/cli000002","name":"cli000002","type":"Microsoft.EventGrid/domains"}' + string: '{"properties":{"provisioningState":"Succeeded","endpoint":"https://cli000002.centraluseuap-1.eventgrid.azure.net/api/events","inputSchema":"EventGridSchema","metricResourceId":"188f9179-e8e7-4468-84b9-6b358144bb1d","publicNetworkAccess":"Enabled"},"sku":{"name":"Basic"},"identity":{"type":"None","principalId":null,"tenantId":null,"userAssignedIdentities":null},"location":"centraluseuap","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/domains/cli000002","name":"cli000002","type":"Microsoft.EventGrid/domains"}' headers: cache-control: - no-cache content-length: - - '657' + - '749' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:14:34 GMT + - Sat, 16 May 2020 15:05:38 GMT expires: - '-1' pragma: @@ -162,23 +162,23 @@ interactions: - --name --resource-group User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/domains/cli000002?api-version=2020-04-01-preview response: body: - string: '{"properties":{"provisioningState":"Succeeded","endpoint":"https://cli000002.centraluseuap-1.eventgrid.azure.net/api/events","inputSchema":"EventGridSchema","metricResourceId":"5edb0897-4851-4ff8-a3e4-595d005f3e07","publicNetworkAccess":"Enabled"},"sku":{"name":"Basic"},"location":"centraluseuap","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/domains/cli000002","name":"cli000002","type":"Microsoft.EventGrid/domains"}' + string: '{"properties":{"provisioningState":"Succeeded","endpoint":"https://cli000002.centraluseuap-1.eventgrid.azure.net/api/events","inputSchema":"EventGridSchema","metricResourceId":"188f9179-e8e7-4468-84b9-6b358144bb1d","publicNetworkAccess":"Enabled"},"sku":{"name":"Basic"},"identity":{"type":"None","principalId":null,"tenantId":null,"userAssignedIdentities":null},"location":"centraluseuap","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/domains/cli000002","name":"cli000002","type":"Microsoft.EventGrid/domains"}' headers: cache-control: - no-cache content-length: - - '657' + - '749' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:14:35 GMT + - Sat, 16 May 2020 15:05:38 GMT expires: - '-1' pragma: @@ -198,7 +198,7 @@ interactions: message: OK - request: body: '{"location": "centraluseuap", "properties": {"inputSchema": "CloudEventSchemaV1_0"}, - "sku": {"name": "Basic"}}' + "sku": {"name": "Basic"}, "identity": {"type": "None"}}' headers: Accept: - application/json @@ -209,32 +209,32 @@ interactions: Connection: - keep-alive Content-Length: - - '110' + - '140' Content-Type: - application/json; charset=utf-8 ParameterSetName: - --name --resource-group --location --input-schema User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/domains/cli000003?api-version=2020-04-01-preview response: body: - string: '{"properties":{"provisioningState":"Creating","endpoint":null,"inputSchema":"CloudEventSchemaV1_0"},"sku":{"name":"Basic"},"location":"centraluseuap","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/domains/cli000003","name":"cli000003","type":"Microsoft.EventGrid/domains"}' + string: '{"properties":{"provisioningState":"Creating","endpoint":null,"inputSchema":"CloudEventSchemaV1_0"},"sku":{"name":"Basic"},"identity":{"type":"None","principalId":null,"tenantId":null,"userAssignedIdentities":null},"location":"centraluseuap","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/domains/cli000003","name":"cli000003","type":"Microsoft.EventGrid/domains"}' headers: azure-asyncoperation: - - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/E75D0B3E-F458-45D8-9FFD-7759CBE2F332?api-version=2020-04-01-preview + - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/17EFA179-FB55-43A7-8D35-0969464E25C2?api-version=2020-04-01-preview cache-control: - no-cache content-length: - - '478' + - '570' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:14:36 GMT + - Sat, 16 May 2020 15:05:41 GMT expires: - '-1' pragma: @@ -265,12 +265,12 @@ interactions: - --name --resource-group --location --input-schema User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/E75D0B3E-F458-45D8-9FFD-7759CBE2F332?api-version=2020-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/17EFA179-FB55-43A7-8D35-0969464E25C2?api-version=2020-04-01-preview response: body: - string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/E75D0B3E-F458-45D8-9FFD-7759CBE2F332?api-version=2020-04-01-preview","name":"e75d0b3e-f458-45d8-9ffd-7759cbe2f332","status":"Succeeded"}' + string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/17EFA179-FB55-43A7-8D35-0969464E25C2?api-version=2020-04-01-preview","name":"17efa179-fb55-43a7-8d35-0969464e25c2","status":"Succeeded"}' headers: cache-control: - no-cache @@ -279,7 +279,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:14:47 GMT + - Sat, 16 May 2020 15:05:51 GMT expires: - '-1' pragma: @@ -312,21 +312,21 @@ interactions: - --name --resource-group --location --input-schema User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/domains/cli000003?api-version=2020-04-01-preview response: body: - string: '{"properties":{"provisioningState":"Succeeded","endpoint":"https://cli000003.centraluseuap-1.eventgrid.azure.net/api/events","inputSchema":"CloudEventSchemaV1_0","metricResourceId":"a0a31501-880c-460a-89cf-c81c4fc794f3","publicNetworkAccess":"Enabled"},"sku":{"name":"Basic"},"location":"centraluseuap","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/domains/cli000003","name":"cli000003","type":"Microsoft.EventGrid/domains"}' + string: '{"properties":{"provisioningState":"Succeeded","endpoint":"https://cli000003.centraluseuap-1.eventgrid.azure.net/api/events","inputSchema":"CloudEventSchemaV1_0","metricResourceId":"9f07edc6-a91c-488b-a654-b0e7f3779f00","publicNetworkAccess":"Enabled"},"sku":{"name":"Basic"},"identity":{"type":"None","principalId":null,"tenantId":null,"userAssignedIdentities":null},"location":"centraluseuap","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/domains/cli000003","name":"cli000003","type":"Microsoft.EventGrid/domains"}' headers: cache-control: - no-cache content-length: - - '662' + - '754' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:14:47 GMT + - Sat, 16 May 2020 15:05:51 GMT expires: - '-1' pragma: @@ -346,9 +346,9 @@ interactions: message: OK - request: body: '{"location": "centraluseuap", "properties": {"inputSchema": "EventGridSchema", - "publicNetworkAccess": "disabled", "inboundIpRules": [{"ipMask": "19.12.43.90/102", - "action": "allow"}, {"ipMask": "19.12.43.70/81", "action": "allow"}]}, "sku": - {"name": "Premium"}, "identity": {"type": "SystemAssigned"}}' + "publicNetworkAccess": "disabled", "inboundIpRules": [{"ipMask": "19.12.43.90/15", + "action": "allow"}, {"ipMask": "19.12.43.70/11", "action": "allow"}]}, "sku": + {"name": "Basic"}, "identity": {"type": "SystemAssigned"}}' headers: Accept: - application/json @@ -359,33 +359,33 @@ interactions: Connection: - keep-alive Content-Length: - - '301' + - '298' Content-Type: - application/json; charset=utf-8 ParameterSetName: - --name --resource-group --location --inbound-ip-rules --inbound-ip-rules --public-network-access - --sku --identity + --identity User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/domains/cli000005?api-version=2020-04-01-preview response: body: - string: '{"properties":{"provisioningState":"Creating","endpoint":null,"inputSchema":"EventGridSchema","publicNetworkAccess":"Disabled","inboundIpRules":[{"ipMask":"19.12.43.90/102","action":"Allow"},{"ipMask":"19.12.43.70/81","action":"Allow"}]},"sku":{"name":"Premium"},"identity":{"type":"SystemAssigned","principalId":"b7a79d1f-392c-4800-959b-4c4633679d8e","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","UserAssignedIdentities":null},"location":"centraluseuap","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/domains/cli000005","name":"cli000005","type":"Microsoft.EventGrid/domains"}' + string: '{"properties":{"provisioningState":"Creating","endpoint":null,"inputSchema":"EventGridSchema","publicNetworkAccess":"Disabled","inboundIpRules":[{"ipMask":"19.12.43.90/15","action":"Allow"},{"ipMask":"19.12.43.70/11","action":"Allow"}]},"sku":{"name":"Basic"},"identity":{"type":"SystemAssigned","principalId":"75c6f8ab-6dfc-46d1-84e4-a63febf4f213","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","userAssignedIdentities":null},"location":"centraluseuap","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/domains/cli000005","name":"cli000005","type":"Microsoft.EventGrid/domains"}' headers: azure-asyncoperation: - - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/B0FD9191-C974-4FFC-A5C6-D44C4E5B83C1?api-version=2020-04-01-preview + - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/47BF5D2B-57AD-4960-BD79-C25560EC9EAC?api-version=2020-04-01-preview cache-control: - no-cache content-length: - - '788' + - '785' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:14:51 GMT + - Sat, 16 May 2020 15:05:55 GMT expires: - '-1' pragma: @@ -397,7 +397,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1198' status: code: 201 message: Created @@ -414,15 +414,15 @@ interactions: - keep-alive ParameterSetName: - --name --resource-group --location --inbound-ip-rules --inbound-ip-rules --public-network-access - --sku --identity + --identity User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/B0FD9191-C974-4FFC-A5C6-D44C4E5B83C1?api-version=2020-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/47BF5D2B-57AD-4960-BD79-C25560EC9EAC?api-version=2020-04-01-preview response: body: - string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/B0FD9191-C974-4FFC-A5C6-D44C4E5B83C1?api-version=2020-04-01-preview","name":"b0fd9191-c974-4ffc-a5c6-d44c4e5b83c1","status":"Succeeded"}' + string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/47BF5D2B-57AD-4960-BD79-C25560EC9EAC?api-version=2020-04-01-preview","name":"47bf5d2b-57ad-4960-bd79-c25560ec9eac","status":"Succeeded"}' headers: cache-control: - no-cache @@ -431,7 +431,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:01 GMT + - Sat, 16 May 2020 15:06:05 GMT expires: - '-1' pragma: @@ -462,24 +462,24 @@ interactions: - keep-alive ParameterSetName: - --name --resource-group --location --inbound-ip-rules --inbound-ip-rules --public-network-access - --sku --identity + --identity User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/domains/cli000005?api-version=2020-04-01-preview response: body: - string: '{"properties":{"provisioningState":"Succeeded","endpoint":"https://cli000005.centraluseuap-1.eventgrid.azure.net/api/events","inputSchema":"EventGridSchema","metricResourceId":"9ed9e607-1fe9-4689-a687-12ac73131c51","publicNetworkAccess":"Disabled","inboundIpRules":[{"ipMask":"19.12.43.90/102","action":"Allow"},{"ipMask":"19.12.43.70/81","action":"Allow"}]},"sku":{"name":"Premium"},"identity":{"type":"SystemAssigned","principalId":"b7a79d1f-392c-4800-959b-4c4633679d8e","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","UserAssignedIdentities":null},"location":"centraluseuap","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/domains/cli000005","name":"cli000005","type":"Microsoft.EventGrid/domains"}' + string: '{"properties":{"provisioningState":"Succeeded","endpoint":"https://cli000005.centraluseuap-1.eventgrid.azure.net/api/events","inputSchema":"EventGridSchema","metricResourceId":"d045a018-da44-4550-8da4-76415f5fe862","publicNetworkAccess":"Disabled","inboundIpRules":[{"ipMask":"19.12.43.90/15","action":"Allow"},{"ipMask":"19.12.43.70/11","action":"Allow"}]},"sku":{"name":"Basic"},"identity":{"type":"SystemAssigned","principalId":"75c6f8ab-6dfc-46d1-84e4-a63febf4f213","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","userAssignedIdentities":null},"location":"centraluseuap","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/domains/cli000005","name":"cli000005","type":"Microsoft.EventGrid/domains"}' headers: cache-control: - no-cache content-length: - - '940' + - '937' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:01 GMT + - Sat, 16 May 2020 15:06:05 GMT expires: - '-1' pragma: @@ -516,25 +516,25 @@ interactions: - --name --resource-group --tags --sku User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: PATCH uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/domains/cli000005?api-version=2020-04-01-preview response: body: - string: '{"properties":{"provisioningState":"Updating","endpoint":"https://cli000005.centraluseuap-1.eventgrid.azure.net/api/events","inputSchema":"EventGridSchema","metricResourceId":"9ed9e607-1fe9-4689-a687-12ac73131c51","publicNetworkAccess":"Disabled","inboundIpRules":[{"ipMask":"19.12.43.90/102","action":"Allow"},{"ipMask":"19.12.43.70/81","action":"Allow"}]},"sku":{"name":"Basic"},"identity":{"type":"SystemAssigned","principalId":"b7a79d1f-392c-4800-959b-4c4633679d8e","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","UserAssignedIdentities":null},"location":"centraluseuap","tags":{"Dept":"IT"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/domains/cli000005","name":"cli000005","type":"Microsoft.EventGrid/domains"}' + string: '{"properties":{"provisioningState":"Updating","endpoint":"https://cli000005.centraluseuap-1.eventgrid.azure.net/api/events","inputSchema":"EventGridSchema","metricResourceId":"d045a018-da44-4550-8da4-76415f5fe862","publicNetworkAccess":"Disabled","inboundIpRules":[{"ipMask":"19.12.43.90/15","action":"Allow"},{"ipMask":"19.12.43.70/11","action":"Allow"}]},"sku":{"name":"Basic"},"identity":{"type":"SystemAssigned","principalId":"75c6f8ab-6dfc-46d1-84e4-a63febf4f213","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","userAssignedIdentities":null},"location":"centraluseuap","tags":{"Dept":"IT"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/domains/cli000005","name":"cli000005","type":"Microsoft.EventGrid/domains"}' headers: azure-asyncoperation: - - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/EA7F2AAE-09CE-4781-8961-DDD8FB32618E?api-version=2020-04-01-preview + - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/94CD740D-8F14-41D5-8F98-A77E9290D71B?api-version=2020-04-01-preview cache-control: - no-cache content-length: - - '946' + - '945' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:03 GMT + - Sat, 16 May 2020 15:06:07 GMT expires: - '-1' pragma: @@ -565,12 +565,12 @@ interactions: - --name --resource-group --tags --sku User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/EA7F2AAE-09CE-4781-8961-DDD8FB32618E?api-version=2020-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/94CD740D-8F14-41D5-8F98-A77E9290D71B?api-version=2020-04-01-preview response: body: - string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/EA7F2AAE-09CE-4781-8961-DDD8FB32618E?api-version=2020-04-01-preview","name":"ea7f2aae-09ce-4781-8961-ddd8fb32618e","status":"Succeeded"}' + string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/94CD740D-8F14-41D5-8F98-A77E9290D71B?api-version=2020-04-01-preview","name":"94cd740d-8f14-41d5-8f98-a77e9290d71b","status":"Succeeded"}' headers: cache-control: - no-cache @@ -579,7 +579,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:13 GMT + - Sat, 16 May 2020 15:06:17 GMT expires: - '-1' pragma: @@ -612,21 +612,21 @@ interactions: - --name --resource-group --tags --sku User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/domains/cli000005?api-version=2020-04-01-preview response: body: - string: '{"properties":{"provisioningState":"Succeeded","endpoint":"https://cli000005.centraluseuap-1.eventgrid.azure.net/api/events","inputSchema":"EventGridSchema","metricResourceId":"9ed9e607-1fe9-4689-a687-12ac73131c51","publicNetworkAccess":"Disabled","inboundIpRules":[{"ipMask":"19.12.43.90/102","action":"Allow"},{"ipMask":"19.12.43.70/81","action":"Allow"}]},"sku":{"name":"Basic"},"identity":{"type":"SystemAssigned","principalId":"b7a79d1f-392c-4800-959b-4c4633679d8e","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","UserAssignedIdentities":null},"location":"centraluseuap","tags":{"Dept":"IT"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/domains/cli000005","name":"cli000005","type":"Microsoft.EventGrid/domains"}' + string: '{"properties":{"provisioningState":"Succeeded","endpoint":"https://cli000005.centraluseuap-1.eventgrid.azure.net/api/events","inputSchema":"EventGridSchema","metricResourceId":"d045a018-da44-4550-8da4-76415f5fe862","publicNetworkAccess":"Disabled","inboundIpRules":[{"ipMask":"19.12.43.90/15","action":"Allow"},{"ipMask":"19.12.43.70/11","action":"Allow"}]},"sku":{"name":"Basic"},"identity":{"type":"SystemAssigned","principalId":"75c6f8ab-6dfc-46d1-84e4-a63febf4f213","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","userAssignedIdentities":null},"location":"centraluseuap","tags":{"Dept":"IT"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/domains/cli000005","name":"cli000005","type":"Microsoft.EventGrid/domains"}' headers: cache-control: - no-cache content-length: - - '947' + - '946' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:13 GMT + - Sat, 16 May 2020 15:06:17 GMT expires: - '-1' pragma: @@ -659,23 +659,23 @@ interactions: - --resource-group User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/domains?api-version=2020-04-01-preview&$top=100 response: body: - string: '{"value":[{"properties":{"provisioningState":"Succeeded","endpoint":"https://cli000002.centraluseuap-1.eventgrid.azure.net/api/events","inputSchema":"EventGridSchema","metricResourceId":"5edb0897-4851-4ff8-a3e4-595d005f3e07","publicNetworkAccess":"Enabled"},"sku":{"name":"Basic"},"location":"centraluseuap","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/domains/cli000002","name":"cli000002","type":"Microsoft.EventGrid/domains"},{"properties":{"provisioningState":"Succeeded","endpoint":"https://cli000003.centraluseuap-1.eventgrid.azure.net/api/events","inputSchema":"CloudEventSchemaV1_0","metricResourceId":"a0a31501-880c-460a-89cf-c81c4fc794f3","publicNetworkAccess":"Enabled"},"sku":{"name":"Basic"},"location":"centraluseuap","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/domains/cli000003","name":"cli000003","type":"Microsoft.EventGrid/domains"},{"properties":{"provisioningState":"Succeeded","endpoint":"https://cli000005.centraluseuap-1.eventgrid.azure.net/api/events","inputSchema":"EventGridSchema","metricResourceId":"9ed9e607-1fe9-4689-a687-12ac73131c51","publicNetworkAccess":"Disabled","inboundIpRules":[{"ipMask":"19.12.43.90/102","action":"Allow"},{"ipMask":"19.12.43.70/81","action":"Allow"}]},"sku":{"name":"Basic"},"identity":{"type":"SystemAssigned","principalId":"b7a79d1f-392c-4800-959b-4c4633679d8e","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","UserAssignedIdentities":null},"location":"centraluseuap","tags":{"Dept":"IT"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/domains/cli000005","name":"cli000005","type":"Microsoft.EventGrid/domains"}]}' + string: '{"value":[{"properties":{"provisioningState":"Succeeded","endpoint":"https://cli000002.centraluseuap-1.eventgrid.azure.net/api/events","inputSchema":"EventGridSchema","metricResourceId":"188f9179-e8e7-4468-84b9-6b358144bb1d","publicNetworkAccess":"Enabled"},"sku":{"name":"Basic"},"identity":{"type":"None","principalId":null,"tenantId":null,"userAssignedIdentities":null},"location":"centraluseuap","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/domains/cli000002","name":"cli000002","type":"Microsoft.EventGrid/domains"},{"properties":{"provisioningState":"Succeeded","endpoint":"https://cli000003.centraluseuap-1.eventgrid.azure.net/api/events","inputSchema":"CloudEventSchemaV1_0","metricResourceId":"9f07edc6-a91c-488b-a654-b0e7f3779f00","publicNetworkAccess":"Enabled"},"sku":{"name":"Basic"},"identity":{"type":"None","principalId":null,"tenantId":null,"userAssignedIdentities":null},"location":"centraluseuap","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/domains/cli000003","name":"cli000003","type":"Microsoft.EventGrid/domains"},{"properties":{"provisioningState":"Succeeded","endpoint":"https://cli000005.centraluseuap-1.eventgrid.azure.net/api/events","inputSchema":"EventGridSchema","metricResourceId":"d045a018-da44-4550-8da4-76415f5fe862","publicNetworkAccess":"Disabled","inboundIpRules":[{"ipMask":"19.12.43.90/15","action":"Allow"},{"ipMask":"19.12.43.70/11","action":"Allow"}]},"sku":{"name":"Basic"},"identity":{"type":"SystemAssigned","principalId":"75c6f8ab-6dfc-46d1-84e4-a63febf4f213","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","userAssignedIdentities":null},"location":"centraluseuap","tags":{"Dept":"IT"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/domains/cli000005","name":"cli000005","type":"Microsoft.EventGrid/domains"}]}' headers: cache-control: - no-cache content-length: - - '2280' + - '2463' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:15 GMT + - Sat, 16 May 2020 15:06:19 GMT expires: - '-1' pragma: @@ -694,8 +694,7 @@ interactions: code: 200 message: OK - request: - body: '{"tags": {"Dept": "Finance"}, "identity": {"type": "None"}, "sku": {"name": - "Premium"}}' + body: '{"tags": {"Dept": "Finance"}, "identity": {"type": "None"}}' headers: Accept: - application/json @@ -706,32 +705,32 @@ interactions: Connection: - keep-alive Content-Length: - - '87' + - '59' Content-Type: - application/json; charset=utf-8 ParameterSetName: - - --name --resource-group --tags --sku --identity + - --name --resource-group --tags --identity User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: PATCH uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/domains/cli000005?api-version=2020-04-01-preview response: body: - string: '{"properties":{"provisioningState":"Updating","endpoint":"https://cli000005.centraluseuap-1.eventgrid.azure.net/api/events","inputSchema":"EventGridSchema","metricResourceId":"9ed9e607-1fe9-4689-a687-12ac73131c51","publicNetworkAccess":"Disabled","inboundIpRules":[{"ipMask":"19.12.43.90/102","action":"Allow"},{"ipMask":"19.12.43.70/81","action":"Allow"}]},"sku":{"name":"Premium"},"identity":{"type":"None","principalId":null,"tenantId":null,"UserAssignedIdentities":null},"location":"centraluseuap","tags":{"Dept":"Finance"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/domains/cli000005","name":"cli000005","type":"Microsoft.EventGrid/domains"}' + string: '{"properties":{"provisioningState":"Updating","endpoint":"https://cli000005.centraluseuap-1.eventgrid.azure.net/api/events","inputSchema":"EventGridSchema","metricResourceId":"d045a018-da44-4550-8da4-76415f5fe862","publicNetworkAccess":"Disabled","inboundIpRules":[{"ipMask":"19.12.43.90/15","action":"Allow"},{"ipMask":"19.12.43.70/11","action":"Allow"}]},"sku":{"name":"Basic"},"identity":{"type":"None","principalId":null,"tenantId":null,"userAssignedIdentities":null},"location":"centraluseuap","tags":{"Dept":"Finance"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/domains/cli000005","name":"cli000005","type":"Microsoft.EventGrid/domains"}' headers: azure-asyncoperation: - - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/ADDF0BBA-E33F-4A41-B751-79CB3C0F0279?api-version=2020-04-01-preview + - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/5CF78D4C-43F8-4FC8-BD61-599508AAFF40?api-version=2020-04-01-preview cache-control: - no-cache content-length: - - '875' + - '872' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:18 GMT + - Sat, 16 May 2020 15:06:21 GMT expires: - '-1' pragma: @@ -743,7 +742,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1199' status: code: 201 message: Created @@ -759,15 +758,15 @@ interactions: Connection: - keep-alive ParameterSetName: - - --name --resource-group --tags --sku --identity + - --name --resource-group --tags --identity User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/ADDF0BBA-E33F-4A41-B751-79CB3C0F0279?api-version=2020-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/5CF78D4C-43F8-4FC8-BD61-599508AAFF40?api-version=2020-04-01-preview response: body: - string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/ADDF0BBA-E33F-4A41-B751-79CB3C0F0279?api-version=2020-04-01-preview","name":"addf0bba-e33f-4a41-b751-79cb3c0f0279","status":"Succeeded"}' + string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/5CF78D4C-43F8-4FC8-BD61-599508AAFF40?api-version=2020-04-01-preview","name":"5cf78d4c-43f8-4fc8-bd61-599508aaff40","status":"Succeeded"}' headers: cache-control: - no-cache @@ -776,7 +775,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:28 GMT + - Sat, 16 May 2020 15:06:32 GMT expires: - '-1' pragma: @@ -806,24 +805,24 @@ interactions: Connection: - keep-alive ParameterSetName: - - --name --resource-group --tags --sku --identity + - --name --resource-group --tags --identity User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/domains/cli000005?api-version=2020-04-01-preview response: body: - string: '{"properties":{"provisioningState":"Succeeded","endpoint":"https://cli000005.centraluseuap-1.eventgrid.azure.net/api/events","inputSchema":"EventGridSchema","metricResourceId":"9ed9e607-1fe9-4689-a687-12ac73131c51","publicNetworkAccess":"Disabled","inboundIpRules":[{"ipMask":"19.12.43.90/102","action":"Allow"},{"ipMask":"19.12.43.70/81","action":"Allow"}]},"sku":{"name":"Premium"},"identity":{"type":"None","principalId":null,"tenantId":null,"UserAssignedIdentities":null},"location":"centraluseuap","tags":{"Dept":"Finance"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/domains/cli000005","name":"cli000005","type":"Microsoft.EventGrid/domains"}' + string: '{"properties":{"provisioningState":"Succeeded","endpoint":"https://cli000005.centraluseuap-1.eventgrid.azure.net/api/events","inputSchema":"EventGridSchema","metricResourceId":"d045a018-da44-4550-8da4-76415f5fe862","publicNetworkAccess":"Disabled","inboundIpRules":[{"ipMask":"19.12.43.90/15","action":"Allow"},{"ipMask":"19.12.43.70/11","action":"Allow"}]},"sku":{"name":"Basic"},"identity":{"type":"None","principalId":null,"tenantId":null,"userAssignedIdentities":null},"location":"centraluseuap","tags":{"Dept":"Finance"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/domains/cli000005","name":"cli000005","type":"Microsoft.EventGrid/domains"}' headers: cache-control: - no-cache content-length: - - '876' + - '873' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:28 GMT + - Sat, 16 May 2020 15:06:32 GMT expires: - '-1' pragma: @@ -856,23 +855,23 @@ interactions: - --resource-group --odata-query User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/domains?api-version=2020-04-01-preview&$filter=name%20eq%20%27cli000002%27&$top=100 response: body: - string: '{"value":[{"properties":{"provisioningState":"Succeeded","endpoint":"https://cli000002.centraluseuap-1.eventgrid.azure.net/api/events","inputSchema":"EventGridSchema","metricResourceId":"5edb0897-4851-4ff8-a3e4-595d005f3e07","publicNetworkAccess":"Enabled"},"sku":{"name":"Basic"},"location":"centraluseuap","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/domains/cli000002","name":"cli000002","type":"Microsoft.EventGrid/domains"}]}' + string: '{"value":[{"properties":{"provisioningState":"Succeeded","endpoint":"https://cli000002.centraluseuap-1.eventgrid.azure.net/api/events","inputSchema":"EventGridSchema","metricResourceId":"188f9179-e8e7-4468-84b9-6b358144bb1d","publicNetworkAccess":"Enabled"},"sku":{"name":"Basic"},"identity":{"type":"None","principalId":null,"tenantId":null,"userAssignedIdentities":null},"location":"centraluseuap","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/domains/cli000002","name":"cli000002","type":"Microsoft.EventGrid/domains"}]}' headers: cache-control: - no-cache content-length: - - '669' + - '761' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:29 GMT + - Sat, 16 May 2020 15:06:34 GMT expires: - '-1' pragma: @@ -907,14 +906,14 @@ interactions: - --name --resource-group User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: POST uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/domains/cli000002/listKeys?api-version=2020-04-01-preview response: body: - string: '{"key1":"8IV5sVL9/uo4uhMR+ETkfMI6zSNRYP8ehipNPYUBcDY=","key2":"t3ZZM65l9GjuxH+AbWR4IlcuIscx/Rvatfc/ptdKN7g="}' + string: '{"key1":"ATgVuWM9RnSrbIaVAL6kEy4jf/QrIpqEu1yw3x3EI2Y=","key2":"/jYXMxNsYQInH88VVjYgArs0nrTcnqHmP0lMxoNdE4k="}' headers: cache-control: - no-cache @@ -923,7 +922,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:29 GMT + - Sat, 16 May 2020 15:06:34 GMT expires: - '-1' pragma: @@ -939,7 +938,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1199' status: code: 200 message: OK @@ -962,14 +961,14 @@ interactions: - --name --resource-group --key-name User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: POST uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/domains/cli000002/regenerateKey?api-version=2020-04-01-preview response: body: - string: '{"key1":"4gVl2mKjMxaRDwvJx37yrg4NyR/keBGpY/njrEof5Tc=","key2":"t3ZZM65l9GjuxH+AbWR4IlcuIscx/Rvatfc/ptdKN7g="}' + string: '{"key1":"3IT22r3tM2Ui9WvbLCmA4lMFgk6DoQ3rlDIKR1n1Msg=","key2":"/jYXMxNsYQInH88VVjYgArs0nrTcnqHmP0lMxoNdE4k="}' headers: cache-control: - no-cache @@ -978,7 +977,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:30 GMT + - Sat, 16 May 2020 15:06:35 GMT expires: - '-1' pragma: @@ -1017,14 +1016,14 @@ interactions: - --name --resource-group --key-name User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: POST uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/domains/cli000002/regenerateKey?api-version=2020-04-01-preview response: body: - string: '{"key1":"4gVl2mKjMxaRDwvJx37yrg4NyR/keBGpY/njrEof5Tc=","key2":"Zy//ke8cr60g7YzX/J3XEGd1536vq1jh3NXxWKibn6c="}' + string: '{"key1":"3IT22r3tM2Ui9WvbLCmA4lMFgk6DoQ3rlDIKR1n1Msg=","key2":"gUGDK7nu0DvCr3ezeYNTRmHusMM/LRjOX5yxleOv58U="}' headers: cache-control: - no-cache @@ -1033,7 +1032,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:31 GMT + - Sat, 16 May 2020 15:06:36 GMT expires: - '-1' pragma: @@ -1049,7 +1048,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1199' status: code: 200 message: OK @@ -1075,7 +1074,7 @@ interactions: - --source-resource-id --name --endpoint --included-event-types User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: PUT @@ -1085,7 +1084,7 @@ interactions: string: '{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.eventgrid/domains/cli000002","provisioningState":"Creating","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid"},"endpointType":"WebHook"},"filter":{},"labels":null,"retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/domains/cli000002/providers/Microsoft.EventGrid/eventSubscriptions/cli000008","name":"cli000008","type":"Microsoft.EventGrid/eventSubscriptions"}' headers: azure-asyncoperation: - - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/913288F5-2062-4D82-BD21-FE662DA75C7E?api-version=2020-04-01-preview + - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/1FFCCBC1-845A-48BC-BC29-DAA052349008?api-version=2020-04-01-preview cache-control: - no-cache content-length: @@ -1093,7 +1092,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:31 GMT + - Sat, 16 May 2020 15:06:37 GMT expires: - '-1' pragma: @@ -1124,12 +1123,12 @@ interactions: - --source-resource-id --name --endpoint --included-event-types User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/913288F5-2062-4D82-BD21-FE662DA75C7E?api-version=2020-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/1FFCCBC1-845A-48BC-BC29-DAA052349008?api-version=2020-04-01-preview response: body: - string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/913288F5-2062-4D82-BD21-FE662DA75C7E?api-version=2020-04-01-preview","name":"913288f5-2062-4d82-bd21-fe662da75c7e","status":"Succeeded"}' + string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/1FFCCBC1-845A-48BC-BC29-DAA052349008?api-version=2020-04-01-preview","name":"1ffccbc1-845a-48bc-bc29-daa052349008","status":"Succeeded"}' headers: cache-control: - no-cache @@ -1138,7 +1137,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:41 GMT + - Sat, 16 May 2020 15:06:47 GMT expires: - '-1' pragma: @@ -1171,7 +1170,7 @@ interactions: - --source-resource-id --name --endpoint --included-event-types User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/domains/cli000002/providers/Microsoft.EventGrid/eventSubscriptions/cli000008?api-version=2020-04-01-preview response: @@ -1185,7 +1184,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:42 GMT + - Sat, 16 May 2020 15:06:48 GMT expires: - '-1' pragma: @@ -1218,7 +1217,7 @@ interactions: - --source-resource-id --name User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET @@ -1234,7 +1233,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:43 GMT + - Sat, 16 May 2020 15:06:49 GMT expires: - '-1' pragma: @@ -1267,7 +1266,7 @@ interactions: - --source-resource-id --name --include-full-endpoint-url User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET @@ -1283,7 +1282,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:43 GMT + - Sat, 16 May 2020 15:06:50 GMT expires: - '-1' pragma: @@ -1318,7 +1317,7 @@ interactions: - --source-resource-id --name --include-full-endpoint-url User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: POST @@ -1334,7 +1333,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:44 GMT + - Sat, 16 May 2020 15:06:50 GMT expires: - '-1' pragma: @@ -1369,7 +1368,7 @@ interactions: - --source-resource-id --name --endpoint User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET @@ -1385,7 +1384,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:45 GMT + - Sat, 16 May 2020 15:06:51 GMT expires: - '-1' pragma: @@ -1426,7 +1425,7 @@ interactions: - --source-resource-id --name --endpoint User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: PATCH @@ -1436,7 +1435,7 @@ interactions: string: '{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.eventgrid/domains/cli000002","provisioningState":"Updating","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/domains/cli000002/providers/Microsoft.EventGrid/eventSubscriptions/cli000008","name":"cli000008","type":"Microsoft.EventGrid/eventSubscriptions"}' headers: azure-asyncoperation: - - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/7D9D468A-C257-49FE-B8F8-11D90DDBBCC7?api-version=2020-04-01-preview + - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/E3C81850-8ADE-446E-8EA6-28F60DE93D9E?api-version=2020-04-01-preview cache-control: - no-cache content-length: @@ -1444,7 +1443,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:45 GMT + - Sat, 16 May 2020 15:06:52 GMT expires: - '-1' pragma: @@ -1475,12 +1474,12 @@ interactions: - --source-resource-id --name --endpoint User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/7D9D468A-C257-49FE-B8F8-11D90DDBBCC7?api-version=2020-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/E3C81850-8ADE-446E-8EA6-28F60DE93D9E?api-version=2020-04-01-preview response: body: - string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/7D9D468A-C257-49FE-B8F8-11D90DDBBCC7?api-version=2020-04-01-preview","name":"7d9d468a-c257-49fe-b8f8-11d90ddbbcc7","status":"Succeeded"}' + string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/E3C81850-8ADE-446E-8EA6-28F60DE93D9E?api-version=2020-04-01-preview","name":"e3c81850-8ade-446e-8ea6-28f60de93d9e","status":"Succeeded"}' headers: cache-control: - no-cache @@ -1489,7 +1488,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:55 GMT + - Sat, 16 May 2020 15:07:02 GMT expires: - '-1' pragma: @@ -1522,7 +1521,7 @@ interactions: - --source-resource-id --name --endpoint User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/domains/cli000002/providers/Microsoft.EventGrid/eventSubscriptions/cli000008?api-version=2020-04-01-preview response: @@ -1536,7 +1535,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:56 GMT + - Sat, 16 May 2020 15:07:02 GMT expires: - '-1' pragma: @@ -1569,7 +1568,7 @@ interactions: - --source-resource-id User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET @@ -1585,7 +1584,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:57 GMT + - Sat, 16 May 2020 15:07:04 GMT expires: - '-1' pragma: @@ -1620,7 +1619,7 @@ interactions: - --source-resource-id --name User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: DELETE @@ -1630,17 +1629,17 @@ interactions: string: '' headers: azure-asyncoperation: - - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/C255A735-E9E6-491F-9486-A5DDC3E1A8B1?api-version=2020-04-01-preview + - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/CD27A3C2-CA1D-4B88-B320-6A55225F2724?api-version=2020-04-01-preview cache-control: - no-cache content-length: - '0' date: - - Thu, 19 Mar 2020 06:15:57 GMT + - Sat, 16 May 2020 15:07:04 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationResults/C255A735-E9E6-491F-9486-A5DDC3E1A8B1?api-version=2020-04-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationResults/CD27A3C2-CA1D-4B88-B320-6A55225F2724?api-version=2020-04-01-preview pragma: - no-cache server: @@ -1650,7 +1649,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-deletes: - - '14998' + - '14999' status: code: 202 message: Accepted @@ -1669,12 +1668,12 @@ interactions: - --source-resource-id --name User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/C255A735-E9E6-491F-9486-A5DDC3E1A8B1?api-version=2020-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/CD27A3C2-CA1D-4B88-B320-6A55225F2724?api-version=2020-04-01-preview response: body: - string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/C255A735-E9E6-491F-9486-A5DDC3E1A8B1?api-version=2020-04-01-preview","name":"c255a735-e9e6-491f-9486-a5ddc3e1a8b1","status":"Succeeded"}' + string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/CD27A3C2-CA1D-4B88-B320-6A55225F2724?api-version=2020-04-01-preview","name":"cd27a3c2-ca1d-4b88-b320-6a55225f2724","status":"Succeeded"}' headers: cache-control: - no-cache @@ -1683,7 +1682,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:16:07 GMT + - Sat, 16 May 2020 15:07:14 GMT expires: - '-1' pragma: @@ -1723,7 +1722,7 @@ interactions: - --source-resource-id --name --endpoint User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: PUT @@ -1733,7 +1732,7 @@ interactions: string: '{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.eventgrid/domains/cli000002/topics/cli000006","provisioningState":"Creating","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid"},"endpointType":"WebHook"},"filter":{},"labels":null,"retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/domains/cli000002/topics/cli000006/providers/Microsoft.EventGrid/eventSubscriptions/cli000008","name":"cli000008","type":"Microsoft.EventGrid/eventSubscriptions"}' headers: azure-asyncoperation: - - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/2FA12AD4-E3DE-4BD7-86DA-A80568756B49?api-version=2020-04-01-preview + - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/74F0601C-3AD1-4DC3-A57C-232B1D1168E9?api-version=2020-04-01-preview cache-control: - no-cache content-length: @@ -1741,7 +1740,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:16:09 GMT + - Sat, 16 May 2020 15:07:16 GMT expires: - '-1' pragma: @@ -1772,12 +1771,12 @@ interactions: - --source-resource-id --name --endpoint User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/2FA12AD4-E3DE-4BD7-86DA-A80568756B49?api-version=2020-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/74F0601C-3AD1-4DC3-A57C-232B1D1168E9?api-version=2020-04-01-preview response: body: - string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/2FA12AD4-E3DE-4BD7-86DA-A80568756B49?api-version=2020-04-01-preview","name":"2fa12ad4-e3de-4bd7-86da-a80568756b49","status":"Succeeded"}' + string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/74F0601C-3AD1-4DC3-A57C-232B1D1168E9?api-version=2020-04-01-preview","name":"74f0601c-3ad1-4dc3-a57c-232b1d1168e9","status":"Succeeded"}' headers: cache-control: - no-cache @@ -1786,7 +1785,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:16:20 GMT + - Sat, 16 May 2020 15:07:27 GMT expires: - '-1' pragma: @@ -1819,7 +1818,7 @@ interactions: - --source-resource-id --name --endpoint User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/domains/cli000002/topics/cli000006/providers/Microsoft.EventGrid/eventSubscriptions/cli000008?api-version=2020-04-01-preview response: @@ -1833,7 +1832,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:16:20 GMT + - Sat, 16 May 2020 15:07:27 GMT expires: - '-1' pragma: @@ -1866,7 +1865,7 @@ interactions: - --source-resource-id --name User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET @@ -1882,7 +1881,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:16:21 GMT + - Sat, 16 May 2020 15:07:29 GMT expires: - '-1' pragma: @@ -1917,7 +1916,7 @@ interactions: - --resource-group --domain-name --name User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: PUT @@ -1927,7 +1926,7 @@ interactions: string: '{"properties":{"provisioningState":"Creating"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/domains/cli000002/topics/cli000007","name":"cli000007","type":"Microsoft.EventGrid/domains/topics"}' headers: azure-asyncoperation: - - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/180DD48E-555B-44FF-BD01-F37991FF99B1?api-version=2020-04-01-preview + - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/B861E4DB-7EE8-4A00-8268-977B541352D5?api-version=2020-04-01-preview cache-control: - no-cache content-length: @@ -1935,7 +1934,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:16:22 GMT + - Sat, 16 May 2020 15:07:30 GMT expires: - '-1' pragma: @@ -1966,12 +1965,12 @@ interactions: - --resource-group --domain-name --name User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/180DD48E-555B-44FF-BD01-F37991FF99B1?api-version=2020-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/B861E4DB-7EE8-4A00-8268-977B541352D5?api-version=2020-04-01-preview response: body: - string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/180DD48E-555B-44FF-BD01-F37991FF99B1?api-version=2020-04-01-preview","name":"180dd48e-555b-44ff-bd01-f37991ff99b1","status":"Succeeded"}' + string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/B861E4DB-7EE8-4A00-8268-977B541352D5?api-version=2020-04-01-preview","name":"b861e4db-7ee8-4a00-8268-977b541352d5","status":"Succeeded"}' headers: cache-control: - no-cache @@ -1980,7 +1979,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:16:32 GMT + - Sat, 16 May 2020 15:07:40 GMT expires: - '-1' pragma: @@ -2013,7 +2012,7 @@ interactions: - --resource-group --domain-name --name User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/domains/cli000002/topics/cli000007?api-version=2020-04-01-preview response: @@ -2027,7 +2026,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:16:33 GMT + - Sat, 16 May 2020 15:07:40 GMT expires: - '-1' pragma: @@ -2060,7 +2059,7 @@ interactions: - --resource-group --domain-name --name User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET @@ -2076,7 +2075,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:16:34 GMT + - Sat, 16 May 2020 15:07:42 GMT expires: - '-1' pragma: @@ -2109,7 +2108,7 @@ interactions: - --resource-group --domain-name User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET @@ -2125,7 +2124,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:16:34 GMT + - Sat, 16 May 2020 15:07:42 GMT expires: - '-1' pragma: @@ -2158,7 +2157,7 @@ interactions: - --resource-group --domain-name --odata-query User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET @@ -2174,7 +2173,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:16:35 GMT + - Sat, 16 May 2020 15:07:43 GMT expires: - '-1' pragma: @@ -2207,7 +2206,7 @@ interactions: - --resource-group --domain-name --name User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET @@ -2223,7 +2222,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:16:36 GMT + - Sat, 16 May 2020 15:07:44 GMT expires: - '-1' pragma: @@ -2256,7 +2255,7 @@ interactions: - --source-resource-id --name --include-full-endpoint-url User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET @@ -2272,7 +2271,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:16:37 GMT + - Sat, 16 May 2020 15:07:45 GMT expires: - '-1' pragma: @@ -2307,7 +2306,7 @@ interactions: - --source-resource-id --name --include-full-endpoint-url User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: POST @@ -2323,7 +2322,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:16:37 GMT + - Sat, 16 May 2020 15:07:45 GMT expires: - '-1' pragma: @@ -2358,7 +2357,7 @@ interactions: - --source-resource-id --name --endpoint User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET @@ -2374,7 +2373,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:16:38 GMT + - Sat, 16 May 2020 15:07:46 GMT expires: - '-1' pragma: @@ -2415,7 +2414,7 @@ interactions: - --source-resource-id --name --endpoint User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: PATCH @@ -2425,7 +2424,7 @@ interactions: string: '{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.eventgrid/domains/cli000002/topics/cli000006","provisioningState":"Updating","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/domains/cli000002/topics/cli000006/providers/Microsoft.EventGrid/eventSubscriptions/cli000008","name":"cli000008","type":"Microsoft.EventGrid/eventSubscriptions"}' headers: azure-asyncoperation: - - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/9DF670AF-BEFA-4E75-9165-B42961E0B14D?api-version=2020-04-01-preview + - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/F757DEF0-F9BE-4EAA-B000-52D3F54A011D?api-version=2020-04-01-preview cache-control: - no-cache content-length: @@ -2433,7 +2432,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:16:39 GMT + - Sat, 16 May 2020 15:07:46 GMT expires: - '-1' pragma: @@ -2445,7 +2444,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '898' + - '899' status: code: 201 message: Created @@ -2464,12 +2463,12 @@ interactions: - --source-resource-id --name --endpoint User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/9DF670AF-BEFA-4E75-9165-B42961E0B14D?api-version=2020-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/F757DEF0-F9BE-4EAA-B000-52D3F54A011D?api-version=2020-04-01-preview response: body: - string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/9DF670AF-BEFA-4E75-9165-B42961E0B14D?api-version=2020-04-01-preview","name":"9df670af-befa-4e75-9165-b42961e0b14d","status":"Succeeded"}' + string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/F757DEF0-F9BE-4EAA-B000-52D3F54A011D?api-version=2020-04-01-preview","name":"f757def0-f9be-4eaa-b000-52d3f54a011d","status":"Succeeded"}' headers: cache-control: - no-cache @@ -2478,7 +2477,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:16:49 GMT + - Sat, 16 May 2020 15:07:57 GMT expires: - '-1' pragma: @@ -2511,7 +2510,7 @@ interactions: - --source-resource-id --name --endpoint User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/domains/cli000002/topics/cli000006/providers/Microsoft.EventGrid/eventSubscriptions/cli000008?api-version=2020-04-01-preview response: @@ -2525,7 +2524,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:16:49 GMT + - Sat, 16 May 2020 15:07:57 GMT expires: - '-1' pragma: @@ -2558,7 +2557,7 @@ interactions: - --source-resource-id User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET @@ -2574,7 +2573,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:16:50 GMT + - Sat, 16 May 2020 15:07:57 GMT expires: - '-1' pragma: @@ -2607,7 +2606,7 @@ interactions: - --source-resource-id --odata-query User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET @@ -2623,7 +2622,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:16:52 GMT + - Sat, 16 May 2020 15:07:59 GMT expires: - '-1' pragma: @@ -2658,7 +2657,7 @@ interactions: - --source-resource-id --name User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: DELETE @@ -2668,17 +2667,17 @@ interactions: string: '' headers: azure-asyncoperation: - - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/2A17C9B7-154D-49B5-A663-B51541891843?api-version=2020-04-01-preview + - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/A30D3287-424F-4944-A9D3-493F69AB057A?api-version=2020-04-01-preview cache-control: - no-cache content-length: - '0' date: - - Thu, 19 Mar 2020 06:16:52 GMT + - Sat, 16 May 2020 15:08:00 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationResults/2A17C9B7-154D-49B5-A663-B51541891843?api-version=2020-04-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationResults/A30D3287-424F-4944-A9D3-493F69AB057A?api-version=2020-04-01-preview pragma: - no-cache server: @@ -2688,7 +2687,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-deletes: - - '14998' + - '14999' status: code: 202 message: Accepted @@ -2707,12 +2706,12 @@ interactions: - --source-resource-id --name User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/2A17C9B7-154D-49B5-A663-B51541891843?api-version=2020-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/A30D3287-424F-4944-A9D3-493F69AB057A?api-version=2020-04-01-preview response: body: - string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/2A17C9B7-154D-49B5-A663-B51541891843?api-version=2020-04-01-preview","name":"2a17c9b7-154d-49b5-a663-b51541891843","status":"Succeeded"}' + string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/A30D3287-424F-4944-A9D3-493F69AB057A?api-version=2020-04-01-preview","name":"a30d3287-424f-4944-a9d3-493f69ab057a","status":"Succeeded"}' headers: cache-control: - no-cache @@ -2721,7 +2720,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:17:03 GMT + - Sat, 16 May 2020 15:08:11 GMT expires: - '-1' pragma: @@ -2756,7 +2755,7 @@ interactions: - --domain-name --name --resource-group User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: DELETE @@ -2768,7 +2767,7 @@ interactions: cache-control: - no-cache date: - - Thu, 19 Mar 2020 06:17:04 GMT + - Sat, 16 May 2020 15:08:12 GMT expires: - '-1' pragma: @@ -2780,7 +2779,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-deletes: - - '14999' + - '14998' status: code: 204 message: No Content @@ -2801,7 +2800,7 @@ interactions: - --domain-name --name --resource-group User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: DELETE @@ -2811,17 +2810,17 @@ interactions: string: '' headers: azure-asyncoperation: - - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/2A810EB0-3184-45F0-9895-F364DA1254FC?api-version=2020-04-01-preview + - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/4C994154-FC30-45D8-A292-9619A522A5C7?api-version=2020-04-01-preview cache-control: - no-cache content-length: - '0' date: - - Thu, 19 Mar 2020 06:17:05 GMT + - Sat, 16 May 2020 15:08:13 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationResults/2A810EB0-3184-45F0-9895-F364DA1254FC?api-version=2020-04-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationResults/4C994154-FC30-45D8-A292-9619A522A5C7?api-version=2020-04-01-preview pragma: - no-cache server: @@ -2850,12 +2849,12 @@ interactions: - --domain-name --name --resource-group User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/2A810EB0-3184-45F0-9895-F364DA1254FC?api-version=2020-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/4C994154-FC30-45D8-A292-9619A522A5C7?api-version=2020-04-01-preview response: body: - string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/2A810EB0-3184-45F0-9895-F364DA1254FC?api-version=2020-04-01-preview","name":"2a810eb0-3184-45f0-9895-f364da1254fc","status":"Succeeded"}' + string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/4C994154-FC30-45D8-A292-9619A522A5C7?api-version=2020-04-01-preview","name":"4c994154-fc30-45d8-a292-9619a522a5c7","status":"Succeeded"}' headers: cache-control: - no-cache @@ -2864,7 +2863,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:17:16 GMT + - Sat, 16 May 2020 15:08:24 GMT expires: - '-1' pragma: @@ -2899,7 +2898,7 @@ interactions: - --name --resource-group User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: DELETE @@ -2909,17 +2908,17 @@ interactions: string: '' headers: azure-asyncoperation: - - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/95A8AEEA-EF94-4DF8-B436-95270B6738FD?api-version=2020-04-01-preview + - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/646919EF-4846-467C-B6B3-CA47F6BA69BF?api-version=2020-04-01-preview cache-control: - no-cache content-length: - '0' date: - - Thu, 19 Mar 2020 06:17:17 GMT + - Sat, 16 May 2020 15:08:25 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationResults/95A8AEEA-EF94-4DF8-B436-95270B6738FD?api-version=2020-04-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationResults/646919EF-4846-467C-B6B3-CA47F6BA69BF?api-version=2020-04-01-preview pragma: - no-cache server: @@ -2948,12 +2947,12 @@ interactions: - --name --resource-group User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/95A8AEEA-EF94-4DF8-B436-95270B6738FD?api-version=2020-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/646919EF-4846-467C-B6B3-CA47F6BA69BF?api-version=2020-04-01-preview response: body: - string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/95A8AEEA-EF94-4DF8-B436-95270B6738FD?api-version=2020-04-01-preview","name":"95a8aeea-ef94-4df8-b436-95270b6738fd","status":"Succeeded"}' + string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/646919EF-4846-467C-B6B3-CA47F6BA69BF?api-version=2020-04-01-preview","name":"646919ef-4846-467c-b6b3-ca47f6ba69bf","status":"Succeeded"}' headers: cache-control: - no-cache @@ -2962,7 +2961,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:17:28 GMT + - Sat, 16 May 2020 15:08:36 GMT expires: - '-1' pragma: @@ -2997,7 +2996,7 @@ interactions: - --name --resource-group User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: DELETE @@ -3007,17 +3006,17 @@ interactions: string: '' headers: azure-asyncoperation: - - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/5FB861B3-9DAD-4937-BFB3-3F304AD71F5E?api-version=2020-04-01-preview + - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/27A7E35B-D777-431F-96B9-AA28E32819D9?api-version=2020-04-01-preview cache-control: - no-cache content-length: - '0' date: - - Thu, 19 Mar 2020 06:17:29 GMT + - Sat, 16 May 2020 15:08:38 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationResults/5FB861B3-9DAD-4937-BFB3-3F304AD71F5E?api-version=2020-04-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationResults/27A7E35B-D777-431F-96B9-AA28E32819D9?api-version=2020-04-01-preview pragma: - no-cache server: @@ -3027,7 +3026,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-deletes: - - '14997' + - '14999' status: code: 202 message: Accepted @@ -3046,12 +3045,12 @@ interactions: - --name --resource-group User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/5FB861B3-9DAD-4937-BFB3-3F304AD71F5E?api-version=2020-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/27A7E35B-D777-431F-96B9-AA28E32819D9?api-version=2020-04-01-preview response: body: - string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/5FB861B3-9DAD-4937-BFB3-3F304AD71F5E?api-version=2020-04-01-preview","name":"5fb861b3-9dad-4937-bfb3-3f304ad71f5e","status":"Succeeded"}' + string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/27A7E35B-D777-431F-96B9-AA28E32819D9?api-version=2020-04-01-preview","name":"27a7e35b-d777-431f-96b9-aa28e32819d9","status":"Succeeded"}' headers: cache-control: - no-cache @@ -3060,7 +3059,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:17:40 GMT + - Sat, 16 May 2020 15:08:48 GMT expires: - '-1' pragma: @@ -3095,7 +3094,7 @@ interactions: - --name --resource-group User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: DELETE @@ -3107,7 +3106,7 @@ interactions: cache-control: - no-cache date: - - Thu, 19 Mar 2020 06:17:41 GMT + - Sat, 16 May 2020 15:08:49 GMT expires: - '-1' pragma: @@ -3117,7 +3116,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-deletes: - - '14998' + - '14999' status: code: 204 message: No Content diff --git a/src/eventgrid/azext_eventgrid/tests/latest/recordings/test_create_event_subscriptions_to_resource.yaml b/src/eventgrid/azext_eventgrid/tests/latest/recordings/test_create_event_subscriptions_to_resource.yaml index cdaeca94122..83449688f76 100644 --- a/src/eventgrid/azext_eventgrid/tests/latest/recordings/test_create_event_subscriptions_to_resource.yaml +++ b/src/eventgrid/azext_eventgrid/tests/latest/recordings/test_create_event_subscriptions_to_resource.yaml @@ -18,14 +18,14 @@ interactions: - -g -n --sku -l User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-storage/7.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-storage/9.0.0 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002?api-version=2019-06-01 response: body: - string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002","name":"clieventgrid000002","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-19T06:14:26.6010496Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-19T06:14:26.6010496Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-19T06:14:26.5385131Z","primaryEndpoints":{"dfs":"https://clieventgrid000002.dfs.core.windows.net/","web":"https://clieventgrid000002.z2.web.core.windows.net/","blob":"https://clieventgrid000002.blob.core.windows.net/","queue":"https://clieventgrid000002.queue.core.windows.net/","table":"https://clieventgrid000002.table.core.windows.net/","file":"https://clieventgrid000002.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}}' + string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002","name":"clieventgrid000002","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-05-16T15:05:30.2454992Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-05-16T15:05:30.2454992Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-05-16T15:05:30.1830197Z","primaryEndpoints":{"dfs":"https://clieventgrid000002.dfs.core.windows.net/","web":"https://clieventgrid000002.z2.web.core.windows.net/","blob":"https://clieventgrid000002.blob.core.windows.net/","queue":"https://clieventgrid000002.queue.core.windows.net/","table":"https://clieventgrid000002.table.core.windows.net/","file":"https://clieventgrid000002.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}}' headers: cache-control: - no-cache @@ -34,7 +34,7 @@ interactions: content-type: - application/json date: - - Thu, 19 Mar 2020 06:14:48 GMT + - Sat, 16 May 2020 15:05:52 GMT expires: - '-1' pragma: @@ -50,7 +50,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1199' status: code: 200 message: OK @@ -69,14 +69,14 @@ interactions: - -g -n --set User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-storage/7.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-storage/9.0.0 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002?api-version=2019-06-01 response: body: - string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002","name":"clieventgrid000002","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-19T06:14:26.6010496Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-19T06:14:26.6010496Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-19T06:14:26.5385131Z","primaryEndpoints":{"dfs":"https://clieventgrid000002.dfs.core.windows.net/","web":"https://clieventgrid000002.z2.web.core.windows.net/","blob":"https://clieventgrid000002.blob.core.windows.net/","queue":"https://clieventgrid000002.queue.core.windows.net/","table":"https://clieventgrid000002.table.core.windows.net/","file":"https://clieventgrid000002.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}}' + string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002","name":"clieventgrid000002","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-05-16T15:05:30.2454992Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-05-16T15:05:30.2454992Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-05-16T15:05:30.1830197Z","primaryEndpoints":{"dfs":"https://clieventgrid000002.dfs.core.windows.net/","web":"https://clieventgrid000002.z2.web.core.windows.net/","blob":"https://clieventgrid000002.blob.core.windows.net/","queue":"https://clieventgrid000002.queue.core.windows.net/","table":"https://clieventgrid000002.table.core.windows.net/","file":"https://clieventgrid000002.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}}' headers: cache-control: - no-cache @@ -85,7 +85,7 @@ interactions: content-type: - application/json date: - - Thu, 19 Mar 2020 06:14:49 GMT + - Sat, 16 May 2020 15:05:53 GMT expires: - '-1' pragma: @@ -127,14 +127,14 @@ interactions: - -g -n --set User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-storage/7.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-storage/9.0.0 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: PATCH uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002?api-version=2019-06-01 response: body: - string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002","name":"clieventgrid000002","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-19T06:14:26.6010496Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-19T06:14:26.6010496Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-19T06:14:26.5385131Z","primaryEndpoints":{"dfs":"https://clieventgrid000002.dfs.core.windows.net/","web":"https://clieventgrid000002.z2.web.core.windows.net/","blob":"https://clieventgrid000002.blob.core.windows.net/","queue":"https://clieventgrid000002.queue.core.windows.net/","table":"https://clieventgrid000002.table.core.windows.net/","file":"https://clieventgrid000002.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}}' + string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002","name":"clieventgrid000002","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-05-16T15:05:30.2454992Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-05-16T15:05:30.2454992Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-05-16T15:05:30.1830197Z","primaryEndpoints":{"dfs":"https://clieventgrid000002.dfs.core.windows.net/","web":"https://clieventgrid000002.z2.web.core.windows.net/","blob":"https://clieventgrid000002.blob.core.windows.net/","queue":"https://clieventgrid000002.queue.core.windows.net/","table":"https://clieventgrid000002.table.core.windows.net/","file":"https://clieventgrid000002.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}}' headers: cache-control: - no-cache @@ -143,7 +143,7 @@ interactions: content-type: - application/json date: - - Thu, 19 Mar 2020 06:14:51 GMT + - Sat, 16 May 2020 15:05:55 GMT expires: - '-1' pragma: @@ -165,7 +165,7 @@ interactions: message: OK - request: body: '{"properties": {"destination": {"endpointType": "WebHook", "properties": - {"endpointUrl": "https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid?functionName=EventGridTrigger1&code="}}, + {"endpointUrl": "https://eventgridclitestapp.azurewebsites.net/api/SubscriptionValidation?code=4CTlhouPm0c3PWuTQ8t6Myh/FYegVUPqXUmdtL2byRytFPlt98L/pw=="}}, "filter": {"isSubjectCaseSensitive": false}, "retryPolicy": {"maxDeliveryAttempts": 30, "eventTimeToLiveInMinutes": 1440}}}' headers: @@ -178,32 +178,32 @@ interactions: Connection: - keep-alive Content-Length: - - '388' + - '352' Content-Type: - application/json; charset=utf-8 ParameterSetName: - --source-resource-id --name --endpoint User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002/providers/Microsoft.EventGrid/eventSubscriptions/cli000003?api-version=2020-04-01-preview response: body: - string: '{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/microsoft.storage/storageaccounts/clieventgrid000002","provisioningState":"Creating","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid"},"endpointType":"WebHook"},"filter":{"includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002/providers/Microsoft.EventGrid/eventSubscriptions/cli000003","name":"cli000003","type":"Microsoft.EventGrid/eventSubscriptions"}' + string: '{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/microsoft.storage/storageaccounts/clieventgrid000002","provisioningState":"Creating","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://eventgridclitestapp.azurewebsites.net/api/SubscriptionValidation"},"endpointType":"WebHook"},"filter":{"includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002/providers/Microsoft.EventGrid/eventSubscriptions/cli000003","name":"cli000003","type":"Microsoft.EventGrid/eventSubscriptions"}' headers: azure-asyncoperation: - - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/E7A3FC2F-8671-4A10-8337-310B99F8CE26?api-version=2020-04-01-preview + - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/576B20C6-5627-4C05-B69C-4145E12F536B?api-version=2020-04-01-preview cache-control: - no-cache content-length: - - '1034' + - '1029' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:14:53 GMT + - Sat, 16 May 2020 15:05:56 GMT expires: - '-1' pragma: @@ -234,12 +234,12 @@ interactions: - --source-resource-id --name --endpoint User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/E7A3FC2F-8671-4A10-8337-310B99F8CE26?api-version=2020-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/576B20C6-5627-4C05-B69C-4145E12F536B?api-version=2020-04-01-preview response: body: - string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/E7A3FC2F-8671-4A10-8337-310B99F8CE26?api-version=2020-04-01-preview","name":"e7a3fc2f-8671-4a10-8337-310b99f8ce26","status":"Succeeded"}' + string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/576B20C6-5627-4C05-B69C-4145E12F536B?api-version=2020-04-01-preview","name":"576b20c6-5627-4c05-b69c-4145e12f536b","status":"Succeeded"}' headers: cache-control: - no-cache @@ -248,7 +248,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:03 GMT + - Sat, 16 May 2020 15:06:07 GMT expires: - '-1' pragma: @@ -281,21 +281,21 @@ interactions: - --source-resource-id --name --endpoint User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002/providers/Microsoft.EventGrid/eventSubscriptions/cli000003?api-version=2020-04-01-preview response: body: - string: '{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/microsoft.storage/storageaccounts/clieventgrid000002","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002/providers/Microsoft.EventGrid/eventSubscriptions/cli000003","name":"cli000003","type":"Microsoft.EventGrid/eventSubscriptions"}' + string: '{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/microsoft.storage/storageaccounts/clieventgrid000002","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://eventgridclitestapp.azurewebsites.net/api/SubscriptionValidation","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002/providers/Microsoft.EventGrid/eventSubscriptions/cli000003","name":"cli000003","type":"Microsoft.EventGrid/eventSubscriptions"}' headers: cache-control: - no-cache content-length: - - '1176' + - '1171' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:03 GMT + - Sat, 16 May 2020 15:06:07 GMT expires: - '-1' pragma: @@ -328,23 +328,23 @@ interactions: - --source-resource-id --name User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002/providers/Microsoft.EventGrid/eventSubscriptions/cli000003?api-version=2020-04-01-preview response: body: - string: '{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/microsoft.storage/storageaccounts/clieventgrid000002","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002/providers/Microsoft.EventGrid/eventSubscriptions/cli000003","name":"cli000003","type":"Microsoft.EventGrid/eventSubscriptions"}' + string: '{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/microsoft.storage/storageaccounts/clieventgrid000002","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://eventgridclitestapp.azurewebsites.net/api/SubscriptionValidation","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002/providers/Microsoft.EventGrid/eventSubscriptions/cli000003","name":"cli000003","type":"Microsoft.EventGrid/eventSubscriptions"}' headers: cache-control: - no-cache content-length: - - '1176' + - '1171' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:04 GMT + - Sat, 16 May 2020 15:06:08 GMT expires: - '-1' pragma: @@ -377,23 +377,23 @@ interactions: - --include-full-endpoint-url --source-resource-id --name User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002/providers/Microsoft.EventGrid/eventSubscriptions/cli000003?api-version=2020-04-01-preview response: body: - string: '{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/microsoft.storage/storageaccounts/clieventgrid000002","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002/providers/Microsoft.EventGrid/eventSubscriptions/cli000003","name":"cli000003","type":"Microsoft.EventGrid/eventSubscriptions"}' + string: '{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/microsoft.storage/storageaccounts/clieventgrid000002","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://eventgridclitestapp.azurewebsites.net/api/SubscriptionValidation","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002/providers/Microsoft.EventGrid/eventSubscriptions/cli000003","name":"cli000003","type":"Microsoft.EventGrid/eventSubscriptions"}' headers: cache-control: - no-cache content-length: - - '1176' + - '1171' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:05 GMT + - Sat, 16 May 2020 15:06:09 GMT expires: - '-1' pragma: @@ -428,23 +428,23 @@ interactions: - --include-full-endpoint-url --source-resource-id --name User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: POST uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002/providers/Microsoft.EventGrid/eventSubscriptions/cli000003/getFullUrl?api-version=2020-04-01-preview response: body: - string: '{"endpointUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid?functionName=EventGridTrigger1&code="}' + string: '{"endpointUrl":"https://eventgridclitestapp.azurewebsites.net/api/SubscriptionValidation?code=4CTlhouPm0c3PWuTQ8t6Myh/FYegVUPqXUmdtL2byRytFPlt98L/pw=="}' headers: cache-control: - no-cache content-length: - - '188' + - '152' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:06 GMT + - Sat, 16 May 2020 15:06:10 GMT expires: - '-1' pragma: @@ -460,7 +460,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1199' status: code: 200 message: OK @@ -479,23 +479,23 @@ interactions: - --source-resource-id --name --endpoint --subject-ends-with User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002/providers/Microsoft.EventGrid/eventSubscriptions/cli000003?api-version=2020-04-01-preview response: body: - string: '{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/microsoft.storage/storageaccounts/clieventgrid000002","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002/providers/Microsoft.EventGrid/eventSubscriptions/cli000003","name":"cli000003","type":"Microsoft.EventGrid/eventSubscriptions"}' + string: '{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/microsoft.storage/storageaccounts/clieventgrid000002","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://eventgridclitestapp.azurewebsites.net/api/SubscriptionValidation","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002/providers/Microsoft.EventGrid/eventSubscriptions/cli000003","name":"cli000003","type":"Microsoft.EventGrid/eventSubscriptions"}' headers: cache-control: - no-cache content-length: - - '1176' + - '1171' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:06 GMT + - Sat, 16 May 2020 15:06:10 GMT expires: - '-1' pragma: @@ -515,7 +515,7 @@ interactions: message: OK - request: body: '{"destination": {"endpointType": "WebHook", "properties": {"endpointUrl": - "https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid?functionName=EventGridTrigger1&code=", + "https://eventgridclitestapp.azurewebsites.net/api/SubscriptionValidation?code=4CTlhouPm0c3PWuTQ8t6Myh/FYegVUPqXUmdtL2byRytFPlt98L/pw==", "maxEventsPerBatch": 1, "preferredBatchSizeInKilobytes": 64}}, "filter": {"subjectBeginsWith": "", "subjectEndsWith": ".jpg", "includedEventTypes": ["Microsoft.Storage.BlobCreated", "Microsoft.Storage.BlobDeleted"]}, "eventDeliverySchema": "EventGridSchema", @@ -530,32 +530,32 @@ interactions: Connection: - keep-alive Content-Length: - - '584' + - '548' Content-Type: - application/json; charset=utf-8 ParameterSetName: - --source-resource-id --name --endpoint --subject-ends-with User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: PATCH uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002/providers/Microsoft.EventGrid/eventSubscriptions/cli000003?api-version=2020-04-01-preview response: body: - string: '{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/microsoft.storage/storageaccounts/clieventgrid000002","provisioningState":"Updating","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":".jpg","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002/providers/Microsoft.EventGrid/eventSubscriptions/cli000003","name":"cli000003","type":"Microsoft.EventGrid/eventSubscriptions"}' + string: '{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/microsoft.storage/storageaccounts/clieventgrid000002","provisioningState":"Updating","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://eventgridclitestapp.azurewebsites.net/api/SubscriptionValidation","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":".jpg","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002/providers/Microsoft.EventGrid/eventSubscriptions/cli000003","name":"cli000003","type":"Microsoft.EventGrid/eventSubscriptions"}' headers: azure-asyncoperation: - - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/B24CAEA1-2F61-47A1-BDA2-A0AE716995F3?api-version=2020-04-01-preview + - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/EE6A0F04-4905-48AE-8C5D-0BBD99E1C3F5?api-version=2020-04-01-preview cache-control: - no-cache content-length: - - '1179' + - '1174' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:06 GMT + - Sat, 16 May 2020 15:06:12 GMT expires: - '-1' pragma: @@ -586,12 +586,12 @@ interactions: - --source-resource-id --name --endpoint --subject-ends-with User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/B24CAEA1-2F61-47A1-BDA2-A0AE716995F3?api-version=2020-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/EE6A0F04-4905-48AE-8C5D-0BBD99E1C3F5?api-version=2020-04-01-preview response: body: - string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/B24CAEA1-2F61-47A1-BDA2-A0AE716995F3?api-version=2020-04-01-preview","name":"b24caea1-2f61-47a1-bda2-a0ae716995f3","status":"Succeeded"}' + string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/EE6A0F04-4905-48AE-8C5D-0BBD99E1C3F5?api-version=2020-04-01-preview","name":"ee6a0f04-4905-48ae-8c5d-0bbd99e1c3f5","status":"Succeeded"}' headers: cache-control: - no-cache @@ -600,7 +600,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:17 GMT + - Sat, 16 May 2020 15:06:21 GMT expires: - '-1' pragma: @@ -633,21 +633,21 @@ interactions: - --source-resource-id --name --endpoint --subject-ends-with User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002/providers/Microsoft.EventGrid/eventSubscriptions/cli000003?api-version=2020-04-01-preview response: body: - string: '{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/microsoft.storage/storageaccounts/clieventgrid000002","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":".jpg","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002/providers/Microsoft.EventGrid/eventSubscriptions/cli000003","name":"cli000003","type":"Microsoft.EventGrid/eventSubscriptions"}' + string: '{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/microsoft.storage/storageaccounts/clieventgrid000002","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://eventgridclitestapp.azurewebsites.net/api/SubscriptionValidation","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":".jpg","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002/providers/Microsoft.EventGrid/eventSubscriptions/cli000003","name":"cli000003","type":"Microsoft.EventGrid/eventSubscriptions"}' headers: cache-control: - no-cache content-length: - - '1180' + - '1175' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:17 GMT + - Sat, 16 May 2020 15:06:21 GMT expires: - '-1' pragma: @@ -680,23 +680,23 @@ interactions: - --source-resource-id User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002/providers/Microsoft.EventGrid/eventSubscriptions?api-version=2020-04-01-preview&$top=100 response: body: - string: '{"value":[{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/microsoft.storage/storageaccounts/clieventgrid000002","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":".jpg","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002/providers/Microsoft.EventGrid/eventSubscriptions/cli000003","name":"cli000003","type":"Microsoft.EventGrid/eventSubscriptions"}]}' + string: '{"value":[{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/microsoft.storage/storageaccounts/clieventgrid000002","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://eventgridclitestapp.azurewebsites.net/api/SubscriptionValidation","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":".jpg","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002/providers/Microsoft.EventGrid/eventSubscriptions/cli000003","name":"cli000003","type":"Microsoft.EventGrid/eventSubscriptions"}]}' headers: cache-control: - no-cache content-length: - - '1192' + - '1187' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:17 GMT + - Sat, 16 May 2020 15:06:22 GMT expires: - '-1' pragma: @@ -729,23 +729,23 @@ interactions: - --topic-type --location User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/topicTypes/Microsoft.Storage.StorageAccounts/eventSubscriptions?api-version=2020-04-01-preview&$top=100 response: body: - string: '{"value":[{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/egstrgltncypubctruseuap","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventHub/namespaces/egrunnereventhubnamespacecentraluseuap/eventhubs/egstrgltncyrunnereventhubcentraluseuap"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.Storage/storageAccounts/egstrgltncypubctruseuap/providers/Microsoft.EventGrid/eventSubscriptions/eg-strg-ltncy-Subscription-centraluseuap","name":"eg-strg-ltncy-Subscription-centraluseuap","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/pubstgrunner6987e7bb","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventHub/namespaces/egrunnereventhubnamespacecentraluseuap/eventhubs/egstoragerunnereventhubcentraluseuap"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.Storage/storageAccounts/pubstgrunner6987e7bb/providers/Microsoft.EventGrid/eventSubscriptions/StorageSubscription0e5b9108","name":"StorageSubscription0e5b9108","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/egstgltncpblctsctruseuap","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventHub/namespaces/egrunnereventhubnamespacecentraluseuap/eventhubs/egstrgltncyrunnereventhublocaltestcentraluseuap"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.Storage/storageAccounts/egstgltncpblctsctruseuap/providers/Microsoft.EventGrid/eventSubscriptions/eg-strg-ltncy-Sub-localtest-centraluseuap","name":"eg-strg-ltncy-Sub-localtest-centraluseuap","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/pubstgrunner60519dde","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventHub/namespaces/egrunnereventhubnamespacecentraluseuap/eventhubs/egstoragerunnereventhubcentraluseuap"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.Storage/storageAccounts/pubstgrunner60519dde/providers/Microsoft.EventGrid/eventSubscriptions/StorageSubscription49c4d9fb","name":"StorageSubscription49c4d9fb","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/pubstgrunner5fd608f9","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventHub/namespaces/egrunnereventhubnamespacecentraluseuap/eventhubs/egstoragerunnereventhubcentraluseuap"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.Storage/storageAccounts/pubstgrunner5fd608f9/providers/Microsoft.EventGrid/eventSubscriptions/StorageSubscriptione5aac914","name":"StorageSubscriptione5aac914","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/pubstgrunner2079eae9","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventHub/namespaces/egrunnereventhubnamespacecentraluseuap/eventhubs/egstoragerunnereventhubcentraluseuap"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.Storage/storageAccounts/pubstgrunner2079eae9/providers/Microsoft.EventGrid/eventSubscriptions/StorageSubscription9593e3c0","name":"StorageSubscription9593e3c0","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/pubstgrunner6c93c1a3","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventHub/namespaces/egrunnereventhubnamespacecentraluseuap/eventhubs/egstoragerunnereventhubcentraluseuap"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.Storage/storageAccounts/pubstgrunner6c93c1a3/providers/Microsoft.EventGrid/eventSubscriptions/StorageSubscription1f316c0f","name":"StorageSubscription1f316c0f","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/pubstgrunnerea146210","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventHub/namespaces/egrunnereventhubnamespacecentraluseuap/eventhubs/egstoragerunnereventhubcentraluseuap"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.Storage/storageAccounts/pubstgrunnerea146210/providers/Microsoft.EventGrid/eventSubscriptions/StorageSubscription217a2243","name":"StorageSubscription217a2243","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/pubstgrunner40d9276e","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventHub/namespaces/egrunnereventhubnamespacecentraluseuap/eventhubs/egstoragerunnereventhubcentraluseuap"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.Storage/storageAccounts/pubstgrunner40d9276e/providers/Microsoft.EventGrid/eventSubscriptions/StorageSubscriptionfa21da9c","name":"StorageSubscriptionfa21da9c","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/pubstgrunnerf055a949","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventHub/namespaces/egrunnereventhubnamespacecentraluseuap/eventhubs/egstoragerunnereventhubcentraluseuap"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.Storage/storageAccounts/pubstgrunnerf055a949/providers/Microsoft.EventGrid/eventSubscriptions/StorageSubscription48052b63","name":"StorageSubscription48052b63","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/pubstgrunner8f140576","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventHub/namespaces/egrunnereventhubnamespacecentraluseuap/eventhubs/egstoragerunnereventhubcentraluseuap"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.Storage/storageAccounts/pubstgrunner8f140576/providers/Microsoft.EventGrid/eventSubscriptions/StorageSubscriptionede3781f","name":"StorageSubscriptionede3781f","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/pubstgrunner55fbeadb","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventHub/namespaces/egrunnereventhubnamespacecentraluseuap/eventhubs/egstoragerunnereventhubcentraluseuap"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.Storage/storageAccounts/pubstgrunner55fbeadb/providers/Microsoft.EventGrid/eventSubscriptions/StorageSubscription98bddbdb","name":"StorageSubscription98bddbdb","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/pubstgrunnerfca34fd4","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventHub/namespaces/egrunnereventhubnamespacecentraluseuap/eventhubs/egstoragerunnereventhubcentraluseuap"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.Storage/storageAccounts/pubstgrunnerfca34fd4/providers/Microsoft.EventGrid/eventSubscriptions/StorageSubscription558f16e1","name":"StorageSubscription558f16e1","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/pubstgrunner5d335ceb","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventHub/namespaces/egrunnereventhubnamespacecentraluseuap/eventhubs/egstoragerunnereventhubcentraluseuap"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.Storage/storageAccounts/pubstgrunner5d335ceb/providers/Microsoft.EventGrid/eventSubscriptions/StorageSubscription2991458a","name":"StorageSubscription2991458a","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/pubstgrunner2ee3ed76","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventHub/namespaces/egrunnereventhubnamespacecentraluseuap/eventhubs/egstoragerunnereventhubcentraluseuap"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.Storage/storageAccounts/pubstgrunner2ee3ed76/providers/Microsoft.EventGrid/eventSubscriptions/StorageSubscription8a8c6a2d","name":"StorageSubscription8a8c6a2d","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/pubstgrunner6757fb87","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventHub/namespaces/egrunnereventhubnamespacecentraluseuap/eventhubs/egstoragerunnereventhubcentraluseuap"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.Storage/storageAccounts/pubstgrunner6757fb87/providers/Microsoft.EventGrid/eventSubscriptions/StorageSubscriptionc7fb317d","name":"StorageSubscriptionc7fb317d","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testtobedeleted/providers/Microsoft.Storage/storageAccounts/testtrackedsourcev2","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testtobedeleted/providers/Microsoft.Storage/storageAccounts/testtrackedsource","queueName":"que"},"endpointType":"StorageQueue"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":[],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testtobedeleted/providers/Microsoft.Storage/storageAccounts/testtrackedsourcev2/providers/Microsoft.EventGrid/eventSubscriptions/sub3","name":"sub3","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgxbxwtotrjvmiy5kwbj66rio5s3j7vz75q5hupj64zwyrzcx3f2x5aecrx2dvs/providers/microsoft.storage/storageaccounts/clieventgridutxvmd76rqjm","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgxbxwtotrjvmiy5kwbj66rio5s3j7vz75q5hupj64zwyrzcx3f2x5aecrx2dvs/providers/Microsoft.Storage/storageAccounts/clieventgridutxvmd76rqjm/providers/Microsoft.EventGrid/eventSubscriptions/clij5ujmfgfnqaux4czoe5lqb4tvvfdc3rvfyv6e","name":"clij5ujmfgfnqaux4czoe5lqb4tvvfdc3rvfyv6e","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgci7xn5udbpfcbnww6jes7b2ueppkivzxnhbrzgmqpipnxr4mzt7ngmrhnucpj/providers/microsoft.storage/storageaccounts/clieventgridiz4r2rdbq6qx","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgci7xn5udbpfcbnww6jes7b2ueppkivzxnhbrzgmqpipnxr4mzt7ngmrhnucpj/providers/Microsoft.Storage/storageAccounts/clieventgridiz4r2rdbq6qx/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg4qynmh3piphjjhmrmmdakjr4hylcqpownbdnjkn63em22i422oa7xvliozxpt/providers/microsoft.storage/storageaccounts/clieventgridsh5ardr4afvp","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg4qynmh3piphjjhmrmmdakjr4hylcqpownbdnjkn63em22i422oa7xvliozxpt/providers/Microsoft.Storage/storageAccounts/clieventgridsh5ardr4afvp/providers/Microsoft.EventGrid/eventSubscriptions/clijm7ylcni2bfgqfvxnduocxadc3vmylmjflgr5","name":"clijm7ylcni2bfgqfvxnduocxadc3vmylmjflgr5","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgrksoyrxjfhqsjo2cgelpokls6dwrfnjxjoio3qzk77lno35cn6xsprtm6zb5p/providers/microsoft.storage/storageaccounts/clieventgridcp5vshafjhwc","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgrksoyrxjfhqsjo2cgelpokls6dwrfnjxjoio3qzk77lno35cn6xsprtm6zb5p/providers/Microsoft.Storage/storageAccounts/clieventgridcp5vshafjhwc/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrghjrtf7awvgjn5byykr55y4mhkfsy2x7y47byjqa2blou3yap5udk7olik7ptt/providers/microsoft.storage/storageaccounts/clieventgrid3hfhd5rjedne","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrghjrtf7awvgjn5byykr55y4mhkfsy2x7y47byjqa2blou3yap5udk7olik7ptt/providers/Microsoft.Storage/storageAccounts/clieventgrid3hfhd5rjedne/providers/Microsoft.EventGrid/eventSubscriptions/climpldmcmpk5ywsqfaxw3ulxlzmix5wnrr6pk5l","name":"climpldmcmpk5ywsqfaxw3ulxlzmix5wnrr6pk5l","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgh7geoqv5zv4ecpogjwu5cvwizemte6ssnegss7moflbgtbsmm5ebwxeqfnw6f/providers/microsoft.storage/storageaccounts/clieventgride3edgv26omxm","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgh7geoqv5zv4ecpogjwu5cvwizemte6ssnegss7moflbgtbsmm5ebwxeqfnw6f/providers/Microsoft.Storage/storageAccounts/clieventgride3edgv26omxm/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgdosmy66houvuavhznh6dks2jk4fqdvj4zwlyvvgctdbuupk6fixaesbmsho36/providers/microsoft.storage/storageaccounts/clieventgridvsefp3aiv2mz","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgdosmy66houvuavhznh6dks2jk4fqdvj4zwlyvvgctdbuupk6fixaesbmsho36/providers/Microsoft.Storage/storageAccounts/clieventgridvsefp3aiv2mz/providers/Microsoft.EventGrid/eventSubscriptions/cli5ovrsbamkeddt5vpvn4vrj6a7qs4ifemkbg2f","name":"cli5ovrsbamkeddt5vpvn4vrj6a7qs4ifemkbg2f","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrga4wkggwfk6xlk56hlcozl4r4wt2lxaicmceksdfjc5aqabdhutv7rgb54vpyl/providers/microsoft.storage/storageaccounts/clieventgridriv54daw3xun","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrga4wkggwfk6xlk56hlcozl4r4wt2lxaicmceksdfjc5aqabdhutv7rgb54vpyl/providers/Microsoft.Storage/storageAccounts/clieventgridriv54daw3xun/providers/Microsoft.EventGrid/eventSubscriptions/clipohbfr7npbhld32fexehitkzxr3o6u3o52uvm","name":"clipohbfr7npbhld32fexehitkzxr3o6u3o52uvm","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgkkwaej37doqxxczg6aneg4o5jv633ymh7udju7ix23traynxikxhcpdfdsg6u/providers/microsoft.storage/storageaccounts/clieventgridclx4ne6zvc4d","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgkkwaej37doqxxczg6aneg4o5jv633ymh7udju7ix23traynxikxhcpdfdsg6u/providers/Microsoft.Storage/storageAccounts/clieventgridclx4ne6zvc4d/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgjohirijyzw4fhcpwjabsbsjax2x4xj4sl6mupfzw5k7jkom4ikwam5fhgrg3d/providers/microsoft.storage/storageaccounts/clieventgriddlwondxsislc","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgjohirijyzw4fhcpwjabsbsjax2x4xj4sl6mupfzw5k7jkom4ikwam5fhgrg3d/providers/Microsoft.Storage/storageAccounts/clieventgriddlwondxsislc/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrghe5nd65je6i64sq5b5kqriepqyler5skbntvvnn4wqgpc4ldizpzl5hrla5gg/providers/microsoft.storage/storageaccounts/clieventgridhygvtjpxyjuy","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrghe5nd65je6i64sq5b5kqriepqyler5skbntvvnn4wqgpc4ldizpzl5hrla5gg/providers/Microsoft.Storage/storageAccounts/clieventgridhygvtjpxyjuy/providers/Microsoft.EventGrid/eventSubscriptions/cliqhj4sy2rorlev4hq3vvzixgprrk5oi7mp62cl","name":"cliqhj4sy2rorlev4hq3vvzixgprrk5oi7mp62cl","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg5y4sgiacttpujsfwgwauha6kl3h2x26amkc4ekd5pbfspswqrvyzelxj3nkrm/providers/microsoft.storage/storageaccounts/clieventgridnn44um6ii2cu","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg5y4sgiacttpujsfwgwauha6kl3h2x26amkc4ekd5pbfspswqrvyzelxj3nkrm/providers/Microsoft.Storage/storageAccounts/clieventgridnn44um6ii2cu/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrggabo5li5o3f7vfywl6zda3dazw24772h5ulltuq67m6hu6riay4jwk64zbsru/providers/microsoft.storage/storageaccounts/clieventgridu2roes3ms2rx","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrggabo5li5o3f7vfywl6zda3dazw24772h5ulltuq67m6hu6riay4jwk64zbsru/providers/Microsoft.Storage/storageAccounts/clieventgridu2roes3ms2rx/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgghh57kezaloucmrs577bqm4g5ndx3bn6ab4gms43oa62xmxmyfgq77o27ut2c/providers/microsoft.storage/storageaccounts/clieventgridxjtcweuutkoo","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgghh57kezaloucmrs577bqm4g5ndx3bn6ab4gms43oa62xmxmyfgq77o27ut2c/providers/Microsoft.Storage/storageAccounts/clieventgridxjtcweuutkoo/providers/Microsoft.EventGrid/eventSubscriptions/cli5v7w5m3cvxazzfc3erruoed3kwfs6puzj2rw5","name":"cli5v7w5m3cvxazzfc3erruoed3kwfs6puzj2rw5","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg3aqdrcjz6bngi352mh5lkq2utrtxtyftpwafbtgxw2bytilgp3ek4nmxmkhjo/providers/microsoft.storage/storageaccounts/clieventgridjptbv475kqsi","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg3aqdrcjz6bngi352mh5lkq2utrtxtyftpwafbtgxw2bytilgp3ek4nmxmkhjo/providers/Microsoft.Storage/storageAccounts/clieventgridjptbv475kqsi/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg6u6mcttaxgc57tpkh4u5d26frk7vfibeabybslle5glvhk3s3vjlcmoa2nzp5/providers/microsoft.storage/storageaccounts/clieventgridtmqnp6kr5z2v","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg6u6mcttaxgc57tpkh4u5d26frk7vfibeabybslle5glvhk3s3vjlcmoa2nzp5/providers/Microsoft.Storage/storageAccounts/clieventgridtmqnp6kr5z2v/providers/Microsoft.EventGrid/eventSubscriptions/clivgvkqihixbvsflyqnskpimn6rvm63gjuvl44a","name":"clivgvkqihixbvsflyqnskpimn6rvm63gjuvl44a","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgnqw6ytouztleb2ymb7yi7loqr4ffmjddmyda5znnzstl76cxzh77pe6jw5c5w/providers/microsoft.storage/storageaccounts/clieventgrid5mxceddwttzz","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgnqw6ytouztleb2ymb7yi7loqr4ffmjddmyda5znnzstl76cxzh77pe6jw5c5w/providers/Microsoft.Storage/storageAccounts/clieventgrid5mxceddwttzz/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgwvuc4b7dg5eq7hivqkb5k2nocg3beu2xyjqscij3rdap4ycjwkl3ipq6jk44v/providers/microsoft.storage/storageaccounts/clieventgridvwbxgywcvjpo","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgwvuc4b7dg5eq7hivqkb5k2nocg3beu2xyjqscij3rdap4ycjwkl3ipq6jk44v/providers/Microsoft.Storage/storageAccounts/clieventgridvwbxgywcvjpo/providers/Microsoft.EventGrid/eventSubscriptions/cli2modbnllr76ocnzkukwq63nbx7rlkyeskyn42","name":"cli2modbnllr76ocnzkukwq63nbx7rlkyeskyn42","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgrt77xxbqbb3arhsbqohxmc52g3fwvx745z7tvjjllipvzs5y4k5ulm7q3h7ep/providers/microsoft.storage/storageaccounts/clieventgridnhqsh57shjix","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgrt77xxbqbb3arhsbqohxmc52g3fwvx745z7tvjjllipvzs5y4k5ulm7q3h7ep/providers/Microsoft.Storage/storageAccounts/clieventgridnhqsh57shjix/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgrkfkku6myhft6jjiasdu4w5q2dox5kbjaq6icmpo6wm3dgwmkckm472vvufx6/providers/microsoft.storage/storageaccounts/clieventgridgqhmyutqhafx","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgrkfkku6myhft6jjiasdu4w5q2dox5kbjaq6icmpo6wm3dgwmkckm472vvufx6/providers/Microsoft.Storage/storageAccounts/clieventgridgqhmyutqhafx/providers/Microsoft.EventGrid/eventSubscriptions/clixqdoqovd3kvsimg66xyumbqbqxszpw6mlrrui","name":"clixqdoqovd3kvsimg66xyumbqbqxszpw6mlrrui","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgpo65rqu6gqtksrzws5aiyclxdsv6x5lt5zpipmujipzcgjk4mky7u6o7rtztu/providers/microsoft.storage/storageaccounts/clieventgridnd7rte2se3ig","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgpo65rqu6gqtksrzws5aiyclxdsv6x5lt5zpipmujipzcgjk4mky7u6o7rtztu/providers/Microsoft.Storage/storageAccounts/clieventgridnd7rte2se3ig/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgmfluu6uleu6o4nl26nzmpnvpb75mv5xy27ddr4hlop7fqcy5peymdxxnptgmm/providers/microsoft.storage/storageaccounts/clieventgrid4jeaqkddwhzp","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgmfluu6uleu6o4nl26nzmpnvpb75mv5xy27ddr4hlop7fqcy5peymdxxnptgmm/providers/Microsoft.Storage/storageAccounts/clieventgrid4jeaqkddwhzp/providers/Microsoft.EventGrid/eventSubscriptions/clikcpkv4rzlrqcekae4zigzmidb6uv6cwiuwerv","name":"clikcpkv4rzlrqcekae4zigzmidb6uv6cwiuwerv","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgiqqh6l2q3mjryu2ca6jt7bw7cphn667aryjdrqtxocoaq4vgvn455pineprl6/providers/microsoft.storage/storageaccounts/clieventgridnnphf5w7pfbt","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgiqqh6l2q3mjryu2ca6jt7bw7cphn667aryjdrqtxocoaq4vgvn455pineprl6/providers/Microsoft.Storage/storageAccounts/clieventgridnnphf5w7pfbt/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgudqeltf6xbdcepungjy6hk755tchqpig7zaiuxb6vvruhrwlkd4pinll3jjqg/providers/microsoft.storage/storageaccounts/clieventgridau6enmtwlg2i","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgudqeltf6xbdcepungjy6hk755tchqpig7zaiuxb6vvruhrwlkd4pinll3jjqg/providers/Microsoft.Storage/storageAccounts/clieventgridau6enmtwlg2i/providers/Microsoft.EventGrid/eventSubscriptions/clienva75ayppg6wqar4cawzuudlxxiqtb5aojf7","name":"clienva75ayppg6wqar4cawzuudlxxiqtb5aojf7","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgyuysehzpx7wjdlvgwh2v2vc5bl6jcitr4wctknwxzizwr5wmnayxmxhav35k6/providers/microsoft.storage/storageaccounts/clieventgrid23obbd525kol","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgyuysehzpx7wjdlvgwh2v2vc5bl6jcitr4wctknwxzizwr5wmnayxmxhav35k6/providers/Microsoft.Storage/storageAccounts/clieventgrid23obbd525kol/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgiq3cyl35r4f5pbvezxlhkxbu35bei7xew3gp4u4pdi2xhad6lj6wht6kaosog/providers/microsoft.storage/storageaccounts/clieventgridlqo5iqdcytyd","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgiq3cyl35r4f5pbvezxlhkxbu35bei7xew3gp4u4pdi2xhad6lj6wht6kaosog/providers/Microsoft.Storage/storageAccounts/clieventgridlqo5iqdcytyd/providers/Microsoft.EventGrid/eventSubscriptions/clipq2fx45kuh7prqj5tmki3cugntooygyine5ms","name":"clipq2fx45kuh7prqj5tmki3cugntooygyine5ms","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgv45lvwhmjey7lyuqlvevmio3o7umbqbmqlfvyv4eylmtya3urkfckqnqshac7/providers/microsoft.storage/storageaccounts/clieventgridkbbjvrmdahph","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgv45lvwhmjey7lyuqlvevmio3o7umbqbmqlfvyv4eylmtya3urkfckqnqshac7/providers/Microsoft.Storage/storageAccounts/clieventgridkbbjvrmdahph/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgisfsgcus4fphwhz5mu4bhirtbmxgek6add4cd5womcffzibexwywv4u5trp7a/providers/microsoft.storage/storageaccounts/clieventgridnwxqpjlqv2iu","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgisfsgcus4fphwhz5mu4bhirtbmxgek6add4cd5womcffzibexwywv4u5trp7a/providers/Microsoft.Storage/storageAccounts/clieventgridnwxqpjlqv2iu/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgxlde2rfperlklq6kbnuk5qx5xjujq2cgsc2br4oz6yspr2wvxs7iyaps57p53/providers/microsoft.storage/storageaccounts/clieventgridztrx3xy3rqlq","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgxlde2rfperlklq6kbnuk5qx5xjujq2cgsc2br4oz6yspr2wvxs7iyaps57p53/providers/Microsoft.Storage/storageAccounts/clieventgridztrx3xy3rqlq/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgugms3qgx2me7cejznlj5jsvkpmndlptbrlrzenuyv364qvxb2xcak57x35efk/providers/microsoft.storage/storageaccounts/clieventgrid4cvxoyh52bk6","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgugms3qgx2me7cejznlj5jsvkpmndlptbrlrzenuyv364qvxb2xcak57x35efk/providers/Microsoft.Storage/storageAccounts/clieventgrid4cvxoyh52bk6/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgafr7prcn7cakjuyj2jtdywlibjhbmtiv2xz4475s2dpo2d244wasvzkjfh3vk/providers/microsoft.storage/storageaccounts/clieventgrid2ah7f4zpemdy","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgafr7prcn7cakjuyj2jtdywlibjhbmtiv2xz4475s2dpo2d244wasvzkjfh3vk/providers/Microsoft.Storage/storageAccounts/clieventgrid2ah7f4zpemdy/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgniagzyjjnjzes67bnxega7zqmtni56ronflqz2qlufnu52npvtkx3mmni7zqy/providers/microsoft.storage/storageaccounts/clieventgrid5lkc5jsbfz66","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgniagzyjjnjzes67bnxega7zqmtni56ronflqz2qlufnu52npvtkx3mmni7zqy/providers/Microsoft.Storage/storageAccounts/clieventgrid5lkc5jsbfz66/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription3","name":"CliTestEventsubscription3","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrga7eyqyreiote5hx4i7eixwwdm6qjlmxvrw4sv6vwdlh2jkqtle63ouawctugd/providers/microsoft.storage/storageaccounts/clieventgridomhape7vay2k","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrga7eyqyreiote5hx4i7eixwwdm6qjlmxvrw4sv6vwdlh2jkqtle63ouawctugd/providers/Microsoft.Storage/storageAccounts/clieventgridomhape7vay2k/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription3","name":"CliTestEventsubscription3","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgcypreb5zksvb5yni2haqfugg34yeuwm5tcgo435yv5rtu5avour6kssunzcww/providers/microsoft.storage/storageaccounts/clieventgrid6vpdq5yjbjve","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgcypreb5zksvb5yni2haqfugg34yeuwm5tcgo435yv5rtu5avour6kssunzcww/providers/Microsoft.Storage/storageAccounts/clieventgrid6vpdq5yjbjve/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgb4chitnxjpvph4grqzdkuwr3ht3uozxjyqyvxd7wgtzjf3k552shmjpjthnwe/providers/microsoft.storage/storageaccounts/clieventgridtfppgxfw27mm","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgb4chitnxjpvph4grqzdkuwr3ht3uozxjyqyvxd7wgtzjf3k552shmjpjthnwe/providers/Microsoft.Storage/storageAccounts/clieventgridtfppgxfw27mm/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgn7nmdzbf6ethp5j5rssibdxicbc4c4gwzviz6iasxph6ehqjjntipa6z7txc7/providers/microsoft.storage/storageaccounts/clieventgridvn673uyfofiq","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgn7nmdzbf6ethp5j5rssibdxicbc4c4gwzviz6iasxph6ehqjjntipa6z7txc7/providers/Microsoft.Storage/storageAccounts/clieventgridvn673uyfofiq/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgfwhbf363seg3exvqfoukztuzwrdt7t3xyewglozywxg2vep7t5ewewvuvubsr/providers/microsoft.storage/storageaccounts/clieventgrid2tekrhjygtsf","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgfwhbf363seg3exvqfoukztuzwrdt7t3xyewglozywxg2vep7t5ewewvuvubsr/providers/Microsoft.Storage/storageAccounts/clieventgrid2tekrhjygtsf/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgtaxjqrgoqliwhgmrh2pqiqhmf6555up5sk7heykhhrux6lzodfxmx6zpygmca/providers/microsoft.storage/storageaccounts/clieventgriddoeqqqxjttd5","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgtaxjqrgoqliwhgmrh2pqiqhmf6555up5sk7heykhhrux6lzodfxmx6zpygmca/providers/Microsoft.Storage/storageAccounts/clieventgriddoeqqqxjttd5/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription2","name":"CliTestEventGridEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgm6ix6shqn4h2xdv5lbf5hq2fumymktzfppus54saoe4pjm4oukdi4llo5552p/providers/microsoft.storage/storageaccounts/clieventgridztmcroyp3n5x","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgm6ix6shqn4h2xdv5lbf5hq2fumymktzfppus54saoe4pjm4oukdi4llo5552p/providers/Microsoft.Storage/storageAccounts/clieventgridztmcroyp3n5x/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription2","name":"CliTestEventGridEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgxzb5julgtc4lcpdzueo2mcsbfyvdt3nn3hsalsiizsgeoisnkuflpkwomeigp/providers/microsoft.storage/storageaccounts/clieventgridbxvhcbk5ex7o","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgxzb5julgtc4lcpdzueo2mcsbfyvdt3nn3hsalsiizsgeoisnkuflpkwomeigp/providers/Microsoft.Storage/storageAccounts/clieventgridbxvhcbk5ex7o/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription2","name":"CliTestEventGridEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg7euqghqtpev2bz4w4x4ztiw2hwtgirnr56qxphuda625xacsljoibin6mugh2/providers/microsoft.storage/storageaccounts/clieventgridqmsk6x5hw5mh","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg7euqghqtpev2bz4w4x4ztiw2hwtgirnr56qxphuda625xacsljoibin6mugh2/providers/Microsoft.Storage/storageAccounts/clieventgridqmsk6x5hw5mh/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription2","name":"CliTestEventGridEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgp2zkwbddiqlk4bpo4yu5vuoapymkod45ahl4u4dbti6hbnflslwjxca35w6dn/providers/microsoft.storage/storageaccounts/clieventgrids2ll6rpr5bz7","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgp2zkwbddiqlk4bpo4yu5vuoapymkod45ahl4u4dbti6hbnflslwjxca35w6dn/providers/Microsoft.Storage/storageAccounts/clieventgrids2ll6rpr5bz7/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription2","name":"CliTestEventGridEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgeie5ak7g254uucmrgvwk6a2f3zixyjv4ksf6sax2jiaupsv3xo5svi5zccuam/providers/microsoft.storage/storageaccounts/clieventgrid2uw4vppccqy6","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgeie5ak7g254uucmrgvwk6a2f3zixyjv4ksf6sax2jiaupsv3xo5svi5zccuam/providers/Microsoft.Storage/storageAccounts/clieventgrid2uw4vppccqy6/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription2","name":"CliTestEventGridEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgivgza73kdfwnejf7l5t32inhy4vtfipvcha6uqhfv7galj2ljpkw3dfps7sl4/providers/microsoft.storage/storageaccounts/clieventgridkda43unnb3kj","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/api/DevExpFunc","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgivgza73kdfwnejf7l5t32inhy4vtfipvcha6uqhfv7galj2ljpkw3dfps7sl4/providers/Microsoft.Storage/storageAccounts/clieventgridkda43unnb3kj/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription4","name":"CliTestEventGridEventsubscription4","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrghuyktkziilpuzlmmiujuu3raizkqvu3qfcrqexmsxk2hwkgwp3keaid7ye5ls/providers/microsoft.storage/storageaccounts/clieventgridpsdnniq47mhl","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/api/DevExpFunc","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrghuyktkziilpuzlmmiujuu3raizkqvu3qfcrqexmsxk2hwkgwp3keaid7ye5ls/providers/Microsoft.Storage/storageAccounts/clieventgridpsdnniq47mhl/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription4","name":"CliTestEventGridEventsubscription4","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg3mxyowbjic7u6wgsgr3uvwiwqvls4jwzvlojknktu7gl7y3czo5avzz65dngo/providers/microsoft.storage/storageaccounts/clieventgridnoxbg62wvgr3","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.ServiceBus/namespaces/devexpservicebus/topics/devexptopic1"},"endpointType":"ServiceBusTopic"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"CloudEventSchemaV1_0","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg3mxyowbjic7u6wgsgr3uvwiwqvls4jwzvlojknktu7gl7y3czo5avzz65dngo/providers/Microsoft.Storage/storageAccounts/clieventgridnoxbg62wvgr3/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription1","name":"CliTestEventGridEventsubscription1","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg7iqvmc3btr2drbccfffe22ytzlhq4mgkblsyco6m7mytibxide5y44c3ipz5m/providers/microsoft.storage/storageaccounts/clieventgridg4u3iu6dg4my","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/api/DevExpFunc","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128,"azureActiveDirectoryTenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","azureActiveDirectoryApplicationIdOrUri":"03d47d4a-7c50-43e0-ba90-89d090cc4582"},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg7iqvmc3btr2drbccfffe22ytzlhq4mgkblsyco6m7mytibxide5y44c3ipz5m/providers/Microsoft.Storage/storageAccounts/clieventgridg4u3iu6dg4my/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription3","name":"CliTestEventGridEventsubscription3","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg4qupxfilzzc2zbqcc2unmiijehi6afghvttaugkz37hlt525kkc3c3odqfkka/providers/microsoft.storage/storageaccounts/clieventgridmncnb443mcus","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/api/DevExpFunc","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128,"azureActiveDirectoryTenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","azureActiveDirectoryApplicationIdOrUri":"03d47d4a-7c50-43e0-ba90-89d090cc4582"},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg4qupxfilzzc2zbqcc2unmiijehi6afghvttaugkz37hlt525kkc3c3odqfkka/providers/Microsoft.Storage/storageAccounts/clieventgridmncnb443mcus/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription3","name":"CliTestEventGridEventsubscription3","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgsq4ybeidt2rvzvick3smgq2lxsv2dk3b7j2wyle3li5lc4hxdtrixame6pwtp/providers/microsoft.storage/storageaccounts/clieventgrid6pfiijxxenrs","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/api/DevExpFunc","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128,"azureActiveDirectoryTenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","azureActiveDirectoryApplicationIdOrUri":"03d47d4a-7c50-43e0-ba90-89d090cc4582"},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgsq4ybeidt2rvzvick3smgq2lxsv2dk3b7j2wyle3li5lc4hxdtrixame6pwtp/providers/Microsoft.Storage/storageAccounts/clieventgrid6pfiijxxenrs/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription3","name":"CliTestEventGridEventsubscription3","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgr7whbnx2zv7n6ksazc6yeymkm6hskjm3775zacs3kmeqkb3gc76jzgtqbs2c7/providers/microsoft.storage/storageaccounts/clieventgridemhlcao6nang","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/api/DevExpFunc","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128,"azureActiveDirectoryTenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","azureActiveDirectoryApplicationIdOrUri":"03d47d4a-7c50-43e0-ba90-89d090cc4582"},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgr7whbnx2zv7n6ksazc6yeymkm6hskjm3775zacs3kmeqkb3gc76jzgtqbs2c7/providers/Microsoft.Storage/storageAccounts/clieventgridemhlcao6nang/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription3","name":"CliTestEventGridEventsubscription3","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgxl5k5dx2g7z57k2dpocqddp7to3vooa3pkad4wkv3rjexdpfjprtffgoudnv2/providers/microsoft.storage/storageaccounts/clieventgridpec3b3mly2k2","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/api/DevExpFunc","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128,"azureActiveDirectoryTenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","azureActiveDirectoryApplicationIdOrUri":"03d47d4a-7c50-43e0-ba90-89d090cc4582"},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgxl5k5dx2g7z57k2dpocqddp7to3vooa3pkad4wkv3rjexdpfjprtffgoudnv2/providers/Microsoft.Storage/storageAccounts/clieventgridpec3b3mly2k2/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription3","name":"CliTestEventGridEventsubscription3","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgwrfuttqh57esx2sdefe4t3nf3axlfuwvr3yvhszvxedwqrf4ktibwi7myo5wi/providers/microsoft.storage/storageaccounts/clieventgridsinnbv7fzzk6","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/api/DevExpFunc","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"SomeRandomText112341","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgwrfuttqh57esx2sdefe4t3nf3axlfuwvr3yvhszvxedwqrf4ktibwi7myo5wi/providers/Microsoft.Storage/storageAccounts/clieventgridsinnbv7fzzk6/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription4","name":"CliTestEventGridEventsubscription4","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testtobedeleted/providers/microsoft.storage/storageaccounts/trackedsource2stg","provisioningState":"Creating","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/TESTTOBEDELETED/providers/MICROSOFT.STORAGE/STORAGEACCOUNTS/TRACKEDSOURCE2STG/providers/Microsoft.EventGrid/eventSubscriptions/cliuv3fugen2hxxugz5tl67tvpy5xpqbndngekjg","name":"cliuv3fugen2hxxugz5tl67tvpy5xpqbndngekjg","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgv4czvwstoyqf2ublny73hkiyfogddels6ik6s3mbzu7on5lb7gykwf6pgxuej6kc6/providers/microsoft.storage/storageaccounts/clieventgridul25mthqlqnd","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Storage/storageAccounts/devexpstg","queueName":"stogqueuedestination"},"endpointType":"StorageQueue"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"SomeRandomText2","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"CloudEventSchemaV1_0","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440},"deadLetterDestination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Storage/storageAccounts/devexpstg","blobContainerName":"dlq"},"endpointType":"StorageBlob"}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgv4czvwstoyqf2ublny73hkiyfogddels6ik6s3mbzu7on5lb7gykwf6pgxuej6kc6/providers/Microsoft.Storage/storageAccounts/clieventgridul25mthqlqnd/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription1","name":"CliTestEventsubscription1","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/microsoft.storage/storageaccounts/clieventgrid000002","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":".jpg","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002/providers/Microsoft.EventGrid/eventSubscriptions/cli000003","name":"cli000003","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgk7fznpoepz6273lt4dxw3xway6hrjepseryh4jdo7rdp4q3ptlhomrzxocgo5/providers/microsoft.storage/storageaccounts/clieventgridwxcjwebwkssm","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.ServiceBus/namespaces/devexpservicebus/topics/devexptopic1"},"endpointType":"ServiceBusTopic"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"CloudEventSchemaV1_0","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgk7fznpoepz6273lt4dxw3xway6hrjepseryh4jdo7rdp4q3ptlhomrzxocgo5/providers/Microsoft.Storage/storageAccounts/clieventgridwxcjwebwkssm/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription1","name":"CliTestEventGridEventsubscription1","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgv4czvwstoyqf2ublny73hkiyfogddels6ik6s3mbzu7on5lb7gykwf6pgxuej6kc6/providers/microsoft.storage/storageaccounts/clieventgridul25mthqlqnd","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Relay/namespaces/DevExpRelayNamespace/hybridConnections/hydbridconnectiondestination"},"endpointType":"HybridConnection"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"SomeRandomText2","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":20,"eventTimeToLiveInMinutes":1000},"deadLetterDestination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Storage/storageAccounts/devexpstg","blobContainerName":"dlq"},"endpointType":"StorageBlob"}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgv4czvwstoyqf2ublny73hkiyfogddels6ik6s3mbzu7on5lb7gykwf6pgxuej6kc6/providers/Microsoft.Storage/storageAccounts/clieventgridul25mthqlqnd/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgk7fznpoepz6273lt4dxw3xway6hrjepseryh4jdo7rdp4q3ptlhomrzxocgo5/providers/microsoft.storage/storageaccounts/clieventgridwxcjwebwkssm","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgk7fznpoepz6273lt4dxw3xway6hrjepseryh4jdo7rdp4q3ptlhomrzxocgo5/providers/Microsoft.Storage/storageAccounts/clieventgridwxcjwebwkssm/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription2","name":"CliTestEventGridEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgv4czvwstoyqf2ublny73hkiyfogddels6ik6s3mbzu7on5lb7gykwf6pgxuej6kc6/providers/microsoft.storage/storageaccounts/clieventgridul25mthqlqnd","provisioningState":"Creating","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.ServiceBus/namespaces/devexpservicebus/queues/devexpdestination"},"endpointType":"ServiceBusQueue"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"SomeRandomText2","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":10,"eventTimeToLiveInMinutes":1200},"deadLetterDestination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Storage/storageAccounts/devexpstg","blobContainerName":"dlq"},"endpointType":"StorageBlob"}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgv4czvwstoyqf2ublny73hkiyfogddels6ik6s3mbzu7on5lb7gykwf6pgxuej6kc6/providers/Microsoft.Storage/storageAccounts/clieventgridul25mthqlqnd/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription3","name":"CliTestEventsubscription3","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgk7fznpoepz6273lt4dxw3xway6hrjepseryh4jdo7rdp4q3ptlhomrzxocgo5/providers/microsoft.storage/storageaccounts/clieventgridwxcjwebwkssm","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/api/DevExpFunc","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgk7fznpoepz6273lt4dxw3xway6hrjepseryh4jdo7rdp4q3ptlhomrzxocgo5/providers/Microsoft.Storage/storageAccounts/clieventgridwxcjwebwkssm/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription4","name":"CliTestEventGridEventsubscription4","type":"Microsoft.EventGrid/eventSubscriptions"}]}' + string: '{"value":[{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/egstrgltncypubctruseuap","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventHub/namespaces/egrunnereventhubnamespacecentraluseuap/eventhubs/egstrgltncyrunnereventhubcentraluseuap"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.Storage/storageAccounts/egstrgltncypubctruseuap/providers/Microsoft.EventGrid/eventSubscriptions/eg-strg-ltncy-Subscription-centraluseuap","name":"eg-strg-ltncy-Subscription-centraluseuap","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/pubstgrunner6987e7bb","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventHub/namespaces/egrunnereventhubnamespacecentraluseuap/eventhubs/egstoragerunnereventhubcentraluseuap"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.Storage/storageAccounts/pubstgrunner6987e7bb/providers/Microsoft.EventGrid/eventSubscriptions/StorageSubscription0e5b9108","name":"StorageSubscription0e5b9108","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/egstgltncpblctsctruseuap","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventHub/namespaces/egrunnereventhubnamespacecentraluseuap/eventhubs/egstrgltncyrunnereventhublocaltestcentraluseuap"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.Storage/storageAccounts/egstgltncpblctsctruseuap/providers/Microsoft.EventGrid/eventSubscriptions/eg-strg-ltncy-Sub-localtest-centraluseuap","name":"eg-strg-ltncy-Sub-localtest-centraluseuap","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/pubstgrunner60519dde","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventHub/namespaces/egrunnereventhubnamespacecentraluseuap/eventhubs/egstoragerunnereventhubcentraluseuap"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.Storage/storageAccounts/pubstgrunner60519dde/providers/Microsoft.EventGrid/eventSubscriptions/StorageSubscription49c4d9fb","name":"StorageSubscription49c4d9fb","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/pubstgrunner5fd608f9","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventHub/namespaces/egrunnereventhubnamespacecentraluseuap/eventhubs/egstoragerunnereventhubcentraluseuap"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.Storage/storageAccounts/pubstgrunner5fd608f9/providers/Microsoft.EventGrid/eventSubscriptions/StorageSubscriptione5aac914","name":"StorageSubscriptione5aac914","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/pubstgrunner2079eae9","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventHub/namespaces/egrunnereventhubnamespacecentraluseuap/eventhubs/egstoragerunnereventhubcentraluseuap"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.Storage/storageAccounts/pubstgrunner2079eae9/providers/Microsoft.EventGrid/eventSubscriptions/StorageSubscription9593e3c0","name":"StorageSubscription9593e3c0","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/pubstgrunner6c93c1a3","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventHub/namespaces/egrunnereventhubnamespacecentraluseuap/eventhubs/egstoragerunnereventhubcentraluseuap"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.Storage/storageAccounts/pubstgrunner6c93c1a3/providers/Microsoft.EventGrid/eventSubscriptions/StorageSubscription1f316c0f","name":"StorageSubscription1f316c0f","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/pubstgrunnerea146210","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventHub/namespaces/egrunnereventhubnamespacecentraluseuap/eventhubs/egstoragerunnereventhubcentraluseuap"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.Storage/storageAccounts/pubstgrunnerea146210/providers/Microsoft.EventGrid/eventSubscriptions/StorageSubscription217a2243","name":"StorageSubscription217a2243","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/pubstgrunner40d9276e","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventHub/namespaces/egrunnereventhubnamespacecentraluseuap/eventhubs/egstoragerunnereventhubcentraluseuap"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.Storage/storageAccounts/pubstgrunner40d9276e/providers/Microsoft.EventGrid/eventSubscriptions/StorageSubscriptionfa21da9c","name":"StorageSubscriptionfa21da9c","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/pubstgrunnerf055a949","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventHub/namespaces/egrunnereventhubnamespacecentraluseuap/eventhubs/egstoragerunnereventhubcentraluseuap"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.Storage/storageAccounts/pubstgrunnerf055a949/providers/Microsoft.EventGrid/eventSubscriptions/StorageSubscription48052b63","name":"StorageSubscription48052b63","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/pubstgrunner8f140576","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventHub/namespaces/egrunnereventhubnamespacecentraluseuap/eventhubs/egstoragerunnereventhubcentraluseuap"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.Storage/storageAccounts/pubstgrunner8f140576/providers/Microsoft.EventGrid/eventSubscriptions/StorageSubscriptionede3781f","name":"StorageSubscriptionede3781f","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/pubstgrunner55fbeadb","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventHub/namespaces/egrunnereventhubnamespacecentraluseuap/eventhubs/egstoragerunnereventhubcentraluseuap"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.Storage/storageAccounts/pubstgrunner55fbeadb/providers/Microsoft.EventGrid/eventSubscriptions/StorageSubscription98bddbdb","name":"StorageSubscription98bddbdb","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/pubstgrunnerfca34fd4","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventHub/namespaces/egrunnereventhubnamespacecentraluseuap/eventhubs/egstoragerunnereventhubcentraluseuap"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.Storage/storageAccounts/pubstgrunnerfca34fd4/providers/Microsoft.EventGrid/eventSubscriptions/StorageSubscription558f16e1","name":"StorageSubscription558f16e1","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/pubstgrunner5d335ceb","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventHub/namespaces/egrunnereventhubnamespacecentraluseuap/eventhubs/egstoragerunnereventhubcentraluseuap"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.Storage/storageAccounts/pubstgrunner5d335ceb/providers/Microsoft.EventGrid/eventSubscriptions/StorageSubscription2991458a","name":"StorageSubscription2991458a","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/pubstgrunner2ee3ed76","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventHub/namespaces/egrunnereventhubnamespacecentraluseuap/eventhubs/egstoragerunnereventhubcentraluseuap"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.Storage/storageAccounts/pubstgrunner2ee3ed76/providers/Microsoft.EventGrid/eventSubscriptions/StorageSubscription8a8c6a2d","name":"StorageSubscription8a8c6a2d","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/pubstgrunner6757fb87","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventHub/namespaces/egrunnereventhubnamespacecentraluseuap/eventhubs/egstoragerunnereventhubcentraluseuap"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.Storage/storageAccounts/pubstgrunner6757fb87/providers/Microsoft.EventGrid/eventSubscriptions/StorageSubscriptionc7fb317d","name":"StorageSubscriptionc7fb317d","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgxbxwtotrjvmiy5kwbj66rio5s3j7vz75q5hupj64zwyrzcx3f2x5aecrx2dvs/providers/microsoft.storage/storageaccounts/clieventgridutxvmd76rqjm","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgxbxwtotrjvmiy5kwbj66rio5s3j7vz75q5hupj64zwyrzcx3f2x5aecrx2dvs/providers/Microsoft.Storage/storageAccounts/clieventgridutxvmd76rqjm/providers/Microsoft.EventGrid/eventSubscriptions/clij5ujmfgfnqaux4czoe5lqb4tvvfdc3rvfyv6e","name":"clij5ujmfgfnqaux4czoe5lqb4tvvfdc3rvfyv6e","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgci7xn5udbpfcbnww6jes7b2ueppkivzxnhbrzgmqpipnxr4mzt7ngmrhnucpj/providers/microsoft.storage/storageaccounts/clieventgridiz4r2rdbq6qx","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgci7xn5udbpfcbnww6jes7b2ueppkivzxnhbrzgmqpipnxr4mzt7ngmrhnucpj/providers/Microsoft.Storage/storageAccounts/clieventgridiz4r2rdbq6qx/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg4qynmh3piphjjhmrmmdakjr4hylcqpownbdnjkn63em22i422oa7xvliozxpt/providers/microsoft.storage/storageaccounts/clieventgridsh5ardr4afvp","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg4qynmh3piphjjhmrmmdakjr4hylcqpownbdnjkn63em22i422oa7xvliozxpt/providers/Microsoft.Storage/storageAccounts/clieventgridsh5ardr4afvp/providers/Microsoft.EventGrid/eventSubscriptions/clijm7ylcni2bfgqfvxnduocxadc3vmylmjflgr5","name":"clijm7ylcni2bfgqfvxnduocxadc3vmylmjflgr5","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgrksoyrxjfhqsjo2cgelpokls6dwrfnjxjoio3qzk77lno35cn6xsprtm6zb5p/providers/microsoft.storage/storageaccounts/clieventgridcp5vshafjhwc","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgrksoyrxjfhqsjo2cgelpokls6dwrfnjxjoio3qzk77lno35cn6xsprtm6zb5p/providers/Microsoft.Storage/storageAccounts/clieventgridcp5vshafjhwc/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrghjrtf7awvgjn5byykr55y4mhkfsy2x7y47byjqa2blou3yap5udk7olik7ptt/providers/microsoft.storage/storageaccounts/clieventgrid3hfhd5rjedne","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrghjrtf7awvgjn5byykr55y4mhkfsy2x7y47byjqa2blou3yap5udk7olik7ptt/providers/Microsoft.Storage/storageAccounts/clieventgrid3hfhd5rjedne/providers/Microsoft.EventGrid/eventSubscriptions/climpldmcmpk5ywsqfaxw3ulxlzmix5wnrr6pk5l","name":"climpldmcmpk5ywsqfaxw3ulxlzmix5wnrr6pk5l","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgh7geoqv5zv4ecpogjwu5cvwizemte6ssnegss7moflbgtbsmm5ebwxeqfnw6f/providers/microsoft.storage/storageaccounts/clieventgride3edgv26omxm","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgh7geoqv5zv4ecpogjwu5cvwizemte6ssnegss7moflbgtbsmm5ebwxeqfnw6f/providers/Microsoft.Storage/storageAccounts/clieventgride3edgv26omxm/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgdosmy66houvuavhznh6dks2jk4fqdvj4zwlyvvgctdbuupk6fixaesbmsho36/providers/microsoft.storage/storageaccounts/clieventgridvsefp3aiv2mz","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgdosmy66houvuavhznh6dks2jk4fqdvj4zwlyvvgctdbuupk6fixaesbmsho36/providers/Microsoft.Storage/storageAccounts/clieventgridvsefp3aiv2mz/providers/Microsoft.EventGrid/eventSubscriptions/cli5ovrsbamkeddt5vpvn4vrj6a7qs4ifemkbg2f","name":"cli5ovrsbamkeddt5vpvn4vrj6a7qs4ifemkbg2f","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrga4wkggwfk6xlk56hlcozl4r4wt2lxaicmceksdfjc5aqabdhutv7rgb54vpyl/providers/microsoft.storage/storageaccounts/clieventgridriv54daw3xun","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrga4wkggwfk6xlk56hlcozl4r4wt2lxaicmceksdfjc5aqabdhutv7rgb54vpyl/providers/Microsoft.Storage/storageAccounts/clieventgridriv54daw3xun/providers/Microsoft.EventGrid/eventSubscriptions/clipohbfr7npbhld32fexehitkzxr3o6u3o52uvm","name":"clipohbfr7npbhld32fexehitkzxr3o6u3o52uvm","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgkkwaej37doqxxczg6aneg4o5jv633ymh7udju7ix23traynxikxhcpdfdsg6u/providers/microsoft.storage/storageaccounts/clieventgridclx4ne6zvc4d","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgkkwaej37doqxxczg6aneg4o5jv633ymh7udju7ix23traynxikxhcpdfdsg6u/providers/Microsoft.Storage/storageAccounts/clieventgridclx4ne6zvc4d/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgjohirijyzw4fhcpwjabsbsjax2x4xj4sl6mupfzw5k7jkom4ikwam5fhgrg3d/providers/microsoft.storage/storageaccounts/clieventgriddlwondxsislc","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgjohirijyzw4fhcpwjabsbsjax2x4xj4sl6mupfzw5k7jkom4ikwam5fhgrg3d/providers/Microsoft.Storage/storageAccounts/clieventgriddlwondxsislc/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrghe5nd65je6i64sq5b5kqriepqyler5skbntvvnn4wqgpc4ldizpzl5hrla5gg/providers/microsoft.storage/storageaccounts/clieventgridhygvtjpxyjuy","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrghe5nd65je6i64sq5b5kqriepqyler5skbntvvnn4wqgpc4ldizpzl5hrla5gg/providers/Microsoft.Storage/storageAccounts/clieventgridhygvtjpxyjuy/providers/Microsoft.EventGrid/eventSubscriptions/cliqhj4sy2rorlev4hq3vvzixgprrk5oi7mp62cl","name":"cliqhj4sy2rorlev4hq3vvzixgprrk5oi7mp62cl","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg5y4sgiacttpujsfwgwauha6kl3h2x26amkc4ekd5pbfspswqrvyzelxj3nkrm/providers/microsoft.storage/storageaccounts/clieventgridnn44um6ii2cu","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg5y4sgiacttpujsfwgwauha6kl3h2x26amkc4ekd5pbfspswqrvyzelxj3nkrm/providers/Microsoft.Storage/storageAccounts/clieventgridnn44um6ii2cu/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrggabo5li5o3f7vfywl6zda3dazw24772h5ulltuq67m6hu6riay4jwk64zbsru/providers/microsoft.storage/storageaccounts/clieventgridu2roes3ms2rx","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrggabo5li5o3f7vfywl6zda3dazw24772h5ulltuq67m6hu6riay4jwk64zbsru/providers/Microsoft.Storage/storageAccounts/clieventgridu2roes3ms2rx/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgghh57kezaloucmrs577bqm4g5ndx3bn6ab4gms43oa62xmxmyfgq77o27ut2c/providers/microsoft.storage/storageaccounts/clieventgridxjtcweuutkoo","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgghh57kezaloucmrs577bqm4g5ndx3bn6ab4gms43oa62xmxmyfgq77o27ut2c/providers/Microsoft.Storage/storageAccounts/clieventgridxjtcweuutkoo/providers/Microsoft.EventGrid/eventSubscriptions/cli5v7w5m3cvxazzfc3erruoed3kwfs6puzj2rw5","name":"cli5v7w5m3cvxazzfc3erruoed3kwfs6puzj2rw5","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg3aqdrcjz6bngi352mh5lkq2utrtxtyftpwafbtgxw2bytilgp3ek4nmxmkhjo/providers/microsoft.storage/storageaccounts/clieventgridjptbv475kqsi","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg3aqdrcjz6bngi352mh5lkq2utrtxtyftpwafbtgxw2bytilgp3ek4nmxmkhjo/providers/Microsoft.Storage/storageAccounts/clieventgridjptbv475kqsi/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg6u6mcttaxgc57tpkh4u5d26frk7vfibeabybslle5glvhk3s3vjlcmoa2nzp5/providers/microsoft.storage/storageaccounts/clieventgridtmqnp6kr5z2v","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg6u6mcttaxgc57tpkh4u5d26frk7vfibeabybslle5glvhk3s3vjlcmoa2nzp5/providers/Microsoft.Storage/storageAccounts/clieventgridtmqnp6kr5z2v/providers/Microsoft.EventGrid/eventSubscriptions/clivgvkqihixbvsflyqnskpimn6rvm63gjuvl44a","name":"clivgvkqihixbvsflyqnskpimn6rvm63gjuvl44a","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgnqw6ytouztleb2ymb7yi7loqr4ffmjddmyda5znnzstl76cxzh77pe6jw5c5w/providers/microsoft.storage/storageaccounts/clieventgrid5mxceddwttzz","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgnqw6ytouztleb2ymb7yi7loqr4ffmjddmyda5znnzstl76cxzh77pe6jw5c5w/providers/Microsoft.Storage/storageAccounts/clieventgrid5mxceddwttzz/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgwvuc4b7dg5eq7hivqkb5k2nocg3beu2xyjqscij3rdap4ycjwkl3ipq6jk44v/providers/microsoft.storage/storageaccounts/clieventgridvwbxgywcvjpo","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgwvuc4b7dg5eq7hivqkb5k2nocg3beu2xyjqscij3rdap4ycjwkl3ipq6jk44v/providers/Microsoft.Storage/storageAccounts/clieventgridvwbxgywcvjpo/providers/Microsoft.EventGrid/eventSubscriptions/cli2modbnllr76ocnzkukwq63nbx7rlkyeskyn42","name":"cli2modbnllr76ocnzkukwq63nbx7rlkyeskyn42","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgrt77xxbqbb3arhsbqohxmc52g3fwvx745z7tvjjllipvzs5y4k5ulm7q3h7ep/providers/microsoft.storage/storageaccounts/clieventgridnhqsh57shjix","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgrt77xxbqbb3arhsbqohxmc52g3fwvx745z7tvjjllipvzs5y4k5ulm7q3h7ep/providers/Microsoft.Storage/storageAccounts/clieventgridnhqsh57shjix/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgrkfkku6myhft6jjiasdu4w5q2dox5kbjaq6icmpo6wm3dgwmkckm472vvufx6/providers/microsoft.storage/storageaccounts/clieventgridgqhmyutqhafx","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgrkfkku6myhft6jjiasdu4w5q2dox5kbjaq6icmpo6wm3dgwmkckm472vvufx6/providers/Microsoft.Storage/storageAccounts/clieventgridgqhmyutqhafx/providers/Microsoft.EventGrid/eventSubscriptions/clixqdoqovd3kvsimg66xyumbqbqxszpw6mlrrui","name":"clixqdoqovd3kvsimg66xyumbqbqxszpw6mlrrui","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgpo65rqu6gqtksrzws5aiyclxdsv6x5lt5zpipmujipzcgjk4mky7u6o7rtztu/providers/microsoft.storage/storageaccounts/clieventgridnd7rte2se3ig","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgpo65rqu6gqtksrzws5aiyclxdsv6x5lt5zpipmujipzcgjk4mky7u6o7rtztu/providers/Microsoft.Storage/storageAccounts/clieventgridnd7rte2se3ig/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgmfluu6uleu6o4nl26nzmpnvpb75mv5xy27ddr4hlop7fqcy5peymdxxnptgmm/providers/microsoft.storage/storageaccounts/clieventgrid4jeaqkddwhzp","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgmfluu6uleu6o4nl26nzmpnvpb75mv5xy27ddr4hlop7fqcy5peymdxxnptgmm/providers/Microsoft.Storage/storageAccounts/clieventgrid4jeaqkddwhzp/providers/Microsoft.EventGrid/eventSubscriptions/clikcpkv4rzlrqcekae4zigzmidb6uv6cwiuwerv","name":"clikcpkv4rzlrqcekae4zigzmidb6uv6cwiuwerv","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgiqqh6l2q3mjryu2ca6jt7bw7cphn667aryjdrqtxocoaq4vgvn455pineprl6/providers/microsoft.storage/storageaccounts/clieventgridnnphf5w7pfbt","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgiqqh6l2q3mjryu2ca6jt7bw7cphn667aryjdrqtxocoaq4vgvn455pineprl6/providers/Microsoft.Storage/storageAccounts/clieventgridnnphf5w7pfbt/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgudqeltf6xbdcepungjy6hk755tchqpig7zaiuxb6vvruhrwlkd4pinll3jjqg/providers/microsoft.storage/storageaccounts/clieventgridau6enmtwlg2i","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgudqeltf6xbdcepungjy6hk755tchqpig7zaiuxb6vvruhrwlkd4pinll3jjqg/providers/Microsoft.Storage/storageAccounts/clieventgridau6enmtwlg2i/providers/Microsoft.EventGrid/eventSubscriptions/clienva75ayppg6wqar4cawzuudlxxiqtb5aojf7","name":"clienva75ayppg6wqar4cawzuudlxxiqtb5aojf7","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgyuysehzpx7wjdlvgwh2v2vc5bl6jcitr4wctknwxzizwr5wmnayxmxhav35k6/providers/microsoft.storage/storageaccounts/clieventgrid23obbd525kol","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgyuysehzpx7wjdlvgwh2v2vc5bl6jcitr4wctknwxzizwr5wmnayxmxhav35k6/providers/Microsoft.Storage/storageAccounts/clieventgrid23obbd525kol/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgiq3cyl35r4f5pbvezxlhkxbu35bei7xew3gp4u4pdi2xhad6lj6wht6kaosog/providers/microsoft.storage/storageaccounts/clieventgridlqo5iqdcytyd","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgiq3cyl35r4f5pbvezxlhkxbu35bei7xew3gp4u4pdi2xhad6lj6wht6kaosog/providers/Microsoft.Storage/storageAccounts/clieventgridlqo5iqdcytyd/providers/Microsoft.EventGrid/eventSubscriptions/clipq2fx45kuh7prqj5tmki3cugntooygyine5ms","name":"clipq2fx45kuh7prqj5tmki3cugntooygyine5ms","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgv45lvwhmjey7lyuqlvevmio3o7umbqbmqlfvyv4eylmtya3urkfckqnqshac7/providers/microsoft.storage/storageaccounts/clieventgridkbbjvrmdahph","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgv45lvwhmjey7lyuqlvevmio3o7umbqbmqlfvyv4eylmtya3urkfckqnqshac7/providers/Microsoft.Storage/storageAccounts/clieventgridkbbjvrmdahph/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgisfsgcus4fphwhz5mu4bhirtbmxgek6add4cd5womcffzibexwywv4u5trp7a/providers/microsoft.storage/storageaccounts/clieventgridnwxqpjlqv2iu","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgisfsgcus4fphwhz5mu4bhirtbmxgek6add4cd5womcffzibexwywv4u5trp7a/providers/Microsoft.Storage/storageAccounts/clieventgridnwxqpjlqv2iu/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgxlde2rfperlklq6kbnuk5qx5xjujq2cgsc2br4oz6yspr2wvxs7iyaps57p53/providers/microsoft.storage/storageaccounts/clieventgridztrx3xy3rqlq","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgxlde2rfperlklq6kbnuk5qx5xjujq2cgsc2br4oz6yspr2wvxs7iyaps57p53/providers/Microsoft.Storage/storageAccounts/clieventgridztrx3xy3rqlq/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgugms3qgx2me7cejznlj5jsvkpmndlptbrlrzenuyv364qvxb2xcak57x35efk/providers/microsoft.storage/storageaccounts/clieventgrid4cvxoyh52bk6","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgugms3qgx2me7cejznlj5jsvkpmndlptbrlrzenuyv364qvxb2xcak57x35efk/providers/Microsoft.Storage/storageAccounts/clieventgrid4cvxoyh52bk6/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgafr7prcn7cakjuyj2jtdywlibjhbmtiv2xz4475s2dpo2d244wasvzkjfh3vk/providers/microsoft.storage/storageaccounts/clieventgrid2ah7f4zpemdy","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgafr7prcn7cakjuyj2jtdywlibjhbmtiv2xz4475s2dpo2d244wasvzkjfh3vk/providers/Microsoft.Storage/storageAccounts/clieventgrid2ah7f4zpemdy/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgniagzyjjnjzes67bnxega7zqmtni56ronflqz2qlufnu52npvtkx3mmni7zqy/providers/microsoft.storage/storageaccounts/clieventgrid5lkc5jsbfz66","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgniagzyjjnjzes67bnxega7zqmtni56ronflqz2qlufnu52npvtkx3mmni7zqy/providers/Microsoft.Storage/storageAccounts/clieventgrid5lkc5jsbfz66/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription3","name":"CliTestEventsubscription3","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrga7eyqyreiote5hx4i7eixwwdm6qjlmxvrw4sv6vwdlh2jkqtle63ouawctugd/providers/microsoft.storage/storageaccounts/clieventgridomhape7vay2k","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrga7eyqyreiote5hx4i7eixwwdm6qjlmxvrw4sv6vwdlh2jkqtle63ouawctugd/providers/Microsoft.Storage/storageAccounts/clieventgridomhape7vay2k/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription3","name":"CliTestEventsubscription3","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgcypreb5zksvb5yni2haqfugg34yeuwm5tcgo435yv5rtu5avour6kssunzcww/providers/microsoft.storage/storageaccounts/clieventgrid6vpdq5yjbjve","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgcypreb5zksvb5yni2haqfugg34yeuwm5tcgo435yv5rtu5avour6kssunzcww/providers/Microsoft.Storage/storageAccounts/clieventgrid6vpdq5yjbjve/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgb4chitnxjpvph4grqzdkuwr3ht3uozxjyqyvxd7wgtzjf3k552shmjpjthnwe/providers/microsoft.storage/storageaccounts/clieventgridtfppgxfw27mm","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgb4chitnxjpvph4grqzdkuwr3ht3uozxjyqyvxd7wgtzjf3k552shmjpjthnwe/providers/Microsoft.Storage/storageAccounts/clieventgridtfppgxfw27mm/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgn7nmdzbf6ethp5j5rssibdxicbc4c4gwzviz6iasxph6ehqjjntipa6z7txc7/providers/microsoft.storage/storageaccounts/clieventgridvn673uyfofiq","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgn7nmdzbf6ethp5j5rssibdxicbc4c4gwzviz6iasxph6ehqjjntipa6z7txc7/providers/Microsoft.Storage/storageAccounts/clieventgridvn673uyfofiq/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgfwhbf363seg3exvqfoukztuzwrdt7t3xyewglozywxg2vep7t5ewewvuvubsr/providers/microsoft.storage/storageaccounts/clieventgrid2tekrhjygtsf","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgfwhbf363seg3exvqfoukztuzwrdt7t3xyewglozywxg2vep7t5ewewvuvubsr/providers/Microsoft.Storage/storageAccounts/clieventgrid2tekrhjygtsf/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgtaxjqrgoqliwhgmrh2pqiqhmf6555up5sk7heykhhrux6lzodfxmx6zpygmca/providers/microsoft.storage/storageaccounts/clieventgriddoeqqqxjttd5","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgtaxjqrgoqliwhgmrh2pqiqhmf6555up5sk7heykhhrux6lzodfxmx6zpygmca/providers/Microsoft.Storage/storageAccounts/clieventgriddoeqqqxjttd5/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription2","name":"CliTestEventGridEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgm6ix6shqn4h2xdv5lbf5hq2fumymktzfppus54saoe4pjm4oukdi4llo5552p/providers/microsoft.storage/storageaccounts/clieventgridztmcroyp3n5x","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgm6ix6shqn4h2xdv5lbf5hq2fumymktzfppus54saoe4pjm4oukdi4llo5552p/providers/Microsoft.Storage/storageAccounts/clieventgridztmcroyp3n5x/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription2","name":"CliTestEventGridEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgxzb5julgtc4lcpdzueo2mcsbfyvdt3nn3hsalsiizsgeoisnkuflpkwomeigp/providers/microsoft.storage/storageaccounts/clieventgridbxvhcbk5ex7o","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgxzb5julgtc4lcpdzueo2mcsbfyvdt3nn3hsalsiizsgeoisnkuflpkwomeigp/providers/Microsoft.Storage/storageAccounts/clieventgridbxvhcbk5ex7o/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription2","name":"CliTestEventGridEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg7euqghqtpev2bz4w4x4ztiw2hwtgirnr56qxphuda625xacsljoibin6mugh2/providers/microsoft.storage/storageaccounts/clieventgridqmsk6x5hw5mh","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg7euqghqtpev2bz4w4x4ztiw2hwtgirnr56qxphuda625xacsljoibin6mugh2/providers/Microsoft.Storage/storageAccounts/clieventgridqmsk6x5hw5mh/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription2","name":"CliTestEventGridEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgp2zkwbddiqlk4bpo4yu5vuoapymkod45ahl4u4dbti6hbnflslwjxca35w6dn/providers/microsoft.storage/storageaccounts/clieventgrids2ll6rpr5bz7","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgp2zkwbddiqlk4bpo4yu5vuoapymkod45ahl4u4dbti6hbnflslwjxca35w6dn/providers/Microsoft.Storage/storageAccounts/clieventgrids2ll6rpr5bz7/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription2","name":"CliTestEventGridEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgeie5ak7g254uucmrgvwk6a2f3zixyjv4ksf6sax2jiaupsv3xo5svi5zccuam/providers/microsoft.storage/storageaccounts/clieventgrid2uw4vppccqy6","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgeie5ak7g254uucmrgvwk6a2f3zixyjv4ksf6sax2jiaupsv3xo5svi5zccuam/providers/Microsoft.Storage/storageAccounts/clieventgrid2uw4vppccqy6/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription2","name":"CliTestEventGridEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgivgza73kdfwnejf7l5t32inhy4vtfipvcha6uqhfv7galj2ljpkw3dfps7sl4/providers/microsoft.storage/storageaccounts/clieventgridkda43unnb3kj","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/api/DevExpFunc","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgivgza73kdfwnejf7l5t32inhy4vtfipvcha6uqhfv7galj2ljpkw3dfps7sl4/providers/Microsoft.Storage/storageAccounts/clieventgridkda43unnb3kj/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription4","name":"CliTestEventGridEventsubscription4","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrghuyktkziilpuzlmmiujuu3raizkqvu3qfcrqexmsxk2hwkgwp3keaid7ye5ls/providers/microsoft.storage/storageaccounts/clieventgridpsdnniq47mhl","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/api/DevExpFunc","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrghuyktkziilpuzlmmiujuu3raizkqvu3qfcrqexmsxk2hwkgwp3keaid7ye5ls/providers/Microsoft.Storage/storageAccounts/clieventgridpsdnniq47mhl/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription4","name":"CliTestEventGridEventsubscription4","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg3mxyowbjic7u6wgsgr3uvwiwqvls4jwzvlojknktu7gl7y3czo5avzz65dngo/providers/microsoft.storage/storageaccounts/clieventgridnoxbg62wvgr3","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.ServiceBus/namespaces/devexpservicebus/topics/devexptopic1"},"endpointType":"ServiceBusTopic"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"CloudEventSchemaV1_0","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg3mxyowbjic7u6wgsgr3uvwiwqvls4jwzvlojknktu7gl7y3czo5avzz65dngo/providers/Microsoft.Storage/storageAccounts/clieventgridnoxbg62wvgr3/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription1","name":"CliTestEventGridEventsubscription1","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg7iqvmc3btr2drbccfffe22ytzlhq4mgkblsyco6m7mytibxide5y44c3ipz5m/providers/microsoft.storage/storageaccounts/clieventgridg4u3iu6dg4my","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/api/DevExpFunc","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128,"azureActiveDirectoryTenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","azureActiveDirectoryApplicationIdOrUri":"03d47d4a-7c50-43e0-ba90-89d090cc4582"},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg7iqvmc3btr2drbccfffe22ytzlhq4mgkblsyco6m7mytibxide5y44c3ipz5m/providers/Microsoft.Storage/storageAccounts/clieventgridg4u3iu6dg4my/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription3","name":"CliTestEventGridEventsubscription3","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg4qupxfilzzc2zbqcc2unmiijehi6afghvttaugkz37hlt525kkc3c3odqfkka/providers/microsoft.storage/storageaccounts/clieventgridmncnb443mcus","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/api/DevExpFunc","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128,"azureActiveDirectoryTenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","azureActiveDirectoryApplicationIdOrUri":"03d47d4a-7c50-43e0-ba90-89d090cc4582"},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg4qupxfilzzc2zbqcc2unmiijehi6afghvttaugkz37hlt525kkc3c3odqfkka/providers/Microsoft.Storage/storageAccounts/clieventgridmncnb443mcus/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription3","name":"CliTestEventGridEventsubscription3","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgsq4ybeidt2rvzvick3smgq2lxsv2dk3b7j2wyle3li5lc4hxdtrixame6pwtp/providers/microsoft.storage/storageaccounts/clieventgrid6pfiijxxenrs","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/api/DevExpFunc","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128,"azureActiveDirectoryTenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","azureActiveDirectoryApplicationIdOrUri":"03d47d4a-7c50-43e0-ba90-89d090cc4582"},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgsq4ybeidt2rvzvick3smgq2lxsv2dk3b7j2wyle3li5lc4hxdtrixame6pwtp/providers/Microsoft.Storage/storageAccounts/clieventgrid6pfiijxxenrs/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription3","name":"CliTestEventGridEventsubscription3","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgr7whbnx2zv7n6ksazc6yeymkm6hskjm3775zacs3kmeqkb3gc76jzgtqbs2c7/providers/microsoft.storage/storageaccounts/clieventgridemhlcao6nang","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/api/DevExpFunc","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128,"azureActiveDirectoryTenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","azureActiveDirectoryApplicationIdOrUri":"03d47d4a-7c50-43e0-ba90-89d090cc4582"},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgr7whbnx2zv7n6ksazc6yeymkm6hskjm3775zacs3kmeqkb3gc76jzgtqbs2c7/providers/Microsoft.Storage/storageAccounts/clieventgridemhlcao6nang/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription3","name":"CliTestEventGridEventsubscription3","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgxl5k5dx2g7z57k2dpocqddp7to3vooa3pkad4wkv3rjexdpfjprtffgoudnv2/providers/microsoft.storage/storageaccounts/clieventgridpec3b3mly2k2","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/api/DevExpFunc","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128,"azureActiveDirectoryTenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","azureActiveDirectoryApplicationIdOrUri":"03d47d4a-7c50-43e0-ba90-89d090cc4582"},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgxl5k5dx2g7z57k2dpocqddp7to3vooa3pkad4wkv3rjexdpfjprtffgoudnv2/providers/Microsoft.Storage/storageAccounts/clieventgridpec3b3mly2k2/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription3","name":"CliTestEventGridEventsubscription3","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgwrfuttqh57esx2sdefe4t3nf3axlfuwvr3yvhszvxedwqrf4ktibwi7myo5wi/providers/microsoft.storage/storageaccounts/clieventgridsinnbv7fzzk6","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/api/DevExpFunc","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"SomeRandomText112341","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgwrfuttqh57esx2sdefe4t3nf3axlfuwvr3yvhszvxedwqrf4ktibwi7myo5wi/providers/Microsoft.Storage/storageAccounts/clieventgridsinnbv7fzzk6/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription4","name":"CliTestEventGridEventsubscription4","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/microsoft.storage/storageaccounts/stg2bdeleted","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.Storage/storageaccounts/stg2bdeleted","queueName":"test1"},"endpointType":"StorageQueue"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.Storage/storageaccounts/stg2bdeleted/providers/Microsoft.EventGrid/eventSubscriptions/test12343","name":"test12343","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/pubstgrunnerc9c9c381","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventHub/namespaces/egrunnereventhubnamespacecentraluseuap/eventhubs/egstoragerunnereventhubcentraluseuap"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.Storage/storageAccounts/pubstgrunnerc9c9c381/providers/Microsoft.EventGrid/eventSubscriptions/StorageSubscriptionc6940fa5","name":"StorageSubscriptionc6940fa5","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/devexprg/providers/microsoft.storage/storageaccounts/clistgaccount","provisioningState":"Creating","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DEVEXPRG/providers/MICROSOFT.STORAGE/STORAGEACCOUNTS/CLISTGACCOUNT/providers/Microsoft.EventGrid/eventSubscriptions/cligxbrheg7o5vvmhwdfkcpnhjwmg6wsrncaqzun","name":"cligxbrheg7o5vvmhwdfkcpnhjwmg6wsrncaqzun","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgri6qeguzxuzchyyajfkvcroikbntonyoeajl6po7hgiheklopg56zdzvdtzrbxnp6/providers/microsoft.storage/storageaccounts/clieventgridwfxe4m7kxvzq","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Storage/storageAccounts/devexpstg","queueName":"stogqueuedestination"},"endpointType":"StorageQueue"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"SomeRandomText2","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"CloudEventSchemaV1_0","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440},"deadLetterDestination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Storage/storageAccounts/devexpstg","blobContainerName":"dlq"},"endpointType":"StorageBlob"}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgri6qeguzxuzchyyajfkvcroikbntonyoeajl6po7hgiheklopg56zdzvdtzrbxnp6/providers/Microsoft.Storage/storageAccounts/clieventgridwfxe4m7kxvzq/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription1","name":"CliTestEventsubscription1","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgdyta2iocxpziw63jtz4ctzqyjpxne4nmb46k3kjjcxzu2dysl7xjdw4c4ql4l/providers/microsoft.storage/storageaccounts/clieventgriddqgmrhwliguz","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.ServiceBus/namespaces/devexpservicebus/topics/devexptopic1"},"endpointType":"ServiceBusTopic"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"CloudEventSchemaV1_0","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgdyta2iocxpziw63jtz4ctzqyjpxne4nmb46k3kjjcxzu2dysl7xjdw4c4ql4l/providers/Microsoft.Storage/storageAccounts/clieventgriddqgmrhwliguz/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription1","name":"CliTestEventGridEventsubscription1","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/microsoft.storage/storageaccounts/clieventgrid000002","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://eventgridclitestapp.azurewebsites.net/api/SubscriptionValidation","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":".jpg","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002/providers/Microsoft.EventGrid/eventSubscriptions/cli000003","name":"cli000003","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgri6qeguzxuzchyyajfkvcroikbntonyoeajl6po7hgiheklopg56zdzvdtzrbxnp6/providers/microsoft.storage/storageaccounts/clieventgridwfxe4m7kxvzq","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Relay/namespaces/DevExpRelayNamespace/hybridConnections/hydbridconnectiondestination"},"endpointType":"HybridConnection"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"SomeRandomText2","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":20,"eventTimeToLiveInMinutes":1000},"deadLetterDestination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Storage/storageAccounts/devexpstg","blobContainerName":"dlq"},"endpointType":"StorageBlob"}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgri6qeguzxuzchyyajfkvcroikbntonyoeajl6po7hgiheklopg56zdzvdtzrbxnp6/providers/Microsoft.Storage/storageAccounts/clieventgridwfxe4m7kxvzq/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgdyta2iocxpziw63jtz4ctzqyjpxne4nmb46k3kjjcxzu2dysl7xjdw4c4ql4l/providers/microsoft.storage/storageaccounts/clieventgriddqgmrhwliguz","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgdyta2iocxpziw63jtz4ctzqyjpxne4nmb46k3kjjcxzu2dysl7xjdw4c4ql4l/providers/Microsoft.Storage/storageAccounts/clieventgriddqgmrhwliguz/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription2","name":"CliTestEventGridEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgri6qeguzxuzchyyajfkvcroikbntonyoeajl6po7hgiheklopg56zdzvdtzrbxnp6/providers/microsoft.storage/storageaccounts/clieventgridwfxe4m7kxvzq","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.ServiceBus/namespaces/devexpservicebus/queues/devexpdestination"},"endpointType":"ServiceBusQueue"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"SomeRandomText2","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":10,"eventTimeToLiveInMinutes":1200},"deadLetterDestination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Storage/storageAccounts/devexpstg","blobContainerName":"dlq"},"endpointType":"StorageBlob"}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgri6qeguzxuzchyyajfkvcroikbntonyoeajl6po7hgiheklopg56zdzvdtzrbxnp6/providers/Microsoft.Storage/storageAccounts/clieventgridwfxe4m7kxvzq/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription3","name":"CliTestEventsubscription3","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgdyta2iocxpziw63jtz4ctzqyjpxne4nmb46k3kjjcxzu2dysl7xjdw4c4ql4l/providers/microsoft.storage/storageaccounts/clieventgriddqgmrhwliguz","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/api/DevExpFunc","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgdyta2iocxpziw63jtz4ctzqyjpxne4nmb46k3kjjcxzu2dysl7xjdw4c4ql4l/providers/Microsoft.Storage/storageAccounts/clieventgriddqgmrhwliguz/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription4","name":"CliTestEventGridEventsubscription4","type":"Microsoft.EventGrid/eventSubscriptions"}]}' headers: cache-control: - no-cache content-length: - - '92853' + - '93943' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:18 GMT + - Sat, 16 May 2020 15:06:24 GMT expires: - '-1' pragma: @@ -778,23 +778,23 @@ interactions: - --topic-type --location --resource-group User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.EventGrid/locations/centraluseuap/topicTypes/Microsoft.Storage.StorageAccounts/eventSubscriptions?api-version=2020-04-01-preview&$top=100 response: body: - string: '{"value":[{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/microsoft.storage/storageaccounts/clieventgrid000002","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":".jpg","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002/providers/Microsoft.EventGrid/eventSubscriptions/cli000003","name":"cli000003","type":"Microsoft.EventGrid/eventSubscriptions"}]}' + string: '{"value":[{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/microsoft.storage/storageaccounts/clieventgrid000002","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://eventgridclitestapp.azurewebsites.net/api/SubscriptionValidation","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":".jpg","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002/providers/Microsoft.EventGrid/eventSubscriptions/cli000003","name":"cli000003","type":"Microsoft.EventGrid/eventSubscriptions"}]}' headers: cache-control: - no-cache content-length: - - '1192' + - '1187' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:19 GMT + - Sat, 16 May 2020 15:06:25 GMT expires: - '-1' pragma: @@ -827,23 +827,23 @@ interactions: - --location --resource-group User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.EventGrid/locations/centraluseuap/eventSubscriptions?api-version=2020-04-01-preview&$top=100 response: body: - string: '{"value":[{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/microsoft.storage/storageaccounts/clieventgrid000002","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":".jpg","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002/providers/Microsoft.EventGrid/eventSubscriptions/cli000003","name":"cli000003","type":"Microsoft.EventGrid/eventSubscriptions"}]}' + string: '{"value":[{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/microsoft.storage/storageaccounts/clieventgrid000002","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://eventgridclitestapp.azurewebsites.net/api/SubscriptionValidation","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":".jpg","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002/providers/Microsoft.EventGrid/eventSubscriptions/cli000003","name":"cli000003","type":"Microsoft.EventGrid/eventSubscriptions"}]}' headers: cache-control: - no-cache content-length: - - '1192' + - '1187' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:20 GMT + - Sat, 16 May 2020 15:06:25 GMT expires: - '-1' pragma: @@ -876,23 +876,23 @@ interactions: - --location User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/eventSubscriptions?api-version=2020-04-01-preview&$top=100 response: body: - string: '{"value":[{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.eventgrid/topics/eg-latency-runner-topic-centraluseuap","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventHub/namespaces/egrunnereventhubnamespacecentraluseuap/eventhubs/egltncyrunnereventhubcentraluseuap"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"Subject","subjectEndsWith":"","isSubjectCaseSensitive":true,"advancedFilters":[{"values":["runner"],"operatorType":"StringContains","key":"topic"},{"values":["Info"],"operatorType":"StringEndsWith","key":"data.EventData"},{"values":[1.0,2.0,3.0],"operatorType":"NumberIn","key":"data.key1"},{"value":true,"operatorType":"BoolEquals","key":"data.key2"},{"values":["3.0"],"operatorType":"StringContains","key":"dataversion"}]},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventGrid/topics/eg-latency-runner-topic-centraluseuap/providers/Microsoft.EventGrid/eventSubscriptions/eg-latency-runner-subscription-centraluseuap","name":"eg-latency-runner-subscription-centraluseuap","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.eventgrid/topics/eg-latency-runner-topic-eg-euap-usce-01","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventHub/namespaces/egrunnereventhubnamespacecentraluseuap/eventhubs/egltncyrunnereventhub-eg-euap-usce-01"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"Subject","subjectEndsWith":"","isSubjectCaseSensitive":true,"advancedFilters":[{"values":["runner"],"operatorType":"StringContains","key":"topic"},{"values":["Info"],"operatorType":"StringEndsWith","key":"data.EventData"},{"values":[1.0,2.0,3.0],"operatorType":"NumberIn","key":"data.key1"},{"value":true,"operatorType":"BoolEquals","key":"data.key2"},{"values":["3.0"],"operatorType":"StringContains","key":"dataversion"}]},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventGrid/topics/eg-latency-runner-topic-eg-euap-usce-01/providers/Microsoft.EventGrid/eventSubscriptions/eg-latency-runner-subscription-eg-euap-usce-01","name":"eg-latency-runner-subscription-eg-euap-usce-01","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/egstrgltncypubctruseuap","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventHub/namespaces/egrunnereventhubnamespacecentraluseuap/eventhubs/egstrgltncyrunnereventhubcentraluseuap"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.Storage/storageAccounts/egstrgltncypubctruseuap/providers/Microsoft.EventGrid/eventSubscriptions/eg-strg-ltncy-Subscription-centraluseuap","name":"eg-strg-ltncy-Subscription-centraluseuap","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.eventgrid/topics/eg-latency-runner-topic-eg-euap-usce-02","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventHub/namespaces/egrunnereventhubnamespacecentraluseuap/eventhubs/egltncyrunnereventhub-eg-euap-usce-02"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"Subject","subjectEndsWith":"","isSubjectCaseSensitive":true,"advancedFilters":[{"values":["runner"],"operatorType":"StringContains","key":"topic"},{"values":["Info"],"operatorType":"StringEndsWith","key":"data.EventData"},{"values":[1.0,2.0,3.0],"operatorType":"NumberIn","key":"data.key1"},{"value":true,"operatorType":"BoolEquals","key":"data.key2"},{"values":["3.0"],"operatorType":"StringContains","key":"dataversion"}]},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventGrid/topics/eg-latency-runner-topic-eg-euap-usce-02/providers/Microsoft.EventGrid/eventSubscriptions/eg-latency-runner-subscription-eg-euap-usce-02","name":"eg-latency-runner-subscription-eg-euap-usce-02","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.eventgrid/topics/eglatencyrunnerqueuetopiccentraluseuap","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.Storage/storageAccounts/egrunnerstgcentraluseuap","queueName":"egltcyrunnerstgqueuedestinationcentraluseuap"},"endpointType":"StorageQueue"},"filter":{"subjectBeginsWith":"Subject","subjectEndsWith":"","isSubjectCaseSensitive":true,"advancedFilters":[{"values":["runner"],"operatorType":"StringContains","key":"topic"},{"values":["Info"],"operatorType":"StringEndsWith","key":"data.EventData"},{"values":[1.0,2.0,3.0],"operatorType":"NumberIn","key":"data.key1"},{"value":true,"operatorType":"BoolEquals","key":"data.key2"},{"values":["3.0"],"operatorType":"StringContains","key":"dataversion"}]},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439},"deadLetterDestination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.Storage/storageAccounts/egrunnerstgcentraluseuap","blobContainerName":"egltcyrunnerstgdlqcentraluseuap"},"endpointType":"StorageBlob"}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventGrid/topics/eglatencyrunnerqueuetopiccentraluseuap/providers/Microsoft.EventGrid/eventSubscriptions/eglatencyrunnerqueuesubscriptioncentraluseuap","name":"eglatencyrunnerqueuesubscriptioncentraluseuap","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/pubstgrunner6987e7bb","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventHub/namespaces/egrunnereventhubnamespacecentraluseuap/eventhubs/egstoragerunnereventhubcentraluseuap"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.Storage/storageAccounts/pubstgrunner6987e7bb/providers/Microsoft.EventGrid/eventSubscriptions/StorageSubscription0e5b9108","name":"StorageSubscription0e5b9108","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.eventgrid/topics/eg-latency-runner-topic-localtest-centraluseuap","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventHub/namespaces/egrunnereventhubnamespacecentraluseuap/eventhubs/egltncyrunnereventhublocaltestcentraluseuap"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"Subject","subjectEndsWith":"","isSubjectCaseSensitive":true,"advancedFilters":[{"values":["runner"],"operatorType":"StringContains","key":"topic"},{"values":["Info"],"operatorType":"StringEndsWith","key":"data.EventData"},{"values":[1.0,2.0,3.0],"operatorType":"NumberIn","key":"data.key1"},{"value":true,"operatorType":"BoolEquals","key":"data.key2"},{"values":["3.0"],"operatorType":"StringContains","key":"dataversion"}]},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventGrid/topics/eg-latency-runner-topic-localtest-centraluseuap/providers/Microsoft.EventGrid/eventSubscriptions/eg-latency-runner-localtest-subscription-centraluseuap","name":"eg-latency-runner-localtest-subscription-centraluseuap","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/egstgltncpblctsctruseuap","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventHub/namespaces/egrunnereventhubnamespacecentraluseuap/eventhubs/egstrgltncyrunnereventhublocaltestcentraluseuap"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.Storage/storageAccounts/egstgltncpblctsctruseuap/providers/Microsoft.EventGrid/eventSubscriptions/eg-strg-ltncy-Sub-localtest-centraluseuap","name":"eg-strg-ltncy-Sub-localtest-centraluseuap","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.eventgrid/topics/eg-latency-dq-runner-topic-eg-euap-usce-01","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventHub/namespaces/egrunnereventhubnamespacecentraluseuap/eventhubs/egltncydqrunnereventhub-eg-euap-usce-01"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"Subject","subjectEndsWith":"","isSubjectCaseSensitive":true,"advancedFilters":[{"values":["runner"],"operatorType":"StringContains","key":"topic"},{"values":["Info"],"operatorType":"StringEndsWith","key":"data.EventData"},{"values":[1.0,2.0,3.0],"operatorType":"NumberIn","key":"data.key1"},{"value":true,"operatorType":"BoolEquals","key":"data.key2"},{"values":["3.0"],"operatorType":"StringContains","key":"dataversion"}]},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventGrid/topics/eg-latency-dq-runner-topic-eg-euap-usce-01/providers/Microsoft.EventGrid/eventSubscriptions/eg-latency-dq-runner-subscription-eg-euap-usce-01","name":"eg-latency-dq-runner-subscription-eg-euap-usce-01","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/pubstgrunner60519dde","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventHub/namespaces/egrunnereventhubnamespacecentraluseuap/eventhubs/egstoragerunnereventhubcentraluseuap"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.Storage/storageAccounts/pubstgrunner60519dde/providers/Microsoft.EventGrid/eventSubscriptions/StorageSubscription49c4d9fb","name":"StorageSubscription49c4d9fb","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/pubstgrunner5fd608f9","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventHub/namespaces/egrunnereventhubnamespacecentraluseuap/eventhubs/egstoragerunnereventhubcentraluseuap"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.Storage/storageAccounts/pubstgrunner5fd608f9/providers/Microsoft.EventGrid/eventSubscriptions/StorageSubscriptione5aac914","name":"StorageSubscriptione5aac914","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/pubstgrunner2079eae9","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventHub/namespaces/egrunnereventhubnamespacecentraluseuap/eventhubs/egstoragerunnereventhubcentraluseuap"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.Storage/storageAccounts/pubstgrunner2079eae9/providers/Microsoft.EventGrid/eventSubscriptions/StorageSubscription9593e3c0","name":"StorageSubscription9593e3c0","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/pubstgrunner6c93c1a3","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventHub/namespaces/egrunnereventhubnamespacecentraluseuap/eventhubs/egstoragerunnereventhubcentraluseuap"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.Storage/storageAccounts/pubstgrunner6c93c1a3/providers/Microsoft.EventGrid/eventSubscriptions/StorageSubscription1f316c0f","name":"StorageSubscription1f316c0f","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/pubstgrunnerea146210","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventHub/namespaces/egrunnereventhubnamespacecentraluseuap/eventhubs/egstoragerunnereventhubcentraluseuap"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.Storage/storageAccounts/pubstgrunnerea146210/providers/Microsoft.EventGrid/eventSubscriptions/StorageSubscription217a2243","name":"StorageSubscription217a2243","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/pubstgrunner40d9276e","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventHub/namespaces/egrunnereventhubnamespacecentraluseuap/eventhubs/egstoragerunnereventhubcentraluseuap"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.Storage/storageAccounts/pubstgrunner40d9276e/providers/Microsoft.EventGrid/eventSubscriptions/StorageSubscriptionfa21da9c","name":"StorageSubscriptionfa21da9c","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/pubstgrunnerf055a949","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventHub/namespaces/egrunnereventhubnamespacecentraluseuap/eventhubs/egstoragerunnereventhubcentraluseuap"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.Storage/storageAccounts/pubstgrunnerf055a949/providers/Microsoft.EventGrid/eventSubscriptions/StorageSubscription48052b63","name":"StorageSubscription48052b63","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/pubstgrunner8f140576","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventHub/namespaces/egrunnereventhubnamespacecentraluseuap/eventhubs/egstoragerunnereventhubcentraluseuap"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.Storage/storageAccounts/pubstgrunner8f140576/providers/Microsoft.EventGrid/eventSubscriptions/StorageSubscriptionede3781f","name":"StorageSubscriptionede3781f","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/pubstgrunner55fbeadb","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventHub/namespaces/egrunnereventhubnamespacecentraluseuap/eventhubs/egstoragerunnereventhubcentraluseuap"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.Storage/storageAccounts/pubstgrunner55fbeadb/providers/Microsoft.EventGrid/eventSubscriptions/StorageSubscription98bddbdb","name":"StorageSubscription98bddbdb","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/pubstgrunnerfca34fd4","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventHub/namespaces/egrunnereventhubnamespacecentraluseuap/eventhubs/egstoragerunnereventhubcentraluseuap"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.Storage/storageAccounts/pubstgrunnerfca34fd4/providers/Microsoft.EventGrid/eventSubscriptions/StorageSubscription558f16e1","name":"StorageSubscription558f16e1","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/pubstgrunner5d335ceb","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventHub/namespaces/egrunnereventhubnamespacecentraluseuap/eventhubs/egstoragerunnereventhubcentraluseuap"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.Storage/storageAccounts/pubstgrunner5d335ceb/providers/Microsoft.EventGrid/eventSubscriptions/StorageSubscription2991458a","name":"StorageSubscription2991458a","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/pubstgrunner2ee3ed76","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventHub/namespaces/egrunnereventhubnamespacecentraluseuap/eventhubs/egstoragerunnereventhubcentraluseuap"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.Storage/storageAccounts/pubstgrunner2ee3ed76/providers/Microsoft.EventGrid/eventSubscriptions/StorageSubscription8a8c6a2d","name":"StorageSubscription8a8c6a2d","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/pubstgrunner6757fb87","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventHub/namespaces/egrunnereventhubnamespacecentraluseuap/eventhubs/egstoragerunnereventhubcentraluseuap"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.Storage/storageAccounts/pubstgrunner6757fb87/providers/Microsoft.EventGrid/eventSubscriptions/StorageSubscriptionc7fb317d","name":"StorageSubscriptionc7fb317d","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest/providers/microsoft.eventgrid/topics/kal2020testce2","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/kalstest/providers/Microsoft.Storage/storageAccounts/kalsiotstorage","queueName":"sq1"},"endpointType":"StorageQueue"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"CloudEventSchemaV1_0","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest/providers/Microsoft.EventGrid/topics/kal2020testCE2/providers/Microsoft.EventGrid/eventSubscriptions/es4","name":"es4","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest/providers/microsoft.eventgrid/topics/kal2020testce2","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/kalstest/providers/Microsoft.ServiceBus/namespaces/sbdesttest/topics/top1"},"endpointType":"ServiceBusTopic"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"CloudEventSchemaV1_0","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest/providers/Microsoft.EventGrid/topics/kal2020testCE2/providers/Microsoft.EventGrid/eventSubscriptions/essbtopic","name":"essbtopic","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest/providers/microsoft.eventgrid/topics/kal2020testce2","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/kalstest/providers/Microsoft.ServiceBus/namespaces/sbdesttest/topics/top1"},"endpointType":"ServiceBusTopic"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"CloudEventSchemaV1_0","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest/providers/Microsoft.EventGrid/topics/kal2020testCE2/providers/Microsoft.EventGrid/eventSubscriptions/essbtopic2","name":"essbtopic2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sdk-eventgrid-rg-652/providers/microsoft.eventgrid/topics/sdk-topic-5763","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":4400,"preferredBatchSizeInKilobytes":900},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"TestPrefix","subjectEndsWith":".jpg","includedEventTypes":["Event1","Event2"]},"labels":["UpdatedLabel1","UpdatedLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sdk-EventGrid-RG-652/providers/Microsoft.EventGrid/topics/sdk-Topic-5763/providers/Microsoft.EventGrid/eventSubscriptions/sdk-EventSubscription-7490","name":"sdk-EventSubscription-7490","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testtobedeleted/providers/Microsoft.Storage/storageAccounts/testtrackedsourcev2","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testtobedeleted/providers/Microsoft.Storage/storageAccounts/testtrackedsource","queueName":"que"},"endpointType":"StorageQueue"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":[],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testtobedeleted/providers/Microsoft.Storage/storageAccounts/testtrackedsourcev2/providers/Microsoft.EventGrid/eventSubscriptions/sub3","name":"sub3","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgxbxwtotrjvmiy5kwbj66rio5s3j7vz75q5hupj64zwyrzcx3f2x5aecrx2dvs/providers/microsoft.storage/storageaccounts/clieventgridutxvmd76rqjm","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgxbxwtotrjvmiy5kwbj66rio5s3j7vz75q5hupj64zwyrzcx3f2x5aecrx2dvs/providers/Microsoft.Storage/storageAccounts/clieventgridutxvmd76rqjm/providers/Microsoft.EventGrid/eventSubscriptions/clij5ujmfgfnqaux4czoe5lqb4tvvfdc3rvfyv6e","name":"clij5ujmfgfnqaux4czoe5lqb4tvvfdc3rvfyv6e","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgci7xn5udbpfcbnww6jes7b2ueppkivzxnhbrzgmqpipnxr4mzt7ngmrhnucpj/providers/microsoft.storage/storageaccounts/clieventgridiz4r2rdbq6qx","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgci7xn5udbpfcbnww6jes7b2ueppkivzxnhbrzgmqpipnxr4mzt7ngmrhnucpj/providers/Microsoft.Storage/storageAccounts/clieventgridiz4r2rdbq6qx/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg4qynmh3piphjjhmrmmdakjr4hylcqpownbdnjkn63em22i422oa7xvliozxpt/providers/microsoft.storage/storageaccounts/clieventgridsh5ardr4afvp","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg4qynmh3piphjjhmrmmdakjr4hylcqpownbdnjkn63em22i422oa7xvliozxpt/providers/Microsoft.Storage/storageAccounts/clieventgridsh5ardr4afvp/providers/Microsoft.EventGrid/eventSubscriptions/clijm7ylcni2bfgqfvxnduocxadc3vmylmjflgr5","name":"clijm7ylcni2bfgqfvxnduocxadc3vmylmjflgr5","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgrksoyrxjfhqsjo2cgelpokls6dwrfnjxjoio3qzk77lno35cn6xsprtm6zb5p/providers/microsoft.storage/storageaccounts/clieventgridcp5vshafjhwc","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgrksoyrxjfhqsjo2cgelpokls6dwrfnjxjoio3qzk77lno35cn6xsprtm6zb5p/providers/Microsoft.Storage/storageAccounts/clieventgridcp5vshafjhwc/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrghjrtf7awvgjn5byykr55y4mhkfsy2x7y47byjqa2blou3yap5udk7olik7ptt/providers/microsoft.storage/storageaccounts/clieventgrid3hfhd5rjedne","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrghjrtf7awvgjn5byykr55y4mhkfsy2x7y47byjqa2blou3yap5udk7olik7ptt/providers/Microsoft.Storage/storageAccounts/clieventgrid3hfhd5rjedne/providers/Microsoft.EventGrid/eventSubscriptions/climpldmcmpk5ywsqfaxw3ulxlzmix5wnrr6pk5l","name":"climpldmcmpk5ywsqfaxw3ulxlzmix5wnrr6pk5l","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgh7geoqv5zv4ecpogjwu5cvwizemte6ssnegss7moflbgtbsmm5ebwxeqfnw6f/providers/microsoft.storage/storageaccounts/clieventgride3edgv26omxm","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgh7geoqv5zv4ecpogjwu5cvwizemte6ssnegss7moflbgtbsmm5ebwxeqfnw6f/providers/Microsoft.Storage/storageAccounts/clieventgride3edgv26omxm/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/microsoft.eventgrid/topics/amdtesttopic500delete","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/topics/amdtesttopic500delete/providers/Microsoft.EventGrid/eventSubscriptions/ES3333333","name":"ES3333333","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/microsoft.eventgrid/topics/amdtesttopic500delete","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/topics/amdtesttopic500delete/providers/Microsoft.EventGrid/eventSubscriptions/ES99999","name":"ES99999","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/microsoft.eventgrid/topics/amdtesttopic999delete","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/topics/amdtesttopic999delete/providers/Microsoft.EventGrid/eventSubscriptions/ES99889989","name":"ES99889989","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgdosmy66houvuavhznh6dks2jk4fqdvj4zwlyvvgctdbuupk6fixaesbmsho36/providers/microsoft.storage/storageaccounts/clieventgridvsefp3aiv2mz","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgdosmy66houvuavhznh6dks2jk4fqdvj4zwlyvvgctdbuupk6fixaesbmsho36/providers/Microsoft.Storage/storageAccounts/clieventgridvsefp3aiv2mz/providers/Microsoft.EventGrid/eventSubscriptions/cli5ovrsbamkeddt5vpvn4vrj6a7qs4ifemkbg2f","name":"cli5ovrsbamkeddt5vpvn4vrj6a7qs4ifemkbg2f","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrga4wkggwfk6xlk56hlcozl4r4wt2lxaicmceksdfjc5aqabdhutv7rgb54vpyl/providers/microsoft.storage/storageaccounts/clieventgridriv54daw3xun","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrga4wkggwfk6xlk56hlcozl4r4wt2lxaicmceksdfjc5aqabdhutv7rgb54vpyl/providers/Microsoft.Storage/storageAccounts/clieventgridriv54daw3xun/providers/Microsoft.EventGrid/eventSubscriptions/clipohbfr7npbhld32fexehitkzxr3o6u3o52uvm","name":"clipohbfr7npbhld32fexehitkzxr3o6u3o52uvm","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgkkwaej37doqxxczg6aneg4o5jv633ymh7udju7ix23traynxikxhcpdfdsg6u/providers/microsoft.storage/storageaccounts/clieventgridclx4ne6zvc4d","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgkkwaej37doqxxczg6aneg4o5jv633ymh7udju7ix23traynxikxhcpdfdsg6u/providers/Microsoft.Storage/storageAccounts/clieventgridclx4ne6zvc4d/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgjohirijyzw4fhcpwjabsbsjax2x4xj4sl6mupfzw5k7jkom4ikwam5fhgrg3d/providers/microsoft.storage/storageaccounts/clieventgriddlwondxsislc","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgjohirijyzw4fhcpwjabsbsjax2x4xj4sl6mupfzw5k7jkom4ikwam5fhgrg3d/providers/Microsoft.Storage/storageAccounts/clieventgriddlwondxsislc/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrghe5nd65je6i64sq5b5kqriepqyler5skbntvvnn4wqgpc4ldizpzl5hrla5gg/providers/microsoft.storage/storageaccounts/clieventgridhygvtjpxyjuy","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrghe5nd65je6i64sq5b5kqriepqyler5skbntvvnn4wqgpc4ldizpzl5hrla5gg/providers/Microsoft.Storage/storageAccounts/clieventgridhygvtjpxyjuy/providers/Microsoft.EventGrid/eventSubscriptions/cliqhj4sy2rorlev4hq3vvzixgprrk5oi7mp62cl","name":"cliqhj4sy2rorlev4hq3vvzixgprrk5oi7mp62cl","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg5y4sgiacttpujsfwgwauha6kl3h2x26amkc4ekd5pbfspswqrvyzelxj3nkrm/providers/microsoft.storage/storageaccounts/clieventgridnn44um6ii2cu","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg5y4sgiacttpujsfwgwauha6kl3h2x26amkc4ekd5pbfspswqrvyzelxj3nkrm/providers/Microsoft.Storage/storageAccounts/clieventgridnn44um6ii2cu/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrggabo5li5o3f7vfywl6zda3dazw24772h5ulltuq67m6hu6riay4jwk64zbsru/providers/microsoft.storage/storageaccounts/clieventgridu2roes3ms2rx","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrggabo5li5o3f7vfywl6zda3dazw24772h5ulltuq67m6hu6riay4jwk64zbsru/providers/Microsoft.Storage/storageAccounts/clieventgridu2roes3ms2rx/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgghh57kezaloucmrs577bqm4g5ndx3bn6ab4gms43oa62xmxmyfgq77o27ut2c/providers/microsoft.storage/storageaccounts/clieventgridxjtcweuutkoo","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgghh57kezaloucmrs577bqm4g5ndx3bn6ab4gms43oa62xmxmyfgq77o27ut2c/providers/Microsoft.Storage/storageAccounts/clieventgridxjtcweuutkoo/providers/Microsoft.EventGrid/eventSubscriptions/cli5v7w5m3cvxazzfc3erruoed3kwfs6puzj2rw5","name":"cli5v7w5m3cvxazzfc3erruoed3kwfs6puzj2rw5","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg3aqdrcjz6bngi352mh5lkq2utrtxtyftpwafbtgxw2bytilgp3ek4nmxmkhjo/providers/microsoft.storage/storageaccounts/clieventgridjptbv475kqsi","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg3aqdrcjz6bngi352mh5lkq2utrtxtyftpwafbtgxw2bytilgp3ek4nmxmkhjo/providers/Microsoft.Storage/storageAccounts/clieventgridjptbv475kqsi/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg6u6mcttaxgc57tpkh4u5d26frk7vfibeabybslle5glvhk3s3vjlcmoa2nzp5/providers/microsoft.storage/storageaccounts/clieventgridtmqnp6kr5z2v","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg6u6mcttaxgc57tpkh4u5d26frk7vfibeabybslle5glvhk3s3vjlcmoa2nzp5/providers/Microsoft.Storage/storageAccounts/clieventgridtmqnp6kr5z2v/providers/Microsoft.EventGrid/eventSubscriptions/clivgvkqihixbvsflyqnskpimn6rvm63gjuvl44a","name":"clivgvkqihixbvsflyqnskpimn6rvm63gjuvl44a","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgnqw6ytouztleb2ymb7yi7loqr4ffmjddmyda5znnzstl76cxzh77pe6jw5c5w/providers/microsoft.storage/storageaccounts/clieventgrid5mxceddwttzz","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgnqw6ytouztleb2ymb7yi7loqr4ffmjddmyda5znnzstl76cxzh77pe6jw5c5w/providers/Microsoft.Storage/storageAccounts/clieventgrid5mxceddwttzz/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgwvuc4b7dg5eq7hivqkb5k2nocg3beu2xyjqscij3rdap4ycjwkl3ipq6jk44v/providers/microsoft.storage/storageaccounts/clieventgridvwbxgywcvjpo","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgwvuc4b7dg5eq7hivqkb5k2nocg3beu2xyjqscij3rdap4ycjwkl3ipq6jk44v/providers/Microsoft.Storage/storageAccounts/clieventgridvwbxgywcvjpo/providers/Microsoft.EventGrid/eventSubscriptions/cli2modbnllr76ocnzkukwq63nbx7rlkyeskyn42","name":"cli2modbnllr76ocnzkukwq63nbx7rlkyeskyn42","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgrt77xxbqbb3arhsbqohxmc52g3fwvx745z7tvjjllipvzs5y4k5ulm7q3h7ep/providers/microsoft.storage/storageaccounts/clieventgridnhqsh57shjix","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgrt77xxbqbb3arhsbqohxmc52g3fwvx745z7tvjjllipvzs5y4k5ulm7q3h7ep/providers/Microsoft.Storage/storageAccounts/clieventgridnhqsh57shjix/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgrkfkku6myhft6jjiasdu4w5q2dox5kbjaq6icmpo6wm3dgwmkckm472vvufx6/providers/microsoft.storage/storageaccounts/clieventgridgqhmyutqhafx","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgrkfkku6myhft6jjiasdu4w5q2dox5kbjaq6icmpo6wm3dgwmkckm472vvufx6/providers/Microsoft.Storage/storageAccounts/clieventgridgqhmyutqhafx/providers/Microsoft.EventGrid/eventSubscriptions/clixqdoqovd3kvsimg66xyumbqbqxszpw6mlrrui","name":"clixqdoqovd3kvsimg66xyumbqbqxszpw6mlrrui","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgpo65rqu6gqtksrzws5aiyclxdsv6x5lt5zpipmujipzcgjk4mky7u6o7rtztu/providers/microsoft.storage/storageaccounts/clieventgridnd7rte2se3ig","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgpo65rqu6gqtksrzws5aiyclxdsv6x5lt5zpipmujipzcgjk4mky7u6o7rtztu/providers/Microsoft.Storage/storageAccounts/clieventgridnd7rte2se3ig/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgmfluu6uleu6o4nl26nzmpnvpb75mv5xy27ddr4hlop7fqcy5peymdxxnptgmm/providers/microsoft.storage/storageaccounts/clieventgrid4jeaqkddwhzp","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgmfluu6uleu6o4nl26nzmpnvpb75mv5xy27ddr4hlop7fqcy5peymdxxnptgmm/providers/Microsoft.Storage/storageAccounts/clieventgrid4jeaqkddwhzp/providers/Microsoft.EventGrid/eventSubscriptions/clikcpkv4rzlrqcekae4zigzmidb6uv6cwiuwerv","name":"clikcpkv4rzlrqcekae4zigzmidb6uv6cwiuwerv","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgiqqh6l2q3mjryu2ca6jt7bw7cphn667aryjdrqtxocoaq4vgvn455pineprl6/providers/microsoft.storage/storageaccounts/clieventgridnnphf5w7pfbt","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgiqqh6l2q3mjryu2ca6jt7bw7cphn667aryjdrqtxocoaq4vgvn455pineprl6/providers/Microsoft.Storage/storageAccounts/clieventgridnnphf5w7pfbt/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgudqeltf6xbdcepungjy6hk755tchqpig7zaiuxb6vvruhrwlkd4pinll3jjqg/providers/microsoft.storage/storageaccounts/clieventgridau6enmtwlg2i","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgudqeltf6xbdcepungjy6hk755tchqpig7zaiuxb6vvruhrwlkd4pinll3jjqg/providers/Microsoft.Storage/storageAccounts/clieventgridau6enmtwlg2i/providers/Microsoft.EventGrid/eventSubscriptions/clienva75ayppg6wqar4cawzuudlxxiqtb5aojf7","name":"clienva75ayppg6wqar4cawzuudlxxiqtb5aojf7","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgyuysehzpx7wjdlvgwh2v2vc5bl6jcitr4wctknwxzizwr5wmnayxmxhav35k6/providers/microsoft.storage/storageaccounts/clieventgrid23obbd525kol","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgyuysehzpx7wjdlvgwh2v2vc5bl6jcitr4wctknwxzizwr5wmnayxmxhav35k6/providers/Microsoft.Storage/storageAccounts/clieventgrid23obbd525kol/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/topics/tryTopicBug2","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":[],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/topics/tryTopicBug2/providers/Microsoft.EventGrid/eventSubscriptions/testEs10101010","name":"testEs10101010","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgiq3cyl35r4f5pbvezxlhkxbu35bei7xew3gp4u4pdi2xhad6lj6wht6kaosog/providers/microsoft.storage/storageaccounts/clieventgridlqo5iqdcytyd","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgiq3cyl35r4f5pbvezxlhkxbu35bei7xew3gp4u4pdi2xhad6lj6wht6kaosog/providers/Microsoft.Storage/storageAccounts/clieventgridlqo5iqdcytyd/providers/Microsoft.EventGrid/eventSubscriptions/clipq2fx45kuh7prqj5tmki3cugntooygyine5ms","name":"clipq2fx45kuh7prqj5tmki3cugntooygyine5ms","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgv45lvwhmjey7lyuqlvevmio3o7umbqbmqlfvyv4eylmtya3urkfckqnqshac7/providers/microsoft.storage/storageaccounts/clieventgridkbbjvrmdahph","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgv45lvwhmjey7lyuqlvevmio3o7umbqbmqlfvyv4eylmtya3urkfckqnqshac7/providers/Microsoft.Storage/storageAccounts/clieventgridkbbjvrmdahph/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgisfsgcus4fphwhz5mu4bhirtbmxgek6add4cd5womcffzibexwywv4u5trp7a/providers/microsoft.storage/storageaccounts/clieventgridnwxqpjlqv2iu","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgisfsgcus4fphwhz5mu4bhirtbmxgek6add4cd5womcffzibexwywv4u5trp7a/providers/Microsoft.Storage/storageAccounts/clieventgridnwxqpjlqv2iu/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgxlde2rfperlklq6kbnuk5qx5xjujq2cgsc2br4oz6yspr2wvxs7iyaps57p53/providers/microsoft.storage/storageaccounts/clieventgridztrx3xy3rqlq","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgxlde2rfperlklq6kbnuk5qx5xjujq2cgsc2br4oz6yspr2wvxs7iyaps57p53/providers/Microsoft.Storage/storageAccounts/clieventgridztrx3xy3rqlq/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgugms3qgx2me7cejznlj5jsvkpmndlptbrlrzenuyv364qvxb2xcak57x35efk/providers/microsoft.storage/storageaccounts/clieventgrid4cvxoyh52bk6","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgugms3qgx2me7cejznlj5jsvkpmndlptbrlrzenuyv364qvxb2xcak57x35efk/providers/Microsoft.Storage/storageAccounts/clieventgrid4cvxoyh52bk6/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgafr7prcn7cakjuyj2jtdywlibjhbmtiv2xz4475s2dpo2d244wasvzkjfh3vk/providers/microsoft.storage/storageaccounts/clieventgrid2ah7f4zpemdy","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgafr7prcn7cakjuyj2jtdywlibjhbmtiv2xz4475s2dpo2d244wasvzkjfh3vk/providers/Microsoft.Storage/storageAccounts/clieventgrid2ah7f4zpemdy/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgniagzyjjnjzes67bnxega7zqmtni56ronflqz2qlufnu52npvtkx3mmni7zqy/providers/microsoft.storage/storageaccounts/clieventgrid5lkc5jsbfz66","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgniagzyjjnjzes67bnxega7zqmtni56ronflqz2qlufnu52npvtkx3mmni7zqy/providers/Microsoft.Storage/storageAccounts/clieventgrid5lkc5jsbfz66/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription3","name":"CliTestEventsubscription3","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrga7eyqyreiote5hx4i7eixwwdm6qjlmxvrw4sv6vwdlh2jkqtle63ouawctugd/providers/microsoft.storage/storageaccounts/clieventgridomhape7vay2k","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrga7eyqyreiote5hx4i7eixwwdm6qjlmxvrw4sv6vwdlh2jkqtle63ouawctugd/providers/Microsoft.Storage/storageAccounts/clieventgridomhape7vay2k/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription3","name":"CliTestEventsubscription3","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgcypreb5zksvb5yni2haqfugg34yeuwm5tcgo435yv5rtu5avour6kssunzcww/providers/microsoft.storage/storageaccounts/clieventgrid6vpdq5yjbjve","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgcypreb5zksvb5yni2haqfugg34yeuwm5tcgo435yv5rtu5avour6kssunzcww/providers/Microsoft.Storage/storageAccounts/clieventgrid6vpdq5yjbjve/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgb4chitnxjpvph4grqzdkuwr3ht3uozxjyqyvxd7wgtzjf3k552shmjpjthnwe/providers/microsoft.storage/storageaccounts/clieventgridtfppgxfw27mm","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgb4chitnxjpvph4grqzdkuwr3ht3uozxjyqyvxd7wgtzjf3k552shmjpjthnwe/providers/Microsoft.Storage/storageAccounts/clieventgridtfppgxfw27mm/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgn7nmdzbf6ethp5j5rssibdxicbc4c4gwzviz6iasxph6ehqjjntipa6z7txc7/providers/microsoft.storage/storageaccounts/clieventgridvn673uyfofiq","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgn7nmdzbf6ethp5j5rssibdxicbc4c4gwzviz6iasxph6ehqjjntipa6z7txc7/providers/Microsoft.Storage/storageAccounts/clieventgridvn673uyfofiq/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgfwhbf363seg3exvqfoukztuzwrdt7t3xyewglozywxg2vep7t5ewewvuvubsr/providers/microsoft.storage/storageaccounts/clieventgrid2tekrhjygtsf","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgfwhbf363seg3exvqfoukztuzwrdt7t3xyewglozywxg2vep7t5ewewvuvubsr/providers/Microsoft.Storage/storageAccounts/clieventgrid2tekrhjygtsf/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgtaxjqrgoqliwhgmrh2pqiqhmf6555up5sk7heykhhrux6lzodfxmx6zpygmca/providers/microsoft.storage/storageaccounts/clieventgriddoeqqqxjttd5","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgtaxjqrgoqliwhgmrh2pqiqhmf6555up5sk7heykhhrux6lzodfxmx6zpygmca/providers/Microsoft.Storage/storageAccounts/clieventgriddoeqqqxjttd5/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription2","name":"CliTestEventGridEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgm6ix6shqn4h2xdv5lbf5hq2fumymktzfppus54saoe4pjm4oukdi4llo5552p/providers/microsoft.storage/storageaccounts/clieventgridztmcroyp3n5x","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgm6ix6shqn4h2xdv5lbf5hq2fumymktzfppus54saoe4pjm4oukdi4llo5552p/providers/Microsoft.Storage/storageAccounts/clieventgridztmcroyp3n5x/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription2","name":"CliTestEventGridEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgxzb5julgtc4lcpdzueo2mcsbfyvdt3nn3hsalsiizsgeoisnkuflpkwomeigp/providers/microsoft.storage/storageaccounts/clieventgridbxvhcbk5ex7o","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgxzb5julgtc4lcpdzueo2mcsbfyvdt3nn3hsalsiizsgeoisnkuflpkwomeigp/providers/Microsoft.Storage/storageAccounts/clieventgridbxvhcbk5ex7o/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription2","name":"CliTestEventGridEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg7euqghqtpev2bz4w4x4ztiw2hwtgirnr56qxphuda625xacsljoibin6mugh2/providers/microsoft.storage/storageaccounts/clieventgridqmsk6x5hw5mh","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg7euqghqtpev2bz4w4x4ztiw2hwtgirnr56qxphuda625xacsljoibin6mugh2/providers/Microsoft.Storage/storageAccounts/clieventgridqmsk6x5hw5mh/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription2","name":"CliTestEventGridEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgp2zkwbddiqlk4bpo4yu5vuoapymkod45ahl4u4dbti6hbnflslwjxca35w6dn/providers/microsoft.storage/storageaccounts/clieventgrids2ll6rpr5bz7","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgp2zkwbddiqlk4bpo4yu5vuoapymkod45ahl4u4dbti6hbnflslwjxca35w6dn/providers/Microsoft.Storage/storageAccounts/clieventgrids2ll6rpr5bz7/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription2","name":"CliTestEventGridEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgeie5ak7g254uucmrgvwk6a2f3zixyjv4ksf6sax2jiaupsv3xo5svi5zccuam/providers/microsoft.storage/storageaccounts/clieventgrid2uw4vppccqy6","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgeie5ak7g254uucmrgvwk6a2f3zixyjv4ksf6sax2jiaupsv3xo5svi5zccuam/providers/Microsoft.Storage/storageAccounts/clieventgrid2uw4vppccqy6/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription2","name":"CliTestEventGridEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgivgza73kdfwnejf7l5t32inhy4vtfipvcha6uqhfv7galj2ljpkw3dfps7sl4/providers/microsoft.storage/storageaccounts/clieventgridkda43unnb3kj","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/api/DevExpFunc","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgivgza73kdfwnejf7l5t32inhy4vtfipvcha6uqhfv7galj2ljpkw3dfps7sl4/providers/Microsoft.Storage/storageAccounts/clieventgridkda43unnb3kj/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription4","name":"CliTestEventGridEventsubscription4","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrghuyktkziilpuzlmmiujuu3raizkqvu3qfcrqexmsxk2hwkgwp3keaid7ye5ls/providers/microsoft.storage/storageaccounts/clieventgridpsdnniq47mhl","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/api/DevExpFunc","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrghuyktkziilpuzlmmiujuu3raizkqvu3qfcrqexmsxk2hwkgwp3keaid7ye5ls/providers/Microsoft.Storage/storageAccounts/clieventgridpsdnniq47mhl/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription4","name":"CliTestEventGridEventsubscription4","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg3mxyowbjic7u6wgsgr3uvwiwqvls4jwzvlojknktu7gl7y3czo5avzz65dngo/providers/microsoft.storage/storageaccounts/clieventgridnoxbg62wvgr3","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.ServiceBus/namespaces/devexpservicebus/topics/devexptopic1"},"endpointType":"ServiceBusTopic"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"CloudEventSchemaV1_0","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg3mxyowbjic7u6wgsgr3uvwiwqvls4jwzvlojknktu7gl7y3czo5avzz65dngo/providers/Microsoft.Storage/storageAccounts/clieventgridnoxbg62wvgr3/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription1","name":"CliTestEventGridEventsubscription1","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg7iqvmc3btr2drbccfffe22ytzlhq4mgkblsyco6m7mytibxide5y44c3ipz5m/providers/microsoft.storage/storageaccounts/clieventgridg4u3iu6dg4my","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/api/DevExpFunc","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128,"azureActiveDirectoryTenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","azureActiveDirectoryApplicationIdOrUri":"03d47d4a-7c50-43e0-ba90-89d090cc4582"},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg7iqvmc3btr2drbccfffe22ytzlhq4mgkblsyco6m7mytibxide5y44c3ipz5m/providers/Microsoft.Storage/storageAccounts/clieventgridg4u3iu6dg4my/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription3","name":"CliTestEventGridEventsubscription3","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg4qupxfilzzc2zbqcc2unmiijehi6afghvttaugkz37hlt525kkc3c3odqfkka/providers/microsoft.storage/storageaccounts/clieventgridmncnb443mcus","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/api/DevExpFunc","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128,"azureActiveDirectoryTenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","azureActiveDirectoryApplicationIdOrUri":"03d47d4a-7c50-43e0-ba90-89d090cc4582"},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg4qupxfilzzc2zbqcc2unmiijehi6afghvttaugkz37hlt525kkc3c3odqfkka/providers/Microsoft.Storage/storageAccounts/clieventgridmncnb443mcus/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription3","name":"CliTestEventGridEventsubscription3","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgsq4ybeidt2rvzvick3smgq2lxsv2dk3b7j2wyle3li5lc4hxdtrixame6pwtp/providers/microsoft.storage/storageaccounts/clieventgrid6pfiijxxenrs","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/api/DevExpFunc","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128,"azureActiveDirectoryTenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","azureActiveDirectoryApplicationIdOrUri":"03d47d4a-7c50-43e0-ba90-89d090cc4582"},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgsq4ybeidt2rvzvick3smgq2lxsv2dk3b7j2wyle3li5lc4hxdtrixame6pwtp/providers/Microsoft.Storage/storageAccounts/clieventgrid6pfiijxxenrs/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription3","name":"CliTestEventGridEventsubscription3","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgr7whbnx2zv7n6ksazc6yeymkm6hskjm3775zacs3kmeqkb3gc76jzgtqbs2c7/providers/microsoft.storage/storageaccounts/clieventgridemhlcao6nang","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/api/DevExpFunc","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128,"azureActiveDirectoryTenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","azureActiveDirectoryApplicationIdOrUri":"03d47d4a-7c50-43e0-ba90-89d090cc4582"},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgr7whbnx2zv7n6ksazc6yeymkm6hskjm3775zacs3kmeqkb3gc76jzgtqbs2c7/providers/Microsoft.Storage/storageAccounts/clieventgridemhlcao6nang/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription3","name":"CliTestEventGridEventsubscription3","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgxl5k5dx2g7z57k2dpocqddp7to3vooa3pkad4wkv3rjexdpfjprtffgoudnv2/providers/microsoft.storage/storageaccounts/clieventgridpec3b3mly2k2","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/api/DevExpFunc","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128,"azureActiveDirectoryTenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","azureActiveDirectoryApplicationIdOrUri":"03d47d4a-7c50-43e0-ba90-89d090cc4582"},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgxl5k5dx2g7z57k2dpocqddp7to3vooa3pkad4wkv3rjexdpfjprtffgoudnv2/providers/Microsoft.Storage/storageAccounts/clieventgridpec3b3mly2k2/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription3","name":"CliTestEventGridEventsubscription3","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgwrfuttqh57esx2sdefe4t3nf3axlfuwvr3yvhszvxedwqrf4ktibwi7myo5wi/providers/microsoft.storage/storageaccounts/clieventgridsinnbv7fzzk6","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/api/DevExpFunc","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"SomeRandomText112341","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgwrfuttqh57esx2sdefe4t3nf3axlfuwvr3yvhszvxedwqrf4ktibwi7myo5wi/providers/Microsoft.Storage/storageAccounts/clieventgridsinnbv7fzzk6/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription4","name":"CliTestEventGridEventsubscription4","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/privatelink-demo/providers/Microsoft.EventGrid/topics/bmttopicpe","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/e2e/providers/Microsoft.ServiceBus/namespaces/ege2eservicebusnamespace/topics/testtopic"},"endpointType":"ServiceBusTopic"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":[],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/privatelink-demo/providers/Microsoft.EventGrid/topics/bmttopicpe/providers/Microsoft.EventGrid/eventSubscriptions/bmttopicpesub1","name":"bmttopicpesub1","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sdk-eventgrid-rg-2313/providers/microsoft.eventgrid/partnertopics/sdk-parttop-1314","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Storage/storageAccounts/devexpstg","queueName":"queue1"},"endpointType":"StorageQueue"},"filter":{"subjectBeginsWith":"TestPrefix","subjectEndsWith":"TestSuffix","isSubjectCaseSensitive":true},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"CloudEventSchemaV1_0","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sdk-EventGrid-RG-2313/providers/Microsoft.EventGrid/partnerTopics/sdk-PartTop-1314/providers/Microsoft.EventGrid/eventSubscriptions/sdk-EventSubscription-9445","name":"sdk-EventSubscription-9445","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sdk-eventgrid-rg-7900/providers/microsoft.eventgrid/partnertopics/sdk-parttop-1118","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Storage/storageAccounts/devexpstg","queueName":"queue1"},"endpointType":"StorageQueue"},"filter":{"subjectBeginsWith":"TestPrefix","subjectEndsWith":"TestSuffix","isSubjectCaseSensitive":true},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"CloudEventSchemaV1_0","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sdk-EventGrid-RG-7900/providers/Microsoft.EventGrid/partnerTopics/sdk-PartTop-1118/providers/Microsoft.EventGrid/eventSubscriptions/sdk-EventSubscription-6637","name":"sdk-EventSubscription-6637","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/topics/testTopic123","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":[],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/topics/testTopic123/providers/Microsoft.EventGrid/eventSubscriptions/test123es","name":"test123es","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/microsoft.eventgrid/topics/testtopic123","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/api/DevExpFunc","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/topics/testTopic123/providers/Microsoft.EventGrid/eventSubscriptions/test1234566es1","name":"test1234566es1","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgjqo552hub5xnhihsieqavenytd2ccdbwb5djjwauf5oo2nvhoia7uhzob4qctkzcz/providers/microsoft.eventgrid/partnertopics/clinqt6fawfodm7wq7zot6gpxst5y35vm6gyqzja","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Storage/storageAccounts/devexpstg","queueName":"stogqueuedestination"},"endpointType":"StorageQueue"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"CloudEventSchemaV1_0","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgjqo552hub5xnhihsieqavenytd2ccdbwb5djjwauf5oo2nvhoia7uhzob4qctkzcz/providers/Microsoft.EventGrid/partnerTopics/clinqt6fawfodm7wq7zot6gpxst5y35vm6gyqzja/providers/Microsoft.EventGrid/eventSubscriptions/cli46los4ccbbgkxfehthiunllrddhdljb5waw47","name":"cli46los4ccbbgkxfehthiunllrddhdljb5waw47","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/microsoft.eventgrid/partnertopics/topic1234433","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Storage/storageAccounts/devexpstg","queueName":"stogqueuedestination"},"endpointType":"StorageQueue"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"CloudEventSchemaV1_0","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/partnerTopics/topic1234433/providers/Microsoft.EventGrid/eventSubscriptions/es1","name":"es1","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg3mvw6kejrrfqy5m47va7tpf554vxuwbiv6xttopbfxnmybdxyxy57h3gyxrcfv633/providers/microsoft.eventgrid/partnertopics/climytsftohj4yx6udgzrn4tvdrbf3vmraaoarvc","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Storage/storageAccounts/devexpstg","queueName":"stogqueuedestination"},"endpointType":"StorageQueue"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"CloudEventSchemaV1_0","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg3mvw6kejrrfqy5m47va7tpf554vxuwbiv6xttopbfxnmybdxyxy57h3gyxrcfv633/providers/Microsoft.EventGrid/partnerTopics/climytsftohj4yx6udgzrn4tvdrbf3vmraaoarvc/providers/Microsoft.EventGrid/eventSubscriptions/clinieemgtqbn6qdjd563bspbr74wjs245ofhx7o","name":"clinieemgtqbn6qdjd563bspbr74wjs245ofhx7o","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/microsoft.eventgrid/partnertopics/topic1234433","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Storage/storageAccounts/devexpstg","queueName":"stogqueuedestination"},"endpointType":"StorageQueue"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"CloudEventSchemaV1_0","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/partnerTopics/topic1234433/providers/Microsoft.EventGrid/eventSubscriptions/es11","name":"es11","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/microsoft.eventgrid/partnertopics/topic1234433","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Storage/storageAccounts/devexpstg","queueName":"stogqueuedestination"},"endpointType":"StorageQueue"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"CloudEventSchemaV1_0","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/partnerTopics/topic1234433/providers/Microsoft.EventGrid/eventSubscriptions/es22","name":"es22","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/microsoft.eventgrid/partnertopics/topic1234433","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Storage/storageAccounts/devexpstg","queueName":"stogqueuedestination"},"endpointType":"StorageQueue"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"CloudEventSchemaV1_0","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/partnerTopics/topic1234433/providers/Microsoft.EventGrid/eventSubscriptions/es1001","name":"es1001","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/microsoft.eventgrid/partnertopics/topic1234433","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Storage/storageAccounts/devexpstg","queueName":"stogqueuedestination"},"endpointType":"StorageQueue"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"CloudEventSchemaV1_0","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/partnerTopics/topic1234433/providers/Microsoft.EventGrid/eventSubscriptions/es2002","name":"es2002","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg26vetmancw6i6gy2ukjytpisj6fuaywddsjh2z3wpebqpyx6pseu6b6zi7d7n4puv/providers/microsoft.eventgrid/partnertopics/clic52ogpepdudtktltyafvo7xdb47i5elgtvzoc","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Storage/storageAccounts/devexpstg","queueName":"stogqueuedestination"},"endpointType":"StorageQueue"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"CloudEventSchemaV1_0","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg26vetmancw6i6gy2ukjytpisj6fuaywddsjh2z3wpebqpyx6pseu6b6zi7d7n4puv/providers/Microsoft.EventGrid/partnerTopics/clic52ogpepdudtktltyafvo7xdb47i5elgtvzoc/providers/Microsoft.EventGrid/eventSubscriptions/clinzrnr5dww7o73avgufnig7rciszksam2hldnc","name":"clinzrnr5dww7o73avgufnig7rciszksam2hldnc","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rggakiiuwcw2hm4so3dvhxsoviavhnl2iinolq4s6dwhl5eevse7tc4xqret4jrrnw4/providers/microsoft.eventgrid/partnertopics/cliwleqdgnclq2s3lwzq2k4gzjk53b3bxd6tjn7x","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Storage/storageAccounts/devexpstg","queueName":"stogqueuedestination"},"endpointType":"StorageQueue"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":["label11","label22"],"eventDeliverySchema":"CloudEventSchemaV1_0","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rggakiiuwcw2hm4so3dvhxsoviavhnl2iinolq4s6dwhl5eevse7tc4xqret4jrrnw4/providers/Microsoft.EventGrid/partnerTopics/cliwleqdgnclq2s3lwzq2k4gzjk53b3bxd6tjn7x/providers/Microsoft.EventGrid/eventSubscriptions/clizjqkk5mmthv54oqwvlydqzgziecgbugrd2t2l","name":"clizjqkk5mmthv54oqwvlydqzgziecgbugrd2t2l","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgnvx7d7s4fcvnvocjzaqnafxkcncy33h356562qcuajfbqxzquibxetbag7xxco5yg/providers/microsoft.eventgrid/partnertopics/clitjrwjmx6eywmvwa6d2ghncpwupopfnt6w55gs","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Storage/storageAccounts/devexpstg","queueName":"stogqueuedestination"},"endpointType":"StorageQueue"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":["label11","label22"],"eventDeliverySchema":"CloudEventSchemaV1_0","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgnvx7d7s4fcvnvocjzaqnafxkcncy33h356562qcuajfbqxzquibxetbag7xxco5yg/providers/Microsoft.EventGrid/partnerTopics/clitjrwjmx6eywmvwa6d2ghncpwupopfnt6w55gs/providers/Microsoft.EventGrid/eventSubscriptions/clitoifnkjtcqsiousdlzzosqys3eihftbsa54el","name":"clitoifnkjtcqsiousdlzzosqys3eihftbsa54el","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testtobedeleted/providers/microsoft.storage/storageaccounts/trackedsource2stg","provisioningState":"Creating","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/TESTTOBEDELETED/providers/MICROSOFT.STORAGE/STORAGEACCOUNTS/TRACKEDSOURCE2STG/providers/Microsoft.EventGrid/eventSubscriptions/cliuv3fugen2hxxugz5tl67tvpy5xpqbndngekjg","name":"cliuv3fugen2hxxugz5tl67tvpy5xpqbndngekjg","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgv4czvwstoyqf2ublny73hkiyfogddels6ik6s3mbzu7on5lb7gykwf6pgxuej6kc6/providers/microsoft.storage/storageaccounts/clieventgridul25mthqlqnd","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Storage/storageAccounts/devexpstg","queueName":"stogqueuedestination"},"endpointType":"StorageQueue"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"SomeRandomText2","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"CloudEventSchemaV1_0","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440},"deadLetterDestination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Storage/storageAccounts/devexpstg","blobContainerName":"dlq"},"endpointType":"StorageBlob"}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgv4czvwstoyqf2ublny73hkiyfogddels6ik6s3mbzu7on5lb7gykwf6pgxuej6kc6/providers/Microsoft.Storage/storageAccounts/clieventgridul25mthqlqnd/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription1","name":"CliTestEventsubscription1","type":"Microsoft.EventGrid/eventSubscriptions"}],"nextLink":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/eventSubscriptions?api-version=2020-04-01-preview&$skiptoken=%7b%22token%22%3a%22%2bRID%3a%7eStFeALnw3QBzAhQAAAAAAA%3d%3d%23RT%3a1%23TRC%3a100%23ISV%3a2%23IEO%3a65551%23QCF%3a1%23FPC%3aAXMCFAAAAAAAewIUAAAAAAA%3d%22%2c%22range%22%3a%7b%22min%22%3a%22%22%2c%22max%22%3a%22FF%22%7d%7d&$top=100"}' + string: '{"value":[{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.eventgrid/topics/eg-latency-runner-topic-centraluseuap","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventHub/namespaces/egrunnereventhubnamespacecentraluseuap/eventhubs/egltncyrunnereventhubcentraluseuap"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"Subject","subjectEndsWith":"","isSubjectCaseSensitive":true,"advancedFilters":[{"values":["runner"],"operatorType":"StringContains","key":"topic"},{"values":["Info"],"operatorType":"StringEndsWith","key":"data.EventData"},{"values":[1.0,2.0,3.0],"operatorType":"NumberIn","key":"data.key1"},{"value":true,"operatorType":"BoolEquals","key":"data.key2"},{"values":["3.0"],"operatorType":"StringContains","key":"dataversion"}]},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventGrid/topics/eg-latency-runner-topic-centraluseuap/providers/Microsoft.EventGrid/eventSubscriptions/eg-latency-runner-subscription-centraluseuap","name":"eg-latency-runner-subscription-centraluseuap","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.eventgrid/topics/eg-latency-runner-topic-eg-euap-usce-01","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventHub/namespaces/egrunnereventhubnamespacecentraluseuap/eventhubs/egltncyrunnereventhub-eg-euap-usce-01"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"Subject","subjectEndsWith":"","isSubjectCaseSensitive":true,"advancedFilters":[{"values":["runner"],"operatorType":"StringContains","key":"topic"},{"values":["Info"],"operatorType":"StringEndsWith","key":"data.EventData"},{"values":[1.0,2.0,3.0],"operatorType":"NumberIn","key":"data.key1"},{"value":true,"operatorType":"BoolEquals","key":"data.key2"},{"values":["3.0"],"operatorType":"StringContains","key":"dataversion"}]},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventGrid/topics/eg-latency-runner-topic-eg-euap-usce-01/providers/Microsoft.EventGrid/eventSubscriptions/eg-latency-runner-subscription-eg-euap-usce-01","name":"eg-latency-runner-subscription-eg-euap-usce-01","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/egstrgltncypubctruseuap","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventHub/namespaces/egrunnereventhubnamespacecentraluseuap/eventhubs/egstrgltncyrunnereventhubcentraluseuap"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.Storage/storageAccounts/egstrgltncypubctruseuap/providers/Microsoft.EventGrid/eventSubscriptions/eg-strg-ltncy-Subscription-centraluseuap","name":"eg-strg-ltncy-Subscription-centraluseuap","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.eventgrid/topics/eg-latency-runner-topic-eg-euap-usce-02","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventHub/namespaces/egrunnereventhubnamespacecentraluseuap/eventhubs/egltncyrunnereventhub-eg-euap-usce-02"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"Subject","subjectEndsWith":"","isSubjectCaseSensitive":true,"advancedFilters":[{"values":["runner"],"operatorType":"StringContains","key":"topic"},{"values":["Info"],"operatorType":"StringEndsWith","key":"data.EventData"},{"values":[1.0,2.0,3.0],"operatorType":"NumberIn","key":"data.key1"},{"value":true,"operatorType":"BoolEquals","key":"data.key2"},{"values":["3.0"],"operatorType":"StringContains","key":"dataversion"}]},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventGrid/topics/eg-latency-runner-topic-eg-euap-usce-02/providers/Microsoft.EventGrid/eventSubscriptions/eg-latency-runner-subscription-eg-euap-usce-02","name":"eg-latency-runner-subscription-eg-euap-usce-02","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.eventgrid/topics/eglatencyrunnerqueuetopiccentraluseuap","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.Storage/storageAccounts/egrunnerstgcentraluseuap","queueName":"egltcyrunnerstgqueuedestinationcentraluseuap"},"endpointType":"StorageQueue"},"filter":{"subjectBeginsWith":"Subject","subjectEndsWith":"","isSubjectCaseSensitive":true,"advancedFilters":[{"values":["runner"],"operatorType":"StringContains","key":"topic"},{"values":["Info"],"operatorType":"StringEndsWith","key":"data.EventData"},{"values":[1.0,2.0,3.0],"operatorType":"NumberIn","key":"data.key1"},{"value":true,"operatorType":"BoolEquals","key":"data.key2"},{"values":["3.0"],"operatorType":"StringContains","key":"dataversion"}]},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439},"deadLetterDestination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.Storage/storageAccounts/egrunnerstgcentraluseuap","blobContainerName":"egltcyrunnerstgdlqcentraluseuap"},"endpointType":"StorageBlob"}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventGrid/topics/eglatencyrunnerqueuetopiccentraluseuap/providers/Microsoft.EventGrid/eventSubscriptions/eglatencyrunnerqueuesubscriptioncentraluseuap","name":"eglatencyrunnerqueuesubscriptioncentraluseuap","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/pubstgrunner6987e7bb","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventHub/namespaces/egrunnereventhubnamespacecentraluseuap/eventhubs/egstoragerunnereventhubcentraluseuap"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.Storage/storageAccounts/pubstgrunner6987e7bb/providers/Microsoft.EventGrid/eventSubscriptions/StorageSubscription0e5b9108","name":"StorageSubscription0e5b9108","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.eventgrid/topics/eg-latency-runner-topic-localtest-centraluseuap","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventHub/namespaces/egrunnereventhubnamespacecentraluseuap/eventhubs/egltncyrunnereventhublocaltestcentraluseuap"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"Subject","subjectEndsWith":"","isSubjectCaseSensitive":true,"advancedFilters":[{"values":["runner"],"operatorType":"StringContains","key":"topic"},{"values":["Info"],"operatorType":"StringEndsWith","key":"data.EventData"},{"values":[1.0,2.0,3.0],"operatorType":"NumberIn","key":"data.key1"},{"value":true,"operatorType":"BoolEquals","key":"data.key2"},{"values":["3.0"],"operatorType":"StringContains","key":"dataversion"}]},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventGrid/topics/eg-latency-runner-topic-localtest-centraluseuap/providers/Microsoft.EventGrid/eventSubscriptions/eg-latency-runner-localtest-subscription-centraluseuap","name":"eg-latency-runner-localtest-subscription-centraluseuap","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/egstgltncpblctsctruseuap","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventHub/namespaces/egrunnereventhubnamespacecentraluseuap/eventhubs/egstrgltncyrunnereventhublocaltestcentraluseuap"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.Storage/storageAccounts/egstgltncpblctsctruseuap/providers/Microsoft.EventGrid/eventSubscriptions/eg-strg-ltncy-Sub-localtest-centraluseuap","name":"eg-strg-ltncy-Sub-localtest-centraluseuap","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.eventgrid/topics/eg-latency-dq-runner-topic-eg-euap-usce-01","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventHub/namespaces/egrunnereventhubnamespacecentraluseuap/eventhubs/egltncydqrunnereventhub-eg-euap-usce-01"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"Subject","subjectEndsWith":"","isSubjectCaseSensitive":true,"advancedFilters":[{"values":["runner"],"operatorType":"StringContains","key":"topic"},{"values":["Info"],"operatorType":"StringEndsWith","key":"data.EventData"},{"values":[1.0,2.0,3.0],"operatorType":"NumberIn","key":"data.key1"},{"value":true,"operatorType":"BoolEquals","key":"data.key2"},{"values":["3.0"],"operatorType":"StringContains","key":"dataversion"}]},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventGrid/topics/eg-latency-dq-runner-topic-eg-euap-usce-01/providers/Microsoft.EventGrid/eventSubscriptions/eg-latency-dq-runner-subscription-eg-euap-usce-01","name":"eg-latency-dq-runner-subscription-eg-euap-usce-01","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/pubstgrunner60519dde","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventHub/namespaces/egrunnereventhubnamespacecentraluseuap/eventhubs/egstoragerunnereventhubcentraluseuap"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.Storage/storageAccounts/pubstgrunner60519dde/providers/Microsoft.EventGrid/eventSubscriptions/StorageSubscription49c4d9fb","name":"StorageSubscription49c4d9fb","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/pubstgrunner5fd608f9","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventHub/namespaces/egrunnereventhubnamespacecentraluseuap/eventhubs/egstoragerunnereventhubcentraluseuap"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.Storage/storageAccounts/pubstgrunner5fd608f9/providers/Microsoft.EventGrid/eventSubscriptions/StorageSubscriptione5aac914","name":"StorageSubscriptione5aac914","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/pubstgrunner2079eae9","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventHub/namespaces/egrunnereventhubnamespacecentraluseuap/eventhubs/egstoragerunnereventhubcentraluseuap"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.Storage/storageAccounts/pubstgrunner2079eae9/providers/Microsoft.EventGrid/eventSubscriptions/StorageSubscription9593e3c0","name":"StorageSubscription9593e3c0","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/pubstgrunner6c93c1a3","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventHub/namespaces/egrunnereventhubnamespacecentraluseuap/eventhubs/egstoragerunnereventhubcentraluseuap"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.Storage/storageAccounts/pubstgrunner6c93c1a3/providers/Microsoft.EventGrid/eventSubscriptions/StorageSubscription1f316c0f","name":"StorageSubscription1f316c0f","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/pubstgrunnerea146210","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventHub/namespaces/egrunnereventhubnamespacecentraluseuap/eventhubs/egstoragerunnereventhubcentraluseuap"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.Storage/storageAccounts/pubstgrunnerea146210/providers/Microsoft.EventGrid/eventSubscriptions/StorageSubscription217a2243","name":"StorageSubscription217a2243","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/pubstgrunner40d9276e","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventHub/namespaces/egrunnereventhubnamespacecentraluseuap/eventhubs/egstoragerunnereventhubcentraluseuap"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.Storage/storageAccounts/pubstgrunner40d9276e/providers/Microsoft.EventGrid/eventSubscriptions/StorageSubscriptionfa21da9c","name":"StorageSubscriptionfa21da9c","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/pubstgrunnerf055a949","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventHub/namespaces/egrunnereventhubnamespacecentraluseuap/eventhubs/egstoragerunnereventhubcentraluseuap"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.Storage/storageAccounts/pubstgrunnerf055a949/providers/Microsoft.EventGrid/eventSubscriptions/StorageSubscription48052b63","name":"StorageSubscription48052b63","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/pubstgrunner8f140576","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventHub/namespaces/egrunnereventhubnamespacecentraluseuap/eventhubs/egstoragerunnereventhubcentraluseuap"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.Storage/storageAccounts/pubstgrunner8f140576/providers/Microsoft.EventGrid/eventSubscriptions/StorageSubscriptionede3781f","name":"StorageSubscriptionede3781f","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/pubstgrunner55fbeadb","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventHub/namespaces/egrunnereventhubnamespacecentraluseuap/eventhubs/egstoragerunnereventhubcentraluseuap"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.Storage/storageAccounts/pubstgrunner55fbeadb/providers/Microsoft.EventGrid/eventSubscriptions/StorageSubscription98bddbdb","name":"StorageSubscription98bddbdb","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/pubstgrunnerfca34fd4","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventHub/namespaces/egrunnereventhubnamespacecentraluseuap/eventhubs/egstoragerunnereventhubcentraluseuap"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.Storage/storageAccounts/pubstgrunnerfca34fd4/providers/Microsoft.EventGrid/eventSubscriptions/StorageSubscription558f16e1","name":"StorageSubscription558f16e1","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/pubstgrunner5d335ceb","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventHub/namespaces/egrunnereventhubnamespacecentraluseuap/eventhubs/egstoragerunnereventhubcentraluseuap"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.Storage/storageAccounts/pubstgrunner5d335ceb/providers/Microsoft.EventGrid/eventSubscriptions/StorageSubscription2991458a","name":"StorageSubscription2991458a","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/pubstgrunner2ee3ed76","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventHub/namespaces/egrunnereventhubnamespacecentraluseuap/eventhubs/egstoragerunnereventhubcentraluseuap"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.Storage/storageAccounts/pubstgrunner2ee3ed76/providers/Microsoft.EventGrid/eventSubscriptions/StorageSubscription8a8c6a2d","name":"StorageSubscription8a8c6a2d","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/pubstgrunner6757fb87","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventHub/namespaces/egrunnereventhubnamespacecentraluseuap/eventhubs/egstoragerunnereventhubcentraluseuap"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.Storage/storageAccounts/pubstgrunner6757fb87/providers/Microsoft.EventGrid/eventSubscriptions/StorageSubscriptionc7fb317d","name":"StorageSubscriptionc7fb317d","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest/providers/microsoft.eventgrid/topics/kal2020testce2","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/kalstest/providers/Microsoft.Storage/storageAccounts/kalsiotstorage","queueName":"sq1"},"endpointType":"StorageQueue"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"CloudEventSchemaV1_0","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest/providers/Microsoft.EventGrid/topics/kal2020testCE2/providers/Microsoft.EventGrid/eventSubscriptions/es4","name":"es4","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest/providers/microsoft.eventgrid/topics/kal2020testce2","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/kalstest/providers/Microsoft.ServiceBus/namespaces/sbdesttest/topics/top1"},"endpointType":"ServiceBusTopic"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"CloudEventSchemaV1_0","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest/providers/Microsoft.EventGrid/topics/kal2020testCE2/providers/Microsoft.EventGrid/eventSubscriptions/essbtopic","name":"essbtopic","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest/providers/microsoft.eventgrid/topics/kal2020testce2","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/kalstest/providers/Microsoft.ServiceBus/namespaces/sbdesttest/topics/top1"},"endpointType":"ServiceBusTopic"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"CloudEventSchemaV1_0","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest/providers/Microsoft.EventGrid/topics/kal2020testCE2/providers/Microsoft.EventGrid/eventSubscriptions/essbtopic2","name":"essbtopic2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sdk-eventgrid-rg-652/providers/microsoft.eventgrid/topics/sdk-topic-5763","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":4400,"preferredBatchSizeInKilobytes":900},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"TestPrefix","subjectEndsWith":".jpg","includedEventTypes":["Event1","Event2"]},"labels":["UpdatedLabel1","UpdatedLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sdk-EventGrid-RG-652/providers/Microsoft.EventGrid/topics/sdk-Topic-5763/providers/Microsoft.EventGrid/eventSubscriptions/sdk-EventSubscription-7490","name":"sdk-EventSubscription-7490","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgxbxwtotrjvmiy5kwbj66rio5s3j7vz75q5hupj64zwyrzcx3f2x5aecrx2dvs/providers/microsoft.storage/storageaccounts/clieventgridutxvmd76rqjm","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgxbxwtotrjvmiy5kwbj66rio5s3j7vz75q5hupj64zwyrzcx3f2x5aecrx2dvs/providers/Microsoft.Storage/storageAccounts/clieventgridutxvmd76rqjm/providers/Microsoft.EventGrid/eventSubscriptions/clij5ujmfgfnqaux4czoe5lqb4tvvfdc3rvfyv6e","name":"clij5ujmfgfnqaux4czoe5lqb4tvvfdc3rvfyv6e","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgci7xn5udbpfcbnww6jes7b2ueppkivzxnhbrzgmqpipnxr4mzt7ngmrhnucpj/providers/microsoft.storage/storageaccounts/clieventgridiz4r2rdbq6qx","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgci7xn5udbpfcbnww6jes7b2ueppkivzxnhbrzgmqpipnxr4mzt7ngmrhnucpj/providers/Microsoft.Storage/storageAccounts/clieventgridiz4r2rdbq6qx/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg4qynmh3piphjjhmrmmdakjr4hylcqpownbdnjkn63em22i422oa7xvliozxpt/providers/microsoft.storage/storageaccounts/clieventgridsh5ardr4afvp","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg4qynmh3piphjjhmrmmdakjr4hylcqpownbdnjkn63em22i422oa7xvliozxpt/providers/Microsoft.Storage/storageAccounts/clieventgridsh5ardr4afvp/providers/Microsoft.EventGrid/eventSubscriptions/clijm7ylcni2bfgqfvxnduocxadc3vmylmjflgr5","name":"clijm7ylcni2bfgqfvxnduocxadc3vmylmjflgr5","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgrksoyrxjfhqsjo2cgelpokls6dwrfnjxjoio3qzk77lno35cn6xsprtm6zb5p/providers/microsoft.storage/storageaccounts/clieventgridcp5vshafjhwc","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgrksoyrxjfhqsjo2cgelpokls6dwrfnjxjoio3qzk77lno35cn6xsprtm6zb5p/providers/Microsoft.Storage/storageAccounts/clieventgridcp5vshafjhwc/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrghjrtf7awvgjn5byykr55y4mhkfsy2x7y47byjqa2blou3yap5udk7olik7ptt/providers/microsoft.storage/storageaccounts/clieventgrid3hfhd5rjedne","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrghjrtf7awvgjn5byykr55y4mhkfsy2x7y47byjqa2blou3yap5udk7olik7ptt/providers/Microsoft.Storage/storageAccounts/clieventgrid3hfhd5rjedne/providers/Microsoft.EventGrid/eventSubscriptions/climpldmcmpk5ywsqfaxw3ulxlzmix5wnrr6pk5l","name":"climpldmcmpk5ywsqfaxw3ulxlzmix5wnrr6pk5l","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgh7geoqv5zv4ecpogjwu5cvwizemte6ssnegss7moflbgtbsmm5ebwxeqfnw6f/providers/microsoft.storage/storageaccounts/clieventgride3edgv26omxm","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgh7geoqv5zv4ecpogjwu5cvwizemte6ssnegss7moflbgtbsmm5ebwxeqfnw6f/providers/Microsoft.Storage/storageAccounts/clieventgride3edgv26omxm/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/microsoft.eventgrid/topics/amdtesttopic500delete","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/topics/amdtesttopic500delete/providers/Microsoft.EventGrid/eventSubscriptions/ES3333333","name":"ES3333333","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/microsoft.eventgrid/topics/amdtesttopic500delete","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/topics/amdtesttopic500delete/providers/Microsoft.EventGrid/eventSubscriptions/ES99999","name":"ES99999","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/microsoft.eventgrid/topics/amdtesttopic999delete","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/topics/amdtesttopic999delete/providers/Microsoft.EventGrid/eventSubscriptions/ES99889989","name":"ES99889989","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgdosmy66houvuavhznh6dks2jk4fqdvj4zwlyvvgctdbuupk6fixaesbmsho36/providers/microsoft.storage/storageaccounts/clieventgridvsefp3aiv2mz","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgdosmy66houvuavhznh6dks2jk4fqdvj4zwlyvvgctdbuupk6fixaesbmsho36/providers/Microsoft.Storage/storageAccounts/clieventgridvsefp3aiv2mz/providers/Microsoft.EventGrid/eventSubscriptions/cli5ovrsbamkeddt5vpvn4vrj6a7qs4ifemkbg2f","name":"cli5ovrsbamkeddt5vpvn4vrj6a7qs4ifemkbg2f","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrga4wkggwfk6xlk56hlcozl4r4wt2lxaicmceksdfjc5aqabdhutv7rgb54vpyl/providers/microsoft.storage/storageaccounts/clieventgridriv54daw3xun","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrga4wkggwfk6xlk56hlcozl4r4wt2lxaicmceksdfjc5aqabdhutv7rgb54vpyl/providers/Microsoft.Storage/storageAccounts/clieventgridriv54daw3xun/providers/Microsoft.EventGrid/eventSubscriptions/clipohbfr7npbhld32fexehitkzxr3o6u3o52uvm","name":"clipohbfr7npbhld32fexehitkzxr3o6u3o52uvm","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgkkwaej37doqxxczg6aneg4o5jv633ymh7udju7ix23traynxikxhcpdfdsg6u/providers/microsoft.storage/storageaccounts/clieventgridclx4ne6zvc4d","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgkkwaej37doqxxczg6aneg4o5jv633ymh7udju7ix23traynxikxhcpdfdsg6u/providers/Microsoft.Storage/storageAccounts/clieventgridclx4ne6zvc4d/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgjohirijyzw4fhcpwjabsbsjax2x4xj4sl6mupfzw5k7jkom4ikwam5fhgrg3d/providers/microsoft.storage/storageaccounts/clieventgriddlwondxsislc","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgjohirijyzw4fhcpwjabsbsjax2x4xj4sl6mupfzw5k7jkom4ikwam5fhgrg3d/providers/Microsoft.Storage/storageAccounts/clieventgriddlwondxsislc/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrghe5nd65je6i64sq5b5kqriepqyler5skbntvvnn4wqgpc4ldizpzl5hrla5gg/providers/microsoft.storage/storageaccounts/clieventgridhygvtjpxyjuy","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrghe5nd65je6i64sq5b5kqriepqyler5skbntvvnn4wqgpc4ldizpzl5hrla5gg/providers/Microsoft.Storage/storageAccounts/clieventgridhygvtjpxyjuy/providers/Microsoft.EventGrid/eventSubscriptions/cliqhj4sy2rorlev4hq3vvzixgprrk5oi7mp62cl","name":"cliqhj4sy2rorlev4hq3vvzixgprrk5oi7mp62cl","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg5y4sgiacttpujsfwgwauha6kl3h2x26amkc4ekd5pbfspswqrvyzelxj3nkrm/providers/microsoft.storage/storageaccounts/clieventgridnn44um6ii2cu","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg5y4sgiacttpujsfwgwauha6kl3h2x26amkc4ekd5pbfspswqrvyzelxj3nkrm/providers/Microsoft.Storage/storageAccounts/clieventgridnn44um6ii2cu/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrggabo5li5o3f7vfywl6zda3dazw24772h5ulltuq67m6hu6riay4jwk64zbsru/providers/microsoft.storage/storageaccounts/clieventgridu2roes3ms2rx","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrggabo5li5o3f7vfywl6zda3dazw24772h5ulltuq67m6hu6riay4jwk64zbsru/providers/Microsoft.Storage/storageAccounts/clieventgridu2roes3ms2rx/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgghh57kezaloucmrs577bqm4g5ndx3bn6ab4gms43oa62xmxmyfgq77o27ut2c/providers/microsoft.storage/storageaccounts/clieventgridxjtcweuutkoo","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgghh57kezaloucmrs577bqm4g5ndx3bn6ab4gms43oa62xmxmyfgq77o27ut2c/providers/Microsoft.Storage/storageAccounts/clieventgridxjtcweuutkoo/providers/Microsoft.EventGrid/eventSubscriptions/cli5v7w5m3cvxazzfc3erruoed3kwfs6puzj2rw5","name":"cli5v7w5m3cvxazzfc3erruoed3kwfs6puzj2rw5","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg3aqdrcjz6bngi352mh5lkq2utrtxtyftpwafbtgxw2bytilgp3ek4nmxmkhjo/providers/microsoft.storage/storageaccounts/clieventgridjptbv475kqsi","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg3aqdrcjz6bngi352mh5lkq2utrtxtyftpwafbtgxw2bytilgp3ek4nmxmkhjo/providers/Microsoft.Storage/storageAccounts/clieventgridjptbv475kqsi/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg6u6mcttaxgc57tpkh4u5d26frk7vfibeabybslle5glvhk3s3vjlcmoa2nzp5/providers/microsoft.storage/storageaccounts/clieventgridtmqnp6kr5z2v","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg6u6mcttaxgc57tpkh4u5d26frk7vfibeabybslle5glvhk3s3vjlcmoa2nzp5/providers/Microsoft.Storage/storageAccounts/clieventgridtmqnp6kr5z2v/providers/Microsoft.EventGrid/eventSubscriptions/clivgvkqihixbvsflyqnskpimn6rvm63gjuvl44a","name":"clivgvkqihixbvsflyqnskpimn6rvm63gjuvl44a","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgnqw6ytouztleb2ymb7yi7loqr4ffmjddmyda5znnzstl76cxzh77pe6jw5c5w/providers/microsoft.storage/storageaccounts/clieventgrid5mxceddwttzz","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgnqw6ytouztleb2ymb7yi7loqr4ffmjddmyda5znnzstl76cxzh77pe6jw5c5w/providers/Microsoft.Storage/storageAccounts/clieventgrid5mxceddwttzz/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgwvuc4b7dg5eq7hivqkb5k2nocg3beu2xyjqscij3rdap4ycjwkl3ipq6jk44v/providers/microsoft.storage/storageaccounts/clieventgridvwbxgywcvjpo","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgwvuc4b7dg5eq7hivqkb5k2nocg3beu2xyjqscij3rdap4ycjwkl3ipq6jk44v/providers/Microsoft.Storage/storageAccounts/clieventgridvwbxgywcvjpo/providers/Microsoft.EventGrid/eventSubscriptions/cli2modbnllr76ocnzkukwq63nbx7rlkyeskyn42","name":"cli2modbnllr76ocnzkukwq63nbx7rlkyeskyn42","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgrt77xxbqbb3arhsbqohxmc52g3fwvx745z7tvjjllipvzs5y4k5ulm7q3h7ep/providers/microsoft.storage/storageaccounts/clieventgridnhqsh57shjix","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgrt77xxbqbb3arhsbqohxmc52g3fwvx745z7tvjjllipvzs5y4k5ulm7q3h7ep/providers/Microsoft.Storage/storageAccounts/clieventgridnhqsh57shjix/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgrkfkku6myhft6jjiasdu4w5q2dox5kbjaq6icmpo6wm3dgwmkckm472vvufx6/providers/microsoft.storage/storageaccounts/clieventgridgqhmyutqhafx","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgrkfkku6myhft6jjiasdu4w5q2dox5kbjaq6icmpo6wm3dgwmkckm472vvufx6/providers/Microsoft.Storage/storageAccounts/clieventgridgqhmyutqhafx/providers/Microsoft.EventGrid/eventSubscriptions/clixqdoqovd3kvsimg66xyumbqbqxszpw6mlrrui","name":"clixqdoqovd3kvsimg66xyumbqbqxszpw6mlrrui","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgpo65rqu6gqtksrzws5aiyclxdsv6x5lt5zpipmujipzcgjk4mky7u6o7rtztu/providers/microsoft.storage/storageaccounts/clieventgridnd7rte2se3ig","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgpo65rqu6gqtksrzws5aiyclxdsv6x5lt5zpipmujipzcgjk4mky7u6o7rtztu/providers/Microsoft.Storage/storageAccounts/clieventgridnd7rte2se3ig/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgmfluu6uleu6o4nl26nzmpnvpb75mv5xy27ddr4hlop7fqcy5peymdxxnptgmm/providers/microsoft.storage/storageaccounts/clieventgrid4jeaqkddwhzp","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgmfluu6uleu6o4nl26nzmpnvpb75mv5xy27ddr4hlop7fqcy5peymdxxnptgmm/providers/Microsoft.Storage/storageAccounts/clieventgrid4jeaqkddwhzp/providers/Microsoft.EventGrid/eventSubscriptions/clikcpkv4rzlrqcekae4zigzmidb6uv6cwiuwerv","name":"clikcpkv4rzlrqcekae4zigzmidb6uv6cwiuwerv","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgiqqh6l2q3mjryu2ca6jt7bw7cphn667aryjdrqtxocoaq4vgvn455pineprl6/providers/microsoft.storage/storageaccounts/clieventgridnnphf5w7pfbt","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgiqqh6l2q3mjryu2ca6jt7bw7cphn667aryjdrqtxocoaq4vgvn455pineprl6/providers/Microsoft.Storage/storageAccounts/clieventgridnnphf5w7pfbt/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgudqeltf6xbdcepungjy6hk755tchqpig7zaiuxb6vvruhrwlkd4pinll3jjqg/providers/microsoft.storage/storageaccounts/clieventgridau6enmtwlg2i","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgudqeltf6xbdcepungjy6hk755tchqpig7zaiuxb6vvruhrwlkd4pinll3jjqg/providers/Microsoft.Storage/storageAccounts/clieventgridau6enmtwlg2i/providers/Microsoft.EventGrid/eventSubscriptions/clienva75ayppg6wqar4cawzuudlxxiqtb5aojf7","name":"clienva75ayppg6wqar4cawzuudlxxiqtb5aojf7","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgyuysehzpx7wjdlvgwh2v2vc5bl6jcitr4wctknwxzizwr5wmnayxmxhav35k6/providers/microsoft.storage/storageaccounts/clieventgrid23obbd525kol","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgyuysehzpx7wjdlvgwh2v2vc5bl6jcitr4wctknwxzizwr5wmnayxmxhav35k6/providers/Microsoft.Storage/storageAccounts/clieventgrid23obbd525kol/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/topics/tryTopicBug2","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":[],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/topics/tryTopicBug2/providers/Microsoft.EventGrid/eventSubscriptions/testEs10101010","name":"testEs10101010","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgiq3cyl35r4f5pbvezxlhkxbu35bei7xew3gp4u4pdi2xhad6lj6wht6kaosog/providers/microsoft.storage/storageaccounts/clieventgridlqo5iqdcytyd","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgiq3cyl35r4f5pbvezxlhkxbu35bei7xew3gp4u4pdi2xhad6lj6wht6kaosog/providers/Microsoft.Storage/storageAccounts/clieventgridlqo5iqdcytyd/providers/Microsoft.EventGrid/eventSubscriptions/clipq2fx45kuh7prqj5tmki3cugntooygyine5ms","name":"clipq2fx45kuh7prqj5tmki3cugntooygyine5ms","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgv45lvwhmjey7lyuqlvevmio3o7umbqbmqlfvyv4eylmtya3urkfckqnqshac7/providers/microsoft.storage/storageaccounts/clieventgridkbbjvrmdahph","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgv45lvwhmjey7lyuqlvevmio3o7umbqbmqlfvyv4eylmtya3urkfckqnqshac7/providers/Microsoft.Storage/storageAccounts/clieventgridkbbjvrmdahph/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgisfsgcus4fphwhz5mu4bhirtbmxgek6add4cd5womcffzibexwywv4u5trp7a/providers/microsoft.storage/storageaccounts/clieventgridnwxqpjlqv2iu","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgisfsgcus4fphwhz5mu4bhirtbmxgek6add4cd5womcffzibexwywv4u5trp7a/providers/Microsoft.Storage/storageAccounts/clieventgridnwxqpjlqv2iu/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgxlde2rfperlklq6kbnuk5qx5xjujq2cgsc2br4oz6yspr2wvxs7iyaps57p53/providers/microsoft.storage/storageaccounts/clieventgridztrx3xy3rqlq","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgxlde2rfperlklq6kbnuk5qx5xjujq2cgsc2br4oz6yspr2wvxs7iyaps57p53/providers/Microsoft.Storage/storageAccounts/clieventgridztrx3xy3rqlq/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgugms3qgx2me7cejznlj5jsvkpmndlptbrlrzenuyv364qvxb2xcak57x35efk/providers/microsoft.storage/storageaccounts/clieventgrid4cvxoyh52bk6","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgugms3qgx2me7cejznlj5jsvkpmndlptbrlrzenuyv364qvxb2xcak57x35efk/providers/Microsoft.Storage/storageAccounts/clieventgrid4cvxoyh52bk6/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgafr7prcn7cakjuyj2jtdywlibjhbmtiv2xz4475s2dpo2d244wasvzkjfh3vk/providers/microsoft.storage/storageaccounts/clieventgrid2ah7f4zpemdy","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgafr7prcn7cakjuyj2jtdywlibjhbmtiv2xz4475s2dpo2d244wasvzkjfh3vk/providers/Microsoft.Storage/storageAccounts/clieventgrid2ah7f4zpemdy/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgniagzyjjnjzes67bnxega7zqmtni56ronflqz2qlufnu52npvtkx3mmni7zqy/providers/microsoft.storage/storageaccounts/clieventgrid5lkc5jsbfz66","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgniagzyjjnjzes67bnxega7zqmtni56ronflqz2qlufnu52npvtkx3mmni7zqy/providers/Microsoft.Storage/storageAccounts/clieventgrid5lkc5jsbfz66/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription3","name":"CliTestEventsubscription3","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrga7eyqyreiote5hx4i7eixwwdm6qjlmxvrw4sv6vwdlh2jkqtle63ouawctugd/providers/microsoft.storage/storageaccounts/clieventgridomhape7vay2k","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrga7eyqyreiote5hx4i7eixwwdm6qjlmxvrw4sv6vwdlh2jkqtle63ouawctugd/providers/Microsoft.Storage/storageAccounts/clieventgridomhape7vay2k/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription3","name":"CliTestEventsubscription3","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgcypreb5zksvb5yni2haqfugg34yeuwm5tcgo435yv5rtu5avour6kssunzcww/providers/microsoft.storage/storageaccounts/clieventgrid6vpdq5yjbjve","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgcypreb5zksvb5yni2haqfugg34yeuwm5tcgo435yv5rtu5avour6kssunzcww/providers/Microsoft.Storage/storageAccounts/clieventgrid6vpdq5yjbjve/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgb4chitnxjpvph4grqzdkuwr3ht3uozxjyqyvxd7wgtzjf3k552shmjpjthnwe/providers/microsoft.storage/storageaccounts/clieventgridtfppgxfw27mm","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgb4chitnxjpvph4grqzdkuwr3ht3uozxjyqyvxd7wgtzjf3k552shmjpjthnwe/providers/Microsoft.Storage/storageAccounts/clieventgridtfppgxfw27mm/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgn7nmdzbf6ethp5j5rssibdxicbc4c4gwzviz6iasxph6ehqjjntipa6z7txc7/providers/microsoft.storage/storageaccounts/clieventgridvn673uyfofiq","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgn7nmdzbf6ethp5j5rssibdxicbc4c4gwzviz6iasxph6ehqjjntipa6z7txc7/providers/Microsoft.Storage/storageAccounts/clieventgridvn673uyfofiq/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgfwhbf363seg3exvqfoukztuzwrdt7t3xyewglozywxg2vep7t5ewewvuvubsr/providers/microsoft.storage/storageaccounts/clieventgrid2tekrhjygtsf","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgfwhbf363seg3exvqfoukztuzwrdt7t3xyewglozywxg2vep7t5ewewvuvubsr/providers/Microsoft.Storage/storageAccounts/clieventgrid2tekrhjygtsf/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgtaxjqrgoqliwhgmrh2pqiqhmf6555up5sk7heykhhrux6lzodfxmx6zpygmca/providers/microsoft.storage/storageaccounts/clieventgriddoeqqqxjttd5","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgtaxjqrgoqliwhgmrh2pqiqhmf6555up5sk7heykhhrux6lzodfxmx6zpygmca/providers/Microsoft.Storage/storageAccounts/clieventgriddoeqqqxjttd5/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription2","name":"CliTestEventGridEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgm6ix6shqn4h2xdv5lbf5hq2fumymktzfppus54saoe4pjm4oukdi4llo5552p/providers/microsoft.storage/storageaccounts/clieventgridztmcroyp3n5x","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgm6ix6shqn4h2xdv5lbf5hq2fumymktzfppus54saoe4pjm4oukdi4llo5552p/providers/Microsoft.Storage/storageAccounts/clieventgridztmcroyp3n5x/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription2","name":"CliTestEventGridEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgxzb5julgtc4lcpdzueo2mcsbfyvdt3nn3hsalsiizsgeoisnkuflpkwomeigp/providers/microsoft.storage/storageaccounts/clieventgridbxvhcbk5ex7o","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgxzb5julgtc4lcpdzueo2mcsbfyvdt3nn3hsalsiizsgeoisnkuflpkwomeigp/providers/Microsoft.Storage/storageAccounts/clieventgridbxvhcbk5ex7o/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription2","name":"CliTestEventGridEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg7euqghqtpev2bz4w4x4ztiw2hwtgirnr56qxphuda625xacsljoibin6mugh2/providers/microsoft.storage/storageaccounts/clieventgridqmsk6x5hw5mh","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg7euqghqtpev2bz4w4x4ztiw2hwtgirnr56qxphuda625xacsljoibin6mugh2/providers/Microsoft.Storage/storageAccounts/clieventgridqmsk6x5hw5mh/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription2","name":"CliTestEventGridEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgp2zkwbddiqlk4bpo4yu5vuoapymkod45ahl4u4dbti6hbnflslwjxca35w6dn/providers/microsoft.storage/storageaccounts/clieventgrids2ll6rpr5bz7","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgp2zkwbddiqlk4bpo4yu5vuoapymkod45ahl4u4dbti6hbnflslwjxca35w6dn/providers/Microsoft.Storage/storageAccounts/clieventgrids2ll6rpr5bz7/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription2","name":"CliTestEventGridEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgeie5ak7g254uucmrgvwk6a2f3zixyjv4ksf6sax2jiaupsv3xo5svi5zccuam/providers/microsoft.storage/storageaccounts/clieventgrid2uw4vppccqy6","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgeie5ak7g254uucmrgvwk6a2f3zixyjv4ksf6sax2jiaupsv3xo5svi5zccuam/providers/Microsoft.Storage/storageAccounts/clieventgrid2uw4vppccqy6/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription2","name":"CliTestEventGridEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgivgza73kdfwnejf7l5t32inhy4vtfipvcha6uqhfv7galj2ljpkw3dfps7sl4/providers/microsoft.storage/storageaccounts/clieventgridkda43unnb3kj","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/api/DevExpFunc","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgivgza73kdfwnejf7l5t32inhy4vtfipvcha6uqhfv7galj2ljpkw3dfps7sl4/providers/Microsoft.Storage/storageAccounts/clieventgridkda43unnb3kj/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription4","name":"CliTestEventGridEventsubscription4","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrghuyktkziilpuzlmmiujuu3raizkqvu3qfcrqexmsxk2hwkgwp3keaid7ye5ls/providers/microsoft.storage/storageaccounts/clieventgridpsdnniq47mhl","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/api/DevExpFunc","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrghuyktkziilpuzlmmiujuu3raizkqvu3qfcrqexmsxk2hwkgwp3keaid7ye5ls/providers/Microsoft.Storage/storageAccounts/clieventgridpsdnniq47mhl/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription4","name":"CliTestEventGridEventsubscription4","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg3mxyowbjic7u6wgsgr3uvwiwqvls4jwzvlojknktu7gl7y3czo5avzz65dngo/providers/microsoft.storage/storageaccounts/clieventgridnoxbg62wvgr3","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.ServiceBus/namespaces/devexpservicebus/topics/devexptopic1"},"endpointType":"ServiceBusTopic"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"CloudEventSchemaV1_0","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg3mxyowbjic7u6wgsgr3uvwiwqvls4jwzvlojknktu7gl7y3czo5avzz65dngo/providers/Microsoft.Storage/storageAccounts/clieventgridnoxbg62wvgr3/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription1","name":"CliTestEventGridEventsubscription1","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg7iqvmc3btr2drbccfffe22ytzlhq4mgkblsyco6m7mytibxide5y44c3ipz5m/providers/microsoft.storage/storageaccounts/clieventgridg4u3iu6dg4my","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/api/DevExpFunc","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128,"azureActiveDirectoryTenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","azureActiveDirectoryApplicationIdOrUri":"03d47d4a-7c50-43e0-ba90-89d090cc4582"},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg7iqvmc3btr2drbccfffe22ytzlhq4mgkblsyco6m7mytibxide5y44c3ipz5m/providers/Microsoft.Storage/storageAccounts/clieventgridg4u3iu6dg4my/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription3","name":"CliTestEventGridEventsubscription3","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg4qupxfilzzc2zbqcc2unmiijehi6afghvttaugkz37hlt525kkc3c3odqfkka/providers/microsoft.storage/storageaccounts/clieventgridmncnb443mcus","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/api/DevExpFunc","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128,"azureActiveDirectoryTenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","azureActiveDirectoryApplicationIdOrUri":"03d47d4a-7c50-43e0-ba90-89d090cc4582"},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg4qupxfilzzc2zbqcc2unmiijehi6afghvttaugkz37hlt525kkc3c3odqfkka/providers/Microsoft.Storage/storageAccounts/clieventgridmncnb443mcus/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription3","name":"CliTestEventGridEventsubscription3","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgsq4ybeidt2rvzvick3smgq2lxsv2dk3b7j2wyle3li5lc4hxdtrixame6pwtp/providers/microsoft.storage/storageaccounts/clieventgrid6pfiijxxenrs","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/api/DevExpFunc","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128,"azureActiveDirectoryTenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","azureActiveDirectoryApplicationIdOrUri":"03d47d4a-7c50-43e0-ba90-89d090cc4582"},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgsq4ybeidt2rvzvick3smgq2lxsv2dk3b7j2wyle3li5lc4hxdtrixame6pwtp/providers/Microsoft.Storage/storageAccounts/clieventgrid6pfiijxxenrs/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription3","name":"CliTestEventGridEventsubscription3","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgr7whbnx2zv7n6ksazc6yeymkm6hskjm3775zacs3kmeqkb3gc76jzgtqbs2c7/providers/microsoft.storage/storageaccounts/clieventgridemhlcao6nang","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/api/DevExpFunc","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128,"azureActiveDirectoryTenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","azureActiveDirectoryApplicationIdOrUri":"03d47d4a-7c50-43e0-ba90-89d090cc4582"},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgr7whbnx2zv7n6ksazc6yeymkm6hskjm3775zacs3kmeqkb3gc76jzgtqbs2c7/providers/Microsoft.Storage/storageAccounts/clieventgridemhlcao6nang/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription3","name":"CliTestEventGridEventsubscription3","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgxl5k5dx2g7z57k2dpocqddp7to3vooa3pkad4wkv3rjexdpfjprtffgoudnv2/providers/microsoft.storage/storageaccounts/clieventgridpec3b3mly2k2","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/api/DevExpFunc","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128,"azureActiveDirectoryTenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","azureActiveDirectoryApplicationIdOrUri":"03d47d4a-7c50-43e0-ba90-89d090cc4582"},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgxl5k5dx2g7z57k2dpocqddp7to3vooa3pkad4wkv3rjexdpfjprtffgoudnv2/providers/Microsoft.Storage/storageAccounts/clieventgridpec3b3mly2k2/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription3","name":"CliTestEventGridEventsubscription3","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgwrfuttqh57esx2sdefe4t3nf3axlfuwvr3yvhszvxedwqrf4ktibwi7myo5wi/providers/microsoft.storage/storageaccounts/clieventgridsinnbv7fzzk6","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/api/DevExpFunc","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"SomeRandomText112341","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgwrfuttqh57esx2sdefe4t3nf3axlfuwvr3yvhszvxedwqrf4ktibwi7myo5wi/providers/Microsoft.Storage/storageAccounts/clieventgridsinnbv7fzzk6/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription4","name":"CliTestEventGridEventsubscription4","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sdk-eventgrid-rg-2313/providers/microsoft.eventgrid/partnertopics/sdk-parttop-1314","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Storage/storageAccounts/devexpstg","queueName":"queue1"},"endpointType":"StorageQueue"},"filter":{"subjectBeginsWith":"TestPrefix","subjectEndsWith":"TestSuffix","isSubjectCaseSensitive":true},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"CloudEventSchemaV1_0","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sdk-EventGrid-RG-2313/providers/Microsoft.EventGrid/partnerTopics/sdk-PartTop-1314/providers/Microsoft.EventGrid/eventSubscriptions/sdk-EventSubscription-9445","name":"sdk-EventSubscription-9445","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sdk-eventgrid-rg-7900/providers/microsoft.eventgrid/partnertopics/sdk-parttop-1118","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Storage/storageAccounts/devexpstg","queueName":"queue1"},"endpointType":"StorageQueue"},"filter":{"subjectBeginsWith":"TestPrefix","subjectEndsWith":"TestSuffix","isSubjectCaseSensitive":true},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"CloudEventSchemaV1_0","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sdk-EventGrid-RG-7900/providers/Microsoft.EventGrid/partnerTopics/sdk-PartTop-1118/providers/Microsoft.EventGrid/eventSubscriptions/sdk-EventSubscription-6637","name":"sdk-EventSubscription-6637","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/topics/testTopic123","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":[],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/topics/testTopic123/providers/Microsoft.EventGrid/eventSubscriptions/test123es","name":"test123es","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/microsoft.eventgrid/topics/testtopic123","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/api/DevExpFunc","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/topics/testTopic123/providers/Microsoft.EventGrid/eventSubscriptions/test1234566es1","name":"test1234566es1","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgjqo552hub5xnhihsieqavenytd2ccdbwb5djjwauf5oo2nvhoia7uhzob4qctkzcz/providers/microsoft.eventgrid/partnertopics/clinqt6fawfodm7wq7zot6gpxst5y35vm6gyqzja","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Storage/storageAccounts/devexpstg","queueName":"stogqueuedestination"},"endpointType":"StorageQueue"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"CloudEventSchemaV1_0","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgjqo552hub5xnhihsieqavenytd2ccdbwb5djjwauf5oo2nvhoia7uhzob4qctkzcz/providers/Microsoft.EventGrid/partnerTopics/clinqt6fawfodm7wq7zot6gpxst5y35vm6gyqzja/providers/Microsoft.EventGrid/eventSubscriptions/cli46los4ccbbgkxfehthiunllrddhdljb5waw47","name":"cli46los4ccbbgkxfehthiunllrddhdljb5waw47","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/microsoft.eventgrid/partnertopics/topic1234433","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Storage/storageAccounts/devexpstg","queueName":"stogqueuedestination"},"endpointType":"StorageQueue"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"CloudEventSchemaV1_0","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/partnerTopics/topic1234433/providers/Microsoft.EventGrid/eventSubscriptions/es1","name":"es1","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg3mvw6kejrrfqy5m47va7tpf554vxuwbiv6xttopbfxnmybdxyxy57h3gyxrcfv633/providers/microsoft.eventgrid/partnertopics/climytsftohj4yx6udgzrn4tvdrbf3vmraaoarvc","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Storage/storageAccounts/devexpstg","queueName":"stogqueuedestination"},"endpointType":"StorageQueue"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"CloudEventSchemaV1_0","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg3mvw6kejrrfqy5m47va7tpf554vxuwbiv6xttopbfxnmybdxyxy57h3gyxrcfv633/providers/Microsoft.EventGrid/partnerTopics/climytsftohj4yx6udgzrn4tvdrbf3vmraaoarvc/providers/Microsoft.EventGrid/eventSubscriptions/clinieemgtqbn6qdjd563bspbr74wjs245ofhx7o","name":"clinieemgtqbn6qdjd563bspbr74wjs245ofhx7o","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/microsoft.eventgrid/partnertopics/topic1234433","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Storage/storageAccounts/devexpstg","queueName":"stogqueuedestination"},"endpointType":"StorageQueue"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"CloudEventSchemaV1_0","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/partnerTopics/topic1234433/providers/Microsoft.EventGrid/eventSubscriptions/es11","name":"es11","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/microsoft.eventgrid/partnertopics/topic1234433","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Storage/storageAccounts/devexpstg","queueName":"stogqueuedestination"},"endpointType":"StorageQueue"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"CloudEventSchemaV1_0","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/partnerTopics/topic1234433/providers/Microsoft.EventGrid/eventSubscriptions/es22","name":"es22","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/microsoft.eventgrid/partnertopics/topic1234433","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Storage/storageAccounts/devexpstg","queueName":"stogqueuedestination"},"endpointType":"StorageQueue"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"CloudEventSchemaV1_0","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/partnerTopics/topic1234433/providers/Microsoft.EventGrid/eventSubscriptions/es1001","name":"es1001","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/microsoft.eventgrid/partnertopics/topic1234433","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Storage/storageAccounts/devexpstg","queueName":"stogqueuedestination"},"endpointType":"StorageQueue"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"CloudEventSchemaV1_0","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/partnerTopics/topic1234433/providers/Microsoft.EventGrid/eventSubscriptions/es2002","name":"es2002","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg26vetmancw6i6gy2ukjytpisj6fuaywddsjh2z3wpebqpyx6pseu6b6zi7d7n4puv/providers/microsoft.eventgrid/partnertopics/clic52ogpepdudtktltyafvo7xdb47i5elgtvzoc","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Storage/storageAccounts/devexpstg","queueName":"stogqueuedestination"},"endpointType":"StorageQueue"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"CloudEventSchemaV1_0","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg26vetmancw6i6gy2ukjytpisj6fuaywddsjh2z3wpebqpyx6pseu6b6zi7d7n4puv/providers/Microsoft.EventGrid/partnerTopics/clic52ogpepdudtktltyafvo7xdb47i5elgtvzoc/providers/Microsoft.EventGrid/eventSubscriptions/clinzrnr5dww7o73avgufnig7rciszksam2hldnc","name":"clinzrnr5dww7o73avgufnig7rciszksam2hldnc","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rggakiiuwcw2hm4so3dvhxsoviavhnl2iinolq4s6dwhl5eevse7tc4xqret4jrrnw4/providers/microsoft.eventgrid/partnertopics/cliwleqdgnclq2s3lwzq2k4gzjk53b3bxd6tjn7x","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Storage/storageAccounts/devexpstg","queueName":"stogqueuedestination"},"endpointType":"StorageQueue"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":["label11","label22"],"eventDeliverySchema":"CloudEventSchemaV1_0","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rggakiiuwcw2hm4so3dvhxsoviavhnl2iinolq4s6dwhl5eevse7tc4xqret4jrrnw4/providers/Microsoft.EventGrid/partnerTopics/cliwleqdgnclq2s3lwzq2k4gzjk53b3bxd6tjn7x/providers/Microsoft.EventGrid/eventSubscriptions/clizjqkk5mmthv54oqwvlydqzgziecgbugrd2t2l","name":"clizjqkk5mmthv54oqwvlydqzgziecgbugrd2t2l","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgnvx7d7s4fcvnvocjzaqnafxkcncy33h356562qcuajfbqxzquibxetbag7xxco5yg/providers/microsoft.eventgrid/partnertopics/clitjrwjmx6eywmvwa6d2ghncpwupopfnt6w55gs","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Storage/storageAccounts/devexpstg","queueName":"stogqueuedestination"},"endpointType":"StorageQueue"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":["label11","label22"],"eventDeliverySchema":"CloudEventSchemaV1_0","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgnvx7d7s4fcvnvocjzaqnafxkcncy33h356562qcuajfbqxzquibxetbag7xxco5yg/providers/Microsoft.EventGrid/partnerTopics/clitjrwjmx6eywmvwa6d2ghncpwupopfnt6w55gs/providers/Microsoft.EventGrid/eventSubscriptions/clitoifnkjtcqsiousdlzzosqys3eihftbsa54el","name":"clitoifnkjtcqsiousdlzzosqys3eihftbsa54el","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.eventgrid/topics/eg-latency-runner-topic-msi-centraluseuap","provisioningState":"Succeeded","destination":null,"deliveryWithResourceIdentity":{"identity":{"type":"SystemAssigned"},"destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.Storage/storageAccounts/egrunnertgcentraluseuap2","queueName":"egltcyrunnerstgqueuedestinationmsicentraluseuap"},"endpointType":"StorageQueue"}},"filter":{"subjectBeginsWith":"Subject","subjectEndsWith":"","isSubjectCaseSensitive":true,"advancedFilters":[{"values":["runner"],"operatorType":"StringContains","key":"topic"},{"values":["Info"],"operatorType":"StringEndsWith","key":"data.EventData"},{"values":[1.0,2.0,3.0],"operatorType":"NumberIn","key":"data.key1"},{"value":true,"operatorType":"BoolEquals","key":"data.key2"},{"values":["3.0"],"operatorType":"StringContains","key":"dataversion"}]},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventGrid/topics/eg-latency-runner-topic-msi-centraluseuap/providers/Microsoft.EventGrid/eventSubscriptions/eg-latency-runner-subscription-msi-centraluseuap","name":"eg-latency-runner-subscription-msi-centraluseuap","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.eventgrid/topics/eg-latency-runner-topic-msi-centraluseuap2","provisioningState":"Succeeded","destination":null,"deliveryWithResourceIdentity":{"identity":{"type":"SystemAssigned"},"destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.Storage/storageAccounts/egrunnertgcentraluseuap2","queueName":"egltcyrunnerstgqueuedestinationmsicentraluseuap"},"endpointType":"StorageQueue"}},"filter":{"subjectBeginsWith":"Subject","subjectEndsWith":"","isSubjectCaseSensitive":true,"advancedFilters":[{"values":["runner"],"operatorType":"StringContains","key":"topic"},{"values":["Info"],"operatorType":"StringEndsWith","key":"data.EventData"},{"values":[1.0,2.0,3.0],"operatorType":"NumberIn","key":"data.key1"},{"value":true,"operatorType":"BoolEquals","key":"data.key2"},{"values":["3.0"],"operatorType":"StringContains","key":"dataversion"}]},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventGrid/topics/eg-latency-runner-topic-msi-centraluseuap2/providers/Microsoft.EventGrid/eventSubscriptions/eg-latency-runner-subscription-msi-centraluseuap","name":"eg-latency-runner-subscription-msi-centraluseuap","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/microsoft.storage/storageaccounts/stg2bdeleted","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.Storage/storageaccounts/stg2bdeleted","queueName":"test1"},"endpointType":"StorageQueue"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.Storage/storageaccounts/stg2bdeleted/providers/Microsoft.EventGrid/eventSubscriptions/test12343","name":"test12343","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/customeruser1rg1/providers/microsoft.eventgrid/partnertopics/partnertopic-331ddafc","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Storage/storageAccounts/devexpstg","queueName":"stogqueuedestination"},"endpointType":"StorageQueue"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"CloudEventSchemaV1_0","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/CustomerUser1Rg1/providers/Microsoft.EventGrid/partnerTopics/partnerTopic-331ddafc/providers/Microsoft.EventGrid/eventSubscriptions/test1234ES","name":"test1234ES","type":"Microsoft.EventGrid/eventSubscriptions"}],"nextLink":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/eventSubscriptions?api-version=2020-04-01-preview&$skiptoken=%7b%22token%22%3a%22%2bRID%3a%7eStFeALnw3QA1IBQAAAAAAA%3d%3d%23RT%3a1%23TRC%3a100%23ISV%3a2%23IEO%3a65551%23FPC%3aAgFQU1AGADWg4peVhFEsAOuAEwCgCCEAgCBQhDSAbpkAgAiNJYI%2fgNyAAsAokoQCWIAagLqArYA8gAWAUgIAAZBTFgAuh5SSAYAojXyAd4BPgZWDeoIhBvkD%22%2c%22range%22%3a%7b%22min%22%3a%22%22%2c%22max%22%3a%22FF%22%7d%7d&$top=100"}' headers: cache-control: - no-cache content-length: - - '116855' + - '117746' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:20 GMT + - Sat, 16 May 2020 15:06:27 GMT expires: - '-1' pragma: @@ -925,23 +925,23 @@ interactions: - --location User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/eventSubscriptions?api-version=2020-04-01-preview&$skiptoken=%7B%22token%22%3A%22%2BRID%3A~StFeALnw3QBzAhQAAAAAAA%3D%3D%23RT%3A1%23TRC%3A100%23ISV%3A2%23IEO%3A65551%23QCF%3A1%23FPC%3AAXMCFAAAAAAAewIUAAAAAAA%3D%22%2C%22range%22%3A%7B%22min%22%3A%22%22%2C%22max%22%3A%22FF%22%7D%7D&$top=100 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/eventSubscriptions?api-version=2020-04-01-preview&$skiptoken=%7B%22token%22%3A%22%2BRID%3A~StFeALnw3QA1IBQAAAAAAA%3D%3D%23RT%3A1%23TRC%3A100%23ISV%3A2%23IEO%3A65551%23FPC%3AAgFQU1AGADWg4peVhFEsAOuAEwCgCCEAgCBQhDSAbpkAgAiNJYI%2FgNyAAsAokoQCWIAagLqArYA8gAWAUgIAAZBTFgAuh5SSAYAojXyAd4BPgZWDeoIhBvkD%22%2C%22range%22%3A%7B%22min%22%3A%22%22%2C%22max%22%3A%22FF%22%7D%7D&$top=100 response: body: - string: '{"value":[{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/microsoft.storage/storageaccounts/clieventgrid000002","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":".jpg","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002/providers/Microsoft.EventGrid/eventSubscriptions/cli000003","name":"cli000003","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgk7fznpoepz6273lt4dxw3xway6hrjepseryh4jdo7rdp4q3ptlhomrzxocgo5/providers/microsoft.storage/storageaccounts/clieventgridwxcjwebwkssm","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.ServiceBus/namespaces/devexpservicebus/topics/devexptopic1"},"endpointType":"ServiceBusTopic"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"CloudEventSchemaV1_0","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgk7fznpoepz6273lt4dxw3xway6hrjepseryh4jdo7rdp4q3ptlhomrzxocgo5/providers/Microsoft.Storage/storageAccounts/clieventgridwxcjwebwkssm/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription1","name":"CliTestEventGridEventsubscription1","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgv4czvwstoyqf2ublny73hkiyfogddels6ik6s3mbzu7on5lb7gykwf6pgxuej6kc6/providers/microsoft.storage/storageaccounts/clieventgridul25mthqlqnd","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Relay/namespaces/DevExpRelayNamespace/hybridConnections/hydbridconnectiondestination"},"endpointType":"HybridConnection"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"SomeRandomText2","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":20,"eventTimeToLiveInMinutes":1000},"deadLetterDestination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Storage/storageAccounts/devexpstg","blobContainerName":"dlq"},"endpointType":"StorageBlob"}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgv4czvwstoyqf2ublny73hkiyfogddels6ik6s3mbzu7on5lb7gykwf6pgxuej6kc6/providers/Microsoft.Storage/storageAccounts/clieventgridul25mthqlqnd/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgk7fznpoepz6273lt4dxw3xway6hrjepseryh4jdo7rdp4q3ptlhomrzxocgo5/providers/microsoft.storage/storageaccounts/clieventgridwxcjwebwkssm","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgk7fznpoepz6273lt4dxw3xway6hrjepseryh4jdo7rdp4q3ptlhomrzxocgo5/providers/Microsoft.Storage/storageAccounts/clieventgridwxcjwebwkssm/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription2","name":"CliTestEventGridEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgmhs57rhbivc75jhxposq27gmzmn36sv6pvbkxas2culgxp2p7zi65ssbonf5pnwhp/providers/microsoft.eventgrid/partnertopics/clissldb4n7xay7qtbqac6chq2pfrsyxefvlcihf","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Storage/storageAccounts/devexpstg","queueName":"stogqueuedestination"},"endpointType":"StorageQueue"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":["label_1","label_2"],"eventDeliverySchema":"CloudEventSchemaV1_0","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgmhs57rhbivc75jhxposq27gmzmn36sv6pvbkxas2culgxp2p7zi65ssbonf5pnwhp/providers/Microsoft.EventGrid/partnerTopics/clissldb4n7xay7qtbqac6chq2pfrsyxefvlcihf/providers/Microsoft.EventGrid/eventSubscriptions/cliwhm7galsxbtecensa73azww4qfcx3quxou7mm","name":"cliwhm7galsxbtecensa73azww4qfcx3quxou7mm","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgv4czvwstoyqf2ublny73hkiyfogddels6ik6s3mbzu7on5lb7gykwf6pgxuej6kc6/providers/microsoft.storage/storageaccounts/clieventgridul25mthqlqnd","provisioningState":"Creating","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.ServiceBus/namespaces/devexpservicebus/queues/devexpdestination"},"endpointType":"ServiceBusQueue"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"SomeRandomText2","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":10,"eventTimeToLiveInMinutes":1200},"deadLetterDestination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Storage/storageAccounts/devexpstg","blobContainerName":"dlq"},"endpointType":"StorageBlob"}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgv4czvwstoyqf2ublny73hkiyfogddels6ik6s3mbzu7on5lb7gykwf6pgxuej6kc6/providers/Microsoft.Storage/storageAccounts/clieventgridul25mthqlqnd/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription3","name":"CliTestEventsubscription3","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgk7fznpoepz6273lt4dxw3xway6hrjepseryh4jdo7rdp4q3ptlhomrzxocgo5/providers/microsoft.storage/storageaccounts/clieventgridwxcjwebwkssm","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/api/DevExpFunc","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgk7fznpoepz6273lt4dxw3xway6hrjepseryh4jdo7rdp4q3ptlhomrzxocgo5/providers/Microsoft.Storage/storageAccounts/clieventgridwxcjwebwkssm/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription4","name":"CliTestEventGridEventsubscription4","type":"Microsoft.EventGrid/eventSubscriptions"}]}' + string: '{"value":[{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/msibugbash/providers/microsoft.eventgrid/topics/msitesttopic","provisioningState":"Succeeded","destination":null,"deliveryWithResourceIdentity":{"identity":{"type":"SystemAssigned"},"destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/msibugbash/providers/Microsoft.ServiceBus/namespaces/msitestwithsb/queues/msitestwithsb"},"endpointType":"ServiceBusQueue"}},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440},"deadLetterWithResourceIdentity":{"identity":{"type":"SystemAssigned"}}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/msibugbash/providers/Microsoft.EventGrid/topics/msitesttopic/providers/Microsoft.EventGrid/eventSubscriptions/msitestwithsb","name":"msitestwithsb","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/msibugbash/providers/microsoft.eventgrid/topics/msitesttopic","provisioningState":"Succeeded","destination":null,"deliveryWithResourceIdentity":{"identity":{"type":"SystemAssigned"},"destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/msibugbash/providers/Microsoft.ServiceBus/namespaces/msitestwithsb/queues/msitestwithsb"},"endpointType":"ServiceBusQueue"}},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440},"deadLetterWithResourceIdentity":{"identity":{"type":"SystemAssigned"}}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/msibugbash/providers/Microsoft.EventGrid/topics/msitesttopic/providers/Microsoft.EventGrid/eventSubscriptions/msitestwithsb1","name":"msitestwithsb1","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/msibugbash/providers/microsoft.eventgrid/topics/msitesttopic","provisioningState":"Succeeded","destination":null,"deliveryWithResourceIdentity":{"identity":{"type":"SystemAssigned"},"destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/msibugbash/providers/Microsoft.Storage/storageAccounts/msitestwithsa","queueName":"msitestwithsa"},"endpointType":"StorageQueue"}},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/msibugbash/providers/Microsoft.EventGrid/topics/msitesttopic/providers/Microsoft.EventGrid/eventSubscriptions/msitestwithea","name":"msitestwithea","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/microsoft.eventgrid/topics/topicbugbash1","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.ServiceBus/namespaces/devexpservicebus/topics/devexptopic1"},"endpointType":"ServiceBusTopic"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/topics/topicBugBash1/providers/Microsoft.EventGrid/eventSubscriptions/bugbash1ES1SvcBusTopic1","name":"bugbash1ES1SvcBusTopic1","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/msibugbash/providers/microsoft.eventgrid/topics/msitesttopic","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/msiiitest/providers/Microsoft.EventHub/namespaces/msitestwithehub/eventhubs/msitestwithehub"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/msibugbash/providers/Microsoft.EventGrid/topics/msitesttopic/providers/Microsoft.EventGrid/eventSubscriptions/msitestwitheh","name":"msitestwitheh","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/microsoft.eventgrid/topics/topicbugbash1","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Storage/storageAccounts/devexpstg","queueName":"stogqueuedestination"},"endpointType":"StorageQueue"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/topics/topicBugBash1/providers/Microsoft.EventGrid/eventSubscriptions/bugbashEs2StorageQueue1","name":"bugbashEs2StorageQueue1","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/microsoft.eventgrid/topics/topicbugbash1","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/topics/topicBugBash1/providers/Microsoft.EventGrid/eventSubscriptions/bugbash1Es3Func2","name":"bugbash1Es3Func2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/msibugbash/providers/microsoft.eventgrid/topics/msitesttopic","provisioningState":"Succeeded","destination":null,"deliveryWithResourceIdentity":{"identity":{"type":"SystemAssigned"},"destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/msibugbash/providers/Microsoft.Storage/storageAccounts/msitestwithsa","queueName":"msitestwithsa"},"endpointType":"StorageQueue"}},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/msibugbash/providers/Microsoft.EventGrid/topics/msitesttopic/providers/Microsoft.EventGrid/eventSubscriptions/msiwithsa","name":"msiwithsa","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/msibugbash/providers/microsoft.eventgrid/topics/noktesttopic","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/msibugbash/providers/Microsoft.Storage/storageAccounts/nokstorageaccount","queueName":"queue1"},"endpointType":"StorageQueue"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/msibugbash/providers/Microsoft.EventGrid/topics/noktesttopic/providers/Microsoft.EventGrid/eventSubscriptions/noktesttopicsubidentity","name":"noktesttopicsubidentity","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/msibugbash/providers/microsoft.eventgrid/topics/noktesttopic","provisioningState":"Succeeded","destination":null,"deliveryWithResourceIdentity":{"identity":{"type":"SystemAssigned"},"destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/msibugbash/providers/Microsoft.Storage/storageAccounts/nokstorageaccount","queueName":"queue2"},"endpointType":"StorageQueue"}},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/msibugbash/providers/Microsoft.EventGrid/topics/noktesttopic/providers/Microsoft.EventGrid/eventSubscriptions/noktesttopicsubnoidentity","name":"noktesttopicsubnoidentity","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/topics/mparkmsi","provisioningState":"Succeeded","destination":null,"deliveryWithResourceIdentity":{"identity":{"type":"SystemAssigned"},"destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/alitest/providers/Microsoft.EventHub/namespaces/rrama-reprokafka-eus/eventhubs/eh1"},"endpointType":"EventHub"}},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":[],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/topics/mparkmsi/providers/Microsoft.EventGrid/eventSubscriptions/mparkes","name":"mparkes","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/topics/mparkmsi","provisioningState":"Succeeded","destination":null,"deliveryWithResourceIdentity":{"identity":{"type":"SystemAssigned"},"destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/alitest/providers/Microsoft.EventHub/namespaces/rrama-reprokafka-eus/eventhubs/eh1"},"endpointType":"EventHub"}},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":[],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440},"deadLetterWithResourceIdentity":{"identity":{"type":"SystemAssigned"},"deadLetterDestination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGEastUS2EUAP/providers/Microsoft.Storage/storageAccounts/aegrrunnertest","blobContainerName":"azure-webjobs-hosts"},"endpointType":"StorageBlob"}}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/topics/mparkmsi/providers/Microsoft.EventGrid/eventSubscriptions/mparkes2","name":"mparkes2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/topics/mparkmsi","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://ent441q50n0p.x.pipedream.net/","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":[],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/topics/mparkmsi/providers/Microsoft.EventGrid/eventSubscriptions/mparkes3","name":"mparkes3","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/topics/mparkmsi","provisioningState":"Succeeded","destination":null,"deliveryWithResourceIdentity":{"identity":{"type":"SystemAssigned"},"destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/alitest/providers/Microsoft.ServiceBus/namespaces/mparktest2/queues/testq"},"endpointType":"ServiceBusQueue"}},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":[],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/topics/mparkmsi/providers/Microsoft.EventGrid/eventSubscriptions/mparkes4","name":"mparkes4","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/microsoft.eventgrid/topics/tpoicwithnoidentity2","provisioningState":"Succeeded","destination":null,"deliveryWithResourceIdentity":{"identity":{"type":"SystemAssigned"},"destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.eventhub/namespaces/devexpeh/eventhubs/eventhub1"},"endpointType":"EventHub"}},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/topics/tpoicWithNoIdentity2/providers/Microsoft.EventGrid/eventSubscriptions/es123456","name":"es123456","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/microsoft.eventgrid/topics/tpoicwithnoidentity2","provisioningState":"Succeeded","destination":null,"deliveryWithResourceIdentity":{"identity":{"type":"SystemAssigned"},"destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.eventhub/namespaces/devexpeh/eventhubs/eventhub1"},"endpointType":"EventHub"}},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/topics/tpoicWithNoIdentity2/providers/Microsoft.EventGrid/eventSubscriptions/es123456122112","name":"es123456122112","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/microsoft.eventgrid/topics/tpoicwithnoidentity2","provisioningState":"Succeeded","destination":null,"deliveryWithResourceIdentity":{"identity":{"type":"SystemAssigned"},"destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.eventhub/namespaces/devexpeh/eventhubs/eventhub1"},"endpointType":"EventHub"}},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440},"deadLetterWithResourceIdentity":{"identity":{"type":"SystemAssigned"},"deadLetterDestination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Storage/storageAccounts/devexpstg","blobContainerName":"dlqwithidentity"},"endpointType":"StorageBlob"}}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/topics/tpoicWithNoIdentity2/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription4","name":"CliTestEventsubscription4","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/microsoft.eventgrid/topics/tpoicwithnoidentity2","provisioningState":"Succeeded","destination":null,"deliveryWithResourceIdentity":{"identity":{"type":"SystemAssigned"},"destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.eventhub/namespaces/devexpeh/eventhubs/eventhub1"},"endpointType":"EventHub"}},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/topics/tpoicWithNoIdentity2/providers/Microsoft.EventGrid/eventSubscriptions/es123456122112xys","name":"es123456122112xys","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/microsoft.eventgrid/topics/tpoicwithnoidentity2","provisioningState":"Succeeded","destination":null,"deliveryWithResourceIdentity":{"identity":{"type":"SystemAssigned"},"destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.eventhub/namespaces/devexpeh/eventhubs/eventhub1"},"endpointType":"EventHub"}},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/topics/tpoicWithNoIdentity2/providers/Microsoft.EventGrid/eventSubscriptions/es123456122112xysxsq","name":"es123456122112xysxsq","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/microsoft.eventgrid/topics/tpoicwithnoidentity2","provisioningState":"Succeeded","destination":null,"deliveryWithResourceIdentity":{"identity":{"type":"SystemAssigned"},"destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.eventhub/namespaces/devexpeh/eventhubs/eventhub1"},"endpointType":"EventHub"}},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/topics/tpoicWithNoIdentity2/providers/Microsoft.EventGrid/eventSubscriptions/esxyz1","name":"esxyz1","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/microsoft.eventgrid/topics/tpoicwithnoidentity2","provisioningState":"Succeeded","destination":null,"deliveryWithResourceIdentity":{"identity":{"type":"SystemAssigned"},"destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.eventhub/namespaces/devexpeh/eventhubs/eventhub1"},"endpointType":"EventHub"}},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/topics/tpoicWithNoIdentity2/providers/Microsoft.EventGrid/eventSubscriptions/esxyz2","name":"esxyz2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/microsoft.eventgrid/topics/tpoicwithnoidentity2","provisioningState":"Succeeded","destination":null,"deliveryWithResourceIdentity":{"identity":{"type":"SystemAssigned"},"destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.eventhub/namespaces/devexpeh/eventhubs/eventhub1"},"endpointType":"EventHub"}},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/topics/tpoicWithNoIdentity2/providers/Microsoft.EventGrid/eventSubscriptions/esxyz3","name":"esxyz3","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/microsoft.eventgrid/topics/tpoicwithnoidentity2","provisioningState":"Succeeded","destination":null,"deliveryWithResourceIdentity":{"identity":{"type":"SystemAssigned"},"destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.eventhub/namespaces/devexpeh/eventhubs/eventhub1"},"endpointType":"EventHub"}},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/topics/tpoicWithNoIdentity2/providers/Microsoft.EventGrid/eventSubscriptions/esxyz4","name":"esxyz4","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/microsoft.eventgrid/topics/tpoicwithnoidentity2","provisioningState":"Succeeded","destination":null,"deliveryWithResourceIdentity":{"identity":{"type":"SystemAssigned"},"destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.eventhub/namespaces/devexpeh/eventhubs/eventhub1"},"endpointType":"EventHub"}},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/topics/tpoicWithNoIdentity2/providers/Microsoft.EventGrid/eventSubscriptions/esxyz5","name":"esxyz5","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/microsoft.eventgrid/topics/tpoicwithnoidentity2","provisioningState":"Succeeded","destination":null,"deliveryWithResourceIdentity":{"identity":{"type":"SystemAssigned"},"destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.eventhub/namespaces/devexpeh/eventhubs/eventhub1"},"endpointType":"EventHub"}},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/topics/tpoicWithNoIdentity2/providers/Microsoft.EventGrid/eventSubscriptions/esxyz6","name":"esxyz6","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/microsoft.eventgrid/topics/tpoicwithnoidentity2","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Storage/storageAccounts/devexpstg","queueName":"stogqueuedestination"},"endpointType":"StorageQueue"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/topics/tpoicWithNoIdentity2/providers/Microsoft.EventGrid/eventSubscriptions/esxyz7","name":"esxyz7","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgufm2igfwcrxeioovfuyutmsffwgodyyddj7kysm6ga6b6nfhmt7jobp2k4s6ca7xr/providers/microsoft.eventgrid/partnertopics/cliv33xtyiri5nu7s4ocgmnrpd2eln2ljysntvnx","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Storage/storageAccounts/devexpstg","queueName":"stogqueuedestination"},"endpointType":"StorageQueue"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":["label_1","label_2"],"eventDeliverySchema":"CloudEventSchemaV1_0","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgufm2igfwcrxeioovfuyutmsffwgodyyddj7kysm6ga6b6nfhmt7jobp2k4s6ca7xr/providers/Microsoft.EventGrid/partnerTopics/cliv33xtyiri5nu7s4ocgmnrpd2eln2ljysntvnx/providers/Microsoft.EventGrid/eventSubscriptions/clig5qklmlilwmickxwtkdmiluoorulffy2icw6u","name":"clig5qklmlilwmickxwtkdmiluoorulffy2icw6u","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgssl25evdescczscgnfnf2bemqcy22437kxhisjpcjf26peasew3qpu65hum5z7afc/providers/microsoft.eventgrid/partnertopics/clifbwg7rlnhnqokqy27w6bf7esok6h6jtwcbnz7","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Storage/storageAccounts/devexpstg","queueName":"stogqueuedestination"},"endpointType":"StorageQueue"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":["label_1","label_2"],"eventDeliverySchema":"CloudEventSchemaV1_0","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgssl25evdescczscgnfnf2bemqcy22437kxhisjpcjf26peasew3qpu65hum5z7afc/providers/Microsoft.EventGrid/partnerTopics/clifbwg7rlnhnqokqy27w6bf7esok6h6jtwcbnz7/providers/Microsoft.EventGrid/eventSubscriptions/cli6twztth7rvnxzafpvn2qnijwajtpplqfh6esc","name":"cli6twztth7rvnxzafpvn2qnijwajtpplqfh6esc","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgk5mw5j3zp6463xzfbfjddvgks27cq57tr4qi6l4duoyt7mv6nnixm5jvgc4b555hc/providers/microsoft.eventgrid/partnertopics/clif556azfj5e2lk2su66m2v5dawutrzuiapkpcu","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Storage/storageAccounts/devexpstg","queueName":"stogqueuedestination"},"endpointType":"StorageQueue"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":["label_1","label_2"],"eventDeliverySchema":"CloudEventSchemaV1_0","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgk5mw5j3zp6463xzfbfjddvgks27cq57tr4qi6l4duoyt7mv6nnixm5jvgc4b555hc/providers/Microsoft.EventGrid/partnerTopics/clif556azfj5e2lk2su66m2v5dawutrzuiapkpcu/providers/Microsoft.EventGrid/eventSubscriptions/clijdeg62bptp6uvzwp24onah7oaiqbs5qd2jsbl","name":"clijdeg62bptp6uvzwp24onah7oaiqbs5qd2jsbl","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/microsoft.eventgrid/topics/tpoicwithnoidentity2","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/topics/tpoicWithNoIdentity2/providers/Microsoft.EventGrid/eventSubscriptions/es1234azFunc","name":"es1234azFunc","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgri2hkmwmghvkdzb3yg4xwex6747ajskcq6etpe6t7rfwbvzbdinoebgubbyuktygm/providers/microsoft.eventgrid/partnertopics/cli44iwfjv2xdt55qooesdsnhpfnrrr2vq77eduw","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Storage/storageAccounts/devexpstg","queueName":"stogqueuedestination"},"endpointType":"StorageQueue"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":["label_1","label_2"],"eventDeliverySchema":"CloudEventSchemaV1_0","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgri2hkmwmghvkdzb3yg4xwex6747ajskcq6etpe6t7rfwbvzbdinoebgubbyuktygm/providers/Microsoft.EventGrid/partnerTopics/cli44iwfjv2xdt55qooesdsnhpfnrrr2vq77eduw/providers/Microsoft.EventGrid/eventSubscriptions/clisjn7whs47otvyf5ar3wq527x6hh4mvysojigs","name":"clisjn7whs47otvyf5ar3wq527x6hh4mvysojigs","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg2gg2prvnrxpgwx34bf7ynkgtnj2zk3tnzka5cyc5k24w7kmwowlgfyvi2rcweirqf/providers/microsoft.eventgrid/partnertopics/cli5nq5dxhyiauxcmsmkbmc3r5xz4oruxcooulc5","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Storage/storageAccounts/devexpstg","queueName":"stogqueuedestination"},"endpointType":"StorageQueue"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":["label_1","label_2"],"eventDeliverySchema":"CloudEventSchemaV1_0","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg2gg2prvnrxpgwx34bf7ynkgtnj2zk3tnzka5cyc5k24w7kmwowlgfyvi2rcweirqf/providers/Microsoft.EventGrid/partnerTopics/cli5nq5dxhyiauxcmsmkbmc3r5xz4oruxcooulc5/providers/Microsoft.EventGrid/eventSubscriptions/cli7o5ieed65b7w24wwebw2zz7ttrctunyrubs3w","name":"cli7o5ieed65b7w24wwebw2zz7ttrctunyrubs3w","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/microsoft.eventgrid/topics/topicidentity1234test1","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/api/DevExpFunc","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64,"azureActiveDirectoryTenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","azureActiveDirectoryApplicationIdOrUri":"03d47d4a-7c50-43e0-ba90-89d090cc4582"},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/topics/topicIdentity1234Test1/providers/Microsoft.EventGrid/eventSubscriptions/testES123","name":"testES123","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.eventgrid/topics/egcrudrunnertopicea015039centraluseuap","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventHub/namespaces/egrunnereventhubnamespacecentraluseuap/eventhubs/egoperationrunnereventhubcentraluseuap"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"Subject","subjectEndsWith":"","isSubjectCaseSensitive":true,"advancedFilters":[{"values":["runner"],"operatorType":"StringContains","key":"topic"},{"values":["Info"],"operatorType":"StringEndsWith","key":"data.EventData"},{"values":[1.0,2.0,3.0],"operatorType":"NumberIn","key":"data.key1"},{"value":true,"operatorType":"BoolEquals","key":"data.key2"},{"values":["3.0"],"operatorType":"StringContains","key":"dataversion"}]},"labels":["NewTestLabel1","NewTestLabel2","NewTestLabel3"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1438},"deadLetterDestination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.Storage/storageAccounts/egrunnerstgcentraluseuap","blobContainerName":"egrunnerstgdlqcentraluseuap"},"endpointType":"StorageBlob"}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventGrid/topics/egcrudrunnertopicea015039CentralUSEUAP/providers/Microsoft.EventGrid/eventSubscriptions/eg-crud-runner-subscription-986fbd50-Central-US-EUAP","name":"eg-crud-runner-subscription-986fbd50-Central-US-EUAP","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.eventgrid/partnertopics/eg-latency-runner-prtnrtop-eg-euap-usce-01","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventHub/namespaces/egrunnereventhubnamespacecentraluseuap/eventhubs/egdomaincrudrunnerevnthubeuapusce"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":[],"eventDeliverySchema":"CloudEventSchemaV1_0","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventGrid/partnerTopics/eg-latency-runner-prtnrtop-eg-euap-usce-01/providers/Microsoft.EventGrid/eventSubscriptions/test","name":"test","type":"Microsoft.EventGrid/partnerTopics/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.eventgrid/partnertopics/eg-latency-runner-partner-topic-centraluseuap","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventHub/namespaces/egrunnereventhubnamespacecentraluseuap/eventhubs/egdomaincrudrunnerevnthubeuapusce"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":[],"eventDeliverySchema":"CloudEventSchemaV1_0","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventGrid/partnerTopics/eg-latency-runner-partner-topic-centraluseuap/providers/Microsoft.EventGrid/eventSubscriptions/test","name":"test","type":"Microsoft.EventGrid/partnerTopics/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/pubstgrunnerc9c9c381","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventHub/namespaces/egrunnereventhubnamespacecentraluseuap/eventhubs/egstoragerunnereventhubcentraluseuap"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.Storage/storageAccounts/pubstgrunnerc9c9c381/providers/Microsoft.EventGrid/eventSubscriptions/StorageSubscriptionc6940fa5","name":"StorageSubscriptionc6940fa5","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/microsoft.eventgrid/topics/topicidentity1234test","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/topics/topicIdentity1234Test/providers/Microsoft.EventGrid/eventSubscriptions/testEs2222222","name":"testEs2222222","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg2jboonqmpqqgmtxdmfciz6qdybkgkfipjdmkfs6cbw44ld25c5cekr4sxd5lk57pf/providers/microsoft.eventgrid/partnertopics/cliys7mm33nsesd7rx5yw5dt3advaulpfkdimbmx","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Storage/storageAccounts/devexpstg","queueName":"stogqueuedestination"},"endpointType":"StorageQueue"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"CloudEventSchemaV1_0","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg2jboonqmpqqgmtxdmfciz6qdybkgkfipjdmkfs6cbw44ld25c5cekr4sxd5lk57pf/providers/Microsoft.EventGrid/partnerTopics/cliys7mm33nsesd7rx5yw5dt3advaulpfkdimbmx/eventSubscriptions/cli6ci7qmkst5hjdhp366eflyufnlqwx4s3evrg2","name":"cli6ci7qmkst5hjdhp366eflyufnlqwx4s3evrg2","type":"Microsoft.EventGrid/partnerTopics/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rggmti2pe5nqaur67u5sxrto6sedwptp7krcxmrr6nbper6jtlmrh24xychp5aivdi6/providers/microsoft.eventgrid/partnertopics/clivxtkyahv2d75lhid374m45rhqc5za66hmkhb5","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Storage/storageAccounts/devexpstg","queueName":"stogqueuedestination"},"endpointType":"StorageQueue"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"CloudEventSchemaV1_0","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rggmti2pe5nqaur67u5sxrto6sedwptp7krcxmrr6nbper6jtlmrh24xychp5aivdi6/providers/Microsoft.EventGrid/partnerTopics/clivxtkyahv2d75lhid374m45rhqc5za66hmkhb5/eventSubscriptions/clizrrqvnqahtzsfh5oylzjc663h7pgt4g52muot","name":"clizrrqvnqahtzsfh5oylzjc663h7pgt4g52muot","type":"Microsoft.EventGrid/partnerTopics/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.eventgrid/partnertopics/eg-latency-runner-partner-topic-centraluseuap","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventHub/namespaces/egrunnereventhubnamespacecentraluseuap/eventhubs/egdomaincrudrunnerevnthubeuapusce"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":[],"eventDeliverySchema":"CloudEventSchemaV1_0","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventGrid/partnerTopics/eg-latency-runner-partner-topic-centraluseuap/eventSubscriptions/test2","name":"test2","type":"Microsoft.EventGrid/partnerTopics/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgqcfauagcsjwhyrmjakq5snbjrhajfnynw73riwxmeho2twn726afub3mrdiv5wwto/providers/microsoft.eventgrid/partnertopics/cliivtbflje7qq4gzquxqpuxyuqbozs4m76bsktr","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Storage/storageAccounts/devexpstg","queueName":"stogqueuedestination"},"endpointType":"StorageQueue"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"CloudEventSchemaV1_0","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgqcfauagcsjwhyrmjakq5snbjrhajfnynw73riwxmeho2twn726afub3mrdiv5wwto/providers/Microsoft.EventGrid/partnerTopics/cliivtbflje7qq4gzquxqpuxyuqbozs4m76bsktr/eventSubscriptions/clil24puw6iqqwswtvjlgpnbfjwwox53grjyoigu","name":"clil24puw6iqqwswtvjlgpnbfjwwox53grjyoigu","type":"Microsoft.EventGrid/partnerTopics/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/devexprg/providers/microsoft.storage/storageaccounts/clistgaccount","provisioningState":"Creating","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DEVEXPRG/providers/MICROSOFT.STORAGE/STORAGEACCOUNTS/CLISTGACCOUNT/providers/Microsoft.EventGrid/eventSubscriptions/cligxbrheg7o5vvmhwdfkcpnhjwmg6wsrncaqzun","name":"cligxbrheg7o5vvmhwdfkcpnhjwmg6wsrncaqzun","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgri6qeguzxuzchyyajfkvcroikbntonyoeajl6po7hgiheklopg56zdzvdtzrbxnp6/providers/microsoft.storage/storageaccounts/clieventgridwfxe4m7kxvzq","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Storage/storageAccounts/devexpstg","queueName":"stogqueuedestination"},"endpointType":"StorageQueue"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"SomeRandomText2","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"CloudEventSchemaV1_0","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440},"deadLetterDestination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Storage/storageAccounts/devexpstg","blobContainerName":"dlq"},"endpointType":"StorageBlob"}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgri6qeguzxuzchyyajfkvcroikbntonyoeajl6po7hgiheklopg56zdzvdtzrbxnp6/providers/Microsoft.Storage/storageAccounts/clieventgridwfxe4m7kxvzq/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription1","name":"CliTestEventsubscription1","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgdyta2iocxpziw63jtz4ctzqyjpxne4nmb46k3kjjcxzu2dysl7xjdw4c4ql4l/providers/microsoft.storage/storageaccounts/clieventgriddqgmrhwliguz","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.ServiceBus/namespaces/devexpservicebus/topics/devexptopic1"},"endpointType":"ServiceBusTopic"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"CloudEventSchemaV1_0","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgdyta2iocxpziw63jtz4ctzqyjpxne4nmb46k3kjjcxzu2dysl7xjdw4c4ql4l/providers/Microsoft.Storage/storageAccounts/clieventgriddqgmrhwliguz/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription1","name":"CliTestEventGridEventsubscription1","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/microsoft.storage/storageaccounts/clieventgrid000002","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://eventgridclitestapp.azurewebsites.net/api/SubscriptionValidation","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":".jpg","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002/providers/Microsoft.EventGrid/eventSubscriptions/cli000003","name":"cli000003","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgri6qeguzxuzchyyajfkvcroikbntonyoeajl6po7hgiheklopg56zdzvdtzrbxnp6/providers/microsoft.storage/storageaccounts/clieventgridwfxe4m7kxvzq","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Relay/namespaces/DevExpRelayNamespace/hybridConnections/hydbridconnectiondestination"},"endpointType":"HybridConnection"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"SomeRandomText2","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":20,"eventTimeToLiveInMinutes":1000},"deadLetterDestination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Storage/storageAccounts/devexpstg","blobContainerName":"dlq"},"endpointType":"StorageBlob"}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgri6qeguzxuzchyyajfkvcroikbntonyoeajl6po7hgiheklopg56zdzvdtzrbxnp6/providers/Microsoft.Storage/storageAccounts/clieventgridwfxe4m7kxvzq/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgdyta2iocxpziw63jtz4ctzqyjpxne4nmb46k3kjjcxzu2dysl7xjdw4c4ql4l/providers/microsoft.storage/storageaccounts/clieventgriddqgmrhwliguz","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgdyta2iocxpziw63jtz4ctzqyjpxne4nmb46k3kjjcxzu2dysl7xjdw4c4ql4l/providers/Microsoft.Storage/storageAccounts/clieventgriddqgmrhwliguz/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription2","name":"CliTestEventGridEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgri6qeguzxuzchyyajfkvcroikbntonyoeajl6po7hgiheklopg56zdzvdtzrbxnp6/providers/microsoft.storage/storageaccounts/clieventgridwfxe4m7kxvzq","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.ServiceBus/namespaces/devexpservicebus/queues/devexpdestination"},"endpointType":"ServiceBusQueue"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"SomeRandomText2","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":10,"eventTimeToLiveInMinutes":1200},"deadLetterDestination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Storage/storageAccounts/devexpstg","blobContainerName":"dlq"},"endpointType":"StorageBlob"}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgri6qeguzxuzchyyajfkvcroikbntonyoeajl6po7hgiheklopg56zdzvdtzrbxnp6/providers/Microsoft.Storage/storageAccounts/clieventgridwfxe4m7kxvzq/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription3","name":"CliTestEventsubscription3","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgdyta2iocxpziw63jtz4ctzqyjpxne4nmb46k3kjjcxzu2dysl7xjdw4c4ql4l/providers/microsoft.storage/storageaccounts/clieventgriddqgmrhwliguz","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/api/DevExpFunc","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrgdyta2iocxpziw63jtz4ctzqyjpxne4nmb46k3kjjcxzu2dysl7xjdw4c4ql4l/providers/Microsoft.Storage/storageAccounts/clieventgriddqgmrhwliguz/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription4","name":"CliTestEventGridEventsubscription4","type":"Microsoft.EventGrid/eventSubscriptions"}]}' headers: cache-control: - no-cache content-length: - - '8821' + - '53130' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:20 GMT + - Sat, 16 May 2020 15:06:27 GMT expires: - '-1' pragma: @@ -974,23 +974,23 @@ interactions: - --source-resource-id --odata-query User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002/providers/Microsoft.EventGrid/eventSubscriptions?api-version=2020-04-01-preview&$filter=CONTAINS%28name%2C%27cli000003%27%29&$top=100 response: body: - string: '{"value":[{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/microsoft.storage/storageaccounts/clieventgrid000002","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":".jpg","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002/providers/Microsoft.EventGrid/eventSubscriptions/cli000003","name":"cli000003","type":"Microsoft.EventGrid/eventSubscriptions"}]}' + string: '{"value":[{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/microsoft.storage/storageaccounts/clieventgrid000002","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://eventgridclitestapp.azurewebsites.net/api/SubscriptionValidation","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":".jpg","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002/providers/Microsoft.EventGrid/eventSubscriptions/cli000003","name":"cli000003","type":"Microsoft.EventGrid/eventSubscriptions"}]}' headers: cache-control: - no-cache content-length: - - '1192' + - '1187' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:21 GMT + - Sat, 16 May 2020 15:06:27 GMT expires: - '-1' pragma: @@ -1023,23 +1023,23 @@ interactions: - --topic-type --location --odata-query User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/topicTypes/Microsoft.Storage.StorageAccounts/eventSubscriptions?api-version=2020-04-01-preview&$filter=CONTAINS%28name%2C%27cli000003%27%29&$top=100 response: body: - string: '{"value":[{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/microsoft.storage/storageaccounts/clieventgrid000002","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":".jpg","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002/providers/Microsoft.EventGrid/eventSubscriptions/cli000003","name":"cli000003","type":"Microsoft.EventGrid/eventSubscriptions"}]}' + string: '{"value":[{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/microsoft.storage/storageaccounts/clieventgrid000002","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://eventgridclitestapp.azurewebsites.net/api/SubscriptionValidation","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":".jpg","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002/providers/Microsoft.EventGrid/eventSubscriptions/cli000003","name":"cli000003","type":"Microsoft.EventGrid/eventSubscriptions"}]}' headers: cache-control: - no-cache content-length: - - '1192' + - '1187' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:22 GMT + - Sat, 16 May 2020 15:06:28 GMT expires: - '-1' pragma: @@ -1072,23 +1072,23 @@ interactions: - --topic-type --location --resource-group --odata-query User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.EventGrid/locations/centraluseuap/topicTypes/Microsoft.Storage.StorageAccounts/eventSubscriptions?api-version=2020-04-01-preview&$filter=CONTAINS%28name%2C%27cli000003%27%29&$top=100 response: body: - string: '{"value":[{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/microsoft.storage/storageaccounts/clieventgrid000002","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":".jpg","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002/providers/Microsoft.EventGrid/eventSubscriptions/cli000003","name":"cli000003","type":"Microsoft.EventGrid/eventSubscriptions"}]}' + string: '{"value":[{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/microsoft.storage/storageaccounts/clieventgrid000002","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://eventgridclitestapp.azurewebsites.net/api/SubscriptionValidation","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":".jpg","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002/providers/Microsoft.EventGrid/eventSubscriptions/cli000003","name":"cli000003","type":"Microsoft.EventGrid/eventSubscriptions"}]}' headers: cache-control: - no-cache content-length: - - '1192' + - '1187' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:22 GMT + - Sat, 16 May 2020 15:06:28 GMT expires: - '-1' pragma: @@ -1121,23 +1121,23 @@ interactions: - --location --resource-group --odata-query User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.EventGrid/locations/centraluseuap/eventSubscriptions?api-version=2020-04-01-preview&$filter=name%20eq%20%27cli000003%27&$top=100 response: body: - string: '{"value":[{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/microsoft.storage/storageaccounts/clieventgrid000002","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":".jpg","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002/providers/Microsoft.EventGrid/eventSubscriptions/cli000003","name":"cli000003","type":"Microsoft.EventGrid/eventSubscriptions"}]}' + string: '{"value":[{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/microsoft.storage/storageaccounts/clieventgrid000002","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://eventgridclitestapp.azurewebsites.net/api/SubscriptionValidation","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":".jpg","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002/providers/Microsoft.EventGrid/eventSubscriptions/cli000003","name":"cli000003","type":"Microsoft.EventGrid/eventSubscriptions"}]}' headers: cache-control: - no-cache content-length: - - '1192' + - '1187' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:24 GMT + - Sat, 16 May 2020 15:06:29 GMT expires: - '-1' pragma: @@ -1170,23 +1170,23 @@ interactions: - --location --odata-query User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/eventSubscriptions?api-version=2020-04-01-preview&$filter=name%20eq%20%27cli000003%27&$top=100 response: body: - string: '{"value":[{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/microsoft.storage/storageaccounts/clieventgrid000002","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":".jpg","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002/providers/Microsoft.EventGrid/eventSubscriptions/cli000003","name":"cli000003","type":"Microsoft.EventGrid/eventSubscriptions"}]}' + string: '{"value":[{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/microsoft.storage/storageaccounts/clieventgrid000002","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://eventgridclitestapp.azurewebsites.net/api/SubscriptionValidation","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":".jpg","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002/providers/Microsoft.EventGrid/eventSubscriptions/cli000003","name":"cli000003","type":"Microsoft.EventGrid/eventSubscriptions"}]}' headers: cache-control: - no-cache content-length: - - '1192' + - '1187' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:24 GMT + - Sat, 16 May 2020 15:06:30 GMT expires: - '-1' pragma: @@ -1221,7 +1221,7 @@ interactions: - --source-resource-id --name User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: DELETE @@ -1231,17 +1231,17 @@ interactions: string: '' headers: azure-asyncoperation: - - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/944811B2-252C-4C8F-B5AE-A59E36918A8E?api-version=2020-04-01-preview + - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/E4B10F59-20CA-4E93-B0CC-F0C23D4071AB?api-version=2020-04-01-preview cache-control: - no-cache content-length: - '0' date: - - Thu, 19 Mar 2020 06:15:25 GMT + - Sat, 16 May 2020 15:06:32 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationResults/944811B2-252C-4C8F-B5AE-A59E36918A8E?api-version=2020-04-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationResults/E4B10F59-20CA-4E93-B0CC-F0C23D4071AB?api-version=2020-04-01-preview pragma: - no-cache server: @@ -1270,12 +1270,12 @@ interactions: - --source-resource-id --name User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/944811B2-252C-4C8F-B5AE-A59E36918A8E?api-version=2020-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/E4B10F59-20CA-4E93-B0CC-F0C23D4071AB?api-version=2020-04-01-preview response: body: - string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/944811B2-252C-4C8F-B5AE-A59E36918A8E?api-version=2020-04-01-preview","name":"944811b2-252c-4c8f-b5ae-a59e36918a8e","status":"Succeeded"}' + string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/E4B10F59-20CA-4E93-B0CC-F0C23D4071AB?api-version=2020-04-01-preview","name":"e4b10f59-20ca-4e93-b0cc-f0c23d4071ab","status":"Succeeded"}' headers: cache-control: - no-cache @@ -1284,7 +1284,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:35 GMT + - Sat, 16 May 2020 15:06:41 GMT expires: - '-1' pragma: diff --git a/src/eventgrid/azext_eventgrid/tests/latest/recordings/test_create_event_subscriptions_with_20180501_features.yaml b/src/eventgrid/azext_eventgrid/tests/latest/recordings/test_create_event_subscriptions_with_20180501_features.yaml index 57c9694b185..532a641a9a2 100644 --- a/src/eventgrid/azext_eventgrid/tests/latest/recordings/test_create_event_subscriptions_with_20180501_features.yaml +++ b/src/eventgrid/azext_eventgrid/tests/latest/recordings/test_create_event_subscriptions_with_20180501_features.yaml @@ -18,14 +18,14 @@ interactions: - -g -n --sku -l User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-storage/7.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-storage/9.0.0 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002?api-version=2019-06-01 response: body: - string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002","name":"clieventgrid000002","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-19T06:14:24.2572587Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-19T06:14:24.2572587Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-19T06:14:24.1947837Z","primaryEndpoints":{"dfs":"https://clieventgrid000002.dfs.core.windows.net/","web":"https://clieventgrid000002.z2.web.core.windows.net/","blob":"https://clieventgrid000002.blob.core.windows.net/","queue":"https://clieventgrid000002.queue.core.windows.net/","table":"https://clieventgrid000002.table.core.windows.net/","file":"https://clieventgrid000002.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}}' + string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002","name":"clieventgrid000002","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-05-16T15:05:27.0893583Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-05-16T15:05:27.0893583Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-05-16T15:05:27.0267197Z","primaryEndpoints":{"dfs":"https://clieventgrid000002.dfs.core.windows.net/","web":"https://clieventgrid000002.z2.web.core.windows.net/","blob":"https://clieventgrid000002.blob.core.windows.net/","queue":"https://clieventgrid000002.queue.core.windows.net/","table":"https://clieventgrid000002.table.core.windows.net/","file":"https://clieventgrid000002.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}}' headers: cache-control: - no-cache @@ -34,7 +34,7 @@ interactions: content-type: - application/json date: - - Thu, 19 Mar 2020 06:14:43 GMT + - Sat, 16 May 2020 15:05:47 GMT expires: - '-1' pragma: @@ -69,14 +69,14 @@ interactions: - -g -n --set User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-storage/7.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-storage/9.0.0 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002?api-version=2019-06-01 response: body: - string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002","name":"clieventgrid000002","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-19T06:14:24.2572587Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-19T06:14:24.2572587Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-19T06:14:24.1947837Z","primaryEndpoints":{"dfs":"https://clieventgrid000002.dfs.core.windows.net/","web":"https://clieventgrid000002.z2.web.core.windows.net/","blob":"https://clieventgrid000002.blob.core.windows.net/","queue":"https://clieventgrid000002.queue.core.windows.net/","table":"https://clieventgrid000002.table.core.windows.net/","file":"https://clieventgrid000002.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}}' + string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002","name":"clieventgrid000002","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-05-16T15:05:27.0893583Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-05-16T15:05:27.0893583Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-05-16T15:05:27.0267197Z","primaryEndpoints":{"dfs":"https://clieventgrid000002.dfs.core.windows.net/","web":"https://clieventgrid000002.z2.web.core.windows.net/","blob":"https://clieventgrid000002.blob.core.windows.net/","queue":"https://clieventgrid000002.queue.core.windows.net/","table":"https://clieventgrid000002.table.core.windows.net/","file":"https://clieventgrid000002.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}}' headers: cache-control: - no-cache @@ -85,7 +85,7 @@ interactions: content-type: - application/json date: - - Thu, 19 Mar 2020 06:14:44 GMT + - Sat, 16 May 2020 15:05:48 GMT expires: - '-1' pragma: @@ -127,14 +127,14 @@ interactions: - -g -n --set User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-storage/7.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-storage/9.0.0 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: PATCH uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002?api-version=2019-06-01 response: body: - string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002","name":"clieventgrid000002","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-19T06:14:24.2572587Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-19T06:14:24.2572587Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-19T06:14:24.1947837Z","primaryEndpoints":{"dfs":"https://clieventgrid000002.dfs.core.windows.net/","web":"https://clieventgrid000002.z2.web.core.windows.net/","blob":"https://clieventgrid000002.blob.core.windows.net/","queue":"https://clieventgrid000002.queue.core.windows.net/","table":"https://clieventgrid000002.table.core.windows.net/","file":"https://clieventgrid000002.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}}' + string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002","name":"clieventgrid000002","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-05-16T15:05:27.0893583Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-05-16T15:05:27.0893583Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-05-16T15:05:27.0267197Z","primaryEndpoints":{"dfs":"https://clieventgrid000002.dfs.core.windows.net/","web":"https://clieventgrid000002.z2.web.core.windows.net/","blob":"https://clieventgrid000002.blob.core.windows.net/","queue":"https://clieventgrid000002.queue.core.windows.net/","table":"https://clieventgrid000002.table.core.windows.net/","file":"https://clieventgrid000002.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}}' headers: cache-control: - no-cache @@ -143,7 +143,7 @@ interactions: content-type: - application/json date: - - Thu, 19 Mar 2020 06:14:46 GMT + - Sat, 16 May 2020 15:05:48 GMT expires: - '-1' pragma: @@ -159,7 +159,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1199' status: code: 200 message: OK @@ -190,7 +190,7 @@ interactions: --deadletter-endpoint --subject-begins-with --subject-ends-with User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: PUT @@ -200,7 +200,7 @@ interactions: string: '{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.storage/storageaccounts/clieventgrid000002","provisioningState":"Creating","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Storage/storageAccounts/devexpstg","queueName":"stogqueuedestination"},"endpointType":"StorageQueue"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"SomeRandomText2","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"CloudEventSchemaV1_0","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440},"deadLetterDestination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Storage/storageAccounts/devexpstg","blobContainerName":"dlq"},"endpointType":"StorageBlob"}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription1","name":"CliTestEventsubscription1","type":"Microsoft.EventGrid/eventSubscriptions"}' headers: azure-asyncoperation: - - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/B99799F0-EC0A-4CA7-AD28-E0B7F6F3BDFB?api-version=2020-04-01-preview + - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/7658D055-7A53-4940-A3F7-72570CC48D3E?api-version=2020-04-01-preview cache-control: - no-cache content-length: @@ -208,7 +208,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:14:47 GMT + - Sat, 16 May 2020 15:05:51 GMT expires: - '-1' pragma: @@ -240,12 +240,12 @@ interactions: --deadletter-endpoint --subject-begins-with --subject-ends-with User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/B99799F0-EC0A-4CA7-AD28-E0B7F6F3BDFB?api-version=2020-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/7658D055-7A53-4940-A3F7-72570CC48D3E?api-version=2020-04-01-preview response: body: - string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/B99799F0-EC0A-4CA7-AD28-E0B7F6F3BDFB?api-version=2020-04-01-preview","name":"b99799f0-ec0a-4ca7-ad28-e0b7f6f3bdfb","status":"Succeeded"}' + string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/7658D055-7A53-4940-A3F7-72570CC48D3E?api-version=2020-04-01-preview","name":"7658d055-7a53-4940-a3f7-72570cc48d3e","status":"Succeeded"}' headers: cache-control: - no-cache @@ -254,7 +254,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:14:58 GMT + - Sat, 16 May 2020 15:06:01 GMT expires: - '-1' pragma: @@ -288,7 +288,7 @@ interactions: --deadletter-endpoint --subject-begins-with --subject-ends-with User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription1?api-version=2020-04-01-preview response: @@ -302,7 +302,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:14:58 GMT + - Sat, 16 May 2020 15:06:02 GMT expires: - '-1' pragma: @@ -335,7 +335,7 @@ interactions: - --source-resource-id --name User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET @@ -351,7 +351,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:14:59 GMT + - Sat, 16 May 2020 15:06:02 GMT expires: - '-1' pragma: @@ -395,7 +395,7 @@ interactions: --max-delivery-attempts --event-ttl --subject-begins-with --subject-ends-with User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: PUT @@ -405,7 +405,7 @@ interactions: string: '{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.storage/storageaccounts/clieventgrid000002","provisioningState":"Creating","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Relay/namespaces/DevExpRelayNamespace/hybridConnections/hydbridconnectiondestination"},"endpointType":"HybridConnection"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"SomeRandomText2","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"retryPolicy":{"maxDeliveryAttempts":20,"eventTimeToLiveInMinutes":1000},"deadLetterDestination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Storage/storageAccounts/devexpstg","blobContainerName":"dlq"},"endpointType":"StorageBlob"}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2","name":"CliTestEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"}' headers: azure-asyncoperation: - - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/7A76E253-F233-4C6B-81F3-42DEB17E8B4B?api-version=2020-04-01-preview + - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/CD132EC8-9EAC-44EC-8787-BA534A6D0B35?api-version=2020-04-01-preview cache-control: - no-cache content-length: @@ -413,7 +413,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:00 GMT + - Sat, 16 May 2020 15:06:03 GMT expires: - '-1' pragma: @@ -445,12 +445,12 @@ interactions: --max-delivery-attempts --event-ttl --subject-begins-with --subject-ends-with User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/7A76E253-F233-4C6B-81F3-42DEB17E8B4B?api-version=2020-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/CD132EC8-9EAC-44EC-8787-BA534A6D0B35?api-version=2020-04-01-preview response: body: - string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/7A76E253-F233-4C6B-81F3-42DEB17E8B4B?api-version=2020-04-01-preview","name":"7a76e253-f233-4c6b-81f3-42deb17e8b4b","status":"Succeeded"}' + string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/CD132EC8-9EAC-44EC-8787-BA534A6D0B35?api-version=2020-04-01-preview","name":"cd132ec8-9eac-44ec-8787-ba534a6d0b35","status":"Succeeded"}' headers: cache-control: - no-cache @@ -459,7 +459,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:10 GMT + - Sat, 16 May 2020 15:06:14 GMT expires: - '-1' pragma: @@ -493,7 +493,7 @@ interactions: --max-delivery-attempts --event-ttl --subject-begins-with --subject-ends-with User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription2?api-version=2020-04-01-preview response: @@ -507,7 +507,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:10 GMT + - Sat, 16 May 2020 15:06:15 GMT expires: - '-1' pragma: @@ -540,7 +540,7 @@ interactions: - --source-resource-id --name User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET @@ -556,7 +556,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:12 GMT + - Sat, 16 May 2020 15:06:15 GMT expires: - '-1' pragma: @@ -600,7 +600,7 @@ interactions: --max-delivery-attempts --event-ttl --subject-begins-with --subject-ends-with User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: PUT @@ -610,7 +610,7 @@ interactions: string: '{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.storage/storageaccounts/clieventgrid000002","provisioningState":"Creating","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.ServiceBus/namespaces/devexpservicebus/queues/devexpdestination"},"endpointType":"ServiceBusQueue"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"SomeRandomText2","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"retryPolicy":{"maxDeliveryAttempts":10,"eventTimeToLiveInMinutes":1200},"deadLetterDestination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Storage/storageAccounts/devexpstg","blobContainerName":"dlq"},"endpointType":"StorageBlob"}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription3","name":"CliTestEventsubscription3","type":"Microsoft.EventGrid/eventSubscriptions"}' headers: azure-asyncoperation: - - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/DB07792A-A7D9-4697-B320-B2BEC445FBAF?api-version=2020-04-01-preview + - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/2DC0E8FA-FF7B-4DE6-8EBD-B07482F10AAA?api-version=2020-04-01-preview cache-control: - no-cache content-length: @@ -618,7 +618,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:12 GMT + - Sat, 16 May 2020 15:06:16 GMT expires: - '-1' pragma: @@ -630,7 +630,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '898' + - '899' status: code: 201 message: Created @@ -650,60 +650,12 @@ interactions: --max-delivery-attempts --event-ttl --subject-begins-with --subject-ends-with User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/DB07792A-A7D9-4697-B320-B2BEC445FBAF?api-version=2020-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/2DC0E8FA-FF7B-4DE6-8EBD-B07482F10AAA?api-version=2020-04-01-preview response: body: - string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/DB07792A-A7D9-4697-B320-B2BEC445FBAF?api-version=2020-04-01-preview","name":"db07792a-a7d9-4697-b320-b2bec445fbaf","status":"InProgress"}' - headers: - cache-control: - - no-cache - content-length: - - '295' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 19 Mar 2020 06:15:23 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - eventgrid event-subscription create - Connection: - - keep-alive - ParameterSetName: - - --source-resource-id --name --endpoint-type --endpoint --deadletter-endpoint - --max-delivery-attempts --event-ttl --subject-begins-with --subject-ends-with - User-Agent: - - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/DB07792A-A7D9-4697-B320-B2BEC445FBAF?api-version=2020-04-01-preview - response: - body: - string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/DB07792A-A7D9-4697-B320-B2BEC445FBAF?api-version=2020-04-01-preview","name":"db07792a-a7d9-4697-b320-b2bec445fbaf","status":"Succeeded"}' + string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/2DC0E8FA-FF7B-4DE6-8EBD-B07482F10AAA?api-version=2020-04-01-preview","name":"2dc0e8fa-ff7b-4de6-8ebd-b07482f10aaa","status":"Succeeded"}' headers: cache-control: - no-cache @@ -712,7 +664,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:52 GMT + - Sat, 16 May 2020 15:06:27 GMT expires: - '-1' pragma: @@ -746,7 +698,7 @@ interactions: --max-delivery-attempts --event-ttl --subject-begins-with --subject-ends-with User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription3?api-version=2020-04-01-preview response: @@ -760,7 +712,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:53 GMT + - Sat, 16 May 2020 15:06:27 GMT expires: - '-1' pragma: @@ -793,7 +745,7 @@ interactions: - --source-resource-id --name User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET @@ -809,7 +761,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:54 GMT + - Sat, 16 May 2020 15:06:28 GMT expires: - '-1' pragma: @@ -844,7 +796,7 @@ interactions: - --source-resource-id --name User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: DELETE @@ -854,17 +806,17 @@ interactions: string: '' headers: azure-asyncoperation: - - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/9C79FA97-F694-43F3-9887-8A7E6B24233F?api-version=2020-04-01-preview + - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/292D64C8-E2A0-4AD2-A74B-E377BC60413A?api-version=2020-04-01-preview cache-control: - no-cache content-length: - '0' date: - - Thu, 19 Mar 2020 06:15:55 GMT + - Sat, 16 May 2020 15:06:29 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationResults/9C79FA97-F694-43F3-9887-8A7E6B24233F?api-version=2020-04-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationResults/292D64C8-E2A0-4AD2-A74B-E377BC60413A?api-version=2020-04-01-preview pragma: - no-cache server: @@ -874,7 +826,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-deletes: - - '14998' + - '14999' status: code: 202 message: Accepted @@ -893,12 +845,12 @@ interactions: - --source-resource-id --name User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/9C79FA97-F694-43F3-9887-8A7E6B24233F?api-version=2020-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/292D64C8-E2A0-4AD2-A74B-E377BC60413A?api-version=2020-04-01-preview response: body: - string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/9C79FA97-F694-43F3-9887-8A7E6B24233F?api-version=2020-04-01-preview","name":"9c79fa97-f694-43f3-9887-8a7e6b24233f","status":"Succeeded"}' + string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/292D64C8-E2A0-4AD2-A74B-E377BC60413A?api-version=2020-04-01-preview","name":"292d64c8-e2a0-4ad2-a74b-e377bc60413a","status":"Succeeded"}' headers: cache-control: - no-cache @@ -907,7 +859,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:16:05 GMT + - Sat, 16 May 2020 15:06:39 GMT expires: - '-1' pragma: @@ -942,7 +894,7 @@ interactions: - --source-resource-id --name User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: DELETE @@ -952,17 +904,17 @@ interactions: string: '' headers: azure-asyncoperation: - - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/3A4C2528-2487-4254-8DB0-B9793A63EC75?api-version=2020-04-01-preview + - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/38E40569-9E3D-4DFC-853D-426B66A9EA7C?api-version=2020-04-01-preview cache-control: - no-cache content-length: - '0' date: - - Thu, 19 Mar 2020 06:16:07 GMT + - Sat, 16 May 2020 15:06:41 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationResults/3A4C2528-2487-4254-8DB0-B9793A63EC75?api-version=2020-04-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationResults/38E40569-9E3D-4DFC-853D-426B66A9EA7C?api-version=2020-04-01-preview pragma: - no-cache server: @@ -991,12 +943,12 @@ interactions: - --source-resource-id --name User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/3A4C2528-2487-4254-8DB0-B9793A63EC75?api-version=2020-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/38E40569-9E3D-4DFC-853D-426B66A9EA7C?api-version=2020-04-01-preview response: body: - string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/3A4C2528-2487-4254-8DB0-B9793A63EC75?api-version=2020-04-01-preview","name":"3a4c2528-2487-4254-8db0-b9793a63ec75","status":"Succeeded"}' + string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/38E40569-9E3D-4DFC-853D-426B66A9EA7C?api-version=2020-04-01-preview","name":"38e40569-9e3d-4dfc-853d-426b66a9ea7c","status":"Succeeded"}' headers: cache-control: - no-cache @@ -1005,7 +957,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:16:17 GMT + - Sat, 16 May 2020 15:06:51 GMT expires: - '-1' pragma: @@ -1040,7 +992,7 @@ interactions: - --source-resource-id --name User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: DELETE @@ -1050,17 +1002,17 @@ interactions: string: '' headers: azure-asyncoperation: - - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/A9389599-7289-48FC-929B-AA89EEE84207?api-version=2020-04-01-preview + - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/DA3508C9-B55B-4936-8369-DCB67A3C0A96?api-version=2020-04-01-preview cache-control: - no-cache content-length: - '0' date: - - Thu, 19 Mar 2020 06:16:19 GMT + - Sat, 16 May 2020 15:06:53 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationResults/A9389599-7289-48FC-929B-AA89EEE84207?api-version=2020-04-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationResults/DA3508C9-B55B-4936-8369-DCB67A3C0A96?api-version=2020-04-01-preview pragma: - no-cache server: @@ -1089,12 +1041,12 @@ interactions: - --source-resource-id --name User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/A9389599-7289-48FC-929B-AA89EEE84207?api-version=2020-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/DA3508C9-B55B-4936-8369-DCB67A3C0A96?api-version=2020-04-01-preview response: body: - string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/A9389599-7289-48FC-929B-AA89EEE84207?api-version=2020-04-01-preview","name":"a9389599-7289-48fc-929b-aa89eee84207","status":"Succeeded"}' + string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/DA3508C9-B55B-4936-8369-DCB67A3C0A96?api-version=2020-04-01-preview","name":"da3508c9-b55b-4936-8369-dcb67a3c0a96","status":"Succeeded"}' headers: cache-control: - no-cache @@ -1103,7 +1055,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:16:29 GMT + - Sat, 16 May 2020 15:07:03 GMT expires: - '-1' pragma: @@ -1138,7 +1090,7 @@ interactions: - -y -g -n User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-storage/7.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-storage/9.0.0 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: DELETE @@ -1154,7 +1106,7 @@ interactions: content-type: - text/plain; charset=utf-8 date: - - Thu, 19 Mar 2020 06:16:55 GMT + - Sat, 16 May 2020 15:07:05 GMT expires: - '-1' pragma: @@ -1166,7 +1118,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-deletes: - - '14999' + - '14998' status: code: 200 message: OK diff --git a/src/eventgrid/azext_eventgrid/tests/latest/recordings/test_create_event_subscriptions_with_20200101_features.yaml b/src/eventgrid/azext_eventgrid/tests/latest/recordings/test_create_event_subscriptions_with_20200101_features.yaml index d76eeb57fc3..74d4d9fbf49 100644 --- a/src/eventgrid/azext_eventgrid/tests/latest/recordings/test_create_event_subscriptions_with_20200101_features.yaml +++ b/src/eventgrid/azext_eventgrid/tests/latest/recordings/test_create_event_subscriptions_with_20200101_features.yaml @@ -18,14 +18,14 @@ interactions: - -g -n --sku -l User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-storage/7.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-storage/9.0.0 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002?api-version=2019-06-01 response: body: - string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002","name":"clieventgrid000002","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-19T06:14:27.0072604Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-19T06:14:27.0072604Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-19T06:14:26.9447860Z","primaryEndpoints":{"dfs":"https://clieventgrid000002.dfs.core.windows.net/","web":"https://clieventgrid000002.z2.web.core.windows.net/","blob":"https://clieventgrid000002.blob.core.windows.net/","queue":"https://clieventgrid000002.queue.core.windows.net/","table":"https://clieventgrid000002.table.core.windows.net/","file":"https://clieventgrid000002.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}}' + string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002","name":"clieventgrid000002","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-05-16T15:05:30.1204977Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-05-16T15:05:30.1204977Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-05-16T15:05:30.0424065Z","primaryEndpoints":{"dfs":"https://clieventgrid000002.dfs.core.windows.net/","web":"https://clieventgrid000002.z2.web.core.windows.net/","blob":"https://clieventgrid000002.blob.core.windows.net/","queue":"https://clieventgrid000002.queue.core.windows.net/","table":"https://clieventgrid000002.table.core.windows.net/","file":"https://clieventgrid000002.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}}' headers: cache-control: - no-cache @@ -34,7 +34,7 @@ interactions: content-type: - application/json date: - - Thu, 19 Mar 2020 06:14:49 GMT + - Sat, 16 May 2020 15:05:50 GMT expires: - '-1' pragma: @@ -50,7 +50,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1199' status: code: 200 message: OK @@ -69,14 +69,14 @@ interactions: - -g -n --set User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-storage/7.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-storage/9.0.0 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002?api-version=2019-06-01 response: body: - string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002","name":"clieventgrid000002","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-19T06:14:27.0072604Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-19T06:14:27.0072604Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-19T06:14:26.9447860Z","primaryEndpoints":{"dfs":"https://clieventgrid000002.dfs.core.windows.net/","web":"https://clieventgrid000002.z2.web.core.windows.net/","blob":"https://clieventgrid000002.blob.core.windows.net/","queue":"https://clieventgrid000002.queue.core.windows.net/","table":"https://clieventgrid000002.table.core.windows.net/","file":"https://clieventgrid000002.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}}' + string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002","name":"clieventgrid000002","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-05-16T15:05:30.1204977Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-05-16T15:05:30.1204977Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-05-16T15:05:30.0424065Z","primaryEndpoints":{"dfs":"https://clieventgrid000002.dfs.core.windows.net/","web":"https://clieventgrid000002.z2.web.core.windows.net/","blob":"https://clieventgrid000002.blob.core.windows.net/","queue":"https://clieventgrid000002.queue.core.windows.net/","table":"https://clieventgrid000002.table.core.windows.net/","file":"https://clieventgrid000002.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}}' headers: cache-control: - no-cache @@ -85,7 +85,7 @@ interactions: content-type: - application/json date: - - Thu, 19 Mar 2020 06:14:50 GMT + - Sat, 16 May 2020 15:05:51 GMT expires: - '-1' pragma: @@ -127,14 +127,14 @@ interactions: - -g -n --set User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-storage/7.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-storage/9.0.0 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: PATCH uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002?api-version=2019-06-01 response: body: - string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002","name":"clieventgrid000002","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-19T06:14:27.0072604Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-19T06:14:27.0072604Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-19T06:14:26.9447860Z","primaryEndpoints":{"dfs":"https://clieventgrid000002.dfs.core.windows.net/","web":"https://clieventgrid000002.z2.web.core.windows.net/","blob":"https://clieventgrid000002.blob.core.windows.net/","queue":"https://clieventgrid000002.queue.core.windows.net/","table":"https://clieventgrid000002.table.core.windows.net/","file":"https://clieventgrid000002.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}}' + string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002","name":"clieventgrid000002","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-05-16T15:05:30.1204977Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-05-16T15:05:30.1204977Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-05-16T15:05:30.0424065Z","primaryEndpoints":{"dfs":"https://clieventgrid000002.dfs.core.windows.net/","web":"https://clieventgrid000002.z2.web.core.windows.net/","blob":"https://clieventgrid000002.blob.core.windows.net/","queue":"https://clieventgrid000002.queue.core.windows.net/","table":"https://clieventgrid000002.table.core.windows.net/","file":"https://clieventgrid000002.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}}' headers: cache-control: - no-cache @@ -143,7 +143,7 @@ interactions: content-type: - application/json date: - - Thu, 19 Mar 2020 06:14:52 GMT + - Sat, 16 May 2020 15:05:54 GMT expires: - '-1' pragma: @@ -159,7 +159,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1198' status: code: 200 message: OK @@ -187,7 +187,7 @@ interactions: --event-delivery-schema User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: PUT @@ -197,7 +197,7 @@ interactions: string: '{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/microsoft.storage/storageaccounts/clieventgrid000002","provisioningState":"Creating","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.ServiceBus/namespaces/devexpservicebus/topics/devexptopic1"},"endpointType":"ServiceBusTopic"},"filter":{"subjectBeginsWith":"SomeRandomText1","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"CloudEventSchemaV1_0","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription1","name":"CliTestEventGridEventsubscription1","type":"Microsoft.EventGrid/eventSubscriptions"}' headers: azure-asyncoperation: - - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/6A5F9AB4-0C0B-4060-BDE7-3200CD15E4CD?api-version=2020-04-01-preview + - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/1DE19FC3-D559-4A53-BA58-82AC8E9BF542?api-version=2020-04-01-preview cache-control: - no-cache content-length: @@ -205,7 +205,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:14:53 GMT + - Sat, 16 May 2020 15:05:56 GMT expires: - '-1' pragma: @@ -237,12 +237,12 @@ interactions: --event-delivery-schema User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/6A5F9AB4-0C0B-4060-BDE7-3200CD15E4CD?api-version=2020-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/1DE19FC3-D559-4A53-BA58-82AC8E9BF542?api-version=2020-04-01-preview response: body: - string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/6A5F9AB4-0C0B-4060-BDE7-3200CD15E4CD?api-version=2020-04-01-preview","name":"6a5f9ab4-0c0b-4060-bde7-3200cd15e4cd","status":"Succeeded"}' + string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/1DE19FC3-D559-4A53-BA58-82AC8E9BF542?api-version=2020-04-01-preview","name":"1de19fc3-d559-4a53-ba58-82ac8e9bf542","status":"Succeeded"}' headers: cache-control: - no-cache @@ -251,7 +251,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:03 GMT + - Sat, 16 May 2020 15:06:06 GMT expires: - '-1' pragma: @@ -285,7 +285,56 @@ interactions: --event-delivery-schema User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription1?api-version=2020-04-01-preview + response: + body: + string: '{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/microsoft.storage/storageaccounts/clieventgrid000002","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.ServiceBus/namespaces/devexpservicebus/topics/devexptopic1"},"endpointType":"ServiceBusTopic"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"CloudEventSchemaV1_0","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription1","name":"CliTestEventGridEventsubscription1","type":"Microsoft.EventGrid/eventSubscriptions"}' + headers: + cache-control: + - no-cache + content-length: + - '1188' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 16 May 2020 15:06:06 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - eventgrid event-subscription show + Connection: + - keep-alive + ParameterSetName: + - --source-resource-id --name + User-Agent: + - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 + accept-language: + - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription1?api-version=2020-04-01-preview response: @@ -299,7 +348,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:03 GMT + - Sat, 16 May 2020 15:06:07 GMT expires: - '-1' pragma: @@ -341,7 +390,7 @@ interactions: --max-events-per-batch --preferred-batch-size-in-kilobytes User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: PUT @@ -351,7 +400,7 @@ interactions: string: '{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/microsoft.storage/storageaccounts/clieventgrid000002","provisioningState":"Creating","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription2","name":"CliTestEventGridEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"}' headers: azure-asyncoperation: - - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/6AC3F868-D724-4453-A70B-4459DCF3B17D?api-version=2020-04-01-preview + - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/6C71B015-5FE6-486F-9FB2-E387FF3CA931?api-version=2020-04-01-preview cache-control: - no-cache content-length: @@ -359,7 +408,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:05 GMT + - Sat, 16 May 2020 15:06:09 GMT expires: - '-1' pragma: @@ -391,12 +440,12 @@ interactions: --max-events-per-batch --preferred-batch-size-in-kilobytes User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/6AC3F868-D724-4453-A70B-4459DCF3B17D?api-version=2020-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/6C71B015-5FE6-486F-9FB2-E387FF3CA931?api-version=2020-04-01-preview response: body: - string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/6AC3F868-D724-4453-A70B-4459DCF3B17D?api-version=2020-04-01-preview","name":"6ac3f868-d724-4453-a70b-4459dcf3b17d","status":"Succeeded"}' + string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/6C71B015-5FE6-486F-9FB2-E387FF3CA931?api-version=2020-04-01-preview","name":"6c71b015-5fe6-486f-9fb2-e387ff3ca931","status":"Succeeded"}' headers: cache-control: - no-cache @@ -405,7 +454,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:16 GMT + - Sat, 16 May 2020 15:06:19 GMT expires: - '-1' pragma: @@ -439,7 +488,56 @@ interactions: --max-events-per-batch --preferred-batch-size-in-kilobytes User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription2?api-version=2020-04-01-preview + response: + body: + string: '{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/microsoft.storage/storageaccounts/clieventgrid000002","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription2","name":"CliTestEventGridEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"}' + headers: + cache-control: + - no-cache + content-length: + - '1239' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 16 May 2020 15:06:19 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - eventgrid event-subscription show + Connection: + - keep-alive + ParameterSetName: + - --source-resource-id --name + User-Agent: + - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 + accept-language: + - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription2?api-version=2020-04-01-preview response: @@ -453,7 +551,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:16 GMT + - Sat, 16 May 2020 15:06:19 GMT expires: - '-1' pragma: @@ -473,7 +571,7 @@ interactions: message: OK - request: body: '{"properties": {"destination": {"endpointType": "WebHook", "properties": - {"endpointUrl": "https://devexpfuncappdestination.azurewebsites.net/api/DevExpFunc?code=", + {"endpointUrl": "https://devexpfuncappdestination.azurewebsites.net/api/DevExpFunc?code=7jTiaEBVeYjC8X6gPDUhIhAnFRjaxZaGyS3hBbr09bmj3heQNhvrbA==", "maxEventsPerBatch": 10, "preferredBatchSizeInKilobytes": 128}}, "filter": {"subjectBeginsWith": "SomeRandomText1", "isSubjectCaseSensitive": false}, "retryPolicy": {"maxDeliveryAttempts": 30, "eventTimeToLiveInMinutes": 1440}}}' @@ -495,7 +593,7 @@ interactions: --max-events-per-batch --preferred-batch-size-in-kilobytes User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: PUT @@ -505,7 +603,7 @@ interactions: string: '{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/microsoft.storage/storageaccounts/clieventgrid000002","provisioningState":"Creating","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/api/DevExpFunc","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"SomeRandomText1","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription4","name":"CliTestEventGridEventsubscription4","type":"Microsoft.EventGrid/eventSubscriptions"}' headers: azure-asyncoperation: - - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/8A6787E5-345D-4B8F-B857-BFBA33E15945?api-version=2020-04-01-preview + - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/78426589-F989-466C-8892-481924FFB152?api-version=2020-04-01-preview cache-control: - no-cache content-length: @@ -513,7 +611,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:17 GMT + - Sat, 16 May 2020 15:06:21 GMT expires: - '-1' pragma: @@ -545,12 +643,12 @@ interactions: --max-events-per-batch --preferred-batch-size-in-kilobytes User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/8A6787E5-345D-4B8F-B857-BFBA33E15945?api-version=2020-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/78426589-F989-466C-8892-481924FFB152?api-version=2020-04-01-preview response: body: - string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/8A6787E5-345D-4B8F-B857-BFBA33E15945?api-version=2020-04-01-preview","name":"8a6787e5-345d-4b8f-b857-bfba33e15945","status":"Succeeded"}' + string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/78426589-F989-466C-8892-481924FFB152?api-version=2020-04-01-preview","name":"78426589-f989-466c-8892-481924ffb152","status":"Succeeded"}' headers: cache-control: - no-cache @@ -559,7 +657,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:27 GMT + - Sat, 16 May 2020 15:06:32 GMT expires: - '-1' pragma: @@ -593,7 +691,56 @@ interactions: --max-events-per-batch --preferred-batch-size-in-kilobytes User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription4?api-version=2020-04-01-preview + response: + body: + string: '{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/microsoft.storage/storageaccounts/clieventgrid000002","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/api/DevExpFunc","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription4","name":"CliTestEventGridEventsubscription4","type":"Microsoft.EventGrid/eventSubscriptions"}' + headers: + cache-control: + - no-cache + content-length: + - '1169' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 16 May 2020 15:06:32 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - eventgrid event-subscription show + Connection: + - keep-alive + ParameterSetName: + - --source-resource-id --name + User-Agent: + - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 + accept-language: + - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription4?api-version=2020-04-01-preview response: @@ -607,7 +754,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:27 GMT + - Sat, 16 May 2020 15:06:33 GMT expires: - '-1' pragma: @@ -627,7 +774,7 @@ interactions: message: OK - request: body: '{"properties": {"destination": {"endpointType": "WebHook", "properties": - {"endpointUrl": "https://devexpfuncappdestination.azurewebsites.net/api/DevExpFunc?code=", + {"endpointUrl": "https://devexpfuncappdestination.azurewebsites.net/api/DevExpFunc?code=7jTiaEBVeYjC8X6gPDUhIhAnFRjaxZaGyS3hBbr09bmj3heQNhvrbA==", "maxEventsPerBatch": 10, "preferredBatchSizeInKilobytes": 128, "azureActiveDirectoryTenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", "azureActiveDirectoryApplicationIdOrUri": "03d47d4a-7c50-43e0-ba90-89d090cc4582"}}, "filter": {"subjectBeginsWith": "SomeRandomText1", @@ -652,7 +799,7 @@ interactions: --azure-active-directory-application-id-or-uri User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: PUT @@ -662,7 +809,7 @@ interactions: string: '{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/microsoft.storage/storageaccounts/clieventgrid000002","provisioningState":"Creating","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/api/DevExpFunc","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128,"azureActiveDirectoryTenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","azureActiveDirectoryApplicationIdOrUri":"03d47d4a-7c50-43e0-ba90-89d090cc4582"},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"SomeRandomText1","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription3","name":"CliTestEventGridEventsubscription3","type":"Microsoft.EventGrid/eventSubscriptions"}' headers: azure-asyncoperation: - - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/411BD89E-8217-4B1B-A04A-D49649A43F59?api-version=2020-04-01-preview + - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/4A2D85DE-CC19-4114-9BFA-D277A81A0C7E?api-version=2020-04-01-preview cache-control: - no-cache content-length: @@ -670,7 +817,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:29 GMT + - Sat, 16 May 2020 15:06:34 GMT expires: - '-1' pragma: @@ -703,12 +850,12 @@ interactions: --azure-active-directory-application-id-or-uri User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/411BD89E-8217-4B1B-A04A-D49649A43F59?api-version=2020-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/4A2D85DE-CC19-4114-9BFA-D277A81A0C7E?api-version=2020-04-01-preview response: body: - string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/411BD89E-8217-4B1B-A04A-D49649A43F59?api-version=2020-04-01-preview","name":"411bd89e-8217-4b1b-a04a-d49649a43f59","status":"Succeeded"}' + string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/4A2D85DE-CC19-4114-9BFA-D277A81A0C7E?api-version=2020-04-01-preview","name":"4a2d85de-cc19-4114-9bfa-d277a81a0c7e","status":"Succeeded"}' headers: cache-control: - no-cache @@ -717,7 +864,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:40 GMT + - Sat, 16 May 2020 15:06:44 GMT expires: - '-1' pragma: @@ -752,7 +899,56 @@ interactions: --azure-active-directory-application-id-or-uri User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription3?api-version=2020-04-01-preview + response: + body: + string: '{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/microsoft.storage/storageaccounts/clieventgrid000002","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/api/DevExpFunc","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128,"azureActiveDirectoryTenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","azureActiveDirectoryApplicationIdOrUri":"03d47d4a-7c50-43e0-ba90-89d090cc4582"},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"SomeRandomText1","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription3","name":"CliTestEventGridEventsubscription3","type":"Microsoft.EventGrid/eventSubscriptions"}' + headers: + cache-control: + - no-cache + content-length: + - '1319' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 16 May 2020 15:06:45 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - eventgrid event-subscription show + Connection: + - keep-alive + ParameterSetName: + - --source-resource-id --name + User-Agent: + - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 + accept-language: + - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription3?api-version=2020-04-01-preview response: @@ -766,7 +962,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:40 GMT + - Sat, 16 May 2020 15:06:46 GMT expires: - '-1' pragma: @@ -799,7 +995,7 @@ interactions: - --source-resource-id --name --subject-begins-with User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET @@ -815,7 +1011,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:41 GMT + - Sat, 16 May 2020 15:06:47 GMT expires: - '-1' pragma: @@ -857,7 +1053,7 @@ interactions: - --source-resource-id --name --subject-begins-with User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: PATCH @@ -867,7 +1063,7 @@ interactions: string: '{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/microsoft.storage/storageaccounts/clieventgrid000002","provisioningState":"Updating","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.ServiceBus/namespaces/devexpservicebus/topics/devexptopic1"},"endpointType":"ServiceBusTopic"},"filter":{"subjectBeginsWith":"SomeRandomText1234","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"CloudEventSchemaV1_0","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription1","name":"CliTestEventGridEventsubscription1","type":"Microsoft.EventGrid/eventSubscriptions"}' headers: azure-asyncoperation: - - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/68F88269-1390-40A1-A68F-2F2FF3168700?api-version=2020-04-01-preview + - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/4B43D6C2-0BCE-4A8D-942D-270A7E7D1258?api-version=2020-04-01-preview cache-control: - no-cache content-length: @@ -875,7 +1071,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:42 GMT + - Sat, 16 May 2020 15:06:47 GMT expires: - '-1' pragma: @@ -906,12 +1102,12 @@ interactions: - --source-resource-id --name --subject-begins-with User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/68F88269-1390-40A1-A68F-2F2FF3168700?api-version=2020-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/4B43D6C2-0BCE-4A8D-942D-270A7E7D1258?api-version=2020-04-01-preview response: body: - string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/68F88269-1390-40A1-A68F-2F2FF3168700?api-version=2020-04-01-preview","name":"68f88269-1390-40a1-a68f-2f2ff3168700","status":"Succeeded"}' + string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/4B43D6C2-0BCE-4A8D-942D-270A7E7D1258?api-version=2020-04-01-preview","name":"4b43d6c2-0bce-4a8d-942d-270a7e7d1258","status":"Succeeded"}' headers: cache-control: - no-cache @@ -920,7 +1116,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:52 GMT + - Sat, 16 May 2020 15:06:58 GMT expires: - '-1' pragma: @@ -953,7 +1149,7 @@ interactions: - --source-resource-id --name --subject-begins-with User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription1?api-version=2020-04-01-preview response: @@ -967,7 +1163,56 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:52 GMT + - Sat, 16 May 2020 15:06:58 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - eventgrid event-subscription show + Connection: + - keep-alive + ParameterSetName: + - --source-resource-id --name + User-Agent: + - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription1?api-version=2020-04-01-preview + response: + body: + string: '{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/microsoft.storage/storageaccounts/clieventgrid000002","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.ServiceBus/namespaces/devexpservicebus/topics/devexptopic1"},"endpointType":"ServiceBusTopic"},"filter":{"subjectBeginsWith":"SomeRandomText1234","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"CloudEventSchemaV1_0","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription1","name":"CliTestEventGridEventsubscription1","type":"Microsoft.EventGrid/eventSubscriptions"}' + headers: + cache-control: + - no-cache + content-length: + - '1191' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 16 May 2020 15:06:58 GMT expires: - '-1' pragma: @@ -1000,7 +1245,7 @@ interactions: - --source-resource-id --name --endpoint-type --endpoint --subject-begins-with User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET @@ -1016,7 +1261,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:53 GMT + - Sat, 16 May 2020 15:06:59 GMT expires: - '-1' pragma: @@ -1058,7 +1303,7 @@ interactions: - --source-resource-id --name --endpoint-type --endpoint --subject-begins-with User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: PATCH @@ -1068,7 +1313,7 @@ interactions: string: '{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/microsoft.storage/storageaccounts/clieventgrid000002","provisioningState":"Updating","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText2234431","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription2","name":"CliTestEventGridEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"}' headers: azure-asyncoperation: - - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/B513A9FE-D0CA-4459-9829-BEC7512496D7?api-version=2020-04-01-preview + - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/946A265F-8765-4952-9CC5-AF3DAC155433?api-version=2020-04-01-preview cache-control: - no-cache content-length: @@ -1076,7 +1321,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:53 GMT + - Sat, 16 May 2020 15:07:00 GMT expires: - '-1' pragma: @@ -1107,12 +1352,12 @@ interactions: - --source-resource-id --name --endpoint-type --endpoint --subject-begins-with User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/B513A9FE-D0CA-4459-9829-BEC7512496D7?api-version=2020-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/946A265F-8765-4952-9CC5-AF3DAC155433?api-version=2020-04-01-preview response: body: - string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/B513A9FE-D0CA-4459-9829-BEC7512496D7?api-version=2020-04-01-preview","name":"b513a9fe-d0ca-4459-9829-bec7512496d7","status":"Succeeded"}' + string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/946A265F-8765-4952-9CC5-AF3DAC155433?api-version=2020-04-01-preview","name":"946a265f-8765-4952-9cc5-af3dac155433","status":"Succeeded"}' headers: cache-control: - no-cache @@ -1121,7 +1366,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:16:04 GMT + - Sat, 16 May 2020 15:07:10 GMT expires: - '-1' pragma: @@ -1154,7 +1399,56 @@ interactions: - --source-resource-id --name --endpoint-type --endpoint --subject-begins-with User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription2?api-version=2020-04-01-preview + response: + body: + string: '{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/microsoft.storage/storageaccounts/clieventgrid000002","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"SomeRandomText2234431","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription2","name":"CliTestEventGridEventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"}' + headers: + cache-control: + - no-cache + content-length: + - '1245' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 16 May 2020 15:07:10 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - eventgrid event-subscription show + Connection: + - keep-alive + ParameterSetName: + - --source-resource-id --name + User-Agent: + - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 + accept-language: + - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription2?api-version=2020-04-01-preview response: @@ -1168,7 +1462,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:16:04 GMT + - Sat, 16 May 2020 15:07:11 GMT expires: - '-1' pragma: @@ -1201,7 +1495,7 @@ interactions: - --source-resource-id --name --endpoint-type --endpoint --subject-begins-with User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET @@ -1217,7 +1511,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:16:04 GMT + - Sat, 16 May 2020 15:07:13 GMT expires: - '-1' pragma: @@ -1237,7 +1531,7 @@ interactions: message: OK - request: body: '{"destination": {"endpointType": "WebHook", "properties": {"endpointUrl": - "https://devexpfuncappdestination.azurewebsites.net/api/DevExpFunc?code=", + "https://devexpfuncappdestination.azurewebsites.net/api/DevExpFunc?code=7jTiaEBVeYjC8X6gPDUhIhAnFRjaxZaGyS3hBbr09bmj3heQNhvrbA==", "maxEventsPerBatch": 10, "preferredBatchSizeInKilobytes": 128}}, "filter": {"subjectBeginsWith": "SomeRandomText112341", "subjectEndsWith": "", "includedEventTypes": ["Microsoft.Storage.BlobCreated", "Microsoft.Storage.BlobDeleted"]}, "eventDeliverySchema": "EventGridSchema", @@ -1259,7 +1553,7 @@ interactions: - --source-resource-id --name --endpoint-type --endpoint --subject-begins-with User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: PATCH @@ -1269,7 +1563,7 @@ interactions: string: '{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/microsoft.storage/storageaccounts/clieventgrid000002","provisioningState":"Updating","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/api/DevExpFunc","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"SomeRandomText112341","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription4","name":"CliTestEventGridEventsubscription4","type":"Microsoft.EventGrid/eventSubscriptions"}' headers: azure-asyncoperation: - - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/49A8B629-2983-45FC-8159-024BB981CBE8?api-version=2020-04-01-preview + - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/1E81B791-B4CB-4FD9-80C2-54BA5C1CC6DF?api-version=2020-04-01-preview cache-control: - no-cache content-length: @@ -1277,7 +1571,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:16:06 GMT + - Sat, 16 May 2020 15:07:13 GMT expires: - '-1' pragma: @@ -1308,12 +1602,12 @@ interactions: - --source-resource-id --name --endpoint-type --endpoint --subject-begins-with User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/49A8B629-2983-45FC-8159-024BB981CBE8?api-version=2020-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/1E81B791-B4CB-4FD9-80C2-54BA5C1CC6DF?api-version=2020-04-01-preview response: body: - string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/49A8B629-2983-45FC-8159-024BB981CBE8?api-version=2020-04-01-preview","name":"49a8b629-2983-45fc-8159-024bb981cbe8","status":"Succeeded"}' + string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/1E81B791-B4CB-4FD9-80C2-54BA5C1CC6DF?api-version=2020-04-01-preview","name":"1e81b791-b4cb-4fd9-80c2-54ba5c1cc6df","status":"Succeeded"}' headers: cache-control: - no-cache @@ -1322,7 +1616,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:16:16 GMT + - Sat, 16 May 2020 15:07:23 GMT expires: - '-1' pragma: @@ -1355,7 +1649,7 @@ interactions: - --source-resource-id --name --endpoint-type --endpoint --subject-begins-with User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription4?api-version=2020-04-01-preview response: @@ -1369,7 +1663,56 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:16:16 GMT + - Sat, 16 May 2020 15:07:23 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - eventgrid event-subscription show + Connection: + - keep-alive + ParameterSetName: + - --source-resource-id --name + User-Agent: + - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription4?api-version=2020-04-01-preview + response: + body: + string: '{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/microsoft.storage/storageaccounts/clieventgrid000002","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/api/DevExpFunc","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"SomeRandomText112341","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription4","name":"CliTestEventGridEventsubscription4","type":"Microsoft.EventGrid/eventSubscriptions"}' + headers: + cache-control: + - no-cache + content-length: + - '1174' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 16 May 2020 15:07:25 GMT expires: - '-1' pragma: @@ -1402,7 +1745,7 @@ interactions: - --source-resource-id --name --endpoint --subject-begins-with User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET @@ -1418,7 +1761,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:16:16 GMT + - Sat, 16 May 2020 15:07:25 GMT expires: - '-1' pragma: @@ -1438,7 +1781,7 @@ interactions: message: OK - request: body: '{"destination": {"endpointType": "WebHook", "properties": {"endpointUrl": - "https://devexpfuncappdestination.azurewebsites.net/api/DevExpFunc?code=", + "https://devexpfuncappdestination.azurewebsites.net/api/DevExpFunc?code=7jTiaEBVeYjC8X6gPDUhIhAnFRjaxZaGyS3hBbr09bmj3heQNhvrbA==", "maxEventsPerBatch": 10, "preferredBatchSizeInKilobytes": 128, "azureActiveDirectoryTenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", "azureActiveDirectoryApplicationIdOrUri": "03d47d4a-7c50-43e0-ba90-89d090cc4582"}}, "filter": {"subjectBeginsWith": "SomeRandomText123412", @@ -1462,7 +1805,7 @@ interactions: - --source-resource-id --name --endpoint --subject-begins-with User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: PATCH @@ -1472,7 +1815,7 @@ interactions: string: '{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/microsoft.storage/storageaccounts/clieventgrid000002","provisioningState":"Updating","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/api/DevExpFunc","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128,"azureActiveDirectoryTenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","azureActiveDirectoryApplicationIdOrUri":"03d47d4a-7c50-43e0-ba90-89d090cc4582"},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"SomeRandomText123412","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription3","name":"CliTestEventGridEventsubscription3","type":"Microsoft.EventGrid/eventSubscriptions"}' headers: azure-asyncoperation: - - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/FD981D67-7D58-45EC-9873-236A4070473B?api-version=2020-04-01-preview + - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/6A6EF7E5-5ADE-4F77-A12B-287082412C00?api-version=2020-04-01-preview cache-control: - no-cache content-length: @@ -1480,7 +1823,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:16:17 GMT + - Sat, 16 May 2020 15:07:26 GMT expires: - '-1' pragma: @@ -1492,7 +1835,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '898' + - '899' status: code: 201 message: Created @@ -1511,12 +1854,12 @@ interactions: - --source-resource-id --name --endpoint --subject-begins-with User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/FD981D67-7D58-45EC-9873-236A4070473B?api-version=2020-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/6A6EF7E5-5ADE-4F77-A12B-287082412C00?api-version=2020-04-01-preview response: body: - string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/FD981D67-7D58-45EC-9873-236A4070473B?api-version=2020-04-01-preview","name":"fd981d67-7d58-45ec-9873-236a4070473b","status":"Succeeded"}' + string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/6A6EF7E5-5ADE-4F77-A12B-287082412C00?api-version=2020-04-01-preview","name":"6a6ef7e5-5ade-4f77-a12b-287082412c00","status":"Succeeded"}' headers: cache-control: - no-cache @@ -1525,7 +1868,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:16:28 GMT + - Sat, 16 May 2020 15:07:36 GMT expires: - '-1' pragma: @@ -1558,7 +1901,7 @@ interactions: - --source-resource-id --name --endpoint --subject-begins-with User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription3?api-version=2020-04-01-preview response: @@ -1572,7 +1915,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:16:28 GMT + - Sat, 16 May 2020 15:07:36 GMT expires: - '-1' pragma: @@ -1605,7 +1948,56 @@ interactions: - --source-resource-id --name User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription3?api-version=2020-04-01-preview + response: + body: + string: '{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/microsoft.storage/storageaccounts/clieventgrid000002","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/api/DevExpFunc","maxEventsPerBatch":10,"preferredBatchSizeInKilobytes":128,"azureActiveDirectoryTenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","azureActiveDirectoryApplicationIdOrUri":"03d47d4a-7c50-43e0-ba90-89d090cc4582"},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"SomeRandomText123412","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clieventgridrg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventGridEventsubscription3","name":"CliTestEventGridEventsubscription3","type":"Microsoft.EventGrid/eventSubscriptions"}' + headers: + cache-control: + - no-cache + content-length: + - '1324' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 16 May 2020 15:07:37 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - eventgrid event-subscription show + Connection: + - keep-alive + ParameterSetName: + - --source-resource-id --name + User-Agent: + - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET @@ -1621,7 +2013,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:16:30 GMT + - Sat, 16 May 2020 15:07:38 GMT expires: - '-1' pragma: @@ -1654,7 +2046,7 @@ interactions: - --source-resource-id --name User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET @@ -1670,7 +2062,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:16:30 GMT + - Sat, 16 May 2020 15:07:39 GMT expires: - '-1' pragma: @@ -1703,7 +2095,7 @@ interactions: - --source-resource-id --name User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET @@ -1719,7 +2111,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:16:30 GMT + - Sat, 16 May 2020 15:07:40 GMT expires: - '-1' pragma: @@ -1754,7 +2146,7 @@ interactions: - --source-resource-id --name User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: DELETE @@ -1764,17 +2156,17 @@ interactions: string: '' headers: azure-asyncoperation: - - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/FE951820-9E63-4897-BFE2-8F9B7B0FE978?api-version=2020-04-01-preview + - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/A2402E8A-E5A2-4A8D-BA51-B961D335E5D9?api-version=2020-04-01-preview cache-control: - no-cache content-length: - '0' date: - - Thu, 19 Mar 2020 06:16:31 GMT + - Sat, 16 May 2020 15:07:41 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationResults/FE951820-9E63-4897-BFE2-8F9B7B0FE978?api-version=2020-04-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationResults/A2402E8A-E5A2-4A8D-BA51-B961D335E5D9?api-version=2020-04-01-preview pragma: - no-cache server: @@ -1784,7 +2176,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-deletes: - - '14998' + - '14999' status: code: 202 message: Accepted @@ -1803,12 +2195,12 @@ interactions: - --source-resource-id --name User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/FE951820-9E63-4897-BFE2-8F9B7B0FE978?api-version=2020-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/A2402E8A-E5A2-4A8D-BA51-B961D335E5D9?api-version=2020-04-01-preview response: body: - string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/FE951820-9E63-4897-BFE2-8F9B7B0FE978?api-version=2020-04-01-preview","name":"fe951820-9e63-4897-bfe2-8f9b7b0fe978","status":"Succeeded"}' + string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/A2402E8A-E5A2-4A8D-BA51-B961D335E5D9?api-version=2020-04-01-preview","name":"a2402e8a-e5a2-4a8d-ba51-b961d335e5d9","status":"Succeeded"}' headers: cache-control: - no-cache @@ -1817,7 +2209,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:16:42 GMT + - Sat, 16 May 2020 15:07:51 GMT expires: - '-1' pragma: @@ -1852,7 +2244,7 @@ interactions: - --source-resource-id --name User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: DELETE @@ -1862,17 +2254,17 @@ interactions: string: '' headers: azure-asyncoperation: - - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/6790B503-38D5-4288-AA43-046369C62B70?api-version=2020-04-01-preview + - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/01E2AD10-1CD4-4AD4-982D-6C26BA987BB8?api-version=2020-04-01-preview cache-control: - no-cache content-length: - '0' date: - - Thu, 19 Mar 2020 06:16:44 GMT + - Sat, 16 May 2020 15:07:52 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationResults/6790B503-38D5-4288-AA43-046369C62B70?api-version=2020-04-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationResults/01E2AD10-1CD4-4AD4-982D-6C26BA987BB8?api-version=2020-04-01-preview pragma: - no-cache server: @@ -1901,12 +2293,12 @@ interactions: - --source-resource-id --name User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/6790B503-38D5-4288-AA43-046369C62B70?api-version=2020-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/01E2AD10-1CD4-4AD4-982D-6C26BA987BB8?api-version=2020-04-01-preview response: body: - string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/6790B503-38D5-4288-AA43-046369C62B70?api-version=2020-04-01-preview","name":"6790b503-38d5-4288-aa43-046369c62b70","status":"Succeeded"}' + string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/01E2AD10-1CD4-4AD4-982D-6C26BA987BB8?api-version=2020-04-01-preview","name":"01e2ad10-1cd4-4ad4-982d-6c26ba987bb8","status":"Succeeded"}' headers: cache-control: - no-cache @@ -1915,7 +2307,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:16:54 GMT + - Sat, 16 May 2020 15:08:02 GMT expires: - '-1' pragma: @@ -1950,7 +2342,7 @@ interactions: - --source-resource-id --name User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: DELETE @@ -1960,17 +2352,17 @@ interactions: string: '' headers: azure-asyncoperation: - - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/2EBF2947-EB8C-4FBB-9361-C22E69894FE9?api-version=2020-04-01-preview + - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/ACF701B6-D55A-421A-8E89-78D083DF1A35?api-version=2020-04-01-preview cache-control: - no-cache content-length: - '0' date: - - Thu, 19 Mar 2020 06:16:55 GMT + - Sat, 16 May 2020 15:08:05 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationResults/2EBF2947-EB8C-4FBB-9361-C22E69894FE9?api-version=2020-04-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationResults/ACF701B6-D55A-421A-8E89-78D083DF1A35?api-version=2020-04-01-preview pragma: - no-cache server: @@ -1999,12 +2391,12 @@ interactions: - --source-resource-id --name User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/2EBF2947-EB8C-4FBB-9361-C22E69894FE9?api-version=2020-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/ACF701B6-D55A-421A-8E89-78D083DF1A35?api-version=2020-04-01-preview response: body: - string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/2EBF2947-EB8C-4FBB-9361-C22E69894FE9?api-version=2020-04-01-preview","name":"2ebf2947-eb8c-4fbb-9361-c22e69894fe9","status":"Succeeded"}' + string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/ACF701B6-D55A-421A-8E89-78D083DF1A35?api-version=2020-04-01-preview","name":"acf701b6-d55a-421a-8e89-78d083df1a35","status":"Succeeded"}' headers: cache-control: - no-cache @@ -2013,7 +2405,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:17:06 GMT + - Sat, 16 May 2020 15:08:16 GMT expires: - '-1' pragma: @@ -2048,7 +2440,7 @@ interactions: - --source-resource-id --name User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: DELETE @@ -2058,17 +2450,17 @@ interactions: string: '' headers: azure-asyncoperation: - - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/C79AB007-DE33-4F6E-9AD4-113736176CB8?api-version=2020-04-01-preview + - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/A4250888-8BFF-4396-8E45-AC319F07B02A?api-version=2020-04-01-preview cache-control: - no-cache content-length: - '0' date: - - Thu, 19 Mar 2020 06:17:07 GMT + - Sat, 16 May 2020 15:08:17 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationResults/C79AB007-DE33-4F6E-9AD4-113736176CB8?api-version=2020-04-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationResults/A4250888-8BFF-4396-8E45-AC319F07B02A?api-version=2020-04-01-preview pragma: - no-cache server: @@ -2078,7 +2470,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-deletes: - - '14997' + - '14999' status: code: 202 message: Accepted @@ -2097,12 +2489,12 @@ interactions: - --source-resource-id --name User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/C79AB007-DE33-4F6E-9AD4-113736176CB8?api-version=2020-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/A4250888-8BFF-4396-8E45-AC319F07B02A?api-version=2020-04-01-preview response: body: - string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/C79AB007-DE33-4F6E-9AD4-113736176CB8?api-version=2020-04-01-preview","name":"c79ab007-de33-4f6e-9ad4-113736176cb8","status":"Succeeded"}' + string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/A4250888-8BFF-4396-8E45-AC319F07B02A?api-version=2020-04-01-preview","name":"a4250888-8bff-4396-8e45-ac319f07b02a","status":"Succeeded"}' headers: cache-control: - no-cache @@ -2111,7 +2503,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:17:18 GMT + - Sat, 16 May 2020 15:08:27 GMT expires: - '-1' pragma: @@ -2146,7 +2538,7 @@ interactions: - -y -g -n User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-storage/7.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-storage/9.0.0 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: DELETE @@ -2162,7 +2554,7 @@ interactions: content-type: - text/plain; charset=utf-8 date: - - Thu, 19 Mar 2020 06:17:22 GMT + - Sat, 16 May 2020 15:08:31 GMT expires: - '-1' pragma: diff --git a/src/eventgrid/azext_eventgrid/tests/latest/recordings/test_create_event_subscriptions_with_filters.yaml b/src/eventgrid/azext_eventgrid/tests/latest/recordings/test_create_event_subscriptions_with_filters.yaml index a3e55281e55..d09a666c34a 100644 --- a/src/eventgrid/azext_eventgrid/tests/latest/recordings/test_create_event_subscriptions_with_filters.yaml +++ b/src/eventgrid/azext_eventgrid/tests/latest/recordings/test_create_event_subscriptions_with_filters.yaml @@ -18,14 +18,14 @@ interactions: - -g -n --sku -l User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-storage/7.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-storage/9.0.0 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002?api-version=2019-06-01 response: body: - string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002","name":"clieventgrid000002","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-19T06:14:25.0541437Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-19T06:14:25.0541437Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-19T06:14:24.9916293Z","primaryEndpoints":{"dfs":"https://clieventgrid000002.dfs.core.windows.net/","web":"https://clieventgrid000002.z2.web.core.windows.net/","blob":"https://clieventgrid000002.blob.core.windows.net/","queue":"https://clieventgrid000002.queue.core.windows.net/","table":"https://clieventgrid000002.table.core.windows.net/","file":"https://clieventgrid000002.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}}' + string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002","name":"clieventgrid000002","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-05-16T15:05:27.1048460Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-05-16T15:05:27.1048460Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-05-16T15:05:27.0267197Z","primaryEndpoints":{"dfs":"https://clieventgrid000002.dfs.core.windows.net/","web":"https://clieventgrid000002.z2.web.core.windows.net/","blob":"https://clieventgrid000002.blob.core.windows.net/","queue":"https://clieventgrid000002.queue.core.windows.net/","table":"https://clieventgrid000002.table.core.windows.net/","file":"https://clieventgrid000002.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}}' headers: cache-control: - no-cache @@ -34,7 +34,7 @@ interactions: content-type: - application/json date: - - Thu, 19 Mar 2020 06:14:45 GMT + - Sat, 16 May 2020 15:05:47 GMT expires: - '-1' pragma: @@ -50,7 +50,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1199' status: code: 200 message: OK @@ -69,14 +69,14 @@ interactions: - -g -n --set User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-storage/7.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-storage/9.0.0 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002?api-version=2019-06-01 response: body: - string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002","name":"clieventgrid000002","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-19T06:14:25.0541437Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-19T06:14:25.0541437Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-19T06:14:24.9916293Z","primaryEndpoints":{"dfs":"https://clieventgrid000002.dfs.core.windows.net/","web":"https://clieventgrid000002.z2.web.core.windows.net/","blob":"https://clieventgrid000002.blob.core.windows.net/","queue":"https://clieventgrid000002.queue.core.windows.net/","table":"https://clieventgrid000002.table.core.windows.net/","file":"https://clieventgrid000002.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}}' + string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002","name":"clieventgrid000002","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-05-16T15:05:27.1048460Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-05-16T15:05:27.1048460Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-05-16T15:05:27.0267197Z","primaryEndpoints":{"dfs":"https://clieventgrid000002.dfs.core.windows.net/","web":"https://clieventgrid000002.z2.web.core.windows.net/","blob":"https://clieventgrid000002.blob.core.windows.net/","queue":"https://clieventgrid000002.queue.core.windows.net/","table":"https://clieventgrid000002.table.core.windows.net/","file":"https://clieventgrid000002.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}}' headers: cache-control: - no-cache @@ -85,7 +85,7 @@ interactions: content-type: - application/json date: - - Thu, 19 Mar 2020 06:14:46 GMT + - Sat, 16 May 2020 15:05:47 GMT expires: - '-1' pragma: @@ -127,14 +127,14 @@ interactions: - -g -n --set User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-storage/7.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-storage/9.0.0 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: PATCH uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002?api-version=2019-06-01 response: body: - string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002","name":"clieventgrid000002","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-19T06:14:25.0541437Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-19T06:14:25.0541437Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-19T06:14:24.9916293Z","primaryEndpoints":{"dfs":"https://clieventgrid000002.dfs.core.windows.net/","web":"https://clieventgrid000002.z2.web.core.windows.net/","blob":"https://clieventgrid000002.blob.core.windows.net/","queue":"https://clieventgrid000002.queue.core.windows.net/","table":"https://clieventgrid000002.table.core.windows.net/","file":"https://clieventgrid000002.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}}' + string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002","name":"clieventgrid000002","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-05-16T15:05:27.1048460Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-05-16T15:05:27.1048460Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-05-16T15:05:27.0267197Z","primaryEndpoints":{"dfs":"https://clieventgrid000002.dfs.core.windows.net/","web":"https://clieventgrid000002.z2.web.core.windows.net/","blob":"https://clieventgrid000002.blob.core.windows.net/","queue":"https://clieventgrid000002.queue.core.windows.net/","table":"https://clieventgrid000002.table.core.windows.net/","file":"https://clieventgrid000002.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}}' headers: cache-control: - no-cache @@ -143,7 +143,7 @@ interactions: content-type: - application/json date: - - Thu, 19 Mar 2020 06:14:47 GMT + - Sat, 16 May 2020 15:05:49 GMT expires: - '-1' pragma: @@ -159,7 +159,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1198' status: code: 200 message: OK @@ -187,7 +187,7 @@ interactions: --subject-case-sensitive --labels User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: PUT @@ -197,7 +197,7 @@ interactions: string: '{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.storage/storageaccounts/clieventgrid000002","provisioningState":"Creating","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid"},"endpointType":"WebHook"},"filter":{"subjectEndsWith":"mysubject_suffix","includedEventTypes":["blobCreated","blobUpdated"],"isSubjectCaseSensitive":true},"labels":["Finance","HR"],"retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002/providers/Microsoft.EventGrid/eventSubscriptions/eventsubscription2","name":"eventsubscription2","type":"Microsoft.EventGrid/eventSubscriptions"}' headers: azure-asyncoperation: - - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/1B88961C-3345-4DC4-A7B3-25F208CDC74A?api-version=2020-04-01-preview + - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/E0539DE3-C1F7-4013-9B06-F30766C1BCD9?api-version=2020-04-01-preview cache-control: - no-cache content-length: @@ -205,7 +205,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:14:48 GMT + - Sat, 16 May 2020 15:05:51 GMT expires: - '-1' pragma: @@ -237,12 +237,12 @@ interactions: --subject-case-sensitive --labels User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/1B88961C-3345-4DC4-A7B3-25F208CDC74A?api-version=2020-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/E0539DE3-C1F7-4013-9B06-F30766C1BCD9?api-version=2020-04-01-preview response: body: - string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/1B88961C-3345-4DC4-A7B3-25F208CDC74A?api-version=2020-04-01-preview","name":"1b88961c-3345-4dc4-a7b3-25f208cdc74a","status":"Succeeded"}' + string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/E0539DE3-C1F7-4013-9B06-F30766C1BCD9?api-version=2020-04-01-preview","name":"e0539de3-c1f7-4013-9b06-f30766c1bcd9","status":"Succeeded"}' headers: cache-control: - no-cache @@ -251,7 +251,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:14:58 GMT + - Sat, 16 May 2020 15:06:01 GMT expires: - '-1' pragma: @@ -285,7 +285,7 @@ interactions: --subject-case-sensitive --labels User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clieventgrid000002/providers/Microsoft.EventGrid/eventSubscriptions/eventsubscription2?api-version=2020-04-01-preview response: @@ -299,7 +299,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:14:59 GMT + - Sat, 16 May 2020 15:06:01 GMT expires: - '-1' pragma: @@ -332,7 +332,7 @@ interactions: - --source-resource-id --name User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET @@ -348,7 +348,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:00 GMT + - Sat, 16 May 2020 15:06:02 GMT expires: - '-1' pragma: @@ -381,7 +381,7 @@ interactions: - --include-full-endpoint-url --source-resource-id --name User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET @@ -397,7 +397,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:00 GMT + - Sat, 16 May 2020 15:06:03 GMT expires: - '-1' pragma: @@ -432,7 +432,7 @@ interactions: - --include-full-endpoint-url --source-resource-id --name User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: POST @@ -448,7 +448,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:00 GMT + - Sat, 16 May 2020 15:06:03 GMT expires: - '-1' pragma: @@ -464,7 +464,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1199' status: code: 200 message: OK @@ -483,7 +483,7 @@ interactions: - --source-resource-id User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET @@ -499,7 +499,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:01 GMT + - Sat, 16 May 2020 15:06:03 GMT expires: - '-1' pragma: @@ -532,7 +532,7 @@ interactions: - --source-resource-id --odata-query User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET @@ -548,7 +548,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:02 GMT + - Sat, 16 May 2020 15:06:05 GMT expires: - '-1' pragma: @@ -583,7 +583,7 @@ interactions: - --source-resource-id --name User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: DELETE @@ -593,17 +593,17 @@ interactions: string: '' headers: azure-asyncoperation: - - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/106C17A8-5D90-412F-B7AA-35E561E533C9?api-version=2020-04-01-preview + - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/1A23E787-6AB9-4CE8-8184-BE3D410C6538?api-version=2020-04-01-preview cache-control: - no-cache content-length: - '0' date: - - Thu, 19 Mar 2020 06:15:02 GMT + - Sat, 16 May 2020 15:06:05 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationResults/106C17A8-5D90-412F-B7AA-35E561E533C9?api-version=2020-04-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationResults/1A23E787-6AB9-4CE8-8184-BE3D410C6538?api-version=2020-04-01-preview pragma: - no-cache server: @@ -632,12 +632,12 @@ interactions: - --source-resource-id --name User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/106C17A8-5D90-412F-B7AA-35E561E533C9?api-version=2020-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/1A23E787-6AB9-4CE8-8184-BE3D410C6538?api-version=2020-04-01-preview response: body: - string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/106C17A8-5D90-412F-B7AA-35E561E533C9?api-version=2020-04-01-preview","name":"106c17a8-5d90-412f-b7aa-35e561e533c9","status":"Succeeded"}' + string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/1A23E787-6AB9-4CE8-8184-BE3D410C6538?api-version=2020-04-01-preview","name":"1a23e787-6ab9-4ce8-8184-be3d410c6538","status":"Succeeded"}' headers: cache-control: - no-cache @@ -646,7 +646,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:13 GMT + - Sat, 16 May 2020 15:06:16 GMT expires: - '-1' pragma: @@ -681,7 +681,7 @@ interactions: - -y -g -n User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-storage/7.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-storage/9.0.0 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: DELETE @@ -697,7 +697,7 @@ interactions: content-type: - text/plain; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:15 GMT + - Sat, 16 May 2020 15:06:18 GMT expires: - '-1' pragma: diff --git a/src/eventgrid/azext_eventgrid/tests/latest/recordings/test_create_system_topic.yaml b/src/eventgrid/azext_eventgrid/tests/latest/recordings/test_create_system_topic.yaml index 40b885bd603..bac55195c58 100644 --- a/src/eventgrid/azext_eventgrid/tests/latest/recordings/test_create_system_topic.yaml +++ b/src/eventgrid/azext_eventgrid/tests/latest/recordings/test_create_system_topic.yaml @@ -1,6 +1,6 @@ interactions: - request: - body: '{"location": "centraluseuap", "properties": {"source": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testtobedeleted/providers/Microsoft.Storage/storageAccounts/trackedsource2stg", + body: '{"location": "centraluseuap", "properties": {"source": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/devexprg/providers/Microsoft.Storage/storageAccounts/clistgaccount", "topicType": "microsoft.storage.storageaccounts"}}' headers: Accept: @@ -12,30 +12,30 @@ interactions: Connection: - keep-alive Content-Length: - - '253' + - '242' Content-Type: - application/json; charset=utf-8 ParameterSetName: - --name --resource-group --location --topic-type --source User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/systemTopics/cli000002?api-version=2020-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/devexprg/providers/Microsoft.EventGrid/systemTopics/cli000002?api-version=2020-04-01-preview response: body: - string: '{"properties":{"provisioningState":"Succeeded","source":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testtobedeleted/providers/Microsoft.Storage/storageAccounts/trackedsource2stg","topicType":"microsoft.storage.storageaccounts","metricResourceId":"cac1fd3f-a127-465f-bdfc-e54151f30835"},"location":"centraluseuap","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/systemTopics/cli000002","name":"cli000002","type":"Microsoft.EventGrid/systemTopics"}' + string: '{"properties":{"provisioningState":"Succeeded","source":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/devexprg/providers/Microsoft.Storage/storageAccounts/clistgaccount","topicType":"microsoft.storage.storageaccounts","metricResourceId":"bc79c831-3e96-4e5e-8d3c-075de6574615"},"location":"centraluseuap","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/devexprg/providers/Microsoft.EventGrid/systemTopics/cli000002","name":"cli000002","type":"Microsoft.EventGrid/systemTopics"}' headers: cache-control: - no-cache content-length: - - '675' + - '597' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:14:23 GMT + - Sat, 16 May 2020 15:05:28 GMT expires: - '-1' pragma: @@ -70,23 +70,23 @@ interactions: - --name --resource-group User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/systemTopics/cli000002?api-version=2020-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/devexprg/providers/Microsoft.EventGrid/systemTopics/cli000002?api-version=2020-04-01-preview response: body: - string: '{"properties":{"provisioningState":"Succeeded","source":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testtobedeleted/providers/Microsoft.Storage/storageAccounts/trackedsource2stg","topicType":"microsoft.storage.storageaccounts","metricResourceId":"cac1fd3f-a127-465f-bdfc-e54151f30835"},"location":"centraluseuap","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/systemTopics/cli000002","name":"cli000002","type":"Microsoft.EventGrid/systemTopics"}' + string: '{"properties":{"provisioningState":"Succeeded","source":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/devexprg/providers/Microsoft.Storage/storageAccounts/clistgaccount","topicType":"microsoft.storage.storageaccounts","metricResourceId":"bc79c831-3e96-4e5e-8d3c-075de6574615"},"location":"centraluseuap","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/devexprg/providers/Microsoft.EventGrid/systemTopics/cli000002","name":"cli000002","type":"Microsoft.EventGrid/systemTopics"}' headers: cache-control: - no-cache content-length: - - '675' + - '597' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:14:24 GMT + - Sat, 16 May 2020 15:05:29 GMT expires: - '-1' pragma: @@ -123,23 +123,23 @@ interactions: - --name --resource-group --tags User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: PATCH - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/systemTopics/cli000002?api-version=2020-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/devexprg/providers/Microsoft.EventGrid/systemTopics/cli000002?api-version=2020-04-01-preview response: body: - string: '{"properties":{"provisioningState":"Succeeded","source":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testtobedeleted/providers/Microsoft.Storage/storageAccounts/trackedsource2stg","topicType":"microsoft.storage.storageaccounts","metricResourceId":"cac1fd3f-a127-465f-bdfc-e54151f30835"},"location":"centraluseuap","tags":{"Dept":"IT"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/systemTopics/cli000002","name":"cli000002","type":"Microsoft.EventGrid/systemTopics"}' + string: '{"properties":{"provisioningState":"Succeeded","source":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/devexprg/providers/Microsoft.Storage/storageAccounts/clistgaccount","topicType":"microsoft.storage.storageaccounts","metricResourceId":"bc79c831-3e96-4e5e-8d3c-075de6574615"},"location":"centraluseuap","tags":{"Dept":"IT"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/devexprg/providers/Microsoft.EventGrid/systemTopics/cli000002","name":"cli000002","type":"Microsoft.EventGrid/systemTopics"}' headers: cache-control: - no-cache content-length: - - '684' + - '606' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:14:25 GMT + - Sat, 16 May 2020 15:05:31 GMT expires: - '-1' pragma: @@ -174,23 +174,23 @@ interactions: - --resource-group User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/systemTopics?api-version=2020-04-01-preview&$top=100 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/devexprg/providers/Microsoft.EventGrid/systemTopics?api-version=2020-04-01-preview&$top=100 response: body: - string: '{"value":[{"properties":{"provisioningState":"Succeeded","source":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testtobedeleted/providers/Microsoft.Storage/storageAccounts/trackedsource2stg","topicType":"microsoft.storage.storageaccounts","metricResourceId":"cac1fd3f-a127-465f-bdfc-e54151f30835"},"location":"centraluseuap","tags":{"Dept":"IT"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/systemTopics/cli000002","name":"cli000002","type":"Microsoft.EventGrid/systemTopics"}]}' + string: '{"value":[{"properties":{"provisioningState":"Succeeded","source":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/devexprg/providers/Microsoft.Storage/storageAccounts/clistgaccount","topicType":"microsoft.storage.storageaccounts","metricResourceId":"bc79c831-3e96-4e5e-8d3c-075de6574615"},"location":"centraluseuap","tags":{"Dept":"IT"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/devexprg/providers/Microsoft.EventGrid/systemTopics/cli000002","name":"cli000002","type":"Microsoft.EventGrid/systemTopics"}]}' headers: cache-control: - no-cache content-length: - - '696' + - '618' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:14:25 GMT + - Sat, 16 May 2020 15:05:32 GMT expires: - '-1' pragma: @@ -220,26 +220,26 @@ interactions: Connection: - keep-alive ParameterSetName: - - --resource-group --odata-query + - --resource-group User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/systemTopics?api-version=2020-04-01-preview&$filter=name%20eq%20%27cli000002%27&$top=100 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/devexprg/providers/Microsoft.EventGrid/systemTopics?api-version=2020-04-01-preview&$top=100 response: body: - string: '{"value":[{"properties":{"provisioningState":"Succeeded","source":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testtobedeleted/providers/Microsoft.Storage/storageAccounts/trackedsource2stg","topicType":"microsoft.storage.storageaccounts","metricResourceId":"cac1fd3f-a127-465f-bdfc-e54151f30835"},"location":"centraluseuap","tags":{"Dept":"IT"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/systemTopics/cli000002","name":"cli000002","type":"Microsoft.EventGrid/systemTopics"}]}' + string: '{"value":[{"properties":{"provisioningState":"Succeeded","source":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/devexprg/providers/Microsoft.Storage/storageAccounts/clistgaccount","topicType":"microsoft.storage.storageaccounts","metricResourceId":"bc79c831-3e96-4e5e-8d3c-075de6574615"},"location":"centraluseuap","tags":{"Dept":"IT"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/devexprg/providers/Microsoft.EventGrid/systemTopics/cli000002","name":"cli000002","type":"Microsoft.EventGrid/systemTopics"}]}' headers: cache-control: - no-cache content-length: - - '696' + - '618' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:14:27 GMT + - Sat, 16 May 2020 15:05:33 GMT expires: - '-1' pragma: @@ -279,25 +279,25 @@ interactions: - --resource-group --system-topic-name --name --endpoint --endpoint-type User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/systemTopics/cli000002/eventSubscriptions/cli000006?api-version=2020-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/devexprg/providers/Microsoft.EventGrid/systemTopics/cli000002/eventSubscriptions/cli000006?api-version=2020-04-01-preview response: body: - string: '{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/systemTopics/cli000002","provisioningState":"Creating","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid"},"endpointType":"WebHook"},"filter":{"includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/systemTopics/cli000002/eventSubscriptions/cli000006","name":"cli000006","type":"Microsoft.EventGrid/systemTopics/eventSubscriptions"}' + string: '{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/devexprg/providers/Microsoft.EventGrid/systemTopics/cli000002","provisioningState":"Creating","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid"},"endpointType":"WebHook"},"filter":{"includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/devexprg/providers/Microsoft.EventGrid/systemTopics/cli000002/eventSubscriptions/cli000006","name":"cli000006","type":"Microsoft.EventGrid/systemTopics/eventSubscriptions"}' headers: azure-asyncoperation: - - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/5D05DB75-BDD3-4393-A44E-8790DF73BDB9?api-version=2020-04-01-preview + - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/6266E93F-3010-4C73-95E7-DBCDE4579E24?api-version=2020-04-01-preview cache-control: - no-cache content-length: - - '1047' + - '913' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:14:29 GMT + - Sat, 16 May 2020 15:05:34 GMT expires: - '-1' pragma: @@ -309,7 +309,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1198' status: code: 201 message: Created @@ -328,12 +328,12 @@ interactions: - --resource-group --system-topic-name --name --endpoint --endpoint-type User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/5D05DB75-BDD3-4393-A44E-8790DF73BDB9?api-version=2020-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/6266E93F-3010-4C73-95E7-DBCDE4579E24?api-version=2020-04-01-preview response: body: - string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/5D05DB75-BDD3-4393-A44E-8790DF73BDB9?api-version=2020-04-01-preview","name":"5d05db75-bdd3-4393-a44e-8790df73bdb9","status":"Active"}' + string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/6266E93F-3010-4C73-95E7-DBCDE4579E24?api-version=2020-04-01-preview","name":"6266e93f-3010-4c73-95e7-dbcde4579e24","status":"Active"}' headers: cache-control: - no-cache @@ -342,7 +342,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:14:39 GMT + - Sat, 16 May 2020 15:05:44 GMT expires: - '-1' pragma: @@ -375,12 +375,12 @@ interactions: - --resource-group --system-topic-name --name --endpoint --endpoint-type User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/5D05DB75-BDD3-4393-A44E-8790DF73BDB9?api-version=2020-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/6266E93F-3010-4C73-95E7-DBCDE4579E24?api-version=2020-04-01-preview response: body: - string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/5D05DB75-BDD3-4393-A44E-8790DF73BDB9?api-version=2020-04-01-preview","name":"5d05db75-bdd3-4393-a44e-8790df73bdb9","status":"Active"}' + string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/6266E93F-3010-4C73-95E7-DBCDE4579E24?api-version=2020-04-01-preview","name":"6266e93f-3010-4c73-95e7-dbcde4579e24","status":"Active"}' headers: cache-control: - no-cache @@ -389,7 +389,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:09 GMT + - Sat, 16 May 2020 15:06:15 GMT expires: - '-1' pragma: @@ -422,12 +422,12 @@ interactions: - --resource-group --system-topic-name --name --endpoint --endpoint-type User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/5D05DB75-BDD3-4393-A44E-8790DF73BDB9?api-version=2020-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/6266E93F-3010-4C73-95E7-DBCDE4579E24?api-version=2020-04-01-preview response: body: - string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/5D05DB75-BDD3-4393-A44E-8790DF73BDB9?api-version=2020-04-01-preview","name":"5d05db75-bdd3-4393-a44e-8790df73bdb9","status":"Succeeded"}' + string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/6266E93F-3010-4C73-95E7-DBCDE4579E24?api-version=2020-04-01-preview","name":"6266e93f-3010-4c73-95e7-dbcde4579e24","status":"Succeeded"}' headers: cache-control: - no-cache @@ -436,7 +436,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:40 GMT + - Sat, 16 May 2020 15:06:44 GMT expires: - '-1' pragma: @@ -469,21 +469,21 @@ interactions: - --resource-group --system-topic-name --name --endpoint --endpoint-type User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/systemTopics/cli000002/eventSubscriptions/cli000006?api-version=2020-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/devexprg/providers/Microsoft.EventGrid/systemTopics/cli000002/eventSubscriptions/cli000006?api-version=2020-04-01-preview response: body: - string: '{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/systemTopics/cli000002","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/systemTopics/cli000002/eventSubscriptions/cli000006","name":"cli000006","type":"Microsoft.EventGrid/systemTopics/eventSubscriptions"}' + string: '{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/devexprg/providers/Microsoft.EventGrid/systemTopics/cli000002","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/devexprg/providers/Microsoft.EventGrid/systemTopics/cli000002/eventSubscriptions/cli000006","name":"cli000006","type":"Microsoft.EventGrid/systemTopics/eventSubscriptions"}' headers: cache-control: - no-cache content-length: - - '1189' + - '1055' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:40 GMT + - Sat, 16 May 2020 15:06:45 GMT expires: - '-1' pragma: @@ -523,25 +523,25 @@ interactions: - --resource-group --system-topic-name --name --endpoint --endpoint-type --labels User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/systemTopics/cli000002/eventSubscriptions/cli000006?api-version=2020-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/devexprg/providers/Microsoft.EventGrid/systemTopics/cli000002/eventSubscriptions/cli000006?api-version=2020-04-01-preview response: body: - string: '{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/systemTopics/cli000002","provisioningState":"Updating","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid"},"endpointType":"WebHook"},"filter":{"includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":["label_1","label_2"],"retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/systemTopics/cli000002/eventSubscriptions/cli000006","name":"cli000006","type":"Microsoft.EventGrid/systemTopics/eventSubscriptions"}' + string: '{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/devexprg/providers/Microsoft.EventGrid/systemTopics/cli000002","provisioningState":"Updating","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid"},"endpointType":"WebHook"},"filter":{"includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":["label_1","label_2"],"retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/devexprg/providers/Microsoft.EventGrid/systemTopics/cli000002/eventSubscriptions/cli000006","name":"cli000006","type":"Microsoft.EventGrid/systemTopics/eventSubscriptions"}' headers: azure-asyncoperation: - - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/784EFC06-FF36-4454-8B5A-719DFBFC4E4F?api-version=2020-04-01-preview + - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/C11CFC64-4DA4-429A-BCFE-DAA5320E02CE?api-version=2020-04-01-preview cache-control: - no-cache content-length: - - '1064' + - '930' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:41 GMT + - Sat, 16 May 2020 15:06:46 GMT expires: - '-1' pragma: @@ -572,12 +572,12 @@ interactions: - --resource-group --system-topic-name --name --endpoint --endpoint-type --labels User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/784EFC06-FF36-4454-8B5A-719DFBFC4E4F?api-version=2020-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/C11CFC64-4DA4-429A-BCFE-DAA5320E02CE?api-version=2020-04-01-preview response: body: - string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/784EFC06-FF36-4454-8B5A-719DFBFC4E4F?api-version=2020-04-01-preview","name":"784efc06-ff36-4454-8b5a-719dfbfc4e4f","status":"Succeeded"}' + string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/C11CFC64-4DA4-429A-BCFE-DAA5320E02CE?api-version=2020-04-01-preview","name":"c11cfc64-4da4-429a-bcfe-daa5320e02ce","status":"Succeeded"}' headers: cache-control: - no-cache @@ -586,7 +586,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:50 GMT + - Sat, 16 May 2020 15:06:57 GMT expires: - '-1' pragma: @@ -619,21 +619,21 @@ interactions: - --resource-group --system-topic-name --name --endpoint --endpoint-type --labels User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/systemTopics/cli000002/eventSubscriptions/cli000006?api-version=2020-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/devexprg/providers/Microsoft.EventGrid/systemTopics/cli000002/eventSubscriptions/cli000006?api-version=2020-04-01-preview response: body: - string: '{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/systemTopics/cli000002","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":["label_1","label_2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/systemTopics/cli000002/eventSubscriptions/cli000006","name":"cli000006","type":"Microsoft.EventGrid/systemTopics/eventSubscriptions"}' + string: '{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/devexprg/providers/Microsoft.EventGrid/systemTopics/cli000002","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":["label_1","label_2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/devexprg/providers/Microsoft.EventGrid/systemTopics/cli000002/eventSubscriptions/cli000006","name":"cli000006","type":"Microsoft.EventGrid/systemTopics/eventSubscriptions"}' headers: cache-control: - no-cache content-length: - - '1206' + - '1072' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:51 GMT + - Sat, 16 May 2020 15:06:57 GMT expires: - '-1' pragma: @@ -666,23 +666,23 @@ interactions: - --resource-group --system-topic-name --name --include-full-endpoint-url User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/systemTopics/cli000002/eventSubscriptions/cli000006?api-version=2020-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/devexprg/providers/Microsoft.EventGrid/systemTopics/cli000002/eventSubscriptions/cli000006?api-version=2020-04-01-preview response: body: - string: '{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/systemTopics/cli000002","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":["label_1","label_2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/systemTopics/cli000002/eventSubscriptions/cli000006","name":"cli000006","type":"Microsoft.EventGrid/systemTopics/eventSubscriptions"}' + string: '{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/devexprg/providers/Microsoft.EventGrid/systemTopics/cli000002","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":["label_1","label_2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/devexprg/providers/Microsoft.EventGrid/systemTopics/cli000002/eventSubscriptions/cli000006","name":"cli000006","type":"Microsoft.EventGrid/systemTopics/eventSubscriptions"}' headers: cache-control: - no-cache content-length: - - '1206' + - '1072' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:52 GMT + - Sat, 16 May 2020 15:06:58 GMT expires: - '-1' pragma: @@ -717,11 +717,11 @@ interactions: - --resource-group --system-topic-name --name --include-full-endpoint-url User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/systemTopics/cli000002/eventSubscriptions/cli000006/getFullUrl?api-version=2020-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/devexprg/providers/Microsoft.EventGrid/systemTopics/cli000002/eventSubscriptions/cli000006/getFullUrl?api-version=2020-04-01-preview response: body: string: '{"endpointUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid?functionName=EventGridTrigger1&code="}' @@ -733,7 +733,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:52 GMT + - Sat, 16 May 2020 15:06:58 GMT expires: - '-1' pragma: @@ -768,23 +768,23 @@ interactions: - --resource-group --system-topic-name --name User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/systemTopics/cli000002/eventSubscriptions/cli000006?api-version=2020-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/devexprg/providers/Microsoft.EventGrid/systemTopics/cli000002/eventSubscriptions/cli000006?api-version=2020-04-01-preview response: body: - string: '{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/systemTopics/cli000002","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":["label_1","label_2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/systemTopics/cli000002/eventSubscriptions/cli000006","name":"cli000006","type":"Microsoft.EventGrid/systemTopics/eventSubscriptions"}' + string: '{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/devexprg/providers/Microsoft.EventGrid/systemTopics/cli000002","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":["label_1","label_2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/devexprg/providers/Microsoft.EventGrid/systemTopics/cli000002/eventSubscriptions/cli000006","name":"cli000006","type":"Microsoft.EventGrid/systemTopics/eventSubscriptions"}' headers: cache-control: - no-cache content-length: - - '1206' + - '1072' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:53 GMT + - Sat, 16 May 2020 15:06:59 GMT expires: - '-1' pragma: @@ -817,23 +817,23 @@ interactions: - -g --system-topic-name -n --endpoint --endpoint-type --labels User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/systemTopics/cli000002/eventSubscriptions/cli000006?api-version=2020-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/devexprg/providers/Microsoft.EventGrid/systemTopics/cli000002/eventSubscriptions/cli000006?api-version=2020-04-01-preview response: body: - string: '{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/systemTopics/cli000002","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":["label_1","label_2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/systemTopics/cli000002/eventSubscriptions/cli000006","name":"cli000006","type":"Microsoft.EventGrid/systemTopics/eventSubscriptions"}' + string: '{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/devexprg/providers/Microsoft.EventGrid/systemTopics/cli000002","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":["label_1","label_2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/devexprg/providers/Microsoft.EventGrid/systemTopics/cli000002/eventSubscriptions/cli000006","name":"cli000006","type":"Microsoft.EventGrid/systemTopics/eventSubscriptions"}' headers: cache-control: - no-cache content-length: - - '1206' + - '1072' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:54 GMT + - Sat, 16 May 2020 15:06:59 GMT expires: - '-1' pragma: @@ -876,25 +876,25 @@ interactions: - -g --system-topic-name -n --endpoint --endpoint-type --labels User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: PATCH - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/systemTopics/cli000002/eventSubscriptions/cli000006?api-version=2020-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/devexprg/providers/Microsoft.EventGrid/systemTopics/cli000002/eventSubscriptions/cli000006?api-version=2020-04-01-preview response: body: - string: '{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/systemTopics/cli000002","provisioningState":"Updating","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":["label11","label22"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/systemTopics/cli000002/eventSubscriptions/cli000006","name":"cli000006","type":"Microsoft.EventGrid/systemTopics/eventSubscriptions"}' + string: '{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/devexprg/providers/Microsoft.EventGrid/systemTopics/cli000002","provisioningState":"Updating","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":["label11","label22"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/devexprg/providers/Microsoft.EventGrid/systemTopics/cli000002/eventSubscriptions/cli000006","name":"cli000006","type":"Microsoft.EventGrid/systemTopics/eventSubscriptions"}' headers: azure-asyncoperation: - - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/89C1F048-0E4D-4C17-A5AA-43A06D77E7AB?api-version=2020-04-01-preview + - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/FE54C46A-E5B0-4F6A-8348-E3489D43CB9D?api-version=2020-04-01-preview cache-control: - no-cache content-length: - - '1205' + - '1071' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:54 GMT + - Sat, 16 May 2020 15:06:59 GMT expires: - '-1' pragma: @@ -925,12 +925,12 @@ interactions: - -g --system-topic-name -n --endpoint --endpoint-type --labels User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/89C1F048-0E4D-4C17-A5AA-43A06D77E7AB?api-version=2020-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/FE54C46A-E5B0-4F6A-8348-E3489D43CB9D?api-version=2020-04-01-preview response: body: - string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/89C1F048-0E4D-4C17-A5AA-43A06D77E7AB?api-version=2020-04-01-preview","name":"89c1f048-0e4d-4c17-a5aa-43a06d77e7ab","status":"Succeeded"}' + string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/FE54C46A-E5B0-4F6A-8348-E3489D43CB9D?api-version=2020-04-01-preview","name":"fe54c46a-e5b0-4f6a-8348-e3489d43cb9d","status":"Succeeded"}' headers: cache-control: - no-cache @@ -939,7 +939,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:16:05 GMT + - Sat, 16 May 2020 15:07:10 GMT expires: - '-1' pragma: @@ -972,21 +972,21 @@ interactions: - -g --system-topic-name -n --endpoint --endpoint-type --labels User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/systemTopics/cli000002/eventSubscriptions/cli000006?api-version=2020-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/devexprg/providers/Microsoft.EventGrid/systemTopics/cli000002/eventSubscriptions/cli000006?api-version=2020-04-01-preview response: body: - string: '{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/systemTopics/cli000002","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":["label11","label22"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/systemTopics/cli000002/eventSubscriptions/cli000006","name":"cli000006","type":"Microsoft.EventGrid/systemTopics/eventSubscriptions"}' + string: '{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/devexprg/providers/Microsoft.EventGrid/systemTopics/cli000002","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":["label11","label22"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/devexprg/providers/Microsoft.EventGrid/systemTopics/cli000002/eventSubscriptions/cli000006","name":"cli000006","type":"Microsoft.EventGrid/systemTopics/eventSubscriptions"}' headers: cache-control: - no-cache content-length: - - '1206' + - '1072' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:16:05 GMT + - Sat, 16 May 2020 15:07:10 GMT expires: - '-1' pragma: @@ -1019,23 +1019,23 @@ interactions: - --resource-group --system-topic-name User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/systemTopics/cli000002/eventSubscriptions?api-version=2020-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/devexprg/providers/Microsoft.EventGrid/systemTopics/cli000002/eventSubscriptions?api-version=2020-04-01-preview&$top=100 response: body: - string: '{"value":[{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/systemTopics/cli000002","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":["label11","label22"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/systemTopics/cli000002/eventSubscriptions/cli000006","name":"cli000006","type":"Microsoft.EventGrid/systemTopics/eventSubscriptions"}]}' + string: '{"value":[{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/devexprg/providers/Microsoft.EventGrid/systemTopics/cli000002","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":"","includedEventTypes":["Microsoft.Storage.BlobCreated","Microsoft.Storage.BlobDeleted"]},"labels":["label11","label22"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/devexprg/providers/Microsoft.EventGrid/systemTopics/cli000002/eventSubscriptions/cli000006","name":"cli000006","type":"Microsoft.EventGrid/systemTopics/eventSubscriptions"}]}' headers: cache-control: - no-cache content-length: - - '1218' + - '1084' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:16:06 GMT + - Sat, 16 May 2020 15:07:11 GMT expires: - '-1' pragma: @@ -1070,27 +1070,27 @@ interactions: - -g --name --system-topic-name User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/systemTopics/cli000002/eventSubscriptions/cli000006?api-version=2020-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/devexprg/providers/Microsoft.EventGrid/systemTopics/cli000002/eventSubscriptions/cli000006?api-version=2020-04-01-preview response: body: string: '' headers: azure-asyncoperation: - - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/DBED6DFE-1687-4C51-A288-8BEF10B1271F?api-version=2020-04-01-preview + - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/E713451B-B45F-4462-807A-8CA0A2D1352F?api-version=2020-04-01-preview cache-control: - no-cache content-length: - '0' date: - - Thu, 19 Mar 2020 06:16:07 GMT + - Sat, 16 May 2020 15:07:12 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationResults/DBED6DFE-1687-4C51-A288-8BEF10B1271F?api-version=2020-04-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationResults/E713451B-B45F-4462-807A-8CA0A2D1352F?api-version=2020-04-01-preview pragma: - no-cache server: @@ -1119,12 +1119,12 @@ interactions: - -g --name --system-topic-name User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/DBED6DFE-1687-4C51-A288-8BEF10B1271F?api-version=2020-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/E713451B-B45F-4462-807A-8CA0A2D1352F?api-version=2020-04-01-preview response: body: - string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/DBED6DFE-1687-4C51-A288-8BEF10B1271F?api-version=2020-04-01-preview","name":"dbed6dfe-1687-4c51-a288-8bef10b1271f","status":"Succeeded"}' + string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/E713451B-B45F-4462-807A-8CA0A2D1352F?api-version=2020-04-01-preview","name":"e713451b-b45f-4462-807a-8ca0a2d1352f","status":"Succeeded"}' headers: cache-control: - no-cache @@ -1133,7 +1133,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:16:17 GMT + - Sat, 16 May 2020 15:07:23 GMT expires: - '-1' pragma: @@ -1168,27 +1168,27 @@ interactions: - -n -g User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/systemTopics/cli000002?api-version=2020-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/devexprg/providers/Microsoft.EventGrid/systemTopics/cli000002?api-version=2020-04-01-preview response: body: string: '' headers: azure-asyncoperation: - - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/73B964BD-2A5F-4D15-9D7D-492FDA8BD327?api-version=2020-04-01-preview + - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/18A5CD30-FB67-49D1-8AE2-C9566B9956A5?api-version=2020-04-01-preview cache-control: - no-cache content-length: - '0' date: - - Thu, 19 Mar 2020 06:16:19 GMT + - Sat, 16 May 2020 15:07:25 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationResults/73B964BD-2A5F-4D15-9D7D-492FDA8BD327?api-version=2020-04-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationResults/18A5CD30-FB67-49D1-8AE2-C9566B9956A5?api-version=2020-04-01-preview pragma: - no-cache server: @@ -1198,7 +1198,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-deletes: - - '14998' + - '14999' status: code: 202 message: Accepted @@ -1217,12 +1217,12 @@ interactions: - -n -g User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/73B964BD-2A5F-4D15-9D7D-492FDA8BD327?api-version=2020-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/18A5CD30-FB67-49D1-8AE2-C9566B9956A5?api-version=2020-04-01-preview response: body: - string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/73B964BD-2A5F-4D15-9D7D-492FDA8BD327?api-version=2020-04-01-preview","name":"73b964bd-2a5f-4d15-9d7d-492fda8bd327","status":"Succeeded"}' + string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/18A5CD30-FB67-49D1-8AE2-C9566B9956A5?api-version=2020-04-01-preview","name":"18a5cd30-fb67-49d1-8ae2-c9566b9956a5","status":"Succeeded"}' headers: cache-control: - no-cache @@ -1231,7 +1231,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:16:29 GMT + - Sat, 16 May 2020 15:07:35 GMT expires: - '-1' pragma: diff --git a/src/eventgrid/azext_eventgrid/tests/latest/recordings/test_create_topic.yaml b/src/eventgrid/azext_eventgrid/tests/latest/recordings/test_create_topic.yaml index f3aae56bc40..f4620be6f3b 100644 --- a/src/eventgrid/azext_eventgrid/tests/latest/recordings/test_create_topic.yaml +++ b/src/eventgrid/azext_eventgrid/tests/latest/recordings/test_create_topic.yaml @@ -1,7 +1,7 @@ interactions: - request: body: '{"location": "centraluseuap", "properties": {"inputSchema": "EventGridSchema"}, - "sku": {"name": "Basic"}}' + "sku": {"name": "Basic"}, "identity": {"type": "None"}}' headers: Accept: - application/json @@ -12,32 +12,32 @@ interactions: Connection: - keep-alive Content-Length: - - '105' + - '135' Content-Type: - application/json; charset=utf-8 ParameterSetName: - --name --resource-group --location User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/topics/cli000002?api-version=2020-04-01-preview response: body: - string: '{"properties":{"provisioningState":"Creating","endpoint":null,"inputSchema":"EventGridSchema"},"sku":{"name":"Basic"},"location":"centraluseuap","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/topics/cli000002","name":"cli000002","type":"Microsoft.EventGrid/topics"}' + string: '{"properties":{"provisioningState":"Creating","endpoint":null,"inputSchema":"EventGridSchema"},"sku":{"name":"Basic"},"identity":{"type":"None","principalId":null,"tenantId":null,"userAssignedIdentities":null},"location":"centraluseuap","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/topics/cli000002","name":"cli000002","type":"Microsoft.EventGrid/topics"}' headers: azure-asyncoperation: - - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/37C96ADE-5F88-4E31-985C-50E9206B1C7D?api-version=2020-04-01-preview + - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/E3E99295-863B-4FD7-A568-F991DB5E4B45?api-version=2020-04-01-preview cache-control: - no-cache content-length: - - '471' + - '563' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:14:23 GMT + - Sat, 16 May 2020 15:05:27 GMT expires: - '-1' pragma: @@ -49,7 +49,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1198' status: code: 201 message: Created @@ -68,12 +68,12 @@ interactions: - --name --resource-group --location User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/37C96ADE-5F88-4E31-985C-50E9206B1C7D?api-version=2020-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/E3E99295-863B-4FD7-A568-F991DB5E4B45?api-version=2020-04-01-preview response: body: - string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/37C96ADE-5F88-4E31-985C-50E9206B1C7D?api-version=2020-04-01-preview","name":"37c96ade-5f88-4e31-985c-50e9206b1c7d","status":"Succeeded"}' + string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/E3E99295-863B-4FD7-A568-F991DB5E4B45?api-version=2020-04-01-preview","name":"e3e99295-863b-4fd7-a568-f991db5e4b45","status":"Succeeded"}' headers: cache-control: - no-cache @@ -82,7 +82,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:14:33 GMT + - Sat, 16 May 2020 15:05:37 GMT expires: - '-1' pragma: @@ -115,21 +115,21 @@ interactions: - --name --resource-group --location User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/topics/cli000002?api-version=2020-04-01-preview response: body: - string: '{"properties":{"provisioningState":"Succeeded","endpoint":"https://cli000002.centraluseuap-1.eventgrid.azure.net/api/events","inputSchema":"EventGridSchema","metricResourceId":"dfa747a1-32cb-4676-bc3c-5424f76ecdfb","publicNetworkAccess":"Enabled"},"sku":{"name":"Basic"},"location":"centraluseuap","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/topics/cli000002","name":"cli000002","type":"Microsoft.EventGrid/topics"}' + string: '{"properties":{"provisioningState":"Succeeded","endpoint":"https://cli000002.centraluseuap-1.eventgrid.azure.net/api/events","inputSchema":"EventGridSchema","metricResourceId":"79113d43-c992-4d49-86df-098123be3383","publicNetworkAccess":"Enabled"},"sku":{"name":"Basic"},"identity":{"type":"None","principalId":null,"tenantId":null,"userAssignedIdentities":null},"location":"centraluseuap","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/topics/cli000002","name":"cli000002","type":"Microsoft.EventGrid/topics"}' headers: cache-control: - no-cache content-length: - - '655' + - '747' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:14:34 GMT + - Sat, 16 May 2020 15:05:37 GMT expires: - '-1' pragma: @@ -162,23 +162,23 @@ interactions: - --name --resource-group User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/topics/cli000002?api-version=2020-04-01-preview response: body: - string: '{"properties":{"provisioningState":"Succeeded","endpoint":"https://cli000002.centraluseuap-1.eventgrid.azure.net/api/events","inputSchema":"EventGridSchema","metricResourceId":"dfa747a1-32cb-4676-bc3c-5424f76ecdfb","publicNetworkAccess":"Enabled"},"sku":{"name":"Basic"},"location":"centraluseuap","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/topics/cli000002","name":"cli000002","type":"Microsoft.EventGrid/topics"}' + string: '{"properties":{"provisioningState":"Succeeded","endpoint":"https://cli000002.centraluseuap-1.eventgrid.azure.net/api/events","inputSchema":"EventGridSchema","metricResourceId":"79113d43-c992-4d49-86df-098123be3383","publicNetworkAccess":"Enabled"},"sku":{"name":"Basic"},"identity":{"type":"None","principalId":null,"tenantId":null,"userAssignedIdentities":null},"location":"centraluseuap","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/topics/cli000002","name":"cli000002","type":"Microsoft.EventGrid/topics"}' headers: cache-control: - no-cache content-length: - - '655' + - '747' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:14:35 GMT + - Sat, 16 May 2020 15:05:38 GMT expires: - '-1' pragma: @@ -198,7 +198,7 @@ interactions: message: OK - request: body: '{"location": "centraluseuap", "properties": {"inputSchema": "CloudEventSchemaV1_0"}, - "sku": {"name": "Basic"}}' + "sku": {"name": "Basic"}, "identity": {"type": "None"}}' headers: Accept: - application/json @@ -209,32 +209,32 @@ interactions: Connection: - keep-alive Content-Length: - - '110' + - '140' Content-Type: - application/json; charset=utf-8 ParameterSetName: - --name --resource-group --location --input-schema User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/topics/cli000003?api-version=2020-04-01-preview response: body: - string: '{"properties":{"provisioningState":"Creating","endpoint":null,"inputSchema":"CloudEventSchemaV1_0"},"sku":{"name":"Basic"},"location":"centraluseuap","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/topics/cli000003","name":"cli000003","type":"Microsoft.EventGrid/topics"}' + string: '{"properties":{"provisioningState":"Creating","endpoint":null,"inputSchema":"CloudEventSchemaV1_0"},"sku":{"name":"Basic"},"identity":{"type":"None","principalId":null,"tenantId":null,"userAssignedIdentities":null},"location":"centraluseuap","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/topics/cli000003","name":"cli000003","type":"Microsoft.EventGrid/topics"}' headers: azure-asyncoperation: - - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/11320E31-5065-4F87-A824-8133BA494F96?api-version=2020-04-01-preview + - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/E51CC69D-3229-4E28-A037-AB8D1CC5162E?api-version=2020-04-01-preview cache-control: - no-cache content-length: - - '476' + - '568' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:14:37 GMT + - Sat, 16 May 2020 15:05:41 GMT expires: - '-1' pragma: @@ -246,7 +246,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1199' status: code: 201 message: Created @@ -265,12 +265,12 @@ interactions: - --name --resource-group --location --input-schema User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/11320E31-5065-4F87-A824-8133BA494F96?api-version=2020-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/E51CC69D-3229-4E28-A037-AB8D1CC5162E?api-version=2020-04-01-preview response: body: - string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/11320E31-5065-4F87-A824-8133BA494F96?api-version=2020-04-01-preview","name":"11320e31-5065-4f87-a824-8133ba494f96","status":"Succeeded"}' + string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/E51CC69D-3229-4E28-A037-AB8D1CC5162E?api-version=2020-04-01-preview","name":"e51cc69d-3229-4e28-a037-ab8d1cc5162e","status":"Succeeded"}' headers: cache-control: - no-cache @@ -279,7 +279,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:14:47 GMT + - Sat, 16 May 2020 15:05:51 GMT expires: - '-1' pragma: @@ -312,21 +312,21 @@ interactions: - --name --resource-group --location --input-schema User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/topics/cli000003?api-version=2020-04-01-preview response: body: - string: '{"properties":{"provisioningState":"Succeeded","endpoint":"https://cli000003.centraluseuap-1.eventgrid.azure.net/api/events","inputSchema":"CloudEventSchemaV1_0","metricResourceId":"c662988e-4f29-4a8f-ac62-b37b16580c0f","publicNetworkAccess":"Enabled"},"sku":{"name":"Basic"},"location":"centraluseuap","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/topics/cli000003","name":"cli000003","type":"Microsoft.EventGrid/topics"}' + string: '{"properties":{"provisioningState":"Succeeded","endpoint":"https://cli000003.centraluseuap-1.eventgrid.azure.net/api/events","inputSchema":"CloudEventSchemaV1_0","metricResourceId":"13f69ec7-d432-4d15-abfe-d20abbdfc7d1","publicNetworkAccess":"Enabled"},"sku":{"name":"Basic"},"identity":{"type":"None","principalId":null,"tenantId":null,"userAssignedIdentities":null},"location":"centraluseuap","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/topics/cli000003","name":"cli000003","type":"Microsoft.EventGrid/topics"}' headers: cache-control: - no-cache content-length: - - '660' + - '752' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:14:47 GMT + - Sat, 16 May 2020 15:05:52 GMT expires: - '-1' pragma: @@ -346,8 +346,8 @@ interactions: message: OK - request: body: '{"location": "centraluseuap", "properties": {"inputSchema": "EventGridSchema", - "publicNetworkAccess": "disabled", "inboundIpRules": [{"ipMask": "19.12.43.90/102", - "action": "allow"}, {"ipMask": "19.12.43.70/81", "action": "allow"}]}, "sku": + "publicNetworkAccess": "disabled", "inboundIpRules": [{"ipMask": "19.12.43.90/12", + "action": "allow"}, {"ipMask": "19.12.43.70/20", "action": "allow"}]}, "sku": {"name": "Basic"}, "identity": {"type": "SystemAssigned"}}' headers: Accept: @@ -359,7 +359,7 @@ interactions: Connection: - keep-alive Content-Length: - - '299' + - '298' Content-Type: - application/json; charset=utf-8 ParameterSetName: @@ -367,25 +367,25 @@ interactions: --inbound-ip-rules --sku --identity User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/topics/cli000005?api-version=2020-04-01-preview response: body: - string: '{"properties":{"provisioningState":"Creating","endpoint":null,"inputSchema":"EventGridSchema","publicNetworkAccess":"Disabled","inboundIpRules":[{"ipMask":"19.12.43.90/102","action":"Allow"},{"ipMask":"19.12.43.70/81","action":"Allow"}]},"sku":{"name":"Basic"},"identity":{"type":"SystemAssigned","principalId":"3b1b7ead-3956-4fb1-8525-8bd673746e93","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","UserAssignedIdentities":null},"location":"centraluseuap","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/topics/cli000005","name":"cli000005","type":"Microsoft.EventGrid/topics"}' + string: '{"properties":{"provisioningState":"Creating","endpoint":null,"inputSchema":"EventGridSchema","publicNetworkAccess":"Disabled","inboundIpRules":[{"ipMask":"19.12.43.90/12","action":"Allow"},{"ipMask":"19.12.43.70/20","action":"Allow"}]},"sku":{"name":"Basic"},"identity":{"type":"SystemAssigned","principalId":"159e96cf-b24c-4600-99fe-01a3210fcf76","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","userAssignedIdentities":null},"location":"centraluseuap","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/topics/cli000005","name":"cli000005","type":"Microsoft.EventGrid/topics"}' headers: azure-asyncoperation: - - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/E7CF0D7A-D278-4DDE-823C-147E4B4EA27D?api-version=2020-04-01-preview + - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/7E8C972F-DE01-4576-B376-A142ECB59302?api-version=2020-04-01-preview cache-control: - no-cache content-length: - - '784' + - '783' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:14:50 GMT + - Sat, 16 May 2020 15:05:55 GMT expires: - '-1' pragma: @@ -397,7 +397,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1199' status: code: 201 message: Created @@ -417,12 +417,12 @@ interactions: --inbound-ip-rules --sku --identity User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/E7CF0D7A-D278-4DDE-823C-147E4B4EA27D?api-version=2020-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/7E8C972F-DE01-4576-B376-A142ECB59302?api-version=2020-04-01-preview response: body: - string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/E7CF0D7A-D278-4DDE-823C-147E4B4EA27D?api-version=2020-04-01-preview","name":"e7cf0d7a-d278-4dde-823c-147e4b4ea27d","status":"Succeeded"}' + string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/7E8C972F-DE01-4576-B376-A142ECB59302?api-version=2020-04-01-preview","name":"7e8c972f-de01-4576-b376-a142ecb59302","status":"Succeeded"}' headers: cache-control: - no-cache @@ -431,7 +431,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:01 GMT + - Sat, 16 May 2020 15:06:05 GMT expires: - '-1' pragma: @@ -465,21 +465,21 @@ interactions: --inbound-ip-rules --sku --identity User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/topics/cli000005?api-version=2020-04-01-preview response: body: - string: '{"properties":{"provisioningState":"Succeeded","endpoint":"https://cli000005.centraluseuap-1.eventgrid.azure.net/api/events","inputSchema":"EventGridSchema","metricResourceId":"85292f9e-a995-4d1d-a451-0bec6944c9e7","publicNetworkAccess":"Disabled","inboundIpRules":[{"ipMask":"19.12.43.90/102","action":"Allow"},{"ipMask":"19.12.43.70/81","action":"Allow"}]},"sku":{"name":"Basic"},"identity":{"type":"SystemAssigned","principalId":"3b1b7ead-3956-4fb1-8525-8bd673746e93","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","UserAssignedIdentities":null},"location":"centraluseuap","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/topics/cli000005","name":"cli000005","type":"Microsoft.EventGrid/topics"}' + string: '{"properties":{"provisioningState":"Succeeded","endpoint":"https://cli000005.centraluseuap-1.eventgrid.azure.net/api/events","inputSchema":"EventGridSchema","metricResourceId":"abc0200b-7dbc-4f88-a5f3-05f40b6efeb9","publicNetworkAccess":"Disabled","inboundIpRules":[{"ipMask":"19.12.43.90/12","action":"Allow"},{"ipMask":"19.12.43.70/20","action":"Allow"}]},"sku":{"name":"Basic"},"identity":{"type":"SystemAssigned","principalId":"159e96cf-b24c-4600-99fe-01a3210fcf76","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","userAssignedIdentities":null},"location":"centraluseuap","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/topics/cli000005","name":"cli000005","type":"Microsoft.EventGrid/topics"}' headers: cache-control: - no-cache content-length: - - '936' + - '935' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:01 GMT + - Sat, 16 May 2020 15:06:05 GMT expires: - '-1' pragma: @@ -498,7 +498,7 @@ interactions: code: 200 message: OK - request: - body: '{"tags": {"Dept": "IT"}, "sku": {"name": "Premium"}}' + body: '{"tags": {"Dept": "IT"}}' headers: Accept: - application/json @@ -509,32 +509,32 @@ interactions: Connection: - keep-alive Content-Length: - - '52' + - '24' Content-Type: - application/json; charset=utf-8 ParameterSetName: - - --name --resource-group --tags --sku + - --name --resource-group --tags User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: PATCH uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/topics/cli000005?api-version=2020-04-01-preview response: body: - string: '{"properties":{"provisioningState":"Updating","endpoint":"https://cli000005.centraluseuap-1.eventgrid.azure.net/api/events","inputSchema":"EventGridSchema","metricResourceId":"85292f9e-a995-4d1d-a451-0bec6944c9e7","publicNetworkAccess":"Disabled","inboundIpRules":[{"ipMask":"19.12.43.90/102","action":"Allow"},{"ipMask":"19.12.43.70/81","action":"Allow"}]},"sku":{"name":"Premium"},"identity":{"type":"SystemAssigned","principalId":"3b1b7ead-3956-4fb1-8525-8bd673746e93","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","UserAssignedIdentities":null},"location":"centraluseuap","tags":{"Dept":"IT"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/topics/cli000005","name":"cli000005","type":"Microsoft.EventGrid/topics"}' + string: '{"properties":{"provisioningState":"Updating","endpoint":"https://cli000005.centraluseuap-1.eventgrid.azure.net/api/events","inputSchema":"EventGridSchema","metricResourceId":"abc0200b-7dbc-4f88-a5f3-05f40b6efeb9","publicNetworkAccess":"Disabled","inboundIpRules":[{"ipMask":"19.12.43.90/12","action":"Allow"},{"ipMask":"19.12.43.70/20","action":"Allow"}]},"sku":{"name":"Basic"},"identity":{"type":"SystemAssigned","principalId":"159e96cf-b24c-4600-99fe-01a3210fcf76","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","userAssignedIdentities":null},"location":"centraluseuap","tags":{"Dept":"IT"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/topics/cli000005","name":"cli000005","type":"Microsoft.EventGrid/topics"}' headers: azure-asyncoperation: - - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/E2FF5A23-D271-4865-8278-0FBCB1A6FAD8?api-version=2020-04-01-preview + - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/5A19A473-7A7F-42A6-BC3C-70B1D9A987FB?api-version=2020-04-01-preview cache-control: - no-cache content-length: - - '946' + - '943' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:03 GMT + - Sat, 16 May 2020 15:06:07 GMT expires: - '-1' pragma: @@ -546,7 +546,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1199' status: code: 201 message: Created @@ -562,15 +562,15 @@ interactions: Connection: - keep-alive ParameterSetName: - - --name --resource-group --tags --sku + - --name --resource-group --tags User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/E2FF5A23-D271-4865-8278-0FBCB1A6FAD8?api-version=2020-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/5A19A473-7A7F-42A6-BC3C-70B1D9A987FB?api-version=2020-04-01-preview response: body: - string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/E2FF5A23-D271-4865-8278-0FBCB1A6FAD8?api-version=2020-04-01-preview","name":"e2ff5a23-d271-4865-8278-0fbcb1a6fad8","status":"Succeeded"}' + string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/5A19A473-7A7F-42A6-BC3C-70B1D9A987FB?api-version=2020-04-01-preview","name":"5a19a473-7a7f-42a6-bc3c-70b1d9a987fb","status":"Succeeded"}' headers: cache-control: - no-cache @@ -579,7 +579,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:12 GMT + - Sat, 16 May 2020 15:06:18 GMT expires: - '-1' pragma: @@ -609,24 +609,24 @@ interactions: Connection: - keep-alive ParameterSetName: - - --name --resource-group --tags --sku + - --name --resource-group --tags User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/topics/cli000005?api-version=2020-04-01-preview response: body: - string: '{"properties":{"provisioningState":"Succeeded","endpoint":"https://cli000005.centraluseuap-1.eventgrid.azure.net/api/events","inputSchema":"EventGridSchema","metricResourceId":"85292f9e-a995-4d1d-a451-0bec6944c9e7","publicNetworkAccess":"Disabled","inboundIpRules":[{"ipMask":"19.12.43.90/102","action":"Allow"},{"ipMask":"19.12.43.70/81","action":"Allow"}]},"sku":{"name":"Premium"},"identity":{"type":"SystemAssigned","principalId":"3b1b7ead-3956-4fb1-8525-8bd673746e93","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","UserAssignedIdentities":null},"location":"centraluseuap","tags":{"Dept":"IT"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/topics/cli000005","name":"cli000005","type":"Microsoft.EventGrid/topics"}' + string: '{"properties":{"provisioningState":"Succeeded","endpoint":"https://cli000005.centraluseuap-1.eventgrid.azure.net/api/events","inputSchema":"EventGridSchema","metricResourceId":"abc0200b-7dbc-4f88-a5f3-05f40b6efeb9","publicNetworkAccess":"Disabled","inboundIpRules":[{"ipMask":"19.12.43.90/12","action":"Allow"},{"ipMask":"19.12.43.70/20","action":"Allow"}]},"sku":{"name":"Basic"},"identity":{"type":"SystemAssigned","principalId":"159e96cf-b24c-4600-99fe-01a3210fcf76","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","userAssignedIdentities":null},"location":"centraluseuap","tags":{"Dept":"IT"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/topics/cli000005","name":"cli000005","type":"Microsoft.EventGrid/topics"}' headers: cache-control: - no-cache content-length: - - '947' + - '944' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:12 GMT + - Sat, 16 May 2020 15:06:18 GMT expires: - '-1' pragma: @@ -664,25 +664,25 @@ interactions: - --name --resource-group --tags --sku --identity User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: PATCH uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/topics/cli000005?api-version=2020-04-01-preview response: body: - string: '{"properties":{"provisioningState":"Updating","endpoint":"https://cli000005.centraluseuap-1.eventgrid.azure.net/api/events","inputSchema":"EventGridSchema","metricResourceId":"85292f9e-a995-4d1d-a451-0bec6944c9e7","publicNetworkAccess":"Disabled","inboundIpRules":[{"ipMask":"19.12.43.90/102","action":"Allow"},{"ipMask":"19.12.43.70/81","action":"Allow"}]},"sku":{"name":"Basic"},"identity":{"type":"None","principalId":null,"tenantId":null,"UserAssignedIdentities":null},"location":"centraluseuap","tags":{"Dept":"Finance"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/topics/cli000005","name":"cli000005","type":"Microsoft.EventGrid/topics"}' + string: '{"properties":{"provisioningState":"Updating","endpoint":"https://cli000005.centraluseuap-1.eventgrid.azure.net/api/events","inputSchema":"EventGridSchema","metricResourceId":"abc0200b-7dbc-4f88-a5f3-05f40b6efeb9","publicNetworkAccess":"Disabled","inboundIpRules":[{"ipMask":"19.12.43.90/12","action":"Allow"},{"ipMask":"19.12.43.70/20","action":"Allow"}]},"sku":{"name":"Basic"},"identity":{"type":"None","principalId":null,"tenantId":null,"userAssignedIdentities":null},"location":"centraluseuap","tags":{"Dept":"Finance"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/topics/cli000005","name":"cli000005","type":"Microsoft.EventGrid/topics"}' headers: azure-asyncoperation: - - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/A2CA53C6-8BE0-485B-A595-012C4DBA5A93?api-version=2020-04-01-preview + - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/17C0450C-3E55-43E7-8FEC-9AAA9D3A0563?api-version=2020-04-01-preview cache-control: - no-cache content-length: - - '871' + - '870' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:15 GMT + - Sat, 16 May 2020 15:06:20 GMT expires: - '-1' pragma: @@ -694,7 +694,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1199' status: code: 201 message: Created @@ -713,12 +713,12 @@ interactions: - --name --resource-group --tags --sku --identity User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/A2CA53C6-8BE0-485B-A595-012C4DBA5A93?api-version=2020-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/17C0450C-3E55-43E7-8FEC-9AAA9D3A0563?api-version=2020-04-01-preview response: body: - string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/A2CA53C6-8BE0-485B-A595-012C4DBA5A93?api-version=2020-04-01-preview","name":"a2ca53c6-8be0-485b-a595-012c4dba5a93","status":"Succeeded"}' + string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/17C0450C-3E55-43E7-8FEC-9AAA9D3A0563?api-version=2020-04-01-preview","name":"17c0450c-3e55-43e7-8fec-9aaa9d3a0563","status":"Succeeded"}' headers: cache-control: - no-cache @@ -727,7 +727,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:26 GMT + - Sat, 16 May 2020 15:06:31 GMT expires: - '-1' pragma: @@ -760,21 +760,21 @@ interactions: - --name --resource-group --tags --sku --identity User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/topics/cli000005?api-version=2020-04-01-preview response: body: - string: '{"properties":{"provisioningState":"Succeeded","endpoint":"https://cli000005.centraluseuap-1.eventgrid.azure.net/api/events","inputSchema":"EventGridSchema","metricResourceId":"85292f9e-a995-4d1d-a451-0bec6944c9e7","publicNetworkAccess":"Disabled","inboundIpRules":[{"ipMask":"19.12.43.90/102","action":"Allow"},{"ipMask":"19.12.43.70/81","action":"Allow"}]},"sku":{"name":"Basic"},"identity":{"type":"None","principalId":null,"tenantId":null,"UserAssignedIdentities":null},"location":"centraluseuap","tags":{"Dept":"Finance"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/topics/cli000005","name":"cli000005","type":"Microsoft.EventGrid/topics"}' + string: '{"properties":{"provisioningState":"Succeeded","endpoint":"https://cli000005.centraluseuap-1.eventgrid.azure.net/api/events","inputSchema":"EventGridSchema","metricResourceId":"abc0200b-7dbc-4f88-a5f3-05f40b6efeb9","publicNetworkAccess":"Disabled","inboundIpRules":[{"ipMask":"19.12.43.90/12","action":"Allow"},{"ipMask":"19.12.43.70/20","action":"Allow"}]},"sku":{"name":"Basic"},"identity":{"type":"None","principalId":null,"tenantId":null,"userAssignedIdentities":null},"location":"centraluseuap","tags":{"Dept":"Finance"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/topics/cli000005","name":"cli000005","type":"Microsoft.EventGrid/topics"}' headers: cache-control: - no-cache content-length: - - '872' + - '871' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:26 GMT + - Sat, 16 May 2020 15:06:31 GMT expires: - '-1' pragma: @@ -807,23 +807,23 @@ interactions: - --resource-group User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/topics?api-version=2020-04-01-preview&$top=100 response: body: - string: '{"value":[{"properties":{"provisioningState":"Succeeded","endpoint":"https://cli000002.centraluseuap-1.eventgrid.azure.net/api/events","inputSchema":"EventGridSchema","metricResourceId":"dfa747a1-32cb-4676-bc3c-5424f76ecdfb","publicNetworkAccess":"Enabled"},"sku":{"name":"Basic"},"location":"centraluseuap","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/topics/cli000002","name":"cli000002","type":"Microsoft.EventGrid/topics"},{"properties":{"provisioningState":"Succeeded","endpoint":"https://cli000003.centraluseuap-1.eventgrid.azure.net/api/events","inputSchema":"CloudEventSchemaV1_0","metricResourceId":"c662988e-4f29-4a8f-ac62-b37b16580c0f","publicNetworkAccess":"Enabled"},"sku":{"name":"Basic"},"location":"centraluseuap","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/topics/cli000003","name":"cli000003","type":"Microsoft.EventGrid/topics"},{"properties":{"provisioningState":"Succeeded","endpoint":"https://cli000005.centraluseuap-1.eventgrid.azure.net/api/events","inputSchema":"EventGridSchema","metricResourceId":"85292f9e-a995-4d1d-a451-0bec6944c9e7","publicNetworkAccess":"Disabled","inboundIpRules":[{"ipMask":"19.12.43.90/102","action":"Allow"},{"ipMask":"19.12.43.70/81","action":"Allow"}]},"sku":{"name":"Basic"},"identity":{"type":"None","principalId":null,"tenantId":null,"UserAssignedIdentities":null},"location":"centraluseuap","tags":{"Dept":"Finance"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/topics/cli000005","name":"cli000005","type":"Microsoft.EventGrid/topics"}]}' + string: '{"value":[{"properties":{"provisioningState":"Succeeded","endpoint":"https://cli000002.centraluseuap-1.eventgrid.azure.net/api/events","inputSchema":"EventGridSchema","metricResourceId":"79113d43-c992-4d49-86df-098123be3383","publicNetworkAccess":"Enabled"},"sku":{"name":"Basic"},"identity":{"type":"None","principalId":null,"tenantId":null,"userAssignedIdentities":null},"location":"centraluseuap","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/topics/cli000002","name":"cli000002","type":"Microsoft.EventGrid/topics"},{"properties":{"provisioningState":"Succeeded","endpoint":"https://cli000003.centraluseuap-1.eventgrid.azure.net/api/events","inputSchema":"CloudEventSchemaV1_0","metricResourceId":"13f69ec7-d432-4d15-abfe-d20abbdfc7d1","publicNetworkAccess":"Enabled"},"sku":{"name":"Basic"},"identity":{"type":"None","principalId":null,"tenantId":null,"userAssignedIdentities":null},"location":"centraluseuap","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/topics/cli000003","name":"cli000003","type":"Microsoft.EventGrid/topics"},{"properties":{"provisioningState":"Succeeded","endpoint":"https://cli000005.centraluseuap-1.eventgrid.azure.net/api/events","inputSchema":"EventGridSchema","metricResourceId":"abc0200b-7dbc-4f88-a5f3-05f40b6efeb9","publicNetworkAccess":"Disabled","inboundIpRules":[{"ipMask":"19.12.43.90/12","action":"Allow"},{"ipMask":"19.12.43.70/20","action":"Allow"}]},"sku":{"name":"Basic"},"identity":{"type":"None","principalId":null,"tenantId":null,"userAssignedIdentities":null},"location":"centraluseuap","tags":{"Dept":"Finance"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/topics/cli000005","name":"cli000005","type":"Microsoft.EventGrid/topics"}]}' headers: cache-control: - no-cache content-length: - - '2201' + - '2384' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:27 GMT + - Sat, 16 May 2020 15:06:32 GMT expires: - '-1' pragma: @@ -856,23 +856,23 @@ interactions: - --resource-group --odata-query User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/topics?api-version=2020-04-01-preview&$filter=name%20eq%20%27cli000002%27&$top=100 response: body: - string: '{"value":[{"properties":{"provisioningState":"Succeeded","endpoint":"https://cli000002.centraluseuap-1.eventgrid.azure.net/api/events","inputSchema":"EventGridSchema","metricResourceId":"dfa747a1-32cb-4676-bc3c-5424f76ecdfb","publicNetworkAccess":"Enabled"},"sku":{"name":"Basic"},"location":"centraluseuap","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/topics/cli000002","name":"cli000002","type":"Microsoft.EventGrid/topics"}]}' + string: '{"value":[{"properties":{"provisioningState":"Succeeded","endpoint":"https://cli000002.centraluseuap-1.eventgrid.azure.net/api/events","inputSchema":"EventGridSchema","metricResourceId":"79113d43-c992-4d49-86df-098123be3383","publicNetworkAccess":"Enabled"},"sku":{"name":"Basic"},"identity":{"type":"None","principalId":null,"tenantId":null,"userAssignedIdentities":null},"location":"centraluseuap","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/topics/cli000002","name":"cli000002","type":"Microsoft.EventGrid/topics"}]}' headers: cache-control: - no-cache content-length: - - '667' + - '759' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:27 GMT + - Sat, 16 May 2020 15:06:33 GMT expires: - '-1' pragma: @@ -907,14 +907,14 @@ interactions: - --name --resource-group User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: POST uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/topics/cli000002/listKeys?api-version=2020-04-01-preview response: body: - string: '{"key1":"pA889WCcKdKz+tg3VfbYEiHaNxzR09kb4LnwK/cHOnQ=","key2":"tBkXeg1In5Lu6++3PhvhUH/1vUzTFop1YgBimjNldL4="}' + string: '{"key1":"ixefQPURYR6N+byjaSnYYxfw3QqoAB4Z2rQnOF60qlg=","key2":"APkJkWhj/DfG2bvgrxdTNV5QmR3Yvsul038gt9VPvAc="}' headers: cache-control: - no-cache @@ -923,7 +923,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:28 GMT + - Sat, 16 May 2020 15:06:33 GMT expires: - '-1' pragma: @@ -962,14 +962,14 @@ interactions: - --name --resource-group --key-name User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: POST uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/topics/cli000002/regenerateKey?api-version=2020-04-01-preview response: body: - string: '{"key1":"1R6c1zhOocfYH+Y6QugpEpiFyYm38Kv2joSH5yR9VRg=","key2":"tBkXeg1In5Lu6++3PhvhUH/1vUzTFop1YgBimjNldL4="}' + string: '{"key1":"6JDAM3L552tdgO1IvJopFRWCHuNYwhm0D1oAkhWTQt4=","key2":"APkJkWhj/DfG2bvgrxdTNV5QmR3Yvsul038gt9VPvAc="}' headers: cache-control: - no-cache @@ -978,7 +978,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:29 GMT + - Sat, 16 May 2020 15:06:35 GMT expires: - '-1' pragma: @@ -994,7 +994,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1199' status: code: 200 message: OK @@ -1017,14 +1017,14 @@ interactions: - --name --resource-group --key-name User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: POST uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/topics/cli000002/regenerateKey?api-version=2020-04-01-preview response: body: - string: '{"key1":"1R6c1zhOocfYH+Y6QugpEpiFyYm38Kv2joSH5yR9VRg=","key2":"yct4lOW3uFTJKyIVNZpShtCk93FyHtIEVk7hgK3tO1Q="}' + string: '{"key1":"6JDAM3L552tdgO1IvJopFRWCHuNYwhm0D1oAkhWTQt4=","key2":"xc5hsgoaZEVkQa95xTwzjsxqOc4yKE5Xp/yS1oy9OQU="}' headers: cache-control: - no-cache @@ -1033,7 +1033,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:29 GMT + - Sat, 16 May 2020 15:06:35 GMT expires: - '-1' pragma: @@ -1075,7 +1075,7 @@ interactions: - --source-resource-id --name --endpoint User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: PUT @@ -1085,7 +1085,7 @@ interactions: string: '{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.eventgrid/topics/cli000002","provisioningState":"Creating","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid"},"endpointType":"WebHook"},"filter":{},"labels":null,"retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/topics/cli000002/providers/Microsoft.EventGrid/eventSubscriptions/cli000006","name":"cli000006","type":"Microsoft.EventGrid/eventSubscriptions"}' headers: azure-asyncoperation: - - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/BB8EE684-FEAA-438E-8067-446C5EDED70B?api-version=2020-04-01-preview + - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/BDF49CCF-53CB-41A9-8C24-46001F8D7BBF?api-version=2020-04-01-preview cache-control: - no-cache content-length: @@ -1093,7 +1093,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:30 GMT + - Sat, 16 May 2020 15:06:37 GMT expires: - '-1' pragma: @@ -1124,12 +1124,12 @@ interactions: - --source-resource-id --name --endpoint User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/BB8EE684-FEAA-438E-8067-446C5EDED70B?api-version=2020-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/BDF49CCF-53CB-41A9-8C24-46001F8D7BBF?api-version=2020-04-01-preview response: body: - string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/BB8EE684-FEAA-438E-8067-446C5EDED70B?api-version=2020-04-01-preview","name":"bb8ee684-feaa-438e-8067-446c5eded70b","status":"Succeeded"}' + string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/BDF49CCF-53CB-41A9-8C24-46001F8D7BBF?api-version=2020-04-01-preview","name":"bdf49ccf-53cb-41a9-8c24-46001f8d7bbf","status":"Succeeded"}' headers: cache-control: - no-cache @@ -1138,7 +1138,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:41 GMT + - Sat, 16 May 2020 15:06:47 GMT expires: - '-1' pragma: @@ -1171,7 +1171,7 @@ interactions: - --source-resource-id --name --endpoint User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/topics/cli000002/providers/Microsoft.EventGrid/eventSubscriptions/cli000006?api-version=2020-04-01-preview response: @@ -1185,7 +1185,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:41 GMT + - Sat, 16 May 2020 15:06:47 GMT expires: - '-1' pragma: @@ -1218,7 +1218,7 @@ interactions: - --source-resource-id --name User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET @@ -1234,7 +1234,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:42 GMT + - Sat, 16 May 2020 15:06:48 GMT expires: - '-1' pragma: @@ -1267,7 +1267,7 @@ interactions: - --source-resource-id --name --include-full-endpoint-url User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET @@ -1283,7 +1283,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:42 GMT + - Sat, 16 May 2020 15:06:48 GMT expires: - '-1' pragma: @@ -1318,7 +1318,7 @@ interactions: - --source-resource-id --name --include-full-endpoint-url User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: POST @@ -1334,7 +1334,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:42 GMT + - Sat, 16 May 2020 15:06:49 GMT expires: - '-1' pragma: @@ -1369,7 +1369,7 @@ interactions: - --source-resource-id --name --endpoint User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET @@ -1385,7 +1385,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:43 GMT + - Sat, 16 May 2020 15:06:49 GMT expires: - '-1' pragma: @@ -1426,7 +1426,7 @@ interactions: - --source-resource-id --name --endpoint User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: PATCH @@ -1436,7 +1436,7 @@ interactions: string: '{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.eventgrid/topics/cli000002","provisioningState":"Updating","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/topics/cli000002/providers/Microsoft.EventGrid/eventSubscriptions/cli000006","name":"cli000006","type":"Microsoft.EventGrid/eventSubscriptions"}' headers: azure-asyncoperation: - - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/4F165B46-8026-4B21-AE44-18EE725A977F?api-version=2020-04-01-preview + - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/C8BA3BB7-ECC0-413D-8F65-1D505F8C97C5?api-version=2020-04-01-preview cache-control: - no-cache content-length: @@ -1444,7 +1444,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:44 GMT + - Sat, 16 May 2020 15:06:50 GMT expires: - '-1' pragma: @@ -1456,7 +1456,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '899' + - '898' status: code: 201 message: Created @@ -1475,12 +1475,12 @@ interactions: - --source-resource-id --name --endpoint User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/4F165B46-8026-4B21-AE44-18EE725A977F?api-version=2020-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/C8BA3BB7-ECC0-413D-8F65-1D505F8C97C5?api-version=2020-04-01-preview response: body: - string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/4F165B46-8026-4B21-AE44-18EE725A977F?api-version=2020-04-01-preview","name":"4f165b46-8026-4b21-ae44-18ee725a977f","status":"Succeeded"}' + string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/C8BA3BB7-ECC0-413D-8F65-1D505F8C97C5?api-version=2020-04-01-preview","name":"c8ba3bb7-ecc0-413d-8f65-1d505f8c97c5","status":"Succeeded"}' headers: cache-control: - no-cache @@ -1489,7 +1489,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:54 GMT + - Sat, 16 May 2020 15:07:01 GMT expires: - '-1' pragma: @@ -1522,7 +1522,7 @@ interactions: - --source-resource-id --name --endpoint User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/topics/cli000002/providers/Microsoft.EventGrid/eventSubscriptions/cli000006?api-version=2020-04-01-preview response: @@ -1536,7 +1536,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:54 GMT + - Sat, 16 May 2020 15:07:01 GMT expires: - '-1' pragma: @@ -1569,7 +1569,7 @@ interactions: - --source-resource-id User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET @@ -1585,7 +1585,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:55 GMT + - Sat, 16 May 2020 15:07:02 GMT expires: - '-1' pragma: @@ -1618,7 +1618,7 @@ interactions: - --source-resource-id --odata-query User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET @@ -1634,7 +1634,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:56 GMT + - Sat, 16 May 2020 15:07:02 GMT expires: - '-1' pragma: @@ -1667,23 +1667,23 @@ interactions: - --topic-type --location User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/topicTypes/Microsoft.EventGrid.Topics/eventSubscriptions?api-version=2020-04-01-preview&$top=100 response: body: - string: '{"value":[{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.eventgrid/topics/eg-latency-runner-topic-centraluseuap","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventHub/namespaces/egrunnereventhubnamespacecentraluseuap/eventhubs/egltncyrunnereventhubcentraluseuap"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"Subject","subjectEndsWith":"","isSubjectCaseSensitive":true,"advancedFilters":[{"values":["runner"],"operatorType":"StringContains","key":"topic"},{"values":["Info"],"operatorType":"StringEndsWith","key":"data.EventData"},{"values":[1.0,2.0,3.0],"operatorType":"NumberIn","key":"data.key1"},{"value":true,"operatorType":"BoolEquals","key":"data.key2"},{"values":["3.0"],"operatorType":"StringContains","key":"dataversion"}]},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventGrid/topics/eg-latency-runner-topic-centraluseuap/providers/Microsoft.EventGrid/eventSubscriptions/eg-latency-runner-subscription-centraluseuap","name":"eg-latency-runner-subscription-centraluseuap","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.eventgrid/topics/eg-latency-runner-topic-eg-euap-usce-01","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventHub/namespaces/egrunnereventhubnamespacecentraluseuap/eventhubs/egltncyrunnereventhub-eg-euap-usce-01"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"Subject","subjectEndsWith":"","isSubjectCaseSensitive":true,"advancedFilters":[{"values":["runner"],"operatorType":"StringContains","key":"topic"},{"values":["Info"],"operatorType":"StringEndsWith","key":"data.EventData"},{"values":[1.0,2.0,3.0],"operatorType":"NumberIn","key":"data.key1"},{"value":true,"operatorType":"BoolEquals","key":"data.key2"},{"values":["3.0"],"operatorType":"StringContains","key":"dataversion"}]},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventGrid/topics/eg-latency-runner-topic-eg-euap-usce-01/providers/Microsoft.EventGrid/eventSubscriptions/eg-latency-runner-subscription-eg-euap-usce-01","name":"eg-latency-runner-subscription-eg-euap-usce-01","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.eventgrid/topics/eg-latency-runner-topic-eg-euap-usce-02","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventHub/namespaces/egrunnereventhubnamespacecentraluseuap/eventhubs/egltncyrunnereventhub-eg-euap-usce-02"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"Subject","subjectEndsWith":"","isSubjectCaseSensitive":true,"advancedFilters":[{"values":["runner"],"operatorType":"StringContains","key":"topic"},{"values":["Info"],"operatorType":"StringEndsWith","key":"data.EventData"},{"values":[1.0,2.0,3.0],"operatorType":"NumberIn","key":"data.key1"},{"value":true,"operatorType":"BoolEquals","key":"data.key2"},{"values":["3.0"],"operatorType":"StringContains","key":"dataversion"}]},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventGrid/topics/eg-latency-runner-topic-eg-euap-usce-02/providers/Microsoft.EventGrid/eventSubscriptions/eg-latency-runner-subscription-eg-euap-usce-02","name":"eg-latency-runner-subscription-eg-euap-usce-02","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.eventgrid/topics/eglatencyrunnerqueuetopiccentraluseuap","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.Storage/storageAccounts/egrunnerstgcentraluseuap","queueName":"egltcyrunnerstgqueuedestinationcentraluseuap"},"endpointType":"StorageQueue"},"filter":{"subjectBeginsWith":"Subject","subjectEndsWith":"","isSubjectCaseSensitive":true,"advancedFilters":[{"values":["runner"],"operatorType":"StringContains","key":"topic"},{"values":["Info"],"operatorType":"StringEndsWith","key":"data.EventData"},{"values":[1.0,2.0,3.0],"operatorType":"NumberIn","key":"data.key1"},{"value":true,"operatorType":"BoolEquals","key":"data.key2"},{"values":["3.0"],"operatorType":"StringContains","key":"dataversion"}]},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439},"deadLetterDestination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.Storage/storageAccounts/egrunnerstgcentraluseuap","blobContainerName":"egltcyrunnerstgdlqcentraluseuap"},"endpointType":"StorageBlob"}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventGrid/topics/eglatencyrunnerqueuetopiccentraluseuap/providers/Microsoft.EventGrid/eventSubscriptions/eglatencyrunnerqueuesubscriptioncentraluseuap","name":"eglatencyrunnerqueuesubscriptioncentraluseuap","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.eventgrid/topics/eg-latency-runner-topic-localtest-centraluseuap","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventHub/namespaces/egrunnereventhubnamespacecentraluseuap/eventhubs/egltncyrunnereventhublocaltestcentraluseuap"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"Subject","subjectEndsWith":"","isSubjectCaseSensitive":true,"advancedFilters":[{"values":["runner"],"operatorType":"StringContains","key":"topic"},{"values":["Info"],"operatorType":"StringEndsWith","key":"data.EventData"},{"values":[1.0,2.0,3.0],"operatorType":"NumberIn","key":"data.key1"},{"value":true,"operatorType":"BoolEquals","key":"data.key2"},{"values":["3.0"],"operatorType":"StringContains","key":"dataversion"}]},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventGrid/topics/eg-latency-runner-topic-localtest-centraluseuap/providers/Microsoft.EventGrid/eventSubscriptions/eg-latency-runner-localtest-subscription-centraluseuap","name":"eg-latency-runner-localtest-subscription-centraluseuap","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.eventgrid/topics/eg-latency-dq-runner-topic-eg-euap-usce-01","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventHub/namespaces/egrunnereventhubnamespacecentraluseuap/eventhubs/egltncydqrunnereventhub-eg-euap-usce-01"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"Subject","subjectEndsWith":"","isSubjectCaseSensitive":true,"advancedFilters":[{"values":["runner"],"operatorType":"StringContains","key":"topic"},{"values":["Info"],"operatorType":"StringEndsWith","key":"data.EventData"},{"values":[1.0,2.0,3.0],"operatorType":"NumberIn","key":"data.key1"},{"value":true,"operatorType":"BoolEquals","key":"data.key2"},{"values":["3.0"],"operatorType":"StringContains","key":"dataversion"}]},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventGrid/topics/eg-latency-dq-runner-topic-eg-euap-usce-01/providers/Microsoft.EventGrid/eventSubscriptions/eg-latency-dq-runner-subscription-eg-euap-usce-01","name":"eg-latency-dq-runner-subscription-eg-euap-usce-01","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest/providers/microsoft.eventgrid/topics/kal2020testce2","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/kalstest/providers/Microsoft.Storage/storageAccounts/kalsiotstorage","queueName":"sq1"},"endpointType":"StorageQueue"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"CloudEventSchemaV1_0","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest/providers/Microsoft.EventGrid/topics/kal2020testCE2/providers/Microsoft.EventGrid/eventSubscriptions/es4","name":"es4","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest/providers/microsoft.eventgrid/topics/kal2020testce2","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/kalstest/providers/Microsoft.ServiceBus/namespaces/sbdesttest/topics/top1"},"endpointType":"ServiceBusTopic"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"CloudEventSchemaV1_0","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest/providers/Microsoft.EventGrid/topics/kal2020testCE2/providers/Microsoft.EventGrid/eventSubscriptions/essbtopic","name":"essbtopic","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest/providers/microsoft.eventgrid/topics/kal2020testce2","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/kalstest/providers/Microsoft.ServiceBus/namespaces/sbdesttest/topics/top1"},"endpointType":"ServiceBusTopic"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"CloudEventSchemaV1_0","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest/providers/Microsoft.EventGrid/topics/kal2020testCE2/providers/Microsoft.EventGrid/eventSubscriptions/essbtopic2","name":"essbtopic2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sdk-eventgrid-rg-652/providers/microsoft.eventgrid/topics/sdk-topic-5763","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":4400,"preferredBatchSizeInKilobytes":900},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"TestPrefix","subjectEndsWith":".jpg","includedEventTypes":["Event1","Event2"]},"labels":["UpdatedLabel1","UpdatedLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sdk-EventGrid-RG-652/providers/Microsoft.EventGrid/topics/sdk-Topic-5763/providers/Microsoft.EventGrid/eventSubscriptions/sdk-EventSubscription-7490","name":"sdk-EventSubscription-7490","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/microsoft.eventgrid/topics/amdtesttopic500delete","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/topics/amdtesttopic500delete/providers/Microsoft.EventGrid/eventSubscriptions/ES3333333","name":"ES3333333","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/microsoft.eventgrid/topics/amdtesttopic500delete","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/topics/amdtesttopic500delete/providers/Microsoft.EventGrid/eventSubscriptions/ES99999","name":"ES99999","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/microsoft.eventgrid/topics/amdtesttopic999delete","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/topics/amdtesttopic999delete/providers/Microsoft.EventGrid/eventSubscriptions/ES99889989","name":"ES99889989","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/topics/tryTopicBug2","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":[],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/topics/tryTopicBug2/providers/Microsoft.EventGrid/eventSubscriptions/testEs10101010","name":"testEs10101010","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/privatelink-demo/providers/Microsoft.EventGrid/topics/bmttopicpe","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/e2e/providers/Microsoft.ServiceBus/namespaces/ege2eservicebusnamespace/topics/testtopic"},"endpointType":"ServiceBusTopic"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":[],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/privatelink-demo/providers/Microsoft.EventGrid/topics/bmttopicpe/providers/Microsoft.EventGrid/eventSubscriptions/bmttopicpesub1","name":"bmttopicpesub1","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/topics/testTopic123","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":[],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/topics/testTopic123/providers/Microsoft.EventGrid/eventSubscriptions/test123es","name":"test123es","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/microsoft.eventgrid/topics/testtopic123","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/api/DevExpFunc","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/topics/testTopic123/providers/Microsoft.EventGrid/eventSubscriptions/test1234566es1","name":"test1234566es1","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.eventgrid/topics/cli000002","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/topics/cli000002/providers/Microsoft.EventGrid/eventSubscriptions/cli000006","name":"cli000006","type":"Microsoft.EventGrid/eventSubscriptions"}]}' + string: '{"value":[{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.eventgrid/topics/eg-latency-runner-topic-centraluseuap","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventHub/namespaces/egrunnereventhubnamespacecentraluseuap/eventhubs/egltncyrunnereventhubcentraluseuap"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"Subject","subjectEndsWith":"","isSubjectCaseSensitive":true,"advancedFilters":[{"values":["runner"],"operatorType":"StringContains","key":"topic"},{"values":["Info"],"operatorType":"StringEndsWith","key":"data.EventData"},{"values":[1.0,2.0,3.0],"operatorType":"NumberIn","key":"data.key1"},{"value":true,"operatorType":"BoolEquals","key":"data.key2"},{"values":["3.0"],"operatorType":"StringContains","key":"dataversion"}]},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventGrid/topics/eg-latency-runner-topic-centraluseuap/providers/Microsoft.EventGrid/eventSubscriptions/eg-latency-runner-subscription-centraluseuap","name":"eg-latency-runner-subscription-centraluseuap","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.eventgrid/topics/eg-latency-runner-topic-eg-euap-usce-01","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventHub/namespaces/egrunnereventhubnamespacecentraluseuap/eventhubs/egltncyrunnereventhub-eg-euap-usce-01"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"Subject","subjectEndsWith":"","isSubjectCaseSensitive":true,"advancedFilters":[{"values":["runner"],"operatorType":"StringContains","key":"topic"},{"values":["Info"],"operatorType":"StringEndsWith","key":"data.EventData"},{"values":[1.0,2.0,3.0],"operatorType":"NumberIn","key":"data.key1"},{"value":true,"operatorType":"BoolEquals","key":"data.key2"},{"values":["3.0"],"operatorType":"StringContains","key":"dataversion"}]},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventGrid/topics/eg-latency-runner-topic-eg-euap-usce-01/providers/Microsoft.EventGrid/eventSubscriptions/eg-latency-runner-subscription-eg-euap-usce-01","name":"eg-latency-runner-subscription-eg-euap-usce-01","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.eventgrid/topics/eg-latency-runner-topic-eg-euap-usce-02","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventHub/namespaces/egrunnereventhubnamespacecentraluseuap/eventhubs/egltncyrunnereventhub-eg-euap-usce-02"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"Subject","subjectEndsWith":"","isSubjectCaseSensitive":true,"advancedFilters":[{"values":["runner"],"operatorType":"StringContains","key":"topic"},{"values":["Info"],"operatorType":"StringEndsWith","key":"data.EventData"},{"values":[1.0,2.0,3.0],"operatorType":"NumberIn","key":"data.key1"},{"value":true,"operatorType":"BoolEquals","key":"data.key2"},{"values":["3.0"],"operatorType":"StringContains","key":"dataversion"}]},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventGrid/topics/eg-latency-runner-topic-eg-euap-usce-02/providers/Microsoft.EventGrid/eventSubscriptions/eg-latency-runner-subscription-eg-euap-usce-02","name":"eg-latency-runner-subscription-eg-euap-usce-02","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.eventgrid/topics/eglatencyrunnerqueuetopiccentraluseuap","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.Storage/storageAccounts/egrunnerstgcentraluseuap","queueName":"egltcyrunnerstgqueuedestinationcentraluseuap"},"endpointType":"StorageQueue"},"filter":{"subjectBeginsWith":"Subject","subjectEndsWith":"","isSubjectCaseSensitive":true,"advancedFilters":[{"values":["runner"],"operatorType":"StringContains","key":"topic"},{"values":["Info"],"operatorType":"StringEndsWith","key":"data.EventData"},{"values":[1.0,2.0,3.0],"operatorType":"NumberIn","key":"data.key1"},{"value":true,"operatorType":"BoolEquals","key":"data.key2"},{"values":["3.0"],"operatorType":"StringContains","key":"dataversion"}]},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439},"deadLetterDestination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.Storage/storageAccounts/egrunnerstgcentraluseuap","blobContainerName":"egltcyrunnerstgdlqcentraluseuap"},"endpointType":"StorageBlob"}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventGrid/topics/eglatencyrunnerqueuetopiccentraluseuap/providers/Microsoft.EventGrid/eventSubscriptions/eglatencyrunnerqueuesubscriptioncentraluseuap","name":"eglatencyrunnerqueuesubscriptioncentraluseuap","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.eventgrid/topics/eg-latency-runner-topic-localtest-centraluseuap","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventHub/namespaces/egrunnereventhubnamespacecentraluseuap/eventhubs/egltncyrunnereventhublocaltestcentraluseuap"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"Subject","subjectEndsWith":"","isSubjectCaseSensitive":true,"advancedFilters":[{"values":["runner"],"operatorType":"StringContains","key":"topic"},{"values":["Info"],"operatorType":"StringEndsWith","key":"data.EventData"},{"values":[1.0,2.0,3.0],"operatorType":"NumberIn","key":"data.key1"},{"value":true,"operatorType":"BoolEquals","key":"data.key2"},{"values":["3.0"],"operatorType":"StringContains","key":"dataversion"}]},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventGrid/topics/eg-latency-runner-topic-localtest-centraluseuap/providers/Microsoft.EventGrid/eventSubscriptions/eg-latency-runner-localtest-subscription-centraluseuap","name":"eg-latency-runner-localtest-subscription-centraluseuap","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.eventgrid/topics/eg-latency-dq-runner-topic-eg-euap-usce-01","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventHub/namespaces/egrunnereventhubnamespacecentraluseuap/eventhubs/egltncydqrunnereventhub-eg-euap-usce-01"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"Subject","subjectEndsWith":"","isSubjectCaseSensitive":true,"advancedFilters":[{"values":["runner"],"operatorType":"StringContains","key":"topic"},{"values":["Info"],"operatorType":"StringEndsWith","key":"data.EventData"},{"values":[1.0,2.0,3.0],"operatorType":"NumberIn","key":"data.key1"},{"value":true,"operatorType":"BoolEquals","key":"data.key2"},{"values":["3.0"],"operatorType":"StringContains","key":"dataversion"}]},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventGrid/topics/eg-latency-dq-runner-topic-eg-euap-usce-01/providers/Microsoft.EventGrid/eventSubscriptions/eg-latency-dq-runner-subscription-eg-euap-usce-01","name":"eg-latency-dq-runner-subscription-eg-euap-usce-01","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest/providers/microsoft.eventgrid/topics/kal2020testce2","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/kalstest/providers/Microsoft.Storage/storageAccounts/kalsiotstorage","queueName":"sq1"},"endpointType":"StorageQueue"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"CloudEventSchemaV1_0","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest/providers/Microsoft.EventGrid/topics/kal2020testCE2/providers/Microsoft.EventGrid/eventSubscriptions/es4","name":"es4","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest/providers/microsoft.eventgrid/topics/kal2020testce2","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/kalstest/providers/Microsoft.ServiceBus/namespaces/sbdesttest/topics/top1"},"endpointType":"ServiceBusTopic"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"CloudEventSchemaV1_0","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest/providers/Microsoft.EventGrid/topics/kal2020testCE2/providers/Microsoft.EventGrid/eventSubscriptions/essbtopic","name":"essbtopic","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest/providers/microsoft.eventgrid/topics/kal2020testce2","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/kalstest/providers/Microsoft.ServiceBus/namespaces/sbdesttest/topics/top1"},"endpointType":"ServiceBusTopic"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"CloudEventSchemaV1_0","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest/providers/Microsoft.EventGrid/topics/kal2020testCE2/providers/Microsoft.EventGrid/eventSubscriptions/essbtopic2","name":"essbtopic2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sdk-eventgrid-rg-652/providers/microsoft.eventgrid/topics/sdk-topic-5763","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":4400,"preferredBatchSizeInKilobytes":900},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"TestPrefix","subjectEndsWith":".jpg","includedEventTypes":["Event1","Event2"]},"labels":["UpdatedLabel1","UpdatedLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sdk-EventGrid-RG-652/providers/Microsoft.EventGrid/topics/sdk-Topic-5763/providers/Microsoft.EventGrid/eventSubscriptions/sdk-EventSubscription-7490","name":"sdk-EventSubscription-7490","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/microsoft.eventgrid/topics/amdtesttopic500delete","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/topics/amdtesttopic500delete/providers/Microsoft.EventGrid/eventSubscriptions/ES3333333","name":"ES3333333","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/microsoft.eventgrid/topics/amdtesttopic500delete","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/topics/amdtesttopic500delete/providers/Microsoft.EventGrid/eventSubscriptions/ES99999","name":"ES99999","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/microsoft.eventgrid/topics/amdtesttopic999delete","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/topics/amdtesttopic999delete/providers/Microsoft.EventGrid/eventSubscriptions/ES99889989","name":"ES99889989","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/topics/tryTopicBug2","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":[],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/topics/tryTopicBug2/providers/Microsoft.EventGrid/eventSubscriptions/testEs10101010","name":"testEs10101010","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/topics/testTopic123","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":[],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/topics/testTopic123/providers/Microsoft.EventGrid/eventSubscriptions/test123es","name":"test123es","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/microsoft.eventgrid/topics/testtopic123","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/api/DevExpFunc","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/topics/testTopic123/providers/Microsoft.EventGrid/eventSubscriptions/test1234566es1","name":"test1234566es1","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.eventgrid/topics/eg-latency-runner-topic-msi-centraluseuap","provisioningState":"Succeeded","destination":null,"deliveryWithResourceIdentity":{"identity":{"type":"SystemAssigned"},"destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.Storage/storageAccounts/egrunnertgcentraluseuap2","queueName":"egltcyrunnerstgqueuedestinationmsicentraluseuap"},"endpointType":"StorageQueue"}},"filter":{"subjectBeginsWith":"Subject","subjectEndsWith":"","isSubjectCaseSensitive":true,"advancedFilters":[{"values":["runner"],"operatorType":"StringContains","key":"topic"},{"values":["Info"],"operatorType":"StringEndsWith","key":"data.EventData"},{"values":[1.0,2.0,3.0],"operatorType":"NumberIn","key":"data.key1"},{"value":true,"operatorType":"BoolEquals","key":"data.key2"},{"values":["3.0"],"operatorType":"StringContains","key":"dataversion"}]},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventGrid/topics/eg-latency-runner-topic-msi-centraluseuap/providers/Microsoft.EventGrid/eventSubscriptions/eg-latency-runner-subscription-msi-centraluseuap","name":"eg-latency-runner-subscription-msi-centraluseuap","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.eventgrid/topics/eg-latency-runner-topic-msi-centraluseuap2","provisioningState":"Succeeded","destination":null,"deliveryWithResourceIdentity":{"identity":{"type":"SystemAssigned"},"destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.Storage/storageAccounts/egrunnertgcentraluseuap2","queueName":"egltcyrunnerstgqueuedestinationmsicentraluseuap"},"endpointType":"StorageQueue"}},"filter":{"subjectBeginsWith":"Subject","subjectEndsWith":"","isSubjectCaseSensitive":true,"advancedFilters":[{"values":["runner"],"operatorType":"StringContains","key":"topic"},{"values":["Info"],"operatorType":"StringEndsWith","key":"data.EventData"},{"values":[1.0,2.0,3.0],"operatorType":"NumberIn","key":"data.key1"},{"value":true,"operatorType":"BoolEquals","key":"data.key2"},{"values":["3.0"],"operatorType":"StringContains","key":"dataversion"}]},"labels":["TestLabel1","TestLabel2"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1439}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventGrid/topics/eg-latency-runner-topic-msi-centraluseuap2/providers/Microsoft.EventGrid/eventSubscriptions/eg-latency-runner-subscription-msi-centraluseuap","name":"eg-latency-runner-subscription-msi-centraluseuap","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/msibugbash/providers/microsoft.eventgrid/topics/msitesttopic","provisioningState":"Succeeded","destination":null,"deliveryWithResourceIdentity":{"identity":{"type":"SystemAssigned"},"destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/msibugbash/providers/Microsoft.ServiceBus/namespaces/msitestwithsb/queues/msitestwithsb"},"endpointType":"ServiceBusQueue"}},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440},"deadLetterWithResourceIdentity":{"identity":{"type":"SystemAssigned"}}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/msibugbash/providers/Microsoft.EventGrid/topics/msitesttopic/providers/Microsoft.EventGrid/eventSubscriptions/msitestwithsb","name":"msitestwithsb","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/msibugbash/providers/microsoft.eventgrid/topics/msitesttopic","provisioningState":"Succeeded","destination":null,"deliveryWithResourceIdentity":{"identity":{"type":"SystemAssigned"},"destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/msibugbash/providers/Microsoft.ServiceBus/namespaces/msitestwithsb/queues/msitestwithsb"},"endpointType":"ServiceBusQueue"}},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440},"deadLetterWithResourceIdentity":{"identity":{"type":"SystemAssigned"}}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/msibugbash/providers/Microsoft.EventGrid/topics/msitesttopic/providers/Microsoft.EventGrid/eventSubscriptions/msitestwithsb1","name":"msitestwithsb1","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/msibugbash/providers/microsoft.eventgrid/topics/msitesttopic","provisioningState":"Succeeded","destination":null,"deliveryWithResourceIdentity":{"identity":{"type":"SystemAssigned"},"destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/msibugbash/providers/Microsoft.Storage/storageAccounts/msitestwithsa","queueName":"msitestwithsa"},"endpointType":"StorageQueue"}},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/msibugbash/providers/Microsoft.EventGrid/topics/msitesttopic/providers/Microsoft.EventGrid/eventSubscriptions/msitestwithea","name":"msitestwithea","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/microsoft.eventgrid/topics/topicbugbash1","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.ServiceBus/namespaces/devexpservicebus/topics/devexptopic1"},"endpointType":"ServiceBusTopic"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/topics/topicBugBash1/providers/Microsoft.EventGrid/eventSubscriptions/bugbash1ES1SvcBusTopic1","name":"bugbash1ES1SvcBusTopic1","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/msibugbash/providers/microsoft.eventgrid/topics/msitesttopic","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/msiiitest/providers/Microsoft.EventHub/namespaces/msitestwithehub/eventhubs/msitestwithehub"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/msibugbash/providers/Microsoft.EventGrid/topics/msitesttopic/providers/Microsoft.EventGrid/eventSubscriptions/msitestwitheh","name":"msitestwitheh","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/microsoft.eventgrid/topics/topicbugbash1","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Storage/storageAccounts/devexpstg","queueName":"stogqueuedestination"},"endpointType":"StorageQueue"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/topics/topicBugBash1/providers/Microsoft.EventGrid/eventSubscriptions/bugbashEs2StorageQueue1","name":"bugbashEs2StorageQueue1","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/microsoft.eventgrid/topics/topicbugbash1","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/topics/topicBugBash1/providers/Microsoft.EventGrid/eventSubscriptions/bugbash1Es3Func2","name":"bugbash1Es3Func2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/msibugbash/providers/microsoft.eventgrid/topics/msitesttopic","provisioningState":"Succeeded","destination":null,"deliveryWithResourceIdentity":{"identity":{"type":"SystemAssigned"},"destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/msibugbash/providers/Microsoft.Storage/storageAccounts/msitestwithsa","queueName":"msitestwithsa"},"endpointType":"StorageQueue"}},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/msibugbash/providers/Microsoft.EventGrid/topics/msitesttopic/providers/Microsoft.EventGrid/eventSubscriptions/msiwithsa","name":"msiwithsa","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/msibugbash/providers/microsoft.eventgrid/topics/noktesttopic","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/msibugbash/providers/Microsoft.Storage/storageAccounts/nokstorageaccount","queueName":"queue1"},"endpointType":"StorageQueue"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/msibugbash/providers/Microsoft.EventGrid/topics/noktesttopic/providers/Microsoft.EventGrid/eventSubscriptions/noktesttopicsubidentity","name":"noktesttopicsubidentity","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/msibugbash/providers/microsoft.eventgrid/topics/noktesttopic","provisioningState":"Succeeded","destination":null,"deliveryWithResourceIdentity":{"identity":{"type":"SystemAssigned"},"destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/msibugbash/providers/Microsoft.Storage/storageAccounts/nokstorageaccount","queueName":"queue2"},"endpointType":"StorageQueue"}},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/msibugbash/providers/Microsoft.EventGrid/topics/noktesttopic/providers/Microsoft.EventGrid/eventSubscriptions/noktesttopicsubnoidentity","name":"noktesttopicsubnoidentity","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/topics/mparkmsi","provisioningState":"Succeeded","destination":null,"deliveryWithResourceIdentity":{"identity":{"type":"SystemAssigned"},"destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/alitest/providers/Microsoft.EventHub/namespaces/rrama-reprokafka-eus/eventhubs/eh1"},"endpointType":"EventHub"}},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":[],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/topics/mparkmsi/providers/Microsoft.EventGrid/eventSubscriptions/mparkes","name":"mparkes","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/topics/mparkmsi","provisioningState":"Succeeded","destination":null,"deliveryWithResourceIdentity":{"identity":{"type":"SystemAssigned"},"destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/alitest/providers/Microsoft.EventHub/namespaces/rrama-reprokafka-eus/eventhubs/eh1"},"endpointType":"EventHub"}},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":[],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440},"deadLetterWithResourceIdentity":{"identity":{"type":"SystemAssigned"},"deadLetterDestination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGEastUS2EUAP/providers/Microsoft.Storage/storageAccounts/aegrrunnertest","blobContainerName":"azure-webjobs-hosts"},"endpointType":"StorageBlob"}}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/topics/mparkmsi/providers/Microsoft.EventGrid/eventSubscriptions/mparkes2","name":"mparkes2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/topics/mparkmsi","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://ent441q50n0p.x.pipedream.net/","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":[],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/topics/mparkmsi/providers/Microsoft.EventGrid/eventSubscriptions/mparkes3","name":"mparkes3","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/topics/mparkmsi","provisioningState":"Succeeded","destination":null,"deliveryWithResourceIdentity":{"identity":{"type":"SystemAssigned"},"destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/alitest/providers/Microsoft.ServiceBus/namespaces/mparktest2/queues/testq"},"endpointType":"ServiceBusQueue"}},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":[],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/topics/mparkmsi/providers/Microsoft.EventGrid/eventSubscriptions/mparkes4","name":"mparkes4","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/microsoft.eventgrid/topics/tpoicwithnoidentity2","provisioningState":"Succeeded","destination":null,"deliveryWithResourceIdentity":{"identity":{"type":"SystemAssigned"},"destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.eventhub/namespaces/devexpeh/eventhubs/eventhub1"},"endpointType":"EventHub"}},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/topics/tpoicWithNoIdentity2/providers/Microsoft.EventGrid/eventSubscriptions/es123456","name":"es123456","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/microsoft.eventgrid/topics/tpoicwithnoidentity2","provisioningState":"Succeeded","destination":null,"deliveryWithResourceIdentity":{"identity":{"type":"SystemAssigned"},"destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.eventhub/namespaces/devexpeh/eventhubs/eventhub1"},"endpointType":"EventHub"}},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/topics/tpoicWithNoIdentity2/providers/Microsoft.EventGrid/eventSubscriptions/es123456122112","name":"es123456122112","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/microsoft.eventgrid/topics/tpoicwithnoidentity2","provisioningState":"Succeeded","destination":null,"deliveryWithResourceIdentity":{"identity":{"type":"SystemAssigned"},"destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.eventhub/namespaces/devexpeh/eventhubs/eventhub1"},"endpointType":"EventHub"}},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440},"deadLetterWithResourceIdentity":{"identity":{"type":"SystemAssigned"},"deadLetterDestination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Storage/storageAccounts/devexpstg","blobContainerName":"dlqwithidentity"},"endpointType":"StorageBlob"}}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/topics/tpoicWithNoIdentity2/providers/Microsoft.EventGrid/eventSubscriptions/CliTestEventsubscription4","name":"CliTestEventsubscription4","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/microsoft.eventgrid/topics/tpoicwithnoidentity2","provisioningState":"Succeeded","destination":null,"deliveryWithResourceIdentity":{"identity":{"type":"SystemAssigned"},"destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.eventhub/namespaces/devexpeh/eventhubs/eventhub1"},"endpointType":"EventHub"}},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/topics/tpoicWithNoIdentity2/providers/Microsoft.EventGrid/eventSubscriptions/es123456122112xys","name":"es123456122112xys","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/microsoft.eventgrid/topics/tpoicwithnoidentity2","provisioningState":"Succeeded","destination":null,"deliveryWithResourceIdentity":{"identity":{"type":"SystemAssigned"},"destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.eventhub/namespaces/devexpeh/eventhubs/eventhub1"},"endpointType":"EventHub"}},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/topics/tpoicWithNoIdentity2/providers/Microsoft.EventGrid/eventSubscriptions/es123456122112xysxsq","name":"es123456122112xysxsq","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/microsoft.eventgrid/topics/tpoicwithnoidentity2","provisioningState":"Succeeded","destination":null,"deliveryWithResourceIdentity":{"identity":{"type":"SystemAssigned"},"destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.eventhub/namespaces/devexpeh/eventhubs/eventhub1"},"endpointType":"EventHub"}},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/topics/tpoicWithNoIdentity2/providers/Microsoft.EventGrid/eventSubscriptions/esxyz1","name":"esxyz1","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/microsoft.eventgrid/topics/tpoicwithnoidentity2","provisioningState":"Succeeded","destination":null,"deliveryWithResourceIdentity":{"identity":{"type":"SystemAssigned"},"destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.eventhub/namespaces/devexpeh/eventhubs/eventhub1"},"endpointType":"EventHub"}},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/topics/tpoicWithNoIdentity2/providers/Microsoft.EventGrid/eventSubscriptions/esxyz2","name":"esxyz2","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/microsoft.eventgrid/topics/tpoicwithnoidentity2","provisioningState":"Succeeded","destination":null,"deliveryWithResourceIdentity":{"identity":{"type":"SystemAssigned"},"destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.eventhub/namespaces/devexpeh/eventhubs/eventhub1"},"endpointType":"EventHub"}},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/topics/tpoicWithNoIdentity2/providers/Microsoft.EventGrid/eventSubscriptions/esxyz3","name":"esxyz3","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/microsoft.eventgrid/topics/tpoicwithnoidentity2","provisioningState":"Succeeded","destination":null,"deliveryWithResourceIdentity":{"identity":{"type":"SystemAssigned"},"destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.eventhub/namespaces/devexpeh/eventhubs/eventhub1"},"endpointType":"EventHub"}},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/topics/tpoicWithNoIdentity2/providers/Microsoft.EventGrid/eventSubscriptions/esxyz4","name":"esxyz4","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/microsoft.eventgrid/topics/tpoicwithnoidentity2","provisioningState":"Succeeded","destination":null,"deliveryWithResourceIdentity":{"identity":{"type":"SystemAssigned"},"destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.eventhub/namespaces/devexpeh/eventhubs/eventhub1"},"endpointType":"EventHub"}},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/topics/tpoicWithNoIdentity2/providers/Microsoft.EventGrid/eventSubscriptions/esxyz5","name":"esxyz5","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/microsoft.eventgrid/topics/tpoicwithnoidentity2","provisioningState":"Succeeded","destination":null,"deliveryWithResourceIdentity":{"identity":{"type":"SystemAssigned"},"destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.eventhub/namespaces/devexpeh/eventhubs/eventhub1"},"endpointType":"EventHub"}},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/topics/tpoicWithNoIdentity2/providers/Microsoft.EventGrid/eventSubscriptions/esxyz6","name":"esxyz6","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/microsoft.eventgrid/topics/tpoicwithnoidentity2","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Storage/storageAccounts/devexpstg","queueName":"stogqueuedestination"},"endpointType":"StorageQueue"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/topics/tpoicWithNoIdentity2/providers/Microsoft.EventGrid/eventSubscriptions/esxyz7","name":"esxyz7","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/microsoft.eventgrid/topics/tpoicwithnoidentity2","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Web/sites/eventgridclitestapp/functions/EventGridTrigger1","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"AzureFunction"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/topics/tpoicWithNoIdentity2/providers/Microsoft.EventGrid/eventSubscriptions/es1234azFunc","name":"es1234azFunc","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/microsoft.eventgrid/topics/topicidentity1234test1","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/api/DevExpFunc","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64,"azureActiveDirectoryTenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","azureActiveDirectoryApplicationIdOrUri":"03d47d4a-7c50-43e0-ba90-89d090cc4582"},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/topics/topicIdentity1234Test1/providers/Microsoft.EventGrid/eventSubscriptions/testES123","name":"testES123","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.eventgrid/topics/egcrudrunnertopicea015039centraluseuap","provisioningState":"Succeeded","destination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventHub/namespaces/egrunnereventhubnamespacecentraluseuap/eventhubs/egoperationrunnereventhubcentraluseuap"},"endpointType":"EventHub"},"filter":{"subjectBeginsWith":"Subject","subjectEndsWith":"","isSubjectCaseSensitive":true,"advancedFilters":[{"values":["runner"],"operatorType":"StringContains","key":"topic"},{"values":["Info"],"operatorType":"StringEndsWith","key":"data.EventData"},{"values":[1.0,2.0,3.0],"operatorType":"NumberIn","key":"data.key1"},{"value":true,"operatorType":"BoolEquals","key":"data.key2"},{"values":["3.0"],"operatorType":"StringContains","key":"dataversion"}]},"labels":["NewTestLabel1","NewTestLabel2","NewTestLabel3"],"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1438},"deadLetterDestination":{"properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.Storage/storageAccounts/egrunnerstgcentraluseuap","blobContainerName":"egrunnerstgdlqcentraluseuap"},"endpointType":"StorageBlob"}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureEventGridRunnerRGCentralUSEUAP/providers/Microsoft.EventGrid/topics/egcrudrunnertopicea015039CentralUSEUAP/providers/Microsoft.EventGrid/eventSubscriptions/eg-crud-runner-subscription-986fbd50-Central-US-EUAP","name":"eg-crud-runner-subscription-986fbd50-Central-US-EUAP","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/microsoft.eventgrid/topics/topicidentity1234test","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amh/providers/Microsoft.EventGrid/topics/topicIdentity1234Test/providers/Microsoft.EventGrid/eventSubscriptions/testEs2222222","name":"testEs2222222","type":"Microsoft.EventGrid/eventSubscriptions"},{"properties":{"topic":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.eventgrid/topics/cli000002","provisioningState":"Succeeded","destination":{"properties":{"endpointUrl":null,"endpointBaseUrl":"https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid","maxEventsPerBatch":1,"preferredBatchSizeInKilobytes":64},"endpointType":"WebHook"},"filter":{"subjectBeginsWith":"","subjectEndsWith":""},"labels":null,"eventDeliverySchema":"EventGridSchema","retryPolicy":{"maxDeliveryAttempts":30,"eventTimeToLiveInMinutes":1440}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/topics/cli000002/providers/Microsoft.EventGrid/eventSubscriptions/cli000006","name":"cli000006","type":"Microsoft.EventGrid/eventSubscriptions"}]}' headers: cache-control: - no-cache content-length: - - '20252' + - '52207' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:57 GMT + - Sat, 16 May 2020 15:07:03 GMT expires: - '-1' pragma: @@ -1716,7 +1716,7 @@ interactions: - --topic-type --location --odata-query User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET @@ -1732,7 +1732,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:57 GMT + - Sat, 16 May 2020 15:07:04 GMT expires: - '-1' pragma: @@ -1767,7 +1767,7 @@ interactions: - --source-resource-id --name User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: DELETE @@ -1777,17 +1777,17 @@ interactions: string: '' headers: azure-asyncoperation: - - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/BD24E3DD-EC7D-4DB2-A6FF-107AE5D3D624?api-version=2020-04-01-preview + - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/27FE0D3D-E6F7-4336-9CE0-9A407DB0BA51?api-version=2020-04-01-preview cache-control: - no-cache content-length: - '0' date: - - Thu, 19 Mar 2020 06:15:58 GMT + - Sat, 16 May 2020 15:07:04 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationResults/BD24E3DD-EC7D-4DB2-A6FF-107AE5D3D624?api-version=2020-04-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationResults/27FE0D3D-E6F7-4336-9CE0-9A407DB0BA51?api-version=2020-04-01-preview pragma: - no-cache server: @@ -1816,12 +1816,12 @@ interactions: - --source-resource-id --name User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/BD24E3DD-EC7D-4DB2-A6FF-107AE5D3D624?api-version=2020-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/27FE0D3D-E6F7-4336-9CE0-9A407DB0BA51?api-version=2020-04-01-preview response: body: - string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/BD24E3DD-EC7D-4DB2-A6FF-107AE5D3D624?api-version=2020-04-01-preview","name":"bd24e3dd-ec7d-4db2-a6ff-107ae5d3d624","status":"Succeeded"}' + string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/27FE0D3D-E6F7-4336-9CE0-9A407DB0BA51?api-version=2020-04-01-preview","name":"27fe0d3d-e6f7-4336-9ce0-9a407db0ba51","status":"Succeeded"}' headers: cache-control: - no-cache @@ -1830,7 +1830,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:16:09 GMT + - Sat, 16 May 2020 15:07:15 GMT expires: - '-1' pragma: @@ -1865,7 +1865,7 @@ interactions: - --name --resource-group User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: DELETE @@ -1875,17 +1875,17 @@ interactions: string: '' headers: azure-asyncoperation: - - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/42387197-580E-43F4-B41B-36CECD8A9A3B?api-version=2020-04-01-preview + - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/40746C63-423D-4DC8-A43D-A655E45E725D?api-version=2020-04-01-preview cache-control: - no-cache content-length: - '0' date: - - Thu, 19 Mar 2020 06:16:10 GMT + - Sat, 16 May 2020 15:07:17 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationResults/42387197-580E-43F4-B41B-36CECD8A9A3B?api-version=2020-04-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationResults/40746C63-423D-4DC8-A43D-A655E45E725D?api-version=2020-04-01-preview pragma: - no-cache server: @@ -1914,12 +1914,12 @@ interactions: - --name --resource-group User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/42387197-580E-43F4-B41B-36CECD8A9A3B?api-version=2020-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/40746C63-423D-4DC8-A43D-A655E45E725D?api-version=2020-04-01-preview response: body: - string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/42387197-580E-43F4-B41B-36CECD8A9A3B?api-version=2020-04-01-preview","name":"42387197-580e-43f4-b41b-36cecd8a9a3b","status":"Succeeded"}' + string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/40746C63-423D-4DC8-A43D-A655E45E725D?api-version=2020-04-01-preview","name":"40746c63-423d-4dc8-a43d-a655e45e725d","status":"Succeeded"}' headers: cache-control: - no-cache @@ -1928,7 +1928,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:16:21 GMT + - Sat, 16 May 2020 15:07:27 GMT expires: - '-1' pragma: diff --git a/src/eventgrid/azext_eventgrid/tests/latest/recordings/test_private_link.yaml b/src/eventgrid/azext_eventgrid/tests/latest/recordings/test_private_link.yaml index 8e2347f1a2f..a803b2e2260 100644 --- a/src/eventgrid/azext_eventgrid/tests/latest/recordings/test_private_link.yaml +++ b/src/eventgrid/azext_eventgrid/tests/latest/recordings/test_private_link.yaml @@ -19,18 +19,18 @@ interactions: - --resource-group --location --name --address-prefix User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-network/10.1.0 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Network/virtualNetworks/cli000002?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Network/virtualNetworks/cli000002?api-version=2020-03-01 response: body: string: "{\r\n \"name\": \"cli000002\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Network/virtualNetworks/cli000002\",\r\n - \ \"etag\": \"W/\\\"0b6d6ff0-2640-4187-8a29-28262dbb299a\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"0d3be906-4c06-4996-a358-86afaf166d2e\\\"\",\r\n \"type\": \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"centraluseuap\",\r\n \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n - \ \"resourceGuid\": \"0ffddb85-6bf0-44a5-b286-37cabed98aaf\",\r\n \"addressSpace\": + \ \"resourceGuid\": \"fdccdf2e-2548-4941-b51c-ad3af318762e\",\r\n \"addressSpace\": {\r\n \"addressPrefixes\": [\r\n \"10.0.0.0/16\"\r\n ]\r\n \ },\r\n \"dhcpOptions\": {\r\n \"dnsServers\": []\r\n },\r\n \ \"subnets\": [],\r\n \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\": @@ -39,7 +39,7 @@ interactions: azure-asyncnotification: - Enabled azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/centraluseuap/operations/74e25d5c-938d-462d-8c1a-8e577284840b?api-version=2019-11-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/centraluseuap/operations/f9874be2-4d93-47bb-a576-1f88b2324c36?api-version=2020-03-01 cache-control: - no-cache content-length: @@ -47,7 +47,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:14:25 GMT + - Sat, 16 May 2020 15:05:28 GMT expires: - '-1' pragma: @@ -60,9 +60,9 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - ed82fbf2-948f-4187-9b7e-570e216b7e8d + - 80a7d790-356d-432d-8aac-f9901dd92186 x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1199' status: code: 201 message: Created @@ -81,9 +81,9 @@ interactions: - --resource-group --location --name --address-prefix User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-network/10.1.0 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/centraluseuap/operations/74e25d5c-938d-462d-8c1a-8e577284840b?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/centraluseuap/operations/f9874be2-4d93-47bb-a576-1f88b2324c36?api-version=2020-03-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -95,7 +95,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:14:28 GMT + - Sat, 16 May 2020 15:05:32 GMT expires: - '-1' pragma: @@ -112,7 +112,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 1155ef22-dbca-4555-88bc-4c146e72f4a8 + - c37a95d4-f9e7-4a0a-a38a-087495367265 status: code: 200 message: OK @@ -131,16 +131,16 @@ interactions: - --resource-group --location --name --address-prefix User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-network/10.1.0 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Network/virtualNetworks/cli000002?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Network/virtualNetworks/cli000002?api-version=2020-03-01 response: body: string: "{\r\n \"name\": \"cli000002\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Network/virtualNetworks/cli000002\",\r\n - \ \"etag\": \"W/\\\"bbdc65e1-82e7-4167-896a-e66454e3492c\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"824b3346-d3a2-4215-be54-2cba1ef69c4a\\\"\",\r\n \"type\": \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"centraluseuap\",\r\n \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"resourceGuid\": \"0ffddb85-6bf0-44a5-b286-37cabed98aaf\",\r\n \"addressSpace\": + \ \"resourceGuid\": \"fdccdf2e-2548-4941-b51c-ad3af318762e\",\r\n \"addressSpace\": {\r\n \"addressPrefixes\": [\r\n \"10.0.0.0/16\"\r\n ]\r\n \ },\r\n \"dhcpOptions\": {\r\n \"dnsServers\": []\r\n },\r\n \ \"subnets\": [],\r\n \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\": @@ -153,9 +153,9 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:14:28 GMT + - Sat, 16 May 2020 15:05:32 GMT etag: - - W/"bbdc65e1-82e7-4167-896a-e66454e3492c" + - W/"824b3346-d3a2-4215-be54-2cba1ef69c4a" expires: - '-1' pragma: @@ -172,7 +172,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 6832688e-b62f-43e9-8737-a4e2deddf876 + - 611a6b6a-d168-45c7-befc-79558565be8f status: code: 200 message: OK @@ -191,18 +191,18 @@ interactions: - --resource-group --vnet-name --name --address-prefixes User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-network/10.1.0 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Network/virtualNetworks/cli000002?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Network/virtualNetworks/cli000002?api-version=2020-03-01 response: body: string: "{\r\n \"name\": \"cli000002\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Network/virtualNetworks/cli000002\",\r\n - \ \"etag\": \"W/\\\"bbdc65e1-82e7-4167-896a-e66454e3492c\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"824b3346-d3a2-4215-be54-2cba1ef69c4a\\\"\",\r\n \"type\": \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"centraluseuap\",\r\n \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"resourceGuid\": \"0ffddb85-6bf0-44a5-b286-37cabed98aaf\",\r\n \"addressSpace\": + \ \"resourceGuid\": \"fdccdf2e-2548-4941-b51c-ad3af318762e\",\r\n \"addressSpace\": {\r\n \"addressPrefixes\": [\r\n \"10.0.0.0/16\"\r\n ]\r\n \ },\r\n \"dhcpOptions\": {\r\n \"dnsServers\": []\r\n },\r\n \ \"subnets\": [],\r\n \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\": @@ -215,9 +215,9 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:14:29 GMT + - Sat, 16 May 2020 15:05:32 GMT etag: - - W/"bbdc65e1-82e7-4167-896a-e66454e3492c" + - W/"824b3346-d3a2-4215-be54-2cba1ef69c4a" expires: - '-1' pragma: @@ -234,7 +234,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - d7146891-334f-4983-9a52-082b651fe5cf + - 8905b9c4-8b91-4578-8b77-7ba3ef69b033 status: code: 200 message: OK @@ -261,23 +261,23 @@ interactions: - --resource-group --vnet-name --name --address-prefixes User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-network/10.1.0 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Network/virtualNetworks/cli000002?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Network/virtualNetworks/cli000002?api-version=2020-03-01 response: body: string: "{\r\n \"name\": \"cli000002\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Network/virtualNetworks/cli000002\",\r\n - \ \"etag\": \"W/\\\"2179e55d-2279-4946-a172-f35f774fe3b3\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"b37049b9-4075-4939-9aff-db127a4e98cb\\\"\",\r\n \"type\": \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"centraluseuap\",\r\n \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n - \ \"resourceGuid\": \"0ffddb85-6bf0-44a5-b286-37cabed98aaf\",\r\n \"addressSpace\": + \ \"resourceGuid\": \"fdccdf2e-2548-4941-b51c-ad3af318762e\",\r\n \"addressSpace\": {\r\n \"addressPrefixes\": [\r\n \"10.0.0.0/16\"\r\n ]\r\n \ },\r\n \"dhcpOptions\": {\r\n \"dnsServers\": []\r\n },\r\n \ \"subnets\": [\r\n {\r\n \"name\": \"cli000003\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Network/virtualNetworks/cli000002/subnets/cli000003\",\r\n - \ \"etag\": \"W/\\\"2179e55d-2279-4946-a172-f35f774fe3b3\\\"\",\r\n + \ \"etag\": \"W/\\\"b37049b9-4075-4939-9aff-db127a4e98cb\\\"\",\r\n \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \ \"addressPrefix\": \"10.0.0.0/24\",\r\n \"delegations\": [],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n \"privateLinkServiceNetworkPolicies\": @@ -286,7 +286,7 @@ interactions: false,\r\n \"enableVmProtection\": false\r\n }\r\n}" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/centraluseuap/operations/03accfed-cbce-4535-bed5-6670e6d52b4d?api-version=2019-11-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/centraluseuap/operations/a86fdcb1-5969-4003-b930-2ba8560a60ac?api-version=2020-03-01 cache-control: - no-cache content-length: @@ -294,7 +294,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:14:30 GMT + - Sat, 16 May 2020 15:05:33 GMT expires: - '-1' pragma: @@ -311,7 +311,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 506feaf1-330d-492c-9cd6-d34ca46e8015 + - b7086355-fdf4-4f00-856c-7fd3348651c1 x-ms-ratelimit-remaining-subscription-writes: - '1199' status: @@ -332,9 +332,9 @@ interactions: - --resource-group --vnet-name --name --address-prefixes User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-network/10.1.0 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/centraluseuap/operations/03accfed-cbce-4535-bed5-6670e6d52b4d?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/centraluseuap/operations/a86fdcb1-5969-4003-b930-2ba8560a60ac?api-version=2020-03-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -346,7 +346,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:14:34 GMT + - Sat, 16 May 2020 15:05:37 GMT expires: - '-1' pragma: @@ -363,7 +363,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 0256f4e1-1729-4ca2-9325-526da8f5bdf9 + - be1c7b25-5d0e-4ae5-9bb2-dba4a8f7a468 status: code: 200 message: OK @@ -382,21 +382,21 @@ interactions: - --resource-group --vnet-name --name --address-prefixes User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-network/10.1.0 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Network/virtualNetworks/cli000002?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Network/virtualNetworks/cli000002?api-version=2020-03-01 response: body: string: "{\r\n \"name\": \"cli000002\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Network/virtualNetworks/cli000002\",\r\n - \ \"etag\": \"W/\\\"76200aee-ffc6-4754-8d48-3c7d31b8bb3d\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"73446b28-a421-48ba-b0d6-b0774e1d508a\\\"\",\r\n \"type\": \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"centraluseuap\",\r\n \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"resourceGuid\": \"0ffddb85-6bf0-44a5-b286-37cabed98aaf\",\r\n \"addressSpace\": + \ \"resourceGuid\": \"fdccdf2e-2548-4941-b51c-ad3af318762e\",\r\n \"addressSpace\": {\r\n \"addressPrefixes\": [\r\n \"10.0.0.0/16\"\r\n ]\r\n \ },\r\n \"dhcpOptions\": {\r\n \"dnsServers\": []\r\n },\r\n \ \"subnets\": [\r\n {\r\n \"name\": \"cli000003\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Network/virtualNetworks/cli000002/subnets/cli000003\",\r\n - \ \"etag\": \"W/\\\"76200aee-ffc6-4754-8d48-3c7d31b8bb3d\\\"\",\r\n + \ \"etag\": \"W/\\\"73446b28-a421-48ba-b0d6-b0774e1d508a\\\"\",\r\n \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \ \"addressPrefix\": \"10.0.0.0/24\",\r\n \"delegations\": [],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n \"privateLinkServiceNetworkPolicies\": @@ -407,13 +407,689 @@ interactions: cache-control: - no-cache content-length: - - '1383' + - '1383' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 16 May 2020 15:05:37 GMT + etag: + - W/"73446b28-a421-48ba-b0d6-b0774e1d508a" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 1bdc14b0-d04e-42f8-b431-29b3c5951e67 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet subnet update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --vnet-name --name --disable-private-endpoint-network-policies + User-Agent: + - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-network/10.1.0 Azure-SDK-For-Python AZURECLI/2.5.1 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Network/virtualNetworks/cli000002/subnets/cli000003?api-version=2020-03-01 + response: + body: + string: "{\r\n \"name\": \"cli000003\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Network/virtualNetworks/cli000002/subnets/cli000003\",\r\n + \ \"etag\": \"W/\\\"73446b28-a421-48ba-b0d6-b0774e1d508a\\\"\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Succeeded\",\r\n \"addressPrefix\": \"10.0.0.0/24\",\r\n + \ \"delegations\": [],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n + \ \"privateLinkServiceNetworkPolicies\": \"Enabled\"\r\n },\r\n \"type\": + \"Microsoft.Network/virtualNetworks/subnets\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '560' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 16 May 2020 15:05:38 GMT + etag: + - W/"73446b28-a421-48ba-b0d6-b0774e1d508a" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - e135b877-17f3-405a-a479-ef1139bd638f + status: + code: 200 + message: OK +- request: + body: '{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Network/virtualNetworks/cli000002/subnets/cli000003", + "properties": {"addressPrefix": "10.0.0.0/24", "delegations": [], "privateEndpointNetworkPolicies": + "Disabled", "privateLinkServiceNetworkPolicies": "Enabled"}, "name": "cli000003"}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet subnet update + Connection: + - keep-alive + Content-Length: + - '372' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - --resource-group --vnet-name --name --disable-private-endpoint-network-policies + User-Agent: + - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-network/10.1.0 Azure-SDK-For-Python AZURECLI/2.5.1 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Network/virtualNetworks/cli000002/subnets/cli000003?api-version=2020-03-01 + response: + body: + string: "{\r\n \"name\": \"cli000003\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Network/virtualNetworks/cli000002/subnets/cli000003\",\r\n + \ \"etag\": \"W/\\\"d4867661-a3c3-4141-b6e9-c3462ea7d8b3\\\"\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Updating\",\r\n \"addressPrefix\": \"10.0.0.0/24\",\r\n + \ \"delegations\": [],\r\n \"privateEndpointNetworkPolicies\": \"Disabled\",\r\n + \ \"privateLinkServiceNetworkPolicies\": \"Enabled\"\r\n },\r\n \"type\": + \"Microsoft.Network/virtualNetworks/subnets\"\r\n}" + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/centraluseuap/operations/14801af5-192c-4cce-81a7-cce0a43b0bc3?api-version=2020-03-01 + cache-control: + - no-cache + content-length: + - '560' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 16 May 2020 15:05:38 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 3443055d-7949-421a-9e22-1466057682e4 + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet subnet update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --vnet-name --name --disable-private-endpoint-network-policies + User-Agent: + - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-network/10.1.0 Azure-SDK-For-Python AZURECLI/2.5.1 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/centraluseuap/operations/14801af5-192c-4cce-81a7-cce0a43b0bc3?api-version=2020-03-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 16 May 2020 15:05:42 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 5a6522e4-b4e3-4b39-9e28-c0aa0558d250 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet subnet update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --vnet-name --name --disable-private-endpoint-network-policies + User-Agent: + - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-network/10.1.0 Azure-SDK-For-Python AZURECLI/2.5.1 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/centraluseuap/operations/14801af5-192c-4cce-81a7-cce0a43b0bc3?api-version=2020-03-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 16 May 2020 15:05:52 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 5b88ea99-3739-42c3-af88-1cfaf85a8402 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet subnet update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --vnet-name --name --disable-private-endpoint-network-policies + User-Agent: + - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-network/10.1.0 Azure-SDK-For-Python AZURECLI/2.5.1 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/centraluseuap/operations/14801af5-192c-4cce-81a7-cce0a43b0bc3?api-version=2020-03-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 16 May 2020 15:06:02 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 9559d364-7550-41a8-b38d-e0a08d29b1be + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet subnet update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --vnet-name --name --disable-private-endpoint-network-policies + User-Agent: + - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-network/10.1.0 Azure-SDK-For-Python AZURECLI/2.5.1 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/centraluseuap/operations/14801af5-192c-4cce-81a7-cce0a43b0bc3?api-version=2020-03-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 16 May 2020 15:06:12 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 244b0418-fac9-45cf-b942-2d49b2db4655 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet subnet update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --vnet-name --name --disable-private-endpoint-network-policies + User-Agent: + - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-network/10.1.0 Azure-SDK-For-Python AZURECLI/2.5.1 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/centraluseuap/operations/14801af5-192c-4cce-81a7-cce0a43b0bc3?api-version=2020-03-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 16 May 2020 15:06:23 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 1ca8eda5-eb70-47f3-8c0d-653d0d2d0ba7 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet subnet update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --vnet-name --name --disable-private-endpoint-network-policies + User-Agent: + - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-network/10.1.0 Azure-SDK-For-Python AZURECLI/2.5.1 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/centraluseuap/operations/14801af5-192c-4cce-81a7-cce0a43b0bc3?api-version=2020-03-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 16 May 2020 15:06:33 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 7049a91a-1f42-4df7-8ca0-bdf599833c79 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet subnet update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --vnet-name --name --disable-private-endpoint-network-policies + User-Agent: + - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-network/10.1.0 Azure-SDK-For-Python AZURECLI/2.5.1 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/centraluseuap/operations/14801af5-192c-4cce-81a7-cce0a43b0bc3?api-version=2020-03-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 16 May 2020 15:06:43 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - f8e1861e-6ed4-48db-9549-c3c26cc3580f + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet subnet update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --vnet-name --name --disable-private-endpoint-network-policies + User-Agent: + - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-network/10.1.0 Azure-SDK-For-Python AZURECLI/2.5.1 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/centraluseuap/operations/14801af5-192c-4cce-81a7-cce0a43b0bc3?api-version=2020-03-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 16 May 2020 15:06:53 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - d4fb0db0-e390-49f1-b885-a239cd5f77ce + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet subnet update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --vnet-name --name --disable-private-endpoint-network-policies + User-Agent: + - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-network/10.1.0 Azure-SDK-For-Python AZURECLI/2.5.1 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/centraluseuap/operations/14801af5-192c-4cce-81a7-cce0a43b0bc3?api-version=2020-03-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 16 May 2020 15:07:03 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 7f84c8ec-edd1-436e-a477-54bab6d87ce6 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet subnet update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --vnet-name --name --disable-private-endpoint-network-policies + User-Agent: + - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-network/10.1.0 Azure-SDK-For-Python AZURECLI/2.5.1 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/centraluseuap/operations/14801af5-192c-4cce-81a7-cce0a43b0bc3?api-version=2020-03-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 16 May 2020 15:07:13 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - be6278ac-bd62-43bf-9ea5-9b20fdc8ba9b + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet subnet update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --vnet-name --name --disable-private-endpoint-network-policies + User-Agent: + - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-network/10.1.0 Azure-SDK-For-Python AZURECLI/2.5.1 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/centraluseuap/operations/14801af5-192c-4cce-81a7-cce0a43b0bc3?api-version=2020-03-01 + response: + body: + string: "{\r\n \"status\": \"Succeeded\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '29' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:14:34 GMT - etag: - - W/"76200aee-ffc6-4754-8d48-3c7d31b8bb3d" + - Sat, 16 May 2020 15:07:23 GMT expires: - '-1' pragma: @@ -430,7 +1106,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - d8b29ef6-bd43-4d34-840c-c422eafc2c73 + - 79648d48-7572-44a7-9c3b-eec2eb2d1b8a status: code: 200 message: OK @@ -449,30 +1125,28 @@ interactions: - --resource-group --vnet-name --name --disable-private-endpoint-network-policies User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.1.0 - accept-language: - - en-US + azure-mgmt-network/10.1.0 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Network/virtualNetworks/cli000002/subnets/cli000003?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Network/virtualNetworks/cli000002/subnets/cli000003?api-version=2020-03-01 response: body: string: "{\r\n \"name\": \"cli000003\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Network/virtualNetworks/cli000002/subnets/cli000003\",\r\n - \ \"etag\": \"W/\\\"76200aee-ffc6-4754-8d48-3c7d31b8bb3d\\\"\",\r\n \"properties\": + \ \"etag\": \"W/\\\"2a8168e8-10a4-43d7-93fb-a9c65f714c25\\\"\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"addressPrefix\": \"10.0.0.0/24\",\r\n - \ \"delegations\": [],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n + \ \"delegations\": [],\r\n \"privateEndpointNetworkPolicies\": \"Disabled\",\r\n \ \"privateLinkServiceNetworkPolicies\": \"Enabled\"\r\n },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets\"\r\n}" headers: cache-control: - no-cache content-length: - - '560' + - '561' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:14:34 GMT + - Sat, 16 May 2020 15:07:23 GMT etag: - - W/"76200aee-ffc6-4754-8d48-3c7d31b8bb3d" + - W/"2a8168e8-10a4-43d7-93fb-a9c65f714c25" expires: - '-1' pragma: @@ -489,77 +1163,65 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - bf8341ad-8085-4421-b94c-c258dab76ec5 + - 9c2bb6a8-9a7f-476e-b5f6-3be55a958011 status: code: 200 message: OK - request: - body: '{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Network/virtualNetworks/cli000002/subnets/cli000003", - "properties": {"addressPrefix": "10.0.0.0/24", "delegations": [], "privateEndpointNetworkPolicies": - "Disabled", "privateLinkServiceNetworkPolicies": "Enabled"}, "name": "cli000003"}' + body: '{"location": "centraluseuap", "properties": {"inputSchema": "EventGridSchema", + "publicNetworkAccess": "disabled"}, "sku": {"name": "Basic"}, "identity": {"type": + "None"}}' headers: Accept: - application/json Accept-Encoding: - gzip, deflate CommandName: - - network vnet subnet update + - eventgrid topic create Connection: - keep-alive Content-Length: - - '372' + - '170' Content-Type: - application/json; charset=utf-8 ParameterSetName: - - --resource-group --vnet-name --name --disable-private-endpoint-network-policies + - --name --resource-group --location --public-network-access User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Network/virtualNetworks/cli000002/subnets/cli000003?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/topics/cli000006?api-version=2020-04-01-preview response: body: - string: "{\r\n \"name\": \"cli000003\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Network/virtualNetworks/cli000002/subnets/cli000003\",\r\n - \ \"etag\": \"W/\\\"d394fdf5-23d1-458b-941e-4ac06263a425\\\"\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Updating\",\r\n \"addressPrefix\": \"10.0.0.0/24\",\r\n - \ \"delegations\": [],\r\n \"privateEndpointNetworkPolicies\": \"Disabled\",\r\n - \ \"privateLinkServiceNetworkPolicies\": \"Enabled\"\r\n },\r\n \"type\": - \"Microsoft.Network/virtualNetworks/subnets\"\r\n}" + string: '{"properties":{"provisioningState":"Creating","endpoint":null,"inputSchema":"EventGridSchema","publicNetworkAccess":"Disabled"},"sku":{"name":"Basic"},"identity":{"type":"None","principalId":null,"tenantId":null,"userAssignedIdentities":null},"location":"centraluseuap","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/topics/cli000006","name":"cli000006","type":"Microsoft.EventGrid/topics"}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/centraluseuap/operations/58871dce-51fb-4456-9ebb-f061515cfdc6?api-version=2019-11-01 + - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/40556389-F75D-4ABA-ADAC-DEF0B91440AF?api-version=2020-04-01-preview cache-control: - no-cache content-length: - - '560' + - '596' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:14:36 GMT + - Sat, 16 May 2020 15:07:25 GMT expires: - '-1' pragma: - no-cache server: - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 strict-transport-security: - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding x-content-type-options: - nosniff - x-ms-arm-service-request-id: - - 810d7c43-0fc1-4952-8889-74f4d0b06941 x-ms-ratelimit-remaining-subscription-writes: - '1199' status: - code: 200 - message: OK + code: 201 + message: Created - request: body: null headers: @@ -568,35 +1230,34 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - network vnet subnet update + - eventgrid topic create Connection: - keep-alive ParameterSetName: - - --resource-group --vnet-name --name --disable-private-endpoint-network-policies + - --name --resource-group --location --public-network-access User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/centraluseuap/operations/58871dce-51fb-4456-9ebb-f061515cfdc6?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/40556389-F75D-4ABA-ADAC-DEF0B91440AF?api-version=2020-04-01-preview response: body: - string: "{\r\n \"status\": \"Succeeded\"\r\n}" + string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/40556389-F75D-4ABA-ADAC-DEF0B91440AF?api-version=2020-04-01-preview","name":"40556389-f75d-4aba-adac-def0b91440af","status":"Succeeded"}' headers: cache-control: - no-cache content-length: - - '29' + - '294' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:14:39 GMT + - Sat, 16 May 2020 15:07:35 GMT expires: - '-1' pragma: - no-cache server: - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 strict-transport-security: - max-age=31536000; includeSubDomains transfer-encoding: @@ -605,8 +1266,6 @@ interactions: - Accept-Encoding x-content-type-options: - nosniff - x-ms-arm-service-request-id: - - 49b57d97-232c-454b-b7a7-e53a438bc97c status: code: 200 message: OK @@ -618,42 +1277,34 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - network vnet subnet update + - eventgrid topic create Connection: - keep-alive ParameterSetName: - - --resource-group --vnet-name --name --disable-private-endpoint-network-policies + - --name --resource-group --location --public-network-access User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Network/virtualNetworks/cli000002/subnets/cli000003?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/topics/cli000006?api-version=2020-04-01-preview response: body: - string: "{\r\n \"name\": \"cli000003\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Network/virtualNetworks/cli000002/subnets/cli000003\",\r\n - \ \"etag\": \"W/\\\"9443df3c-09c3-47e4-9cac-3256c9270448\\\"\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Succeeded\",\r\n \"addressPrefix\": \"10.0.0.0/24\",\r\n - \ \"delegations\": [],\r\n \"privateEndpointNetworkPolicies\": \"Disabled\",\r\n - \ \"privateLinkServiceNetworkPolicies\": \"Enabled\"\r\n },\r\n \"type\": - \"Microsoft.Network/virtualNetworks/subnets\"\r\n}" + string: '{"properties":{"provisioningState":"Succeeded","endpoint":"https://cli000006.centraluseuap-1.eventgrid.azure.net/api/events","inputSchema":"EventGridSchema","metricResourceId":"34694e0b-c2f7-4e76-94a0-37e519318eb3","publicNetworkAccess":"Disabled"},"sku":{"name":"Basic"},"identity":{"type":"None","principalId":null,"tenantId":null,"userAssignedIdentities":null},"location":"centraluseuap","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/topics/cli000006","name":"cli000006","type":"Microsoft.EventGrid/topics"}' headers: cache-control: - no-cache content-length: - - '561' + - '748' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:14:39 GMT - etag: - - W/"9443df3c-09c3-47e4-9cac-3256c9270448" + - Sat, 16 May 2020 15:07:36 GMT expires: - '-1' pragma: - no-cache server: - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 strict-transport-security: - max-age=31536000; includeSubDomains transfer-encoding: @@ -662,14 +1313,13 @@ interactions: - Accept-Encoding x-content-type-options: - nosniff - x-ms-arm-service-request-id: - - a2ca045f-416a-4c4f-aa90-9b3a9e4bec5a status: code: 200 message: OK - request: body: '{"location": "centraluseuap", "properties": {"inputSchema": "EventGridSchema", - "publicNetworkAccess": "disabled"}, "sku": {"name": "Premium"}}' + "publicNetworkAccess": "disabled"}, "sku": {"name": "Basic"}, "identity": {"type": + "None"}}' headers: Accept: - application/json @@ -680,32 +1330,32 @@ interactions: Connection: - keep-alive Content-Length: - - '142' + - '170' Content-Type: - application/json; charset=utf-8 ParameterSetName: - - --name --resource-group --location --sku --public-network-access + - --name --resource-group --location --public-network-access User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/topics/cli000006?api-version=2020-04-01-preview response: body: - string: '{"properties":{"provisioningState":"Creating","endpoint":null,"inputSchema":"EventGridSchema","publicNetworkAccess":"Disabled"},"sku":{"name":"Premium"},"location":"centraluseuap","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/topics/cli000006","name":"cli000006","type":"Microsoft.EventGrid/topics"}' + string: '{"properties":{"provisioningState":"Updating","endpoint":null,"inputSchema":"EventGridSchema","publicNetworkAccess":"Disabled"},"sku":{"name":"Basic"},"identity":{"type":"None","principalId":null,"tenantId":null,"userAssignedIdentities":null},"location":"centraluseuap","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/topics/cli000006","name":"cli000006","type":"Microsoft.EventGrid/topics"}' headers: azure-asyncoperation: - - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/C7FA2C4A-55D4-488F-AF37-7CB880E915CB?api-version=2020-04-01-preview + - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/A91EF0E6-E080-49B8-B99C-69DAA6E05B0D?api-version=2020-04-01-preview cache-control: - no-cache content-length: - - '506' + - '596' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:14:41 GMT + - Sat, 16 May 2020 15:07:37 GMT expires: - '-1' pragma: @@ -733,15 +1383,15 @@ interactions: Connection: - keep-alive ParameterSetName: - - --name --resource-group --location --sku --public-network-access + - --name --resource-group --location --public-network-access User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/C7FA2C4A-55D4-488F-AF37-7CB880E915CB?api-version=2020-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/A91EF0E6-E080-49B8-B99C-69DAA6E05B0D?api-version=2020-04-01-preview response: body: - string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/C7FA2C4A-55D4-488F-AF37-7CB880E915CB?api-version=2020-04-01-preview","name":"c7fa2c4a-55d4-488f-af37-7cb880e915cb","status":"Succeeded"}' + string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/A91EF0E6-E080-49B8-B99C-69DAA6E05B0D?api-version=2020-04-01-preview","name":"a91ef0e6-e080-49b8-b99c-69daa6e05b0d","status":"Succeeded"}' headers: cache-control: - no-cache @@ -750,7 +1400,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:14:51 GMT + - Sat, 16 May 2020 15:07:48 GMT expires: - '-1' pragma: @@ -780,24 +1430,24 @@ interactions: Connection: - keep-alive ParameterSetName: - - --name --resource-group --location --sku --public-network-access + - --name --resource-group --location --public-network-access User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/topics/cli000006?api-version=2020-04-01-preview response: body: - string: '{"properties":{"provisioningState":"Succeeded","endpoint":"https://cli000006.centraluseuap-1.eventgrid.azure.net/api/events","inputSchema":"EventGridSchema","metricResourceId":"39f28493-5103-456e-b3d5-2b24ed833870","publicNetworkAccess":"Disabled"},"sku":{"name":"Premium"},"location":"centraluseuap","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/topics/cli000006","name":"cli000006","type":"Microsoft.EventGrid/topics"}' + string: '{"properties":{"provisioningState":"Succeeded","endpoint":"https://cli000006.centraluseuap-1.eventgrid.azure.net/api/events","inputSchema":"EventGridSchema","metricResourceId":"34694e0b-c2f7-4e76-94a0-37e519318eb3","publicNetworkAccess":"Disabled"},"sku":{"name":"Basic"},"identity":{"type":"None","principalId":null,"tenantId":null,"userAssignedIdentities":null},"location":"centraluseuap","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/topics/cli000006","name":"cli000006","type":"Microsoft.EventGrid/topics"}' headers: cache-control: - no-cache content-length: - - '658' + - '748' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:14:51 GMT + - Sat, 16 May 2020 15:07:48 GMT expires: - '-1' pragma: @@ -830,23 +1480,23 @@ interactions: - --name --resource-group User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/topics/cli000006?api-version=2020-04-01-preview response: body: - string: '{"properties":{"provisioningState":"Succeeded","endpoint":"https://cli000006.centraluseuap-1.eventgrid.azure.net/api/events","inputSchema":"EventGridSchema","metricResourceId":"39f28493-5103-456e-b3d5-2b24ed833870","publicNetworkAccess":"Disabled"},"sku":{"name":"Premium"},"location":"centraluseuap","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/topics/cli000006","name":"cli000006","type":"Microsoft.EventGrid/topics"}' + string: '{"properties":{"provisioningState":"Succeeded","endpoint":"https://cli000006.centraluseuap-1.eventgrid.azure.net/api/events","inputSchema":"EventGridSchema","metricResourceId":"34694e0b-c2f7-4e76-94a0-37e519318eb3","publicNetworkAccess":"Disabled"},"sku":{"name":"Basic"},"identity":{"type":"None","principalId":null,"tenantId":null,"userAssignedIdentities":null},"location":"centraluseuap","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/topics/cli000006","name":"cli000006","type":"Microsoft.EventGrid/topics"}' headers: cache-control: - no-cache content-length: - - '658' + - '748' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:14:53 GMT + - Sat, 16 May 2020 15:07:49 GMT expires: - '-1' pragma: @@ -886,20 +1536,20 @@ interactions: --location --group-ids --connection-name User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-network/10.1.0 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Network/privateEndpoints/cli000004?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Network/privateEndpoints/cli000004?api-version=2020-03-01 response: body: string: "{\r\n \"name\": \"cli000004\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Network/privateEndpoints/cli000004\",\r\n - \ \"etag\": \"W/\\\"1ba64662-3f8b-4027-bc4a-876548ae5391\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"6a7c10fd-4c70-4717-826c-fcdfe30f2e3b\\\"\",\r\n \"type\": \"Microsoft.Network/privateEndpoints\",\r\n \"location\": \"centraluseuap\",\r\n \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \"resourceGuid\": - \"b357791c-263d-4c1b-90bb-bc454be211de\",\r\n \"privateLinkServiceConnections\": + \"49d30ce8-c7c2-47fa-9537-a634c67069f1\",\r\n \"privateLinkServiceConnections\": [\r\n {\r\n \"name\": \"cli000005\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Network/privateEndpoints/cli000004/privateLinkServiceConnections/cli000005\",\r\n - \ \"etag\": \"W/\\\"1ba64662-3f8b-4027-bc4a-876548ae5391\\\"\",\r\n + \ \"etag\": \"W/\\\"6a7c10fd-4c70-4717-826c-fcdfe30f2e3b\\\"\",\r\n \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \ \"privateLinkServiceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/topics/cli000006\",\r\n \ \"groupIds\": [\r\n \"topic\"\r\n ],\r\n \"privateLinkServiceConnectionState\": @@ -908,21 +1558,21 @@ interactions: \ \"type\": \"Microsoft.Network/privateEndpoints/privateLinkServiceConnections\"\r\n \ }\r\n ],\r\n \"manualPrivateLinkServiceConnections\": [],\r\n \ \"subnet\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Network/virtualNetworks/cli000002/subnets/cli000003\"\r\n - \ },\r\n \"networkInterfaces\": [\r\n {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Network/networkInterfaces/cli000004.nic.6abdcc6e-5b6b-4905-854e-6fdd7311e1c3\"\r\n - \ }\r\n ]\r\n }\r\n}" + \ },\r\n \"networkInterfaces\": [\r\n {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Network/networkInterfaces/cli000004.nic.aa18fcb0-1493-4523-8789-20318490ba5a\"\r\n + \ }\r\n ],\r\n \"customDnsConfigs\": []\r\n }\r\n}" headers: azure-asyncnotification: - Enabled azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/centraluseuap/operations/6d4280d7-971b-4f85-8847-c4b190e6e3ed?api-version=2019-11-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/centraluseuap/operations/afbcf4db-a218-409c-a8d0-b209898b953d?api-version=2020-03-01 cache-control: - no-cache content-length: - - '2001' + - '2030' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:14:57 GMT + - Sat, 16 May 2020 15:07:54 GMT expires: - '-1' pragma: @@ -935,7 +1585,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 8cf99fc5-9544-4495-82ce-9f7f4f40b6cb + - ef95d854-5826-46eb-851f-d30a64ea3734 x-ms-ratelimit-remaining-subscription-writes: - '1199' status: @@ -957,9 +1607,9 @@ interactions: --location --group-ids --connection-name User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-network/10.1.0 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/centraluseuap/operations/6d4280d7-971b-4f85-8847-c4b190e6e3ed?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/centraluseuap/operations/afbcf4db-a218-409c-a8d0-b209898b953d?api-version=2020-03-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -971,7 +1621,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:07 GMT + - Sat, 16 May 2020 15:08:04 GMT expires: - '-1' pragma: @@ -988,7 +1638,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 17a8fce8-7624-455d-a45f-7ae66c246f00 + - f446b879-a1e8-4237-8bb3-cce01b66325a status: code: 200 message: OK @@ -1008,18 +1658,18 @@ interactions: --location --group-ids --connection-name User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-network/10.1.0 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Network/privateEndpoints/cli000004?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Network/privateEndpoints/cli000004?api-version=2020-03-01 response: body: string: "{\r\n \"name\": \"cli000004\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Network/privateEndpoints/cli000004\",\r\n - \ \"etag\": \"W/\\\"2163b692-467a-4f03-80c5-baa61a1e24c7\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"b6c6cca2-8634-4964-ab4a-4eb2dde0bec4\\\"\",\r\n \"type\": \"Microsoft.Network/privateEndpoints\",\r\n \"location\": \"centraluseuap\",\r\n \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"resourceGuid\": - \"b357791c-263d-4c1b-90bb-bc454be211de\",\r\n \"privateLinkServiceConnections\": + \"49d30ce8-c7c2-47fa-9537-a634c67069f1\",\r\n \"privateLinkServiceConnections\": [\r\n {\r\n \"name\": \"cli000005\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Network/privateEndpoints/cli000004/privateLinkServiceConnections/cli000005\",\r\n - \ \"etag\": \"W/\\\"2163b692-467a-4f03-80c5-baa61a1e24c7\\\"\",\r\n + \ \"etag\": \"W/\\\"b6c6cca2-8634-4964-ab4a-4eb2dde0bec4\\\"\",\r\n \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \ \"privateLinkServiceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/topics/cli000006\",\r\n \ \"groupIds\": [\r\n \"topic\"\r\n ],\r\n \"privateLinkServiceConnectionState\": @@ -1028,19 +1678,21 @@ interactions: \ },\r\n \"type\": \"Microsoft.Network/privateEndpoints/privateLinkServiceConnections\"\r\n \ }\r\n ],\r\n \"manualPrivateLinkServiceConnections\": [],\r\n \ \"subnet\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Network/virtualNetworks/cli000002/subnets/cli000003\"\r\n - \ },\r\n \"networkInterfaces\": [\r\n {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Network/networkInterfaces/cli000004.nic.6abdcc6e-5b6b-4905-854e-6fdd7311e1c3\"\r\n - \ }\r\n ]\r\n }\r\n}" + \ },\r\n \"networkInterfaces\": [\r\n {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Network/networkInterfaces/cli000004.nic.aa18fcb0-1493-4523-8789-20318490ba5a\"\r\n + \ }\r\n ],\r\n \"customDnsConfigs\": [\r\n {\r\n \"fqdn\": + \"cli000006.centraluseuap-1.eventgrid.azure.net\",\r\n \"ipAddresses\": + [\r\n \"10.0.0.4\"\r\n ]\r\n }\r\n ]\r\n }\r\n}" headers: cache-control: - no-cache content-length: - - '2015' + - '2224' content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:07 GMT + - Sat, 16 May 2020 15:08:04 GMT etag: - - W/"2163b692-467a-4f03-80c5-baa61a1e24c7" + - W/"b6c6cca2-8634-4964-ab4a-4eb2dde0bec4" expires: - '-1' pragma: @@ -1057,7 +1709,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 0d3bec35-7737-4ab3-b6d8-d076359bfff3 + - 72537dd2-683e-4ff5-9bd2-bd3421136a8d status: code: 200 message: OK @@ -1073,17 +1725,17 @@ interactions: Connection: - keep-alive ParameterSetName: - - --resource-group --name + - --resource-group --topic-name User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/topics/cli000006/privateEndpointConnections?api-version=2020-04-01-preview response: body: - string: '{"value":[{"properties":{"privateEndpoint":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Network/privateEndpoints/cli000004"},"groupIds":["topic"],"privateLinkServiceConnectionState":{"status":"Approved","description":"Auto-approved","actionsRequired":"None"},"provisioningState":"Succeeded"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/topics/cli000006/privateEndpointConnections/cli000004.b357791c-263d-4c1b-90bb-bc454be211de","name":"cli000004.b357791c-263d-4c1b-90bb-bc454be211de","type":"Microsoft.EventGrid/topics/privateEndpointConnections"}]}' + string: '{"value":[{"properties":{"privateEndpoint":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Network/privateEndpoints/cli000004"},"groupIds":["topic"],"privateLinkServiceConnectionState":{"status":"Approved","description":"Auto-approved","actionsRequired":"None"},"provisioningState":"Succeeded"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.EventGrid/topics/cli000006/privateEndpointConnections/cli000004.49d30ce8-c7c2-47fa-9537-a634c67069f1","name":"cli000004.49d30ce8-c7c2-47fa-9537-a634c67069f1","type":"Microsoft.EventGrid/topics/privateEndpointConnections"}]}' headers: cache-control: - no-cache @@ -1092,7 +1744,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:09 GMT + - Sat, 16 May 2020 15:08:05 GMT expires: - '-1' pragma: @@ -1122,10 +1774,10 @@ interactions: Connection: - keep-alive ParameterSetName: - - --resource-group --name + - --resource-group --topic-name User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET @@ -1142,7 +1794,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:15:09 GMT + - Sat, 16 May 2020 15:08:06 GMT expires: - '-1' pragma: @@ -1177,11 +1829,11 @@ interactions: - --resource-group --name User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-network/10.1.0 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Network/privateEndpoints/cli000004?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Network/privateEndpoints/cli000004?api-version=2020-03-01 response: body: string: '' @@ -1189,17 +1841,17 @@ interactions: azure-asyncnotification: - Enabled azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/centraluseuap/operations/f813d277-3628-4881-8da3-8ca302b7e594?api-version=2019-11-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/centraluseuap/operations/70b29508-84a8-4a90-aa46-6abacd085425?api-version=2020-03-01 cache-control: - no-cache content-length: - '0' date: - - Thu, 19 Mar 2020 06:15:10 GMT + - Sat, 16 May 2020 15:08:07 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/centraluseuap/operationResults/f813d277-3628-4881-8da3-8ca302b7e594?api-version=2019-11-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/centraluseuap/operationResults/70b29508-84a8-4a90-aa46-6abacd085425?api-version=2020-03-01 pragma: - no-cache server: @@ -1210,7 +1862,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 36c6df06-7c34-4c07-9d56-2fec3531216e + - f476267f-c5be-4c3a-9b16-92287c6a397d x-ms-ratelimit-remaining-subscription-deletes: - '14999' status: @@ -1231,209 +1883,9 @@ interactions: - --resource-group --name User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.1.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/centraluseuap/operations/f813d277-3628-4881-8da3-8ca302b7e594?api-version=2019-11-01 - response: - body: - string: "{\r\n \"status\": \"InProgress\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '30' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 19 Mar 2020 06:15:20 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-arm-service-request-id: - - 721c1ecf-a45c-4940-83da-813b90829983 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network private-endpoint delete - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name - User-Agent: - - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.1.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/centraluseuap/operations/f813d277-3628-4881-8da3-8ca302b7e594?api-version=2019-11-01 - response: - body: - string: "{\r\n \"status\": \"InProgress\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '30' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 19 Mar 2020 06:15:30 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-arm-service-request-id: - - e6e9b084-fb8c-4d5f-9222-510ddfe109a5 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network private-endpoint delete - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name - User-Agent: - - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.1.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/centraluseuap/operations/f813d277-3628-4881-8da3-8ca302b7e594?api-version=2019-11-01 - response: - body: - string: "{\r\n \"status\": \"InProgress\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '30' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 19 Mar 2020 06:15:40 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-arm-service-request-id: - - 484a632a-e509-4615-9bc8-d74eb545ee3a - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network private-endpoint delete - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name - User-Agent: - - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.1.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/centraluseuap/operations/f813d277-3628-4881-8da3-8ca302b7e594?api-version=2019-11-01 - response: - body: - string: "{\r\n \"status\": \"InProgress\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '30' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 19 Mar 2020 06:15:50 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-arm-service-request-id: - - dfd9ef8e-ba29-4021-b547-8a474181cb64 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network private-endpoint delete - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name - User-Agent: - - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-network/10.1.0 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/centraluseuap/operations/f813d277-3628-4881-8da3-8ca302b7e594?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/centraluseuap/operations/70b29508-84a8-4a90-aa46-6abacd085425?api-version=2020-03-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -1445,7 +1897,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:16:01 GMT + - Sat, 16 May 2020 15:08:17 GMT expires: - '-1' pragma: @@ -1462,7 +1914,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - ad6d886d-9c01-4940-906d-219df51e895e + - e5580b2d-1c44-401c-b7a5-afeb2c79c685 status: code: 200 message: OK @@ -1481,9 +1933,9 @@ interactions: - --resource-group --name User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-network/10.1.0 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/centraluseuap/operations/f813d277-3628-4881-8da3-8ca302b7e594?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/centraluseuap/operations/70b29508-84a8-4a90-aa46-6abacd085425?api-version=2020-03-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -1495,7 +1947,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:16:11 GMT + - Sat, 16 May 2020 15:08:27 GMT expires: - '-1' pragma: @@ -1512,7 +1964,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 643de3bd-8a5b-47f9-8100-8a143784dc7b + - 44c5cff5-9ad3-4a4b-9dfa-c99c9e1ccc82 status: code: 200 message: OK @@ -1531,9 +1983,9 @@ interactions: - --resource-group --name User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-network/10.1.0 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/centraluseuap/operations/f813d277-3628-4881-8da3-8ca302b7e594?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/centraluseuap/operations/70b29508-84a8-4a90-aa46-6abacd085425?api-version=2020-03-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -1545,7 +1997,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:16:21 GMT + - Sat, 16 May 2020 15:08:37 GMT expires: - '-1' pragma: @@ -1562,7 +2014,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 0d411cfb-f259-4d8c-b56a-a3bb623a5809 + - 53661485-aa5e-410e-b6cd-56b535da2234 status: code: 200 message: OK @@ -1581,9 +2033,9 @@ interactions: - --resource-group --name User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-network/10.1.0 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/centraluseuap/operations/f813d277-3628-4881-8da3-8ca302b7e594?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/centraluseuap/operations/70b29508-84a8-4a90-aa46-6abacd085425?api-version=2020-03-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -1595,7 +2047,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:16:31 GMT + - Sat, 16 May 2020 15:08:47 GMT expires: - '-1' pragma: @@ -1612,7 +2064,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 6038cd63-d161-4756-a353-143263e35dec + - 21ca961b-b7cf-4368-828e-d865fb67f64c status: code: 200 message: OK @@ -1631,9 +2083,9 @@ interactions: - --resource-group --name User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-network/10.1.0 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/centraluseuap/operations/f813d277-3628-4881-8da3-8ca302b7e594?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/centraluseuap/operations/70b29508-84a8-4a90-aa46-6abacd085425?api-version=2020-03-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -1645,7 +2097,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:16:41 GMT + - Sat, 16 May 2020 15:08:57 GMT expires: - '-1' pragma: @@ -1662,7 +2114,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 1cf11f15-e2da-404b-a0f7-20e7718ba963 + - 2eb52d74-2978-479e-b6f4-aadf1c1645ed status: code: 200 message: OK @@ -1681,9 +2133,9 @@ interactions: - --resource-group --name User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-network/10.1.0 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/centraluseuap/operations/f813d277-3628-4881-8da3-8ca302b7e594?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/centraluseuap/operations/70b29508-84a8-4a90-aa46-6abacd085425?api-version=2020-03-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -1695,7 +2147,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:16:51 GMT + - Sat, 16 May 2020 15:09:07 GMT expires: - '-1' pragma: @@ -1712,7 +2164,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 4c43146d-11b4-408a-bd51-8746b78ef9f5 + - bcd79b1c-7f46-488b-8b64-c6726f7fcb2d status: code: 200 message: OK @@ -1731,9 +2183,9 @@ interactions: - --resource-group --name User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-network/10.1.0 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/centraluseuap/operations/f813d277-3628-4881-8da3-8ca302b7e594?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/centraluseuap/operations/70b29508-84a8-4a90-aa46-6abacd085425?api-version=2020-03-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -1745,7 +2197,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:17:01 GMT + - Sat, 16 May 2020 15:09:18 GMT expires: - '-1' pragma: @@ -1762,7 +2214,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 60061694-fd8f-4dee-a292-1281ff0d5468 + - 608a4e85-0dd6-4d8a-b0e0-46d40338c8b2 status: code: 200 message: OK @@ -1781,9 +2233,9 @@ interactions: - --resource-group --name User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-network/10.1.0 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/centraluseuap/operations/f813d277-3628-4881-8da3-8ca302b7e594?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/centraluseuap/operations/70b29508-84a8-4a90-aa46-6abacd085425?api-version=2020-03-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -1795,7 +2247,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:17:11 GMT + - Sat, 16 May 2020 15:09:28 GMT expires: - '-1' pragma: @@ -1812,7 +2264,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 699f58f4-70b7-4615-b8e7-2238def2e006 + - 10685795-4a86-42bd-89f0-d6b274526cad status: code: 200 message: OK @@ -1831,9 +2283,9 @@ interactions: - --resource-group --name User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-network/10.1.0 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/centraluseuap/operations/f813d277-3628-4881-8da3-8ca302b7e594?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/centraluseuap/operations/70b29508-84a8-4a90-aa46-6abacd085425?api-version=2020-03-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -1845,7 +2297,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:17:21 GMT + - Sat, 16 May 2020 15:09:38 GMT expires: - '-1' pragma: @@ -1862,7 +2314,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 8554d2ea-ffad-443b-9964-070bcdf362c1 + - 9e52ecd4-7c5e-4b29-bca2-7a02c47fbcbe status: code: 200 message: OK @@ -1883,27 +2335,27 @@ interactions: - --resource-group --vnet-name --name User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-network/10.1.0 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Network/virtualNetworks/cli000002/subnets/cli000003?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Network/virtualNetworks/cli000002/subnets/cli000003?api-version=2020-03-01 response: body: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/centraluseuap/operations/d742b5fc-3aa8-4bb9-8ebb-86ca3226538f?api-version=2019-11-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/centraluseuap/operations/a7fc78de-d9e7-4c6c-953c-72e567ee20f4?api-version=2020-03-01 cache-control: - no-cache content-length: - '0' date: - - Thu, 19 Mar 2020 06:17:23 GMT + - Sat, 16 May 2020 15:09:40 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/centraluseuap/operationResults/d742b5fc-3aa8-4bb9-8ebb-86ca3226538f?api-version=2019-11-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/centraluseuap/operationResults/a7fc78de-d9e7-4c6c-953c-72e567ee20f4?api-version=2020-03-01 pragma: - no-cache server: @@ -1914,9 +2366,9 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 8f25c3e8-b474-4fdc-a9c5-7893e49b4562 + - 44a6f54b-1866-4ca5-a964-d8daebb9facd x-ms-ratelimit-remaining-subscription-deletes: - - '14998' + - '14999' status: code: 202 message: Accepted @@ -1935,9 +2387,9 @@ interactions: - --resource-group --vnet-name --name User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-network/10.1.0 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/centraluseuap/operations/d742b5fc-3aa8-4bb9-8ebb-86ca3226538f?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/centraluseuap/operations/a7fc78de-d9e7-4c6c-953c-72e567ee20f4?api-version=2020-03-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -1949,7 +2401,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:17:33 GMT + - Sat, 16 May 2020 15:09:50 GMT expires: - '-1' pragma: @@ -1966,7 +2418,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - edfd1905-166c-4c2b-90d9-3c1153d33270 + - 04529e05-6393-4b1c-b937-5b6051731d7a status: code: 200 message: OK @@ -1987,11 +2439,11 @@ interactions: - --resource-group --name User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-network/10.1.0 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Network/virtualNetworks/cli000002?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DevExpRg/providers/Microsoft.Network/virtualNetworks/cli000002?api-version=2020-03-01 response: body: string: '' @@ -1999,17 +2451,17 @@ interactions: azure-asyncnotification: - Enabled azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/centraluseuap/operations/29ae83dd-ae4a-4ab6-b38c-a4f990d1f8b4?api-version=2019-11-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/centraluseuap/operations/4dab1a08-0c26-4dfe-b645-3ecb830dd230?api-version=2020-03-01 cache-control: - no-cache content-length: - '0' date: - - Thu, 19 Mar 2020 06:17:35 GMT + - Sat, 16 May 2020 15:09:52 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/centraluseuap/operationResults/29ae83dd-ae4a-4ab6-b38c-a4f990d1f8b4?api-version=2019-11-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/centraluseuap/operationResults/4dab1a08-0c26-4dfe-b645-3ecb830dd230?api-version=2020-03-01 pragma: - no-cache server: @@ -2020,7 +2472,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 36dba807-3de3-4e04-ad41-9bfee5e21fb3 + - 3899a658-e240-45e6-8293-19d12b9ce27c x-ms-ratelimit-remaining-subscription-deletes: - '14999' status: @@ -2041,9 +2493,9 @@ interactions: - --resource-group --name User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-network/10.1.0 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/centraluseuap/operations/29ae83dd-ae4a-4ab6-b38c-a4f990d1f8b4?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/centraluseuap/operations/4dab1a08-0c26-4dfe-b645-3ecb830dd230?api-version=2020-03-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -2055,7 +2507,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:17:46 GMT + - Sat, 16 May 2020 15:10:03 GMT expires: - '-1' pragma: @@ -2072,7 +2524,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - cc68ecff-de29-4648-9b79-c84ed97291f4 + - 6a8f37b8-0b7c-4db1-a4ea-0612ad8db639 status: code: 200 message: OK @@ -2093,7 +2545,7 @@ interactions: - --name --resource-group User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: DELETE @@ -2103,17 +2555,17 @@ interactions: string: '' headers: azure-asyncoperation: - - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/F3447724-6247-4353-89B6-0E8E81D158C5?api-version=2020-04-01-preview + - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/931A7B22-B5C2-415B-95E2-51E2B5B06B89?api-version=2020-04-01-preview cache-control: - no-cache content-length: - '0' date: - - Thu, 19 Mar 2020 06:17:48 GMT + - Sat, 16 May 2020 15:10:04 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationResults/F3447724-6247-4353-89B6-0E8E81D158C5?api-version=2020-04-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationResults/931A7B22-B5C2-415B-95E2-51E2B5B06B89?api-version=2020-04-01-preview pragma: - no-cache server: @@ -2123,7 +2575,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-deletes: - - '14997' + - '14999' status: code: 202 message: Accepted @@ -2142,12 +2594,12 @@ interactions: - --name --resource-group User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-eventgrid/3.0.0rc4 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-eventgrid/3.0.0rc6 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/F3447724-6247-4353-89B6-0E8E81D158C5?api-version=2020-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/931A7B22-B5C2-415B-95E2-51E2B5B06B89?api-version=2020-04-01-preview response: body: - string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/F3447724-6247-4353-89B6-0E8E81D158C5?api-version=2020-04-01-preview","name":"f3447724-6247-4353-89b6-0e8e81d158c5","status":"Succeeded"}' + string: '{"id":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EventGrid/locations/centraluseuap/operationsStatus/931A7B22-B5C2-415B-95E2-51E2B5B06B89?api-version=2020-04-01-preview","name":"931a7b22-b5c2-415b-95e2-51e2b5b06b89","status":"Succeeded"}' headers: cache-control: - no-cache @@ -2156,7 +2608,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Mar 2020 06:17:59 GMT + - Sat, 16 May 2020 15:10:15 GMT expires: - '-1' pragma: diff --git a/src/eventgrid/azext_eventgrid/tests/latest/test_eventgrid_commands.py b/src/eventgrid/azext_eventgrid/tests/latest/test_eventgrid_commands.py index d635ddfcc6a..598f7d0bd44 100644 --- a/src/eventgrid/azext_eventgrid/tests/latest/test_eventgrid_commands.py +++ b/src/eventgrid/azext_eventgrid/tests/latest/test_eventgrid_commands.py @@ -9,6 +9,7 @@ from azure.cli.testsdk import ScenarioTest, ResourceGroupPreparer, StorageAccountPreparer from knack.util import CLIError +from datetime import datetime, timedelta class EventGridTests(ScenarioTest): @@ -32,6 +33,7 @@ def test_topic_types(self): @ResourceGroupPreparer() def test_create_domain(self, resource_group): + endpoint_url = 'https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid?functionName=EventGridTrigger1&code=' endpoint_baseurl = 'https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid' @@ -63,14 +65,20 @@ def test_create_domain(self, resource_group): self.check('name', self.kwargs['domain_name']), self.check('provisioningState', 'Succeeded'), self.check('sku', {'name': 'Basic'}), - self.check('identity', None) + self.check('identity.type', 'None'), + self.check('identity.userAssignedIdentities', None), + self.check('identity.principalId', None), + self.check('identity.tenantId', None), ]).get_output_in_json()['id'] self.cmd('az eventgrid domain show --name {domain_name} --resource-group {rg}', checks=[ self.check('type', 'Microsoft.EventGrid/domains'), self.check('name', self.kwargs['domain_name']), self.check('sku', {'name': 'Basic'}), - self.check('identity', None) + self.check('identity.type', 'None'), + self.check('identity.userAssignedIdentities', None), + self.check('identity.principalId', None), + self.check('identity.tenantId', None), ]) # Test various failure conditions @@ -87,7 +95,10 @@ def test_create_domain(self, resource_group): self.check('name', self.kwargs['domain_name2']), self.check('provisioningState', 'Succeeded'), self.check('sku', {'name': 'Basic'}), - self.check('identity', None) + self.check('identity.type', 'None'), + self.check('identity.userAssignedIdentities', None), + self.check('identity.principalId', None), + self.check('identity.tenantId', None), ]) # Comment this test until we fix service side bug. @@ -95,17 +106,20 @@ def test_create_domain(self, resource_group): # self.check('type', 'Microsoft.EventGrid/domains'), # self.check('name', self.kwargs['domain_name3']), # self.check('provisioningState', 'Succeeded'), - # self.check('identity', None) + # self.check('identity.type', 'None'), + # self.check('identity.userAssignedIdentities', None), + # self.check('identity.principalId', None), + # self.check('identity.tenantId', None), # ]) - outputdomain = self.cmd('az eventgrid domain create --name {domain_name4} --resource-group {rg} --location {location} --inbound-ip-rules 19.12.43.90/102 allow --inbound-ip-rules 19.12.43.70/81 allow --public-network-access disabled --sku preMIum --identity systemassigned').get_output_in_json() + outputdomain = self.cmd('az eventgrid domain create --name {domain_name4} --resource-group {rg} --location {location} --inbound-ip-rules 19.12.43.90/15 allow --inbound-ip-rules 19.12.43.70/11 allow --public-network-access disabled --identity systemassigned').get_output_in_json() self.check(outputdomain['type'], 'Microsoft.EventGrid/domains') self.check(outputdomain['name'], self.kwargs['domain_name4']) self.check(outputdomain['publicNetworkAccess'], 'Disabled') self.check(outputdomain['inboundIpRules'][0], '19.12.43.90/102') self.check(outputdomain['inboundIpRules'][1], '19.12.43.70/81') self.check(outputdomain['provisioningState'], 'Succeeded') - self.check(outputdomain['sku'], 'Premium') + self.check(outputdomain['sku'], 'Basic') self.check(outputdomain['publicNetworkAccess'], 'Disabled') self.check(outputdomain['identity'], 'SystemAssigned') @@ -124,10 +138,10 @@ def test_create_domain(self, resource_group): self.check('[0].provisioningState', 'Succeeded') ]) - self.cmd('az eventgrid domain update --name {domain_name4} --resource-group {rg} --tags Dept=Finance --sku PREmiuM --identity NoIDENTIty', checks=[ + self.cmd('az eventgrid domain update --name {domain_name4} --resource-group {rg} --tags Dept=Finance --identity NoIDENTIty', checks=[ self.check('name', self.kwargs['domain_name4']), self.check('tags', {'Dept': 'Finance'}), - self.check('sku', {'name': 'Premium'}), + self.check('sku', {'name': 'Basic'}), self.check('identity.type', 'None'), self.check('identity.userAssignedIdentities', None), self.check('identity.principalId', None), @@ -297,14 +311,20 @@ def test_create_topic(self, resource_group): self.check('name', self.kwargs['topic_name']), self.check('provisioningState', 'Succeeded'), self.check('sku', {'name': 'Basic'}), - self.check('identity', None) + self.check('identity.type', 'None'), + self.check('identity.userAssignedIdentities', None), + self.check('identity.principalId', None), + self.check('identity.tenantId', None), ]).get_output_in_json()['id'] self.cmd('az eventgrid topic show --name {topic_name} --resource-group {rg}', checks=[ self.check('type', 'Microsoft.EventGrid/topics'), self.check('name', self.kwargs['topic_name']), self.check('sku', {'name': 'Basic'}), - self.check('identity', None) + self.check('identity.type', 'None'), + self.check('identity.userAssignedIdentities', None), + self.check('identity.principalId', None), + self.check('identity.tenantId', None), ]) self.kwargs.update({ @@ -336,7 +356,7 @@ def test_create_topic(self, resource_group): # self.check('identity', None) # ]) - outputtopic = self.cmd('az eventgrid topic create --name {topic_name4} --resource-group {rg} --location {location} --public-network-access disabled --inbound-ip-rules 19.12.43.90/102 allow --inbound-ip-rules 19.12.43.70/81 allow --sku BASic --identity systemassigned').get_output_in_json() + outputtopic = self.cmd('az eventgrid topic create --name {topic_name4} --resource-group {rg} --location {location} --public-network-access disabled --inbound-ip-rules 19.12.43.90/12 allow --inbound-ip-rules 19.12.43.70/20 allow --sku BASic --identity systemassigned').get_output_in_json() self.check(outputtopic['type'], 'Microsoft.EventGrid/topics') self.check(outputtopic['name'], self.kwargs['topic_name4']) self.check(outputtopic['publicNetworkAccess'], 'Disabled') @@ -346,10 +366,10 @@ def test_create_topic(self, resource_group): self.check(outputtopic['sku'], 'Basic') self.check(outputtopic['identity'], 'SystemAssigned') - self.cmd('az eventgrid topic update --name {topic_name4} --resource-group {rg} --tags Dept=IT --sku PREMIUm', checks=[ + self.cmd('az eventgrid topic update --name {topic_name4} --resource-group {rg} --tags Dept=IT', checks=[ self.check('name', self.kwargs['topic_name4']), self.check('tags', {'Dept': 'IT'}), - self.check('sku', {'name': 'Premium'}), + self.check('sku', {'name': 'Basic'}), self.check('identity.type', 'SystemAssigned'), self.check('type', 'Microsoft.EventGrid/topics'), self.check('publicNetworkAccess', 'Disabled'), @@ -462,13 +482,13 @@ def test_create_system_topic(self, resource_group): 'endpoint_baseurl': endpoint_baseurl }) - scope = self.cmd('az eventgrid system-topic create --name {system_topic_name} --resource-group {rg} --location {location} --topic-type microsoft.storage.storageaccounts --source /subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/testtobedeleted/providers/Microsoft.Storage/storageAccounts/trackedsource2stg', checks=[ + scope = self.cmd('az eventgrid system-topic create --name {system_topic_name} --resource-group devexprg --location {location} --topic-type microsoft.storage.storageaccounts --source /subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/devexprg/providers/Microsoft.Storage/storageAccounts/clistgaccount', checks=[ self.check('type', 'Microsoft.EventGrid/systemTopics'), self.check('name', self.kwargs['system_topic_name']), self.check('provisioningState', 'Succeeded') ]).get_output_in_json()['id'] - self.cmd('az eventgrid system-topic show --name {system_topic_name} --resource-group {rg}', checks=[ + self.cmd('az eventgrid system-topic show --name {system_topic_name} --resource-group devexprg', checks=[ self.check('type', 'Microsoft.EventGrid/systemTopics'), self.check('name', self.kwargs['system_topic_name']) ]) @@ -477,53 +497,59 @@ def test_create_system_topic(self, resource_group): 'scope': scope, }) - self.cmd('az eventgrid system-topic update --name {system_topic_name} --resource-group {rg} --tags Dept=IT', checks=[ + self.cmd('az eventgrid system-topic update --name {system_topic_name} --resource-group devexprg --tags Dept=IT', checks=[ self.check('name', self.kwargs['system_topic_name']), self.check('tags', {'Dept': 'IT'}), self.check('type', 'Microsoft.EventGrid/systemTopics'), self.check('provisioningState', 'Succeeded') ]) - self.cmd('az eventgrid system-topic list --resource-group {rg}', checks=[ + self.cmd('az eventgrid system-topic list --resource-group devexprg', checks=[ self.check('[0].type', 'Microsoft.EventGrid/systemTopics') ]) - self.cmd('az eventgrid system-topic list --resource-group {rg} --odata-query "name eq \'{system_topic_name}\'"', checks=[ + self.cmd('az eventgrid system-topic list --resource-group devexprg', checks=[ self.check('[0].type', 'Microsoft.EventGrid/systemTopics'), self.check('[0].name', self.kwargs['system_topic_name']), ]) - self.cmd('az eventgrid system-topic event-subscription create --resource-group {rg} --system-topic-name {system_topic_name} --name {event_subscription_name} --endpoint \"{endpoint_url}\" --endpoint-type webhook', checks=[ + # Disable until service fix is availabler + # self.cmd('az eventgrid system-topic list --resource-group devexprg --odata-query "name eq \'{system_topic_name}\'"', checks=[ + # self.check('[0].type', 'Microsoft.EventGrid/systemTopics'), + # self.check('[0].name', self.kwargs['system_topic_name']), + # ]) + + self.cmd('az eventgrid system-topic event-subscription create --resource-group devexprg --system-topic-name {system_topic_name} --name {event_subscription_name} --endpoint \"{endpoint_url}\" --endpoint-type webhook', checks=[ self.check('type', 'Microsoft.EventGrid/systemTopics/eventSubscriptions'), self.check('provisioningState', 'Succeeded'), self.check('name', self.kwargs['event_subscription_name']), self.check('destination.endpointBaseUrl', self.kwargs['endpoint_baseurl']) ]) - self.cmd('az eventgrid system-topic event-subscription create --resource-group {rg} --system-topic-name {system_topic_name} --name {event_subscription_name} --endpoint \"{endpoint_url}\" --endpoint-type webhook --labels label_1 label_2', checks=[ + self.cmd('az eventgrid system-topic event-subscription create --resource-group devexprg --system-topic-name {system_topic_name} --name {event_subscription_name} --endpoint \"{endpoint_url}\" --endpoint-type webhook --labels label_1 label_2', checks=[ self.check('type', 'Microsoft.EventGrid/systemTopics/eventSubscriptions'), self.check('provisioningState', 'Succeeded'), self.check('name', self.kwargs['event_subscription_name']) ]) - self.cmd('az eventgrid system-topic event-subscription show --resource-group {rg} --system-topic-name {system_topic_name} --name {event_subscription_name} --include-full-endpoint-url', checks=[ + self.cmd('az eventgrid system-topic event-subscription show --resource-group devexprg --system-topic-name {system_topic_name} --name {event_subscription_name} --include-full-endpoint-url', checks=[ self.check('destination.endpointUrl', self.kwargs['endpoint_url']), self.check('destination.endpointBaseUrl', self.kwargs['endpoint_baseurl']) ]) - self.cmd('az eventgrid system-topic event-subscription show --resource-group {rg} --system-topic-name {system_topic_name} --name {event_subscription_name}', checks=[ + self.cmd('az eventgrid system-topic event-subscription show --resource-group devexprg --system-topic-name {system_topic_name} --name {event_subscription_name}', checks=[ self.check('destination.endpointUrl', None), self.check('destination.endpointBaseUrl', self.kwargs['endpoint_baseurl']) ]) - self.cmd('az eventgrid system-topic event-subscription update -g {rg} --system-topic-name {system_topic_name} -n {event_subscription_name} --endpoint \"{endpoint_url}\" --endpoint-type webhook --labels label11 label22', checks=[ + self.cmd('az eventgrid system-topic event-subscription update -g devexprg --system-topic-name {system_topic_name} -n {event_subscription_name} --endpoint \"{endpoint_url}\" --endpoint-type webhook --labels label11 label22', checks=[ self.check('type', 'Microsoft.EventGrid/systemTopics/eventSubscriptions'), self.check('provisioningState', 'Succeeded'), self.check('name', self.kwargs['event_subscription_name']), self.check('destination.endpointBaseUrl', self.kwargs['endpoint_baseurl']) ]) - self.cmd('az eventgrid system-topic event-subscription list --resource-group {rg} --system-topic-name {system_topic_name}', checks=[ + self.cmd('az eventgrid system-topic event-subscription list --resource-group devexprg --system-topic-name {system_topic_name}', checks=[ self.check('[0].type', 'Microsoft.EventGrid/systemTopics/eventSubscriptions'), self.check('[0].provisioningState', 'Succeeded'), ]) @@ -534,9 +560,9 @@ def test_create_system_topic(self, resource_group): # self.check('[0].provisioningState', 'Succeeded'), # ]) - self.cmd('az eventgrid system-topic event-subscription delete -g {rg} --name {event_subscription_name} --system-topic-name {system_topic_name} ') + self.cmd('az eventgrid system-topic event-subscription delete -g devexprg --name {event_subscription_name} --system-topic-name {system_topic_name} ') - self.cmd('az eventgrid system-topic delete -n {system_topic_name} -g {rg}') + self.cmd('az eventgrid system-topic delete -n {system_topic_name} -g devexprg') @ResourceGroupPreparer() @unittest.skip('Will be re-enabled once global operations are enabled for 2020-01-01-preview API version') @@ -613,8 +639,8 @@ def test_create_event_subscriptions_to_arm_resource_group(self, resource_group): @StorageAccountPreparer(name_prefix='clieventgrid', location='centraluseuap') def test_create_event_subscriptions_to_resource(self, resource_group, resource_group_location, storage_account): event_subscription_name = self.create_random_name(prefix='cli', length=40) - endpoint_url = 'https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid?functionName=EventGridTrigger1&code=' - endpoint_baseurl = 'https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid' + endpoint_url = 'https://eventgridclitestapp.azurewebsites.net/api/SubscriptionValidation?code=4CTlhouPm0c3PWuTQ8t6Myh/FYegVUPqXUmdtL2byRytFPlt98L/pw==' + endpoint_baseurl = 'https://eventgridclitestapp.azurewebsites.net/api/SubscriptionValidation' self.kwargs.update({ 'event_subscription_name': event_subscription_name, @@ -764,17 +790,27 @@ def test_create_event_subscriptions_with_20180501_features(self, resource_group) event_subscription_name1 = 'CliTestEventsubscription1' event_subscription_name2 = 'CliTestEventsubscription2' event_subscription_name3 = 'CliTestEventsubscription3' + event_subscription_name4 = 'CliTestEventsubscription4' + event_subscription_name5 = 'CliTestEventsubscription5' storagequeue_endpoint_id = '/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/DevExpRg/providers/Microsoft.Storage/storageAccounts/devexpstg/queueServices/default/queues/stogqueuedestination' deadletter_endpoint_id = '/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/DevExpRg/providers/Microsoft.Storage/storageAccounts/devexpstg/blobServices/default/containers/dlq' hybridconnection_endpoint_id = '/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/DevExpRg/providers/Microsoft.Relay/namespaces/DevExpRelayNamespace/hybridConnections/hydbridconnectiondestination' servicebusqueue_endpoint_id = '/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/DevExpRg/providers/Microsoft.ServiceBus/namespaces/devexpservicebus/queues/devexpdestination' + eventhub_with_identity_endpoint_id = '/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/DevExpRg/providers/Microsoft.eventhub/namespaces/devexpeh/eventhubs/eventhub1' + source_resource_id_with_identity = '/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/amh/providers/Microsoft.EventGrid/topics/tpoicWithNoIdentity2' + deadletter_endpoint_id_with_identity = '/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/DevExpRg/providers/Microsoft.Storage/storageAccounts/devexpstg/blobServices/default/containers/dlqwithidentity' self.kwargs.update({ 'event_subscription_name1': event_subscription_name1, 'event_subscription_name2': event_subscription_name2, 'event_subscription_name3': event_subscription_name3, + 'event_subscription_name4': event_subscription_name4, + 'event_subscription_name5': event_subscription_name5, 'storagequeue_endpoint_id': storagequeue_endpoint_id, + 'source_resource_id_with_identity': source_resource_id_with_identity, + 'eventhub_with_identity_endpoint_id': eventhub_with_identity_endpoint_id, 'deadletter_endpoint_id': deadletter_endpoint_id, + 'deadletter_endpoint_id_with_identity': deadletter_endpoint_id_with_identity, 'hybridconnection_endpoint_id': hybridconnection_endpoint_id, 'location': 'centraluseuap', 'servicebusqueue_endpoint_id': servicebusqueue_endpoint_id, @@ -816,9 +852,30 @@ def test_create_event_subscriptions_with_20180501_features(self, resource_group) self.check('provisioningState', 'Succeeded'), ]) + # Create an event hub destination based event subscription with default eventgrid event schema as the delivery schema and with system assigned identity and systemassigned deadletter destination + # self.cmd('az eventgrid event-subscription create --source-resource-id {source_resource_id_with_identity} --delivery-identity-endpoint-type eventhub --delivery-identity systemassigned --delivery-identity-endpoint {eventhub_with_identity_endpoint_id} -n {event_subscription_name4} --deadletter-identity-endpoint {deadletter_endpoint_id_with_identity} --deadletter-identity systemassigned') + + # self.cmd('az eventgrid event-subscription show --source-resource-id {source_resource_id_with_identity} --name {event_subscription_name4}', checks=[ + # self.check('type', 'Microsoft.EventGrid/eventSubscriptions'), + # self.check('provisioningState', 'Succeeded'), + # self.check('destination', None), + # self.check('deliveryWithResourceIdentity.identity.userAssignedIdentity', None), + # self.check('deliveryWithResourceIdentity.identity.type', 'SystemAssigned'), + # self.check('deliveryWithResourceIdentity.destination.endpointType', 'EventHub'), + # self.check('deliveryWithResourceIdentity.destination.resourceId', self.kwargs['eventhub_with_identity_endpoint_id']), + # self.check('deadLetterDestination', None), + # self.check('deadLetterWithResourceIdentity.identity.userAssignedIdentity', None), + # self.check('deadLetterWithResourceIdentity.identity.type', 'SystemAssigned'), + # self.check('deadLetterWithResourceIdentity.deadLetterDestination.endpointType', 'StorageBlob') + # ]) + + # Update an event hub destination based event subscription with default eventgrid event schema as the delivery schema and with system assigned identity + # self.cmd('az eventgrid event-subscription update --source-resource-id {source_resource_id_with_identity} -n {event_subscription_name4} --deadletter-endpoint {deadletter_endpoint_id}') + self.cmd('az eventgrid event-subscription delete --source-resource-id {source_resource_id} --name {event_subscription_name1}') self.cmd('az eventgrid event-subscription delete --source-resource-id {source_resource_id} --name {event_subscription_name2}') self.cmd('az eventgrid event-subscription delete --source-resource-id {source_resource_id} --name {event_subscription_name3}') + # self.cmd('az eventgrid event-subscription delete --source-resource-id {source_resource_id} --name {event_subscription_name4}') self.cmd('az storage account delete -y -g {rg} -n {sa}') @ResourceGroupPreparer(name_prefix='clieventgridrg', location='centraluseuap') @@ -834,7 +891,7 @@ def test_create_event_subscriptions_with_20200101_features(self, resource_group) endpoint_url = 'https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid?functionName=EventGridTrigger1&code=' endpoint_baseurl = 'https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid' - endpoint_url_for_validation = 'https://devexpfuncappdestination.azurewebsites.net/api/DevExpFunc?code=' + endpoint_url_for_validation = 'https://devexpfuncappdestination.azurewebsites.net/api/DevExpFunc?code=7jTiaEBVeYjC8X6gPDUhIhAnFRjaxZaGyS3hBbr09bmj3heQNhvrbA==' endpoint_baseurl_for_validation = 'https://devexpfuncappdestination.azurewebsites.net/api/DevExpFunc' # Make sure to replace these with proper values for re-recording the tests. @@ -854,7 +911,7 @@ def test_create_event_subscriptions_with_20200101_features(self, resource_group) 'endpoint_baseurl_for_validation': endpoint_baseurl_for_validation, 'azure_active_directory_tenant_id': azure_active_directory_tenant_id, 'azure_active_directory_application_id_or_uri': azure_active_directory_application_id_or_uri, - 'location': 'centraluseuap', + 'location': 'centraluseuap' }) self.kwargs['source_resource_id'] = self.cmd('storage account create -g {rg} -n {sa} --sku Standard_LRS -l {location}').get_output_in_json()['id'] @@ -862,41 +919,73 @@ def test_create_event_subscriptions_with_20200101_features(self, resource_group) # Create a servicebustopic destination based event subscription with CloudEvent 1.0 as the delivery schema self.cmd('az eventgrid event-subscription create --source-resource-id {source_resource_id} --name {event_subscription_name1} --endpoint-type SErvIcEBusTOPic --endpoint {servicebustopic_endpoint_id} --subject-begins-with SomeRandomText1 --event-delivery-schema CloudEVENTSchemaV1_0') + self.cmd('az eventgrid event-subscription show --source-resource-id {source_resource_id} --name {event_subscription_name1}', checks=[ + self.check('type', 'Microsoft.EventGrid/eventSubscriptions'), + self.check('provisioningState', 'Succeeded'), + ]) # Create an AzureFunction destination based event subscription with additional batching parameters self.cmd('az eventgrid event-subscription create --source-resource-id {source_resource_id} --name {event_subscription_name2} --endpoint-type azUREFunction --endpoint {azurefunction_endpoint_id_cloudevent} --subject-begins-with SomeRandomText1 --max-events-per-batch 10 --preferred-batch-size-in-kilobytes 128') + self.cmd('az eventgrid event-subscription show --source-resource-id {source_resource_id} --name {event_subscription_name2}', checks=[ + self.check('type', 'Microsoft.EventGrid/eventSubscriptions'), + self.check('provisioningState', 'Succeeded'), + ]) # Create an AzureFunction destination based event subscription with additional batching parameters for destination type webhook. self.cmd('az eventgrid event-subscription create --source-resource-id {source_resource_id} --name {event_subscription_name4} --endpoint-type webhook --endpoint \"{endpoint_url_for_validation}\" --subject-begins-with SomeRandomText1 --max-events-per-batch 10 --preferred-batch-size-in-kilobytes 128') + self.cmd('az eventgrid event-subscription show --source-resource-id {source_resource_id} --name {event_subscription_name4}', checks=[ + self.check('type', 'Microsoft.EventGrid/eventSubscriptions'), + self.check('provisioningState', 'Succeeded') + ]) # Create an Webhook destination based event subscription with azure active directory settings self.cmd('az eventgrid event-subscription create --source-resource-id {source_resource_id} --name {event_subscription_name3} --endpoint-type webhook --endpoint \"{endpoint_url_for_validation}\" --subject-begins-with SomeRandomText1 --max-events-per-batch 10 --preferred-batch-size-in-kilobytes 128 --azure-active-directory-tenant-id \"{azure_active_directory_tenant_id}\" --azure-active-directory-application-id-or-uri \"{azure_active_directory_application_id_or_uri}\"') + self.cmd('az eventgrid event-subscription show --source-resource-id {source_resource_id} --name {event_subscription_name3}', checks=[ + self.check('type', 'Microsoft.EventGrid/eventSubscriptions'), + self.check('provisioningState', 'Succeeded') + ]) # Update a servicebustopic destination based event subscription with CloudEvent 1.0 as the delivery schema self.cmd('az eventgrid event-subscription update --source-resource-id {source_resource_id} --name {event_subscription_name1} --subject-begins-with SomeRandomText1234') + self.cmd('az eventgrid event-subscription show --source-resource-id {source_resource_id} --name {event_subscription_name1}', checks=[ + self.check('type', 'Microsoft.EventGrid/eventSubscriptions'), + self.check('provisioningState', 'Succeeded') + ]) - # Update an AzureFunction destination based event subscription with additional batching parameters + # Update an AzureFunction destination based event subscription self.cmd('az eventgrid event-subscription update --source-resource-id {source_resource_id} --name {event_subscription_name2} --endpoint-type azUREFunction --endpoint {azurefunction_endpoint_id_cloudevent} --subject-begins-with SomeRandomText2234431') + self.cmd('az eventgrid event-subscription show --source-resource-id {source_resource_id} --name {event_subscription_name2}', checks=[ + self.check('type', 'Microsoft.EventGrid/eventSubscriptions'), + self.check('provisioningState', 'Succeeded') + ]) # Update an AzureFunction destination based event subscription with additional batching parameters for destination type webhook. self.cmd('az eventgrid event-subscription update --source-resource-id {source_resource_id} --name {event_subscription_name4} --endpoint-type webhook --endpoint \"{endpoint_url_for_validation}\" --subject-begins-with SomeRandomText112341') + self.cmd('az eventgrid event-subscription show --source-resource-id {source_resource_id} --name {event_subscription_name4}', checks=[ + self.check('type', 'Microsoft.EventGrid/eventSubscriptions'), + self.check('provisioningState', 'Succeeded') + ]) # Update an Webhook destination based event subscription with azure active directory settings self.cmd('az eventgrid event-subscription update --source-resource-id {source_resource_id} --name {event_subscription_name3} --endpoint \"{endpoint_url_for_validation}\" --subject-begins-with SomeRandomText123412') + self.cmd('az eventgrid event-subscription show --source-resource-id {source_resource_id} --name {event_subscription_name3}', checks=[ + self.check('type', 'Microsoft.EventGrid/eventSubscriptions'), + self.check('provisioningState', 'Succeeded') + ]) self.cmd('az eventgrid event-subscription show --source-resource-id {source_resource_id} --name {event_subscription_name1}', checks=[ self.check('type', 'Microsoft.EventGrid/eventSubscriptions'), - self.check('provisioningState', 'Succeeded'), + self.check('provisioningState', 'Succeeded') ]) - self.cmd('az eventgrid event-subscription show --source-resource-id {source_resource_id} --name {event_subscription_name2}', checks=[ + self.cmd('az eventgrid event-subscription show --source-resource-id {source_resource_id} --name {event_subscription_name2}', checks=[ self.check('type', 'Microsoft.EventGrid/eventSubscriptions'), - self.check('provisioningState', 'Succeeded'), + self.check('provisioningState', 'Succeeded') ]) - self.cmd('az eventgrid event-subscription show --source-resource-id {source_resource_id} --name {event_subscription_name3}', checks=[ + self.cmd('az eventgrid event-subscription show --source-resource-id {source_resource_id} --name {event_subscription_name3}', checks=[ self.check('type', 'Microsoft.EventGrid/eventSubscriptions'), - self.check('provisioningState', 'Succeeded'), + self.check('provisioningState', 'Succeeded') ]) self.cmd('az eventgrid event-subscription delete --source-resource-id {source_resource_id} --name {event_subscription_name1}') @@ -996,25 +1085,45 @@ def test_private_link(self, resource_group): 'location': 'centraluseuap' }) + # self.cmd('group create -n {resource_group_net} -l eastus') + self.cmd('az network vnet create --resource-group {resource_group_net} --location {location} --name {vnet_name} --address-prefix 10.0.0.0/16') self.cmd('az network vnet subnet create --resource-group {resource_group_net} --vnet-name {vnet_name} --name {subnet_name} --address-prefixes 10.0.0.0/24') self.cmd('az network vnet subnet update --resource-group {resource_group_net} --vnet-name {vnet_name} --name {subnet_name} --disable-private-endpoint-network-policies true') - scope = self.cmd('az eventgrid topic create --name {topic_name} --resource-group {rg} --location {location} --sku Premium --public-network-access disabled', checks=[ + scope = self.cmd('az eventgrid topic create --name {topic_name} --resource-group {rg} --location {location} --public-network-access disabled', checks=[ self.check('type', 'Microsoft.EventGrid/topics'), self.check('name', self.kwargs['topic_name']), self.check('provisioningState', 'Succeeded'), - self.check('sku', {'name': 'Premium'}), + self.check('sku', {'name': 'Basic'}), self.check('publicNetworkAccess', 'Disabled'), - self.check('identity', None) + self.check('identity.principalId', None), + self.check('identity.tenantId', None), + self.check('identity.type', None), + self.check('identity.userAssignedIdentities', None) + ]).get_output_in_json()['id'] + + scope = self.cmd('az eventgrid topic create --name {topic_name} --resource-group {rg} --location {location} --public-network-access disabled', checks=[ + self.check('type', 'Microsoft.EventGrid/topics'), + self.check('name', self.kwargs['topic_name']), + self.check('provisioningState', 'Succeeded'), + self.check('sku', {'name': 'Basic'}), + self.check('publicNetworkAccess', 'Disabled'), + self.check('identity.principalId', None), + self.check('identity.tenantId', None), + self.check('identity.type', None), + self.check('identity.userAssignedIdentities', None) ]).get_output_in_json()['id'] self.cmd('az eventgrid topic show --name {topic_name} --resource-group {rg}', checks=[ self.check('type', 'Microsoft.EventGrid/topics'), self.check('name', self.kwargs['topic_name']), - self.check('sku', {'name': 'Premium'}), + self.check('sku', {'name': 'Basic'}), self.check('publicNetworkAccess', 'Disabled'), - self.check('identity', None) + self.check('identity.principalId', None), + self.check('identity.tenantId', None), + self.check('identity.type', None), + self.check('identity.userAssignedIdentities', None) ]) self.kwargs.update({ @@ -1024,8 +1133,8 @@ def test_private_link(self, resource_group): # Create private endpoint self.cmd('az network private-endpoint create --resource-group {resource_group_net} --name {private_endpoint_name} --vnet-name {vnet_name} --subnet {subnet_name} --private-connection-resource-id {scope} --location {location} --group-ids topic --connection-name {connection_name}') - self.cmd('az eventgrid topic private-endpoint-connection list --resource-group {rg} --name {topic_name}') - self.cmd('az eventgrid topic private-link-resource list --resource-group {rg} --name {topic_name}') + self.cmd('az eventgrid topic private-endpoint-connection list --resource-group {rg} --topic-name {topic_name}') + self.cmd('az eventgrid topic private-link-resource list --resource-group {rg} --topic-name {topic_name}') self.cmd('az network private-endpoint delete --resource-group {resource_group_net} --name {private_endpoint_name}') self.cmd('az network vnet subnet delete --resource-group {resource_group_net} --vnet-name {vnet_name} --name {subnet_name}') @@ -1050,6 +1159,17 @@ def test_Partner_scenarios(self, resource_group): guid3 = uuid.uuid1() destination_subscription_id = '5b4b650e-28b9-4790-b3ab-ddbd88d727c4' source = self.create_random_name(prefix='cli', length=40) + exp_time = datetime.utcnow() + timedelta(hours=24) + exp_time = exp_time.isoformat() + creation_time = datetime.utcnow().isoformat() + + long_description = 'This is long description sample' + customer_service_number1 = '+1 800 123 4567' + customer_service_extension1 = '1234' + customer_service_uri = 'https://www.example.com/cusomerService' + + customer_service_number2 = '+1 962 7 1234 5678' + customer_service_extension2 = '9876' self.kwargs.update({ 'partner_registration_name': partner_registration_name, @@ -1067,10 +1187,24 @@ def test_Partner_scenarios(self, resource_group): 'description': description, 'display_name': display_name, 'destination_subscription_id': destination_subscription_id, - 'source': source + 'source': source, + 'exp_time': exp_time, + 'creation_time': creation_time, + 'long_description': long_description, + 'customer_service_number1': customer_service_number1, + 'customer_service_extension1': customer_service_extension1, + 'customer_service_uri': customer_service_uri, + 'customer_service_number2': customer_service_number2, + 'customer_service_extension2': customer_service_extension2, }) - scope = self.cmd('az eventgrid partner registration create --name {partner_registration_name} --resource-group {rg} --partner-name {partner_name} --resource-type-name {resource_type_name} --authorized-subscription-ids {guid1}', checks=[ + partner_topic_friendly_description = 'This partner topic was created by Partner {part_name} at {create_time}.'.format(part_name=partner_name, create_time=creation_time) + + self.kwargs.update({ + 'partner_topic_friendly_description': partner_topic_friendly_description + }) + + scope = self.cmd('az eventgrid partner registration create --name {partner_registration_name} --resource-group {rg} --partner-name {partner_name} --resource-type-name {resource_type_name} --authorized-subscription-ids {guid1} --long-description \'{long_description}\' --customer-service-number \'{customer_service_number1}\' --customer-service-extension \'{customer_service_extension1}\' --customer-service-uri \'{customer_service_uri}\'', checks=[ self.check('type', 'Microsoft.EventGrid/partnerRegistrations'), self.check('name', self.kwargs['partner_registration_name']), self.check('provisioningState', 'Succeeded'), @@ -1078,10 +1212,14 @@ def test_Partner_scenarios(self, resource_group): self.check('partnerResourceTypeDescription', None), self.check('partnerResourceTypeDisplayName', None), self.check('partnerResourceTypeName', resource_type_name), - self.check('partnerName', partner_name) + self.check('partnerName', partner_name), + self.check('longDescription', long_description), + self.check('partnerCustomerServiceNumber', customer_service_number1), + self.check('partnerCustomerServiceExtension', customer_service_extension1), + self.check('customerServiceUri', customer_service_uri), ]).get_output_in_json()['id'] - scope = self.cmd('az eventgrid partner registration create --name {partner_registration_name} --resource-group {rg} --partner-name {partner_name} --resource-type-name {resource_type_name} --description {description} --display-name {display_name} --authorized-subscription-ids {guid2} {guid3}', checks=[ + scope = self.cmd('az eventgrid partner registration create --name {partner_registration_name} --resource-group {rg} --partner-name {partner_name} --resource-type-name {resource_type_name} --description {description} --display-name {display_name} --authorized-subscription-ids {guid2} {guid3} --long-description \'{long_description}\' --customer-service-number \'{customer_service_number2}\' --customer-service-extension \'{customer_service_extension2}\' --customer-service-uri \'{customer_service_uri}\'', checks=[ self.check('type', 'Microsoft.EventGrid/partnerRegistrations'), self.check('name', self.kwargs['partner_registration_name']), self.check('provisioningState', 'Succeeded'), @@ -1090,6 +1228,10 @@ def test_Partner_scenarios(self, resource_group): self.check('partnerResourceTypeDisplayName', display_name), self.check('partnerResourceTypeName', resource_type_name), self.check('partnerName', partner_name), + self.check('longDescription', long_description), + self.check('partnerCustomerServiceNumber', customer_service_number2), + self.check('partnerCustomerServiceExtension', customer_service_extension2), + self.check('customerServiceUri', customer_service_uri), ]).get_output_in_json()['id'] self.cmd('az eventgrid partner registration show --name {partner_registration_name} --resource-group {rg}', checks=[ @@ -1101,10 +1243,14 @@ def test_Partner_scenarios(self, resource_group): self.check('partnerResourceTypeDisplayName', display_name), self.check('partnerResourceTypeName', resource_type_name), self.check('partnerName', partner_name), + self.check('longDescription', long_description), + self.check('partnerCustomerServiceNumber', customer_service_number2), + self.check('partnerCustomerServiceExtension', customer_service_extension2), + self.check('customerServiceUri', customer_service_uri), ]) self.kwargs.update({ - 'scope': scope, + 'scope': scope }) # self.cmd('az eventgrid partner registration update --name {partner_registration_name} --resource-group {rg} --tags Dept=IT', checks=[ @@ -1179,18 +1325,34 @@ def test_Partner_scenarios(self, resource_group): self.check('type', 'Microsoft.EventGrid/partnerNamespaces/eventChannels'), self.check('name', self.kwargs['event_channel_name']), self.check('provisioningState', 'Succeeded'), + # self.check('partnerTopicReadinessState', 'NotActivatedByUserYet') ]) - self.cmd('az eventgrid partner namespace event-channel show --resource-group {rg} --partner-namespace-name {partner_namespace_name} --name {event_channel_name} ', checks=[ + self.cmd('az eventgrid partner namespace event-channel show --resource-group {rg} --partner-namespace-name {partner_namespace_name} --name {event_channel_name}', checks=[ self.check('type', 'Microsoft.EventGrid/partnerNamespaces/eventChannels'), self.check('name', self.kwargs['event_channel_name']), - self.check('provisioningState', 'Succeeded') + self.check('provisioningState', 'Succeeded'), + # self.check('partnerTopicReadinessState', 'NotActivatedByUserYet') ]) - outputnamespace = self.cmd('az eventgrid partner namespace event-channel create --resource-group {rg} --partner-namespace-name {partner_namespace_name} --name {event_channel_name} --destination-subscription-id {destination_subscription_id} --destination-resource-group {rg} --desination-topic-name {partner_topic_name} --source {source}').get_output_in_json() - self.check(outputnamespace['type'], 'Microsoft.EventGrid/partnerNamespaces/eventChannels'), - self.check(outputnamespace['name'], self.kwargs['event_channel_name']), - self.check(outputnamespace['provisioningState'], 'Succeeded') + outputeventchannel = self.cmd('az eventgrid partner namespace event-channel create --resource-group {rg} --partner-namespace-name {partner_namespace_name} --name {event_channel_name} --destination-subscription-id {destination_subscription_id} --destination-resource-group {rg} --desination-topic-name {partner_topic_name} --source {source} --activation-expiration-date \'{exp_time}\' --partner-topic-description \'{partner_topic_friendly_description}\' --publisher-filter data.key1 NumberIn 2 3 4 100 200 --publisher-filter data.key2 StringIn 2 3 4 100 200').get_output_in_json() + + self.check(outputeventchannel['type'], 'Microsoft.EventGrid/partnerNamespaces/eventChannels'), + self.check(outputeventchannel['name'], self.kwargs['event_channel_name']), + self.check(outputeventchannel['provisioningState'], 'Succeeded'), + self.check(outputeventchannel['expirationTimeIfNotActivatedUtc'], exp_time), + self.check(outputeventchannel['partnerTopicFriendlyDescription'], partner_topic_friendly_description), + self.check(outputeventchannel['partnerTopicReadinessState'], 'NotActivatedByUserYet') + + self.cmd('az eventgrid partner namespace event-channel show --resource-group {rg} --partner-namespace-name {partner_namespace_name} --name {event_channel_name}', checks=[ + self.check('type', 'Microsoft.EventGrid/partnerNamespaces/eventChannels'), + self.check('name', self.kwargs['event_channel_name']), + self.check('provisioningState', 'Succeeded'), + # Comment for recorded test to pass. + # self.check('expirationTimeIfNotActivatedUtc', exp_time + '+00:00'), + # self.check('partnerTopicFriendlyDescription', partner_topic_friendly_description), + self.check('partnerTopicReadinessState', 'NotActivatedByUserYet'), + ]) # self.cmd('az eventgrid partner namespace update --resource-group {rg} --partner-namespace-name {partner_namespace_name} --name {event_channel_name} --tags Dept=Finance', checks=[ # self.check('name', self.kwargs['event_channel_name']), @@ -1204,28 +1366,15 @@ def test_Partner_scenarios(self, resource_group): self.check('[0].name', self.kwargs['event_channel_name']), ]) - # self.cmd('az eventgrid partner topic create --name {partner_topic_name} --resource-group {rg} --location {location} --partner-registration-id {scope}', checks=[ - # self.check('type', 'Microsoft.EventGrid/Microsoft.EventGrid/partnerTopics'), - # self.check('name', self.kwargs['partner_topic_name']), - # self.check('provisioningState', 'Succeeded'), - # self.check('location', self.kwargs['location']), - # self.check('partnerRegistrationFullyQualifiedId', scope) - # ]) - self.cmd('az eventgrid partner topic show --name {partner_topic_name} --resource-group {rg}', checks=[ self.check('type', 'Microsoft.EventGrid/partnerTopics'), self.check('name', self.kwargs['partner_topic_name']), self.check('provisioningState', 'Succeeded'), self.check('location', self.kwargs['location']), - self.check('activationState', 'NeverActivated') + self.check('activationState', 'NeverActivated'), + # self.check('partnerTopicFriendlyDescription', partner_topic_friendly_description), ]) - # outputpartnertopic = self.cmd('az eventgrid partner topic create --name {partner_topic_name} --resource-group {rg} --tags Dept=IT --partner-registration-id {scope} --location {location}').get_output_in_json() - # self.check(outputpartnertopic['type'], 'Microsoft.EventGrid/partnerTopics'), - # self.check(outputpartnertopic['name'], self.kwargs['partner_topic_name']), - # self.check(outputpartnertopic['provisioningState'], 'Succeeded') - # self.check(outputpartnertopic['location'], self.kwargs['location']) - # self.cmd('az eventgrid partner topic update --name {partner_topic_name} --resource-group {rg} --tags Dept=Finance', checks=[ # self.check('name', self.kwargs['partner_topic_name']), # self.check('tags', {'Dept': 'Finance'}), @@ -1251,6 +1400,15 @@ def test_Partner_scenarios(self, resource_group): self.check('activationState', 'Activated') ]) + self.cmd('az eventgrid partner namespace event-channel show --resource-group {rg} --partner-namespace-name {partner_namespace_name} --name {event_channel_name}', checks=[ + self.check('type', 'Microsoft.EventGrid/partnerNamespaces/eventChannels'), + self.check('name', self.kwargs['event_channel_name']), + self.check('provisioningState', 'Succeeded'), + # self.check('expirationTimeIfNotActivatedUtc', exp_time + '+00:00'), + # self.check('partnerTopicFriendlyDescription', partner_topic_friendly_description), + # self.check('partnerTopicReadinessState', 'ActivatedByUser'), + ]) + self.cmd('az eventgrid partner topic deactivate --name {partner_topic_name} --resource-group {rg}', checks=[ self.check('type', 'Microsoft.EventGrid/partnerTopics'), self.check('name', self.kwargs['partner_topic_name']), @@ -1259,6 +1417,15 @@ def test_Partner_scenarios(self, resource_group): self.check('activationState', 'Deactivated') ]) + self.cmd('az eventgrid partner namespace event-channel show --resource-group {rg} --partner-namespace-name {partner_namespace_name} --name {event_channel_name}', checks=[ + self.check('type', 'Microsoft.EventGrid/partnerNamespaces/eventChannels'), + self.check('name', self.kwargs['event_channel_name']), + self.check('provisioningState', 'Succeeded'), + # self.check('expirationTimeIfNotActivatedUtc', exp_time + '+00:00'), + # self.check('partnerTopicFriendlyDescription', partner_topic_friendly_description), + # self.check('partnerTopicReadinessState', 'DeactivatedByUser'), + ]) + self.cmd('az eventgrid partner topic activate --name {partner_topic_name} --resource-group {rg}', checks=[ self.check('type', 'Microsoft.EventGrid/partnerTopics'), self.check('name', self.kwargs['partner_topic_name']), @@ -1267,6 +1434,15 @@ def test_Partner_scenarios(self, resource_group): self.check('activationState', 'Activated') ]) + self.cmd('az eventgrid partner namespace event-channel show --resource-group {rg} --partner-namespace-name {partner_namespace_name} --name {event_channel_name}', checks=[ + self.check('type', 'Microsoft.EventGrid/partnerNamespaces/eventChannels'), + self.check('name', self.kwargs['event_channel_name']), + self.check('provisioningState', 'Succeeded'), + # self.check('expirationTimeIfNotActivatedUtc', exp_time + '+00:00'), + # self.check('partnerTopicFriendlyDescription', partner_topic_friendly_description), + # self.check('partnerTopicReadinessState', 'ActivatedByUser'), + ]) + self.cmd('az eventgrid partner topic event-subscription create --resource-group {rg} --partner-topic-name {partner_topic_name} --name {event_subscription_name} --endpoint-type storagequeue --endpoint {storagequeue_endpoint_id}', checks=[ # self.check('type', 'Microsoft.EventGrid/partnerTopics/eventSubscriptions'), self.check('provisioningState', 'Succeeded'), diff --git a/src/eventgrid/azext_eventgrid/vendored_sdks/eventgrid/models/__init__.py b/src/eventgrid/azext_eventgrid/vendored_sdks/eventgrid/models/__init__.py index 538fd1e5bf7..8c67cc73bd6 100644 --- a/src/eventgrid/azext_eventgrid/vendored_sdks/eventgrid/models/__init__.py +++ b/src/eventgrid/azext_eventgrid/vendored_sdks/eventgrid/models/__init__.py @@ -24,6 +24,7 @@ from ._models_py3 import DomainUpdateParameters from ._models_py3 import EventChannel from ._models_py3 import EventChannelDestination + from ._models_py3 import EventChannelFilter from ._models_py3 import EventChannelSource from ._models_py3 import EventHubEventSubscriptionDestination from ._models_py3 import EventSubscription @@ -68,8 +69,6 @@ from ._models_py3 import RetryPolicy from ._models_py3 import ServiceBusQueueEventSubscriptionDestination from ._models_py3 import ServiceBusTopicEventSubscriptionDestination - from ._models_py3 import SkuDefinitionsForResourceType - from ._models_py3 import SkuDefinitionsForResourceTypeListResult from ._models_py3 import StorageBlobDeadLetterDestination from ._models_py3 import StorageQueueEventSubscriptionDestination from ._models_py3 import StringBeginsWithAdvancedFilter @@ -102,6 +101,7 @@ from ._models import DomainUpdateParameters from ._models import EventChannel from ._models import EventChannelDestination + from ._models import EventChannelFilter from ._models import EventChannelSource from ._models import EventHubEventSubscriptionDestination from ._models import EventSubscription @@ -146,8 +146,6 @@ from ._models import RetryPolicy from ._models import ServiceBusQueueEventSubscriptionDestination from ._models import ServiceBusTopicEventSubscriptionDestination - from ._models import SkuDefinitionsForResourceType - from ._models import SkuDefinitionsForResourceTypeListResult from ._models import StorageBlobDeadLetterDestination from ._models import StorageQueueEventSubscriptionDestination from ._models import StringBeginsWithAdvancedFilter @@ -190,6 +188,7 @@ IdentityType, DomainTopicProvisioningState, EventChannelProvisioningState, + PartnerTopicReadinessState, EventSubscriptionProvisioningState, EventSubscriptionIdentityType, EventDeliverySchema, @@ -219,6 +218,7 @@ 'DomainUpdateParameters', 'EventChannel', 'EventChannelDestination', + 'EventChannelFilter', 'EventChannelSource', 'EventHubEventSubscriptionDestination', 'EventSubscription', @@ -263,8 +263,6 @@ 'RetryPolicy', 'ServiceBusQueueEventSubscriptionDestination', 'ServiceBusTopicEventSubscriptionDestination', - 'SkuDefinitionsForResourceType', - 'SkuDefinitionsForResourceTypeListResult', 'StorageBlobDeadLetterDestination', 'StorageQueueEventSubscriptionDestination', 'StringBeginsWithAdvancedFilter', @@ -306,6 +304,7 @@ 'IdentityType', 'DomainTopicProvisioningState', 'EventChannelProvisioningState', + 'PartnerTopicReadinessState', 'EventSubscriptionProvisioningState', 'EventSubscriptionIdentityType', 'EventDeliverySchema', diff --git a/src/eventgrid/azext_eventgrid/vendored_sdks/eventgrid/models/_event_grid_management_client_enums.py b/src/eventgrid/azext_eventgrid/vendored_sdks/eventgrid/models/_event_grid_management_client_enums.py index f798c2958b9..99687c96b4e 100644 --- a/src/eventgrid/azext_eventgrid/vendored_sdks/eventgrid/models/_event_grid_management_client_enums.py +++ b/src/eventgrid/azext_eventgrid/vendored_sdks/eventgrid/models/_event_grid_management_client_enums.py @@ -92,6 +92,14 @@ class EventChannelProvisioningState(str, Enum): failed = "Failed" +class PartnerTopicReadinessState(str, Enum): + + not_activated_by_user_yet = "NotActivatedByUserYet" + activated_by_user = "ActivatedByUser" + deactivated_by_user = "DeactivatedByUser" + deleted_by_user = "DeletedByUser" + + class EventSubscriptionProvisioningState(str, Enum): creating = "Creating" diff --git a/src/eventgrid/azext_eventgrid/vendored_sdks/eventgrid/models/_models.py b/src/eventgrid/azext_eventgrid/vendored_sdks/eventgrid/models/_models.py index 1de5cb11292..abaa4eba8ca 100644 --- a/src/eventgrid/azext_eventgrid/vendored_sdks/eventgrid/models/_models.py +++ b/src/eventgrid/azext_eventgrid/vendored_sdks/eventgrid/models/_models.py @@ -167,7 +167,7 @@ class CloudError(Model): class ConnectionState(Model): - """ConnectionState Information. + """ConnectionState information. :param status: Status of the connection. Possible values include: 'Pending', 'Approved', 'Rejected', 'Disconnected' @@ -587,6 +587,25 @@ class EventChannel(Resource): 'Canceled', 'Failed' :vartype provisioning_state: str or ~azure.mgmt.eventgrid.models.EventChannelProvisioningState + :ivar partner_topic_readiness_state: The readiness state of the + corresponding partner topic. Possible values include: + 'NotActivatedByUserYet', 'ActivatedByUser', 'DeactivatedByUser', + 'DeletedByUser' + :vartype partner_topic_readiness_state: str or + ~azure.mgmt.eventgrid.models.PartnerTopicReadinessState + :param expiration_time_if_not_activated_utc: Expiration time of the event + channel. If this timer expires while the corresponding partner topic is + never activated, + the event channel and corresponding partner topic are deleted. + :type expiration_time_if_not_activated_utc: datetime + :param filter: Information about the filter for the event channel. + :type filter: ~azure.mgmt.eventgrid.models.EventChannelFilter + :param partner_topic_friendly_description: Friendly description about the + topic. This can be set by the publisher/partner to show custom description + for the customer partner topic. + This will be helpful to remove any ambiguity of the origin of creation of + the partner topic for the customer. + :type partner_topic_friendly_description: str """ _validation = { @@ -594,6 +613,7 @@ class EventChannel(Resource): 'name': {'readonly': True}, 'type': {'readonly': True}, 'provisioning_state': {'readonly': True}, + 'partner_topic_readiness_state': {'readonly': True}, } _attribute_map = { @@ -603,6 +623,10 @@ class EventChannel(Resource): 'source': {'key': 'properties.source', 'type': 'EventChannelSource'}, 'destination': {'key': 'properties.destination', 'type': 'EventChannelDestination'}, 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'partner_topic_readiness_state': {'key': 'properties.partnerTopicReadinessState', 'type': 'str'}, + 'expiration_time_if_not_activated_utc': {'key': 'properties.expirationTimeIfNotActivatedUtc', 'type': 'iso-8601'}, + 'filter': {'key': 'properties.filter', 'type': 'EventChannelFilter'}, + 'partner_topic_friendly_description': {'key': 'properties.partnerTopicFriendlyDescription', 'type': 'str'}, } def __init__(self, **kwargs): @@ -610,6 +634,10 @@ def __init__(self, **kwargs): self.source = kwargs.get('source', None) self.destination = kwargs.get('destination', None) self.provisioning_state = None + self.partner_topic_readiness_state = None + self.expiration_time_if_not_activated_utc = kwargs.get('expiration_time_if_not_activated_utc', None) + self.filter = kwargs.get('filter', None) + self.partner_topic_friendly_description = kwargs.get('partner_topic_friendly_description', None) class EventChannelDestination(Model): @@ -643,6 +671,23 @@ def __init__(self, **kwargs): self.partner_topic_name = kwargs.get('partner_topic_name', None) +class EventChannelFilter(Model): + """Filter for the Event Channel. + + :param advanced_filters: An array of advanced filters that are used for + filtering event channels. + :type advanced_filters: list[~azure.mgmt.eventgrid.models.AdvancedFilter] + """ + + _attribute_map = { + 'advanced_filters': {'key': 'advancedFilters', 'type': '[AdvancedFilter]'}, + } + + def __init__(self, **kwargs): + super(EventChannelFilter, self).__init__(**kwargs) + self.advanced_filters = kwargs.get('advanced_filters', None) + + class EventChannelSource(Model): """Properties of the source of an event channel. @@ -1640,9 +1685,30 @@ class PartnerRegistration(TrackedResource): :param partner_resource_type_display_name: Display name of the partner resource type. :type partner_resource_type_display_name: str - :param partner_resource_type_description: Description of the partner - resource type. + :param partner_resource_type_description: Short description of the partner + resource type. The length of this description should not exceed 256 + characters. :type partner_resource_type_description: str + :param long_description: Long description for the custom scenarios and + integration to be displayed in the portal if needed. + Length of this description should not exceed 2048 characters. + :type long_description: str + :param partner_customer_service_number: The customer service number of the + publisher. The expected phone format should start with a '+' sign + followed by the country code. The remaining digits are then followed. Only + digits and spaces are allowed and its + length cannot exceed 16 digits including country code. Examples of valid + phone numbers are: +1 515 123 4567 and + +966 7 5115 2471. Examples of invalid phone numbers are: +1 (515) + 123-4567, 1 515 123 4567 and +966 121 5115 24 7 551 1234 43 + :type partner_customer_service_number: str + :param partner_customer_service_extension: The extension of the customer + service number of the publisher. Only digits are allowed and number of + digits should not exceed 10. + :type partner_customer_service_extension: str + :param customer_service_uri: The extension of the customer service URI of + the publisher. + :type customer_service_uri: str :param setup_uri: URI of the partner website that can be used by Azure customers to setup Event Grid integration on an event source. @@ -1682,6 +1748,10 @@ class PartnerRegistration(TrackedResource): 'partner_resource_type_name': {'key': 'properties.partnerResourceTypeName', 'type': 'str'}, 'partner_resource_type_display_name': {'key': 'properties.partnerResourceTypeDisplayName', 'type': 'str'}, 'partner_resource_type_description': {'key': 'properties.partnerResourceTypeDescription', 'type': 'str'}, + 'long_description': {'key': 'properties.longDescription', 'type': 'str'}, + 'partner_customer_service_number': {'key': 'properties.partnerCustomerServiceNumber', 'type': 'str'}, + 'partner_customer_service_extension': {'key': 'properties.partnerCustomerServiceExtension', 'type': 'str'}, + 'customer_service_uri': {'key': 'properties.customerServiceUri', 'type': 'str'}, 'setup_uri': {'key': 'properties.setupUri', 'type': 'str'}, 'logo_uri': {'key': 'properties.logoUri', 'type': 'str'}, 'visibility_state': {'key': 'properties.visibilityState', 'type': 'str'}, @@ -1695,6 +1765,10 @@ def __init__(self, **kwargs): self.partner_resource_type_name = kwargs.get('partner_resource_type_name', None) self.partner_resource_type_display_name = kwargs.get('partner_resource_type_display_name', None) self.partner_resource_type_description = kwargs.get('partner_resource_type_description', None) + self.long_description = kwargs.get('long_description', None) + self.partner_customer_service_number = kwargs.get('partner_customer_service_number', None) + self.partner_customer_service_extension = kwargs.get('partner_customer_service_extension', None) + self.customer_service_uri = kwargs.get('customer_service_uri', None) self.setup_uri = kwargs.get('setup_uri', None) self.logo_uri = kwargs.get('logo_uri', None) self.visibility_state = kwargs.get('visibility_state', None) @@ -1725,6 +1799,8 @@ def __init__(self, **kwargs): class PartnerRegistrationUpdateParameters(Model): """Properties of the Partner Registration update. + :param tags: Tags of the partner registration resource. + :type tags: dict[str, str] :param partner_topic_type_name: Name of the partner topic type. :type partner_topic_type_name: str :param partner_topic_type_display_name: Display name of the partner topic @@ -1750,6 +1826,7 @@ class PartnerRegistrationUpdateParameters(Model): """ _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, 'partner_topic_type_name': {'key': 'partnerTopicTypeName', 'type': 'str'}, 'partner_topic_type_display_name': {'key': 'partnerTopicTypeDisplayName', 'type': 'str'}, 'partner_topic_type_description': {'key': 'partnerTopicTypeDescription', 'type': 'str'}, @@ -1760,6 +1837,7 @@ class PartnerRegistrationUpdateParameters(Model): def __init__(self, **kwargs): super(PartnerRegistrationUpdateParameters, self).__init__(**kwargs) + self.tags = kwargs.get('tags', None) self.partner_topic_type_name = kwargs.get('partner_topic_type_name', None) self.partner_topic_type_display_name = kwargs.get('partner_topic_type_display_name', None) self.partner_topic_type_description = kwargs.get('partner_topic_type_description', None) @@ -1789,6 +1867,11 @@ class PartnerTopic(TrackedResource): :param source: Source associated with this partner topic. This represents a unique partner resource. :type source: str + :param expiration_time_if_not_activated_utc: Expiration time of the + partner topic. If this timer expires while the partner topic is still + never activated, + the partner topic and corresponding event channel are deleted. + :type expiration_time_if_not_activated_utc: datetime :ivar provisioning_state: Provisioning state of the partner topic. Possible values include: 'Creating', 'Updating', 'Deleting', 'Succeeded', 'Canceled', 'Failed' @@ -1798,6 +1881,12 @@ class PartnerTopic(TrackedResource): values include: 'NeverActivated', 'Activated', 'Deactivated' :type activation_state: str or ~azure.mgmt.eventgrid.models.PartnerTopicActivationState + :param partner_topic_friendly_description: Friendly description about the + topic. This can be set by the publisher/partner to show custom description + for the customer partner topic. + This will be helpful to remove any ambiguity of the origin of creation of + the partner topic for the customer. + :type partner_topic_friendly_description: str """ _validation = { @@ -1815,15 +1904,19 @@ class PartnerTopic(TrackedResource): 'location': {'key': 'location', 'type': 'str'}, 'tags': {'key': 'tags', 'type': '{str}'}, 'source': {'key': 'properties.source', 'type': 'str'}, + 'expiration_time_if_not_activated_utc': {'key': 'properties.expirationTimeIfNotActivatedUtc', 'type': 'iso-8601'}, 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 'activation_state': {'key': 'properties.activationState', 'type': 'str'}, + 'partner_topic_friendly_description': {'key': 'properties.partnerTopicFriendlyDescription', 'type': 'str'}, } def __init__(self, **kwargs): super(PartnerTopic, self).__init__(**kwargs) self.source = kwargs.get('source', None) + self.expiration_time_if_not_activated_utc = kwargs.get('expiration_time_if_not_activated_utc', None) self.provisioning_state = None self.activation_state = kwargs.get('activation_state', None) + self.partner_topic_friendly_description = kwargs.get('partner_topic_friendly_description', None) class PartnerTopicType(Resource): @@ -1936,7 +2029,7 @@ def __init__(self, **kwargs): class PrivateEndpointConnection(Resource): - """PrivateEndpointConnection resource information. + """PrivateEndpointConnection. Variables are only populated by the server, and will be ignored when sending a request. @@ -2030,9 +2123,8 @@ def __init__(self, **kwargs): class ResourceSku(Model): """Describes an EventGrid Resource Sku. - :param name: the Sku name of the resource. - the possible values: Basic; Premium. Possible values include: 'Basic', - 'Premium' + :param name: The Sku name of the resource. The possible values are: Basic + or Premium. Possible values include: 'Basic', 'Premium' :type name: str or ~azure.mgmt.eventgrid.models.Sku """ @@ -2122,47 +2214,6 @@ def __init__(self, **kwargs): self.endpoint_type = 'ServiceBusTopic' -class SkuDefinitionsForResourceType(Model): - """Describes an EventGrid Resource Sku Definition. - - :param resource_type: The Resource Type applicable for the Sku. - :type resource_type: str - :param skus: The Sku pricing tiers for the resource type. - :type skus: list[~azure.mgmt.eventgrid.models.ResourceSku] - """ - - _attribute_map = { - 'resource_type': {'key': 'resourceType', 'type': 'str'}, - 'skus': {'key': 'skus', 'type': '[ResourceSku]'}, - } - - def __init__(self, **kwargs): - super(SkuDefinitionsForResourceType, self).__init__(**kwargs) - self.resource_type = kwargs.get('resource_type', None) - self.skus = kwargs.get('skus', None) - - -class SkuDefinitionsForResourceTypeListResult(Model): - """List collection of Sku Definitions for each Resource Type. - - :param value: A collection of Sku Definitions for each Resource Type. - :type value: - list[~azure.mgmt.eventgrid.models.SkuDefinitionsForResourceType] - :param next_link: A link for the next page of Sku Definitions. - :type next_link: str - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[SkuDefinitionsForResourceType]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(SkuDefinitionsForResourceTypeListResult, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - self.next_link = kwargs.get('next_link', None) - - class StorageBlobDeadLetterDestination(DeadLetterDestination): """Information about the storage blob based dead letter destination. @@ -2471,7 +2522,7 @@ class Topic(TrackedResource): :type location: str :param tags: Tags of the resource. :type tags: dict[str, str] - :param private_endpoint_connections: List of private endpoint connections. + :param private_endpoint_connections: :type private_endpoint_connections: list[~azure.mgmt.eventgrid.models.PrivateEndpointConnection] :ivar provisioning_state: Provisioning state of the topic. Possible values diff --git a/src/eventgrid/azext_eventgrid/vendored_sdks/eventgrid/models/_models_py3.py b/src/eventgrid/azext_eventgrid/vendored_sdks/eventgrid/models/_models_py3.py index 7e9db837011..202b84a676a 100644 --- a/src/eventgrid/azext_eventgrid/vendored_sdks/eventgrid/models/_models_py3.py +++ b/src/eventgrid/azext_eventgrid/vendored_sdks/eventgrid/models/_models_py3.py @@ -167,7 +167,7 @@ class CloudError(Model): class ConnectionState(Model): - """ConnectionState Information. + """ConnectionState information. :param status: Status of the connection. Possible values include: 'Pending', 'Approved', 'Rejected', 'Disconnected' @@ -587,6 +587,25 @@ class EventChannel(Resource): 'Canceled', 'Failed' :vartype provisioning_state: str or ~azure.mgmt.eventgrid.models.EventChannelProvisioningState + :ivar partner_topic_readiness_state: The readiness state of the + corresponding partner topic. Possible values include: + 'NotActivatedByUserYet', 'ActivatedByUser', 'DeactivatedByUser', + 'DeletedByUser' + :vartype partner_topic_readiness_state: str or + ~azure.mgmt.eventgrid.models.PartnerTopicReadinessState + :param expiration_time_if_not_activated_utc: Expiration time of the event + channel. If this timer expires while the corresponding partner topic is + never activated, + the event channel and corresponding partner topic are deleted. + :type expiration_time_if_not_activated_utc: datetime + :param filter: Information about the filter for the event channel. + :type filter: ~azure.mgmt.eventgrid.models.EventChannelFilter + :param partner_topic_friendly_description: Friendly description about the + topic. This can be set by the publisher/partner to show custom description + for the customer partner topic. + This will be helpful to remove any ambiguity of the origin of creation of + the partner topic for the customer. + :type partner_topic_friendly_description: str """ _validation = { @@ -594,6 +613,7 @@ class EventChannel(Resource): 'name': {'readonly': True}, 'type': {'readonly': True}, 'provisioning_state': {'readonly': True}, + 'partner_topic_readiness_state': {'readonly': True}, } _attribute_map = { @@ -603,13 +623,21 @@ class EventChannel(Resource): 'source': {'key': 'properties.source', 'type': 'EventChannelSource'}, 'destination': {'key': 'properties.destination', 'type': 'EventChannelDestination'}, 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'partner_topic_readiness_state': {'key': 'properties.partnerTopicReadinessState', 'type': 'str'}, + 'expiration_time_if_not_activated_utc': {'key': 'properties.expirationTimeIfNotActivatedUtc', 'type': 'iso-8601'}, + 'filter': {'key': 'properties.filter', 'type': 'EventChannelFilter'}, + 'partner_topic_friendly_description': {'key': 'properties.partnerTopicFriendlyDescription', 'type': 'str'}, } - def __init__(self, *, source=None, destination=None, **kwargs) -> None: + def __init__(self, *, source=None, destination=None, expiration_time_if_not_activated_utc=None, filter=None, partner_topic_friendly_description: str=None, **kwargs) -> None: super(EventChannel, self).__init__(**kwargs) self.source = source self.destination = destination self.provisioning_state = None + self.partner_topic_readiness_state = None + self.expiration_time_if_not_activated_utc = expiration_time_if_not_activated_utc + self.filter = filter + self.partner_topic_friendly_description = partner_topic_friendly_description class EventChannelDestination(Model): @@ -643,6 +671,23 @@ def __init__(self, *, azure_subscription_id: str=None, resource_group: str=None, self.partner_topic_name = partner_topic_name +class EventChannelFilter(Model): + """Filter for the Event Channel. + + :param advanced_filters: An array of advanced filters that are used for + filtering event channels. + :type advanced_filters: list[~azure.mgmt.eventgrid.models.AdvancedFilter] + """ + + _attribute_map = { + 'advanced_filters': {'key': 'advancedFilters', 'type': '[AdvancedFilter]'}, + } + + def __init__(self, *, advanced_filters=None, **kwargs) -> None: + super(EventChannelFilter, self).__init__(**kwargs) + self.advanced_filters = advanced_filters + + class EventChannelSource(Model): """Properties of the source of an event channel. @@ -1640,9 +1685,30 @@ class PartnerRegistration(TrackedResource): :param partner_resource_type_display_name: Display name of the partner resource type. :type partner_resource_type_display_name: str - :param partner_resource_type_description: Description of the partner - resource type. + :param partner_resource_type_description: Short description of the partner + resource type. The length of this description should not exceed 256 + characters. :type partner_resource_type_description: str + :param long_description: Long description for the custom scenarios and + integration to be displayed in the portal if needed. + Length of this description should not exceed 2048 characters. + :type long_description: str + :param partner_customer_service_number: The customer service number of the + publisher. The expected phone format should start with a '+' sign + followed by the country code. The remaining digits are then followed. Only + digits and spaces are allowed and its + length cannot exceed 16 digits including country code. Examples of valid + phone numbers are: +1 515 123 4567 and + +966 7 5115 2471. Examples of invalid phone numbers are: +1 (515) + 123-4567, 1 515 123 4567 and +966 121 5115 24 7 551 1234 43 + :type partner_customer_service_number: str + :param partner_customer_service_extension: The extension of the customer + service number of the publisher. Only digits are allowed and number of + digits should not exceed 10. + :type partner_customer_service_extension: str + :param customer_service_uri: The extension of the customer service URI of + the publisher. + :type customer_service_uri: str :param setup_uri: URI of the partner website that can be used by Azure customers to setup Event Grid integration on an event source. @@ -1682,19 +1748,27 @@ class PartnerRegistration(TrackedResource): 'partner_resource_type_name': {'key': 'properties.partnerResourceTypeName', 'type': 'str'}, 'partner_resource_type_display_name': {'key': 'properties.partnerResourceTypeDisplayName', 'type': 'str'}, 'partner_resource_type_description': {'key': 'properties.partnerResourceTypeDescription', 'type': 'str'}, + 'long_description': {'key': 'properties.longDescription', 'type': 'str'}, + 'partner_customer_service_number': {'key': 'properties.partnerCustomerServiceNumber', 'type': 'str'}, + 'partner_customer_service_extension': {'key': 'properties.partnerCustomerServiceExtension', 'type': 'str'}, + 'customer_service_uri': {'key': 'properties.customerServiceUri', 'type': 'str'}, 'setup_uri': {'key': 'properties.setupUri', 'type': 'str'}, 'logo_uri': {'key': 'properties.logoUri', 'type': 'str'}, 'visibility_state': {'key': 'properties.visibilityState', 'type': 'str'}, 'authorized_azure_subscription_ids': {'key': 'properties.authorizedAzureSubscriptionIds', 'type': '[str]'}, } - def __init__(self, *, location: str, tags=None, partner_name: str=None, partner_resource_type_name: str=None, partner_resource_type_display_name: str=None, partner_resource_type_description: str=None, setup_uri: str=None, logo_uri: str=None, visibility_state=None, authorized_azure_subscription_ids=None, **kwargs) -> None: + def __init__(self, *, location: str, tags=None, partner_name: str=None, partner_resource_type_name: str=None, partner_resource_type_display_name: str=None, partner_resource_type_description: str=None, long_description: str=None, partner_customer_service_number: str=None, partner_customer_service_extension: str=None, customer_service_uri: str=None, setup_uri: str=None, logo_uri: str=None, visibility_state=None, authorized_azure_subscription_ids=None, **kwargs) -> None: super(PartnerRegistration, self).__init__(location=location, tags=tags, **kwargs) self.provisioning_state = None self.partner_name = partner_name self.partner_resource_type_name = partner_resource_type_name self.partner_resource_type_display_name = partner_resource_type_display_name self.partner_resource_type_description = partner_resource_type_description + self.long_description = long_description + self.partner_customer_service_number = partner_customer_service_number + self.partner_customer_service_extension = partner_customer_service_extension + self.customer_service_uri = customer_service_uri self.setup_uri = setup_uri self.logo_uri = logo_uri self.visibility_state = visibility_state @@ -1725,6 +1799,8 @@ def __init__(self, *, value=None, next_link: str=None, **kwargs) -> None: class PartnerRegistrationUpdateParameters(Model): """Properties of the Partner Registration update. + :param tags: Tags of the partner registration resource. + :type tags: dict[str, str] :param partner_topic_type_name: Name of the partner topic type. :type partner_topic_type_name: str :param partner_topic_type_display_name: Display name of the partner topic @@ -1750,6 +1826,7 @@ class PartnerRegistrationUpdateParameters(Model): """ _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, 'partner_topic_type_name': {'key': 'partnerTopicTypeName', 'type': 'str'}, 'partner_topic_type_display_name': {'key': 'partnerTopicTypeDisplayName', 'type': 'str'}, 'partner_topic_type_description': {'key': 'partnerTopicTypeDescription', 'type': 'str'}, @@ -1758,8 +1835,9 @@ class PartnerRegistrationUpdateParameters(Model): 'authorized_azure_subscription_ids': {'key': 'authorizedAzureSubscriptionIds', 'type': '[str]'}, } - def __init__(self, *, partner_topic_type_name: str=None, partner_topic_type_display_name: str=None, partner_topic_type_description: str=None, setup_uri: str=None, logo_uri: str=None, authorized_azure_subscription_ids=None, **kwargs) -> None: + def __init__(self, *, tags=None, partner_topic_type_name: str=None, partner_topic_type_display_name: str=None, partner_topic_type_description: str=None, setup_uri: str=None, logo_uri: str=None, authorized_azure_subscription_ids=None, **kwargs) -> None: super(PartnerRegistrationUpdateParameters, self).__init__(**kwargs) + self.tags = tags self.partner_topic_type_name = partner_topic_type_name self.partner_topic_type_display_name = partner_topic_type_display_name self.partner_topic_type_description = partner_topic_type_description @@ -1789,6 +1867,11 @@ class PartnerTopic(TrackedResource): :param source: Source associated with this partner topic. This represents a unique partner resource. :type source: str + :param expiration_time_if_not_activated_utc: Expiration time of the + partner topic. If this timer expires while the partner topic is still + never activated, + the partner topic and corresponding event channel are deleted. + :type expiration_time_if_not_activated_utc: datetime :ivar provisioning_state: Provisioning state of the partner topic. Possible values include: 'Creating', 'Updating', 'Deleting', 'Succeeded', 'Canceled', 'Failed' @@ -1798,6 +1881,12 @@ class PartnerTopic(TrackedResource): values include: 'NeverActivated', 'Activated', 'Deactivated' :type activation_state: str or ~azure.mgmt.eventgrid.models.PartnerTopicActivationState + :param partner_topic_friendly_description: Friendly description about the + topic. This can be set by the publisher/partner to show custom description + for the customer partner topic. + This will be helpful to remove any ambiguity of the origin of creation of + the partner topic for the customer. + :type partner_topic_friendly_description: str """ _validation = { @@ -1815,15 +1904,19 @@ class PartnerTopic(TrackedResource): 'location': {'key': 'location', 'type': 'str'}, 'tags': {'key': 'tags', 'type': '{str}'}, 'source': {'key': 'properties.source', 'type': 'str'}, + 'expiration_time_if_not_activated_utc': {'key': 'properties.expirationTimeIfNotActivatedUtc', 'type': 'iso-8601'}, 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 'activation_state': {'key': 'properties.activationState', 'type': 'str'}, + 'partner_topic_friendly_description': {'key': 'properties.partnerTopicFriendlyDescription', 'type': 'str'}, } - def __init__(self, *, location: str, tags=None, source: str=None, activation_state=None, **kwargs) -> None: + def __init__(self, *, location: str, tags=None, source: str=None, expiration_time_if_not_activated_utc=None, activation_state=None, partner_topic_friendly_description: str=None, **kwargs) -> None: super(PartnerTopic, self).__init__(location=location, tags=tags, **kwargs) self.source = source + self.expiration_time_if_not_activated_utc = expiration_time_if_not_activated_utc self.provisioning_state = None self.activation_state = activation_state + self.partner_topic_friendly_description = partner_topic_friendly_description class PartnerTopicType(Resource): @@ -1936,7 +2029,7 @@ def __init__(self, *, id: str=None, **kwargs) -> None: class PrivateEndpointConnection(Resource): - """PrivateEndpointConnection resource information. + """PrivateEndpointConnection. Variables are only populated by the server, and will be ignored when sending a request. @@ -2030,9 +2123,8 @@ def __init__(self, *, group_id: str=None, display_name: str=None, required_membe class ResourceSku(Model): """Describes an EventGrid Resource Sku. - :param name: the Sku name of the resource. - the possible values: Basic; Premium. Possible values include: 'Basic', - 'Premium' + :param name: The Sku name of the resource. The possible values are: Basic + or Premium. Possible values include: 'Basic', 'Premium' :type name: str or ~azure.mgmt.eventgrid.models.Sku """ @@ -2122,47 +2214,6 @@ def __init__(self, *, resource_id: str=None, **kwargs) -> None: self.endpoint_type = 'ServiceBusTopic' -class SkuDefinitionsForResourceType(Model): - """Describes an EventGrid Resource Sku Definition. - - :param resource_type: The Resource Type applicable for the Sku. - :type resource_type: str - :param skus: The Sku pricing tiers for the resource type. - :type skus: list[~azure.mgmt.eventgrid.models.ResourceSku] - """ - - _attribute_map = { - 'resource_type': {'key': 'resourceType', 'type': 'str'}, - 'skus': {'key': 'skus', 'type': '[ResourceSku]'}, - } - - def __init__(self, *, resource_type: str=None, skus=None, **kwargs) -> None: - super(SkuDefinitionsForResourceType, self).__init__(**kwargs) - self.resource_type = resource_type - self.skus = skus - - -class SkuDefinitionsForResourceTypeListResult(Model): - """List collection of Sku Definitions for each Resource Type. - - :param value: A collection of Sku Definitions for each Resource Type. - :type value: - list[~azure.mgmt.eventgrid.models.SkuDefinitionsForResourceType] - :param next_link: A link for the next page of Sku Definitions. - :type next_link: str - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[SkuDefinitionsForResourceType]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__(self, *, value=None, next_link: str=None, **kwargs) -> None: - super(SkuDefinitionsForResourceTypeListResult, self).__init__(**kwargs) - self.value = value - self.next_link = next_link - - class StorageBlobDeadLetterDestination(DeadLetterDestination): """Information about the storage blob based dead letter destination. @@ -2471,7 +2522,7 @@ class Topic(TrackedResource): :type location: str :param tags: Tags of the resource. :type tags: dict[str, str] - :param private_endpoint_connections: List of private endpoint connections. + :param private_endpoint_connections: :type private_endpoint_connections: list[~azure.mgmt.eventgrid.models.PrivateEndpointConnection] :ivar provisioning_state: Provisioning state of the topic. Possible values diff --git a/src/eventgrid/azext_eventgrid/vendored_sdks/eventgrid/operations/_event_channels_operations.py b/src/eventgrid/azext_eventgrid/vendored_sdks/eventgrid/operations/_event_channels_operations.py index 25f10bb4882..ef4d815ffdf 100644 --- a/src/eventgrid/azext_eventgrid/vendored_sdks/eventgrid/operations/_event_channels_operations.py +++ b/src/eventgrid/azext_eventgrid/vendored_sdks/eventgrid/operations/_event_channels_operations.py @@ -12,6 +12,8 @@ import uuid from msrest.pipeline import ClientRawResponse from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling from .. import models @@ -180,28 +182,9 @@ def create_or_update( return deserialized create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/partnerNamespaces/{partnerNamespaceName}/eventChannels/{eventChannelName}'} - def delete( - self, resource_group_name, partner_namespace_name, event_channel_name, custom_headers=None, raw=False, **operation_config): - """Delete an event channel. - - Delete existing event channel. - :param resource_group_name: The name of the resource group within the - user's subscription. - :type resource_group_name: str - :param partner_namespace_name: Name of the partner namespace. - :type partner_namespace_name: str - :param event_channel_name: Name of the event channel. - :type event_channel_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: None or ClientRawResponse if raw=true - :rtype: None or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ + def _delete_initial( + self, resource_group_name, partner_namespace_name, event_channel_name, custom_headers=None, raw=False, **operation_config): # Construct URL url = self.delete.metadata['url'] path_format_arguments = { @@ -237,6 +220,52 @@ def delete( if raw: client_raw_response = ClientRawResponse(None, response) return client_raw_response + + def delete( + self, resource_group_name, partner_namespace_name, event_channel_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Delete an event channel. + + Delete existing event channel. + + :param resource_group_name: The name of the resource group within the + user's subscription. + :type resource_group_name: str + :param partner_namespace_name: Name of the partner namespace. + :type partner_namespace_name: str + :param event_channel_name: Name of the event channel. + :type event_channel_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + partner_namespace_name=partner_namespace_name, + event_channel_name=event_channel_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/partnerNamespaces/{partnerNamespaceName}/eventChannels/{eventChannelName}'} def list_by_partner_namespace( diff --git a/src/eventgrid/azext_eventgrid/vendored_sdks/eventgrid/operations/_partner_topic_event_subscriptions_operations.py b/src/eventgrid/azext_eventgrid/vendored_sdks/eventgrid/operations/_partner_topic_event_subscriptions_operations.py index 678c1fef122..04110282b68 100644 --- a/src/eventgrid/azext_eventgrid/vendored_sdks/eventgrid/operations/_partner_topic_event_subscriptions_operations.py +++ b/src/eventgrid/azext_eventgrid/vendored_sdks/eventgrid/operations/_partner_topic_event_subscriptions_operations.py @@ -492,7 +492,7 @@ def get_full_url( get_full_url.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/partnerTopics/{partnerTopicName}/eventSubscriptions/{eventSubscriptionName}/getFullUrl'} def list_by_partner_topic( - self, resource_group_name, partner_topic_name, custom_headers=None, raw=False, **operation_config): + self, resource_group_name, partner_topic_name, filter=None, top=None, custom_headers=None, raw=False, **operation_config): """List event subscriptions of a partner topic. List event subscriptions that belong to a specific partner topic. @@ -502,6 +502,20 @@ def list_by_partner_topic( :type resource_group_name: str :param partner_topic_name: Name of the partner topic. :type partner_topic_name: str + :param filter: The query used to filter the search results using OData + syntax. Filtering is permitted on the 'name' property only and with + limited number of OData operations. These operations are: the + 'contains' function as well as the following logical operations: not, + and, or, eq (for equal), and ne (for not equal). No arithmetic + operations are supported. The following is a valid filter example: + $filter=contains(namE, 'PATTERN') and name ne 'PATTERN-1'. The + following is not a valid filter example: $filter=location eq 'westus'. + :type filter: str + :param top: The number of results to return per page for the list + operation. Valid range for top parameter is 1 to 100. If not + specified, the default number of results to be returned is 20 items + per page. + :type top: int :param dict custom_headers: headers that will be added to the request :param bool raw: returns the direct response alongside the deserialized response @@ -526,6 +540,10 @@ def prepare_request(next_link=None): # Construct parameters query_parameters = {} query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + if top is not None: + query_parameters['$top'] = self._serialize.query("top", top, 'int') else: url = next_link diff --git a/src/eventgrid/azext_eventgrid/vendored_sdks/eventgrid/operations/_private_endpoint_connections_operations.py b/src/eventgrid/azext_eventgrid/vendored_sdks/eventgrid/operations/_private_endpoint_connections_operations.py index 6aa90da3bc5..253fc8db222 100644 --- a/src/eventgrid/azext_eventgrid/vendored_sdks/eventgrid/operations/_private_endpoint_connections_operations.py +++ b/src/eventgrid/azext_eventgrid/vendored_sdks/eventgrid/operations/_private_endpoint_connections_operations.py @@ -116,7 +116,7 @@ def get( def _update_initial( - self, resource_group_name, parent_type, parent_name, private_endpoint_connection_name, custom_headers=None, raw=False, **operation_config): + self, resource_group_name, parent_type, parent_name, private_endpoint_connection_name, private_endpoint_connection, custom_headers=None, raw=False, **operation_config): # Construct URL url = self.update.metadata['url'] path_format_arguments = { @@ -135,6 +135,7 @@ def _update_initial( # Construct headers header_parameters = {} header_parameters['Accept'] = 'application/json' + 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: @@ -142,8 +143,11 @@ def _update_initial( 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(private_endpoint_connection, 'PrivateEndpointConnection') + # Construct and send request - request = self._client.put(url, query_parameters, header_parameters) + request = self._client.put(url, query_parameters, header_parameters, body_content) response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200, 201]: @@ -165,7 +169,7 @@ def _update_initial( return deserialized def update( - self, resource_group_name, parent_type, parent_name, private_endpoint_connection_name, custom_headers=None, raw=False, polling=True, **operation_config): + self, resource_group_name, parent_type, parent_name, private_endpoint_connection_name, private_endpoint_connection, custom_headers=None, raw=False, polling=True, **operation_config): """Update a specific private endpoint connection. Update a specific private endpoint connection under a topic or domain. @@ -182,6 +186,10 @@ def update( :param private_endpoint_connection_name: The name of the private endpoint connection connection. :type private_endpoint_connection_name: str + :param private_endpoint_connection: The private endpoint connection + object to update. + :type private_endpoint_connection: + ~azure.mgmt.eventgrid.models.PrivateEndpointConnection :param dict custom_headers: headers that will be added to the request :param bool raw: The poller return type is ClientRawResponse, the direct response alongside the deserialized response @@ -201,6 +209,7 @@ def update( parent_type=parent_type, parent_name=parent_name, private_endpoint_connection_name=private_endpoint_connection_name, + private_endpoint_connection=private_endpoint_connection, custom_headers=custom_headers, raw=True, **operation_config diff --git a/src/eventgrid/azext_eventgrid/vendored_sdks/eventgrid/operations/_system_topic_event_subscriptions_operations.py b/src/eventgrid/azext_eventgrid/vendored_sdks/eventgrid/operations/_system_topic_event_subscriptions_operations.py index 94eb74dd3bb..bfa03f26013 100644 --- a/src/eventgrid/azext_eventgrid/vendored_sdks/eventgrid/operations/_system_topic_event_subscriptions_operations.py +++ b/src/eventgrid/azext_eventgrid/vendored_sdks/eventgrid/operations/_system_topic_event_subscriptions_operations.py @@ -492,7 +492,7 @@ def get_full_url( get_full_url.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/systemTopics/{systemTopicName}/eventSubscriptions/{eventSubscriptionName}/getFullUrl'} def list_by_system_topic( - self, resource_group_name, system_topic_name, custom_headers=None, raw=False, **operation_config): + self, resource_group_name, system_topic_name, filter=None, top=None, custom_headers=None, raw=False, **operation_config): """List event subscriptions of a system topic. List event subscriptions that belong to a specific system topic. @@ -502,6 +502,20 @@ def list_by_system_topic( :type resource_group_name: str :param system_topic_name: Name of the system topic. :type system_topic_name: str + :param filter: The query used to filter the search results using OData + syntax. Filtering is permitted on the 'name' property only and with + limited number of OData operations. These operations are: the + 'contains' function as well as the following logical operations: not, + and, or, eq (for equal), and ne (for not equal). No arithmetic + operations are supported. The following is a valid filter example: + $filter=contains(namE, 'PATTERN') and name ne 'PATTERN-1'. The + following is not a valid filter example: $filter=location eq 'westus'. + :type filter: str + :param top: The number of results to return per page for the list + operation. Valid range for top parameter is 1 to 100. If not + specified, the default number of results to be returned is 20 items + per page. + :type top: int :param dict custom_headers: headers that will be added to the request :param bool raw: returns the direct response alongside the deserialized response @@ -526,6 +540,10 @@ def prepare_request(next_link=None): # Construct parameters query_parameters = {} query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + if top is not None: + query_parameters['$top'] = self._serialize.query("top", top, 'int') else: url = next_link diff --git a/src/eventgrid/azext_eventgrid/vendored_sdks/eventgrid/version.py b/src/eventgrid/azext_eventgrid/vendored_sdks/eventgrid/version.py index fc43877054a..29bcdffc352 100644 --- a/src/eventgrid/azext_eventgrid/vendored_sdks/eventgrid/version.py +++ b/src/eventgrid/azext_eventgrid/vendored_sdks/eventgrid/version.py @@ -9,4 +9,4 @@ # regenerated. # -------------------------------------------------------------------------- -VERSION = "3.0.0rc4" +VERSION = "3.0.0rc6" diff --git a/src/eventgrid/setup.py b/src/eventgrid/setup.py index 70f7d251241..5280499d98f 100644 --- a/src/eventgrid/setup.py +++ b/src/eventgrid/setup.py @@ -8,7 +8,7 @@ from codecs import open from setuptools import setup, find_packages -VERSION = "0.4.7" +VERSION = "0.4.9" CLASSIFIERS = [ 'Development Status :: 4 - Beta', diff --git a/src/front-door/azext_front_door/_params.py b/src/front-door/azext_front_door/_params.py index ca943d7fa06..382de4d6bca 100644 --- a/src/front-door/azext_front_door/_params.py +++ b/src/front-door/azext_front_door/_params.py @@ -87,7 +87,7 @@ def load_arguments(self, _): with self.argument_context('network front-door', arg_group='Routing Rule') as c: c.argument('accepted_protocols', nargs='+', help='Space-separated list of protocols to accept. Default: Http') c.argument('patterns_to_match', options_list='--patterns', nargs='+', help='Space-separated list of patterns to match. Default: \'/*\'.') - c.argument('forwarding_protocol', help='Protocol to use for forwarding traffic.') + c.argument('forwarding_protocol', arg_type=get_enum_type(FrontDoorForwardingProtocol), help='Protocol to use for forwarding traffic.') c.argument('route_type', arg_type=get_enum_type(RouteType), help='Route type to define how Front Door should handle requests for this route i.e. forward them to a backend or redirect the users to a different URL.') with self.argument_context('network front-door purge-endpoint') as c: @@ -129,15 +129,17 @@ def load_arguments(self, _): with self.argument_context('network front-door routing-rule', arg_group=None) as c: c.argument('accepted_protocols', nargs='+', help='Space-separated list of protocols to accept. Default: Http') c.argument('patterns_to_match', options_list='--patterns', nargs='+', help='Space-separated list of patterns to match. Default: \'/*\'.') - c.argument('rules_engine', help='Name or ID of a Rules Engine configuration.', validator=validate_rules_engine) + c.argument('rules_engine', help='Name or ID of a Rules Engine configuration. To unlink property, \"--remove rulesEngine\"', validator=validate_rules_engine) c.argument('frontend_endpoints', help='Space-separated list of frontend endpoint names or IDs.', nargs='+', validator=validate_frontend_endpoints) with self.argument_context('network front-door routing-rule', arg_group='Forward Routing Rule') as c: - c.argument('backend_pool', help='Name or ID of a backend pool.', validator=validate_backend_pool) - c.argument('forwarding_protocol', help='Protocol to use for forwarding traffic.') + c.argument('backend_pool', help="Name or ID of a backend pool. It's required to create a Forward routing rule.", validator=validate_backend_pool) + c.argument('forwarding_protocol', arg_type=get_enum_type(FrontDoorForwardingProtocol), help='Protocol to use for forwarding traffic.') c.argument('custom_forwarding_path', help='Custom path used to rewrite resource paths matched by this rule. Leave empty to use incoming path.') c.argument('caching', arg_type=get_three_state_flag(positive_label='Enabled', negative_label='Disabled', return_label=False), help='Whether to enable caching for this route.') + c.argument('cache_duration', help='The duration for which the content needs to be cached. Allowed format is ISO 8601 duration') c.argument('dynamic_compression', arg_type=get_three_state_flag(positive_label='Enabled', negative_label='Disabled', return_label=True), help='Use dynamic compression for cached content.') c.argument('query_parameter_strip_directive', arg_type=get_enum_type(FrontDoorQuery), help='Treatment of URL query terms when forming the cache key.') + c.argument('query_parameters', help='Query parameters to include or exclude (comma separated) when using query-parameter-strip-directive type StripAllExcept or StripOnly respectively.') with self.argument_context('network front-door routing-rule', arg_group='Redirect Routing Rule') as c: c.argument('redirect_type', arg_type=get_enum_type(FrontDoorRedirectType), help='The redirect type the rule will use when redirecting traffic.') c.argument('redirect_protocol', arg_type=get_enum_type(FrontDoorRedirectProtocol), help='The protocol of the destination to where the traffic is redirected.') @@ -276,7 +278,7 @@ def load_arguments(self, _): c.argument('front_door_name', frontdoor_name_type, id_part=None) c.argument('rules_engine_name', rules_engine_name_type, id_part=None) c.argument('rule_name', options_list=['--name', '-n'], help='Name of the rule') - c.argument('action_type', arg_group="Action", arg_type=get_enum_type(['RequestHeader', 'ResponseHeader', 'ForwardRouteOverride', 'RedirectRouteOverride']), help='Action type to apply for a rule.') + c.argument('action_type', arg_group="Action", arg_type=get_enum_type(['RequestHeader', 'ResponseHeader']), help='Action type to apply for a rule.') c.argument('header_action', arg_group="Action", arg_type=get_enum_type(HeaderActionType), help='Header action type for the requests.') c.argument('header_name', arg_group="Action", help='Name of the header to modify.') c.argument('header_value', arg_group="Action", help='Value of the header.') @@ -290,6 +292,7 @@ def load_arguments(self, _): c.argument('match_processing_behavior', arg_type=get_enum_type(MatchProcessingBehavior), help='Whether to stop processing rules after conditions in a rule is satisfied.') with self.argument_context('network front-door rules-engine rule action', arg_group='Forward Route Override') as c: + c.argument('action_type', arg_group="Action", arg_type=get_enum_type(['RequestHeader', 'ResponseHeader', 'ForwardRouteOverride', 'RedirectRouteOverride']), help='Action type to apply for a rule.') c.argument('backend_pool', help='Name or ID of a backend pool.', validator=validate_backend_pool) c.argument('forwarding_protocol', arg_type=get_enum_type(FrontDoorForwardingProtocol), help='Protocol to use for forwarding traffic.') c.argument('custom_forwarding_path', help='Custom path used to rewrite resource paths matched by this rule. Leave empty to use incoming path.') diff --git a/src/front-door/azext_front_door/custom.py b/src/front-door/azext_front_door/custom.py index ffa0b83f77a..699378f814b 100644 --- a/src/front-door/azext_front_door/custom.py +++ b/src/front-door/azext_front_door/custom.py @@ -500,14 +500,17 @@ def update_fd_load_balancing_settings(instance, sample_size=None, successful_sam def routing_rule_usage_helper(route_type, backend_pool=None, custom_forwarding_path=None, forwarding_protocol=None, dynamic_compression=None, - query_parameter_strip_directive=None, redirect_type=None, + query_parameter_strip_directive=None, query_parameters=None, + cache_duration=None, redirect_type=None, redirect_protocol=None, custom_host=None, custom_path=None, custom_fragment=None, custom_query_string=None): forwarding_usage = ('usage error: [--backend-pool BACKEND_POOL] ' '[--custom-forwarding-path CUSTOM_FORWARDING_PATH] ' '[--forwarding-protocol FORWARDING_PROTOCOL] ' - '[--caching {Enabled,Disbaled}]' - '[--query-parameter-strip-directive {StripNone,StripAll}] ' + '[--caching {Enabled,Disbaled}] ' + '[--query-parameter-strip-directive {StripNone,StripAll,StripOnly,StripAllExcept}] ' + '[--query-parameters QUERY_PARAMETERS] ' + '[--cache-duration CACHE_DURATION] ' '[--dynamic-compression [{Enabled,Disabled}]]') redirect_usage = ('usage error: [--redirect-type {Moved,Found,TemporaryRedirect,PermanentRedirect}]' '[--redirect-protocol {HttpOnly,HttpsOnly,MatchRequest}] ' @@ -518,8 +521,8 @@ def routing_rule_usage_helper(route_type, backend_pool=None, custom_forwarding_p if 'Forward' in route_type and any([custom_host, custom_path, custom_fragment, custom_query_string]) and getattr(redirect_type, 'is_default', None) and getattr(redirect_protocol, 'is_default', None): from knack.util import CLIError raise CLIError(forwarding_usage) - if 'Redirect' in route_type and any([custom_forwarding_path, forwarding_protocol, backend_pool, - query_parameter_strip_directive, dynamic_compression]): + if 'Redirect' in route_type and any([custom_forwarding_path, forwarding_protocol, backend_pool, query_parameters, + cache_duration, query_parameter_strip_directive, dynamic_compression]): from knack.util import CLIError raise CLIError(redirect_usage) @@ -528,14 +531,16 @@ def create_fd_routing_rules(cmd, resource_group_name, front_door_name, item_name backend_pool=None, accepted_protocols=None, patterns_to_match=None, rules_engine=None, custom_forwarding_path=None, forwarding_protocol=None, disabled=None, caching=None, dynamic_compression=None, query_parameter_strip_directive=None, - redirect_type='Moved', redirect_protocol='MatchRequest', custom_host=None, custom_path=None, + query_parameters=None, cache_duration=None, redirect_type='Moved', + redirect_protocol='MatchRequest', custom_host=None, custom_path=None, custom_fragment=None, custom_query_string=None): from azext_front_door.vendored_sdks.models import (CacheConfiguration, RoutingRule, SubResource, ForwardingConfiguration, RedirectConfiguration) routing_rule_usage_helper(route_type, backend_pool, custom_forwarding_path, forwarding_protocol, dynamic_compression, - query_parameter_strip_directive, redirect_type, + query_parameter_strip_directive, query_parameters, + cache_duration, redirect_type, redirect_protocol, custom_host, custom_path, custom_fragment, custom_query_string) @@ -553,7 +558,9 @@ def create_fd_routing_rules(cmd, resource_group_name, front_door_name, item_name backend_pool=SubResource(id=backend_pool) if backend_pool else None, cache_configuration=CacheConfiguration( query_parameter_strip_directive=query_parameter_strip_directive, - dynamic_compression=dynamic_compression + query_parameters=query_parameters, + dynamic_compression=dynamic_compression, + cache_duration=cache_duration ) if caching else None ) ) @@ -580,9 +587,10 @@ def create_fd_routing_rules(cmd, resource_group_name, front_door_name, item_name def update_fd_routing_rule(parent, instance, item_name, frontend_endpoints=None, accepted_protocols=None, # pylint: disable=unused-argument patterns_to_match=None, custom_forwarding_path=None, forwarding_protocol=None, backend_pool=None, rules_engine=None, enabled=None, dynamic_compression=None, - caching=None, query_parameter_strip_directive=None, redirect_type=None, - redirect_protocol=None, custom_host=None, custom_path=None, - custom_fragment=None, custom_query_string=None): + caching=None, query_parameter_strip_directive=None, query_parameters=None, + cache_duration=None, redirect_type=None, redirect_protocol=None, + custom_host=None, custom_path=None, custom_fragment=None, custom_query_string=None): + from azext_front_door.vendored_sdks.models import SubResource if instance: if hasattr(instance.route_configuration, 'forwarding_protocol'): @@ -598,9 +606,15 @@ def update_fd_routing_rule(parent, instance, item_name, frontend_endpoints=None, c.update_param('forwarding_protocol', forwarding_protocol, False) c.update_param('backend_pool', SubResource(id=backend_pool) if backend_pool else None, False) if caching: + if instance.route_configuration.cache_configuration is None: + from azext_front_door.vendored_sdks.models import CacheConfiguration + instance.route_configuration.cache_configuration = CacheConfiguration( + query_parameter_strip_directive='StripNone', dynamic_compression='Enabled') with UpdateContext(instance.route_configuration.cache_configuration) as c: c.update_param('dynamic_compression', dynamic_compression, False) c.update_param('query_parameter_strip_directive', query_parameter_strip_directive, False) + c.update_param('query_parameters', query_parameters, True) + c.update_param('cache_duration', cache_duration, False) else: if hasattr(instance.route_configuration, 'cache_configuration'): instance.route_configuration.cache_configuration = None @@ -1131,12 +1145,14 @@ def create_rules_engine_rule(cmd, resource_group_name, front_door_name, rules_en client = cf_fd_rules_engines(cmd.cli_ctx, None) match_conditions = [] + if match_values is None: + match_values = [] condition = RulesEngineMatchCondition(rules_engine_match_variable=match_variable, rules_engine_operator=operator, rules_engine_match_value=match_values, selector=selector, negate_condition=negate_condition, transforms=transforms) - if condition is not None: + if condition is not None and match_variable is not None: match_conditions.append(condition) request_header_actions = [] @@ -1235,6 +1251,8 @@ def add_rules_engine_condition(cmd, resource_group_name, front_door_name, rules_ for rule in rules_engine.rules: if rule.name.upper() == rule_name.upper(): found_rule = True + if match_values is None: + match_values = [] condition = RulesEngineMatchCondition(rules_engine_match_variable=match_variable, rules_engine_operator=operator, rules_engine_match_value=match_values, @@ -1288,7 +1306,6 @@ def list_rules_engine_condition(cmd, resource_group_name, raise CLIError("rule '{}' not found".format(rule_name)) -# pylint: disable=unused-argument def add_rules_engine_action(cmd, resource_group_name, front_door_name, rules_engine_name, rule_name, action_type, header_action=None, header_name=None, header_value=None, custom_forwarding_path=None, forwarding_protocol=None, backend_pool=None, @@ -1315,7 +1332,8 @@ def add_action_helper(rule): if action_type.lower() == 'forwardrouteoverride' or 'redirectrouteoverride': routing_rule_usage_helper(action_type, backend_pool, custom_forwarding_path, forwarding_protocol, dynamic_compression, - query_parameter_strip_directive, redirect_type, + query_parameter_strip_directive, query_parameters, + cache_duration, redirect_type, redirect_protocol, custom_host, custom_path, custom_fragment, custom_query_string) if 'forward' in action_type.lower(): @@ -1326,7 +1344,9 @@ def add_action_helper(rule): id=backend_pool) if backend_pool else None, cache_configuration=CacheConfiguration( query_parameter_strip_directive=query_parameter_strip_directive, - dynamic_compression=dynamic_compression + query_parameters=query_parameters, + dynamic_compression=dynamic_compression, + cache_duration=cache_duration ) if caching else None ) elif 'redirect' in action_type.lower(): diff --git a/src/front-door/azext_front_door/tests/latest/recordings/test_route_rule_basic.yaml b/src/front-door/azext_front_door/tests/latest/recordings/test_route_rule_basic.yaml index 6b474e895a9..04270060424 100644 --- a/src/front-door/azext_front_door/tests/latest/recordings/test_route_rule_basic.yaml +++ b/src/front-door/azext_front_door/tests/latest/recordings/test_route_rule_basic.yaml @@ -36,7 +36,7 @@ interactions: - -g -n --backend-address User-Agent: - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: PUT @@ -65,11 +65,11 @@ interactions: \ \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool\"\r\n \ }\r\n },\"rulesEngine\":null\r\n }\r\n }\r\n \ ],\"backendPoolsSettings\":{\r\n \"enforceCertificateNameCheck\":\"Enabled\",\"sendRecvTimeoutSeconds\":30\r\n - \ },\"enabledState\":\"Enabled\",\"cName\":\"clifrontdoor000002.azurefd.net\",\"frontdoorId\":\"0b846cc1-81ff-4211-9cf2-b3f8592a5399\",\"friendlyName\":\"clifrontdoor000002\"\r\n + \ },\"enabledState\":\"Enabled\",\"cName\":\"clifrontdoor000002.azurefd.net\",\"frontdoorId\":\"3e616148-3dcd-450b-8533-6a346af62f0d\",\"friendlyName\":\"clifrontdoor000002\"\r\n \ }\r\n}" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/5746578e-bfbb-46e7-b821-78c51b799ae8?api-version=2020-01-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/cbf63703-e7c3-4588-b203-f8b099dab188?api-version=2020-01-01 cache-control: - no-cache content-length: @@ -77,7 +77,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Sun, 22 Mar 2020 02:43:59 GMT + - Fri, 15 May 2020 06:49:31 GMT expires: - '-1' odata-version: @@ -93,7 +93,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1199' x-powered-by: - ASP.NET status: @@ -114,9 +114,9 @@ interactions: - -g -n --backend-address User-Agent: - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/5746578e-bfbb-46e7-b821-78c51b799ae8?api-version=2020-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/cbf63703-e7c3-4588-b203-f8b099dab188?api-version=2020-01-01 response: body: string: "{\r\n \"status\":\"InProgress\",\"error\":{\r\n \"code\":\"None\",\"message\":null\r\n @@ -129,7 +129,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Sun, 22 Mar 2020 02:44:10 GMT + - Fri, 15 May 2020 06:49:41 GMT expires: - '-1' odata-version: @@ -168,63 +168,9 @@ interactions: - -g -n --backend-address User-Agent: - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/5746578e-bfbb-46e7-b821-78c51b799ae8?api-version=2020-01-01 - response: - body: - string: "{\r\n \"status\":\"InProgress\",\"error\":{\r\n \"code\":\"None\",\"message\":null\r\n - \ }\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '78' - content-type: - - application/json; odata.metadata=minimal - date: - - Sun, 22 Mar 2020 02:44:42 GMT - expires: - - '-1' - odata-version: - - '4.0' - pragma: - - no-cache - server: - - Microsoft-IIS/8.5 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-aspnet-version: - - 4.0.30319 - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network front-door create - Connection: - - keep-alive - ParameterSetName: - - -g -n --backend-address - User-Agent: - - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/5746578e-bfbb-46e7-b821-78c51b799ae8?api-version=2020-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/cbf63703-e7c3-4588-b203-f8b099dab188?api-version=2020-01-01 response: body: string: "{\r\n \"status\":\"Succeeded\",\"error\":{\r\n \"code\":\"None\",\"message\":null\r\n @@ -237,7 +183,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Sun, 22 Mar 2020 02:45:12 GMT + - Fri, 15 May 2020 06:50:12 GMT expires: - '-1' odata-version: @@ -276,7 +222,7 @@ interactions: - -g -n --backend-address User-Agent: - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002?api-version=2020-01-01 response: @@ -303,7 +249,7 @@ interactions: \ \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool\"\r\n \ }\r\n },\"rulesEngine\":null\r\n }\r\n }\r\n \ ],\"backendPoolsSettings\":{\r\n \"enforceCertificateNameCheck\":\"Enabled\",\"sendRecvTimeoutSeconds\":30\r\n - \ },\"enabledState\":\"Enabled\",\"cName\":\"clifrontdoor000002.azurefd.net\",\"frontdoorId\":\"0b846cc1-81ff-4211-9cf2-b3f8592a5399\",\"friendlyName\":\"clifrontdoor000002\"\r\n + \ },\"enabledState\":\"Enabled\",\"cName\":\"clifrontdoor000002.azurefd.net\",\"frontdoorId\":\"3e616148-3dcd-450b-8533-6a346af62f0d\",\"friendlyName\":\"clifrontdoor000002\"\r\n \ }\r\n}" headers: cache-control: @@ -313,7 +259,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Sun, 22 Mar 2020 02:45:13 GMT + - Fri, 15 May 2020 06:50:13 GMT expires: - '-1' odata-version: @@ -352,7 +298,7 @@ interactions: - -f -g -n --frontend-endpoints --route-type --backend-pool --patterns User-Agent: - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET @@ -381,7 +327,7 @@ interactions: \ \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool\"\r\n \ }\r\n },\"rulesEngine\":null\r\n }\r\n }\r\n \ ],\"backendPoolsSettings\":{\r\n \"enforceCertificateNameCheck\":\"Enabled\",\"sendRecvTimeoutSeconds\":30\r\n - \ },\"enabledState\":\"Enabled\",\"cName\":\"clifrontdoor000002.azurefd.net\",\"frontdoorId\":\"0b846cc1-81ff-4211-9cf2-b3f8592a5399\",\"friendlyName\":\"clifrontdoor000002\"\r\n + \ },\"enabledState\":\"Enabled\",\"cName\":\"clifrontdoor000002.azurefd.net\",\"frontdoorId\":\"3e616148-3dcd-450b-8533-6a346af62f0d\",\"friendlyName\":\"clifrontdoor000002\"\r\n \ }\r\n}" headers: cache-control: @@ -391,7 +337,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Sun, 22 Mar 2020 02:45:15 GMT + - Fri, 15 May 2020 06:50:14 GMT expires: - '-1' odata-version: @@ -462,7 +408,7 @@ interactions: - -f -g -n --frontend-endpoints --route-type --backend-pool --patterns User-Agent: - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: PUT @@ -498,11 +444,11 @@ interactions: \ \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool\"\r\n \ }\r\n },\"rulesEngine\":null\r\n }\r\n }\r\n \ ],\"backendPoolsSettings\":{\r\n \"enforceCertificateNameCheck\":\"Enabled\",\"sendRecvTimeoutSeconds\":30\r\n - \ },\"enabledState\":\"Enabled\",\"cName\":\"clifrontdoor000002.azurefd.net\",\"frontdoorId\":\"0b846cc1-81ff-4211-9cf2-b3f8592a5399\",\"friendlyName\":\"clifrontdoor000002\"\r\n + \ },\"enabledState\":\"Enabled\",\"cName\":\"clifrontdoor000002.azurefd.net\",\"frontdoorId\":\"3e616148-3dcd-450b-8533-6a346af62f0d\",\"friendlyName\":\"clifrontdoor000002\"\r\n \ }\r\n}" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/02e482bb-2125-41c6-9bd0-a3ca6ca921ff?api-version=2020-01-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/d15dcc8c-16b2-4a51-9ca4-e183712d1666?api-version=2020-01-01 cache-control: - no-cache content-length: @@ -510,11 +456,11 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Sun, 22 Mar 2020 02:45:17 GMT + - Fri, 15 May 2020 06:50:17 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/02e482bb-2125-41c6-9bd0-a3ca6ca921ff/frontdoorresults/clifrontdoor000002?api-version=2020-01-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/d15dcc8c-16b2-4a51-9ca4-e183712d1666/frontdoorresults/clifrontdoor000002?api-version=2020-01-01 odata-version: - '4.0' pragma: @@ -549,9 +495,9 @@ interactions: - -f -g -n --frontend-endpoints --route-type --backend-pool --patterns User-Agent: - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/02e482bb-2125-41c6-9bd0-a3ca6ca921ff?api-version=2020-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/d15dcc8c-16b2-4a51-9ca4-e183712d1666?api-version=2020-01-01 response: body: string: "{\r\n \"status\":\"InProgress\",\"error\":{\r\n \"code\":\"None\",\"message\":null\r\n @@ -564,7 +510,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Sun, 22 Mar 2020 02:45:28 GMT + - Fri, 15 May 2020 06:50:28 GMT expires: - '-1' odata-version: @@ -603,9 +549,9 @@ interactions: - -f -g -n --frontend-endpoints --route-type --backend-pool --patterns User-Agent: - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/02e482bb-2125-41c6-9bd0-a3ca6ca921ff?api-version=2020-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/d15dcc8c-16b2-4a51-9ca4-e183712d1666?api-version=2020-01-01 response: body: string: "{\r\n \"status\":\"Succeeded\",\"error\":{\r\n \"code\":\"None\",\"message\":null\r\n @@ -618,7 +564,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Sun, 22 Mar 2020 02:45:59 GMT + - Fri, 15 May 2020 06:50:58 GMT expires: - '-1' odata-version: @@ -657,7 +603,7 @@ interactions: - -f -g -n --frontend-endpoints --route-type --backend-pool --patterns User-Agent: - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002?api-version=2020-01-01 response: @@ -691,7 +637,7 @@ interactions: \ \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool\"\r\n \ }\r\n },\"rulesEngine\":null\r\n }\r\n }\r\n \ ],\"backendPoolsSettings\":{\r\n \"enforceCertificateNameCheck\":\"Enabled\",\"sendRecvTimeoutSeconds\":30\r\n - \ },\"enabledState\":\"Enabled\",\"cName\":\"clifrontdoor000002.azurefd.net\",\"frontdoorId\":\"0b846cc1-81ff-4211-9cf2-b3f8592a5399\",\"friendlyName\":\"clifrontdoor000002\"\r\n + \ },\"enabledState\":\"Enabled\",\"cName\":\"clifrontdoor000002.azurefd.net\",\"frontdoorId\":\"3e616148-3dcd-450b-8533-6a346af62f0d\",\"friendlyName\":\"clifrontdoor000002\"\r\n \ }\r\n}" headers: cache-control: @@ -701,7 +647,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Sun, 22 Mar 2020 02:46:00 GMT + - Fri, 15 May 2020 06:50:59 GMT expires: - '-1' odata-version: @@ -740,7 +686,7 @@ interactions: - -f -g -n --patterns --caching User-Agent: - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET @@ -776,7 +722,7 @@ interactions: \ \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool\"\r\n \ }\r\n },\"rulesEngine\":null\r\n }\r\n }\r\n \ ],\"backendPoolsSettings\":{\r\n \"enforceCertificateNameCheck\":\"Enabled\",\"sendRecvTimeoutSeconds\":30\r\n - \ },\"enabledState\":\"Enabled\",\"cName\":\"clifrontdoor000002.azurefd.net\",\"frontdoorId\":\"0b846cc1-81ff-4211-9cf2-b3f8592a5399\",\"friendlyName\":\"clifrontdoor000002\"\r\n + \ },\"enabledState\":\"Enabled\",\"cName\":\"clifrontdoor000002.azurefd.net\",\"frontdoorId\":\"3e616148-3dcd-450b-8533-6a346af62f0d\",\"friendlyName\":\"clifrontdoor000002\"\r\n \ }\r\n}" headers: cache-control: @@ -786,7 +732,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Sun, 22 Mar 2020 02:46:01 GMT + - Fri, 15 May 2020 06:51:01 GMT expires: - '-1' odata-version: @@ -821,7 +767,8 @@ interactions: "properties": {"frontendEndpoints": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}], "acceptedProtocols": ["Http"], "patternsToMatch": ["/forward2"], "enabledState": "Enabled", "routeConfiguration": {"@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration", - "forwardingProtocol": "MatchRequest", "backendPool": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}}, + "forwardingProtocol": "MatchRequest", "cacheConfiguration": {"queryParameterStripDirective": + "StripNone", "dynamicCompression": "Enabled"}, "backendPool": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}}, "resourceState": "Enabled"}, "name": "rule1"}], "loadBalancingSettings": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings", "properties": {"sampleSize": 4, "successfulSamplesRequired": 2, "additionalLatencyMilliseconds": @@ -851,14 +798,14 @@ interactions: Connection: - keep-alive Content-Length: - - '4913' + - '5015' Content-Type: - application/json; charset=utf-8 ParameterSetName: - -f -g -n --patterns --caching User-Agent: - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: PUT @@ -890,27 +837,28 @@ interactions: \ \"frontendEndpoints\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint\"\r\n \ }\r\n ],\"acceptedProtocols\":[\r\n \"Http\"\r\n \ ],\"patternsToMatch\":[\r\n \"/forward2\"\r\n ],\"enabledState\":\"Enabled\",\"resourceState\":\"Enabled\",\"routeConfiguration\":{\r\n - \ \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration\",\"customForwardingPath\":null,\"forwardingProtocol\":\"MatchRequest\",\"cacheConfiguration\":null,\"backendPool\":{\r\n - \ \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool\"\r\n + \ \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration\",\"customForwardingPath\":null,\"forwardingProtocol\":\"MatchRequest\",\"cacheConfiguration\":{\r\n + \ \"queryParameterStripDirective\":\"StripNone\",\"queryParameters\":null,\"dynamicCompression\":\"Enabled\",\"cacheDuration\":null\r\n + \ },\"backendPool\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool\"\r\n \ }\r\n },\"rulesEngine\":null\r\n }\r\n }\r\n \ ],\"backendPoolsSettings\":{\r\n \"enforceCertificateNameCheck\":\"Enabled\",\"sendRecvTimeoutSeconds\":30\r\n - \ },\"enabledState\":\"Enabled\",\"cName\":\"clifrontdoor000002.azurefd.net\",\"frontdoorId\":\"0b846cc1-81ff-4211-9cf2-b3f8592a5399\",\"friendlyName\":\"clifrontdoor000002\"\r\n + \ },\"enabledState\":\"Enabled\",\"cName\":\"clifrontdoor000002.azurefd.net\",\"frontdoorId\":\"3e616148-3dcd-450b-8533-6a346af62f0d\",\"friendlyName\":\"clifrontdoor000002\"\r\n \ }\r\n}" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/787d19ff-b89e-486b-b0ed-5a82b3e4d1cf?api-version=2020-01-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/dc36611c-d1bf-4165-8bfe-074c4ced516f?api-version=2020-01-01 cache-control: - no-cache content-length: - - '6705' + - '6850' content-type: - application/json; odata.metadata=minimal date: - - Sun, 22 Mar 2020 02:46:04 GMT + - Fri, 15 May 2020 06:51:04 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/787d19ff-b89e-486b-b0ed-5a82b3e4d1cf/frontdoorresults/clifrontdoor000002?api-version=2020-01-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/dc36611c-d1bf-4165-8bfe-074c4ced516f/frontdoorresults/clifrontdoor000002?api-version=2020-01-01 odata-version: - '4.0' pragma: @@ -924,7 +872,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1199' x-powered-by: - ASP.NET status: @@ -945,9 +893,9 @@ interactions: - -f -g -n --patterns --caching User-Agent: - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/787d19ff-b89e-486b-b0ed-5a82b3e4d1cf?api-version=2020-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/dc36611c-d1bf-4165-8bfe-074c4ced516f?api-version=2020-01-01 response: body: string: "{\r\n \"status\":\"InProgress\",\"error\":{\r\n \"code\":\"None\",\"message\":null\r\n @@ -960,7 +908,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Sun, 22 Mar 2020 02:46:14 GMT + - Fri, 15 May 2020 06:51:14 GMT expires: - '-1' odata-version: @@ -999,9 +947,9 @@ interactions: - -f -g -n --patterns --caching User-Agent: - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/787d19ff-b89e-486b-b0ed-5a82b3e4d1cf?api-version=2020-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/dc36611c-d1bf-4165-8bfe-074c4ced516f?api-version=2020-01-01 response: body: string: "{\r\n \"status\":\"Succeeded\",\"error\":{\r\n \"code\":\"None\",\"message\":null\r\n @@ -1014,7 +962,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Sun, 22 Mar 2020 02:46:44 GMT + - Fri, 15 May 2020 06:51:45 GMT expires: - '-1' odata-version: @@ -1053,7 +1001,7 @@ interactions: - -f -g -n --patterns --caching User-Agent: - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002?api-version=2020-01-01 response: @@ -1083,21 +1031,22 @@ interactions: \ \"frontendEndpoints\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint\"\r\n \ }\r\n ],\"acceptedProtocols\":[\r\n \"Http\"\r\n \ ],\"patternsToMatch\":[\r\n \"/forward2\"\r\n ],\"enabledState\":\"Enabled\",\"resourceState\":\"Enabled\",\"routeConfiguration\":{\r\n - \ \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration\",\"customForwardingPath\":null,\"forwardingProtocol\":\"MatchRequest\",\"cacheConfiguration\":null,\"backendPool\":{\r\n - \ \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool\"\r\n + \ \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration\",\"customForwardingPath\":null,\"forwardingProtocol\":\"MatchRequest\",\"cacheConfiguration\":{\r\n + \ \"queryParameterStripDirective\":\"StripNone\",\"queryParameters\":null,\"dynamicCompression\":\"Enabled\",\"cacheDuration\":null\r\n + \ },\"backendPool\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool\"\r\n \ }\r\n },\"rulesEngine\":null\r\n }\r\n }\r\n \ ],\"backendPoolsSettings\":{\r\n \"enforceCertificateNameCheck\":\"Enabled\",\"sendRecvTimeoutSeconds\":30\r\n - \ },\"enabledState\":\"Enabled\",\"cName\":\"clifrontdoor000002.azurefd.net\",\"frontdoorId\":\"0b846cc1-81ff-4211-9cf2-b3f8592a5399\",\"friendlyName\":\"clifrontdoor000002\"\r\n + \ },\"enabledState\":\"Enabled\",\"cName\":\"clifrontdoor000002.azurefd.net\",\"frontdoorId\":\"3e616148-3dcd-450b-8533-6a346af62f0d\",\"friendlyName\":\"clifrontdoor000002\"\r\n \ }\r\n}" headers: cache-control: - no-cache content-length: - - '6705' + - '6850' content-type: - application/json; odata.metadata=minimal date: - - Sun, 22 Mar 2020 02:46:45 GMT + - Fri, 15 May 2020 06:51:46 GMT expires: - '-1' odata-version: @@ -1136,7 +1085,7 @@ interactions: - -f -g -n --frontend-endpoints --route-type --custom-host --patterns --custom-query-string User-Agent: - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET @@ -1168,21 +1117,22 @@ interactions: \ \"frontendEndpoints\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint\"\r\n \ }\r\n ],\"acceptedProtocols\":[\r\n \"Http\"\r\n \ ],\"patternsToMatch\":[\r\n \"/forward2\"\r\n ],\"enabledState\":\"Enabled\",\"resourceState\":\"Enabled\",\"routeConfiguration\":{\r\n - \ \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration\",\"customForwardingPath\":null,\"forwardingProtocol\":\"MatchRequest\",\"cacheConfiguration\":null,\"backendPool\":{\r\n - \ \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool\"\r\n + \ \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration\",\"customForwardingPath\":null,\"forwardingProtocol\":\"MatchRequest\",\"cacheConfiguration\":{\r\n + \ \"queryParameterStripDirective\":\"StripNone\",\"queryParameters\":null,\"dynamicCompression\":\"Enabled\",\"cacheDuration\":null\r\n + \ },\"backendPool\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool\"\r\n \ }\r\n },\"rulesEngine\":null\r\n }\r\n }\r\n \ ],\"backendPoolsSettings\":{\r\n \"enforceCertificateNameCheck\":\"Enabled\",\"sendRecvTimeoutSeconds\":30\r\n - \ },\"enabledState\":\"Enabled\",\"cName\":\"clifrontdoor000002.azurefd.net\",\"frontdoorId\":\"0b846cc1-81ff-4211-9cf2-b3f8592a5399\",\"friendlyName\":\"clifrontdoor000002\"\r\n + \ },\"enabledState\":\"Enabled\",\"cName\":\"clifrontdoor000002.azurefd.net\",\"frontdoorId\":\"3e616148-3dcd-450b-8533-6a346af62f0d\",\"friendlyName\":\"clifrontdoor000002\"\r\n \ }\r\n}" headers: cache-control: - no-cache content-length: - - '6705' + - '6850' content-type: - application/json; odata.metadata=minimal date: - - Sun, 22 Mar 2020 02:46:46 GMT + - Fri, 15 May 2020 06:51:46 GMT expires: - '-1' odata-version: @@ -1217,7 +1167,8 @@ interactions: "properties": {"frontendEndpoints": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}], "acceptedProtocols": ["Http"], "patternsToMatch": ["/forward2"], "enabledState": "Enabled", "routeConfiguration": {"@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration", - "forwardingProtocol": "MatchRequest", "backendPool": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}}, + "forwardingProtocol": "MatchRequest", "cacheConfiguration": {"queryParameterStripDirective": + "StripNone", "dynamicCompression": "Enabled"}, "backendPool": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}}, "resourceState": "Enabled"}, "name": "rule1"}, {"properties": {"frontendEndpoints": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}], "acceptedProtocols": ["Http"], "patternsToMatch": ["/redirect1"], "enabledState": @@ -1252,14 +1203,14 @@ interactions: Connection: - keep-alive Content-Length: - - '5558' + - '5660' Content-Type: - application/json; charset=utf-8 ParameterSetName: - -f -g -n --frontend-endpoints --route-type --custom-host --patterns --custom-query-string User-Agent: - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: PUT @@ -1291,8 +1242,9 @@ interactions: \ \"frontendEndpoints\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint\"\r\n \ }\r\n ],\"acceptedProtocols\":[\r\n \"Http\"\r\n \ ],\"patternsToMatch\":[\r\n \"/forward2\"\r\n ],\"enabledState\":\"Enabled\",\"resourceState\":\"Enabled\",\"routeConfiguration\":{\r\n - \ \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration\",\"customForwardingPath\":null,\"forwardingProtocol\":\"MatchRequest\",\"cacheConfiguration\":null,\"backendPool\":{\r\n - \ \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool\"\r\n + \ \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration\",\"customForwardingPath\":null,\"forwardingProtocol\":\"MatchRequest\",\"cacheConfiguration\":{\r\n + \ \"queryParameterStripDirective\":\"StripNone\",\"queryParameters\":null,\"dynamicCompression\":\"Enabled\",\"cacheDuration\":null\r\n + \ },\"backendPool\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool\"\r\n \ }\r\n },\"rulesEngine\":null\r\n }\r\n },{\r\n \ \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule2\",\"name\":\"rule2\",\"type\":\"Microsoft.Network/Frontdoors/RoutingRules\",\"properties\":{\r\n \ \"frontendEndpoints\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint\"\r\n @@ -1301,23 +1253,23 @@ interactions: \ \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration\",\"customFragment\":null,\"customHost\":\"redirecthost.com\",\"customPath\":\"\",\"redirectProtocol\":\"MatchRequest\",\"customQueryString\":\"querystring\",\"redirectType\":\"Moved\"\r\n \ },\"rulesEngine\":null\r\n }\r\n }\r\n ],\"backendPoolsSettings\":{\r\n \ \"enforceCertificateNameCheck\":\"Enabled\",\"sendRecvTimeoutSeconds\":30\r\n - \ },\"enabledState\":\"Enabled\",\"cName\":\"clifrontdoor000002.azurefd.net\",\"frontdoorId\":\"0b846cc1-81ff-4211-9cf2-b3f8592a5399\",\"friendlyName\":\"clifrontdoor000002\"\r\n + \ },\"enabledState\":\"Enabled\",\"cName\":\"clifrontdoor000002.azurefd.net\",\"frontdoorId\":\"3e616148-3dcd-450b-8533-6a346af62f0d\",\"friendlyName\":\"clifrontdoor000002\"\r\n \ }\r\n}" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/6d375541-28b9-4845-a883-61c5b7bb24e9?api-version=2020-01-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/007137df-f77b-44b0-80b1-672ed12ee2e0?api-version=2020-01-01 cache-control: - no-cache content-length: - - '7864' + - '8009' content-type: - application/json; odata.metadata=minimal date: - - Sun, 22 Mar 2020 02:46:48 GMT + - Fri, 15 May 2020 06:51:50 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/6d375541-28b9-4845-a883-61c5b7bb24e9/frontdoorresults/clifrontdoor000002?api-version=2020-01-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/007137df-f77b-44b0-80b1-672ed12ee2e0/frontdoorresults/clifrontdoor000002?api-version=2020-01-01 odata-version: - '4.0' pragma: @@ -1331,7 +1283,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1199' x-powered-by: - ASP.NET status: @@ -1352,9 +1304,9 @@ interactions: - -f -g -n --frontend-endpoints --route-type --custom-host --patterns --custom-query-string User-Agent: - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/6d375541-28b9-4845-a883-61c5b7bb24e9?api-version=2020-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/007137df-f77b-44b0-80b1-672ed12ee2e0?api-version=2020-01-01 response: body: string: "{\r\n \"status\":\"InProgress\",\"error\":{\r\n \"code\":\"None\",\"message\":null\r\n @@ -1367,7 +1319,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Sun, 22 Mar 2020 02:46:59 GMT + - Fri, 15 May 2020 06:52:00 GMT expires: - '-1' odata-version: @@ -1406,9 +1358,9 @@ interactions: - -f -g -n --frontend-endpoints --route-type --custom-host --patterns --custom-query-string User-Agent: - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/6d375541-28b9-4845-a883-61c5b7bb24e9?api-version=2020-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/007137df-f77b-44b0-80b1-672ed12ee2e0?api-version=2020-01-01 response: body: string: "{\r\n \"status\":\"Succeeded\",\"error\":{\r\n \"code\":\"None\",\"message\":null\r\n @@ -1421,7 +1373,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Sun, 22 Mar 2020 02:47:29 GMT + - Fri, 15 May 2020 06:52:31 GMT expires: - '-1' odata-version: @@ -1460,7 +1412,7 @@ interactions: - -f -g -n --frontend-endpoints --route-type --custom-host --patterns --custom-query-string User-Agent: - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002?api-version=2020-01-01 response: @@ -1490,8 +1442,9 @@ interactions: \ \"frontendEndpoints\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint\"\r\n \ }\r\n ],\"acceptedProtocols\":[\r\n \"Http\"\r\n \ ],\"patternsToMatch\":[\r\n \"/forward2\"\r\n ],\"enabledState\":\"Enabled\",\"resourceState\":\"Enabled\",\"routeConfiguration\":{\r\n - \ \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration\",\"customForwardingPath\":null,\"forwardingProtocol\":\"MatchRequest\",\"cacheConfiguration\":null,\"backendPool\":{\r\n - \ \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool\"\r\n + \ \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration\",\"customForwardingPath\":null,\"forwardingProtocol\":\"MatchRequest\",\"cacheConfiguration\":{\r\n + \ \"queryParameterStripDirective\":\"StripNone\",\"queryParameters\":null,\"dynamicCompression\":\"Enabled\",\"cacheDuration\":null\r\n + \ },\"backendPool\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool\"\r\n \ }\r\n },\"rulesEngine\":null\r\n }\r\n },{\r\n \ \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule2\",\"name\":\"rule2\",\"type\":\"Microsoft.Network/Frontdoors/RoutingRules\",\"properties\":{\r\n \ \"frontendEndpoints\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint\"\r\n @@ -1500,17 +1453,17 @@ interactions: \ \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration\",\"customFragment\":null,\"customHost\":\"redirecthost.com\",\"customPath\":\"\",\"redirectProtocol\":\"MatchRequest\",\"customQueryString\":\"querystring\",\"redirectType\":\"Moved\"\r\n \ },\"rulesEngine\":null\r\n }\r\n }\r\n ],\"backendPoolsSettings\":{\r\n \ \"enforceCertificateNameCheck\":\"Enabled\",\"sendRecvTimeoutSeconds\":30\r\n - \ },\"enabledState\":\"Enabled\",\"cName\":\"clifrontdoor000002.azurefd.net\",\"frontdoorId\":\"0b846cc1-81ff-4211-9cf2-b3f8592a5399\",\"friendlyName\":\"clifrontdoor000002\"\r\n + \ },\"enabledState\":\"Enabled\",\"cName\":\"clifrontdoor000002.azurefd.net\",\"frontdoorId\":\"3e616148-3dcd-450b-8533-6a346af62f0d\",\"friendlyName\":\"clifrontdoor000002\"\r\n \ }\r\n}" headers: cache-control: - no-cache content-length: - - '7864' + - '8009' content-type: - application/json; odata.metadata=minimal date: - - Sun, 22 Mar 2020 02:47:30 GMT + - Fri, 15 May 2020 06:52:32 GMT expires: - '-1' odata-version: @@ -1549,7 +1502,7 @@ interactions: - -f -g -n --patterns --custom-query-string User-Agent: - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET @@ -1581,8 +1534,9 @@ interactions: \ \"frontendEndpoints\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint\"\r\n \ }\r\n ],\"acceptedProtocols\":[\r\n \"Http\"\r\n \ ],\"patternsToMatch\":[\r\n \"/forward2\"\r\n ],\"enabledState\":\"Enabled\",\"resourceState\":\"Enabled\",\"routeConfiguration\":{\r\n - \ \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration\",\"customForwardingPath\":null,\"forwardingProtocol\":\"MatchRequest\",\"cacheConfiguration\":null,\"backendPool\":{\r\n - \ \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool\"\r\n + \ \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration\",\"customForwardingPath\":null,\"forwardingProtocol\":\"MatchRequest\",\"cacheConfiguration\":{\r\n + \ \"queryParameterStripDirective\":\"StripNone\",\"queryParameters\":null,\"dynamicCompression\":\"Enabled\",\"cacheDuration\":null\r\n + \ },\"backendPool\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool\"\r\n \ }\r\n },\"rulesEngine\":null\r\n }\r\n },{\r\n \ \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule2\",\"name\":\"rule2\",\"type\":\"Microsoft.Network/Frontdoors/RoutingRules\",\"properties\":{\r\n \ \"frontendEndpoints\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint\"\r\n @@ -1591,17 +1545,17 @@ interactions: \ \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration\",\"customFragment\":null,\"customHost\":\"redirecthost.com\",\"customPath\":\"\",\"redirectProtocol\":\"MatchRequest\",\"customQueryString\":\"querystring\",\"redirectType\":\"Moved\"\r\n \ },\"rulesEngine\":null\r\n }\r\n }\r\n ],\"backendPoolsSettings\":{\r\n \ \"enforceCertificateNameCheck\":\"Enabled\",\"sendRecvTimeoutSeconds\":30\r\n - \ },\"enabledState\":\"Enabled\",\"cName\":\"clifrontdoor000002.azurefd.net\",\"frontdoorId\":\"0b846cc1-81ff-4211-9cf2-b3f8592a5399\",\"friendlyName\":\"clifrontdoor000002\"\r\n + \ },\"enabledState\":\"Enabled\",\"cName\":\"clifrontdoor000002.azurefd.net\",\"frontdoorId\":\"3e616148-3dcd-450b-8533-6a346af62f0d\",\"friendlyName\":\"clifrontdoor000002\"\r\n \ }\r\n}" headers: cache-control: - no-cache content-length: - - '7864' + - '8009' content-type: - application/json; odata.metadata=minimal date: - - Sun, 22 Mar 2020 02:47:30 GMT + - Fri, 15 May 2020 06:52:33 GMT expires: - '-1' odata-version: @@ -1636,7 +1590,8 @@ interactions: "properties": {"frontendEndpoints": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}], "acceptedProtocols": ["Http"], "patternsToMatch": ["/forward2"], "enabledState": "Enabled", "routeConfiguration": {"@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration", - "forwardingProtocol": "MatchRequest", "backendPool": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}}, + "forwardingProtocol": "MatchRequest", "cacheConfiguration": {"queryParameterStripDirective": + "StripNone", "dynamicCompression": "Enabled"}, "backendPool": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}}, "resourceState": "Enabled"}, "name": "rule1"}, {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule2", "properties": {"frontendEndpoints": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}], "acceptedProtocols": ["Http"], "patternsToMatch": ["/forward3"], "enabledState": @@ -1671,14 +1626,14 @@ interactions: Connection: - keep-alive Content-Length: - - '5835' + - '5937' Content-Type: - application/json; charset=utf-8 ParameterSetName: - -f -g -n --patterns --custom-query-string User-Agent: - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: PUT @@ -1710,8 +1665,9 @@ interactions: \ \"frontendEndpoints\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint\"\r\n \ }\r\n ],\"acceptedProtocols\":[\r\n \"Http\"\r\n \ ],\"patternsToMatch\":[\r\n \"/forward2\"\r\n ],\"enabledState\":\"Enabled\",\"resourceState\":\"Enabled\",\"routeConfiguration\":{\r\n - \ \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration\",\"customForwardingPath\":null,\"forwardingProtocol\":\"MatchRequest\",\"cacheConfiguration\":null,\"backendPool\":{\r\n - \ \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool\"\r\n + \ \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration\",\"customForwardingPath\":null,\"forwardingProtocol\":\"MatchRequest\",\"cacheConfiguration\":{\r\n + \ \"queryParameterStripDirective\":\"StripNone\",\"queryParameters\":null,\"dynamicCompression\":\"Enabled\",\"cacheDuration\":null\r\n + \ },\"backendPool\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool\"\r\n \ }\r\n },\"rulesEngine\":null\r\n }\r\n },{\r\n \ \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule2\",\"name\":\"rule2\",\"type\":\"Microsoft.Network/Frontdoors/RoutingRules\",\"properties\":{\r\n \ \"frontendEndpoints\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint\"\r\n @@ -1720,23 +1676,23 @@ interactions: \ \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration\",\"customFragment\":null,\"customHost\":\"redirecthost.com\",\"customPath\":\"\",\"redirectProtocol\":\"MatchRequest\",\"customQueryString\":\"querystring2\",\"redirectType\":\"Moved\"\r\n \ },\"rulesEngine\":null\r\n }\r\n }\r\n ],\"backendPoolsSettings\":{\r\n \ \"enforceCertificateNameCheck\":\"Enabled\",\"sendRecvTimeoutSeconds\":30\r\n - \ },\"enabledState\":\"Enabled\",\"cName\":\"clifrontdoor000002.azurefd.net\",\"frontdoorId\":\"0b846cc1-81ff-4211-9cf2-b3f8592a5399\",\"friendlyName\":\"clifrontdoor000002\"\r\n + \ },\"enabledState\":\"Enabled\",\"cName\":\"clifrontdoor000002.azurefd.net\",\"frontdoorId\":\"3e616148-3dcd-450b-8533-6a346af62f0d\",\"friendlyName\":\"clifrontdoor000002\"\r\n \ }\r\n}" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/7ce7a6db-401e-4179-adf0-e18211ee2fc3?api-version=2020-01-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/4e0dbaf5-a79a-4ba2-8765-ed530f36ef3d?api-version=2020-01-01 cache-control: - no-cache content-length: - - '7864' + - '8009' content-type: - application/json; odata.metadata=minimal date: - - Sun, 22 Mar 2020 02:47:33 GMT + - Fri, 15 May 2020 06:52:36 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/7ce7a6db-401e-4179-adf0-e18211ee2fc3/frontdoorresults/clifrontdoor000002?api-version=2020-01-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/4e0dbaf5-a79a-4ba2-8765-ed530f36ef3d/frontdoorresults/clifrontdoor000002?api-version=2020-01-01 odata-version: - '4.0' pragma: @@ -1750,7 +1706,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1199' x-powered-by: - ASP.NET status: @@ -1771,63 +1727,9 @@ interactions: - -f -g -n --patterns --custom-query-string User-Agent: - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/7ce7a6db-401e-4179-adf0-e18211ee2fc3?api-version=2020-01-01 - response: - body: - string: "{\r\n \"status\":\"InProgress\",\"error\":{\r\n \"code\":\"None\",\"message\":null\r\n - \ }\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '78' - content-type: - - application/json; odata.metadata=minimal - date: - - Sun, 22 Mar 2020 02:47:44 GMT - expires: - - '-1' - odata-version: - - '4.0' - pragma: - - no-cache - server: - - Microsoft-IIS/8.5 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-aspnet-version: - - 4.0.30319 - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network front-door routing-rule update - Connection: - - keep-alive - ParameterSetName: - - -f -g -n --patterns --custom-query-string - User-Agent: - - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/7ce7a6db-401e-4179-adf0-e18211ee2fc3?api-version=2020-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/4e0dbaf5-a79a-4ba2-8765-ed530f36ef3d?api-version=2020-01-01 response: body: string: "{\r\n \"status\":\"Succeeded\",\"error\":{\r\n \"code\":\"None\",\"message\":null\r\n @@ -1840,7 +1742,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Sun, 22 Mar 2020 02:48:14 GMT + - Fri, 15 May 2020 06:52:47 GMT expires: - '-1' odata-version: @@ -1879,7 +1781,7 @@ interactions: - -f -g -n --patterns --custom-query-string User-Agent: - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002?api-version=2020-01-01 response: @@ -1909,8 +1811,9 @@ interactions: \ \"frontendEndpoints\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint\"\r\n \ }\r\n ],\"acceptedProtocols\":[\r\n \"Http\"\r\n \ ],\"patternsToMatch\":[\r\n \"/forward2\"\r\n ],\"enabledState\":\"Enabled\",\"resourceState\":\"Enabled\",\"routeConfiguration\":{\r\n - \ \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration\",\"customForwardingPath\":null,\"forwardingProtocol\":\"MatchRequest\",\"cacheConfiguration\":null,\"backendPool\":{\r\n - \ \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool\"\r\n + \ \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration\",\"customForwardingPath\":null,\"forwardingProtocol\":\"MatchRequest\",\"cacheConfiguration\":{\r\n + \ \"queryParameterStripDirective\":\"StripNone\",\"queryParameters\":null,\"dynamicCompression\":\"Enabled\",\"cacheDuration\":null\r\n + \ },\"backendPool\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool\"\r\n \ }\r\n },\"rulesEngine\":null\r\n }\r\n },{\r\n \ \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule2\",\"name\":\"rule2\",\"type\":\"Microsoft.Network/Frontdoors/RoutingRules\",\"properties\":{\r\n \ \"frontendEndpoints\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint\"\r\n @@ -1919,17 +1822,17 @@ interactions: \ \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration\",\"customFragment\":null,\"customHost\":\"redirecthost.com\",\"customPath\":\"\",\"redirectProtocol\":\"MatchRequest\",\"customQueryString\":\"querystring2\",\"redirectType\":\"Moved\"\r\n \ },\"rulesEngine\":null\r\n }\r\n }\r\n ],\"backendPoolsSettings\":{\r\n \ \"enforceCertificateNameCheck\":\"Enabled\",\"sendRecvTimeoutSeconds\":30\r\n - \ },\"enabledState\":\"Enabled\",\"cName\":\"clifrontdoor000002.azurefd.net\",\"frontdoorId\":\"0b846cc1-81ff-4211-9cf2-b3f8592a5399\",\"friendlyName\":\"clifrontdoor000002\"\r\n + \ },\"enabledState\":\"Enabled\",\"cName\":\"clifrontdoor000002.azurefd.net\",\"frontdoorId\":\"3e616148-3dcd-450b-8533-6a346af62f0d\",\"friendlyName\":\"clifrontdoor000002\"\r\n \ }\r\n}" headers: cache-control: - no-cache content-length: - - '7864' + - '8009' content-type: - application/json; odata.metadata=minimal date: - - Sun, 22 Mar 2020 02:48:15 GMT + - Fri, 15 May 2020 06:52:48 GMT expires: - '-1' odata-version: diff --git a/src/front-door/azext_front_door/tests/latest/recordings/test_rules_engine_basic.yaml b/src/front-door/azext_front_door/tests/latest/recordings/test_rules_engine_basic.yaml index 761a442d2c0..6dc905ebdac 100644 --- a/src/front-door/azext_front_door/tests/latest/recordings/test_rules_engine_basic.yaml +++ b/src/front-door/azext_front_door/tests/latest/recordings/test_rules_engine_basic.yaml @@ -36,7 +36,7 @@ interactions: - -g -n --backend-address User-Agent: - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: PUT @@ -65,11 +65,11 @@ interactions: \ \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool\"\r\n \ }\r\n },\"rulesEngine\":null\r\n }\r\n }\r\n \ ],\"backendPoolsSettings\":{\r\n \"enforceCertificateNameCheck\":\"Enabled\",\"sendRecvTimeoutSeconds\":30\r\n - \ },\"enabledState\":\"Enabled\",\"cName\":\"clifrontdoor000002.azurefd.net\",\"frontdoorId\":\"0e4b847e-1dc4-4734-b528-fdfa75cd0a6b\",\"friendlyName\":\"clifrontdoor000002\"\r\n + \ },\"enabledState\":\"Enabled\",\"cName\":\"clifrontdoor000002.azurefd.net\",\"frontdoorId\":\"ba490b87-22a1-4617-b298-d0e346ab1189\",\"friendlyName\":\"clifrontdoor000002\"\r\n \ }\r\n}" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/b32af07d-11fd-4c42-b01f-3449f6dc778a?api-version=2020-01-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/1181ab37-33b0-4ead-8434-37b0ed9c54b3?api-version=2020-01-01 cache-control: - no-cache content-length: @@ -77,7 +77,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Fri, 27 Mar 2020 07:21:56 GMT + - Fri, 15 May 2020 06:22:23 GMT expires: - '-1' odata-version: @@ -114,9 +114,9 @@ interactions: - -g -n --backend-address User-Agent: - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/b32af07d-11fd-4c42-b01f-3449f6dc778a?api-version=2020-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/1181ab37-33b0-4ead-8434-37b0ed9c54b3?api-version=2020-01-01 response: body: string: "{\r\n \"status\":\"InProgress\",\"error\":{\r\n \"code\":\"None\",\"message\":null\r\n @@ -129,7 +129,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Fri, 27 Mar 2020 07:22:06 GMT + - Fri, 15 May 2020 06:22:34 GMT expires: - '-1' odata-version: @@ -168,9 +168,9 @@ interactions: - -g -n --backend-address User-Agent: - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/b32af07d-11fd-4c42-b01f-3449f6dc778a?api-version=2020-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/1181ab37-33b0-4ead-8434-37b0ed9c54b3?api-version=2020-01-01 response: body: string: "{\r\n \"status\":\"Succeeded\",\"error\":{\r\n \"code\":\"None\",\"message\":null\r\n @@ -183,7 +183,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Fri, 27 Mar 2020 07:22:36 GMT + - Fri, 15 May 2020 06:23:05 GMT expires: - '-1' odata-version: @@ -222,7 +222,7 @@ interactions: - -g -n --backend-address User-Agent: - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.5.1 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002?api-version=2020-01-01 response: @@ -249,7 +249,7 @@ interactions: \ \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool\"\r\n \ }\r\n },\"rulesEngine\":null\r\n }\r\n }\r\n \ ],\"backendPoolsSettings\":{\r\n \"enforceCertificateNameCheck\":\"Enabled\",\"sendRecvTimeoutSeconds\":30\r\n - \ },\"enabledState\":\"Enabled\",\"cName\":\"clifrontdoor000002.azurefd.net\",\"frontdoorId\":\"0e4b847e-1dc4-4734-b528-fdfa75cd0a6b\",\"friendlyName\":\"clifrontdoor000002\"\r\n + \ },\"enabledState\":\"Enabled\",\"cName\":\"clifrontdoor000002.azurefd.net\",\"frontdoorId\":\"ba490b87-22a1-4617-b298-d0e346ab1189\",\"friendlyName\":\"clifrontdoor000002\"\r\n \ }\r\n}" headers: cache-control: @@ -259,7 +259,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Fri, 27 Mar 2020 07:22:37 GMT + - Fri, 15 May 2020 06:23:06 GMT expires: - '-1' odata-version: @@ -299,7 +299,7 @@ interactions: --header-name --header-value --match-variable --operator --match-values --transforms User-Agent: - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET @@ -318,7 +318,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 27 Mar 2020 07:22:38 GMT + - Fri, 15 May 2020 06:23:07 GMT expires: - '-1' pragma: @@ -360,7 +360,7 @@ interactions: --header-name --header-value --match-variable --operator --match-values --transforms User-Agent: - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: PUT @@ -385,7 +385,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Fri, 27 Mar 2020 07:22:40 GMT + - Fri, 15 May 2020 06:23:08 GMT expires: - '-1' odata-version: @@ -427,7 +427,7 @@ interactions: --header-name --header-value --match-variable --operator --match-values User-Agent: - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET @@ -452,7 +452,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Fri, 27 Mar 2020 07:22:42 GMT + - Fri, 15 May 2020 06:23:09 GMT expires: - '-1' odata-version: @@ -504,7 +504,7 @@ interactions: --header-name --header-value --match-variable --operator --match-values User-Agent: - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: PUT @@ -536,7 +536,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Fri, 27 Mar 2020 07:22:43 GMT + - Fri, 15 May 2020 06:23:11 GMT expires: - '-1' odata-version: @@ -577,7 +577,7 @@ interactions: - -f -g --rules-engine-name --name --match-processing-behavior User-Agent: - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET @@ -609,7 +609,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Fri, 27 Mar 2020 07:22:43 GMT + - Fri, 15 May 2020 06:23:11 GMT expires: - '-1' odata-version: @@ -662,7 +662,7 @@ interactions: - -f -g --rules-engine-name --name --match-processing-behavior User-Agent: - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: PUT @@ -694,7 +694,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Fri, 27 Mar 2020 07:22:44 GMT + - Fri, 15 May 2020 06:23:13 GMT expires: - '-1' odata-version: @@ -735,7 +735,7 @@ interactions: - -f -g --rules-engine-name -n User-Agent: - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET @@ -767,7 +767,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Fri, 27 Mar 2020 07:22:46 GMT + - Fri, 15 May 2020 06:23:15 GMT expires: - '-1' odata-version: @@ -806,7 +806,7 @@ interactions: - -f -g --name User-Agent: - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET @@ -838,7 +838,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Fri, 27 Mar 2020 07:22:47 GMT + - Fri, 15 May 2020 06:23:16 GMT expires: - '-1' odata-version: @@ -877,7 +877,7 @@ interactions: - -f -g --name User-Agent: - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET @@ -909,7 +909,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Fri, 27 Mar 2020 07:22:48 GMT + - Fri, 15 May 2020 06:23:17 GMT expires: - '-1' odata-version: @@ -948,7 +948,7 @@ interactions: - -f -g --rules-engine-name --name --action-type --header-action --header-name User-Agent: - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET @@ -980,7 +980,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Fri, 27 Mar 2020 07:22:49 GMT + - Fri, 15 May 2020 06:23:18 GMT expires: - '-1' odata-version: @@ -1033,7 +1033,7 @@ interactions: - -f -g --rules-engine-name --name --action-type --header-action --header-name User-Agent: - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: PUT @@ -1066,7 +1066,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Fri, 27 Mar 2020 07:22:51 GMT + - Fri, 15 May 2020 06:23:19 GMT expires: - '-1' odata-version: @@ -1104,10 +1104,11 @@ interactions: Connection: - keep-alive ParameterSetName: - - -f -g --rules-engine-name --name --action-type --backend-pool --caching + - -f -g --rules-engine-name --name --action-type --backend-pool --caching --query-parameter-strip-directive + --query-parameters --cache-duration User-Agent: - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET @@ -1140,7 +1141,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Fri, 27 Mar 2020 07:22:52 GMT + - Fri, 15 May 2020 06:23:21 GMT expires: - '-1' odata-version: @@ -1169,7 +1170,8 @@ interactions: {"requestHeaderActions": [{"headerActionType": "Overwrite", "headerName": "Rewrite", "value": "True"}], "responseHeaderActions": [], "routeConfigurationOverride": {"@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration", - "cacheConfiguration": {}, "backendPool": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}}}, + "cacheConfiguration": {"queryParameterStripDirective": "StripOnly", "queryParameters": + "a=b,x=y&p=q", "cacheDuration": "P5DT1H30M30S"}, "backendPool": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}}}, "matchConditions": [{"rulesEngineMatchVariable": "RequestFilenameExtension", "rulesEngineOperator": "Contains", "negateCondition": false, "rulesEngineMatchValue": ["jpg", "png"], "transforms": ["Lowercase"]}], "matchProcessingBehavior": "Stop"}, @@ -1189,14 +1191,15 @@ interactions: Connection: - keep-alive Content-Length: - - '1273' + - '1383' Content-Type: - application/json; charset=utf-8 ParameterSetName: - - -f -g --rules-engine-name --name --action-type --backend-pool --caching + - -f -g --rules-engine-name --name --action-type --backend-pool --caching --query-parameter-strip-directive + --query-parameters --cache-duration User-Agent: - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: PUT @@ -1209,7 +1212,7 @@ interactions: \ \"requestHeaderActions\":[\r\n {\r\n \"headerActionType\":\"Overwrite\",\"headerName\":\"Rewrite\",\"value\":\"True\"\r\n \ }\r\n ],\"responseHeaderActions\":[\r\n \r\n \ ],\"routeConfigurationOverride\":{\r\n \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration\",\"customForwardingPath\":null,\"forwardingProtocol\":\"MatchRequest\",\"cacheConfiguration\":{\r\n - \ \"queryParameterStripDirective\":\"StripAll\",\"queryParameters\":null,\"dynamicCompression\":\"Enabled\",\"cacheDuration\":null\r\n + \ \"queryParameterStripDirective\":\"StripOnly\",\"queryParameters\":\"a=b,x=y&p=q\",\"dynamicCompression\":\"Enabled\",\"cacheDuration\":\"P5DT1H30M30S\"\r\n \ },\"backendPool\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool\"\r\n \ }\r\n },\"name\":null\r\n },\"matchConditions\":[\r\n \ {\r\n \"rulesEngineMatchValue\":[\r\n \"jpg\",\"png\"\r\n @@ -1228,11 +1231,11 @@ interactions: cache-control: - no-cache content-length: - - '2602' + - '2622' content-type: - application/json; odata.metadata=minimal date: - - Fri, 27 Mar 2020 07:22:53 GMT + - Fri, 15 May 2020 06:23:23 GMT expires: - '-1' odata-version: @@ -1273,7 +1276,7 @@ interactions: - -f -g -r --name --action-type --custom-path User-Agent: - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET @@ -1286,7 +1289,7 @@ interactions: \ \"requestHeaderActions\":[\r\n {\r\n \"headerActionType\":\"Overwrite\",\"headerName\":\"Rewrite\",\"value\":\"True\"\r\n \ }\r\n ],\"responseHeaderActions\":[\r\n \r\n \ ],\"routeConfigurationOverride\":{\r\n \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration\",\"customForwardingPath\":null,\"forwardingProtocol\":\"MatchRequest\",\"cacheConfiguration\":{\r\n - \ \"queryParameterStripDirective\":\"StripAll\",\"queryParameters\":null,\"dynamicCompression\":\"Enabled\",\"cacheDuration\":null\r\n + \ \"queryParameterStripDirective\":\"StripOnly\",\"queryParameters\":\"a=b,x=y&p=q\",\"dynamicCompression\":\"Enabled\",\"cacheDuration\":\"P5DT1H30M30S\"\r\n \ },\"backendPool\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool\"\r\n \ }\r\n },\"name\":null\r\n },\"matchConditions\":[\r\n \ {\r\n \"rulesEngineMatchValue\":[\r\n \"jpg\",\"png\"\r\n @@ -1305,11 +1308,11 @@ interactions: cache-control: - no-cache content-length: - - '2602' + - '2622' content-type: - application/json; odata.metadata=minimal date: - - Fri, 27 Mar 2020 07:22:54 GMT + - Fri, 15 May 2020 06:23:23 GMT expires: - '-1' odata-version: @@ -1339,7 +1342,8 @@ interactions: "value": "True"}], "responseHeaderActions": [], "routeConfigurationOverride": {"@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration", "forwardingProtocol": "MatchRequest", "cacheConfiguration": {"queryParameterStripDirective": - "StripAll", "dynamicCompression": "Enabled"}, "backendPool": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}}}, + "StripOnly", "queryParameters": "a=b,x=y&p=q", "dynamicCompression": "Enabled", + "cacheDuration": "P5DT1H30M30S"}, "backendPool": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}}}, "matchConditions": [{"rulesEngineMatchVariable": "RequestFilenameExtension", "rulesEngineOperator": "Contains", "negateCondition": false, "rulesEngineMatchValue": ["jpg", "png"], "transforms": ["Lowercase"]}], "matchProcessingBehavior": "Stop"}, @@ -1361,14 +1365,14 @@ interactions: Connection: - keep-alive Content-Length: - - '1589' + - '1657' Content-Type: - application/json; charset=utf-8 ParameterSetName: - -f -g -r --name --action-type --custom-path User-Agent: - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: PUT @@ -1381,7 +1385,7 @@ interactions: \ \"requestHeaderActions\":[\r\n {\r\n \"headerActionType\":\"Overwrite\",\"headerName\":\"Rewrite\",\"value\":\"True\"\r\n \ }\r\n ],\"responseHeaderActions\":[\r\n \r\n \ ],\"routeConfigurationOverride\":{\r\n \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration\",\"customForwardingPath\":null,\"forwardingProtocol\":\"MatchRequest\",\"cacheConfiguration\":{\r\n - \ \"queryParameterStripDirective\":\"StripAll\",\"queryParameters\":null,\"dynamicCompression\":\"Enabled\",\"cacheDuration\":null\r\n + \ \"queryParameterStripDirective\":\"StripOnly\",\"queryParameters\":\"a=b,x=y&p=q\",\"dynamicCompression\":\"Enabled\",\"cacheDuration\":\"P5DT1H30M30S\"\r\n \ },\"backendPool\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool\"\r\n \ }\r\n },\"name\":null\r\n },\"matchConditions\":[\r\n \ {\r\n \"rulesEngineMatchValue\":[\r\n \"jpg\",\"png\"\r\n @@ -1400,11 +1404,11 @@ interactions: cache-control: - no-cache content-length: - - '2851' + - '2871' content-type: - application/json; odata.metadata=minimal date: - - Fri, 27 Mar 2020 07:22:55 GMT + - Fri, 15 May 2020 06:23:25 GMT expires: - '-1' odata-version: @@ -1445,7 +1449,7 @@ interactions: - -f -g -r --name User-Agent: - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET @@ -1458,7 +1462,7 @@ interactions: \ \"requestHeaderActions\":[\r\n {\r\n \"headerActionType\":\"Overwrite\",\"headerName\":\"Rewrite\",\"value\":\"True\"\r\n \ }\r\n ],\"responseHeaderActions\":[\r\n \r\n \ ],\"routeConfigurationOverride\":{\r\n \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration\",\"customForwardingPath\":null,\"forwardingProtocol\":\"MatchRequest\",\"cacheConfiguration\":{\r\n - \ \"queryParameterStripDirective\":\"StripAll\",\"queryParameters\":null,\"dynamicCompression\":\"Enabled\",\"cacheDuration\":null\r\n + \ \"queryParameterStripDirective\":\"StripOnly\",\"queryParameters\":\"a=b,x=y&p=q\",\"dynamicCompression\":\"Enabled\",\"cacheDuration\":\"P5DT1H30M30S\"\r\n \ },\"backendPool\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool\"\r\n \ }\r\n },\"name\":null\r\n },\"matchConditions\":[\r\n \ {\r\n \"rulesEngineMatchValue\":[\r\n \"jpg\",\"png\"\r\n @@ -1477,11 +1481,11 @@ interactions: cache-control: - no-cache content-length: - - '2851' + - '2871' content-type: - application/json; odata.metadata=minimal date: - - Fri, 27 Mar 2020 07:22:56 GMT + - Fri, 15 May 2020 06:23:27 GMT expires: - '-1' odata-version: @@ -1520,7 +1524,7 @@ interactions: - -f -g -r --name User-Agent: - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET @@ -1533,7 +1537,7 @@ interactions: \ \"requestHeaderActions\":[\r\n {\r\n \"headerActionType\":\"Overwrite\",\"headerName\":\"Rewrite\",\"value\":\"True\"\r\n \ }\r\n ],\"responseHeaderActions\":[\r\n \r\n \ ],\"routeConfigurationOverride\":{\r\n \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration\",\"customForwardingPath\":null,\"forwardingProtocol\":\"MatchRequest\",\"cacheConfiguration\":{\r\n - \ \"queryParameterStripDirective\":\"StripAll\",\"queryParameters\":null,\"dynamicCompression\":\"Enabled\",\"cacheDuration\":null\r\n + \ \"queryParameterStripDirective\":\"StripOnly\",\"queryParameters\":\"a=b,x=y&p=q\",\"dynamicCompression\":\"Enabled\",\"cacheDuration\":\"P5DT1H30M30S\"\r\n \ },\"backendPool\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool\"\r\n \ }\r\n },\"name\":null\r\n },\"matchConditions\":[\r\n \ {\r\n \"rulesEngineMatchValue\":[\r\n \"jpg\",\"png\"\r\n @@ -1552,11 +1556,11 @@ interactions: cache-control: - no-cache content-length: - - '2851' + - '2871' content-type: - application/json; odata.metadata=minimal date: - - Fri, 27 Mar 2020 07:22:57 GMT + - Fri, 15 May 2020 06:23:27 GMT expires: - '-1' odata-version: @@ -1595,7 +1599,7 @@ interactions: - -f -g -r --name --match-variable --selector --operator --match-values --transforms User-Agent: - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET @@ -1608,7 +1612,7 @@ interactions: \ \"requestHeaderActions\":[\r\n {\r\n \"headerActionType\":\"Overwrite\",\"headerName\":\"Rewrite\",\"value\":\"True\"\r\n \ }\r\n ],\"responseHeaderActions\":[\r\n \r\n \ ],\"routeConfigurationOverride\":{\r\n \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration\",\"customForwardingPath\":null,\"forwardingProtocol\":\"MatchRequest\",\"cacheConfiguration\":{\r\n - \ \"queryParameterStripDirective\":\"StripAll\",\"queryParameters\":null,\"dynamicCompression\":\"Enabled\",\"cacheDuration\":null\r\n + \ \"queryParameterStripDirective\":\"StripOnly\",\"queryParameters\":\"a=b,x=y&p=q\",\"dynamicCompression\":\"Enabled\",\"cacheDuration\":\"P5DT1H30M30S\"\r\n \ },\"backendPool\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool\"\r\n \ }\r\n },\"name\":null\r\n },\"matchConditions\":[\r\n \ {\r\n \"rulesEngineMatchValue\":[\r\n \"jpg\",\"png\"\r\n @@ -1627,11 +1631,11 @@ interactions: cache-control: - no-cache content-length: - - '2851' + - '2871' content-type: - application/json; odata.metadata=minimal date: - - Fri, 27 Mar 2020 07:22:58 GMT + - Fri, 15 May 2020 06:23:28 GMT expires: - '-1' odata-version: @@ -1661,7 +1665,8 @@ interactions: "value": "True"}], "responseHeaderActions": [], "routeConfigurationOverride": {"@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration", "forwardingProtocol": "MatchRequest", "cacheConfiguration": {"queryParameterStripDirective": - "StripAll", "dynamicCompression": "Enabled"}, "backendPool": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}}}, + "StripOnly", "queryParameters": "a=b,x=y&p=q", "dynamicCompression": "Enabled", + "cacheDuration": "P5DT1H30M30S"}, "backendPool": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}}}, "matchConditions": [{"rulesEngineMatchVariable": "RequestFilenameExtension", "rulesEngineOperator": "Contains", "negateCondition": false, "rulesEngineMatchValue": ["jpg", "png"], "transforms": ["Lowercase"]}, {"rulesEngineMatchVariable": "RequestHeader", @@ -1685,14 +1690,14 @@ interactions: Connection: - keep-alive Content-Length: - - '1786' + - '1854' Content-Type: - application/json; charset=utf-8 ParameterSetName: - -f -g -r --name --match-variable --selector --operator --match-values --transforms User-Agent: - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: PUT @@ -1705,7 +1710,7 @@ interactions: \ \"requestHeaderActions\":[\r\n {\r\n \"headerActionType\":\"Overwrite\",\"headerName\":\"Rewrite\",\"value\":\"True\"\r\n \ }\r\n ],\"responseHeaderActions\":[\r\n \r\n \ ],\"routeConfigurationOverride\":{\r\n \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration\",\"customForwardingPath\":null,\"forwardingProtocol\":\"MatchRequest\",\"cacheConfiguration\":{\r\n - \ \"queryParameterStripDirective\":\"StripAll\",\"queryParameters\":null,\"dynamicCompression\":\"Enabled\",\"cacheDuration\":null\r\n + \ \"queryParameterStripDirective\":\"StripOnly\",\"queryParameters\":\"a=b,x=y&p=q\",\"dynamicCompression\":\"Enabled\",\"cacheDuration\":\"P5DT1H30M30S\"\r\n \ },\"backendPool\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool\"\r\n \ }\r\n },\"name\":null\r\n },\"matchConditions\":[\r\n \ {\r\n \"rulesEngineMatchValue\":[\r\n \"jpg\",\"png\"\r\n @@ -1727,11 +1732,197 @@ interactions: cache-control: - no-cache content-length: - - '3129' + - '3149' content-type: - application/json; odata.metadata=minimal date: - - Fri, 27 Mar 2020 07:23:00 GMT + - Fri, 15 May 2020 06:23:30 GMT + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + server: + - Microsoft-IIS/8.5 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network front-door rules-engine rule condition add + Connection: + - keep-alive + ParameterSetName: + - -f -g -r --name --match-variable --operator + User-Agent: + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.5.1 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002/rulesEngines/clirulesengine000003?api-version=2020-01-01 + response: + body: + string: "{\r\n \"name\":\"clirulesengine000003\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/rulesengines/clirulesengine000003\",\"type\":\"Microsoft.Network/frontdoors/rulesengines\",\"properties\":{\r\n + \ \"name\":\"clirulesengine000003\",\"resourceGroup\":\"clitest.rg000001\",\"resourceState\":\"Enabled\",\"rules\":[\r\n + \ {\r\n \"priority\":1,\"name\":\"rule1\",\"matchProcessingBehavior\":\"Stop\",\"action\":{\r\n + \ \"requestHeaderActions\":[\r\n {\r\n \"headerActionType\":\"Overwrite\",\"headerName\":\"Rewrite\",\"value\":\"True\"\r\n + \ }\r\n ],\"responseHeaderActions\":[\r\n \r\n + \ ],\"routeConfigurationOverride\":{\r\n \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration\",\"customForwardingPath\":null,\"forwardingProtocol\":\"MatchRequest\",\"cacheConfiguration\":{\r\n + \ \"queryParameterStripDirective\":\"StripOnly\",\"queryParameters\":\"a=b,x=y&p=q\",\"dynamicCompression\":\"Enabled\",\"cacheDuration\":\"P5DT1H30M30S\"\r\n + \ },\"backendPool\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool\"\r\n + \ }\r\n },\"name\":null\r\n },\"matchConditions\":[\r\n + \ {\r\n \"rulesEngineMatchValue\":[\r\n \"jpg\",\"png\"\r\n + \ ],\"rulesEngineMatchVariable\":\"RequestFilenameExtension\",\"rulesEngineOperator\":\"Contains\",\"transforms\":[\r\n + \ \"Lowercase\"\r\n ],\"negateCondition\":false,\"selector\":null\r\n + \ },{\r\n \"rulesEngineMatchValue\":[\r\n \"en-gb\",\"en-th\"\r\n + \ ],\"rulesEngineMatchVariable\":\"RequestHeader\",\"rulesEngineOperator\":\"Equal\",\"transforms\":[\r\n + \ \"Lowercase\"\r\n ],\"negateCondition\":false,\"selector\":\"x-language\"\r\n + \ }\r\n ]\r\n },{\r\n \"priority\":2,\"name\":\"rule2\",\"matchProcessingBehavior\":null,\"action\":{\r\n + \ \"requestHeaderActions\":[\r\n \r\n ],\"responseHeaderActions\":[\r\n + \ {\r\n \"headerActionType\":\"Append\",\"headerName\":\"Security\",\"value\":\"Strict\"\r\n + \ },{\r\n \"headerActionType\":\"Delete\",\"headerName\":\"Location\",\"value\":null\r\n + \ }\r\n ],\"routeConfigurationOverride\":{\r\n \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration\",\"customFragment\":null,\"customHost\":\"\",\"customPath\":\"/redirect\",\"redirectProtocol\":\"MatchRequest\",\"customQueryString\":null,\"redirectType\":\"Moved\"\r\n + \ },\"name\":null\r\n },\"matchConditions\":[\r\n {\r\n + \ \"rulesEngineMatchValue\":[\r\n \"private\"\r\n ],\"rulesEngineMatchVariable\":\"RequestPath\",\"rulesEngineOperator\":\"Contains\",\"transforms\":[\r\n + \ \r\n ],\"negateCondition\":false,\"selector\":null\r\n + \ }\r\n ]\r\n }\r\n ]\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '3149' + content-type: + - application/json; odata.metadata=minimal + date: + - Fri, 15 May 2020 06:23:30 GMT + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + server: + - Microsoft-IIS/8.5 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: 'b''{"properties": {"rules": [{"name": "rule1", "priority": 1, "action": + {"requestHeaderActions": [{"headerActionType": "Overwrite", "headerName": "Rewrite", + "value": "True"}], "responseHeaderActions": [], "routeConfigurationOverride": + {"@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration", + "forwardingProtocol": "MatchRequest", "cacheConfiguration": {"queryParameterStripDirective": + "StripOnly", "queryParameters": "a=b,x=y&p=q", "dynamicCompression": "Enabled", + "cacheDuration": "P5DT1H30M30S"}, "backendPool": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}}}, + "matchConditions": [{"rulesEngineMatchVariable": "RequestFilenameExtension", + "rulesEngineOperator": "Contains", "negateCondition": false, "rulesEngineMatchValue": + ["jpg", "png"], "transforms": ["Lowercase"]}, {"rulesEngineMatchVariable": "RequestHeader", + "selector": "x-language", "rulesEngineOperator": "Equal", "negateCondition": + false, "rulesEngineMatchValue": ["en-gb", "en-th"], "transforms": ["Lowercase"]}, + {"rulesEngineMatchVariable": "RequestPath", "rulesEngineOperator": "Any", "rulesEngineMatchValue": + []}], "matchProcessingBehavior": "Stop"}, {"name": "rule2", "priority": 2, "action": + {"requestHeaderActions": [], "responseHeaderActions": [{"headerActionType": + "Append", "headerName": "Security", "value": "Strict"}, {"headerActionType": + "Delete", "headerName": "Location"}], "routeConfigurationOverride": {"@odata.type": + "#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration", "redirectType": + "Moved", "redirectProtocol": "MatchRequest", "customHost": "", "customPath": + "/redirect"}}, "matchConditions": [{"rulesEngineMatchVariable": "RequestPath", + "rulesEngineOperator": "Contains", "negateCondition": false, "rulesEngineMatchValue": + ["private"], "transforms": []}]}]}}''' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network front-door rules-engine rule condition add + Connection: + - keep-alive + Content-Length: + - '1984' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -f -g -r --name --match-variable --operator + User-Agent: + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.5.1 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002/rulesEngines/clirulesengine000003?api-version=2020-01-01 + response: + body: + string: "{\r\n \"name\":\"clirulesengine000003\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/rulesengines/clirulesengine000003\",\"type\":\"Microsoft.Network/frontdoors/rulesengines\",\"properties\":{\r\n + \ \"name\":\"clirulesengine000003\",\"resourceGroup\":\"clitest.rg000001\",\"resourceState\":\"Enabled\",\"rules\":[\r\n + \ {\r\n \"priority\":1,\"name\":\"rule1\",\"matchProcessingBehavior\":\"Stop\",\"action\":{\r\n + \ \"requestHeaderActions\":[\r\n {\r\n \"headerActionType\":\"Overwrite\",\"headerName\":\"Rewrite\",\"value\":\"True\"\r\n + \ }\r\n ],\"responseHeaderActions\":[\r\n \r\n + \ ],\"routeConfigurationOverride\":{\r\n \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration\",\"customForwardingPath\":null,\"forwardingProtocol\":\"MatchRequest\",\"cacheConfiguration\":{\r\n + \ \"queryParameterStripDirective\":\"StripOnly\",\"queryParameters\":\"a=b,x=y&p=q\",\"dynamicCompression\":\"Enabled\",\"cacheDuration\":\"P5DT1H30M30S\"\r\n + \ },\"backendPool\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool\"\r\n + \ }\r\n },\"name\":null\r\n },\"matchConditions\":[\r\n + \ {\r\n \"rulesEngineMatchValue\":[\r\n \"jpg\",\"png\"\r\n + \ ],\"rulesEngineMatchVariable\":\"RequestFilenameExtension\",\"rulesEngineOperator\":\"Contains\",\"transforms\":[\r\n + \ \"Lowercase\"\r\n ],\"negateCondition\":false,\"selector\":null\r\n + \ },{\r\n \"rulesEngineMatchValue\":[\r\n \"en-gb\",\"en-th\"\r\n + \ ],\"rulesEngineMatchVariable\":\"RequestHeader\",\"rulesEngineOperator\":\"Equal\",\"transforms\":[\r\n + \ \"Lowercase\"\r\n ],\"negateCondition\":false,\"selector\":\"x-language\"\r\n + \ },{\r\n \"rulesEngineMatchValue\":[\r\n \r\n + \ ],\"rulesEngineMatchVariable\":\"RequestPath\",\"rulesEngineOperator\":\"Any\",\"transforms\":[\r\n + \ \r\n ],\"negateCondition\":false,\"selector\":null\r\n + \ }\r\n ]\r\n },{\r\n \"priority\":2,\"name\":\"rule2\",\"matchProcessingBehavior\":null,\"action\":{\r\n + \ \"requestHeaderActions\":[\r\n \r\n ],\"responseHeaderActions\":[\r\n + \ {\r\n \"headerActionType\":\"Append\",\"headerName\":\"Security\",\"value\":\"Strict\"\r\n + \ },{\r\n \"headerActionType\":\"Delete\",\"headerName\":\"Location\",\"value\":null\r\n + \ }\r\n ],\"routeConfigurationOverride\":{\r\n \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration\",\"customFragment\":null,\"customHost\":\"\",\"customPath\":\"/redirect\",\"redirectProtocol\":\"MatchRequest\",\"customQueryString\":null,\"redirectType\":\"Moved\"\r\n + \ },\"name\":null\r\n },\"matchConditions\":[\r\n {\r\n + \ \"rulesEngineMatchValue\":[\r\n \"private\"\r\n ],\"rulesEngineMatchVariable\":\"RequestPath\",\"rulesEngineOperator\":\"Contains\",\"transforms\":[\r\n + \ \r\n ],\"negateCondition\":false,\"selector\":null\r\n + \ }\r\n ]\r\n }\r\n ]\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '3389' + content-type: + - application/json; odata.metadata=minimal + date: + - Fri, 15 May 2020 06:23:32 GMT expires: - '-1' odata-version: @@ -1772,7 +1963,7 @@ interactions: - -f -g --rules-engine-name --name User-Agent: - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET @@ -1785,7 +1976,7 @@ interactions: \ \"requestHeaderActions\":[\r\n {\r\n \"headerActionType\":\"Overwrite\",\"headerName\":\"Rewrite\",\"value\":\"True\"\r\n \ }\r\n ],\"responseHeaderActions\":[\r\n \r\n \ ],\"routeConfigurationOverride\":{\r\n \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration\",\"customForwardingPath\":null,\"forwardingProtocol\":\"MatchRequest\",\"cacheConfiguration\":{\r\n - \ \"queryParameterStripDirective\":\"StripAll\",\"queryParameters\":null,\"dynamicCompression\":\"Enabled\",\"cacheDuration\":null\r\n + \ \"queryParameterStripDirective\":\"StripOnly\",\"queryParameters\":\"a=b,x=y&p=q\",\"dynamicCompression\":\"Enabled\",\"cacheDuration\":\"P5DT1H30M30S\"\r\n \ },\"backendPool\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool\"\r\n \ }\r\n },\"name\":null\r\n },\"matchConditions\":[\r\n \ {\r\n \"rulesEngineMatchValue\":[\r\n \"jpg\",\"png\"\r\n @@ -1794,6 +1985,9 @@ interactions: \ },{\r\n \"rulesEngineMatchValue\":[\r\n \"en-gb\",\"en-th\"\r\n \ ],\"rulesEngineMatchVariable\":\"RequestHeader\",\"rulesEngineOperator\":\"Equal\",\"transforms\":[\r\n \ \"Lowercase\"\r\n ],\"negateCondition\":false,\"selector\":\"x-language\"\r\n + \ },{\r\n \"rulesEngineMatchValue\":[\r\n \r\n + \ ],\"rulesEngineMatchVariable\":\"RequestPath\",\"rulesEngineOperator\":\"Any\",\"transforms\":[\r\n + \ \r\n ],\"negateCondition\":false,\"selector\":null\r\n \ }\r\n ]\r\n },{\r\n \"priority\":2,\"name\":\"rule2\",\"matchProcessingBehavior\":null,\"action\":{\r\n \ \"requestHeaderActions\":[\r\n \r\n ],\"responseHeaderActions\":[\r\n \ {\r\n \"headerActionType\":\"Append\",\"headerName\":\"Security\",\"value\":\"Strict\"\r\n @@ -1807,11 +2001,11 @@ interactions: cache-control: - no-cache content-length: - - '3129' + - '3389' content-type: - application/json; odata.metadata=minimal date: - - Fri, 27 Mar 2020 07:23:01 GMT + - Fri, 15 May 2020 06:23:34 GMT expires: - '-1' odata-version: @@ -1850,7 +2044,7 @@ interactions: - -f -g --rules-engine-name --name --index User-Agent: - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET @@ -1863,7 +2057,7 @@ interactions: \ \"requestHeaderActions\":[\r\n {\r\n \"headerActionType\":\"Overwrite\",\"headerName\":\"Rewrite\",\"value\":\"True\"\r\n \ }\r\n ],\"responseHeaderActions\":[\r\n \r\n \ ],\"routeConfigurationOverride\":{\r\n \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration\",\"customForwardingPath\":null,\"forwardingProtocol\":\"MatchRequest\",\"cacheConfiguration\":{\r\n - \ \"queryParameterStripDirective\":\"StripAll\",\"queryParameters\":null,\"dynamicCompression\":\"Enabled\",\"cacheDuration\":null\r\n + \ \"queryParameterStripDirective\":\"StripOnly\",\"queryParameters\":\"a=b,x=y&p=q\",\"dynamicCompression\":\"Enabled\",\"cacheDuration\":\"P5DT1H30M30S\"\r\n \ },\"backendPool\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool\"\r\n \ }\r\n },\"name\":null\r\n },\"matchConditions\":[\r\n \ {\r\n \"rulesEngineMatchValue\":[\r\n \"jpg\",\"png\"\r\n @@ -1872,6 +2066,9 @@ interactions: \ },{\r\n \"rulesEngineMatchValue\":[\r\n \"en-gb\",\"en-th\"\r\n \ ],\"rulesEngineMatchVariable\":\"RequestHeader\",\"rulesEngineOperator\":\"Equal\",\"transforms\":[\r\n \ \"Lowercase\"\r\n ],\"negateCondition\":false,\"selector\":\"x-language\"\r\n + \ },{\r\n \"rulesEngineMatchValue\":[\r\n \r\n + \ ],\"rulesEngineMatchVariable\":\"RequestPath\",\"rulesEngineOperator\":\"Any\",\"transforms\":[\r\n + \ \r\n ],\"negateCondition\":false,\"selector\":null\r\n \ }\r\n ]\r\n },{\r\n \"priority\":2,\"name\":\"rule2\",\"matchProcessingBehavior\":null,\"action\":{\r\n \ \"requestHeaderActions\":[\r\n \r\n ],\"responseHeaderActions\":[\r\n \ {\r\n \"headerActionType\":\"Append\",\"headerName\":\"Security\",\"value\":\"Strict\"\r\n @@ -1885,11 +2082,11 @@ interactions: cache-control: - no-cache content-length: - - '3129' + - '3389' content-type: - application/json; odata.metadata=minimal date: - - Fri, 27 Mar 2020 07:23:01 GMT + - Fri, 15 May 2020 06:23:34 GMT expires: - '-1' odata-version: @@ -1919,14 +2116,17 @@ interactions: "value": "True"}], "responseHeaderActions": [], "routeConfigurationOverride": {"@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration", "forwardingProtocol": "MatchRequest", "cacheConfiguration": {"queryParameterStripDirective": - "StripAll", "dynamicCompression": "Enabled"}, "backendPool": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}}}, + "StripOnly", "queryParameters": "a=b,x=y&p=q", "dynamicCompression": "Enabled", + "cacheDuration": "P5DT1H30M30S"}, "backendPool": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}}}, "matchConditions": [{"rulesEngineMatchVariable": "RequestHeader", "selector": "x-language", "rulesEngineOperator": "Equal", "negateCondition": false, "rulesEngineMatchValue": - ["en-gb", "en-th"], "transforms": ["Lowercase"]}], "matchProcessingBehavior": - "Stop"}, {"name": "rule2", "priority": 2, "action": {"requestHeaderActions": - [], "responseHeaderActions": [{"headerActionType": "Append", "headerName": "Security", - "value": "Strict"}, {"headerActionType": "Delete", "headerName": "Location"}], - "routeConfigurationOverride": {"@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration", + ["en-gb", "en-th"], "transforms": ["Lowercase"]}, {"rulesEngineMatchVariable": + "RequestPath", "rulesEngineOperator": "Any", "negateCondition": false, "rulesEngineMatchValue": + [], "transforms": []}], "matchProcessingBehavior": "Stop"}, {"name": "rule2", + "priority": 2, "action": {"requestHeaderActions": [], "responseHeaderActions": + [{"headerActionType": "Append", "headerName": "Security", "value": "Strict"}, + {"headerActionType": "Delete", "headerName": "Location"}], "routeConfigurationOverride": + {"@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration", "redirectType": "Moved", "redirectProtocol": "MatchRequest", "customHost": "", "customPath": "/redirect"}}, "matchConditions": [{"rulesEngineMatchVariable": "RequestPath", "rulesEngineOperator": "Contains", "negateCondition": false, @@ -1941,14 +2141,14 @@ interactions: Connection: - keep-alive Content-Length: - - '1623' + - '1839' Content-Type: - application/json; charset=utf-8 ParameterSetName: - -f -g --rules-engine-name --name --index User-Agent: - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: PUT @@ -1961,12 +2161,15 @@ interactions: \ \"requestHeaderActions\":[\r\n {\r\n \"headerActionType\":\"Overwrite\",\"headerName\":\"Rewrite\",\"value\":\"True\"\r\n \ }\r\n ],\"responseHeaderActions\":[\r\n \r\n \ ],\"routeConfigurationOverride\":{\r\n \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration\",\"customForwardingPath\":null,\"forwardingProtocol\":\"MatchRequest\",\"cacheConfiguration\":{\r\n - \ \"queryParameterStripDirective\":\"StripAll\",\"queryParameters\":null,\"dynamicCompression\":\"Enabled\",\"cacheDuration\":null\r\n + \ \"queryParameterStripDirective\":\"StripOnly\",\"queryParameters\":\"a=b,x=y&p=q\",\"dynamicCompression\":\"Enabled\",\"cacheDuration\":\"P5DT1H30M30S\"\r\n \ },\"backendPool\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool\"\r\n \ }\r\n },\"name\":null\r\n },\"matchConditions\":[\r\n \ {\r\n \"rulesEngineMatchValue\":[\r\n \"en-gb\",\"en-th\"\r\n \ ],\"rulesEngineMatchVariable\":\"RequestHeader\",\"rulesEngineOperator\":\"Equal\",\"transforms\":[\r\n \ \"Lowercase\"\r\n ],\"negateCondition\":false,\"selector\":\"x-language\"\r\n + \ },{\r\n \"rulesEngineMatchValue\":[\r\n \r\n + \ ],\"rulesEngineMatchVariable\":\"RequestPath\",\"rulesEngineOperator\":\"Any\",\"transforms\":[\r\n + \ \r\n ],\"negateCondition\":false,\"selector\":null\r\n \ }\r\n ]\r\n },{\r\n \"priority\":2,\"name\":\"rule2\",\"matchProcessingBehavior\":null,\"action\":{\r\n \ \"requestHeaderActions\":[\r\n \r\n ],\"responseHeaderActions\":[\r\n \ {\r\n \"headerActionType\":\"Append\",\"headerName\":\"Security\",\"value\":\"Strict\"\r\n @@ -1980,11 +2183,11 @@ interactions: cache-control: - no-cache content-length: - - '2849' + - '3109' content-type: - application/json; odata.metadata=minimal date: - - Fri, 27 Mar 2020 07:23:02 GMT + - Fri, 15 May 2020 06:23:36 GMT expires: - '-1' odata-version: @@ -2025,7 +2228,7 @@ interactions: - -f -g --rules-engine-name --name --action-type User-Agent: - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET @@ -2038,12 +2241,15 @@ interactions: \ \"requestHeaderActions\":[\r\n {\r\n \"headerActionType\":\"Overwrite\",\"headerName\":\"Rewrite\",\"value\":\"True\"\r\n \ }\r\n ],\"responseHeaderActions\":[\r\n \r\n \ ],\"routeConfigurationOverride\":{\r\n \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration\",\"customForwardingPath\":null,\"forwardingProtocol\":\"MatchRequest\",\"cacheConfiguration\":{\r\n - \ \"queryParameterStripDirective\":\"StripAll\",\"queryParameters\":null,\"dynamicCompression\":\"Enabled\",\"cacheDuration\":null\r\n + \ \"queryParameterStripDirective\":\"StripOnly\",\"queryParameters\":\"a=b,x=y&p=q\",\"dynamicCompression\":\"Enabled\",\"cacheDuration\":\"P5DT1H30M30S\"\r\n \ },\"backendPool\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool\"\r\n \ }\r\n },\"name\":null\r\n },\"matchConditions\":[\r\n \ {\r\n \"rulesEngineMatchValue\":[\r\n \"en-gb\",\"en-th\"\r\n \ ],\"rulesEngineMatchVariable\":\"RequestHeader\",\"rulesEngineOperator\":\"Equal\",\"transforms\":[\r\n \ \"Lowercase\"\r\n ],\"negateCondition\":false,\"selector\":\"x-language\"\r\n + \ },{\r\n \"rulesEngineMatchValue\":[\r\n \r\n + \ ],\"rulesEngineMatchVariable\":\"RequestPath\",\"rulesEngineOperator\":\"Any\",\"transforms\":[\r\n + \ \r\n ],\"negateCondition\":false,\"selector\":null\r\n \ }\r\n ]\r\n },{\r\n \"priority\":2,\"name\":\"rule2\",\"matchProcessingBehavior\":null,\"action\":{\r\n \ \"requestHeaderActions\":[\r\n \r\n ],\"responseHeaderActions\":[\r\n \ {\r\n \"headerActionType\":\"Append\",\"headerName\":\"Security\",\"value\":\"Strict\"\r\n @@ -2057,11 +2263,11 @@ interactions: cache-control: - no-cache content-length: - - '2849' + - '3109' content-type: - application/json; odata.metadata=minimal date: - - Fri, 27 Mar 2020 07:23:04 GMT + - Fri, 15 May 2020 06:23:37 GMT expires: - '-1' odata-version: @@ -2090,16 +2296,17 @@ interactions: [{"headerActionType": "Overwrite", "headerName": "Rewrite", "value": "True"}], "responseHeaderActions": []}, "matchConditions": [{"rulesEngineMatchVariable": "RequestHeader", "selector": "x-language", "rulesEngineOperator": "Equal", "negateCondition": - false, "rulesEngineMatchValue": ["en-gb", "en-th"], "transforms": ["Lowercase"]}], - "matchProcessingBehavior": "Stop"}, {"name": "rule2", "priority": 2, "action": - {"requestHeaderActions": [], "responseHeaderActions": [{"headerActionType": - "Append", "headerName": "Security", "value": "Strict"}, {"headerActionType": - "Delete", "headerName": "Location"}], "routeConfigurationOverride": {"@odata.type": - "#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration", "redirectType": - "Moved", "redirectProtocol": "MatchRequest", "customHost": "", "customPath": - "/redirect"}}, "matchConditions": [{"rulesEngineMatchVariable": "RequestPath", - "rulesEngineOperator": "Contains", "negateCondition": false, "rulesEngineMatchValue": - ["private"], "transforms": []}]}]}}' + false, "rulesEngineMatchValue": ["en-gb", "en-th"], "transforms": ["Lowercase"]}, + {"rulesEngineMatchVariable": "RequestPath", "rulesEngineOperator": "Any", "negateCondition": + false, "rulesEngineMatchValue": [], "transforms": []}], "matchProcessingBehavior": + "Stop"}, {"name": "rule2", "priority": 2, "action": {"requestHeaderActions": + [], "responseHeaderActions": [{"headerActionType": "Append", "headerName": "Security", + "value": "Strict"}, {"headerActionType": "Delete", "headerName": "Location"}], + "routeConfigurationOverride": {"@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration", + "redirectType": "Moved", "redirectProtocol": "MatchRequest", "customHost": "", + "customPath": "/redirect"}}, "matchConditions": [{"rulesEngineMatchVariable": + "RequestPath", "rulesEngineOperator": "Contains", "negateCondition": false, + "rulesEngineMatchValue": ["private"], "transforms": []}]}]}}' headers: Accept: - application/json @@ -2110,14 +2317,14 @@ interactions: Connection: - keep-alive Content-Length: - - '1106' + - '1254' Content-Type: - application/json; charset=utf-8 ParameterSetName: - -f -g --rules-engine-name --name --action-type User-Agent: - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: PUT @@ -2133,6 +2340,9 @@ interactions: \ {\r\n \"rulesEngineMatchValue\":[\r\n \"en-gb\",\"en-th\"\r\n \ ],\"rulesEngineMatchVariable\":\"RequestHeader\",\"rulesEngineOperator\":\"Equal\",\"transforms\":[\r\n \ \"Lowercase\"\r\n ],\"negateCondition\":false,\"selector\":\"x-language\"\r\n + \ },{\r\n \"rulesEngineMatchValue\":[\r\n \r\n + \ ],\"rulesEngineMatchVariable\":\"RequestPath\",\"rulesEngineOperator\":\"Any\",\"transforms\":[\r\n + \ \r\n ],\"negateCondition\":false,\"selector\":null\r\n \ }\r\n ]\r\n },{\r\n \"priority\":2,\"name\":\"rule2\",\"matchProcessingBehavior\":null,\"action\":{\r\n \ \"requestHeaderActions\":[\r\n \r\n ],\"responseHeaderActions\":[\r\n \ {\r\n \"headerActionType\":\"Append\",\"headerName\":\"Security\",\"value\":\"Strict\"\r\n @@ -2146,11 +2356,11 @@ interactions: cache-control: - no-cache content-length: - - '2221' + - '2461' content-type: - application/json; odata.metadata=minimal date: - - Fri, 27 Mar 2020 07:23:05 GMT + - Fri, 15 May 2020 06:23:38 GMT expires: - '-1' odata-version: @@ -2191,7 +2401,7 @@ interactions: - -f -g --rules-engine-name --name --action-type --index User-Agent: - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET @@ -2207,6 +2417,9 @@ interactions: \ {\r\n \"rulesEngineMatchValue\":[\r\n \"en-gb\",\"en-th\"\r\n \ ],\"rulesEngineMatchVariable\":\"RequestHeader\",\"rulesEngineOperator\":\"Equal\",\"transforms\":[\r\n \ \"Lowercase\"\r\n ],\"negateCondition\":false,\"selector\":\"x-language\"\r\n + \ },{\r\n \"rulesEngineMatchValue\":[\r\n \r\n + \ ],\"rulesEngineMatchVariable\":\"RequestPath\",\"rulesEngineOperator\":\"Any\",\"transforms\":[\r\n + \ \r\n ],\"negateCondition\":false,\"selector\":null\r\n \ }\r\n ]\r\n },{\r\n \"priority\":2,\"name\":\"rule2\",\"matchProcessingBehavior\":null,\"action\":{\r\n \ \"requestHeaderActions\":[\r\n \r\n ],\"responseHeaderActions\":[\r\n \ {\r\n \"headerActionType\":\"Append\",\"headerName\":\"Security\",\"value\":\"Strict\"\r\n @@ -2220,11 +2433,11 @@ interactions: cache-control: - no-cache content-length: - - '2221' + - '2461' content-type: - application/json; odata.metadata=minimal date: - - Fri, 27 Mar 2020 07:23:06 GMT + - Fri, 15 May 2020 06:23:40 GMT expires: - '-1' odata-version: @@ -2253,11 +2466,12 @@ interactions: [{"headerActionType": "Overwrite", "headerName": "Rewrite", "value": "True"}], "responseHeaderActions": []}, "matchConditions": [{"rulesEngineMatchVariable": "RequestHeader", "selector": "x-language", "rulesEngineOperator": "Equal", "negateCondition": - false, "rulesEngineMatchValue": ["en-gb", "en-th"], "transforms": ["Lowercase"]}], - "matchProcessingBehavior": "Stop"}, {"name": "rule2", "priority": 2, "action": - {"requestHeaderActions": [], "responseHeaderActions": [{"headerActionType": - "Append", "headerName": "Security", "value": "Strict"}], "routeConfigurationOverride": - {"@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration", + false, "rulesEngineMatchValue": ["en-gb", "en-th"], "transforms": ["Lowercase"]}, + {"rulesEngineMatchVariable": "RequestPath", "rulesEngineOperator": "Any", "negateCondition": + false, "rulesEngineMatchValue": [], "transforms": []}], "matchProcessingBehavior": + "Stop"}, {"name": "rule2", "priority": 2, "action": {"requestHeaderActions": + [], "responseHeaderActions": [{"headerActionType": "Append", "headerName": "Security", + "value": "Strict"}], "routeConfigurationOverride": {"@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration", "redirectType": "Moved", "redirectProtocol": "MatchRequest", "customHost": "", "customPath": "/redirect"}}, "matchConditions": [{"rulesEngineMatchVariable": "RequestPath", "rulesEngineOperator": "Contains", "negateCondition": false, @@ -2272,14 +2486,14 @@ interactions: Connection: - keep-alive Content-Length: - - '1048' + - '1196' Content-Type: - application/json; charset=utf-8 ParameterSetName: - -f -g --rules-engine-name --name --action-type --index User-Agent: - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: PUT @@ -2295,6 +2509,9 @@ interactions: \ {\r\n \"rulesEngineMatchValue\":[\r\n \"en-gb\",\"en-th\"\r\n \ ],\"rulesEngineMatchVariable\":\"RequestHeader\",\"rulesEngineOperator\":\"Equal\",\"transforms\":[\r\n \ \"Lowercase\"\r\n ],\"negateCondition\":false,\"selector\":\"x-language\"\r\n + \ },{\r\n \"rulesEngineMatchValue\":[\r\n \r\n + \ ],\"rulesEngineMatchVariable\":\"RequestPath\",\"rulesEngineOperator\":\"Any\",\"transforms\":[\r\n + \ \r\n ],\"negateCondition\":false,\"selector\":null\r\n \ }\r\n ]\r\n },{\r\n \"priority\":2,\"name\":\"rule2\",\"matchProcessingBehavior\":null,\"action\":{\r\n \ \"requestHeaderActions\":[\r\n \r\n ],\"responseHeaderActions\":[\r\n \ {\r\n \"headerActionType\":\"Append\",\"headerName\":\"Security\",\"value\":\"Strict\"\r\n @@ -2307,11 +2524,11 @@ interactions: cache-control: - no-cache content-length: - - '2124' + - '2364' content-type: - application/json; odata.metadata=minimal date: - - Fri, 27 Mar 2020 07:23:08 GMT + - Fri, 15 May 2020 06:23:41 GMT expires: - '-1' odata-version: @@ -2352,7 +2569,7 @@ interactions: - -f -g --rules-engine-name --name User-Agent: - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET @@ -2368,6 +2585,9 @@ interactions: \ {\r\n \"rulesEngineMatchValue\":[\r\n \"en-gb\",\"en-th\"\r\n \ ],\"rulesEngineMatchVariable\":\"RequestHeader\",\"rulesEngineOperator\":\"Equal\",\"transforms\":[\r\n \ \"Lowercase\"\r\n ],\"negateCondition\":false,\"selector\":\"x-language\"\r\n + \ },{\r\n \"rulesEngineMatchValue\":[\r\n \r\n + \ ],\"rulesEngineMatchVariable\":\"RequestPath\",\"rulesEngineOperator\":\"Any\",\"transforms\":[\r\n + \ \r\n ],\"negateCondition\":false,\"selector\":null\r\n \ }\r\n ]\r\n },{\r\n \"priority\":2,\"name\":\"rule2\",\"matchProcessingBehavior\":null,\"action\":{\r\n \ \"requestHeaderActions\":[\r\n \r\n ],\"responseHeaderActions\":[\r\n \ {\r\n \"headerActionType\":\"Append\",\"headerName\":\"Security\",\"value\":\"Strict\"\r\n @@ -2380,11 +2600,11 @@ interactions: cache-control: - no-cache content-length: - - '2124' + - '2364' content-type: - application/json; odata.metadata=minimal date: - - Fri, 27 Mar 2020 07:23:08 GMT + - Fri, 15 May 2020 06:23:43 GMT expires: - '-1' odata-version: @@ -2413,8 +2633,10 @@ interactions: [{"headerActionType": "Overwrite", "headerName": "Rewrite", "value": "True"}], "responseHeaderActions": []}, "matchConditions": [{"rulesEngineMatchVariable": "RequestHeader", "selector": "x-language", "rulesEngineOperator": "Equal", "negateCondition": - false, "rulesEngineMatchValue": ["en-gb", "en-th"], "transforms": ["Lowercase"]}], - "matchProcessingBehavior": "Stop"}]}}' + false, "rulesEngineMatchValue": ["en-gb", "en-th"], "transforms": ["Lowercase"]}, + {"rulesEngineMatchVariable": "RequestPath", "rulesEngineOperator": "Any", "negateCondition": + false, "rulesEngineMatchValue": [], "transforms": []}], "matchProcessingBehavior": + "Stop"}]}}' headers: Accept: - application/json @@ -2425,14 +2647,14 @@ interactions: Connection: - keep-alive Content-Length: - - '466' + - '614' Content-Type: - application/json; charset=utf-8 ParameterSetName: - -f -g --rules-engine-name --name User-Agent: - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: PUT @@ -2448,16 +2670,19 @@ interactions: \ {\r\n \"rulesEngineMatchValue\":[\r\n \"en-gb\",\"en-th\"\r\n \ ],\"rulesEngineMatchVariable\":\"RequestHeader\",\"rulesEngineOperator\":\"Equal\",\"transforms\":[\r\n \ \"Lowercase\"\r\n ],\"negateCondition\":false,\"selector\":\"x-language\"\r\n + \ },{\r\n \"rulesEngineMatchValue\":[\r\n \r\n + \ ],\"rulesEngineMatchVariable\":\"RequestPath\",\"rulesEngineOperator\":\"Any\",\"transforms\":[\r\n + \ \r\n ],\"negateCondition\":false,\"selector\":null\r\n \ }\r\n ]\r\n }\r\n ]\r\n }\r\n}" headers: cache-control: - no-cache content-length: - - '1216' + - '1456' content-type: - application/json; odata.metadata=minimal date: - - Fri, 27 Mar 2020 07:23:09 GMT + - Fri, 15 May 2020 06:23:45 GMT expires: - '-1' odata-version: @@ -2477,7 +2702,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1199' x-powered-by: - ASP.NET status: @@ -2498,7 +2723,7 @@ interactions: - -f -g User-Agent: - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.5.1 accept-language: - en-US method: GET @@ -2514,17 +2739,20 @@ interactions: \ {\r\n \"rulesEngineMatchValue\":[\r\n \"en-gb\",\"en-th\"\r\n \ ],\"rulesEngineMatchVariable\":\"RequestHeader\",\"rulesEngineOperator\":\"Equal\",\"transforms\":[\r\n \ \"Lowercase\"\r\n ],\"negateCondition\":false,\"selector\":\"x-language\"\r\n + \ },{\r\n \"rulesEngineMatchValue\":[\r\n \r\n + \ ],\"rulesEngineMatchVariable\":\"RequestPath\",\"rulesEngineOperator\":\"Any\",\"transforms\":[\r\n + \ \r\n ],\"negateCondition\":false,\"selector\":null\r\n \ }\r\n ]\r\n }\r\n ]\r\n }\r\n \ }\r\n ]\r\n}" headers: cache-control: - no-cache content-length: - - '1340' + - '1604' content-type: - application/json; odata.metadata=minimal date: - - Fri, 27 Mar 2020 07:23:10 GMT + - Fri, 15 May 2020 06:23:45 GMT expires: - '-1' odata-version: diff --git a/src/front-door/azext_front_door/tests/latest/test_route_rule_scenarios.py b/src/front-door/azext_front_door/tests/latest/test_route_rule_scenarios.py index 5dac8565c8e..06a85a016aa 100644 --- a/src/front-door/azext_front_door/tests/latest/test_route_rule_scenarios.py +++ b/src/front-door/azext_front_door/tests/latest/test_route_rule_scenarios.py @@ -19,16 +19,18 @@ def test_route_rule_basic(self, resource_group): '--frontend-endpoints DefaultFrontendEndpoint --route-type Forward ' '--backend-pool DefaultBackendPool --patterns /forward1') self.cmd('network front-door routing-rule update -f {front_door} -g {rg} -n {rule1} ' - '--patterns /forward2 --caching Disabled', + '--patterns /forward2 --caching Enabled', checks=[ self.check('patternsToMatch[0]', '/forward2'), - self.check('routeConfiguration.cacheConfiguration', None) + self.check('length(routeConfiguration.cacheConfiguration)', 4), + self.check('routeConfiguration.cacheConfiguration.queryParameterStripDirective', 'StripNone'), + self.check('routeConfiguration.cacheConfiguration.dynamicCompression', 'Enabled') ]) self.cmd('network front-door routing-rule create -f {front_door} -g {rg} -n {rule2} ' '--frontend-endpoints DefaultFrontendEndpoint --route-type Redirect ' '--custom-host redirecthost.com --patterns /redirect1 --custom-query-string querystring') self.cmd('network front-door routing-rule update -f {front_door} -g {rg} -n {rule2} ' - '--patterns /forward3 --custom-query-string querystring2', + '--patterns /forward3 --custom-query-string querystring2 ', checks=[ self.check('patternsToMatch[0]', '/forward3'), self.check('routeConfiguration.customQueryString', 'querystring2') diff --git a/src/front-door/azext_front_door/tests/latest/test_rules_engine_scenarios.py b/src/front-door/azext_front_door/tests/latest/test_rules_engine_scenarios.py index 282c5856eb7..ec2fddc4647 100644 --- a/src/front-door/azext_front_door/tests/latest/test_rules_engine_scenarios.py +++ b/src/front-door/azext_front_door/tests/latest/test_rules_engine_scenarios.py @@ -98,12 +98,17 @@ def test_rules_engine_basic(self, resource_group): """Step 9: Add a Forward Route Override action to the rule""" self.cmd('network front-door rules-engine rule action add -f {front_door} -g {rg} ' '--rules-engine-name {rules_engine} --name {rule1} --action-type ' - 'ForwardRouteOverride --backend-pool DefaultBackendPool --caching Enabled', + 'ForwardRouteOverride --backend-pool DefaultBackendPool --caching Enabled ' + '--query-parameter-strip-directive StripOnly --query-parameters "a=b,x=y&p=q" ' + '--cache-duration P5DT1H30M30S', checks=[ self.check('length(rules[0].action.routeConfigurationOverride)', 5), self.check('contains(rules[0].action.routeConfigurationOverride.odatatype, `FrontdoorForwardingConfiguration`)', True), self.check('contains(rules[0].action.routeConfigurationOverride.backendPool.id, `DefaultBackendPool`)', True), - self.check('length(rules[0].action.routeConfigurationOverride.cacheConfiguration)', 4) + self.check('length(rules[0].action.routeConfigurationOverride.cacheConfiguration)', 4), + self.check('rules[0].action.routeConfigurationOverride.cacheConfiguration.queryParameterStripDirective', 'StripOnly'), + self.check('rules[0].action.routeConfigurationOverride.cacheConfiguration.queryParameters', 'a=b,x=y&p=q'), + self.check('rules[0].action.routeConfigurationOverride.cacheConfiguration.cacheDuration', '5 days, 1:30:30') ]) """Step 10: Add a Redirect Route Override action to the rule""" @@ -146,21 +151,30 @@ def test_rules_engine_basic(self, resource_group): self.check('rules[0].matchConditions[1].transforms', ['Lowercase']) ]) - """Step 14: List all the match conditions in a rule""" + """Step 14: Add a match condition with no match values to the rule""" + self.cmd('network front-door rules-engine rule condition add -f {front_door} -g {rg} ' + '-r {rules_engine} --name {rule1} --match-variable RequestPath --operator Any', + checks=[ + self.check('length(rules[0].matchConditions)', 3), + self.check('rules[0].matchConditions[2].rulesEngineMatchVariable', 'RequestPath'), + self.check('rules[0].matchConditions[2].rulesEngineOperator', 'Any') + ]) + + """Step 15: List all the match conditions in a rule""" self.cmd('network front-door rules-engine rule condition list -f {front_door} -g {rg} ' '--rules-engine-name {rules_engine} --name {rule1}', checks=[ - self.check('length(@)', 2) + self.check('length(@)', 3) ]) - """Step 15: Remove a match condition from a rule""" + """Step 16: Remove a match condition from a rule""" self.cmd('network front-door rules-engine rule condition remove -f {front_door} -g {rg} ' '--rules-engine-name {rules_engine} --name {rule1} --index 0', checks=[ - self.check('length(rules[0].matchConditions)', 1) + self.check('length(rules[0].matchConditions)', 2) ]) - """Step 16: Remove a Route Override action from a rule""" + """Step 17: Remove a Route Override action from a rule""" self.cmd('network front-door rules-engine rule action remove -f {front_door} -g {rg} ' '--rules-engine-name {rules_engine} --name {rule1} --action-type ' 'ForwardRouteOverride', @@ -168,7 +182,7 @@ def test_rules_engine_basic(self, resource_group): self.check('rules[0].routeConfigurationOverride', None) ]) - """Step 17: Remove a Header action from a rule""" + """Step 18: Remove a Header action from a rule""" self.cmd('network front-door rules-engine rule action remove -f {front_door} -g {rg} ' '--rules-engine-name {rules_engine} --name {rule2} --action-type ' 'ResponseHeader --index 1', @@ -176,14 +190,14 @@ def test_rules_engine_basic(self, resource_group): self.check('length(rules[1].action.responseHeaderActions)', 1) ]) - """Step 18: Delete a rule from a Rules Engine configuration""" + """Step 19: Delete a rule from a Rules Engine configuration""" self.cmd('network front-door rules-engine rule delete -f {front_door} -g {rg} ' '--rules-engine-name {rules_engine} --name {rule2}', checks=[ self.check('length(rules)', 1) ]) - """Step 19: List all the Rules Engine configurations in a Front Door""" + """Step 20: List all the Rules Engine configurations in a Front Door""" self.cmd('network front-door rules-engine list -f {front_door} -g {rg}', checks=[ self.check('length(@)', 1) diff --git a/src/front-door/setup.py b/src/front-door/setup.py index 39f21850335..c931dfd7020 100644 --- a/src/front-door/setup.py +++ b/src/front-door/setup.py @@ -8,7 +8,7 @@ from codecs import open from setuptools import setup, find_packages -VERSION = "1.0.5" +VERSION = "1.0.7" CLASSIFIERS = [ 'Development Status :: 4 - Beta', diff --git a/src/hardware-security-modules/HISTORY.rst b/src/hardware-security-modules/HISTORY.rst new file mode 100644 index 00000000000..1c139576ba0 --- /dev/null +++ b/src/hardware-security-modules/HISTORY.rst @@ -0,0 +1,8 @@ +.. :changelog: + +Release History +=============== + +0.1.0 +++++++ +* Initial release. diff --git a/src/hardware-security-modules/README.md b/src/hardware-security-modules/README.md new file mode 100644 index 00000000000..0b1302bdd04 --- /dev/null +++ b/src/hardware-security-modules/README.md @@ -0,0 +1,54 @@ +Microsoft Azure CLI 'hardware-security-modules' Extension +========================================== + +### How to use ### +Install this extension using the below CLI command +``` +az extension add --name hardware-security-modules +``` + +### Getting Help + +To see examples of commands and parameters details of commands or command groups, one should run the command of interest with a -h + +Examples: +``` +az dedicated-hsm create -h + +az dedicated-hsm list -h + +az dedicated-hsm update -h +``` + + +##### Creating a dedicated hardware security module + +To create a dedicate hardware security module, one must have already setup all of the following in Azure: + +- A VNET +- A subnet for the HSMs in the specified VNET (delegation must be set to HSM) +- A subnet for the virtual network gateway +- A public IP address for the gateway + +More instructions can be found at: https://docs.microsoft.com/en-us/azure/dedicated-hsm/ + +An example of CLI commands that would setup a very basic network that manages a dedicated HSM via a VM would be: + +``` +az feature register --namespace Microsoft.HardwareSecurityModules --name AzureDedicatedHSM + +az feature register --namespace Microsoft.Network --name AllowBaremetalServers + +az network vnet create --name vn -g rg1 --subnet-name default + +az vm create -g rg1 --name vm1 --image UbuntuLTS + +az network vnet subnet create --vnet-name vn -n GatewaySubnet -g rg1 --address-prefix 10.0.5.0/24 + +az network vnet subnet create --vnet-name vn -g rg1 --name hsm --address-prefixes 10.0.2.0/24 --delegations Microsoft.HardwareSecurityModules/dedicatedHSMs + +az network public-ip create -n ERGWVIP -g rg1 --allocation-method Dynamic + +az network vnet-gateway create -n ERGW -l japaneast --public-ip-address ERGWVIP -g rg1 --vnet vn --sku standard --gateway-type ExpressRoute + +``` diff --git a/src/hardware-security-modules/azext_hardware_security_modules/__init__.py b/src/hardware-security-modules/azext_hardware_security_modules/__init__.py new file mode 100644 index 00000000000..0645a0a708d --- /dev/null +++ b/src/hardware-security-modules/azext_hardware_security_modules/__init__.py @@ -0,0 +1,47 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from azure.cli.core import AzCommandsLoader +from azext_hardware_security_modules.generated._help import helps # pylint: disable=unused-import + + +class AzureDedicatedHSMResourceProviderCommandsLoader(AzCommandsLoader): + + def __init__(self, cli_ctx=None): + from azure.cli.core.commands import CliCommandType + from azext_hardware_security_modules.generated._client_factory import cf_hardwaresecuritymodules + hardwaresecuritymodules_custom = CliCommandType( + operations_tmpl='azext_hardware_security_modules.custom#{}', + client_factory=cf_hardwaresecuritymodules) + super(AzureDedicatedHSMResourceProviderCommandsLoader, + self).__init__( + cli_ctx=cli_ctx, custom_command_type=hardwaresecuritymodules_custom) + + def load_command_table(self, args): + from azext_hardware_security_modules.generated.commands import load_command_table + load_command_table(self, args) + try: + from azext_hardware_security_modules.manual.commands import load_command_table as load_command_table_manual + load_command_table_manual(self, args) + except ImportError: + pass + return self.command_table + + def load_arguments(self, command): + from azext_hardware_security_modules.generated._params import load_arguments + load_arguments(self, command) + try: + from azext_hardware_security_modules.manual._params import load_arguments as load_arguments_manual + load_arguments_manual(self, command) + except ImportError: + pass + + +COMMAND_LOADER_CLS = AzureDedicatedHSMResourceProviderCommandsLoader diff --git a/src/hardware-security-modules/azext_hardware_security_modules/action.py b/src/hardware-security-modules/azext_hardware_security_modules/action.py new file mode 100644 index 00000000000..d95d53bf711 --- /dev/null +++ b/src/hardware-security-modules/azext_hardware_security_modules/action.py @@ -0,0 +1,17 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +# pylint: disable=wildcard-import +# pylint: disable=unused-wildcard-import + +from .generated.action import * # noqa: F403 +try: + from .manual.action import * # noqa: F403 +except ImportError: + pass diff --git a/src/hardware-security-modules/azext_hardware_security_modules/azext_metadata.json b/src/hardware-security-modules/azext_hardware_security_modules/azext_metadata.json new file mode 100644 index 00000000000..13025150393 --- /dev/null +++ b/src/hardware-security-modules/azext_hardware_security_modules/azext_metadata.json @@ -0,0 +1,4 @@ +{ + "azext.isExperimental": true, + "azext.minCliCoreVersion": "2.3.1" +} \ No newline at end of file diff --git a/src/hardware-security-modules/azext_hardware_security_modules/custom.py b/src/hardware-security-modules/azext_hardware_security_modules/custom.py new file mode 100644 index 00000000000..dbe9d5f9742 --- /dev/null +++ b/src/hardware-security-modules/azext_hardware_security_modules/custom.py @@ -0,0 +1,17 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +# pylint: disable=wildcard-import +# pylint: disable=unused-wildcard-import + +from .generated.custom import * # noqa: F403 +try: + from .manual.custom import * # noqa: F403 +except ImportError: + pass diff --git a/src/hardware-security-modules/azext_hardware_security_modules/generated/__init__.py b/src/hardware-security-modules/azext_hardware_security_modules/generated/__init__.py new file mode 100644 index 00000000000..c9cfdc73e77 --- /dev/null +++ b/src/hardware-security-modules/azext_hardware_security_modules/generated/__init__.py @@ -0,0 +1,12 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +__path__ = __import__('pkgutil').extend_path(__path__, __name__) diff --git a/src/hardware-security-modules/azext_hardware_security_modules/generated/_client_factory.py b/src/hardware-security-modules/azext_hardware_security_modules/generated/_client_factory.py new file mode 100644 index 00000000000..a8a6ae0de42 --- /dev/null +++ b/src/hardware-security-modules/azext_hardware_security_modules/generated/_client_factory.py @@ -0,0 +1,19 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + + +def cf_hardwaresecuritymodules(cli_ctx, *_): + from azure.cli.core.commands.client_factory import get_mgmt_service_client + from ..vendored_sdks.hardwaresecuritymodules import AzureDedicatedHSMResourceProvider + return get_mgmt_service_client(cli_ctx, AzureDedicatedHSMResourceProvider) + + +def cf_dedicated_hsm(cli_ctx, *_): + return cf_hardwaresecuritymodules(cli_ctx).dedicated_hsm diff --git a/src/hardware-security-modules/azext_hardware_security_modules/generated/_help.py b/src/hardware-security-modules/azext_hardware_security_modules/generated/_help.py new file mode 100644 index 00000000000..894b8f8fb6c --- /dev/null +++ b/src/hardware-security-modules/azext_hardware_security_modules/generated/_help.py @@ -0,0 +1,84 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +# pylint: disable=too-many-lines + +from knack.help_files import helps + + +helps['dedicated-hsm'] = """ + type: group + short-summary: dedicated-hsm to create, update, list, show, and delete HSMs +""" + +helps['dedicated-hsm list'] = """ + type: command + short-summary: The List operation gets information about the dedicated HSMs associated with the resrouce group. + examples: + - name: List dedicated HSM devices in a resource group + text: |- + az dedicated-hsm list -g "hsm-group" +""" + +helps['dedicated-hsm list'] = """ + type: command + short-summary: The List operation gets information about the dedicated HSMs associated with the subscription. + examples: + - name: List dedicated HSM devices in a subscription + text: |- + az dedicated-hsm list +""" + +helps['dedicated-hsm show'] = """ + type: command + short-summary: Gets the specified Azure dedicated HSM. + examples: + - name: Get a dedicated HSM + text: |- + az dedicated-hsm show -n "hsm1" -g "hsm-group" +""" + +helps['dedicated-hsm create'] = """ + type: command + short-summary: Create a dedicated HSM in the specified subscription. + examples: + - name: Create a new dedicated HSM + text: |- + az dedicated-hsm create -n "hsm1" -l "japanwest" -i private-ip-address="1.0.0.1" \ +-s id="/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/hsm-group/providers/Microsoft.Network/virtualNetworks/hsm/subnets/hsm" \ +--stamp-id "stamp1" --sku name="SafeNet Luna Network HSM A790" --tags Dept="hsm" Environment="dogfood" -g "hsm-group" +""" + +helps['dedicated-hsm update'] = """ + type: command + short-summary: Update a dedicated HSM in the specified subscription. + examples: + - name: Update an existing dedicated HSM + text: |- + az dedicated-hsm update -n "hsm1" --tags Dept="hsm" Environment="dogfood" Sl\ +ice="A" -g "hsm-group" +""" + +helps['dedicated-hsm delete'] = """ + type: command + short-summary: Deletes the specified Azure Dedicated HSM. + examples: + - name: Delete a dedicated HSM + text: |- + az dedicated-hsm delete -n "hsm1" -g "hsm-group" +""" + +helps['dedicated-hsm wait'] = """ + type: command + short-summary: Waits for operation to complete + examples: + - name: Delete a dedicated HSM + text: |- + az dedicated-hsm wait --created -g "hsm-group" --name "hsm1" +""" diff --git a/src/hardware-security-modules/azext_hardware_security_modules/generated/_params.py b/src/hardware-security-modules/azext_hardware_security_modules/generated/_params.py new file mode 100644 index 00000000000..c502b974f5e --- /dev/null +++ b/src/hardware-security-modules/azext_hardware_security_modules/generated/_params.py @@ -0,0 +1,65 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +# pylint: disable=too-many-lines +# pylint: disable=too-many-statements + +from knack.arguments import CLIArgumentType +from azure.cli.core.commands.parameters import ( + tags_type, + resource_group_name_type, + get_location_type +) +from azure.cli.core.commands.validators import get_default_location_from_resource_group +from azext_hardware_security_modules.action import ( + AddNetworkProfileSubnet, + AddNetworkProfileNetworkInterfaces +) + + +def load_arguments(self, _): + + with self.argument_context('dedicated-hsm list') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('top', help='Maximum number of results to return.') + + with self.argument_context('dedicated-hsm show') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('name', options_list=[ + '--name', '-n'], help='The name of the dedicated HSM.') + + with self.argument_context('dedicated-hsm create') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('name', options_list=[ + '--name', '-n'], help='Name of the dedicated Hsm') + c.argument('location', arg_type=get_location_type(self.cli_ctx), + validator=get_default_location_from_resource_group) + c.argument('sku', type=str, + help='The HSM device SKU if a non-standard HSM is wanted (default is: SafeNet Luna Network HSM A790)') + c.argument('zones', nargs='+', + help='The Dedicated Hsm zones.') + c.argument('tags', tags_type) + c.argument( + 'stamp_id', help='This field will be used when RP does not support Availability zones.') + c.argument('network_profile_subnet', arg_group='network profile', options_list=['--subnet', '-s'], action=AddNetworkProfileSubnet, nargs='+', help='Specifies the identifier ' + 'of the subnet. Expected value: id=xx.') + c.argument('network_profile_network_interfaces', options_list=['--network-profile-network-interfaces', '-i'], action=AddNetworkProfileNetworkInterfaces, nargs='+', help='Sp' + 'ecifies a list of ip address from the specfied subnet for the network interfaces associated with the dedicated HSM. Expe' + 'cted value: -i private-ip-address=xx.') + + with self.argument_context('dedicated-hsm update') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('name', options_list=[ + '--name', '-n'], help='Name of the dedicated HSM') + c.argument('tags', tags_type) + + with self.argument_context('dedicated-hsm delete') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('name', options_list=[ + '--name', '-n'], help='The name of the dedicated HSM to delete') diff --git a/src/hardware-security-modules/azext_hardware_security_modules/generated/action.py b/src/hardware-security-modules/azext_hardware_security_modules/generated/action.py new file mode 100644 index 00000000000..000b7086e8e --- /dev/null +++ b/src/hardware-security-modules/azext_hardware_security_modules/generated/action.py @@ -0,0 +1,58 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +# pylint: disable=protected-access + +import argparse +from knack.util import CLIError +from collections import defaultdict + + +class AddNetworkProfileSubnet(argparse.Action): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + namespace.network_profile_subnet = action + + def get_action(self, values, option_string): # pylint: disable=no-self-use + try: + properties = defaultdict(list) + for (k, v) in (x.split('=', 1) for x in values): + properties[k].append(v) + properties = dict(properties) + except ValueError: + raise CLIError('usage error: {} [KEY=VALUE ...]'.format(option_string)) + d = {} + for k in properties: + kl = k.lower() + v = properties[k] + if kl == 'id': + d['id'] = v[0] + return d + + +class AddNetworkProfileNetworkInterfaces(argparse._AppendAction): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + super(AddNetworkProfileNetworkInterfaces, self).__call__(parser, namespace, action, option_string) + + def get_action(self, values, option_string): # pylint: disable=no-self-use + try: + properties = defaultdict(list) + for (k, v) in (x.split('=', 1) for x in values): + properties[k].append(v) + properties = dict(properties) + except ValueError: + raise CLIError('usage error: {} [KEY=VALUE ...]'.format(option_string)) + d = {} + for k in properties: + kl = k.lower() + v = properties[k] + if kl == 'private-ip-address': + d['private_ip_address'] = v[0] + return d diff --git a/src/hardware-security-modules/azext_hardware_security_modules/generated/commands.py b/src/hardware-security-modules/azext_hardware_security_modules/generated/commands.py new file mode 100644 index 00000000000..dc2ebc0879c --- /dev/null +++ b/src/hardware-security-modules/azext_hardware_security_modules/generated/commands.py @@ -0,0 +1,32 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from azure.cli.core.commands import CliCommandType + + +def load_command_table(self, _): + + from azext_hardware_security_modules.generated._client_factory import cf_dedicated_hsm + hardwaresecuritymodules_dedicated_hsm = CliCommandType( + operations_tmpl='azext_hardware_security_modules.vendored_sdks.hardwaresecuritymodules.operations._dedicated_hsm_' + 'operations#DedicatedHsmOperations.{}', + client_factory=cf_dedicated_hsm) + with self.command_group('dedicated-hsm', hardwaresecuritymodules_dedicated_hsm, + client_factory=cf_dedicated_hsm, is_experimental=True) as g: + g.custom_command('list', 'hardwaresecuritymodules_dedicated_hsm_list') + g.custom_show_command( + 'show', 'hardwaresecuritymodules_dedicated_hsm_show') + g.custom_command( + 'create', 'hardwaresecuritymodules_dedicated_hsm_create', supports_no_wait=True) + g.custom_command( + 'update', 'hardwaresecuritymodules_dedicated_hsm_update', supports_no_wait=True) + g.custom_command('delete', 'hardwaresecuritymodules_dedicated_hsm_delete', + supports_no_wait=True, confirmation=True) + g.wait_command('wait') diff --git a/src/hardware-security-modules/azext_hardware_security_modules/generated/custom.py b/src/hardware-security-modules/azext_hardware_security_modules/generated/custom.py new file mode 100644 index 00000000000..46c466c61cd --- /dev/null +++ b/src/hardware-security-modules/azext_hardware_security_modules/generated/custom.py @@ -0,0 +1,65 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +# pylint: disable=too-many-lines + +import json + + +def hardwaresecuritymodules_dedicated_hsm_list(cmd, client, + resource_group_name=None, + top=None): + if resource_group_name: + return client.list_by_resource_group(resource_group_name=resource_group_name, + top=top) + return client.list_by_subscription(top=top) + + +def hardwaresecuritymodules_dedicated_hsm_show(cmd, client, + resource_group_name, + name): + return client.get(resource_group_name=resource_group_name, + name=name) + + +def hardwaresecuritymodules_dedicated_hsm_create(cmd, client, + resource_group_name, + name, + location, + sku=None, + zones=None, + tags=None, + stamp_id=None, + network_profile_subnet=None, + network_profile_network_interfaces=None): + return client.begin_create_or_update(resource_group_name=resource_group_name, + name=name, + location=location, + sku=sku if not sku else {'name': sku}, + zones=zones, + tags=tags, + stamp_id=stamp_id, + subnet=network_profile_subnet, + network_interfaces=network_profile_network_interfaces) + + +def hardwaresecuritymodules_dedicated_hsm_update(cmd, client, + resource_group_name, + name, + tags=None): + return client.begin_update(resource_group_name=resource_group_name, + name=name, + tags=tags) + + +def hardwaresecuritymodules_dedicated_hsm_delete(cmd, client, + resource_group_name, + name): + return client.begin_delete(resource_group_name=resource_group_name, + name=name) diff --git a/src/hardware-security-modules/azext_hardware_security_modules/manual/__init__.py b/src/hardware-security-modules/azext_hardware_security_modules/manual/__init__.py new file mode 100644 index 00000000000..c9cfdc73e77 --- /dev/null +++ b/src/hardware-security-modules/azext_hardware_security_modules/manual/__init__.py @@ -0,0 +1,12 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +__path__ = __import__('pkgutil').extend_path(__path__, __name__) diff --git a/src/hardware-security-modules/azext_hardware_security_modules/tests/__init__.py b/src/hardware-security-modules/azext_hardware_security_modules/tests/__init__.py new file mode 100644 index 00000000000..df29287338d --- /dev/null +++ b/src/hardware-security-modules/azext_hardware_security_modules/tests/__init__.py @@ -0,0 +1,49 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +import inspect +import os + + +__path__ = __import__('pkgutil').extend_path(__path__, __name__) + + +def try_manual(func): + def import_manual_function(origin_func): + from importlib import import_module + decorated_path = inspect.getfile(origin_func) + module_path = __path__[0] + if not decorated_path.startswith(module_path): + raise Exception("Decorator can only be used in submodules!") + manual_path = os.path.join( + decorated_path[module_path.rfind(os.path.sep) + 1:]) + manual_file_path, manual_file_name = os.path.split(manual_path) + module_name, _ = os.path.splitext(manual_file_name) + manual_module = "..manual." + \ + ".".join(manual_file_path.split(os.path.sep) + [module_name, ]) + return getattr(import_module(manual_module, package=__name__), origin_func.__name__) + + def get_func_to_call(): + func_to_call = func + try: + func_to_call = import_manual_function(func) + except (ImportError, AttributeError): + pass + return func_to_call + + def wrapper(*args, **kwargs): + func_to_call = get_func_to_call() + print("running {}()...".format(func.__name__)) + return func_to_call(*args, **kwargs) + + if inspect.isclass(func): + return get_func_to_call() + else: + return wrapper diff --git a/src/hardware-security-modules/azext_hardware_security_modules/tests/latest/__init__.py b/src/hardware-security-modules/azext_hardware_security_modules/tests/latest/__init__.py new file mode 100644 index 00000000000..c9cfdc73e77 --- /dev/null +++ b/src/hardware-security-modules/azext_hardware_security_modules/tests/latest/__init__.py @@ -0,0 +1,12 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +__path__ = __import__('pkgutil').extend_path(__path__, __name__) diff --git a/src/hardware-security-modules/azext_hardware_security_modules/tests/latest/recordings/test_hardwaresecuritymodules.yaml b/src/hardware-security-modules/azext_hardware_security_modules/tests/latest/recordings/test_hardwaresecuritymodules.yaml new file mode 100644 index 00000000000..3d916a95e30 --- /dev/null +++ b/src/hardware-security-modules/azext_hardware_security_modules/tests/latest/recordings/test_hardwaresecuritymodules.yaml @@ -0,0 +1,9580 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - feature register + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --namespace --name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Features/providers/Microsoft.HardwareSecurityModules/features/AzureDedicatedHSM/register?api-version=2015-12-01 + response: + body: + string: '{"properties":{"state":"Registered"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Features/providers/Microsoft.HardwareSecurityModules/features/AzureDedicatedHsm","type":"Microsoft.Features/providers/features","name":"Microsoft.HardwareSecurityModules/AzureDedicatedHsm"}' + headers: + cache-control: + - no-cache + content-length: + - '304' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:45:50 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - feature register + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --namespace --name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Features/providers/Microsoft.Network/features/AllowBaremetalServers/register?api-version=2015-12-01 + response: + body: + string: '{"properties":{"state":"Registered"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Features/providers/Microsoft.Network/features/AllowBaremetalServers","type":"Microsoft.Features/providers/features","name":"Microsoft.Network/AllowBaremetalServers"}' + headers: + cache-control: + - no-cache + content-length: + - '280' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:45:51 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet create + Connection: + - keep-alive + ParameterSetName: + - --name -g --subnet-name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2019-07-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001","name":"clitest000001","type":"Microsoft.Resources/resourceGroups","location":"japaneast","tags":{"product":"azurecli","cause":"automation","date":"2020-05-30T03:45:42Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '431' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:45:52 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"location": "japaneast", "tags": {}, "properties": {"addressSpace": {"addressPrefixes": + ["10.0.0.0/16"]}, "dhcpOptions": {}, "subnets": [{"properties": {"addressPrefix": + "10.0.0.0/24"}, "name": "default"}]}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet create + Connection: + - keep-alive + Content-Length: + - '208' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - --name -g --subnet-name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vn?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"vn\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vn\",\r\n + \ \"etag\": \"W/\\\"8285fd99-81b1-427b-9b29-2dece0c61fdc\\\"\",\r\n \"type\": + \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"japaneast\",\r\n + \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"resourceGuid\": \"f0103c77-d74f-49b9-bf46-d0941621438b\",\r\n \"addressSpace\": + {\r\n \"addressPrefixes\": [\r\n \"10.0.0.0/16\"\r\n ]\r\n + \ },\r\n \"dhcpOptions\": {\r\n \"dnsServers\": []\r\n },\r\n + \ \"subnets\": [\r\n {\r\n \"name\": \"default\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vn/subnets/default\",\r\n + \ \"etag\": \"W/\\\"8285fd99-81b1-427b-9b29-2dece0c61fdc\\\"\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"addressPrefix\": \"10.0.0.0/24\",\r\n \"delegations\": + [],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n \"privateLinkServiceNetworkPolicies\": + \"Enabled\"\r\n },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets\"\r\n + \ }\r\n ],\r\n \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\": + false,\r\n \"enableVmProtection\": false\r\n }\r\n}" + headers: + azure-asyncnotification: + - Enabled + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/japaneast/operations/76d73189-1870-4907-aab1-9783def4e3f8?api-version=2020-04-01 + cache-control: + - no-cache + content-length: + - '1431' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:45:57 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 9c4ca241-9cdb-43d4-b378-f8d859f006f1 + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet create + Connection: + - keep-alive + ParameterSetName: + - --name -g --subnet-name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/japaneast/operations/76d73189-1870-4907-aab1-9783def4e3f8?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:46:01 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 36979d94-9cb6-4992-9197-99b50619c0fc + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet create + Connection: + - keep-alive + ParameterSetName: + - --name -g --subnet-name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/japaneast/operations/76d73189-1870-4907-aab1-9783def4e3f8?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:46:11 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - ce2bb97d-5d0b-492d-bafc-faa28c93fbcf + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet create + Connection: + - keep-alive + ParameterSetName: + - --name -g --subnet-name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/japaneast/operations/76d73189-1870-4907-aab1-9783def4e3f8?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"Succeeded\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '29' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:46:21 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 59ffa7d6-4709-4528-8355-6295d583dab1 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet create + Connection: + - keep-alive + ParameterSetName: + - --name -g --subnet-name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vn?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"vn\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vn\",\r\n + \ \"etag\": \"W/\\\"9973ca25-dacd-4aa3-b877-493a68309c01\\\"\",\r\n \"type\": + \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"japaneast\",\r\n + \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"resourceGuid\": \"f0103c77-d74f-49b9-bf46-d0941621438b\",\r\n \"addressSpace\": + {\r\n \"addressPrefixes\": [\r\n \"10.0.0.0/16\"\r\n ]\r\n + \ },\r\n \"dhcpOptions\": {\r\n \"dnsServers\": []\r\n },\r\n + \ \"subnets\": [\r\n {\r\n \"name\": \"default\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vn/subnets/default\",\r\n + \ \"etag\": \"W/\\\"9973ca25-dacd-4aa3-b877-493a68309c01\\\"\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"addressPrefix\": \"10.0.0.0/24\",\r\n \"delegations\": + [],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n \"privateLinkServiceNetworkPolicies\": + \"Enabled\"\r\n },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets\"\r\n + \ }\r\n ],\r\n \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\": + false,\r\n \"enableVmProtection\": false\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1433' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:46:21 GMT + etag: + - W/"9973ca25-dacd-4aa3-b877-493a68309c01" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - fe84354d-a9e6-4c90-b80c-a8519b1d0001 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - vm create + Connection: + - keep-alive + ParameterSetName: + - -g --name --image --generate-ssh-keys + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2019-07-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001","name":"clitest000001","type":"Microsoft.Resources/resourceGroups","location":"japaneast","tags":{"product":"azurecli","cause":"automation","date":"2020-05-30T03:45:42Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '431' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:46:22 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - python-requests/2.23.0 + method: GET + uri: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/arm-compute/quickstart-templates/aliases.json + response: + body: + string: "{\n \"$schema\": \"http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json\",\n + \ \"contentVersion\": \"1.0.0.0\",\n \"parameters\": {},\n \"variables\": + {},\n \"resources\": [],\n \"outputs\": {\n \"aliases\": {\n \"type\": + \"object\",\n \"value\": {\n \"Linux\": {\n \"CentOS\": + {\n \"publisher\": \"OpenLogic\",\n \"offer\": \"CentOS\",\n + \ \"sku\": \"7.5\",\n \"version\": \"latest\"\n },\n + \ \"CoreOS\": {\n \"publisher\": \"CoreOS\",\n \"offer\": + \"CoreOS\",\n \"sku\": \"Stable\",\n \"version\": \"latest\"\n + \ },\n \"Debian\": {\n \"publisher\": \"Debian\",\n + \ \"offer\": \"debian-10\",\n \"sku\": \"10\",\n \"version\": + \"latest\"\n },\n \"openSUSE-Leap\": {\n \"publisher\": + \"SUSE\",\n \"offer\": \"openSUSE-Leap\",\n \"sku\": + \"42.3\",\n \"version\": \"latest\"\n },\n \"RHEL\": + {\n \"publisher\": \"RedHat\",\n \"offer\": \"RHEL\",\n + \ \"sku\": \"7-LVM\",\n \"version\": \"latest\"\n },\n + \ \"SLES\": {\n \"publisher\": \"SUSE\",\n \"offer\": + \"SLES\",\n \"sku\": \"15\",\n \"version\": \"latest\"\n + \ },\n \"UbuntuLTS\": {\n \"publisher\": \"Canonical\",\n + \ \"offer\": \"UbuntuServer\",\n \"sku\": \"18.04-LTS\",\n + \ \"version\": \"latest\"\n }\n },\n \"Windows\": + {\n \"Win2019Datacenter\": {\n \"publisher\": \"MicrosoftWindowsServer\",\n + \ \"offer\": \"WindowsServer\",\n \"sku\": \"2019-Datacenter\",\n + \ \"version\": \"latest\"\n },\n \"Win2016Datacenter\": + {\n \"publisher\": \"MicrosoftWindowsServer\",\n \"offer\": + \"WindowsServer\",\n \"sku\": \"2016-Datacenter\",\n \"version\": + \"latest\"\n },\n \"Win2012R2Datacenter\": {\n \"publisher\": + \"MicrosoftWindowsServer\",\n \"offer\": \"WindowsServer\",\n \"sku\": + \"2012-R2-Datacenter\",\n \"version\": \"latest\"\n },\n + \ \"Win2012Datacenter\": {\n \"publisher\": \"MicrosoftWindowsServer\",\n + \ \"offer\": \"WindowsServer\",\n \"sku\": \"2012-Datacenter\",\n + \ \"version\": \"latest\"\n },\n \"Win2008R2SP1\": + {\n \"publisher\": \"MicrosoftWindowsServer\",\n \"offer\": + \"WindowsServer\",\n \"sku\": \"2008-R2-SP1\",\n \"version\": + \"latest\"\n }\n }\n }\n }\n }\n}\n" + headers: + accept-ranges: + - bytes + access-control-allow-origin: + - '*' + cache-control: + - max-age=300 + connection: + - keep-alive + content-length: + - '2501' + content-security-policy: + - default-src 'none'; style-src 'unsafe-inline'; sandbox + content-type: + - text/plain; charset=utf-8 + date: + - Sat, 30 May 2020 03:46:23 GMT + etag: + - W/"540044b4084c3c314537f1baa1770f248628b2bc9ba0328f1004c33862e049da" + expires: + - Sat, 30 May 2020 03:51:23 GMT + source-age: + - '0' + strict-transport-security: + - max-age=31536000 + vary: + - Authorization,Accept-Encoding + via: + - 1.1 varnish (Varnish/6.0) + - 1.1 varnish + x-cache: + - HIT, HIT + x-cache-hits: + - 2, 1 + x-content-type-options: + - nosniff + x-fastly-request-id: + - 810ae1fae3090d4f5dd881de432c1ea132fb3afa + x-frame-options: + - deny + x-github-request-id: + - B042:9719:3446E:45BFA:5ED1A9F4 + x-served-by: + - cache-sea4458-SEA + x-timer: + - S1590810383.883749,VS0,VE164 + x-xss-protection: + - 1; mode=block + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - vm create + Connection: + - keep-alive + ParameterSetName: + - -g --name --image --generate-ssh-keys + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks?api-version=2018-01-01 + response: + body: + string: "{\r\n \"value\": [\r\n {\r\n \"name\": \"vn\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vn\",\r\n + \ \"etag\": \"W/\\\"9973ca25-dacd-4aa3-b877-493a68309c01\\\"\",\r\n \"type\": + \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"japaneast\",\r\n + \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": + \"Succeeded\",\r\n \"resourceGuid\": \"f0103c77-d74f-49b9-bf46-d0941621438b\",\r\n + \ \"addressSpace\": {\r\n \"addressPrefixes\": [\r\n \"10.0.0.0/16\"\r\n + \ ]\r\n },\r\n \"dhcpOptions\": {\r\n \"dnsServers\": + []\r\n },\r\n \"subnets\": [\r\n {\r\n \"name\": + \"default\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vn/subnets/default\",\r\n + \ \"etag\": \"W/\\\"9973ca25-dacd-4aa3-b877-493a68309c01\\\"\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"addressPrefix\": \"10.0.0.0/24\"\r\n },\r\n \"type\": + \"Microsoft.Network/virtualNetworks/subnets\"\r\n }\r\n ],\r\n + \ \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\": + false,\r\n \"enableVmProtection\": false\r\n }\r\n }\r\n ]\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1453' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:46:22 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 64bfdcac-939c-4e60-bbe2-c1af61672af1 + status: + code: 200 + message: OK +- request: + body: 'b''{"properties": {"template": {"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", "parameters": {}, "variables": {}, "resources": + [{"type": "Microsoft.Network/networkSecurityGroups", "name": "vm1NSG", "apiVersion": + "2015-06-15", "location": "japaneast", "tags": {}, "dependsOn": [], "properties": + {"securityRules": [{"name": "default-allow-ssh", "properties": {"protocol": + "Tcp", "sourcePortRange": "*", "destinationPortRange": "22", "sourceAddressPrefix": + "*", "destinationAddressPrefix": "*", "access": "Allow", "priority": 1000, "direction": + "Inbound"}}]}}, {"apiVersion": "2018-01-01", "type": "Microsoft.Network/publicIPAddresses", + "name": "vm1PublicIP", "location": "japaneast", "tags": {}, "dependsOn": [], + "properties": {"publicIPAllocationMethod": null}}, {"apiVersion": "2015-06-15", + "type": "Microsoft.Network/networkInterfaces", "name": "vm1VMNic", "location": + "japaneast", "tags": {}, "dependsOn": ["Microsoft.Network/networkSecurityGroups/vm1NSG", + "Microsoft.Network/publicIpAddresses/vm1PublicIP"], "properties": {"ipConfigurations": + [{"name": "ipconfigvm1", "properties": {"privateIPAllocationMethod": "Dynamic", + "subnet": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vn/subnets/default"}, + "publicIPAddress": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/publicIPAddresses/vm1PublicIP"}}}], + "networkSecurityGroup": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/networkSecurityGroups/vm1NSG"}}}, + {"apiVersion": "2019-07-01", "type": "Microsoft.Compute/virtualMachines", "name": + "vm1", "location": "japaneast", "tags": {}, "dependsOn": ["Microsoft.Network/networkInterfaces/vm1VMNic"], + "properties": {"hardwareProfile": {"vmSize": "Standard_DS1_v2"}, "networkProfile": + {"networkInterfaces": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/networkInterfaces/vm1VMNic"}]}, + "storageProfile": {"osDisk": {"createOption": "fromImage", "name": null, "caching": + "ReadWrite", "managedDisk": {"storageAccountType": null}}, "imageReference": + {"publisher": "Canonical", "offer": "UbuntuServer", "sku": "18.04-LTS", "version": + "latest"}}, "osProfile": {"computerName": "vm1", "adminUsername": "steve", "linuxConfiguration": + {"disablePasswordAuthentication": true, "ssh": {"publicKeys": [{"keyData": "ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDmeG6myuqVWULzCtanE3MPUt7mf86FahR1unV98uYh4Ebi9Mk6Wy2xRPVDMBHoDmIpOs7DAHLYcTABH7J3wrkCXi7OxJ0Q9u1+rzzIGZGgLoXkAisOj2h/PEE/Mosc+/jBVv9BsrrOBVGEkyUlCNeeuM4cUlQvgAbY9U6kjjTsHbrQ0F5fpP4MCLZBU9zNsryDzHERJWyEh3t1caryWnQHE4WEjzl6qc1WC/DT0aB1kQbdh58FFDxrJB0pruKGLjFB10DgBt3zhfNLM7VJgBumLewyLBgzC75k12B5yeq+3T7h6TpHUBL6AnhkgerTZI6aEzIrzn8As/Ffl3g6cPtv", + "path": "/home/steve/.ssh/authorized_keys"}]}}}}}], "outputs": {}}, "parameters": + {}, "mode": "Incremental"}}''' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - vm create + Connection: + - keep-alive + Content-Length: + - '3312' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -g --name --image --generate-ssh-keys + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Resources/deployments/mock-deployment?api-version=2019-07-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Resources/deployments/vm_deploy_gUDVmtcSXEOldDgpA7dnN8ozGff2Q6lF","name":"vm_deploy_gUDVmtcSXEOldDgpA7dnN8ozGff2Q6lF","type":"Microsoft.Resources/deployments","properties":{"templateHash":"14133638549479560481","parameters":{},"mode":"Incremental","provisioningState":"Accepted","timestamp":"2020-05-30T03:46:27.3028715Z","duration":"PT2.2159262S","correlationId":"9e5e47e6-fe90-4064-97ae-b7fed97b17b1","providers":[{"namespace":"Microsoft.Network","resourceTypes":[{"resourceType":"networkSecurityGroups","locations":["japaneast"]},{"resourceType":"publicIPAddresses","locations":["japaneast"]},{"resourceType":"networkInterfaces","locations":["japaneast"]}]},{"namespace":"Microsoft.Compute","resourceTypes":[{"resourceType":"virtualMachines","locations":["japaneast"]}]}],"dependencies":[{"dependsOn":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/networkSecurityGroups/vm1NSG","resourceType":"Microsoft.Network/networkSecurityGroups","resourceName":"vm1NSG"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/publicIPAddresses/vm1PublicIP","resourceType":"Microsoft.Network/publicIPAddresses","resourceName":"vm1PublicIP"}],"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/networkInterfaces/vm1VMNic","resourceType":"Microsoft.Network/networkInterfaces","resourceName":"vm1VMNic"},{"dependsOn":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/networkInterfaces/vm1VMNic","resourceType":"Microsoft.Network/networkInterfaces","resourceName":"vm1VMNic"}],"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/virtualMachines/vm1","resourceType":"Microsoft.Compute/virtualMachines","resourceName":"vm1"}]}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Resources/deployments/vm_deploy_gUDVmtcSXEOldDgpA7dnN8ozGff2Q6lF/operationStatuses/08586107965003906792?api-version=2019-07-01 + cache-control: + - no-cache + content-length: + - '2417' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:46:27 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - vm create + Connection: + - keep-alive + ParameterSetName: + - -g --name --image --generate-ssh-keys + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08586107965003906792?api-version=2019-07-01 + response: + body: + string: '{"status":"Running"}' + headers: + cache-control: + - no-cache + content-length: + - '20' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:46:58 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - vm create + Connection: + - keep-alive + ParameterSetName: + - -g --name --image --generate-ssh-keys + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08586107965003906792?api-version=2019-07-01 + response: + body: + string: '{"status":"Running"}' + headers: + cache-control: + - no-cache + content-length: + - '20' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:47:28 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - vm create + Connection: + - keep-alive + ParameterSetName: + - -g --name --image --generate-ssh-keys + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08586107965003906792?api-version=2019-07-01 + response: + body: + string: '{"status":"Running"}' + headers: + cache-control: + - no-cache + content-length: + - '20' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:47:59 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - vm create + Connection: + - keep-alive + ParameterSetName: + - -g --name --image --generate-ssh-keys + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08586107965003906792?api-version=2019-07-01 + response: + body: + string: '{"status":"Succeeded"}' + headers: + cache-control: + - no-cache + content-length: + - '22' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:48:29 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - vm create + Connection: + - keep-alive + ParameterSetName: + - -g --name --image --generate-ssh-keys + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Resources/deployments/mock-deployment?api-version=2019-07-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Resources/deployments/vm_deploy_gUDVmtcSXEOldDgpA7dnN8ozGff2Q6lF","name":"vm_deploy_gUDVmtcSXEOldDgpA7dnN8ozGff2Q6lF","type":"Microsoft.Resources/deployments","properties":{"templateHash":"14133638549479560481","parameters":{},"mode":"Incremental","provisioningState":"Succeeded","timestamp":"2020-05-30T03:48:14.6372531Z","duration":"PT1M49.5503078S","correlationId":"9e5e47e6-fe90-4064-97ae-b7fed97b17b1","providers":[{"namespace":"Microsoft.Network","resourceTypes":[{"resourceType":"networkSecurityGroups","locations":["japaneast"]},{"resourceType":"publicIPAddresses","locations":["japaneast"]},{"resourceType":"networkInterfaces","locations":["japaneast"]}]},{"namespace":"Microsoft.Compute","resourceTypes":[{"resourceType":"virtualMachines","locations":["japaneast"]}]}],"dependencies":[{"dependsOn":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/networkSecurityGroups/vm1NSG","resourceType":"Microsoft.Network/networkSecurityGroups","resourceName":"vm1NSG"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/publicIPAddresses/vm1PublicIP","resourceType":"Microsoft.Network/publicIPAddresses","resourceName":"vm1PublicIP"}],"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/networkInterfaces/vm1VMNic","resourceType":"Microsoft.Network/networkInterfaces","resourceName":"vm1VMNic"},{"dependsOn":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/networkInterfaces/vm1VMNic","resourceType":"Microsoft.Network/networkInterfaces","resourceName":"vm1VMNic"}],"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/virtualMachines/vm1","resourceType":"Microsoft.Compute/virtualMachines","resourceName":"vm1"}],"outputs":{},"outputResources":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/virtualMachines/vm1"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/networkInterfaces/vm1VMNic"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/networkSecurityGroups/vm1NSG"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/publicIPAddresses/vm1PublicIP"}]}}' + headers: + cache-control: + - no-cache + content-length: + - '3280' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:48:29 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - vm create + Connection: + - keep-alive + ParameterSetName: + - -g --name --image --generate-ssh-keys + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-compute/12.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/virtualMachines/vm1?$expand=instanceView&api-version=2019-07-01 + response: + body: + string: "{\r\n \"name\": \"vm1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/virtualMachines/vm1\",\r\n + \ \"type\": \"Microsoft.Compute/virtualMachines\",\r\n \"location\": \"japaneast\",\r\n + \ \"tags\": {},\r\n \"properties\": {\r\n \"vmId\": \"78f8473a-c327-40e1-9bdf-b0e0c28da97a\",\r\n + \ \"hardwareProfile\": {\r\n \"vmSize\": \"Standard_DS1_v2\"\r\n },\r\n + \ \"storageProfile\": {\r\n \"imageReference\": {\r\n \"publisher\": + \"Canonical\",\r\n \"offer\": \"UbuntuServer\",\r\n \"sku\": + \"18.04-LTS\",\r\n \"version\": \"latest\",\r\n \"exactVersion\": + \"18.04.202005220\"\r\n },\r\n \"osDisk\": {\r\n \"osType\": + \"Linux\",\r\n \"name\": \"vm1_OsDisk_1_9a53b371740b47b2bddeb150306d502d\",\r\n + \ \"createOption\": \"FromImage\",\r\n \"caching\": \"ReadWrite\",\r\n + \ \"managedDisk\": {\r\n \"storageAccountType\": \"Premium_LRS\",\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/CLITESTGUGUQWIKUCMCUNAD6Y5DZSXCXNAB44CHXB6NGOHKNQMSPLBR6R3ZFYHJM4NXJIQE2RDW/providers/Microsoft.Compute/disks/vm1_OsDisk_1_9a53b371740b47b2bddeb150306d502d\"\r\n + \ },\r\n \"diskSizeGB\": 30\r\n },\r\n \"dataDisks\": + []\r\n },\r\n \"osProfile\": {\r\n \"computerName\": \"vm1\",\r\n + \ \"adminUsername\": \"steve\",\r\n \"linuxConfiguration\": {\r\n + \ \"disablePasswordAuthentication\": true,\r\n \"ssh\": {\r\n + \ \"publicKeys\": [\r\n {\r\n \"path\": \"/home/steve/.ssh/authorized_keys\",\r\n + \ \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDmeG6myuqVWULzCtanE3MPUt7mf86FahR1unV98uYh4Ebi9Mk6Wy2xRPVDMBHoDmIpOs7DAHLYcTABH7J3wrkCXi7OxJ0Q9u1+rzzIGZGgLoXkAisOj2h/PEE/Mosc+/jBVv9BsrrOBVGEkyUlCNeeuM4cUlQvgAbY9U6kjjTsHbrQ0F5fpP4MCLZBU9zNsryDzHERJWyEh3t1caryWnQHE4WEjzl6qc1WC/DT0aB1kQbdh58FFDxrJB0pruKGLjFB10DgBt3zhfNLM7VJgBumLewyLBgzC75k12B5yeq+3T7h6TpHUBL6AnhkgerTZI6aEzIrzn8As/Ffl3g6cPtv\"\r\n + \ }\r\n ]\r\n },\r\n \"provisionVMAgent\": + true\r\n },\r\n \"secrets\": [],\r\n \"allowExtensionOperations\": + true,\r\n \"requireGuestProvisionSignal\": true\r\n },\r\n \"networkProfile\": + {\"networkInterfaces\":[{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/networkInterfaces/vm1VMNic\"}]},\r\n + \ \"provisioningState\": \"Succeeded\",\r\n \"instanceView\": {\r\n \"vmAgent\": + {\r\n \"vmAgentVersion\": \"Unknown\",\r\n \"statuses\": [\r\n + \ {\r\n \"code\": \"ProvisioningState/Unavailable\",\r\n + \ \"level\": \"Warning\",\r\n \"displayStatus\": \"Not + Ready\",\r\n \"message\": \"VM status blob is found but not yet + populated.\",\r\n \"time\": \"2020-05-30T03:48:30+00:00\"\r\n }\r\n + \ ]\r\n },\r\n \"disks\": [\r\n {\r\n \"name\": + \"vm1_OsDisk_1_9a53b371740b47b2bddeb150306d502d\",\r\n \"statuses\": + [\r\n {\r\n \"code\": \"ProvisioningState/succeeded\",\r\n + \ \"level\": \"Info\",\r\n \"displayStatus\": \"Provisioning + succeeded\",\r\n \"time\": \"2020-05-30T03:47:03.4008401+00:00\"\r\n + \ }\r\n ]\r\n }\r\n ],\r\n \"hyperVGeneration\": + \"V1\",\r\n \"statuses\": [\r\n {\r\n \"code\": \"ProvisioningState/succeeded\",\r\n + \ \"level\": \"Info\",\r\n \"displayStatus\": \"Provisioning + succeeded\",\r\n \"time\": \"2020-05-30T03:48:13.1213911+00:00\"\r\n + \ },\r\n {\r\n \"code\": \"PowerState/running\",\r\n + \ \"level\": \"Info\",\r\n \"displayStatus\": \"VM running\"\r\n + \ }\r\n ]\r\n }\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '3661' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:48:30 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-resource: + - Microsoft.Compute/LowCostGet3Min;3996,Microsoft.Compute/LowCostGet30Min;31996 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - vm create + Connection: + - keep-alive + ParameterSetName: + - -g --name --image --generate-ssh-keys + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/networkInterfaces/vm1VMNic?api-version=2018-01-01 + response: + body: + string: "{\r\n \"name\": \"vm1VMNic\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/networkInterfaces/vm1VMNic\",\r\n + \ \"etag\": \"W/\\\"b9e467dd-ebaa-4e48-9832-f5d3267a43da\\\"\",\r\n \"location\": + \"japaneast\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": + \"Succeeded\",\r\n \"resourceGuid\": \"deb2f4c9-9f5d-4e0d-9b33-ced8f0d76987\",\r\n + \ \"ipConfigurations\": [\r\n {\r\n \"name\": \"ipconfigvm1\",\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/networkInterfaces/vm1VMNic/ipConfigurations/ipconfigvm1\",\r\n + \ \"etag\": \"W/\\\"b9e467dd-ebaa-4e48-9832-f5d3267a43da\\\"\",\r\n + \ \"type\": \"Microsoft.Network/networkInterfaces/ipConfigurations\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"privateIPAddress\": \"10.0.0.4\",\r\n \"privateIPAllocationMethod\": + \"Dynamic\",\r\n \"publicIPAddress\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/publicIPAddresses/vm1PublicIP\"\r\n + \ },\r\n \"subnet\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vn/subnets/default\"\r\n + \ },\r\n \"primary\": true,\r\n \"privateIPAddressVersion\": + \"IPv4\"\r\n }\r\n }\r\n ],\r\n \"dnsSettings\": {\r\n \"dnsServers\": + [],\r\n \"appliedDnsServers\": [],\r\n \"internalDomainNameSuffix\": + \"o24bb2cp042utp0g0ckbmikdrd.lx.internal.cloudapp.net\"\r\n },\r\n \"macAddress\": + \"00-0D-3A-6F-DF-E4\",\r\n \"enableAcceleratedNetworking\": false,\r\n + \ \"enableIPForwarding\": false,\r\n \"networkSecurityGroup\": {\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/networkSecurityGroups/vm1NSG\"\r\n + \ },\r\n \"primary\": true,\r\n \"virtualMachine\": {\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/virtualMachines/vm1\"\r\n + \ }\r\n },\r\n \"type\": \"Microsoft.Network/networkInterfaces\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '2564' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:48:31 GMT + etag: + - W/"b9e467dd-ebaa-4e48-9832-f5d3267a43da" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 2b0a7c16-971b-4870-be14-4ef445a6e854 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - vm create + Connection: + - keep-alive + ParameterSetName: + - -g --name --image --generate-ssh-keys + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/publicIPAddresses/vm1PublicIP?api-version=2018-01-01 + response: + body: + string: "{\r\n \"name\": \"vm1PublicIP\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/publicIPAddresses/vm1PublicIP\",\r\n + \ \"etag\": \"W/\\\"4c31b8f3-51c3-4e56-b4ea-bb0e68430a7c\\\"\",\r\n \"location\": + \"japaneast\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": + \"Succeeded\",\r\n \"resourceGuid\": \"220893d3-407b-4b79-80af-b07359783811\",\r\n + \ \"ipAddress\": \"40.115.235.251\",\r\n \"publicIPAddressVersion\": + \"IPv4\",\r\n \"publicIPAllocationMethod\": \"Dynamic\",\r\n \"idleTimeoutInMinutes\": + 4,\r\n \"ipTags\": [],\r\n \"ipConfiguration\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/networkInterfaces/vm1VMNic/ipConfigurations/ipconfigvm1\"\r\n + \ }\r\n },\r\n \"type\": \"Microsoft.Network/publicIPAddresses\",\r\n + \ \"sku\": {\r\n \"name\": \"Basic\"\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1001' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:48:31 GMT + etag: + - W/"4c31b8f3-51c3-4e56-b4ea-bb0e68430a7c" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 62b173a2-1fb5-4fef-96ba-bce7fdf3690e + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet subnet create + Connection: + - keep-alive + ParameterSetName: + - --vnet-name -n -g --address-prefix + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vn?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"vn\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vn\",\r\n + \ \"etag\": \"W/\\\"15ba5107-53b9-4b8f-ba2b-33c6d360d020\\\"\",\r\n \"type\": + \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"japaneast\",\r\n + \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"resourceGuid\": \"f0103c77-d74f-49b9-bf46-d0941621438b\",\r\n \"addressSpace\": + {\r\n \"addressPrefixes\": [\r\n \"10.0.0.0/16\"\r\n ]\r\n + \ },\r\n \"dhcpOptions\": {\r\n \"dnsServers\": []\r\n },\r\n + \ \"subnets\": [\r\n {\r\n \"name\": \"default\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vn/subnets/default\",\r\n + \ \"etag\": \"W/\\\"15ba5107-53b9-4b8f-ba2b-33c6d360d020\\\"\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"addressPrefix\": \"10.0.0.0/24\",\r\n \"ipConfigurations\": + [\r\n {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/networkInterfaces/vm1VMNic/ipConfigurations/ipconfigvm1\"\r\n + \ }\r\n ],\r\n \"delegations\": [],\r\n \"privateEndpointNetworkPolicies\": + \"Enabled\",\r\n \"privateLinkServiceNetworkPolicies\": \"Enabled\"\r\n + \ },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets\"\r\n + \ }\r\n ],\r\n \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\": + false,\r\n \"enableVmProtection\": false\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1760' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:48:32 GMT + etag: + - W/"15ba5107-53b9-4b8f-ba2b-33c6d360d020" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 5bcf2748-fea1-4780-90e3-e50517f443f7 + status: + code: 200 + message: OK +- request: + body: 'b''{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vn", + "location": "japaneast", "tags": {}, "properties": {"addressSpace": {"addressPrefixes": + ["10.0.0.0/16"]}, "dhcpOptions": {"dnsServers": []}, "subnets": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vn/subnets/default", + "properties": {"addressPrefix": "10.0.0.0/24", "delegations": [], "privateEndpointNetworkPolicies": + "Enabled", "privateLinkServiceNetworkPolicies": "Enabled"}, "name": "default"}, + {"properties": {"addressPrefix": "10.0.5.0/24"}, "name": "GatewaySubnet"}], + "virtualNetworkPeerings": [], "enableDdosProtection": false, "enableVmProtection": + false}}''' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet subnet create + Connection: + - keep-alive + Content-Length: + - '915' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - --vnet-name -n -g --address-prefix + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vn?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"vn\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vn\",\r\n + \ \"etag\": \"W/\\\"f505ed86-ab6c-43c5-80c4-6edf8b372242\\\"\",\r\n \"type\": + \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"japaneast\",\r\n + \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"resourceGuid\": \"f0103c77-d74f-49b9-bf46-d0941621438b\",\r\n \"addressSpace\": + {\r\n \"addressPrefixes\": [\r\n \"10.0.0.0/16\"\r\n ]\r\n + \ },\r\n \"dhcpOptions\": {\r\n \"dnsServers\": []\r\n },\r\n + \ \"subnets\": [\r\n {\r\n \"name\": \"default\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vn/subnets/default\",\r\n + \ \"etag\": \"W/\\\"f505ed86-ab6c-43c5-80c4-6edf8b372242\\\"\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"addressPrefix\": \"10.0.0.0/24\",\r\n \"ipConfigurations\": + [\r\n {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/networkInterfaces/vm1VMNic/ipConfigurations/ipconfigvm1\"\r\n + \ }\r\n ],\r\n \"delegations\": [],\r\n \"privateEndpointNetworkPolicies\": + \"Enabled\",\r\n \"privateLinkServiceNetworkPolicies\": \"Enabled\"\r\n + \ },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets\"\r\n + \ },\r\n {\r\n \"name\": \"GatewaySubnet\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vn/subnets/GatewaySubnet\",\r\n + \ \"etag\": \"W/\\\"f505ed86-ab6c-43c5-80c4-6edf8b372242\\\"\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"addressPrefix\": \"10.0.5.0/24\",\r\n \"delegations\": + [],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n \"privateLinkServiceNetworkPolicies\": + \"Enabled\"\r\n },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets\"\r\n + \ }\r\n ],\r\n \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\": + false,\r\n \"enableVmProtection\": false\r\n }\r\n}" + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/japaneast/operations/b327a2de-597d-4c9a-9389-e3bb1c79ecd5?api-version=2020-04-01 + cache-control: + - no-cache + content-length: + - '2433' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:48:32 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - afe42e86-9c0d-48c7-8ae4-4c0725da6548 + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet subnet create + Connection: + - keep-alive + ParameterSetName: + - --vnet-name -n -g --address-prefix + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/japaneast/operations/b327a2de-597d-4c9a-9389-e3bb1c79ecd5?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:48:36 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - cc122041-b05c-4d3e-93c6-42fe2dff9497 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet subnet create + Connection: + - keep-alive + ParameterSetName: + - --vnet-name -n -g --address-prefix + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/japaneast/operations/b327a2de-597d-4c9a-9389-e3bb1c79ecd5?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:48:46 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 479e6729-069f-4b0f-a9cd-7bef8eb4134e + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet subnet create + Connection: + - keep-alive + ParameterSetName: + - --vnet-name -n -g --address-prefix + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/japaneast/operations/b327a2de-597d-4c9a-9389-e3bb1c79ecd5?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"Succeeded\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '29' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:48:56 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 2944ba33-dff1-432b-9f02-4b0407a207c2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet subnet create + Connection: + - keep-alive + ParameterSetName: + - --vnet-name -n -g --address-prefix + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vn?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"vn\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vn\",\r\n + \ \"etag\": \"W/\\\"6d77d009-3288-4b63-a8b1-a53ec61869b4\\\"\",\r\n \"type\": + \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"japaneast\",\r\n + \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"resourceGuid\": \"f0103c77-d74f-49b9-bf46-d0941621438b\",\r\n \"addressSpace\": + {\r\n \"addressPrefixes\": [\r\n \"10.0.0.0/16\"\r\n ]\r\n + \ },\r\n \"dhcpOptions\": {\r\n \"dnsServers\": []\r\n },\r\n + \ \"subnets\": [\r\n {\r\n \"name\": \"default\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vn/subnets/default\",\r\n + \ \"etag\": \"W/\\\"6d77d009-3288-4b63-a8b1-a53ec61869b4\\\"\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"addressPrefix\": \"10.0.0.0/24\",\r\n \"ipConfigurations\": + [\r\n {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/networkInterfaces/vm1VMNic/ipConfigurations/ipconfigvm1\"\r\n + \ }\r\n ],\r\n \"delegations\": [],\r\n \"privateEndpointNetworkPolicies\": + \"Enabled\",\r\n \"privateLinkServiceNetworkPolicies\": \"Enabled\"\r\n + \ },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets\"\r\n + \ },\r\n {\r\n \"name\": \"GatewaySubnet\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vn/subnets/GatewaySubnet\",\r\n + \ \"etag\": \"W/\\\"6d77d009-3288-4b63-a8b1-a53ec61869b4\\\"\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"addressPrefix\": \"10.0.5.0/24\",\r\n \"delegations\": + [],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n \"privateLinkServiceNetworkPolicies\": + \"Enabled\"\r\n },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets\"\r\n + \ }\r\n ],\r\n \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\": + false,\r\n \"enableVmProtection\": false\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '2436' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:48:56 GMT + etag: + - W/"6d77d009-3288-4b63-a8b1-a53ec61869b4" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 677547b3-7fe0-4c0f-a8fb-3ffe43cacb0c + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet subnet create + Connection: + - keep-alive + ParameterSetName: + - --vnet-name -g --name --address-prefixes --delegations + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vn?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"vn\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vn\",\r\n + \ \"etag\": \"W/\\\"6d77d009-3288-4b63-a8b1-a53ec61869b4\\\"\",\r\n \"type\": + \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"japaneast\",\r\n + \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"resourceGuid\": \"f0103c77-d74f-49b9-bf46-d0941621438b\",\r\n \"addressSpace\": + {\r\n \"addressPrefixes\": [\r\n \"10.0.0.0/16\"\r\n ]\r\n + \ },\r\n \"dhcpOptions\": {\r\n \"dnsServers\": []\r\n },\r\n + \ \"subnets\": [\r\n {\r\n \"name\": \"default\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vn/subnets/default\",\r\n + \ \"etag\": \"W/\\\"6d77d009-3288-4b63-a8b1-a53ec61869b4\\\"\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"addressPrefix\": \"10.0.0.0/24\",\r\n \"ipConfigurations\": + [\r\n {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/networkInterfaces/vm1VMNic/ipConfigurations/ipconfigvm1\"\r\n + \ }\r\n ],\r\n \"delegations\": [],\r\n \"privateEndpointNetworkPolicies\": + \"Enabled\",\r\n \"privateLinkServiceNetworkPolicies\": \"Enabled\"\r\n + \ },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets\"\r\n + \ },\r\n {\r\n \"name\": \"GatewaySubnet\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vn/subnets/GatewaySubnet\",\r\n + \ \"etag\": \"W/\\\"6d77d009-3288-4b63-a8b1-a53ec61869b4\\\"\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"addressPrefix\": \"10.0.5.0/24\",\r\n \"delegations\": + [],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n \"privateLinkServiceNetworkPolicies\": + \"Enabled\"\r\n },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets\"\r\n + \ }\r\n ],\r\n \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\": + false,\r\n \"enableVmProtection\": false\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '2436' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:48:56 GMT + etag: + - W/"6d77d009-3288-4b63-a8b1-a53ec61869b4" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - e4b0d497-6b30-4a6f-81d6-a60cc8e0dfdd + status: + code: 200 + message: OK +- request: + body: 'b''{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vn", + "location": "japaneast", "tags": {}, "properties": {"addressSpace": {"addressPrefixes": + ["10.0.0.0/16"]}, "dhcpOptions": {"dnsServers": []}, "subnets": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vn/subnets/default", + "properties": {"addressPrefix": "10.0.0.0/24", "delegations": [], "privateEndpointNetworkPolicies": + "Enabled", "privateLinkServiceNetworkPolicies": "Enabled"}, "name": "default"}, + {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vn/subnets/GatewaySubnet", + "properties": {"addressPrefix": "10.0.5.0/24", "delegations": [], "privateEndpointNetworkPolicies": + "Enabled", "privateLinkServiceNetworkPolicies": "Enabled"}, "name": "GatewaySubnet"}, + {"properties": {"addressPrefix": "10.0.2.0/24", "delegations": [{"properties": + {"serviceName": "Microsoft.HardwareSecurityModules/dedicatedHSMs"}, "name": + "0"}]}, "name": "hsm"}], "virtualNetworkPeerings": [], "enableDdosProtection": + false, "enableVmProtection": false}}''' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet subnet create + Connection: + - keep-alive + Content-Length: + - '1427' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - --vnet-name -g --name --address-prefixes --delegations + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vn?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"vn\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vn\",\r\n + \ \"etag\": \"W/\\\"0870fb72-f1cc-41da-b256-5c292f97fb8c\\\"\",\r\n \"type\": + \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"japaneast\",\r\n + \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"resourceGuid\": \"f0103c77-d74f-49b9-bf46-d0941621438b\",\r\n \"addressSpace\": + {\r\n \"addressPrefixes\": [\r\n \"10.0.0.0/16\"\r\n ]\r\n + \ },\r\n \"dhcpOptions\": {\r\n \"dnsServers\": []\r\n },\r\n + \ \"subnets\": [\r\n {\r\n \"name\": \"default\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vn/subnets/default\",\r\n + \ \"etag\": \"W/\\\"0870fb72-f1cc-41da-b256-5c292f97fb8c\\\"\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"addressPrefix\": \"10.0.0.0/24\",\r\n \"ipConfigurations\": + [\r\n {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/networkInterfaces/vm1VMNic/ipConfigurations/ipconfigvm1\"\r\n + \ }\r\n ],\r\n \"delegations\": [],\r\n \"privateEndpointNetworkPolicies\": + \"Enabled\",\r\n \"privateLinkServiceNetworkPolicies\": \"Enabled\"\r\n + \ },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets\"\r\n + \ },\r\n {\r\n \"name\": \"GatewaySubnet\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vn/subnets/GatewaySubnet\",\r\n + \ \"etag\": \"W/\\\"0870fb72-f1cc-41da-b256-5c292f97fb8c\\\"\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"addressPrefix\": \"10.0.5.0/24\",\r\n \"delegations\": + [],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n \"privateLinkServiceNetworkPolicies\": + \"Enabled\"\r\n },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets\"\r\n + \ },\r\n {\r\n \"name\": \"hsm\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vn/subnets/hsm\",\r\n + \ \"etag\": \"W/\\\"0870fb72-f1cc-41da-b256-5c292f97fb8c\\\"\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"addressPrefix\": \"10.0.2.0/24\",\r\n \"delegations\": + [\r\n {\r\n \"name\": \"0\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vn/subnets/hsm/delegations/0\",\r\n + \ \"etag\": \"W/\\\"0870fb72-f1cc-41da-b256-5c292f97fb8c\\\"\",\r\n + \ \"properties\": {\r\n \"provisioningState\": + \"Succeeded\",\r\n \"serviceName\": \"Microsoft.HardwareSecurityModules/dedicatedHSMs\",\r\n + \ \"actions\": [\r\n \"Microsoft.Network/networkinterfaces/*\",\r\n + \ \"Microsoft.Network/virtualNetworks/subnets/join/action\"\r\n + \ ]\r\n },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets/delegations\"\r\n + \ }\r\n ],\r\n \"purpose\": \"HostedWorkloads\",\r\n + \ \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n \"privateLinkServiceNetworkPolicies\": + \"Enabled\"\r\n },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets\"\r\n + \ }\r\n ],\r\n \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\": + false,\r\n \"enableVmProtection\": false\r\n }\r\n}" + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/japaneast/operations/185cccb2-cb10-4340-8f1c-909efc710d69?api-version=2020-04-01 + cache-control: + - no-cache + content-length: + - '3954' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:48:57 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 454f77a1-4f77-4c99-b32a-060341534d72 + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet subnet create + Connection: + - keep-alive + ParameterSetName: + - --vnet-name -g --name --address-prefixes --delegations + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/japaneast/operations/185cccb2-cb10-4340-8f1c-909efc710d69?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"Succeeded\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '29' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:49:01 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 7f1cd07b-e078-4611-ace2-26d78137db5a + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet subnet create + Connection: + - keep-alive + ParameterSetName: + - --vnet-name -g --name --address-prefixes --delegations + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vn?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"vn\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vn\",\r\n + \ \"etag\": \"W/\\\"9bb19ab2-4483-4b12-8da0-78b7802ee2ea\\\"\",\r\n \"type\": + \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"japaneast\",\r\n + \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"resourceGuid\": \"f0103c77-d74f-49b9-bf46-d0941621438b\",\r\n \"addressSpace\": + {\r\n \"addressPrefixes\": [\r\n \"10.0.0.0/16\"\r\n ]\r\n + \ },\r\n \"dhcpOptions\": {\r\n \"dnsServers\": []\r\n },\r\n + \ \"subnets\": [\r\n {\r\n \"name\": \"default\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vn/subnets/default\",\r\n + \ \"etag\": \"W/\\\"9bb19ab2-4483-4b12-8da0-78b7802ee2ea\\\"\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"addressPrefix\": \"10.0.0.0/24\",\r\n \"ipConfigurations\": + [\r\n {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/networkInterfaces/vm1VMNic/ipConfigurations/ipconfigvm1\"\r\n + \ }\r\n ],\r\n \"delegations\": [],\r\n \"privateEndpointNetworkPolicies\": + \"Enabled\",\r\n \"privateLinkServiceNetworkPolicies\": \"Enabled\"\r\n + \ },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets\"\r\n + \ },\r\n {\r\n \"name\": \"GatewaySubnet\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vn/subnets/GatewaySubnet\",\r\n + \ \"etag\": \"W/\\\"9bb19ab2-4483-4b12-8da0-78b7802ee2ea\\\"\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"addressPrefix\": \"10.0.5.0/24\",\r\n \"delegations\": + [],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n \"privateLinkServiceNetworkPolicies\": + \"Enabled\"\r\n },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets\"\r\n + \ },\r\n {\r\n \"name\": \"hsm\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vn/subnets/hsm\",\r\n + \ \"etag\": \"W/\\\"9bb19ab2-4483-4b12-8da0-78b7802ee2ea\\\"\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"addressPrefix\": \"10.0.2.0/24\",\r\n \"delegations\": + [\r\n {\r\n \"name\": \"0\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vn/subnets/hsm/delegations/0\",\r\n + \ \"etag\": \"W/\\\"9bb19ab2-4483-4b12-8da0-78b7802ee2ea\\\"\",\r\n + \ \"properties\": {\r\n \"provisioningState\": + \"Succeeded\",\r\n \"serviceName\": \"Microsoft.HardwareSecurityModules/dedicatedHSMs\",\r\n + \ \"actions\": [\r\n \"Microsoft.Network/networkinterfaces/*\",\r\n + \ \"Microsoft.Network/virtualNetworks/subnets/join/action\"\r\n + \ ]\r\n },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets/delegations\"\r\n + \ }\r\n ],\r\n \"purpose\": \"HostedWorkloads\",\r\n + \ \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n \"privateLinkServiceNetworkPolicies\": + \"Enabled\"\r\n },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets\"\r\n + \ }\r\n ],\r\n \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\": + false,\r\n \"enableVmProtection\": false\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '3958' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:49:01 GMT + etag: + - W/"9bb19ab2-4483-4b12-8da0-78b7802ee2ea" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 9f66ee1f-104c-4309-9297-b8fb3e2c10a1 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network public-ip create + Connection: + - keep-alive + ParameterSetName: + - -n -g --allocation-method + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2019-07-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001","name":"clitest000001","type":"Microsoft.Resources/resourceGroups","location":"japaneast","tags":{"product":"azurecli","cause":"automation","date":"2020-05-30T03:45:42Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '431' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:49:01 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"location": "japaneast", "properties": {"publicIPAllocationMethod": "Dynamic", + "publicIPAddressVersion": "IPv4", "idleTimeoutInMinutes": 4}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network public-ip create + Connection: + - keep-alive + Content-Length: + - '141' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -n -g --allocation-method + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/publicIPAddresses/ERGWVIP?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"ERGWVIP\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/publicIPAddresses/ERGWVIP\",\r\n + \ \"etag\": \"W/\\\"58b6c5fe-a443-4df9-89a4-40ac02898baf\\\"\",\r\n \"location\": + \"japaneast\",\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"resourceGuid\": \"be5a958a-72a9-4c2d-b93e-68d6d6612679\",\r\n \"publicIPAddressVersion\": + \"IPv4\",\r\n \"publicIPAllocationMethod\": \"Dynamic\",\r\n \"idleTimeoutInMinutes\": + 4,\r\n \"ipTags\": []\r\n },\r\n \"type\": \"Microsoft.Network/publicIPAddresses\",\r\n + \ \"sku\": {\r\n \"name\": \"Basic\"\r\n }\r\n}" + headers: + azure-asyncnotification: + - Enabled + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/japaneast/operations/85fadbc1-00a4-4d87-aa32-c745e56b2ccf?api-version=2020-04-01 + cache-control: + - no-cache + content-length: + - '665' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:49:06 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 595d5114-dac5-4ee4-913d-efb276a461c0 + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network public-ip create + Connection: + - keep-alive + ParameterSetName: + - -n -g --allocation-method + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/japaneast/operations/85fadbc1-00a4-4d87-aa32-c745e56b2ccf?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"Succeeded\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '29' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:49:08 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - f9b0a4d2-f5a2-4b57-8036-f080462ccb47 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network public-ip create + Connection: + - keep-alive + ParameterSetName: + - -n -g --allocation-method + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/publicIPAddresses/ERGWVIP?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"ERGWVIP\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/publicIPAddresses/ERGWVIP\",\r\n + \ \"etag\": \"W/\\\"a457b108-389d-403d-ac9a-37b295859418\\\"\",\r\n \"location\": + \"japaneast\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"resourceGuid\": \"be5a958a-72a9-4c2d-b93e-68d6d6612679\",\r\n \"publicIPAddressVersion\": + \"IPv4\",\r\n \"publicIPAllocationMethod\": \"Dynamic\",\r\n \"idleTimeoutInMinutes\": + 4,\r\n \"ipTags\": []\r\n },\r\n \"type\": \"Microsoft.Network/publicIPAddresses\",\r\n + \ \"sku\": {\r\n \"name\": \"Basic\"\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '666' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:49:08 GMT + etag: + - W/"a457b108-389d-403d-ac9a-37b295859418" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 0261dfa0-bd34-45af-97cc-2184f66df02e + status: + code: 200 + message: OK +- request: + body: 'b''{"location": "japaneast", "properties": {"ipConfigurations": [{"properties": + {"privateIPAllocationMethod": "Dynamic", "subnet": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vn/subnets/GatewaySubnet"}, + "publicIPAddress": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/publicIPAddresses/ERGWVIP"}}, + "name": "vnetGatewayConfig0"}], "gatewayType": "ExpressRoute", "vpnType": "RouteBased", + "activeActive": false, "sku": {"name": "Standard", "tier": "Standard"}}}''' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet-gateway create + Connection: + - keep-alive + Content-Length: + - '739' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -n -l --public-ip-address -g --vnet --sku --gateway-type + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworkGateways/ERGW?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"ERGW\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworkGateways/ERGW\",\r\n + \ \"etag\": \"W/\\\"de06ebf8-8de6-41c8-8335-119d0d59bf75\\\"\",\r\n \"type\": + \"Microsoft.Network/virtualNetworkGateways\",\r\n \"location\": \"japaneast\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \"resourceGuid\": + \"66fe01f5-f91a-44cf-801f-c6f59533f83e\",\r\n \"packetCaptureDiagnosticState\": + \"None\",\r\n \"enablePrivateIpAddress\": false,\r\n \"ipConfigurations\": + [\r\n {\r\n \"name\": \"vnetGatewayConfig0\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworkGateways/ERGW/ipConfigurations/vnetGatewayConfig0\",\r\n + \ \"etag\": \"W/\\\"de06ebf8-8de6-41c8-8335-119d0d59bf75\\\"\",\r\n + \ \"type\": \"Microsoft.Network/virtualNetworkGateways/ipConfigurations\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"privateIPAllocationMethod\": \"Dynamic\",\r\n \"publicIPAddress\": + {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/publicIPAddresses/ERGWVIP\"\r\n + \ },\r\n \"subnet\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vn/subnets/GatewaySubnet\"\r\n + \ }\r\n }\r\n }\r\n ],\r\n \"sku\": {\r\n \"name\": + \"Standard\",\r\n \"tier\": \"Standard\",\r\n \"capacity\": 2\r\n + \ },\r\n \"gatewayType\": \"ExpressRoute\",\r\n \"vpnType\": \"RouteBased\",\r\n + \ \"enableBgp\": false,\r\n \"activeActive\": false,\r\n \"vpnClientConfiguration\": + {\r\n \"vpnClientProtocols\": [\r\n \"OpenVPN\",\r\n \"IkeV2\"\r\n + \ ],\r\n \"vpnClientRootCertificates\": [],\r\n \"vpnClientRevokedCertificates\": + [],\r\n \"radiusServers\": [],\r\n \"vpnClientIpsecPolicies\": []\r\n + \ },\r\n \"vpnGatewayGeneration\": \"None\"\r\n }\r\n}" + headers: + azure-asyncnotification: + - Enabled + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/japaneast/operations/b224bfb0-c732-4a50-aaa8-4a4b79f9c35b?api-version=2020-04-01 + cache-control: + - no-cache + content-length: + - '2248' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:49:15 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 6eebb35c-ef96-408d-9d86-47faf13c3f61 + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -l --public-ip-address -g --vnet --sku --gateway-type + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/japaneast/operations/b224bfb0-c732-4a50-aaa8-4a4b79f9c35b?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:49:26 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - ca725a26-0294-4e6e-b471-b39177a3422f + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -l --public-ip-address -g --vnet --sku --gateway-type + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/japaneast/operations/b224bfb0-c732-4a50-aaa8-4a4b79f9c35b?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:49:36 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 2d4684b4-15c4-4f42-a7af-d97650124afc + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -l --public-ip-address -g --vnet --sku --gateway-type + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/japaneast/operations/b224bfb0-c732-4a50-aaa8-4a4b79f9c35b?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:49:46 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - ee7876cb-be13-4b67-8b2f-4371eb8679c5 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -l --public-ip-address -g --vnet --sku --gateway-type + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/japaneast/operations/b224bfb0-c732-4a50-aaa8-4a4b79f9c35b?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:49:56 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 0d01ebdc-b832-4ced-96a0-d37bff25b287 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -l --public-ip-address -g --vnet --sku --gateway-type + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/japaneast/operations/b224bfb0-c732-4a50-aaa8-4a4b79f9c35b?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:50:06 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 6d01dc65-5e82-4c89-af11-49ee156ce57c + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -l --public-ip-address -g --vnet --sku --gateway-type + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/japaneast/operations/b224bfb0-c732-4a50-aaa8-4a4b79f9c35b?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:50:16 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - ec2c2b28-427c-430e-980f-63d2acac1b23 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -l --public-ip-address -g --vnet --sku --gateway-type + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/japaneast/operations/b224bfb0-c732-4a50-aaa8-4a4b79f9c35b?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:50:27 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 995f27bb-84da-48d4-a686-e720a0247004 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -l --public-ip-address -g --vnet --sku --gateway-type + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/japaneast/operations/b224bfb0-c732-4a50-aaa8-4a4b79f9c35b?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:50:37 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 08bbe152-7de2-4f9d-9f87-476376dc8ea4 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -l --public-ip-address -g --vnet --sku --gateway-type + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/japaneast/operations/b224bfb0-c732-4a50-aaa8-4a4b79f9c35b?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:50:47 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - ad93ec8b-933e-4103-9017-aaa391e915a5 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -l --public-ip-address -g --vnet --sku --gateway-type + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/japaneast/operations/b224bfb0-c732-4a50-aaa8-4a4b79f9c35b?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:50:57 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - b163c88b-4024-4663-8fc1-8674941525e9 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -l --public-ip-address -g --vnet --sku --gateway-type + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/japaneast/operations/b224bfb0-c732-4a50-aaa8-4a4b79f9c35b?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:51:07 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - c9511685-e108-4c67-914e-682cc93bae7e + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -l --public-ip-address -g --vnet --sku --gateway-type + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/japaneast/operations/b224bfb0-c732-4a50-aaa8-4a4b79f9c35b?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:51:18 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 25da895f-7085-4d9c-918b-6ad15e5fca56 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -l --public-ip-address -g --vnet --sku --gateway-type + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/japaneast/operations/b224bfb0-c732-4a50-aaa8-4a4b79f9c35b?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:51:28 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - ffc4a791-3699-4b1b-9665-5e7b1d877c90 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -l --public-ip-address -g --vnet --sku --gateway-type + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/japaneast/operations/b224bfb0-c732-4a50-aaa8-4a4b79f9c35b?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:51:38 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 2bd09b4f-62e3-4cbc-96a2-ddb22d9f4945 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -l --public-ip-address -g --vnet --sku --gateway-type + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/japaneast/operations/b224bfb0-c732-4a50-aaa8-4a4b79f9c35b?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:51:48 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 8d32903d-74e5-4fcd-a9aa-eed58ae66fa2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -l --public-ip-address -g --vnet --sku --gateway-type + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/japaneast/operations/b224bfb0-c732-4a50-aaa8-4a4b79f9c35b?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:51:58 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - d7ef4297-c5a3-42bc-84c5-5678f78b7d8f + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -l --public-ip-address -g --vnet --sku --gateway-type + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/japaneast/operations/b224bfb0-c732-4a50-aaa8-4a4b79f9c35b?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:52:08 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 5624e93c-219b-49b4-b94b-ebaa3af51b24 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -l --public-ip-address -g --vnet --sku --gateway-type + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/japaneast/operations/b224bfb0-c732-4a50-aaa8-4a4b79f9c35b?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:52:19 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - b514979f-cf67-49f8-a2c4-2b63749c52d9 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -l --public-ip-address -g --vnet --sku --gateway-type + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/japaneast/operations/b224bfb0-c732-4a50-aaa8-4a4b79f9c35b?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:52:29 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 20a612a1-e029-4bb4-932d-d986f2105247 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -l --public-ip-address -g --vnet --sku --gateway-type + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/japaneast/operations/b224bfb0-c732-4a50-aaa8-4a4b79f9c35b?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:52:39 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 84d9a00b-03a3-4193-a61f-af4cc423ffbc + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -l --public-ip-address -g --vnet --sku --gateway-type + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/japaneast/operations/b224bfb0-c732-4a50-aaa8-4a4b79f9c35b?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:52:49 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 10c65605-d75a-4094-ac3a-da8b585a78de + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -l --public-ip-address -g --vnet --sku --gateway-type + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/japaneast/operations/b224bfb0-c732-4a50-aaa8-4a4b79f9c35b?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:52:59 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - cba3a5c2-8c75-445d-930e-becf5abf7774 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -l --public-ip-address -g --vnet --sku --gateway-type + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/japaneast/operations/b224bfb0-c732-4a50-aaa8-4a4b79f9c35b?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:53:09 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 42a0e912-c7c9-4e70-9c25-7cbb42f5c235 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -l --public-ip-address -g --vnet --sku --gateway-type + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/japaneast/operations/b224bfb0-c732-4a50-aaa8-4a4b79f9c35b?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:53:19 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 138ed16f-2e7a-4269-bc31-abb1aba334b5 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -l --public-ip-address -g --vnet --sku --gateway-type + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/japaneast/operations/b224bfb0-c732-4a50-aaa8-4a4b79f9c35b?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:53:30 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 35799fd1-7021-469c-a47f-656f874d9997 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -l --public-ip-address -g --vnet --sku --gateway-type + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/japaneast/operations/b224bfb0-c732-4a50-aaa8-4a4b79f9c35b?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:53:40 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - bc164ba6-65cd-4612-bce7-66aa3ee11ad1 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -l --public-ip-address -g --vnet --sku --gateway-type + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/japaneast/operations/b224bfb0-c732-4a50-aaa8-4a4b79f9c35b?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:53:50 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - b9512d2b-aed2-4182-8e67-98f456510623 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -l --public-ip-address -g --vnet --sku --gateway-type + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/japaneast/operations/b224bfb0-c732-4a50-aaa8-4a4b79f9c35b?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:54:00 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - c0443f41-e268-44dd-a85a-fc219e19e9d7 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -l --public-ip-address -g --vnet --sku --gateway-type + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/japaneast/operations/b224bfb0-c732-4a50-aaa8-4a4b79f9c35b?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:54:10 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 9daf10f2-9dc2-4f39-bf5d-d8c250f825e9 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -l --public-ip-address -g --vnet --sku --gateway-type + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/japaneast/operations/b224bfb0-c732-4a50-aaa8-4a4b79f9c35b?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:54:21 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 41b9dd39-3f8c-4cce-b6b9-5e6c242fc7b1 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -l --public-ip-address -g --vnet --sku --gateway-type + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/japaneast/operations/b224bfb0-c732-4a50-aaa8-4a4b79f9c35b?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:54:31 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 3e2e2a91-fc89-4c6a-b51e-4540b79742dc + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -l --public-ip-address -g --vnet --sku --gateway-type + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/japaneast/operations/b224bfb0-c732-4a50-aaa8-4a4b79f9c35b?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:54:41 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - b8662739-87f4-4af0-b3bf-ba152d90203a + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -l --public-ip-address -g --vnet --sku --gateway-type + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/japaneast/operations/b224bfb0-c732-4a50-aaa8-4a4b79f9c35b?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:54:51 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 0b39a4ec-5cb4-4b1b-82f8-67b67f72608f + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -l --public-ip-address -g --vnet --sku --gateway-type + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/japaneast/operations/b224bfb0-c732-4a50-aaa8-4a4b79f9c35b?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:55:01 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 3bf3fa8b-ba23-4015-95f8-c6ee6bb30b05 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -l --public-ip-address -g --vnet --sku --gateway-type + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/japaneast/operations/b224bfb0-c732-4a50-aaa8-4a4b79f9c35b?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:55:16 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 11524099-3ba6-476b-8189-3b6c04150ae0 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -l --public-ip-address -g --vnet --sku --gateway-type + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/japaneast/operations/b224bfb0-c732-4a50-aaa8-4a4b79f9c35b?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:55:26 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - a7f21dd0-ecdf-4f5f-a0d0-f6c143c86309 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -l --public-ip-address -g --vnet --sku --gateway-type + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/japaneast/operations/b224bfb0-c732-4a50-aaa8-4a4b79f9c35b?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:55:36 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 9c7ef7db-c794-4f58-9119-5ea75124353f + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -l --public-ip-address -g --vnet --sku --gateway-type + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/japaneast/operations/b224bfb0-c732-4a50-aaa8-4a4b79f9c35b?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:55:46 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 2b6ff427-89a2-4035-8610-be8469a37463 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -l --public-ip-address -g --vnet --sku --gateway-type + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/japaneast/operations/b224bfb0-c732-4a50-aaa8-4a4b79f9c35b?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:55:57 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - bb668d48-63a3-4661-8782-da3e8d058b9c + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -l --public-ip-address -g --vnet --sku --gateway-type + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/japaneast/operations/b224bfb0-c732-4a50-aaa8-4a4b79f9c35b?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:56:07 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - c88aa9ef-e706-4265-b284-59bf851dd277 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -l --public-ip-address -g --vnet --sku --gateway-type + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/japaneast/operations/b224bfb0-c732-4a50-aaa8-4a4b79f9c35b?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:56:17 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 254cc23a-c8f1-4dd4-b7d4-977f9d56e0d3 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -l --public-ip-address -g --vnet --sku --gateway-type + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/japaneast/operations/b224bfb0-c732-4a50-aaa8-4a4b79f9c35b?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:56:27 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - c9b241db-e292-4838-88df-8f86f29f81a9 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -l --public-ip-address -g --vnet --sku --gateway-type + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/japaneast/operations/b224bfb0-c732-4a50-aaa8-4a4b79f9c35b?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:56:37 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 87441461-23a7-4e4d-9df5-0322877e849f + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -l --public-ip-address -g --vnet --sku --gateway-type + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/japaneast/operations/b224bfb0-c732-4a50-aaa8-4a4b79f9c35b?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:56:48 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 56c44d03-1318-4489-9257-8dda9c78b6aa + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -l --public-ip-address -g --vnet --sku --gateway-type + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/japaneast/operations/b224bfb0-c732-4a50-aaa8-4a4b79f9c35b?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:56:58 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 0e896949-6222-4c66-b08b-bd400a4c3c9d + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -l --public-ip-address -g --vnet --sku --gateway-type + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/japaneast/operations/b224bfb0-c732-4a50-aaa8-4a4b79f9c35b?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:57:08 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - b324b557-3dd4-4a5e-939c-e2eb78e5345a + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -l --public-ip-address -g --vnet --sku --gateway-type + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/japaneast/operations/b224bfb0-c732-4a50-aaa8-4a4b79f9c35b?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:57:18 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 73d13e29-0d5d-4983-bb29-efb046045d64 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -l --public-ip-address -g --vnet --sku --gateway-type + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/japaneast/operations/b224bfb0-c732-4a50-aaa8-4a4b79f9c35b?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:57:29 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 3a2650b3-961b-4438-afd7-19e6d7c73393 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -l --public-ip-address -g --vnet --sku --gateway-type + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/japaneast/operations/b224bfb0-c732-4a50-aaa8-4a4b79f9c35b?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:57:39 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 44c83285-bb46-4dfb-9d0d-c65211887582 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -l --public-ip-address -g --vnet --sku --gateway-type + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/japaneast/operations/b224bfb0-c732-4a50-aaa8-4a4b79f9c35b?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:57:49 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 4c6ddbfe-c509-4050-8ade-a654fe5309aa + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -l --public-ip-address -g --vnet --sku --gateway-type + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/japaneast/operations/b224bfb0-c732-4a50-aaa8-4a4b79f9c35b?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:57:59 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 8db36f6a-f66f-4079-90dd-8471a058b3bf + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -l --public-ip-address -g --vnet --sku --gateway-type + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/japaneast/operations/b224bfb0-c732-4a50-aaa8-4a4b79f9c35b?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:58:09 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - bb700bc2-cde0-435a-8410-8a9b492730ae + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -l --public-ip-address -g --vnet --sku --gateway-type + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/japaneast/operations/b224bfb0-c732-4a50-aaa8-4a4b79f9c35b?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:58:20 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 7c36da4c-70c6-4a12-83b6-5facb90f62c3 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -l --public-ip-address -g --vnet --sku --gateway-type + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/japaneast/operations/b224bfb0-c732-4a50-aaa8-4a4b79f9c35b?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:58:30 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - a03893df-1f81-47e6-a259-da13a0bd1324 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -l --public-ip-address -g --vnet --sku --gateway-type + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/japaneast/operations/b224bfb0-c732-4a50-aaa8-4a4b79f9c35b?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:58:40 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - a8268c02-eb0a-454b-b1aa-732290e48770 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -l --public-ip-address -g --vnet --sku --gateway-type + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/japaneast/operations/b224bfb0-c732-4a50-aaa8-4a4b79f9c35b?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:58:50 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - a15b1352-5850-40d7-a1fa-42626307833e + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -l --public-ip-address -g --vnet --sku --gateway-type + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/japaneast/operations/b224bfb0-c732-4a50-aaa8-4a4b79f9c35b?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:59:00 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 12622eb0-c45a-4869-8831-cf459b2dda7e + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -l --public-ip-address -g --vnet --sku --gateway-type + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/japaneast/operations/b224bfb0-c732-4a50-aaa8-4a4b79f9c35b?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:59:11 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 0c37ca5a-9ef2-4bd9-832a-c5480051fa26 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -l --public-ip-address -g --vnet --sku --gateway-type + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/japaneast/operations/b224bfb0-c732-4a50-aaa8-4a4b79f9c35b?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:59:21 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - d2b8304c-225f-4d4b-a99b-0674b857cbb1 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -l --public-ip-address -g --vnet --sku --gateway-type + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/japaneast/operations/b224bfb0-c732-4a50-aaa8-4a4b79f9c35b?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:59:31 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - c76e1932-4fd9-42ef-8c5a-c0a20ac930ee + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -l --public-ip-address -g --vnet --sku --gateway-type + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/japaneast/operations/b224bfb0-c732-4a50-aaa8-4a4b79f9c35b?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:59:41 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 0974f8b6-0168-4c2a-a5d8-b6a6ee6fdea9 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -l --public-ip-address -g --vnet --sku --gateway-type + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/japaneast/operations/b224bfb0-c732-4a50-aaa8-4a4b79f9c35b?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 03:59:51 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 7e38cf87-9000-4595-a817-9b8fbe120001 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -l --public-ip-address -g --vnet --sku --gateway-type + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/japaneast/operations/b224bfb0-c732-4a50-aaa8-4a4b79f9c35b?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 04:00:01 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 061a255a-b27f-4de9-b966-74ab5918bae6 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -l --public-ip-address -g --vnet --sku --gateway-type + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/japaneast/operations/b224bfb0-c732-4a50-aaa8-4a4b79f9c35b?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 04:00:11 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 7af2d614-39f4-4c10-ab43-240f09e5ddbd + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -l --public-ip-address -g --vnet --sku --gateway-type + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/japaneast/operations/b224bfb0-c732-4a50-aaa8-4a4b79f9c35b?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 04:00:21 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - fb599786-5404-49ff-883f-5e81b9105d62 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -l --public-ip-address -g --vnet --sku --gateway-type + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/japaneast/operations/b224bfb0-c732-4a50-aaa8-4a4b79f9c35b?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 04:00:32 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 17b85219-b00e-4d81-a875-7bd1676b8413 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -l --public-ip-address -g --vnet --sku --gateway-type + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/japaneast/operations/b224bfb0-c732-4a50-aaa8-4a4b79f9c35b?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 04:00:42 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - b9a6cee6-b996-41a6-974d-1d2e0b8a9e54 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -l --public-ip-address -g --vnet --sku --gateway-type + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/japaneast/operations/b224bfb0-c732-4a50-aaa8-4a4b79f9c35b?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 04:00:52 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 2f24a7ad-59ae-478f-b48d-84abb9bdd617 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -l --public-ip-address -g --vnet --sku --gateway-type + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/japaneast/operations/b224bfb0-c732-4a50-aaa8-4a4b79f9c35b?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 04:01:02 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 4b2d2ef8-bc43-4f4c-91d2-00e75d0d7b02 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -l --public-ip-address -g --vnet --sku --gateway-type + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/japaneast/operations/b224bfb0-c732-4a50-aaa8-4a4b79f9c35b?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 04:01:12 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 72a834a4-638d-48ca-a044-12bb5795a1cb + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -l --public-ip-address -g --vnet --sku --gateway-type + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/japaneast/operations/b224bfb0-c732-4a50-aaa8-4a4b79f9c35b?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 04:01:23 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 566718c5-2fee-4179-af7f-5150b2933c77 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -l --public-ip-address -g --vnet --sku --gateway-type + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/japaneast/operations/b224bfb0-c732-4a50-aaa8-4a4b79f9c35b?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 04:01:33 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 79b48585-3437-4334-a195-186e219a63d6 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -l --public-ip-address -g --vnet --sku --gateway-type + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/japaneast/operations/b224bfb0-c732-4a50-aaa8-4a4b79f9c35b?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 04:01:43 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - d42ffa8c-c12d-41cc-8e1c-4fa91fcf4dae + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -l --public-ip-address -g --vnet --sku --gateway-type + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/japaneast/operations/b224bfb0-c732-4a50-aaa8-4a4b79f9c35b?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 04:01:53 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - d4487be5-bfc1-473c-a7ab-9655be542381 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -l --public-ip-address -g --vnet --sku --gateway-type + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/japaneast/operations/b224bfb0-c732-4a50-aaa8-4a4b79f9c35b?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"Succeeded\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '29' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 04:02:03 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 859269cc-94bc-4ff2-8f33-3da3f66006d6 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -l --public-ip-address -g --vnet --sku --gateway-type + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworkGateways/ERGW?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"ERGW\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworkGateways/ERGW\",\r\n + \ \"etag\": \"W/\\\"690dbca6-db47-4b1f-8d22-7270aa5917c9\\\"\",\r\n \"type\": + \"Microsoft.Network/virtualNetworkGateways\",\r\n \"location\": \"japaneast\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"resourceGuid\": + \"66fe01f5-f91a-44cf-801f-c6f59533f83e\",\r\n \"packetCaptureDiagnosticState\": + \"None\",\r\n \"enablePrivateIpAddress\": false,\r\n \"ipConfigurations\": + [\r\n {\r\n \"name\": \"vnetGatewayConfig0\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworkGateways/ERGW/ipConfigurations/vnetGatewayConfig0\",\r\n + \ \"etag\": \"W/\\\"690dbca6-db47-4b1f-8d22-7270aa5917c9\\\"\",\r\n + \ \"type\": \"Microsoft.Network/virtualNetworkGateways/ipConfigurations\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"privateIPAllocationMethod\": \"Dynamic\",\r\n \"publicIPAddress\": + {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/publicIPAddresses/ERGWVIP\"\r\n + \ },\r\n \"subnet\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vn/subnets/GatewaySubnet\"\r\n + \ }\r\n }\r\n }\r\n ],\r\n \"sku\": {\r\n \"name\": + \"Standard\",\r\n \"tier\": \"Standard\",\r\n \"capacity\": 2\r\n + \ },\r\n \"gatewayType\": \"ExpressRoute\",\r\n \"vpnType\": \"RouteBased\",\r\n + \ \"enableBgp\": false,\r\n \"activeActive\": false,\r\n \"vpnGatewayGeneration\": + \"None\"\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1984' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 04:02:04 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - ee12d557-faf8-418c-bbaa-f741e1abdafb + status: + code: 200 + message: OK +- request: + body: 'b''{"location": "japaneast", "sku": {"name": "SafeNet Luna Network HSM + A790"}, "tags": {"Dept": "hsm", "Environment": "dogfood"}, "properties": {"stampId": + "stamp1", "networkProfile": {"subnet": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vn/subnets/hsm"}, + "networkInterfaces": [{"privateIpAddress": "10.0.2.21"}]}}}''' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - dedicated-hsm create + Connection: + - keep-alive + Content-Length: + - '464' + Content-Type: + - application/json + ParameterSetName: + - --name --location --network-profile-network-interfaces --subnet --stamp-id + --sku --tags --resource-group + User-Agent: + - AZURECLI/2.7.0 azsdk-python-mgmt-hardwaresecuritymodules/2019-05-01T00:00:00.000Z + Python/3.8.1 (Windows-10-10.0.18362-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/hsm1?api-version=2018-10-31-preview + response: + body: + string: '{"sku":{"name":"SafeNet Luna Network HSM A790"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/hsm1","name":"hsm1","type":"Microsoft.HardwareSecurityModules/dedicatedHSMs","location":"japaneast","tags":{"Dept":"hsm","Environment":"dogfood"},"properties":{"networkProfile":{"subnet":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vn/subnets/hsm"},"networkInterfaces":[{"privateIpAddress":"10.0.2.21"}]},"provisioningState":"CheckingQuota","statusMessage":"Resource + creation in progress. Validating subscription device quota...","stampId":"stamp1"}}' + headers: + cache-control: + - no-cache + content-length: + - '854' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 04:02:08 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-service-version: + - 1.1.0.281 + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - dedicated-hsm create + Connection: + - keep-alive + ParameterSetName: + - --name --location --network-profile-network-interfaces --subnet --stamp-id + --sku --tags --resource-group + User-Agent: + - AZURECLI/2.7.0 azsdk-python-mgmt-hardwaresecuritymodules/2019-05-01T00:00:00.000Z + Python/3.8.1 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/hsm1?api-version=2018-10-31-preview + response: + body: + string: '{"sku":{"name":"SafeNet Luna Network HSM A790"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/hsm1","name":"hsm1","type":"Microsoft.HardwareSecurityModules/dedicatedHSMs","location":"japaneast","tags":{"Dept":"hsm","Environment":"dogfood"},"properties":{"networkProfile":{"subnet":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vn/subnets/hsm"},"networkInterfaces":[{"privateIpAddress":"10.0.2.21"}]},"provisioningState":"CheckingQuota","statusMessage":"Resource + creation in progress. Validating subscription device quota...","stampId":"stamp1"}}' + headers: + cache-control: + - no-cache + content-length: + - '854' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 04:02:38 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-service-version: + - 1.1.0.281 + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - dedicated-hsm create + Connection: + - keep-alive + ParameterSetName: + - --name --location --network-profile-network-interfaces --subnet --stamp-id + --sku --tags --resource-group + User-Agent: + - AZURECLI/2.7.0 azsdk-python-mgmt-hardwaresecuritymodules/2019-05-01T00:00:00.000Z + Python/3.8.1 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/hsm1?api-version=2018-10-31-preview + response: + body: + string: '{"sku":{"name":"SafeNet Luna Network HSM A790"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/hsm1","name":"hsm1","type":"Microsoft.HardwareSecurityModules/dedicatedHSMs","location":"japaneast","tags":{"Dept":"hsm","Environment":"dogfood"},"properties":{"networkProfile":{"subnet":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vn/subnets/hsm"},"networkInterfaces":[{"privateIpAddress":"10.0.2.21"}]},"provisioningState":"CheckingQuota","statusMessage":"Resource + creation in progress. Validating subscription device quota...","stampId":"stamp1"}}' + headers: + cache-control: + - no-cache + content-length: + - '854' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 04:03:08 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-service-version: + - 1.1.0.281 + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - dedicated-hsm create + Connection: + - keep-alive + ParameterSetName: + - --name --location --network-profile-network-interfaces --subnet --stamp-id + --sku --tags --resource-group + User-Agent: + - AZURECLI/2.7.0 azsdk-python-mgmt-hardwaresecuritymodules/2019-05-01T00:00:00.000Z + Python/3.8.1 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/hsm1?api-version=2018-10-31-preview + response: + body: + string: '{"sku":{"name":"SafeNet Luna Network HSM A790"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/hsm1","name":"hsm1","type":"Microsoft.HardwareSecurityModules/dedicatedHSMs","location":"japaneast","tags":{"Dept":"hsm","Environment":"dogfood"},"properties":{"networkProfile":{"subnet":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vn/subnets/hsm"},"networkInterfaces":[{"privateIpAddress":"10.0.2.21"}]},"provisioningState":"CheckingQuota","statusMessage":"Resource + creation in progress. Validating subscription device quota...","stampId":"stamp1"}}' + headers: + cache-control: + - no-cache + content-length: + - '854' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 04:03:38 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-service-version: + - 1.1.0.281 + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - dedicated-hsm create + Connection: + - keep-alive + ParameterSetName: + - --name --location --network-profile-network-interfaces --subnet --stamp-id + --sku --tags --resource-group + User-Agent: + - AZURECLI/2.7.0 azsdk-python-mgmt-hardwaresecuritymodules/2019-05-01T00:00:00.000Z + Python/3.8.1 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/hsm1?api-version=2018-10-31-preview + response: + body: + string: '{"sku":{"name":"SafeNet Luna Network HSM A790"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/hsm1","name":"hsm1","type":"Microsoft.HardwareSecurityModules/dedicatedHSMs","location":"japaneast","tags":{"Dept":"hsm","Environment":"dogfood"},"properties":{"networkProfile":{"subnet":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vn/subnets/hsm"},"networkInterfaces":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/networkInterfaces/hsm1_HSMnic","privateIpAddress":"10.0.2.21"}]},"provisioningState":"Connecting","statusMessage":"Resource + creation in progress. Connecting the device to the virtual network...","stampId":"stamp1"}}' + headers: + cache-control: + - no-cache + content-length: + - '1067' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 04:04:09 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-service-version: + - 1.1.0.281 + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - dedicated-hsm create + Connection: + - keep-alive + ParameterSetName: + - --name --location --network-profile-network-interfaces --subnet --stamp-id + --sku --tags --resource-group + User-Agent: + - AZURECLI/2.7.0 azsdk-python-mgmt-hardwaresecuritymodules/2019-05-01T00:00:00.000Z + Python/3.8.1 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/hsm1?api-version=2018-10-31-preview + response: + body: + string: '{"sku":{"name":"SafeNet Luna Network HSM A790"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/hsm1","name":"hsm1","type":"Microsoft.HardwareSecurityModules/dedicatedHSMs","location":"japaneast","tags":{"Dept":"hsm","Environment":"dogfood"},"properties":{"networkProfile":{"subnet":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vn/subnets/hsm"},"networkInterfaces":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/networkInterfaces/hsm1_HSMnic","privateIpAddress":"10.0.2.21"}]},"provisioningState":"Connecting","statusMessage":"Resource + creation in progress. Connecting the device to the virtual network...","stampId":"stamp1"}}' + headers: + cache-control: + - no-cache + content-length: + - '1067' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 04:04:39 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-service-version: + - 1.1.0.281 + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - dedicated-hsm create + Connection: + - keep-alive + ParameterSetName: + - --name --location --network-profile-network-interfaces --subnet --stamp-id + --sku --tags --resource-group + User-Agent: + - AZURECLI/2.7.0 azsdk-python-mgmt-hardwaresecuritymodules/2019-05-01T00:00:00.000Z + Python/3.8.1 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/hsm1?api-version=2018-10-31-preview + response: + body: + string: '{"sku":{"name":"SafeNet Luna Network HSM A790"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/hsm1","name":"hsm1","type":"Microsoft.HardwareSecurityModules/dedicatedHSMs","location":"japaneast","tags":{"Dept":"hsm","Environment":"dogfood"},"properties":{"networkProfile":{"subnet":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vn/subnets/hsm"},"networkInterfaces":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/networkInterfaces/hsm1_HSMnic","privateIpAddress":"10.0.2.21"}]},"provisioningState":"Connecting","statusMessage":"Resource + creation in progress. Connecting the device to the virtual network...","stampId":"stamp1"}}' + headers: + cache-control: + - no-cache + content-length: + - '1067' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 04:05:09 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-service-version: + - 1.1.0.281 + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - dedicated-hsm create + Connection: + - keep-alive + ParameterSetName: + - --name --location --network-profile-network-interfaces --subnet --stamp-id + --sku --tags --resource-group + User-Agent: + - AZURECLI/2.7.0 azsdk-python-mgmt-hardwaresecuritymodules/2019-05-01T00:00:00.000Z + Python/3.8.1 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/hsm1?api-version=2018-10-31-preview + response: + body: + string: '{"sku":{"name":"SafeNet Luna Network HSM A790"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/hsm1","name":"hsm1","type":"Microsoft.HardwareSecurityModules/dedicatedHSMs","location":"japaneast","tags":{"Dept":"hsm","Environment":"dogfood"},"properties":{"networkProfile":{"subnet":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vn/subnets/hsm"},"networkInterfaces":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/networkInterfaces/hsm1_HSMnic","privateIpAddress":"10.0.2.21"}]},"provisioningState":"Connecting","statusMessage":"Resource + creation in progress. Connecting the device to the virtual network...","stampId":"stamp1"}}' + headers: + cache-control: + - no-cache + content-length: + - '1067' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 04:05:39 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-service-version: + - 1.1.0.281 + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - dedicated-hsm create + Connection: + - keep-alive + ParameterSetName: + - --name --location --network-profile-network-interfaces --subnet --stamp-id + --sku --tags --resource-group + User-Agent: + - AZURECLI/2.7.0 azsdk-python-mgmt-hardwaresecuritymodules/2019-05-01T00:00:00.000Z + Python/3.8.1 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/hsm1?api-version=2018-10-31-preview + response: + body: + string: '{"sku":{"name":"SafeNet Luna Network HSM A790"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/hsm1","name":"hsm1","type":"Microsoft.HardwareSecurityModules/dedicatedHSMs","location":"japaneast","tags":{"Dept":"hsm","Environment":"dogfood"},"properties":{"networkProfile":{"subnet":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vn/subnets/hsm"},"networkInterfaces":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/networkInterfaces/hsm1_HSMnic","privateIpAddress":"10.0.2.21"}]},"provisioningState":"Provisioning","statusMessage":"Resource + creation in progress. Configuring the device...","stampId":"stamp1"}}' + headers: + cache-control: + - no-cache + content-length: + - '1047' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 04:06:09 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-service-version: + - 1.1.0.281 + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - dedicated-hsm create + Connection: + - keep-alive + ParameterSetName: + - --name --location --network-profile-network-interfaces --subnet --stamp-id + --sku --tags --resource-group + User-Agent: + - AZURECLI/2.7.0 azsdk-python-mgmt-hardwaresecuritymodules/2019-05-01T00:00:00.000Z + Python/3.8.1 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/hsm1?api-version=2018-10-31-preview + response: + body: + string: '{"sku":{"name":"SafeNet Luna Network HSM A790"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/hsm1","name":"hsm1","type":"Microsoft.HardwareSecurityModules/dedicatedHSMs","location":"japaneast","tags":{"Dept":"hsm","Environment":"dogfood"},"properties":{"networkProfile":{"subnet":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vn/subnets/hsm"},"networkInterfaces":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/networkInterfaces/hsm1_HSMnic","privateIpAddress":"10.0.2.21"}]},"provisioningState":"Provisioning","statusMessage":"Resource + creation in progress. Configuring the device...","stampId":"stamp1"}}' + headers: + cache-control: + - no-cache + content-length: + - '1047' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 04:06:39 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-service-version: + - 1.1.0.281 + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - dedicated-hsm create + Connection: + - keep-alive + ParameterSetName: + - --name --location --network-profile-network-interfaces --subnet --stamp-id + --sku --tags --resource-group + User-Agent: + - AZURECLI/2.7.0 azsdk-python-mgmt-hardwaresecuritymodules/2019-05-01T00:00:00.000Z + Python/3.8.1 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/hsm1?api-version=2018-10-31-preview + response: + body: + string: '{"sku":{"name":"SafeNet Luna Network HSM A790"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/hsm1","name":"hsm1","type":"Microsoft.HardwareSecurityModules/dedicatedHSMs","location":"japaneast","tags":{"Dept":"hsm","Environment":"dogfood"},"properties":{"networkProfile":{"subnet":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vn/subnets/hsm"},"networkInterfaces":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/networkInterfaces/hsm1_HSMnic","privateIpAddress":"10.0.2.21"}]},"provisioningState":"Provisioning","statusMessage":"Resource + creation in progress. Configuring the device...","stampId":"stamp1"}}' + headers: + cache-control: + - no-cache + content-length: + - '1047' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 04:07:11 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-service-version: + - 1.1.0.281 + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - dedicated-hsm create + Connection: + - keep-alive + ParameterSetName: + - --name --location --network-profile-network-interfaces --subnet --stamp-id + --sku --tags --resource-group + User-Agent: + - AZURECLI/2.7.0 azsdk-python-mgmt-hardwaresecuritymodules/2019-05-01T00:00:00.000Z + Python/3.8.1 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/hsm1?api-version=2018-10-31-preview + response: + body: + string: '{"sku":{"name":"SafeNet Luna Network HSM A790"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/hsm1","name":"hsm1","type":"Microsoft.HardwareSecurityModules/dedicatedHSMs","location":"japaneast","tags":{"Dept":"hsm","Environment":"dogfood"},"properties":{"networkProfile":{"subnet":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vn/subnets/hsm"},"networkInterfaces":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/networkInterfaces/hsm1_HSMnic","privateIpAddress":"10.0.2.21"}]},"provisioningState":"Provisioning","statusMessage":"Resource + creation in progress. Configuring the device...","stampId":"stamp1"}}' + headers: + cache-control: + - no-cache + content-length: + - '1047' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 04:07:40 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-service-version: + - 1.1.0.281 + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - dedicated-hsm create + Connection: + - keep-alive + ParameterSetName: + - --name --location --network-profile-network-interfaces --subnet --stamp-id + --sku --tags --resource-group + User-Agent: + - AZURECLI/2.7.0 azsdk-python-mgmt-hardwaresecuritymodules/2019-05-01T00:00:00.000Z + Python/3.8.1 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/hsm1?api-version=2018-10-31-preview + response: + body: + string: '{"sku":{"name":"SafeNet Luna Network HSM A790"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/hsm1","name":"hsm1","type":"Microsoft.HardwareSecurityModules/dedicatedHSMs","location":"japaneast","tags":{"Dept":"hsm","Environment":"dogfood"},"properties":{"networkProfile":{"subnet":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vn/subnets/hsm"},"networkInterfaces":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/networkInterfaces/hsm1_HSMnic","privateIpAddress":"10.0.2.21"}]},"provisioningState":"Provisioning","statusMessage":"Resource + creation in progress. Configuring the device...","stampId":"stamp1"}}' + headers: + cache-control: + - no-cache + content-length: + - '1047' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 04:08:11 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-service-version: + - 1.1.0.281 + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - dedicated-hsm create + Connection: + - keep-alive + ParameterSetName: + - --name --location --network-profile-network-interfaces --subnet --stamp-id + --sku --tags --resource-group + User-Agent: + - AZURECLI/2.7.0 azsdk-python-mgmt-hardwaresecuritymodules/2019-05-01T00:00:00.000Z + Python/3.8.1 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/hsm1?api-version=2018-10-31-preview + response: + body: + string: '{"sku":{"name":"SafeNet Luna Network HSM A790"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/hsm1","name":"hsm1","type":"Microsoft.HardwareSecurityModules/dedicatedHSMs","location":"japaneast","tags":{"Dept":"hsm","Environment":"dogfood"},"properties":{"networkProfile":{"subnet":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vn/subnets/hsm"},"networkInterfaces":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/networkInterfaces/hsm1_HSMnic","privateIpAddress":"10.0.2.21"}]},"provisioningState":"Provisioning","statusMessage":"Resource + creation in progress. Configuring the device...","stampId":"stamp1"}}' + headers: + cache-control: + - no-cache + content-length: + - '1047' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 04:08:41 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-service-version: + - 1.1.0.281 + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - dedicated-hsm create + Connection: + - keep-alive + ParameterSetName: + - --name --location --network-profile-network-interfaces --subnet --stamp-id + --sku --tags --resource-group + User-Agent: + - AZURECLI/2.7.0 azsdk-python-mgmt-hardwaresecuritymodules/2019-05-01T00:00:00.000Z + Python/3.8.1 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/hsm1?api-version=2018-10-31-preview + response: + body: + string: '{"sku":{"name":"SafeNet Luna Network HSM A790"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/hsm1","name":"hsm1","type":"Microsoft.HardwareSecurityModules/dedicatedHSMs","location":"japaneast","tags":{"Dept":"hsm","Environment":"dogfood"},"properties":{"networkProfile":{"subnet":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vn/subnets/hsm"},"networkInterfaces":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/networkInterfaces/hsm1_HSMnic","privateIpAddress":"10.0.2.21"}]},"provisioningState":"Provisioning","statusMessage":"Resource + creation in progress. Configuring the device...","stampId":"stamp1"}}' + headers: + cache-control: + - no-cache + content-length: + - '1047' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 04:09:11 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-service-version: + - 1.1.0.281 + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - dedicated-hsm create + Connection: + - keep-alive + ParameterSetName: + - --name --location --network-profile-network-interfaces --subnet --stamp-id + --sku --tags --resource-group + User-Agent: + - AZURECLI/2.7.0 azsdk-python-mgmt-hardwaresecuritymodules/2019-05-01T00:00:00.000Z + Python/3.8.1 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/hsm1?api-version=2018-10-31-preview + response: + body: + string: '{"sku":{"name":"SafeNet Luna Network HSM A790"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/hsm1","name":"hsm1","type":"Microsoft.HardwareSecurityModules/dedicatedHSMs","location":"japaneast","tags":{"Dept":"hsm","Environment":"dogfood"},"properties":{"networkProfile":{"subnet":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vn/subnets/hsm"},"networkInterfaces":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/networkInterfaces/hsm1_HSMnic","privateIpAddress":"10.0.2.21"}]},"provisioningState":"Provisioning","statusMessage":"Resource + creation in progress. Configuring the device...","stampId":"stamp1"}}' + headers: + cache-control: + - no-cache + content-length: + - '1047' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 04:09:41 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-service-version: + - 1.1.0.281 + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - dedicated-hsm create + Connection: + - keep-alive + ParameterSetName: + - --name --location --network-profile-network-interfaces --subnet --stamp-id + --sku --tags --resource-group + User-Agent: + - AZURECLI/2.7.0 azsdk-python-mgmt-hardwaresecuritymodules/2019-05-01T00:00:00.000Z + Python/3.8.1 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/hsm1?api-version=2018-10-31-preview + response: + body: + string: '{"sku":{"name":"SafeNet Luna Network HSM A790"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/hsm1","name":"hsm1","type":"Microsoft.HardwareSecurityModules/dedicatedHSMs","location":"japaneast","tags":{"Dept":"hsm","Environment":"dogfood"},"properties":{"networkProfile":{"subnet":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vn/subnets/hsm"},"networkInterfaces":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/networkInterfaces/hsm1_HSMnic","privateIpAddress":"10.0.2.21"}]},"provisioningState":"Succeeded","statusMessage":"The + Dedicated HSM device is provisioned successfully and ready to use.","stampId":"stamp1"}}' + headers: + cache-control: + - no-cache + content-length: + - '1058' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 04:10:12 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-service-version: + - 1.1.0.281 + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - dedicated-hsm show + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group + User-Agent: + - AZURECLI/2.7.0 azsdk-python-mgmt-hardwaresecuritymodules/2019-05-01T00:00:00.000Z + Python/3.8.1 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/hsm1?api-version=2018-10-31-preview + response: + body: + string: '{"sku":{"name":"SafeNet Luna Network HSM A790"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/hsm1","name":"hsm1","type":"Microsoft.HardwareSecurityModules/dedicatedHSMs","location":"japaneast","tags":{"Dept":"hsm","Environment":"dogfood"},"properties":{"networkProfile":{"subnet":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vn/subnets/hsm"},"networkInterfaces":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/networkInterfaces/hsm1_HSMnic","privateIpAddress":"10.0.2.21"}]},"provisioningState":"Succeeded","statusMessage":"The + Dedicated HSM device is provisioned successfully and ready to use.","stampId":"stamp1"}}' + headers: + cache-control: + - no-cache + content-length: + - '1058' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 04:10:13 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-service-version: + - 1.1.0.281 + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - dedicated-hsm list + Connection: + - keep-alive + ParameterSetName: + - --resource-group + User-Agent: + - AZURECLI/2.7.0 azsdk-python-mgmt-hardwaresecuritymodules/2019-05-01T00:00:00.000Z + Python/3.8.1 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs?api-version=2018-10-31-preview + response: + body: + string: '{"value":[{"sku":{"name":"SafeNet Luna Network HSM A790"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/hsm1","name":"hsm1","type":"Microsoft.HardwareSecurityModules/dedicatedHSMs","location":"japaneast","tags":{"Dept":"hsm","Environment":"dogfood"},"properties":{"networkProfile":{"subnet":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vn/subnets/hsm"},"networkInterfaces":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/networkInterfaces/hsm1_HSMnic","privateIpAddress":"10.0.2.21"}]},"provisioningState":"Succeeded","statusMessage":"The + Dedicated HSM device is provisioned successfully and ready to use.","stampId":"stamp1"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '1070' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 04:10:15 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-service-version: + - 1.1.0.281 + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - dedicated-hsm list + Connection: + - keep-alive + ParameterSetName: + - -g + User-Agent: + - AZURECLI/2.7.0 azsdk-python-mgmt-hardwaresecuritymodules/2019-05-01T00:00:00.000Z + Python/3.8.1 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs?api-version=2018-10-31-preview + response: + body: + string: '{"value":[{"sku":{"name":"SafeNet Luna Network HSM A790"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/hsm1","name":"hsm1","type":"Microsoft.HardwareSecurityModules/dedicatedHSMs","location":"japaneast","tags":{"Dept":"hsm","Environment":"dogfood"},"properties":{"networkProfile":{"subnet":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vn/subnets/hsm"},"networkInterfaces":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/networkInterfaces/hsm1_HSMnic","privateIpAddress":"10.0.2.21"}]},"provisioningState":"Succeeded","statusMessage":"The + Dedicated HSM device is provisioned successfully and ready to use.","stampId":"stamp1"}},{"sku":{"name":"SafeNet + Luna Network HSM A790"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/stevens-rg-japan/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/test","name":"test","type":"Microsoft.HardwareSecurityModules/dedicatedHSMs","location":"japaneast","tags":{"Dept":"h"},"properties":{"networkProfile":{"subnet":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/stevens-rg-japan/providers/Microsoft.Network/virtualNetworks/vm1VNET/subnets/hsm"},"networkInterfaces":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/stevens-rg-japan/providers/Microsoft.Network/networkInterfaces/test_HSMnic","privateIpAddress":"10.0.2.21"}]},"provisioningState":"Succeeded","statusMessage":"The + Dedicated HSM device is provisioned successfully and ready to use.","stampId":"stamp1"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '1931' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 04:10:15 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-service-version: + - 1.1.0.281 + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"tags": {"Dept": "hsm", "Environment": "dogfood", "Slice": "A"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - dedicated-hsm update + Connection: + - keep-alive + Content-Length: + - '65' + Content-Type: + - application/json + ParameterSetName: + - --name --tags --resource-group + User-Agent: + - AZURECLI/2.7.0 azsdk-python-mgmt-hardwaresecuritymodules/2019-05-01T00:00:00.000Z + Python/3.8.1 (Windows-10-10.0.18362-SP0) + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/hsm1?api-version=2018-10-31-preview + response: + body: + string: '{"sku":{"name":"SafeNet Luna Network HSM A790"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/hsm1","name":"hsm1","type":"Microsoft.HardwareSecurityModules/dedicatedHSMs","location":"japaneast","tags":{"Dept":"hsm","Environment":"dogfood","Slice":"A"},"properties":{"networkProfile":{"subnet":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vn/subnets/hsm"},"networkInterfaces":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/networkInterfaces/hsm1_HSMnic","privateIpAddress":"10.0.2.21"}]},"provisioningState":"Succeeded","statusMessage":"The + Dedicated HSM device is provisioned successfully and ready to use.","stampId":"stamp1"}}' + headers: + cache-control: + - no-cache + content-length: + - '1070' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 30 May 2020 04:10:20 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-service-version: + - 1.1.0.281 + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - dedicated-hsm delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --name --resource-group -y + User-Agent: + - AZURECLI/2.7.0 azsdk-python-mgmt-hardwaresecuritymodules/2019-05-01T00:00:00.000Z + Python/3.8.1 (Windows-10-10.0.18362-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/hsm1?api-version=2018-10-31-preview + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Sat, 30 May 2020 04:10:22 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-service-version: + - 1.1.0.281 + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - dedicated-hsm delete + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group -y + User-Agent: + - AZURECLI/2.7.0 azsdk-python-mgmt-hardwaresecuritymodules/2019-05-01T00:00:00.000Z + Python/3.8.1 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Sat, 30 May 2020 04:10:28 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-service-version: + - 1.1.0.281 + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - dedicated-hsm delete + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group -y + User-Agent: + - AZURECLI/2.7.0 azsdk-python-mgmt-hardwaresecuritymodules/2019-05-01T00:00:00.000Z + Python/3.8.1 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Sat, 30 May 2020 04:10:33 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-service-version: + - 1.1.0.281 + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - dedicated-hsm delete + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group -y + User-Agent: + - AZURECLI/2.7.0 azsdk-python-mgmt-hardwaresecuritymodules/2019-05-01T00:00:00.000Z + Python/3.8.1 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Sat, 30 May 2020 04:10:38 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-service-version: + - 1.1.0.281 + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - dedicated-hsm delete + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group -y + User-Agent: + - AZURECLI/2.7.0 azsdk-python-mgmt-hardwaresecuritymodules/2019-05-01T00:00:00.000Z + Python/3.8.1 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Sat, 30 May 2020 04:10:43 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-service-version: + - 1.1.0.281 + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - dedicated-hsm delete + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group -y + User-Agent: + - AZURECLI/2.7.0 azsdk-python-mgmt-hardwaresecuritymodules/2019-05-01T00:00:00.000Z + Python/3.8.1 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Sat, 30 May 2020 04:10:48 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-service-version: + - 1.1.0.281 + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - dedicated-hsm delete + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group -y + User-Agent: + - AZURECLI/2.7.0 azsdk-python-mgmt-hardwaresecuritymodules/2019-05-01T00:00:00.000Z + Python/3.8.1 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Sat, 30 May 2020 04:10:53 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-service-version: + - 1.1.0.281 + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - dedicated-hsm delete + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group -y + User-Agent: + - AZURECLI/2.7.0 azsdk-python-mgmt-hardwaresecuritymodules/2019-05-01T00:00:00.000Z + Python/3.8.1 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Sat, 30 May 2020 04:10:58 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-service-version: + - 1.1.0.281 + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - dedicated-hsm delete + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group -y + User-Agent: + - AZURECLI/2.7.0 azsdk-python-mgmt-hardwaresecuritymodules/2019-05-01T00:00:00.000Z + Python/3.8.1 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Sat, 30 May 2020 04:11:03 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-service-version: + - 1.1.0.281 + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - dedicated-hsm delete + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group -y + User-Agent: + - AZURECLI/2.7.0 azsdk-python-mgmt-hardwaresecuritymodules/2019-05-01T00:00:00.000Z + Python/3.8.1 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Sat, 30 May 2020 04:11:09 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-service-version: + - 1.1.0.281 + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - dedicated-hsm delete + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group -y + User-Agent: + - AZURECLI/2.7.0 azsdk-python-mgmt-hardwaresecuritymodules/2019-05-01T00:00:00.000Z + Python/3.8.1 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Sat, 30 May 2020 04:11:14 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-service-version: + - 1.1.0.281 + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - dedicated-hsm delete + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group -y + User-Agent: + - AZURECLI/2.7.0 azsdk-python-mgmt-hardwaresecuritymodules/2019-05-01T00:00:00.000Z + Python/3.8.1 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Sat, 30 May 2020 04:11:19 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-service-version: + - 1.1.0.281 + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - dedicated-hsm delete + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group -y + User-Agent: + - AZURECLI/2.7.0 azsdk-python-mgmt-hardwaresecuritymodules/2019-05-01T00:00:00.000Z + Python/3.8.1 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Sat, 30 May 2020 04:11:24 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-service-version: + - 1.1.0.281 + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - dedicated-hsm delete + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group -y + User-Agent: + - AZURECLI/2.7.0 azsdk-python-mgmt-hardwaresecuritymodules/2019-05-01T00:00:00.000Z + Python/3.8.1 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Sat, 30 May 2020 04:11:29 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-service-version: + - 1.1.0.281 + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - dedicated-hsm delete + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group -y + User-Agent: + - AZURECLI/2.7.0 azsdk-python-mgmt-hardwaresecuritymodules/2019-05-01T00:00:00.000Z + Python/3.8.1 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Sat, 30 May 2020 04:11:34 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-service-version: + - 1.1.0.281 + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - dedicated-hsm delete + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group -y + User-Agent: + - AZURECLI/2.7.0 azsdk-python-mgmt-hardwaresecuritymodules/2019-05-01T00:00:00.000Z + Python/3.8.1 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Sat, 30 May 2020 04:11:39 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-service-version: + - 1.1.0.281 + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - dedicated-hsm delete + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group -y + User-Agent: + - AZURECLI/2.7.0 azsdk-python-mgmt-hardwaresecuritymodules/2019-05-01T00:00:00.000Z + Python/3.8.1 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Sat, 30 May 2020 04:11:44 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-service-version: + - 1.1.0.281 + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - dedicated-hsm delete + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group -y + User-Agent: + - AZURECLI/2.7.0 azsdk-python-mgmt-hardwaresecuritymodules/2019-05-01T00:00:00.000Z + Python/3.8.1 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Sat, 30 May 2020 04:11:50 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-service-version: + - 1.1.0.281 + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - dedicated-hsm delete + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group -y + User-Agent: + - AZURECLI/2.7.0 azsdk-python-mgmt-hardwaresecuritymodules/2019-05-01T00:00:00.000Z + Python/3.8.1 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Sat, 30 May 2020 04:11:55 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-service-version: + - 1.1.0.281 + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - dedicated-hsm delete + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group -y + User-Agent: + - AZURECLI/2.7.0 azsdk-python-mgmt-hardwaresecuritymodules/2019-05-01T00:00:00.000Z + Python/3.8.1 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Sat, 30 May 2020 04:12:00 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-service-version: + - 1.1.0.281 + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - dedicated-hsm delete + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group -y + User-Agent: + - AZURECLI/2.7.0 azsdk-python-mgmt-hardwaresecuritymodules/2019-05-01T00:00:00.000Z + Python/3.8.1 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Sat, 30 May 2020 04:12:06 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-service-version: + - 1.1.0.281 + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - dedicated-hsm delete + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group -y + User-Agent: + - AZURECLI/2.7.0 azsdk-python-mgmt-hardwaresecuritymodules/2019-05-01T00:00:00.000Z + Python/3.8.1 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Sat, 30 May 2020 04:12:11 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-service-version: + - 1.1.0.281 + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - dedicated-hsm delete + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group -y + User-Agent: + - AZURECLI/2.7.0 azsdk-python-mgmt-hardwaresecuritymodules/2019-05-01T00:00:00.000Z + Python/3.8.1 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Sat, 30 May 2020 04:12:16 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-service-version: + - 1.1.0.281 + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - dedicated-hsm delete + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group -y + User-Agent: + - AZURECLI/2.7.0 azsdk-python-mgmt-hardwaresecuritymodules/2019-05-01T00:00:00.000Z + Python/3.8.1 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Sat, 30 May 2020 04:12:21 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-service-version: + - 1.1.0.281 + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - dedicated-hsm delete + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group -y + User-Agent: + - AZURECLI/2.7.0 azsdk-python-mgmt-hardwaresecuritymodules/2019-05-01T00:00:00.000Z + Python/3.8.1 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Sat, 30 May 2020 04:12:26 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-service-version: + - 1.1.0.281 + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - dedicated-hsm delete + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group -y + User-Agent: + - AZURECLI/2.7.0 azsdk-python-mgmt-hardwaresecuritymodules/2019-05-01T00:00:00.000Z + Python/3.8.1 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Sat, 30 May 2020 04:12:31 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-service-version: + - 1.1.0.281 + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - dedicated-hsm delete + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group -y + User-Agent: + - AZURECLI/2.7.0 azsdk-python-mgmt-hardwaresecuritymodules/2019-05-01T00:00:00.000Z + Python/3.8.1 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Sat, 30 May 2020 04:12:36 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-service-version: + - 1.1.0.281 + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - dedicated-hsm delete + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group -y + User-Agent: + - AZURECLI/2.7.0 azsdk-python-mgmt-hardwaresecuritymodules/2019-05-01T00:00:00.000Z + Python/3.8.1 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Sat, 30 May 2020 04:12:42 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-service-version: + - 1.1.0.281 + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - dedicated-hsm delete + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group -y + User-Agent: + - AZURECLI/2.7.0 azsdk-python-mgmt-hardwaresecuritymodules/2019-05-01T00:00:00.000Z + Python/3.8.1 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Sat, 30 May 2020 04:12:47 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-service-version: + - 1.1.0.281 + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - dedicated-hsm delete + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group -y + User-Agent: + - AZURECLI/2.7.0 azsdk-python-mgmt-hardwaresecuritymodules/2019-05-01T00:00:00.000Z + Python/3.8.1 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Sat, 30 May 2020 04:12:52 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-service-version: + - 1.1.0.281 + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - dedicated-hsm delete + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group -y + User-Agent: + - AZURECLI/2.7.0 azsdk-python-mgmt-hardwaresecuritymodules/2019-05-01T00:00:00.000Z + Python/3.8.1 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Sat, 30 May 2020 04:12:57 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-service-version: + - 1.1.0.281 + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - dedicated-hsm delete + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group -y + User-Agent: + - AZURECLI/2.7.0 azsdk-python-mgmt-hardwaresecuritymodules/2019-05-01T00:00:00.000Z + Python/3.8.1 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Sat, 30 May 2020 04:13:03 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-service-version: + - 1.1.0.281 + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - dedicated-hsm delete + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group -y + User-Agent: + - AZURECLI/2.7.0 azsdk-python-mgmt-hardwaresecuritymodules/2019-05-01T00:00:00.000Z + Python/3.8.1 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Sat, 30 May 2020 04:13:08 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-service-version: + - 1.1.0.281 + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - dedicated-hsm delete + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group -y + User-Agent: + - AZURECLI/2.7.0 azsdk-python-mgmt-hardwaresecuritymodules/2019-05-01T00:00:00.000Z + Python/3.8.1 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Sat, 30 May 2020 04:13:13 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-service-version: + - 1.1.0.281 + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - dedicated-hsm delete + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group -y + User-Agent: + - AZURECLI/2.7.0 azsdk-python-mgmt-hardwaresecuritymodules/2019-05-01T00:00:00.000Z + Python/3.8.1 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Sat, 30 May 2020 04:13:18 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-service-version: + - 1.1.0.281 + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - dedicated-hsm delete + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group -y + User-Agent: + - AZURECLI/2.7.0 azsdk-python-mgmt-hardwaresecuritymodules/2019-05-01T00:00:00.000Z + Python/3.8.1 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Sat, 30 May 2020 04:13:33 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-service-version: + - 1.1.0.281 + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - dedicated-hsm delete + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group -y + User-Agent: + - AZURECLI/2.7.0 azsdk-python-mgmt-hardwaresecuritymodules/2019-05-01T00:00:00.000Z + Python/3.8.1 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Sat, 30 May 2020 04:13:38 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-service-version: + - 1.1.0.281 + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - dedicated-hsm delete + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group -y + User-Agent: + - AZURECLI/2.7.0 azsdk-python-mgmt-hardwaresecuritymodules/2019-05-01T00:00:00.000Z + Python/3.8.1 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Sat, 30 May 2020 04:13:44 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-service-version: + - 1.1.0.281 + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - dedicated-hsm delete + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group -y + User-Agent: + - AZURECLI/2.7.0 azsdk-python-mgmt-hardwaresecuritymodules/2019-05-01T00:00:00.000Z + Python/3.8.1 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Sat, 30 May 2020 04:13:49 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-service-version: + - 1.1.0.281 + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - dedicated-hsm delete + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group -y + User-Agent: + - AZURECLI/2.7.0 azsdk-python-mgmt-hardwaresecuritymodules/2019-05-01T00:00:00.000Z + Python/3.8.1 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Sat, 30 May 2020 04:13:54 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-service-version: + - 1.1.0.281 + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - dedicated-hsm delete + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group -y + User-Agent: + - AZURECLI/2.7.0 azsdk-python-mgmt-hardwaresecuritymodules/2019-05-01T00:00:00.000Z + Python/3.8.1 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Sat, 30 May 2020 04:13:59 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-service-version: + - 1.1.0.281 + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - dedicated-hsm delete + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group -y + User-Agent: + - AZURECLI/2.7.0 azsdk-python-mgmt-hardwaresecuritymodules/2019-05-01T00:00:00.000Z + Python/3.8.1 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Sat, 30 May 2020 04:14:04 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-service-version: + - 1.1.0.281 + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - dedicated-hsm delete + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group -y + User-Agent: + - AZURECLI/2.7.0 azsdk-python-mgmt-hardwaresecuritymodules/2019-05-01T00:00:00.000Z + Python/3.8.1 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Sat, 30 May 2020 04:14:09 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-service-version: + - 1.1.0.281 + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - dedicated-hsm delete + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group -y + User-Agent: + - AZURECLI/2.7.0 azsdk-python-mgmt-hardwaresecuritymodules/2019-05-01T00:00:00.000Z + Python/3.8.1 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Sat, 30 May 2020 04:14:14 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-service-version: + - 1.1.0.281 + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - dedicated-hsm delete + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group -y + User-Agent: + - AZURECLI/2.7.0 azsdk-python-mgmt-hardwaresecuritymodules/2019-05-01T00:00:00.000Z + Python/3.8.1 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Sat, 30 May 2020 04:14:19 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-service-version: + - 1.1.0.281 + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - dedicated-hsm delete + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group -y + User-Agent: + - AZURECLI/2.7.0 azsdk-python-mgmt-hardwaresecuritymodules/2019-05-01T00:00:00.000Z + Python/3.8.1 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Sat, 30 May 2020 04:14:24 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-service-version: + - 1.1.0.281 + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - dedicated-hsm delete + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group -y + User-Agent: + - AZURECLI/2.7.0 azsdk-python-mgmt-hardwaresecuritymodules/2019-05-01T00:00:00.000Z + Python/3.8.1 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Sat, 30 May 2020 04:14:29 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-service-version: + - 1.1.0.281 + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - dedicated-hsm delete + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group -y + User-Agent: + - AZURECLI/2.7.0 azsdk-python-mgmt-hardwaresecuritymodules/2019-05-01T00:00:00.000Z + Python/3.8.1 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Sat, 30 May 2020 04:14:35 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-service-version: + - 1.1.0.281 + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - dedicated-hsm delete + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group -y + User-Agent: + - AZURECLI/2.7.0 azsdk-python-mgmt-hardwaresecuritymodules/2019-05-01T00:00:00.000Z + Python/3.8.1 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.HardwareSecurityModules/locations/japaneast/operationResults/REIxQUI2RjAtNDc2OS00QjI3LTkzMEUtMDFFMkVGOUMxMjNDL0NMSVRFU1RHVUdVUVdJS1VDTUNVTkFENlk1RFpTWENYTkFCNDRDSFhCNk5HT0hLTlFNU1BMQlI2UjNaRllISk00TlhKSVFFMlJEVy9IU00x?api-version=2018-10-31-preview + response: + body: + string: '' + headers: + cache-control: + - no-cache + date: + - Sat, 30 May 2020 04:14:40 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-service-version: + - 1.1.0.281 + x-powered-by: + - ASP.NET + status: + code: 204 + message: No Content +version: 1 diff --git a/src/hardware-security-modules/azext_hardware_security_modules/tests/latest/test_hardwaresecuritymodules_scenario.py b/src/hardware-security-modules/azext_hardware_security_modules/tests/latest/test_hardwaresecuritymodules_scenario.py new file mode 100644 index 00000000000..6d2797baa72 --- /dev/null +++ b/src/hardware-security-modules/azext_hardware_security_modules/tests/latest/test_hardwaresecuritymodules_scenario.py @@ -0,0 +1,129 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import os +import unittest + +from azure_devtools.scenario_tests import AllowLargeResponse +from azure.cli.testsdk import ScenarioTest +from .. import try_manual +from azure.cli.testsdk import ResourceGroupPreparer +from azure.cli.testsdk import JMESPathCheck + + +TEST_DIR = os.path.abspath(os.path.join(os.path.abspath(__file__), '..')) + + +@try_manual +def setup(test, rg): + test.cmd('az feature register --namespace Microsoft.HardwareSecurityModules --name AzureDedicatedHSM') + test.cmd( + 'az feature register --namespace Microsoft.Network --name AllowBaremetalServers') + test.cmd('az network vnet create --name vn -g {rg} --subnet-name default') + test.cmd( + 'az vm create -g {rg} --name vm1 --image UbuntuLTS --generate-ssh-keys') + test.cmd( + 'az network vnet subnet create --vnet-name vn -n GatewaySubnet -g {rg} --address-prefix 10.0.5.0/24') + test.cmd( + 'az network vnet subnet create --vnet-name vn -g {rg} --name hsm --address-prefixes 10.0.2.0/24 --delegations Microsoft.HardwareSecurityModules/dedicatedHSMs') + test.cmd( + 'az network public-ip create -n ERGWVIP -g {rg} --allocation-method Dynamic') + test.cmd( + 'az network vnet-gateway create -n ERGW -l japaneast --public-ip-address ERGWVIP -g {rg} --vnet vn --sku standard --gateway-type ExpressRoute') + + +# EXAMPLE: /DedicatedHsm/put/Create a new or update an existing dedicated HSM +@try_manual +def step__dedicatedhsm_put_create_a_new_or_update_an_existing_dedicated_hsm(test, rg): + test.cmd('az dedicated-hsm create ' + '--name "hsm1" ' + '--location "japaneast" ' + '--network-profile-network-interfaces private-ip-address="10.0.2.21" ' + '--subnet id="/subscriptions/{subscription_id}/resourceGroups/{rg}/providers/Microsoft.Network/virtualNetworks/vn/subnets/hsm" ' + '--stamp-id "stamp1" ' + '--sku name="SafeNet Luna Network HSM A790" ' + '--tags Dept="hsm" Environment="dogfood" ' + '--resource-group "{rg}"', + checks=[JMESPathCheck('name', 'hsm1')]) + + +# EXAMPLE: /DedicatedHsm/get/Get a dedicated HSM +@try_manual +def step__dedicatedhsm_get_get_a_dedicated_hsm(test, rg): + test.cmd('az dedicated-hsm show ' + '--name "hsm1" ' + '--resource-group "{rg}"', + checks=[JMESPathCheck('name', 'hsm1')]) + + +# EXAMPLE: /DedicatedHsm/get/List dedicated HSM devices in a resource group +@try_manual +def step__dedicatedhsm_get_list_dedicated_hsm_devices_in_a_resource_group(test, rg): + test.cmd('az dedicated-hsm list ' + '--resource-group "{rg}"', + checks=[JMESPathCheck('[0].name', 'hsm1')]) + + +# EXAMPLE: /DedicatedHsm/get/List dedicated HSM devices in a subscription +@try_manual +def step__dedicatedhsm_get_list_dedicated_hsm_devices_in_a_subscription(test, rg): + test.cmd('az dedicated-hsm list ' + '-g=', + checks=[JMESPathCheck('[0].name', 'hsm1')]) + + +# EXAMPLE: /DedicatedHsm/patch/Update an existing dedicated HSM +@try_manual +def step__dedicatedhsm_patch_update_an_existing_dedicated_hsm(test, rg): + test.cmd('az dedicated-hsm update ' + '--name "hsm1" ' + '--tags Dept="hsm" Environment="dogfood" Slice="A" ' + '--resource-group "{rg}"', + checks=[JMESPathCheck('tags.Slice', "A")]) + + +# EXAMPLE: /DedicatedHsm/delete/Delete a dedicated HSM +@try_manual +def step__dedicatedhsm_delete_delete_a_dedicated_hsm(test, rg): + test.cmd('az dedicated-hsm delete ' + '--name "hsm1" ' + '--resource-group "{rg}" ' + '-y', + checks=[]) + + +@try_manual +def call_scenario(test, rg): + try: + setup(test, rg) + step__dedicatedhsm_put_create_a_new_or_update_an_existing_dedicated_hsm( + test, rg) + step__dedicatedhsm_get_get_a_dedicated_hsm(test, rg) + step__dedicatedhsm_get_list_dedicated_hsm_devices_in_a_resource_group( + test, rg) + step__dedicatedhsm_get_list_dedicated_hsm_devices_in_a_subscription( + test, rg) + step__dedicatedhsm_patch_update_an_existing_dedicated_hsm(test, rg) + step__dedicatedhsm_delete_delete_a_dedicated_hsm(test, rg) + except: + test.cmd('az group delete -n {rg} --yes ') + + +@try_manual +class AzureDedicatedHSMResourceProviderScenarioTest(ScenarioTest): + + @ResourceGroupPreparer(name_prefix='clitesthardwaresecuritymodules_hsm-group'[:7], location='japaneast', key='rg', parameter_name='rg') + def test_hardwaresecuritymodules(self, rg): + + self.kwargs.update({ + 'subscription_id': self.get_subscription_id() + }) + + call_scenario(self, rg) diff --git a/src/hardware-security-modules/azext_hardware_security_modules/vendored_sdks/__init__.py b/src/hardware-security-modules/azext_hardware_security_modules/vendored_sdks/__init__.py new file mode 100644 index 00000000000..c9cfdc73e77 --- /dev/null +++ b/src/hardware-security-modules/azext_hardware_security_modules/vendored_sdks/__init__.py @@ -0,0 +1,12 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +__path__ = __import__('pkgutil').extend_path(__path__, __name__) diff --git a/src/hardware-security-modules/azext_hardware_security_modules/vendored_sdks/hardwaresecuritymodules/__init__.py b/src/hardware-security-modules/azext_hardware_security_modules/vendored_sdks/hardwaresecuritymodules/__init__.py new file mode 100644 index 00000000000..da430e088ff --- /dev/null +++ b/src/hardware-security-modules/azext_hardware_security_modules/vendored_sdks/hardwaresecuritymodules/__init__.py @@ -0,0 +1,19 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._azure_dedicated_hsm_resource_provider import AzureDedicatedHSMResourceProvider +from ._version import VERSION + +__version__ = VERSION +__all__ = ['AzureDedicatedHSMResourceProvider'] + +try: + from .patch import patch_sdk + patch_sdk() +except ImportError: + pass diff --git a/src/hardware-security-modules/azext_hardware_security_modules/vendored_sdks/hardwaresecuritymodules/_azure_dedicated_hsm_resource_provider.py b/src/hardware-security-modules/azext_hardware_security_modules/vendored_sdks/hardwaresecuritymodules/_azure_dedicated_hsm_resource_provider.py new file mode 100644 index 00000000000..fd0731669f1 --- /dev/null +++ b/src/hardware-security-modules/azext_hardware_security_modules/vendored_sdks/hardwaresecuritymodules/_azure_dedicated_hsm_resource_provider.py @@ -0,0 +1,66 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import TYPE_CHECKING + +from azure.mgmt.core import ARMPipelineClient +from msrest import Deserializer, Serializer + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Optional + +from ._configuration import AzureDedicatedHSMResourceProviderConfiguration +from .operations import DedicatedHsmOperations +from . import models + + +class AzureDedicatedHSMResourceProvider(object): + """The Azure management API provides a RESTful set of web services that interact with Azure Dedicated HSM RP. + + :ivar dedicated_hsm: DedicatedHsmOperations operations + :vartype dedicated_hsm: azure.mgmt.hardwaresecuritymodules.operations.DedicatedHsmOperations + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials.TokenCredential + :param subscription_id: 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 str base_url: Service URL + """ + + def __init__( + self, + credential, # type: "TokenCredential" + subscription_id, # type: str + base_url=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> None + if not base_url: + base_url = 'https://management.azure.com' + self._config = AzureDedicatedHSMResourceProviderConfiguration(credential, subscription_id, **kwargs) + self._client = ARMPipelineClient(base_url=base_url, config=self._config, **kwargs) + + 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.dedicated_hsm = DedicatedHsmOperations( + self._client, self._config, self._serialize, self._deserialize) + + def close(self): + # type: () -> None + self._client.close() + + def __enter__(self): + # type: () -> AzureDedicatedHSMResourceProvider + self._client.__enter__() + return self + + def __exit__(self, *exc_details): + # type: (Any) -> None + self._client.__exit__(*exc_details) diff --git a/src/hardware-security-modules/azext_hardware_security_modules/vendored_sdks/hardwaresecuritymodules/_configuration.py b/src/hardware-security-modules/azext_hardware_security_modules/vendored_sdks/hardwaresecuritymodules/_configuration.py new file mode 100644 index 00000000000..ac353d6ad2e --- /dev/null +++ b/src/hardware-security-modules/azext_hardware_security_modules/vendored_sdks/hardwaresecuritymodules/_configuration.py @@ -0,0 +1,69 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import TYPE_CHECKING + +from azure.core.configuration import Configuration +from azure.core.pipeline import policies + +from ._version import VERSION + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any + + from azure.core.credentials import TokenCredential + + +class AzureDedicatedHSMResourceProviderConfiguration(Configuration): + """Configuration for AzureDedicatedHSMResourceProvider. + + Note that all parameters used to create this instance are saved as instance + attributes. + + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials.TokenCredential + :param subscription_id: Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call. + :type subscription_id: str + """ + + def __init__( + self, + credential, # type: "TokenCredential" + subscription_id, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + if credential is None: + raise ValueError("Parameter 'credential' must not be None.") + if subscription_id is None: + raise ValueError("Parameter 'subscription_id' must not be None.") + super(AzureDedicatedHSMResourceProviderConfiguration, self).__init__(**kwargs) + + self.credential = credential + self.subscription_id = subscription_id + self.api_version = "2018-10-31-preview" + self.credential_scopes = ['https://management.azure.com/.default'] + kwargs.setdefault('sdk_moniker', 'mgmt-hardwaresecuritymodules/{}'.format(VERSION)) + self._configure(**kwargs) + + def _configure( + self, + **kwargs # type: Any + ): + # type: (...) -> None + self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get('retry_policy') or policies.RetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get('redirect_policy') or policies.RedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get('authentication_policy') + if self.credential and not self.authentication_policy: + self.authentication_policy = policies.BearerTokenCredentialPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/hardware-security-modules/azext_hardware_security_modules/vendored_sdks/hardwaresecuritymodules/_version.py b/src/hardware-security-modules/azext_hardware_security_modules/vendored_sdks/hardwaresecuritymodules/_version.py new file mode 100644 index 00000000000..fe0d5a0b414 --- /dev/null +++ b/src/hardware-security-modules/azext_hardware_security_modules/vendored_sdks/hardwaresecuritymodules/_version.py @@ -0,0 +1,9 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +VERSION = "2019-05-01T00:00:00.000Z" diff --git a/src/hardware-security-modules/azext_hardware_security_modules/vendored_sdks/hardwaresecuritymodules/aio/__init__.py b/src/hardware-security-modules/azext_hardware_security_modules/vendored_sdks/hardwaresecuritymodules/aio/__init__.py new file mode 100644 index 00000000000..72da28df722 --- /dev/null +++ b/src/hardware-security-modules/azext_hardware_security_modules/vendored_sdks/hardwaresecuritymodules/aio/__init__.py @@ -0,0 +1,10 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._azure_dedicated_hsm_resource_provider_async import AzureDedicatedHSMResourceProvider +__all__ = ['AzureDedicatedHSMResourceProvider'] diff --git a/src/hardware-security-modules/azext_hardware_security_modules/vendored_sdks/hardwaresecuritymodules/aio/_azure_dedicated_hsm_resource_provider_async.py b/src/hardware-security-modules/azext_hardware_security_modules/vendored_sdks/hardwaresecuritymodules/aio/_azure_dedicated_hsm_resource_provider_async.py new file mode 100644 index 00000000000..66f3543db03 --- /dev/null +++ b/src/hardware-security-modules/azext_hardware_security_modules/vendored_sdks/hardwaresecuritymodules/aio/_azure_dedicated_hsm_resource_provider_async.py @@ -0,0 +1,58 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import Any, Optional + +from azure.mgmt.core import AsyncARMPipelineClient +from msrest import Deserializer, Serializer + +from ._configuration_async import AzureDedicatedHSMResourceProviderConfiguration +from .operations_async import DedicatedHsmOperations +from .. import models + + +class AzureDedicatedHSMResourceProvider(object): + """The Azure management API provides a RESTful set of web services that interact with Azure Dedicated HSM RP. + + :ivar dedicated_hsm: DedicatedHsmOperations operations + :vartype dedicated_hsm: azure.mgmt.hardwaresecuritymodules.aio.operations_async.DedicatedHsmOperations + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials_async.AsyncTokenCredential + :param subscription_id: 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 str base_url: Service URL + """ + + def __init__( + self, + credential: "AsyncTokenCredential", + subscription_id: str, + base_url: Optional[str] = None, + **kwargs: Any + ) -> None: + if not base_url: + base_url = 'https://management.azure.com' + self._config = AzureDedicatedHSMResourceProviderConfiguration(credential, subscription_id, **kwargs) + self._client = AsyncARMPipelineClient(base_url=base_url, config=self._config, **kwargs) + + 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.dedicated_hsm = DedicatedHsmOperations( + self._client, self._config, self._serialize, self._deserialize) + + async def close(self) -> None: + await self._client.close() + + async def __aenter__(self) -> "AzureDedicatedHSMResourceProvider": + await self._client.__aenter__() + return self + + async def __aexit__(self, *exc_details) -> None: + await self._client.__aexit__(*exc_details) diff --git a/src/hardware-security-modules/azext_hardware_security_modules/vendored_sdks/hardwaresecuritymodules/aio/_configuration_async.py b/src/hardware-security-modules/azext_hardware_security_modules/vendored_sdks/hardwaresecuritymodules/aio/_configuration_async.py new file mode 100644 index 00000000000..ec22f630e46 --- /dev/null +++ b/src/hardware-security-modules/azext_hardware_security_modules/vendored_sdks/hardwaresecuritymodules/aio/_configuration_async.py @@ -0,0 +1,65 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import Any, TYPE_CHECKING + +from azure.core.configuration import Configuration +from azure.core.pipeline import policies + +from .._version import VERSION + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials import TokenCredential + + +class AzureDedicatedHSMResourceProviderConfiguration(Configuration): + """Configuration for AzureDedicatedHSMResourceProvider. + + Note that all parameters used to create this instance are saved as instance + attributes. + + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials_async.AsyncTokenCredential + :param subscription_id: Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call. + :type subscription_id: str + """ + + def __init__( + self, + credential: "AsyncTokenCredential", + subscription_id: str, + **kwargs: Any + ) -> None: + if credential is None: + raise ValueError("Parameter 'credential' must not be None.") + if subscription_id is None: + raise ValueError("Parameter 'subscription_id' must not be None.") + super(AzureDedicatedHSMResourceProviderConfiguration, self).__init__(**kwargs) + + self.credential = credential + self.subscription_id = subscription_id + self.api_version = "2018-10-31-preview" + self.credential_scopes = ['https://management.azure.com/.default'] + kwargs.setdefault('sdk_moniker', 'mgmt-hardwaresecuritymodules/{}'.format(VERSION)) + self._configure(**kwargs) + + def _configure( + self, + **kwargs: Any + ) -> None: + self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get('retry_policy') or policies.AsyncRetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get('redirect_policy') or policies.AsyncRedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get('authentication_policy') + if self.credential and not self.authentication_policy: + self.authentication_policy = policies.AsyncBearerTokenCredentialPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/hardware-security-modules/azext_hardware_security_modules/vendored_sdks/hardwaresecuritymodules/aio/operations_async/__init__.py b/src/hardware-security-modules/azext_hardware_security_modules/vendored_sdks/hardwaresecuritymodules/aio/operations_async/__init__.py new file mode 100644 index 00000000000..8322ec044b3 --- /dev/null +++ b/src/hardware-security-modules/azext_hardware_security_modules/vendored_sdks/hardwaresecuritymodules/aio/operations_async/__init__.py @@ -0,0 +1,13 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._dedicated_hsm_operations_async import DedicatedHsmOperations + +__all__ = [ + 'DedicatedHsmOperations', +] diff --git a/src/hardware-security-modules/azext_hardware_security_modules/vendored_sdks/hardwaresecuritymodules/aio/operations_async/_dedicated_hsm_operations_async.py b/src/hardware-security-modules/azext_hardware_security_modules/vendored_sdks/hardwaresecuritymodules/aio/operations_async/_dedicated_hsm_operations_async.py new file mode 100644 index 00000000000..3ac7d7ff6d5 --- /dev/null +++ b/src/hardware-security-modules/azext_hardware_security_modules/vendored_sdks/hardwaresecuritymodules/aio/operations_async/_dedicated_hsm_operations_async.py @@ -0,0 +1,571 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, List, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.polling import AsyncNoPolling, AsyncPollingMethod, async_poller +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class DedicatedHsmOperations: + """DedicatedHsmOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.hardwaresecuritymodules.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + async def _create_or_update_initial( + self, + resource_group_name: str, + name: str, + location: str, + sku: Optional["models.Sku"] = None, + zones: Optional[List[str]] = None, + tags: Optional[Dict[str, str]] = None, + stamp_id: Optional[str] = None, + subnet: Optional["models.ApiEntityReference"] = None, + network_interfaces: Optional[List["NetworkInterface"]] = None, + **kwargs + ) -> "models.DedicatedHsm": + cls = kwargs.pop('cls', None) # type: ClsType["models.DedicatedHsm"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _parameters = models.DedicatedHsm(location=location, sku=sku, zones=zones, tags=tags, stamp_id=stamp_id, subnet=subnet, network_interfaces=network_interfaces) + api_version = "2018-10-31-preview" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self._create_or_update_initial.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'name': self._serialize.url("name", name, 'str', pattern=r'^[a-zA-Z0-9-]{3,24}$'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_parameters, 'DedicatedHsm') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.DedicatedHsmError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('DedicatedHsm', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('DedicatedHsm', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/{name}'} + + async def create_or_update( + self, + resource_group_name: str, + name: str, + location: str, + sku: Optional["models.Sku"] = None, + zones: Optional[List[str]] = None, + tags: Optional[Dict[str, str]] = None, + stamp_id: Optional[str] = None, + subnet: Optional["models.ApiEntityReference"] = None, + network_interfaces: Optional[List["NetworkInterface"]] = None, + **kwargs + ) -> "models.DedicatedHsm": + """Create or Update a dedicated HSM in the specified subscription. + + :param resource_group_name: The name of the Resource Group to which the resource belongs. + :type resource_group_name: str + :param name: Name of the dedicated Hsm. + :type name: str + :param location: The supported Azure location where the dedicated HSM should be created. + :type location: str + :param sku: SKU details. + :type sku: ~azure.mgmt.hardwaresecuritymodules.models.Sku + :param zones: The Dedicated Hsm zones. + :type zones: list[str] + :param tags: Resource tags. + :type tags: dict[str, str] + :param stamp_id: This field will be used when RP does not support Availability zones. + :type stamp_id: str + :param subnet: Specifies the identifier of the subnet. + :type subnet: ~azure.mgmt.hardwaresecuritymodules.models.ApiEntityReference + :param network_interfaces: Specifies the list of resource Ids for the network interfaces + associated with the dedicated HSM. + :type network_interfaces: list[~azure.mgmt.hardwaresecuritymodules.models.NetworkInterface] + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :return: An instance of LROPoller that returns DedicatedHsm + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.hardwaresecuritymodules.models.DedicatedHsm] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.DedicatedHsm"] + raw_result = await self._create_or_update_initial( + resource_group_name=resource_group_name, + name=name, + location=location, + sku=sku, + zones=zones, + tags=tags, + stamp_id=stamp_id, + subnet=subnet, + network_interfaces=network_interfaces, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('DedicatedHsm', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + return await async_poller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/{name}'} + + async def _update_initial( + self, + resource_group_name: str, + name: str, + tags: Optional[Dict[str, str]] = None, + **kwargs + ) -> "models.DedicatedHsm": + cls = kwargs.pop('cls', None) # type: ClsType["models.DedicatedHsm"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _parameters = models.DedicatedHsmPatchParameters(tags=tags) + api_version = "2018-10-31-preview" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self._update_initial.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'name': self._serialize.url("name", name, 'str', pattern=r'^[a-zA-Z0-9-]{3,24}$'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_parameters, 'DedicatedHsmPatchParameters') + body_content_kwargs['content'] = body_content + request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.DedicatedHsmError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('DedicatedHsm', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/{name}'} + + async def update( + self, + resource_group_name: str, + name: str, + tags: Optional[Dict[str, str]] = None, + **kwargs + ) -> "models.DedicatedHsm": + """Update a dedicated HSM in the specified subscription. + + :param resource_group_name: The name of the Resource Group to which the server belongs. + :type resource_group_name: str + :param name: Name of the dedicated HSM. + :type name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :return: An instance of LROPoller that returns DedicatedHsm + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.hardwaresecuritymodules.models.DedicatedHsm] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.DedicatedHsm"] + raw_result = await self._update_initial( + resource_group_name=resource_group_name, + name=name, + tags=tags, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('DedicatedHsm', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + return await async_poller(self._client, raw_result, get_long_running_output, polling_method) + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/{name}'} + + async def _delete_initial( + self, + resource_group_name: str, + name: str, + **kwargs + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-10-31-preview" + + # Construct URL + url = self._delete_initial.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'name': self._serialize.url("name", name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.DedicatedHsmError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/{name}'} + + async def delete( + self, + resource_group_name: str, + name: str, + **kwargs + ) -> None: + """Deletes the specified Azure Dedicated HSM. + + :param resource_group_name: The name of the Resource Group to which the dedicated HSM belongs. + :type resource_group_name: str + :param name: The name of the dedicated HSM to delete. + :type name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :return: An instance of LROPoller that returns None + :rtype: ~azure.core.polling.LROPoller[None] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + raw_result = await self._delete_initial( + resource_group_name=resource_group_name, + name=name, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + return await async_poller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/{name}'} + + async def get( + self, + resource_group_name: str, + name: str, + **kwargs + ) -> "models.DedicatedHsm": + """Gets the specified Azure dedicated HSM. + + :param resource_group_name: The name of the Resource Group to which the dedicated hsm belongs. + :type resource_group_name: str + :param name: The name of the dedicated HSM. + :type name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DedicatedHsm or the result of cls(response) + :rtype: ~azure.mgmt.hardwaresecuritymodules.models.DedicatedHsm + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.DedicatedHsm"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-10-31-preview" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'name': self._serialize.url("name", name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.DedicatedHsmError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('DedicatedHsm', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/{name}'} + + def list_by_resource_group( + self, + resource_group_name: str, + top: Optional[int] = None, + **kwargs + ) -> "models.DedicatedHsmListResult": + """The List operation gets information about the dedicated hsms associated with the subscription and within the specified resource group. + + :param resource_group_name: The name of the Resource Group to which the dedicated HSM belongs. + :type resource_group_name: str + :param top: Maximum number of results to return. + :type top: int + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DedicatedHsmListResult or the result of cls(response) + :rtype: ~azure.mgmt.hardwaresecuritymodules.models.DedicatedHsmListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.DedicatedHsmListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-10-31-preview" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + if top is not None: + query_parameters['$top'] = self._serialize.query("top", top, 'int') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('DedicatedHsmListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.DedicatedHsmError, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs'} + + def list_by_subscription( + self, + top: Optional[int] = None, + **kwargs + ) -> "models.DedicatedHsmListResult": + """The List operation gets information about the dedicated HSMs associated with the subscription. + + :param top: Maximum number of results to return. + :type top: int + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DedicatedHsmListResult or the result of cls(response) + :rtype: ~azure.mgmt.hardwaresecuritymodules.models.DedicatedHsmListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.DedicatedHsmListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-10-31-preview" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_subscription.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + if top is not None: + query_parameters['$top'] = self._serialize.query("top", top, 'int') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('DedicatedHsmListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.DedicatedHsmError, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_by_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs'} diff --git a/src/hardware-security-modules/azext_hardware_security_modules/vendored_sdks/hardwaresecuritymodules/models/__init__.py b/src/hardware-security-modules/azext_hardware_security_modules/vendored_sdks/hardwaresecuritymodules/models/__init__.py new file mode 100644 index 00000000000..f83ac526495 --- /dev/null +++ b/src/hardware-security-modules/azext_hardware_security_modules/vendored_sdks/hardwaresecuritymodules/models/__init__.py @@ -0,0 +1,48 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +try: + from ._models_py3 import ApiEntityReference + from ._models_py3 import DedicatedHsm + from ._models_py3 import DedicatedHsmError + from ._models_py3 import DedicatedHsmListResult + from ._models_py3 import DedicatedHsmPatchParameters + from ._models_py3 import Error + from ._models_py3 import NetworkInterface + from ._models_py3 import Resource + from ._models_py3 import ResourceListResult + from ._models_py3 import Sku +except (SyntaxError, ImportError): + from ._models import ApiEntityReference # type: ignore + from ._models import DedicatedHsm # type: ignore + from ._models import DedicatedHsmError # type: ignore + from ._models import DedicatedHsmListResult # type: ignore + from ._models import DedicatedHsmPatchParameters # type: ignore + from ._models import Error # type: ignore + from ._models import NetworkInterface # type: ignore + from ._models import Resource # type: ignore + from ._models import ResourceListResult # type: ignore + from ._models import Sku # type: ignore + +from ._azure_dedicated_hsm_resource_provider_enums import ( + JsonWebKeyType, +) + +__all__ = [ + 'ApiEntityReference', + 'DedicatedHsm', + 'DedicatedHsmError', + 'DedicatedHsmListResult', + 'DedicatedHsmPatchParameters', + 'Error', + 'NetworkInterface', + 'Resource', + 'ResourceListResult', + 'Sku', + 'JsonWebKeyType', +] diff --git a/src/hardware-security-modules/azext_hardware_security_modules/vendored_sdks/hardwaresecuritymodules/models/_azure_dedicated_hsm_resource_provider_enums.py b/src/hardware-security-modules/azext_hardware_security_modules/vendored_sdks/hardwaresecuritymodules/models/_azure_dedicated_hsm_resource_provider_enums.py new file mode 100644 index 00000000000..5926034c38e --- /dev/null +++ b/src/hardware-security-modules/azext_hardware_security_modules/vendored_sdks/hardwaresecuritymodules/models/_azure_dedicated_hsm_resource_provider_enums.py @@ -0,0 +1,21 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from enum import Enum + +class JsonWebKeyType(str, Enum): + """Provisioning state. + """ + + succeeded = "Succeeded" #: The dedicated HSM has been full provisioned. + provisioning = "Provisioning" #: The dedicated HSM is currently being provisioned. + allocating = "Allocating" #: A device is currently being allocated for the dedicated HSM resource. + connecting = "Connecting" #: The dedicated HSM is being connected to the virtual network. + failed = "Failed" #: Provisioning of the dedicated HSM has failed. + checking_quota = "CheckingQuota" #: Validating the subscription has sufficient quota to allocate a dedicated HSM device. + deleting = "Deleting" #: The dedicated HSM is currently being deleted. diff --git a/src/hardware-security-modules/azext_hardware_security_modules/vendored_sdks/hardwaresecuritymodules/models/_models.py b/src/hardware-security-modules/azext_hardware_security_modules/vendored_sdks/hardwaresecuritymodules/models/_models.py new file mode 100644 index 00000000000..737f4e31f6e --- /dev/null +++ b/src/hardware-security-modules/azext_hardware_security_modules/vendored_sdks/hardwaresecuritymodules/models/_models.py @@ -0,0 +1,338 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from azure.core.exceptions import HttpResponseError +import msrest.serialization + + +class ApiEntityReference(msrest.serialization.Model): + """The API entity reference. + + :param id: The ARM resource id in the form of + /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/... + :type id: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ApiEntityReference, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + + +class Resource(msrest.serialization.Model): + """Dedicated HSM resource. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The Azure Resource Manager resource ID for the dedicated HSM. + :vartype id: str + :ivar name: The name of the dedicated HSM. + :vartype name: str + :ivar type: The resource type of the dedicated HSM. + :vartype type: str + :param location: Required. The supported Azure location where the dedicated HSM should be + created. + :type location: str + :param sku: SKU details. + :type sku: ~azure.mgmt.hardwaresecuritymodules.models.Sku + :param zones: The Dedicated Hsm zones. + :type zones: list[str] + :param tags: A set of tags. Resource tags. + :type tags: dict[str, str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + 'zones': {'key': 'zones', 'type': '[str]'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__( + self, + **kwargs + ): + super(Resource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.location = kwargs['location'] + self.sku = kwargs.get('sku', None) + self.zones = kwargs.get('zones', None) + self.tags = kwargs.get('tags', None) + + +class DedicatedHsm(Resource): + """Resource information with extended details. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The Azure Resource Manager resource ID for the dedicated HSM. + :vartype id: str + :ivar name: The name of the dedicated HSM. + :vartype name: str + :ivar type: The resource type of the dedicated HSM. + :vartype type: str + :param location: Required. The supported Azure location where the dedicated HSM should be + created. + :type location: str + :param sku: SKU details. + :type sku: ~azure.mgmt.hardwaresecuritymodules.models.Sku + :param zones: The Dedicated Hsm zones. + :type zones: list[str] + :param tags: A set of tags. Resource tags. + :type tags: dict[str, str] + :param stamp_id: This field will be used when RP does not support Availability zones. + :type stamp_id: str + :ivar status_message: Resource Status Message. + :vartype status_message: str + :ivar provisioning_state: Provisioning state. Possible values include: "Succeeded", + "Provisioning", "Allocating", "Connecting", "Failed", "CheckingQuota", "Deleting". + :vartype provisioning_state: str or ~azure.mgmt.hardwaresecuritymodules.models.JsonWebKeyType + :param subnet: Specifies the identifier of the subnet. + :type subnet: ~azure.mgmt.hardwaresecuritymodules.models.ApiEntityReference + :param network_interfaces: Specifies the list of resource Ids for the network interfaces + associated with the dedicated HSM. + :type network_interfaces: list[~azure.mgmt.hardwaresecuritymodules.models.NetworkInterface] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + 'status_message': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + 'zones': {'key': 'zones', 'type': '[str]'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'stamp_id': {'key': 'properties.stampId', 'type': 'str'}, + 'status_message': {'key': 'properties.statusMessage', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'subnet': {'key': 'properties.networkProfile.subnet', 'type': 'ApiEntityReference'}, + 'network_interfaces': {'key': 'properties.networkProfile.networkInterfaces', 'type': '[NetworkInterface]'}, + } + + def __init__( + self, + **kwargs + ): + super(DedicatedHsm, self).__init__(**kwargs) + self.stamp_id = kwargs.get('stamp_id', None) + self.status_message = None + self.provisioning_state = None + self.subnet = kwargs.get('subnet', None) + self.network_interfaces = kwargs.get('network_interfaces', None) + + +class DedicatedHsmError(msrest.serialization.Model): + """The error exception. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar error: The key vault server error. + :vartype error: ~azure.mgmt.hardwaresecuritymodules.models.Error + """ + + _validation = { + 'error': {'readonly': True}, + } + + _attribute_map = { + 'error': {'key': 'error', 'type': 'Error'}, + } + + def __init__( + self, + **kwargs + ): + super(DedicatedHsmError, self).__init__(**kwargs) + self.error = None + + +class DedicatedHsmListResult(msrest.serialization.Model): + """List of dedicated HSMs. + + :param value: The list of dedicated HSMs. + :type value: list[~azure.mgmt.hardwaresecuritymodules.models.DedicatedHsm] + :param next_link: The URL to get the next set of dedicated hsms. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[DedicatedHsm]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(DedicatedHsmListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class DedicatedHsmPatchParameters(msrest.serialization.Model): + """Patchable properties of the dedicated HSM. + + :param tags: A set of tags. Resource tags. + :type tags: dict[str, str] + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__( + self, + **kwargs + ): + super(DedicatedHsmPatchParameters, self).__init__(**kwargs) + self.tags = kwargs.get('tags', None) + + +class Error(msrest.serialization.Model): + """The key vault server error. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar code: The error code. + :vartype code: str + :ivar message: The error message. + :vartype message: str + :ivar inner_error: The key vault server error. + :vartype inner_error: ~azure.mgmt.hardwaresecuritymodules.models.Error + """ + + _validation = { + 'code': {'readonly': True}, + 'message': {'readonly': True}, + 'inner_error': {'readonly': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'inner_error': {'key': 'innererror', 'type': 'Error'}, + } + + def __init__( + self, + **kwargs + ): + super(Error, self).__init__(**kwargs) + self.code = None + self.message = None + self.inner_error = None + + +class NetworkInterface(msrest.serialization.Model): + """The network interface definition. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: The ARM resource id in the form of + /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/... + :vartype id: str + :param private_ip_address: Private Ip address of the interface. + :type private_ip_address: str + """ + + _validation = { + 'id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'private_ip_address': {'key': 'privateIpAddress', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(NetworkInterface, self).__init__(**kwargs) + self.id = None + self.private_ip_address = kwargs.get('private_ip_address', None) + + +class ResourceListResult(msrest.serialization.Model): + """List of dedicated HSM resources. + + :param value: The list of dedicated HSM resources. + :type value: list[~azure.mgmt.hardwaresecuritymodules.models.Resource] + :param next_link: The URL to get the next set of dedicated HSM resources. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[Resource]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ResourceListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class Sku(msrest.serialization.Model): + """Sku. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar name: SKU of the dedicated HSM. Default value: "SafeNet Luna Network HSM A790". + :vartype name: str + """ + + _validation = { + 'name': {'constant': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + } + + name = "SafeNet Luna Network HSM A790" + + def __init__( + self, + **kwargs + ): + super(Sku, self).__init__(**kwargs) diff --git a/src/hardware-security-modules/azext_hardware_security_modules/vendored_sdks/hardwaresecuritymodules/models/_models_py3.py b/src/hardware-security-modules/azext_hardware_security_modules/vendored_sdks/hardwaresecuritymodules/models/_models_py3.py new file mode 100644 index 00000000000..1921ec0ff9e --- /dev/null +++ b/src/hardware-security-modules/azext_hardware_security_modules/vendored_sdks/hardwaresecuritymodules/models/_models_py3.py @@ -0,0 +1,365 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import Dict, List, Optional + +from azure.core.exceptions import HttpResponseError +import msrest.serialization + + +class ApiEntityReference(msrest.serialization.Model): + """The API entity reference. + + :param id: The ARM resource id in the form of + /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/... + :type id: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__( + self, + *, + id: Optional[str] = None, + **kwargs + ): + super(ApiEntityReference, self).__init__(**kwargs) + self.id = id + + +class Resource(msrest.serialization.Model): + """Dedicated HSM resource. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The Azure Resource Manager resource ID for the dedicated HSM. + :vartype id: str + :ivar name: The name of the dedicated HSM. + :vartype name: str + :ivar type: The resource type of the dedicated HSM. + :vartype type: str + :param location: Required. The supported Azure location where the dedicated HSM should be + created. + :type location: str + :param sku: SKU details. + :type sku: ~azure.mgmt.hardwaresecuritymodules.models.Sku + :param zones: The Dedicated Hsm zones. + :type zones: list[str] + :param tags: A set of tags. Resource tags. + :type tags: dict[str, str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + 'zones': {'key': 'zones', 'type': '[str]'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__( + self, + *, + location: str, + sku: Optional["Sku"] = None, + zones: Optional[List[str]] = None, + tags: Optional[Dict[str, str]] = None, + **kwargs + ): + super(Resource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.location = location + self.sku = sku + self.zones = zones + self.tags = tags + + +class DedicatedHsm(Resource): + """Resource information with extended details. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The Azure Resource Manager resource ID for the dedicated HSM. + :vartype id: str + :ivar name: The name of the dedicated HSM. + :vartype name: str + :ivar type: The resource type of the dedicated HSM. + :vartype type: str + :param location: Required. The supported Azure location where the dedicated HSM should be + created. + :type location: str + :param sku: SKU details. + :type sku: ~azure.mgmt.hardwaresecuritymodules.models.Sku + :param zones: The Dedicated Hsm zones. + :type zones: list[str] + :param tags: A set of tags. Resource tags. + :type tags: dict[str, str] + :param stamp_id: This field will be used when RP does not support Availability zones. + :type stamp_id: str + :ivar status_message: Resource Status Message. + :vartype status_message: str + :ivar provisioning_state: Provisioning state. Possible values include: "Succeeded", + "Provisioning", "Allocating", "Connecting", "Failed", "CheckingQuota", "Deleting". + :vartype provisioning_state: str or ~azure.mgmt.hardwaresecuritymodules.models.JsonWebKeyType + :param subnet: Specifies the identifier of the subnet. + :type subnet: ~azure.mgmt.hardwaresecuritymodules.models.ApiEntityReference + :param network_interfaces: Specifies the list of resource Ids for the network interfaces + associated with the dedicated HSM. + :type network_interfaces: list[~azure.mgmt.hardwaresecuritymodules.models.NetworkInterface] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + 'status_message': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + 'zones': {'key': 'zones', 'type': '[str]'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'stamp_id': {'key': 'properties.stampId', 'type': 'str'}, + 'status_message': {'key': 'properties.statusMessage', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'subnet': {'key': 'properties.networkProfile.subnet', 'type': 'ApiEntityReference'}, + 'network_interfaces': {'key': 'properties.networkProfile.networkInterfaces', 'type': '[NetworkInterface]'}, + } + + def __init__( + self, + *, + location: str, + sku: Optional["Sku"] = None, + zones: Optional[List[str]] = None, + tags: Optional[Dict[str, str]] = None, + stamp_id: Optional[str] = None, + subnet: Optional["ApiEntityReference"] = None, + network_interfaces: Optional[List["NetworkInterface"]] = None, + **kwargs + ): + super(DedicatedHsm, self).__init__(location=location, sku=sku, zones=zones, tags=tags, **kwargs) + self.stamp_id = stamp_id + self.status_message = None + self.provisioning_state = None + self.subnet = subnet + self.network_interfaces = network_interfaces + + +class DedicatedHsmError(msrest.serialization.Model): + """The error exception. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar error: The key vault server error. + :vartype error: ~azure.mgmt.hardwaresecuritymodules.models.Error + """ + + _validation = { + 'error': {'readonly': True}, + } + + _attribute_map = { + 'error': {'key': 'error', 'type': 'Error'}, + } + + def __init__( + self, + **kwargs + ): + super(DedicatedHsmError, self).__init__(**kwargs) + self.error = None + + +class DedicatedHsmListResult(msrest.serialization.Model): + """List of dedicated HSMs. + + :param value: The list of dedicated HSMs. + :type value: list[~azure.mgmt.hardwaresecuritymodules.models.DedicatedHsm] + :param next_link: The URL to get the next set of dedicated hsms. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[DedicatedHsm]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["DedicatedHsm"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(DedicatedHsmListResult, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class DedicatedHsmPatchParameters(msrest.serialization.Model): + """Patchable properties of the dedicated HSM. + + :param tags: A set of tags. Resource tags. + :type tags: dict[str, str] + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__( + self, + *, + tags: Optional[Dict[str, str]] = None, + **kwargs + ): + super(DedicatedHsmPatchParameters, self).__init__(**kwargs) + self.tags = tags + + +class Error(msrest.serialization.Model): + """The key vault server error. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar code: The error code. + :vartype code: str + :ivar message: The error message. + :vartype message: str + :ivar inner_error: The key vault server error. + :vartype inner_error: ~azure.mgmt.hardwaresecuritymodules.models.Error + """ + + _validation = { + 'code': {'readonly': True}, + 'message': {'readonly': True}, + 'inner_error': {'readonly': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'inner_error': {'key': 'innererror', 'type': 'Error'}, + } + + def __init__( + self, + **kwargs + ): + super(Error, self).__init__(**kwargs) + self.code = None + self.message = None + self.inner_error = None + + +class NetworkInterface(msrest.serialization.Model): + """The network interface definition. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: The ARM resource id in the form of + /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/... + :vartype id: str + :param private_ip_address: Private Ip address of the interface. + :type private_ip_address: str + """ + + _validation = { + 'id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'private_ip_address': {'key': 'privateIpAddress', 'type': 'str'}, + } + + def __init__( + self, + *, + private_ip_address: Optional[str] = None, + **kwargs + ): + super(NetworkInterface, self).__init__(**kwargs) + self.id = None + self.private_ip_address = private_ip_address + + +class ResourceListResult(msrest.serialization.Model): + """List of dedicated HSM resources. + + :param value: The list of dedicated HSM resources. + :type value: list[~azure.mgmt.hardwaresecuritymodules.models.Resource] + :param next_link: The URL to get the next set of dedicated HSM resources. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[Resource]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["Resource"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(ResourceListResult, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class Sku(msrest.serialization.Model): + """Sku. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar name: SKU of the dedicated HSM. Default value: "SafeNet Luna Network HSM A790". + :vartype name: str + """ + + _validation = { + 'name': {'constant': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + } + + name = "SafeNet Luna Network HSM A790" + + def __init__( + self, + **kwargs + ): + super(Sku, self).__init__(**kwargs) diff --git a/src/hardware-security-modules/azext_hardware_security_modules/vendored_sdks/hardwaresecuritymodules/operations/__init__.py b/src/hardware-security-modules/azext_hardware_security_modules/vendored_sdks/hardwaresecuritymodules/operations/__init__.py new file mode 100644 index 00000000000..1c1c2fbbddc --- /dev/null +++ b/src/hardware-security-modules/azext_hardware_security_modules/vendored_sdks/hardwaresecuritymodules/operations/__init__.py @@ -0,0 +1,13 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._dedicated_hsm_operations import DedicatedHsmOperations + +__all__ = [ + 'DedicatedHsmOperations', +] diff --git a/src/hardware-security-modules/azext_hardware_security_modules/vendored_sdks/hardwaresecuritymodules/operations/_dedicated_hsm_operations.py b/src/hardware-security-modules/azext_hardware_security_modules/vendored_sdks/hardwaresecuritymodules/operations/_dedicated_hsm_operations.py new file mode 100644 index 00000000000..1c5a682d161 --- /dev/null +++ b/src/hardware-security-modules/azext_hardware_security_modules/vendored_sdks/hardwaresecuritymodules/operations/_dedicated_hsm_operations.py @@ -0,0 +1,584 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.arm_polling import ARMPolling + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, List, Optional, TypeVar, Union + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class DedicatedHsmOperations(object): + """DedicatedHsmOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.hardwaresecuritymodules.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def _create_or_update_initial( + self, + resource_group_name, # type: str + name, # type: str + location, # type: str + sku=None, # type: Optional["models.Sku"] + zones=None, # type: Optional[List[str]] + tags=None, # type: Optional[Dict[str, str]] + stamp_id=None, # type: Optional[str] + subnet=None, # type: Optional["models.ApiEntityReference"] + network_interfaces=None, # type: Optional[List["NetworkInterface"]] + **kwargs # type: Any + ): + # type: (...) -> "models.DedicatedHsm" + cls = kwargs.pop('cls', None) # type: ClsType["models.DedicatedHsm"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _parameters = models.DedicatedHsm(location=location, sku=sku, zones=zones, tags=tags, stamp_id=stamp_id, subnet=subnet, network_interfaces=network_interfaces) + api_version = "2018-10-31-preview" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self._create_or_update_initial.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'name': self._serialize.url("name", name, 'str', pattern=r'^[a-zA-Z0-9-]{3,24}$'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_parameters, 'DedicatedHsm') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.DedicatedHsmError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('DedicatedHsm', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('DedicatedHsm', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/{name}'} + + def begin_create_or_update( + self, + resource_group_name, # type: str + name, # type: str + location, # type: str + sku=None, # type: Optional["models.Sku"] + zones=None, # type: Optional[List[str]] + tags=None, # type: Optional[Dict[str, str]] + stamp_id=None, # type: Optional[str] + subnet=None, # type: Optional["models.ApiEntityReference"] + network_interfaces=None, # type: Optional[List["NetworkInterface"]] + **kwargs # type: Any + ): + # type: (...) -> "models.DedicatedHsm" + """Create or Update a dedicated HSM in the specified subscription. + + :param resource_group_name: The name of the Resource Group to which the resource belongs. + :type resource_group_name: str + :param name: Name of the dedicated Hsm. + :type name: str + :param location: The supported Azure location where the dedicated HSM should be created. + :type location: str + :param sku: SKU details. + :type sku: ~azure.mgmt.hardwaresecuritymodules.models.Sku + :param zones: The Dedicated Hsm zones. + :type zones: list[str] + :param tags: Resource tags. + :type tags: dict[str, str] + :param stamp_id: This field will be used when RP does not support Availability zones. + :type stamp_id: str + :param subnet: Specifies the identifier of the subnet. + :type subnet: ~azure.mgmt.hardwaresecuritymodules.models.ApiEntityReference + :param network_interfaces: Specifies the list of resource Ids for the network interfaces + associated with the dedicated HSM. + :type network_interfaces: list[~azure.mgmt.hardwaresecuritymodules.models.NetworkInterface] + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :return: An instance of LROPoller that returns DedicatedHsm + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.hardwaresecuritymodules.models.DedicatedHsm] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.DedicatedHsm"] + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + name=name, + location=location, + sku=sku, + zones=zones, + tags=tags, + stamp_id=stamp_id, + subnet=subnet, + network_interfaces=network_interfaces, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('DedicatedHsm', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/{name}'} + + def _update_initial( + self, + resource_group_name, # type: str + name, # type: str + tags=None, # type: Optional[Dict[str, str]] + **kwargs # type: Any + ): + # type: (...) -> "models.DedicatedHsm" + cls = kwargs.pop('cls', None) # type: ClsType["models.DedicatedHsm"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _parameters = models.DedicatedHsmPatchParameters(tags=tags) + api_version = "2018-10-31-preview" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self._update_initial.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'name': self._serialize.url("name", name, 'str', pattern=r'^[a-zA-Z0-9-]{3,24}$'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_parameters, 'DedicatedHsmPatchParameters') + body_content_kwargs['content'] = body_content + request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.DedicatedHsmError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('DedicatedHsm', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/{name}'} + + def begin_update( + self, + resource_group_name, # type: str + name, # type: str + tags=None, # type: Optional[Dict[str, str]] + **kwargs # type: Any + ): + # type: (...) -> "models.DedicatedHsm" + """Update a dedicated HSM in the specified subscription. + + :param resource_group_name: The name of the Resource Group to which the server belongs. + :type resource_group_name: str + :param name: Name of the dedicated HSM. + :type name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :return: An instance of LROPoller that returns DedicatedHsm + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.hardwaresecuritymodules.models.DedicatedHsm] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.DedicatedHsm"] + raw_result = self._update_initial( + resource_group_name=resource_group_name, + name=name, + tags=tags, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('DedicatedHsm', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/{name}'} + + def _delete_initial( + self, + resource_group_name, # type: str + name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-10-31-preview" + + # Construct URL + url = self._delete_initial.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'name': self._serialize.url("name", name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.DedicatedHsmError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/{name}'} + + def begin_delete( + self, + resource_group_name, # type: str + name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + """Deletes the specified Azure Dedicated HSM. + + :param resource_group_name: The name of the Resource Group to which the dedicated HSM belongs. + :type resource_group_name: str + :param name: The name of the dedicated HSM to delete. + :type name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :return: An instance of LROPoller that returns None + :rtype: ~azure.core.polling.LROPoller[None] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + name=name, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/{name}'} + + def get( + self, + resource_group_name, # type: str + name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.DedicatedHsm" + """Gets the specified Azure dedicated HSM. + + :param resource_group_name: The name of the Resource Group to which the dedicated hsm belongs. + :type resource_group_name: str + :param name: The name of the dedicated HSM. + :type name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DedicatedHsm or the result of cls(response) + :rtype: ~azure.mgmt.hardwaresecuritymodules.models.DedicatedHsm + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.DedicatedHsm"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-10-31-preview" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'name': self._serialize.url("name", name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.DedicatedHsmError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('DedicatedHsm', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/{name}'} + + def list_by_resource_group( + self, + resource_group_name, # type: str + top=None, # type: Optional[int] + **kwargs # type: Any + ): + # type: (...) -> "models.DedicatedHsmListResult" + """The List operation gets information about the dedicated hsms associated with the subscription and within the specified resource group. + + :param resource_group_name: The name of the Resource Group to which the dedicated HSM belongs. + :type resource_group_name: str + :param top: Maximum number of results to return. + :type top: int + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DedicatedHsmListResult or the result of cls(response) + :rtype: ~azure.mgmt.hardwaresecuritymodules.models.DedicatedHsmListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.DedicatedHsmListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-10-31-preview" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + if top is not None: + query_parameters['$top'] = self._serialize.query("top", top, 'int') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('DedicatedHsmListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.DedicatedHsmError, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs'} + + def list_by_subscription( + self, + top=None, # type: Optional[int] + **kwargs # type: Any + ): + # type: (...) -> "models.DedicatedHsmListResult" + """The List operation gets information about the dedicated HSMs associated with the subscription. + + :param top: Maximum number of results to return. + :type top: int + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DedicatedHsmListResult or the result of cls(response) + :rtype: ~azure.mgmt.hardwaresecuritymodules.models.DedicatedHsmListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.DedicatedHsmListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-10-31-preview" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_subscription.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + if top is not None: + query_parameters['$top'] = self._serialize.query("top", top, 'int') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('DedicatedHsmListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.DedicatedHsmError, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_by_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs'} diff --git a/src/hardware-security-modules/azext_hardware_security_modules/vendored_sdks/hardwaresecuritymodules/py.typed b/src/hardware-security-modules/azext_hardware_security_modules/vendored_sdks/hardwaresecuritymodules/py.typed new file mode 100644 index 00000000000..e5aff4f83af --- /dev/null +++ b/src/hardware-security-modules/azext_hardware_security_modules/vendored_sdks/hardwaresecuritymodules/py.typed @@ -0,0 +1 @@ +# Marker file for PEP 561. \ No newline at end of file diff --git a/src/hardware-security-modules/report.md b/src/hardware-security-modules/report.md new file mode 100644 index 00000000000..aae7def24e8 --- /dev/null +++ b/src/hardware-security-modules/report.md @@ -0,0 +1,50 @@ +# Azure CLI Module Creation Report + +### hardwaresecuritymodules dedicated-hsm create + +create a hardwaresecuritymodules dedicated-hsm. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The name of the Resource Group to which the resource belongs.|resource_group_name| +|**--name**|string|Name of the dedicated Hsm|name| +|**--location**|string|The supported Azure location where the dedicated HSM should be created.|location| +|**--sku**|object|SKU details|sku| +|**--zones**|array|The Dedicated Hsm zones.|zones| +|**--tags**|dictionary|Resource tags|tags| +|**--stamp-id**|string|This field will be used when RP does not support Availability zones.|stamp_id| +|**--network-profile-subnet**|object|Specifies the identifier of the subnet.|subnet| +|**--network-profile-network-interfaces**|array|Specifies the list of resource Ids for the network interfaces associated with the dedicated HSM.|network_interfaces| +### hardwaresecuritymodules dedicated-hsm delete + +delete a hardwaresecuritymodules dedicated-hsm. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The name of the Resource Group to which the dedicated HSM belongs.|resource_group_name| +|**--name**|string|The name of the dedicated HSM to delete|name| +### hardwaresecuritymodules dedicated-hsm list + +list a hardwaresecuritymodules dedicated-hsm. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The name of the Resource Group to which the dedicated HSM belongs.|resource_group_name| +|**--top**|integer|Maximum number of results to return.|top| +### hardwaresecuritymodules dedicated-hsm show + +show a hardwaresecuritymodules dedicated-hsm. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The name of the Resource Group to which the dedicated hsm belongs.|resource_group_name| +|**--name**|string|The name of the dedicated HSM.|name| +### hardwaresecuritymodules dedicated-hsm update + +update a hardwaresecuritymodules dedicated-hsm. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The name of the Resource Group to which the server belongs.|resource_group_name| +|**--name**|string|Name of the dedicated HSM|name| +|**--tags**|dictionary|Resource tags|tags| \ No newline at end of file diff --git a/src/hardware-security-modules/setup.cfg b/src/hardware-security-modules/setup.cfg new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/hardware-security-modules/setup.py b/src/hardware-security-modules/setup.py new file mode 100644 index 00000000000..9dc91de47ee --- /dev/null +++ b/src/hardware-security-modules/setup.py @@ -0,0 +1,53 @@ +#!/usr/bin/env python + +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + + +from codecs import open +from setuptools import setup, find_packages + +# TODO: Confirm this is the right version number you want and it matches your +# HISTORY.rst entry. +VERSION = '0.1.0' + +# The full list of classifiers is available at +# https://pypi.python.org/pypi?%3Aaction=list_classifiers +CLASSIFIERS = [ + 'Development Status :: 4 - Beta', + 'Intended Audience :: Developers', + 'Intended Audience :: System Administrators', + 'Programming Language :: Python', + 'Programming Language :: Python :: 3', + 'Programming Language :: Python :: 3.6', + 'Programming Language :: Python :: 3.7', + 'Programming Language :: Python :: 3.8', + 'License :: OSI Approved :: MIT License', +] + +# TODO: Add any additional SDK dependencies here +DEPENDENCIES = [] + +with open('README.md', 'r', encoding='utf-8') as f: + README = f.read() +with open('HISTORY.rst', 'r', encoding='utf-8') as f: + HISTORY = f.read() + +setup( + name='hardware-security-modules', + version=VERSION, + description='Microsoft Azure Command-Line Tools AzureDedicatedHSMResourceProvider Extension', + # TODO: Update author and email, if applicable + author='Microsoft Corporation', + author_email='azpycli@microsoft.com', + # TODO: consider pointing directly to your source code instead of the generic repo + url='https://github.com/Azure/azure-cli-extensions', + long_description=README + '\n\n' + HISTORY, + license='MIT', + classifiers=CLASSIFIERS, + packages=find_packages(), + install_requires=DEPENDENCIES, + package_data={'azext_hardware_security_modules': ['azext_metadata.json']}, +) diff --git a/src/healthcareapis/HISTORY.rst b/src/healthcareapis/HISTORY.rst index 418dffb0c2c..5c1f93ba5fa 100644 --- a/src/healthcareapis/HISTORY.rst +++ b/src/healthcareapis/HISTORY.rst @@ -3,6 +3,11 @@ Release History =============== +0.2.0 ++++++ + +* Add support for managed identity and setting the export storage account + 0.1.3 +++++ diff --git a/src/healthcareapis/README.md b/src/healthcareapis/README.md new file mode 100644 index 00000000000..3edb4dcb7d1 --- /dev/null +++ b/src/healthcareapis/README.md @@ -0,0 +1,5 @@ +Microsoft Azure CLI 'healthcareapis' Extension +========================================== + +This package is for the 'healthcareapis' extension. +i.e. 'az healthcareapis' diff --git a/src/healthcareapis/README.rst b/src/healthcareapis/README.rst deleted file mode 100644 index cefd12f33ff..00000000000 --- a/src/healthcareapis/README.rst +++ /dev/null @@ -1,5 +0,0 @@ -Microsoft Azure CLI 'healthcareapis' Extension -========================================== - -This package is for the 'healthcareapis' extension. -i.e. 'az healthcareapis' \ No newline at end of file diff --git a/src/healthcareapis/azext_healthcareapis/__init__.py b/src/healthcareapis/azext_healthcareapis/__init__.py index 5f0f2b13a53..2a0f465bac9 100644 --- a/src/healthcareapis/azext_healthcareapis/__init__.py +++ b/src/healthcareapis/azext_healthcareapis/__init__.py @@ -1,32 +1,46 @@ -# -------------------------------------------------------------------------------------------- +# -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# -------------------------------------------------------------------------------------------- +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- from azure.cli.core import AzCommandsLoader +from azext_healthcareapis.generated._help import helps # pylint: disable=unused-import -from azext_healthcareapis._help import helps # pylint: disable=unused-import - -class HealthcareCommandsLoader(AzCommandsLoader): +class HealthcareApisManagementClientCommandsLoader(AzCommandsLoader): def __init__(self, cli_ctx=None): from azure.cli.core.commands import CliCommandType - from azext_healthcareapis._client_factory import cf_healthcareapis + from azext_healthcareapis.generated._client_factory import cf_healthcareapis healthcareapis_custom = CliCommandType( operations_tmpl='azext_healthcareapis.custom#{}', client_factory=cf_healthcareapis) - super(HealthcareCommandsLoader, self).__init__(cli_ctx=cli_ctx, - custom_command_type=healthcareapis_custom) + super(HealthcareApisManagementClientCommandsLoader, self).__init__(cli_ctx=cli_ctx, + custom_command_type=healthcareapis_custom) def load_command_table(self, args): - from azext_healthcareapis.commands import load_command_table + from azext_healthcareapis.generated.commands import load_command_table load_command_table(self, args) + try: + from azext_healthcareapis.manual.commands import load_command_table as load_command_table_manual + load_command_table_manual(self, args) + except ImportError: + pass return self.command_table def load_arguments(self, command): - from azext_healthcareapis._params import load_arguments + from azext_healthcareapis.generated._params import load_arguments load_arguments(self, command) + try: + from azext_healthcareapis.manual._params import load_arguments as load_arguments_manual + load_arguments_manual(self, command) + except ImportError: + pass -COMMAND_LOADER_CLS = HealthcareCommandsLoader +COMMAND_LOADER_CLS = HealthcareApisManagementClientCommandsLoader diff --git a/src/healthcareapis/azext_healthcareapis/_client_factory.py b/src/healthcareapis/azext_healthcareapis/_client_factory.py deleted file mode 100644 index 5a5143d1754..00000000000 --- a/src/healthcareapis/azext_healthcareapis/_client_factory.py +++ /dev/null @@ -1,14 +0,0 @@ -# -------------------------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# -------------------------------------------------------------------------------------------- - - -def cf_healthcareapis(cli_ctx, *_): - from azure.cli.core.commands.client_factory import get_mgmt_service_client - from .vendored_sdks.healthcareapis import HealthcareApisManagementClient - return get_mgmt_service_client(cli_ctx, HealthcareApisManagementClient) - - -def cf_services(cli_ctx, *_): - return cf_healthcareapis(cli_ctx).services diff --git a/src/healthcareapis/azext_healthcareapis/_help.py b/src/healthcareapis/azext_healthcareapis/_help.py deleted file mode 100644 index 3b7b3034f2b..00000000000 --- a/src/healthcareapis/azext_healthcareapis/_help.py +++ /dev/null @@ -1,87 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# -------------------------------------------------------------------------------------------- - -# pylint: disable=too-many-lines -# pylint: disable=line-too-long -from knack.help_files import helps # pylint: disable=unused-import - - -helps['healthcareapis'] = """ - type: group - short-summary: Commands to manage service. -""" - -helps['healthcareapis create'] = """ - type: command - short-summary: Create service instance. - examples: - - name: Create a service with all parameters - text: |- - az healthcareapis create --resource-group "rg1" --name "service1" --kind "fhir-R4" \\ - --location "westus2" --access-policies-object-id \\ - "c487e7d1-3210-41a3-8ccc-e9372b78da47,5b307da8-43d4-492b-8b66-b0294ade872f" \\ - --cosmos-db-offer-throughput "1000" --authentication-authority \\ - "https://login.microsoftonline.com/abfde7b2-df0f-47e6-aabf-2462b07508dc" \\ - --authentication-audience "https://azurehealthcareapis.com" \\ - --authentication-smart-proxy-enabled true --cors-origins "*" --cors-headers "*" \\ - --cors-methods "DELETE,GET,OPTIONS,PATCH,POST,PUT" --cors-max-age "1440" \\ - --cors-allow-credentials false - - name: Create a service with minimum parameters - text: |- - az healthcareapis create --resource-group "rg1" --name "service2" --kind "fhir-R4" \\ - --location "westus2" --access-policies-object-id "c487e7d1-3210-41a3-8ccc-e9372b78da47" -""" - -helps['healthcareapis update'] = """ - type: command - short-summary: Update service instance. - examples: - - name: Update a service with all parameters - text: |- - az healthcareapis update --resource-group "rg1" --name "service1" --kind "fhir-R4" \\ - --location "westus2" --access-policies-object-id \\ - "c487e7d1-3210-41a3-8ccc-e9372b78da47,5b307da8-43d4-492b-8b66-b0294ade872f" \\ - --cosmos-db-offer-throughput "1000" --authentication-authority \\ - "https://login.microsoftonline.com/abfde7b2-df0f-47e6-aabf-2462b07508dc" \\ - --authentication-audience "https://azurehealthcareapis.com" \\ - --authentication-smart-proxy-enabled true --cors-origins "*" --cors-headers "*" \\ - --cors-methods "DELETE,GET,OPTIONS,PATCH,POST,PUT" --cors-max-age "1440" \\ - --cors-allow-credentials false - - name: Update a service with minimum parameters - text: |- - az healthcareapis update --resource-group "rg1" --name "service2" --kind "fhir-R4" \\ - --location "westus2" --access-policies-object-id c487e7d1-3210-41a3-8ccc-e9372b78da47 -""" - -helps['healthcareapis delete'] = """ - type: command - short-summary: delete service. - examples: - - name: Delete service instance. - text: |- - az healthcareapis delete --resource-group "rg1" --name "service1" -""" - -helps['healthcareapis list'] = """ - type: command - short-summary: List service instances. - examples: - - name: List all servics in subscription - text: |- - az healthcareapis list - - name: List all servics in resource group - text: |- - az healthcareapis list --resource-group "rg1" -""" - -helps['healthcareapis show'] = """ - type: command - short-summary: Show service instance. - examples: - - name: Show selected service - text: |- - az healthcareapis show --resource-group "rg1" --name "service1" -""" diff --git a/src/healthcareapis/azext_healthcareapis/_params.py b/src/healthcareapis/azext_healthcareapis/_params.py deleted file mode 100644 index 5eef1077c1c..00000000000 --- a/src/healthcareapis/azext_healthcareapis/_params.py +++ /dev/null @@ -1,64 +0,0 @@ -# -------------------------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# -------------------------------------------------------------------------------------------- -# pylint: disable=line-too-long -# pylint: disable=too-many-lines -# pylint: disable=too-many-statements - -from azure.cli.core.commands.parameters import ( - tags_type, - get_three_state_flag, - get_enum_type, - resource_group_name_type, - get_location_type -) - - -def load_arguments(self, _): - with self.argument_context('healthcareapis create') as c: - c.argument('resource_group', resource_group_name_type) - c.argument('name', id_part=None, help='The name of the service instance.') - c.argument('kind', arg_type=get_enum_type(['fhir', 'fhir-Stu3', 'fhir-R4']), id_part=None, help='The kind of the service.') - c.argument('location', arg_type=get_location_type(self.cli_ctx)) - c.argument('tags', tags_type) - c.argument('etag', id_part=None, help='An etag associated with the resource, used for optimistic concurrency when editing it.') - c.argument('access_policies_object_id', id_part=None, help='An Azure AD object ID (User or Apps) that is allowed access to the FHIR service.') - c.argument('cosmos_db_offer_throughput', id_part=None, help='The provisioned throughput for the backing database.') - c.argument('authentication_authority', id_part=None, help='The authority url for the service') - c.argument('authentication_audience', id_part=None, help='The audience url for the service') - c.argument('authentication_smart_proxy_enabled', arg_type=get_three_state_flag(), id_part=None, help='If the SMART on FHIR proxy is enabled') - c.argument('cors_origins', id_part=None, help='The origins to be allowed via CORS.') - c.argument('cors_headers', id_part=None, help='The headers to be allowed via CORS.') - c.argument('cors_methods', id_part=None, help='The methods to be allowed via CORS.') - c.argument('cors_max_age', id_part=None, help='The max age to be allowed via CORS.') - c.argument('cors_allow_credentials', arg_type=get_three_state_flag(), id_part=None, help='If credentials are allowed via CORS.') - - with self.argument_context('healthcareapis update') as c: - c.argument('resource_group', resource_group_name_type) - c.argument('name', id_part=None, help='The name of the service instance.') - c.argument('kind', arg_type=get_enum_type(['fhir', 'fhir-Stu3', 'fhir-R4']), id_part=None, help='The kind of the service.') - c.argument('location', arg_type=get_location_type(self.cli_ctx)) - c.argument('tags', tags_type) - c.argument('etag', id_part=None, help='An etag associated with the resource, used for optimistic concurrency when editing it.') - c.argument('access_policies_object_id', id_part=None, help='An Azure AD object ID (User or Apps) that is allowed access to the FHIR service.') - c.argument('cosmos_db_offer_throughput', id_part=None, help='The provisioned throughput for the backing database.') - c.argument('authentication_authority', id_part=None, help='The authority url for the service') - c.argument('authentication_audience', id_part=None, help='The audience url for the service') - c.argument('authentication_smart_proxy_enabled', arg_type=get_three_state_flag(), id_part=None, help='If the SMART on FHIR proxy is enabled') - c.argument('cors_origins', id_part=None, help='The origins to be allowed via CORS.') - c.argument('cors_headers', id_part=None, help='The headers to be allowed via CORS.') - c.argument('cors_methods', id_part=None, help='The methods to be allowed via CORS.') - c.argument('cors_max_age', id_part=None, help='The max age to be allowed via CORS.') - c.argument('cors_allow_credentials', arg_type=get_three_state_flag(), id_part=None, help='If credentials are allowed via CORS.') - - with self.argument_context('healthcareapis delete') as c: - c.argument('resource_group', resource_group_name_type) - c.argument('name', id_part=None, help='The name of the service instance.') - - with self.argument_context('healthcareapis list') as c: - c.argument('resource_group', resource_group_name_type) - - with self.argument_context('healthcareapis show') as c: - c.argument('resource_group', resource_group_name_type) - c.argument('name', id_part=None, help='The name of the service instance.') diff --git a/src/healthcareapis/azext_healthcareapis/_validators.py b/src/healthcareapis/azext_healthcareapis/_validators.py deleted file mode 100644 index 01e8fe71d5a..00000000000 --- a/src/healthcareapis/azext_healthcareapis/_validators.py +++ /dev/null @@ -1,18 +0,0 @@ -# -------------------------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# -------------------------------------------------------------------------------------------- - - -def example_name_or_id_validator(cmd, namespace): - from azure.cli.core.commands.client_factory import get_subscription_id - from msrestazure.tools import is_valid_resource_id, resource_id - if namespace.storage_account: - if not is_valid_resource_id(namespace.RESOURCE): - namespace.storage_account = resource_id( - subscription=get_subscription_id(cmd.cli_ctx), - resource_group=namespace.resource_group_name, - namespace='Microsoft.Storage', - type='storageAccounts', - name=namespace.storage_account - ) diff --git a/src/healthcareapis/azext_healthcareapis/action.py b/src/healthcareapis/azext_healthcareapis/action.py new file mode 100644 index 00000000000..d95d53bf711 --- /dev/null +++ b/src/healthcareapis/azext_healthcareapis/action.py @@ -0,0 +1,17 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +# pylint: disable=wildcard-import +# pylint: disable=unused-wildcard-import + +from .generated.action import * # noqa: F403 +try: + from .manual.action import * # noqa: F403 +except ImportError: + pass diff --git a/src/healthcareapis/azext_healthcareapis/azext_metadata.json b/src/healthcareapis/azext_healthcareapis/azext_metadata.json index a954c850c3b..587a1ed232f 100644 --- a/src/healthcareapis/azext_healthcareapis/azext_metadata.json +++ b/src/healthcareapis/azext_healthcareapis/azext_metadata.json @@ -1,3 +1,3 @@ { - "azext.minCliCoreVersion": "2.0.67" + "azext.minCliCoreVersion": "2.3.1" } \ No newline at end of file diff --git a/src/healthcareapis/azext_healthcareapis/commands.py b/src/healthcareapis/azext_healthcareapis/commands.py deleted file mode 100644 index 793b380e5fe..00000000000 --- a/src/healthcareapis/azext_healthcareapis/commands.py +++ /dev/null @@ -1,24 +0,0 @@ -# -------------------------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# -------------------------------------------------------------------------------------------- - -# pylint: disable=line-too-long -# pylint: disable=too-many-lines -# pylint: disable=too-many-statements -# pylint: disable=too-many-locals -from azure.cli.core.commands import CliCommandType - - -def load_command_table(self, _): - - from ._client_factory import cf_services - healthcareapis_services = CliCommandType( - operations_tmpl='azext_healthcare.vendored_sdks.healthcareapis.operations._services_operations#ServicesOperations.{}', - client_factory=cf_services) - with self.command_group('healthcareapis', healthcareapis_services, client_factory=cf_services) as g: - g.custom_command('create', 'create_healthcareapis') - g.custom_command('update', 'update_healthcareapis') - g.custom_command('delete', 'delete_healthcareapis') - g.custom_command('list', 'list_healthcareapis') - g.custom_command('show', 'show_healthcareapis') diff --git a/src/healthcareapis/azext_healthcareapis/custom.py b/src/healthcareapis/azext_healthcareapis/custom.py index cb35da47645..dbe9d5f9742 100644 --- a/src/healthcareapis/azext_healthcareapis/custom.py +++ b/src/healthcareapis/azext_healthcareapis/custom.py @@ -1,119 +1,17 @@ -# -------------------------------------------------------------------------------------------- +# -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# -------------------------------------------------------------------------------------------- -# pylint: disable=line-too-long -# pylint: disable=too-many-statements -# pylint: disable=too-many-lines -# pylint: disable=too-many-locals -# pylint: disable=unused-argument - - -def create_healthcareapis(cmd, client, - resource_group, - name, - kind, - location, - access_policies_object_id, - tags=None, - etag=None, - cosmos_db_offer_throughput=None, - authentication_authority=None, - authentication_audience=None, - authentication_smart_proxy_enabled=None, - cors_origins=None, - cors_headers=None, - cors_methods=None, - cors_max_age=None, - cors_allow_credentials=None): - - service_description = {} - service_description['location'] = location - service_description['kind'] = kind - service_description['properties'] = {} - service_description['properties']['access_policies'] = [] - for policy in access_policies_object_id.split(','): - service_description['properties']['access_policies'].append({'object_id': policy}) - service_description['properties']['cors_configuration'] = {} - service_description['properties']['cors_configuration']['origins'] = None if cors_origins is None else cors_origins.split(',') - service_description['properties']['cors_configuration']['headers'] = None if cors_headers is None else cors_headers.split(',') - service_description['properties']['cors_configuration']['methods'] = None if cors_methods is None else cors_methods.split(',') - service_description['properties']['cors_configuration']['max_age'] = cors_max_age - service_description['properties']['cors_configuration']['allow_credentials'] = cors_allow_credentials - service_description['properties']['cosmos_db_configuration'] = {} - service_description['properties']['cosmos_db_configuration']['offer_throughput'] = cosmos_db_offer_throughput - service_description['properties']['authentication_configuration'] = {} - service_description['properties']['authentication_configuration']['authority'] = authentication_authority - service_description['properties']['authentication_configuration']['audience'] = authentication_audience - service_description['properties']['authentication_configuration']['smart_proxy_enabled'] = authentication_smart_proxy_enabled - - return client.create_or_update(resource_group_name=resource_group, resource_name=name, service_description=service_description) - - -def update_healthcareapis(cmd, client, - resource_group, - name, - kind=None, - location=None, - access_policies_object_id=None, - tags=None, - etag=None, - cosmos_db_offer_throughput=None, - authentication_authority=None, - authentication_audience=None, - authentication_smart_proxy_enabled=None, - cors_origins=None, - cors_headers=None, - cors_methods=None, - cors_max_age=None, - cors_allow_credentials=None): - service_description = client.get(resource_group_name=resource_group, resource_name=name).as_dict() - if location is not None: - service_description['location'] = location - if kind is not None: - service_description['kind'] = kind - if access_policies_object_id is not None: - service_description['properties']['access_policies'] = [] - for policy in access_policies_object_id.split(','): - service_description['properties']['access_policies'].append({'object_id': policy}) - service_description['properties'].setdefault('cors_configuration', {}) - if cors_origins is not None: - service_description['properties']['cors_configuration']['origins'] = None if cors_origins is None else cors_origins.split(',') - if cors_headers is not None: - service_description['properties']['cors_configuration']['headers'] = None if cors_headers is None else cors_headers.split(',') - if cors_methods is not None: - service_description['properties']['cors_configuration']['methods'] = None if cors_methods is None else cors_methods.split(',') - if cors_max_age is not None: - service_description['properties']['cors_configuration']['max_age'] = cors_max_age - if cors_allow_credentials is not None: - service_description['properties']['cors_configuration']['allow_credentials'] = cors_allow_credentials - service_description['properties'].setdefault('cosmod_db_configuration', {}) - if cosmos_db_offer_throughput is not None: - service_description['properties']['cosmos_db_configuration']['offer_throughput'] = cosmos_db_offer_throughput - service_description['properties'].setdefault('authentication_configuration', {}) - if authentication_authority is not None: - service_description['properties']['authentication_configuration']['authority'] = authentication_authority - if authentication_audience is not None: - service_description['properties']['authentication_configuration']['audience'] = authentication_audience - if authentication_smart_proxy_enabled is not None: - service_description['properties']['authentication_configuration']['smart_proxy_enabled'] = authentication_smart_proxy_enabled - return client.create_or_update(resource_group_name=resource_group, resource_name=name, service_description=service_description) - - -def list_healthcareapis(cmd, client, - resource_group=None): - if resource_group is not None: - return client.list_by_resource_group(resource_group_name=resource_group) - return client.list() - - -def show_healthcareapis(cmd, client, - resource_group, - name): - return client.get(resource_group_name=resource_group, resource_name=name) - - -def delete_healthcareapis(cmd, client, - resource_group, - name): - return client.delete(resource_group_name=resource_group, resource_name=name) +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +# pylint: disable=wildcard-import +# pylint: disable=unused-wildcard-import + +from .generated.custom import * # noqa: F403 +try: + from .manual.custom import * # noqa: F403 +except ImportError: + pass diff --git a/src/healthcareapis/azext_healthcareapis/generated/__init__.py b/src/healthcareapis/azext_healthcareapis/generated/__init__.py new file mode 100644 index 00000000000..c9cfdc73e77 --- /dev/null +++ b/src/healthcareapis/azext_healthcareapis/generated/__init__.py @@ -0,0 +1,12 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +__path__ = __import__('pkgutil').extend_path(__path__, __name__) diff --git a/src/healthcareapis/azext_healthcareapis/generated/_client_factory.py b/src/healthcareapis/azext_healthcareapis/generated/_client_factory.py new file mode 100644 index 00000000000..7a52e793cc7 --- /dev/null +++ b/src/healthcareapis/azext_healthcareapis/generated/_client_factory.py @@ -0,0 +1,23 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + + +def cf_healthcareapis(cli_ctx, *_): + from azure.cli.core.commands.client_factory import get_mgmt_service_client + from ..vendored_sdks.healthcareapis import HealthcareApisManagementClient + return get_mgmt_service_client(cli_ctx, HealthcareApisManagementClient) + + +def cf_service(cli_ctx, *_): + return cf_healthcareapis(cli_ctx).service + + +def cf_operation_result(cli_ctx, *_): + return cf_healthcareapis(cli_ctx).operation_result diff --git a/src/healthcareapis/azext_healthcareapis/generated/_help.py b/src/healthcareapis/azext_healthcareapis/generated/_help.py new file mode 100644 index 00000000000..6683e4151be --- /dev/null +++ b/src/healthcareapis/azext_healthcareapis/generated/_help.py @@ -0,0 +1,89 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +# pylint: disable=too-many-lines + +from knack.help_files import helps + + +helps['healthcareapis service'] = """ + type: group + short-summary: healthcareapis service +""" + +helps['healthcareapis service list'] = """ + type: command + short-summary: Get all the service instances in a subscription. + examples: + - name: List all services in resource group + text: |- + az healthcareapis service list --resource-group "rgname" +""" + +helps['healthcareapis service show'] = """ + type: command + short-summary: Get the metadata of a service instance. + examples: + - name: Get metadata + text: |- + az healthcareapis service show --resource-group "rg1" --resource-name "service1" +""" + +helps['healthcareapis service create'] = """ + type: command + short-summary: Create or update the metadata of a service instance. + examples: + - name: Create or Update a service with all parameters + text: |- + az healthcareapis service create --resource-group "rg1" --resource-name "service1" --identity type="Syst\ +emAssigned" --kind "fhir-R4" --location "westus2" --properties "{\\"accessPolicies\\":[{\\"objectId\\":\\"c487e7d1-3210\ +-41a3-8ccc-e9372b78da47\\"},{\\"objectId\\":\\"5b307da8-43d4-492b-8b66-b0294ade872f\\"}],\\"authenticationConfiguration\ +\\":{\\"audience\\":\\"https://azurehealthcareapis.com\\",\\"authority\\":\\"https://login.microsoftonline.com/abfde7b2\ +-df0f-47e6-aabf-2462b07508dc\\",\\"smartProxyEnabled\\":true},\\"corsConfiguration\\":{\\"allowCredentials\\":false,\\"\ +headers\\":[\\"*\\"],\\"maxAge\\":1440,\\"methods\\":[\\"DELETE\\",\\"GET\\",\\"OPTIONS\\",\\"PATCH\\",\\"POST\\",\\"PU\ +T\\"],\\"origins\\":[\\"*\\"]},\\"cosmosDbConfiguration\\":{\\"offerThroughput\\":1000},\\"exportConfiguration\\":{\\"s\ +torageAccountName\\":\\"existingStorageAccount\\"}}" + - name: Create or Update a service with minimum parameters + text: |- + az healthcareapis service create --resource-group "rg1" --resource-name "service2" --kind "fhir-R4" --lo\ +cation "westus2" --properties "{\\"accessPolicies\\":[{\\"objectId\\":\\"c487e7d1-3210-41a3-8ccc-e9372b78da47\\"}]}" +""" + +helps['healthcareapis service update'] = """ + type: command + short-summary: Update the metadata of a service instance. + examples: + - name: Patch service + text: |- + az healthcareapis service update --resource-group "rg1" --resource-name "service1" --tags tag1="value1" \ +tag2="value2" +""" + +helps['healthcareapis service delete'] = """ + type: command + short-summary: Delete a service instance. + examples: + - name: Delete service + text: |- + az healthcareapis service delete --resource-group "rg1" --resource-name "service1" +""" + +helps['healthcareapis operation-result'] = """ + type: group + short-summary: healthcareapis operation-result +""" + +helps['healthcareapis operation-result show'] = """ + type: command + short-summary: Get the operation result for a long running operation. + examples: + - name: Get operation result + text: |- + az healthcareapis operation-result show --location-name "westus" --operation-result-id "exampleid" +""" diff --git a/src/healthcareapis/azext_healthcareapis/generated/_params.py b/src/healthcareapis/azext_healthcareapis/generated/_params.py new file mode 100644 index 00000000000..dbda803c0a9 --- /dev/null +++ b/src/healthcareapis/azext_healthcareapis/generated/_params.py @@ -0,0 +1,58 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +# pylint: disable=too-many-lines +# pylint: disable=too-many-statements + +from knack.arguments import CLIArgumentType +from azure.cli.core.commands.parameters import ( + tags_type, + get_enum_type, + resource_group_name_type, + get_location_type +) +from azure.cli.core.commands.validators import get_default_location_from_resource_group +from azext_healthcareapis.action import AddIdentity + + +def load_arguments(self, _): + + with self.argument_context('healthcareapis service list') as c: + c.argument('resource_group_name', resource_group_name_type) + + with self.argument_context('healthcareapis service show') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('resource_name', help='The name of the service instance.') + + with self.argument_context('healthcareapis service create') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('resource_name', help='The name of the service instance.') + c.argument('kind', arg_type=get_enum_type(['fhir', 'fhir-Stu3', 'fhir-R4']), help='The kind of the service.') + c.argument('location', arg_type=get_location_type(self.cli_ctx), + validator=get_default_location_from_resource_group) + c.argument('tags', tags_type) + c.argument('etag', help='An etag associated with the resource, used for optimistic concurrency when editing it.' + '') + c.argument('identity', action=AddIdentity, nargs='+', help='Setting indicating whether the service has a manage' + 'd identity associated with it. Expect value: type=xx.') + c.argument('properties', arg_type=CLIArgumentType(options_list=['--properties'], help='The common properties of' + ' a service. Expected value: json-string/@json-file.')) + + with self.argument_context('healthcareapis service update') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('resource_name', help='The name of the service instance.') + c.argument('tags', tags_type) + + with self.argument_context('healthcareapis service delete') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('resource_name', help='The name of the service instance.') + + with self.argument_context('healthcareapis operation-result show') as c: + c.argument('location_name', help='The location of the operation.') + c.argument('operation_result_id', help='The ID of the operation result to get.') diff --git a/src/healthcareapis/azext_healthcareapis/generated/_validators.py b/src/healthcareapis/azext_healthcareapis/generated/_validators.py new file mode 100644 index 00000000000..bf200f564a9 --- /dev/null +++ b/src/healthcareapis/azext_healthcareapis/generated/_validators.py @@ -0,0 +1,23 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + + +def example_name_or_id_validator(cmd, namespace): + from azure.cli.core.commands.client_factory import get_subscription_id + from msrestazure.tools import is_valid_resource_id, resource_id + if namespace.storage_account: + if not is_valid_resource_id(namespace.RESOURCE): + namespace.storage_account = resource_id( + subscription=get_subscription_id(cmd.cli_ctx), + resource_group=namespace.resource_group_name, + namespace='Microsoft.Storage', + type='storageAccounts', + name=namespace.storage_account + ) diff --git a/src/healthcareapis/azext_healthcareapis/generated/action.py b/src/healthcareapis/azext_healthcareapis/generated/action.py new file mode 100644 index 00000000000..9743afa2840 --- /dev/null +++ b/src/healthcareapis/azext_healthcareapis/generated/action.py @@ -0,0 +1,36 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +# pylint: disable=protected-access + +import argparse +from knack.util import CLIError +from collections import defaultdict + + +class AddIdentity(argparse.Action): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + namespace.identity = action + + def get_action(self, values, option_string): # pylint: disable=no-self-use + try: + properties = defaultdict(list) + for (k, v) in (x.split('=', 1) for x in values): + properties[k].append(v) + properties = dict(properties) + except ValueError: + raise CLIError('usage error: {} [KEY=VALUE ...]'.format(option_string)) + d = {} + for k in properties: + kl = k.lower() + v = properties[k] + if kl == 'type': + d['type'] = v[0] + return d diff --git a/src/healthcareapis/azext_healthcareapis/generated/commands.py b/src/healthcareapis/azext_healthcareapis/generated/commands.py new file mode 100644 index 00000000000..d9f9124b314 --- /dev/null +++ b/src/healthcareapis/azext_healthcareapis/generated/commands.py @@ -0,0 +1,36 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from azure.cli.core.commands import CliCommandType + + +def load_command_table(self, _): + + from azext_healthcareapis.generated._client_factory import cf_service + healthcareapis_service = CliCommandType( + operations_tmpl='azext_healthcareapis.vendored_sdks.healthcareapis.operations._service_operations#ServiceOperat' + 'ions.{}', + client_factory=cf_service) + with self.command_group('healthcareapis service', healthcareapis_service, client_factory=cf_service, + is_experimental=True) as g: + g.custom_command('list', 'healthcareapis_service_list') + g.custom_show_command('show', 'healthcareapis_service_show') + g.custom_command('create', 'healthcareapis_service_create', supports_no_wait=True) + g.custom_command('update', 'healthcareapis_service_update', supports_no_wait=True) + g.custom_command('delete', 'healthcareapis_service_delete', supports_no_wait=True) + + from azext_healthcareapis.generated._client_factory import cf_operation_result + healthcareapis_operation_result = CliCommandType( + operations_tmpl='azext_healthcareapis.vendored_sdks.healthcareapis.operations._operation_result_operations#Oper' + 'ationResultOperations.{}', + client_factory=cf_operation_result) + with self.command_group('healthcareapis operation-result', healthcareapis_operation_result, + client_factory=cf_operation_result, is_experimental=True) as g: + g.custom_show_command('show', 'healthcareapis_operation_result_show') diff --git a/src/healthcareapis/azext_healthcareapis/generated/custom.py b/src/healthcareapis/azext_healthcareapis/generated/custom.py new file mode 100644 index 00000000000..cd280fc96dc --- /dev/null +++ b/src/healthcareapis/azext_healthcareapis/generated/custom.py @@ -0,0 +1,70 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +# pylint: disable=too-many-lines, unused-argument + +import json + + +def healthcareapis_service_list(cmd, client, + resource_group_name=None): + if resource_group_name is not None: + return client.list_by_resource_group(resource_group_name=resource_group_name) + return client.list() + + +def healthcareapis_service_show(cmd, client, + resource_group_name, + resource_name): + return client.get(resource_group_name=resource_group_name, + resource_name=resource_name) + + +def healthcareapis_service_create(cmd, client, + resource_group_name, + resource_name, + kind, + location, + tags=None, + etag=None, + identity=None, + properties=None): + if isinstance(properties, str): + properties = json.loads(properties) + return client.begin_create_or_update(resource_group_name=resource_group_name, + resource_name=resource_name, + kind=kind, + location=location, + tags=tags, + etag=etag, + identity=identity, + properties=properties) + + +def healthcareapis_service_update(cmd, client, + resource_group_name, + resource_name, + tags=None): + return client.begin_update(resource_group_name=resource_group_name, + resource_name=resource_name, + tags=tags) + + +def healthcareapis_service_delete(cmd, client, + resource_group_name, + resource_name): + return client.begin_delete(resource_group_name=resource_group_name, + resource_name=resource_name) + + +def healthcareapis_operation_result_show(cmd, client, + location_name, + operation_result_id): + return client.get(location_name=location_name, + operation_result_id=operation_result_id) diff --git a/src/healthcareapis/azext_healthcareapis/manual/__init__.py b/src/healthcareapis/azext_healthcareapis/manual/__init__.py new file mode 100644 index 00000000000..c9cfdc73e77 --- /dev/null +++ b/src/healthcareapis/azext_healthcareapis/manual/__init__.py @@ -0,0 +1,12 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +__path__ = __import__('pkgutil').extend_path(__path__, __name__) diff --git a/src/healthcareapis/azext_healthcareapis/tests/__init__.py b/src/healthcareapis/azext_healthcareapis/tests/__init__.py index 99c0f28cd71..29ccafb652b 100644 --- a/src/healthcareapis/azext_healthcareapis/tests/__init__.py +++ b/src/healthcareapis/azext_healthcareapis/tests/__init__.py @@ -1,5 +1,48 @@ -# ----------------------------------------------------------------------------- +# coding=utf-8 +# -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. # Licensed under the MIT License. See License.txt in the project root for # license information. -# ----------------------------------------------------------------------------- +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +import inspect +import os + + +__path__ = __import__('pkgutil').extend_path(__path__, __name__) + + +def try_manual(func): + def import_manual_function(origin_func): + from importlib import import_module + decorated_path = inspect.getfile(origin_func) + module_path = __path__[0] + if not decorated_path.startswith(module_path): + raise Exception("Decorator can only be used in submodules!") + manual_path = os.path.join( + decorated_path[module_path.rfind(os.path.sep) + 1:]) + manual_file_path, manual_file_name = os.path.split(manual_path) + module_name, _ = os.path.splitext(manual_file_name) + manual_module = "..manual." + \ + ".".join(manual_file_path.split(os.path.sep) + [module_name, ]) + return getattr(import_module(manual_module, package=__name__), origin_func.__name__) + + def get_func_to_call(): + func_to_call = func + try: + func_to_call = import_manual_function(func) + except (ImportError, AttributeError): + pass + return func_to_call + + def wrapper(*args, **kwargs): + func_to_call = get_func_to_call() + print("running {}()...".format(func.__name__)) + return func_to_call(*args, **kwargs) + + if inspect.isclass(func): + return get_func_to_call() + return wrapper diff --git a/src/healthcareapis/azext_healthcareapis/tests/latest/__init__.py b/src/healthcareapis/azext_healthcareapis/tests/latest/__init__.py index 99c0f28cd71..c9cfdc73e77 100644 --- a/src/healthcareapis/azext_healthcareapis/tests/latest/__init__.py +++ b/src/healthcareapis/azext_healthcareapis/tests/latest/__init__.py @@ -1,5 +1,12 @@ -# ----------------------------------------------------------------------------- +# coding=utf-8 +# -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. # Licensed under the MIT License. See License.txt in the project root for # license information. -# ----------------------------------------------------------------------------- +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +__path__ = __import__('pkgutil').extend_path(__path__, __name__) diff --git a/src/healthcareapis/azext_healthcareapis/tests/latest/preparers.py b/src/healthcareapis/azext_healthcareapis/tests/latest/preparers.py new file mode 100644 index 00000000000..64e1d2ce22d --- /dev/null +++ b/src/healthcareapis/azext_healthcareapis/tests/latest/preparers.py @@ -0,0 +1,119 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import os +from datetime import datetime +from azure.cli.testsdk.exceptions import CliTestError +from azure.cli.testsdk.preparers import NoTrafficRecordingPreparer +from azure.cli.testsdk.reverse_dependency import get_dummy_cli +from azure_devtools.scenario_tests import SingleValueReplacer + + +KEY_RESOURCE_GROUP = 'rg' +KEY_VIRTUAL_NETWORK = 'vnet' +KEY_VNET_SUBNET = 'subnet' + + +class VirtualNetworkPreparer(NoTrafficRecordingPreparer, SingleValueReplacer): + def __init__(self, name_prefix='clitest.vn', + parameter_name='virtual_network', + resource_group_name=None, + resource_group_key=KEY_RESOURCE_GROUP, + dev_setting_name='AZURE_CLI_TEST_DEV_VIRTUAL_NETWORK_NAME', + random_name_length=24, key=KEY_VIRTUAL_NETWORK): + if ' ' in name_prefix: + raise CliTestError( + 'Error: Space character in name prefix \'%s\'' % name_prefix) + super(VirtualNetworkPreparer, self).__init__( + name_prefix, random_name_length) + self.cli_ctx = get_dummy_cli() + self.parameter_name = parameter_name + self.key = key + self.resource_group_name = resource_group_name + self.resource_group_key = resource_group_key + self.dev_setting_name = os.environ.get(dev_setting_name, None) + + def create_resource(self, name, **kwargs): + if self.dev_setting_name: + return {self.parameter_name: self.dev_setting_name, } + + if not self.resource_group_name: + self.resource_group_name = self.test_class_instance.kwargs.get( + self.resource_group_key) + if not self.resource_group_name: + raise CliTestError("Error: No resource group configured!") + + tags = {'product': 'azurecli', 'cause': 'automation', + 'date': datetime.utcnow().strftime('%Y-%m-%dT%H:%M:%SZ')} + if 'ENV_JOB_NAME' in os.environ: + tags['job'] = os.environ['ENV_JOB_NAME'] + tags = ' '.join(['{}={}'.format(key, value) + for key, value in tags.items()]) + template = 'az network vnet create --resource-group {} --name {} --tag ' + tags + self.live_only_execute(self.cli_ctx, template.format( + self.resource_group_name, name)) + + self.test_class_instance.kwargs[self.key] = name + return {self.parameter_name: name} + + def remove_resource(self, name, **kwargs): + # delete vnet if test is being recorded and if the vnet is not a dev rg + if not self.dev_setting_name: + self.live_only_execute( + self.cli_ctx, + 'az network vnet delete --name {} --resource-group {}'.format(name, self.resource_group_name)) + + +class VnetSubnetPreparer(NoTrafficRecordingPreparer, SingleValueReplacer): + + # pylint: disable=too-many-instance-attributes + def __init__(self, name_prefix='clitest.vn', + parameter_name='subnet', + resource_group_name=None, + resource_group_key=KEY_RESOURCE_GROUP, + vnet_name=None, + vnet_key=KEY_VIRTUAL_NETWORK, + address_prefixes="11.0.0.0/24", + dev_setting_name='AZURE_CLI_TEST_DEV_VNET_SUBNET_NAME', + random_name_length=24, key=KEY_VNET_SUBNET): + if ' ' in name_prefix: + raise CliTestError( + 'Error: Space character in name prefix \'%s\'' % name_prefix) + super(VnetSubnetPreparer, self).__init__( + name_prefix, random_name_length) + self.cli_ctx = get_dummy_cli() + self.parameter_name = parameter_name + self.key = key + self.resource_group_name = resource_group_name + self.resource_group_key = resource_group_key + self.vnet_name = vnet_name + self.vnet_key = vnet_key + self.address_prefixes = address_prefixes + self.dev_setting_name = os.environ.get(dev_setting_name, None) + + def create_resource(self, name, **kwargs): + if self.dev_setting_name: + return {self.parameter_name: self.dev_setting_name, } + + if not self.resource_group_name: + self.resource_group_name = self.test_class_instance.kwargs.get( + self.resource_group_key) + if not self.resource_group_name: + raise CliTestError("Error: No resource group configured!") + if not self.vnet_name: + self.vnet_name = self.test_class_instance.kwargs.get(self.vnet_key) + if not self.vnet_name: + raise CliTestError("Error: No vnet configured!") + + self.test_class_instance.kwargs[self.key] = 'default' + return {self.parameter_name: name} + + def remove_resource(self, name, **kwargs): + pass diff --git a/src/healthcareapis/azext_healthcareapis/tests/latest/test_healthcareapis_scenario.py b/src/healthcareapis/azext_healthcareapis/tests/latest/test_healthcareapis_scenario.py index c3017188073..c9c3eca7342 100644 --- a/src/healthcareapis/azext_healthcareapis/tests/latest/test_healthcareapis_scenario.py +++ b/src/healthcareapis/azext_healthcareapis/tests/latest/test_healthcareapis_scenario.py @@ -1,66 +1,115 @@ -# -------------------------------------------------------------------------------------------- +# -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# -------------------------------------------------------------------------------------------- +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- import os import unittest from azure_devtools.scenario_tests import AllowLargeResponse -from azure.cli.testsdk import (ScenarioTest, ResourceGroupPreparer) +from azure.cli.testsdk import ScenarioTest +from .. import try_manual TEST_DIR = os.path.abspath(os.path.join(os.path.abspath(__file__), '..')) -class HealthcareApisScenarioTest(ScenarioTest): - - @ResourceGroupPreparer(name_prefix='cli_test_healthcareapis') - def test_healthcareapis(self, resource_group): - - self.cmd('az healthcareapis create ' - '--resource-group {rg} ' - '--name hcservicernd652 ' - '--kind "fhir-R4" ' - '--location "westus2" ' - '--access-policies-object-id "c487e7d1-3210-41a3-8ccc-e9372b78da47,5b307da8-43d4-492b-8b66-b0294ade872f" ' - '--cosmos-db-offer-throughput "1000" ' - '--authentication-authority "https://login.microsoftonline.com/abfde7b2-df0f-47e6-aabf-2462b07508dc" ' - '--authentication-audience "https://azurehealthcareapis.com" ' - '--authentication-smart-proxy-enabled true ' - '--cors-origins "*" ' - '--cors-headers "*" ' - '--cors-methods "DELETE,GET,OPTIONS,PATCH,POST,PUT" ' - '--cors-max-age "1440" ' - '--cors-allow-credentials false', - checks=[]) - - self.cmd('az healthcareapis delete ' - '--resource-group {rg} ' - '--name hcservicernd652', - checks=[]) - - self.cmd('az healthcareapis create ' - '--resource-group {rg} ' - '--name hcservicernd653 ' - '--kind "fhir-R4" ' - '--location "westus2" ' - '--access-policies-object-id "c487e7d1-3210-41a3-8ccc-e9372b78da47"', - checks=[]) - - self.cmd('az healthcareapis show ' - '--resource-group {rg} ' - '--name hcservicernd653', - checks=[]) - - self.cmd('az healthcareapis list', - checks=[]) - - self.cmd('az healthcareapis list ' - '--resource-group {rg}', - checks=[]) - - self.cmd('az healthcareapis delete ' - '--resource-group {rg} ' - '--name hcservicernd653', - checks=[]) +@try_manual +def setup(test): + pass + + +# EXAMPLE: ServicePut +@try_manual +def step_serviceput(test): + # EXAMPLE NOT FOUND! + pass + + +# EXAMPLE: OperationResultsGet +@try_manual +def step_operationresultsget(test): + # EXAMPLE NOT FOUND! + pass + + +# EXAMPLE: ServiceGet +@try_manual +def step_serviceget(test): + # EXAMPLE NOT FOUND! + pass + + +# EXAMPLE: ServiceListByResourceGroup +@try_manual +def step_servicelistbyresourcegroup(test): + # EXAMPLE NOT FOUND! + pass + + +# EXAMPLE: ServiceList +@try_manual +def step_servicelist(test): + # EXAMPLE NOT FOUND! + pass + + +# EXAMPLE: OperationsList +@try_manual +def step_operationslist(test): + # EXAMPLE NOT FOUND! + pass + + +# EXAMPLE: ServicePatch +@try_manual +def step_servicepatch(test): + # EXAMPLE NOT FOUND! + pass + + +# EXAMPLE: CheckNameAvailabilityPost +@try_manual +def step_checknameavailabilitypost(test): + # EXAMPLE NOT FOUND! + pass + + +# EXAMPLE: ServiceDelete +@try_manual +def step_servicedelete(test): + # EXAMPLE NOT FOUND! + pass + + +@try_manual +def cleanup(test): + pass + + +@try_manual +def call_scenario(test): + setup(test) + step_serviceput(test) + step_operationresultsget(test) + step_serviceget(test) + step_servicelistbyresourcegroup(test) + step_servicelist(test) + step_operationslist(test) + step_servicepatch(test) + step_checknameavailabilitypost(test) + step_servicedelete(test) + cleanup(test) + + +@try_manual +class HealthcareApisManagementClientScenarioTest(ScenarioTest): + + def test_healthcareapis(self): + + call_scenario(self) diff --git a/src/healthcareapis/azext_healthcareapis/vendored_sdks/__init__.py b/src/healthcareapis/azext_healthcareapis/vendored_sdks/__init__.py index 7183870ee56..c9cfdc73e77 100644 --- a/src/healthcareapis/azext_healthcareapis/vendored_sdks/__init__.py +++ b/src/healthcareapis/azext_healthcareapis/vendored_sdks/__init__.py @@ -1,6 +1,12 @@ -# -------------------------------------------------------------------------------------------- +# coding=utf-8 +# -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# -------------------------------------------------------------------------------------------- +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- -__path__ = __import__('pkgutil').extend_path(__path__, __name__) \ No newline at end of file +__path__ = __import__('pkgutil').extend_path(__path__, __name__) diff --git a/src/healthcareapis/azext_healthcareapis/vendored_sdks/healthcareapis/__init__.py b/src/healthcareapis/azext_healthcareapis/vendored_sdks/healthcareapis/__init__.py index 74676ff31aa..5c98cb194aa 100644 --- a/src/healthcareapis/azext_healthcareapis/vendored_sdks/healthcareapis/__init__.py +++ b/src/healthcareapis/azext_healthcareapis/vendored_sdks/healthcareapis/__init__.py @@ -1,19 +1,19 @@ # coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# +# Licensed under the MIT License. See License.txt in the project root for license information. # Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from ._configuration import HealthcareApisManagementClientConfiguration from ._healthcare_apis_management_client import HealthcareApisManagementClient -__all__ = ['HealthcareApisManagementClient', 'HealthcareApisManagementClientConfiguration'] - -from .version import VERSION +from ._version import VERSION __version__ = VERSION +__all__ = ['HealthcareApisManagementClient'] +try: + from .patch import patch_sdk + patch_sdk() +except ImportError: + pass diff --git a/src/healthcareapis/azext_healthcareapis/vendored_sdks/healthcareapis/_configuration.py b/src/healthcareapis/azext_healthcareapis/vendored_sdks/healthcareapis/_configuration.py index 351baa8a13f..3336c85a84f 100644 --- a/src/healthcareapis/azext_healthcareapis/vendored_sdks/healthcareapis/_configuration.py +++ b/src/healthcareapis/azext_healthcareapis/vendored_sdks/healthcareapis/_configuration.py @@ -1,48 +1,69 @@ # coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# +# Licensed under the MIT License. See License.txt in the project root for license information. # Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from msrestazure import AzureConfiguration -from .version import VERSION +from typing import TYPE_CHECKING +from azure.core.configuration import Configuration +from azure.core.pipeline import policies + +from ._version import VERSION + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any + + from azure.core.credentials import TokenCredential + + +class HealthcareApisManagementClientConfiguration(Configuration): + """Configuration for HealthcareApisManagementClient. -class HealthcareApisManagementClientConfiguration(AzureConfiguration): - """Configuration for HealthcareApisManagementClient Note that all parameters used to create this instance are saved as instance attributes. - :param credentials: Credentials needed for the client to connect to Azure. - :type credentials: :mod:`A msrestazure Credentials - object` + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials.TokenCredential :param subscription_id: The subscription identifier. :type subscription_id: str - :param str base_url: Service URL """ def __init__( - self, credentials, subscription_id, base_url=None): - - if credentials is None: - raise ValueError("Parameter 'credentials' must not be None.") + self, + credential, # type: "TokenCredential" + subscription_id, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + if credential is None: + raise ValueError("Parameter 'credential' must not be None.") if subscription_id is None: raise ValueError("Parameter 'subscription_id' must not be None.") - if not base_url: - base_url = 'https://management.azure.com' - - super(HealthcareApisManagementClientConfiguration, self).__init__(base_url) - - # Starting Autorest.Python 4.0.64, make connection pool activated by default - self.keep_alive = True + super(HealthcareApisManagementClientConfiguration, self).__init__(**kwargs) - self.add_user_agent('azure-mgmt-healthcareapis/{}'.format(VERSION)) - self.add_user_agent('Azure-SDK-For-Python') - - self.credentials = credentials + self.credential = credential self.subscription_id = subscription_id + self.api_version = "2019-09-16" + self.credential_scopes = ['https://management.azure.com/.default'] + kwargs.setdefault('sdk_moniker', 'mgmt-healthcareapis/{}'.format(VERSION)) + self._configure(**kwargs) + + def _configure( + self, + **kwargs # type: Any + ): + # type: (...) -> None + self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get('retry_policy') or policies.RetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get('redirect_policy') or policies.RedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get('authentication_policy') + if self.credential and not self.authentication_policy: + self.authentication_policy = policies.BearerTokenCredentialPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/healthcareapis/azext_healthcareapis/vendored_sdks/healthcareapis/_healthcare_apis_management_client.py b/src/healthcareapis/azext_healthcareapis/vendored_sdks/healthcareapis/_healthcare_apis_management_client.py index f9b79f316c3..08994ac47f3 100644 --- a/src/healthcareapis/azext_healthcareapis/vendored_sdks/healthcareapis/_healthcare_apis_management_client.py +++ b/src/healthcareapis/azext_healthcareapis/vendored_sdks/healthcareapis/_healthcare_apis_management_client.py @@ -1,59 +1,76 @@ # coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# +# Licensed under the MIT License. See License.txt in the project root for license information. # Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from msrest.service_client import SDKClient -from msrest import Serializer, Deserializer +from typing import TYPE_CHECKING -from ._configuration import HealthcareApisManagementClientConfiguration -from .operations import ServicesOperations -from .operations import Operations -from .operations import OperationResultsOperations -from . import models +from azure.mgmt.core import ARMPipelineClient +from msrest import Deserializer, Serializer +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Optional -class HealthcareApisManagementClient(SDKClient): - """Azure Healthcare APIs Client +from ._configuration import HealthcareApisManagementClientConfiguration +from .operations import ServiceOperations +from .operations import OperationOperations +from .operations import OperationResultOperations +from . import models - :ivar config: Configuration for client. - :vartype config: HealthcareApisManagementClientConfiguration - :ivar services: Services operations - :vartype services: azure.mgmt.healthcareapis.operations.ServicesOperations - :ivar operations: Operations operations - :vartype operations: azure.mgmt.healthcareapis.operations.Operations - :ivar operation_results: OperationResults operations - :vartype operation_results: azure.mgmt.healthcareapis.operations.OperationResultsOperations +class HealthcareApisManagementClient(object): + """Azure Healthcare APIs Client. - :param credentials: Credentials needed for the client to connect to Azure. - :type credentials: :mod:`A msrestazure Credentials - object` + :ivar service: ServiceOperations operations + :vartype service: azure.mgmt.healthcareapis.operations.ServiceOperations + :ivar operation: OperationOperations operations + :vartype operation: azure.mgmt.healthcareapis.operations.OperationOperations + :ivar operation_result: OperationResultOperations operations + :vartype operation_result: azure.mgmt.healthcareapis.operations.OperationResultOperations + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials.TokenCredential :param subscription_id: The subscription identifier. :type subscription_id: str :param str base_url: Service URL """ def __init__( - self, credentials, subscription_id, base_url=None): - - self.config = HealthcareApisManagementClientConfiguration(credentials, subscription_id, base_url) - super(HealthcareApisManagementClient, self).__init__(self.config.credentials, self.config) + self, + credential, # type: "TokenCredential" + subscription_id, # type: str + base_url=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> None + if not base_url: + base_url = 'https://management.azure.com' + self._config = HealthcareApisManagementClientConfiguration(credential, subscription_id, **kwargs) + self._client = ARMPipelineClient(base_url=base_url, config=self._config, **kwargs) client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} - self.api_version = '2019-09-16' self._serialize = Serializer(client_models) self._deserialize = Deserializer(client_models) - self.services = ServicesOperations( - self._client, self.config, self._serialize, self._deserialize) - self.operations = Operations( - self._client, self.config, self._serialize, self._deserialize) - self.operation_results = OperationResultsOperations( - self._client, self.config, self._serialize, self._deserialize) + self.service = ServiceOperations( + self._client, self._config, self._serialize, self._deserialize) + self.operation = OperationOperations( + self._client, self._config, self._serialize, self._deserialize) + self.operation_result = OperationResultOperations( + self._client, self._config, self._serialize, self._deserialize) + + def close(self): + # type: () -> None + self._client.close() + + def __enter__(self): + # type: () -> HealthcareApisManagementClient + self._client.__enter__() + return self + + def __exit__(self, *exc_details): + # type: (Any) -> None + self._client.__exit__(*exc_details) diff --git a/src/healthcareapis/azext_healthcareapis/vendored_sdks/healthcareapis/_version.py b/src/healthcareapis/azext_healthcareapis/vendored_sdks/healthcareapis/_version.py new file mode 100644 index 00000000000..035146e99a2 --- /dev/null +++ b/src/healthcareapis/azext_healthcareapis/vendored_sdks/healthcareapis/_version.py @@ -0,0 +1,9 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +VERSION = "0.2.0" diff --git a/src/healthcareapis/azext_healthcareapis/vendored_sdks/healthcareapis/aio/__init__.py b/src/healthcareapis/azext_healthcareapis/vendored_sdks/healthcareapis/aio/__init__.py new file mode 100644 index 00000000000..088350637db --- /dev/null +++ b/src/healthcareapis/azext_healthcareapis/vendored_sdks/healthcareapis/aio/__init__.py @@ -0,0 +1,10 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._healthcare_apis_management_client_async import HealthcareApisManagementClient +__all__ = ['HealthcareApisManagementClient'] diff --git a/src/healthcareapis/azext_healthcareapis/vendored_sdks/healthcareapis/aio/_configuration_async.py b/src/healthcareapis/azext_healthcareapis/vendored_sdks/healthcareapis/aio/_configuration_async.py new file mode 100644 index 00000000000..3cecf652207 --- /dev/null +++ b/src/healthcareapis/azext_healthcareapis/vendored_sdks/healthcareapis/aio/_configuration_async.py @@ -0,0 +1,65 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import Any, TYPE_CHECKING + +from azure.core.configuration import Configuration +from azure.core.pipeline import policies + +from .._version import VERSION + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials import TokenCredential + + +class HealthcareApisManagementClientConfiguration(Configuration): + """Configuration for HealthcareApisManagementClient. + + Note that all parameters used to create this instance are saved as instance + attributes. + + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials_async.AsyncTokenCredential + :param subscription_id: The subscription identifier. + :type subscription_id: str + """ + + def __init__( + self, + credential: "AsyncTokenCredential", + subscription_id: str, + **kwargs: Any + ) -> None: + if credential is None: + raise ValueError("Parameter 'credential' must not be None.") + if subscription_id is None: + raise ValueError("Parameter 'subscription_id' must not be None.") + super(HealthcareApisManagementClientConfiguration, self).__init__(**kwargs) + + self.credential = credential + self.subscription_id = subscription_id + self.api_version = "2019-09-16" + self.credential_scopes = ['https://management.azure.com/.default'] + kwargs.setdefault('sdk_moniker', 'mgmt-healthcareapis/{}'.format(VERSION)) + self._configure(**kwargs) + + def _configure( + self, + **kwargs: Any + ) -> None: + self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get('retry_policy') or policies.AsyncRetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get('redirect_policy') or policies.AsyncRedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get('authentication_policy') + if self.credential and not self.authentication_policy: + self.authentication_policy = policies.AsyncBearerTokenCredentialPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/healthcareapis/azext_healthcareapis/vendored_sdks/healthcareapis/aio/_healthcare_apis_management_client_async.py b/src/healthcareapis/azext_healthcareapis/vendored_sdks/healthcareapis/aio/_healthcare_apis_management_client_async.py new file mode 100644 index 00000000000..d147ab5a1bb --- /dev/null +++ b/src/healthcareapis/azext_healthcareapis/vendored_sdks/healthcareapis/aio/_healthcare_apis_management_client_async.py @@ -0,0 +1,68 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import Any, Optional + +from azure.mgmt.core import AsyncARMPipelineClient +from msrest import Deserializer, Serializer + +from ._configuration_async import HealthcareApisManagementClientConfiguration +from .operations_async import ServiceOperations +from .operations_async import OperationOperations +from .operations_async import OperationResultOperations +from .. import models + + +class HealthcareApisManagementClient(object): + """Azure Healthcare APIs Client. + + :ivar service: ServiceOperations operations + :vartype service: azure.mgmt.healthcareapis.aio.operations_async.ServiceOperations + :ivar operation: OperationOperations operations + :vartype operation: azure.mgmt.healthcareapis.aio.operations_async.OperationOperations + :ivar operation_result: OperationResultOperations operations + :vartype operation_result: azure.mgmt.healthcareapis.aio.operations_async.OperationResultOperations + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials_async.AsyncTokenCredential + :param subscription_id: The subscription identifier. + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, + credential: "AsyncTokenCredential", + subscription_id: str, + base_url: Optional[str] = None, + **kwargs: Any + ) -> None: + if not base_url: + base_url = 'https://management.azure.com' + self._config = HealthcareApisManagementClientConfiguration(credential, subscription_id, **kwargs) + self._client = AsyncARMPipelineClient(base_url=base_url, config=self._config, **kwargs) + + 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.service = ServiceOperations( + self._client, self._config, self._serialize, self._deserialize) + self.operation = OperationOperations( + self._client, self._config, self._serialize, self._deserialize) + self.operation_result = OperationResultOperations( + self._client, self._config, self._serialize, self._deserialize) + + async def close(self) -> None: + await self._client.close() + + async def __aenter__(self) -> "HealthcareApisManagementClient": + await self._client.__aenter__() + return self + + async def __aexit__(self, *exc_details) -> None: + await self._client.__aexit__(*exc_details) diff --git a/src/healthcareapis/azext_healthcareapis/vendored_sdks/healthcareapis/aio/operations_async/__init__.py b/src/healthcareapis/azext_healthcareapis/vendored_sdks/healthcareapis/aio/operations_async/__init__.py new file mode 100644 index 00000000000..daa27d8e4d9 --- /dev/null +++ b/src/healthcareapis/azext_healthcareapis/vendored_sdks/healthcareapis/aio/operations_async/__init__.py @@ -0,0 +1,17 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._service_operations_async import ServiceOperations +from ._operation_operations_async import OperationOperations +from ._operation_result_operations_async import OperationResultOperations + +__all__ = [ + 'ServiceOperations', + 'OperationOperations', + 'OperationResultOperations', +] diff --git a/src/healthcareapis/azext_healthcareapis/vendored_sdks/healthcareapis/aio/operations_async/_operation_operations_async.py b/src/healthcareapis/azext_healthcareapis/vendored_sdks/healthcareapis/aio/operations_async/_operation_operations_async.py new file mode 100644 index 00000000000..05725742be0 --- /dev/null +++ b/src/healthcareapis/azext_healthcareapis/vendored_sdks/healthcareapis/aio/operations_async/_operation_operations_async.py @@ -0,0 +1,101 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class OperationOperations: + """OperationOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.healthcareapis.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + **kwargs + ) -> "models.OperationListResult": + """Lists all of the available Healthcare service REST API operations. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: OperationListResult or the result of cls(response) + :rtype: ~azure.mgmt.healthcareapis.models.OperationListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.OperationListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-09-16" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('OperationListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorDetails, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/providers/Microsoft.HealthcareApis/operations'} diff --git a/src/healthcareapis/azext_healthcareapis/vendored_sdks/healthcareapis/aio/operations_async/_operation_result_operations_async.py b/src/healthcareapis/azext_healthcareapis/vendored_sdks/healthcareapis/aio/operations_async/_operation_result_operations_async.py new file mode 100644 index 00000000000..3090669c34f --- /dev/null +++ b/src/healthcareapis/azext_healthcareapis/vendored_sdks/healthcareapis/aio/operations_async/_operation_result_operations_async.py @@ -0,0 +1,102 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class OperationResultOperations: + """OperationResultOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.healthcareapis.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + async def get( + self, + location_name: str, + operation_result_id: str, + **kwargs + ) -> Union["models.OperationResultsDescription", "models.ErrorDetails"]: + """Get the operation result for a long running operation. + + :param location_name: The location of the operation. + :type location_name: str + :param operation_result_id: The ID of the operation result to get. + :type operation_result_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: OperationResultsDescription or ErrorDetails or the result of cls(response) + :rtype: ~azure.mgmt.healthcareapis.models.OperationResultsDescription or ~azure.mgmt.healthcareapis.models.ErrorDetails + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[Union["models.OperationResultsDescription", "models.ErrorDetails"]] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-09-16" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'locationName': self._serialize.url("location_name", location_name, 'str'), + 'operationResultId': self._serialize.url("operation_result_id", operation_result_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 404]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorDetails, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('OperationResultsDescription', pipeline_response) + + if response.status_code == 404: + deserialized = self._deserialize('ErrorDetails', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.HealthcareApis/locations/{locationName}/operationresults/{operationResultId}'} diff --git a/src/healthcareapis/azext_healthcareapis/vendored_sdks/healthcareapis/aio/operations_async/_service_operations_async.py b/src/healthcareapis/azext_healthcareapis/vendored_sdks/healthcareapis/aio/operations_async/_service_operations_async.py new file mode 100644 index 00000000000..c3b5bd3a349 --- /dev/null +++ b/src/healthcareapis/azext_healthcareapis/vendored_sdks/healthcareapis/aio/operations_async/_service_operations_async.py @@ -0,0 +1,619 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.polling import AsyncNoPolling, AsyncPollingMethod, async_poller +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class ServiceOperations: + """ServiceOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.healthcareapis.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + async def get( + self, + resource_group_name: str, + resource_name: str, + **kwargs + ) -> "models.ServicesDescription": + """Get the metadata of a service instance. + + :param resource_group_name: The name of the resource group that contains the service instance. + :type resource_group_name: str + :param resource_name: The name of the service instance. + :type resource_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ServicesDescription or the result of cls(response) + :rtype: ~azure.mgmt.healthcareapis.models.ServicesDescription + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ServicesDescription"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-09-16" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=24, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorDetails, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ServicesDescription', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HealthcareApis/services/{resourceName}'} + + async def _create_or_update_initial( + self, + resource_group_name: str, + resource_name: str, + kind: Union[str, "models.Kind"], + location: str, + tags: Optional[Dict[str, str]] = None, + etag: Optional[str] = None, + identity: Optional["models.ResourceIdentity"] = None, + properties: Optional["models.ServicesProperties"] = None, + **kwargs + ) -> "models.ServicesDescription": + cls = kwargs.pop('cls', None) # type: ClsType["models.ServicesDescription"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _service_description = models.ServicesDescription(kind=kind, location=location, tags=tags, etag=etag, identity=identity, properties=properties) + api_version = "2019-09-16" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self._create_or_update_initial.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=24, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_service_description, 'ServicesDescription') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorDetails, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('ServicesDescription', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('ServicesDescription', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HealthcareApis/services/{resourceName}'} + + async def create_or_update( + self, + resource_group_name: str, + resource_name: str, + kind: Union[str, "models.Kind"], + location: str, + tags: Optional[Dict[str, str]] = None, + etag: Optional[str] = None, + identity: Optional["models.ResourceIdentity"] = None, + properties: Optional["models.ServicesProperties"] = None, + **kwargs + ) -> "models.ServicesDescription": + """Create or update the metadata of a service instance. + + :param resource_group_name: The name of the resource group that contains the service instance. + :type resource_group_name: str + :param resource_name: The name of the service instance. + :type resource_name: str + :param kind: The kind of the service. + :type kind: str or ~azure.mgmt.healthcareapis.models.Kind + :param location: The resource location. + :type location: str + :param tags: The resource tags. + :type tags: dict[str, str] + :param etag: An etag associated with the resource, used for optimistic concurrency when editing + it. + :type etag: str + :param identity: Setting indicating whether the service has a managed identity associated with + it. + :type identity: ~azure.mgmt.healthcareapis.models.ResourceIdentity + :param properties: The common properties of a service. + :type properties: ~azure.mgmt.healthcareapis.models.ServicesProperties + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :return: An instance of LROPoller that returns ServicesDescription + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.healthcareapis.models.ServicesDescription] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.ServicesDescription"] + raw_result = await self._create_or_update_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + kind=kind, + location=location, + tags=tags, + etag=etag, + identity=identity, + properties=properties, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ServicesDescription', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + return await async_poller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HealthcareApis/services/{resourceName}'} + + async def _update_initial( + self, + resource_group_name: str, + resource_name: str, + tags: Optional[Dict[str, str]] = None, + **kwargs + ) -> "models.ServicesDescription": + cls = kwargs.pop('cls', None) # type: ClsType["models.ServicesDescription"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _service_patch_description = models.ServicesPatchDescription(tags=tags) + api_version = "2019-09-16" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self._update_initial.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=24, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_service_patch_description, 'ServicesPatchDescription') + body_content_kwargs['content'] = body_content + request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorDetails, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ServicesDescription', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HealthcareApis/services/{resourceName}'} + + async def update( + self, + resource_group_name: str, + resource_name: str, + tags: Optional[Dict[str, str]] = None, + **kwargs + ) -> "models.ServicesDescription": + """Update the metadata of a service instance. + + :param resource_group_name: The name of the resource group that contains the service instance. + :type resource_group_name: str + :param resource_name: The name of the service instance. + :type resource_name: str + :param tags: Instance tags. + :type tags: dict[str, str] + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :return: An instance of LROPoller that returns ServicesDescription + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.healthcareapis.models.ServicesDescription] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.ServicesDescription"] + raw_result = await self._update_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + tags=tags, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ServicesDescription', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + return await async_poller(self._client, raw_result, get_long_running_output, polling_method) + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HealthcareApis/services/{resourceName}'} + + async def _delete_initial( + self, + resource_group_name: str, + resource_name: str, + **kwargs + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-09-16" + + # Construct URL + url = self._delete_initial.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=24, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [202, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorDetails, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HealthcareApis/services/{resourceName}'} + + async def delete( + self, + resource_group_name: str, + resource_name: str, + **kwargs + ) -> None: + """Delete a service instance. + + :param resource_group_name: The name of the resource group that contains the service instance. + :type resource_group_name: str + :param resource_name: The name of the service instance. + :type resource_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :return: An instance of LROPoller that returns None + :rtype: ~azure.core.polling.LROPoller[None] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + raw_result = await self._delete_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + return await async_poller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HealthcareApis/services/{resourceName}'} + + def list( + self, + **kwargs + ) -> "models.ServicesDescriptionListResult": + """Get all the service instances in a subscription. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ServicesDescriptionListResult or the result of cls(response) + :rtype: ~azure.mgmt.healthcareapis.models.ServicesDescriptionListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ServicesDescriptionListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-09-16" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('ServicesDescriptionListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorDetails, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.HealthcareApis/services'} + + def list_by_resource_group( + self, + resource_group_name: str, + **kwargs + ) -> "models.ServicesDescriptionListResult": + """Get all the service instances in a resource group. + + :param resource_group_name: The name of the resource group that contains the service instance. + :type resource_group_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ServicesDescriptionListResult or the result of cls(response) + :rtype: ~azure.mgmt.healthcareapis.models.ServicesDescriptionListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ServicesDescriptionListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-09-16" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('ServicesDescriptionListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorDetails, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HealthcareApis/services'} + + async def check_name_availability( + self, + name: str, + type: str, + **kwargs + ) -> "models.ServicesNameAvailabilityInfo": + """Check if a service instance name is available. + + :param name: The name of the service instance to check. + :type name: str + :param type: The fully qualified resource type which includes provider namespace. + :type type: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ServicesNameAvailabilityInfo or the result of cls(response) + :rtype: ~azure.mgmt.healthcareapis.models.ServicesNameAvailabilityInfo + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ServicesNameAvailabilityInfo"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _check_name_availability_inputs = models.CheckNameAvailabilityParameters(name=name, type=type) + api_version = "2019-09-16" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.check_name_availability.metadata['url'] + path_format_arguments = { + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_check_name_availability_inputs, 'CheckNameAvailabilityParameters') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorDetails, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ServicesNameAvailabilityInfo', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + check_name_availability.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.HealthcareApis/checkNameAvailability'} diff --git a/src/healthcareapis/azext_healthcareapis/vendored_sdks/healthcareapis/models/__init__.py b/src/healthcareapis/azext_healthcareapis/vendored_sdks/healthcareapis/models/__init__.py index cb27d5affb6..2e05d1dcf8c 100644 --- a/src/healthcareapis/azext_healthcareapis/vendored_sdks/healthcareapis/models/__init__.py +++ b/src/healthcareapis/azext_healthcareapis/vendored_sdks/healthcareapis/models/__init__.py @@ -1,75 +1,83 @@ # coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# +# Licensed under the MIT License. See License.txt in the project root for license information. # Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- try: from ._models_py3 import CheckNameAvailabilityParameters - from ._models_py3 import ErrorDetails, ErrorDetailsException + from ._models_py3 import ErrorDetails from ._models_py3 import ErrorDetailsInternal from ._models_py3 import Operation from ._models_py3 import OperationDisplay + from ._models_py3 import OperationListResult from ._models_py3 import OperationResultsDescription from ._models_py3 import Resource + from ._models_py3 import ResourceIdentity from ._models_py3 import ServiceAccessPolicyEntry from ._models_py3 import ServiceAuthenticationConfigurationInfo from ._models_py3 import ServiceCorsConfigurationInfo - from ._models_py3 import ServiceCosmosDbConfigurationInfo + from ._models_py3 import ServiceCosmosDBConfigurationInfo + from ._models_py3 import ServiceExportConfigurationInfo from ._models_py3 import ServicesDescription + from ._models_py3 import ServicesDescriptionListResult from ._models_py3 import ServicesNameAvailabilityInfo from ._models_py3 import ServicesPatchDescription from ._models_py3 import ServicesProperties except (SyntaxError, ImportError): - from ._models import CheckNameAvailabilityParameters - from ._models import ErrorDetails, ErrorDetailsException - from ._models import ErrorDetailsInternal - from ._models import Operation - from ._models import OperationDisplay - from ._models import OperationResultsDescription - from ._models import Resource - from ._models import ServiceAccessPolicyEntry - from ._models import ServiceAuthenticationConfigurationInfo - from ._models import ServiceCorsConfigurationInfo - from ._models import ServiceCosmosDbConfigurationInfo - from ._models import ServicesDescription - from ._models import ServicesNameAvailabilityInfo - from ._models import ServicesPatchDescription - from ._models import ServicesProperties -from ._paged_models import OperationPaged -from ._paged_models import ServicesDescriptionPaged + from ._models import CheckNameAvailabilityParameters # type: ignore + from ._models import ErrorDetails # type: ignore + from ._models import ErrorDetailsInternal # type: ignore + from ._models import Operation # type: ignore + from ._models import OperationDisplay # type: ignore + from ._models import OperationListResult # type: ignore + from ._models import OperationResultsDescription # type: ignore + from ._models import Resource # type: ignore + from ._models import ResourceIdentity # type: ignore + from ._models import ServiceAccessPolicyEntry # type: ignore + from ._models import ServiceAuthenticationConfigurationInfo # type: ignore + from ._models import ServiceCorsConfigurationInfo # type: ignore + from ._models import ServiceCosmosDBConfigurationInfo # type: ignore + from ._models import ServiceExportConfigurationInfo # type: ignore + from ._models import ServicesDescription # type: ignore + from ._models import ServicesDescriptionListResult # type: ignore + from ._models import ServicesNameAvailabilityInfo # type: ignore + from ._models import ServicesPatchDescription # type: ignore + from ._models import ServicesProperties # type: ignore + from ._healthcare_apis_management_client_enums import ( - ProvisioningState, Kind, - ServiceNameUnavailabilityReason, + ManagedServiceIdentityType, OperationResultStatus, + ProvisioningState, + ServiceNameUnavailabilityReason, ) __all__ = [ 'CheckNameAvailabilityParameters', - 'ErrorDetails', 'ErrorDetailsException', + 'ErrorDetails', 'ErrorDetailsInternal', 'Operation', 'OperationDisplay', + 'OperationListResult', 'OperationResultsDescription', 'Resource', + 'ResourceIdentity', 'ServiceAccessPolicyEntry', 'ServiceAuthenticationConfigurationInfo', 'ServiceCorsConfigurationInfo', - 'ServiceCosmosDbConfigurationInfo', + 'ServiceCosmosDBConfigurationInfo', + 'ServiceExportConfigurationInfo', 'ServicesDescription', + 'ServicesDescriptionListResult', 'ServicesNameAvailabilityInfo', 'ServicesPatchDescription', 'ServicesProperties', - 'ServicesDescriptionPaged', - 'OperationPaged', - 'ProvisioningState', 'Kind', - 'ServiceNameUnavailabilityReason', + 'ManagedServiceIdentityType', 'OperationResultStatus', + 'ProvisioningState', + 'ServiceNameUnavailabilityReason', ] diff --git a/src/healthcareapis/azext_healthcareapis/vendored_sdks/healthcareapis/models/_healthcare_apis_management_client_enums.py b/src/healthcareapis/azext_healthcareapis/vendored_sdks/healthcareapis/models/_healthcare_apis_management_client_enums.py index a910aebf78d..4f38416245c 100644 --- a/src/healthcareapis/azext_healthcareapis/vendored_sdks/healthcareapis/models/_healthcare_apis_management_client_enums.py +++ b/src/healthcareapis/azext_healthcareapis/vendored_sdks/healthcareapis/models/_healthcare_apis_management_client_enums.py @@ -1,18 +1,41 @@ # coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# +# Licensed under the MIT License. See License.txt in the project root for license information. # Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from enum import Enum +class Kind(str, Enum): + """The kind of the service. + """ + + fhir = "fhir" + fhir_stu3 = "fhir-Stu3" + fhir_r4 = "fhir-R4" + +class ManagedServiceIdentityType(str, Enum): + """Type of identity being specified, currently SystemAssigned and None are allowed. + """ + + system_assigned = "SystemAssigned" + none = "None" + +class OperationResultStatus(str, Enum): + """The status of the operation being performed. + """ + + canceled = "Canceled" + succeeded = "Succeeded" + failed = "Failed" + requested = "Requested" + running = "Running" class ProvisioningState(str, Enum): + """The provisioning state. + """ deleting = "Deleting" succeeded = "Succeeded" @@ -24,24 +47,9 @@ class ProvisioningState(str, Enum): canceled = "Canceled" deprovisioned = "Deprovisioned" - -class Kind(str, Enum): - - fhir = "fhir" - fhir_stu3 = "fhir-Stu3" - fhir_r4 = "fhir-R4" - - class ServiceNameUnavailabilityReason(str, Enum): + """The reason for unavailability. + """ invalid = "Invalid" already_exists = "AlreadyExists" - - -class OperationResultStatus(str, Enum): - - canceled = "Canceled" - succeeded = "Succeeded" - failed = "Failed" - requested = "Requested" - running = "Running" diff --git a/src/healthcareapis/azext_healthcareapis/vendored_sdks/healthcareapis/models/_models.py b/src/healthcareapis/azext_healthcareapis/vendored_sdks/healthcareapis/models/_models.py index b04ea49e287..63807159112 100644 --- a/src/healthcareapis/azext_healthcareapis/vendored_sdks/healthcareapis/models/_models.py +++ b/src/healthcareapis/azext_healthcareapis/vendored_sdks/healthcareapis/models/_models.py @@ -1,27 +1,23 @@ # coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# +# Licensed under the MIT License. See License.txt in the project root for license information. # Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from msrest.serialization import Model -from msrest.exceptions import HttpOperationError +from azure.core.exceptions import HttpResponseError +import msrest.serialization -class CheckNameAvailabilityParameters(Model): +class CheckNameAvailabilityParameters(msrest.serialization.Model): """Input values. All required parameters must be populated in order to send to Azure. :param name: Required. The name of the service instance to check. :type name: str - :param type: Required. The fully qualified resource type which includes - provider namespace. + :param type: Required. The fully qualified resource type which includes provider namespace. :type type: str """ @@ -35,21 +31,16 @@ class CheckNameAvailabilityParameters(Model): 'type': {'key': 'type', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(CheckNameAvailabilityParameters, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.type = kwargs.get('type', None) - - -class CloudError(Model): - """CloudError. - """ + self.name = kwargs['name'] + self.type = kwargs['type'] - _attribute_map = { - } - -class ErrorDetails(Model): +class ErrorDetails(msrest.serialization.Model): """Error details. :param error: Object containing error details. @@ -60,28 +51,18 @@ class ErrorDetails(Model): 'error': {'key': 'error', 'type': 'ErrorDetailsInternal'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ErrorDetails, self).__init__(**kwargs) self.error = kwargs.get('error', None) -class ErrorDetailsException(HttpOperationError): - """Server responsed with exception of type: 'ErrorDetails'. - - :param deserialize: A deserializer - :param response: Server response to be deserialized. - """ - - def __init__(self, deserialize, response, *args): - - super(ErrorDetailsException, self).__init__(deserialize, response, 'ErrorDetails', *args) - - -class ErrorDetailsInternal(Model): +class ErrorDetailsInternal(msrest.serialization.Model): """Error details. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. :ivar code: The error code. :vartype code: str @@ -103,21 +84,22 @@ class ErrorDetailsInternal(Model): 'target': {'key': 'target', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ErrorDetailsInternal, self).__init__(**kwargs) self.code = None self.message = None self.target = None -class Operation(Model): +class Operation(msrest.serialization.Model): """Service REST API operation. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. - :ivar name: Operation name: {provider}/{resource}/{read | write | action | - delete} + :ivar name: Operation name: {provider}/{resource}/{read | write | action | delete}. :vartype name: str :ivar origin: Default value is 'user,system'. :vartype origin: str @@ -136,26 +118,28 @@ class Operation(Model): 'display': {'key': 'display', 'type': 'OperationDisplay'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(Operation, self).__init__(**kwargs) self.name = None self.origin = None self.display = kwargs.get('display', None) -class OperationDisplay(Model): +class OperationDisplay(msrest.serialization.Model): """The object that represents the operation. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. - :ivar provider: Service provider: Microsoft.HealthcareApis + :ivar provider: Service provider: Microsoft.HealthcareApis. :vartype provider: str - :ivar resource: Resource Type: Services + :ivar resource: Resource Type: Services. :vartype resource: str - :ivar operation: Name of the operation + :ivar operation: Name of the operation. :vartype operation: str - :ivar description: Friendly description for the operation, + :ivar description: Friendly description for the operation,. :vartype description: str """ @@ -173,7 +157,10 @@ class OperationDisplay(Model): 'description': {'key': 'description', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(OperationDisplay, self).__init__(**kwargs) self.provider = None self.resource = None @@ -181,21 +168,48 @@ def __init__(self, **kwargs): self.description = None -class OperationResultsDescription(Model): - """The properties indicating the operation result of an operation on a - service. +class OperationListResult(msrest.serialization.Model): + """A list of service operations. It contains a list of operations and a URL link to get the next set of results. + + Variables are only populated by the server, and will be ignored when sending a request. - Variables are only populated by the server, and will be ignored when - sending a request. + :param next_link: The link used to get the next page of service description objects. + :type next_link: str + :ivar value: A list of service operations supported by the Microsoft.HealthcareApis resource + provider. + :vartype value: list[~azure.mgmt.healthcareapis.models.Operation] + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[Operation]'}, + } + + def __init__( + self, + **kwargs + ): + super(OperationListResult, self).__init__(**kwargs) + self.next_link = kwargs.get('next_link', None) + self.value = None + + +class OperationResultsDescription(msrest.serialization.Model): + """The properties indicating the operation result of an operation on a service. + + Variables are only populated by the server, and will be ignored when sending a request. :ivar id: The ID of the operation returned. :vartype id: str :ivar name: The name of the operation result. :vartype name: str - :ivar status: The status of the operation being performed. Possible values - include: 'Canceled', 'Succeeded', 'Failed', 'Requested', 'Running' - :vartype status: str or - ~azure.mgmt.healthcareapis.models.OperationResultStatus + :ivar status: The status of the operation being performed. Possible values include: "Canceled", + "Succeeded", "Failed", "Requested", "Running". + :vartype status: str or ~azure.mgmt.healthcareapis.models.OperationResultStatus :ivar start_time: The time that the operation was started. :vartype start_time: str :param properties: Additional properties of the operation result. @@ -217,7 +231,10 @@ class OperationResultsDescription(Model): 'properties': {'key': 'properties', 'type': 'object'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(OperationResultsDescription, self).__init__(**kwargs) self.id = None self.name = None @@ -226,11 +243,10 @@ def __init__(self, **kwargs): self.properties = kwargs.get('properties', None) -class Resource(Model): +class Resource(msrest.serialization.Model): """The common properties of a service. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. All required parameters must be populated in order to send to Azure. @@ -240,16 +256,19 @@ class Resource(Model): :vartype name: str :ivar type: The resource type. :vartype type: str - :param kind: Required. The kind of the service. Possible values include: - 'fhir', 'fhir-Stu3', 'fhir-R4' + :param kind: Required. The kind of the service. Possible values include: "fhir", "fhir-Stu3", + "fhir-R4". :type kind: str or ~azure.mgmt.healthcareapis.models.Kind :param location: Required. The resource location. :type location: str - :param tags: The resource tags. + :param tags: A set of tags. The resource tags. :type tags: dict[str, str] - :param etag: An etag associated with the resource, used for optimistic - concurrency when editing it. + :param etag: An etag associated with the resource, used for optimistic concurrency when editing + it. :type etag: str + :param identity: Setting indicating whether the service has a managed identity associated with + it. + :type identity: ~azure.mgmt.healthcareapis.models.ResourceIdentity """ _validation = { @@ -264,30 +283,70 @@ class Resource(Model): 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'Kind'}, + 'kind': {'key': 'kind', 'type': 'str'}, 'location': {'key': 'location', 'type': 'str'}, 'tags': {'key': 'tags', 'type': '{str}'}, 'etag': {'key': 'etag', 'type': 'str'}, + 'identity': {'key': 'identity', 'type': 'ResourceIdentity'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(Resource, self).__init__(**kwargs) self.id = None self.name = None self.type = None - self.kind = kwargs.get('kind', None) - self.location = kwargs.get('location', None) + self.kind = kwargs['kind'] + self.location = kwargs['location'] self.tags = kwargs.get('tags', None) self.etag = kwargs.get('etag', None) + self.identity = kwargs.get('identity', None) + +class ResourceIdentity(msrest.serialization.Model): + """Setting indicating whether the service has a managed identity associated with it. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar principal_id: The principal ID of the resource identity. + :vartype principal_id: str + :ivar tenant_id: The tenant ID of the resource. + :vartype tenant_id: str + :param type: Type of identity being specified, currently SystemAssigned and None are allowed. + Possible values include: "SystemAssigned", "None". + :type type: str or ~azure.mgmt.healthcareapis.models.ManagedServiceIdentityType + """ -class ServiceAccessPolicyEntry(Model): + _validation = { + 'principal_id': {'readonly': True}, + 'tenant_id': {'readonly': True}, + } + + _attribute_map = { + 'principal_id': {'key': 'principalId', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ResourceIdentity, self).__init__(**kwargs) + self.principal_id = None + self.tenant_id = None + self.type = kwargs.get('type', None) + + +class ServiceAccessPolicyEntry(msrest.serialization.Model): """An access policy entry. All required parameters must be populated in order to send to Azure. - :param object_id: Required. An Azure AD object ID (User or Apps) that is - allowed access to the FHIR service. + :param object_id: Required. An Azure AD object ID (User or Apps) that is allowed access to the + FHIR service. :type object_id: str """ @@ -299,19 +358,22 @@ class ServiceAccessPolicyEntry(Model): 'object_id': {'key': 'objectId', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ServiceAccessPolicyEntry, self).__init__(**kwargs) - self.object_id = kwargs.get('object_id', None) + self.object_id = kwargs['object_id'] -class ServiceAuthenticationConfigurationInfo(Model): +class ServiceAuthenticationConfigurationInfo(msrest.serialization.Model): """Authentication configuration information. - :param authority: The authority url for the service + :param authority: The authority url for the service. :type authority: str - :param audience: The audience url for the service + :param audience: The audience url for the service. :type audience: str - :param smart_proxy_enabled: If the SMART on FHIR proxy is enabled + :param smart_proxy_enabled: If the SMART on FHIR proxy is enabled. :type smart_proxy_enabled: bool """ @@ -321,14 +383,17 @@ class ServiceAuthenticationConfigurationInfo(Model): 'smart_proxy_enabled': {'key': 'smartProxyEnabled', 'type': 'bool'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ServiceAuthenticationConfigurationInfo, self).__init__(**kwargs) self.authority = kwargs.get('authority', None) self.audience = kwargs.get('audience', None) self.smart_proxy_enabled = kwargs.get('smart_proxy_enabled', None) -class ServiceCorsConfigurationInfo(Model): +class ServiceCorsConfigurationInfo(msrest.serialization.Model): """The settings for the CORS configuration of the service instance. :param origins: The origins to be allowed via CORS. @@ -355,7 +420,10 @@ class ServiceCorsConfigurationInfo(Model): 'allow_credentials': {'key': 'allowCredentials', 'type': 'bool'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ServiceCorsConfigurationInfo, self).__init__(**kwargs) self.origins = kwargs.get('origins', None) self.headers = kwargs.get('headers', None) @@ -364,11 +432,10 @@ def __init__(self, **kwargs): self.allow_credentials = kwargs.get('allow_credentials', None) -class ServiceCosmosDbConfigurationInfo(Model): +class ServiceCosmosDBConfigurationInfo(msrest.serialization.Model): """The settings for the Cosmos DB database backing the service. - :param offer_throughput: The provisioned throughput for the backing - database. + :param offer_throughput: The provisioned throughput for the backing database. :type offer_throughput: int """ @@ -380,16 +447,37 @@ class ServiceCosmosDbConfigurationInfo(Model): 'offer_throughput': {'key': 'offerThroughput', 'type': 'int'}, } - def __init__(self, **kwargs): - super(ServiceCosmosDbConfigurationInfo, self).__init__(**kwargs) + def __init__( + self, + **kwargs + ): + super(ServiceCosmosDBConfigurationInfo, self).__init__(**kwargs) self.offer_throughput = kwargs.get('offer_throughput', None) +class ServiceExportConfigurationInfo(msrest.serialization.Model): + """Export operation configuration information. + + :param storage_account_name: The name of the default export storage account. + :type storage_account_name: str + """ + + _attribute_map = { + 'storage_account_name': {'key': 'storageAccountName', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ServiceExportConfigurationInfo, self).__init__(**kwargs) + self.storage_account_name = kwargs.get('storage_account_name', None) + + class ServicesDescription(Resource): """The description of the service. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. All required parameters must be populated in order to send to Azure. @@ -399,16 +487,19 @@ class ServicesDescription(Resource): :vartype name: str :ivar type: The resource type. :vartype type: str - :param kind: Required. The kind of the service. Possible values include: - 'fhir', 'fhir-Stu3', 'fhir-R4' + :param kind: Required. The kind of the service. Possible values include: "fhir", "fhir-Stu3", + "fhir-R4". :type kind: str or ~azure.mgmt.healthcareapis.models.Kind :param location: Required. The resource location. :type location: str - :param tags: The resource tags. + :param tags: A set of tags. The resource tags. :type tags: dict[str, str] - :param etag: An etag associated with the resource, used for optimistic - concurrency when editing it. + :param etag: An etag associated with the resource, used for optimistic concurrency when editing + it. :type etag: str + :param identity: Setting indicating whether the service has a managed identity associated with + it. + :type identity: ~azure.mgmt.healthcareapis.models.ResourceIdentity :param properties: The common properties of a service. :type properties: ~azure.mgmt.healthcareapis.models.ServicesProperties """ @@ -425,31 +516,55 @@ class ServicesDescription(Resource): 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'Kind'}, + 'kind': {'key': 'kind', 'type': 'str'}, 'location': {'key': 'location', 'type': 'str'}, 'tags': {'key': 'tags', 'type': '{str}'}, 'etag': {'key': 'etag', 'type': 'str'}, + 'identity': {'key': 'identity', 'type': 'ResourceIdentity'}, 'properties': {'key': 'properties', 'type': 'ServicesProperties'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ServicesDescription, self).__init__(**kwargs) self.properties = kwargs.get('properties', None) -class ServicesNameAvailabilityInfo(Model): +class ServicesDescriptionListResult(msrest.serialization.Model): + """A list of service description objects with a next link. + + :param next_link: The link used to get the next page of service description objects. + :type next_link: str + :param value: A list of service description objects. + :type value: list[~azure.mgmt.healthcareapis.models.ServicesDescription] + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[ServicesDescription]'}, + } + + def __init__( + self, + **kwargs + ): + super(ServicesDescriptionListResult, self).__init__(**kwargs) + self.next_link = kwargs.get('next_link', None) + self.value = kwargs.get('value', None) + + +class ServicesNameAvailabilityInfo(msrest.serialization.Model): """The properties indicating whether a given service name is available. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. - :ivar name_available: The value which indicates whether the provided name - is available. + :ivar name_available: The value which indicates whether the provided name is available. :vartype name_available: bool - :ivar reason: The reason for unavailability. Possible values include: - 'Invalid', 'AlreadyExists' - :vartype reason: str or - ~azure.mgmt.healthcareapis.models.ServiceNameUnavailabilityReason + :ivar reason: The reason for unavailability. Possible values include: "Invalid", + "AlreadyExists". + :vartype reason: str or ~azure.mgmt.healthcareapis.models.ServiceNameUnavailabilityReason :param message: The detailed reason message. :type message: str """ @@ -461,21 +576,24 @@ class ServicesNameAvailabilityInfo(Model): _attribute_map = { 'name_available': {'key': 'nameAvailable', 'type': 'bool'}, - 'reason': {'key': 'reason', 'type': 'ServiceNameUnavailabilityReason'}, + 'reason': {'key': 'reason', 'type': 'str'}, 'message': {'key': 'message', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ServicesNameAvailabilityInfo, self).__init__(**kwargs) self.name_available = None self.reason = None self.message = kwargs.get('message', None) -class ServicesPatchDescription(Model): +class ServicesPatchDescription(msrest.serialization.Model): """The description of the service. - :param tags: Instance tags + :param tags: A set of tags. Instance tags. :type tags: dict[str, str] """ @@ -483,59 +601,58 @@ class ServicesPatchDescription(Model): 'tags': {'key': 'tags', 'type': '{str}'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ServicesPatchDescription, self).__init__(**kwargs) self.tags = kwargs.get('tags', None) -class ServicesProperties(Model): +class ServicesProperties(msrest.serialization.Model): """The properties of a service instance. - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. + Variables are only populated by the server, and will be ignored when sending a request. - :ivar provisioning_state: The provisioning state. Possible values include: - 'Deleting', 'Succeeded', 'Creating', 'Accepted', 'Verifying', 'Updating', - 'Failed', 'Canceled', 'Deprovisioned' - :vartype provisioning_state: str or - ~azure.mgmt.healthcareapis.models.ProvisioningState - :param access_policies: Required. The access policies of the service - instance. - :type access_policies: - list[~azure.mgmt.healthcareapis.models.ServiceAccessPolicyEntry] - :param cosmos_db_configuration: The settings for the Cosmos DB database - backing the service. + :ivar provisioning_state: The provisioning state. Possible values include: "Deleting", + "Succeeded", "Creating", "Accepted", "Verifying", "Updating", "Failed", "Canceled", + "Deprovisioned". + :vartype provisioning_state: str or ~azure.mgmt.healthcareapis.models.ProvisioningState + :param access_policies: The access policies of the service instance. + :type access_policies: list[~azure.mgmt.healthcareapis.models.ServiceAccessPolicyEntry] + :param cosmos_db_configuration: The settings for the Cosmos DB database backing the service. :type cosmos_db_configuration: - ~azure.mgmt.healthcareapis.models.ServiceCosmosDbConfigurationInfo - :param authentication_configuration: The authentication configuration for - the service instance. + ~azure.mgmt.healthcareapis.models.ServiceCosmosDBConfigurationInfo + :param authentication_configuration: The authentication configuration for the service instance. :type authentication_configuration: ~azure.mgmt.healthcareapis.models.ServiceAuthenticationConfigurationInfo - :param cors_configuration: The settings for the CORS configuration of the - service instance. - :type cors_configuration: - ~azure.mgmt.healthcareapis.models.ServiceCorsConfigurationInfo + :param cors_configuration: The settings for the CORS configuration of the service instance. + :type cors_configuration: ~azure.mgmt.healthcareapis.models.ServiceCorsConfigurationInfo + :param export_configuration: The settings for the export operation of the service instance. + :type export_configuration: ~azure.mgmt.healthcareapis.models.ServiceExportConfigurationInfo """ _validation = { 'provisioning_state': {'readonly': True}, - 'access_policies': {'required': True}, } _attribute_map = { 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, 'access_policies': {'key': 'accessPolicies', 'type': '[ServiceAccessPolicyEntry]'}, - 'cosmos_db_configuration': {'key': 'cosmosDbConfiguration', 'type': 'ServiceCosmosDbConfigurationInfo'}, + 'cosmos_db_configuration': {'key': 'cosmosDbConfiguration', 'type': 'ServiceCosmosDBConfigurationInfo'}, 'authentication_configuration': {'key': 'authenticationConfiguration', 'type': 'ServiceAuthenticationConfigurationInfo'}, 'cors_configuration': {'key': 'corsConfiguration', 'type': 'ServiceCorsConfigurationInfo'}, + 'export_configuration': {'key': 'exportConfiguration', 'type': 'ServiceExportConfigurationInfo'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ServicesProperties, self).__init__(**kwargs) self.provisioning_state = None self.access_policies = kwargs.get('access_policies', None) self.cosmos_db_configuration = kwargs.get('cosmos_db_configuration', None) self.authentication_configuration = kwargs.get('authentication_configuration', None) self.cors_configuration = kwargs.get('cors_configuration', None) + self.export_configuration = kwargs.get('export_configuration', None) diff --git a/src/healthcareapis/azext_healthcareapis/vendored_sdks/healthcareapis/models/_models_py3.py b/src/healthcareapis/azext_healthcareapis/vendored_sdks/healthcareapis/models/_models_py3.py index fc387153882..cbd1595d1dd 100644 --- a/src/healthcareapis/azext_healthcareapis/vendored_sdks/healthcareapis/models/_models_py3.py +++ b/src/healthcareapis/azext_healthcareapis/vendored_sdks/healthcareapis/models/_models_py3.py @@ -1,27 +1,25 @@ # coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# +# Licensed under the MIT License. See License.txt in the project root for license information. # Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from msrest.serialization import Model -from msrest.exceptions import HttpOperationError +from typing import Dict, List, Optional, Union +from azure.core.exceptions import HttpResponseError +import msrest.serialization -class CheckNameAvailabilityParameters(Model): + +class CheckNameAvailabilityParameters(msrest.serialization.Model): """Input values. All required parameters must be populated in order to send to Azure. :param name: Required. The name of the service instance to check. :type name: str - :param type: Required. The fully qualified resource type which includes - provider namespace. + :param type: Required. The fully qualified resource type which includes provider namespace. :type type: str """ @@ -35,21 +33,19 @@ class CheckNameAvailabilityParameters(Model): 'type': {'key': 'type', 'type': 'str'}, } - def __init__(self, *, name: str, type: str, **kwargs) -> None: + def __init__( + self, + *, + name: str, + type: str, + **kwargs + ): super(CheckNameAvailabilityParameters, self).__init__(**kwargs) self.name = name self.type = type -class CloudError(Model): - """CloudError. - """ - - _attribute_map = { - } - - -class ErrorDetails(Model): +class ErrorDetails(msrest.serialization.Model): """Error details. :param error: Object containing error details. @@ -60,28 +56,20 @@ class ErrorDetails(Model): 'error': {'key': 'error', 'type': 'ErrorDetailsInternal'}, } - def __init__(self, *, error=None, **kwargs) -> None: + def __init__( + self, + *, + error: Optional["ErrorDetailsInternal"] = None, + **kwargs + ): super(ErrorDetails, self).__init__(**kwargs) self.error = error -class ErrorDetailsException(HttpOperationError): - """Server responsed with exception of type: 'ErrorDetails'. - - :param deserialize: A deserializer - :param response: Server response to be deserialized. - """ - - def __init__(self, deserialize, response, *args): - - super(ErrorDetailsException, self).__init__(deserialize, response, 'ErrorDetails', *args) - - -class ErrorDetailsInternal(Model): +class ErrorDetailsInternal(msrest.serialization.Model): """Error details. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. :ivar code: The error code. :vartype code: str @@ -103,21 +91,22 @@ class ErrorDetailsInternal(Model): 'target': {'key': 'target', 'type': 'str'}, } - def __init__(self, **kwargs) -> None: + def __init__( + self, + **kwargs + ): super(ErrorDetailsInternal, self).__init__(**kwargs) self.code = None self.message = None self.target = None -class Operation(Model): +class Operation(msrest.serialization.Model): """Service REST API operation. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. - :ivar name: Operation name: {provider}/{resource}/{read | write | action | - delete} + :ivar name: Operation name: {provider}/{resource}/{read | write | action | delete}. :vartype name: str :ivar origin: Default value is 'user,system'. :vartype origin: str @@ -136,26 +125,30 @@ class Operation(Model): 'display': {'key': 'display', 'type': 'OperationDisplay'}, } - def __init__(self, *, display=None, **kwargs) -> None: + def __init__( + self, + *, + display: Optional["OperationDisplay"] = None, + **kwargs + ): super(Operation, self).__init__(**kwargs) self.name = None self.origin = None self.display = display -class OperationDisplay(Model): +class OperationDisplay(msrest.serialization.Model): """The object that represents the operation. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. - :ivar provider: Service provider: Microsoft.HealthcareApis + :ivar provider: Service provider: Microsoft.HealthcareApis. :vartype provider: str - :ivar resource: Resource Type: Services + :ivar resource: Resource Type: Services. :vartype resource: str - :ivar operation: Name of the operation + :ivar operation: Name of the operation. :vartype operation: str - :ivar description: Friendly description for the operation, + :ivar description: Friendly description for the operation,. :vartype description: str """ @@ -173,7 +166,10 @@ class OperationDisplay(Model): 'description': {'key': 'description', 'type': 'str'}, } - def __init__(self, **kwargs) -> None: + def __init__( + self, + **kwargs + ): super(OperationDisplay, self).__init__(**kwargs) self.provider = None self.resource = None @@ -181,21 +177,50 @@ def __init__(self, **kwargs) -> None: self.description = None -class OperationResultsDescription(Model): - """The properties indicating the operation result of an operation on a - service. +class OperationListResult(msrest.serialization.Model): + """A list of service operations. It contains a list of operations and a URL link to get the next set of results. + + Variables are only populated by the server, and will be ignored when sending a request. - Variables are only populated by the server, and will be ignored when - sending a request. + :param next_link: The link used to get the next page of service description objects. + :type next_link: str + :ivar value: A list of service operations supported by the Microsoft.HealthcareApis resource + provider. + :vartype value: list[~azure.mgmt.healthcareapis.models.Operation] + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[Operation]'}, + } + + def __init__( + self, + *, + next_link: Optional[str] = None, + **kwargs + ): + super(OperationListResult, self).__init__(**kwargs) + self.next_link = next_link + self.value = None + + +class OperationResultsDescription(msrest.serialization.Model): + """The properties indicating the operation result of an operation on a service. + + Variables are only populated by the server, and will be ignored when sending a request. :ivar id: The ID of the operation returned. :vartype id: str :ivar name: The name of the operation result. :vartype name: str - :ivar status: The status of the operation being performed. Possible values - include: 'Canceled', 'Succeeded', 'Failed', 'Requested', 'Running' - :vartype status: str or - ~azure.mgmt.healthcareapis.models.OperationResultStatus + :ivar status: The status of the operation being performed. Possible values include: "Canceled", + "Succeeded", "Failed", "Requested", "Running". + :vartype status: str or ~azure.mgmt.healthcareapis.models.OperationResultStatus :ivar start_time: The time that the operation was started. :vartype start_time: str :param properties: Additional properties of the operation result. @@ -217,7 +242,12 @@ class OperationResultsDescription(Model): 'properties': {'key': 'properties', 'type': 'object'}, } - def __init__(self, *, properties=None, **kwargs) -> None: + def __init__( + self, + *, + properties: Optional[object] = None, + **kwargs + ): super(OperationResultsDescription, self).__init__(**kwargs) self.id = None self.name = None @@ -226,11 +256,10 @@ def __init__(self, *, properties=None, **kwargs) -> None: self.properties = properties -class Resource(Model): +class Resource(msrest.serialization.Model): """The common properties of a service. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. All required parameters must be populated in order to send to Azure. @@ -240,16 +269,19 @@ class Resource(Model): :vartype name: str :ivar type: The resource type. :vartype type: str - :param kind: Required. The kind of the service. Possible values include: - 'fhir', 'fhir-Stu3', 'fhir-R4' + :param kind: Required. The kind of the service. Possible values include: "fhir", "fhir-Stu3", + "fhir-R4". :type kind: str or ~azure.mgmt.healthcareapis.models.Kind :param location: Required. The resource location. :type location: str - :param tags: The resource tags. + :param tags: A set of tags. The resource tags. :type tags: dict[str, str] - :param etag: An etag associated with the resource, used for optimistic - concurrency when editing it. + :param etag: An etag associated with the resource, used for optimistic concurrency when editing + it. :type etag: str + :param identity: Setting indicating whether the service has a managed identity associated with + it. + :type identity: ~azure.mgmt.healthcareapis.models.ResourceIdentity """ _validation = { @@ -264,13 +296,23 @@ class Resource(Model): 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'Kind'}, + 'kind': {'key': 'kind', 'type': 'str'}, 'location': {'key': 'location', 'type': 'str'}, 'tags': {'key': 'tags', 'type': '{str}'}, 'etag': {'key': 'etag', 'type': 'str'}, + 'identity': {'key': 'identity', 'type': 'ResourceIdentity'}, } - def __init__(self, *, kind, location: str, tags=None, etag: str=None, **kwargs) -> None: + def __init__( + self, + *, + kind: Union[str, "Kind"], + location: str, + tags: Optional[Dict[str, str]] = None, + etag: Optional[str] = None, + identity: Optional["ResourceIdentity"] = None, + **kwargs + ): super(Resource, self).__init__(**kwargs) self.id = None self.name = None @@ -279,15 +321,53 @@ def __init__(self, *, kind, location: str, tags=None, etag: str=None, **kwargs) self.location = location self.tags = tags self.etag = etag + self.identity = identity + +class ResourceIdentity(msrest.serialization.Model): + """Setting indicating whether the service has a managed identity associated with it. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar principal_id: The principal ID of the resource identity. + :vartype principal_id: str + :ivar tenant_id: The tenant ID of the resource. + :vartype tenant_id: str + :param type: Type of identity being specified, currently SystemAssigned and None are allowed. + Possible values include: "SystemAssigned", "None". + :type type: str or ~azure.mgmt.healthcareapis.models.ManagedServiceIdentityType + """ -class ServiceAccessPolicyEntry(Model): + _validation = { + 'principal_id': {'readonly': True}, + 'tenant_id': {'readonly': True}, + } + + _attribute_map = { + 'principal_id': {'key': 'principalId', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__( + self, + *, + type: Optional[Union[str, "ManagedServiceIdentityType"]] = None, + **kwargs + ): + super(ResourceIdentity, self).__init__(**kwargs) + self.principal_id = None + self.tenant_id = None + self.type = type + + +class ServiceAccessPolicyEntry(msrest.serialization.Model): """An access policy entry. All required parameters must be populated in order to send to Azure. - :param object_id: Required. An Azure AD object ID (User or Apps) that is - allowed access to the FHIR service. + :param object_id: Required. An Azure AD object ID (User or Apps) that is allowed access to the + FHIR service. :type object_id: str """ @@ -299,19 +379,24 @@ class ServiceAccessPolicyEntry(Model): 'object_id': {'key': 'objectId', 'type': 'str'}, } - def __init__(self, *, object_id: str, **kwargs) -> None: + def __init__( + self, + *, + object_id: str, + **kwargs + ): super(ServiceAccessPolicyEntry, self).__init__(**kwargs) self.object_id = object_id -class ServiceAuthenticationConfigurationInfo(Model): +class ServiceAuthenticationConfigurationInfo(msrest.serialization.Model): """Authentication configuration information. - :param authority: The authority url for the service + :param authority: The authority url for the service. :type authority: str - :param audience: The audience url for the service + :param audience: The audience url for the service. :type audience: str - :param smart_proxy_enabled: If the SMART on FHIR proxy is enabled + :param smart_proxy_enabled: If the SMART on FHIR proxy is enabled. :type smart_proxy_enabled: bool """ @@ -321,14 +406,21 @@ class ServiceAuthenticationConfigurationInfo(Model): 'smart_proxy_enabled': {'key': 'smartProxyEnabled', 'type': 'bool'}, } - def __init__(self, *, authority: str=None, audience: str=None, smart_proxy_enabled: bool=None, **kwargs) -> None: + def __init__( + self, + *, + authority: Optional[str] = None, + audience: Optional[str] = None, + smart_proxy_enabled: Optional[bool] = None, + **kwargs + ): super(ServiceAuthenticationConfigurationInfo, self).__init__(**kwargs) self.authority = authority self.audience = audience self.smart_proxy_enabled = smart_proxy_enabled -class ServiceCorsConfigurationInfo(Model): +class ServiceCorsConfigurationInfo(msrest.serialization.Model): """The settings for the CORS configuration of the service instance. :param origins: The origins to be allowed via CORS. @@ -355,7 +447,16 @@ class ServiceCorsConfigurationInfo(Model): 'allow_credentials': {'key': 'allowCredentials', 'type': 'bool'}, } - def __init__(self, *, origins=None, headers=None, methods=None, max_age: int=None, allow_credentials: bool=None, **kwargs) -> None: + def __init__( + self, + *, + origins: Optional[List[str]] = None, + headers: Optional[List[str]] = None, + methods: Optional[List[str]] = None, + max_age: Optional[int] = None, + allow_credentials: Optional[bool] = None, + **kwargs + ): super(ServiceCorsConfigurationInfo, self).__init__(**kwargs) self.origins = origins self.headers = headers @@ -364,11 +465,10 @@ def __init__(self, *, origins=None, headers=None, methods=None, max_age: int=Non self.allow_credentials = allow_credentials -class ServiceCosmosDbConfigurationInfo(Model): +class ServiceCosmosDBConfigurationInfo(msrest.serialization.Model): """The settings for the Cosmos DB database backing the service. - :param offer_throughput: The provisioned throughput for the backing - database. + :param offer_throughput: The provisioned throughput for the backing database. :type offer_throughput: int """ @@ -380,16 +480,41 @@ class ServiceCosmosDbConfigurationInfo(Model): 'offer_throughput': {'key': 'offerThroughput', 'type': 'int'}, } - def __init__(self, *, offer_throughput: int=None, **kwargs) -> None: - super(ServiceCosmosDbConfigurationInfo, self).__init__(**kwargs) + def __init__( + self, + *, + offer_throughput: Optional[int] = None, + **kwargs + ): + super(ServiceCosmosDBConfigurationInfo, self).__init__(**kwargs) self.offer_throughput = offer_throughput +class ServiceExportConfigurationInfo(msrest.serialization.Model): + """Export operation configuration information. + + :param storage_account_name: The name of the default export storage account. + :type storage_account_name: str + """ + + _attribute_map = { + 'storage_account_name': {'key': 'storageAccountName', 'type': 'str'}, + } + + def __init__( + self, + *, + storage_account_name: Optional[str] = None, + **kwargs + ): + super(ServiceExportConfigurationInfo, self).__init__(**kwargs) + self.storage_account_name = storage_account_name + + class ServicesDescription(Resource): """The description of the service. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. All required parameters must be populated in order to send to Azure. @@ -399,16 +524,19 @@ class ServicesDescription(Resource): :vartype name: str :ivar type: The resource type. :vartype type: str - :param kind: Required. The kind of the service. Possible values include: - 'fhir', 'fhir-Stu3', 'fhir-R4' + :param kind: Required. The kind of the service. Possible values include: "fhir", "fhir-Stu3", + "fhir-R4". :type kind: str or ~azure.mgmt.healthcareapis.models.Kind :param location: Required. The resource location. :type location: str - :param tags: The resource tags. + :param tags: A set of tags. The resource tags. :type tags: dict[str, str] - :param etag: An etag associated with the resource, used for optimistic - concurrency when editing it. + :param etag: An etag associated with the resource, used for optimistic concurrency when editing + it. :type etag: str + :param identity: Setting indicating whether the service has a managed identity associated with + it. + :type identity: ~azure.mgmt.healthcareapis.models.ResourceIdentity :param properties: The common properties of a service. :type properties: ~azure.mgmt.healthcareapis.models.ServicesProperties """ @@ -425,31 +553,65 @@ class ServicesDescription(Resource): 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'Kind'}, + 'kind': {'key': 'kind', 'type': 'str'}, 'location': {'key': 'location', 'type': 'str'}, 'tags': {'key': 'tags', 'type': '{str}'}, 'etag': {'key': 'etag', 'type': 'str'}, + 'identity': {'key': 'identity', 'type': 'ResourceIdentity'}, 'properties': {'key': 'properties', 'type': 'ServicesProperties'}, } - def __init__(self, *, kind, location: str, tags=None, etag: str=None, properties=None, **kwargs) -> None: - super(ServicesDescription, self).__init__(kind=kind, location=location, tags=tags, etag=etag, **kwargs) + def __init__( + self, + *, + kind: Union[str, "Kind"], + location: str, + tags: Optional[Dict[str, str]] = None, + etag: Optional[str] = None, + identity: Optional["ResourceIdentity"] = None, + properties: Optional["ServicesProperties"] = None, + **kwargs + ): + super(ServicesDescription, self).__init__(kind=kind, location=location, tags=tags, etag=etag, identity=identity, **kwargs) self.properties = properties -class ServicesNameAvailabilityInfo(Model): +class ServicesDescriptionListResult(msrest.serialization.Model): + """A list of service description objects with a next link. + + :param next_link: The link used to get the next page of service description objects. + :type next_link: str + :param value: A list of service description objects. + :type value: list[~azure.mgmt.healthcareapis.models.ServicesDescription] + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[ServicesDescription]'}, + } + + def __init__( + self, + *, + next_link: Optional[str] = None, + value: Optional[List["ServicesDescription"]] = None, + **kwargs + ): + super(ServicesDescriptionListResult, self).__init__(**kwargs) + self.next_link = next_link + self.value = value + + +class ServicesNameAvailabilityInfo(msrest.serialization.Model): """The properties indicating whether a given service name is available. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. - :ivar name_available: The value which indicates whether the provided name - is available. + :ivar name_available: The value which indicates whether the provided name is available. :vartype name_available: bool - :ivar reason: The reason for unavailability. Possible values include: - 'Invalid', 'AlreadyExists' - :vartype reason: str or - ~azure.mgmt.healthcareapis.models.ServiceNameUnavailabilityReason + :ivar reason: The reason for unavailability. Possible values include: "Invalid", + "AlreadyExists". + :vartype reason: str or ~azure.mgmt.healthcareapis.models.ServiceNameUnavailabilityReason :param message: The detailed reason message. :type message: str """ @@ -461,21 +623,26 @@ class ServicesNameAvailabilityInfo(Model): _attribute_map = { 'name_available': {'key': 'nameAvailable', 'type': 'bool'}, - 'reason': {'key': 'reason', 'type': 'ServiceNameUnavailabilityReason'}, + 'reason': {'key': 'reason', 'type': 'str'}, 'message': {'key': 'message', 'type': 'str'}, } - def __init__(self, *, message: str=None, **kwargs) -> None: + def __init__( + self, + *, + message: Optional[str] = None, + **kwargs + ): super(ServicesNameAvailabilityInfo, self).__init__(**kwargs) self.name_available = None self.reason = None self.message = message -class ServicesPatchDescription(Model): +class ServicesPatchDescription(msrest.serialization.Model): """The description of the service. - :param tags: Instance tags + :param tags: A set of tags. Instance tags. :type tags: dict[str, str] """ @@ -483,59 +650,66 @@ class ServicesPatchDescription(Model): 'tags': {'key': 'tags', 'type': '{str}'}, } - def __init__(self, *, tags=None, **kwargs) -> None: + def __init__( + self, + *, + tags: Optional[Dict[str, str]] = None, + **kwargs + ): super(ServicesPatchDescription, self).__init__(**kwargs) self.tags = tags -class ServicesProperties(Model): +class ServicesProperties(msrest.serialization.Model): """The properties of a service instance. - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. + Variables are only populated by the server, and will be ignored when sending a request. - :ivar provisioning_state: The provisioning state. Possible values include: - 'Deleting', 'Succeeded', 'Creating', 'Accepted', 'Verifying', 'Updating', - 'Failed', 'Canceled', 'Deprovisioned' - :vartype provisioning_state: str or - ~azure.mgmt.healthcareapis.models.ProvisioningState - :param access_policies: Required. The access policies of the service - instance. - :type access_policies: - list[~azure.mgmt.healthcareapis.models.ServiceAccessPolicyEntry] - :param cosmos_db_configuration: The settings for the Cosmos DB database - backing the service. + :ivar provisioning_state: The provisioning state. Possible values include: "Deleting", + "Succeeded", "Creating", "Accepted", "Verifying", "Updating", "Failed", "Canceled", + "Deprovisioned". + :vartype provisioning_state: str or ~azure.mgmt.healthcareapis.models.ProvisioningState + :param access_policies: The access policies of the service instance. + :type access_policies: list[~azure.mgmt.healthcareapis.models.ServiceAccessPolicyEntry] + :param cosmos_db_configuration: The settings for the Cosmos DB database backing the service. :type cosmos_db_configuration: - ~azure.mgmt.healthcareapis.models.ServiceCosmosDbConfigurationInfo - :param authentication_configuration: The authentication configuration for - the service instance. + ~azure.mgmt.healthcareapis.models.ServiceCosmosDBConfigurationInfo + :param authentication_configuration: The authentication configuration for the service instance. :type authentication_configuration: ~azure.mgmt.healthcareapis.models.ServiceAuthenticationConfigurationInfo - :param cors_configuration: The settings for the CORS configuration of the - service instance. - :type cors_configuration: - ~azure.mgmt.healthcareapis.models.ServiceCorsConfigurationInfo + :param cors_configuration: The settings for the CORS configuration of the service instance. + :type cors_configuration: ~azure.mgmt.healthcareapis.models.ServiceCorsConfigurationInfo + :param export_configuration: The settings for the export operation of the service instance. + :type export_configuration: ~azure.mgmt.healthcareapis.models.ServiceExportConfigurationInfo """ _validation = { 'provisioning_state': {'readonly': True}, - 'access_policies': {'required': True}, } _attribute_map = { 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, 'access_policies': {'key': 'accessPolicies', 'type': '[ServiceAccessPolicyEntry]'}, - 'cosmos_db_configuration': {'key': 'cosmosDbConfiguration', 'type': 'ServiceCosmosDbConfigurationInfo'}, + 'cosmos_db_configuration': {'key': 'cosmosDbConfiguration', 'type': 'ServiceCosmosDBConfigurationInfo'}, 'authentication_configuration': {'key': 'authenticationConfiguration', 'type': 'ServiceAuthenticationConfigurationInfo'}, 'cors_configuration': {'key': 'corsConfiguration', 'type': 'ServiceCorsConfigurationInfo'}, + 'export_configuration': {'key': 'exportConfiguration', 'type': 'ServiceExportConfigurationInfo'}, } - def __init__(self, *, access_policies, cosmos_db_configuration=None, authentication_configuration=None, cors_configuration=None, **kwargs) -> None: + def __init__( + self, + *, + access_policies: Optional[List["ServiceAccessPolicyEntry"]] = None, + cosmos_db_configuration: Optional["ServiceCosmosDBConfigurationInfo"] = None, + authentication_configuration: Optional["ServiceAuthenticationConfigurationInfo"] = None, + cors_configuration: Optional["ServiceCorsConfigurationInfo"] = None, + export_configuration: Optional["ServiceExportConfigurationInfo"] = None, + **kwargs + ): super(ServicesProperties, self).__init__(**kwargs) self.provisioning_state = None self.access_policies = access_policies self.cosmos_db_configuration = cosmos_db_configuration self.authentication_configuration = authentication_configuration self.cors_configuration = cors_configuration + self.export_configuration = export_configuration diff --git a/src/healthcareapis/azext_healthcareapis/vendored_sdks/healthcareapis/models/_paged_models.py b/src/healthcareapis/azext_healthcareapis/vendored_sdks/healthcareapis/models/_paged_models.py deleted file mode 100644 index 646be2a168c..00000000000 --- a/src/healthcareapis/azext_healthcareapis/vendored_sdks/healthcareapis/models/_paged_models.py +++ /dev/null @@ -1,40 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.paging import Paged - - -class ServicesDescriptionPaged(Paged): - """ - A paging container for iterating over a list of :class:`ServicesDescription ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[ServicesDescription]'} - } - - def __init__(self, *args, **kwargs): - - super(ServicesDescriptionPaged, self).__init__(*args, **kwargs) -class OperationPaged(Paged): - """ - A paging container for iterating over a list of :class:`Operation ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[Operation]'} - } - - def __init__(self, *args, **kwargs): - - super(OperationPaged, self).__init__(*args, **kwargs) diff --git a/src/healthcareapis/azext_healthcareapis/vendored_sdks/healthcareapis/operations/__init__.py b/src/healthcareapis/azext_healthcareapis/vendored_sdks/healthcareapis/operations/__init__.py index 6bca9ee351e..e6048092bb8 100644 --- a/src/healthcareapis/azext_healthcareapis/vendored_sdks/healthcareapis/operations/__init__.py +++ b/src/healthcareapis/azext_healthcareapis/vendored_sdks/healthcareapis/operations/__init__.py @@ -1,20 +1,17 @@ # coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# +# Licensed under the MIT License. See License.txt in the project root for license information. # Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from ._services_operations import ServicesOperations -from ._operations import Operations -from ._operation_results_operations import OperationResultsOperations +from ._service_operations import ServiceOperations +from ._operation_operations import OperationOperations +from ._operation_result_operations import OperationResultOperations __all__ = [ - 'ServicesOperations', - 'Operations', - 'OperationResultsOperations', + 'ServiceOperations', + 'OperationOperations', + 'OperationResultOperations', ] diff --git a/src/healthcareapis/azext_healthcareapis/vendored_sdks/healthcareapis/operations/_operation_operations.py b/src/healthcareapis/azext_healthcareapis/vendored_sdks/healthcareapis/operations/_operation_operations.py new file mode 100644 index 00000000000..e732249fdf5 --- /dev/null +++ b/src/healthcareapis/azext_healthcareapis/vendored_sdks/healthcareapis/operations/_operation_operations.py @@ -0,0 +1,106 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.mgmt.core.exceptions import ARMErrorFormat + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Optional, TypeVar + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class OperationOperations(object): + """OperationOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.healthcareapis.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + **kwargs # type: Any + ): + # type: (...) -> "models.OperationListResult" + """Lists all of the available Healthcare service REST API operations. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: OperationListResult or the result of cls(response) + :rtype: ~azure.mgmt.healthcareapis.models.OperationListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.OperationListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-09-16" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('OperationListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorDetails, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/providers/Microsoft.HealthcareApis/operations'} diff --git a/src/healthcareapis/azext_healthcareapis/vendored_sdks/healthcareapis/operations/_operation_result_operations.py b/src/healthcareapis/azext_healthcareapis/vendored_sdks/healthcareapis/operations/_operation_result_operations.py new file mode 100644 index 00000000000..206ce96c261 --- /dev/null +++ b/src/healthcareapis/azext_healthcareapis/vendored_sdks/healthcareapis/operations/_operation_result_operations.py @@ -0,0 +1,107 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.mgmt.core.exceptions import ARMErrorFormat + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class OperationResultOperations(object): + """OperationResultOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.healthcareapis.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def get( + self, + location_name, # type: str + operation_result_id, # type: str + **kwargs # type: Any + ): + # type: (...) -> Union["models.OperationResultsDescription", "models.ErrorDetails"] + """Get the operation result for a long running operation. + + :param location_name: The location of the operation. + :type location_name: str + :param operation_result_id: The ID of the operation result to get. + :type operation_result_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: OperationResultsDescription or ErrorDetails or the result of cls(response) + :rtype: ~azure.mgmt.healthcareapis.models.OperationResultsDescription or ~azure.mgmt.healthcareapis.models.ErrorDetails + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[Union["models.OperationResultsDescription", "models.ErrorDetails"]] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-09-16" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'locationName': self._serialize.url("location_name", location_name, 'str'), + 'operationResultId': self._serialize.url("operation_result_id", operation_result_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 404]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorDetails, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('OperationResultsDescription', pipeline_response) + + if response.status_code == 404: + deserialized = self._deserialize('ErrorDetails', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.HealthcareApis/locations/{locationName}/operationresults/{operationResultId}'} diff --git a/src/healthcareapis/azext_healthcareapis/vendored_sdks/healthcareapis/operations/_operation_results_operations.py b/src/healthcareapis/azext_healthcareapis/vendored_sdks/healthcareapis/operations/_operation_results_operations.py deleted file mode 100644 index ef3a56b62b4..00000000000 --- a/src/healthcareapis/azext_healthcareapis/vendored_sdks/healthcareapis/operations/_operation_results_operations.py +++ /dev/null @@ -1,100 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse - -from .. import models - - -class OperationResultsOperations(object): - """OperationResultsOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client Api Version. Constant value: "2019-09-16". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-16" - - self.config = config - - def get( - self, location_name, operation_result_id, custom_headers=None, raw=False, **operation_config): - """Get the operation result for a long running operation. - - :param location_name: The location of the operation. - :type location_name: str - :param operation_result_id: The ID of the operation result to get. - :type operation_result_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 - :param operation_config: :ref:`Operation configuration - overrides`. - :return: object or ClientRawResponse if raw=true - :rtype: object or ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorDetailsException` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'locationName': self._serialize.url("location_name", location_name, 'str'), - 'operationResultId': self._serialize.url("operation_result_id", operation_result_id, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 404]: - raise models.ErrorDetailsException(self._deserialize, response) - - deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('OperationResultsDescription', response) - if response.status_code == 404: - deserialized = self._deserialize('ErrorDetails', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.HealthcareApis/locations/{locationName}/operationresults/{operationResultId}'} diff --git a/src/healthcareapis/azext_healthcareapis/vendored_sdks/healthcareapis/operations/_operations.py b/src/healthcareapis/azext_healthcareapis/vendored_sdks/healthcareapis/operations/_operations.py deleted file mode 100644 index 8182301e6ab..00000000000 --- a/src/healthcareapis/azext_healthcareapis/vendored_sdks/healthcareapis/operations/_operations.py +++ /dev/null @@ -1,100 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse - -from .. import models - - -class Operations(object): - """Operations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client Api Version. Constant value: "2019-09-16". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-16" - - self.config = config - - def list( - self, custom_headers=None, raw=False, **operation_config): - """Lists all of the available Healthcare service REST API operations. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of Operation - :rtype: - ~azure.mgmt.healthcareapis.models.OperationPaged[~azure.mgmt.healthcareapis.models.Operation] - :raises: - :class:`ErrorDetailsException` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorDetailsException(self._deserialize, response) - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.OperationPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/providers/Microsoft.HealthcareApis/operations'} diff --git a/src/healthcareapis/azext_healthcareapis/vendored_sdks/healthcareapis/operations/_service_operations.py b/src/healthcareapis/azext_healthcareapis/vendored_sdks/healthcareapis/operations/_service_operations.py new file mode 100644 index 00000000000..e832720a556 --- /dev/null +++ b/src/healthcareapis/azext_healthcareapis/vendored_sdks/healthcareapis/operations/_service_operations.py @@ -0,0 +1,633 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.arm_polling import ARMPolling + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class ServiceOperations(object): + """ServiceOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.healthcareapis.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def get( + self, + resource_group_name, # type: str + resource_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.ServicesDescription" + """Get the metadata of a service instance. + + :param resource_group_name: The name of the resource group that contains the service instance. + :type resource_group_name: str + :param resource_name: The name of the service instance. + :type resource_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ServicesDescription or the result of cls(response) + :rtype: ~azure.mgmt.healthcareapis.models.ServicesDescription + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ServicesDescription"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-09-16" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=24, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorDetails, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ServicesDescription', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HealthcareApis/services/{resourceName}'} + + def _create_or_update_initial( + self, + resource_group_name, # type: str + resource_name, # type: str + kind, # type: Union[str, "models.Kind"] + location, # type: str + tags=None, # type: Optional[Dict[str, str]] + etag=None, # type: Optional[str] + identity=None, # type: Optional["models.ResourceIdentity"] + properties=None, # type: Optional["models.ServicesProperties"] + **kwargs # type: Any + ): + # type: (...) -> "models.ServicesDescription" + cls = kwargs.pop('cls', None) # type: ClsType["models.ServicesDescription"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _service_description = models.ServicesDescription(kind=kind, location=location, tags=tags, etag=etag, identity=identity, properties=properties) + api_version = "2019-09-16" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self._create_or_update_initial.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=24, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_service_description, 'ServicesDescription') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorDetails, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('ServicesDescription', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('ServicesDescription', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HealthcareApis/services/{resourceName}'} + + def begin_create_or_update( + self, + resource_group_name, # type: str + resource_name, # type: str + kind, # type: Union[str, "models.Kind"] + location, # type: str + tags=None, # type: Optional[Dict[str, str]] + etag=None, # type: Optional[str] + identity=None, # type: Optional["models.ResourceIdentity"] + properties=None, # type: Optional["models.ServicesProperties"] + **kwargs # type: Any + ): + # type: (...) -> "models.ServicesDescription" + """Create or update the metadata of a service instance. + + :param resource_group_name: The name of the resource group that contains the service instance. + :type resource_group_name: str + :param resource_name: The name of the service instance. + :type resource_name: str + :param kind: The kind of the service. + :type kind: str or ~azure.mgmt.healthcareapis.models.Kind + :param location: The resource location. + :type location: str + :param tags: The resource tags. + :type tags: dict[str, str] + :param etag: An etag associated with the resource, used for optimistic concurrency when editing + it. + :type etag: str + :param identity: Setting indicating whether the service has a managed identity associated with + it. + :type identity: ~azure.mgmt.healthcareapis.models.ResourceIdentity + :param properties: The common properties of a service. + :type properties: ~azure.mgmt.healthcareapis.models.ServicesProperties + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :return: An instance of LROPoller that returns ServicesDescription + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.healthcareapis.models.ServicesDescription] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.ServicesDescription"] + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + kind=kind, + location=location, + tags=tags, + etag=etag, + identity=identity, + properties=properties, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ServicesDescription', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HealthcareApis/services/{resourceName}'} + + def _update_initial( + self, + resource_group_name, # type: str + resource_name, # type: str + tags=None, # type: Optional[Dict[str, str]] + **kwargs # type: Any + ): + # type: (...) -> "models.ServicesDescription" + cls = kwargs.pop('cls', None) # type: ClsType["models.ServicesDescription"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _service_patch_description = models.ServicesPatchDescription(tags=tags) + api_version = "2019-09-16" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self._update_initial.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=24, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_service_patch_description, 'ServicesPatchDescription') + body_content_kwargs['content'] = body_content + request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorDetails, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ServicesDescription', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HealthcareApis/services/{resourceName}'} + + def begin_update( + self, + resource_group_name, # type: str + resource_name, # type: str + tags=None, # type: Optional[Dict[str, str]] + **kwargs # type: Any + ): + # type: (...) -> "models.ServicesDescription" + """Update the metadata of a service instance. + + :param resource_group_name: The name of the resource group that contains the service instance. + :type resource_group_name: str + :param resource_name: The name of the service instance. + :type resource_name: str + :param tags: Instance tags. + :type tags: dict[str, str] + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :return: An instance of LROPoller that returns ServicesDescription + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.healthcareapis.models.ServicesDescription] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.ServicesDescription"] + raw_result = self._update_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + tags=tags, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ServicesDescription', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HealthcareApis/services/{resourceName}'} + + def _delete_initial( + self, + resource_group_name, # type: str + resource_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-09-16" + + # Construct URL + url = self._delete_initial.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=24, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [202, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorDetails, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HealthcareApis/services/{resourceName}'} + + def begin_delete( + self, + resource_group_name, # type: str + resource_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + """Delete a service instance. + + :param resource_group_name: The name of the resource group that contains the service instance. + :type resource_group_name: str + :param resource_name: The name of the service instance. + :type resource_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :return: An instance of LROPoller that returns None + :rtype: ~azure.core.polling.LROPoller[None] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HealthcareApis/services/{resourceName}'} + + def list( + self, + **kwargs # type: Any + ): + # type: (...) -> "models.ServicesDescriptionListResult" + """Get all the service instances in a subscription. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ServicesDescriptionListResult or the result of cls(response) + :rtype: ~azure.mgmt.healthcareapis.models.ServicesDescriptionListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ServicesDescriptionListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-09-16" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('ServicesDescriptionListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorDetails, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.HealthcareApis/services'} + + def list_by_resource_group( + self, + resource_group_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.ServicesDescriptionListResult" + """Get all the service instances in a resource group. + + :param resource_group_name: The name of the resource group that contains the service instance. + :type resource_group_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ServicesDescriptionListResult or the result of cls(response) + :rtype: ~azure.mgmt.healthcareapis.models.ServicesDescriptionListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ServicesDescriptionListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-09-16" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('ServicesDescriptionListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorDetails, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HealthcareApis/services'} + + def check_name_availability( + self, + name, # type: str + type, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.ServicesNameAvailabilityInfo" + """Check if a service instance name is available. + + :param name: The name of the service instance to check. + :type name: str + :param type: The fully qualified resource type which includes provider namespace. + :type type: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ServicesNameAvailabilityInfo or the result of cls(response) + :rtype: ~azure.mgmt.healthcareapis.models.ServicesNameAvailabilityInfo + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ServicesNameAvailabilityInfo"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _check_name_availability_inputs = models.CheckNameAvailabilityParameters(name=name, type=type) + api_version = "2019-09-16" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.check_name_availability.metadata['url'] + path_format_arguments = { + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_check_name_availability_inputs, 'CheckNameAvailabilityParameters') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorDetails, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ServicesNameAvailabilityInfo', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + check_name_availability.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.HealthcareApis/checkNameAvailability'} diff --git a/src/healthcareapis/azext_healthcareapis/vendored_sdks/healthcareapis/operations/_services_operations.py b/src/healthcareapis/azext_healthcareapis/vendored_sdks/healthcareapis/operations/_services_operations.py deleted file mode 100644 index 91f76948664..00000000000 --- a/src/healthcareapis/azext_healthcareapis/vendored_sdks/healthcareapis/operations/_services_operations.py +++ /dev/null @@ -1,585 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class ServicesOperations(object): - """ServicesOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client Api Version. Constant value: "2019-09-16". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-16" - - self.config = config - - def get( - self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): - """Get the metadata of a service instance. - - :param resource_group_name: The name of the resource group that - contains the service instance. - :type resource_group_name: str - :param resource_name: The name of the service instance. - :type resource_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ServicesDescription or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.healthcareapis.models.ServicesDescription or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorDetailsException` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=24, min_length=3) - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorDetailsException(self._deserialize, response) - - deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('ServicesDescription', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HealthcareApis/services/{resourceName}'} - - - def _create_or_update_initial( - self, resource_group_name, resource_name, service_description, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=24, min_length=3) - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(service_description, 'ServicesDescription') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 201]: - raise models.ErrorDetailsException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('ServicesDescription', response) - if response.status_code == 201: - deserialized = self._deserialize('ServicesDescription', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, resource_name, service_description, custom_headers=None, raw=False, polling=True, **operation_config): - """Create or update the metadata of a service instance. - - :param resource_group_name: The name of the resource group that - contains the service instance. - :type resource_group_name: str - :param resource_name: The name of the service instance. - :type resource_name: str - :param service_description: The service instance metadata. - :type service_description: - ~azure.mgmt.healthcareapis.models.ServicesDescription - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns ServicesDescription or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.healthcareapis.models.ServicesDescription] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.healthcareapis.models.ServicesDescription]] - :raises: - :class:`ErrorDetailsException` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - resource_name=resource_name, - service_description=service_description, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ServicesDescription', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HealthcareApis/services/{resourceName}'} - - - def _update_initial( - self, resource_group_name, resource_name, tags=None, custom_headers=None, raw=False, **operation_config): - service_patch_description = models.ServicesPatchDescription(tags=tags) - - # Construct URL - url = self.update.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=24, min_length=3) - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(service_patch_description, 'ServicesPatchDescription') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorDetailsException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('ServicesDescription', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def update( - self, resource_group_name, resource_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Update the metadata of a service instance. - - :param resource_group_name: The name of the resource group that - contains the service instance. - :type resource_group_name: str - :param resource_name: The name of the service instance. - :type resource_name: str - :param tags: Instance tags - :type tags: dict[str, str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns ServicesDescription or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.healthcareapis.models.ServicesDescription] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.healthcareapis.models.ServicesDescription]] - :raises: - :class:`ErrorDetailsException` - """ - raw_result = self._update_initial( - resource_group_name=resource_group_name, - resource_name=resource_name, - tags=tags, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ServicesDescription', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HealthcareApis/services/{resourceName}'} - - - def _delete_initial( - self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=24, min_length=3) - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [202, 204]: - raise models.ErrorDetailsException(self._deserialize, response) - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, resource_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Delete a service instance. - - :param resource_group_name: The name of the resource group that - contains the service instance. - :type resource_group_name: str - :param resource_name: The name of the service instance. - :type resource_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: - :class:`ErrorDetailsException` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - resource_name=resource_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HealthcareApis/services/{resourceName}'} - - def list( - self, custom_headers=None, raw=False, **operation_config): - """Get all the service instances in a subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of ServicesDescription - :rtype: - ~azure.mgmt.healthcareapis.models.ServicesDescriptionPaged[~azure.mgmt.healthcareapis.models.ServicesDescription] - :raises: - :class:`ErrorDetailsException` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorDetailsException(self._deserialize, response) - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.ServicesDescriptionPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.HealthcareApis/services'} - - def list_by_resource_group( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Get all the service instances in a resource group. - - :param resource_group_name: The name of the resource group that - contains the service instance. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of ServicesDescription - :rtype: - ~azure.mgmt.healthcareapis.models.ServicesDescriptionPaged[~azure.mgmt.healthcareapis.models.ServicesDescription] - :raises: - :class:`ErrorDetailsException` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_by_resource_group.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorDetailsException(self._deserialize, response) - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.ServicesDescriptionPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HealthcareApis/services'} - - def check_name_availability( - self, name, type, custom_headers=None, raw=False, **operation_config): - """Check if a service instance name is available. - - :param name: The name of the service instance to check. - :type name: str - :param type: The fully qualified resource type which includes provider - namespace. - :type type: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ServicesNameAvailabilityInfo or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.healthcareapis.models.ServicesNameAvailabilityInfo - or ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorDetailsException` - """ - check_name_availability_inputs = models.CheckNameAvailabilityParameters(name=name, type=type) - - # Construct URL - url = self.check_name_availability.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(check_name_availability_inputs, 'CheckNameAvailabilityParameters') - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorDetailsException(self._deserialize, response) - - deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('ServicesNameAvailabilityInfo', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - check_name_availability.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.HealthcareApis/checkNameAvailability'} diff --git a/src/healthcareapis/azext_healthcareapis/vendored_sdks/healthcareapis/py.typed b/src/healthcareapis/azext_healthcareapis/vendored_sdks/healthcareapis/py.typed new file mode 100644 index 00000000000..e5aff4f83af --- /dev/null +++ b/src/healthcareapis/azext_healthcareapis/vendored_sdks/healthcareapis/py.typed @@ -0,0 +1 @@ +# Marker file for PEP 561. \ No newline at end of file diff --git a/src/healthcareapis/azext_healthcareapis/vendored_sdks/healthcareapis/setup.py b/src/healthcareapis/azext_healthcareapis/vendored_sdks/healthcareapis/setup.py new file mode 100644 index 00000000000..da8dcc677ea --- /dev/null +++ b/src/healthcareapis/azext_healthcareapis/vendored_sdks/healthcareapis/setup.py @@ -0,0 +1,37 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +# coding: utf-8 + +from setuptools import setup, find_packages + +NAME = "healthcareapis" +VERSION = "0.2.0" + +# To install the library, run the following +# +# python setup.py install +# +# prerequisite: setuptools +# http://pypi.python.org/pypi/setuptools + +REQUIRES = ["msrest>=0.6.0", "azure-core<2.0.0,>=1.2.0"] + +setup( + name=NAME, + version=VERSION, + description="HealthcareApis", + author_email="", + url="", + keywords=["Swagger", "HealthcareApis"], + install_requires=REQUIRES, + packages=find_packages(), + include_package_data=True, + long_description="""\ + Azure Healthcare APIs Client. + """ +) diff --git a/src/healthcareapis/report.md b/src/healthcareapis/report.md new file mode 100644 index 00000000000..3870f80b2ed --- /dev/null +++ b/src/healthcareapis/report.md @@ -0,0 +1,56 @@ +# Azure CLI Module Creation Report + +### healthcareapis operation-result show + +show a healthcareapis operation-result. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--location-name**|string|The location of the operation.|location_name| +|**--operation-result-id**|string|The ID of the operation result to get.|operation_result_id| +### healthcareapis service create + +create a healthcareapis service. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The name of the resource group that contains the service instance.|resource_group_name| +|**--resource-name**|string|The name of the service instance.|resource_name| +|**--kind**|sealed-choice|The kind of the service.|kind| +|**--location**|string|The resource location.|location| +|**--tags**|dictionary|The resource tags.|tags| +|**--etag**|string|An etag associated with the resource, used for optimistic concurrency when editing it.|etag| +|**--identity**|object|Setting indicating whether the service has a managed identity associated with it.|identity| +|**--properties**|object|The common properties of a service.|properties| +### healthcareapis service delete + +delete a healthcareapis service. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The name of the resource group that contains the service instance.|resource_group_name| +|**--resource-name**|string|The name of the service instance.|resource_name| +### healthcareapis service list + +list a healthcareapis service. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The name of the resource group that contains the service instance.|resource_group_name| +### healthcareapis service show + +show a healthcareapis service. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The name of the resource group that contains the service instance.|resource_group_name| +|**--resource-name**|string|The name of the service instance.|resource_name| +### healthcareapis service update + +update a healthcareapis service. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The name of the resource group that contains the service instance.|resource_group_name| +|**--resource-name**|string|The name of the service instance.|resource_name| +|**--tags**|dictionary|Instance tags|tags| \ No newline at end of file diff --git a/src/healthcareapis/setup.cfg b/src/healthcareapis/setup.cfg index 3c6e79cf31d..2fdd96e5d39 100644 --- a/src/healthcareapis/setup.cfg +++ b/src/healthcareapis/setup.cfg @@ -1,2 +1 @@ -[bdist_wheel] -universal=1 +#setup.cfg \ No newline at end of file diff --git a/src/healthcareapis/setup.py b/src/healthcareapis/setup.py index a7093e389cb..b59d8c12e9a 100644 --- a/src/healthcareapis/setup.py +++ b/src/healthcareapis/setup.py @@ -8,13 +8,10 @@ from codecs import open from setuptools import setup, find_packages -try: - from azure_bdist_wheel import cmdclass -except ImportError: - from distutils import log as logger - logger.warn("Wheel is not available, disabling bdist_wheel hook") -VERSION = '0.1.3' +# TODO: Confirm this is the right version number you want and it matches your +# HISTORY.rst entry. +VERSION = '0.2.0' # The full list of classifiers is available at # https://pypi.python.org/pypi?%3Aaction=list_classifiers @@ -23,19 +20,17 @@ 'Intended Audience :: Developers', 'Intended Audience :: System Administrators', 'Programming Language :: Python', - 'Programming Language :: Python :: 2', - 'Programming Language :: Python :: 2.7', 'Programming Language :: Python :: 3', - 'Programming Language :: Python :: 3.4', - 'Programming Language :: Python :: 3.5', 'Programming Language :: Python :: 3.6', + 'Programming Language :: Python :: 3.7', + 'Programming Language :: Python :: 3.8', 'License :: OSI Approved :: MIT License', ] # TODO: Add any additional SDK dependencies here DEPENDENCIES = [] -with open('README.rst', 'r', encoding='utf-8') as f: +with open('README.md', 'r', encoding='utf-8') as f: README = f.read() with open('HISTORY.rst', 'r', encoding='utf-8') as f: HISTORY = f.read() @@ -43,8 +38,8 @@ setup( name='healthcareapis', version=VERSION, - description='Microsoft Azure Command-Line Tools HealthCareApis Extension', - # TODO: Update author and email, if applicable + description='Microsoft Azure Command-Line Tools HealthcareApisManagementClient Extension', + # TODO: Update author and email, if applicable author='Microsoft Corporation', author_email='azpycli@microsoft.com', # TODO: consider pointing directly to your source code instead of the generic repo @@ -55,4 +50,4 @@ packages=find_packages(), install_requires=DEPENDENCIES, package_data={'azext_healthcareapis': ['azext_metadata.json']}, -) \ No newline at end of file +) diff --git a/src/hpc-cache/HISTORY.rst b/src/hpc-cache/HISTORY.rst new file mode 100644 index 00000000000..27f152061e8 --- /dev/null +++ b/src/hpc-cache/HISTORY.rst @@ -0,0 +1,8 @@ +.. :changelog: + +Release History +=============== + +0.1.0 +++++++ +* Initial release. diff --git a/src/hpc-cache/README.md b/src/hpc-cache/README.md new file mode 100644 index 00000000000..c7dc304c2dc --- /dev/null +++ b/src/hpc-cache/README.md @@ -0,0 +1,47 @@ +Microsoft Azure CLI 'hpc-cache' Extension +========================================== + +### How to use ### +Install this extension using the below CLI command +``` +az extension add --name hpc-cache +``` + +### Included Features +#### Create HPC cache +*Examples:* +``` +az hpc-cache create --resource-group "scgroup" --name "sc1" --location "eastus" \ + --cache-size-gb "3072" --subnet "/subscriptions/{subscription_id}/resourceGroups/{re \ + source_group}/providers/Microsoft.Network/virtualNetworks/{virtual_network_name}/sub \ + nets/{subnet_name}" --sku-name "Standard_2G" +``` +#### Start/Stop HPC cache +*Examples:* +``` +az hpc-cache start --resource-group "scgroup" --name "sc1" +az hpc-cache stop --resource-group "scgroup" --name "sc1" +``` +#### Add blob storage target in HPC cache +*Examples:* +``` +az hpc-cache blob-storage-target add --resource-group "scgroup" --cache-name "sc1" --name \ + "st1" --storage-account "/subscriptions/{subscription_id}/resourceGroups/{resource_group} \ + /providers/Microsoft.Storage/storageAccounts/{acount_name}" \ + --container-name "cn" --virtual-namespace-path "/test" +``` +#### Add nfs storage target in HPC cache +*Examples:* +``` +az hpc-cache nfs-storage-target add --resource-group "scgroup" --cache-name "sc1" \ + --name "st1" --nfs3-target 10.7.0.24 --nfs3-usage-model WRITE_AROUND \ + --junction namespace-path="/nt2" nfs-export="/export/a" target-path="/1" \ + --junction namespace-path="/nt3" nfs-export="/export/b" +``` +#### Remove storage target in HPC cache +*Examples:* +``` +az hpc-cache storage-target remove --resource-group "scgroup" \ + --cache-name "sc1" \ + --name "st1" +``` \ No newline at end of file diff --git a/src/hpc-cache/README.rst b/src/hpc-cache/README.rst new file mode 100644 index 00000000000..9212621283f --- /dev/null +++ b/src/hpc-cache/README.rst @@ -0,0 +1,5 @@ +Microsoft Azure CLI 'hpc-cache' Extension +========================================== + +This package is for the 'hpc-cache' extension. +i.e. 'az hpc-cache' diff --git a/src/hpc-cache/azext_hpc_cache/__init__.py b/src/hpc-cache/azext_hpc_cache/__init__.py new file mode 100644 index 00000000000..76a97792464 --- /dev/null +++ b/src/hpc-cache/azext_hpc_cache/__init__.py @@ -0,0 +1,32 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +from azure.cli.core import AzCommandsLoader + +from azext_hpc_cache._help import helps # pylint: disable=unused-import + + +class StorageCacheCommandsLoader(AzCommandsLoader): + + def __init__(self, cli_ctx=None): + from azure.cli.core.commands import CliCommandType + from azext_hpc_cache._client_factory import cf_hpc_cache + hpc_cache_custom = CliCommandType( + operations_tmpl='azext_hpc_cache.custom#{}', + client_factory=cf_hpc_cache) + super(StorageCacheCommandsLoader, self).__init__(cli_ctx=cli_ctx, + custom_command_type=hpc_cache_custom) + + def load_command_table(self, args): + from azext_hpc_cache.commands import load_command_table + load_command_table(self, args) + return self.command_table + + def load_arguments(self, command): + from azext_hpc_cache._params import load_arguments + load_arguments(self, command) + + +COMMAND_LOADER_CLS = StorageCacheCommandsLoader diff --git a/src/hpc-cache/azext_hpc_cache/_client_factory.py b/src/hpc-cache/azext_hpc_cache/_client_factory.py new file mode 100644 index 00000000000..88bed9a24c1 --- /dev/null +++ b/src/hpc-cache/azext_hpc_cache/_client_factory.py @@ -0,0 +1,30 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + + +def cf_hpc_cache(cli_ctx, *_): + from azure.cli.core.commands.client_factory import get_mgmt_service_client + from .vendored_sdks.storagecache import StorageCacheManagementClient + return get_mgmt_service_client(cli_ctx, StorageCacheManagementClient) + + +def cf_operations(cli_ctx, *_): + return cf_hpc_cache(cli_ctx).operations + + +def cf_skus(cli_ctx, *_): + return cf_hpc_cache(cli_ctx).skus + + +def cf_usage_models(cli_ctx, *_): + return cf_hpc_cache(cli_ctx).usage_models + + +def cf_caches(cli_ctx, *_): + return cf_hpc_cache(cli_ctx).caches + + +def cf_storage_targets(cli_ctx, *_): + return cf_hpc_cache(cli_ctx).storage_targets diff --git a/src/hpc-cache/azext_hpc_cache/_help.py b/src/hpc-cache/azext_hpc_cache/_help.py new file mode 100644 index 00000000000..618faa59de7 --- /dev/null +++ b/src/hpc-cache/azext_hpc_cache/_help.py @@ -0,0 +1,219 @@ +# coding=utf-8 +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +# pylint: disable=too-many-lines +# pylint: disable=line-too-long +from knack.help_files import helps # pylint: disable=unused-import + + +helps['hpc-cache skus'] = """ + type: group + short-summary: Commands to manage hpc cache skus. +""" + +helps['hpc-cache skus list'] = """ + type: command + short-summary: Get the list of StorageCache.Cache SKUs available to this subscription. + examples: + - name: Skus_List + text: |- + az hpc-cache skus list +""" + +helps['hpc-cache usage-model'] = """ + type: group + short-summary: Commands to manage hpc cache usage model. +""" + +helps['hpc-cache usage-model list'] = """ + type: command + short-summary: Get the list of Cache Usage Models available to this subscription. + examples: + - name: UsageModels_List + text: |- + az hpc-cache usage-model list +""" + +helps['hpc-cache'] = """ + type: group + short-summary: Commands to manage hpc cache. +""" + +helps['hpc-cache create'] = """ + type: command + short-summary: Create or update a Cache. + examples: + - name: Caches_CreateOrUpdate + text: |- + az hpc-cache create --resource-group "scgroup" --name "sc1" --location "eastus" \\ + --cache-size-gb "3072" --subnet "/subscriptions/{{ subscription_id }}/resourceGroups/{{ re + source_group }}/providers/Microsoft.Network/virtualNetworks/{{ virtual_network_name }}/sub + nets/{{ subnet_name }}" --sku-name "Standard_2G" +""" + +helps['hpc-cache update'] = """ + type: command + short-summary: Create or update a Cache. + examples: + - name: Caches_Update + text: |- + az hpc-cache update --resource-group "scgroup" --name "sc1" --location "eastus" \\ + --cache-size-gb "3072" --subnet "/subscriptions/{{ subscription_id }}/resourceGroups/{{ re + source_group }}/providers/Microsoft.Network/virtualNetworks/{{ virtual_network_name }}/sub + nets/{{ subnet_name }}" --sku-name "Standard_2G" +""" + +helps['hpc-cache delete'] = """ + type: command + short-summary: Schedules a Cache for deletion. + examples: + - name: Caches_Delete + text: |- + az hpc-cache delete --resource-group "scgroup" --name "sc" +""" + +helps['hpc-cache show'] = """ + type: command + short-summary: Returns a Cache. + examples: + - name: Caches_Get + text: |- + az hpc-cache show --resource-group "scgroup" --name "sc1" +""" + +helps['hpc-cache list'] = """ + type: command + short-summary: Returns all Caches the user has access to under a resource group. + examples: + - name: Caches_List + text: |- + az hpc-cache list + - name: Caches_ListByResourceGroup + text: |- + az hpc-cache list --resource-group "scgroup" +""" + +helps['hpc-cache start'] = """ + type: command + short-summary: Tells a Stopped state Cache to transition to Active state. + examples: + - name: Caches_Start + text: |- + az hpc-cache start --resource-group "scgroup" --name "sc" +""" + +helps['hpc-cache stop'] = """ + type: command + short-summary: Tells an Active Cache to transition to Stopped state. + examples: + - name: Caches_Stop + text: |- + az hpc-cache stop --resource-group "scgroup" --name "sc" +""" + +helps['hpc-cache flush'] = """ + type: command + short-summary: Tells a Cache to write all dirty data to the Storage Target(s). During the flush, clients will see errors returned until the flush is complete. + examples: + - name: Caches_Flush + text: |- + az hpc-cache flush --resource-group "scgroup" --name "sc" +""" + +helps['hpc-cache upgrade-firmware'] = """ + type: command + short-summary: Upgrade a Cache's firmware if a new version is available. Otherwise, this operation has no effect. + examples: + - name: Caches_UpgradeFirmware + text: |- + az hpc-cache upgrade-firmware --resource-group "scgroup" --name "sc" +""" + +helps['hpc-cache wait'] = """ + type: command + short-summary: Waits a hpc Cache to specified state. + examples: + - name: Caches_Wait + text: |- + az hpc-cache wait --resource-group "scgroup" --name "sc" --created +""" + +helps['hpc-cache storage-target'] = """ + type: group + short-summary: Commands to manage hpc cache storage target. +""" + +helps['hpc-cache blob-storage-target'] = """ + type: group + short-summary: Commands to create hpc cache blob storage target. +""" + +helps['hpc-cache nfs-storage-target'] = """ + type: group + short-summary: Commands to create hpc cache nfs storage target. +""" + +helps['hpc-cache blob-storage-target add'] = """ + type: command + short-summary: Create or update a blob Storage Target. This operation is allowed at any time, but if the Cache is down or unhealthy, the actual creation/modification of the Storage Target may be delayed until the Cache is healthy again. + examples: + - name: StorageTargets_CreateOrUpdate + text: |- + az hpc-cache blob-storage-target add --resource-group "scgroup" --cache-name "sc1" --name \\ + "st1" --storage-account "/subscriptions/{subscription_id}/resourceGroups/{resource_group}/providers/Microsoft.Storage/storageAccounts/{acount_name}" \\ + --container-name "cn" --virtual-namespace-path "/test" +""" + +helps['hpc-cache blob-storage-target update'] = """ + type: command + short-summary: Create or update a blob Storage Target. This operation is allowed at any time, but if the Cache is down or unhealthy, the actual creation/modification of the Storage Target may be delayed until the Cache is healthy again. +""" + +helps['hpc-cache nfs-storage-target add'] = """ + type: command + short-summary: Create or update a nfs Storage Target. This operation is allowed at any time, but if the Cache is down or unhealthy, the actual creation/modification of the Storage Target may be delayed until the Cache is healthy again. + examples: + - name: StorageTargets_CreateOrUpdate + text: |- + az hpc-cache nfs-storage-target add --resource-group "scgroup" --cache-name "sc1" --name \\ + "st1" --nfs3-target 10.7.0.24 --nfs3-usage-model WRITE_AROUND \\ + --junction namespace-path="/nt2" nfs-export="/export/a" target-path="/1" \\ + --junction namespace-path="/nt3" nfs-export="/export/b" +""" + +helps['hpc-cache nfs-storage-target update'] = """ + type: command + short-summary: Create or update a nfs Storage Target. This operation is allowed at any time, but if the Cache is down or unhealthy, the actual creation/modification of the Storage Target may be delayed until the Cache is healthy again. +""" + +helps['hpc-cache storage-target remove'] = """ + type: command + short-summary: Removes a Storage Target from a Cache. This operation is allowed at any time, but if the Cache is down or unhealthy, the actual removal of the Storage Target may be delayed until the Cache is healthy again. Note that if the Cache has data to flush to the Storage Target, the data will be flushed before the Storage Target will be deleted. + examples: + - name: StorageTargets_Delete + text: |- + az hpc-cache storage-target remove --resource-group "scgroup" --cache-name "sc1" --name \\ + "st1" +""" + +helps['hpc-cache storage-target show'] = """ + type: command + short-summary: Returns a Storage Target from a Cache. + examples: + - name: StorageTargets_Get + text: |- + az hpc-cache storage-target show --resource-group "scgroup" --cache-name "sc1" --name \\ + "st1" +""" + +helps['hpc-cache storage-target list'] = """ + type: command + short-summary: Returns a list of Storage Targets for the specified Cache. + examples: + - name: StorageTargets_List + text: |- + az hpc-cache storage-target list --resource-group "scgroup" --cache-name "sc1" +""" diff --git a/src/hpc-cache/azext_hpc_cache/_params.py b/src/hpc-cache/azext_hpc_cache/_params.py new file mode 100644 index 00000000000..f964a678766 --- /dev/null +++ b/src/hpc-cache/azext_hpc_cache/_params.py @@ -0,0 +1,133 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- +# pylint: disable=line-too-long +# pylint: disable=too-many-lines +# pylint: disable=too-many-statements + +from azure.cli.core.commands.parameters import ( + tags_type, + resource_group_name_type, + get_location_type +) +from ._validators import process_container_resource, transfer_cache_name + + +def load_arguments(self, _): + + with self.argument_context('hpc-cache skus list') as c: + pass + + with self.argument_context('hpc-cache usage-model list') as c: + pass + + with self.argument_context('hpc-cache create') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('name', help='Name of Cache.', required=True) + c.argument('tags', tags_type) + c.argument('location', arg_type=get_location_type(self.cli_ctx), required=True) + c.argument('cache_size_gb', help='The size of this Cache, in GB.', required=True) + c.argument('subnet', help='Subnet used for the Cache.', required=True) + c.argument('sku_name', help='SKU name for this Cache.', required=True) + + with self.argument_context('hpc-cache update') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('name', help='Name of Cache.') + c.argument('tags', tags_type) + c.argument('location', arg_type=get_location_type(self.cli_ctx)) + c.argument('cache_size_gb', help='The size of this Cache, in GB.') + c.argument('subnet', help='Subnet used for the Cache.') + c.argument('sku_name', help='SKU name for this Cache.') + + with self.argument_context('hpc-cache delete') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('name', help='Name of Cache.') + + with self.argument_context('hpc-cache show') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('name', help='Name of Cache.') + + with self.argument_context('hpc-cache wait') as c: + c.argument('resource_group_name', resource_group_name_type) + c.extra('name', help='Name of Cache.', validator=transfer_cache_name, required=True) + c.ignore('cache_name') + + with self.argument_context('hpc-cache list') as c: + c.argument('resource_group_name', resource_group_name_type, required=False) + + with self.argument_context('hpc-cache flush') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('name', help='Name of Cache.') + + with self.argument_context('hpc-cache start') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('name', help='Name of Cache.') + + with self.argument_context('hpc-cache stop') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('name', help='Name of Cache.') + + with self.argument_context('hpc-cache upgrade-firmware') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('name', help='Name of Cache.') + + with self.argument_context('hpc-cache blob-storage-target add') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('cache_name', help='Name of Cache.') + c.argument('name', help='Name of the Storage Target.') + c.argument('virtual_namespace_path', options_list=['--virtual-namespace-path', '-v'], required=True, + help='Path to create for this storage target in the client-facing virtual filesystem.') + c.extra('storage_account', options_list=['--storage-account'], help='Resource ID of target storage account.', + required=True) + c.extra('container_name', options_list=['--container-name'], validator=process_container_resource, + required=True, help='Name of target storage container.') + c.ignore('clfs_target') + + with self.argument_context('hpc-cache blob-storage-target update') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('cache_name', help='Name of Cache.') + c.argument('name', help='Name of the Storage Target.') + c.argument('virtual_namespace_path', options_list=['--virtual-namespace-path', '-v'], + help='Path to create for this storage target in the client-facing virtual filesystem.') + c.extra('storage_account', options_list=['--storage-account'], + help='Resource ID of target storage account.') + c.extra('container_name', options_list=['--container-name'], validator=process_container_resource, + help='Name of target storage container.') + c.ignore('clfs_target') + + with self.argument_context('hpc-cache storage-target remove') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('cache_name', help='Name of Cache.') + c.argument('name', help='Name of the Storage Target.') + + with self.argument_context('hpc-cache storage-target show') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('cache_name', help='Name of Cache.') + c.argument('name', help='Name of the Storage Target.') + + with self.argument_context('hpc-cache storage-target list') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('cache_name', help='Name of Cache.') + + with self.argument_context('hpc-cache nfs-storage-target add') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('cache_name', help='Name of Cache.') + c.argument('name', help='Name of the Storage Target.') + from ._validators import JunctionAddAction + c.extra('junction', help='List of Cache namespace junctions to target for namespace associations.', + action=JunctionAddAction, nargs='+', required=True) + c.argument('nfs3_target', help='IP address or host name of an NFSv3 host (e.g., 10.0.44.44).', required=True) + c.argument('nfs3_usage_model', help='Identifies the primary usage model to be used for this Storage Target.', + required=True) + c.ignore('junctions') + + with self.argument_context('hpc-cache nfs-storage-target update') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('cache_name', help='Name of Cache.') + c.argument('name', help='Name of the Storage Target.') + from ._validators import JunctionAddAction + c.extra('junction', help='List of Cache namespace junctions to target for namespace associations.', action=JunctionAddAction, nargs='+') + c.argument('nfs3_target', help='IP address or host name of an NFSv3 host (e.g., 10.0.44.44).') + c.argument('nfs3_usage_model', help='Identifies the primary usage model to be used for this Storage Target.') + c.ignore('junctions') diff --git a/src/hpc-cache/azext_hpc_cache/_validators.py b/src/hpc-cache/azext_hpc_cache/_validators.py new file mode 100644 index 00000000000..1412ec53a76 --- /dev/null +++ b/src/hpc-cache/azext_hpc_cache/_validators.py @@ -0,0 +1,50 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- +import argparse +from knack.util import CLIError + +# pylint: disable=unused-argument + + +def transfer_cache_name(cmd, namespace): + namespace.cache_name = namespace.name + del namespace.name + + +def process_container_resource(cmd, namespace): + """Processes the resource group parameter from the storage account and container name""" + if not namespace.storage_account or not namespace.container_name: + raise ValueError('usage error: Please specify --storage-account and --container-name for blob-storage-target') + from msrestazure.tools import is_valid_resource_id + if not is_valid_resource_id(namespace.storage_account): + raise ValueError('usage error: {} is not a valid resource id'.format(namespace.storage_account)) + namespace.clfs_target = '{}/blobServices/default/containers/{}'.format( + namespace.storage_account, namespace.container_name) + del namespace.storage_account + del namespace.container_name + + +# pylint: disable=protected-access +# pylint: disable=too-few-public-methods +class JunctionAddAction(argparse._AppendAction): + def __call__(self, parser, namespace, values, option_string=None): + if not namespace.junctions: + del namespace.junction + namespace.junctions = [] + kwargs = {} + for item in values: + try: + key, value = item.split('=', 1) + kwargs[key] = value + except ValueError: + raise CLIError('usage error: {} KEY=VALUE [KEY=VALUE ...]'.format(option_string)) + if 'namespace-path' not in kwargs: + raise CLIError('usage error: namespace-path cannot be empty in --junction') + if 'nfs-export' not in kwargs: + raise CLIError('usage error: nfs-export cannot be empty in --junction') + junction = {'namespacePath': kwargs['namespace-path'], 'nfsExport': kwargs['nfs-export']} + if 'target-path' in kwargs: + junction['targetPath'] = kwargs['target-path'] + namespace.junctions.append(junction) diff --git a/src/hpc-cache/azext_hpc_cache/azext_metadata.json b/src/hpc-cache/azext_hpc_cache/azext_metadata.json new file mode 100644 index 00000000000..b46fbec5cb3 --- /dev/null +++ b/src/hpc-cache/azext_hpc_cache/azext_metadata.json @@ -0,0 +1,5 @@ +{ + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.3.0", + "azext.isExperimental": true +} \ No newline at end of file diff --git a/src/hpc-cache/azext_hpc_cache/commands.py b/src/hpc-cache/azext_hpc_cache/commands.py new file mode 100644 index 00000000000..e7b4c57d0b8 --- /dev/null +++ b/src/hpc-cache/azext_hpc_cache/commands.py @@ -0,0 +1,62 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +# pylint: disable=line-too-long +# pylint: disable=too-many-lines +# pylint: disable=too-many-statements +# pylint: disable=too-many-locals +from azure.cli.core.commands import CliCommandType + + +def load_command_table(self, _): + from ._client_factory import cf_skus + hpc_cache_skus = CliCommandType( + operations_tmpl='azext_hpc_cache.vendored_sdks.storagecache.operations._skus_operations#SkusOperations.{}', + client_factory=cf_skus) + with self.command_group('hpc-cache skus', hpc_cache_skus, client_factory=cf_skus) as g: + g.custom_command('list', 'list_hpc_cache_skus') + + from ._client_factory import cf_usage_models + hpc_cache_usage_models = CliCommandType( + operations_tmpl='azext_hpc_cache.vendored_sdks.storagecache.operations._usage_models_operations#UsageModelsOperations.{}', + client_factory=cf_usage_models) + with self.command_group('hpc-cache usage-model', hpc_cache_usage_models, client_factory=cf_usage_models) as g: + g.custom_command('list', 'list_hpc_cache_usage_model') + + from ._client_factory import cf_caches + hpc_cache_caches = CliCommandType( + operations_tmpl='azext_hpc_cache.vendored_sdks.storagecache.operations._caches_operations#CachesOperations.{}', + client_factory=cf_caches) + with self.command_group('hpc-cache', hpc_cache_caches, client_factory=cf_caches) as g: + g.custom_command('create', 'create_hpc_cache', supports_no_wait=True) + g.custom_command('update', 'update_hpc_cache') + g.custom_command('delete', 'delete_hpc_cache', supports_no_wait=True) + g.custom_show_command('show', 'get_hpc_cache') + g.custom_command('list', 'list_hpc_cache') + g.custom_command('flush', 'flush_hpc_cache') + g.custom_command('start', 'start_hpc_cache', supports_no_wait=True) + g.custom_command('stop', 'stop_hpc_cache', supports_no_wait=True) + g.custom_command('upgrade-firmware', 'upgrade_firmware_hpc_cache') + g.wait_command('wait') + + from ._client_factory import cf_storage_targets + hpc_cache_storage_targets = CliCommandType( + operations_tmpl='azext_hpc_cache.vendored_sdks.storagecache.operations._storage_targets_operations#StorageTargetsOperations.{}', + client_factory=cf_storage_targets) + with self.command_group('hpc-cache blob-storage-target', hpc_cache_storage_targets, client_factory=cf_storage_targets) as g: + g.custom_command('add', 'create_hpc_cache_blob_storage_target') + g.custom_command('update', 'update_hpc_cache_blob_storage_target') + + with self.command_group('hpc-cache storage-target', hpc_cache_storage_targets, client_factory=cf_storage_targets) as g: + g.custom_command('remove', 'delete_hpc_cache_storage_target') + g.custom_command('show', 'get_hpc_cache_storage_target') + g.custom_command('list', 'list_hpc_cache_storage_target') + + with self.command_group('hpc-cache nfs-storage-target', hpc_cache_storage_targets, client_factory=cf_storage_targets) as g: + g.custom_command('add', 'create_hpc_cache_nfs_storage_target') + g.custom_command('update', 'update_hpc_cache_nfs_storage_target') + + with self.command_group('hpc-cache', is_experimental=True) as g: + pass diff --git a/src/hpc-cache/azext_hpc_cache/custom.py b/src/hpc-cache/azext_hpc_cache/custom.py new file mode 100644 index 00000000000..487b7c54faa --- /dev/null +++ b/src/hpc-cache/azext_hpc_cache/custom.py @@ -0,0 +1,183 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- +# pylint: disable=line-too-long +# pylint: disable=too-many-statements +# pylint: disable=too-many-lines +# pylint: disable=too-many-locals +# pylint: disable=unused-argument + + +def list_hpc_cache_skus(cmd, client): + return client.list() + + +def list_hpc_cache_usage_model(cmd, client): + return client.list() + + +def create_hpc_cache(cmd, client, + resource_group_name, + name, + tags=None, + location=None, + cache_size_gb=None, + subnet=None, + sku_name=None): + body = {} + body['tags'] = tags # unknown-primary[object] + body['location'] = location # str + body['cache_size_gb'] = cache_size_gb # number + body['subnet'] = subnet # str + body.setdefault('sku', {})['name'] = sku_name # str + return client.create_or_update(resource_group_name=resource_group_name, cache_name=name, cache=body) + + +def update_hpc_cache(cmd, client, + resource_group_name, + name, + tags=None, + location=None, + cache_size_gb=None, + subnet=None, + sku_name=None): + body = {} + if tags is not None: + body['tags'] = tags # unknown-primary[object] + if location is not None: + body['location'] = location # str + if cache_size_gb is not None: + body['cache_size_gb'] = cache_size_gb # number + if subnet is not None: + body['subnet'] = subnet # str + if sku_name is not None: + body.setdefault('sku', {})['name'] = sku_name # str + client.config.generate_client_request_id = True + return client.update(resource_group_name=resource_group_name, cache_name=name, cache=body) + + +def delete_hpc_cache(cmd, client, + resource_group_name, + name): + return client.delete(resource_group_name=resource_group_name, cache_name=name) + + +def get_hpc_cache(cmd, client, + resource_group_name, + name): + return client.get(resource_group_name=resource_group_name, cache_name=name) + + +def list_hpc_cache(cmd, client, + resource_group_name): + if resource_group_name is None: + return client.list() + return client.list_by_resource_group(resource_group_name=resource_group_name) + + +def flush_hpc_cache(cmd, client, + resource_group_name, + name): + return client.flush(resource_group_name=resource_group_name, cache_name=name) + + +def upgrade_firmware_hpc_cache(cmd, client, + resource_group_name, + name): + return client.upgrade_firmware(resource_group_name=resource_group_name, cache_name=name) + + +def start_hpc_cache(cmd, client, + resource_group_name, + name): + return client.start(resource_group_name=resource_group_name, cache_name=name) + + +def stop_hpc_cache(cmd, client, + resource_group_name, + name): + return client.stop(resource_group_name=resource_group_name, cache_name=name) + + +def create_hpc_cache_blob_storage_target(cmd, client, + resource_group_name, + cache_name, + name, + virtual_namespace_path, + clfs_target): + body = {} + body['junctions'] = [{'namespacePath': virtual_namespace_path, 'targetPath': '/'}] + body['target_type'] = 'clfs' # str + body.setdefault('clfs', {})['target'] = clfs_target # str + return client.create_or_update(resource_group_name=resource_group_name, cache_name=cache_name, + storage_target_name=name, storagetarget=body) + + +def create_hpc_cache_nfs_storage_target(cmd, client, + resource_group_name, + cache_name, + name, + junctions, + nfs3_target, + nfs3_usage_model): + body = {} + body['junctions'] = junctions + body['target_type'] = 'nfs3' # str + body.setdefault('nfs3', {})['target'] = nfs3_target # str + body.setdefault('nfs3', {})['usage_model'] = nfs3_usage_model # str + return client.create_or_update(resource_group_name=resource_group_name, cache_name=cache_name, + storage_target_name=name, storagetarget=body) + + +def update_hpc_cache_blob_storage_target(cmd, client, + resource_group_name, + cache_name, + name, + virtual_namespace_path=None, + clfs_target=None): + body = {} + body['target_type'] = 'clfs' + if virtual_namespace_path is not None: + body['junctions'] = [{'namespacePath': virtual_namespace_path, 'targetPath': '/'}] + if clfs_target is not None: + body.setdefault('clfs', {})['target'] = clfs_target # str + return client.create_or_update(resource_group_name=resource_group_name, cache_name=cache_name, + storage_target_name=name, storagetarget=body) + + +def update_hpc_cache_nfs_storage_target(cmd, + client, + resource_group_name, + cache_name, + name, + junctions=None, + nfs3_target=None, + nfs3_usage_model=None): + body = {} + body['junctions'] = junctions + body['target_type'] = 'nfs3' # str + body.setdefault('nfs3', {})['target'] = nfs3_target # str + body.setdefault('nfs3', {})['usage_model'] = nfs3_usage_model # str + return client.create_or_update(resource_group_name=resource_group_name, cache_name=cache_name, + storage_target_name=name, storagetarget=body) + + +def delete_hpc_cache_storage_target(cmd, client, + resource_group_name, + cache_name, + name): + return client.delete(resource_group_name=resource_group_name, cache_name=cache_name, storage_target_name=name) + + +def get_hpc_cache_storage_target(cmd, client, + resource_group_name, + cache_name, + name): + return client.get(resource_group_name=resource_group_name, cache_name=cache_name, storage_target_name=name) + + +def list_hpc_cache_storage_target(cmd, client, + resource_group_name, + cache_name): + return client.list_by_cache(resource_group_name=resource_group_name, cache_name=cache_name) diff --git a/src/hpc-cache/azext_hpc_cache/tests/latest/recordings/test_hpc_cache.yaml b/src/hpc-cache/azext_hpc_cache/tests/latest/recordings/test_hpc_cache.yaml new file mode 100644 index 00000000000..4fc3b57e26d --- /dev/null +++ b/src/hpc-cache/azext_hpc_cache/tests/latest/recordings/test_hpc_cache.yaml @@ -0,0 +1,5846 @@ +interactions: +- request: + body: '{"sku": {"name": "Standard_LRS"}, "kind": "StorageV2", "location": "eastus", + "properties": {"supportsHttpsTrafficOnly": true}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage account create + Connection: + - keep-alive + Content-Length: + - '126' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -n -g -l --sku --https-only + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storage/7.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_hpc_cache000001/providers/Microsoft.Storage/storageAccounts/cli000004?api-version=2019-06-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + content-type: + - text/plain; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:04:26 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/eastus/asyncoperations/9fe0f1ed-f324-4be7-9934-837799571ca1?monitor=true&api-version=2019-06-01 + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage account create + Connection: + - keep-alive + ParameterSetName: + - -n -g -l --sku --https-only + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storage/7.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/eastus/asyncoperations/9fe0f1ed-f324-4be7-9934-837799571ca1?monitor=true&api-version=2019-06-01 + response: + body: + string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_hpc_cache000001/providers/Microsoft.Storage/storageAccounts/cli000004","name":"cli000004","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-17T06:04:26.1641347Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-17T06:04:26.1641347Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-17T06:04:26.1171853Z","primaryEndpoints":{"dfs":"https://cli000004.dfs.core.windows.net/","web":"https://cli000004.z13.web.core.windows.net/","blob":"https://cli000004.blob.core.windows.net/","queue":"https://cli000004.queue.core.windows.net/","table":"https://cli000004.table.core.windows.net/","file":"https://cli000004.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available"}}' + headers: + cache-control: + - no-cache + content-length: + - '1391' + content-type: + - application/json + date: + - Tue, 17 Mar 2020 06:04:43 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage container create + Connection: + - keep-alive + ParameterSetName: + - -n --account-name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storage/7.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/storageAccounts?api-version=2019-06-01 + response: + body: + string: '{"value":[{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azure-cli-test-rg/providers/Microsoft.Storage/storageAccounts/azureclitestrgdiag180","name":"azureclitestrgdiag180","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-12-30T03:44:58.6379144Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-12-30T03:44:58.6379144Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2019-12-30T03:44:58.5910120Z","primaryEndpoints":{"blob":"https://azureclitestrgdiag180.blob.core.windows.net/","queue":"https://azureclitestrgdiag180.queue.core.windows.net/","table":"https://azureclitestrgdiag180.table.core.windows.net/","file":"https://azureclitestrgdiag180.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azure-core-poc/providers/Microsoft.Storage/storageAccounts/azurecorepoc","name":"azurecorepoc","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-12-26T02:38:58.8233588Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-12-26T02:38:58.8233588Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-12-26T02:38:58.7452329Z","primaryEndpoints":{"dfs":"https://azurecorepoc.dfs.core.windows.net/","web":"https://azurecorepoc.z13.web.core.windows.net/","blob":"https://azurecorepoc.blob.core.windows.net/","queue":"https://azurecorepoc.queue.core.windows.net/","table":"https://azurecorepoc.table.core.windows.net/","file":"https://azurecorepoc.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://azurecorepoc-secondary.dfs.core.windows.net/","web":"https://azurecorepoc-secondary.z13.web.core.windows.net/","blob":"https://azurecorepoc-secondary.blob.core.windows.net/","queue":"https://azurecorepoc-secondary.queue.core.windows.net/","table":"https://azurecorepoc-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_hpc_cache000001/providers/Microsoft.Storage/storageAccounts/cli000004","name":"cli000004","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-17T06:04:26.1641347Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-17T06:04:26.1641347Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-17T06:04:26.1171853Z","primaryEndpoints":{"dfs":"https://cli000004.dfs.core.windows.net/","web":"https://cli000004.z13.web.core.windows.net/","blob":"https://cli000004.blob.core.windows.net/","queue":"https://cli000004.queue.core.windows.net/","table":"https://cli000004.table.core.windows.net/","file":"https://cli000004.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qianwens/providers/Microsoft.Storage/storageAccounts/qianwendev","name":"qianwendev","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qianwens/providers/Microsoft.Network/virtualNetworks/QIAN/subnets/default","action":"Allow","state":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qianwens/providers/Microsoft.Network/virtualNetworks/qianwendev/subnets/default","action":"Allow","state":"Succeeded"}],"ipRules":[{"value":"23.45.1.0/24","action":"Allow"},{"value":"23.45.1.1/24","action":"Allow"}],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-12T03:29:28.0084761Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-12T03:29:28.0084761Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-02-12T03:29:27.9459854Z","primaryEndpoints":{"dfs":"https://qianwendev.dfs.core.windows.net/","web":"https://qianwendev.z13.web.core.windows.net/","blob":"https://qianwendev.blob.core.windows.net/","queue":"https://qianwendev.queue.core.windows.net/","table":"https://qianwendev.table.core.windows.net/","file":"https://qianwendev.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://qianwendev-secondary.dfs.core.windows.net/","web":"https://qianwendev-secondary.z13.web.core.windows.net/","blob":"https://qianwendev-secondary.blob.core.windows.net/","queue":"https://qianwendev-secondary.queue.core.windows.net/","table":"https://qianwendev-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qianwens/providers/Microsoft.Storage/storageAccounts/qianwenhpctarget","name":"qianwenhpctarget","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-06T07:09:20.3073299Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-06T07:09:20.3073299Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-06T07:09:20.2291899Z","primaryEndpoints":{"dfs":"https://qianwenhpctarget.dfs.core.windows.net/","web":"https://qianwenhpctarget.z13.web.core.windows.net/","blob":"https://qianwenhpctarget.blob.core.windows.net/","queue":"https://qianwenhpctarget.queue.core.windows.net/","table":"https://qianwenhpctarget.table.core.windows.net/","file":"https://qianwenhpctarget.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://qianwenhpctarget-secondary.dfs.core.windows.net/","web":"https://qianwenhpctarget-secondary.z13.web.core.windows.net/","blob":"https://qianwenhpctarget-secondary.blob.core.windows.net/","queue":"https://qianwenhpctarget-secondary.queue.core.windows.net/","table":"https://qianwenhpctarget-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azure-cli-test-rg/providers/Microsoft.Storage/storageAccounts/storeayniadjso4lay","name":"storeayniadjso4lay","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-14T15:40:43.7851387Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-14T15:40:43.7851387Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-14T15:40:43.7070117Z","primaryEndpoints":{"dfs":"https://storeayniadjso4lay.dfs.core.windows.net/","web":"https://storeayniadjso4lay.z13.web.core.windows.net/","blob":"https://storeayniadjso4lay.blob.core.windows.net/","queue":"https://storeayniadjso4lay.queue.core.windows.net/","table":"https://storeayniadjso4lay.table.core.windows.net/","file":"https://storeayniadjso4lay.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zhoxing-test/providers/Microsoft.Storage/storageAccounts/azhoxingtest9851","name":"azhoxingtest9851","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{"hidden-DevTestLabs-LabUId":"6e279161-d008-42b7-90a1-6801fc4bc4ca"},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-21T05:43:15.2811036Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-21T05:43:15.2811036Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-02-21T05:43:15.2029670Z","primaryEndpoints":{"dfs":"https://azhoxingtest9851.dfs.core.windows.net/","web":"https://azhoxingtest9851.z22.web.core.windows.net/","blob":"https://azhoxingtest9851.blob.core.windows.net/","queue":"https://azhoxingtest9851.queue.core.windows.net/","table":"https://azhoxingtest9851.table.core.windows.net/","file":"https://azhoxingtest9851.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azure-cli-test-rg/providers/Microsoft.Storage/storageAccounts/azureclitestrgdiag","name":"azureclitestrgdiag","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-12-30T02:54:26.8971309Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-12-30T02:54:26.8971309Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2019-12-30T02:54:26.8502755Z","primaryEndpoints":{"blob":"https://azureclitestrgdiag.blob.core.windows.net/","queue":"https://azureclitestrgdiag.queue.core.windows.net/","table":"https://azureclitestrgdiag.table.core.windows.net/","file":"https://azureclitestrgdiag.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databoxoe2qtcqlnxonqpub522jgmpzgeegwhowl2qo6xqgfwtqcd3jzicz5yraawi/providers/Microsoft.Storage/storageAccounts/clitest6yrafi3cntx2cngw3","name":"clitest6yrafi3cntx2cngw3","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-06T14:00:05.4412024Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-06T14:00:05.4412024Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-06T14:00:05.3786989Z","primaryEndpoints":{"blob":"https://clitest6yrafi3cntx2cngw3.blob.core.windows.net/","queue":"https://clitest6yrafi3cntx2cngw3.queue.core.windows.net/","table":"https://clitest6yrafi3cntx2cngw3.table.core.windows.net/","file":"https://clitest6yrafi3cntx2cngw3.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databoxn5n2vkeyewiwob4e7e6nqiblkvvgc5qorevejhsntblvdlc2t373rrvy45p/providers/Microsoft.Storage/storageAccounts/clitest75g6r5uwkj7ker7wu","name":"clitest75g6r5uwkj7ker7wu","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T06:35:53.9029562Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T06:35:53.9029562Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-03T06:35:53.8248647Z","primaryEndpoints":{"blob":"https://clitest75g6r5uwkj7ker7wu.blob.core.windows.net/","queue":"https://clitest75g6r5uwkj7ker7wu.queue.core.windows.net/","table":"https://clitest75g6r5uwkj7ker7wu.table.core.windows.net/","file":"https://clitest75g6r5uwkj7ker7wu.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox5gpbe2knrizxsitmvje3fbdl44tf6cvpfqbpvsyicxmupsbyhmlcrg4wesk/providers/Microsoft.Storage/storageAccounts/clitest7b5n3o4aahl5rafju","name":"clitest7b5n3o4aahl5rafju","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T08:27:23.1140038Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T08:27:23.1140038Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-03T08:27:23.0514944Z","primaryEndpoints":{"blob":"https://clitest7b5n3o4aahl5rafju.blob.core.windows.net/","queue":"https://clitest7b5n3o4aahl5rafju.queue.core.windows.net/","table":"https://clitest7b5n3o4aahl5rafju.table.core.windows.net/","file":"https://clitest7b5n3o4aahl5rafju.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databoxlekg7y4dtg2pnsaueisdkyqi5mnvmlwxto2cpu3kv7snll4uc37q2rm4wme/providers/Microsoft.Storage/storageAccounts/clitestcu3wv45lektdc3whs","name":"clitestcu3wv45lektdc3whs","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T08:35:04.7531702Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T08:35:04.7531702Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-03T08:35:04.6750427Z","primaryEndpoints":{"blob":"https://clitestcu3wv45lektdc3whs.blob.core.windows.net/","queue":"https://clitestcu3wv45lektdc3whs.queue.core.windows.net/","table":"https://clitestcu3wv45lektdc3whs.table.core.windows.net/","file":"https://clitestcu3wv45lektdc3whs.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databoxeg3csudujzrh2zcvbjytg6gvlkp6sjfcozveffblaqhrzhsslvpr54lg7n2/providers/Microsoft.Storage/storageAccounts/clitestgdfhjpgc2wgbrddlq","name":"clitestgdfhjpgc2wgbrddlq","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T06:28:55.9105364Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T06:28:55.9105364Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-03T06:28:55.8480330Z","primaryEndpoints":{"blob":"https://clitestgdfhjpgc2wgbrddlq.blob.core.windows.net/","queue":"https://clitestgdfhjpgc2wgbrddlq.queue.core.windows.net/","table":"https://clitestgdfhjpgc2wgbrddlq.table.core.windows.net/","file":"https://clitestgdfhjpgc2wgbrddlq.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databoxoe2qtcqlnxonqpub522jgmpzgeegwhowl2qo6xqgfwtqcd3jzicz5yraawi/providers/Microsoft.Storage/storageAccounts/clitestl6h6fa53d2gbmohn3","name":"clitestl6h6fa53d2gbmohn3","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-06T13:59:30.5816034Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-06T13:59:30.5816034Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-06T13:59:30.5034613Z","primaryEndpoints":{"blob":"https://clitestl6h6fa53d2gbmohn3.blob.core.windows.net/","queue":"https://clitestl6h6fa53d2gbmohn3.queue.core.windows.net/","table":"https://clitestl6h6fa53d2gbmohn3.table.core.windows.net/","file":"https://clitestl6h6fa53d2gbmohn3.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databoxfgdxtb5b3moqarfyogd7fcognbrlsihjlj3acnscrixetycujoejzzalyi3/providers/Microsoft.Storage/storageAccounts/clitestldg5uo7ika27utek4","name":"clitestldg5uo7ika27utek4","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T08:59:48.7196866Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T08:59:48.7196866Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-03T08:59:48.6728325Z","primaryEndpoints":{"blob":"https://clitestldg5uo7ika27utek4.blob.core.windows.net/","queue":"https://clitestldg5uo7ika27utek4.queue.core.windows.net/","table":"https://clitestldg5uo7ika27utek4.table.core.windows.net/","file":"https://clitestldg5uo7ika27utek4.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox52yrfbe7molrqhwdubnr2jcijd22xsz3hgcg3btf3sza5boeklwgzzq5sfn/providers/Microsoft.Storage/storageAccounts/clitestm7nikx6sld4npo42d","name":"clitestm7nikx6sld4npo42d","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-06T14:20:54.5597796Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-06T14:20:54.5597796Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-06T14:20:54.4972558Z","primaryEndpoints":{"blob":"https://clitestm7nikx6sld4npo42d.blob.core.windows.net/","queue":"https://clitestm7nikx6sld4npo42d.queue.core.windows.net/","table":"https://clitestm7nikx6sld4npo42d.table.core.windows.net/","file":"https://clitestm7nikx6sld4npo42d.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databoxrg2slunrj5vx5aydveu66wkj6rh3ildamkumi4zojpcf6f4vastgfp4v3rw/providers/Microsoft.Storage/storageAccounts/clitestmap7c2xyjf3gsd7yg","name":"clitestmap7c2xyjf3gsd7yg","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T09:10:56.7318732Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T09:10:56.7318732Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-03T09:10:56.6381622Z","primaryEndpoints":{"blob":"https://clitestmap7c2xyjf3gsd7yg.blob.core.windows.net/","queue":"https://clitestmap7c2xyjf3gsd7yg.queue.core.windows.net/","table":"https://clitestmap7c2xyjf3gsd7yg.table.core.windows.net/","file":"https://clitestmap7c2xyjf3gsd7yg.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databoxu7woflo47pjem4rfw2djuvafywtfnprfpduospdfotkqkudaylsua3ybqpa/providers/Microsoft.Storage/storageAccounts/clitestnxsheqf5s5rcht46h","name":"clitestnxsheqf5s5rcht46h","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T06:40:27.7931436Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T06:40:27.7931436Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-03T06:40:27.7305929Z","primaryEndpoints":{"blob":"https://clitestnxsheqf5s5rcht46h.blob.core.windows.net/","queue":"https://clitestnxsheqf5s5rcht46h.queue.core.windows.net/","table":"https://clitestnxsheqf5s5rcht46h.table.core.windows.net/","file":"https://clitestnxsheqf5s5rcht46h.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox52yrfbe7molrqhwdubnr2jcijd22xsz3hgcg3btf3sza5boeklwgzzq5sfn/providers/Microsoft.Storage/storageAccounts/clitestqsel4b35pkfyubvyx","name":"clitestqsel4b35pkfyubvyx","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-06T14:20:08.8041709Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-06T14:20:08.8041709Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-06T14:20:08.7417121Z","primaryEndpoints":{"blob":"https://clitestqsel4b35pkfyubvyx.blob.core.windows.net/","queue":"https://clitestqsel4b35pkfyubvyx.queue.core.windows.net/","table":"https://clitestqsel4b35pkfyubvyx.table.core.windows.net/","file":"https://clitestqsel4b35pkfyubvyx.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databoxam64dpcskfsb23dkj6zbvxysimh24e3upfdsdmuxbdl2j25ckz2uz5lht5y/providers/Microsoft.Storage/storageAccounts/clitesty2xsxbbcego73beie","name":"clitesty2xsxbbcego73beie","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T05:23:45.1933083Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T05:23:45.1933083Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-03T05:23:45.1308322Z","primaryEndpoints":{"blob":"https://clitesty2xsxbbcego73beie.blob.core.windows.net/","queue":"https://clitesty2xsxbbcego73beie.queue.core.windows.net/","table":"https://clitesty2xsxbbcego73beie.table.core.windows.net/","file":"https://clitesty2xsxbbcego73beie.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azure-core-poc/providers/Microsoft.Storage/storageAccounts/sfsafsaf","name":"sfsafsaf","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-12T10:01:37.0551963Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-12T10:01:37.0551963Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-12T10:01:36.9614761Z","primaryEndpoints":{"dfs":"https://sfsafsaf.dfs.core.windows.net/","web":"https://sfsafsaf.z22.web.core.windows.net/","blob":"https://sfsafsaf.blob.core.windows.net/","queue":"https://sfsafsaf.queue.core.windows.net/","table":"https://sfsafsaf.table.core.windows.net/","file":"https://sfsafsaf.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"identity":{"principalId":"2a730f61-76ac-426b-a91d-4b130208ba0d","tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a","type":"SystemAssigned"},"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ygmanual3/providers/Microsoft.Storage/storageAccounts/ygmanual3","name":"ygmanual3","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-05T18:34:38.5168098Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-05T18:34:38.5168098Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-05T18:34:38.4543411Z","primaryEndpoints":{"dfs":"https://ygmanual3.dfs.core.windows.net/","web":"https://ygmanual3.z22.web.core.windows.net/","blob":"https://ygmanual3.blob.core.windows.net/","queue":"https://ygmanual3.queue.core.windows.net/","table":"https://ygmanual3.table.core.windows.net/","file":"https://ygmanual3.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://ygmanual3-secondary.dfs.core.windows.net/","web":"https://ygmanual3-secondary.z22.web.core.windows.net/","blob":"https://ygmanual3-secondary.blob.core.windows.net/","queue":"https://ygmanual3-secondary.queue.core.windows.net/","table":"https://ygmanual3-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yu-test-rg-westus/providers/Microsoft.Storage/storageAccounts/yutestdbsawestus","name":"yutestdbsawestus","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-25T11:11:24.7554090Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-25T11:11:24.7554090Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-02-25T11:11:24.6772540Z","primaryEndpoints":{"dfs":"https://yutestdbsawestus.dfs.core.windows.net/","web":"https://yutestdbsawestus.z22.web.core.windows.net/","blob":"https://yutestdbsawestus.blob.core.windows.net/","queue":"https://yutestdbsawestus.queue.core.windows.net/","table":"https://yutestdbsawestus.table.core.windows.net/","file":"https://yutestdbsawestus.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://yutestdbsawestus-secondary.dfs.core.windows.net/","web":"https://yutestdbsawestus-secondary.z22.web.core.windows.net/","blob":"https://yutestdbsawestus-secondary.blob.core.windows.net/","queue":"https://yutestdbsawestus-secondary.queue.core.windows.net/","table":"https://yutestdbsawestus-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yu-test-rg-westus/providers/Microsoft.Storage/storageAccounts/yutestlro","name":"yutestlro","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-28T07:50:15.1386919Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-28T07:50:15.1386919Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-02-28T07:50:15.0762161Z","primaryEndpoints":{"blob":"https://yutestlro.blob.core.windows.net/","queue":"https://yutestlro.queue.core.windows.net/","table":"https://yutestlro.table.core.windows.net/","file":"https://yutestlro.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"blob":"https://yutestlro-secondary.blob.core.windows.net/","queue":"https://yutestlro-secondary.queue.core.windows.net/","table":"https://yutestlro-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zhoxing-test/providers/Microsoft.Storage/storageAccounts/zhoxingtest2","name":"zhoxingtest2","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T03:09:41.7587583Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T03:09:41.7587583Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-03T03:09:41.6962163Z","primaryEndpoints":{"dfs":"https://zhoxingtest2.dfs.core.windows.net/","web":"https://zhoxingtest2.z22.web.core.windows.net/","blob":"https://zhoxingtest2.blob.core.windows.net/","queue":"https://zhoxingtest2.queue.core.windows.net/","table":"https://zhoxingtest2.table.core.windows.net/","file":"https://zhoxingtest2.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://zhoxingtest2-secondary.dfs.core.windows.net/","web":"https://zhoxingtest2-secondary.z22.web.core.windows.net/","blob":"https://zhoxingtest2-secondary.blob.core.windows.net/","queue":"https://zhoxingtest2-secondary.queue.core.windows.net/","table":"https://zhoxingtest2-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_GRS","tier":"Standard"},"kind":"BlobStorage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-my-standard-space-fez3hbt1bsvmr/providers/Microsoft.Storage/storageAccounts/dbstoragefez3hbt1bsvmr","name":"dbstoragefez3hbt1bsvmr","type":"Microsoft.Storage/storageAccounts","location":"eastasia","tags":{"application":"databricks","databricks-environment":"true"},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-16T03:14:00.7822307Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-16T03:14:00.7822307Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-16T03:14:00.7197710Z","primaryEndpoints":{"dfs":"https://dbstoragefez3hbt1bsvmr.dfs.core.windows.net/","blob":"https://dbstoragefez3hbt1bsvmr.blob.core.windows.net/","table":"https://dbstoragefez3hbt1bsvmr.table.core.windows.net/"},"primaryLocation":"eastasia","statusOfPrimary":"available","secondaryLocation":"southeastasia","statusOfSecondary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/feng-cli-rg/providers/Microsoft.Storage/storageAccounts/fengws1storage296335f3c7","name":"fengws1storage296335f3c7","type":"Microsoft.Storage/storageAccounts","location":"eastasia","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-14T14:41:02.2224956Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-14T14:41:02.2224956Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-02-14T14:41:02.1600089Z","primaryEndpoints":{"dfs":"https://fengws1storage296335f3c7.dfs.core.windows.net/","web":"https://fengws1storage296335f3c7.z7.web.core.windows.net/","blob":"https://fengws1storage296335f3c7.blob.core.windows.net/","queue":"https://fengws1storage296335f3c7.queue.core.windows.net/","table":"https://fengws1storage296335f3c7.table.core.windows.net/","file":"https://fengws1storage296335f3c7.file.core.windows.net/"},"primaryLocation":"eastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg6i4hl6iakg/providers/Microsoft.Storage/storageAccounts/clitestu3p7a7ib4n4y7gt4m","name":"clitestu3p7a7ib4n4y7gt4m","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-12-30T01:51:53.0814418Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-12-30T01:51:53.0814418Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2019-12-30T01:51:53.0189478Z","primaryEndpoints":{"blob":"https://clitestu3p7a7ib4n4y7gt4m.blob.core.windows.net/","queue":"https://clitestu3p7a7ib4n4y7gt4m.queue.core.windows.net/","table":"https://clitestu3p7a7ib4n4y7gt4m.table.core.windows.net/","file":"https://clitestu3p7a7ib4n4y7gt4m.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/jlrg1/providers/Microsoft.Storage/storageAccounts/jlcsst","name":"jlcsst","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-02T07:15:45.8047726Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-02T07:15:45.8047726Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-02T07:15:45.7422455Z","primaryEndpoints":{"dfs":"https://jlcsst.dfs.core.windows.net/","web":"https://jlcsst.z23.web.core.windows.net/","blob":"https://jlcsst.blob.core.windows.net/","queue":"https://jlcsst.queue.core.windows.net/","table":"https://jlcsst.table.core.windows.net/","file":"https://jlcsst.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/jlvm2rg/providers/Microsoft.Storage/storageAccounts/jlvm2rgdiag","name":"jlvm2rgdiag","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T04:41:48.6974827Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T04:41:48.6974827Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-03T04:41:48.6505931Z","primaryEndpoints":{"blob":"https://jlvm2rgdiag.blob.core.windows.net/","queue":"https://jlvm2rgdiag.queue.core.windows.net/","table":"https://jlvm2rgdiag.table.core.windows.net/","file":"https://jlvm2rgdiag.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qianwens/providers/Microsoft.Storage/storageAccounts/qianwensdiag","name":"qianwensdiag","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-04T07:17:09.1138103Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-04T07:17:09.1138103Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-02-04T07:17:09.0514178Z","primaryEndpoints":{"blob":"https://qianwensdiag.blob.core.windows.net/","queue":"https://qianwensdiag.queue.core.windows.net/","table":"https://qianwensdiag.table.core.windows.net/","file":"https://qianwensdiag.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yeming/providers/Microsoft.Storage/storageAccounts/yeming","name":"yeming","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-12-04T06:41:07.4012554Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-12-04T06:41:07.4012554Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-12-04T06:41:07.3699884Z","primaryEndpoints":{"dfs":"https://yeming.dfs.core.windows.net/","web":"https://yeming.z23.web.core.windows.net/","blob":"https://yeming.blob.core.windows.net/","queue":"https://yeming.queue.core.windows.net/","table":"https://yeming.table.core.windows.net/","file":"https://yeming.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available","secondaryLocation":"eastasia","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://yeming-secondary.dfs.core.windows.net/","web":"https://yeming-secondary.z23.web.core.windows.net/","blob":"https://yeming-secondary.blob.core.windows.net/","queue":"https://yeming-secondary.queue.core.windows.net/","table":"https://yeming-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azure-cli-test-rg/providers/Microsoft.Storage/storageAccounts/azureclitestrgdiag748","name":"azureclitestrgdiag748","type":"Microsoft.Storage/storageAccounts","location":"japaneast","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-01T05:17:58.5405622Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-01T05:17:58.5405622Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-01T05:17:58.4936629Z","primaryEndpoints":{"blob":"https://azureclitestrgdiag748.blob.core.windows.net/","queue":"https://azureclitestrgdiag748.queue.core.windows.net/","table":"https://azureclitestrgdiag748.table.core.windows.net/","file":"https://azureclitestrgdiag748.file.core.windows.net/"},"primaryLocation":"japaneast","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/bim-rg/providers/Microsoft.Storage/storageAccounts/bimrgdiag","name":"bimrgdiag","type":"Microsoft.Storage/storageAccounts","location":"japaneast","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-12T15:04:32.1018377Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-12T15:04:32.1018377Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-02-12T15:04:32.0706109Z","primaryEndpoints":{"blob":"https://bimrgdiag.blob.core.windows.net/","queue":"https://bimrgdiag.queue.core.windows.net/","table":"https://bimrgdiag.table.core.windows.net/","file":"https://bimrgdiag.file.core.windows.net/"},"primaryLocation":"japaneast","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/feng-cli-rg/providers/Microsoft.Storage/storageAccounts/fengclirgdiag","name":"fengclirgdiag","type":"Microsoft.Storage/storageAccounts","location":"japaneast","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-01T07:10:20.0599535Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-01T07:10:20.0599535Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-01T07:10:19.9974827Z","primaryEndpoints":{"blob":"https://fengclirgdiag.blob.core.windows.net/","queue":"https://fengclirgdiag.queue.core.windows.net/","table":"https://fengclirgdiag.table.core.windows.net/","file":"https://fengclirgdiag.file.core.windows.net/"},"primaryLocation":"japaneast","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zhoxing-test/providers/Microsoft.Storage/storageAccounts/store6472qnxl3vv5o","name":"store6472qnxl3vv5o","type":"Microsoft.Storage/storageAccounts","location":"southcentralus","tags":{"project":"Digital + Platform","env":"CI"},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-27T08:24:34.7235260Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-27T08:24:34.7235260Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-02-27T08:24:34.6453999Z","primaryEndpoints":{"blob":"https://store6472qnxl3vv5o.blob.core.windows.net/","queue":"https://store6472qnxl3vv5o.queue.core.windows.net/","table":"https://store6472qnxl3vv5o.table.core.windows.net/","file":"https://store6472qnxl3vv5o.file.core.windows.net/"},"primaryLocation":"southcentralus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/feng-cli-rg/providers/Microsoft.Storage/storageAccounts/extmigrate","name":"extmigrate","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-16T08:26:10.6796218Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-16T08:26:10.6796218Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-16T08:26:10.5858998Z","primaryEndpoints":{"blob":"https://extmigrate.blob.core.windows.net/","queue":"https://extmigrate.queue.core.windows.net/","table":"https://extmigrate.table.core.windows.net/","file":"https://extmigrate.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"blob":"https://extmigrate-secondary.blob.core.windows.net/","queue":"https://extmigrate-secondary.queue.core.windows.net/","table":"https://extmigrate-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/feng-cli-rg/providers/Microsoft.Storage/storageAccounts/fengclitest","name":"fengclitest","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-09T05:03:17.9861949Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-09T05:03:17.9861949Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-02-09T05:03:17.8924377Z","primaryEndpoints":{"blob":"https://fengclitest.blob.core.windows.net/","queue":"https://fengclitest.queue.core.windows.net/","table":"https://fengclitest.table.core.windows.net/","file":"https://fengclitest.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"blob":"https://fengclitest-secondary.blob.core.windows.net/","queue":"https://fengclitest-secondary.queue.core.windows.net/","table":"https://fengclitest-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/feng-cli-rg/providers/Microsoft.Storage/storageAccounts/fengsa","name":"fengsa","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-01-06T04:33:22.9379802Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-01-06T04:33:22.9379802Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-01-06T04:33:22.8754625Z","primaryEndpoints":{"dfs":"https://fengsa.dfs.core.windows.net/","web":"https://fengsa.z19.web.core.windows.net/","blob":"https://fengsa.blob.core.windows.net/","queue":"https://fengsa.queue.core.windows.net/","table":"https://fengsa.table.core.windows.net/","file":"https://fengsa.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://fengsa-secondary.dfs.core.windows.net/","web":"https://fengsa-secondary.z19.web.core.windows.net/","blob":"https://fengsa-secondary.blob.core.windows.net/","queue":"https://fengsa-secondary.queue.core.windows.net/","table":"https://fengsa-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zhoxing-test/providers/Microsoft.Storage/storageAccounts/storageaccountzhoxib2a8","name":"storageaccountzhoxib2a8","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-25T06:54:03.9825980Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-25T06:54:03.9825980Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-02-25T06:54:03.9044955Z","primaryEndpoints":{"blob":"https://storageaccountzhoxib2a8.blob.core.windows.net/","queue":"https://storageaccountzhoxib2a8.queue.core.windows.net/","table":"https://storageaccountzhoxib2a8.table.core.windows.net/","file":"https://storageaccountzhoxib2a8.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro1","name":"storagesfrepro1","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:07:42.2058942Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:07:42.2058942Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:07:42.1277444Z","primaryEndpoints":{"dfs":"https://storagesfrepro1.dfs.core.windows.net/","web":"https://storagesfrepro1.z19.web.core.windows.net/","blob":"https://storagesfrepro1.blob.core.windows.net/","queue":"https://storagesfrepro1.queue.core.windows.net/","table":"https://storagesfrepro1.table.core.windows.net/","file":"https://storagesfrepro1.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro1-secondary.dfs.core.windows.net/","web":"https://storagesfrepro1-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro1-secondary.blob.core.windows.net/","queue":"https://storagesfrepro1-secondary.queue.core.windows.net/","table":"https://storagesfrepro1-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro10","name":"storagesfrepro10","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:14:00.8753334Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:14:00.8753334Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:14:00.7815921Z","primaryEndpoints":{"dfs":"https://storagesfrepro10.dfs.core.windows.net/","web":"https://storagesfrepro10.z19.web.core.windows.net/","blob":"https://storagesfrepro10.blob.core.windows.net/","queue":"https://storagesfrepro10.queue.core.windows.net/","table":"https://storagesfrepro10.table.core.windows.net/","file":"https://storagesfrepro10.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro10-secondary.dfs.core.windows.net/","web":"https://storagesfrepro10-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro10-secondary.blob.core.windows.net/","queue":"https://storagesfrepro10-secondary.queue.core.windows.net/","table":"https://storagesfrepro10-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro11","name":"storagesfrepro11","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:14:28.9859417Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:14:28.9859417Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:14:28.8609347Z","primaryEndpoints":{"dfs":"https://storagesfrepro11.dfs.core.windows.net/","web":"https://storagesfrepro11.z19.web.core.windows.net/","blob":"https://storagesfrepro11.blob.core.windows.net/","queue":"https://storagesfrepro11.queue.core.windows.net/","table":"https://storagesfrepro11.table.core.windows.net/","file":"https://storagesfrepro11.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro11-secondary.dfs.core.windows.net/","web":"https://storagesfrepro11-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro11-secondary.blob.core.windows.net/","queue":"https://storagesfrepro11-secondary.queue.core.windows.net/","table":"https://storagesfrepro11-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro12","name":"storagesfrepro12","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:15:15.6785362Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:15:15.6785362Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:15:15.5848345Z","primaryEndpoints":{"dfs":"https://storagesfrepro12.dfs.core.windows.net/","web":"https://storagesfrepro12.z19.web.core.windows.net/","blob":"https://storagesfrepro12.blob.core.windows.net/","queue":"https://storagesfrepro12.queue.core.windows.net/","table":"https://storagesfrepro12.table.core.windows.net/","file":"https://storagesfrepro12.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro12-secondary.dfs.core.windows.net/","web":"https://storagesfrepro12-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro12-secondary.blob.core.windows.net/","queue":"https://storagesfrepro12-secondary.queue.core.windows.net/","table":"https://storagesfrepro12-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro13","name":"storagesfrepro13","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:16:55.7609361Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:16:55.7609361Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:16:55.6671828Z","primaryEndpoints":{"dfs":"https://storagesfrepro13.dfs.core.windows.net/","web":"https://storagesfrepro13.z19.web.core.windows.net/","blob":"https://storagesfrepro13.blob.core.windows.net/","queue":"https://storagesfrepro13.queue.core.windows.net/","table":"https://storagesfrepro13.table.core.windows.net/","file":"https://storagesfrepro13.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro13-secondary.dfs.core.windows.net/","web":"https://storagesfrepro13-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro13-secondary.blob.core.windows.net/","queue":"https://storagesfrepro13-secondary.queue.core.windows.net/","table":"https://storagesfrepro13-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro14","name":"storagesfrepro14","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:17:40.7661469Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:17:40.7661469Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:17:40.6880204Z","primaryEndpoints":{"dfs":"https://storagesfrepro14.dfs.core.windows.net/","web":"https://storagesfrepro14.z19.web.core.windows.net/","blob":"https://storagesfrepro14.blob.core.windows.net/","queue":"https://storagesfrepro14.queue.core.windows.net/","table":"https://storagesfrepro14.table.core.windows.net/","file":"https://storagesfrepro14.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro14-secondary.dfs.core.windows.net/","web":"https://storagesfrepro14-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro14-secondary.blob.core.windows.net/","queue":"https://storagesfrepro14-secondary.queue.core.windows.net/","table":"https://storagesfrepro14-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro15","name":"storagesfrepro15","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:18:52.1812445Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:18:52.1812445Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:18:52.0718543Z","primaryEndpoints":{"dfs":"https://storagesfrepro15.dfs.core.windows.net/","web":"https://storagesfrepro15.z19.web.core.windows.net/","blob":"https://storagesfrepro15.blob.core.windows.net/","queue":"https://storagesfrepro15.queue.core.windows.net/","table":"https://storagesfrepro15.table.core.windows.net/","file":"https://storagesfrepro15.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro15-secondary.dfs.core.windows.net/","web":"https://storagesfrepro15-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro15-secondary.blob.core.windows.net/","queue":"https://storagesfrepro15-secondary.queue.core.windows.net/","table":"https://storagesfrepro15-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro16","name":"storagesfrepro16","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:19:33.1863807Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:19:33.1863807Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:19:33.0770034Z","primaryEndpoints":{"dfs":"https://storagesfrepro16.dfs.core.windows.net/","web":"https://storagesfrepro16.z19.web.core.windows.net/","blob":"https://storagesfrepro16.blob.core.windows.net/","queue":"https://storagesfrepro16.queue.core.windows.net/","table":"https://storagesfrepro16.table.core.windows.net/","file":"https://storagesfrepro16.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro16-secondary.dfs.core.windows.net/","web":"https://storagesfrepro16-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro16-secondary.blob.core.windows.net/","queue":"https://storagesfrepro16-secondary.queue.core.windows.net/","table":"https://storagesfrepro16-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro17","name":"storagesfrepro17","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:04:23.5553513Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:04:23.5553513Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:04:23.4771469Z","primaryEndpoints":{"dfs":"https://storagesfrepro17.dfs.core.windows.net/","web":"https://storagesfrepro17.z19.web.core.windows.net/","blob":"https://storagesfrepro17.blob.core.windows.net/","queue":"https://storagesfrepro17.queue.core.windows.net/","table":"https://storagesfrepro17.table.core.windows.net/","file":"https://storagesfrepro17.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro17-secondary.dfs.core.windows.net/","web":"https://storagesfrepro17-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro17-secondary.blob.core.windows.net/","queue":"https://storagesfrepro17-secondary.queue.core.windows.net/","table":"https://storagesfrepro17-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro18","name":"storagesfrepro18","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:04:53.8320772Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:04:53.8320772Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:04:53.7383176Z","primaryEndpoints":{"dfs":"https://storagesfrepro18.dfs.core.windows.net/","web":"https://storagesfrepro18.z19.web.core.windows.net/","blob":"https://storagesfrepro18.blob.core.windows.net/","queue":"https://storagesfrepro18.queue.core.windows.net/","table":"https://storagesfrepro18.table.core.windows.net/","file":"https://storagesfrepro18.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro18-secondary.dfs.core.windows.net/","web":"https://storagesfrepro18-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro18-secondary.blob.core.windows.net/","queue":"https://storagesfrepro18-secondary.queue.core.windows.net/","table":"https://storagesfrepro18-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro19","name":"storagesfrepro19","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:05:26.3650238Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:05:26.3650238Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:05:26.2556326Z","primaryEndpoints":{"dfs":"https://storagesfrepro19.dfs.core.windows.net/","web":"https://storagesfrepro19.z19.web.core.windows.net/","blob":"https://storagesfrepro19.blob.core.windows.net/","queue":"https://storagesfrepro19.queue.core.windows.net/","table":"https://storagesfrepro19.table.core.windows.net/","file":"https://storagesfrepro19.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro19-secondary.dfs.core.windows.net/","web":"https://storagesfrepro19-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro19-secondary.blob.core.windows.net/","queue":"https://storagesfrepro19-secondary.queue.core.windows.net/","table":"https://storagesfrepro19-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro2","name":"storagesfrepro2","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:08:45.8498203Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:08:45.8498203Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:08:45.7717196Z","primaryEndpoints":{"dfs":"https://storagesfrepro2.dfs.core.windows.net/","web":"https://storagesfrepro2.z19.web.core.windows.net/","blob":"https://storagesfrepro2.blob.core.windows.net/","queue":"https://storagesfrepro2.queue.core.windows.net/","table":"https://storagesfrepro2.table.core.windows.net/","file":"https://storagesfrepro2.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro2-secondary.dfs.core.windows.net/","web":"https://storagesfrepro2-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro2-secondary.blob.core.windows.net/","queue":"https://storagesfrepro2-secondary.queue.core.windows.net/","table":"https://storagesfrepro2-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro20","name":"storagesfrepro20","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:06:07.4295934Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:06:07.4295934Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:06:07.3358422Z","primaryEndpoints":{"dfs":"https://storagesfrepro20.dfs.core.windows.net/","web":"https://storagesfrepro20.z19.web.core.windows.net/","blob":"https://storagesfrepro20.blob.core.windows.net/","queue":"https://storagesfrepro20.queue.core.windows.net/","table":"https://storagesfrepro20.table.core.windows.net/","file":"https://storagesfrepro20.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro20-secondary.dfs.core.windows.net/","web":"https://storagesfrepro20-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro20-secondary.blob.core.windows.net/","queue":"https://storagesfrepro20-secondary.queue.core.windows.net/","table":"https://storagesfrepro20-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro21","name":"storagesfrepro21","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:06:37.4780251Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:06:37.4780251Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:06:37.3686460Z","primaryEndpoints":{"dfs":"https://storagesfrepro21.dfs.core.windows.net/","web":"https://storagesfrepro21.z19.web.core.windows.net/","blob":"https://storagesfrepro21.blob.core.windows.net/","queue":"https://storagesfrepro21.queue.core.windows.net/","table":"https://storagesfrepro21.table.core.windows.net/","file":"https://storagesfrepro21.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro21-secondary.dfs.core.windows.net/","web":"https://storagesfrepro21-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro21-secondary.blob.core.windows.net/","queue":"https://storagesfrepro21-secondary.queue.core.windows.net/","table":"https://storagesfrepro21-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro22","name":"storagesfrepro22","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:06:59.8295391Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:06:59.8295391Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:06:59.7201581Z","primaryEndpoints":{"dfs":"https://storagesfrepro22.dfs.core.windows.net/","web":"https://storagesfrepro22.z19.web.core.windows.net/","blob":"https://storagesfrepro22.blob.core.windows.net/","queue":"https://storagesfrepro22.queue.core.windows.net/","table":"https://storagesfrepro22.table.core.windows.net/","file":"https://storagesfrepro22.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro22-secondary.dfs.core.windows.net/","web":"https://storagesfrepro22-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro22-secondary.blob.core.windows.net/","queue":"https://storagesfrepro22-secondary.queue.core.windows.net/","table":"https://storagesfrepro22-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro23","name":"storagesfrepro23","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:07:29.0846619Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:07:29.0846619Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:07:29.0065050Z","primaryEndpoints":{"dfs":"https://storagesfrepro23.dfs.core.windows.net/","web":"https://storagesfrepro23.z19.web.core.windows.net/","blob":"https://storagesfrepro23.blob.core.windows.net/","queue":"https://storagesfrepro23.queue.core.windows.net/","table":"https://storagesfrepro23.table.core.windows.net/","file":"https://storagesfrepro23.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro23-secondary.dfs.core.windows.net/","web":"https://storagesfrepro23-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro23-secondary.blob.core.windows.net/","queue":"https://storagesfrepro23-secondary.queue.core.windows.net/","table":"https://storagesfrepro23-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro24","name":"storagesfrepro24","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:07:53.2658712Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:07:53.2658712Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:07:53.1565651Z","primaryEndpoints":{"dfs":"https://storagesfrepro24.dfs.core.windows.net/","web":"https://storagesfrepro24.z19.web.core.windows.net/","blob":"https://storagesfrepro24.blob.core.windows.net/","queue":"https://storagesfrepro24.queue.core.windows.net/","table":"https://storagesfrepro24.table.core.windows.net/","file":"https://storagesfrepro24.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro24-secondary.dfs.core.windows.net/","web":"https://storagesfrepro24-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro24-secondary.blob.core.windows.net/","queue":"https://storagesfrepro24-secondary.queue.core.windows.net/","table":"https://storagesfrepro24-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro25","name":"storagesfrepro25","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:08:18.7432319Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:08:18.7432319Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:08:18.6338258Z","primaryEndpoints":{"dfs":"https://storagesfrepro25.dfs.core.windows.net/","web":"https://storagesfrepro25.z19.web.core.windows.net/","blob":"https://storagesfrepro25.blob.core.windows.net/","queue":"https://storagesfrepro25.queue.core.windows.net/","table":"https://storagesfrepro25.table.core.windows.net/","file":"https://storagesfrepro25.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro25-secondary.dfs.core.windows.net/","web":"https://storagesfrepro25-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro25-secondary.blob.core.windows.net/","queue":"https://storagesfrepro25-secondary.queue.core.windows.net/","table":"https://storagesfrepro25-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro3","name":"storagesfrepro3","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:09:19.5698333Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:09:19.5698333Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:09:19.3510997Z","primaryEndpoints":{"dfs":"https://storagesfrepro3.dfs.core.windows.net/","web":"https://storagesfrepro3.z19.web.core.windows.net/","blob":"https://storagesfrepro3.blob.core.windows.net/","queue":"https://storagesfrepro3.queue.core.windows.net/","table":"https://storagesfrepro3.table.core.windows.net/","file":"https://storagesfrepro3.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro3-secondary.dfs.core.windows.net/","web":"https://storagesfrepro3-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro3-secondary.blob.core.windows.net/","queue":"https://storagesfrepro3-secondary.queue.core.windows.net/","table":"https://storagesfrepro3-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro4","name":"storagesfrepro4","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:09:54.9930953Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:09:54.9930953Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:09:54.8993063Z","primaryEndpoints":{"dfs":"https://storagesfrepro4.dfs.core.windows.net/","web":"https://storagesfrepro4.z19.web.core.windows.net/","blob":"https://storagesfrepro4.blob.core.windows.net/","queue":"https://storagesfrepro4.queue.core.windows.net/","table":"https://storagesfrepro4.table.core.windows.net/","file":"https://storagesfrepro4.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro4-secondary.dfs.core.windows.net/","web":"https://storagesfrepro4-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro4-secondary.blob.core.windows.net/","queue":"https://storagesfrepro4-secondary.queue.core.windows.net/","table":"https://storagesfrepro4-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro5","name":"storagesfrepro5","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:10:48.1114395Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:10:48.1114395Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:10:48.0177273Z","primaryEndpoints":{"dfs":"https://storagesfrepro5.dfs.core.windows.net/","web":"https://storagesfrepro5.z19.web.core.windows.net/","blob":"https://storagesfrepro5.blob.core.windows.net/","queue":"https://storagesfrepro5.queue.core.windows.net/","table":"https://storagesfrepro5.table.core.windows.net/","file":"https://storagesfrepro5.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro5-secondary.dfs.core.windows.net/","web":"https://storagesfrepro5-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro5-secondary.blob.core.windows.net/","queue":"https://storagesfrepro5-secondary.queue.core.windows.net/","table":"https://storagesfrepro5-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro6","name":"storagesfrepro6","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:11:28.0269117Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:11:28.0269117Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:11:27.9331594Z","primaryEndpoints":{"dfs":"https://storagesfrepro6.dfs.core.windows.net/","web":"https://storagesfrepro6.z19.web.core.windows.net/","blob":"https://storagesfrepro6.blob.core.windows.net/","queue":"https://storagesfrepro6.queue.core.windows.net/","table":"https://storagesfrepro6.table.core.windows.net/","file":"https://storagesfrepro6.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro6-secondary.dfs.core.windows.net/","web":"https://storagesfrepro6-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro6-secondary.blob.core.windows.net/","queue":"https://storagesfrepro6-secondary.queue.core.windows.net/","table":"https://storagesfrepro6-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro7","name":"storagesfrepro7","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:12:08.7761892Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:12:08.7761892Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:12:08.6824637Z","primaryEndpoints":{"dfs":"https://storagesfrepro7.dfs.core.windows.net/","web":"https://storagesfrepro7.z19.web.core.windows.net/","blob":"https://storagesfrepro7.blob.core.windows.net/","queue":"https://storagesfrepro7.queue.core.windows.net/","table":"https://storagesfrepro7.table.core.windows.net/","file":"https://storagesfrepro7.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro7-secondary.dfs.core.windows.net/","web":"https://storagesfrepro7-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro7-secondary.blob.core.windows.net/","queue":"https://storagesfrepro7-secondary.queue.core.windows.net/","table":"https://storagesfrepro7-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro8","name":"storagesfrepro8","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:12:39.5221164Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:12:39.5221164Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:12:39.4283923Z","primaryEndpoints":{"dfs":"https://storagesfrepro8.dfs.core.windows.net/","web":"https://storagesfrepro8.z19.web.core.windows.net/","blob":"https://storagesfrepro8.blob.core.windows.net/","queue":"https://storagesfrepro8.queue.core.windows.net/","table":"https://storagesfrepro8.table.core.windows.net/","file":"https://storagesfrepro8.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro8-secondary.dfs.core.windows.net/","web":"https://storagesfrepro8-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro8-secondary.blob.core.windows.net/","queue":"https://storagesfrepro8-secondary.queue.core.windows.net/","table":"https://storagesfrepro8-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro9","name":"storagesfrepro9","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:13:18.1628430Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:13:18.1628430Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:13:18.0691096Z","primaryEndpoints":{"dfs":"https://storagesfrepro9.dfs.core.windows.net/","web":"https://storagesfrepro9.z19.web.core.windows.net/","blob":"https://storagesfrepro9.blob.core.windows.net/","queue":"https://storagesfrepro9.queue.core.windows.net/","table":"https://storagesfrepro9.table.core.windows.net/","file":"https://storagesfrepro9.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro9-secondary.dfs.core.windows.net/","web":"https://storagesfrepro9-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro9-secondary.blob.core.windows.net/","queue":"https://storagesfrepro9-secondary.queue.core.windows.net/","table":"https://storagesfrepro9-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuhcentral/providers/Microsoft.Storage/storageAccounts/zuhstorage","name":"zuhstorage","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{"ServiceName":"TAGVALUE"},"properties":{"privateEndpointConnections":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuhcentral/providers/Microsoft.Storage/storageAccounts/zuhstorage/privateEndpointConnections/zuhstorage.5ae41b56-a372-4111-b6d8-9ce4364fd8f4","name":"zuhstorage.5ae41b56-a372-4111-b6d8-9ce4364fd8f4","type":"Microsoft.Storage/storageAccounts/privateEndpointConnections","properties":{"provisioningState":"Succeeded","privateEndpoint":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuhcentral/providers/Microsoft.Network/privateEndpoints/zuhPE"},"privateLinkServiceConnectionState":{"status":"Rejected","description":"","actionRequired":"None"}}}],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-02T06:04:55.7104787Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-02T06:04:55.7104787Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-02T06:04:55.6167450Z","primaryEndpoints":{"dfs":"https://zuhstorage.dfs.core.windows.net/","web":"https://zuhstorage.z19.web.core.windows.net/","blob":"https://zuhstorage.blob.core.windows.net/","queue":"https://zuhstorage.queue.core.windows.net/","table":"https://zuhstorage.table.core.windows.net/","file":"https://zuhstorage.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://zuhstorage-secondary.dfs.core.windows.net/","web":"https://zuhstorage-secondary.z19.web.core.windows.net/","blob":"https://zuhstorage-secondary.blob.core.windows.net/","queue":"https://zuhstorage-secondary.queue.core.windows.net/","table":"https://zuhstorage-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/feng-cli-rg/providers/Microsoft.Storage/storageAccounts/fengwsstorage28dfde17cb1","name":"fengwsstorage28dfde17cb1","type":"Microsoft.Storage/storageAccounts","location":"westus2","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-07T04:11:42.2482670Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-07T04:11:42.2482670Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-02-07T04:11:42.1857797Z","primaryEndpoints":{"dfs":"https://fengwsstorage28dfde17cb1.dfs.core.windows.net/","web":"https://fengwsstorage28dfde17cb1.z5.web.core.windows.net/","blob":"https://fengwsstorage28dfde17cb1.blob.core.windows.net/","queue":"https://fengwsstorage28dfde17cb1.queue.core.windows.net/","table":"https://fengwsstorage28dfde17cb1.table.core.windows.net/","file":"https://fengwsstorage28dfde17cb1.file.core.windows.net/"},"primaryLocation":"westus2","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/bim-rg/providers/Microsoft.Storage/storageAccounts/bimstorageacc","name":"bimstorageacc","type":"Microsoft.Storage/storageAccounts","location":"westcentralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T07:20:55.2327590Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T07:20:55.2327590Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-03T07:20:55.1858389Z","primaryEndpoints":{"dfs":"https://bimstorageacc.dfs.core.windows.net/","web":"https://bimstorageacc.z4.web.core.windows.net/","blob":"https://bimstorageacc.blob.core.windows.net/","queue":"https://bimstorageacc.queue.core.windows.net/","table":"https://bimstorageacc.table.core.windows.net/","file":"https://bimstorageacc.file.core.windows.net/"},"primaryLocation":"westcentralus","statusOfPrimary":"available","secondaryLocation":"westus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://bimstorageacc-secondary.dfs.core.windows.net/","web":"https://bimstorageacc-secondary.z4.web.core.windows.net/","blob":"https://bimstorageacc-secondary.blob.core.windows.net/","queue":"https://bimstorageacc-secondary.queue.core.windows.net/","table":"https://bimstorageacc-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yu-test-rg-westus/providers/Microsoft.Storage/storageAccounts/sfsfsfsssf","name":"sfsfsfsssf","type":"Microsoft.Storage/storageAccounts","location":"westcentralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-05T07:16:53.7141799Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-05T07:16:53.7141799Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-05T07:16:53.6829148Z","primaryEndpoints":{"blob":"https://sfsfsfsssf.blob.core.windows.net/","queue":"https://sfsfsfsssf.queue.core.windows.net/","table":"https://sfsfsfsssf.table.core.windows.net/","file":"https://sfsfsfsssf.file.core.windows.net/"},"primaryLocation":"westcentralus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yu-test-rg-westus/providers/Microsoft.Storage/storageAccounts/stststeset","name":"stststeset","type":"Microsoft.Storage/storageAccounts","location":"westcentralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-05T07:13:11.0482184Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-05T07:13:11.0482184Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-05T07:13:10.9856962Z","primaryEndpoints":{"dfs":"https://stststeset.dfs.core.windows.net/","web":"https://stststeset.z4.web.core.windows.net/","blob":"https://stststeset.blob.core.windows.net/","queue":"https://stststeset.queue.core.windows.net/","table":"https://stststeset.table.core.windows.net/","file":"https://stststeset.file.core.windows.net/"},"primaryLocation":"westcentralus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yu-test-rg-westus/providers/Microsoft.Storage/storageAccounts/yusawcu","name":"yusawcu","type":"Microsoft.Storage/storageAccounts","location":"westcentralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-26T09:39:00.0292799Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-26T09:39:00.0292799Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-02-26T09:38:59.9667703Z","primaryEndpoints":{"dfs":"https://yusawcu.dfs.core.windows.net/","web":"https://yusawcu.z4.web.core.windows.net/","blob":"https://yusawcu.blob.core.windows.net/","queue":"https://yusawcu.queue.core.windows.net/","table":"https://yusawcu.table.core.windows.net/","file":"https://yusawcu.file.core.windows.net/"},"primaryLocation":"westcentralus","statusOfPrimary":"available","secondaryLocation":"westus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://yusawcu-secondary.dfs.core.windows.net/","web":"https://yusawcu-secondary.z4.web.core.windows.net/","blob":"https://yusawcu-secondary.blob.core.windows.net/","queue":"https://yusawcu-secondary.queue.core.windows.net/","table":"https://yusawcu-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuh/providers/Microsoft.Storage/storageAccounts/zuhlrs","name":"zuhlrs","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-17T05:09:22.3210722Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-17T05:09:22.3210722Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-17T05:09:22.2898219Z","primaryEndpoints":{"dfs":"https://zuhlrs.dfs.core.windows.net/","web":"https://zuhlrs.z3.web.core.windows.net/","blob":"https://zuhlrs.blob.core.windows.net/","queue":"https://zuhlrs.queue.core.windows.net/","table":"https://zuhlrs.table.core.windows.net/","file":"https://zuhlrs.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '106063' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:04:46 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-original-request-ids: + - a310f11f-6a5c-4e72-9764-f8bf438af4e0 + - 156e793d-e7dc-4180-a00d-6405d68bdb6a + - 0f1d4e52-2d39-4957-ac50-0246288efab8 + - 116fdcee-4a1a-4884-aa50-2c931d015d80 + - df8d98e9-5a3d-418b-b0b8-477095bdd1d2 + - 783061f7-9ce8-44f6-a69d-0a6bd10aa95b + - f12ccc58-84f5-4dad-9f0f-21bcc6cf239b + - 49c9eeed-dc78-461d-97da-f1cd24feccc2 + - 29e2aee7-b001-4e14-9d5f-a858c8e4628c + - 21f02ac9-b684-4ef1-9db7-4dbe8605765d + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage container create + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -n --account-name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storage/7.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + accept-language: + - en-US + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_hpc_cache000001/providers/Microsoft.Storage/storageAccounts/cli000004/listKeys?api-version=2019-06-01 + response: + body: + string: '{"keys":[{"keyName":"key1","value":"veryFakedStorageAccountKey==","permissions":"FULL"},{"keyName":"key2","value":"veryFakedStorageAccountKey==","permissions":"FULL"}]}' + headers: + cache-control: + - no-cache + content-length: + - '288' + content-type: + - application/json + date: + - Tue, 17 Mar 2020 06:04:47 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + status: + code: 200 + message: OK +- request: + body: null + headers: + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.8.1; Windows 10) AZURECLI/2.1.0 + x-ms-date: + - Tue, 17 Mar 2020 06:04:46 GMT + x-ms-version: + - '2018-11-09' + method: PUT + uri: https://cli000004.blob.core.windows.net/test?restype=container + response: + body: + string: '' + headers: + content-length: + - '0' + date: + - Tue, 17 Mar 2020 06:04:49 GMT + etag: + - '"0x8D7CA391A986E31"' + last-modified: + - Tue, 17 Mar 2020 06:04:50 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: + - '2018-11-09' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - role assignment create + Connection: + - keep-alive + ParameterSetName: + - --assignee --role --scope + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-authorization/0.52.0 Azure-SDK-For-Python AZURECLI/2.1.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_hpc_cache000001/providers/Microsoft.Storage/storageAccounts/cli000004/providers/Microsoft.Authorization/roleDefinitions?$filter=roleName%20eq%20%27Storage%20Account%20Contributor%27&api-version=2018-01-01-preview + response: + body: + string: '{"value":[{"properties":{"roleName":"Storage Account Contributor","type":"BuiltInRole","description":"Lets + you manage storage accounts, including accessing storage account keys which + provide full access to storage account data.","assignableScopes":["/"],"permissions":[{"actions":["Microsoft.Authorization/*/read","Microsoft.Insights/alertRules/*","Microsoft.Insights/diagnosticSettings/*","Microsoft.Network/virtualNetworks/subnets/joinViaServiceEndpoint/action","Microsoft.ResourceHealth/availabilityStatuses/read","Microsoft.Resources/deployments/*","Microsoft.Resources/subscriptions/resourceGroups/read","Microsoft.Storage/storageAccounts/*","Microsoft.Support/*"],"notActions":[],"dataActions":[],"notDataActions":[]}],"createdOn":"2015-06-02T00:18:27.3542698Z","updatedOn":"2019-05-29T20:56:33.9582501Z","createdBy":null,"updatedBy":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/17d1049b-9a84-46fb-8f53-869881c3d3ab","type":"Microsoft.Authorization/roleDefinitions","name":"17d1049b-9a84-46fb-8f53-869881c3d3ab"}]}' + headers: + cache-control: + - no-cache + content-length: + - '1089' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:04:51 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - x-ms-gateway-slice=Production; path=/; SameSite=None; secure; HttpOnly + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - role assignment create + Connection: + - keep-alive + ParameterSetName: + - --assignee --role --scope + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-graphrbac/0.60.0 Azure-SDK-For-Python AZURECLI/2.1.0 + accept-language: + - en-US + method: GET + uri: https://graph.windows.net/00000000-0000-0000-0000-000000000000/servicePrincipals?$filter=servicePrincipalNames%2Fany%28c%3Ac%20eq%20%27677a61e9-086e-4f13-986a-11aaedc31416%27%29&api-version=1.6 + response: + body: + string: '{"odata.metadata":"https://graph.windows.net/00000000-0000-0000-0000-000000000000/$metadata#directoryObjects","value":[]}' + headers: + access-control-allow-origin: + - '*' + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json; odata=minimalmetadata; streaming=true; charset=utf-8 + dataserviceversion: + - 3.0; + date: + - Tue, 17 Mar 2020 06:04:51 GMT + duration: + - '2819055' + expires: + - '-1' + ocp-aad-diagnostics-server-name: + - nnwm1rHUXNOC2HCdDk0/PkC/19HDnlsfx+Y5YAxupsE= + ocp-aad-session-key: + - Or5DgXXf7cgxn4rXsxW1ZwYX3a44gWHULRUiheThZBEm0OCfyPQSHb52arBeY0B7HkRkpBnaiRGez_LxcsZ3lohmqOifLADMQ_l1xGnT3KuMr8mh3oComYaiXNGW3BUe.njuVdWdvICmGMSNSTIVJY8W5F5qX6q356siRcr-3RZA + pragma: + - no-cache + request-id: + - 779c68a5-1159-4946-b794-0e3bcd63bd01 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-ms-dirapi-data-contract-version: + - '1.6' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"objectIds": ["677a61e9-086e-4f13-986a-11aaedc31416"], "includeDirectoryObjectReferences": + true}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - role assignment create + Connection: + - keep-alive + Content-Length: + - '97' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - --assignee --role --scope + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-graphrbac/0.60.0 Azure-SDK-For-Python AZURECLI/2.1.0 + accept-language: + - en-US + method: POST + uri: https://graph.windows.net/00000000-0000-0000-0000-000000000000/getObjectsByObjectIds?api-version=1.6 + response: + body: + string: '{"odata.metadata":"https://graph.windows.net/00000000-0000-0000-0000-000000000000/$metadata#directoryObjects","value":[{"odata.type":"Microsoft.DirectoryServices.ServicePrincipal","objectType":"ServicePrincipal","objectId":"677a61e9-086e-4f13-986a-11aaedc31416","deletionTimestamp":null,"accountEnabled":true,"addIns":[],"alternativeNames":[],"appDisplayName":"HPC + Cache Resource Provider","appId":"4392ab71-2ce2-4b0d-8770-b352745c73f5","applicationTemplateId":null,"appOwnerTenantId":"f8cdef31-a31e-4b4a-93e4-5f571e91255a","appRoleAssignmentRequired":false,"appRoles":[],"displayName":"HPC + Cache Resource Provider","errorUrl":null,"homepage":null,"informationalUrls":{"termsOfService":null,"support":null,"privacy":null,"marketing":null},"keyCredentials":[],"logoutUrl":null,"notificationEmailAddresses":[],"oauth2Permissions":[],"passwordCredentials":[],"preferredSingleSignOnMode":null,"preferredTokenSigningKeyEndDateTime":null,"preferredTokenSigningKeyThumbprint":null,"publisherName":"Microsoft + Services","replyUrls":[],"samlMetadataUrl":null,"samlSingleSignOnSettings":null,"servicePrincipalNames":["4392ab71-2ce2-4b0d-8770-b352745c73f5"],"servicePrincipalType":"Application","signInAudience":"AzureADMultipleOrgs","tags":[],"tokenEncryptionKeyId":null}]}' + headers: + access-control-allow-origin: + - '*' + cache-control: + - no-cache + content-length: + - '1262' + content-type: + - application/json; odata=minimalmetadata; streaming=true; charset=utf-8 + dataserviceversion: + - 3.0; + date: + - Tue, 17 Mar 2020 06:04:53 GMT + duration: + - '4416000' + expires: + - '-1' + ocp-aad-diagnostics-server-name: + - jr8yj9FL/uTgHXWOfs1K3qZJqXzBMlORaqSHWNV+91s= + ocp-aad-session-key: + - 5BA-qDoF_D8Jqi_MQpjL6UQxZD2VW-DsI4Lh2NGvFyGF4-2P5iobBXSCNQP8ZhKAm3fHcWTW8vRahsbV9kUvvUqW8YCoBjwWc0pt04FXYoDWENVeV9HwYnB5Pnc8Fqme.EB1YZl_T8OTR0BGzYBGppA7Typw-j7wuxcQOQ2vJK_4 + pragma: + - no-cache + request-id: + - f1f187eb-91fe-4144-8f53-ba8fa46a2093 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-ms-dirapi-data-contract-version: + - '1.6' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"properties": {"roleDefinitionId": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/17d1049b-9a84-46fb-8f53-869881c3d3ab", + "principalId": "677a61e9-086e-4f13-986a-11aaedc31416"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - role assignment create + Connection: + - keep-alive + Content-Length: + - '233' + Content-Type: + - application/json; charset=utf-8 + Cookie: + - x-ms-gateway-slice=Production + ParameterSetName: + - --assignee --role --scope + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-authorization/0.52.0 Azure-SDK-For-Python AZURECLI/2.1.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_hpc_cache000001/providers/Microsoft.Storage/storageAccounts/cli000004/providers/Microsoft.Authorization/roleAssignments/998f8cb4-57f2-4697-b537-6267646870b8?api-version=2018-09-01-preview + response: + body: + string: '{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/17d1049b-9a84-46fb-8f53-869881c3d3ab","principalId":"677a61e9-086e-4f13-986a-11aaedc31416","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_hpc_cache000001/providers/Microsoft.Storage/storageAccounts/cli000004","createdOn":"2020-03-17T06:04:53.9350748Z","updatedOn":"2020-03-17T06:04:53.9350748Z","createdBy":null,"updatedBy":"a9aa6a31-a53e-4776-afab-8ba3ea5dd918"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_hpc_cache000001/providers/Microsoft.Storage/storageAccounts/cli000004/providers/Microsoft.Authorization/roleAssignments/998f8cb4-57f2-4697-b537-6267646870b8","type":"Microsoft.Authorization/roleAssignments","name":"998f8cb4-57f2-4697-b537-6267646870b8"}' + headers: + cache-control: + - no-cache + content-length: + - '1041' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:05:00 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - x-ms-gateway-slice=Production; path=/; secure; HttpOnly; SameSite=None + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1197' + status: + code: 201 + message: Created +- request: + body: '{"location": "eastus", "tags": {}, "properties": {"addressSpace": {"addressPrefixes": + ["10.7.0.0/16"]}, "dhcpOptions": {}, "subnets": [{"properties": {"addressPrefix": + "10.7.0.0/24"}, "name": "default"}]}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet create + Connection: + - keep-alive + Content-Length: + - '205' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -g -n -l --address-prefix --subnet-name --subnet-prefix + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.1.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_hpc_cache000001/providers/Microsoft.Network/virtualNetworks/cli000002?api-version=2019-11-01 + response: + body: + string: "{\r\n \"name\": \"cli000002\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_hpc_cache000001/providers/Microsoft.Network/virtualNetworks/cli000002\",\r\n + \ \"etag\": \"W/\\\"af716d6a-6547-4227-af42-ad83a49ae84b\\\"\",\r\n \"type\": + \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"eastus\",\r\n + \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"resourceGuid\": \"39aa3b61-928a-42aa-a2d7-b7b0406720a2\",\r\n \"addressSpace\": + {\r\n \"addressPrefixes\": [\r\n \"10.7.0.0/16\"\r\n ]\r\n + \ },\r\n \"dhcpOptions\": {\r\n \"dnsServers\": []\r\n },\r\n + \ \"subnets\": [\r\n {\r\n \"name\": \"default\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_hpc_cache000001/providers/Microsoft.Network/virtualNetworks/cli000002/subnets/default\",\r\n + \ \"etag\": \"W/\\\"af716d6a-6547-4227-af42-ad83a49ae84b\\\"\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"addressPrefix\": \"10.7.0.0/24\",\r\n \"delegations\": + [],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n \"privateLinkServiceNetworkPolicies\": + \"Enabled\"\r\n },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets\"\r\n + \ }\r\n ],\r\n \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\": + false,\r\n \"enableVmProtection\": false\r\n }\r\n}" + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/793e4265-3ac8-47da-a883-2c7384666bab?api-version=2019-11-01 + cache-control: + - no-cache + content-length: + - '1494' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:05:08 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - b9941786-b4cd-4506-a0f1-40f48bcc2e5f + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet create + Connection: + - keep-alive + ParameterSetName: + - -g -n -l --address-prefix --subnet-name --subnet-prefix + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/793e4265-3ac8-47da-a883-2c7384666bab?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:05:12 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 12b2da79-46be-4729-8700-9f3973a2e5cc + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet create + Connection: + - keep-alive + ParameterSetName: + - -g -n -l --address-prefix --subnet-name --subnet-prefix + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/793e4265-3ac8-47da-a883-2c7384666bab?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"Succeeded\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '29' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:05:23 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - a498684b-5e8c-4cd0-b677-35bfb2141677 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet create + Connection: + - keep-alive + ParameterSetName: + - -g -n -l --address-prefix --subnet-name --subnet-prefix + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_hpc_cache000001/providers/Microsoft.Network/virtualNetworks/cli000002?api-version=2019-11-01 + response: + body: + string: "{\r\n \"name\": \"cli000002\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_hpc_cache000001/providers/Microsoft.Network/virtualNetworks/cli000002\",\r\n + \ \"etag\": \"W/\\\"faef8af9-e4ae-4735-a9b3-9d48858588ba\\\"\",\r\n \"type\": + \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"eastus\",\r\n + \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"resourceGuid\": \"39aa3b61-928a-42aa-a2d7-b7b0406720a2\",\r\n \"addressSpace\": + {\r\n \"addressPrefixes\": [\r\n \"10.7.0.0/16\"\r\n ]\r\n + \ },\r\n \"dhcpOptions\": {\r\n \"dnsServers\": []\r\n },\r\n + \ \"subnets\": [\r\n {\r\n \"name\": \"default\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_hpc_cache000001/providers/Microsoft.Network/virtualNetworks/cli000002/subnets/default\",\r\n + \ \"etag\": \"W/\\\"faef8af9-e4ae-4735-a9b3-9d48858588ba\\\"\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"addressPrefix\": \"10.7.0.0/24\",\r\n \"delegations\": + [],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n \"privateLinkServiceNetworkPolicies\": + \"Enabled\"\r\n },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets\"\r\n + \ }\r\n ],\r\n \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\": + false,\r\n \"enableVmProtection\": false\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1496' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:05:23 GMT + etag: + - W/"faef8af9-e4ae-4735-a9b3-9d48858588ba" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - f5d16b23-3535-4f95-aa3a-7b734ef8e67f + status: + code: 200 + message: OK +- request: + body: 'b''{"location": "eastus", "properties": {"cacheSizeGB": 3072, "subnet": + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_hpc_cache000001/providers/Microsoft.Network/virtualNetworks/cli000002/subnets/default"}, + "sku": {"name": "Standard_2G"}}''' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache create + Connection: + - keep-alive + Content-Length: + - '332' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - --resource-group --name --location --cache-size-gb --subnet --sku-name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_hpc_cache000001/providers/Microsoft.StorageCache/caches/cli000003?api-version=2019-11-01 + response: + body: + string: "{\r\n \"name\": \"cli000003\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_hpc_cache000001/providers/Microsoft.StorageCache/caches/cli000003\",\r\n + \ \"type\": \"Microsoft.StorageCache/caches\",\r\n \"location\": \"eastus\",\r\n + \ \"sku\": {\r\n \"name\": \"Standard_2G\"\r\n },\r\n \"properties\": + {\r\n \"cacheSizeGB\": 3072,\r\n \"health\": {\r\n \"state\": \"Transitioning\"\r\n + \ },\r\n \"provisioningState\": \"Creating\",\r\n \"subnet\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_hpc_cache000001/providers/Microsoft.Network/virtualNetworks/cli000002/subnets/default\",\r\n + \ \"upgradeStatus\": {\r\n \"currentFirmwareVersion\": \"5.3.42\",\r\n + \ \"firmwareUpdateStatus\": \"unavailable\",\r\n \"firmwareUpdateDeadline\": + \"0001-01-01T00:00:00Z\",\r\n \"lastFirmwareUpdate\": \"2020-03-17T06:05:30.229165Z\"\r\n + \ }\r\n }\r\n}" + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/11b30b5e-2e91-499e-91db-ec90f34b5f3a?api-version=2019-11-01 + cache-control: + - no-cache + content-length: + - '1004' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:05:30 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --cache-size-gb --subnet --sku-name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/11b30b5e-2e91-499e-91db-ec90f34b5f3a?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2020-03-17T06:05:30.0885556+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"11b30b5e-2e91-499e-91db-ec90f34b5f3a\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:06:02 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --cache-size-gb --subnet --sku-name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/11b30b5e-2e91-499e-91db-ec90f34b5f3a?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2020-03-17T06:05:30.0885556+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"11b30b5e-2e91-499e-91db-ec90f34b5f3a\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:06:32 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --cache-size-gb --subnet --sku-name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/11b30b5e-2e91-499e-91db-ec90f34b5f3a?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2020-03-17T06:05:30.0885556+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"11b30b5e-2e91-499e-91db-ec90f34b5f3a\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:07:03 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --cache-size-gb --subnet --sku-name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/11b30b5e-2e91-499e-91db-ec90f34b5f3a?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2020-03-17T06:05:30.0885556+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"11b30b5e-2e91-499e-91db-ec90f34b5f3a\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:07:34 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --cache-size-gb --subnet --sku-name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/11b30b5e-2e91-499e-91db-ec90f34b5f3a?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2020-03-17T06:05:30.0885556+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"11b30b5e-2e91-499e-91db-ec90f34b5f3a\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:08:04 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --cache-size-gb --subnet --sku-name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/11b30b5e-2e91-499e-91db-ec90f34b5f3a?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2020-03-17T06:05:30.0885556+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"11b30b5e-2e91-499e-91db-ec90f34b5f3a\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:08:34 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --cache-size-gb --subnet --sku-name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/11b30b5e-2e91-499e-91db-ec90f34b5f3a?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2020-03-17T06:05:30.0885556+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"11b30b5e-2e91-499e-91db-ec90f34b5f3a\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:09:05 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --cache-size-gb --subnet --sku-name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/11b30b5e-2e91-499e-91db-ec90f34b5f3a?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2020-03-17T06:05:30.0885556+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"11b30b5e-2e91-499e-91db-ec90f34b5f3a\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:09:35 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --cache-size-gb --subnet --sku-name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/11b30b5e-2e91-499e-91db-ec90f34b5f3a?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2020-03-17T06:05:30.0885556+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"11b30b5e-2e91-499e-91db-ec90f34b5f3a\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:10:06 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --cache-size-gb --subnet --sku-name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/11b30b5e-2e91-499e-91db-ec90f34b5f3a?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2020-03-17T06:05:30.0885556+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"11b30b5e-2e91-499e-91db-ec90f34b5f3a\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:10:37 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --cache-size-gb --subnet --sku-name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/11b30b5e-2e91-499e-91db-ec90f34b5f3a?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2020-03-17T06:05:30.0885556+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"11b30b5e-2e91-499e-91db-ec90f34b5f3a\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:11:08 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --cache-size-gb --subnet --sku-name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/11b30b5e-2e91-499e-91db-ec90f34b5f3a?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2020-03-17T06:05:30.0885556+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"11b30b5e-2e91-499e-91db-ec90f34b5f3a\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:11:38 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --cache-size-gb --subnet --sku-name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/11b30b5e-2e91-499e-91db-ec90f34b5f3a?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2020-03-17T06:05:30.0885556+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"11b30b5e-2e91-499e-91db-ec90f34b5f3a\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:12:08 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --cache-size-gb --subnet --sku-name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/11b30b5e-2e91-499e-91db-ec90f34b5f3a?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2020-03-17T06:05:30.0885556+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"11b30b5e-2e91-499e-91db-ec90f34b5f3a\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:12:39 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --cache-size-gb --subnet --sku-name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/11b30b5e-2e91-499e-91db-ec90f34b5f3a?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2020-03-17T06:05:30.0885556+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"11b30b5e-2e91-499e-91db-ec90f34b5f3a\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:13:09 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --cache-size-gb --subnet --sku-name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/11b30b5e-2e91-499e-91db-ec90f34b5f3a?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2020-03-17T06:05:30.0885556+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"11b30b5e-2e91-499e-91db-ec90f34b5f3a\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:13:40 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --cache-size-gb --subnet --sku-name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/11b30b5e-2e91-499e-91db-ec90f34b5f3a?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2020-03-17T06:05:30.0885556+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"11b30b5e-2e91-499e-91db-ec90f34b5f3a\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:14:11 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --cache-size-gb --subnet --sku-name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/11b30b5e-2e91-499e-91db-ec90f34b5f3a?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2020-03-17T06:05:30.0885556+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"11b30b5e-2e91-499e-91db-ec90f34b5f3a\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:14:41 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --cache-size-gb --subnet --sku-name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/11b30b5e-2e91-499e-91db-ec90f34b5f3a?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2020-03-17T06:05:30.0885556+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"11b30b5e-2e91-499e-91db-ec90f34b5f3a\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:15:11 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --cache-size-gb --subnet --sku-name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/11b30b5e-2e91-499e-91db-ec90f34b5f3a?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2020-03-17T06:05:30.0885556+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"11b30b5e-2e91-499e-91db-ec90f34b5f3a\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:15:42 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --cache-size-gb --subnet --sku-name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/11b30b5e-2e91-499e-91db-ec90f34b5f3a?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2020-03-17T06:05:30.0885556+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"11b30b5e-2e91-499e-91db-ec90f34b5f3a\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:16:13 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --cache-size-gb --subnet --sku-name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/11b30b5e-2e91-499e-91db-ec90f34b5f3a?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2020-03-17T06:05:30.0885556+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"11b30b5e-2e91-499e-91db-ec90f34b5f3a\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:16:43 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --cache-size-gb --subnet --sku-name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/11b30b5e-2e91-499e-91db-ec90f34b5f3a?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2020-03-17T06:05:30.0885556+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"11b30b5e-2e91-499e-91db-ec90f34b5f3a\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:17:14 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --cache-size-gb --subnet --sku-name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/11b30b5e-2e91-499e-91db-ec90f34b5f3a?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2020-03-17T06:05:30.0885556+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"11b30b5e-2e91-499e-91db-ec90f34b5f3a\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:17:44 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --cache-size-gb --subnet --sku-name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/11b30b5e-2e91-499e-91db-ec90f34b5f3a?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2020-03-17T06:05:30.0885556+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"11b30b5e-2e91-499e-91db-ec90f34b5f3a\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:18:15 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --cache-size-gb --subnet --sku-name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/11b30b5e-2e91-499e-91db-ec90f34b5f3a?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2020-03-17T06:05:30.0885556+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"11b30b5e-2e91-499e-91db-ec90f34b5f3a\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:18:45 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --cache-size-gb --subnet --sku-name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/11b30b5e-2e91-499e-91db-ec90f34b5f3a?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2020-03-17T06:05:30.0885556+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"11b30b5e-2e91-499e-91db-ec90f34b5f3a\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:19:16 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --cache-size-gb --subnet --sku-name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/11b30b5e-2e91-499e-91db-ec90f34b5f3a?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2020-03-17T06:05:30.0885556+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"11b30b5e-2e91-499e-91db-ec90f34b5f3a\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:19:46 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --cache-size-gb --subnet --sku-name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/11b30b5e-2e91-499e-91db-ec90f34b5f3a?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2020-03-17T06:05:30.0885556+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"11b30b5e-2e91-499e-91db-ec90f34b5f3a\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:20:17 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --cache-size-gb --subnet --sku-name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/11b30b5e-2e91-499e-91db-ec90f34b5f3a?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2020-03-17T06:05:30.0885556+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"11b30b5e-2e91-499e-91db-ec90f34b5f3a\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:20:48 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --cache-size-gb --subnet --sku-name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/11b30b5e-2e91-499e-91db-ec90f34b5f3a?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2020-03-17T06:05:30.0885556+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"11b30b5e-2e91-499e-91db-ec90f34b5f3a\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:21:19 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --cache-size-gb --subnet --sku-name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/11b30b5e-2e91-499e-91db-ec90f34b5f3a?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2020-03-17T06:05:30.0885556+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"11b30b5e-2e91-499e-91db-ec90f34b5f3a\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:21:49 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --cache-size-gb --subnet --sku-name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/11b30b5e-2e91-499e-91db-ec90f34b5f3a?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2020-03-17T06:05:30.0885556+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"11b30b5e-2e91-499e-91db-ec90f34b5f3a\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:22:20 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --cache-size-gb --subnet --sku-name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/11b30b5e-2e91-499e-91db-ec90f34b5f3a?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2020-03-17T06:05:30.0885556+00:00\",\r\n \"endTime\": + \"2020-03-17T06:22:37.6788399+00:00\",\r\n \"status\": \"Succeeded\",\r\n + \ \"name\": \"11b30b5e-2e91-499e-91db-ec90f34b5f3a\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '184' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:22:51 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --cache-size-gb --subnet --sku-name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_hpc_cache000001/providers/Microsoft.StorageCache/caches/cli000003?api-version=2019-11-01 + response: + body: + string: "{\r\n \"name\": \"cli000003\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_hpc_cache000001/providers/Microsoft.StorageCache/caches/cli000003\",\r\n + \ \"type\": \"Microsoft.StorageCache/caches\",\r\n \"location\": \"eastus\",\r\n + \ \"sku\": {\r\n \"name\": \"Standard_2G\"\r\n },\r\n \"properties\": + {\r\n \"cacheSizeGB\": 3072,\r\n \"health\": {\r\n \"state\": \"Degraded\",\r\n + \ \"statusDescription\": \"The health of the the cache is degraded\"\r\n + \ },\r\n \"mountAddresses\": [\r\n \"10.7.0.7\",\r\n \"10.7.0.8\",\r\n + \ \"10.7.0.9\"\r\n ],\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"subnet\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_hpc_cache000001/providers/Microsoft.Network/virtualNetworks/cli000002/subnets/default\",\r\n + \ \"upgradeStatus\": {\r\n \"currentFirmwareVersion\": \"5.3.42\",\r\n + \ \"firmwareUpdateStatus\": \"unavailable\",\r\n \"firmwareUpdateDeadline\": + \"0001-01-01T00:00:00Z\",\r\n \"lastFirmwareUpdate\": \"2020-03-17T06:05:30.229165Z\"\r\n + \ }\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1160' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:22:52 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: 'b''{"properties": {"junctions": [{"namespacePath": "/test", "targetPath": + "/"}], "targetType": "clfs", "clfs": {"target": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_hpc_cache000001/providers/Microsoft.Storage/storageAccounts/cli000004/blobServices/default/containers/test"}}}''' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache blob-storage-target add + Connection: + - keep-alive + Content-Length: + - '372' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - --resource-group --cache-name --name --storage-account --container-name --virtual-namespace-path + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_hpc_cache000001/providers/Microsoft.StorageCache/caches/cli000003/storageTargets/st1?api-version=2019-11-01 + response: + body: + string: "{\r\n \"name\": \"st1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_hpc_cache000001/providers/Microsoft.StorageCache/caches/cli000003/storageTargets/st1\",\r\n + \ \"type\": \"Microsoft.StorageCache/caches/storageTargets\",\r\n \"location\": + \"eastus\",\r\n \"properties\": {\r\n \"targetType\": \"clfs\",\r\n \"provisioningState\": + \"Creating\",\r\n \"junctions\": [\r\n {\r\n \"namespacePath\": + \"/test\",\r\n \"nfsExport\": \"/\",\r\n \"targetPath\": \"/\"\r\n + \ }\r\n ],\r\n \"clfs\": {\r\n \"target\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_hpc_cache000001/providers/Microsoft.Storage/storageAccounts/cli000004/blobServices/default/containers/test\"\r\n + \ }\r\n }\r\n}" + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/5a72fd0e-8da3-4442-90f5-320efe90dada?api-version=2019-11-01 + cache-control: + - no-cache + content-length: + - '859' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:22:54 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache blob-storage-target add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cache-name --name --storage-account --container-name --virtual-namespace-path + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/5a72fd0e-8da3-4442-90f5-320efe90dada?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2020-03-17T06:22:54.559309+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"5a72fd0e-8da3-4442-90f5-320efe90dada\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '133' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:23:25 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache blob-storage-target add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cache-name --name --storage-account --container-name --virtual-namespace-path + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/5a72fd0e-8da3-4442-90f5-320efe90dada?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2020-03-17T06:22:54.559309+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"5a72fd0e-8da3-4442-90f5-320efe90dada\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '133' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:23:56 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache blob-storage-target add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cache-name --name --storage-account --container-name --virtual-namespace-path + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/5a72fd0e-8da3-4442-90f5-320efe90dada?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2020-03-17T06:22:54.559309+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"5a72fd0e-8da3-4442-90f5-320efe90dada\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '133' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:24:26 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache blob-storage-target add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cache-name --name --storage-account --container-name --virtual-namespace-path + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/5a72fd0e-8da3-4442-90f5-320efe90dada?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2020-03-17T06:22:54.559309+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"5a72fd0e-8da3-4442-90f5-320efe90dada\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '133' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:24:58 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache blob-storage-target add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cache-name --name --storage-account --container-name --virtual-namespace-path + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/5a72fd0e-8da3-4442-90f5-320efe90dada?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2020-03-17T06:22:54.559309+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"5a72fd0e-8da3-4442-90f5-320efe90dada\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '133' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:25:28 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache blob-storage-target add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cache-name --name --storage-account --container-name --virtual-namespace-path + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/5a72fd0e-8da3-4442-90f5-320efe90dada?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2020-03-17T06:22:54.559309+00:00\",\r\n \"endTime\": + \"2020-03-17T06:25:34.6047235+00:00\",\r\n \"status\": \"Succeeded\",\r\n + \ \"name\": \"5a72fd0e-8da3-4442-90f5-320efe90dada\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '183' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:25:58 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache blob-storage-target add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cache-name --name --storage-account --container-name --virtual-namespace-path + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_hpc_cache000001/providers/Microsoft.StorageCache/caches/cli000003/storageTargets/st1?api-version=2019-11-01 + response: + body: + string: "{\r\n \"name\": \"st1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_hpc_cache000001/providers/Microsoft.StorageCache/caches/cli000003/storageTargets/st1\",\r\n + \ \"type\": \"Microsoft.StorageCache/caches/storageTargets\",\r\n \"location\": + \"eastus\",\r\n \"properties\": {\r\n \"targetType\": \"clfs\",\r\n \"provisioningState\": + \"Succeeded\",\r\n \"junctions\": [\r\n {\r\n \"namespacePath\": + \"/test\",\r\n \"nfsExport\": \"/\",\r\n \"targetPath\": \"/\"\r\n + \ }\r\n ],\r\n \"clfs\": {\r\n \"target\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_hpc_cache000001/providers/Microsoft.Storage/storageAccounts/cli000004/blobServices/default/containers/test\"\r\n + \ }\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '860' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:25:59 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache storage-target show + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cache-name --name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_hpc_cache000001/providers/Microsoft.StorageCache/caches/cli000003/storageTargets/st1?api-version=2019-11-01 + response: + body: + string: "{\r\n \"name\": \"st1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_hpc_cache000001/providers/Microsoft.StorageCache/caches/cli000003/storageTargets/st1\",\r\n + \ \"type\": \"Microsoft.StorageCache/caches/storageTargets\",\r\n \"location\": + \"eastus\",\r\n \"properties\": {\r\n \"targetType\": \"clfs\",\r\n \"provisioningState\": + \"Succeeded\",\r\n \"junctions\": [\r\n {\r\n \"namespacePath\": + \"/test\",\r\n \"nfsExport\": \"/\",\r\n \"targetPath\": \"/\"\r\n + \ }\r\n ],\r\n \"clfs\": {\r\n \"target\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_hpc_cache000001/providers/Microsoft.Storage/storageAccounts/cli000004/blobServices/default/containers/test\"\r\n + \ }\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '860' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:26:01 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache show + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_hpc_cache000001/providers/Microsoft.StorageCache/caches/cli000003?api-version=2019-11-01 + response: + body: + string: "{\r\n \"name\": \"cli000003\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_hpc_cache000001/providers/Microsoft.StorageCache/caches/cli000003\",\r\n + \ \"type\": \"Microsoft.StorageCache/caches\",\r\n \"location\": \"eastus\",\r\n + \ \"sku\": {\r\n \"name\": \"Standard_2G\"\r\n },\r\n \"properties\": + {\r\n \"cacheSizeGB\": 3072,\r\n \"health\": {\r\n \"state\": \"Healthy\",\r\n + \ \"statusDescription\": \"The cache is in Running state\"\r\n },\r\n + \ \"mountAddresses\": [\r\n \"10.7.0.7\",\r\n \"10.7.0.8\",\r\n + \ \"10.7.0.9\"\r\n ],\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"subnet\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_hpc_cache000001/providers/Microsoft.Network/virtualNetworks/cli000002/subnets/default\",\r\n + \ \"upgradeStatus\": {\r\n \"currentFirmwareVersion\": \"5.3.42\",\r\n + \ \"firmwareUpdateStatus\": \"unavailable\",\r\n \"firmwareUpdateDeadline\": + \"0001-01-01T00:00:00Z\",\r\n \"lastFirmwareUpdate\": \"2020-03-17T06:05:30.229165Z\"\r\n + \ }\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1149' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:26:03 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache list + Connection: + - keep-alive + ParameterSetName: + - --resource-group + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_hpc_cache000001/providers/Microsoft.StorageCache/caches?api-version=2019-11-01 + response: + body: + string: "{\r\n \"value\": [\r\n {\r\n \"name\": \"cli000003\",\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/CLI_TEST_HPC_CACHEF74O6C42LAKFUAQV6DDIKYUVU3QDBBOWDLKFZU5KEIFBNQA26MFUHUZVR/providers/Microsoft.StorageCache/caches/cli000003\",\r\n + \ \"type\": \"Microsoft.StorageCache/caches\",\r\n \"location\": + \"eastus\",\r\n \"sku\": {\r\n \"name\": \"Standard_2G\"\r\n },\r\n + \ \"properties\": {\r\n \"cacheSizeGB\": 3072,\r\n \"health\": + {\r\n \"state\": \"Healthy\",\r\n \"statusDescription\": + \"The cache is in Running state\"\r\n },\r\n \"provisioningState\": + \"Succeeded\",\r\n \"subnet\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_hpc_cache000001/providers/Microsoft.Network/virtualNetworks/cli000002/subnets/default\",\r\n + \ \"upgradeStatus\": {\r\n \"currentFirmwareVersion\": \"5.3.42\",\r\n + \ \"firmwareUpdateStatus\": \"unavailable\",\r\n \"firmwareUpdateDeadline\": + \"0001-01-01T00:00:00Z\",\r\n \"lastFirmwareUpdate\": \"2020-03-17T06:05:30.229165Z\"\r\n + \ }\r\n }\r\n }\r\n ]\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1181' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:26:05 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache usage-model list + Connection: + - keep-alive + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/usageModels?api-version=2019-11-01 + response: + body: + string: "{\r\n \"value\": [\r\n {\r\n \"display\": {\r\n \"description\": + \"Read heavy, infrequent writes\"\r\n },\r\n \"modelName\": \"READ_HEAVY_INFREQ\",\r\n + \ \"targetType\": \"Nfs\"\r\n },\r\n {\r\n \"display\": {\r\n + \ \"description\": \"Greater than 15% writes\"\r\n },\r\n \"modelName\": + \"WRITE_WORKLOAD_15\",\r\n \"targetType\": \"Nfs\"\r\n },\r\n {\r\n + \ \"display\": {\r\n \"description\": \"Clients write to the NFS + target bypassing the cache\"\r\n },\r\n \"modelName\": \"WRITE_AROUND\",\r\n + \ \"targetType\": \"Nfs\"\r\n }\r\n ]\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '540' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:26:06 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache list + Connection: + - keep-alive + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/caches?api-version=2019-11-01 + response: + body: + string: "{\r\n \"value\": [\r\n {\r\n \"name\": \"cli000003\",\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/CLI_TEST_HPC_CACHEF74O6C42LAKFUAQV6DDIKYUVU3QDBBOWDLKFZU5KEIFBNQA26MFUHUZVR/providers/Microsoft.StorageCache/caches/cli000003\",\r\n + \ \"type\": \"Microsoft.StorageCache/caches\",\r\n \"location\": + \"eastus\",\r\n \"sku\": {\r\n \"name\": \"Standard_2G\"\r\n },\r\n + \ \"properties\": {\r\n \"cacheSizeGB\": 3072,\r\n \"health\": + {\r\n \"state\": \"Healthy\",\r\n \"statusDescription\": + \"The cache is in Running state\"\r\n },\r\n \"provisioningState\": + \"Succeeded\",\r\n \"subnet\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_hpc_cache000001/providers/Microsoft.Network/virtualNetworks/cli000002/subnets/default\",\r\n + \ \"upgradeStatus\": {\r\n \"currentFirmwareVersion\": \"5.3.42\",\r\n + \ \"firmwareUpdateStatus\": \"unavailable\",\r\n \"firmwareUpdateDeadline\": + \"0001-01-01T00:00:00Z\",\r\n \"lastFirmwareUpdate\": \"2020-03-17T06:05:30.229165Z\"\r\n + \ }\r\n }\r\n },\r\n {\r\n \"name\": \"qianwenasc\",\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/QIANWENS/providers/Microsoft.StorageCache/caches/qianwenasc\",\r\n + \ \"type\": \"Microsoft.StorageCache/caches\",\r\n \"location\": + \"eastus\",\r\n \"tags\": {},\r\n \"sku\": {\r\n \"name\": + \"Standard_2G\"\r\n },\r\n \"properties\": {\r\n \"cacheSizeGB\": + 3072,\r\n \"health\": {\r\n \"state\": \"Stopped\",\r\n \"statusDescription\": + \"The Cache resources have been deallocated\"\r\n },\r\n \"provisioningState\": + \"Succeeded\",\r\n \"subnet\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qianwens/providers/Microsoft.Network/virtualNetworks/QIAN/subnets/default\",\r\n + \ \"upgradeStatus\": {\r\n \"currentFirmwareVersion\": \"5.3.31\",\r\n + \ \"firmwareUpdateStatus\": \"unavailable\",\r\n \"firmwareUpdateDeadline\": + \"0001-01-01T00:00:00Z\",\r\n \"lastFirmwareUpdate\": \"2020-03-05T04:11:45.6337919Z\"\r\n + \ }\r\n }\r\n },\r\n {\r\n \"name\": \"sc1\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/QIANWENS/providers/Microsoft.StorageCache/caches/sc1\",\r\n + \ \"type\": \"Microsoft.StorageCache/caches\",\r\n \"location\": + \"eastus\",\r\n \"sku\": {\r\n \"name\": \"Standard_2G\"\r\n },\r\n + \ \"properties\": {\r\n \"cacheSizeGB\": 3072,\r\n \"health\": + {\r\n \"state\": \"Degraded\",\r\n \"statusDescription\": + \"The health of the the cache is degraded\"\r\n },\r\n \"provisioningState\": + \"Succeeded\",\r\n \"subnet\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qianwens/providers/Microsoft.Network/virtualNetworks/QIAN/subnets/default\",\r\n + \ \"upgradeStatus\": {\r\n \"currentFirmwareVersion\": \"5.3.42\",\r\n + \ \"firmwareUpdateStatus\": \"unavailable\",\r\n \"firmwareUpdateDeadline\": + \"0001-01-01T00:00:00Z\",\r\n \"lastFirmwareUpdate\": \"2020-03-09T02:25:04.248107Z\"\r\n + \ }\r\n }\r\n },\r\n {\r\n \"name\": \"sc3\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/QIANWENS/providers/Microsoft.StorageCache/caches/sc3\",\r\n + \ \"type\": \"Microsoft.StorageCache/caches\",\r\n \"location\": + \"eastus\",\r\n \"sku\": {\r\n \"name\": \"Standard_2G\"\r\n },\r\n + \ \"properties\": {\r\n \"cacheSizeGB\": 3072,\r\n \"health\": + {\r\n \"state\": \"Stopped\",\r\n \"statusDescription\": + \"The Cache resources have been deallocated\"\r\n },\r\n \"provisioningState\": + \"Succeeded\",\r\n \"subnet\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qianwens/providers/Microsoft.Network/virtualNetworks/QIAN/subnets/default\",\r\n + \ \"upgradeStatus\": {\r\n \"currentFirmwareVersion\": \"5.3.42\",\r\n + \ \"firmwareUpdateStatus\": \"unavailable\",\r\n \"firmwareUpdateDeadline\": + \"0001-01-01T00:00:00Z\",\r\n \"lastFirmwareUpdate\": \"2020-03-16T05:57:12.2110973Z\"\r\n + \ }\r\n }\r\n },\r\n {\r\n \"name\": \"scnowait\",\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/QIANWENS/providers/Microsoft.StorageCache/caches/scnowait\",\r\n + \ \"type\": \"Microsoft.StorageCache/caches\",\r\n \"location\": + \"eastus\",\r\n \"sku\": {\r\n \"name\": \"Standard_2G\"\r\n },\r\n + \ \"properties\": {\r\n \"cacheSizeGB\": 3072,\r\n \"health\": + {\r\n \"state\": \"Healthy\",\r\n \"statusDescription\": + \"The cache is in Running state\"\r\n },\r\n \"provisioningState\": + \"Succeeded\",\r\n \"subnet\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qianwens/providers/Microsoft.Network/virtualNetworks/QIAN/subnets/default\",\r\n + \ \"upgradeStatus\": {\r\n \"currentFirmwareVersion\": \"5.3.42\",\r\n + \ \"firmwareUpdateStatus\": \"unavailable\",\r\n \"firmwareUpdateDeadline\": + \"0001-01-01T00:00:00Z\",\r\n \"lastFirmwareUpdate\": \"2020-03-16T10:35:43.0627416Z\"\r\n + \ }\r\n }\r\n }\r\n ]\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '5114' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:26:08 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache skus list + Connection: + - keep-alive + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/skus?api-version=2019-11-01 + response: + body: + string: '{"value":[{"resourceType":"caches","name":"Standard_2G","locations":["westeurope"],"locationInfo":[{"location":"westeurope","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"2"},{"name":"cache sizes (GB)","value":"3072,6144,12288"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_4G","locations":["westeurope"],"locationInfo":[{"location":"westeurope","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"4"},{"name":"cache sizes (GB)","value":"6144,12288,24576"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_8G","locations":["westeurope"],"locationInfo":[{"location":"westeurope","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"8"},{"name":"cache sizes (GB)","value":"12288,24576,49152"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_2G","locations":["northeurope"],"locationInfo":[{"location":"northeurope","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"2"},{"name":"cache sizes (GB)","value":"3072,6144,12288"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_4G","locations":["northeurope"],"locationInfo":[{"location":"northeurope","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"4"},{"name":"cache sizes (GB)","value":"6144,12288,24576"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_8G","locations":["northeurope"],"locationInfo":[{"location":"northeurope","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"8"},{"name":"cache sizes (GB)","value":"12288,24576,49152"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_2G","locations":["EastUS2EUAP"],"locationInfo":[{"location":"EastUS2EUAP","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"2"},{"name":"cache sizes (GB)","value":"3072,6144,12288"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_4G","locations":["EastUS2EUAP"],"locationInfo":[{"location":"EastUS2EUAP","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"4"},{"name":"cache sizes (GB)","value":"6144,12288,24576"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_8G","locations":["EastUS2EUAP"],"locationInfo":[{"location":"EastUS2EUAP","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"8"},{"name":"cache sizes (GB)","value":"12288,24576,49152"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_2G","locations":["eastus"],"locationInfo":[{"location":"eastus","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"2"},{"name":"cache sizes (GB)","value":"3072,6144,12288"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_4G","locations":["eastus"],"locationInfo":[{"location":"eastus","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"4"},{"name":"cache sizes (GB)","value":"6144,12288,24576"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_8G","locations":["eastus"],"locationInfo":[{"location":"eastus","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"8"},{"name":"cache sizes (GB)","value":"12288,24576,49152"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_2G","locations":["eastus"],"locationInfo":[{"location":"eastus","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"2"},{"name":"cache sizes (GB)","value":"3072,6144,12288"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_4G","locations":["eastus"],"locationInfo":[{"location":"eastus","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"4"},{"name":"cache sizes (GB)","value":"6144,12288,24576"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_8G","locations":["eastus"],"locationInfo":[{"location":"eastus","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"8"},{"name":"cache sizes (GB)","value":"12288,24576,49152"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_2G","locations":["KoreaCentral"],"locationInfo":[{"location":"KoreaCentral","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"2"},{"name":"cache sizes (GB)","value":"3072,6144,12288"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_4G","locations":["KoreaCentral"],"locationInfo":[{"location":"KoreaCentral","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"4"},{"name":"cache sizes (GB)","value":"6144,12288,24576"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_8G","locations":["KoreaCentral"],"locationInfo":[{"location":"KoreaCentral","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"8"},{"name":"cache sizes (GB)","value":"12288,24576,49152"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_2G","locations":["southcentralus"],"locationInfo":[{"location":"southcentralus","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"2"},{"name":"cache sizes (GB)","value":"3072,6144,12288"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_4G","locations":["southcentralus"],"locationInfo":[{"location":"southcentralus","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"4"},{"name":"cache sizes (GB)","value":"6144,12288,24576"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_8G","locations":["southcentralus"],"locationInfo":[{"location":"southcentralus","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"8"},{"name":"cache sizes (GB)","value":"12288,24576,49152"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_2G","locations":["westus2"],"locationInfo":[{"location":"westus2","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"2"},{"name":"cache sizes (GB)","value":"3072,6144,12288"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_4G","locations":["westus2"],"locationInfo":[{"location":"westus2","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"4"},{"name":"cache sizes (GB)","value":"6144,12288,24576"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_8G","locations":["westus2"],"locationInfo":[{"location":"westus2","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"8"},{"name":"cache sizes (GB)","value":"12288,24576,49152"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_2G","locations":["westus2"],"locationInfo":[{"location":"westus2","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"2"},{"name":"cache sizes (GB)","value":"3072,6144,12288"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_4G","locations":["westus2"],"locationInfo":[{"location":"westus2","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"4"},{"name":"cache sizes (GB)","value":"6144,12288,24576"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_8G","locations":["westus2"],"locationInfo":[{"location":"westus2","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"8"},{"name":"cache sizes (GB)","value":"12288,24576,49152"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_2G","locations":["eastus2"],"locationInfo":[{"location":"eastus2","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"2"},{"name":"cache sizes (GB)","value":"3072,6144,12288"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_4G","locations":["eastus2"],"locationInfo":[{"location":"eastus2","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"4"},{"name":"cache sizes (GB)","value":"6144,12288,24576"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_8G","locations":["eastus2"],"locationInfo":[{"location":"eastus2","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"8"},{"name":"cache sizes (GB)","value":"12288,24576,49152"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_2G","locations":["southeastasia"],"locationInfo":[{"location":"southeastasia","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"2"},{"name":"cache sizes (GB)","value":"3072,6144,12288"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_4G","locations":["southeastasia"],"locationInfo":[{"location":"southeastasia","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"4"},{"name":"cache sizes (GB)","value":"6144,12288,24576"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_8G","locations":["southeastasia"],"locationInfo":[{"location":"southeastasia","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"8"},{"name":"cache sizes (GB)","value":"12288,24576,49152"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_2G","locations":["australiaeast"],"locationInfo":[{"location":"australiaeast","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"2"},{"name":"cache sizes (GB)","value":"3072,6144,12288"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_4G","locations":["australiaeast"],"locationInfo":[{"location":"australiaeast","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"4"},{"name":"cache sizes (GB)","value":"6144,12288,24576"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_8G","locations":["australiaeast"],"locationInfo":[{"location":"australiaeast","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"8"},{"name":"cache sizes (GB)","value":"12288,24576,49152"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_2G","locations":["centraluseuap"],"locationInfo":[{"location":"centraluseuap","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"2"},{"name":"cache sizes (GB)","value":"3072,6144,12288"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_4G","locations":["centraluseuap"],"locationInfo":[{"location":"centraluseuap","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"4"},{"name":"cache sizes (GB)","value":"6144,12288,24576"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_8G","locations":["centraluseuap"],"locationInfo":[{"location":"centraluseuap","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"8"},{"name":"cache sizes (GB)","value":"12288,24576,49152"}],"restrictions":[]}]}' + headers: + cache-control: + - no-cache + content-length: + - '10775' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:26:09 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache stop + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --resource-group --name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + accept-language: + - en-US + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_hpc_cache000001/providers/Microsoft.StorageCache/caches/cli000003/stop?api-version=2019-11-01 + response: + body: + string: '' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/e7fa4708-f84f-4df6-99ea-fe3054de0904?api-version=2019-11-01 + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 17 Mar 2020 06:26:12 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/e7fa4708-f84f-4df6-99ea-fe3054de0904?monitor=true&api-version=2019-11-01 + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache stop + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/e7fa4708-f84f-4df6-99ea-fe3054de0904?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2020-03-17T06:26:12.0356776+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"e7fa4708-f84f-4df6-99ea-fe3054de0904\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:26:43 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache stop + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/e7fa4708-f84f-4df6-99ea-fe3054de0904?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2020-03-17T06:26:12.0356776+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"e7fa4708-f84f-4df6-99ea-fe3054de0904\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:27:13 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache stop + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/e7fa4708-f84f-4df6-99ea-fe3054de0904?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2020-03-17T06:26:12.0356776+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"e7fa4708-f84f-4df6-99ea-fe3054de0904\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:27:43 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache stop + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/e7fa4708-f84f-4df6-99ea-fe3054de0904?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2020-03-17T06:26:12.0356776+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"e7fa4708-f84f-4df6-99ea-fe3054de0904\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:28:15 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache stop + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/e7fa4708-f84f-4df6-99ea-fe3054de0904?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2020-03-17T06:26:12.0356776+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"e7fa4708-f84f-4df6-99ea-fe3054de0904\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:28:45 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache stop + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/e7fa4708-f84f-4df6-99ea-fe3054de0904?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2020-03-17T06:26:12.0356776+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"e7fa4708-f84f-4df6-99ea-fe3054de0904\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:29:15 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache stop + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/e7fa4708-f84f-4df6-99ea-fe3054de0904?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2020-03-17T06:26:12.0356776+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"e7fa4708-f84f-4df6-99ea-fe3054de0904\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:29:47 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache stop + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/e7fa4708-f84f-4df6-99ea-fe3054de0904?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2020-03-17T06:26:12.0356776+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"e7fa4708-f84f-4df6-99ea-fe3054de0904\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:30:17 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache stop + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/e7fa4708-f84f-4df6-99ea-fe3054de0904?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2020-03-17T06:26:12.0356776+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"e7fa4708-f84f-4df6-99ea-fe3054de0904\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:30:47 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache stop + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/e7fa4708-f84f-4df6-99ea-fe3054de0904?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2020-03-17T06:26:12.0356776+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"e7fa4708-f84f-4df6-99ea-fe3054de0904\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:31:18 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache stop + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/e7fa4708-f84f-4df6-99ea-fe3054de0904?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2020-03-17T06:26:12.0356776+00:00\",\r\n \"endTime\": + \"2020-03-17T06:31:42.1474008+00:00\",\r\n \"status\": \"Succeeded\",\r\n + \ \"properties\": {\r\n \"output\": \"success\"\r\n },\r\n \"name\": + \"e7fa4708-f84f-4df6-99ea-fe3054de0904\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '234' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:31:49 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache start + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --resource-group --name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + accept-language: + - en-US + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_hpc_cache000001/providers/Microsoft.StorageCache/caches/cli000003/start?api-version=2019-11-01 + response: + body: + string: '' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/1a9718f3-c7c4-48c9-aebc-b10cd105838d?api-version=2019-11-01 + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 17 Mar 2020 06:31:52 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/1a9718f3-c7c4-48c9-aebc-b10cd105838d?monitor=true&api-version=2019-11-01 + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache start + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/1a9718f3-c7c4-48c9-aebc-b10cd105838d?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2020-03-17T06:31:52.3724106+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"1a9718f3-c7c4-48c9-aebc-b10cd105838d\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:32:23 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache start + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/1a9718f3-c7c4-48c9-aebc-b10cd105838d?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2020-03-17T06:31:52.3724106+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"1a9718f3-c7c4-48c9-aebc-b10cd105838d\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:32:53 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache start + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/1a9718f3-c7c4-48c9-aebc-b10cd105838d?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2020-03-17T06:31:52.3724106+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"1a9718f3-c7c4-48c9-aebc-b10cd105838d\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:33:24 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache start + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/1a9718f3-c7c4-48c9-aebc-b10cd105838d?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2020-03-17T06:31:52.3724106+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"1a9718f3-c7c4-48c9-aebc-b10cd105838d\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:33:54 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache start + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/1a9718f3-c7c4-48c9-aebc-b10cd105838d?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2020-03-17T06:31:52.3724106+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"1a9718f3-c7c4-48c9-aebc-b10cd105838d\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:34:26 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache start + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/1a9718f3-c7c4-48c9-aebc-b10cd105838d?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2020-03-17T06:31:52.3724106+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"1a9718f3-c7c4-48c9-aebc-b10cd105838d\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:34:56 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache start + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/1a9718f3-c7c4-48c9-aebc-b10cd105838d?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2020-03-17T06:31:52.3724106+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"1a9718f3-c7c4-48c9-aebc-b10cd105838d\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:35:26 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache start + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/1a9718f3-c7c4-48c9-aebc-b10cd105838d?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2020-03-17T06:31:52.3724106+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"1a9718f3-c7c4-48c9-aebc-b10cd105838d\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:35:56 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache start + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/1a9718f3-c7c4-48c9-aebc-b10cd105838d?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2020-03-17T06:31:52.3724106+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"1a9718f3-c7c4-48c9-aebc-b10cd105838d\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:36:28 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache start + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/1a9718f3-c7c4-48c9-aebc-b10cd105838d?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2020-03-17T06:31:52.3724106+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"1a9718f3-c7c4-48c9-aebc-b10cd105838d\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:36:58 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache start + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/1a9718f3-c7c4-48c9-aebc-b10cd105838d?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2020-03-17T06:31:52.3724106+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"1a9718f3-c7c4-48c9-aebc-b10cd105838d\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:37:28 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache start + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/1a9718f3-c7c4-48c9-aebc-b10cd105838d?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2020-03-17T06:31:52.3724106+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"1a9718f3-c7c4-48c9-aebc-b10cd105838d\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:37:59 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache start + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/1a9718f3-c7c4-48c9-aebc-b10cd105838d?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2020-03-17T06:31:52.3724106+00:00\",\r\n \"endTime\": + \"2020-03-17T06:38:22.5182863+00:00\",\r\n \"status\": \"Succeeded\",\r\n + \ \"properties\": {\r\n \"output\": \"success\"\r\n },\r\n \"name\": + \"1a9718f3-c7c4-48c9-aebc-b10cd105838d\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '234' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:38:30 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache storage-target remove + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --resource-group --cache-name --name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + accept-language: + - en-US + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_hpc_cache000001/providers/Microsoft.StorageCache/caches/cli000003/storageTargets/st1?api-version=2019-11-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + date: + - Tue, 17 Mar 2020 06:46:09 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + status: + code: 204 + message: No Content +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --resource-group --name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + accept-language: + - en-US + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_hpc_cache000001/providers/Microsoft.StorageCache/caches/cli000003?api-version=2019-11-01 + response: + body: + string: '' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/309c1c8d-c571-4aae-9326-4fe6f18b8fc8?api-version=2019-11-01 + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 17 Mar 2020 06:46:11 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/309c1c8d-c571-4aae-9326-4fe6f18b8fc8?monitor=true&api-version=2019-11-01 + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache delete + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/309c1c8d-c571-4aae-9326-4fe6f18b8fc8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2020-03-17T06:46:11.7697206+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"309c1c8d-c571-4aae-9326-4fe6f18b8fc8\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:46:43 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache delete + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/309c1c8d-c571-4aae-9326-4fe6f18b8fc8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2020-03-17T06:46:11.7697206+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"309c1c8d-c571-4aae-9326-4fe6f18b8fc8\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:47:13 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache delete + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/309c1c8d-c571-4aae-9326-4fe6f18b8fc8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2020-03-17T06:46:11.7697206+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"309c1c8d-c571-4aae-9326-4fe6f18b8fc8\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:47:44 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache delete + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/309c1c8d-c571-4aae-9326-4fe6f18b8fc8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2020-03-17T06:46:11.7697206+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"309c1c8d-c571-4aae-9326-4fe6f18b8fc8\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:48:14 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache delete + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/309c1c8d-c571-4aae-9326-4fe6f18b8fc8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2020-03-17T06:46:11.7697206+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"309c1c8d-c571-4aae-9326-4fe6f18b8fc8\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:48:44 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache delete + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/309c1c8d-c571-4aae-9326-4fe6f18b8fc8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2020-03-17T06:46:11.7697206+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"309c1c8d-c571-4aae-9326-4fe6f18b8fc8\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:49:15 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache delete + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/309c1c8d-c571-4aae-9326-4fe6f18b8fc8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2020-03-17T06:46:11.7697206+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"309c1c8d-c571-4aae-9326-4fe6f18b8fc8\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:49:46 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache delete + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/309c1c8d-c571-4aae-9326-4fe6f18b8fc8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2020-03-17T06:46:11.7697206+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"309c1c8d-c571-4aae-9326-4fe6f18b8fc8\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:50:16 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache delete + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/309c1c8d-c571-4aae-9326-4fe6f18b8fc8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2020-03-17T06:46:11.7697206+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"309c1c8d-c571-4aae-9326-4fe6f18b8fc8\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:50:46 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache delete + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/309c1c8d-c571-4aae-9326-4fe6f18b8fc8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2020-03-17T06:46:11.7697206+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"309c1c8d-c571-4aae-9326-4fe6f18b8fc8\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:51:18 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache delete + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/309c1c8d-c571-4aae-9326-4fe6f18b8fc8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2020-03-17T06:46:11.7697206+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"309c1c8d-c571-4aae-9326-4fe6f18b8fc8\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:51:48 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache delete + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/309c1c8d-c571-4aae-9326-4fe6f18b8fc8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2020-03-17T06:46:11.7697206+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"309c1c8d-c571-4aae-9326-4fe6f18b8fc8\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:52:18 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache delete + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/309c1c8d-c571-4aae-9326-4fe6f18b8fc8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2020-03-17T06:46:11.7697206+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"309c1c8d-c571-4aae-9326-4fe6f18b8fc8\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:52:49 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache delete + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/309c1c8d-c571-4aae-9326-4fe6f18b8fc8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2020-03-17T06:46:11.7697206+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"309c1c8d-c571-4aae-9326-4fe6f18b8fc8\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:53:20 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache delete + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/309c1c8d-c571-4aae-9326-4fe6f18b8fc8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2020-03-17T06:46:11.7697206+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"309c1c8d-c571-4aae-9326-4fe6f18b8fc8\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:53:50 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache delete + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/309c1c8d-c571-4aae-9326-4fe6f18b8fc8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2020-03-17T06:46:11.7697206+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"309c1c8d-c571-4aae-9326-4fe6f18b8fc8\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:54:22 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache delete + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/309c1c8d-c571-4aae-9326-4fe6f18b8fc8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2020-03-17T06:46:11.7697206+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"309c1c8d-c571-4aae-9326-4fe6f18b8fc8\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:54:52 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache delete + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/309c1c8d-c571-4aae-9326-4fe6f18b8fc8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2020-03-17T06:46:11.7697206+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"309c1c8d-c571-4aae-9326-4fe6f18b8fc8\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:55:22 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache delete + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/309c1c8d-c571-4aae-9326-4fe6f18b8fc8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2020-03-17T06:46:11.7697206+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"309c1c8d-c571-4aae-9326-4fe6f18b8fc8\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:55:54 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache delete + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/309c1c8d-c571-4aae-9326-4fe6f18b8fc8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2020-03-17T06:46:11.7697206+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"309c1c8d-c571-4aae-9326-4fe6f18b8fc8\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:56:24 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache delete + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/309c1c8d-c571-4aae-9326-4fe6f18b8fc8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2020-03-17T06:46:11.7697206+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"309c1c8d-c571-4aae-9326-4fe6f18b8fc8\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:56:54 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache delete + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/309c1c8d-c571-4aae-9326-4fe6f18b8fc8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2020-03-17T06:46:11.7697206+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"309c1c8d-c571-4aae-9326-4fe6f18b8fc8\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:57:27 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache delete + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-storagecache/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/309c1c8d-c571-4aae-9326-4fe6f18b8fc8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2020-03-17T06:46:11.7697206+00:00\",\r\n \"endTime\": + \"2020-03-17T06:57:43.9945474+00:00\",\r\n \"status\": \"Succeeded\",\r\n + \ \"name\": \"309c1c8d-c571-4aae-9326-4fe6f18b8fc8\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '184' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 06:57:58 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +version: 1 diff --git a/src/hpc-cache/azext_hpc_cache/tests/latest/test_hpc_cache_scenario.py b/src/hpc-cache/azext_hpc_cache/tests/latest/test_hpc_cache_scenario.py new file mode 100644 index 00000000000..518d0a56a9d --- /dev/null +++ b/src/hpc-cache/azext_hpc_cache/tests/latest/test_hpc_cache_scenario.py @@ -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. +# -------------------------------------------------------------------------------------------- + +import os +import unittest + +from azure_devtools.scenario_tests import AllowLargeResponse +from azure.cli.testsdk import ScenarioTest, ResourceGroupPreparer, StorageAccountPreparer + + +TEST_DIR = os.path.abspath(os.path.join(os.path.abspath(__file__), '..')) + + +class StorageCacheScenarioTest(ScenarioTest): + + @ResourceGroupPreparer(name_prefix='cli_test_hpc_cache') + def test_hpc_cache(self, resource_group): + vnet_name = self.create_random_name(prefix='cli', length=24) + cache_name = self.create_random_name(prefix='cli', length=24) + storage_name = self.create_random_name(prefix='cli', length=24) + storage_id = self.cmd('az storage account create -n {} -g {} -l eastus --sku Standard_LRS --https-only' + .format(storage_name, resource_group)).get_output_in_json()['id'] + container_name = 'test' + self.cmd('az storage container create -n {} --account-name {}'.format(container_name, storage_name)) + self.cmd('az role assignment create --assignee 677a61e9-086e-4f13-986a-11aaedc31416 ' + '--role "Storage Account Contributor" --scope {}'.format(storage_id)) + vnet_id = self.cmd('az network vnet create -g {} -n {} -l eastus --address-prefix 10.7.0.0/16 ' + '--subnet-name default --subnet-prefix 10.7.0.0/24' + .format(resource_group, vnet_name)).get_output_in_json()['newVNet']['id'] + self.cmd('az hpc-cache create ' + '--resource-group {} ' + '--name {} ' + '--location "eastus" ' + '--cache-size-gb "3072" ' + '--subnet "{}/subnets/default" ' + '--sku-name "Standard_2G"'.format(resource_group, cache_name, vnet_id, resource_group, vnet_name), + checks=[ + self.check('name', cache_name) + ]) + + self.cmd('az hpc-cache blob-storage-target add ' + '--resource-group {} ' + '--cache-name {} ' + '--name "st1" ' + '--storage-account "{}" ' + '--container-name {} --virtual-namespace-path "/test"'.format(resource_group, cache_name, + storage_id, container_name), + checks=[ + self.check('name', 'st1') + ]) + + self.cmd('az hpc-cache storage-target show ' + '--resource-group {} ' + '--cache-name {} ' + '--name "st1"'.format(resource_group, cache_name)).get_output_in_json() + + self.cmd('az hpc-cache show ' + '--resource-group {} ' + '--name {}'.format(resource_group, cache_name)).get_output_in_json() + + self.cmd('az hpc-cache list ' + '--resource-group {}'.format(resource_group), + checks=[ + self.check('[0].name', cache_name) + ]) + + self.cmd('az hpc-cache usage-model list', + checks=[]) + + self.cmd('az hpc-cache list', + checks=[]) + + self.cmd('az hpc-cache skus list', + checks=[]) + + self.cmd('az hpc-cache stop ' + '--resource-group {} ' + '--name {}'.format(resource_group, cache_name), + checks=[]) + + self.cmd('az hpc-cache start ' + '--resource-group {} ' + '--name {}'.format(resource_group, cache_name), + checks=[]) + + self.cmd('az hpc-cache storage-target remove ' + '--resource-group {} ' + '--cache-name {} ' + '--name "st1"'.format(resource_group, cache_name), + checks=[]) + + self.cmd('az hpc-cache delete ' + '--resource-group {} ' + '--name {}'.format(resource_group, cache_name), + checks=[]) diff --git a/src/hpc-cache/azext_hpc_cache/vendored_sdks/__init__.py b/src/hpc-cache/azext_hpc_cache/vendored_sdks/__init__.py new file mode 100644 index 00000000000..a5b81f3bde4 --- /dev/null +++ b/src/hpc-cache/azext_hpc_cache/vendored_sdks/__init__.py @@ -0,0 +1,6 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +__import__('pkg_resources').declare_namespace(__name__) diff --git a/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/__init__.py b/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/__init__.py new file mode 100644 index 00000000000..091facfc05a --- /dev/null +++ b/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/__init__.py @@ -0,0 +1,19 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from ._configuration import StorageCacheManagementClientConfiguration +from ._storage_cache_management_client import StorageCacheManagementClient +__all__ = ['StorageCacheManagementClient', 'StorageCacheManagementClientConfiguration'] + +from .version import VERSION + +__version__ = VERSION + diff --git a/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/_configuration.py b/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/_configuration.py new file mode 100644 index 00000000000..78b14b99f8e --- /dev/null +++ b/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/_configuration.py @@ -0,0 +1,50 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +from msrestazure import AzureConfiguration + +from .version import VERSION + + +class StorageCacheManagementClientConfiguration(AzureConfiguration): + """Configuration for StorageCacheManagementClient + Note that all parameters used to create this instance are saved as instance + attributes. + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param subscription_id: 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 str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=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 base_url: + base_url = 'https://management.azure.com' + + super(StorageCacheManagementClientConfiguration, self).__init__(base_url) + + # Starting Autorest.Python 4.0.64, make connection pool activated by default + self.keep_alive = True + + self.add_user_agent('azure-mgmt-storagecache/{}'.format(VERSION)) + self.add_user_agent('Azure-SDK-For-Python') + + self.credentials = credentials + self.subscription_id = subscription_id diff --git a/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/_storage_cache_management_client.py b/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/_storage_cache_management_client.py new file mode 100644 index 00000000000..70e77f3a781 --- /dev/null +++ b/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/_storage_cache_management_client.py @@ -0,0 +1,71 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.service_client import SDKClient +from msrest import Serializer, Deserializer + +from ._configuration import StorageCacheManagementClientConfiguration +from .operations import Operations +from .operations import SkusOperations +from .operations import UsageModelsOperations +from .operations import CachesOperations +from .operations import StorageTargetsOperations +from . import models + + +class StorageCacheManagementClient(SDKClient): + """A Storage Cache provides scalable caching service for NAS clients, serving data from either NFSv3 or Blob at-rest storage (referred to as "Storage Targets"). These operations allow you to manage Caches. + + :ivar config: Configuration for client. + :vartype config: StorageCacheManagementClientConfiguration + + :ivar operations: Operations operations + :vartype operations: azure.mgmt.storagecache.operations.Operations + :ivar skus: Skus operations + :vartype skus: azure.mgmt.storagecache.operations.SkusOperations + :ivar usage_models: UsageModels operations + :vartype usage_models: azure.mgmt.storagecache.operations.UsageModelsOperations + :ivar caches: Caches operations + :vartype caches: azure.mgmt.storagecache.operations.CachesOperations + :ivar storage_targets: StorageTargets operations + :vartype storage_targets: azure.mgmt.storagecache.operations.StorageTargetsOperations + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param subscription_id: 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 str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=None): + + self.config = StorageCacheManagementClientConfiguration(credentials, subscription_id, base_url) + super(StorageCacheManagementClient, self).__init__(self.config.credentials, self.config) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self.api_version = '2019-11-01' + self._serialize = Serializer(client_models) + self._deserialize = Deserializer(client_models) + + self.operations = Operations( + self._client, self.config, self._serialize, self._deserialize) + self.skus = SkusOperations( + self._client, self.config, self._serialize, self._deserialize) + self.usage_models = UsageModelsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.caches = CachesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.storage_targets = StorageTargetsOperations( + self._client, self.config, self._serialize, self._deserialize) diff --git a/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/models/__init__.py b/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/models/__init__.py new file mode 100644 index 00000000000..d973dfe4633 --- /dev/null +++ b/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/models/__init__.py @@ -0,0 +1,92 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +try: + from ._models_py3 import ApiOperation + from ._models_py3 import ApiOperationDisplay + from ._models_py3 import Cache + from ._models_py3 import CacheHealth + from ._models_py3 import CacheSku + from ._models_py3 import CacheUpgradeStatus + from ._models_py3 import ClfsTarget + from ._models_py3 import CloudErrorBody + from ._models_py3 import NamespaceJunction + from ._models_py3 import Nfs3Target + from ._models_py3 import ResourceSku + from ._models_py3 import ResourceSkuCapabilities + from ._models_py3 import ResourceSkuLocationInfo + from ._models_py3 import Restriction + from ._models_py3 import StorageTarget + from ._models_py3 import UnknownTarget + from ._models_py3 import UsageModel + from ._models_py3 import UsageModelDisplay +except (SyntaxError, ImportError): + from ._models import ApiOperation + from ._models import ApiOperationDisplay + from ._models import Cache + from ._models import CacheHealth + from ._models import CacheSku + from ._models import CacheUpgradeStatus + from ._models import ClfsTarget + from ._models import CloudErrorBody + from ._models import NamespaceJunction + from ._models import Nfs3Target + from ._models import ResourceSku + from ._models import ResourceSkuCapabilities + from ._models import ResourceSkuLocationInfo + from ._models import Restriction + from ._models import StorageTarget + from ._models import UnknownTarget + from ._models import UsageModel + from ._models import UsageModelDisplay +from ._paged_models import ApiOperationPaged +from ._paged_models import CachePaged +from ._paged_models import ResourceSkuPaged +from ._paged_models import StorageTargetPaged +from ._paged_models import UsageModelPaged +from ._storage_cache_management_client_enums import ( + HealthStateType, + ProvisioningStateType, + FirmwareStatusType, + ReasonCode, + StorageTargetType, +) + +__all__ = [ + 'ApiOperation', + 'ApiOperationDisplay', + 'Cache', + 'CacheHealth', + 'CacheSku', + 'CacheUpgradeStatus', + 'ClfsTarget', + 'CloudErrorBody', + 'NamespaceJunction', + 'Nfs3Target', + 'ResourceSku', + 'ResourceSkuCapabilities', + 'ResourceSkuLocationInfo', + 'Restriction', + 'StorageTarget', + 'UnknownTarget', + 'UsageModel', + 'UsageModelDisplay', + 'ApiOperationPaged', + 'ResourceSkuPaged', + 'UsageModelPaged', + 'CachePaged', + 'StorageTargetPaged', + 'HealthStateType', + 'ProvisioningStateType', + 'FirmwareStatusType', + 'ReasonCode', + 'StorageTargetType', +] diff --git a/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/models/_models.py b/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/models/_models.py new file mode 100644 index 00000000000..740dcc421d1 --- /dev/null +++ b/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/models/_models.py @@ -0,0 +1,602 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model +from msrest.exceptions import HttpOperationError + + +class ApiOperation(Model): + """REST API operation description: see + https://github.com/Azure/azure-rest-api-specs/blob/master/documentation/openapi-authoring-automated-guidelines.md#r3023-operationsapiimplementation. + + :param display: The object that represents the operation. + :type display: ~azure.mgmt.storagecache.models.ApiOperationDisplay + :param name: Operation name: {provider}/{resource}/{operation} + :type name: str + """ + + _attribute_map = { + 'display': {'key': 'display', 'type': 'ApiOperationDisplay'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApiOperation, self).__init__(**kwargs) + self.display = kwargs.get('display', None) + self.name = kwargs.get('name', None) + + +class ApiOperationDisplay(Model): + """The object that represents the operation. + + :param operation: Operation type: Read, write, delete, etc. + :type operation: str + :param provider: Service provider: Microsoft.StorageCache + :type provider: str + :param resource: Resource on which the operation is performed: Cache, etc. + :type resource: str + """ + + _attribute_map = { + 'operation': {'key': 'operation', 'type': 'str'}, + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApiOperationDisplay, self).__init__(**kwargs) + self.operation = kwargs.get('operation', None) + self.provider = kwargs.get('provider', None) + self.resource = kwargs.get('resource', None) + + +class Cache(Model): + """A Cache instance. Follows Azure Resource Manager standards: + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/resource-api-reference.md. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param tags: ARM tags as name/value pairs. + :type tags: object + :ivar id: Resource ID of the Cache. + :vartype id: str + :param location: Region name string. + :type location: str + :ivar name: Name of Cache. + :vartype name: str + :ivar type: Type of the Cache; Microsoft.StorageCache/Cache + :vartype type: str + :param cache_size_gb: The size of this Cache, in GB. + :type cache_size_gb: int + :ivar health: Health of the Cache. + :vartype health: ~azure.mgmt.storagecache.models.CacheHealth + :ivar mount_addresses: Array of IP addresses that can be used by clients + mounting this Cache. + :vartype mount_addresses: list[str] + :param provisioning_state: ARM provisioning state, see + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/Addendum.md#provisioningstate-property. + Possible values include: 'Succeeded', 'Failed', 'Cancelled', 'Creating', + 'Deleting', 'Updating' + :type provisioning_state: str or + ~azure.mgmt.storagecache.models.ProvisioningStateType + :param subnet: Subnet used for the Cache. + :type subnet: str + :param upgrade_status: Upgrade status of the Cache. + :type upgrade_status: ~azure.mgmt.storagecache.models.CacheUpgradeStatus + :param sku: SKU for the Cache. + :type sku: ~azure.mgmt.storagecache.models.CacheSku + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'health': {'readonly': True}, + 'mount_addresses': {'readonly': True}, + } + + _attribute_map = { + 'tags': {'key': 'tags', 'type': 'object'}, + 'id': {'key': 'id', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'cache_size_gb': {'key': 'properties.cacheSizeGB', 'type': 'int'}, + 'health': {'key': 'properties.health', 'type': 'CacheHealth'}, + 'mount_addresses': {'key': 'properties.mountAddresses', 'type': '[str]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'subnet': {'key': 'properties.subnet', 'type': 'str'}, + 'upgrade_status': {'key': 'properties.upgradeStatus', 'type': 'CacheUpgradeStatus'}, + 'sku': {'key': 'sku', 'type': 'CacheSku'}, + } + + def __init__(self, **kwargs): + super(Cache, self).__init__(**kwargs) + self.tags = kwargs.get('tags', None) + self.id = None + self.location = kwargs.get('location', None) + self.name = None + self.type = None + self.cache_size_gb = kwargs.get('cache_size_gb', None) + self.health = None + self.mount_addresses = None + self.provisioning_state = kwargs.get('provisioning_state', None) + self.subnet = kwargs.get('subnet', None) + self.upgrade_status = kwargs.get('upgrade_status', None) + self.sku = kwargs.get('sku', None) + + +class CacheHealth(Model): + """An indication of Cache health. Gives more information about health than + just that related to provisioning. + + :param state: List of Cache health states. Possible values include: + 'Unknown', 'Healthy', 'Degraded', 'Down', 'Transitioning', 'Stopping', + 'Stopped', 'Upgrading', 'Flushing' + :type state: str or ~azure.mgmt.storagecache.models.HealthStateType + :param status_description: Describes explanation of state. + :type status_description: str + """ + + _attribute_map = { + 'state': {'key': 'state', 'type': 'str'}, + 'status_description': {'key': 'statusDescription', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(CacheHealth, self).__init__(**kwargs) + self.state = kwargs.get('state', None) + self.status_description = kwargs.get('status_description', None) + + +class CacheSku(Model): + """SKU for the Cache. + + :param name: SKU name for this Cache. + :type name: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(CacheSku, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + + +class CacheUpgradeStatus(Model): + """Properties describing the software upgrade state of the Cache. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar current_firmware_version: Version string of the firmware currently + installed on this Cache. + :vartype current_firmware_version: str + :ivar firmware_update_status: True if there is a firmware update ready to + install on this Cache. The firmware will automatically be installed after + firmwareUpdateDeadline if not triggered earlier via the upgrade operation. + Possible values include: 'available', 'unavailable' + :vartype firmware_update_status: str or + ~azure.mgmt.storagecache.models.FirmwareStatusType + :ivar firmware_update_deadline: Time at which the pending firmware update + will automatically be installed on the Cache. + :vartype firmware_update_deadline: datetime + :ivar last_firmware_update: Time of the last successful firmware update. + :vartype last_firmware_update: datetime + :ivar pending_firmware_version: When firmwareUpdateAvailable is true, this + field holds the version string for the update. + :vartype pending_firmware_version: str + """ + + _validation = { + 'current_firmware_version': {'readonly': True}, + 'firmware_update_status': {'readonly': True}, + 'firmware_update_deadline': {'readonly': True}, + 'last_firmware_update': {'readonly': True}, + 'pending_firmware_version': {'readonly': True}, + } + + _attribute_map = { + 'current_firmware_version': {'key': 'currentFirmwareVersion', 'type': 'str'}, + 'firmware_update_status': {'key': 'firmwareUpdateStatus', 'type': 'str'}, + 'firmware_update_deadline': {'key': 'firmwareUpdateDeadline', 'type': 'iso-8601'}, + 'last_firmware_update': {'key': 'lastFirmwareUpdate', 'type': 'iso-8601'}, + 'pending_firmware_version': {'key': 'pendingFirmwareVersion', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(CacheUpgradeStatus, self).__init__(**kwargs) + self.current_firmware_version = None + self.firmware_update_status = None + self.firmware_update_deadline = None + self.last_firmware_update = None + self.pending_firmware_version = None + + +class ClfsTarget(Model): + """Storage container for use as a CLFS Storage Target. + + :param target: Resource ID of storage container. + :type target: str + """ + + _attribute_map = { + 'target': {'key': 'target', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ClfsTarget, self).__init__(**kwargs) + self.target = kwargs.get('target', None) + + +class CloudError(Model): + """An error response. + + :param error: The body of the error. + :type error: ~azure.mgmt.storagecache.models.CloudErrorBody + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'CloudErrorBody'}, + } + + def __init__(self, **kwargs): + super(CloudError, self).__init__(**kwargs) + self.error = kwargs.get('error', None) + + +class CloudErrorException(HttpOperationError): + """Server responsed with exception of type: 'CloudError'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(CloudErrorException, self).__init__(deserialize, response, 'CloudError', *args) + + +class CloudErrorBody(Model): + """An error response. + + :param code: An identifier for the error. Codes are invariant and are + intended to be consumed programmatically. + :type code: str + :param details: A list of additional details about the error. + :type details: list[~azure.mgmt.storagecache.models.CloudErrorBody] + :param message: A message describing the error, intended to be suitable + for display in a user interface. + :type message: str + :param target: The target of the particular error. For example, the name + of the property in error. + :type target: str + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[CloudErrorBody]'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(CloudErrorBody, self).__init__(**kwargs) + self.code = kwargs.get('code', None) + self.details = kwargs.get('details', None) + self.message = kwargs.get('message', None) + self.target = kwargs.get('target', None) + + +class NamespaceJunction(Model): + """A namespace junction. + + :param namespace_path: Namespace path on a Cache for a Storage Target. + :type namespace_path: str + :param target_path: Path in Storage Target to which namespacePath points. + :type target_path: str + :param nfs_export: NFS export where targetPath exists. + :type nfs_export: str + """ + + _attribute_map = { + 'namespace_path': {'key': 'namespacePath', 'type': 'str'}, + 'target_path': {'key': 'targetPath', 'type': 'str'}, + 'nfs_export': {'key': 'nfsExport', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(NamespaceJunction, self).__init__(**kwargs) + self.namespace_path = kwargs.get('namespace_path', None) + self.target_path = kwargs.get('target_path', None) + self.nfs_export = kwargs.get('nfs_export', None) + + +class Nfs3Target(Model): + """An NFSv3 mount point for use as a Storage Target. + + :param target: IP address or host name of an NFSv3 host (e.g., + 10.0.44.44). + :type target: str + :param usage_model: Identifies the primary usage model to be used for this + Storage Target. Get choices from .../usageModels + :type usage_model: str + """ + + _validation = { + 'target': {'pattern': r'^[-.0-9a-zA-Z]+$'}, + } + + _attribute_map = { + 'target': {'key': 'target', 'type': 'str'}, + 'usage_model': {'key': 'usageModel', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Nfs3Target, self).__init__(**kwargs) + self.target = kwargs.get('target', None) + self.usage_model = kwargs.get('usage_model', None) + + +class ResourceSku(Model): + """A resource SKU. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar resource_type: The type of resource the SKU applies to. + :vartype resource_type: str + :param capabilities: A list of capabilities of this SKU, such as + throughput or ops/sec. + :type capabilities: + list[~azure.mgmt.storagecache.models.ResourceSkuCapabilities] + :ivar locations: The set of locations that the SKU is available. This will + be supported and registered Azure Geo Regions (e.g., West US, East US, + Southeast Asia, etc.). + :vartype locations: list[str] + :param location_info: The set of locations that the SKU is available. + :type location_info: + list[~azure.mgmt.storagecache.models.ResourceSkuLocationInfo] + :param name: The name of this SKU. + :type name: str + :param restrictions: The restrictions preventing this SKU from being used. + This is empty if there are no restrictions. + :type restrictions: list[~azure.mgmt.storagecache.models.Restriction] + """ + + _validation = { + 'resource_type': {'readonly': True}, + 'locations': {'readonly': True}, + } + + _attribute_map = { + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'capabilities': {'key': 'capabilities', 'type': '[ResourceSkuCapabilities]'}, + 'locations': {'key': 'locations', 'type': '[str]'}, + 'location_info': {'key': 'locationInfo', 'type': '[ResourceSkuLocationInfo]'}, + 'name': {'key': 'name', 'type': 'str'}, + 'restrictions': {'key': 'restrictions', 'type': '[Restriction]'}, + } + + def __init__(self, **kwargs): + super(ResourceSku, self).__init__(**kwargs) + self.resource_type = None + self.capabilities = kwargs.get('capabilities', None) + self.locations = None + self.location_info = kwargs.get('location_info', None) + self.name = kwargs.get('name', None) + self.restrictions = kwargs.get('restrictions', None) + + +class ResourceSkuCapabilities(Model): + """A resource SKU capability. + + :param name: Name of a capability, such as ops/sec. + :type name: str + :param value: Quantity, if the capability is measured by quantity. + :type value: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ResourceSkuCapabilities, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.value = kwargs.get('value', None) + + +class ResourceSkuLocationInfo(Model): + """Resource SKU location information. + + :param location: Location where this SKU is available. + :type location: str + :param zones: Zones if any. + :type zones: list[str] + """ + + _attribute_map = { + 'location': {'key': 'location', 'type': 'str'}, + 'zones': {'key': 'zones', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(ResourceSkuLocationInfo, self).__init__(**kwargs) + self.location = kwargs.get('location', None) + self.zones = kwargs.get('zones', None) + + +class Restriction(Model): + """The restrictions preventing this SKU from being used. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar type: The type of restrictions. In this version, the only possible + value for this is location. + :vartype type: str + :ivar values: The value of restrictions. If the restriction type is set to + location, then this would be the different locations where the SKU is + restricted. + :vartype values: list[str] + :param reason_code: The reason for the restriction. As of now this can be + "QuotaId" or "NotAvailableForSubscription". "QuotaId" is set when the SKU + has requiredQuotas parameter as the subscription does not belong to that + quota. "NotAvailableForSubscription" is related to capacity at the + datacenter. Possible values include: 'QuotaId', + 'NotAvailableForSubscription' + :type reason_code: str or ~azure.mgmt.storagecache.models.ReasonCode + """ + + _validation = { + 'type': {'readonly': True}, + 'values': {'readonly': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'values': {'key': 'values', 'type': '[str]'}, + 'reason_code': {'key': 'reasonCode', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Restriction, self).__init__(**kwargs) + self.type = None + self.values = None + self.reason_code = kwargs.get('reason_code', None) + + +class StorageTarget(Model): + """A storage system being cached by a Cache. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name: Name of the Storage Target. + :vartype name: str + :ivar id: Resource ID of the Storage Target. + :vartype id: str + :ivar type: Type of the Storage Target; + Microsoft.StorageCache/Cache/StorageTarget + :vartype type: str + :param junctions: List of Cache namespace junctions to target for + namespace associations. + :type junctions: list[~azure.mgmt.storagecache.models.NamespaceJunction] + :param target_type: Type of the Storage Target. Possible values include: + 'nfs3', 'clfs', 'unknown' + :type target_type: str or + ~azure.mgmt.storagecache.models.StorageTargetType + :param provisioning_state: ARM provisioning state, see + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/Addendum.md#provisioningstate-property. + Possible values include: 'Succeeded', 'Failed', 'Cancelled', 'Creating', + 'Deleting', 'Updating' + :type provisioning_state: str or + ~azure.mgmt.storagecache.models.ProvisioningStateType + :param nfs3: Properties when targetType is nfs3. + :type nfs3: ~azure.mgmt.storagecache.models.Nfs3Target + :param clfs: Properties when targetType is clfs. + :type clfs: ~azure.mgmt.storagecache.models.ClfsTarget + :param unknown: Properties when targetType is unknown. + :type unknown: ~azure.mgmt.storagecache.models.UnknownTarget + """ + + _validation = { + 'name': {'readonly': True}, + 'id': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'junctions': {'key': 'properties.junctions', 'type': '[NamespaceJunction]'}, + 'target_type': {'key': 'properties.targetType', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'nfs3': {'key': 'properties.nfs3', 'type': 'Nfs3Target'}, + 'clfs': {'key': 'properties.clfs', 'type': 'ClfsTarget'}, + 'unknown': {'key': 'properties.unknown', 'type': 'UnknownTarget'}, + } + + def __init__(self, **kwargs): + super(StorageTarget, self).__init__(**kwargs) + self.name = None + self.id = None + self.type = None + self.junctions = kwargs.get('junctions', None) + self.target_type = kwargs.get('target_type', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.nfs3 = kwargs.get('nfs3', None) + self.clfs = kwargs.get('clfs', None) + self.unknown = kwargs.get('unknown', None) + + +class UnknownTarget(Model): + """Storage container for use as an Unknown Storage Target. + + :param unknown_map: Dictionary of string->string pairs containing + information about the Storage Target. + :type unknown_map: dict[str, str] + """ + + _attribute_map = { + 'unknown_map': {'key': 'unknownMap', 'type': '{str}'}, + } + + def __init__(self, **kwargs): + super(UnknownTarget, self).__init__(**kwargs) + self.unknown_map = kwargs.get('unknown_map', None) + + +class UsageModel(Model): + """A usage model. + + :param display: Localized information describing this usage model. + :type display: ~azure.mgmt.storagecache.models.UsageModelDisplay + :param model_name: Non-localized keyword name for this usage model. + :type model_name: str + :param target_type: The type of Storage Target to which this model is + applicable (only nfs3 as of this version). + :type target_type: str + """ + + _attribute_map = { + 'display': {'key': 'display', 'type': 'UsageModelDisplay'}, + 'model_name': {'key': 'modelName', 'type': 'str'}, + 'target_type': {'key': 'targetType', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(UsageModel, self).__init__(**kwargs) + self.display = kwargs.get('display', None) + self.model_name = kwargs.get('model_name', None) + self.target_type = kwargs.get('target_type', None) + + +class UsageModelDisplay(Model): + """Localized information describing this usage model. + + :param description: String to display for this usage model. + :type description: str + """ + + _attribute_map = { + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(UsageModelDisplay, self).__init__(**kwargs) + self.description = kwargs.get('description', None) diff --git a/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/models/_models_py3.py b/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/models/_models_py3.py new file mode 100644 index 00000000000..1d6b8ea085b --- /dev/null +++ b/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/models/_models_py3.py @@ -0,0 +1,602 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model +from msrest.exceptions import HttpOperationError + + +class ApiOperation(Model): + """REST API operation description: see + https://github.com/Azure/azure-rest-api-specs/blob/master/documentation/openapi-authoring-automated-guidelines.md#r3023-operationsapiimplementation. + + :param display: The object that represents the operation. + :type display: ~azure.mgmt.storagecache.models.ApiOperationDisplay + :param name: Operation name: {provider}/{resource}/{operation} + :type name: str + """ + + _attribute_map = { + 'display': {'key': 'display', 'type': 'ApiOperationDisplay'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, *, display=None, name: str=None, **kwargs) -> None: + super(ApiOperation, self).__init__(**kwargs) + self.display = display + self.name = name + + +class ApiOperationDisplay(Model): + """The object that represents the operation. + + :param operation: Operation type: Read, write, delete, etc. + :type operation: str + :param provider: Service provider: Microsoft.StorageCache + :type provider: str + :param resource: Resource on which the operation is performed: Cache, etc. + :type resource: str + """ + + _attribute_map = { + 'operation': {'key': 'operation', 'type': 'str'}, + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + } + + def __init__(self, *, operation: str=None, provider: str=None, resource: str=None, **kwargs) -> None: + super(ApiOperationDisplay, self).__init__(**kwargs) + self.operation = operation + self.provider = provider + self.resource = resource + + +class Cache(Model): + """A Cache instance. Follows Azure Resource Manager standards: + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/resource-api-reference.md. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param tags: ARM tags as name/value pairs. + :type tags: object + :ivar id: Resource ID of the Cache. + :vartype id: str + :param location: Region name string. + :type location: str + :ivar name: Name of Cache. + :vartype name: str + :ivar type: Type of the Cache; Microsoft.StorageCache/Cache + :vartype type: str + :param cache_size_gb: The size of this Cache, in GB. + :type cache_size_gb: int + :ivar health: Health of the Cache. + :vartype health: ~azure.mgmt.storagecache.models.CacheHealth + :ivar mount_addresses: Array of IP addresses that can be used by clients + mounting this Cache. + :vartype mount_addresses: list[str] + :param provisioning_state: ARM provisioning state, see + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/Addendum.md#provisioningstate-property. + Possible values include: 'Succeeded', 'Failed', 'Cancelled', 'Creating', + 'Deleting', 'Updating' + :type provisioning_state: str or + ~azure.mgmt.storagecache.models.ProvisioningStateType + :param subnet: Subnet used for the Cache. + :type subnet: str + :param upgrade_status: Upgrade status of the Cache. + :type upgrade_status: ~azure.mgmt.storagecache.models.CacheUpgradeStatus + :param sku: SKU for the Cache. + :type sku: ~azure.mgmt.storagecache.models.CacheSku + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'health': {'readonly': True}, + 'mount_addresses': {'readonly': True}, + } + + _attribute_map = { + 'tags': {'key': 'tags', 'type': 'object'}, + 'id': {'key': 'id', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'cache_size_gb': {'key': 'properties.cacheSizeGB', 'type': 'int'}, + 'health': {'key': 'properties.health', 'type': 'CacheHealth'}, + 'mount_addresses': {'key': 'properties.mountAddresses', 'type': '[str]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'subnet': {'key': 'properties.subnet', 'type': 'str'}, + 'upgrade_status': {'key': 'properties.upgradeStatus', 'type': 'CacheUpgradeStatus'}, + 'sku': {'key': 'sku', 'type': 'CacheSku'}, + } + + def __init__(self, *, tags=None, location: str=None, cache_size_gb: int=None, provisioning_state=None, subnet: str=None, upgrade_status=None, sku=None, **kwargs) -> None: + super(Cache, self).__init__(**kwargs) + self.tags = tags + self.id = None + self.location = location + self.name = None + self.type = None + self.cache_size_gb = cache_size_gb + self.health = None + self.mount_addresses = None + self.provisioning_state = provisioning_state + self.subnet = subnet + self.upgrade_status = upgrade_status + self.sku = sku + + +class CacheHealth(Model): + """An indication of Cache health. Gives more information about health than + just that related to provisioning. + + :param state: List of Cache health states. Possible values include: + 'Unknown', 'Healthy', 'Degraded', 'Down', 'Transitioning', 'Stopping', + 'Stopped', 'Upgrading', 'Flushing' + :type state: str or ~azure.mgmt.storagecache.models.HealthStateType + :param status_description: Describes explanation of state. + :type status_description: str + """ + + _attribute_map = { + 'state': {'key': 'state', 'type': 'str'}, + 'status_description': {'key': 'statusDescription', 'type': 'str'}, + } + + def __init__(self, *, state=None, status_description: str=None, **kwargs) -> None: + super(CacheHealth, self).__init__(**kwargs) + self.state = state + self.status_description = status_description + + +class CacheSku(Model): + """SKU for the Cache. + + :param name: SKU name for this Cache. + :type name: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, **kwargs) -> None: + super(CacheSku, self).__init__(**kwargs) + self.name = name + + +class CacheUpgradeStatus(Model): + """Properties describing the software upgrade state of the Cache. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar current_firmware_version: Version string of the firmware currently + installed on this Cache. + :vartype current_firmware_version: str + :ivar firmware_update_status: True if there is a firmware update ready to + install on this Cache. The firmware will automatically be installed after + firmwareUpdateDeadline if not triggered earlier via the upgrade operation. + Possible values include: 'available', 'unavailable' + :vartype firmware_update_status: str or + ~azure.mgmt.storagecache.models.FirmwareStatusType + :ivar firmware_update_deadline: Time at which the pending firmware update + will automatically be installed on the Cache. + :vartype firmware_update_deadline: datetime + :ivar last_firmware_update: Time of the last successful firmware update. + :vartype last_firmware_update: datetime + :ivar pending_firmware_version: When firmwareUpdateAvailable is true, this + field holds the version string for the update. + :vartype pending_firmware_version: str + """ + + _validation = { + 'current_firmware_version': {'readonly': True}, + 'firmware_update_status': {'readonly': True}, + 'firmware_update_deadline': {'readonly': True}, + 'last_firmware_update': {'readonly': True}, + 'pending_firmware_version': {'readonly': True}, + } + + _attribute_map = { + 'current_firmware_version': {'key': 'currentFirmwareVersion', 'type': 'str'}, + 'firmware_update_status': {'key': 'firmwareUpdateStatus', 'type': 'str'}, + 'firmware_update_deadline': {'key': 'firmwareUpdateDeadline', 'type': 'iso-8601'}, + 'last_firmware_update': {'key': 'lastFirmwareUpdate', 'type': 'iso-8601'}, + 'pending_firmware_version': {'key': 'pendingFirmwareVersion', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(CacheUpgradeStatus, self).__init__(**kwargs) + self.current_firmware_version = None + self.firmware_update_status = None + self.firmware_update_deadline = None + self.last_firmware_update = None + self.pending_firmware_version = None + + +class ClfsTarget(Model): + """Storage container for use as a CLFS Storage Target. + + :param target: Resource ID of storage container. + :type target: str + """ + + _attribute_map = { + 'target': {'key': 'target', 'type': 'str'}, + } + + def __init__(self, *, target: str=None, **kwargs) -> None: + super(ClfsTarget, self).__init__(**kwargs) + self.target = target + + +class CloudError(Model): + """An error response. + + :param error: The body of the error. + :type error: ~azure.mgmt.storagecache.models.CloudErrorBody + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'CloudErrorBody'}, + } + + def __init__(self, *, error=None, **kwargs) -> None: + super(CloudError, self).__init__(**kwargs) + self.error = error + + +class CloudErrorException(HttpOperationError): + """Server responsed with exception of type: 'CloudError'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(CloudErrorException, self).__init__(deserialize, response, 'CloudError', *args) + + +class CloudErrorBody(Model): + """An error response. + + :param code: An identifier for the error. Codes are invariant and are + intended to be consumed programmatically. + :type code: str + :param details: A list of additional details about the error. + :type details: list[~azure.mgmt.storagecache.models.CloudErrorBody] + :param message: A message describing the error, intended to be suitable + for display in a user interface. + :type message: str + :param target: The target of the particular error. For example, the name + of the property in error. + :type target: str + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[CloudErrorBody]'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + } + + def __init__(self, *, code: str=None, details=None, message: str=None, target: str=None, **kwargs) -> None: + super(CloudErrorBody, self).__init__(**kwargs) + self.code = code + self.details = details + self.message = message + self.target = target + + +class NamespaceJunction(Model): + """A namespace junction. + + :param namespace_path: Namespace path on a Cache for a Storage Target. + :type namespace_path: str + :param target_path: Path in Storage Target to which namespacePath points. + :type target_path: str + :param nfs_export: NFS export where targetPath exists. + :type nfs_export: str + """ + + _attribute_map = { + 'namespace_path': {'key': 'namespacePath', 'type': 'str'}, + 'target_path': {'key': 'targetPath', 'type': 'str'}, + 'nfs_export': {'key': 'nfsExport', 'type': 'str'}, + } + + def __init__(self, *, namespace_path: str=None, target_path: str=None, nfs_export: str=None, **kwargs) -> None: + super(NamespaceJunction, self).__init__(**kwargs) + self.namespace_path = namespace_path + self.target_path = target_path + self.nfs_export = nfs_export + + +class Nfs3Target(Model): + """An NFSv3 mount point for use as a Storage Target. + + :param target: IP address or host name of an NFSv3 host (e.g., + 10.0.44.44). + :type target: str + :param usage_model: Identifies the primary usage model to be used for this + Storage Target. Get choices from .../usageModels + :type usage_model: str + """ + + _validation = { + 'target': {'pattern': r'^[-.0-9a-zA-Z]+$'}, + } + + _attribute_map = { + 'target': {'key': 'target', 'type': 'str'}, + 'usage_model': {'key': 'usageModel', 'type': 'str'}, + } + + def __init__(self, *, target: str=None, usage_model: str=None, **kwargs) -> None: + super(Nfs3Target, self).__init__(**kwargs) + self.target = target + self.usage_model = usage_model + + +class ResourceSku(Model): + """A resource SKU. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar resource_type: The type of resource the SKU applies to. + :vartype resource_type: str + :param capabilities: A list of capabilities of this SKU, such as + throughput or ops/sec. + :type capabilities: + list[~azure.mgmt.storagecache.models.ResourceSkuCapabilities] + :ivar locations: The set of locations that the SKU is available. This will + be supported and registered Azure Geo Regions (e.g., West US, East US, + Southeast Asia, etc.). + :vartype locations: list[str] + :param location_info: The set of locations that the SKU is available. + :type location_info: + list[~azure.mgmt.storagecache.models.ResourceSkuLocationInfo] + :param name: The name of this SKU. + :type name: str + :param restrictions: The restrictions preventing this SKU from being used. + This is empty if there are no restrictions. + :type restrictions: list[~azure.mgmt.storagecache.models.Restriction] + """ + + _validation = { + 'resource_type': {'readonly': True}, + 'locations': {'readonly': True}, + } + + _attribute_map = { + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'capabilities': {'key': 'capabilities', 'type': '[ResourceSkuCapabilities]'}, + 'locations': {'key': 'locations', 'type': '[str]'}, + 'location_info': {'key': 'locationInfo', 'type': '[ResourceSkuLocationInfo]'}, + 'name': {'key': 'name', 'type': 'str'}, + 'restrictions': {'key': 'restrictions', 'type': '[Restriction]'}, + } + + def __init__(self, *, capabilities=None, location_info=None, name: str=None, restrictions=None, **kwargs) -> None: + super(ResourceSku, self).__init__(**kwargs) + self.resource_type = None + self.capabilities = capabilities + self.locations = None + self.location_info = location_info + self.name = name + self.restrictions = restrictions + + +class ResourceSkuCapabilities(Model): + """A resource SKU capability. + + :param name: Name of a capability, such as ops/sec. + :type name: str + :param value: Quantity, if the capability is measured by quantity. + :type value: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, value: str=None, **kwargs) -> None: + super(ResourceSkuCapabilities, self).__init__(**kwargs) + self.name = name + self.value = value + + +class ResourceSkuLocationInfo(Model): + """Resource SKU location information. + + :param location: Location where this SKU is available. + :type location: str + :param zones: Zones if any. + :type zones: list[str] + """ + + _attribute_map = { + 'location': {'key': 'location', 'type': 'str'}, + 'zones': {'key': 'zones', 'type': '[str]'}, + } + + def __init__(self, *, location: str=None, zones=None, **kwargs) -> None: + super(ResourceSkuLocationInfo, self).__init__(**kwargs) + self.location = location + self.zones = zones + + +class Restriction(Model): + """The restrictions preventing this SKU from being used. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar type: The type of restrictions. In this version, the only possible + value for this is location. + :vartype type: str + :ivar values: The value of restrictions. If the restriction type is set to + location, then this would be the different locations where the SKU is + restricted. + :vartype values: list[str] + :param reason_code: The reason for the restriction. As of now this can be + "QuotaId" or "NotAvailableForSubscription". "QuotaId" is set when the SKU + has requiredQuotas parameter as the subscription does not belong to that + quota. "NotAvailableForSubscription" is related to capacity at the + datacenter. Possible values include: 'QuotaId', + 'NotAvailableForSubscription' + :type reason_code: str or ~azure.mgmt.storagecache.models.ReasonCode + """ + + _validation = { + 'type': {'readonly': True}, + 'values': {'readonly': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'values': {'key': 'values', 'type': '[str]'}, + 'reason_code': {'key': 'reasonCode', 'type': 'str'}, + } + + def __init__(self, *, reason_code=None, **kwargs) -> None: + super(Restriction, self).__init__(**kwargs) + self.type = None + self.values = None + self.reason_code = reason_code + + +class StorageTarget(Model): + """A storage system being cached by a Cache. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name: Name of the Storage Target. + :vartype name: str + :ivar id: Resource ID of the Storage Target. + :vartype id: str + :ivar type: Type of the Storage Target; + Microsoft.StorageCache/Cache/StorageTarget + :vartype type: str + :param junctions: List of Cache namespace junctions to target for + namespace associations. + :type junctions: list[~azure.mgmt.storagecache.models.NamespaceJunction] + :param target_type: Type of the Storage Target. Possible values include: + 'nfs3', 'clfs', 'unknown' + :type target_type: str or + ~azure.mgmt.storagecache.models.StorageTargetType + :param provisioning_state: ARM provisioning state, see + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/Addendum.md#provisioningstate-property. + Possible values include: 'Succeeded', 'Failed', 'Cancelled', 'Creating', + 'Deleting', 'Updating' + :type provisioning_state: str or + ~azure.mgmt.storagecache.models.ProvisioningStateType + :param nfs3: Properties when targetType is nfs3. + :type nfs3: ~azure.mgmt.storagecache.models.Nfs3Target + :param clfs: Properties when targetType is clfs. + :type clfs: ~azure.mgmt.storagecache.models.ClfsTarget + :param unknown: Properties when targetType is unknown. + :type unknown: ~azure.mgmt.storagecache.models.UnknownTarget + """ + + _validation = { + 'name': {'readonly': True}, + 'id': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'junctions': {'key': 'properties.junctions', 'type': '[NamespaceJunction]'}, + 'target_type': {'key': 'properties.targetType', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'nfs3': {'key': 'properties.nfs3', 'type': 'Nfs3Target'}, + 'clfs': {'key': 'properties.clfs', 'type': 'ClfsTarget'}, + 'unknown': {'key': 'properties.unknown', 'type': 'UnknownTarget'}, + } + + def __init__(self, *, junctions=None, target_type=None, provisioning_state=None, nfs3=None, clfs=None, unknown=None, **kwargs) -> None: + super(StorageTarget, self).__init__(**kwargs) + self.name = None + self.id = None + self.type = None + self.junctions = junctions + self.target_type = target_type + self.provisioning_state = provisioning_state + self.nfs3 = nfs3 + self.clfs = clfs + self.unknown = unknown + + +class UnknownTarget(Model): + """Storage container for use as an Unknown Storage Target. + + :param unknown_map: Dictionary of string->string pairs containing + information about the Storage Target. + :type unknown_map: dict[str, str] + """ + + _attribute_map = { + 'unknown_map': {'key': 'unknownMap', 'type': '{str}'}, + } + + def __init__(self, *, unknown_map=None, **kwargs) -> None: + super(UnknownTarget, self).__init__(**kwargs) + self.unknown_map = unknown_map + + +class UsageModel(Model): + """A usage model. + + :param display: Localized information describing this usage model. + :type display: ~azure.mgmt.storagecache.models.UsageModelDisplay + :param model_name: Non-localized keyword name for this usage model. + :type model_name: str + :param target_type: The type of Storage Target to which this model is + applicable (only nfs3 as of this version). + :type target_type: str + """ + + _attribute_map = { + 'display': {'key': 'display', 'type': 'UsageModelDisplay'}, + 'model_name': {'key': 'modelName', 'type': 'str'}, + 'target_type': {'key': 'targetType', 'type': 'str'}, + } + + def __init__(self, *, display=None, model_name: str=None, target_type: str=None, **kwargs) -> None: + super(UsageModel, self).__init__(**kwargs) + self.display = display + self.model_name = model_name + self.target_type = target_type + + +class UsageModelDisplay(Model): + """Localized information describing this usage model. + + :param description: String to display for this usage model. + :type description: str + """ + + _attribute_map = { + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__(self, *, description: str=None, **kwargs) -> None: + super(UsageModelDisplay, self).__init__(**kwargs) + self.description = description diff --git a/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/models/_paged_models.py b/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/models/_paged_models.py new file mode 100644 index 00000000000..9ce0e883935 --- /dev/null +++ b/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/models/_paged_models.py @@ -0,0 +1,79 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.paging import Paged + + +class ApiOperationPaged(Paged): + """ + A paging container for iterating over a list of :class:`ApiOperation ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ApiOperation]'} + } + + def __init__(self, *args, **kwargs): + + super(ApiOperationPaged, self).__init__(*args, **kwargs) +class ResourceSkuPaged(Paged): + """ + A paging container for iterating over a list of :class:`ResourceSku ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ResourceSku]'} + } + + def __init__(self, *args, **kwargs): + + super(ResourceSkuPaged, self).__init__(*args, **kwargs) +class UsageModelPaged(Paged): + """ + A paging container for iterating over a list of :class:`UsageModel ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[UsageModel]'} + } + + def __init__(self, *args, **kwargs): + + super(UsageModelPaged, self).__init__(*args, **kwargs) +class CachePaged(Paged): + """ + A paging container for iterating over a list of :class:`Cache ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[Cache]'} + } + + def __init__(self, *args, **kwargs): + + super(CachePaged, self).__init__(*args, **kwargs) +class StorageTargetPaged(Paged): + """ + A paging container for iterating over a list of :class:`StorageTarget ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[StorageTarget]'} + } + + def __init__(self, *args, **kwargs): + + super(StorageTargetPaged, self).__init__(*args, **kwargs) diff --git a/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/models/_storage_cache_management_client_enums.py b/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/models/_storage_cache_management_client_enums.py new file mode 100644 index 00000000000..6f355192f18 --- /dev/null +++ b/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/models/_storage_cache_management_client_enums.py @@ -0,0 +1,54 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from enum import Enum + + +class HealthStateType(str, Enum): + + unknown = "Unknown" + healthy = "Healthy" + degraded = "Degraded" + down = "Down" + transitioning = "Transitioning" + stopping = "Stopping" + stopped = "Stopped" + upgrading = "Upgrading" + flushing = "Flushing" + + +class ProvisioningStateType(str, Enum): + + succeeded = "Succeeded" + failed = "Failed" + cancelled = "Cancelled" + creating = "Creating" + deleting = "Deleting" + updating = "Updating" + + +class FirmwareStatusType(str, Enum): + + available = "available" + unavailable = "unavailable" + + +class ReasonCode(str, Enum): + + quota_id = "QuotaId" + not_available_for_subscription = "NotAvailableForSubscription" + + +class StorageTargetType(str, Enum): + + nfs3 = "nfs3" + clfs = "clfs" + unknown = "unknown" diff --git a/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/operations/__init__.py b/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/operations/__init__.py new file mode 100644 index 00000000000..4fce143078b --- /dev/null +++ b/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/operations/__init__.py @@ -0,0 +1,24 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from ._operations import Operations +from ._skus_operations import SkusOperations +from ._usage_models_operations import UsageModelsOperations +from ._caches_operations import CachesOperations +from ._storage_targets_operations import StorageTargetsOperations + +__all__ = [ + 'Operations', + 'SkusOperations', + 'UsageModelsOperations', + 'CachesOperations', + 'StorageTargetsOperations', +] diff --git a/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/operations/_caches_operations.py b/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/operations/_caches_operations.py new file mode 100644 index 00000000000..95cd21a855d --- /dev/null +++ b/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/operations/_caches_operations.py @@ -0,0 +1,895 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class CachesOperations(object): + """CachesOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2019-11-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2019-11-01" + + self.config = config + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Returns all Caches the user has access to under a subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of Cache + :rtype: + ~azure.mgmt.storagecache.models.CachePaged[~azure.mgmt.storagecache.models.Cache] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.CachePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.StorageCache/caches'} + + def list_by_resource_group( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Returns all Caches the user has access to under a resource group. + + :param resource_group_name: Target resource group. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of Cache + :rtype: + ~azure.mgmt.storagecache.models.CachePaged[~azure.mgmt.storagecache.models.Cache] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.CachePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches'} + + + def _delete_initial( + self, resource_group_name, cache_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'cacheName': self._serialize.url("cache_name", cache_name, 'str', pattern=r'^[-0-9a-zA-Z_]{1,31}$'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + 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('object', response) + if response.status_code == 202: + deserialized = self._deserialize('object', response) + if response.status_code == 204: + deserialized = self._deserialize('object', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def delete( + self, resource_group_name, cache_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Schedules a Cache for deletion. + + :param resource_group_name: Target resource group. + :type resource_group_name: str + :param cache_name: Name of Cache. + :type cache_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns object or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[object] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[object]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + cache_name=cache_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('object', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}'} + + def get( + self, resource_group_name, cache_name, custom_headers=None, raw=False, **operation_config): + """Returns a Cache. + + :param resource_group_name: Target resource group. + :type resource_group_name: str + :param cache_name: Name of Cache. + :type cache_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: Cache or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.storagecache.models.Cache or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'cacheName': self._serialize.url("cache_name", cache_name, 'str', pattern=r'^[-0-9a-zA-Z_]{1,31}$'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('Cache', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}'} + + + def _create_or_update_initial( + self, resource_group_name, cache_name, cache=None, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'cacheName': self._serialize.url("cache_name", cache_name, 'str', pattern=r'^[-0-9a-zA-Z_]{1,31}$') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 + if cache is not None: + body_content = self._serialize.body(cache, 'Cache') + else: + body_content = None + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('Cache', response) + if response.status_code == 201: + deserialized = self._deserialize('Cache', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, cache_name, cache=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Create or update a Cache. + + :param resource_group_name: Target resource group. + :type resource_group_name: str + :param cache_name: Name of Cache. + :type cache_name: str + :param cache: Object containing the user-selectable properties of the + new Cache. If read-only properties are included, they must match the + existing values of those properties. + :type cache: ~azure.mgmt.storagecache.models.Cache + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns Cache or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.storagecache.models.Cache] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.storagecache.models.Cache]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + cache_name=cache_name, + cache=cache, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('Cache', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}'} + + def update( + self, resource_group_name, cache_name, cache=None, custom_headers=None, raw=False, **operation_config): + """Update a Cache instance. + + :param resource_group_name: Target resource group. + :type resource_group_name: str + :param cache_name: Name of Cache. + :type cache_name: str + :param cache: Object containing the user-selectable properties of the + Cache. If read-only properties are included, they must match the + existing values of those properties. + :type cache: ~azure.mgmt.storagecache.models.Cache + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: Cache or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.storagecache.models.Cache or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'cacheName': self._serialize.url("cache_name", cache_name, 'str', pattern=r'^[-0-9a-zA-Z_]{1,31}$') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 + if cache is not None: + body_content = self._serialize.body(cache, 'Cache') + else: + body_content = None + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('Cache', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}'} + + + def _flush_initial( + self, resource_group_name, cache_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.flush.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'cacheName': self._serialize.url("cache_name", cache_name, 'str', pattern=r'^[-0-9a-zA-Z_]{1,31}$') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + 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('object', response) + if response.status_code == 202: + deserialized = self._deserialize('object', response) + if response.status_code == 204: + deserialized = self._deserialize('object', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def flush( + self, resource_group_name, cache_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Tells a Cache to write all dirty data to the Storage Target(s). During + the flush, clients will see errors returned until the flush is + complete. + + :param resource_group_name: Target resource group. + :type resource_group_name: str + :param cache_name: Name of Cache. + :type cache_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns object or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[object] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[object]] + :raises: :class:`CloudError` + """ + raw_result = self._flush_initial( + resource_group_name=resource_group_name, + cache_name=cache_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('object', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + flush.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}/flush'} + + + def _start_initial( + self, resource_group_name, cache_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.start.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'cacheName': self._serialize.url("cache_name", cache_name, 'str', pattern=r'^[-0-9a-zA-Z_]{1,31}$') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + 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('object', response) + if response.status_code == 202: + deserialized = self._deserialize('object', response) + if response.status_code == 204: + deserialized = self._deserialize('object', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def start( + self, resource_group_name, cache_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Tells a Stopped state Cache to transition to Active state. + + :param resource_group_name: Target resource group. + :type resource_group_name: str + :param cache_name: Name of Cache. + :type cache_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns object or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[object] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[object]] + :raises: :class:`CloudError` + """ + raw_result = self._start_initial( + resource_group_name=resource_group_name, + cache_name=cache_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('object', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + start.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}/start'} + + + def _stop_initial( + self, resource_group_name, cache_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.stop.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'cacheName': self._serialize.url("cache_name", cache_name, 'str', pattern=r'^[-0-9a-zA-Z_]{1,31}$') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + 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('object', response) + if response.status_code == 202: + deserialized = self._deserialize('object', response) + if response.status_code == 204: + deserialized = self._deserialize('object', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def stop( + self, resource_group_name, cache_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Tells an Active Cache to transition to Stopped state. + + :param resource_group_name: Target resource group. + :type resource_group_name: str + :param cache_name: Name of Cache. + :type cache_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns object or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[object] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[object]] + :raises: :class:`CloudError` + """ + raw_result = self._stop_initial( + resource_group_name=resource_group_name, + cache_name=cache_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('object', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + stop.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}/stop'} + + + def _upgrade_firmware_initial( + self, resource_group_name, cache_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.upgrade_firmware.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'cacheName': self._serialize.url("cache_name", cache_name, 'str', pattern=r'^[-0-9a-zA-Z_]{1,31}$') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [201, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 201: + deserialized = self._deserialize('object', response) + if response.status_code == 202: + deserialized = self._deserialize('object', response) + if response.status_code == 204: + deserialized = self._deserialize('object', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def upgrade_firmware( + self, resource_group_name, cache_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Upgrade a Cache's firmware if a new version is available. Otherwise, + this operation has no effect. + + :param resource_group_name: Target resource group. + :type resource_group_name: str + :param cache_name: Name of Cache. + :type cache_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns object or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[object] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[object]] + :raises: :class:`CloudError` + """ + raw_result = self._upgrade_firmware_initial( + resource_group_name=resource_group_name, + cache_name=cache_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('object', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + upgrade_firmware.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}/upgrade'} diff --git a/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/operations/_operations.py b/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/operations/_operations.py new file mode 100644 index 00000000000..f0b3c8fb527 --- /dev/null +++ b/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/operations/_operations.py @@ -0,0 +1,102 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class Operations(object): + """Operations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2019-11-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2019-11-01" + + self.config = config + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Lists all of the available Resource Provider operations. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of ApiOperation + :rtype: + ~azure.mgmt.storagecache.models.ApiOperationPaged[~azure.mgmt.storagecache.models.ApiOperation] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.ApiOperationPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/providers/Microsoft.StorageCache/operations'} diff --git a/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/operations/_skus_operations.py b/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/operations/_skus_operations.py new file mode 100644 index 00000000000..a4e8d173161 --- /dev/null +++ b/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/operations/_skus_operations.py @@ -0,0 +1,106 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class SkusOperations(object): + """SkusOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2019-11-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2019-11-01" + + self.config = config + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Get the list of StorageCache.Cache SKUs available to this subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of ResourceSku + :rtype: + ~azure.mgmt.storagecache.models.ResourceSkuPaged[~azure.mgmt.storagecache.models.ResourceSku] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.ResourceSkuPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.StorageCache/skus'} diff --git a/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/operations/_storage_targets_operations.py b/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/operations/_storage_targets_operations.py new file mode 100644 index 00000000000..9b20bbc0d46 --- /dev/null +++ b/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/operations/_storage_targets_operations.py @@ -0,0 +1,394 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class StorageTargetsOperations(object): + """StorageTargetsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2019-11-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2019-11-01" + + self.config = config + + def list_by_cache( + self, resource_group_name, cache_name, custom_headers=None, raw=False, **operation_config): + """Returns a list of Storage Targets for the specified Cache. + + :param resource_group_name: Target resource group. + :type resource_group_name: str + :param cache_name: Name of Cache. + :type cache_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of StorageTarget + :rtype: + ~azure.mgmt.storagecache.models.StorageTargetPaged[~azure.mgmt.storagecache.models.StorageTarget] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_cache.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'cacheName': self._serialize.url("cache_name", cache_name, 'str', pattern=r'^[-0-9a-zA-Z_]{1,31}$') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.StorageTargetPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_cache.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}/storageTargets'} + + + def _delete_initial( + self, resource_group_name, cache_name, storage_target_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'cacheName': self._serialize.url("cache_name", cache_name, 'str', pattern=r'^[-0-9a-zA-Z_]{1,31}$'), + 'storageTargetName': self._serialize.url("storage_target_name", storage_target_name, 'str', pattern=r'^[-0-9a-zA-Z_]{1,31}$') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + 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('object', response) + if response.status_code == 202: + deserialized = self._deserialize('object', response) + if response.status_code == 204: + deserialized = self._deserialize('object', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def delete( + self, resource_group_name, cache_name, storage_target_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Removes a Storage Target from a Cache. This operation is allowed at any + time, but if the Cache is down or unhealthy, the actual removal of the + Storage Target may be delayed until the Cache is healthy again. Note + that if the Cache has data to flush to the Storage Target, the data + will be flushed before the Storage Target will be deleted. + + :param resource_group_name: Target resource group. + :type resource_group_name: str + :param cache_name: Name of Cache. + :type cache_name: str + :param storage_target_name: Name of Storage Target. + :type storage_target_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns object or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[object] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[object]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + cache_name=cache_name, + storage_target_name=storage_target_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('object', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}/storageTargets/{storageTargetName}'} + + def get( + self, resource_group_name, cache_name, storage_target_name, custom_headers=None, raw=False, **operation_config): + """Returns a Storage Target from a Cache. + + :param resource_group_name: Target resource group. + :type resource_group_name: str + :param cache_name: Name of Cache. + :type cache_name: str + :param storage_target_name: Name of the Storage Target. + :type storage_target_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: StorageTarget or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.storagecache.models.StorageTarget or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'cacheName': self._serialize.url("cache_name", cache_name, 'str', pattern=r'^[-0-9a-zA-Z_]{1,31}$'), + 'storageTargetName': self._serialize.url("storage_target_name", storage_target_name, 'str', pattern=r'^[-0-9a-zA-Z_]{1,31}$') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('StorageTarget', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}/storageTargets/{storageTargetName}'} + + + def _create_or_update_initial( + self, resource_group_name, cache_name, storage_target_name, storagetarget=None, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'cacheName': self._serialize.url("cache_name", cache_name, 'str', pattern=r'^[-0-9a-zA-Z_]{1,31}$'), + 'storageTargetName': self._serialize.url("storage_target_name", storage_target_name, 'str', pattern=r'^[-0-9a-zA-Z_]{1,31}$') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 + if storagetarget is not None: + body_content = self._serialize.body(storagetarget, 'StorageTarget') + else: + body_content = None + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('StorageTarget', response) + if response.status_code == 201: + deserialized = self._deserialize('StorageTarget', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, cache_name, storage_target_name, storagetarget=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Create or update a Storage Target. This operation is allowed at any + time, but if the Cache is down or unhealthy, the actual + creation/modification of the Storage Target may be delayed until the + Cache is healthy again. + + :param resource_group_name: Target resource group. + :type resource_group_name: str + :param cache_name: Name of Cache. + :type cache_name: str + :param storage_target_name: Name of the Storage Target. + :type storage_target_name: str + :param storagetarget: Object containing the definition of a Storage + Target. + :type storagetarget: ~azure.mgmt.storagecache.models.StorageTarget + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns StorageTarget or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.storagecache.models.StorageTarget] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.storagecache.models.StorageTarget]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + cache_name=cache_name, + storage_target_name=storage_target_name, + storagetarget=storagetarget, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('StorageTarget', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}/storageTargets/{storageTargetName}'} diff --git a/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/operations/_usage_models_operations.py b/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/operations/_usage_models_operations.py new file mode 100644 index 00000000000..be1f3756023 --- /dev/null +++ b/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/operations/_usage_models_operations.py @@ -0,0 +1,106 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class UsageModelsOperations(object): + """UsageModelsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2019-11-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2019-11-01" + + self.config = config + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Get the list of Cache Usage Models available to this subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of UsageModel + :rtype: + ~azure.mgmt.storagecache.models.UsageModelPaged[~azure.mgmt.storagecache.models.UsageModel] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.UsageModelPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.StorageCache/usageModels'} diff --git a/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/version.py b/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/version.py new file mode 100644 index 00000000000..6a5cfdde605 --- /dev/null +++ b/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/version.py @@ -0,0 +1,13 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +VERSION = "0.2.0" + diff --git a/src/hpc-cache/setup.cfg b/src/hpc-cache/setup.cfg new file mode 100644 index 00000000000..5eab412034f --- /dev/null +++ b/src/hpc-cache/setup.cfg @@ -0,0 +1,2 @@ +[bdist_wheel] +universal=1 diff --git a/src/hpc-cache/setup.py b/src/hpc-cache/setup.py new file mode 100644 index 00000000000..8e9cc064929 --- /dev/null +++ b/src/hpc-cache/setup.py @@ -0,0 +1,58 @@ +#!/usr/bin/env python + +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + + +from codecs import open +from setuptools import setup, find_packages +try: + from azure_bdist_wheel import cmdclass +except ImportError: + from distutils import log as logger + logger.warn("Wheel is not available, disabling bdist_wheel hook") + +# TODO: Confirm this is the right version number you want and it matches your +# HISTORY.rst entry. +VERSION = '0.1.0' + +# The full list of classifiers is available at +# https://pypi.python.org/pypi?%3Aaction=list_classifiers +CLASSIFIERS = [ + 'Development Status :: 4 - Beta', + 'Intended Audience :: Developers', + 'Intended Audience :: System Administrators', + 'Programming Language :: Python', + 'Programming Language :: Python :: 3', + 'Programming Language :: Python :: 3.4', + 'Programming Language :: Python :: 3.5', + 'Programming Language :: Python :: 3.6', + 'License :: OSI Approved :: MIT License', +] + +# TODO: Add any additional SDK dependencies here +DEPENDENCIES = [] + +with open('README.rst', 'r', encoding='utf-8') as f: + README = f.read() +with open('HISTORY.rst', 'r', encoding='utf-8') as f: + HISTORY = f.read() + +setup( + name='hpc_cache', + version=VERSION, + description='Microsoft Azure Command-Line Tools StorageCache Extension', + # TODO: Update author and email, if applicable + author='Microsoft Corporation', + author_email='azpycli@microsoft.com', + # TODO: consider pointing directly to your source code instead of the generic repo + url='https://github.com/Azure/azure-cli-extensions', + long_description=README + '\n\n' + HISTORY, + license='MIT', + classifiers=CLASSIFIERS, + packages=find_packages(), + install_requires=DEPENDENCIES, + package_data={'azext_hpc_cache': ['azext_metadata.json']}, +) diff --git a/src/hpc-cache/src - Shortcut.lnk b/src/hpc-cache/src - Shortcut.lnk new file mode 100644 index 00000000000..c7721f45d06 Binary files /dev/null and b/src/hpc-cache/src - Shortcut.lnk differ diff --git a/src/image-copy/HISTORY.rst b/src/image-copy/HISTORY.rst new file mode 100644 index 00000000000..58e84950ba6 --- /dev/null +++ b/src/image-copy/HISTORY.rst @@ -0,0 +1,13 @@ +.. :changelog: + +Release History +=============== + +0.2.5 +++++++ +* Fix a bug of --tags. + +0.2.4 +++++++ +* Fix copying an image originally created from a blob (create a snapshot with the source storage account id) + diff --git a/src/image-copy/azext_imagecopy/__init__.py b/src/image-copy/azext_imagecopy/__init__.py index edbd1cea20f..17850ce9f20 100644 --- a/src/image-copy/azext_imagecopy/__init__.py +++ b/src/image-copy/azext_imagecopy/__init__.py @@ -4,6 +4,7 @@ # -------------------------------------------------------------------------------------------- from azure.cli.core import AzCommandsLoader +from azure.cli.core.commands.parameters import tags_type import azext_imagecopy._help # pylint: disable=unused-import @@ -51,6 +52,7 @@ def load_arguments(self, _): help='Resource Group name where temporary storage account will be created.') c.argument('export_as_snapshot', options_list=['--export-as-snapshot'], action='store_true', default=False, help='Include this switch to export the copies as snapshots instead of images.') + c.argument('tags', tags_type) COMMAND_LOADER_CLS = ImageCopyCommandsLoader diff --git a/src/image-copy/azext_imagecopy/_help.py b/src/image-copy/azext_imagecopy/_help.py index 50da2c6bdbb..fc871d40d8e 100644 --- a/src/image-copy/azext_imagecopy/_help.py +++ b/src/image-copy/azext_imagecopy/_help.py @@ -8,10 +8,7 @@ helps['image copy'] = """ type: command - short-summary: Copy a managed image (or vm) to other regions - long-summary: > - Allows to copy a managed image (or vm) to other regions. - Keep in mind that it requires the source disk to be available. + short-summary: Copy a managed image (or vm) to other regions. It requires the source disk to be available. examples: - name: Copy an image to several regions and cleanup at the end. text: > diff --git a/src/image-copy/azext_imagecopy/cli_utils.py b/src/image-copy/azext_imagecopy/cli_utils.py index 0cb38083194..7c1129726f9 100644 --- a/src/image-copy/azext_imagecopy/cli_utils.py +++ b/src/image-copy/azext_imagecopy/cli_utils.py @@ -38,8 +38,7 @@ def run_cli_command(cmd, return_as_json=False): return json_output raise CLIError("Command returned an unexpected empty string.") - else: - return cmd_output + return cmd_output except CalledProcessError as ex: logger.error('command failed: %s', cmd) logger.error('output: %s', ex.output) @@ -66,6 +65,28 @@ def prepare_cli_command(cmd, output_as_json=True, tags=None, subscription=None): full_cmd += ['--tags', EXTENSION_TAG_STRING] if tags is not None: - full_cmd += tags.split() + for k, v in tags.items(): + if v == '': + full_cmd.append(k) + else: + full_cmd.append(k + '=' + v) return full_cmd + + +def get_storage_account_id_from_blob_path(cmd, blob_path, resource_group, subscription_id=None): + from msrestazure.tools import resource_id + from azure.cli.core.commands.client_factory import get_subscription_id + + logger.debug('Getting storage account id for blob: %s', blob_path) + + storage_account_name = blob_path.split('.')[0].split('/')[-1] + + if not subscription_id: + subscription_id = get_subscription_id(cmd.cli_ctx) + + storage_account_id = resource_id( + subscription=subscription_id, resource_group=resource_group, + namespace='Microsoft.Storage', type='storageAccounts', name=storage_account_name) + + return storage_account_id diff --git a/src/image-copy/azext_imagecopy/create_target.py b/src/image-copy/azext_imagecopy/create_target.py index 4d9cf6d465e..89897a94229 100644 --- a/src/image-copy/azext_imagecopy/create_target.py +++ b/src/image-copy/azext_imagecopy/create_target.py @@ -9,10 +9,7 @@ from knack.util import CLIError from knack.log import get_logger -from msrestazure.tools import resource_id -from azure.cli.core.commands.client_factory import get_subscription_id - -from azext_imagecopy.cli_utils import run_cli_command, prepare_cli_command +from azext_imagecopy.cli_utils import run_cli_command, prepare_cli_command, get_storage_account_id_from_blob_path logger = get_logger(__name__) @@ -116,14 +113,10 @@ def create_target_image(cmd, location, transient_resource_group_name, source_typ else: snapshot_resource_group_name = transient_resource_group_name - storage_account_name = target_blob_path.split('.')[0].split('/')[-1] - if target_subscription: - subscription_id = target_subscription - else: - subscription_id = get_subscription_id(cmd.cli_ctx) - source_storage_account_id = resource_id( - subscription=subscription_id, resource_group=transient_resource_group_name, - namespace='Microsoft.Storage', type='storageAccounts', name=storage_account_name) + source_storage_account_id = get_storage_account_id_from_blob_path(cmd, + target_blob_path, + transient_resource_group_name, + target_subscription) cli_cmd = prepare_cli_command(['snapshot', 'create', '--resource-group', snapshot_resource_group_name, @@ -153,7 +146,6 @@ def create_target_image(cmd, location, transient_resource_group_name, source_typ '--resource-group', target_resource_group_name, '--name', target_image_name, '--location', location, - '--source', target_blob_path, '--os-type', source_os_type, '--source', target_snapshot_id], tags=tags, diff --git a/src/image-copy/azext_imagecopy/custom.py b/src/image-copy/azext_imagecopy/custom.py index 6cb1556e9f3..223bb8956fc 100644 --- a/src/image-copy/azext_imagecopy/custom.py +++ b/src/image-copy/azext_imagecopy/custom.py @@ -8,7 +8,7 @@ from knack.util import CLIError from knack.log import get_logger -from azext_imagecopy.cli_utils import run_cli_command, prepare_cli_command +from azext_imagecopy.cli_utils import run_cli_command, prepare_cli_command, get_storage_account_id_from_blob_path from azext_imagecopy.create_target import create_target_image logger = get_logger(__name__) @@ -75,10 +75,21 @@ def imagecopy(cmd, source_resource_group_name, source_object_name, target_locati # TODO: skip creating another snapshot when the source is a snapshot logger.warning("Creating source snapshot") source_os_disk_snapshot_name = source_object_name + '_os_disk_snapshot' - cli_cmd = prepare_cli_command(['snapshot', 'create', - '--name', source_os_disk_snapshot_name, - '--resource-group', source_resource_group_name, - '--source', source_os_disk_id]) + + if source_os_disk_type == "BLOB": + source_storage_account_id = get_storage_account_id_from_blob_path(cmd, + source_os_disk_id, + source_resource_group_name) + cli_cmd = prepare_cli_command(['snapshot', 'create', + '--name', source_os_disk_snapshot_name, + '--resource-group', source_resource_group_name, + '--source', source_os_disk_id, + '--source-storage-account-id', source_storage_account_id]) + else: + cli_cmd = prepare_cli_command(['snapshot', 'create', + '--name', source_os_disk_snapshot_name, + '--resource-group', source_resource_group_name, + '--source', source_os_disk_id]) run_cli_command(cli_cmd) diff --git a/src/image-copy/setup.py b/src/image-copy/setup.py index 6c8b909b997..58f58f22e01 100644 --- a/src/image-copy/setup.py +++ b/src/image-copy/setup.py @@ -8,19 +8,17 @@ from codecs import open from setuptools import setup, find_packages -VERSION = "0.2.3" +VERSION = "0.2.5" CLASSIFIERS = [ 'Development Status :: 4 - Beta', 'Intended Audience :: Developers', 'Intended Audience :: System Administrators', 'Programming Language :: Python', - 'Programming Language :: Python :: 2', - 'Programming Language :: Python :: 2.7', 'Programming Language :: Python :: 3', - 'Programming Language :: Python :: 3.4', - 'Programming Language :: Python :: 3.5', 'Programming Language :: Python :: 3.6', + 'Programming Language :: Python :: 3.7', + 'Programming Language :: Python :: 3.8', 'License :: OSI Approved :: MIT License', ] diff --git a/src/import-export/HISTORY.rst b/src/import-export/HISTORY.rst new file mode 100644 index 00000000000..03b096b7a70 --- /dev/null +++ b/src/import-export/HISTORY.rst @@ -0,0 +1,12 @@ +.. :changelog: + +Release History +=============== + +0.1.1 +++++++ +* Fix generated package not found issue. + +0.1.0 +++++++ +* Initial release. diff --git a/src/import-export/README.md b/src/import-export/README.md new file mode 100644 index 00000000000..cafd6fbaa8c --- /dev/null +++ b/src/import-export/README.md @@ -0,0 +1,91 @@ +# Azure CLI import-export Extension # +This package is for the 'import-export' extension, i.e. 'az import-export'. + +### How to use ### +Install this extension using the below CLI command +``` +az extension add --name import-export +``` + +### Included Features +#### Import Export Management: +Manage Import Export: [more info](https://docs.microsoft.com/en-us/azure/storage/common/storage-import-export-service)\ +*Examples:* + +##### List locations to which you can ship the disks + +``` +az import-export location list +``` + +##### Show locations to which you can ship the disks + +``` +az import-export location show --location "West US" +``` + +##### Create an Import Job + +``` +az import-export create \ + --resource-group groupName \ + --name jobName \ + --location localtionName \ + --type Import \ + --log-level Verbose \ + --storage-account storageAccountID \ + --backup-drive-manifest true \ + --diagnostics-path waimportexport \ + --drive-list \ + drive-id=00000001 \ + bit-locker-key=000000-000000-000000-000000-000000-000000-000000-000000 \ + drive-header-hash="" \ + manifest-file=\\DriveManifest.xml \ + manifest-hash=109B21108597EF36D5785F08303F3638 \ + --return-address \ + city=Redmond \ + country-or-region=USA \ + email=Test@contoso.com \ + phone=4250000000 \ + postal-code=98007 \ + recipient-name=Tests \ + state-or-province=wa \ + street-address1=Street1 \ + street-address2=street2 +``` + +##### Update an Import Job + +``` +az import-export update \ + --resource-group groupName \ + --name jobName \ + --cancel-requested true +``` + +##### List Import Export Jobs + +``` +az import-export list \ + --resource-group groupName +``` + +##### Delete a Job + +``` +az import-export delete \ + --resource-group groupName \ + --name jobName +``` + +##### List bit locker keys of a Job + +``` +az import-export bit-locker-key list \ + --resource-group groupName \ + --job-name jobName +``` + + +If you have issues, please give feedback by opening an issue at https://github.com/Azure/azure-cli-extensions/issues. + diff --git a/src/import-export/azext_import_export/__init__.py b/src/import-export/azext_import_export/__init__.py new file mode 100644 index 00000000000..3832f03c25c --- /dev/null +++ b/src/import-export/azext_import_export/__init__.py @@ -0,0 +1,30 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +from azure.cli.core import AzCommandsLoader +from .generated._help import helps # pylint: disable=unused-import + + +class ImportExportCommandsLoader(AzCommandsLoader): + + def __init__(self, cli_ctx=None): + from azure.cli.core.commands import CliCommandType + from .generated._client_factory import cf_import_export + import_export_custom = CliCommandType( + operations_tmpl='azext_import_export.custom#{}', + client_factory=cf_import_export) + super(ImportExportCommandsLoader, self).__init__(cli_ctx=cli_ctx, custom_command_type=import_export_custom) + + def load_command_table(self, args): + from .generated.commands import load_command_table + load_command_table(self, args) + return self.command_table + + def load_arguments(self, command): + from .generated._params import load_arguments + load_arguments(self, command) + + +COMMAND_LOADER_CLS = ImportExportCommandsLoader diff --git a/src/import-export/azext_import_export/action.py b/src/import-export/azext_import_export/action.py new file mode 100644 index 00000000000..d66d3c5d0d7 --- /dev/null +++ b/src/import-export/azext_import_export/action.py @@ -0,0 +1,12 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- +# pylint: disable=wildcard-import +# pylint: disable=unused-wildcard-import + +from .generated.action import * # noqa: F403 +try: + from .manual.action import * # noqa: F403 +except ImportError: + pass diff --git a/src/import-export/azext_import_export/azext_metadata.json b/src/import-export/azext_import_export/azext_metadata.json new file mode 100644 index 00000000000..13025150393 --- /dev/null +++ b/src/import-export/azext_import_export/azext_metadata.json @@ -0,0 +1,4 @@ +{ + "azext.isExperimental": true, + "azext.minCliCoreVersion": "2.3.1" +} \ No newline at end of file diff --git a/src/import-export/azext_import_export/commands.py b/src/import-export/azext_import_export/commands.py new file mode 100644 index 00000000000..42f0c1a991e --- /dev/null +++ b/src/import-export/azext_import_export/commands.py @@ -0,0 +1,12 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- +# pylint: disable=wildcard-import +# pylint: disable=unused-wildcard-import + +from .generated.commands import * # noqa: F403 +try: + from .manual.commands import * # noqa: F403 +except ImportError: + pass diff --git a/src/import-export/azext_import_export/custom.py b/src/import-export/azext_import_export/custom.py new file mode 100644 index 00000000000..d1fd3543ed0 --- /dev/null +++ b/src/import-export/azext_import_export/custom.py @@ -0,0 +1,12 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- +# pylint: disable=wildcard-import +# pylint: disable=unused-wildcard-import + +from .generated.custom import * # noqa: F403 +try: + from .manual.custom import * # noqa: F403 +except ImportError: + pass diff --git a/src/import-export/azext_import_export/generated/__init__.py b/src/import-export/azext_import_export/generated/__init__.py new file mode 100644 index 00000000000..c9cfdc73e77 --- /dev/null +++ b/src/import-export/azext_import_export/generated/__init__.py @@ -0,0 +1,12 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +__path__ = __import__('pkgutil').extend_path(__path__, __name__) diff --git a/src/import-export/azext_import_export/generated/_client_factory.py b/src/import-export/azext_import_export/generated/_client_factory.py new file mode 100644 index 00000000000..18f0b6e946b --- /dev/null +++ b/src/import-export/azext_import_export/generated/_client_factory.py @@ -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. +# -------------------------------------------------------------------------------------------- + + +def cf_import_export(cli_ctx, *_): + from azure.cli.core.commands.client_factory import get_mgmt_service_client + from ..vendored_sdks.storageimportexport import StorageImportExport + return get_mgmt_service_client(cli_ctx, StorageImportExport) + + +def cf_job(cli_ctx, *_): + return cf_import_export(cli_ctx).job + + +def cf_bit_locker_key(cli_ctx, *_): + return cf_import_export(cli_ctx).bit_locker_key + + +def cf_location(cli_ctx, *_): + return cf_import_export(cli_ctx).location diff --git a/src/import-export/azext_import_export/generated/_help.py b/src/import-export/azext_import_export/generated/_help.py new file mode 100644 index 00000000000..078bdb6eb31 --- /dev/null +++ b/src/import-export/azext_import_export/generated/_help.py @@ -0,0 +1,108 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- +# pylint: disable=line-too-long +# pylint: disable=too-many-lines + +from knack.help_files import helps + + +helps['import-export'] = """ + type: group + short-summary: Manage Import Export +""" + +helps['import-export list'] = """ + type: command + short-summary: Returns all active and completed jobs in a subscription. + examples: + - name: List jobs in a resource group + text: |- + az import-export list --resource-group "myResourceGroup" + - name: List jobs in current subscription + text: |- + az import-export list +""" + +helps['import-export show'] = """ + type: command + short-summary: Gets information about an existing job. + examples: + - name: Get job + text: |- + az import-export show --resource-group "myResourceGroup" --name "myJob" +""" + +helps['import-export create'] = """ + type: command + short-summary: Creates a new job or updates an existing job in the specified subscription. + examples: + - name: Create an import job + text: |- + az import-export create --resource-group "myResourceGroup" --name "myJob" + --location "West US" --backup-drive-manifest true --diagnostics-path "waimportexport" + --drive-list bit-locker-key=238810-662376-448998-450120-652806-203390-606320-483076 + drive-header-hash= drive-id=9CA995BB manifest-file=\\\\DriveManifest.xml + manifest-hash=109B21108597EF36D5785F08303F3638 --type "Import" --log-level "Verbose" + --return-address city=Redmond country-or-region=USA email=Test@contoso.com phone=4250000000 + postal-code=98007 recipient-name=Tests state-or-province=wa street-address1=Street1 + street-address2=street2 --storage-account "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-\\ + xxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.ClassicStorage/storageAccounts/test" +""" + +helps['import-export update'] = """ + type: command + short-summary: Updates specific properties of a job. You can call this operation to notify the Import/Export service that the hard drives comprising the import or export job have been shipped to the Microsoft data center. It can also be used to cancel an existing job. + examples: + - name: Update job + text: |- + az import-export update --resource-group "myResourceGroup" --name "myJob" + --backup-drive-manifest true --log-level "Verbose" --state "" +""" + +helps['import-export delete'] = """ + type: command + short-summary: Deletes an existing job. Only jobs in the Creating or Completed states can be deleted. + examples: + - name: Delete job + text: |- + az import-export delete --resource-group "myResourceGroup" --name "myJob" +""" + +helps['import-export bit-locker-key'] = """ + type: group + short-summary: import-export bit-locker-key +""" + +helps['import-export bit-locker-key list'] = """ + type: command + short-summary: Returns the BitLocker Keys for all drives in the specified job. + examples: + - name: List BitLocker Keys for drives in a job + text: |- + az import-export bit-locker-key list --resource-group "myResourceGroup" --job-name "myJob" +""" + +helps['import-export location'] = """ + type: group + short-summary: import-export location +""" + +helps['import-export location list'] = """ + type: command + short-summary: Returns a list of locations to which you can ship the disks associated with an import or export job. A location is a Microsoft data center region. + examples: + - name: List locations to which you can ship the disks + text: |- + az import-export location list +""" + +helps['import-export location show'] = """ + type: command + short-summary: Returns the details about a location to which you can ship the disks associated with an import or export job. A location is an Azure region. + examples: + - name: Show details about a location + text: |- + az import-export location show --location "West US 2" +""" diff --git a/src/import-export/azext_import_export/generated/_params.py b/src/import-export/azext_import_export/generated/_params.py new file mode 100644 index 00000000000..42e8d0db3f1 --- /dev/null +++ b/src/import-export/azext_import_export/generated/_params.py @@ -0,0 +1,76 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- +# pylint: disable=line-too-long +# pylint: disable=too-many-lines +# pylint: disable=too-many-statements + +from knack.arguments import CLIArgumentType +from azure.cli.core.commands.parameters import ( + tags_type, + get_three_state_flag, + get_location_type +) +from azure.cli.core.commands.validators import get_default_location_from_resource_group +from azext_import_export.action import ( + AddReturnAddress, + AddReturnShipping, + AddShippingInformation, + AddDeliveryPackage, + AddReturnPackage, + AddDriveList, + AddExport +) + + +def load_arguments(self, _): + + with self.argument_context('import-export list') as c: + pass + + with self.argument_context('import-export show') as c: + c.argument('name', options_list=['--name', '-n'], help='The name of the import/export job.') + + with self.argument_context('import-export create') as c: + c.argument('name', options_list=['--name', '-n'], help='The name of the import/export job.') + c.argument('client_tenant_id', help='The tenant ID of the client making the request.') + c.argument('location', arg_type=get_location_type(self.cli_ctx), validator=get_default_location_from_resource_group) + c.argument('tags', tags_type) + c.argument('storage_account', help='Name or ID of the storage account where data will be imported to or exported from.') + c.argument('type', help='The type of job') + c.argument('return_address', action=AddReturnAddress, nargs='+', help='Specifies the return address information for the job.') + c.argument('return_shipping', action=AddReturnShipping, nargs='+', help='Specifies the return carrier and customer\'s account with the carrier.') + c.argument('shipping_information', action=AddShippingInformation, nargs='+', help='Contains information about the Microsoft datacenter to which the drives should be shipped.') + c.argument('delivery_package', action=AddDeliveryPackage, nargs='+', help='Contains information about the package being shipped by the customer to the Microsoft data center.') + c.argument('return_package', action=AddReturnPackage, nargs='+', help='Contains information about the package being shipped by the customer to the Microsoft data center.') + c.argument('diagnostics_path', help='The virtual blob directory to which the copy logs and backups of drive manifest files (if enabled) will be stored.') + c.argument('log_level', help='Default value is Error. Indicates whether error logging or verbose logging will be enabled.') + c.argument('backup_drive_manifest', arg_type=get_three_state_flag(), help='Default value is false. Indicates whether the manifest files on the drives should be copied to block blobs.') + c.argument('state', help='Current state of the job.') + c.argument('cancel_requested', arg_type=get_three_state_flag(), help='Indicates whether a request has been submitted to cancel the job.') + c.argument('percent_complete', help='Overall percentage completed for the job.') + c.argument('incomplete_blob_list_uri', help='A blob path that points to a block blob containing a list of blob names that were not exported due to insufficient drive space. If all blobs were exported successfully, then this element is not included in the response.') + c.argument('drive_list', action=AddDriveList, nargs='+', help='List of up to ten drives that comprise the job. The drive list is a required element for an import job; it is not specified for export jobs.') + c.argument('export', action=AddExport, nargs='+', help='A property containing information about the blobs to be exported for an export job. This property is required for export jobs, but must not be specified for import jobs.') + + with self.argument_context('import-export update') as c: + c.argument('name', options_list=['--name', '-n'], help='The name of the import/export job.') + c.argument('tags', tags_type) + c.argument('cancel_requested', arg_type=get_three_state_flag(), help='If specified, the value must be true. The service will attempt to cancel the job.') + c.argument('state', help='If specified, the value must be Shipping, which tells the Import/Export service that the package for the job has been shipped. The ReturnAddress and DeliveryPackage properties must have been set either in this request or in a previous request, otherwise the request will fail.') + c.argument('return_address', action=AddReturnAddress, nargs='+', help='Specifies the return address information for the job.') + c.argument('return_shipping', action=AddReturnShipping, nargs='+', help='Specifies the return carrier and customer\'s account with the carrier.') + c.argument('delivery_package', action=AddDeliveryPackage, nargs='+', help='Contains information about the package being shipped by the customer to the Microsoft data center.') + c.argument('log_level', help='Indicates whether error logging or verbose logging is enabled.') + c.argument('backup_drive_manifest', arg_type=get_three_state_flag(), help='Indicates whether the manifest files on the drives should be copied to block blobs.') + c.argument('drive_list', action=AddDriveList, nargs='+', help='List of drives that comprise the job.') + + with self.argument_context('import-export delete') as c: + c.argument('name', options_list=['--name', '-n'], help='The name of the import/export job.') + + with self.argument_context('import-export bit-locker-key list') as c: + c.argument('job_name', help='The name of the import/export job.') + + with self.argument_context('import-export location show') as c: + c.argument('location', help='Location. Values from: `az import-export location list`.') diff --git a/src/import-export/azext_import_export/generated/_validators.py b/src/import-export/azext_import_export/generated/_validators.py new file mode 100644 index 00000000000..34913fb394d --- /dev/null +++ b/src/import-export/azext_import_export/generated/_validators.py @@ -0,0 +1,4 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- diff --git a/src/import-export/azext_import_export/generated/action.py b/src/import-export/azext_import_export/generated/action.py new file mode 100644 index 00000000000..7525687650f --- /dev/null +++ b/src/import-export/azext_import_export/generated/action.py @@ -0,0 +1,211 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- +# pylint: disable=protected-access + +import argparse +from knack.util import CLIError + + +class AddReturnAddress(argparse.Action): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + namespace.return_address = action + + def get_action(self, values, option_string): # pylint: disable=no-self-use + try: + properties = dict(x.split('=', 1) for x in values) + except ValueError: + raise CLIError('usage error: {} [KEY=VALUE ...]'.format(option_string)) + d = {} + for k in properties: + kl = k.lower() + v = properties[k] + if kl == 'recipient-name': + d['recipient_name'] = v + elif kl == 'street-address1': + d['street_address1'] = v + elif kl == 'street-address2': + d['street_address2'] = v + elif kl == 'city': + d['city'] = v + elif kl == 'state-or-province': + d['state_or_province'] = v + elif kl == 'postal-code': + d['postal_code'] = v + elif kl == 'country-or-region': + d['country_or_region'] = v + elif kl == 'phone': + d['phone'] = v + elif kl == 'email': + d['email'] = v + return d + + +class AddReturnShipping(argparse.Action): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + namespace.return_shipping = action + + def get_action(self, values, option_string): # pylint: disable=no-self-use + try: + properties = dict(x.split('=', 1) for x in values) + except ValueError: + raise CLIError('usage error: {} [KEY=VALUE ...]'.format(option_string)) + d = {} + for k in properties: + kl = k.lower() + v = properties[k] + if kl == 'carrier-name': + d['carrier_name'] = v + elif kl == 'carrier-account-number': + d['carrier_account_number'] = v + return d + + +class AddShippingInformation(argparse.Action): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + namespace.shipping_information = action + + def get_action(self, values, option_string): # pylint: disable=no-self-use + try: + properties = dict(x.split('=', 1) for x in values) + except ValueError: + raise CLIError('usage error: {} [KEY=VALUE ...]'.format(option_string)) + d = {} + for k in properties: + kl = k.lower() + v = properties[k] + if kl == 'recipient-name': + d['recipient_name'] = v + elif kl == 'street-address1': + d['street_address1'] = v + elif kl == 'street-address2': + d['street_address2'] = v + elif kl == 'city': + d['city'] = v + elif kl == 'state-or-province': + d['state_or_province'] = v + elif kl == 'postal-code': + d['postal_code'] = v + elif kl == 'country-or-region': + d['country_or_region'] = v + elif kl == 'phone': + d['phone'] = v + return d + + +class AddDeliveryPackage(argparse.Action): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + namespace.delivery_package = action + + def get_action(self, values, option_string): # pylint: disable=no-self-use + try: + properties = dict(x.split('=', 1) for x in values) + except ValueError: + raise CLIError('usage error: {} [KEY=VALUE ...]'.format(option_string)) + d = {} + for k in properties: + kl = k.lower() + v = properties[k] + if kl == 'carrier-name': + d['carrier_name'] = v + elif kl == 'tracking-number': + d['tracking_number'] = v + elif kl == 'drive-count': + d['drive_count'] = v + elif kl == 'ship-date': + d['ship_date'] = v + return d + + +class AddReturnPackage(argparse.Action): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + namespace.return_package = action + + def get_action(self, values, option_string): # pylint: disable=no-self-use + try: + properties = dict(x.split('=', 1) for x in values) + except ValueError: + raise CLIError('usage error: {} [KEY=VALUE ...]'.format(option_string)) + d = {} + for k in properties: + kl = k.lower() + v = properties[k] + if kl == 'carrier-name': + d['carrier_name'] = v + elif kl == 'tracking-number': + d['tracking_number'] = v + elif kl == 'drive-count': + d['drive_count'] = v + elif kl == 'ship-date': + d['ship_date'] = v + return d + + +class AddDriveList(argparse._AppendAction): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + super(AddDriveList, self).__call__(parser, namespace, action, option_string) + + def get_action(self, values, option_string): # pylint: disable=no-self-use + try: + properties = dict(x.split('=', 1) for x in values) + except ValueError: + raise CLIError('usage error: {} [KEY=VALUE ...]'.format(option_string)) + d = {} + for k in properties: + kl = k.lower() + v = properties[k] + if kl == 'drive-id': + d['drive_id'] = v + elif kl == 'bit-locker-key': + d['bit_locker_key'] = v + elif kl == 'manifest-file': + d['manifest_file'] = v + elif kl == 'manifest-hash': + d['manifest_hash'] = v + elif kl == 'drive-header-hash': + d['drive_header_hash'] = v + elif kl == 'state': + d['state'] = v + elif kl == 'copy-status': + d['copy_status'] = v + elif kl == 'percent-complete': + d['percent_complete'] = v + elif kl == 'verbose-log-uri': + d['verbose_log_uri'] = v + elif kl == 'error-log-uri': + d['error_log_uri'] = v + elif kl == 'manifest-uri': + d['manifest_uri'] = v + elif kl == 'bytes-succeeded': + d['bytes_succeeded'] = v + return d + + +class AddExport(argparse.Action): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + namespace.export = action + + def get_action(self, values, option_string): # pylint: disable=no-self-use + try: + properties = dict(x.split('=', 1) for x in values) + except ValueError: + raise CLIError('usage error: {} [KEY=VALUE ...]'.format(option_string)) + d = {} + for k in properties: + kl = k.lower() + v = properties[k] + if kl == 'blob-listblob-path': + d['blob_listblob_path'] = v + elif kl == 'blob-path': + d['blob_path'] = v + elif kl == 'blob-path-prefix': + d['blob_path_prefix'] = v + return d diff --git a/src/import-export/azext_import_export/generated/commands.py b/src/import-export/azext_import_export/generated/commands.py new file mode 100644 index 00000000000..69285b20201 --- /dev/null +++ b/src/import-export/azext_import_export/generated/commands.py @@ -0,0 +1,37 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- +# pylint: disable=line-too-long + +from azure.cli.core.commands import CliCommandType + + +def load_command_table(self, _): + + from azext_import_export.generated._client_factory import cf_job + import_export_job = CliCommandType( + operations_tmpl='azext_import_export.vendored_sdks.storageimportexport.operations._job_operations#JobOperations.{}', + client_factory=cf_job) + with self.command_group('import-export', import_export_job, client_factory=cf_job, is_experimental=True) as g: + g.custom_command('list', 'import_export_job_list') + g.custom_show_command('show', 'import_export_job_show') + g.custom_command('create', 'import_export_job_create') + g.custom_command('update', 'import_export_job_update') + g.custom_command('delete', 'import_export_job_delete') + + from azext_import_export.generated._client_factory import cf_bit_locker_key + import_export_bit_locker_key = CliCommandType( + operations_tmpl='azext_import_export.vendored_sdks.storageimportexport.operations._bit_locker_key_operations#BitLockerKeyOperations.{}', + client_factory=cf_bit_locker_key) + with self.command_group('import-export bit-locker-key', import_export_bit_locker_key, client_factory=cf_bit_locker_key) as g: + g.custom_command('list', 'import_export_bit_locker_key_list') + + from azext_import_export.generated._client_factory import cf_location + import_export_location = CliCommandType( + operations_tmpl='azext_import_export.vendored_sdks.storageimportexport.operations._location_operations#LocationOperations.{}', + client_factory=cf_location) + with self.command_group('import-export location', import_export_location, + client_factory=cf_location) as g: + g.custom_command('list', 'import_export_location_list') + g.custom_show_command('show', 'import_export_location_show') diff --git a/src/import-export/azext_import_export/generated/custom.py b/src/import-export/azext_import_export/generated/custom.py new file mode 100644 index 00000000000..4d9d1f23fe0 --- /dev/null +++ b/src/import-export/azext_import_export/generated/custom.py @@ -0,0 +1,66 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- +# pylint: disable=line-too-long +# pylint: disable=too-many-lines + + +def import_export_job_list(cmd, client, resource_group_name=None): + if resource_group_name is not None: + return client.list_by_resource_group(resource_group_name=resource_group_name) + return client.list_by_subscription() + + +def import_export_job_show(cmd, client, name, resource_group_name): + return client.get(job_name=name, resource_group_name=resource_group_name) + + +def import_export_job_create(cmd, client, name, resource_group_name, client_tenant_id=None, location=None, tags=None, + storage_account=None, type=None, return_address=None, return_shipping=None, + shipping_information=None, delivery_package=None, + return_package=None, diagnostics_path=None, log_level=None, backup_drive_manifest=None, + state=None, cancel_requested=None, percent_complete=None, incomplete_blob_list_uri=None, + drive_list=None, export=None): + # pylint: disable=redefined-builtin + from msrestazure.tools import resource_id, is_valid_resource_id + from azure.cli.core.commands.client_factory import get_subscription_id + storage_account_id = storage_account + if not is_valid_resource_id(storage_account_id): + storage_account_id = resource_id( + subscription=get_subscription_id(cmd.cli_ctx), resource_group=resource_group_name, + namespace='Microsoft.Storage', type='storageAccounts', name=storage_account) + + return client.create(job_name=name, resource_group_name=resource_group_name, client_tenant_id=client_tenant_id, + location=location, tags=tags, storage_account_id=storage_account_id, job_type=type, + return_address=return_address, return_shipping=return_shipping, + shipping_information=shipping_information, delivery_package=delivery_package, + return_package=return_package, diagnostics_path=diagnostics_path, log_level=log_level, + backup_drive_manifest=backup_drive_manifest, state=state, cancel_requested=cancel_requested, + percent_complete=percent_complete, incomplete_blob_list_uri=incomplete_blob_list_uri, + drive_list=drive_list, export=export) + + +def import_export_job_update(cmd, client, name, resource_group_name, tags=None, cancel_requested=None, state=None, + return_address=None, return_shipping=None, delivery_package=None, log_level=None, + backup_drive_manifest=None, drive_list=None): + return client.update(job_name=name, resource_group_name=resource_group_name, tags=tags, + cancel_requested=cancel_requested, state=state, return_address=return_address, + return_shipping=return_shipping, delivery_package=delivery_package, log_level=log_level, + backup_drive_manifest=backup_drive_manifest, drive_list=drive_list) + + +def import_export_job_delete(cmd, client, name, resource_group_name): + return client.delete(job_name=name, resource_group_name=resource_group_name) + + +def import_export_bit_locker_key_list(cmd, client, job_name, resource_group_name): + return client.list(job_name=job_name, resource_group_name=resource_group_name) + + +def import_export_location_list(cmd, client): + return client.list() + + +def import_export_location_show(cmd, client, location): + return client.get(location_name=location) diff --git a/src/import-export/azext_import_export/tests/latest/__init__.py b/src/import-export/azext_import_export/tests/latest/__init__.py new file mode 100644 index 00000000000..34913fb394d --- /dev/null +++ b/src/import-export/azext_import_export/tests/latest/__init__.py @@ -0,0 +1,4 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- diff --git a/src/import-export/azext_import_export/tests/latest/recordings/test_import_export.yaml b/src/import-export/azext_import_export/tests/latest/recordings/test_import_export.yaml new file mode 100644 index 00000000000..e0566cda5ee --- /dev/null +++ b/src/import-export/azext_import_export/tests/latest/recordings/test_import_export.yaml @@ -0,0 +1,749 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage account show + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.3 + azure-mgmt-storage/9.0.0 Azure-SDK-For-Python AZURECLI/2.4.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_import_export_000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2019-06-01 + response: + body: + string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_import_export_000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-04-21T09:42:32.0887711Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-04-21T09:42:32.0887711Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-04-21T09:42:31.9950564Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}}' + headers: + cache-control: + - no-cache + content-length: + - '1261' + content-type: + - application/json + date: + - Tue, 21 Apr 2020 09:42:53 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - import-export location list + Connection: + - keep-alive + User-Agent: + - AZURECLI/2.4.0 azsdk-python-core/1.4.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + azsdk-python-storageimportexport/unknown + method: GET + uri: https://management.azure.com/providers/Microsoft.ImportExport/locations?api-version=2016-11-01 + response: + body: + string: "{\"value\":[{\"properties\":{\"recipientName\":\"This DC has security + requirements requiring advance notification for all inbound shipments. Contact + adbops@microsoft.com specifying your order name to receive the unique inbound + ID and shipping address\",\"streetAddress1\":\" \",\"streetAddress2\":\" \",\"city\":\" + \",\"stateOrProvince\":\" \",\"postalCode\":\" \",\"countryOrRegion\":\" \",\"phone\":\" + \",\"supportedCarriers\":[\"Blue Dart\",\"DHL\",\"FedEx\",\"TNT\",\"UPS\"],\"alternateLocations\":[\"/providers/Microsoft.ImportExport/locations/australiaeast\"]},\"id\":\"/providers/Microsoft.ImportExport/locations/australiaeast\",\"name\":\"Australia + East\",\"type\":\"Microsoft.ImportExport/locations\"},{\"properties\":{\"recipientName\":\"This + DC has security requirements requiring advance notification for all inbound + shipments. Contact adbops@microsoft.com specifying your order name to receive + the unique inbound ID and shipping address\",\"streetAddress1\":\" \",\"streetAddress2\":\" + \",\"city\":\" \",\"stateOrProvince\":\" \",\"postalCode\":\" \",\"countryOrRegion\":\" + \",\"phone\":\" \",\"supportedCarriers\":[\"Blue Dart\",\"DHL\",\"FedEx\",\"TNT\",\"UPS\"],\"alternateLocations\":[\"/providers/Microsoft.ImportExport/locations/australiasoutheast\"]},\"id\":\"/providers/Microsoft.ImportExport/locations/australiasoutheast\",\"name\":\"Australia + Southeast\",\"type\":\"Microsoft.ImportExport/locations\"},{\"properties\":{\"recipientName\":\"Microsoft + Azure Import/Export Service\",\"streetAddress1\":\"Microsoft c/o AscentyRua + Papa Joao Paulo II 4 - Jardim Santa Izabel\",\"streetAddress2\":\"Hortol\xE2ndia\",\"city\":\"S\xE3o + Paulo\",\"stateOrProvince\":\"\",\"postalCode\":\"CEP: 13.185-252\",\"countryOrRegion\":\"Brazil\",\"supportedCarriers\":[\"Blue + Dart\",\"DHL\",\"FedEx\",\"TNT\",\"UPS\"],\"alternateLocations\":[\"/providers/Microsoft.ImportExport/locations/brazilsouth\"]},\"id\":\"/providers/Microsoft.ImportExport/locations/brazilsouth\",\"name\":\"Brazil + South\",\"type\":\"Microsoft.ImportExport/locations\"},{\"properties\":{\"recipientName\":\"Microsoft + Azure Import/Export Service\",\"streetAddress1\":\"Microsoft c/o Allied Properties + REIT 35 John St\",\"streetAddress2\":\"\",\"city\":\"West Toronto\",\"stateOrProvince\":\"ON\",\"postalCode\":\"M5V + 3G6\",\"countryOrRegion\":\"Canada\",\"supportedCarriers\":[\"Blue Dart\",\"DHL\",\"FedEx\",\"TNT\",\"UPS\"],\"alternateLocations\":[\"/providers/Microsoft.ImportExport/locations/canadacentral\"]},\"id\":\"/providers/Microsoft.ImportExport/locations/canadacentral\",\"name\":\"Canada + Central\",\"type\":\"Microsoft.ImportExport/locations\"},{\"properties\":{\"recipientName\":\"Microsoft + Azure Import/Export Service\",\"streetAddress1\":\"Microsoft c/o 4 Degrees + 2675 Boulevard du Parc-Technologique\",\"streetAddress2\":\"\",\"city\":\"Quebec + City\",\"stateOrProvince\":\"QC\",\"postalCode\":\"G1P 4S5\",\"countryOrRegion\":\"Canada\",\"supportedCarriers\":[\"Blue + Dart\",\"DHL\",\"FedEx\",\"TNT\",\"UPS\"],\"alternateLocations\":[\"/providers/Microsoft.ImportExport/locations/canadacentral\"]},\"id\":\"/providers/Microsoft.ImportExport/locations/canadaeast\",\"name\":\"Canada + East\",\"type\":\"Microsoft.ImportExport/locations\"},{\"properties\":{\"recipientName\":\"Microsoft + Azure Import/Export Service\",\"streetAddress1\":\"Microsoft Corp. (India) + Pvt. Ltd. c/o Tata Communications Ltd., IDC Building, 2nd floor, Alandi Road\",\"streetAddress2\":\"\",\"city\":\"Dighi, + Pune\",\"stateOrProvince\":\"Mahar\",\"postalCode\":\"411015\",\"countryOrRegion\":\"India\",\"phone\":\"+91-8956884068\",\"supportedCarriers\":[\"Blue + Dart\",\"DHL\",\"FedEx\",\"TNT\",\"UPS\"],\"alternateLocations\":[\"/providers/Microsoft.ImportExport/locations/centralindia\"]},\"id\":\"/providers/Microsoft.ImportExport/locations/centralindia\",\"name\":\"Central + India\",\"type\":\"Microsoft.ImportExport/locations\"},{\"properties\":{\"recipientName\":\"Microsoft + Azure Import/Export Service\",\"streetAddress1\":\"550 SE White Crane Rd\",\"streetAddress2\":\"\",\"city\":\"West + Des Moines\",\"stateOrProvince\":\"IA\",\"postalCode\":\"50265\",\"countryOrRegion\":\"USA\",\"phone\":\"5156975500\",\"supportedCarriers\":[\"Blue + Dart\",\"DHL\",\"FedEx\",\"TNT\",\"UPS\"],\"alternateLocations\":[\"/providers/Microsoft.ImportExport/locations/centralus\"]},\"id\":\"/providers/Microsoft.ImportExport/locations/centralus\",\"name\":\"Central + US\",\"type\":\"Microsoft.ImportExport/locations\"},{\"properties\":{\"recipientName\":\"Microsoft + Azure Import/Export Service\",\"streetAddress1\":\"\\n Microsoft c/o + NTT Comm 6 Chun Kwong Street, Tseung Kwan O Industrial Estate \",\"streetAddress2\":\"\",\"city\":\"Tseung + Kwan O\",\"stateOrProvince\":\"\",\"postalCode\":\"\",\"countryOrRegion\":\"\",\"phone\":\"+852 + 3793 0508\\n \",\"supportedCarriers\":[\"Blue Dart\",\"DHL\",\"FedEx\",\"TNT\",\"UPS\"],\"alternateLocations\":[\"/providers/Microsoft.ImportExport/locations/eastasia\"]},\"id\":\"/providers/Microsoft.ImportExport/locations/eastasia\",\"name\":\"East + Asia\",\"type\":\"Microsoft.ImportExport/locations\"},{\"properties\":{\"recipientName\":\"Microsoft + Azure Import/Export Service\",\"streetAddress1\":\"21625 Gresham Drive\",\"streetAddress2\":\"\",\"city\":\"Ashburn\",\"stateOrProvince\":\"VA\",\"postalCode\":\"20147\",\"countryOrRegion\":\"USA\",\"phone\":\"\",\"supportedCarriers\":[\"Blue + Dart\",\"DHL\",\"FedEx\",\"TNT\",\"UPS\"],\"alternateLocations\":[\"/providers/Microsoft.ImportExport/locations/eastus\"]},\"id\":\"/providers/Microsoft.ImportExport/locations/eastus\",\"name\":\"East + US\",\"type\":\"Microsoft.ImportExport/locations\"},{\"properties\":{\"recipientName\":\"Microsoft + Azure Import/Export Service\",\"streetAddress1\":\"101 Herbert Drive, BLDG + 7\",\"streetAddress2\":\"\",\"city\":\"Boydton\",\"stateOrProvince\":\"VA\",\"postalCode\":\"23917\",\"countryOrRegion\":\"USA\",\"phone\":\"\",\"supportedCarriers\":[\"Blue + Dart\",\"DHL\",\"FedEx\",\"TNT\",\"UPS\"],\"alternateLocations\":[\"/providers/Microsoft.ImportExport/locations/eastus\"]},\"id\":\"/providers/Microsoft.ImportExport/locations/eastus2\",\"name\":\"East + US 2\",\"type\":\"Microsoft.ImportExport/locations\"},{\"properties\":{\"recipientName\":\"Microsoft + Azure Import/Export Service\",\"streetAddress1\":\"Microsoft Agriport 570\",\"streetAddress2\":\"\",\"city\":\"Middenmeer\",\"stateOrProvince\":\"NL-NH\",\"postalCode\":\"1775TB\",\"countryOrRegion\":\"Netherlands + (NL)\",\"supportedCarriers\":[\"FedEx\"],\"alternateLocations\":[\"/providers/Microsoft.ImportExport/locations/westeurope\"]},\"id\":\"/providers/Microsoft.ImportExport/locations/germanynorth\",\"name\":\"Germany + North\",\"type\":\"Microsoft.ImportExport/locations\"},{\"properties\":{\"recipientName\":\"Microsoft + Azure Import/Export Service\",\"streetAddress1\":\"Microsoft Agriport 570\",\"streetAddress2\":\"\",\"city\":\"Middenmeer\",\"stateOrProvince\":\"NL-NH\",\"postalCode\":\"1775TB\",\"countryOrRegion\":\"Netherlands + (NL)\",\"supportedCarriers\":[\"FedEx\"],\"alternateLocations\":[\"/providers/Microsoft.ImportExport/locations/westeurope\"]},\"id\":\"/providers/Microsoft.ImportExport/locations/germanywestcentral\",\"name\":\"Germany + West Central\",\"type\":\"Microsoft.ImportExport/locations\"},{\"properties\":{\"recipientName\":\"Microsoft + Azure Import/Export Service\",\"streetAddress1\":\"Microsoft C/O NTT Communications + 2-7-5, Tabatashinmachi, Kita-ku\",\"streetAddress2\":\"\",\"city\":\"Tokyo\",\"stateOrProvince\":\"\",\"postalCode\":\"114-0012\",\"countryOrRegion\":\"Japan\",\"supportedCarriers\":[\"Blue + Dart\",\"DHL\",\"FedEx\",\"TNT\",\"UPS\"],\"alternateLocations\":[\"/providers/Microsoft.ImportExport/locations/japaneast\"]},\"id\":\"/providers/Microsoft.ImportExport/locations/japaneast\",\"name\":\"Japan + East\",\"type\":\"Microsoft.ImportExport/locations\"},{\"properties\":{\"recipientName\":\"Microsoft + Azure Import/Export Service\",\"streetAddress1\":\"Microsoft C/O NTT Communications3-1-21, + Dojima Kita-ku\",\"streetAddress2\":\"\",\"city\":\"Osaka City\",\"stateOrProvince\":\"Osaka\",\"postalCode\":\"553-0003\",\"countryOrRegion\":\"Japan\",\"phone\":\"+81 + (6) 7670-6655\",\"supportedCarriers\":[\"Blue Dart\",\"DHL\",\"FedEx\",\"TNT\",\"UPS\"],\"alternateLocations\":[\"/providers/Microsoft.ImportExport/locations/japanwest\"]},\"id\":\"/providers/Microsoft.ImportExport/locations/japanwest\",\"name\":\"Japan + West\",\"type\":\"Microsoft.ImportExport/locations\"},{\"properties\":{\"recipientName\":\"Microsoft + Azure Import/Export Service\",\"streetAddress1\":\"Microsoft c/o 29, Simindaero-327gil, + Dong An-gu\",\"streetAddress2\":\"Anyang-si\",\"city\":\"Kyeonggido\",\"stateOrProvince\":\"\",\"postalCode\":\"14055\",\"countryOrRegion\":\"Republic + of Korea\",\"supportedCarriers\":[\"Blue Dart\",\"DHL\",\"FedEx\",\"TNT\",\"UPS\"],\"alternateLocations\":[\"/providers/Microsoft.ImportExport/locations/koreacentral\"]},\"id\":\"/providers/Microsoft.ImportExport/locations/koreacentral\",\"name\":\"Korea + Central\",\"type\":\"Microsoft.ImportExport/locations\"},{\"properties\":{\"recipientName\":\"Microsoft + Azure Import/Export Service\",\"streetAddress1\":\"Microsoft c/o 29, Simindaero-327gil, + Dong An-gu\",\"streetAddress2\":\"Anyang-si\",\"city\":\"Kyeonggido\",\"stateOrProvince\":\"\",\"postalCode\":\"14055\",\"countryOrRegion\":\"Republic + of Korea\",\"supportedCarriers\":[\"FedEx\",\"DHL\"],\"alternateLocations\":[\"/providers/Microsoft.ImportExport/locations/australiasoutheast\"]},\"id\":\"/providers/Microsoft.ImportExport/locations/koreasouth\",\"name\":\"Korea + South\",\"type\":\"Microsoft.ImportExport/locations\"},{\"properties\":{\"recipientName\":\"Microsoft + Azure Import/Export Service\",\"streetAddress1\":\"601 Northwest Ave.\",\"streetAddress2\":\"\",\"city\":\"Northlake\",\"stateOrProvince\":\"IL\",\"postalCode\":\"60164\",\"countryOrRegion\":\"USA\",\"phone\":\"(708) + 836-5143\",\"supportedCarriers\":[\"Blue Dart\",\"DHL\",\"FedEx\",\"TNT\",\"UPS\"],\"alternateLocations\":[\"/providers/Microsoft.ImportExport/locations/northcentralus\"]},\"id\":\"/providers/Microsoft.ImportExport/locations/northcentralus\",\"name\":\"North + Central US\",\"type\":\"Microsoft.ImportExport/locations\"},{\"properties\":{\"recipientName\":\"Microsoft + Azure Import/Export Service\",\"streetAddress1\":\"Unit 74 Grange Castle Business + Park, Clondalkin\",\"streetAddress2\":\"\",\"city\":\"Dublin\",\"stateOrProvince\":\"\",\"postalCode\":\"22\",\"countryOrRegion\":\"Ireland + (IE)\",\"phone\":\"8886052200\",\"supportedCarriers\":[\"Blue Dart\",\"DHL\",\"FedEx\",\"TNT\",\"UPS\"],\"alternateLocations\":[\"/providers/Microsoft.ImportExport/locations/westeurope\"]},\"id\":\"/providers/Microsoft.ImportExport/locations/northeurope\",\"name\":\"North + Europe\",\"type\":\"Microsoft.ImportExport/locations\"},{\"properties\":{\"recipientName\":\"Microsoft + Azure Import/Export Service\",\"streetAddress1\":\"5150 Rogers Road\",\"streetAddress2\":\"\",\"city\":\"San + Antonio\",\"stateOrProvince\":\"TX\",\"postalCode\":\"78251\",\"countryOrRegion\":\"USA\",\"phone\":\"+1 + 210 3462528\",\"supportedCarriers\":[\"Blue Dart\",\"DHL\",\"FedEx\",\"TNT\",\"UPS\"],\"alternateLocations\":[\"/providers/Microsoft.ImportExport/locations/westus\"]},\"id\":\"/providers/Microsoft.ImportExport/locations/southcentralus\",\"name\":\"South + Central US\",\"type\":\"Microsoft.ImportExport/locations\"},{\"properties\":{\"recipientName\":\"Microsoft + Azure Import/Export Service\",\"streetAddress1\":\"Microsoft Corp. (India) + Pvt. Ltd. C/o Tata Communications Ltd, 226 Red Hills Road, Kallikuppam\",\"streetAddress2\":\"\",\"city\":\"Ambattur\",\"stateOrProvince\":\"Tamil + Nadu\",\"postalCode\":\"600053\",\"countryOrRegion\":\"India\",\"phone\":\"+91 + 7200090173\",\"supportedCarriers\":[\"Blue Dart\",\"DHL\",\"FedEx\",\"TNT\",\"UPS\"],\"alternateLocations\":[\"/providers/Microsoft.ImportExport/locations/southindia\"]},\"id\":\"/providers/Microsoft.ImportExport/locations/southindia\",\"name\":\"South + India\",\"type\":\"Microsoft.ImportExport/locations\"},{\"properties\":{\"recipientName\":\"Microsoft + Azure Import/Export Service\",\"streetAddress1\":\"21 Defu Ave 1\",\"streetAddress2\":\"\",\"city\":\"Singapore\",\"stateOrProvince\":\"539539\",\"postalCode\":\"Singapore + (SG)\",\"countryOrRegion\":\"+659017 9066\",\"supportedCarriers\":[\"Blue + Dart\",\"DHL\",\"FedEx\",\"TNT\",\"UPS\"],\"alternateLocations\":[\"/providers/Microsoft.ImportExport/locations/southeastasia\"]},\"id\":\"/providers/Microsoft.ImportExport/locations/southeastasia\",\"name\":\"Southeast + Asia\",\"type\":\"Microsoft.ImportExport/locations\"},{\"properties\":{\"recipientName\":\"This + DC has security requirements requiring advance notification for all inbound + shipments. Contact adbops@microsoft.com specifying your order name to receive + the unique inbound ID and shipping address\",\"streetAddress1\":\" \",\"streetAddress2\":\" + \",\"city\":\" \",\"stateOrProvince\":\" \",\"postalCode\":\" \",\"countryOrRegion\":\" + \",\"phone\":\" \",\"supportedCarriers\":[\"Blue Dart\",\"DHL\",\"FedEx\",\"TNT\",\"UPS\"],\"alternateLocations\":[\"/providers/Microsoft.ImportExport/locations/uksouth\"]},\"id\":\"/providers/Microsoft.ImportExport/locations/uksouth\",\"name\":\"UK + South\",\"type\":\"Microsoft.ImportExport/locations\"},{\"properties\":{\"recipientName\":\"This + DC has security requirements requiring advance notification for all inbound + shipments. Contact adbops@microsoft.com specifying your order name to receive + the unique inbound ID and shipping address\",\"streetAddress1\":\" \",\"streetAddress2\":\" + \",\"city\":\" \",\"stateOrProvince\":\" \",\"postalCode\":\" \",\"countryOrRegion\":\" + \",\"phone\":\" \",\"supportedCarriers\":[\"FedEx\",\"DHL\"],\"alternateLocations\":[\"/providers/Microsoft.ImportExport/locations/uksouth\"]},\"id\":\"/providers/Microsoft.ImportExport/locations/ukwest\",\"name\":\"UK + West\",\"type\":\"Microsoft.ImportExport/locations\"},{\"properties\":{\"recipientName\":\"Microsoft + Azure Import/Export Service\",\"streetAddress1\":\"Microsoft 638 Logistics + Drive\",\"streetAddress2\":\"\",\"city\":\"Cheyenne\",\"stateOrProvince\":\"WY\",\"postalCode\":\"82007\",\"countryOrRegion\":\"USA\",\"supportedCarriers\":[\"Blue + Dart\",\"DHL\",\"FedEx\",\"TNT\",\"UPS\"],\"alternateLocations\":[\"/providers/Microsoft.ImportExport/locations/centralus\"]},\"id\":\"/providers/Microsoft.ImportExport/locations/westcentralus\",\"name\":\"West + Central US\",\"type\":\"Microsoft.ImportExport/locations\"},{\"properties\":{\"recipientName\":\"Microsoft + Azure Import/Export Service\",\"streetAddress1\":\"Microsoft Agriport 570\",\"streetAddress2\":\"\",\"city\":\"Middenmeer\",\"stateOrProvince\":\"NL-NH\",\"postalCode\":\"1775TB\",\"countryOrRegion\":\"Netherlands + (NL)\",\"supportedCarriers\":[\"Blue Dart\",\"DHL\",\"FedEx\",\"TNT\",\"UPS\"],\"alternateLocations\":[\"/providers/Microsoft.ImportExport/locations/westeurope\"]},\"id\":\"/providers/Microsoft.ImportExport/locations/westeurope\",\"name\":\"West + Europe\",\"type\":\"Microsoft.ImportExport/locations\"},{\"properties\":{\"recipientName\":\"Microsoft + Azure Import/Export Service\",\"streetAddress1\":\"Microsoft c/o Tata Communications,Tower + A , 6th Floor,Plot # C21 C36, Bandra Kurla Complex, Near MTNL\",\"streetAddress2\":\"\",\"city\":\"Mumbai\",\"stateOrProvince\":\"Maharashtra\",\"postalCode\":\"400098\",\"countryOrRegion\":\"India\",\"supportedCarriers\":[\"Blue + Dart\",\"DHL\",\"FedEx\",\"TNT\",\"UPS\"],\"alternateLocations\":[\"/providers/Microsoft.ImportExport/locations/centralindia\"]},\"id\":\"/providers/Microsoft.ImportExport/locations/westindia\",\"name\":\"West + India\",\"type\":\"Microsoft.ImportExport/locations\"},{\"properties\":{\"recipientName\":\"Microsoft + Azure Import/Export Service\",\"streetAddress1\":\"3020 Coronado\",\"streetAddress2\":\"\",\"city\":\"Santa + Clara\",\"stateOrProvince\":\"CA\",\"postalCode\":\"95054\",\"countryOrRegion\":\"USA\",\"phone\":\"408 + 352 7600\",\"supportedCarriers\":[\"Blue Dart\",\"DHL\",\"FedEx\",\"TNT\",\"UPS\"],\"alternateLocations\":[\"/providers/Microsoft.ImportExport/locations/westus\"]},\"id\":\"/providers/Microsoft.ImportExport/locations/westus\",\"name\":\"West + US\",\"type\":\"Microsoft.ImportExport/locations\"},{\"properties\":{\"recipientName\":\"Microsoft + Azure Import/Export Service\",\"streetAddress1\":\"1515 Port Industrial Parkway\",\"streetAddress2\":\"\",\"city\":\"Quincy\",\"stateOrProvince\":\"WA\",\"postalCode\":\"98848\",\"countryOrRegion\":\"USA\",\"supportedCarriers\":[\"Blue + Dart\",\"DHL\",\"FedEx\",\"TNT\",\"UPS\"],\"alternateLocations\":[\"/providers/Microsoft.ImportExport/locations/westus2\"]},\"id\":\"/providers/Microsoft.ImportExport/locations/westus2\",\"name\":\"West + US 2\",\"type\":\"Microsoft.ImportExport/locations\"}]}" + headers: + cache-control: + - no-cache + content-length: + - '15120' + content-type: + - application/json + date: + - Tue, 21 Apr 2020 09:42:54 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - import-export location list + Connection: + - keep-alive + User-Agent: + - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.3 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.4.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/locations?api-version=2019-06-01 + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastasia","name":"eastasia","displayName":"East + Asia","longitude":"114.188","latitude":"22.267"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southeastasia","name":"southeastasia","displayName":"Southeast + Asia","longitude":"103.833","latitude":"1.283"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centralus","name":"centralus","displayName":"Central + US","longitude":"-93.6208","latitude":"41.5908"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus","name":"eastus","displayName":"East + US","longitude":"-79.8164","latitude":"37.3719"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus2","name":"eastus2","displayName":"East + US 2","longitude":"-78.3889","latitude":"36.6681"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus","name":"westus","displayName":"West + US","longitude":"-122.417","latitude":"37.783"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/northcentralus","name":"northcentralus","displayName":"North + Central US","longitude":"-87.6278","latitude":"41.8819"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southcentralus","name":"southcentralus","displayName":"South + Central US","longitude":"-98.5","latitude":"29.4167"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/northeurope","name":"northeurope","displayName":"North + Europe","longitude":"-6.2597","latitude":"53.3478"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westeurope","name":"westeurope","displayName":"West + Europe","longitude":"4.9","latitude":"52.3667"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/japanwest","name":"japanwest","displayName":"Japan + West","longitude":"135.5022","latitude":"34.6939"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/japaneast","name":"japaneast","displayName":"Japan + East","longitude":"139.77","latitude":"35.68"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/brazilsouth","name":"brazilsouth","displayName":"Brazil + South","longitude":"-46.633","latitude":"-23.55"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiaeast","name":"australiaeast","displayName":"Australia + East","longitude":"151.2094","latitude":"-33.86"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiasoutheast","name":"australiasoutheast","displayName":"Australia + Southeast","longitude":"144.9631","latitude":"-37.8136"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southindia","name":"southindia","displayName":"South + India","longitude":"80.1636","latitude":"12.9822"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centralindia","name":"centralindia","displayName":"Central + India","longitude":"73.9197","latitude":"18.5822"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westindia","name":"westindia","displayName":"West + India","longitude":"72.868","latitude":"19.088"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/canadacentral","name":"canadacentral","displayName":"Canada + Central","longitude":"-79.383","latitude":"43.653"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/canadaeast","name":"canadaeast","displayName":"Canada + East","longitude":"-71.217","latitude":"46.817"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uksouth","name":"uksouth","displayName":"UK + South","longitude":"-0.799","latitude":"50.941"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/ukwest","name":"ukwest","displayName":"UK + West","longitude":"-3.084","latitude":"53.427"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westcentralus","name":"westcentralus","displayName":"West + Central US","longitude":"-110.234","latitude":"40.890"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus2","name":"westus2","displayName":"West + US 2","longitude":"-119.852","latitude":"47.233"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/koreacentral","name":"koreacentral","displayName":"Korea + Central","longitude":"126.9780","latitude":"37.5665"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/koreasouth","name":"koreasouth","displayName":"Korea + South","longitude":"129.0756","latitude":"35.1796"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/francecentral","name":"francecentral","displayName":"France + Central","longitude":"2.3730","latitude":"46.3772"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/francesouth","name":"francesouth","displayName":"France + South","longitude":"2.1972","latitude":"43.8345"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiacentral","name":"australiacentral","displayName":"Australia + Central","longitude":"149.1244","latitude":"-35.3075"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiacentral2","name":"australiacentral2","displayName":"Australia + Central 2","longitude":"149.1244","latitude":"-35.3075"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uaecentral","name":"uaecentral","displayName":"UAE + Central","longitude":"54.366669","latitude":"24.466667"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uaenorth","name":"uaenorth","displayName":"UAE + North","longitude":"55.316666","latitude":"25.266666"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southafricanorth","name":"southafricanorth","displayName":"South + Africa North","longitude":"28.218370","latitude":"-25.731340"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southafricawest","name":"southafricawest","displayName":"South + Africa West","longitude":"18.843266","latitude":"-34.075691"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/switzerlandnorth","name":"switzerlandnorth","displayName":"Switzerland + North","longitude":"8.564572","latitude":"47.451542"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/switzerlandwest","name":"switzerlandwest","displayName":"Switzerland + West","longitude":"6.143158","latitude":"46.204391"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/germanynorth","name":"germanynorth","displayName":"Germany + North","longitude":"8.806422","latitude":"53.073635"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/germanywestcentral","name":"germanywestcentral","displayName":"Germany + West Central","longitude":"8.682127","latitude":"50.110924"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/norwaywest","name":"norwaywest","displayName":"Norway + West","longitude":"5.733107","latitude":"58.969975"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/norwayeast","name":"norwayeast","displayName":"Norway + East","longitude":"10.752245","latitude":"59.913868"}]}' + headers: + cache-control: + - no-cache + content-length: + - '7129' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 21 Apr 2020 09:42:55 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - import-export location show + Connection: + - keep-alive + ParameterSetName: + - --location + User-Agent: + - AZURECLI/2.4.0 azsdk-python-core/1.4.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + azsdk-python-storageimportexport/unknown + method: GET + uri: https://management.azure.com/providers/Microsoft.ImportExport/locations/westus2?api-version=2016-11-01 + response: + body: + string: '{"properties":{"recipientName":"Microsoft Azure Import/Export Service","streetAddress1":"1515 + Port Industrial Parkway","streetAddress2":"","city":"Quincy","stateOrProvince":"WA","postalCode":"98848","countryOrRegion":"USA","supportedCarriers":["Blue + Dart","DHL","FedEx","TNT","UPS"],"alternateLocations":["/providers/Microsoft.ImportExport/locations/westus2"]},"id":"/providers/Microsoft.ImportExport/locations/westus2","name":"West + US 2","type":"Microsoft.ImportExport/locations"}' + headers: + cache-control: + - no-cache + content-length: + - '481' + content-type: + - application/json + date: + - Tue, 21 Apr 2020 09:42:56 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - import-export location show + Connection: + - keep-alive + ParameterSetName: + - --location + User-Agent: + - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.3 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.4.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/locations?api-version=2019-06-01 + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastasia","name":"eastasia","displayName":"East + Asia","longitude":"114.188","latitude":"22.267"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southeastasia","name":"southeastasia","displayName":"Southeast + Asia","longitude":"103.833","latitude":"1.283"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centralus","name":"centralus","displayName":"Central + US","longitude":"-93.6208","latitude":"41.5908"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus","name":"eastus","displayName":"East + US","longitude":"-79.8164","latitude":"37.3719"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus2","name":"eastus2","displayName":"East + US 2","longitude":"-78.3889","latitude":"36.6681"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus","name":"westus","displayName":"West + US","longitude":"-122.417","latitude":"37.783"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/northcentralus","name":"northcentralus","displayName":"North + Central US","longitude":"-87.6278","latitude":"41.8819"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southcentralus","name":"southcentralus","displayName":"South + Central US","longitude":"-98.5","latitude":"29.4167"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/northeurope","name":"northeurope","displayName":"North + Europe","longitude":"-6.2597","latitude":"53.3478"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westeurope","name":"westeurope","displayName":"West + Europe","longitude":"4.9","latitude":"52.3667"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/japanwest","name":"japanwest","displayName":"Japan + West","longitude":"135.5022","latitude":"34.6939"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/japaneast","name":"japaneast","displayName":"Japan + East","longitude":"139.77","latitude":"35.68"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/brazilsouth","name":"brazilsouth","displayName":"Brazil + South","longitude":"-46.633","latitude":"-23.55"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiaeast","name":"australiaeast","displayName":"Australia + East","longitude":"151.2094","latitude":"-33.86"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiasoutheast","name":"australiasoutheast","displayName":"Australia + Southeast","longitude":"144.9631","latitude":"-37.8136"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southindia","name":"southindia","displayName":"South + India","longitude":"80.1636","latitude":"12.9822"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centralindia","name":"centralindia","displayName":"Central + India","longitude":"73.9197","latitude":"18.5822"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westindia","name":"westindia","displayName":"West + India","longitude":"72.868","latitude":"19.088"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/canadacentral","name":"canadacentral","displayName":"Canada + Central","longitude":"-79.383","latitude":"43.653"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/canadaeast","name":"canadaeast","displayName":"Canada + East","longitude":"-71.217","latitude":"46.817"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uksouth","name":"uksouth","displayName":"UK + South","longitude":"-0.799","latitude":"50.941"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/ukwest","name":"ukwest","displayName":"UK + West","longitude":"-3.084","latitude":"53.427"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westcentralus","name":"westcentralus","displayName":"West + Central US","longitude":"-110.234","latitude":"40.890"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus2","name":"westus2","displayName":"West + US 2","longitude":"-119.852","latitude":"47.233"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/koreacentral","name":"koreacentral","displayName":"Korea + Central","longitude":"126.9780","latitude":"37.5665"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/koreasouth","name":"koreasouth","displayName":"Korea + South","longitude":"129.0756","latitude":"35.1796"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/francecentral","name":"francecentral","displayName":"France + Central","longitude":"2.3730","latitude":"46.3772"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/francesouth","name":"francesouth","displayName":"France + South","longitude":"2.1972","latitude":"43.8345"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiacentral","name":"australiacentral","displayName":"Australia + Central","longitude":"149.1244","latitude":"-35.3075"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiacentral2","name":"australiacentral2","displayName":"Australia + Central 2","longitude":"149.1244","latitude":"-35.3075"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uaecentral","name":"uaecentral","displayName":"UAE + Central","longitude":"54.366669","latitude":"24.466667"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uaenorth","name":"uaenorth","displayName":"UAE + North","longitude":"55.316666","latitude":"25.266666"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southafricanorth","name":"southafricanorth","displayName":"South + Africa North","longitude":"28.218370","latitude":"-25.731340"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southafricawest","name":"southafricawest","displayName":"South + Africa West","longitude":"18.843266","latitude":"-34.075691"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/switzerlandnorth","name":"switzerlandnorth","displayName":"Switzerland + North","longitude":"8.564572","latitude":"47.451542"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/switzerlandwest","name":"switzerlandwest","displayName":"Switzerland + West","longitude":"6.143158","latitude":"46.204391"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/germanynorth","name":"germanynorth","displayName":"Germany + North","longitude":"8.806422","latitude":"53.073635"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/germanywestcentral","name":"germanywestcentral","displayName":"Germany + West Central","longitude":"8.682127","latitude":"50.110924"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/norwaywest","name":"norwaywest","displayName":"Norway + West","longitude":"5.733107","latitude":"58.969975"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/norwayeast","name":"norwayeast","displayName":"Norway + East","longitude":"10.752245","latitude":"59.913868"}]}' + headers: + cache-control: + - no-cache + content-length: + - '7129' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 21 Apr 2020 09:42:57 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: 'b''b\''{"location": "westus", "properties": {"storageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_import_export_000001/providers/Microsoft.Storage/storageAccounts/clitest000002", + "jobType": "Import", "returnAddress": {"recipientName": "Tests", "streetAddress1": + "Street1", "streetAddress2": "street2", "city": "Redmond", "stateOrProvince": + "wa", "postalCode": "98007", "countryOrRegion": "USA", "phone": "4250000000", + "email": "Test@contoso.com"}, "diagnosticsPath": "waimportexport", "logLevel": + "Verbose", "backupDriveManifest": true, "driveList": [{"driveId": "9CA995BF", + "bitLockerKey": "238810-662376-448998-450120-652806-203390-606320-483076", "manifestFile": + "\\\\\\\\DriveManifest.xml", "manifestHash": "109B21108597EF36D5785F08303F3638", + "driveHeaderHash": ""}]}}\''''' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - import-export create + Connection: + - keep-alive + Content-Length: + - '860' + Content-Type: + - application/json + ParameterSetName: + - -g -n --location --type --log-level --storage-account --backup-drive-manifest + --diagnostics-path --drive-list --return-address + User-Agent: + - AZURECLI/2.4.0 azsdk-python-core/1.4.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + azsdk-python-storageimportexport/unknown + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_import_export_000001/providers/Microsoft.ImportExport/jobs/test-import-export-000003?api-version=2016-11-01 + response: + body: + string: '{"properties":{"storageAccountId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_import_export_000001/providers/Microsoft.Storage/storageAccounts/clitest000002","jobType":"Import","returnAddress":{"recipientName":"Tests","streetAddress1":"Street1","streetAddress2":"street2","city":"Redmond","stateOrProvince":"wa","postalCode":"98007","countryOrRegion":"USA","phone":"4250000000","email":"Test@contoso.com"},"shippingInformation":{"recipientName":"Microsoft + Azure Import/Export Service","streetAddress1":"3020 Coronado","streetAddress2":"","city":"Santa + Clara","stateOrProvince":"CA","postalCode":"95054","countryOrRegion":"USA","phone":"408 + 352 7600"},"diagnosticsPath":"waimportexport","logLevel":"Verbose","backupDriveManifest":true,"cancelRequested":false,"state":"Creating","driveList":[{"driveId":"9CA995BF","manifestFile":"\\DriveManifest.xml","manifestHash":"109B21108597EF36D5785F08303F3638","driveHeaderHash":"","state":"Specified"}],"provisioningState":"Succeeded","encryptionKey":{"kekType":"MicrosoftManaged"}},"identity":{"type":"None"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_import_export_000001/providers/Microsoft.ImportExport/jobs/test-import-export-000003","name":"test-import-export-000003","type":"Microsoft.ImportExport/jobs","location":"westus"}' + headers: + cache-control: + - no-cache + content-length: + - '1443' + content-type: + - application/json + date: + - Tue, 21 Apr 2020 09:43:06 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - import-export list + Connection: + - keep-alive + ParameterSetName: + - -g + User-Agent: + - AZURECLI/2.4.0 azsdk-python-core/1.4.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + azsdk-python-storageimportexport/unknown + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_import_export_000001/providers/Microsoft.ImportExport/jobs?api-version=2016-11-01 + response: + body: + string: '{"value":[{"properties":{"storageAccountId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_import_export_000001/providers/Microsoft.Storage/storageAccounts/clitest000002","jobType":"Import","returnAddress":{"recipientName":"Tests","streetAddress1":"Street1","streetAddress2":"street2","city":"Redmond","stateOrProvince":"wa","postalCode":"98007","countryOrRegion":"USA","phone":"4250000000","email":"Test@contoso.com"},"shippingInformation":{"recipientName":"Microsoft + Azure Import/Export Service","streetAddress1":"3020 Coronado","streetAddress2":"","city":"Santa + Clara","stateOrProvince":"CA","postalCode":"95054","countryOrRegion":"USA","phone":"408 + 352 7600"},"diagnosticsPath":"waimportexport","logLevel":"Verbose","backupDriveManifest":true,"cancelRequested":false,"state":"Creating","provisioningState":"Succeeded","encryptionKey":{"kekType":"MicrosoftManaged"}},"identity":{"type":"None"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_import_export_000001/providers/Microsoft.ImportExport/jobs/test-import-export-000003","name":"test-import-export-000003","type":"Microsoft.ImportExport/jobs","location":"West + US"}]}' + headers: + cache-control: + - no-cache + content-length: + - '1291' + content-type: + - application/json + date: + - Tue, 21 Apr 2020 09:43:08 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - import-export show + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - AZURECLI/2.4.0 azsdk-python-core/1.4.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + azsdk-python-storageimportexport/unknown + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_import_export_000001/providers/Microsoft.ImportExport/jobs/test-import-export-000003?api-version=2016-11-01 + response: + body: + string: '{"properties":{"storageAccountId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_import_export_000001/providers/Microsoft.Storage/storageAccounts/clitest000002","jobType":"Import","returnAddress":{"recipientName":"Tests","streetAddress1":"Street1","streetAddress2":"street2","city":"Redmond","stateOrProvince":"wa","postalCode":"98007","countryOrRegion":"USA","phone":"4250000000","email":"Test@contoso.com"},"shippingInformation":{"recipientName":"Microsoft + Azure Import/Export Service","streetAddress1":"3020 Coronado","streetAddress2":"","city":"Santa + Clara","stateOrProvince":"CA","postalCode":"95054","countryOrRegion":"USA","phone":"408 + 352 7600"},"diagnosticsPath":"waimportexport","logLevel":"Verbose","backupDriveManifest":true,"cancelRequested":false,"state":"Creating","driveList":[{"driveId":"9CA995BF","manifestFile":"\\DriveManifest.xml","manifestHash":"109B21108597EF36D5785F08303F3638","driveHeaderHash":"","state":"Specified"}],"provisioningState":"Succeeded","encryptionKey":{"kekType":"MicrosoftManaged"}},"identity":{"type":"None"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_import_export_000001/providers/Microsoft.ImportExport/jobs/test-import-export-000003","name":"test-import-export-000003","type":"Microsoft.ImportExport/jobs","location":"West + US"}' + headers: + cache-control: + - no-cache + content-length: + - '1444' + content-type: + - application/json + date: + - Tue, 21 Apr 2020 09:43:10 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"properties": {"cancelRequested": true}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - import-export update + Connection: + - keep-alive + Content-Length: + - '41' + Content-Type: + - application/json + ParameterSetName: + - -g -n --cancel-requested + User-Agent: + - AZURECLI/2.4.0 azsdk-python-core/1.4.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + azsdk-python-storageimportexport/unknown + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_import_export_000001/providers/Microsoft.ImportExport/jobs/test-import-export-000003?api-version=2016-11-01 + response: + body: + string: '{"properties":{"storageAccountId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_import_export_000001/providers/Microsoft.Storage/storageAccounts/clitest000002","jobType":"Import","returnAddress":{"recipientName":"Tests","streetAddress1":"Street1","streetAddress2":"street2","city":"Redmond","stateOrProvince":"wa","postalCode":"98007","countryOrRegion":"USA","phone":"4250000000","email":"Test@contoso.com"},"shippingInformation":{"recipientName":"Microsoft + Azure Import/Export Service","streetAddress1":"3020 Coronado","streetAddress2":"","city":"Santa + Clara","stateOrProvince":"CA","postalCode":"95054","countryOrRegion":"USA","phone":"408 + 352 7600"},"diagnosticsPath":"waimportexport","logLevel":"Verbose","backupDriveManifest":true,"cancelRequested":true,"state":"Creating","driveList":[{"driveId":"9CA995BF","manifestFile":"\\DriveManifest.xml","manifestHash":"109B21108597EF36D5785F08303F3638","driveHeaderHash":"","state":"Specified"}],"provisioningState":"Succeeded","encryptionKey":{"kekType":"MicrosoftManaged"}},"identity":{"type":"None"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_import_export_000001/providers/Microsoft.ImportExport/jobs/test-import-export-000003","name":"test-import-export-000003","type":"Microsoft.ImportExport/jobs","location":"West + US"}' + headers: + cache-control: + - no-cache + content-length: + - '1443' + content-type: + - application/json + date: + - Tue, 21 Apr 2020 09:43:12 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - import-export bit-locker-key list + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g --job-name + User-Agent: + - AZURECLI/2.4.0 azsdk-python-core/1.4.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + azsdk-python-storageimportexport/unknown + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_import_export_000001/providers/Microsoft.ImportExport/jobs/test-import-export-000003/listBitLockerKeys?api-version=2016-11-01 + response: + body: + string: '{"value":[{"driveId":"9CA995BF","bitLockerKey":"238810-662376-448998-450120-652806-203390-606320-483076"}]}' + headers: + cache-control: + - no-cache + content-length: + - '107' + content-type: + - application/json + date: + - Tue, 21 Apr 2020 09:43:15 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - import-export delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g -n + User-Agent: + - AZURECLI/2.4.0 azsdk-python-core/1.4.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + azsdk-python-storageimportexport/unknown + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_import_export_000001/providers/Microsoft.ImportExport/jobs/test-import-export-000003?api-version=2016-11-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 21 Apr 2020 09:43:20 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + status: + code: 200 + message: OK +version: 1 diff --git a/src/import-export/azext_import_export/tests/latest/test_import_export_scenario.py b/src/import-export/azext_import_export/tests/latest/test_import_export_scenario.py new file mode 100644 index 00000000000..be675899654 --- /dev/null +++ b/src/import-export/azext_import_export/tests/latest/test_import_export_scenario.py @@ -0,0 +1,56 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +import os + +from azure.cli.testsdk import ScenarioTest, ResourceGroupPreparer, StorageAccountPreparer + + +TEST_DIR = os.path.abspath(os.path.join(os.path.abspath(__file__), '..')) + + +class ImportExportScenarioTest(ScenarioTest): + + @ResourceGroupPreparer(name_prefix='cli_test_import_export_', key='rg') + @StorageAccountPreparer(parameter_name='storage_account') + def test_import_export(self, resource_group, storage_account): + self.kwargs.update({ + 'job_name': self.create_random_name(prefix='test-import-export-', length=24), + 'storage_account': storage_account, + 'bit_locker_key': '238810-662376-448998-450120-652806-203390-606320-483076', + 'driver_id': '9CA995BF' + }) + storage_account_id = self.cmd('storage account show -g {rg} -n {storage_account}').get_output_in_json()['id'] + self.kwargs.update({ + 'storage_account_id': storage_account_id + }) + + self.cmd('import-export location list', checks=[ + self.greater_than('length(@)', 0) + ]) + self.cmd('import-export location show --location "West US 2"', checks=[ + self.check('name', 'West US 2') + ]) + + self.cmd('import-export create -g {rg} -n {job_name} --location "West US" --type Import --log-level Verbose ' + '--storage-account {storage_account_id} --backup-drive-manifest true ' + '--diagnostics-path waimportexport --drive-list drive-id={driver_id} bit-locker-key={bit_locker_key} ' + 'drive-header-hash="" manifest-file=\\\\DriveManifest.xml ' + 'manifest-hash=109B21108597EF36D5785F08303F3638 --return-address city=Redmond country-or-region=USA ' + 'email=Test@contoso.com phone=4250000000 postal-code=98007 recipient-name=Tests state-or-province=wa ' + 'street-address1=Street1 street-address2=street2', + checks=[self.check('name', '{job_name}')]) + self.cmd('import-export list -g {rg}', checks=[self.check('length(@)', 1)]) + self.cmd('import-export show -g {rg} -n {job_name}', checks=[self.check('name', '{job_name}')]) + self.cmd('import-export update -g {rg} -n {job_name} --cancel-requested true', checks=[ + self.check('name', '{job_name}'), + self.check('properties.cancelRequested', 'True') + ]) + + self.cmd('import-export bit-locker-key list -g {rg} --job-name {job_name}', checks=[ + self.check('[0].driveId', '{driver_id}'), + self.check('[0].bitLockerKey', '{bit_locker_key}') + ]) + self.cmd('import-export delete -g {rg} -n {job_name}') diff --git a/src/import-export/azext_import_export/vendored_sdks/__init__.py b/src/import-export/azext_import_export/vendored_sdks/__init__.py new file mode 100644 index 00000000000..be1a152630c --- /dev/null +++ b/src/import-export/azext_import_export/vendored_sdks/__init__.py @@ -0,0 +1,12 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +__path__ = __import__('pkgutil').extend_path(__path__, __name__) \ No newline at end of file diff --git a/src/import-export/azext_import_export/vendored_sdks/storageimportexport/__init__.py b/src/import-export/azext_import_export/vendored_sdks/storageimportexport/__init__.py new file mode 100644 index 00000000000..9dacfa50491 --- /dev/null +++ b/src/import-export/azext_import_export/vendored_sdks/storageimportexport/__init__.py @@ -0,0 +1,10 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._storage_import_export import StorageImportExport +__all__ = ['StorageImportExport'] diff --git a/src/import-export/azext_import_export/vendored_sdks/storageimportexport/_configuration.py b/src/import-export/azext_import_export/vendored_sdks/storageimportexport/_configuration.py new file mode 100644 index 00000000000..54d3fa539f8 --- /dev/null +++ b/src/import-export/azext_import_export/vendored_sdks/storageimportexport/_configuration.py @@ -0,0 +1,64 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import Any, Optional + +from azure.core.configuration import Configuration +from azure.core.pipeline import policies + +VERSION = "unknown" + +class StorageImportExportConfiguration(Configuration): + """Configuration for StorageImportExport + Note that all parameters used to create this instance are saved as instance + attributes. + + :param credential: Credential needed for the client to connect to Azure. + :type credential: azure.core.credentials.TokenCredential + :param subscription_id: The subscription ID for the Azure user. + :type subscription_id: str + :param acceptlanguage: Specifies the preferred language for the response. + :type acceptlanguage: str + """ + + def __init__( + self, + credential, # type: "TokenCredential" + subscription_id, # type: str + acceptlanguage=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> None + if credential is None: + raise ValueError("Parameter 'credential' must not be None.") + if subscription_id is None: + raise ValueError("Parameter 'subscription_id' must not be None.") + super(StorageImportExportConfiguration, self).__init__(**kwargs) + + self.credential = credential + self.subscription_id = subscription_id + self.acceptlanguage = acceptlanguage + self.api_version = "2016-11-01" + self._configure(**kwargs) + self.user_agent_policy.add_user_agent('azsdk-python-storageimportexport/{}'.format(VERSION)) + + def _configure( + self, + **kwargs # type: Any + ): + # type: (...) -> None + self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get('retry_policy') or policies.RetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get('redirect_policy') or policies.RedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get('authentication_policy') + if self.credential and not self.authentication_policy: + self.authentication_policy = policies.BearerTokenCredentialPolicy(self.credential, **kwargs) diff --git a/src/import-export/azext_import_export/vendored_sdks/storageimportexport/_storage_import_export.py b/src/import-export/azext_import_export/vendored_sdks/storageimportexport/_storage_import_export.py new file mode 100644 index 00000000000..8f210f8ac8f --- /dev/null +++ b/src/import-export/azext_import_export/vendored_sdks/storageimportexport/_storage_import_export.py @@ -0,0 +1,80 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import Any, Optional + +from azure.core import PipelineClient +from msrest import Deserializer, Serializer + +from ._configuration import StorageImportExportConfiguration +from .operations import LocationOperations +from .operations import JobOperations +from .operations import BitLockerKeyOperations +from .operations import OperationOperations +from . import models + + +class StorageImportExport(object): + """The Storage Import/Export Resource Provider API. + + :ivar location: LocationOperations operations + :vartype location: storage_import_export.operations.LocationOperations + :ivar job: JobOperations operations + :vartype job: storage_import_export.operations.JobOperations + :ivar bit_locker_key: BitLockerKeyOperations operations + :vartype bit_locker_key: storage_import_export.operations.BitLockerKeyOperations + :ivar operation: OperationOperations operations + :vartype operation: storage_import_export.operations.OperationOperations + :param credential: Credential needed for the client to connect to Azure. + :type credential: azure.core.credentials.TokenCredential + :param subscription_id: The subscription ID for the Azure user. + :type subscription_id: str + :param acceptlanguage: Specifies the preferred language for the response. + :type acceptlanguage: str + :param str base_url: Service URL + """ + + def __init__( + self, + credential, # type: "TokenCredential" + subscription_id, # type: str + acceptlanguage=None, # type: Optional[str] + base_url=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> None + if not base_url: + base_url = 'https://management.azure.com' + self._config = StorageImportExportConfiguration(credential, subscription_id, acceptlanguage, **kwargs) + self._client = PipelineClient(base_url=base_url, config=self._config, **kwargs) + + 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.location = LocationOperations( + self._client, self._config, self._serialize, self._deserialize) + self.job = JobOperations( + self._client, self._config, self._serialize, self._deserialize) + self.bit_locker_key = BitLockerKeyOperations( + self._client, self._config, self._serialize, self._deserialize) + self.operation = OperationOperations( + self._client, self._config, self._serialize, self._deserialize) + + def close(self): + # type: () -> None + self._client.close() + + def __enter__(self): + # type: () -> StorageImportExport + self._client.__enter__() + return self + + def __exit__(self, *exc_details): + # type: (Any) -> None + self._client.__exit__(*exc_details) diff --git a/src/import-export/azext_import_export/vendored_sdks/storageimportexport/aio/__init__.py b/src/import-export/azext_import_export/vendored_sdks/storageimportexport/aio/__init__.py new file mode 100644 index 00000000000..56cd3f49059 --- /dev/null +++ b/src/import-export/azext_import_export/vendored_sdks/storageimportexport/aio/__init__.py @@ -0,0 +1,10 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._storage_import_export_async import StorageImportExport +__all__ = ['StorageImportExport'] diff --git a/src/import-export/azext_import_export/vendored_sdks/storageimportexport/aio/_configuration_async.py b/src/import-export/azext_import_export/vendored_sdks/storageimportexport/aio/_configuration_async.py new file mode 100644 index 00000000000..fbab0f10c30 --- /dev/null +++ b/src/import-export/azext_import_export/vendored_sdks/storageimportexport/aio/_configuration_async.py @@ -0,0 +1,62 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import Any, Optional + +from azure.core.configuration import Configuration +from azure.core.pipeline import policies + +VERSION = "unknown" + +class StorageImportExportConfiguration(Configuration): + """Configuration for StorageImportExport + Note that all parameters used to create this instance are saved as instance + attributes. + + :param credential: Credential needed for the client to connect to Azure. + :type credential: azure.core.credentials.TokenCredential + :param subscription_id: The subscription ID for the Azure user. + :type subscription_id: str + :param acceptlanguage: Specifies the preferred language for the response. + :type acceptlanguage: str + """ + + def __init__( + self, + credential: "TokenCredential", + subscription_id: str, + acceptlanguage: Optional[str] = None, + **kwargs: Any + ) -> None: + if credential is None: + raise ValueError("Parameter 'credential' must not be None.") + if subscription_id is None: + raise ValueError("Parameter 'subscription_id' must not be None.") + super(StorageImportExportConfiguration, self).__init__(**kwargs) + + self.credential = credential + self.subscription_id = subscription_id + self.acceptlanguage = acceptlanguage + self.api_version = "2016-11-01" + self._configure(**kwargs) + self.user_agent_policy.add_user_agent('azsdk-python-storageimportexport/{}'.format(VERSION)) + + def _configure( + self, + **kwargs: Any + ) -> None: + self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get('retry_policy') or policies.AsyncRetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get('redirect_policy') or policies.AsyncRedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get('authentication_policy') + if self.credential and not self.authentication_policy: + self.authentication_policy = policies.AsyncBearerTokenCredentialPolicy(self.credential, **kwargs) diff --git a/src/import-export/azext_import_export/vendored_sdks/storageimportexport/aio/_storage_import_export_async.py b/src/import-export/azext_import_export/vendored_sdks/storageimportexport/aio/_storage_import_export_async.py new file mode 100644 index 00000000000..1ecbc055dc1 --- /dev/null +++ b/src/import-export/azext_import_export/vendored_sdks/storageimportexport/aio/_storage_import_export_async.py @@ -0,0 +1,76 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import Any, Optional + +from azure.core import AsyncPipelineClient +from msrest import Deserializer, Serializer + +from ._configuration_async import StorageImportExportConfiguration +from .operations_async import LocationOperations +from .operations_async import JobOperations +from .operations_async import BitLockerKeyOperations +from .operations_async import OperationOperations +from .. import models + + +class StorageImportExport(object): + """The Storage Import/Export Resource Provider API. + + :ivar location: LocationOperations operations + :vartype location: storage_import_export.aio.operations_async.LocationOperations + :ivar job: JobOperations operations + :vartype job: storage_import_export.aio.operations_async.JobOperations + :ivar bit_locker_key: BitLockerKeyOperations operations + :vartype bit_locker_key: storage_import_export.aio.operations_async.BitLockerKeyOperations + :ivar operation: OperationOperations operations + :vartype operation: storage_import_export.aio.operations_async.OperationOperations + :param credential: Credential needed for the client to connect to Azure. + :type credential: azure.core.credentials.TokenCredential + :param subscription_id: The subscription ID for the Azure user. + :type subscription_id: str + :param acceptlanguage: Specifies the preferred language for the response. + :type acceptlanguage: str + :param str base_url: Service URL + """ + + def __init__( + self, + credential: "TokenCredential", + subscription_id: str, + acceptlanguage: Optional[str] = None, + base_url: Optional[str] = None, + **kwargs: Any + ) -> None: + if not base_url: + base_url = 'https://management.azure.com' + self._config = StorageImportExportConfiguration(credential, subscription_id, acceptlanguage, **kwargs) + self._client = AsyncPipelineClient(base_url=base_url, config=self._config, **kwargs) + + 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.location = LocationOperations( + self._client, self._config, self._serialize, self._deserialize) + self.job = JobOperations( + self._client, self._config, self._serialize, self._deserialize) + self.bit_locker_key = BitLockerKeyOperations( + self._client, self._config, self._serialize, self._deserialize) + self.operation = OperationOperations( + self._client, self._config, self._serialize, self._deserialize) + + async def close(self) -> None: + await self._client.close() + + async def __aenter__(self) -> "StorageImportExport": + await self._client.__aenter__() + return self + + async def __aexit__(self, *exc_details) -> None: + await self._client.__aexit__(*exc_details) diff --git a/src/import-export/azext_import_export/vendored_sdks/storageimportexport/aio/operations_async/__init__.py b/src/import-export/azext_import_export/vendored_sdks/storageimportexport/aio/operations_async/__init__.py new file mode 100644 index 00000000000..dcd0228be5a --- /dev/null +++ b/src/import-export/azext_import_export/vendored_sdks/storageimportexport/aio/operations_async/__init__.py @@ -0,0 +1,19 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._location_operations_async import LocationOperations +from ._job_operations_async import JobOperations +from ._bit_locker_key_operations_async import BitLockerKeyOperations +from ._operation_operations_async import OperationOperations + +__all__ = [ + 'LocationOperations', + 'JobOperations', + 'BitLockerKeyOperations', + 'OperationOperations', +] diff --git a/src/import-export/azext_import_export/vendored_sdks/storageimportexport/aio/operations_async/_bit_locker_key_operations_async.py b/src/import-export/azext_import_export/vendored_sdks/storageimportexport/aio/operations_async/_bit_locker_key_operations_async.py new file mode 100644 index 00000000000..fbd966d7f0c --- /dev/null +++ b/src/import-export/azext_import_export/vendored_sdks/storageimportexport/aio/operations_async/_bit_locker_key_operations_async.py @@ -0,0 +1,113 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class BitLockerKeyOperations: + """BitLockerKeyOperations async operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~storage_import_export.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + job_name: str, + resource_group_name: str, + **kwargs + ) -> "models.GetBitLockerKeysResponse": + """Returns the BitLocker Keys for all drives in the specified job. + + :param job_name: The name of the import/export job. + :type job_name: str + :param resource_group_name: The resource group name uniquely identifies the resource group + within the user subscription. + :type resource_group_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: GetBitLockerKeysResponse or the result of cls(response) + :rtype: ~storage_import_export.models.GetBitLockerKeysResponse + :raises: ~storage_import_export.models.ErrorResponseException: + """ + cls: ClsType["models.GetBitLockerKeysResponse"] = kwargs.pop('cls', None ) + error_map = kwargs.pop('error_map', {}) + api_version = "2016-11-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'jobName': self._serialize.url("job_name", job_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters: Dict[str, Any] = {} + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters: Dict[str, Any] = {} + if self._config.acceptlanguage is not None: + header_parameters['Accept-Language'] = self._serialize.header("self._config.acceptlanguage", self._config.acceptlanguage, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('GetBitLockerKeysResponse', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.ErrorResponseException.from_response(response, self._deserialize) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ImportExport/jobs/{jobName}/listBitLockerKeys'} diff --git a/src/import-export/azext_import_export/vendored_sdks/storageimportexport/aio/operations_async/_job_operations_async.py b/src/import-export/azext_import_export/vendored_sdks/storageimportexport/aio/operations_async/_job_operations_async.py new file mode 100644 index 00000000000..890b3908ab6 --- /dev/null +++ b/src/import-export/azext_import_export/vendored_sdks/storageimportexport/aio/operations_async/_job_operations_async.py @@ -0,0 +1,546 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, List, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class JobOperations: + """JobOperations async operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~storage_import_export.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list_by_subscription( + self, + top: Optional[int] = None, + filter: Optional[str] = None, + **kwargs + ) -> "models.ListJobsResponse": + """Returns all active and completed jobs in a subscription. + + :param top: An integer value that specifies how many jobs at most should be returned. The value + cannot exceed 100. + :type top: int + :param filter: Can be used to restrict the results to certain conditions. + :type filter: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ListJobsResponse or the result of cls(response) + :rtype: ~storage_import_export.models.ListJobsResponse + :raises: ~storage_import_export.models.ErrorResponseException: + """ + cls: ClsType["models.ListJobsResponse"] = kwargs.pop('cls', None ) + error_map = kwargs.pop('error_map', {}) + api_version = "2016-11-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_subscription.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters: Dict[str, Any] = {} + if top is not None: + query_parameters['$top'] = self._serialize.query("top", top, 'int') + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters: Dict[str, Any] = {} + if self._config.acceptlanguage is not None: + header_parameters['Accept-Language'] = self._serialize.header("self._config.acceptlanguage", self._config.acceptlanguage, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('ListJobsResponse', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.ErrorResponseException.from_response(response, self._deserialize) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_by_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ImportExport/jobs'} + + def list_by_resource_group( + self, + resource_group_name: str, + top: Optional[int] = None, + filter: Optional[str] = None, + **kwargs + ) -> "models.ListJobsResponse": + """Returns all active and completed jobs in a resource group. + + :param resource_group_name: The resource group name uniquely identifies the resource group + within the user subscription. + :type resource_group_name: str + :param top: An integer value that specifies how many jobs at most should be returned. The value + cannot exceed 100. + :type top: int + :param filter: Can be used to restrict the results to certain conditions. + :type filter: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ListJobsResponse or the result of cls(response) + :rtype: ~storage_import_export.models.ListJobsResponse + :raises: ~storage_import_export.models.ErrorResponseException: + """ + cls: ClsType["models.ListJobsResponse"] = kwargs.pop('cls', None ) + error_map = kwargs.pop('error_map', {}) + api_version = "2016-11-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters: Dict[str, Any] = {} + if top is not None: + query_parameters['$top'] = self._serialize.query("top", top, 'int') + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters: Dict[str, Any] = {} + if self._config.acceptlanguage is not None: + header_parameters['Accept-Language'] = self._serialize.header("self._config.acceptlanguage", self._config.acceptlanguage, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('ListJobsResponse', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.ErrorResponseException.from_response(response, self._deserialize) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ImportExport/jobs'} + + async def get( + self, + job_name: str, + resource_group_name: str, + **kwargs + ) -> "models.JobResponse": + """Gets information about an existing job. + + :param job_name: The name of the import/export job. + :type job_name: str + :param resource_group_name: The resource group name uniquely identifies the resource group + within the user subscription. + :type resource_group_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: JobResponse or the result of cls(response) + :rtype: ~storage_import_export.models.JobResponse + :raises: ~storage_import_export.models.ErrorResponseException: + """ + cls: ClsType["models.JobResponse"] = kwargs.pop('cls', None ) + error_map = kwargs.pop('error_map', {}) + api_version = "2016-11-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'jobName': self._serialize.url("job_name", job_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters: Dict[str, Any] = {} + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters: Dict[str, Any] = {} + if self._config.acceptlanguage is not None: + header_parameters['Accept-Language'] = self._serialize.header("self._config.acceptlanguage", self._config.acceptlanguage, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.ErrorResponseException.from_response(response, self._deserialize) + + deserialized = self._deserialize('JobResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ImportExport/jobs/{jobName}'} + + async def update( + self, + job_name: str, + resource_group_name: str, + tags: Optional["models.UpdateJobParametersTags"] = None, + cancel_requested: Optional[bool] = None, + state: Optional[str] = None, + return_address: Optional["models.ReturnAddress"] = None, + return_shipping: Optional["models.ReturnShipping"] = None, + delivery_package: Optional["models.PackageInfomation"] = None, + log_level: Optional[str] = None, + backup_drive_manifest: Optional[bool] = None, + drive_list: Optional[List["DriveStatus"]] = None, + **kwargs + ) -> "models.JobResponse": + """Updates specific properties of a job. You can call this operation to notify the Import/Export service that the hard drives comprising the import or export job have been shipped to the Microsoft data center. It can also be used to cancel an existing job. + + :param job_name: The name of the import/export job. + :type job_name: str + :param resource_group_name: The resource group name uniquely identifies the resource group + within the user subscription. + :type resource_group_name: str + :param tags: Specifies the tags that will be assigned to the job. + :type tags: ~storage_import_export.models.UpdateJobParametersTags + :param cancel_requested: If specified, the value must be true. The service will attempt to + cancel the job. + :type cancel_requested: bool + :param state: If specified, the value must be Shipping, which tells the Import/Export service + that the package for the job has been shipped. The ReturnAddress and DeliveryPackage properties + must have been set either in this request or in a previous request, otherwise the request will + fail. + :type state: str + :param return_address: Specifies the return address information for the job. + :type return_address: ~storage_import_export.models.ReturnAddress + :param return_shipping: Specifies the return carrier and customer's account with the carrier. + :type return_shipping: ~storage_import_export.models.ReturnShipping + :param delivery_package: Contains information about the package being shipped by the customer + to the Microsoft data center. + :type delivery_package: ~storage_import_export.models.PackageInfomation + :param log_level: Indicates whether error logging or verbose logging is enabled. + :type log_level: str + :param backup_drive_manifest: Indicates whether the manifest files on the drives should be + copied to block blobs. + :type backup_drive_manifest: bool + :param drive_list: List of drives that comprise the job. + :type drive_list: list[~storage_import_export.models.DriveStatus] + :keyword callable cls: A custom type or function that will be passed the direct response + :return: JobResponse or the result of cls(response) + :rtype: ~storage_import_export.models.JobResponse + :raises: ~storage_import_export.models.ErrorResponseException: + """ + cls: ClsType["models.JobResponse"] = kwargs.pop('cls', None ) + error_map = kwargs.pop('error_map', {}) + + body = models.UpdateJobParameters(tags=tags, cancel_requested=cancel_requested, state=state, return_address=return_address, return_shipping=return_shipping, delivery_package=delivery_package, log_level=log_level, backup_drive_manifest=backup_drive_manifest, drive_list=drive_list) + api_version = "2016-11-01" + + # Construct URL + url = self.update.metadata['url'] + path_format_arguments = { + 'jobName': self._serialize.url("job_name", job_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters: Dict[str, Any] = {} + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters: Dict[str, Any] = {} + if self._config.acceptlanguage is not None: + header_parameters['Accept-Language'] = self._serialize.header("self._config.acceptlanguage", self._config.acceptlanguage, 'str') + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json' + + # Construct body + body_content = self._serialize.body(body, 'UpdateJobParameters') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.ErrorResponseException.from_response(response, self._deserialize) + + deserialized = self._deserialize('JobResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ImportExport/jobs/{jobName}'} + + async def create( + self, + job_name: str, + resource_group_name: str, + client_tenant_id: Optional[str] = None, + location: Optional[str] = None, + tags: Optional["models.PutJobParametersTags"] = None, + storage_account_id: Optional[str] = None, + job_type: Optional[str] = None, + return_address: Optional["models.ReturnAddress"] = None, + return_shipping: Optional["models.ReturnShipping"] = None, + shipping_information: Optional["models.ShippingInformation"] = None, + delivery_package: Optional["models.PackageInfomation"] = None, + return_package: Optional["models.PackageInfomation"] = None, + diagnostics_path: Optional[str] = None, + log_level: Optional[str] = None, + backup_drive_manifest: Optional[bool] = None, + state: Optional[str] = None, + cancel_requested: Optional[bool] = None, + percent_complete: Optional[int] = None, + incomplete_blob_list_uri: Optional[str] = None, + drive_list: Optional[List["DriveStatus"]] = None, + export: Optional["models.Export"] = None, + provisioning_state: Optional[str] = None, + **kwargs + ) -> "models.JobResponse": + """Creates a new job or updates an existing job in the specified subscription. + + :param job_name: The name of the import/export job. + :type job_name: str + :param resource_group_name: The resource group name uniquely identifies the resource group + within the user subscription. + :type resource_group_name: str + :param client_tenant_id: The tenant ID of the client making the request. + :type client_tenant_id: str + :param location: Specifies the supported Azure location where the job should be created. + :type location: str + :param tags: Specifies the tags that will be assigned to the job. + :type tags: ~storage_import_export.models.PutJobParametersTags + :param storage_account_id: The resource identifier of the storage account where data will be + imported to or exported from. + :type storage_account_id: str + :param job_type: The type of job. + :type job_type: str + :param return_address: Specifies the return address information for the job. + :type return_address: ~storage_import_export.models.ReturnAddress + :param return_shipping: Specifies the return carrier and customer's account with the carrier. + :type return_shipping: ~storage_import_export.models.ReturnShipping + :param shipping_information: Contains information about the Microsoft datacenter to which the + drives should be shipped. + :type shipping_information: ~storage_import_export.models.ShippingInformation + :param delivery_package: Contains information about the package being shipped by the customer + to the Microsoft data center. + :type delivery_package: ~storage_import_export.models.PackageInfomation + :param return_package: Contains information about the package being shipped by the customer to + the Microsoft data center. + :type return_package: ~storage_import_export.models.PackageInfomation + :param diagnostics_path: The virtual blob directory to which the copy logs and backups of drive + manifest files (if enabled) will be stored. + :type diagnostics_path: str + :param log_level: Default value is Error. Indicates whether error logging or verbose logging + will be enabled. + :type log_level: str + :param backup_drive_manifest: Default value is false. Indicates whether the manifest files on + the drives should be copied to block blobs. + :type backup_drive_manifest: bool + :param state: Current state of the job. + :type state: str + :param cancel_requested: Indicates whether a request has been submitted to cancel the job. + :type cancel_requested: bool + :param percent_complete: Overall percentage completed for the job. + :type percent_complete: int + :param incomplete_blob_list_uri: A blob path that points to a block blob containing a list of + blob names that were not exported due to insufficient drive space. If all blobs were exported + successfully, then this element is not included in the response. + :type incomplete_blob_list_uri: str + :param drive_list: List of up to ten drives that comprise the job. The drive list is a required + element for an import job; it is not specified for export jobs. + :type drive_list: list[~storage_import_export.models.DriveStatus] + :param export: A property containing information about the blobs to be exported for an export + job. This property is required for export jobs, but must not be specified for import jobs. + :type export: ~storage_import_export.models.Export + :param provisioning_state: Specifies the provisioning state of the job. + :type provisioning_state: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: JobResponse or JobResponse or the result of cls(response) + :rtype: ~storage_import_export.models.JobResponse or ~storage_import_export.models.JobResponse + :raises: ~storage_import_export.models.ErrorResponseException: + """ + cls: ClsType["models.JobResponse"] = kwargs.pop('cls', None ) + error_map = kwargs.pop('error_map', {}) + + body = models.PutJobParameters(location=location, tags=tags, storage_account_id=storage_account_id, job_type=job_type, return_address=return_address, return_shipping=return_shipping, shipping_information=shipping_information, delivery_package=delivery_package, return_package=return_package, diagnostics_path=diagnostics_path, log_level=log_level, backup_drive_manifest=backup_drive_manifest, state=state, cancel_requested=cancel_requested, percent_complete=percent_complete, incomplete_blob_list_uri=incomplete_blob_list_uri, drive_list=drive_list, export=export, provisioning_state=provisioning_state) + api_version = "2016-11-01" + + # Construct URL + url = self.create.metadata['url'] + path_format_arguments = { + 'jobName': self._serialize.url("job_name", job_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters: Dict[str, Any] = {} + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters: Dict[str, Any] = {} + if self._config.acceptlanguage is not None: + header_parameters['Accept-Language'] = self._serialize.header("self._config.acceptlanguage", self._config.acceptlanguage, 'str') + if client_tenant_id is not None: + header_parameters['x-ms-client-tenant-id'] = self._serialize.header("client_tenant_id", client_tenant_id, 'str') + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json' + + # Construct body + body_content = self._serialize.body(body, 'PutJobParameters') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.ErrorResponseException.from_response(response, self._deserialize) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('JobResponse', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('JobResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ImportExport/jobs/{jobName}'} + + async def delete( + self, + job_name: str, + resource_group_name: str, + **kwargs + ) -> None: + """Deletes an existing job. Only jobs in the Creating or Completed states can be deleted. + + :param job_name: The name of the import/export job. + :type job_name: str + :param resource_group_name: The resource group name uniquely identifies the resource group + within the user subscription. + :type resource_group_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~storage_import_export.models.ErrorResponseException: + """ + cls: ClsType[None] = kwargs.pop('cls', None ) + error_map = kwargs.pop('error_map', {}) + api_version = "2016-11-01" + + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'jobName': self._serialize.url("job_name", job_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters: Dict[str, Any] = {} + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters: Dict[str, Any] = {} + if self._config.acceptlanguage is not None: + header_parameters['Accept-Language'] = self._serialize.header("self._config.acceptlanguage", self._config.acceptlanguage, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.ErrorResponseException.from_response(response, self._deserialize) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ImportExport/jobs/{jobName}'} diff --git a/src/import-export/azext_import_export/vendored_sdks/storageimportexport/aio/operations_async/_location_operations_async.py b/src/import-export/azext_import_export/vendored_sdks/storageimportexport/aio/operations_async/_location_operations_async.py new file mode 100644 index 00000000000..26e0ecd3617 --- /dev/null +++ b/src/import-export/azext_import_export/vendored_sdks/storageimportexport/aio/operations_async/_location_operations_async.py @@ -0,0 +1,152 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class LocationOperations: + """LocationOperations async operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~storage_import_export.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + **kwargs + ) -> "models.LocationsResponse": + """Returns a list of locations to which you can ship the disks associated with an import or export job. A location is a Microsoft data center region. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: LocationsResponse or the result of cls(response) + :rtype: ~storage_import_export.models.LocationsResponse + :raises: ~storage_import_export.models.ErrorResponseException: + """ + cls: ClsType["models.LocationsResponse"] = kwargs.pop('cls', None ) + error_map = kwargs.pop('error_map', {}) + api_version = "2016-11-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + else: + url = next_link + + # Construct parameters + query_parameters: Dict[str, Any] = {} + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters: Dict[str, Any] = {} + if self._config.acceptlanguage is not None: + header_parameters['Accept-Language'] = self._serialize.header("self._config.acceptlanguage", self._config.acceptlanguage, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('LocationsResponse', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.ErrorResponseException.from_response(response, self._deserialize) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/providers/Microsoft.ImportExport/locations'} + + async def get( + self, + location_name: str, + **kwargs + ) -> "models.Location": + """Returns the details about a location to which you can ship the disks associated with an import or export job. A location is an Azure region. + + :param location_name: The name of the location. For example, West US or westus. + :type location_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Location or the result of cls(response) + :rtype: ~storage_import_export.models.Location + :raises: ~storage_import_export.models.ErrorResponseException: + """ + cls: ClsType["models.Location"] = kwargs.pop('cls', None ) + error_map = kwargs.pop('error_map', {}) + api_version = "2016-11-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'locationName': self._serialize.url("location_name", location_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters: Dict[str, Any] = {} + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters: Dict[str, Any] = {} + if self._config.acceptlanguage is not None: + header_parameters['Accept-Language'] = self._serialize.header("self._config.acceptlanguage", self._config.acceptlanguage, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.ErrorResponseException.from_response(response, self._deserialize) + + deserialized = self._deserialize('Location', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/providers/Microsoft.ImportExport/locations/{locationName}'} diff --git a/src/import-export/azext_import_export/vendored_sdks/storageimportexport/aio/operations_async/_operation_operations_async.py b/src/import-export/azext_import_export/vendored_sdks/storageimportexport/aio/operations_async/_operation_operations_async.py new file mode 100644 index 00000000000..41528257a21 --- /dev/null +++ b/src/import-export/azext_import_export/vendored_sdks/storageimportexport/aio/operations_async/_operation_operations_async.py @@ -0,0 +1,100 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class OperationOperations: + """OperationOperations async operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~storage_import_export.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + **kwargs + ) -> "models.ListOperationsResponse": + """Returns the list of operations supported by the import/export resource provider. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ListOperationsResponse or the result of cls(response) + :rtype: ~storage_import_export.models.ListOperationsResponse + :raises: ~storage_import_export.models.ErrorResponseException: + """ + cls: ClsType["models.ListOperationsResponse"] = kwargs.pop('cls', None ) + error_map = kwargs.pop('error_map', {}) + api_version = "2016-11-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + else: + url = next_link + + # Construct parameters + query_parameters: Dict[str, Any] = {} + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters: Dict[str, Any] = {} + if self._config.acceptlanguage is not None: + header_parameters['Accept-Language'] = self._serialize.header("self._config.acceptlanguage", self._config.acceptlanguage, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('ListOperationsResponse', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.ErrorResponseException.from_response(response, self._deserialize) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/providers/Microsoft.ImportExport/operations'} diff --git a/src/import-export/azext_import_export/vendored_sdks/storageimportexport/models/__init__.py b/src/import-export/azext_import_export/vendored_sdks/storageimportexport/models/__init__.py new file mode 100644 index 00000000000..84af98470af --- /dev/null +++ b/src/import-export/azext_import_export/vendored_sdks/storageimportexport/models/__init__.py @@ -0,0 +1,101 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +try: + from ._models_py3 import DriveBitLockerKey + from ._models_py3 import DriveStatus + from ._models_py3 import ErrorResponse, ErrorResponseException + from ._models_py3 import ErrorResponseError + from ._models_py3 import ErrorResponseErrorDetailsItem + from ._models_py3 import ErrorResponseErrorInnererror + from ._models_py3 import Export + from ._models_py3 import ExportBlobList + from ._models_py3 import GetBitLockerKeysResponse + from ._models_py3 import JobDetails + from ._models_py3 import JobResponse + from ._models_py3 import JobResponseTags + from ._models_py3 import ListJobsResponse + from ._models_py3 import ListOperationsResponse + from ._models_py3 import Location + from ._models_py3 import LocationProperties + from ._models_py3 import LocationsResponse + from ._models_py3 import Operation + from ._models_py3 import OperationDisplay + from ._models_py3 import PackageInfomation + from ._models_py3 import PutJobParameters + from ._models_py3 import PutJobParametersTags + from ._models_py3 import ReturnAddress + from ._models_py3 import ReturnShipping + from ._models_py3 import ShippingInformation + from ._models_py3 import UpdateJobParameters + from ._models_py3 import UpdateJobParametersProperties + from ._models_py3 import UpdateJobParametersTags +except (SyntaxError, ImportError): + from ._models import DriveBitLockerKey # type: ignore + from ._models import DriveStatus # type: ignore + from ._models import ErrorResponse, ErrorResponseException # type: ignore + from ._models import ErrorResponseError # type: ignore + from ._models import ErrorResponseErrorDetailsItem # type: ignore + from ._models import ErrorResponseErrorInnererror # type: ignore + from ._models import Export # type: ignore + from ._models import ExportBlobList # type: ignore + from ._models import GetBitLockerKeysResponse # type: ignore + from ._models import JobDetails # type: ignore + from ._models import JobResponse # type: ignore + from ._models import JobResponseTags # type: ignore + from ._models import ListJobsResponse # type: ignore + from ._models import ListOperationsResponse # type: ignore + from ._models import Location # type: ignore + from ._models import LocationProperties # type: ignore + from ._models import LocationsResponse # type: ignore + from ._models import Operation # type: ignore + from ._models import OperationDisplay # type: ignore + from ._models import PackageInfomation # type: ignore + from ._models import PutJobParameters # type: ignore + from ._models import PutJobParametersTags # type: ignore + from ._models import ReturnAddress # type: ignore + from ._models import ReturnShipping # type: ignore + from ._models import ShippingInformation # type: ignore + from ._models import UpdateJobParameters # type: ignore + from ._models import UpdateJobParametersProperties # type: ignore + from ._models import UpdateJobParametersTags # type: ignore +from ._storage_import_export_enums import ( + DriveState, +) + +__all__ = [ + 'DriveBitLockerKey', + 'DriveStatus', + 'ErrorResponse', 'ErrorResponseException', + 'ErrorResponseError', + 'ErrorResponseErrorDetailsItem', + 'ErrorResponseErrorInnererror', + 'Export', + 'ExportBlobList', + 'GetBitLockerKeysResponse', + 'JobDetails', + 'JobResponse', + 'JobResponseTags', + 'ListJobsResponse', + 'ListOperationsResponse', + 'Location', + 'LocationProperties', + 'LocationsResponse', + 'Operation', + 'OperationDisplay', + 'PackageInfomation', + 'PutJobParameters', + 'PutJobParametersTags', + 'ReturnAddress', + 'ReturnShipping', + 'ShippingInformation', + 'UpdateJobParameters', + 'UpdateJobParametersProperties', + 'UpdateJobParametersTags', + 'DriveState', +] diff --git a/src/import-export/azext_import_export/vendored_sdks/storageimportexport/models/_models.py b/src/import-export/azext_import_export/vendored_sdks/storageimportexport/models/_models.py new file mode 100644 index 00000000000..065c998a993 --- /dev/null +++ b/src/import-export/azext_import_export/vendored_sdks/storageimportexport/models/_models.py @@ -0,0 +1,1175 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from azure.core.exceptions import HttpResponseError +import msrest.serialization + + +class DriveBitLockerKey(msrest.serialization.Model): + """BitLocker recovery key or password to the specified drive. + + :param bit_locker_key: BitLocker recovery key or password. + :type bit_locker_key: str + :param drive_id: Drive ID. + :type drive_id: str + """ + + _attribute_map = { + 'bit_locker_key': {'key': 'bitLockerKey', 'type': 'str'}, + 'drive_id': {'key': 'driveId', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(DriveBitLockerKey, self).__init__(**kwargs) + self.bit_locker_key = kwargs.get('bit_locker_key', None) + self.drive_id = kwargs.get('drive_id', None) + + +class DriveStatus(msrest.serialization.Model): + """Provides information about the drive's status. + + :param drive_id: The drive's hardware serial number, without spaces. + :type drive_id: str + :param bit_locker_key: The BitLocker key used to encrypt the drive. + :type bit_locker_key: str + :param manifest_file: The relative path of the manifest file on the drive. + :type manifest_file: str + :param manifest_hash: The Base16-encoded MD5 hash of the manifest file on the drive. + :type manifest_hash: str + :param drive_header_hash: The drive header hash value. + :type drive_header_hash: str + :param state: The drive's current state. Possible values include: 'Specified', 'Received', + 'NeverReceived', 'Transferring', 'Completed', 'CompletedMoreInfo', 'ShippedBack'. + :type state: str or ~storage_import_export.models.DriveState + :param copy_status: Detailed status about the data transfer process. This field is not returned + in the response until the drive is in the Transferring state. + :type copy_status: str + :param percent_complete: Percentage completed for the drive. + :type percent_complete: int + :param verbose_log_uri: A URI that points to the blob containing the verbose log for the data + transfer operation. + :type verbose_log_uri: str + :param error_log_uri: A URI that points to the blob containing the error log for the data + transfer operation. + :type error_log_uri: str + :param manifest_uri: A URI that points to the blob containing the drive manifest file. + :type manifest_uri: str + :param bytes_succeeded: Bytes successfully transferred for the drive. + :type bytes_succeeded: long + """ + + _attribute_map = { + 'drive_id': {'key': 'driveId', 'type': 'str'}, + 'bit_locker_key': {'key': 'bitLockerKey', 'type': 'str'}, + 'manifest_file': {'key': 'manifestFile', 'type': 'str'}, + 'manifest_hash': {'key': 'manifestHash', 'type': 'str'}, + 'drive_header_hash': {'key': 'driveHeaderHash', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + 'copy_status': {'key': 'copyStatus', 'type': 'str'}, + 'percent_complete': {'key': 'percentComplete', 'type': 'int'}, + 'verbose_log_uri': {'key': 'verboseLogUri', 'type': 'str'}, + 'error_log_uri': {'key': 'errorLogUri', 'type': 'str'}, + 'manifest_uri': {'key': 'manifestUri', 'type': 'str'}, + 'bytes_succeeded': {'key': 'bytesSucceeded', 'type': 'long'}, + } + + def __init__( + self, + **kwargs + ): + super(DriveStatus, self).__init__(**kwargs) + self.drive_id = kwargs.get('drive_id', None) + self.bit_locker_key = kwargs.get('bit_locker_key', None) + self.manifest_file = kwargs.get('manifest_file', None) + self.manifest_hash = kwargs.get('manifest_hash', None) + self.drive_header_hash = kwargs.get('drive_header_hash', None) + self.state = kwargs.get('state', None) + self.copy_status = kwargs.get('copy_status', None) + self.percent_complete = kwargs.get('percent_complete', None) + self.verbose_log_uri = kwargs.get('verbose_log_uri', None) + self.error_log_uri = kwargs.get('error_log_uri', None) + self.manifest_uri = kwargs.get('manifest_uri', None) + self.bytes_succeeded = kwargs.get('bytes_succeeded', None) + + +class ErrorResponseException(HttpResponseError): + """Server responded with exception of type: 'ErrorResponse'. + + :param response: Server response to be deserialized. + :param error_model: A deserialized model of the response body as model. + """ + + def __init__(self, response, error_model): + self.error = error_model + super(ErrorResponseException, self).__init__(response=response, error_model=error_model) + + @classmethod + def from_response(cls, response, deserialize): + """Deserialize this response as this exception, or a subclass of this exception. + + :param response: Server response to be deserialized. + :param deserialize: A deserializer + """ + model_name = 'ErrorResponse' + error = deserialize(model_name, response) + if error is None: + error = deserialize.dependencies[model_name]() + return error._EXCEPTION_TYPE(response, error) + + +class ErrorResponse(msrest.serialization.Model): + """Response when errors occurred. + + :param code: Provides information about the error code. + :type code: str + :param message: Provides information about the error message. + :type message: str + :param target: Provides information about the error target. + :type target: str + :param details: Describes the error details if present. + :type details: list[~storage_import_export.models.ErrorResponseErrorDetailsItem] + :param innererror: Inner error object if present. + :type innererror: ~storage_import_export.models.ErrorResponseErrorInnererror + """ + _EXCEPTION_TYPE = ErrorResponseException + + _attribute_map = { + 'code': {'key': 'error.code', 'type': 'str'}, + 'message': {'key': 'error.message', 'type': 'str'}, + 'target': {'key': 'error.target', 'type': 'str'}, + 'details': {'key': 'error.details', 'type': '[ErrorResponseErrorDetailsItem]'}, + 'innererror': {'key': 'error.innererror', 'type': 'ErrorResponseErrorInnererror'}, + } + + def __init__( + self, + **kwargs + ): + super(ErrorResponse, self).__init__(**kwargs) + self.code = kwargs.get('code', None) + self.message = kwargs.get('message', None) + self.target = kwargs.get('target', None) + self.details = kwargs.get('details', None) + self.innererror = kwargs.get('innererror', None) + + +class ErrorResponseError(msrest.serialization.Model): + """Describes the error information. + + :param code: Provides information about the error code. + :type code: str + :param message: Provides information about the error message. + :type message: str + :param target: Provides information about the error target. + :type target: str + :param details: Describes the error details if present. + :type details: list[~storage_import_export.models.ErrorResponseErrorDetailsItem] + :param innererror: Inner error object if present. + :type innererror: ~storage_import_export.models.ErrorResponseErrorInnererror + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[ErrorResponseErrorDetailsItem]'}, + 'innererror': {'key': 'innererror', 'type': 'ErrorResponseErrorInnererror'}, + } + + def __init__( + self, + **kwargs + ): + super(ErrorResponseError, self).__init__(**kwargs) + self.code = kwargs.get('code', None) + self.message = kwargs.get('message', None) + self.target = kwargs.get('target', None) + self.details = kwargs.get('details', None) + self.innererror = kwargs.get('innererror', None) + + +class ErrorResponseErrorDetailsItem(msrest.serialization.Model): + """ErrorResponseErrorDetailsItem. + + :param code: Provides information about the error code. + :type code: str + :param target: Provides information about the error target. + :type target: str + :param message: Provides information about the error message. + :type message: str + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ErrorResponseErrorDetailsItem, self).__init__(**kwargs) + self.code = kwargs.get('code', None) + self.target = kwargs.get('target', None) + self.message = kwargs.get('message', None) + + +class ErrorResponseErrorInnererror(msrest.serialization.Model): + """Inner error object if present. + + """ + + _attribute_map = { + } + + def __init__( + self, + **kwargs + ): + super(ErrorResponseErrorInnererror, self).__init__(**kwargs) + + +class Export(msrest.serialization.Model): + """A property containing information about the blobs to be exported for an export job. This property is required for export jobs, but must not be specified for import jobs. + + :param blob_listblob_path: The relative URI to the block blob that contains the list of blob + paths or blob path prefixes as defined above, beginning with the container name. If the blob is + in root container, the URI must begin with $root. + :type blob_listblob_path: str + :param blob_path: A collection of blob-path strings. + :type blob_path: list[str] + :param blob_path_prefix: A collection of blob-prefix strings. + :type blob_path_prefix: list[str] + """ + + _attribute_map = { + 'blob_listblob_path': {'key': 'blobListblobPath', 'type': 'str'}, + 'blob_path': {'key': 'blobList.blobPath', 'type': '[str]'}, + 'blob_path_prefix': {'key': 'blobList.blobPathPrefix', 'type': '[str]'}, + } + + def __init__( + self, + **kwargs + ): + super(Export, self).__init__(**kwargs) + self.blob_listblob_path = kwargs.get('blob_listblob_path', None) + self.blob_path = kwargs.get('blob_path', None) + self.blob_path_prefix = kwargs.get('blob_path_prefix', None) + + +class ExportBlobList(msrest.serialization.Model): + """A list of the blobs to be exported. + + :param blob_path: A collection of blob-path strings. + :type blob_path: list[str] + :param blob_path_prefix: A collection of blob-prefix strings. + :type blob_path_prefix: list[str] + """ + + _attribute_map = { + 'blob_path': {'key': 'blobPath', 'type': '[str]'}, + 'blob_path_prefix': {'key': 'blobPathPrefix', 'type': '[str]'}, + } + + def __init__( + self, + **kwargs + ): + super(ExportBlobList, self).__init__(**kwargs) + self.blob_path = kwargs.get('blob_path', None) + self.blob_path_prefix = kwargs.get('blob_path_prefix', None) + + +class GetBitLockerKeysResponse(msrest.serialization.Model): + """GetBitLockerKeys response. + + :param value: drive status. + :type value: list[~storage_import_export.models.DriveBitLockerKey] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[DriveBitLockerKey]'}, + } + + def __init__( + self, + **kwargs + ): + super(GetBitLockerKeysResponse, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + + +class JobDetails(msrest.serialization.Model): + """Specifies the job properties. + + :param storage_account_id: The resource identifier of the storage account where data will be + imported to or exported from. + :type storage_account_id: str + :param job_type: The type of job. + :type job_type: str + :param return_address: Specifies the return address information for the job. + :type return_address: ~storage_import_export.models.ReturnAddress + :param return_shipping: Specifies the return carrier and customer's account with the carrier. + :type return_shipping: ~storage_import_export.models.ReturnShipping + :param shipping_information: Contains information about the Microsoft datacenter to which the + drives should be shipped. + :type shipping_information: ~storage_import_export.models.ShippingInformation + :param delivery_package: Contains information about the package being shipped by the customer + to the Microsoft data center. + :type delivery_package: ~storage_import_export.models.PackageInfomation + :param return_package: Contains information about the package being shipped by the customer to + the Microsoft data center. + :type return_package: ~storage_import_export.models.PackageInfomation + :param diagnostics_path: The virtual blob directory to which the copy logs and backups of drive + manifest files (if enabled) will be stored. + :type diagnostics_path: str + :param log_level: Default value is Error. Indicates whether error logging or verbose logging + will be enabled. + :type log_level: str + :param backup_drive_manifest: Default value is false. Indicates whether the manifest files on + the drives should be copied to block blobs. + :type backup_drive_manifest: bool + :param state: Current state of the job. + :type state: str + :param cancel_requested: Indicates whether a request has been submitted to cancel the job. + :type cancel_requested: bool + :param percent_complete: Overall percentage completed for the job. + :type percent_complete: int + :param incomplete_blob_list_uri: A blob path that points to a block blob containing a list of + blob names that were not exported due to insufficient drive space. If all blobs were exported + successfully, then this element is not included in the response. + :type incomplete_blob_list_uri: str + :param drive_list: List of up to ten drives that comprise the job. The drive list is a required + element for an import job; it is not specified for export jobs. + :type drive_list: list[~storage_import_export.models.DriveStatus] + :param export: A property containing information about the blobs to be exported for an export + job. This property is required for export jobs, but must not be specified for import jobs. + :type export: ~storage_import_export.models.Export + :param provisioning_state: Specifies the provisioning state of the job. + :type provisioning_state: str + """ + + _attribute_map = { + 'storage_account_id': {'key': 'storageAccountId', 'type': 'str'}, + 'job_type': {'key': 'jobType', 'type': 'str'}, + 'return_address': {'key': 'returnAddress', 'type': 'ReturnAddress'}, + 'return_shipping': {'key': 'returnShipping', 'type': 'ReturnShipping'}, + 'shipping_information': {'key': 'shippingInformation', 'type': 'ShippingInformation'}, + 'delivery_package': {'key': 'deliveryPackage', 'type': 'PackageInfomation'}, + 'return_package': {'key': 'returnPackage', 'type': 'PackageInfomation'}, + 'diagnostics_path': {'key': 'diagnosticsPath', 'type': 'str'}, + 'log_level': {'key': 'logLevel', 'type': 'str'}, + 'backup_drive_manifest': {'key': 'backupDriveManifest', 'type': 'bool'}, + 'state': {'key': 'state', 'type': 'str'}, + 'cancel_requested': {'key': 'cancelRequested', 'type': 'bool'}, + 'percent_complete': {'key': 'percentComplete', 'type': 'int'}, + 'incomplete_blob_list_uri': {'key': 'incompleteBlobListUri', 'type': 'str'}, + 'drive_list': {'key': 'driveList', 'type': '[DriveStatus]'}, + 'export': {'key': 'export', 'type': 'Export'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(JobDetails, self).__init__(**kwargs) + self.storage_account_id = kwargs.get('storage_account_id', None) + self.job_type = kwargs.get('job_type', None) + self.return_address = kwargs.get('return_address', None) + self.return_shipping = kwargs.get('return_shipping', None) + self.shipping_information = kwargs.get('shipping_information', None) + self.delivery_package = kwargs.get('delivery_package', None) + self.return_package = kwargs.get('return_package', None) + self.diagnostics_path = kwargs.get('diagnostics_path', None) + self.log_level = kwargs.get('log_level', None) + self.backup_drive_manifest = kwargs.get('backup_drive_manifest', None) + self.state = kwargs.get('state', None) + self.cancel_requested = kwargs.get('cancel_requested', None) + self.percent_complete = kwargs.get('percent_complete', None) + self.incomplete_blob_list_uri = kwargs.get('incomplete_blob_list_uri', None) + self.drive_list = kwargs.get('drive_list', None) + self.export = kwargs.get('export', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + + +class JobResponse(msrest.serialization.Model): + """Contains the job information. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Specifies the resource identifier of the job. + :vartype id: str + :ivar name: Specifies the name of the job. + :vartype name: str + :ivar type: Specifies the type of the job resource. + :vartype type: str + :param location: Specifies the Azure location where the job is created. + :type location: str + :param tags: A set of tags. Specifies the tags that are assigned to the job. + :type tags: ~storage_import_export.models.JobResponseTags + :param properties: Specifies the job properties. + :type properties: ~storage_import_export.models.JobDetails + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': 'JobResponseTags'}, + 'properties': {'key': 'properties', 'type': 'JobDetails'}, + } + + def __init__( + self, + **kwargs + ): + super(JobResponse, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.location = kwargs.get('location', None) + self.tags = kwargs.get('tags', None) + self.properties = kwargs.get('properties', None) + + +class JobResponseTags(msrest.serialization.Model): + """Specifies the tags that are assigned to the job. + + """ + + _attribute_map = { + } + + def __init__( + self, + **kwargs + ): + super(JobResponseTags, self).__init__(**kwargs) + + +class ListJobsResponse(msrest.serialization.Model): + """List jobs response. + + :param next_link: link to next batch of jobs. + :type next_link: str + :param value: Job list. + :type value: list[~storage_import_export.models.JobResponse] + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[JobResponse]'}, + } + + def __init__( + self, + **kwargs + ): + super(ListJobsResponse, self).__init__(**kwargs) + self.next_link = kwargs.get('next_link', None) + self.value = kwargs.get('value', None) + + +class ListOperationsResponse(msrest.serialization.Model): + """List operations response. + + :param value: operations. + :type value: list[~storage_import_export.models.Operation] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[Operation]'}, + } + + def __init__( + self, + **kwargs + ): + super(ListOperationsResponse, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + + +class Location(msrest.serialization.Model): + """Provides information about an Azure data center location. + + :param id: Specifies the resource identifier of the location. + :type id: str + :param name: Specifies the name of the location. Use List Locations to get all supported + locations. + :type name: str + :param type: Specifies the type of the location. + :type type: str + :param recipient_name: The recipient name to use when shipping the drives to the Azure data + center. + :type recipient_name: str + :param street_address1: The first line of the street address to use when shipping the drives to + the Azure data center. + :type street_address1: str + :param street_address2: The first line of the street address to use when shipping the drives to + the Azure data center. + :type street_address2: str + :param city: The city name to use when shipping the drives to the Azure data center. + :type city: str + :param state_or_province: The state or province to use when shipping the drives to the Azure + data center. + :type state_or_province: str + :param postal_code: The postal code to use when shipping the drives to the Azure data center. + :type postal_code: str + :param country_or_region: The country or region to use when shipping the drives to the Azure + data center. + :type country_or_region: str + :param phone: The phone number for the Azure data center. + :type phone: str + :param supported_carriers: A list of carriers that are supported at this location. + :type supported_carriers: list[str] + :param alternate_locations: A list of location IDs that should be used to ship shipping drives + to for jobs created against the current location. If the current location is active, it will be + part of the list. If it is temporarily closed due to maintenance, this list may contain other + locations. + :type alternate_locations: list[str] + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'recipient_name': {'key': 'properties.recipientName', 'type': 'str'}, + 'street_address1': {'key': 'properties.streetAddress1', 'type': 'str'}, + 'street_address2': {'key': 'properties.streetAddress2', 'type': 'str'}, + 'city': {'key': 'properties.city', 'type': 'str'}, + 'state_or_province': {'key': 'properties.stateOrProvince', 'type': 'str'}, + 'postal_code': {'key': 'properties.postalCode', 'type': 'str'}, + 'country_or_region': {'key': 'properties.countryOrRegion', 'type': 'str'}, + 'phone': {'key': 'properties.phone', 'type': 'str'}, + 'supported_carriers': {'key': 'properties.supportedCarriers', 'type': '[str]'}, + 'alternate_locations': {'key': 'properties.alternateLocations', 'type': '[str]'}, + } + + def __init__( + self, + **kwargs + ): + super(Location, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.name = kwargs.get('name', None) + self.type = kwargs.get('type', None) + self.recipient_name = kwargs.get('recipient_name', None) + self.street_address1 = kwargs.get('street_address1', None) + self.street_address2 = kwargs.get('street_address2', None) + self.city = kwargs.get('city', None) + self.state_or_province = kwargs.get('state_or_province', None) + self.postal_code = kwargs.get('postal_code', None) + self.country_or_region = kwargs.get('country_or_region', None) + self.phone = kwargs.get('phone', None) + self.supported_carriers = kwargs.get('supported_carriers', None) + self.alternate_locations = kwargs.get('alternate_locations', None) + + +class LocationProperties(msrest.serialization.Model): + """location properties. + + :param recipient_name: The recipient name to use when shipping the drives to the Azure data + center. + :type recipient_name: str + :param street_address1: The first line of the street address to use when shipping the drives to + the Azure data center. + :type street_address1: str + :param street_address2: The first line of the street address to use when shipping the drives to + the Azure data center. + :type street_address2: str + :param city: The city name to use when shipping the drives to the Azure data center. + :type city: str + :param state_or_province: The state or province to use when shipping the drives to the Azure + data center. + :type state_or_province: str + :param postal_code: The postal code to use when shipping the drives to the Azure data center. + :type postal_code: str + :param country_or_region: The country or region to use when shipping the drives to the Azure + data center. + :type country_or_region: str + :param phone: The phone number for the Azure data center. + :type phone: str + :param supported_carriers: A list of carriers that are supported at this location. + :type supported_carriers: list[str] + :param alternate_locations: A list of location IDs that should be used to ship shipping drives + to for jobs created against the current location. If the current location is active, it will be + part of the list. If it is temporarily closed due to maintenance, this list may contain other + locations. + :type alternate_locations: list[str] + """ + + _attribute_map = { + 'recipient_name': {'key': 'recipientName', 'type': 'str'}, + 'street_address1': {'key': 'streetAddress1', 'type': 'str'}, + 'street_address2': {'key': 'streetAddress2', 'type': 'str'}, + 'city': {'key': 'city', 'type': 'str'}, + 'state_or_province': {'key': 'stateOrProvince', 'type': 'str'}, + 'postal_code': {'key': 'postalCode', 'type': 'str'}, + 'country_or_region': {'key': 'countryOrRegion', 'type': 'str'}, + 'phone': {'key': 'phone', 'type': 'str'}, + 'supported_carriers': {'key': 'supportedCarriers', 'type': '[str]'}, + 'alternate_locations': {'key': 'alternateLocations', 'type': '[str]'}, + } + + def __init__( + self, + **kwargs + ): + super(LocationProperties, self).__init__(**kwargs) + self.recipient_name = kwargs.get('recipient_name', None) + self.street_address1 = kwargs.get('street_address1', None) + self.street_address2 = kwargs.get('street_address2', None) + self.city = kwargs.get('city', None) + self.state_or_province = kwargs.get('state_or_province', None) + self.postal_code = kwargs.get('postal_code', None) + self.country_or_region = kwargs.get('country_or_region', None) + self.phone = kwargs.get('phone', None) + self.supported_carriers = kwargs.get('supported_carriers', None) + self.alternate_locations = kwargs.get('alternate_locations', None) + + +class LocationsResponse(msrest.serialization.Model): + """Locations response. + + :param value: locations. + :type value: list[~storage_import_export.models.Location] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[Location]'}, + } + + def __init__( + self, + **kwargs + ): + super(LocationsResponse, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + + +class Operation(msrest.serialization.Model): + """Describes a supported operation by the Storage Import/Export job API. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. Name of the operation. + :type name: str + :param provider: The resource provider name to which the operation belongs. + :type provider: str + :param resource: The name of the resource to which the operation belongs. + :type resource: str + :param operation: The display name of the operation. + :type operation: str + :param description: Short description of the operation. + :type description: str + """ + + _validation = { + 'name': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'provider': {'key': 'display.provider', 'type': 'str'}, + 'resource': {'key': 'display.resource', 'type': 'str'}, + 'operation': {'key': 'display.operation', 'type': 'str'}, + 'description': {'key': 'display.description', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(Operation, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.provider = kwargs.get('provider', None) + self.resource = kwargs.get('resource', None) + self.operation = kwargs.get('operation', None) + self.description = kwargs.get('description', None) + + +class OperationDisplay(msrest.serialization.Model): + """operation display properties. + + :param provider: The resource provider name to which the operation belongs. + :type provider: str + :param resource: The name of the resource to which the operation belongs. + :type resource: str + :param operation: The display name of the operation. + :type operation: str + :param description: Short description of the operation. + :type description: str + """ + + _attribute_map = { + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(OperationDisplay, self).__init__(**kwargs) + self.provider = kwargs.get('provider', None) + self.resource = kwargs.get('resource', None) + self.operation = kwargs.get('operation', None) + self.description = kwargs.get('description', None) + + +class PackageInfomation(msrest.serialization.Model): + """Contains information about the package being shipped by the customer to the Microsoft data center. + + All required parameters must be populated in order to send to Azure. + + :param carrier_name: Required. The name of the carrier that is used to ship the import or + export drives. + :type carrier_name: str + :param tracking_number: Required. The tracking number of the package. + :type tracking_number: str + :param drive_count: Required. The number of drives included in the package. + :type drive_count: int + :param ship_date: Required. The date when the package is shipped. + :type ship_date: str + """ + + _validation = { + 'carrier_name': {'required': True}, + 'tracking_number': {'required': True}, + 'drive_count': {'required': True}, + 'ship_date': {'required': True}, + } + + _attribute_map = { + 'carrier_name': {'key': 'carrierName', 'type': 'str'}, + 'tracking_number': {'key': 'trackingNumber', 'type': 'str'}, + 'drive_count': {'key': 'driveCount', 'type': 'int'}, + 'ship_date': {'key': 'shipDate', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(PackageInfomation, self).__init__(**kwargs) + self.carrier_name = kwargs.get('carrier_name', None) + self.tracking_number = kwargs.get('tracking_number', None) + self.drive_count = kwargs.get('drive_count', None) + self.ship_date = kwargs.get('ship_date', None) + + +class PutJobParameters(msrest.serialization.Model): + """Put Job parameters. + + :param location: Specifies the supported Azure location where the job should be created. + :type location: str + :param tags: A set of tags. Specifies the tags that will be assigned to the job. + :type tags: ~storage_import_export.models.PutJobParametersTags + :param storage_account_id: The resource identifier of the storage account where data will be + imported to or exported from. + :type storage_account_id: str + :param job_type: The type of job. + :type job_type: str + :param return_address: Specifies the return address information for the job. + :type return_address: ~storage_import_export.models.ReturnAddress + :param return_shipping: Specifies the return carrier and customer's account with the carrier. + :type return_shipping: ~storage_import_export.models.ReturnShipping + :param shipping_information: Contains information about the Microsoft datacenter to which the + drives should be shipped. + :type shipping_information: ~storage_import_export.models.ShippingInformation + :param delivery_package: Contains information about the package being shipped by the customer + to the Microsoft data center. + :type delivery_package: ~storage_import_export.models.PackageInfomation + :param return_package: Contains information about the package being shipped by the customer to + the Microsoft data center. + :type return_package: ~storage_import_export.models.PackageInfomation + :param diagnostics_path: The virtual blob directory to which the copy logs and backups of drive + manifest files (if enabled) will be stored. + :type diagnostics_path: str + :param log_level: Default value is Error. Indicates whether error logging or verbose logging + will be enabled. + :type log_level: str + :param backup_drive_manifest: Default value is false. Indicates whether the manifest files on + the drives should be copied to block blobs. + :type backup_drive_manifest: bool + :param state: Current state of the job. + :type state: str + :param cancel_requested: Indicates whether a request has been submitted to cancel the job. + :type cancel_requested: bool + :param percent_complete: Overall percentage completed for the job. + :type percent_complete: int + :param incomplete_blob_list_uri: A blob path that points to a block blob containing a list of + blob names that were not exported due to insufficient drive space. If all blobs were exported + successfully, then this element is not included in the response. + :type incomplete_blob_list_uri: str + :param drive_list: List of up to ten drives that comprise the job. The drive list is a required + element for an import job; it is not specified for export jobs. + :type drive_list: list[~storage_import_export.models.DriveStatus] + :param export: A property containing information about the blobs to be exported for an export + job. This property is required for export jobs, but must not be specified for import jobs. + :type export: ~storage_import_export.models.Export + :param provisioning_state: Specifies the provisioning state of the job. + :type provisioning_state: str + """ + + _attribute_map = { + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': 'PutJobParametersTags'}, + 'storage_account_id': {'key': 'properties.storageAccountId', 'type': 'str'}, + 'job_type': {'key': 'properties.jobType', 'type': 'str'}, + 'return_address': {'key': 'properties.returnAddress', 'type': 'ReturnAddress'}, + 'return_shipping': {'key': 'properties.returnShipping', 'type': 'ReturnShipping'}, + 'shipping_information': {'key': 'properties.shippingInformation', 'type': 'ShippingInformation'}, + 'delivery_package': {'key': 'properties.deliveryPackage', 'type': 'PackageInfomation'}, + 'return_package': {'key': 'properties.returnPackage', 'type': 'PackageInfomation'}, + 'diagnostics_path': {'key': 'properties.diagnosticsPath', 'type': 'str'}, + 'log_level': {'key': 'properties.logLevel', 'type': 'str'}, + 'backup_drive_manifest': {'key': 'properties.backupDriveManifest', 'type': 'bool'}, + 'state': {'key': 'properties.state', 'type': 'str'}, + 'cancel_requested': {'key': 'properties.cancelRequested', 'type': 'bool'}, + 'percent_complete': {'key': 'properties.percentComplete', 'type': 'int'}, + 'incomplete_blob_list_uri': {'key': 'properties.incompleteBlobListUri', 'type': 'str'}, + 'drive_list': {'key': 'properties.driveList', 'type': '[DriveStatus]'}, + 'export': {'key': 'properties.export', 'type': 'Export'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(PutJobParameters, self).__init__(**kwargs) + self.location = kwargs.get('location', None) + self.tags = kwargs.get('tags', None) + self.storage_account_id = kwargs.get('storage_account_id', None) + self.job_type = kwargs.get('job_type', None) + self.return_address = kwargs.get('return_address', None) + self.return_shipping = kwargs.get('return_shipping', None) + self.shipping_information = kwargs.get('shipping_information', None) + self.delivery_package = kwargs.get('delivery_package', None) + self.return_package = kwargs.get('return_package', None) + self.diagnostics_path = kwargs.get('diagnostics_path', None) + self.log_level = kwargs.get('log_level', None) + self.backup_drive_manifest = kwargs.get('backup_drive_manifest', None) + self.state = kwargs.get('state', None) + self.cancel_requested = kwargs.get('cancel_requested', None) + self.percent_complete = kwargs.get('percent_complete', None) + self.incomplete_blob_list_uri = kwargs.get('incomplete_blob_list_uri', None) + self.drive_list = kwargs.get('drive_list', None) + self.export = kwargs.get('export', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + + +class PutJobParametersTags(msrest.serialization.Model): + """Specifies the tags that will be assigned to the job. + + """ + + _attribute_map = { + } + + def __init__( + self, + **kwargs + ): + super(PutJobParametersTags, self).__init__(**kwargs) + + +class ReturnAddress(msrest.serialization.Model): + """Specifies the return address information for the job. + + All required parameters must be populated in order to send to Azure. + + :param recipient_name: Required. The name of the recipient who will receive the hard drives + when they are returned. + :type recipient_name: str + :param street_address1: Required. The first line of the street address to use when returning + the drives. + :type street_address1: str + :param street_address2: The first line of the street address to use when returning the drives. + :type street_address2: str + :param city: Required. The city name to use when returning the drives. + :type city: str + :param state_or_province: The state or province to use when returning the drives. + :type state_or_province: str + :param postal_code: Required. The postal code to use when returning the drives. + :type postal_code: str + :param country_or_region: Required. The country or region to use when returning the drives. + :type country_or_region: str + :param phone: Required. Phone number of the recipient of the returned drives. + :type phone: str + :param email: Required. Email address of the recipient of the returned drives. + :type email: str + """ + + _validation = { + 'recipient_name': {'required': True}, + 'street_address1': {'required': True}, + 'city': {'required': True}, + 'postal_code': {'required': True}, + 'country_or_region': {'required': True}, + 'phone': {'required': True}, + 'email': {'required': True}, + } + + _attribute_map = { + 'recipient_name': {'key': 'recipientName', 'type': 'str'}, + 'street_address1': {'key': 'streetAddress1', 'type': 'str'}, + 'street_address2': {'key': 'streetAddress2', 'type': 'str'}, + 'city': {'key': 'city', 'type': 'str'}, + 'state_or_province': {'key': 'stateOrProvince', 'type': 'str'}, + 'postal_code': {'key': 'postalCode', 'type': 'str'}, + 'country_or_region': {'key': 'countryOrRegion', 'type': 'str'}, + 'phone': {'key': 'phone', 'type': 'str'}, + 'email': {'key': 'email', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ReturnAddress, self).__init__(**kwargs) + self.recipient_name = kwargs.get('recipient_name', None) + self.street_address1 = kwargs.get('street_address1', None) + self.street_address2 = kwargs.get('street_address2', None) + self.city = kwargs.get('city', None) + self.state_or_province = kwargs.get('state_or_province', None) + self.postal_code = kwargs.get('postal_code', None) + self.country_or_region = kwargs.get('country_or_region', None) + self.phone = kwargs.get('phone', None) + self.email = kwargs.get('email', None) + + +class ReturnShipping(msrest.serialization.Model): + """Specifies the return carrier and customer's account with the carrier. + + All required parameters must be populated in order to send to Azure. + + :param carrier_name: Required. The carrier's name. + :type carrier_name: str + :param carrier_account_number: Required. The customer's account number with the carrier. + :type carrier_account_number: str + """ + + _validation = { + 'carrier_name': {'required': True}, + 'carrier_account_number': {'required': True}, + } + + _attribute_map = { + 'carrier_name': {'key': 'carrierName', 'type': 'str'}, + 'carrier_account_number': {'key': 'carrierAccountNumber', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ReturnShipping, self).__init__(**kwargs) + self.carrier_name = kwargs.get('carrier_name', None) + self.carrier_account_number = kwargs.get('carrier_account_number', None) + + +class ShippingInformation(msrest.serialization.Model): + """Contains information about the Microsoft datacenter to which the drives should be shipped. + + All required parameters must be populated in order to send to Azure. + + :param recipient_name: Required. The name of the recipient who will receive the hard drives + when they are returned. + :type recipient_name: str + :param street_address1: Required. The first line of the street address to use when returning + the drives. + :type street_address1: str + :param street_address2: The first line of the street address to use when returning the drives. + :type street_address2: str + :param city: Required. The city name to use when returning the drives. + :type city: str + :param state_or_province: Required. The state or province to use when returning the drives. + :type state_or_province: str + :param postal_code: Required. The postal code to use when returning the drives. + :type postal_code: str + :param country_or_region: Required. The country or region to use when returning the drives. + :type country_or_region: str + :param phone: Phone number of the recipient of the returned drives. + :type phone: str + """ + + _validation = { + 'recipient_name': {'required': True}, + 'street_address1': {'required': True}, + 'city': {'required': True}, + 'state_or_province': {'required': True}, + 'postal_code': {'required': True}, + 'country_or_region': {'required': True}, + } + + _attribute_map = { + 'recipient_name': {'key': 'recipientName', 'type': 'str'}, + 'street_address1': {'key': 'streetAddress1', 'type': 'str'}, + 'street_address2': {'key': 'streetAddress2', 'type': 'str'}, + 'city': {'key': 'city', 'type': 'str'}, + 'state_or_province': {'key': 'stateOrProvince', 'type': 'str'}, + 'postal_code': {'key': 'postalCode', 'type': 'str'}, + 'country_or_region': {'key': 'countryOrRegion', 'type': 'str'}, + 'phone': {'key': 'phone', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ShippingInformation, self).__init__(**kwargs) + self.recipient_name = kwargs.get('recipient_name', None) + self.street_address1 = kwargs.get('street_address1', None) + self.street_address2 = kwargs.get('street_address2', None) + self.city = kwargs.get('city', None) + self.state_or_province = kwargs.get('state_or_province', None) + self.postal_code = kwargs.get('postal_code', None) + self.country_or_region = kwargs.get('country_or_region', None) + self.phone = kwargs.get('phone', None) + + +class UpdateJobParameters(msrest.serialization.Model): + """Update Job parameters. + + :param tags: A set of tags. Specifies the tags that will be assigned to the job. + :type tags: ~storage_import_export.models.UpdateJobParametersTags + :param cancel_requested: If specified, the value must be true. The service will attempt to + cancel the job. + :type cancel_requested: bool + :param state: If specified, the value must be Shipping, which tells the Import/Export service + that the package for the job has been shipped. The ReturnAddress and DeliveryPackage properties + must have been set either in this request or in a previous request, otherwise the request will + fail. + :type state: str + :param return_address: Specifies the return address information for the job. + :type return_address: ~storage_import_export.models.ReturnAddress + :param return_shipping: Specifies the return carrier and customer's account with the carrier. + :type return_shipping: ~storage_import_export.models.ReturnShipping + :param delivery_package: Contains information about the package being shipped by the customer + to the Microsoft data center. + :type delivery_package: ~storage_import_export.models.PackageInfomation + :param log_level: Indicates whether error logging or verbose logging is enabled. + :type log_level: str + :param backup_drive_manifest: Indicates whether the manifest files on the drives should be + copied to block blobs. + :type backup_drive_manifest: bool + :param drive_list: List of drives that comprise the job. + :type drive_list: list[~storage_import_export.models.DriveStatus] + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': 'UpdateJobParametersTags'}, + 'cancel_requested': {'key': 'properties.cancelRequested', 'type': 'bool'}, + 'state': {'key': 'properties.state', 'type': 'str'}, + 'return_address': {'key': 'properties.returnAddress', 'type': 'ReturnAddress'}, + 'return_shipping': {'key': 'properties.returnShipping', 'type': 'ReturnShipping'}, + 'delivery_package': {'key': 'properties.deliveryPackage', 'type': 'PackageInfomation'}, + 'log_level': {'key': 'properties.logLevel', 'type': 'str'}, + 'backup_drive_manifest': {'key': 'properties.backupDriveManifest', 'type': 'bool'}, + 'drive_list': {'key': 'properties.driveList', 'type': '[DriveStatus]'}, + } + + def __init__( + self, + **kwargs + ): + super(UpdateJobParameters, self).__init__(**kwargs) + self.tags = kwargs.get('tags', None) + self.cancel_requested = kwargs.get('cancel_requested', None) + self.state = kwargs.get('state', None) + self.return_address = kwargs.get('return_address', None) + self.return_shipping = kwargs.get('return_shipping', None) + self.delivery_package = kwargs.get('delivery_package', None) + self.log_level = kwargs.get('log_level', None) + self.backup_drive_manifest = kwargs.get('backup_drive_manifest', None) + self.drive_list = kwargs.get('drive_list', None) + + +class UpdateJobParametersProperties(msrest.serialization.Model): + """Specifies the properties of a UpdateJob. + + :param cancel_requested: If specified, the value must be true. The service will attempt to + cancel the job. + :type cancel_requested: bool + :param state: If specified, the value must be Shipping, which tells the Import/Export service + that the package for the job has been shipped. The ReturnAddress and DeliveryPackage properties + must have been set either in this request or in a previous request, otherwise the request will + fail. + :type state: str + :param return_address: Specifies the return address information for the job. + :type return_address: ~storage_import_export.models.ReturnAddress + :param return_shipping: Specifies the return carrier and customer's account with the carrier. + :type return_shipping: ~storage_import_export.models.ReturnShipping + :param delivery_package: Contains information about the package being shipped by the customer + to the Microsoft data center. + :type delivery_package: ~storage_import_export.models.PackageInfomation + :param log_level: Indicates whether error logging or verbose logging is enabled. + :type log_level: str + :param backup_drive_manifest: Indicates whether the manifest files on the drives should be + copied to block blobs. + :type backup_drive_manifest: bool + :param drive_list: List of drives that comprise the job. + :type drive_list: list[~storage_import_export.models.DriveStatus] + """ + + _attribute_map = { + 'cancel_requested': {'key': 'cancelRequested', 'type': 'bool'}, + 'state': {'key': 'state', 'type': 'str'}, + 'return_address': {'key': 'returnAddress', 'type': 'ReturnAddress'}, + 'return_shipping': {'key': 'returnShipping', 'type': 'ReturnShipping'}, + 'delivery_package': {'key': 'deliveryPackage', 'type': 'PackageInfomation'}, + 'log_level': {'key': 'logLevel', 'type': 'str'}, + 'backup_drive_manifest': {'key': 'backupDriveManifest', 'type': 'bool'}, + 'drive_list': {'key': 'driveList', 'type': '[DriveStatus]'}, + } + + def __init__( + self, + **kwargs + ): + super(UpdateJobParametersProperties, self).__init__(**kwargs) + self.cancel_requested = kwargs.get('cancel_requested', None) + self.state = kwargs.get('state', None) + self.return_address = kwargs.get('return_address', None) + self.return_shipping = kwargs.get('return_shipping', None) + self.delivery_package = kwargs.get('delivery_package', None) + self.log_level = kwargs.get('log_level', None) + self.backup_drive_manifest = kwargs.get('backup_drive_manifest', None) + self.drive_list = kwargs.get('drive_list', None) + + +class UpdateJobParametersTags(msrest.serialization.Model): + """Specifies the tags that will be assigned to the job. + + """ + + _attribute_map = { + } + + def __init__( + self, + **kwargs + ): + super(UpdateJobParametersTags, self).__init__(**kwargs) diff --git a/src/import-export/azext_import_export/vendored_sdks/storageimportexport/models/_models_py3.py b/src/import-export/azext_import_export/vendored_sdks/storageimportexport/models/_models_py3.py new file mode 100644 index 00000000000..2c04169486e --- /dev/null +++ b/src/import-export/azext_import_export/vendored_sdks/storageimportexport/models/_models_py3.py @@ -0,0 +1,1349 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import Dict, List, Optional, Union + +from azure.core.exceptions import HttpResponseError +import msrest.serialization + + +class DriveBitLockerKey(msrest.serialization.Model): + """BitLocker recovery key or password to the specified drive. + + :param bit_locker_key: BitLocker recovery key or password. + :type bit_locker_key: str + :param drive_id: Drive ID. + :type drive_id: str + """ + + _attribute_map = { + 'bit_locker_key': {'key': 'bitLockerKey', 'type': 'str'}, + 'drive_id': {'key': 'driveId', 'type': 'str'}, + } + + def __init__( + self, + *, + bit_locker_key: Optional[str] = None, + drive_id: Optional[str] = None, + **kwargs + ): + super(DriveBitLockerKey, self).__init__(**kwargs) + self.bit_locker_key = bit_locker_key + self.drive_id = drive_id + + +class DriveStatus(msrest.serialization.Model): + """Provides information about the drive's status. + + :param drive_id: The drive's hardware serial number, without spaces. + :type drive_id: str + :param bit_locker_key: The BitLocker key used to encrypt the drive. + :type bit_locker_key: str + :param manifest_file: The relative path of the manifest file on the drive. + :type manifest_file: str + :param manifest_hash: The Base16-encoded MD5 hash of the manifest file on the drive. + :type manifest_hash: str + :param drive_header_hash: The drive header hash value. + :type drive_header_hash: str + :param state: The drive's current state. Possible values include: 'Specified', 'Received', + 'NeverReceived', 'Transferring', 'Completed', 'CompletedMoreInfo', 'ShippedBack'. + :type state: str or ~storage_import_export.models.DriveState + :param copy_status: Detailed status about the data transfer process. This field is not returned + in the response until the drive is in the Transferring state. + :type copy_status: str + :param percent_complete: Percentage completed for the drive. + :type percent_complete: int + :param verbose_log_uri: A URI that points to the blob containing the verbose log for the data + transfer operation. + :type verbose_log_uri: str + :param error_log_uri: A URI that points to the blob containing the error log for the data + transfer operation. + :type error_log_uri: str + :param manifest_uri: A URI that points to the blob containing the drive manifest file. + :type manifest_uri: str + :param bytes_succeeded: Bytes successfully transferred for the drive. + :type bytes_succeeded: long + """ + + _attribute_map = { + 'drive_id': {'key': 'driveId', 'type': 'str'}, + 'bit_locker_key': {'key': 'bitLockerKey', 'type': 'str'}, + 'manifest_file': {'key': 'manifestFile', 'type': 'str'}, + 'manifest_hash': {'key': 'manifestHash', 'type': 'str'}, + 'drive_header_hash': {'key': 'driveHeaderHash', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + 'copy_status': {'key': 'copyStatus', 'type': 'str'}, + 'percent_complete': {'key': 'percentComplete', 'type': 'int'}, + 'verbose_log_uri': {'key': 'verboseLogUri', 'type': 'str'}, + 'error_log_uri': {'key': 'errorLogUri', 'type': 'str'}, + 'manifest_uri': {'key': 'manifestUri', 'type': 'str'}, + 'bytes_succeeded': {'key': 'bytesSucceeded', 'type': 'long'}, + } + + def __init__( + self, + *, + drive_id: Optional[str] = None, + bit_locker_key: Optional[str] = None, + manifest_file: Optional[str] = None, + manifest_hash: Optional[str] = None, + drive_header_hash: Optional[str] = None, + state: Optional[Union[str, "DriveState"]] = None, + copy_status: Optional[str] = None, + percent_complete: Optional[int] = None, + verbose_log_uri: Optional[str] = None, + error_log_uri: Optional[str] = None, + manifest_uri: Optional[str] = None, + bytes_succeeded: Optional[int] = None, + **kwargs + ): + super(DriveStatus, self).__init__(**kwargs) + self.drive_id = drive_id + self.bit_locker_key = bit_locker_key + self.manifest_file = manifest_file + self.manifest_hash = manifest_hash + self.drive_header_hash = drive_header_hash + self.state = state + self.copy_status = copy_status + self.percent_complete = percent_complete + self.verbose_log_uri = verbose_log_uri + self.error_log_uri = error_log_uri + self.manifest_uri = manifest_uri + self.bytes_succeeded = bytes_succeeded + + +class ErrorResponseException(HttpResponseError): + """Server responded with exception of type: 'ErrorResponse'. + + :param response: Server response to be deserialized. + :param error_model: A deserialized model of the response body as model. + """ + + def __init__(self, response, error_model): + self.error = error_model + super(ErrorResponseException, self).__init__(response=response, error_model=error_model) + + @classmethod + def from_response(cls, response, deserialize): + """Deserialize this response as this exception, or a subclass of this exception. + + :param response: Server response to be deserialized. + :param deserialize: A deserializer + """ + model_name = 'ErrorResponse' + error = deserialize(model_name, response) + if error is None: + error = deserialize.dependencies[model_name]() + return error._EXCEPTION_TYPE(response, error) + + +class ErrorResponse(msrest.serialization.Model): + """Response when errors occurred. + + :param code: Provides information about the error code. + :type code: str + :param message: Provides information about the error message. + :type message: str + :param target: Provides information about the error target. + :type target: str + :param details: Describes the error details if present. + :type details: list[~storage_import_export.models.ErrorResponseErrorDetailsItem] + :param innererror: Inner error object if present. + :type innererror: ~storage_import_export.models.ErrorResponseErrorInnererror + """ + _EXCEPTION_TYPE = ErrorResponseException + + _attribute_map = { + 'code': {'key': 'error.code', 'type': 'str'}, + 'message': {'key': 'error.message', 'type': 'str'}, + 'target': {'key': 'error.target', 'type': 'str'}, + 'details': {'key': 'error.details', 'type': '[ErrorResponseErrorDetailsItem]'}, + 'innererror': {'key': 'error.innererror', 'type': 'ErrorResponseErrorInnererror'}, + } + + def __init__( + self, + *, + code: Optional[str] = None, + message: Optional[str] = None, + target: Optional[str] = None, + details: Optional[List["ErrorResponseErrorDetailsItem"]] = None, + innererror: Optional["ErrorResponseErrorInnererror"] = None, + **kwargs + ): + super(ErrorResponse, self).__init__(**kwargs) + self.code = code + self.message = message + self.target = target + self.details = details + self.innererror = innererror + + +class ErrorResponseError(msrest.serialization.Model): + """Describes the error information. + + :param code: Provides information about the error code. + :type code: str + :param message: Provides information about the error message. + :type message: str + :param target: Provides information about the error target. + :type target: str + :param details: Describes the error details if present. + :type details: list[~storage_import_export.models.ErrorResponseErrorDetailsItem] + :param innererror: Inner error object if present. + :type innererror: ~storage_import_export.models.ErrorResponseErrorInnererror + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[ErrorResponseErrorDetailsItem]'}, + 'innererror': {'key': 'innererror', 'type': 'ErrorResponseErrorInnererror'}, + } + + def __init__( + self, + *, + code: Optional[str] = None, + message: Optional[str] = None, + target: Optional[str] = None, + details: Optional[List["ErrorResponseErrorDetailsItem"]] = None, + innererror: Optional["ErrorResponseErrorInnererror"] = None, + **kwargs + ): + super(ErrorResponseError, self).__init__(**kwargs) + self.code = code + self.message = message + self.target = target + self.details = details + self.innererror = innererror + + +class ErrorResponseErrorDetailsItem(msrest.serialization.Model): + """ErrorResponseErrorDetailsItem. + + :param code: Provides information about the error code. + :type code: str + :param target: Provides information about the error target. + :type target: str + :param message: Provides information about the error message. + :type message: str + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__( + self, + *, + code: Optional[str] = None, + target: Optional[str] = None, + message: Optional[str] = None, + **kwargs + ): + super(ErrorResponseErrorDetailsItem, self).__init__(**kwargs) + self.code = code + self.target = target + self.message = message + + +class ErrorResponseErrorInnererror(msrest.serialization.Model): + """Inner error object if present. + + """ + + _attribute_map = { + } + + def __init__( + self, + **kwargs + ): + super(ErrorResponseErrorInnererror, self).__init__(**kwargs) + + +class Export(msrest.serialization.Model): + """A property containing information about the blobs to be exported for an export job. This property is required for export jobs, but must not be specified for import jobs. + + :param blob_listblob_path: The relative URI to the block blob that contains the list of blob + paths or blob path prefixes as defined above, beginning with the container name. If the blob is + in root container, the URI must begin with $root. + :type blob_listblob_path: str + :param blob_path: A collection of blob-path strings. + :type blob_path: list[str] + :param blob_path_prefix: A collection of blob-prefix strings. + :type blob_path_prefix: list[str] + """ + + _attribute_map = { + 'blob_listblob_path': {'key': 'blobListblobPath', 'type': 'str'}, + 'blob_path': {'key': 'blobList.blobPath', 'type': '[str]'}, + 'blob_path_prefix': {'key': 'blobList.blobPathPrefix', 'type': '[str]'}, + } + + def __init__( + self, + *, + blob_listblob_path: Optional[str] = None, + blob_path: Optional[List[str]] = None, + blob_path_prefix: Optional[List[str]] = None, + **kwargs + ): + super(Export, self).__init__(**kwargs) + self.blob_listblob_path = blob_listblob_path + self.blob_path = blob_path + self.blob_path_prefix = blob_path_prefix + + +class ExportBlobList(msrest.serialization.Model): + """A list of the blobs to be exported. + + :param blob_path: A collection of blob-path strings. + :type blob_path: list[str] + :param blob_path_prefix: A collection of blob-prefix strings. + :type blob_path_prefix: list[str] + """ + + _attribute_map = { + 'blob_path': {'key': 'blobPath', 'type': '[str]'}, + 'blob_path_prefix': {'key': 'blobPathPrefix', 'type': '[str]'}, + } + + def __init__( + self, + *, + blob_path: Optional[List[str]] = None, + blob_path_prefix: Optional[List[str]] = None, + **kwargs + ): + super(ExportBlobList, self).__init__(**kwargs) + self.blob_path = blob_path + self.blob_path_prefix = blob_path_prefix + + +class GetBitLockerKeysResponse(msrest.serialization.Model): + """GetBitLockerKeys response. + + :param value: drive status. + :type value: list[~storage_import_export.models.DriveBitLockerKey] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[DriveBitLockerKey]'}, + } + + def __init__( + self, + *, + value: Optional[List["DriveBitLockerKey"]] = None, + **kwargs + ): + super(GetBitLockerKeysResponse, self).__init__(**kwargs) + self.value = value + + +class JobDetails(msrest.serialization.Model): + """Specifies the job properties. + + :param storage_account_id: The resource identifier of the storage account where data will be + imported to or exported from. + :type storage_account_id: str + :param job_type: The type of job. + :type job_type: str + :param return_address: Specifies the return address information for the job. + :type return_address: ~storage_import_export.models.ReturnAddress + :param return_shipping: Specifies the return carrier and customer's account with the carrier. + :type return_shipping: ~storage_import_export.models.ReturnShipping + :param shipping_information: Contains information about the Microsoft datacenter to which the + drives should be shipped. + :type shipping_information: ~storage_import_export.models.ShippingInformation + :param delivery_package: Contains information about the package being shipped by the customer + to the Microsoft data center. + :type delivery_package: ~storage_import_export.models.PackageInfomation + :param return_package: Contains information about the package being shipped by the customer to + the Microsoft data center. + :type return_package: ~storage_import_export.models.PackageInfomation + :param diagnostics_path: The virtual blob directory to which the copy logs and backups of drive + manifest files (if enabled) will be stored. + :type diagnostics_path: str + :param log_level: Default value is Error. Indicates whether error logging or verbose logging + will be enabled. + :type log_level: str + :param backup_drive_manifest: Default value is false. Indicates whether the manifest files on + the drives should be copied to block blobs. + :type backup_drive_manifest: bool + :param state: Current state of the job. + :type state: str + :param cancel_requested: Indicates whether a request has been submitted to cancel the job. + :type cancel_requested: bool + :param percent_complete: Overall percentage completed for the job. + :type percent_complete: int + :param incomplete_blob_list_uri: A blob path that points to a block blob containing a list of + blob names that were not exported due to insufficient drive space. If all blobs were exported + successfully, then this element is not included in the response. + :type incomplete_blob_list_uri: str + :param drive_list: List of up to ten drives that comprise the job. The drive list is a required + element for an import job; it is not specified for export jobs. + :type drive_list: list[~storage_import_export.models.DriveStatus] + :param export: A property containing information about the blobs to be exported for an export + job. This property is required for export jobs, but must not be specified for import jobs. + :type export: ~storage_import_export.models.Export + :param provisioning_state: Specifies the provisioning state of the job. + :type provisioning_state: str + """ + + _attribute_map = { + 'storage_account_id': {'key': 'storageAccountId', 'type': 'str'}, + 'job_type': {'key': 'jobType', 'type': 'str'}, + 'return_address': {'key': 'returnAddress', 'type': 'ReturnAddress'}, + 'return_shipping': {'key': 'returnShipping', 'type': 'ReturnShipping'}, + 'shipping_information': {'key': 'shippingInformation', 'type': 'ShippingInformation'}, + 'delivery_package': {'key': 'deliveryPackage', 'type': 'PackageInfomation'}, + 'return_package': {'key': 'returnPackage', 'type': 'PackageInfomation'}, + 'diagnostics_path': {'key': 'diagnosticsPath', 'type': 'str'}, + 'log_level': {'key': 'logLevel', 'type': 'str'}, + 'backup_drive_manifest': {'key': 'backupDriveManifest', 'type': 'bool'}, + 'state': {'key': 'state', 'type': 'str'}, + 'cancel_requested': {'key': 'cancelRequested', 'type': 'bool'}, + 'percent_complete': {'key': 'percentComplete', 'type': 'int'}, + 'incomplete_blob_list_uri': {'key': 'incompleteBlobListUri', 'type': 'str'}, + 'drive_list': {'key': 'driveList', 'type': '[DriveStatus]'}, + 'export': {'key': 'export', 'type': 'Export'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + } + + def __init__( + self, + *, + storage_account_id: Optional[str] = None, + job_type: Optional[str] = None, + return_address: Optional["ReturnAddress"] = None, + return_shipping: Optional["ReturnShipping"] = None, + shipping_information: Optional["ShippingInformation"] = None, + delivery_package: Optional["PackageInfomation"] = None, + return_package: Optional["PackageInfomation"] = None, + diagnostics_path: Optional[str] = None, + log_level: Optional[str] = None, + backup_drive_manifest: Optional[bool] = None, + state: Optional[str] = None, + cancel_requested: Optional[bool] = None, + percent_complete: Optional[int] = None, + incomplete_blob_list_uri: Optional[str] = None, + drive_list: Optional[List["DriveStatus"]] = None, + export: Optional["Export"] = None, + provisioning_state: Optional[str] = None, + **kwargs + ): + super(JobDetails, self).__init__(**kwargs) + self.storage_account_id = storage_account_id + self.job_type = job_type + self.return_address = return_address + self.return_shipping = return_shipping + self.shipping_information = shipping_information + self.delivery_package = delivery_package + self.return_package = return_package + self.diagnostics_path = diagnostics_path + self.log_level = log_level + self.backup_drive_manifest = backup_drive_manifest + self.state = state + self.cancel_requested = cancel_requested + self.percent_complete = percent_complete + self.incomplete_blob_list_uri = incomplete_blob_list_uri + self.drive_list = drive_list + self.export = export + self.provisioning_state = provisioning_state + + +class JobResponse(msrest.serialization.Model): + """Contains the job information. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Specifies the resource identifier of the job. + :vartype id: str + :ivar name: Specifies the name of the job. + :vartype name: str + :ivar type: Specifies the type of the job resource. + :vartype type: str + :param location: Specifies the Azure location where the job is created. + :type location: str + :param tags: A set of tags. Specifies the tags that are assigned to the job. + :type tags: dict[str, str] + :param properties: Specifies the job properties. + :type properties: ~storage_import_export.models.JobDetails + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'properties': {'key': 'properties', 'type': 'JobDetails'}, + } + + def __init__( + self, + *, + location: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + properties: Optional["JobDetails"] = None, + **kwargs + ): + super(JobResponse, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.location = location + self.tags = tags + self.properties = properties + + +class JobResponseTags(msrest.serialization.Model): + """Specifies the tags that are assigned to the job. + + """ + + _attribute_map = { + } + + def __init__( + self, + **kwargs + ): + super(JobResponseTags, self).__init__(**kwargs) + + +class ListJobsResponse(msrest.serialization.Model): + """List jobs response. + + :param next_link: link to next batch of jobs. + :type next_link: str + :param value: Job list. + :type value: list[~storage_import_export.models.JobResponse] + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[JobResponse]'}, + } + + def __init__( + self, + *, + next_link: Optional[str] = None, + value: Optional[List["JobResponse"]] = None, + **kwargs + ): + super(ListJobsResponse, self).__init__(**kwargs) + self.next_link = next_link + self.value = value + + +class ListOperationsResponse(msrest.serialization.Model): + """List operations response. + + :param value: operations. + :type value: list[~storage_import_export.models.Operation] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[Operation]'}, + } + + def __init__( + self, + *, + value: Optional[List["Operation"]] = None, + **kwargs + ): + super(ListOperationsResponse, self).__init__(**kwargs) + self.value = value + + +class Location(msrest.serialization.Model): + """Provides information about an Azure data center location. + + :param id: Specifies the resource identifier of the location. + :type id: str + :param name: Specifies the name of the location. Use List Locations to get all supported + locations. + :type name: str + :param type: Specifies the type of the location. + :type type: str + :param recipient_name: The recipient name to use when shipping the drives to the Azure data + center. + :type recipient_name: str + :param street_address1: The first line of the street address to use when shipping the drives to + the Azure data center. + :type street_address1: str + :param street_address2: The first line of the street address to use when shipping the drives to + the Azure data center. + :type street_address2: str + :param city: The city name to use when shipping the drives to the Azure data center. + :type city: str + :param state_or_province: The state or province to use when shipping the drives to the Azure + data center. + :type state_or_province: str + :param postal_code: The postal code to use when shipping the drives to the Azure data center. + :type postal_code: str + :param country_or_region: The country or region to use when shipping the drives to the Azure + data center. + :type country_or_region: str + :param phone: The phone number for the Azure data center. + :type phone: str + :param supported_carriers: A list of carriers that are supported at this location. + :type supported_carriers: list[str] + :param alternate_locations: A list of location IDs that should be used to ship shipping drives + to for jobs created against the current location. If the current location is active, it will be + part of the list. If it is temporarily closed due to maintenance, this list may contain other + locations. + :type alternate_locations: list[str] + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'recipient_name': {'key': 'properties.recipientName', 'type': 'str'}, + 'street_address1': {'key': 'properties.streetAddress1', 'type': 'str'}, + 'street_address2': {'key': 'properties.streetAddress2', 'type': 'str'}, + 'city': {'key': 'properties.city', 'type': 'str'}, + 'state_or_province': {'key': 'properties.stateOrProvince', 'type': 'str'}, + 'postal_code': {'key': 'properties.postalCode', 'type': 'str'}, + 'country_or_region': {'key': 'properties.countryOrRegion', 'type': 'str'}, + 'phone': {'key': 'properties.phone', 'type': 'str'}, + 'supported_carriers': {'key': 'properties.supportedCarriers', 'type': '[str]'}, + 'alternate_locations': {'key': 'properties.alternateLocations', 'type': '[str]'}, + } + + def __init__( + self, + *, + id: Optional[str] = None, + name: Optional[str] = None, + type: Optional[str] = None, + recipient_name: Optional[str] = None, + street_address1: Optional[str] = None, + street_address2: Optional[str] = None, + city: Optional[str] = None, + state_or_province: Optional[str] = None, + postal_code: Optional[str] = None, + country_or_region: Optional[str] = None, + phone: Optional[str] = None, + supported_carriers: Optional[List[str]] = None, + alternate_locations: Optional[List[str]] = None, + **kwargs + ): + super(Location, self).__init__(**kwargs) + self.id = id + self.name = name + self.type = type + self.recipient_name = recipient_name + self.street_address1 = street_address1 + self.street_address2 = street_address2 + self.city = city + self.state_or_province = state_or_province + self.postal_code = postal_code + self.country_or_region = country_or_region + self.phone = phone + self.supported_carriers = supported_carriers + self.alternate_locations = alternate_locations + + +class LocationProperties(msrest.serialization.Model): + """location properties. + + :param recipient_name: The recipient name to use when shipping the drives to the Azure data + center. + :type recipient_name: str + :param street_address1: The first line of the street address to use when shipping the drives to + the Azure data center. + :type street_address1: str + :param street_address2: The first line of the street address to use when shipping the drives to + the Azure data center. + :type street_address2: str + :param city: The city name to use when shipping the drives to the Azure data center. + :type city: str + :param state_or_province: The state or province to use when shipping the drives to the Azure + data center. + :type state_or_province: str + :param postal_code: The postal code to use when shipping the drives to the Azure data center. + :type postal_code: str + :param country_or_region: The country or region to use when shipping the drives to the Azure + data center. + :type country_or_region: str + :param phone: The phone number for the Azure data center. + :type phone: str + :param supported_carriers: A list of carriers that are supported at this location. + :type supported_carriers: list[str] + :param alternate_locations: A list of location IDs that should be used to ship shipping drives + to for jobs created against the current location. If the current location is active, it will be + part of the list. If it is temporarily closed due to maintenance, this list may contain other + locations. + :type alternate_locations: list[str] + """ + + _attribute_map = { + 'recipient_name': {'key': 'recipientName', 'type': 'str'}, + 'street_address1': {'key': 'streetAddress1', 'type': 'str'}, + 'street_address2': {'key': 'streetAddress2', 'type': 'str'}, + 'city': {'key': 'city', 'type': 'str'}, + 'state_or_province': {'key': 'stateOrProvince', 'type': 'str'}, + 'postal_code': {'key': 'postalCode', 'type': 'str'}, + 'country_or_region': {'key': 'countryOrRegion', 'type': 'str'}, + 'phone': {'key': 'phone', 'type': 'str'}, + 'supported_carriers': {'key': 'supportedCarriers', 'type': '[str]'}, + 'alternate_locations': {'key': 'alternateLocations', 'type': '[str]'}, + } + + def __init__( + self, + *, + recipient_name: Optional[str] = None, + street_address1: Optional[str] = None, + street_address2: Optional[str] = None, + city: Optional[str] = None, + state_or_province: Optional[str] = None, + postal_code: Optional[str] = None, + country_or_region: Optional[str] = None, + phone: Optional[str] = None, + supported_carriers: Optional[List[str]] = None, + alternate_locations: Optional[List[str]] = None, + **kwargs + ): + super(LocationProperties, self).__init__(**kwargs) + self.recipient_name = recipient_name + self.street_address1 = street_address1 + self.street_address2 = street_address2 + self.city = city + self.state_or_province = state_or_province + self.postal_code = postal_code + self.country_or_region = country_or_region + self.phone = phone + self.supported_carriers = supported_carriers + self.alternate_locations = alternate_locations + + +class LocationsResponse(msrest.serialization.Model): + """Locations response. + + :param value: locations. + :type value: list[~storage_import_export.models.Location] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[Location]'}, + } + + def __init__( + self, + *, + value: Optional[List["Location"]] = None, + **kwargs + ): + super(LocationsResponse, self).__init__(**kwargs) + self.value = value + + +class Operation(msrest.serialization.Model): + """Describes a supported operation by the Storage Import/Export job API. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. Name of the operation. + :type name: str + :param provider: The resource provider name to which the operation belongs. + :type provider: str + :param resource: The name of the resource to which the operation belongs. + :type resource: str + :param operation: The display name of the operation. + :type operation: str + :param description: Short description of the operation. + :type description: str + """ + + _validation = { + 'name': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'provider': {'key': 'display.provider', 'type': 'str'}, + 'resource': {'key': 'display.resource', 'type': 'str'}, + 'operation': {'key': 'display.operation', 'type': 'str'}, + 'description': {'key': 'display.description', 'type': 'str'}, + } + + def __init__( + self, + *, + name: str, + provider: Optional[str] = None, + resource: Optional[str] = None, + operation: Optional[str] = None, + description: Optional[str] = None, + **kwargs + ): + super(Operation, self).__init__(**kwargs) + self.name = name + self.provider = provider + self.resource = resource + self.operation = operation + self.description = description + + +class OperationDisplay(msrest.serialization.Model): + """operation display properties. + + :param provider: The resource provider name to which the operation belongs. + :type provider: str + :param resource: The name of the resource to which the operation belongs. + :type resource: str + :param operation: The display name of the operation. + :type operation: str + :param description: Short description of the operation. + :type description: str + """ + + _attribute_map = { + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__( + self, + *, + provider: Optional[str] = None, + resource: Optional[str] = None, + operation: Optional[str] = None, + description: Optional[str] = None, + **kwargs + ): + super(OperationDisplay, self).__init__(**kwargs) + self.provider = provider + self.resource = resource + self.operation = operation + self.description = description + + +class PackageInfomation(msrest.serialization.Model): + """Contains information about the package being shipped by the customer to the Microsoft data center. + + All required parameters must be populated in order to send to Azure. + + :param carrier_name: Required. The name of the carrier that is used to ship the import or + export drives. + :type carrier_name: str + :param tracking_number: Required. The tracking number of the package. + :type tracking_number: str + :param drive_count: Required. The number of drives included in the package. + :type drive_count: int + :param ship_date: Required. The date when the package is shipped. + :type ship_date: str + """ + + _validation = { + 'carrier_name': {'required': True}, + 'tracking_number': {'required': True}, + 'drive_count': {'required': True}, + 'ship_date': {'required': True}, + } + + _attribute_map = { + 'carrier_name': {'key': 'carrierName', 'type': 'str'}, + 'tracking_number': {'key': 'trackingNumber', 'type': 'str'}, + 'drive_count': {'key': 'driveCount', 'type': 'int'}, + 'ship_date': {'key': 'shipDate', 'type': 'str'}, + } + + def __init__( + self, + *, + carrier_name: str, + tracking_number: str, + drive_count: int, + ship_date: str, + **kwargs + ): + super(PackageInfomation, self).__init__(**kwargs) + self.carrier_name = carrier_name + self.tracking_number = tracking_number + self.drive_count = drive_count + self.ship_date = ship_date + + +class PutJobParameters(msrest.serialization.Model): + """Put Job parameters. + + :param location: Specifies the supported Azure location where the job should be created. + :type location: str + :param tags: A set of tags. Specifies the tags that will be assigned to the job. + :type tags: dict[str, str] + :param storage_account_id: The resource identifier of the storage account where data will be + imported to or exported from. + :type storage_account_id: str + :param job_type: The type of job. + :type job_type: str + :param return_address: Specifies the return address information for the job. + :type return_address: ~storage_import_export.models.ReturnAddress + :param return_shipping: Specifies the return carrier and customer's account with the carrier. + :type return_shipping: ~storage_import_export.models.ReturnShipping + :param shipping_information: Contains information about the Microsoft datacenter to which the + drives should be shipped. + :type shipping_information: ~storage_import_export.models.ShippingInformation + :param delivery_package: Contains information about the package being shipped by the customer + to the Microsoft data center. + :type delivery_package: ~storage_import_export.models.PackageInfomation + :param return_package: Contains information about the package being shipped by the customer to + the Microsoft data center. + :type return_package: ~storage_import_export.models.PackageInfomation + :param diagnostics_path: The virtual blob directory to which the copy logs and backups of drive + manifest files (if enabled) will be stored. + :type diagnostics_path: str + :param log_level: Default value is Error. Indicates whether error logging or verbose logging + will be enabled. + :type log_level: str + :param backup_drive_manifest: Default value is false. Indicates whether the manifest files on + the drives should be copied to block blobs. + :type backup_drive_manifest: bool + :param state: Current state of the job. + :type state: str + :param cancel_requested: Indicates whether a request has been submitted to cancel the job. + :type cancel_requested: bool + :param percent_complete: Overall percentage completed for the job. + :type percent_complete: int + :param incomplete_blob_list_uri: A blob path that points to a block blob containing a list of + blob names that were not exported due to insufficient drive space. If all blobs were exported + successfully, then this element is not included in the response. + :type incomplete_blob_list_uri: str + :param drive_list: List of up to ten drives that comprise the job. The drive list is a required + element for an import job; it is not specified for export jobs. + :type drive_list: list[~storage_import_export.models.DriveStatus] + :param export: A property containing information about the blobs to be exported for an export + job. This property is required for export jobs, but must not be specified for import jobs. + :type export: ~storage_import_export.models.Export + :param provisioning_state: Specifies the provisioning state of the job. + :type provisioning_state: str + """ + + _attribute_map = { + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'storage_account_id': {'key': 'properties.storageAccountId', 'type': 'str'}, + 'job_type': {'key': 'properties.jobType', 'type': 'str'}, + 'return_address': {'key': 'properties.returnAddress', 'type': 'ReturnAddress'}, + 'return_shipping': {'key': 'properties.returnShipping', 'type': 'ReturnShipping'}, + 'shipping_information': {'key': 'properties.shippingInformation', 'type': 'ShippingInformation'}, + 'delivery_package': {'key': 'properties.deliveryPackage', 'type': 'PackageInfomation'}, + 'return_package': {'key': 'properties.returnPackage', 'type': 'PackageInfomation'}, + 'diagnostics_path': {'key': 'properties.diagnosticsPath', 'type': 'str'}, + 'log_level': {'key': 'properties.logLevel', 'type': 'str'}, + 'backup_drive_manifest': {'key': 'properties.backupDriveManifest', 'type': 'bool'}, + 'state': {'key': 'properties.state', 'type': 'str'}, + 'cancel_requested': {'key': 'properties.cancelRequested', 'type': 'bool'}, + 'percent_complete': {'key': 'properties.percentComplete', 'type': 'int'}, + 'incomplete_blob_list_uri': {'key': 'properties.incompleteBlobListUri', 'type': 'str'}, + 'drive_list': {'key': 'properties.driveList', 'type': '[DriveStatus]'}, + 'export': {'key': 'properties.export', 'type': 'Export'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + } + + def __init__( + self, + *, + location: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + storage_account_id: Optional[str] = None, + job_type: Optional[str] = None, + return_address: Optional["ReturnAddress"] = None, + return_shipping: Optional["ReturnShipping"] = None, + shipping_information: Optional["ShippingInformation"] = None, + delivery_package: Optional["PackageInfomation"] = None, + return_package: Optional["PackageInfomation"] = None, + diagnostics_path: Optional[str] = None, + log_level: Optional[str] = None, + backup_drive_manifest: Optional[bool] = None, + state: Optional[str] = None, + cancel_requested: Optional[bool] = None, + percent_complete: Optional[int] = None, + incomplete_blob_list_uri: Optional[str] = None, + drive_list: Optional[List["DriveStatus"]] = None, + export: Optional["Export"] = None, + provisioning_state: Optional[str] = None, + **kwargs + ): + super(PutJobParameters, self).__init__(**kwargs) + self.location = location + self.tags = tags + self.storage_account_id = storage_account_id + self.job_type = job_type + self.return_address = return_address + self.return_shipping = return_shipping + self.shipping_information = shipping_information + self.delivery_package = delivery_package + self.return_package = return_package + self.diagnostics_path = diagnostics_path + self.log_level = log_level + self.backup_drive_manifest = backup_drive_manifest + self.state = state + self.cancel_requested = cancel_requested + self.percent_complete = percent_complete + self.incomplete_blob_list_uri = incomplete_blob_list_uri + self.drive_list = drive_list + self.export = export + self.provisioning_state = provisioning_state + + +class PutJobParametersTags(msrest.serialization.Model): + """Specifies the tags that will be assigned to the job. + + """ + + _attribute_map = { + } + + def __init__( + self, + **kwargs + ): + super(PutJobParametersTags, self).__init__(**kwargs) + + +class ReturnAddress(msrest.serialization.Model): + """Specifies the return address information for the job. + + All required parameters must be populated in order to send to Azure. + + :param recipient_name: Required. The name of the recipient who will receive the hard drives + when they are returned. + :type recipient_name: str + :param street_address1: Required. The first line of the street address to use when returning + the drives. + :type street_address1: str + :param street_address2: The first line of the street address to use when returning the drives. + :type street_address2: str + :param city: Required. The city name to use when returning the drives. + :type city: str + :param state_or_province: The state or province to use when returning the drives. + :type state_or_province: str + :param postal_code: Required. The postal code to use when returning the drives. + :type postal_code: str + :param country_or_region: Required. The country or region to use when returning the drives. + :type country_or_region: str + :param phone: Required. Phone number of the recipient of the returned drives. + :type phone: str + :param email: Required. Email address of the recipient of the returned drives. + :type email: str + """ + + _validation = { + 'recipient_name': {'required': True}, + 'street_address1': {'required': True}, + 'city': {'required': True}, + 'postal_code': {'required': True}, + 'country_or_region': {'required': True}, + 'phone': {'required': True}, + 'email': {'required': True}, + } + + _attribute_map = { + 'recipient_name': {'key': 'recipientName', 'type': 'str'}, + 'street_address1': {'key': 'streetAddress1', 'type': 'str'}, + 'street_address2': {'key': 'streetAddress2', 'type': 'str'}, + 'city': {'key': 'city', 'type': 'str'}, + 'state_or_province': {'key': 'stateOrProvince', 'type': 'str'}, + 'postal_code': {'key': 'postalCode', 'type': 'str'}, + 'country_or_region': {'key': 'countryOrRegion', 'type': 'str'}, + 'phone': {'key': 'phone', 'type': 'str'}, + 'email': {'key': 'email', 'type': 'str'}, + } + + def __init__( + self, + *, + recipient_name: str, + street_address1: str, + city: str, + postal_code: str, + country_or_region: str, + phone: str, + email: str, + street_address2: Optional[str] = None, + state_or_province: Optional[str] = None, + **kwargs + ): + super(ReturnAddress, self).__init__(**kwargs) + self.recipient_name = recipient_name + self.street_address1 = street_address1 + self.street_address2 = street_address2 + self.city = city + self.state_or_province = state_or_province + self.postal_code = postal_code + self.country_or_region = country_or_region + self.phone = phone + self.email = email + + +class ReturnShipping(msrest.serialization.Model): + """Specifies the return carrier and customer's account with the carrier. + + All required parameters must be populated in order to send to Azure. + + :param carrier_name: Required. The carrier's name. + :type carrier_name: str + :param carrier_account_number: Required. The customer's account number with the carrier. + :type carrier_account_number: str + """ + + _validation = { + 'carrier_name': {'required': True}, + 'carrier_account_number': {'required': True}, + } + + _attribute_map = { + 'carrier_name': {'key': 'carrierName', 'type': 'str'}, + 'carrier_account_number': {'key': 'carrierAccountNumber', 'type': 'str'}, + } + + def __init__( + self, + *, + carrier_name: str, + carrier_account_number: str, + **kwargs + ): + super(ReturnShipping, self).__init__(**kwargs) + self.carrier_name = carrier_name + self.carrier_account_number = carrier_account_number + + +class ShippingInformation(msrest.serialization.Model): + """Contains information about the Microsoft datacenter to which the drives should be shipped. + + All required parameters must be populated in order to send to Azure. + + :param recipient_name: Required. The name of the recipient who will receive the hard drives + when they are returned. + :type recipient_name: str + :param street_address1: Required. The first line of the street address to use when returning + the drives. + :type street_address1: str + :param street_address2: The first line of the street address to use when returning the drives. + :type street_address2: str + :param city: Required. The city name to use when returning the drives. + :type city: str + :param state_or_province: Required. The state or province to use when returning the drives. + :type state_or_province: str + :param postal_code: Required. The postal code to use when returning the drives. + :type postal_code: str + :param country_or_region: Required. The country or region to use when returning the drives. + :type country_or_region: str + :param phone: Phone number of the recipient of the returned drives. + :type phone: str + """ + + _validation = { + 'recipient_name': {'required': True}, + 'street_address1': {'required': True}, + 'city': {'required': True}, + 'state_or_province': {'required': True}, + 'postal_code': {'required': True}, + 'country_or_region': {'required': True}, + } + + _attribute_map = { + 'recipient_name': {'key': 'recipientName', 'type': 'str'}, + 'street_address1': {'key': 'streetAddress1', 'type': 'str'}, + 'street_address2': {'key': 'streetAddress2', 'type': 'str'}, + 'city': {'key': 'city', 'type': 'str'}, + 'state_or_province': {'key': 'stateOrProvince', 'type': 'str'}, + 'postal_code': {'key': 'postalCode', 'type': 'str'}, + 'country_or_region': {'key': 'countryOrRegion', 'type': 'str'}, + 'phone': {'key': 'phone', 'type': 'str'}, + } + + def __init__( + self, + *, + recipient_name: str, + street_address1: str, + city: str, + state_or_province: str, + postal_code: str, + country_or_region: str, + street_address2: Optional[str] = None, + phone: Optional[str] = None, + **kwargs + ): + super(ShippingInformation, self).__init__(**kwargs) + self.recipient_name = recipient_name + self.street_address1 = street_address1 + self.street_address2 = street_address2 + self.city = city + self.state_or_province = state_or_province + self.postal_code = postal_code + self.country_or_region = country_or_region + self.phone = phone + + +class UpdateJobParameters(msrest.serialization.Model): + """Update Job parameters. + + :param tags: A set of tags. Specifies the tags that will be assigned to the job. + :type tags: dict[str, str] + :param cancel_requested: If specified, the value must be true. The service will attempt to + cancel the job. + :type cancel_requested: bool + :param state: If specified, the value must be Shipping, which tells the Import/Export service + that the package for the job has been shipped. The ReturnAddress and DeliveryPackage properties + must have been set either in this request or in a previous request, otherwise the request will + fail. + :type state: str + :param return_address: Specifies the return address information for the job. + :type return_address: ~storage_import_export.models.ReturnAddress + :param return_shipping: Specifies the return carrier and customer's account with the carrier. + :type return_shipping: ~storage_import_export.models.ReturnShipping + :param delivery_package: Contains information about the package being shipped by the customer + to the Microsoft data center. + :type delivery_package: ~storage_import_export.models.PackageInfomation + :param log_level: Indicates whether error logging or verbose logging is enabled. + :type log_level: str + :param backup_drive_manifest: Indicates whether the manifest files on the drives should be + copied to block blobs. + :type backup_drive_manifest: bool + :param drive_list: List of drives that comprise the job. + :type drive_list: list[~storage_import_export.models.DriveStatus] + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + 'cancel_requested': {'key': 'properties.cancelRequested', 'type': 'bool'}, + 'state': {'key': 'properties.state', 'type': 'str'}, + 'return_address': {'key': 'properties.returnAddress', 'type': 'ReturnAddress'}, + 'return_shipping': {'key': 'properties.returnShipping', 'type': 'ReturnShipping'}, + 'delivery_package': {'key': 'properties.deliveryPackage', 'type': 'PackageInfomation'}, + 'log_level': {'key': 'properties.logLevel', 'type': 'str'}, + 'backup_drive_manifest': {'key': 'properties.backupDriveManifest', 'type': 'bool'}, + 'drive_list': {'key': 'properties.driveList', 'type': '[DriveStatus]'}, + } + + def __init__( + self, + *, + tags: Optional[Dict[str, str]] = None, + cancel_requested: Optional[bool] = None, + state: Optional[str] = None, + return_address: Optional["ReturnAddress"] = None, + return_shipping: Optional["ReturnShipping"] = None, + delivery_package: Optional["PackageInfomation"] = None, + log_level: Optional[str] = None, + backup_drive_manifest: Optional[bool] = None, + drive_list: Optional[List["DriveStatus"]] = None, + **kwargs + ): + super(UpdateJobParameters, self).__init__(**kwargs) + self.tags = tags + self.cancel_requested = cancel_requested + self.state = state + self.return_address = return_address + self.return_shipping = return_shipping + self.delivery_package = delivery_package + self.log_level = log_level + self.backup_drive_manifest = backup_drive_manifest + self.drive_list = drive_list + + +class UpdateJobParametersProperties(msrest.serialization.Model): + """Specifies the properties of a UpdateJob. + + :param cancel_requested: If specified, the value must be true. The service will attempt to + cancel the job. + :type cancel_requested: bool + :param state: If specified, the value must be Shipping, which tells the Import/Export service + that the package for the job has been shipped. The ReturnAddress and DeliveryPackage properties + must have been set either in this request or in a previous request, otherwise the request will + fail. + :type state: str + :param return_address: Specifies the return address information for the job. + :type return_address: ~storage_import_export.models.ReturnAddress + :param return_shipping: Specifies the return carrier and customer's account with the carrier. + :type return_shipping: ~storage_import_export.models.ReturnShipping + :param delivery_package: Contains information about the package being shipped by the customer + to the Microsoft data center. + :type delivery_package: ~storage_import_export.models.PackageInfomation + :param log_level: Indicates whether error logging or verbose logging is enabled. + :type log_level: str + :param backup_drive_manifest: Indicates whether the manifest files on the drives should be + copied to block blobs. + :type backup_drive_manifest: bool + :param drive_list: List of drives that comprise the job. + :type drive_list: list[~storage_import_export.models.DriveStatus] + """ + + _attribute_map = { + 'cancel_requested': {'key': 'cancelRequested', 'type': 'bool'}, + 'state': {'key': 'state', 'type': 'str'}, + 'return_address': {'key': 'returnAddress', 'type': 'ReturnAddress'}, + 'return_shipping': {'key': 'returnShipping', 'type': 'ReturnShipping'}, + 'delivery_package': {'key': 'deliveryPackage', 'type': 'PackageInfomation'}, + 'log_level': {'key': 'logLevel', 'type': 'str'}, + 'backup_drive_manifest': {'key': 'backupDriveManifest', 'type': 'bool'}, + 'drive_list': {'key': 'driveList', 'type': '[DriveStatus]'}, + } + + def __init__( + self, + *, + cancel_requested: Optional[bool] = None, + state: Optional[str] = None, + return_address: Optional["ReturnAddress"] = None, + return_shipping: Optional["ReturnShipping"] = None, + delivery_package: Optional["PackageInfomation"] = None, + log_level: Optional[str] = None, + backup_drive_manifest: Optional[bool] = None, + drive_list: Optional[List["DriveStatus"]] = None, + **kwargs + ): + super(UpdateJobParametersProperties, self).__init__(**kwargs) + self.cancel_requested = cancel_requested + self.state = state + self.return_address = return_address + self.return_shipping = return_shipping + self.delivery_package = delivery_package + self.log_level = log_level + self.backup_drive_manifest = backup_drive_manifest + self.drive_list = drive_list + + +class UpdateJobParametersTags(msrest.serialization.Model): + """Specifies the tags that will be assigned to the job. + + """ + + _attribute_map = { + } + + def __init__( + self, + **kwargs + ): + super(UpdateJobParametersTags, self).__init__(**kwargs) diff --git a/src/import-export/azext_import_export/vendored_sdks/storageimportexport/models/_storage_import_export_enums.py b/src/import-export/azext_import_export/vendored_sdks/storageimportexport/models/_storage_import_export_enums.py new file mode 100644 index 00000000000..15d2d4f7186 --- /dev/null +++ b/src/import-export/azext_import_export/vendored_sdks/storageimportexport/models/_storage_import_export_enums.py @@ -0,0 +1,19 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from enum import Enum + +class DriveState(str, Enum): + + specified = "Specified" + received = "Received" + never_received = "NeverReceived" + transferring = "Transferring" + completed = "Completed" + completed_more_info = "CompletedMoreInfo" + shipped_back = "ShippedBack" diff --git a/src/import-export/azext_import_export/vendored_sdks/storageimportexport/operations/__init__.py b/src/import-export/azext_import_export/vendored_sdks/storageimportexport/operations/__init__.py new file mode 100644 index 00000000000..199c96e7a99 --- /dev/null +++ b/src/import-export/azext_import_export/vendored_sdks/storageimportexport/operations/__init__.py @@ -0,0 +1,19 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._location_operations import LocationOperations +from ._job_operations import JobOperations +from ._bit_locker_key_operations import BitLockerKeyOperations +from ._operation_operations import OperationOperations + +__all__ = [ + 'LocationOperations', + 'JobOperations', + 'BitLockerKeyOperations', + 'OperationOperations', +] diff --git a/src/import-export/azext_import_export/vendored_sdks/storageimportexport/operations/_bit_locker_key_operations.py b/src/import-export/azext_import_export/vendored_sdks/storageimportexport/operations/_bit_locker_key_operations.py new file mode 100644 index 00000000000..900125234da --- /dev/null +++ b/src/import-export/azext_import_export/vendored_sdks/storageimportexport/operations/_bit_locker_key_operations.py @@ -0,0 +1,114 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.exceptions import map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse + +from .. import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class BitLockerKeyOperations(object): + """BitLockerKeyOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~storage_import_export.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + job_name, # type: str + resource_group_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.GetBitLockerKeysResponse" + """Returns the BitLocker Keys for all drives in the specified job. + + :param job_name: The name of the import/export job. + :type job_name: str + :param resource_group_name: The resource group name uniquely identifies the resource group + within the user subscription. + :type resource_group_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: GetBitLockerKeysResponse or the result of cls(response) + :rtype: ~storage_import_export.models.GetBitLockerKeysResponse + :raises: ~storage_import_export.models.ErrorResponseException: + """ + cls = kwargs.pop('cls', None ) # type: ClsType["models.GetBitLockerKeysResponse"] + error_map = kwargs.pop('error_map', {}) + api_version = "2016-11-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'jobName': self._serialize.url("job_name", job_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + if self._config.acceptlanguage is not None: + header_parameters['Accept-Language'] = self._serialize.header("self._config.acceptlanguage", self._config.acceptlanguage, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('GetBitLockerKeysResponse', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.ErrorResponseException.from_response(response, self._deserialize) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ImportExport/jobs/{jobName}/listBitLockerKeys'} diff --git a/src/import-export/azext_import_export/vendored_sdks/storageimportexport/operations/_job_operations.py b/src/import-export/azext_import_export/vendored_sdks/storageimportexport/operations/_job_operations.py new file mode 100644 index 00000000000..a9654641626 --- /dev/null +++ b/src/import-export/azext_import_export/vendored_sdks/storageimportexport/operations/_job_operations.py @@ -0,0 +1,555 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, List, Optional, TypeVar, Union +import warnings + +from azure.core.exceptions import map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse + +from .. import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class JobOperations(object): + """JobOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~storage_import_export.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list_by_subscription( + self, + top=None, # type: Optional[int] + filter=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.ListJobsResponse" + """Returns all active and completed jobs in a subscription. + + :param top: An integer value that specifies how many jobs at most should be returned. The value + cannot exceed 100. + :type top: int + :param filter: Can be used to restrict the results to certain conditions. + :type filter: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ListJobsResponse or the result of cls(response) + :rtype: ~storage_import_export.models.ListJobsResponse + :raises: ~storage_import_export.models.ErrorResponseException: + """ + cls = kwargs.pop('cls', None ) # type: ClsType["models.ListJobsResponse"] + error_map = kwargs.pop('error_map', {}) + api_version = "2016-11-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_subscription.metadata['url'] + path_format_arguments = { + '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 = {} + if top is not None: + query_parameters['$top'] = self._serialize.query("top", top, 'int') + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + if self._config.acceptlanguage is not None: + header_parameters['Accept-Language'] = self._serialize.header("self._config.acceptlanguage", self._config.acceptlanguage, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('ListJobsResponse', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.ErrorResponseException.from_response(response, self._deserialize) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_by_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ImportExport/jobs'} + + def list_by_resource_group( + self, + resource_group_name, # type: str + top=None, # type: Optional[int] + filter=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.ListJobsResponse" + """Returns all active and completed jobs in a resource group. + + :param resource_group_name: The resource group name uniquely identifies the resource group + within the user subscription. + :type resource_group_name: str + :param top: An integer value that specifies how many jobs at most should be returned. The value + cannot exceed 100. + :type top: int + :param filter: Can be used to restrict the results to certain conditions. + :type filter: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ListJobsResponse or the result of cls(response) + :rtype: ~storage_import_export.models.ListJobsResponse + :raises: ~storage_import_export.models.ErrorResponseException: + """ + cls = kwargs.pop('cls', None ) # type: ClsType["models.ListJobsResponse"] + error_map = kwargs.pop('error_map', {}) + api_version = "2016-11-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if top is not None: + query_parameters['$top'] = self._serialize.query("top", top, 'int') + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + if self._config.acceptlanguage is not None: + header_parameters['Accept-Language'] = self._serialize.header("self._config.acceptlanguage", self._config.acceptlanguage, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('ListJobsResponse', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.ErrorResponseException.from_response(response, self._deserialize) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ImportExport/jobs'} + + def get( + self, + job_name, # type: str + resource_group_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.JobResponse" + """Gets information about an existing job. + + :param job_name: The name of the import/export job. + :type job_name: str + :param resource_group_name: The resource group name uniquely identifies the resource group + within the user subscription. + :type resource_group_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: JobResponse or the result of cls(response) + :rtype: ~storage_import_export.models.JobResponse + :raises: ~storage_import_export.models.ErrorResponseException: + """ + cls = kwargs.pop('cls', None ) # type: ClsType["models.JobResponse"] + error_map = kwargs.pop('error_map', {}) + api_version = "2016-11-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'jobName': self._serialize.url("job_name", job_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + if self._config.acceptlanguage is not None: + header_parameters['Accept-Language'] = self._serialize.header("self._config.acceptlanguage", self._config.acceptlanguage, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.ErrorResponseException.from_response(response, self._deserialize) + + deserialized = self._deserialize('JobResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ImportExport/jobs/{jobName}'} + + def update( + self, + job_name, # type: str + resource_group_name, # type: str + tags=None, # type: Optional["models.UpdateJobParametersTags"] + cancel_requested=None, # type: Optional[bool] + state=None, # type: Optional[str] + return_address=None, # type: Optional["models.ReturnAddress"] + return_shipping=None, # type: Optional["models.ReturnShipping"] + delivery_package=None, # type: Optional["models.PackageInfomation"] + log_level=None, # type: Optional[str] + backup_drive_manifest=None, # type: Optional[bool] + drive_list=None, # type: Optional[List["DriveStatus"]] + **kwargs # type: Any + ): + # type: (...) -> "models.JobResponse" + """Updates specific properties of a job. You can call this operation to notify the Import/Export service that the hard drives comprising the import or export job have been shipped to the Microsoft data center. It can also be used to cancel an existing job. + + :param job_name: The name of the import/export job. + :type job_name: str + :param resource_group_name: The resource group name uniquely identifies the resource group + within the user subscription. + :type resource_group_name: str + :param tags: Specifies the tags that will be assigned to the job. + :type tags: ~storage_import_export.models.UpdateJobParametersTags + :param cancel_requested: If specified, the value must be true. The service will attempt to + cancel the job. + :type cancel_requested: bool + :param state: If specified, the value must be Shipping, which tells the Import/Export service + that the package for the job has been shipped. The ReturnAddress and DeliveryPackage properties + must have been set either in this request or in a previous request, otherwise the request will + fail. + :type state: str + :param return_address: Specifies the return address information for the job. + :type return_address: ~storage_import_export.models.ReturnAddress + :param return_shipping: Specifies the return carrier and customer's account with the carrier. + :type return_shipping: ~storage_import_export.models.ReturnShipping + :param delivery_package: Contains information about the package being shipped by the customer + to the Microsoft data center. + :type delivery_package: ~storage_import_export.models.PackageInfomation + :param log_level: Indicates whether error logging or verbose logging is enabled. + :type log_level: str + :param backup_drive_manifest: Indicates whether the manifest files on the drives should be + copied to block blobs. + :type backup_drive_manifest: bool + :param drive_list: List of drives that comprise the job. + :type drive_list: list[~storage_import_export.models.DriveStatus] + :keyword callable cls: A custom type or function that will be passed the direct response + :return: JobResponse or the result of cls(response) + :rtype: ~storage_import_export.models.JobResponse + :raises: ~storage_import_export.models.ErrorResponseException: + """ + cls = kwargs.pop('cls', None ) # type: ClsType["models.JobResponse"] + error_map = kwargs.pop('error_map', {}) + + body = models.UpdateJobParameters(tags=tags, cancel_requested=cancel_requested, state=state, return_address=return_address, return_shipping=return_shipping, delivery_package=delivery_package, log_level=log_level, backup_drive_manifest=backup_drive_manifest, drive_list=drive_list) + api_version = "2016-11-01" + + # Construct URL + url = self.update.metadata['url'] + path_format_arguments = { + 'jobName': self._serialize.url("job_name", job_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + if self._config.acceptlanguage is not None: + header_parameters['Accept-Language'] = self._serialize.header("self._config.acceptlanguage", self._config.acceptlanguage, 'str') + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json' + + # Construct body + body_content = self._serialize.body(body, 'UpdateJobParameters') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.ErrorResponseException.from_response(response, self._deserialize) + + deserialized = self._deserialize('JobResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ImportExport/jobs/{jobName}'} + + def create( + self, + job_name, # type: str + resource_group_name, # type: str + client_tenant_id=None, # type: Optional[str] + location=None, # type: Optional[str] + tags=None, # type: Optional["models.PutJobParametersTags"] + storage_account_id=None, # type: Optional[str] + job_type=None, # type: Optional[str] + return_address=None, # type: Optional["models.ReturnAddress"] + return_shipping=None, # type: Optional["models.ReturnShipping"] + shipping_information=None, # type: Optional["models.ShippingInformation"] + delivery_package=None, # type: Optional["models.PackageInfomation"] + return_package=None, # type: Optional["models.PackageInfomation"] + diagnostics_path=None, # type: Optional[str] + log_level=None, # type: Optional[str] + backup_drive_manifest=None, # type: Optional[bool] + state=None, # type: Optional[str] + cancel_requested=None, # type: Optional[bool] + percent_complete=None, # type: Optional[int] + incomplete_blob_list_uri=None, # type: Optional[str] + drive_list=None, # type: Optional[List["DriveStatus"]] + export=None, # type: Optional["models.Export"] + provisioning_state=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.JobResponse" + """Creates a new job or updates an existing job in the specified subscription. + + :param job_name: The name of the import/export job. + :type job_name: str + :param resource_group_name: The resource group name uniquely identifies the resource group + within the user subscription. + :type resource_group_name: str + :param client_tenant_id: The tenant ID of the client making the request. + :type client_tenant_id: str + :param location: Specifies the supported Azure location where the job should be created. + :type location: str + :param tags: Specifies the tags that will be assigned to the job. + :type tags: ~storage_import_export.models.PutJobParametersTags + :param storage_account_id: The resource identifier of the storage account where data will be + imported to or exported from. + :type storage_account_id: str + :param job_type: The type of job. + :type job_type: str + :param return_address: Specifies the return address information for the job. + :type return_address: ~storage_import_export.models.ReturnAddress + :param return_shipping: Specifies the return carrier and customer's account with the carrier. + :type return_shipping: ~storage_import_export.models.ReturnShipping + :param shipping_information: Contains information about the Microsoft datacenter to which the + drives should be shipped. + :type shipping_information: ~storage_import_export.models.ShippingInformation + :param delivery_package: Contains information about the package being shipped by the customer + to the Microsoft data center. + :type delivery_package: ~storage_import_export.models.PackageInfomation + :param return_package: Contains information about the package being shipped by the customer to + the Microsoft data center. + :type return_package: ~storage_import_export.models.PackageInfomation + :param diagnostics_path: The virtual blob directory to which the copy logs and backups of drive + manifest files (if enabled) will be stored. + :type diagnostics_path: str + :param log_level: Default value is Error. Indicates whether error logging or verbose logging + will be enabled. + :type log_level: str + :param backup_drive_manifest: Default value is false. Indicates whether the manifest files on + the drives should be copied to block blobs. + :type backup_drive_manifest: bool + :param state: Current state of the job. + :type state: str + :param cancel_requested: Indicates whether a request has been submitted to cancel the job. + :type cancel_requested: bool + :param percent_complete: Overall percentage completed for the job. + :type percent_complete: int + :param incomplete_blob_list_uri: A blob path that points to a block blob containing a list of + blob names that were not exported due to insufficient drive space. If all blobs were exported + successfully, then this element is not included in the response. + :type incomplete_blob_list_uri: str + :param drive_list: List of up to ten drives that comprise the job. The drive list is a required + element for an import job; it is not specified for export jobs. + :type drive_list: list[~storage_import_export.models.DriveStatus] + :param export: A property containing information about the blobs to be exported for an export + job. This property is required for export jobs, but must not be specified for import jobs. + :type export: ~storage_import_export.models.Export + :param provisioning_state: Specifies the provisioning state of the job. + :type provisioning_state: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: JobResponse or JobResponse or the result of cls(response) + :rtype: ~storage_import_export.models.JobResponse or ~storage_import_export.models.JobResponse + :raises: ~storage_import_export.models.ErrorResponseException: + """ + cls = kwargs.pop('cls', None ) # type: ClsType["models.JobResponse"] + error_map = kwargs.pop('error_map', {}) + + body = models.PutJobParameters(location=location, tags=tags, storage_account_id=storage_account_id, job_type=job_type, return_address=return_address, return_shipping=return_shipping, shipping_information=shipping_information, delivery_package=delivery_package, return_package=return_package, diagnostics_path=diagnostics_path, log_level=log_level, backup_drive_manifest=backup_drive_manifest, state=state, cancel_requested=cancel_requested, percent_complete=percent_complete, incomplete_blob_list_uri=incomplete_blob_list_uri, drive_list=drive_list, export=export, provisioning_state=provisioning_state) + api_version = "2016-11-01" + + # Construct URL + url = self.create.metadata['url'] + path_format_arguments = { + 'jobName': self._serialize.url("job_name", job_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + if self._config.acceptlanguage is not None: + header_parameters['Accept-Language'] = self._serialize.header("self._config.acceptlanguage", self._config.acceptlanguage, 'str') + if client_tenant_id is not None: + header_parameters['x-ms-client-tenant-id'] = self._serialize.header("client_tenant_id", client_tenant_id, 'str') + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json' + + # Construct body + body_content = self._serialize.body(body, 'PutJobParameters') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.ErrorResponseException.from_response(response, self._deserialize) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('JobResponse', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('JobResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ImportExport/jobs/{jobName}'} + + def delete( + self, + job_name, # type: str + resource_group_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + """Deletes an existing job. Only jobs in the Creating or Completed states can be deleted. + + :param job_name: The name of the import/export job. + :type job_name: str + :param resource_group_name: The resource group name uniquely identifies the resource group + within the user subscription. + :type resource_group_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~storage_import_export.models.ErrorResponseException: + """ + cls = kwargs.pop('cls', None ) # type: ClsType[None] + error_map = kwargs.pop('error_map', {}) + api_version = "2016-11-01" + + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'jobName': self._serialize.url("job_name", job_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + if self._config.acceptlanguage is not None: + header_parameters['Accept-Language'] = self._serialize.header("self._config.acceptlanguage", self._config.acceptlanguage, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.ErrorResponseException.from_response(response, self._deserialize) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ImportExport/jobs/{jobName}'} diff --git a/src/import-export/azext_import_export/vendored_sdks/storageimportexport/operations/_location_operations.py b/src/import-export/azext_import_export/vendored_sdks/storageimportexport/operations/_location_operations.py new file mode 100644 index 00000000000..746c1301657 --- /dev/null +++ b/src/import-export/azext_import_export/vendored_sdks/storageimportexport/operations/_location_operations.py @@ -0,0 +1,154 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.exceptions import map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse + +from .. import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class LocationOperations(object): + """LocationOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~storage_import_export.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + **kwargs # type: Any + ): + # type: (...) -> "models.LocationsResponse" + """Returns a list of locations to which you can ship the disks associated with an import or export job. A location is a Microsoft data center region. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: LocationsResponse or the result of cls(response) + :rtype: ~storage_import_export.models.LocationsResponse + :raises: ~storage_import_export.models.ErrorResponseException: + """ + cls = kwargs.pop('cls', None ) # type: ClsType["models.LocationsResponse"] + error_map = kwargs.pop('error_map', {}) + api_version = "2016-11-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + else: + url = next_link + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + if self._config.acceptlanguage is not None: + header_parameters['Accept-Language'] = self._serialize.header("self._config.acceptlanguage", self._config.acceptlanguage, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('LocationsResponse', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.ErrorResponseException.from_response(response, self._deserialize) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/providers/Microsoft.ImportExport/locations'} + + def get( + self, + location_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.Location" + """Returns the details about a location to which you can ship the disks associated with an import or export job. A location is an Azure region. + + :param location_name: The name of the location. For example, West US or westus. + :type location_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Location or the result of cls(response) + :rtype: ~storage_import_export.models.Location + :raises: ~storage_import_export.models.ErrorResponseException: + """ + cls = kwargs.pop('cls', None ) # type: ClsType["models.Location"] + error_map = kwargs.pop('error_map', {}) + api_version = "2016-11-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'locationName': self._serialize.url("location_name", location_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + if self._config.acceptlanguage is not None: + header_parameters['Accept-Language'] = self._serialize.header("self._config.acceptlanguage", self._config.acceptlanguage, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.ErrorResponseException.from_response(response, self._deserialize) + + deserialized = self._deserialize('Location', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/providers/Microsoft.ImportExport/locations/{locationName}'} diff --git a/src/import-export/azext_import_export/vendored_sdks/storageimportexport/operations/_operation_operations.py b/src/import-export/azext_import_export/vendored_sdks/storageimportexport/operations/_operation_operations.py new file mode 100644 index 00000000000..f93c99d47c8 --- /dev/null +++ b/src/import-export/azext_import_export/vendored_sdks/storageimportexport/operations/_operation_operations.py @@ -0,0 +1,101 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.exceptions import map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse + +from .. import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class OperationOperations(object): + """OperationOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~storage_import_export.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + **kwargs # type: Any + ): + # type: (...) -> "models.ListOperationsResponse" + """Returns the list of operations supported by the import/export resource provider. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ListOperationsResponse or the result of cls(response) + :rtype: ~storage_import_export.models.ListOperationsResponse + :raises: ~storage_import_export.models.ErrorResponseException: + """ + cls = kwargs.pop('cls', None ) # type: ClsType["models.ListOperationsResponse"] + error_map = kwargs.pop('error_map', {}) + api_version = "2016-11-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + else: + url = next_link + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + if self._config.acceptlanguage is not None: + header_parameters['Accept-Language'] = self._serialize.header("self._config.acceptlanguage", self._config.acceptlanguage, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('ListOperationsResponse', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.ErrorResponseException.from_response(response, self._deserialize) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/providers/Microsoft.ImportExport/operations'} diff --git a/src/import-export/setup.cfg b/src/import-export/setup.cfg new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/import-export/setup.py b/src/import-export/setup.py new file mode 100644 index 00000000000..ee52331e233 --- /dev/null +++ b/src/import-export/setup.py @@ -0,0 +1,58 @@ +#!/usr/bin/env python + +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + + +from codecs import open +from setuptools import setup, find_packages +try: + from azure_bdist_wheel import cmdclass +except ImportError: + from distutils import log as logger + logger.warn("Wheel is not available, disabling bdist_wheel hook") + +# TODO: Confirm this is the right version number you want and it matches your +# HISTORY.rst entry. +VERSION = '0.1.1' + +# The full list of classifiers is available at +# https://pypi.python.org/pypi?%3Aaction=list_classifiers +CLASSIFIERS = [ + 'Development Status :: 4 - Beta', + 'Intended Audience :: Developers', + 'Intended Audience :: System Administrators', + 'Programming Language :: Python', + 'Programming Language :: Python :: 3', + 'Programming Language :: Python :: 3.6', + 'Programming Language :: Python :: 3.7', + 'Programming Language :: Python :: 3.8', + 'License :: OSI Approved :: MIT License', +] + +# TODO: Add any additional SDK dependencies here +DEPENDENCIES = [] + +with open('README.md', 'r', encoding='utf-8') as f: + README = f.read() +with open('HISTORY.rst', 'r', encoding='utf-8') as f: + HISTORY = f.read() + +setup( + name='import_export', + version=VERSION, + description='Microsoft Azure Command-Line Tools StorageImportExport Extension', + # TODO: Update author and email, if applicable + author='Microsoft Corporation', + author_email='azpycli@microsoft.com', + # TODO: consider pointing directly to your source code instead of the generic repo + url='https://github.com/Azure/azure-cli-extensions', + long_description=README + '\n\n' + HISTORY, + license='MIT', + classifiers=CLASSIFIERS, + packages=find_packages(), + install_requires=DEPENDENCIES, + package_data={'azext_import_export': ['azext_metadata.json']}, +) diff --git a/src/index.json b/src/index.json index 1112447fd7c..99d0d353872 100644 --- a/src/index.json +++ b/src/index.json @@ -1,5 +1,50 @@ { "extensions": { + "account": [ + { + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/account-0.1.0-py2.py3-none-any.whl", + "filename": "account-0.1.0-py2.py3-none-any.whl", + "metadata": { + "azext.isExperimental": true, + "azext.minCliCoreVersion": "2.3.1", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "License :: OSI Approved :: MIT License" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "account", + "summary": "Microsoft Azure Command-Line Tools SubscriptionClient Extension", + "version": "0.1.0" + }, + "sha256Digest": "badd35099d52efc5d8c337eee3ce3958005e6bfbb0c83798a74458b90ea6046b" + } + ], "aem": [ { "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/aem-0.1.1-py2.py3-none-any.whl", @@ -46,6 +91,94 @@ "sha256Digest": "4ac7b8a4a89eda68d9d1a07cc5edd9b1a2b88421e2aa9a9e5b86a241f127775f" } ], + "ai-did-you-mean-this": [ + { + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/ai_did_you_mean_this-0.1.1-py3-none-any.whl", + "filename": "ai_did_you_mean_this-0.1.1-py3-none-any.whl", + "metadata": { + "azext.isExperimental": true, + "azext.minCliCoreVersion": "2.4.0", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "License :: OSI Approved :: MIT License" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "chotool@microsoft.com", + "name": "Christopher O'Toole", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions/ai-did-you-mean-this" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "ai-did-you-mean-this", + "summary": "Recommend recovery options on failure.", + "version": "0.1.1" + }, + "sha256Digest": "bb9c1226707c3f15b1da4c1ebff3cf34ed8c683342eb2d353b18925e344da8ac" + }, + { + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/ai_did_you_mean_this-0.2.0-py3-none-any.whl", + "filename": "ai_did_you_mean_this-0.2.0-py3-none-any.whl", + "metadata": { + "azext.isExperimental": true, + "azext.minCliCoreVersion": "2.4.0", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "License :: OSI Approved :: MIT License" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "chotool@microsoft.com", + "name": "Christopher O'Toole", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions/ai-did-you-mean-this" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "ai-did-you-mean-this", + "summary": "Recommend recovery options on failure.", + "version": "0.2.0" + }, + "sha256Digest": "83d7f955d0dda41b015a10d22be1066a497463c06d7444335e8b394bbc20d42b" + } + ], "ai-examples": [ { "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/ai_examples-0.1.0-py2.py3-none-any.whl", @@ -138,6 +271,52 @@ "version": "0.2.0" }, "sha256Digest": "1e976b938f377e35618525154b46725fa66f17883a6fb233fb2f9d427a34421b" + }, + { + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/ai_examples-0.2.1-py2.py3-none-any.whl", + "filename": "ai_examples-0.2.1-py2.py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.2.0", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 2", + "Programming Language :: Python :: 2.7", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "License :: OSI Approved :: MIT License" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "mabooe@microsoft.com", + "name": "Matthew Booe", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/ai-examples" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "ai-examples", + "summary": "Add AI powered examples to help content.", + "version": "0.2.1" + }, + "sha256Digest": "f45d5a3726924c8a7ae03f2fce1ea4c0221291cf5c815dd54bbc7cd867f1edc2" } ], "aks-preview": [ @@ -318,34 +497,30 @@ "version": "0.4.38" }, "sha256Digest": "1ded28b781b6be42b7006fa1a9784d33a90cef43690034dfd22f890519737570" - } - ], - "alias": [ + }, { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/alias-0.5.2-py2.py3-none-any.whl", - "filename": "alias-0.5.2-py2.py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/aks_preview-0.4.39-py2.py3-none-any.whl", + "filename": "aks_preview-0.4.39-py2.py3-none-any.whl", "metadata": { "azext.isPreview": true, - "azext.minCliCoreVersion": "2.0.50.dev0", + "azext.minCliCoreVersion": "2.0.49", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Intended Audience :: System Administrators", "Programming Language :: Python", - "Programming Language :: Python :: 2", - "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.4", - "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", "License :: OSI Approved :: MIT License" ], "extensions": { "python.details": { "contacts": [ { - "email": "t-chwong@microsoft.com", - "name": "Ernest Wong", + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", "role": "author" } ], @@ -353,52 +528,42 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions" + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/aks-preview" } } }, - "extras": [], - "generator": "bdist_wheel (0.29.0)", + "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "alias", - "run_requires": [ - { - "requires": [ - "jinja2 (~=2.10)" - ] - } - ], - "summary": "Support for command aliases", - "version": "0.5.2" + "name": "aks-preview", + "summary": "Provides a preview for upcoming AKS features", + "version": "0.4.39" }, - "sha256Digest": "05f82d75026e780d27bd34a1be57f4ec0f425500d8ab4ee7e92fee07b944da33" + "sha256Digest": "0fdcf5377dcd987221405a3cce324cf823d6f22f0cedd0ea6dc7e3b357be50c4" }, { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/alias-0.5.1-py2.py3-none-any.whl", - "filename": "alias-0.5.1-py2.py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/aks_preview-0.4.40-py2.py3-none-any.whl", + "filename": "aks_preview-0.4.40-py2.py3-none-any.whl", "metadata": { "azext.isPreview": true, - "azext.minCliCoreVersion": "2.0.31.dev0", + "azext.minCliCoreVersion": "2.0.49", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Intended Audience :: System Administrators", "Programming Language :: Python", - "Programming Language :: Python :: 2", - "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.4", - "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", "License :: OSI Approved :: MIT License" ], "extensions": { "python.details": { "contacts": [ { - "email": "t-chwong@microsoft.com", - "name": "Ernest Wong", + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", "role": "author" } ], @@ -406,41 +571,42 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions" + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/aks-preview" } } }, - "extras": [], "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "alias", - "run_requires": [ - { - "requires": [ - "jinja2 (~=2.10)" - ] - } - ], - "summary": "Support for command aliases", - "version": "0.5.1" + "name": "aks-preview", + "summary": "Provides a preview for upcoming AKS features", + "version": "0.4.40" }, - "sha256Digest": "81b9a7f1824bffcbd6e72680891476151dde868e030cdbf1bfd9135e1a8f3447" - } - ], - "application-insights": [ + "sha256Digest": "ea0e3e82ed682134734460b8a6489c4e586cfca97706cc2037d9ace16491c286" + }, { - "downloadUrl": "https://appinsightscli.blob.core.windows.net/controlplane-cli/application_insights-0.1.1-py2.py3-none-any.whl", - "filename": "application_insights-0.1.1-py2.py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/aks_preview-0.4.41-py2.py3-none-any.whl", + "filename": "aks_preview-0.4.41-py2.py3-none-any.whl", "metadata": { "azext.isPreview": true, - "azext.minCliCoreVersion": "2.0.56", + "azext.minCliCoreVersion": "2.0.49", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "License :: OSI Approved :: MIT License" + ], "extensions": { "python.details": { "contacts": [ { - "email": "aleldeib@microsoft.com", - "name": "Ace Eldeib", + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", "role": "author" } ], @@ -448,63 +614,85 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/application-insights" + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/aks-preview" } } }, "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "application-insights", - "summary": "Support for managing Application Insights components and querying metrics, events, and logs from such components.", - "version": "0.1.1" + "name": "aks-preview", + "summary": "Provides a preview for upcoming AKS features", + "version": "0.4.41" }, - "sha256Digest": "6a03b2b1a78f44e096650870d02fc2d86ee30fb07a42656716f1ced9d8651831" + "sha256Digest": "f2c6b7d062f3798400b274926e70123fe02ea8bd6a94f645bbf5c1474ce42e33" }, { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/application_insights-0.1.3-py2.py3-none-any.whl", - "filename": "application_insights-0.1.3-py2.py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/aks_preview-0.4.42-py2.py3-none-any.whl", + "filename": "aks_preview-0.4.42-py2.py3-none-any.whl", "metadata": { "azext.isPreview": true, - "azext.minCliCoreVersion": "2.0.79", - "extensions": { - "python.details": { - "contacts": [ - { - "email": "aleldeib@microsoft.com", - "name": "Ace Eldeib", - "role": "author" - } - ], + "azext.minCliCoreVersion": "2.0.49", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "License :: OSI Approved :: MIT License" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], "document_names": { "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/application-insights" + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/aks-preview" } } }, "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "application-insights", - "summary": "Support for managing Application Insights components and querying metrics, events, and logs from such components.", - "version": "0.1.3" + "name": "aks-preview", + "summary": "Provides a preview for upcoming AKS features", + "version": "0.4.42" }, - "sha256Digest": "e5b8104da5d9f241a0599adeb3b1d2f910f00991f47d4f4c4095285de3a82f00" + "sha256Digest": "8b7b592b640b4e46410cf97600106c277506403487e083a3496c33c634e63a06" }, { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/application_insights-0.1.4-py2.py3-none-any.whl", - "filename": "application_insights-0.1.4-py2.py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/aks_preview-0.4.43-py2.py3-none-any.whl", + "filename": "aks_preview-0.4.43-py2.py3-none-any.whl", "metadata": { "azext.isPreview": true, - "azext.minCliCoreVersion": "2.0.79", + "azext.minCliCoreVersion": "2.0.49", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "License :: OSI Approved :: MIT License" + ], "extensions": { "python.details": { "contacts": [ { - "email": "aleldeib@microsoft.com", - "name": "Ace Eldeib", + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", "role": "author" } ], @@ -512,44 +700,42 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/application-insights" + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/aks-preview" } } }, "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "application-insights", - "summary": "Support for managing Application Insights components and querying metrics, events, and logs from such components.", - "version": "0.1.4" + "name": "aks-preview", + "summary": "Provides a preview for upcoming AKS features", + "version": "0.4.43" }, - "sha256Digest": "8b4ef4870b16a15fd81af385c3dff762e7af52333e212a68b5ec5f42663a6078" + "sha256Digest": "d351dc69bac520400beffaa571dccdd1fd37534c28309fa703ae59802d25cad5" }, { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/application_insights-0.1.5-py2.py3-none-any.whl", - "filename": "application_insights-0.1.5-py2.py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/aks_preview-0.4.44-py2.py3-none-any.whl", + "filename": "aks_preview-0.4.44-py2.py3-none-any.whl", "metadata": { "azext.isPreview": true, - "azext.minCliCoreVersion": "2.0.79", + "azext.minCliCoreVersion": "2.0.49", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Intended Audience :: System Administrators", "Programming Language :: Python", - "Programming Language :: Python :: 2", - "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.4", - "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", "License :: OSI Approved :: MIT License" ], "extensions": { "python.details": { "contacts": [ { - "email": "aleldeib@microsoft.com", - "name": "Ace Eldeib", + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", "role": "author" } ], @@ -557,44 +743,42 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/application-insights" + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/aks-preview" } } }, "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "application-insights", - "summary": "Support for managing Application Insights components and querying metrics, events, and logs from such components.", - "version": "0.1.5" + "name": "aks-preview", + "summary": "Provides a preview for upcoming AKS features", + "version": "0.4.44" }, - "sha256Digest": "effa0a37f1e8b2506d4849a2208d69f06a6683809e5da809bea63bd0f940da2f" + "sha256Digest": "544d8dbab694fd5a2e04a1cac310e36881682e309c5df772f037451e3d7da51c" }, { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/application_insights-0.1.6-py2.py3-none-any.whl", - "filename": "application_insights-0.1.6-py2.py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/aks_preview-0.4.45-py2.py3-none-any.whl", + "filename": "aks_preview-0.4.45-py2.py3-none-any.whl", "metadata": { "azext.isPreview": true, - "azext.minCliCoreVersion": "2.0.79", + "azext.minCliCoreVersion": "2.0.49", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Intended Audience :: System Administrators", "Programming Language :: Python", - "Programming Language :: Python :: 2", - "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.4", - "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", "License :: OSI Approved :: MIT License" ], "extensions": { "python.details": { "contacts": [ { - "email": "aleldeib@microsoft.com", - "name": "Ace Eldeib", + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", "role": "author" } ], @@ -602,27 +786,36 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/application-insights" + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/aks-preview" } } }, "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "application-insights", - "summary": "Support for managing Application Insights components and querying metrics, events, and logs from such components.", - "version": "0.1.6" + "name": "aks-preview", + "summary": "Provides a preview for upcoming AKS features", + "version": "0.4.45" }, - "sha256Digest": "271db7f2036eb245d3d00d5010468330e4ed97e7ed9756598e61a1960d37ac44" - } - ], - "azure-batch-cli-extensions": [ + "sha256Digest": "78b8536cf5b4349d47a3d1742d36514f99780ef8eff31336d8cb5dfc2e5c6080" + }, { - "downloadUrl": "https://github.com/Azure/azure-batch-cli-extensions/releases/download/azure-batch-cli-extensions-2.5.3/azure_batch_cli_extensions-2.5.3-py2.py3-none-any.whl", - "filename": "azure_batch_cli_extensions-2.5.3-py2.py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/aks_preview-0.4.47-py2.py3-none-any.whl", + "filename": "aks_preview-0.4.47-py2.py3-none-any.whl", "metadata": { - "azext.maxCliCoreVersion": "2.0.58", - "azext.minCliCoreVersion": "2.0.24", + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.0.49", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "License :: OSI Approved :: MIT License" + ], "extensions": { "python.details": { "contacts": [ @@ -636,34 +829,36 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-batch-cli-extensions" + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/aks-preview" } } }, - "extras": [], "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "azure-batch-cli-extensions", - "run_requires": [ - { - "requires": [ - "azure-batch-extensions (<4.1,>=4.0.0)", - "pycparser (==2.18)" - ] - } - ], - "summary": "Additional commands for working with Azure Batch service", - "version": "2.5.3" + "name": "aks-preview", + "summary": "Provides a preview for upcoming AKS features", + "version": "0.4.47" }, - "sha256Digest": "cc30b985edd5de0233d4fd283cfa29390d119c223b2f819ca36e071f759d5485" + "sha256Digest": "042b4acfecdc98059907abce1224c0865f1a61abd566fdc00e09a61436a52e27" }, { - "downloadUrl": "https://github.com/Azure/azure-batch-cli-extensions/releases/download/azure-batch-cli-extensions-3.0.4/azure_batch_cli_extensions-3.0.4-py2.py3-none-any.whl", - "filename": "azure_batch_cli_extensions-3.0.4-py2.py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/aks_preview-0.4.49-py2.py3-none-any.whl", + "filename": "aks_preview-0.4.49-py2.py3-none-any.whl", "metadata": { - "azext.maxCliCoreVersion": "2.1.0", - "azext.minCliCoreVersion": "2.0.59", + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.0.49", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "License :: OSI Approved :: MIT License" + ], "extensions": { "python.details": { "contacts": [ @@ -677,45 +872,34 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-batch-cli-extensions" + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/aks-preview" } } }, - "extras": [], "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "azure-batch-cli-extensions", - "run_requires": [ - { - "requires": [ - "azure-batch-extensions (<5.1,>=5.0.0)", - "pycparser (==2.18)" - ] - } - ], - "summary": "Additional commands for working with Azure Batch service", - "version": "3.0.4" + "name": "aks-preview", + "summary": "Provides a preview for upcoming AKS features", + "version": "0.4.49" }, - "sha256Digest": "9e76b7242934ceb8ae48c65f5469312522a034f4abf66d4771fb721aee04a502" + "sha256Digest": "ccd0ec11a5fe08427547eb65111ab5c4bab5a59d2eb8d90173d3afa242260518" }, { - "downloadUrl": "https://github.com/Azure/azure-batch-cli-extensions/releases/download/azure-batch-cli-extensions-4.0.0/azure_batch_cli_extensions-4.0.0-py2.py3-none-any.whl", - "filename": "azure_batch_cli_extensions-4.0.0-py2.py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/aks_preview-0.4.50-py2.py3-none-any.whl", + "filename": "aks_preview-0.4.50-py2.py3-none-any.whl", "metadata": { - "azext.maxCliCoreVersion": "2.1.0", - "azext.minCliCoreVersion": "2.0.69", + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.0.49", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Intended Audience :: System Administrators", "Programming Language :: Python", - "Programming Language :: Python :: 2", - "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.4", - "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", "License :: OSI Approved :: MIT License" ], "extensions": { @@ -731,34 +915,36 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-batch-cli-extensions" + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/aks-preview" } } }, - "extras": [], "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "azure-batch-cli-extensions", - "run_requires": [ - { - "requires": [ - "azure-batch-extensions (<6.1,>=6.0.0)", - "pycparser (==2.18)" - ] - } - ], - "summary": "Additional commands for working with Azure Batch service", - "version": "4.0.0" + "name": "aks-preview", + "summary": "Provides a preview for upcoming AKS features", + "version": "0.4.50" }, - "sha256Digest": "3045dc24858b9acfed13a517038830ddc643aef779de0d14617c49c9fd2dcbd5" + "sha256Digest": "4c00426e0e993c1a1205a9e09500025cadf287b5ba9c7248027bd91922a94688" }, { - "downloadUrl": "https://github.com/Azure/azure-batch-cli-extensions/releases/download/azure-batch-cli-extensions-5.0.1/azure_batch_cli_extensions-5.0.1-py2.py3-none-any.whl", - "filename": "azure_batch_cli_extensions-5.0.1-py2.py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/aks_preview-0.4.51-py2.py3-none-any.whl", + "filename": "aks_preview-0.4.51-py2.py3-none-any.whl", "metadata": { - "azext.maxCliCoreVersion": "3.0.0", - "azext.minCliCoreVersion": "2.0.73", + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.0.49", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "License :: OSI Approved :: MIT License" + ], "extensions": { "python.details": { "contacts": [ @@ -772,45 +958,33 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-batch-cli-extensions" + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/aks-preview" } } }, - "extras": [], "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "azure-batch-cli-extensions", - "run_requires": [ - { - "requires": [ - "azure-batch-extensions (<7.1,>=7.0.0)", - "pycparser (==2.18)" - ] - } - ], - "summary": "Additional commands for working with Azure Batch service", - "version": "5.0.1" + "name": "aks-preview", + "summary": "Provides a preview for upcoming AKS features", + "version": "0.4.51" }, - "sha256Digest": "bf07b63782e0f6446302971afaf8b5ec5bb6dbc00449bf3276511993abf8cd61" + "sha256Digest": "60db16bbf0149d80545044dbcb6a353822f867876b2a2547e584432775bd2bf7" } ], - "azure-cli-iot-ext": [ + "alertsmanagement": [ { - "downloadUrl": "https://github.com/Azure/azure-iot-cli-extension/releases/download/v0.8.9/azure_cli_iot_ext-0.8.9-py2.py3-none-any.whl", - "filename": "azure_cli_iot_ext-0.8.9-py2.py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/alertsmanagement-0.1.0-py2.py3-none-any.whl", + "filename": "alertsmanagement-0.1.0-py2.py3-none-any.whl", "metadata": { - "azext.minCliCoreVersion": "2.0.70", + "azext.isExperimental": true, + "azext.minCliCoreVersion": "2.3.1", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Intended Audience :: System Administrators", "Programming Language :: Python", - "Programming Language :: Python :: 2", - "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.4", - "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", @@ -820,8 +994,8 @@ "python.details": { "contacts": [ { - "email": "iotupx@microsoft.com", - "name": "Microsoft", + "email": "fey@microsoft.com", + "name": "Github:qwordy", "role": "author" } ], @@ -829,32 +1003,3240 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/azure/azure-iot-cli-extension" + "Home": "https://github.com/Azure/azure-cli-extensions" } } }, - "extras": [], "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "azure-cli-iot-ext", - "run_requires": [ - { - "requires": [ - "jsonschema (==3.0.2)", - "paho-mqtt (==1.5.0)", - "setuptools" - ] + "name": "alertsmanagement", + "summary": "Microsoft Azure Command-Line Tools Alerts Extension", + "version": "0.1.0" + }, + "sha256Digest": "80ab78574debff9d8a9106bac3929cb552adea1371ea24f06073669fef708fcd" + } + ], + "alias": [ + { + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/alias-0.5.2-py2.py3-none-any.whl", + "filename": "alias-0.5.2-py2.py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.0.50.dev0", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 2", + "Programming Language :: Python :: 2.7", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.4", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "License :: OSI Approved :: MIT License" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "t-chwong@microsoft.com", + "name": "Ernest Wong", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions" + } + } + }, + "extras": [], + "generator": "bdist_wheel (0.29.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "alias", + "run_requires": [ + { + "requires": [ + "jinja2 (~=2.10)" + ] + } + ], + "summary": "Support for command aliases", + "version": "0.5.2" + }, + "sha256Digest": "05f82d75026e780d27bd34a1be57f4ec0f425500d8ab4ee7e92fee07b944da33" + }, + { + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/alias-0.5.1-py2.py3-none-any.whl", + "filename": "alias-0.5.1-py2.py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.0.31.dev0", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 2", + "Programming Language :: Python :: 2.7", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.4", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "License :: OSI Approved :: MIT License" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "t-chwong@microsoft.com", + "name": "Ernest Wong", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions" + } + } + }, + "extras": [], + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "alias", + "run_requires": [ + { + "requires": [ + "jinja2 (~=2.10)" + ] + } + ], + "summary": "Support for command aliases", + "version": "0.5.1" + }, + "sha256Digest": "81b9a7f1824bffcbd6e72680891476151dde868e030cdbf1bfd9135e1a8f3447" + } + ], + "application-insights": [ + { + "downloadUrl": "https://appinsightscli.blob.core.windows.net/controlplane-cli/application_insights-0.1.1-py2.py3-none-any.whl", + "filename": "application_insights-0.1.1-py2.py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.0.56", + "extensions": { + "python.details": { + "contacts": [ + { + "email": "aleldeib@microsoft.com", + "name": "Ace Eldeib", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/application-insights" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "application-insights", + "summary": "Support for managing Application Insights components and querying metrics, events, and logs from such components.", + "version": "0.1.1" + }, + "sha256Digest": "6a03b2b1a78f44e096650870d02fc2d86ee30fb07a42656716f1ced9d8651831" + }, + { + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/application_insights-0.1.3-py2.py3-none-any.whl", + "filename": "application_insights-0.1.3-py2.py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.0.79", + "extensions": { + "python.details": { + "contacts": [ + { + "email": "aleldeib@microsoft.com", + "name": "Ace Eldeib", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/application-insights" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "application-insights", + "summary": "Support for managing Application Insights components and querying metrics, events, and logs from such components.", + "version": "0.1.3" + }, + "sha256Digest": "e5b8104da5d9f241a0599adeb3b1d2f910f00991f47d4f4c4095285de3a82f00" + }, + { + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/application_insights-0.1.4-py2.py3-none-any.whl", + "filename": "application_insights-0.1.4-py2.py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.0.79", + "extensions": { + "python.details": { + "contacts": [ + { + "email": "aleldeib@microsoft.com", + "name": "Ace Eldeib", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/application-insights" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "application-insights", + "summary": "Support for managing Application Insights components and querying metrics, events, and logs from such components.", + "version": "0.1.4" + }, + "sha256Digest": "8b4ef4870b16a15fd81af385c3dff762e7af52333e212a68b5ec5f42663a6078" + }, + { + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/application_insights-0.1.5-py2.py3-none-any.whl", + "filename": "application_insights-0.1.5-py2.py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.0.79", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 2", + "Programming Language :: Python :: 2.7", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.4", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "License :: OSI Approved :: MIT License" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "aleldeib@microsoft.com", + "name": "Ace Eldeib", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/application-insights" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "application-insights", + "summary": "Support for managing Application Insights components and querying metrics, events, and logs from such components.", + "version": "0.1.5" + }, + "sha256Digest": "effa0a37f1e8b2506d4849a2208d69f06a6683809e5da809bea63bd0f940da2f" + }, + { + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/application_insights-0.1.6-py2.py3-none-any.whl", + "filename": "application_insights-0.1.6-py2.py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.0.79", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 2", + "Programming Language :: Python :: 2.7", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.4", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "License :: OSI Approved :: MIT License" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "aleldeib@microsoft.com", + "name": "Ace Eldeib", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/application-insights" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "application-insights", + "summary": "Support for managing Application Insights components and querying metrics, events, and logs from such components.", + "version": "0.1.6" + }, + "sha256Digest": "271db7f2036eb245d3d00d5010468330e4ed97e7ed9756598e61a1960d37ac44" + }, + { + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/application_insights-0.1.7-py2.py3-none-any.whl", + "filename": "application_insights-0.1.7-py2.py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.0.79", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 2", + "Programming Language :: Python :: 2.7", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.4", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "License :: OSI Approved :: MIT License" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "aleldeib@microsoft.com", + "name": "Ace Eldeib", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/application-insights" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "application-insights", + "summary": "Support for managing Application Insights components and querying metrics, events, and logs from such components.", + "version": "0.1.7" + }, + "sha256Digest": "6cb8c879d0960e6f41e1273c309253d7d7ca42089694fcf5e500d0a27ae89b59" + }, + { + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/application_insights-0.1.8-py2.py3-none-any.whl", + "filename": "application_insights-0.1.8-py2.py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.0.79", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 2", + "Programming Language :: Python :: 2.7", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.4", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "License :: OSI Approved :: MIT License" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "aleldeib@microsoft.com", + "name": "Ace Eldeib", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/application-insights" + } + } + }, + "extras": [], + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "application-insights", + "run_requires": [ + { + "requires": [ + "isodate (~=0.6.0)" + ] + } + ], + "summary": "Support for managing Application Insights components and querying metrics, events, and logs from such components.", + "version": "0.1.8" + }, + "sha256Digest": "f2f041e166f0b587e7c92252ef59e3bcecb8721f15c5e96f4496871a85a81f61" + } + ], + "azure-batch-cli-extensions": [ + { + "downloadUrl": "https://github.com/Azure/azure-batch-cli-extensions/releases/download/azure-batch-cli-extensions-2.5.3/azure_batch_cli_extensions-2.5.3-py2.py3-none-any.whl", + "filename": "azure_batch_cli_extensions-2.5.3-py2.py3-none-any.whl", + "metadata": { + "azext.maxCliCoreVersion": "2.0.58", + "azext.minCliCoreVersion": "2.0.24", + "extensions": { + "python.details": { + "contacts": [ + { + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-batch-cli-extensions" + } + } + }, + "extras": [], + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "azure-batch-cli-extensions", + "run_requires": [ + { + "requires": [ + "azure-batch-extensions (<4.1,>=4.0.0)", + "pycparser (==2.18)" + ] + } + ], + "summary": "Additional commands for working with Azure Batch service", + "version": "2.5.3" + }, + "sha256Digest": "cc30b985edd5de0233d4fd283cfa29390d119c223b2f819ca36e071f759d5485" + }, + { + "downloadUrl": "https://github.com/Azure/azure-batch-cli-extensions/releases/download/azure-batch-cli-extensions-3.0.4/azure_batch_cli_extensions-3.0.4-py2.py3-none-any.whl", + "filename": "azure_batch_cli_extensions-3.0.4-py2.py3-none-any.whl", + "metadata": { + "azext.maxCliCoreVersion": "2.1.0", + "azext.minCliCoreVersion": "2.0.59", + "extensions": { + "python.details": { + "contacts": [ + { + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-batch-cli-extensions" + } + } + }, + "extras": [], + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "azure-batch-cli-extensions", + "run_requires": [ + { + "requires": [ + "azure-batch-extensions (<5.1,>=5.0.0)", + "pycparser (==2.18)" + ] + } + ], + "summary": "Additional commands for working with Azure Batch service", + "version": "3.0.4" + }, + "sha256Digest": "9e76b7242934ceb8ae48c65f5469312522a034f4abf66d4771fb721aee04a502" + }, + { + "downloadUrl": "https://github.com/Azure/azure-batch-cli-extensions/releases/download/azure-batch-cli-extensions-4.0.0/azure_batch_cli_extensions-4.0.0-py2.py3-none-any.whl", + "filename": "azure_batch_cli_extensions-4.0.0-py2.py3-none-any.whl", + "metadata": { + "azext.maxCliCoreVersion": "2.1.0", + "azext.minCliCoreVersion": "2.0.69", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 2", + "Programming Language :: Python :: 2.7", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.4", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "License :: OSI Approved :: MIT License" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-batch-cli-extensions" + } + } + }, + "extras": [], + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "azure-batch-cli-extensions", + "run_requires": [ + { + "requires": [ + "azure-batch-extensions (<6.1,>=6.0.0)", + "pycparser (==2.18)" + ] + } + ], + "summary": "Additional commands for working with Azure Batch service", + "version": "4.0.0" + }, + "sha256Digest": "3045dc24858b9acfed13a517038830ddc643aef779de0d14617c49c9fd2dcbd5" + }, + { + "downloadUrl": "https://github.com/Azure/azure-batch-cli-extensions/releases/download/azure-batch-cli-extensions-5.0.1/azure_batch_cli_extensions-5.0.1-py2.py3-none-any.whl", + "filename": "azure_batch_cli_extensions-5.0.1-py2.py3-none-any.whl", + "metadata": { + "azext.maxCliCoreVersion": "3.0.0", + "azext.minCliCoreVersion": "2.0.73", + "extensions": { + "python.details": { + "contacts": [ + { + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-batch-cli-extensions" + } + } + }, + "extras": [], + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "azure-batch-cli-extensions", + "run_requires": [ + { + "requires": [ + "azure-batch-extensions (<7.1,>=7.0.0)", + "pycparser (==2.18)" + ] + } + ], + "summary": "Additional commands for working with Azure Batch service", + "version": "5.0.1" + }, + "sha256Digest": "bf07b63782e0f6446302971afaf8b5ec5bb6dbc00449bf3276511993abf8cd61" + } + ], + "azure-cli-iot-ext": [ + { + "downloadUrl": "https://github.com/Azure/azure-iot-cli-extension/releases/download/v0.8.9/azure_cli_iot_ext-0.8.9-py2.py3-none-any.whl", + "filename": "azure_cli_iot_ext-0.8.9-py2.py3-none-any.whl", + "metadata": { + "azext.minCliCoreVersion": "2.0.70", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 2", + "Programming Language :: Python :: 2.7", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.4", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "License :: OSI Approved :: MIT License" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "iotupx@microsoft.com", + "name": "Microsoft", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/azure/azure-iot-cli-extension" + } + } + }, + "extras": [], + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "azure-cli-iot-ext", + "run_requires": [ + { + "requires": [ + "jsonschema (==3.0.2)", + "paho-mqtt (==1.5.0)", + "setuptools" + ] + } + ], + "summary": "The Azure IoT extension for Azure CLI.", + "version": "0.8.9" + }, + "sha256Digest": "080ea8af36c301bc2ed667eca5585f627c5a6f2de9a44eb903f83b156d2a2ee6" + }, + { + "downloadUrl": "https://github.com/Azure/azure-iot-cli-extension/releases/download/v0.7.1/azure_cli_iot_ext-0.7.1-py2.py3-none-any.whl", + "filename": "azure_cli_iot_ext-0.7.1-py2.py3-none-any.whl", + "metadata": { + "azext.minCliCoreVersion": "2.0.24", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 2", + "Programming Language :: Python :: 2.7", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.4", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "License :: OSI Approved :: MIT License" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "iotupx@microsoft.com", + "name": "Microsoft", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/azure/azure-iot-cli-extension" + } + } + }, + "extras": [], + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "azure-cli-iot-ext", + "run_requires": [ + { + "requires": [ + "paho-mqtt (==1.3.1)" + ] + } + ], + "summary": "Provides the data plane command layer for Azure IoT Hub, IoT Edge and IoT Device Provisioning Service", + "version": "0.7.1" + }, + "sha256Digest": "0a8431db427db693ba6bcfe9572b4fceda6b20190be99990b1bb8c75a7c89405" + } + ], + "azure-cli-ml": [ + { + "downloadUrl": "https://azurecliext.blob.core.windows.net/release/azure_cli_ml-1.7.0-py3-none-any.whl", + "filename": "azure_cli_ml-1.7.0-py3-none-any.whl", + "metadata": { + "azext.minCliCoreVersion": "2.3.1", + "classifiers": [ + "Development Status :: 3 - Alpha", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8" + ], + "description_content_type": "text/x-rst", + "extensions": { + "python.details": { + "contacts": [ + { + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst", + "license": "LICENSE.txt" + }, + "project_urls": { + "Home": "https://docs.microsoft.com/azure/machine-learning/service/" + } + } + }, + "extras": [], + "generator": "bdist_wheel (0.30.0)", + "license": "Proprietary https://aka.ms/azureml-preview-sdk-license ", + "metadata_version": "2.0", + "name": "azure-cli-ml", + "requires_python": ">=3.5,<4", + "run_requires": [ + { + "requires": [ + "adal (>=1.2.1)", + "azureml-cli-common (~=1.7.0)", + "docker (>=3.7.2)", + "msrest (>=0.6.6)", + "pyyaml (>=5.1.0)", + "requests (>=2.21.0)" + ] + } + ], + "summary": "Microsoft Azure Command-Line Tools AzureML Command Module", + "test_requires": [ + { + "requires": [ + "azure-keyvault", + "mock", + "nose", + "unittest-xml-reporting" + ] + } + ], + "version": "1.7.0" + }, + "sha256Digest": "581c64ad73766b09dde4a3c3527d5d5720d653528bdda102b39b39b7ad2d8555" + }, + { + "downloadUrl": "https://azurecliext.blob.core.windows.net/release/azure_cli_ml-1.5.0-py2.py3-none-any.whl", + "filename": "azure_cli_ml-1.5.0-py2.py3-none-any.whl", + "metadata": { + "azext.minCliCoreVersion": "2.0.28", + "classifiers": [ + "Development Status :: 3 - Alpha", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8" + ], + "description_content_type": "text/x-rst", + "extensions": { + "python.details": { + "contacts": [ + { + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst", + "license": "LICENSE.txt" + }, + "project_urls": { + "Home": "https://docs.microsoft.com/azure/machine-learning/service/" + } + } + }, + "extras": [], + "generator": "bdist_wheel (0.30.0)", + "license": "Proprietary https://aka.ms/azureml-preview-sdk-license ", + "metadata_version": "2.0", + "name": "azure-cli-ml", + "requires_python": ">=3.5,<4", + "run_requires": [ + { + "requires": [ + "adal (>=1.2.1)", + "azureml-cli-common (~=1.5.0)", + "docker (>=3.7.2)", + "msrest (>=0.6.6)", + "pyyaml (>=5.1.0)", + "requests (>=2.21.0)" + ] + } + ], + "summary": "Microsoft Azure Command-Line Tools AzureML Command Module", + "test_requires": [ + { + "requires": [ + "azure-keyvault", + "mock", + "nose", + "unittest-xml-reporting" + ] + } + ], + "version": "1.5.0" + }, + "sha256Digest": "a535f01501a06f70d26a75f5ccde2d32640d3c7efec302fc2fc454bfb867e946" + } + ], + "azure-devops": [ + { + "downloadUrl": "https://github.com/Azure/azure-devops-cli-extension/releases/download/20190805.1/azure_devops-0.12.0-py2.py3-none-any.whl", + "filename": "azure_devops-0.12.0-py2.py3-none-any.whl", + "metadata": { + "azext.minCliCoreVersion": "2.0.49", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 2", + "Programming Language :: Python :: 2.7", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.4", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "License :: OSI Approved :: MIT License" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "VSTS_Social@microsoft.com", + "name": "Microsoft", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Microsoft/azure-devops-cli-extension" + } + } + }, + "extras": [], + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "azure-devops", + "run_requires": [ + { + "requires": [ + "distro (==1.3.0)", + "msrest (<0.7.0,>=0.6.0)", + "python-dateutil (==2.7.3)" + ] + } + ], + "summary": "Tools for managing Azure DevOps.", + "version": "0.12.0" + }, + "sha256Digest": "2abdfd1b760e1968176cd4043e2db7edf951978c6a2182eb5e79bb0c8070af4c" + }, + { + "downloadUrl": "https://github.com/Azure/azure-devops-cli-extension/releases/download/20200113.1/azure_devops-0.17.0-py2.py3-none-any.whl", + "filename": "azure_devops-0.17.0-py2.py3-none-any.whl", + "metadata": { + "azext.minCliCoreVersion": "2.0.69", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 2", + "Programming Language :: Python :: 2.7", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.4", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "License :: OSI Approved :: MIT License" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "VSTS_Social@microsoft.com", + "name": "Microsoft", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Microsoft/azure-devops-cli-extension" + } + } + }, + "extras": [], + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "azure-devops", + "run_requires": [ + { + "requires": [ + "distro (==1.3.0)", + "msrest (<0.7.0,>=0.6.0)", + "python-dateutil (==2.7.3)" + ] + } + ], + "summary": "Tools for managing Azure DevOps.", + "version": "0.17.0" + }, + "sha256Digest": "1e891afc8b6ee52c62c4f99802d77728ff60e89e4c08972325178cc4fdac6be9" + }, + { + "downloadUrl": "https://github.com/Azure/azure-devops-cli-extension/releases/download/20200401.4/azure_devops-0.18.0-py2.py3-none-any.whl", + "filename": "azure_devops-0.18.0-py2.py3-none-any.whl", + "metadata": { + "azext.minCliCoreVersion": "2.2.0", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.4", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "License :: OSI Approved :: MIT License" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "VSTS_Social@microsoft.com", + "name": "Microsoft", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Microsoft/azure-devops-cli-extension" + } + } + }, + "extras": [], + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "azure-devops", + "run_requires": [ + { + "requires": [ + "distro (==1.3.0)", + "msrest (<0.7.0,>=0.6.0)", + "python-dateutil (==2.7.3)" + ] + } + ], + "summary": "Tools for managing Azure DevOps.", + "version": "0.18.0" + }, + "sha256Digest": "21fd9bf9c01a315184f11d7f709f354075118c298fd662472273cb003bfbe23e" + } + ], + "azure-firewall": [ + { + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/azure_firewall-0.1.3-py2.py3-none-any.whl", + "filename": "azure_firewall-0.1.3-py2.py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.0.46", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 2", + "Programming Language :: Python :: 2.7", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.4", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "License :: OSI Approved :: MIT License" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/azure-firewall" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "azure-firewall", + "summary": "Manage Azure Firewall resources.", + "version": "0.1.3" + }, + "sha256Digest": "116c1324206e8aa0e7cffdd719a12e87b2977a061fcd9fb96ae4b6fbe223e93f" + }, + { + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/azure_firewall-0.1.9-py2.py3-none-any.whl", + "filename": "azure_firewall-0.1.9-py2.py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.0.67", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 2", + "Programming Language :: Python :: 2.7", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.4", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "License :: OSI Approved :: MIT License" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/azure-firewall" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "azure-firewall", + "summary": "Manage Azure Firewall resources.", + "version": "0.1.9" + }, + "sha256Digest": "f20c18b5b176dd39815dee4d344368774b58bb2f4f03c28b89ee08212e45856a" + }, + { + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/azure_firewall-0.2.0-py2.py3-none-any.whl", + "filename": "azure_firewall-0.2.0-py2.py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.0.67", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 2", + "Programming Language :: Python :: 2.7", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.4", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "License :: OSI Approved :: MIT License" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/azure-firewall" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "azure-firewall", + "summary": "Manage Azure Firewall resources.", + "version": "0.2.0" + }, + "sha256Digest": "7934510bc2ed4d83c8dbee7d2d22c3de2332b96020e2f45515035153f94a246f" + }, + { + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/azure_firewall-0.3.0-py2.py3-none-any.whl", + "filename": "azure_firewall-0.3.0-py2.py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.0.67", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 2", + "Programming Language :: Python :: 2.7", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.4", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "License :: OSI Approved :: MIT License" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/azure-firewall" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "azure-firewall", + "summary": "Manage Azure Firewall resources.", + "version": "0.3.0" + }, + "sha256Digest": "12e5f8567ba8a74988f50ec6ed3539fad5b9e491727b0bc2c16e7acc34f49423" + }, + { + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/azure_firewall-0.3.1-py2.py3-none-any.whl", + "filename": "azure_firewall-0.3.1-py2.py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.0.67", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 2", + "Programming Language :: Python :: 2.7", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.4", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "License :: OSI Approved :: MIT License" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/azure-firewall" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "azure-firewall", + "summary": "Manage Azure Firewall resources.", + "version": "0.3.1" + }, + "sha256Digest": "32e10a4e96a891151959680ff3cbf3e28ea0cf38e49ac062c49c668d00e5d7d7" + }, + { + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/azure_firewall-0.4.0-py2.py3-none-any.whl", + "filename": "azure_firewall-0.4.0-py2.py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.0.67", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 2", + "Programming Language :: Python :: 2.7", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.4", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "License :: OSI Approved :: MIT License" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/azure-firewall" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "azure-firewall", + "summary": "Manage Azure Firewall resources.", + "version": "0.4.0" + }, + "sha256Digest": "5c79cedfc5abf134f4b47ad5d867ff5852d2ba17f710d44a2101fe0aa51b1a48" + } + ], + "azure-iot": [ + { + "downloadUrl": "https://github.com/Azure/azure-iot-cli-extension/releases/download/v0.9.5/azure_iot-0.9.5-py2.py3-none-any.whl", + "filename": "azure_iot-0.9.5-py2.py3-none-any.whl", + "metadata": { + "azext.minCliCoreVersion": "2.0.70", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "License :: OSI Approved :: MIT License" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "iotupx@microsoft.com", + "name": "Microsoft", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/azure/azure-iot-cli-extension" + } + } + }, + "extras": [], + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "azure-iot", + "run_requires": [ + { + "requires": [ + "jsonschema (==3.0.2)", + "paho-mqtt (==1.5.0)", + "setuptools" + ] + } + ], + "summary": "The Azure IoT extension for Azure CLI.", + "version": "0.9.5" + }, + "sha256Digest": "50e4e60d524343c0873d402d43afffbbb2cc7cbd57553a6bedb7d3a86d822611" + }, + { + "downloadUrl": "https://github.com/Azure/azure-iot-cli-extension/releases/download/v0.9.4/azure_iot-0.9.4-py2.py3-none-any.whl", + "filename": "azure_iot-0.9.4-py2.py3-none-any.whl", + "metadata": { + "azext.minCliCoreVersion": "2.0.70", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "License :: OSI Approved :: MIT License" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "iotupx@microsoft.com", + "name": "Microsoft", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/azure/azure-iot-cli-extension" + } + } + }, + "extras": [], + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "azure-iot", + "run_requires": [ + { + "requires": [ + "jsonschema (==3.0.2)", + "paho-mqtt (==1.5.0)", + "setuptools" + ] + } + ], + "summary": "The Azure IoT extension for Azure CLI.", + "version": "0.9.4" + }, + "sha256Digest": "bbf330942daac0035bd9bb9a0fdeaf297124ec8cd98e28e46adb2bf34070295b" + } + ], + "blockchain": [ + { + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/blockchain-0.1.0-py3-none-any.whl", + "filename": "blockchain-0.1.0-py3-none-any.whl", + "metadata": { + "azext.isExperimental": true, + "azext.minCliCoreVersion": "2.3.1", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "License :: OSI Approved :: MIT License" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "blockchain", + "summary": "Microsoft Azure Command-Line Tools BlockchainManagementClient Extension", + "version": "0.1.0" + }, + "sha256Digest": "ba0001dffaf39d133604c4281ed9c943f178a16a91d31f5889bf1587d9871049" + } + ], + "blueprint": [ + { + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/blueprint-0.1.0-py3-none-any.whl", + "filename": "blueprint-0.1.0-py3-none-any.whl", + "metadata": { + "azext.isExperimental": true, + "azext.minCliCoreVersion": "2.3.0", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "License :: OSI Approved :: MIT License" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "blueprint", + "summary": "Microsoft Azure Command-Line Tools Blueprint Extension", + "version": "0.1.0" + }, + "sha256Digest": "98c1874110e2c77c62cf0d180133ea0b29ed08a86189ee292b909369597e694b" + } + ], + "codespaces": [ + { + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/codespaces-0.1.0-py2.py3-none-any.whl", + "filename": "codespaces-0.1.0-py2.py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.3.1", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "License :: OSI Approved :: MIT License" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "codespaces", + "summary": "The Azure CLI Codespaces extension", + "version": "0.1.0" + }, + "sha256Digest": "d859256dac3177970bb631e149bcabd19d47fa9e972fb331662413b5cfe0ce32" + } + ], + "connectedk8s": [ + { + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/connectedk8s-0.1.5-py3-none-any.whl", + "filename": "connectedk8s-0.1.5-py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.0.67", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "License :: OSI Approved :: MIT License" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "k8connect@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions" + } + } + }, + "extras": [], + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "connectedk8s", + "run_requires": [ + { + "requires": [ + "kubernetes", + "pycryptodome" + ] + } + ], + "summary": "Microsoft Azure Command-Line Tools Connectedk8s Extension", + "version": "0.1.5" + }, + "sha256Digest": "1b529c1fedb5db9dee3dc877ca036f5373d307ca8a07c278d07126531b1c55b6" + }, + { + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/connectedk8s-0.2.0-py3-none-any.whl", + "filename": "connectedk8s-0.2.0-py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.0.67", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "License :: OSI Approved :: MIT License" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "k8connect@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions" + } + } + }, + "extras": [], + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "connectedk8s", + "run_requires": [ + { + "requires": [ + "kubernetes", + "pycryptodome" + ] + } + ], + "summary": "Microsoft Azure Command-Line Tools Connectedk8s Extension", + "version": "0.2.0" + }, + "sha256Digest": "d306355d5568f9f5b201db9f5bda28fc0b142c6b70164a87bf56974239749ebd" + }, + { + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/connectedk8s-0.2.1-py3-none-any.whl", + "filename": "connectedk8s-0.2.1-py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.0.67", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "License :: OSI Approved :: MIT License" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "k8connect@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions" + } + } + }, + "extras": [], + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "connectedk8s", + "run_requires": [ + { + "requires": [ + "kubernetes", + "pycryptodome" + ] + } + ], + "summary": "Microsoft Azure Command-Line Tools Connectedk8s Extension", + "version": "0.2.1" + }, + "sha256Digest": "e910b1a0abee28121d5c216821c5d88cefc87030eb3068e699135314ecb0f8c9" + } + ], + "connectedmachine": [ + { + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/connectedmachine-0.1.1-py2.py3-none-any.whl", + "filename": "connectedmachine-0.1.1-py2.py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.0.67", + "extensions": { + "python.details": { + "contacts": [ + { + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "connectedmachine", + "summary": "Microsoft Azure Command-Line Tools Connectedmachine Extension", + "version": "0.1.1" + }, + "sha256Digest": "0f4d009da4e091aece74cd53833fe63e5af18d68fcf6308a08155ee5284f12fb" + } + ], + "connection-monitor-preview": [ + { + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/connection_monitor_preview-0.1.0-py2.py3-none-any.whl", + "filename": "connection_monitor_preview-0.1.0-py2.py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.maxCliCoreVersion": "2.0.82", + "azext.minCliCoreVersion": "2.0.80", + "extensions": { + "python.details": { + "contacts": [ + { + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/connection-monitor-preview" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "connection-monitor-preview", + "summary": "Microsoft Azure Command-Line Connection Monitor V2 Extension", + "version": "0.1.0" + }, + "sha256Digest": "9a796d5187571990d27feb9efeedde38c194f13ea21cbf9ec06131196bfd821d" + } + ], + "costmanagement": [ + { + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/costmanagement-0.1.0-py3-none-any.whl", + "filename": "costmanagement-0.1.0-py3-none-any.whl", + "metadata": { + "azext.isExperimental": true, + "azext.minCliCoreVersion": "2.3.1", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "License :: OSI Approved :: MIT License" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "costmanagement", + "summary": "Microsoft Azure Command-Line Tools CostManagementClient Extension", + "version": "0.1.0" + }, + "sha256Digest": "d5c8be4d6f3e59a44da32af66f8855c24d9855c5b7bdd2f6571c8721afa20223" + } + ], + "csvmware": [ + { + "downloadUrl": "https://github.com/Azure/az-csvmware-cli/releases/download/0.3.0/csvmware-0.3.0-py2.py3-none-any.whl", + "filename": "csvmware-0.3.0-py2.py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.0.67", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 2", + "Programming Language :: Python :: 2.7", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.4", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "License :: OSI Approved :: MIT License" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "shimitta@microsoft.com", + "name": "Shivam Mittal", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/az-vmware-cli" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "csvmware", + "summary": "Manage Azure VMware Solution by CloudSimple.", + "version": "0.3.0" + }, + "sha256Digest": "dfb9767f05ac13c762ea9dc4327169e63a5c11879123544b200edb9a2c9a8a42" + } + ], + "custom-providers": [ + { + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/custom_providers-0.1.0-py2.py3-none-any.whl", + "filename": "custom_providers-0.1.0-py2.py3-none-any.whl", + "metadata": { + "azext.isExperimental": true, + "azext.minCliCoreVersion": "2.3.1", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.4", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "License :: OSI Approved :: MIT License" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "custom-providers", + "summary": "Microsoft Azure Command-Line Tools Custom Providers Extension", + "version": "0.1.0" + }, + "sha256Digest": "7da462aaa336184b53d7b0b831c0fa77c4239dabe4e70fa4e500e250cf11a8ec" + } + ], + "databox": [ + { + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/databox-0.1.0-py2.py3-none-any.whl", + "filename": "databox-0.1.0-py2.py3-none-any.whl", + "metadata": { + "azext.isExperimental": true, + "azext.minCliCoreVersion": "2.3.1", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.4", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "License :: OSI Approved :: MIT License" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "databox", + "summary": "Microsoft Azure Command-Line Tools DataBox Extension", + "version": "0.1.0" + }, + "sha256Digest": "93cac253cd79728eb333715ae56111ffaa287c9d650e924ea07875ab36906974" + } + ], + "databricks": [ + { + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/databricks-0.1.0-py3-none-any.whl", + "filename": "databricks-0.1.0-py3-none-any.whl", + "metadata": { + "azext.isExprimental": true, + "azext.minCliCoreVersion": "2.3.1", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "License :: OSI Approved :: MIT License" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "databricks", + "summary": "Microsoft Azure Command-Line Tools DatabricksClient Extension", + "version": "0.1.0" + }, + "sha256Digest": "36130c36c5d4dd7a76952c3d5b443cf2a76447ccce41094e0b625b85139a366a" + }, + { + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/databricks-0.2.0-py3-none-any.whl", + "filename": "databricks-0.2.0-py3-none-any.whl", + "metadata": { + "azext.isExprimental": true, + "azext.minCliCoreVersion": "2.3.1", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "License :: OSI Approved :: MIT License" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "databricks", + "summary": "Microsoft Azure Command-Line Tools DatabricksClient Extension", + "version": "0.2.0" + }, + "sha256Digest": "229272c5b6abcfc37abe86600db356c54ef664b6681b2f8b705aa50be472b1bc" + } + ], + "datashare": [ + { + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/datashare-0.1.0-py3-none-any.whl", + "filename": "datashare-0.1.0-py3-none-any.whl", + "metadata": { + "azext.isExperimental": true, + "azext.minCliCoreVersion": "2.3.1", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "License :: OSI Approved :: MIT License" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "datashare", + "summary": "Microsoft Azure Command-Line Tools DataShareManagementClient Extension", + "version": "0.1.0" + }, + "sha256Digest": "803c3637f752b0fb77eb5272a544abafe44942ff920a020ff7ea179ace329342" + } + ], + "db-up": [ + { + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/db_up-0.1.13-py2.py3-none-any.whl", + "filename": "db_up-0.1.13-py2.py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.0.46", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 2", + "Programming Language :: Python :: 2.7", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.4", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "License :: OSI Approved :: MIT License" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/db-up" + } + } + }, + "extras": [], + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "db-up", + "run_requires": [ + { + "requires": [ + "Cython (==0.29.6)", + "mysql-connector-python (==8.0.13)", + "psycopg2-binary (==2.7.7)" + ] + } + ], + "summary": "Additional commands to simplify Azure Database workflows.", + "version": "0.1.13" + }, + "sha256Digest": "df397272396c684972d1185e16439159427795b305f67e47fc37447a0c4d1257" + }, + { + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/db_up-0.1.14-py2.py3-none-any.whl", + "filename": "db_up-0.1.14-py2.py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.0.46", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "License :: OSI Approved :: MIT License" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/db-up" + } + } + }, + "extras": [], + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "db-up", + "run_requires": [ + { + "requires": [ + "Cython (==0.29.17)", + "mysql-connector-python (==8.0.13)", + "psycopg2-binary (==2.8.5)" + ] + } + ], + "summary": "Additional commands to simplify Azure Database workflows.", + "version": "0.1.14" + }, + "sha256Digest": "2f456a810be680ccc5dd7658b955410582063d56573ff3c38386d5ba2aacf7ee" + } + ], + "deploy-to-azure": [ + { + "downloadUrl": "https://github.com/Azure/deploy-to-azure-cli-extension/releases/download/20200318.1/deploy_to_azure-0.2.0-py2.py3-none-any.whl", + "filename": "deploy_to_azure-0.2.0-py2.py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.0.60", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 2", + "Programming Language :: Python :: 2.7", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.4", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "License :: OSI Approved :: MIT License" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "VSTS_Social@microsoft.com", + "name": "Microsoft", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/deploy-to-azure-cli-extension" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "deploy-to-azure", + "summary": "Deploy to Azure using Github Actions.", + "version": "0.2.0" + }, + "sha256Digest": "f925080ee7abc3aef733d4c6313170bdedaa9569af1b95427383bc3c59e4ceb8" + } + ], + "desktopvirtualization": [ + { + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/desktopvirtualization-0.1.0-py3-none-any.whl", + "filename": "desktopvirtualization-0.1.0-py3-none-any.whl", + "metadata": { + "azext.isExperimental": true, + "azext.minCliCoreVersion": "2.3.1", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "License :: OSI Approved :: MIT License" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/desktopvirtualization" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "desktopvirtualization", + "summary": "Microsoft Azure Command-Line Tools DesktopVirtualizationAPIClient Extension", + "version": "0.1.0" + }, + "sha256Digest": "d73c88fe0df98871a221495e000c39fbb22975fdc5066668c9ea0f578ff9a1a9" + } + ], + "dev-spaces": [ + { + "downloadUrl": "https://azuredevspacestools.blob.core.windows.net/azdssetup/LKS/dev_spaces-1.0.5-py2.py3-none-any.whl", + "filename": "dev_spaces-1.0.5-py2.py3-none-any.whl", + "metadata": { + "azext.minCliCoreVersion": "2.1.0", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 2", + "Programming Language :: Python :: 2.7", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.4", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "License :: OSI Approved :: MIT License" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "azds-azcli@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "dev-spaces", + "summary": "Dev Spaces provides a rapid, iterative Kubernetes development experience for teams.", + "version": "1.0.5" + }, + "sha256Digest": "6d481b89be4fe8835143433bb0b7c5ba2aba230433bc9ba483c0d26c5ef682a0" + }, + { + "downloadUrl": "https://azuredevspacestools.blob.core.windows.net/azdssetup/LKS/dev_spaces-1.0.4-py2.py3-none-any.whl", + "filename": "dev_spaces-1.0.4-py2.py3-none-any.whl", + "metadata": { + "azext.minCliCoreVersion": "2.0.63", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 2", + "Programming Language :: Python :: 2.7", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.4", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "License :: OSI Approved :: MIT License" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "azds-azcli@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "dev-spaces", + "summary": "Dev Spaces provides a rapid, iterative Kubernetes development experience for teams.", + "version": "1.0.4" + }, + "sha256Digest": "713600593e7e5c4e317e99d46110485c527740a74d90f01fa9b2ed52cdd42034" + } + ], + "dev-spaces-preview": [ + { + "downloadUrl": "https://azuredevspacestools.blob.core.windows.net/azdssetup/LKS/dev_spaces_preview-0.1.6-py2.py3-none-any.whl", + "filename": "dev_spaces_preview-0.1.6-py2.py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.maxCliCoreVersion": "2.0.62", + "azext.minCliCoreVersion": "2.0.32", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 2", + "Programming Language :: Python :: 2.7", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.4", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "License :: OSI Approved :: MIT License" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "azds-azcli@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "dev-spaces-preview", + "summary": "Dev Spaces provides a rapid, iterative Kubernetes development experience for teams.", + "version": "0.1.6" + }, + "sha256Digest": "16661d66a3b4a04d429d456ba8a8d0b3b6ceb7b32691ff3a1dcc4144c005c798" + } + ], + "dms-preview": [ + { + "downloadUrl": "https://azcliorcas.blob.core.windows.net/azclipath/dms_preview-0.11.0-py2.py3-none-any.whl", + "filename": "dms_preview-0.11.0-py2.py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.0.43", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 2", + "Programming Language :: Python :: 2.7", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.4", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "License :: OSI Approved :: MIT License" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "arpavlic@microsoft.com", + "name": "Artyom Pavlichenko", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/dms-preview" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "dms-preview", + "summary": "Support for new Database Migration Service scenarios.", + "version": "0.11.0" + }, + "sha256Digest": "ef19e5c19976506a8f8910ec04bc785ebeffb5a4c8764047e4e4d42f812b0845" + } + ], + "eventgrid": [ + { + "downloadUrl": "https://eventgridcliextension.blob.core.windows.net/cli/eventgrid-0.4.4-py2.py3-none-any.whl", + "filename": "eventgrid-0.4.4-py2.py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.0.49", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 2", + "Programming Language :: Python :: 2.7", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.4", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "License :: OSI Approved :: MIT License" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "ahamad@microsoft.com", + "name": "Ashraf Hamad.", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "eventgrid", + "summary": "Microsoft Azure Command-Line Tools EventGrid Command Module.", + "version": "0.4.4" + }, + "sha256Digest": "c91ac92ab27a7127c9def51e096f749986b57acf209b357eaf1494d3dbfb33f9" + }, + { + "downloadUrl": "https://eventgridcliextension.blob.core.windows.net/cli/eventgrid-0.4.6-py2.py3-none-any.whl", + "filename": "eventgrid-0.4.6-py2.py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.0.49", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 2", + "Programming Language :: Python :: 2.7", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.4", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "License :: OSI Approved :: MIT License" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "rgrandhi@microsoft.com", + "name": "Ramesh Grandhi.", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "eventgrid", + "summary": "Microsoft Azure Command-Line Tools EventGrid Command Module.", + "version": "0.4.6" + }, + "sha256Digest": "6ef9f9cf895b5dcdf9a38c2490a0c81e8254de4302dc7139fb6a4fcf2203318d" + }, + { + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/eventgrid-0.4.7-py2.py3-none-any.whl", + "filename": "eventgrid-0.4.7-py2.py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.0.49", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 2", + "Programming Language :: Python :: 2.7", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.4", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "License :: OSI Approved :: MIT License" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "ahamad@microsoft.com", + "name": "Ashraf Hamad.", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "eventgrid", + "summary": "Microsoft Azure Command-Line Tools EventGrid Command Module.", + "version": "0.4.7" + }, + "sha256Digest": "f1bff60574d25ccc04eb2038081771b626651d144d9ab01be2b7410e1b02f56a" + }, + { + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/eventgrid-0.4.8-py2.py3-none-any.whl", + "filename": "eventgrid-0.4.8-py2.py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.0.49", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 2", + "Programming Language :: Python :: 2.7", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.4", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "License :: OSI Approved :: MIT License" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "ahamad@microsoft.com", + "name": "Ashraf Hamad.", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "eventgrid", + "summary": "Microsoft Azure Command-Line Tools EventGrid Command Module.", + "version": "0.4.8" + }, + "sha256Digest": "8f307569c920e1b75d4b6dfb47ad80c0cd49bf54a3a65139b57edff8a4776d45" + }, + { + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/eventgrid-0.4.9-py2.py3-none-any.whl", + "filename": "eventgrid-0.4.9-py2.py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.0.49", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 2", + "Programming Language :: Python :: 2.7", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.4", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "License :: OSI Approved :: MIT License" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "ahamad@microsoft.com", + "name": "Ashraf Hamad.", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "eventgrid", + "summary": "Microsoft Azure Command-Line Tools EventGrid Command Module.", + "version": "0.4.9" + }, + "sha256Digest": "1682f61dbb8350611dfeb1f2486158732264eeb35e22af8d7daf39839a720839" + } + ], + "express-route": [ + { + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/express_route-0.1.3-py2.py3-none-any.whl", + "filename": "express_route-0.1.3-py2.py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.0.46", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 2", + "Programming Language :: Python :: 2.7", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.4", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "License :: OSI Approved :: MIT License" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/express-route" + } + } + }, + "generator": "bdist_wheel (0.29.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "express-route", + "summary": "Manage ExpressRoutes with preview features.", + "version": "0.1.3" + }, + "sha256Digest": "26ea9cbe5c1cc64ae0ea42ef4f550a1f7e8d91b7af5e04945c689e73b7499d7a" + } + ], + "express-route-cross-connection": [ + { + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/express_route_cross_connection-0.1.1-py2.py3-none-any.whl", + "filename": "express_route_cross_connection-0.1.1-py2.py3-none-any.whl", + "metadata": { + "azext.minCliCoreVersion": "2.0.41", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 2", + "Programming Language :: Python :: 2.7", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.4", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "License :: OSI Approved :: MIT License" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/express-route-cross-connection" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "express-route-cross-connection", + "summary": "Manage customer ExpressRoute circuits using an ExpressRoute cross-connection.", + "version": "0.1.1" + }, + "sha256Digest": "b83f723baae0ea04557a87f358fa2131baf15d45cd3aba7a9ab42d14ec80df38" + } + ], + "front-door": [ + { + "downloadUrl": "https://azurecliafd.blob.core.windows.net/azure-cli-extension/front_door-1.0.2-py2.py3-none-any.whl", + "filename": "front_door-1.0.2-py2.py3-none-any.whl", + "metadata": { + "azext.minCliCoreVersion": "2.0.68", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 2", + "Programming Language :: Python :: 2.7", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.4", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "License :: OSI Approved :: MIT License" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/front-door" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "front-door", + "summary": "Manage networking Front Doors.", + "version": "1.0.2" + }, + "sha256Digest": "a009045bab5dec0dfcd9715e2993ed0fa7a59b4bc6633d388415f482ed9cbc46" + }, + { + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/front_door-1.0.3-py2.py3-none-any.whl", + "filename": "front_door-1.0.3-py2.py3-none-any.whl", + "metadata": { + "azext.minCliCoreVersion": "2.0.68", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 2", + "Programming Language :: Python :: 2.7", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.4", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "License :: OSI Approved :: MIT License" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/front-door" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "front-door", + "summary": "Manage networking Front Doors.", + "version": "1.0.3" + }, + "sha256Digest": "e483de77921937c210e03ed32e161d0384f162c8b253bd03fe8da1927b4160d7" + }, + { + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/front_door-1.0.4-py2.py3-none-any.whl", + "filename": "front_door-1.0.4-py2.py3-none-any.whl", + "metadata": { + "azext.minCliCoreVersion": "2.0.68", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 2", + "Programming Language :: Python :: 2.7", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.4", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "License :: OSI Approved :: MIT License" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/front-door" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "front-door", + "summary": "Manage networking Front Doors.", + "version": "1.0.4" + }, + "sha256Digest": "49f509e8b56f4a1ef1870bac7273376df5e7fbfe1c25e10cf236e9448d66683c" + }, + { + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/front_door-1.0.5-py3-none-any.whl", + "filename": "front_door-1.0.5-py3-none-any.whl", + "metadata": { + "azext.minCliCoreVersion": "2.0.68", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "License :: OSI Approved :: MIT License" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/front-door" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "front-door", + "summary": "Manage networking Front Doors.", + "version": "1.0.5" + }, + "sha256Digest": "cd55a87740de19cbd66444bdb398fd4a64115aeff92d52d2704a19ea2f083c60" + }, + { + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/front_door-1.0.6-py3-none-any.whl", + "filename": "front_door-1.0.6-py3-none-any.whl", + "metadata": { + "azext.minCliCoreVersion": "2.0.68", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "License :: OSI Approved :: MIT License" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/front-door" + } } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "front-door", + "summary": "Manage networking Front Doors.", + "version": "1.0.6" + }, + "sha256Digest": "fbf965d7146884a87f481138dc06153dc95fd486f9dfeb40c1f11ce4667e203e" + }, + { + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/front_door-1.0.7-py3-none-any.whl", + "filename": "front_door-1.0.7-py3-none-any.whl", + "metadata": { + "azext.minCliCoreVersion": "2.0.68", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "License :: OSI Approved :: MIT License" ], - "summary": "The Azure IoT extension for Azure CLI.", - "version": "0.8.9" + "extensions": { + "python.details": { + "contacts": [ + { + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/front-door" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "front-door", + "summary": "Manage networking Front Doors.", + "version": "1.0.7" + }, + "sha256Digest": "9a97ac67c089d1e3a753fa55fa80e44b8f8a89bcae42442c19e34b035ae96231" + } + ], + "hack": [ + { + "downloadUrl": "https://azhackcli.blob.core.windows.net/whl/hack-0.4.2-py2.py3-none-any.whl", + "filename": "hack-0.4.2-py2.py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.0.67", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.4", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "License :: OSI Approved :: MIT License" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "chrhar@microsoft.com", + "name": "Christopher Harrison", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "hack", + "summary": "Microsoft Azure Command-Line Tools Hack Extension", + "version": "0.4.2" + }, + "sha256Digest": "6b91fae1e3f102bcafd342055e2c743af7231925f2a3a9878db486869f97499c" + } + ], + "hardware-security-modules": [ + { + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/hardware_security_modules-0.1.0-py3-none-any.whl", + "filename": "hardware_security_modules-0.1.0-py3-none-any.whl", + "metadata": { + "azext.isExperimental": true, + "azext.minCliCoreVersion": "2.3.1", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "License :: OSI Approved :: MIT License" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "hardware-security-modules", + "summary": "Microsoft Azure Command-Line Tools AzureDedicatedHSMResourceProvider Extension", + "version": "0.1.0" + }, + "sha256Digest": "dafa526a4bce243940432e91f6f28d2254bdcc1a90eaa0f097493f9d79a23b36" + } + ], + "healthcareapis": [ + { + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/healthcareapis-0.1.3-py2.py3-none-any.whl", + "filename": "healthcareapis-0.1.3-py2.py3-none-any.whl", + "metadata": { + "azext.minCliCoreVersion": "2.0.67", + "extensions": { + "python.details": { + "contacts": [ + { + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "healthcareapis", + "summary": "Microsoft Azure Command-Line Tools HealthCareApis Extension", + "version": "0.1.3" + }, + "sha256Digest": "2bc0f7c9642cb0afe682218761205d2b7ffe842a397fd679ad462506f2846ce0" + }, + { + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/healthcareapis-0.2.0-py3-none-any.whl", + "filename": "healthcareapis-0.2.0-py3-none-any.whl", + "metadata": { + "azext.minCliCoreVersion": "2.3.1", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "License :: OSI Approved :: MIT License" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "healthcareapis", + "summary": "Microsoft Azure Command-Line Tools HealthcareApisManagementClient Extension", + "version": "0.2.0" + }, + "sha256Digest": "460655a4287a7e4ecf69fac32c95628df9ce776a802f061a81f54f7d89aca0ba" + } + ], + "hpc-cache": [ + { + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/hpc_cache-0.1.0-py2.py3-none-any.whl", + "filename": "hpc_cache-0.1.0-py2.py3-none-any.whl", + "metadata": { + "azext.isExperimental": true, + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.3.0", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.4", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "License :: OSI Approved :: MIT License" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "hpc-cache", + "summary": "Microsoft Azure Command-Line Tools StorageCache Extension", + "version": "0.1.0" }, - "sha256Digest": "080ea8af36c301bc2ed667eca5585f627c5a6f2de9a44eb903f83b156d2a2ee6" - }, + "sha256Digest": "0961683cd21f09622399f54b62389fc5d529f861c2280c4751ae977c83da9ae0" + } + ], + "image-copy-extension": [ { - "downloadUrl": "https://github.com/Azure/azure-iot-cli-extension/releases/download/v0.7.1/azure_cli_iot_ext-0.7.1-py2.py3-none-any.whl", - "filename": "azure_cli_iot_ext-0.7.1-py2.py3-none-any.whl", + "downloadUrl": "https://files.pythonhosted.org/packages/48/6f/7fa75dfa7c015c0b58f18473b4aa8d565be8606d9740d4442b32b17df913/image_copy_extension-0.2.3-py2.py3-none-any.whl", + "filename": "image_copy_extension-0.2.3-py2.py3-none-any.whl", "metadata": { "azext.minCliCoreVersion": "2.0.24", "classifiers": [ @@ -874,8 +4256,8 @@ "python.details": { "contacts": [ { - "email": "iotupx@microsoft.com", - "name": "Microsoft", + "email": "tamir.kamara@microsoft.com", + "name": "Tamir Kamara", "role": "author" } ], @@ -883,44 +4265,122 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/azure/azure-iot-cli-extension" + "Home": "https://github.com/Azure/azure-cli-extensions" } } }, - "extras": [], "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "azure-cli-iot-ext", - "run_requires": [ - { - "requires": [ - "paho-mqtt (==1.3.1)" - ] + "name": "image-copy-extension", + "summary": "Support for copying managed vm images between regions", + "version": "0.2.3" + }, + "sha256Digest": "8a88c2600f9dad5f38ca6128ab8efaa38a974fbb7fe8c875fc50b7bb7d37bd54" + }, + { + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/image_copy_extension-0.2.4-py2.py3-none-any.whl", + "filename": "image_copy_extension-0.2.4-py2.py3-none-any.whl", + "metadata": { + "azext.minCliCoreVersion": "2.0.24", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "License :: OSI Approved :: MIT License" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "tamir.kamara@microsoft.com", + "name": "Tamir Kamara", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions" + } } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "image-copy-extension", + "summary": "Support for copying managed vm images between regions", + "version": "0.2.4" + }, + "sha256Digest": "174e2437b20a979257a93017209ba1ff5d1969ea1eca7f3cbe57e8d11c75f4f4" + }, + { + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/image_copy_extension-0.2.5-py2.py3-none-any.whl", + "filename": "image_copy_extension-0.2.5-py2.py3-none-any.whl", + "metadata": { + "azext.minCliCoreVersion": "2.0.24", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "License :: OSI Approved :: MIT License" ], - "summary": "Provides the data plane command layer for Azure IoT Hub, IoT Edge and IoT Device Provisioning Service", - "version": "0.7.1" + "extensions": { + "python.details": { + "contacts": [ + { + "email": "tamir.kamara@microsoft.com", + "name": "Tamir Kamara", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "image-copy-extension", + "summary": "Support for copying managed vm images between regions", + "version": "0.2.5" }, - "sha256Digest": "0a8431db427db693ba6bcfe9572b4fceda6b20190be99990b1bb8c75a7c89405" + "sha256Digest": "14216b9664365a03ccd6d2cb469a32ab1e38f1d1e9b2735d27725cdc5300b148" } ], - "azure-cli-ml": [ + "import-export": [ { - "downloadUrl": "https://azurecliext.blob.core.windows.net/release/azure_cli_ml-1.2.0-py2.py3-none-any.whl", - "filename": "azure_cli_ml-1.2.0-py2.py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/import_export-0.1.0-py3-none-any.whl", + "filename": "import_export-0.1.0-py3-none-any.whl", "metadata": { - "azext.minCliCoreVersion": "2.0.28", + "azext.isExperimental": true, + "azext.minCliCoreVersion": "2.3.1", "classifiers": [ - "Development Status :: 3 - Alpha", + "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Intended Audience :: System Administrators", - "Programming Language :: Python :: 3.5", + "Programming Language :: Python", + "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", - "Programming Language :: Python :: 3.8" + "Programming Language :: Python :: 3.8", + "License :: OSI Approved :: MIT License" ], - "description_content_type": "text/x-rst", "extensions": { "python.details": { "contacts": [ @@ -931,54 +4391,154 @@ } ], "document_names": { - "description": "DESCRIPTION.rst", - "license": "LICENSE.txt" + "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://docs.microsoft.com/azure/machine-learning/service/" + "Home": "https://github.com/Azure/azure-cli-extensions" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "import-export", + "summary": "Microsoft Azure Command-Line Tools StorageImportExport Extension", + "version": "0.1.0" + }, + "sha256Digest": "6a5a1a1a23c7ff90e01b1f0a33d04874d750845e6cda56badce4ce99a518ef55" + }, + { + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/import_export-0.1.1-py3-none-any.whl", + "filename": "import_export-0.1.1-py3-none-any.whl", + "metadata": { + "azext.isExperimental": true, + "azext.minCliCoreVersion": "2.3.1", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "License :: OSI Approved :: MIT License" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "import-export", + "summary": "Microsoft Azure Command-Line Tools StorageImportExport Extension", + "version": "0.1.1" + }, + "sha256Digest": "0680948362e12138c9582e68e471533482749bd660bfe3c8c2a4d856e90927b0" + } + ], + "interactive": [ + { + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/interactive-0.4.1-py2.py3-none-any.whl", + "filename": "interactive-0.4.1-py2.py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.maxCliCoreVersion": "2.0.61", + "azext.minCliCoreVersion": "2.0.50.dev0", + "extensions": { + "python.details": { + "contacts": [ + { + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli" } } }, "extras": [], "generator": "bdist_wheel (0.30.0)", - "license": "Proprietary https://aka.ms/azureml-preview-sdk-license ", + "license": "Proprietary https://aka.ms/azureml-preview-sdk-license", "metadata_version": "2.0", - "name": "azure-cli-ml", - "requires_python": ">=3.5,<4", + "name": "interactive", "run_requires": [ { "requires": [ - "adal (>=1.2.1)", - "azureml-cli-common (~=1.2.0)", - "docker (>=3.7.2)", - "msrest (>=0.6.6)", - "pyyaml (>=5.1.0)", - "requests (>=2.21.0)" + "prompt-toolkit (~=1.0.15)" ] } ], - "summary": "Microsoft Azure Command-Line Tools AzureML Command Module", - "test_requires": [ + "summary": "Microsoft Azure Command-Line Interactive Shell", + "version": "0.4.1" + }, + "sha256Digest": "22b940493972b77c62606b0ae3c834283209d8619bb740e69dd115530a328e3b" + }, + { + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/interactive-0.4.3-py2.py3-none-any.whl", + "filename": "interactive-0.4.3-py2.py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.0.62", + "extensions": { + "python.details": { + "contacts": [ + { + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli" + } + } + }, + "extras": [], + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "interactive", + "run_requires": [ { "requires": [ - "azure-keyvault", - "mock", - "nose", - "unittest-xml-reporting" + "prompt-toolkit (~=1.0.15)" ] } ], - "version": "1.2.0" + "summary": "Microsoft Azure Command-Line Interactive Shell", + "version": "0.4.3" }, - "sha256Digest": "e7ce7546a370074d9ab64022130a0d5bfa8765943c5e3eba9536dbb2e1bf9e54" - } - ], - "azure-devops": [ + "sha256Digest": "ba78a45ec9753a42e1e805dc9cf3b309df264c6201dfd1dabcc6c00b22599fe8" + }, { - "downloadUrl": "https://github.com/Azure/azure-devops-cli-extension/releases/download/20190805.1/azure_devops-0.12.0-py2.py3-none-any.whl", - "filename": "azure_devops-0.12.0-py2.py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/interactive-0.4.4-py2.py3-none-any.whl", + "filename": "interactive-0.4.4-py2.py3-none-any.whl", "metadata": { - "azext.minCliCoreVersion": "2.0.49", + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.0.62", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", @@ -989,15 +4549,14 @@ "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", - "Programming Language :: Python :: 3.6", - "License :: OSI Approved :: MIT License" + "Programming Language :: Python :: 3.6" ], "extensions": { "python.details": { "contacts": [ { - "email": "VSTS_Social@microsoft.com", - "name": "Microsoft", + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", "role": "author" } ], @@ -1005,7 +4564,7 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Microsoft/azure-devops-cli-extension" + "Home": "https://github.com/Azure/azure-cli" } } }, @@ -1013,45 +4572,33 @@ "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "azure-devops", + "name": "interactive", "run_requires": [ { "requires": [ - "distro (==1.3.0)", - "msrest (<0.7.0,>=0.6.0)", - "python-dateutil (==2.7.3)" + "prompt-toolkit (~=1.0.15)" ] } ], - "summary": "Tools for managing Azure DevOps.", - "version": "0.12.0" + "summary": "Microsoft Azure Command-Line Interactive Shell", + "version": "0.4.4" }, - "sha256Digest": "2abdfd1b760e1968176cd4043e2db7edf951978c6a2182eb5e79bb0c8070af4c" - }, + "sha256Digest": "1e66bc1f117fac90f320c072a08f527b8570f5a6725670a1fb4d05f2c7eb7a31" + } + ], + "internet-analyzer": [ { - "downloadUrl": "https://github.com/Azure/azure-devops-cli-extension/releases/download/20200113.1/azure_devops-0.17.0-py2.py3-none-any.whl", - "filename": "azure_devops-0.17.0-py2.py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/internet_analyzer-0.1.0rc5-py2.py3-none-any.whl", + "filename": "internet_analyzer-0.1.0rc5-py2.py3-none-any.whl", "metadata": { - "azext.minCliCoreVersion": "2.0.69", - "classifiers": [ - "Development Status :: 4 - Beta", - "Intended Audience :: Developers", - "Intended Audience :: System Administrators", - "Programming Language :: Python", - "Programming Language :: Python :: 2", - "Programming Language :: Python :: 2.7", - "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.4", - "Programming Language :: Python :: 3.5", - "Programming Language :: Python :: 3.6", - "License :: OSI Approved :: MIT License" - ], + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.0.67", "extensions": { "python.details": { "contacts": [ { - "email": "VSTS_Social@microsoft.com", - "name": "Microsoft", + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", "role": "author" } ], @@ -1059,37 +4606,57 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Microsoft/azure-devops-cli-extension" + "Home": "https://github.com/Azure/azure-cli-extensions" } } }, - "extras": [], "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "azure-devops", - "run_requires": [ - { - "requires": [ - "distro (==1.3.0)", - "msrest (<0.7.0,>=0.6.0)", - "python-dateutil (==2.7.3)" - ] - } - ], - "summary": "Tools for managing Azure DevOps.", - "version": "0.17.0" + "name": "internet-analyzer", + "summary": "Microsoft Azure Command-Line Tools Internet Analyzer Extension", + "version": "0.1.0rc5" }, - "sha256Digest": "1e891afc8b6ee52c62c4f99802d77728ff60e89e4c08972325178cc4fdac6be9" + "sha256Digest": "7e5ee753abece69fb917f3a96be4a3d8117ffbbbd75d18c2e54c74c0fe2b952e" } ], - "azure-firewall": [ + "ip-group": [ { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/azure_firewall-0.1.3-py2.py3-none-any.whl", - "filename": "azure_firewall-0.1.3-py2.py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/ip_group-0.1.1-py2.py3-none-any.whl", + "filename": "ip_group-0.1.1-py2.py3-none-any.whl", + "metadata": { + "extensions": { + "python.details": { + "contacts": [ + { + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "ip-group", + "summary": "Microsoft Azure Command-Line Tools IpGroup Extension", + "version": "0.1.1" + }, + "sha256Digest": "477d7f58fe44a4ecb0ced3497262d7ccd8bb7677d70582b6fccf645e91d25ad4" + }, + { + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/ip_group-0.1.2-py2.py3-none-any.whl", + "filename": "ip_group-0.1.2-py2.py3-none-any.whl", "metadata": { "azext.isPreview": true, - "azext.minCliCoreVersion": "2.0.46", + "azext.minCliCoreVersion": "2.0.67", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", @@ -1101,7 +4668,7 @@ "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", - "License :: OSI Approved :: MIT License" + "Programming Language :: Python :: 3.7License :: OSI Approved :: MIT License" ], "extensions": { "python.details": { @@ -1116,22 +4683,24 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/azure-firewall" + "Home": "https://github.com/Azure/azure-cli-extensions" } } }, "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "azure-firewall", - "summary": "Manage Azure Firewall resources.", - "version": "0.1.3" + "name": "ip-group", + "summary": "Microsoft Azure Command-Line Tools IpGroup Extension", + "version": "0.1.2" }, - "sha256Digest": "116c1324206e8aa0e7cffdd719a12e87b2977a061fcd9fb96ae4b6fbe223e93f" - }, + "sha256Digest": "afba2d8a8a612863b63f504d6cff6d559610b961e4c77dc2fd49b9fe03ec67a2" + } + ], + "k8sconfiguration": [ { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/azure_firewall-0.1.9-py2.py3-none-any.whl", - "filename": "azure_firewall-0.1.9-py2.py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/k8sconfiguration-0.1.7-py2.py3-none-any.whl", + "filename": "k8sconfiguration-0.1.7-py2.py3-none-any.whl", "metadata": { "azext.isPreview": true, "azext.minCliCoreVersion": "2.0.67", @@ -1140,12 +4709,10 @@ "Intended Audience :: Developers", "Intended Audience :: System Administrators", "Programming Language :: Python", - "Programming Language :: Python :: 2", - "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.4", - "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", "License :: OSI Approved :: MIT License" ], "extensions": { @@ -1161,36 +4728,34 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/azure-firewall" + "Home": "https://github.com/Azure/azure-cli-extensions" } } }, "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "azure-firewall", - "summary": "Manage Azure Firewall resources.", - "version": "0.1.9" + "name": "k8sconfiguration", + "summary": "Microsoft Azure Command-Line Tools K8sconfiguration Extension", + "version": "0.1.7" }, - "sha256Digest": "f20c18b5b176dd39815dee4d344368774b58bb2f4f03c28b89ee08212e45856a" + "sha256Digest": "6440f1f1bebda0b3288ab95654a107e3f803d1ad2a23276cd5e27abe6a71dd60" }, { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/azure_firewall-0.2.0-py2.py3-none-any.whl", - "filename": "azure_firewall-0.2.0-py2.py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/k8sconfiguration-0.1.8-py2.py3-none-any.whl", + "filename": "k8sconfiguration-0.1.8-py2.py3-none-any.whl", "metadata": { "azext.isPreview": true, - "azext.minCliCoreVersion": "2.0.67", + "azext.minCliCoreVersion": "2.3.1", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Intended Audience :: System Administrators", "Programming Language :: Python", - "Programming Language :: Python :: 2", - "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.4", - "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", "License :: OSI Approved :: MIT License" ], "extensions": { @@ -1206,25 +4771,26 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/azure-firewall" + "Home": "https://github.com/Azure/azure-cli-extensions" } } }, "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "azure-firewall", - "summary": "Manage Azure Firewall resources.", - "version": "0.2.0" + "name": "k8sconfiguration", + "summary": "Microsoft Azure Command-Line Tools K8sconfiguration Extension", + "version": "0.1.8" }, - "sha256Digest": "7934510bc2ed4d83c8dbee7d2d22c3de2332b96020e2f45515035153f94a246f" - }, + "sha256Digest": "9d4b9d9dfcd8793297af670de10254804f5ce6d1bac6b0ad8e872cc5fdc5f761" + } + ], + "keyvault-preview": [ { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/azure_firewall-0.3.0-py2.py3-none-any.whl", - "filename": "azure_firewall-0.3.0-py2.py3-none-any.whl", + "downloadUrl": "https://github.com/Azure/azure-keyvault-cli-extension/releases/download/keyvault-preview_0.1.3/keyvault_preview-0.1.3-py2.py3-none-any.whl", + "filename": "keyvault_preview-0.1.3-py2.py3-none-any.whl", "metadata": { "azext.isPreview": true, - "azext.minCliCoreVersion": "2.0.67", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", @@ -1242,8 +4808,8 @@ "python.details": { "contacts": [ { - "email": "azpycli@microsoft.com", - "name": "Microsoft Corporation", + "email": "azurekeyvault@microsoft.com", + "name": "Azure Key Vault", "role": "author" } ], @@ -1251,36 +4817,33 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/azure-firewall" + "Home": "https://github.com/Azure/azure-keyvault-cli-extension" } } }, "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "azure-firewall", - "summary": "Manage Azure Firewall resources.", - "version": "0.3.0" + "name": "keyvault-preview", + "summary": "Preview Azure Key Vault commands.", + "version": "0.1.3" }, - "sha256Digest": "12e5f8567ba8a74988f50ec6ed3539fad5b9e491727b0bc2c16e7acc34f49423" + "sha256Digest": "5d80ceaac45576bfd9cb7f2bd5714183d9f88711b4aa415940b4b393a7591069" } ], - "azure-iot": [ + "kusto": [ { - "downloadUrl": "https://github.com/Azure/azure-iot-cli-extension/releases/download/v0.9.1/azure_iot-0.9.1-py2.py3-none-any.whl", - "filename": "azure_iot-0.9.1-py2.py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/kusto-0.1.0-py3-none-any.whl", + "filename": "kusto-0.1.0-py3-none-any.whl", "metadata": { - "azext.minCliCoreVersion": "2.0.70", + "azext.isExperimental": true, + "azext.minCliCoreVersion": "2.3.1", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Intended Audience :: System Administrators", "Programming Language :: Python", - "Programming Language :: Python :: 2", - "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.4", - "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", @@ -1290,8 +4853,8 @@ "python.details": { "contacts": [ { - "email": "iotupx@microsoft.com", - "name": "Microsoft", + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", "role": "author" } ], @@ -1299,43 +4862,32 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/azure/azure-iot-cli-extension" + "Home": "https://github.com/Azure/azure-cli-extensions" } } }, - "extras": [], "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "azure-iot", - "run_requires": [ - { - "requires": [ - "jsonschema (==3.0.2)", - "paho-mqtt (==1.5.0)", - "setuptools" - ] - } - ], - "summary": "The Azure IoT extension for Azure CLI.", - "version": "0.9.1" + "name": "kusto", + "summary": "Microsoft Azure Command-Line Tools KustoManagementClient Extension", + "version": "0.1.0" }, - "sha256Digest": "97e5ddd2ddef1ec829e112bc5e6d46ec34df930b528fdf591c6201f7d89b9119" + "sha256Digest": "ffa47cb6f8f850e75412dffa6a5e52f857d5e7ca217322ce176eea81d24768e8" } ], - "connectedmachine": [ + "log-analytics": [ { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/connectedmachine-0.1.1-py2.py3-none-any.whl", - "filename": "connectedmachine-0.1.1-py2.py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/log_analytics-0.1.4-py2.py3-none-any.whl", + "filename": "log_analytics-0.1.4-py2.py3-none-any.whl", "metadata": { "azext.isPreview": true, - "azext.minCliCoreVersion": "2.0.67", "extensions": { "python.details": { "contacts": [ { - "email": "azpycli@microsoft.com", - "name": "Microsoft Corporation", + "email": "aleldeib@microsoft.com", + "name": "Ace Eldeib", "role": "author" } ], @@ -1343,34 +4895,88 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions" + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/log-analytics" } } }, "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "connectedmachine", - "summary": "Microsoft Azure Command-Line Tools Connectedmachine Extension", - "version": "0.1.1" + "name": "log-analytics", + "summary": "Support for Azure Log Analytics query capabilities.", + "version": "0.1.4" }, - "sha256Digest": "0f4d009da4e091aece74cd53833fe63e5af18d68fcf6308a08155ee5284f12fb" - } - ], - "connection-monitor-preview": [ + "sha256Digest": "6f4789fff8581a52e13bcf8f13fdc16b47662fac69e1fc3ea49280de1a8e65bc" + }, + { + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/log_analytics-0.2.0-py2.py3-none-any.whl", + "filename": "log_analytics-0.2.0-py2.py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 2", + "Programming Language :: Python :: 2.7", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.4", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "License :: OSI Approved :: MIT License" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "aleldeib@microsoft.com", + "name": "Ace Eldeib", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/log-analytics" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "log-analytics", + "summary": "Support for Azure Log Analytics query capabilities.", + "version": "0.2.0" + }, + "sha256Digest": "28a24f605e80c6fc56408add14981e5b4572077f2b5f0c55208f4105624cc91b" + }, { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/connection_monitor_preview-0.1.0-py2.py3-none-any.whl", - "filename": "connection_monitor_preview-0.1.0-py2.py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/log_analytics-0.2.1-py2.py3-none-any.whl", + "filename": "log_analytics-0.2.1-py2.py3-none-any.whl", "metadata": { "azext.isPreview": true, - "azext.maxCliCoreVersion": "2.0.82", - "azext.minCliCoreVersion": "2.0.80", + "azext.minCliCoreVersion": "2.0.0", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 2", + "Programming Language :: Python :: 2.7", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.4", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "License :: OSI Approved :: MIT License" + ], "extensions": { "python.details": { "contacts": [ { - "email": "azpycli@microsoft.com", - "name": "Microsoft Corporation", + "email": "aleldeib@microsoft.com", + "name": "Ace Eldeib", "role": "author" } ], @@ -1378,34 +4984,32 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/connection-monitor-preview" + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/log-analytics" } } }, "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "connection-monitor-preview", - "summary": "Microsoft Azure Command-Line Connection Monitor V2 Extension", - "version": "0.1.0" + "name": "log-analytics", + "summary": "Support for Azure Log Analytics query capabilities.", + "version": "0.2.1" }, - "sha256Digest": "9a796d5187571990d27feb9efeedde38c194f13ea21cbf9ec06131196bfd821d" + "sha256Digest": "23751654f76334e97c3ae3b10dd4e6896785cbf5c7c9442d3f979ebd6b9c6c21" } ], - "csvmware": [ + "log-analytics-solution": [ { - "downloadUrl": "https://github.com/Azure/az-vmware-cli/releases/download/0.3.0/csvmware-0.3.0-py2.py3-none-any.whl", - "filename": "csvmware-0.3.0-py2.py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/log_analytics_solution-0.1.0-py2.py3-none-any.whl", + "filename": "log_analytics_solution-0.1.0-py2.py3-none-any.whl", "metadata": { - "azext.isPreview": true, - "azext.minCliCoreVersion": "2.0.67", + "azext.isExperimental": true, + "azext.minCliCoreVersion": "2.3.0", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Intended Audience :: System Administrators", "Programming Language :: Python", - "Programming Language :: Python :: 2", - "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", @@ -1416,8 +5020,8 @@ "python.details": { "contacts": [ { - "email": "shimitta@microsoft.com", - "name": "Shivam Mittal", + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", "role": "author" } ], @@ -1425,38 +5029,36 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/az-vmware-cli" + "Home": "https://github.com/Azure/azure-cli-extensions" } } }, "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "csvmware", - "summary": "Manage Azure VMware Solution by CloudSimple.", - "version": "0.3.0" + "name": "log-analytics-solution", + "summary": "Microsoft Azure Command-Line Tools Operations Extension", + "version": "0.1.0" }, - "sha256Digest": "dfb9767f05ac13c762ea9dc4327169e63a5c11879123544b200edb9a2c9a8a42" + "sha256Digest": "844bf0a063b4e244bfe14e215c82d7d70327540b7bf446b7cb1d97ebb8a98119" } ], - "db-up": [ + "logic": [ { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/db_up-0.1.13-py2.py3-none-any.whl", - "filename": "db_up-0.1.13-py2.py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/logic-0.1.0-py3-none-any.whl", + "filename": "logic-0.1.0-py3-none-any.whl", "metadata": { - "azext.isPreview": true, - "azext.minCliCoreVersion": "2.0.46", + "azext.isExperimental": true, + "azext.minCliCoreVersion": "2.3.1", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Intended Audience :: System Administrators", "Programming Language :: Python", - "Programming Language :: Python :: 2", - "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.4", - "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", "License :: OSI Approved :: MIT License" ], "extensions": { @@ -1472,37 +5074,26 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/db-up" + "Home": "https://github.com/Azure/azure-cli-extensions" } } }, - "extras": [], "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "db-up", - "run_requires": [ - { - "requires": [ - "Cython (==0.29.6)", - "mysql-connector-python (==8.0.13)", - "psycopg2-binary (==2.7.7)" - ] - } - ], - "summary": "Additional commands to simplify Azure Database workflows.", - "version": "0.1.13" + "name": "logic", + "summary": "Microsoft Azure Command-Line Tools LogicManagementClient Extension", + "version": "0.1.0" }, - "sha256Digest": "df397272396c684972d1185e16439159427795b305f67e47fc37447a0c4d1257" + "sha256Digest": "b02dea64e03adb7cf17a7afafc28844949c0f3a030f4eb005059452f0ac68040" } ], - "deploy-to-azure": [ + "maintenance": [ { - "downloadUrl": "https://github.com/Azure/deploy-to-azure-cli-extension/releases/download/20200318.1/deploy_to_azure-0.2.0-py2.py3-none-any.whl", - "filename": "deploy_to_azure-0.2.0-py2.py3-none-any.whl", + "downloadUrl": "https://mrpcliextensionrelease.blob.core.windows.net/cliextension/maintenance-1.0.1-py2.py3-none-any.whl", + "filename": "maintenance-1.0.1-py2.py3-none-any.whl", "metadata": { - "azext.isPreview": true, - "azext.minCliCoreVersion": "2.0.60", + "azext.minCliCoreVersion": "2.0.47", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", @@ -1520,8 +5111,8 @@ "python.details": { "contacts": [ { - "email": "VSTS_Social@microsoft.com", - "name": "Microsoft", + "email": "abkmr@microsoft.com", + "name": "Abhishek Kumar", "role": "author" } ], @@ -1529,26 +5120,25 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/deploy-to-azure-cli-extension" + "Home": "https://github.com/Azure/azure-cli-extensions" } } }, "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "deploy-to-azure", - "summary": "Deploy to Azure using Github Actions.", - "version": "0.2.0" + "name": "maintenance", + "summary": "Support for Azure maintenance management.", + "version": "1.0.1" }, - "sha256Digest": "f925080ee7abc3aef733d4c6313170bdedaa9569af1b95427383bc3c59e4ceb8" + "sha256Digest": "3e0fb5392bd29e53e7afde543d1a0ef5d33a6032f01322fd75b7afe7016c34fc" } ], - "dev-spaces": [ + "managementpartner": [ { - "downloadUrl": "https://azuredevspacestools.blob.core.windows.net/azdssetup/LKS/dev_spaces-1.0.5-py2.py3-none-any.whl", - "filename": "dev_spaces-1.0.5-py2.py3-none-any.whl", + "downloadUrl": "https://files.pythonhosted.org/packages/28/08/0fde582cf50eaf1ef304b35674b9b22f6731d95b2e41339eba4d35583b18/managementpartner-0.1.2-py2.py3-none-any.whl", + "filename": "managementpartner-0.1.2-py2.py3-none-any.whl", "metadata": { - "azext.minCliCoreVersion": "2.1.0", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", @@ -1566,8 +5156,8 @@ "python.details": { "contacts": [ { - "email": "azds-azcli@microsoft.com", - "name": "Microsoft Corporation", + "email": "jefl@microsoft.com", + "name": "Jeffrey Li", "role": "author" } ], @@ -1579,20 +5169,21 @@ } } }, - "generator": "bdist_wheel (0.30.0)", + "generator": "bdist_wheel (0.29.0)", "license": "MIT", "metadata_version": "2.0", - "name": "dev-spaces", - "summary": "Dev Spaces provides a rapid, iterative Kubernetes development experience for teams.", - "version": "1.0.5" + "name": "managementpartner", + "summary": "Support for Management Partner preview", + "version": "0.1.2" }, - "sha256Digest": "6d481b89be4fe8835143433bb0b7c5ba2aba230433bc9ba483c0d26c5ef682a0" + "sha256Digest": "f7ec0984b4d5a4c9192aa3ab6b78c867fc38cf620effef1804d89c9d1d9f204f" }, { - "downloadUrl": "https://azuredevspacestools.blob.core.windows.net/azdssetup/LKS/dev_spaces-1.0.4-py2.py3-none-any.whl", - "filename": "dev_spaces-1.0.4-py2.py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/managementpartner-0.1.3-py2.py3-none-any.whl", + "filename": "managementpartner-0.1.3-py2.py3-none-any.whl", "metadata": { - "azext.minCliCoreVersion": "2.0.63", + "azext.isPreview": false, + "azext.minCliCoreVersion": "2.0.67", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", @@ -1610,8 +5201,8 @@ "python.details": { "contacts": [ { - "email": "azds-azcli@microsoft.com", - "name": "Microsoft Corporation", + "email": "jefl@microsoft.com", + "name": "Jeffrey Li", "role": "author" } ], @@ -1626,39 +5217,25 @@ "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "dev-spaces", - "summary": "Dev Spaces provides a rapid, iterative Kubernetes development experience for teams.", - "version": "1.0.4" + "name": "managementpartner", + "summary": "Support for Management Partner preview", + "version": "0.1.3" }, - "sha256Digest": "713600593e7e5c4e317e99d46110485c527740a74d90f01fa9b2ed52cdd42034" + "sha256Digest": "22ddf4b1cdc77e99262cb6089c4d96040065828a1d38a2709fdb945d3c851839" } ], - "dev-spaces-preview": [ + "mesh": [ { - "downloadUrl": "https://azuredevspacestools.blob.core.windows.net/azdssetup/LKS/dev_spaces_preview-0.1.6-py2.py3-none-any.whl", - "filename": "dev_spaces_preview-0.1.6-py2.py3-none-any.whl", + "downloadUrl": "https://meshcli.blob.core.windows.net/cli/mesh-0.10.6-py2.py3-none-any.whl", + "filename": "mesh-0.10.6-py2.py3-none-any.whl", "metadata": { "azext.isPreview": true, - "azext.maxCliCoreVersion": "2.0.62", - "azext.minCliCoreVersion": "2.0.32", - "classifiers": [ - "Development Status :: 4 - Beta", - "Intended Audience :: Developers", - "Intended Audience :: System Administrators", - "Programming Language :: Python", - "Programming Language :: Python :: 2", - "Programming Language :: Python :: 2.7", - "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.4", - "Programming Language :: Python :: 3.5", - "Programming Language :: Python :: 3.6", - "License :: OSI Approved :: MIT License" - ], + "azext.minCliCoreVersion": "2.0.67", "extensions": { "python.details": { "contacts": [ { - "email": "azds-azcli@microsoft.com", + "email": "azpycli@microsoft.com", "name": "Microsoft Corporation", "role": "author" } @@ -1671,23 +5248,29 @@ } } }, + "extras": [], "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "dev-spaces-preview", - "summary": "Dev Spaces provides a rapid, iterative Kubernetes development experience for teams.", - "version": "0.1.6" + "name": "mesh", + "run_requires": [ + { + "requires": [ + "sfmergeutility (==0.1.6)" + ] + } + ], + "summary": "Support for Microsoft Azure Service Fabric Mesh - Public Preview", + "version": "0.10.6" }, - "sha256Digest": "16661d66a3b4a04d429d456ba8a8d0b3b6ceb7b32691ff3a1dcc4144c005c798" + "sha256Digest": "07b6356cd15294c0bc0b31cfde1cdb2b92516b00728980d7a53557bb49273842" } ], - "dms-preview": [ + "mixed-reality": [ { - "downloadUrl": "https://azcliorcas.blob.core.windows.net/azclipath/dms_preview-0.11.0-py2.py3-none-any.whl", - "filename": "dms_preview-0.11.0-py2.py3-none-any.whl", + "downloadUrl": "https://test-files.pythonhosted.org/packages/e4/fa/14628eb512ef4f0c38e4e6c8ee2d0624e03d352ca0ec1b1167a32f9de9a3/mixed_reality-0.0.1-py2.py3-none-any.whl", + "filename": "mixed_reality-0.0.1-py2.py3-none-any.whl", "metadata": { - "azext.isPreview": true, - "azext.minCliCoreVersion": "2.0.43", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", @@ -1705,8 +5288,8 @@ "python.details": { "contacts": [ { - "email": "arpavlic@microsoft.com", - "name": "Artyom Pavlichenko", + "email": "xiangyul@microsoft.com", + "name": "Xiangyu Luo", "role": "author" } ], @@ -1714,27 +5297,25 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/dms-preview" + "Home": "https://github.com/Azure/azure-cli-extensions" } } }, "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "dms-preview", - "summary": "Support for new Database Migration Service scenarios.", - "version": "0.11.0" + "name": "mixed-reality", + "summary": "Mixed Reality Azure CLI Extension.", + "version": "0.0.1" }, - "sha256Digest": "ef19e5c19976506a8f8910ec04bc785ebeffb5a4c8764047e4e4d42f812b0845" - } - ], - "eventgrid": [ + "sha256Digest": "c5b7ef47d8db578920bcbda371a47edd19f8f681088823c2622dcb9332417587" + }, { - "downloadUrl": "https://eventgridcliextension.blob.core.windows.net/cli/eventgrid-0.4.4-py2.py3-none-any.whl", - "filename": "eventgrid-0.4.4-py2.py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/mixed_reality-0.0.2-py2.py3-none-any.whl", + "filename": "mixed_reality-0.0.2-py2.py3-none-any.whl", "metadata": { "azext.isPreview": true, - "azext.minCliCoreVersion": "2.0.49", + "azext.minCliCoreVersion": "2.0.30", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", @@ -1752,8 +5333,8 @@ "python.details": { "contacts": [ { - "email": "ahamad@microsoft.com", - "name": "Ashraf Hamad.", + "email": "xiangyul@microsoft.com", + "name": "Xiangyu Luo", "role": "author" } ], @@ -1768,18 +5349,20 @@ "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "eventgrid", - "summary": "Microsoft Azure Command-Line Tools EventGrid Command Module.", - "version": "0.4.4" + "name": "mixed-reality", + "summary": "Mixed Reality Azure CLI Extension.", + "version": "0.0.2" }, - "sha256Digest": "c91ac92ab27a7127c9def51e096f749986b57acf209b357eaf1494d3dbfb33f9" - }, + "sha256Digest": "30449391c1d1e9d67210d0ef81109a11a0f74a24a6f07644c17aed58cf056173" + } + ], + "netappfiles-preview": [ { - "downloadUrl": "https://eventgridcliextension.blob.core.windows.net/cli/eventgrid-0.4.6-py2.py3-none-any.whl", - "filename": "eventgrid-0.4.6-py2.py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/netappfiles_preview-0.3.2-py2.py3-none-any.whl", + "filename": "netappfiles_preview-0.3.2-py2.py3-none-any.whl", "metadata": { "azext.isPreview": true, - "azext.minCliCoreVersion": "2.0.49", + "azext.minCliCoreVersion": "2.0.56", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", @@ -1797,8 +5380,8 @@ "python.details": { "contacts": [ { - "email": "rgrandhi@microsoft.com", - "name": "Ramesh Grandhi.", + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", "role": "author" } ], @@ -1806,44 +5389,41 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions" + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/netappfiles-preview" } } }, + "extras": [], "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "eventgrid", - "summary": "Microsoft Azure Command-Line Tools EventGrid Command Module.", - "version": "0.4.6" + "name": "netappfiles-preview", + "run_requires": [ + { + "requires": [ + "msrest" + ] + } + ], + "summary": "Provides a preview for upcoming Azure NetApp Files (ANF) features.", + "version": "0.3.2" }, - "sha256Digest": "6ef9f9cf895b5dcdf9a38c2490a0c81e8254de4302dc7139fb6a4fcf2203318d" - }, + "sha256Digest": "d581bfefe3eb7fbceeed12c192ebdf5993fcf04ede7267d053aa416596bd0b53" + } + ], + "notification-hub": [ { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/eventgrid-0.4.7-py2.py3-none-any.whl", - "filename": "eventgrid-0.4.7-py2.py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/notification_hub-0.1.0-py2.py3-none-any.whl", + "filename": "notification_hub-0.1.0-py2.py3-none-any.whl", "metadata": { "azext.isPreview": true, - "azext.minCliCoreVersion": "2.0.49", - "classifiers": [ - "Development Status :: 4 - Beta", - "Intended Audience :: Developers", - "Intended Audience :: System Administrators", - "Programming Language :: Python", - "Programming Language :: Python :: 2", - "Programming Language :: Python :: 2.7", - "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.4", - "Programming Language :: Python :: 3.5", - "Programming Language :: Python :: 3.6", - "License :: OSI Approved :: MIT License" - ], + "azext.minCliCoreVersion": "2.0.67", "extensions": { "python.details": { "contacts": [ { - "email": "ahamad@microsoft.com", - "name": "Ashraf Hamad.", + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", "role": "author" } ], @@ -1858,31 +5438,27 @@ "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "eventgrid", - "summary": "Microsoft Azure Command-Line Tools EventGrid Command Module.", - "version": "0.4.7" + "name": "notification-hub", + "summary": "Microsoft Azure Command-Line Tools Notification Hub Extension", + "version": "0.1.0" }, - "sha256Digest": "f1bff60574d25ccc04eb2038081771b626651d144d9ab01be2b7410e1b02f56a" - } - ], - "express-route": [ + "sha256Digest": "6f8ae57c43f53380db7944d5244121b3b757f996f6ecca394696106fd2c1d875" + }, { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/express_route-0.1.3-py2.py3-none-any.whl", - "filename": "express_route-0.1.3-py2.py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/notification_hub-0.2.0-py3-none-any.whl", + "filename": "notification_hub-0.2.0-py3-none-any.whl", "metadata": { - "azext.isPreview": true, - "azext.minCliCoreVersion": "2.0.46", + "azext.isExperimental": true, + "azext.minCliCoreVersion": "2.3.1", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Intended Audience :: System Administrators", "Programming Language :: Python", - "Programming Language :: Python :: 2", - "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.4", - "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", "License :: OSI Approved :: MIT License" ], "extensions": { @@ -1898,39 +5474,27 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/express-route" + "Home": "https://github.com/Azure/azure-cli-extensions" } } }, - "generator": "bdist_wheel (0.29.0)", + "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "express-route", - "summary": "Manage ExpressRoutes with preview features.", - "version": "0.1.3" + "name": "notification-hub", + "summary": "Microsoft Azure Command-Line Tools Notification Hub Extension", + "version": "0.2.0" }, - "sha256Digest": "26ea9cbe5c1cc64ae0ea42ef4f550a1f7e8d91b7af5e04945c689e73b7499d7a" + "sha256Digest": "a8d0333e6c8ecc8846dcf162f01ce3d1f7a84cc4a431ec44cb5f48bd498b6d1b" } ], - "express-route-cross-connection": [ + "peering": [ { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/express_route_cross_connection-0.1.1-py2.py3-none-any.whl", - "filename": "express_route_cross_connection-0.1.1-py2.py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/peering-0.1.0rc2-py2.py3-none-any.whl", + "filename": "peering-0.1.0rc2-py2.py3-none-any.whl", "metadata": { - "azext.minCliCoreVersion": "2.0.41", - "classifiers": [ - "Development Status :: 4 - Beta", - "Intended Audience :: Developers", - "Intended Audience :: System Administrators", - "Programming Language :: Python", - "Programming Language :: Python :: 2", - "Programming Language :: Python :: 2.7", - "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.4", - "Programming Language :: Python :: 3.5", - "Programming Language :: Python :: 3.6", - "License :: OSI Approved :: MIT License" - ], + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.0.67", "extensions": { "python.details": { "contacts": [ @@ -1944,37 +5508,34 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/express-route-cross-connection" + "Home": "https://github.com/Azure/azure-cli-extensions" } } }, "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "express-route-cross-connection", - "summary": "Manage customer ExpressRoute circuits using an ExpressRoute cross-connection.", - "version": "0.1.1" + "name": "peering", + "summary": "Microsoft Azure Command-Line Tools Peering Extension", + "version": "0.1.0rc2" }, - "sha256Digest": "b83f723baae0ea04557a87f358fa2131baf15d45cd3aba7a9ab42d14ec80df38" - } - ], - "front-door": [ + "sha256Digest": "1b73d60427e5e84971e244a5884b7f14e0e05e65792e9ecc7483695d1b596992" + }, { - "downloadUrl": "https://azurecliafd.blob.core.windows.net/azure-cli-extension/front_door-1.0.2-py2.py3-none-any.whl", - "filename": "front_door-1.0.2-py2.py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/peering-0.2.0-py3-none-any.whl", + "filename": "peering-0.2.0-py3-none-any.whl", "metadata": { - "azext.minCliCoreVersion": "2.0.68", + "azext.isExperimental": true, + "azext.minCliCoreVersion": "2.3.1", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Intended Audience :: System Administrators", "Programming Language :: Python", - "Programming Language :: Python :: 2", - "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.4", - "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", "License :: OSI Approved :: MIT License" ], "extensions": { @@ -1990,35 +5551,36 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/front-door" + "Home": "https://github.com/Azure/azure-cli-extensions" } } }, "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "front-door", - "summary": "Manage networking Front Doors.", - "version": "1.0.2" + "name": "peering", + "summary": "Microsoft Azure Command-Line Tools PeeringManagementClient Extension", + "version": "0.2.0" }, - "sha256Digest": "a009045bab5dec0dfcd9715e2993ed0fa7a59b4bc6633d388415f482ed9cbc46" - }, + "sha256Digest": "dd301c22107f961692a4acdbb5a98d28a7e86e7fb8619f2322884a2bc5507241" + } + ], + "portal": [ { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/front_door-1.0.3-py2.py3-none-any.whl", - "filename": "front_door-1.0.3-py2.py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/portal-0.1.0-py3-none-any.whl", + "filename": "portal-0.1.0-py3-none-any.whl", "metadata": { - "azext.minCliCoreVersion": "2.0.68", + "azext.isExperimental": true, + "azext.minCliCoreVersion": "2.3.1", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Intended Audience :: System Administrators", "Programming Language :: Python", - "Programming Language :: Python :: 2", - "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.4", - "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", "License :: OSI Approved :: MIT License" ], "extensions": { @@ -2034,35 +5596,34 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/front-door" + "Home": "https://github.com/Azure/azure-cli-extensions" } } }, "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "front-door", - "summary": "Manage networking Front Doors.", - "version": "1.0.3" + "name": "portal", + "summary": "Microsoft Azure Command-Line Tools Portal Extension", + "version": "0.1.0" }, - "sha256Digest": "e483de77921937c210e03ed32e161d0384f162c8b253bd03fe8da1927b4160d7" + "sha256Digest": "89fdc138db22055fc09cf30a46050205a9e842d8fe386a3d8773ea563b074083" }, { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/front_door-1.0.4-py2.py3-none-any.whl", - "filename": "front_door-1.0.4-py2.py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/portal-0.1.1-py3-none-any.whl", + "filename": "portal-0.1.1-py3-none-any.whl", "metadata": { - "azext.minCliCoreVersion": "2.0.68", + "azext.isExperimental": true, + "azext.minCliCoreVersion": "2.3.1", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Intended Audience :: System Administrators", "Programming Language :: Python", - "Programming Language :: Python :: 2", - "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.4", - "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", "License :: OSI Approved :: MIT License" ], "extensions": { @@ -2078,33 +5639,39 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/front-door" + "Home": "https://github.com/Azure/azure-cli-extensions" } } }, "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "front-door", - "summary": "Manage networking Front Doors.", - "version": "1.0.4" + "name": "portal", + "summary": "Microsoft Azure Command-Line Tools Portal Extension", + "version": "0.1.1" }, - "sha256Digest": "49f509e8b56f4a1ef1870bac7273376df5e7fbfe1c25e10cf236e9448d66683c" - }, + "sha256Digest": "a3fc71fd6f0390850a60947cc1bff31d6346fc3f79e3ac8947add577c10c31a3" + } + ], + "powerbidedicated": [ { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/front_door-1.0.5-py3-none-any.whl", - "filename": "front_door-1.0.5-py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/powerbidedicated-0.1.1-py2.py3-none-any.whl", + "filename": "powerbidedicated-0.1.1-py2.py3-none-any.whl", "metadata": { - "azext.minCliCoreVersion": "2.0.68", + "azext.isPreview": true, + "azext.maxCliCoreVersion": "3.0.0", + "azext.minCliCoreVersion": "2.0.67", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Intended Audience :: System Administrators", "Programming Language :: Python", + "Programming Language :: Python :: 2", + "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.4", + "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", - "Programming Language :: Python :: 3.7", - "Programming Language :: Python :: 3.8", "License :: OSI Approved :: MIT License" ], "extensions": { @@ -2120,32 +5687,34 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/front-door" + "Home": "https://github.com/Azure/azure-cli-extensions" } } }, "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "front-door", - "summary": "Manage networking Front Doors.", - "version": "1.0.5" + "name": "powerbidedicated", + "summary": "Microsoft Azure Command-Line Tools PowerBIDedicated Extension", + "version": "0.1.1" }, - "sha256Digest": "cd55a87740de19cbd66444bdb398fd4a64115aeff92d52d2704a19ea2f083c60" + "sha256Digest": "a7373b5005814f9d6d0151622c8356b37758a7548aa2fb8cad3ddc4368c5e05f" } ], - "hack": [ + "privatedns": [ { - "downloadUrl": "https://azhackcli.blob.core.windows.net/whl/hack-0.4.2-py2.py3-none-any.whl", - "filename": "hack-0.4.2-py2.py3-none-any.whl", + "downloadUrl": "https://privatednscliextension.blob.core.windows.net/privatednscliextension/privatedns-0.1.1-py2.py3-none-any.whl", + "filename": "privatedns-0.1.1-py2.py3-none-any.whl", "metadata": { "azext.isPreview": true, - "azext.minCliCoreVersion": "2.0.67", + "azext.minCliCoreVersion": "2.0.58", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Intended Audience :: System Administrators", "Programming Language :: Python", + "Programming Language :: Python :: 2", + "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", @@ -2156,8 +5725,8 @@ "python.details": { "contacts": [ { - "email": "chrhar@microsoft.com", - "name": "Christopher Harrison", + "email": "dijyotir@microsoft.com", + "name": "Dibya Jyoti Roy", "role": "author" } ], @@ -2172,100 +5741,120 @@ "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "hack", - "summary": "Microsoft Azure Command-Line Tools Hack Extension", - "version": "0.4.2" + "name": "privatedns", + "summary": "Commands to manage Private DNS Zones", + "version": "0.1.1" }, - "sha256Digest": "6b91fae1e3f102bcafd342055e2c743af7231925f2a3a9878db486869f97499c" + "sha256Digest": "d140331c6b19bf0e4558a9b041c4c77c8a02fd36353d5d3a9527c6a4771af011" } ], - "healthcareapis": [ + "resource-graph": [ { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/healthcareapis-0.1.3-py2.py3-none-any.whl", - "filename": "healthcareapis-0.1.3-py2.py3-none-any.whl", + "downloadUrl": "https://files.pythonhosted.org/packages/bd/c1/3df175a9a6a0c6aeae1ca1a7499955d75dd03452b5ba75f6df01a02b7c7f/resource_graph-1.0.0-py2.py3-none-any.whl", + "filename": "resource_graph-1.0.0-py2.py3-none-any.whl", "metadata": { - "azext.minCliCoreVersion": "2.0.67", + "azext.isPreview": false, + "azext.minCliCoreVersion": "2.0.45", "extensions": { "python.details": { "contacts": [ { - "email": "azpycli@microsoft.com", - "name": "Microsoft Corporation", + "email": "ilidemi@microsoft.com", + "name": "Ilia Demianenko", "role": "author" + }, + { + "email": "earc@microsoft.com", + "name": "Azure Resource Graph", + "role": "maintainer" } ], "document_names": { "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions" + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/resource-graph" } } }, "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "healthcareapis", - "summary": "Microsoft Azure Command-Line Tools HealthCareApis Extension", - "version": "0.1.3" + "name": "resource-graph", + "summary": "Support for querying Azure resources with Resource Graph.", + "version": "1.0.0" }, - "sha256Digest": "2bc0f7c9642cb0afe682218761205d2b7ffe842a397fd679ad462506f2846ce0" - } - ], - "image-copy-extension": [ + "sha256Digest": "76f10264a7c6d78664c34e73d390565ce66e639fd39ffdfad149da8fc499112d" + }, { - "downloadUrl": "https://files.pythonhosted.org/packages/48/6f/7fa75dfa7c015c0b58f18473b4aa8d565be8606d9740d4442b32b17df913/image_copy_extension-0.2.3-py2.py3-none-any.whl", - "filename": "image_copy_extension-0.2.3-py2.py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/resource_graph-1.1.0-py2.py3-none-any.whl", + "filename": "resource_graph-1.1.0-py2.py3-none-any.whl", "metadata": { - "azext.minCliCoreVersion": "2.0.24", + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.3.1", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Intended Audience :: System Administrators", "Programming Language :: Python", - "Programming Language :: Python :: 2", - "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "License :: OSI Approved :: MIT License" ], + "description_content_type": "text/markdown", "extensions": { "python.details": { "contacts": [ { - "email": "tamir.kamara@microsoft.com", - "name": "Tamir Kamara", + "email": "ilidemi@microsoft.com", + "name": "Ilia Demianenko", "role": "author" + }, + { + "email": "earc@microsoft.com", + "name": "Azure Resource Graph", + "role": "maintainer" } ], "document_names": { "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions" + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/resource-graph" } } }, "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "image-copy-extension", - "summary": "Support for copying managed vm images between regions", - "version": "0.2.3" + "name": "resource-graph", + "summary": "Support for querying Azure resources with Resource Graph.", + "version": "1.1.0" }, - "sha256Digest": "8a88c2600f9dad5f38ca6128ab8efaa38a974fbb7fe8c875fc50b7bb7d37bd54" + "sha256Digest": "1eaef63df8a22666f88f322829f3470efb790e36d35376c1705b40fb03464549" } ], - "interactive": [ + "sap-hana": [ { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/interactive-0.4.1-py2.py3-none-any.whl", - "filename": "interactive-0.4.1-py2.py3-none-any.whl", + "downloadUrl": "https://github.com/Azure/azure-hanaonazure-cli-extension/releases/download/0.6.4/sap_hana-0.6.4-py2.py3-none-any.whl", + "filename": "sap_hana-0.6.4-py2.py3-none-any.whl", "metadata": { - "azext.isPreview": true, - "azext.maxCliCoreVersion": "2.0.61", - "azext.minCliCoreVersion": "2.0.50.dev0", + "azext.minCliCoreVersion": "2.0.46", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 2", + "Programming Language :: Python :: 2.7", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.4", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "License :: OSI Approved :: MIT License" + ], "extensions": { "python.details": { "contacts": [ @@ -2279,33 +5868,41 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli" + "Home": "https://github.com/Azure/azure-hanaonazure-cli-extension" } } }, - "extras": [], "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "interactive", - "run_requires": [ - { - "requires": [ - "prompt-toolkit (~=1.0.15)" - ] - } - ], - "summary": "Microsoft Azure Command-Line Interactive Shell", - "version": "0.4.1" + "name": "sap-hana", + "summary": "Additional commands for working with SAP HanaOnAzure instances.", + "version": "0.6.4" }, - "sha256Digest": "22b940493972b77c62606b0ae3c834283209d8619bb740e69dd115530a328e3b" - }, + "sha256Digest": "352266a3e0857574c25f0d1930bfb2c0d79329bee2400f6431a37c6162337b12" + } + ], + "spring-cloud": [ { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/interactive-0.4.3-py2.py3-none-any.whl", - "filename": "interactive-0.4.3-py2.py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/spring_cloud-0.1.0-py2.py3-none-any.whl", + "filename": "spring_cloud-0.1.0-py2.py3-none-any.whl", "metadata": { "azext.isPreview": true, - "azext.minCliCoreVersion": "2.0.62", + "azext.maxCliCoreVersion": "2.1.0", + "azext.minCliCoreVersion": "2.0.67", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 2", + "Programming Language :: Python :: 2.7", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.4", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "License :: OSI Approved :: MIT License" + ], "extensions": { "python.details": { "contacts": [ @@ -2319,34 +5916,25 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli" + "Home": "https://github.com/Azure/azure-cli-extensions" } } }, - "extras": [], "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "interactive", - "run_requires": [ - { - "requires": [ - "prompt-toolkit (~=1.0.15)" - ] - } - ], - "summary": "Microsoft Azure Command-Line Interactive Shell", - "version": "0.4.3" + "name": "spring-cloud", + "summary": "Microsoft Azure Command-Line Tools spring-cloud Extension", + "version": "0.1.0" }, - "sha256Digest": "ba78a45ec9753a42e1e805dc9cf3b309df264c6201dfd1dabcc6c00b22599fe8" - } - ], - "internet-analyzer": [ + "sha256Digest": "1042caa1c3b6c85c2e5360bf57de4d26f71afd80ecae6b14cf45fbfe73b5cf0e" + }, { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/internet_analyzer-0.1.0rc5-py2.py3-none-any.whl", - "filename": "internet_analyzer-0.1.0rc5-py2.py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/spring_cloud-0.1.1-py2.py3-none-any.whl", + "filename": "spring_cloud-0.1.1-py2.py3-none-any.whl", "metadata": { "azext.isPreview": true, + "azext.maxCliCoreVersion": "2.1.0", "azext.minCliCoreVersion": "2.0.67", "extensions": { "python.details": { @@ -2368,18 +5956,19 @@ "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "internet-analyzer", - "summary": "Microsoft Azure Command-Line Tools Internet Analyzer Extension", - "version": "0.1.0rc5" + "name": "spring-cloud", + "summary": "Microsoft Azure Command-Line Tools spring-cloud Extension", + "version": "0.1.1" }, - "sha256Digest": "7e5ee753abece69fb917f3a96be4a3d8117ffbbbd75d18c2e54c74c0fe2b952e" - } - ], - "ip-group": [ + "sha256Digest": "f42d8c99ace9b4df29eea79ac7a588b1fcaecd381b1a80c7dbdd920756f8d209" + }, { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/ip_group-0.1.1-py2.py3-none-any.whl", - "filename": "ip_group-0.1.1-py2.py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/spring_cloud-0.2.0-py2.py3-none-any.whl", + "filename": "spring_cloud-0.2.0-py2.py3-none-any.whl", "metadata": { + "azext.isPreview": true, + "azext.maxCliCoreVersion": "2.1.0", + "azext.minCliCoreVersion": "2.0.67", "extensions": { "python.details": { "contacts": [ @@ -2400,38 +5989,25 @@ "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "ip-group", - "summary": "Microsoft Azure Command-Line Tools IpGroup Extension", - "version": "0.1.1" + "name": "spring-cloud", + "summary": "Microsoft Azure Command-Line Tools spring-cloud Extension", + "version": "0.2.0" }, - "sha256Digest": "477d7f58fe44a4ecb0ced3497262d7ccd8bb7677d70582b6fccf645e91d25ad4" - } - ], - "keyvault-preview": [ + "sha256Digest": "b39aa8c49b316b1870e79db0526be2db772b179f9f517f72af898d9c3cc3310d" + }, { - "downloadUrl": "https://github.com/Azure/azure-keyvault-cli-extension/releases/download/keyvault-preview_0.1.3/keyvault_preview-0.1.3-py2.py3-none-any.whl", - "filename": "keyvault_preview-0.1.3-py2.py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/spring_cloud-0.2.1-py2.py3-none-any.whl", + "filename": "spring_cloud-0.2.1-py2.py3-none-any.whl", "metadata": { "azext.isPreview": true, - "classifiers": [ - "Development Status :: 4 - Beta", - "Intended Audience :: Developers", - "Intended Audience :: System Administrators", - "Programming Language :: Python", - "Programming Language :: Python :: 2", - "Programming Language :: Python :: 2.7", - "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.4", - "Programming Language :: Python :: 3.5", - "Programming Language :: Python :: 3.6", - "License :: OSI Approved :: MIT License" - ], + "azext.maxCliCoreVersion": "2.1.0", + "azext.minCliCoreVersion": "2.0.67", "extensions": { "python.details": { "contacts": [ { - "email": "azurekeyvault@microsoft.com", - "name": "Azure Key Vault", + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", "role": "author" } ], @@ -2439,32 +6015,31 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-keyvault-cli-extension" + "Home": "https://github.com/Azure/azure-cli-extensions" } } }, "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "keyvault-preview", - "summary": "Preview Azure Key Vault commands.", - "version": "0.1.3" + "name": "spring-cloud", + "summary": "Microsoft Azure Command-Line Tools spring-cloud Extension", + "version": "0.2.1" }, - "sha256Digest": "5d80ceaac45576bfd9cb7f2bd5714183d9f88711b4aa415940b4b393a7591069" - } - ], - "log-analytics": [ + "sha256Digest": "dfb974346cf9f62d8f9564756d6661cd758904d1e7035ca61c7227d6b0fc6cf1" + }, { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/log_analytics-0.1.4-py2.py3-none-any.whl", - "filename": "log_analytics-0.1.4-py2.py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/spring_cloud-0.2.2-py2.py3-none-any.whl", + "filename": "spring_cloud-0.2.2-py2.py3-none-any.whl", "metadata": { "azext.isPreview": true, + "azext.minCliCoreVersion": "2.0.67", "extensions": { "python.details": { "contacts": [ { - "email": "aleldeib@microsoft.com", - "name": "Ace Eldeib", + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", "role": "author" } ], @@ -2472,26 +6047,25 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/log-analytics" + "Home": "https://github.com/Azure/azure-cli-extensions" } } }, "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "log-analytics", - "summary": "Support for Azure Log Analytics query capabilities.", - "version": "0.1.4" + "name": "spring-cloud", + "summary": "Microsoft Azure Command-Line Tools spring-cloud Extension", + "version": "0.2.2" }, - "sha256Digest": "6f4789fff8581a52e13bcf8f13fdc16b47662fac69e1fc3ea49280de1a8e65bc" - } - ], - "maintenance": [ + "sha256Digest": "ab81ea74ecb86edaa1b4e5938e1136dbf6788b237b141c5905b121646edd9f5b" + }, { - "downloadUrl": "https://mrpcliextensionrelease.blob.core.windows.net/cliextension/maintenance-1.0.1-py2.py3-none-any.whl", - "filename": "maintenance-1.0.1-py2.py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/spring_cloud-0.2.3-py2.py3-none-any.whl", + "filename": "spring_cloud-0.2.3-py2.py3-none-any.whl", "metadata": { - "azext.minCliCoreVersion": "2.0.47", + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.0.67", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", @@ -2509,8 +6083,8 @@ "python.details": { "contacts": [ { - "email": "abkmr@microsoft.com", - "name": "Abhishek Kumar", + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", "role": "author" } ], @@ -2525,18 +6099,18 @@ "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "maintenance", - "summary": "Support for Azure maintenance management.", - "version": "1.0.1" + "name": "spring-cloud", + "summary": "Microsoft Azure Command-Line Tools spring-cloud Extension", + "version": "0.2.3" }, - "sha256Digest": "3e0fb5392bd29e53e7afde543d1a0ef5d33a6032f01322fd75b7afe7016c34fc" - } - ], - "managementpartner": [ + "sha256Digest": "c4af1e193256ae2b04fc9c46a414c3203944b458b2a8959654c55450ec9ea76d" + }, { - "downloadUrl": "https://files.pythonhosted.org/packages/28/08/0fde582cf50eaf1ef304b35674b9b22f6731d95b2e41339eba4d35583b18/managementpartner-0.1.2-py2.py3-none-any.whl", - "filename": "managementpartner-0.1.2-py2.py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/spring_cloud-0.2.4-py2.py3-none-any.whl", + "filename": "spring_cloud-0.2.4-py2.py3-none-any.whl", "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.0.67", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", @@ -2550,40 +6124,6 @@ "Programming Language :: Python :: 3.6", "License :: OSI Approved :: MIT License" ], - "extensions": { - "python.details": { - "contacts": [ - { - "email": "jefl@microsoft.com", - "name": "Jeffrey Li", - "role": "author" - } - ], - "document_names": { - "description": "DESCRIPTION.rst" - }, - "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions" - } - } - }, - "generator": "bdist_wheel (0.29.0)", - "license": "MIT", - "metadata_version": "2.0", - "name": "managementpartner", - "summary": "Support for Management Partner preview", - "version": "0.1.2" - }, - "sha256Digest": "f7ec0984b4d5a4c9192aa3ab6b78c867fc38cf620effef1804d89c9d1d9f204f" - } - ], - "mesh": [ - { - "downloadUrl": "https://meshcli.blob.core.windows.net/cli/mesh-0.10.6-py2.py3-none-any.whl", - "filename": "mesh-0.10.6-py2.py3-none-any.whl", - "metadata": { - "azext.isPreview": true, - "azext.minCliCoreVersion": "2.0.67", "extensions": { "python.details": { "contacts": [ @@ -2601,29 +6141,21 @@ } } }, - "extras": [], "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "mesh", - "run_requires": [ - { - "requires": [ - "sfmergeutility (==0.1.6)" - ] - } - ], - "summary": "Support for Microsoft Azure Service Fabric Mesh - Public Preview", - "version": "0.10.6" + "name": "spring-cloud", + "summary": "Microsoft Azure Command-Line Tools spring-cloud Extension", + "version": "0.2.4" }, - "sha256Digest": "07b6356cd15294c0bc0b31cfde1cdb2b92516b00728980d7a53557bb49273842" - } - ], - "mixed-reality": [ + "sha256Digest": "9e18d1d44c7f63c970bbc70d29f6c5719c4062c5defa5a63165db13d8623fc70" + }, { - "downloadUrl": "https://test-files.pythonhosted.org/packages/e4/fa/14628eb512ef4f0c38e4e6c8ee2d0624e03d352ca0ec1b1167a32f9de9a3/mixed_reality-0.0.1-py2.py3-none-any.whl", - "filename": "mixed_reality-0.0.1-py2.py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/spring_cloud-0.2.5-py2.py3-none-any.whl", + "filename": "spring_cloud-0.2.5-py2.py3-none-any.whl", "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.0.67", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", @@ -2641,8 +6173,8 @@ "python.details": { "contacts": [ { - "email": "xiangyul@microsoft.com", - "name": "Xiangyu Luo", + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", "role": "author" } ], @@ -2656,21 +6188,19 @@ }, "generator": "bdist_wheel (0.30.0)", "license": "MIT", - "metadata_version": "2.0", - "name": "mixed-reality", - "summary": "Mixed Reality Azure CLI Extension.", - "version": "0.0.1" + "metadata_version": "2.0", + "name": "spring-cloud", + "summary": "Microsoft Azure Command-Line Tools spring-cloud Extension", + "version": "0.2.5" }, - "sha256Digest": "c5b7ef47d8db578920bcbda371a47edd19f8f681088823c2622dcb9332417587" - } - ], - "netappfiles-preview": [ + "sha256Digest": "281fc1babe47793e0bcccbe004ea4771802038eead1e8c3b553461b8062be912" + }, { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/netappfiles_preview-0.3.2-py2.py3-none-any.whl", - "filename": "netappfiles_preview-0.3.2-py2.py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/spring_cloud-0.2.6-py2.py3-none-any.whl", + "filename": "spring_cloud-0.2.6-py2.py3-none-any.whl", "metadata": { "azext.isPreview": true, - "azext.minCliCoreVersion": "2.0.56", + "azext.minCliCoreVersion": "2.0.67", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", @@ -2697,35 +6227,38 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/netappfiles-preview" + "Home": "https://github.com/Azure/azure-cli-extensions" } } }, - "extras": [], "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "netappfiles-preview", - "run_requires": [ - { - "requires": [ - "msrest" - ] - } - ], - "summary": "Provides a preview for upcoming Azure NetApp Files (ANF) features.", - "version": "0.3.2" + "name": "spring-cloud", + "summary": "Microsoft Azure Command-Line Tools spring-cloud Extension", + "version": "0.2.6" }, - "sha256Digest": "d581bfefe3eb7fbceeed12c192ebdf5993fcf04ede7267d053aa416596bd0b53" - } - ], - "notification-hub": [ + "sha256Digest": "f3fdb9cd98dcd887a7f84dcc5eff38c8b6384b464fa0734965df9f379acaacd8" + }, { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/notification_hub-0.1.0-py2.py3-none-any.whl", - "filename": "notification_hub-0.1.0-py2.py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/spring_cloud-0.3.0-py2.py3-none-any.whl", + "filename": "spring_cloud-0.3.0-py2.py3-none-any.whl", "metadata": { "azext.isPreview": true, "azext.minCliCoreVersion": "2.0.67", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 2", + "Programming Language :: Python :: 2.7", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.4", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "License :: OSI Approved :: MIT License" + ], "extensions": { "python.details": { "contacts": [ @@ -2746,20 +6279,33 @@ "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "notification-hub", - "summary": "Microsoft Azure Command-Line Tools Notification Hub Extension", - "version": "0.1.0" + "name": "spring-cloud", + "summary": "Microsoft Azure Command-Line Tools spring-cloud Extension", + "version": "0.3.0" }, - "sha256Digest": "6f8ae57c43f53380db7944d5244121b3b757f996f6ecca394696106fd2c1d875" + "sha256Digest": "9c719fe1c6f539ba663283bd2eb8464aa9bcbf2d35617ac58408c6133f824f38" } ], - "peering": [ + "storage-or-preview": [ { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/peering-0.1.0rc2-py2.py3-none-any.whl", - "filename": "peering-0.1.0rc2-py2.py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/storage_or_preview-0.4.0-py2.py3-none-any.whl", + "filename": "storage_or_preview-0.4.0-py2.py3-none-any.whl", "metadata": { "azext.isPreview": true, "azext.minCliCoreVersion": "2.0.67", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 2", + "Programming Language :: Python :: 2.7", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.4", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "License :: OSI Approved :: MIT License" + ], "extensions": { "python.details": { "contacts": [ @@ -2780,21 +6326,20 @@ "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "peering", - "summary": "Microsoft Azure Command-Line Tools Peering Extension", - "version": "0.1.0rc2" + "name": "storage-or-preview", + "summary": "Microsoft Azure Command-Line Tools Storage-ors-preview Extension", + "version": "0.4.0" }, - "sha256Digest": "1b73d60427e5e84971e244a5884b7f14e0e05e65792e9ecc7483695d1b596992" + "sha256Digest": "29abde58f44f084cd9e8491c3124392bf4436895f428246e3f42c7cd76691b7e" } ], - "powerbidedicated": [ + "storage-preview": [ { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/powerbidedicated-0.1.1-py2.py3-none-any.whl", - "filename": "powerbidedicated-0.1.1-py2.py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/storage_preview-0.2.8-py2.py3-none-any.whl", + "filename": "storage_preview-0.2.8-py2.py3-none-any.whl", "metadata": { "azext.isPreview": true, - "azext.maxCliCoreVersion": "3.0.0", - "azext.minCliCoreVersion": "2.0.67", + "azext.minCliCoreVersion": "2.0.52", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", @@ -2821,27 +6366,25 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions" + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/storage-preview" } } }, "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "powerbidedicated", - "summary": "Microsoft Azure Command-Line Tools PowerBIDedicated Extension", - "version": "0.1.1" + "name": "storage-preview", + "summary": "Provides a preview for upcoming storage features.", + "version": "0.2.8" }, - "sha256Digest": "a7373b5005814f9d6d0151622c8356b37758a7548aa2fb8cad3ddc4368c5e05f" - } - ], - "privatedns": [ + "sha256Digest": "a3d48247051e95847ded28217433c4b98fc02d6ee21eedfcb24dd43f7360569d" + }, { - "downloadUrl": "https://privatednscliextension.blob.core.windows.net/privatednscliextension/privatedns-0.1.1-py2.py3-none-any.whl", - "filename": "privatedns-0.1.1-py2.py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/storage_preview-0.2.9-py2.py3-none-any.whl", + "filename": "storage_preview-0.2.9-py2.py3-none-any.whl", "metadata": { "azext.isPreview": true, - "azext.minCliCoreVersion": "2.0.58", + "azext.minCliCoreVersion": "2.0.67", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", @@ -2859,8 +6402,8 @@ "python.details": { "contacts": [ { - "email": "dijyotir@microsoft.com", - "name": "Dibya Jyoti Roy", + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", "role": "author" } ], @@ -2868,65 +6411,72 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions" + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/storage-preview" } } }, "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "privatedns", - "summary": "Commands to manage Private DNS Zones", - "version": "0.1.1" + "name": "storage-preview", + "summary": "Provides a preview for upcoming storage features.", + "version": "0.2.9" }, - "sha256Digest": "d140331c6b19bf0e4558a9b041c4c77c8a02fd36353d5d3a9527c6a4771af011" - } - ], - "resource-graph": [ + "sha256Digest": "880e01de0fab8893770497ef9410559ae223a1f09dbd6a23712226ab4e2d5ecb" + }, { - "downloadUrl": "https://files.pythonhosted.org/packages/bd/c1/3df175a9a6a0c6aeae1ca1a7499955d75dd03452b5ba75f6df01a02b7c7f/resource_graph-1.0.0-py2.py3-none-any.whl", - "filename": "resource_graph-1.0.0-py2.py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/storage_preview-0.2.10-py2.py3-none-any.whl", + "filename": "storage_preview-0.2.10-py2.py3-none-any.whl", "metadata": { - "azext.isPreview": false, - "azext.minCliCoreVersion": "2.0.45", + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.0.67", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 2", + "Programming Language :: Python :: 2.7", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.4", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "License :: OSI Approved :: MIT License" + ], "extensions": { "python.details": { "contacts": [ { - "email": "ilidemi@microsoft.com", - "name": "Ilia Demianenko", + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", "role": "author" - }, - { - "email": "earc@microsoft.com", - "name": "Azure Resource Graph", - "role": "maintainer" } ], "document_names": { "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/resource-graph" + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/storage-preview" } } }, "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "resource-graph", - "summary": "Support for querying Azure resources with Resource Graph.", - "version": "1.0.0" + "name": "storage-preview", + "summary": "Provides a preview for upcoming storage features.", + "version": "0.2.10" }, - "sha256Digest": "76f10264a7c6d78664c34e73d390565ce66e639fd39ffdfad149da8fc499112d" + "sha256Digest": "8c87013be456849f27ea7f76df284e998e6f3911d3de478ec19abe84bb30fbe9" } ], - "sap-hana": [ + "storagesync": [ { - "downloadUrl": "https://github.com/Azure/azure-hanaonazure-cli-extension/releases/download/0.5.9/sap_hana-0.5.9-py2.py3-none-any.whl", - "filename": "sap_hana-0.5.9-py2.py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/storagesync-0.1.0-py2.py3-none-any.whl", + "filename": "storagesync-0.1.0-py2.py3-none-any.whl", "metadata": { - "azext.minCliCoreVersion": "2.0.46", + "azext.isExperimental": true, + "azext.minCliCoreVersion": "2.3.1", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", @@ -2953,39 +6503,37 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-hanaonazure-cli-extension" + "Home": "https://github.com/Azure/azure-cli-extensions" } } }, "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "sap-hana", - "summary": "Additional commands for working with SAP HanaOnAzure instances.", - "version": "0.5.9" + "name": "storagesync", + "summary": "Microsoft Azure Command-Line Tools MicrosoftStorageSync Extension", + "version": "0.1.0" }, - "sha256Digest": "ad15a6c99fcb631c08c4b6b7c95d3520ee21e02164822a1272dac448350173cf" + "sha256Digest": "a1d15edfcc18d9d301dea843cd7dce9845b8da6f6b1beb47a1bba35ff46eadde" } ], - "spring-cloud": [ + "stream-analytics": [ { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/spring_cloud-0.1.0-py2.py3-none-any.whl", - "filename": "spring_cloud-0.1.0-py2.py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/stream_analytics-0.1.0-py2.py3-none-any.whl", + "filename": "stream_analytics-0.1.0-py2.py3-none-any.whl", "metadata": { - "azext.isPreview": true, - "azext.maxCliCoreVersion": "2.1.0", - "azext.minCliCoreVersion": "2.0.67", + "azext.isExperimental": true, + "azext.minCliCoreVersion": "2.3.1", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Intended Audience :: System Administrators", "Programming Language :: Python", - "Programming Language :: Python :: 2", - "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", "License :: OSI Approved :: MIT License" ], "extensions": { @@ -3008,25 +6556,37 @@ "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "spring-cloud", - "summary": "Microsoft Azure Command-Line Tools spring-cloud Extension", + "name": "stream-analytics", + "summary": "Microsoft Azure Command-Line Tools stream-analytics Extension", "version": "0.1.0" }, - "sha256Digest": "1042caa1c3b6c85c2e5360bf57de4d26f71afd80ecae6b14cf45fbfe73b5cf0e" - }, + "sha256Digest": "e3a9048f289d1b870637e4b13c0ee1e877827834e1f71d31cb8161bacc441388" + } + ], + "subscription": [ { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/spring_cloud-0.1.1-py2.py3-none-any.whl", - "filename": "spring_cloud-0.1.1-py2.py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/subscription-0.1.3-py2.py3-none-any.whl", + "filename": "subscription-0.1.3-py2.py3-none-any.whl", "metadata": { - "azext.isPreview": true, - "azext.maxCliCoreVersion": "2.1.0", - "azext.minCliCoreVersion": "2.0.67", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 2", + "Programming Language :: Python :: 2.7", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.4", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "License :: OSI Approved :: MIT License" + ], "extensions": { "python.details": { "contacts": [ { - "email": "azpycli@microsoft.com", - "name": "Microsoft Corporation", + "email": "wilcob@microsoft.com", + "name": "Wilco Bauwer", "role": "author" } ], @@ -3041,25 +6601,37 @@ "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "spring-cloud", - "summary": "Microsoft Azure Command-Line Tools spring-cloud Extension", - "version": "0.1.1" + "name": "subscription", + "summary": "Support for subscription management preview.", + "version": "0.1.3" }, - "sha256Digest": "f42d8c99ace9b4df29eea79ac7a588b1fcaecd381b1a80c7dbdd920756f8d209" + "sha256Digest": "74388eb7d4976c620bd41ef577cdb9284cd9a3e38dc4756796d091a7c8193267" }, { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/spring_cloud-0.2.0-py2.py3-none-any.whl", - "filename": "spring_cloud-0.2.0-py2.py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/subscription-0.1.4-py2.py3-none-any.whl", + "filename": "subscription-0.1.4-py2.py3-none-any.whl", "metadata": { "azext.isPreview": true, - "azext.maxCliCoreVersion": "2.1.0", - "azext.minCliCoreVersion": "2.0.67", + "azext.minCliCoreVersion": "2.0.30", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 2", + "Programming Language :: Python :: 2.7", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.4", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "License :: OSI Approved :: MIT License" + ], "extensions": { "python.details": { "contacts": [ { - "email": "azpycli@microsoft.com", - "name": "Microsoft Corporation", + "email": "wilcob@microsoft.com", + "name": "Wilco Bauwer", "role": "author" } ], @@ -3074,19 +6646,20 @@ "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "spring-cloud", - "summary": "Microsoft Azure Command-Line Tools spring-cloud Extension", - "version": "0.2.0" + "name": "subscription", + "summary": "Support for subscription management preview.", + "version": "0.1.4" }, - "sha256Digest": "b39aa8c49b316b1870e79db0526be2db772b179f9f517f72af898d9c3cc3310d" - }, + "sha256Digest": "0f28407be656e9930d06240b95bf1ccc8ebbbc9fc961cbd9e4b0575e1867b03d" + } + ], + "support": [ { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/spring_cloud-0.2.1-py2.py3-none-any.whl", - "filename": "spring_cloud-0.2.1-py2.py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/support-0.1.1-py2.py3-none-any.whl", + "filename": "support-0.1.1-py2.py3-none-any.whl", "metadata": { "azext.isPreview": true, - "azext.maxCliCoreVersion": "2.1.0", - "azext.minCliCoreVersion": "2.0.67", + "azext.minCliCoreVersion": "2.0.81", "extensions": { "python.details": { "contacts": [ @@ -3100,25 +6673,38 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions" + "Home": "https://github.com/azure/azure-cli-extensions/tree/master/src/support" } } }, "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "spring-cloud", - "summary": "Microsoft Azure Command-Line Tools spring-cloud Extension", - "version": "0.2.1" + "name": "support", + "summary": "Microsoft Azure Command-Line Tools Support Extension", + "version": "0.1.1" }, - "sha256Digest": "dfb974346cf9f62d8f9564756d6661cd758904d1e7035ca61c7227d6b0fc6cf1" + "sha256Digest": "e74e1b769155a08226d103781dbec7a20b517c37f4b75871172b2769e37676fa" }, { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/spring_cloud-0.2.2-py2.py3-none-any.whl", - "filename": "spring_cloud-0.2.2-py2.py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/support-1.0.0-py2.py3-none-any.whl", + "filename": "support-1.0.0-py2.py3-none-any.whl", "metadata": { - "azext.isPreview": true, - "azext.minCliCoreVersion": "2.0.67", + "azext.isPreview": false, + "azext.minCliCoreVersion": "2.0.81", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 2", + "Programming Language :: Python :: 2.7", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.4", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "License :: OSI Approved :: MIT License" + ], "extensions": { "python.details": { "contacts": [ @@ -3132,27 +6718,25 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions" + "Home": "https://github.com/azure/azure-cli-extensions/tree/master/src/support" } } }, "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "spring-cloud", - "summary": "Microsoft Azure Command-Line Tools spring-cloud Extension", - "version": "0.2.2" + "name": "support", + "summary": "Microsoft Azure Command-Line Tools Support Extension", + "version": "1.0.0" }, - "sha256Digest": "ab81ea74ecb86edaa1b4e5938e1136dbf6788b237b141c5905b121646edd9f5b" - } - ], - "storage-preview": [ + "sha256Digest": "3646b584af5fb68e57a153991cdbf049cd6f8e471c36b28c7f3bb642ecc341d8" + }, { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/storage_preview-0.2.8-py2.py3-none-any.whl", - "filename": "storage_preview-0.2.8-py2.py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/support-1.0.1-py2.py3-none-any.whl", + "filename": "support-1.0.1-py2.py3-none-any.whl", "metadata": { - "azext.isPreview": true, - "azext.minCliCoreVersion": "2.0.52", + "azext.isPreview": false, + "azext.minCliCoreVersion": "2.0.81", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", @@ -3179,25 +6763,25 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/storage-preview" + "Home": "https://github.com/azure/azure-cli-extensions/tree/master/src/support" } } }, "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "storage-preview", - "summary": "Provides a preview for upcoming storage features.", - "version": "0.2.8" + "name": "support", + "summary": "Microsoft Azure Command-Line Tools Support Extension", + "version": "1.0.1" }, - "sha256Digest": "a3d48247051e95847ded28217433c4b98fc02d6ee21eedfcb24dd43f7360569d" + "sha256Digest": "5490c5dbe52b0457b51a327426cad741005f8afc24c13cefefb9fe8694a558f7" }, { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/storage_preview-0.2.9-py2.py3-none-any.whl", - "filename": "storage_preview-0.2.9-py2.py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/support-1.0.2-py2.py3-none-any.whl", + "filename": "support-1.0.2-py2.py3-none-any.whl", "metadata": { - "azext.isPreview": true, - "azext.minCliCoreVersion": "2.0.67", + "azext.isPreview": false, + "azext.minCliCoreVersion": "2.0.81", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", @@ -3224,22 +6808,24 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/storage-preview" + "Home": "https://github.com/azure/azure-cli-extensions/tree/master/src/support" } } }, "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "storage-preview", - "summary": "Provides a preview for upcoming storage features.", - "version": "0.2.9" + "name": "support", + "summary": "Microsoft Azure Command-Line Tools Support Extension", + "version": "1.0.2" }, - "sha256Digest": "880e01de0fab8893770497ef9410559ae223a1f09dbd6a23712226ab4e2d5ecb" - }, + "sha256Digest": "815e9ed05789f4cd00eb00cbae0e6339e7519c0c6d816bf3aa302af534acef5b" + } + ], + "synapse": [ { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/storage_preview-0.2.10-py2.py3-none-any.whl", - "filename": "storage_preview-0.2.10-py2.py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/synapse-0.1.0-py2.py3-none-any.whl", + "filename": "synapse-0.1.0-py2.py3-none-any.whl", "metadata": { "azext.isPreview": true, "azext.minCliCoreVersion": "2.0.67", @@ -3269,25 +6855,25 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/storage-preview" + "Home": "https://github.com/Azure/azure-cli-extensions" } } }, "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "storage-preview", - "summary": "Provides a preview for upcoming storage features.", - "version": "0.2.10" + "name": "synapse", + "summary": "Microsoft Azure Command-Line Tools Synapse Extension", + "version": "0.1.0" }, - "sha256Digest": "8c87013be456849f27ea7f76df284e998e6f3911d3de478ec19abe84bb30fbe9" - } - ], - "subscription": [ + "sha256Digest": "bdeb2f4830fc35ff15b4ec473927619ed6a5ab46e4c797f2cb7605e59a32aa36" + }, { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/subscription-0.1.3-py2.py3-none-any.whl", - "filename": "subscription-0.1.3-py2.py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/synapse-0.2.0-py2.py3-none-any.whl", + "filename": "synapse-0.2.0-py2.py3-none-any.whl", "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.0.67", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", @@ -3305,8 +6891,8 @@ "python.details": { "contacts": [ { - "email": "wilcob@microsoft.com", - "name": "Wilco Bauwer", + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", "role": "author" } ], @@ -3321,20 +6907,30 @@ "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "subscription", - "summary": "Support for subscription management preview.", - "version": "0.1.3" + "name": "synapse", + "summary": "Microsoft Azure Command-Line Tools Synapse Extension", + "version": "0.2.0" }, - "sha256Digest": "74388eb7d4976c620bd41ef577cdb9284cd9a3e38dc4756796d091a7c8193267" + "sha256Digest": "4731f2418d29ba818dd971acc71d695ff1641208e6441c719b38c4c21577c2e3" } ], - "support": [ + "timeseriesinsights": [ { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/support-0.1.1-py2.py3-none-any.whl", - "filename": "support-0.1.1-py2.py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/timeseriesinsights-0.1.0-py3-none-any.whl", + "filename": "timeseriesinsights-0.1.0-py3-none-any.whl", "metadata": { - "azext.isPreview": true, - "azext.minCliCoreVersion": "2.0.81", + "azext.isExperimental": true, + "azext.minCliCoreVersion": "2.3.1", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "License :: OSI Approved :: MIT License" + ], "extensions": { "python.details": { "contacts": [ @@ -3348,36 +6944,33 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/azure/azure-cli-extensions/tree/master/src/support" + "Home": "https://github.com/Azure/azure-cli-extensions/src/timeseriesinsights" } } }, "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "support", - "summary": "Microsoft Azure Command-Line Tools Support Extension", - "version": "0.1.1" + "name": "timeseriesinsights", + "summary": "Microsoft Azure Command-Line Tools TimeSeriesInsightsClient Extension", + "version": "0.1.0" }, - "sha256Digest": "e74e1b769155a08226d103781dbec7a20b517c37f4b75871172b2769e37676fa" + "sha256Digest": "a1cd9f9177ff31010638048d3737dc39fac144d9ca107fe4eafc4339386d71cd" }, { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/support-1.0.0-py2.py3-none-any.whl", - "filename": "support-1.0.0-py2.py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/timeseriesinsights-0.1.1-py3-none-any.whl", + "filename": "timeseriesinsights-0.1.1-py3-none-any.whl", "metadata": { - "azext.isPreview": false, - "azext.minCliCoreVersion": "2.0.81", + "azext.isExperimental": true, + "azext.minCliCoreVersion": "2.3.1", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Intended Audience :: System Administrators", "Programming Language :: Python", - "Programming Language :: Python :: 2", - "Programming Language :: Python :: 2.7", - "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.4", - "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", "License :: OSI Approved :: MIT License" ], "extensions": { @@ -3393,38 +6986,33 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/azure/azure-cli-extensions/tree/master/src/support" + "Home": "https://github.com/Azure/azure-cli-extensions/src/timeseriesinsights" } } }, "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "support", - "summary": "Microsoft Azure Command-Line Tools Support Extension", - "version": "1.0.0" + "name": "timeseriesinsights", + "summary": "Microsoft Azure Command-Line Tools TimeSeriesInsightsClient Extension", + "version": "0.1.1" }, - "sha256Digest": "3646b584af5fb68e57a153991cdbf049cd6f8e471c36b28c7f3bb642ecc341d8" - } - ], - "synapse": [ + "sha256Digest": "3276b876cad87ef8b29e6af58294fc7ff20b9d2d0187ce84e2b15ba8917b00d9" + }, { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/synapse-0.1.0-py2.py3-none-any.whl", - "filename": "synapse-0.1.0-py2.py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/timeseriesinsights-0.1.2-py3-none-any.whl", + "filename": "timeseriesinsights-0.1.2-py3-none-any.whl", "metadata": { - "azext.isPreview": true, - "azext.minCliCoreVersion": "2.0.67", + "azext.isExperimental": true, + "azext.minCliCoreVersion": "2.3.1", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Intended Audience :: System Administrators", "Programming Language :: Python", - "Programming Language :: Python :: 2", - "Programming Language :: Python :: 2.7", - "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.4", - "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", "License :: OSI Approved :: MIT License" ], "extensions": { @@ -3440,18 +7028,18 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions" + "Home": "https://github.com/Azure/azure-cli-extensions/src/timeseriesinsights" } } }, "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "synapse", - "summary": "Microsoft Azure Command-Line Tools Synapse Extension", - "version": "0.1.0" + "name": "timeseriesinsights", + "summary": "Microsoft Azure Command-Line Tools TimeSeriesInsightsClient Extension", + "version": "0.1.2" }, - "sha256Digest": "bdeb2f4830fc35ff15b4ec473927619ed6a5ab46e4c797f2cb7605e59a32aa36" + "sha256Digest": "3caba62be85114e44cd61c8541df49c7ff67b76b8c26e53e198b00a98a907417" } ], "virtual-network-tap": [ @@ -3636,12 +7224,100 @@ "version": "0.2.6" }, "sha256Digest": "3556adeb1053262aa1aa0203b53423252afbd89b3e455255c2a2964a3be9a78e" + }, + { + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/vm_repair-0.2.7-py2.py3-none-any.whl", + "filename": "vm_repair-0.2.7-py2.py3-none-any.whl", + "metadata": { + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 2", + "Programming Language :: Python :: 2.7", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.4", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "License :: OSI Approved :: MIT License" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "caiddev@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/vm-repair" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "vm-repair", + "summary": "Auto repair commands to fix VMs.", + "version": "0.2.7" + }, + "sha256Digest": "4949871a99d5ef62ffdad72d35bfa75a483f1a714bf8d7ca84f134f86a5e9578" + }, + { + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/vm_repair-0.3.1-py2.py3-none-any.whl", + "filename": "vm_repair-0.3.1-py2.py3-none-any.whl", + "metadata": { + "azext.isPreview": false, + "azext.minCliCoreVersion": "2.0.67", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 2", + "Programming Language :: Python :: 2.7", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.4", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "License :: OSI Approved :: MIT License" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "caiddev@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/vm-repair" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "vm-repair", + "summary": "Auto repair commands to fix VMs.", + "version": "0.3.1" + }, + "sha256Digest": "4c893d48469b70772318c989ecac03e1ac494dc0c97652d1827a8ad55d8e8b51" } ], "vmware": [ { - "downloadUrl": "https://github.com/virtustream/azure-vmware-virtustream-cli-extension/releases/download/0.5.5/vmware-0.5.5-py2.py3-none-any.whl", - "filename": "vmware-0.5.5-py2.py3-none-any.whl", + "downloadUrl": "https://github.com/virtustream/az-vmware-cli/releases/download/0.6.0/vmware-0.6.0-py2.py3-none-any.whl", + "filename": "vmware-0.6.0-py2.py3-none-any.whl", "metadata": { "azext.isPreview": true, "azext.minCliCoreVersion": "2.0.66", @@ -3649,8 +7325,8 @@ "python.details": { "contacts": [ { - "email": "azpycli@virtustream.com", - "name": "Virtustream", + "email": "azpycli@microsoft.com", + "name": "Microsoft", "role": "author" } ], @@ -3666,10 +7342,10 @@ "license": "MIT", "metadata_version": "2.0", "name": "vmware", - "summary": "Preview Azure VMware Solution by Virtustream commands.", - "version": "0.5.5" + "summary": "Preview Azure VMware Solution commands.", + "version": "0.6.0" }, - "sha256Digest": "89c5c09ee859b4b03c57cf2d2c477054aef97a5cca6f9a67da8a19d792572b02" + "sha256Digest": "517b737a0f812ae8520297836c16318d7d04357002e578e49befb7e5974d0d79" } ], "webapp": [ @@ -3721,4 +7397,4 @@ ] }, "formatVersion": "1" -} \ No newline at end of file +} diff --git a/src/interactive/HISTORY.rst b/src/interactive/HISTORY.rst index 8a34885c417..73bcfeaf3e6 100644 --- a/src/interactive/HISTORY.rst +++ b/src/interactive/HISTORY.rst @@ -3,6 +3,10 @@ Release History =============== +0.4.4 ++++++ +* Remove dependency of azure-cli-core's ENV_ADDITIONAL_USER_AGENT + 0.4.3 +++++ * Fix config problem in interactive diff --git a/src/interactive/azext_interactive/azclishell/__init__.py b/src/interactive/azext_interactive/azclishell/__init__.py index d8ac255f4d5..433a3fca693 100644 --- a/src/interactive/azext_interactive/azclishell/__init__.py +++ b/src/interactive/azext_interactive/azclishell/__init__.py @@ -3,4 +3,4 @@ # Licensed under the MIT License. See License.txt in the project root for license information. # -------------------------------------------------------------------------------------------- -VERSION = '0.4.3' +VERSION = '0.4.4' diff --git a/src/interactive/azext_interactive/azclishell/app.py b/src/interactive/azext_interactive/azclishell/app.py index e0f92a5aa15..e0c7c9519c2 100644 --- a/src/interactive/azext_interactive/azclishell/app.py +++ b/src/interactive/azext_interactive/azclishell/app.py @@ -17,7 +17,6 @@ from six.moves import configparser from knack.log import get_logger from knack.util import CLIError -from azure.cli.core.commands.client_factory import ENV_ADDITIONAL_USER_AGENT from azure.cli.core._profile import _SUBSCRIPTION_NAME, Profile from azure.cli.core._session import ACCOUNT, CONFIG, SESSION from azure.cli.core.api import get_config_dir @@ -53,6 +52,7 @@ PART_SCREEN_EXAMPLE = .3 START_TIME = datetime.datetime.utcnow() CLEAR_WORD = get_os_clear_screen_word() +_ENV_ADDITIONAL_USER_AGENT = 'AZURE_HTTP_USER_AGENT' logger = get_logger(__name__) @@ -98,7 +98,10 @@ def __init__(self, cli_ctx, style=None, completer=None, self.completer = AzCompleter(self, None) self.lexer = None self.history = history or FileHistory(os.path.join(self.config.get_config_dir(), self.config.get_history())) - os.environ[ENV_ADDITIONAL_USER_AGENT] = 'AZURECLISHELL/' + VERSION + if os.environ.get(_ENV_ADDITIONAL_USER_AGENT): + os.environ[_ENV_ADDITIONAL_USER_AGENT] += ' AZURECLISHELL/' + VERSION + else: + os.environ[_ENV_ADDITIONAL_USER_AGENT] = 'AZURECLISHELL/' + VERSION # OH WHAT FUN TO FIGURE OUT WHAT THESE ARE! self._cli = None diff --git a/src/interactive/azext_interactive/tests/latest/cache/help_dump_test.json b/src/interactive/azext_interactive/tests/latest/cache/help_dump_test.json index 934795ca45f..297a7d71e49 100644 --- a/src/interactive/azext_interactive/tests/latest/cache/help_dump_test.json +++ b/src/interactive/azext_interactive/tests/latest/cache/help_dump_test.json @@ -814,13 +814,6 @@ "required": "", "help": "enable accelerated networking" }, - "--public-ip-per-vm": { - "name": [ - "--public-ip-per-vm" - ], - "required": "", - "help": "Each VM instance will have a public ip. For security, you can use '--nsg' to apply appropriate rules" - }, "--vm-domain-name": { "name": [ "--vm-domain-name" diff --git a/src/ip-group/setup.py b/src/ip-group/setup.py index e3284acdd8d..a0d1750ef6c 100644 --- a/src/ip-group/setup.py +++ b/src/ip-group/setup.py @@ -14,7 +14,7 @@ from distutils import log as logger logger.warn("Wheel is not available, disabling bdist_wheel hook") -VERSION = '0.1.1' +VERSION = '0.1.2' # The full list of classifiers is available at # https://pypi.python.org/pypi?%3Aaction=list_classifiers @@ -53,5 +53,5 @@ classifiers=CLASSIFIERS, packages=find_packages(), install_requires=DEPENDENCIES, - package_data={'azext_ip-group': ['azext_metadata.json']}, + package_data={'azext_ip_group': ['azext_metadata.json']}, ) diff --git a/src/k8sconfiguration/HISTORY.rst b/src/k8sconfiguration/HISTORY.rst new file mode 100644 index 00000000000..f4ccafdcc4c --- /dev/null +++ b/src/k8sconfiguration/HISTORY.rst @@ -0,0 +1,8 @@ +.. :changelog: + +Release History +=============== + +0.1.7 +++++++ +* Initial release (for Public Preview) \ No newline at end of file diff --git a/src/k8sconfiguration/README.rst b/src/k8sconfiguration/README.rst new file mode 100644 index 00000000000..8bdd3fb3e12 --- /dev/null +++ b/src/k8sconfiguration/README.rst @@ -0,0 +1,74 @@ +Microsoft Azure CLI 'k8sconfiguration' Extension +========================================== + +This package is for the 'k8sconfiguration' extension. +i.e. 'az k8sconfiguration' + +### How to use ### +Install this extension using the below CLI command +``` +az extension add --name k8sconfiguration +``` + +### Included Features +#### Kubernetes Configuration: +Kubernetes SourceControl Configuration: [more info](https://docs.microsoft.com/en-us/azure/kubernetessconfiguration/)\ +*Examples:* + +##### Create a KubernetesConfiguration +``` +az k8sconfiguration create \ + --resource-group groupName \ + --cluster-name clusterName \ + --cluster-type clusterType \ + --name configurationName \ + --operator-instance-name operatorInstanceName \ + --operator-namespace operatorNamespace \ + --repository-url githubRepoUrl \ + --operator-params operatorParameters \ + --enable-helm-operator \ + --helm-operator-version chartVersion \ + --helm-operator-params chartParameters +``` + +##### Get a KubernetesConfiguration +``` +az k8sconfiguration show \ + --resource-group groupName \ + --cluster-name clusterName \ + --cluster-type clusterType \ + --name configurationName +``` + +##### Delete a KubernetesConfiguration +``` +az k8sconfiguration delete \ + --resource-group groupName \ + --cluster-name clusterName \ + --cluster-type clusterType \ + --name configurationName +``` + +##### Update a KubernetesConfiguration +``` +az k8sconfiguration create \ + --resource-group groupName \ + --cluster-name clusterName \ + --cluster-type clusterType \ + --name configurationName \ + --repository-url githubRepoUrl \ + --operator-params operatorParameters \ + --enable-helm-operator \ + --helm-operator-version chartVersion \ + --helm-operator-params chartParameters +``` + +##### List all KubernetesConfigurations of a cluster +``` +az k8sconfiguration list \ + --resource-group groupName \ + --cluster-name clusterName \ + --cluster-type clusterType +``` + +If you have issues, please give feedback by opening an issue at https://github.com/Azure/azure-cli-extensions/issues. \ No newline at end of file diff --git a/src/k8sconfiguration/azext_k8sconfiguration/__init__.py b/src/k8sconfiguration/azext_k8sconfiguration/__init__.py new file mode 100644 index 00000000000..993cec81f44 --- /dev/null +++ b/src/k8sconfiguration/azext_k8sconfiguration/__init__.py @@ -0,0 +1,32 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +from azure.cli.core import AzCommandsLoader + +from azext_k8sconfiguration._help import helps # pylint: disable=unused-import + + +class K8sconfigurationCommandsLoader(AzCommandsLoader): + + def __init__(self, cli_ctx=None): + from azure.cli.core.commands import CliCommandType + from azext_k8sconfiguration._client_factory import cf_k8sconfiguration + k8sconfiguration_custom = CliCommandType( + operations_tmpl='azext_k8sconfiguration.custom#{}', + client_factory=cf_k8sconfiguration) + super(K8sconfigurationCommandsLoader, self).__init__(cli_ctx=cli_ctx, + custom_command_type=k8sconfiguration_custom) + + def load_command_table(self, args): + from azext_k8sconfiguration.commands import load_command_table + load_command_table(self, args) + return self.command_table + + def load_arguments(self, command): + from azext_k8sconfiguration._params import load_arguments + load_arguments(self, command) + + +COMMAND_LOADER_CLS = K8sconfigurationCommandsLoader diff --git a/src/k8sconfiguration/azext_k8sconfiguration/_client_factory.py b/src/k8sconfiguration/azext_k8sconfiguration/_client_factory.py new file mode 100644 index 00000000000..f853563686b --- /dev/null +++ b/src/k8sconfiguration/azext_k8sconfiguration/_client_factory.py @@ -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. +# -------------------------------------------------------------------------------------------- + + +def cf_k8sconfiguration(cli_ctx, *_): + + from azure.cli.core.commands.client_factory import get_mgmt_service_client + from azext_k8sconfiguration.vendored_sdks import SourceControlConfigurationClient + return get_mgmt_service_client(cli_ctx, SourceControlConfigurationClient) + + +def cf_k8sconfiguration_operation(cli_ctx, _): + return cf_k8sconfiguration(cli_ctx).source_control_configurations diff --git a/src/k8sconfiguration/azext_k8sconfiguration/_help.py b/src/k8sconfiguration/azext_k8sconfiguration/_help.py new file mode 100644 index 00000000000..0ed38a02f2a --- /dev/null +++ b/src/k8sconfiguration/azext_k8sconfiguration/_help.py @@ -0,0 +1,68 @@ +# coding=utf-8 +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +from knack.help_files import helps # pylint: disable=unused-import + + +helps['k8sconfiguration'] = """ + type: group + short-summary: Commands to manage Kubernetes configuration. +""" + +helps['k8sconfiguration create'] = """ + type: command + short-summary: Create a Kubernetes configuration. + examples: + - name: Create a Kubernetes configuration + text: |- + az k8sconfiguration create --resource-group MyResourceGroup --cluster-name MyClusterName \\ + --cluster-type connectedClusters --name MyConfigurationName --operator-instance-name OperatorInst01 \\ + --operator-namespace OperatorNamespace01 --repository-url git://github.com/fluxHowTo/flux-get-started \\ + --operator-params "'--git-readonly'" --enable-helm-operator --helm-operator-version 0.6.0 \\ + --scope namespace --helm-operator-params '--set helm.versions=v3' +""" + +helps['k8sconfiguration list'] = """ + type: command + short-summary: List Kubernetes configurations. + examples: + - name: List all Kubernetes configurations of a cluster + text: |- + az k8sconfiguration list --resource-group MyResourceGroup --cluster-name MyClusterName \\ + --cluster-type connectedClusters +""" + +helps['k8sconfiguration delete'] = """ + type: command + short-summary: Delete a Kubernetes configuration. + examples: + - name: Delete a Kubernetes configuration + text: |- + az k8sconfiguration delete --resource-group MyResourceGroup --cluster-name MyClusterName \\ + --cluster-type connectedClusters --name MyConfigurationName +""" + +helps['k8sconfiguration show'] = """ + type: command + short-summary: Show details of a Kubernetes configuration. + examples: + - name: Show a Kubernetes configuration + text: |- + az k8sconfiguration show --resource-group MyResourceGroup --cluster-name MyClusterName \\ + --cluster-type connectedClusters --name MyConfigurationName +""" + +helps['k8sconfiguration update'] = """ + type: command + short-summary: Update a Kubernetes configuration. + examples: + - name: Update an existing Kubernetes configuration + text: |- + az k8sconfiguration update --resource-group MyResourceGroup --cluster-name MyClusterName \\ + --cluster-type connectedClusters --name MyConfigurationName --enable-helm-operator \\ + --repository-url git://github.com/fluxHowTo/flux-get-started --operator-params "'--git-readonly'" \\ + --helm-operator-version 0.6.0 --helm-operator-params '--set helm.versions=v3' +""" diff --git a/src/k8sconfiguration/azext_k8sconfiguration/_params.py b/src/k8sconfiguration/azext_k8sconfiguration/_params.py new file mode 100644 index 00000000000..088836c434b --- /dev/null +++ b/src/k8sconfiguration/azext_k8sconfiguration/_params.py @@ -0,0 +1,52 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- +# pylint: disable=line-too-long + +from knack.arguments import CLIArgumentType + +from azure.cli.core.commands.parameters import ( + get_three_state_flag, + get_enum_type, + tags_type +) + +from azure.cli.core.commands.validators import get_default_location_from_resource_group +from ._validators import validate_configuration_type + + +def load_arguments(self, _): + sourcecontrolconfiguration_type = CLIArgumentType(help='Name of the Kubernetes Configuration') + + with self.argument_context('k8sconfiguration') as c: + c.argument('tags', tags_type) + c.argument('location', validator=get_default_location_from_resource_group) + c.argument('name', sourcecontrolconfiguration_type, options_list=['--name', '-n']) + c.argument('cluster_name', options_list=['--cluster-name', '-c'], help='Name of the Kubernetes cluster') + c.argument('cluster_type', arg_type=get_enum_type(['connectedClusters', 'managedClusters']), + help='Specify Arc clusters or AKS managed clusters.') + c.argument('repository_url', options_list=['--repository-url', '-u'], + help='Url of the source control repository') + c.argument('enable_helm_operator', arg_type=get_three_state_flag(), + help='Enable support for Helm chart deployments') + c.argument('scope', arg_type=get_enum_type(['namespace', 'cluster']), + help='''Specify scope of the operator to be 'namespace' or 'cluster' ''') + c.argument('configuration_type', validator=validate_configuration_type, + arg_type=get_enum_type(['sourceControlConfiguration']), + help='Type of the configuration') + c.argument('helm_operator_params', + help='Chart values for the Helm Operator (if enabled)') + c.argument('helm_operator_version', + help='Chart version of the Helm Operator (if enabled)') + c.argument('operator_params', + help='Parameters for the Operator') + c.argument('operator_instance_name', + help='Instance name of the Operator') + c.argument('operator_namespace', + help='Namespace in which to install the Operator') + c.argument('operator_type', + help='''Type of the operator. Valid value is 'flux' ''') + + with self.argument_context('k8sconfiguration list') as c: + c.argument('sourcecontrolconfiguration', sourcecontrolconfiguration_type, id_part=None) diff --git a/src/k8sconfiguration/azext_k8sconfiguration/_validators.py b/src/k8sconfiguration/azext_k8sconfiguration/_validators.py new file mode 100644 index 00000000000..cd8ca4df85e --- /dev/null +++ b/src/k8sconfiguration/azext_k8sconfiguration/_validators.py @@ -0,0 +1,11 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +from knack.util import CLIError + + +def validate_configuration_type(configuration_type): + if configuration_type.lower() != 'sourcecontrolconfiguration': + raise CLIError('Invalid configuration-type. Valid value is "sourceControlConfiguration"') diff --git a/src/k8sconfiguration/azext_k8sconfiguration/azext_metadata.json b/src/k8sconfiguration/azext_k8sconfiguration/azext_metadata.json new file mode 100644 index 00000000000..8cfc6da9485 --- /dev/null +++ b/src/k8sconfiguration/azext_k8sconfiguration/azext_metadata.json @@ -0,0 +1,4 @@ +{ + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.3.1" +} \ No newline at end of file diff --git a/src/k8sconfiguration/azext_k8sconfiguration/commands.py b/src/k8sconfiguration/azext_k8sconfiguration/commands.py new file mode 100644 index 00000000000..a554e47fa43 --- /dev/null +++ b/src/k8sconfiguration/azext_k8sconfiguration/commands.py @@ -0,0 +1,24 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +# pylint: disable=line-too-long +from azure.cli.core.commands import CliCommandType +from azext_k8sconfiguration._client_factory import (cf_k8sconfiguration, cf_k8sconfiguration_operation) + + +def load_command_table(self, _): + + k8sconfiguration_sdk = CliCommandType( + operations_tmpl='azext_k8sconfiguration.vendored_sdks.operations#SourceControlConfigurationsOperations.{}', + client_factory=cf_k8sconfiguration) + + with self.command_group('k8sconfiguration', k8sconfiguration_sdk, client_factory=cf_k8sconfiguration_operation, + is_preview=True) \ + as g: + g.custom_command('create', 'create_k8sconfiguration') + g.custom_command('update', 'update_k8sconfiguration') + g.custom_command('delete', 'delete_k8sconfiguration', confirmation=True) + g.custom_command('list', 'list_k8sconfiguration') + g.custom_show_command('show', 'show_k8sconfiguration') diff --git a/src/k8sconfiguration/azext_k8sconfiguration/custom.py b/src/k8sconfiguration/azext_k8sconfiguration/custom.py new file mode 100644 index 00000000000..60292c05269 --- /dev/null +++ b/src/k8sconfiguration/azext_k8sconfiguration/custom.py @@ -0,0 +1,155 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +from knack.util import CLIError + +from azext_k8sconfiguration.vendored_sdks.models import SourceControlConfiguration +from azext_k8sconfiguration.vendored_sdks.models import HelmOperatorProperties +from azext_k8sconfiguration.vendored_sdks.models import ErrorResponseException + + +def show_k8sconfiguration(client, resource_group_name, cluster_name, name, cluster_type): + """Get an existing Kubernetes Source Control Configuration. + + """ + # Determine ClusterRP + cluster_rp = __get_cluster_type(cluster_type) + + try: + config = client.get(resource_group_name, cluster_rp, cluster_type, cluster_name, name) + return __fix_compliance_state(config) + except ErrorResponseException as ex: + # Customize the error message for resources not found + if ex.response.status_code == 404: + # If Cluster not found + if ex.message.__contains__("(ResourceNotFound)"): + message = "{0} Verify that the --cluster-type is correct and the resource exists.".format(ex.message) + # If Configuration not found + elif ex.message.__contains__("Operation returned an invalid status code 'Not Found'"): + message = "(ConfigurationNotFound) The Resource {0}/{1}/{2}/Microsoft.KubernetesConfiguration/" \ + "sourcecontrolConfigurations/{3} could not be found!".format(cluster_rp, cluster_type, + cluster_name, name) + else: + message = ex.message + raise CLIError(message) + + +def create_k8sconfiguration(client, resource_group_name, cluster_name, name, repository_url, scope, cluster_type, + operator_instance_name=None, operator_namespace='default', helm_operator_version='0.3.0', + operator_type='flux', operator_params='', enable_helm_operator=None, + helm_operator_params=''): + """Create a new Kubernetes Source Control Configuration. + + """ + # Determine ClusterRP + cluster_rp = __get_cluster_type(cluster_type) + + # Determine operatorInstanceName + if operator_instance_name is None: + operator_instance_name = name + + # Create helmOperatorProperties object + helm_operator_properties = None + + if enable_helm_operator: + helm_operator_properties = HelmOperatorProperties() + helm_operator_properties.chart_version = helm_operator_version.strip() + helm_operator_properties.chart_values = helm_operator_params.strip() + + # Create sourceControlConfiguration object + source_control_configuration = SourceControlConfiguration(repository_url=repository_url, + operator_namespace=operator_namespace, + operator_instance_name=operator_instance_name, + operator_type=operator_type, + operator_params=operator_params, + operator_scope=scope, + enable_helm_operator=enable_helm_operator, + helm_operator_properties=helm_operator_properties) + + # Try to create the resource + config = client.create_or_update(resource_group_name, cluster_rp, cluster_type, cluster_name, + name, source_control_configuration) + + return __fix_compliance_state(config) + + +def update_k8sconfiguration(client, resource_group_name, cluster_name, name, cluster_type, + repository_url=None, operator_params=None, enable_helm_operator=None, + helm_operator_version=None, helm_operator_params=None): + """Create a new Kubernetes Source Control Configuration. + + """ + # Determine ClusterRP + cluster_rp = __get_cluster_type(cluster_type) + + source_control_configuration_name = name.strip() + + config = client.get(resource_group_name, cluster_rp, cluster_type, cluster_name, + source_control_configuration_name).as_dict() + + update_yes = False + + # Set input values, if they are supplied + if repository_url is not None: + config['repository_url'] = repository_url + update_yes = True + + if operator_params is not None: + config['operator_params'] = operator_params + update_yes = True + + if enable_helm_operator is not None: + config['enable_helm_operator'] = enable_helm_operator + update_yes = True + + if helm_operator_version is not None: + config['helm_operator_version'] = helm_operator_version + update_yes = True + + if helm_operator_params is not None: + config['helm_operator_params'] = helm_operator_params + update_yes = True + + if update_yes is False: + raise CLIError('Invalid update. No values to update!') + + config = client.create_or_update(resource_group_name, cluster_rp, cluster_type, cluster_name, + source_control_configuration_name, config) + + return __fix_compliance_state(config) + + +def list_k8sconfiguration(client, resource_group_name, cluster_name, cluster_type): + cluster_rp = __get_cluster_type(cluster_type) + return client.list(resource_group_name, cluster_rp, cluster_type, cluster_name) + + +def delete_k8sconfiguration(client, resource_group_name, cluster_name, name, cluster_type): + """Delete an existing Kubernetes Source Control Configuration. + + """ + # Determine ClusterRP + cluster_rp = __get_cluster_type(cluster_type) + + source_control_configuration_name = name + + return client.delete(resource_group_name, cluster_rp, cluster_type, cluster_name, source_control_configuration_name) + + +def __get_cluster_type(cluster_type): + if cluster_type.lower() == 'connectedclusters': + return 'Microsoft.Kubernetes' + # Since cluster_type is an enum of only two values, if not connectedClusters, it will be managedClusters. + return 'Microsoft.ContainerService' + + +def __fix_compliance_state(config): + # If we get Compliant/NonCompliant as compliance_sate, change them before returning + if config.compliance_status.compliance_state.lower() == 'noncompliant': + config.compliance_status.compliance_state = 'Failed' + elif config.compliance_status.compliance_state.lower() == 'compliant': + config.compliance_status.compliance_state = 'Installed' + + return config diff --git a/src/k8sconfiguration/azext_k8sconfiguration/tests/__init__.py b/src/k8sconfiguration/azext_k8sconfiguration/tests/__init__.py new file mode 100644 index 00000000000..99c0f28cd71 --- /dev/null +++ b/src/k8sconfiguration/azext_k8sconfiguration/tests/__init__.py @@ -0,0 +1,5 @@ +# ----------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# ----------------------------------------------------------------------------- diff --git a/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/__init__.py b/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/__init__.py new file mode 100644 index 00000000000..99c0f28cd71 --- /dev/null +++ b/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/__init__.py @@ -0,0 +1,5 @@ +# ----------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# ----------------------------------------------------------------------------- diff --git a/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/recordings/test_k8sconfiguration.yaml b/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/recordings/test_k8sconfiguration.yaml new file mode 100644 index 00000000000..fbc3c5f4468 --- /dev/null +++ b/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/recordings/test_k8sconfiguration.yaml @@ -0,0 +1,358 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - k8sconfiguration list + Connection: + - keep-alive + ParameterSetName: + - -g --cluster-name --cluster-type + User-Agent: + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-kubernetesconfiguration/0.1.0 Azure-SDK-For-Python AZURECLI/2.3.1 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/haikudevtesting/providers/Microsoft.Kubernetes/connectedClusters/matrived-tpcomi/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations?api-version=2019-11-01-preview + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/haikudevtesting/providers/Microsoft.Kubernetes/connectedClusters/matrived-tpcomi/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/config0505e","name":"config0505e","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"config0505e-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":3},"enableHelmOperator":false,"repositoryUrl":"https://github.com/anagg929/ContosoSecurityPolicies","operatorInstanceName":"config0505e-opin","operatorType":"Flux","operatorScope":"cluster","operatorParams":"''--git-readonly''","repositoryPublicKey":"","configKind":0,"createdDate":"0001-01-01T00:00:00+00:00","lastModifiedDate":"0001-01-01T00:00:00+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/haikudevtesting/providers/Microsoft.Kubernetes/connectedClusters/matrived-tpcomi/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/config0505d","name":"config0505d","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"config0505d-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":3},"enableHelmOperator":false,"repositoryUrl":"https://github.com/anagg929/ContosoSecurityPolicies","operatorInstanceName":"config0505d-opin","operatorType":"Flux","operatorScope":"cluster","operatorParams":"''--git-readonly''","repositoryPublicKey":"","configKind":0,"createdDate":"0001-01-01T00:00:00+00:00","lastModifiedDate":"0001-01-01T00:00:00+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/haikudevtesting/providers/Microsoft.Kubernetes/connectedClusters/matrived-tpcomi/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/config0505c","name":"config0505c","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"config0505c-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":3},"enableHelmOperator":false,"repositoryUrl":"https://github.com/anagg929/ContosoSecurityPolicies","operatorInstanceName":"config0505c-opin","operatorType":"Flux","operatorScope":"cluster","operatorParams":"''--git-branch=master''","repositoryPublicKey":"","configKind":0,"createdDate":"0001-01-01T00:00:00+00:00","lastModifiedDate":"0001-01-01T00:00:00+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/haikudevtesting/providers/Microsoft.Kubernetes/connectedClusters/matrived-tpcomi/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/config0406a","name":"config0406a","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"config0406a-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":3},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"0.6.0","chartValues":"--set + helm.versions=v3"},"repositoryUrl":"git://github.com/config0406a/flux-get-started","operatorInstanceName":"config0406a-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"''--git-readonly''","repositoryPublicKey":"","configKind":0,"createdDate":"0001-01-01T00:00:00+00:00","lastModifiedDate":"0001-01-01T00:00:00+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/haikudevtesting/providers/Microsoft.Kubernetes/connectedClusters/matrived-tpcomi/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/config0403d","name":"config0403d","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"config0403d-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":3},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"0.6.0","chartValues":"--set + helm.versions=v3"},"repositoryUrl":"git://github.com/config0403d/flux-get-started","operatorInstanceName":"config0403d-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"''--git-readonly''","repositoryPublicKey":"","configKind":0,"createdDate":"0001-01-01T00:00:00+00:00","lastModifiedDate":"0001-01-01T00:00:00+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/haikudevtesting/providers/Microsoft.Kubernetes/connectedClusters/matrived-tpcomi/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/config0403c","name":"config0403c","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"config0403c-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":3},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"0.6.0","chartValues":"--set + helm.versions=v3"},"repositoryUrl":"git://github.com/config0403c/flux-get-started","operatorInstanceName":"config0403c-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"''--git-readonly''","repositoryPublicKey":"","configKind":0,"createdDate":"0001-01-01T00:00:00+00:00","lastModifiedDate":"0001-01-01T00:00:00+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/haikudevtesting/providers/Microsoft.Kubernetes/connectedClusters/matrived-tpcomi/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/config0403b","name":"config0403b","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"config0403b-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":3},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"0.6.0","chartValues":"--set + helm.versions=v3"},"repositoryUrl":"git://github.com/config0403b/flux-get-started","operatorInstanceName":"config0403b-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"''--git-readonly''","repositoryPublicKey":"","configKind":0,"createdDate":"0001-01-01T00:00:00+00:00","lastModifiedDate":"0001-01-01T00:00:00+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/haikudevtesting/providers/Microsoft.Kubernetes/connectedClusters/matrived-tpcomi/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/config0403a","name":"config0403a","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"config0403a-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":3},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"0.2.0","chartValues":"--set + git.ssh.secretName=flux-git-deploy --set tillerNamespace=kube-system"},"repositoryUrl":"git://github.com/config0403a/flux-get-started","operatorInstanceName":"config0403a-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"''--git-readonly''","repositoryPublicKey":"","configKind":0,"createdDate":"0001-01-01T00:00:00+00:00","lastModifiedDate":"0001-01-01T00:00:00+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/haikudevtesting/providers/Microsoft.Kubernetes/connectedClusters/matrived-tpcomi/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/config323a","name":"config323a","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"config323-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":3},"enableHelmOperator":false,"repositoryUrl":"https://github.com/testurl","operatorInstanceName":"config323-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","repositoryPublicKey":"","configKind":0,"createdDate":"0001-01-01T00:00:00+00:00","lastModifiedDate":"0001-01-01T00:00:00+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/haikudevtesting/providers/Microsoft.Kubernetes/connectedClusters/matrived-tpcomi/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/config226a","name":"config226a","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"config226a-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":3},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"0.2.0","chartValues":"''--set + git.ssh.secretName=flux-git-deploy --set tillerNamespace=kube-system''"},"repositoryUrl":"git://github.com/config226a/flux-get-started","operatorInstanceName":"config226a-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"''--git-readonly''","repositoryPublicKey":"","configKind":0,"createdDate":"0001-01-01T00:00:00+00:00","lastModifiedDate":"0001-01-01T00:00:00+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/haikudevtesting/providers/Microsoft.Kubernetes/connectedClusters/matrived-tpcomi/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cfg0220a","name":"cfg0220a","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"default","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":3},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"0.2.0","chartValues":""},"repositoryUrl":"git://github.com/slack/cluster-config.git","operatorInstanceName":"cfg0220a","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","repositoryPublicKey":"","configKind":0,"createdDate":"0001-01-01T00:00:00+00:00","lastModifiedDate":"0001-01-01T00:00:00+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/haikudevtesting/providers/Microsoft.Kubernetes/connectedClusters/matrived-tpcomi/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cfg0219a","name":"cfg0219a","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"cfg0219a-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":3},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"0.2.0","chartValues":"--set + git.ssh.secretName=flux-git-deploy --set tillerNamespace=kube-system"},"repositoryUrl":"git://github.com/anubhav929/flux-get-started","operatorInstanceName":"cfg0219a-opin","operatorType":"Flux","operatorScope":"cluster","operatorParams":"--git-readonly + ","repositoryPublicKey":"","configKind":0,"createdDate":"0001-01-01T00:00:00+00:00","lastModifiedDate":"0001-01-01T00:00:00+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/haikudevtesting/providers/Microsoft.Kubernetes/connectedClusters/matrived-tpcomi/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cfg0207i","name":"cfg0207i","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"default","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":3},"enableHelmOperator":false,"repositoryUrl":"git://github.com/anubhav929/flux-get-started","operatorInstanceName":"cfg0219a-opin","operatorType":"Flux","operatorScope":"cluster","operatorParams":"--git-readonly + ","repositoryPublicKey":"","configKind":0,"createdDate":"0001-01-01T00:00:00+00:00","lastModifiedDate":"0001-01-01T00:00:00+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/haikudevtesting/providers/Microsoft.Kubernetes/connectedClusters/matrived-tpcomi/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cfg0207g","name":"cfg0207g","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"cfg0207g-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":3},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"0.2.0","chartValues":"--set + git.ssh.secretName=flux-git-deploy --set tillerNamespace=kube-system"},"repositoryUrl":"git://github.com/cfg0207g/flux-get-started","operatorInstanceName":"cfg0207g-opin","operatorType":"Flux","operatorScope":"cluster","operatorParams":"''--git-readonly''","repositoryPublicKey":"","configKind":0,"createdDate":"0001-01-01T00:00:00+00:00","lastModifiedDate":"0001-01-01T00:00:00+00:00"}}],"nextLink":null}' + headers: + api-supported-versions: + - 2019-11-01-Preview + cache-control: + - no-cache + content-length: + - '14012' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 06 May 2020 03:58:56 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - openresty/1.15.8.2 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"properties": {"repositoryUrl": "git://github.com/anubhav929/flux-get-started", + "operatorNamespace": "cliTestConfig0505A-opns", "operatorInstanceName": "cliTestconfig0505A-opin", + "operatorType": "flux", "operatorParams": "--git-readonly ", "operatorScope": + "namespace", "enableHelmOperator": "True", "helmOperatorProperties": {"chartVersion": + "0.6.0", "chartValues": "--set git.ssh.secretName=flux-git-deploy --set tillerNamespace=kube-system"}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - k8sconfiguration create + Connection: + - keep-alive + Content-Length: + - '447' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -g -n -c -u --cluster-type --scope --operator-instance-name --operator-namespace + --operator-params --git-readonly --enable-helm-operator --helm-operator-version + --helm-operator-params --set git.ssh.secretName + User-Agent: + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-kubernetesconfiguration/0.1.0 Azure-SDK-For-Python AZURECLI/2.3.1 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/haikudevtesting/providers/Microsoft.Kubernetes/connectedClusters/matrived-tpcomi/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cliTestConfig0505A?api-version=2019-11-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/haikudevtesting/providers/Microsoft.Kubernetes/connectedClusters/matrived-tpcomi/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cliTestConfig0505A","name":"cliTestConfig0505A","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"cliTestConfig0505A-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":3},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"0.6.0","chartValues":"--set + git.ssh.secretName=flux-git-deploy --set tillerNamespace=kube-system"},"repositoryUrl":"git://github.com/anubhav929/flux-get-started","operatorInstanceName":"cliTestconfig0505A-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly + ","repositoryPublicKey":"","configKind":0,"createdDate":"0001-01-01T00:00:00+00:00","lastModifiedDate":"0001-01-01T00:00:00+00:00"}}' + headers: + api-supported-versions: + - 2019-11-01-Preview + cache-control: + - no-cache + content-length: + - '1101' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 06 May 2020 03:58:58 GMT + expires: + - '-1' + location: + - /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/haikudevtesting/providers/Microsoft.Kubernetes/connectedClusters/matrived-tpcomi/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cliTestConfig0505A + pragma: + - no-cache + server: + - openresty/1.15.8.2 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - k8sconfiguration list + Connection: + - keep-alive + ParameterSetName: + - -g --cluster-name --cluster-type + User-Agent: + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-kubernetesconfiguration/0.1.0 Azure-SDK-For-Python AZURECLI/2.3.1 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/haikudevtesting/providers/Microsoft.Kubernetes/connectedClusters/matrived-tpcomi/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations?api-version=2019-11-01-preview + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/haikudevtesting/providers/Microsoft.Kubernetes/connectedClusters/matrived-tpcomi/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/clitestconfig0505a","name":"clitestconfig0505a","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"cliTestConfig0505A-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":3},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"0.6.0","chartValues":"--set + git.ssh.secretName=flux-git-deploy --set tillerNamespace=kube-system"},"repositoryUrl":"git://github.com/anubhav929/flux-get-started","operatorInstanceName":"cliTestconfig0505A-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly + ","repositoryPublicKey":"","configKind":0,"createdDate":"0001-01-01T00:00:00+00:00","lastModifiedDate":"0001-01-01T00:00:00+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/haikudevtesting/providers/Microsoft.Kubernetes/connectedClusters/matrived-tpcomi/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/config0505e","name":"config0505e","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"config0505e-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":3},"enableHelmOperator":false,"repositoryUrl":"https://github.com/anagg929/ContosoSecurityPolicies","operatorInstanceName":"config0505e-opin","operatorType":"Flux","operatorScope":"cluster","operatorParams":"''--git-readonly''","repositoryPublicKey":"","configKind":0,"createdDate":"0001-01-01T00:00:00+00:00","lastModifiedDate":"0001-01-01T00:00:00+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/haikudevtesting/providers/Microsoft.Kubernetes/connectedClusters/matrived-tpcomi/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/config0505d","name":"config0505d","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"config0505d-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":3},"enableHelmOperator":false,"repositoryUrl":"https://github.com/anagg929/ContosoSecurityPolicies","operatorInstanceName":"config0505d-opin","operatorType":"Flux","operatorScope":"cluster","operatorParams":"''--git-readonly''","repositoryPublicKey":"","configKind":0,"createdDate":"0001-01-01T00:00:00+00:00","lastModifiedDate":"0001-01-01T00:00:00+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/haikudevtesting/providers/Microsoft.Kubernetes/connectedClusters/matrived-tpcomi/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/config0505c","name":"config0505c","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"config0505c-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":3},"enableHelmOperator":false,"repositoryUrl":"https://github.com/anagg929/ContosoSecurityPolicies","operatorInstanceName":"config0505c-opin","operatorType":"Flux","operatorScope":"cluster","operatorParams":"''--git-branch=master''","repositoryPublicKey":"","configKind":0,"createdDate":"0001-01-01T00:00:00+00:00","lastModifiedDate":"0001-01-01T00:00:00+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/haikudevtesting/providers/Microsoft.Kubernetes/connectedClusters/matrived-tpcomi/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/config0406a","name":"config0406a","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"config0406a-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":3},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"0.6.0","chartValues":"--set + helm.versions=v3"},"repositoryUrl":"git://github.com/config0406a/flux-get-started","operatorInstanceName":"config0406a-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"''--git-readonly''","repositoryPublicKey":"","configKind":0,"createdDate":"0001-01-01T00:00:00+00:00","lastModifiedDate":"0001-01-01T00:00:00+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/haikudevtesting/providers/Microsoft.Kubernetes/connectedClusters/matrived-tpcomi/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/config0403d","name":"config0403d","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"config0403d-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":3},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"0.6.0","chartValues":"--set + helm.versions=v3"},"repositoryUrl":"git://github.com/config0403d/flux-get-started","operatorInstanceName":"config0403d-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"''--git-readonly''","repositoryPublicKey":"","configKind":0,"createdDate":"0001-01-01T00:00:00+00:00","lastModifiedDate":"0001-01-01T00:00:00+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/haikudevtesting/providers/Microsoft.Kubernetes/connectedClusters/matrived-tpcomi/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/config0403c","name":"config0403c","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"config0403c-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":3},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"0.6.0","chartValues":"--set + helm.versions=v3"},"repositoryUrl":"git://github.com/config0403c/flux-get-started","operatorInstanceName":"config0403c-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"''--git-readonly''","repositoryPublicKey":"","configKind":0,"createdDate":"0001-01-01T00:00:00+00:00","lastModifiedDate":"0001-01-01T00:00:00+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/haikudevtesting/providers/Microsoft.Kubernetes/connectedClusters/matrived-tpcomi/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/config0403b","name":"config0403b","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"config0403b-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":3},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"0.6.0","chartValues":"--set + helm.versions=v3"},"repositoryUrl":"git://github.com/config0403b/flux-get-started","operatorInstanceName":"config0403b-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"''--git-readonly''","repositoryPublicKey":"","configKind":0,"createdDate":"0001-01-01T00:00:00+00:00","lastModifiedDate":"0001-01-01T00:00:00+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/haikudevtesting/providers/Microsoft.Kubernetes/connectedClusters/matrived-tpcomi/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/config0403a","name":"config0403a","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"config0403a-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":3},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"0.2.0","chartValues":"--set + git.ssh.secretName=flux-git-deploy --set tillerNamespace=kube-system"},"repositoryUrl":"git://github.com/config0403a/flux-get-started","operatorInstanceName":"config0403a-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"''--git-readonly''","repositoryPublicKey":"","configKind":0,"createdDate":"0001-01-01T00:00:00+00:00","lastModifiedDate":"0001-01-01T00:00:00+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/haikudevtesting/providers/Microsoft.Kubernetes/connectedClusters/matrived-tpcomi/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/config323a","name":"config323a","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"config323-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":3},"enableHelmOperator":false,"repositoryUrl":"https://github.com/testurl","operatorInstanceName":"config323-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","repositoryPublicKey":"","configKind":0,"createdDate":"0001-01-01T00:00:00+00:00","lastModifiedDate":"0001-01-01T00:00:00+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/haikudevtesting/providers/Microsoft.Kubernetes/connectedClusters/matrived-tpcomi/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/config226a","name":"config226a","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"config226a-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":3},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"0.2.0","chartValues":"''--set + git.ssh.secretName=flux-git-deploy --set tillerNamespace=kube-system''"},"repositoryUrl":"git://github.com/config226a/flux-get-started","operatorInstanceName":"config226a-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"''--git-readonly''","repositoryPublicKey":"","configKind":0,"createdDate":"0001-01-01T00:00:00+00:00","lastModifiedDate":"0001-01-01T00:00:00+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/haikudevtesting/providers/Microsoft.Kubernetes/connectedClusters/matrived-tpcomi/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cfg0220a","name":"cfg0220a","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"default","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":3},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"0.2.0","chartValues":""},"repositoryUrl":"git://github.com/slack/cluster-config.git","operatorInstanceName":"cfg0220a","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","repositoryPublicKey":"","configKind":0,"createdDate":"0001-01-01T00:00:00+00:00","lastModifiedDate":"0001-01-01T00:00:00+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/haikudevtesting/providers/Microsoft.Kubernetes/connectedClusters/matrived-tpcomi/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cfg0219a","name":"cfg0219a","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"cfg0219a-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":3},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"0.2.0","chartValues":"--set + git.ssh.secretName=flux-git-deploy --set tillerNamespace=kube-system"},"repositoryUrl":"git://github.com/anubhav929/flux-get-started","operatorInstanceName":"cfg0219a-opin","operatorType":"Flux","operatorScope":"cluster","operatorParams":"--git-readonly + ","repositoryPublicKey":"","configKind":0,"createdDate":"0001-01-01T00:00:00+00:00","lastModifiedDate":"0001-01-01T00:00:00+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/haikudevtesting/providers/Microsoft.Kubernetes/connectedClusters/matrived-tpcomi/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cfg0207i","name":"cfg0207i","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"default","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":3},"enableHelmOperator":false,"repositoryUrl":"git://github.com/anubhav929/flux-get-started","operatorInstanceName":"cfg0219a-opin","operatorType":"Flux","operatorScope":"cluster","operatorParams":"--git-readonly + ","repositoryPublicKey":"","configKind":0,"createdDate":"0001-01-01T00:00:00+00:00","lastModifiedDate":"0001-01-01T00:00:00+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/haikudevtesting/providers/Microsoft.Kubernetes/connectedClusters/matrived-tpcomi/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cfg0207g","name":"cfg0207g","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"cfg0207g-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":3},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"0.2.0","chartValues":"--set + git.ssh.secretName=flux-git-deploy --set tillerNamespace=kube-system"},"repositoryUrl":"git://github.com/cfg0207g/flux-get-started","operatorInstanceName":"cfg0207g-opin","operatorType":"Flux","operatorScope":"cluster","operatorParams":"''--git-readonly''","repositoryPublicKey":"","configKind":0,"createdDate":"0001-01-01T00:00:00+00:00","lastModifiedDate":"0001-01-01T00:00:00+00:00"}}],"nextLink":null}' + headers: + api-supported-versions: + - 2019-11-01-Preview + cache-control: + - no-cache + content-length: + - '15114' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 06 May 2020 03:58:59 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - openresty/1.15.8.2 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - k8sconfiguration show + Connection: + - keep-alive + ParameterSetName: + - -g -c -n --cluster-type + User-Agent: + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-kubernetesconfiguration/0.1.0 Azure-SDK-For-Python AZURECLI/2.3.1 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/haikudevtesting/providers/Microsoft.Kubernetes/connectedClusters/matrived-tpcomi/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cliTestConfig0505A?api-version=2019-11-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/haikudevtesting/providers/Microsoft.Kubernetes/connectedClusters/matrived-tpcomi/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cliTestConfig0505A","name":"cliTestConfig0505A","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"cliTestConfig0505A-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":3},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"0.6.0","chartValues":"--set + git.ssh.secretName=flux-git-deploy --set tillerNamespace=kube-system"},"repositoryUrl":"git://github.com/anubhav929/flux-get-started","operatorInstanceName":"cliTestconfig0505A-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly + ","repositoryPublicKey":"","configKind":0,"createdDate":"0001-01-01T00:00:00+00:00","lastModifiedDate":"0001-01-01T00:00:00+00:00"}}' + headers: + api-supported-versions: + - 2019-11-01-Preview + cache-control: + - no-cache + content-length: + - '1101' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 06 May 2020 03:59:00 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - openresty/1.15.8.2 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - k8sconfiguration delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g -c -n --cluster-type -y + User-Agent: + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-kubernetesconfiguration/0.1.0 Azure-SDK-For-Python AZURECLI/2.3.1 + accept-language: + - en-US + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/haikudevtesting/providers/Microsoft.Kubernetes/connectedClusters/matrived-tpcomi/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cliTestConfig0505A?api-version=2019-11-01-preview + response: + body: + string: '{"version":"1.1","content":null,"statusCode":200,"reasonPhrase":"OK","headers":[],"trailingHeaders":[],"requestMessage":null,"isSuccessStatusCode":true}' + headers: + api-supported-versions: + - 2019-11-01-Preview + cache-control: + - no-cache + content-length: + - '152' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 06 May 2020 03:59:02 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - openresty/1.15.8.2 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - k8sconfiguration list + Connection: + - keep-alive + ParameterSetName: + - -g --cluster-name --cluster-type + User-Agent: + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-kubernetesconfiguration/0.1.0 Azure-SDK-For-Python AZURECLI/2.3.1 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/haikudevtesting/providers/Microsoft.Kubernetes/connectedClusters/matrived-tpcomi/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations?api-version=2019-11-01-preview + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/haikudevtesting/providers/Microsoft.Kubernetes/connectedClusters/matrived-tpcomi/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/config0505e","name":"config0505e","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"config0505e-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":3},"enableHelmOperator":false,"repositoryUrl":"https://github.com/anagg929/ContosoSecurityPolicies","operatorInstanceName":"config0505e-opin","operatorType":"Flux","operatorScope":"cluster","operatorParams":"''--git-readonly''","repositoryPublicKey":"","configKind":0,"createdDate":"0001-01-01T00:00:00+00:00","lastModifiedDate":"0001-01-01T00:00:00+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/haikudevtesting/providers/Microsoft.Kubernetes/connectedClusters/matrived-tpcomi/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/config0505d","name":"config0505d","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"config0505d-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":3},"enableHelmOperator":false,"repositoryUrl":"https://github.com/anagg929/ContosoSecurityPolicies","operatorInstanceName":"config0505d-opin","operatorType":"Flux","operatorScope":"cluster","operatorParams":"''--git-readonly''","repositoryPublicKey":"","configKind":0,"createdDate":"0001-01-01T00:00:00+00:00","lastModifiedDate":"0001-01-01T00:00:00+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/haikudevtesting/providers/Microsoft.Kubernetes/connectedClusters/matrived-tpcomi/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/config0505c","name":"config0505c","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"config0505c-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":3},"enableHelmOperator":false,"repositoryUrl":"https://github.com/anagg929/ContosoSecurityPolicies","operatorInstanceName":"config0505c-opin","operatorType":"Flux","operatorScope":"cluster","operatorParams":"''--git-branch=master''","repositoryPublicKey":"","configKind":0,"createdDate":"0001-01-01T00:00:00+00:00","lastModifiedDate":"0001-01-01T00:00:00+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/haikudevtesting/providers/Microsoft.Kubernetes/connectedClusters/matrived-tpcomi/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/config0406a","name":"config0406a","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"config0406a-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":3},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"0.6.0","chartValues":"--set + helm.versions=v3"},"repositoryUrl":"git://github.com/config0406a/flux-get-started","operatorInstanceName":"config0406a-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"''--git-readonly''","repositoryPublicKey":"","configKind":0,"createdDate":"0001-01-01T00:00:00+00:00","lastModifiedDate":"0001-01-01T00:00:00+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/haikudevtesting/providers/Microsoft.Kubernetes/connectedClusters/matrived-tpcomi/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/config0403d","name":"config0403d","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"config0403d-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":3},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"0.6.0","chartValues":"--set + helm.versions=v3"},"repositoryUrl":"git://github.com/config0403d/flux-get-started","operatorInstanceName":"config0403d-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"''--git-readonly''","repositoryPublicKey":"","configKind":0,"createdDate":"0001-01-01T00:00:00+00:00","lastModifiedDate":"0001-01-01T00:00:00+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/haikudevtesting/providers/Microsoft.Kubernetes/connectedClusters/matrived-tpcomi/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/config0403c","name":"config0403c","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"config0403c-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":3},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"0.6.0","chartValues":"--set + helm.versions=v3"},"repositoryUrl":"git://github.com/config0403c/flux-get-started","operatorInstanceName":"config0403c-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"''--git-readonly''","repositoryPublicKey":"","configKind":0,"createdDate":"0001-01-01T00:00:00+00:00","lastModifiedDate":"0001-01-01T00:00:00+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/haikudevtesting/providers/Microsoft.Kubernetes/connectedClusters/matrived-tpcomi/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/config0403b","name":"config0403b","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"config0403b-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":3},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"0.6.0","chartValues":"--set + helm.versions=v3"},"repositoryUrl":"git://github.com/config0403b/flux-get-started","operatorInstanceName":"config0403b-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"''--git-readonly''","repositoryPublicKey":"","configKind":0,"createdDate":"0001-01-01T00:00:00+00:00","lastModifiedDate":"0001-01-01T00:00:00+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/haikudevtesting/providers/Microsoft.Kubernetes/connectedClusters/matrived-tpcomi/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/config0403a","name":"config0403a","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"config0403a-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":3},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"0.2.0","chartValues":"--set + git.ssh.secretName=flux-git-deploy --set tillerNamespace=kube-system"},"repositoryUrl":"git://github.com/config0403a/flux-get-started","operatorInstanceName":"config0403a-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"''--git-readonly''","repositoryPublicKey":"","configKind":0,"createdDate":"0001-01-01T00:00:00+00:00","lastModifiedDate":"0001-01-01T00:00:00+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/haikudevtesting/providers/Microsoft.Kubernetes/connectedClusters/matrived-tpcomi/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/config323a","name":"config323a","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"config323-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":3},"enableHelmOperator":false,"repositoryUrl":"https://github.com/testurl","operatorInstanceName":"config323-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","repositoryPublicKey":"","configKind":0,"createdDate":"0001-01-01T00:00:00+00:00","lastModifiedDate":"0001-01-01T00:00:00+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/haikudevtesting/providers/Microsoft.Kubernetes/connectedClusters/matrived-tpcomi/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/config226a","name":"config226a","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"config226a-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":3},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"0.2.0","chartValues":"''--set + git.ssh.secretName=flux-git-deploy --set tillerNamespace=kube-system''"},"repositoryUrl":"git://github.com/config226a/flux-get-started","operatorInstanceName":"config226a-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"''--git-readonly''","repositoryPublicKey":"","configKind":0,"createdDate":"0001-01-01T00:00:00+00:00","lastModifiedDate":"0001-01-01T00:00:00+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/haikudevtesting/providers/Microsoft.Kubernetes/connectedClusters/matrived-tpcomi/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cfg0220a","name":"cfg0220a","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"default","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":3},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"0.2.0","chartValues":""},"repositoryUrl":"git://github.com/slack/cluster-config.git","operatorInstanceName":"cfg0220a","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","repositoryPublicKey":"","configKind":0,"createdDate":"0001-01-01T00:00:00+00:00","lastModifiedDate":"0001-01-01T00:00:00+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/haikudevtesting/providers/Microsoft.Kubernetes/connectedClusters/matrived-tpcomi/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cfg0219a","name":"cfg0219a","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"cfg0219a-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":3},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"0.2.0","chartValues":"--set + git.ssh.secretName=flux-git-deploy --set tillerNamespace=kube-system"},"repositoryUrl":"git://github.com/anubhav929/flux-get-started","operatorInstanceName":"cfg0219a-opin","operatorType":"Flux","operatorScope":"cluster","operatorParams":"--git-readonly + ","repositoryPublicKey":"","configKind":0,"createdDate":"0001-01-01T00:00:00+00:00","lastModifiedDate":"0001-01-01T00:00:00+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/haikudevtesting/providers/Microsoft.Kubernetes/connectedClusters/matrived-tpcomi/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cfg0207i","name":"cfg0207i","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"default","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":3},"enableHelmOperator":false,"repositoryUrl":"git://github.com/anubhav929/flux-get-started","operatorInstanceName":"cfg0219a-opin","operatorType":"Flux","operatorScope":"cluster","operatorParams":"--git-readonly + ","repositoryPublicKey":"","configKind":0,"createdDate":"0001-01-01T00:00:00+00:00","lastModifiedDate":"0001-01-01T00:00:00+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/haikudevtesting/providers/Microsoft.Kubernetes/connectedClusters/matrived-tpcomi/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cfg0207g","name":"cfg0207g","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"cfg0207g-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":3},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"0.2.0","chartValues":"--set + git.ssh.secretName=flux-git-deploy --set tillerNamespace=kube-system"},"repositoryUrl":"git://github.com/cfg0207g/flux-get-started","operatorInstanceName":"cfg0207g-opin","operatorType":"Flux","operatorScope":"cluster","operatorParams":"''--git-readonly''","repositoryPublicKey":"","configKind":0,"createdDate":"0001-01-01T00:00:00+00:00","lastModifiedDate":"0001-01-01T00:00:00+00:00"}}],"nextLink":null}' + headers: + api-supported-versions: + - 2019-11-01-Preview + cache-control: + - no-cache + content-length: + - '14012' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 06 May 2020 03:59:02 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - openresty/1.15.8.2 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +version: 1 diff --git a/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/test_kubernetesconfiguration_scenario.py b/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/test_kubernetesconfiguration_scenario.py new file mode 100644 index 00000000000..16fce68767e --- /dev/null +++ b/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/test_kubernetesconfiguration_scenario.py @@ -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. +# -------------------------------------------------------------------------------------------- + +import os + +from azure.cli.testsdk import (ScenarioTest, ResourceGroupPreparer, record_only) + +TEST_DIR = os.path.abspath(os.path.join(os.path.abspath(__file__), '..')) + + +class K8sconfigurationScenarioTest(ScenarioTest): + + @ResourceGroupPreparer(name_prefix='cli_test_k8sconfiguration') + @record_only() + def test_k8sconfiguration(self): + self.kwargs.update({ + 'name': 'cliTestConfig0505A', + 'cluster_name': 'matrived-tpcomi', + 'rg': 'haikudevtesting', + 'repo_url': 'git://github.com/anubhav929/flux-get-started', + 'operator_instance_name': 'cliTestconfig0505A-opin', + 'operator_namespace': 'cliTestConfig0505A-opns', + 'cluster_type': 'connectedClusters', + 'scope': 'namespace' + }) + + # List Configurations and get the count + config_count = len(self.cmd('k8sconfiguration list -g {rg} --cluster-name {cluster_name} ' + '--cluster-type {cluster_type}').get_output_in_json()) + self.greater_than(config_count, 10) + + # Create a configuration + self.cmd(''' k8sconfiguration create -g {rg} + -n {name} + -c {cluster_name} + -u {repo_url} + --cluster-type {cluster_type} + --scope {scope} + --operator-instance-name {operator_instance_name} + --operator-namespace {operator_namespace} + --operator-params \"--git-readonly \" + --enable-helm-operator + --helm-operator-version 0.6.0 + --helm-operator-params \"--set git.ssh.secretName=flux-git-deploy --set tillerNamespace=kube-system\" ''', + checks=[ + self.check('name', '{name}'), + self.check('resourceGroup', '{rg}'), + self.check('operatorInstanceName', '{operator_instance_name}'), + self.check('operatorNamespace', '{operator_namespace}'), + self.check('provisioningState', 'Succeeded'), + self.check('operatorScope', 'namespace'), + self.check('operatorType', 'Flux') + ]) + + # List the configurations again to see if we have one additional + new_count = len(self.cmd('k8sconfiguration list -g {rg} --cluster-name {cluster_name} ' + '--cluster-type {cluster_type}').get_output_in_json()) + self.assertEqual(new_count, config_count + 1) + + # Get the configuration created + self.cmd('k8sconfiguration show -g {rg} -c {cluster_name} -n {name} --cluster-type {cluster_type}', + checks=[ + self.check('name', '{name}'), + self.check('resourceGroup', '{rg}'), + self.check('operatorInstanceName', '{operator_instance_name}'), + self.check('operatorNamespace', '{operator_namespace}'), + self.check('provisioningState', 'Succeeded'), + self.check('operatorScope', 'namespace'), + self.check('operatorType', 'Flux') + ]) + + # Delete the created configuration + self.cmd('k8sconfiguration delete -g {rg} -c {cluster_name} -n {name} --cluster-type {cluster_type} -y') + + # List Configurations and confirm the count is the same as we started + new_count = len(self.cmd('k8sconfiguration list -g {rg} --cluster-name {cluster_name} ' + '--cluster-type {cluster_type}').get_output_in_json()) + self.assertEqual(new_count, config_count) diff --git a/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/__init__.py b/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/__init__.py new file mode 100644 index 00000000000..874177b4d34 --- /dev/null +++ b/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/__init__.py @@ -0,0 +1,19 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from ._configuration import SourceControlConfigurationClientConfiguration +from ._source_control_configuration_client import SourceControlConfigurationClient +__all__ = ['SourceControlConfigurationClient', 'SourceControlConfigurationClientConfiguration'] + +from .version import VERSION + +__version__ = VERSION + diff --git a/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/_configuration.py b/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/_configuration.py new file mode 100644 index 00000000000..5043ed69594 --- /dev/null +++ b/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/_configuration.py @@ -0,0 +1,49 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +from msrestazure import AzureConfiguration + +from .version import VERSION + + +class SourceControlConfigurationClientConfiguration(AzureConfiguration): + """Configuration for SourceControlConfigurationClient + Note that all parameters used to create this instance are saved as instance + attributes. + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param subscription_id: The Azure subscription ID. This is a + GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000) + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=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 base_url: + base_url = 'https://management.azure.com' + + super(SourceControlConfigurationClientConfiguration, self).__init__(base_url) + + # Starting Autorest.Python 4.0.64, make connection pool activated by default + self.keep_alive = True + + self.add_user_agent('azure-mgmt-kubernetesconfiguration/{}'.format(VERSION)) + self.add_user_agent('Azure-SDK-For-Python') + + self.credentials = credentials + self.subscription_id = subscription_id diff --git a/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/_source_control_configuration_client.py b/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/_source_control_configuration_client.py new file mode 100644 index 00000000000..004f8988387 --- /dev/null +++ b/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/_source_control_configuration_client.py @@ -0,0 +1,55 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.service_client import SDKClient +from msrest import Serializer, Deserializer + +from ._configuration import SourceControlConfigurationClientConfiguration +from .operations import SourceControlConfigurationsOperations +from .operations import Operations +from . import models + + +class SourceControlConfigurationClient(SDKClient): + """Use these APIs to create Source Control Configuration resources through ARM, for Kubernetes Clusters. + + :ivar config: Configuration for client. + :vartype config: SourceControlConfigurationClientConfiguration + + :ivar source_control_configurations: SourceControlConfigurations operations + :vartype source_control_configurations: azure.mgmt.kubernetesconfiguration.operations.SourceControlConfigurationsOperations + :ivar operations: Operations operations + :vartype operations: azure.mgmt.kubernetesconfiguration.operations.Operations + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param subscription_id: The Azure subscription ID. This is a + GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000) + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=None): + + self.config = SourceControlConfigurationClientConfiguration(credentials, subscription_id, base_url) + super(SourceControlConfigurationClient, self).__init__(self.config.credentials, self.config) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self.api_version = '2019-11-01-preview' + self._serialize = Serializer(client_models) + self._deserialize = Deserializer(client_models) + + self.source_control_configurations = SourceControlConfigurationsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.operations = Operations( + self._client, self.config, self._serialize, self._deserialize) diff --git a/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/models/__init__.py b/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/models/__init__.py new file mode 100644 index 00000000000..3288aba428d --- /dev/null +++ b/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/models/__init__.py @@ -0,0 +1,64 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +try: + from ._models_py3 import ComplianceStatus + from ._models_py3 import ErrorDefinition + from ._models_py3 import ErrorResponse, ErrorResponseException + from ._models_py3 import HelmOperatorProperties + from ._models_py3 import ProxyResource + from ._models_py3 import Resource + from ._models_py3 import ResourceProviderOperation + from ._models_py3 import ResourceProviderOperationDisplay + from ._models_py3 import Result + from ._models_py3 import SourceControlConfiguration +except (SyntaxError, ImportError): + from ._models import ComplianceStatus + from ._models import ErrorDefinition + from ._models import ErrorResponse, ErrorResponseException + from ._models import HelmOperatorProperties + from ._models import ProxyResource + from ._models import Resource + from ._models import ResourceProviderOperation + from ._models import ResourceProviderOperationDisplay + from ._models import Result + from ._models import SourceControlConfiguration +from ._paged_models import ResourceProviderOperationPaged +from ._paged_models import SourceControlConfigurationPaged +from ._source_control_configuration_client_enums import ( + ComplianceState, + MessageLevel, + OperatorType, + OperatorScope, + EnableHelmOperator, + ProvisioningState, +) + +__all__ = [ + 'ComplianceStatus', + 'ErrorDefinition', + 'ErrorResponse', 'ErrorResponseException', + 'HelmOperatorProperties', + 'ProxyResource', + 'Resource', + 'ResourceProviderOperation', + 'ResourceProviderOperationDisplay', + 'Result', + 'SourceControlConfiguration', + 'SourceControlConfigurationPaged', + 'ResourceProviderOperationPaged', + 'ComplianceState', + 'MessageLevel', + 'OperatorType', + 'OperatorScope', + 'EnableHelmOperator', + 'ProvisioningState', +] diff --git a/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/models/_models.py b/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/models/_models.py new file mode 100644 index 00000000000..390ef245874 --- /dev/null +++ b/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/models/_models.py @@ -0,0 +1,368 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model +from msrest.exceptions import HttpOperationError + + +class CloudError(Model): + """CloudError. + """ + + _attribute_map = { + } + + +class ComplianceStatus(Model): + """Compliance Status details. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar compliance_state: The compliance state of the configuration. + Possible values include: 'Pending', 'Compliant', 'Noncompliant', + 'Installed', 'Failed' + :vartype compliance_state: str or + ~azure.mgmt.kubernetesconfiguration.models.ComplianceState + :param last_config_applied: Datetime the configuration was last applied. + :type last_config_applied: datetime + :param message: Message from when the configuration was applied. + :type message: str + :param message_level: Level of the message. Possible values include: + 'Error', 'Warning', 'Information' + :type message_level: str or + ~azure.mgmt.kubernetesconfiguration.models.MessageLevel + """ + + _validation = { + 'compliance_state': {'readonly': True}, + } + + _attribute_map = { + 'compliance_state': {'key': 'complianceState', 'type': 'str'}, + 'last_config_applied': {'key': 'lastConfigApplied', 'type': 'iso-8601'}, + 'message': {'key': 'message', 'type': 'str'}, + 'message_level': {'key': 'messageLevel', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ComplianceStatus, self).__init__(**kwargs) + self.compliance_state = None + self.last_config_applied = kwargs.get('last_config_applied', None) + self.message = kwargs.get('message', None) + self.message_level = kwargs.get('message_level', None) + + +class ErrorDefinition(Model): + """Error definition. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar code: Service specific error code which serves as the substatus for + the HTTP error code. + :vartype code: str + :ivar message: Description of the error. + :vartype message: str + :ivar details: Internal error details. + :vartype details: + list[~azure.mgmt.kubernetesconfiguration.models.ErrorDefinition] + """ + + _validation = { + 'code': {'readonly': True}, + 'message': {'readonly': True}, + 'details': {'readonly': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[ErrorDefinition]'}, + } + + def __init__(self, **kwargs): + super(ErrorDefinition, self).__init__(**kwargs) + self.code = None + self.message = None + self.details = None + + +class ErrorResponse(Model): + """Error response. + + :param error: Error definition. + :type error: ~azure.mgmt.kubernetesconfiguration.models.ErrorDefinition + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'ErrorDefinition'}, + } + + def __init__(self, **kwargs): + super(ErrorResponse, self).__init__(**kwargs) + self.error = kwargs.get('error', None) + + +class ErrorResponseException(HttpOperationError): + """Server responsed with exception of type: 'ErrorResponse'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(ErrorResponseException, self).__init__(deserialize, response, 'ErrorResponse', *args) + + +class HelmOperatorProperties(Model): + """Properties for Helm operator. + + :param chart_version: Version of the operator Helm chart. + :type chart_version: str + :param chart_values: Values override for the operator Helm chart. + :type chart_values: str + """ + + _attribute_map = { + 'chart_version': {'key': 'chartVersion', 'type': 'str'}, + 'chart_values': {'key': 'chartValues', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(HelmOperatorProperties, self).__init__(**kwargs) + self.chart_version = kwargs.get('chart_version', None) + self.chart_values = kwargs.get('chart_values', None) + + +class Resource(Model): + """The Resource model definition. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource Id + :vartype id: str + :ivar name: Resource name + :vartype name: str + :ivar type: Resource type + :vartype type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Resource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + + +class ProxyResource(Resource): + """ARM proxy resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource Id + :vartype id: str + :ivar name: Resource name + :vartype name: str + :ivar type: Resource type + :vartype type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ProxyResource, self).__init__(**kwargs) + + +class ResourceProviderOperation(Model): + """Supported operation of this resource provider. + + :param name: Operation name, in format of + {provider}/{resource}/{operation} + :type name: str + :param display: Display metadata associated with the operation. + :type display: + ~azure.mgmt.kubernetesconfiguration.models.ResourceProviderOperationDisplay + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'ResourceProviderOperationDisplay'}, + } + + def __init__(self, **kwargs): + super(ResourceProviderOperation, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.display = kwargs.get('display', None) + + +class ResourceProviderOperationDisplay(Model): + """Display metadata associated with the operation. + + :param provider: Resource provider: Microsoft KubernetesConfiguration. + :type provider: str + :param resource: Resource on which the operation is performed. + :type resource: str + :param operation: Type of operation: get, read, delete, etc. + :type operation: str + :param description: Description of this operation. + :type description: str + """ + + _attribute_map = { + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ResourceProviderOperationDisplay, self).__init__(**kwargs) + self.provider = kwargs.get('provider', None) + self.resource = kwargs.get('resource', None) + self.operation = kwargs.get('operation', None) + self.description = kwargs.get('description', None) + + +class Result(Model): + """Sample result definition. + + :param sample_property: Sample property of type string + :type sample_property: str + """ + + _attribute_map = { + 'sample_property': {'key': 'sampleProperty', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Result, self).__init__(**kwargs) + self.sample_property = kwargs.get('sample_property', None) + + +class SourceControlConfiguration(ProxyResource): + """The SourceControl Configuration object. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource Id + :vartype id: str + :ivar name: Resource name + :vartype name: str + :ivar type: Resource type + :vartype type: str + :param repository_url: Url of the SourceControl Repository. + :type repository_url: str + :param operator_namespace: The namespace to which this operator is + installed to. Maximum of 253 lower case alphanumeric characters, hyphen + and period only. Default value: "default" . + :type operator_namespace: str + :param operator_instance_name: Instance name of the operator - identifying + the specific configuration. + :type operator_instance_name: str + :param operator_type: Type of the operator. Possible values include: + 'Flux' + :type operator_type: str or + ~azure.mgmt.kubernetesconfiguration.models.OperatorType + :param operator_params: Any Parameters for the Operator instance in string + format. + :type operator_params: str + :param operator_scope: Scope at which the operator will be installed. + Possible values include: 'cluster', 'namespace'. Default value: "cluster" + . + :type operator_scope: str or + ~azure.mgmt.kubernetesconfiguration.models.OperatorScope + :ivar repository_public_key: Public Key associated with this SourceControl + configuration (either generated within the cluster or provided by the + user). + :vartype repository_public_key: str + :param enable_helm_operator: Option to enable Helm Operator for this git + configuration. Possible values include: 'true', 'false' + :type enable_helm_operator: str or + ~azure.mgmt.kubernetesconfiguration.models.EnableHelmOperator + :param helm_operator_properties: Properties for Helm operator. + :type helm_operator_properties: + ~azure.mgmt.kubernetesconfiguration.models.HelmOperatorProperties + :ivar provisioning_state: The provisioning state of the resource provider. + Possible values include: 'Accepted', 'Deleting', 'Running', 'Succeeded', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.kubernetesconfiguration.models.ProvisioningState + :ivar compliance_status: Compliance Status of the Configuration + :vartype compliance_status: + ~azure.mgmt.kubernetesconfiguration.models.ComplianceStatus + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'repository_public_key': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'compliance_status': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'repository_url': {'key': 'properties.repositoryUrl', 'type': 'str'}, + 'operator_namespace': {'key': 'properties.operatorNamespace', 'type': 'str'}, + 'operator_instance_name': {'key': 'properties.operatorInstanceName', 'type': 'str'}, + 'operator_type': {'key': 'properties.operatorType', 'type': 'str'}, + 'operator_params': {'key': 'properties.operatorParams', 'type': 'str'}, + 'operator_scope': {'key': 'properties.operatorScope', 'type': 'str'}, + 'repository_public_key': {'key': 'properties.repositoryPublicKey', 'type': 'str'}, + 'enable_helm_operator': {'key': 'properties.enableHelmOperator', 'type': 'str'}, + 'helm_operator_properties': {'key': 'properties.helmOperatorProperties', 'type': 'HelmOperatorProperties'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'compliance_status': {'key': 'properties.complianceStatus', 'type': 'ComplianceStatus'}, + } + + def __init__(self, **kwargs): + super(SourceControlConfiguration, self).__init__(**kwargs) + self.repository_url = kwargs.get('repository_url', None) + self.operator_namespace = kwargs.get('operator_namespace', "default") + self.operator_instance_name = kwargs.get('operator_instance_name', None) + self.operator_type = kwargs.get('operator_type', None) + self.operator_params = kwargs.get('operator_params', None) + self.operator_scope = kwargs.get('operator_scope', "cluster") + self.repository_public_key = None + self.enable_helm_operator = kwargs.get('enable_helm_operator', None) + self.helm_operator_properties = kwargs.get('helm_operator_properties', None) + self.provisioning_state = None + self.compliance_status = None diff --git a/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/models/_models_py3.py b/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/models/_models_py3.py new file mode 100644 index 00000000000..67d46fffa37 --- /dev/null +++ b/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/models/_models_py3.py @@ -0,0 +1,368 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model +from msrest.exceptions import HttpOperationError + + +class CloudError(Model): + """CloudError. + """ + + _attribute_map = { + } + + +class ComplianceStatus(Model): + """Compliance Status details. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar compliance_state: The compliance state of the configuration. + Possible values include: 'Pending', 'Compliant', 'Noncompliant', + 'Installed', 'Failed' + :vartype compliance_state: str or + ~azure.mgmt.kubernetesconfiguration.models.ComplianceState + :param last_config_applied: Datetime the configuration was last applied. + :type last_config_applied: datetime + :param message: Message from when the configuration was applied. + :type message: str + :param message_level: Level of the message. Possible values include: + 'Error', 'Warning', 'Information' + :type message_level: str or + ~azure.mgmt.kubernetesconfiguration.models.MessageLevel + """ + + _validation = { + 'compliance_state': {'readonly': True}, + } + + _attribute_map = { + 'compliance_state': {'key': 'complianceState', 'type': 'str'}, + 'last_config_applied': {'key': 'lastConfigApplied', 'type': 'iso-8601'}, + 'message': {'key': 'message', 'type': 'str'}, + 'message_level': {'key': 'messageLevel', 'type': 'str'}, + } + + def __init__(self, *, last_config_applied=None, message: str=None, message_level=None, **kwargs) -> None: + super(ComplianceStatus, self).__init__(**kwargs) + self.compliance_state = None + self.last_config_applied = last_config_applied + self.message = message + self.message_level = message_level + + +class ErrorDefinition(Model): + """Error definition. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar code: Service specific error code which serves as the substatus for + the HTTP error code. + :vartype code: str + :ivar message: Description of the error. + :vartype message: str + :ivar details: Internal error details. + :vartype details: + list[~azure.mgmt.kubernetesconfiguration.models.ErrorDefinition] + """ + + _validation = { + 'code': {'readonly': True}, + 'message': {'readonly': True}, + 'details': {'readonly': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[ErrorDefinition]'}, + } + + def __init__(self, **kwargs) -> None: + super(ErrorDefinition, self).__init__(**kwargs) + self.code = None + self.message = None + self.details = None + + +class ErrorResponse(Model): + """Error response. + + :param error: Error definition. + :type error: ~azure.mgmt.kubernetesconfiguration.models.ErrorDefinition + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'ErrorDefinition'}, + } + + def __init__(self, *, error=None, **kwargs) -> None: + super(ErrorResponse, self).__init__(**kwargs) + self.error = error + + +class ErrorResponseException(HttpOperationError): + """Server responsed with exception of type: 'ErrorResponse'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(ErrorResponseException, self).__init__(deserialize, response, 'ErrorResponse', *args) + + +class HelmOperatorProperties(Model): + """Properties for Helm operator. + + :param chart_version: Version of the operator Helm chart. + :type chart_version: str + :param chart_values: Values override for the operator Helm chart. + :type chart_values: str + """ + + _attribute_map = { + 'chart_version': {'key': 'chartVersion', 'type': 'str'}, + 'chart_values': {'key': 'chartValues', 'type': 'str'}, + } + + def __init__(self, *, chart_version: str=None, chart_values: str=None, **kwargs) -> None: + super(HelmOperatorProperties, self).__init__(**kwargs) + self.chart_version = chart_version + self.chart_values = chart_values + + +class Resource(Model): + """The Resource model definition. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource Id + :vartype id: str + :ivar name: Resource name + :vartype name: str + :ivar type: Resource type + :vartype type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(Resource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + + +class ProxyResource(Resource): + """ARM proxy resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource Id + :vartype id: str + :ivar name: Resource name + :vartype name: str + :ivar type: Resource type + :vartype type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(ProxyResource, self).__init__(**kwargs) + + +class ResourceProviderOperation(Model): + """Supported operation of this resource provider. + + :param name: Operation name, in format of + {provider}/{resource}/{operation} + :type name: str + :param display: Display metadata associated with the operation. + :type display: + ~azure.mgmt.kubernetesconfiguration.models.ResourceProviderOperationDisplay + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'ResourceProviderOperationDisplay'}, + } + + def __init__(self, *, name: str=None, display=None, **kwargs) -> None: + super(ResourceProviderOperation, self).__init__(**kwargs) + self.name = name + self.display = display + + +class ResourceProviderOperationDisplay(Model): + """Display metadata associated with the operation. + + :param provider: Resource provider: Microsoft KubernetesConfiguration. + :type provider: str + :param resource: Resource on which the operation is performed. + :type resource: str + :param operation: Type of operation: get, read, delete, etc. + :type operation: str + :param description: Description of this operation. + :type description: str + """ + + _attribute_map = { + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__(self, *, provider: str=None, resource: str=None, operation: str=None, description: str=None, **kwargs) -> None: + super(ResourceProviderOperationDisplay, self).__init__(**kwargs) + self.provider = provider + self.resource = resource + self.operation = operation + self.description = description + + +class Result(Model): + """Sample result definition. + + :param sample_property: Sample property of type string + :type sample_property: str + """ + + _attribute_map = { + 'sample_property': {'key': 'sampleProperty', 'type': 'str'}, + } + + def __init__(self, *, sample_property: str=None, **kwargs) -> None: + super(Result, self).__init__(**kwargs) + self.sample_property = sample_property + + +class SourceControlConfiguration(ProxyResource): + """The SourceControl Configuration object. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource Id + :vartype id: str + :ivar name: Resource name + :vartype name: str + :ivar type: Resource type + :vartype type: str + :param repository_url: Url of the SourceControl Repository. + :type repository_url: str + :param operator_namespace: The namespace to which this operator is + installed to. Maximum of 253 lower case alphanumeric characters, hyphen + and period only. Default value: "default" . + :type operator_namespace: str + :param operator_instance_name: Instance name of the operator - identifying + the specific configuration. + :type operator_instance_name: str + :param operator_type: Type of the operator. Possible values include: + 'Flux' + :type operator_type: str or + ~azure.mgmt.kubernetesconfiguration.models.OperatorType + :param operator_params: Any Parameters for the Operator instance in string + format. + :type operator_params: str + :param operator_scope: Scope at which the operator will be installed. + Possible values include: 'cluster', 'namespace'. Default value: "cluster" + . + :type operator_scope: str or + ~azure.mgmt.kubernetesconfiguration.models.OperatorScope + :ivar repository_public_key: Public Key associated with this SourceControl + configuration (either generated within the cluster or provided by the + user). + :vartype repository_public_key: str + :param enable_helm_operator: Option to enable Helm Operator for this git + configuration. Possible values include: 'true', 'false' + :type enable_helm_operator: str or + ~azure.mgmt.kubernetesconfiguration.models.EnableHelmOperator + :param helm_operator_properties: Properties for Helm operator. + :type helm_operator_properties: + ~azure.mgmt.kubernetesconfiguration.models.HelmOperatorProperties + :ivar provisioning_state: The provisioning state of the resource provider. + Possible values include: 'Accepted', 'Deleting', 'Running', 'Succeeded', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.kubernetesconfiguration.models.ProvisioningState + :ivar compliance_status: Compliance Status of the Configuration + :vartype compliance_status: + ~azure.mgmt.kubernetesconfiguration.models.ComplianceStatus + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'repository_public_key': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'compliance_status': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'repository_url': {'key': 'properties.repositoryUrl', 'type': 'str'}, + 'operator_namespace': {'key': 'properties.operatorNamespace', 'type': 'str'}, + 'operator_instance_name': {'key': 'properties.operatorInstanceName', 'type': 'str'}, + 'operator_type': {'key': 'properties.operatorType', 'type': 'str'}, + 'operator_params': {'key': 'properties.operatorParams', 'type': 'str'}, + 'operator_scope': {'key': 'properties.operatorScope', 'type': 'str'}, + 'repository_public_key': {'key': 'properties.repositoryPublicKey', 'type': 'str'}, + 'enable_helm_operator': {'key': 'properties.enableHelmOperator', 'type': 'str'}, + 'helm_operator_properties': {'key': 'properties.helmOperatorProperties', 'type': 'HelmOperatorProperties'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'compliance_status': {'key': 'properties.complianceStatus', 'type': 'ComplianceStatus'}, + } + + def __init__(self, *, repository_url: str=None, operator_namespace: str="default", operator_instance_name: str=None, operator_type=None, operator_params: str=None, operator_scope="cluster", enable_helm_operator=None, helm_operator_properties=None, **kwargs) -> None: + super(SourceControlConfiguration, self).__init__(**kwargs) + self.repository_url = repository_url + self.operator_namespace = operator_namespace + self.operator_instance_name = operator_instance_name + self.operator_type = operator_type + self.operator_params = operator_params + self.operator_scope = operator_scope + self.repository_public_key = None + self.enable_helm_operator = enable_helm_operator + self.helm_operator_properties = helm_operator_properties + self.provisioning_state = None + self.compliance_status = None diff --git a/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/models/_paged_models.py b/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/models/_paged_models.py new file mode 100644 index 00000000000..da03391d8d6 --- /dev/null +++ b/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/models/_paged_models.py @@ -0,0 +1,40 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.paging import Paged + + +class SourceControlConfigurationPaged(Paged): + """ + A paging container for iterating over a list of :class:`SourceControlConfiguration ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[SourceControlConfiguration]'} + } + + def __init__(self, *args, **kwargs): + + super(SourceControlConfigurationPaged, self).__init__(*args, **kwargs) +class ResourceProviderOperationPaged(Paged): + """ + A paging container for iterating over a list of :class:`ResourceProviderOperation ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ResourceProviderOperation]'} + } + + def __init__(self, *args, **kwargs): + + super(ResourceProviderOperationPaged, self).__init__(*args, **kwargs) diff --git a/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/models/_source_control_configuration_client_enums.py b/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/models/_source_control_configuration_client_enums.py new file mode 100644 index 00000000000..17114fbca71 --- /dev/null +++ b/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/models/_source_control_configuration_client_enums.py @@ -0,0 +1,54 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from enum import Enum + + +class ComplianceState(str, Enum): + + pending = "Pending" + compliant = "Compliant" + noncompliant = "Noncompliant" + installed = "Installed" + failed = "Failed" + + +class MessageLevel(str, Enum): + + error = "Error" + warning = "Warning" + information = "Information" + + +class OperatorType(str, Enum): + + flux = "Flux" + + +class OperatorScope(str, Enum): + + cluster = "cluster" + namespace = "namespace" + + +class EnableHelmOperator(str, Enum): + + true = "true" + false = "false" + + +class ProvisioningState(str, Enum): + + accepted = "Accepted" + deleting = "Deleting" + running = "Running" + succeeded = "Succeeded" + failed = "Failed" diff --git a/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/operations/__init__.py b/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/operations/__init__.py new file mode 100644 index 00000000000..b6c0858d9a7 --- /dev/null +++ b/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/operations/__init__.py @@ -0,0 +1,18 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from ._source_control_configurations_operations import SourceControlConfigurationsOperations +from ._operations import Operations + +__all__ = [ + 'SourceControlConfigurationsOperations', + 'Operations', +] diff --git a/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/operations/_operations.py b/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/operations/_operations.py new file mode 100644 index 00000000000..a1ef22cadd8 --- /dev/null +++ b/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/operations/_operations.py @@ -0,0 +1,103 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class Operations(object): + """Operations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to be used with the HTTP request. Constant value: "2019-11-01-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2019-11-01-preview" + + self.config = config + + def list( + self, custom_headers=None, raw=False, **operation_config): + """List all the available operations the KubernetesConfiguration resource + provider supports. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of ResourceProviderOperation + :rtype: + ~azure.mgmt.kubernetesconfiguration.models.ResourceProviderOperationPaged[~azure.mgmt.kubernetesconfiguration.models.ResourceProviderOperation] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.ResourceProviderOperationPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/providers/Microsoft.KubernetesConfiguration/operations'} diff --git a/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/operations/_source_control_configurations_operations.py b/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/operations/_source_control_configurations_operations.py new file mode 100644 index 00000000000..290dba8e4ac --- /dev/null +++ b/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/operations/_source_control_configurations_operations.py @@ -0,0 +1,386 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class SourceControlConfigurationsOperations(object): + """SourceControlConfigurationsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to be used with the HTTP request. Constant value: "2019-11-01-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2019-11-01-preview" + + self.config = config + + def get( + self, resource_group_name, cluster_rp, cluster_resource_name, cluster_name, source_control_configuration_name, custom_headers=None, raw=False, **operation_config): + """Gets details of the Source Control Configuration. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either + Microsoft.ContainerService (for AKS clusters) or Microsoft.Kubernetes + (for OnPrem K8S clusters). Possible values include: + 'Microsoft.ContainerService', 'Microsoft.Kubernetes' + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - + either managedClusters (for AKS clusters) or connectedClusters (for + OnPrem K8S clusters). Possible values include: 'managedClusters', + 'connectedClusters' + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control + Configuration. + :type source_control_configuration_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: SourceControlConfiguration or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.kubernetesconfiguration.models.SourceControlConfiguration + or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), + 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'sourceControlConfigurationName': self._serialize.url("source_control_configuration_name", source_control_configuration_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('SourceControlConfiguration', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} + + def create_or_update( + self, resource_group_name, cluster_rp, cluster_resource_name, cluster_name, source_control_configuration_name, source_control_configuration, custom_headers=None, raw=False, **operation_config): + """Create a new Kubernetes Source Control Configuration. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either + Microsoft.ContainerService (for AKS clusters) or Microsoft.Kubernetes + (for OnPrem K8S clusters). Possible values include: + 'Microsoft.ContainerService', 'Microsoft.Kubernetes' + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - + either managedClusters (for AKS clusters) or connectedClusters (for + OnPrem K8S clusters). Possible values include: 'managedClusters', + 'connectedClusters' + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control + Configuration. + :type source_control_configuration_name: str + :param source_control_configuration: Properties necessary to Create + KubernetesConfiguration. + :type source_control_configuration: + ~azure.mgmt.kubernetesconfiguration.models.SourceControlConfiguration + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: SourceControlConfiguration or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.kubernetesconfiguration.models.SourceControlConfiguration + or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), + 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'sourceControlConfigurationName': self._serialize.url("source_control_configuration_name", source_control_configuration_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(source_control_configuration, 'SourceControlConfiguration') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('SourceControlConfiguration', response) + if response.status_code == 201: + deserialized = self._deserialize('SourceControlConfiguration', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} + + + def _delete_initial( + self, resource_group_name, cluster_rp, cluster_resource_name, cluster_name, source_control_configuration_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), + 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'sourceControlConfigurationName': self._serialize.url("source_control_configuration_name", source_control_configuration_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 204]: + raise models.ErrorResponseException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, cluster_rp, cluster_resource_name, cluster_name, source_control_configuration_name, custom_headers=None, raw=False, polling=True, **operation_config): + """This will delete the YAML file used to set up the Source control + configuration, thus stopping future sync from the source repo. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either + Microsoft.ContainerService (for AKS clusters) or Microsoft.Kubernetes + (for OnPrem K8S clusters). Possible values include: + 'Microsoft.ContainerService', 'Microsoft.Kubernetes' + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - + either managedClusters (for AKS clusters) or connectedClusters (for + OnPrem K8S clusters). Possible values include: 'managedClusters', + 'connectedClusters' + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control + Configuration. + :type source_control_configuration_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: + :class:`ErrorResponseException` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} + + def list( + self, resource_group_name, cluster_rp, cluster_resource_name, cluster_name, custom_headers=None, raw=False, **operation_config): + """List all Source Control Configurations. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either + Microsoft.ContainerService (for AKS clusters) or Microsoft.Kubernetes + (for OnPrem K8S clusters). Possible values include: + 'Microsoft.ContainerService', 'Microsoft.Kubernetes' + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - + either managedClusters (for AKS clusters) or connectedClusters (for + OnPrem K8S clusters). Possible values include: 'managedClusters', + 'connectedClusters' + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of SourceControlConfiguration + :rtype: + ~azure.mgmt.kubernetesconfiguration.models.SourceControlConfigurationPaged[~azure.mgmt.kubernetesconfiguration.models.SourceControlConfiguration] + :raises: + :class:`ErrorResponseException` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), + 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.SourceControlConfigurationPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations'} diff --git a/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/version.py b/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/version.py new file mode 100644 index 00000000000..e0ec669828c --- /dev/null +++ b/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/version.py @@ -0,0 +1,13 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +VERSION = "0.1.0" + diff --git a/src/k8sconfiguration/setup.cfg b/src/k8sconfiguration/setup.cfg new file mode 100644 index 00000000000..3c6e79cf31d --- /dev/null +++ b/src/k8sconfiguration/setup.cfg @@ -0,0 +1,2 @@ +[bdist_wheel] +universal=1 diff --git a/src/k8sconfiguration/setup.py b/src/k8sconfiguration/setup.py new file mode 100644 index 00000000000..17b8070b62c --- /dev/null +++ b/src/k8sconfiguration/setup.py @@ -0,0 +1,58 @@ +#!/usr/bin/env python + +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + + +from codecs import open +from setuptools import setup, find_packages +try: + from azure_bdist_wheel import cmdclass +except ImportError: + from distutils import log as logger + logger.warn("Wheel is not available, disabling bdist_wheel hook") + +# TODO: Confirm this is the right version number you want and it matches your +# HISTORY.rst entry. +VERSION = '0.1.8' + +# The full list of classifiers is available at +# https://pypi.python.org/pypi?%3Aaction=list_classifiers +CLASSIFIERS = [ + 'Development Status :: 4 - Beta', + 'Intended Audience :: Developers', + 'Intended Audience :: System Administrators', + 'Programming Language :: Python', + 'Programming Language :: Python :: 3', + 'Programming Language :: Python :: 3.6', + 'Programming Language :: Python :: 3.7', + 'Programming Language :: Python :: 3.8', + 'License :: OSI Approved :: MIT License', +] + +# TODO: Add any additional SDK dependencies here +DEPENDENCIES = [] + +with open('README.rst', 'r', encoding='utf-8') as f: + README = f.read() +with open('HISTORY.rst', 'r', encoding='utf-8') as f: + HISTORY = f.read() + +setup( + name='k8sconfiguration', + version=VERSION, + description='Microsoft Azure Command-Line Tools K8sconfiguration Extension', + # TODO: Update author and email, if applicable + author='Microsoft Corporation', + author_email='azpycli@microsoft.com', + # TODO: consider pointing directly to your source code instead of the generic repo + url='https://github.com/Azure/azure-cli-extensions', + long_description=README + '\n\n' + HISTORY, + license='MIT', + classifiers=CLASSIFIERS, + packages=find_packages(), + install_requires=DEPENDENCIES, + package_data={'azext_k8sconfiguration': ['azext_metadata.json']}, +) \ No newline at end of file diff --git a/src/kusto/HISTORY.rst b/src/kusto/HISTORY.rst new file mode 100644 index 00000000000..27f152061e8 --- /dev/null +++ b/src/kusto/HISTORY.rst @@ -0,0 +1,8 @@ +.. :changelog: + +Release History +=============== + +0.1.0 +++++++ +* Initial release. diff --git a/src/kusto/README.md b/src/kusto/README.md new file mode 100644 index 00000000000..3622fe06255 --- /dev/null +++ b/src/kusto/README.md @@ -0,0 +1,5 @@ +Microsoft Azure CLI 'kusto' Extension +========================================== + +This package is for the 'kusto' extension. +i.e. 'az kusto' diff --git a/src/kusto/azext_kusto/__init__.py b/src/kusto/azext_kusto/__init__.py new file mode 100644 index 00000000000..5a12fc226b3 --- /dev/null +++ b/src/kusto/azext_kusto/__init__.py @@ -0,0 +1,46 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from azure.cli.core import AzCommandsLoader +from azext_kusto.generated._help import helps # pylint: disable=unused-import + + +class KustoManagementClientCommandsLoader(AzCommandsLoader): + + def __init__(self, cli_ctx=None): + from azure.cli.core.commands import CliCommandType + from azext_kusto.generated._client_factory import cf_kusto + kusto_custom = CliCommandType( + operations_tmpl='azext_kusto.custom#{}', + client_factory=cf_kusto) + super(KustoManagementClientCommandsLoader, self).__init__(cli_ctx=cli_ctx, + custom_command_type=kusto_custom) + + def load_command_table(self, args): + from azext_kusto.generated.commands import load_command_table + load_command_table(self, args) + try: + from azext_kusto.manual.commands import load_command_table as load_command_table_manual + load_command_table_manual(self, args) + except ImportError: + pass + return self.command_table + + def load_arguments(self, command): + from azext_kusto.generated._params import load_arguments + load_arguments(self, command) + try: + from azext_kusto.manual._params import load_arguments as load_arguments_manual + load_arguments_manual(self, command) + except ImportError: + pass + + +COMMAND_LOADER_CLS = KustoManagementClientCommandsLoader diff --git a/src/kusto/azext_kusto/action.py b/src/kusto/azext_kusto/action.py new file mode 100644 index 00000000000..a846b2766c4 --- /dev/null +++ b/src/kusto/azext_kusto/action.py @@ -0,0 +1,17 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +# pylint: disable=wildcard-import +# pylint: disable=unused-wildcard-import + +from .generated.action import * # noqa: F403 +try: + from .manual.action import * # noqa: F403 +except ImportError: + pass diff --git a/src/kusto/azext_kusto/azext_metadata.json b/src/kusto/azext_kusto/azext_metadata.json new file mode 100644 index 00000000000..7b56fb1e11a --- /dev/null +++ b/src/kusto/azext_kusto/azext_metadata.json @@ -0,0 +1,4 @@ +{ + "azext.isExperimental": true, + "azext.minCliCoreVersion": "2.3.1" +} \ No newline at end of file diff --git a/src/kusto/azext_kusto/custom.py b/src/kusto/azext_kusto/custom.py new file mode 100644 index 00000000000..7f31674ce96 --- /dev/null +++ b/src/kusto/azext_kusto/custom.py @@ -0,0 +1,17 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +# pylint: disable=wildcard-import +# pylint: disable=unused-wildcard-import + +from .generated.custom import * # noqa: F403 +try: + from .manual.custom import * # noqa: F403 +except ImportError: + pass diff --git a/src/kusto/azext_kusto/generated/__init__.py b/src/kusto/azext_kusto/generated/__init__.py new file mode 100644 index 00000000000..ee0c4f36bd0 --- /dev/null +++ b/src/kusto/azext_kusto/generated/__init__.py @@ -0,0 +1,12 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +__path__ = __import__('pkgutil').extend_path(__path__, __name__) diff --git a/src/kusto/azext_kusto/generated/_client_factory.py b/src/kusto/azext_kusto/generated/_client_factory.py new file mode 100644 index 00000000000..96406ce744f --- /dev/null +++ b/src/kusto/azext_kusto/generated/_client_factory.py @@ -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. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + + +def cf_kusto(cli_ctx, *_): + from azure.cli.core.commands.client_factory import get_mgmt_service_client + from ..vendored_sdks.kusto import KustoManagementClient + return get_mgmt_service_client(cli_ctx, KustoManagementClient) + + +def cf_cluster(cli_ctx, *_): + return cf_kusto(cli_ctx).cluster + + +def cf_cluster_principal_assignment(cli_ctx, *_): + return cf_kusto(cli_ctx).cluster_principal_assignment + + +def cf_database(cli_ctx, *_): + return cf_kusto(cli_ctx).database + + +def cf_database_principal_assignment(cli_ctx, *_): + return cf_kusto(cli_ctx).database_principal_assignment + + +def cf_attached_database_configuration(cli_ctx, *_): + return cf_kusto(cli_ctx).attached_database_configuration + + +def cf_data_connection(cli_ctx, *_): + return cf_kusto(cli_ctx).data_connection diff --git a/src/kusto/azext_kusto/generated/_help.py b/src/kusto/azext_kusto/generated/_help.py new file mode 100644 index 00000000000..c319c0cdaf0 --- /dev/null +++ b/src/kusto/azext_kusto/generated/_help.py @@ -0,0 +1,558 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +# pylint: disable=too-many-lines + +from knack.help_files import helps + + +helps['kusto cluster'] = """ + type: group + short-summary: kusto cluster +""" + +helps['kusto cluster list'] = """ + type: command + short-summary: Lists all Kusto clusters within a subscription. + examples: + - name: KustoClustersListByResourceGroup + text: |- + az kusto cluster list --resource-group "kustorptest" +""" + +helps['kusto cluster show'] = """ + type: command + short-summary: Gets a Kusto cluster. + examples: + - name: KustoClustersGet + text: |- + az kusto cluster show --cluster-name "KustoClusterRPTest4" --resource-group "kustorptest" +""" + +helps['kusto cluster create'] = """ + type: command + short-summary: Create or update a Kusto cluster. + examples: + - name: KustoClustersCreateOrUpdate + text: |- + az kusto cluster create --cluster-name "KustoClusterRPTest4" --identity-type "SystemAssigned" --location\ + "westus" --enable-purge true --enable-streaming-ingest true --key-vault-properties key-name="" key-vault-uri="" key-ve\ +rsion="" --sku name="Standard_L8s" capacity=2 tier="Standard" --resource-group "kustorptest" +""" + +helps['kusto cluster update'] = """ + type: command + short-summary: Update a Kusto cluster. + examples: + - name: KustoClustersUpdate + text: |- + az kusto cluster update --cluster-name "KustoClusterRPTest4" --identity-type "SystemAssigned" --location\ + "westus" --enable-purge true --enable-streaming-ingest true --key-vault-properties key-name="keyName" key-vault-uri="h\ +ttps://dummy.keyvault.com" key-version="keyVersion" --resource-group "kustorptest" +""" + +helps['kusto cluster delete'] = """ + type: command + short-summary: Deletes a Kusto cluster. + examples: + - name: KustoClustersDelete + text: |- + az kusto cluster delete --cluster-name "KustoClusterRPTest4" --resource-group "kustorptest" +""" + +helps['kusto cluster add-language-extension'] = """ + type: command + short-summary: Add a list of language extensions that can run within KQL queries. + examples: + - name: KustoClusterAddLanguageExtensions + text: |- + az kusto cluster add-language-extension --cluster-name "KustoClusterRPTest4" --value language-extension-\ +name="PYTHON" --value language-extension-name="R" --resource-group "kustorptest" +""" + +helps['kusto cluster detach-follower-database'] = """ + type: command + short-summary: Detaches all followers of a database owned by this cluster. + examples: + - name: KustoClusterDetachFollowerDatabases + text: |- + az kusto cluster detach-follower-database --cluster-name "KustoClusterRPTest4" --attached-database-confi\ +guration-name "myAttachedDatabaseConfiguration" --cluster-resource-id "/subscriptions/12345678-1234-1234-1234-123456789\ +098/resourceGroups/kustorptest/providers/Microsoft.Kusto/clusters/leader4" --resource-group "kustorptest" +""" + +helps['kusto cluster diagnose-virtual-network'] = """ + type: command + short-summary: Diagnoses network connectivity status for external resources on which the service is dependent on. + examples: + - name: KustoClusterDiagnoseVirtualNetwork + text: |- + az kusto cluster diagnose-virtual-network --cluster-name "KustoClusterRPTest4" --resource-group "kustorp\ +test" +""" + +helps['kusto cluster list-follower-database'] = """ + type: command + short-summary: Returns a list of databases that are owned by this cluster and were followed by another cluster. + examples: + - name: KustoClusterListFollowerDatabases + text: |- + az kusto cluster list-follower-database --cluster-name "KustoClusterRPTest4" --resource-group "kustorpte\ +st" +""" + +helps['kusto cluster list-language-extension'] = """ + type: command + short-summary: Returns a list of language extensions that can run within KQL queries. + examples: + - name: KustoClusterListLanguageExtensions + text: |- + az kusto cluster list-language-extension --cluster-name "KustoClusterRPTest4" --resource-group "kustorpt\ +est" +""" + +helps['kusto cluster list-sku'] = """ + type: command + short-summary: Lists eligible SKUs for Kusto resource provider. + examples: + - name: KustoClustersListResourceSkus + text: |- + az kusto cluster list-sku --cluster-name "KustoClusterRPTest4" --resource-group "kustorptest" +""" + +helps['kusto cluster remove-language-extension'] = """ + type: command + short-summary: Remove a list of language extensions that can run within KQL queries. + examples: + - name: KustoClusterRemoveLanguageExtensions + text: |- + az kusto cluster remove-language-extension --cluster-name "KustoClusterRPTest4" --value language-extensi\ +on-name="PYTHON" --value language-extension-name="R" --resource-group "kustorptest" +""" + +helps['kusto cluster start'] = """ + type: command + short-summary: Starts a Kusto cluster. + examples: + - name: KustoClustersStart + text: |- + az kusto cluster start --cluster-name "KustoClusterRPTest4" --resource-group "kustorptest" +""" + +helps['kusto cluster stop'] = """ + type: command + short-summary: Stops a Kusto cluster. + examples: + - name: KustoClustersStop + text: |- + az kusto cluster stop --cluster-name "KustoClusterRPTest4" --resource-group "kustorptest" +""" + +helps['kusto cluster-principal-assignment'] = """ + type: group + short-summary: kusto cluster-principal-assignment +""" + +helps['kusto cluster-principal-assignment list'] = """ + type: command + short-summary: Lists all Kusto cluster principalAssignments. + examples: + - name: KustoPrincipalAssignmentsList + text: |- + az kusto cluster-principal-assignment list --cluster-name "kustoclusterrptest4" --resource-group "kustor\ +ptest" +""" + +helps['kusto cluster-principal-assignment show'] = """ + type: command + short-summary: Gets a Kusto cluster principalAssignment. + examples: + - name: KustoClusterPrincipalAssignmentsGet + text: |- + az kusto cluster-principal-assignment show --cluster-name "kustoclusterrptest4" --principal-assignment-n\ +ame "kustoprincipal1" --resource-group "kustorptest" +""" + +helps['kusto cluster-principal-assignment create'] = """ + type: command + short-summary: Create a Kusto cluster principalAssignment. + examples: + - name: KustoClusterPrincipalAssignmentsCreateOrUpdate + text: |- + az kusto cluster-principal-assignment create --cluster-name "kustoclusterrptest4" --principal-id "876543\ +21-1234-1234-1234-123456789123" --principal-type "App" --role "AllDatabasesAdmin" --tenant-id "12345678-1234-1234-1234-\ +123456789123" --principal-assignment-name "kustoprincipal1" --resource-group "kustorptest" +""" + +helps['kusto cluster-principal-assignment update'] = """ + type: command + short-summary: Create a Kusto cluster principalAssignment. + examples: + - name: KustoClusterPrincipalAssignmentsCreateOrUpdate + text: |- + az kusto cluster-principal-assignment update --cluster-name "kustoclusterrptest4" --principal-id "876543\ +21-1234-1234-1234-123456789123" --principal-type "App" --role "AllDatabasesAdmin" --tenant-id "12345678-1234-1234-1234-\ +123456789123" --principal-assignment-name "kustoprincipal1" --resource-group "kustorptest" +""" + +helps['kusto cluster-principal-assignment delete'] = """ + type: command + short-summary: Deletes a Kusto cluster principalAssignment. + examples: + - name: KustoClusterPrincipalAssignmentsDelete + text: |- + az kusto cluster-principal-assignment delete --cluster-name "kustoclusterrptest4" --principal-assignment\ +-name "kustoprincipal1" --resource-group "kustorptest" +""" + +helps['kusto database'] = """ + type: group + short-summary: kusto database +""" + +helps['kusto database list'] = """ + type: command + short-summary: Returns the list of databases of the given Kusto cluster. + examples: + - name: KustoDatabasesListByCluster + text: |- + az kusto database list --cluster-name "KustoClusterRPTest4" --resource-group "kustorptest" +""" + +helps['kusto database show'] = """ + type: command + short-summary: Returns a database. + examples: + - name: KustoDatabasesGet + text: |- + az kusto database show --cluster-name "KustoClusterRPTest4" --database-name "KustoDatabase8" --resource-\ +group "kustorptest" +""" + +helps['kusto database create'] = """ + type: command + short-summary: Creates or updates a database. + examples: + - name: KustoDatabasesCreateOrUpdate + text: |- + az kusto database create --cluster-name "KustoClusterRPTest4" --database-name "KustoDatabase8" --read-wr\ +ite-database location="westus" soft-delete-period="P1D" --resource-group "kustorptest" +""" + +helps['kusto database update'] = """ + type: command + short-summary: Updates a database. + examples: + - name: KustoDatabasesUpdate + text: |- + az kusto database update --cluster-name "KustoClusterRPTest4" --database-name "KustoDatabase8" --read-wr\ +ite-database soft-delete-period="P1D" --resource-group "kustorptest" +""" + +helps['kusto database delete'] = """ + type: command + short-summary: Deletes the database with the given name. + examples: + - name: KustoDatabasesDelete + text: |- + az kusto database delete --cluster-name "KustoClusterRPTest4" --database-name "KustoDatabase8" --resourc\ +e-group "kustorptest" +""" + +helps['kusto database add-principal'] = """ + type: command + short-summary: Add Database principals permissions. + examples: + - name: KustoDatabaseAddPrincipals + text: |- + az kusto database add-principal --cluster-name "KustoClusterRPTest4" --database-name "databaseName1" --v\ +alue name="Some User" type="User" app-id="" email="user@microsoft.com" fqn="aaduser=some_guid" role="Admin" --value nam\ +e="Kusto" type="Group" app-id="" email="kusto@microsoft.com" fqn="aadgroup=some_guid" role="Viewer" --value name="SomeA\ +pp" type="App" app-id="some_guid_app_id" email="" fqn="aadapp=some_guid_app_id" role="Admin" --resource-group "kustorpt\ +est" +""" + +helps['kusto database list-principal'] = """ + type: command + short-summary: Returns a list of database principals of the given Kusto cluster and database. + examples: + - name: KustoDatabaseListPrincipals + text: |- + az kusto database list-principal --cluster-name "KustoClusterRPTest4" --database-name "Kustodatabase8" -\ +-resource-group "kustorptest" +""" + +helps['kusto database remove-principal'] = """ + type: command + short-summary: Remove Database principals permissions. + examples: + - name: KustoDatabaseRemovePrincipals + text: |- + az kusto database remove-principal --cluster-name "KustoClusterRPTest4" --database-name "databaseName1" \ +--value name="Some User" type="User" app-id="" email="user@microsoft.com" fqn="aaduser=some_guid" role="Admin" --value \ +name="Kusto" type="Group" app-id="" email="kusto@microsoft.com" fqn="aadgroup=some_guid" role="Viewer" --value name="So\ +meApp" type="App" app-id="some_guid_app_id" email="" fqn="aadapp=some_guid_app_id" role="Admin" --resource-group "kusto\ +rptest" +""" + +helps['kusto database-principal-assignment'] = """ + type: group + short-summary: kusto database-principal-assignment +""" + +helps['kusto database-principal-assignment list'] = """ + type: command + short-summary: Lists all Kusto cluster database principalAssignments. + examples: + - name: KustoPrincipalAssignmentsList + text: |- + az kusto database-principal-assignment list --cluster-name "kustoclusterrptest4" --database-name "Kustod\ +atabase8" --resource-group "kustorptest" +""" + +helps['kusto database-principal-assignment show'] = """ + type: command + short-summary: Gets a Kusto cluster database principalAssignment. + examples: + - name: KustoDatabasePrincipalAssignmentsGet + text: |- + az kusto database-principal-assignment show --cluster-name "kustoclusterrptest4" --database-name "Kustod\ +atabase8" --principal-assignment-name "kustoprincipal1" --resource-group "kustorptest" +""" + +helps['kusto database-principal-assignment create'] = """ + type: command + short-summary: Creates a Kusto cluster database principalAssignment. + examples: + - name: KustoDatabasePrincipalAssignmentsCreateOrUpdate + text: |- + az kusto database-principal-assignment create --cluster-name "kustoclusterrptest4" --database-name "Kust\ +odatabase8" --principal-id "87654321-1234-1234-1234-123456789123" --principal-type "App" --role "Admin" --tenant-id "12\ +345678-1234-1234-1234-123456789123" --principal-assignment-name "kustoprincipal1" --resource-group "kustorptest" +""" + +helps['kusto database-principal-assignment update'] = """ + type: command + short-summary: Creates a Kusto cluster database principalAssignment. + examples: + - name: KustoDatabasePrincipalAssignmentsCreateOrUpdate + text: |- + az kusto database-principal-assignment update --cluster-name "kustoclusterrptest4" --database-name "Kust\ +odatabase8" --principal-id "87654321-1234-1234-1234-123456789123" --principal-type "App" --role "Admin" --tenant-id "12\ +345678-1234-1234-1234-123456789123" --principal-assignment-name "kustoprincipal1" --resource-group "kustorptest" +""" + +helps['kusto database-principal-assignment delete'] = """ + type: command + short-summary: Deletes a Kusto principalAssignment. + examples: + - name: KustoDatabasePrincipalAssignmentsDelete + text: |- + az kusto database-principal-assignment delete --cluster-name "kustoclusterrptest4" --database-name "Kust\ +odatabase8" --principal-assignment-name "kustoprincipal1" --resource-group "kustorptest" +""" + +helps['kusto attached-database-configuration'] = """ + type: group + short-summary: kusto attached-database-configuration +""" + +helps['kusto attached-database-configuration list'] = """ + type: command + short-summary: Returns the list of attached database configurations of the given Kusto cluster. + examples: + - name: KustoAttachedDatabaseConfigurationsListByCluster + text: |- + az kusto attached-database-configuration list --cluster-name "KustoClusterRPTest4" --resource-group "kus\ +torptest" +""" + +helps['kusto attached-database-configuration show'] = """ + type: command + short-summary: Returns an attached database configuration. + examples: + - name: AttachedDatabaseConfigurationsGet + text: |- + az kusto attached-database-configuration show --attached-database-configuration-name "attachedDatabaseCo\ +nfigurations1" --cluster-name "KustoClusterRPTest4" --resource-group "kustorptest" +""" + +helps['kusto attached-database-configuration create'] = """ + type: command + short-summary: Creates or updates an attached database configuration. + examples: + - name: AttachedDatabaseConfigurationsCreateOrUpdate + text: |- + az kusto attached-database-configuration create --attached-database-configuration-name "attachedDatabase\ +Configurations1" --cluster-name "KustoClusterRPTest4" --location "westus" --cluster-resource-id "/subscriptions/1234567\ +8-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterLeader" --datab\ +ase-name "Kustodatabase8" --default-principals-modification-kind "Union" --resource-group "kustorptest" +""" + +helps['kusto attached-database-configuration update'] = """ + type: command + short-summary: Creates or updates an attached database configuration. + examples: + - name: AttachedDatabaseConfigurationsCreateOrUpdate + text: |- + az kusto attached-database-configuration update --attached-database-configuration-name "attachedDatabase\ +Configurations1" --cluster-name "KustoClusterRPTest4" --location "westus" --cluster-resource-id "/subscriptions/1234567\ +8-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterLeader" --datab\ +ase-name "Kustodatabase8" --default-principals-modification-kind "Union" --resource-group "kustorptest" +""" + +helps['kusto attached-database-configuration delete'] = """ + type: command + short-summary: Deletes the attached database configuration with the given name. + examples: + - name: AttachedDatabaseConfigurationsDelete + text: |- + az kusto attached-database-configuration delete --attached-database-configuration-name "attachedDatabase\ +Configurations1" --cluster-name "KustoClusterRPTest4" --resource-group "kustorptest" +""" + +helps['kusto data-connection'] = """ + type: group + short-summary: kusto data-connection +""" + +helps['kusto data-connection list'] = """ + type: command + short-summary: Returns the list of data connections of the given Kusto database. + examples: + - name: KustoDatabasesListByCluster + text: |- + az kusto data-connection list --cluster-name "KustoClusterRPTest4" --database-name "KustoDatabase8" --re\ +source-group "kustorptest" +""" + +helps['kusto data-connection show'] = """ + type: command + short-summary: Returns a data connection. + examples: + - name: KustoDataConnectionsGet + text: |- + az kusto data-connection show --cluster-name "KustoClusterRPTest4" --data-connection-name "DataConnectio\ +ns8" --database-name "KustoDatabase8" --resource-group "kustorptest" +""" + +helps['kusto data-connection event-grid'] = """ + type: group + short-summary: kusto data-connection sub group event-grid +""" + +helps['kusto data-connection event-grid create'] = """ + type: command + short-summary: Creates or updates a data connection. +""" + +helps['kusto data-connection event-hub'] = """ + type: group + short-summary: kusto data-connection sub group event-hub +""" + +helps['kusto data-connection event-hub create'] = """ + type: command + short-summary: Creates or updates a data connection. + examples: + - name: KustoDataConnectionsCreateOrUpdate + text: |- + az kusto data-connection event-hub create --cluster-name "KustoClusterRPTest4" --data-connection-name "D\ +ataConnections8" --database-name "KustoDatabase8" --location "westus" --consumer-group "testConsumerGroup1" --event-hub\ +-resource-id "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventH\ +ub/namespaces/eventhubTestns1/eventhubs/eventhubTest1" --resource-group "kustorptest" +""" + +helps['kusto data-connection iot-hub'] = """ + type: group + short-summary: kusto data-connection sub group iot-hub +""" + +helps['kusto data-connection iot-hub create'] = """ + type: command + short-summary: Creates or updates a data connection. +""" + +helps['kusto data-connection event-grid update'] = """ + type: command + short-summary: Updates a data connection. +""" + +helps['kusto data-connection event-hub update'] = """ + type: command + short-summary: Updates a data connection. + examples: + - name: KustoDataConnectionsUpdate + text: |- + az kusto data-connection event-hub update --cluster-name "KustoClusterRPTest4" --data-connection-name "D\ +ataConnections8" --database-name "KustoDatabase8" --location "westus" --consumer-group "testConsumerGroup1" --event-hub\ +-resource-id "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventH\ +ub/namespaces/eventhubTestns1/eventhubs/eventhubTest1" --resource-group "kustorptest" +""" + +helps['kusto data-connection iot-hub update'] = """ + type: command + short-summary: Updates a data connection. +""" + +helps['kusto data-connection delete'] = """ + type: command + short-summary: Deletes the data connection with the given name. + examples: + - name: KustoDataConnectionsDelete + text: |- + az kusto data-connection delete --cluster-name "KustoClusterRPTest4" --data-connection-name "kustoeventh\ +ubconnection1" --database-name "KustoDatabase8" --resource-group "kustorptest" +""" + +helps['kusto data-connection event-grid data-connection-validation'] = """ + type: command + short-summary: Checks that the data connection parameters are valid. +""" + +helps['kusto data-connection event-hub data-connection-validation'] = """ + type: command + short-summary: Checks that the data connection parameters are valid. + examples: + - name: KustoDataConnectionValidation + text: |- + az kusto data-connection event-hub data-connection-validation --cluster-name "KustoClusterRPTest4" --dat\ +abase-name "KustoDatabase8" --data-connection-name "DataConnections8" --consumer-group "testConsumerGroup1" --event-hub\ +-resource-id "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventH\ +ub/namespaces/eventhubTestns1/eventhubs/eventhubTest1" --resource-group "kustorptest" +""" + +helps['kusto data-connection iot-hub data-connection-validation'] = """ + type: command + short-summary: Checks that the data connection parameters are valid. +""" + +helps['kusto attached-database-configuration wait'] = """ +type: command +short-summary: Wait for a managed Kusto cluster to reach a desired state. +long-summary: If an operation on a cluster was interrupted or was started with `--no-wait`, use this command to wait for it to complete. +""" + +helps['kusto cluster-principal-assignment wait'] = """ +type: command +short-summary: Wait for a managed Kusto cluster to reach a desired state. +long-summary: If an operation on a cluster was interrupted or was started with `--no-wait`, use this command to wait for it to complete. +""" + +helps['kusto data-connection wait'] = """ +type: command +short-summary: Wait for a managed Kusto cluster to reach a desired state. +long-summary: If an operation on a cluster was interrupted or was started with `--no-wait`, use this command to wait for it to complete. +""" + +helps['kusto database-principal-assignment wait'] = """ +type: command +short-summary: Wait for a managed Kusto cluster to reach a desired state. +long-summary: If an operation on a cluster was interrupted or was started with `--no-wait`, use this command to wait for it to complete. +""" diff --git a/src/kusto/azext_kusto/generated/_params.py b/src/kusto/azext_kusto/generated/_params.py new file mode 100644 index 00000000000..ff17d49df18 --- /dev/null +++ b/src/kusto/azext_kusto/generated/_params.py @@ -0,0 +1,525 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +# pylint: disable=too-many-lines +# pylint: disable=too-many-statements + +from knack.arguments import CLIArgumentType +from azure.cli.core.commands.parameters import ( + tags_type, + get_three_state_flag, + get_enum_type, + resource_group_name_type, + get_location_type +) +from azure.cli.core.commands.validators import get_default_location_from_resource_group +from azext_kusto.action import ( + AddSku, + AddTrustedExternalTenants, + AddOptimizedAutoscale, + AddVirtualNetworkConfiguration, + AddKeyVaultProperties, + AddLanguageExtensionsValue, + AddReadWriteDatabase, + AddReadOnlyFollowingDatabase, + AddValue +) + + +def load_arguments(self, _): + + with self.argument_context('kusto cluster list') as c: + c.argument('resource_group_name', resource_group_name_type) + + with self.argument_context('kusto cluster show') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('cluster_name', help='The name of the Kusto cluster.') + + with self.argument_context('kusto cluster create') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('cluster_name', help='The name of the Kusto cluster.') + c.argument('tags', tags_type) + c.argument('location', arg_type=get_location_type(self.cli_ctx), + validator=get_default_location_from_resource_group) + c.argument('sku', action=AddSku, nargs='+', help='The SKU of the cluster. Expect value: KEY1=VALUE1 KEY2=VALUE2' + ' ... , available KEYs are: name, capacity, tier.') + c.argument('zones', nargs='+', help='The availability zones of the cluster. Expected value: json-string/@json-f' + 'ile.') + c.argument('trusted_external_tenants', action=AddTrustedExternalTenants, nargs='+', help='The cluster\'s extern' + 'al tenants. Expect value: value=xx.') + c.argument('optimized_autoscale', action=AddOptimizedAutoscale, nargs='+', help='Optimized auto scale definitio' + 'n. Expect value: KEY1=VALUE1 KEY2=VALUE2 ... , available KEYs are: version, is-enabled, minimum, ma' + 'ximum.') + c.argument('enable_disk_encryption', arg_type=get_three_state_flag(), help='A boolean value that indicates if t' + 'he cluster\'s disks are encrypted.') + c.argument('enable_streaming_ingest', arg_type=get_three_state_flag(), help='A boolean value that indicates if ' + 'the streaming ingest is enabled.') + c.argument('virtual_network_configuration', action=AddVirtualNetworkConfiguration, nargs='+', help='Virtual net' + 'work definition. Expect value: KEY1=VALUE1 KEY2=VALUE2 ... , available KEYs are: subnet-id, engine-' + 'public-ip-id, data-management-public-ip-id.') + c.argument('key_vault_properties', action=AddKeyVaultProperties, nargs='+', help='KeyVault properties for the c' + 'luster encryption. Expect value: KEY1=VALUE1 KEY2=VALUE2 ... , available KEYs are: key-name, key-ve' + 'rsion, key-vault-uri.') + c.argument('enable_purge', arg_type=get_three_state_flag(), help='A boolean value that indicates if the purge o' + 'perations are enabled.') + c.argument('language_extensions_value', action=AddLanguageExtensionsValue, nargs='+', help='The list of languag' + 'e extensions. Expect value: language-extension-name=xx.') + c.argument('identity_type', arg_type=get_enum_type(['None', 'SystemAssigned']), help='The identity type.') + c.argument('identity_user_assigned_identities', arg_type=CLIArgumentType(options_list=['--identity-user-assigned-identities'], help='The list of user identities associated with the Kusto cluster. The user identity dictionary key references will be ARM resource ids in the form: \'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}\'. Expected value: json-string/@json-file.')) + + with self.argument_context('kusto cluster update') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('cluster_name', help='The name of the Kusto cluster.') + c.argument('tags', tags_type) + c.argument('location', arg_type=get_location_type(self.cli_ctx), + validator=get_default_location_from_resource_group) + c.argument('sku', action=AddSku, nargs='+', help='The SKU of the cluster. Expect value: KEY1=VALUE1 KEY2=VALUE2' + ' ... , available KEYs are: name, capacity, tier.') + c.argument('trusted_external_tenants', action=AddTrustedExternalTenants, nargs='+', help='The cluster\'s extern' + 'al tenants. Expect value: value=xx.') + c.argument('optimized_autoscale', action=AddOptimizedAutoscale, nargs='+', help='Optimized auto scale definitio' + 'n. Expect value: KEY1=VALUE1 KEY2=VALUE2 ... , available KEYs are: version, is-enabled, minimum, ma' + 'ximum.') + c.argument('enable_disk_encryption', arg_type=get_three_state_flag(), help='A boolean value that indicates if t' + 'he cluster\'s disks are encrypted.') + c.argument('enable_streaming_ingest', arg_type=get_three_state_flag(), help='A boolean value that indicates if ' + 'the streaming ingest is enabled.') + c.argument('virtual_network_configuration', action=AddVirtualNetworkConfiguration, nargs='+', help='Virtual net' + 'work definition. Expect value: KEY1=VALUE1 KEY2=VALUE2 ... , available KEYs are: subnet-id, engine-' + 'public-ip-id, data-management-public-ip-id.') + c.argument('key_vault_properties', action=AddKeyVaultProperties, nargs='+', help='KeyVault properties for the c' + 'luster encryption. Expect value: KEY1=VALUE1 KEY2=VALUE2 ... , available KEYs are: key-name, key-ve' + 'rsion, key-vault-uri.') + c.argument('enable_purge', arg_type=get_three_state_flag(), help='A boolean value that indicates if the purge o' + 'perations are enabled.') + c.argument('language_extensions_value', action=AddLanguageExtensionsValue, nargs='+', help='The list of languag' + 'e extensions. Expect value: language-extension-name=xx.') + c.argument('identity_type', arg_type=get_enum_type(['None', 'SystemAssigned']), help='The identity type.') + c.argument('identity_user_assigned_identities', arg_type=CLIArgumentType(options_list=['--identity-user-assigned-identities'], help='The list of user identities associated with the Kusto cluster. The user identity dictionary key references will be ARM resource ids in the form: \'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}\'. Expected value: json-string/@json-file.')) + + with self.argument_context('kusto cluster delete') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('cluster_name', help='The name of the Kusto cluster.') + + with self.argument_context('kusto cluster add-language-extension') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('cluster_name', help='The name of the Kusto cluster.') + c.argument('value', action=AddLanguageExtensionsValue, nargs='+', help='The list of language extensions. Expect' + ' value: language-extension-name=xx.') + + with self.argument_context('kusto cluster detach-follower-database') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('cluster_name', help='The name of the Kusto cluster.') + c.argument('cluster_resource_id', help='Resource id of the cluster that follows a database owned by this cluste' + 'r.') + c.argument('attached_database_configuration_name', help='Resource name of the attached database configuration i' + 'n the follower cluster.') + + with self.argument_context('kusto cluster diagnose-virtual-network') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('cluster_name', help='The name of the Kusto cluster.') + + with self.argument_context('kusto cluster list-follower-database') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('cluster_name', help='The name of the Kusto cluster.') + + with self.argument_context('kusto cluster list-language-extension') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('cluster_name', help='The name of the Kusto cluster.') + + with self.argument_context('kusto cluster list-sku') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('cluster_name', help='The name of the Kusto cluster.') + + with self.argument_context('kusto cluster remove-language-extension') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('cluster_name', help='The name of the Kusto cluster.') + c.argument('value', action=AddLanguageExtensionsValue, nargs='+', help='The list of language extensions. Expect' + ' value: language-extension-name=xx.') + + with self.argument_context('kusto cluster start') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('cluster_name', help='The name of the Kusto cluster.') + + with self.argument_context('kusto cluster stop') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('cluster_name', help='The name of the Kusto cluster.') + + with self.argument_context('kusto cluster-principal-assignment list') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('cluster_name', help='The name of the Kusto cluster.') + + with self.argument_context('kusto cluster-principal-assignment show') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('cluster_name', help='The name of the Kusto cluster.') + c.argument('principal_assignment_name', help='The name of the Kusto principalAssignment.') + + with self.argument_context('kusto cluster-principal-assignment create') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('cluster_name', help='The name of the Kusto cluster.') + c.argument('principal_assignment_name', help='The name of the Kusto principalAssignment.') + c.argument('principal_id', help='The principal ID assigned to the cluster principal. It can be a user email, ap' + 'plication ID, or security group name.') + c.argument('role', arg_type=get_enum_type(['AllDatabasesAdmin', 'AllDatabasesViewer']), help='Cluster principal' + ' role.') + c.argument('tenant_id', help='The tenant id of the principal') + c.argument('principal_type', arg_type=get_enum_type(['App', 'Group', 'User']), help='Principal type.') + + with self.argument_context('kusto cluster-principal-assignment update') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('cluster_name', help='The name of the Kusto cluster.') + c.argument('principal_assignment_name', help='The name of the Kusto principalAssignment.') + c.argument('principal_id', help='The principal ID assigned to the cluster principal. It can be a user email, ap' + 'plication ID, or security group name.') + c.argument('role', arg_type=get_enum_type(['AllDatabasesAdmin', 'AllDatabasesViewer']), help='Cluster principal' + ' role.') + c.argument('tenant_id', help='The tenant id of the principal') + c.argument('principal_type', arg_type=get_enum_type(['App', 'Group', 'User']), help='Principal type.') + + with self.argument_context('kusto cluster-principal-assignment delete') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('cluster_name', help='The name of the Kusto cluster.') + c.argument('principal_assignment_name', help='The name of the Kusto principalAssignment.') + + with self.argument_context('kusto database list') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('cluster_name', help='The name of the Kusto cluster.') + + with self.argument_context('kusto database show') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('cluster_name', help='The name of the Kusto cluster.') + c.argument('database_name', help='The name of the database in the Kusto cluster.') + + with self.argument_context('kusto database create') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('cluster_name', help='The name of the Kusto cluster.') + c.argument('database_name', help='The name of the database in the Kusto cluster.') + c.argument('read_write_database', action=AddReadWriteDatabase, nargs='+', help='Class representing a read write' + ' database. Expect value: KEY1=VALUE1 KEY2=VALUE2 ... , available KEYs are: soft-delete-period, hot-' + 'cache-period, location.', arg_group='Parameters') + c.argument('read_only_following_database', action=AddReadOnlyFollowingDatabase, nargs='+', help='Class represen' + 'ting a read only following database. Expect value: KEY1=VALUE1 KEY2=VALUE2 ... , available KEYs are' + ': hot-cache-period, location.', arg_group='Parameters') + + with self.argument_context('kusto database update') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('cluster_name', help='The name of the Kusto cluster.') + c.argument('database_name', help='The name of the database in the Kusto cluster.') + c.argument('read_write_database', action=AddReadWriteDatabase, nargs='+', help='Class representing a read write' + ' database. Expect value: KEY1=VALUE1 KEY2=VALUE2 ... , available KEYs are: soft-delete-period, hot-' + 'cache-period, location.', arg_group='Parameters') + c.argument('read_only_following_database', action=AddReadOnlyFollowingDatabase, nargs='+', help='Class represen' + 'ting a read only following database. Expect value: KEY1=VALUE1 KEY2=VALUE2 ... , available KEYs are' + ': hot-cache-period, location.', arg_group='Parameters') + + with self.argument_context('kusto database delete') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('cluster_name', help='The name of the Kusto cluster.') + c.argument('database_name', help='The name of the database in the Kusto cluster.') + + with self.argument_context('kusto database add-principal') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('cluster_name', help='The name of the Kusto cluster.') + c.argument('database_name', help='The name of the database in the Kusto cluster.') + c.argument('value', action=AddValue, nargs='+', help='The list of Kusto database principals. Expect value: KEY1' + '=VALUE1 KEY2=VALUE2 ... , available KEYs are: role, name, type, fqn, email, app-id.') + + with self.argument_context('kusto database list-principal') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('cluster_name', help='The name of the Kusto cluster.') + c.argument('database_name', help='The name of the database in the Kusto cluster.') + + with self.argument_context('kusto database remove-principal') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('cluster_name', help='The name of the Kusto cluster.') + c.argument('database_name', help='The name of the database in the Kusto cluster.') + c.argument('value', action=AddValue, nargs='+', help='The list of Kusto database principals. Expect value: KEY1' + '=VALUE1 KEY2=VALUE2 ... , available KEYs are: role, name, type, fqn, email, app-id.') + + with self.argument_context('kusto database-principal-assignment list') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('cluster_name', help='The name of the Kusto cluster.') + c.argument('database_name', help='The name of the database in the Kusto cluster.') + + with self.argument_context('kusto database-principal-assignment show') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('cluster_name', help='The name of the Kusto cluster.') + c.argument('database_name', help='The name of the database in the Kusto cluster.') + c.argument('principal_assignment_name', help='The name of the Kusto principalAssignment.') + + with self.argument_context('kusto database-principal-assignment create') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('cluster_name', help='The name of the Kusto cluster.') + c.argument('database_name', help='The name of the database in the Kusto cluster.') + c.argument('principal_assignment_name', help='The name of the Kusto principalAssignment.') + c.argument('principal_id', help='The principal ID assigned to the database principal. It can be a user email, a' + 'pplication ID, or security group name.') + c.argument('role', arg_type=get_enum_type(['Admin', 'Ingestor', 'Monitor', 'User', 'UnrestrictedViewers', 'View' + 'er']), help='Database principal role.') + c.argument('tenant_id', help='The tenant id of the principal') + c.argument('principal_type', arg_type=get_enum_type(['App', 'Group', 'User']), help='Principal type.') + + with self.argument_context('kusto database-principal-assignment update') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('cluster_name', help='The name of the Kusto cluster.') + c.argument('database_name', help='The name of the database in the Kusto cluster.') + c.argument('principal_assignment_name', help='The name of the Kusto principalAssignment.') + c.argument('principal_id', help='The principal ID assigned to the database principal. It can be a user email, a' + 'pplication ID, or security group name.') + c.argument('role', arg_type=get_enum_type(['Admin', 'Ingestor', 'Monitor', 'User', 'UnrestrictedViewers', 'View' + 'er']), help='Database principal role.') + c.argument('tenant_id', help='The tenant id of the principal') + c.argument('principal_type', arg_type=get_enum_type(['App', 'Group', 'User']), help='Principal type.') + + with self.argument_context('kusto database-principal-assignment delete') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('cluster_name', help='The name of the Kusto cluster.') + c.argument('database_name', help='The name of the database in the Kusto cluster.') + c.argument('principal_assignment_name', help='The name of the Kusto principalAssignment.') + + with self.argument_context('kusto attached-database-configuration list') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('cluster_name', help='The name of the Kusto cluster.') + + with self.argument_context('kusto attached-database-configuration show') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('cluster_name', help='The name of the Kusto cluster.') + c.argument('attached_database_configuration_name', help='The name of the attached database configuration.') + + with self.argument_context('kusto attached-database-configuration create') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('cluster_name', help='The name of the Kusto cluster.') + c.argument('attached_database_configuration_name', help='The name of the attached database configuration.') + c.argument('location', arg_type=get_location_type(self.cli_ctx), + validator=get_default_location_from_resource_group) + c.argument('database_name', help='The name of the database which you would like to attach, use * if you want to' + ' follow all current and future databases.') + c.argument('cluster_resource_id', help='The resource id of the cluster where the databases you would like to at' + 'tach reside.') + c.argument('default_principals_modification_kind', arg_type=get_enum_type(['Union', 'Replace', 'None']), help='The default principals modification kind') + + with self.argument_context('kusto attached-database-configuration update') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('cluster_name', help='The name of the Kusto cluster.') + c.argument('attached_database_configuration_name', help='The name of the attached database configuration.') + c.argument('location', arg_type=get_location_type(self.cli_ctx), + validator=get_default_location_from_resource_group) + c.argument('database_name', help='The name of the database which you would like to attach, use * if you want to' + ' follow all current and future databases.') + c.argument('cluster_resource_id', help='The resource id of the cluster where the databases you would like to at' + 'tach reside.') + c.argument('default_principals_modification_kind', arg_type=get_enum_type(['Union', 'Replace', 'None']), help='The default principals modification kind') + + with self.argument_context('kusto attached-database-configuration delete') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('cluster_name', help='The name of the Kusto cluster.') + c.argument('attached_database_configuration_name', help='The name of the attached database configuration.') + + with self.argument_context('kusto data-connection list') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('cluster_name', help='The name of the Kusto cluster.') + c.argument('database_name', help='The name of the database in the Kusto cluster.') + + with self.argument_context('kusto data-connection show') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('cluster_name', help='The name of the Kusto cluster.') + c.argument('database_name', help='The name of the database in the Kusto cluster.') + c.argument('data_connection_name', help='The name of the data connection.') + + with self.argument_context('kusto data-connection event-grid create') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('cluster_name', help='The name of the Kusto cluster.') + c.argument('database_name', help='The name of the database in the Kusto cluster.') + c.argument('data_connection_name', help='The name of the data connection.') + c.argument('location', arg_type=get_location_type(self.cli_ctx), + validator=get_default_location_from_resource_group) + c.argument('storage_account_resource_id', + help='The resource ID of the storage account where the data resides.') + c.argument('event_hub_resource_id', help='The resource ID where the event grid is configured to send events.') + c.argument('consumer_group', help='The event hub consumer group.') + c.argument('table_name', help='The table where the data should be ingested. Optionally the table information ca' + 'n be added to each message.') + c.argument('mapping_rule_name', help='The mapping rule to be used to ingest the data. Optionally the mapping in' + 'formation can be added to each message.') + c.argument('data_format', arg_type=get_enum_type(['MULTIJSON', 'JSON', 'CSV', 'TSV', 'SCSV', 'SOHSV', 'PSV', 'T' + 'XT', 'RAW', 'SINGLEJSON', 'AVRO', 'TSVE', 'PARQUET', 'ORC']), help='The data format of the message.' + ' Optionally the data format can be added to each message.') + + with self.argument_context('kusto data-connection event-hub create') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('cluster_name', help='The name of the Kusto cluster.') + c.argument('database_name', help='The name of the database in the Kusto cluster.') + c.argument('data_connection_name', help='The name of the data connection.') + c.argument('location', arg_type=get_location_type(self.cli_ctx), + validator=get_default_location_from_resource_group) + c.argument('event_hub_resource_id', help='The resource ID of the event hub to be used to create a data connecti' + 'on.') + c.argument('consumer_group', help='The event hub consumer group.') + c.argument('table_name', help='The table where the data should be ingested. Optionally the table information ca' + 'n be added to each message.') + c.argument('mapping_rule_name', help='The mapping rule to be used to ingest the data. Optionally the mapping in' + 'formation can be added to each message.') + c.argument('data_format', arg_type=get_enum_type(['MULTIJSON', 'JSON', 'CSV', 'TSV', 'SCSV', 'SOHSV', 'PSV', 'T' + 'XT', 'RAW', 'SINGLEJSON', 'AVRO', 'TSVE', 'PARQUET', 'ORC']), help='The data format of the message.' + ' Optionally the data format can be added to each message.') + c.argument('event_system_properties', nargs='+', help='System properties of the event hub Expected value: json-' + 'string/@json-file.') + c.argument('compression', arg_type=get_enum_type(['None', 'GZip']), help='The event hub messages compression ty' + 'pe') + + with self.argument_context('kusto data-connection iot-hub create') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('cluster_name', help='The name of the Kusto cluster.') + c.argument('database_name', help='The name of the database in the Kusto cluster.') + c.argument('data_connection_name', help='The name of the data connection.') + c.argument('location', arg_type=get_location_type(self.cli_ctx), + validator=get_default_location_from_resource_group) + c.argument('iot_hub_resource_id', + help='The resource ID of the Iot hub to be used to create a data connection.') + c.argument('consumer_group', help='The iot hub consumer group.') + c.argument('table_name', help='The table where the data should be ingested. Optionally the table information ca' + 'n be added to each message.') + c.argument('mapping_rule_name', help='The mapping rule to be used to ingest the data. Optionally the mapping in' + 'formation can be added to each message.') + c.argument('data_format', arg_type=get_enum_type(['MULTIJSON', 'JSON', 'CSV', 'TSV', 'SCSV', 'SOHSV', 'PSV', 'T' + 'XT', 'RAW', 'SINGLEJSON', 'AVRO', 'TSVE', 'PARQUET', 'ORC']), help='The data format of the message.' + ' Optionally the data format can be added to each message.') + c.argument('event_system_properties', nargs='+', help='System properties of the iot hub Expected value: json-st' + 'ring/@json-file.') + c.argument('shared_access_policy_name', help='The name of the share access policy') + + with self.argument_context('kusto data-connection event-grid update') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('cluster_name', help='The name of the Kusto cluster.') + c.argument('database_name', help='The name of the database in the Kusto cluster.') + c.argument('data_connection_name', help='The name of the data connection.') + c.argument('location', arg_type=get_location_type(self.cli_ctx), + validator=get_default_location_from_resource_group) + c.argument('storage_account_resource_id', + help='The resource ID of the storage account where the data resides.') + c.argument('event_hub_resource_id', help='The resource ID where the event grid is configured to send events.') + c.argument('consumer_group', help='The event hub consumer group.') + c.argument('table_name', help='The table where the data should be ingested. Optionally the table information ca' + 'n be added to each message.') + c.argument('mapping_rule_name', help='The mapping rule to be used to ingest the data. Optionally the mapping in' + 'formation can be added to each message.') + c.argument('data_format', arg_type=get_enum_type(['MULTIJSON', 'JSON', 'CSV', 'TSV', 'SCSV', 'SOHSV', 'PSV', 'T' + 'XT', 'RAW', 'SINGLEJSON', 'AVRO', 'TSVE', 'PARQUET', 'ORC']), help='The data format of the message.' + ' Optionally the data format can be added to each message.') + + with self.argument_context('kusto data-connection event-hub update') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('cluster_name', help='The name of the Kusto cluster.') + c.argument('database_name', help='The name of the database in the Kusto cluster.') + c.argument('data_connection_name', help='The name of the data connection.') + c.argument('location', arg_type=get_location_type(self.cli_ctx), + validator=get_default_location_from_resource_group) + c.argument('event_hub_resource_id', help='The resource ID of the event hub to be used to create a data connecti' + 'on.') + c.argument('consumer_group', help='The event hub consumer group.') + c.argument('table_name', help='The table where the data should be ingested. Optionally the table information ca' + 'n be added to each message.') + c.argument('mapping_rule_name', help='The mapping rule to be used to ingest the data. Optionally the mapping in' + 'formation can be added to each message.') + c.argument('data_format', arg_type=get_enum_type(['MULTIJSON', 'JSON', 'CSV', 'TSV', 'SCSV', 'SOHSV', 'PSV', 'T' + 'XT', 'RAW', 'SINGLEJSON', 'AVRO', 'TSVE', 'PARQUET', 'ORC']), help='The data format of the message.' + ' Optionally the data format can be added to each message.') + c.argument('event_system_properties', nargs='+', help='System properties of the event hub Expected value: json-' + 'string/@json-file.') + c.argument('compression', arg_type=get_enum_type(['None', 'GZip']), help='The event hub messages compression ty' + 'pe') + + with self.argument_context('kusto data-connection iot-hub update') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('cluster_name', help='The name of the Kusto cluster.') + c.argument('database_name', help='The name of the database in the Kusto cluster.') + c.argument('data_connection_name', help='The name of the data connection.') + c.argument('location', arg_type=get_location_type(self.cli_ctx), + validator=get_default_location_from_resource_group) + c.argument('iot_hub_resource_id', + help='The resource ID of the Iot hub to be used to create a data connection.') + c.argument('consumer_group', help='The iot hub consumer group.') + c.argument('table_name', help='The table where the data should be ingested. Optionally the table information ca' + 'n be added to each message.') + c.argument('mapping_rule_name', help='The mapping rule to be used to ingest the data. Optionally the mapping in' + 'formation can be added to each message.') + c.argument('data_format', arg_type=get_enum_type(['MULTIJSON', 'JSON', 'CSV', 'TSV', 'SCSV', 'SOHSV', 'PSV', 'T' + 'XT', 'RAW', 'SINGLEJSON', 'AVRO', 'TSVE', 'PARQUET', 'ORC']), help='The data format of the message.' + ' Optionally the data format can be added to each message.') + c.argument('event_system_properties', nargs='+', help='System properties of the iot hub Expected value: json-st' + 'ring/@json-file.') + c.argument('shared_access_policy_name', help='The name of the share access policy') + + with self.argument_context('kusto data-connection delete') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('cluster_name', help='The name of the Kusto cluster.') + c.argument('database_name', help='The name of the database in the Kusto cluster.') + c.argument('data_connection_name', help='The name of the data connection.') + + with self.argument_context('kusto data-connection event-grid data-connection-validation') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('cluster_name', help='The name of the Kusto cluster.') + c.argument('database_name', help='The name of the database in the Kusto cluster.') + c.argument('data_connection_name', help='The name of the data connection.') + c.argument('location', arg_type=get_location_type(self.cli_ctx), + validator=get_default_location_from_resource_group) + c.argument('storage_account_resource_id', + help='The resource ID of the storage account where the data resides.') + c.argument('event_hub_resource_id', help='The resource ID where the event grid is configured to send events.') + c.argument('consumer_group', help='The event hub consumer group.') + c.argument('table_name', help='The table where the data should be ingested. Optionally the table information ca' + 'n be added to each message.') + c.argument('mapping_rule_name', help='The mapping rule to be used to ingest the data. Optionally the mapping in' + 'formation can be added to each message.') + c.argument('data_format', arg_type=get_enum_type(['MULTIJSON', 'JSON', 'CSV', 'TSV', 'SCSV', 'SOHSV', 'PSV', 'T' + 'XT', 'RAW', 'SINGLEJSON', 'AVRO', 'TSVE', 'PARQUET', 'ORC']), help='The data format of the message.' + ' Optionally the data format can be added to each message.') + + with self.argument_context('kusto data-connection event-hub data-connection-validation') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('cluster_name', help='The name of the Kusto cluster.') + c.argument('database_name', help='The name of the database in the Kusto cluster.') + c.argument('data_connection_name', help='The name of the data connection.') + c.argument('location', arg_type=get_location_type(self.cli_ctx), + validator=get_default_location_from_resource_group) + c.argument('event_hub_resource_id', help='The resource ID of the event hub to be used to create a data connecti' + 'on.') + c.argument('consumer_group', help='The event hub consumer group.') + c.argument('table_name', help='The table where the data should be ingested. Optionally the table information ca' + 'n be added to each message.') + c.argument('mapping_rule_name', help='The mapping rule to be used to ingest the data. Optionally the mapping in' + 'formation can be added to each message.') + c.argument('data_format', arg_type=get_enum_type(['MULTIJSON', 'JSON', 'CSV', 'TSV', 'SCSV', 'SOHSV', 'PSV', 'T' + 'XT', 'RAW', 'SINGLEJSON', 'AVRO', 'TSVE', 'PARQUET', 'ORC']), help='The data format of the message.' + ' Optionally the data format can be added to each message.') + c.argument('event_system_properties', nargs='+', help='System properties of the event hub Expected value: json-' + 'string/@json-file.') + c.argument('compression', arg_type=get_enum_type(['None', 'GZip']), help='The event hub messages compression ty' + 'pe') + + with self.argument_context('kusto data-connection iot-hub data-connection-validation') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('cluster_name', help='The name of the Kusto cluster.') + c.argument('database_name', help='The name of the database in the Kusto cluster.') + c.argument('data_connection_name', help='The name of the data connection.') + c.argument('location', arg_type=get_location_type(self.cli_ctx), + validator=get_default_location_from_resource_group) + c.argument('iot_hub_resource_id', + help='The resource ID of the Iot hub to be used to create a data connection.') + c.argument('consumer_group', help='The iot hub consumer group.') + c.argument('table_name', help='The table where the data should be ingested. Optionally the table information ca' + 'n be added to each message.') + c.argument('mapping_rule_name', help='The mapping rule to be used to ingest the data. Optionally the mapping in' + 'formation can be added to each message.') + c.argument('data_format', arg_type=get_enum_type(['MULTIJSON', 'JSON', 'CSV', 'TSV', 'SCSV', 'SOHSV', 'PSV', 'T' + 'XT', 'RAW', 'SINGLEJSON', 'AVRO', 'TSVE', 'PARQUET', 'ORC']), help='The data format of the message.' + ' Optionally the data format can be added to each message.') + c.argument('event_system_properties', nargs='+', help='System properties of the iot hub Expected value: json-st' + 'ring/@json-file.') + c.argument('shared_access_policy_name', help='The name of the share access policy') diff --git a/src/kusto/azext_kusto/generated/_validators.py b/src/kusto/azext_kusto/generated/_validators.py new file mode 100644 index 00000000000..7536d0531ea --- /dev/null +++ b/src/kusto/azext_kusto/generated/_validators.py @@ -0,0 +1,23 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + + +def example_name_or_id_validator(cmd, namespace): + from azure.cli.core.commands.client_factory import get_subscription_id + from msrestazure.tools import is_valid_resource_id, resource_id + if namespace.storage_account: + if not is_valid_resource_id(namespace.RESOURCE): + namespace.storage_account = resource_id( + subscription=get_subscription_id(cmd.cli_ctx), + resource_group=namespace.resource_group_name, + namespace='Microsoft.Storage', + type='storageAccounts', + name=namespace.storage_account + ) diff --git a/src/kusto/azext_kusto/generated/action.py b/src/kusto/azext_kusto/generated/action.py new file mode 100644 index 00000000000..c5c7ef27a7c --- /dev/null +++ b/src/kusto/azext_kusto/generated/action.py @@ -0,0 +1,248 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +# pylint: disable=protected-access + +import argparse +from knack.util import CLIError +from collections import defaultdict + + +class AddSku(argparse.Action): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + namespace.sku = action + + def get_action(self, values, option_string): # pylint: disable=no-self-use + try: + properties = defaultdict(list) + for (k, v) in (x.split('=', 1) for x in values): + properties[k].append(v) + properties = dict(properties) + except ValueError: + raise CLIError('usage error: {} [KEY=VALUE ...]'.format(option_string)) + d = {} + for k in properties: + kl = k.lower() + v = properties[k] + if kl == 'name': + d['name'] = v[0] + elif kl == 'capacity': + d['capacity'] = v[0] + elif kl == 'tier': + d['tier'] = v[0] + return d + + +class AddTrustedExternalTenants(argparse._AppendAction): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + super(AddTrustedExternalTenants, self).__call__(parser, namespace, action, option_string) + + def get_action(self, values, option_string): # pylint: disable=no-self-use + try: + properties = defaultdict(list) + for (k, v) in (x.split('=', 1) for x in values): + properties[k].append(v) + properties = dict(properties) + except ValueError: + raise CLIError('usage error: {} [KEY=VALUE ...]'.format(option_string)) + d = {} + for k in properties: + kl = k.lower() + v = properties[k] + if kl == 'value': + d['value'] = v[0] + return d + + +class AddOptimizedAutoscale(argparse.Action): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + namespace.optimized_autoscale = action + + def get_action(self, values, option_string): # pylint: disable=no-self-use + try: + properties = defaultdict(list) + for (k, v) in (x.split('=', 1) for x in values): + properties[k].append(v) + properties = dict(properties) + except ValueError: + raise CLIError('usage error: {} [KEY=VALUE ...]'.format(option_string)) + d = {} + for k in properties: + kl = k.lower() + v = properties[k] + if kl == 'version': + d['version'] = v[0] + elif kl == 'is-enabled': + d['is_enabled'] = v[0] + elif kl == 'minimum': + d['minimum'] = v[0] + elif kl == 'maximum': + d['maximum'] = v[0] + return d + + +class AddVirtualNetworkConfiguration(argparse.Action): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + namespace.virtual_network_configuration = action + + def get_action(self, values, option_string): # pylint: disable=no-self-use + try: + properties = defaultdict(list) + for (k, v) in (x.split('=', 1) for x in values): + properties[k].append(v) + properties = dict(properties) + except ValueError: + raise CLIError('usage error: {} [KEY=VALUE ...]'.format(option_string)) + d = {} + for k in properties: + kl = k.lower() + v = properties[k] + if kl == 'subnet-id': + d['subnet_id'] = v[0] + elif kl == 'engine-public-ip-id': + d['engine_public_ip_id'] = v[0] + elif kl == 'data-management-public-ip-id': + d['data_management_public_ip_id'] = v[0] + return d + + +class AddKeyVaultProperties(argparse.Action): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + namespace.key_vault_properties = action + + def get_action(self, values, option_string): # pylint: disable=no-self-use + try: + properties = defaultdict(list) + for (k, v) in (x.split('=', 1) for x in values): + properties[k].append(v) + properties = dict(properties) + except ValueError: + raise CLIError('usage error: {} [KEY=VALUE ...]'.format(option_string)) + d = {} + for k in properties: + kl = k.lower() + v = properties[k] + if kl == 'key-name': + d['key_name'] = v[0] + elif kl == 'key-version': + d['key_version'] = v[0] + elif kl == 'key-vault-uri': + d['key_vault_uri'] = v[0] + return d + + +class AddLanguageExtensionsValue(argparse._AppendAction): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + super(AddLanguageExtensionsValue, self).__call__(parser, namespace, action, option_string) + + def get_action(self, values, option_string): # pylint: disable=no-self-use + try: + properties = defaultdict(list) + for (k, v) in (x.split('=', 1) for x in values): + properties[k].append(v) + properties = dict(properties) + except ValueError: + raise CLIError('usage error: {} [KEY=VALUE ...]'.format(option_string)) + d = {} + for k in properties: + kl = k.lower() + v = properties[k] + if kl == 'language-extension-name': + d['language_extension_name'] = v[0] + return d + + +class AddReadWriteDatabase(argparse.Action): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + namespace.read_write_database = action + + def get_action(self, values, option_string): # pylint: disable=no-self-use + try: + properties = defaultdict(list) + for (k, v) in (x.split('=', 1) for x in values): + properties[k].append(v) + properties = dict(properties) + except ValueError: + raise CLIError('usage error: {} [KEY=VALUE ...]'.format(option_string)) + d = {} + for k in properties: + kl = k.lower() + v = properties[k] + if kl == 'soft-delete-period': + d['soft_delete_period'] = v[0] + elif kl == 'hot-cache-period': + d['hot_cache_period'] = v[0] + elif kl == 'location': + d['location'] = v[0] + d['kind'] = 'ReadWrite' + return d + + +class AddReadOnlyFollowingDatabase(argparse.Action): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + namespace.read_only_following_database = action + + def get_action(self, values, option_string): # pylint: disable=no-self-use + try: + properties = defaultdict(list) + for (k, v) in (x.split('=', 1) for x in values): + properties[k].append(v) + properties = dict(properties) + except ValueError: + raise CLIError('usage error: {} [KEY=VALUE ...]'.format(option_string)) + d = {} + for k in properties: + kl = k.lower() + v = properties[k] + if kl == 'hot-cache-period': + d['hot_cache_period'] = v[0] + elif kl == 'location': + d['location'] = v[0] + d['kind'] = 'ReadOnlyFollowing' + return d + + +class AddValue(argparse._AppendAction): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + super(AddValue, self).__call__(parser, namespace, action, option_string) + + def get_action(self, values, option_string): # pylint: disable=no-self-use + try: + properties = defaultdict(list) + for (k, v) in (x.split('=', 1) for x in values): + properties[k].append(v) + properties = dict(properties) + except ValueError: + raise CLIError('usage error: {} [KEY=VALUE ...]'.format(option_string)) + d = {} + for k in properties: + kl = k.lower() + v = properties[k] + if kl == 'role': + d['role'] = v[0] + elif kl == 'name': + d['name'] = v[0] + elif kl == 'type': + d['type'] = v[0] + elif kl == 'fqn': + d['fqn'] = v[0] + elif kl == 'email': + d['email'] = v[0] + elif kl == 'app-id': + d['app_id'] = v[0] + return d diff --git a/src/kusto/azext_kusto/generated/commands.py b/src/kusto/azext_kusto/generated/commands.py new file mode 100644 index 00000000000..3058e404f8a --- /dev/null +++ b/src/kusto/azext_kusto/generated/commands.py @@ -0,0 +1,117 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from azure.cli.core.commands import CliCommandType + + +def load_command_table(self, _): + + from azext_kusto.generated._client_factory import cf_cluster + kusto_cluster = CliCommandType( + operations_tmpl='azext_kusto.vendored_sdks.kusto.operations._cluster_operations#ClusterOperations.{}', + client_factory=cf_cluster) + with self.command_group('kusto cluster', kusto_cluster, client_factory=cf_cluster, is_experimental=True) as g: + g.custom_command('list', 'kusto_cluster_list') + g.custom_show_command('show', 'kusto_cluster_show') + g.custom_command('create', 'kusto_cluster_create', supports_no_wait=True) + g.custom_command('update', 'kusto_cluster_update', supports_no_wait=True) + g.custom_command('delete', 'kusto_cluster_delete', supports_no_wait=True) + g.custom_command('add-language-extension', 'kusto_cluster_add_language_extension', supports_no_wait=True) + g.custom_command('detach-follower-database', 'kusto_cluster_detach_follower_database', supports_no_wait=True) + g.custom_command('diagnose-virtual-network', 'kusto_cluster_diagnose_virtual_network', supports_no_wait=True) + g.custom_command('list-follower-database', 'kusto_cluster_list_follower_database') + g.custom_command('list-language-extension', 'kusto_cluster_list_language_extension') + g.custom_command('list-sku', 'kusto_cluster_list_sku') + g.custom_command('remove-language-extension', 'kusto_cluster_remove_language_extension', + supports_no_wait=True) + g.custom_command('start', 'kusto_cluster_start', supports_no_wait=True) + g.custom_command('stop', 'kusto_cluster_stop', supports_no_wait=True) + g.wait_command('wait') + + from azext_kusto.generated._client_factory import cf_cluster_principal_assignment + kusto_cluster_principal_assignment = CliCommandType( + operations_tmpl='azext_kusto.vendored_sdks.kusto.operations._cluster_principal_assignment_operations#ClusterPri' + 'ncipalAssignmentOperations.{}', + client_factory=cf_cluster_principal_assignment) + with self.command_group('kusto cluster-principal-assignment', kusto_cluster_principal_assignment, + client_factory=cf_cluster_principal_assignment, is_experimental=True) as g: + g.custom_command('list', 'kusto_cluster_principal_assignment_list') + g.custom_show_command('show', 'kusto_cluster_principal_assignment_show') + g.custom_command('create', 'kusto_cluster_principal_assignment_create', supports_no_wait=True) + g.custom_command('update', 'kusto_cluster_principal_assignment_update', supports_no_wait=True) + g.custom_command('delete', 'kusto_cluster_principal_assignment_delete', supports_no_wait=True) + g.wait_command('wait') + + from azext_kusto.generated._client_factory import cf_database + kusto_database = CliCommandType( + operations_tmpl='azext_kusto.vendored_sdks.kusto.operations._database_operations#DatabaseOperations.{}', + client_factory=cf_database) + with self.command_group('kusto database', kusto_database, client_factory=cf_database, is_experimental=True) as g: + g.custom_command('list', 'kusto_database_list') + g.custom_show_command('show', 'kusto_database_show') + g.custom_command('create', 'kusto_database_create', supports_no_wait=True) + g.custom_command('update', 'kusto_database_update', supports_no_wait=True) + g.custom_command('delete', 'kusto_database_delete', supports_no_wait=True) + g.custom_command('add-principal', 'kusto_database_add_principal') + g.custom_command('list-principal', 'kusto_database_list_principal') + g.custom_command('remove-principal', 'kusto_database_remove_principal') + g.wait_command('wait') + + from azext_kusto.generated._client_factory import cf_database_principal_assignment + kusto_database_principal_assignment = CliCommandType( + operations_tmpl='azext_kusto.vendored_sdks.kusto.operations._database_principal_assignment_operations#DatabaseP' + 'rincipalAssignmentOperations.{}', + client_factory=cf_database_principal_assignment) + with self.command_group('kusto database-principal-assignment', kusto_database_principal_assignment, + client_factory=cf_database_principal_assignment, is_experimental=True) as g: + g.custom_command('list', 'kusto_database_principal_assignment_list') + g.custom_show_command('show', 'kusto_database_principal_assignment_show') + g.custom_command('create', 'kusto_database_principal_assignment_create', supports_no_wait=True) + g.custom_command('update', 'kusto_database_principal_assignment_update', supports_no_wait=True) + g.custom_command('delete', 'kusto_database_principal_assignment_delete', supports_no_wait=True) + g.wait_command('wait') + + from azext_kusto.generated._client_factory import cf_attached_database_configuration + kusto_attached_database_configuration = CliCommandType( + operations_tmpl='azext_kusto.vendored_sdks.kusto.operations._attached_database_configuration_operations#Attache' + 'dDatabaseConfigurationOperations.{}', + client_factory=cf_attached_database_configuration) + with self.command_group('kusto attached-database-configuration', kusto_attached_database_configuration, + client_factory=cf_attached_database_configuration, is_experimental=True) as g: + g.custom_command('list', 'kusto_attached_database_configuration_list') + g.custom_show_command('show', 'kusto_attached_database_configuration_show') + g.custom_command('create', 'kusto_attached_database_configuration_create', supports_no_wait=True) + g.custom_command('update', 'kusto_attached_database_configuration_update', supports_no_wait=True) + g.custom_command('delete', 'kusto_attached_database_configuration_delete', supports_no_wait=True) + g.wait_command('wait') + + from azext_kusto.generated._client_factory import cf_data_connection + kusto_data_connection = CliCommandType( + operations_tmpl='azext_kusto.vendored_sdks.kusto.operations._data_connection_operations#DataConnectionOperation' + 's.{}', + client_factory=cf_data_connection) + with self.command_group('kusto data-connection', kusto_data_connection, client_factory=cf_data_connection, + is_experimental=True) as g: + g.custom_command('list', 'kusto_data_connection_list') + g.custom_show_command('show', 'kusto_data_connection_show') + g.custom_command('event-grid create', 'kusto_data_connection_event_grid_create', supports_no_wait=True) + g.custom_command('event-hub create', 'kusto_data_connection_event_hub_create', supports_no_wait=True) + g.custom_command('iot-hub create', 'kusto_data_connection_iot_hub_create', supports_no_wait=True) + g.custom_command('event-grid update', 'kusto_data_connection_event_grid_update', supports_no_wait=True) + g.custom_command('event-hub update', 'kusto_data_connection_event_hub_update', supports_no_wait=True) + g.custom_command('iot-hub update', 'kusto_data_connection_iot_hub_update', supports_no_wait=True) + g.custom_command('delete', 'kusto_data_connection_delete', supports_no_wait=True) + g.custom_command('event-grid data-connection-validation', 'kusto_data_connection_event_grid_data_connection_val' + 'idation') + g.custom_command('event-hub data-connection-validation', 'kusto_data_connection_event_hub_data_connection_valid' + 'ation') + g.custom_command('iot-hub data-connection-validation', 'kusto_data_connection_iot_hub_data_connection_validatio' + 'n') + g.wait_command('wait') diff --git a/src/kusto/azext_kusto/generated/custom.py b/src/kusto/azext_kusto/generated/custom.py new file mode 100644 index 00000000000..7e9cc01e8d8 --- /dev/null +++ b/src/kusto/azext_kusto/generated/custom.py @@ -0,0 +1,778 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +# pylint: disable=line-too-long +# pylint: disable=too-many-lines + +import json +from knack.util import CLIError + + +def kusto_cluster_list(client, + resource_group_name=None): + if resource_group_name is not None: + return client.list_by_resource_group(resource_group_name=resource_group_name) + return client.list() + + +def kusto_cluster_show(client, + resource_group_name, + cluster_name): + return client.get(resource_group_name=resource_group_name, + cluster_name=cluster_name) + + +def kusto_cluster_create(client, + resource_group_name, + cluster_name, + location, + sku, + tags=None, + zones=None, + trusted_external_tenants=None, + optimized_autoscale=None, + enable_disk_encryption=None, + enable_streaming_ingest=None, + virtual_network_configuration=None, + key_vault_properties=None, + enable_purge=None, + language_extensions_value=None, + identity_type=None, + identity_user_assigned_identities=None): + if isinstance(zones, str): + zones = json.loads(zones) + if isinstance(identity_user_assigned_identities, str): + identity_user_assigned_identities = json.loads(identity_user_assigned_identities) + return client.begin_create_or_update(resource_group_name=resource_group_name, + cluster_name=cluster_name, + tags=tags, + location=location, + sku=sku, + zones=zones, + trusted_external_tenants=trusted_external_tenants, + optimized_autoscale=optimized_autoscale, + enable_disk_encryption=enable_disk_encryption, + enable_streaming_ingest=enable_streaming_ingest, + virtual_network_configuration=virtual_network_configuration, + key_vault_properties=key_vault_properties, + enable_purge=enable_purge, + value=language_extensions_value, + type=identity_type, + user_assigned_identities=identity_user_assigned_identities) + + +def kusto_cluster_update(client, + resource_group_name, + cluster_name, + tags=None, + location=None, + sku=None, + trusted_external_tenants=None, + optimized_autoscale=None, + enable_disk_encryption=None, + enable_streaming_ingest=None, + virtual_network_configuration=None, + key_vault_properties=None, + enable_purge=None, + language_extensions_value=None, + identity_type=None, + identity_user_assigned_identities=None): + if isinstance(identity_user_assigned_identities, str): + identity_user_assigned_identities = json.loads(identity_user_assigned_identities) + return client.begin_update(resource_group_name=resource_group_name, + cluster_name=cluster_name, + tags=tags, + location=location, + sku=sku, + trusted_external_tenants=trusted_external_tenants, + optimized_autoscale=optimized_autoscale, + enable_disk_encryption=enable_disk_encryption, + enable_streaming_ingest=enable_streaming_ingest, + virtual_network_configuration=virtual_network_configuration, + key_vault_properties=key_vault_properties, + enable_purge=enable_purge, + value=language_extensions_value, + type=identity_type, + user_assigned_identities=identity_user_assigned_identities) + + +def kusto_cluster_delete(client, + resource_group_name, + cluster_name): + return client.begin_delete(resource_group_name=resource_group_name, + cluster_name=cluster_name) + + +def kusto_cluster_add_language_extension(client, + resource_group_name, + cluster_name, + value=None): + return client.begin_add_language_extension(resource_group_name=resource_group_name, + cluster_name=cluster_name, + value=value) + + +def kusto_cluster_detach_follower_database(client, + resource_group_name, + cluster_name, + cluster_resource_id, + attached_database_configuration_name): + return client.begin_detach_follower_database(resource_group_name=resource_group_name, + cluster_name=cluster_name, + cluster_resource_id=cluster_resource_id, + attached_database_configuration_name=attached_database_configuration_name) + + +def kusto_cluster_diagnose_virtual_network(client, + resource_group_name, + cluster_name): + return client.begin_diagnose_virtual_network(resource_group_name=resource_group_name, + cluster_name=cluster_name) + + +def kusto_cluster_list_follower_database(client, + resource_group_name, + cluster_name): + return client.list_follower_database(resource_group_name=resource_group_name, + cluster_name=cluster_name) + + +def kusto_cluster_list_language_extension(client, + resource_group_name, + cluster_name): + return client.list_language_extension(resource_group_name=resource_group_name, + cluster_name=cluster_name) + + +def kusto_cluster_list_sku(client, + resource_group_name=None, + cluster_name=None): + if resource_group_name is not None and cluster_name is not None: + return client.list_sku_by_resource(resource_group_name=resource_group_name, + cluster_name=cluster_name) + return client.list_sku() + + +def kusto_cluster_remove_language_extension(client, + resource_group_name, + cluster_name, + value=None): + return client.begin_remove_language_extension(resource_group_name=resource_group_name, + cluster_name=cluster_name, + value=value) + + +def kusto_cluster_start(client, + resource_group_name, + cluster_name): + return client.begin_start(resource_group_name=resource_group_name, + cluster_name=cluster_name) + + +def kusto_cluster_stop(client, + resource_group_name, + cluster_name): + return client.begin_stop(resource_group_name=resource_group_name, + cluster_name=cluster_name) + + +def kusto_cluster_principal_assignment_list(client, + resource_group_name, + cluster_name): + return client.list(resource_group_name=resource_group_name, + cluster_name=cluster_name) + + +def kusto_cluster_principal_assignment_show(client, + resource_group_name, + cluster_name, + principal_assignment_name): + return client.get(resource_group_name=resource_group_name, + cluster_name=cluster_name, + principal_assignment_name=principal_assignment_name) + + +def kusto_cluster_principal_assignment_create(client, + resource_group_name, + cluster_name, + principal_assignment_name, + principal_id=None, + role=None, + tenant_id=None, + principal_type=None): + return client.begin_create_or_update(resource_group_name=resource_group_name, + cluster_name=cluster_name, + principal_assignment_name=principal_assignment_name, + principal_id=principal_id, + role=role, + tenant_id=tenant_id, + principal_type=principal_type) + + +def kusto_cluster_principal_assignment_update(client, + resource_group_name, + cluster_name, + principal_assignment_name, + principal_id=None, + role=None, + tenant_id=None, + principal_type=None): + return client.begin_create_or_update(resource_group_name=resource_group_name, + cluster_name=cluster_name, + principal_assignment_name=principal_assignment_name, + principal_id=principal_id, + role=role, + tenant_id=tenant_id, + principal_type=principal_type) + + +def kusto_cluster_principal_assignment_delete(client, + resource_group_name, + cluster_name, + principal_assignment_name): + return client.begin_delete(resource_group_name=resource_group_name, + cluster_name=cluster_name, + principal_assignment_name=principal_assignment_name) + + +def kusto_database_list(client, + resource_group_name, + cluster_name): + return client.list_by_cluster(resource_group_name=resource_group_name, + cluster_name=cluster_name) + + +def kusto_database_show(client, + resource_group_name, + cluster_name, + database_name): + return client.get(resource_group_name=resource_group_name, + cluster_name=cluster_name, + database_name=database_name) + + +def kusto_database_create(client, + resource_group_name, + cluster_name, + database_name, + read_write_database=None, + read_only_following_database=None): + all_parameters = [] + if read_write_database is not None: + all_parameters.append(read_write_database) + if read_only_following_database is not None: + all_parameters.append(read_only_following_database) + if len(all_parameters) > 1: + raise CLIError('at most one of read_write_database, read_only_following_database is needed for parameters!') + if len(all_parameters) != 1: + raise CLIError('parameters is required. but none of read_write_database, read_only_following_database is provid' + 'ed!') + parameters = all_parameters[0] if len(all_parameters) == 1 else None + return client.begin_create_or_update(resource_group_name=resource_group_name, + cluster_name=cluster_name, + database_name=database_name, + parameters=parameters) + + +def kusto_database_update(client, + resource_group_name, + cluster_name, + database_name, + read_write_database=None, + read_only_following_database=None): + all_parameters = [] + if read_write_database is not None: + all_parameters.append(read_write_database) + if read_only_following_database is not None: + all_parameters.append(read_only_following_database) + if len(all_parameters) > 1: + raise CLIError('at most one of read_write_database, read_only_following_database is needed for parameters!') + if len(all_parameters) != 1: + raise CLIError('parameters is required. but none of read_write_database, read_only_following_database is provid' + 'ed!') + parameters = all_parameters[0] if len(all_parameters) == 1 else None + return client.begin_update(resource_group_name=resource_group_name, + cluster_name=cluster_name, + database_name=database_name, + parameters=parameters) + + +def kusto_database_delete(client, + resource_group_name, + cluster_name, + database_name): + return client.begin_delete(resource_group_name=resource_group_name, + cluster_name=cluster_name, + database_name=database_name) + + +def kusto_database_add_principal(client, + resource_group_name, + cluster_name, + database_name, + value=None): + return client.add_principal(resource_group_name=resource_group_name, + cluster_name=cluster_name, + database_name=database_name, + value=value) + + +def kusto_database_list_principal(client, + resource_group_name, + cluster_name, + database_name): + return client.list_principal(resource_group_name=resource_group_name, + cluster_name=cluster_name, + database_name=database_name) + + +def kusto_database_remove_principal(client, + resource_group_name, + cluster_name, + database_name, + value=None): + return client.remove_principal(resource_group_name=resource_group_name, + cluster_name=cluster_name, + database_name=database_name, + value=value) + + +def kusto_database_principal_assignment_list(client, + resource_group_name, + cluster_name, + database_name): + return client.list(resource_group_name=resource_group_name, + cluster_name=cluster_name, + database_name=database_name) + + +def kusto_database_principal_assignment_show(client, + resource_group_name, + cluster_name, + database_name, + principal_assignment_name): + return client.get(resource_group_name=resource_group_name, + cluster_name=cluster_name, + database_name=database_name, + principal_assignment_name=principal_assignment_name) + + +def kusto_database_principal_assignment_create(client, + resource_group_name, + cluster_name, + database_name, + principal_assignment_name, + principal_id=None, + role=None, + tenant_id=None, + principal_type=None): + return client.begin_create_or_update(resource_group_name=resource_group_name, + cluster_name=cluster_name, + database_name=database_name, + principal_assignment_name=principal_assignment_name, + principal_id=principal_id, + role=role, + tenant_id=tenant_id, + principal_type=principal_type) + + +def kusto_database_principal_assignment_update(client, + resource_group_name, + cluster_name, + database_name, + principal_assignment_name, + principal_id=None, + role=None, + tenant_id=None, + principal_type=None): + return client.begin_create_or_update(resource_group_name=resource_group_name, + cluster_name=cluster_name, + database_name=database_name, + principal_assignment_name=principal_assignment_name, + principal_id=principal_id, + role=role, + tenant_id=tenant_id, + principal_type=principal_type) + + +def kusto_database_principal_assignment_delete(client, + resource_group_name, + cluster_name, + database_name, + principal_assignment_name): + return client.begin_delete(resource_group_name=resource_group_name, + cluster_name=cluster_name, + database_name=database_name, + principal_assignment_name=principal_assignment_name) + + +def kusto_attached_database_configuration_list(client, + resource_group_name, + cluster_name): + return client.list_by_cluster(resource_group_name=resource_group_name, + cluster_name=cluster_name) + + +def kusto_attached_database_configuration_show(client, + resource_group_name, + cluster_name, + attached_database_configuration_name): + return client.get(resource_group_name=resource_group_name, + cluster_name=cluster_name, + attached_database_configuration_name=attached_database_configuration_name) + + +def kusto_attached_database_configuration_create(client, + resource_group_name, + cluster_name, + attached_database_configuration_name, + location=None, + database_name=None, + cluster_resource_id=None, + default_principals_modification_kind=None): + return client.begin_create_or_update(resource_group_name=resource_group_name, + cluster_name=cluster_name, + attached_database_configuration_name=attached_database_configuration_name, + location=location, + database_name=database_name, + cluster_resource_id=cluster_resource_id, + default_principals_modification_kind=default_principals_modification_kind) + + +def kusto_attached_database_configuration_update(client, + resource_group_name, + cluster_name, + attached_database_configuration_name, + location=None, + database_name=None, + cluster_resource_id=None, + default_principals_modification_kind=None): + return client.begin_create_or_update(resource_group_name=resource_group_name, + cluster_name=cluster_name, + attached_database_configuration_name=attached_database_configuration_name, + location=location, + database_name=database_name, + cluster_resource_id=cluster_resource_id, + default_principals_modification_kind=default_principals_modification_kind) + + +def kusto_attached_database_configuration_delete(client, + resource_group_name, + cluster_name, + attached_database_configuration_name): + return client.begin_delete(resource_group_name=resource_group_name, + cluster_name=cluster_name, + attached_database_configuration_name=attached_database_configuration_name) + + +def kusto_data_connection_list(client, + resource_group_name, + cluster_name, + database_name): + return client.list_by_database(resource_group_name=resource_group_name, + cluster_name=cluster_name, + database_name=database_name) + + +def kusto_data_connection_show(client, + resource_group_name, + cluster_name, + database_name, + data_connection_name): + return client.get(resource_group_name=resource_group_name, + cluster_name=cluster_name, + database_name=database_name, + data_connection_name=data_connection_name) + + +def kusto_data_connection_event_grid_create(client, + resource_group_name, + cluster_name, + database_name, + data_connection_name, + location=None, + storage_account_resource_id=None, + event_hub_resource_id=None, + consumer_group=None, + table_name=None, + mapping_rule_name=None, + data_format=None): + parameters = {} + parameters['location'] = location + parameters['kind'] = 'EventGrid' + parameters['storage_account_resource_id'] = storage_account_resource_id + parameters['event_hub_resource_id'] = event_hub_resource_id + parameters['consumer_group'] = consumer_group + parameters['table_name'] = table_name + parameters['mapping_rule_name'] = mapping_rule_name + parameters['data_format'] = data_format + return client.begin_create_or_update(resource_group_name=resource_group_name, + cluster_name=cluster_name, + database_name=database_name, + data_connection_name=data_connection_name, + parameters=parameters) + + +def kusto_data_connection_event_hub_create(client, + resource_group_name, + cluster_name, + database_name, + data_connection_name, + location=None, + event_hub_resource_id=None, + consumer_group=None, + table_name=None, + mapping_rule_name=None, + data_format=None, + event_system_properties=None, + compression=None): + if isinstance(event_system_properties, str): + event_system_properties = json.loads(event_system_properties) + parameters = {} + parameters['location'] = location + parameters['kind'] = 'EventHub' + parameters['event_hub_resource_id'] = event_hub_resource_id + parameters['consumer_group'] = consumer_group + parameters['table_name'] = table_name + parameters['mapping_rule_name'] = mapping_rule_name + parameters['data_format'] = data_format + parameters['event_system_properties'] = event_system_properties + parameters['compression'] = compression + return client.begin_create_or_update(resource_group_name=resource_group_name, + cluster_name=cluster_name, + database_name=database_name, + data_connection_name=data_connection_name, + parameters=parameters) + + +def kusto_data_connection_iot_hub_create(client, + resource_group_name, + cluster_name, + database_name, + data_connection_name, + location=None, + iot_hub_resource_id=None, + consumer_group=None, + table_name=None, + mapping_rule_name=None, + data_format=None, + event_system_properties=None, + shared_access_policy_name=None): + if isinstance(event_system_properties, str): + event_system_properties = json.loads(event_system_properties) + parameters = {} + parameters['location'] = location + parameters['kind'] = 'IotHub' + parameters['iot_hub_resource_id'] = iot_hub_resource_id + parameters['consumer_group'] = consumer_group + parameters['table_name'] = table_name + parameters['mapping_rule_name'] = mapping_rule_name + parameters['data_format'] = data_format + parameters['event_system_properties'] = event_system_properties + parameters['shared_access_policy_name'] = shared_access_policy_name + return client.begin_create_or_update(resource_group_name=resource_group_name, + cluster_name=cluster_name, + database_name=database_name, + data_connection_name=data_connection_name, + parameters=parameters) + + +def kusto_data_connection_event_grid_update(client, + resource_group_name, + cluster_name, + database_name, + data_connection_name, + location=None, + storage_account_resource_id=None, + event_hub_resource_id=None, + consumer_group=None, + table_name=None, + mapping_rule_name=None, + data_format=None): + parameters = {} + parameters['location'] = location + parameters['kind'] = 'EventGrid' + parameters['storage_account_resource_id'] = storage_account_resource_id + parameters['event_hub_resource_id'] = event_hub_resource_id + parameters['consumer_group'] = consumer_group + parameters['table_name'] = table_name + parameters['mapping_rule_name'] = mapping_rule_name + parameters['data_format'] = data_format + return client.begin_update(resource_group_name=resource_group_name, + cluster_name=cluster_name, + database_name=database_name, + data_connection_name=data_connection_name, + parameters=parameters) + + +def kusto_data_connection_event_hub_update(client, + resource_group_name, + cluster_name, + database_name, + data_connection_name, + location=None, + event_hub_resource_id=None, + consumer_group=None, + table_name=None, + mapping_rule_name=None, + data_format=None, + event_system_properties=None, + compression=None): + if isinstance(event_system_properties, str): + event_system_properties = json.loads(event_system_properties) + parameters = {} + parameters['location'] = location + parameters['kind'] = 'EventHub' + parameters['event_hub_resource_id'] = event_hub_resource_id + parameters['consumer_group'] = consumer_group + parameters['table_name'] = table_name + parameters['mapping_rule_name'] = mapping_rule_name + parameters['data_format'] = data_format + parameters['event_system_properties'] = event_system_properties + parameters['compression'] = compression + return client.begin_update(resource_group_name=resource_group_name, + cluster_name=cluster_name, + database_name=database_name, + data_connection_name=data_connection_name, + parameters=parameters) + + +def kusto_data_connection_iot_hub_update(client, + resource_group_name, + cluster_name, + database_name, + data_connection_name, + location=None, + iot_hub_resource_id=None, + consumer_group=None, + table_name=None, + mapping_rule_name=None, + data_format=None, + event_system_properties=None, + shared_access_policy_name=None): + if isinstance(event_system_properties, str): + event_system_properties = json.loads(event_system_properties) + parameters = {} + parameters['location'] = location + parameters['kind'] = 'IotHub' + parameters['iot_hub_resource_id'] = iot_hub_resource_id + parameters['consumer_group'] = consumer_group + parameters['table_name'] = table_name + parameters['mapping_rule_name'] = mapping_rule_name + parameters['data_format'] = data_format + parameters['event_system_properties'] = event_system_properties + parameters['shared_access_policy_name'] = shared_access_policy_name + return client.begin_update(resource_group_name=resource_group_name, + cluster_name=cluster_name, + database_name=database_name, + data_connection_name=data_connection_name, + parameters=parameters) + + +def kusto_data_connection_delete(client, + resource_group_name, + cluster_name, + database_name, + data_connection_name): + return client.begin_delete(resource_group_name=resource_group_name, + cluster_name=cluster_name, + database_name=database_name, + data_connection_name=data_connection_name) + + +def kusto_data_connection_event_grid_data_connection_validation(client, + resource_group_name, + cluster_name, + database_name, + data_connection_name=None, + location=None, + storage_account_resource_id=None, + event_hub_resource_id=None, + consumer_group=None, + table_name=None, + mapping_rule_name=None, + data_format=None): + properties = {} + properties['location'] = location + properties['kind'] = 'EventGrid' + properties['storage_account_resource_id'] = storage_account_resource_id + properties['event_hub_resource_id'] = event_hub_resource_id + properties['consumer_group'] = consumer_group + properties['table_name'] = table_name + properties['mapping_rule_name'] = mapping_rule_name + properties['data_format'] = data_format + return client.data_connection_validation(resource_group_name=resource_group_name, + cluster_name=cluster_name, + database_name=database_name, + data_connection_name=data_connection_name, + properties=properties) + + +def kusto_data_connection_event_hub_data_connection_validation(client, + resource_group_name, + cluster_name, + database_name, + data_connection_name=None, + location=None, + event_hub_resource_id=None, + consumer_group=None, + table_name=None, + mapping_rule_name=None, + data_format=None, + event_system_properties=None, + compression=None): + if isinstance(event_system_properties, str): + event_system_properties = json.loads(event_system_properties) + properties = {} + properties['location'] = location + properties['kind'] = 'EventHub' + properties['event_hub_resource_id'] = event_hub_resource_id + properties['consumer_group'] = consumer_group + properties['table_name'] = table_name + properties['mapping_rule_name'] = mapping_rule_name + properties['data_format'] = data_format + properties['event_system_properties'] = event_system_properties + properties['compression'] = compression + return client.data_connection_validation(resource_group_name=resource_group_name, + cluster_name=cluster_name, + database_name=database_name, + data_connection_name=data_connection_name, + properties=properties) + + +def kusto_data_connection_iot_hub_data_connection_validation(client, + resource_group_name, + cluster_name, + database_name, + data_connection_name=None, + location=None, + iot_hub_resource_id=None, + consumer_group=None, + table_name=None, + mapping_rule_name=None, + data_format=None, + event_system_properties=None, + shared_access_policy_name=None): + if isinstance(event_system_properties, str): + event_system_properties = json.loads(event_system_properties) + properties = {} + properties['location'] = location + properties['kind'] = 'IotHub' + properties['iot_hub_resource_id'] = iot_hub_resource_id + properties['consumer_group'] = consumer_group + properties['table_name'] = table_name + properties['mapping_rule_name'] = mapping_rule_name + properties['data_format'] = data_format + properties['event_system_properties'] = event_system_properties + properties['shared_access_policy_name'] = shared_access_policy_name + return client.data_connection_validation(resource_group_name=resource_group_name, + cluster_name=cluster_name, + database_name=database_name, + data_connection_name=data_connection_name, + properties=properties) diff --git a/src/kusto/azext_kusto/manual/__init__.py b/src/kusto/azext_kusto/manual/__init__.py new file mode 100644 index 00000000000..ee0c4f36bd0 --- /dev/null +++ b/src/kusto/azext_kusto/manual/__init__.py @@ -0,0 +1,12 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +__path__ = __import__('pkgutil').extend_path(__path__, __name__) diff --git a/src/kusto/azext_kusto/manual/_help.py b/src/kusto/azext_kusto/manual/_help.py new file mode 100644 index 00000000000..b050075960d --- /dev/null +++ b/src/kusto/azext_kusto/manual/_help.py @@ -0,0 +1,559 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +# pylint: disable=too-many-lines + +from knack.help_files import helps + + +helps['kusto cluster'] = """ + type: group + short-summary: kusto cluster +""" + +helps['kusto cluster list'] = """ + type: command + short-summary: Lists all Kusto clusters within a subscription. + examples: + - name: List Kusto clusters by resource group + text: |- + az kusto cluster list --resource-group "kustorptest" +""" + +helps['kusto cluster show'] = """ + type: command + short-summary: Gets a Kusto cluster + examples: + - name: Get a Kusto cluster. + text: |- + az kusto cluster show --cluster-name "KustoClusterRPTest4" --resource-group "kustorptest" +""" + +helps['kusto cluster create'] = """ + type: command + short-summary: Create or update a Kusto cluster. + examples + - name: Create or update a Kusto cluster. + text: |- + az kusto cluster create --cluster-name "KustoClusterRPTest4" --identity-type "SystemAssigned" --location\ + "westus" --enable-purge true --enable-streaming-ingest true --key-vault-properties key-name="" key-vault-uri="" key-ve\ +rsion="" --sku name="Standard_L8s" capacity=2 tier="Standard" --resource-group "kustorptest" +""" + +helps['kusto cluster update'] = """ + type: command + short-summary: Update a Kusto cluster + examples: + - name: Update a Kusto cluster + text: |- + az kusto cluster update --cluster-name "KustoClusterRPTest4" --identity-type "SystemAssigned" --location\ + "westus" --enable-purge true --enable-streaming-ingest true --key-vault-properties key-name="keyName" key-vault-uri="h\ +ttps://dummy.keyvault.com" key-version="keyVersion" --resource-group "kustorptest" +""" + +helps['kusto cluster delete'] = """ + type: command + short-summary: Deletes a Kusto cluster + examples: + - name: Deletes a Kusto cluster. + text: |- + az kusto cluster delete --cluster-name "KustoClusterRPTest4" --resource-group "kustorptest" +""" + +helps['kusto cluster add-language-extension'] = """ + type: command + short-summary: Add a list of language extensions that can run within KQL queries. + examples: + - name: Add language extensions + text: |- + az kusto cluster add-language-extension --cluster-name "KustoClusterRPTest4" --value language-extension-\ +name="PYTHON" --value language-extension-name="R" --resource-group "kustorptest" +""" + +helps['kusto cluster detach-follower-database'] = """ + type: command + short-summary: Detaches all followers of a database owned by this cluster. + examples: + - name: Detach followers databases. + text: |- + az kusto cluster detach-follower-database --cluster-name "KustoClusterRPTest4" --attached-database-confi\ +guration-name "myAttachedDatabaseConfiguration" --cluster-resource-id "/subscriptions/12345678-1234-1234-1234-123456789\ +098/resourceGroups/kustorptest/providers/Microsoft.Kusto/clusters/leader4" --resource-group "kustorptest" +""" + +helps['kusto cluster diagnose-virtual-network'] = """ + type: command + short-summary: Diagnoses network connectivity status for external resources on which the service is dependent on. + examples: + - name: Diagnose virtual-network + text: |- + az kusto cluster diagnose-virtual-network --cluster-name "KustoClusterRPTest4" --resource-group "kustorp\ +test" +""" + +helps['kusto cluster list-follower-database'] = """ + type: command + short-summary: Returns a list of databases that are owned by this cluster and were followed by another cluster. + examples: + - name: List follower databases + text: |- + az kusto cluster list-follower-database --cluster-name "KustoClusterRPTest4" --resource-group "kustorpte\ +st" +""" + +helps['kusto cluster list-language-extension'] = """ + type: command + short-summary: Returns a list of language extensions that can run within KQL queries. + examples: + - name: List language extensions + text: |- + az kusto cluster list-language-extension --cluster-name "KustoClusterRPTest4" --resource-group "kustorpt\ +est" +""" + +helps['kusto cluster list-sku'] = """ + type: command + short-summary: Lists eligible SKUs for Kusto resource provider. + examples: + - name: List SKUs + text: |- + az kusto cluster list-sku --cluster-name "KustoClusterRPTest4" --resource-group "kustorptest" +""" + +helps['kusto cluster remove-language-extension'] = """ + type: command + short-summary: Remove a list of language extensions that can run within KQL queries. + examples: + - name: Remove language extensions + text: |- + az kusto cluster remove-language-extension --cluster-name "KustoClusterRPTest4" --value language-extensi\ +on-name="PYTHON" --value language-extension-name="R" --resource-group "kustorptest" +""" + +helps['kusto cluster start'] = """ + type: command + short-summary: Starts a Kusto cluster. + examples: + - name: Start cluster + text: |- + az kusto cluster start --cluster-name "KustoClusterRPTest4" --resource-group "kustorptest" +""" + +helps['kusto cluster stop'] = """ + type: command + short-summary: Stops a Kusto cluster. + examples: + - name: Stop cluster + text: |- + az kusto cluster stop --cluster-name "KustoClusterRPTest4" --resource-group "kustorptest" +""" + +helps['kusto cluster-principal-assignment'] = """ + type: group + short-summary: kusto cluster-principal-assignment +""" + +helps['kusto cluster-principal-assignment list'] = """ + type: command + short-summary: Lists all Kusto cluster principalAssignments. + examples: + - name: List cluster principal assignment + text: |- + az kusto cluster-principal-assignment list --cluster-name "kustoclusterrptest4" --resource-group "kustor\ +ptest" +""" + +helps['kusto cluster-principal-assignment show'] = """ + type: command + short-summary: Gets a Kusto cluster principalAssignment. + examples: + - name: Get cluster principal assignment + text: |- + az kusto cluster-principal-assignment show --cluster-name "kustoclusterrptest4" --principal-assignment-n\ +ame "kustoprincipal1" --resource-group "kustorptest" +""" + +helps['kusto cluster-principal-assignment create'] = """ + type: command + short-summary: Create a Kusto cluster principalAssignment. + examples: + - name: Create or update cluster principal assignment + text: |- + az kusto cluster-principal-assignment create --cluster-name "kustoclusterrptest4" --principal-id "876543\ +21-1234-1234-1234-123456789123" --principal-type "App" --role "AllDatabasesAdmin" --tenant-id "12345678-1234-1234-1234-\ +123456789123" --principal-assignment-name "kustoprincipal1" --resource-group "kustorptest" +""" + +helps['kusto cluster-principal-assignment update'] = """ + type: command + short-summary: Create a Kusto cluster principalAssignment. + examples: + - name: Create or update cluster principal assignment + text: |- + az kusto cluster-principal-assignment update --cluster-name "kustoclusterrptest4" --principal-id "876543\ +21-1234-1234-1234-123456789123" --principal-type "App" --role "AllDatabasesAdmin" --tenant-id "12345678-1234-1234-1234-\ +123456789123" --principal-assignment-name "kustoprincipal1" --resource-group "kustorptest" +""" + +helps['kusto cluster-principal-assignment delete'] = """ + type: command + short-summary: Deletes a Kusto cluster principalAssignment. + examples: + - name: Delete cluster principal assignment + text: |- + az kusto cluster-principal-assignment delete --cluster-name "kustoclusterrptest4" --principal-assignment\ +-name "kustoprincipal1" --resource-group "kustorptest" +""" + +helps['kusto database'] = """ + type: group + short-summary: kusto database +""" + +helps['kusto database list'] = """ + type: command + short-summary: Returns the list of databases of the given Kusto cluster. + examples: + - name: List databases by cluster + text: |- + az kusto database list --cluster-name "KustoClusterRPTest4" --resource-group "kustorptest" +""" + +helps['kusto database show'] = """ + type: command + short-summary: Returns a database. + examples: + - name: Get database + text: |- + az kusto database show --cluster-name "KustoClusterRPTest4" --database-name "KustoDatabase8" --resource-\ +group "kustorptest" +""" + +helps['kusto database create'] = """ + type: command + short-summary: Creates or updates a database. + examples: + - name: Create or update Kusto database + text: |- + az kusto database create --cluster-name "KustoClusterRPTest4" --database-name "KustoDatabase8" --read-wr\ +ite-database location="westus" soft-delete-period="P1D" --resource-group "kustorptest" +""" + +helps['kusto database update'] = """ + type: command + short-summary: Updates a database. + examples: + - name: Update Kusto database + text: |- + az kusto database update --cluster-name "KustoClusterRPTest4" --database-name "KustoDatabase8" --read-wr\ +ite-database soft-delete-period="P1D" --resource-group "kustorptest" +""" + +helps['kusto database delete'] = """ + type: command + short-summary: Deletes the database with the given name. + examples: + - name: Delete Kusto database + text: |- + az kusto database delete --cluster-name "KustoClusterRPTest4" --database-name "KustoDatabase8" --resourc\ +e-group "kustorptest" +""" + +helps['kusto database add-principal'] = """ + type: command + short-summary: Add Database principals permissions. + examples: + - name: Add database principal + text: |- + az kusto database add-principal --cluster-name "KustoClusterRPTest4" --database-name "databaseName1" --v\ +alue name="Some User" type="User" app-id="" email="user@microsoft.com" fqn="aaduser=some_guid" role="Admin" --value nam\ +e="Kusto" type="Group" app-id="" email="kusto@microsoft.com" fqn="aadgroup=some_guid" role="Viewer" --value name="SomeA\ +pp" type="App" app-id="some_guid_app_id" email="" fqn="aadapp=some_guid_app_id" role="Admin" --resource-group "kustorpt\ +est" +""" + +helps['kusto database list-principal'] = """ + type: command + short-summary: Returns a list of database principals of the given Kusto cluster and database. + examples: + - name: List database principals + text: |- + az kusto database list-principal --cluster-name "KustoClusterRPTest4" --database-name "Kustodatabase8" -\ +-resource-group "kustorptest" +""" + +helps['kusto database remove-principal'] = """ + type: command + short-summary: Remove Database principals permissions. + examples: + - name: Remove database principals + text: |- + az kusto database remove-principal --cluster-name "KustoClusterRPTest4" --database-name "databaseName1" \ +--value name="Some User" type="User" app-id="" email="user@microsoft.com" fqn="aaduser=some_guid" role="Admin" --value \ +name="Kusto" type="Group" app-id="" email="kusto@microsoft.com" fqn="aadgroup=some_guid" role="Viewer" --value name="So\ +meApp" type="App" app-id="some_guid_app_id" email="" fqn="aadapp=some_guid_app_id" role="Admin" --resource-group "kusto\ +rptest" +""" + +helps['kusto database-principal-assignment'] = """ + type: group + short-summary: kusto database-principal-assignment +""" + +helps['kusto database-principal-assignment list'] = """ + type: command + short-summary: Lists all Kusto cluster database principalAssignments. + examples: + - name: List database principal assignment + text: |- + az kusto database-principal-assignment list --cluster-name "kustoclusterrptest4" --database-name "Kustod\ +atabase8" --resource-group "kustorptest" +""" + +helps['kusto database-principal-assignment show'] = """ + type: command + short-summary: Get database principal assignment + examples: + - name: KustoDatabasePrincipalAssignmentsGet + text: |- + az kusto database-principal-assignment show --cluster-name "kustoclusterrptest4" --database-name "Kustod\ +atabase8" --principal-assignment-name "kustoprincipal1" --resource-group "kustorptest" +""" + +helps['kusto database-principal-assignment create'] = """ + type: command + short-summary: Creates a Kusto cluster database principalAssignment. + examples: + - name: Create or update database principal assignment + text: |- + az kusto database-principal-assignment create --cluster-name "kustoclusterrptest4" --database-name "Kust\ +odatabase8" --principal-id "87654321-1234-1234-1234-123456789123" --principal-type "App" --role "Admin" --tenant-id "12\ +345678-1234-1234-1234-123456789123" --principal-assignment-name "kustoprincipal1" --resource-group "kustorptest" +""" + +helps['kusto database-principal-assignment update'] = """ + type: command + short-summary: Creates a Kusto cluster database principalAssignment. + examples: + - name: Create or update database principal assignment + text: |- + az kusto database-principal-assignment update --cluster-name "kustoclusterrptest4" --database-name "Kust\ +odatabase8" --principal-id "87654321-1234-1234-1234-123456789123" --principal-type "App" --role "Admin" --tenant-id "12\ +345678-1234-1234-1234-123456789123" --principal-assignment-name "kustoprincipal1" --resource-group "kustorptest" +""" + +helps['kusto database-principal-assignment delete'] = """ + type: command + short-summary: Deletes a Kusto principalAssignment. + examples: + - name: Delete database principal assignment + text: |- + az kusto database-principal-assignment delete --cluster-name "kustoclusterrptest4" --database-name "Kust\ +odatabase8" --principal-assignment-name "kustoprincipal1" --resource-group "kustorptest" +""" + +helps['kusto attached-database-configuration'] = """ + type: group + short-summary: kusto attached-database-configuration +""" + +helps['kusto attached-database-configuration list'] = """ + type: command + short-summary: Returns the list of attached database configurations of the given Kusto cluster. + examples: + - name: List attached databases by cluster + text: |- + az kusto attached-database-configuration list --cluster-name "KustoClusterRPTest4" --resource-group "kus\ +torptest" +""" + +helps['kusto attached-database-configuration show'] = """ + type: command + short-summary: Returns an attached database configuration. + examples: + - name: Get attached database + text: |- + az kusto attached-database-configuration show --attached-database-configuration-name "attachedDatabaseCo\ +nfigurations1" --cluster-name "KustoClusterRPTest4" --resource-group "kustorptest" +""" + +helps['kusto attached-database-configuration create'] = """ + type: command + short-summary: Creates or updates an attached database configuration. + examples: + - name: Create or update attached database + text: |- + az kusto attached-database-configuration create --attached-database-configuration-name "attachedDatabase\ +Configurations1" --cluster-name "KustoClusterRPTest4" --location "westus" --cluster-resource-id "/subscriptions/1234567\ +8-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterLeader" --datab\ +ase-name "Kustodatabase8" --default-principals-modification-kind "Union" --resource-group "kustorptest" +""" + +helps['kusto attached-database-configuration update'] = """ + type: command + short-summary: Creates or updates an attached database configuration. + examples: + - name: Create or update attached database + text: |- + az kusto attached-database-configuration update --attached-database-configuration-name "attachedDatabase\ +Configurations1" --cluster-name "KustoClusterRPTest4" --location "westus" --cluster-resource-id "/subscriptions/1234567\ +8-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterLeader" --datab\ +ase-name "Kustodatabase8" --default-principals-modification-kind "Union" --resource-group "kustorptest" +""" + +helps['kusto attached-database-configuration delete'] = """ + type: command + short-summary: Deletes the attached database configuration with the given name. + examples: + - name: Delete attached database + text: |- + az kusto attached-database-configuration delete --attached-database-configuration-name "attachedDatabase\ +Configurations1" --cluster-name "KustoClusterRPTest4" --resource-group "kustorptest" +""" + +helps['kusto data-connection'] = """ + type: group + short-summary: kusto data-connection +""" + +helps['kusto data-connection list'] = """ + type: command + short-summary: Returns the list of data connections of the given Kusto database. + examples: + - name: List cluster data connection + text: |- + az kusto data-connection list --cluster-name "KustoClusterRPTest4" --database-name "KustoDatabase8" --re\ +source-group "kustorptest" +""" + +helps['kusto data-connection show'] = """ + type: command + short-summary: Returns a data connection. + examples: + - name: Get data connection + text: |- + az kusto data-connection show --cluster-name "KustoClusterRPTest4" --data-connection-name "DataConnectio\ +ns8" --database-name "KustoDatabase8" --resource-group "kustorptest" +""" + +helps['kusto data-connection event-grid'] = """ + type: group + short-summary: kusto data-connection sub group event-grid +""" + +helps['kusto data-connection event-grid create'] = """ + type: command + short-summary: Creates or updates a data connection. +""" + +helps['kusto data-connection event-hub'] = """ + type: group + short-summary: kusto data-connection sub group event-hub +""" + +helps['kusto data-connection event-hub create'] = """ + type: command + short-summary: Creates or updates a data connection. + examples: + - name: Create or update data connection + text: |- + az kusto data-connection event-hub create --cluster-name "KustoClusterRPTest4" --data-connection-name "D\ +ataConnections8" --database-name "KustoDatabase8" --location "westus" --consumer-group "testConsumerGroup1" --event-hub\ +-resource-id "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventH\ +ub/namespaces/eventhubTestns1/eventhubs/eventhubTest1" --resource-group "kustorptest" +""" + +helps['kusto data-connection iot-hub'] = """ + type: group + short-summary: kusto data-connection sub group iot-hub +""" + +helps['kusto data-connection iot-hub create'] = """ + type: command + short-summary: Creates or updates a data connection. +""" + +helps['kusto data-connection event-grid update'] = """ + type: command + short-summary: Updates a data connection. +""" + +helps['kusto data-connection event-hub update'] = """ + type: command + short-summary: Updates a data connection. + examples: + - name: Update data connection + text: |- + az kusto data-connection event-hub update --cluster-name "KustoClusterRPTest4" --data-connection-name "D\ +ataConnections8" --database-name "KustoDatabase8" --location "westus" --consumer-group "testConsumerGroup1" --event-hub\ +-resource-id "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventH\ +ub/namespaces/eventhubTestns1/eventhubs/eventhubTest1" --resource-group "kustorptest" +""" + +helps['kusto data-connection iot-hub update'] = """ + type: command + short-summary: Updates a data connection. +""" + +helps['kusto data-connection delete'] = """ + type: command + short-summary: Deletes the data connection with the given name. + examples: + - name: Delete data connection + text: |- + az kusto data-connection delete --cluster-name "KustoClusterRPTest4" --data-connection-name "kustoeventh\ +ubconnection1" --database-name "KustoDatabase8" --resource-group "kustorptest" +""" + +helps['kusto data-connection event-grid data-connection-validation'] = """ + type: command + short-summary: Checks that the data connection parameters are valid. +""" + +helps['kusto data-connection event-hub data-connection-validation'] = """ + type: command + short-summary: Checks that the data connection parameters are valid. + examples: + - name: Validate data connection + text: |- + az kusto data-connection event-hub data-connection-validation --cluster-name "KustoClusterRPTest4" --dat\ +abase-name "KustoDatabase8" --data-connection-name "DataConnections8" --consumer-group "testConsumerGroup1" --event-hub\ +-resource-id "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventH\ +ub/namespaces/eventhubTestns1/eventhubs/eventhubTest1" --resource-group "kustorptest" +""" + +helps['kusto data-connection iot-hub data-connection-validation'] = """ + type: command + short-summary: Checks that the data connection parameters are valid. +""" + + +helps['kusto attached-database-configuration wait'] = """ +type: command +short-summary: Wait for a managed Kusto cluster to reach a desired state. +long-summary: If an operation on a cluster was interrupted or was started with `--no-wait`, use this command to wait for it to complete. +""" + +helps['kusto cluster-principal-assignment wait'] = """ +type: command +short-summary: Wait for a managed Kusto cluster to reach a desired state. +long-summary: If an operation on a cluster was interrupted or was started with `--no-wait`, use this command to wait for it to complete. +""" + +helps['kusto data-connection wait wait'] = """ +type: command +short-summary: Wait for a managed Kusto cluster to reach a desired state. +long-summary: If an operation on a cluster was interrupted or was started with `--no-wait`, use this command to wait for it to complete. +""" + +helps['kusto database-principal-assignment wait'] = """ +type: command +short-summary: Wait for a managed Kusto cluster to reach a desired state. +long-summary: If an operation on a cluster was interrupted or was started with `--no-wait`, use this command to wait for it to complete. +""" diff --git a/src/kusto/azext_kusto/manual/tests/__init__.py b/src/kusto/azext_kusto/manual/tests/__init__.py new file mode 100644 index 00000000000..fe1bd438b46 --- /dev/null +++ b/src/kusto/azext_kusto/manual/tests/__init__.py @@ -0,0 +1,49 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +import inspect +import os + + +__path__ = __import__('pkgutil').extend_path(__path__, __name__) + + +def try_manual(func): + def import_manual_function(origin_func): + from importlib import import_module + decorated_path = inspect.getfile(origin_func) + module_path = __path__[0] + if not decorated_path.startswith(module_path): + raise Exception("Decorator can only be used in submodules!") + manual_path = os.path.join( + decorated_path[module_path.rfind(os.path.sep) + 1:]) + manual_file_path, manual_file_name = os.path.split(manual_path) + module_name, _ = os.path.splitext(manual_file_name) + manual_module = "..manual." + \ + ".".join(manual_file_path.split(os.path.sep) + [module_name, ]) + return getattr(import_module(manual_module, package=__name__), origin_func.__name__) + + def get_func_to_call(): + func_to_call = func + try: + func_to_call = import_manual_function(func) + except (ImportError, AttributeError): + pass + return func_to_call + + def wrapper(*args, **kwargs): + func_to_call = get_func_to_call() + print("running {}()...".format(func.__name__)) + return func_to_call(*args, **kwargs) + + if inspect.isclass(func): + return get_func_to_call() + else: + return wrapper diff --git a/src/kusto/azext_kusto/manual/tests/latest/__init__.py b/src/kusto/azext_kusto/manual/tests/latest/__init__.py new file mode 100644 index 00000000000..ee0c4f36bd0 --- /dev/null +++ b/src/kusto/azext_kusto/manual/tests/latest/__init__.py @@ -0,0 +1,12 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +__path__ = __import__('pkgutil').extend_path(__path__, __name__) diff --git a/src/kusto/azext_kusto/manual/tests/latest/recordings/test_kusto.yaml b/src/kusto/azext_kusto/manual/tests/latest/recordings/test_kusto.yaml new file mode 100644 index 00000000000..5bddb894e72 --- /dev/null +++ b/src/kusto/azext_kusto/manual/tests/latest/recordings/test_kusto.yaml @@ -0,0 +1,8465 @@ +interactions: +- request: + body: '{"location": "westus", "sku": {"name": "Standard_L8s", "capacity": 2, "tier": + "Standard"}, "properties": {"enableStreamingIngest": true, "keyVaultProperties": + {"keyName": "", "keyVersion": "", "keyVaultUri": ""}, "enablePurge": true}, + "identity": {"type": "SystemAssigned"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster create + Connection: + - keep-alive + Content-Length: + - '274' + Content-Type: + - application/json + ParameterSetName: + - --cluster-name --identity-type --location --enable-purge --enable-streaming-ingest + --key-vault-properties --sku --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/clusters/testcliclusterfollower?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/Clusters/testcliclusterfollower","name":"testcliclusterfollower","type":"Microsoft.Kusto/Clusters","etag":"\"\"","location":"westus","sku":{"name":"Standard_L8s","tier":"Standard","capacity":2},"properties":{"enableStreamingIngest":true,"keyVaultProperties":{"keyName":"","keyVersion":"","keyVaultUri":""},"enablePurge":true,"state":"Creating","provisioningState":"Creating"},"identity":{"type":"SystemAssigned"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationResults/31caed15-c03d-4205-8ff1-d7aae37588ef?api-version=2020-02-15 + cache-control: + - no-cache + content-length: + - '589' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 09:55:48 GMT + etag: + - '""' + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=f977ea28325f4c100ed19c1a7ed6395c7554e0af5ce62499bbee5975165c7757;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '199' + x-powered-by: + - ASP.NET + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster create + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --identity-type --location --enable-purge --enable-streaming-ingest + --key-vault-properties --sku --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationResults/31caed15-c03d-4205-8ff1-d7aae37588ef?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationresults/31caed15-c03d-4205-8ff1-d7aae37588ef","name":"31caed15-c03d-4205-8ff1-d7aae37588ef","status":"Running","startTime":"2020-04-28T09:55:47.0333409Z","endTime":"2020-04-28T09:55:49.4885405Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterCreateExternal","RootActivityId":"ee94d5bb-5d5b-41fa-8f27-f0032d6e9a5f","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '469' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 09:56:18 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=348d1e7264ad0063baa3036f92cd47d46e91963aabd2dc4d51adfdac15009271;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '299' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster create + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --identity-type --location --enable-purge --enable-streaming-ingest + --key-vault-properties --sku --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationResults/31caed15-c03d-4205-8ff1-d7aae37588ef?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationresults/31caed15-c03d-4205-8ff1-d7aae37588ef","name":"31caed15-c03d-4205-8ff1-d7aae37588ef","status":"Running","startTime":"2020-04-28T09:55:47.0333409Z","endTime":"2020-04-28T09:55:49.4885405Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterCreateExternal","RootActivityId":"ee94d5bb-5d5b-41fa-8f27-f0032d6e9a5f","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '469' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 09:56:48 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=bf171968557f7483abc0913a42c0207b9017c552b91766911eca876583df224c;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '298' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster create + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --identity-type --location --enable-purge --enable-streaming-ingest + --key-vault-properties --sku --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationResults/31caed15-c03d-4205-8ff1-d7aae37588ef?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationresults/31caed15-c03d-4205-8ff1-d7aae37588ef","name":"31caed15-c03d-4205-8ff1-d7aae37588ef","status":"Running","startTime":"2020-04-28T09:55:47.0333409Z","endTime":"2020-04-28T09:55:49.4885405Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterCreateExternal","RootActivityId":"ee94d5bb-5d5b-41fa-8f27-f0032d6e9a5f","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '469' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 09:57:20 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=be0e0d186a8dd7beec8fdedbe9912fb4fc8ea63ab4795c4847feb9495ca10dd5;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '297' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster create + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --identity-type --location --enable-purge --enable-streaming-ingest + --key-vault-properties --sku --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationResults/31caed15-c03d-4205-8ff1-d7aae37588ef?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationresults/31caed15-c03d-4205-8ff1-d7aae37588ef","name":"31caed15-c03d-4205-8ff1-d7aae37588ef","status":"Running","startTime":"2020-04-28T09:55:47.0333409Z","endTime":"2020-04-28T09:55:49.4885405Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterCreateExternal","RootActivityId":"ee94d5bb-5d5b-41fa-8f27-f0032d6e9a5f","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '469' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 09:57:50 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=348d1e7264ad0063baa3036f92cd47d46e91963aabd2dc4d51adfdac15009271;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '296' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster create + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --identity-type --location --enable-purge --enable-streaming-ingest + --key-vault-properties --sku --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationResults/31caed15-c03d-4205-8ff1-d7aae37588ef?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationresults/31caed15-c03d-4205-8ff1-d7aae37588ef","name":"31caed15-c03d-4205-8ff1-d7aae37588ef","status":"Running","startTime":"2020-04-28T09:55:47.0333409Z","endTime":"2020-04-28T09:55:49.4885405Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterCreateExternal","RootActivityId":"ee94d5bb-5d5b-41fa-8f27-f0032d6e9a5f","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '469' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 09:58:21 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=3e9a49b330654e4ac57f196a7fb95bb367210c5ce4e9c674a332fb882012a73e;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '295' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster create + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --identity-type --location --enable-purge --enable-streaming-ingest + --key-vault-properties --sku --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationResults/31caed15-c03d-4205-8ff1-d7aae37588ef?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationresults/31caed15-c03d-4205-8ff1-d7aae37588ef","name":"31caed15-c03d-4205-8ff1-d7aae37588ef","status":"Running","startTime":"2020-04-28T09:55:47.0333409Z","endTime":"2020-04-28T09:55:49.4885405Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterCreateExternal","RootActivityId":"ee94d5bb-5d5b-41fa-8f27-f0032d6e9a5f","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '469' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 09:58:51 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=3e9a49b330654e4ac57f196a7fb95bb367210c5ce4e9c674a332fb882012a73e;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '294' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster create + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --identity-type --location --enable-purge --enable-streaming-ingest + --key-vault-properties --sku --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationResults/31caed15-c03d-4205-8ff1-d7aae37588ef?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationresults/31caed15-c03d-4205-8ff1-d7aae37588ef","name":"31caed15-c03d-4205-8ff1-d7aae37588ef","status":"Running","startTime":"2020-04-28T09:55:47.0333409Z","endTime":"2020-04-28T09:55:49.4885405Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterCreateExternal","RootActivityId":"ee94d5bb-5d5b-41fa-8f27-f0032d6e9a5f","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '469' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 09:59:21 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=0b3e7bab7bc253429b01a84fcfe52f9eaf7487da416b1f2a0af2bf3349b35509;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '293' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster create + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --identity-type --location --enable-purge --enable-streaming-ingest + --key-vault-properties --sku --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationResults/31caed15-c03d-4205-8ff1-d7aae37588ef?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationresults/31caed15-c03d-4205-8ff1-d7aae37588ef","name":"31caed15-c03d-4205-8ff1-d7aae37588ef","status":"Running","startTime":"2020-04-28T09:55:47.0333409Z","endTime":"2020-04-28T09:55:49.4885405Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterCreateExternal","RootActivityId":"ee94d5bb-5d5b-41fa-8f27-f0032d6e9a5f","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '469' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 09:59:52 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=bf171968557f7483abc0913a42c0207b9017c552b91766911eca876583df224c;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '292' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster create + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --identity-type --location --enable-purge --enable-streaming-ingest + --key-vault-properties --sku --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationResults/31caed15-c03d-4205-8ff1-d7aae37588ef?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationresults/31caed15-c03d-4205-8ff1-d7aae37588ef","name":"31caed15-c03d-4205-8ff1-d7aae37588ef","status":"Running","startTime":"2020-04-28T09:55:47.0333409Z","endTime":"2020-04-28T09:55:49.4885405Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterCreateExternal","RootActivityId":"ee94d5bb-5d5b-41fa-8f27-f0032d6e9a5f","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '469' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:00:23 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=f977ea28325f4c100ed19c1a7ed6395c7554e0af5ce62499bbee5975165c7757;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '291' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster create + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --identity-type --location --enable-purge --enable-streaming-ingest + --key-vault-properties --sku --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationResults/31caed15-c03d-4205-8ff1-d7aae37588ef?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationresults/31caed15-c03d-4205-8ff1-d7aae37588ef","name":"31caed15-c03d-4205-8ff1-d7aae37588ef","status":"Running","startTime":"2020-04-28T09:55:47.0333409Z","endTime":"2020-04-28T09:55:49.4885405Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterCreateExternal","RootActivityId":"ee94d5bb-5d5b-41fa-8f27-f0032d6e9a5f","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '469' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:00:53 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=be0e0d186a8dd7beec8fdedbe9912fb4fc8ea63ab4795c4847feb9495ca10dd5;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '290' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster create + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --identity-type --location --enable-purge --enable-streaming-ingest + --key-vault-properties --sku --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationResults/31caed15-c03d-4205-8ff1-d7aae37588ef?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationresults/31caed15-c03d-4205-8ff1-d7aae37588ef","name":"31caed15-c03d-4205-8ff1-d7aae37588ef","status":"Running","startTime":"2020-04-28T09:55:47.0333409Z","endTime":"2020-04-28T09:55:49.4885405Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterCreateExternal","RootActivityId":"ee94d5bb-5d5b-41fa-8f27-f0032d6e9a5f","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '469' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:01:24 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=5e5ff28fa92b1291bfb4f40aa52246624376877d08d84d2a201c9bf6f1ffae6d;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '289' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster create + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --identity-type --location --enable-purge --enable-streaming-ingest + --key-vault-properties --sku --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationResults/31caed15-c03d-4205-8ff1-d7aae37588ef?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationresults/31caed15-c03d-4205-8ff1-d7aae37588ef","name":"31caed15-c03d-4205-8ff1-d7aae37588ef","status":"Running","startTime":"2020-04-28T09:55:47.0333409Z","endTime":"2020-04-28T09:55:49.4885405Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterCreateExternal","RootActivityId":"ee94d5bb-5d5b-41fa-8f27-f0032d6e9a5f","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '469' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:01:55 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=0b3e7bab7bc253429b01a84fcfe52f9eaf7487da416b1f2a0af2bf3349b35509;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '288' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster create + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --identity-type --location --enable-purge --enable-streaming-ingest + --key-vault-properties --sku --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationResults/31caed15-c03d-4205-8ff1-d7aae37588ef?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationresults/31caed15-c03d-4205-8ff1-d7aae37588ef","name":"31caed15-c03d-4205-8ff1-d7aae37588ef","status":"Running","startTime":"2020-04-28T09:55:47.0333409Z","endTime":"2020-04-28T09:55:49.4885405Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterCreateExternal","RootActivityId":"ee94d5bb-5d5b-41fa-8f27-f0032d6e9a5f","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '469' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:02:24 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=bf171968557f7483abc0913a42c0207b9017c552b91766911eca876583df224c;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '287' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster create + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --identity-type --location --enable-purge --enable-streaming-ingest + --key-vault-properties --sku --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationResults/31caed15-c03d-4205-8ff1-d7aae37588ef?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationresults/31caed15-c03d-4205-8ff1-d7aae37588ef","name":"31caed15-c03d-4205-8ff1-d7aae37588ef","status":"Running","startTime":"2020-04-28T09:55:47.0333409Z","endTime":"2020-04-28T09:55:49.4885405Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterCreateExternal","RootActivityId":"ee94d5bb-5d5b-41fa-8f27-f0032d6e9a5f","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '469' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:02:55 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=3e9a49b330654e4ac57f196a7fb95bb367210c5ce4e9c674a332fb882012a73e;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '286' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster create + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --identity-type --location --enable-purge --enable-streaming-ingest + --key-vault-properties --sku --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationResults/31caed15-c03d-4205-8ff1-d7aae37588ef?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationresults/31caed15-c03d-4205-8ff1-d7aae37588ef","name":"31caed15-c03d-4205-8ff1-d7aae37588ef","status":"Running","startTime":"2020-04-28T09:55:47.0333409Z","endTime":"2020-04-28T09:55:49.4885405Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterCreateExternal","RootActivityId":"ee94d5bb-5d5b-41fa-8f27-f0032d6e9a5f","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '469' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:03:27 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=d29ec50e2353fd96ac8ed72619c1a2fb36a21ed6c3f22a5075cd2c606bb89829;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '285' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster create + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --identity-type --location --enable-purge --enable-streaming-ingest + --key-vault-properties --sku --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationResults/31caed15-c03d-4205-8ff1-d7aae37588ef?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationresults/31caed15-c03d-4205-8ff1-d7aae37588ef","name":"31caed15-c03d-4205-8ff1-d7aae37588ef","status":"Running","startTime":"2020-04-28T09:55:47.0333409Z","endTime":"2020-04-28T09:55:49.4885405Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterCreateExternal","RootActivityId":"ee94d5bb-5d5b-41fa-8f27-f0032d6e9a5f","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '469' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:03:57 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=f977ea28325f4c100ed19c1a7ed6395c7554e0af5ce62499bbee5975165c7757;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '284' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster create + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --identity-type --location --enable-purge --enable-streaming-ingest + --key-vault-properties --sku --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationResults/31caed15-c03d-4205-8ff1-d7aae37588ef?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationresults/31caed15-c03d-4205-8ff1-d7aae37588ef","name":"31caed15-c03d-4205-8ff1-d7aae37588ef","status":"Running","startTime":"2020-04-28T09:55:47.0333409Z","endTime":"2020-04-28T09:55:49.4885405Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterCreateExternal","RootActivityId":"ee94d5bb-5d5b-41fa-8f27-f0032d6e9a5f","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '469' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:04:26 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=5e5ff28fa92b1291bfb4f40aa52246624376877d08d84d2a201c9bf6f1ffae6d;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '283' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster create + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --identity-type --location --enable-purge --enable-streaming-ingest + --key-vault-properties --sku --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationResults/31caed15-c03d-4205-8ff1-d7aae37588ef?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationresults/31caed15-c03d-4205-8ff1-d7aae37588ef","name":"31caed15-c03d-4205-8ff1-d7aae37588ef","status":"Running","startTime":"2020-04-28T09:55:47.0333409Z","endTime":"2020-04-28T09:55:49.4885405Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterCreateExternal","RootActivityId":"ee94d5bb-5d5b-41fa-8f27-f0032d6e9a5f","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '469' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:04:58 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=d29ec50e2353fd96ac8ed72619c1a2fb36a21ed6c3f22a5075cd2c606bb89829;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '282' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster create + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --identity-type --location --enable-purge --enable-streaming-ingest + --key-vault-properties --sku --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationResults/31caed15-c03d-4205-8ff1-d7aae37588ef?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationresults/31caed15-c03d-4205-8ff1-d7aae37588ef","name":"31caed15-c03d-4205-8ff1-d7aae37588ef","status":"Running","startTime":"2020-04-28T09:55:47.0333409Z","endTime":"2020-04-28T09:55:49.4885405Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterCreateExternal","RootActivityId":"ee94d5bb-5d5b-41fa-8f27-f0032d6e9a5f","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '469' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:05:28 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=5e5ff28fa92b1291bfb4f40aa52246624376877d08d84d2a201c9bf6f1ffae6d;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '289' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster create + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --identity-type --location --enable-purge --enable-streaming-ingest + --key-vault-properties --sku --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationResults/31caed15-c03d-4205-8ff1-d7aae37588ef?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationresults/31caed15-c03d-4205-8ff1-d7aae37588ef","name":"31caed15-c03d-4205-8ff1-d7aae37588ef","status":"Running","startTime":"2020-04-28T09:55:47.0333409Z","endTime":"2020-04-28T09:55:49.4885405Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterCreateExternal","RootActivityId":"ee94d5bb-5d5b-41fa-8f27-f0032d6e9a5f","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '469' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:05:59 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=3e9a49b330654e4ac57f196a7fb95bb367210c5ce4e9c674a332fb882012a73e;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '288' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster create + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --identity-type --location --enable-purge --enable-streaming-ingest + --key-vault-properties --sku --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationResults/31caed15-c03d-4205-8ff1-d7aae37588ef?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationresults/31caed15-c03d-4205-8ff1-d7aae37588ef","name":"31caed15-c03d-4205-8ff1-d7aae37588ef","status":"Succeeded","startTime":"2020-04-28T09:55:47.0333409Z","endTime":"2020-04-28T10:06:13.842226Z","percentComplete":1.0,"properties":{"OperationKind":"ClusterCreateExternal","RootActivityId":"ee94d5bb-5d5b-41fa-8f27-f0032d6e9a5f","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '472' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:06:29 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=bf171968557f7483abc0913a42c0207b9017c552b91766911eca876583df224c;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '287' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster create + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --identity-type --location --enable-purge --enable-streaming-ingest + --key-vault-properties --sku --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/clusters/testcliclusterfollower?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/Clusters/testcliclusterfollower","name":"testcliclusterfollower","type":"Microsoft.Kusto/Clusters","etag":"\"\"","location":"West + US","sku":{"name":"Standard_L8s","tier":"Standard","capacity":2},"tags":{},"properties":{"state":"Running","stateReason":null,"uri":"https://testcliclusterfollower.westus.kusto.windows.net","dataIngestionUri":"https://ingest-testcliclusterfollower.westus.kusto.windows.net","trustedExternalTenants":[],"virtualNetworkConfiguration":null,"optimizedAutoscale":null,"enableDiskEncryption":false,"enableStreamingIngest":true,"keyVaultProperties":null,"languageExtensions":{"value":[]},"enablePurge":true,"provisioningState":"Succeeded"},"identity":{"principalId":"fe272264-9a7d-4a40-af0b-b9408bdc0f9a","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"}}' + headers: + cache-control: + - no-cache + content-length: + - '979' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:06:30 GMT + etag: + - '""' + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=5e5ff28fa92b1291bfb4f40aa52246624376877d08d84d2a201c9bf6f1ffae6d;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '299' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"location": "westus", "sku": {"name": "Standard_L8s", "capacity": 2, "tier": + "Standard"}, "properties": {"enableStreamingIngest": true, "keyVaultProperties": + {"keyName": "", "keyVersion": "", "keyVaultUri": ""}, "enablePurge": true}, + "identity": {"type": "SystemAssigned"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster create + Connection: + - keep-alive + Content-Length: + - '274' + Content-Type: + - application/json + ParameterSetName: + - --cluster-name --identity-type --location --enable-purge --enable-streaming-ingest + --key-vault-properties --sku --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/clusters/testcliclusterleader?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/Clusters/testcliclusterleader","name":"testcliclusterleader","type":"Microsoft.Kusto/Clusters","etag":"\"\"","location":"westus","sku":{"name":"Standard_L8s","tier":"Standard","capacity":2},"properties":{"enableStreamingIngest":true,"keyVaultProperties":{"keyName":"","keyVersion":"","keyVaultUri":""},"enablePurge":true,"state":"Creating","provisioningState":"Creating"},"identity":{"type":"SystemAssigned"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationResults/9132663b-17cc-4ebf-970d-d3ee66b7f509?api-version=2020-02-15 + cache-control: + - no-cache + content-length: + - '585' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:06:42 GMT + etag: + - '""' + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=5e5ff28fa92b1291bfb4f40aa52246624376877d08d84d2a201c9bf6f1ffae6d;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '198' + x-powered-by: + - ASP.NET + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster create + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --identity-type --location --enable-purge --enable-streaming-ingest + --key-vault-properties --sku --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationResults/9132663b-17cc-4ebf-970d-d3ee66b7f509?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationresults/9132663b-17cc-4ebf-970d-d3ee66b7f509","name":"9132663b-17cc-4ebf-970d-d3ee66b7f509","status":"Running","startTime":"2020-04-28T10:06:42.1707545Z","endTime":"2020-04-28T10:06:44.5145049Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterCreateExternal","RootActivityId":"5946ed2f-814d-4425-b4a2-a2d884e6460f","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '469' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:07:13 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=bf171968557f7483abc0913a42c0207b9017c552b91766911eca876583df224c;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '299' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster create + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --identity-type --location --enable-purge --enable-streaming-ingest + --key-vault-properties --sku --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationResults/9132663b-17cc-4ebf-970d-d3ee66b7f509?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationresults/9132663b-17cc-4ebf-970d-d3ee66b7f509","name":"9132663b-17cc-4ebf-970d-d3ee66b7f509","status":"Running","startTime":"2020-04-28T10:06:42.1707545Z","endTime":"2020-04-28T10:06:44.5145049Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterCreateExternal","RootActivityId":"5946ed2f-814d-4425-b4a2-a2d884e6460f","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '469' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:07:43 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=bf171968557f7483abc0913a42c0207b9017c552b91766911eca876583df224c;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '298' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster create + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --identity-type --location --enable-purge --enable-streaming-ingest + --key-vault-properties --sku --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationResults/9132663b-17cc-4ebf-970d-d3ee66b7f509?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationresults/9132663b-17cc-4ebf-970d-d3ee66b7f509","name":"9132663b-17cc-4ebf-970d-d3ee66b7f509","status":"Running","startTime":"2020-04-28T10:06:42.1707545Z","endTime":"2020-04-28T10:06:44.5145049Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterCreateExternal","RootActivityId":"5946ed2f-814d-4425-b4a2-a2d884e6460f","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '469' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:08:14 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=68eda2333691511c17b2574619a79876611dd86be1c55aa848d58cf2408b7c02;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '297' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster create + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --identity-type --location --enable-purge --enable-streaming-ingest + --key-vault-properties --sku --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationResults/9132663b-17cc-4ebf-970d-d3ee66b7f509?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationresults/9132663b-17cc-4ebf-970d-d3ee66b7f509","name":"9132663b-17cc-4ebf-970d-d3ee66b7f509","status":"Running","startTime":"2020-04-28T10:06:42.1707545Z","endTime":"2020-04-28T10:06:44.5145049Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterCreateExternal","RootActivityId":"5946ed2f-814d-4425-b4a2-a2d884e6460f","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '469' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:08:44 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=5e5ff28fa92b1291bfb4f40aa52246624376877d08d84d2a201c9bf6f1ffae6d;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '296' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster create + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --identity-type --location --enable-purge --enable-streaming-ingest + --key-vault-properties --sku --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationResults/9132663b-17cc-4ebf-970d-d3ee66b7f509?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationresults/9132663b-17cc-4ebf-970d-d3ee66b7f509","name":"9132663b-17cc-4ebf-970d-d3ee66b7f509","status":"Running","startTime":"2020-04-28T10:06:42.1707545Z","endTime":"2020-04-28T10:06:44.5145049Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterCreateExternal","RootActivityId":"5946ed2f-814d-4425-b4a2-a2d884e6460f","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '469' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:09:15 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=348d1e7264ad0063baa3036f92cd47d46e91963aabd2dc4d51adfdac15009271;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '295' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster create + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --identity-type --location --enable-purge --enable-streaming-ingest + --key-vault-properties --sku --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationResults/9132663b-17cc-4ebf-970d-d3ee66b7f509?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationresults/9132663b-17cc-4ebf-970d-d3ee66b7f509","name":"9132663b-17cc-4ebf-970d-d3ee66b7f509","status":"Running","startTime":"2020-04-28T10:06:42.1707545Z","endTime":"2020-04-28T10:06:44.5145049Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterCreateExternal","RootActivityId":"5946ed2f-814d-4425-b4a2-a2d884e6460f","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '469' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:09:45 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=0b3e7bab7bc253429b01a84fcfe52f9eaf7487da416b1f2a0af2bf3349b35509;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '294' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster create + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --identity-type --location --enable-purge --enable-streaming-ingest + --key-vault-properties --sku --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationResults/9132663b-17cc-4ebf-970d-d3ee66b7f509?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationresults/9132663b-17cc-4ebf-970d-d3ee66b7f509","name":"9132663b-17cc-4ebf-970d-d3ee66b7f509","status":"Running","startTime":"2020-04-28T10:06:42.1707545Z","endTime":"2020-04-28T10:06:44.5145049Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterCreateExternal","RootActivityId":"5946ed2f-814d-4425-b4a2-a2d884e6460f","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '469' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:10:15 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=bf171968557f7483abc0913a42c0207b9017c552b91766911eca876583df224c;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '293' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster create + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --identity-type --location --enable-purge --enable-streaming-ingest + --key-vault-properties --sku --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationResults/9132663b-17cc-4ebf-970d-d3ee66b7f509?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationresults/9132663b-17cc-4ebf-970d-d3ee66b7f509","name":"9132663b-17cc-4ebf-970d-d3ee66b7f509","status":"Running","startTime":"2020-04-28T10:06:42.1707545Z","endTime":"2020-04-28T10:06:44.5145049Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterCreateExternal","RootActivityId":"5946ed2f-814d-4425-b4a2-a2d884e6460f","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '469' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:10:47 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=68eda2333691511c17b2574619a79876611dd86be1c55aa848d58cf2408b7c02;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '292' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster create + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --identity-type --location --enable-purge --enable-streaming-ingest + --key-vault-properties --sku --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationResults/9132663b-17cc-4ebf-970d-d3ee66b7f509?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationresults/9132663b-17cc-4ebf-970d-d3ee66b7f509","name":"9132663b-17cc-4ebf-970d-d3ee66b7f509","status":"Running","startTime":"2020-04-28T10:06:42.1707545Z","endTime":"2020-04-28T10:06:44.5145049Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterCreateExternal","RootActivityId":"5946ed2f-814d-4425-b4a2-a2d884e6460f","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '469' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:11:17 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=0b3e7bab7bc253429b01a84fcfe52f9eaf7487da416b1f2a0af2bf3349b35509;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '291' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster create + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --identity-type --location --enable-purge --enable-streaming-ingest + --key-vault-properties --sku --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationResults/9132663b-17cc-4ebf-970d-d3ee66b7f509?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationresults/9132663b-17cc-4ebf-970d-d3ee66b7f509","name":"9132663b-17cc-4ebf-970d-d3ee66b7f509","status":"Running","startTime":"2020-04-28T10:06:42.1707545Z","endTime":"2020-04-28T10:06:44.5145049Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterCreateExternal","RootActivityId":"5946ed2f-814d-4425-b4a2-a2d884e6460f","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '469' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:11:47 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=d29ec50e2353fd96ac8ed72619c1a2fb36a21ed6c3f22a5075cd2c606bb89829;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '290' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster create + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --identity-type --location --enable-purge --enable-streaming-ingest + --key-vault-properties --sku --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationResults/9132663b-17cc-4ebf-970d-d3ee66b7f509?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationresults/9132663b-17cc-4ebf-970d-d3ee66b7f509","name":"9132663b-17cc-4ebf-970d-d3ee66b7f509","status":"Running","startTime":"2020-04-28T10:06:42.1707545Z","endTime":"2020-04-28T10:06:44.5145049Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterCreateExternal","RootActivityId":"5946ed2f-814d-4425-b4a2-a2d884e6460f","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '469' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:12:18 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=322636332396dc9c2c583f1f95d6956f84718edf355825979649eda7bf94886e;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '289' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster create + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --identity-type --location --enable-purge --enable-streaming-ingest + --key-vault-properties --sku --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationResults/9132663b-17cc-4ebf-970d-d3ee66b7f509?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationresults/9132663b-17cc-4ebf-970d-d3ee66b7f509","name":"9132663b-17cc-4ebf-970d-d3ee66b7f509","status":"Running","startTime":"2020-04-28T10:06:42.1707545Z","endTime":"2020-04-28T10:06:44.5145049Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterCreateExternal","RootActivityId":"5946ed2f-814d-4425-b4a2-a2d884e6460f","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '469' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:12:48 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=be0e0d186a8dd7beec8fdedbe9912fb4fc8ea63ab4795c4847feb9495ca10dd5;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '288' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster create + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --identity-type --location --enable-purge --enable-streaming-ingest + --key-vault-properties --sku --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationResults/9132663b-17cc-4ebf-970d-d3ee66b7f509?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationresults/9132663b-17cc-4ebf-970d-d3ee66b7f509","name":"9132663b-17cc-4ebf-970d-d3ee66b7f509","status":"Running","startTime":"2020-04-28T10:06:42.1707545Z","endTime":"2020-04-28T10:06:44.5145049Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterCreateExternal","RootActivityId":"5946ed2f-814d-4425-b4a2-a2d884e6460f","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '469' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:13:19 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=f977ea28325f4c100ed19c1a7ed6395c7554e0af5ce62499bbee5975165c7757;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '287' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster create + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --identity-type --location --enable-purge --enable-streaming-ingest + --key-vault-properties --sku --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationResults/9132663b-17cc-4ebf-970d-d3ee66b7f509?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationresults/9132663b-17cc-4ebf-970d-d3ee66b7f509","name":"9132663b-17cc-4ebf-970d-d3ee66b7f509","status":"Running","startTime":"2020-04-28T10:06:42.1707545Z","endTime":"2020-04-28T10:06:44.5145049Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterCreateExternal","RootActivityId":"5946ed2f-814d-4425-b4a2-a2d884e6460f","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '469' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:13:49 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=3e9a49b330654e4ac57f196a7fb95bb367210c5ce4e9c674a332fb882012a73e;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '286' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster create + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --identity-type --location --enable-purge --enable-streaming-ingest + --key-vault-properties --sku --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationResults/9132663b-17cc-4ebf-970d-d3ee66b7f509?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationresults/9132663b-17cc-4ebf-970d-d3ee66b7f509","name":"9132663b-17cc-4ebf-970d-d3ee66b7f509","status":"Running","startTime":"2020-04-28T10:06:42.1707545Z","endTime":"2020-04-28T10:06:44.5145049Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterCreateExternal","RootActivityId":"5946ed2f-814d-4425-b4a2-a2d884e6460f","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '469' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:14:19 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=322636332396dc9c2c583f1f95d6956f84718edf355825979649eda7bf94886e;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '285' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster create + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --identity-type --location --enable-purge --enable-streaming-ingest + --key-vault-properties --sku --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationResults/9132663b-17cc-4ebf-970d-d3ee66b7f509?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationresults/9132663b-17cc-4ebf-970d-d3ee66b7f509","name":"9132663b-17cc-4ebf-970d-d3ee66b7f509","status":"Running","startTime":"2020-04-28T10:06:42.1707545Z","endTime":"2020-04-28T10:06:44.5145049Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterCreateExternal","RootActivityId":"5946ed2f-814d-4425-b4a2-a2d884e6460f","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '469' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:14:51 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=348d1e7264ad0063baa3036f92cd47d46e91963aabd2dc4d51adfdac15009271;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '284' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster create + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --identity-type --location --enable-purge --enable-streaming-ingest + --key-vault-properties --sku --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationResults/9132663b-17cc-4ebf-970d-d3ee66b7f509?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationresults/9132663b-17cc-4ebf-970d-d3ee66b7f509","name":"9132663b-17cc-4ebf-970d-d3ee66b7f509","status":"Running","startTime":"2020-04-28T10:06:42.1707545Z","endTime":"2020-04-28T10:06:44.5145049Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterCreateExternal","RootActivityId":"5946ed2f-814d-4425-b4a2-a2d884e6460f","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '469' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:15:21 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=0b3e7bab7bc253429b01a84fcfe52f9eaf7487da416b1f2a0af2bf3349b35509;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '289' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster create + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --identity-type --location --enable-purge --enable-streaming-ingest + --key-vault-properties --sku --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationResults/9132663b-17cc-4ebf-970d-d3ee66b7f509?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationresults/9132663b-17cc-4ebf-970d-d3ee66b7f509","name":"9132663b-17cc-4ebf-970d-d3ee66b7f509","status":"Running","startTime":"2020-04-28T10:06:42.1707545Z","endTime":"2020-04-28T10:06:44.5145049Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterCreateExternal","RootActivityId":"5946ed2f-814d-4425-b4a2-a2d884e6460f","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '469' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:15:52 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=68eda2333691511c17b2574619a79876611dd86be1c55aa848d58cf2408b7c02;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '299' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster create + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --identity-type --location --enable-purge --enable-streaming-ingest + --key-vault-properties --sku --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationResults/9132663b-17cc-4ebf-970d-d3ee66b7f509?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationresults/9132663b-17cc-4ebf-970d-d3ee66b7f509","name":"9132663b-17cc-4ebf-970d-d3ee66b7f509","status":"Running","startTime":"2020-04-28T10:06:42.1707545Z","endTime":"2020-04-28T10:06:44.5145049Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterCreateExternal","RootActivityId":"5946ed2f-814d-4425-b4a2-a2d884e6460f","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '469' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:16:22 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=348d1e7264ad0063baa3036f92cd47d46e91963aabd2dc4d51adfdac15009271;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '298' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster create + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --identity-type --location --enable-purge --enable-streaming-ingest + --key-vault-properties --sku --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationResults/9132663b-17cc-4ebf-970d-d3ee66b7f509?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationresults/9132663b-17cc-4ebf-970d-d3ee66b7f509","name":"9132663b-17cc-4ebf-970d-d3ee66b7f509","status":"Running","startTime":"2020-04-28T10:06:42.1707545Z","endTime":"2020-04-28T10:06:44.5145049Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterCreateExternal","RootActivityId":"5946ed2f-814d-4425-b4a2-a2d884e6460f","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '469' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:16:53 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=5e5ff28fa92b1291bfb4f40aa52246624376877d08d84d2a201c9bf6f1ffae6d;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '297' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster create + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --identity-type --location --enable-purge --enable-streaming-ingest + --key-vault-properties --sku --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationResults/9132663b-17cc-4ebf-970d-d3ee66b7f509?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationresults/9132663b-17cc-4ebf-970d-d3ee66b7f509","name":"9132663b-17cc-4ebf-970d-d3ee66b7f509","status":"Running","startTime":"2020-04-28T10:06:42.1707545Z","endTime":"2020-04-28T10:06:44.5145049Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterCreateExternal","RootActivityId":"5946ed2f-814d-4425-b4a2-a2d884e6460f","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '469' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:17:23 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=0b3e7bab7bc253429b01a84fcfe52f9eaf7487da416b1f2a0af2bf3349b35509;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '296' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster create + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --identity-type --location --enable-purge --enable-streaming-ingest + --key-vault-properties --sku --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationResults/9132663b-17cc-4ebf-970d-d3ee66b7f509?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationresults/9132663b-17cc-4ebf-970d-d3ee66b7f509","name":"9132663b-17cc-4ebf-970d-d3ee66b7f509","status":"Succeeded","startTime":"2020-04-28T10:06:42.1707545Z","endTime":"2020-04-28T10:17:29.6898115Z","percentComplete":1.0,"properties":{"OperationKind":"ClusterCreateExternal","RootActivityId":"5946ed2f-814d-4425-b4a2-a2d884e6460f","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '473' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:17:54 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=f977ea28325f4c100ed19c1a7ed6395c7554e0af5ce62499bbee5975165c7757;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '295' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster create + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --identity-type --location --enable-purge --enable-streaming-ingest + --key-vault-properties --sku --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/clusters/testcliclusterleader?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/Clusters/testcliclusterleader","name":"testcliclusterleader","type":"Microsoft.Kusto/Clusters","etag":"\"\"","location":"West + US","sku":{"name":"Standard_L8s","tier":"Standard","capacity":2},"tags":{},"properties":{"state":"Running","stateReason":null,"uri":"https://testcliclusterleader.westus.kusto.windows.net","dataIngestionUri":"https://ingest-testcliclusterleader.westus.kusto.windows.net","trustedExternalTenants":[],"virtualNetworkConfiguration":null,"optimizedAutoscale":null,"enableDiskEncryption":false,"enableStreamingIngest":true,"keyVaultProperties":null,"languageExtensions":{"value":[]},"enablePurge":true,"provisioningState":"Succeeded"},"identity":{"principalId":"580ee680-fcf2-4c4e-9631-f13415eba524","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"}}' + headers: + cache-control: + - no-cache + content-length: + - '971' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:17:54 GMT + etag: + - '""' + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=bf171968557f7483abc0913a42c0207b9017c552b91766911eca876583df224c;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '299' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster wait + Connection: + - keep-alive + ParameterSetName: + - --created --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/clusters/testcliclusterleader?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/Clusters/testcliclusterleader","name":"testcliclusterleader","type":"Microsoft.Kusto/Clusters","etag":"\"\"","location":"West + US","sku":{"name":"Standard_L8s","tier":"Standard","capacity":2},"tags":{},"properties":{"state":"Running","stateReason":null,"uri":"https://testcliclusterleader.westus.kusto.windows.net","dataIngestionUri":"https://ingest-testcliclusterleader.westus.kusto.windows.net","trustedExternalTenants":[],"virtualNetworkConfiguration":null,"optimizedAutoscale":null,"enableDiskEncryption":false,"enableStreamingIngest":true,"keyVaultProperties":null,"languageExtensions":{"value":[]},"enablePurge":true,"provisioningState":"Succeeded"},"identity":{"principalId":"580ee680-fcf2-4c4e-9631-f13415eba524","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"}}' + headers: + cache-control: + - no-cache + content-length: + - '971' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:17:57 GMT + etag: + - '""' + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=5e5ff28fa92b1291bfb4f40aa52246624376877d08d84d2a201c9bf6f1ffae6d;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '299' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster show + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/clusters/testcliclusterleader?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/Clusters/testcliclusterleader","name":"testcliclusterleader","type":"Microsoft.Kusto/Clusters","etag":"\"\"","location":"West + US","sku":{"name":"Standard_L8s","tier":"Standard","capacity":2},"tags":{},"properties":{"state":"Running","stateReason":null,"uri":"https://testcliclusterleader.westus.kusto.windows.net","dataIngestionUri":"https://ingest-testcliclusterleader.westus.kusto.windows.net","trustedExternalTenants":[],"virtualNetworkConfiguration":null,"optimizedAutoscale":null,"enableDiskEncryption":false,"enableStreamingIngest":true,"keyVaultProperties":null,"languageExtensions":{"value":[]},"enablePurge":true,"provisioningState":"Succeeded"},"identity":{"principalId":"580ee680-fcf2-4c4e-9631-f13415eba524","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"}}' + headers: + cache-control: + - no-cache + content-length: + - '971' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:17:58 GMT + etag: + - '""' + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=f977ea28325f4c100ed19c1a7ed6395c7554e0af5ce62499bbee5975165c7757;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '299' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster list + Connection: + - keep-alive + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/clusters?api-version=2020-02-15 + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/noamgotest/providers/Microsoft.Kusto/Clusters/noamgotest1","name":"noamgotest1","type":"Microsoft.Kusto/Clusters","etag":"\"\"","location":"West + Europe","sku":{"name":"Standard_D14_v2","tier":"Standard","capacity":2},"tags":{},"properties":{"state":"Stopped","stateReason":"Suspended + at 3/22/2020 11:23:02 AM","uri":"https://noamgotest1.westeurope.kusto.windows.net","dataIngestionUri":"https://ingest-noamgotest1.westeurope.kusto.windows.net","trustedExternalTenants":[],"virtualNetworkConfiguration":null,"optimizedAutoscale":null,"enableDiskEncryption":false,"enableStreamingIngest":false,"keyVaultProperties":null,"languageExtensions":{"value":[]},"enablePurge":null,"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/kubill-kustointernalppe/providers/Microsoft.Kusto/Clusters/royi","name":"royi","type":"Microsoft.Kusto/Clusters","etag":"\"\"","location":"East + US 2","sku":{"name":"Dev(No SLA)_Standard_D11_v2","tier":"Basic","capacity":1},"tags":{},"properties":{"state":"Running","stateReason":null,"uri":"https://royi.eastus2.kusto.windows.net","dataIngestionUri":"https://ingest-royi.eastus2.kusto.windows.net","trustedExternalTenants":[],"virtualNetworkConfiguration":null,"optimizedAutoscale":null,"enableDiskEncryption":false,"enableStreamingIngest":false,"keyVaultProperties":null,"languageExtensions":{"value":[]},"enablePurge":null,"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/royikusto/providers/Microsoft.Kusto/Clusters/royitest","name":"royitest","type":"Microsoft.Kusto/Clusters","etag":"\"\"","location":"East + US 2","sku":{"name":"Dev(No SLA)_Standard_D11_v2","tier":"Basic","capacity":1},"tags":{},"properties":{"state":"Running","stateReason":null,"uri":"https://royitest.eastus2.kusto.windows.net","dataIngestionUri":"https://ingest-royitest.eastus2.kusto.windows.net","trustedExternalTenants":[],"virtualNetworkConfiguration":null,"optimizedAutoscale":null,"enableDiskEncryption":false,"enableStreamingIngest":false,"keyVaultProperties":{"keyVaultUri":"https://royitestkv.vault.azure.net","keyName":"TestKey","keyVersion":"0efe068347d641f4bfd20c692f05ca62"},"languageExtensions":{"value":[]},"enablePurge":null,"provisioningState":"Succeeded"},"identity":{"principalId":"a9a04853-74ee-4bde-b14c-25f100bb0d50","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/astauben-tests/providers/Microsoft.Kusto/Clusters/astaubencli","name":"astaubencli","type":"Microsoft.Kusto/Clusters","etag":"\"\"","location":"West + US","sku":{"name":"Dev(No SLA)_Standard_D11_v2","tier":"Basic","capacity":1},"tags":{},"properties":{"state":"Running","stateReason":null,"uri":"https://astaubencli.westus.kusto.windows.net","dataIngestionUri":"https://ingest-astaubencli.westus.kusto.windows.net","trustedExternalTenants":[],"virtualNetworkConfiguration":null,"optimizedAutoscale":null,"enableDiskEncryption":false,"enableStreamingIngest":false,"keyVaultProperties":null,"languageExtensions":{"value":[]},"enablePurge":null,"provisioningState":"Succeeded"},"identity":{"principalId":"fddf12de-e076-4898-853b-c45b21242035","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/astauben-tests/providers/Microsoft.Kusto/Clusters/astaubentestcli","name":"astaubentestcli","type":"Microsoft.Kusto/Clusters","etag":"\"\"","location":"West + US","sku":{"name":"Standard_D12_v2","tier":"Standard","capacity":2},"tags":{},"properties":{"state":"Running","stateReason":null,"uri":"https://astaubentestcli.westus.kusto.windows.net","dataIngestionUri":"https://ingest-astaubentestcli.westus.kusto.windows.net","trustedExternalTenants":[],"virtualNetworkConfiguration":null,"optimizedAutoscale":null,"enableDiskEncryption":false,"enableStreamingIngest":false,"keyVaultProperties":null,"languageExtensions":{"value":[]},"enablePurge":true,"provisioningState":"Failed"},"identity":{"principalId":"6b62bb67-0f54-4211-acf7-3f882cca2437","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestgcjzdmbmffg63ofutofl5dbnfwb2exetloz6e3f2eqiyzlof2p7zqtbabgm7gf3qnr55/providers/Microsoft.Kusto/Clusters/clitestcluster","name":"clitestcluster","type":"Microsoft.Kusto/Clusters","etag":"\"\"","location":"West + US","sku":{"name":"Standard_L8s","tier":"Standard","capacity":2},"tags":{},"properties":{"state":"Running","stateReason":null,"uri":"https://clitestcluster.westus.kusto.windows.net","dataIngestionUri":"https://ingest-clitestcluster.westus.kusto.windows.net","trustedExternalTenants":[],"virtualNetworkConfiguration":null,"optimizedAutoscale":null,"enableDiskEncryption":false,"enableStreamingIngest":true,"keyVaultProperties":null,"languageExtensions":{"value":[]},"enablePurge":true,"provisioningState":"Succeeded"},"identity":{"principalId":"9f650181-5483-4436-b925-ab60f7735b5c","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest3dencicwf6phmiqnhkoc4i27dgo7i7ok6vzzxj2um55gwfpmcouh5wlq3fy7opdechxp/providers/Microsoft.Kusto/Clusters/testcli3","name":"testcli3","type":"Microsoft.Kusto/Clusters","etag":"\"\"","location":"West + US","sku":{"name":"Standard_L8s","tier":"Standard","capacity":2},"tags":{},"properties":{"state":"Running","stateReason":null,"uri":"https://testcli3.westus.kusto.windows.net","dataIngestionUri":"https://ingest-testcli3.westus.kusto.windows.net","trustedExternalTenants":[],"virtualNetworkConfiguration":null,"optimizedAutoscale":null,"enableDiskEncryption":false,"enableStreamingIngest":true,"keyVaultProperties":null,"languageExtensions":{"value":[]},"enablePurge":true,"provisioningState":"Succeeded"},"identity":{"principalId":"0f266868-fa0d-485d-8848-c44ec7dc680f","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/Clusters/testcliclusterfollower","name":"testcliclusterfollower","type":"Microsoft.Kusto/Clusters","etag":"\"\"","location":"West + US","sku":{"name":"Standard_L8s","tier":"Standard","capacity":2},"tags":{},"properties":{"state":"Running","stateReason":null,"uri":"https://testcliclusterfollower.westus.kusto.windows.net","dataIngestionUri":"https://ingest-testcliclusterfollower.westus.kusto.windows.net","trustedExternalTenants":[],"virtualNetworkConfiguration":null,"optimizedAutoscale":null,"enableDiskEncryption":false,"enableStreamingIngest":true,"keyVaultProperties":null,"languageExtensions":{"value":[]},"enablePurge":true,"provisioningState":"Succeeded"},"identity":{"principalId":"fe272264-9a7d-4a40-af0b-b9408bdc0f9a","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/Clusters/testcliclusterleader","name":"testcliclusterleader","type":"Microsoft.Kusto/Clusters","etag":"\"\"","location":"West + US","sku":{"name":"Standard_L8s","tier":"Standard","capacity":2},"tags":{},"properties":{"state":"Running","stateReason":null,"uri":"https://testcliclusterleader.westus.kusto.windows.net","dataIngestionUri":"https://ingest-testcliclusterleader.westus.kusto.windows.net","trustedExternalTenants":[],"virtualNetworkConfiguration":null,"optimizedAutoscale":null,"enableDiskEncryption":false,"enableStreamingIngest":true,"keyVaultProperties":null,"languageExtensions":{"value":[]},"enablePurge":true,"provisioningState":"Succeeded"},"identity":{"principalId":"580ee680-fcf2-4c4e-9631-f13415eba524","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testrg/providers/Microsoft.Kusto/Clusters/testnewkustocluster2","name":"testnewkustocluster2","type":"Microsoft.Kusto/Clusters","etag":"\"\"","location":"East + US","sku":{"name":"Standard_D11_v2","tier":"Standard","capacity":2},"tags":{},"properties":{"state":"Running","stateReason":null,"uri":"https://testnewkustocluster2.eastus.kusto.windows.net","dataIngestionUri":"https://ingest-testnewkustocluster2.eastus.kusto.windows.net","trustedExternalTenants":[],"virtualNetworkConfiguration":null,"optimizedAutoscale":null,"enableDiskEncryption":false,"enableStreamingIngest":false,"keyVaultProperties":null,"languageExtensions":{"value":[]},"enablePurge":null,"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testrg/providers/Microsoft.Kusto/Clusters/testnewkustocluster","name":"testnewkustocluster","type":"Microsoft.Kusto/Clusters","etag":"\"\"","location":"East + US","sku":{"name":"Standard_D11_v2","tier":"Standard","capacity":2},"tags":{},"properties":{"state":"Running","stateReason":null,"uri":"https://testnewkustocluster.eastus.kusto.windows.net","dataIngestionUri":"https://ingest-testnewkustocluster.eastus.kusto.windows.net","trustedExternalTenants":[],"virtualNetworkConfiguration":null,"optimizedAutoscale":null,"enableDiskEncryption":false,"enableStreamingIngest":false,"keyVaultProperties":null,"languageExtensions":{"value":[{"languageExtensionName":"PYTHON"}]},"enablePurge":null,"provisioningState":"Succeeded"},"identity":{"principalId":"e599ae33-a117-4952-bb30-5fab29f6334f","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/gildev/providers/Microsoft.Kusto/Clusters/gilcluster","name":"gilcluster","type":"Microsoft.Kusto/Clusters","etag":"\"\"","location":"East + US","sku":{"name":"Dev(No SLA)_Standard_D11_v2","tier":"Basic","capacity":1},"tags":{},"properties":{"state":"Running","stateReason":null,"uri":"https://gilcluster.eastus.kusto.windows.net","dataIngestionUri":"https://ingest-gilcluster.eastus.kusto.windows.net","trustedExternalTenants":[],"virtualNetworkConfiguration":null,"optimizedAutoscale":null,"enableDiskEncryption":false,"enableStreamingIngest":false,"keyVaultProperties":null,"languageExtensions":{"value":[]},"enablePurge":null,"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/orenrgilaysub/providers/Microsoft.Kusto/Clusters/oren2104","name":"oren2104","type":"Microsoft.Kusto/Clusters","etag":"\"\"","location":"East + US","sku":{"name":"Standard_D11_v2","tier":"Standard","capacity":2},"tags":{},"properties":{"state":"Running","stateReason":null,"uri":"https://oren2104.eastus.kusto.windows.net","dataIngestionUri":"https://ingest-oren2104.eastus.kusto.windows.net","trustedExternalTenants":[],"virtualNetworkConfiguration":null,"optimizedAutoscale":null,"enableDiskEncryption":false,"enableStreamingIngest":false,"keyVaultProperties":null,"languageExtensions":{"value":[]},"enablePurge":true,"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/noamDRI/providers/Microsoft.Kusto/Clusters/noamskuissue","name":"noamskuissue","type":"Microsoft.Kusto/Clusters","etag":"\"\"","location":"Australia + East","sku":{"name":"Standard_D14_v2","tier":"Standard","capacity":2},"tags":{},"properties":{"state":"Stopped","stateReason":"Suspended + at 3/22/2020 11:20:03 AM","uri":"https://noamskuissue.australiaeast.kusto.windows.net","dataIngestionUri":"https://ingest-noamskuissue.australiaeast.kusto.windows.net","trustedExternalTenants":[],"virtualNetworkConfiguration":null,"optimizedAutoscale":null,"enableDiskEncryption":false,"enableStreamingIngest":false,"keyVaultProperties":null,"languageExtensions":{"value":[]},"enablePurge":null,"provisioningState":"Succeeded"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '12073' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:18:01 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-original-request-ids: + - e55ccc83-74fe-4c3a-b14d-6fcd6e8ebdf5 + - 5b9112d1-2433-4e3e-9091-35d310315e91 + - 3d61a4db-384c-419b-a345-7882e13abf1a + - 6a224af8-1928-4a47-b73f-327eaafcdcef + - 0ae748ba-2f60-4f98-a91b-5b8dc0dd01bb + x-ms-ratelimit-remaining-subscription-resource-requests: + - '299' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster list + Connection: + - keep-alive + ParameterSetName: + - --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/clusters?api-version=2020-02-15 + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/Clusters/testcliclusterfollower","name":"testcliclusterfollower","type":"Microsoft.Kusto/Clusters","etag":"\"\"","location":"West + US","sku":{"name":"Standard_L8s","tier":"Standard","capacity":2},"tags":{},"properties":{"state":"Running","stateReason":null,"uri":"https://testcliclusterfollower.westus.kusto.windows.net","dataIngestionUri":"https://ingest-testcliclusterfollower.westus.kusto.windows.net","trustedExternalTenants":[],"virtualNetworkConfiguration":null,"optimizedAutoscale":null,"enableDiskEncryption":false,"enableStreamingIngest":true,"keyVaultProperties":null,"languageExtensions":{"value":[]},"enablePurge":true,"provisioningState":"Succeeded"},"identity":{"principalId":"fe272264-9a7d-4a40-af0b-b9408bdc0f9a","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/Clusters/testcliclusterleader","name":"testcliclusterleader","type":"Microsoft.Kusto/Clusters","etag":"\"\"","location":"West + US","sku":{"name":"Standard_L8s","tier":"Standard","capacity":2},"tags":{},"properties":{"state":"Running","stateReason":null,"uri":"https://testcliclusterleader.westus.kusto.windows.net","dataIngestionUri":"https://ingest-testcliclusterleader.westus.kusto.windows.net","trustedExternalTenants":[],"virtualNetworkConfiguration":null,"optimizedAutoscale":null,"enableDiskEncryption":false,"enableStreamingIngest":true,"keyVaultProperties":null,"languageExtensions":{"value":[]},"enablePurge":true,"provisioningState":"Succeeded"},"identity":{"principalId":"580ee680-fcf2-4c4e-9631-f13415eba524","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '1963' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:18:03 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=322636332396dc9c2c583f1f95d6956f84718edf355825979649eda7bf94886e;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '299' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster list-sku + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/clusters/testcliclusterleader/skus?api-version=2020-02-15 + response: + body: + string: '{"value":[{"resourceType":"Microsoft.Kusto/clusters","sku":{"name":"Standard_D14_v2","tier":"Standard","locationInfo":[{"location":"West + US","zones":[]}]},"capacity":{"minimum":2,"maximum":1000,"default":2,"scaleType":"Automatic"}},{"resourceType":"Microsoft.Kusto/clusters","sku":{"name":"Standard_D13_v2","tier":"Standard","locationInfo":[{"location":"West + US","zones":[]}]},"capacity":{"minimum":2,"maximum":1000,"default":2,"scaleType":"Automatic"}},{"resourceType":"Microsoft.Kusto/clusters","sku":{"name":"Standard_L8s","tier":"Standard","locationInfo":[{"location":"West + US","zones":[]}]},"capacity":{"minimum":2,"maximum":1000,"default":2,"scaleType":"Automatic"}},{"resourceType":"Microsoft.Kusto/clusters","sku":{"name":"Standard_L16s","tier":"Standard","locationInfo":[{"location":"West + US","zones":[]}]},"capacity":{"minimum":2,"maximum":1000,"default":2,"scaleType":"Automatic"}},{"resourceType":"Microsoft.Kusto/clusters","sku":{"name":"Standard_D11_v2","tier":"Standard","locationInfo":[{"location":"West + US","zones":[]}]},"capacity":{"minimum":2,"maximum":8,"default":2,"scaleType":"Automatic"}},{"resourceType":"Microsoft.Kusto/clusters","sku":{"name":"Standard_D12_v2","tier":"Standard","locationInfo":[{"location":"West + US","zones":[]}]},"capacity":{"minimum":2,"maximum":16,"default":2,"scaleType":"Automatic"}},{"resourceType":"Microsoft.Kusto/clusters","sku":{"name":"Standard_L4s","tier":"Standard","locationInfo":[{"location":"West + US","zones":[]}]},"capacity":{"minimum":2,"maximum":16,"default":2,"scaleType":"Automatic"}},{"resourceType":"Microsoft.Kusto/clusters","sku":{"name":"Standard_DS13_v2+1TB_PS","tier":"Standard","locationInfo":[{"location":"West + US","zones":[]}]},"capacity":{"minimum":2,"maximum":1000,"default":2,"scaleType":"Automatic"}},{"resourceType":"Microsoft.Kusto/clusters","sku":{"name":"Standard_DS13_v2+2TB_PS","tier":"Standard","locationInfo":[{"location":"West + US","zones":[]}]},"capacity":{"minimum":2,"maximum":1000,"default":2,"scaleType":"Automatic"}},{"resourceType":"Microsoft.Kusto/clusters","sku":{"name":"Standard_DS14_v2+3TB_PS","tier":"Standard","locationInfo":[{"location":"West + US","zones":[]}]},"capacity":{"minimum":2,"maximum":1000,"default":2,"scaleType":"Automatic"}},{"resourceType":"Microsoft.Kusto/clusters","sku":{"name":"Standard_DS14_v2+4TB_PS","tier":"Standard","locationInfo":[{"location":"West + US","zones":[]}]},"capacity":{"minimum":2,"maximum":1000,"default":2,"scaleType":"Automatic"}},{"resourceType":"Microsoft.Kusto/clusters","sku":{"name":"Standard_L8s_v2","tier":"Standard","locationInfo":[{"location":"West + US","zones":[]}]},"capacity":{"minimum":2,"maximum":1000,"default":2,"scaleType":"Automatic"}},{"resourceType":"Microsoft.Kusto/clusters","sku":{"name":"Standard_L16s_v2","tier":"Standard","locationInfo":[{"location":"West + US","zones":[]}]},"capacity":{"minimum":2,"maximum":1000,"default":2,"scaleType":"Automatic"}},{"resourceType":"Microsoft.Kusto/clusters","sku":{"name":"Standard_E2a_v4","tier":"Standard","locationInfo":[{"location":"West + US","zones":[]}]},"capacity":{"minimum":2,"maximum":1000,"default":2,"scaleType":"Automatic"}},{"resourceType":"Microsoft.Kusto/clusters","sku":{"name":"Standard_E4a_v4","tier":"Standard","locationInfo":[{"location":"West + US","zones":[]}]},"capacity":{"minimum":2,"maximum":1000,"default":2,"scaleType":"Automatic"}},{"resourceType":"Microsoft.Kusto/clusters","sku":{"name":"Standard_E8a_v4","tier":"Standard","locationInfo":[{"location":"West + US","zones":[]}]},"capacity":{"minimum":2,"maximum":1000,"default":2,"scaleType":"Automatic"}},{"resourceType":"Microsoft.Kusto/clusters","sku":{"name":"Standard_E16a_v4","tier":"Standard","locationInfo":[{"location":"West + US","zones":[]}]},"capacity":{"minimum":2,"maximum":1000,"default":2,"scaleType":"Automatic"}},{"resourceType":"Microsoft.Kusto/clusters","sku":{"name":"Standard_E8as_v4+1TB_PS","tier":"Standard","locationInfo":[{"location":"West + US","zones":[]}]},"capacity":{"minimum":2,"maximum":1000,"default":2,"scaleType":"Automatic"}},{"resourceType":"Microsoft.Kusto/clusters","sku":{"name":"Standard_E8as_v4+2TB_PS","tier":"Standard","locationInfo":[{"location":"West + US","zones":[]}]},"capacity":{"minimum":2,"maximum":1000,"default":2,"scaleType":"Automatic"}},{"resourceType":"Microsoft.Kusto/clusters","sku":{"name":"Standard_E16as_v4+3TB_PS","tier":"Standard","locationInfo":[{"location":"West + US","zones":[]}]},"capacity":{"minimum":2,"maximum":1000,"default":2,"scaleType":"Automatic"}},{"resourceType":"Microsoft.Kusto/clusters","sku":{"name":"Standard_E16as_v4+4TB_PS","tier":"Standard","locationInfo":[{"location":"West + US","zones":[]}]},"capacity":{"minimum":2,"maximum":1000,"default":2,"scaleType":"Automatic"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '4726' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:18:04 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=5e5ff28fa92b1291bfb4f40aa52246624376877d08d84d2a201c9bf6f1ffae6d;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster list-sku + Connection: + - keep-alive + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/skus?api-version=2020-02-15 + response: + body: + string: '{"value":[{"resourceType":"clusters","name":"Dev(No SLA)_Standard_D11_v2","tier":"Basic","locations":["centralus"],"locationInfo":[{"location":"centralus","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D11_v2","tier":"Standard","locations":["centralus"],"locationInfo":[{"location":"centralus","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D12_v2","tier":"Standard","locations":["centralus"],"locationInfo":[{"location":"centralus","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D13_v2","tier":"Standard","locations":["centralus"],"locationInfo":[{"location":"centralus","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D14_v2","tier":"Standard","locations":["centralus"],"locationInfo":[{"location":"centralus","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+1TB_PS","tier":"Standard","locations":["centralus"],"locationInfo":[{"location":"centralus","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+2TB_PS","tier":"Standard","locations":["centralus"],"locationInfo":[{"location":"centralus","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+3TB_PS","tier":"Standard","locations":["centralus"],"locationInfo":[{"location":"centralus","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+4TB_PS","tier":"Standard","locations":["centralus"],"locationInfo":[{"location":"centralus","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_L4s","tier":"Standard","locations":["centralus"],"locationInfo":[{"location":"centralus","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_L8s","tier":"Standard","locations":["centralus"],"locationInfo":[{"location":"centralus","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_L16s","tier":"Standard","locations":["centralus"],"locationInfo":[{"location":"centralus","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Dev(No + SLA)_Standard_D11_v2","tier":"Basic","locations":["westeurope"],"locationInfo":[{"location":"westeurope","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D11_v2","tier":"Standard","locations":["westeurope"],"locationInfo":[{"location":"westeurope","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D12_v2","tier":"Standard","locations":["westeurope"],"locationInfo":[{"location":"westeurope","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D13_v2","tier":"Standard","locations":["westeurope"],"locationInfo":[{"location":"westeurope","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D14_v2","tier":"Standard","locations":["westeurope"],"locationInfo":[{"location":"westeurope","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+1TB_PS","tier":"Standard","locations":["westeurope"],"locationInfo":[{"location":"westeurope","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+2TB_PS","tier":"Standard","locations":["westeurope"],"locationInfo":[{"location":"westeurope","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+3TB_PS","tier":"Standard","locations":["westeurope"],"locationInfo":[{"location":"westeurope","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+4TB_PS","tier":"Standard","locations":["westeurope"],"locationInfo":[{"location":"westeurope","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_L4s","tier":"Standard","locations":["westeurope"],"locationInfo":[{"location":"westeurope","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_L8s","tier":"Standard","locations":["westeurope"],"locationInfo":[{"location":"westeurope","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_L16s","tier":"Standard","locations":["westeurope"],"locationInfo":[{"location":"westeurope","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Dev(No + SLA)_Standard_D11_v2","tier":"Basic","locations":["northeurope"],"locationInfo":[{"location":"northeurope","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D11_v2","tier":"Standard","locations":["northeurope"],"locationInfo":[{"location":"northeurope","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D12_v2","tier":"Standard","locations":["northeurope"],"locationInfo":[{"location":"northeurope","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D13_v2","tier":"Standard","locations":["northeurope"],"locationInfo":[{"location":"northeurope","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D14_v2","tier":"Standard","locations":["northeurope"],"locationInfo":[{"location":"northeurope","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+1TB_PS","tier":"Standard","locations":["northeurope"],"locationInfo":[{"location":"northeurope","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+2TB_PS","tier":"Standard","locations":["northeurope"],"locationInfo":[{"location":"northeurope","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+3TB_PS","tier":"Standard","locations":["northeurope"],"locationInfo":[{"location":"northeurope","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+4TB_PS","tier":"Standard","locations":["northeurope"],"locationInfo":[{"location":"northeurope","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_L4s","tier":"Standard","locations":["northeurope"],"locationInfo":[{"location":"northeurope","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_L8s","tier":"Standard","locations":["northeurope"],"locationInfo":[{"location":"northeurope","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_L16s","tier":"Standard","locations":["northeurope"],"locationInfo":[{"location":"northeurope","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Dev(No + SLA)_Standard_D11_v2","tier":"Basic","locations":["eastus2"],"locationInfo":[{"location":"eastus2","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D11_v2","tier":"Standard","locations":["eastus2"],"locationInfo":[{"location":"eastus2","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D12_v2","tier":"Standard","locations":["eastus2"],"locationInfo":[{"location":"eastus2","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D13_v2","tier":"Standard","locations":["eastus2"],"locationInfo":[{"location":"eastus2","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D14_v2","tier":"Standard","locations":["eastus2"],"locationInfo":[{"location":"eastus2","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+1TB_PS","tier":"Standard","locations":["eastus2"],"locationInfo":[{"location":"eastus2","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+2TB_PS","tier":"Standard","locations":["eastus2"],"locationInfo":[{"location":"eastus2","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+3TB_PS","tier":"Standard","locations":["eastus2"],"locationInfo":[{"location":"eastus2","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+4TB_PS","tier":"Standard","locations":["eastus2"],"locationInfo":[{"location":"eastus2","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_L4s","tier":"Standard","locations":["eastus2"],"locationInfo":[{"location":"eastus2","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_L8s","tier":"Standard","locations":["eastus2"],"locationInfo":[{"location":"eastus2","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_L16s","tier":"Standard","locations":["eastus2"],"locationInfo":[{"location":"eastus2","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Dev(No + SLA)_Standard_D11_v2","tier":"Basic","locations":["westcentralus"],"locationInfo":[{"location":"westcentralus","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D11_v2","tier":"Standard","locations":["westcentralus"],"locationInfo":[{"location":"westcentralus","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D12_v2","tier":"Standard","locations":["westcentralus"],"locationInfo":[{"location":"westcentralus","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D13_v2","tier":"Standard","locations":["westcentralus"],"locationInfo":[{"location":"westcentralus","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D14_v2","tier":"Standard","locations":["westcentralus"],"locationInfo":[{"location":"westcentralus","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+1TB_PS","tier":"Standard","locations":["westcentralus"],"locationInfo":[{"location":"westcentralus","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+2TB_PS","tier":"Standard","locations":["westcentralus"],"locationInfo":[{"location":"westcentralus","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+3TB_PS","tier":"Standard","locations":["westcentralus"],"locationInfo":[{"location":"westcentralus","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+4TB_PS","tier":"Standard","locations":["westcentralus"],"locationInfo":[{"location":"westcentralus","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Dev(No + SLA)_Standard_D11_v2","tier":"Basic","locations":["germanywestcentral"],"locationInfo":[{"location":"germanywestcentral","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D11_v2","tier":"Standard","locations":["germanywestcentral"],"locationInfo":[{"location":"germanywestcentral","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D12_v2","tier":"Standard","locations":["germanywestcentral"],"locationInfo":[{"location":"germanywestcentral","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D13_v2","tier":"Standard","locations":["germanywestcentral"],"locationInfo":[{"location":"germanywestcentral","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D14_v2","tier":"Standard","locations":["germanywestcentral"],"locationInfo":[{"location":"germanywestcentral","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+1TB_PS","tier":"Standard","locations":["germanywestcentral"],"locationInfo":[{"location":"germanywestcentral","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+2TB_PS","tier":"Standard","locations":["germanywestcentral"],"locationInfo":[{"location":"germanywestcentral","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+3TB_PS","tier":"Standard","locations":["germanywestcentral"],"locationInfo":[{"location":"germanywestcentral","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+4TB_PS","tier":"Standard","locations":["germanywestcentral"],"locationInfo":[{"location":"germanywestcentral","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Dev(No + SLA)_Standard_D11_v2","tier":"Basic","locations":["westus"],"locationInfo":[{"location":"westus","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D11_v2","tier":"Standard","locations":["westus"],"locationInfo":[{"location":"westus","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D12_v2","tier":"Standard","locations":["westus"],"locationInfo":[{"location":"westus","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D13_v2","tier":"Standard","locations":["westus"],"locationInfo":[{"location":"westus","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D14_v2","tier":"Standard","locations":["westus"],"locationInfo":[{"location":"westus","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+1TB_PS","tier":"Standard","locations":["westus"],"locationInfo":[{"location":"westus","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+2TB_PS","tier":"Standard","locations":["westus"],"locationInfo":[{"location":"westus","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+3TB_PS","tier":"Standard","locations":["westus"],"locationInfo":[{"location":"westus","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+4TB_PS","tier":"Standard","locations":["westus"],"locationInfo":[{"location":"westus","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_L4s","tier":"Standard","locations":["westus"],"locationInfo":[{"location":"westus","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_L8s","tier":"Standard","locations":["westus"],"locationInfo":[{"location":"westus","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_L16s","tier":"Standard","locations":["westus"],"locationInfo":[{"location":"westus","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Dev(No + SLA)_Standard_D11_v2","tier":"Basic","locations":["southeastasia"],"locationInfo":[{"location":"southeastasia","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D11_v2","tier":"Standard","locations":["southeastasia"],"locationInfo":[{"location":"southeastasia","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D12_v2","tier":"Standard","locations":["southeastasia"],"locationInfo":[{"location":"southeastasia","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D13_v2","tier":"Standard","locations":["southeastasia"],"locationInfo":[{"location":"southeastasia","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D14_v2","tier":"Standard","locations":["southeastasia"],"locationInfo":[{"location":"southeastasia","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+1TB_PS","tier":"Standard","locations":["southeastasia"],"locationInfo":[{"location":"southeastasia","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+2TB_PS","tier":"Standard","locations":["southeastasia"],"locationInfo":[{"location":"southeastasia","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+3TB_PS","tier":"Standard","locations":["southeastasia"],"locationInfo":[{"location":"southeastasia","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+4TB_PS","tier":"Standard","locations":["southeastasia"],"locationInfo":[{"location":"southeastasia","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_L4s","tier":"Standard","locations":["southeastasia"],"locationInfo":[{"location":"southeastasia","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_L8s","tier":"Standard","locations":["southeastasia"],"locationInfo":[{"location":"southeastasia","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_L16s","tier":"Standard","locations":["southeastasia"],"locationInfo":[{"location":"southeastasia","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Dev(No + SLA)_Standard_D11_v2","tier":"Basic","locations":["eastus"],"locationInfo":[{"location":"eastus","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D11_v2","tier":"Standard","locations":["eastus"],"locationInfo":[{"location":"eastus","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D12_v2","tier":"Standard","locations":["eastus"],"locationInfo":[{"location":"eastus","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D13_v2","tier":"Standard","locations":["eastus"],"locationInfo":[{"location":"eastus","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D14_v2","tier":"Standard","locations":["eastus"],"locationInfo":[{"location":"eastus","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+1TB_PS","tier":"Standard","locations":["eastus"],"locationInfo":[{"location":"eastus","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+2TB_PS","tier":"Standard","locations":["eastus"],"locationInfo":[{"location":"eastus","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+3TB_PS","tier":"Standard","locations":["eastus"],"locationInfo":[{"location":"eastus","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+4TB_PS","tier":"Standard","locations":["eastus"],"locationInfo":[{"location":"eastus","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Dev(No + SLA)_Standard_D11_v2","tier":"Basic","locations":["westus2"],"locationInfo":[{"location":"westus2","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D11_v2","tier":"Standard","locations":["westus2"],"locationInfo":[{"location":"westus2","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D12_v2","tier":"Standard","locations":["westus2"],"locationInfo":[{"location":"westus2","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D13_v2","tier":"Standard","locations":["westus2"],"locationInfo":[{"location":"westus2","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D14_v2","tier":"Standard","locations":["westus2"],"locationInfo":[{"location":"westus2","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+1TB_PS","tier":"Standard","locations":["westus2"],"locationInfo":[{"location":"westus2","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+2TB_PS","tier":"Standard","locations":["westus2"],"locationInfo":[{"location":"westus2","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+3TB_PS","tier":"Standard","locations":["westus2"],"locationInfo":[{"location":"westus2","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+4TB_PS","tier":"Standard","locations":["westus2"],"locationInfo":[{"location":"westus2","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Dev(No + SLA)_Standard_D11_v2","tier":"Basic","locations":["westus2"],"locationInfo":[{"location":"westus2","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D11_v2","tier":"Standard","locations":["westus2"],"locationInfo":[{"location":"westus2","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D12_v2","tier":"Standard","locations":["westus2"],"locationInfo":[{"location":"westus2","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D13_v2","tier":"Standard","locations":["westus2"],"locationInfo":[{"location":"westus2","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D14_v2","tier":"Standard","locations":["westus2"],"locationInfo":[{"location":"westus2","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Dev(No + SLA)_Standard_D11_v2","tier":"Basic","locations":["southcentralus"],"locationInfo":[{"location":"southcentralus","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D11_v2","tier":"Standard","locations":["southcentralus"],"locationInfo":[{"location":"southcentralus","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D12_v2","tier":"Standard","locations":["southcentralus"],"locationInfo":[{"location":"southcentralus","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D13_v2","tier":"Standard","locations":["southcentralus"],"locationInfo":[{"location":"southcentralus","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D14_v2","tier":"Standard","locations":["southcentralus"],"locationInfo":[{"location":"southcentralus","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+1TB_PS","tier":"Standard","locations":["southcentralus"],"locationInfo":[{"location":"southcentralus","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+2TB_PS","tier":"Standard","locations":["southcentralus"],"locationInfo":[{"location":"southcentralus","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+3TB_PS","tier":"Standard","locations":["southcentralus"],"locationInfo":[{"location":"southcentralus","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+4TB_PS","tier":"Standard","locations":["southcentralus"],"locationInfo":[{"location":"southcentralus","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Dev(No + SLA)_Standard_D11_v2","tier":"Basic","locations":["northcentralus"],"locationInfo":[{"location":"northcentralus","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D11_v2","tier":"Standard","locations":["northcentralus"],"locationInfo":[{"location":"northcentralus","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D12_v2","tier":"Standard","locations":["northcentralus"],"locationInfo":[{"location":"northcentralus","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D13_v2","tier":"Standard","locations":["northcentralus"],"locationInfo":[{"location":"northcentralus","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D14_v2","tier":"Standard","locations":["northcentralus"],"locationInfo":[{"location":"northcentralus","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+1TB_PS","tier":"Standard","locations":["northcentralus"],"locationInfo":[{"location":"northcentralus","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+2TB_PS","tier":"Standard","locations":["northcentralus"],"locationInfo":[{"location":"northcentralus","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+3TB_PS","tier":"Standard","locations":["northcentralus"],"locationInfo":[{"location":"northcentralus","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+4TB_PS","tier":"Standard","locations":["northcentralus"],"locationInfo":[{"location":"northcentralus","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Dev(No + SLA)_Standard_D11_v2","tier":"Basic","locations":["eastasia"],"locationInfo":[{"location":"eastasia","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D11_v2","tier":"Standard","locations":["eastasia"],"locationInfo":[{"location":"eastasia","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D13_v2","tier":"Standard","locations":["eastasia"],"locationInfo":[{"location":"eastasia","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D14_v2","tier":"Standard","locations":["eastasia"],"locationInfo":[{"location":"eastasia","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+1TB_PS","tier":"Standard","locations":["eastasia"],"locationInfo":[{"location":"eastasia","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+2TB_PS","tier":"Standard","locations":["eastasia"],"locationInfo":[{"location":"eastasia","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+3TB_PS","tier":"Standard","locations":["eastasia"],"locationInfo":[{"location":"eastasia","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+4TB_PS","tier":"Standard","locations":["eastasia"],"locationInfo":[{"location":"eastasia","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Dev(No + SLA)_Standard_D11_v2","tier":"Basic","locations":["japaneast"],"locationInfo":[{"location":"japaneast","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D11_v2","tier":"Standard","locations":["japaneast"],"locationInfo":[{"location":"japaneast","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D12_v2","tier":"Standard","locations":["japaneast"],"locationInfo":[{"location":"japaneast","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D13_v2","tier":"Standard","locations":["japaneast"],"locationInfo":[{"location":"japaneast","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D14_v2","tier":"Standard","locations":["japaneast"],"locationInfo":[{"location":"japaneast","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+1TB_PS","tier":"Standard","locations":["japaneast"],"locationInfo":[{"location":"japaneast","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+2TB_PS","tier":"Standard","locations":["japaneast"],"locationInfo":[{"location":"japaneast","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+3TB_PS","tier":"Standard","locations":["japaneast"],"locationInfo":[{"location":"japaneast","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+4TB_PS","tier":"Standard","locations":["japaneast"],"locationInfo":[{"location":"japaneast","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_L4s","tier":"Standard","locations":["japaneast"],"locationInfo":[{"location":"japaneast","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_L8s","tier":"Standard","locations":["japaneast"],"locationInfo":[{"location":"japaneast","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_L16s","tier":"Standard","locations":["japaneast"],"locationInfo":[{"location":"japaneast","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Dev(No + SLA)_Standard_D11_v2","tier":"Basic","locations":["canadacentral"],"locationInfo":[{"location":"canadacentral","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D11_v2","tier":"Standard","locations":["canadacentral"],"locationInfo":[{"location":"canadacentral","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D12_v2","tier":"Standard","locations":["canadacentral"],"locationInfo":[{"location":"canadacentral","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D13_v2","tier":"Standard","locations":["canadacentral"],"locationInfo":[{"location":"canadacentral","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D14_v2","tier":"Standard","locations":["canadacentral"],"locationInfo":[{"location":"canadacentral","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+1TB_PS","tier":"Standard","locations":["canadacentral"],"locationInfo":[{"location":"canadacentral","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+2TB_PS","tier":"Standard","locations":["canadacentral"],"locationInfo":[{"location":"canadacentral","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+3TB_PS","tier":"Standard","locations":["canadacentral"],"locationInfo":[{"location":"canadacentral","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+4TB_PS","tier":"Standard","locations":["canadacentral"],"locationInfo":[{"location":"canadacentral","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_L4s","tier":"Standard","locations":["canadacentral"],"locationInfo":[{"location":"canadacentral","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_L8s","tier":"Standard","locations":["canadacentral"],"locationInfo":[{"location":"canadacentral","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_L16s","tier":"Standard","locations":["canadacentral"],"locationInfo":[{"location":"canadacentral","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_L4s","tier":"Standard","locations":["uksouth"],"locationInfo":[{"location":"uksouth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_L8s","tier":"Standard","locations":["uksouth"],"locationInfo":[{"location":"uksouth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_L16s","tier":"Standard","locations":["uksouth"],"locationInfo":[{"location":"uksouth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Dev(No + SLA)_Standard_D11_v2","tier":"Basic","locations":["australiaeast"],"locationInfo":[{"location":"australiaeast","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D11_v2","tier":"Standard","locations":["australiaeast"],"locationInfo":[{"location":"australiaeast","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D12_v2","tier":"Standard","locations":["australiaeast"],"locationInfo":[{"location":"australiaeast","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D13_v2","tier":"Standard","locations":["australiaeast"],"locationInfo":[{"location":"australiaeast","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D14_v2","tier":"Standard","locations":["australiaeast"],"locationInfo":[{"location":"australiaeast","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+1TB_PS","tier":"Standard","locations":["australiaeast"],"locationInfo":[{"location":"australiaeast","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+2TB_PS","tier":"Standard","locations":["australiaeast"],"locationInfo":[{"location":"australiaeast","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+3TB_PS","tier":"Standard","locations":["australiaeast"],"locationInfo":[{"location":"australiaeast","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+4TB_PS","tier":"Standard","locations":["australiaeast"],"locationInfo":[{"location":"australiaeast","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Dev(No + SLA)_Standard_D11_v2","tier":"Basic","locations":["brazilsouth"],"locationInfo":[{"location":"brazilsouth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D11_v2","tier":"Standard","locations":["brazilsouth"],"locationInfo":[{"location":"brazilsouth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D13_v2","tier":"Standard","locations":["brazilsouth"],"locationInfo":[{"location":"brazilsouth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D14_v2","tier":"Standard","locations":["brazilsouth"],"locationInfo":[{"location":"brazilsouth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+1TB_PS","tier":"Standard","locations":["brazilsouth"],"locationInfo":[{"location":"brazilsouth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+2TB_PS","tier":"Standard","locations":["brazilsouth"],"locationInfo":[{"location":"brazilsouth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+3TB_PS","tier":"Standard","locations":["brazilsouth"],"locationInfo":[{"location":"brazilsouth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+4TB_PS","tier":"Standard","locations":["brazilsouth"],"locationInfo":[{"location":"brazilsouth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Dev(No + SLA)_Standard_D11_v2","tier":"Basic","locations":["japanwest"],"locationInfo":[{"location":"japanwest","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D11_v2","tier":"Standard","locations":["japanwest"],"locationInfo":[{"location":"japanwest","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D12_v2","tier":"Standard","locations":["japanwest"],"locationInfo":[{"location":"japanwest","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D13_v2","tier":"Standard","locations":["japanwest"],"locationInfo":[{"location":"japanwest","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D14_v2","tier":"Standard","locations":["japanwest"],"locationInfo":[{"location":"japanwest","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+1TB_PS","tier":"Standard","locations":["japanwest"],"locationInfo":[{"location":"japanwest","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+2TB_PS","tier":"Standard","locations":["japanwest"],"locationInfo":[{"location":"japanwest","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+3TB_PS","tier":"Standard","locations":["japanwest"],"locationInfo":[{"location":"japanwest","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+4TB_PS","tier":"Standard","locations":["japanwest"],"locationInfo":[{"location":"japanwest","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Dev(No + SLA)_Standard_D11_v2","tier":"Basic","locations":["southindia"],"locationInfo":[{"location":"southindia","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D11_v2","tier":"Standard","locations":["southindia"],"locationInfo":[{"location":"southindia","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D13_v2","tier":"Standard","locations":["southindia"],"locationInfo":[{"location":"southindia","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D14_v2","tier":"Standard","locations":["southindia"],"locationInfo":[{"location":"southindia","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+1TB_PS","tier":"Standard","locations":["southindia"],"locationInfo":[{"location":"southindia","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+2TB_PS","tier":"Standard","locations":["southindia"],"locationInfo":[{"location":"southindia","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+3TB_PS","tier":"Standard","locations":["southindia"],"locationInfo":[{"location":"southindia","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+4TB_PS","tier":"Standard","locations":["southindia"],"locationInfo":[{"location":"southindia","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Dev(No + SLA)_Standard_D11_v2","tier":"Basic","locations":["centralindia"],"locationInfo":[{"location":"centralindia","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D11_v2","tier":"Standard","locations":["centralindia"],"locationInfo":[{"location":"centralindia","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D12_v2","tier":"Standard","locations":["centralindia"],"locationInfo":[{"location":"centralindia","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D13_v2","tier":"Standard","locations":["centralindia"],"locationInfo":[{"location":"centralindia","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D14_v2","tier":"Standard","locations":["centralindia"],"locationInfo":[{"location":"centralindia","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Dev(No + SLA)_Standard_D11_v2","tier":"Basic","locations":["westindia"],"locationInfo":[{"location":"westindia","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D11_v2","tier":"Standard","locations":["westindia"],"locationInfo":[{"location":"westindia","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D12_v2","tier":"Standard","locations":["westindia"],"locationInfo":[{"location":"westindia","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D13_v2","tier":"Standard","locations":["westindia"],"locationInfo":[{"location":"westindia","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D14_v2","tier":"Standard","locations":["westindia"],"locationInfo":[{"location":"westindia","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+1TB_PS","tier":"Standard","locations":["westindia"],"locationInfo":[{"location":"westindia","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+2TB_PS","tier":"Standard","locations":["westindia"],"locationInfo":[{"location":"westindia","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+3TB_PS","tier":"Standard","locations":["westindia"],"locationInfo":[{"location":"westindia","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+4TB_PS","tier":"Standard","locations":["westindia"],"locationInfo":[{"location":"westindia","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Dev(No + SLA)_Standard_D11_v2","tier":"Basic","locations":["canadaeast"],"locationInfo":[{"location":"canadaeast","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D11_v2","tier":"Standard","locations":["canadaeast"],"locationInfo":[{"location":"canadaeast","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D12_v2","tier":"Standard","locations":["canadaeast"],"locationInfo":[{"location":"canadaeast","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D13_v2","tier":"Standard","locations":["canadaeast"],"locationInfo":[{"location":"canadaeast","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D14_v2","tier":"Standard","locations":["canadaeast"],"locationInfo":[{"location":"canadaeast","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_L4s","tier":"Standard","locations":["canadaeast"],"locationInfo":[{"location":"canadaeast","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_L8s","tier":"Standard","locations":["canadaeast"],"locationInfo":[{"location":"canadaeast","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_L16s","tier":"Standard","locations":["canadaeast"],"locationInfo":[{"location":"canadaeast","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Dev(No + SLA)_Standard_D11_v2","tier":"Basic","locations":["koreacentral"],"locationInfo":[{"location":"koreacentral","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D11_v2","tier":"Standard","locations":["koreacentral"],"locationInfo":[{"location":"koreacentral","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D12_v2","tier":"Standard","locations":["koreacentral"],"locationInfo":[{"location":"koreacentral","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D13_v2","tier":"Standard","locations":["koreacentral"],"locationInfo":[{"location":"koreacentral","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D14_v2","tier":"Standard","locations":["koreacentral"],"locationInfo":[{"location":"koreacentral","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+1TB_PS","tier":"Standard","locations":["koreacentral"],"locationInfo":[{"location":"koreacentral","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+2TB_PS","tier":"Standard","locations":["koreacentral"],"locationInfo":[{"location":"koreacentral","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+3TB_PS","tier":"Standard","locations":["koreacentral"],"locationInfo":[{"location":"koreacentral","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+4TB_PS","tier":"Standard","locations":["koreacentral"],"locationInfo":[{"location":"koreacentral","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Dev(No + SLA)_Standard_D11_v2","tier":"Basic","locations":["francecentral"],"locationInfo":[{"location":"francecentral","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D11_v2","tier":"Standard","locations":["francecentral"],"locationInfo":[{"location":"francecentral","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D12_v2","tier":"Standard","locations":["francecentral"],"locationInfo":[{"location":"francecentral","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D13_v2","tier":"Standard","locations":["francecentral"],"locationInfo":[{"location":"francecentral","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D14_v2","tier":"Standard","locations":["francecentral"],"locationInfo":[{"location":"francecentral","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+1TB_PS","tier":"Standard","locations":["francecentral"],"locationInfo":[{"location":"francecentral","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+2TB_PS","tier":"Standard","locations":["francecentral"],"locationInfo":[{"location":"francecentral","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+3TB_PS","tier":"Standard","locations":["francecentral"],"locationInfo":[{"location":"francecentral","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+4TB_PS","tier":"Standard","locations":["francecentral"],"locationInfo":[{"location":"francecentral","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Dev(No + SLA)_Standard_D11_v2","tier":"Basic","locations":["ukwest"],"locationInfo":[{"location":"ukwest","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D11_v2","tier":"Standard","locations":["ukwest"],"locationInfo":[{"location":"ukwest","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D12_v2","tier":"Standard","locations":["ukwest"],"locationInfo":[{"location":"ukwest","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D13_v2","tier":"Standard","locations":["ukwest"],"locationInfo":[{"location":"ukwest","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D14_v2","tier":"Standard","locations":["ukwest"],"locationInfo":[{"location":"ukwest","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+1TB_PS","tier":"Standard","locations":["ukwest"],"locationInfo":[{"location":"ukwest","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+2TB_PS","tier":"Standard","locations":["ukwest"],"locationInfo":[{"location":"ukwest","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+3TB_PS","tier":"Standard","locations":["ukwest"],"locationInfo":[{"location":"ukwest","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+4TB_PS","tier":"Standard","locations":["ukwest"],"locationInfo":[{"location":"ukwest","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Dev(No + SLA)_Standard_D11_v2","tier":"Basic","locations":["koreasouth"],"locationInfo":[{"location":"koreasouth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D11_v2","tier":"Standard","locations":["koreasouth"],"locationInfo":[{"location":"koreasouth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D12_v2","tier":"Standard","locations":["koreasouth"],"locationInfo":[{"location":"koreasouth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D13_v2","tier":"Standard","locations":["koreasouth"],"locationInfo":[{"location":"koreasouth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D14_v2","tier":"Standard","locations":["koreasouth"],"locationInfo":[{"location":"koreasouth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+1TB_PS","tier":"Standard","locations":["koreasouth"],"locationInfo":[{"location":"koreasouth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+2TB_PS","tier":"Standard","locations":["koreasouth"],"locationInfo":[{"location":"koreasouth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+3TB_PS","tier":"Standard","locations":["koreasouth"],"locationInfo":[{"location":"koreasouth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+4TB_PS","tier":"Standard","locations":["koreasouth"],"locationInfo":[{"location":"koreasouth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Dev(No + SLA)_Standard_D11_v2","tier":"Basic","locations":["francesouth"],"locationInfo":[{"location":"francesouth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D11_v2","tier":"Standard","locations":["francesouth"],"locationInfo":[{"location":"francesouth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D12_v2","tier":"Standard","locations":["francesouth"],"locationInfo":[{"location":"francesouth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D13_v2","tier":"Standard","locations":["francesouth"],"locationInfo":[{"location":"francesouth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D14_v2","tier":"Standard","locations":["francesouth"],"locationInfo":[{"location":"francesouth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Dev(No + SLA)_Standard_D11_v2","tier":"Basic","locations":["australiasoutheast"],"locationInfo":[{"location":"australiasoutheast","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D11_v2","tier":"Standard","locations":["australiasoutheast"],"locationInfo":[{"location":"australiasoutheast","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D12_v2","tier":"Standard","locations":["australiasoutheast"],"locationInfo":[{"location":"australiasoutheast","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D13_v2","tier":"Standard","locations":["australiasoutheast"],"locationInfo":[{"location":"australiasoutheast","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D14_v2","tier":"Standard","locations":["australiasoutheast"],"locationInfo":[{"location":"australiasoutheast","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+1TB_PS","tier":"Standard","locations":["australiasoutheast"],"locationInfo":[{"location":"australiasoutheast","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+2TB_PS","tier":"Standard","locations":["australiasoutheast"],"locationInfo":[{"location":"australiasoutheast","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+3TB_PS","tier":"Standard","locations":["australiasoutheast"],"locationInfo":[{"location":"australiasoutheast","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+4TB_PS","tier":"Standard","locations":["australiasoutheast"],"locationInfo":[{"location":"australiasoutheast","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Dev(No + SLA)_Standard_D11_v2","tier":"Basic","locations":["southafricanorth"],"locationInfo":[{"location":"southafricanorth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D11_v2","tier":"Standard","locations":["southafricanorth"],"locationInfo":[{"location":"southafricanorth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D12_v2","tier":"Standard","locations":["southafricanorth"],"locationInfo":[{"location":"southafricanorth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D13_v2","tier":"Standard","locations":["southafricanorth"],"locationInfo":[{"location":"southafricanorth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D14_v2","tier":"Standard","locations":["southafricanorth"],"locationInfo":[{"location":"southafricanorth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Dev(No + SLA)_Standard_D11_v2","tier":"Basic","locations":["southafricawest"],"locationInfo":[{"location":"southafricawest","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D11_v2","tier":"Standard","locations":["southafricawest"],"locationInfo":[{"location":"southafricawest","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D12_v2","tier":"Standard","locations":["southafricawest"],"locationInfo":[{"location":"southafricawest","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D13_v2","tier":"Standard","locations":["southafricawest"],"locationInfo":[{"location":"southafricawest","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D14_v2","tier":"Standard","locations":["southafricawest"],"locationInfo":[{"location":"southafricawest","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Dev(No + SLA)_Standard_D11_v2","tier":"Basic","locations":["australiacentral"],"locationInfo":[{"location":"australiacentral","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D11_v2","tier":"Standard","locations":["australiacentral"],"locationInfo":[{"location":"australiacentral","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D12_v2","tier":"Standard","locations":["australiacentral"],"locationInfo":[{"location":"australiacentral","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D13_v2","tier":"Standard","locations":["australiacentral"],"locationInfo":[{"location":"australiacentral","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D14_v2","tier":"Standard","locations":["australiacentral"],"locationInfo":[{"location":"australiacentral","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+1TB_PS","tier":"Standard","locations":["australiacentral"],"locationInfo":[{"location":"australiacentral","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+2TB_PS","tier":"Standard","locations":["australiacentral"],"locationInfo":[{"location":"australiacentral","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+3TB_PS","tier":"Standard","locations":["australiacentral"],"locationInfo":[{"location":"australiacentral","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+4TB_PS","tier":"Standard","locations":["australiacentral"],"locationInfo":[{"location":"australiacentral","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Dev(No + SLA)_Standard_D11_v2","tier":"Basic","locations":["switzerlandnorth"],"locationInfo":[{"location":"switzerlandnorth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D11_v2","tier":"Standard","locations":["switzerlandnorth"],"locationInfo":[{"location":"switzerlandnorth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D12_v2","tier":"Standard","locations":["switzerlandnorth"],"locationInfo":[{"location":"switzerlandnorth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D13_v2","tier":"Standard","locations":["switzerlandnorth"],"locationInfo":[{"location":"switzerlandnorth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D14_v2","tier":"Standard","locations":["switzerlandnorth"],"locationInfo":[{"location":"switzerlandnorth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+1TB_PS","tier":"Standard","locations":["switzerlandnorth"],"locationInfo":[{"location":"switzerlandnorth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+2TB_PS","tier":"Standard","locations":["switzerlandnorth"],"locationInfo":[{"location":"switzerlandnorth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+3TB_PS","tier":"Standard","locations":["switzerlandnorth"],"locationInfo":[{"location":"switzerlandnorth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+4TB_PS","tier":"Standard","locations":["switzerlandnorth"],"locationInfo":[{"location":"switzerlandnorth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Dev(No + SLA)_Standard_D11_v2","tier":"Basic","locations":["uaenorth"],"locationInfo":[{"location":"uaenorth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D11_v2","tier":"Standard","locations":["uaenorth"],"locationInfo":[{"location":"uaenorth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D12_v2","tier":"Standard","locations":["uaenorth"],"locationInfo":[{"location":"uaenorth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D13_v2","tier":"Standard","locations":["uaenorth"],"locationInfo":[{"location":"uaenorth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D14_v2","tier":"Standard","locations":["uaenorth"],"locationInfo":[{"location":"uaenorth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+1TB_PS","tier":"Standard","locations":["uaenorth"],"locationInfo":[{"location":"uaenorth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+2TB_PS","tier":"Standard","locations":["uaenorth"],"locationInfo":[{"location":"uaenorth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+3TB_PS","tier":"Standard","locations":["uaenorth"],"locationInfo":[{"location":"uaenorth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+4TB_PS","tier":"Standard","locations":["uaenorth"],"locationInfo":[{"location":"uaenorth","zones":[],"zoneDetails":[]}],"restrictions":[]}]}' + headers: + cache-control: + - no-cache + content-length: + - '60499' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:18:05 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"location": "westus", "kind": "ReadWrite", "properties": {"softDeletePeriod": + "P1D"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto database create + Connection: + - keep-alive + Content-Length: + - '86' + Content-Type: + - application/json + ParameterSetName: + - --cluster-name --database-name --read-write-database --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/clusters/testcliclusterleader/databases/KustoDatabase8?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/Clusters/testcliclusterleader/Databases/KustoDatabase8","name":"testcliclusterleader/KustoDatabase8","type":"Microsoft.Kusto/Clusters/Databases","etag":"\"\"","location":"westus","kind":"ReadWrite","properties":{"softDeletePeriod":"P1D","provisioningState":"Creating"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationResults/af8548d1-eb72-4cc0-925a-9d344a733bd7?api-version=2020-02-15 + cache-control: + - no-cache + content-length: + - '445' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:18:08 GMT + etag: + - '""' + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=d29ec50e2353fd96ac8ed72619c1a2fb36a21ed6c3f22a5075cd2c606bb89829;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '199' + x-powered-by: + - ASP.NET + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto database create + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --database-name --read-write-database --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationResults/af8548d1-eb72-4cc0-925a-9d344a733bd7?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationresults/af8548d1-eb72-4cc0-925a-9d344a733bd7","name":"af8548d1-eb72-4cc0-925a-9d344a733bd7","status":"Succeeded","startTime":"2020-04-28T10:18:08.4481254Z","endTime":"2020-04-28T10:18:10.6825147Z","percentComplete":1.0,"properties":{"OperationKind":"DatabaseCreate","RootActivityId":"c3f89eeb-95e3-4d24-9fa7-707cd27f6a45","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '466' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:18:38 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=68eda2333691511c17b2574619a79876611dd86be1c55aa848d58cf2408b7c02;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '299' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto database create + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --database-name --read-write-database --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/clusters/testcliclusterleader/databases/KustoDatabase8?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/Clusters/testcliclusterleader/Databases/KustoDatabase8","name":"testcliclusterleader/KustoDatabase8","type":"Microsoft.Kusto/Clusters/Databases","etag":"\"\"","location":"West + US","kind":"ReadWrite","tags":{},"properties":{"isFollowed":false,"softDeletePeriodInDays":1,"softDeletePeriod":"P1D","hotCachePeriodInDays":0,"hotCachePeriod":null,"statistics":{"size":0.0},"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '576' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:18:38 GMT + etag: + - '""' + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=5e5ff28fa92b1291bfb4f40aa52246624376877d08d84d2a201c9bf6f1ffae6d;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '299' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto database list + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/clusters/testcliclusterleader/databases?api-version=2020-02-15 + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/Clusters/testcliclusterleader/Databases/KustoDatabase8","name":"testcliclusterleader/KustoDatabase8","type":"Microsoft.Kusto/Clusters/Databases","etag":"\"\"","location":"West + US","kind":"ReadWrite","properties":{"isFollowed":false,"softDeletePeriodInDays":1,"softDeletePeriod":"P1D","hotCachePeriodInDays":0,"hotCachePeriod":null,"statistics":{"size":0.0},"provisioningState":"Succeeded"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '578' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:18:41 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=322636332396dc9c2c583f1f95d6956f84718edf355825979649eda7bf94886e;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '299' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto database show + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --database-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/clusters/testcliclusterleader/databases/KustoDatabase8?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/Clusters/testcliclusterleader/Databases/KustoDatabase8","name":"testcliclusterleader/KustoDatabase8","type":"Microsoft.Kusto/Clusters/Databases","etag":"\"\"","location":"West + US","kind":"ReadWrite","tags":{},"properties":{"isFollowed":false,"softDeletePeriodInDays":1,"softDeletePeriod":"P1D","hotCachePeriodInDays":0,"hotCachePeriod":null,"statistics":{"size":0.0},"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '576' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:18:43 GMT + etag: + - '""' + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=348d1e7264ad0063baa3036f92cd47d46e91963aabd2dc4d51adfdac15009271;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '299' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"kind": "ReadWrite", "properties": {"softDeletePeriod": "P1D"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto database update + Connection: + - keep-alive + Content-Length: + - '64' + Content-Type: + - application/json + ParameterSetName: + - --cluster-name --database-name --read-write-database --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/clusters/testcliclusterleader/databases/KustoDatabase8?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/Clusters/testcliclusterleader/Databases/KustoDatabase8","name":"testcliclusterleader/KustoDatabase8","type":"Microsoft.Kusto/Clusters/Databases","etag":"\"\"","location":"West + US","kind":"ReadWrite","tags":{},"properties":{"softDeletePeriod":"P1D","provisioningState":"Accepted"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationResults/ebe5ffab-1d8c-4d33-856d-e76263be7c05?api-version=2020-02-15 + cache-control: + - no-cache + content-length: + - '456' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:18:45 GMT + etag: + - '""' + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/ebe5ffab-1d8c-4d33-856d-e76263be7c05?api-version=2020-02-15&operationResultResponseType=Location + pragma: + - no-cache + set-cookie: + - ARRAffinity=0b3e7bab7bc253429b01a84fcfe52f9eaf7487da416b1f2a0af2bf3349b35509;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '199' + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto database update + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --database-name --read-write-database --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/ebe5ffab-1d8c-4d33-856d-e76263be7c05?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/ebe5ffab-1d8c-4d33-856d-e76263be7c05","name":"ebe5ffab-1d8c-4d33-856d-e76263be7c05","status":"Succeeded","startTime":"2020-04-28T10:18:44.964048Z","endTime":"2020-04-28T10:18:46.4172403Z","percentComplete":1.0,"properties":{"OperationKind":"DatabaseCreate","RootActivityId":"8c1117b4-fd8e-44b8-9c77-b92bc281781a","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '466' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:19:14 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=348d1e7264ad0063baa3036f92cd47d46e91963aabd2dc4d51adfdac15009271;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '299' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto database update + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --database-name --read-write-database --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/clusters/testcliclusterleader/databases/KustoDatabase8?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/Clusters/testcliclusterleader/Databases/KustoDatabase8","name":"testcliclusterleader/KustoDatabase8","type":"Microsoft.Kusto/Clusters/Databases","etag":"\"\"","location":"West + US","kind":"ReadWrite","tags":{},"properties":{"isFollowed":false,"softDeletePeriodInDays":1,"softDeletePeriod":"P1D","hotCachePeriodInDays":0,"hotCachePeriod":null,"statistics":{"size":0.0},"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '576' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:19:16 GMT + etag: + - '""' + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=0b3e7bab7bc253429b01a84fcfe52f9eaf7487da416b1f2a0af2bf3349b35509;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '299' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"properties": {"principalId": "d9a1f322-1293-4595-91e3-f54f8bb34725", + "role": "Admin", "tenantId": "33e01921-4d64-4f8c-a055-5bdaffd5e33d", "principalType": + "App"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto database-principal-assignment create + Connection: + - keep-alive + Content-Length: + - '164' + Content-Type: + - application/json + ParameterSetName: + - --cluster-name --database-name --principal-id --principal-type --role --tenant-id + --principal-assignment-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/clusters/testcliclusterleader/databases/Kustodatabase8/principalAssignments/kustoprincipal1?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/Clusters/testcliclusterleader/Databases/Kustodatabase8/PrincipalAssignments/kustoprincipal1","name":"testcliclusterleader/Kustodatabase8/kustoprincipal1","type":"Microsoft.Kusto/Clusters/Databases/PrincipalAssignments","etag":"\"\"","properties":{"principalId":"d9a1f322-1293-4595-91e3-f54f8bb34725","role":"Admin","tenantId":"33e01921-4d64-4f8c-a055-5bdaffd5e33d","principalType":"App","provisioningState":"Creating"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationResults/0b1daa36-5242-4d2f-a45b-d174a8c02881?api-version=2020-02-15 + cache-control: + - no-cache + content-length: + - '595' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:19:19 GMT + etag: + - '""' + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=f977ea28325f4c100ed19c1a7ed6395c7554e0af5ce62499bbee5975165c7757;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '199' + x-powered-by: + - ASP.NET + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto database-principal-assignment create + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --database-name --principal-id --principal-type --role --tenant-id + --principal-assignment-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/0b1daa36-5242-4d2f-a45b-d174a8c02881?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/0b1daa36-5242-4d2f-a45b-d174a8c02881","name":"0b1daa36-5242-4d2f-a45b-d174a8c02881","status":"Succeeded","startTime":"2020-04-28T10:19:19.4198321Z","endTime":"2020-04-28T10:19:19.6854599Z","percentComplete":1.0,"properties":{"OperationKind":"DatabaseAddPrincipals","RootActivityId":"48374d45-7bfc-4744-8e40-d4dd9104e495","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '474' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:19:49 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=348d1e7264ad0063baa3036f92cd47d46e91963aabd2dc4d51adfdac15009271;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '299' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto database-principal-assignment create + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --database-name --principal-id --principal-type --role --tenant-id + --principal-assignment-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/clusters/testcliclusterleader/databases/Kustodatabase8/principalAssignments/kustoprincipal1?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/Clusters/testcliclusterleader/Databases/Kustodatabase8/PrincipalAssignments/kustoprincipal1","name":"testcliclusterleader/Kustodatabase8/kustoprincipal1","type":"Microsoft.Kusto/Clusters/Databases/PrincipalAssignments","etag":"\"\"","tags":{},"properties":{"principalId":"d9a1f322-1293-4595-91e3-f54f8bb34725","role":"Admin","principalType":"App","tenantId":"33e01921-4d64-4f8c-a055-5bdaffd5e33d","tenantName":"MS + Azure Cloud","principalName":"KustoResourceProvider","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '676' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:19:49 GMT + etag: + - '""' + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=0b3e7bab7bc253429b01a84fcfe52f9eaf7487da416b1f2a0af2bf3349b35509;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '299' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto database-principal-assignment wait + Connection: + - keep-alive + ParameterSetName: + - --created --cluster-name --database-name --principal-assignment-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/clusters/testcliclusterleader/databases/Kustodatabase8/principalAssignments/kustoprincipal1?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/Clusters/testcliclusterleader/Databases/Kustodatabase8/PrincipalAssignments/kustoprincipal1","name":"testcliclusterleader/Kustodatabase8/kustoprincipal1","type":"Microsoft.Kusto/Clusters/Databases/PrincipalAssignments","etag":"\"\"","tags":{},"properties":{"principalId":"d9a1f322-1293-4595-91e3-f54f8bb34725","role":"Admin","principalType":"App","tenantId":"33e01921-4d64-4f8c-a055-5bdaffd5e33d","tenantName":"MS + Azure Cloud","principalName":"KustoResourceProvider","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '676' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:19:52 GMT + etag: + - '""' + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=be0e0d186a8dd7beec8fdedbe9912fb4fc8ea63ab4795c4847feb9495ca10dd5;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '299' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto database list-principal + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --cluster-name --database-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/clusters/testcliclusterleader/databases/Kustodatabase8/listPrincipals?api-version=2020-02-15 + response: + body: + string: '{"value":[{"name":"KustoResourceProvider","role":"Admin","type":"App","fqn":"aadapp=d9a1f322-1293-4595-91e3-f54f8bb34725;33e01921-4d64-4f8c-a055-5bdaffd5e33d","email":"","appId":"d9a1f322-1293-4595-91e3-f54f8bb34725","tenantName":"MS + Azure Cloud"},{"name":"Assaf Taubenfeld","role":"Admin","type":"User","fqn":"aaduser=53d8fc23-618e-49fa-ae3f-ae65cc60aa37;72f988bf-86f1-41af-91ab-2d7cd011db47","email":"astauben@microsoft.com","appId":"","tenantName":"Microsoft"}]}' + headers: + cache-control: + - no-cache + content-length: + - '465' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:19:54 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=be0e0d186a8dd7beec8fdedbe9912fb4fc8ea63ab4795c4847feb9495ca10dd5;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto database-principal-assignment show + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --database-name --principal-assignment-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/clusters/testcliclusterleader/databases/Kustodatabase8/principalAssignments/kustoprincipal1?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/Clusters/testcliclusterleader/Databases/Kustodatabase8/PrincipalAssignments/kustoprincipal1","name":"testcliclusterleader/Kustodatabase8/kustoprincipal1","type":"Microsoft.Kusto/Clusters/Databases/PrincipalAssignments","etag":"\"\"","tags":{},"properties":{"principalId":"d9a1f322-1293-4595-91e3-f54f8bb34725","role":"Admin","principalType":"App","tenantId":"33e01921-4d64-4f8c-a055-5bdaffd5e33d","tenantName":"MS + Azure Cloud","principalName":"KustoResourceProvider","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '676' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:19:56 GMT + etag: + - '""' + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=be0e0d186a8dd7beec8fdedbe9912fb4fc8ea63ab4795c4847feb9495ca10dd5;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '299' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto database-principal-assignment delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --cluster-name --database-name --principal-assignment-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/clusters/testcliclusterleader/databases/Kustodatabase8/principalAssignments/kustoprincipal1?api-version=2020-02-15 + response: + body: + string: '' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationResults/888266e0-22e1-4752-8445-1d2ced757528?api-version=2020-02-15 + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 28 Apr 2020 10:19:58 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/888266e0-22e1-4752-8445-1d2ced757528?api-version=2020-02-15&operationResultResponseType=Location + pragma: + - no-cache + set-cookie: + - ARRAffinity=3e9a49b330654e4ac57f196a7fb95bb367210c5ce4e9c674a332fb882012a73e;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto database-principal-assignment delete + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --database-name --principal-assignment-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/888266e0-22e1-4752-8445-1d2ced757528?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/888266e0-22e1-4752-8445-1d2ced757528","name":"888266e0-22e1-4752-8445-1d2ced757528","status":"Succeeded","startTime":"2020-04-28T10:19:58.8490828Z","endTime":"2020-04-28T10:19:58.9740777Z","percentComplete":1.0,"properties":{"OperationKind":"DatabaseDropPrincipals","RootActivityId":"b346734a-5c77-4c18-ae2a-0f8b70d41c87","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '475' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:20:28 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=348d1e7264ad0063baa3036f92cd47d46e91963aabd2dc4d51adfdac15009271;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '299' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"properties": {"principalId": "d9a1f322-1293-4595-91e3-f54f8bb34725", + "role": "AllDatabasesViewer", "tenantId": "33e01921-4d64-4f8c-a055-5bdaffd5e33d", + "principalType": "App"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster-principal-assignment create + Connection: + - keep-alive + Content-Length: + - '177' + Content-Type: + - application/json + ParameterSetName: + - --cluster-name --principal-id --principal-type --role --tenant-id --principal-assignment-name + --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/clusters/testcliclusterleader/principalAssignments/kustoprincipal1?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/Clusters/testcliclusterleader/PrincipalAssignments/kustoprincipal1","name":"testcliclusterleader/kustoprincipal1","type":"Microsoft.Kusto/Clusters/PrincipalAssignments","etag":"\"\"","properties":{"principalId":"d9a1f322-1293-4595-91e3-f54f8bb34725","role":"AllDatabasesViewer","tenantId":"33e01921-4d64-4f8c-a055-5bdaffd5e33d","principalType":"App","provisioningState":"Creating"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationResults/4fbf95a3-650d-4cc3-97aa-e578eb5c162a?api-version=2020-02-15 + cache-control: + - no-cache + content-length: + - '558' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:20:31 GMT + etag: + - '""' + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=0b3e7bab7bc253429b01a84fcfe52f9eaf7487da416b1f2a0af2bf3349b35509;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '199' + x-powered-by: + - ASP.NET + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster-principal-assignment create + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --principal-id --principal-type --role --tenant-id --principal-assignment-name + --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/4fbf95a3-650d-4cc3-97aa-e578eb5c162a?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/4fbf95a3-650d-4cc3-97aa-e578eb5c162a","name":"4fbf95a3-650d-4cc3-97aa-e578eb5c162a","status":"Succeeded","startTime":"2020-04-28T10:20:32.0623563Z","endTime":"2020-04-28T10:20:35.1717706Z","percentComplete":1.0,"properties":{"OperationKind":"ServicePrincipalAssignmentsAdd","RootActivityId":"0be4754b-28ba-412d-b877-7ab7dcd80d75","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '483' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:21:02 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=be0e0d186a8dd7beec8fdedbe9912fb4fc8ea63ab4795c4847feb9495ca10dd5;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '299' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster-principal-assignment create + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --principal-id --principal-type --role --tenant-id --principal-assignment-name + --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/clusters/testcliclusterleader/principalAssignments/kustoprincipal1?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/Clusters/testcliclusterleader/PrincipalAssignments/kustoprincipal1","name":"testcliclusterleader/kustoprincipal1","type":"Microsoft.Kusto/Clusters/PrincipalAssignments","etag":"\"\"","tags":{},"properties":{"principalId":"d9a1f322-1293-4595-91e3-f54f8bb34725","role":"AllDatabasesViewer","principalType":"App","tenantId":"33e01921-4d64-4f8c-a055-5bdaffd5e33d","tenantName":"MS + Azure Cloud","principalName":"KustoResourceProvider","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '639' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:21:02 GMT + etag: + - '""' + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=bf171968557f7483abc0913a42c0207b9017c552b91766911eca876583df224c;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '299' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster-principal-assignment wait + Connection: + - keep-alive + ParameterSetName: + - --created --principal-assignment-name --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/clusters/testcliclusterleader/principalAssignments/kustoprincipal1?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/Clusters/testcliclusterleader/PrincipalAssignments/kustoprincipal1","name":"testcliclusterleader/kustoprincipal1","type":"Microsoft.Kusto/Clusters/PrincipalAssignments","etag":"\"\"","tags":{},"properties":{"principalId":"d9a1f322-1293-4595-91e3-f54f8bb34725","role":"AllDatabasesViewer","principalType":"App","tenantId":"33e01921-4d64-4f8c-a055-5bdaffd5e33d","tenantName":"MS + Azure Cloud","principalName":"KustoResourceProvider","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '639' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:21:04 GMT + etag: + - '""' + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=68eda2333691511c17b2574619a79876611dd86be1c55aa848d58cf2408b7c02;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '299' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster-principal-assignment show + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --principal-assignment-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/clusters/testcliclusterleader/principalAssignments/kustoprincipal1?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/Clusters/testcliclusterleader/PrincipalAssignments/kustoprincipal1","name":"testcliclusterleader/kustoprincipal1","type":"Microsoft.Kusto/Clusters/PrincipalAssignments","etag":"\"\"","tags":{},"properties":{"principalId":"d9a1f322-1293-4595-91e3-f54f8bb34725","role":"AllDatabasesViewer","principalType":"App","tenantId":"33e01921-4d64-4f8c-a055-5bdaffd5e33d","tenantName":"MS + Azure Cloud","principalName":"KustoResourceProvider","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '639' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:21:06 GMT + etag: + - '""' + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=3e9a49b330654e4ac57f196a7fb95bb367210c5ce4e9c674a332fb882012a73e;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '299' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: 'b''{"location": "westus", "properties": {"databaseName": "Kustodatabase8", + "clusterResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/Clusters/testcliclusterleader", + "defaultPrincipalsModificationKind": "Union"}}''' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto attached-database-configuration create + Connection: + - keep-alive + Content-Length: + - '341' + Content-Type: + - application/json + ParameterSetName: + - --attached-database-configuration-name --cluster-name --location --cluster-resource-id + --database-name --default-principals-modification-kind --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/clusters/testcliclusterfollower/attachedDatabaseConfigurations/attachedDatabaseConfigurations2?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/Clusters/testcliclusterfollower/AttachedDatabaseConfigurations/attachedDatabaseConfigurations2","name":"testcliclusterfollower/attachedDatabaseConfigurations2","type":"Microsoft.Kusto/Clusters/AttachedDatabaseConfigurations","etag":"\"\"","location":"westus","properties":{"databaseName":"Kustodatabase8","clusterResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/Clusters/testcliclusterleader","defaultPrincipalsModificationKind":"Union","provisioningState":"Creating"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationResults/9dca600d-61f7-47a5-b9e9-a306fc210db7?api-version=2020-02-15 + cache-control: + - no-cache + content-length: + - '778' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:21:08 GMT + etag: + - '""' + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=d29ec50e2353fd96ac8ed72619c1a2fb36a21ed6c3f22a5075cd2c606bb89829;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '199' + x-powered-by: + - ASP.NET + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto attached-database-configuration create + Connection: + - keep-alive + ParameterSetName: + - --attached-database-configuration-name --cluster-name --location --cluster-resource-id + --database-name --default-principals-modification-kind --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationResults/9dca600d-61f7-47a5-b9e9-a306fc210db7?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationresults/9dca600d-61f7-47a5-b9e9-a306fc210db7","name":"9dca600d-61f7-47a5-b9e9-a306fc210db7","status":"Succeeded","startTime":"2020-04-28T10:21:08.9844416Z","endTime":"2020-04-28T10:21:12.7188682Z","percentComplete":1.0,"properties":{"OperationKind":"FollowerDatabaseCreate","RootActivityId":"a789854d-031a-4b3c-b7f1-3ed46cec18f0","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '474' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:21:39 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=348d1e7264ad0063baa3036f92cd47d46e91963aabd2dc4d51adfdac15009271;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '299' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto attached-database-configuration create + Connection: + - keep-alive + ParameterSetName: + - --attached-database-configuration-name --cluster-name --location --cluster-resource-id + --database-name --default-principals-modification-kind --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/clusters/testcliclusterfollower/attachedDatabaseConfigurations/attachedDatabaseConfigurations2?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/Clusters/testcliclusterfollower/AttachedDatabaseConfigurations/attachedDatabaseConfigurations2","name":"testcliclusterfollower/attachedDatabaseConfigurations2","type":"Microsoft.Kusto/Clusters/AttachedDatabaseConfigurations","etag":"\"\"","location":"West + US","tags":{},"properties":{"clusterResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/Clusters/testcliclusterleader","databaseName":"Kustodatabase8","attachedDatabaseNames":["Kustodatabase8"],"defaultPrincipalsModificationKind":"Union","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '833' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:21:40 GMT + etag: + - '""' + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=322636332396dc9c2c583f1f95d6956f84718edf355825979649eda7bf94886e;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '299' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto attached-database-configuration wait + Connection: + - keep-alive + ParameterSetName: + - --created --cluster-name --attached-database-configuration-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/clusters/testcliclusterfollower/attachedDatabaseConfigurations/attachedDatabaseConfigurations2?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/Clusters/testcliclusterfollower/AttachedDatabaseConfigurations/attachedDatabaseConfigurations2","name":"testcliclusterfollower/attachedDatabaseConfigurations2","type":"Microsoft.Kusto/Clusters/AttachedDatabaseConfigurations","etag":"\"\"","location":"West + US","tags":{},"properties":{"clusterResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/Clusters/testcliclusterleader","databaseName":"Kustodatabase8","attachedDatabaseNames":["Kustodatabase8"],"defaultPrincipalsModificationKind":"Union","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '833' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:21:42 GMT + etag: + - '""' + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=0b3e7bab7bc253429b01a84fcfe52f9eaf7487da416b1f2a0af2bf3349b35509;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '299' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto attached-database-configuration show + Connection: + - keep-alive + ParameterSetName: + - --attached-database-configuration-name --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/clusters/testcliclusterfollower/attachedDatabaseConfigurations/attachedDatabaseConfigurations2?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/Clusters/testcliclusterfollower/AttachedDatabaseConfigurations/attachedDatabaseConfigurations2","name":"testcliclusterfollower/attachedDatabaseConfigurations2","type":"Microsoft.Kusto/Clusters/AttachedDatabaseConfigurations","etag":"\"\"","location":"West + US","tags":{},"properties":{"clusterResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/Clusters/testcliclusterleader","databaseName":"Kustodatabase8","attachedDatabaseNames":["Kustodatabase8"],"defaultPrincipalsModificationKind":"Union","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '833' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:21:44 GMT + etag: + - '""' + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=bf171968557f7483abc0913a42c0207b9017c552b91766911eca876583df224c;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '299' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto attached-database-configuration list + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/clusters/testcliclusterleader/attachedDatabaseConfigurations?api-version=2020-02-15 + response: + body: + string: '{"value":[]}' + headers: + cache-control: + - no-cache + content-length: + - '12' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:21:45 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=d29ec50e2353fd96ac8ed72619c1a2fb36a21ed6c3f22a5075cd2c606bb89829;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '299' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster list-follower-database + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/clusters/testcliclusterleader/listFollowerDatabases?api-version=2020-02-15 + response: + body: + string: '{"value":[{"clusterResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/Clusters/testcliclusterfollower","attachedDatabaseConfigurationName":"attachedDatabaseConfigurations2","databaseName":"Kustodatabase8"}]}' + headers: + cache-control: + - no-cache + content-length: + - '338' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:21:48 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=5e5ff28fa92b1291bfb4f40aa52246624376877d08d84d2a201c9bf6f1ffae6d;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: 'b''{"clusterResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/clusters/testcliclusterfollower", + "attachedDatabaseConfigurationName": "attachedDatabaseConfigurations2"}''' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster detach-follower-database + Connection: + - keep-alive + Content-Length: + - '297' + Content-Type: + - application/json + ParameterSetName: + - --cluster-name --attached-database-configuration-name --cluster-resource-id + --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/clusters/testcliclusterleader/detachFollowerDatabases?api-version=2020-02-15 + response: + body: + string: '' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationResults/dea1b1ec-2c9a-4211-8c78-ac06e1dee24a?api-version=2020-02-15 + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 28 Apr 2020 10:21:50 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/dea1b1ec-2c9a-4211-8c78-ac06e1dee24a?api-version=2020-02-15&operationResultResponseType=Location + pragma: + - no-cache + set-cookie: + - ARRAffinity=f977ea28325f4c100ed19c1a7ed6395c7554e0af5ce62499bbee5975165c7757;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster detach-follower-database + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --attached-database-configuration-name --cluster-resource-id + --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/dea1b1ec-2c9a-4211-8c78-ac06e1dee24a?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/dea1b1ec-2c9a-4211-8c78-ac06e1dee24a","name":"dea1b1ec-2c9a-4211-8c78-ac06e1dee24a","status":"Succeeded","startTime":"2020-04-28T10:21:50.7194436Z","endTime":"2020-04-28T10:21:53.6569647Z","percentComplete":1.0,"properties":{"OperationKind":"FollowerDatabaseDetach","RootActivityId":"7dd97118-3064-4c00-ace5-ed328147a033","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '475' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:22:20 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=5e5ff28fa92b1291bfb4f40aa52246624376877d08d84d2a201c9bf6f1ffae6d;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '299' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster detach-follower-database + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --attached-database-configuration-name --cluster-resource-id + --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/dea1b1ec-2c9a-4211-8c78-ac06e1dee24a?api-version=2020-02-15&operationResultResponseType=Location + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 28 Apr 2020 10:22:21 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=68eda2333691511c17b2574619a79876611dd86be1c55aa848d58cf2408b7c02;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '298' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto data-connection event-hub data-connection-validation + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --database-name --data-connection-name --consumer-group --event-hub-resource-id + --resource-group + User-Agent: + - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.13 msrest_azure/0.6.3 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.4.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2019-07-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001","name":"clitest000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2020-04-28T09:55:34Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '428' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:22:22 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"dataConnectionName": "DataConnections8", "properties": {"location": "westus", + "kind": "EventHub", "properties": {"eventHubResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cliautogeneration-rg/providers/Microsoft.EventHub/namespaces/cliautogeneration/eventhubs/cliautogeneration-evenhub", + "consumerGroup": "$Default"}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto data-connection event-hub data-connection-validation + Connection: + - keep-alive + Content-Length: + - '352' + Content-Type: + - application/json + ParameterSetName: + - --cluster-name --database-name --data-connection-name --consumer-group --event-hub-resource-id + --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/clusters/testcliclusterleader/databases/KustoDatabase8/dataConnectionValidation?api-version=2020-02-15 + response: + body: + string: '{"value":[]}' + headers: + cache-control: + - no-cache + content-length: + - '12' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:22:26 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=d29ec50e2353fd96ac8ed72619c1a2fb36a21ed6c3f22a5075cd2c606bb89829;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"location": "westus", "kind": "EventHub", "properties": {"eventHubResourceId": + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cliautogeneration-rg/providers/Microsoft.EventHub/namespaces/cliautogeneration/eventhubs/cliautogeneration-evenhub", + "consumerGroup": "$Default"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto data-connection event-hub create + Connection: + - keep-alive + Content-Length: + - '294' + Content-Type: + - application/json + ParameterSetName: + - --cluster-name --data-connection-name --database-name --location --consumer-group + --event-hub-resource-id --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/clusters/testcliclusterleader/databases/KustoDatabase8/dataConnections/DataConnections8?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/Clusters/testcliclusterleader/Databases/KustoDatabase8/DataConnections/DataConnections8","name":"testcliclusterleader/KustoDatabase8/DataConnections8","type":"Microsoft.Kusto/Clusters/Databases/DataConnections","etag":"\"\"","location":"westus","kind":"EventHub","properties":{"eventHubResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cliautogeneration-rg/providers/Microsoft.EventHub/namespaces/cliautogeneration/eventhubs/cliautogeneration-evenhub","consumerGroup":"$Default","provisioningState":"Creating"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationResults/c9c0ad4f-0ad4-4df1-8b89-170b4859dab6?api-version=2020-02-15 + cache-control: + - no-cache + content-length: + - '717' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:22:29 GMT + etag: + - '""' + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=0b3e7bab7bc253429b01a84fcfe52f9eaf7487da416b1f2a0af2bf3349b35509;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '199' + x-powered-by: + - ASP.NET + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto data-connection event-hub create + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --data-connection-name --database-name --location --consumer-group + --event-hub-resource-id --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationResults/c9c0ad4f-0ad4-4df1-8b89-170b4859dab6?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationresults/c9c0ad4f-0ad4-4df1-8b89-170b4859dab6","name":"c9c0ad4f-0ad4-4df1-8b89-170b4859dab6","status":"Succeeded","startTime":"2020-04-28T10:22:29.549257Z","endTime":"2020-04-28T10:22:56.7089309Z","percentComplete":1.0,"properties":{"OperationKind":"DmServiceEventHubObtainerAdd","RootActivityId":"ffa15acd-9c49-44ed-a223-22554036e5e0","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '479' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:22:59 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=be0e0d186a8dd7beec8fdedbe9912fb4fc8ea63ab4795c4847feb9495ca10dd5;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '299' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto data-connection event-hub create + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --data-connection-name --database-name --location --consumer-group + --event-hub-resource-id --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/clusters/testcliclusterleader/databases/KustoDatabase8/dataConnections/DataConnections8?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/Clusters/testcliclusterleader/Databases/KustoDatabase8/DataConnections/DataConnections8","name":"testcliclusterleader/KustoDatabase8/DataConnections8","type":"Microsoft.Kusto/Clusters/Databases/DataConnections","etag":"\"\"","location":"West + US","kind":"EventHub","tags":{},"properties":{"eventHubResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cliautogeneration-rg/providers/Microsoft.EventHub/namespaces/cliautogeneration/eventhubs/cliautogeneration-evenhub","consumerGroup":"$Default","tableName":"","mappingRuleName":"","dataFormat":"","eventSystemProperties":[],"compression":"None","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '829' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:22:59 GMT + etag: + - '""' + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=348d1e7264ad0063baa3036f92cd47d46e91963aabd2dc4d51adfdac15009271;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '299' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto data-connection show + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --data-connection-name --database-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/clusters/testcliclusterleader/databases/KustoDatabase8/dataConnections/DataConnections8?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/Clusters/testcliclusterleader/Databases/KustoDatabase8/DataConnections/DataConnections8","name":"testcliclusterleader/KustoDatabase8/DataConnections8","type":"Microsoft.Kusto/Clusters/Databases/DataConnections","etag":"\"\"","location":"West + US","kind":"EventHub","tags":{},"properties":{"eventHubResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cliautogeneration-rg/providers/Microsoft.EventHub/namespaces/cliautogeneration/eventhubs/cliautogeneration-evenhub","consumerGroup":"$Default","tableName":"","mappingRuleName":"","dataFormat":"","eventSystemProperties":[],"compression":"None","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '829' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:23:02 GMT + etag: + - '""' + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=d29ec50e2353fd96ac8ed72619c1a2fb36a21ed6c3f22a5075cd2c606bb89829;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '299' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"location": "westus", "kind": "EventHub", "properties": {"eventHubResourceId": + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cliautogeneration-rg/providers/Microsoft.EventHub/namespaces/cliautogeneration/eventhubs/cliautogeneration-evenhub", + "consumerGroup": "$Default"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto data-connection event-hub update + Connection: + - keep-alive + Content-Length: + - '294' + Content-Type: + - application/json + ParameterSetName: + - --cluster-name --data-connection-name --database-name --location --consumer-group + --event-hub-resource-id --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/clusters/testcliclusterleader/databases/KustoDatabase8/dataConnections/DataConnections8?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/Clusters/testcliclusterleader/Databases/KustoDatabase8/DataConnections/DataConnections8","name":"testcliclusterleader/KustoDatabase8/DataConnections8","type":"Microsoft.Kusto/Clusters/Databases/DataConnections","etag":"\"\"","location":"West + US","kind":"EventHub","tags":{},"properties":{"eventHubResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cliautogeneration-rg/providers/Microsoft.EventHub/namespaces/cliautogeneration/eventhubs/cliautogeneration-evenhub","consumerGroup":"$Default","provisioningState":"Accepted"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationResults/d6a231ee-5818-480f-b8ce-833b7c299df7?api-version=2020-02-15 + cache-control: + - no-cache + content-length: + - '728' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:23:03 GMT + etag: + - '""' + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/d6a231ee-5818-480f-b8ce-833b7c299df7?api-version=2020-02-15&operationResultResponseType=Location + pragma: + - no-cache + set-cookie: + - ARRAffinity=322636332396dc9c2c583f1f95d6956f84718edf355825979649eda7bf94886e;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '198' + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto data-connection event-hub update + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --data-connection-name --database-name --location --consumer-group + --event-hub-resource-id --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/d6a231ee-5818-480f-b8ce-833b7c299df7?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/d6a231ee-5818-480f-b8ce-833b7c299df7","name":"d6a231ee-5818-480f-b8ce-833b7c299df7","status":"Succeeded","startTime":"2020-04-28T10:23:04.1465482Z","endTime":"2020-04-28T10:23:06.677815Z","percentComplete":1.0,"properties":{"OperationKind":"DmServiceEventHubObtainerAdd","RootActivityId":"2f5b7855-bdb4-4c87-abda-548a343f2436","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '480' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:23:34 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=68eda2333691511c17b2574619a79876611dd86be1c55aa848d58cf2408b7c02;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '298' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto data-connection event-hub update + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --data-connection-name --database-name --location --consumer-group + --event-hub-resource-id --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/clusters/testcliclusterleader/databases/KustoDatabase8/dataConnections/DataConnections8?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/Clusters/testcliclusterleader/Databases/KustoDatabase8/DataConnections/DataConnections8","name":"testcliclusterleader/KustoDatabase8/DataConnections8","type":"Microsoft.Kusto/Clusters/Databases/DataConnections","etag":"\"\"","location":"West + US","kind":"EventHub","tags":{},"properties":{"eventHubResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cliautogeneration-rg/providers/Microsoft.EventHub/namespaces/cliautogeneration/eventhubs/cliautogeneration-evenhub","consumerGroup":"$Default","tableName":null,"mappingRuleName":null,"dataFormat":null,"eventSystemProperties":[],"compression":"None","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '835' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:23:35 GMT + etag: + - '""' + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=348d1e7264ad0063baa3036f92cd47d46e91963aabd2dc4d51adfdac15009271;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '298' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto data-connection delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --cluster-name --data-connection-name --database-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/clusters/testcliclusterleader/databases/KustoDatabase8/dataConnections/DataConnections8?api-version=2020-02-15 + response: + body: + string: '' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationResults/e9dec68c-5a9b-454f-bf18-11a7c551370c?api-version=2020-02-15 + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 28 Apr 2020 10:23:38 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/e9dec68c-5a9b-454f-bf18-11a7c551370c?api-version=2020-02-15&operationResultResponseType=Location + pragma: + - no-cache + set-cookie: + - ARRAffinity=68eda2333691511c17b2574619a79876611dd86be1c55aa848d58cf2408b7c02;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto data-connection delete + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --data-connection-name --database-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/e9dec68c-5a9b-454f-bf18-11a7c551370c?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/e9dec68c-5a9b-454f-bf18-11a7c551370c","name":"e9dec68c-5a9b-454f-bf18-11a7c551370c","status":"Succeeded","startTime":"2020-04-28T10:23:38.3361502Z","endTime":"2020-04-28T10:23:39.6329981Z","percentComplete":1.0,"properties":{"OperationKind":"DmServiceDataObtainerDrop","RootActivityId":"802d8676-8c34-4029-b9f2-48cfbf5005f2","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '478' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:24:08 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=3e9a49b330654e4ac57f196a7fb95bb367210c5ce4e9c674a332fb882012a73e;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '298' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster stop + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/clusters/testcliclusterleader/stop?api-version=2020-02-15 + response: + body: + string: '' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationResults/dbf9ffd8-b188-483f-8107-fc5706d7b71c?api-version=2020-02-15 + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 28 Apr 2020 10:24:10 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/dbf9ffd8-b188-483f-8107-fc5706d7b71c?api-version=2020-02-15&operationResultResponseType=Location + pragma: + - no-cache + set-cookie: + - ARRAffinity=d29ec50e2353fd96ac8ed72619c1a2fb36a21ed6c3f22a5075cd2c606bb89829;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster stop + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/dbf9ffd8-b188-483f-8107-fc5706d7b71c?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/dbf9ffd8-b188-483f-8107-fc5706d7b71c","name":"dbf9ffd8-b188-483f-8107-fc5706d7b71c","status":"Running","startTime":"2020-04-28T10:24:11.5563535Z","endTime":"2020-04-28T10:24:12.3219579Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterSuspend","RootActivityId":"59d5cd91-06ca-403f-8f6a-4452f87bb18c","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '463' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:24:41 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=348d1e7264ad0063baa3036f92cd47d46e91963aabd2dc4d51adfdac15009271;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '299' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster stop + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/dbf9ffd8-b188-483f-8107-fc5706d7b71c?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/dbf9ffd8-b188-483f-8107-fc5706d7b71c","name":"dbf9ffd8-b188-483f-8107-fc5706d7b71c","status":"Running","startTime":"2020-04-28T10:24:11.5563535Z","endTime":"2020-04-28T10:24:12.3219579Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterSuspend","RootActivityId":"59d5cd91-06ca-403f-8f6a-4452f87bb18c","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '463' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:25:11 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=5e5ff28fa92b1291bfb4f40aa52246624376877d08d84d2a201c9bf6f1ffae6d;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '298' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster stop + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/dbf9ffd8-b188-483f-8107-fc5706d7b71c?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/dbf9ffd8-b188-483f-8107-fc5706d7b71c","name":"dbf9ffd8-b188-483f-8107-fc5706d7b71c","status":"Running","startTime":"2020-04-28T10:24:11.5563535Z","endTime":"2020-04-28T10:24:12.3219579Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterSuspend","RootActivityId":"59d5cd91-06ca-403f-8f6a-4452f87bb18c","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '463' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:25:43 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=3e9a49b330654e4ac57f196a7fb95bb367210c5ce4e9c674a332fb882012a73e;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '297' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster stop + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/dbf9ffd8-b188-483f-8107-fc5706d7b71c?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/dbf9ffd8-b188-483f-8107-fc5706d7b71c","name":"dbf9ffd8-b188-483f-8107-fc5706d7b71c","status":"Running","startTime":"2020-04-28T10:24:11.5563535Z","endTime":"2020-04-28T10:24:12.3219579Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterSuspend","RootActivityId":"59d5cd91-06ca-403f-8f6a-4452f87bb18c","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '463' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:26:13 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=be0e0d186a8dd7beec8fdedbe9912fb4fc8ea63ab4795c4847feb9495ca10dd5;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '296' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster stop + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/dbf9ffd8-b188-483f-8107-fc5706d7b71c?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/dbf9ffd8-b188-483f-8107-fc5706d7b71c","name":"dbf9ffd8-b188-483f-8107-fc5706d7b71c","status":"Running","startTime":"2020-04-28T10:24:11.5563535Z","endTime":"2020-04-28T10:24:12.3219579Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterSuspend","RootActivityId":"59d5cd91-06ca-403f-8f6a-4452f87bb18c","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '463' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:26:43 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=f977ea28325f4c100ed19c1a7ed6395c7554e0af5ce62499bbee5975165c7757;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '295' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster stop + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/dbf9ffd8-b188-483f-8107-fc5706d7b71c?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/dbf9ffd8-b188-483f-8107-fc5706d7b71c","name":"dbf9ffd8-b188-483f-8107-fc5706d7b71c","status":"Running","startTime":"2020-04-28T10:24:11.5563535Z","endTime":"2020-04-28T10:24:12.3219579Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterSuspend","RootActivityId":"59d5cd91-06ca-403f-8f6a-4452f87bb18c","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '463' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:27:14 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=f977ea28325f4c100ed19c1a7ed6395c7554e0af5ce62499bbee5975165c7757;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '294' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster stop + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/dbf9ffd8-b188-483f-8107-fc5706d7b71c?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/dbf9ffd8-b188-483f-8107-fc5706d7b71c","name":"dbf9ffd8-b188-483f-8107-fc5706d7b71c","status":"Running","startTime":"2020-04-28T10:24:11.5563535Z","endTime":"2020-04-28T10:24:12.3219579Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterSuspend","RootActivityId":"59d5cd91-06ca-403f-8f6a-4452f87bb18c","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '463' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:27:44 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=bf171968557f7483abc0913a42c0207b9017c552b91766911eca876583df224c;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '293' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster stop + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/dbf9ffd8-b188-483f-8107-fc5706d7b71c?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/dbf9ffd8-b188-483f-8107-fc5706d7b71c","name":"dbf9ffd8-b188-483f-8107-fc5706d7b71c","status":"Running","startTime":"2020-04-28T10:24:11.5563535Z","endTime":"2020-04-28T10:24:12.3219579Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterSuspend","RootActivityId":"59d5cd91-06ca-403f-8f6a-4452f87bb18c","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '463' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:28:15 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=be0e0d186a8dd7beec8fdedbe9912fb4fc8ea63ab4795c4847feb9495ca10dd5;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '292' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster stop + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/dbf9ffd8-b188-483f-8107-fc5706d7b71c?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/dbf9ffd8-b188-483f-8107-fc5706d7b71c","name":"dbf9ffd8-b188-483f-8107-fc5706d7b71c","status":"Running","startTime":"2020-04-28T10:24:11.5563535Z","endTime":"2020-04-28T10:24:12.3219579Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterSuspend","RootActivityId":"59d5cd91-06ca-403f-8f6a-4452f87bb18c","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '463' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:28:46 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=f977ea28325f4c100ed19c1a7ed6395c7554e0af5ce62499bbee5975165c7757;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '291' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster stop + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/dbf9ffd8-b188-483f-8107-fc5706d7b71c?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/dbf9ffd8-b188-483f-8107-fc5706d7b71c","name":"dbf9ffd8-b188-483f-8107-fc5706d7b71c","status":"Running","startTime":"2020-04-28T10:24:11.5563535Z","endTime":"2020-04-28T10:24:12.3219579Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterSuspend","RootActivityId":"59d5cd91-06ca-403f-8f6a-4452f87bb18c","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '463' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:29:16 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=d29ec50e2353fd96ac8ed72619c1a2fb36a21ed6c3f22a5075cd2c606bb89829;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '290' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster stop + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/dbf9ffd8-b188-483f-8107-fc5706d7b71c?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/dbf9ffd8-b188-483f-8107-fc5706d7b71c","name":"dbf9ffd8-b188-483f-8107-fc5706d7b71c","status":"Running","startTime":"2020-04-28T10:24:11.5563535Z","endTime":"2020-04-28T10:24:12.3219579Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterSuspend","RootActivityId":"59d5cd91-06ca-403f-8f6a-4452f87bb18c","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '463' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:29:47 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=3e9a49b330654e4ac57f196a7fb95bb367210c5ce4e9c674a332fb882012a73e;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '289' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster stop + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/dbf9ffd8-b188-483f-8107-fc5706d7b71c?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/dbf9ffd8-b188-483f-8107-fc5706d7b71c","name":"dbf9ffd8-b188-483f-8107-fc5706d7b71c","status":"Running","startTime":"2020-04-28T10:24:11.5563535Z","endTime":"2020-04-28T10:24:12.3219579Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterSuspend","RootActivityId":"59d5cd91-06ca-403f-8f6a-4452f87bb18c","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '463' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:30:18 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=5e5ff28fa92b1291bfb4f40aa52246624376877d08d84d2a201c9bf6f1ffae6d;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '289' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster stop + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/dbf9ffd8-b188-483f-8107-fc5706d7b71c?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/dbf9ffd8-b188-483f-8107-fc5706d7b71c","name":"dbf9ffd8-b188-483f-8107-fc5706d7b71c","status":"Running","startTime":"2020-04-28T10:24:11.5563535Z","endTime":"2020-04-28T10:24:12.3219579Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterSuspend","RootActivityId":"59d5cd91-06ca-403f-8f6a-4452f87bb18c","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '463' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:30:48 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=0b3e7bab7bc253429b01a84fcfe52f9eaf7487da416b1f2a0af2bf3349b35509;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '288' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster stop + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/dbf9ffd8-b188-483f-8107-fc5706d7b71c?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/dbf9ffd8-b188-483f-8107-fc5706d7b71c","name":"dbf9ffd8-b188-483f-8107-fc5706d7b71c","status":"Running","startTime":"2020-04-28T10:24:11.5563535Z","endTime":"2020-04-28T10:24:12.3219579Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterSuspend","RootActivityId":"59d5cd91-06ca-403f-8f6a-4452f87bb18c","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '463' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:31:19 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=d29ec50e2353fd96ac8ed72619c1a2fb36a21ed6c3f22a5075cd2c606bb89829;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '287' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster stop + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/dbf9ffd8-b188-483f-8107-fc5706d7b71c?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/dbf9ffd8-b188-483f-8107-fc5706d7b71c","name":"dbf9ffd8-b188-483f-8107-fc5706d7b71c","status":"Running","startTime":"2020-04-28T10:24:11.5563535Z","endTime":"2020-04-28T10:24:12.3219579Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterSuspend","RootActivityId":"59d5cd91-06ca-403f-8f6a-4452f87bb18c","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '463' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:31:49 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=322636332396dc9c2c583f1f95d6956f84718edf355825979649eda7bf94886e;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '286' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster stop + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/dbf9ffd8-b188-483f-8107-fc5706d7b71c?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/dbf9ffd8-b188-483f-8107-fc5706d7b71c","name":"dbf9ffd8-b188-483f-8107-fc5706d7b71c","status":"Running","startTime":"2020-04-28T10:24:11.5563535Z","endTime":"2020-04-28T10:24:12.3219579Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterSuspend","RootActivityId":"59d5cd91-06ca-403f-8f6a-4452f87bb18c","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '463' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:32:19 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=68eda2333691511c17b2574619a79876611dd86be1c55aa848d58cf2408b7c02;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '285' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster stop + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/dbf9ffd8-b188-483f-8107-fc5706d7b71c?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/dbf9ffd8-b188-483f-8107-fc5706d7b71c","name":"dbf9ffd8-b188-483f-8107-fc5706d7b71c","status":"Running","startTime":"2020-04-28T10:24:11.5563535Z","endTime":"2020-04-28T10:24:12.3219579Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterSuspend","RootActivityId":"59d5cd91-06ca-403f-8f6a-4452f87bb18c","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '463' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:32:50 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=d29ec50e2353fd96ac8ed72619c1a2fb36a21ed6c3f22a5075cd2c606bb89829;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '284' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster stop + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/dbf9ffd8-b188-483f-8107-fc5706d7b71c?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/dbf9ffd8-b188-483f-8107-fc5706d7b71c","name":"dbf9ffd8-b188-483f-8107-fc5706d7b71c","status":"Running","startTime":"2020-04-28T10:24:11.5563535Z","endTime":"2020-04-28T10:24:12.3219579Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterSuspend","RootActivityId":"59d5cd91-06ca-403f-8f6a-4452f87bb18c","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '463' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:33:21 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=f977ea28325f4c100ed19c1a7ed6395c7554e0af5ce62499bbee5975165c7757;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '283' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster stop + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/dbf9ffd8-b188-483f-8107-fc5706d7b71c?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/dbf9ffd8-b188-483f-8107-fc5706d7b71c","name":"dbf9ffd8-b188-483f-8107-fc5706d7b71c","status":"Running","startTime":"2020-04-28T10:24:11.5563535Z","endTime":"2020-04-28T10:24:12.3219579Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterSuspend","RootActivityId":"59d5cd91-06ca-403f-8f6a-4452f87bb18c","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '463' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:33:52 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=0b3e7bab7bc253429b01a84fcfe52f9eaf7487da416b1f2a0af2bf3349b35509;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '282' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster stop + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/dbf9ffd8-b188-483f-8107-fc5706d7b71c?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/dbf9ffd8-b188-483f-8107-fc5706d7b71c","name":"dbf9ffd8-b188-483f-8107-fc5706d7b71c","status":"Running","startTime":"2020-04-28T10:24:11.5563535Z","endTime":"2020-04-28T10:24:12.3219579Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterSuspend","RootActivityId":"59d5cd91-06ca-403f-8f6a-4452f87bb18c","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '463' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:34:22 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=322636332396dc9c2c583f1f95d6956f84718edf355825979649eda7bf94886e;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '281' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster stop + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/dbf9ffd8-b188-483f-8107-fc5706d7b71c?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/dbf9ffd8-b188-483f-8107-fc5706d7b71c","name":"dbf9ffd8-b188-483f-8107-fc5706d7b71c","status":"Running","startTime":"2020-04-28T10:24:11.5563535Z","endTime":"2020-04-28T10:24:12.3219579Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterSuspend","RootActivityId":"59d5cd91-06ca-403f-8f6a-4452f87bb18c","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '463' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:34:53 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=348d1e7264ad0063baa3036f92cd47d46e91963aabd2dc4d51adfdac15009271;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '280' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster stop + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/dbf9ffd8-b188-483f-8107-fc5706d7b71c?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/dbf9ffd8-b188-483f-8107-fc5706d7b71c","name":"dbf9ffd8-b188-483f-8107-fc5706d7b71c","status":"Running","startTime":"2020-04-28T10:24:11.5563535Z","endTime":"2020-04-28T10:24:12.3219579Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterSuspend","RootActivityId":"59d5cd91-06ca-403f-8f6a-4452f87bb18c","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '463' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:35:24 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=3e9a49b330654e4ac57f196a7fb95bb367210c5ce4e9c674a332fb882012a73e;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '289' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster stop + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/dbf9ffd8-b188-483f-8107-fc5706d7b71c?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/dbf9ffd8-b188-483f-8107-fc5706d7b71c","name":"dbf9ffd8-b188-483f-8107-fc5706d7b71c","status":"Running","startTime":"2020-04-28T10:24:11.5563535Z","endTime":"2020-04-28T10:24:12.3219579Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterSuspend","RootActivityId":"59d5cd91-06ca-403f-8f6a-4452f87bb18c","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '463' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:35:55 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=0b3e7bab7bc253429b01a84fcfe52f9eaf7487da416b1f2a0af2bf3349b35509;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '288' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster stop + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/dbf9ffd8-b188-483f-8107-fc5706d7b71c?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/dbf9ffd8-b188-483f-8107-fc5706d7b71c","name":"dbf9ffd8-b188-483f-8107-fc5706d7b71c","status":"Running","startTime":"2020-04-28T10:24:11.5563535Z","endTime":"2020-04-28T10:24:12.3219579Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterSuspend","RootActivityId":"59d5cd91-06ca-403f-8f6a-4452f87bb18c","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '463' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:36:25 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=d29ec50e2353fd96ac8ed72619c1a2fb36a21ed6c3f22a5075cd2c606bb89829;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '287' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster stop + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/dbf9ffd8-b188-483f-8107-fc5706d7b71c?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/dbf9ffd8-b188-483f-8107-fc5706d7b71c","name":"dbf9ffd8-b188-483f-8107-fc5706d7b71c","status":"Running","startTime":"2020-04-28T10:24:11.5563535Z","endTime":"2020-04-28T10:24:12.3219579Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterSuspend","RootActivityId":"59d5cd91-06ca-403f-8f6a-4452f87bb18c","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '463' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:36:56 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=bf171968557f7483abc0913a42c0207b9017c552b91766911eca876583df224c;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '286' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster stop + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/dbf9ffd8-b188-483f-8107-fc5706d7b71c?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/dbf9ffd8-b188-483f-8107-fc5706d7b71c","name":"dbf9ffd8-b188-483f-8107-fc5706d7b71c","status":"Running","startTime":"2020-04-28T10:24:11.5563535Z","endTime":"2020-04-28T10:24:12.3219579Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterSuspend","RootActivityId":"59d5cd91-06ca-403f-8f6a-4452f87bb18c","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '463' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:37:26 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=0b3e7bab7bc253429b01a84fcfe52f9eaf7487da416b1f2a0af2bf3349b35509;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '285' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster stop + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/dbf9ffd8-b188-483f-8107-fc5706d7b71c?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/dbf9ffd8-b188-483f-8107-fc5706d7b71c","name":"dbf9ffd8-b188-483f-8107-fc5706d7b71c","status":"Running","startTime":"2020-04-28T10:24:11.5563535Z","endTime":"2020-04-28T10:24:12.3219579Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterSuspend","RootActivityId":"59d5cd91-06ca-403f-8f6a-4452f87bb18c","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '463' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:37:57 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=d29ec50e2353fd96ac8ed72619c1a2fb36a21ed6c3f22a5075cd2c606bb89829;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '284' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster stop + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/dbf9ffd8-b188-483f-8107-fc5706d7b71c?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/dbf9ffd8-b188-483f-8107-fc5706d7b71c","name":"dbf9ffd8-b188-483f-8107-fc5706d7b71c","status":"Running","startTime":"2020-04-28T10:24:11.5563535Z","endTime":"2020-04-28T10:24:12.3219579Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterSuspend","RootActivityId":"59d5cd91-06ca-403f-8f6a-4452f87bb18c","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '463' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:38:28 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=348d1e7264ad0063baa3036f92cd47d46e91963aabd2dc4d51adfdac15009271;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '283' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster stop + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/dbf9ffd8-b188-483f-8107-fc5706d7b71c?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/dbf9ffd8-b188-483f-8107-fc5706d7b71c","name":"dbf9ffd8-b188-483f-8107-fc5706d7b71c","status":"Running","startTime":"2020-04-28T10:24:11.5563535Z","endTime":"2020-04-28T10:24:12.3219579Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterSuspend","RootActivityId":"59d5cd91-06ca-403f-8f6a-4452f87bb18c","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '463' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:38:57 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=5e5ff28fa92b1291bfb4f40aa52246624376877d08d84d2a201c9bf6f1ffae6d;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '282' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster stop + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/dbf9ffd8-b188-483f-8107-fc5706d7b71c?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/dbf9ffd8-b188-483f-8107-fc5706d7b71c","name":"dbf9ffd8-b188-483f-8107-fc5706d7b71c","status":"Succeeded","startTime":"2020-04-28T10:24:11.5563535Z","endTime":"2020-04-28T10:39:05.3481839Z","percentComplete":1.0,"properties":{"OperationKind":"ClusterSuspend","RootActivityId":"59d5cd91-06ca-403f-8f6a-4452f87bb18c","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '467' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:39:29 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=3e9a49b330654e4ac57f196a7fb95bb367210c5ce4e9c674a332fb882012a73e;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '281' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster stop + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/dbf9ffd8-b188-483f-8107-fc5706d7b71c?api-version=2020-02-15&operationResultResponseType=Location + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 28 Apr 2020 10:39:30 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=f977ea28325f4c100ed19c1a7ed6395c7554e0af5ce62499bbee5975165c7757;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '280' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster start + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/clusters/testcliclusterleader/start?api-version=2020-02-15 + response: + body: + string: '' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationResults/6f491254-44d8-4290-83ce-832acd8eecbf?api-version=2020-02-15 + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 28 Apr 2020 10:39:32 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/6f491254-44d8-4290-83ce-832acd8eecbf?api-version=2020-02-15&operationResultResponseType=Location + pragma: + - no-cache + set-cookie: + - ARRAffinity=68eda2333691511c17b2574619a79876611dd86be1c55aa848d58cf2408b7c02;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster start + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/6f491254-44d8-4290-83ce-832acd8eecbf?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/6f491254-44d8-4290-83ce-832acd8eecbf","name":"6f491254-44d8-4290-83ce-832acd8eecbf","status":"Running","startTime":"2020-04-28T10:39:33.1766281Z","endTime":"2020-04-28T10:39:34.2235352Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterResume","RootActivityId":"836d4cd0-8abe-4c7b-ad3f-fcd294c99dfc","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '462' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:40:03 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=be0e0d186a8dd7beec8fdedbe9912fb4fc8ea63ab4795c4847feb9495ca10dd5;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '299' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster start + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/6f491254-44d8-4290-83ce-832acd8eecbf?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/6f491254-44d8-4290-83ce-832acd8eecbf","name":"6f491254-44d8-4290-83ce-832acd8eecbf","status":"Running","startTime":"2020-04-28T10:39:33.1766281Z","endTime":"2020-04-28T10:39:34.2235352Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterResume","RootActivityId":"836d4cd0-8abe-4c7b-ad3f-fcd294c99dfc","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '462' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:40:33 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=f977ea28325f4c100ed19c1a7ed6395c7554e0af5ce62499bbee5975165c7757;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '298' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster start + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/6f491254-44d8-4290-83ce-832acd8eecbf?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/6f491254-44d8-4290-83ce-832acd8eecbf","name":"6f491254-44d8-4290-83ce-832acd8eecbf","status":"Running","startTime":"2020-04-28T10:39:33.1766281Z","endTime":"2020-04-28T10:39:34.2235352Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterResume","RootActivityId":"836d4cd0-8abe-4c7b-ad3f-fcd294c99dfc","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '462' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:41:04 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=5e5ff28fa92b1291bfb4f40aa52246624376877d08d84d2a201c9bf6f1ffae6d;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '297' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster start + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/6f491254-44d8-4290-83ce-832acd8eecbf?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/6f491254-44d8-4290-83ce-832acd8eecbf","name":"6f491254-44d8-4290-83ce-832acd8eecbf","status":"Running","startTime":"2020-04-28T10:39:33.1766281Z","endTime":"2020-04-28T10:39:34.2235352Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterResume","RootActivityId":"836d4cd0-8abe-4c7b-ad3f-fcd294c99dfc","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '462' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:41:34 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=3e9a49b330654e4ac57f196a7fb95bb367210c5ce4e9c674a332fb882012a73e;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '296' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster start + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/6f491254-44d8-4290-83ce-832acd8eecbf?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/6f491254-44d8-4290-83ce-832acd8eecbf","name":"6f491254-44d8-4290-83ce-832acd8eecbf","status":"Running","startTime":"2020-04-28T10:39:33.1766281Z","endTime":"2020-04-28T10:39:34.2235352Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterResume","RootActivityId":"836d4cd0-8abe-4c7b-ad3f-fcd294c99dfc","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '462' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:42:05 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=be0e0d186a8dd7beec8fdedbe9912fb4fc8ea63ab4795c4847feb9495ca10dd5;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '295' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster start + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/6f491254-44d8-4290-83ce-832acd8eecbf?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/6f491254-44d8-4290-83ce-832acd8eecbf","name":"6f491254-44d8-4290-83ce-832acd8eecbf","status":"Running","startTime":"2020-04-28T10:39:33.1766281Z","endTime":"2020-04-28T10:39:34.2235352Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterResume","RootActivityId":"836d4cd0-8abe-4c7b-ad3f-fcd294c99dfc","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '462' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:42:35 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=f977ea28325f4c100ed19c1a7ed6395c7554e0af5ce62499bbee5975165c7757;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '294' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster start + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/6f491254-44d8-4290-83ce-832acd8eecbf?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/6f491254-44d8-4290-83ce-832acd8eecbf","name":"6f491254-44d8-4290-83ce-832acd8eecbf","status":"Running","startTime":"2020-04-28T10:39:33.1766281Z","endTime":"2020-04-28T10:39:34.2235352Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterResume","RootActivityId":"836d4cd0-8abe-4c7b-ad3f-fcd294c99dfc","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '462' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:43:06 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=bf171968557f7483abc0913a42c0207b9017c552b91766911eca876583df224c;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '293' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster start + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/6f491254-44d8-4290-83ce-832acd8eecbf?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/6f491254-44d8-4290-83ce-832acd8eecbf","name":"6f491254-44d8-4290-83ce-832acd8eecbf","status":"Running","startTime":"2020-04-28T10:39:33.1766281Z","endTime":"2020-04-28T10:39:34.2235352Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterResume","RootActivityId":"836d4cd0-8abe-4c7b-ad3f-fcd294c99dfc","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '462' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:44:24 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=bf171968557f7483abc0913a42c0207b9017c552b91766911eca876583df224c;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '292' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster start + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/6f491254-44d8-4290-83ce-832acd8eecbf?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/6f491254-44d8-4290-83ce-832acd8eecbf","name":"6f491254-44d8-4290-83ce-832acd8eecbf","status":"Running","startTime":"2020-04-28T10:39:33.1766281Z","endTime":"2020-04-28T10:39:34.2235352Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterResume","RootActivityId":"836d4cd0-8abe-4c7b-ad3f-fcd294c99dfc","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '462' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:44:54 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=322636332396dc9c2c583f1f95d6956f84718edf355825979649eda7bf94886e;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '291' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster start + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/6f491254-44d8-4290-83ce-832acd8eecbf?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/6f491254-44d8-4290-83ce-832acd8eecbf","name":"6f491254-44d8-4290-83ce-832acd8eecbf","status":"Running","startTime":"2020-04-28T10:39:33.1766281Z","endTime":"2020-04-28T10:39:34.2235352Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterResume","RootActivityId":"836d4cd0-8abe-4c7b-ad3f-fcd294c99dfc","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '462' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:45:24 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=68eda2333691511c17b2574619a79876611dd86be1c55aa848d58cf2408b7c02;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '290' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster start + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/6f491254-44d8-4290-83ce-832acd8eecbf?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/6f491254-44d8-4290-83ce-832acd8eecbf","name":"6f491254-44d8-4290-83ce-832acd8eecbf","status":"Running","startTime":"2020-04-28T10:39:33.1766281Z","endTime":"2020-04-28T10:39:34.2235352Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterResume","RootActivityId":"836d4cd0-8abe-4c7b-ad3f-fcd294c99dfc","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '462' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:45:55 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=348d1e7264ad0063baa3036f92cd47d46e91963aabd2dc4d51adfdac15009271;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '289' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster start + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/6f491254-44d8-4290-83ce-832acd8eecbf?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/6f491254-44d8-4290-83ce-832acd8eecbf","name":"6f491254-44d8-4290-83ce-832acd8eecbf","status":"Running","startTime":"2020-04-28T10:39:33.1766281Z","endTime":"2020-04-28T10:39:34.2235352Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterResume","RootActivityId":"836d4cd0-8abe-4c7b-ad3f-fcd294c99dfc","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '462' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:46:25 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=be0e0d186a8dd7beec8fdedbe9912fb4fc8ea63ab4795c4847feb9495ca10dd5;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '288' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster start + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/6f491254-44d8-4290-83ce-832acd8eecbf?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/6f491254-44d8-4290-83ce-832acd8eecbf","name":"6f491254-44d8-4290-83ce-832acd8eecbf","status":"Running","startTime":"2020-04-28T10:39:33.1766281Z","endTime":"2020-04-28T10:39:34.2235352Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterResume","RootActivityId":"836d4cd0-8abe-4c7b-ad3f-fcd294c99dfc","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '462' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:46:56 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=3e9a49b330654e4ac57f196a7fb95bb367210c5ce4e9c674a332fb882012a73e;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '287' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster start + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/6f491254-44d8-4290-83ce-832acd8eecbf?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/6f491254-44d8-4290-83ce-832acd8eecbf","name":"6f491254-44d8-4290-83ce-832acd8eecbf","status":"Running","startTime":"2020-04-28T10:39:33.1766281Z","endTime":"2020-04-28T10:39:34.2235352Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterResume","RootActivityId":"836d4cd0-8abe-4c7b-ad3f-fcd294c99dfc","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '462' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:47:27 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=348d1e7264ad0063baa3036f92cd47d46e91963aabd2dc4d51adfdac15009271;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '286' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster start + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/6f491254-44d8-4290-83ce-832acd8eecbf?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/6f491254-44d8-4290-83ce-832acd8eecbf","name":"6f491254-44d8-4290-83ce-832acd8eecbf","status":"Succeeded","startTime":"2020-04-28T10:39:33.1766281Z","endTime":"2020-04-28T10:47:35.476039Z","percentComplete":1.0,"properties":{"OperationKind":"ClusterResume","RootActivityId":"836d4cd0-8abe-4c7b-ad3f-fcd294c99dfc","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '465' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:47:58 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=bf171968557f7483abc0913a42c0207b9017c552b91766911eca876583df224c;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '285' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster start + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/6f491254-44d8-4290-83ce-832acd8eecbf?api-version=2020-02-15&operationResultResponseType=Location + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 28 Apr 2020 10:47:58 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=322636332396dc9c2c583f1f95d6956f84718edf355825979649eda7bf94886e;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '284' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto database delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --cluster-name --database-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/clusters/testcliclusterleader/databases/KustoDatabase8?api-version=2020-02-15 + response: + body: + string: '' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationResults/64306fb5-dcc5-4729-991c-006de20e5db9?api-version=2020-02-15 + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 28 Apr 2020 10:48:01 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/64306fb5-dcc5-4729-991c-006de20e5db9?api-version=2020-02-15&operationResultResponseType=Location + pragma: + - no-cache + set-cookie: + - ARRAffinity=be0e0d186a8dd7beec8fdedbe9912fb4fc8ea63ab4795c4847feb9495ca10dd5;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto database delete + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --database-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/64306fb5-dcc5-4729-991c-006de20e5db9?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/64306fb5-dcc5-4729-991c-006de20e5db9","name":"64306fb5-dcc5-4729-991c-006de20e5db9","status":"Succeeded","startTime":"2020-04-28T10:48:01.4605354Z","endTime":"2020-04-28T10:48:04.2573957Z","percentComplete":1.0,"properties":{"OperationKind":"DatabaseDelete","RootActivityId":"bec639e9-c809-4200-a64e-53a2af492466","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '467' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:48:31 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=bf171968557f7483abc0913a42c0207b9017c552b91766911eca876583df224c;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '299' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/clusters/testcliclusterleader?api-version=2020-02-15 + response: + body: + string: '' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationResults/c3fe7f15-8be1-494a-becb-cfc38604d2d5?api-version=2020-02-15 + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 28 Apr 2020 10:48:34 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/c3fe7f15-8be1-494a-becb-cfc38604d2d5?api-version=2020-02-15&operationResultResponseType=Location + pragma: + - no-cache + set-cookie: + - ARRAffinity=be0e0d186a8dd7beec8fdedbe9912fb4fc8ea63ab4795c4847feb9495ca10dd5;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster delete + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/c3fe7f15-8be1-494a-becb-cfc38604d2d5?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/c3fe7f15-8be1-494a-becb-cfc38604d2d5","name":"c3fe7f15-8be1-494a-becb-cfc38604d2d5","status":"Running","startTime":"2020-04-28T10:48:35.2663497Z","endTime":"2020-04-28T10:48:36.0319982Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterDelete","RootActivityId":"53807f12-2f09-47af-aa42-06fc724cc160","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '462' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:49:05 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=d29ec50e2353fd96ac8ed72619c1a2fb36a21ed6c3f22a5075cd2c606bb89829;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '299' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster delete + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/c3fe7f15-8be1-494a-becb-cfc38604d2d5?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/c3fe7f15-8be1-494a-becb-cfc38604d2d5","name":"c3fe7f15-8be1-494a-becb-cfc38604d2d5","status":"Running","startTime":"2020-04-28T10:48:35.2663497Z","endTime":"2020-04-28T10:48:36.0319982Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterDelete","RootActivityId":"53807f12-2f09-47af-aa42-06fc724cc160","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '462' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:49:35 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=322636332396dc9c2c583f1f95d6956f84718edf355825979649eda7bf94886e;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '298' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster delete + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/c3fe7f15-8be1-494a-becb-cfc38604d2d5?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/c3fe7f15-8be1-494a-becb-cfc38604d2d5","name":"c3fe7f15-8be1-494a-becb-cfc38604d2d5","status":"Running","startTime":"2020-04-28T10:48:35.2663497Z","endTime":"2020-04-28T10:48:36.0319982Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterDelete","RootActivityId":"53807f12-2f09-47af-aa42-06fc724cc160","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '462' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:50:06 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=3e9a49b330654e4ac57f196a7fb95bb367210c5ce4e9c674a332fb882012a73e;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '297' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster delete + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/c3fe7f15-8be1-494a-becb-cfc38604d2d5?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/c3fe7f15-8be1-494a-becb-cfc38604d2d5","name":"c3fe7f15-8be1-494a-becb-cfc38604d2d5","status":"Running","startTime":"2020-04-28T10:48:35.2663497Z","endTime":"2020-04-28T10:48:36.0319982Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterDelete","RootActivityId":"53807f12-2f09-47af-aa42-06fc724cc160","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '462' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:50:37 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=3e9a49b330654e4ac57f196a7fb95bb367210c5ce4e9c674a332fb882012a73e;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '296' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster delete + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/c3fe7f15-8be1-494a-becb-cfc38604d2d5?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/c3fe7f15-8be1-494a-becb-cfc38604d2d5","name":"c3fe7f15-8be1-494a-becb-cfc38604d2d5","status":"Running","startTime":"2020-04-28T10:48:35.2663497Z","endTime":"2020-04-28T10:48:36.0319982Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterDelete","RootActivityId":"53807f12-2f09-47af-aa42-06fc724cc160","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '462' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:51:07 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=322636332396dc9c2c583f1f95d6956f84718edf355825979649eda7bf94886e;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '295' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster delete + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/c3fe7f15-8be1-494a-becb-cfc38604d2d5?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/c3fe7f15-8be1-494a-becb-cfc38604d2d5","name":"c3fe7f15-8be1-494a-becb-cfc38604d2d5","status":"Running","startTime":"2020-04-28T10:48:35.2663497Z","endTime":"2020-04-28T10:48:36.0319982Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterDelete","RootActivityId":"53807f12-2f09-47af-aa42-06fc724cc160","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '462' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:51:38 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=f977ea28325f4c100ed19c1a7ed6395c7554e0af5ce62499bbee5975165c7757;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '294' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster delete + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/c3fe7f15-8be1-494a-becb-cfc38604d2d5?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/c3fe7f15-8be1-494a-becb-cfc38604d2d5","name":"c3fe7f15-8be1-494a-becb-cfc38604d2d5","status":"Running","startTime":"2020-04-28T10:48:35.2663497Z","endTime":"2020-04-28T10:48:36.0319982Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterDelete","RootActivityId":"53807f12-2f09-47af-aa42-06fc724cc160","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '462' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:52:08 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=5e5ff28fa92b1291bfb4f40aa52246624376877d08d84d2a201c9bf6f1ffae6d;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '293' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster delete + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/c3fe7f15-8be1-494a-becb-cfc38604d2d5?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/c3fe7f15-8be1-494a-becb-cfc38604d2d5","name":"c3fe7f15-8be1-494a-becb-cfc38604d2d5","status":"Running","startTime":"2020-04-28T10:48:35.2663497Z","endTime":"2020-04-28T10:48:36.0319982Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterDelete","RootActivityId":"53807f12-2f09-47af-aa42-06fc724cc160","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '462' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:52:39 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=be0e0d186a8dd7beec8fdedbe9912fb4fc8ea63ab4795c4847feb9495ca10dd5;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '292' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster delete + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/c3fe7f15-8be1-494a-becb-cfc38604d2d5?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/c3fe7f15-8be1-494a-becb-cfc38604d2d5","name":"c3fe7f15-8be1-494a-becb-cfc38604d2d5","status":"Running","startTime":"2020-04-28T10:48:35.2663497Z","endTime":"2020-04-28T10:48:36.0319982Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterDelete","RootActivityId":"53807f12-2f09-47af-aa42-06fc724cc160","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '462' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:53:10 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=3e9a49b330654e4ac57f196a7fb95bb367210c5ce4e9c674a332fb882012a73e;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '291' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster delete + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/c3fe7f15-8be1-494a-becb-cfc38604d2d5?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/c3fe7f15-8be1-494a-becb-cfc38604d2d5","name":"c3fe7f15-8be1-494a-becb-cfc38604d2d5","status":"Running","startTime":"2020-04-28T10:48:35.2663497Z","endTime":"2020-04-28T10:48:36.0319982Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterDelete","RootActivityId":"53807f12-2f09-47af-aa42-06fc724cc160","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '462' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:53:40 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=68eda2333691511c17b2574619a79876611dd86be1c55aa848d58cf2408b7c02;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '290' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster delete + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/c3fe7f15-8be1-494a-becb-cfc38604d2d5?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/c3fe7f15-8be1-494a-becb-cfc38604d2d5","name":"c3fe7f15-8be1-494a-becb-cfc38604d2d5","status":"Running","startTime":"2020-04-28T10:48:35.2663497Z","endTime":"2020-04-28T10:48:36.0319982Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterDelete","RootActivityId":"53807f12-2f09-47af-aa42-06fc724cc160","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '462' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:54:10 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=348d1e7264ad0063baa3036f92cd47d46e91963aabd2dc4d51adfdac15009271;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '289' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster delete + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/c3fe7f15-8be1-494a-becb-cfc38604d2d5?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/c3fe7f15-8be1-494a-becb-cfc38604d2d5","name":"c3fe7f15-8be1-494a-becb-cfc38604d2d5","status":"Running","startTime":"2020-04-28T10:48:35.2663497Z","endTime":"2020-04-28T10:48:36.0319982Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterDelete","RootActivityId":"53807f12-2f09-47af-aa42-06fc724cc160","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '462' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:54:41 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=0b3e7bab7bc253429b01a84fcfe52f9eaf7487da416b1f2a0af2bf3349b35509;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '288' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster delete + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/c3fe7f15-8be1-494a-becb-cfc38604d2d5?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/c3fe7f15-8be1-494a-becb-cfc38604d2d5","name":"c3fe7f15-8be1-494a-becb-cfc38604d2d5","status":"Running","startTime":"2020-04-28T10:48:35.2663497Z","endTime":"2020-04-28T10:48:36.0319982Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterDelete","RootActivityId":"53807f12-2f09-47af-aa42-06fc724cc160","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '462' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:55:12 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=322636332396dc9c2c583f1f95d6956f84718edf355825979649eda7bf94886e;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '289' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster delete + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/c3fe7f15-8be1-494a-becb-cfc38604d2d5?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/c3fe7f15-8be1-494a-becb-cfc38604d2d5","name":"c3fe7f15-8be1-494a-becb-cfc38604d2d5","status":"Running","startTime":"2020-04-28T10:48:35.2663497Z","endTime":"2020-04-28T10:48:36.0319982Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterDelete","RootActivityId":"53807f12-2f09-47af-aa42-06fc724cc160","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '462' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:55:42 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=348d1e7264ad0063baa3036f92cd47d46e91963aabd2dc4d51adfdac15009271;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '288' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster delete + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/c3fe7f15-8be1-494a-becb-cfc38604d2d5?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/c3fe7f15-8be1-494a-becb-cfc38604d2d5","name":"c3fe7f15-8be1-494a-becb-cfc38604d2d5","status":"Running","startTime":"2020-04-28T10:48:35.2663497Z","endTime":"2020-04-28T10:48:36.0319982Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterDelete","RootActivityId":"53807f12-2f09-47af-aa42-06fc724cc160","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '462' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:56:13 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=348d1e7264ad0063baa3036f92cd47d46e91963aabd2dc4d51adfdac15009271;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '287' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster delete + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/c3fe7f15-8be1-494a-becb-cfc38604d2d5?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/c3fe7f15-8be1-494a-becb-cfc38604d2d5","name":"c3fe7f15-8be1-494a-becb-cfc38604d2d5","status":"Succeeded","startTime":"2020-04-28T10:48:35.2663497Z","endTime":"2020-04-28T10:56:30.6219336Z","percentComplete":1.0,"properties":{"OperationKind":"ClusterDelete","RootActivityId":"53807f12-2f09-47af-aa42-06fc724cc160","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '466' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 28 Apr 2020 10:56:44 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=d29ec50e2353fd96ac8ed72619c1a2fb36a21ed6c3f22a5075cd2c606bb89829;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '286' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +version: 1 diff --git a/src/kusto/azext_kusto/manual/tests/latest/test_kusto_scenario.py b/src/kusto/azext_kusto/manual/tests/latest/test_kusto_scenario.py new file mode 100644 index 00000000000..6cbe1f6ca7f --- /dev/null +++ b/src/kusto/azext_kusto/manual/tests/latest/test_kusto_scenario.py @@ -0,0 +1,468 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import os +import unittest + +from azure_devtools.scenario_tests import AllowLargeResponse +from azure.cli.testsdk import ScenarioTest +from .. import try_manual +from azure.cli.testsdk import ResourceGroupPreparer + + +TEST_DIR = os.path.abspath(os.path.join(os.path.abspath(__file__), '..')) + + +@try_manual +def setup(test, rg): + pass + + +# EXAMPLE: kustoclusterscreateorupdate +@try_manual +def step_kustoclusterscreateorupdate2(test, rg): + test.cmd('az kusto cluster create ' + '--cluster-name "{Clusters_2}" ' + '--identity-type "SystemAssigned" ' + '--location "westus" ' + '--enable-purge true ' + '--enable-streaming-ingest true ' + '--key-vault-properties key-name="" key-vault-uri="" key-version="" ' + '--sku name="Standard_L8s" capacity=2 tier="Standard" ' + '--resource-group "{rg}"', + checks=[]) + + +# EXAMPLE: kustoclusterscreateorupdate +@try_manual +def step_kustoclusterscreateorupdate(test, rg): + test.cmd('az kusto cluster create ' + '--cluster-name "{Clusters_3}" ' + '--identity-type "SystemAssigned" ' + '--location "westus" ' + '--enable-purge true ' + '--enable-streaming-ingest true ' + '--key-vault-properties key-name="" key-vault-uri="" key-version="" ' + '--sku name="Standard_L8s" capacity=2 tier="Standard" ' + '--resource-group "{rg}"', + checks=[]) + test.cmd('az kusto cluster wait --created ' + '--cluster-name "{Clusters_3}" ' + '--resource-group "{rg}"', + checks=[]) + + +# EXAMPLE: kustoclusterschecknameavailability +@try_manual +def step_kustoclusterschecknameavailability(test, rg): + # EXAMPLE NOT FOUND! + pass + + +# EXAMPLE: kustoclustersget +@try_manual +def step_kustoclustersget(test, rg): + test.cmd('az kusto cluster show ' + '--cluster-name "{Clusters_3}" ' + '--resource-group "{rg}"', + checks=[]) + + +# EXAMPLE: kustoclusterslist +@try_manual +def step_kustoclusterslist(test, rg): + test.cmd('az kusto cluster list', + checks=[]) + + +# EXAMPLE: kustoclusterslistbyresourcegroup +@try_manual +def step_kustoclusterslistbyresourcegroup(test, rg): + test.cmd('az kusto cluster list ' + '--resource-group "{rg}"', + checks=[]) + + +# EXAMPLE: kustoclustersstop +@try_manual +def step_kustoclustersstop(test, rg): + test.cmd('az kusto cluster stop ' + '--cluster-name "{Clusters_3}" ' + '--resource-group "{rg}"', + checks=[]) + + +# EXAMPLE: kustoclustersstart +@try_manual +def step_kustoclustersstart(test, rg): + test.cmd('az kusto cluster start ' + '--cluster-name "{Clusters_3}" ' + '--resource-group "{rg}"', + checks=[]) + + +# EXAMPLE: kustoclusterslistresourceskus +@try_manual +def step_kustoclusterslistresourceskus(test, rg): + test.cmd('az kusto cluster list-sku ' + '--cluster-name "{Clusters_3}" ' + '--resource-group "{rg}"', + checks=[]) + + +# EXAMPLE: kustoclusterslistskus +@try_manual +def step_kustoclusterslistskus(test, rg): + test.cmd('az kusto cluster list-sku', + checks=[]) + + +# EXAMPLE: kustodatabasescreateorupdate +@try_manual +def step_kustodatabasescreateorupdate(test, rg): + test.cmd('az kusto database create ' + '--cluster-name "{Clusters_3}" ' + '--database-name "KustoDatabase8" ' + '--read-write-database location="westus" soft-delete-period="P1D" ' + '--resource-group "{rg}"', + checks=[]) + + +# EXAMPLE: kustodatabasechecknameavailability +@try_manual +def step_kustodatabasechecknameavailability(test, rg): + # EXAMPLE NOT FOUND! + pass + + +# EXAMPLE: kustodatabaseslistbycluster +@try_manual +def step_kustodatabaseslistbycluster(test, rg): + test.cmd('az kusto database list ' + '--cluster-name "{Clusters_3}" ' + '--resource-group "{rg}"', + checks=[]) + + +# EXAMPLE: kustodatabasesget +@try_manual +def step_kustodatabasesget(test, rg): + test.cmd('az kusto database show ' + '--cluster-name "{Clusters_3}" ' + '--database-name "KustoDatabase8" ' + '--resource-group "{rg}"', + checks=[]) + + +# EXAMPLE: kustodatabasesupdate +@try_manual +def step_kustodatabasesupdate(test, rg): + test.cmd('az kusto database update ' + '--cluster-name "{Clusters_3}" ' + '--database-name "KustoDatabase8" ' + '--read-write-database soft-delete-period="P1D" ' + '--resource-group "{rg}"', + checks=[]) + + +# EXAMPLE: kustodatabaseprincipalassignmentscreateorupdate +@try_manual +def step_kustodatabaseprincipalassignmentscreateorupdate(test, rg): + test.cmd('az kusto database-principal-assignment create ' + '--cluster-name "{Clusters_3}" ' + '--database-name "Kustodatabase8" ' + '--principal-id "d9a1f322-1293-4595-91e3-f54f8bb34725" ' + '--principal-type "App" ' + '--role "Admin" ' + '--tenant-id "33e01921-4d64-4f8c-a055-5bdaffd5e33d" ' + '--principal-assignment-name "kustoprincipal1" ' + '--resource-group "{rg}"', + checks=[]) + test.cmd('az kusto database-principal-assignment wait --created ' + '--cluster-name "{Clusters_3}" ' + '--database-name "Kustodatabase8" ' + '--principal-assignment-name "kustoprincipal1" ' + '--resource-group "{rg}"', + checks=[]) + + +# EXAMPLE: kustodatabaselistprincipals +@try_manual +def step_kustodatabaselistprincipals(test, rg): + test.cmd('az kusto database list-principal ' + '--cluster-name "{Clusters_3}" ' + '--database-name "Kustodatabase8" ' + '--resource-group "{rg}"', + checks=[]) + + +# EXAMPLE: kustodatabaseprincipalassignmentsget +@try_manual +def step_kustodatabaseprincipalassignmentsget(test, rg): + test.cmd('az kusto database-principal-assignment show ' + '--cluster-name "{Clusters_3}" ' + '--database-name "Kustodatabase8" ' + '--principal-assignment-name "kustoprincipal1" ' + '--resource-group "{rg}"', + checks=[]) + + +# EXAMPLE: kustodatabaseprincipalassignmentsdelete +@try_manual +def step_kustodatabaseprincipalassignmentsdelete(test, rg): + test.cmd('az kusto database-principal-assignment delete ' + '--cluster-name "{Clusters_3}" ' + '--database-name "Kustodatabase8" ' + '--principal-assignment-name "kustoprincipal1" ' + '--resource-group "{rg}"', + checks=[]) + + +# EXAMPLE: kustoclusterprincipalassignmentscreateorupdate +@try_manual +def step_kustoclusterprincipalassignmentscreateorupdate(test, rg): + test.cmd('az kusto cluster-principal-assignment create ' + '--cluster-name "{Clusters_3}" ' + '--principal-id "d9a1f322-1293-4595-91e3-f54f8bb34725" ' + '--principal-type "App" ' + '--role "AllDatabasesViewer" ' + '--tenant-id "33e01921-4d64-4f8c-a055-5bdaffd5e33d" ' + '--principal-assignment-name "kustoprincipal1" ' + '--resource-group "{rg}"', + checks=[]) + test.cmd('az kusto cluster-principal-assignment wait --created ' + '--principal-assignment-name "kustoprincipal1" ' + '--cluster-name "{Clusters_3}" ' + '--resource-group "{rg}"', + checks=[]) + + +# EXAMPLE: kustoclusterprincipalassignmentsget +@try_manual +def step_kustoclusterprincipalassignmentsget(test, rg): + test.cmd('az kusto cluster-principal-assignment show ' + '--cluster-name "{Clusters_3}" ' + '--principal-assignment-name "kustoprincipal1" ' + '--resource-group "{rg}"', + checks=[]) + + +# EXAMPLE: attacheddatabaseconfigurationscreateorupdate +@try_manual +def step_attacheddatabaseconfigurationscreateorupdate(test, rg): + test.cmd('az kusto attached-database-configuration create ' + '--attached-database-configuration-name "{attachedDatabaseConfigurations_1}" ' + '--cluster-name "{Clusters_2}" ' + '--location "westus" ' + '--cluster-resource-id "/subscriptions/{subscription_id}/resourceGroups/{rg}/providers/Microsoft.Kusto/Clu' + 'sters/{Clusters_3}" ' + '--database-name "Kustodatabase8" ' + '--default-principals-modification-kind "Union" ' + '--resource-group "{rg}"', + checks=[]) + test.cmd('az kusto attached-database-configuration wait --created ' + '--cluster-name "{Clusters_2}" ' + '--attached-database-configuration-name "{attachedDatabaseConfigurations_1}" ' + '--resource-group "{rg}"', + checks=[]) + + +# EXAMPLE: attacheddatabaseconfigurationsget +@try_manual +def step_attacheddatabaseconfigurationsget(test, rg): + test.cmd('az kusto attached-database-configuration show ' + '--attached-database-configuration-name "{attachedDatabaseConfigurations_1}" ' + '--cluster-name "{Clusters_2}" ' + '--resource-group "{rg}"', + checks=[]) + + +# EXAMPLE: kustoattacheddatabaseconfigurationslistbycluster +@try_manual +def step_kustoattacheddatabaseconfigurationslistbycluster(test, rg): + test.cmd('az kusto attached-database-configuration list ' + '--cluster-name "{Clusters_3}" ' + '--resource-group "{rg}"', + checks=[]) + + +# EXAMPLE: kustoclusterlistfollowerdatabases +@try_manual +def step_kustoclusterlistfollowerdatabases(test, rg): + test.cmd('az kusto cluster list-follower-database ' + '--cluster-name "{Clusters_3}" ' + '--resource-group "{rg}"', + checks=[]) + + +# EXAMPLE: kustoclusterdetachfollowerdatabases +@try_manual +def step_kustoclusterdetachfollowerdatabases(test, rg): + test.cmd('az kusto cluster detach-follower-database ' + '--cluster-name "{Clusters_3}" ' + '--attached-database-configuration-name "{attachedDatabaseConfigurations_1}" ' + '--cluster-resource-id "/subscriptions/{subscription_id}/resourceGroups/{rg}/providers/Microsoft.Kusto/clu' + 'sters/{Clusters_2}" ' + '--resource-group "{rg}"', + checks=[]) + + +# EXAMPLE: kustooperationslist +@try_manual +def step_kustooperationslist(test, rg): + # EXAMPLE NOT FOUND! + pass + + +# EXAMPLE: kustodatabasesdelete +@try_manual +def step_kustodatabasesdelete(test, rg): + test.cmd('az kusto database delete ' + '--cluster-name "{Clusters_3}" ' + '--database-name "KustoDatabase8" ' + '--resource-group "{rg}"', + checks=[]) + + +# EXAMPLE: kustoclustersdelete +@try_manual +def step_kustoclustersdelete(test, rg): + test.cmd('az kusto cluster delete ' + '--cluster-name "{Clusters_3}" ' + '--resource-group "{rg}"', + checks=[]) + + +# EXAMPLE: KustoDataConnectionValidation +@try_manual +def step_kustodataconnectionvalidation(test, rg): + test.cmd('az kusto data-connection event-hub data-connection-validation ' + '--cluster-name "{Clusters_3}" ' + '--database-name "KustoDatabase8" ' + '--data-connection-name "{DataConnections8}" ' + '--consumer-group "$Default" ' + '--event-hub-resource-id "/subscriptions/fbccad30-f0ed-4ac4-9497-93bf6141062f/resourceGroups/cliautogeneration-rg/providers/Microsoft.EventHub/namespaces/cliautogeneration/eventhubs/cliautogeneration-evenhub" ' + '--resource-group "{rg}"', + checks=[]) + + +# EXAMPLE: KustoDataConnectionsCreateOrUpdate +@try_manual +def step_kustodataconnectionscreateorupdate(test, rg): + test.cmd('az kusto data-connection event-hub create ' + '--cluster-name "{Clusters_3}" ' + '--data-connection-name "{DataConnections8}" ' + '--database-name "KustoDatabase8" ' + '--location "westus" ' + '--consumer-group "$Default" ' + '--event-hub-resource-id "/subscriptions/fbccad30-f0ed-4ac4-9497-93bf6141062f/resourceGroups/cliautogeneration-rg/providers/Microsoft.EventHub/namespaces/cliautogeneration/eventhubs/cliautogeneration-evenhub" ' + '--resource-group "{rg}"', + checks=[]) + + +# EXAMPLE: KustoDataConnectionsGet +@try_manual +def step_kustodataconnectionsget(test, rg): + test.cmd('az kusto data-connection show ' + '--cluster-name "{Clusters_3}" ' + '--data-connection-name "{DataConnections8}" ' + '--database-name "KustoDatabase8" ' + '--resource-group "{rg}"', + checks=[]) + + +# EXAMPLE: KustoDataConnectionsUpdate +@try_manual +def step_kustodataconnectionsupdate(test, rg): + test.cmd('az kusto data-connection event-hub update ' + '--cluster-name "{Clusters_3}" ' + '--data-connection-name "{DataConnections8}" ' + '--database-name "KustoDatabase8" ' + '--location "westus" ' + '--consumer-group "$Default" ' + '--event-hub-resource-id "/subscriptions/fbccad30-f0ed-4ac4-9497-93bf6141062f/resourceGroups/cliautogeneration-rg/providers/Microsoft.EventHub/namespaces/cliautogeneration/eventhubs/cliautogeneration-evenhub" ' + '--resource-group "{rg}"', + checks=[]) + + +# EXAMPLE: KustoDataConnectionsDelete +@try_manual +def step_kustodataconnectionsdelete(test, rg): + test.cmd('az kusto data-connection delete ' + '--cluster-name "{Clusters_3}" ' + '--data-connection-name "{DataConnections8}" ' + '--database-name "KustoDatabase8" ' + '--resource-group "{rg}"', + checks=[]) + + +@try_manual +def cleanup(test, rg): + pass + + +@try_manual +def call_scenario(test, rg): + setup(test, rg) + step_kustoclusterscreateorupdate2(test, rg) + step_kustoclusterscreateorupdate(test, rg) + step_kustoclusterschecknameavailability(test, rg) + step_kustoclustersget(test, rg) + step_kustoclusterslist(test, rg) + step_kustoclusterslistbyresourcegroup(test, rg) + step_kustoclusterslistresourceskus(test, rg) + step_kustoclusterslistskus(test, rg) + step_kustodatabasescreateorupdate(test, rg) + step_kustodatabasechecknameavailability(test, rg) + step_kustodatabaseslistbycluster(test, rg) + step_kustodatabasesget(test, rg) + step_kustodatabasesupdate(test, rg) + step_kustodatabaseprincipalassignmentscreateorupdate(test, rg) + step_kustodatabaselistprincipals(test, rg) + step_kustodatabaseprincipalassignmentsget(test, rg) + step_kustodatabaseprincipalassignmentsdelete(test, rg) + step_kustoclusterprincipalassignmentscreateorupdate(test, rg) + step_kustoclusterprincipalassignmentsget(test, rg) + step_attacheddatabaseconfigurationscreateorupdate(test, rg) + step_attacheddatabaseconfigurationsget(test, rg) + step_kustoattacheddatabaseconfigurationslistbycluster(test, rg) + step_kustoclusterlistfollowerdatabases(test, rg) + step_kustoclusterdetachfollowerdatabases(test, rg) + step_kustodataconnectionvalidation(test, rg) + step_kustodataconnectionscreateorupdate(test, rg) + step_kustodataconnectionsget(test, rg) + step_kustodataconnectionsupdate(test, rg) + step_kustodataconnectionsdelete(test, rg) + step_kustooperationslist(test, rg) + step_kustoclustersstop(test, rg) + step_kustoclustersstart(test, rg) + step_kustodatabasesdelete(test, rg) + step_kustoclustersdelete(test, rg) + cleanup(test, rg) + + +@try_manual +class KustoManagementClientScenarioTest(ScenarioTest): + + @ResourceGroupPreparer(name_prefix='clitestkusto_kustorptest'[:7], key='rg', parameter_name='rg') + def test_kusto(self, rg): + + self.kwargs.update({ + 'subscription_id': self.get_subscription_id() + }) + + self.kwargs.update({ + 'Clusters_2': 'testcliclusterfollower', + 'Clusters_3': 'testcliclusterleader', + 'attachedDatabaseConfigurations_1': 'attachedDatabaseConfigurations2', + 'DataConnections8': 'DataConnections8', + }) + + call_scenario(self, rg) diff --git a/src/kusto/azext_kusto/tests/__init__.py b/src/kusto/azext_kusto/tests/__init__.py new file mode 100644 index 00000000000..9a6531122f6 --- /dev/null +++ b/src/kusto/azext_kusto/tests/__init__.py @@ -0,0 +1,48 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +import inspect +import os + + +__path__ = __import__('pkgutil').extend_path(__path__, __name__) + + +def try_manual(func): + def import_manual_function(origin_func): + from importlib import import_module + decorated_path = inspect.getfile(origin_func) + module_path = __path__[0] + if not decorated_path.startswith(module_path): + raise Exception("Decorator can only be used in submodules!") + manual_path = os.path.join( + decorated_path[module_path.rfind(os.path.sep) + 1:]) + manual_file_path, manual_file_name = os.path.split(manual_path) + module_name, _ = os.path.splitext(manual_file_name) + manual_module = "..manual." + \ + ".".join(manual_file_path.split(os.path.sep) + [module_name, ]) + return getattr(import_module(manual_module, package=__name__), origin_func.__name__) + + def get_func_to_call(): + func_to_call = func + try: + func_to_call = import_manual_function(func) + except (ImportError, AttributeError): + pass + return func_to_call + + def wrapper(*args, **kwargs): + func_to_call = get_func_to_call() + print("running {}()...".format(func.__name__)) + return func_to_call(*args, **kwargs) + + if inspect.isclass(func): + return get_func_to_call() + return wrapper diff --git a/src/kusto/azext_kusto/tests/latest/__init__.py b/src/kusto/azext_kusto/tests/latest/__init__.py new file mode 100644 index 00000000000..ee0c4f36bd0 --- /dev/null +++ b/src/kusto/azext_kusto/tests/latest/__init__.py @@ -0,0 +1,12 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +__path__ = __import__('pkgutil').extend_path(__path__, __name__) diff --git a/src/kusto/azext_kusto/tests/latest/preparers.py b/src/kusto/azext_kusto/tests/latest/preparers.py new file mode 100644 index 00000000000..93cae98db6b --- /dev/null +++ b/src/kusto/azext_kusto/tests/latest/preparers.py @@ -0,0 +1,116 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import os +from datetime import datetime +from azure.cli.testsdk.preparers import NoTrafficRecordingPreparer +from azure_devtools.scenario_tests import SingleValueReplacer +from azure.cli.testsdk.exceptions import CliTestError +from azure.cli.testsdk.reverse_dependency import get_dummy_cli + +KEY_RESOURCE_GROUP = 'rg' +KEY_VIRTUAL_NETWORK = 'vnet' +KEY_VNET_SUBNET = 'subnet' + + +class VirtualNetworkPreparer(NoTrafficRecordingPreparer, SingleValueReplacer): + def __init__(self, name_prefix='clitest.vn', + parameter_name='virtual_network', + resource_group_name=None, + resource_group_key=KEY_RESOURCE_GROUP, + dev_setting_name='AZURE_CLI_TEST_DEV_VIRTUAL_NETWORK_NAME', + random_name_length=24, key=KEY_VIRTUAL_NETWORK): + if ' ' in name_prefix: + raise CliTestError( + 'Error: Space character in name prefix \'%s\'' % name_prefix) + super(VirtualNetworkPreparer, self).__init__( + name_prefix, random_name_length) + self.cli_ctx = get_dummy_cli() + self.parameter_name = parameter_name + self.key = key + self.resource_group_name = resource_group_name + self.resource_group_key = resource_group_key + self.dev_setting_name = os.environ.get(dev_setting_name, None) + + def create_resource(self, name, **kwargs): + if self.dev_setting_name: + return {self.parameter_name: self.dev_setting_name, } + + if not self.resource_group_name: + self.resource_group_name = self.test_class_instance.kwargs.get( + self.resource_group_key) + if not self.resource_group_name: + raise CliTestError("Error: No resource group configured!") + + tags = {'product': 'azurecli', 'cause': 'automation', + 'date': datetime.utcnow().strftime('%Y-%m-%dT%H:%M:%SZ')} + if 'ENV_JOB_NAME' in os.environ: + tags['job'] = os.environ['ENV_JOB_NAME'] + tags = ' '.join(['{}={}'.format(key, value) + for key, value in tags.items()]) + template = 'az network vnet create --resource-group {} --name {} --tag ' + tags + self.live_only_execute(self.cli_ctx, template.format( + self.resource_group_name, name)) + + self.test_class_instance.kwargs[self.key] = name + return {self.parameter_name: name} + + def remove_resource(self, name, **kwargs): + # delete vnet if test is being recorded and if the vnet is not a dev rg + if not self.dev_setting_name: + self.live_only_execute( + self.cli_ctx, 'az network vnet delete --name {} --resource-group {}' + .format(name, self.resource_group_name)) + + +class VnetSubnetPreparer(NoTrafficRecordingPreparer, SingleValueReplacer): + def __init__(self, name_prefix='clitest.vn', + parameter_name='subnet', + resource_group_name=None, + resource_group_key=KEY_RESOURCE_GROUP, + vnet_name=None, + vnet_key=KEY_VIRTUAL_NETWORK, + address_prefixes="11.0.0.0/24", + dev_setting_name='AZURE_CLI_TEST_DEV_VNET_SUBNET_NAME', + random_name_length=24, key=KEY_VNET_SUBNET): + if ' ' in name_prefix: + raise CliTestError( + 'Error: Space character in name prefix \'%s\'' % name_prefix) + super(VnetSubnetPreparer, self).__init__( + name_prefix, random_name_length) + self.cli_ctx = get_dummy_cli() + self.parameter_name = parameter_name + self.key = key + self.resource_group_name = resource_group_name + self.resource_group_key = resource_group_key + self.vnet_name = vnet_name + self.vnet_key = vnet_key + self.address_prefixes = address_prefixes + self.dev_setting_name = os.environ.get(dev_setting_name, None) + + def create_resource(self, name, **kwargs): + if self.dev_setting_name: + return {self.parameter_name: self.dev_setting_name, } + + if not self.resource_group_name: + self.resource_group_name = self.test_class_instance.kwargs.get( + self.resource_group_key) + if not self.resource_group_name: + raise CliTestError("Error: No resource group configured!") + if not self.vnet_name: + self.vnet_name = self.test_class_instance.kwargs.get(self.vnet_key) + if not self.vnet_name: + raise CliTestError("Error: No vnet configured!") + + self.test_class_instance.kwargs[self.key] = 'default' + return {self.parameter_name: name} + + def remove_resource(self, name, **kwargs): + pass diff --git a/src/kusto/azext_kusto/tests/latest/recordings/test_kusto.yaml b/src/kusto/azext_kusto/tests/latest/recordings/test_kusto.yaml new file mode 100644 index 00000000000..fa49f1d7cdb --- /dev/null +++ b/src/kusto/azext_kusto/tests/latest/recordings/test_kusto.yaml @@ -0,0 +1,6221 @@ +interactions: +- request: + body: '{"location": "westus", "sku": {"name": "Standard_L8s", "capacity": 2, "tier": + "Standard"}, "properties": {"enableStreamingIngest": true, "keyVaultProperties": + {"keyName": "", "keyVersion": "", "keyVaultUri": ""}, "enablePurge": true}, + "identity": {"type": "SystemAssigned"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster create + Connection: + - keep-alive + Content-Length: + - '274' + Content-Type: + - application/json + ParameterSetName: + - --cluster-name --identity-type --location --enable-purge --enable-streaming-ingest + --key-vault-properties --sku --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/clusters/clitestcluster1?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/Clusters/clitestcluster1","name":"clitestcluster1","type":"Microsoft.Kusto/Clusters","etag":"\"\"","location":"westus","sku":{"name":"Standard_L8s","tier":"Standard","capacity":2},"properties":{"enableStreamingIngest":true,"keyVaultProperties":{"keyName":"","keyVersion":"","keyVaultUri":""},"enablePurge":true,"state":"Creating","provisioningState":"Creating"},"identity":{"type":"SystemAssigned"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationResults/fa5a2bf3-1536-435b-b991-36f5a3771a50?api-version=2020-02-15 + cache-control: + - no-cache + content-length: + - '575' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:09:53 GMT + etag: + - '""' + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=322636332396dc9c2c583f1f95d6956f84718edf355825979649eda7bf94886e;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '199' + x-powered-by: + - ASP.NET + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster create + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --identity-type --location --enable-purge --enable-streaming-ingest + --key-vault-properties --sku --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationResults/fa5a2bf3-1536-435b-b991-36f5a3771a50?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationresults/fa5a2bf3-1536-435b-b991-36f5a3771a50","name":"fa5a2bf3-1536-435b-b991-36f5a3771a50","status":"Running","startTime":"2020-04-26T14:09:52.5245332Z","endTime":"2020-04-26T14:09:55.946449Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterCreateExternal","RootActivityId":"933e6cf1-6b39-47de-90d0-c3fb2e2873a0","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '468' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:10:24 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=0b3e7bab7bc253429b01a84fcfe52f9eaf7487da416b1f2a0af2bf3349b35509;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '299' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster create + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --identity-type --location --enable-purge --enable-streaming-ingest + --key-vault-properties --sku --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationResults/fa5a2bf3-1536-435b-b991-36f5a3771a50?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationresults/fa5a2bf3-1536-435b-b991-36f5a3771a50","name":"fa5a2bf3-1536-435b-b991-36f5a3771a50","status":"Running","startTime":"2020-04-26T14:09:52.5245332Z","endTime":"2020-04-26T14:09:55.946449Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterCreateExternal","RootActivityId":"933e6cf1-6b39-47de-90d0-c3fb2e2873a0","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '468' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:10:53 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=322636332396dc9c2c583f1f95d6956f84718edf355825979649eda7bf94886e;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '298' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster create + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --identity-type --location --enable-purge --enable-streaming-ingest + --key-vault-properties --sku --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationResults/fa5a2bf3-1536-435b-b991-36f5a3771a50?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationresults/fa5a2bf3-1536-435b-b991-36f5a3771a50","name":"fa5a2bf3-1536-435b-b991-36f5a3771a50","status":"Running","startTime":"2020-04-26T14:09:52.5245332Z","endTime":"2020-04-26T14:09:55.946449Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterCreateExternal","RootActivityId":"933e6cf1-6b39-47de-90d0-c3fb2e2873a0","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '468' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:11:24 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=5e5ff28fa92b1291bfb4f40aa52246624376877d08d84d2a201c9bf6f1ffae6d;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '297' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster create + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --identity-type --location --enable-purge --enable-streaming-ingest + --key-vault-properties --sku --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationResults/fa5a2bf3-1536-435b-b991-36f5a3771a50?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationresults/fa5a2bf3-1536-435b-b991-36f5a3771a50","name":"fa5a2bf3-1536-435b-b991-36f5a3771a50","status":"Running","startTime":"2020-04-26T14:09:52.5245332Z","endTime":"2020-04-26T14:09:55.946449Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterCreateExternal","RootActivityId":"933e6cf1-6b39-47de-90d0-c3fb2e2873a0","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '468' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:11:55 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=0b3e7bab7bc253429b01a84fcfe52f9eaf7487da416b1f2a0af2bf3349b35509;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '296' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster create + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --identity-type --location --enable-purge --enable-streaming-ingest + --key-vault-properties --sku --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationResults/fa5a2bf3-1536-435b-b991-36f5a3771a50?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationresults/fa5a2bf3-1536-435b-b991-36f5a3771a50","name":"fa5a2bf3-1536-435b-b991-36f5a3771a50","status":"Running","startTime":"2020-04-26T14:09:52.5245332Z","endTime":"2020-04-26T14:09:55.946449Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterCreateExternal","RootActivityId":"933e6cf1-6b39-47de-90d0-c3fb2e2873a0","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '468' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:12:26 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=322636332396dc9c2c583f1f95d6956f84718edf355825979649eda7bf94886e;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '295' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster create + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --identity-type --location --enable-purge --enable-streaming-ingest + --key-vault-properties --sku --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationResults/fa5a2bf3-1536-435b-b991-36f5a3771a50?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationresults/fa5a2bf3-1536-435b-b991-36f5a3771a50","name":"fa5a2bf3-1536-435b-b991-36f5a3771a50","status":"Running","startTime":"2020-04-26T14:09:52.5245332Z","endTime":"2020-04-26T14:09:55.946449Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterCreateExternal","RootActivityId":"933e6cf1-6b39-47de-90d0-c3fb2e2873a0","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '468' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:12:55 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=bf171968557f7483abc0913a42c0207b9017c552b91766911eca876583df224c;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '294' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster create + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --identity-type --location --enable-purge --enable-streaming-ingest + --key-vault-properties --sku --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationResults/fa5a2bf3-1536-435b-b991-36f5a3771a50?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationresults/fa5a2bf3-1536-435b-b991-36f5a3771a50","name":"fa5a2bf3-1536-435b-b991-36f5a3771a50","status":"Running","startTime":"2020-04-26T14:09:52.5245332Z","endTime":"2020-04-26T14:09:55.946449Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterCreateExternal","RootActivityId":"933e6cf1-6b39-47de-90d0-c3fb2e2873a0","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '468' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:13:26 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=d29ec50e2353fd96ac8ed72619c1a2fb36a21ed6c3f22a5075cd2c606bb89829;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '293' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster create + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --identity-type --location --enable-purge --enable-streaming-ingest + --key-vault-properties --sku --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationResults/fa5a2bf3-1536-435b-b991-36f5a3771a50?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationresults/fa5a2bf3-1536-435b-b991-36f5a3771a50","name":"fa5a2bf3-1536-435b-b991-36f5a3771a50","status":"Running","startTime":"2020-04-26T14:09:52.5245332Z","endTime":"2020-04-26T14:09:55.946449Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterCreateExternal","RootActivityId":"933e6cf1-6b39-47de-90d0-c3fb2e2873a0","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '468' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:13:57 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=5e5ff28fa92b1291bfb4f40aa52246624376877d08d84d2a201c9bf6f1ffae6d;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '292' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster create + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --identity-type --location --enable-purge --enable-streaming-ingest + --key-vault-properties --sku --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationResults/fa5a2bf3-1536-435b-b991-36f5a3771a50?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationresults/fa5a2bf3-1536-435b-b991-36f5a3771a50","name":"fa5a2bf3-1536-435b-b991-36f5a3771a50","status":"Running","startTime":"2020-04-26T14:09:52.5245332Z","endTime":"2020-04-26T14:09:55.946449Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterCreateExternal","RootActivityId":"933e6cf1-6b39-47de-90d0-c3fb2e2873a0","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '468' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:14:28 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=348d1e7264ad0063baa3036f92cd47d46e91963aabd2dc4d51adfdac15009271;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '291' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster create + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --identity-type --location --enable-purge --enable-streaming-ingest + --key-vault-properties --sku --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationResults/fa5a2bf3-1536-435b-b991-36f5a3771a50?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationresults/fa5a2bf3-1536-435b-b991-36f5a3771a50","name":"fa5a2bf3-1536-435b-b991-36f5a3771a50","status":"Running","startTime":"2020-04-26T14:09:52.5245332Z","endTime":"2020-04-26T14:09:55.946449Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterCreateExternal","RootActivityId":"933e6cf1-6b39-47de-90d0-c3fb2e2873a0","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '468' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:14:57 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=be0e0d186a8dd7beec8fdedbe9912fb4fc8ea63ab4795c4847feb9495ca10dd5;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '290' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster create + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --identity-type --location --enable-purge --enable-streaming-ingest + --key-vault-properties --sku --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationResults/fa5a2bf3-1536-435b-b991-36f5a3771a50?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationresults/fa5a2bf3-1536-435b-b991-36f5a3771a50","name":"fa5a2bf3-1536-435b-b991-36f5a3771a50","status":"Running","startTime":"2020-04-26T14:09:52.5245332Z","endTime":"2020-04-26T14:09:55.946449Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterCreateExternal","RootActivityId":"933e6cf1-6b39-47de-90d0-c3fb2e2873a0","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '468' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:15:28 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=f977ea28325f4c100ed19c1a7ed6395c7554e0af5ce62499bbee5975165c7757;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '289' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster create + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --identity-type --location --enable-purge --enable-streaming-ingest + --key-vault-properties --sku --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationResults/fa5a2bf3-1536-435b-b991-36f5a3771a50?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationresults/fa5a2bf3-1536-435b-b991-36f5a3771a50","name":"fa5a2bf3-1536-435b-b991-36f5a3771a50","status":"Running","startTime":"2020-04-26T14:09:52.5245332Z","endTime":"2020-04-26T14:09:55.946449Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterCreateExternal","RootActivityId":"933e6cf1-6b39-47de-90d0-c3fb2e2873a0","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '468' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:15:59 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=348d1e7264ad0063baa3036f92cd47d46e91963aabd2dc4d51adfdac15009271;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '288' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster create + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --identity-type --location --enable-purge --enable-streaming-ingest + --key-vault-properties --sku --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationResults/fa5a2bf3-1536-435b-b991-36f5a3771a50?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationresults/fa5a2bf3-1536-435b-b991-36f5a3771a50","name":"fa5a2bf3-1536-435b-b991-36f5a3771a50","status":"Running","startTime":"2020-04-26T14:09:52.5245332Z","endTime":"2020-04-26T14:09:55.946449Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterCreateExternal","RootActivityId":"933e6cf1-6b39-47de-90d0-c3fb2e2873a0","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '468' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:16:29 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=3e9a49b330654e4ac57f196a7fb95bb367210c5ce4e9c674a332fb882012a73e;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '287' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster create + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --identity-type --location --enable-purge --enable-streaming-ingest + --key-vault-properties --sku --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationResults/fa5a2bf3-1536-435b-b991-36f5a3771a50?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationresults/fa5a2bf3-1536-435b-b991-36f5a3771a50","name":"fa5a2bf3-1536-435b-b991-36f5a3771a50","status":"Running","startTime":"2020-04-26T14:09:52.5245332Z","endTime":"2020-04-26T14:09:55.946449Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterCreateExternal","RootActivityId":"933e6cf1-6b39-47de-90d0-c3fb2e2873a0","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '468' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:16:59 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=d29ec50e2353fd96ac8ed72619c1a2fb36a21ed6c3f22a5075cd2c606bb89829;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '286' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster create + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --identity-type --location --enable-purge --enable-streaming-ingest + --key-vault-properties --sku --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationResults/fa5a2bf3-1536-435b-b991-36f5a3771a50?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationresults/fa5a2bf3-1536-435b-b991-36f5a3771a50","name":"fa5a2bf3-1536-435b-b991-36f5a3771a50","status":"Running","startTime":"2020-04-26T14:09:52.5245332Z","endTime":"2020-04-26T14:09:55.946449Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterCreateExternal","RootActivityId":"933e6cf1-6b39-47de-90d0-c3fb2e2873a0","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '468' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:17:43 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=d29ec50e2353fd96ac8ed72619c1a2fb36a21ed6c3f22a5075cd2c606bb89829;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '299' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster create + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --identity-type --location --enable-purge --enable-streaming-ingest + --key-vault-properties --sku --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationResults/fa5a2bf3-1536-435b-b991-36f5a3771a50?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationresults/fa5a2bf3-1536-435b-b991-36f5a3771a50","name":"fa5a2bf3-1536-435b-b991-36f5a3771a50","status":"Running","startTime":"2020-04-26T14:09:52.5245332Z","endTime":"2020-04-26T14:09:55.946449Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterCreateExternal","RootActivityId":"933e6cf1-6b39-47de-90d0-c3fb2e2873a0","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '468' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:18:15 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=0b3e7bab7bc253429b01a84fcfe52f9eaf7487da416b1f2a0af2bf3349b35509;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '299' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster create + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --identity-type --location --enable-purge --enable-streaming-ingest + --key-vault-properties --sku --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationResults/fa5a2bf3-1536-435b-b991-36f5a3771a50?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationresults/fa5a2bf3-1536-435b-b991-36f5a3771a50","name":"fa5a2bf3-1536-435b-b991-36f5a3771a50","status":"Running","startTime":"2020-04-26T14:09:52.5245332Z","endTime":"2020-04-26T14:09:55.946449Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterCreateExternal","RootActivityId":"933e6cf1-6b39-47de-90d0-c3fb2e2873a0","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '468' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:18:44 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=be0e0d186a8dd7beec8fdedbe9912fb4fc8ea63ab4795c4847feb9495ca10dd5;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '298' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster create + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --identity-type --location --enable-purge --enable-streaming-ingest + --key-vault-properties --sku --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationResults/fa5a2bf3-1536-435b-b991-36f5a3771a50?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationresults/fa5a2bf3-1536-435b-b991-36f5a3771a50","name":"fa5a2bf3-1536-435b-b991-36f5a3771a50","status":"Running","startTime":"2020-04-26T14:09:52.5245332Z","endTime":"2020-04-26T14:09:55.946449Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterCreateExternal","RootActivityId":"933e6cf1-6b39-47de-90d0-c3fb2e2873a0","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '468' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:19:15 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=322636332396dc9c2c583f1f95d6956f84718edf355825979649eda7bf94886e;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '297' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster create + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --identity-type --location --enable-purge --enable-streaming-ingest + --key-vault-properties --sku --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationResults/fa5a2bf3-1536-435b-b991-36f5a3771a50?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationresults/fa5a2bf3-1536-435b-b991-36f5a3771a50","name":"fa5a2bf3-1536-435b-b991-36f5a3771a50","status":"Running","startTime":"2020-04-26T14:09:52.5245332Z","endTime":"2020-04-26T14:09:55.946449Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterCreateExternal","RootActivityId":"933e6cf1-6b39-47de-90d0-c3fb2e2873a0","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '468' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:19:45 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=f977ea28325f4c100ed19c1a7ed6395c7554e0af5ce62499bbee5975165c7757;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '296' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster create + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --identity-type --location --enable-purge --enable-streaming-ingest + --key-vault-properties --sku --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationResults/fa5a2bf3-1536-435b-b991-36f5a3771a50?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationresults/fa5a2bf3-1536-435b-b991-36f5a3771a50","name":"fa5a2bf3-1536-435b-b991-36f5a3771a50","status":"Succeeded","startTime":"2020-04-26T14:09:52.5245332Z","endTime":"2020-04-26T14:19:46.9146722Z","percentComplete":1.0,"properties":{"OperationKind":"ClusterCreateExternal","RootActivityId":"933e6cf1-6b39-47de-90d0-c3fb2e2873a0","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '473' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:20:16 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=0b3e7bab7bc253429b01a84fcfe52f9eaf7487da416b1f2a0af2bf3349b35509;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '295' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster create + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --identity-type --location --enable-purge --enable-streaming-ingest + --key-vault-properties --sku --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/clusters/clitestcluster1?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/Clusters/clitestcluster1","name":"clitestcluster1","type":"Microsoft.Kusto/Clusters","etag":"\"\"","location":"West + US","sku":{"name":"Standard_L8s","tier":"Standard","capacity":2},"tags":{},"properties":{"state":"Running","stateReason":null,"uri":"https://clitestcluster1.westus.kusto.windows.net","dataIngestionUri":"https://ingest-clitestcluster1.westus.kusto.windows.net","trustedExternalTenants":[],"virtualNetworkConfiguration":null,"optimizedAutoscale":null,"enableDiskEncryption":false,"enableStreamingIngest":true,"keyVaultProperties":null,"languageExtensions":{"value":[]},"enablePurge":true,"provisioningState":"Succeeded"},"identity":{"principalId":"ed505612-ad56-4399-975f-e98ec3493dcf","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"}}' + headers: + cache-control: + - no-cache + content-length: + - '951' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:20:17 GMT + etag: + - '""' + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=3e9a49b330654e4ac57f196a7fb95bb367210c5ce4e9c674a332fb882012a73e;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '299' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster wait + Connection: + - keep-alive + ParameterSetName: + - --created --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/clusters/clitestcluster1?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/Clusters/clitestcluster1","name":"clitestcluster1","type":"Microsoft.Kusto/Clusters","etag":"\"\"","location":"West + US","sku":{"name":"Standard_L8s","tier":"Standard","capacity":2},"tags":{},"properties":{"state":"Running","stateReason":null,"uri":"https://clitestcluster1.westus.kusto.windows.net","dataIngestionUri":"https://ingest-clitestcluster1.westus.kusto.windows.net","trustedExternalTenants":[],"virtualNetworkConfiguration":null,"optimizedAutoscale":null,"enableDiskEncryption":false,"enableStreamingIngest":true,"keyVaultProperties":null,"languageExtensions":{"value":[]},"enablePurge":true,"provisioningState":"Succeeded"},"identity":{"principalId":"ed505612-ad56-4399-975f-e98ec3493dcf","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"}}' + headers: + cache-control: + - no-cache + content-length: + - '951' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:20:18 GMT + etag: + - '""' + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=f977ea28325f4c100ed19c1a7ed6395c7554e0af5ce62499bbee5975165c7757;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '299' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster show + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/clusters/clitestcluster1?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/Clusters/clitestcluster1","name":"clitestcluster1","type":"Microsoft.Kusto/Clusters","etag":"\"\"","location":"West + US","sku":{"name":"Standard_L8s","tier":"Standard","capacity":2},"tags":{},"properties":{"state":"Running","stateReason":null,"uri":"https://clitestcluster1.westus.kusto.windows.net","dataIngestionUri":"https://ingest-clitestcluster1.westus.kusto.windows.net","trustedExternalTenants":[],"virtualNetworkConfiguration":null,"optimizedAutoscale":null,"enableDiskEncryption":false,"enableStreamingIngest":true,"keyVaultProperties":null,"languageExtensions":{"value":[]},"enablePurge":true,"provisioningState":"Succeeded"},"identity":{"principalId":"ed505612-ad56-4399-975f-e98ec3493dcf","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"}}' + headers: + cache-control: + - no-cache + content-length: + - '951' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:20:20 GMT + etag: + - '""' + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=322636332396dc9c2c583f1f95d6956f84718edf355825979649eda7bf94886e;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '299' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster list + Connection: + - keep-alive + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/clusters?api-version=2020-02-15 + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/noamgotest/providers/Microsoft.Kusto/Clusters/noamgotest1","name":"noamgotest1","type":"Microsoft.Kusto/Clusters","etag":"\"\"","location":"West + Europe","sku":{"name":"Standard_D14_v2","tier":"Standard","capacity":2},"tags":{},"properties":{"state":"Stopped","stateReason":"Suspended + at 3/22/2020 11:23:02 AM","uri":"https://noamgotest1.westeurope.kusto.windows.net","dataIngestionUri":"https://ingest-noamgotest1.westeurope.kusto.windows.net","trustedExternalTenants":[],"virtualNetworkConfiguration":null,"optimizedAutoscale":null,"enableDiskEncryption":false,"enableStreamingIngest":false,"keyVaultProperties":null,"languageExtensions":{"value":[]},"enablePurge":null,"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/kubill-kustointernalppe/providers/Microsoft.Kusto/Clusters/royi","name":"royi","type":"Microsoft.Kusto/Clusters","etag":"\"\"","location":"East + US 2","sku":{"name":"Dev(No SLA)_Standard_D11_v2","tier":"Basic","capacity":1},"tags":{},"properties":{"state":"Running","stateReason":null,"uri":"https://royi.eastus2.kusto.windows.net","dataIngestionUri":"https://ingest-royi.eastus2.kusto.windows.net","trustedExternalTenants":[],"virtualNetworkConfiguration":null,"optimizedAutoscale":null,"enableDiskEncryption":false,"enableStreamingIngest":false,"keyVaultProperties":null,"languageExtensions":{"value":[]},"enablePurge":null,"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/royikusto/providers/Microsoft.Kusto/Clusters/royitest","name":"royitest","type":"Microsoft.Kusto/Clusters","etag":"\"\"","location":"East + US 2","sku":{"name":"Dev(No SLA)_Standard_D11_v2","tier":"Basic","capacity":1},"tags":{},"properties":{"state":"Running","stateReason":null,"uri":"https://royitest.eastus2.kusto.windows.net","dataIngestionUri":"https://ingest-royitest.eastus2.kusto.windows.net","trustedExternalTenants":[],"virtualNetworkConfiguration":null,"optimizedAutoscale":null,"enableDiskEncryption":false,"enableStreamingIngest":false,"keyVaultProperties":{"keyVaultUri":"https://royitestkv.vault.azure.net","keyName":"TestKey","keyVersion":"0efe068347d641f4bfd20c692f05ca62"},"languageExtensions":{"value":[]},"enablePurge":null,"provisioningState":"Succeeded"},"identity":{"principalId":"a9a04853-74ee-4bde-b14c-25f100bb0d50","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/astauben-tests/providers/Microsoft.Kusto/Clusters/astaubencli","name":"astaubencli","type":"Microsoft.Kusto/Clusters","etag":"\"\"","location":"West + US","sku":{"name":"Dev(No SLA)_Standard_D11_v2","tier":"Basic","capacity":1},"tags":{},"properties":{"state":"Running","stateReason":null,"uri":"https://astaubencli.westus.kusto.windows.net","dataIngestionUri":"https://ingest-astaubencli.westus.kusto.windows.net","trustedExternalTenants":[],"virtualNetworkConfiguration":null,"optimizedAutoscale":null,"enableDiskEncryption":false,"enableStreamingIngest":false,"keyVaultProperties":null,"languageExtensions":{"value":[]},"enablePurge":null,"provisioningState":"Succeeded"},"identity":{"principalId":"fddf12de-e076-4898-853b-c45b21242035","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/astauben-tests/providers/Microsoft.Kusto/Clusters/astaubentestcli","name":"astaubentestcli","type":"Microsoft.Kusto/Clusters","etag":"\"\"","location":"West + US","sku":{"name":"Standard_D12_v2","tier":"Standard","capacity":2},"tags":{},"properties":{"state":"Running","stateReason":null,"uri":"https://astaubentestcli.westus.kusto.windows.net","dataIngestionUri":"https://ingest-astaubentestcli.westus.kusto.windows.net","trustedExternalTenants":[],"virtualNetworkConfiguration":null,"optimizedAutoscale":null,"enableDiskEncryption":false,"enableStreamingIngest":false,"keyVaultProperties":null,"languageExtensions":{"value":[]},"enablePurge":true,"provisioningState":"Failed"},"identity":{"principalId":"6b62bb67-0f54-4211-acf7-3f882cca2437","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestgcjzdmbmffg63ofutofl5dbnfwb2exetloz6e3f2eqiyzlof2p7zqtbabgm7gf3qnr55/providers/Microsoft.Kusto/Clusters/clitestcluster","name":"clitestcluster","type":"Microsoft.Kusto/Clusters","etag":"\"\"","location":"West + US","sku":{"name":"Standard_L8s","tier":"Standard","capacity":2},"tags":{},"properties":{"state":"Running","stateReason":null,"uri":"https://clitestcluster.westus.kusto.windows.net","dataIngestionUri":"https://ingest-clitestcluster.westus.kusto.windows.net","trustedExternalTenants":[],"virtualNetworkConfiguration":null,"optimizedAutoscale":null,"enableDiskEncryption":false,"enableStreamingIngest":true,"keyVaultProperties":null,"languageExtensions":{"value":[]},"enablePurge":true,"provisioningState":"Succeeded"},"identity":{"principalId":"9f650181-5483-4436-b925-ab60f7735b5c","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/Clusters/clitestcluster1","name":"clitestcluster1","type":"Microsoft.Kusto/Clusters","etag":"\"\"","location":"West + US","sku":{"name":"Standard_L8s","tier":"Standard","capacity":2},"tags":{},"properties":{"state":"Running","stateReason":null,"uri":"https://clitestcluster1.westus.kusto.windows.net","dataIngestionUri":"https://ingest-clitestcluster1.westus.kusto.windows.net","trustedExternalTenants":[],"virtualNetworkConfiguration":null,"optimizedAutoscale":null,"enableDiskEncryption":false,"enableStreamingIngest":true,"keyVaultProperties":null,"languageExtensions":{"value":[]},"enablePurge":true,"provisioningState":"Succeeded"},"identity":{"principalId":"ed505612-ad56-4399-975f-e98ec3493dcf","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testrg/providers/Microsoft.Kusto/Clusters/testnewkustocluster2","name":"testnewkustocluster2","type":"Microsoft.Kusto/Clusters","etag":"\"\"","location":"East + US","sku":{"name":"Standard_D11_v2","tier":"Standard","capacity":2},"tags":{},"properties":{"state":"Running","stateReason":null,"uri":"https://testnewkustocluster2.eastus.kusto.windows.net","dataIngestionUri":"https://ingest-testnewkustocluster2.eastus.kusto.windows.net","trustedExternalTenants":[],"virtualNetworkConfiguration":null,"optimizedAutoscale":null,"enableDiskEncryption":false,"enableStreamingIngest":false,"keyVaultProperties":null,"languageExtensions":{"value":[]},"enablePurge":null,"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testrg/providers/Microsoft.Kusto/Clusters/testnewkustocluster","name":"testnewkustocluster","type":"Microsoft.Kusto/Clusters","etag":"\"\"","location":"East + US","sku":{"name":"Standard_D11_v2","tier":"Standard","capacity":2},"tags":{},"properties":{"state":"Running","stateReason":null,"uri":"https://testnewkustocluster.eastus.kusto.windows.net","dataIngestionUri":"https://ingest-testnewkustocluster.eastus.kusto.windows.net","trustedExternalTenants":[],"virtualNetworkConfiguration":null,"optimizedAutoscale":null,"enableDiskEncryption":false,"enableStreamingIngest":false,"keyVaultProperties":null,"languageExtensions":{"value":[{"languageExtensionName":"PYTHON"}]},"enablePurge":null,"provisioningState":"Succeeded"},"identity":{"principalId":"e599ae33-a117-4952-bb30-5fab29f6334f","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/gildev/providers/Microsoft.Kusto/Clusters/gilcluster","name":"gilcluster","type":"Microsoft.Kusto/Clusters","etag":"\"\"","location":"East + US","sku":{"name":"Dev(No SLA)_Standard_D11_v2","tier":"Basic","capacity":1},"tags":{},"properties":{"state":"Running","stateReason":null,"uri":"https://gilcluster.eastus.kusto.windows.net","dataIngestionUri":"https://ingest-gilcluster.eastus.kusto.windows.net","trustedExternalTenants":[],"virtualNetworkConfiguration":null,"optimizedAutoscale":null,"enableDiskEncryption":false,"enableStreamingIngest":false,"keyVaultProperties":null,"languageExtensions":{"value":[]},"enablePurge":null,"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/orenrgilaysub/providers/Microsoft.Kusto/Clusters/oren2104","name":"oren2104","type":"Microsoft.Kusto/Clusters","etag":"\"\"","location":"East + US","sku":{"name":"Standard_D11_v2","tier":"Standard","capacity":2},"tags":{},"properties":{"state":"Running","stateReason":null,"uri":"https://oren2104.eastus.kusto.windows.net","dataIngestionUri":"https://ingest-oren2104.eastus.kusto.windows.net","trustedExternalTenants":[],"virtualNetworkConfiguration":null,"optimizedAutoscale":null,"enableDiskEncryption":false,"enableStreamingIngest":false,"keyVaultProperties":null,"languageExtensions":{"value":[]},"enablePurge":true,"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/noamDRI/providers/Microsoft.Kusto/Clusters/noamskuissue","name":"noamskuissue","type":"Microsoft.Kusto/Clusters","etag":"\"\"","location":"Australia + East","sku":{"name":"Standard_D14_v2","tier":"Standard","capacity":2},"tags":{},"properties":{"state":"Stopped","stateReason":"Suspended + at 3/22/2020 11:20:03 AM","uri":"https://noamskuissue.australiaeast.kusto.windows.net","dataIngestionUri":"https://ingest-noamskuissue.australiaeast.kusto.windows.net","trustedExternalTenants":[],"virtualNetworkConfiguration":null,"optimizedAutoscale":null,"enableDiskEncryption":false,"enableStreamingIngest":false,"keyVaultProperties":null,"languageExtensions":{"value":[]},"enablePurge":null,"provisioningState":"Succeeded"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '10149' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:20:22 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-original-request-ids: + - 9bc1b2c4-aeba-4819-b8fd-62f94f521268 + - f0de48c3-de1d-4686-9863-eeb52647ec02 + - ccf129ca-a033-456d-8f36-dfe9e29c3e3b + - 76cd14a5-72af-4ad9-83e5-8c42b7e47a92 + - c676ce11-1dfc-4083-8399-caed64142e08 + x-ms-ratelimit-remaining-subscription-resource-requests: + - '299' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster list + Connection: + - keep-alive + ParameterSetName: + - --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/clusters?api-version=2020-02-15 + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/Clusters/clitestcluster1","name":"clitestcluster1","type":"Microsoft.Kusto/Clusters","etag":"\"\"","location":"West + US","sku":{"name":"Standard_L8s","tier":"Standard","capacity":2},"tags":{},"properties":{"state":"Running","stateReason":null,"uri":"https://clitestcluster1.westus.kusto.windows.net","dataIngestionUri":"https://ingest-clitestcluster1.westus.kusto.windows.net","trustedExternalTenants":[],"virtualNetworkConfiguration":null,"optimizedAutoscale":null,"enableDiskEncryption":false,"enableStreamingIngest":true,"keyVaultProperties":null,"languageExtensions":{"value":[]},"enablePurge":true,"provisioningState":"Succeeded"},"identity":{"principalId":"ed505612-ad56-4399-975f-e98ec3493dcf","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '963' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:20:24 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=be0e0d186a8dd7beec8fdedbe9912fb4fc8ea63ab4795c4847feb9495ca10dd5;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '299' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster stop + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/clusters/clitestcluster1/stop?api-version=2020-02-15 + response: + body: + string: '' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationResults/9b2a246f-120f-43b8-9daf-a3acbb735502?api-version=2020-02-15 + cache-control: + - no-cache + content-length: + - '0' + date: + - Sun, 26 Apr 2020 14:20:26 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/9b2a246f-120f-43b8-9daf-a3acbb735502?api-version=2020-02-15&operationResultResponseType=Location + pragma: + - no-cache + set-cookie: + - ARRAffinity=d29ec50e2353fd96ac8ed72619c1a2fb36a21ed6c3f22a5075cd2c606bb89829;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster stop + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/9b2a246f-120f-43b8-9daf-a3acbb735502?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/9b2a246f-120f-43b8-9daf-a3acbb735502","name":"9b2a246f-120f-43b8-9daf-a3acbb735502","status":"Running","startTime":"2020-04-26T14:20:26.2434761Z","endTime":"2020-04-26T14:20:26.9153567Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterSuspend","RootActivityId":"61770c44-d8d7-4ad9-932c-4b87f9d38389","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '463' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:20:56 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=348d1e7264ad0063baa3036f92cd47d46e91963aabd2dc4d51adfdac15009271;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '299' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster stop + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/9b2a246f-120f-43b8-9daf-a3acbb735502?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/9b2a246f-120f-43b8-9daf-a3acbb735502","name":"9b2a246f-120f-43b8-9daf-a3acbb735502","status":"Running","startTime":"2020-04-26T14:20:26.2434761Z","endTime":"2020-04-26T14:20:26.9153567Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterSuspend","RootActivityId":"61770c44-d8d7-4ad9-932c-4b87f9d38389","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '463' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:21:26 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=d29ec50e2353fd96ac8ed72619c1a2fb36a21ed6c3f22a5075cd2c606bb89829;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '298' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster stop + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/9b2a246f-120f-43b8-9daf-a3acbb735502?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/9b2a246f-120f-43b8-9daf-a3acbb735502","name":"9b2a246f-120f-43b8-9daf-a3acbb735502","status":"Running","startTime":"2020-04-26T14:20:26.2434761Z","endTime":"2020-04-26T14:20:26.9153567Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterSuspend","RootActivityId":"61770c44-d8d7-4ad9-932c-4b87f9d38389","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '463' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:21:57 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=bf171968557f7483abc0913a42c0207b9017c552b91766911eca876583df224c;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '297' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster stop + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/9b2a246f-120f-43b8-9daf-a3acbb735502?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/9b2a246f-120f-43b8-9daf-a3acbb735502","name":"9b2a246f-120f-43b8-9daf-a3acbb735502","status":"Running","startTime":"2020-04-26T14:20:26.2434761Z","endTime":"2020-04-26T14:20:26.9153567Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterSuspend","RootActivityId":"61770c44-d8d7-4ad9-932c-4b87f9d38389","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '463' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:22:27 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=3e9a49b330654e4ac57f196a7fb95bb367210c5ce4e9c674a332fb882012a73e;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '296' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster stop + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/9b2a246f-120f-43b8-9daf-a3acbb735502?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/9b2a246f-120f-43b8-9daf-a3acbb735502","name":"9b2a246f-120f-43b8-9daf-a3acbb735502","status":"Running","startTime":"2020-04-26T14:20:26.2434761Z","endTime":"2020-04-26T14:20:26.9153567Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterSuspend","RootActivityId":"61770c44-d8d7-4ad9-932c-4b87f9d38389","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '463' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:22:57 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=5e5ff28fa92b1291bfb4f40aa52246624376877d08d84d2a201c9bf6f1ffae6d;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '295' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster stop + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/9b2a246f-120f-43b8-9daf-a3acbb735502?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/9b2a246f-120f-43b8-9daf-a3acbb735502","name":"9b2a246f-120f-43b8-9daf-a3acbb735502","status":"Running","startTime":"2020-04-26T14:20:26.2434761Z","endTime":"2020-04-26T14:20:26.9153567Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterSuspend","RootActivityId":"61770c44-d8d7-4ad9-932c-4b87f9d38389","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '463' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:23:28 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=348d1e7264ad0063baa3036f92cd47d46e91963aabd2dc4d51adfdac15009271;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '294' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster stop + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/9b2a246f-120f-43b8-9daf-a3acbb735502?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/9b2a246f-120f-43b8-9daf-a3acbb735502","name":"9b2a246f-120f-43b8-9daf-a3acbb735502","status":"Running","startTime":"2020-04-26T14:20:26.2434761Z","endTime":"2020-04-26T14:20:26.9153567Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterSuspend","RootActivityId":"61770c44-d8d7-4ad9-932c-4b87f9d38389","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '463' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:23:58 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=be0e0d186a8dd7beec8fdedbe9912fb4fc8ea63ab4795c4847feb9495ca10dd5;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '293' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster stop + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/9b2a246f-120f-43b8-9daf-a3acbb735502?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/9b2a246f-120f-43b8-9daf-a3acbb735502","name":"9b2a246f-120f-43b8-9daf-a3acbb735502","status":"Running","startTime":"2020-04-26T14:20:26.2434761Z","endTime":"2020-04-26T14:20:26.9153567Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterSuspend","RootActivityId":"61770c44-d8d7-4ad9-932c-4b87f9d38389","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '463' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:24:29 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=68eda2333691511c17b2574619a79876611dd86be1c55aa848d58cf2408b7c02;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '292' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster stop + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/9b2a246f-120f-43b8-9daf-a3acbb735502?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/9b2a246f-120f-43b8-9daf-a3acbb735502","name":"9b2a246f-120f-43b8-9daf-a3acbb735502","status":"Running","startTime":"2020-04-26T14:20:26.2434761Z","endTime":"2020-04-26T14:20:26.9153567Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterSuspend","RootActivityId":"61770c44-d8d7-4ad9-932c-4b87f9d38389","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '463' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:25:00 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=d29ec50e2353fd96ac8ed72619c1a2fb36a21ed6c3f22a5075cd2c606bb89829;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '291' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster stop + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/9b2a246f-120f-43b8-9daf-a3acbb735502?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/9b2a246f-120f-43b8-9daf-a3acbb735502","name":"9b2a246f-120f-43b8-9daf-a3acbb735502","status":"Running","startTime":"2020-04-26T14:20:26.2434761Z","endTime":"2020-04-26T14:20:26.9153567Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterSuspend","RootActivityId":"61770c44-d8d7-4ad9-932c-4b87f9d38389","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '463' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:25:30 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=322636332396dc9c2c583f1f95d6956f84718edf355825979649eda7bf94886e;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '290' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster stop + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/9b2a246f-120f-43b8-9daf-a3acbb735502?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/9b2a246f-120f-43b8-9daf-a3acbb735502","name":"9b2a246f-120f-43b8-9daf-a3acbb735502","status":"Running","startTime":"2020-04-26T14:20:26.2434761Z","endTime":"2020-04-26T14:20:26.9153567Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterSuspend","RootActivityId":"61770c44-d8d7-4ad9-932c-4b87f9d38389","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '463' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:26:00 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=5e5ff28fa92b1291bfb4f40aa52246624376877d08d84d2a201c9bf6f1ffae6d;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '289' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster stop + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/9b2a246f-120f-43b8-9daf-a3acbb735502?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/9b2a246f-120f-43b8-9daf-a3acbb735502","name":"9b2a246f-120f-43b8-9daf-a3acbb735502","status":"Running","startTime":"2020-04-26T14:20:26.2434761Z","endTime":"2020-04-26T14:20:26.9153567Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterSuspend","RootActivityId":"61770c44-d8d7-4ad9-932c-4b87f9d38389","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '463' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:26:31 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=bf171968557f7483abc0913a42c0207b9017c552b91766911eca876583df224c;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '288' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster stop + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/9b2a246f-120f-43b8-9daf-a3acbb735502?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/9b2a246f-120f-43b8-9daf-a3acbb735502","name":"9b2a246f-120f-43b8-9daf-a3acbb735502","status":"Running","startTime":"2020-04-26T14:20:26.2434761Z","endTime":"2020-04-26T14:20:26.9153567Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterSuspend","RootActivityId":"61770c44-d8d7-4ad9-932c-4b87f9d38389","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '463' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:27:01 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=68eda2333691511c17b2574619a79876611dd86be1c55aa848d58cf2408b7c02;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '287' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster stop + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/9b2a246f-120f-43b8-9daf-a3acbb735502?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/9b2a246f-120f-43b8-9daf-a3acbb735502","name":"9b2a246f-120f-43b8-9daf-a3acbb735502","status":"Running","startTime":"2020-04-26T14:20:26.2434761Z","endTime":"2020-04-26T14:20:26.9153567Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterSuspend","RootActivityId":"61770c44-d8d7-4ad9-932c-4b87f9d38389","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '463' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:27:32 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=0b3e7bab7bc253429b01a84fcfe52f9eaf7487da416b1f2a0af2bf3349b35509;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '286' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster stop + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/9b2a246f-120f-43b8-9daf-a3acbb735502?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/9b2a246f-120f-43b8-9daf-a3acbb735502","name":"9b2a246f-120f-43b8-9daf-a3acbb735502","status":"Running","startTime":"2020-04-26T14:20:26.2434761Z","endTime":"2020-04-26T14:20:26.9153567Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterSuspend","RootActivityId":"61770c44-d8d7-4ad9-932c-4b87f9d38389","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '463' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:28:02 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=d29ec50e2353fd96ac8ed72619c1a2fb36a21ed6c3f22a5075cd2c606bb89829;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '285' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster stop + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/9b2a246f-120f-43b8-9daf-a3acbb735502?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/9b2a246f-120f-43b8-9daf-a3acbb735502","name":"9b2a246f-120f-43b8-9daf-a3acbb735502","status":"Running","startTime":"2020-04-26T14:20:26.2434761Z","endTime":"2020-04-26T14:20:26.9153567Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterSuspend","RootActivityId":"61770c44-d8d7-4ad9-932c-4b87f9d38389","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '463' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:28:33 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=3e9a49b330654e4ac57f196a7fb95bb367210c5ce4e9c674a332fb882012a73e;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '284' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster stop + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/9b2a246f-120f-43b8-9daf-a3acbb735502?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/9b2a246f-120f-43b8-9daf-a3acbb735502","name":"9b2a246f-120f-43b8-9daf-a3acbb735502","status":"Running","startTime":"2020-04-26T14:20:26.2434761Z","endTime":"2020-04-26T14:20:26.9153567Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterSuspend","RootActivityId":"61770c44-d8d7-4ad9-932c-4b87f9d38389","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '463' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:29:03 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=be0e0d186a8dd7beec8fdedbe9912fb4fc8ea63ab4795c4847feb9495ca10dd5;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '283' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster stop + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/9b2a246f-120f-43b8-9daf-a3acbb735502?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/9b2a246f-120f-43b8-9daf-a3acbb735502","name":"9b2a246f-120f-43b8-9daf-a3acbb735502","status":"Running","startTime":"2020-04-26T14:20:26.2434761Z","endTime":"2020-04-26T14:20:26.9153567Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterSuspend","RootActivityId":"61770c44-d8d7-4ad9-932c-4b87f9d38389","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '463' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:29:33 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=d29ec50e2353fd96ac8ed72619c1a2fb36a21ed6c3f22a5075cd2c606bb89829;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '282' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster stop + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/9b2a246f-120f-43b8-9daf-a3acbb735502?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/9b2a246f-120f-43b8-9daf-a3acbb735502","name":"9b2a246f-120f-43b8-9daf-a3acbb735502","status":"Running","startTime":"2020-04-26T14:20:26.2434761Z","endTime":"2020-04-26T14:20:26.9153567Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterSuspend","RootActivityId":"61770c44-d8d7-4ad9-932c-4b87f9d38389","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '463' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:30:04 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=f977ea28325f4c100ed19c1a7ed6395c7554e0af5ce62499bbee5975165c7757;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '289' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster stop + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/9b2a246f-120f-43b8-9daf-a3acbb735502?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/9b2a246f-120f-43b8-9daf-a3acbb735502","name":"9b2a246f-120f-43b8-9daf-a3acbb735502","status":"Running","startTime":"2020-04-26T14:20:26.2434761Z","endTime":"2020-04-26T14:20:26.9153567Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterSuspend","RootActivityId":"61770c44-d8d7-4ad9-932c-4b87f9d38389","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '463' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:30:35 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=f977ea28325f4c100ed19c1a7ed6395c7554e0af5ce62499bbee5975165c7757;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '288' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster stop + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/9b2a246f-120f-43b8-9daf-a3acbb735502?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/9b2a246f-120f-43b8-9daf-a3acbb735502","name":"9b2a246f-120f-43b8-9daf-a3acbb735502","status":"Running","startTime":"2020-04-26T14:20:26.2434761Z","endTime":"2020-04-26T14:20:26.9153567Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterSuspend","RootActivityId":"61770c44-d8d7-4ad9-932c-4b87f9d38389","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '463' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:31:05 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=348d1e7264ad0063baa3036f92cd47d46e91963aabd2dc4d51adfdac15009271;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '287' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster stop + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/9b2a246f-120f-43b8-9daf-a3acbb735502?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/9b2a246f-120f-43b8-9daf-a3acbb735502","name":"9b2a246f-120f-43b8-9daf-a3acbb735502","status":"Running","startTime":"2020-04-26T14:20:26.2434761Z","endTime":"2020-04-26T14:20:26.9153567Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterSuspend","RootActivityId":"61770c44-d8d7-4ad9-932c-4b87f9d38389","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '463' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:31:35 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=d29ec50e2353fd96ac8ed72619c1a2fb36a21ed6c3f22a5075cd2c606bb89829;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '286' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster stop + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/9b2a246f-120f-43b8-9daf-a3acbb735502?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/9b2a246f-120f-43b8-9daf-a3acbb735502","name":"9b2a246f-120f-43b8-9daf-a3acbb735502","status":"Running","startTime":"2020-04-26T14:20:26.2434761Z","endTime":"2020-04-26T14:20:26.9153567Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterSuspend","RootActivityId":"61770c44-d8d7-4ad9-932c-4b87f9d38389","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '463' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:32:06 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=68eda2333691511c17b2574619a79876611dd86be1c55aa848d58cf2408b7c02;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '285' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster stop + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/9b2a246f-120f-43b8-9daf-a3acbb735502?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/9b2a246f-120f-43b8-9daf-a3acbb735502","name":"9b2a246f-120f-43b8-9daf-a3acbb735502","status":"Succeeded","startTime":"2020-04-26T14:20:26.2434761Z","endTime":"2020-04-26T14:32:09.042843Z","percentComplete":1.0,"properties":{"OperationKind":"ClusterSuspend","RootActivityId":"61770c44-d8d7-4ad9-932c-4b87f9d38389","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '466' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:32:37 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=348d1e7264ad0063baa3036f92cd47d46e91963aabd2dc4d51adfdac15009271;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '284' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster stop + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/9b2a246f-120f-43b8-9daf-a3acbb735502?api-version=2020-02-15&operationResultResponseType=Location + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Sun, 26 Apr 2020 14:32:37 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=be0e0d186a8dd7beec8fdedbe9912fb4fc8ea63ab4795c4847feb9495ca10dd5;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '283' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster start + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/clusters/clitestcluster1/start?api-version=2020-02-15 + response: + body: + string: '' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationResults/ce96f0e6-aa0d-4157-bfd8-20845d9bc216?api-version=2020-02-15 + cache-control: + - no-cache + content-length: + - '0' + date: + - Sun, 26 Apr 2020 14:32:40 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/ce96f0e6-aa0d-4157-bfd8-20845d9bc216?api-version=2020-02-15&operationResultResponseType=Location + pragma: + - no-cache + set-cookie: + - ARRAffinity=0b3e7bab7bc253429b01a84fcfe52f9eaf7487da416b1f2a0af2bf3349b35509;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster start + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/ce96f0e6-aa0d-4157-bfd8-20845d9bc216?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/ce96f0e6-aa0d-4157-bfd8-20845d9bc216","name":"ce96f0e6-aa0d-4157-bfd8-20845d9bc216","status":"Running","startTime":"2020-04-26T14:32:40.7152748Z","endTime":"2020-04-26T14:32:41.7309008Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterResume","RootActivityId":"fef514d5-3fd1-4577-860d-a4506c687d0c","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '462' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:33:10 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=bf171968557f7483abc0913a42c0207b9017c552b91766911eca876583df224c;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '299' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster start + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/ce96f0e6-aa0d-4157-bfd8-20845d9bc216?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/ce96f0e6-aa0d-4157-bfd8-20845d9bc216","name":"ce96f0e6-aa0d-4157-bfd8-20845d9bc216","status":"Running","startTime":"2020-04-26T14:32:40.7152748Z","endTime":"2020-04-26T14:32:41.7309008Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterResume","RootActivityId":"fef514d5-3fd1-4577-860d-a4506c687d0c","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '462' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:33:40 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=322636332396dc9c2c583f1f95d6956f84718edf355825979649eda7bf94886e;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '298' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster start + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/ce96f0e6-aa0d-4157-bfd8-20845d9bc216?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/ce96f0e6-aa0d-4157-bfd8-20845d9bc216","name":"ce96f0e6-aa0d-4157-bfd8-20845d9bc216","status":"Running","startTime":"2020-04-26T14:32:40.7152748Z","endTime":"2020-04-26T14:32:41.7309008Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterResume","RootActivityId":"fef514d5-3fd1-4577-860d-a4506c687d0c","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '462' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:34:11 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=322636332396dc9c2c583f1f95d6956f84718edf355825979649eda7bf94886e;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '297' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster start + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/ce96f0e6-aa0d-4157-bfd8-20845d9bc216?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/ce96f0e6-aa0d-4157-bfd8-20845d9bc216","name":"ce96f0e6-aa0d-4157-bfd8-20845d9bc216","status":"Running","startTime":"2020-04-26T14:32:40.7152748Z","endTime":"2020-04-26T14:32:41.7309008Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterResume","RootActivityId":"fef514d5-3fd1-4577-860d-a4506c687d0c","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '462' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:34:42 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=68eda2333691511c17b2574619a79876611dd86be1c55aa848d58cf2408b7c02;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '296' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster start + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/ce96f0e6-aa0d-4157-bfd8-20845d9bc216?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/ce96f0e6-aa0d-4157-bfd8-20845d9bc216","name":"ce96f0e6-aa0d-4157-bfd8-20845d9bc216","status":"Running","startTime":"2020-04-26T14:32:40.7152748Z","endTime":"2020-04-26T14:32:41.7309008Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterResume","RootActivityId":"fef514d5-3fd1-4577-860d-a4506c687d0c","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '462' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:35:12 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=348d1e7264ad0063baa3036f92cd47d46e91963aabd2dc4d51adfdac15009271;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '295' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster start + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/ce96f0e6-aa0d-4157-bfd8-20845d9bc216?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/ce96f0e6-aa0d-4157-bfd8-20845d9bc216","name":"ce96f0e6-aa0d-4157-bfd8-20845d9bc216","status":"Running","startTime":"2020-04-26T14:32:40.7152748Z","endTime":"2020-04-26T14:32:41.7309008Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterResume","RootActivityId":"fef514d5-3fd1-4577-860d-a4506c687d0c","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '462' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:35:45 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=f977ea28325f4c100ed19c1a7ed6395c7554e0af5ce62499bbee5975165c7757;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '294' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster start + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/ce96f0e6-aa0d-4157-bfd8-20845d9bc216?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/ce96f0e6-aa0d-4157-bfd8-20845d9bc216","name":"ce96f0e6-aa0d-4157-bfd8-20845d9bc216","status":"Running","startTime":"2020-04-26T14:32:40.7152748Z","endTime":"2020-04-26T14:32:41.7309008Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterResume","RootActivityId":"fef514d5-3fd1-4577-860d-a4506c687d0c","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '462' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:36:16 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=348d1e7264ad0063baa3036f92cd47d46e91963aabd2dc4d51adfdac15009271;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '293' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster start + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/ce96f0e6-aa0d-4157-bfd8-20845d9bc216?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/ce96f0e6-aa0d-4157-bfd8-20845d9bc216","name":"ce96f0e6-aa0d-4157-bfd8-20845d9bc216","status":"Running","startTime":"2020-04-26T14:32:40.7152748Z","endTime":"2020-04-26T14:32:41.7309008Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterResume","RootActivityId":"fef514d5-3fd1-4577-860d-a4506c687d0c","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '462' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:36:46 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=bf171968557f7483abc0913a42c0207b9017c552b91766911eca876583df224c;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '292' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster start + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/ce96f0e6-aa0d-4157-bfd8-20845d9bc216?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/ce96f0e6-aa0d-4157-bfd8-20845d9bc216","name":"ce96f0e6-aa0d-4157-bfd8-20845d9bc216","status":"Running","startTime":"2020-04-26T14:32:40.7152748Z","endTime":"2020-04-26T14:32:41.7309008Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterResume","RootActivityId":"fef514d5-3fd1-4577-860d-a4506c687d0c","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '462' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:37:17 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=f977ea28325f4c100ed19c1a7ed6395c7554e0af5ce62499bbee5975165c7757;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '291' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster start + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/ce96f0e6-aa0d-4157-bfd8-20845d9bc216?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/ce96f0e6-aa0d-4157-bfd8-20845d9bc216","name":"ce96f0e6-aa0d-4157-bfd8-20845d9bc216","status":"Running","startTime":"2020-04-26T14:32:40.7152748Z","endTime":"2020-04-26T14:32:41.7309008Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterResume","RootActivityId":"fef514d5-3fd1-4577-860d-a4506c687d0c","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '462' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:37:48 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=0b3e7bab7bc253429b01a84fcfe52f9eaf7487da416b1f2a0af2bf3349b35509;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '290' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster start + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/ce96f0e6-aa0d-4157-bfd8-20845d9bc216?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/ce96f0e6-aa0d-4157-bfd8-20845d9bc216","name":"ce96f0e6-aa0d-4157-bfd8-20845d9bc216","status":"Running","startTime":"2020-04-26T14:32:40.7152748Z","endTime":"2020-04-26T14:32:41.7309008Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterResume","RootActivityId":"fef514d5-3fd1-4577-860d-a4506c687d0c","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '462' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:38:17 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=be0e0d186a8dd7beec8fdedbe9912fb4fc8ea63ab4795c4847feb9495ca10dd5;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '289' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster start + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/ce96f0e6-aa0d-4157-bfd8-20845d9bc216?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/ce96f0e6-aa0d-4157-bfd8-20845d9bc216","name":"ce96f0e6-aa0d-4157-bfd8-20845d9bc216","status":"Running","startTime":"2020-04-26T14:32:40.7152748Z","endTime":"2020-04-26T14:32:41.7309008Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterResume","RootActivityId":"fef514d5-3fd1-4577-860d-a4506c687d0c","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '462' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:38:48 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=bf171968557f7483abc0913a42c0207b9017c552b91766911eca876583df224c;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '288' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster start + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/ce96f0e6-aa0d-4157-bfd8-20845d9bc216?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/ce96f0e6-aa0d-4157-bfd8-20845d9bc216","name":"ce96f0e6-aa0d-4157-bfd8-20845d9bc216","status":"Running","startTime":"2020-04-26T14:32:40.7152748Z","endTime":"2020-04-26T14:32:41.7309008Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterResume","RootActivityId":"fef514d5-3fd1-4577-860d-a4506c687d0c","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '462' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:39:19 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=3e9a49b330654e4ac57f196a7fb95bb367210c5ce4e9c674a332fb882012a73e;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '287' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster start + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/ce96f0e6-aa0d-4157-bfd8-20845d9bc216?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/ce96f0e6-aa0d-4157-bfd8-20845d9bc216","name":"ce96f0e6-aa0d-4157-bfd8-20845d9bc216","status":"Running","startTime":"2020-04-26T14:32:40.7152748Z","endTime":"2020-04-26T14:32:41.7309008Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterResume","RootActivityId":"fef514d5-3fd1-4577-860d-a4506c687d0c","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '462' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:39:50 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=68eda2333691511c17b2574619a79876611dd86be1c55aa848d58cf2408b7c02;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '286' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster start + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/ce96f0e6-aa0d-4157-bfd8-20845d9bc216?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/ce96f0e6-aa0d-4157-bfd8-20845d9bc216","name":"ce96f0e6-aa0d-4157-bfd8-20845d9bc216","status":"Running","startTime":"2020-04-26T14:32:40.7152748Z","endTime":"2020-04-26T14:32:41.7309008Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterResume","RootActivityId":"fef514d5-3fd1-4577-860d-a4506c687d0c","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '462' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:40:20 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=348d1e7264ad0063baa3036f92cd47d46e91963aabd2dc4d51adfdac15009271;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '289' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster start + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/ce96f0e6-aa0d-4157-bfd8-20845d9bc216?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/ce96f0e6-aa0d-4157-bfd8-20845d9bc216","name":"ce96f0e6-aa0d-4157-bfd8-20845d9bc216","status":"Succeeded","startTime":"2020-04-26T14:32:40.7152748Z","endTime":"2020-04-26T14:40:46.5162919Z","percentComplete":1.0,"properties":{"OperationKind":"ClusterResume","RootActivityId":"fef514d5-3fd1-4577-860d-a4506c687d0c","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '466' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:40:51 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=5e5ff28fa92b1291bfb4f40aa52246624376877d08d84d2a201c9bf6f1ffae6d;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '288' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster start + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/ce96f0e6-aa0d-4157-bfd8-20845d9bc216?api-version=2020-02-15&operationResultResponseType=Location + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Sun, 26 Apr 2020 14:40:51 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=348d1e7264ad0063baa3036f92cd47d46e91963aabd2dc4d51adfdac15009271;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '287' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster list-sku + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/clusters/clitestcluster1/skus?api-version=2020-02-15 + response: + body: + string: '{"value":[{"resourceType":"Microsoft.Kusto/clusters","sku":{"name":"Standard_D14_v2","tier":"Standard","locationInfo":[{"location":"West + US","zones":[]}]},"capacity":{"minimum":2,"maximum":1000,"default":2,"scaleType":"Automatic"}},{"resourceType":"Microsoft.Kusto/clusters","sku":{"name":"Standard_D13_v2","tier":"Standard","locationInfo":[{"location":"West + US","zones":[]}]},"capacity":{"minimum":2,"maximum":1000,"default":2,"scaleType":"Automatic"}},{"resourceType":"Microsoft.Kusto/clusters","sku":{"name":"Standard_L8s","tier":"Standard","locationInfo":[{"location":"West + US","zones":[]}]},"capacity":{"minimum":2,"maximum":1000,"default":2,"scaleType":"Automatic"}},{"resourceType":"Microsoft.Kusto/clusters","sku":{"name":"Standard_L16s","tier":"Standard","locationInfo":[{"location":"West + US","zones":[]}]},"capacity":{"minimum":2,"maximum":1000,"default":2,"scaleType":"Automatic"}},{"resourceType":"Microsoft.Kusto/clusters","sku":{"name":"Standard_D11_v2","tier":"Standard","locationInfo":[{"location":"West + US","zones":[]}]},"capacity":{"minimum":2,"maximum":8,"default":2,"scaleType":"Automatic"}},{"resourceType":"Microsoft.Kusto/clusters","sku":{"name":"Standard_D12_v2","tier":"Standard","locationInfo":[{"location":"West + US","zones":[]}]},"capacity":{"minimum":2,"maximum":16,"default":2,"scaleType":"Automatic"}},{"resourceType":"Microsoft.Kusto/clusters","sku":{"name":"Standard_L4s","tier":"Standard","locationInfo":[{"location":"West + US","zones":[]}]},"capacity":{"minimum":2,"maximum":16,"default":2,"scaleType":"Automatic"}},{"resourceType":"Microsoft.Kusto/clusters","sku":{"name":"Standard_DS13_v2+1TB_PS","tier":"Standard","locationInfo":[{"location":"West + US","zones":[]}]},"capacity":{"minimum":2,"maximum":1000,"default":2,"scaleType":"Automatic"}},{"resourceType":"Microsoft.Kusto/clusters","sku":{"name":"Standard_DS13_v2+2TB_PS","tier":"Standard","locationInfo":[{"location":"West + US","zones":[]}]},"capacity":{"minimum":2,"maximum":1000,"default":2,"scaleType":"Automatic"}},{"resourceType":"Microsoft.Kusto/clusters","sku":{"name":"Standard_DS14_v2+3TB_PS","tier":"Standard","locationInfo":[{"location":"West + US","zones":[]}]},"capacity":{"minimum":2,"maximum":1000,"default":2,"scaleType":"Automatic"}},{"resourceType":"Microsoft.Kusto/clusters","sku":{"name":"Standard_DS14_v2+4TB_PS","tier":"Standard","locationInfo":[{"location":"West + US","zones":[]}]},"capacity":{"minimum":2,"maximum":1000,"default":2,"scaleType":"Automatic"}},{"resourceType":"Microsoft.Kusto/clusters","sku":{"name":"Standard_L8s_v2","tier":"Standard","locationInfo":[{"location":"West + US","zones":[]}]},"capacity":{"minimum":2,"maximum":1000,"default":2,"scaleType":"Automatic"}},{"resourceType":"Microsoft.Kusto/clusters","sku":{"name":"Standard_L16s_v2","tier":"Standard","locationInfo":[{"location":"West + US","zones":[]}]},"capacity":{"minimum":2,"maximum":1000,"default":2,"scaleType":"Automatic"}},{"resourceType":"Microsoft.Kusto/clusters","sku":{"name":"Standard_E2a_v4","tier":"Standard","locationInfo":[{"location":"West + US","zones":[]}]},"capacity":{"minimum":2,"maximum":1000,"default":2,"scaleType":"Automatic"}},{"resourceType":"Microsoft.Kusto/clusters","sku":{"name":"Standard_E4a_v4","tier":"Standard","locationInfo":[{"location":"West + US","zones":[]}]},"capacity":{"minimum":2,"maximum":1000,"default":2,"scaleType":"Automatic"}},{"resourceType":"Microsoft.Kusto/clusters","sku":{"name":"Standard_E8a_v4","tier":"Standard","locationInfo":[{"location":"West + US","zones":[]}]},"capacity":{"minimum":2,"maximum":1000,"default":2,"scaleType":"Automatic"}},{"resourceType":"Microsoft.Kusto/clusters","sku":{"name":"Standard_E16a_v4","tier":"Standard","locationInfo":[{"location":"West + US","zones":[]}]},"capacity":{"minimum":2,"maximum":1000,"default":2,"scaleType":"Automatic"}},{"resourceType":"Microsoft.Kusto/clusters","sku":{"name":"Standard_E8as_v4+1TB_PS","tier":"Standard","locationInfo":[{"location":"West + US","zones":[]}]},"capacity":{"minimum":2,"maximum":1000,"default":2,"scaleType":"Automatic"}},{"resourceType":"Microsoft.Kusto/clusters","sku":{"name":"Standard_E8as_v4+2TB_PS","tier":"Standard","locationInfo":[{"location":"West + US","zones":[]}]},"capacity":{"minimum":2,"maximum":1000,"default":2,"scaleType":"Automatic"}},{"resourceType":"Microsoft.Kusto/clusters","sku":{"name":"Standard_E16as_v4+3TB_PS","tier":"Standard","locationInfo":[{"location":"West + US","zones":[]}]},"capacity":{"minimum":2,"maximum":1000,"default":2,"scaleType":"Automatic"}},{"resourceType":"Microsoft.Kusto/clusters","sku":{"name":"Standard_E16as_v4+4TB_PS","tier":"Standard","locationInfo":[{"location":"West + US","zones":[]}]},"capacity":{"minimum":2,"maximum":1000,"default":2,"scaleType":"Automatic"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '4726' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:40:53 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=68eda2333691511c17b2574619a79876611dd86be1c55aa848d58cf2408b7c02;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster list-sku + Connection: + - keep-alive + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/skus?api-version=2020-02-15 + response: + body: + string: '{"value":[{"resourceType":"clusters","name":"Dev(No SLA)_Standard_D11_v2","tier":"Basic","locations":["centralus"],"locationInfo":[{"location":"centralus","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D11_v2","tier":"Standard","locations":["centralus"],"locationInfo":[{"location":"centralus","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D12_v2","tier":"Standard","locations":["centralus"],"locationInfo":[{"location":"centralus","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D13_v2","tier":"Standard","locations":["centralus"],"locationInfo":[{"location":"centralus","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D14_v2","tier":"Standard","locations":["centralus"],"locationInfo":[{"location":"centralus","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+1TB_PS","tier":"Standard","locations":["centralus"],"locationInfo":[{"location":"centralus","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+2TB_PS","tier":"Standard","locations":["centralus"],"locationInfo":[{"location":"centralus","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+3TB_PS","tier":"Standard","locations":["centralus"],"locationInfo":[{"location":"centralus","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+4TB_PS","tier":"Standard","locations":["centralus"],"locationInfo":[{"location":"centralus","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_L4s","tier":"Standard","locations":["centralus"],"locationInfo":[{"location":"centralus","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_L8s","tier":"Standard","locations":["centralus"],"locationInfo":[{"location":"centralus","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_L16s","tier":"Standard","locations":["centralus"],"locationInfo":[{"location":"centralus","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Dev(No + SLA)_Standard_D11_v2","tier":"Basic","locations":["westeurope"],"locationInfo":[{"location":"westeurope","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D11_v2","tier":"Standard","locations":["westeurope"],"locationInfo":[{"location":"westeurope","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D12_v2","tier":"Standard","locations":["westeurope"],"locationInfo":[{"location":"westeurope","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D13_v2","tier":"Standard","locations":["westeurope"],"locationInfo":[{"location":"westeurope","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D14_v2","tier":"Standard","locations":["westeurope"],"locationInfo":[{"location":"westeurope","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+1TB_PS","tier":"Standard","locations":["westeurope"],"locationInfo":[{"location":"westeurope","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+2TB_PS","tier":"Standard","locations":["westeurope"],"locationInfo":[{"location":"westeurope","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+3TB_PS","tier":"Standard","locations":["westeurope"],"locationInfo":[{"location":"westeurope","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+4TB_PS","tier":"Standard","locations":["westeurope"],"locationInfo":[{"location":"westeurope","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_L4s","tier":"Standard","locations":["westeurope"],"locationInfo":[{"location":"westeurope","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_L8s","tier":"Standard","locations":["westeurope"],"locationInfo":[{"location":"westeurope","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_L16s","tier":"Standard","locations":["westeurope"],"locationInfo":[{"location":"westeurope","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Dev(No + SLA)_Standard_D11_v2","tier":"Basic","locations":["northeurope"],"locationInfo":[{"location":"northeurope","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D11_v2","tier":"Standard","locations":["northeurope"],"locationInfo":[{"location":"northeurope","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D12_v2","tier":"Standard","locations":["northeurope"],"locationInfo":[{"location":"northeurope","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D13_v2","tier":"Standard","locations":["northeurope"],"locationInfo":[{"location":"northeurope","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D14_v2","tier":"Standard","locations":["northeurope"],"locationInfo":[{"location":"northeurope","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+1TB_PS","tier":"Standard","locations":["northeurope"],"locationInfo":[{"location":"northeurope","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+2TB_PS","tier":"Standard","locations":["northeurope"],"locationInfo":[{"location":"northeurope","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+3TB_PS","tier":"Standard","locations":["northeurope"],"locationInfo":[{"location":"northeurope","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+4TB_PS","tier":"Standard","locations":["northeurope"],"locationInfo":[{"location":"northeurope","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_L4s","tier":"Standard","locations":["northeurope"],"locationInfo":[{"location":"northeurope","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_L8s","tier":"Standard","locations":["northeurope"],"locationInfo":[{"location":"northeurope","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_L16s","tier":"Standard","locations":["northeurope"],"locationInfo":[{"location":"northeurope","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Dev(No + SLA)_Standard_D11_v2","tier":"Basic","locations":["eastus2"],"locationInfo":[{"location":"eastus2","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D11_v2","tier":"Standard","locations":["eastus2"],"locationInfo":[{"location":"eastus2","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D12_v2","tier":"Standard","locations":["eastus2"],"locationInfo":[{"location":"eastus2","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D13_v2","tier":"Standard","locations":["eastus2"],"locationInfo":[{"location":"eastus2","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D14_v2","tier":"Standard","locations":["eastus2"],"locationInfo":[{"location":"eastus2","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+1TB_PS","tier":"Standard","locations":["eastus2"],"locationInfo":[{"location":"eastus2","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+2TB_PS","tier":"Standard","locations":["eastus2"],"locationInfo":[{"location":"eastus2","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+3TB_PS","tier":"Standard","locations":["eastus2"],"locationInfo":[{"location":"eastus2","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+4TB_PS","tier":"Standard","locations":["eastus2"],"locationInfo":[{"location":"eastus2","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_L4s","tier":"Standard","locations":["eastus2"],"locationInfo":[{"location":"eastus2","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_L8s","tier":"Standard","locations":["eastus2"],"locationInfo":[{"location":"eastus2","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_L16s","tier":"Standard","locations":["eastus2"],"locationInfo":[{"location":"eastus2","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Dev(No + SLA)_Standard_D11_v2","tier":"Basic","locations":["westcentralus"],"locationInfo":[{"location":"westcentralus","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D11_v2","tier":"Standard","locations":["westcentralus"],"locationInfo":[{"location":"westcentralus","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D12_v2","tier":"Standard","locations":["westcentralus"],"locationInfo":[{"location":"westcentralus","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D13_v2","tier":"Standard","locations":["westcentralus"],"locationInfo":[{"location":"westcentralus","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D14_v2","tier":"Standard","locations":["westcentralus"],"locationInfo":[{"location":"westcentralus","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+1TB_PS","tier":"Standard","locations":["westcentralus"],"locationInfo":[{"location":"westcentralus","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+2TB_PS","tier":"Standard","locations":["westcentralus"],"locationInfo":[{"location":"westcentralus","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+3TB_PS","tier":"Standard","locations":["westcentralus"],"locationInfo":[{"location":"westcentralus","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+4TB_PS","tier":"Standard","locations":["westcentralus"],"locationInfo":[{"location":"westcentralus","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Dev(No + SLA)_Standard_D11_v2","tier":"Basic","locations":["germanywestcentral"],"locationInfo":[{"location":"germanywestcentral","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D11_v2","tier":"Standard","locations":["germanywestcentral"],"locationInfo":[{"location":"germanywestcentral","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D12_v2","tier":"Standard","locations":["germanywestcentral"],"locationInfo":[{"location":"germanywestcentral","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D13_v2","tier":"Standard","locations":["germanywestcentral"],"locationInfo":[{"location":"germanywestcentral","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D14_v2","tier":"Standard","locations":["germanywestcentral"],"locationInfo":[{"location":"germanywestcentral","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+1TB_PS","tier":"Standard","locations":["germanywestcentral"],"locationInfo":[{"location":"germanywestcentral","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+2TB_PS","tier":"Standard","locations":["germanywestcentral"],"locationInfo":[{"location":"germanywestcentral","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+3TB_PS","tier":"Standard","locations":["germanywestcentral"],"locationInfo":[{"location":"germanywestcentral","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+4TB_PS","tier":"Standard","locations":["germanywestcentral"],"locationInfo":[{"location":"germanywestcentral","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Dev(No + SLA)_Standard_D11_v2","tier":"Basic","locations":["westus"],"locationInfo":[{"location":"westus","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D11_v2","tier":"Standard","locations":["westus"],"locationInfo":[{"location":"westus","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D12_v2","tier":"Standard","locations":["westus"],"locationInfo":[{"location":"westus","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D13_v2","tier":"Standard","locations":["westus"],"locationInfo":[{"location":"westus","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D14_v2","tier":"Standard","locations":["westus"],"locationInfo":[{"location":"westus","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+1TB_PS","tier":"Standard","locations":["westus"],"locationInfo":[{"location":"westus","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+2TB_PS","tier":"Standard","locations":["westus"],"locationInfo":[{"location":"westus","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+3TB_PS","tier":"Standard","locations":["westus"],"locationInfo":[{"location":"westus","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+4TB_PS","tier":"Standard","locations":["westus"],"locationInfo":[{"location":"westus","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_L4s","tier":"Standard","locations":["westus"],"locationInfo":[{"location":"westus","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_L8s","tier":"Standard","locations":["westus"],"locationInfo":[{"location":"westus","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_L16s","tier":"Standard","locations":["westus"],"locationInfo":[{"location":"westus","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Dev(No + SLA)_Standard_D11_v2","tier":"Basic","locations":["southeastasia"],"locationInfo":[{"location":"southeastasia","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D11_v2","tier":"Standard","locations":["southeastasia"],"locationInfo":[{"location":"southeastasia","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D12_v2","tier":"Standard","locations":["southeastasia"],"locationInfo":[{"location":"southeastasia","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D13_v2","tier":"Standard","locations":["southeastasia"],"locationInfo":[{"location":"southeastasia","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D14_v2","tier":"Standard","locations":["southeastasia"],"locationInfo":[{"location":"southeastasia","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+1TB_PS","tier":"Standard","locations":["southeastasia"],"locationInfo":[{"location":"southeastasia","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+2TB_PS","tier":"Standard","locations":["southeastasia"],"locationInfo":[{"location":"southeastasia","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+3TB_PS","tier":"Standard","locations":["southeastasia"],"locationInfo":[{"location":"southeastasia","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+4TB_PS","tier":"Standard","locations":["southeastasia"],"locationInfo":[{"location":"southeastasia","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_L4s","tier":"Standard","locations":["southeastasia"],"locationInfo":[{"location":"southeastasia","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_L8s","tier":"Standard","locations":["southeastasia"],"locationInfo":[{"location":"southeastasia","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_L16s","tier":"Standard","locations":["southeastasia"],"locationInfo":[{"location":"southeastasia","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Dev(No + SLA)_Standard_D11_v2","tier":"Basic","locations":["eastus"],"locationInfo":[{"location":"eastus","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D11_v2","tier":"Standard","locations":["eastus"],"locationInfo":[{"location":"eastus","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D12_v2","tier":"Standard","locations":["eastus"],"locationInfo":[{"location":"eastus","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D13_v2","tier":"Standard","locations":["eastus"],"locationInfo":[{"location":"eastus","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D14_v2","tier":"Standard","locations":["eastus"],"locationInfo":[{"location":"eastus","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+1TB_PS","tier":"Standard","locations":["eastus"],"locationInfo":[{"location":"eastus","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+2TB_PS","tier":"Standard","locations":["eastus"],"locationInfo":[{"location":"eastus","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+3TB_PS","tier":"Standard","locations":["eastus"],"locationInfo":[{"location":"eastus","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+4TB_PS","tier":"Standard","locations":["eastus"],"locationInfo":[{"location":"eastus","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Dev(No + SLA)_Standard_D11_v2","tier":"Basic","locations":["westus2"],"locationInfo":[{"location":"westus2","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D11_v2","tier":"Standard","locations":["westus2"],"locationInfo":[{"location":"westus2","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D12_v2","tier":"Standard","locations":["westus2"],"locationInfo":[{"location":"westus2","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D13_v2","tier":"Standard","locations":["westus2"],"locationInfo":[{"location":"westus2","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D14_v2","tier":"Standard","locations":["westus2"],"locationInfo":[{"location":"westus2","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+1TB_PS","tier":"Standard","locations":["westus2"],"locationInfo":[{"location":"westus2","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+2TB_PS","tier":"Standard","locations":["westus2"],"locationInfo":[{"location":"westus2","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+3TB_PS","tier":"Standard","locations":["westus2"],"locationInfo":[{"location":"westus2","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+4TB_PS","tier":"Standard","locations":["westus2"],"locationInfo":[{"location":"westus2","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Dev(No + SLA)_Standard_D11_v2","tier":"Basic","locations":["westus2"],"locationInfo":[{"location":"westus2","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D11_v2","tier":"Standard","locations":["westus2"],"locationInfo":[{"location":"westus2","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D12_v2","tier":"Standard","locations":["westus2"],"locationInfo":[{"location":"westus2","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D13_v2","tier":"Standard","locations":["westus2"],"locationInfo":[{"location":"westus2","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D14_v2","tier":"Standard","locations":["westus2"],"locationInfo":[{"location":"westus2","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Dev(No + SLA)_Standard_D11_v2","tier":"Basic","locations":["southcentralus"],"locationInfo":[{"location":"southcentralus","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D11_v2","tier":"Standard","locations":["southcentralus"],"locationInfo":[{"location":"southcentralus","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D12_v2","tier":"Standard","locations":["southcentralus"],"locationInfo":[{"location":"southcentralus","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D13_v2","tier":"Standard","locations":["southcentralus"],"locationInfo":[{"location":"southcentralus","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D14_v2","tier":"Standard","locations":["southcentralus"],"locationInfo":[{"location":"southcentralus","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+1TB_PS","tier":"Standard","locations":["southcentralus"],"locationInfo":[{"location":"southcentralus","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+2TB_PS","tier":"Standard","locations":["southcentralus"],"locationInfo":[{"location":"southcentralus","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+3TB_PS","tier":"Standard","locations":["southcentralus"],"locationInfo":[{"location":"southcentralus","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+4TB_PS","tier":"Standard","locations":["southcentralus"],"locationInfo":[{"location":"southcentralus","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Dev(No + SLA)_Standard_D11_v2","tier":"Basic","locations":["northcentralus"],"locationInfo":[{"location":"northcentralus","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D11_v2","tier":"Standard","locations":["northcentralus"],"locationInfo":[{"location":"northcentralus","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D12_v2","tier":"Standard","locations":["northcentralus"],"locationInfo":[{"location":"northcentralus","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D13_v2","tier":"Standard","locations":["northcentralus"],"locationInfo":[{"location":"northcentralus","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D14_v2","tier":"Standard","locations":["northcentralus"],"locationInfo":[{"location":"northcentralus","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+1TB_PS","tier":"Standard","locations":["northcentralus"],"locationInfo":[{"location":"northcentralus","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+2TB_PS","tier":"Standard","locations":["northcentralus"],"locationInfo":[{"location":"northcentralus","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+3TB_PS","tier":"Standard","locations":["northcentralus"],"locationInfo":[{"location":"northcentralus","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+4TB_PS","tier":"Standard","locations":["northcentralus"],"locationInfo":[{"location":"northcentralus","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Dev(No + SLA)_Standard_D11_v2","tier":"Basic","locations":["eastasia"],"locationInfo":[{"location":"eastasia","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D11_v2","tier":"Standard","locations":["eastasia"],"locationInfo":[{"location":"eastasia","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D13_v2","tier":"Standard","locations":["eastasia"],"locationInfo":[{"location":"eastasia","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D14_v2","tier":"Standard","locations":["eastasia"],"locationInfo":[{"location":"eastasia","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+1TB_PS","tier":"Standard","locations":["eastasia"],"locationInfo":[{"location":"eastasia","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+2TB_PS","tier":"Standard","locations":["eastasia"],"locationInfo":[{"location":"eastasia","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+3TB_PS","tier":"Standard","locations":["eastasia"],"locationInfo":[{"location":"eastasia","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+4TB_PS","tier":"Standard","locations":["eastasia"],"locationInfo":[{"location":"eastasia","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Dev(No + SLA)_Standard_D11_v2","tier":"Basic","locations":["japaneast"],"locationInfo":[{"location":"japaneast","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D11_v2","tier":"Standard","locations":["japaneast"],"locationInfo":[{"location":"japaneast","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D12_v2","tier":"Standard","locations":["japaneast"],"locationInfo":[{"location":"japaneast","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D13_v2","tier":"Standard","locations":["japaneast"],"locationInfo":[{"location":"japaneast","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D14_v2","tier":"Standard","locations":["japaneast"],"locationInfo":[{"location":"japaneast","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+1TB_PS","tier":"Standard","locations":["japaneast"],"locationInfo":[{"location":"japaneast","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+2TB_PS","tier":"Standard","locations":["japaneast"],"locationInfo":[{"location":"japaneast","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+3TB_PS","tier":"Standard","locations":["japaneast"],"locationInfo":[{"location":"japaneast","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+4TB_PS","tier":"Standard","locations":["japaneast"],"locationInfo":[{"location":"japaneast","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_L4s","tier":"Standard","locations":["japaneast"],"locationInfo":[{"location":"japaneast","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_L8s","tier":"Standard","locations":["japaneast"],"locationInfo":[{"location":"japaneast","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_L16s","tier":"Standard","locations":["japaneast"],"locationInfo":[{"location":"japaneast","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Dev(No + SLA)_Standard_D11_v2","tier":"Basic","locations":["canadacentral"],"locationInfo":[{"location":"canadacentral","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D11_v2","tier":"Standard","locations":["canadacentral"],"locationInfo":[{"location":"canadacentral","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D12_v2","tier":"Standard","locations":["canadacentral"],"locationInfo":[{"location":"canadacentral","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D13_v2","tier":"Standard","locations":["canadacentral"],"locationInfo":[{"location":"canadacentral","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D14_v2","tier":"Standard","locations":["canadacentral"],"locationInfo":[{"location":"canadacentral","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+1TB_PS","tier":"Standard","locations":["canadacentral"],"locationInfo":[{"location":"canadacentral","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+2TB_PS","tier":"Standard","locations":["canadacentral"],"locationInfo":[{"location":"canadacentral","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+3TB_PS","tier":"Standard","locations":["canadacentral"],"locationInfo":[{"location":"canadacentral","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+4TB_PS","tier":"Standard","locations":["canadacentral"],"locationInfo":[{"location":"canadacentral","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_L4s","tier":"Standard","locations":["canadacentral"],"locationInfo":[{"location":"canadacentral","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_L8s","tier":"Standard","locations":["canadacentral"],"locationInfo":[{"location":"canadacentral","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_L16s","tier":"Standard","locations":["canadacentral"],"locationInfo":[{"location":"canadacentral","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_L4s","tier":"Standard","locations":["uksouth"],"locationInfo":[{"location":"uksouth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_L8s","tier":"Standard","locations":["uksouth"],"locationInfo":[{"location":"uksouth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_L16s","tier":"Standard","locations":["uksouth"],"locationInfo":[{"location":"uksouth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Dev(No + SLA)_Standard_D11_v2","tier":"Basic","locations":["australiaeast"],"locationInfo":[{"location":"australiaeast","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D11_v2","tier":"Standard","locations":["australiaeast"],"locationInfo":[{"location":"australiaeast","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D12_v2","tier":"Standard","locations":["australiaeast"],"locationInfo":[{"location":"australiaeast","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D13_v2","tier":"Standard","locations":["australiaeast"],"locationInfo":[{"location":"australiaeast","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D14_v2","tier":"Standard","locations":["australiaeast"],"locationInfo":[{"location":"australiaeast","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+1TB_PS","tier":"Standard","locations":["australiaeast"],"locationInfo":[{"location":"australiaeast","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+2TB_PS","tier":"Standard","locations":["australiaeast"],"locationInfo":[{"location":"australiaeast","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+3TB_PS","tier":"Standard","locations":["australiaeast"],"locationInfo":[{"location":"australiaeast","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+4TB_PS","tier":"Standard","locations":["australiaeast"],"locationInfo":[{"location":"australiaeast","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Dev(No + SLA)_Standard_D11_v2","tier":"Basic","locations":["brazilsouth"],"locationInfo":[{"location":"brazilsouth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D11_v2","tier":"Standard","locations":["brazilsouth"],"locationInfo":[{"location":"brazilsouth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D13_v2","tier":"Standard","locations":["brazilsouth"],"locationInfo":[{"location":"brazilsouth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D14_v2","tier":"Standard","locations":["brazilsouth"],"locationInfo":[{"location":"brazilsouth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+1TB_PS","tier":"Standard","locations":["brazilsouth"],"locationInfo":[{"location":"brazilsouth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+2TB_PS","tier":"Standard","locations":["brazilsouth"],"locationInfo":[{"location":"brazilsouth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+3TB_PS","tier":"Standard","locations":["brazilsouth"],"locationInfo":[{"location":"brazilsouth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+4TB_PS","tier":"Standard","locations":["brazilsouth"],"locationInfo":[{"location":"brazilsouth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Dev(No + SLA)_Standard_D11_v2","tier":"Basic","locations":["japanwest"],"locationInfo":[{"location":"japanwest","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D11_v2","tier":"Standard","locations":["japanwest"],"locationInfo":[{"location":"japanwest","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D12_v2","tier":"Standard","locations":["japanwest"],"locationInfo":[{"location":"japanwest","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D13_v2","tier":"Standard","locations":["japanwest"],"locationInfo":[{"location":"japanwest","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D14_v2","tier":"Standard","locations":["japanwest"],"locationInfo":[{"location":"japanwest","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+1TB_PS","tier":"Standard","locations":["japanwest"],"locationInfo":[{"location":"japanwest","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+2TB_PS","tier":"Standard","locations":["japanwest"],"locationInfo":[{"location":"japanwest","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+3TB_PS","tier":"Standard","locations":["japanwest"],"locationInfo":[{"location":"japanwest","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+4TB_PS","tier":"Standard","locations":["japanwest"],"locationInfo":[{"location":"japanwest","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Dev(No + SLA)_Standard_D11_v2","tier":"Basic","locations":["southindia"],"locationInfo":[{"location":"southindia","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D11_v2","tier":"Standard","locations":["southindia"],"locationInfo":[{"location":"southindia","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D13_v2","tier":"Standard","locations":["southindia"],"locationInfo":[{"location":"southindia","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D14_v2","tier":"Standard","locations":["southindia"],"locationInfo":[{"location":"southindia","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+1TB_PS","tier":"Standard","locations":["southindia"],"locationInfo":[{"location":"southindia","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+2TB_PS","tier":"Standard","locations":["southindia"],"locationInfo":[{"location":"southindia","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+3TB_PS","tier":"Standard","locations":["southindia"],"locationInfo":[{"location":"southindia","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+4TB_PS","tier":"Standard","locations":["southindia"],"locationInfo":[{"location":"southindia","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Dev(No + SLA)_Standard_D11_v2","tier":"Basic","locations":["centralindia"],"locationInfo":[{"location":"centralindia","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D11_v2","tier":"Standard","locations":["centralindia"],"locationInfo":[{"location":"centralindia","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D12_v2","tier":"Standard","locations":["centralindia"],"locationInfo":[{"location":"centralindia","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D13_v2","tier":"Standard","locations":["centralindia"],"locationInfo":[{"location":"centralindia","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D14_v2","tier":"Standard","locations":["centralindia"],"locationInfo":[{"location":"centralindia","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Dev(No + SLA)_Standard_D11_v2","tier":"Basic","locations":["westindia"],"locationInfo":[{"location":"westindia","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D11_v2","tier":"Standard","locations":["westindia"],"locationInfo":[{"location":"westindia","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D12_v2","tier":"Standard","locations":["westindia"],"locationInfo":[{"location":"westindia","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D13_v2","tier":"Standard","locations":["westindia"],"locationInfo":[{"location":"westindia","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D14_v2","tier":"Standard","locations":["westindia"],"locationInfo":[{"location":"westindia","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+1TB_PS","tier":"Standard","locations":["westindia"],"locationInfo":[{"location":"westindia","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+2TB_PS","tier":"Standard","locations":["westindia"],"locationInfo":[{"location":"westindia","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+3TB_PS","tier":"Standard","locations":["westindia"],"locationInfo":[{"location":"westindia","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+4TB_PS","tier":"Standard","locations":["westindia"],"locationInfo":[{"location":"westindia","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Dev(No + SLA)_Standard_D11_v2","tier":"Basic","locations":["canadaeast"],"locationInfo":[{"location":"canadaeast","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D11_v2","tier":"Standard","locations":["canadaeast"],"locationInfo":[{"location":"canadaeast","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D12_v2","tier":"Standard","locations":["canadaeast"],"locationInfo":[{"location":"canadaeast","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D13_v2","tier":"Standard","locations":["canadaeast"],"locationInfo":[{"location":"canadaeast","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D14_v2","tier":"Standard","locations":["canadaeast"],"locationInfo":[{"location":"canadaeast","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_L4s","tier":"Standard","locations":["canadaeast"],"locationInfo":[{"location":"canadaeast","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_L8s","tier":"Standard","locations":["canadaeast"],"locationInfo":[{"location":"canadaeast","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_L16s","tier":"Standard","locations":["canadaeast"],"locationInfo":[{"location":"canadaeast","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Dev(No + SLA)_Standard_D11_v2","tier":"Basic","locations":["koreacentral"],"locationInfo":[{"location":"koreacentral","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D11_v2","tier":"Standard","locations":["koreacentral"],"locationInfo":[{"location":"koreacentral","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D12_v2","tier":"Standard","locations":["koreacentral"],"locationInfo":[{"location":"koreacentral","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D13_v2","tier":"Standard","locations":["koreacentral"],"locationInfo":[{"location":"koreacentral","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D14_v2","tier":"Standard","locations":["koreacentral"],"locationInfo":[{"location":"koreacentral","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+1TB_PS","tier":"Standard","locations":["koreacentral"],"locationInfo":[{"location":"koreacentral","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+2TB_PS","tier":"Standard","locations":["koreacentral"],"locationInfo":[{"location":"koreacentral","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+3TB_PS","tier":"Standard","locations":["koreacentral"],"locationInfo":[{"location":"koreacentral","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+4TB_PS","tier":"Standard","locations":["koreacentral"],"locationInfo":[{"location":"koreacentral","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Dev(No + SLA)_Standard_D11_v2","tier":"Basic","locations":["francecentral"],"locationInfo":[{"location":"francecentral","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D11_v2","tier":"Standard","locations":["francecentral"],"locationInfo":[{"location":"francecentral","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D12_v2","tier":"Standard","locations":["francecentral"],"locationInfo":[{"location":"francecentral","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D13_v2","tier":"Standard","locations":["francecentral"],"locationInfo":[{"location":"francecentral","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D14_v2","tier":"Standard","locations":["francecentral"],"locationInfo":[{"location":"francecentral","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+1TB_PS","tier":"Standard","locations":["francecentral"],"locationInfo":[{"location":"francecentral","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+2TB_PS","tier":"Standard","locations":["francecentral"],"locationInfo":[{"location":"francecentral","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+3TB_PS","tier":"Standard","locations":["francecentral"],"locationInfo":[{"location":"francecentral","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+4TB_PS","tier":"Standard","locations":["francecentral"],"locationInfo":[{"location":"francecentral","zones":["2","3","1"],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Dev(No + SLA)_Standard_D11_v2","tier":"Basic","locations":["ukwest"],"locationInfo":[{"location":"ukwest","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D11_v2","tier":"Standard","locations":["ukwest"],"locationInfo":[{"location":"ukwest","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D12_v2","tier":"Standard","locations":["ukwest"],"locationInfo":[{"location":"ukwest","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D13_v2","tier":"Standard","locations":["ukwest"],"locationInfo":[{"location":"ukwest","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D14_v2","tier":"Standard","locations":["ukwest"],"locationInfo":[{"location":"ukwest","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+1TB_PS","tier":"Standard","locations":["ukwest"],"locationInfo":[{"location":"ukwest","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+2TB_PS","tier":"Standard","locations":["ukwest"],"locationInfo":[{"location":"ukwest","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+3TB_PS","tier":"Standard","locations":["ukwest"],"locationInfo":[{"location":"ukwest","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+4TB_PS","tier":"Standard","locations":["ukwest"],"locationInfo":[{"location":"ukwest","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Dev(No + SLA)_Standard_D11_v2","tier":"Basic","locations":["koreasouth"],"locationInfo":[{"location":"koreasouth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D11_v2","tier":"Standard","locations":["koreasouth"],"locationInfo":[{"location":"koreasouth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D12_v2","tier":"Standard","locations":["koreasouth"],"locationInfo":[{"location":"koreasouth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D13_v2","tier":"Standard","locations":["koreasouth"],"locationInfo":[{"location":"koreasouth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D14_v2","tier":"Standard","locations":["koreasouth"],"locationInfo":[{"location":"koreasouth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+1TB_PS","tier":"Standard","locations":["koreasouth"],"locationInfo":[{"location":"koreasouth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+2TB_PS","tier":"Standard","locations":["koreasouth"],"locationInfo":[{"location":"koreasouth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+3TB_PS","tier":"Standard","locations":["koreasouth"],"locationInfo":[{"location":"koreasouth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+4TB_PS","tier":"Standard","locations":["koreasouth"],"locationInfo":[{"location":"koreasouth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Dev(No + SLA)_Standard_D11_v2","tier":"Basic","locations":["francesouth"],"locationInfo":[{"location":"francesouth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D11_v2","tier":"Standard","locations":["francesouth"],"locationInfo":[{"location":"francesouth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D12_v2","tier":"Standard","locations":["francesouth"],"locationInfo":[{"location":"francesouth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D13_v2","tier":"Standard","locations":["francesouth"],"locationInfo":[{"location":"francesouth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D14_v2","tier":"Standard","locations":["francesouth"],"locationInfo":[{"location":"francesouth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Dev(No + SLA)_Standard_D11_v2","tier":"Basic","locations":["australiasoutheast"],"locationInfo":[{"location":"australiasoutheast","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D11_v2","tier":"Standard","locations":["australiasoutheast"],"locationInfo":[{"location":"australiasoutheast","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D12_v2","tier":"Standard","locations":["australiasoutheast"],"locationInfo":[{"location":"australiasoutheast","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D13_v2","tier":"Standard","locations":["australiasoutheast"],"locationInfo":[{"location":"australiasoutheast","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D14_v2","tier":"Standard","locations":["australiasoutheast"],"locationInfo":[{"location":"australiasoutheast","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+1TB_PS","tier":"Standard","locations":["australiasoutheast"],"locationInfo":[{"location":"australiasoutheast","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+2TB_PS","tier":"Standard","locations":["australiasoutheast"],"locationInfo":[{"location":"australiasoutheast","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+3TB_PS","tier":"Standard","locations":["australiasoutheast"],"locationInfo":[{"location":"australiasoutheast","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+4TB_PS","tier":"Standard","locations":["australiasoutheast"],"locationInfo":[{"location":"australiasoutheast","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Dev(No + SLA)_Standard_D11_v2","tier":"Basic","locations":["southafricanorth"],"locationInfo":[{"location":"southafricanorth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D11_v2","tier":"Standard","locations":["southafricanorth"],"locationInfo":[{"location":"southafricanorth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D12_v2","tier":"Standard","locations":["southafricanorth"],"locationInfo":[{"location":"southafricanorth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D13_v2","tier":"Standard","locations":["southafricanorth"],"locationInfo":[{"location":"southafricanorth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D14_v2","tier":"Standard","locations":["southafricanorth"],"locationInfo":[{"location":"southafricanorth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Dev(No + SLA)_Standard_D11_v2","tier":"Basic","locations":["southafricawest"],"locationInfo":[{"location":"southafricawest","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D11_v2","tier":"Standard","locations":["southafricawest"],"locationInfo":[{"location":"southafricawest","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D12_v2","tier":"Standard","locations":["southafricawest"],"locationInfo":[{"location":"southafricawest","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D13_v2","tier":"Standard","locations":["southafricawest"],"locationInfo":[{"location":"southafricawest","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D14_v2","tier":"Standard","locations":["southafricawest"],"locationInfo":[{"location":"southafricawest","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Dev(No + SLA)_Standard_D11_v2","tier":"Basic","locations":["australiacentral"],"locationInfo":[{"location":"australiacentral","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D11_v2","tier":"Standard","locations":["australiacentral"],"locationInfo":[{"location":"australiacentral","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D12_v2","tier":"Standard","locations":["australiacentral"],"locationInfo":[{"location":"australiacentral","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D13_v2","tier":"Standard","locations":["australiacentral"],"locationInfo":[{"location":"australiacentral","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D14_v2","tier":"Standard","locations":["australiacentral"],"locationInfo":[{"location":"australiacentral","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+1TB_PS","tier":"Standard","locations":["australiacentral"],"locationInfo":[{"location":"australiacentral","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+2TB_PS","tier":"Standard","locations":["australiacentral"],"locationInfo":[{"location":"australiacentral","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+3TB_PS","tier":"Standard","locations":["australiacentral"],"locationInfo":[{"location":"australiacentral","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+4TB_PS","tier":"Standard","locations":["australiacentral"],"locationInfo":[{"location":"australiacentral","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Dev(No + SLA)_Standard_D11_v2","tier":"Basic","locations":["switzerlandnorth"],"locationInfo":[{"location":"switzerlandnorth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D11_v2","tier":"Standard","locations":["switzerlandnorth"],"locationInfo":[{"location":"switzerlandnorth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D12_v2","tier":"Standard","locations":["switzerlandnorth"],"locationInfo":[{"location":"switzerlandnorth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D13_v2","tier":"Standard","locations":["switzerlandnorth"],"locationInfo":[{"location":"switzerlandnorth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D14_v2","tier":"Standard","locations":["switzerlandnorth"],"locationInfo":[{"location":"switzerlandnorth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+1TB_PS","tier":"Standard","locations":["switzerlandnorth"],"locationInfo":[{"location":"switzerlandnorth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+2TB_PS","tier":"Standard","locations":["switzerlandnorth"],"locationInfo":[{"location":"switzerlandnorth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+3TB_PS","tier":"Standard","locations":["switzerlandnorth"],"locationInfo":[{"location":"switzerlandnorth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+4TB_PS","tier":"Standard","locations":["switzerlandnorth"],"locationInfo":[{"location":"switzerlandnorth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Dev(No + SLA)_Standard_D11_v2","tier":"Basic","locations":["uaenorth"],"locationInfo":[{"location":"uaenorth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D11_v2","tier":"Standard","locations":["uaenorth"],"locationInfo":[{"location":"uaenorth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D12_v2","tier":"Standard","locations":["uaenorth"],"locationInfo":[{"location":"uaenorth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D13_v2","tier":"Standard","locations":["uaenorth"],"locationInfo":[{"location":"uaenorth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_D14_v2","tier":"Standard","locations":["uaenorth"],"locationInfo":[{"location":"uaenorth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+1TB_PS","tier":"Standard","locations":["uaenorth"],"locationInfo":[{"location":"uaenorth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS13_v2+2TB_PS","tier":"Standard","locations":["uaenorth"],"locationInfo":[{"location":"uaenorth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+3TB_PS","tier":"Standard","locations":["uaenorth"],"locationInfo":[{"location":"uaenorth","zones":[],"zoneDetails":[]}],"restrictions":[]},{"resourceType":"clusters","name":"Standard_DS14_v2+4TB_PS","tier":"Standard","locations":["uaenorth"],"locationInfo":[{"location":"uaenorth","zones":[],"zoneDetails":[]}],"restrictions":[]}]}' + headers: + cache-control: + - no-cache + content-length: + - '60499' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:40:54 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"location": "westus", "kind": "ReadWrite", "properties": {"softDeletePeriod": + "P1D"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto database create + Connection: + - keep-alive + Content-Length: + - '86' + Content-Type: + - application/json + ParameterSetName: + - --cluster-name --database-name --read-write-database --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/clusters/clitestcluster1/databases/KustoDatabase8?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/Clusters/clitestcluster1/Databases/KustoDatabase8","name":"clitestcluster1/KustoDatabase8","type":"Microsoft.Kusto/Clusters/Databases","etag":"\"\"","location":"westus","kind":"ReadWrite","properties":{"softDeletePeriod":"P1D","provisioningState":"Creating"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationResults/ce74dd85-6a29-4afc-9a45-730dc4063881?api-version=2020-02-15 + cache-control: + - no-cache + content-length: + - '435' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:40:56 GMT + etag: + - '""' + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=bf171968557f7483abc0913a42c0207b9017c552b91766911eca876583df224c;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '199' + x-powered-by: + - ASP.NET + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto database create + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --database-name --read-write-database --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationResults/ce74dd85-6a29-4afc-9a45-730dc4063881?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/westus/operationresults/ce74dd85-6a29-4afc-9a45-730dc4063881","name":"ce74dd85-6a29-4afc-9a45-730dc4063881","status":"Succeeded","startTime":"2020-04-26T14:40:57.2819996Z","endTime":"2020-04-26T14:40:59.0007528Z","percentComplete":1.0,"properties":{"OperationKind":"DatabaseCreate","RootActivityId":"175e0306-73bc-4dae-ac11-6ad2ab3c7174","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '466' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:41:26 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=68eda2333691511c17b2574619a79876611dd86be1c55aa848d58cf2408b7c02;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '299' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto database create + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --database-name --read-write-database --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/clusters/clitestcluster1/databases/KustoDatabase8?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/Clusters/clitestcluster1/Databases/KustoDatabase8","name":"clitestcluster1/KustoDatabase8","type":"Microsoft.Kusto/Clusters/Databases","etag":"\"\"","location":"West + US","kind":"ReadWrite","tags":{},"properties":{"isFollowed":false,"softDeletePeriodInDays":1,"softDeletePeriod":"P1D","hotCachePeriodInDays":0,"hotCachePeriod":null,"statistics":{"size":0.0},"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '566' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:41:27 GMT + etag: + - '""' + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=5e5ff28fa92b1291bfb4f40aa52246624376877d08d84d2a201c9bf6f1ffae6d;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '299' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto database list + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/clusters/clitestcluster1/databases?api-version=2020-02-15 + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/Clusters/clitestcluster1/Databases/KustoDatabase8","name":"clitestcluster1/KustoDatabase8","type":"Microsoft.Kusto/Clusters/Databases","etag":"\"\"","location":"West + US","kind":"ReadWrite","properties":{"isFollowed":false,"softDeletePeriodInDays":1,"softDeletePeriod":"P1D","hotCachePeriodInDays":0,"hotCachePeriod":null,"statistics":{"size":0.0},"provisioningState":"Succeeded"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '568' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:41:29 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=68eda2333691511c17b2574619a79876611dd86be1c55aa848d58cf2408b7c02;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '299' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto database show + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --database-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/clusters/clitestcluster1/databases/KustoDatabase8?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/Clusters/clitestcluster1/Databases/KustoDatabase8","name":"clitestcluster1/KustoDatabase8","type":"Microsoft.Kusto/Clusters/Databases","etag":"\"\"","location":"West + US","kind":"ReadWrite","tags":{},"properties":{"isFollowed":false,"softDeletePeriodInDays":1,"softDeletePeriod":"P1D","hotCachePeriodInDays":0,"hotCachePeriod":null,"statistics":{"size":0.0},"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '566' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:41:31 GMT + etag: + - '""' + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=5e5ff28fa92b1291bfb4f40aa52246624376877d08d84d2a201c9bf6f1ffae6d;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '299' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"kind": "ReadWrite", "properties": {"softDeletePeriod": "P1D"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto database update + Connection: + - keep-alive + Content-Length: + - '64' + Content-Type: + - application/json + ParameterSetName: + - --cluster-name --database-name --read-write-database --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/clusters/clitestcluster1/databases/KustoDatabase8?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/Clusters/clitestcluster1/Databases/KustoDatabase8","name":"clitestcluster1/KustoDatabase8","type":"Microsoft.Kusto/Clusters/Databases","etag":"\"\"","location":"West + US","kind":"ReadWrite","tags":{},"properties":{"softDeletePeriod":"P1D","provisioningState":"Accepted"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationResults/cb091126-c134-49eb-af0b-579fe6a6d285?api-version=2020-02-15 + cache-control: + - no-cache + content-length: + - '446' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:41:33 GMT + etag: + - '""' + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/cb091126-c134-49eb-af0b-579fe6a6d285?api-version=2020-02-15&operationResultResponseType=Location + pragma: + - no-cache + set-cookie: + - ARRAffinity=d29ec50e2353fd96ac8ed72619c1a2fb36a21ed6c3f22a5075cd2c606bb89829;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '199' + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto database update + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --database-name --read-write-database --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/cb091126-c134-49eb-af0b-579fe6a6d285?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/cb091126-c134-49eb-af0b-579fe6a6d285","name":"cb091126-c134-49eb-af0b-579fe6a6d285","status":"Succeeded","startTime":"2020-04-26T14:41:34.2460324Z","endTime":"2020-04-26T14:41:36.6376793Z","percentComplete":1.0,"properties":{"OperationKind":"DatabaseCreate","RootActivityId":"58958202-8da1-4028-8440-aaad800038bf","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '467' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:42:04 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=f977ea28325f4c100ed19c1a7ed6395c7554e0af5ce62499bbee5975165c7757;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '299' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto database update + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --database-name --read-write-database --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/clusters/clitestcluster1/databases/KustoDatabase8?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/Clusters/clitestcluster1/Databases/KustoDatabase8","name":"clitestcluster1/KustoDatabase8","type":"Microsoft.Kusto/Clusters/Databases","etag":"\"\"","location":"West + US","kind":"ReadWrite","tags":{},"properties":{"isFollowed":false,"softDeletePeriodInDays":1,"softDeletePeriod":"P1D","hotCachePeriodInDays":0,"hotCachePeriod":null,"statistics":{"size":0.0},"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '566' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:42:04 GMT + etag: + - '""' + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=68eda2333691511c17b2574619a79876611dd86be1c55aa848d58cf2408b7c02;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '299' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"properties": {"principalId": "d9a1f322-1293-4595-91e3-f54f8bb34725", + "role": "Admin", "tenantId": "33e01921-4d64-4f8c-a055-5bdaffd5e33d", "principalType": + "App"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto database-principal-assignment create + Connection: + - keep-alive + Content-Length: + - '164' + Content-Type: + - application/json + ParameterSetName: + - --cluster-name --database-name --principal-id --principal-type --role --tenant-id + --principal-assignment-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/clusters/clitestcluster1/databases/Kustodatabase8/principalAssignments/kustoprincipal1?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/Clusters/clitestcluster1/Databases/Kustodatabase8/PrincipalAssignments/kustoprincipal1","name":"clitestcluster1/Kustodatabase8/kustoprincipal1","type":"Microsoft.Kusto/Clusters/Databases/PrincipalAssignments","etag":"\"\"","properties":{"principalId":"d9a1f322-1293-4595-91e3-f54f8bb34725","role":"Admin","tenantId":"33e01921-4d64-4f8c-a055-5bdaffd5e33d","principalType":"App","provisioningState":"Creating"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationResults/4f27fac6-979e-460e-a903-6e82f39e1de5?api-version=2020-02-15 + cache-control: + - no-cache + content-length: + - '585' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:42:07 GMT + etag: + - '""' + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=5e5ff28fa92b1291bfb4f40aa52246624376877d08d84d2a201c9bf6f1ffae6d;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '199' + x-powered-by: + - ASP.NET + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto database-principal-assignment create + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --database-name --principal-id --principal-type --role --tenant-id + --principal-assignment-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/4f27fac6-979e-460e-a903-6e82f39e1de5?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/4f27fac6-979e-460e-a903-6e82f39e1de5","name":"4f27fac6-979e-460e-a903-6e82f39e1de5","status":"Succeeded","startTime":"2020-04-26T14:42:07.8283352Z","endTime":"2020-04-26T14:42:07.9845836Z","percentComplete":1.0,"properties":{"OperationKind":"DatabaseAddPrincipals","RootActivityId":"0dd674f5-e23a-4f02-a3e5-3d0b43406789","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '474' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:42:37 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=d29ec50e2353fd96ac8ed72619c1a2fb36a21ed6c3f22a5075cd2c606bb89829;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '299' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto database-principal-assignment create + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --database-name --principal-id --principal-type --role --tenant-id + --principal-assignment-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/clusters/clitestcluster1/databases/Kustodatabase8/principalAssignments/kustoprincipal1?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/Clusters/clitestcluster1/Databases/Kustodatabase8/PrincipalAssignments/kustoprincipal1","name":"clitestcluster1/Kustodatabase8/kustoprincipal1","type":"Microsoft.Kusto/Clusters/Databases/PrincipalAssignments","etag":"\"\"","tags":{},"properties":{"principalId":"d9a1f322-1293-4595-91e3-f54f8bb34725","role":"Admin","principalType":"App","tenantId":"33e01921-4d64-4f8c-a055-5bdaffd5e33d","tenantName":"MS + Azure Cloud","principalName":"KustoResourceProvider","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '666' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:42:37 GMT + etag: + - '""' + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=bf171968557f7483abc0913a42c0207b9017c552b91766911eca876583df224c;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '299' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto database-principal-assignment wait + Connection: + - keep-alive + ParameterSetName: + - --created --cluster-name --database-name --principal-assignment-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/clusters/clitestcluster1/databases/Kustodatabase8/principalAssignments/kustoprincipal1?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/Clusters/clitestcluster1/Databases/Kustodatabase8/PrincipalAssignments/kustoprincipal1","name":"clitestcluster1/Kustodatabase8/kustoprincipal1","type":"Microsoft.Kusto/Clusters/Databases/PrincipalAssignments","etag":"\"\"","tags":{},"properties":{"principalId":"d9a1f322-1293-4595-91e3-f54f8bb34725","role":"Admin","principalType":"App","tenantId":"33e01921-4d64-4f8c-a055-5bdaffd5e33d","tenantName":"MS + Azure Cloud","principalName":"KustoResourceProvider","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '666' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:42:40 GMT + etag: + - '""' + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=f977ea28325f4c100ed19c1a7ed6395c7554e0af5ce62499bbee5975165c7757;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '299' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto database list-principal + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --cluster-name --database-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/clusters/clitestcluster1/databases/Kustodatabase8/listPrincipals?api-version=2020-02-15 + response: + body: + string: '{"value":[{"name":"KustoResourceProvider","role":"Admin","type":"App","fqn":"aadapp=d9a1f322-1293-4595-91e3-f54f8bb34725;33e01921-4d64-4f8c-a055-5bdaffd5e33d","email":"","appId":"d9a1f322-1293-4595-91e3-f54f8bb34725","tenantName":"MS + Azure Cloud"},{"name":"Assaf Taubenfeld","role":"Admin","type":"User","fqn":"aaduser=53d8fc23-618e-49fa-ae3f-ae65cc60aa37;72f988bf-86f1-41af-91ab-2d7cd011db47","email":"astauben@microsoft.com","appId":"","tenantName":"Microsoft"}]}' + headers: + cache-control: + - no-cache + content-length: + - '465' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:42:42 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=322636332396dc9c2c583f1f95d6956f84718edf355825979649eda7bf94886e;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto database-principal-assignment show + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --database-name --principal-assignment-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/clusters/clitestcluster1/databases/Kustodatabase8/principalAssignments/kustoprincipal1?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/Clusters/clitestcluster1/Databases/Kustodatabase8/PrincipalAssignments/kustoprincipal1","name":"clitestcluster1/Kustodatabase8/kustoprincipal1","type":"Microsoft.Kusto/Clusters/Databases/PrincipalAssignments","etag":"\"\"","tags":{},"properties":{"principalId":"d9a1f322-1293-4595-91e3-f54f8bb34725","role":"Admin","principalType":"App","tenantId":"33e01921-4d64-4f8c-a055-5bdaffd5e33d","tenantName":"MS + Azure Cloud","principalName":"KustoResourceProvider","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '666' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:42:44 GMT + etag: + - '""' + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=f977ea28325f4c100ed19c1a7ed6395c7554e0af5ce62499bbee5975165c7757;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '299' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto database-principal-assignment delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --cluster-name --database-name --principal-assignment-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/clusters/clitestcluster1/databases/Kustodatabase8/principalAssignments/kustoprincipal1?api-version=2020-02-15 + response: + body: + string: '' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationResults/4c7c7ec0-cf10-4c22-852a-b0b9f7c37736?api-version=2020-02-15 + cache-control: + - no-cache + content-length: + - '0' + date: + - Sun, 26 Apr 2020 14:42:46 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/4c7c7ec0-cf10-4c22-852a-b0b9f7c37736?api-version=2020-02-15&operationResultResponseType=Location + pragma: + - no-cache + set-cookie: + - ARRAffinity=f977ea28325f4c100ed19c1a7ed6395c7554e0af5ce62499bbee5975165c7757;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto database-principal-assignment delete + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --database-name --principal-assignment-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/4c7c7ec0-cf10-4c22-852a-b0b9f7c37736?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/4c7c7ec0-cf10-4c22-852a-b0b9f7c37736","name":"4c7c7ec0-cf10-4c22-852a-b0b9f7c37736","status":"Succeeded","startTime":"2020-04-26T14:42:46.7078712Z","endTime":"2020-04-26T14:42:46.8484653Z","percentComplete":1.0,"properties":{"OperationKind":"DatabaseDropPrincipals","RootActivityId":"0ce88987-e4a2-4ccb-8c0f-36be5debd3bc","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '475' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:43:16 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=348d1e7264ad0063baa3036f92cd47d46e91963aabd2dc4d51adfdac15009271;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '299' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"properties": {"principalId": "d9a1f322-1293-4595-91e3-f54f8bb34725", + "role": "AllDatabasesViewer", "tenantId": "33e01921-4d64-4f8c-a055-5bdaffd5e33d", + "principalType": "App"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster-principal-assignment create + Connection: + - keep-alive + Content-Length: + - '177' + Content-Type: + - application/json + ParameterSetName: + - --cluster-name --principal-id --principal-type --role --tenant-id --principal-assignment-name + --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/clusters/clitestcluster1/principalAssignments/kustoprincipal1?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/Clusters/clitestcluster1/PrincipalAssignments/kustoprincipal1","name":"clitestcluster1/kustoprincipal1","type":"Microsoft.Kusto/Clusters/PrincipalAssignments","etag":"\"\"","properties":{"principalId":"d9a1f322-1293-4595-91e3-f54f8bb34725","role":"AllDatabasesViewer","tenantId":"33e01921-4d64-4f8c-a055-5bdaffd5e33d","principalType":"App","provisioningState":"Creating"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationResults/75ccf262-4034-433a-be79-fbe18d12cd7e?api-version=2020-02-15 + cache-control: + - no-cache + content-length: + - '548' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:43:19 GMT + etag: + - '""' + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=bf171968557f7483abc0913a42c0207b9017c552b91766911eca876583df224c;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '199' + x-powered-by: + - ASP.NET + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster-principal-assignment create + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --principal-id --principal-type --role --tenant-id --principal-assignment-name + --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/75ccf262-4034-433a-be79-fbe18d12cd7e?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/75ccf262-4034-433a-be79-fbe18d12cd7e","name":"75ccf262-4034-433a-be79-fbe18d12cd7e","status":"Succeeded","startTime":"2020-04-26T14:43:19.9996134Z","endTime":"2020-04-26T14:43:22.4373187Z","percentComplete":1.0,"properties":{"OperationKind":"ServicePrincipalAssignmentsAdd","RootActivityId":"7b48090d-0bda-477a-ba77-88eb91089971","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '483' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:43:49 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=f977ea28325f4c100ed19c1a7ed6395c7554e0af5ce62499bbee5975165c7757;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '299' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster-principal-assignment create + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --principal-id --principal-type --role --tenant-id --principal-assignment-name + --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/clusters/clitestcluster1/principalAssignments/kustoprincipal1?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/Clusters/clitestcluster1/PrincipalAssignments/kustoprincipal1","name":"clitestcluster1/kustoprincipal1","type":"Microsoft.Kusto/Clusters/PrincipalAssignments","etag":"\"\"","tags":{},"properties":{"principalId":"d9a1f322-1293-4595-91e3-f54f8bb34725","role":"AllDatabasesViewer","principalType":"App","tenantId":"33e01921-4d64-4f8c-a055-5bdaffd5e33d","tenantName":"MS + Azure Cloud","principalName":"KustoResourceProvider","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '629' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:43:50 GMT + etag: + - '""' + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=68eda2333691511c17b2574619a79876611dd86be1c55aa848d58cf2408b7c02;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '299' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster-principal-assignment wait + Connection: + - keep-alive + ParameterSetName: + - --created --principal-assignment-name --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/clusters/clitestcluster1/principalAssignments/kustoprincipal1?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/Clusters/clitestcluster1/PrincipalAssignments/kustoprincipal1","name":"clitestcluster1/kustoprincipal1","type":"Microsoft.Kusto/Clusters/PrincipalAssignments","etag":"\"\"","tags":{},"properties":{"principalId":"d9a1f322-1293-4595-91e3-f54f8bb34725","role":"AllDatabasesViewer","principalType":"App","tenantId":"33e01921-4d64-4f8c-a055-5bdaffd5e33d","tenantName":"MS + Azure Cloud","principalName":"KustoResourceProvider","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '629' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:43:52 GMT + etag: + - '""' + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=0b3e7bab7bc253429b01a84fcfe52f9eaf7487da416b1f2a0af2bf3349b35509;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '299' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster-principal-assignment show + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --principal-assignment-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/clusters/clitestcluster1/principalAssignments/kustoprincipal1?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/Clusters/clitestcluster1/PrincipalAssignments/kustoprincipal1","name":"clitestcluster1/kustoprincipal1","type":"Microsoft.Kusto/Clusters/PrincipalAssignments","etag":"\"\"","tags":{},"properties":{"principalId":"d9a1f322-1293-4595-91e3-f54f8bb34725","role":"AllDatabasesViewer","principalType":"App","tenantId":"33e01921-4d64-4f8c-a055-5bdaffd5e33d","tenantName":"MS + Azure Cloud","principalName":"KustoResourceProvider","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '629' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:43:54 GMT + etag: + - '""' + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=d29ec50e2353fd96ac8ed72619c1a2fb36a21ed6c3f22a5075cd2c606bb89829;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '299' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto database delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --cluster-name --database-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/clusters/clitestcluster1/databases/KustoDatabase8?api-version=2020-02-15 + response: + body: + string: '' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationResults/58a2ad21-df5f-470a-8150-76f38a0b6327?api-version=2020-02-15 + cache-control: + - no-cache + content-length: + - '0' + date: + - Sun, 26 Apr 2020 14:43:56 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/58a2ad21-df5f-470a-8150-76f38a0b6327?api-version=2020-02-15&operationResultResponseType=Location + pragma: + - no-cache + set-cookie: + - ARRAffinity=5e5ff28fa92b1291bfb4f40aa52246624376877d08d84d2a201c9bf6f1ffae6d;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto database delete + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --database-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/58a2ad21-df5f-470a-8150-76f38a0b6327?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/58a2ad21-df5f-470a-8150-76f38a0b6327","name":"58a2ad21-df5f-470a-8150-76f38a0b6327","status":"Succeeded","startTime":"2020-04-26T14:43:56.875914Z","endTime":"2020-04-26T14:44:02.1435944Z","percentComplete":1.0,"properties":{"OperationKind":"DatabaseDelete","RootActivityId":"7f220583-471c-41a2-849c-4599127f954b","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '466' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:44:27 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=be0e0d186a8dd7beec8fdedbe9912fb4fc8ea63ab4795c4847feb9495ca10dd5;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '286' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Kusto/clusters/clitestcluster1?api-version=2020-02-15 + response: + body: + string: '' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationResults/cbf5ecae-0d07-4240-87eb-0e1c6e7320a2?api-version=2020-02-15 + cache-control: + - no-cache + content-length: + - '0' + date: + - Sun, 26 Apr 2020 14:44:30 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/cbf5ecae-0d07-4240-87eb-0e1c6e7320a2?api-version=2020-02-15&operationResultResponseType=Location + pragma: + - no-cache + set-cookie: + - ARRAffinity=3e9a49b330654e4ac57f196a7fb95bb367210c5ce4e9c674a332fb882012a73e;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster delete + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/cbf5ecae-0d07-4240-87eb-0e1c6e7320a2?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/cbf5ecae-0d07-4240-87eb-0e1c6e7320a2","name":"cbf5ecae-0d07-4240-87eb-0e1c6e7320a2","status":"Running","startTime":"2020-04-26T14:44:30.4669341Z","endTime":"2020-04-26T14:44:31.2169563Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterDelete","RootActivityId":"b2ef3fc0-8651-4131-8d91-90eca8d6a9b3","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '462' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:44:59 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=5e5ff28fa92b1291bfb4f40aa52246624376877d08d84d2a201c9bf6f1ffae6d;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '299' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster delete + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/cbf5ecae-0d07-4240-87eb-0e1c6e7320a2?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/cbf5ecae-0d07-4240-87eb-0e1c6e7320a2","name":"cbf5ecae-0d07-4240-87eb-0e1c6e7320a2","status":"Running","startTime":"2020-04-26T14:44:30.4669341Z","endTime":"2020-04-26T14:44:31.2169563Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterDelete","RootActivityId":"b2ef3fc0-8651-4131-8d91-90eca8d6a9b3","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '462' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:45:30 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=348d1e7264ad0063baa3036f92cd47d46e91963aabd2dc4d51adfdac15009271;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '298' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster delete + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/cbf5ecae-0d07-4240-87eb-0e1c6e7320a2?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/cbf5ecae-0d07-4240-87eb-0e1c6e7320a2","name":"cbf5ecae-0d07-4240-87eb-0e1c6e7320a2","status":"Running","startTime":"2020-04-26T14:44:30.4669341Z","endTime":"2020-04-26T14:44:31.2169563Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterDelete","RootActivityId":"b2ef3fc0-8651-4131-8d91-90eca8d6a9b3","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '462' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:46:02 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=f977ea28325f4c100ed19c1a7ed6395c7554e0af5ce62499bbee5975165c7757;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '297' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster delete + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/cbf5ecae-0d07-4240-87eb-0e1c6e7320a2?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/cbf5ecae-0d07-4240-87eb-0e1c6e7320a2","name":"cbf5ecae-0d07-4240-87eb-0e1c6e7320a2","status":"Running","startTime":"2020-04-26T14:44:30.4669341Z","endTime":"2020-04-26T14:44:31.2169563Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterDelete","RootActivityId":"b2ef3fc0-8651-4131-8d91-90eca8d6a9b3","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '462' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:46:32 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=5e5ff28fa92b1291bfb4f40aa52246624376877d08d84d2a201c9bf6f1ffae6d;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '296' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster delete + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/cbf5ecae-0d07-4240-87eb-0e1c6e7320a2?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/cbf5ecae-0d07-4240-87eb-0e1c6e7320a2","name":"cbf5ecae-0d07-4240-87eb-0e1c6e7320a2","status":"Running","startTime":"2020-04-26T14:44:30.4669341Z","endTime":"2020-04-26T14:44:31.2169563Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterDelete","RootActivityId":"b2ef3fc0-8651-4131-8d91-90eca8d6a9b3","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '462' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:47:02 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=d29ec50e2353fd96ac8ed72619c1a2fb36a21ed6c3f22a5075cd2c606bb89829;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '295' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster delete + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/cbf5ecae-0d07-4240-87eb-0e1c6e7320a2?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/cbf5ecae-0d07-4240-87eb-0e1c6e7320a2","name":"cbf5ecae-0d07-4240-87eb-0e1c6e7320a2","status":"Running","startTime":"2020-04-26T14:44:30.4669341Z","endTime":"2020-04-26T14:44:31.2169563Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterDelete","RootActivityId":"b2ef3fc0-8651-4131-8d91-90eca8d6a9b3","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '462' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:47:34 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=348d1e7264ad0063baa3036f92cd47d46e91963aabd2dc4d51adfdac15009271;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '294' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster delete + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/cbf5ecae-0d07-4240-87eb-0e1c6e7320a2?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/cbf5ecae-0d07-4240-87eb-0e1c6e7320a2","name":"cbf5ecae-0d07-4240-87eb-0e1c6e7320a2","status":"Running","startTime":"2020-04-26T14:44:30.4669341Z","endTime":"2020-04-26T14:44:31.2169563Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterDelete","RootActivityId":"b2ef3fc0-8651-4131-8d91-90eca8d6a9b3","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '462' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:48:03 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=322636332396dc9c2c583f1f95d6956f84718edf355825979649eda7bf94886e;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '293' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster delete + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/cbf5ecae-0d07-4240-87eb-0e1c6e7320a2?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/cbf5ecae-0d07-4240-87eb-0e1c6e7320a2","name":"cbf5ecae-0d07-4240-87eb-0e1c6e7320a2","status":"Running","startTime":"2020-04-26T14:44:30.4669341Z","endTime":"2020-04-26T14:44:31.2169563Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterDelete","RootActivityId":"b2ef3fc0-8651-4131-8d91-90eca8d6a9b3","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '462' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:48:34 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=5e5ff28fa92b1291bfb4f40aa52246624376877d08d84d2a201c9bf6f1ffae6d;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '292' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster delete + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/cbf5ecae-0d07-4240-87eb-0e1c6e7320a2?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/cbf5ecae-0d07-4240-87eb-0e1c6e7320a2","name":"cbf5ecae-0d07-4240-87eb-0e1c6e7320a2","status":"Running","startTime":"2020-04-26T14:44:30.4669341Z","endTime":"2020-04-26T14:44:31.2169563Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterDelete","RootActivityId":"b2ef3fc0-8651-4131-8d91-90eca8d6a9b3","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '462' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:49:05 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=f977ea28325f4c100ed19c1a7ed6395c7554e0af5ce62499bbee5975165c7757;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '291' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster delete + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/cbf5ecae-0d07-4240-87eb-0e1c6e7320a2?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/cbf5ecae-0d07-4240-87eb-0e1c6e7320a2","name":"cbf5ecae-0d07-4240-87eb-0e1c6e7320a2","status":"Running","startTime":"2020-04-26T14:44:30.4669341Z","endTime":"2020-04-26T14:44:31.2169563Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterDelete","RootActivityId":"b2ef3fc0-8651-4131-8d91-90eca8d6a9b3","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '462' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:49:36 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=348d1e7264ad0063baa3036f92cd47d46e91963aabd2dc4d51adfdac15009271;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '290' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster delete + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/cbf5ecae-0d07-4240-87eb-0e1c6e7320a2?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/cbf5ecae-0d07-4240-87eb-0e1c6e7320a2","name":"cbf5ecae-0d07-4240-87eb-0e1c6e7320a2","status":"Running","startTime":"2020-04-26T14:44:30.4669341Z","endTime":"2020-04-26T14:44:31.2169563Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterDelete","RootActivityId":"b2ef3fc0-8651-4131-8d91-90eca8d6a9b3","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '462' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:50:05 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=d29ec50e2353fd96ac8ed72619c1a2fb36a21ed6c3f22a5075cd2c606bb89829;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '289' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster delete + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/cbf5ecae-0d07-4240-87eb-0e1c6e7320a2?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/cbf5ecae-0d07-4240-87eb-0e1c6e7320a2","name":"cbf5ecae-0d07-4240-87eb-0e1c6e7320a2","status":"Running","startTime":"2020-04-26T14:44:30.4669341Z","endTime":"2020-04-26T14:44:31.2169563Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterDelete","RootActivityId":"b2ef3fc0-8651-4131-8d91-90eca8d6a9b3","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '462' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:50:37 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=348d1e7264ad0063baa3036f92cd47d46e91963aabd2dc4d51adfdac15009271;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '288' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster delete + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/cbf5ecae-0d07-4240-87eb-0e1c6e7320a2?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/cbf5ecae-0d07-4240-87eb-0e1c6e7320a2","name":"cbf5ecae-0d07-4240-87eb-0e1c6e7320a2","status":"Running","startTime":"2020-04-26T14:44:30.4669341Z","endTime":"2020-04-26T14:44:31.2169563Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterDelete","RootActivityId":"b2ef3fc0-8651-4131-8d91-90eca8d6a9b3","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '462' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:51:07 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=be0e0d186a8dd7beec8fdedbe9912fb4fc8ea63ab4795c4847feb9495ca10dd5;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '287' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster delete + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/cbf5ecae-0d07-4240-87eb-0e1c6e7320a2?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/cbf5ecae-0d07-4240-87eb-0e1c6e7320a2","name":"cbf5ecae-0d07-4240-87eb-0e1c6e7320a2","status":"Running","startTime":"2020-04-26T14:44:30.4669341Z","endTime":"2020-04-26T14:44:31.2169563Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterDelete","RootActivityId":"b2ef3fc0-8651-4131-8d91-90eca8d6a9b3","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '462' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:51:37 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=bf171968557f7483abc0913a42c0207b9017c552b91766911eca876583df224c;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '286' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster delete + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/cbf5ecae-0d07-4240-87eb-0e1c6e7320a2?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/cbf5ecae-0d07-4240-87eb-0e1c6e7320a2","name":"cbf5ecae-0d07-4240-87eb-0e1c6e7320a2","status":"Running","startTime":"2020-04-26T14:44:30.4669341Z","endTime":"2020-04-26T14:44:31.2169563Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterDelete","RootActivityId":"b2ef3fc0-8651-4131-8d91-90eca8d6a9b3","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '462' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:52:09 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=f977ea28325f4c100ed19c1a7ed6395c7554e0af5ce62499bbee5975165c7757;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '285' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster delete + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/cbf5ecae-0d07-4240-87eb-0e1c6e7320a2?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/cbf5ecae-0d07-4240-87eb-0e1c6e7320a2","name":"cbf5ecae-0d07-4240-87eb-0e1c6e7320a2","status":"Running","startTime":"2020-04-26T14:44:30.4669341Z","endTime":"2020-04-26T14:44:31.2169563Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterDelete","RootActivityId":"b2ef3fc0-8651-4131-8d91-90eca8d6a9b3","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '462' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:52:38 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=348d1e7264ad0063baa3036f92cd47d46e91963aabd2dc4d51adfdac15009271;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '284' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster delete + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/cbf5ecae-0d07-4240-87eb-0e1c6e7320a2?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/cbf5ecae-0d07-4240-87eb-0e1c6e7320a2","name":"cbf5ecae-0d07-4240-87eb-0e1c6e7320a2","status":"Running","startTime":"2020-04-26T14:44:30.4669341Z","endTime":"2020-04-26T14:44:31.2169563Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterDelete","RootActivityId":"b2ef3fc0-8651-4131-8d91-90eca8d6a9b3","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '462' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:53:09 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=322636332396dc9c2c583f1f95d6956f84718edf355825979649eda7bf94886e;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '283' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster delete + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/cbf5ecae-0d07-4240-87eb-0e1c6e7320a2?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/cbf5ecae-0d07-4240-87eb-0e1c6e7320a2","name":"cbf5ecae-0d07-4240-87eb-0e1c6e7320a2","status":"Running","startTime":"2020-04-26T14:44:30.4669341Z","endTime":"2020-04-26T14:44:31.2169563Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterDelete","RootActivityId":"b2ef3fc0-8651-4131-8d91-90eca8d6a9b3","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '462' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:53:40 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=3e9a49b330654e4ac57f196a7fb95bb367210c5ce4e9c674a332fb882012a73e;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '282' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster delete + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/cbf5ecae-0d07-4240-87eb-0e1c6e7320a2?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/cbf5ecae-0d07-4240-87eb-0e1c6e7320a2","name":"cbf5ecae-0d07-4240-87eb-0e1c6e7320a2","status":"Running","startTime":"2020-04-26T14:44:30.4669341Z","endTime":"2020-04-26T14:44:31.2169563Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterDelete","RootActivityId":"b2ef3fc0-8651-4131-8d91-90eca8d6a9b3","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '462' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:54:11 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=68eda2333691511c17b2574619a79876611dd86be1c55aa848d58cf2408b7c02;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '281' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster delete + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/cbf5ecae-0d07-4240-87eb-0e1c6e7320a2?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/cbf5ecae-0d07-4240-87eb-0e1c6e7320a2","name":"cbf5ecae-0d07-4240-87eb-0e1c6e7320a2","status":"Running","startTime":"2020-04-26T14:44:30.4669341Z","endTime":"2020-04-26T14:44:31.2169563Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterDelete","RootActivityId":"b2ef3fc0-8651-4131-8d91-90eca8d6a9b3","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '462' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:54:41 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=be0e0d186a8dd7beec8fdedbe9912fb4fc8ea63ab4795c4847feb9495ca10dd5;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '280' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster delete + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/cbf5ecae-0d07-4240-87eb-0e1c6e7320a2?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/cbf5ecae-0d07-4240-87eb-0e1c6e7320a2","name":"cbf5ecae-0d07-4240-87eb-0e1c6e7320a2","status":"Running","startTime":"2020-04-26T14:44:30.4669341Z","endTime":"2020-04-26T14:44:31.2169563Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterDelete","RootActivityId":"b2ef3fc0-8651-4131-8d91-90eca8d6a9b3","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '462' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:55:12 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=0b3e7bab7bc253429b01a84fcfe52f9eaf7487da416b1f2a0af2bf3349b35509;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '289' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster delete + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/cbf5ecae-0d07-4240-87eb-0e1c6e7320a2?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/cbf5ecae-0d07-4240-87eb-0e1c6e7320a2","name":"cbf5ecae-0d07-4240-87eb-0e1c6e7320a2","status":"Running","startTime":"2020-04-26T14:44:30.4669341Z","endTime":"2020-04-26T14:44:31.2169563Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterDelete","RootActivityId":"b2ef3fc0-8651-4131-8d91-90eca8d6a9b3","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '462' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:55:42 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=f977ea28325f4c100ed19c1a7ed6395c7554e0af5ce62499bbee5975165c7757;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '288' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster delete + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/cbf5ecae-0d07-4240-87eb-0e1c6e7320a2?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/cbf5ecae-0d07-4240-87eb-0e1c6e7320a2","name":"cbf5ecae-0d07-4240-87eb-0e1c6e7320a2","status":"Running","startTime":"2020-04-26T14:44:30.4669341Z","endTime":"2020-04-26T14:44:31.2169563Z","percentComplete":0.5,"properties":{"OperationKind":"ClusterDelete","RootActivityId":"b2ef3fc0-8651-4131-8d91-90eca8d6a9b3","provisioningState":"Running"}}' + headers: + cache-control: + - no-cache + content-length: + - '462' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:56:12 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=348d1e7264ad0063baa3036f92cd47d46e91963aabd2dc4d51adfdac15009271;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '287' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - kusto cluster delete + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group + User-Agent: + - AZURECLI/2.4.0 azsdk-python-mgmt-kusto/0.1.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West%20US/operationResults/cbf5ecae-0d07-4240-87eb-0e1c6e7320a2?api-version=2020-02-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Kusto/locations/West + US/operationresults/cbf5ecae-0d07-4240-87eb-0e1c6e7320a2","name":"cbf5ecae-0d07-4240-87eb-0e1c6e7320a2","status":"Succeeded","startTime":"2020-04-26T14:44:30.4669341Z","endTime":"2020-04-26T14:56:24.5873744Z","percentComplete":1.0,"properties":{"OperationKind":"ClusterDelete","RootActivityId":"b2ef3fc0-8651-4131-8d91-90eca8d6a9b3","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '466' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 26 Apr 2020 14:56:44 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - ARRAffinity=348d1e7264ad0063baa3036f92cd47d46e91963aabd2dc4d51adfdac15009271;Path=/;HttpOnly;Domain=rp-kustorpwus-website.azurewebsites.net + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '286' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +version: 1 diff --git a/src/kusto/azext_kusto/tests/latest/test_kusto_scenario.py b/src/kusto/azext_kusto/tests/latest/test_kusto_scenario.py new file mode 100644 index 00000000000..4747812c0b2 --- /dev/null +++ b/src/kusto/azext_kusto/tests/latest/test_kusto_scenario.py @@ -0,0 +1,323 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import os +import unittest + +from azure_devtools.scenario_tests import AllowLargeResponse +from azure.cli.testsdk import ScenarioTest +from .. import try_manual +from azure.cli.testsdk import ResourceGroupPreparer + + +TEST_DIR = os.path.abspath(os.path.join(os.path.abspath(__file__), '..')) + + +@try_manual +def setup(test, rg): + pass + + +# EXAMPLE: kustoclusterscreateorupdate +@try_manual +def step_kustoclusterscreateorupdate(test, rg): + test.cmd('az kusto cluster create ' + '--cluster-name "{Clusters_3}" ' + '--identity-type "SystemAssigned" ' + '--location "westus" ' + '--enable-purge true ' + '--enable-streaming-ingest true ' + '--key-vault-properties key-name="" key-vault-uri="" key-version="" ' + '--sku name="Standard_L8s" capacity=2 tier="Standard" ' + '--resource-group "{rg}"', + checks=[]) + test.cmd('az kusto cluster wait --created ' + '--cluster-name "{Clusters_3}" ' + '--resource-group "{rg}"', + checks=[]) + + +# EXAMPLE: kustoclusterschecknameavailability +@try_manual +def step_kustoclusterschecknameavailability(test, rg): + # EXAMPLE NOT FOUND! + pass + + +# EXAMPLE: kustoclustersget +@try_manual +def step_kustoclustersget(test, rg): + test.cmd('az kusto cluster show ' + '--cluster-name "{Clusters_3}" ' + '--resource-group "{rg}"', + checks=[]) + + +# EXAMPLE: kustoclusterslist +@try_manual +def step_kustoclusterslist(test, rg): + test.cmd('az kusto cluster list', + checks=[]) + + +# EXAMPLE: kustoclusterslistbyresourcegroup +@try_manual +def step_kustoclusterslistbyresourcegroup(test, rg): + test.cmd('az kusto cluster list ' + '--resource-group "{rg}"', + checks=[]) + + +# EXAMPLE: kustoclustersstop +@try_manual +def step_kustoclustersstop(test, rg): + test.cmd('az kusto cluster stop ' + '--cluster-name "{Clusters_3}" ' + '--resource-group "{rg}"', + checks=[]) + + +# EXAMPLE: kustoclustersstart +@try_manual +def step_kustoclustersstart(test, rg): + test.cmd('az kusto cluster start ' + '--cluster-name "{Clusters_3}" ' + '--resource-group "{rg}"', + checks=[]) + + +# EXAMPLE: kustoclusterslistresourceskus +@try_manual +def step_kustoclusterslistresourceskus(test, rg): + test.cmd('az kusto cluster list-sku ' + '--cluster-name "{Clusters_3}" ' + '--resource-group "{rg}"', + checks=[]) + + +# EXAMPLE: kustoclusterslistskus +@try_manual +def step_kustoclusterslistskus(test, rg): + test.cmd('az kusto cluster list-sku', + checks=[]) + + +# EXAMPLE: kustodatabasescreateorupdate +@try_manual +def step_kustodatabasescreateorupdate(test, rg): + test.cmd('az kusto database create ' + '--cluster-name "{Clusters_3}" ' + '--database-name "KustoDatabase8" ' + '--read-write-database location="westus" soft-delete-period="P1D" ' + '--resource-group "{rg}"', + checks=[]) + + +# EXAMPLE: kustodatabasechecknameavailability +@try_manual +def step_kustodatabasechecknameavailability(test, rg): + # EXAMPLE NOT FOUND! + pass + + +# EXAMPLE: kustodatabaseslistbycluster +@try_manual +def step_kustodatabaseslistbycluster(test, rg): + test.cmd('az kusto database list ' + '--cluster-name "{Clusters_3}" ' + '--resource-group "{rg}"', + checks=[]) + + +# EXAMPLE: kustodatabasesget +@try_manual +def step_kustodatabasesget(test, rg): + test.cmd('az kusto database show ' + '--cluster-name "{Clusters_3}" ' + '--database-name "KustoDatabase8" ' + '--resource-group "{rg}"', + checks=[]) + + +# EXAMPLE: kustodatabasesupdate +@try_manual +def step_kustodatabasesupdate(test, rg): + test.cmd('az kusto database update ' + '--cluster-name "{Clusters_3}" ' + '--database-name "KustoDatabase8" ' + '--read-write-database soft-delete-period="P1D" ' + '--resource-group "{rg}"', + checks=[]) + + +# EXAMPLE: kustodatabaseprincipalassignmentscreateorupdate +@try_manual +def step_kustodatabaseprincipalassignmentscreateorupdate(test, rg): + test.cmd('az kusto database-principal-assignment create ' + '--cluster-name "{Clusters_3}" ' + '--database-name "Kustodatabase8" ' + '--principal-id "d9a1f322-1293-4595-91e3-f54f8bb34725" ' + '--principal-type "App" ' + '--role "Admin" ' + '--tenant-id "33e01921-4d64-4f8c-a055-5bdaffd5e33d" ' + '--principal-assignment-name "kustoprincipal1" ' + '--resource-group "{rg}"', + checks=[]) + test.cmd('az kusto database-principal-assignment wait --created ' + '--cluster-name "{Clusters_3}" ' + '--database-name "Kustodatabase8" ' + '--principal-assignment-name "kustoprincipal1" ' + '--resource-group "{rg}"', + checks=[]) + + +# EXAMPLE: kustodatabaselistprincipals +@try_manual +def step_kustodatabaselistprincipals(test, rg): + test.cmd('az kusto database list-principal ' + '--cluster-name "{Clusters_3}" ' + '--database-name "Kustodatabase8" ' + '--resource-group "{rg}"', + checks=[]) + + +# EXAMPLE: kustodatabaseprincipalassignmentsget +@try_manual +def step_kustodatabaseprincipalassignmentsget(test, rg): + test.cmd('az kusto database-principal-assignment show ' + '--cluster-name "{Clusters_3}" ' + '--database-name "Kustodatabase8" ' + '--principal-assignment-name "kustoprincipal1" ' + '--resource-group "{rg}"', + checks=[]) + + +# EXAMPLE: kustodatabaseprincipalassignmentsdelete +@try_manual +def step_kustodatabaseprincipalassignmentsdelete(test, rg): + test.cmd('az kusto database-principal-assignment delete ' + '--cluster-name "{Clusters_3}" ' + '--database-name "Kustodatabase8" ' + '--principal-assignment-name "kustoprincipal1" ' + '--resource-group "{rg}"', + checks=[]) + + +# EXAMPLE: kustoclusterprincipalassignmentscreateorupdate +@try_manual +def step_kustoclusterprincipalassignmentscreateorupdate(test, rg): + test.cmd('az kusto cluster-principal-assignment create ' + '--cluster-name "{Clusters_3}" ' + '--principal-id "d9a1f322-1293-4595-91e3-f54f8bb34725" ' + '--principal-type "App" ' + '--role "AllDatabasesViewer" ' + '--tenant-id "33e01921-4d64-4f8c-a055-5bdaffd5e33d" ' + '--principal-assignment-name "kustoprincipal1" ' + '--resource-group "{rg}"', + checks=[]) + test.cmd('az kusto cluster-principal-assignment wait --created ' + '--principal-assignment-name "kustoprincipal1" ' + '--cluster-name "{Clusters_3}" ' + '--resource-group "{rg}"', + checks=[]) + + +# EXAMPLE: kustoclusterprincipalassignmentsget +@try_manual +def step_kustoclusterprincipalassignmentsget(test, rg): + test.cmd('az kusto cluster-principal-assignment show ' + '--cluster-name "{Clusters_3}" ' + '--principal-assignment-name "kustoprincipal1" ' + '--resource-group "{rg}"', + checks=[]) + + +# EXAMPLE: kustooperationslist +@try_manual +def step_kustooperationslist(test, rg): + # EXAMPLE NOT FOUND! + pass + + +# EXAMPLE: kustodatabasesdelete +@try_manual +def step_kustodatabasesdelete(test, rg): + test.cmd('az kusto database delete ' + '--cluster-name "{Clusters_3}" ' + '--database-name "KustoDatabase8" ' + '--resource-group "{rg}"', + checks=[]) + + +# EXAMPLE: kustoclustersdelete +@try_manual +def step_kustoclustersdelete(test, rg): + test.cmd('az kusto cluster delete ' + '--cluster-name "{Clusters_3}" ' + '--resource-group "{rg}"', + checks=[]) + + +@try_manual +def cleanup(test, rg): + pass + + +@try_manual +def call_scenario(test, rg): + setup(test, rg) + step_kustoclusterscreateorupdate(test, rg) + step_kustoclusterschecknameavailability(test, rg) + step_kustoclustersget(test, rg) + step_kustoclusterslist(test, rg) + step_kustoclusterslistbyresourcegroup(test, rg) + step_kustoclustersstop(test, rg) + step_kustoclustersstart(test, rg) + step_kustoclusterslistresourceskus(test, rg) + step_kustoclusterslistskus(test, rg) + step_kustodatabasescreateorupdate(test, rg) + step_kustodatabasechecknameavailability(test, rg) + step_kustodatabaseslistbycluster(test, rg) + step_kustodatabasesget(test, rg) + step_kustodatabasesupdate(test, rg) + step_kustodatabaseprincipalassignmentscreateorupdate(test, rg) + step_kustodatabaselistprincipals(test, rg) + step_kustodatabaseprincipalassignmentsget(test, rg) + step_kustodatabaseprincipalassignmentsdelete(test, rg) + step_kustoclusterprincipalassignmentscreateorupdate(test, rg) + step_kustoclusterprincipalassignmentsget(test, rg) + step_kustooperationslist(test, rg) + step_kustodatabasesdelete(test, rg) + step_kustoclustersdelete(test, rg) + cleanup(test, rg) + + +@try_manual +class KustoManagementClientScenarioTest(ScenarioTest): + + @ResourceGroupPreparer(name_prefix='clitestkusto_kustorptest'[:7], key='rg', parameter_name='rg') + def test_kusto(self, rg): + + self.kwargs.update({ + 'subscription_id': self.get_subscription_id() + }) + + self.kwargs.update({ + 'Clusters_5': 'Clusters_5', + 'AttachedDatabaseConfigurations_3': 'AttachedDatabaseConfigurations_3', + 'leader4': 'leader4', + 'Clusters_2': 'testcli2', + 'Clusters_3': 'clitestcluster1', + 'Clusters_4': 'Clusters_4', + 'attachedDatabaseConfigurations_1': 'attachedDatabaseConfigurations2', + 'AttachedDatabaseConfigurations_2': 'AttachedDatabaseConfigurations_2', + }) + + call_scenario(self, rg) diff --git a/src/kusto/azext_kusto/vendored_sdks/__init__.py b/src/kusto/azext_kusto/vendored_sdks/__init__.py new file mode 100644 index 00000000000..ee0c4f36bd0 --- /dev/null +++ b/src/kusto/azext_kusto/vendored_sdks/__init__.py @@ -0,0 +1,12 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +__path__ = __import__('pkgutil').extend_path(__path__, __name__) diff --git a/src/kusto/azext_kusto/vendored_sdks/kusto/__init__.py b/src/kusto/azext_kusto/vendored_sdks/kusto/__init__.py new file mode 100644 index 00000000000..b4ef76736c1 --- /dev/null +++ b/src/kusto/azext_kusto/vendored_sdks/kusto/__init__.py @@ -0,0 +1,19 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._kusto_management_client import KustoManagementClient +from ._version import VERSION + +__version__ = VERSION +__all__ = ['KustoManagementClient'] + +try: + from .patch import patch_sdk + patch_sdk() +except ImportError: + pass diff --git a/src/kusto/azext_kusto/vendored_sdks/kusto/_configuration.py b/src/kusto/azext_kusto/vendored_sdks/kusto/_configuration.py new file mode 100644 index 00000000000..2e2c7a15d75 --- /dev/null +++ b/src/kusto/azext_kusto/vendored_sdks/kusto/_configuration.py @@ -0,0 +1,69 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import TYPE_CHECKING + +from azure.core.configuration import Configuration +from azure.core.pipeline import policies + +from ._version import VERSION + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any + + from azure.core.credentials import TokenCredential + + +class KustoManagementClientConfiguration(Configuration): + """Configuration for KustoManagementClient. + + Note that all parameters used to create this instance are saved as instance + attributes. + + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials.TokenCredential + :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 + """ + + def __init__( + self, + credential, # type: "TokenCredential" + subscription_id, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + if credential is None: + raise ValueError("Parameter 'credential' must not be None.") + if subscription_id is None: + raise ValueError("Parameter 'subscription_id' must not be None.") + super(KustoManagementClientConfiguration, self).__init__(**kwargs) + + self.credential = credential + self.subscription_id = subscription_id + self.api_version = "2020-02-15" + self.credential_scopes = ['https://management.azure.com/.default'] + kwargs.setdefault('sdk_moniker', 'mgmt-kusto/{}'.format(VERSION)) + self._configure(**kwargs) + + def _configure( + self, + **kwargs # type: Any + ): + # type: (...) -> None + self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get('retry_policy') or policies.RetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get('redirect_policy') or policies.RedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get('authentication_policy') + if self.credential and not self.authentication_policy: + self.authentication_policy = policies.BearerTokenCredentialPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/kusto/azext_kusto/vendored_sdks/kusto/_kusto_management_client.py b/src/kusto/azext_kusto/vendored_sdks/kusto/_kusto_management_client.py new file mode 100644 index 00000000000..ec0cbd5ae63 --- /dev/null +++ b/src/kusto/azext_kusto/vendored_sdks/kusto/_kusto_management_client.py @@ -0,0 +1,96 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import TYPE_CHECKING + +from azure.mgmt.core import ARMPipelineClient +from msrest import Deserializer, Serializer + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Optional + +from ._configuration import KustoManagementClientConfiguration +from .operations import ClusterOperations +from .operations import ClusterPrincipalAssignmentOperations +from .operations import DatabaseOperations +from .operations import DatabasePrincipalAssignmentOperations +from .operations import AttachedDatabaseConfigurationOperations +from .operations import DataConnectionOperations +from .operations import OperationOperations +from . import models + + +class KustoManagementClient(object): + """The Azure Kusto management API provides a RESTful set of web services that interact with Azure Kusto services to manage your clusters and databases. The API enables you to create, update, and delete clusters and databases. + + :ivar cluster: ClusterOperations operations + :vartype cluster: azure.mgmt.kusto.operations.ClusterOperations + :ivar cluster_principal_assignment: ClusterPrincipalAssignmentOperations operations + :vartype cluster_principal_assignment: azure.mgmt.kusto.operations.ClusterPrincipalAssignmentOperations + :ivar database: DatabaseOperations operations + :vartype database: azure.mgmt.kusto.operations.DatabaseOperations + :ivar database_principal_assignment: DatabasePrincipalAssignmentOperations operations + :vartype database_principal_assignment: azure.mgmt.kusto.operations.DatabasePrincipalAssignmentOperations + :ivar attached_database_configuration: AttachedDatabaseConfigurationOperations operations + :vartype attached_database_configuration: azure.mgmt.kusto.operations.AttachedDatabaseConfigurationOperations + :ivar data_connection: DataConnectionOperations operations + :vartype data_connection: azure.mgmt.kusto.operations.DataConnectionOperations + :ivar operation: OperationOperations operations + :vartype operation: azure.mgmt.kusto.operations.OperationOperations + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials.TokenCredential + :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 str base_url: Service URL + """ + + def __init__( + self, + credential, # type: "TokenCredential" + subscription_id, # type: str + base_url=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> None + if not base_url: + base_url = 'https://management.azure.com' + self._config = KustoManagementClientConfiguration(credential, subscription_id, **kwargs) + self._client = ARMPipelineClient(base_url=base_url, config=self._config, **kwargs) + + 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.cluster = ClusterOperations( + self._client, self._config, self._serialize, self._deserialize) + self.cluster_principal_assignment = ClusterPrincipalAssignmentOperations( + self._client, self._config, self._serialize, self._deserialize) + self.database = DatabaseOperations( + self._client, self._config, self._serialize, self._deserialize) + self.database_principal_assignment = DatabasePrincipalAssignmentOperations( + self._client, self._config, self._serialize, self._deserialize) + self.attached_database_configuration = AttachedDatabaseConfigurationOperations( + self._client, self._config, self._serialize, self._deserialize) + self.data_connection = DataConnectionOperations( + self._client, self._config, self._serialize, self._deserialize) + self.operation = OperationOperations( + self._client, self._config, self._serialize, self._deserialize) + + def close(self): + # type: () -> None + self._client.close() + + def __enter__(self): + # type: () -> KustoManagementClient + self._client.__enter__() + return self + + def __exit__(self, *exc_details): + # type: (Any) -> None + self._client.__exit__(*exc_details) diff --git a/src/kusto/azext_kusto/vendored_sdks/kusto/_version.py b/src/kusto/azext_kusto/vendored_sdks/kusto/_version.py new file mode 100644 index 00000000000..eae7c95b6fb --- /dev/null +++ b/src/kusto/azext_kusto/vendored_sdks/kusto/_version.py @@ -0,0 +1,9 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +VERSION = "0.1.0" diff --git a/src/kusto/azext_kusto/vendored_sdks/kusto/aio/__init__.py b/src/kusto/azext_kusto/vendored_sdks/kusto/aio/__init__.py new file mode 100644 index 00000000000..1fb64aee341 --- /dev/null +++ b/src/kusto/azext_kusto/vendored_sdks/kusto/aio/__init__.py @@ -0,0 +1,10 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._kusto_management_client_async import KustoManagementClient +__all__ = ['KustoManagementClient'] diff --git a/src/kusto/azext_kusto/vendored_sdks/kusto/aio/_configuration_async.py b/src/kusto/azext_kusto/vendored_sdks/kusto/aio/_configuration_async.py new file mode 100644 index 00000000000..e8322c1d173 --- /dev/null +++ b/src/kusto/azext_kusto/vendored_sdks/kusto/aio/_configuration_async.py @@ -0,0 +1,65 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import Any, TYPE_CHECKING + +from azure.core.configuration import Configuration +from azure.core.pipeline import policies + +from .._version import VERSION + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials import TokenCredential + + +class KustoManagementClientConfiguration(Configuration): + """Configuration for KustoManagementClient. + + Note that all parameters used to create this instance are saved as instance + attributes. + + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials_async.AsyncTokenCredential + :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 + """ + + def __init__( + self, + credential: "AsyncTokenCredential", + subscription_id: str, + **kwargs: Any + ) -> None: + if credential is None: + raise ValueError("Parameter 'credential' must not be None.") + if subscription_id is None: + raise ValueError("Parameter 'subscription_id' must not be None.") + super(KustoManagementClientConfiguration, self).__init__(**kwargs) + + self.credential = credential + self.subscription_id = subscription_id + self.api_version = "2020-02-15" + self.credential_scopes = ['https://management.azure.com/.default'] + kwargs.setdefault('sdk_moniker', 'mgmt-kusto/{}'.format(VERSION)) + self._configure(**kwargs) + + def _configure( + self, + **kwargs: Any + ) -> None: + self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get('retry_policy') or policies.AsyncRetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get('redirect_policy') or policies.AsyncRedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get('authentication_policy') + if self.credential and not self.authentication_policy: + self.authentication_policy = policies.AsyncBearerTokenCredentialPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/kusto/azext_kusto/vendored_sdks/kusto/aio/_kusto_management_client_async.py b/src/kusto/azext_kusto/vendored_sdks/kusto/aio/_kusto_management_client_async.py new file mode 100644 index 00000000000..15a0a57d813 --- /dev/null +++ b/src/kusto/azext_kusto/vendored_sdks/kusto/aio/_kusto_management_client_async.py @@ -0,0 +1,88 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import Any, Optional + +from azure.mgmt.core import AsyncARMPipelineClient +from msrest import Deserializer, Serializer + +from ._configuration_async import KustoManagementClientConfiguration +from .operations_async import ClusterOperations +from .operations_async import ClusterPrincipalAssignmentOperations +from .operations_async import DatabaseOperations +from .operations_async import DatabasePrincipalAssignmentOperations +from .operations_async import AttachedDatabaseConfigurationOperations +from .operations_async import DataConnectionOperations +from .operations_async import OperationOperations +from .. import models + + +class KustoManagementClient(object): + """The Azure Kusto management API provides a RESTful set of web services that interact with Azure Kusto services to manage your clusters and databases. The API enables you to create, update, and delete clusters and databases. + + :ivar cluster: ClusterOperations operations + :vartype cluster: azure.mgmt.kusto.aio.operations_async.ClusterOperations + :ivar cluster_principal_assignment: ClusterPrincipalAssignmentOperations operations + :vartype cluster_principal_assignment: azure.mgmt.kusto.aio.operations_async.ClusterPrincipalAssignmentOperations + :ivar database: DatabaseOperations operations + :vartype database: azure.mgmt.kusto.aio.operations_async.DatabaseOperations + :ivar database_principal_assignment: DatabasePrincipalAssignmentOperations operations + :vartype database_principal_assignment: azure.mgmt.kusto.aio.operations_async.DatabasePrincipalAssignmentOperations + :ivar attached_database_configuration: AttachedDatabaseConfigurationOperations operations + :vartype attached_database_configuration: azure.mgmt.kusto.aio.operations_async.AttachedDatabaseConfigurationOperations + :ivar data_connection: DataConnectionOperations operations + :vartype data_connection: azure.mgmt.kusto.aio.operations_async.DataConnectionOperations + :ivar operation: OperationOperations operations + :vartype operation: azure.mgmt.kusto.aio.operations_async.OperationOperations + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials_async.AsyncTokenCredential + :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 str base_url: Service URL + """ + + def __init__( + self, + credential: "AsyncTokenCredential", + subscription_id: str, + base_url: Optional[str] = None, + **kwargs: Any + ) -> None: + if not base_url: + base_url = 'https://management.azure.com' + self._config = KustoManagementClientConfiguration(credential, subscription_id, **kwargs) + self._client = AsyncARMPipelineClient(base_url=base_url, config=self._config, **kwargs) + + 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.cluster = ClusterOperations( + self._client, self._config, self._serialize, self._deserialize) + self.cluster_principal_assignment = ClusterPrincipalAssignmentOperations( + self._client, self._config, self._serialize, self._deserialize) + self.database = DatabaseOperations( + self._client, self._config, self._serialize, self._deserialize) + self.database_principal_assignment = DatabasePrincipalAssignmentOperations( + self._client, self._config, self._serialize, self._deserialize) + self.attached_database_configuration = AttachedDatabaseConfigurationOperations( + self._client, self._config, self._serialize, self._deserialize) + self.data_connection = DataConnectionOperations( + self._client, self._config, self._serialize, self._deserialize) + self.operation = OperationOperations( + self._client, self._config, self._serialize, self._deserialize) + + async def close(self) -> None: + await self._client.close() + + async def __aenter__(self) -> "KustoManagementClient": + await self._client.__aenter__() + return self + + async def __aexit__(self, *exc_details) -> None: + await self._client.__aexit__(*exc_details) diff --git a/src/kusto/azext_kusto/vendored_sdks/kusto/aio/operations_async/__init__.py b/src/kusto/azext_kusto/vendored_sdks/kusto/aio/operations_async/__init__.py new file mode 100644 index 00000000000..e173d033126 --- /dev/null +++ b/src/kusto/azext_kusto/vendored_sdks/kusto/aio/operations_async/__init__.py @@ -0,0 +1,25 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._cluster_operations_async import ClusterOperations +from ._cluster_principal_assignment_operations_async import ClusterPrincipalAssignmentOperations +from ._database_operations_async import DatabaseOperations +from ._database_principal_assignment_operations_async import DatabasePrincipalAssignmentOperations +from ._attached_database_configuration_operations_async import AttachedDatabaseConfigurationOperations +from ._data_connection_operations_async import DataConnectionOperations +from ._operation_operations_async import OperationOperations + +__all__ = [ + 'ClusterOperations', + 'ClusterPrincipalAssignmentOperations', + 'DatabaseOperations', + 'DatabasePrincipalAssignmentOperations', + 'AttachedDatabaseConfigurationOperations', + 'DataConnectionOperations', + 'OperationOperations', +] diff --git a/src/kusto/azext_kusto/vendored_sdks/kusto/aio/operations_async/_attached_database_configuration_operations_async.py b/src/kusto/azext_kusto/vendored_sdks/kusto/aio/operations_async/_attached_database_configuration_operations_async.py new file mode 100644 index 00000000000..cb1fd41a1b2 --- /dev/null +++ b/src/kusto/azext_kusto/vendored_sdks/kusto/aio/operations_async/_attached_database_configuration_operations_async.py @@ -0,0 +1,398 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.polling import AsyncNoPolling, AsyncPollingMethod, async_poller +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class AttachedDatabaseConfigurationOperations: + """AttachedDatabaseConfigurationOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kusto.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list_by_cluster( + self, + resource_group_name: str, + cluster_name: str, + **kwargs + ) -> "models.AttachedDatabaseConfigurationListResult": + """Returns the list of attached database configurations of the given Kusto cluster. + + :param resource_group_name: The name of the resource group containing the Kusto cluster. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: AttachedDatabaseConfigurationListResult or the result of cls(response) + :rtype: ~azure.mgmt.kusto.models.AttachedDatabaseConfigurationListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.AttachedDatabaseConfigurationListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-02-15" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_cluster.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('AttachedDatabaseConfigurationListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_by_cluster.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/attachedDatabaseConfigurations'} + + async def get( + self, + resource_group_name: str, + cluster_name: str, + attached_database_configuration_name: str, + **kwargs + ) -> "models.AttachedDatabaseConfiguration": + """Returns an attached database configuration. + + :param resource_group_name: The name of the resource group containing the Kusto cluster. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. + :type cluster_name: str + :param attached_database_configuration_name: The name of the attached database configuration. + :type attached_database_configuration_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: AttachedDatabaseConfiguration or the result of cls(response) + :rtype: ~azure.mgmt.kusto.models.AttachedDatabaseConfiguration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.AttachedDatabaseConfiguration"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-02-15" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'attachedDatabaseConfigurationName': self._serialize.url("attached_database_configuration_name", attached_database_configuration_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('AttachedDatabaseConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/attachedDatabaseConfigurations/{attachedDatabaseConfigurationName}'} + + async def _create_or_update_initial( + self, + resource_group_name: str, + cluster_name: str, + attached_database_configuration_name: str, + location: Optional[str] = None, + database_name: Optional[str] = None, + cluster_resource_id: Optional[str] = None, + default_principals_modification_kind: Optional[Union[str, "models.DefaultPrincipalsModificationKind"]] = None, + **kwargs + ) -> "models.AttachedDatabaseConfiguration": + cls = kwargs.pop('cls', None) # type: ClsType["models.AttachedDatabaseConfiguration"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _parameters = models.AttachedDatabaseConfiguration(location=location, database_name=database_name, cluster_resource_id=cluster_resource_id, default_principals_modification_kind=default_principals_modification_kind) + api_version = "2020-02-15" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self._create_or_update_initial.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'attachedDatabaseConfigurationName': self._serialize.url("attached_database_configuration_name", attached_database_configuration_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_parameters, 'AttachedDatabaseConfiguration') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('AttachedDatabaseConfiguration', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('AttachedDatabaseConfiguration', pipeline_response) + + if response.status_code == 202: + deserialized = self._deserialize('AttachedDatabaseConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/attachedDatabaseConfigurations/{attachedDatabaseConfigurationName}'} + + async def create_or_update( + self, + resource_group_name: str, + cluster_name: str, + attached_database_configuration_name: str, + location: Optional[str] = None, + database_name: Optional[str] = None, + cluster_resource_id: Optional[str] = None, + default_principals_modification_kind: Optional[Union[str, "models.DefaultPrincipalsModificationKind"]] = None, + **kwargs + ) -> "models.AttachedDatabaseConfiguration": + """Creates or updates an attached database configuration. + + :param resource_group_name: The name of the resource group containing the Kusto cluster. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. + :type cluster_name: str + :param attached_database_configuration_name: The name of the attached database configuration. + :type attached_database_configuration_name: str + :param location: Resource location. + :type location: str + :param database_name: The name of the database which you would like to attach, use * if you + want to follow all current and future databases. + :type database_name: str + :param cluster_resource_id: The resource id of the cluster where the databases you would like + to attach reside. + :type cluster_resource_id: str + :param default_principals_modification_kind: The default principals modification kind. + :type default_principals_modification_kind: str or ~azure.mgmt.kusto.models.DefaultPrincipalsModificationKind + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :return: An instance of LROPoller that returns AttachedDatabaseConfiguration + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.kusto.models.AttachedDatabaseConfiguration] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.AttachedDatabaseConfiguration"] + raw_result = await self._create_or_update_initial( + resource_group_name=resource_group_name, + cluster_name=cluster_name, + attached_database_configuration_name=attached_database_configuration_name, + location=location, + database_name=database_name, + cluster_resource_id=cluster_resource_id, + default_principals_modification_kind=default_principals_modification_kind, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('AttachedDatabaseConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + return await async_poller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/attachedDatabaseConfigurations/{attachedDatabaseConfigurationName}'} + + async def _delete_initial( + self, + resource_group_name: str, + cluster_name: str, + attached_database_configuration_name: str, + **kwargs + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-02-15" + + # Construct URL + url = self._delete_initial.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'attachedDatabaseConfigurationName': self._serialize.url("attached_database_configuration_name", attached_database_configuration_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/attachedDatabaseConfigurations/{attachedDatabaseConfigurationName}'} + + async def delete( + self, + resource_group_name: str, + cluster_name: str, + attached_database_configuration_name: str, + **kwargs + ) -> None: + """Deletes the attached database configuration with the given name. + + :param resource_group_name: The name of the resource group containing the Kusto cluster. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. + :type cluster_name: str + :param attached_database_configuration_name: The name of the attached database configuration. + :type attached_database_configuration_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :return: An instance of LROPoller that returns None + :rtype: ~azure.core.polling.LROPoller[None] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + raw_result = await self._delete_initial( + resource_group_name=resource_group_name, + cluster_name=cluster_name, + attached_database_configuration_name=attached_database_configuration_name, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + return await async_poller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/attachedDatabaseConfigurations/{attachedDatabaseConfigurationName}'} diff --git a/src/kusto/azext_kusto/vendored_sdks/kusto/aio/operations_async/_cluster_operations_async.py b/src/kusto/azext_kusto/vendored_sdks/kusto/aio/operations_async/_cluster_operations_async.py new file mode 100644 index 00000000000..4df01ed2005 --- /dev/null +++ b/src/kusto/azext_kusto/vendored_sdks/kusto/aio/operations_async/_cluster_operations_async.py @@ -0,0 +1,1561 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, List, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.polling import AsyncNoPolling, AsyncPollingMethod, async_poller +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class ClusterOperations: + """ClusterOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kusto.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + async def get( + self, + resource_group_name: str, + cluster_name: str, + **kwargs + ) -> "models.Cluster": + """Gets a Kusto cluster. + + :param resource_group_name: The name of the resource group containing the Kusto cluster. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Cluster or the result of cls(response) + :rtype: ~azure.mgmt.kusto.models.Cluster + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.Cluster"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-02-15" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('Cluster', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}'} + + async def _create_or_update_initial( + self, + resource_group_name: str, + cluster_name: str, + location: str, + sku: "models.AzureSku", + tags: Optional[Dict[str, str]] = None, + zones: Optional[List[str]] = None, + trusted_external_tenants: Optional[List["TrustedExternalTenant"]] = None, + optimized_autoscale: Optional["models.OptimizedAutoscale"] = None, + enable_disk_encryption: Optional[bool] = None, + enable_streaming_ingest: Optional[bool] = False, + virtual_network_configuration: Optional["models.VirtualNetworkConfiguration"] = None, + key_vault_properties: Optional["models.KeyVaultProperties"] = None, + enable_purge: Optional[bool] = False, + value: Optional[List["LanguageExtension"]] = None, + type: Optional[Union[str, "models.IdentityType"]] = None, + user_assigned_identities: Optional[Dict[str, "ComponentsSgqdofSchemasIdentityPropertiesUserassignedidentitiesAdditionalproperties"]] = None, + **kwargs + ) -> "models.Cluster": + cls = kwargs.pop('cls', None) # type: ClsType["models.Cluster"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _parameters = models.Cluster(tags=tags, location=location, sku=sku, zones=zones, trusted_external_tenants=trusted_external_tenants, optimized_autoscale=optimized_autoscale, enable_disk_encryption=enable_disk_encryption, enable_streaming_ingest=enable_streaming_ingest, virtual_network_configuration=virtual_network_configuration, key_vault_properties=key_vault_properties, enable_purge=enable_purge, value=value, type_identity_type=type, user_assigned_identities=user_assigned_identities) + api_version = "2020-02-15" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self._create_or_update_initial.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_parameters, 'Cluster') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('Cluster', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('Cluster', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}'} + + async def create_or_update( + self, + resource_group_name: str, + cluster_name: str, + location: str, + sku: "models.AzureSku", + tags: Optional[Dict[str, str]] = None, + zones: Optional[List[str]] = None, + trusted_external_tenants: Optional[List["TrustedExternalTenant"]] = None, + optimized_autoscale: Optional["models.OptimizedAutoscale"] = None, + enable_disk_encryption: Optional[bool] = None, + enable_streaming_ingest: Optional[bool] = False, + virtual_network_configuration: Optional["models.VirtualNetworkConfiguration"] = None, + key_vault_properties: Optional["models.KeyVaultProperties"] = None, + enable_purge: Optional[bool] = False, + value: Optional[List["LanguageExtension"]] = None, + type: Optional[Union[str, "models.IdentityType"]] = None, + user_assigned_identities: Optional[Dict[str, "ComponentsSgqdofSchemasIdentityPropertiesUserassignedidentitiesAdditionalproperties"]] = None, + **kwargs + ) -> "models.Cluster": + """Create or update a Kusto cluster. + + :param resource_group_name: The name of the resource group containing the Kusto cluster. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. + :type cluster_name: str + :param location: The geo-location where the resource lives. + :type location: str + :param sku: The SKU of the cluster. + :type sku: ~azure.mgmt.kusto.models.AzureSku + :param tags: Resource tags. + :type tags: dict[str, str] + :param zones: The availability zones of the cluster. + :type zones: list[str] + :param trusted_external_tenants: The cluster's external tenants. + :type trusted_external_tenants: list[~azure.mgmt.kusto.models.TrustedExternalTenant] + :param optimized_autoscale: Optimized auto scale definition. + :type optimized_autoscale: ~azure.mgmt.kusto.models.OptimizedAutoscale + :param enable_disk_encryption: A boolean value that indicates if the cluster's disks are + encrypted. + :type enable_disk_encryption: bool + :param enable_streaming_ingest: A boolean value that indicates if the streaming ingest is + enabled. + :type enable_streaming_ingest: bool + :param virtual_network_configuration: Virtual network definition. + :type virtual_network_configuration: ~azure.mgmt.kusto.models.VirtualNetworkConfiguration + :param key_vault_properties: KeyVault properties for the cluster encryption. + :type key_vault_properties: ~azure.mgmt.kusto.models.KeyVaultProperties + :param enable_purge: A boolean value that indicates if the purge operations are enabled. + :type enable_purge: bool + :param value: The list of language extensions. + :type value: list[~azure.mgmt.kusto.models.LanguageExtension] + :param type: The identity type. + :type type: str or ~azure.mgmt.kusto.models.IdentityType + :param user_assigned_identities: The list of user identities associated with the Kusto cluster. + The user identity dictionary key references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + :type user_assigned_identities: dict[str, ~azure.mgmt.kusto.models.ComponentsSgqdofSchemasIdentityPropertiesUserassignedidentitiesAdditionalproperties] + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :return: An instance of LROPoller that returns Cluster + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.kusto.models.Cluster] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.Cluster"] + raw_result = await self._create_or_update_initial( + resource_group_name=resource_group_name, + cluster_name=cluster_name, + location=location, + sku=sku, + tags=tags, + zones=zones, + trusted_external_tenants=trusted_external_tenants, + optimized_autoscale=optimized_autoscale, + enable_disk_encryption=enable_disk_encryption, + enable_streaming_ingest=enable_streaming_ingest, + virtual_network_configuration=virtual_network_configuration, + key_vault_properties=key_vault_properties, + enable_purge=enable_purge, + value=value, + type=type, + user_assigned_identities=user_assigned_identities, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('Cluster', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + return await async_poller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}'} + + async def _update_initial( + self, + resource_group_name: str, + cluster_name: str, + tags: Optional[Dict[str, str]] = None, + location: Optional[str] = None, + sku: Optional["models.AzureSku"] = None, + trusted_external_tenants: Optional[List["TrustedExternalTenant"]] = None, + optimized_autoscale: Optional["models.OptimizedAutoscale"] = None, + enable_disk_encryption: Optional[bool] = None, + enable_streaming_ingest: Optional[bool] = False, + virtual_network_configuration: Optional["models.VirtualNetworkConfiguration"] = None, + key_vault_properties: Optional["models.KeyVaultProperties"] = None, + enable_purge: Optional[bool] = False, + value: Optional[List["LanguageExtension"]] = None, + type: Optional[Union[str, "models.IdentityType"]] = None, + user_assigned_identities: Optional[Dict[str, "ComponentsSgqdofSchemasIdentityPropertiesUserassignedidentitiesAdditionalproperties"]] = None, + **kwargs + ) -> "models.Cluster": + cls = kwargs.pop('cls', None) # type: ClsType["models.Cluster"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _parameters = models.ClusterUpdate(tags=tags, location=location, sku=sku, trusted_external_tenants=trusted_external_tenants, optimized_autoscale=optimized_autoscale, enable_disk_encryption=enable_disk_encryption, enable_streaming_ingest=enable_streaming_ingest, virtual_network_configuration=virtual_network_configuration, key_vault_properties=key_vault_properties, enable_purge=enable_purge, value=value, type_identity_type=type, user_assigned_identities=user_assigned_identities) + api_version = "2020-02-15" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self._update_initial.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_parameters, 'ClusterUpdate') + body_content_kwargs['content'] = body_content + request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('Cluster', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('Cluster', pipeline_response) + + if response.status_code == 202: + deserialized = self._deserialize('Cluster', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}'} + + async def update( + self, + resource_group_name: str, + cluster_name: str, + tags: Optional[Dict[str, str]] = None, + location: Optional[str] = None, + sku: Optional["models.AzureSku"] = None, + trusted_external_tenants: Optional[List["TrustedExternalTenant"]] = None, + optimized_autoscale: Optional["models.OptimizedAutoscale"] = None, + enable_disk_encryption: Optional[bool] = None, + enable_streaming_ingest: Optional[bool] = False, + virtual_network_configuration: Optional["models.VirtualNetworkConfiguration"] = None, + key_vault_properties: Optional["models.KeyVaultProperties"] = None, + enable_purge: Optional[bool] = False, + value: Optional[List["LanguageExtension"]] = None, + type: Optional[Union[str, "models.IdentityType"]] = None, + user_assigned_identities: Optional[Dict[str, "ComponentsSgqdofSchemasIdentityPropertiesUserassignedidentitiesAdditionalproperties"]] = None, + **kwargs + ) -> "models.Cluster": + """Update a Kusto cluster. + + :param resource_group_name: The name of the resource group containing the Kusto cluster. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. + :type cluster_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param location: Resource location. + :type location: str + :param sku: The SKU of the cluster. + :type sku: ~azure.mgmt.kusto.models.AzureSku + :param trusted_external_tenants: The cluster's external tenants. + :type trusted_external_tenants: list[~azure.mgmt.kusto.models.TrustedExternalTenant] + :param optimized_autoscale: Optimized auto scale definition. + :type optimized_autoscale: ~azure.mgmt.kusto.models.OptimizedAutoscale + :param enable_disk_encryption: A boolean value that indicates if the cluster's disks are + encrypted. + :type enable_disk_encryption: bool + :param enable_streaming_ingest: A boolean value that indicates if the streaming ingest is + enabled. + :type enable_streaming_ingest: bool + :param virtual_network_configuration: Virtual network definition. + :type virtual_network_configuration: ~azure.mgmt.kusto.models.VirtualNetworkConfiguration + :param key_vault_properties: KeyVault properties for the cluster encryption. + :type key_vault_properties: ~azure.mgmt.kusto.models.KeyVaultProperties + :param enable_purge: A boolean value that indicates if the purge operations are enabled. + :type enable_purge: bool + :param value: The list of language extensions. + :type value: list[~azure.mgmt.kusto.models.LanguageExtension] + :param type: The identity type. + :type type: str or ~azure.mgmt.kusto.models.IdentityType + :param user_assigned_identities: The list of user identities associated with the Kusto cluster. + The user identity dictionary key references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + :type user_assigned_identities: dict[str, ~azure.mgmt.kusto.models.ComponentsSgqdofSchemasIdentityPropertiesUserassignedidentitiesAdditionalproperties] + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :return: An instance of LROPoller that returns Cluster + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.kusto.models.Cluster] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.Cluster"] + raw_result = await self._update_initial( + resource_group_name=resource_group_name, + cluster_name=cluster_name, + tags=tags, + location=location, + sku=sku, + trusted_external_tenants=trusted_external_tenants, + optimized_autoscale=optimized_autoscale, + enable_disk_encryption=enable_disk_encryption, + enable_streaming_ingest=enable_streaming_ingest, + virtual_network_configuration=virtual_network_configuration, + key_vault_properties=key_vault_properties, + enable_purge=enable_purge, + value=value, + type=type, + user_assigned_identities=user_assigned_identities, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('Cluster', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + return await async_poller(self._client, raw_result, get_long_running_output, polling_method) + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}'} + + async def _delete_initial( + self, + resource_group_name: str, + cluster_name: str, + **kwargs + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-02-15" + + # Construct URL + url = self._delete_initial.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}'} + + async def delete( + self, + resource_group_name: str, + cluster_name: str, + **kwargs + ) -> None: + """Deletes a Kusto cluster. + + :param resource_group_name: The name of the resource group containing the Kusto cluster. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :return: An instance of LROPoller that returns None + :rtype: ~azure.core.polling.LROPoller[None] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + raw_result = await self._delete_initial( + resource_group_name=resource_group_name, + cluster_name=cluster_name, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + return await async_poller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}'} + + async def _stop_initial( + self, + resource_group_name: str, + cluster_name: str, + **kwargs + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-02-15" + + # Construct URL + url = self._stop_initial.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _stop_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/stop'} + + async def stop( + self, + resource_group_name: str, + cluster_name: str, + **kwargs + ) -> None: + """Stops a Kusto cluster. + + :param resource_group_name: The name of the resource group containing the Kusto cluster. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :return: An instance of LROPoller that returns None + :rtype: ~azure.core.polling.LROPoller[None] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + raw_result = await self._stop_initial( + resource_group_name=resource_group_name, + cluster_name=cluster_name, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + return await async_poller(self._client, raw_result, get_long_running_output, polling_method) + stop.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/stop'} + + async def _start_initial( + self, + resource_group_name: str, + cluster_name: str, + **kwargs + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-02-15" + + # Construct URL + url = self._start_initial.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _start_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/start'} + + async def start( + self, + resource_group_name: str, + cluster_name: str, + **kwargs + ) -> None: + """Starts a Kusto cluster. + + :param resource_group_name: The name of the resource group containing the Kusto cluster. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :return: An instance of LROPoller that returns None + :rtype: ~azure.core.polling.LROPoller[None] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + raw_result = await self._start_initial( + resource_group_name=resource_group_name, + cluster_name=cluster_name, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + return await async_poller(self._client, raw_result, get_long_running_output, polling_method) + start.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/start'} + + def list_follower_database( + self, + resource_group_name: str, + cluster_name: str, + **kwargs + ) -> "models.FollowerDatabaseListResult": + """Returns a list of databases that are owned by this cluster and were followed by another cluster. + + :param resource_group_name: The name of the resource group containing the Kusto cluster. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: FollowerDatabaseListResult or the result of cls(response) + :rtype: ~azure.mgmt.kusto.models.FollowerDatabaseListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.FollowerDatabaseListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-02-15" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_follower_database.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('FollowerDatabaseListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_follower_database.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/listFollowerDatabases'} + + async def _detach_follower_database_initial( + self, + resource_group_name: str, + cluster_name: str, + cluster_resource_id: str, + attached_database_configuration_name: str, + **kwargs + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _follower_database_to_remove = models.FollowerDatabaseDefinition(cluster_resource_id=cluster_resource_id, attached_database_configuration_name=attached_database_configuration_name) + api_version = "2020-02-15" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self._detach_follower_database_initial.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_follower_database_to_remove, 'FollowerDatabaseDefinition') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _detach_follower_database_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/detachFollowerDatabases'} + + async def detach_follower_database( + self, + resource_group_name: str, + cluster_name: str, + cluster_resource_id: str, + attached_database_configuration_name: str, + **kwargs + ) -> None: + """Detaches all followers of a database owned by this cluster. + + :param resource_group_name: The name of the resource group containing the Kusto cluster. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. + :type cluster_name: str + :param cluster_resource_id: Resource id of the cluster that follows a database owned by this + cluster. + :type cluster_resource_id: str + :param attached_database_configuration_name: Resource name of the attached database + configuration in the follower cluster. + :type attached_database_configuration_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :return: An instance of LROPoller that returns None + :rtype: ~azure.core.polling.LROPoller[None] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + raw_result = await self._detach_follower_database_initial( + resource_group_name=resource_group_name, + cluster_name=cluster_name, + cluster_resource_id=cluster_resource_id, + attached_database_configuration_name=attached_database_configuration_name, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + return await async_poller(self._client, raw_result, get_long_running_output, polling_method) + detach_follower_database.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/detachFollowerDatabases'} + + async def _diagnose_virtual_network_initial( + self, + resource_group_name: str, + cluster_name: str, + **kwargs + ) -> "models.DiagnoseVirtualNetworkResult": + cls = kwargs.pop('cls', None) # type: ClsType["models.DiagnoseVirtualNetworkResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-02-15" + + # Construct URL + url = self._diagnose_virtual_network_initial.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('DiagnoseVirtualNetworkResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _diagnose_virtual_network_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/diagnoseVirtualNetwork'} + + async def diagnose_virtual_network( + self, + resource_group_name: str, + cluster_name: str, + **kwargs + ) -> "models.DiagnoseVirtualNetworkResult": + """Diagnoses network connectivity status for external resources on which the service is dependent on. + + :param resource_group_name: The name of the resource group containing the Kusto cluster. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :return: An instance of LROPoller that returns DiagnoseVirtualNetworkResult + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.kusto.models.DiagnoseVirtualNetworkResult] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.DiagnoseVirtualNetworkResult"] + raw_result = await self._diagnose_virtual_network_initial( + resource_group_name=resource_group_name, + cluster_name=cluster_name, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('DiagnoseVirtualNetworkResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + return await async_poller(self._client, raw_result, get_long_running_output, polling_method) + diagnose_virtual_network.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/diagnoseVirtualNetwork'} + + def list_by_resource_group( + self, + resource_group_name: str, + **kwargs + ) -> "models.ClusterListResult": + """Lists all Kusto clusters within a resource group. + + :param resource_group_name: The name of the resource group containing the Kusto cluster. + :type resource_group_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ClusterListResult or the result of cls(response) + :rtype: ~azure.mgmt.kusto.models.ClusterListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ClusterListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-02-15" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('ClusterListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters'} + + def list( + self, + **kwargs + ) -> "models.ClusterListResult": + """Lists all Kusto clusters within a subscription. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ClusterListResult or the result of cls(response) + :rtype: ~azure.mgmt.kusto.models.ClusterListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ClusterListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-02-15" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('ClusterListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Kusto/clusters'} + + def list_sku( + self, + **kwargs + ) -> "models.SkuDescriptionList": + """Lists eligible SKUs for Kusto resource provider. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SkuDescriptionList or the result of cls(response) + :rtype: ~azure.mgmt.kusto.models.SkuDescriptionList + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.SkuDescriptionList"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-02-15" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_sku.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('SkuDescriptionList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_sku.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Kusto/skus'} + + async def check_name_availability( + self, + location: str, + name: str, + type: Union[str, "models.Type"], + **kwargs + ) -> "models.CheckNameResult": + """Checks that the cluster name is valid and is not already in use. + + :param location: Azure location. + :type location: str + :param name: Cluster name. + :type name: str + :param type: The type of resource, Microsoft.Kusto/clusters. + :type type: str or ~azure.mgmt.kusto.models.Type + :keyword callable cls: A custom type or function that will be passed the direct response + :return: CheckNameResult or the result of cls(response) + :rtype: ~azure.mgmt.kusto.models.CheckNameResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.CheckNameResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _cluster_name = models.ClusterCheckNameRequest(name=name, type=type) + api_version = "2020-02-15" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.check_name_availability.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'location': self._serialize.url("location", location, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_cluster_name, 'ClusterCheckNameRequest') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('CheckNameResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + check_name_availability.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Kusto/locations/{location}/checkNameAvailability'} + + def list_sku_by_resource( + self, + resource_group_name: str, + cluster_name: str, + **kwargs + ) -> "models.ListResourceSkusResult": + """Returns the SKUs available for the provided resource. + + :param resource_group_name: The name of the resource group containing the Kusto cluster. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ListResourceSkusResult or the result of cls(response) + :rtype: ~azure.mgmt.kusto.models.ListResourceSkusResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ListResourceSkusResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-02-15" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_sku_by_resource.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('ListResourceSkusResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_sku_by_resource.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/skus'} + + def list_language_extension( + self, + resource_group_name: str, + cluster_name: str, + **kwargs + ) -> "models.LanguageExtensionsList": + """Returns a list of language extensions that can run within KQL queries. + + :param resource_group_name: The name of the resource group containing the Kusto cluster. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: LanguageExtensionsList or the result of cls(response) + :rtype: ~azure.mgmt.kusto.models.LanguageExtensionsList + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.LanguageExtensionsList"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-02-15" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_language_extension.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('LanguageExtensionsList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_language_extension.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/listLanguageExtensions'} + + async def _add_language_extension_initial( + self, + resource_group_name: str, + cluster_name: str, + value: Optional[List["LanguageExtension"]] = None, + **kwargs + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _language_extensions_to_add = models.LanguageExtensionsList(value=value) + api_version = "2020-02-15" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self._add_language_extension_initial.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_language_extensions_to_add, 'LanguageExtensionsList') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _add_language_extension_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/addLanguageExtensions'} + + async def add_language_extension( + self, + resource_group_name: str, + cluster_name: str, + value: Optional[List["LanguageExtension"]] = None, + **kwargs + ) -> None: + """Add a list of language extensions that can run within KQL queries. + + :param resource_group_name: The name of the resource group containing the Kusto cluster. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. + :type cluster_name: str + :param value: The list of language extensions. + :type value: list[~azure.mgmt.kusto.models.LanguageExtension] + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :return: An instance of LROPoller that returns None + :rtype: ~azure.core.polling.LROPoller[None] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + raw_result = await self._add_language_extension_initial( + resource_group_name=resource_group_name, + cluster_name=cluster_name, + value=value, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + return await async_poller(self._client, raw_result, get_long_running_output, polling_method) + add_language_extension.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/addLanguageExtensions'} + + async def _remove_language_extension_initial( + self, + resource_group_name: str, + cluster_name: str, + value: Optional[List["LanguageExtension"]] = None, + **kwargs + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _language_extensions_to_remove = models.LanguageExtensionsList(value=value) + api_version = "2020-02-15" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self._remove_language_extension_initial.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_language_extensions_to_remove, 'LanguageExtensionsList') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _remove_language_extension_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/removeLanguageExtensions'} + + async def remove_language_extension( + self, + resource_group_name: str, + cluster_name: str, + value: Optional[List["LanguageExtension"]] = None, + **kwargs + ) -> None: + """Remove a list of language extensions that can run within KQL queries. + + :param resource_group_name: The name of the resource group containing the Kusto cluster. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. + :type cluster_name: str + :param value: The list of language extensions. + :type value: list[~azure.mgmt.kusto.models.LanguageExtension] + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :return: An instance of LROPoller that returns None + :rtype: ~azure.core.polling.LROPoller[None] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + raw_result = await self._remove_language_extension_initial( + resource_group_name=resource_group_name, + cluster_name=cluster_name, + value=value, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + return await async_poller(self._client, raw_result, get_long_running_output, polling_method) + remove_language_extension.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/removeLanguageExtensions'} diff --git a/src/kusto/azext_kusto/vendored_sdks/kusto/aio/operations_async/_cluster_principal_assignment_operations_async.py b/src/kusto/azext_kusto/vendored_sdks/kusto/aio/operations_async/_cluster_principal_assignment_operations_async.py new file mode 100644 index 00000000000..7a71deffb4f --- /dev/null +++ b/src/kusto/azext_kusto/vendored_sdks/kusto/aio/operations_async/_cluster_principal_assignment_operations_async.py @@ -0,0 +1,463 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.polling import AsyncNoPolling, AsyncPollingMethod, async_poller +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class ClusterPrincipalAssignmentOperations: + """ClusterPrincipalAssignmentOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kusto.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + async def check_name_availability( + self, + resource_group_name: str, + cluster_name: str, + name: str, + type: Union[str, "models.Type"], + **kwargs + ) -> "models.CheckNameResult": + """Checks that the principal assignment name is valid and is not already in use. + + :param resource_group_name: The name of the resource group containing the Kusto cluster. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. + :type cluster_name: str + :param name: Principal Assignment resource name. + :type name: str + :param type: The type of resource, Microsoft.Kusto/clusters/principalAssignments. + :type type: str or ~azure.mgmt.kusto.models.Type + :keyword callable cls: A custom type or function that will be passed the direct response + :return: CheckNameResult or the result of cls(response) + :rtype: ~azure.mgmt.kusto.models.CheckNameResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.CheckNameResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _principal_assignment_name = models.ClusterPrincipalAssignmentCheckNameRequest(name=name, type=type) + api_version = "2020-02-15" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.check_name_availability.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_principal_assignment_name, 'ClusterPrincipalAssignmentCheckNameRequest') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('CheckNameResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + check_name_availability.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/checkPrincipalAssignmentNameAvailability'} + + async def get( + self, + resource_group_name: str, + cluster_name: str, + principal_assignment_name: str, + **kwargs + ) -> "models.ClusterPrincipalAssignment": + """Gets a Kusto cluster principalAssignment. + + :param resource_group_name: The name of the resource group containing the Kusto cluster. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. + :type cluster_name: str + :param principal_assignment_name: The name of the Kusto principalAssignment. + :type principal_assignment_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ClusterPrincipalAssignment or the result of cls(response) + :rtype: ~azure.mgmt.kusto.models.ClusterPrincipalAssignment + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ClusterPrincipalAssignment"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-02-15" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'principalAssignmentName': self._serialize.url("principal_assignment_name", principal_assignment_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ClusterPrincipalAssignment', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/principalAssignments/{principalAssignmentName}'} + + async def _create_or_update_initial( + self, + resource_group_name: str, + cluster_name: str, + principal_assignment_name: str, + principal_id: Optional[str] = None, + role: Optional[Union[str, "models.ClusterPrincipalRole"]] = None, + tenant_id: Optional[str] = None, + principal_type: Optional[Union[str, "models.PrincipalType"]] = None, + **kwargs + ) -> "models.ClusterPrincipalAssignment": + cls = kwargs.pop('cls', None) # type: ClsType["models.ClusterPrincipalAssignment"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _parameters = models.ClusterPrincipalAssignment(principal_id=principal_id, role=role, tenant_id=tenant_id, principal_type=principal_type) + api_version = "2020-02-15" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self._create_or_update_initial.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'principalAssignmentName': self._serialize.url("principal_assignment_name", principal_assignment_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_parameters, 'ClusterPrincipalAssignment') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('ClusterPrincipalAssignment', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('ClusterPrincipalAssignment', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/principalAssignments/{principalAssignmentName}'} + + async def create_or_update( + self, + resource_group_name: str, + cluster_name: str, + principal_assignment_name: str, + principal_id: Optional[str] = None, + role: Optional[Union[str, "models.ClusterPrincipalRole"]] = None, + tenant_id: Optional[str] = None, + principal_type: Optional[Union[str, "models.PrincipalType"]] = None, + **kwargs + ) -> "models.ClusterPrincipalAssignment": + """Create a Kusto cluster principalAssignment. + + :param resource_group_name: The name of the resource group containing the Kusto cluster. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. + :type cluster_name: str + :param principal_assignment_name: The name of the Kusto principalAssignment. + :type principal_assignment_name: str + :param principal_id: The principal ID assigned to the cluster principal. It can be a user + email, application ID, or security group name. + :type principal_id: str + :param role: Cluster principal role. + :type role: str or ~azure.mgmt.kusto.models.ClusterPrincipalRole + :param tenant_id: The tenant id of the principal. + :type tenant_id: str + :param principal_type: Principal type. + :type principal_type: str or ~azure.mgmt.kusto.models.PrincipalType + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :return: An instance of LROPoller that returns ClusterPrincipalAssignment + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.kusto.models.ClusterPrincipalAssignment] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.ClusterPrincipalAssignment"] + raw_result = await self._create_or_update_initial( + resource_group_name=resource_group_name, + cluster_name=cluster_name, + principal_assignment_name=principal_assignment_name, + principal_id=principal_id, + role=role, + tenant_id=tenant_id, + principal_type=principal_type, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ClusterPrincipalAssignment', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + return await async_poller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/principalAssignments/{principalAssignmentName}'} + + async def _delete_initial( + self, + resource_group_name: str, + cluster_name: str, + principal_assignment_name: str, + **kwargs + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-02-15" + + # Construct URL + url = self._delete_initial.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'principalAssignmentName': self._serialize.url("principal_assignment_name", principal_assignment_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/principalAssignments/{principalAssignmentName}'} + + async def delete( + self, + resource_group_name: str, + cluster_name: str, + principal_assignment_name: str, + **kwargs + ) -> None: + """Deletes a Kusto cluster principalAssignment. + + :param resource_group_name: The name of the resource group containing the Kusto cluster. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. + :type cluster_name: str + :param principal_assignment_name: The name of the Kusto principalAssignment. + :type principal_assignment_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :return: An instance of LROPoller that returns None + :rtype: ~azure.core.polling.LROPoller[None] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + raw_result = await self._delete_initial( + resource_group_name=resource_group_name, + cluster_name=cluster_name, + principal_assignment_name=principal_assignment_name, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + return await async_poller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/principalAssignments/{principalAssignmentName}'} + + def list( + self, + resource_group_name: str, + cluster_name: str, + **kwargs + ) -> "models.ClusterPrincipalAssignmentListResult": + """Lists all Kusto cluster principalAssignments. + + :param resource_group_name: The name of the resource group containing the Kusto cluster. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ClusterPrincipalAssignmentListResult or the result of cls(response) + :rtype: ~azure.mgmt.kusto.models.ClusterPrincipalAssignmentListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ClusterPrincipalAssignmentListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-02-15" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('ClusterPrincipalAssignmentListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/principalAssignments'} diff --git a/src/kusto/azext_kusto/vendored_sdks/kusto/aio/operations_async/_data_connection_operations_async.py b/src/kusto/azext_kusto/vendored_sdks/kusto/aio/operations_async/_data_connection_operations_async.py new file mode 100644 index 00000000000..6b9ddbd68f6 --- /dev/null +++ b/src/kusto/azext_kusto/vendored_sdks/kusto/aio/operations_async/_data_connection_operations_async.py @@ -0,0 +1,667 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.polling import AsyncNoPolling, AsyncPollingMethod, async_poller +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class DataConnectionOperations: + """DataConnectionOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kusto.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list_by_database( + self, + resource_group_name: str, + cluster_name: str, + database_name: str, + **kwargs + ) -> "models.DataConnectionListResult": + """Returns the list of data connections of the given Kusto database. + + :param resource_group_name: The name of the resource group containing the Kusto cluster. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. + :type cluster_name: str + :param database_name: The name of the database in the Kusto cluster. + :type database_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DataConnectionListResult or the result of cls(response) + :rtype: ~azure.mgmt.kusto.models.DataConnectionListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.DataConnectionListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-02-15" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_database.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('DataConnectionListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_by_database.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/dataConnections'} + + async def data_connection_validation( + self, + resource_group_name: str, + cluster_name: str, + database_name: str, + data_connection_name: Optional[str] = None, + properties: Optional["models.DataConnection"] = None, + **kwargs + ) -> "models.DataConnectionValidationListResult": + """Checks that the data connection parameters are valid. + + :param resource_group_name: The name of the resource group containing the Kusto cluster. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. + :type cluster_name: str + :param database_name: The name of the database in the Kusto cluster. + :type database_name: str + :param data_connection_name: The name of the data connection. + :type data_connection_name: str + :param properties: The data connection properties to validate. + :type properties: ~azure.mgmt.kusto.models.DataConnection + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DataConnectionValidationListResult or the result of cls(response) + :rtype: ~azure.mgmt.kusto.models.DataConnectionValidationListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.DataConnectionValidationListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _parameters = models.DataConnectionValidation(data_connection_name=data_connection_name, properties=properties) + api_version = "2020-02-15" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.data_connection_validation.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_parameters, 'DataConnectionValidation') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('DataConnectionValidationListResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + data_connection_validation.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/dataConnectionValidation'} + + async def check_name_availability( + self, + resource_group_name: str, + cluster_name: str, + database_name: str, + name: str, + type: Union[str, "models.Type"], + **kwargs + ) -> "models.CheckNameResult": + """Checks that the data connection name is valid and is not already in use. + + :param resource_group_name: The name of the resource group containing the Kusto cluster. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. + :type cluster_name: str + :param database_name: The name of the database in the Kusto cluster. + :type database_name: str + :param name: Data Connection name. + :type name: str + :param type: The type of resource, Microsoft.Kusto/clusters/databases/dataConnections. + :type type: str or ~azure.mgmt.kusto.models.Type + :keyword callable cls: A custom type or function that will be passed the direct response + :return: CheckNameResult or the result of cls(response) + :rtype: ~azure.mgmt.kusto.models.CheckNameResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.CheckNameResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _data_connection_name = models.DataConnectionCheckNameRequest(name=name, type=type) + api_version = "2020-02-15" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.check_name_availability.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_data_connection_name, 'DataConnectionCheckNameRequest') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('CheckNameResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + check_name_availability.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/checkNameAvailability'} + + async def get( + self, + resource_group_name: str, + cluster_name: str, + database_name: str, + data_connection_name: str, + **kwargs + ) -> "models.DataConnection": + """Returns a data connection. + + :param resource_group_name: The name of the resource group containing the Kusto cluster. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. + :type cluster_name: str + :param database_name: The name of the database in the Kusto cluster. + :type database_name: str + :param data_connection_name: The name of the data connection. + :type data_connection_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DataConnection or the result of cls(response) + :rtype: ~azure.mgmt.kusto.models.DataConnection + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.DataConnection"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-02-15" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'dataConnectionName': self._serialize.url("data_connection_name", data_connection_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('DataConnection', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/dataConnections/{dataConnectionName}'} + + async def _create_or_update_initial( + self, + resource_group_name: str, + cluster_name: str, + database_name: str, + data_connection_name: str, + parameters: "models.DataConnection", + **kwargs + ) -> "models.DataConnection": + cls = kwargs.pop('cls', None) # type: ClsType["models.DataConnection"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-02-15" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self._create_or_update_initial.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'dataConnectionName': self._serialize.url("data_connection_name", data_connection_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(parameters, 'DataConnection') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('DataConnection', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('DataConnection', pipeline_response) + + if response.status_code == 202: + deserialized = self._deserialize('DataConnection', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/dataConnections/{dataConnectionName}'} + + async def create_or_update( + self, + resource_group_name: str, + cluster_name: str, + database_name: str, + data_connection_name: str, + parameters: "models.DataConnection", + **kwargs + ) -> "models.DataConnection": + """Creates or updates a data connection. + + :param resource_group_name: The name of the resource group containing the Kusto cluster. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. + :type cluster_name: str + :param database_name: The name of the database in the Kusto cluster. + :type database_name: str + :param data_connection_name: The name of the data connection. + :type data_connection_name: str + :param parameters: The data connection parameters supplied to the CreateOrUpdate operation. + :type parameters: ~azure.mgmt.kusto.models.DataConnection + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :return: An instance of LROPoller that returns DataConnection + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.kusto.models.DataConnection] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.DataConnection"] + raw_result = await self._create_or_update_initial( + resource_group_name=resource_group_name, + cluster_name=cluster_name, + database_name=database_name, + data_connection_name=data_connection_name, + parameters=parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('DataConnection', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + return await async_poller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/dataConnections/{dataConnectionName}'} + + async def _update_initial( + self, + resource_group_name: str, + cluster_name: str, + database_name: str, + data_connection_name: str, + parameters: "models.DataConnection", + **kwargs + ) -> "models.DataConnection": + cls = kwargs.pop('cls', None) # type: ClsType["models.DataConnection"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-02-15" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self._update_initial.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'dataConnectionName': self._serialize.url("data_connection_name", data_connection_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(parameters, 'DataConnection') + body_content_kwargs['content'] = body_content + request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('DataConnection', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('DataConnection', pipeline_response) + + if response.status_code == 202: + deserialized = self._deserialize('DataConnection', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/dataConnections/{dataConnectionName}'} + + async def update( + self, + resource_group_name: str, + cluster_name: str, + database_name: str, + data_connection_name: str, + parameters: "models.DataConnection", + **kwargs + ) -> "models.DataConnection": + """Updates a data connection. + + :param resource_group_name: The name of the resource group containing the Kusto cluster. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. + :type cluster_name: str + :param database_name: The name of the database in the Kusto cluster. + :type database_name: str + :param data_connection_name: The name of the data connection. + :type data_connection_name: str + :param parameters: The data connection parameters supplied to the Update operation. + :type parameters: ~azure.mgmt.kusto.models.DataConnection + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :return: An instance of LROPoller that returns DataConnection + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.kusto.models.DataConnection] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.DataConnection"] + raw_result = await self._update_initial( + resource_group_name=resource_group_name, + cluster_name=cluster_name, + database_name=database_name, + data_connection_name=data_connection_name, + parameters=parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('DataConnection', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + return await async_poller(self._client, raw_result, get_long_running_output, polling_method) + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/dataConnections/{dataConnectionName}'} + + async def _delete_initial( + self, + resource_group_name: str, + cluster_name: str, + database_name: str, + data_connection_name: str, + **kwargs + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-02-15" + + # Construct URL + url = self._delete_initial.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'dataConnectionName': self._serialize.url("data_connection_name", data_connection_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/dataConnections/{dataConnectionName}'} + + async def delete( + self, + resource_group_name: str, + cluster_name: str, + database_name: str, + data_connection_name: str, + **kwargs + ) -> None: + """Deletes the data connection with the given name. + + :param resource_group_name: The name of the resource group containing the Kusto cluster. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. + :type cluster_name: str + :param database_name: The name of the database in the Kusto cluster. + :type database_name: str + :param data_connection_name: The name of the data connection. + :type data_connection_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :return: An instance of LROPoller that returns None + :rtype: ~azure.core.polling.LROPoller[None] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + raw_result = await self._delete_initial( + resource_group_name=resource_group_name, + cluster_name=cluster_name, + database_name=database_name, + data_connection_name=data_connection_name, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + return await async_poller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/dataConnections/{dataConnectionName}'} diff --git a/src/kusto/azext_kusto/vendored_sdks/kusto/aio/operations_async/_database_operations_async.py b/src/kusto/azext_kusto/vendored_sdks/kusto/aio/operations_async/_database_operations_async.py new file mode 100644 index 00000000000..95d28aefc80 --- /dev/null +++ b/src/kusto/azext_kusto/vendored_sdks/kusto/aio/operations_async/_database_operations_async.py @@ -0,0 +1,778 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, List, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.polling import AsyncNoPolling, AsyncPollingMethod, async_poller +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class DatabaseOperations: + """DatabaseOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kusto.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + async def check_name_availability( + self, + resource_group_name: str, + cluster_name: str, + name: str, + type: Union[str, "models.Type"], + **kwargs + ) -> "models.CheckNameResult": + """Checks that the database name is valid and is not already in use. + + :param resource_group_name: The name of the resource group containing the Kusto cluster. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. + :type cluster_name: str + :param name: Resource name. + :type name: str + :param type: The type of resource, for instance Microsoft.Kusto/clusters/databases. + :type type: str or ~azure.mgmt.kusto.models.Type + :keyword callable cls: A custom type or function that will be passed the direct response + :return: CheckNameResult or the result of cls(response) + :rtype: ~azure.mgmt.kusto.models.CheckNameResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.CheckNameResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _resource_name = models.CheckNameRequest(name=name, type=type) + api_version = "2020-02-15" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.check_name_availability.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_resource_name, 'CheckNameRequest') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('CheckNameResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + check_name_availability.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/checkNameAvailability'} + + def list_by_cluster( + self, + resource_group_name: str, + cluster_name: str, + **kwargs + ) -> "models.DatabaseListResult": + """Returns the list of databases of the given Kusto cluster. + + :param resource_group_name: The name of the resource group containing the Kusto cluster. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DatabaseListResult or the result of cls(response) + :rtype: ~azure.mgmt.kusto.models.DatabaseListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.DatabaseListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-02-15" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_cluster.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('DatabaseListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_by_cluster.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases'} + + async def get( + self, + resource_group_name: str, + cluster_name: str, + database_name: str, + **kwargs + ) -> "models.Database": + """Returns a database. + + :param resource_group_name: The name of the resource group containing the Kusto cluster. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. + :type cluster_name: str + :param database_name: The name of the database in the Kusto cluster. + :type database_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Database or the result of cls(response) + :rtype: ~azure.mgmt.kusto.models.Database + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.Database"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-02-15" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('Database', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}'} + + async def _create_or_update_initial( + self, + resource_group_name: str, + cluster_name: str, + database_name: str, + parameters: "models.Database", + **kwargs + ) -> "models.Database": + cls = kwargs.pop('cls', None) # type: ClsType["models.Database"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-02-15" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self._create_or_update_initial.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(parameters, 'Database') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('Database', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('Database', pipeline_response) + + if response.status_code == 202: + deserialized = self._deserialize('Database', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}'} + + async def create_or_update( + self, + resource_group_name: str, + cluster_name: str, + database_name: str, + parameters: "models.Database", + **kwargs + ) -> "models.Database": + """Creates or updates a database. + + :param resource_group_name: The name of the resource group containing the Kusto cluster. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. + :type cluster_name: str + :param database_name: The name of the database in the Kusto cluster. + :type database_name: str + :param parameters: The database parameters supplied to the CreateOrUpdate operation. + :type parameters: ~azure.mgmt.kusto.models.Database + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :return: An instance of LROPoller that returns Database + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.kusto.models.Database] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.Database"] + raw_result = await self._create_or_update_initial( + resource_group_name=resource_group_name, + cluster_name=cluster_name, + database_name=database_name, + parameters=parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('Database', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + return await async_poller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}'} + + async def _update_initial( + self, + resource_group_name: str, + cluster_name: str, + database_name: str, + parameters: "models.Database", + **kwargs + ) -> "models.Database": + cls = kwargs.pop('cls', None) # type: ClsType["models.Database"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-02-15" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self._update_initial.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(parameters, 'Database') + body_content_kwargs['content'] = body_content + request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('Database', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('Database', pipeline_response) + + if response.status_code == 202: + deserialized = self._deserialize('Database', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}'} + + async def update( + self, + resource_group_name: str, + cluster_name: str, + database_name: str, + parameters: "models.Database", + **kwargs + ) -> "models.Database": + """Updates a database. + + :param resource_group_name: The name of the resource group containing the Kusto cluster. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. + :type cluster_name: str + :param database_name: The name of the database in the Kusto cluster. + :type database_name: str + :param parameters: The database parameters supplied to the Update operation. + :type parameters: ~azure.mgmt.kusto.models.Database + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :return: An instance of LROPoller that returns Database + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.kusto.models.Database] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.Database"] + raw_result = await self._update_initial( + resource_group_name=resource_group_name, + cluster_name=cluster_name, + database_name=database_name, + parameters=parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('Database', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + return await async_poller(self._client, raw_result, get_long_running_output, polling_method) + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}'} + + async def _delete_initial( + self, + resource_group_name: str, + cluster_name: str, + database_name: str, + **kwargs + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-02-15" + + # Construct URL + url = self._delete_initial.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}'} + + async def delete( + self, + resource_group_name: str, + cluster_name: str, + database_name: str, + **kwargs + ) -> None: + """Deletes the database with the given name. + + :param resource_group_name: The name of the resource group containing the Kusto cluster. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. + :type cluster_name: str + :param database_name: The name of the database in the Kusto cluster. + :type database_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :return: An instance of LROPoller that returns None + :rtype: ~azure.core.polling.LROPoller[None] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + raw_result = await self._delete_initial( + resource_group_name=resource_group_name, + cluster_name=cluster_name, + database_name=database_name, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + return await async_poller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}'} + + def list_principal( + self, + resource_group_name: str, + cluster_name: str, + database_name: str, + **kwargs + ) -> "models.DatabasePrincipalListResult": + """Returns a list of database principals of the given Kusto cluster and database. + + :param resource_group_name: The name of the resource group containing the Kusto cluster. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. + :type cluster_name: str + :param database_name: The name of the database in the Kusto cluster. + :type database_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DatabasePrincipalListResult or the result of cls(response) + :rtype: ~azure.mgmt.kusto.models.DatabasePrincipalListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.DatabasePrincipalListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-02-15" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_principal.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('DatabasePrincipalListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_principal.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/listPrincipals'} + + async def add_principal( + self, + resource_group_name: str, + cluster_name: str, + database_name: str, + value: Optional[List["DatabasePrincipal"]] = None, + **kwargs + ) -> "models.DatabasePrincipalListResult": + """Add Database principals permissions. + + :param resource_group_name: The name of the resource group containing the Kusto cluster. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. + :type cluster_name: str + :param database_name: The name of the database in the Kusto cluster. + :type database_name: str + :param value: The list of Kusto database principals. + :type value: list[~azure.mgmt.kusto.models.DatabasePrincipal] + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DatabasePrincipalListResult or the result of cls(response) + :rtype: ~azure.mgmt.kusto.models.DatabasePrincipalListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.DatabasePrincipalListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _database_principals_to_add = models.DatabasePrincipalListRequest(value=value) + api_version = "2020-02-15" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.add_principal.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_database_principals_to_add, 'DatabasePrincipalListRequest') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('DatabasePrincipalListResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + add_principal.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/addPrincipals'} + + async def remove_principal( + self, + resource_group_name: str, + cluster_name: str, + database_name: str, + value: Optional[List["DatabasePrincipal"]] = None, + **kwargs + ) -> "models.DatabasePrincipalListResult": + """Remove Database principals permissions. + + :param resource_group_name: The name of the resource group containing the Kusto cluster. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. + :type cluster_name: str + :param database_name: The name of the database in the Kusto cluster. + :type database_name: str + :param value: The list of Kusto database principals. + :type value: list[~azure.mgmt.kusto.models.DatabasePrincipal] + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DatabasePrincipalListResult or the result of cls(response) + :rtype: ~azure.mgmt.kusto.models.DatabasePrincipalListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.DatabasePrincipalListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _database_principals_to_remove = models.DatabasePrincipalListRequest(value=value) + api_version = "2020-02-15" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.remove_principal.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_database_principals_to_remove, 'DatabasePrincipalListRequest') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('DatabasePrincipalListResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + remove_principal.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/removePrincipals'} diff --git a/src/kusto/azext_kusto/vendored_sdks/kusto/aio/operations_async/_database_principal_assignment_operations_async.py b/src/kusto/azext_kusto/vendored_sdks/kusto/aio/operations_async/_database_principal_assignment_operations_async.py new file mode 100644 index 00000000000..bf6348e6a3d --- /dev/null +++ b/src/kusto/azext_kusto/vendored_sdks/kusto/aio/operations_async/_database_principal_assignment_operations_async.py @@ -0,0 +1,487 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.polling import AsyncNoPolling, AsyncPollingMethod, async_poller +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class DatabasePrincipalAssignmentOperations: + """DatabasePrincipalAssignmentOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kusto.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + async def check_name_availability( + self, + resource_group_name: str, + cluster_name: str, + database_name: str, + name: str, + type: Union[str, "models.Type"], + **kwargs + ) -> "models.CheckNameResult": + """Checks that the database principal assignment is valid and is not already in use. + + :param resource_group_name: The name of the resource group containing the Kusto cluster. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. + :type cluster_name: str + :param database_name: The name of the database in the Kusto cluster. + :type database_name: str + :param name: Principal Assignment resource name. + :type name: str + :param type: The type of resource, Microsoft.Kusto/clusters/databases/principalAssignments. + :type type: str or ~azure.mgmt.kusto.models.Type + :keyword callable cls: A custom type or function that will be passed the direct response + :return: CheckNameResult or the result of cls(response) + :rtype: ~azure.mgmt.kusto.models.CheckNameResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.CheckNameResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _principal_assignment_name = models.DatabasePrincipalAssignmentCheckNameRequest(name=name, type=type) + api_version = "2020-02-15" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.check_name_availability.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_principal_assignment_name, 'DatabasePrincipalAssignmentCheckNameRequest') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('CheckNameResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + check_name_availability.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/checkPrincipalAssignmentNameAvailability'} + + async def get( + self, + resource_group_name: str, + cluster_name: str, + database_name: str, + principal_assignment_name: str, + **kwargs + ) -> "models.DatabasePrincipalAssignment": + """Gets a Kusto cluster database principalAssignment. + + :param resource_group_name: The name of the resource group containing the Kusto cluster. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. + :type cluster_name: str + :param database_name: The name of the database in the Kusto cluster. + :type database_name: str + :param principal_assignment_name: The name of the Kusto principalAssignment. + :type principal_assignment_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DatabasePrincipalAssignment or the result of cls(response) + :rtype: ~azure.mgmt.kusto.models.DatabasePrincipalAssignment + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.DatabasePrincipalAssignment"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-02-15" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'principalAssignmentName': self._serialize.url("principal_assignment_name", principal_assignment_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('DatabasePrincipalAssignment', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/principalAssignments/{principalAssignmentName}'} + + async def _create_or_update_initial( + self, + resource_group_name: str, + cluster_name: str, + database_name: str, + principal_assignment_name: str, + principal_id: Optional[str] = None, + role: Optional[Union[str, "models.DatabasePrincipalRole"]] = None, + tenant_id: Optional[str] = None, + principal_type: Optional[Union[str, "models.PrincipalType"]] = None, + **kwargs + ) -> "models.DatabasePrincipalAssignment": + cls = kwargs.pop('cls', None) # type: ClsType["models.DatabasePrincipalAssignment"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _parameters = models.DatabasePrincipalAssignment(principal_id=principal_id, role=role, tenant_id=tenant_id, principal_type=principal_type) + api_version = "2020-02-15" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self._create_or_update_initial.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'principalAssignmentName': self._serialize.url("principal_assignment_name", principal_assignment_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_parameters, 'DatabasePrincipalAssignment') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('DatabasePrincipalAssignment', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('DatabasePrincipalAssignment', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/principalAssignments/{principalAssignmentName}'} + + async def create_or_update( + self, + resource_group_name: str, + cluster_name: str, + database_name: str, + principal_assignment_name: str, + principal_id: Optional[str] = None, + role: Optional[Union[str, "models.DatabasePrincipalRole"]] = None, + tenant_id: Optional[str] = None, + principal_type: Optional[Union[str, "models.PrincipalType"]] = None, + **kwargs + ) -> "models.DatabasePrincipalAssignment": + """Creates a Kusto cluster database principalAssignment. + + :param resource_group_name: The name of the resource group containing the Kusto cluster. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. + :type cluster_name: str + :param database_name: The name of the database in the Kusto cluster. + :type database_name: str + :param principal_assignment_name: The name of the Kusto principalAssignment. + :type principal_assignment_name: str + :param principal_id: The principal ID assigned to the database principal. It can be a user + email, application ID, or security group name. + :type principal_id: str + :param role: Database principal role. + :type role: str or ~azure.mgmt.kusto.models.DatabasePrincipalRole + :param tenant_id: The tenant id of the principal. + :type tenant_id: str + :param principal_type: Principal type. + :type principal_type: str or ~azure.mgmt.kusto.models.PrincipalType + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :return: An instance of LROPoller that returns DatabasePrincipalAssignment + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.kusto.models.DatabasePrincipalAssignment] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.DatabasePrincipalAssignment"] + raw_result = await self._create_or_update_initial( + resource_group_name=resource_group_name, + cluster_name=cluster_name, + database_name=database_name, + principal_assignment_name=principal_assignment_name, + principal_id=principal_id, + role=role, + tenant_id=tenant_id, + principal_type=principal_type, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('DatabasePrincipalAssignment', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + return await async_poller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/principalAssignments/{principalAssignmentName}'} + + async def _delete_initial( + self, + resource_group_name: str, + cluster_name: str, + database_name: str, + principal_assignment_name: str, + **kwargs + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-02-15" + + # Construct URL + url = self._delete_initial.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'principalAssignmentName': self._serialize.url("principal_assignment_name", principal_assignment_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/principalAssignments/{principalAssignmentName}'} + + async def delete( + self, + resource_group_name: str, + cluster_name: str, + database_name: str, + principal_assignment_name: str, + **kwargs + ) -> None: + """Deletes a Kusto principalAssignment. + + :param resource_group_name: The name of the resource group containing the Kusto cluster. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. + :type cluster_name: str + :param database_name: The name of the database in the Kusto cluster. + :type database_name: str + :param principal_assignment_name: The name of the Kusto principalAssignment. + :type principal_assignment_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :return: An instance of LROPoller that returns None + :rtype: ~azure.core.polling.LROPoller[None] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + raw_result = await self._delete_initial( + resource_group_name=resource_group_name, + cluster_name=cluster_name, + database_name=database_name, + principal_assignment_name=principal_assignment_name, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + return await async_poller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/principalAssignments/{principalAssignmentName}'} + + def list( + self, + resource_group_name: str, + cluster_name: str, + database_name: str, + **kwargs + ) -> "models.DatabasePrincipalAssignmentListResult": + """Lists all Kusto cluster database principalAssignments. + + :param resource_group_name: The name of the resource group containing the Kusto cluster. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. + :type cluster_name: str + :param database_name: The name of the database in the Kusto cluster. + :type database_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DatabasePrincipalAssignmentListResult or the result of cls(response) + :rtype: ~azure.mgmt.kusto.models.DatabasePrincipalAssignmentListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.DatabasePrincipalAssignmentListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-02-15" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('DatabasePrincipalAssignmentListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/principalAssignments'} diff --git a/src/kusto/azext_kusto/vendored_sdks/kusto/aio/operations_async/_operation_operations_async.py b/src/kusto/azext_kusto/vendored_sdks/kusto/aio/operations_async/_operation_operations_async.py new file mode 100644 index 00000000000..bc31ebca19b --- /dev/null +++ b/src/kusto/azext_kusto/vendored_sdks/kusto/aio/operations_async/_operation_operations_async.py @@ -0,0 +1,100 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class OperationOperations: + """OperationOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kusto.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + **kwargs + ) -> "models.OperationListResult": + """Lists available operations for the Microsoft.Kusto provider. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: OperationListResult or the result of cls(response) + :rtype: ~azure.mgmt.kusto.models.OperationListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.OperationListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-02-15" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('OperationListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/providers/Microsoft.Kusto/operations'} diff --git a/src/kusto/azext_kusto/vendored_sdks/kusto/models/__init__.py b/src/kusto/azext_kusto/vendored_sdks/kusto/models/__init__.py new file mode 100644 index 00000000000..f8bfbe3e4df --- /dev/null +++ b/src/kusto/azext_kusto/vendored_sdks/kusto/models/__init__.py @@ -0,0 +1,221 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +try: + from ._models_py3 import AttachedDatabaseConfiguration + from ._models_py3 import AttachedDatabaseConfigurationListResult + from ._models_py3 import AzureCapacity + from ._models_py3 import AzureResourceSku + from ._models_py3 import AzureSku + from ._models_py3 import CheckNameRequest + from ._models_py3 import CheckNameResult + from ._models_py3 import CloudErrorBody + from ._models_py3 import Cluster + from ._models_py3 import ClusterCheckNameRequest + from ._models_py3 import ClusterListResult + from ._models_py3 import ClusterPrincipalAssignment + from ._models_py3 import ClusterPrincipalAssignmentCheckNameRequest + from ._models_py3 import ClusterPrincipalAssignmentListResult + from ._models_py3 import ClusterUpdate + from ._models_py3 import ComponentsSgqdofSchemasIdentityPropertiesUserassignedidentitiesAdditionalproperties + from ._models_py3 import DataConnection + from ._models_py3 import DataConnectionCheckNameRequest + from ._models_py3 import DataConnectionListResult + from ._models_py3 import DataConnectionValidation + from ._models_py3 import DataConnectionValidationListResult + from ._models_py3 import DataConnectionValidationResult + from ._models_py3 import Database + from ._models_py3 import DatabaseListResult + from ._models_py3 import DatabasePrincipal + from ._models_py3 import DatabasePrincipalAssignment + from ._models_py3 import DatabasePrincipalAssignmentCheckNameRequest + from ._models_py3 import DatabasePrincipalAssignmentListResult + from ._models_py3 import DatabasePrincipalListRequest + from ._models_py3 import DatabasePrincipalListResult + from ._models_py3 import DatabaseStatistics + from ._models_py3 import DiagnoseVirtualNetworkResult + from ._models_py3 import EventGridDataConnection + from ._models_py3 import EventHubDataConnection + from ._models_py3 import FollowerDatabaseDefinition + from ._models_py3 import FollowerDatabaseListResult + from ._models_py3 import IotHubDataConnection + from ._models_py3 import KeyVaultProperties + from ._models_py3 import LanguageExtension + from ._models_py3 import LanguageExtensionsList + from ._models_py3 import ListResourceSkusResult + from ._models_py3 import Operation + from ._models_py3 import OperationDisplay + from ._models_py3 import OperationListResult + from ._models_py3 import OptimizedAutoscale + from ._models_py3 import ProxyResource + from ._models_py3 import ReadOnlyFollowingDatabase + from ._models_py3 import ReadWriteDatabase + from ._models_py3 import Resource + from ._models_py3 import SkuDescription + from ._models_py3 import SkuDescriptionList + from ._models_py3 import SkuLocationInfoItem + from ._models_py3 import TrackedResource + from ._models_py3 import TrustedExternalTenant + from ._models_py3 import VirtualNetworkConfiguration +except (SyntaxError, ImportError): + from ._models import AttachedDatabaseConfiguration # type: ignore + from ._models import AttachedDatabaseConfigurationListResult # type: ignore + from ._models import AzureCapacity # type: ignore + from ._models import AzureResourceSku # type: ignore + from ._models import AzureSku # type: ignore + from ._models import CheckNameRequest # type: ignore + from ._models import CheckNameResult # type: ignore + from ._models import CloudErrorBody # type: ignore + from ._models import Cluster # type: ignore + from ._models import ClusterCheckNameRequest # type: ignore + from ._models import ClusterListResult # type: ignore + from ._models import ClusterPrincipalAssignment # type: ignore + from ._models import ClusterPrincipalAssignmentCheckNameRequest # type: ignore + from ._models import ClusterPrincipalAssignmentListResult # type: ignore + from ._models import ClusterUpdate # type: ignore + from ._models import ComponentsSgqdofSchemasIdentityPropertiesUserassignedidentitiesAdditionalproperties # type: ignore + from ._models import DataConnection # type: ignore + from ._models import DataConnectionCheckNameRequest # type: ignore + from ._models import DataConnectionListResult # type: ignore + from ._models import DataConnectionValidation # type: ignore + from ._models import DataConnectionValidationListResult # type: ignore + from ._models import DataConnectionValidationResult # type: ignore + from ._models import Database # type: ignore + from ._models import DatabaseListResult # type: ignore + from ._models import DatabasePrincipal # type: ignore + from ._models import DatabasePrincipalAssignment # type: ignore + from ._models import DatabasePrincipalAssignmentCheckNameRequest # type: ignore + from ._models import DatabasePrincipalAssignmentListResult # type: ignore + from ._models import DatabasePrincipalListRequest # type: ignore + from ._models import DatabasePrincipalListResult # type: ignore + from ._models import DatabaseStatistics # type: ignore + from ._models import DiagnoseVirtualNetworkResult # type: ignore + from ._models import EventGridDataConnection # type: ignore + from ._models import EventHubDataConnection # type: ignore + from ._models import FollowerDatabaseDefinition # type: ignore + from ._models import FollowerDatabaseListResult # type: ignore + from ._models import IotHubDataConnection # type: ignore + from ._models import KeyVaultProperties # type: ignore + from ._models import LanguageExtension # type: ignore + from ._models import LanguageExtensionsList # type: ignore + from ._models import ListResourceSkusResult # type: ignore + from ._models import Operation # type: ignore + from ._models import OperationDisplay # type: ignore + from ._models import OperationListResult # type: ignore + from ._models import OptimizedAutoscale # type: ignore + from ._models import ProxyResource # type: ignore + from ._models import ReadOnlyFollowingDatabase # type: ignore + from ._models import ReadWriteDatabase # type: ignore + from ._models import Resource # type: ignore + from ._models import SkuDescription # type: ignore + from ._models import SkuDescriptionList # type: ignore + from ._models import SkuLocationInfoItem # type: ignore + from ._models import TrackedResource # type: ignore + from ._models import TrustedExternalTenant # type: ignore + from ._models import VirtualNetworkConfiguration # type: ignore + +from ._kusto_management_client_enums import ( + AzureScaleType, + AzureSkuName, + AzureSkuTier, + ClusterPrincipalRole, + Compression, + DatabasePrincipalRole, + DatabasePrincipalType, + DefaultPrincipalsModificationKind, + EventGridDataFormat, + EventHubDataFormat, + IdentityType, + IotHubDataFormat, + Kind, + LanguageExtensionName, + PrincipalType, + PrincipalsModificationKind, + ProvisioningState, + Reason, + State, + Type, +) + +__all__ = [ + 'AttachedDatabaseConfiguration', + 'AttachedDatabaseConfigurationListResult', + 'AzureCapacity', + 'AzureResourceSku', + 'AzureSku', + 'CheckNameRequest', + 'CheckNameResult', + 'CloudErrorBody', + 'Cluster', + 'ClusterCheckNameRequest', + 'ClusterListResult', + 'ClusterPrincipalAssignment', + 'ClusterPrincipalAssignmentCheckNameRequest', + 'ClusterPrincipalAssignmentListResult', + 'ClusterUpdate', + 'ComponentsSgqdofSchemasIdentityPropertiesUserassignedidentitiesAdditionalproperties', + 'DataConnection', + 'DataConnectionCheckNameRequest', + 'DataConnectionListResult', + 'DataConnectionValidation', + 'DataConnectionValidationListResult', + 'DataConnectionValidationResult', + 'Database', + 'DatabaseListResult', + 'DatabasePrincipal', + 'DatabasePrincipalAssignment', + 'DatabasePrincipalAssignmentCheckNameRequest', + 'DatabasePrincipalAssignmentListResult', + 'DatabasePrincipalListRequest', + 'DatabasePrincipalListResult', + 'DatabaseStatistics', + 'DiagnoseVirtualNetworkResult', + 'EventGridDataConnection', + 'EventHubDataConnection', + 'FollowerDatabaseDefinition', + 'FollowerDatabaseListResult', + 'IotHubDataConnection', + 'KeyVaultProperties', + 'LanguageExtension', + 'LanguageExtensionsList', + 'ListResourceSkusResult', + 'Operation', + 'OperationDisplay', + 'OperationListResult', + 'OptimizedAutoscale', + 'ProxyResource', + 'ReadOnlyFollowingDatabase', + 'ReadWriteDatabase', + 'Resource', + 'SkuDescription', + 'SkuDescriptionList', + 'SkuLocationInfoItem', + 'TrackedResource', + 'TrustedExternalTenant', + 'VirtualNetworkConfiguration', + 'AzureScaleType', + 'AzureSkuName', + 'AzureSkuTier', + 'ClusterPrincipalRole', + 'Compression', + 'DatabasePrincipalRole', + 'DatabasePrincipalType', + 'DefaultPrincipalsModificationKind', + 'EventGridDataFormat', + 'EventHubDataFormat', + 'IdentityType', + 'IotHubDataFormat', + 'Kind', + 'LanguageExtensionName', + 'PrincipalType', + 'PrincipalsModificationKind', + 'ProvisioningState', + 'Reason', + 'State', + 'Type', +] diff --git a/src/kusto/azext_kusto/vendored_sdks/kusto/models/_kusto_management_client_enums.py b/src/kusto/azext_kusto/vendored_sdks/kusto/models/_kusto_management_client_enums.py new file mode 100644 index 00000000000..0d69900464b --- /dev/null +++ b/src/kusto/azext_kusto/vendored_sdks/kusto/models/_kusto_management_client_enums.py @@ -0,0 +1,231 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from enum import Enum + +class AzureScaleType(str, Enum): + """Scale type. + """ + + automatic = "automatic" + manual = "manual" + none = "none" + +class AzureSkuName(str, Enum): + """SKU name. + """ + + standard_ds13_v2_1_tb_ps = "Standard_DS13_v2+1TB_PS" + standard_ds13_v2_tb_ps = "Standard_DS13_v2+2TB_PS" + standard_ds14_v2_3_tb_ps = "Standard_DS14_v2+3TB_PS" + standard_ds14_v2_4_tb_ps = "Standard_DS14_v2+4TB_PS" + standard_d13_v2 = "Standard_D13_v2" + standard_d14_v2 = "Standard_D14_v2" + standard_l8_s = "Standard_L8s" + standard_l16_s = "Standard_L16s" + standard_d11_v2 = "Standard_D11_v2" + standard_d12_v2 = "Standard_D12_v2" + standard_l4_s = "Standard_L4s" + dev_no_sla_standard_d11_v2 = "Dev(No SLA)_Standard_D11_v2" + standard_e2_a_v4 = "Standard_E2a_v4" + standard_e4_a_v4 = "Standard_E4a_v4" + standard_e8_a_v4 = "Standard_E8a_v4" + standard_e16_a_v4 = "Standard_E16a_v4" + standard_e8_as_v4_1_tb_ps = "Standard_E8as_v4+1TB_PS" + standard_e8_as_v4_2_tb_ps = "Standard_E8as_v4+2TB_PS" + standard_e16_as_v4_3_tb_ps = "Standard_E16as_v4+3TB_PS" + standard_e16_as_v4_tb_ps = "Standard_E16as_v4+4TB_PS" + dev_no_sla_standard_e2_a_v4 = "Dev(No SLA)_Standard_E2a_v4" + +class AzureSkuTier(str, Enum): + """SKU tier. + """ + + basic = "Basic" + standard = "Standard" + +class ClusterPrincipalRole(str, Enum): + """Cluster principal role. + """ + + all_databases_admin = "AllDatabasesAdmin" + all_databases_viewer = "AllDatabasesViewer" + +class Compression(str, Enum): + """The compression type + """ + + none = "None" + g_zip = "GZip" + +class DatabasePrincipalRole(str, Enum): + """Database principal role. + """ + + admin = "Admin" + ingestor = "Ingestor" + monitor = "Monitor" + user = "User" + unrestricted_viewers = "UnrestrictedViewers" + viewer = "Viewer" + +class DatabasePrincipalType(str, Enum): + """Database principal type. + """ + + app = "App" + group = "Group" + user = "User" + +class DefaultPrincipalsModificationKind(str, Enum): + """The default principals modification kind + """ + + union = "Union" + replace = "Replace" + none = "None" + +class EventGridDataFormat(str, Enum): + """The data format of the message. Optionally the data format can be added to each message. + """ + + multijson = "MULTIJSON" + json = "JSON" + csv = "CSV" + tsv = "TSV" + scsv = "SCSV" + sohsv = "SOHSV" + psv = "PSV" + txt = "TXT" + raw = "RAW" + singlejson = "SINGLEJSON" + avro = "AVRO" + tsve = "TSVE" + parquet = "PARQUET" + orc = "ORC" + +class EventHubDataFormat(str, Enum): + """The data format of the message. Optionally the data format can be added to each message. + """ + + multijson = "MULTIJSON" + json = "JSON" + csv = "CSV" + tsv = "TSV" + scsv = "SCSV" + sohsv = "SOHSV" + psv = "PSV" + txt = "TXT" + raw = "RAW" + singlejson = "SINGLEJSON" + avro = "AVRO" + tsve = "TSVE" + parquet = "PARQUET" + orc = "ORC" + +class IdentityType(str, Enum): + """The identity type. + """ + + none = "None" + system_assigned = "SystemAssigned" + +class IotHubDataFormat(str, Enum): + """The data format of the message. Optionally the data format can be added to each message. + """ + + multijson = "MULTIJSON" + json = "JSON" + csv = "CSV" + tsv = "TSV" + scsv = "SCSV" + sohsv = "SOHSV" + psv = "PSV" + txt = "TXT" + raw = "RAW" + singlejson = "SINGLEJSON" + avro = "AVRO" + tsve = "TSVE" + parquet = "PARQUET" + orc = "ORC" + +class Kind(str, Enum): + """Kind of the database + """ + + read_write = "ReadWrite" + read_only_following = "ReadOnlyFollowing" + event_hub = "EventHub" + event_grid = "EventGrid" + iot_hub = "IotHub" + +class LanguageExtensionName(str, Enum): + """Language extension that can run within KQL query. + """ + + python = "PYTHON" + r = "R" + +class PrincipalsModificationKind(str, Enum): + """The principals modification kind of the database + """ + + union = "Union" + replace = "Replace" + none = "None" + +class PrincipalType(str, Enum): + """Principal type. + """ + + app = "App" + group = "Group" + user = "User" + +class ProvisioningState(str, Enum): + """The provisioned state of the resource. + """ + + running = "Running" + creating = "Creating" + deleting = "Deleting" + succeeded = "Succeeded" + failed = "Failed" + moving = "Moving" + +class Reason(str, Enum): + """Message providing the reason why the given name is invalid. + """ + + invalid = "Invalid" + already_exists = "AlreadyExists" + +class State(str, Enum): + """The state of the resource. + """ + + creating = "Creating" + unavailable = "Unavailable" + running = "Running" + deleting = "Deleting" + deleted = "Deleted" + stopping = "Stopping" + stopped = "Stopped" + starting = "Starting" + updating = "Updating" + +class Type(str, Enum): + """The type of resource, Microsoft.Kusto/clusters. + """ + + microsoft_kusto_clusters = "Microsoft.Kusto/clusters" + microsoft_kusto_clusters_databases = "Microsoft.Kusto/clusters/databases" + microsoft_kusto_clusters_attached_database_configurations = "Microsoft.Kusto/clusters/attachedDatabaseConfigurations" + microsoft_kusto_clusters_principal_assignments = "Microsoft.Kusto/clusters/principalAssignments" + microsoft_kusto_clusters_databases_data_connections = "Microsoft.Kusto/clusters/databases/dataConnections" + microsoft_kusto_clusters_databases_principal_assignments = "Microsoft.Kusto/clusters/databases/principalAssignments" diff --git a/src/kusto/azext_kusto/vendored_sdks/kusto/models/_models.py b/src/kusto/azext_kusto/vendored_sdks/kusto/models/_models.py new file mode 100644 index 00000000000..c38a705e717 --- /dev/null +++ b/src/kusto/azext_kusto/vendored_sdks/kusto/models/_models.py @@ -0,0 +1,2211 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +import msrest.serialization + + +class Resource(msrest.serialization.Model): + """Resource. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or + Microsoft.Storage/storageAccounts. + :vartype type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(Resource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + + +class ProxyResource(Resource): + """The resource model definition for a ARM proxy resource. It will have everything other than required location and tags. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or + Microsoft.Storage/storageAccounts. + :vartype type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ProxyResource, self).__init__(**kwargs) + + +class AttachedDatabaseConfiguration(ProxyResource): + """Class representing an attached database configuration. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or + Microsoft.Storage/storageAccounts. + :vartype type: str + :param location: Resource location. + :type location: str + :ivar provisioning_state: The provisioned state of the resource. Possible values include: + "Running", "Creating", "Deleting", "Succeeded", "Failed", "Moving". + :vartype provisioning_state: str or ~azure.mgmt.kusto.models.ProvisioningState + :param database_name: The name of the database which you would like to attach, use * if you + want to follow all current and future databases. + :type database_name: str + :param cluster_resource_id: The resource id of the cluster where the databases you would like + to attach reside. + :type cluster_resource_id: str + :ivar attached_database_names: The list of databases from the clusterResourceId which are + currently attached to the cluster. + :vartype attached_database_names: list[str] + :param default_principals_modification_kind: The default principals modification kind. Possible + values include: "Union", "Replace", "None". + :type default_principals_modification_kind: str or + ~azure.mgmt.kusto.models.DefaultPrincipalsModificationKind + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'attached_database_names': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'database_name': {'key': 'properties.databaseName', 'type': 'str'}, + 'cluster_resource_id': {'key': 'properties.clusterResourceId', 'type': 'str'}, + 'attached_database_names': {'key': 'properties.attachedDatabaseNames', 'type': '[str]'}, + 'default_principals_modification_kind': {'key': 'properties.defaultPrincipalsModificationKind', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(AttachedDatabaseConfiguration, self).__init__(**kwargs) + self.location = kwargs.get('location', None) + self.provisioning_state = None + self.database_name = kwargs.get('database_name', None) + self.cluster_resource_id = kwargs.get('cluster_resource_id', None) + self.attached_database_names = None + self.default_principals_modification_kind = kwargs.get('default_principals_modification_kind', None) + + +class AttachedDatabaseConfigurationListResult(msrest.serialization.Model): + """The list attached database configurations operation response. + + :param value: The list of attached database configurations. + :type value: list[~azure.mgmt.kusto.models.AttachedDatabaseConfiguration] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[AttachedDatabaseConfiguration]'}, + } + + def __init__( + self, + **kwargs + ): + super(AttachedDatabaseConfigurationListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + + +class AzureCapacity(msrest.serialization.Model): + """Azure capacity definition. + + All required parameters must be populated in order to send to Azure. + + :param scale_type: Required. Scale type. Possible values include: "automatic", "manual", + "none". + :type scale_type: str or ~azure.mgmt.kusto.models.AzureScaleType + :param minimum: Required. Minimum allowed capacity. + :type minimum: int + :param maximum: Required. Maximum allowed capacity. + :type maximum: int + :param default: Required. The default capacity that would be used. + :type default: int + """ + + _validation = { + 'scale_type': {'required': True}, + 'minimum': {'required': True}, + 'maximum': {'required': True}, + 'default': {'required': True}, + } + + _attribute_map = { + 'scale_type': {'key': 'scaleType', 'type': 'str'}, + 'minimum': {'key': 'minimum', 'type': 'int'}, + 'maximum': {'key': 'maximum', 'type': 'int'}, + 'default': {'key': 'default', 'type': 'int'}, + } + + def __init__( + self, + **kwargs + ): + super(AzureCapacity, self).__init__(**kwargs) + self.scale_type = kwargs['scale_type'] + self.minimum = kwargs['minimum'] + self.maximum = kwargs['maximum'] + self.default = kwargs['default'] + + +class AzureResourceSku(msrest.serialization.Model): + """Azure resource SKU definition. + + :param resource_type: Resource Namespace and Type. + :type resource_type: str + :param sku: The SKU details. + :type sku: ~azure.mgmt.kusto.models.AzureSku + :param capacity: The number of instances of the cluster. + :type capacity: ~azure.mgmt.kusto.models.AzureCapacity + """ + + _attribute_map = { + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'sku': {'key': 'sku', 'type': 'AzureSku'}, + 'capacity': {'key': 'capacity', 'type': 'AzureCapacity'}, + } + + def __init__( + self, + **kwargs + ): + super(AzureResourceSku, self).__init__(**kwargs) + self.resource_type = kwargs.get('resource_type', None) + self.sku = kwargs.get('sku', None) + self.capacity = kwargs.get('capacity', None) + + +class AzureSku(msrest.serialization.Model): + """Azure SKU definition. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. SKU name. Possible values include: "Standard_DS13_v2+1TB_PS", + "Standard_DS13_v2+2TB_PS", "Standard_DS14_v2+3TB_PS", "Standard_DS14_v2+4TB_PS", + "Standard_D13_v2", "Standard_D14_v2", "Standard_L8s", "Standard_L16s", "Standard_D11_v2", + "Standard_D12_v2", "Standard_L4s", "Dev(No SLA)_Standard_D11_v2", "Standard_E2a_v4", + "Standard_E4a_v4", "Standard_E8a_v4", "Standard_E16a_v4", "Standard_E8as_v4+1TB_PS", + "Standard_E8as_v4+2TB_PS", "Standard_E16as_v4+3TB_PS", "Standard_E16as_v4+4TB_PS", "Dev(No + SLA)_Standard_E2a_v4". + :type name: str or ~azure.mgmt.kusto.models.AzureSkuName + :param capacity: The number of instances of the cluster. + :type capacity: int + :param tier: Required. SKU tier. Possible values include: "Basic", "Standard". + :type tier: str or ~azure.mgmt.kusto.models.AzureSkuTier + """ + + _validation = { + 'name': {'required': True}, + 'tier': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'capacity': {'key': 'capacity', 'type': 'int'}, + 'tier': {'key': 'tier', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(AzureSku, self).__init__(**kwargs) + self.name = kwargs['name'] + self.capacity = kwargs.get('capacity', None) + self.tier = kwargs['tier'] + + +class CheckNameRequest(msrest.serialization.Model): + """The result returned from a database check name availability request. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. Resource name. + :type name: str + :param type: Required. The type of resource, for instance Microsoft.Kusto/clusters/databases. + Possible values include: "Microsoft.Kusto/clusters", "Microsoft.Kusto/clusters/databases", + "Microsoft.Kusto/clusters/attachedDatabaseConfigurations", + "Microsoft.Kusto/clusters/principalAssignments", + "Microsoft.Kusto/clusters/databases/dataConnections", + "Microsoft.Kusto/clusters/databases/principalAssignments". + :type type: str or ~azure.mgmt.kusto.models.Type + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(CheckNameRequest, self).__init__(**kwargs) + self.name = kwargs['name'] + self.type = kwargs['type'] + + +class CheckNameResult(msrest.serialization.Model): + """The result returned from a check name availability request. + + :param name_available: Specifies a Boolean value that indicates if the name is available. + :type name_available: bool + :param name: The name that was checked. + :type name: str + :param message: Message indicating an unavailable name due to a conflict, or a description of + the naming rules that are violated. + :type message: str + :param reason: Message providing the reason why the given name is invalid. Possible values + include: "Invalid", "AlreadyExists". + :type reason: str or ~azure.mgmt.kusto.models.Reason + """ + + _attribute_map = { + 'name_available': {'key': 'nameAvailable', 'type': 'bool'}, + 'name': {'key': 'name', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'reason': {'key': 'reason', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(CheckNameResult, self).__init__(**kwargs) + self.name_available = kwargs.get('name_available', None) + self.name = kwargs.get('name', None) + self.message = kwargs.get('message', None) + self.reason = kwargs.get('reason', None) + + +class CloudErrorBody(msrest.serialization.Model): + """An error response from Kusto. + + :param code: An identifier for the error. Codes are invariant and are intended to be consumed + programmatically. + :type code: str + :param message: A message describing the error, intended to be suitable for displaying in a + user interface. + :type message: str + :param target: The target of the particular error. For example, the name of the property in + error. + :type target: str + :param details: A list of additional details about the error. + :type details: list[~azure.mgmt.kusto.models.CloudErrorBody] + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[CloudErrorBody]'}, + } + + def __init__( + self, + **kwargs + ): + super(CloudErrorBody, self).__init__(**kwargs) + self.code = kwargs.get('code', None) + self.message = kwargs.get('message', None) + self.target = kwargs.get('target', None) + self.details = kwargs.get('details', None) + + +class TrackedResource(Resource): + """The resource model definition for a ARM tracked top level resource. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or + Microsoft.Storage/storageAccounts. + :vartype type: str + :param tags: A set of tags. Resource tags. + :type tags: dict[str, str] + :param location: Required. The geo-location where the resource lives. + :type location: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'location': {'key': 'location', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(TrackedResource, self).__init__(**kwargs) + self.tags = kwargs.get('tags', None) + self.location = kwargs['location'] + + +class Cluster(TrackedResource): + """Class representing a Kusto cluster. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or + Microsoft.Storage/storageAccounts. + :vartype type: str + :param tags: A set of tags. Resource tags. + :type tags: dict[str, str] + :param location: Required. The geo-location where the resource lives. + :type location: str + :param sku: Required. The SKU of the cluster. + :type sku: ~azure.mgmt.kusto.models.AzureSku + :param zones: The availability zones of the cluster. + :type zones: list[str] + :ivar state: The state of the resource. Possible values include: "Creating", "Unavailable", + "Running", "Deleting", "Deleted", "Stopping", "Stopped", "Starting", "Updating". + :vartype state: str or ~azure.mgmt.kusto.models.State + :ivar provisioning_state: The provisioned state of the resource. Possible values include: + "Running", "Creating", "Deleting", "Succeeded", "Failed", "Moving". + :vartype provisioning_state: str or ~azure.mgmt.kusto.models.ProvisioningState + :ivar uri: The cluster URI. + :vartype uri: str + :ivar data_ingestion_uri: The cluster data ingestion URI. + :vartype data_ingestion_uri: str + :ivar state_reason: The reason for the cluster's current state. + :vartype state_reason: str + :param trusted_external_tenants: The cluster's external tenants. + :type trusted_external_tenants: list[~azure.mgmt.kusto.models.TrustedExternalTenant] + :param optimized_autoscale: Optimized auto scale definition. + :type optimized_autoscale: ~azure.mgmt.kusto.models.OptimizedAutoscale + :param enable_disk_encryption: A boolean value that indicates if the cluster's disks are + encrypted. + :type enable_disk_encryption: bool + :param enable_streaming_ingest: A boolean value that indicates if the streaming ingest is + enabled. + :type enable_streaming_ingest: bool + :param virtual_network_configuration: Virtual network definition. + :type virtual_network_configuration: ~azure.mgmt.kusto.models.VirtualNetworkConfiguration + :param key_vault_properties: KeyVault properties for the cluster encryption. + :type key_vault_properties: ~azure.mgmt.kusto.models.KeyVaultProperties + :param enable_purge: A boolean value that indicates if the purge operations are enabled. + :type enable_purge: bool + :param value: The list of language extensions. + :type value: list[~azure.mgmt.kusto.models.LanguageExtension] + :ivar principal_id: The principal ID of resource identity. + :vartype principal_id: str + :ivar tenant_id: The tenant ID of resource. + :vartype tenant_id: str + :param type_identity_type: The identity type. Possible values include: "None", + "SystemAssigned". + :type type_identity_type: str or ~azure.mgmt.kusto.models.IdentityType + :param user_assigned_identities: The list of user identities associated with the Kusto cluster. + The user identity dictionary key references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + :type user_assigned_identities: dict[str, + ~azure.mgmt.kusto.models.ComponentsSgqdofSchemasIdentityPropertiesUserassignedidentitiesAdditionalproperties] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + 'sku': {'required': True}, + 'state': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'uri': {'readonly': True}, + 'data_ingestion_uri': {'readonly': True}, + 'state_reason': {'readonly': True}, + 'principal_id': {'readonly': True}, + 'tenant_id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'location': {'key': 'location', 'type': 'str'}, + 'sku': {'key': 'sku', 'type': 'AzureSku'}, + 'zones': {'key': 'zones', 'type': '[str]'}, + 'state': {'key': 'properties.state', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'uri': {'key': 'properties.uri', 'type': 'str'}, + 'data_ingestion_uri': {'key': 'properties.dataIngestionUri', 'type': 'str'}, + 'state_reason': {'key': 'properties.stateReason', 'type': 'str'}, + 'trusted_external_tenants': {'key': 'properties.trustedExternalTenants', 'type': '[TrustedExternalTenant]'}, + 'optimized_autoscale': {'key': 'properties.optimizedAutoscale', 'type': 'OptimizedAutoscale'}, + 'enable_disk_encryption': {'key': 'properties.enableDiskEncryption', 'type': 'bool'}, + 'enable_streaming_ingest': {'key': 'properties.enableStreamingIngest', 'type': 'bool'}, + 'virtual_network_configuration': {'key': 'properties.virtualNetworkConfiguration', 'type': 'VirtualNetworkConfiguration'}, + 'key_vault_properties': {'key': 'properties.keyVaultProperties', 'type': 'KeyVaultProperties'}, + 'enable_purge': {'key': 'properties.enablePurge', 'type': 'bool'}, + 'value': {'key': 'properties.languageExtensions.value', 'type': '[LanguageExtension]'}, + 'principal_id': {'key': 'identity.principalId', 'type': 'str'}, + 'tenant_id': {'key': 'identity.tenantId', 'type': 'str'}, + 'type_identity_type': {'key': 'identity.type', 'type': 'str'}, + 'user_assigned_identities': {'key': 'identity.userAssignedIdentities', 'type': '{ComponentsSgqdofSchemasIdentityPropertiesUserassignedidentitiesAdditionalproperties}'}, + } + + def __init__( + self, + **kwargs + ): + super(Cluster, self).__init__(**kwargs) + self.sku = kwargs['sku'] + self.zones = kwargs.get('zones', None) + self.state = None + self.provisioning_state = None + self.uri = None + self.data_ingestion_uri = None + self.state_reason = None + self.trusted_external_tenants = kwargs.get('trusted_external_tenants', None) + self.optimized_autoscale = kwargs.get('optimized_autoscale', None) + self.enable_disk_encryption = kwargs.get('enable_disk_encryption', None) + self.enable_streaming_ingest = kwargs.get('enable_streaming_ingest', False) + self.virtual_network_configuration = kwargs.get('virtual_network_configuration', None) + self.key_vault_properties = kwargs.get('key_vault_properties', None) + self.enable_purge = kwargs.get('enable_purge', False) + self.value = kwargs.get('value', None) + self.principal_id = None + self.tenant_id = None + self.type_identity_type = kwargs.get('type_identity_type', None) + self.user_assigned_identities = kwargs.get('user_assigned_identities', None) + + +class ClusterCheckNameRequest(msrest.serialization.Model): + """The result returned from a cluster check name availability request. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. Cluster name. + :type name: str + :param type: Required. The type of resource, Microsoft.Kusto/clusters. Possible values include: + "Microsoft.Kusto/clusters", "Microsoft.Kusto/clusters/databases", + "Microsoft.Kusto/clusters/attachedDatabaseConfigurations", + "Microsoft.Kusto/clusters/principalAssignments", + "Microsoft.Kusto/clusters/databases/dataConnections", + "Microsoft.Kusto/clusters/databases/principalAssignments". + :type type: str or ~azure.mgmt.kusto.models.Type + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ClusterCheckNameRequest, self).__init__(**kwargs) + self.name = kwargs['name'] + self.type = kwargs['type'] + + +class ClusterListResult(msrest.serialization.Model): + """The list Kusto clusters operation response. + + :param value: The list of Kusto clusters. + :type value: list[~azure.mgmt.kusto.models.Cluster] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[Cluster]'}, + } + + def __init__( + self, + **kwargs + ): + super(ClusterListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + + +class ClusterPrincipalAssignment(ProxyResource): + """Class representing a cluster principal assignment. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or + Microsoft.Storage/storageAccounts. + :vartype type: str + :param principal_id: The principal ID assigned to the cluster principal. It can be a user + email, application ID, or security group name. + :type principal_id: str + :param role: Cluster principal role. Possible values include: "AllDatabasesAdmin", + "AllDatabasesViewer". + :type role: str or ~azure.mgmt.kusto.models.ClusterPrincipalRole + :param tenant_id: The tenant id of the principal. + :type tenant_id: str + :param principal_type: Principal type. Possible values include: "App", "Group", "User". + :type principal_type: str or ~azure.mgmt.kusto.models.PrincipalType + :ivar tenant_name: The tenant name of the principal. + :vartype tenant_name: str + :ivar principal_name: The principal name. + :vartype principal_name: str + :ivar provisioning_state: The provisioned state of the resource. Possible values include: + "Running", "Creating", "Deleting", "Succeeded", "Failed", "Moving". + :vartype provisioning_state: str or ~azure.mgmt.kusto.models.ProvisioningState + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'tenant_name': {'readonly': True}, + 'principal_name': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'principal_id': {'key': 'properties.principalId', 'type': 'str'}, + 'role': {'key': 'properties.role', 'type': 'str'}, + 'tenant_id': {'key': 'properties.tenantId', 'type': 'str'}, + 'principal_type': {'key': 'properties.principalType', 'type': 'str'}, + 'tenant_name': {'key': 'properties.tenantName', 'type': 'str'}, + 'principal_name': {'key': 'properties.principalName', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ClusterPrincipalAssignment, self).__init__(**kwargs) + self.principal_id = kwargs.get('principal_id', None) + self.role = kwargs.get('role', None) + self.tenant_id = kwargs.get('tenant_id', None) + self.principal_type = kwargs.get('principal_type', None) + self.tenant_name = None + self.principal_name = None + self.provisioning_state = None + + +class ClusterPrincipalAssignmentCheckNameRequest(msrest.serialization.Model): + """A principal assignment check name availability request. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. Principal Assignment resource name. + :type name: str + :param type: Required. The type of resource, Microsoft.Kusto/clusters/principalAssignments. + Possible values include: "Microsoft.Kusto/clusters", "Microsoft.Kusto/clusters/databases", + "Microsoft.Kusto/clusters/attachedDatabaseConfigurations", + "Microsoft.Kusto/clusters/principalAssignments", + "Microsoft.Kusto/clusters/databases/dataConnections", + "Microsoft.Kusto/clusters/databases/principalAssignments". + :type type: str or ~azure.mgmt.kusto.models.Type + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ClusterPrincipalAssignmentCheckNameRequest, self).__init__(**kwargs) + self.name = kwargs['name'] + self.type = kwargs['type'] + + +class ClusterPrincipalAssignmentListResult(msrest.serialization.Model): + """The list Kusto cluster principal assignments operation response. + + :param value: The list of Kusto cluster principal assignments. + :type value: list[~azure.mgmt.kusto.models.ClusterPrincipalAssignment] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ClusterPrincipalAssignment]'}, + } + + def __init__( + self, + **kwargs + ): + super(ClusterPrincipalAssignmentListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + + +class ClusterUpdate(Resource): + """Class representing an update to a Kusto cluster. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or + Microsoft.Storage/storageAccounts. + :vartype type: str + :param tags: A set of tags. Resource tags. + :type tags: dict[str, str] + :param location: Resource location. + :type location: str + :param sku: The SKU of the cluster. + :type sku: ~azure.mgmt.kusto.models.AzureSku + :ivar state: The state of the resource. Possible values include: "Creating", "Unavailable", + "Running", "Deleting", "Deleted", "Stopping", "Stopped", "Starting", "Updating". + :vartype state: str or ~azure.mgmt.kusto.models.State + :ivar provisioning_state: The provisioned state of the resource. Possible values include: + "Running", "Creating", "Deleting", "Succeeded", "Failed", "Moving". + :vartype provisioning_state: str or ~azure.mgmt.kusto.models.ProvisioningState + :ivar uri: The cluster URI. + :vartype uri: str + :ivar data_ingestion_uri: The cluster data ingestion URI. + :vartype data_ingestion_uri: str + :ivar state_reason: The reason for the cluster's current state. + :vartype state_reason: str + :param trusted_external_tenants: The cluster's external tenants. + :type trusted_external_tenants: list[~azure.mgmt.kusto.models.TrustedExternalTenant] + :param optimized_autoscale: Optimized auto scale definition. + :type optimized_autoscale: ~azure.mgmt.kusto.models.OptimizedAutoscale + :param enable_disk_encryption: A boolean value that indicates if the cluster's disks are + encrypted. + :type enable_disk_encryption: bool + :param enable_streaming_ingest: A boolean value that indicates if the streaming ingest is + enabled. + :type enable_streaming_ingest: bool + :param virtual_network_configuration: Virtual network definition. + :type virtual_network_configuration: ~azure.mgmt.kusto.models.VirtualNetworkConfiguration + :param key_vault_properties: KeyVault properties for the cluster encryption. + :type key_vault_properties: ~azure.mgmt.kusto.models.KeyVaultProperties + :param enable_purge: A boolean value that indicates if the purge operations are enabled. + :type enable_purge: bool + :param value: The list of language extensions. + :type value: list[~azure.mgmt.kusto.models.LanguageExtension] + :ivar principal_id: The principal ID of resource identity. + :vartype principal_id: str + :ivar tenant_id: The tenant ID of resource. + :vartype tenant_id: str + :param type_identity_type: The identity type. Possible values include: "None", + "SystemAssigned". + :type type_identity_type: str or ~azure.mgmt.kusto.models.IdentityType + :param user_assigned_identities: The list of user identities associated with the Kusto cluster. + The user identity dictionary key references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + :type user_assigned_identities: dict[str, + ~azure.mgmt.kusto.models.ComponentsSgqdofSchemasIdentityPropertiesUserassignedidentitiesAdditionalproperties] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'state': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'uri': {'readonly': True}, + 'data_ingestion_uri': {'readonly': True}, + 'state_reason': {'readonly': True}, + 'principal_id': {'readonly': True}, + 'tenant_id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'location': {'key': 'location', 'type': 'str'}, + 'sku': {'key': 'sku', 'type': 'AzureSku'}, + 'state': {'key': 'properties.state', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'uri': {'key': 'properties.uri', 'type': 'str'}, + 'data_ingestion_uri': {'key': 'properties.dataIngestionUri', 'type': 'str'}, + 'state_reason': {'key': 'properties.stateReason', 'type': 'str'}, + 'trusted_external_tenants': {'key': 'properties.trustedExternalTenants', 'type': '[TrustedExternalTenant]'}, + 'optimized_autoscale': {'key': 'properties.optimizedAutoscale', 'type': 'OptimizedAutoscale'}, + 'enable_disk_encryption': {'key': 'properties.enableDiskEncryption', 'type': 'bool'}, + 'enable_streaming_ingest': {'key': 'properties.enableStreamingIngest', 'type': 'bool'}, + 'virtual_network_configuration': {'key': 'properties.virtualNetworkConfiguration', 'type': 'VirtualNetworkConfiguration'}, + 'key_vault_properties': {'key': 'properties.keyVaultProperties', 'type': 'KeyVaultProperties'}, + 'enable_purge': {'key': 'properties.enablePurge', 'type': 'bool'}, + 'value': {'key': 'properties.languageExtensions.value', 'type': '[LanguageExtension]'}, + 'principal_id': {'key': 'identity.principalId', 'type': 'str'}, + 'tenant_id': {'key': 'identity.tenantId', 'type': 'str'}, + 'type_identity_type': {'key': 'identity.type', 'type': 'str'}, + 'user_assigned_identities': {'key': 'identity.userAssignedIdentities', 'type': '{ComponentsSgqdofSchemasIdentityPropertiesUserassignedidentitiesAdditionalproperties}'}, + } + + def __init__( + self, + **kwargs + ): + super(ClusterUpdate, self).__init__(**kwargs) + self.tags = kwargs.get('tags', None) + self.location = kwargs.get('location', None) + self.sku = kwargs.get('sku', None) + self.state = None + self.provisioning_state = None + self.uri = None + self.data_ingestion_uri = None + self.state_reason = None + self.trusted_external_tenants = kwargs.get('trusted_external_tenants', None) + self.optimized_autoscale = kwargs.get('optimized_autoscale', None) + self.enable_disk_encryption = kwargs.get('enable_disk_encryption', None) + self.enable_streaming_ingest = kwargs.get('enable_streaming_ingest', False) + self.virtual_network_configuration = kwargs.get('virtual_network_configuration', None) + self.key_vault_properties = kwargs.get('key_vault_properties', None) + self.enable_purge = kwargs.get('enable_purge', False) + self.value = kwargs.get('value', None) + self.principal_id = None + self.tenant_id = None + self.type_identity_type = kwargs.get('type_identity_type', None) + self.user_assigned_identities = kwargs.get('user_assigned_identities', None) + + +class ComponentsSgqdofSchemasIdentityPropertiesUserassignedidentitiesAdditionalproperties(msrest.serialization.Model): + """ComponentsSgqdofSchemasIdentityPropertiesUserassignedidentitiesAdditionalproperties. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar principal_id: The principal id of user assigned identity. + :vartype principal_id: str + :ivar client_id: The client id of user assigned identity. + :vartype client_id: str + """ + + _validation = { + 'principal_id': {'readonly': True}, + 'client_id': {'readonly': True}, + } + + _attribute_map = { + 'principal_id': {'key': 'principalId', 'type': 'str'}, + 'client_id': {'key': 'clientId', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ComponentsSgqdofSchemasIdentityPropertiesUserassignedidentitiesAdditionalproperties, self).__init__(**kwargs) + self.principal_id = None + self.client_id = None + + +class Database(ProxyResource): + """Class representing a Kusto database. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: ReadOnlyFollowingDatabase, ReadWriteDatabase. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or + Microsoft.Storage/storageAccounts. + :vartype type: str + :param location: Resource location. + :type location: str + :param kind: Required. Kind of the database.Constant filled by server. Possible values + include: "ReadWrite", "ReadOnlyFollowing", "EventHub", "EventGrid", "IotHub". + :type kind: str or ~azure.mgmt.kusto.models.Kind + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'kind': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + } + + _subtype_map = { + 'kind': {'ReadOnlyFollowing': 'ReadOnlyFollowingDatabase', 'ReadWrite': 'ReadWriteDatabase'} + } + + def __init__( + self, + **kwargs + ): + super(Database, self).__init__(**kwargs) + self.location = kwargs.get('location', None) + self.kind = 'Database' + + +class DatabaseListResult(msrest.serialization.Model): + """The list Kusto databases operation response. + + :param value: The list of Kusto databases. + :type value: list[~azure.mgmt.kusto.models.Database] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[Database]'}, + } + + def __init__( + self, + **kwargs + ): + super(DatabaseListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + + +class DatabasePrincipal(msrest.serialization.Model): + """A class representing database principal entity. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :param role: Required. Database principal role. Possible values include: "Admin", "Ingestor", + "Monitor", "User", "UnrestrictedViewers", "Viewer". + :type role: str or ~azure.mgmt.kusto.models.DatabasePrincipalRole + :param name: Required. Database principal name. + :type name: str + :param type: Required. Database principal type. Possible values include: "App", "Group", + "User". + :type type: str or ~azure.mgmt.kusto.models.DatabasePrincipalType + :param fqn: Database principal fully qualified name. + :type fqn: str + :param email: Database principal email if exists. + :type email: str + :param app_id: Application id - relevant only for application principal type. + :type app_id: str + :ivar tenant_name: The tenant name of the principal. + :vartype tenant_name: str + """ + + _validation = { + 'role': {'required': True}, + 'name': {'required': True}, + 'type': {'required': True}, + 'tenant_name': {'readonly': True}, + } + + _attribute_map = { + 'role': {'key': 'role', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'fqn': {'key': 'fqn', 'type': 'str'}, + 'email': {'key': 'email', 'type': 'str'}, + 'app_id': {'key': 'appId', 'type': 'str'}, + 'tenant_name': {'key': 'tenantName', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(DatabasePrincipal, self).__init__(**kwargs) + self.role = kwargs['role'] + self.name = kwargs['name'] + self.type = kwargs['type'] + self.fqn = kwargs.get('fqn', None) + self.email = kwargs.get('email', None) + self.app_id = kwargs.get('app_id', None) + self.tenant_name = None + + +class DatabasePrincipalAssignment(ProxyResource): + """Class representing a database principal assignment. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or + Microsoft.Storage/storageAccounts. + :vartype type: str + :param principal_id: The principal ID assigned to the database principal. It can be a user + email, application ID, or security group name. + :type principal_id: str + :param role: Database principal role. Possible values include: "Admin", "Ingestor", "Monitor", + "User", "UnrestrictedViewers", "Viewer". + :type role: str or ~azure.mgmt.kusto.models.DatabasePrincipalRole + :param tenant_id: The tenant id of the principal. + :type tenant_id: str + :param principal_type: Principal type. Possible values include: "App", "Group", "User". + :type principal_type: str or ~azure.mgmt.kusto.models.PrincipalType + :ivar tenant_name: The tenant name of the principal. + :vartype tenant_name: str + :ivar principal_name: The principal name. + :vartype principal_name: str + :ivar provisioning_state: The provisioned state of the resource. Possible values include: + "Running", "Creating", "Deleting", "Succeeded", "Failed", "Moving". + :vartype provisioning_state: str or ~azure.mgmt.kusto.models.ProvisioningState + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'tenant_name': {'readonly': True}, + 'principal_name': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'principal_id': {'key': 'properties.principalId', 'type': 'str'}, + 'role': {'key': 'properties.role', 'type': 'str'}, + 'tenant_id': {'key': 'properties.tenantId', 'type': 'str'}, + 'principal_type': {'key': 'properties.principalType', 'type': 'str'}, + 'tenant_name': {'key': 'properties.tenantName', 'type': 'str'}, + 'principal_name': {'key': 'properties.principalName', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(DatabasePrincipalAssignment, self).__init__(**kwargs) + self.principal_id = kwargs.get('principal_id', None) + self.role = kwargs.get('role', None) + self.tenant_id = kwargs.get('tenant_id', None) + self.principal_type = kwargs.get('principal_type', None) + self.tenant_name = None + self.principal_name = None + self.provisioning_state = None + + +class DatabasePrincipalAssignmentCheckNameRequest(msrest.serialization.Model): + """A principal assignment check name availability request. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. Principal Assignment resource name. + :type name: str + :param type: Required. The type of resource, + Microsoft.Kusto/clusters/databases/principalAssignments. Possible values include: + "Microsoft.Kusto/clusters", "Microsoft.Kusto/clusters/databases", + "Microsoft.Kusto/clusters/attachedDatabaseConfigurations", + "Microsoft.Kusto/clusters/principalAssignments", + "Microsoft.Kusto/clusters/databases/dataConnections", + "Microsoft.Kusto/clusters/databases/principalAssignments". + :type type: str or ~azure.mgmt.kusto.models.Type + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(DatabasePrincipalAssignmentCheckNameRequest, self).__init__(**kwargs) + self.name = kwargs['name'] + self.type = kwargs['type'] + + +class DatabasePrincipalAssignmentListResult(msrest.serialization.Model): + """The list Kusto database principal assignments operation response. + + :param value: The list of Kusto database principal assignments. + :type value: list[~azure.mgmt.kusto.models.DatabasePrincipalAssignment] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[DatabasePrincipalAssignment]'}, + } + + def __init__( + self, + **kwargs + ): + super(DatabasePrincipalAssignmentListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + + +class DatabasePrincipalListRequest(msrest.serialization.Model): + """The list Kusto database principals operation request. + + :param value: The list of Kusto database principals. + :type value: list[~azure.mgmt.kusto.models.DatabasePrincipal] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[DatabasePrincipal]'}, + } + + def __init__( + self, + **kwargs + ): + super(DatabasePrincipalListRequest, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + + +class DatabasePrincipalListResult(msrest.serialization.Model): + """The list Kusto database principals operation response. + + :param value: The list of Kusto database principals. + :type value: list[~azure.mgmt.kusto.models.DatabasePrincipal] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[DatabasePrincipal]'}, + } + + def __init__( + self, + **kwargs + ): + super(DatabasePrincipalListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + + +class DatabaseStatistics(msrest.serialization.Model): + """A class that contains database statistics information. + + :param size: The database size - the total size of compressed data and index in bytes. + :type size: float + """ + + _attribute_map = { + 'size': {'key': 'size', 'type': 'float'}, + } + + def __init__( + self, + **kwargs + ): + super(DatabaseStatistics, self).__init__(**kwargs) + self.size = kwargs.get('size', None) + + +class DataConnection(ProxyResource): + """Class representing an data connection. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: EventGridDataConnection, EventHubDataConnection, IotHubDataConnection. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or + Microsoft.Storage/storageAccounts. + :vartype type: str + :param location: Resource location. + :type location: str + :param kind: Required. Kind of the endpoint for the data connection.Constant filled by server. + Possible values include: "ReadWrite", "ReadOnlyFollowing", "EventHub", "EventGrid", "IotHub". + :type kind: str or ~azure.mgmt.kusto.models.Kind + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'kind': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + } + + _subtype_map = { + 'kind': {'EventGrid': 'EventGridDataConnection', 'EventHub': 'EventHubDataConnection', 'IotHub': 'IotHubDataConnection'} + } + + def __init__( + self, + **kwargs + ): + super(DataConnection, self).__init__(**kwargs) + self.location = kwargs.get('location', None) + self.kind = 'DataConnection' + + +class DataConnectionCheckNameRequest(msrest.serialization.Model): + """A data connection check name availability request. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. Data Connection name. + :type name: str + :param type: Required. The type of resource, + Microsoft.Kusto/clusters/databases/dataConnections. Possible values include: + "Microsoft.Kusto/clusters", "Microsoft.Kusto/clusters/databases", + "Microsoft.Kusto/clusters/attachedDatabaseConfigurations", + "Microsoft.Kusto/clusters/principalAssignments", + "Microsoft.Kusto/clusters/databases/dataConnections", + "Microsoft.Kusto/clusters/databases/principalAssignments". + :type type: str or ~azure.mgmt.kusto.models.Type + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(DataConnectionCheckNameRequest, self).__init__(**kwargs) + self.name = kwargs['name'] + self.type = kwargs['type'] + + +class DataConnectionListResult(msrest.serialization.Model): + """The list Kusto data connections operation response. + + :param value: The list of Kusto data connections. + :type value: list[~azure.mgmt.kusto.models.DataConnection] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[DataConnection]'}, + } + + def __init__( + self, + **kwargs + ): + super(DataConnectionListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + + +class DataConnectionValidation(msrest.serialization.Model): + """Class representing an data connection validation. + + :param data_connection_name: The name of the data connection. + :type data_connection_name: str + :param properties: The data connection properties to validate. + :type properties: ~azure.mgmt.kusto.models.DataConnection + """ + + _attribute_map = { + 'data_connection_name': {'key': 'dataConnectionName', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'DataConnection'}, + } + + def __init__( + self, + **kwargs + ): + super(DataConnectionValidation, self).__init__(**kwargs) + self.data_connection_name = kwargs.get('data_connection_name', None) + self.properties = kwargs.get('properties', None) + + +class DataConnectionValidationListResult(msrest.serialization.Model): + """The list Kusto data connection validation result. + + :param value: The list of Kusto data connection validation errors. + :type value: list[~azure.mgmt.kusto.models.DataConnectionValidationResult] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[DataConnectionValidationResult]'}, + } + + def __init__( + self, + **kwargs + ): + super(DataConnectionValidationListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + + +class DataConnectionValidationResult(msrest.serialization.Model): + """The result returned from a data connection validation request. + + :param error_message: A message which indicates a problem in data connection validation. + :type error_message: str + """ + + _attribute_map = { + 'error_message': {'key': 'errorMessage', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(DataConnectionValidationResult, self).__init__(**kwargs) + self.error_message = kwargs.get('error_message', None) + + +class DiagnoseVirtualNetworkResult(msrest.serialization.Model): + """DiagnoseVirtualNetworkResult. + + :param findings: The list of network connectivity diagnostic finding. + :type findings: list[str] + """ + + _attribute_map = { + 'findings': {'key': 'findings', 'type': '[str]'}, + } + + def __init__( + self, + **kwargs + ): + super(DiagnoseVirtualNetworkResult, self).__init__(**kwargs) + self.findings = kwargs.get('findings', None) + + +class EventGridDataConnection(DataConnection): + """Class representing an Event Grid data connection. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or + Microsoft.Storage/storageAccounts. + :vartype type: str + :param location: Resource location. + :type location: str + :param kind: Required. Kind of the endpoint for the data connection.Constant filled by server. + Possible values include: "ReadWrite", "ReadOnlyFollowing", "EventHub", "EventGrid", "IotHub". + :type kind: str or ~azure.mgmt.kusto.models.Kind + :param storage_account_resource_id: The resource ID of the storage account where the data + resides. + :type storage_account_resource_id: str + :param event_hub_resource_id: The resource ID where the event grid is configured to send + events. + :type event_hub_resource_id: str + :param consumer_group: The event hub consumer group. + :type consumer_group: str + :param table_name: The table where the data should be ingested. Optionally the table + information can be added to each message. + :type table_name: str + :param mapping_rule_name: The mapping rule to be used to ingest the data. Optionally the + mapping information can be added to each message. + :type mapping_rule_name: str + :param data_format: The data format of the message. Optionally the data format can be added to + each message. Possible values include: "MULTIJSON", "JSON", "CSV", "TSV", "SCSV", "SOHSV", + "PSV", "TXT", "RAW", "SINGLEJSON", "AVRO", "TSVE", "PARQUET", "ORC". + :type data_format: str or ~azure.mgmt.kusto.models.EventGridDataFormat + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'kind': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'storage_account_resource_id': {'key': 'properties.storageAccountResourceId', 'type': 'str'}, + 'event_hub_resource_id': {'key': 'properties.eventHubResourceId', 'type': 'str'}, + 'consumer_group': {'key': 'properties.consumerGroup', 'type': 'str'}, + 'table_name': {'key': 'properties.tableName', 'type': 'str'}, + 'mapping_rule_name': {'key': 'properties.mappingRuleName', 'type': 'str'}, + 'data_format': {'key': 'properties.dataFormat', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(EventGridDataConnection, self).__init__(**kwargs) + self.kind = 'EventGrid' + self.storage_account_resource_id = kwargs.get('storage_account_resource_id', None) + self.event_hub_resource_id = kwargs.get('event_hub_resource_id', None) + self.consumer_group = kwargs.get('consumer_group', None) + self.table_name = kwargs.get('table_name', None) + self.mapping_rule_name = kwargs.get('mapping_rule_name', None) + self.data_format = kwargs.get('data_format', None) + + +class EventHubDataConnection(DataConnection): + """Class representing an event hub data connection. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or + Microsoft.Storage/storageAccounts. + :vartype type: str + :param location: Resource location. + :type location: str + :param kind: Required. Kind of the endpoint for the data connection.Constant filled by server. + Possible values include: "ReadWrite", "ReadOnlyFollowing", "EventHub", "EventGrid", "IotHub". + :type kind: str or ~azure.mgmt.kusto.models.Kind + :param event_hub_resource_id: The resource ID of the event hub to be used to create a data + connection. + :type event_hub_resource_id: str + :param consumer_group: The event hub consumer group. + :type consumer_group: str + :param table_name: The table where the data should be ingested. Optionally the table + information can be added to each message. + :type table_name: str + :param mapping_rule_name: The mapping rule to be used to ingest the data. Optionally the + mapping information can be added to each message. + :type mapping_rule_name: str + :param data_format: The data format of the message. Optionally the data format can be added to + each message. Possible values include: "MULTIJSON", "JSON", "CSV", "TSV", "SCSV", "SOHSV", + "PSV", "TXT", "RAW", "SINGLEJSON", "AVRO", "TSVE", "PARQUET", "ORC". + :type data_format: str or ~azure.mgmt.kusto.models.EventHubDataFormat + :param event_system_properties: System properties of the event hub. + :type event_system_properties: list[str] + :param compression: The event hub messages compression type. Possible values include: "None", + "GZip". + :type compression: str or ~azure.mgmt.kusto.models.Compression + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'kind': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'event_hub_resource_id': {'key': 'properties.eventHubResourceId', 'type': 'str'}, + 'consumer_group': {'key': 'properties.consumerGroup', 'type': 'str'}, + 'table_name': {'key': 'properties.tableName', 'type': 'str'}, + 'mapping_rule_name': {'key': 'properties.mappingRuleName', 'type': 'str'}, + 'data_format': {'key': 'properties.dataFormat', 'type': 'str'}, + 'event_system_properties': {'key': 'properties.eventSystemProperties', 'type': '[str]'}, + 'compression': {'key': 'properties.compression', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(EventHubDataConnection, self).__init__(**kwargs) + self.kind = 'EventHub' + self.event_hub_resource_id = kwargs.get('event_hub_resource_id', None) + self.consumer_group = kwargs.get('consumer_group', None) + self.table_name = kwargs.get('table_name', None) + self.mapping_rule_name = kwargs.get('mapping_rule_name', None) + self.data_format = kwargs.get('data_format', None) + self.event_system_properties = kwargs.get('event_system_properties', None) + self.compression = kwargs.get('compression', None) + + +class FollowerDatabaseDefinition(msrest.serialization.Model): + """A class representing follower database request. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :param cluster_resource_id: Required. Resource id of the cluster that follows a database owned + by this cluster. + :type cluster_resource_id: str + :param attached_database_configuration_name: Required. Resource name of the attached database + configuration in the follower cluster. + :type attached_database_configuration_name: str + :ivar database_name: The database name owned by this cluster that was followed. * in case + following all databases. + :vartype database_name: str + """ + + _validation = { + 'cluster_resource_id': {'required': True}, + 'attached_database_configuration_name': {'required': True}, + 'database_name': {'readonly': True}, + } + + _attribute_map = { + 'cluster_resource_id': {'key': 'clusterResourceId', 'type': 'str'}, + 'attached_database_configuration_name': {'key': 'attachedDatabaseConfigurationName', 'type': 'str'}, + 'database_name': {'key': 'databaseName', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(FollowerDatabaseDefinition, self).__init__(**kwargs) + self.cluster_resource_id = kwargs['cluster_resource_id'] + self.attached_database_configuration_name = kwargs['attached_database_configuration_name'] + self.database_name = None + + +class FollowerDatabaseListResult(msrest.serialization.Model): + """The list Kusto database principals operation response. + + :param value: The list of follower database result. + :type value: list[~azure.mgmt.kusto.models.FollowerDatabaseDefinition] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[FollowerDatabaseDefinition]'}, + } + + def __init__( + self, + **kwargs + ): + super(FollowerDatabaseListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + + +class IotHubDataConnection(DataConnection): + """Class representing an iot hub data connection. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or + Microsoft.Storage/storageAccounts. + :vartype type: str + :param location: Resource location. + :type location: str + :param kind: Required. Kind of the endpoint for the data connection.Constant filled by server. + Possible values include: "ReadWrite", "ReadOnlyFollowing", "EventHub", "EventGrid", "IotHub". + :type kind: str or ~azure.mgmt.kusto.models.Kind + :param iot_hub_resource_id: The resource ID of the Iot hub to be used to create a data + connection. + :type iot_hub_resource_id: str + :param consumer_group: The iot hub consumer group. + :type consumer_group: str + :param table_name: The table where the data should be ingested. Optionally the table + information can be added to each message. + :type table_name: str + :param mapping_rule_name: The mapping rule to be used to ingest the data. Optionally the + mapping information can be added to each message. + :type mapping_rule_name: str + :param data_format: The data format of the message. Optionally the data format can be added to + each message. Possible values include: "MULTIJSON", "JSON", "CSV", "TSV", "SCSV", "SOHSV", + "PSV", "TXT", "RAW", "SINGLEJSON", "AVRO", "TSVE", "PARQUET", "ORC". + :type data_format: str or ~azure.mgmt.kusto.models.IotHubDataFormat + :param event_system_properties: System properties of the iot hub. + :type event_system_properties: list[str] + :param shared_access_policy_name: The name of the share access policy. + :type shared_access_policy_name: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'kind': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'iot_hub_resource_id': {'key': 'properties.iotHubResourceId', 'type': 'str'}, + 'consumer_group': {'key': 'properties.consumerGroup', 'type': 'str'}, + 'table_name': {'key': 'properties.tableName', 'type': 'str'}, + 'mapping_rule_name': {'key': 'properties.mappingRuleName', 'type': 'str'}, + 'data_format': {'key': 'properties.dataFormat', 'type': 'str'}, + 'event_system_properties': {'key': 'properties.eventSystemProperties', 'type': '[str]'}, + 'shared_access_policy_name': {'key': 'properties.sharedAccessPolicyName', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(IotHubDataConnection, self).__init__(**kwargs) + self.kind = 'IotHub' + self.iot_hub_resource_id = kwargs.get('iot_hub_resource_id', None) + self.consumer_group = kwargs.get('consumer_group', None) + self.table_name = kwargs.get('table_name', None) + self.mapping_rule_name = kwargs.get('mapping_rule_name', None) + self.data_format = kwargs.get('data_format', None) + self.event_system_properties = kwargs.get('event_system_properties', None) + self.shared_access_policy_name = kwargs.get('shared_access_policy_name', None) + + +class KeyVaultProperties(msrest.serialization.Model): + """Properties of the key vault. + + All required parameters must be populated in order to send to Azure. + + :param key_name: Required. The name of the key vault key. + :type key_name: str + :param key_version: Required. The version of the key vault key. + :type key_version: str + :param key_vault_uri: Required. The Uri of the key vault. + :type key_vault_uri: str + """ + + _validation = { + 'key_name': {'required': True}, + 'key_version': {'required': True}, + 'key_vault_uri': {'required': True}, + } + + _attribute_map = { + 'key_name': {'key': 'keyName', 'type': 'str'}, + 'key_version': {'key': 'keyVersion', 'type': 'str'}, + 'key_vault_uri': {'key': 'keyVaultUri', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(KeyVaultProperties, self).__init__(**kwargs) + self.key_name = kwargs['key_name'] + self.key_version = kwargs['key_version'] + self.key_vault_uri = kwargs['key_vault_uri'] + + +class LanguageExtension(msrest.serialization.Model): + """The language extension object. + + :param language_extension_name: The language extension name. Possible values include: "PYTHON", + "R". + :type language_extension_name: str or ~azure.mgmt.kusto.models.LanguageExtensionName + """ + + _attribute_map = { + 'language_extension_name': {'key': 'languageExtensionName', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(LanguageExtension, self).__init__(**kwargs) + self.language_extension_name = kwargs.get('language_extension_name', None) + + +class LanguageExtensionsList(msrest.serialization.Model): + """The list of language extension objects. + + :param value: The list of language extensions. + :type value: list[~azure.mgmt.kusto.models.LanguageExtension] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[LanguageExtension]'}, + } + + def __init__( + self, + **kwargs + ): + super(LanguageExtensionsList, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + + +class ListResourceSkusResult(msrest.serialization.Model): + """List of available SKUs for a Kusto Cluster. + + :param value: The collection of available SKUs for an existing resource. + :type value: list[~azure.mgmt.kusto.models.AzureResourceSku] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[AzureResourceSku]'}, + } + + def __init__( + self, + **kwargs + ): + super(ListResourceSkusResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + + +class Operation(msrest.serialization.Model): + """A REST API operation. + + :param name: This is of the format {provider}/{resource}/{operation}. + :type name: str + :param display: The object that describes the operation. + :type display: ~azure.mgmt.kusto.models.OperationDisplay + :param origin: The intended executor of the operation. + :type origin: str + :param properties: Any object. + :type properties: object + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'OperationDisplay'}, + 'origin': {'key': 'origin', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(Operation, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.display = kwargs.get('display', None) + self.origin = kwargs.get('origin', None) + self.properties = kwargs.get('properties', None) + + +class OperationDisplay(msrest.serialization.Model): + """The object that describes the operation. + + :param provider: Friendly name of the resource provider. + :type provider: str + :param operation: For example: read, write, delete. + :type operation: str + :param resource: The resource type on which the operation is performed. + :type resource: str + :param description: The friendly name of the operation. + :type description: str + """ + + _attribute_map = { + 'provider': {'key': 'provider', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(OperationDisplay, self).__init__(**kwargs) + self.provider = kwargs.get('provider', None) + self.operation = kwargs.get('operation', None) + self.resource = kwargs.get('resource', None) + self.description = kwargs.get('description', None) + + +class OperationListResult(msrest.serialization.Model): + """Result of the request to list REST API operations. It contains a list of operations and a URL nextLink to get the next set of results. + + :param value: The list of operations supported by the resource provider. + :type value: list[~azure.mgmt.kusto.models.Operation] + :param next_link: The URL to get the next set of operation list results if there are any. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[Operation]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(OperationListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class OptimizedAutoscale(msrest.serialization.Model): + """A class that contains the optimized auto scale definition. + + All required parameters must be populated in order to send to Azure. + + :param version: Required. The version of the template defined, for instance 1. + :type version: int + :param is_enabled: Required. A boolean value that indicate if the optimized autoscale feature + is enabled or not. + :type is_enabled: bool + :param minimum: Required. Minimum allowed instances count. + :type minimum: int + :param maximum: Required. Maximum allowed instances count. + :type maximum: int + """ + + _validation = { + 'version': {'required': True}, + 'is_enabled': {'required': True}, + 'minimum': {'required': True}, + 'maximum': {'required': True}, + } + + _attribute_map = { + 'version': {'key': 'version', 'type': 'int'}, + 'is_enabled': {'key': 'isEnabled', 'type': 'bool'}, + 'minimum': {'key': 'minimum', 'type': 'int'}, + 'maximum': {'key': 'maximum', 'type': 'int'}, + } + + def __init__( + self, + **kwargs + ): + super(OptimizedAutoscale, self).__init__(**kwargs) + self.version = kwargs['version'] + self.is_enabled = kwargs['is_enabled'] + self.minimum = kwargs['minimum'] + self.maximum = kwargs['maximum'] + + +class ReadOnlyFollowingDatabase(Database): + """Class representing a read only following database. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or + Microsoft.Storage/storageAccounts. + :vartype type: str + :param location: Resource location. + :type location: str + :param kind: Required. Kind of the database.Constant filled by server. Possible values + include: "ReadWrite", "ReadOnlyFollowing", "EventHub", "EventGrid", "IotHub". + :type kind: str or ~azure.mgmt.kusto.models.Kind + :ivar provisioning_state: The provisioned state of the resource. Possible values include: + "Running", "Creating", "Deleting", "Succeeded", "Failed", "Moving". + :vartype provisioning_state: str or ~azure.mgmt.kusto.models.ProvisioningState + :ivar soft_delete_period: The time the data should be kept before it stops being accessible to + queries in TimeSpan. + :vartype soft_delete_period: ~datetime.timedelta + :param hot_cache_period: The time the data should be kept in cache for fast queries in + TimeSpan. + :type hot_cache_period: ~datetime.timedelta + :ivar statistics: The statistics of the database. + :vartype statistics: ~azure.mgmt.kusto.models.DatabaseStatistics + :ivar leader_cluster_resource_id: The name of the leader cluster. + :vartype leader_cluster_resource_id: str + :ivar attached_database_configuration_name: The name of the attached database configuration + cluster. + :vartype attached_database_configuration_name: str + :ivar principals_modification_kind: The principals modification kind of the database. Possible + values include: "Union", "Replace", "None". + :vartype principals_modification_kind: str or + ~azure.mgmt.kusto.models.PrincipalsModificationKind + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'kind': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'soft_delete_period': {'readonly': True}, + 'statistics': {'readonly': True}, + 'leader_cluster_resource_id': {'readonly': True}, + 'attached_database_configuration_name': {'readonly': True}, + 'principals_modification_kind': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'soft_delete_period': {'key': 'properties.softDeletePeriod', 'type': 'duration'}, + 'hot_cache_period': {'key': 'properties.hotCachePeriod', 'type': 'duration'}, + 'statistics': {'key': 'properties.statistics', 'type': 'DatabaseStatistics'}, + 'leader_cluster_resource_id': {'key': 'properties.leaderClusterResourceId', 'type': 'str'}, + 'attached_database_configuration_name': {'key': 'properties.attachedDatabaseConfigurationName', 'type': 'str'}, + 'principals_modification_kind': {'key': 'properties.principalsModificationKind', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ReadOnlyFollowingDatabase, self).__init__(**kwargs) + self.kind = 'ReadOnlyFollowing' + self.provisioning_state = None + self.soft_delete_period = None + self.hot_cache_period = kwargs.get('hot_cache_period', None) + self.statistics = None + self.leader_cluster_resource_id = None + self.attached_database_configuration_name = None + self.principals_modification_kind = None + + +class ReadWriteDatabase(Database): + """Class representing a read write database. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or + Microsoft.Storage/storageAccounts. + :vartype type: str + :param location: Resource location. + :type location: str + :param kind: Required. Kind of the database.Constant filled by server. Possible values + include: "ReadWrite", "ReadOnlyFollowing", "EventHub", "EventGrid", "IotHub". + :type kind: str or ~azure.mgmt.kusto.models.Kind + :ivar provisioning_state: The provisioned state of the resource. Possible values include: + "Running", "Creating", "Deleting", "Succeeded", "Failed", "Moving". + :vartype provisioning_state: str or ~azure.mgmt.kusto.models.ProvisioningState + :param soft_delete_period: The time the data should be kept before it stops being accessible to + queries in TimeSpan. + :type soft_delete_period: ~datetime.timedelta + :param hot_cache_period: The time the data should be kept in cache for fast queries in + TimeSpan. + :type hot_cache_period: ~datetime.timedelta + :ivar statistics: The statistics of the database. + :vartype statistics: ~azure.mgmt.kusto.models.DatabaseStatistics + :ivar is_followed: Indicates whether the database is followed. + :vartype is_followed: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'kind': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'statistics': {'readonly': True}, + 'is_followed': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'soft_delete_period': {'key': 'properties.softDeletePeriod', 'type': 'duration'}, + 'hot_cache_period': {'key': 'properties.hotCachePeriod', 'type': 'duration'}, + 'statistics': {'key': 'properties.statistics', 'type': 'DatabaseStatistics'}, + 'is_followed': {'key': 'properties.isFollowed', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ReadWriteDatabase, self).__init__(**kwargs) + self.kind = 'ReadWrite' + self.provisioning_state = None + self.soft_delete_period = kwargs.get('soft_delete_period', None) + self.hot_cache_period = kwargs.get('hot_cache_period', None) + self.statistics = None + self.is_followed = None + + +class SkuDescription(msrest.serialization.Model): + """The Kusto SKU description of given resource type. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar resource_type: The resource type. + :vartype resource_type: str + :ivar name: The name of the SKU. + :vartype name: str + :ivar tier: The tier of the SKU. + :vartype tier: str + :ivar locations: The set of locations that the SKU is available. + :vartype locations: list[str] + :ivar location_info: Locations and zones. + :vartype location_info: list[~azure.mgmt.kusto.models.SkuLocationInfoItem] + :ivar restrictions: The restrictions because of which SKU cannot be used. + :vartype restrictions: list[object] + """ + + _validation = { + 'resource_type': {'readonly': True}, + 'name': {'readonly': True}, + 'tier': {'readonly': True}, + 'locations': {'readonly': True}, + 'location_info': {'readonly': True}, + 'restrictions': {'readonly': True}, + } + + _attribute_map = { + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + 'locations': {'key': 'locations', 'type': '[str]'}, + 'location_info': {'key': 'locationInfo', 'type': '[SkuLocationInfoItem]'}, + 'restrictions': {'key': 'restrictions', 'type': '[object]'}, + } + + def __init__( + self, + **kwargs + ): + super(SkuDescription, self).__init__(**kwargs) + self.resource_type = None + self.name = None + self.tier = None + self.locations = None + self.location_info = None + self.restrictions = None + + +class SkuDescriptionList(msrest.serialization.Model): + """The list of the EngagementFabric SKU descriptions. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: SKU descriptions. + :vartype value: list[~azure.mgmt.kusto.models.SkuDescription] + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[SkuDescription]'}, + } + + def __init__( + self, + **kwargs + ): + super(SkuDescriptionList, self).__init__(**kwargs) + self.value = None + + +class SkuLocationInfoItem(msrest.serialization.Model): + """The locations and zones info for SKU. + + All required parameters must be populated in order to send to Azure. + + :param location: Required. The available location of the SKU. + :type location: str + :param zones: The available zone of the SKU. + :type zones: list[str] + """ + + _validation = { + 'location': {'required': True}, + } + + _attribute_map = { + 'location': {'key': 'location', 'type': 'str'}, + 'zones': {'key': 'zones', 'type': '[str]'}, + } + + def __init__( + self, + **kwargs + ): + super(SkuLocationInfoItem, self).__init__(**kwargs) + self.location = kwargs['location'] + self.zones = kwargs.get('zones', None) + + +class TrustedExternalTenant(msrest.serialization.Model): + """Represents a tenant ID that is trusted by the cluster. + + :param value: GUID representing an external tenant. + :type value: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(TrustedExternalTenant, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + + +class VirtualNetworkConfiguration(msrest.serialization.Model): + """A class that contains virtual network definition. + + All required parameters must be populated in order to send to Azure. + + :param subnet_id: Required. The subnet resource id. + :type subnet_id: str + :param engine_public_ip_id: Required. Engine service's public IP address resource id. + :type engine_public_ip_id: str + :param data_management_public_ip_id: Required. Data management's service public IP address + resource id. + :type data_management_public_ip_id: str + """ + + _validation = { + 'subnet_id': {'required': True}, + 'engine_public_ip_id': {'required': True}, + 'data_management_public_ip_id': {'required': True}, + } + + _attribute_map = { + 'subnet_id': {'key': 'subnetId', 'type': 'str'}, + 'engine_public_ip_id': {'key': 'enginePublicIpId', 'type': 'str'}, + 'data_management_public_ip_id': {'key': 'dataManagementPublicIpId', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(VirtualNetworkConfiguration, self).__init__(**kwargs) + self.subnet_id = kwargs['subnet_id'] + self.engine_public_ip_id = kwargs['engine_public_ip_id'] + self.data_management_public_ip_id = kwargs['data_management_public_ip_id'] diff --git a/src/kusto/azext_kusto/vendored_sdks/kusto/models/_models_py3.py b/src/kusto/azext_kusto/vendored_sdks/kusto/models/_models_py3.py new file mode 100644 index 00000000000..c0114c710a3 --- /dev/null +++ b/src/kusto/azext_kusto/vendored_sdks/kusto/models/_models_py3.py @@ -0,0 +1,2412 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +import datetime +from typing import Dict, List, Optional, Union + +import msrest.serialization + + +class Resource(msrest.serialization.Model): + """Resource. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or + Microsoft.Storage/storageAccounts. + :vartype type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(Resource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + + +class ProxyResource(Resource): + """The resource model definition for a ARM proxy resource. It will have everything other than required location and tags. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or + Microsoft.Storage/storageAccounts. + :vartype type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ProxyResource, self).__init__(**kwargs) + + +class AttachedDatabaseConfiguration(ProxyResource): + """Class representing an attached database configuration. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or + Microsoft.Storage/storageAccounts. + :vartype type: str + :param location: Resource location. + :type location: str + :ivar provisioning_state: The provisioned state of the resource. Possible values include: + "Running", "Creating", "Deleting", "Succeeded", "Failed", "Moving". + :vartype provisioning_state: str or ~azure.mgmt.kusto.models.ProvisioningState + :param database_name: The name of the database which you would like to attach, use * if you + want to follow all current and future databases. + :type database_name: str + :param cluster_resource_id: The resource id of the cluster where the databases you would like + to attach reside. + :type cluster_resource_id: str + :ivar attached_database_names: The list of databases from the clusterResourceId which are + currently attached to the cluster. + :vartype attached_database_names: list[str] + :param default_principals_modification_kind: The default principals modification kind. Possible + values include: "Union", "Replace", "None". + :type default_principals_modification_kind: str or + ~azure.mgmt.kusto.models.DefaultPrincipalsModificationKind + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'attached_database_names': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'database_name': {'key': 'properties.databaseName', 'type': 'str'}, + 'cluster_resource_id': {'key': 'properties.clusterResourceId', 'type': 'str'}, + 'attached_database_names': {'key': 'properties.attachedDatabaseNames', 'type': '[str]'}, + 'default_principals_modification_kind': {'key': 'properties.defaultPrincipalsModificationKind', 'type': 'str'}, + } + + def __init__( + self, + *, + location: Optional[str] = None, + database_name: Optional[str] = None, + cluster_resource_id: Optional[str] = None, + default_principals_modification_kind: Optional[Union[str, "DefaultPrincipalsModificationKind"]] = None, + **kwargs + ): + super(AttachedDatabaseConfiguration, self).__init__(**kwargs) + self.location = location + self.provisioning_state = None + self.database_name = database_name + self.cluster_resource_id = cluster_resource_id + self.attached_database_names = None + self.default_principals_modification_kind = default_principals_modification_kind + + +class AttachedDatabaseConfigurationListResult(msrest.serialization.Model): + """The list attached database configurations operation response. + + :param value: The list of attached database configurations. + :type value: list[~azure.mgmt.kusto.models.AttachedDatabaseConfiguration] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[AttachedDatabaseConfiguration]'}, + } + + def __init__( + self, + *, + value: Optional[List["AttachedDatabaseConfiguration"]] = None, + **kwargs + ): + super(AttachedDatabaseConfigurationListResult, self).__init__(**kwargs) + self.value = value + + +class AzureCapacity(msrest.serialization.Model): + """Azure capacity definition. + + All required parameters must be populated in order to send to Azure. + + :param scale_type: Required. Scale type. Possible values include: "automatic", "manual", + "none". + :type scale_type: str or ~azure.mgmt.kusto.models.AzureScaleType + :param minimum: Required. Minimum allowed capacity. + :type minimum: int + :param maximum: Required. Maximum allowed capacity. + :type maximum: int + :param default: Required. The default capacity that would be used. + :type default: int + """ + + _validation = { + 'scale_type': {'required': True}, + 'minimum': {'required': True}, + 'maximum': {'required': True}, + 'default': {'required': True}, + } + + _attribute_map = { + 'scale_type': {'key': 'scaleType', 'type': 'str'}, + 'minimum': {'key': 'minimum', 'type': 'int'}, + 'maximum': {'key': 'maximum', 'type': 'int'}, + 'default': {'key': 'default', 'type': 'int'}, + } + + def __init__( + self, + *, + scale_type: Union[str, "AzureScaleType"], + minimum: int, + maximum: int, + default: int, + **kwargs + ): + super(AzureCapacity, self).__init__(**kwargs) + self.scale_type = scale_type + self.minimum = minimum + self.maximum = maximum + self.default = default + + +class AzureResourceSku(msrest.serialization.Model): + """Azure resource SKU definition. + + :param resource_type: Resource Namespace and Type. + :type resource_type: str + :param sku: The SKU details. + :type sku: ~azure.mgmt.kusto.models.AzureSku + :param capacity: The number of instances of the cluster. + :type capacity: ~azure.mgmt.kusto.models.AzureCapacity + """ + + _attribute_map = { + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'sku': {'key': 'sku', 'type': 'AzureSku'}, + 'capacity': {'key': 'capacity', 'type': 'AzureCapacity'}, + } + + def __init__( + self, + *, + resource_type: Optional[str] = None, + sku: Optional["AzureSku"] = None, + capacity: Optional["AzureCapacity"] = None, + **kwargs + ): + super(AzureResourceSku, self).__init__(**kwargs) + self.resource_type = resource_type + self.sku = sku + self.capacity = capacity + + +class AzureSku(msrest.serialization.Model): + """Azure SKU definition. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. SKU name. Possible values include: "Standard_DS13_v2+1TB_PS", + "Standard_DS13_v2+2TB_PS", "Standard_DS14_v2+3TB_PS", "Standard_DS14_v2+4TB_PS", + "Standard_D13_v2", "Standard_D14_v2", "Standard_L8s", "Standard_L16s", "Standard_D11_v2", + "Standard_D12_v2", "Standard_L4s", "Dev(No SLA)_Standard_D11_v2", "Standard_E2a_v4", + "Standard_E4a_v4", "Standard_E8a_v4", "Standard_E16a_v4", "Standard_E8as_v4+1TB_PS", + "Standard_E8as_v4+2TB_PS", "Standard_E16as_v4+3TB_PS", "Standard_E16as_v4+4TB_PS", "Dev(No + SLA)_Standard_E2a_v4". + :type name: str or ~azure.mgmt.kusto.models.AzureSkuName + :param capacity: The number of instances of the cluster. + :type capacity: int + :param tier: Required. SKU tier. Possible values include: "Basic", "Standard". + :type tier: str or ~azure.mgmt.kusto.models.AzureSkuTier + """ + + _validation = { + 'name': {'required': True}, + 'tier': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'capacity': {'key': 'capacity', 'type': 'int'}, + 'tier': {'key': 'tier', 'type': 'str'}, + } + + def __init__( + self, + *, + name: Union[str, "AzureSkuName"], + tier: Union[str, "AzureSkuTier"], + capacity: Optional[int] = None, + **kwargs + ): + super(AzureSku, self).__init__(**kwargs) + self.name = name + self.capacity = capacity + self.tier = tier + + +class CheckNameRequest(msrest.serialization.Model): + """The result returned from a database check name availability request. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. Resource name. + :type name: str + :param type: Required. The type of resource, for instance Microsoft.Kusto/clusters/databases. + Possible values include: "Microsoft.Kusto/clusters", "Microsoft.Kusto/clusters/databases", + "Microsoft.Kusto/clusters/attachedDatabaseConfigurations", + "Microsoft.Kusto/clusters/principalAssignments", + "Microsoft.Kusto/clusters/databases/dataConnections", + "Microsoft.Kusto/clusters/databases/principalAssignments". + :type type: str or ~azure.mgmt.kusto.models.Type + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__( + self, + *, + name: str, + type: Union[str, "Type"], + **kwargs + ): + super(CheckNameRequest, self).__init__(**kwargs) + self.name = name + self.type = type + + +class CheckNameResult(msrest.serialization.Model): + """The result returned from a check name availability request. + + :param name_available: Specifies a Boolean value that indicates if the name is available. + :type name_available: bool + :param name: The name that was checked. + :type name: str + :param message: Message indicating an unavailable name due to a conflict, or a description of + the naming rules that are violated. + :type message: str + :param reason: Message providing the reason why the given name is invalid. Possible values + include: "Invalid", "AlreadyExists". + :type reason: str or ~azure.mgmt.kusto.models.Reason + """ + + _attribute_map = { + 'name_available': {'key': 'nameAvailable', 'type': 'bool'}, + 'name': {'key': 'name', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'reason': {'key': 'reason', 'type': 'str'}, + } + + def __init__( + self, + *, + name_available: Optional[bool] = None, + name: Optional[str] = None, + message: Optional[str] = None, + reason: Optional[Union[str, "Reason"]] = None, + **kwargs + ): + super(CheckNameResult, self).__init__(**kwargs) + self.name_available = name_available + self.name = name + self.message = message + self.reason = reason + + +class CloudErrorBody(msrest.serialization.Model): + """An error response from Kusto. + + :param code: An identifier for the error. Codes are invariant and are intended to be consumed + programmatically. + :type code: str + :param message: A message describing the error, intended to be suitable for displaying in a + user interface. + :type message: str + :param target: The target of the particular error. For example, the name of the property in + error. + :type target: str + :param details: A list of additional details about the error. + :type details: list[~azure.mgmt.kusto.models.CloudErrorBody] + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[CloudErrorBody]'}, + } + + def __init__( + self, + *, + code: Optional[str] = None, + message: Optional[str] = None, + target: Optional[str] = None, + details: Optional[List["CloudErrorBody"]] = None, + **kwargs + ): + super(CloudErrorBody, self).__init__(**kwargs) + self.code = code + self.message = message + self.target = target + self.details = details + + +class TrackedResource(Resource): + """The resource model definition for a ARM tracked top level resource. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or + Microsoft.Storage/storageAccounts. + :vartype type: str + :param tags: A set of tags. Resource tags. + :type tags: dict[str, str] + :param location: Required. The geo-location where the resource lives. + :type location: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'location': {'key': 'location', 'type': 'str'}, + } + + def __init__( + self, + *, + location: str, + tags: Optional[Dict[str, str]] = None, + **kwargs + ): + super(TrackedResource, self).__init__(**kwargs) + self.tags = tags + self.location = location + + +class Cluster(TrackedResource): + """Class representing a Kusto cluster. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or + Microsoft.Storage/storageAccounts. + :vartype type: str + :param tags: A set of tags. Resource tags. + :type tags: dict[str, str] + :param location: Required. The geo-location where the resource lives. + :type location: str + :param sku: Required. The SKU of the cluster. + :type sku: ~azure.mgmt.kusto.models.AzureSku + :param zones: The availability zones of the cluster. + :type zones: list[str] + :ivar state: The state of the resource. Possible values include: "Creating", "Unavailable", + "Running", "Deleting", "Deleted", "Stopping", "Stopped", "Starting", "Updating". + :vartype state: str or ~azure.mgmt.kusto.models.State + :ivar provisioning_state: The provisioned state of the resource. Possible values include: + "Running", "Creating", "Deleting", "Succeeded", "Failed", "Moving". + :vartype provisioning_state: str or ~azure.mgmt.kusto.models.ProvisioningState + :ivar uri: The cluster URI. + :vartype uri: str + :ivar data_ingestion_uri: The cluster data ingestion URI. + :vartype data_ingestion_uri: str + :ivar state_reason: The reason for the cluster's current state. + :vartype state_reason: str + :param trusted_external_tenants: The cluster's external tenants. + :type trusted_external_tenants: list[~azure.mgmt.kusto.models.TrustedExternalTenant] + :param optimized_autoscale: Optimized auto scale definition. + :type optimized_autoscale: ~azure.mgmt.kusto.models.OptimizedAutoscale + :param enable_disk_encryption: A boolean value that indicates if the cluster's disks are + encrypted. + :type enable_disk_encryption: bool + :param enable_streaming_ingest: A boolean value that indicates if the streaming ingest is + enabled. + :type enable_streaming_ingest: bool + :param virtual_network_configuration: Virtual network definition. + :type virtual_network_configuration: ~azure.mgmt.kusto.models.VirtualNetworkConfiguration + :param key_vault_properties: KeyVault properties for the cluster encryption. + :type key_vault_properties: ~azure.mgmt.kusto.models.KeyVaultProperties + :param enable_purge: A boolean value that indicates if the purge operations are enabled. + :type enable_purge: bool + :param value: The list of language extensions. + :type value: list[~azure.mgmt.kusto.models.LanguageExtension] + :ivar principal_id: The principal ID of resource identity. + :vartype principal_id: str + :ivar tenant_id: The tenant ID of resource. + :vartype tenant_id: str + :param type_identity_type: The identity type. Possible values include: "None", + "SystemAssigned". + :type type_identity_type: str or ~azure.mgmt.kusto.models.IdentityType + :param user_assigned_identities: The list of user identities associated with the Kusto cluster. + The user identity dictionary key references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + :type user_assigned_identities: dict[str, + ~azure.mgmt.kusto.models.ComponentsSgqdofSchemasIdentityPropertiesUserassignedidentitiesAdditionalproperties] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + 'sku': {'required': True}, + 'state': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'uri': {'readonly': True}, + 'data_ingestion_uri': {'readonly': True}, + 'state_reason': {'readonly': True}, + 'principal_id': {'readonly': True}, + 'tenant_id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'location': {'key': 'location', 'type': 'str'}, + 'sku': {'key': 'sku', 'type': 'AzureSku'}, + 'zones': {'key': 'zones', 'type': '[str]'}, + 'state': {'key': 'properties.state', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'uri': {'key': 'properties.uri', 'type': 'str'}, + 'data_ingestion_uri': {'key': 'properties.dataIngestionUri', 'type': 'str'}, + 'state_reason': {'key': 'properties.stateReason', 'type': 'str'}, + 'trusted_external_tenants': {'key': 'properties.trustedExternalTenants', 'type': '[TrustedExternalTenant]'}, + 'optimized_autoscale': {'key': 'properties.optimizedAutoscale', 'type': 'OptimizedAutoscale'}, + 'enable_disk_encryption': {'key': 'properties.enableDiskEncryption', 'type': 'bool'}, + 'enable_streaming_ingest': {'key': 'properties.enableStreamingIngest', 'type': 'bool'}, + 'virtual_network_configuration': {'key': 'properties.virtualNetworkConfiguration', 'type': 'VirtualNetworkConfiguration'}, + 'key_vault_properties': {'key': 'properties.keyVaultProperties', 'type': 'KeyVaultProperties'}, + 'enable_purge': {'key': 'properties.enablePurge', 'type': 'bool'}, + 'value': {'key': 'properties.languageExtensions.value', 'type': '[LanguageExtension]'}, + 'principal_id': {'key': 'identity.principalId', 'type': 'str'}, + 'tenant_id': {'key': 'identity.tenantId', 'type': 'str'}, + 'type_identity_type': {'key': 'identity.type', 'type': 'str'}, + 'user_assigned_identities': {'key': 'identity.userAssignedIdentities', 'type': '{ComponentsSgqdofSchemasIdentityPropertiesUserassignedidentitiesAdditionalproperties}'}, + } + + def __init__( + self, + *, + location: str, + sku: "AzureSku", + tags: Optional[Dict[str, str]] = None, + zones: Optional[List[str]] = None, + trusted_external_tenants: Optional[List["TrustedExternalTenant"]] = None, + optimized_autoscale: Optional["OptimizedAutoscale"] = None, + enable_disk_encryption: Optional[bool] = None, + enable_streaming_ingest: Optional[bool] = False, + virtual_network_configuration: Optional["VirtualNetworkConfiguration"] = None, + key_vault_properties: Optional["KeyVaultProperties"] = None, + enable_purge: Optional[bool] = False, + value: Optional[List["LanguageExtension"]] = None, + type_identity_type: Optional[Union[str, "IdentityType"]] = None, + user_assigned_identities: Optional[Dict[str, "ComponentsSgqdofSchemasIdentityPropertiesUserassignedidentitiesAdditionalproperties"]] = None, + **kwargs + ): + super(Cluster, self).__init__(tags=tags, location=location, **kwargs) + self.sku = sku + self.zones = zones + self.state = None + self.provisioning_state = None + self.uri = None + self.data_ingestion_uri = None + self.state_reason = None + self.trusted_external_tenants = trusted_external_tenants + self.optimized_autoscale = optimized_autoscale + self.enable_disk_encryption = enable_disk_encryption + self.enable_streaming_ingest = enable_streaming_ingest + self.virtual_network_configuration = virtual_network_configuration + self.key_vault_properties = key_vault_properties + self.enable_purge = enable_purge + self.value = value + self.principal_id = None + self.tenant_id = None + self.type_identity_type = type_identity_type + self.user_assigned_identities = user_assigned_identities + + +class ClusterCheckNameRequest(msrest.serialization.Model): + """The result returned from a cluster check name availability request. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. Cluster name. + :type name: str + :param type: Required. The type of resource, Microsoft.Kusto/clusters. Possible values include: + "Microsoft.Kusto/clusters", "Microsoft.Kusto/clusters/databases", + "Microsoft.Kusto/clusters/attachedDatabaseConfigurations", + "Microsoft.Kusto/clusters/principalAssignments", + "Microsoft.Kusto/clusters/databases/dataConnections", + "Microsoft.Kusto/clusters/databases/principalAssignments". + :type type: str or ~azure.mgmt.kusto.models.Type + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__( + self, + *, + name: str, + type: Union[str, "Type"], + **kwargs + ): + super(ClusterCheckNameRequest, self).__init__(**kwargs) + self.name = name + self.type = type + + +class ClusterListResult(msrest.serialization.Model): + """The list Kusto clusters operation response. + + :param value: The list of Kusto clusters. + :type value: list[~azure.mgmt.kusto.models.Cluster] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[Cluster]'}, + } + + def __init__( + self, + *, + value: Optional[List["Cluster"]] = None, + **kwargs + ): + super(ClusterListResult, self).__init__(**kwargs) + self.value = value + + +class ClusterPrincipalAssignment(ProxyResource): + """Class representing a cluster principal assignment. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or + Microsoft.Storage/storageAccounts. + :vartype type: str + :param principal_id: The principal ID assigned to the cluster principal. It can be a user + email, application ID, or security group name. + :type principal_id: str + :param role: Cluster principal role. Possible values include: "AllDatabasesAdmin", + "AllDatabasesViewer". + :type role: str or ~azure.mgmt.kusto.models.ClusterPrincipalRole + :param tenant_id: The tenant id of the principal. + :type tenant_id: str + :param principal_type: Principal type. Possible values include: "App", "Group", "User". + :type principal_type: str or ~azure.mgmt.kusto.models.PrincipalType + :ivar tenant_name: The tenant name of the principal. + :vartype tenant_name: str + :ivar principal_name: The principal name. + :vartype principal_name: str + :ivar provisioning_state: The provisioned state of the resource. Possible values include: + "Running", "Creating", "Deleting", "Succeeded", "Failed", "Moving". + :vartype provisioning_state: str or ~azure.mgmt.kusto.models.ProvisioningState + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'tenant_name': {'readonly': True}, + 'principal_name': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'principal_id': {'key': 'properties.principalId', 'type': 'str'}, + 'role': {'key': 'properties.role', 'type': 'str'}, + 'tenant_id': {'key': 'properties.tenantId', 'type': 'str'}, + 'principal_type': {'key': 'properties.principalType', 'type': 'str'}, + 'tenant_name': {'key': 'properties.tenantName', 'type': 'str'}, + 'principal_name': {'key': 'properties.principalName', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + } + + def __init__( + self, + *, + principal_id: Optional[str] = None, + role: Optional[Union[str, "ClusterPrincipalRole"]] = None, + tenant_id: Optional[str] = None, + principal_type: Optional[Union[str, "PrincipalType"]] = None, + **kwargs + ): + super(ClusterPrincipalAssignment, self).__init__(**kwargs) + self.principal_id = principal_id + self.role = role + self.tenant_id = tenant_id + self.principal_type = principal_type + self.tenant_name = None + self.principal_name = None + self.provisioning_state = None + + +class ClusterPrincipalAssignmentCheckNameRequest(msrest.serialization.Model): + """A principal assignment check name availability request. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. Principal Assignment resource name. + :type name: str + :param type: Required. The type of resource, Microsoft.Kusto/clusters/principalAssignments. + Possible values include: "Microsoft.Kusto/clusters", "Microsoft.Kusto/clusters/databases", + "Microsoft.Kusto/clusters/attachedDatabaseConfigurations", + "Microsoft.Kusto/clusters/principalAssignments", + "Microsoft.Kusto/clusters/databases/dataConnections", + "Microsoft.Kusto/clusters/databases/principalAssignments". + :type type: str or ~azure.mgmt.kusto.models.Type + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__( + self, + *, + name: str, + type: Union[str, "Type"], + **kwargs + ): + super(ClusterPrincipalAssignmentCheckNameRequest, self).__init__(**kwargs) + self.name = name + self.type = type + + +class ClusterPrincipalAssignmentListResult(msrest.serialization.Model): + """The list Kusto cluster principal assignments operation response. + + :param value: The list of Kusto cluster principal assignments. + :type value: list[~azure.mgmt.kusto.models.ClusterPrincipalAssignment] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ClusterPrincipalAssignment]'}, + } + + def __init__( + self, + *, + value: Optional[List["ClusterPrincipalAssignment"]] = None, + **kwargs + ): + super(ClusterPrincipalAssignmentListResult, self).__init__(**kwargs) + self.value = value + + +class ClusterUpdate(Resource): + """Class representing an update to a Kusto cluster. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or + Microsoft.Storage/storageAccounts. + :vartype type: str + :param tags: A set of tags. Resource tags. + :type tags: dict[str, str] + :param location: Resource location. + :type location: str + :param sku: The SKU of the cluster. + :type sku: ~azure.mgmt.kusto.models.AzureSku + :ivar state: The state of the resource. Possible values include: "Creating", "Unavailable", + "Running", "Deleting", "Deleted", "Stopping", "Stopped", "Starting", "Updating". + :vartype state: str or ~azure.mgmt.kusto.models.State + :ivar provisioning_state: The provisioned state of the resource. Possible values include: + "Running", "Creating", "Deleting", "Succeeded", "Failed", "Moving". + :vartype provisioning_state: str or ~azure.mgmt.kusto.models.ProvisioningState + :ivar uri: The cluster URI. + :vartype uri: str + :ivar data_ingestion_uri: The cluster data ingestion URI. + :vartype data_ingestion_uri: str + :ivar state_reason: The reason for the cluster's current state. + :vartype state_reason: str + :param trusted_external_tenants: The cluster's external tenants. + :type trusted_external_tenants: list[~azure.mgmt.kusto.models.TrustedExternalTenant] + :param optimized_autoscale: Optimized auto scale definition. + :type optimized_autoscale: ~azure.mgmt.kusto.models.OptimizedAutoscale + :param enable_disk_encryption: A boolean value that indicates if the cluster's disks are + encrypted. + :type enable_disk_encryption: bool + :param enable_streaming_ingest: A boolean value that indicates if the streaming ingest is + enabled. + :type enable_streaming_ingest: bool + :param virtual_network_configuration: Virtual network definition. + :type virtual_network_configuration: ~azure.mgmt.kusto.models.VirtualNetworkConfiguration + :param key_vault_properties: KeyVault properties for the cluster encryption. + :type key_vault_properties: ~azure.mgmt.kusto.models.KeyVaultProperties + :param enable_purge: A boolean value that indicates if the purge operations are enabled. + :type enable_purge: bool + :param value: The list of language extensions. + :type value: list[~azure.mgmt.kusto.models.LanguageExtension] + :ivar principal_id: The principal ID of resource identity. + :vartype principal_id: str + :ivar tenant_id: The tenant ID of resource. + :vartype tenant_id: str + :param type_identity_type: The identity type. Possible values include: "None", + "SystemAssigned". + :type type_identity_type: str or ~azure.mgmt.kusto.models.IdentityType + :param user_assigned_identities: The list of user identities associated with the Kusto cluster. + The user identity dictionary key references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + :type user_assigned_identities: dict[str, + ~azure.mgmt.kusto.models.ComponentsSgqdofSchemasIdentityPropertiesUserassignedidentitiesAdditionalproperties] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'state': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'uri': {'readonly': True}, + 'data_ingestion_uri': {'readonly': True}, + 'state_reason': {'readonly': True}, + 'principal_id': {'readonly': True}, + 'tenant_id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'location': {'key': 'location', 'type': 'str'}, + 'sku': {'key': 'sku', 'type': 'AzureSku'}, + 'state': {'key': 'properties.state', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'uri': {'key': 'properties.uri', 'type': 'str'}, + 'data_ingestion_uri': {'key': 'properties.dataIngestionUri', 'type': 'str'}, + 'state_reason': {'key': 'properties.stateReason', 'type': 'str'}, + 'trusted_external_tenants': {'key': 'properties.trustedExternalTenants', 'type': '[TrustedExternalTenant]'}, + 'optimized_autoscale': {'key': 'properties.optimizedAutoscale', 'type': 'OptimizedAutoscale'}, + 'enable_disk_encryption': {'key': 'properties.enableDiskEncryption', 'type': 'bool'}, + 'enable_streaming_ingest': {'key': 'properties.enableStreamingIngest', 'type': 'bool'}, + 'virtual_network_configuration': {'key': 'properties.virtualNetworkConfiguration', 'type': 'VirtualNetworkConfiguration'}, + 'key_vault_properties': {'key': 'properties.keyVaultProperties', 'type': 'KeyVaultProperties'}, + 'enable_purge': {'key': 'properties.enablePurge', 'type': 'bool'}, + 'value': {'key': 'properties.languageExtensions.value', 'type': '[LanguageExtension]'}, + 'principal_id': {'key': 'identity.principalId', 'type': 'str'}, + 'tenant_id': {'key': 'identity.tenantId', 'type': 'str'}, + 'type_identity_type': {'key': 'identity.type', 'type': 'str'}, + 'user_assigned_identities': {'key': 'identity.userAssignedIdentities', 'type': '{ComponentsSgqdofSchemasIdentityPropertiesUserassignedidentitiesAdditionalproperties}'}, + } + + def __init__( + self, + *, + tags: Optional[Dict[str, str]] = None, + location: Optional[str] = None, + sku: Optional["AzureSku"] = None, + trusted_external_tenants: Optional[List["TrustedExternalTenant"]] = None, + optimized_autoscale: Optional["OptimizedAutoscale"] = None, + enable_disk_encryption: Optional[bool] = None, + enable_streaming_ingest: Optional[bool] = False, + virtual_network_configuration: Optional["VirtualNetworkConfiguration"] = None, + key_vault_properties: Optional["KeyVaultProperties"] = None, + enable_purge: Optional[bool] = False, + value: Optional[List["LanguageExtension"]] = None, + type_identity_type: Optional[Union[str, "IdentityType"]] = None, + user_assigned_identities: Optional[Dict[str, "ComponentsSgqdofSchemasIdentityPropertiesUserassignedidentitiesAdditionalproperties"]] = None, + **kwargs + ): + super(ClusterUpdate, self).__init__(**kwargs) + self.tags = tags + self.location = location + self.sku = sku + self.state = None + self.provisioning_state = None + self.uri = None + self.data_ingestion_uri = None + self.state_reason = None + self.trusted_external_tenants = trusted_external_tenants + self.optimized_autoscale = optimized_autoscale + self.enable_disk_encryption = enable_disk_encryption + self.enable_streaming_ingest = enable_streaming_ingest + self.virtual_network_configuration = virtual_network_configuration + self.key_vault_properties = key_vault_properties + self.enable_purge = enable_purge + self.value = value + self.principal_id = None + self.tenant_id = None + self.type_identity_type = type_identity_type + self.user_assigned_identities = user_assigned_identities + + +class ComponentsSgqdofSchemasIdentityPropertiesUserassignedidentitiesAdditionalproperties(msrest.serialization.Model): + """ComponentsSgqdofSchemasIdentityPropertiesUserassignedidentitiesAdditionalproperties. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar principal_id: The principal id of user assigned identity. + :vartype principal_id: str + :ivar client_id: The client id of user assigned identity. + :vartype client_id: str + """ + + _validation = { + 'principal_id': {'readonly': True}, + 'client_id': {'readonly': True}, + } + + _attribute_map = { + 'principal_id': {'key': 'principalId', 'type': 'str'}, + 'client_id': {'key': 'clientId', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ComponentsSgqdofSchemasIdentityPropertiesUserassignedidentitiesAdditionalproperties, self).__init__(**kwargs) + self.principal_id = None + self.client_id = None + + +class Database(ProxyResource): + """Class representing a Kusto database. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: ReadOnlyFollowingDatabase, ReadWriteDatabase. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or + Microsoft.Storage/storageAccounts. + :vartype type: str + :param location: Resource location. + :type location: str + :param kind: Required. Kind of the database.Constant filled by server. Possible values + include: "ReadWrite", "ReadOnlyFollowing", "EventHub", "EventGrid", "IotHub". + :type kind: str or ~azure.mgmt.kusto.models.Kind + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'kind': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + } + + _subtype_map = { + 'kind': {'ReadOnlyFollowing': 'ReadOnlyFollowingDatabase', 'ReadWrite': 'ReadWriteDatabase'} + } + + def __init__( + self, + *, + location: Optional[str] = None, + **kwargs + ): + super(Database, self).__init__(**kwargs) + self.location = location + self.kind = 'Database' + + +class DatabaseListResult(msrest.serialization.Model): + """The list Kusto databases operation response. + + :param value: The list of Kusto databases. + :type value: list[~azure.mgmt.kusto.models.Database] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[Database]'}, + } + + def __init__( + self, + *, + value: Optional[List["Database"]] = None, + **kwargs + ): + super(DatabaseListResult, self).__init__(**kwargs) + self.value = value + + +class DatabasePrincipal(msrest.serialization.Model): + """A class representing database principal entity. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :param role: Required. Database principal role. Possible values include: "Admin", "Ingestor", + "Monitor", "User", "UnrestrictedViewers", "Viewer". + :type role: str or ~azure.mgmt.kusto.models.DatabasePrincipalRole + :param name: Required. Database principal name. + :type name: str + :param type: Required. Database principal type. Possible values include: "App", "Group", + "User". + :type type: str or ~azure.mgmt.kusto.models.DatabasePrincipalType + :param fqn: Database principal fully qualified name. + :type fqn: str + :param email: Database principal email if exists. + :type email: str + :param app_id: Application id - relevant only for application principal type. + :type app_id: str + :ivar tenant_name: The tenant name of the principal. + :vartype tenant_name: str + """ + + _validation = { + 'role': {'required': True}, + 'name': {'required': True}, + 'type': {'required': True}, + 'tenant_name': {'readonly': True}, + } + + _attribute_map = { + 'role': {'key': 'role', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'fqn': {'key': 'fqn', 'type': 'str'}, + 'email': {'key': 'email', 'type': 'str'}, + 'app_id': {'key': 'appId', 'type': 'str'}, + 'tenant_name': {'key': 'tenantName', 'type': 'str'}, + } + + def __init__( + self, + *, + role: Union[str, "DatabasePrincipalRole"], + name: str, + type: Union[str, "DatabasePrincipalType"], + fqn: Optional[str] = None, + email: Optional[str] = None, + app_id: Optional[str] = None, + **kwargs + ): + super(DatabasePrincipal, self).__init__(**kwargs) + self.role = role + self.name = name + self.type = type + self.fqn = fqn + self.email = email + self.app_id = app_id + self.tenant_name = None + + +class DatabasePrincipalAssignment(ProxyResource): + """Class representing a database principal assignment. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or + Microsoft.Storage/storageAccounts. + :vartype type: str + :param principal_id: The principal ID assigned to the database principal. It can be a user + email, application ID, or security group name. + :type principal_id: str + :param role: Database principal role. Possible values include: "Admin", "Ingestor", "Monitor", + "User", "UnrestrictedViewers", "Viewer". + :type role: str or ~azure.mgmt.kusto.models.DatabasePrincipalRole + :param tenant_id: The tenant id of the principal. + :type tenant_id: str + :param principal_type: Principal type. Possible values include: "App", "Group", "User". + :type principal_type: str or ~azure.mgmt.kusto.models.PrincipalType + :ivar tenant_name: The tenant name of the principal. + :vartype tenant_name: str + :ivar principal_name: The principal name. + :vartype principal_name: str + :ivar provisioning_state: The provisioned state of the resource. Possible values include: + "Running", "Creating", "Deleting", "Succeeded", "Failed", "Moving". + :vartype provisioning_state: str or ~azure.mgmt.kusto.models.ProvisioningState + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'tenant_name': {'readonly': True}, + 'principal_name': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'principal_id': {'key': 'properties.principalId', 'type': 'str'}, + 'role': {'key': 'properties.role', 'type': 'str'}, + 'tenant_id': {'key': 'properties.tenantId', 'type': 'str'}, + 'principal_type': {'key': 'properties.principalType', 'type': 'str'}, + 'tenant_name': {'key': 'properties.tenantName', 'type': 'str'}, + 'principal_name': {'key': 'properties.principalName', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + } + + def __init__( + self, + *, + principal_id: Optional[str] = None, + role: Optional[Union[str, "DatabasePrincipalRole"]] = None, + tenant_id: Optional[str] = None, + principal_type: Optional[Union[str, "PrincipalType"]] = None, + **kwargs + ): + super(DatabasePrincipalAssignment, self).__init__(**kwargs) + self.principal_id = principal_id + self.role = role + self.tenant_id = tenant_id + self.principal_type = principal_type + self.tenant_name = None + self.principal_name = None + self.provisioning_state = None + + +class DatabasePrincipalAssignmentCheckNameRequest(msrest.serialization.Model): + """A principal assignment check name availability request. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. Principal Assignment resource name. + :type name: str + :param type: Required. The type of resource, + Microsoft.Kusto/clusters/databases/principalAssignments. Possible values include: + "Microsoft.Kusto/clusters", "Microsoft.Kusto/clusters/databases", + "Microsoft.Kusto/clusters/attachedDatabaseConfigurations", + "Microsoft.Kusto/clusters/principalAssignments", + "Microsoft.Kusto/clusters/databases/dataConnections", + "Microsoft.Kusto/clusters/databases/principalAssignments". + :type type: str or ~azure.mgmt.kusto.models.Type + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__( + self, + *, + name: str, + type: Union[str, "Type"], + **kwargs + ): + super(DatabasePrincipalAssignmentCheckNameRequest, self).__init__(**kwargs) + self.name = name + self.type = type + + +class DatabasePrincipalAssignmentListResult(msrest.serialization.Model): + """The list Kusto database principal assignments operation response. + + :param value: The list of Kusto database principal assignments. + :type value: list[~azure.mgmt.kusto.models.DatabasePrincipalAssignment] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[DatabasePrincipalAssignment]'}, + } + + def __init__( + self, + *, + value: Optional[List["DatabasePrincipalAssignment"]] = None, + **kwargs + ): + super(DatabasePrincipalAssignmentListResult, self).__init__(**kwargs) + self.value = value + + +class DatabasePrincipalListRequest(msrest.serialization.Model): + """The list Kusto database principals operation request. + + :param value: The list of Kusto database principals. + :type value: list[~azure.mgmt.kusto.models.DatabasePrincipal] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[DatabasePrincipal]'}, + } + + def __init__( + self, + *, + value: Optional[List["DatabasePrincipal"]] = None, + **kwargs + ): + super(DatabasePrincipalListRequest, self).__init__(**kwargs) + self.value = value + + +class DatabasePrincipalListResult(msrest.serialization.Model): + """The list Kusto database principals operation response. + + :param value: The list of Kusto database principals. + :type value: list[~azure.mgmt.kusto.models.DatabasePrincipal] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[DatabasePrincipal]'}, + } + + def __init__( + self, + *, + value: Optional[List["DatabasePrincipal"]] = None, + **kwargs + ): + super(DatabasePrincipalListResult, self).__init__(**kwargs) + self.value = value + + +class DatabaseStatistics(msrest.serialization.Model): + """A class that contains database statistics information. + + :param size: The database size - the total size of compressed data and index in bytes. + :type size: float + """ + + _attribute_map = { + 'size': {'key': 'size', 'type': 'float'}, + } + + def __init__( + self, + *, + size: Optional[float] = None, + **kwargs + ): + super(DatabaseStatistics, self).__init__(**kwargs) + self.size = size + + +class DataConnection(ProxyResource): + """Class representing an data connection. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: EventGridDataConnection, EventHubDataConnection, IotHubDataConnection. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or + Microsoft.Storage/storageAccounts. + :vartype type: str + :param location: Resource location. + :type location: str + :param kind: Required. Kind of the endpoint for the data connection.Constant filled by server. + Possible values include: "ReadWrite", "ReadOnlyFollowing", "EventHub", "EventGrid", "IotHub". + :type kind: str or ~azure.mgmt.kusto.models.Kind + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'kind': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + } + + _subtype_map = { + 'kind': {'EventGrid': 'EventGridDataConnection', 'EventHub': 'EventHubDataConnection', 'IotHub': 'IotHubDataConnection'} + } + + def __init__( + self, + *, + location: Optional[str] = None, + **kwargs + ): + super(DataConnection, self).__init__(**kwargs) + self.location = location + self.kind = 'DataConnection' + + +class DataConnectionCheckNameRequest(msrest.serialization.Model): + """A data connection check name availability request. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. Data Connection name. + :type name: str + :param type: Required. The type of resource, + Microsoft.Kusto/clusters/databases/dataConnections. Possible values include: + "Microsoft.Kusto/clusters", "Microsoft.Kusto/clusters/databases", + "Microsoft.Kusto/clusters/attachedDatabaseConfigurations", + "Microsoft.Kusto/clusters/principalAssignments", + "Microsoft.Kusto/clusters/databases/dataConnections", + "Microsoft.Kusto/clusters/databases/principalAssignments". + :type type: str or ~azure.mgmt.kusto.models.Type + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__( + self, + *, + name: str, + type: Union[str, "Type"], + **kwargs + ): + super(DataConnectionCheckNameRequest, self).__init__(**kwargs) + self.name = name + self.type = type + + +class DataConnectionListResult(msrest.serialization.Model): + """The list Kusto data connections operation response. + + :param value: The list of Kusto data connections. + :type value: list[~azure.mgmt.kusto.models.DataConnection] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[DataConnection]'}, + } + + def __init__( + self, + *, + value: Optional[List["DataConnection"]] = None, + **kwargs + ): + super(DataConnectionListResult, self).__init__(**kwargs) + self.value = value + + +class DataConnectionValidation(msrest.serialization.Model): + """Class representing an data connection validation. + + :param data_connection_name: The name of the data connection. + :type data_connection_name: str + :param properties: The data connection properties to validate. + :type properties: ~azure.mgmt.kusto.models.DataConnection + """ + + _attribute_map = { + 'data_connection_name': {'key': 'dataConnectionName', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'DataConnection'}, + } + + def __init__( + self, + *, + data_connection_name: Optional[str] = None, + properties: Optional["DataConnection"] = None, + **kwargs + ): + super(DataConnectionValidation, self).__init__(**kwargs) + self.data_connection_name = data_connection_name + self.properties = properties + + +class DataConnectionValidationListResult(msrest.serialization.Model): + """The list Kusto data connection validation result. + + :param value: The list of Kusto data connection validation errors. + :type value: list[~azure.mgmt.kusto.models.DataConnectionValidationResult] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[DataConnectionValidationResult]'}, + } + + def __init__( + self, + *, + value: Optional[List["DataConnectionValidationResult"]] = None, + **kwargs + ): + super(DataConnectionValidationListResult, self).__init__(**kwargs) + self.value = value + + +class DataConnectionValidationResult(msrest.serialization.Model): + """The result returned from a data connection validation request. + + :param error_message: A message which indicates a problem in data connection validation. + :type error_message: str + """ + + _attribute_map = { + 'error_message': {'key': 'errorMessage', 'type': 'str'}, + } + + def __init__( + self, + *, + error_message: Optional[str] = None, + **kwargs + ): + super(DataConnectionValidationResult, self).__init__(**kwargs) + self.error_message = error_message + + +class DiagnoseVirtualNetworkResult(msrest.serialization.Model): + """DiagnoseVirtualNetworkResult. + + :param findings: The list of network connectivity diagnostic finding. + :type findings: list[str] + """ + + _attribute_map = { + 'findings': {'key': 'findings', 'type': '[str]'}, + } + + def __init__( + self, + *, + findings: Optional[List[str]] = None, + **kwargs + ): + super(DiagnoseVirtualNetworkResult, self).__init__(**kwargs) + self.findings = findings + + +class EventGridDataConnection(DataConnection): + """Class representing an Event Grid data connection. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or + Microsoft.Storage/storageAccounts. + :vartype type: str + :param location: Resource location. + :type location: str + :param kind: Required. Kind of the endpoint for the data connection.Constant filled by server. + Possible values include: "ReadWrite", "ReadOnlyFollowing", "EventHub", "EventGrid", "IotHub". + :type kind: str or ~azure.mgmt.kusto.models.Kind + :param storage_account_resource_id: The resource ID of the storage account where the data + resides. + :type storage_account_resource_id: str + :param event_hub_resource_id: The resource ID where the event grid is configured to send + events. + :type event_hub_resource_id: str + :param consumer_group: The event hub consumer group. + :type consumer_group: str + :param table_name: The table where the data should be ingested. Optionally the table + information can be added to each message. + :type table_name: str + :param mapping_rule_name: The mapping rule to be used to ingest the data. Optionally the + mapping information can be added to each message. + :type mapping_rule_name: str + :param data_format: The data format of the message. Optionally the data format can be added to + each message. Possible values include: "MULTIJSON", "JSON", "CSV", "TSV", "SCSV", "SOHSV", + "PSV", "TXT", "RAW", "SINGLEJSON", "AVRO", "TSVE", "PARQUET", "ORC". + :type data_format: str or ~azure.mgmt.kusto.models.EventGridDataFormat + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'kind': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'storage_account_resource_id': {'key': 'properties.storageAccountResourceId', 'type': 'str'}, + 'event_hub_resource_id': {'key': 'properties.eventHubResourceId', 'type': 'str'}, + 'consumer_group': {'key': 'properties.consumerGroup', 'type': 'str'}, + 'table_name': {'key': 'properties.tableName', 'type': 'str'}, + 'mapping_rule_name': {'key': 'properties.mappingRuleName', 'type': 'str'}, + 'data_format': {'key': 'properties.dataFormat', 'type': 'str'}, + } + + def __init__( + self, + *, + location: Optional[str] = None, + storage_account_resource_id: Optional[str] = None, + event_hub_resource_id: Optional[str] = None, + consumer_group: Optional[str] = None, + table_name: Optional[str] = None, + mapping_rule_name: Optional[str] = None, + data_format: Optional[Union[str, "EventGridDataFormat"]] = None, + **kwargs + ): + super(EventGridDataConnection, self).__init__(location=location, **kwargs) + self.kind = 'EventGrid' + self.storage_account_resource_id = storage_account_resource_id + self.event_hub_resource_id = event_hub_resource_id + self.consumer_group = consumer_group + self.table_name = table_name + self.mapping_rule_name = mapping_rule_name + self.data_format = data_format + + +class EventHubDataConnection(DataConnection): + """Class representing an event hub data connection. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or + Microsoft.Storage/storageAccounts. + :vartype type: str + :param location: Resource location. + :type location: str + :param kind: Required. Kind of the endpoint for the data connection.Constant filled by server. + Possible values include: "ReadWrite", "ReadOnlyFollowing", "EventHub", "EventGrid", "IotHub". + :type kind: str or ~azure.mgmt.kusto.models.Kind + :param event_hub_resource_id: The resource ID of the event hub to be used to create a data + connection. + :type event_hub_resource_id: str + :param consumer_group: The event hub consumer group. + :type consumer_group: str + :param table_name: The table where the data should be ingested. Optionally the table + information can be added to each message. + :type table_name: str + :param mapping_rule_name: The mapping rule to be used to ingest the data. Optionally the + mapping information can be added to each message. + :type mapping_rule_name: str + :param data_format: The data format of the message. Optionally the data format can be added to + each message. Possible values include: "MULTIJSON", "JSON", "CSV", "TSV", "SCSV", "SOHSV", + "PSV", "TXT", "RAW", "SINGLEJSON", "AVRO", "TSVE", "PARQUET", "ORC". + :type data_format: str or ~azure.mgmt.kusto.models.EventHubDataFormat + :param event_system_properties: System properties of the event hub. + :type event_system_properties: list[str] + :param compression: The event hub messages compression type. Possible values include: "None", + "GZip". + :type compression: str or ~azure.mgmt.kusto.models.Compression + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'kind': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'event_hub_resource_id': {'key': 'properties.eventHubResourceId', 'type': 'str'}, + 'consumer_group': {'key': 'properties.consumerGroup', 'type': 'str'}, + 'table_name': {'key': 'properties.tableName', 'type': 'str'}, + 'mapping_rule_name': {'key': 'properties.mappingRuleName', 'type': 'str'}, + 'data_format': {'key': 'properties.dataFormat', 'type': 'str'}, + 'event_system_properties': {'key': 'properties.eventSystemProperties', 'type': '[str]'}, + 'compression': {'key': 'properties.compression', 'type': 'str'}, + } + + def __init__( + self, + *, + location: Optional[str] = None, + event_hub_resource_id: Optional[str] = None, + consumer_group: Optional[str] = None, + table_name: Optional[str] = None, + mapping_rule_name: Optional[str] = None, + data_format: Optional[Union[str, "EventHubDataFormat"]] = None, + event_system_properties: Optional[List[str]] = None, + compression: Optional[Union[str, "Compression"]] = None, + **kwargs + ): + super(EventHubDataConnection, self).__init__(location=location, **kwargs) + self.kind = 'EventHub' + self.event_hub_resource_id = event_hub_resource_id + self.consumer_group = consumer_group + self.table_name = table_name + self.mapping_rule_name = mapping_rule_name + self.data_format = data_format + self.event_system_properties = event_system_properties + self.compression = compression + + +class FollowerDatabaseDefinition(msrest.serialization.Model): + """A class representing follower database request. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :param cluster_resource_id: Required. Resource id of the cluster that follows a database owned + by this cluster. + :type cluster_resource_id: str + :param attached_database_configuration_name: Required. Resource name of the attached database + configuration in the follower cluster. + :type attached_database_configuration_name: str + :ivar database_name: The database name owned by this cluster that was followed. * in case + following all databases. + :vartype database_name: str + """ + + _validation = { + 'cluster_resource_id': {'required': True}, + 'attached_database_configuration_name': {'required': True}, + 'database_name': {'readonly': True}, + } + + _attribute_map = { + 'cluster_resource_id': {'key': 'clusterResourceId', 'type': 'str'}, + 'attached_database_configuration_name': {'key': 'attachedDatabaseConfigurationName', 'type': 'str'}, + 'database_name': {'key': 'databaseName', 'type': 'str'}, + } + + def __init__( + self, + *, + cluster_resource_id: str, + attached_database_configuration_name: str, + **kwargs + ): + super(FollowerDatabaseDefinition, self).__init__(**kwargs) + self.cluster_resource_id = cluster_resource_id + self.attached_database_configuration_name = attached_database_configuration_name + self.database_name = None + + +class FollowerDatabaseListResult(msrest.serialization.Model): + """The list Kusto database principals operation response. + + :param value: The list of follower database result. + :type value: list[~azure.mgmt.kusto.models.FollowerDatabaseDefinition] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[FollowerDatabaseDefinition]'}, + } + + def __init__( + self, + *, + value: Optional[List["FollowerDatabaseDefinition"]] = None, + **kwargs + ): + super(FollowerDatabaseListResult, self).__init__(**kwargs) + self.value = value + + +class IotHubDataConnection(DataConnection): + """Class representing an iot hub data connection. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or + Microsoft.Storage/storageAccounts. + :vartype type: str + :param location: Resource location. + :type location: str + :param kind: Required. Kind of the endpoint for the data connection.Constant filled by server. + Possible values include: "ReadWrite", "ReadOnlyFollowing", "EventHub", "EventGrid", "IotHub". + :type kind: str or ~azure.mgmt.kusto.models.Kind + :param iot_hub_resource_id: The resource ID of the Iot hub to be used to create a data + connection. + :type iot_hub_resource_id: str + :param consumer_group: The iot hub consumer group. + :type consumer_group: str + :param table_name: The table where the data should be ingested. Optionally the table + information can be added to each message. + :type table_name: str + :param mapping_rule_name: The mapping rule to be used to ingest the data. Optionally the + mapping information can be added to each message. + :type mapping_rule_name: str + :param data_format: The data format of the message. Optionally the data format can be added to + each message. Possible values include: "MULTIJSON", "JSON", "CSV", "TSV", "SCSV", "SOHSV", + "PSV", "TXT", "RAW", "SINGLEJSON", "AVRO", "TSVE", "PARQUET", "ORC". + :type data_format: str or ~azure.mgmt.kusto.models.IotHubDataFormat + :param event_system_properties: System properties of the iot hub. + :type event_system_properties: list[str] + :param shared_access_policy_name: The name of the share access policy. + :type shared_access_policy_name: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'kind': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'iot_hub_resource_id': {'key': 'properties.iotHubResourceId', 'type': 'str'}, + 'consumer_group': {'key': 'properties.consumerGroup', 'type': 'str'}, + 'table_name': {'key': 'properties.tableName', 'type': 'str'}, + 'mapping_rule_name': {'key': 'properties.mappingRuleName', 'type': 'str'}, + 'data_format': {'key': 'properties.dataFormat', 'type': 'str'}, + 'event_system_properties': {'key': 'properties.eventSystemProperties', 'type': '[str]'}, + 'shared_access_policy_name': {'key': 'properties.sharedAccessPolicyName', 'type': 'str'}, + } + + def __init__( + self, + *, + location: Optional[str] = None, + iot_hub_resource_id: Optional[str] = None, + consumer_group: Optional[str] = None, + table_name: Optional[str] = None, + mapping_rule_name: Optional[str] = None, + data_format: Optional[Union[str, "IotHubDataFormat"]] = None, + event_system_properties: Optional[List[str]] = None, + shared_access_policy_name: Optional[str] = None, + **kwargs + ): + super(IotHubDataConnection, self).__init__(location=location, **kwargs) + self.kind = 'IotHub' + self.iot_hub_resource_id = iot_hub_resource_id + self.consumer_group = consumer_group + self.table_name = table_name + self.mapping_rule_name = mapping_rule_name + self.data_format = data_format + self.event_system_properties = event_system_properties + self.shared_access_policy_name = shared_access_policy_name + + +class KeyVaultProperties(msrest.serialization.Model): + """Properties of the key vault. + + All required parameters must be populated in order to send to Azure. + + :param key_name: Required. The name of the key vault key. + :type key_name: str + :param key_version: Required. The version of the key vault key. + :type key_version: str + :param key_vault_uri: Required. The Uri of the key vault. + :type key_vault_uri: str + """ + + _validation = { + 'key_name': {'required': True}, + 'key_version': {'required': True}, + 'key_vault_uri': {'required': True}, + } + + _attribute_map = { + 'key_name': {'key': 'keyName', 'type': 'str'}, + 'key_version': {'key': 'keyVersion', 'type': 'str'}, + 'key_vault_uri': {'key': 'keyVaultUri', 'type': 'str'}, + } + + def __init__( + self, + *, + key_name: str, + key_version: str, + key_vault_uri: str, + **kwargs + ): + super(KeyVaultProperties, self).__init__(**kwargs) + self.key_name = key_name + self.key_version = key_version + self.key_vault_uri = key_vault_uri + + +class LanguageExtension(msrest.serialization.Model): + """The language extension object. + + :param language_extension_name: The language extension name. Possible values include: "PYTHON", + "R". + :type language_extension_name: str or ~azure.mgmt.kusto.models.LanguageExtensionName + """ + + _attribute_map = { + 'language_extension_name': {'key': 'languageExtensionName', 'type': 'str'}, + } + + def __init__( + self, + *, + language_extension_name: Optional[Union[str, "LanguageExtensionName"]] = None, + **kwargs + ): + super(LanguageExtension, self).__init__(**kwargs) + self.language_extension_name = language_extension_name + + +class LanguageExtensionsList(msrest.serialization.Model): + """The list of language extension objects. + + :param value: The list of language extensions. + :type value: list[~azure.mgmt.kusto.models.LanguageExtension] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[LanguageExtension]'}, + } + + def __init__( + self, + *, + value: Optional[List["LanguageExtension"]] = None, + **kwargs + ): + super(LanguageExtensionsList, self).__init__(**kwargs) + self.value = value + + +class ListResourceSkusResult(msrest.serialization.Model): + """List of available SKUs for a Kusto Cluster. + + :param value: The collection of available SKUs for an existing resource. + :type value: list[~azure.mgmt.kusto.models.AzureResourceSku] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[AzureResourceSku]'}, + } + + def __init__( + self, + *, + value: Optional[List["AzureResourceSku"]] = None, + **kwargs + ): + super(ListResourceSkusResult, self).__init__(**kwargs) + self.value = value + + +class Operation(msrest.serialization.Model): + """A REST API operation. + + :param name: This is of the format {provider}/{resource}/{operation}. + :type name: str + :param display: The object that describes the operation. + :type display: ~azure.mgmt.kusto.models.OperationDisplay + :param origin: The intended executor of the operation. + :type origin: str + :param properties: Any object. + :type properties: object + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'OperationDisplay'}, + 'origin': {'key': 'origin', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'object'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + display: Optional["OperationDisplay"] = None, + origin: Optional[str] = None, + properties: Optional[object] = None, + **kwargs + ): + super(Operation, self).__init__(**kwargs) + self.name = name + self.display = display + self.origin = origin + self.properties = properties + + +class OperationDisplay(msrest.serialization.Model): + """The object that describes the operation. + + :param provider: Friendly name of the resource provider. + :type provider: str + :param operation: For example: read, write, delete. + :type operation: str + :param resource: The resource type on which the operation is performed. + :type resource: str + :param description: The friendly name of the operation. + :type description: str + """ + + _attribute_map = { + 'provider': {'key': 'provider', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__( + self, + *, + provider: Optional[str] = None, + operation: Optional[str] = None, + resource: Optional[str] = None, + description: Optional[str] = None, + **kwargs + ): + super(OperationDisplay, self).__init__(**kwargs) + self.provider = provider + self.operation = operation + self.resource = resource + self.description = description + + +class OperationListResult(msrest.serialization.Model): + """Result of the request to list REST API operations. It contains a list of operations and a URL nextLink to get the next set of results. + + :param value: The list of operations supported by the resource provider. + :type value: list[~azure.mgmt.kusto.models.Operation] + :param next_link: The URL to get the next set of operation list results if there are any. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[Operation]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["Operation"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(OperationListResult, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class OptimizedAutoscale(msrest.serialization.Model): + """A class that contains the optimized auto scale definition. + + All required parameters must be populated in order to send to Azure. + + :param version: Required. The version of the template defined, for instance 1. + :type version: int + :param is_enabled: Required. A boolean value that indicate if the optimized autoscale feature + is enabled or not. + :type is_enabled: bool + :param minimum: Required. Minimum allowed instances count. + :type minimum: int + :param maximum: Required. Maximum allowed instances count. + :type maximum: int + """ + + _validation = { + 'version': {'required': True}, + 'is_enabled': {'required': True}, + 'minimum': {'required': True}, + 'maximum': {'required': True}, + } + + _attribute_map = { + 'version': {'key': 'version', 'type': 'int'}, + 'is_enabled': {'key': 'isEnabled', 'type': 'bool'}, + 'minimum': {'key': 'minimum', 'type': 'int'}, + 'maximum': {'key': 'maximum', 'type': 'int'}, + } + + def __init__( + self, + *, + version: int, + is_enabled: bool, + minimum: int, + maximum: int, + **kwargs + ): + super(OptimizedAutoscale, self).__init__(**kwargs) + self.version = version + self.is_enabled = is_enabled + self.minimum = minimum + self.maximum = maximum + + +class ReadOnlyFollowingDatabase(Database): + """Class representing a read only following database. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or + Microsoft.Storage/storageAccounts. + :vartype type: str + :param location: Resource location. + :type location: str + :param kind: Required. Kind of the database.Constant filled by server. Possible values + include: "ReadWrite", "ReadOnlyFollowing", "EventHub", "EventGrid", "IotHub". + :type kind: str or ~azure.mgmt.kusto.models.Kind + :ivar provisioning_state: The provisioned state of the resource. Possible values include: + "Running", "Creating", "Deleting", "Succeeded", "Failed", "Moving". + :vartype provisioning_state: str or ~azure.mgmt.kusto.models.ProvisioningState + :ivar soft_delete_period: The time the data should be kept before it stops being accessible to + queries in TimeSpan. + :vartype soft_delete_period: ~datetime.timedelta + :param hot_cache_period: The time the data should be kept in cache for fast queries in + TimeSpan. + :type hot_cache_period: ~datetime.timedelta + :ivar statistics: The statistics of the database. + :vartype statistics: ~azure.mgmt.kusto.models.DatabaseStatistics + :ivar leader_cluster_resource_id: The name of the leader cluster. + :vartype leader_cluster_resource_id: str + :ivar attached_database_configuration_name: The name of the attached database configuration + cluster. + :vartype attached_database_configuration_name: str + :ivar principals_modification_kind: The principals modification kind of the database. Possible + values include: "Union", "Replace", "None". + :vartype principals_modification_kind: str or + ~azure.mgmt.kusto.models.PrincipalsModificationKind + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'kind': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'soft_delete_period': {'readonly': True}, + 'statistics': {'readonly': True}, + 'leader_cluster_resource_id': {'readonly': True}, + 'attached_database_configuration_name': {'readonly': True}, + 'principals_modification_kind': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'soft_delete_period': {'key': 'properties.softDeletePeriod', 'type': 'duration'}, + 'hot_cache_period': {'key': 'properties.hotCachePeriod', 'type': 'duration'}, + 'statistics': {'key': 'properties.statistics', 'type': 'DatabaseStatistics'}, + 'leader_cluster_resource_id': {'key': 'properties.leaderClusterResourceId', 'type': 'str'}, + 'attached_database_configuration_name': {'key': 'properties.attachedDatabaseConfigurationName', 'type': 'str'}, + 'principals_modification_kind': {'key': 'properties.principalsModificationKind', 'type': 'str'}, + } + + def __init__( + self, + *, + location: Optional[str] = None, + hot_cache_period: Optional[datetime.timedelta] = None, + **kwargs + ): + super(ReadOnlyFollowingDatabase, self).__init__(location=location, **kwargs) + self.kind = 'ReadOnlyFollowing' + self.provisioning_state = None + self.soft_delete_period = None + self.hot_cache_period = hot_cache_period + self.statistics = None + self.leader_cluster_resource_id = None + self.attached_database_configuration_name = None + self.principals_modification_kind = None + + +class ReadWriteDatabase(Database): + """Class representing a read write database. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or + Microsoft.Storage/storageAccounts. + :vartype type: str + :param location: Resource location. + :type location: str + :param kind: Required. Kind of the database.Constant filled by server. Possible values + include: "ReadWrite", "ReadOnlyFollowing", "EventHub", "EventGrid", "IotHub". + :type kind: str or ~azure.mgmt.kusto.models.Kind + :ivar provisioning_state: The provisioned state of the resource. Possible values include: + "Running", "Creating", "Deleting", "Succeeded", "Failed", "Moving". + :vartype provisioning_state: str or ~azure.mgmt.kusto.models.ProvisioningState + :param soft_delete_period: The time the data should be kept before it stops being accessible to + queries in TimeSpan. + :type soft_delete_period: ~datetime.timedelta + :param hot_cache_period: The time the data should be kept in cache for fast queries in + TimeSpan. + :type hot_cache_period: ~datetime.timedelta + :ivar statistics: The statistics of the database. + :vartype statistics: ~azure.mgmt.kusto.models.DatabaseStatistics + :ivar is_followed: Indicates whether the database is followed. + :vartype is_followed: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'kind': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'statistics': {'readonly': True}, + 'is_followed': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'soft_delete_period': {'key': 'properties.softDeletePeriod', 'type': 'duration'}, + 'hot_cache_period': {'key': 'properties.hotCachePeriod', 'type': 'duration'}, + 'statistics': {'key': 'properties.statistics', 'type': 'DatabaseStatistics'}, + 'is_followed': {'key': 'properties.isFollowed', 'type': 'str'}, + } + + def __init__( + self, + *, + location: Optional[str] = None, + soft_delete_period: Optional[datetime.timedelta] = None, + hot_cache_period: Optional[datetime.timedelta] = None, + **kwargs + ): + super(ReadWriteDatabase, self).__init__(location=location, **kwargs) + self.kind = 'ReadWrite' + self.provisioning_state = None + self.soft_delete_period = soft_delete_period + self.hot_cache_period = hot_cache_period + self.statistics = None + self.is_followed = None + + +class SkuDescription(msrest.serialization.Model): + """The Kusto SKU description of given resource type. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar resource_type: The resource type. + :vartype resource_type: str + :ivar name: The name of the SKU. + :vartype name: str + :ivar tier: The tier of the SKU. + :vartype tier: str + :ivar locations: The set of locations that the SKU is available. + :vartype locations: list[str] + :ivar location_info: Locations and zones. + :vartype location_info: list[~azure.mgmt.kusto.models.SkuLocationInfoItem] + :ivar restrictions: The restrictions because of which SKU cannot be used. + :vartype restrictions: list[object] + """ + + _validation = { + 'resource_type': {'readonly': True}, + 'name': {'readonly': True}, + 'tier': {'readonly': True}, + 'locations': {'readonly': True}, + 'location_info': {'readonly': True}, + 'restrictions': {'readonly': True}, + } + + _attribute_map = { + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + 'locations': {'key': 'locations', 'type': '[str]'}, + 'location_info': {'key': 'locationInfo', 'type': '[SkuLocationInfoItem]'}, + 'restrictions': {'key': 'restrictions', 'type': '[object]'}, + } + + def __init__( + self, + **kwargs + ): + super(SkuDescription, self).__init__(**kwargs) + self.resource_type = None + self.name = None + self.tier = None + self.locations = None + self.location_info = None + self.restrictions = None + + +class SkuDescriptionList(msrest.serialization.Model): + """The list of the EngagementFabric SKU descriptions. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: SKU descriptions. + :vartype value: list[~azure.mgmt.kusto.models.SkuDescription] + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[SkuDescription]'}, + } + + def __init__( + self, + **kwargs + ): + super(SkuDescriptionList, self).__init__(**kwargs) + self.value = None + + +class SkuLocationInfoItem(msrest.serialization.Model): + """The locations and zones info for SKU. + + All required parameters must be populated in order to send to Azure. + + :param location: Required. The available location of the SKU. + :type location: str + :param zones: The available zone of the SKU. + :type zones: list[str] + """ + + _validation = { + 'location': {'required': True}, + } + + _attribute_map = { + 'location': {'key': 'location', 'type': 'str'}, + 'zones': {'key': 'zones', 'type': '[str]'}, + } + + def __init__( + self, + *, + location: str, + zones: Optional[List[str]] = None, + **kwargs + ): + super(SkuLocationInfoItem, self).__init__(**kwargs) + self.location = location + self.zones = zones + + +class TrustedExternalTenant(msrest.serialization.Model): + """Represents a tenant ID that is trusted by the cluster. + + :param value: GUID representing an external tenant. + :type value: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[str] = None, + **kwargs + ): + super(TrustedExternalTenant, self).__init__(**kwargs) + self.value = value + + +class VirtualNetworkConfiguration(msrest.serialization.Model): + """A class that contains virtual network definition. + + All required parameters must be populated in order to send to Azure. + + :param subnet_id: Required. The subnet resource id. + :type subnet_id: str + :param engine_public_ip_id: Required. Engine service's public IP address resource id. + :type engine_public_ip_id: str + :param data_management_public_ip_id: Required. Data management's service public IP address + resource id. + :type data_management_public_ip_id: str + """ + + _validation = { + 'subnet_id': {'required': True}, + 'engine_public_ip_id': {'required': True}, + 'data_management_public_ip_id': {'required': True}, + } + + _attribute_map = { + 'subnet_id': {'key': 'subnetId', 'type': 'str'}, + 'engine_public_ip_id': {'key': 'enginePublicIpId', 'type': 'str'}, + 'data_management_public_ip_id': {'key': 'dataManagementPublicIpId', 'type': 'str'}, + } + + def __init__( + self, + *, + subnet_id: str, + engine_public_ip_id: str, + data_management_public_ip_id: str, + **kwargs + ): + super(VirtualNetworkConfiguration, self).__init__(**kwargs) + self.subnet_id = subnet_id + self.engine_public_ip_id = engine_public_ip_id + self.data_management_public_ip_id = data_management_public_ip_id diff --git a/src/kusto/azext_kusto/vendored_sdks/kusto/operations/__init__.py b/src/kusto/azext_kusto/vendored_sdks/kusto/operations/__init__.py new file mode 100644 index 00000000000..5750cdc82c5 --- /dev/null +++ b/src/kusto/azext_kusto/vendored_sdks/kusto/operations/__init__.py @@ -0,0 +1,25 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._cluster_operations import ClusterOperations +from ._cluster_principal_assignment_operations import ClusterPrincipalAssignmentOperations +from ._database_operations import DatabaseOperations +from ._database_principal_assignment_operations import DatabasePrincipalAssignmentOperations +from ._attached_database_configuration_operations import AttachedDatabaseConfigurationOperations +from ._data_connection_operations import DataConnectionOperations +from ._operation_operations import OperationOperations + +__all__ = [ + 'ClusterOperations', + 'ClusterPrincipalAssignmentOperations', + 'DatabaseOperations', + 'DatabasePrincipalAssignmentOperations', + 'AttachedDatabaseConfigurationOperations', + 'DataConnectionOperations', + 'OperationOperations', +] diff --git a/src/kusto/azext_kusto/vendored_sdks/kusto/operations/_attached_database_configuration_operations.py b/src/kusto/azext_kusto/vendored_sdks/kusto/operations/_attached_database_configuration_operations.py new file mode 100644 index 00000000000..b3d7d5b634b --- /dev/null +++ b/src/kusto/azext_kusto/vendored_sdks/kusto/operations/_attached_database_configuration_operations.py @@ -0,0 +1,408 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.arm_polling import ARMPolling + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class AttachedDatabaseConfigurationOperations(object): + """AttachedDatabaseConfigurationOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kusto.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list_by_cluster( + self, + resource_group_name, # type: str + cluster_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.AttachedDatabaseConfigurationListResult" + """Returns the list of attached database configurations of the given Kusto cluster. + + :param resource_group_name: The name of the resource group containing the Kusto cluster. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: AttachedDatabaseConfigurationListResult or the result of cls(response) + :rtype: ~azure.mgmt.kusto.models.AttachedDatabaseConfigurationListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.AttachedDatabaseConfigurationListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-02-15" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_cluster.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('AttachedDatabaseConfigurationListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_by_cluster.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/attachedDatabaseConfigurations'} + + def get( + self, + resource_group_name, # type: str + cluster_name, # type: str + attached_database_configuration_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.AttachedDatabaseConfiguration" + """Returns an attached database configuration. + + :param resource_group_name: The name of the resource group containing the Kusto cluster. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. + :type cluster_name: str + :param attached_database_configuration_name: The name of the attached database configuration. + :type attached_database_configuration_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: AttachedDatabaseConfiguration or the result of cls(response) + :rtype: ~azure.mgmt.kusto.models.AttachedDatabaseConfiguration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.AttachedDatabaseConfiguration"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-02-15" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'attachedDatabaseConfigurationName': self._serialize.url("attached_database_configuration_name", attached_database_configuration_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('AttachedDatabaseConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/attachedDatabaseConfigurations/{attachedDatabaseConfigurationName}'} + + def _create_or_update_initial( + self, + resource_group_name, # type: str + cluster_name, # type: str + attached_database_configuration_name, # type: str + location=None, # type: Optional[str] + database_name=None, # type: Optional[str] + cluster_resource_id=None, # type: Optional[str] + default_principals_modification_kind=None, # type: Optional[Union[str, "models.DefaultPrincipalsModificationKind"]] + **kwargs # type: Any + ): + # type: (...) -> "models.AttachedDatabaseConfiguration" + cls = kwargs.pop('cls', None) # type: ClsType["models.AttachedDatabaseConfiguration"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _parameters = models.AttachedDatabaseConfiguration(location=location, database_name=database_name, cluster_resource_id=cluster_resource_id, default_principals_modification_kind=default_principals_modification_kind) + api_version = "2020-02-15" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self._create_or_update_initial.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'attachedDatabaseConfigurationName': self._serialize.url("attached_database_configuration_name", attached_database_configuration_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_parameters, 'AttachedDatabaseConfiguration') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('AttachedDatabaseConfiguration', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('AttachedDatabaseConfiguration', pipeline_response) + + if response.status_code == 202: + deserialized = self._deserialize('AttachedDatabaseConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/attachedDatabaseConfigurations/{attachedDatabaseConfigurationName}'} + + def begin_create_or_update( + self, + resource_group_name, # type: str + cluster_name, # type: str + attached_database_configuration_name, # type: str + location=None, # type: Optional[str] + database_name=None, # type: Optional[str] + cluster_resource_id=None, # type: Optional[str] + default_principals_modification_kind=None, # type: Optional[Union[str, "models.DefaultPrincipalsModificationKind"]] + **kwargs # type: Any + ): + # type: (...) -> "models.AttachedDatabaseConfiguration" + """Creates or updates an attached database configuration. + + :param resource_group_name: The name of the resource group containing the Kusto cluster. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. + :type cluster_name: str + :param attached_database_configuration_name: The name of the attached database configuration. + :type attached_database_configuration_name: str + :param location: Resource location. + :type location: str + :param database_name: The name of the database which you would like to attach, use * if you + want to follow all current and future databases. + :type database_name: str + :param cluster_resource_id: The resource id of the cluster where the databases you would like + to attach reside. + :type cluster_resource_id: str + :param default_principals_modification_kind: The default principals modification kind. + :type default_principals_modification_kind: str or ~azure.mgmt.kusto.models.DefaultPrincipalsModificationKind + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :return: An instance of LROPoller that returns AttachedDatabaseConfiguration + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.kusto.models.AttachedDatabaseConfiguration] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.AttachedDatabaseConfiguration"] + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + cluster_name=cluster_name, + attached_database_configuration_name=attached_database_configuration_name, + location=location, + database_name=database_name, + cluster_resource_id=cluster_resource_id, + default_principals_modification_kind=default_principals_modification_kind, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('AttachedDatabaseConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/attachedDatabaseConfigurations/{attachedDatabaseConfigurationName}'} + + def _delete_initial( + self, + resource_group_name, # type: str + cluster_name, # type: str + attached_database_configuration_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-02-15" + + # Construct URL + url = self._delete_initial.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'attachedDatabaseConfigurationName': self._serialize.url("attached_database_configuration_name", attached_database_configuration_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/attachedDatabaseConfigurations/{attachedDatabaseConfigurationName}'} + + def begin_delete( + self, + resource_group_name, # type: str + cluster_name, # type: str + attached_database_configuration_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + """Deletes the attached database configuration with the given name. + + :param resource_group_name: The name of the resource group containing the Kusto cluster. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. + :type cluster_name: str + :param attached_database_configuration_name: The name of the attached database configuration. + :type attached_database_configuration_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :return: An instance of LROPoller that returns None + :rtype: ~azure.core.polling.LROPoller[None] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + cluster_name=cluster_name, + attached_database_configuration_name=attached_database_configuration_name, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/attachedDatabaseConfigurations/{attachedDatabaseConfigurationName}'} diff --git a/src/kusto/azext_kusto/vendored_sdks/kusto/operations/_cluster_operations.py b/src/kusto/azext_kusto/vendored_sdks/kusto/operations/_cluster_operations.py new file mode 100644 index 00000000000..c3f93184c5c --- /dev/null +++ b/src/kusto/azext_kusto/vendored_sdks/kusto/operations/_cluster_operations.py @@ -0,0 +1,1591 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.arm_polling import ARMPolling + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, List, Optional, TypeVar, Union + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class ClusterOperations(object): + """ClusterOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kusto.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def get( + self, + resource_group_name, # type: str + cluster_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.Cluster" + """Gets a Kusto cluster. + + :param resource_group_name: The name of the resource group containing the Kusto cluster. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Cluster or the result of cls(response) + :rtype: ~azure.mgmt.kusto.models.Cluster + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.Cluster"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-02-15" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('Cluster', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}'} + + def _create_or_update_initial( + self, + resource_group_name, # type: str + cluster_name, # type: str + location, # type: str + sku, # type: "models.AzureSku" + tags=None, # type: Optional[Dict[str, str]] + zones=None, # type: Optional[List[str]] + trusted_external_tenants=None, # type: Optional[List["TrustedExternalTenant"]] + optimized_autoscale=None, # type: Optional["models.OptimizedAutoscale"] + enable_disk_encryption=None, # type: Optional[bool] + enable_streaming_ingest=False, # type: Optional[bool] + virtual_network_configuration=None, # type: Optional["models.VirtualNetworkConfiguration"] + key_vault_properties=None, # type: Optional["models.KeyVaultProperties"] + enable_purge=False, # type: Optional[bool] + value=None, # type: Optional[List["LanguageExtension"]] + type=None, # type: Optional[Union[str, "models.IdentityType"]] + user_assigned_identities=None, # type: Optional[Dict[str, "ComponentsSgqdofSchemasIdentityPropertiesUserassignedidentitiesAdditionalproperties"]] + **kwargs # type: Any + ): + # type: (...) -> "models.Cluster" + cls = kwargs.pop('cls', None) # type: ClsType["models.Cluster"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _parameters = models.Cluster(tags=tags, location=location, sku=sku, zones=zones, trusted_external_tenants=trusted_external_tenants, optimized_autoscale=optimized_autoscale, enable_disk_encryption=enable_disk_encryption, enable_streaming_ingest=enable_streaming_ingest, virtual_network_configuration=virtual_network_configuration, key_vault_properties=key_vault_properties, enable_purge=enable_purge, value=value, type_identity_type=type, user_assigned_identities=user_assigned_identities) + api_version = "2020-02-15" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self._create_or_update_initial.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_parameters, 'Cluster') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('Cluster', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('Cluster', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}'} + + def begin_create_or_update( + self, + resource_group_name, # type: str + cluster_name, # type: str + location, # type: str + sku, # type: "models.AzureSku" + tags=None, # type: Optional[Dict[str, str]] + zones=None, # type: Optional[List[str]] + trusted_external_tenants=None, # type: Optional[List["TrustedExternalTenant"]] + optimized_autoscale=None, # type: Optional["models.OptimizedAutoscale"] + enable_disk_encryption=None, # type: Optional[bool] + enable_streaming_ingest=False, # type: Optional[bool] + virtual_network_configuration=None, # type: Optional["models.VirtualNetworkConfiguration"] + key_vault_properties=None, # type: Optional["models.KeyVaultProperties"] + enable_purge=False, # type: Optional[bool] + value=None, # type: Optional[List["LanguageExtension"]] + type=None, # type: Optional[Union[str, "models.IdentityType"]] + user_assigned_identities=None, # type: Optional[Dict[str, "ComponentsSgqdofSchemasIdentityPropertiesUserassignedidentitiesAdditionalproperties"]] + **kwargs # type: Any + ): + # type: (...) -> "models.Cluster" + """Create or update a Kusto cluster. + + :param resource_group_name: The name of the resource group containing the Kusto cluster. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. + :type cluster_name: str + :param location: The geo-location where the resource lives. + :type location: str + :param sku: The SKU of the cluster. + :type sku: ~azure.mgmt.kusto.models.AzureSku + :param tags: Resource tags. + :type tags: dict[str, str] + :param zones: The availability zones of the cluster. + :type zones: list[str] + :param trusted_external_tenants: The cluster's external tenants. + :type trusted_external_tenants: list[~azure.mgmt.kusto.models.TrustedExternalTenant] + :param optimized_autoscale: Optimized auto scale definition. + :type optimized_autoscale: ~azure.mgmt.kusto.models.OptimizedAutoscale + :param enable_disk_encryption: A boolean value that indicates if the cluster's disks are + encrypted. + :type enable_disk_encryption: bool + :param enable_streaming_ingest: A boolean value that indicates if the streaming ingest is + enabled. + :type enable_streaming_ingest: bool + :param virtual_network_configuration: Virtual network definition. + :type virtual_network_configuration: ~azure.mgmt.kusto.models.VirtualNetworkConfiguration + :param key_vault_properties: KeyVault properties for the cluster encryption. + :type key_vault_properties: ~azure.mgmt.kusto.models.KeyVaultProperties + :param enable_purge: A boolean value that indicates if the purge operations are enabled. + :type enable_purge: bool + :param value: The list of language extensions. + :type value: list[~azure.mgmt.kusto.models.LanguageExtension] + :param type: The identity type. + :type type: str or ~azure.mgmt.kusto.models.IdentityType + :param user_assigned_identities: The list of user identities associated with the Kusto cluster. + The user identity dictionary key references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + :type user_assigned_identities: dict[str, ~azure.mgmt.kusto.models.ComponentsSgqdofSchemasIdentityPropertiesUserassignedidentitiesAdditionalproperties] + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :return: An instance of LROPoller that returns Cluster + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.kusto.models.Cluster] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.Cluster"] + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + cluster_name=cluster_name, + location=location, + sku=sku, + tags=tags, + zones=zones, + trusted_external_tenants=trusted_external_tenants, + optimized_autoscale=optimized_autoscale, + enable_disk_encryption=enable_disk_encryption, + enable_streaming_ingest=enable_streaming_ingest, + virtual_network_configuration=virtual_network_configuration, + key_vault_properties=key_vault_properties, + enable_purge=enable_purge, + value=value, + type=type, + user_assigned_identities=user_assigned_identities, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('Cluster', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}'} + + def _update_initial( + self, + resource_group_name, # type: str + cluster_name, # type: str + tags=None, # type: Optional[Dict[str, str]] + location=None, # type: Optional[str] + sku=None, # type: Optional["models.AzureSku"] + trusted_external_tenants=None, # type: Optional[List["TrustedExternalTenant"]] + optimized_autoscale=None, # type: Optional["models.OptimizedAutoscale"] + enable_disk_encryption=None, # type: Optional[bool] + enable_streaming_ingest=False, # type: Optional[bool] + virtual_network_configuration=None, # type: Optional["models.VirtualNetworkConfiguration"] + key_vault_properties=None, # type: Optional["models.KeyVaultProperties"] + enable_purge=False, # type: Optional[bool] + value=None, # type: Optional[List["LanguageExtension"]] + type=None, # type: Optional[Union[str, "models.IdentityType"]] + user_assigned_identities=None, # type: Optional[Dict[str, "ComponentsSgqdofSchemasIdentityPropertiesUserassignedidentitiesAdditionalproperties"]] + **kwargs # type: Any + ): + # type: (...) -> "models.Cluster" + cls = kwargs.pop('cls', None) # type: ClsType["models.Cluster"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _parameters = models.ClusterUpdate(tags=tags, location=location, sku=sku, trusted_external_tenants=trusted_external_tenants, optimized_autoscale=optimized_autoscale, enable_disk_encryption=enable_disk_encryption, enable_streaming_ingest=enable_streaming_ingest, virtual_network_configuration=virtual_network_configuration, key_vault_properties=key_vault_properties, enable_purge=enable_purge, value=value, type_identity_type=type, user_assigned_identities=user_assigned_identities) + api_version = "2020-02-15" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self._update_initial.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_parameters, 'ClusterUpdate') + body_content_kwargs['content'] = body_content + request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('Cluster', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('Cluster', pipeline_response) + + if response.status_code == 202: + deserialized = self._deserialize('Cluster', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}'} + + def begin_update( + self, + resource_group_name, # type: str + cluster_name, # type: str + tags=None, # type: Optional[Dict[str, str]] + location=None, # type: Optional[str] + sku=None, # type: Optional["models.AzureSku"] + trusted_external_tenants=None, # type: Optional[List["TrustedExternalTenant"]] + optimized_autoscale=None, # type: Optional["models.OptimizedAutoscale"] + enable_disk_encryption=None, # type: Optional[bool] + enable_streaming_ingest=False, # type: Optional[bool] + virtual_network_configuration=None, # type: Optional["models.VirtualNetworkConfiguration"] + key_vault_properties=None, # type: Optional["models.KeyVaultProperties"] + enable_purge=False, # type: Optional[bool] + value=None, # type: Optional[List["LanguageExtension"]] + type=None, # type: Optional[Union[str, "models.IdentityType"]] + user_assigned_identities=None, # type: Optional[Dict[str, "ComponentsSgqdofSchemasIdentityPropertiesUserassignedidentitiesAdditionalproperties"]] + **kwargs # type: Any + ): + # type: (...) -> "models.Cluster" + """Update a Kusto cluster. + + :param resource_group_name: The name of the resource group containing the Kusto cluster. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. + :type cluster_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param location: Resource location. + :type location: str + :param sku: The SKU of the cluster. + :type sku: ~azure.mgmt.kusto.models.AzureSku + :param trusted_external_tenants: The cluster's external tenants. + :type trusted_external_tenants: list[~azure.mgmt.kusto.models.TrustedExternalTenant] + :param optimized_autoscale: Optimized auto scale definition. + :type optimized_autoscale: ~azure.mgmt.kusto.models.OptimizedAutoscale + :param enable_disk_encryption: A boolean value that indicates if the cluster's disks are + encrypted. + :type enable_disk_encryption: bool + :param enable_streaming_ingest: A boolean value that indicates if the streaming ingest is + enabled. + :type enable_streaming_ingest: bool + :param virtual_network_configuration: Virtual network definition. + :type virtual_network_configuration: ~azure.mgmt.kusto.models.VirtualNetworkConfiguration + :param key_vault_properties: KeyVault properties for the cluster encryption. + :type key_vault_properties: ~azure.mgmt.kusto.models.KeyVaultProperties + :param enable_purge: A boolean value that indicates if the purge operations are enabled. + :type enable_purge: bool + :param value: The list of language extensions. + :type value: list[~azure.mgmt.kusto.models.LanguageExtension] + :param type: The identity type. + :type type: str or ~azure.mgmt.kusto.models.IdentityType + :param user_assigned_identities: The list of user identities associated with the Kusto cluster. + The user identity dictionary key references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + :type user_assigned_identities: dict[str, ~azure.mgmt.kusto.models.ComponentsSgqdofSchemasIdentityPropertiesUserassignedidentitiesAdditionalproperties] + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :return: An instance of LROPoller that returns Cluster + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.kusto.models.Cluster] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.Cluster"] + raw_result = self._update_initial( + resource_group_name=resource_group_name, + cluster_name=cluster_name, + tags=tags, + location=location, + sku=sku, + trusted_external_tenants=trusted_external_tenants, + optimized_autoscale=optimized_autoscale, + enable_disk_encryption=enable_disk_encryption, + enable_streaming_ingest=enable_streaming_ingest, + virtual_network_configuration=virtual_network_configuration, + key_vault_properties=key_vault_properties, + enable_purge=enable_purge, + value=value, + type=type, + user_assigned_identities=user_assigned_identities, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('Cluster', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}'} + + def _delete_initial( + self, + resource_group_name, # type: str + cluster_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-02-15" + + # Construct URL + url = self._delete_initial.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}'} + + def begin_delete( + self, + resource_group_name, # type: str + cluster_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + """Deletes a Kusto cluster. + + :param resource_group_name: The name of the resource group containing the Kusto cluster. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :return: An instance of LROPoller that returns None + :rtype: ~azure.core.polling.LROPoller[None] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + cluster_name=cluster_name, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}'} + + def _stop_initial( + self, + resource_group_name, # type: str + cluster_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-02-15" + + # Construct URL + url = self._stop_initial.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _stop_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/stop'} + + def begin_stop( + self, + resource_group_name, # type: str + cluster_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + """Stops a Kusto cluster. + + :param resource_group_name: The name of the resource group containing the Kusto cluster. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :return: An instance of LROPoller that returns None + :rtype: ~azure.core.polling.LROPoller[None] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + raw_result = self._stop_initial( + resource_group_name=resource_group_name, + cluster_name=cluster_name, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_stop.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/stop'} + + def _start_initial( + self, + resource_group_name, # type: str + cluster_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-02-15" + + # Construct URL + url = self._start_initial.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _start_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/start'} + + def begin_start( + self, + resource_group_name, # type: str + cluster_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + """Starts a Kusto cluster. + + :param resource_group_name: The name of the resource group containing the Kusto cluster. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :return: An instance of LROPoller that returns None + :rtype: ~azure.core.polling.LROPoller[None] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + raw_result = self._start_initial( + resource_group_name=resource_group_name, + cluster_name=cluster_name, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_start.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/start'} + + def list_follower_database( + self, + resource_group_name, # type: str + cluster_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.FollowerDatabaseListResult" + """Returns a list of databases that are owned by this cluster and were followed by another cluster. + + :param resource_group_name: The name of the resource group containing the Kusto cluster. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: FollowerDatabaseListResult or the result of cls(response) + :rtype: ~azure.mgmt.kusto.models.FollowerDatabaseListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.FollowerDatabaseListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-02-15" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_follower_database.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('FollowerDatabaseListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_follower_database.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/listFollowerDatabases'} + + def _detach_follower_database_initial( + self, + resource_group_name, # type: str + cluster_name, # type: str + cluster_resource_id, # type: str + attached_database_configuration_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _follower_database_to_remove = models.FollowerDatabaseDefinition(cluster_resource_id=cluster_resource_id, attached_database_configuration_name=attached_database_configuration_name) + api_version = "2020-02-15" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self._detach_follower_database_initial.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_follower_database_to_remove, 'FollowerDatabaseDefinition') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _detach_follower_database_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/detachFollowerDatabases'} + + def begin_detach_follower_database( + self, + resource_group_name, # type: str + cluster_name, # type: str + cluster_resource_id, # type: str + attached_database_configuration_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + """Detaches all followers of a database owned by this cluster. + + :param resource_group_name: The name of the resource group containing the Kusto cluster. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. + :type cluster_name: str + :param cluster_resource_id: Resource id of the cluster that follows a database owned by this + cluster. + :type cluster_resource_id: str + :param attached_database_configuration_name: Resource name of the attached database + configuration in the follower cluster. + :type attached_database_configuration_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :return: An instance of LROPoller that returns None + :rtype: ~azure.core.polling.LROPoller[None] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + raw_result = self._detach_follower_database_initial( + resource_group_name=resource_group_name, + cluster_name=cluster_name, + cluster_resource_id=cluster_resource_id, + attached_database_configuration_name=attached_database_configuration_name, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_detach_follower_database.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/detachFollowerDatabases'} + + def _diagnose_virtual_network_initial( + self, + resource_group_name, # type: str + cluster_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.DiagnoseVirtualNetworkResult" + cls = kwargs.pop('cls', None) # type: ClsType["models.DiagnoseVirtualNetworkResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-02-15" + + # Construct URL + url = self._diagnose_virtual_network_initial.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('DiagnoseVirtualNetworkResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _diagnose_virtual_network_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/diagnoseVirtualNetwork'} + + def begin_diagnose_virtual_network( + self, + resource_group_name, # type: str + cluster_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.DiagnoseVirtualNetworkResult" + """Diagnoses network connectivity status for external resources on which the service is dependent on. + + :param resource_group_name: The name of the resource group containing the Kusto cluster. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :return: An instance of LROPoller that returns DiagnoseVirtualNetworkResult + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.kusto.models.DiagnoseVirtualNetworkResult] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.DiagnoseVirtualNetworkResult"] + raw_result = self._diagnose_virtual_network_initial( + resource_group_name=resource_group_name, + cluster_name=cluster_name, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('DiagnoseVirtualNetworkResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_diagnose_virtual_network.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/diagnoseVirtualNetwork'} + + def list_by_resource_group( + self, + resource_group_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.ClusterListResult" + """Lists all Kusto clusters within a resource group. + + :param resource_group_name: The name of the resource group containing the Kusto cluster. + :type resource_group_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ClusterListResult or the result of cls(response) + :rtype: ~azure.mgmt.kusto.models.ClusterListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ClusterListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-02-15" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('ClusterListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters'} + + def list( + self, + **kwargs # type: Any + ): + # type: (...) -> "models.ClusterListResult" + """Lists all Kusto clusters within a subscription. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ClusterListResult or the result of cls(response) + :rtype: ~azure.mgmt.kusto.models.ClusterListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ClusterListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-02-15" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('ClusterListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Kusto/clusters'} + + def list_sku( + self, + **kwargs # type: Any + ): + # type: (...) -> "models.SkuDescriptionList" + """Lists eligible SKUs for Kusto resource provider. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SkuDescriptionList or the result of cls(response) + :rtype: ~azure.mgmt.kusto.models.SkuDescriptionList + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.SkuDescriptionList"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-02-15" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_sku.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('SkuDescriptionList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_sku.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Kusto/skus'} + + def check_name_availability( + self, + location, # type: str + name, # type: str + type, # type: Union[str, "models.Type"] + **kwargs # type: Any + ): + # type: (...) -> "models.CheckNameResult" + """Checks that the cluster name is valid and is not already in use. + + :param location: Azure location. + :type location: str + :param name: Cluster name. + :type name: str + :param type: The type of resource, Microsoft.Kusto/clusters. + :type type: str or ~azure.mgmt.kusto.models.Type + :keyword callable cls: A custom type or function that will be passed the direct response + :return: CheckNameResult or the result of cls(response) + :rtype: ~azure.mgmt.kusto.models.CheckNameResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.CheckNameResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _cluster_name = models.ClusterCheckNameRequest(name=name, type=type) + api_version = "2020-02-15" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.check_name_availability.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'location': self._serialize.url("location", location, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_cluster_name, 'ClusterCheckNameRequest') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('CheckNameResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + check_name_availability.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Kusto/locations/{location}/checkNameAvailability'} + + def list_sku_by_resource( + self, + resource_group_name, # type: str + cluster_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.ListResourceSkusResult" + """Returns the SKUs available for the provided resource. + + :param resource_group_name: The name of the resource group containing the Kusto cluster. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ListResourceSkusResult or the result of cls(response) + :rtype: ~azure.mgmt.kusto.models.ListResourceSkusResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ListResourceSkusResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-02-15" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_sku_by_resource.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('ListResourceSkusResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_sku_by_resource.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/skus'} + + def list_language_extension( + self, + resource_group_name, # type: str + cluster_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.LanguageExtensionsList" + """Returns a list of language extensions that can run within KQL queries. + + :param resource_group_name: The name of the resource group containing the Kusto cluster. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: LanguageExtensionsList or the result of cls(response) + :rtype: ~azure.mgmt.kusto.models.LanguageExtensionsList + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.LanguageExtensionsList"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-02-15" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_language_extension.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('LanguageExtensionsList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_language_extension.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/listLanguageExtensions'} + + def _add_language_extension_initial( + self, + resource_group_name, # type: str + cluster_name, # type: str + value=None, # type: Optional[List["LanguageExtension"]] + **kwargs # type: Any + ): + # type: (...) -> None + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _language_extensions_to_add = models.LanguageExtensionsList(value=value) + api_version = "2020-02-15" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self._add_language_extension_initial.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_language_extensions_to_add, 'LanguageExtensionsList') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _add_language_extension_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/addLanguageExtensions'} + + def begin_add_language_extension( + self, + resource_group_name, # type: str + cluster_name, # type: str + value=None, # type: Optional[List["LanguageExtension"]] + **kwargs # type: Any + ): + # type: (...) -> None + """Add a list of language extensions that can run within KQL queries. + + :param resource_group_name: The name of the resource group containing the Kusto cluster. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. + :type cluster_name: str + :param value: The list of language extensions. + :type value: list[~azure.mgmt.kusto.models.LanguageExtension] + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :return: An instance of LROPoller that returns None + :rtype: ~azure.core.polling.LROPoller[None] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + raw_result = self._add_language_extension_initial( + resource_group_name=resource_group_name, + cluster_name=cluster_name, + value=value, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_add_language_extension.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/addLanguageExtensions'} + + def _remove_language_extension_initial( + self, + resource_group_name, # type: str + cluster_name, # type: str + value=None, # type: Optional[List["LanguageExtension"]] + **kwargs # type: Any + ): + # type: (...) -> None + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _language_extensions_to_remove = models.LanguageExtensionsList(value=value) + api_version = "2020-02-15" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self._remove_language_extension_initial.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_language_extensions_to_remove, 'LanguageExtensionsList') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _remove_language_extension_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/removeLanguageExtensions'} + + def begin_remove_language_extension( + self, + resource_group_name, # type: str + cluster_name, # type: str + value=None, # type: Optional[List["LanguageExtension"]] + **kwargs # type: Any + ): + # type: (...) -> None + """Remove a list of language extensions that can run within KQL queries. + + :param resource_group_name: The name of the resource group containing the Kusto cluster. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. + :type cluster_name: str + :param value: The list of language extensions. + :type value: list[~azure.mgmt.kusto.models.LanguageExtension] + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :return: An instance of LROPoller that returns None + :rtype: ~azure.core.polling.LROPoller[None] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + raw_result = self._remove_language_extension_initial( + resource_group_name=resource_group_name, + cluster_name=cluster_name, + value=value, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_remove_language_extension.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/removeLanguageExtensions'} diff --git a/src/kusto/azext_kusto/vendored_sdks/kusto/operations/_cluster_principal_assignment_operations.py b/src/kusto/azext_kusto/vendored_sdks/kusto/operations/_cluster_principal_assignment_operations.py new file mode 100644 index 00000000000..4bb9028c622 --- /dev/null +++ b/src/kusto/azext_kusto/vendored_sdks/kusto/operations/_cluster_principal_assignment_operations.py @@ -0,0 +1,474 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.arm_polling import ARMPolling + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class ClusterPrincipalAssignmentOperations(object): + """ClusterPrincipalAssignmentOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kusto.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def check_name_availability( + self, + resource_group_name, # type: str + cluster_name, # type: str + name, # type: str + type, # type: Union[str, "models.Type"] + **kwargs # type: Any + ): + # type: (...) -> "models.CheckNameResult" + """Checks that the principal assignment name is valid and is not already in use. + + :param resource_group_name: The name of the resource group containing the Kusto cluster. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. + :type cluster_name: str + :param name: Principal Assignment resource name. + :type name: str + :param type: The type of resource, Microsoft.Kusto/clusters/principalAssignments. + :type type: str or ~azure.mgmt.kusto.models.Type + :keyword callable cls: A custom type or function that will be passed the direct response + :return: CheckNameResult or the result of cls(response) + :rtype: ~azure.mgmt.kusto.models.CheckNameResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.CheckNameResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _principal_assignment_name = models.ClusterPrincipalAssignmentCheckNameRequest(name=name, type=type) + api_version = "2020-02-15" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.check_name_availability.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_principal_assignment_name, 'ClusterPrincipalAssignmentCheckNameRequest') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('CheckNameResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + check_name_availability.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/checkPrincipalAssignmentNameAvailability'} + + def get( + self, + resource_group_name, # type: str + cluster_name, # type: str + principal_assignment_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.ClusterPrincipalAssignment" + """Gets a Kusto cluster principalAssignment. + + :param resource_group_name: The name of the resource group containing the Kusto cluster. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. + :type cluster_name: str + :param principal_assignment_name: The name of the Kusto principalAssignment. + :type principal_assignment_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ClusterPrincipalAssignment or the result of cls(response) + :rtype: ~azure.mgmt.kusto.models.ClusterPrincipalAssignment + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ClusterPrincipalAssignment"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-02-15" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'principalAssignmentName': self._serialize.url("principal_assignment_name", principal_assignment_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ClusterPrincipalAssignment', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/principalAssignments/{principalAssignmentName}'} + + def _create_or_update_initial( + self, + resource_group_name, # type: str + cluster_name, # type: str + principal_assignment_name, # type: str + principal_id=None, # type: Optional[str] + role=None, # type: Optional[Union[str, "models.ClusterPrincipalRole"]] + tenant_id=None, # type: Optional[str] + principal_type=None, # type: Optional[Union[str, "models.PrincipalType"]] + **kwargs # type: Any + ): + # type: (...) -> "models.ClusterPrincipalAssignment" + cls = kwargs.pop('cls', None) # type: ClsType["models.ClusterPrincipalAssignment"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _parameters = models.ClusterPrincipalAssignment(principal_id=principal_id, role=role, tenant_id=tenant_id, principal_type=principal_type) + api_version = "2020-02-15" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self._create_or_update_initial.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'principalAssignmentName': self._serialize.url("principal_assignment_name", principal_assignment_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_parameters, 'ClusterPrincipalAssignment') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('ClusterPrincipalAssignment', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('ClusterPrincipalAssignment', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/principalAssignments/{principalAssignmentName}'} + + def begin_create_or_update( + self, + resource_group_name, # type: str + cluster_name, # type: str + principal_assignment_name, # type: str + principal_id=None, # type: Optional[str] + role=None, # type: Optional[Union[str, "models.ClusterPrincipalRole"]] + tenant_id=None, # type: Optional[str] + principal_type=None, # type: Optional[Union[str, "models.PrincipalType"]] + **kwargs # type: Any + ): + # type: (...) -> "models.ClusterPrincipalAssignment" + """Create a Kusto cluster principalAssignment. + + :param resource_group_name: The name of the resource group containing the Kusto cluster. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. + :type cluster_name: str + :param principal_assignment_name: The name of the Kusto principalAssignment. + :type principal_assignment_name: str + :param principal_id: The principal ID assigned to the cluster principal. It can be a user + email, application ID, or security group name. + :type principal_id: str + :param role: Cluster principal role. + :type role: str or ~azure.mgmt.kusto.models.ClusterPrincipalRole + :param tenant_id: The tenant id of the principal. + :type tenant_id: str + :param principal_type: Principal type. + :type principal_type: str or ~azure.mgmt.kusto.models.PrincipalType + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :return: An instance of LROPoller that returns ClusterPrincipalAssignment + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.kusto.models.ClusterPrincipalAssignment] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.ClusterPrincipalAssignment"] + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + cluster_name=cluster_name, + principal_assignment_name=principal_assignment_name, + principal_id=principal_id, + role=role, + tenant_id=tenant_id, + principal_type=principal_type, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ClusterPrincipalAssignment', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/principalAssignments/{principalAssignmentName}'} + + def _delete_initial( + self, + resource_group_name, # type: str + cluster_name, # type: str + principal_assignment_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-02-15" + + # Construct URL + url = self._delete_initial.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'principalAssignmentName': self._serialize.url("principal_assignment_name", principal_assignment_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/principalAssignments/{principalAssignmentName}'} + + def begin_delete( + self, + resource_group_name, # type: str + cluster_name, # type: str + principal_assignment_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + """Deletes a Kusto cluster principalAssignment. + + :param resource_group_name: The name of the resource group containing the Kusto cluster. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. + :type cluster_name: str + :param principal_assignment_name: The name of the Kusto principalAssignment. + :type principal_assignment_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :return: An instance of LROPoller that returns None + :rtype: ~azure.core.polling.LROPoller[None] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + cluster_name=cluster_name, + principal_assignment_name=principal_assignment_name, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/principalAssignments/{principalAssignmentName}'} + + def list( + self, + resource_group_name, # type: str + cluster_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.ClusterPrincipalAssignmentListResult" + """Lists all Kusto cluster principalAssignments. + + :param resource_group_name: The name of the resource group containing the Kusto cluster. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ClusterPrincipalAssignmentListResult or the result of cls(response) + :rtype: ~azure.mgmt.kusto.models.ClusterPrincipalAssignmentListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ClusterPrincipalAssignmentListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-02-15" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('ClusterPrincipalAssignmentListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/principalAssignments'} diff --git a/src/kusto/azext_kusto/vendored_sdks/kusto/operations/_data_connection_operations.py b/src/kusto/azext_kusto/vendored_sdks/kusto/operations/_data_connection_operations.py new file mode 100644 index 00000000000..781c8811769 --- /dev/null +++ b/src/kusto/azext_kusto/vendored_sdks/kusto/operations/_data_connection_operations.py @@ -0,0 +1,681 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.arm_polling import ARMPolling + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class DataConnectionOperations(object): + """DataConnectionOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kusto.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list_by_database( + self, + resource_group_name, # type: str + cluster_name, # type: str + database_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.DataConnectionListResult" + """Returns the list of data connections of the given Kusto database. + + :param resource_group_name: The name of the resource group containing the Kusto cluster. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. + :type cluster_name: str + :param database_name: The name of the database in the Kusto cluster. + :type database_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DataConnectionListResult or the result of cls(response) + :rtype: ~azure.mgmt.kusto.models.DataConnectionListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.DataConnectionListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-02-15" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_database.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('DataConnectionListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_by_database.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/dataConnections'} + + def data_connection_validation( + self, + resource_group_name, # type: str + cluster_name, # type: str + database_name, # type: str + data_connection_name=None, # type: Optional[str] + properties=None, # type: Optional["models.DataConnection"] + **kwargs # type: Any + ): + # type: (...) -> "models.DataConnectionValidationListResult" + """Checks that the data connection parameters are valid. + + :param resource_group_name: The name of the resource group containing the Kusto cluster. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. + :type cluster_name: str + :param database_name: The name of the database in the Kusto cluster. + :type database_name: str + :param data_connection_name: The name of the data connection. + :type data_connection_name: str + :param properties: The data connection properties to validate. + :type properties: ~azure.mgmt.kusto.models.DataConnection + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DataConnectionValidationListResult or the result of cls(response) + :rtype: ~azure.mgmt.kusto.models.DataConnectionValidationListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.DataConnectionValidationListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _parameters = models.DataConnectionValidation(data_connection_name=data_connection_name, properties=properties) + api_version = "2020-02-15" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.data_connection_validation.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_parameters, 'DataConnectionValidation') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('DataConnectionValidationListResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + data_connection_validation.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/dataConnectionValidation'} + + def check_name_availability( + self, + resource_group_name, # type: str + cluster_name, # type: str + database_name, # type: str + name, # type: str + type, # type: Union[str, "models.Type"] + **kwargs # type: Any + ): + # type: (...) -> "models.CheckNameResult" + """Checks that the data connection name is valid and is not already in use. + + :param resource_group_name: The name of the resource group containing the Kusto cluster. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. + :type cluster_name: str + :param database_name: The name of the database in the Kusto cluster. + :type database_name: str + :param name: Data Connection name. + :type name: str + :param type: The type of resource, Microsoft.Kusto/clusters/databases/dataConnections. + :type type: str or ~azure.mgmt.kusto.models.Type + :keyword callable cls: A custom type or function that will be passed the direct response + :return: CheckNameResult or the result of cls(response) + :rtype: ~azure.mgmt.kusto.models.CheckNameResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.CheckNameResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _data_connection_name = models.DataConnectionCheckNameRequest(name=name, type=type) + api_version = "2020-02-15" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.check_name_availability.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_data_connection_name, 'DataConnectionCheckNameRequest') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('CheckNameResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + check_name_availability.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/checkNameAvailability'} + + def get( + self, + resource_group_name, # type: str + cluster_name, # type: str + database_name, # type: str + data_connection_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.DataConnection" + """Returns a data connection. + + :param resource_group_name: The name of the resource group containing the Kusto cluster. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. + :type cluster_name: str + :param database_name: The name of the database in the Kusto cluster. + :type database_name: str + :param data_connection_name: The name of the data connection. + :type data_connection_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DataConnection or the result of cls(response) + :rtype: ~azure.mgmt.kusto.models.DataConnection + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.DataConnection"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-02-15" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'dataConnectionName': self._serialize.url("data_connection_name", data_connection_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('DataConnection', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/dataConnections/{dataConnectionName}'} + + def _create_or_update_initial( + self, + resource_group_name, # type: str + cluster_name, # type: str + database_name, # type: str + data_connection_name, # type: str + parameters, # type: "models.DataConnection" + **kwargs # type: Any + ): + # type: (...) -> "models.DataConnection" + cls = kwargs.pop('cls', None) # type: ClsType["models.DataConnection"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-02-15" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self._create_or_update_initial.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'dataConnectionName': self._serialize.url("data_connection_name", data_connection_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(parameters, 'DataConnection') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('DataConnection', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('DataConnection', pipeline_response) + + if response.status_code == 202: + deserialized = self._deserialize('DataConnection', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/dataConnections/{dataConnectionName}'} + + def begin_create_or_update( + self, + resource_group_name, # type: str + cluster_name, # type: str + database_name, # type: str + data_connection_name, # type: str + parameters, # type: "models.DataConnection" + **kwargs # type: Any + ): + # type: (...) -> "models.DataConnection" + """Creates or updates a data connection. + + :param resource_group_name: The name of the resource group containing the Kusto cluster. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. + :type cluster_name: str + :param database_name: The name of the database in the Kusto cluster. + :type database_name: str + :param data_connection_name: The name of the data connection. + :type data_connection_name: str + :param parameters: The data connection parameters supplied to the CreateOrUpdate operation. + :type parameters: ~azure.mgmt.kusto.models.DataConnection + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :return: An instance of LROPoller that returns DataConnection + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.kusto.models.DataConnection] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.DataConnection"] + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + cluster_name=cluster_name, + database_name=database_name, + data_connection_name=data_connection_name, + parameters=parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('DataConnection', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/dataConnections/{dataConnectionName}'} + + def _update_initial( + self, + resource_group_name, # type: str + cluster_name, # type: str + database_name, # type: str + data_connection_name, # type: str + parameters, # type: "models.DataConnection" + **kwargs # type: Any + ): + # type: (...) -> "models.DataConnection" + cls = kwargs.pop('cls', None) # type: ClsType["models.DataConnection"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-02-15" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self._update_initial.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'dataConnectionName': self._serialize.url("data_connection_name", data_connection_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(parameters, 'DataConnection') + body_content_kwargs['content'] = body_content + request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('DataConnection', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('DataConnection', pipeline_response) + + if response.status_code == 202: + deserialized = self._deserialize('DataConnection', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/dataConnections/{dataConnectionName}'} + + def begin_update( + self, + resource_group_name, # type: str + cluster_name, # type: str + database_name, # type: str + data_connection_name, # type: str + parameters, # type: "models.DataConnection" + **kwargs # type: Any + ): + # type: (...) -> "models.DataConnection" + """Updates a data connection. + + :param resource_group_name: The name of the resource group containing the Kusto cluster. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. + :type cluster_name: str + :param database_name: The name of the database in the Kusto cluster. + :type database_name: str + :param data_connection_name: The name of the data connection. + :type data_connection_name: str + :param parameters: The data connection parameters supplied to the Update operation. + :type parameters: ~azure.mgmt.kusto.models.DataConnection + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :return: An instance of LROPoller that returns DataConnection + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.kusto.models.DataConnection] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.DataConnection"] + raw_result = self._update_initial( + resource_group_name=resource_group_name, + cluster_name=cluster_name, + database_name=database_name, + data_connection_name=data_connection_name, + parameters=parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('DataConnection', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/dataConnections/{dataConnectionName}'} + + def _delete_initial( + self, + resource_group_name, # type: str + cluster_name, # type: str + database_name, # type: str + data_connection_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-02-15" + + # Construct URL + url = self._delete_initial.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'dataConnectionName': self._serialize.url("data_connection_name", data_connection_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/dataConnections/{dataConnectionName}'} + + def begin_delete( + self, + resource_group_name, # type: str + cluster_name, # type: str + database_name, # type: str + data_connection_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + """Deletes the data connection with the given name. + + :param resource_group_name: The name of the resource group containing the Kusto cluster. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. + :type cluster_name: str + :param database_name: The name of the database in the Kusto cluster. + :type database_name: str + :param data_connection_name: The name of the data connection. + :type data_connection_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :return: An instance of LROPoller that returns None + :rtype: ~azure.core.polling.LROPoller[None] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + cluster_name=cluster_name, + database_name=database_name, + data_connection_name=data_connection_name, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/dataConnections/{dataConnectionName}'} diff --git a/src/kusto/azext_kusto/vendored_sdks/kusto/operations/_database_operations.py b/src/kusto/azext_kusto/vendored_sdks/kusto/operations/_database_operations.py new file mode 100644 index 00000000000..355d5fd9cbc --- /dev/null +++ b/src/kusto/azext_kusto/vendored_sdks/kusto/operations/_database_operations.py @@ -0,0 +1,794 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.arm_polling import ARMPolling + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, List, Optional, TypeVar, Union + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class DatabaseOperations(object): + """DatabaseOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kusto.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def check_name_availability( + self, + resource_group_name, # type: str + cluster_name, # type: str + name, # type: str + type, # type: Union[str, "models.Type"] + **kwargs # type: Any + ): + # type: (...) -> "models.CheckNameResult" + """Checks that the database name is valid and is not already in use. + + :param resource_group_name: The name of the resource group containing the Kusto cluster. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. + :type cluster_name: str + :param name: Resource name. + :type name: str + :param type: The type of resource, for instance Microsoft.Kusto/clusters/databases. + :type type: str or ~azure.mgmt.kusto.models.Type + :keyword callable cls: A custom type or function that will be passed the direct response + :return: CheckNameResult or the result of cls(response) + :rtype: ~azure.mgmt.kusto.models.CheckNameResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.CheckNameResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _resource_name = models.CheckNameRequest(name=name, type=type) + api_version = "2020-02-15" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.check_name_availability.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_resource_name, 'CheckNameRequest') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('CheckNameResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + check_name_availability.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/checkNameAvailability'} + + def list_by_cluster( + self, + resource_group_name, # type: str + cluster_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.DatabaseListResult" + """Returns the list of databases of the given Kusto cluster. + + :param resource_group_name: The name of the resource group containing the Kusto cluster. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DatabaseListResult or the result of cls(response) + :rtype: ~azure.mgmt.kusto.models.DatabaseListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.DatabaseListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-02-15" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_cluster.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('DatabaseListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_by_cluster.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases'} + + def get( + self, + resource_group_name, # type: str + cluster_name, # type: str + database_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.Database" + """Returns a database. + + :param resource_group_name: The name of the resource group containing the Kusto cluster. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. + :type cluster_name: str + :param database_name: The name of the database in the Kusto cluster. + :type database_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Database or the result of cls(response) + :rtype: ~azure.mgmt.kusto.models.Database + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.Database"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-02-15" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('Database', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}'} + + def _create_or_update_initial( + self, + resource_group_name, # type: str + cluster_name, # type: str + database_name, # type: str + parameters, # type: "models.Database" + **kwargs # type: Any + ): + # type: (...) -> "models.Database" + cls = kwargs.pop('cls', None) # type: ClsType["models.Database"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-02-15" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self._create_or_update_initial.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(parameters, 'Database') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('Database', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('Database', pipeline_response) + + if response.status_code == 202: + deserialized = self._deserialize('Database', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}'} + + def begin_create_or_update( + self, + resource_group_name, # type: str + cluster_name, # type: str + database_name, # type: str + parameters, # type: "models.Database" + **kwargs # type: Any + ): + # type: (...) -> "models.Database" + """Creates or updates a database. + + :param resource_group_name: The name of the resource group containing the Kusto cluster. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. + :type cluster_name: str + :param database_name: The name of the database in the Kusto cluster. + :type database_name: str + :param parameters: The database parameters supplied to the CreateOrUpdate operation. + :type parameters: ~azure.mgmt.kusto.models.Database + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :return: An instance of LROPoller that returns Database + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.kusto.models.Database] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.Database"] + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + cluster_name=cluster_name, + database_name=database_name, + parameters=parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('Database', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}'} + + def _update_initial( + self, + resource_group_name, # type: str + cluster_name, # type: str + database_name, # type: str + parameters, # type: "models.Database" + **kwargs # type: Any + ): + # type: (...) -> "models.Database" + cls = kwargs.pop('cls', None) # type: ClsType["models.Database"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-02-15" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self._update_initial.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(parameters, 'Database') + body_content_kwargs['content'] = body_content + request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('Database', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('Database', pipeline_response) + + if response.status_code == 202: + deserialized = self._deserialize('Database', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}'} + + def begin_update( + self, + resource_group_name, # type: str + cluster_name, # type: str + database_name, # type: str + parameters, # type: "models.Database" + **kwargs # type: Any + ): + # type: (...) -> "models.Database" + """Updates a database. + + :param resource_group_name: The name of the resource group containing the Kusto cluster. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. + :type cluster_name: str + :param database_name: The name of the database in the Kusto cluster. + :type database_name: str + :param parameters: The database parameters supplied to the Update operation. + :type parameters: ~azure.mgmt.kusto.models.Database + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :return: An instance of LROPoller that returns Database + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.kusto.models.Database] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.Database"] + raw_result = self._update_initial( + resource_group_name=resource_group_name, + cluster_name=cluster_name, + database_name=database_name, + parameters=parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('Database', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}'} + + def _delete_initial( + self, + resource_group_name, # type: str + cluster_name, # type: str + database_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-02-15" + + # Construct URL + url = self._delete_initial.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}'} + + def begin_delete( + self, + resource_group_name, # type: str + cluster_name, # type: str + database_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + """Deletes the database with the given name. + + :param resource_group_name: The name of the resource group containing the Kusto cluster. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. + :type cluster_name: str + :param database_name: The name of the database in the Kusto cluster. + :type database_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :return: An instance of LROPoller that returns None + :rtype: ~azure.core.polling.LROPoller[None] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + cluster_name=cluster_name, + database_name=database_name, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}'} + + def list_principal( + self, + resource_group_name, # type: str + cluster_name, # type: str + database_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.DatabasePrincipalListResult" + """Returns a list of database principals of the given Kusto cluster and database. + + :param resource_group_name: The name of the resource group containing the Kusto cluster. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. + :type cluster_name: str + :param database_name: The name of the database in the Kusto cluster. + :type database_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DatabasePrincipalListResult or the result of cls(response) + :rtype: ~azure.mgmt.kusto.models.DatabasePrincipalListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.DatabasePrincipalListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-02-15" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_principal.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('DatabasePrincipalListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_principal.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/listPrincipals'} + + def add_principal( + self, + resource_group_name, # type: str + cluster_name, # type: str + database_name, # type: str + value=None, # type: Optional[List["DatabasePrincipal"]] + **kwargs # type: Any + ): + # type: (...) -> "models.DatabasePrincipalListResult" + """Add Database principals permissions. + + :param resource_group_name: The name of the resource group containing the Kusto cluster. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. + :type cluster_name: str + :param database_name: The name of the database in the Kusto cluster. + :type database_name: str + :param value: The list of Kusto database principals. + :type value: list[~azure.mgmt.kusto.models.DatabasePrincipal] + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DatabasePrincipalListResult or the result of cls(response) + :rtype: ~azure.mgmt.kusto.models.DatabasePrincipalListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.DatabasePrincipalListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _database_principals_to_add = models.DatabasePrincipalListRequest(value=value) + api_version = "2020-02-15" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.add_principal.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_database_principals_to_add, 'DatabasePrincipalListRequest') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('DatabasePrincipalListResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + add_principal.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/addPrincipals'} + + def remove_principal( + self, + resource_group_name, # type: str + cluster_name, # type: str + database_name, # type: str + value=None, # type: Optional[List["DatabasePrincipal"]] + **kwargs # type: Any + ): + # type: (...) -> "models.DatabasePrincipalListResult" + """Remove Database principals permissions. + + :param resource_group_name: The name of the resource group containing the Kusto cluster. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. + :type cluster_name: str + :param database_name: The name of the database in the Kusto cluster. + :type database_name: str + :param value: The list of Kusto database principals. + :type value: list[~azure.mgmt.kusto.models.DatabasePrincipal] + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DatabasePrincipalListResult or the result of cls(response) + :rtype: ~azure.mgmt.kusto.models.DatabasePrincipalListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.DatabasePrincipalListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _database_principals_to_remove = models.DatabasePrincipalListRequest(value=value) + api_version = "2020-02-15" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.remove_principal.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_database_principals_to_remove, 'DatabasePrincipalListRequest') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('DatabasePrincipalListResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + remove_principal.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/removePrincipals'} diff --git a/src/kusto/azext_kusto/vendored_sdks/kusto/operations/_database_principal_assignment_operations.py b/src/kusto/azext_kusto/vendored_sdks/kusto/operations/_database_principal_assignment_operations.py new file mode 100644 index 00000000000..4fe55c98aa3 --- /dev/null +++ b/src/kusto/azext_kusto/vendored_sdks/kusto/operations/_database_principal_assignment_operations.py @@ -0,0 +1,498 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.arm_polling import ARMPolling + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class DatabasePrincipalAssignmentOperations(object): + """DatabasePrincipalAssignmentOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kusto.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def check_name_availability( + self, + resource_group_name, # type: str + cluster_name, # type: str + database_name, # type: str + name, # type: str + type, # type: Union[str, "models.Type"] + **kwargs # type: Any + ): + # type: (...) -> "models.CheckNameResult" + """Checks that the database principal assignment is valid and is not already in use. + + :param resource_group_name: The name of the resource group containing the Kusto cluster. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. + :type cluster_name: str + :param database_name: The name of the database in the Kusto cluster. + :type database_name: str + :param name: Principal Assignment resource name. + :type name: str + :param type: The type of resource, Microsoft.Kusto/clusters/databases/principalAssignments. + :type type: str or ~azure.mgmt.kusto.models.Type + :keyword callable cls: A custom type or function that will be passed the direct response + :return: CheckNameResult or the result of cls(response) + :rtype: ~azure.mgmt.kusto.models.CheckNameResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.CheckNameResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _principal_assignment_name = models.DatabasePrincipalAssignmentCheckNameRequest(name=name, type=type) + api_version = "2020-02-15" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.check_name_availability.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_principal_assignment_name, 'DatabasePrincipalAssignmentCheckNameRequest') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('CheckNameResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + check_name_availability.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/checkPrincipalAssignmentNameAvailability'} + + def get( + self, + resource_group_name, # type: str + cluster_name, # type: str + database_name, # type: str + principal_assignment_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.DatabasePrincipalAssignment" + """Gets a Kusto cluster database principalAssignment. + + :param resource_group_name: The name of the resource group containing the Kusto cluster. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. + :type cluster_name: str + :param database_name: The name of the database in the Kusto cluster. + :type database_name: str + :param principal_assignment_name: The name of the Kusto principalAssignment. + :type principal_assignment_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DatabasePrincipalAssignment or the result of cls(response) + :rtype: ~azure.mgmt.kusto.models.DatabasePrincipalAssignment + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.DatabasePrincipalAssignment"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-02-15" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'principalAssignmentName': self._serialize.url("principal_assignment_name", principal_assignment_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('DatabasePrincipalAssignment', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/principalAssignments/{principalAssignmentName}'} + + def _create_or_update_initial( + self, + resource_group_name, # type: str + cluster_name, # type: str + database_name, # type: str + principal_assignment_name, # type: str + principal_id=None, # type: Optional[str] + role=None, # type: Optional[Union[str, "models.DatabasePrincipalRole"]] + tenant_id=None, # type: Optional[str] + principal_type=None, # type: Optional[Union[str, "models.PrincipalType"]] + **kwargs # type: Any + ): + # type: (...) -> "models.DatabasePrincipalAssignment" + cls = kwargs.pop('cls', None) # type: ClsType["models.DatabasePrincipalAssignment"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _parameters = models.DatabasePrincipalAssignment(principal_id=principal_id, role=role, tenant_id=tenant_id, principal_type=principal_type) + api_version = "2020-02-15" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self._create_or_update_initial.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'principalAssignmentName': self._serialize.url("principal_assignment_name", principal_assignment_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_parameters, 'DatabasePrincipalAssignment') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('DatabasePrincipalAssignment', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('DatabasePrincipalAssignment', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/principalAssignments/{principalAssignmentName}'} + + def begin_create_or_update( + self, + resource_group_name, # type: str + cluster_name, # type: str + database_name, # type: str + principal_assignment_name, # type: str + principal_id=None, # type: Optional[str] + role=None, # type: Optional[Union[str, "models.DatabasePrincipalRole"]] + tenant_id=None, # type: Optional[str] + principal_type=None, # type: Optional[Union[str, "models.PrincipalType"]] + **kwargs # type: Any + ): + # type: (...) -> "models.DatabasePrincipalAssignment" + """Creates a Kusto cluster database principalAssignment. + + :param resource_group_name: The name of the resource group containing the Kusto cluster. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. + :type cluster_name: str + :param database_name: The name of the database in the Kusto cluster. + :type database_name: str + :param principal_assignment_name: The name of the Kusto principalAssignment. + :type principal_assignment_name: str + :param principal_id: The principal ID assigned to the database principal. It can be a user + email, application ID, or security group name. + :type principal_id: str + :param role: Database principal role. + :type role: str or ~azure.mgmt.kusto.models.DatabasePrincipalRole + :param tenant_id: The tenant id of the principal. + :type tenant_id: str + :param principal_type: Principal type. + :type principal_type: str or ~azure.mgmt.kusto.models.PrincipalType + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :return: An instance of LROPoller that returns DatabasePrincipalAssignment + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.kusto.models.DatabasePrincipalAssignment] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.DatabasePrincipalAssignment"] + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + cluster_name=cluster_name, + database_name=database_name, + principal_assignment_name=principal_assignment_name, + principal_id=principal_id, + role=role, + tenant_id=tenant_id, + principal_type=principal_type, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('DatabasePrincipalAssignment', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/principalAssignments/{principalAssignmentName}'} + + def _delete_initial( + self, + resource_group_name, # type: str + cluster_name, # type: str + database_name, # type: str + principal_assignment_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-02-15" + + # Construct URL + url = self._delete_initial.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'principalAssignmentName': self._serialize.url("principal_assignment_name", principal_assignment_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/principalAssignments/{principalAssignmentName}'} + + def begin_delete( + self, + resource_group_name, # type: str + cluster_name, # type: str + database_name, # type: str + principal_assignment_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + """Deletes a Kusto principalAssignment. + + :param resource_group_name: The name of the resource group containing the Kusto cluster. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. + :type cluster_name: str + :param database_name: The name of the database in the Kusto cluster. + :type database_name: str + :param principal_assignment_name: The name of the Kusto principalAssignment. + :type principal_assignment_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :return: An instance of LROPoller that returns None + :rtype: ~azure.core.polling.LROPoller[None] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + cluster_name=cluster_name, + database_name=database_name, + principal_assignment_name=principal_assignment_name, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/principalAssignments/{principalAssignmentName}'} + + def list( + self, + resource_group_name, # type: str + cluster_name, # type: str + database_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.DatabasePrincipalAssignmentListResult" + """Lists all Kusto cluster database principalAssignments. + + :param resource_group_name: The name of the resource group containing the Kusto cluster. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. + :type cluster_name: str + :param database_name: The name of the database in the Kusto cluster. + :type database_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DatabasePrincipalAssignmentListResult or the result of cls(response) + :rtype: ~azure.mgmt.kusto.models.DatabasePrincipalAssignmentListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.DatabasePrincipalAssignmentListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-02-15" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('DatabasePrincipalAssignmentListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/principalAssignments'} diff --git a/src/kusto/azext_kusto/vendored_sdks/kusto/operations/_operation_operations.py b/src/kusto/azext_kusto/vendored_sdks/kusto/operations/_operation_operations.py new file mode 100644 index 00000000000..0dccf9c0c3a --- /dev/null +++ b/src/kusto/azext_kusto/vendored_sdks/kusto/operations/_operation_operations.py @@ -0,0 +1,105 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.mgmt.core.exceptions import ARMErrorFormat + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Optional, TypeVar + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class OperationOperations(object): + """OperationOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kusto.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + **kwargs # type: Any + ): + # type: (...) -> "models.OperationListResult" + """Lists available operations for the Microsoft.Kusto provider. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: OperationListResult or the result of cls(response) + :rtype: ~azure.mgmt.kusto.models.OperationListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.OperationListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-02-15" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('OperationListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/providers/Microsoft.Kusto/operations'} diff --git a/src/kusto/azext_kusto/vendored_sdks/kusto/py.typed b/src/kusto/azext_kusto/vendored_sdks/kusto/py.typed new file mode 100644 index 00000000000..e5aff4f83af --- /dev/null +++ b/src/kusto/azext_kusto/vendored_sdks/kusto/py.typed @@ -0,0 +1 @@ +# Marker file for PEP 561. \ No newline at end of file diff --git a/src/kusto/azext_kusto/vendored_sdks/kusto/setup.py b/src/kusto/azext_kusto/vendored_sdks/kusto/setup.py new file mode 100644 index 00000000000..ef33e13c91d --- /dev/null +++ b/src/kusto/azext_kusto/vendored_sdks/kusto/setup.py @@ -0,0 +1,37 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +# coding: utf-8 + +from setuptools import setup, find_packages + +NAME = "kustomanagementclient" +VERSION = "0.1.0" + +# To install the library, run the following +# +# python setup.py install +# +# prerequisite: setuptools +# http://pypi.python.org/pypi/setuptools + +REQUIRES = ["msrest>=0.6.0", "azure-core<2.0.0,>=1.2.0"] + +setup( + name=NAME, + version=VERSION, + description="KustoManagementClient", + author_email="", + url="", + keywords=["Swagger", "KustoManagementClient"], + install_requires=REQUIRES, + packages=find_packages(), + include_package_data=True, + long_description="""\ + The Azure Kusto management API provides a RESTful set of web services that interact with Azure Kusto services to manage your clusters and databases. The API enables you to create, update, and delete clusters and databases. + """ +) diff --git a/src/kusto/setup.cfg b/src/kusto/setup.cfg new file mode 100644 index 00000000000..2fdd96e5d39 --- /dev/null +++ b/src/kusto/setup.cfg @@ -0,0 +1 @@ +#setup.cfg \ No newline at end of file diff --git a/src/kusto/setup.py b/src/kusto/setup.py new file mode 100644 index 00000000000..6bcb85dcd06 --- /dev/null +++ b/src/kusto/setup.py @@ -0,0 +1,53 @@ +#!/usr/bin/env python + +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + + +from codecs import open +from setuptools import setup, find_packages + +# TODO: Confirm this is the right version number you want and it matches your +# HISTORY.rst entry. +VERSION = '0.1.0' + +# The full list of classifiers is available at +# https://pypi.python.org/pypi?%3Aaction=list_classifiers +CLASSIFIERS = [ + 'Development Status :: 4 - Beta', + 'Intended Audience :: Developers', + 'Intended Audience :: System Administrators', + 'Programming Language :: Python', + 'Programming Language :: Python :: 3', + 'Programming Language :: Python :: 3.6', + 'Programming Language :: Python :: 3.7', + 'Programming Language :: Python :: 3.8', + 'License :: OSI Approved :: MIT License', +] + +# TODO: Add any additional SDK dependencies here +DEPENDENCIES = [] + +with open('README.md', 'r', encoding='utf-8') as f: + README = f.read() +with open('HISTORY.rst', 'r', encoding='utf-8') as f: + HISTORY = f.read() + +setup( + name='kusto', + version=VERSION, + description='Microsoft Azure Command-Line Tools KustoManagementClient Extension', + # TODO: Update author and email, if applicable + author='Microsoft Corporation', + author_email='azpycli@microsoft.com', + # TODO: consider pointing directly to your source code instead of the generic repo + url='https://github.com/Azure/azure-cli-extensions', + long_description=README + '\n\n' + HISTORY, + license='MIT', + classifiers=CLASSIFIERS, + packages=find_packages(), + install_requires=DEPENDENCIES, + package_data={'azext_kusto': ['azext_metadata.json']}, +) diff --git a/src/log-analytics-solution/HISTORY.rst b/src/log-analytics-solution/HISTORY.rst new file mode 100644 index 00000000000..1c139576ba0 --- /dev/null +++ b/src/log-analytics-solution/HISTORY.rst @@ -0,0 +1,8 @@ +.. :changelog: + +Release History +=============== + +0.1.0 +++++++ +* Initial release. diff --git a/src/log-analytics-solution/README.md b/src/log-analytics-solution/README.md new file mode 100644 index 00000000000..52229940ab2 --- /dev/null +++ b/src/log-analytics-solution/README.md @@ -0,0 +1,56 @@ +# Azure CLI log-analytics-solution Extension # +This package is for the 'log-analytics-solution' extension, i.e. 'az monitor log-analytics solution' + +### How to use ### +Install this extension using the below CLI command +``` +az extension add --name log-analytics-solution +``` + +### Included Features +#### Log Analytics Solution Management: +Manage Log Analytics Solution: [more info](https://docs.microsoft.com/en-us/azure/azure-monitor/insights/solutions) \ +*Examples:* + +##### Create a log-analytics solution for the plan product of OMSGallery/Containers +``` +az monitor log-analytics solution create \ + --resource-group MyResourceGroup \ + --name Containers({SolutionName}) \ + --plan-publisher Microsoft \ + --plan-product "OMSGallery/Containers" \ + --workspace "/subscriptions/{SubID}/resourceGroups/{ResourceGroup}/providers/ \ + Microsoft.OperationalInsights/workspaces/{WorkspaceName}" \ + --tags key=value +``` + +##### Update a log-analytics solution +``` + az monitor log-analytics solution update \ + --resource-group MyResourceGroup \ + --name SolutionName \ + --tags key=value +``` + +##### Delete a log-analytics solution +``` +az monitor log-analytics solution delete --resource-group MyResourceGroup --name SolutionName +``` + +##### Get details about the specified log-analytics solution +``` +az monitor log-analytics solution show --resource-group MyResourceGroup --name SolutionName +``` + +##### List all of the log-analytics solutions in the specified subscription or resource group +``` +az monitor log-analytics solution list +``` +``` +az monitor log-analytics solution list --subscription MySubscription +``` +``` +az monitor log-analytics solution list --resource-group MyResourceGroup +``` + +If you have issues, please give feedback by opening an issue at https://github.com/Azure/azure-cli-extensions/issues. diff --git a/src/log-analytics-solution/azext_log_analytics_solution/__init__.py b/src/log-analytics-solution/azext_log_analytics_solution/__init__.py new file mode 100644 index 00000000000..5b8afb59574 --- /dev/null +++ b/src/log-analytics-solution/azext_log_analytics_solution/__init__.py @@ -0,0 +1,32 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +from azure.cli.core import AzCommandsLoader + +from azext_log_analytics_solution._help import helps # pylint: disable=unused-import + + +class LogAnalyticsSolutionCommandsLoader(AzCommandsLoader): + + def __init__(self, cli_ctx=None): + from azure.cli.core.commands import CliCommandType + from azext_log_analytics_solution._client_factory import cf_log_analytics_solution + log_analytics_solution_custom = CliCommandType( + operations_tmpl='azext_log_analytics_solution.custom#{}', + client_factory=cf_log_analytics_solution) + super(LogAnalyticsSolutionCommandsLoader, self).__init__(cli_ctx=cli_ctx, + custom_command_type=log_analytics_solution_custom) + + def load_command_table(self, args): + from azext_log_analytics_solution.commands import load_command_table + load_command_table(self, args) + return self.command_table + + def load_arguments(self, command): + from azext_log_analytics_solution._params import load_arguments + load_arguments(self, command) + + +COMMAND_LOADER_CLS = LogAnalyticsSolutionCommandsLoader diff --git a/src/log-analytics-solution/azext_log_analytics_solution/_client_factory.py b/src/log-analytics-solution/azext_log_analytics_solution/_client_factory.py new file mode 100644 index 00000000000..ac7c5fb5d98 --- /dev/null +++ b/src/log-analytics-solution/azext_log_analytics_solution/_client_factory.py @@ -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. +# -------------------------------------------------------------------------------------------- + + +def cf_log_analytics_solution(cli_ctx, *_): + from azure.cli.core.commands.client_factory import get_mgmt_service_client + from .vendored_sdks.operationsmanagement import OperationsManagementClient + return get_mgmt_service_client(cli_ctx, OperationsManagementClient, provider_name="Microsoft.OperationsManagement", + resource_type="solutions", resource_name="") + + +def cf_solutions(cli_ctx, *_): + return cf_log_analytics_solution(cli_ctx, *_).solutions diff --git a/src/log-analytics-solution/azext_log_analytics_solution/_help.py b/src/log-analytics-solution/azext_log_analytics_solution/_help.py new file mode 100644 index 00000000000..199887bbf8f --- /dev/null +++ b/src/log-analytics-solution/azext_log_analytics_solution/_help.py @@ -0,0 +1,71 @@ +# coding=utf-8 +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +# pylint: disable=too-many-lines +# pylint: disable=line-too-long +from knack.help_files import helps # pylint: disable=unused-import + + +helps['monitor log-analytics solution'] = """ +type: group +short-summary: Commands to manage monitor log-analytics solution. +""" + +helps['monitor log-analytics solution create'] = """ +type: command +short-summary: Create a log-analytics solution. +examples: + - name: Create a log-analytics solution for the plan product of OMSGallery/Containers + text: |- + az monitor log-analytics solution create --resource-group MyResourceGroup \\ + --name Containers({SolutionName}) --tags key=value \\ + --plan-publisher Microsoft --plan-product "OMSGallery/Containers" \\ + --workspace "/subscriptions/{SubID}/resourceGroups/{ResourceGroup}/providers/ \\ + Microsoft.OperationalInsights/workspaces/{WorkspaceName}" +""" + +helps['monitor log-analytics solution update'] = """ +type: command +short-summary: Update an existing log-analytics solution. +examples: + - name: Update a log-analytics solution + text: |- + az monitor log-analytics solution update --resource-group MyResourceGroup \\ + --name SolutionName --tags key=value +""" + +helps['monitor log-analytics solution delete'] = """ +type: command +short-summary: Delete a log-analytics solution. +examples: + - name: Delete a log-analytics solution + text: |- + az monitor log-analytics solution delete --resource-group MyResourceGroup --name SolutionName +""" + +helps['monitor log-analytics solution show'] = """ +type: command +short-summary: Get details about the specified log-analytics solution. +examples: + - name: Get a log-analytics solution + text: |- + az monitor log-analytics solution show --resource-group MyResourceGroup --name SolutionName +""" + +helps['monitor log-analytics solution list'] = """ +type: command +short-summary: List all of the log-analytics solutions in the specified subscription or resource group +examples: + - name: List all log-analytics solutions in the current subscription + text: |- + az monitor log-analytics solution list + - name: List all log-analytics solutions in a subscription + text: |- + az monitor log-analytics solution list --subscription MySubscription + - name: List all log-analytics solutions in a resource group + text: |- + az monitor log-analytics solution list --resource-group MyResourceGroup +""" diff --git a/src/log-analytics-solution/azext_log_analytics_solution/_params.py b/src/log-analytics-solution/azext_log_analytics_solution/_params.py new file mode 100644 index 00000000000..75d39488a7c --- /dev/null +++ b/src/log-analytics-solution/azext_log_analytics_solution/_params.py @@ -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: disable=line-too-long +# pylint: disable=too-many-lines +# pylint: disable=too-many-statements + +from azure.cli.core.commands.parameters import tags_type +from knack.arguments import CLIArgumentType +from ._validators import validate_workspace_resource_id + +solution_name = CLIArgumentType(options_list=['--name', '-n'], + help='Name of the log-analytics solution. For Microsoft published solution it ' + 'should be in the format of solutionType(workspaceName). SolutionType part is ' + 'case sensitive. For third party solution, it can be anything.') + + +def load_arguments(self, _): + + with self.argument_context('monitor log-analytics solution create') as c: + c.ignore('location') + c.argument('solution_name', solution_name) + c.argument('tags', tags_type) + c.argument('plan_publisher', help='Publisher name of the plan for solution. For gallery solution, it is Microsoft.') + c.argument('plan_product', help='Product name of the plan for solution. ' + 'For Microsoft published gallery solution it should be in the format of OMSGallery/. This is case sensitive.') + c.argument('workspace_resource_id', options_list=['--workspace', '-w'], + validator=validate_workspace_resource_id, + help='The name or resource ID of the log analytics workspace with which the solution will be linked.') + + with self.argument_context('monitor log-analytics solution update') as c: + c.argument('solution_name', solution_name) + c.argument('tags', tags_type) + + with self.argument_context('monitor log-analytics solution delete') as c: + c.argument('solution_name', solution_name) + + with self.argument_context('monitor log-analytics solution show') as c: + c.argument('solution_name', solution_name) diff --git a/src/log-analytics-solution/azext_log_analytics_solution/_validators.py b/src/log-analytics-solution/azext_log_analytics_solution/_validators.py new file mode 100644 index 00000000000..7dce67e8418 --- /dev/null +++ b/src/log-analytics-solution/azext_log_analytics_solution/_validators.py @@ -0,0 +1,36 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- +from msrestazure.tools import is_valid_resource_id, parse_resource_id, resource_id +from knack.util import CLIError +from azure.mgmt.loganalytics import LogAnalyticsManagementClient +from azure.cli.core.commands.client_factory import get_mgmt_service_client, get_subscription_id + + +def validate_workspace_resource_id(cmd, namespace): + + if namespace.workspace_resource_id: + # If the workspace_resource_id is invalid, use it as a workspace name to splice the workspace_resource_id + if not is_valid_resource_id(namespace.workspace_resource_id): + namespace.workspace_resource_id = resource_id( + subscription=get_subscription_id(cmd.cli_ctx), + resource_group=namespace.resource_group_name, + namespace='microsoft.OperationalInsights', + type='workspaces', + name=namespace.workspace_resource_id + ) + + if not is_valid_resource_id(namespace.workspace_resource_id): + raise CLIError('usage error: --workspace is invalid, it must be name of resource id of workspace') + + # Determine whether the workspace already exists + workspace_param = parse_resource_id(namespace.workspace_resource_id) + if workspace_param['resource_group'] != namespace.resource_group_name: + raise CLIError('usage error: workspace and solution must be under the same resource group') + + workspaces_client = get_mgmt_service_client(cmd.cli_ctx, LogAnalyticsManagementClient).workspaces + workspaces = workspaces_client.get(workspace_param['resource_group'], workspace_param['resource_name']) + + # The location of solution is the same as the location of the workspace + namespace.location = workspaces.location diff --git a/src/log-analytics-solution/azext_log_analytics_solution/azext_metadata.json b/src/log-analytics-solution/azext_log_analytics_solution/azext_metadata.json new file mode 100644 index 00000000000..707b3ad69f7 --- /dev/null +++ b/src/log-analytics-solution/azext_log_analytics_solution/azext_metadata.json @@ -0,0 +1,4 @@ +{ + "azext.isExperimental": true, + "azext.minCliCoreVersion": "2.3.0" +} \ No newline at end of file diff --git a/src/log-analytics-solution/azext_log_analytics_solution/commands.py b/src/log-analytics-solution/azext_log_analytics_solution/commands.py new file mode 100644 index 00000000000..dbdc428cb58 --- /dev/null +++ b/src/log-analytics-solution/azext_log_analytics_solution/commands.py @@ -0,0 +1,26 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +# pylint: disable=line-too-long +# pylint: disable=too-many-lines +# pylint: disable=too-many-statements +# pylint: disable=too-many-locals +from azure.cli.core.commands import CliCommandType +from ._client_factory import cf_solutions + + +def load_command_table(self, _): + + log_analytics_solution_solutions = CliCommandType( + operations_tmpl='azext_log_analytics_solution.vendored_sdks.operationsmanagement.operations._solutions_operations#SolutionsOperations.{}', + client_factory=cf_solutions) + + with self.command_group('monitor log-analytics solution', log_analytics_solution_solutions, + client_factory=cf_solutions, is_experimental=True) as g: + g.custom_command('create', 'create_monitor_log_analytics_solution', supports_no_wait=True) + g.custom_command('update', 'update_monitor_log_analytics_solution', supports_no_wait=True) + g.custom_command('delete', 'delete_monitor_log_analytics_solution', supports_no_wait=True, confirmation=True) + g.custom_show_command('show', 'get_monitor_log_analytics_solution') + g.custom_command('list', 'list_monitor_log_analytics_solution') diff --git a/src/log-analytics-solution/azext_log_analytics_solution/custom.py b/src/log-analytics-solution/azext_log_analytics_solution/custom.py new file mode 100644 index 00000000000..ce62ff348bd --- /dev/null +++ b/src/log-analytics-solution/azext_log_analytics_solution/custom.py @@ -0,0 +1,68 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- +# pylint: disable=line-too-long +# pylint: disable=too-many-statements +# pylint: disable=too-many-lines +# pylint: disable=too-many-locals +# pylint: disable=unused-argument + +from azure.cli.core.util import sdk_no_wait + + +def create_monitor_log_analytics_solution(client, + resource_group_name, + solution_name, + plan_publisher, + plan_product, + workspace_resource_id, + location, + tags=None, + no_wait=False): + + body = { + 'location': location, + 'tags': tags, + 'properties': { + "workspace_resource_id": workspace_resource_id + }, + "plan": { + "name": solution_name, + "product": plan_product, + "publisher": plan_publisher, + "promotion_code": "" + } + } + + return sdk_no_wait(no_wait, client.create_or_update, resource_group_name=resource_group_name, + solution_name=solution_name, parameters=body) + + +def update_monitor_log_analytics_solution(client, + resource_group_name, + solution_name, + tags=None, + no_wait=False): + + return sdk_no_wait(no_wait, client.update, resource_group_name=resource_group_name, + solution_name=solution_name, tags=tags) + + +def delete_monitor_log_analytics_solution(client, + resource_group_name, + solution_name, + no_wait=False): + return sdk_no_wait(no_wait, client.delete, resource_group_name=resource_group_name, solution_name=solution_name) + + +def get_monitor_log_analytics_solution(client, + resource_group_name, + solution_name): + return client.get(resource_group_name=resource_group_name, solution_name=solution_name) + + +def list_monitor_log_analytics_solution(client, resource_group_name=None): + if resource_group_name: + return client.list_by_resource_group(resource_group_name=resource_group_name) + return client.list_by_subscription() diff --git a/src/log-analytics-solution/azext_log_analytics_solution/tests/__init__.py b/src/log-analytics-solution/azext_log_analytics_solution/tests/__init__.py new file mode 100644 index 00000000000..34913fb394d --- /dev/null +++ b/src/log-analytics-solution/azext_log_analytics_solution/tests/__init__.py @@ -0,0 +1,4 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- diff --git a/src/log-analytics-solution/azext_log_analytics_solution/tests/latest/__init__.py b/src/log-analytics-solution/azext_log_analytics_solution/tests/latest/__init__.py new file mode 100644 index 00000000000..34913fb394d --- /dev/null +++ b/src/log-analytics-solution/azext_log_analytics_solution/tests/latest/__init__.py @@ -0,0 +1,4 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- diff --git a/src/log-analytics-solution/azext_log_analytics_solution/tests/latest/log_analytics.json b/src/log-analytics-solution/azext_log_analytics_solution/tests/latest/log_analytics.json new file mode 100644 index 00000000000..538cbdf9c46 --- /dev/null +++ b/src/log-analytics-solution/azext_log_analytics_solution/tests/latest/log_analytics.json @@ -0,0 +1,11 @@ +{ + "features": { + "legacy": "0", + "searchVersion": "1" + }, + "retentionInDays": "7", + "sku": { + "name": "free" + }, + "source": "Azure" +} \ No newline at end of file diff --git a/src/log-analytics-solution/azext_log_analytics_solution/tests/latest/recordings/test_log_analytics_solution.yaml b/src/log-analytics-solution/azext_log_analytics_solution/tests/latest/recordings/test_log_analytics_solution.yaml new file mode 100644 index 00000000000..dbb5f3aba6f --- /dev/null +++ b/src/log-analytics-solution/azext_log_analytics_solution/tests/latest/recordings/test_log_analytics_solution.yaml @@ -0,0 +1,1504 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - resource create + Connection: + - keep-alive + ParameterSetName: + - -g -n -l --resource-type -p + User-Agent: + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.4.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.OperationalInsights?api-version=2019-07-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.OperationalInsights","namespace":"Microsoft.OperationalInsights","authorizations":[{"applicationId":"d2a0a418-0aac-4541-82b2-b3142c89da77","roleDefinitionId":"86695298-2eb9-48a7-9ec3-2fdb38b6878b"},{"applicationId":"ca7f3f0b-7d91-482c-8e09-c5d840d0eac5","roleDefinitionId":"5d5a2e56-9835-44aa-93db-d2f19e155438"}],"resourceTypes":[{"resourceType":"workspaces","locations":["East + US","West Europe","Southeast Asia","Australia Southeast","West Central US","Japan + East","UK South","Central India","Canada Central","West US 2","Australia Central","Australia + East","France Central","Korea Central","North Europe","Central US","East Asia","East + US 2","South Central US","North Central US","West US","UK West","South Africa + North","Brazil South","Switzerland North","Switzerland West"],"apiVersions":["2020-03-01-preview","2017-04-26-preview","2017-03-15-preview","2017-03-03-preview","2017-01-01-preview","2015-11-01-preview","2015-03-20"],"capabilities":"CrossResourceGroupResourceMove, + CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"locations","locations":[],"apiVersions":["2020-03-01-preview","2019-08-01-preview","2017-04-26-preview","2017-03-15-preview","2017-03-03-preview","2017-01-01-preview","2015-11-01-preview","2015-03-20"],"defaultApiVersion":"2015-11-01-preview","capabilities":"None"},{"resourceType":"locations/operationStatuses","locations":["East + US","West Europe","Southeast Asia","Australia Southeast","West Central US","Japan + East","UK South","Central India","Canada Central","West US 2","Australia Central","Australia + East","France Central","Korea Central","North Europe","Central US","East Asia","East + US 2","South Central US","North Central US","West US","UK West","South Africa + North","Brazil South","Switzerland North","Switzerland West"],"apiVersions":["2020-03-01-preview","2019-08-01-preview","2017-04-26-preview","2017-03-15-preview","2017-03-03-preview","2017-01-01-preview","2015-11-01-preview","2015-03-20"],"defaultApiVersion":"2015-11-01-preview","capabilities":"None"},{"resourceType":"workspaces/scopedPrivateLinkProxies","locations":["East + US","West Europe","Southeast Asia","Australia Southeast","West Central US","Japan + East","UK South","Central India","Canada Central","West US 2","Australia Central","Australia + East","France Central","Korea Central","North Europe","Central US","East Asia","East + US 2","South Central US","North Central US","West US","UK West","South Africa + North","Brazil South","Switzerland North","Switzerland West"],"apiVersions":["2020-03-01-preview","2019-08-01-preview","2015-11-01-preview"],"defaultApiVersion":"2015-11-01-preview","capabilities":"None"},{"resourceType":"workspaces/query","locations":["West + Central US","Australia Southeast","West Europe","East US","Southeast Asia","Japan + East","UK South","Central India","Canada Central","West US 2","Australia Central","Australia + East","France Central","Korea Central","North Europe","Central US","East Asia","East + US 2","South Central US","North Central US","West US","UK West","South Africa + North","Brazil South","Switzerland West","Switzerland North"],"apiVersions":["2017-10-01"],"capabilities":"None"},{"resourceType":"workspaces/dataSources","locations":["East + US","West Europe","Southeast Asia","Australia Southeast","West Central US","Japan + East","UK South","Central India","Canada Central","West US 2","Australia Central","Australia + East","France Central","Korea Central","North Europe","Central US","East Asia","East + US 2","South Central US","North Central US","West US","UK West","South Africa + North","Brazil South","Switzerland North","Switzerland West"],"apiVersions":["2020-03-01-preview","2015-11-01-preview"],"defaultApiVersion":"2015-11-01-preview","capabilities":"None"},{"resourceType":"workspaces/linkedStorageAccounts","locations":["East + US","West Europe","Southeast Asia","Australia Southeast","West Central US","Japan + East","UK South","Central India","Canada Central","West US 2","Australia Central","Australia + East","France Central","Korea Central","North Europe","Central US","East Asia","East + US 2","South Central US","North Central US","West US","UK West","South Africa + North","Brazil South","Switzerland North","Switzerland West"],"apiVersions":["2020-03-01-preview","2019-08-01-preview"],"defaultApiVersion":"2019-08-01-preview","capabilities":"None"},{"resourceType":"storageInsightConfigs","locations":[],"apiVersions":["2020-03-01-preview","2014-10-10"],"capabilities":"SupportsExtension"},{"resourceType":"workspaces/linkedServices","locations":["East + US","West Europe","Southeast Asia","Australia Southeast","West Central US","Japan + East","UK South","Central India","Canada Central","West US 2","Australia Central","Australia + East","France Central","Korea Central","North Europe","Central US","East Asia","East + US 2","South Central US","North Central US","West US","UK West","South Africa + North","Brazil South","Switzerland North","Switzerland West"],"apiVersions":["2020-03-01-preview","2019-08-01-preview","2015-11-01-preview"],"defaultApiVersion":"2015-11-01-preview","capabilities":"None"},{"resourceType":"linkTargets","locations":["East + US"],"apiVersions":["2020-03-01-preview","2015-03-20"],"capabilities":"None"},{"resourceType":"operations","locations":[],"apiVersions":["2020-03-01-preview","2015-11-01-preview","2014-11-10"],"defaultApiVersion":"2015-11-01-preview","capabilities":"None"},{"resourceType":"clusters","locations":["East + US","West Europe","Southeast Asia","Australia Southeast","West Central US","Japan + East","UK South","Central India","Canada Central","West US 2","Australia Central","Australia + East","France Central","Korea Central","North Europe","Central US","East Asia","East + US 2","South Central US","North Central US","West US","UK West","South Africa + North","Switzerland North","Switzerland West","Brazil South"],"apiVersions":["2020-03-01-preview","2019-08-01-preview"],"defaultApiVersion":"2019-08-01-preview","capabilities":"CrossResourceGroupResourceMove, + CrossSubscriptionResourceMove, SystemAssignedResourceIdentity, SupportsTags, + SupportsLocation"}],"registrationState":"Registered","registrationPolicy":"RegistrationRequired"}' + headers: + cache-control: + - no-cache + content-length: + - '6229' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 29 Apr 2020 09:22:33 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"location": "westus", "properties": {"features": {"legacy": "0", "searchVersion": + "1"}, "retentionInDays": "7", "sku": {"name": "free"}, "source": "Azure"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - resource create + Connection: + - keep-alive + Content-Length: + - '157' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -g -n -l --resource-type -p + User-Agent: + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.4.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.OperationalInsights/workspaces/workspace000004?api-version=2015-03-20 + response: + body: + string: "{\r\n \"properties\": {\r\n \"source\": \"Azure\",\r\n \"customerId\": + \"f70fe6d6-08c1-410b-ac48-9e5d6cf56aac\",\r\n \"provisioningState\": \"Creating\",\r\n + \ \"sku\": {\r\n \"name\": \"free\",\r\n \"lastSkuUpdate\": \"Wed, + 29 Apr 2020 09:22:40 GMT\"\r\n },\r\n \"retentionInDays\": 7,\r\n \"features\": + {\r\n \"legacy\": 0,\r\n \"searchVersion\": 1,\r\n \"enableLogAccessUsingOnlyResourcePermissions\": + true\r\n },\r\n \"workspaceCapping\": {\r\n \"dailyQuotaGb\": 0.5,\r\n + \ \"quotaNextResetTime\": \"Thu, 30 Apr 2020 07:00:00 GMT\",\r\n \"dataIngestionStatus\": + \"RespectQuota\"\r\n },\r\n \"publicNetworkAccessForIngestion\": \"Enabled\",\r\n + \ \"publicNetworkAccessForQuery\": \"Enabled\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/microsoft.operationalinsights/workspaces/workspace000004\",\r\n + \ \"name\": \"workspace000004\",\r\n \"type\": \"Microsoft.OperationalInsights/workspaces\",\r\n + \ \"location\": \"westus\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1019' + content-type: + - application/json + date: + - Wed, 29 Apr 2020 09:22:41 GMT + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-powered-by: + - ASP.NET + - ASP.NET + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - resource create + Connection: + - keep-alive + ParameterSetName: + - -g -n -l --resource-type -p + User-Agent: + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.4.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.OperationalInsights/workspaces/workspace000004?api-version=2015-03-20 + response: + body: + string: "{\r\n \"properties\": {\r\n \"source\": \"Azure\",\r\n \"customerId\": + \"f70fe6d6-08c1-410b-ac48-9e5d6cf56aac\",\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"sku\": {\r\n \"name\": \"free\",\r\n \"lastSkuUpdate\": \"Wed, + 29 Apr 2020 09:22:40 GMT\"\r\n },\r\n \"retentionInDays\": 7,\r\n \"features\": + {\r\n \"legacy\": 0,\r\n \"searchVersion\": 1,\r\n \"enableLogAccessUsingOnlyResourcePermissions\": + true\r\n },\r\n \"workspaceCapping\": {\r\n \"dailyQuotaGb\": 0.5,\r\n + \ \"quotaNextResetTime\": \"Thu, 30 Apr 2020 07:00:00 GMT\",\r\n \"dataIngestionStatus\": + \"RespectQuota\"\r\n },\r\n \"publicNetworkAccessForIngestion\": \"Enabled\",\r\n + \ \"publicNetworkAccessForQuery\": \"Enabled\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/microsoft.operationalinsights/workspaces/workspace000004\",\r\n + \ \"name\": \"workspace000004\",\r\n \"type\": \"Microsoft.OperationalInsights/workspaces\",\r\n + \ \"location\": \"westus\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1020' + content-type: + - application/json + date: + - Wed, 29 Apr 2020 09:23:13 GMT + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - monitor log-analytics solution create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --plan-publisher --plan-product --workspace --tags + User-Agent: + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-loganalytics/0.5.0 Azure-SDK-For-Python AZURECLI/2.4.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.OperationalInsights/workspaces/workspace000004?api-version=2020-03-01-preview + response: + body: + string: "{\r\n \"properties\": {\r\n \"source\": \"Azure\",\r\n \"customerId\": + \"f70fe6d6-08c1-410b-ac48-9e5d6cf56aac\",\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"sku\": {\r\n \"name\": \"free\",\r\n \"lastSkuUpdate\": \"Wed, + 29 Apr 2020 09:22:40 GMT\"\r\n },\r\n \"retentionInDays\": 7,\r\n \"features\": + {\r\n \"legacy\": 0,\r\n \"searchVersion\": 1,\r\n \"enableLogAccessUsingOnlyResourcePermissions\": + true\r\n },\r\n \"workspaceCapping\": {\r\n \"dailyQuotaGb\": 0.5,\r\n + \ \"quotaNextResetTime\": \"Thu, 30 Apr 2020 07:00:00 GMT\",\r\n \"dataIngestionStatus\": + \"RespectQuota\"\r\n },\r\n \"publicNetworkAccessForIngestion\": \"Enabled\",\r\n + \ \"publicNetworkAccessForQuery\": \"Enabled\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/microsoft.operationalinsights/workspaces/workspace000004\",\r\n + \ \"name\": \"workspace000004\",\r\n \"type\": \"Microsoft.OperationalInsights/workspaces\",\r\n + \ \"location\": \"westus\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1020' + content-type: + - application/json + date: + - Wed, 29 Apr 2020 09:23:16 GMT + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + - ASP.NET + status: + code: 200 + message: OK +- request: + body: 'b''{"location": "westus", "tags": {"key1": "value1"}, "plan": {"name": + "Containers(workspace000004)", "publisher": "Microsoft", "promotionCode": "", + "product": "OMSGallery/Containers"}, "properties": {"workspaceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/microsoft.operationalinsights/workspaces/workspace000004"}}''' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - monitor log-analytics solution create + Connection: + - keep-alive + Content-Length: + - '444' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - --resource-group --name --plan-publisher --plan-product --workspace --tags + User-Agent: + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-operationsmanagement/0.1.0 Azure-SDK-For-Python AZURECLI/2.4.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.OperationsManagement/solutions/Containers%28workspace000004%29?api-version=2015-11-01-preview + response: + body: + string: "{\r\n \"plan\": {\r\n \"name\": \"Containers(workspace000004)\",\r\n + \ \"publisher\": \"Microsoft\",\r\n \"promotionCode\": \"\",\r\n \"product\": + \"OMSGallery/Containers\"\r\n },\r\n \"properties\": {\r\n \"workspaceResourceId\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/microsoft.operationalinsights/workspaces/workspace000004\",\r\n + \ \"provisioningState\": \"Succeeded\",\r\n \"creationTime\": \"Mon, + 01 Jan 0001 00:00:00 GMT\",\r\n \"lastModifiedTime\": \"Mon, 01 Jan 0001 + 00:00:00 GMT\",\r\n \"containedResources\": [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.OperationalInsights/workspaces/workspace000004/views/Containers(workspace000004)\"\r\n + \ ]\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.OperationsManagement/solutions/Containers(workspace000004)\",\r\n + \ \"name\": \"Containers(workspace000004)\",\r\n \"type\": \"Microsoft.OperationsManagement/solutions\",\r\n + \ \"location\": \"West US\",\r\n \"tags\": {\r\n \"key1\": \"value1\"\r\n + \ }\r\n}" + headers: + cache-control: + - no-cache + cachecontrol: + - no-cache + content-length: + - '1297' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 29 Apr 2020 09:23:23 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-ams-apiversion: + - WebAPI1.0 + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + x-powered-by: + - ASP.NET + - ASP.NET + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - monitor log-analytics solution show + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name + User-Agent: + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-operationsmanagement/0.1.0 Azure-SDK-For-Python AZURECLI/2.4.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.OperationsManagement/solutions/Containers%28workspace000004%29?api-version=2015-11-01-preview + response: + body: + string: "{\r\n \"plan\": {\r\n \"name\": \"Containers(workspace000004)\",\r\n + \ \"publisher\": \"Microsoft\",\r\n \"promotionCode\": \"\",\r\n \"product\": + \"OMSGallery/Containers\"\r\n },\r\n \"properties\": {\r\n \"workspaceResourceId\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.OperationalInsights/workspaces/workspace000004\",\r\n + \ \"provisioningState\": \"Succeeded\",\r\n \"creationTime\": \"Wed, + 29 Apr 2020 09:23:22 GMT\",\r\n \"lastModifiedTime\": \"Wed, 29 Apr 2020 + 09:23:22 GMT\",\r\n \"containedResources\": [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.OperationalInsights/workspaces/workspace000004/views/Containers(workspace000004)\"\r\n + \ ]\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.OperationsManagement/solutions/Containers(workspace000004)\",\r\n + \ \"name\": \"Containers(workspace000004)\",\r\n \"type\": \"Microsoft.OperationsManagement/solutions\",\r\n + \ \"location\": \"West US\",\r\n \"tags\": {\r\n \"key1\": \"value1\"\r\n + \ }\r\n}" + headers: + cache-control: + - no-cache + cachecontrol: + - no-cache + content-length: + - '1297' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 29 Apr 2020 09:23:25 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-ams-apiversion: + - WebAPI1.0 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"tags": {"key2": "value2"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - monitor log-analytics solution update + Connection: + - keep-alive + Content-Length: + - '28' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - --resource-group --name --tags + User-Agent: + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-operationsmanagement/0.1.0 Azure-SDK-For-Python AZURECLI/2.4.0 + accept-language: + - en-US + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.OperationsManagement/solutions/Containers%28workspace000004%29?api-version=2015-11-01-preview + response: + body: + string: "{\r\n \"plan\": {\r\n \"name\": \"Containers(workspace000004)\",\r\n + \ \"publisher\": \"Microsoft\",\r\n \"promotionCode\": \"\",\r\n \"product\": + \"OMSGallery/Containers\"\r\n },\r\n \"properties\": {\r\n \"workspaceResourceId\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.OperationalInsights/workspaces/workspace000004\",\r\n + \ \"provisioningState\": \"Succeeded\",\r\n \"creationTime\": \"Wed, + 29 Apr 2020 09:23:22 GMT\",\r\n \"lastModifiedTime\": \"Wed, 29 Apr 2020 + 09:23:22 GMT\",\r\n \"containedResources\": [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.OperationalInsights/workspaces/workspace000004/views/Containers(workspace000004)\"\r\n + \ ]\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.OperationsManagement/solutions/Containers(workspace000004)\",\r\n + \ \"name\": \"Containers(workspace000004)\",\r\n \"type\": \"Microsoft.OperationsManagement/solutions\",\r\n + \ \"location\": \"West US\",\r\n \"tags\": {\r\n \"key2\": \"value2\"\r\n + \ }\r\n}" + headers: + cache-control: + - no-cache + cachecontrol: + - no-cache + content-length: + - '1297' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 29 Apr 2020 09:23:31 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-ams-apiversion: + - WebAPI1.0 + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1195' + x-powered-by: + - ASP.NET + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - monitor log-analytics solution show + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name + User-Agent: + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-operationsmanagement/0.1.0 Azure-SDK-For-Python AZURECLI/2.4.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.OperationsManagement/solutions/Containers%28workspace000004%29?api-version=2015-11-01-preview + response: + body: + string: "{\r\n \"plan\": {\r\n \"name\": \"Containers(workspace000004)\",\r\n + \ \"publisher\": \"Microsoft\",\r\n \"promotionCode\": \"\",\r\n \"product\": + \"OMSGallery/Containers\"\r\n },\r\n \"properties\": {\r\n \"workspaceResourceId\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.OperationalInsights/workspaces/workspace000004\",\r\n + \ \"provisioningState\": \"Succeeded\",\r\n \"creationTime\": \"Wed, + 29 Apr 2020 09:23:22 GMT\",\r\n \"lastModifiedTime\": \"Wed, 29 Apr 2020 + 09:23:29 GMT\",\r\n \"containedResources\": [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.OperationalInsights/workspaces/workspace000004/views/Containers(workspace000004)\"\r\n + \ ]\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.OperationsManagement/solutions/Containers(workspace000004)\",\r\n + \ \"name\": \"Containers(workspace000004)\",\r\n \"type\": \"Microsoft.OperationsManagement/solutions\",\r\n + \ \"location\": \"West US\",\r\n \"tags\": {\r\n \"key2\": \"value2\"\r\n + \ }\r\n}" + headers: + cache-control: + - no-cache + cachecontrol: + - no-cache + content-length: + - '1297' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 29 Apr 2020 09:23:34 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-ams-apiversion: + - WebAPI1.0 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - resource create + Connection: + - keep-alive + ParameterSetName: + - -g -n -l --resource-type -p + User-Agent: + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.4.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.OperationalInsights?api-version=2019-07-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.OperationalInsights","namespace":"Microsoft.OperationalInsights","authorizations":[{"applicationId":"d2a0a418-0aac-4541-82b2-b3142c89da77","roleDefinitionId":"86695298-2eb9-48a7-9ec3-2fdb38b6878b"},{"applicationId":"ca7f3f0b-7d91-482c-8e09-c5d840d0eac5","roleDefinitionId":"5d5a2e56-9835-44aa-93db-d2f19e155438"}],"resourceTypes":[{"resourceType":"workspaces","locations":["East + US","West Europe","Southeast Asia","Australia Southeast","West Central US","Japan + East","UK South","Central India","Canada Central","West US 2","Australia Central","Australia + East","France Central","Korea Central","North Europe","Central US","East Asia","East + US 2","South Central US","North Central US","West US","UK West","South Africa + North","Brazil South","Switzerland North","Switzerland West"],"apiVersions":["2020-03-01-preview","2017-04-26-preview","2017-03-15-preview","2017-03-03-preview","2017-01-01-preview","2015-11-01-preview","2015-03-20"],"capabilities":"CrossResourceGroupResourceMove, + CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"locations","locations":[],"apiVersions":["2020-03-01-preview","2019-08-01-preview","2017-04-26-preview","2017-03-15-preview","2017-03-03-preview","2017-01-01-preview","2015-11-01-preview","2015-03-20"],"defaultApiVersion":"2015-11-01-preview","capabilities":"None"},{"resourceType":"locations/operationStatuses","locations":["East + US","West Europe","Southeast Asia","Australia Southeast","West Central US","Japan + East","UK South","Central India","Canada Central","West US 2","Australia Central","Australia + East","France Central","Korea Central","North Europe","Central US","East Asia","East + US 2","South Central US","North Central US","West US","UK West","South Africa + North","Brazil South","Switzerland North","Switzerland West"],"apiVersions":["2020-03-01-preview","2019-08-01-preview","2017-04-26-preview","2017-03-15-preview","2017-03-03-preview","2017-01-01-preview","2015-11-01-preview","2015-03-20"],"defaultApiVersion":"2015-11-01-preview","capabilities":"None"},{"resourceType":"workspaces/scopedPrivateLinkProxies","locations":["East + US","West Europe","Southeast Asia","Australia Southeast","West Central US","Japan + East","UK South","Central India","Canada Central","West US 2","Australia Central","Australia + East","France Central","Korea Central","North Europe","Central US","East Asia","East + US 2","South Central US","North Central US","West US","UK West","South Africa + North","Brazil South","Switzerland North","Switzerland West"],"apiVersions":["2020-03-01-preview","2019-08-01-preview","2015-11-01-preview"],"defaultApiVersion":"2015-11-01-preview","capabilities":"None"},{"resourceType":"workspaces/query","locations":["West + Central US","Australia Southeast","West Europe","East US","Southeast Asia","Japan + East","UK South","Central India","Canada Central","West US 2","Australia Central","Australia + East","France Central","Korea Central","North Europe","Central US","East Asia","East + US 2","South Central US","North Central US","West US","UK West","South Africa + North","Brazil South","Switzerland West","Switzerland North"],"apiVersions":["2017-10-01"],"capabilities":"None"},{"resourceType":"workspaces/dataSources","locations":["East + US","West Europe","Southeast Asia","Australia Southeast","West Central US","Japan + East","UK South","Central India","Canada Central","West US 2","Australia Central","Australia + East","France Central","Korea Central","North Europe","Central US","East Asia","East + US 2","South Central US","North Central US","West US","UK West","South Africa + North","Brazil South","Switzerland North","Switzerland West"],"apiVersions":["2020-03-01-preview","2015-11-01-preview"],"defaultApiVersion":"2015-11-01-preview","capabilities":"None"},{"resourceType":"workspaces/linkedStorageAccounts","locations":["East + US","West Europe","Southeast Asia","Australia Southeast","West Central US","Japan + East","UK South","Central India","Canada Central","West US 2","Australia Central","Australia + East","France Central","Korea Central","North Europe","Central US","East Asia","East + US 2","South Central US","North Central US","West US","UK West","South Africa + North","Brazil South","Switzerland North","Switzerland West"],"apiVersions":["2020-03-01-preview","2019-08-01-preview"],"defaultApiVersion":"2019-08-01-preview","capabilities":"None"},{"resourceType":"storageInsightConfigs","locations":[],"apiVersions":["2020-03-01-preview","2014-10-10"],"capabilities":"SupportsExtension"},{"resourceType":"workspaces/linkedServices","locations":["East + US","West Europe","Southeast Asia","Australia Southeast","West Central US","Japan + East","UK South","Central India","Canada Central","West US 2","Australia Central","Australia + East","France Central","Korea Central","North Europe","Central US","East Asia","East + US 2","South Central US","North Central US","West US","UK West","South Africa + North","Brazil South","Switzerland North","Switzerland West"],"apiVersions":["2020-03-01-preview","2019-08-01-preview","2015-11-01-preview"],"defaultApiVersion":"2015-11-01-preview","capabilities":"None"},{"resourceType":"linkTargets","locations":["East + US"],"apiVersions":["2020-03-01-preview","2015-03-20"],"capabilities":"None"},{"resourceType":"operations","locations":[],"apiVersions":["2020-03-01-preview","2015-11-01-preview","2014-11-10"],"defaultApiVersion":"2015-11-01-preview","capabilities":"None"},{"resourceType":"clusters","locations":["East + US","West Europe","Southeast Asia","Australia Southeast","West Central US","Japan + East","UK South","Central India","Canada Central","West US 2","Australia Central","Australia + East","France Central","Korea Central","North Europe","Central US","East Asia","East + US 2","South Central US","North Central US","West US","UK West","South Africa + North","Switzerland North","Switzerland West","Brazil South"],"apiVersions":["2020-03-01-preview","2019-08-01-preview"],"defaultApiVersion":"2019-08-01-preview","capabilities":"CrossResourceGroupResourceMove, + CrossSubscriptionResourceMove, SystemAssignedResourceIdentity, SupportsTags, + SupportsLocation"}],"registrationState":"Registered","registrationPolicy":"RegistrationRequired"}' + headers: + cache-control: + - no-cache + content-length: + - '6229' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 29 Apr 2020 09:23:34 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"location": "westus", "properties": {"features": {"legacy": "0", "searchVersion": + "1"}, "retentionInDays": "7", "sku": {"name": "free"}, "source": "Azure"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - resource create + Connection: + - keep-alive + Content-Length: + - '157' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -g -n -l --resource-type -p + User-Agent: + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.4.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000002/providers/Microsoft.OperationalInsights/workspaces/workspace000005?api-version=2015-03-20 + response: + body: + string: "{\r\n \"properties\": {\r\n \"source\": \"Azure\",\r\n \"customerId\": + \"b2de31a9-8c53-4f5f-a242-2a336aab42f8\",\r\n \"provisioningState\": \"Creating\",\r\n + \ \"sku\": {\r\n \"name\": \"free\",\r\n \"lastSkuUpdate\": \"Wed, + 29 Apr 2020 09:23:42 GMT\"\r\n },\r\n \"retentionInDays\": 7,\r\n \"features\": + {\r\n \"legacy\": 0,\r\n \"searchVersion\": 1,\r\n \"enableLogAccessUsingOnlyResourcePermissions\": + true\r\n },\r\n \"workspaceCapping\": {\r\n \"dailyQuotaGb\": 0.5,\r\n + \ \"quotaNextResetTime\": \"Wed, 29 Apr 2020 22:00:00 GMT\",\r\n \"dataIngestionStatus\": + \"RespectQuota\"\r\n },\r\n \"publicNetworkAccessForIngestion\": \"Enabled\",\r\n + \ \"publicNetworkAccessForQuery\": \"Enabled\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000002/providers/microsoft.operationalinsights/workspaces/workspace000005\",\r\n + \ \"name\": \"workspace000005\",\r\n \"type\": \"Microsoft.OperationalInsights/workspaces\",\r\n + \ \"location\": \"westus\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1019' + content-type: + - application/json + date: + - Wed, 29 Apr 2020 09:23:42 GMT + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + x-powered-by: + - ASP.NET + - ASP.NET + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - resource create + Connection: + - keep-alive + ParameterSetName: + - -g -n -l --resource-type -p + User-Agent: + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.4.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000002/providers/Microsoft.OperationalInsights/workspaces/workspace000005?api-version=2015-03-20 + response: + body: + string: "{\r\n \"properties\": {\r\n \"source\": \"Azure\",\r\n \"customerId\": + \"b2de31a9-8c53-4f5f-a242-2a336aab42f8\",\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"sku\": {\r\n \"name\": \"free\",\r\n \"lastSkuUpdate\": \"Wed, + 29 Apr 2020 09:23:42 GMT\"\r\n },\r\n \"retentionInDays\": 7,\r\n \"features\": + {\r\n \"legacy\": 0,\r\n \"searchVersion\": 1,\r\n \"enableLogAccessUsingOnlyResourcePermissions\": + true\r\n },\r\n \"workspaceCapping\": {\r\n \"dailyQuotaGb\": 0.5,\r\n + \ \"quotaNextResetTime\": \"Wed, 29 Apr 2020 22:00:00 GMT\",\r\n \"dataIngestionStatus\": + \"RespectQuota\"\r\n },\r\n \"publicNetworkAccessForIngestion\": \"Enabled\",\r\n + \ \"publicNetworkAccessForQuery\": \"Enabled\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000002/providers/microsoft.operationalinsights/workspaces/workspace000005\",\r\n + \ \"name\": \"workspace000005\",\r\n \"type\": \"Microsoft.OperationalInsights/workspaces\",\r\n + \ \"location\": \"westus\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1020' + content-type: + - application/json + date: + - Wed, 29 Apr 2020 09:24:13 GMT + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - monitor log-analytics solution create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --plan-publisher --plan-product --workspace --tags + User-Agent: + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-loganalytics/0.5.0 Azure-SDK-For-Python AZURECLI/2.4.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000002/providers/Microsoft.OperationalInsights/workspaces/workspace000005?api-version=2020-03-01-preview + response: + body: + string: "{\r\n \"properties\": {\r\n \"source\": \"Azure\",\r\n \"customerId\": + \"b2de31a9-8c53-4f5f-a242-2a336aab42f8\",\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"sku\": {\r\n \"name\": \"free\",\r\n \"lastSkuUpdate\": \"Wed, + 29 Apr 2020 09:23:42 GMT\"\r\n },\r\n \"retentionInDays\": 7,\r\n \"features\": + {\r\n \"legacy\": 0,\r\n \"searchVersion\": 1,\r\n \"enableLogAccessUsingOnlyResourcePermissions\": + true\r\n },\r\n \"workspaceCapping\": {\r\n \"dailyQuotaGb\": 0.5,\r\n + \ \"quotaNextResetTime\": \"Wed, 29 Apr 2020 22:00:00 GMT\",\r\n \"dataIngestionStatus\": + \"RespectQuota\"\r\n },\r\n \"publicNetworkAccessForIngestion\": \"Enabled\",\r\n + \ \"publicNetworkAccessForQuery\": \"Enabled\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000002/providers/microsoft.operationalinsights/workspaces/workspace000005\",\r\n + \ \"name\": \"workspace000005\",\r\n \"type\": \"Microsoft.OperationalInsights/workspaces\",\r\n + \ \"location\": \"westus\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1020' + content-type: + - application/json + date: + - Wed, 29 Apr 2020 09:24:16 GMT + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + - ASP.NET + status: + code: 200 + message: OK +- request: + body: 'b''{"location": "westus", "tags": {"key3": "value3"}, "plan": {"name": + "Containers(workspace000005)", "publisher": "Microsoft", "promotionCode": "", + "product": "OMSGallery/Containers"}, "properties": {"workspaceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000002/providers/microsoft.OperationalInsights/workspaces/workspace000005"}}''' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - monitor log-analytics solution create + Connection: + - keep-alive + Content-Length: + - '444' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - --resource-group --name --plan-publisher --plan-product --workspace --tags + User-Agent: + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-operationsmanagement/0.1.0 Azure-SDK-For-Python AZURECLI/2.4.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000002/providers/Microsoft.OperationsManagement/solutions/Containers%28workspace000005%29?api-version=2015-11-01-preview + response: + body: + string: "{\r\n \"plan\": {\r\n \"name\": \"Containers(workspace000005)\",\r\n + \ \"publisher\": \"Microsoft\",\r\n \"promotionCode\": \"\",\r\n \"product\": + \"OMSGallery/Containers\"\r\n },\r\n \"properties\": {\r\n \"workspaceResourceId\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000002/providers/microsoft.OperationalInsights/workspaces/workspace000005\",\r\n + \ \"provisioningState\": \"Succeeded\",\r\n \"creationTime\": \"Mon, + 01 Jan 0001 00:00:00 GMT\",\r\n \"lastModifiedTime\": \"Mon, 01 Jan 0001 + 00:00:00 GMT\",\r\n \"containedResources\": [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000002/providers/Microsoft.OperationalInsights/workspaces/workspace000005/views/Containers(workspace000005)\"\r\n + \ ]\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000002/providers/Microsoft.OperationsManagement/solutions/Containers(workspace000005)\",\r\n + \ \"name\": \"Containers(workspace000005)\",\r\n \"type\": \"Microsoft.OperationsManagement/solutions\",\r\n + \ \"location\": \"West US\",\r\n \"tags\": {\r\n \"key3\": \"value3\"\r\n + \ }\r\n}" + headers: + cache-control: + - no-cache + cachecontrol: + - no-cache + content-length: + - '1297' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 29 Apr 2020 09:24:23 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-ams-apiversion: + - WebAPI1.0 + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1179' + x-powered-by: + - ASP.NET + - ASP.NET + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - monitor log-analytics solution list + Connection: + - keep-alive + ParameterSetName: + - --query + User-Agent: + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-operationsmanagement/0.1.0 Azure-SDK-For-Python AZURECLI/2.4.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.OperationsManagement/solutions?api-version=2015-11-01-preview + response: + body: + string: '{"value":[{"plan":{"name":"Containers(zhoxing-test8)","publisher":"Microsoft","promotionCode":"","product":"OMSGallery/Containers"},"properties":{"workspaceResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/zhoxing-test/providers/microsoft.operationalinsights/workspaces/zhoxing-test8","provisioningState":"Succeeded","creationTime":"Wed, + 29 Apr 2020 04:57:39 GMT","lastModifiedTime":"Wed, 29 Apr 2020 07:29:13 GMT","containedResources":["/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/zhoxing-test/providers/microsoft.operationalinsights/workspaces/zhoxing-test8/views/Containers(zhoxing-test8)"]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/zhoxing-test/providers/Microsoft.OperationsManagement/solutions/Containers(zhoxing-test8)","name":"Containers(zhoxing-test8)","type":"Microsoft.OperationsManagement/solutions","location":"Central + US","tags":{"key":"value"}},{"plan":{"name":"Containers(workspace000005)","publisher":"Microsoft","promotionCode":"","product":"OMSGallery/Containers"},"properties":{"workspaceResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000002/providers/microsoft.operationalinsights/workspaces/workspace000005","provisioningState":"Succeeded","creationTime":"Wed, + 29 Apr 2020 09:24:21 GMT","lastModifiedTime":"Wed, 29 Apr 2020 09:24:21 GMT","containedResources":["/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000002/providers/microsoft.operationalinsights/workspaces/workspace000005/views/Containers(workspace000005)"]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000002/providers/Microsoft.OperationsManagement/solutions/Containers(workspace000005)","name":"Containers(workspace000005)","type":"Microsoft.OperationsManagement/solutions","location":"West + US","tags":{"key3":"value3"}},{"plan":{"name":"Containers(workspace000004)","publisher":"Microsoft","promotionCode":"","product":"OMSGallery/Containers"},"properties":{"workspaceResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/microsoft.operationalinsights/workspaces/workspace000004","provisioningState":"Succeeded","creationTime":"Wed, + 29 Apr 2020 09:23:22 GMT","lastModifiedTime":"Wed, 29 Apr 2020 09:23:29 GMT","containedResources":["/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/microsoft.operationalinsights/workspaces/workspace000004/views/Containers(workspace000004)"]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.OperationsManagement/solutions/Containers(workspace000004)","name":"Containers(workspace000004)","type":"Microsoft.OperationsManagement/solutions","location":"West + US","tags":{"key2":"value2"}},{"plan":{"name":"SecurityCenterFree(yu-test-ws1)","publisher":"Microsoft","promotionCode":"","product":"OMSGallery/SecurityCenterFree"},"properties":{"workspaceResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/azure-cli-test-scus/providers/microsoft.operationalinsights/workspaces/yu-test-ws1","provisioningState":"Succeeded","creationTime":"Sat, + 25 Apr 2020 01:11:55 GMT","lastModifiedTime":"Sat, 25 Apr 2020 17:12:10 GMT","containedResources":[]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/azure-cli-test-scus/providers/Microsoft.OperationsManagement/solutions/SecurityCenterFree(yu-test-ws1)","name":"SecurityCenterFree(yu-test-ws1)","type":"Microsoft.OperationsManagement/solutions","location":"South + Central US"}]}' + headers: + cache-control: + - no-cache + content-length: + - '4054' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 29 Apr 2020 09:24:25 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-original-request-ids: + - b4eecfc7-8fb8-4511-bfb8-0e0224d65d90 + - 3d8266be-62d4-46fb-9c4a-56ca18ad323e + - 427ecb9d-19a1-4402-952e-98d5c8a77a98 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - monitor log-analytics solution list + Connection: + - keep-alive + ParameterSetName: + - --resource-group --query + User-Agent: + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-operationsmanagement/0.1.0 Azure-SDK-For-Python AZURECLI/2.4.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000002/providers/Microsoft.OperationsManagement/solutions?api-version=2015-11-01-preview + response: + body: + string: "{\r\n \"value\": [\r\n {\r\n \"plan\": {\r\n \"name\": + \"Containers(workspace000005)\",\r\n \"publisher\": \"Microsoft\",\r\n + \ \"promotionCode\": \"\",\r\n \"product\": \"OMSGallery/Containers\"\r\n + \ },\r\n \"properties\": {\r\n \"workspaceResourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000002/providers/microsoft.operationalinsights/workspaces/workspace000005\",\r\n + \ \"provisioningState\": \"Succeeded\",\r\n \"creationTime\": + \"Wed, 29 Apr 2020 09:24:21 GMT\",\r\n \"lastModifiedTime\": \"Wed, + 29 Apr 2020 09:24:21 GMT\",\r\n \"containedResources\": [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000002/providers/microsoft.operationalinsights/workspaces/workspace000005/views/Containers(workspace000005)\"\r\n + \ ]\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000002/providers/Microsoft.OperationsManagement/solutions/Containers(workspace000005)\",\r\n + \ \"name\": \"Containers(workspace000005)\",\r\n \"type\": \"Microsoft.OperationsManagement/solutions\",\r\n + \ \"location\": \"West US\",\r\n \"tags\": {\r\n \"key3\": + \"value3\"\r\n }\r\n }\r\n ]\r\n}" + headers: + cache-control: + - no-cache + cachecontrol: + - no-cache + content-length: + - '1418' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 29 Apr 2020 09:24:26 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-ams-apiversion: + - WebAPI1.0 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - monitor log-analytics solution delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --resource-group --name -y + User-Agent: + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-operationsmanagement/0.1.0 Azure-SDK-For-Python AZURECLI/2.4.0 + accept-language: + - en-US + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.OperationsManagement/solutions/Containers%28workspace000004%29?api-version=2015-11-01-preview + response: + body: + string: '' + headers: + cache-control: + - no-cache + cachecontrol: + - no-cache + content-length: + - '0' + date: + - Wed, 29 Apr 2020 09:24:32 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-ams-apiversion: + - WebAPI1.0 + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + x-powered-by: + - ASP.NET + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - monitor log-analytics solution delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --resource-group --name -y + User-Agent: + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-operationsmanagement/0.1.0 Azure-SDK-For-Python AZURECLI/2.4.0 + accept-language: + - en-US + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000002/providers/Microsoft.OperationsManagement/solutions/Containers%28workspace000005%29?api-version=2015-11-01-preview + response: + body: + string: '' + headers: + cache-control: + - no-cache + cachecontrol: + - no-cache + content-length: + - '0' + date: + - Wed, 29 Apr 2020 09:24:38 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-ams-apiversion: + - WebAPI1.0 + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + x-powered-by: + - ASP.NET + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - resource delete + Connection: + - keep-alive + ParameterSetName: + - -g -n --resource-type + User-Agent: + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.4.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.OperationalInsights?api-version=2019-07-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.OperationalInsights","namespace":"Microsoft.OperationalInsights","authorizations":[{"applicationId":"d2a0a418-0aac-4541-82b2-b3142c89da77","roleDefinitionId":"86695298-2eb9-48a7-9ec3-2fdb38b6878b"},{"applicationId":"ca7f3f0b-7d91-482c-8e09-c5d840d0eac5","roleDefinitionId":"5d5a2e56-9835-44aa-93db-d2f19e155438"}],"resourceTypes":[{"resourceType":"workspaces","locations":["East + US","West Europe","Southeast Asia","Australia Southeast","West Central US","Japan + East","UK South","Central India","Canada Central","West US 2","Australia Central","Australia + East","France Central","Korea Central","North Europe","Central US","East Asia","East + US 2","South Central US","North Central US","West US","UK West","South Africa + North","Brazil South","Switzerland North","Switzerland West"],"apiVersions":["2020-03-01-preview","2017-04-26-preview","2017-03-15-preview","2017-03-03-preview","2017-01-01-preview","2015-11-01-preview","2015-03-20"],"capabilities":"CrossResourceGroupResourceMove, + CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"locations","locations":[],"apiVersions":["2020-03-01-preview","2019-08-01-preview","2017-04-26-preview","2017-03-15-preview","2017-03-03-preview","2017-01-01-preview","2015-11-01-preview","2015-03-20"],"defaultApiVersion":"2015-11-01-preview","capabilities":"None"},{"resourceType":"locations/operationStatuses","locations":["East + US","West Europe","Southeast Asia","Australia Southeast","West Central US","Japan + East","UK South","Central India","Canada Central","West US 2","Australia Central","Australia + East","France Central","Korea Central","North Europe","Central US","East Asia","East + US 2","South Central US","North Central US","West US","UK West","South Africa + North","Brazil South","Switzerland North","Switzerland West"],"apiVersions":["2020-03-01-preview","2019-08-01-preview","2017-04-26-preview","2017-03-15-preview","2017-03-03-preview","2017-01-01-preview","2015-11-01-preview","2015-03-20"],"defaultApiVersion":"2015-11-01-preview","capabilities":"None"},{"resourceType":"workspaces/scopedPrivateLinkProxies","locations":["East + US","West Europe","Southeast Asia","Australia Southeast","West Central US","Japan + East","UK South","Central India","Canada Central","West US 2","Australia Central","Australia + East","France Central","Korea Central","North Europe","Central US","East Asia","East + US 2","South Central US","North Central US","West US","UK West","South Africa + North","Brazil South","Switzerland North","Switzerland West"],"apiVersions":["2020-03-01-preview","2019-08-01-preview","2015-11-01-preview"],"defaultApiVersion":"2015-11-01-preview","capabilities":"None"},{"resourceType":"workspaces/query","locations":["West + Central US","Australia Southeast","West Europe","East US","Southeast Asia","Japan + East","UK South","Central India","Canada Central","West US 2","Australia Central","Australia + East","France Central","Korea Central","North Europe","Central US","East Asia","East + US 2","South Central US","North Central US","West US","UK West","South Africa + North","Brazil South","Switzerland West","Switzerland North"],"apiVersions":["2017-10-01"],"capabilities":"None"},{"resourceType":"workspaces/dataSources","locations":["East + US","West Europe","Southeast Asia","Australia Southeast","West Central US","Japan + East","UK South","Central India","Canada Central","West US 2","Australia Central","Australia + East","France Central","Korea Central","North Europe","Central US","East Asia","East + US 2","South Central US","North Central US","West US","UK West","South Africa + North","Brazil South","Switzerland North","Switzerland West"],"apiVersions":["2020-03-01-preview","2015-11-01-preview"],"defaultApiVersion":"2015-11-01-preview","capabilities":"None"},{"resourceType":"workspaces/linkedStorageAccounts","locations":["East + US","West Europe","Southeast Asia","Australia Southeast","West Central US","Japan + East","UK South","Central India","Canada Central","West US 2","Australia Central","Australia + East","France Central","Korea Central","North Europe","Central US","East Asia","East + US 2","South Central US","North Central US","West US","UK West","South Africa + North","Brazil South","Switzerland North","Switzerland West"],"apiVersions":["2020-03-01-preview","2019-08-01-preview"],"defaultApiVersion":"2019-08-01-preview","capabilities":"None"},{"resourceType":"storageInsightConfigs","locations":[],"apiVersions":["2020-03-01-preview","2014-10-10"],"capabilities":"SupportsExtension"},{"resourceType":"workspaces/linkedServices","locations":["East + US","West Europe","Southeast Asia","Australia Southeast","West Central US","Japan + East","UK South","Central India","Canada Central","West US 2","Australia Central","Australia + East","France Central","Korea Central","North Europe","Central US","East Asia","East + US 2","South Central US","North Central US","West US","UK West","South Africa + North","Brazil South","Switzerland North","Switzerland West"],"apiVersions":["2020-03-01-preview","2019-08-01-preview","2015-11-01-preview"],"defaultApiVersion":"2015-11-01-preview","capabilities":"None"},{"resourceType":"linkTargets","locations":["East + US"],"apiVersions":["2020-03-01-preview","2015-03-20"],"capabilities":"None"},{"resourceType":"operations","locations":[],"apiVersions":["2020-03-01-preview","2015-11-01-preview","2014-11-10"],"defaultApiVersion":"2015-11-01-preview","capabilities":"None"},{"resourceType":"clusters","locations":["East + US","West Europe","Southeast Asia","Australia Southeast","West Central US","Japan + East","UK South","Central India","Canada Central","West US 2","Australia Central","Australia + East","France Central","Korea Central","North Europe","Central US","East Asia","East + US 2","South Central US","North Central US","West US","UK West","South Africa + North","Switzerland North","Switzerland West","Brazil South"],"apiVersions":["2020-03-01-preview","2019-08-01-preview"],"defaultApiVersion":"2019-08-01-preview","capabilities":"CrossResourceGroupResourceMove, + CrossSubscriptionResourceMove, SystemAssignedResourceIdentity, SupportsTags, + SupportsLocation"}],"registrationState":"Registered","registrationPolicy":"RegistrationRequired"}' + headers: + cache-control: + - no-cache + content-length: + - '6229' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 29 Apr 2020 09:24:39 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - resource delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g -n --resource-type + User-Agent: + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.4.0 + accept-language: + - en-US + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.OperationalInsights/workspaces/workspace000004?api-version=2015-03-20 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Wed, 29 Apr 2020 09:24:41 GMT + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14997' + x-powered-by: + - ASP.NET + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - resource delete + Connection: + - keep-alive + ParameterSetName: + - -g -n --resource-type + User-Agent: + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.4.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.OperationalInsights?api-version=2019-07-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.OperationalInsights","namespace":"Microsoft.OperationalInsights","authorizations":[{"applicationId":"d2a0a418-0aac-4541-82b2-b3142c89da77","roleDefinitionId":"86695298-2eb9-48a7-9ec3-2fdb38b6878b"},{"applicationId":"ca7f3f0b-7d91-482c-8e09-c5d840d0eac5","roleDefinitionId":"5d5a2e56-9835-44aa-93db-d2f19e155438"}],"resourceTypes":[{"resourceType":"workspaces","locations":["East + US","West Europe","Southeast Asia","Australia Southeast","West Central US","Japan + East","UK South","Central India","Canada Central","West US 2","Australia Central","Australia + East","France Central","Korea Central","North Europe","Central US","East Asia","East + US 2","South Central US","North Central US","West US","UK West","South Africa + North","Brazil South","Switzerland North","Switzerland West"],"apiVersions":["2020-03-01-preview","2017-04-26-preview","2017-03-15-preview","2017-03-03-preview","2017-01-01-preview","2015-11-01-preview","2015-03-20"],"capabilities":"CrossResourceGroupResourceMove, + CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"locations","locations":[],"apiVersions":["2020-03-01-preview","2019-08-01-preview","2017-04-26-preview","2017-03-15-preview","2017-03-03-preview","2017-01-01-preview","2015-11-01-preview","2015-03-20"],"defaultApiVersion":"2015-11-01-preview","capabilities":"None"},{"resourceType":"locations/operationStatuses","locations":["East + US","West Europe","Southeast Asia","Australia Southeast","West Central US","Japan + East","UK South","Central India","Canada Central","West US 2","Australia Central","Australia + East","France Central","Korea Central","North Europe","Central US","East Asia","East + US 2","South Central US","North Central US","West US","UK West","South Africa + North","Brazil South","Switzerland North","Switzerland West"],"apiVersions":["2020-03-01-preview","2019-08-01-preview","2017-04-26-preview","2017-03-15-preview","2017-03-03-preview","2017-01-01-preview","2015-11-01-preview","2015-03-20"],"defaultApiVersion":"2015-11-01-preview","capabilities":"None"},{"resourceType":"workspaces/scopedPrivateLinkProxies","locations":["East + US","West Europe","Southeast Asia","Australia Southeast","West Central US","Japan + East","UK South","Central India","Canada Central","West US 2","Australia Central","Australia + East","France Central","Korea Central","North Europe","Central US","East Asia","East + US 2","South Central US","North Central US","West US","UK West","South Africa + North","Brazil South","Switzerland North","Switzerland West"],"apiVersions":["2020-03-01-preview","2019-08-01-preview","2015-11-01-preview"],"defaultApiVersion":"2015-11-01-preview","capabilities":"None"},{"resourceType":"workspaces/query","locations":["West + Central US","Australia Southeast","West Europe","East US","Southeast Asia","Japan + East","UK South","Central India","Canada Central","West US 2","Australia Central","Australia + East","France Central","Korea Central","North Europe","Central US","East Asia","East + US 2","South Central US","North Central US","West US","UK West","South Africa + North","Brazil South","Switzerland West","Switzerland North"],"apiVersions":["2017-10-01"],"capabilities":"None"},{"resourceType":"workspaces/dataSources","locations":["East + US","West Europe","Southeast Asia","Australia Southeast","West Central US","Japan + East","UK South","Central India","Canada Central","West US 2","Australia Central","Australia + East","France Central","Korea Central","North Europe","Central US","East Asia","East + US 2","South Central US","North Central US","West US","UK West","South Africa + North","Brazil South","Switzerland North","Switzerland West"],"apiVersions":["2020-03-01-preview","2015-11-01-preview"],"defaultApiVersion":"2015-11-01-preview","capabilities":"None"},{"resourceType":"workspaces/linkedStorageAccounts","locations":["East + US","West Europe","Southeast Asia","Australia Southeast","West Central US","Japan + East","UK South","Central India","Canada Central","West US 2","Australia Central","Australia + East","France Central","Korea Central","North Europe","Central US","East Asia","East + US 2","South Central US","North Central US","West US","UK West","South Africa + North","Brazil South","Switzerland North","Switzerland West"],"apiVersions":["2020-03-01-preview","2019-08-01-preview"],"defaultApiVersion":"2019-08-01-preview","capabilities":"None"},{"resourceType":"storageInsightConfigs","locations":[],"apiVersions":["2020-03-01-preview","2014-10-10"],"capabilities":"SupportsExtension"},{"resourceType":"workspaces/linkedServices","locations":["East + US","West Europe","Southeast Asia","Australia Southeast","West Central US","Japan + East","UK South","Central India","Canada Central","West US 2","Australia Central","Australia + East","France Central","Korea Central","North Europe","Central US","East Asia","East + US 2","South Central US","North Central US","West US","UK West","South Africa + North","Brazil South","Switzerland North","Switzerland West"],"apiVersions":["2020-03-01-preview","2019-08-01-preview","2015-11-01-preview"],"defaultApiVersion":"2015-11-01-preview","capabilities":"None"},{"resourceType":"linkTargets","locations":["East + US"],"apiVersions":["2020-03-01-preview","2015-03-20"],"capabilities":"None"},{"resourceType":"operations","locations":[],"apiVersions":["2020-03-01-preview","2015-11-01-preview","2014-11-10"],"defaultApiVersion":"2015-11-01-preview","capabilities":"None"},{"resourceType":"clusters","locations":["East + US","West Europe","Southeast Asia","Australia Southeast","West Central US","Japan + East","UK South","Central India","Canada Central","West US 2","Australia Central","Australia + East","France Central","Korea Central","North Europe","Central US","East Asia","East + US 2","South Central US","North Central US","West US","UK West","South Africa + North","Switzerland North","Switzerland West","Brazil South"],"apiVersions":["2020-03-01-preview","2019-08-01-preview"],"defaultApiVersion":"2019-08-01-preview","capabilities":"CrossResourceGroupResourceMove, + CrossSubscriptionResourceMove, SystemAssignedResourceIdentity, SupportsTags, + SupportsLocation"}],"registrationState":"Registered","registrationPolicy":"RegistrationRequired"}' + headers: + cache-control: + - no-cache + content-length: + - '6229' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 29 Apr 2020 09:24:42 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - resource delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g -n --resource-type + User-Agent: + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.4.0 + accept-language: + - en-US + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000002/providers/Microsoft.OperationalInsights/workspaces/workspace000005?api-version=2015-03-20 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Wed, 29 Apr 2020 09:24:47 GMT + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14997' + x-powered-by: + - ASP.NET + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - monitor log-analytics solution list + Connection: + - keep-alive + ParameterSetName: + - --query + User-Agent: + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-operationsmanagement/0.1.0 Azure-SDK-For-Python AZURECLI/2.4.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.OperationsManagement/solutions?api-version=2015-11-01-preview + response: + body: + string: '{"value":[{"plan":{"name":"Containers(zhoxing-test8)","publisher":"Microsoft","promotionCode":"","product":"OMSGallery/Containers"},"properties":{"workspaceResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/zhoxing-test/providers/microsoft.operationalinsights/workspaces/zhoxing-test8","provisioningState":"Succeeded","creationTime":"Wed, + 29 Apr 2020 04:57:39 GMT","lastModifiedTime":"Wed, 29 Apr 2020 07:29:13 GMT","containedResources":["/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/zhoxing-test/providers/microsoft.operationalinsights/workspaces/zhoxing-test8/views/Containers(zhoxing-test8)"]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/zhoxing-test/providers/Microsoft.OperationsManagement/solutions/Containers(zhoxing-test8)","name":"Containers(zhoxing-test8)","type":"Microsoft.OperationsManagement/solutions","location":"Central + US","tags":{"key":"value"}},{"plan":{"name":"SecurityCenterFree(yu-test-ws1)","publisher":"Microsoft","promotionCode":"","product":"OMSGallery/SecurityCenterFree"},"properties":{"workspaceResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/azure-cli-test-scus/providers/microsoft.operationalinsights/workspaces/yu-test-ws1","provisioningState":"Succeeded","creationTime":"Sat, + 25 Apr 2020 01:11:55 GMT","lastModifiedTime":"Sat, 25 Apr 2020 17:12:10 GMT","containedResources":[]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/azure-cli-test-scus/providers/Microsoft.OperationsManagement/solutions/SecurityCenterFree(yu-test-ws1)","name":"SecurityCenterFree(yu-test-ws1)","type":"Microsoft.OperationsManagement/solutions","location":"South + Central US"}]}' + headers: + cache-control: + - no-cache + content-length: + - '1724' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 29 Apr 2020 09:24:50 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-original-request-ids: + - c0d91f8d-a4b5-469c-84c8-6e6d8c8da7f1 + - 07dfeb9e-2e31-464c-add0-6f9d89848681 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - monitor log-analytics solution list + Connection: + - keep-alive + ParameterSetName: + - --resource-group --query + User-Agent: + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-operationsmanagement/0.1.0 Azure-SDK-For-Python AZURECLI/2.4.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000002/providers/Microsoft.OperationsManagement/solutions?api-version=2015-11-01-preview + response: + body: + string: '{"value":[]}' + headers: + cache-control: + - no-cache + content-length: + - '12' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 29 Apr 2020 09:24:51 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +version: 1 diff --git a/src/log-analytics-solution/azext_log_analytics_solution/tests/latest/test_log_analytics_solution_scenario.py b/src/log-analytics-solution/azext_log_analytics_solution/tests/latest/test_log_analytics_solution_scenario.py new file mode 100644 index 00000000000..498c75ba96d --- /dev/null +++ b/src/log-analytics-solution/azext_log_analytics_solution/tests/latest/test_log_analytics_solution_scenario.py @@ -0,0 +1,123 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +import os +import unittest + +from azure_devtools.scenario_tests import AllowLargeResponse +from azure.cli.testsdk import (ScenarioTest, ResourceGroupPreparer) +from knack.util import CLIError + + +TEST_DIR = os.path.abspath(os.path.join(os.path.abspath(__file__), '..')) + + +class OperationsScenarioTest(ScenarioTest): + + @ResourceGroupPreparer(parameter_name='resource_group_1') + @ResourceGroupPreparer(parameter_name='resource_group_2') + @ResourceGroupPreparer(parameter_name_for_location='location') + def test_log_analytics_solution(self, resource_group_1, resource_group_2, location): + + self.kwargs.update({ + 'loc': location, + 'workspace_name': self.create_random_name('workspace', 20), + 'rg': resource_group_1, + 'rg2': resource_group_2, + 'sub': self.get_subscription_id(), + 'la_prop_path': os.path.join(TEST_DIR, 'log_analytics.json') + }) + self.kwargs['solution_name'] = 'Containers(' + self.kwargs['workspace_name'] + ')' + + workspace = self.cmd('resource create -g {rg} -n {workspace_name} -l {loc} --resource-type ' + 'Microsoft.OperationalInsights/workspaces -p @"{la_prop_path}"').get_output_in_json() + self.kwargs.update({ + 'workspace_resource_id': workspace['id'], + 'wrong_workspace_resource_id': workspace['id'][1:] + }) + + with self.assertRaises(CLIError) as err: + self.cmd('az monitor log-analytics solution create ' + '--resource-group {rg} ' + '--name {solution_name} ' + '--plan-publisher "Microsoft" ' + '--plan-product "OMSGallery/Containers" ' + '--workspace "{wrong_workspace_resource_id}" ') + self.assertTrue("usage error: --workspace is invalid" == err.exception) + + with self.assertRaises(CLIError) as err: + self.cmd('az monitor log-analytics solution create ' + '--resource-group {rg2} ' + '--name {solution_name} ' + '--plan-publisher "Microsoft" ' + '--plan-product "OMSGallery/Containers" ' + '--workspace "{workspace_resource_id}" ') + self.assertTrue("usage error: workspace and solution must be under the same resource group" == err.exception) + + self.cmd('az monitor log-analytics solution create ' + '--resource-group {rg} ' + '--name {solution_name} ' + '--plan-publisher "Microsoft" ' + '--plan-product "OMSGallery/Containers" ' + '--workspace "{workspace_resource_id}" ' + '--tags key1=value1', + checks=[self.check('name', '{solution_name}')]) + + self.cmd('az monitor log-analytics solution show --resource-group {rg} --name {solution_name}', + checks=[self.check('name', '{solution_name}'), + self.check('plan.publisher', 'Microsoft'), + self.check('plan.product', 'OMSGallery/Containers'), + self.check('tags', {'key1': 'value1'})]) + + self.cmd('az monitor log-analytics solution update --resource-group {rg} --name {solution_name} ' + '--tags key2=value2', + checks=[self.check('name', '{solution_name}'), + self.check('tags', {'key2': 'value2'})]) + + self.cmd('az monitor log-analytics solution show --resource-group {rg} --name {solution_name}', + checks=[self.check('name', '{solution_name}'), + self.check('plan.publisher', 'Microsoft'), + self.check('plan.product', 'OMSGallery/Containers'), + self.check('tags', {'key2': 'value2'})]) + + self.kwargs['workspace_name2'] = self.create_random_name('workspace', 20) + self.cmd('resource create -g {rg2} -n {workspace_name2} -l {loc} --resource-type ' + 'Microsoft.OperationalInsights/workspaces -p @"{la_prop_path}"').get_output_in_json() + self.kwargs['solution_name2'] = 'Containers(' + self.kwargs['workspace_name2'] + ')' + + self.cmd('az monitor log-analytics solution create ' + '--resource-group {rg2} ' + '--name {solution_name2} ' + '--plan-publisher "Microsoft" ' + '--plan-product "OMSGallery/Containers" ' + '--workspace "{workspace_name2}" ' + '--tags key3=value3', + checks=[self.check('name', '{solution_name2}')]) + + self.cmd('az monitor log-analytics solution list --query "value[?name==\'{solution_name}\']"', + checks=[self.check('length([])', 1)]) + + self.cmd('az monitor log-analytics solution list --resource-group {rg2} ' + '--query "value[?name==\'{solution_name2}\']" ', + checks=[self.check('length([])', 1)]) + + self.cmd('az monitor log-analytics solution delete --resource-group {rg} --name {solution_name} -y', + checks=[]) + + self.cmd('az monitor log-analytics solution delete --resource-group {rg2} --name {solution_name2} -y', + checks=[]) + + self.cmd('az resource delete -g {rg} -n {workspace_name} --resource-type ' + 'Microsoft.OperationalInsights/workspaces', checks=[]) + + self.cmd('az resource delete -g {rg2} -n {workspace_name2} --resource-type ' + 'Microsoft.OperationalInsights/workspaces', checks=[]) + + self.cmd('az monitor log-analytics solution list --query "value[?name==\'{solution_name}\']"', + checks=[self.check('length([])', 0)]) + + self.cmd('az monitor log-analytics solution list --resource-group {rg2} ' + '--query "value[?name==\'{solution_name2}\']" ', + checks=[self.check('length([])', 0)]) diff --git a/src/log-analytics-solution/azext_log_analytics_solution/vendored_sdks/__init__.py b/src/log-analytics-solution/azext_log_analytics_solution/vendored_sdks/__init__.py new file mode 100644 index 00000000000..a5b81f3bde4 --- /dev/null +++ b/src/log-analytics-solution/azext_log_analytics_solution/vendored_sdks/__init__.py @@ -0,0 +1,6 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +__import__('pkg_resources').declare_namespace(__name__) diff --git a/src/log-analytics-solution/azext_log_analytics_solution/vendored_sdks/operationsmanagement/__init__.py b/src/log-analytics-solution/azext_log_analytics_solution/vendored_sdks/operationsmanagement/__init__.py new file mode 100644 index 00000000000..35c1a070aa9 --- /dev/null +++ b/src/log-analytics-solution/azext_log_analytics_solution/vendored_sdks/operationsmanagement/__init__.py @@ -0,0 +1,19 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from ._configuration import OperationsManagementClientConfiguration +from ._operations_management_client import OperationsManagementClient +__all__ = ['OperationsManagementClient', 'OperationsManagementClientConfiguration'] + +from .version import VERSION + +__version__ = VERSION + diff --git a/src/log-analytics-solution/azext_log_analytics_solution/vendored_sdks/operationsmanagement/_configuration.py b/src/log-analytics-solution/azext_log_analytics_solution/vendored_sdks/operationsmanagement/_configuration.py new file mode 100644 index 00000000000..9cbd71f615f --- /dev/null +++ b/src/log-analytics-solution/azext_log_analytics_solution/vendored_sdks/operationsmanagement/_configuration.py @@ -0,0 +1,65 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +from msrestazure import AzureConfiguration + +from .version import VERSION + + +class OperationsManagementClientConfiguration(AzureConfiguration): + """Configuration for OperationsManagementClient + Note that all parameters used to create this instance are saved as instance + attributes. + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :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 provider_name: Provider name for the parent resource. + :type provider_name: str + :param resource_type: Resource type for the parent resource + :type resource_type: str + :param resource_name: Parent resource name. + :type resource_name: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, provider_name, resource_type, resource_name, base_url=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 provider_name is None: + raise ValueError("Parameter 'provider_name' must not be None.") + if resource_type is None: + raise ValueError("Parameter 'resource_type' must not be None.") + if resource_name is None: + raise ValueError("Parameter 'resource_name' must not be None.") + if not base_url: + base_url = 'https://management.azure.com' + + super(OperationsManagementClientConfiguration, self).__init__(base_url) + + # Starting Autorest.Python 4.0.64, make connection pool activated by default + self.keep_alive = True + + self.add_user_agent('azure-mgmt-operationsmanagement/{}'.format(VERSION)) + self.add_user_agent('Azure-SDK-For-Python') + + self.credentials = credentials + self.subscription_id = subscription_id + self.provider_name = provider_name + self.resource_type = resource_type + self.resource_name = resource_name diff --git a/src/log-analytics-solution/azext_log_analytics_solution/vendored_sdks/operationsmanagement/_operations_management_client.py b/src/log-analytics-solution/azext_log_analytics_solution/vendored_sdks/operationsmanagement/_operations_management_client.py new file mode 100644 index 00000000000..1d7c40270c1 --- /dev/null +++ b/src/log-analytics-solution/azext_log_analytics_solution/vendored_sdks/operationsmanagement/_operations_management_client.py @@ -0,0 +1,72 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.service_client import SDKClient +from msrest import Serializer, Deserializer + +from ._configuration import OperationsManagementClientConfiguration +from .operations import SolutionsOperations +from .operations import ManagementAssociationsOperations +from .operations import ManagementConfigurationsOperations +from .operations import Operations +from . import models + + +class OperationsManagementClient(SDKClient): + """Operations Management Client + + :ivar config: Configuration for client. + :vartype config: OperationsManagementClientConfiguration + + :ivar solutions: Solutions operations + :vartype solutions: azure.mgmt.operationsmanagement.operations.SolutionsOperations + :ivar management_associations: ManagementAssociations operations + :vartype management_associations: azure.mgmt.operationsmanagement.operations.ManagementAssociationsOperations + :ivar management_configurations: ManagementConfigurations operations + :vartype management_configurations: azure.mgmt.operationsmanagement.operations.ManagementConfigurationsOperations + :ivar operations: Operations operations + :vartype operations: azure.mgmt.operationsmanagement.operations.Operations + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :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 provider_name: Provider name for the parent resource. + :type provider_name: str + :param resource_type: Resource type for the parent resource + :type resource_type: str + :param resource_name: Parent resource name. + :type resource_name: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, provider_name, resource_type, resource_name, base_url=None): + + self.config = OperationsManagementClientConfiguration(credentials, subscription_id, provider_name, resource_type, resource_name, base_url) + super(OperationsManagementClient, self).__init__(self.config.credentials, self.config) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self.api_version = '2015-11-01-preview' + self._serialize = Serializer(client_models) + self._deserialize = Deserializer(client_models) + + self.solutions = SolutionsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.management_associations = ManagementAssociationsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.management_configurations = ManagementConfigurationsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.operations = Operations( + self._client, self.config, self._serialize, self._deserialize) diff --git a/src/log-analytics-solution/azext_log_analytics_solution/vendored_sdks/operationsmanagement/models/__init__.py b/src/log-analytics-solution/azext_log_analytics_solution/vendored_sdks/operationsmanagement/models/__init__.py new file mode 100644 index 00000000000..b024f0b3847 --- /dev/null +++ b/src/log-analytics-solution/azext_log_analytics_solution/vendored_sdks/operationsmanagement/models/__init__.py @@ -0,0 +1,66 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +try: + from ._models_py3 import ArmTemplateParameter + from ._models_py3 import CodeMessageError, CodeMessageErrorException + from ._models_py3 import CodeMessageErrorError + from ._models_py3 import ManagementAssociation + from ._models_py3 import ManagementAssociationProperties + from ._models_py3 import ManagementAssociationPropertiesList + from ._models_py3 import ManagementConfiguration + from ._models_py3 import ManagementConfigurationProperties + from ._models_py3 import ManagementConfigurationPropertiesList + from ._models_py3 import Operation + from ._models_py3 import OperationDisplay + from ._models_py3 import Solution + from ._models_py3 import SolutionPatch + from ._models_py3 import SolutionPlan + from ._models_py3 import SolutionProperties + from ._models_py3 import SolutionPropertiesList +except (SyntaxError, ImportError): + from ._models import ArmTemplateParameter + from ._models import CodeMessageError, CodeMessageErrorException + from ._models import CodeMessageErrorError + from ._models import ManagementAssociation + from ._models import ManagementAssociationProperties + from ._models import ManagementAssociationPropertiesList + from ._models import ManagementConfiguration + from ._models import ManagementConfigurationProperties + from ._models import ManagementConfigurationPropertiesList + from ._models import Operation + from ._models import OperationDisplay + from ._models import Solution + from ._models import SolutionPatch + from ._models import SolutionPlan + from ._models import SolutionProperties + from ._models import SolutionPropertiesList +from ._paged_models import OperationPaged + +__all__ = [ + 'ArmTemplateParameter', + 'CodeMessageError', 'CodeMessageErrorException', + 'CodeMessageErrorError', + 'ManagementAssociation', + 'ManagementAssociationProperties', + 'ManagementAssociationPropertiesList', + 'ManagementConfiguration', + 'ManagementConfigurationProperties', + 'ManagementConfigurationPropertiesList', + 'Operation', + 'OperationDisplay', + 'Solution', + 'SolutionPatch', + 'SolutionPlan', + 'SolutionProperties', + 'SolutionPropertiesList', + 'OperationPaged', +] diff --git a/src/log-analytics-solution/azext_log_analytics_solution/vendored_sdks/operationsmanagement/models/_models.py b/src/log-analytics-solution/azext_log_analytics_solution/vendored_sdks/operationsmanagement/models/_models.py new file mode 100644 index 00000000000..a609b5a9d32 --- /dev/null +++ b/src/log-analytics-solution/azext_log_analytics_solution/vendored_sdks/operationsmanagement/models/_models.py @@ -0,0 +1,491 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model +from msrest.exceptions import HttpOperationError + + +class ArmTemplateParameter(Model): + """Parameter to pass to ARM template. + + :param name: name of the parameter. + :type name: str + :param value: value for the parameter. In Jtoken + :type value: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ArmTemplateParameter, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.value = kwargs.get('value', None) + + +class CloudError(Model): + """CloudError. + """ + + _attribute_map = { + } + + +class CodeMessageError(Model): + """The error body contract. + + :param error: The error details for a failed request. + :type error: ~azure.mgmt.operationsmanagement.models.CodeMessageErrorError + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'CodeMessageErrorError'}, + } + + def __init__(self, **kwargs): + super(CodeMessageError, self).__init__(**kwargs) + self.error = kwargs.get('error', None) + + +class CodeMessageErrorException(HttpOperationError): + """Server responsed with exception of type: 'CodeMessageError'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(CodeMessageErrorException, self).__init__(deserialize, response, 'CodeMessageError', *args) + + +class CodeMessageErrorError(Model): + """The error details for a failed request. + + :param code: The error type. + :type code: str + :param message: The error message. + :type message: str + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(CodeMessageErrorError, self).__init__(**kwargs) + self.code = kwargs.get('code', None) + self.message = kwargs.get('message', None) + + +class ManagementAssociation(Model): + """The container for solution. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location + :type location: str + :param properties: Properties for ManagementAssociation object supported + by the OperationsManagement resource provider. + :type properties: + ~azure.mgmt.operationsmanagement.models.ManagementAssociationProperties + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'ManagementAssociationProperties'}, + } + + def __init__(self, **kwargs): + super(ManagementAssociation, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.location = kwargs.get('location', None) + self.properties = kwargs.get('properties', None) + + +class ManagementAssociationProperties(Model): + """ManagementAssociation properties supported by the OperationsManagement + resource provider. + + All required parameters must be populated in order to send to Azure. + + :param application_id: Required. The applicationId of the appliance for + this association. + :type application_id: str + """ + + _validation = { + 'application_id': {'required': True}, + } + + _attribute_map = { + 'application_id': {'key': 'applicationId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ManagementAssociationProperties, self).__init__(**kwargs) + self.application_id = kwargs.get('application_id', None) + + +class ManagementAssociationPropertiesList(Model): + """the list of ManagementAssociation response. + + :param value: List of Management Association properties within the + subscription. + :type value: + list[~azure.mgmt.operationsmanagement.models.ManagementAssociation] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ManagementAssociation]'}, + } + + def __init__(self, **kwargs): + super(ManagementAssociationPropertiesList, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + + +class ManagementConfiguration(Model): + """The container for solution. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location + :type location: str + :param properties: Properties for ManagementConfiguration object supported + by the OperationsManagement resource provider. + :type properties: + ~azure.mgmt.operationsmanagement.models.ManagementConfigurationProperties + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'ManagementConfigurationProperties'}, + } + + def __init__(self, **kwargs): + super(ManagementConfiguration, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.location = kwargs.get('location', None) + self.properties = kwargs.get('properties', None) + + +class ManagementConfigurationProperties(Model): + """ManagementConfiguration properties supported by the OperationsManagement + resource provider. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param application_id: The applicationId of the appliance for this + Management. + :type application_id: str + :param parent_resource_type: Required. The type of the parent resource. + :type parent_resource_type: str + :param parameters: Required. Parameters to run the ARM template + :type parameters: + list[~azure.mgmt.operationsmanagement.models.ArmTemplateParameter] + :ivar provisioning_state: The provisioning state for the + ManagementConfiguration. + :vartype provisioning_state: str + :param template: Required. The Json object containing the ARM template to + deploy + :type template: object + """ + + _validation = { + 'parent_resource_type': {'required': True}, + 'parameters': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'template': {'required': True}, + } + + _attribute_map = { + 'application_id': {'key': 'applicationId', 'type': 'str'}, + 'parent_resource_type': {'key': 'parentResourceType', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '[ArmTemplateParameter]'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'template': {'key': 'template', 'type': 'object'}, + } + + def __init__(self, **kwargs): + super(ManagementConfigurationProperties, self).__init__(**kwargs) + self.application_id = kwargs.get('application_id', None) + self.parent_resource_type = kwargs.get('parent_resource_type', None) + self.parameters = kwargs.get('parameters', None) + self.provisioning_state = None + self.template = kwargs.get('template', None) + + +class ManagementConfigurationPropertiesList(Model): + """the list of ManagementConfiguration response. + + :param value: List of Management Configuration properties within the + subscription. + :type value: + list[~azure.mgmt.operationsmanagement.models.ManagementConfiguration] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ManagementConfiguration]'}, + } + + def __init__(self, **kwargs): + super(ManagementConfigurationPropertiesList, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + + +class Operation(Model): + """Supported operation of OperationsManagement resource provider. + + :param name: Operation name: {provider}/{resource}/{operation} + :type name: str + :param display: Display metadata associated with the operation. + :type display: ~azure.mgmt.operationsmanagement.models.OperationDisplay + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'OperationDisplay'}, + } + + def __init__(self, **kwargs): + super(Operation, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.display = kwargs.get('display', None) + + +class OperationDisplay(Model): + """Display metadata associated with the operation. + + :param provider: Service provider: Microsoft OperationsManagement. + :type provider: str + :param resource: Resource on which the operation is performed etc. + :type resource: str + :param operation: Type of operation: get, read, delete, etc. + :type operation: str + """ + + _attribute_map = { + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(OperationDisplay, self).__init__(**kwargs) + self.provider = kwargs.get('provider', None) + self.resource = kwargs.get('resource', None) + self.operation = kwargs.get('operation', None) + + +class Solution(Model): + """The container for solution. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + :param plan: Plan for solution object supported by the + OperationsManagement resource provider. + :type plan: ~azure.mgmt.operationsmanagement.models.SolutionPlan + :param properties: Properties for solution object supported by the + OperationsManagement resource provider. + :type properties: + ~azure.mgmt.operationsmanagement.models.SolutionProperties + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'plan': {'key': 'plan', 'type': 'SolutionPlan'}, + 'properties': {'key': 'properties', 'type': 'SolutionProperties'}, + } + + def __init__(self, **kwargs): + super(Solution, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.location = kwargs.get('location', None) + self.tags = kwargs.get('tags', None) + self.plan = kwargs.get('plan', None) + self.properties = kwargs.get('properties', None) + + +class SolutionPatch(Model): + """The properties of a Solution that can be patched. + + :param tags: Resource tags + :type tags: dict[str, str] + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, **kwargs): + super(SolutionPatch, self).__init__(**kwargs) + self.tags = kwargs.get('tags', None) + + +class SolutionPlan(Model): + """Plan for solution object supported by the OperationsManagement resource + provider. + + :param name: name of the solution to be created. For Microsoft published + solution it should be in the format of solutionType(workspaceName). + SolutionType part is case sensitive. For third party solution, it can be + anything. + :type name: str + :param publisher: Publisher name. For gallery solution, it is Microsoft. + :type publisher: str + :param promotion_code: promotionCode, Not really used now, can you left as + empty + :type promotion_code: str + :param product: name of the solution to enabled/add. For Microsoft + published gallery solution it should be in the format of + OMSGallery/. This is case sensitive + :type product: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'publisher': {'key': 'publisher', 'type': 'str'}, + 'promotion_code': {'key': 'promotionCode', 'type': 'str'}, + 'product': {'key': 'product', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SolutionPlan, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.publisher = kwargs.get('publisher', None) + self.promotion_code = kwargs.get('promotion_code', None) + self.product = kwargs.get('product', None) + + +class SolutionProperties(Model): + """Solution properties supported by the OperationsManagement resource + provider. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param workspace_resource_id: Required. The azure resourceId for the + workspace where the solution will be deployed/enabled. + :type workspace_resource_id: str + :ivar provisioning_state: The provisioning state for the solution. + :vartype provisioning_state: str + :param contained_resources: The azure resources that will be contained + within the solutions. They will be locked and gets deleted automatically + when the solution is deleted. + :type contained_resources: list[str] + :param referenced_resources: The resources that will be referenced from + this solution. Deleting any of those solution out of band will break the + solution. + :type referenced_resources: list[str] + """ + + _validation = { + 'workspace_resource_id': {'required': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'workspace_resource_id': {'key': 'workspaceResourceId', 'type': 'str'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'contained_resources': {'key': 'containedResources', 'type': '[str]'}, + 'referenced_resources': {'key': 'referencedResources', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(SolutionProperties, self).__init__(**kwargs) + self.workspace_resource_id = kwargs.get('workspace_resource_id', None) + self.provisioning_state = None + self.contained_resources = kwargs.get('contained_resources', None) + self.referenced_resources = kwargs.get('referenced_resources', None) + + +class SolutionPropertiesList(Model): + """the list of solution response. + + :param value: List of solution properties within the subscription. + :type value: list[~azure.mgmt.operationsmanagement.models.Solution] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[Solution]'}, + } + + def __init__(self, **kwargs): + super(SolutionPropertiesList, self).__init__(**kwargs) + self.value = kwargs.get('value', None) diff --git a/src/log-analytics-solution/azext_log_analytics_solution/vendored_sdks/operationsmanagement/models/_models_py3.py b/src/log-analytics-solution/azext_log_analytics_solution/vendored_sdks/operationsmanagement/models/_models_py3.py new file mode 100644 index 00000000000..7e6e39f9e4f --- /dev/null +++ b/src/log-analytics-solution/azext_log_analytics_solution/vendored_sdks/operationsmanagement/models/_models_py3.py @@ -0,0 +1,491 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model +from msrest.exceptions import HttpOperationError + + +class ArmTemplateParameter(Model): + """Parameter to pass to ARM template. + + :param name: name of the parameter. + :type name: str + :param value: value for the parameter. In Jtoken + :type value: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, value: str=None, **kwargs) -> None: + super(ArmTemplateParameter, self).__init__(**kwargs) + self.name = name + self.value = value + + +class CloudError(Model): + """CloudError. + """ + + _attribute_map = { + } + + +class CodeMessageError(Model): + """The error body contract. + + :param error: The error details for a failed request. + :type error: ~azure.mgmt.operationsmanagement.models.CodeMessageErrorError + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'CodeMessageErrorError'}, + } + + def __init__(self, *, error=None, **kwargs) -> None: + super(CodeMessageError, self).__init__(**kwargs) + self.error = error + + +class CodeMessageErrorException(HttpOperationError): + """Server responsed with exception of type: 'CodeMessageError'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(CodeMessageErrorException, self).__init__(deserialize, response, 'CodeMessageError', *args) + + +class CodeMessageErrorError(Model): + """The error details for a failed request. + + :param code: The error type. + :type code: str + :param message: The error message. + :type message: str + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__(self, *, code: str=None, message: str=None, **kwargs) -> None: + super(CodeMessageErrorError, self).__init__(**kwargs) + self.code = code + self.message = message + + +class ManagementAssociation(Model): + """The container for solution. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location + :type location: str + :param properties: Properties for ManagementAssociation object supported + by the OperationsManagement resource provider. + :type properties: + ~azure.mgmt.operationsmanagement.models.ManagementAssociationProperties + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'ManagementAssociationProperties'}, + } + + def __init__(self, *, location: str=None, properties=None, **kwargs) -> None: + super(ManagementAssociation, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.location = location + self.properties = properties + + +class ManagementAssociationProperties(Model): + """ManagementAssociation properties supported by the OperationsManagement + resource provider. + + All required parameters must be populated in order to send to Azure. + + :param application_id: Required. The applicationId of the appliance for + this association. + :type application_id: str + """ + + _validation = { + 'application_id': {'required': True}, + } + + _attribute_map = { + 'application_id': {'key': 'applicationId', 'type': 'str'}, + } + + def __init__(self, *, application_id: str, **kwargs) -> None: + super(ManagementAssociationProperties, self).__init__(**kwargs) + self.application_id = application_id + + +class ManagementAssociationPropertiesList(Model): + """the list of ManagementAssociation response. + + :param value: List of Management Association properties within the + subscription. + :type value: + list[~azure.mgmt.operationsmanagement.models.ManagementAssociation] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ManagementAssociation]'}, + } + + def __init__(self, *, value=None, **kwargs) -> None: + super(ManagementAssociationPropertiesList, self).__init__(**kwargs) + self.value = value + + +class ManagementConfiguration(Model): + """The container for solution. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location + :type location: str + :param properties: Properties for ManagementConfiguration object supported + by the OperationsManagement resource provider. + :type properties: + ~azure.mgmt.operationsmanagement.models.ManagementConfigurationProperties + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'ManagementConfigurationProperties'}, + } + + def __init__(self, *, location: str=None, properties=None, **kwargs) -> None: + super(ManagementConfiguration, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.location = location + self.properties = properties + + +class ManagementConfigurationProperties(Model): + """ManagementConfiguration properties supported by the OperationsManagement + resource provider. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param application_id: The applicationId of the appliance for this + Management. + :type application_id: str + :param parent_resource_type: Required. The type of the parent resource. + :type parent_resource_type: str + :param parameters: Required. Parameters to run the ARM template + :type parameters: + list[~azure.mgmt.operationsmanagement.models.ArmTemplateParameter] + :ivar provisioning_state: The provisioning state for the + ManagementConfiguration. + :vartype provisioning_state: str + :param template: Required. The Json object containing the ARM template to + deploy + :type template: object + """ + + _validation = { + 'parent_resource_type': {'required': True}, + 'parameters': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'template': {'required': True}, + } + + _attribute_map = { + 'application_id': {'key': 'applicationId', 'type': 'str'}, + 'parent_resource_type': {'key': 'parentResourceType', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '[ArmTemplateParameter]'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'template': {'key': 'template', 'type': 'object'}, + } + + def __init__(self, *, parent_resource_type: str, parameters, template, application_id: str=None, **kwargs) -> None: + super(ManagementConfigurationProperties, self).__init__(**kwargs) + self.application_id = application_id + self.parent_resource_type = parent_resource_type + self.parameters = parameters + self.provisioning_state = None + self.template = template + + +class ManagementConfigurationPropertiesList(Model): + """the list of ManagementConfiguration response. + + :param value: List of Management Configuration properties within the + subscription. + :type value: + list[~azure.mgmt.operationsmanagement.models.ManagementConfiguration] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ManagementConfiguration]'}, + } + + def __init__(self, *, value=None, **kwargs) -> None: + super(ManagementConfigurationPropertiesList, self).__init__(**kwargs) + self.value = value + + +class Operation(Model): + """Supported operation of OperationsManagement resource provider. + + :param name: Operation name: {provider}/{resource}/{operation} + :type name: str + :param display: Display metadata associated with the operation. + :type display: ~azure.mgmt.operationsmanagement.models.OperationDisplay + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'OperationDisplay'}, + } + + def __init__(self, *, name: str=None, display=None, **kwargs) -> None: + super(Operation, self).__init__(**kwargs) + self.name = name + self.display = display + + +class OperationDisplay(Model): + """Display metadata associated with the operation. + + :param provider: Service provider: Microsoft OperationsManagement. + :type provider: str + :param resource: Resource on which the operation is performed etc. + :type resource: str + :param operation: Type of operation: get, read, delete, etc. + :type operation: str + """ + + _attribute_map = { + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + } + + def __init__(self, *, provider: str=None, resource: str=None, operation: str=None, **kwargs) -> None: + super(OperationDisplay, self).__init__(**kwargs) + self.provider = provider + self.resource = resource + self.operation = operation + + +class Solution(Model): + """The container for solution. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + :param plan: Plan for solution object supported by the + OperationsManagement resource provider. + :type plan: ~azure.mgmt.operationsmanagement.models.SolutionPlan + :param properties: Properties for solution object supported by the + OperationsManagement resource provider. + :type properties: + ~azure.mgmt.operationsmanagement.models.SolutionProperties + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'plan': {'key': 'plan', 'type': 'SolutionPlan'}, + 'properties': {'key': 'properties', 'type': 'SolutionProperties'}, + } + + def __init__(self, *, location: str=None, tags=None, plan=None, properties=None, **kwargs) -> None: + super(Solution, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.location = location + self.tags = tags + self.plan = plan + self.properties = properties + + +class SolutionPatch(Model): + """The properties of a Solution that can be patched. + + :param tags: Resource tags + :type tags: dict[str, str] + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, *, tags=None, **kwargs) -> None: + super(SolutionPatch, self).__init__(**kwargs) + self.tags = tags + + +class SolutionPlan(Model): + """Plan for solution object supported by the OperationsManagement resource + provider. + + :param name: name of the solution to be created. For Microsoft published + solution it should be in the format of solutionType(workspaceName). + SolutionType part is case sensitive. For third party solution, it can be + anything. + :type name: str + :param publisher: Publisher name. For gallery solution, it is Microsoft. + :type publisher: str + :param promotion_code: promotionCode, Not really used now, can you left as + empty + :type promotion_code: str + :param product: name of the solution to enabled/add. For Microsoft + published gallery solution it should be in the format of + OMSGallery/. This is case sensitive + :type product: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'publisher': {'key': 'publisher', 'type': 'str'}, + 'promotion_code': {'key': 'promotionCode', 'type': 'str'}, + 'product': {'key': 'product', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, publisher: str=None, promotion_code: str=None, product: str=None, **kwargs) -> None: + super(SolutionPlan, self).__init__(**kwargs) + self.name = name + self.publisher = publisher + self.promotion_code = promotion_code + self.product = product + + +class SolutionProperties(Model): + """Solution properties supported by the OperationsManagement resource + provider. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param workspace_resource_id: Required. The azure resourceId for the + workspace where the solution will be deployed/enabled. + :type workspace_resource_id: str + :ivar provisioning_state: The provisioning state for the solution. + :vartype provisioning_state: str + :param contained_resources: The azure resources that will be contained + within the solutions. They will be locked and gets deleted automatically + when the solution is deleted. + :type contained_resources: list[str] + :param referenced_resources: The resources that will be referenced from + this solution. Deleting any of those solution out of band will break the + solution. + :type referenced_resources: list[str] + """ + + _validation = { + 'workspace_resource_id': {'required': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'workspace_resource_id': {'key': 'workspaceResourceId', 'type': 'str'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'contained_resources': {'key': 'containedResources', 'type': '[str]'}, + 'referenced_resources': {'key': 'referencedResources', 'type': '[str]'}, + } + + def __init__(self, *, workspace_resource_id: str, contained_resources=None, referenced_resources=None, **kwargs) -> None: + super(SolutionProperties, self).__init__(**kwargs) + self.workspace_resource_id = workspace_resource_id + self.provisioning_state = None + self.contained_resources = contained_resources + self.referenced_resources = referenced_resources + + +class SolutionPropertiesList(Model): + """the list of solution response. + + :param value: List of solution properties within the subscription. + :type value: list[~azure.mgmt.operationsmanagement.models.Solution] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[Solution]'}, + } + + def __init__(self, *, value=None, **kwargs) -> None: + super(SolutionPropertiesList, self).__init__(**kwargs) + self.value = value diff --git a/src/log-analytics-solution/azext_log_analytics_solution/vendored_sdks/operationsmanagement/models/_paged_models.py b/src/log-analytics-solution/azext_log_analytics_solution/vendored_sdks/operationsmanagement/models/_paged_models.py new file mode 100644 index 00000000000..d933945d04b --- /dev/null +++ b/src/log-analytics-solution/azext_log_analytics_solution/vendored_sdks/operationsmanagement/models/_paged_models.py @@ -0,0 +1,27 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.paging import Paged + + +class OperationPaged(Paged): + """ + A paging container for iterating over a list of :class:`Operation ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[Operation]'} + } + + def __init__(self, *args, **kwargs): + + super(OperationPaged, self).__init__(*args, **kwargs) diff --git a/src/log-analytics-solution/azext_log_analytics_solution/vendored_sdks/operationsmanagement/operations/__init__.py b/src/log-analytics-solution/azext_log_analytics_solution/vendored_sdks/operationsmanagement/operations/__init__.py new file mode 100644 index 00000000000..215feff34f6 --- /dev/null +++ b/src/log-analytics-solution/azext_log_analytics_solution/vendored_sdks/operationsmanagement/operations/__init__.py @@ -0,0 +1,22 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from ._solutions_operations import SolutionsOperations +from ._management_associations_operations import ManagementAssociationsOperations +from ._management_configurations_operations import ManagementConfigurationsOperations +from ._operations import Operations + +__all__ = [ + 'SolutionsOperations', + 'ManagementAssociationsOperations', + 'ManagementConfigurationsOperations', + 'Operations', +] diff --git a/src/log-analytics-solution/azext_log_analytics_solution/vendored_sdks/operationsmanagement/operations/_management_associations_operations.py b/src/log-analytics-solution/azext_log_analytics_solution/vendored_sdks/operationsmanagement/operations/_management_associations_operations.py new file mode 100644 index 00000000000..0925e2f2e34 --- /dev/null +++ b/src/log-analytics-solution/azext_log_analytics_solution/vendored_sdks/operationsmanagement/operations/_management_associations_operations.py @@ -0,0 +1,299 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse + +from .. import models + + +class ManagementAssociationsOperations(object): + """ManagementAssociationsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client Api Version. Constant value: "2015-11-01-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2015-11-01-preview" + + self.config = config + + def list_by_subscription( + self, custom_headers=None, raw=False, **operation_config): + """Retrieves the ManagementAssociations list for the subscription. + + Retrieves the ManagementAssociations list. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ManagementAssociationPropertiesList or ClientRawResponse if + raw=true + :rtype: + ~azure.mgmt.operationsmanagement.models.ManagementAssociationPropertiesList + or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`CodeMessageErrorException` + """ + # Construct URL + url = self.list_by_subscription.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.CodeMessageErrorException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('ManagementAssociationPropertiesList', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list_by_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.OperationsManagement/ManagementAssociations'} + + def create_or_update( + self, resource_group_name, management_association_name, location=None, properties=None, custom_headers=None, raw=False, **operation_config): + """Create/Update ManagementAssociation. + + Creates or updates the ManagementAssociation. + + :param resource_group_name: The name of the resource group to get. The + name is case insensitive. + :type resource_group_name: str + :param management_association_name: User ManagementAssociation Name. + :type management_association_name: str + :param location: Resource location + :type location: str + :param properties: Properties for ManagementAssociation object + supported by the OperationsManagement resource provider. + :type properties: + ~azure.mgmt.operationsmanagement.models.ManagementAssociationProperties + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ManagementAssociation or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.operationsmanagement.models.ManagementAssociation + or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`CodeMessageErrorException` + """ + parameters = models.ManagementAssociation(location=location, properties=properties) + + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'providerName': self._serialize.url("self.config.provider_name", self.config.provider_name, 'str'), + 'resourceType': self._serialize.url("self.config.resource_type", self.config.resource_type, 'str'), + 'resourceName': self._serialize.url("self.config.resource_name", self.config.resource_name, 'str'), + 'managementAssociationName': self._serialize.url("management_association_name", management_association_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'ManagementAssociation') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.CodeMessageErrorException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('ManagementAssociation', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{providerName}/{resourceType}/{resourceName}/providers/Microsoft.OperationsManagement/ManagementAssociations/{managementAssociationName}'} + + def delete( + self, resource_group_name, management_association_name, custom_headers=None, raw=False, **operation_config): + """Deletes the ManagementAssociation. + + Deletes the ManagementAssociation in the subscription. + + :param resource_group_name: The name of the resource group to get. The + name is case insensitive. + :type resource_group_name: str + :param management_association_name: User ManagementAssociation Name. + :type management_association_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`CodeMessageErrorException` + """ + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'providerName': self._serialize.url("self.config.provider_name", self.config.provider_name, 'str'), + 'resourceType': self._serialize.url("self.config.resource_type", self.config.resource_type, 'str'), + 'resourceName': self._serialize.url("self.config.resource_name", self.config.resource_name, 'str'), + 'managementAssociationName': self._serialize.url("management_association_name", management_association_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.CodeMessageErrorException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{providerName}/{resourceType}/{resourceName}/providers/Microsoft.OperationsManagement/ManagementAssociations/{managementAssociationName}'} + + def get( + self, resource_group_name, management_association_name, custom_headers=None, raw=False, **operation_config): + """Retrieve ManagementAssociation. + + Retrieves the user ManagementAssociation. + + :param resource_group_name: The name of the resource group to get. The + name is case insensitive. + :type resource_group_name: str + :param management_association_name: User ManagementAssociation Name. + :type management_association_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ManagementAssociation or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.operationsmanagement.models.ManagementAssociation + or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`CodeMessageErrorException` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'providerName': self._serialize.url("self.config.provider_name", self.config.provider_name, 'str'), + 'resourceType': self._serialize.url("self.config.resource_type", self.config.resource_type, 'str'), + 'resourceName': self._serialize.url("self.config.resource_name", self.config.resource_name, 'str'), + 'managementAssociationName': self._serialize.url("management_association_name", management_association_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.CodeMessageErrorException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('ManagementAssociation', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{providerName}/{resourceType}/{resourceName}/providers/Microsoft.OperationsManagement/ManagementAssociations/{managementAssociationName}'} diff --git a/src/log-analytics-solution/azext_log_analytics_solution/vendored_sdks/operationsmanagement/operations/_management_configurations_operations.py b/src/log-analytics-solution/azext_log_analytics_solution/vendored_sdks/operationsmanagement/operations/_management_configurations_operations.py new file mode 100644 index 00000000000..f07bc75b692 --- /dev/null +++ b/src/log-analytics-solution/azext_log_analytics_solution/vendored_sdks/operationsmanagement/operations/_management_configurations_operations.py @@ -0,0 +1,295 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse + +from .. import models + + +class ManagementConfigurationsOperations(object): + """ManagementConfigurationsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client Api Version. Constant value: "2015-11-01-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2015-11-01-preview" + + self.config = config + + def list_by_subscription( + self, custom_headers=None, raw=False, **operation_config): + """Retrieves the ManagementConfigurations list for the subscription. + + Retrieves the ManagementConfigurations list. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ManagementConfigurationPropertiesList or ClientRawResponse if + raw=true + :rtype: + ~azure.mgmt.operationsmanagement.models.ManagementConfigurationPropertiesList + or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`CodeMessageErrorException` + """ + # Construct URL + url = self.list_by_subscription.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.CodeMessageErrorException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('ManagementConfigurationPropertiesList', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list_by_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.OperationsManagement/ManagementConfigurations'} + + def create_or_update( + self, resource_group_name, management_configuration_name, location=None, properties=None, custom_headers=None, raw=False, **operation_config): + """Create/Update ManagementConfiguration. + + Creates or updates the ManagementConfiguration. + + :param resource_group_name: The name of the resource group to get. The + name is case insensitive. + :type resource_group_name: str + :param management_configuration_name: User Management Configuration + Name. + :type management_configuration_name: str + :param location: Resource location + :type location: str + :param properties: Properties for ManagementConfiguration object + supported by the OperationsManagement resource provider. + :type properties: + ~azure.mgmt.operationsmanagement.models.ManagementConfigurationProperties + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ManagementConfiguration or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.operationsmanagement.models.ManagementConfiguration or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`CodeMessageErrorException` + """ + parameters = models.ManagementConfiguration(location=location, properties=properties) + + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'managementConfigurationName': self._serialize.url("management_configuration_name", management_configuration_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'ManagementConfiguration') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.CodeMessageErrorException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('ManagementConfiguration', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationsManagement/ManagementConfigurations/{managementConfigurationName}'} + + def delete( + self, resource_group_name, management_configuration_name, custom_headers=None, raw=False, **operation_config): + """Deletes the ManagementConfiguration. + + Deletes the ManagementConfiguration in the subscription. + + :param resource_group_name: The name of the resource group to get. The + name is case insensitive. + :type resource_group_name: str + :param management_configuration_name: User Management Configuration + Name. + :type management_configuration_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`CodeMessageErrorException` + """ + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'managementConfigurationName': self._serialize.url("management_configuration_name", management_configuration_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.CodeMessageErrorException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationsManagement/ManagementConfigurations/{managementConfigurationName}'} + + def get( + self, resource_group_name, management_configuration_name, custom_headers=None, raw=False, **operation_config): + """Retrieve ManagementConfiguration. + + Retrieves the user ManagementConfiguration. + + :param resource_group_name: The name of the resource group to get. The + name is case insensitive. + :type resource_group_name: str + :param management_configuration_name: User Management Configuration + Name. + :type management_configuration_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ManagementConfiguration or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.operationsmanagement.models.ManagementConfiguration or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`CodeMessageErrorException` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'managementConfigurationName': self._serialize.url("management_configuration_name", management_configuration_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.CodeMessageErrorException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('ManagementConfiguration', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationsManagement/ManagementConfigurations/{managementConfigurationName}'} diff --git a/src/log-analytics-solution/azext_log_analytics_solution/vendored_sdks/operationsmanagement/operations/_operations.py b/src/log-analytics-solution/azext_log_analytics_solution/vendored_sdks/operationsmanagement/operations/_operations.py new file mode 100644 index 00000000000..781193478d9 --- /dev/null +++ b/src/log-analytics-solution/azext_log_analytics_solution/vendored_sdks/operationsmanagement/operations/_operations.py @@ -0,0 +1,102 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class Operations(object): + """Operations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client Api Version. Constant value: "2015-11-01-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2015-11-01-preview" + + self.config = config + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Lists all of the available OperationsManagement Rest API operations. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of Operation + :rtype: + ~azure.mgmt.operationsmanagement.models.OperationPaged[~azure.mgmt.operationsmanagement.models.Operation] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.OperationPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/providers/Microsoft.OperationsManagement/operations'} diff --git a/src/log-analytics-solution/azext_log_analytics_solution/vendored_sdks/operationsmanagement/operations/_solutions_operations.py b/src/log-analytics-solution/azext_log_analytics_solution/vendored_sdks/operationsmanagement/operations/_solutions_operations.py new file mode 100644 index 00000000000..842623cb482 --- /dev/null +++ b/src/log-analytics-solution/azext_log_analytics_solution/vendored_sdks/operationsmanagement/operations/_solutions_operations.py @@ -0,0 +1,509 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class SolutionsOperations(object): + """SolutionsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client Api Version. Constant value: "2015-11-01-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2015-11-01-preview" + + self.config = config + + + def _create_or_update_initial( + self, resource_group_name, solution_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'solutionName': self._serialize.url("solution_name", solution_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'Solution') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [201]: + raise models.CodeMessageErrorException(self._deserialize, response) + + deserialized = None + + if response.status_code == 201: + deserialized = self._deserialize('Solution', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, solution_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Create/Update Solution. + + Creates or updates the Solution. + + :param resource_group_name: The name of the resource group to get. The + name is case insensitive. + :type resource_group_name: str + :param solution_name: User Solution Name. + :type solution_name: str + :param parameters: The parameters required to create OMS Solution. + :type parameters: ~azure.mgmt.operationsmanagement.models.Solution + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns Solution or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.operationsmanagement.models.Solution] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.operationsmanagement.models.Solution]] + :raises: + :class:`CodeMessageErrorException` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + solution_name=solution_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('Solution', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationsManagement/solutions/{solutionName}'} + + + def _update_initial( + self, resource_group_name, solution_name, tags=None, custom_headers=None, raw=False, **operation_config): + parameters = models.SolutionPatch(tags=tags) + + # Construct URL + url = self.update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'solutionName': self._serialize.url("solution_name", solution_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'SolutionPatch') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.CodeMessageErrorException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('Solution', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def update( + self, resource_group_name, solution_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Patch a Solution. + + Patch a Solution. Only updating tags supported. + + :param resource_group_name: The name of the resource group to get. The + name is case insensitive. + :type resource_group_name: str + :param solution_name: User Solution Name. + :type solution_name: str + :param tags: Resource tags + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns Solution or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.operationsmanagement.models.Solution] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.operationsmanagement.models.Solution]] + :raises: + :class:`CodeMessageErrorException` + """ + raw_result = self._update_initial( + resource_group_name=resource_group_name, + solution_name=solution_name, + tags=tags, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('Solution', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationsManagement/solutions/{solutionName}'} + + + def _delete_initial( + self, resource_group_name, solution_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'solutionName': self._serialize.url("solution_name", solution_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.CodeMessageErrorException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, solution_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the solution. + + Deletes the solution in the subscription. + + :param resource_group_name: The name of the resource group to get. The + name is case insensitive. + :type resource_group_name: str + :param solution_name: User Solution Name. + :type solution_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: + :class:`CodeMessageErrorException` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + solution_name=solution_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationsManagement/solutions/{solutionName}'} + + def get( + self, resource_group_name, solution_name, custom_headers=None, raw=False, **operation_config): + """Retrieve solution. + + Retrieves the user solution. + + :param resource_group_name: The name of the resource group to get. The + name is case insensitive. + :type resource_group_name: str + :param solution_name: User Solution Name. + :type solution_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: Solution or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.operationsmanagement.models.Solution or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`CodeMessageErrorException` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'solutionName': self._serialize.url("solution_name", solution_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.CodeMessageErrorException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('Solution', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationsManagement/solutions/{solutionName}'} + + def list_by_resource_group( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Retrieves the solution list for the subscription. + + Retrieves the solution list. It will retrieve both first party and + third party solutions. + + :param resource_group_name: The name of the resource group to get. The + name is case insensitive. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: SolutionPropertiesList or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.operationsmanagement.models.SolutionPropertiesList + or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`CodeMessageErrorException` + """ + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.CodeMessageErrorException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('SolutionPropertiesList', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationsManagement/solutions'} + + def list_by_subscription( + self, custom_headers=None, raw=False, **operation_config): + """Retrieves the solution list for the subscription. + + Retrieves the solution list. It will retrieve both first party and + third party solutions. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: SolutionPropertiesList or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.operationsmanagement.models.SolutionPropertiesList + or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`CodeMessageErrorException` + """ + # Construct URL + url = self.list_by_subscription.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.CodeMessageErrorException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('SolutionPropertiesList', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list_by_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.OperationsManagement/solutions'} diff --git a/src/log-analytics-solution/azext_log_analytics_solution/vendored_sdks/operationsmanagement/version.py b/src/log-analytics-solution/azext_log_analytics_solution/vendored_sdks/operationsmanagement/version.py new file mode 100644 index 00000000000..e0ec669828c --- /dev/null +++ b/src/log-analytics-solution/azext_log_analytics_solution/vendored_sdks/operationsmanagement/version.py @@ -0,0 +1,13 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +VERSION = "0.1.0" + diff --git a/src/log-analytics-solution/setup.cfg b/src/log-analytics-solution/setup.cfg new file mode 100644 index 00000000000..3c6e79cf31d --- /dev/null +++ b/src/log-analytics-solution/setup.cfg @@ -0,0 +1,2 @@ +[bdist_wheel] +universal=1 diff --git a/src/log-analytics-solution/setup.py b/src/log-analytics-solution/setup.py new file mode 100644 index 00000000000..94770e009cf --- /dev/null +++ b/src/log-analytics-solution/setup.py @@ -0,0 +1,58 @@ +#!/usr/bin/env python + +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + + +from codecs import open +from setuptools import setup, find_packages +try: + from azure_bdist_wheel import cmdclass +except ImportError: + from distutils import log as logger + logger.warn("Wheel is not available, disabling bdist_wheel hook") + +# TODO: Confirm this is the right version number you want and it matches your +# HISTORY.rst entry. +VERSION = '0.1.0' + +# The full list of classifiers is available at +# https://pypi.python.org/pypi?%3Aaction=list_classifiers +CLASSIFIERS = [ + 'Development Status :: 4 - Beta', + 'Intended Audience :: Developers', + 'Intended Audience :: System Administrators', + 'Programming Language :: Python', + 'Programming Language :: Python :: 3', + 'Programming Language :: Python :: 3.4', + 'Programming Language :: Python :: 3.5', + 'Programming Language :: Python :: 3.6', + 'License :: OSI Approved :: MIT License', +] + +# TODO: Add any additional SDK dependencies here +DEPENDENCIES = [] + +with open('README.md', 'r', encoding='utf-8') as f: + README = f.read() +with open('HISTORY.rst', 'r', encoding='utf-8') as f: + HISTORY = f.read() + +setup( + name='log_analytics_solution', + version=VERSION, + description='Microsoft Azure Command-Line Tools Operations Extension', + # TODO: Update author and email, if applicable + author='Microsoft Corporation', + author_email='azpycli@microsoft.com', + # TODO: consider pointing directly to your source code instead of the generic repo + url='https://github.com/Azure/azure-cli-extensions', + long_description=README + '\n\n' + HISTORY, + license='MIT', + classifiers=CLASSIFIERS, + packages=find_packages(), + install_requires=DEPENDENCIES, + package_data={'azext_log_analytics_solution': ['azext_metadata.json']}, +) diff --git a/src/log-analytics/azext_loganalytics/_client_factory.py b/src/log-analytics/azext_loganalytics/_client_factory.py index f4fe1e8d0a7..1721884cd1c 100644 --- a/src/log-analytics/azext_loganalytics/_client_factory.py +++ b/src/log-analytics/azext_loganalytics/_client_factory.py @@ -10,5 +10,8 @@ def loganalytics_data_plane_client(cli_ctx, _): from azure.cli.core._profile import Profile profile = Profile(cli_ctx=cli_ctx) cred, _, _ = profile.get_login_credentials( - resource="https://api.loganalytics.io") - return LogAnalyticsDataClient(cred) + resource=cli_ctx.cloud.endpoints.log_analytics_resource_id) + + api_version = 'v1' + return LogAnalyticsDataClient(cred, + base_url=cli_ctx.cloud.endpoints.log_analytics_resource_id + '/' + api_version) diff --git a/src/log-analytics/azext_loganalytics/azext_metadata.json b/src/log-analytics/azext_loganalytics/azext_metadata.json index a2f37531f6a..e1890bffcca 100644 --- a/src/log-analytics/azext_loganalytics/azext_metadata.json +++ b/src/log-analytics/azext_loganalytics/azext_metadata.json @@ -1,3 +1,4 @@ { - "azext.isPreview": true -} \ No newline at end of file + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.0.0" +} diff --git a/src/log-analytics/azext_loganalytics/tests/latest/test_loganalytics_commands.py b/src/log-analytics/azext_loganalytics/tests/latest/test_loganalytics_commands.py index b35aeb96fd8..27b57b9b928 100644 --- a/src/log-analytics/azext_loganalytics/tests/latest/test_loganalytics_commands.py +++ b/src/log-analytics/azext_loganalytics/tests/latest/test_loganalytics_commands.py @@ -11,9 +11,16 @@ class LogAnalyticsDataClientTests(ScenarioTest): """Test class for Log Analytics data client.""" def test_query(self): """Tests data plane query capabilities for Log Analytics.""" - self.cmd('az monitor log-analytics query --workspace cab864ad-d0c1-496b-bc5e-4418315621bf --analytics-query "Heartbeat | getschema"', checks=[ - self.check('tables[0].rows[0][0]', 'TenantId') - ]) + query_result = self.cmd('az monitor log-analytics query -w cab864ad-d0c1-496b-bc5e-4418315621bf --analytics-query "Heartbeat | getschema"').get_output_in_json() - assert len(query_result['tables'][0]['rows']) == 29 - assert isinstance(query_result['tables'][0]['rows'][0][1], (int, float, complex)) + + desired_row = { + 'ColumnName': 'TenantId', + 'ColumnOrdinal': '0', + 'ColumnType': 'string', + 'DataType': 'System.String', + 'TableName': 'getschema' + } + + assert len(query_result) == 29 + self.assertDictEqual(query_result[0], desired_row) diff --git a/src/log-analytics/setup.py b/src/log-analytics/setup.py index 43160f8b102..59f4fdcae22 100644 --- a/src/log-analytics/setup.py +++ b/src/log-analytics/setup.py @@ -8,7 +8,7 @@ from codecs import open from setuptools import setup, find_packages -VERSION = "0.1.4" +VERSION = "0.2.1" CLASSIFIERS = [ 'Development Status :: 4 - Beta', diff --git a/src/logic/HISTORY.rst b/src/logic/HISTORY.rst new file mode 100644 index 00000000000..1c139576ba0 --- /dev/null +++ b/src/logic/HISTORY.rst @@ -0,0 +1,8 @@ +.. :changelog: + +Release History +=============== + +0.1.0 +++++++ +* Initial release. diff --git a/src/logic/README.md b/src/logic/README.md new file mode 100644 index 00000000000..07740259dd4 --- /dev/null +++ b/src/logic/README.md @@ -0,0 +1,63 @@ +# Azure CLI Logic Apps Extension # +This package is for the 'logic app' extension, i.e. 'az logic'. +More info on what is [Logic](https://docs.microsoft.com/en-us/azure/logic-apps/logic-apps-overview). + +### How to use ### +Install this extension using the below CLI command +``` +az extension add --name logic +``` + +### Getting Help + +To see examples of commands and parameters details got commands or command groups, one should run the command of interest with a -h + +Examples: +``` +az logic workflow create -h + +az logic integration-account -h + +az logic worflow update -h +``` + + +##### Creating a Logic App + +For creating a logic app, one must provide a logic app definition. +A definition is a JSON description of a logic app workflow. It is recommended that the logic app designer be used to create this definition, as these definitions can be very complex depending on a workflow. The designed tool works with VS Code, Visual Studio, and Azure Portal: https://docs.microsoft.com/en-us/azure/logic-apps/. + +Access Controls: For a great reference on this see: (https://msftplayground.com/2020/02/managing-access-control-for-logic-apps/) +An example of how an access control would look is: + +```json +"accessControl": { "triggers": + { "allowedCallerIpAddresses": + [{ "addressRange": "10.0.0.0/24" }]}, + "actions": { "allowedCallerIpAddresses": + [{ "addressRange": "10.0.0.0/24" }]} + } +``` +##### Creating an Integration Account + +Integration accounts are a way for Azure Logic Apps to utilize services outside of Azure to integrate into your logic app workflows. See (https://docs.microsoft.com/en-us/azure/logic-apps/logic-apps-enterprise-integration-create-integration-account) for more information. + +Integration Service enviroments go hand in hand with a integration account. It is enviroment that connects to your azure vnet for seamless flow of data and logic apps services to on premise enviroments and services. See (https://azure.microsoft.com/en-us/blog/announcing-azure-integration-service-environment-for-logic-apps/) for more information + + +#### Import an Integration Account + +You can import an integration account from a JSON file. Run az workflow integration-account import -h to see the parameters. + +An example JSON for import could look like: + +```json +{"properties": { + "state": "Enabled" + }, + "sku": { + "name": "Standard" + }, + "location": "centralus" +} +''' \ No newline at end of file diff --git a/src/logic/azext_logic/__init__.py b/src/logic/azext_logic/__init__.py new file mode 100644 index 00000000000..b41bafda354 --- /dev/null +++ b/src/logic/azext_logic/__init__.py @@ -0,0 +1,41 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +from azure.cli.core import AzCommandsLoader +from azext_logic.generated._help import helps # pylint: disable=unused-import + + +class LogicManagementClientCommandsLoader(AzCommandsLoader): + + def __init__(self, cli_ctx=None): + from azure.cli.core.commands import CliCommandType + from azext_logic.generated._client_factory import cf_logic + logic_custom = CliCommandType( + operations_tmpl='azext_logic.custom#{}', + client_factory=cf_logic) + super(LogicManagementClientCommandsLoader, self).__init__(cli_ctx=cli_ctx, + custom_command_type=logic_custom) + + def load_command_table(self, args): + from azext_logic.generated.commands import load_command_table + load_command_table(self, args) + try: + from azext_logic.manual.commands import load_command_table as load_command_table_manual + load_command_table_manual(self, args) + except ImportError: + pass + return self.command_table + + def load_arguments(self, command): + from azext_logic.generated._params import load_arguments + load_arguments(self, command) + try: + from azext_logic.manual._params import load_arguments as load_arguments_manual + load_arguments_manual(self, command) + except ImportError: + pass + + +COMMAND_LOADER_CLS = LogicManagementClientCommandsLoader diff --git a/src/logic/azext_logic/action.py b/src/logic/azext_logic/action.py new file mode 100644 index 00000000000..d66d3c5d0d7 --- /dev/null +++ b/src/logic/azext_logic/action.py @@ -0,0 +1,12 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- +# pylint: disable=wildcard-import +# pylint: disable=unused-wildcard-import + +from .generated.action import * # noqa: F403 +try: + from .manual.action import * # noqa: F403 +except ImportError: + pass diff --git a/src/logic/azext_logic/azext_metadata.json b/src/logic/azext_logic/azext_metadata.json new file mode 100644 index 00000000000..27e30487444 --- /dev/null +++ b/src/logic/azext_logic/azext_metadata.json @@ -0,0 +1,4 @@ +{ + "azext.isExperimental": true, + "azext.minCliCoreVersion": "2.3.1" +} diff --git a/src/logic/azext_logic/commands.py b/src/logic/azext_logic/commands.py new file mode 100644 index 00000000000..42f0c1a991e --- /dev/null +++ b/src/logic/azext_logic/commands.py @@ -0,0 +1,12 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- +# pylint: disable=wildcard-import +# pylint: disable=unused-wildcard-import + +from .generated.commands import * # noqa: F403 +try: + from .manual.commands import * # noqa: F403 +except ImportError: + pass diff --git a/src/logic/azext_logic/custom.py b/src/logic/azext_logic/custom.py new file mode 100644 index 00000000000..d1fd3543ed0 --- /dev/null +++ b/src/logic/azext_logic/custom.py @@ -0,0 +1,12 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- +# pylint: disable=wildcard-import +# pylint: disable=unused-wildcard-import + +from .generated.custom import * # noqa: F403 +try: + from .manual.custom import * # noqa: F403 +except ImportError: + pass diff --git a/src/logic/azext_logic/generated/__init__.py b/src/logic/azext_logic/generated/__init__.py new file mode 100644 index 00000000000..c9cfdc73e77 --- /dev/null +++ b/src/logic/azext_logic/generated/__init__.py @@ -0,0 +1,12 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +__path__ = __import__('pkgutil').extend_path(__path__, __name__) diff --git a/src/logic/azext_logic/generated/_client_factory.py b/src/logic/azext_logic/generated/_client_factory.py new file mode 100644 index 00000000000..a8df4e1760d --- /dev/null +++ b/src/logic/azext_logic/generated/_client_factory.py @@ -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. +# -------------------------------------------------------------------------------------------- + + +def cf_logic(cli_ctx, *_): + from azure.cli.core.commands.client_factory import get_mgmt_service_client + from ..vendored_sdks.logic import LogicManagementClient + return get_mgmt_service_client(cli_ctx, LogicManagementClient) + + +def cf_workflow(cli_ctx, *_): + return cf_logic(cli_ctx).workflow + + +def cf_integration_account(cli_ctx, *_): + return cf_logic(cli_ctx).integration_account diff --git a/src/logic/azext_logic/generated/_help.py b/src/logic/azext_logic/generated/_help.py new file mode 100644 index 00000000000..b5772ab8f22 --- /dev/null +++ b/src/logic/azext_logic/generated/_help.py @@ -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: disable=line-too-long +# pylint: disable=too-many-lines + +from knack.help_files import helps + + +helps['logic workflow'] = """ + type: group + short-summary: logic workflow +""" + +helps['logic workflow list'] = """ + type: command + short-summary: Gets a list of workflows by subscription. + examples: + - name: List all workflows in a resource group + text: |- + az logic workflow list --resource-group "test_resource_group" + - name: List all workflows in a subscription + text: |- + az logic workflow list +""" + +helps['logic workflow show'] = """ + type: command + short-summary: Gets a workflow. + examples: + - name: Get a workflow + text: |- + az logic workflow show --resource-group "test_resource_group" --name "test_workflow" +""" + +helps['logic workflow create'] = """ + type: command + short-summary: Creates or updates a workflow using a JSON file for the defintion. + examples: + - name: Create or update a workflow + text: |- + az logic workflow create --resource-group "test_resource_group" --location "centralus" --name "test_workflow" --definition "workflow.json" +""" + +helps['logic workflow update'] = """ + type: command + short-summary: Updates a workflow. + examples: + - name: Patch a workflow + text: |- + az logic workflow update --resource-group "test_resource_group" --definition workflow.json --name "test_workflow" +""" + +helps['logic workflow delete'] = """ + type: command + short-summary: Deletes a workflow. + examples: + - name: Delete a workflow + text: |- + az logic workflow delete --resource-group "test_resource_group" --name "test_workflow" +""" + +helps['logic integration-account'] = """ + type: group + short-summary: logic integration-account +""" + +helps['logic integration-account list'] = """ + type: command + short-summary: Gets a list of integration accounts by subscription. + examples: + - name: List integration accounts by resource group name + text: |- + az logic integration-account list --resource-group "test_resource_group" +""" + +helps['logic integration-account show'] = """ + type: command + short-summary: Gets an integration account. + examples: + - name: Get integration account by name + text: |- + az logic integration-account show --name "test_integration_account" --resource-group "test_resource_group" +""" + +helps['logic integration-account create'] = """ + type: command + short-summary: Creates or updates an integration account. + examples: + - name: Create or update an integration account + text: |- + az logic integration-account create --location "centralus" --sku name=Standard --name "test_integration_account" --resource-group "test_resource_group" +""" + +helps['logic integration-account update'] = """ + type: command + short-summary: Updates an integration account. + examples: + - name: Patch an integration account + text: |- + az logic integration-account update --sku name=Basic --tag atag=123 --name "test_integration_account" --resource-group "test_resource_group" +""" + + +helps['logic integration-account import'] = """ + type: command + short-summary: Import an integration account from a JSON file. + examples: + - name: Import an integration account. + text: |- + az logic integration-account import --name "test_integration_account" --resource-group "test_resource_group" --input-path "integration.json" +""" + +helps['logic integration-account delete'] = """ + type: command + short-summary: Deletes an integration account. + examples: + - name: Delete an integration account + text: |- + az logic integration-account delete --name "test_integration_account" --resource-group "test_resource_group" +""" diff --git a/src/logic/azext_logic/generated/_params.py b/src/logic/azext_logic/generated/_params.py new file mode 100644 index 00000000000..84a0b059b38 --- /dev/null +++ b/src/logic/azext_logic/generated/_params.py @@ -0,0 +1,130 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- +# pylint: disable=too-many-lines +# pylint: disable=too-many-statements + +from argcomplete.completers import FilesCompleter +from knack.arguments import CLIArgumentType +from azure.cli.core.commands.validators import validate_file_or_dict, get_default_location_from_resource_group +from azure.cli.core.commands.parameters import ( + tags_type, + get_enum_type, + resource_group_name_type, + get_location_type +) +from azext_logic.action import AddIntegrationAccount + + +def load_arguments(self, _): + + with self.argument_context('logic workflow list') as c: + c.argument('resource_group_name', resource_group_name_type, + help='The resource group name.') + c.argument( + 'top', help='The number of items to be included in the result.') + c.argument('filter', help='The filter to apply on the operation. Options for filters include: State, Trigger, a' + 'nd ReferencedResourceId.') + + with self.argument_context('logic workflow show') as c: + c.argument('resource_group_name', resource_group_name_type, + help='The resource group name.') + c.argument('name', options_list=[ + '--name', '-n'], help='The workflow name.') + + with self.argument_context('logic workflow create') as c: + c.argument('resource_group_name', resource_group_name_type, + help='The resource group name.') + c.argument('name', options_list=[ + '--name', '-n'], help='The workflow name.') + c.argument('definition', type=validate_file_or_dict, help='Path to a workflow defintion JSON file (see README.md for more info on this). ' + + 'This JSON format should match what the logic app design tool exports', completer=FilesCompleter()) + c.argument('location', arg_type=get_location_type( + self.cli_ctx), validator=get_default_location_from_resource_group) + c.argument('integration_account', action=AddIntegrationAccount, + nargs='+', help='The integration account.') + c.argument('integration_service_environment', action=AddIntegrationAccount, nargs='+', help='The integration se' + 'rvice environment. See README.md For more information') + c.argument('endpoints_configuration', arg_type=CLIArgumentType(options_list=['--endpoints-configuration'], + help='The endpoints configuration.')) + c.argument('access_control', arg_type=CLIArgumentType(options_list=['--access-control'], help='The access contr' + 'ol configuration controls access to this workflow. See README.md for more information')) + c.argument('state', arg_type=get_enum_type(['NotSpecified', 'Completed', 'Enabled', 'Disabled', 'Deleted', 'Sus' + 'pended']), help='The state.') + c.argument('tags', tags_type, help='The resource tags.') + + with self.argument_context('logic workflow update') as c: + c.argument('resource_group_name', resource_group_name_type, + help='The resource group name.') + c.argument('name', options_list=[ + '--name', '-n'], help='The workflow name.') + c.argument('state', arg_type=get_enum_type(['NotSpecified', 'Completed', 'Enabled', 'Disabled', 'Deleted', 'Sus' + 'pended']), help='The state.') + c.argument('definition', type=validate_file_or_dict, help='Path to a workflow defintion JSON file (see README.md for more info on this). ' + + 'This JSON format should match what the logic app design tool exports', completer=FilesCompleter()) + c.argument('tags', tags_type, help='The resource tags.') + + with self.argument_context('logic workflow delete') as c: + c.argument('resource_group_name', resource_group_name_type, + help='The resource group name.') + c.argument('name', options_list=[ + '--name', '-n'], help='The workflow name.') + + with self.argument_context('logic integration-account list') as c: + c.argument('resource_group_name', resource_group_name_type, + help='The resource group name.') + c.argument( + 'top', help='The number of items to be included in the result.') + + with self.argument_context('logic integration-account show') as c: + c.argument('resource_group_name', resource_group_name_type, + help='The resource group name.') + c.argument('name', options_list=[ + '--name', '-n'], help='The integration account name.') + + with self.argument_context('logic integration-account create') as c: + c.argument('resource_group_name', resource_group_name_type, + help='The resource group name.') + c.argument('name', options_list=[ + '--name', '-n'], help='The integration account name.') + c.argument('location', arg_type=get_location_type( + self.cli_ctx), validator=get_default_location_from_resource_group) + c.argument('tags', tags_type, help='The resource tags.') + c.argument('sku', type=str, help='The integration account sku.') + c.argument('integration_service_environment', arg_type=CLIArgumentType(options_list=['--integration-service-env' + 'ironment'], help='The integration se' + 'rvice environment. See README.md For more information')) + c.argument('state', arg_type=get_enum_type(['NotSpecified', 'Completed', 'Enabled', 'Disabled', 'Deleted', 'Sus' + 'pended']), help='The workflow state.') + + with self.argument_context('logic integration-account update') as c: + c.argument('resource_group_name', resource_group_name_type, + help='The resource group name.') + c.argument('name', options_list=[ + '--name', '-n'], help='The integration account name.') + c.argument('tags', tags_type, help='The resource tags.') + c.argument('sku', type=str, help='The integration account sku.') + c.argument('integration_service_environment', arg_type=CLIArgumentType(options_list=['--integration-service-env' + 'ironment'], help='The integration se' + 'rvice environment. See README.md For more information')) + c.argument('state', arg_type=get_enum_type(['NotSpecified', 'Completed', 'Enabled', 'Disabled', 'Deleted', 'Sus' + 'pended']), help='The workflow state.') + + with self.argument_context('logic integration-account delete') as c: + c.argument('resource_group_name', resource_group_name_type, + help='The resource group name.') + c.argument('name', options_list=[ + '--name', '-n'], help='The integration account name.') + + with self.argument_context('logic integration-account import') as c: + c.argument('resource_group_name', resource_group_name_type, + help='The resource group name.') + c.argument('name', options_list=[ + '--name', '-n'], help='The integration account name.') + c.argument('input_path', type=validate_file_or_dict, + help='Path to a intergration-account JSON file', completer=FilesCompleter()) + c.argument('location', arg_type=get_location_type( + self.cli_ctx), validator=get_default_location_from_resource_group) + c.argument('tags', tags_type, help='The resource tags.') + c.argument('sku', type=str, help='The integration account sku.') diff --git a/src/logic/azext_logic/generated/action.py b/src/logic/azext_logic/generated/action.py new file mode 100644 index 00000000000..d26df01fdf1 --- /dev/null +++ b/src/logic/azext_logic/generated/action.py @@ -0,0 +1,50 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- +# pylint: disable=protected-access + +import argparse +from knack.util import CLIError + + +class AddIntegrationAccount(argparse.Action): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + namespace.integration_account = action + + def get_action(self, values, option_string): # pylint: disable=no-self-use + try: + properties = dict(x.split('=', 1) for x in values) + except ValueError: + raise CLIError( + 'usage error: {} [KEY=VALUE ...]'.format(option_string)) + d = {} + for k in properties: + kl = k.lower() + v = properties[k] + if kl == 'id': + d['id'] = v + return d + + +class AddKeyVault(argparse.Action): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + namespace.key_vault = action + + def get_action(self, values, option_string): # pylint: disable=no-self-use + try: + properties = dict(x.split('=', 1) for x in values) + except ValueError: + raise CLIError( + 'usage error: {} [KEY=VALUE ...]'.format(option_string)) + d = {} + for k in properties: + kl = k.lower() + v = properties[k] + if kl == 'name': + d['name'] = v + elif kl == 'id': + d['id'] = v + return d diff --git a/src/logic/azext_logic/generated/commands.py b/src/logic/azext_logic/generated/commands.py new file mode 100644 index 00000000000..cba2532585f --- /dev/null +++ b/src/logic/azext_logic/generated/commands.py @@ -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. +# -------------------------------------------------------------------------------------------- + +from azure.cli.core.commands import CliCommandType + + +def load_command_table(self, _): + + with self.command_group('logic', is_experimental=True): + pass + + from azext_logic.generated._client_factory import cf_workflow + logic_workflow = CliCommandType( + operations_tmpl='azext_logic.vendored_sdks.logic.operations._workflow_operations#WorkflowOperations.{}', + client_factory=cf_workflow) + with self.command_group('logic workflow', logic_workflow, client_factory=cf_workflow) as g: + g.custom_command('list', 'logic_workflow_list') + g.custom_show_command('show', 'logic_workflow_show') + g.custom_command('create', 'logic_workflow_create') + g.custom_command('update', 'logic_workflow_update') + g.custom_command('delete', 'logic_workflow_delete', confirmation=True) + + from azext_logic.generated._client_factory import cf_integration_account + logic_integration_account = CliCommandType( + operations_tmpl='azext_logic.vendored_sdks.logic.operations._integration_account_operations#IntegrationAccountO' + 'perations.{}', + client_factory=cf_integration_account) + with self.command_group('logic integration-account', logic_integration_account, + client_factory=cf_integration_account) as g: + g.custom_command('list', 'logic_integration_account_list') + g.custom_show_command('show', 'logic_integration_account_show') + g.custom_command('create', 'logic_integration_account_create') + g.custom_command('update', 'logic_integration_account_update') + g.custom_command( + 'delete', 'logic_integration_account_delete', confirmation=True) + g.custom_command('import', 'logic_integration_account_import') diff --git a/src/logic/azext_logic/generated/custom.py b/src/logic/azext_logic/generated/custom.py new file mode 100644 index 00000000000..3fbf50d7677 --- /dev/null +++ b/src/logic/azext_logic/generated/custom.py @@ -0,0 +1,176 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- +# pylint: disable=too-many-lines + +import json +from knack.util import CLIError + + +def logic_workflow_list(cmd, client, + resource_group_name=None, + top=None, + filter=None): + if resource_group_name: + return client.list_by_resource_group(resource_group_name=resource_group_name, + top=top, + filter=filter) + return client.list_by_subscription(top=top, + filter=filter) + + +def logic_workflow_show(cmd, client, + resource_group_name, + name): + return client.get(resource_group_name=resource_group_name, + workflow_name=name) + + +def logic_workflow_create(cmd, client, + resource_group_name, + name, + definition, + location, + tags=None, + state=None, + endpoints_configuration=None, + access_control=None, + integration_account=None, + integration_service_environment=None): + + if 'definition' not in definition: + raise CLIError(str(definition) + + " does not contain a 'definition' key") + + return client.create_or_update(resource_group_name=resource_group_name, + workflow_name=name, + location=location, + tags=tags, + state=state, + endpoints_configuration=endpoints_configuration, + access_control=definition.get( + 'accessControl', access_control), + integration_account=integration_account, + integration_service_environment=integration_service_environment, + definition=definition['definition'], + parameters=definition.get('parameters', None)) + + +def logic_workflow_update(cmd, client, + resource_group_name, + name, + definition, + tags=None, + state=None): + + # check workflow exist before another update is done via a put + # per dicussion with the logic service team and to match powershells + # behavior + workflow = client.get(resource_group_name=resource_group_name, + workflow_name=name) + return logic_workflow_create(cmd, client, resource_group_name, name, + definition, workflow.location, + tags if tags else workflow.tags, + state if state else workflow.state, + workflow.endpoints_configuration, + workflow.integration_account, + workflow.integration_service_environment) + + +def logic_workflow_delete(cmd, client, + resource_group_name, + name): + return client.delete(resource_group_name=resource_group_name, + workflow_name=name) + + +def logic_integration_account_list(cmd, client, + resource_group_name=None, + top=None): + if resource_group_name: + return client.list_by_resource_group(resource_group_name=resource_group_name, + top=top) + return client.list_by_subscription(top=top) + + +def logic_integration_account_show(cmd, client, + resource_group_name, + name): + return client.get(resource_group_name=resource_group_name, + integration_account_name=name) + + +def logic_integration_account_create(cmd, client, + resource_group_name, + name, + location=None, + tags=None, + sku=None, + integration_service_environment=None, + state=None): + if isinstance(integration_service_environment, str): + integration_service_environment = json.loads( + integration_service_environment) + return client.create_or_update(resource_group_name=resource_group_name, + integration_account_name=name, + location=location, + tags=tags, + sku={'name': sku}, + integration_service_environment=integration_service_environment, + state=state if state else 'Enabled') + # TODO: Work around for empty property serialization issue. + # Remove after LogicApp deploy the service fix. Contact: Rama Rayud" + + +def logic_integration_account_import(cmd, client, + resource_group_name, + name, + input_path, + location=None, + tags=None, + sku=None,): + + if 'properties' not in input_path: + raise CLIError(str(input_path) + + " does not contain a 'properties' key") + + integration_service_environment = input_path['properties'].get( + 'integrationServiceEnvironment', None) + return client.create_or_update(resource_group_name=resource_group_name, + integration_account_name=name, + location=input_path.get( + 'location', location), + tags=input_path.get('tags', tags), + sku=input_path.get('sku', {'name': sku}), + integration_service_environment=integration_service_environment, + state=input_path['properties'].get('state', 'Enabled')) + # TODO: Work around for empty property serialization issue. + # Remove after LogicApp deploy the service fix. Contact: Rama Rayud" + + +def logic_integration_account_update(cmd, client, + name, + resource_group_name, + tags=None, + sku=None, + integration_service_environment=None, + state=None): + + if isinstance(integration_service_environment, str): + integration_service_environment = json.loads( + integration_service_environment) + return client.update(resource_group_name=resource_group_name, + integration_account_name=name, + location=None, + tags=tags, + sku={'name': sku}, + integration_service_environment=integration_service_environment, + state=state) + + +def logic_integration_account_delete(cmd, client, + resource_group_name, + name): + return client.delete(resource_group_name=resource_group_name, + integration_account_name=name) diff --git a/src/logic/azext_logic/manual/__init__.py b/src/logic/azext_logic/manual/__init__.py new file mode 100644 index 00000000000..c9cfdc73e77 --- /dev/null +++ b/src/logic/azext_logic/manual/__init__.py @@ -0,0 +1,12 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +__path__ = __import__('pkgutil').extend_path(__path__, __name__) diff --git a/src/logic/azext_logic/tests/__init__.py b/src/logic/azext_logic/tests/__init__.py new file mode 100644 index 00000000000..c9cfdc73e77 --- /dev/null +++ b/src/logic/azext_logic/tests/__init__.py @@ -0,0 +1,12 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +__path__ = __import__('pkgutil').extend_path(__path__, __name__) diff --git a/src/logic/azext_logic/tests/latest/__init__.py b/src/logic/azext_logic/tests/latest/__init__.py new file mode 100644 index 00000000000..c9cfdc73e77 --- /dev/null +++ b/src/logic/azext_logic/tests/latest/__init__.py @@ -0,0 +1,12 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +__path__ = __import__('pkgutil').extend_path(__path__, __name__) diff --git a/src/logic/azext_logic/tests/latest/integration.json b/src/logic/azext_logic/tests/latest/integration.json new file mode 100644 index 00000000000..d8d7945ffb6 --- /dev/null +++ b/src/logic/azext_logic/tests/latest/integration.json @@ -0,0 +1,6 @@ +{"properties": {}, + "sku": { + "name": "Standard" + }, + "location": "centralus" +} \ No newline at end of file diff --git a/src/logic/azext_logic/tests/latest/recordings/test_logic.yaml b/src/logic/azext_logic/tests/latest/recordings/test_logic.yaml new file mode 100644 index 00000000000..62d86697521 --- /dev/null +++ b/src/logic/azext_logic/tests/latest/recordings/test_logic.yaml @@ -0,0 +1,665 @@ +interactions: +- request: + body: '{"location": "centralus", "sku": {"name": "Standard"}, "properties": {"state": + "Enabled"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - logic integration-account create + Connection: + - keep-alive + Content-Length: + - '90' + Content-Type: + - application/json + ParameterSetName: + - --location --sku --name --resource-group + User-Agent: + - AZURECLI/2.3.1 azsdk-python-logicmanagementclient/unknown Python/3.8.1 (Windows-10-10.0.19608-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_000002/providers/Microsoft.Logic/integrationAccounts/cli_test_000004?api-version=2019-05-01 + response: + body: + string: '{"properties":{"state":"Enabled"},"sku":{"name":"Standard"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_000002/providers/Microsoft.Logic/integrationAccounts/cli_test_000004","name":"cli_test_000004","type":"Microsoft.Logic/integrationAccounts","location":"centralus"}' + headers: + cache-control: + - no-cache + content-length: + - '383' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 23 Apr 2020 18:30:04 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 201 + message: Created +- request: + body: '{"location": "centralus", "sku": {"name": "Standard"}, "properties": {"state": + "Enabled"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - logic integration-account import + Connection: + - keep-alive + Content-Length: + - '90' + Content-Type: + - application/json + ParameterSetName: + - --location --input-path --name --resource-group + User-Agent: + - AZURECLI/2.3.1 azsdk-python-logicmanagementclient/unknown Python/3.8.1 (Windows-10-10.0.19608-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_000002/providers/Microsoft.Logic/integrationAccounts/cli_test_000004?api-version=2019-05-01 + response: + body: + string: '{"properties":{"state":"Enabled"},"sku":{"name":"Standard"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_000002/providers/Microsoft.Logic/integrationAccounts/cli_test_000004","name":"cli_test_000004","type":"Microsoft.Logic/integrationAccounts","location":"centralus"}' + headers: + cache-control: + - no-cache + content-length: + - '383' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 23 Apr 2020 18:30:06 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: '{"location": "centralus", "properties": {"definition": {"$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#", + "actions": {}, "contentVersion": "1.0.0.0", "outputs": {}, "parameters": {"$connections": + {"defaultValue": {}, "type": "Object"}}, "triggers": {"When_a_feed_item_is_published": + {"inputs": {"host": {"connection": {"name": "@parameters(''$connections'')[''rss''][''connectionId'']"}}, + "method": "get", "path": "/OnNewFeed", "queries": {"feedUrl": "http://feeds.reuters.com/reuters/topNews"}}, + "recurrence": {"frequency": "Minute", "interval": 1}, "splitOn": "@triggerBody()?[''value'']", + "type": "ApiConnection"}}}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - logic workflow create + Connection: + - keep-alive + Content-Length: + - '682' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --location --definition --name + User-Agent: + - AZURECLI/2.3.1 azsdk-python-logicmanagementclient/unknown Python/3.8.1 (Windows-10-10.0.19608-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_000001/providers/Microsoft.Logic/workflows/cli_test_000005?api-version=2019-05-01 + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","createdTime":"2020-04-23T18:30:07.7920849Z","changedTime":"2020-04-23T18:30:07.7807943Z","state":"Enabled","version":"08586139402777168780","accessEndpoint":"https://prod-04.centralus.logic.azure.com:443/workflows/92721b672a5b4aa4b9dd8b4f27d313b7","definition":{"$schema":"https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#","contentVersion":"1.0.0.0","parameters":{"$connections":{"defaultValue":{},"type":"Object"}},"triggers":{"When_a_feed_item_is_published":{"recurrence":{"frequency":"Minute","interval":1},"splitOn":"@triggerBody()?[''value'']","type":"ApiConnection","inputs":{"host":{"connection":{"name":"@parameters(''$connections'')[''rss''][''connectionId'']"}},"method":"get","path":"/OnNewFeed","queries":{"feedUrl":"http://feeds.reuters.com/reuters/topNews"}}}},"actions":{},"outputs":{}},"parameters":{},"endpointsConfiguration":{"workflow":{"outgoingIpAddresses":[{"address":"13.67.236.125"},{"address":"104.208.25.27"},{"address":"40.122.170.198"},{"address":"40.113.218.230"},{"address":"23.100.86.139"},{"address":"23.100.87.24"},{"address":"23.100.87.56"},{"address":"23.100.82.16"}],"accessEndpointIpAddresses":[{"address":"13.67.236.76"},{"address":"40.77.111.254"},{"address":"40.77.31.87"},{"address":"104.43.243.39"}]},"connector":{"outgoingIpAddresses":[{"address":"13.89.171.80/28"},{"address":"40.122.49.51"},{"address":"52.173.245.164"},{"address":"52.173.241.27"}]}}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_000001/providers/Microsoft.Logic/workflows/cli_test_000005","name":"cli_test_000005","type":"Microsoft.Logic/workflows","location":"centralus"}' + headers: + cache-control: + - no-cache + content-length: + - '1797' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 23 Apr 2020 18:30:07 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - logic integration-account show + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group + User-Agent: + - AZURECLI/2.3.1 azsdk-python-logicmanagementclient/unknown Python/3.8.1 (Windows-10-10.0.19608-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_000002/providers/Microsoft.Logic/integrationAccounts/cli_test_000004?api-version=2019-05-01 + response: + body: + string: '{"properties":{"state":"Enabled"},"sku":{"name":"Standard"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_000002/providers/Microsoft.Logic/integrationAccounts/cli_test_000004","name":"cli_test_000004","type":"Microsoft.Logic/integrationAccounts","location":"centralus"}' + headers: + cache-control: + - no-cache + content-length: + - '383' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 23 Apr 2020 18:30:08 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - logic workflow show + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name + User-Agent: + - AZURECLI/2.3.1 azsdk-python-logicmanagementclient/unknown Python/3.8.1 (Windows-10-10.0.19608-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_000001/providers/Microsoft.Logic/workflows/cli_test_000005?api-version=2019-05-01 + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","createdTime":"2020-04-23T18:30:07.7920849Z","changedTime":"2020-04-23T18:30:07.7807943Z","state":"Enabled","version":"08586139402777168780","accessEndpoint":"https://prod-04.centralus.logic.azure.com:443/workflows/92721b672a5b4aa4b9dd8b4f27d313b7","definition":{"$schema":"https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#","contentVersion":"1.0.0.0","parameters":{"$connections":{"defaultValue":{},"type":"Object"}},"triggers":{"When_a_feed_item_is_published":{"recurrence":{"frequency":"Minute","interval":1},"splitOn":"@triggerBody()?[''value'']","type":"ApiConnection","inputs":{"host":{"connection":{"name":"@parameters(''$connections'')[''rss''][''connectionId'']"}},"method":"get","path":"/OnNewFeed","queries":{"feedUrl":"http://feeds.reuters.com/reuters/topNews"}}}},"actions":{},"outputs":{}},"parameters":{},"endpointsConfiguration":{"workflow":{"outgoingIpAddresses":[{"address":"13.67.236.125"},{"address":"104.208.25.27"},{"address":"40.122.170.198"},{"address":"40.113.218.230"},{"address":"23.100.86.139"},{"address":"23.100.87.24"},{"address":"23.100.87.56"},{"address":"23.100.82.16"}],"accessEndpointIpAddresses":[{"address":"13.67.236.76"},{"address":"40.77.111.254"},{"address":"40.77.31.87"},{"address":"104.43.243.39"}]},"connector":{"outgoingIpAddresses":[{"address":"13.89.171.80/28"},{"address":"40.122.49.51"},{"address":"52.173.245.164"},{"address":"52.173.241.27"}]}}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_000001/providers/Microsoft.Logic/workflows/cli_test_000005","name":"cli_test_000005","type":"Microsoft.Logic/workflows","location":"centralus"}' + headers: + cache-control: + - no-cache + content-length: + - '1797' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 23 Apr 2020 18:30:09 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '19999' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - logic integration-account list + Connection: + - keep-alive + ParameterSetName: + - --resource-group + User-Agent: + - AZURECLI/2.3.1 azsdk-python-logicmanagementclient/unknown Python/3.8.1 (Windows-10-10.0.19608-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_000002/providers/Microsoft.Logic/integrationAccounts?api-version=2019-05-01 + response: + body: + string: '{"value":[{"properties":{"state":"Enabled"},"sku":{"name":"Standard"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_000002/providers/Microsoft.Logic/integrationAccounts/cli_test_000004","name":"cli_test_000004","type":"Microsoft.Logic/integrationAccounts","location":"centralus"}]}' + headers: + cache-control: + - no-cache + content-length: + - '395' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 23 Apr 2020 18:30:09 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - logic workflow list + Connection: + - keep-alive + ParameterSetName: + - --resource-group + User-Agent: + - AZURECLI/2.3.1 azsdk-python-logicmanagementclient/unknown Python/3.8.1 (Windows-10-10.0.19608-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_000001/providers/Microsoft.Logic/workflows?api-version=2019-05-01 + response: + body: + string: '{"value":[{"properties":{"provisioningState":"Succeeded","createdTime":"2020-04-23T18:30:07.7920849Z","changedTime":"2020-04-23T18:30:07.7807943Z","state":"Enabled","version":"08586139402777168780","accessEndpoint":"https://prod-04.centralus.logic.azure.com:443/workflows/92721b672a5b4aa4b9dd8b4f27d313b7","definition":{"$schema":"https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#","contentVersion":"1.0.0.0","parameters":{"$connections":{"defaultValue":{},"type":"Object"}},"triggers":{"When_a_feed_item_is_published":{"recurrence":{"frequency":"Minute","interval":1},"splitOn":"@triggerBody()?[''value'']","type":"ApiConnection","inputs":{"host":{"connection":{"name":"@parameters(''$connections'')[''rss''][''connectionId'']"}},"method":"get","path":"/OnNewFeed","queries":{"feedUrl":"http://feeds.reuters.com/reuters/topNews"}}}},"actions":{},"outputs":{}},"parameters":{},"endpointsConfiguration":{"workflow":{"outgoingIpAddresses":[{"address":"13.67.236.125"},{"address":"104.208.25.27"},{"address":"40.122.170.198"},{"address":"40.113.218.230"},{"address":"23.100.86.139"},{"address":"23.100.87.24"},{"address":"23.100.87.56"},{"address":"23.100.82.16"}],"accessEndpointIpAddresses":[{"address":"13.67.236.76"},{"address":"40.77.111.254"},{"address":"40.77.31.87"},{"address":"104.43.243.39"}]},"connector":{"outgoingIpAddresses":[{"address":"13.89.171.80/28"},{"address":"40.122.49.51"},{"address":"52.173.245.164"},{"address":"52.173.241.27"}]}}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_000001/providers/Microsoft.Logic/workflows/cli_test_000005","name":"cli_test_000005","type":"Microsoft.Logic/workflows","location":"centralus"}]}' + headers: + cache-control: + - no-cache + content-length: + - '1809' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 23 Apr 2020 18:30:11 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '19999' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - logic integration-account list + Connection: + - keep-alive + User-Agent: + - AZURECLI/2.3.1 azsdk-python-logicmanagementclient/unknown Python/3.8.1 (Windows-10-10.0.19608-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Logic/integrationAccounts?api-version=2019-05-01 + response: + body: + string: '{"value":[{"properties":{"state":"Enabled"},"sku":{"name":"Standard"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_000002/providers/Microsoft.Logic/integrationAccounts/cli_test_000004","name":"cli_test_000004","type":"Microsoft.Logic/integrationAccounts","location":"centralus"},{"properties":{"state":"Enabled"},"sku":{"name":"Basic"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/stevens-rg/providers/Microsoft.Logic/integrationAccounts/test-inta","name":"test-inta","type":"Microsoft.Logic/integrationAccounts","location":"centralus"}]}' + headers: + cache-control: + - no-cache + content-length: + - '681' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 23 Apr 2020 18:30:11 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - logic workflow list + Connection: + - keep-alive + User-Agent: + - AZURECLI/2.3.1 azsdk-python-logicmanagementclient/unknown Python/3.8.1 (Windows-10-10.0.19608-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Logic/workflows?api-version=2019-05-01 + response: + body: + string: '{"value":[{"properties":{"provisioningState":"Succeeded","createdTime":"2020-04-23T18:30:07.7920849Z","changedTime":"2020-04-23T18:30:07.7807943Z","state":"Enabled","version":"08586139402777168780","accessEndpoint":"https://prod-04.centralus.logic.azure.com:443/workflows/92721b672a5b4aa4b9dd8b4f27d313b7","definition":{"$schema":"https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#","contentVersion":"1.0.0.0","parameters":{"$connections":{"defaultValue":{},"type":"Object"}},"triggers":{"When_a_feed_item_is_published":{"recurrence":{"frequency":"Minute","interval":1},"splitOn":"@triggerBody()?[''value'']","type":"ApiConnection","inputs":{"host":{"connection":{"name":"@parameters(''$connections'')[''rss''][''connectionId'']"}},"method":"get","path":"/OnNewFeed","queries":{"feedUrl":"http://feeds.reuters.com/reuters/topNews"}}}},"actions":{},"outputs":{}},"parameters":{},"endpointsConfiguration":{"workflow":{"outgoingIpAddresses":[{"address":"13.67.236.125"},{"address":"104.208.25.27"},{"address":"40.122.170.198"},{"address":"40.113.218.230"},{"address":"23.100.86.139"},{"address":"23.100.87.24"},{"address":"23.100.87.56"},{"address":"23.100.82.16"}],"accessEndpointIpAddresses":[{"address":"13.67.236.76"},{"address":"40.77.111.254"},{"address":"40.77.31.87"},{"address":"104.43.243.39"}]},"connector":{"outgoingIpAddresses":[{"address":"13.89.171.80/28"},{"address":"40.122.49.51"},{"address":"52.173.245.164"},{"address":"52.173.241.27"}]}}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_000001/providers/Microsoft.Logic/workflows/cli_test_000005","name":"cli_test_000005","type":"Microsoft.Logic/workflows","location":"centralus"},{"properties":{"provisioningState":"Succeeded","createdTime":"2020-03-04T21:04:27.8470467Z","changedTime":"2020-03-23T16:53:56.4201392Z","state":"Disabled","version":"08586166244495864249","accessEndpoint":"https://prod-08.centralus.logic.azure.com:443/workflows/02b0a0de204149d1a14c558ff3da9c1f","definition":{"$schema":"https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#","contentVersion":"1.0.0.0","parameters":{"$connections":{"defaultValue":{},"type":"Object"}},"triggers":{"Check_travel_time_every_weekday_morning":{"recurrence":{"frequency":"Week","interval":1,"schedule":{"hours":["7","8","9","6","5"],"minutes":[0,15,30,45],"weekDays":["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"]}},"type":"Recurrence"}},"actions":{"Condition":{"actions":{},"runAfter":{"Initialize_variable":["Succeeded"]},"expression":{"and":[{"greater":["@variables(''travelTime'')",15]}]},"type":"If"},"Get_route":{"runAfter":{},"type":"ApiConnection","inputs":{"host":{"connection":{"name":"@parameters(''$connections'')[''bingmaps''][''connectionId'']"}},"method":"get","path":"/REST/V1/Routes/Driving","queries":{"distanceUnit":"Mile","optimize":"timeWithTraffic","travelMode":"Driving","wp.0":"1717 + 22nd AveSeattle, WA 98122","wp.1":"15701 NE 39th St, Redmond, WA 98052"}}},"Initialize_variable":{"runAfter":{"Get_route":["Succeeded"]},"type":"InitializeVariable","inputs":{"variables":[{"name":"travelTime","type":"integer","value":"@div(body(''Get_route'')?[''travelDuration''],60)"}]}},"Send_an_email_(V2)":{"runAfter":{"Condition":["Succeeded"]},"type":"ApiConnection","inputs":{"body":{"Body":"

Extra + travel time: @{sub(variables(''travelTime''),15)}

","Subject":"Current + Travel Time: @{variables(''travelTime'')}","To":"stevens@microsoft.com"},"host":{"connection":{"name":"@parameters(''$connections'')[''office365''][''connectionId'']"}},"method":"post","path":"/v2/Mail"}}},"outputs":{}},"parameters":{"$connections":{"value":{"bingmaps":{"connectionId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/stevens-rg/providers/Microsoft.Web/connections/bingmaps","connectionName":"bingmaps","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Web/locations/centralus/managedApis/bingmaps"},"office365":{"connectionId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/stevens-rg/providers/Microsoft.Web/connections/office365","connectionName":"office365","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Web/locations/centralus/managedApis/office365"}}}},"endpointsConfiguration":{"workflow":{"outgoingIpAddresses":[{"address":"13.67.236.125"},{"address":"104.208.25.27"},{"address":"40.122.170.198"},{"address":"40.113.218.230"},{"address":"23.100.86.139"},{"address":"23.100.87.24"},{"address":"23.100.87.56"},{"address":"23.100.82.16"}],"accessEndpointIpAddresses":[{"address":"13.67.236.76"},{"address":"40.77.111.254"},{"address":"40.77.31.87"},{"address":"104.43.243.39"}]},"connector":{"outgoingIpAddresses":[{"address":"13.89.171.80/28"},{"address":"40.122.49.51"},{"address":"52.173.245.164"},{"address":"52.173.241.27"}]}}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/stevens-rg/providers/Microsoft.Logic/workflows/LA-TravelTime","name":"LA-TravelTime","type":"Microsoft.Logic/workflows","location":"centralus","tags":{},"identity":{"type":"UserAssigned","userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/stevens-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/stevens-id":{"principalId":"76fdb419-8277-4a60-8bcc-92cf9cd10585","clientId":"abd47fa5-87d5-4945-a2ec-406149182d16"}}}},{"properties":{"provisioningState":"Succeeded","createdTime":"2020-03-11T20:52:44.0617207Z","changedTime":"2020-03-30T22:38:57.3670024Z","state":"Disabled","version":"08586159989481414063","accessEndpoint":"https://prod-00.centralus.logic.azure.com:443/workflows/2755ab77e6124a3793b5f1bfdf1d97e3","definition":{"$schema":"https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#","contentVersion":"1.0.0.0","parameters":{"$connections":{"defaultValue":{},"type":"Object"}},"triggers":{"When_a_feed_item_is_published":{"recurrence":{"frequency":"Minute","interval":1},"splitOn":"@triggerBody()?[''value'']","type":"ApiConnection","inputs":{"host":{"connection":{"name":"@parameters(''$connections'')[''rss''][''connectionId'']"}},"method":"get","path":"/OnNewFeed","queries":{"feedUrl":"http://feeds.reuters.com/reuters/topNews"}}}},"actions":{},"outputs":{}},"parameters":{"$connections":{"value":{"rss":{"connectionId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/stevens-rg/providers/Microsoft.Web/connections/rss","connectionName":"rss","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Web/locations/centralus/managedApis/rss"}}}},"endpointsConfiguration":{"workflow":{"outgoingIpAddresses":[{"address":"13.67.236.125"},{"address":"104.208.25.27"},{"address":"40.122.170.198"},{"address":"40.113.218.230"},{"address":"23.100.86.139"},{"address":"23.100.87.24"},{"address":"23.100.87.56"},{"address":"23.100.82.16"}],"accessEndpointIpAddresses":[{"address":"13.67.236.76"},{"address":"40.77.111.254"},{"address":"40.77.31.87"},{"address":"104.43.243.39"}]},"connector":{"outgoingIpAddresses":[{"address":"13.89.171.80/28"},{"address":"40.122.49.51"},{"address":"52.173.245.164"},{"address":"52.173.241.27"}]}}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/stevens-rg/providers/Microsoft.Logic/workflows/simple-logic","name":"simple-logic","type":"Microsoft.Logic/workflows","location":"centralus","tags":{}}]}' + headers: + cache-control: + - no-cache + content-length: + - '7565' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 23 Apr 2020 18:30:12 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '19999' + status: + code: 200 + message: OK +- request: + body: '{"sku": {"name": "Basic"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - logic integration-account update + Connection: + - keep-alive + Content-Length: + - '26' + Content-Type: + - application/json + ParameterSetName: + - --sku --name --resource-group + User-Agent: + - AZURECLI/2.3.1 azsdk-python-logicmanagementclient/unknown Python/3.8.1 (Windows-10-10.0.19608-SP0) + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_000002/providers/Microsoft.Logic/integrationAccounts/cli_test_000004?api-version=2019-05-01 + response: + body: + string: '{"properties":{"state":"Enabled"},"sku":{"name":"Basic"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_000002/providers/Microsoft.Logic/integrationAccounts/cli_test_000004","name":"cli_test_000004","type":"Microsoft.Logic/integrationAccounts","location":"centralus"}' + headers: + cache-control: + - no-cache + content-length: + - '380' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 23 Apr 2020 18:30:15 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - logic workflow update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --tag --definition --name + User-Agent: + - AZURECLI/2.3.1 azsdk-python-logicmanagementclient/unknown Python/3.8.1 (Windows-10-10.0.19608-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_000001/providers/Microsoft.Logic/workflows/cli_test_000005?api-version=2019-05-01 + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","createdTime":"2020-04-23T18:30:07.7920849Z","changedTime":"2020-04-23T18:30:07.7807943Z","state":"Enabled","version":"08586139402777168780","accessEndpoint":"https://prod-04.centralus.logic.azure.com:443/workflows/92721b672a5b4aa4b9dd8b4f27d313b7","definition":{"$schema":"https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#","contentVersion":"1.0.0.0","parameters":{"$connections":{"defaultValue":{},"type":"Object"}},"triggers":{"When_a_feed_item_is_published":{"recurrence":{"frequency":"Minute","interval":1},"splitOn":"@triggerBody()?[''value'']","type":"ApiConnection","inputs":{"host":{"connection":{"name":"@parameters(''$connections'')[''rss''][''connectionId'']"}},"method":"get","path":"/OnNewFeed","queries":{"feedUrl":"http://feeds.reuters.com/reuters/topNews"}}}},"actions":{},"outputs":{}},"parameters":{},"endpointsConfiguration":{"workflow":{"outgoingIpAddresses":[{"address":"13.67.236.125"},{"address":"104.208.25.27"},{"address":"40.122.170.198"},{"address":"40.113.218.230"},{"address":"23.100.86.139"},{"address":"23.100.87.24"},{"address":"23.100.87.56"},{"address":"23.100.82.16"}],"accessEndpointIpAddresses":[{"address":"13.67.236.76"},{"address":"40.77.111.254"},{"address":"40.77.31.87"},{"address":"104.43.243.39"}]},"connector":{"outgoingIpAddresses":[{"address":"13.89.171.80/28"},{"address":"40.122.49.51"},{"address":"52.173.245.164"},{"address":"52.173.241.27"}]}}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_000001/providers/Microsoft.Logic/workflows/cli_test_000005","name":"cli_test_000005","type":"Microsoft.Logic/workflows","location":"centralus"}' + headers: + cache-control: + - no-cache + content-length: + - '1797' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 23 Apr 2020 18:30:15 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '19999' + status: + code: 200 + message: OK +- request: + body: '{"location": "centralus", "tags": {"atag": "123"}, "properties": {"state": + "Enabled", "endpointsConfiguration": {"workflow": {"outgoingIpAddresses": [{"address": + "13.67.236.125"}, {"address": "104.208.25.27"}, {"address": "40.122.170.198"}, + {"address": "40.113.218.230"}, {"address": "23.100.86.139"}, {"address": "23.100.87.24"}, + {"address": "23.100.87.56"}, {"address": "23.100.82.16"}], "accessEndpointIpAddresses": + [{"address": "13.67.236.76"}, {"address": "40.77.111.254"}, {"address": "40.77.31.87"}, + {"address": "104.43.243.39"}]}, "connector": {"outgoingIpAddresses": [{"address": + "13.89.171.80/28"}, {"address": "40.122.49.51"}, {"address": "52.173.245.164"}, + {"address": "52.173.241.27"}]}}, "definition": {"$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#", + "actions": {}, "contentVersion": "1.0.0.0", "outputs": {}, "parameters": {"$connections": + {"defaultValue": {}, "type": "Object"}}, "triggers": {"When_a_feed_item_is_published": + {"inputs": {"host": {"connection": {"name": "@parameters(''$connections'')[''rss''][''connectionId'']"}}, + "method": "get", "path": "/OnNewFeed", "queries": {"feedUrl": "http://feeds.reuters.com/reuters/topNews"}}, + "recurrence": {"frequency": "Minute", "interval": 2}, "splitOn": "@triggerBody()?[''value'']", + "type": "ApiConnection"}}}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - logic workflow update + Connection: + - keep-alive + Content-Length: + - '1343' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --tag --definition --name + User-Agent: + - AZURECLI/2.3.1 azsdk-python-logicmanagementclient/unknown Python/3.8.1 (Windows-10-10.0.19608-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_000001/providers/Microsoft.Logic/workflows/cli_test_000005?api-version=2019-05-01 + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","createdTime":"2020-04-23T18:30:16.6182939Z","changedTime":"2020-04-23T18:30:16.6104864Z","state":"Enabled","version":"08586139402688746929","accessEndpoint":"https://prod-04.centralus.logic.azure.com:443/workflows/92721b672a5b4aa4b9dd8b4f27d313b7","definition":{"$schema":"https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#","contentVersion":"1.0.0.0","parameters":{"$connections":{"defaultValue":{},"type":"Object"}},"triggers":{"When_a_feed_item_is_published":{"recurrence":{"frequency":"Minute","interval":2},"splitOn":"@triggerBody()?[''value'']","type":"ApiConnection","inputs":{"host":{"connection":{"name":"@parameters(''$connections'')[''rss''][''connectionId'']"}},"method":"get","path":"/OnNewFeed","queries":{"feedUrl":"http://feeds.reuters.com/reuters/topNews"}}}},"actions":{},"outputs":{}},"parameters":{},"endpointsConfiguration":{"workflow":{"outgoingIpAddresses":[{"address":"13.67.236.125"},{"address":"104.208.25.27"},{"address":"40.122.170.198"},{"address":"40.113.218.230"},{"address":"23.100.86.139"},{"address":"23.100.87.24"},{"address":"23.100.87.56"},{"address":"23.100.82.16"}],"accessEndpointIpAddresses":[{"address":"13.67.236.76"},{"address":"40.77.111.254"},{"address":"40.77.31.87"},{"address":"104.43.243.39"}]},"connector":{"outgoingIpAddresses":[{"address":"13.89.171.80/28"},{"address":"40.122.49.51"},{"address":"52.173.245.164"},{"address":"52.173.241.27"}]}}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_000001/providers/Microsoft.Logic/workflows/cli_test_000005","name":"cli_test_000005","type":"Microsoft.Logic/workflows","location":"centralus","tags":{"atag":"123"}}' + headers: + cache-control: + - no-cache + content-length: + - '1819' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 23 Apr 2020 18:30:16 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - logic workflow delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --resource-group --name -y + User-Agent: + - AZURECLI/2.3.1 azsdk-python-logicmanagementclient/unknown Python/3.8.1 (Windows-10-10.0.19608-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_000001/providers/Microsoft.Logic/workflows/cli_test_000005?api-version=2019-05-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Thu, 23 Apr 2020 18:30:18 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - logic integration-account delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --name --resource-group -y + User-Agent: + - AZURECLI/2.3.1 azsdk-python-logicmanagementclient/unknown Python/3.8.1 (Windows-10-10.0.19608-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_000002/providers/Microsoft.Logic/integrationAccounts/cli_test_000004?api-version=2019-05-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Thu, 23 Apr 2020 18:30:19 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + status: + code: 200 + message: OK +version: 1 diff --git a/src/logic/azext_logic/tests/latest/test_logic_scenario.py b/src/logic/azext_logic/tests/latest/test_logic_scenario.py new file mode 100644 index 00000000000..1bfdda33e6b --- /dev/null +++ b/src/logic/azext_logic/tests/latest/test_logic_scenario.py @@ -0,0 +1,109 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +import os +import unittest + +from azure.cli.testsdk import JMESPathCheck +from azure_devtools.scenario_tests import AllowLargeResponse +from azure.cli.testsdk import ScenarioTest +from azure.cli.testsdk import ResourceGroupPreparer + + +TEST_DIR = os.path.abspath(os.path.join(os.path.abspath(__file__), '..')) + + +class LogicManagementClientScenarioTest(ScenarioTest): + + def current_subscription(self): + subs = self.cmd('az account show').get_output_in_json() + return subs['id'] + + @ResourceGroupPreparer(name_prefix='cli_test_logic_test-resource-group'[:9], key='rg') + @ResourceGroupPreparer(name_prefix='cli_test_logic_testResourceGroup'[:9], key='rg_2') + def test_logic(self, resource_group): + + self.kwargs.update({ + 'subscription_id': self.current_subscription() + }) + + self.kwargs.update({ + 'testIntegrationAccount': self.create_random_name(prefix='cli_test_integration_accounts'[:9], length=24), + 'IntegrationAccounts_2': self.create_random_name(prefix='cli_test_integration_accounts'[:9], length=24), + 'testWorkflow': self.create_random_name(prefix='cli_test_workflows'[:9], length=24), + 'Workflows_2': self.create_random_name(prefix='cli_test_workflows'[:9], length=24), + 'Workflows_3': self.create_random_name(prefix='cli_test_workflows'[:9], length=24), + }) + + self.cmd('az logic integration-account create ' + '--location "centralus" ' + '--sku Standard ' + '--name "{IntegrationAccounts_2}" ' + '--resource-group "{rg_2}" ', + checks=[JMESPathCheck('name', self.kwargs.get('IntegrationAccounts_2', ''))]) + + self.cmd('az logic integration-account import ' + '--location "centralus" ' + '--input-path "src/logic/azext_logic/tests/latest/integration.json" ' + '--name "{IntegrationAccounts_2}" ' + '--resource-group "{rg_2}" ', + checks=[JMESPathCheck('name', self.kwargs.get('IntegrationAccounts_2', ''))]) + + self.cmd('az logic workflow create ' + '--resource-group "{rg}" ' + '--location "centralus" ' + '--definition "src/logic/azext_logic/tests/latest/workflow.json" ' + '--name "{testWorkflow}"', + checks=[JMESPathCheck('name', self.kwargs.get('testWorkflow', ''))]) + + self.cmd('az logic integration-account show ' + '--name "{IntegrationAccounts_2}" ' + '--resource-group "{rg_2}"', + checks=[JMESPathCheck('name', self.kwargs.get('IntegrationAccounts_2', ''))]) + + self.cmd('az logic workflow show ' + '--resource-group "{rg}" ' + '--name "{testWorkflow}"', + checks=[JMESPathCheck('name', self.kwargs.get('testWorkflow', ''))]) + + self.cmd('az logic integration-account list ' + '--resource-group "{rg_2}"', + checks=[JMESPathCheck('[0].name', self.kwargs.get('IntegrationAccounts_2', ''))]) + + self.cmd('az logic workflow list ' + '--resource-group "{rg}"', + checks=[JMESPathCheck('[0].name', self.kwargs.get('testWorkflow', ''))]) + + self.cmd('az logic integration-account list', + checks=[JMESPathCheck('[0].name', self.kwargs.get('IntegrationAccounts_2', ''))]) + + self.cmd('az logic workflow list', + checks=[JMESPathCheck('[0].name', self.kwargs.get('testWorkflow', ''))]) + + self.cmd('az logic integration-account update ' + '--sku Basic ' + '--name "{IntegrationAccounts_2}" ' + '--resource-group "{rg_2}"', + checks=[JMESPathCheck('sku.name', 'Basic')]) + + self.cmd('az logic workflow update ' + '--resource-group "{rg}" ' + '--tag atag=123 ' + '--definition "src/logic/azext_logic/tests/latest/workflowupdate.json" ' + '--name "{testWorkflow}"', + checks=[JMESPathCheck('tags.atag', 123), + JMESPathCheck('definition.triggers.When_a_feed_item_is_published.recurrence.interval', 2)]) + + self.cmd('az logic workflow delete ' + '--resource-group "{rg}" ' + '--name "{testWorkflow}" ' + '-y', + checks=[]) + + self.cmd('az logic integration-account delete ' + '--name "{IntegrationAccounts_2}" ' + '--resource-group "{rg_2}" ' + '-y', + checks=[]) diff --git a/src/logic/azext_logic/tests/latest/workflow.json b/src/logic/azext_logic/tests/latest/workflow.json new file mode 100644 index 00000000000..b4b4b4b8534 --- /dev/null +++ b/src/logic/azext_logic/tests/latest/workflow.json @@ -0,0 +1,35 @@ +{ "definition": { + "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#", + "actions": {}, + "contentVersion": "1.0.0.0", + "outputs": {}, + "parameters": { + "$connections": { + "defaultValue": {}, + "type": "Object" + } + }, + "triggers": { + "When_a_feed_item_is_published": { + "inputs": { + "host": { + "connection": { + "name": "@parameters('$connections')['rss']['connectionId']" + } + }, + "method": "get", + "path": "/OnNewFeed", + "queries": { + "feedUrl": "http://feeds.reuters.com/reuters/topNews" + } + }, + "recurrence": { + "frequency": "Minute", + "interval": 1 + }, + "splitOn": "@triggerBody()?['value']", + "type": "ApiConnection" + } + } + } + } \ No newline at end of file diff --git a/src/logic/azext_logic/tests/latest/workflowupdate.json b/src/logic/azext_logic/tests/latest/workflowupdate.json new file mode 100644 index 00000000000..4d1b9830e84 --- /dev/null +++ b/src/logic/azext_logic/tests/latest/workflowupdate.json @@ -0,0 +1,35 @@ +{ "definition": { + "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#", + "actions": {}, + "contentVersion": "1.0.0.0", + "outputs": {}, + "parameters": { + "$connections": { + "defaultValue": {}, + "type": "Object" + } + }, + "triggers": { + "When_a_feed_item_is_published": { + "inputs": { + "host": { + "connection": { + "name": "@parameters('$connections')['rss']['connectionId']" + } + }, + "method": "get", + "path": "/OnNewFeed", + "queries": { + "feedUrl": "http://feeds.reuters.com/reuters/topNews" + } + }, + "recurrence": { + "frequency": "Minute", + "interval": 2 + }, + "splitOn": "@triggerBody()?['value']", + "type": "ApiConnection" + } + } + } + } \ No newline at end of file diff --git a/src/logic/azext_logic/vendored_sdks/__init__.py b/src/logic/azext_logic/vendored_sdks/__init__.py new file mode 100644 index 00000000000..be1a152630c --- /dev/null +++ b/src/logic/azext_logic/vendored_sdks/__init__.py @@ -0,0 +1,12 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +__path__ = __import__('pkgutil').extend_path(__path__, __name__) \ No newline at end of file diff --git a/src/logic/azext_logic/vendored_sdks/logic/__init__.py b/src/logic/azext_logic/vendored_sdks/logic/__init__.py new file mode 100644 index 00000000000..6763259b4b0 --- /dev/null +++ b/src/logic/azext_logic/vendored_sdks/logic/__init__.py @@ -0,0 +1,10 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._logic_management_client import LogicManagementClient +__all__ = ['LogicManagementClient'] diff --git a/src/logic/azext_logic/vendored_sdks/logic/_configuration.py b/src/logic/azext_logic/vendored_sdks/logic/_configuration.py new file mode 100644 index 00000000000..7c60bd09ba3 --- /dev/null +++ b/src/logic/azext_logic/vendored_sdks/logic/_configuration.py @@ -0,0 +1,61 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import Any + +from azure.core.configuration import Configuration +from azure.core.pipeline import policies + +VERSION = "unknown" + +class LogicManagementClientConfiguration(Configuration): + """Configuration for LogicManagementClient. + + Note that all parameters used to create this instance are saved as instance + attributes. + + :param credential: Credential needed for the client to connect to Azure. + :type credential: azure.core.credentials.TokenCredential + :param subscription_id: The subscription id. + :type subscription_id: str + """ + + def __init__( + self, + credential, # type: "TokenCredential" + subscription_id, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + if credential is None: + raise ValueError("Parameter 'credential' must not be None.") + if subscription_id is None: + raise ValueError("Parameter 'subscription_id' must not be None.") + super(LogicManagementClientConfiguration, self).__init__(**kwargs) + + self.credential = credential + self.subscription_id = subscription_id + self.api_version = "2019-05-01" + kwargs.setdefault('sdk_moniker', 'logicmanagementclient/{}'.format(VERSION)) + self._configure(**kwargs) + + def _configure( + self, + **kwargs # type: Any + ): + # type: (...) -> None + self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get('retry_policy') or policies.RetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get('redirect_policy') or policies.RedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get('authentication_policy') + if self.credential and not self.authentication_policy: + self.authentication_policy = policies.BearerTokenCredentialPolicy(self.credential, **kwargs) diff --git a/src/logic/azext_logic/vendored_sdks/logic/_logic_management_client.py b/src/logic/azext_logic/vendored_sdks/logic/_logic_management_client.py new file mode 100644 index 00000000000..0d8dfe51233 --- /dev/null +++ b/src/logic/azext_logic/vendored_sdks/logic/_logic_management_client.py @@ -0,0 +1,192 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import Any, Optional + +from azure.core import PipelineClient +from msrest import Deserializer, Serializer + +from ._configuration import LogicManagementClientConfiguration +from .operations import WorkflowOperations +from .operations import WorkflowVersionOperations +from .operations import WorkflowTriggerOperations +from .operations import WorkflowVersionTriggerOperations +from .operations import WorkflowTriggerHistoryOperations +from .operations import WorkflowRunOperations +from .operations import WorkflowRunActionOperations +from .operations import WorkflowRunActionRepetitionOperations +from .operations import WorkflowRunActionRepetitionRequestHistoryOperations +from .operations import WorkflowRunActionRequestHistoryOperations +from .operations import WorkflowRunActionScopeRepetitionOperations +from .operations import WorkflowRunOperationOperations +from .operations import IntegrationAccountOperations +from .operations import IntegrationAccountAssemblyOperations +from .operations import IntegrationAccountBatchConfigurationOperations +from .operations import IntegrationAccountSchemaOperations +from .operations import IntegrationAccountMapOperations +from .operations import IntegrationAccountPartnerOperations +from .operations import IntegrationAccountAgreementOperations +from .operations import IntegrationAccountCertificateOperations +from .operations import IntegrationAccountSessionOperations +from .operations import IntegrationServiceEnvironmentOperations +from .operations import IntegrationServiceEnvironmentSkuOperations +from .operations import IntegrationServiceEnvironmentNetworkHealthOperations +from .operations import IntegrationServiceEnvironmentManagedApiOperations +from .operations import IntegrationServiceEnvironmentManagedApiOperationOperations +from .operations import OperationOperations +from . import models + + +class LogicManagementClient(object): + """REST API for Azure Logic Apps. + + :ivar workflow: WorkflowOperations operations + :vartype workflow: logic_management_client.operations.WorkflowOperations + :ivar workflow_version: WorkflowVersionOperations operations + :vartype workflow_version: logic_management_client.operations.WorkflowVersionOperations + :ivar workflow_trigger: WorkflowTriggerOperations operations + :vartype workflow_trigger: logic_management_client.operations.WorkflowTriggerOperations + :ivar workflow_version_trigger: WorkflowVersionTriggerOperations operations + :vartype workflow_version_trigger: logic_management_client.operations.WorkflowVersionTriggerOperations + :ivar workflow_trigger_history: WorkflowTriggerHistoryOperations operations + :vartype workflow_trigger_history: logic_management_client.operations.WorkflowTriggerHistoryOperations + :ivar workflow_run: WorkflowRunOperations operations + :vartype workflow_run: logic_management_client.operations.WorkflowRunOperations + :ivar workflow_run_action: WorkflowRunActionOperations operations + :vartype workflow_run_action: logic_management_client.operations.WorkflowRunActionOperations + :ivar workflow_run_action_repetition: WorkflowRunActionRepetitionOperations operations + :vartype workflow_run_action_repetition: logic_management_client.operations.WorkflowRunActionRepetitionOperations + :ivar workflow_run_action_repetition_request_history: WorkflowRunActionRepetitionRequestHistoryOperations operations + :vartype workflow_run_action_repetition_request_history: logic_management_client.operations.WorkflowRunActionRepetitionRequestHistoryOperations + :ivar workflow_run_action_request_history: WorkflowRunActionRequestHistoryOperations operations + :vartype workflow_run_action_request_history: logic_management_client.operations.WorkflowRunActionRequestHistoryOperations + :ivar workflow_run_action_scope_repetition: WorkflowRunActionScopeRepetitionOperations operations + :vartype workflow_run_action_scope_repetition: logic_management_client.operations.WorkflowRunActionScopeRepetitionOperations + :ivar workflow_run_operation: WorkflowRunOperationOperations operations + :vartype workflow_run_operation: logic_management_client.operations.WorkflowRunOperationOperations + :ivar integration_account: IntegrationAccountOperations operations + :vartype integration_account: logic_management_client.operations.IntegrationAccountOperations + :ivar integration_account_assembly: IntegrationAccountAssemblyOperations operations + :vartype integration_account_assembly: logic_management_client.operations.IntegrationAccountAssemblyOperations + :ivar integration_account_batch_configuration: IntegrationAccountBatchConfigurationOperations operations + :vartype integration_account_batch_configuration: logic_management_client.operations.IntegrationAccountBatchConfigurationOperations + :ivar integration_account_schema: IntegrationAccountSchemaOperations operations + :vartype integration_account_schema: logic_management_client.operations.IntegrationAccountSchemaOperations + :ivar integration_account_map: IntegrationAccountMapOperations operations + :vartype integration_account_map: logic_management_client.operations.IntegrationAccountMapOperations + :ivar integration_account_partner: IntegrationAccountPartnerOperations operations + :vartype integration_account_partner: logic_management_client.operations.IntegrationAccountPartnerOperations + :ivar integration_account_agreement: IntegrationAccountAgreementOperations operations + :vartype integration_account_agreement: logic_management_client.operations.IntegrationAccountAgreementOperations + :ivar integration_account_certificate: IntegrationAccountCertificateOperations operations + :vartype integration_account_certificate: logic_management_client.operations.IntegrationAccountCertificateOperations + :ivar integration_account_session: IntegrationAccountSessionOperations operations + :vartype integration_account_session: logic_management_client.operations.IntegrationAccountSessionOperations + :ivar integration_service_environment: IntegrationServiceEnvironmentOperations operations + :vartype integration_service_environment: logic_management_client.operations.IntegrationServiceEnvironmentOperations + :ivar integration_service_environment_sku: IntegrationServiceEnvironmentSkuOperations operations + :vartype integration_service_environment_sku: logic_management_client.operations.IntegrationServiceEnvironmentSkuOperations + :ivar integration_service_environment_network_health: IntegrationServiceEnvironmentNetworkHealthOperations operations + :vartype integration_service_environment_network_health: logic_management_client.operations.IntegrationServiceEnvironmentNetworkHealthOperations + :ivar integration_service_environment_managed_api: IntegrationServiceEnvironmentManagedApiOperations operations + :vartype integration_service_environment_managed_api: logic_management_client.operations.IntegrationServiceEnvironmentManagedApiOperations + :ivar integration_service_environment_managed_api_operation: IntegrationServiceEnvironmentManagedApiOperationOperations operations + :vartype integration_service_environment_managed_api_operation: logic_management_client.operations.IntegrationServiceEnvironmentManagedApiOperationOperations + :ivar operation: OperationOperations operations + :vartype operation: logic_management_client.operations.OperationOperations + :param credential: Credential needed for the client to connect to Azure. + :type credential: azure.core.credentials.TokenCredential + :param subscription_id: The subscription id. + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, + credential, # type: "TokenCredential" + subscription_id, # type: str + base_url=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> None + if not base_url: + base_url = 'https://management.azure.com' + self._config = LogicManagementClientConfiguration(credential, subscription_id, **kwargs) + self._client = PipelineClient(base_url=base_url, config=self._config, **kwargs) + + 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.workflow = WorkflowOperations( + self._client, self._config, self._serialize, self._deserialize) + self.workflow_version = WorkflowVersionOperations( + self._client, self._config, self._serialize, self._deserialize) + self.workflow_trigger = WorkflowTriggerOperations( + self._client, self._config, self._serialize, self._deserialize) + self.workflow_version_trigger = WorkflowVersionTriggerOperations( + self._client, self._config, self._serialize, self._deserialize) + self.workflow_trigger_history = WorkflowTriggerHistoryOperations( + self._client, self._config, self._serialize, self._deserialize) + self.workflow_run = WorkflowRunOperations( + self._client, self._config, self._serialize, self._deserialize) + self.workflow_run_action = WorkflowRunActionOperations( + self._client, self._config, self._serialize, self._deserialize) + self.workflow_run_action_repetition = WorkflowRunActionRepetitionOperations( + self._client, self._config, self._serialize, self._deserialize) + self.workflow_run_action_repetition_request_history = WorkflowRunActionRepetitionRequestHistoryOperations( + self._client, self._config, self._serialize, self._deserialize) + self.workflow_run_action_request_history = WorkflowRunActionRequestHistoryOperations( + self._client, self._config, self._serialize, self._deserialize) + self.workflow_run_action_scope_repetition = WorkflowRunActionScopeRepetitionOperations( + self._client, self._config, self._serialize, self._deserialize) + self.workflow_run_operation = WorkflowRunOperationOperations( + self._client, self._config, self._serialize, self._deserialize) + self.integration_account = IntegrationAccountOperations( + self._client, self._config, self._serialize, self._deserialize) + self.integration_account_assembly = IntegrationAccountAssemblyOperations( + self._client, self._config, self._serialize, self._deserialize) + self.integration_account_batch_configuration = IntegrationAccountBatchConfigurationOperations( + self._client, self._config, self._serialize, self._deserialize) + self.integration_account_schema = IntegrationAccountSchemaOperations( + self._client, self._config, self._serialize, self._deserialize) + self.integration_account_map = IntegrationAccountMapOperations( + self._client, self._config, self._serialize, self._deserialize) + self.integration_account_partner = IntegrationAccountPartnerOperations( + self._client, self._config, self._serialize, self._deserialize) + self.integration_account_agreement = IntegrationAccountAgreementOperations( + self._client, self._config, self._serialize, self._deserialize) + self.integration_account_certificate = IntegrationAccountCertificateOperations( + self._client, self._config, self._serialize, self._deserialize) + self.integration_account_session = IntegrationAccountSessionOperations( + self._client, self._config, self._serialize, self._deserialize) + self.integration_service_environment = IntegrationServiceEnvironmentOperations( + self._client, self._config, self._serialize, self._deserialize) + self.integration_service_environment_sku = IntegrationServiceEnvironmentSkuOperations( + self._client, self._config, self._serialize, self._deserialize) + self.integration_service_environment_network_health = IntegrationServiceEnvironmentNetworkHealthOperations( + self._client, self._config, self._serialize, self._deserialize) + self.integration_service_environment_managed_api = IntegrationServiceEnvironmentManagedApiOperations( + self._client, self._config, self._serialize, self._deserialize) + self.integration_service_environment_managed_api_operation = IntegrationServiceEnvironmentManagedApiOperationOperations( + self._client, self._config, self._serialize, self._deserialize) + self.operation = OperationOperations( + self._client, self._config, self._serialize, self._deserialize) + + def close(self): + # type: () -> None + self._client.close() + + def __enter__(self): + # type: () -> LogicManagementClient + self._client.__enter__() + return self + + def __exit__(self, *exc_details): + # type: (Any) -> None + self._client.__exit__(*exc_details) diff --git a/src/logic/azext_logic/vendored_sdks/logic/aio/__init__.py b/src/logic/azext_logic/vendored_sdks/logic/aio/__init__.py new file mode 100644 index 00000000000..d1722987ad7 --- /dev/null +++ b/src/logic/azext_logic/vendored_sdks/logic/aio/__init__.py @@ -0,0 +1,10 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._logic_management_client_async import LogicManagementClient +__all__ = ['LogicManagementClient'] diff --git a/src/logic/azext_logic/vendored_sdks/logic/aio/_configuration_async.py b/src/logic/azext_logic/vendored_sdks/logic/aio/_configuration_async.py new file mode 100644 index 00000000000..1f3e4885bbf --- /dev/null +++ b/src/logic/azext_logic/vendored_sdks/logic/aio/_configuration_async.py @@ -0,0 +1,59 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import Any + +from azure.core.configuration import Configuration +from azure.core.pipeline import policies + +VERSION = "unknown" + +class LogicManagementClientConfiguration(Configuration): + """Configuration for LogicManagementClient. + + Note that all parameters used to create this instance are saved as instance + attributes. + + :param credential: Credential needed for the client to connect to Azure. + :type credential: azure.core.credentials.TokenCredential + :param subscription_id: The subscription id. + :type subscription_id: str + """ + + def __init__( + self, + credential: "TokenCredential", + subscription_id: str, + **kwargs: Any + ) -> None: + if credential is None: + raise ValueError("Parameter 'credential' must not be None.") + if subscription_id is None: + raise ValueError("Parameter 'subscription_id' must not be None.") + super(LogicManagementClientConfiguration, self).__init__(**kwargs) + + self.credential = credential + self.subscription_id = subscription_id + self.api_version = "2019-05-01" + kwargs.setdefault('sdk_moniker', 'logicmanagementclient/{}'.format(VERSION)) + self._configure(**kwargs) + + def _configure( + self, + **kwargs: Any + ) -> None: + self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get('retry_policy') or policies.AsyncRetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get('redirect_policy') or policies.AsyncRedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get('authentication_policy') + if self.credential and not self.authentication_policy: + self.authentication_policy = policies.AsyncBearerTokenCredentialPolicy(self.credential, **kwargs) diff --git a/src/logic/azext_logic/vendored_sdks/logic/aio/_logic_management_client_async.py b/src/logic/azext_logic/vendored_sdks/logic/aio/_logic_management_client_async.py new file mode 100644 index 00000000000..31b6bf138b3 --- /dev/null +++ b/src/logic/azext_logic/vendored_sdks/logic/aio/_logic_management_client_async.py @@ -0,0 +1,188 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import Any, Optional + +from azure.core import AsyncPipelineClient +from msrest import Deserializer, Serializer + +from ._configuration_async import LogicManagementClientConfiguration +from .operations_async import WorkflowOperations +from .operations_async import WorkflowVersionOperations +from .operations_async import WorkflowTriggerOperations +from .operations_async import WorkflowVersionTriggerOperations +from .operations_async import WorkflowTriggerHistoryOperations +from .operations_async import WorkflowRunOperations +from .operations_async import WorkflowRunActionOperations +from .operations_async import WorkflowRunActionRepetitionOperations +from .operations_async import WorkflowRunActionRepetitionRequestHistoryOperations +from .operations_async import WorkflowRunActionRequestHistoryOperations +from .operations_async import WorkflowRunActionScopeRepetitionOperations +from .operations_async import WorkflowRunOperationOperations +from .operations_async import IntegrationAccountOperations +from .operations_async import IntegrationAccountAssemblyOperations +from .operations_async import IntegrationAccountBatchConfigurationOperations +from .operations_async import IntegrationAccountSchemaOperations +from .operations_async import IntegrationAccountMapOperations +from .operations_async import IntegrationAccountPartnerOperations +from .operations_async import IntegrationAccountAgreementOperations +from .operations_async import IntegrationAccountCertificateOperations +from .operations_async import IntegrationAccountSessionOperations +from .operations_async import IntegrationServiceEnvironmentOperations +from .operations_async import IntegrationServiceEnvironmentSkuOperations +from .operations_async import IntegrationServiceEnvironmentNetworkHealthOperations +from .operations_async import IntegrationServiceEnvironmentManagedApiOperations +from .operations_async import IntegrationServiceEnvironmentManagedApiOperationOperations +from .operations_async import OperationOperations +from .. import models + + +class LogicManagementClient(object): + """REST API for Azure Logic Apps. + + :ivar workflow: WorkflowOperations operations + :vartype workflow: logic_management_client.aio.operations_async.WorkflowOperations + :ivar workflow_version: WorkflowVersionOperations operations + :vartype workflow_version: logic_management_client.aio.operations_async.WorkflowVersionOperations + :ivar workflow_trigger: WorkflowTriggerOperations operations + :vartype workflow_trigger: logic_management_client.aio.operations_async.WorkflowTriggerOperations + :ivar workflow_version_trigger: WorkflowVersionTriggerOperations operations + :vartype workflow_version_trigger: logic_management_client.aio.operations_async.WorkflowVersionTriggerOperations + :ivar workflow_trigger_history: WorkflowTriggerHistoryOperations operations + :vartype workflow_trigger_history: logic_management_client.aio.operations_async.WorkflowTriggerHistoryOperations + :ivar workflow_run: WorkflowRunOperations operations + :vartype workflow_run: logic_management_client.aio.operations_async.WorkflowRunOperations + :ivar workflow_run_action: WorkflowRunActionOperations operations + :vartype workflow_run_action: logic_management_client.aio.operations_async.WorkflowRunActionOperations + :ivar workflow_run_action_repetition: WorkflowRunActionRepetitionOperations operations + :vartype workflow_run_action_repetition: logic_management_client.aio.operations_async.WorkflowRunActionRepetitionOperations + :ivar workflow_run_action_repetition_request_history: WorkflowRunActionRepetitionRequestHistoryOperations operations + :vartype workflow_run_action_repetition_request_history: logic_management_client.aio.operations_async.WorkflowRunActionRepetitionRequestHistoryOperations + :ivar workflow_run_action_request_history: WorkflowRunActionRequestHistoryOperations operations + :vartype workflow_run_action_request_history: logic_management_client.aio.operations_async.WorkflowRunActionRequestHistoryOperations + :ivar workflow_run_action_scope_repetition: WorkflowRunActionScopeRepetitionOperations operations + :vartype workflow_run_action_scope_repetition: logic_management_client.aio.operations_async.WorkflowRunActionScopeRepetitionOperations + :ivar workflow_run_operation: WorkflowRunOperationOperations operations + :vartype workflow_run_operation: logic_management_client.aio.operations_async.WorkflowRunOperationOperations + :ivar integration_account: IntegrationAccountOperations operations + :vartype integration_account: logic_management_client.aio.operations_async.IntegrationAccountOperations + :ivar integration_account_assembly: IntegrationAccountAssemblyOperations operations + :vartype integration_account_assembly: logic_management_client.aio.operations_async.IntegrationAccountAssemblyOperations + :ivar integration_account_batch_configuration: IntegrationAccountBatchConfigurationOperations operations + :vartype integration_account_batch_configuration: logic_management_client.aio.operations_async.IntegrationAccountBatchConfigurationOperations + :ivar integration_account_schema: IntegrationAccountSchemaOperations operations + :vartype integration_account_schema: logic_management_client.aio.operations_async.IntegrationAccountSchemaOperations + :ivar integration_account_map: IntegrationAccountMapOperations operations + :vartype integration_account_map: logic_management_client.aio.operations_async.IntegrationAccountMapOperations + :ivar integration_account_partner: IntegrationAccountPartnerOperations operations + :vartype integration_account_partner: logic_management_client.aio.operations_async.IntegrationAccountPartnerOperations + :ivar integration_account_agreement: IntegrationAccountAgreementOperations operations + :vartype integration_account_agreement: logic_management_client.aio.operations_async.IntegrationAccountAgreementOperations + :ivar integration_account_certificate: IntegrationAccountCertificateOperations operations + :vartype integration_account_certificate: logic_management_client.aio.operations_async.IntegrationAccountCertificateOperations + :ivar integration_account_session: IntegrationAccountSessionOperations operations + :vartype integration_account_session: logic_management_client.aio.operations_async.IntegrationAccountSessionOperations + :ivar integration_service_environment: IntegrationServiceEnvironmentOperations operations + :vartype integration_service_environment: logic_management_client.aio.operations_async.IntegrationServiceEnvironmentOperations + :ivar integration_service_environment_sku: IntegrationServiceEnvironmentSkuOperations operations + :vartype integration_service_environment_sku: logic_management_client.aio.operations_async.IntegrationServiceEnvironmentSkuOperations + :ivar integration_service_environment_network_health: IntegrationServiceEnvironmentNetworkHealthOperations operations + :vartype integration_service_environment_network_health: logic_management_client.aio.operations_async.IntegrationServiceEnvironmentNetworkHealthOperations + :ivar integration_service_environment_managed_api: IntegrationServiceEnvironmentManagedApiOperations operations + :vartype integration_service_environment_managed_api: logic_management_client.aio.operations_async.IntegrationServiceEnvironmentManagedApiOperations + :ivar integration_service_environment_managed_api_operation: IntegrationServiceEnvironmentManagedApiOperationOperations operations + :vartype integration_service_environment_managed_api_operation: logic_management_client.aio.operations_async.IntegrationServiceEnvironmentManagedApiOperationOperations + :ivar operation: OperationOperations operations + :vartype operation: logic_management_client.aio.operations_async.OperationOperations + :param credential: Credential needed for the client to connect to Azure. + :type credential: azure.core.credentials.TokenCredential + :param subscription_id: The subscription id. + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, + credential: "TokenCredential", + subscription_id: str, + base_url: Optional[str] = None, + **kwargs: Any + ) -> None: + if not base_url: + base_url = 'https://management.azure.com' + self._config = LogicManagementClientConfiguration(credential, subscription_id, **kwargs) + self._client = AsyncPipelineClient(base_url=base_url, config=self._config, **kwargs) + + 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.workflow = WorkflowOperations( + self._client, self._config, self._serialize, self._deserialize) + self.workflow_version = WorkflowVersionOperations( + self._client, self._config, self._serialize, self._deserialize) + self.workflow_trigger = WorkflowTriggerOperations( + self._client, self._config, self._serialize, self._deserialize) + self.workflow_version_trigger = WorkflowVersionTriggerOperations( + self._client, self._config, self._serialize, self._deserialize) + self.workflow_trigger_history = WorkflowTriggerHistoryOperations( + self._client, self._config, self._serialize, self._deserialize) + self.workflow_run = WorkflowRunOperations( + self._client, self._config, self._serialize, self._deserialize) + self.workflow_run_action = WorkflowRunActionOperations( + self._client, self._config, self._serialize, self._deserialize) + self.workflow_run_action_repetition = WorkflowRunActionRepetitionOperations( + self._client, self._config, self._serialize, self._deserialize) + self.workflow_run_action_repetition_request_history = WorkflowRunActionRepetitionRequestHistoryOperations( + self._client, self._config, self._serialize, self._deserialize) + self.workflow_run_action_request_history = WorkflowRunActionRequestHistoryOperations( + self._client, self._config, self._serialize, self._deserialize) + self.workflow_run_action_scope_repetition = WorkflowRunActionScopeRepetitionOperations( + self._client, self._config, self._serialize, self._deserialize) + self.workflow_run_operation = WorkflowRunOperationOperations( + self._client, self._config, self._serialize, self._deserialize) + self.integration_account = IntegrationAccountOperations( + self._client, self._config, self._serialize, self._deserialize) + self.integration_account_assembly = IntegrationAccountAssemblyOperations( + self._client, self._config, self._serialize, self._deserialize) + self.integration_account_batch_configuration = IntegrationAccountBatchConfigurationOperations( + self._client, self._config, self._serialize, self._deserialize) + self.integration_account_schema = IntegrationAccountSchemaOperations( + self._client, self._config, self._serialize, self._deserialize) + self.integration_account_map = IntegrationAccountMapOperations( + self._client, self._config, self._serialize, self._deserialize) + self.integration_account_partner = IntegrationAccountPartnerOperations( + self._client, self._config, self._serialize, self._deserialize) + self.integration_account_agreement = IntegrationAccountAgreementOperations( + self._client, self._config, self._serialize, self._deserialize) + self.integration_account_certificate = IntegrationAccountCertificateOperations( + self._client, self._config, self._serialize, self._deserialize) + self.integration_account_session = IntegrationAccountSessionOperations( + self._client, self._config, self._serialize, self._deserialize) + self.integration_service_environment = IntegrationServiceEnvironmentOperations( + self._client, self._config, self._serialize, self._deserialize) + self.integration_service_environment_sku = IntegrationServiceEnvironmentSkuOperations( + self._client, self._config, self._serialize, self._deserialize) + self.integration_service_environment_network_health = IntegrationServiceEnvironmentNetworkHealthOperations( + self._client, self._config, self._serialize, self._deserialize) + self.integration_service_environment_managed_api = IntegrationServiceEnvironmentManagedApiOperations( + self._client, self._config, self._serialize, self._deserialize) + self.integration_service_environment_managed_api_operation = IntegrationServiceEnvironmentManagedApiOperationOperations( + self._client, self._config, self._serialize, self._deserialize) + self.operation = OperationOperations( + self._client, self._config, self._serialize, self._deserialize) + + async def close(self) -> None: + await self._client.close() + + async def __aenter__(self) -> "LogicManagementClient": + await self._client.__aenter__() + return self + + async def __aexit__(self, *exc_details) -> None: + await self._client.__aexit__(*exc_details) diff --git a/src/logic/azext_logic/vendored_sdks/logic/aio/operations_async/__init__.py b/src/logic/azext_logic/vendored_sdks/logic/aio/operations_async/__init__.py new file mode 100644 index 00000000000..46e654ae232 --- /dev/null +++ b/src/logic/azext_logic/vendored_sdks/logic/aio/operations_async/__init__.py @@ -0,0 +1,65 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._workflow_operations_async import WorkflowOperations +from ._workflow_version_operations_async import WorkflowVersionOperations +from ._workflow_trigger_operations_async import WorkflowTriggerOperations +from ._workflow_version_trigger_operations_async import WorkflowVersionTriggerOperations +from ._workflow_trigger_history_operations_async import WorkflowTriggerHistoryOperations +from ._workflow_run_operations_async import WorkflowRunOperations +from ._workflow_run_action_operations_async import WorkflowRunActionOperations +from ._workflow_run_action_repetition_operations_async import WorkflowRunActionRepetitionOperations +from ._workflow_run_action_repetition_request_history_operations_async import WorkflowRunActionRepetitionRequestHistoryOperations +from ._workflow_run_action_request_history_operations_async import WorkflowRunActionRequestHistoryOperations +from ._workflow_run_action_scope_repetition_operations_async import WorkflowRunActionScopeRepetitionOperations +from ._workflow_run_operation_operations_async import WorkflowRunOperationOperations +from ._integration_account_operations_async import IntegrationAccountOperations +from ._integration_account_assembly_operations_async import IntegrationAccountAssemblyOperations +from ._integration_account_batch_configuration_operations_async import IntegrationAccountBatchConfigurationOperations +from ._integration_account_schema_operations_async import IntegrationAccountSchemaOperations +from ._integration_account_map_operations_async import IntegrationAccountMapOperations +from ._integration_account_partner_operations_async import IntegrationAccountPartnerOperations +from ._integration_account_agreement_operations_async import IntegrationAccountAgreementOperations +from ._integration_account_certificate_operations_async import IntegrationAccountCertificateOperations +from ._integration_account_session_operations_async import IntegrationAccountSessionOperations +from ._integration_service_environment_operations_async import IntegrationServiceEnvironmentOperations +from ._integration_service_environment_sku_operations_async import IntegrationServiceEnvironmentSkuOperations +from ._integration_service_environment_network_health_operations_async import IntegrationServiceEnvironmentNetworkHealthOperations +from ._integration_service_environment_managed_api_operations_async import IntegrationServiceEnvironmentManagedApiOperations +from ._integration_service_environment_managed_api_operation_operations_async import IntegrationServiceEnvironmentManagedApiOperationOperations +from ._operation_operations_async import OperationOperations + +__all__ = [ + 'WorkflowOperations', + 'WorkflowVersionOperations', + 'WorkflowTriggerOperations', + 'WorkflowVersionTriggerOperations', + 'WorkflowTriggerHistoryOperations', + 'WorkflowRunOperations', + 'WorkflowRunActionOperations', + 'WorkflowRunActionRepetitionOperations', + 'WorkflowRunActionRepetitionRequestHistoryOperations', + 'WorkflowRunActionRequestHistoryOperations', + 'WorkflowRunActionScopeRepetitionOperations', + 'WorkflowRunOperationOperations', + 'IntegrationAccountOperations', + 'IntegrationAccountAssemblyOperations', + 'IntegrationAccountBatchConfigurationOperations', + 'IntegrationAccountSchemaOperations', + 'IntegrationAccountMapOperations', + 'IntegrationAccountPartnerOperations', + 'IntegrationAccountAgreementOperations', + 'IntegrationAccountCertificateOperations', + 'IntegrationAccountSessionOperations', + 'IntegrationServiceEnvironmentOperations', + 'IntegrationServiceEnvironmentSkuOperations', + 'IntegrationServiceEnvironmentNetworkHealthOperations', + 'IntegrationServiceEnvironmentManagedApiOperations', + 'IntegrationServiceEnvironmentManagedApiOperationOperations', + 'OperationOperations', +] diff --git a/src/logic/azext_logic/vendored_sdks/logic/aio/operations_async/_integration_account_agreement_operations_async.py b/src/logic/azext_logic/vendored_sdks/logic/aio/operations_async/_integration_account_agreement_operations_async.py new file mode 100644 index 00000000000..36e5a6d3e64 --- /dev/null +++ b/src/logic/azext_logic/vendored_sdks/logic/aio/operations_async/_integration_account_agreement_operations_async.py @@ -0,0 +1,416 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import datetime +from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class IntegrationAccountAgreementOperations: + """IntegrationAccountAgreementOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~logic_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + resource_group_name: str, + integration_account_name: str, + top: Optional[int] = None, + filter: Optional[str] = None, + **kwargs + ) -> "models.IntegrationAccountAgreementListResult": + """Gets a list of integration account agreements. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param integration_account_name: The integration account name. + :type integration_account_name: str + :param top: The number of items to be included in the result. + :type top: int + :param filter: The filter to apply on the operation. Options for filters include: + AgreementType. + :type filter: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationAccountAgreementListResult or the result of cls(response) + :rtype: ~logic_management_client.models.IntegrationAccountAgreementListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationAccountAgreementListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'integrationAccountName': self._serialize.url("integration_account_name", integration_account_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if top is not None: + query_parameters['$top'] = self._serialize.query("top", top, 'int') + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('IntegrationAccountAgreementListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/agreements'} + + async def get( + self, + resource_group_name: str, + integration_account_name: str, + agreement_name: str, + **kwargs + ) -> "models.IntegrationAccountAgreement": + """Gets an integration account agreement. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param integration_account_name: The integration account name. + :type integration_account_name: str + :param agreement_name: The integration account agreement name. + :type agreement_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationAccountAgreement or the result of cls(response) + :rtype: ~logic_management_client.models.IntegrationAccountAgreement + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationAccountAgreement"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'integrationAccountName': self._serialize.url("integration_account_name", integration_account_name, 'str'), + 'agreementName': self._serialize.url("agreement_name", agreement_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('IntegrationAccountAgreement', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/agreements/{agreementName}'} + + async def create_or_update( + self, + resource_group_name: str, + integration_account_name: str, + agreement_name: str, + agreement_type: Union[str, "models.AgreementType"], + host_partner: str, + guest_partner: str, + host_identity: "models.BusinessIdentity", + guest_identity: "models.BusinessIdentity", + content: "models.AgreementContent", + location: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + metadata: Optional[object] = None, + **kwargs + ) -> "models.IntegrationAccountAgreement": + """Creates or updates an integration account agreement. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param integration_account_name: The integration account name. + :type integration_account_name: str + :param agreement_name: The integration account agreement name. + :type agreement_name: str + :param agreement_type: The agreement type. + :type agreement_type: str or ~logic_management_client.models.AgreementType + :param host_partner: The integration account partner that is set as host partner for this + agreement. + :type host_partner: str + :param guest_partner: The integration account partner that is set as guest partner for this + agreement. + :type guest_partner: str + :param host_identity: The business identity of the host partner. + :type host_identity: ~logic_management_client.models.BusinessIdentity + :param guest_identity: The business identity of the guest partner. + :type guest_identity: ~logic_management_client.models.BusinessIdentity + :param content: The agreement content. + :type content: ~logic_management_client.models.AgreementContent + :param location: The resource location. + :type location: str + :param tags: The resource tags. + :type tags: dict[str, str] + :param metadata: The metadata. + :type metadata: object + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationAccountAgreement or the result of cls(response) + :rtype: ~logic_management_client.models.IntegrationAccountAgreement or ~logic_management_client.models.IntegrationAccountAgreement + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationAccountAgreement"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _agreement = models.IntegrationAccountAgreement(location=location, tags=tags, metadata=metadata, agreement_type=agreement_type, host_partner=host_partner, guest_partner=guest_partner, host_identity=host_identity, guest_identity=guest_identity, content=content) + api_version = "2019-05-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'integrationAccountName': self._serialize.url("integration_account_name", integration_account_name, 'str'), + 'agreementName': self._serialize.url("agreement_name", agreement_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_agreement, 'IntegrationAccountAgreement') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('IntegrationAccountAgreement', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('IntegrationAccountAgreement', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/agreements/{agreementName}'} + + async def delete( + self, + resource_group_name: str, + integration_account_name: str, + agreement_name: str, + **kwargs + ) -> None: + """Deletes an integration account agreement. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param integration_account_name: The integration account name. + :type integration_account_name: str + :param agreement_name: The integration account agreement name. + :type agreement_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'integrationAccountName': self._serialize.url("integration_account_name", integration_account_name, 'str'), + 'agreementName': self._serialize.url("agreement_name", agreement_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/agreements/{agreementName}'} + + async def list_content_callback_url( + self, + resource_group_name: str, + integration_account_name: str, + agreement_name: str, + not_after: Optional[datetime.datetime] = None, + key_type: Optional[Union[str, "models.KeyType"]] = None, + **kwargs + ) -> "models.WorkflowTriggerCallbackUrl": + """Get the content callback url. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param integration_account_name: The integration account name. + :type integration_account_name: str + :param agreement_name: The integration account agreement name. + :type agreement_name: str + :param not_after: The expiry time. + :type not_after: ~datetime.datetime + :param key_type: The key type. + :type key_type: str or ~logic_management_client.models.KeyType + :keyword callable cls: A custom type or function that will be passed the direct response + :return: WorkflowTriggerCallbackUrl or the result of cls(response) + :rtype: ~logic_management_client.models.WorkflowTriggerCallbackUrl + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.WorkflowTriggerCallbackUrl"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _list_content_callback_url = models.GetCallbackUrlParameters(not_after=not_after, key_type=key_type) + api_version = "2019-05-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.list_content_callback_url.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'integrationAccountName': self._serialize.url("integration_account_name", integration_account_name, 'str'), + 'agreementName': self._serialize.url("agreement_name", agreement_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_list_content_callback_url, 'GetCallbackUrlParameters') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('WorkflowTriggerCallbackUrl', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + list_content_callback_url.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/agreements/{agreementName}/listContentCallbackUrl'} diff --git a/src/logic/azext_logic/vendored_sdks/logic/aio/operations_async/_integration_account_assembly_operations_async.py b/src/logic/azext_logic/vendored_sdks/logic/aio/operations_async/_integration_account_assembly_operations_async.py new file mode 100644 index 00000000000..3861a78c869 --- /dev/null +++ b/src/logic/azext_logic/vendored_sdks/logic/aio/operations_async/_integration_account_assembly_operations_async.py @@ -0,0 +1,370 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class IntegrationAccountAssemblyOperations: + """IntegrationAccountAssemblyOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~logic_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + resource_group_name: str, + integration_account_name: str, + **kwargs + ) -> "models.AssemblyCollection": + """List the assemblies for an integration account. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param integration_account_name: The integration account name. + :type integration_account_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: AssemblyCollection or the result of cls(response) + :rtype: ~logic_management_client.models.AssemblyCollection + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.AssemblyCollection"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'integrationAccountName': self._serialize.url("integration_account_name", integration_account_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('AssemblyCollection', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/assemblies'} + + async def get( + self, + resource_group_name: str, + integration_account_name: str, + assembly_artifact_name: str, + **kwargs + ) -> "models.AssemblyDefinition": + """Get an assembly for an integration account. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param integration_account_name: The integration account name. + :type integration_account_name: str + :param assembly_artifact_name: The assembly artifact name. + :type assembly_artifact_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: AssemblyDefinition or the result of cls(response) + :rtype: ~logic_management_client.models.AssemblyDefinition + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.AssemblyDefinition"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'integrationAccountName': self._serialize.url("integration_account_name", integration_account_name, 'str'), + 'assemblyArtifactName': self._serialize.url("assembly_artifact_name", assembly_artifact_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('AssemblyDefinition', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/assemblies/{assemblyArtifactName}'} + + async def create_or_update( + self, + resource_group_name: str, + integration_account_name: str, + assembly_artifact_name: str, + properties: "models.AssemblyProperties", + location: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + **kwargs + ) -> "models.AssemblyDefinition": + """Create or update an assembly for an integration account. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param integration_account_name: The integration account name. + :type integration_account_name: str + :param assembly_artifact_name: The assembly artifact name. + :type assembly_artifact_name: str + :param properties: The assembly properties. + :type properties: ~logic_management_client.models.AssemblyProperties + :param location: The resource location. + :type location: str + :param tags: The resource tags. + :type tags: dict[str, str] + :keyword callable cls: A custom type or function that will be passed the direct response + :return: AssemblyDefinition or the result of cls(response) + :rtype: ~logic_management_client.models.AssemblyDefinition or ~logic_management_client.models.AssemblyDefinition + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.AssemblyDefinition"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _assembly_artifact = models.AssemblyDefinition(location=location, tags=tags, properties=properties) + api_version = "2019-05-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'integrationAccountName': self._serialize.url("integration_account_name", integration_account_name, 'str'), + 'assemblyArtifactName': self._serialize.url("assembly_artifact_name", assembly_artifact_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_assembly_artifact, 'AssemblyDefinition') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('AssemblyDefinition', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('AssemblyDefinition', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/assemblies/{assemblyArtifactName}'} + + async def delete( + self, + resource_group_name: str, + integration_account_name: str, + assembly_artifact_name: str, + **kwargs + ) -> None: + """Delete an assembly for an integration account. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param integration_account_name: The integration account name. + :type integration_account_name: str + :param assembly_artifact_name: The assembly artifact name. + :type assembly_artifact_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'integrationAccountName': self._serialize.url("integration_account_name", integration_account_name, 'str'), + 'assemblyArtifactName': self._serialize.url("assembly_artifact_name", assembly_artifact_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/assemblies/{assemblyArtifactName}'} + + async def list_content_callback_url( + self, + resource_group_name: str, + integration_account_name: str, + assembly_artifact_name: str, + **kwargs + ) -> "models.WorkflowTriggerCallbackUrl": + """Get the content callback url for an integration account assembly. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param integration_account_name: The integration account name. + :type integration_account_name: str + :param assembly_artifact_name: The assembly artifact name. + :type assembly_artifact_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: WorkflowTriggerCallbackUrl or the result of cls(response) + :rtype: ~logic_management_client.models.WorkflowTriggerCallbackUrl + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.WorkflowTriggerCallbackUrl"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self.list_content_callback_url.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'integrationAccountName': self._serialize.url("integration_account_name", integration_account_name, 'str'), + 'assemblyArtifactName': self._serialize.url("assembly_artifact_name", assembly_artifact_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('WorkflowTriggerCallbackUrl', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + list_content_callback_url.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/assemblies/{assemblyArtifactName}/listContentCallbackUrl'} diff --git a/src/logic/azext_logic/vendored_sdks/logic/aio/operations_async/_integration_account_batch_configuration_operations_async.py b/src/logic/azext_logic/vendored_sdks/logic/aio/operations_async/_integration_account_batch_configuration_operations_async.py new file mode 100644 index 00000000000..62e25f4a415 --- /dev/null +++ b/src/logic/azext_logic/vendored_sdks/logic/aio/operations_async/_integration_account_batch_configuration_operations_async.py @@ -0,0 +1,310 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class IntegrationAccountBatchConfigurationOperations: + """IntegrationAccountBatchConfigurationOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~logic_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + resource_group_name: str, + integration_account_name: str, + **kwargs + ) -> "models.BatchConfigurationCollection": + """List the batch configurations for an integration account. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param integration_account_name: The integration account name. + :type integration_account_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: BatchConfigurationCollection or the result of cls(response) + :rtype: ~logic_management_client.models.BatchConfigurationCollection + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.BatchConfigurationCollection"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'integrationAccountName': self._serialize.url("integration_account_name", integration_account_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('BatchConfigurationCollection', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/batchConfigurations'} + + async def get( + self, + resource_group_name: str, + integration_account_name: str, + batch_configuration_name: str, + **kwargs + ) -> "models.BatchConfiguration": + """Get a batch configuration for an integration account. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param integration_account_name: The integration account name. + :type integration_account_name: str + :param batch_configuration_name: The batch configuration name. + :type batch_configuration_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: BatchConfiguration or the result of cls(response) + :rtype: ~logic_management_client.models.BatchConfiguration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.BatchConfiguration"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'integrationAccountName': self._serialize.url("integration_account_name", integration_account_name, 'str'), + 'batchConfigurationName': self._serialize.url("batch_configuration_name", batch_configuration_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('BatchConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/batchConfigurations/{batchConfigurationName}'} + + async def create_or_update( + self, + resource_group_name: str, + integration_account_name: str, + batch_configuration_name: str, + properties: "models.BatchConfigurationProperties", + location: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + **kwargs + ) -> "models.BatchConfiguration": + """Create or update a batch configuration for an integration account. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param integration_account_name: The integration account name. + :type integration_account_name: str + :param batch_configuration_name: The batch configuration name. + :type batch_configuration_name: str + :param properties: The batch configuration properties. + :type properties: ~logic_management_client.models.BatchConfigurationProperties + :param location: The resource location. + :type location: str + :param tags: The resource tags. + :type tags: dict[str, str] + :keyword callable cls: A custom type or function that will be passed the direct response + :return: BatchConfiguration or the result of cls(response) + :rtype: ~logic_management_client.models.BatchConfiguration or ~logic_management_client.models.BatchConfiguration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.BatchConfiguration"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _batch_configuration = models.BatchConfiguration(location=location, tags=tags, properties=properties) + api_version = "2019-05-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'integrationAccountName': self._serialize.url("integration_account_name", integration_account_name, 'str'), + 'batchConfigurationName': self._serialize.url("batch_configuration_name", batch_configuration_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_batch_configuration, 'BatchConfiguration') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('BatchConfiguration', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('BatchConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/batchConfigurations/{batchConfigurationName}'} + + async def delete( + self, + resource_group_name: str, + integration_account_name: str, + batch_configuration_name: str, + **kwargs + ) -> None: + """Delete a batch configuration for an integration account. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param integration_account_name: The integration account name. + :type integration_account_name: str + :param batch_configuration_name: The batch configuration name. + :type batch_configuration_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'integrationAccountName': self._serialize.url("integration_account_name", integration_account_name, 'str'), + 'batchConfigurationName': self._serialize.url("batch_configuration_name", batch_configuration_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/batchConfigurations/{batchConfigurationName}'} diff --git a/src/logic/azext_logic/vendored_sdks/logic/aio/operations_async/_integration_account_certificate_operations_async.py b/src/logic/azext_logic/vendored_sdks/logic/aio/operations_async/_integration_account_certificate_operations_async.py new file mode 100644 index 00000000000..01c482936d5 --- /dev/null +++ b/src/logic/azext_logic/vendored_sdks/logic/aio/operations_async/_integration_account_certificate_operations_async.py @@ -0,0 +1,321 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class IntegrationAccountCertificateOperations: + """IntegrationAccountCertificateOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~logic_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + resource_group_name: str, + integration_account_name: str, + top: Optional[int] = None, + **kwargs + ) -> "models.IntegrationAccountCertificateListResult": + """Gets a list of integration account certificates. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param integration_account_name: The integration account name. + :type integration_account_name: str + :param top: The number of items to be included in the result. + :type top: int + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationAccountCertificateListResult or the result of cls(response) + :rtype: ~logic_management_client.models.IntegrationAccountCertificateListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationAccountCertificateListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'integrationAccountName': self._serialize.url("integration_account_name", integration_account_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if top is not None: + query_parameters['$top'] = self._serialize.query("top", top, 'int') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('IntegrationAccountCertificateListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/certificates'} + + async def get( + self, + resource_group_name: str, + integration_account_name: str, + certificate_name: str, + **kwargs + ) -> "models.IntegrationAccountCertificate": + """Gets an integration account certificate. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param integration_account_name: The integration account name. + :type integration_account_name: str + :param certificate_name: The integration account certificate name. + :type certificate_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationAccountCertificate or the result of cls(response) + :rtype: ~logic_management_client.models.IntegrationAccountCertificate + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationAccountCertificate"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'integrationAccountName': self._serialize.url("integration_account_name", integration_account_name, 'str'), + 'certificateName': self._serialize.url("certificate_name", certificate_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('IntegrationAccountCertificate', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/certificates/{certificateName}'} + + async def create_or_update( + self, + resource_group_name: str, + integration_account_name: str, + certificate_name: str, + location: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + metadata: Optional[object] = None, + key: Optional["models.KeyVaultKeyReference"] = None, + public_certificate: Optional[str] = None, + **kwargs + ) -> "models.IntegrationAccountCertificate": + """Creates or updates an integration account certificate. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param integration_account_name: The integration account name. + :type integration_account_name: str + :param certificate_name: The integration account certificate name. + :type certificate_name: str + :param location: The resource location. + :type location: str + :param tags: The resource tags. + :type tags: dict[str, str] + :param metadata: The metadata. + :type metadata: object + :param key: The key details in the key vault. + :type key: ~logic_management_client.models.KeyVaultKeyReference + :param public_certificate: The public certificate. + :type public_certificate: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationAccountCertificate or the result of cls(response) + :rtype: ~logic_management_client.models.IntegrationAccountCertificate or ~logic_management_client.models.IntegrationAccountCertificate + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationAccountCertificate"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _certificate = models.IntegrationAccountCertificate(location=location, tags=tags, metadata=metadata, key=key, public_certificate=public_certificate) + api_version = "2019-05-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'integrationAccountName': self._serialize.url("integration_account_name", integration_account_name, 'str'), + 'certificateName': self._serialize.url("certificate_name", certificate_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_certificate, 'IntegrationAccountCertificate') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('IntegrationAccountCertificate', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('IntegrationAccountCertificate', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/certificates/{certificateName}'} + + async def delete( + self, + resource_group_name: str, + integration_account_name: str, + certificate_name: str, + **kwargs + ) -> None: + """Deletes an integration account certificate. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param integration_account_name: The integration account name. + :type integration_account_name: str + :param certificate_name: The integration account certificate name. + :type certificate_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'integrationAccountName': self._serialize.url("integration_account_name", integration_account_name, 'str'), + 'certificateName': self._serialize.url("certificate_name", certificate_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/certificates/{certificateName}'} diff --git a/src/logic/azext_logic/vendored_sdks/logic/aio/operations_async/_integration_account_map_operations_async.py b/src/logic/azext_logic/vendored_sdks/logic/aio/operations_async/_integration_account_map_operations_async.py new file mode 100644 index 00000000000..20cdf27623e --- /dev/null +++ b/src/logic/azext_logic/vendored_sdks/logic/aio/operations_async/_integration_account_map_operations_async.py @@ -0,0 +1,407 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import datetime +from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class IntegrationAccountMapOperations: + """IntegrationAccountMapOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~logic_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + resource_group_name: str, + integration_account_name: str, + top: Optional[int] = None, + filter: Optional[str] = None, + **kwargs + ) -> "models.IntegrationAccountMapListResult": + """Gets a list of integration account maps. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param integration_account_name: The integration account name. + :type integration_account_name: str + :param top: The number of items to be included in the result. + :type top: int + :param filter: The filter to apply on the operation. Options for filters include: MapType. + :type filter: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationAccountMapListResult or the result of cls(response) + :rtype: ~logic_management_client.models.IntegrationAccountMapListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationAccountMapListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'integrationAccountName': self._serialize.url("integration_account_name", integration_account_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if top is not None: + query_parameters['$top'] = self._serialize.query("top", top, 'int') + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('IntegrationAccountMapListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/maps'} + + async def get( + self, + resource_group_name: str, + integration_account_name: str, + map_name: str, + **kwargs + ) -> "models.IntegrationAccountMap": + """Gets an integration account map. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param integration_account_name: The integration account name. + :type integration_account_name: str + :param map_name: The integration account map name. + :type map_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationAccountMap or the result of cls(response) + :rtype: ~logic_management_client.models.IntegrationAccountMap + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationAccountMap"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'integrationAccountName': self._serialize.url("integration_account_name", integration_account_name, 'str'), + 'mapName': self._serialize.url("map_name", map_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('IntegrationAccountMap', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/maps/{mapName}'} + + async def create_or_update( + self, + resource_group_name: str, + integration_account_name: str, + map_name: str, + map_type: Union[str, "models.MapType"], + location: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + parameters_schema: Optional["models.IntegrationAccountMapPropertiesParametersSchema"] = None, + content: Optional[str] = None, + content_type_parameter: Optional[str] = None, + metadata: Optional[object] = None, + **kwargs + ) -> "models.IntegrationAccountMap": + """Creates or updates an integration account map. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param integration_account_name: The integration account name. + :type integration_account_name: str + :param map_name: The integration account map name. + :type map_name: str + :param map_type: The map type. + :type map_type: str or ~logic_management_client.models.MapType + :param location: The resource location. + :type location: str + :param tags: The resource tags. + :type tags: dict[str, str] + :param parameters_schema: The parameters schema of integration account map. + :type parameters_schema: ~logic_management_client.models.IntegrationAccountMapPropertiesParametersSchema + :param content: The content. + :type content: str + :param content_type_parameter: The content type. + :type content_type_parameter: str + :param metadata: The metadata. + :type metadata: object + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationAccountMap or the result of cls(response) + :rtype: ~logic_management_client.models.IntegrationAccountMap or ~logic_management_client.models.IntegrationAccountMap + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationAccountMap"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _map = models.IntegrationAccountMap(location=location, tags=tags, map_type=map_type, parameters_schema=parameters_schema, content=content, content_type=content_type_parameter, metadata=metadata) + api_version = "2019-05-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'integrationAccountName': self._serialize.url("integration_account_name", integration_account_name, 'str'), + 'mapName': self._serialize.url("map_name", map_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_map, 'IntegrationAccountMap') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('IntegrationAccountMap', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('IntegrationAccountMap', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/maps/{mapName}'} + + async def delete( + self, + resource_group_name: str, + integration_account_name: str, + map_name: str, + **kwargs + ) -> None: + """Deletes an integration account map. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param integration_account_name: The integration account name. + :type integration_account_name: str + :param map_name: The integration account map name. + :type map_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'integrationAccountName': self._serialize.url("integration_account_name", integration_account_name, 'str'), + 'mapName': self._serialize.url("map_name", map_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/maps/{mapName}'} + + async def list_content_callback_url( + self, + resource_group_name: str, + integration_account_name: str, + map_name: str, + not_after: Optional[datetime.datetime] = None, + key_type: Optional[Union[str, "models.KeyType"]] = None, + **kwargs + ) -> "models.WorkflowTriggerCallbackUrl": + """Get the content callback url. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param integration_account_name: The integration account name. + :type integration_account_name: str + :param map_name: The integration account map name. + :type map_name: str + :param not_after: The expiry time. + :type not_after: ~datetime.datetime + :param key_type: The key type. + :type key_type: str or ~logic_management_client.models.KeyType + :keyword callable cls: A custom type or function that will be passed the direct response + :return: WorkflowTriggerCallbackUrl or the result of cls(response) + :rtype: ~logic_management_client.models.WorkflowTriggerCallbackUrl + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.WorkflowTriggerCallbackUrl"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _list_content_callback_url = models.GetCallbackUrlParameters(not_after=not_after, key_type=key_type) + api_version = "2019-05-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.list_content_callback_url.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'integrationAccountName': self._serialize.url("integration_account_name", integration_account_name, 'str'), + 'mapName': self._serialize.url("map_name", map_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_list_content_callback_url, 'GetCallbackUrlParameters') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('WorkflowTriggerCallbackUrl', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + list_content_callback_url.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/maps/{mapName}/listContentCallbackUrl'} diff --git a/src/logic/azext_logic/vendored_sdks/logic/aio/operations_async/_integration_account_operations_async.py b/src/logic/azext_logic/vendored_sdks/logic/aio/operations_async/_integration_account_operations_async.py new file mode 100644 index 00000000000..4453a7d2b63 --- /dev/null +++ b/src/logic/azext_logic/vendored_sdks/logic/aio/operations_async/_integration_account_operations_async.py @@ -0,0 +1,743 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import datetime +from typing import Any, Callable, Dict, Generic, List, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class IntegrationAccountOperations: + """IntegrationAccountOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~logic_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list_by_subscription( + self, + top: Optional[int] = None, + **kwargs + ) -> "models.IntegrationAccountListResult": + """Gets a list of integration accounts by subscription. + + :param top: The number of items to be included in the result. + :type top: int + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationAccountListResult or the result of cls(response) + :rtype: ~logic_management_client.models.IntegrationAccountListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationAccountListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_subscription.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if top is not None: + query_parameters['$top'] = self._serialize.query("top", top, 'int') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('IntegrationAccountListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_by_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Logic/integrationAccounts'} + + def list_by_resource_group( + self, + resource_group_name: str, + top: Optional[int] = None, + **kwargs + ) -> "models.IntegrationAccountListResult": + """Gets a list of integration accounts by resource group. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param top: The number of items to be included in the result. + :type top: int + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationAccountListResult or the result of cls(response) + :rtype: ~logic_management_client.models.IntegrationAccountListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationAccountListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if top is not None: + query_parameters['$top'] = self._serialize.query("top", top, 'int') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('IntegrationAccountListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts'} + + async def get( + self, + resource_group_name: str, + integration_account_name: str, + **kwargs + ) -> "models.IntegrationAccount": + """Gets an integration account. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param integration_account_name: The integration account name. + :type integration_account_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationAccount or the result of cls(response) + :rtype: ~logic_management_client.models.IntegrationAccount + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationAccount"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'integrationAccountName': self._serialize.url("integration_account_name", integration_account_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('IntegrationAccount', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}'} + + async def create_or_update( + self, + resource_group_name: str, + integration_account_name: str, + location: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + sku: Optional["models.IntegrationAccountSku"] = None, + integration_service_environment: Optional["models.IntegrationServiceEnvironment"] = None, + state: Optional[Union[str, "models.WorkflowState"]] = None, + **kwargs + ) -> "models.IntegrationAccount": + """Creates or updates an integration account. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param integration_account_name: The integration account name. + :type integration_account_name: str + :param location: The resource location. + :type location: str + :param tags: The resource tags. + :type tags: dict[str, str] + :param sku: The sku. + :type sku: ~logic_management_client.models.IntegrationAccountSku + :param integration_service_environment: The integration service environment. + :type integration_service_environment: ~logic_management_client.models.IntegrationServiceEnvironment + :param state: The workflow state. + :type state: str or ~logic_management_client.models.WorkflowState + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationAccount or the result of cls(response) + :rtype: ~logic_management_client.models.IntegrationAccount or ~logic_management_client.models.IntegrationAccount + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationAccount"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _integration_account = models.IntegrationAccount(location=location, tags=tags, sku=sku, integration_service_environment=integration_service_environment, state=state) + api_version = "2019-05-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'integrationAccountName': self._serialize.url("integration_account_name", integration_account_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_integration_account, 'IntegrationAccount') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('IntegrationAccount', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('IntegrationAccount', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}'} + + async def update( + self, + resource_group_name: str, + integration_account_name: str, + location: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + sku: Optional["models.IntegrationAccountSku"] = None, + integration_service_environment: Optional["models.IntegrationServiceEnvironment"] = None, + state: Optional[Union[str, "models.WorkflowState"]] = None, + **kwargs + ) -> "models.IntegrationAccount": + """Updates an integration account. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param integration_account_name: The integration account name. + :type integration_account_name: str + :param location: The resource location. + :type location: str + :param tags: The resource tags. + :type tags: dict[str, str] + :param sku: The sku. + :type sku: ~logic_management_client.models.IntegrationAccountSku + :param integration_service_environment: The integration service environment. + :type integration_service_environment: ~logic_management_client.models.IntegrationServiceEnvironment + :param state: The workflow state. + :type state: str or ~logic_management_client.models.WorkflowState + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationAccount or the result of cls(response) + :rtype: ~logic_management_client.models.IntegrationAccount + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationAccount"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _integration_account = models.IntegrationAccount(location=location, tags=tags, sku=sku, integration_service_environment=integration_service_environment, state=state) + api_version = "2019-05-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'integrationAccountName': self._serialize.url("integration_account_name", integration_account_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_integration_account, 'IntegrationAccount') + body_content_kwargs['content'] = body_content + request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('IntegrationAccount', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}'} + + async def delete( + self, + resource_group_name: str, + integration_account_name: str, + **kwargs + ) -> None: + """Deletes an integration account. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param integration_account_name: The integration account name. + :type integration_account_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'integrationAccountName': self._serialize.url("integration_account_name", integration_account_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}'} + + async def list_callback_url( + self, + resource_group_name: str, + integration_account_name: str, + not_after: Optional[datetime.datetime] = None, + key_type: Optional[Union[str, "models.KeyType"]] = None, + **kwargs + ) -> "models.CallbackUrl": + """Gets the integration account callback URL. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param integration_account_name: The integration account name. + :type integration_account_name: str + :param not_after: The expiry time. + :type not_after: ~datetime.datetime + :param key_type: The key type. + :type key_type: str or ~logic_management_client.models.KeyType + :keyword callable cls: A custom type or function that will be passed the direct response + :return: CallbackUrl or the result of cls(response) + :rtype: ~logic_management_client.models.CallbackUrl + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.CallbackUrl"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _parameters = models.GetCallbackUrlParameters(not_after=not_after, key_type=key_type) + api_version = "2019-05-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.list_callback_url.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'integrationAccountName': self._serialize.url("integration_account_name", integration_account_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_parameters, 'GetCallbackUrlParameters') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('CallbackUrl', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + list_callback_url.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/listCallbackUrl'} + + def list_key_vault_key( + self, + resource_group_name: str, + integration_account_name: str, + key_vault: "models.KeyVaultReference", + skip_token: Optional[str] = None, + **kwargs + ) -> "models.KeyVaultKeyCollection": + """Gets the integration account's Key Vault keys. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param integration_account_name: The integration account name. + :type integration_account_name: str + :param key_vault: The key vault reference. + :type key_vault: ~logic_management_client.models.KeyVaultReference + :param skip_token: The skip token. + :type skip_token: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: KeyVaultKeyCollection or the result of cls(response) + :rtype: ~logic_management_client.models.KeyVaultKeyCollection + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.KeyVaultKeyCollection"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + _list_key_vault_keys = models.ListKeyVaultKeysDefinition(key_vault=key_vault, skip_token=skip_token) + api_version = "2019-05-01" + content_type = "application/json" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_key_vault_key.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'integrationAccountName': self._serialize.url("integration_account_name", integration_account_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_list_key_vault_keys, 'ListKeyVaultKeysDefinition') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('KeyVaultKeyCollection', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_key_vault_key.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/listKeyVaultKeys'} + + async def log_tracking_event( + self, + resource_group_name: str, + integration_account_name: str, + source_type: str, + events: List["TrackingEvent"], + track_events_options: Optional[Union[str, "models.TrackEventsOperationOptions"]] = None, + **kwargs + ) -> None: + """Logs the integration account's tracking events. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param integration_account_name: The integration account name. + :type integration_account_name: str + :param source_type: The source type. + :type source_type: str + :param events: The events. + :type events: list[~logic_management_client.models.TrackingEvent] + :param track_events_options: The track events options. + :type track_events_options: str or ~logic_management_client.models.TrackEventsOperationOptions + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _log_tracking_events = models.TrackingEventsDefinition(source_type=source_type, track_events_options=track_events_options, events=events) + api_version = "2019-05-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.log_tracking_event.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'integrationAccountName': self._serialize.url("integration_account_name", integration_account_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_log_tracking_events, 'TrackingEventsDefinition') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + if cls: + return cls(pipeline_response, None, {}) + + log_tracking_event.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/logTrackingEvents'} + + async def regenerate_access_key( + self, + resource_group_name: str, + integration_account_name: str, + key_type: Optional[Union[str, "models.KeyType"]] = None, + **kwargs + ) -> "models.IntegrationAccount": + """Regenerates the integration account access key. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param integration_account_name: The integration account name. + :type integration_account_name: str + :param key_type: The key type. + :type key_type: str or ~logic_management_client.models.KeyType + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationAccount or the result of cls(response) + :rtype: ~logic_management_client.models.IntegrationAccount + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationAccount"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _regenerate_access_key = models.RegenerateActionParameter(key_type=key_type) + api_version = "2019-05-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.regenerate_access_key.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'integrationAccountName': self._serialize.url("integration_account_name", integration_account_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_regenerate_access_key, 'RegenerateActionParameter') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('IntegrationAccount', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + regenerate_access_key.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/regenerateAccessKey'} diff --git a/src/logic/azext_logic/vendored_sdks/logic/aio/operations_async/_integration_account_partner_operations_async.py b/src/logic/azext_logic/vendored_sdks/logic/aio/operations_async/_integration_account_partner_operations_async.py new file mode 100644 index 00000000000..a7b3459dfd3 --- /dev/null +++ b/src/logic/azext_logic/vendored_sdks/logic/aio/operations_async/_integration_account_partner_operations_async.py @@ -0,0 +1,401 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import datetime +from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class IntegrationAccountPartnerOperations: + """IntegrationAccountPartnerOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~logic_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + resource_group_name: str, + integration_account_name: str, + top: Optional[int] = None, + filter: Optional[str] = None, + **kwargs + ) -> "models.IntegrationAccountPartnerListResult": + """Gets a list of integration account partners. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param integration_account_name: The integration account name. + :type integration_account_name: str + :param top: The number of items to be included in the result. + :type top: int + :param filter: The filter to apply on the operation. Options for filters include: PartnerType. + :type filter: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationAccountPartnerListResult or the result of cls(response) + :rtype: ~logic_management_client.models.IntegrationAccountPartnerListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationAccountPartnerListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'integrationAccountName': self._serialize.url("integration_account_name", integration_account_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if top is not None: + query_parameters['$top'] = self._serialize.query("top", top, 'int') + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('IntegrationAccountPartnerListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/partners'} + + async def get( + self, + resource_group_name: str, + integration_account_name: str, + partner_name: str, + **kwargs + ) -> "models.IntegrationAccountPartner": + """Gets an integration account partner. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param integration_account_name: The integration account name. + :type integration_account_name: str + :param partner_name: The integration account partner name. + :type partner_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationAccountPartner or the result of cls(response) + :rtype: ~logic_management_client.models.IntegrationAccountPartner + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationAccountPartner"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'integrationAccountName': self._serialize.url("integration_account_name", integration_account_name, 'str'), + 'partnerName': self._serialize.url("partner_name", partner_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('IntegrationAccountPartner', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/partners/{partnerName}'} + + async def create_or_update( + self, + resource_group_name: str, + integration_account_name: str, + partner_name: str, + partner_type: Union[str, "models.PartnerType"], + content: "models.PartnerContent", + location: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + metadata: Optional[object] = None, + **kwargs + ) -> "models.IntegrationAccountPartner": + """Creates or updates an integration account partner. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param integration_account_name: The integration account name. + :type integration_account_name: str + :param partner_name: The integration account partner name. + :type partner_name: str + :param partner_type: The partner type. + :type partner_type: str or ~logic_management_client.models.PartnerType + :param content: The partner content. + :type content: ~logic_management_client.models.PartnerContent + :param location: The resource location. + :type location: str + :param tags: The resource tags. + :type tags: dict[str, str] + :param metadata: The metadata. + :type metadata: object + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationAccountPartner or the result of cls(response) + :rtype: ~logic_management_client.models.IntegrationAccountPartner or ~logic_management_client.models.IntegrationAccountPartner + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationAccountPartner"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _partner = models.IntegrationAccountPartner(location=location, tags=tags, partner_type=partner_type, metadata=metadata, content=content) + api_version = "2019-05-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'integrationAccountName': self._serialize.url("integration_account_name", integration_account_name, 'str'), + 'partnerName': self._serialize.url("partner_name", partner_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_partner, 'IntegrationAccountPartner') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('IntegrationAccountPartner', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('IntegrationAccountPartner', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/partners/{partnerName}'} + + async def delete( + self, + resource_group_name: str, + integration_account_name: str, + partner_name: str, + **kwargs + ) -> None: + """Deletes an integration account partner. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param integration_account_name: The integration account name. + :type integration_account_name: str + :param partner_name: The integration account partner name. + :type partner_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'integrationAccountName': self._serialize.url("integration_account_name", integration_account_name, 'str'), + 'partnerName': self._serialize.url("partner_name", partner_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/partners/{partnerName}'} + + async def list_content_callback_url( + self, + resource_group_name: str, + integration_account_name: str, + partner_name: str, + not_after: Optional[datetime.datetime] = None, + key_type: Optional[Union[str, "models.KeyType"]] = None, + **kwargs + ) -> "models.WorkflowTriggerCallbackUrl": + """Get the content callback url. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param integration_account_name: The integration account name. + :type integration_account_name: str + :param partner_name: The integration account partner name. + :type partner_name: str + :param not_after: The expiry time. + :type not_after: ~datetime.datetime + :param key_type: The key type. + :type key_type: str or ~logic_management_client.models.KeyType + :keyword callable cls: A custom type or function that will be passed the direct response + :return: WorkflowTriggerCallbackUrl or the result of cls(response) + :rtype: ~logic_management_client.models.WorkflowTriggerCallbackUrl + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.WorkflowTriggerCallbackUrl"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _list_content_callback_url = models.GetCallbackUrlParameters(not_after=not_after, key_type=key_type) + api_version = "2019-05-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.list_content_callback_url.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'integrationAccountName': self._serialize.url("integration_account_name", integration_account_name, 'str'), + 'partnerName': self._serialize.url("partner_name", partner_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_list_content_callback_url, 'GetCallbackUrlParameters') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('WorkflowTriggerCallbackUrl', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + list_content_callback_url.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/partners/{partnerName}/listContentCallbackUrl'} diff --git a/src/logic/azext_logic/vendored_sdks/logic/aio/operations_async/_integration_account_schema_operations_async.py b/src/logic/azext_logic/vendored_sdks/logic/aio/operations_async/_integration_account_schema_operations_async.py new file mode 100644 index 00000000000..da1ff6336bd --- /dev/null +++ b/src/logic/azext_logic/vendored_sdks/logic/aio/operations_async/_integration_account_schema_operations_async.py @@ -0,0 +1,413 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import datetime +from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class IntegrationAccountSchemaOperations: + """IntegrationAccountSchemaOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~logic_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + resource_group_name: str, + integration_account_name: str, + top: Optional[int] = None, + filter: Optional[str] = None, + **kwargs + ) -> "models.IntegrationAccountSchemaListResult": + """Gets a list of integration account schemas. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param integration_account_name: The integration account name. + :type integration_account_name: str + :param top: The number of items to be included in the result. + :type top: int + :param filter: The filter to apply on the operation. Options for filters include: SchemaType. + :type filter: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationAccountSchemaListResult or the result of cls(response) + :rtype: ~logic_management_client.models.IntegrationAccountSchemaListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationAccountSchemaListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'integrationAccountName': self._serialize.url("integration_account_name", integration_account_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if top is not None: + query_parameters['$top'] = self._serialize.query("top", top, 'int') + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('IntegrationAccountSchemaListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/schemas'} + + async def get( + self, + resource_group_name: str, + integration_account_name: str, + schema_name: str, + **kwargs + ) -> "models.IntegrationAccountSchema": + """Gets an integration account schema. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param integration_account_name: The integration account name. + :type integration_account_name: str + :param schema_name: The integration account schema name. + :type schema_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationAccountSchema or the result of cls(response) + :rtype: ~logic_management_client.models.IntegrationAccountSchema + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationAccountSchema"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'integrationAccountName': self._serialize.url("integration_account_name", integration_account_name, 'str'), + 'schemaName': self._serialize.url("schema_name", schema_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('IntegrationAccountSchema', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/schemas/{schemaName}'} + + async def create_or_update( + self, + resource_group_name: str, + integration_account_name: str, + schema_name: str, + schema_type: Union[str, "models.SchemaType"], + location: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + target_namespace: Optional[str] = None, + document_name: Optional[str] = None, + file_name: Optional[str] = None, + metadata: Optional[object] = None, + content: Optional[str] = None, + content_type_parameter: Optional[str] = None, + **kwargs + ) -> "models.IntegrationAccountSchema": + """Creates or updates an integration account schema. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param integration_account_name: The integration account name. + :type integration_account_name: str + :param schema_name: The integration account schema name. + :type schema_name: str + :param schema_type: The schema type. + :type schema_type: str or ~logic_management_client.models.SchemaType + :param location: The resource location. + :type location: str + :param tags: The resource tags. + :type tags: dict[str, str] + :param target_namespace: The target namespace of the schema. + :type target_namespace: str + :param document_name: The document name. + :type document_name: str + :param file_name: The file name. + :type file_name: str + :param metadata: The metadata. + :type metadata: object + :param content: The content. + :type content: str + :param content_type_parameter: The content type. + :type content_type_parameter: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationAccountSchema or the result of cls(response) + :rtype: ~logic_management_client.models.IntegrationAccountSchema or ~logic_management_client.models.IntegrationAccountSchema + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationAccountSchema"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _schema = models.IntegrationAccountSchema(location=location, tags=tags, schema_type=schema_type, target_namespace=target_namespace, document_name=document_name, file_name=file_name, metadata=metadata, content=content, content_type=content_type_parameter) + api_version = "2019-05-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'integrationAccountName': self._serialize.url("integration_account_name", integration_account_name, 'str'), + 'schemaName': self._serialize.url("schema_name", schema_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_schema, 'IntegrationAccountSchema') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('IntegrationAccountSchema', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('IntegrationAccountSchema', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/schemas/{schemaName}'} + + async def delete( + self, + resource_group_name: str, + integration_account_name: str, + schema_name: str, + **kwargs + ) -> None: + """Deletes an integration account schema. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param integration_account_name: The integration account name. + :type integration_account_name: str + :param schema_name: The integration account schema name. + :type schema_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'integrationAccountName': self._serialize.url("integration_account_name", integration_account_name, 'str'), + 'schemaName': self._serialize.url("schema_name", schema_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/schemas/{schemaName}'} + + async def list_content_callback_url( + self, + resource_group_name: str, + integration_account_name: str, + schema_name: str, + not_after: Optional[datetime.datetime] = None, + key_type: Optional[Union[str, "models.KeyType"]] = None, + **kwargs + ) -> "models.WorkflowTriggerCallbackUrl": + """Get the content callback url. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param integration_account_name: The integration account name. + :type integration_account_name: str + :param schema_name: The integration account schema name. + :type schema_name: str + :param not_after: The expiry time. + :type not_after: ~datetime.datetime + :param key_type: The key type. + :type key_type: str or ~logic_management_client.models.KeyType + :keyword callable cls: A custom type or function that will be passed the direct response + :return: WorkflowTriggerCallbackUrl or the result of cls(response) + :rtype: ~logic_management_client.models.WorkflowTriggerCallbackUrl + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.WorkflowTriggerCallbackUrl"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _list_content_callback_url = models.GetCallbackUrlParameters(not_after=not_after, key_type=key_type) + api_version = "2019-05-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.list_content_callback_url.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'integrationAccountName': self._serialize.url("integration_account_name", integration_account_name, 'str'), + 'schemaName': self._serialize.url("schema_name", schema_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_list_content_callback_url, 'GetCallbackUrlParameters') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('WorkflowTriggerCallbackUrl', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + list_content_callback_url.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/schemas/{schemaName}/listContentCallbackUrl'} diff --git a/src/logic/azext_logic/vendored_sdks/logic/aio/operations_async/_integration_account_session_operations_async.py b/src/logic/azext_logic/vendored_sdks/logic/aio/operations_async/_integration_account_session_operations_async.py new file mode 100644 index 00000000000..2ed274d71bf --- /dev/null +++ b/src/logic/azext_logic/vendored_sdks/logic/aio/operations_async/_integration_account_session_operations_async.py @@ -0,0 +1,320 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class IntegrationAccountSessionOperations: + """IntegrationAccountSessionOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~logic_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + resource_group_name: str, + integration_account_name: str, + top: Optional[int] = None, + filter: Optional[str] = None, + **kwargs + ) -> "models.IntegrationAccountSessionListResult": + """Gets a list of integration account sessions. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param integration_account_name: The integration account name. + :type integration_account_name: str + :param top: The number of items to be included in the result. + :type top: int + :param filter: The filter to apply on the operation. Options for filters include: ChangedTime. + :type filter: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationAccountSessionListResult or the result of cls(response) + :rtype: ~logic_management_client.models.IntegrationAccountSessionListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationAccountSessionListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'integrationAccountName': self._serialize.url("integration_account_name", integration_account_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if top is not None: + query_parameters['$top'] = self._serialize.query("top", top, 'int') + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('IntegrationAccountSessionListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/sessions'} + + async def get( + self, + resource_group_name: str, + integration_account_name: str, + session_name: str, + **kwargs + ) -> "models.IntegrationAccountSession": + """Gets an integration account session. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param integration_account_name: The integration account name. + :type integration_account_name: str + :param session_name: The integration account session name. + :type session_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationAccountSession or the result of cls(response) + :rtype: ~logic_management_client.models.IntegrationAccountSession + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationAccountSession"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'integrationAccountName': self._serialize.url("integration_account_name", integration_account_name, 'str'), + 'sessionName': self._serialize.url("session_name", session_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('IntegrationAccountSession', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/sessions/{sessionName}'} + + async def create_or_update( + self, + resource_group_name: str, + integration_account_name: str, + session_name: str, + location: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + content: Optional[object] = None, + **kwargs + ) -> "models.IntegrationAccountSession": + """Creates or updates an integration account session. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param integration_account_name: The integration account name. + :type integration_account_name: str + :param session_name: The integration account session name. + :type session_name: str + :param location: The resource location. + :type location: str + :param tags: The resource tags. + :type tags: dict[str, str] + :param content: The session content. + :type content: object + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationAccountSession or the result of cls(response) + :rtype: ~logic_management_client.models.IntegrationAccountSession or ~logic_management_client.models.IntegrationAccountSession + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationAccountSession"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _session = models.IntegrationAccountSession(location=location, tags=tags, content=content) + api_version = "2019-05-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'integrationAccountName': self._serialize.url("integration_account_name", integration_account_name, 'str'), + 'sessionName': self._serialize.url("session_name", session_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_session, 'IntegrationAccountSession') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('IntegrationAccountSession', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('IntegrationAccountSession', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/sessions/{sessionName}'} + + async def delete( + self, + resource_group_name: str, + integration_account_name: str, + session_name: str, + **kwargs + ) -> None: + """Deletes an integration account session. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param integration_account_name: The integration account name. + :type integration_account_name: str + :param session_name: The integration account session name. + :type session_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'integrationAccountName': self._serialize.url("integration_account_name", integration_account_name, 'str'), + 'sessionName': self._serialize.url("session_name", session_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/sessions/{sessionName}'} diff --git a/src/logic/azext_logic/vendored_sdks/logic/aio/operations_async/_integration_service_environment_managed_api_operation_operations_async.py b/src/logic/azext_logic/vendored_sdks/logic/aio/operations_async/_integration_service_environment_managed_api_operation_operations_async.py new file mode 100644 index 00000000000..085d28c8212 --- /dev/null +++ b/src/logic/azext_logic/vendored_sdks/logic/aio/operations_async/_integration_service_environment_managed_api_operation_operations_async.py @@ -0,0 +1,116 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class IntegrationServiceEnvironmentManagedApiOperationOperations: + """IntegrationServiceEnvironmentManagedApiOperationOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~logic_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + resource_group: str, + integration_service_environment_name: str, + api_name: str, + **kwargs + ) -> "models.ApiOperationListResult": + """Gets the managed Api operations. + + :param resource_group: The resource group. + :type resource_group: str + :param integration_service_environment_name: The integration service environment name. + :type integration_service_environment_name: str + :param api_name: The api name. + :type api_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ApiOperationListResult or the result of cls(response) + :rtype: ~logic_management_client.models.ApiOperationListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ApiOperationListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroup': self._serialize.url("resource_group", resource_group, 'str'), + 'integrationServiceEnvironmentName': self._serialize.url("integration_service_environment_name", integration_service_environment_name, 'str'), + 'apiName': self._serialize.url("api_name", api_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('ApiOperationListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Logic/integrationServiceEnvironments/{integrationServiceEnvironmentName}/managedApis/{apiName}/apiOperations'} diff --git a/src/logic/azext_logic/vendored_sdks/logic/aio/operations_async/_integration_service_environment_managed_api_operations_async.py b/src/logic/azext_logic/vendored_sdks/logic/aio/operations_async/_integration_service_environment_managed_api_operations_async.py new file mode 100644 index 00000000000..9c0380324d2 --- /dev/null +++ b/src/logic/azext_logic/vendored_sdks/logic/aio/operations_async/_integration_service_environment_managed_api_operations_async.py @@ -0,0 +1,367 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.polling import AsyncNoPolling, AsyncPollingMethod, async_poller + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class IntegrationServiceEnvironmentManagedApiOperations: + """IntegrationServiceEnvironmentManagedApiOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~logic_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + resource_group: str, + integration_service_environment_name: str, + **kwargs + ) -> "models.ManagedApiListResult": + """Gets the integration service environment managed Apis. + + :param resource_group: The resource group. + :type resource_group: str + :param integration_service_environment_name: The integration service environment name. + :type integration_service_environment_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ManagedApiListResult or the result of cls(response) + :rtype: ~logic_management_client.models.ManagedApiListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ManagedApiListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroup': self._serialize.url("resource_group", resource_group, 'str'), + 'integrationServiceEnvironmentName': self._serialize.url("integration_service_environment_name", integration_service_environment_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('ManagedApiListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Logic/integrationServiceEnvironments/{integrationServiceEnvironmentName}/managedApis'} + + async def get( + self, + resource_group: str, + integration_service_environment_name: str, + api_name: str, + **kwargs + ) -> "models.ManagedApi": + """Gets the integration service environment managed Api. + + :param resource_group: The resource group name. + :type resource_group: str + :param integration_service_environment_name: The integration service environment name. + :type integration_service_environment_name: str + :param api_name: The api name. + :type api_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ManagedApi or the result of cls(response) + :rtype: ~logic_management_client.models.ManagedApi + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ManagedApi"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroup': self._serialize.url("resource_group", resource_group, 'str'), + 'integrationServiceEnvironmentName': self._serialize.url("integration_service_environment_name", integration_service_environment_name, 'str'), + 'apiName': self._serialize.url("api_name", api_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('ManagedApi', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Logic/integrationServiceEnvironments/{integrationServiceEnvironmentName}/managedApis/{apiName}'} + + async def _put_initial( + self, + resource_group: str, + integration_service_environment_name: str, + api_name: str, + **kwargs + ) -> "models.ManagedApi": + cls = kwargs.pop('cls', None) # type: ClsType["models.ManagedApi"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self._put_initial.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroup': self._serialize.url("resource_group", resource_group, 'str'), + 'integrationServiceEnvironmentName': self._serialize.url("integration_service_environment_name", integration_service_environment_name, 'str'), + 'apiName': self._serialize.url("api_name", api_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('ManagedApi', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('ManagedApi', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _put_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Logic/integrationServiceEnvironments/{integrationServiceEnvironmentName}/managedApis/{apiName}'} + + async def put( + self, + resource_group: str, + integration_service_environment_name: str, + api_name: str, + **kwargs + ) -> "models.ManagedApi": + """Puts the integration service environment managed Api. + + :param resource_group: The resource group name. + :type resource_group: str + :param integration_service_environment_name: The integration service environment name. + :type integration_service_environment_name: str + :param api_name: The api name. + :type api_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :return: An instance of LROPoller that returns ManagedApi + :rtype: ~azure.core.polling.LROPoller[~logic_management_client.models.ManagedApi] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', False) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.ManagedApi"] + raw_result = await self._put_initial( + resource_group=resource_group, + integration_service_environment_name=integration_service_environment_name, + api_name=api_name, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ManagedApi', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: raise ValueError("polling being True is not valid because no default polling implemetation has been defined.") + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + return await async_poller(self._client, raw_result, get_long_running_output, polling_method) + put.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Logic/integrationServiceEnvironments/{integrationServiceEnvironmentName}/managedApis/{apiName}'} + + async def _delete_initial( + self, + resource_group: str, + integration_service_environment_name: str, + api_name: str, + **kwargs + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self._delete_initial.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroup': self._serialize.url("resource_group", resource_group, 'str'), + 'integrationServiceEnvironmentName': self._serialize.url("integration_service_environment_name", integration_service_environment_name, 'str'), + 'apiName': self._serialize.url("api_name", api_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [202, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Logic/integrationServiceEnvironments/{integrationServiceEnvironmentName}/managedApis/{apiName}'} + + async def delete( + self, + resource_group: str, + integration_service_environment_name: str, + api_name: str, + **kwargs + ) -> None: + """Deletes the integration service environment managed Api. + + :param resource_group: The resource group. + :type resource_group: str + :param integration_service_environment_name: The integration service environment name. + :type integration_service_environment_name: str + :param api_name: The api name. + :type api_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :return: An instance of LROPoller that returns None + :rtype: ~azure.core.polling.LROPoller[None] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', False) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + raw_result = await self._delete_initial( + resource_group=resource_group, + integration_service_environment_name=integration_service_environment_name, + api_name=api_name, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: raise ValueError("polling being True is not valid because no default polling implemetation has been defined.") + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + return await async_poller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Logic/integrationServiceEnvironments/{integrationServiceEnvironmentName}/managedApis/{apiName}'} diff --git a/src/logic/azext_logic/vendored_sdks/logic/aio/operations_async/_integration_service_environment_network_health_operations_async.py b/src/logic/azext_logic/vendored_sdks/logic/aio/operations_async/_integration_service_environment_network_health_operations_async.py new file mode 100644 index 00000000000..182063c8f0a --- /dev/null +++ b/src/logic/azext_logic/vendored_sdks/logic/aio/operations_async/_integration_service_environment_network_health_operations_async.py @@ -0,0 +1,96 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class IntegrationServiceEnvironmentNetworkHealthOperations: + """IntegrationServiceEnvironmentNetworkHealthOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~logic_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + async def get( + self, + resource_group: str, + integration_service_environment_name: str, + **kwargs + ) -> Dict[str, "IntegrationServiceEnvironmentSubnetNetworkHealth"]: + """Gets the integration service environment network health. + + :param resource_group: The resource group. + :type resource_group: str + :param integration_service_environment_name: The integration service environment name. + :type integration_service_environment_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: dict or the result of cls(response) + :rtype: dict[str, ~logic_management_client.models.IntegrationServiceEnvironmentSubnetNetworkHealth] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[Dict[str, "IntegrationServiceEnvironmentSubnetNetworkHealth"]] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroup': self._serialize.url("resource_group", resource_group, 'str'), + 'integrationServiceEnvironmentName': self._serialize.url("integration_service_environment_name", integration_service_environment_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('{IntegrationServiceEnvironmentSubnetNetworkHealth}', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Logic/integrationServiceEnvironments/{integrationServiceEnvironmentName}/health/network'} diff --git a/src/logic/azext_logic/vendored_sdks/logic/aio/operations_async/_integration_service_environment_operations_async.py b/src/logic/azext_logic/vendored_sdks/logic/aio/operations_async/_integration_service_environment_operations_async.py new file mode 100644 index 00000000000..47134dc48cc --- /dev/null +++ b/src/logic/azext_logic/vendored_sdks/logic/aio/operations_async/_integration_service_environment_operations_async.py @@ -0,0 +1,587 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.polling import AsyncNoPolling, AsyncPollingMethod, async_poller + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class IntegrationServiceEnvironmentOperations: + """IntegrationServiceEnvironmentOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~logic_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list_by_subscription( + self, + top: Optional[int] = None, + **kwargs + ) -> "models.IntegrationServiceEnvironmentListResult": + """Gets a list of integration service environments by subscription. + + :param top: The number of items to be included in the result. + :type top: int + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationServiceEnvironmentListResult or the result of cls(response) + :rtype: ~logic_management_client.models.IntegrationServiceEnvironmentListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationServiceEnvironmentListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_subscription.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if top is not None: + query_parameters['$top'] = self._serialize.query("top", top, 'int') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('IntegrationServiceEnvironmentListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_by_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Logic/integrationServiceEnvironments'} + + def list_by_resource_group( + self, + resource_group: str, + top: Optional[int] = None, + **kwargs + ) -> "models.IntegrationServiceEnvironmentListResult": + """Gets a list of integration service environments by resource group. + + :param resource_group: The resource group. + :type resource_group: str + :param top: The number of items to be included in the result. + :type top: int + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationServiceEnvironmentListResult or the result of cls(response) + :rtype: ~logic_management_client.models.IntegrationServiceEnvironmentListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationServiceEnvironmentListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroup': self._serialize.url("resource_group", resource_group, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if top is not None: + query_parameters['$top'] = self._serialize.query("top", top, 'int') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('IntegrationServiceEnvironmentListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Logic/integrationServiceEnvironments'} + + async def get( + self, + resource_group: str, + integration_service_environment_name: str, + **kwargs + ) -> "models.IntegrationServiceEnvironment": + """Gets an integration service environment. + + :param resource_group: The resource group. + :type resource_group: str + :param integration_service_environment_name: The integration service environment name. + :type integration_service_environment_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationServiceEnvironment or the result of cls(response) + :rtype: ~logic_management_client.models.IntegrationServiceEnvironment + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationServiceEnvironment"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroup': self._serialize.url("resource_group", resource_group, 'str'), + 'integrationServiceEnvironmentName': self._serialize.url("integration_service_environment_name", integration_service_environment_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('IntegrationServiceEnvironment', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Logic/integrationServiceEnvironments/{integrationServiceEnvironmentName}'} + + async def _create_or_update_initial( + self, + resource_group: str, + integration_service_environment_name: str, + location: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + properties: Optional["models.IntegrationServiceEnvironmentProperties"] = None, + sku: Optional["models.IntegrationServiceEnvironmentSku"] = None, + **kwargs + ) -> "models.IntegrationServiceEnvironment": + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationServiceEnvironment"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _integration_service_environment = models.IntegrationServiceEnvironment(location=location, tags=tags, properties=properties, sku=sku) + api_version = "2019-05-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self._create_or_update_initial.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroup': self._serialize.url("resource_group", resource_group, 'str'), + 'integrationServiceEnvironmentName': self._serialize.url("integration_service_environment_name", integration_service_environment_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_integration_service_environment, 'IntegrationServiceEnvironment') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('IntegrationServiceEnvironment', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('IntegrationServiceEnvironment', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Logic/integrationServiceEnvironments/{integrationServiceEnvironmentName}'} + + async def create_or_update( + self, + resource_group: str, + integration_service_environment_name: str, + location: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + properties: Optional["models.IntegrationServiceEnvironmentProperties"] = None, + sku: Optional["models.IntegrationServiceEnvironmentSku"] = None, + **kwargs + ) -> "models.IntegrationServiceEnvironment": + """Creates or updates an integration service environment. + + :param resource_group: The resource group. + :type resource_group: str + :param integration_service_environment_name: The integration service environment name. + :type integration_service_environment_name: str + :param location: The resource location. + :type location: str + :param tags: The resource tags. + :type tags: dict[str, str] + :param properties: The integration service environment properties. + :type properties: ~logic_management_client.models.IntegrationServiceEnvironmentProperties + :param sku: The sku. + :type sku: ~logic_management_client.models.IntegrationServiceEnvironmentSku + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :return: An instance of LROPoller that returns IntegrationServiceEnvironment + :rtype: ~azure.core.polling.LROPoller[~logic_management_client.models.IntegrationServiceEnvironment] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', False) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationServiceEnvironment"] + raw_result = await self._create_or_update_initial( + resource_group=resource_group, + integration_service_environment_name=integration_service_environment_name, + location=location, + tags=tags, + properties=properties, + sku=sku, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('IntegrationServiceEnvironment', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: raise ValueError("polling being True is not valid because no default polling implemetation has been defined.") + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + return await async_poller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Logic/integrationServiceEnvironments/{integrationServiceEnvironmentName}'} + + async def _update_initial( + self, + resource_group: str, + integration_service_environment_name: str, + location: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + properties: Optional["models.IntegrationServiceEnvironmentProperties"] = None, + sku: Optional["models.IntegrationServiceEnvironmentSku"] = None, + **kwargs + ) -> "models.IntegrationServiceEnvironment": + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationServiceEnvironment"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _integration_service_environment = models.IntegrationServiceEnvironment(location=location, tags=tags, properties=properties, sku=sku) + api_version = "2019-05-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self._update_initial.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroup': self._serialize.url("resource_group", resource_group, 'str'), + 'integrationServiceEnvironmentName': self._serialize.url("integration_service_environment_name", integration_service_environment_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_integration_service_environment, 'IntegrationServiceEnvironment') + body_content_kwargs['content'] = body_content + request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('IntegrationServiceEnvironment', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Logic/integrationServiceEnvironments/{integrationServiceEnvironmentName}'} + + async def update( + self, + resource_group: str, + integration_service_environment_name: str, + location: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + properties: Optional["models.IntegrationServiceEnvironmentProperties"] = None, + sku: Optional["models.IntegrationServiceEnvironmentSku"] = None, + **kwargs + ) -> "models.IntegrationServiceEnvironment": + """Updates an integration service environment. + + :param resource_group: The resource group. + :type resource_group: str + :param integration_service_environment_name: The integration service environment name. + :type integration_service_environment_name: str + :param location: The resource location. + :type location: str + :param tags: The resource tags. + :type tags: dict[str, str] + :param properties: The integration service environment properties. + :type properties: ~logic_management_client.models.IntegrationServiceEnvironmentProperties + :param sku: The sku. + :type sku: ~logic_management_client.models.IntegrationServiceEnvironmentSku + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :return: An instance of LROPoller that returns IntegrationServiceEnvironment + :rtype: ~azure.core.polling.LROPoller[~logic_management_client.models.IntegrationServiceEnvironment] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', False) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationServiceEnvironment"] + raw_result = await self._update_initial( + resource_group=resource_group, + integration_service_environment_name=integration_service_environment_name, + location=location, + tags=tags, + properties=properties, + sku=sku, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('IntegrationServiceEnvironment', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: raise ValueError("polling being True is not valid because no default polling implemetation has been defined.") + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + return await async_poller(self._client, raw_result, get_long_running_output, polling_method) + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Logic/integrationServiceEnvironments/{integrationServiceEnvironmentName}'} + + async def delete( + self, + resource_group: str, + integration_service_environment_name: str, + **kwargs + ) -> None: + """Deletes an integration service environment. + + :param resource_group: The resource group. + :type resource_group: str + :param integration_service_environment_name: The integration service environment name. + :type integration_service_environment_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroup': self._serialize.url("resource_group", resource_group, 'str'), + 'integrationServiceEnvironmentName': self._serialize.url("integration_service_environment_name", integration_service_environment_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Logic/integrationServiceEnvironments/{integrationServiceEnvironmentName}'} + + async def restart( + self, + resource_group: str, + integration_service_environment_name: str, + **kwargs + ) -> None: + """Restarts an integration service environment. + + :param resource_group: The resource group. + :type resource_group: str + :param integration_service_environment_name: The integration service environment name. + :type integration_service_environment_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self.restart.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroup': self._serialize.url("resource_group", resource_group, 'str'), + 'integrationServiceEnvironmentName': self._serialize.url("integration_service_environment_name", integration_service_environment_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + if cls: + return cls(pipeline_response, None, {}) + + restart.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Logic/integrationServiceEnvironments/{integrationServiceEnvironmentName}/restart'} diff --git a/src/logic/azext_logic/vendored_sdks/logic/aio/operations_async/_integration_service_environment_sku_operations_async.py b/src/logic/azext_logic/vendored_sdks/logic/aio/operations_async/_integration_service_environment_sku_operations_async.py new file mode 100644 index 00000000000..68e19d61a2f --- /dev/null +++ b/src/logic/azext_logic/vendored_sdks/logic/aio/operations_async/_integration_service_environment_sku_operations_async.py @@ -0,0 +1,112 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class IntegrationServiceEnvironmentSkuOperations: + """IntegrationServiceEnvironmentSkuOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~logic_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + resource_group: str, + integration_service_environment_name: str, + **kwargs + ) -> "models.IntegrationServiceEnvironmentSkuList": + """Gets a list of integration service environment Skus. + + :param resource_group: The resource group. + :type resource_group: str + :param integration_service_environment_name: The integration service environment name. + :type integration_service_environment_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationServiceEnvironmentSkuList or the result of cls(response) + :rtype: ~logic_management_client.models.IntegrationServiceEnvironmentSkuList + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationServiceEnvironmentSkuList"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroup': self._serialize.url("resource_group", resource_group, 'str'), + 'integrationServiceEnvironmentName': self._serialize.url("integration_service_environment_name", integration_service_environment_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('IntegrationServiceEnvironmentSkuList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Logic/integrationServiceEnvironments/{integrationServiceEnvironmentName}/skus'} diff --git a/src/logic/azext_logic/vendored_sdks/logic/aio/operations_async/_operation_operations_async.py b/src/logic/azext_logic/vendored_sdks/logic/aio/operations_async/_operation_operations_async.py new file mode 100644 index 00000000000..d4059badd62 --- /dev/null +++ b/src/logic/azext_logic/vendored_sdks/logic/aio/operations_async/_operation_operations_async.py @@ -0,0 +1,100 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class OperationOperations: + """OperationOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~logic_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + **kwargs + ) -> "models.OperationListResult": + """Lists all of the available Logic REST API operations. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: OperationListResult or the result of cls(response) + :rtype: ~logic_management_client.models.OperationListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.OperationListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('OperationListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/providers/Microsoft.Logic/operations'} diff --git a/src/logic/azext_logic/vendored_sdks/logic/aio/operations_async/_workflow_operations_async.py b/src/logic/azext_logic/vendored_sdks/logic/aio/operations_async/_workflow_operations_async.py new file mode 100644 index 00000000000..8fde256f5ca --- /dev/null +++ b/src/logic/azext_logic/vendored_sdks/logic/aio/operations_async/_workflow_operations_async.py @@ -0,0 +1,1117 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import datetime +from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.polling import AsyncNoPolling, AsyncPollingMethod, async_poller + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class WorkflowOperations: + """WorkflowOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~logic_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list_by_subscription( + self, + top: Optional[int] = None, + filter: Optional[str] = None, + **kwargs + ) -> "models.WorkflowListResult": + """Gets a list of workflows by subscription. + + :param top: The number of items to be included in the result. + :type top: int + :param filter: The filter to apply on the operation. Options for filters include: State, + Trigger, and ReferencedResourceId. + :type filter: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: WorkflowListResult or the result of cls(response) + :rtype: ~logic_management_client.models.WorkflowListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.WorkflowListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_subscription.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if top is not None: + query_parameters['$top'] = self._serialize.query("top", top, 'int') + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('WorkflowListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_by_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Logic/workflows'} + + def list_by_resource_group( + self, + resource_group_name: str, + top: Optional[int] = None, + filter: Optional[str] = None, + **kwargs + ) -> "models.WorkflowListResult": + """Gets a list of workflows by resource group. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param top: The number of items to be included in the result. + :type top: int + :param filter: The filter to apply on the operation. Options for filters include: State, + Trigger, and ReferencedResourceId. + :type filter: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: WorkflowListResult or the result of cls(response) + :rtype: ~logic_management_client.models.WorkflowListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.WorkflowListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if top is not None: + query_parameters['$top'] = self._serialize.query("top", top, 'int') + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('WorkflowListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows'} + + async def get( + self, + resource_group_name: str, + workflow_name: str, + **kwargs + ) -> "models.Workflow": + """Gets a workflow. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param workflow_name: The workflow name. + :type workflow_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Workflow or the result of cls(response) + :rtype: ~logic_management_client.models.Workflow + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.Workflow"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'workflowName': self._serialize.url("workflow_name", workflow_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('Workflow', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}'} + + async def create_or_update( + self, + resource_group_name: str, + workflow_name: str, + location: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + state: Optional[Union[str, "models.WorkflowState"]] = None, + endpoints_configuration: Optional["models.FlowEndpointsConfiguration"] = None, + integration_account: Optional["models.ResourceReference"] = None, + integration_service_environment: Optional["models.ResourceReference"] = None, + definition: Optional[object] = None, + parameters: Optional[Dict[str, "WorkflowParameter"]] = None, + **kwargs + ) -> "models.Workflow": + """Creates or updates a workflow. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param workflow_name: The workflow name. + :type workflow_name: str + :param location: The resource location. + :type location: str + :param tags: The resource tags. + :type tags: dict[str, str] + :param state: The state. + :type state: str or ~logic_management_client.models.WorkflowState + :param endpoints_configuration: The endpoints configuration. + :type endpoints_configuration: ~logic_management_client.models.FlowEndpointsConfiguration + :param integration_account: The integration account. + :type integration_account: ~logic_management_client.models.ResourceReference + :param integration_service_environment: The integration service environment. + :type integration_service_environment: ~logic_management_client.models.ResourceReference + :param definition: The definition. + :type definition: object + :param parameters: The parameters. + :type parameters: dict[str, ~logic_management_client.models.WorkflowParameter] + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Workflow or the result of cls(response) + :rtype: ~logic_management_client.models.Workflow or ~logic_management_client.models.Workflow + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.Workflow"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _workflow = models.Workflow(location=location, tags=tags, state=state, endpoints_configuration=endpoints_configuration, integration_account=integration_account, integration_service_environment=integration_service_environment, definition=definition, parameters=parameters) + api_version = "2019-05-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'workflowName': self._serialize.url("workflow_name", workflow_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_workflow, 'Workflow') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('Workflow', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('Workflow', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}'} + + async def update( + self, + resource_group_name: str, + workflow_name: str, + location: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + state: Optional[Union[str, "models.WorkflowState"]] = None, + endpoints_configuration: Optional["models.FlowEndpointsConfiguration"] = None, + integration_account: Optional["models.ResourceReference"] = None, + integration_service_environment: Optional["models.ResourceReference"] = None, + definition: Optional[object] = None, + parameters: Optional[Dict[str, "WorkflowParameter"]] = None, + **kwargs + ) -> "models.Workflow": + """Updates a workflow. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param workflow_name: The workflow name. + :type workflow_name: str + :param location: The resource location. + :type location: str + :param tags: The resource tags. + :type tags: dict[str, str] + :param state: The state. + :type state: str or ~logic_management_client.models.WorkflowState + :param endpoints_configuration: The endpoints configuration. + :type endpoints_configuration: ~logic_management_client.models.FlowEndpointsConfiguration + :param integration_account: The integration account. + :type integration_account: ~logic_management_client.models.ResourceReference + :param integration_service_environment: The integration service environment. + :type integration_service_environment: ~logic_management_client.models.ResourceReference + :param definition: The definition. + :type definition: object + :param parameters: The parameters. + :type parameters: dict[str, ~logic_management_client.models.WorkflowParameter] + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Workflow or the result of cls(response) + :rtype: ~logic_management_client.models.Workflow + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.Workflow"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _workflow = models.Workflow(location=location, tags=tags, state=state, endpoints_configuration=endpoints_configuration, integration_account=integration_account, integration_service_environment=integration_service_environment, definition=definition, parameters=parameters) + api_version = "2019-05-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'workflowName': self._serialize.url("workflow_name", workflow_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_workflow, 'Workflow') + body_content_kwargs['content'] = body_content + request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('Workflow', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}'} + + async def delete( + self, + resource_group_name: str, + workflow_name: str, + **kwargs + ) -> None: + """Deletes a workflow. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param workflow_name: The workflow name. + :type workflow_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'workflowName': self._serialize.url("workflow_name", workflow_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}'} + + async def disable( + self, + resource_group_name: str, + workflow_name: str, + **kwargs + ) -> None: + """Disables a workflow. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param workflow_name: The workflow name. + :type workflow_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self.disable.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'workflowName': self._serialize.url("workflow_name", workflow_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + if cls: + return cls(pipeline_response, None, {}) + + disable.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/disable'} + + async def enable( + self, + resource_group_name: str, + workflow_name: str, + **kwargs + ) -> None: + """Enables a workflow. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param workflow_name: The workflow name. + :type workflow_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self.enable.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'workflowName': self._serialize.url("workflow_name", workflow_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + if cls: + return cls(pipeline_response, None, {}) + + enable.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/enable'} + + async def generate_upgraded_definition( + self, + resource_group_name: str, + workflow_name: str, + target_schema_version: Optional[str] = None, + **kwargs + ) -> object: + """Generates the upgraded definition for a workflow. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param workflow_name: The workflow name. + :type workflow_name: str + :param target_schema_version: The target schema version. + :type target_schema_version: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: object or the result of cls(response) + :rtype: object + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[object] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _parameters = models.GenerateUpgradedDefinitionParameters(target_schema_version=target_schema_version) + api_version = "2019-05-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.generate_upgraded_definition.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'workflowName': self._serialize.url("workflow_name", workflow_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_parameters, 'GenerateUpgradedDefinitionParameters') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('object', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + generate_upgraded_definition.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/generateUpgradedDefinition'} + + async def list_callback_url( + self, + resource_group_name: str, + workflow_name: str, + not_after: Optional[datetime.datetime] = None, + key_type: Optional[Union[str, "models.KeyType"]] = None, + **kwargs + ) -> "models.WorkflowTriggerCallbackUrl": + """Get the workflow callback Url. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param workflow_name: The workflow name. + :type workflow_name: str + :param not_after: The expiry time. + :type not_after: ~datetime.datetime + :param key_type: The key type. + :type key_type: str or ~logic_management_client.models.KeyType + :keyword callable cls: A custom type or function that will be passed the direct response + :return: WorkflowTriggerCallbackUrl or the result of cls(response) + :rtype: ~logic_management_client.models.WorkflowTriggerCallbackUrl + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.WorkflowTriggerCallbackUrl"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _list_callback_url = models.GetCallbackUrlParameters(not_after=not_after, key_type=key_type) + api_version = "2019-05-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.list_callback_url.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'workflowName': self._serialize.url("workflow_name", workflow_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_list_callback_url, 'GetCallbackUrlParameters') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('WorkflowTriggerCallbackUrl', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + list_callback_url.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/listCallbackUrl'} + + async def list_swagger( + self, + resource_group_name: str, + workflow_name: str, + **kwargs + ) -> object: + """Gets an OpenAPI definition for the workflow. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param workflow_name: The workflow name. + :type workflow_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: object or the result of cls(response) + :rtype: object + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[object] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self.list_swagger.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'workflowName': self._serialize.url("workflow_name", workflow_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('object', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + list_swagger.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/listSwagger'} + + async def _move_initial( + self, + resource_group_name: str, + workflow_name: str, + location: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + state: Optional[Union[str, "models.WorkflowState"]] = None, + endpoints_configuration: Optional["models.FlowEndpointsConfiguration"] = None, + integration_account: Optional["models.ResourceReference"] = None, + integration_service_environment: Optional["models.ResourceReference"] = None, + definition: Optional[object] = None, + parameters: Optional[Dict[str, "WorkflowParameter"]] = None, + **kwargs + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _move = models.Workflow(location=location, tags=tags, state=state, endpoints_configuration=endpoints_configuration, integration_account=integration_account, integration_service_environment=integration_service_environment, definition=definition, parameters=parameters) + api_version = "2019-05-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self._move_initial.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'workflowName': self._serialize.url("workflow_name", workflow_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_move, 'Workflow') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + if cls: + return cls(pipeline_response, None, {}) + + _move_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/move'} + + async def move( + self, + resource_group_name: str, + workflow_name: str, + location: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + state: Optional[Union[str, "models.WorkflowState"]] = None, + endpoints_configuration: Optional["models.FlowEndpointsConfiguration"] = None, + integration_account: Optional["models.ResourceReference"] = None, + integration_service_environment: Optional["models.ResourceReference"] = None, + definition: Optional[object] = None, + parameters: Optional[Dict[str, "WorkflowParameter"]] = None, + **kwargs + ) -> None: + """Moves an existing workflow. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param workflow_name: The workflow name. + :type workflow_name: str + :param location: The resource location. + :type location: str + :param tags: The resource tags. + :type tags: dict[str, str] + :param state: The state. + :type state: str or ~logic_management_client.models.WorkflowState + :param endpoints_configuration: The endpoints configuration. + :type endpoints_configuration: ~logic_management_client.models.FlowEndpointsConfiguration + :param integration_account: The integration account. + :type integration_account: ~logic_management_client.models.ResourceReference + :param integration_service_environment: The integration service environment. + :type integration_service_environment: ~logic_management_client.models.ResourceReference + :param definition: The definition. + :type definition: object + :param parameters: The parameters. + :type parameters: dict[str, ~logic_management_client.models.WorkflowParameter] + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :return: An instance of LROPoller that returns None + :rtype: ~azure.core.polling.LROPoller[None] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', False) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + raw_result = await self._move_initial( + resource_group_name=resource_group_name, + workflow_name=workflow_name, + location=location, + tags=tags, + state=state, + endpoints_configuration=endpoints_configuration, + integration_account=integration_account, + integration_service_environment=integration_service_environment, + definition=definition, + parameters=parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: raise ValueError("polling being True is not valid because no default polling implemetation has been defined.") + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + return await async_poller(self._client, raw_result, get_long_running_output, polling_method) + move.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/move'} + + async def regenerate_access_key( + self, + resource_group_name: str, + workflow_name: str, + key_type: Optional[Union[str, "models.KeyType"]] = None, + **kwargs + ) -> None: + """Regenerates the callback URL access key for request triggers. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param workflow_name: The workflow name. + :type workflow_name: str + :param key_type: The key type. + :type key_type: str or ~logic_management_client.models.KeyType + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _key_type = models.RegenerateActionParameter(key_type=key_type) + api_version = "2019-05-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.regenerate_access_key.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'workflowName': self._serialize.url("workflow_name", workflow_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_key_type, 'RegenerateActionParameter') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + if cls: + return cls(pipeline_response, None, {}) + + regenerate_access_key.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/regenerateAccessKey'} + + async def validate_by_resource_group( + self, + resource_group_name: str, + workflow_name: str, + location: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + state: Optional[Union[str, "models.WorkflowState"]] = None, + endpoints_configuration: Optional["models.FlowEndpointsConfiguration"] = None, + integration_account: Optional["models.ResourceReference"] = None, + integration_service_environment: Optional["models.ResourceReference"] = None, + definition: Optional[object] = None, + parameters: Optional[Dict[str, "WorkflowParameter"]] = None, + **kwargs + ) -> None: + """Validates the workflow. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param workflow_name: The workflow name. + :type workflow_name: str + :param location: The resource location. + :type location: str + :param tags: The resource tags. + :type tags: dict[str, str] + :param state: The state. + :type state: str or ~logic_management_client.models.WorkflowState + :param endpoints_configuration: The endpoints configuration. + :type endpoints_configuration: ~logic_management_client.models.FlowEndpointsConfiguration + :param integration_account: The integration account. + :type integration_account: ~logic_management_client.models.ResourceReference + :param integration_service_environment: The integration service environment. + :type integration_service_environment: ~logic_management_client.models.ResourceReference + :param definition: The definition. + :type definition: object + :param parameters: The parameters. + :type parameters: dict[str, ~logic_management_client.models.WorkflowParameter] + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _validate = models.Workflow(location=location, tags=tags, state=state, endpoints_configuration=endpoints_configuration, integration_account=integration_account, integration_service_environment=integration_service_environment, definition=definition, parameters=parameters) + api_version = "2019-05-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.validate_by_resource_group.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'workflowName': self._serialize.url("workflow_name", workflow_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_validate, 'Workflow') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + if cls: + return cls(pipeline_response, None, {}) + + validate_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/validate'} + + async def validate_by_location( + self, + resource_group_name: str, + location: str, + workflow_name: str, + **kwargs + ) -> None: + """Validates the workflow definition. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param location: The workflow location. + :type location: str + :param workflow_name: The workflow name. + :type workflow_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self.validate_by_location.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'location': self._serialize.url("location", location, 'str'), + 'workflowName': self._serialize.url("workflow_name", workflow_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + if cls: + return cls(pipeline_response, None, {}) + + validate_by_location.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/locations/{location}/workflows/{workflowName}/validate'} diff --git a/src/logic/azext_logic/vendored_sdks/logic/aio/operations_async/_workflow_run_action_operations_async.py b/src/logic/azext_logic/vendored_sdks/logic/aio/operations_async/_workflow_run_action_operations_async.py new file mode 100644 index 00000000000..be74db4440a --- /dev/null +++ b/src/logic/azext_logic/vendored_sdks/logic/aio/operations_async/_workflow_run_action_operations_async.py @@ -0,0 +1,269 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class WorkflowRunActionOperations: + """WorkflowRunActionOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~logic_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + resource_group_name: str, + workflow_name: str, + run_name: str, + top: Optional[int] = None, + filter: Optional[str] = None, + **kwargs + ) -> "models.WorkflowRunActionListResult": + """Gets a list of workflow run actions. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param workflow_name: The workflow name. + :type workflow_name: str + :param run_name: The workflow run name. + :type run_name: str + :param top: The number of items to be included in the result. + :type top: int + :param filter: The filter to apply on the operation. Options for filters include: Status. + :type filter: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: WorkflowRunActionListResult or the result of cls(response) + :rtype: ~logic_management_client.models.WorkflowRunActionListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.WorkflowRunActionListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'workflowName': self._serialize.url("workflow_name", workflow_name, 'str'), + 'runName': self._serialize.url("run_name", run_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if top is not None: + query_parameters['$top'] = self._serialize.query("top", top, 'int') + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('WorkflowRunActionListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions'} + + async def get( + self, + resource_group_name: str, + workflow_name: str, + run_name: str, + action_name: str, + **kwargs + ) -> "models.WorkflowRunAction": + """Gets a workflow run action. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param workflow_name: The workflow name. + :type workflow_name: str + :param run_name: The workflow run name. + :type run_name: str + :param action_name: The workflow action name. + :type action_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: WorkflowRunAction or the result of cls(response) + :rtype: ~logic_management_client.models.WorkflowRunAction + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.WorkflowRunAction"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'workflowName': self._serialize.url("workflow_name", workflow_name, 'str'), + 'runName': self._serialize.url("run_name", run_name, 'str'), + 'actionName': self._serialize.url("action_name", action_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('WorkflowRunAction', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}'} + + def list_expression_trace( + self, + resource_group_name: str, + workflow_name: str, + run_name: str, + action_name: str, + **kwargs + ) -> "models.ExpressionTraces": + """Lists a workflow run expression trace. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param workflow_name: The workflow name. + :type workflow_name: str + :param run_name: The workflow run name. + :type run_name: str + :param action_name: The workflow action name. + :type action_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ExpressionTraces or the result of cls(response) + :rtype: ~logic_management_client.models.ExpressionTraces + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ExpressionTraces"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_expression_trace.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'workflowName': self._serialize.url("workflow_name", workflow_name, 'str'), + 'runName': self._serialize.url("run_name", run_name, 'str'), + 'actionName': self._serialize.url("action_name", action_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('ExpressionTraces', pipeline_response) + list_of_elem = deserialized.inputs + if cls: + list_of_elem = cls(list_of_elem) + return None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_expression_trace.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}/listExpressionTraces'} diff --git a/src/logic/azext_logic/vendored_sdks/logic/aio/operations_async/_workflow_run_action_repetition_operations_async.py b/src/logic/azext_logic/vendored_sdks/logic/aio/operations_async/_workflow_run_action_repetition_operations_async.py new file mode 100644 index 00000000000..d16fe2f0b6a --- /dev/null +++ b/src/logic/azext_logic/vendored_sdks/logic/aio/operations_async/_workflow_run_action_repetition_operations_async.py @@ -0,0 +1,271 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class WorkflowRunActionRepetitionOperations: + """WorkflowRunActionRepetitionOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~logic_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + resource_group_name: str, + workflow_name: str, + run_name: str, + action_name: str, + **kwargs + ) -> "models.WorkflowRunActionRepetitionDefinitionCollection": + """Get all of a workflow run action repetitions. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param workflow_name: The workflow name. + :type workflow_name: str + :param run_name: The workflow run name. + :type run_name: str + :param action_name: The workflow action name. + :type action_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: WorkflowRunActionRepetitionDefinitionCollection or the result of cls(response) + :rtype: ~logic_management_client.models.WorkflowRunActionRepetitionDefinitionCollection + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.WorkflowRunActionRepetitionDefinitionCollection"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'workflowName': self._serialize.url("workflow_name", workflow_name, 'str'), + 'runName': self._serialize.url("run_name", run_name, 'str'), + 'actionName': self._serialize.url("action_name", action_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('WorkflowRunActionRepetitionDefinitionCollection', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}/repetitions'} + + async def get( + self, + resource_group_name: str, + workflow_name: str, + run_name: str, + action_name: str, + repetition_name: str, + **kwargs + ) -> "models.WorkflowRunActionRepetitionDefinition": + """Get a workflow run action repetition. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param workflow_name: The workflow name. + :type workflow_name: str + :param run_name: The workflow run name. + :type run_name: str + :param action_name: The workflow action name. + :type action_name: str + :param repetition_name: The workflow repetition. + :type repetition_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: WorkflowRunActionRepetitionDefinition or the result of cls(response) + :rtype: ~logic_management_client.models.WorkflowRunActionRepetitionDefinition + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.WorkflowRunActionRepetitionDefinition"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'workflowName': self._serialize.url("workflow_name", workflow_name, 'str'), + 'runName': self._serialize.url("run_name", run_name, 'str'), + 'actionName': self._serialize.url("action_name", action_name, 'str'), + 'repetitionName': self._serialize.url("repetition_name", repetition_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('WorkflowRunActionRepetitionDefinition', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}/repetitions/{repetitionName}'} + + def list_expression_trace( + self, + resource_group_name: str, + workflow_name: str, + run_name: str, + action_name: str, + repetition_name: str, + **kwargs + ) -> "models.ExpressionTraces": + """Lists a workflow run expression trace. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param workflow_name: The workflow name. + :type workflow_name: str + :param run_name: The workflow run name. + :type run_name: str + :param action_name: The workflow action name. + :type action_name: str + :param repetition_name: The workflow repetition. + :type repetition_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ExpressionTraces or the result of cls(response) + :rtype: ~logic_management_client.models.ExpressionTraces + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ExpressionTraces"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_expression_trace.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'workflowName': self._serialize.url("workflow_name", workflow_name, 'str'), + 'runName': self._serialize.url("run_name", run_name, 'str'), + 'actionName': self._serialize.url("action_name", action_name, 'str'), + 'repetitionName': self._serialize.url("repetition_name", repetition_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('ExpressionTraces', pipeline_response) + list_of_elem = deserialized.inputs + if cls: + list_of_elem = cls(list_of_elem) + return None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_expression_trace.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}/repetitions/{repetitionName}/listExpressionTraces'} diff --git a/src/logic/azext_logic/vendored_sdks/logic/aio/operations_async/_workflow_run_action_repetition_request_history_operations_async.py b/src/logic/azext_logic/vendored_sdks/logic/aio/operations_async/_workflow_run_action_repetition_request_history_operations_async.py new file mode 100644 index 00000000000..faa4ba487cf --- /dev/null +++ b/src/logic/azext_logic/vendored_sdks/logic/aio/operations_async/_workflow_run_action_repetition_request_history_operations_async.py @@ -0,0 +1,196 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class WorkflowRunActionRepetitionRequestHistoryOperations: + """WorkflowRunActionRepetitionRequestHistoryOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~logic_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + resource_group_name: str, + workflow_name: str, + run_name: str, + action_name: str, + repetition_name: str, + **kwargs + ) -> "models.RequestHistoryListResult": + """List a workflow run repetition request history. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param workflow_name: The workflow name. + :type workflow_name: str + :param run_name: The workflow run name. + :type run_name: str + :param action_name: The workflow action name. + :type action_name: str + :param repetition_name: The workflow repetition. + :type repetition_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: RequestHistoryListResult or the result of cls(response) + :rtype: ~logic_management_client.models.RequestHistoryListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.RequestHistoryListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'workflowName': self._serialize.url("workflow_name", workflow_name, 'str'), + 'runName': self._serialize.url("run_name", run_name, 'str'), + 'actionName': self._serialize.url("action_name", action_name, 'str'), + 'repetitionName': self._serialize.url("repetition_name", repetition_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('RequestHistoryListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}/repetitions/{repetitionName}/requestHistories'} + + async def get( + self, + resource_group_name: str, + workflow_name: str, + run_name: str, + action_name: str, + repetition_name: str, + request_history_name: str, + **kwargs + ) -> "models.RequestHistory": + """Gets a workflow run repetition request history. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param workflow_name: The workflow name. + :type workflow_name: str + :param run_name: The workflow run name. + :type run_name: str + :param action_name: The workflow action name. + :type action_name: str + :param repetition_name: The workflow repetition. + :type repetition_name: str + :param request_history_name: The request history name. + :type request_history_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: RequestHistory or the result of cls(response) + :rtype: ~logic_management_client.models.RequestHistory + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.RequestHistory"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'workflowName': self._serialize.url("workflow_name", workflow_name, 'str'), + 'runName': self._serialize.url("run_name", run_name, 'str'), + 'actionName': self._serialize.url("action_name", action_name, 'str'), + 'repetitionName': self._serialize.url("repetition_name", repetition_name, 'str'), + 'requestHistoryName': self._serialize.url("request_history_name", request_history_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('RequestHistory', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}/repetitions/{repetitionName}/requestHistories/{requestHistoryName}'} diff --git a/src/logic/azext_logic/vendored_sdks/logic/aio/operations_async/_workflow_run_action_request_history_operations_async.py b/src/logic/azext_logic/vendored_sdks/logic/aio/operations_async/_workflow_run_action_request_history_operations_async.py new file mode 100644 index 00000000000..edfdb25ca27 --- /dev/null +++ b/src/logic/azext_logic/vendored_sdks/logic/aio/operations_async/_workflow_run_action_request_history_operations_async.py @@ -0,0 +1,188 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class WorkflowRunActionRequestHistoryOperations: + """WorkflowRunActionRequestHistoryOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~logic_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + resource_group_name: str, + workflow_name: str, + run_name: str, + action_name: str, + **kwargs + ) -> "models.RequestHistoryListResult": + """List a workflow run request history. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param workflow_name: The workflow name. + :type workflow_name: str + :param run_name: The workflow run name. + :type run_name: str + :param action_name: The workflow action name. + :type action_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: RequestHistoryListResult or the result of cls(response) + :rtype: ~logic_management_client.models.RequestHistoryListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.RequestHistoryListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'workflowName': self._serialize.url("workflow_name", workflow_name, 'str'), + 'runName': self._serialize.url("run_name", run_name, 'str'), + 'actionName': self._serialize.url("action_name", action_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('RequestHistoryListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}/requestHistories'} + + async def get( + self, + resource_group_name: str, + workflow_name: str, + run_name: str, + action_name: str, + request_history_name: str, + **kwargs + ) -> "models.RequestHistory": + """Gets a workflow run request history. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param workflow_name: The workflow name. + :type workflow_name: str + :param run_name: The workflow run name. + :type run_name: str + :param action_name: The workflow action name. + :type action_name: str + :param request_history_name: The request history name. + :type request_history_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: RequestHistory or the result of cls(response) + :rtype: ~logic_management_client.models.RequestHistory + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.RequestHistory"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'workflowName': self._serialize.url("workflow_name", workflow_name, 'str'), + 'runName': self._serialize.url("run_name", run_name, 'str'), + 'actionName': self._serialize.url("action_name", action_name, 'str'), + 'requestHistoryName': self._serialize.url("request_history_name", request_history_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('RequestHistory', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}/requestHistories/{requestHistoryName}'} diff --git a/src/logic/azext_logic/vendored_sdks/logic/aio/operations_async/_workflow_run_action_scope_repetition_operations_async.py b/src/logic/azext_logic/vendored_sdks/logic/aio/operations_async/_workflow_run_action_scope_repetition_operations_async.py new file mode 100644 index 00000000000..466b93bc8e5 --- /dev/null +++ b/src/logic/azext_logic/vendored_sdks/logic/aio/operations_async/_workflow_run_action_scope_repetition_operations_async.py @@ -0,0 +1,188 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class WorkflowRunActionScopeRepetitionOperations: + """WorkflowRunActionScopeRepetitionOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~logic_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + resource_group_name: str, + workflow_name: str, + run_name: str, + action_name: str, + **kwargs + ) -> "models.WorkflowRunActionRepetitionDefinitionCollection": + """List the workflow run action scoped repetitions. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param workflow_name: The workflow name. + :type workflow_name: str + :param run_name: The workflow run name. + :type run_name: str + :param action_name: The workflow action name. + :type action_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: WorkflowRunActionRepetitionDefinitionCollection or the result of cls(response) + :rtype: ~logic_management_client.models.WorkflowRunActionRepetitionDefinitionCollection + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.WorkflowRunActionRepetitionDefinitionCollection"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'workflowName': self._serialize.url("workflow_name", workflow_name, 'str'), + 'runName': self._serialize.url("run_name", run_name, 'str'), + 'actionName': self._serialize.url("action_name", action_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('WorkflowRunActionRepetitionDefinitionCollection', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}/scopeRepetitions'} + + async def get( + self, + resource_group_name: str, + workflow_name: str, + run_name: str, + action_name: str, + repetition_name: str, + **kwargs + ) -> "models.WorkflowRunActionRepetitionDefinition": + """Get a workflow run action scoped repetition. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param workflow_name: The workflow name. + :type workflow_name: str + :param run_name: The workflow run name. + :type run_name: str + :param action_name: The workflow action name. + :type action_name: str + :param repetition_name: The workflow repetition. + :type repetition_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: WorkflowRunActionRepetitionDefinition or the result of cls(response) + :rtype: ~logic_management_client.models.WorkflowRunActionRepetitionDefinition + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.WorkflowRunActionRepetitionDefinition"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'workflowName': self._serialize.url("workflow_name", workflow_name, 'str'), + 'runName': self._serialize.url("run_name", run_name, 'str'), + 'actionName': self._serialize.url("action_name", action_name, 'str'), + 'repetitionName': self._serialize.url("repetition_name", repetition_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('WorkflowRunActionRepetitionDefinition', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}/scopeRepetitions/{repetitionName}'} diff --git a/src/logic/azext_logic/vendored_sdks/logic/aio/operations_async/_workflow_run_operation_operations_async.py b/src/logic/azext_logic/vendored_sdks/logic/aio/operations_async/_workflow_run_operation_operations_async.py new file mode 100644 index 00000000000..1f9a83baf7c --- /dev/null +++ b/src/logic/azext_logic/vendored_sdks/logic/aio/operations_async/_workflow_run_operation_operations_async.py @@ -0,0 +1,104 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class WorkflowRunOperationOperations: + """WorkflowRunOperationOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~logic_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + async def get( + self, + resource_group_name: str, + workflow_name: str, + run_name: str, + operation_id: str, + **kwargs + ) -> "models.WorkflowRun": + """Gets an operation for a run. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param workflow_name: The workflow name. + :type workflow_name: str + :param run_name: The workflow run name. + :type run_name: str + :param operation_id: The workflow operation id. + :type operation_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: WorkflowRun or the result of cls(response) + :rtype: ~logic_management_client.models.WorkflowRun + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.WorkflowRun"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'workflowName': self._serialize.url("workflow_name", workflow_name, 'str'), + 'runName': self._serialize.url("run_name", run_name, 'str'), + 'operationId': self._serialize.url("operation_id", operation_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('WorkflowRun', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/operations/{operationId}'} diff --git a/src/logic/azext_logic/vendored_sdks/logic/aio/operations_async/_workflow_run_operations_async.py b/src/logic/azext_logic/vendored_sdks/logic/aio/operations_async/_workflow_run_operations_async.py new file mode 100644 index 00000000000..6928623af09 --- /dev/null +++ b/src/logic/azext_logic/vendored_sdks/logic/aio/operations_async/_workflow_run_operations_async.py @@ -0,0 +1,239 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class WorkflowRunOperations: + """WorkflowRunOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~logic_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + resource_group_name: str, + workflow_name: str, + top: Optional[int] = None, + filter: Optional[str] = None, + **kwargs + ) -> "models.WorkflowRunListResult": + """Gets a list of workflow runs. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param workflow_name: The workflow name. + :type workflow_name: str + :param top: The number of items to be included in the result. + :type top: int + :param filter: The filter to apply on the operation. Options for filters include: Status, + StartTime, and ClientTrackingId. + :type filter: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: WorkflowRunListResult or the result of cls(response) + :rtype: ~logic_management_client.models.WorkflowRunListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.WorkflowRunListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'workflowName': self._serialize.url("workflow_name", workflow_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if top is not None: + query_parameters['$top'] = self._serialize.query("top", top, 'int') + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('WorkflowRunListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs'} + + async def get( + self, + resource_group_name: str, + workflow_name: str, + run_name: str, + **kwargs + ) -> "models.WorkflowRun": + """Gets a workflow run. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param workflow_name: The workflow name. + :type workflow_name: str + :param run_name: The workflow run name. + :type run_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: WorkflowRun or the result of cls(response) + :rtype: ~logic_management_client.models.WorkflowRun + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.WorkflowRun"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'workflowName': self._serialize.url("workflow_name", workflow_name, 'str'), + 'runName': self._serialize.url("run_name", run_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('WorkflowRun', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}'} + + async def cancel( + self, + resource_group_name: str, + workflow_name: str, + run_name: str, + **kwargs + ) -> None: + """Cancels a workflow run. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param workflow_name: The workflow name. + :type workflow_name: str + :param run_name: The workflow run name. + :type run_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self.cancel.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'workflowName': self._serialize.url("workflow_name", workflow_name, 'str'), + 'runName': self._serialize.url("run_name", run_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + if cls: + return cls(pipeline_response, None, {}) + + cancel.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/cancel'} diff --git a/src/logic/azext_logic/vendored_sdks/logic/aio/operations_async/_workflow_trigger_history_operations_async.py b/src/logic/azext_logic/vendored_sdks/logic/aio/operations_async/_workflow_trigger_history_operations_async.py new file mode 100644 index 00000000000..c312c502edf --- /dev/null +++ b/src/logic/azext_logic/vendored_sdks/logic/aio/operations_async/_workflow_trigger_history_operations_async.py @@ -0,0 +1,253 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class WorkflowTriggerHistoryOperations: + """WorkflowTriggerHistoryOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~logic_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + resource_group_name: str, + workflow_name: str, + trigger_name: str, + top: Optional[int] = None, + filter: Optional[str] = None, + **kwargs + ) -> "models.WorkflowTriggerHistoryListResult": + """Gets a list of workflow trigger histories. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param workflow_name: The workflow name. + :type workflow_name: str + :param trigger_name: The workflow trigger name. + :type trigger_name: str + :param top: The number of items to be included in the result. + :type top: int + :param filter: The filter to apply on the operation. Options for filters include: Status, + StartTime, and ClientTrackingId. + :type filter: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: WorkflowTriggerHistoryListResult or the result of cls(response) + :rtype: ~logic_management_client.models.WorkflowTriggerHistoryListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.WorkflowTriggerHistoryListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'workflowName': self._serialize.url("workflow_name", workflow_name, 'str'), + 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if top is not None: + query_parameters['$top'] = self._serialize.query("top", top, 'int') + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('WorkflowTriggerHistoryListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/histories'} + + async def get( + self, + resource_group_name: str, + workflow_name: str, + trigger_name: str, + history_name: str, + **kwargs + ) -> "models.WorkflowTriggerHistory": + """Gets a workflow trigger history. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param workflow_name: The workflow name. + :type workflow_name: str + :param trigger_name: The workflow trigger name. + :type trigger_name: str + :param history_name: The workflow trigger history name. Corresponds to the run name for + triggers that resulted in a run. + :type history_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: WorkflowTriggerHistory or the result of cls(response) + :rtype: ~logic_management_client.models.WorkflowTriggerHistory + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.WorkflowTriggerHistory"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'workflowName': self._serialize.url("workflow_name", workflow_name, 'str'), + 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str'), + 'historyName': self._serialize.url("history_name", history_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('WorkflowTriggerHistory', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/histories/{historyName}'} + + async def resubmit( + self, + resource_group_name: str, + workflow_name: str, + trigger_name: str, + history_name: str, + **kwargs + ) -> None: + """Resubmits a workflow run based on the trigger history. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param workflow_name: The workflow name. + :type workflow_name: str + :param trigger_name: The workflow trigger name. + :type trigger_name: str + :param history_name: The workflow trigger history name. Corresponds to the run name for + triggers that resulted in a run. + :type history_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self.resubmit.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'workflowName': self._serialize.url("workflow_name", workflow_name, 'str'), + 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str'), + 'historyName': self._serialize.url("history_name", history_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + if cls: + return cls(pipeline_response, None, {}) + + resubmit.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/histories/{historyName}/resubmit'} diff --git a/src/logic/azext_logic/vendored_sdks/logic/aio/operations_async/_workflow_trigger_operations_async.py b/src/logic/azext_logic/vendored_sdks/logic/aio/operations_async/_workflow_trigger_operations_async.py new file mode 100644 index 00000000000..f0089b62dc1 --- /dev/null +++ b/src/logic/azext_logic/vendored_sdks/logic/aio/operations_async/_workflow_trigger_operations_async.py @@ -0,0 +1,481 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class WorkflowTriggerOperations: + """WorkflowTriggerOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~logic_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + resource_group_name: str, + workflow_name: str, + top: Optional[int] = None, + filter: Optional[str] = None, + **kwargs + ) -> "models.WorkflowTriggerListResult": + """Gets a list of workflow triggers. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param workflow_name: The workflow name. + :type workflow_name: str + :param top: The number of items to be included in the result. + :type top: int + :param filter: The filter to apply on the operation. + :type filter: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: WorkflowTriggerListResult or the result of cls(response) + :rtype: ~logic_management_client.models.WorkflowTriggerListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.WorkflowTriggerListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'workflowName': self._serialize.url("workflow_name", workflow_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if top is not None: + query_parameters['$top'] = self._serialize.query("top", top, 'int') + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('WorkflowTriggerListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers'} + + async def get( + self, + resource_group_name: str, + workflow_name: str, + trigger_name: str, + **kwargs + ) -> "models.WorkflowTrigger": + """Gets a workflow trigger. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param workflow_name: The workflow name. + :type workflow_name: str + :param trigger_name: The workflow trigger name. + :type trigger_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: WorkflowTrigger or the result of cls(response) + :rtype: ~logic_management_client.models.WorkflowTrigger + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.WorkflowTrigger"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'workflowName': self._serialize.url("workflow_name", workflow_name, 'str'), + 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('WorkflowTrigger', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}'} + + async def reset( + self, + resource_group_name: str, + workflow_name: str, + trigger_name: str, + **kwargs + ) -> None: + """Resets a workflow trigger. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param workflow_name: The workflow name. + :type workflow_name: str + :param trigger_name: The workflow trigger name. + :type trigger_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self.reset.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'workflowName': self._serialize.url("workflow_name", workflow_name, 'str'), + 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + if cls: + return cls(pipeline_response, None, {}) + + reset.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/reset'} + + async def run( + self, + resource_group_name: str, + workflow_name: str, + trigger_name: str, + **kwargs + ) -> None: + """Runs a workflow trigger. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param workflow_name: The workflow name. + :type workflow_name: str + :param trigger_name: The workflow trigger name. + :type trigger_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self.run.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'workflowName': self._serialize.url("workflow_name", workflow_name, 'str'), + 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in []: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize('object', response) + raise HttpResponseError(response=response, model=error) + + if cls: + return cls(pipeline_response, None, {}) + + run.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/run'} + + async def get_schema_json( + self, + resource_group_name: str, + workflow_name: str, + trigger_name: str, + **kwargs + ) -> "models.JsonSchema": + """Get the trigger schema as JSON. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param workflow_name: The workflow name. + :type workflow_name: str + :param trigger_name: The workflow trigger name. + :type trigger_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: JsonSchema or the result of cls(response) + :rtype: ~logic_management_client.models.JsonSchema + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.JsonSchema"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self.get_schema_json.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'workflowName': self._serialize.url("workflow_name", workflow_name, 'str'), + 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('JsonSchema', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_schema_json.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/schemas/json'} + + async def set_state( + self, + resource_group_name: str, + workflow_name: str, + trigger_name: str, + source: "models.WorkflowTrigger", + **kwargs + ) -> None: + """Sets the state of a workflow trigger. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param workflow_name: The workflow name. + :type workflow_name: str + :param trigger_name: The workflow trigger name. + :type trigger_name: str + :param source: The source. + :type source: ~logic_management_client.models.WorkflowTrigger + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _set_state = models.SetTriggerStateActionDefinition(source=source) + api_version = "2019-05-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.set_state.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'workflowName': self._serialize.url("workflow_name", workflow_name, 'str'), + 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_set_state, 'SetTriggerStateActionDefinition') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + if cls: + return cls(pipeline_response, None, {}) + + set_state.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/setState'} + + async def list_callback_url( + self, + resource_group_name: str, + workflow_name: str, + trigger_name: str, + **kwargs + ) -> "models.WorkflowTriggerCallbackUrl": + """Get the callback URL for a workflow trigger. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param workflow_name: The workflow name. + :type workflow_name: str + :param trigger_name: The workflow trigger name. + :type trigger_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: WorkflowTriggerCallbackUrl or the result of cls(response) + :rtype: ~logic_management_client.models.WorkflowTriggerCallbackUrl + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.WorkflowTriggerCallbackUrl"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self.list_callback_url.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'workflowName': self._serialize.url("workflow_name", workflow_name, 'str'), + 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('WorkflowTriggerCallbackUrl', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + list_callback_url.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/listCallbackUrl'} diff --git a/src/logic/azext_logic/vendored_sdks/logic/aio/operations_async/_workflow_version_operations_async.py b/src/logic/azext_logic/vendored_sdks/logic/aio/operations_async/_workflow_version_operations_async.py new file mode 100644 index 00000000000..a03d909848f --- /dev/null +++ b/src/logic/azext_logic/vendored_sdks/logic/aio/operations_async/_workflow_version_operations_async.py @@ -0,0 +1,177 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class WorkflowVersionOperations: + """WorkflowVersionOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~logic_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + resource_group_name: str, + workflow_name: str, + top: Optional[int] = None, + **kwargs + ) -> "models.WorkflowVersionListResult": + """Gets a list of workflow versions. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param workflow_name: The workflow name. + :type workflow_name: str + :param top: The number of items to be included in the result. + :type top: int + :keyword callable cls: A custom type or function that will be passed the direct response + :return: WorkflowVersionListResult or the result of cls(response) + :rtype: ~logic_management_client.models.WorkflowVersionListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.WorkflowVersionListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'workflowName': self._serialize.url("workflow_name", workflow_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if top is not None: + query_parameters['$top'] = self._serialize.query("top", top, 'int') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('WorkflowVersionListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/versions'} + + async def get( + self, + resource_group_name: str, + workflow_name: str, + version_id: str, + **kwargs + ) -> "models.WorkflowVersion": + """Gets a workflow version. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param workflow_name: The workflow name. + :type workflow_name: str + :param version_id: The workflow versionId. + :type version_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: WorkflowVersion or the result of cls(response) + :rtype: ~logic_management_client.models.WorkflowVersion + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.WorkflowVersion"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'workflowName': self._serialize.url("workflow_name", workflow_name, 'str'), + 'versionId': self._serialize.url("version_id", version_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('WorkflowVersion', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/versions/{versionId}'} diff --git a/src/logic/azext_logic/vendored_sdks/logic/aio/operations_async/_workflow_version_trigger_operations_async.py b/src/logic/azext_logic/vendored_sdks/logic/aio/operations_async/_workflow_version_trigger_operations_async.py new file mode 100644 index 00000000000..527772d7cb7 --- /dev/null +++ b/src/logic/azext_logic/vendored_sdks/logic/aio/operations_async/_workflow_version_trigger_operations_async.py @@ -0,0 +1,122 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import datetime +from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class WorkflowVersionTriggerOperations: + """WorkflowVersionTriggerOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~logic_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + async def list_callback_url( + self, + resource_group_name: str, + workflow_name: str, + version_id: str, + trigger_name: str, + not_after: Optional[datetime.datetime] = None, + key_type: Optional[Union[str, "models.KeyType"]] = None, + **kwargs + ) -> "models.WorkflowTriggerCallbackUrl": + """Get the callback url for a trigger of a workflow version. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param workflow_name: The workflow name. + :type workflow_name: str + :param version_id: The workflow versionId. + :type version_id: str + :param trigger_name: The workflow trigger name. + :type trigger_name: str + :param not_after: The expiry time. + :type not_after: ~datetime.datetime + :param key_type: The key type. + :type key_type: str or ~logic_management_client.models.KeyType + :keyword callable cls: A custom type or function that will be passed the direct response + :return: WorkflowTriggerCallbackUrl or the result of cls(response) + :rtype: ~logic_management_client.models.WorkflowTriggerCallbackUrl + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.WorkflowTriggerCallbackUrl"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _parameters = models.GetCallbackUrlParameters(not_after=not_after, key_type=key_type) + api_version = "2019-05-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.list_callback_url.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'workflowName': self._serialize.url("workflow_name", workflow_name, 'str'), + 'versionId': self._serialize.url("version_id", version_id, 'str'), + 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + if _parameters is not None: + body_content = self._serialize.body(_parameters, 'GetCallbackUrlParameters') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('WorkflowTriggerCallbackUrl', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + list_callback_url.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/versions/{versionId}/triggers/{triggerName}/listCallbackUrl'} diff --git a/src/logic/azext_logic/vendored_sdks/logic/models/__init__.py b/src/logic/azext_logic/vendored_sdks/logic/models/__init__.py new file mode 100644 index 00000000000..0ae4722c172 --- /dev/null +++ b/src/logic/azext_logic/vendored_sdks/logic/models/__init__.py @@ -0,0 +1,671 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +try: + from ._models_py3 import AgreementContent + from ._models_py3 import ApiDeploymentParameterMetadata + from ._models_py3 import ApiDeploymentParameterMetadataSet + from ._models_py3 import ApiOperation + from ._models_py3 import ApiOperationAnnotation + from ._models_py3 import ApiOperationListResult + from ._models_py3 import ApiOperationPropertiesDefinition + from ._models_py3 import ApiReference + from ._models_py3 import ApiResourceBackendService + from ._models_py3 import ApiResourceDefinitions + from ._models_py3 import ApiResourceGeneralInformation + from ._models_py3 import ApiResourceMetadata + from ._models_py3 import ApiResourcePolicies + from ._models_py3 import ApiResourceProperties + from ._models_py3 import ArtifactContentPropertiesDefinition + from ._models_py3 import ArtifactProperties + from ._models_py3 import As2AcknowledgementConnectionSettings + from ._models_py3 import As2AgreementContent + from ._models_py3 import As2EnvelopeSettings + from ._models_py3 import As2ErrorSettings + from ._models_py3 import As2MdnSettings + from ._models_py3 import As2MessageConnectionSettings + from ._models_py3 import As2OneWayAgreement + from ._models_py3 import As2ProtocolSettings + from ._models_py3 import As2SecuritySettings + from ._models_py3 import As2ValidationSettings + from ._models_py3 import AssemblyCollection + from ._models_py3 import AssemblyDefinition + from ._models_py3 import AssemblyProperties + from ._models_py3 import AzureResourceErrorInfo + from ._models_py3 import B2BPartnerContent + from ._models_py3 import BatchConfiguration + from ._models_py3 import BatchConfigurationCollection + from ._models_py3 import BatchConfigurationProperties + from ._models_py3 import BatchReleaseCriteria + from ._models_py3 import BusinessIdentity + from ._models_py3 import CallbackUrl + from ._models_py3 import ContentHash + from ._models_py3 import ContentLink + from ._models_py3 import Correlation + from ._models_py3 import EdifactAcknowledgementSettings + from ._models_py3 import EdifactAgreementContent + from ._models_py3 import EdifactDelimiterOverride + from ._models_py3 import EdifactEnvelopeOverride + from ._models_py3 import EdifactEnvelopeSettings + from ._models_py3 import EdifactFramingSettings + from ._models_py3 import EdifactMessageFilter + from ._models_py3 import EdifactMessageIdentifier + from ._models_py3 import EdifactOneWayAgreement + from ._models_py3 import EdifactProcessingSettings + from ._models_py3 import EdifactProtocolSettings + from ._models_py3 import EdifactSchemaReference + from ._models_py3 import EdifactValidationOverride + from ._models_py3 import EdifactValidationSettings + from ._models_py3 import ErrorInfo + from ._models_py3 import ErrorProperties + from ._models_py3 import ErrorResponse + from ._models_py3 import Expression + from ._models_py3 import ExpressionRoot + from ._models_py3 import ExpressionTraces + from ._models_py3 import ExtendedErrorInfo + from ._models_py3 import FlowEndpoints + from ._models_py3 import FlowEndpointsConfiguration + from ._models_py3 import GenerateUpgradedDefinitionParameters + from ._models_py3 import GetCallbackUrlParameters + from ._models_py3 import IntegrationAccount + from ._models_py3 import IntegrationAccountAgreement + from ._models_py3 import IntegrationAccountAgreementFilter + from ._models_py3 import IntegrationAccountAgreementListResult + from ._models_py3 import IntegrationAccountCertificate + from ._models_py3 import IntegrationAccountCertificateListResult + from ._models_py3 import IntegrationAccountListResult + from ._models_py3 import IntegrationAccountMap + from ._models_py3 import IntegrationAccountMapFilter + from ._models_py3 import IntegrationAccountMapListResult + from ._models_py3 import IntegrationAccountMapPropertiesParametersSchema + from ._models_py3 import IntegrationAccountPartner + from ._models_py3 import IntegrationAccountPartnerFilter + from ._models_py3 import IntegrationAccountPartnerListResult + from ._models_py3 import IntegrationAccountSchema + from ._models_py3 import IntegrationAccountSchemaFilter + from ._models_py3 import IntegrationAccountSchemaListResult + from ._models_py3 import IntegrationAccountSession + from ._models_py3 import IntegrationAccountSessionFilter + from ._models_py3 import IntegrationAccountSessionListResult + from ._models_py3 import IntegrationAccountSku + from ._models_py3 import IntegrationServiceEnvironment + from ._models_py3 import IntegrationServiceEnvironmentAccessEndpoint + from ._models_py3 import IntegrationServiceEnvironmentListResult + from ._models_py3 import IntegrationServiceEnvironmentNetworkDependency + from ._models_py3 import IntegrationServiceEnvironmentNetworkDependencyHealth + from ._models_py3 import IntegrationServiceEnvironmentNetworkEndpoint + from ._models_py3 import IntegrationServiceEnvironmentProperties + from ._models_py3 import IntegrationServiceEnvironmentSku + from ._models_py3 import IntegrationServiceEnvironmentSkuCapacity + from ._models_py3 import IntegrationServiceEnvironmentSkuDefinition + from ._models_py3 import IntegrationServiceEnvironmentSkuDefinitionSku + from ._models_py3 import IntegrationServiceEnvironmentSkuList + from ._models_py3 import IntegrationServiceEnvironmentSubnetNetworkHealth + from ._models_py3 import IpAddress + from ._models_py3 import JsonSchema + from ._models_py3 import KeyVaultKey + from ._models_py3 import KeyVaultKeyAttributes + from ._models_py3 import KeyVaultKeyCollection + from ._models_py3 import KeyVaultKeyReference + from ._models_py3 import KeyVaultKeyReferenceKeyVault + from ._models_py3 import KeyVaultReference + from ._models_py3 import ListKeyVaultKeysDefinition + from ._models_py3 import ManagedApi + from ._models_py3 import ManagedApiListResult + from ._models_py3 import NetworkConfiguration + from ._models_py3 import Operation + from ._models_py3 import OperationDisplay + from ._models_py3 import OperationListResult + from ._models_py3 import OperationResult + from ._models_py3 import OperationResultProperties + from ._models_py3 import PartnerContent + from ._models_py3 import RecurrenceSchedule + from ._models_py3 import RecurrenceScheduleOccurrence + from ._models_py3 import RegenerateActionParameter + from ._models_py3 import RepetitionIndex + from ._models_py3 import Request + from ._models_py3 import RequestHistory + from ._models_py3 import RequestHistoryListResult + from ._models_py3 import RequestHistoryProperties + from ._models_py3 import Resource + from ._models_py3 import ResourceReference + from ._models_py3 import Response + from ._models_py3 import RetryHistory + from ._models_py3 import RunActionCorrelation + from ._models_py3 import RunCorrelation + from ._models_py3 import SetTriggerStateActionDefinition + from ._models_py3 import Sku + from ._models_py3 import SubResource + from ._models_py3 import SwaggerCustomDynamicList + from ._models_py3 import SwaggerCustomDynamicProperties + from ._models_py3 import SwaggerCustomDynamicSchema + from ._models_py3 import SwaggerCustomDynamicTree + from ._models_py3 import SwaggerCustomDynamicTreeCommand + from ._models_py3 import SwaggerCustomDynamicTreeParameter + from ._models_py3 import SwaggerCustomDynamicTreeSettings + from ._models_py3 import SwaggerExternalDocumentation + from ._models_py3 import SwaggerSchema + from ._models_py3 import SwaggerXml + from ._models_py3 import TrackingEvent + from ._models_py3 import TrackingEventErrorInfo + from ._models_py3 import TrackingEventsDefinition + from ._models_py3 import Workflow + from ._models_py3 import WorkflowFilter + from ._models_py3 import WorkflowListResult + from ._models_py3 import WorkflowOutputParameter + from ._models_py3 import WorkflowParameter + from ._models_py3 import WorkflowRun + from ._models_py3 import WorkflowRunAction + from ._models_py3 import WorkflowRunActionFilter + from ._models_py3 import WorkflowRunActionListResult + from ._models_py3 import WorkflowRunActionRepetitionDefinition + from ._models_py3 import WorkflowRunActionRepetitionDefinitionCollection + from ._models_py3 import WorkflowRunActionRepetitionProperties + from ._models_py3 import WorkflowRunFilter + from ._models_py3 import WorkflowRunListResult + from ._models_py3 import WorkflowRunTrigger + from ._models_py3 import WorkflowTrigger + from ._models_py3 import WorkflowTriggerCallbackUrl + from ._models_py3 import WorkflowTriggerFilter + from ._models_py3 import WorkflowTriggerHistory + from ._models_py3 import WorkflowTriggerHistoryFilter + from ._models_py3 import WorkflowTriggerHistoryListResult + from ._models_py3 import WorkflowTriggerListCallbackUrlQueries + from ._models_py3 import WorkflowTriggerListResult + from ._models_py3 import WorkflowTriggerRecurrence + from ._models_py3 import WorkflowVersion + from ._models_py3 import WorkflowVersionListResult + from ._models_py3 import WsdlService + from ._models_py3 import X12AcknowledgementSettings + from ._models_py3 import X12AgreementContent + from ._models_py3 import X12DelimiterOverrides + from ._models_py3 import X12EnvelopeOverride + from ._models_py3 import X12EnvelopeSettings + from ._models_py3 import X12FramingSettings + from ._models_py3 import X12MessageFilter + from ._models_py3 import X12MessageIdentifier + from ._models_py3 import X12OneWayAgreement + from ._models_py3 import X12ProcessingSettings + from ._models_py3 import X12ProtocolSettings + from ._models_py3 import X12SchemaReference + from ._models_py3 import X12SecuritySettings + from ._models_py3 import X12ValidationOverride + from ._models_py3 import X12ValidationSettings +except (SyntaxError, ImportError): + from ._models import AgreementContent # type: ignore + from ._models import ApiDeploymentParameterMetadata # type: ignore + from ._models import ApiDeploymentParameterMetadataSet # type: ignore + from ._models import ApiOperation # type: ignore + from ._models import ApiOperationAnnotation # type: ignore + from ._models import ApiOperationListResult # type: ignore + from ._models import ApiOperationPropertiesDefinition # type: ignore + from ._models import ApiReference # type: ignore + from ._models import ApiResourceBackendService # type: ignore + from ._models import ApiResourceDefinitions # type: ignore + from ._models import ApiResourceGeneralInformation # type: ignore + from ._models import ApiResourceMetadata # type: ignore + from ._models import ApiResourcePolicies # type: ignore + from ._models import ApiResourceProperties # type: ignore + from ._models import ArtifactContentPropertiesDefinition # type: ignore + from ._models import ArtifactProperties # type: ignore + from ._models import As2AcknowledgementConnectionSettings # type: ignore + from ._models import As2AgreementContent # type: ignore + from ._models import As2EnvelopeSettings # type: ignore + from ._models import As2ErrorSettings # type: ignore + from ._models import As2MdnSettings # type: ignore + from ._models import As2MessageConnectionSettings # type: ignore + from ._models import As2OneWayAgreement # type: ignore + from ._models import As2ProtocolSettings # type: ignore + from ._models import As2SecuritySettings # type: ignore + from ._models import As2ValidationSettings # type: ignore + from ._models import AssemblyCollection # type: ignore + from ._models import AssemblyDefinition # type: ignore + from ._models import AssemblyProperties # type: ignore + from ._models import AzureResourceErrorInfo # type: ignore + from ._models import B2BPartnerContent # type: ignore + from ._models import BatchConfiguration # type: ignore + from ._models import BatchConfigurationCollection # type: ignore + from ._models import BatchConfigurationProperties # type: ignore + from ._models import BatchReleaseCriteria # type: ignore + from ._models import BusinessIdentity # type: ignore + from ._models import CallbackUrl # type: ignore + from ._models import ContentHash # type: ignore + from ._models import ContentLink # type: ignore + from ._models import Correlation # type: ignore + from ._models import EdifactAcknowledgementSettings # type: ignore + from ._models import EdifactAgreementContent # type: ignore + from ._models import EdifactDelimiterOverride # type: ignore + from ._models import EdifactEnvelopeOverride # type: ignore + from ._models import EdifactEnvelopeSettings # type: ignore + from ._models import EdifactFramingSettings # type: ignore + from ._models import EdifactMessageFilter # type: ignore + from ._models import EdifactMessageIdentifier # type: ignore + from ._models import EdifactOneWayAgreement # type: ignore + from ._models import EdifactProcessingSettings # type: ignore + from ._models import EdifactProtocolSettings # type: ignore + from ._models import EdifactSchemaReference # type: ignore + from ._models import EdifactValidationOverride # type: ignore + from ._models import EdifactValidationSettings # type: ignore + from ._models import ErrorInfo # type: ignore + from ._models import ErrorProperties # type: ignore + from ._models import ErrorResponse # type: ignore + from ._models import Expression # type: ignore + from ._models import ExpressionRoot # type: ignore + from ._models import ExpressionTraces # type: ignore + from ._models import ExtendedErrorInfo # type: ignore + from ._models import FlowEndpoints # type: ignore + from ._models import FlowEndpointsConfiguration # type: ignore + from ._models import GenerateUpgradedDefinitionParameters # type: ignore + from ._models import GetCallbackUrlParameters # type: ignore + from ._models import IntegrationAccount # type: ignore + from ._models import IntegrationAccountAgreement # type: ignore + from ._models import IntegrationAccountAgreementFilter # type: ignore + from ._models import IntegrationAccountAgreementListResult # type: ignore + from ._models import IntegrationAccountCertificate # type: ignore + from ._models import IntegrationAccountCertificateListResult # type: ignore + from ._models import IntegrationAccountListResult # type: ignore + from ._models import IntegrationAccountMap # type: ignore + from ._models import IntegrationAccountMapFilter # type: ignore + from ._models import IntegrationAccountMapListResult # type: ignore + from ._models import IntegrationAccountMapPropertiesParametersSchema # type: ignore + from ._models import IntegrationAccountPartner # type: ignore + from ._models import IntegrationAccountPartnerFilter # type: ignore + from ._models import IntegrationAccountPartnerListResult # type: ignore + from ._models import IntegrationAccountSchema # type: ignore + from ._models import IntegrationAccountSchemaFilter # type: ignore + from ._models import IntegrationAccountSchemaListResult # type: ignore + from ._models import IntegrationAccountSession # type: ignore + from ._models import IntegrationAccountSessionFilter # type: ignore + from ._models import IntegrationAccountSessionListResult # type: ignore + from ._models import IntegrationAccountSku # type: ignore + from ._models import IntegrationServiceEnvironment # type: ignore + from ._models import IntegrationServiceEnvironmentAccessEndpoint # type: ignore + from ._models import IntegrationServiceEnvironmentListResult # type: ignore + from ._models import IntegrationServiceEnvironmentNetworkDependency # type: ignore + from ._models import IntegrationServiceEnvironmentNetworkDependencyHealth # type: ignore + from ._models import IntegrationServiceEnvironmentNetworkEndpoint # type: ignore + from ._models import IntegrationServiceEnvironmentProperties # type: ignore + from ._models import IntegrationServiceEnvironmentSku # type: ignore + from ._models import IntegrationServiceEnvironmentSkuCapacity # type: ignore + from ._models import IntegrationServiceEnvironmentSkuDefinition # type: ignore + from ._models import IntegrationServiceEnvironmentSkuDefinitionSku # type: ignore + from ._models import IntegrationServiceEnvironmentSkuList # type: ignore + from ._models import IntegrationServiceEnvironmentSubnetNetworkHealth # type: ignore + from ._models import IpAddress # type: ignore + from ._models import JsonSchema # type: ignore + from ._models import KeyVaultKey # type: ignore + from ._models import KeyVaultKeyAttributes # type: ignore + from ._models import KeyVaultKeyCollection # type: ignore + from ._models import KeyVaultKeyReference # type: ignore + from ._models import KeyVaultKeyReferenceKeyVault # type: ignore + from ._models import KeyVaultReference # type: ignore + from ._models import ListKeyVaultKeysDefinition # type: ignore + from ._models import ManagedApi # type: ignore + from ._models import ManagedApiListResult # type: ignore + from ._models import NetworkConfiguration # type: ignore + from ._models import Operation # type: ignore + from ._models import OperationDisplay # type: ignore + from ._models import OperationListResult # type: ignore + from ._models import OperationResult # type: ignore + from ._models import OperationResultProperties # type: ignore + from ._models import PartnerContent # type: ignore + from ._models import RecurrenceSchedule # type: ignore + from ._models import RecurrenceScheduleOccurrence # type: ignore + from ._models import RegenerateActionParameter # type: ignore + from ._models import RepetitionIndex # type: ignore + from ._models import Request # type: ignore + from ._models import RequestHistory # type: ignore + from ._models import RequestHistoryListResult # type: ignore + from ._models import RequestHistoryProperties # type: ignore + from ._models import Resource # type: ignore + from ._models import ResourceReference # type: ignore + from ._models import Response # type: ignore + from ._models import RetryHistory # type: ignore + from ._models import RunActionCorrelation # type: ignore + from ._models import RunCorrelation # type: ignore + from ._models import SetTriggerStateActionDefinition # type: ignore + from ._models import Sku # type: ignore + from ._models import SubResource # type: ignore + from ._models import SwaggerCustomDynamicList # type: ignore + from ._models import SwaggerCustomDynamicProperties # type: ignore + from ._models import SwaggerCustomDynamicSchema # type: ignore + from ._models import SwaggerCustomDynamicTree # type: ignore + from ._models import SwaggerCustomDynamicTreeCommand # type: ignore + from ._models import SwaggerCustomDynamicTreeParameter # type: ignore + from ._models import SwaggerCustomDynamicTreeSettings # type: ignore + from ._models import SwaggerExternalDocumentation # type: ignore + from ._models import SwaggerSchema # type: ignore + from ._models import SwaggerXml # type: ignore + from ._models import TrackingEvent # type: ignore + from ._models import TrackingEventErrorInfo # type: ignore + from ._models import TrackingEventsDefinition # type: ignore + from ._models import Workflow # type: ignore + from ._models import WorkflowFilter # type: ignore + from ._models import WorkflowListResult # type: ignore + from ._models import WorkflowOutputParameter # type: ignore + from ._models import WorkflowParameter # type: ignore + from ._models import WorkflowRun # type: ignore + from ._models import WorkflowRunAction # type: ignore + from ._models import WorkflowRunActionFilter # type: ignore + from ._models import WorkflowRunActionListResult # type: ignore + from ._models import WorkflowRunActionRepetitionDefinition # type: ignore + from ._models import WorkflowRunActionRepetitionDefinitionCollection # type: ignore + from ._models import WorkflowRunActionRepetitionProperties # type: ignore + from ._models import WorkflowRunFilter # type: ignore + from ._models import WorkflowRunListResult # type: ignore + from ._models import WorkflowRunTrigger # type: ignore + from ._models import WorkflowTrigger # type: ignore + from ._models import WorkflowTriggerCallbackUrl # type: ignore + from ._models import WorkflowTriggerFilter # type: ignore + from ._models import WorkflowTriggerHistory # type: ignore + from ._models import WorkflowTriggerHistoryFilter # type: ignore + from ._models import WorkflowTriggerHistoryListResult # type: ignore + from ._models import WorkflowTriggerListCallbackUrlQueries # type: ignore + from ._models import WorkflowTriggerListResult # type: ignore + from ._models import WorkflowTriggerRecurrence # type: ignore + from ._models import WorkflowVersion # type: ignore + from ._models import WorkflowVersionListResult # type: ignore + from ._models import WsdlService # type: ignore + from ._models import X12AcknowledgementSettings # type: ignore + from ._models import X12AgreementContent # type: ignore + from ._models import X12DelimiterOverrides # type: ignore + from ._models import X12EnvelopeOverride # type: ignore + from ._models import X12EnvelopeSettings # type: ignore + from ._models import X12FramingSettings # type: ignore + from ._models import X12MessageFilter # type: ignore + from ._models import X12MessageIdentifier # type: ignore + from ._models import X12OneWayAgreement # type: ignore + from ._models import X12ProcessingSettings # type: ignore + from ._models import X12ProtocolSettings # type: ignore + from ._models import X12SchemaReference # type: ignore + from ._models import X12SecuritySettings # type: ignore + from ._models import X12ValidationOverride # type: ignore + from ._models import X12ValidationSettings # type: ignore + +from ._logic_management_client_enums import ( + AgreementType, + ApiDeploymentParameterVisibility, + ApiTier, + ApiType, + AzureAsyncOperationState, + DayOfWeek, + DaysOfWeek, + EdifactCharacterSet, + EdifactDecimalIndicator, + EncryptionAlgorithm, + ErrorResponseCode, + EventLevel, + HashingAlgorithm, + IntegrationAccountSkuName, + IntegrationServiceEnvironmentAccessEndpointType, + IntegrationServiceEnvironmentNetworkDependencyCategoryType, + IntegrationServiceEnvironmentNetworkDependencyHealthState, + IntegrationServiceEnvironmentNetworkEndPointAccessibilityState, + IntegrationServiceEnvironmentSkuName, + IntegrationServiceEnvironmentSkuScaleType, + KeyType, + MapType, + MessageFilterType, + ParameterType, + PartnerType, + RecurrenceFrequency, + SchemaType, + SegmentTerminatorSuffix, + SigningAlgorithm, + SkuName, + StatusAnnotation, + SwaggerSchemaType, + TrackEventsOperationOptions, + TrackingRecordType, + TrailingSeparatorPolicy, + UsageIndicator, + WorkflowProvisioningState, + WorkflowState, + WorkflowStatus, + WorkflowTriggerProvisioningState, + WsdlImportMethod, + X12CharacterSet, + X12DateFormat, + X12TimeFormat, +) + +__all__ = [ + 'AgreementContent', + 'ApiDeploymentParameterMetadata', + 'ApiDeploymentParameterMetadataSet', + 'ApiOperation', + 'ApiOperationAnnotation', + 'ApiOperationListResult', + 'ApiOperationPropertiesDefinition', + 'ApiReference', + 'ApiResourceBackendService', + 'ApiResourceDefinitions', + 'ApiResourceGeneralInformation', + 'ApiResourceMetadata', + 'ApiResourcePolicies', + 'ApiResourceProperties', + 'ArtifactContentPropertiesDefinition', + 'ArtifactProperties', + 'As2AcknowledgementConnectionSettings', + 'As2AgreementContent', + 'As2EnvelopeSettings', + 'As2ErrorSettings', + 'As2MdnSettings', + 'As2MessageConnectionSettings', + 'As2OneWayAgreement', + 'As2ProtocolSettings', + 'As2SecuritySettings', + 'As2ValidationSettings', + 'AssemblyCollection', + 'AssemblyDefinition', + 'AssemblyProperties', + 'AzureResourceErrorInfo', + 'B2BPartnerContent', + 'BatchConfiguration', + 'BatchConfigurationCollection', + 'BatchConfigurationProperties', + 'BatchReleaseCriteria', + 'BusinessIdentity', + 'CallbackUrl', + 'ContentHash', + 'ContentLink', + 'Correlation', + 'EdifactAcknowledgementSettings', + 'EdifactAgreementContent', + 'EdifactDelimiterOverride', + 'EdifactEnvelopeOverride', + 'EdifactEnvelopeSettings', + 'EdifactFramingSettings', + 'EdifactMessageFilter', + 'EdifactMessageIdentifier', + 'EdifactOneWayAgreement', + 'EdifactProcessingSettings', + 'EdifactProtocolSettings', + 'EdifactSchemaReference', + 'EdifactValidationOverride', + 'EdifactValidationSettings', + 'ErrorInfo', + 'ErrorProperties', + 'ErrorResponse', + 'Expression', + 'ExpressionRoot', + 'ExpressionTraces', + 'ExtendedErrorInfo', + 'FlowEndpoints', + 'FlowEndpointsConfiguration', + 'GenerateUpgradedDefinitionParameters', + 'GetCallbackUrlParameters', + 'IntegrationAccount', + 'IntegrationAccountAgreement', + 'IntegrationAccountAgreementFilter', + 'IntegrationAccountAgreementListResult', + 'IntegrationAccountCertificate', + 'IntegrationAccountCertificateListResult', + 'IntegrationAccountListResult', + 'IntegrationAccountMap', + 'IntegrationAccountMapFilter', + 'IntegrationAccountMapListResult', + 'IntegrationAccountMapPropertiesParametersSchema', + 'IntegrationAccountPartner', + 'IntegrationAccountPartnerFilter', + 'IntegrationAccountPartnerListResult', + 'IntegrationAccountSchema', + 'IntegrationAccountSchemaFilter', + 'IntegrationAccountSchemaListResult', + 'IntegrationAccountSession', + 'IntegrationAccountSessionFilter', + 'IntegrationAccountSessionListResult', + 'IntegrationAccountSku', + 'IntegrationServiceEnvironment', + 'IntegrationServiceEnvironmentAccessEndpoint', + 'IntegrationServiceEnvironmentListResult', + 'IntegrationServiceEnvironmentNetworkDependency', + 'IntegrationServiceEnvironmentNetworkDependencyHealth', + 'IntegrationServiceEnvironmentNetworkEndpoint', + 'IntegrationServiceEnvironmentProperties', + 'IntegrationServiceEnvironmentSku', + 'IntegrationServiceEnvironmentSkuCapacity', + 'IntegrationServiceEnvironmentSkuDefinition', + 'IntegrationServiceEnvironmentSkuDefinitionSku', + 'IntegrationServiceEnvironmentSkuList', + 'IntegrationServiceEnvironmentSubnetNetworkHealth', + 'IpAddress', + 'JsonSchema', + 'KeyVaultKey', + 'KeyVaultKeyAttributes', + 'KeyVaultKeyCollection', + 'KeyVaultKeyReference', + 'KeyVaultKeyReferenceKeyVault', + 'KeyVaultReference', + 'ListKeyVaultKeysDefinition', + 'ManagedApi', + 'ManagedApiListResult', + 'NetworkConfiguration', + 'Operation', + 'OperationDisplay', + 'OperationListResult', + 'OperationResult', + 'OperationResultProperties', + 'PartnerContent', + 'RecurrenceSchedule', + 'RecurrenceScheduleOccurrence', + 'RegenerateActionParameter', + 'RepetitionIndex', + 'Request', + 'RequestHistory', + 'RequestHistoryListResult', + 'RequestHistoryProperties', + 'Resource', + 'ResourceReference', + 'Response', + 'RetryHistory', + 'RunActionCorrelation', + 'RunCorrelation', + 'SetTriggerStateActionDefinition', + 'Sku', + 'SubResource', + 'SwaggerCustomDynamicList', + 'SwaggerCustomDynamicProperties', + 'SwaggerCustomDynamicSchema', + 'SwaggerCustomDynamicTree', + 'SwaggerCustomDynamicTreeCommand', + 'SwaggerCustomDynamicTreeParameter', + 'SwaggerCustomDynamicTreeSettings', + 'SwaggerExternalDocumentation', + 'SwaggerSchema', + 'SwaggerXml', + 'TrackingEvent', + 'TrackingEventErrorInfo', + 'TrackingEventsDefinition', + 'Workflow', + 'WorkflowFilter', + 'WorkflowListResult', + 'WorkflowOutputParameter', + 'WorkflowParameter', + 'WorkflowRun', + 'WorkflowRunAction', + 'WorkflowRunActionFilter', + 'WorkflowRunActionListResult', + 'WorkflowRunActionRepetitionDefinition', + 'WorkflowRunActionRepetitionDefinitionCollection', + 'WorkflowRunActionRepetitionProperties', + 'WorkflowRunFilter', + 'WorkflowRunListResult', + 'WorkflowRunTrigger', + 'WorkflowTrigger', + 'WorkflowTriggerCallbackUrl', + 'WorkflowTriggerFilter', + 'WorkflowTriggerHistory', + 'WorkflowTriggerHistoryFilter', + 'WorkflowTriggerHistoryListResult', + 'WorkflowTriggerListCallbackUrlQueries', + 'WorkflowTriggerListResult', + 'WorkflowTriggerRecurrence', + 'WorkflowVersion', + 'WorkflowVersionListResult', + 'WsdlService', + 'X12AcknowledgementSettings', + 'X12AgreementContent', + 'X12DelimiterOverrides', + 'X12EnvelopeOverride', + 'X12EnvelopeSettings', + 'X12FramingSettings', + 'X12MessageFilter', + 'X12MessageIdentifier', + 'X12OneWayAgreement', + 'X12ProcessingSettings', + 'X12ProtocolSettings', + 'X12SchemaReference', + 'X12SecuritySettings', + 'X12ValidationOverride', + 'X12ValidationSettings', + 'AgreementType', + 'ApiDeploymentParameterVisibility', + 'ApiTier', + 'ApiType', + 'AzureAsyncOperationState', + 'DayOfWeek', + 'DaysOfWeek', + 'EdifactCharacterSet', + 'EdifactDecimalIndicator', + 'EncryptionAlgorithm', + 'ErrorResponseCode', + 'EventLevel', + 'HashingAlgorithm', + 'IntegrationAccountSkuName', + 'IntegrationServiceEnvironmentAccessEndpointType', + 'IntegrationServiceEnvironmentNetworkDependencyCategoryType', + 'IntegrationServiceEnvironmentNetworkDependencyHealthState', + 'IntegrationServiceEnvironmentNetworkEndPointAccessibilityState', + 'IntegrationServiceEnvironmentSkuName', + 'IntegrationServiceEnvironmentSkuScaleType', + 'KeyType', + 'MapType', + 'MessageFilterType', + 'ParameterType', + 'PartnerType', + 'RecurrenceFrequency', + 'SchemaType', + 'SegmentTerminatorSuffix', + 'SigningAlgorithm', + 'SkuName', + 'StatusAnnotation', + 'SwaggerSchemaType', + 'TrackEventsOperationOptions', + 'TrackingRecordType', + 'TrailingSeparatorPolicy', + 'UsageIndicator', + 'WorkflowProvisioningState', + 'WorkflowState', + 'WorkflowStatus', + 'WorkflowTriggerProvisioningState', + 'WsdlImportMethod', + 'X12CharacterSet', + 'X12DateFormat', + 'X12TimeFormat', +] diff --git a/src/logic/azext_logic/vendored_sdks/logic/models/_logic_management_client_enums.py b/src/logic/azext_logic/vendored_sdks/logic/models/_logic_management_client_enums.py new file mode 100644 index 00000000000..df43fa81c24 --- /dev/null +++ b/src/logic/azext_logic/vendored_sdks/logic/models/_logic_management_client_enums.py @@ -0,0 +1,488 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from enum import Enum + +class WorkflowProvisioningState(str, Enum): + """The workflow provisioning state. + """ + + not_specified = "NotSpecified" + accepted = "Accepted" + running = "Running" + ready = "Ready" + creating = "Creating" + created = "Created" + deleting = "Deleting" + deleted = "Deleted" + canceled = "Canceled" + failed = "Failed" + succeeded = "Succeeded" + moving = "Moving" + updating = "Updating" + registering = "Registering" + registered = "Registered" + unregistering = "Unregistering" + unregistered = "Unregistered" + completed = "Completed" + +class WorkflowState(str, Enum): + """The workflow state. + """ + + not_specified = "NotSpecified" + completed = "Completed" + enabled = "Enabled" + disabled = "Disabled" + deleted = "Deleted" + suspended = "Suspended" + +class ParameterType(str, Enum): + """The parameter type. + """ + + not_specified = "NotSpecified" + string = "String" + secure_string = "SecureString" + int = "Int" + float = "Float" + bool = "Bool" + array = "Array" + object = "Object" + secure_object = "SecureObject" + +class SkuName(str, Enum): + """The sku name. + """ + + not_specified = "NotSpecified" + free = "Free" + shared = "Shared" + basic = "Basic" + standard = "Standard" + premium = "Premium" + +class DaysOfWeek(str, Enum): + + sunday = "Sunday" + monday = "Monday" + tuesday = "Tuesday" + wednesday = "Wednesday" + thursday = "Thursday" + friday = "Friday" + saturday = "Saturday" + +class DayOfWeek(str, Enum): + """The day of the week. + """ + + sunday = "Sunday" + monday = "Monday" + tuesday = "Tuesday" + wednesday = "Wednesday" + thursday = "Thursday" + friday = "Friday" + saturday = "Saturday" + +class WorkflowTriggerProvisioningState(str, Enum): + """The workflow trigger provisioning state. + """ + + not_specified = "NotSpecified" + accepted = "Accepted" + running = "Running" + ready = "Ready" + creating = "Creating" + created = "Created" + deleting = "Deleting" + deleted = "Deleted" + canceled = "Canceled" + failed = "Failed" + succeeded = "Succeeded" + moving = "Moving" + updating = "Updating" + registering = "Registering" + registered = "Registered" + unregistering = "Unregistering" + unregistered = "Unregistered" + completed = "Completed" + +class WorkflowStatus(str, Enum): + """The workflow status. + """ + + not_specified = "NotSpecified" + paused = "Paused" + running = "Running" + waiting = "Waiting" + succeeded = "Succeeded" + skipped = "Skipped" + suspended = "Suspended" + cancelled = "Cancelled" + failed = "Failed" + faulted = "Faulted" + timed_out = "TimedOut" + aborted = "Aborted" + ignored = "Ignored" + +class RecurrenceFrequency(str, Enum): + """The recurrence frequency. + """ + + not_specified = "NotSpecified" + second = "Second" + minute = "Minute" + hour = "Hour" + day = "Day" + week = "Week" + month = "Month" + year = "Year" + +class IntegrationAccountSkuName(str, Enum): + """The integration account sku name. + """ + + not_specified = "NotSpecified" + free = "Free" + basic = "Basic" + standard = "Standard" + +class IntegrationServiceEnvironmentAccessEndpointType(str, Enum): + """The integration service environment access endpoint type. + """ + + not_specified = "NotSpecified" + external = "External" + internal = "Internal" + +class IntegrationServiceEnvironmentSkuName(str, Enum): + """The integration service environment sku name. + """ + + not_specified = "NotSpecified" + premium = "Premium" + developer = "Developer" + +class EventLevel(str, Enum): + """The event level. + """ + + log_always = "LogAlways" + critical = "Critical" + error = "Error" + warning = "Warning" + informational = "Informational" + verbose = "Verbose" + +class TrackingRecordType(str, Enum): + """The tracking record type. + """ + + not_specified = "NotSpecified" + custom = "Custom" + as2_message = "AS2Message" + as2_mdn = "AS2MDN" + x12_interchange = "X12Interchange" + x12_functional_group = "X12FunctionalGroup" + x12_transaction_set = "X12TransactionSet" + x12_interchange_acknowledgment = "X12InterchangeAcknowledgment" + x12_functional_group_acknowledgment = "X12FunctionalGroupAcknowledgment" + x12_transaction_set_acknowledgment = "X12TransactionSetAcknowledgment" + edifact_interchange = "EdifactInterchange" + edifact_functional_group = "EdifactFunctionalGroup" + edifact_transaction_set = "EdifactTransactionSet" + edifact_interchange_acknowledgment = "EdifactInterchangeAcknowledgment" + edifact_functional_group_acknowledgment = "EdifactFunctionalGroupAcknowledgment" + edifact_transaction_set_acknowledgment = "EdifactTransactionSetAcknowledgment" + +class SchemaType(str, Enum): + """The schema type. + """ + + not_specified = "NotSpecified" + xml = "Xml" + +class MapType(str, Enum): + """The map type. + """ + + not_specified = "NotSpecified" + xslt = "Xslt" + xslt20 = "Xslt20" + xslt30 = "Xslt30" + liquid = "Liquid" + +class PartnerType(str, Enum): + """The partner type. + """ + + not_specified = "NotSpecified" + b2_b = "B2B" + +class X12DateFormat(str, Enum): + """The x12 date format. + """ + + not_specified = "NotSpecified" + ccyymmdd = "CCYYMMDD" + yymmdd = "YYMMDD" + +class X12TimeFormat(str, Enum): + """The x12 time format. + """ + + not_specified = "NotSpecified" + hhmm = "HHMM" + hhmmss = "HHMMSS" + hhmms_sdd = "HHMMSSdd" + hhmms_sd = "HHMMSSd" + +class TrailingSeparatorPolicy(str, Enum): + """The trailing separator policy. + """ + + not_specified = "NotSpecified" + not_allowed = "NotAllowed" + optional = "Optional" + mandatory = "Mandatory" + +class SegmentTerminatorSuffix(str, Enum): + """The segment terminator suffix. + """ + + not_specified = "NotSpecified" + none = "None" + cr = "CR" + lf = "LF" + crlf = "CRLF" + +class EdifactDecimalIndicator(str, Enum): + """The edifact decimal indicator. + """ + + not_specified = "NotSpecified" + comma = "Comma" + decimal = "Decimal" + +class AgreementType(str, Enum): + """The agreement type. + """ + + not_specified = "NotSpecified" + as2 = "AS2" + x12 = "X12" + edifact = "Edifact" + +class HashingAlgorithm(str, Enum): + """The signing or hashing algorithm. + """ + + not_specified = "NotSpecified" + none = "None" + md5 = "MD5" + sha1 = "SHA1" + sha2256 = "SHA2256" + sha2384 = "SHA2384" + sha2512 = "SHA2512" + +class EncryptionAlgorithm(str, Enum): + """The encryption algorithm. + """ + + not_specified = "NotSpecified" + none = "None" + des3 = "DES3" + rc2 = "RC2" + aes128 = "AES128" + aes192 = "AES192" + aes256 = "AES256" + +class SigningAlgorithm(str, Enum): + """The signing or hashing algorithm. + """ + + not_specified = "NotSpecified" + default = "Default" + sha1 = "SHA1" + sha2256 = "SHA2256" + sha2384 = "SHA2384" + sha2512 = "SHA2512" + +class X12CharacterSet(str, Enum): + """The X12 character set. + """ + + not_specified = "NotSpecified" + basic = "Basic" + extended = "Extended" + utf8 = "UTF8" + +class UsageIndicator(str, Enum): + """The usage indicator. + """ + + not_specified = "NotSpecified" + test = "Test" + information = "Information" + production = "Production" + +class MessageFilterType(str, Enum): + """The message filter type. + """ + + not_specified = "NotSpecified" + include = "Include" + exclude = "Exclude" + +class EdifactCharacterSet(str, Enum): + """The edifact character set. + """ + + not_specified = "NotSpecified" + unob = "UNOB" + unoa = "UNOA" + unoc = "UNOC" + unod = "UNOD" + unoe = "UNOE" + unof = "UNOF" + unog = "UNOG" + unoh = "UNOH" + unoi = "UNOI" + unoj = "UNOJ" + unok = "UNOK" + unox = "UNOX" + unoy = "UNOY" + keca = "KECA" + +class IntegrationServiceEnvironmentSkuScaleType(str, Enum): + """The integration service environment sku scale type. + """ + + manual = "Manual" + automatic = "Automatic" + none = "None" + +class IntegrationServiceEnvironmentNetworkEndPointAccessibilityState(str, Enum): + """The integration service environment network endpoint accessibility state. + """ + + not_specified = "NotSpecified" + unknown = "Unknown" + available = "Available" + not_available = "NotAvailable" + +class IntegrationServiceEnvironmentNetworkDependencyCategoryType(str, Enum): + """The integration service environment network dependency category type. + """ + + not_specified = "NotSpecified" + azure_storage = "AzureStorage" + azure_management = "AzureManagement" + azure_active_directory = "AzureActiveDirectory" + ssl_certificate_verification = "SSLCertificateVerification" + diagnostic_logs_and_metrics = "DiagnosticLogsAndMetrics" + integration_service_environment_connectors = "IntegrationServiceEnvironmentConnectors" + redis_cache = "RedisCache" + access_endpoints = "AccessEndpoints" + recovery_service = "RecoveryService" + sql = "SQL" + regional_service = "RegionalService" + +class ErrorResponseCode(str, Enum): + """The error response code. + """ + + not_specified = "NotSpecified" + integration_service_environment_not_found = "IntegrationServiceEnvironmentNotFound" + internal_server_error = "InternalServerError" + invalid_operation_id = "InvalidOperationId" + +class ApiType(str, Enum): + + not_specified = "NotSpecified" + rest = "Rest" + soap = "Soap" + +class WsdlImportMethod(str, Enum): + """The WSDL import method. + """ + + not_specified = "NotSpecified" + soap_to_rest = "SoapToRest" + soap_pass_through = "SoapPassThrough" + +class ApiDeploymentParameterVisibility(str, Enum): + """The Api deployment parameter visibility. + """ + + not_specified = "NotSpecified" + default = "Default" + internal = "Internal" + +class ApiTier(str, Enum): + """The Api tier. + """ + + not_specified = "NotSpecified" + enterprise = "Enterprise" + standard = "Standard" + premium = "Premium" + +class SwaggerSchemaType(str, Enum): + """The swagger schema type. + """ + + string = "String" + number = "Number" + integer = "Integer" + boolean = "Boolean" + array = "Array" + file = "File" + object = "Object" + null = "Null" + +class StatusAnnotation(str, Enum): + """The status annotation. + """ + + not_specified = "NotSpecified" + preview = "Preview" + production = "Production" + +class KeyType(str, Enum): + """The key type. + """ + + not_specified = "NotSpecified" + primary = "Primary" + secondary = "Secondary" + +class TrackEventsOperationOptions(str, Enum): + """The track events operation options. + """ + + none = "None" + disable_source_info_enrich = "DisableSourceInfoEnrich" + +class IntegrationServiceEnvironmentNetworkDependencyHealthState(str, Enum): + """The integration service environment network dependency health state. + """ + + not_specified = "NotSpecified" + healthy = "Healthy" + unhealthy = "Unhealthy" + unknown = "Unknown" + +class AzureAsyncOperationState(str, Enum): + """The Azure async operation state. + """ + + failed = "Failed" + succeeded = "Succeeded" + pending = "Pending" + canceled = "Canceled" diff --git a/src/logic/azext_logic/vendored_sdks/logic/models/_models.py b/src/logic/azext_logic/vendored_sdks/logic/models/_models.py new file mode 100644 index 00000000000..baf7e711522 --- /dev/null +++ b/src/logic/azext_logic/vendored_sdks/logic/models/_models.py @@ -0,0 +1,7951 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from azure.core.exceptions import HttpResponseError +import msrest.serialization + + +class AgreementContent(msrest.serialization.Model): + """The integration account agreement content. + + :param a_s2: The AS2 agreement content. + :type a_s2: ~azure.mgmt.logic.models.As2AgreementContent + :param x12: The X12 agreement content. + :type x12: ~azure.mgmt.logic.models.X12AgreementContent + :param edifact: The EDIFACT agreement content. + :type edifact: ~azure.mgmt.logic.models.EdifactAgreementContent + """ + + _attribute_map = { + 'a_s2': {'key': 'aS2', 'type': 'As2AgreementContent'}, + 'x12': {'key': 'x12', 'type': 'X12AgreementContent'}, + 'edifact': {'key': 'edifact', 'type': 'EdifactAgreementContent'}, + } + + def __init__( + self, + **kwargs + ): + super(AgreementContent, self).__init__(**kwargs) + self.a_s2 = kwargs.get('a_s2', None) + self.x12 = kwargs.get('x12', None) + self.edifact = kwargs.get('edifact', None) + + +class ApiDeploymentParameterMetadata(msrest.serialization.Model): + """The API deployment parameter metadata. + + :param type: The type. + :type type: str + :param is_required: Indicates whether its required. + :type is_required: bool + :param display_name: The display name. + :type display_name: str + :param description: The description. + :type description: str + :param visibility: The visibility. Possible values include: "NotSpecified", "Default", + "Internal". + :type visibility: str or ~azure.mgmt.logic.models.ApiDeploymentParameterVisibility + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'is_required': {'key': 'isRequired', 'type': 'bool'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'visibility': {'key': 'visibility', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ApiDeploymentParameterMetadata, self).__init__(**kwargs) + self.type = kwargs.get('type', None) + self.is_required = kwargs.get('is_required', None) + self.display_name = kwargs.get('display_name', None) + self.description = kwargs.get('description', None) + self.visibility = kwargs.get('visibility', None) + + +class ApiDeploymentParameterMetadataSet(msrest.serialization.Model): + """The API deployment parameters metadata. + + :param package_content_link: The package content link parameter. + :type package_content_link: ~azure.mgmt.logic.models.ApiDeploymentParameterMetadata + :param redis_cache_connection_string: The package content link parameter. + :type redis_cache_connection_string: ~azure.mgmt.logic.models.ApiDeploymentParameterMetadata + """ + + _attribute_map = { + 'package_content_link': {'key': 'packageContentLink', 'type': 'ApiDeploymentParameterMetadata'}, + 'redis_cache_connection_string': {'key': 'redisCacheConnectionString', 'type': 'ApiDeploymentParameterMetadata'}, + } + + def __init__( + self, + **kwargs + ): + super(ApiDeploymentParameterMetadataSet, self).__init__(**kwargs) + self.package_content_link = kwargs.get('package_content_link', None) + self.redis_cache_connection_string = kwargs.get('redis_cache_connection_string', None) + + +class Resource(msrest.serialization.Model): + """The base resource type. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: The resource id. + :vartype id: str + :ivar name: Gets the resource name. + :vartype name: str + :ivar type: Gets the resource type. + :vartype type: str + :param location: The resource location. + :type location: str + :param tags: A set of tags. The resource tags. + :type tags: dict[str, str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__( + self, + **kwargs + ): + super(Resource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.location = kwargs.get('location', None) + self.tags = kwargs.get('tags', None) + + +class ApiOperation(Resource): + """The api operation. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: The resource id. + :vartype id: str + :ivar name: Gets the resource name. + :vartype name: str + :ivar type: Gets the resource type. + :vartype type: str + :param location: The resource location. + :type location: str + :param tags: A set of tags. The resource tags. + :type tags: dict[str, str] + :param properties: The api operations properties. + :type properties: ~azure.mgmt.logic.models.ApiOperationPropertiesDefinition + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'properties': {'key': 'properties', 'type': 'ApiOperationPropertiesDefinition'}, + } + + def __init__( + self, + **kwargs + ): + super(ApiOperation, self).__init__(**kwargs) + self.properties = kwargs.get('properties', None) + + +class ApiOperationAnnotation(msrest.serialization.Model): + """The Api Operation Annotation. + + :param status: The status annotation. Possible values include: "NotSpecified", "Preview", + "Production". + :type status: str or ~azure.mgmt.logic.models.StatusAnnotation + :param family: The family. + :type family: str + :param revision: The revision. + :type revision: int + """ + + _attribute_map = { + 'status': {'key': 'status', 'type': 'str'}, + 'family': {'key': 'family', 'type': 'str'}, + 'revision': {'key': 'revision', 'type': 'int'}, + } + + def __init__( + self, + **kwargs + ): + super(ApiOperationAnnotation, self).__init__(**kwargs) + self.status = kwargs.get('status', None) + self.family = kwargs.get('family', None) + self.revision = kwargs.get('revision', None) + + +class ApiOperationListResult(msrest.serialization.Model): + """The list of managed API operations. + + :param value: The api operation definitions for an API. + :type value: list[~azure.mgmt.logic.models.ApiOperation] + :param next_link: The URL to get the next set of results. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ApiOperation]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ApiOperationListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class ApiOperationPropertiesDefinition(msrest.serialization.Model): + """The api operations properties. + + :param summary: The summary of the api operation. + :type summary: str + :param description: The description of the api operation. + :type description: str + :param visibility: The visibility of the api operation. + :type visibility: str + :param trigger: The trigger type of api operation. + :type trigger: str + :param trigger_hint: The trigger hint for the api operation. + :type trigger_hint: str + :param pageable: Indicates whether the api operation is pageable. + :type pageable: bool + :param annotation: The annotation of api operation. + :type annotation: ~azure.mgmt.logic.models.ApiOperationAnnotation + :param api: The api reference. + :type api: ~azure.mgmt.logic.models.ApiReference + :param inputs_definition: The operation inputs definition schema. + :type inputs_definition: ~azure.mgmt.logic.models.SwaggerSchema + :param responses_definition: The operation responses definition schemas. + :type responses_definition: dict[str, ~azure.mgmt.logic.models.SwaggerSchema] + :param is_webhook: Indicates whether the API operation is webhook or not. + :type is_webhook: bool + :param is_notification: Indicates whether the API operation is notification or not. + :type is_notification: bool + """ + + _attribute_map = { + 'summary': {'key': 'summary', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'visibility': {'key': 'visibility', 'type': 'str'}, + 'trigger': {'key': 'trigger', 'type': 'str'}, + 'trigger_hint': {'key': 'triggerHint', 'type': 'str'}, + 'pageable': {'key': 'pageable', 'type': 'bool'}, + 'annotation': {'key': 'annotation', 'type': 'ApiOperationAnnotation'}, + 'api': {'key': 'api', 'type': 'ApiReference'}, + 'inputs_definition': {'key': 'inputsDefinition', 'type': 'SwaggerSchema'}, + 'responses_definition': {'key': 'responsesDefinition', 'type': '{SwaggerSchema}'}, + 'is_webhook': {'key': 'isWebhook', 'type': 'bool'}, + 'is_notification': {'key': 'isNotification', 'type': 'bool'}, + } + + def __init__( + self, + **kwargs + ): + super(ApiOperationPropertiesDefinition, self).__init__(**kwargs) + self.summary = kwargs.get('summary', None) + self.description = kwargs.get('description', None) + self.visibility = kwargs.get('visibility', None) + self.trigger = kwargs.get('trigger', None) + self.trigger_hint = kwargs.get('trigger_hint', None) + self.pageable = kwargs.get('pageable', None) + self.annotation = kwargs.get('annotation', None) + self.api = kwargs.get('api', None) + self.inputs_definition = kwargs.get('inputs_definition', None) + self.responses_definition = kwargs.get('responses_definition', None) + self.is_webhook = kwargs.get('is_webhook', None) + self.is_notification = kwargs.get('is_notification', None) + + +class ResourceReference(msrest.serialization.Model): + """The resource reference. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param id: The resource id. + :type id: str + :ivar name: Gets the resource name. + :vartype name: str + :ivar type: Gets the resource type. + :vartype type: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ResourceReference, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.name = None + self.type = None + + +class ApiReference(ResourceReference): + """The Api reference. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param id: The resource id. + :type id: str + :ivar name: Gets the resource name. + :vartype name: str + :ivar type: Gets the resource type. + :vartype type: str + :param display_name: The display name of the api. + :type display_name: str + :param description: The description of the api. + :type description: str + :param icon_uri: The icon uri of the api. + :type icon_uri: str + :param swagger: The swagger of the api. + :type swagger: object + :param brand_color: The brand color of the api. + :type brand_color: str + :param category: The tier. Possible values include: "NotSpecified", "Enterprise", "Standard", + "Premium". + :type category: str or ~azure.mgmt.logic.models.ApiTier + :param integration_service_environment: The integration service environment reference. + :type integration_service_environment: ~azure.mgmt.logic.models.ResourceReference + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'icon_uri': {'key': 'iconUri', 'type': 'str'}, + 'swagger': {'key': 'swagger', 'type': 'object'}, + 'brand_color': {'key': 'brandColor', 'type': 'str'}, + 'category': {'key': 'category', 'type': 'str'}, + 'integration_service_environment': {'key': 'integrationServiceEnvironment', 'type': 'ResourceReference'}, + } + + def __init__( + self, + **kwargs + ): + super(ApiReference, self).__init__(**kwargs) + self.display_name = kwargs.get('display_name', None) + self.description = kwargs.get('description', None) + self.icon_uri = kwargs.get('icon_uri', None) + self.swagger = kwargs.get('swagger', None) + self.brand_color = kwargs.get('brand_color', None) + self.category = kwargs.get('category', None) + self.integration_service_environment = kwargs.get('integration_service_environment', None) + + +class ApiResourceBackendService(msrest.serialization.Model): + """The API backend service. + + :param service_url: The service URL. + :type service_url: str + """ + + _attribute_map = { + 'service_url': {'key': 'serviceUrl', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ApiResourceBackendService, self).__init__(**kwargs) + self.service_url = kwargs.get('service_url', None) + + +class ApiResourceDefinitions(msrest.serialization.Model): + """The Api resource definition. + + :param original_swagger_url: The original swagger url. + :type original_swagger_url: str + :param modified_swagger_url: The modified swagger url. + :type modified_swagger_url: str + """ + + _attribute_map = { + 'original_swagger_url': {'key': 'originalSwaggerUrl', 'type': 'str'}, + 'modified_swagger_url': {'key': 'modifiedSwaggerUrl', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ApiResourceDefinitions, self).__init__(**kwargs) + self.original_swagger_url = kwargs.get('original_swagger_url', None) + self.modified_swagger_url = kwargs.get('modified_swagger_url', None) + + +class ApiResourceGeneralInformation(msrest.serialization.Model): + """The API general information. + + :param icon_url: The icon url. + :type icon_url: str + :param display_name: The display name. + :type display_name: str + :param description: The description. + :type description: str + :param terms_of_use_url: The terms of use url. + :type terms_of_use_url: str + :param release_tag: The release tag. + :type release_tag: str + :param tier: The tier. Possible values include: "NotSpecified", "Enterprise", "Standard", + "Premium". + :type tier: str or ~azure.mgmt.logic.models.ApiTier + """ + + _attribute_map = { + 'icon_url': {'key': 'iconUrl', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'terms_of_use_url': {'key': 'termsOfUseUrl', 'type': 'str'}, + 'release_tag': {'key': 'releaseTag', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ApiResourceGeneralInformation, self).__init__(**kwargs) + self.icon_url = kwargs.get('icon_url', None) + self.display_name = kwargs.get('display_name', None) + self.description = kwargs.get('description', None) + self.terms_of_use_url = kwargs.get('terms_of_use_url', None) + self.release_tag = kwargs.get('release_tag', None) + self.tier = kwargs.get('tier', None) + + +class ApiResourceMetadata(msrest.serialization.Model): + """The api resource metadata. + + :param source: The source. + :type source: str + :param brand_color: The brand color. + :type brand_color: str + :param hide_key: The hide key. + :type hide_key: str + :param tags: A set of tags. The tags. + :type tags: dict[str, str] + :param api_type: The api type. Possible values include: "NotSpecified", "Rest", "Soap". + :type api_type: str or ~azure.mgmt.logic.models.ApiType + :param wsdl_service: The WSDL service. + :type wsdl_service: ~azure.mgmt.logic.models.WsdlService + :param wsdl_import_method: The WSDL import method. Possible values include: "NotSpecified", + "SoapToRest", "SoapPassThrough". + :type wsdl_import_method: str or ~azure.mgmt.logic.models.WsdlImportMethod + :param connection_type: The connection type. + :type connection_type: str + :param provisioning_state: The provisioning state. Possible values include: "NotSpecified", + "Accepted", "Running", "Ready", "Creating", "Created", "Deleting", "Deleted", "Canceled", + "Failed", "Succeeded", "Moving", "Updating", "Registering", "Registered", "Unregistering", + "Unregistered", "Completed", "Renewing", "Pending", "Waiting", "InProgress". + :type provisioning_state: str or ~azure.mgmt.logic.models.WorkflowProvisioningState + :param deployment_parameters: The connector deployment parameters metadata. + :type deployment_parameters: ~azure.mgmt.logic.models.ApiDeploymentParameterMetadataSet + """ + + _attribute_map = { + 'source': {'key': 'source', 'type': 'str'}, + 'brand_color': {'key': 'brandColor', 'type': 'str'}, + 'hide_key': {'key': 'hideKey', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'api_type': {'key': 'ApiType', 'type': 'str'}, + 'wsdl_service': {'key': 'wsdlService', 'type': 'WsdlService'}, + 'wsdl_import_method': {'key': 'wsdlImportMethod', 'type': 'str'}, + 'connection_type': {'key': 'connectionType', 'type': 'str'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'deployment_parameters': {'key': 'deploymentParameters', 'type': 'ApiDeploymentParameterMetadataSet'}, + } + + def __init__( + self, + **kwargs + ): + super(ApiResourceMetadata, self).__init__(**kwargs) + self.source = kwargs.get('source', None) + self.brand_color = kwargs.get('brand_color', None) + self.hide_key = kwargs.get('hide_key', None) + self.tags = kwargs.get('tags', None) + self.api_type = kwargs.get('api_type', None) + self.wsdl_service = kwargs.get('wsdl_service', None) + self.wsdl_import_method = kwargs.get('wsdl_import_method', None) + self.connection_type = kwargs.get('connection_type', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.deployment_parameters = kwargs.get('deployment_parameters', None) + + +class ApiResourcePolicies(msrest.serialization.Model): + """The API resource policies. + + :param content: The API level only policies XML as embedded content. + :type content: str + :param content_link: The content link to the policies. + :type content_link: str + """ + + _attribute_map = { + 'content': {'key': 'content', 'type': 'str'}, + 'content_link': {'key': 'contentLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ApiResourcePolicies, self).__init__(**kwargs) + self.content = kwargs.get('content', None) + self.content_link = kwargs.get('content_link', None) + + +class ApiResourceProperties(msrest.serialization.Model): + """The API resource properties. + + :param name: The name. + :type name: str + :param connection_parameters: The connection parameters. + :type connection_parameters: dict[str, object] + :param metadata: The metadata. + :type metadata: ~azure.mgmt.logic.models.ApiResourceMetadata + :param runtime_urls: The runtime urls. + :type runtime_urls: list[str] + :param general_information: The api general information. + :type general_information: ~azure.mgmt.logic.models.ApiResourceGeneralInformation + :param capabilities: The capabilities. + :type capabilities: list[str] + :param backend_service: The backend service. + :type backend_service: ~azure.mgmt.logic.models.ApiResourceBackendService + :param policies: The policies for the API. + :type policies: ~azure.mgmt.logic.models.ApiResourcePolicies + :param api_definition_url: The API definition. + :type api_definition_url: str + :param api_definitions: The api definitions. + :type api_definitions: ~azure.mgmt.logic.models.ApiResourceDefinitions + :param integration_service_environment: The integration service environment reference. + :type integration_service_environment: ~azure.mgmt.logic.models.ResourceReference + :param provisioning_state: The provisioning state. Possible values include: "NotSpecified", + "Accepted", "Running", "Ready", "Creating", "Created", "Deleting", "Deleted", "Canceled", + "Failed", "Succeeded", "Moving", "Updating", "Registering", "Registered", "Unregistering", + "Unregistered", "Completed", "Renewing", "Pending", "Waiting", "InProgress". + :type provisioning_state: str or ~azure.mgmt.logic.models.WorkflowProvisioningState + :param category: The category. Possible values include: "NotSpecified", "Enterprise", + "Standard", "Premium". + :type category: str or ~azure.mgmt.logic.models.ApiTier + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'connection_parameters': {'key': 'connectionParameters', 'type': '{object}'}, + 'metadata': {'key': 'metadata', 'type': 'ApiResourceMetadata'}, + 'runtime_urls': {'key': 'runtimeUrls', 'type': '[str]'}, + 'general_information': {'key': 'generalInformation', 'type': 'ApiResourceGeneralInformation'}, + 'capabilities': {'key': 'capabilities', 'type': '[str]'}, + 'backend_service': {'key': 'backendService', 'type': 'ApiResourceBackendService'}, + 'policies': {'key': 'policies', 'type': 'ApiResourcePolicies'}, + 'api_definition_url': {'key': 'apiDefinitionUrl', 'type': 'str'}, + 'api_definitions': {'key': 'apiDefinitions', 'type': 'ApiResourceDefinitions'}, + 'integration_service_environment': {'key': 'integrationServiceEnvironment', 'type': 'ResourceReference'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'category': {'key': 'category', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ApiResourceProperties, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.connection_parameters = kwargs.get('connection_parameters', None) + self.metadata = kwargs.get('metadata', None) + self.runtime_urls = kwargs.get('runtime_urls', None) + self.general_information = kwargs.get('general_information', None) + self.capabilities = kwargs.get('capabilities', None) + self.backend_service = kwargs.get('backend_service', None) + self.policies = kwargs.get('policies', None) + self.api_definition_url = kwargs.get('api_definition_url', None) + self.api_definitions = kwargs.get('api_definitions', None) + self.integration_service_environment = kwargs.get('integration_service_environment', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.category = kwargs.get('category', None) + + +class ArtifactProperties(msrest.serialization.Model): + """The artifact properties definition. + + :param created_time: The artifact creation time. + :type created_time: ~datetime.datetime + :param changed_time: The artifact changed time. + :type changed_time: ~datetime.datetime + :param metadata: Any object. + :type metadata: object + """ + + _attribute_map = { + 'created_time': {'key': 'createdTime', 'type': 'iso-8601'}, + 'changed_time': {'key': 'changedTime', 'type': 'iso-8601'}, + 'metadata': {'key': 'metadata', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(ArtifactProperties, self).__init__(**kwargs) + self.created_time = kwargs.get('created_time', None) + self.changed_time = kwargs.get('changed_time', None) + self.metadata = kwargs.get('metadata', None) + + +class ArtifactContentPropertiesDefinition(ArtifactProperties): + """The artifact content properties definition. + + :param created_time: The artifact creation time. + :type created_time: ~datetime.datetime + :param changed_time: The artifact changed time. + :type changed_time: ~datetime.datetime + :param metadata: Any object. + :type metadata: object + :param content: Any object. + :type content: object + :param content_type: The content type. + :type content_type: str + :param content_link: The content link. + :type content_link: ~azure.mgmt.logic.models.ContentLink + """ + + _attribute_map = { + 'created_time': {'key': 'createdTime', 'type': 'iso-8601'}, + 'changed_time': {'key': 'changedTime', 'type': 'iso-8601'}, + 'metadata': {'key': 'metadata', 'type': 'object'}, + 'content': {'key': 'content', 'type': 'object'}, + 'content_type': {'key': 'contentType', 'type': 'str'}, + 'content_link': {'key': 'contentLink', 'type': 'ContentLink'}, + } + + def __init__( + self, + **kwargs + ): + super(ArtifactContentPropertiesDefinition, self).__init__(**kwargs) + self.content = kwargs.get('content', None) + self.content_type = kwargs.get('content_type', None) + self.content_link = kwargs.get('content_link', None) + + +class As2AcknowledgementConnectionSettings(msrest.serialization.Model): + """The AS2 agreement acknowledgement connection settings. + + All required parameters must be populated in order to send to Azure. + + :param ignore_certificate_name_mismatch: Required. Indicates whether to ignore mismatch in + certificate name. + :type ignore_certificate_name_mismatch: bool + :param support_http_status_code_continue: Required. Indicates whether to support HTTP status + code 'CONTINUE'. + :type support_http_status_code_continue: bool + :param keep_http_connection_alive: Required. Indicates whether to keep the connection alive. + :type keep_http_connection_alive: bool + :param unfold_http_headers: Required. Indicates whether to unfold the HTTP headers. + :type unfold_http_headers: bool + """ + + _validation = { + 'ignore_certificate_name_mismatch': {'required': True}, + 'support_http_status_code_continue': {'required': True}, + 'keep_http_connection_alive': {'required': True}, + 'unfold_http_headers': {'required': True}, + } + + _attribute_map = { + 'ignore_certificate_name_mismatch': {'key': 'ignoreCertificateNameMismatch', 'type': 'bool'}, + 'support_http_status_code_continue': {'key': 'supportHttpStatusCodeContinue', 'type': 'bool'}, + 'keep_http_connection_alive': {'key': 'keepHttpConnectionAlive', 'type': 'bool'}, + 'unfold_http_headers': {'key': 'unfoldHttpHeaders', 'type': 'bool'}, + } + + def __init__( + self, + **kwargs + ): + super(As2AcknowledgementConnectionSettings, self).__init__(**kwargs) + self.ignore_certificate_name_mismatch = kwargs['ignore_certificate_name_mismatch'] + self.support_http_status_code_continue = kwargs['support_http_status_code_continue'] + self.keep_http_connection_alive = kwargs['keep_http_connection_alive'] + self.unfold_http_headers = kwargs['unfold_http_headers'] + + +class As2AgreementContent(msrest.serialization.Model): + """The integration account AS2 agreement content. + + All required parameters must be populated in order to send to Azure. + + :param receive_agreement: Required. The AS2 one-way receive agreement. + :type receive_agreement: ~azure.mgmt.logic.models.As2OneWayAgreement + :param send_agreement: Required. The AS2 one-way send agreement. + :type send_agreement: ~azure.mgmt.logic.models.As2OneWayAgreement + """ + + _validation = { + 'receive_agreement': {'required': True}, + 'send_agreement': {'required': True}, + } + + _attribute_map = { + 'receive_agreement': {'key': 'receiveAgreement', 'type': 'As2OneWayAgreement'}, + 'send_agreement': {'key': 'sendAgreement', 'type': 'As2OneWayAgreement'}, + } + + def __init__( + self, + **kwargs + ): + super(As2AgreementContent, self).__init__(**kwargs) + self.receive_agreement = kwargs['receive_agreement'] + self.send_agreement = kwargs['send_agreement'] + + +class As2EnvelopeSettings(msrest.serialization.Model): + """The AS2 agreement envelope settings. + + All required parameters must be populated in order to send to Azure. + + :param message_content_type: Required. The message content type. + :type message_content_type: str + :param transmit_file_name_in_mime_header: Required. The value indicating whether to transmit + file name in mime header. + :type transmit_file_name_in_mime_header: bool + :param file_name_template: Required. The template for file name. + :type file_name_template: str + :param suspend_message_on_file_name_generation_error: Required. The value indicating whether to + suspend message on file name generation error. + :type suspend_message_on_file_name_generation_error: bool + :param autogenerate_file_name: Required. The value indicating whether to auto generate file + name. + :type autogenerate_file_name: bool + """ + + _validation = { + 'message_content_type': {'required': True}, + 'transmit_file_name_in_mime_header': {'required': True}, + 'file_name_template': {'required': True}, + 'suspend_message_on_file_name_generation_error': {'required': True}, + 'autogenerate_file_name': {'required': True}, + } + + _attribute_map = { + 'message_content_type': {'key': 'messageContentType', 'type': 'str'}, + 'transmit_file_name_in_mime_header': {'key': 'transmitFileNameInMimeHeader', 'type': 'bool'}, + 'file_name_template': {'key': 'fileNameTemplate', 'type': 'str'}, + 'suspend_message_on_file_name_generation_error': {'key': 'suspendMessageOnFileNameGenerationError', 'type': 'bool'}, + 'autogenerate_file_name': {'key': 'autogenerateFileName', 'type': 'bool'}, + } + + def __init__( + self, + **kwargs + ): + super(As2EnvelopeSettings, self).__init__(**kwargs) + self.message_content_type = kwargs['message_content_type'] + self.transmit_file_name_in_mime_header = kwargs['transmit_file_name_in_mime_header'] + self.file_name_template = kwargs['file_name_template'] + self.suspend_message_on_file_name_generation_error = kwargs['suspend_message_on_file_name_generation_error'] + self.autogenerate_file_name = kwargs['autogenerate_file_name'] + + +class As2ErrorSettings(msrest.serialization.Model): + """The AS2 agreement error settings. + + All required parameters must be populated in order to send to Azure. + + :param suspend_duplicate_message: Required. The value indicating whether to suspend duplicate + message. + :type suspend_duplicate_message: bool + :param resend_if_mdn_not_received: Required. The value indicating whether to resend message If + MDN is not received. + :type resend_if_mdn_not_received: bool + """ + + _validation = { + 'suspend_duplicate_message': {'required': True}, + 'resend_if_mdn_not_received': {'required': True}, + } + + _attribute_map = { + 'suspend_duplicate_message': {'key': 'suspendDuplicateMessage', 'type': 'bool'}, + 'resend_if_mdn_not_received': {'key': 'resendIfMDNNotReceived', 'type': 'bool'}, + } + + def __init__( + self, + **kwargs + ): + super(As2ErrorSettings, self).__init__(**kwargs) + self.suspend_duplicate_message = kwargs['suspend_duplicate_message'] + self.resend_if_mdn_not_received = kwargs['resend_if_mdn_not_received'] + + +class As2MdnSettings(msrest.serialization.Model): + """The AS2 agreement mdn settings. + + All required parameters must be populated in order to send to Azure. + + :param need_mdn: Required. The value indicating whether to send or request a MDN. + :type need_mdn: bool + :param sign_mdn: Required. The value indicating whether the MDN needs to be signed or not. + :type sign_mdn: bool + :param send_mdn_asynchronously: Required. The value indicating whether to send the asynchronous + MDN. + :type send_mdn_asynchronously: bool + :param receipt_delivery_url: The receipt delivery URL. + :type receipt_delivery_url: str + :param disposition_notification_to: The disposition notification to header value. + :type disposition_notification_to: str + :param sign_outbound_mdn_if_optional: Required. The value indicating whether to sign the + outbound MDN if optional. + :type sign_outbound_mdn_if_optional: bool + :param mdn_text: The MDN text. + :type mdn_text: str + :param send_inbound_mdn_to_message_box: Required. The value indicating whether to send inbound + MDN to message box. + :type send_inbound_mdn_to_message_box: bool + :param mic_hashing_algorithm: Required. The signing or hashing algorithm. Possible values + include: "NotSpecified", "None", "MD5", "SHA1", "SHA2256", "SHA2384", "SHA2512". + :type mic_hashing_algorithm: str or ~azure.mgmt.logic.models.HashingAlgorithm + """ + + _validation = { + 'need_mdn': {'required': True}, + 'sign_mdn': {'required': True}, + 'send_mdn_asynchronously': {'required': True}, + 'sign_outbound_mdn_if_optional': {'required': True}, + 'send_inbound_mdn_to_message_box': {'required': True}, + 'mic_hashing_algorithm': {'required': True}, + } + + _attribute_map = { + 'need_mdn': {'key': 'needMDN', 'type': 'bool'}, + 'sign_mdn': {'key': 'signMDN', 'type': 'bool'}, + 'send_mdn_asynchronously': {'key': 'sendMDNAsynchronously', 'type': 'bool'}, + 'receipt_delivery_url': {'key': 'receiptDeliveryUrl', 'type': 'str'}, + 'disposition_notification_to': {'key': 'dispositionNotificationTo', 'type': 'str'}, + 'sign_outbound_mdn_if_optional': {'key': 'signOutboundMDNIfOptional', 'type': 'bool'}, + 'mdn_text': {'key': 'mdnText', 'type': 'str'}, + 'send_inbound_mdn_to_message_box': {'key': 'sendInboundMDNToMessageBox', 'type': 'bool'}, + 'mic_hashing_algorithm': {'key': 'micHashingAlgorithm', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(As2MdnSettings, self).__init__(**kwargs) + self.need_mdn = kwargs['need_mdn'] + self.sign_mdn = kwargs['sign_mdn'] + self.send_mdn_asynchronously = kwargs['send_mdn_asynchronously'] + self.receipt_delivery_url = kwargs.get('receipt_delivery_url', None) + self.disposition_notification_to = kwargs.get('disposition_notification_to', None) + self.sign_outbound_mdn_if_optional = kwargs['sign_outbound_mdn_if_optional'] + self.mdn_text = kwargs.get('mdn_text', None) + self.send_inbound_mdn_to_message_box = kwargs['send_inbound_mdn_to_message_box'] + self.mic_hashing_algorithm = kwargs['mic_hashing_algorithm'] + + +class As2MessageConnectionSettings(msrest.serialization.Model): + """The AS2 agreement message connection settings. + + All required parameters must be populated in order to send to Azure. + + :param ignore_certificate_name_mismatch: Required. The value indicating whether to ignore + mismatch in certificate name. + :type ignore_certificate_name_mismatch: bool + :param support_http_status_code_continue: Required. The value indicating whether to support + HTTP status code 'CONTINUE'. + :type support_http_status_code_continue: bool + :param keep_http_connection_alive: Required. The value indicating whether to keep the + connection alive. + :type keep_http_connection_alive: bool + :param unfold_http_headers: Required. The value indicating whether to unfold the HTTP headers. + :type unfold_http_headers: bool + """ + + _validation = { + 'ignore_certificate_name_mismatch': {'required': True}, + 'support_http_status_code_continue': {'required': True}, + 'keep_http_connection_alive': {'required': True}, + 'unfold_http_headers': {'required': True}, + } + + _attribute_map = { + 'ignore_certificate_name_mismatch': {'key': 'ignoreCertificateNameMismatch', 'type': 'bool'}, + 'support_http_status_code_continue': {'key': 'supportHttpStatusCodeContinue', 'type': 'bool'}, + 'keep_http_connection_alive': {'key': 'keepHttpConnectionAlive', 'type': 'bool'}, + 'unfold_http_headers': {'key': 'unfoldHttpHeaders', 'type': 'bool'}, + } + + def __init__( + self, + **kwargs + ): + super(As2MessageConnectionSettings, self).__init__(**kwargs) + self.ignore_certificate_name_mismatch = kwargs['ignore_certificate_name_mismatch'] + self.support_http_status_code_continue = kwargs['support_http_status_code_continue'] + self.keep_http_connection_alive = kwargs['keep_http_connection_alive'] + self.unfold_http_headers = kwargs['unfold_http_headers'] + + +class As2OneWayAgreement(msrest.serialization.Model): + """The integration account AS2 one-way agreement. + + All required parameters must be populated in order to send to Azure. + + :param sender_business_identity: Required. The sender business identity. + :type sender_business_identity: ~azure.mgmt.logic.models.BusinessIdentity + :param receiver_business_identity: Required. The receiver business identity. + :type receiver_business_identity: ~azure.mgmt.logic.models.BusinessIdentity + :param protocol_settings: Required. The AS2 protocol settings. + :type protocol_settings: ~azure.mgmt.logic.models.As2ProtocolSettings + """ + + _validation = { + 'sender_business_identity': {'required': True}, + 'receiver_business_identity': {'required': True}, + 'protocol_settings': {'required': True}, + } + + _attribute_map = { + 'sender_business_identity': {'key': 'senderBusinessIdentity', 'type': 'BusinessIdentity'}, + 'receiver_business_identity': {'key': 'receiverBusinessIdentity', 'type': 'BusinessIdentity'}, + 'protocol_settings': {'key': 'protocolSettings', 'type': 'As2ProtocolSettings'}, + } + + def __init__( + self, + **kwargs + ): + super(As2OneWayAgreement, self).__init__(**kwargs) + self.sender_business_identity = kwargs['sender_business_identity'] + self.receiver_business_identity = kwargs['receiver_business_identity'] + self.protocol_settings = kwargs['protocol_settings'] + + +class As2ProtocolSettings(msrest.serialization.Model): + """The AS2 agreement protocol settings. + + All required parameters must be populated in order to send to Azure. + + :param message_connection_settings: Required. The message connection settings. + :type message_connection_settings: ~azure.mgmt.logic.models.As2MessageConnectionSettings + :param acknowledgement_connection_settings: Required. The acknowledgement connection settings. + :type acknowledgement_connection_settings: + ~azure.mgmt.logic.models.As2AcknowledgementConnectionSettings + :param mdn_settings: Required. The MDN settings. + :type mdn_settings: ~azure.mgmt.logic.models.As2MdnSettings + :param security_settings: Required. The security settings. + :type security_settings: ~azure.mgmt.logic.models.As2SecuritySettings + :param validation_settings: Required. The validation settings. + :type validation_settings: ~azure.mgmt.logic.models.As2ValidationSettings + :param envelope_settings: Required. The envelope settings. + :type envelope_settings: ~azure.mgmt.logic.models.As2EnvelopeSettings + :param error_settings: Required. The error settings. + :type error_settings: ~azure.mgmt.logic.models.As2ErrorSettings + """ + + _validation = { + 'message_connection_settings': {'required': True}, + 'acknowledgement_connection_settings': {'required': True}, + 'mdn_settings': {'required': True}, + 'security_settings': {'required': True}, + 'validation_settings': {'required': True}, + 'envelope_settings': {'required': True}, + 'error_settings': {'required': True}, + } + + _attribute_map = { + 'message_connection_settings': {'key': 'messageConnectionSettings', 'type': 'As2MessageConnectionSettings'}, + 'acknowledgement_connection_settings': {'key': 'acknowledgementConnectionSettings', 'type': 'As2AcknowledgementConnectionSettings'}, + 'mdn_settings': {'key': 'mdnSettings', 'type': 'As2MdnSettings'}, + 'security_settings': {'key': 'securitySettings', 'type': 'As2SecuritySettings'}, + 'validation_settings': {'key': 'validationSettings', 'type': 'As2ValidationSettings'}, + 'envelope_settings': {'key': 'envelopeSettings', 'type': 'As2EnvelopeSettings'}, + 'error_settings': {'key': 'errorSettings', 'type': 'As2ErrorSettings'}, + } + + def __init__( + self, + **kwargs + ): + super(As2ProtocolSettings, self).__init__(**kwargs) + self.message_connection_settings = kwargs['message_connection_settings'] + self.acknowledgement_connection_settings = kwargs['acknowledgement_connection_settings'] + self.mdn_settings = kwargs['mdn_settings'] + self.security_settings = kwargs['security_settings'] + self.validation_settings = kwargs['validation_settings'] + self.envelope_settings = kwargs['envelope_settings'] + self.error_settings = kwargs['error_settings'] + + +class As2SecuritySettings(msrest.serialization.Model): + """The AS2 agreement security settings. + + All required parameters must be populated in order to send to Azure. + + :param override_group_signing_certificate: Required. The value indicating whether to send or + request a MDN. + :type override_group_signing_certificate: bool + :param signing_certificate_name: The name of the signing certificate. + :type signing_certificate_name: str + :param encryption_certificate_name: The name of the encryption certificate. + :type encryption_certificate_name: str + :param enable_nrr_for_inbound_encoded_messages: Required. The value indicating whether to + enable NRR for inbound encoded messages. + :type enable_nrr_for_inbound_encoded_messages: bool + :param enable_nrr_for_inbound_decoded_messages: Required. The value indicating whether to + enable NRR for inbound decoded messages. + :type enable_nrr_for_inbound_decoded_messages: bool + :param enable_nrr_for_outbound_mdn: Required. The value indicating whether to enable NRR for + outbound MDN. + :type enable_nrr_for_outbound_mdn: bool + :param enable_nrr_for_outbound_encoded_messages: Required. The value indicating whether to + enable NRR for outbound encoded messages. + :type enable_nrr_for_outbound_encoded_messages: bool + :param enable_nrr_for_outbound_decoded_messages: Required. The value indicating whether to + enable NRR for outbound decoded messages. + :type enable_nrr_for_outbound_decoded_messages: bool + :param enable_nrr_for_inbound_mdn: Required. The value indicating whether to enable NRR for + inbound MDN. + :type enable_nrr_for_inbound_mdn: bool + :param sha2_algorithm_format: The Sha2 algorithm format. Valid values are Sha2, ShaHashSize, + ShaHyphenHashSize, Sha2UnderscoreHashSize. + :type sha2_algorithm_format: str + """ + + _validation = { + 'override_group_signing_certificate': {'required': True}, + 'enable_nrr_for_inbound_encoded_messages': {'required': True}, + 'enable_nrr_for_inbound_decoded_messages': {'required': True}, + 'enable_nrr_for_outbound_mdn': {'required': True}, + 'enable_nrr_for_outbound_encoded_messages': {'required': True}, + 'enable_nrr_for_outbound_decoded_messages': {'required': True}, + 'enable_nrr_for_inbound_mdn': {'required': True}, + } + + _attribute_map = { + 'override_group_signing_certificate': {'key': 'overrideGroupSigningCertificate', 'type': 'bool'}, + 'signing_certificate_name': {'key': 'signingCertificateName', 'type': 'str'}, + 'encryption_certificate_name': {'key': 'encryptionCertificateName', 'type': 'str'}, + 'enable_nrr_for_inbound_encoded_messages': {'key': 'enableNRRForInboundEncodedMessages', 'type': 'bool'}, + 'enable_nrr_for_inbound_decoded_messages': {'key': 'enableNRRForInboundDecodedMessages', 'type': 'bool'}, + 'enable_nrr_for_outbound_mdn': {'key': 'enableNRRForOutboundMDN', 'type': 'bool'}, + 'enable_nrr_for_outbound_encoded_messages': {'key': 'enableNRRForOutboundEncodedMessages', 'type': 'bool'}, + 'enable_nrr_for_outbound_decoded_messages': {'key': 'enableNRRForOutboundDecodedMessages', 'type': 'bool'}, + 'enable_nrr_for_inbound_mdn': {'key': 'enableNRRForInboundMDN', 'type': 'bool'}, + 'sha2_algorithm_format': {'key': 'sha2AlgorithmFormat', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(As2SecuritySettings, self).__init__(**kwargs) + self.override_group_signing_certificate = kwargs['override_group_signing_certificate'] + self.signing_certificate_name = kwargs.get('signing_certificate_name', None) + self.encryption_certificate_name = kwargs.get('encryption_certificate_name', None) + self.enable_nrr_for_inbound_encoded_messages = kwargs['enable_nrr_for_inbound_encoded_messages'] + self.enable_nrr_for_inbound_decoded_messages = kwargs['enable_nrr_for_inbound_decoded_messages'] + self.enable_nrr_for_outbound_mdn = kwargs['enable_nrr_for_outbound_mdn'] + self.enable_nrr_for_outbound_encoded_messages = kwargs['enable_nrr_for_outbound_encoded_messages'] + self.enable_nrr_for_outbound_decoded_messages = kwargs['enable_nrr_for_outbound_decoded_messages'] + self.enable_nrr_for_inbound_mdn = kwargs['enable_nrr_for_inbound_mdn'] + self.sha2_algorithm_format = kwargs.get('sha2_algorithm_format', None) + + +class As2ValidationSettings(msrest.serialization.Model): + """The AS2 agreement validation settings. + + All required parameters must be populated in order to send to Azure. + + :param override_message_properties: Required. The value indicating whether to override incoming + message properties with those in agreement. + :type override_message_properties: bool + :param encrypt_message: Required. The value indicating whether the message has to be encrypted. + :type encrypt_message: bool + :param sign_message: Required. The value indicating whether the message has to be signed. + :type sign_message: bool + :param compress_message: Required. The value indicating whether the message has to be + compressed. + :type compress_message: bool + :param check_duplicate_message: Required. The value indicating whether to check for duplicate + message. + :type check_duplicate_message: bool + :param interchange_duplicates_validity_days: Required. The number of days to look back for + duplicate interchange. + :type interchange_duplicates_validity_days: int + :param check_certificate_revocation_list_on_send: Required. The value indicating whether to + check for certificate revocation list on send. + :type check_certificate_revocation_list_on_send: bool + :param check_certificate_revocation_list_on_receive: Required. The value indicating whether to + check for certificate revocation list on receive. + :type check_certificate_revocation_list_on_receive: bool + :param encryption_algorithm: Required. The encryption algorithm. Possible values include: + "NotSpecified", "None", "DES3", "RC2", "AES128", "AES192", "AES256". + :type encryption_algorithm: str or ~azure.mgmt.logic.models.EncryptionAlgorithm + :param signing_algorithm: The signing algorithm. Possible values include: "NotSpecified", + "Default", "SHA1", "SHA2256", "SHA2384", "SHA2512". + :type signing_algorithm: str or ~azure.mgmt.logic.models.SigningAlgorithm + """ + + _validation = { + 'override_message_properties': {'required': True}, + 'encrypt_message': {'required': True}, + 'sign_message': {'required': True}, + 'compress_message': {'required': True}, + 'check_duplicate_message': {'required': True}, + 'interchange_duplicates_validity_days': {'required': True}, + 'check_certificate_revocation_list_on_send': {'required': True}, + 'check_certificate_revocation_list_on_receive': {'required': True}, + 'encryption_algorithm': {'required': True}, + } + + _attribute_map = { + 'override_message_properties': {'key': 'overrideMessageProperties', 'type': 'bool'}, + 'encrypt_message': {'key': 'encryptMessage', 'type': 'bool'}, + 'sign_message': {'key': 'signMessage', 'type': 'bool'}, + 'compress_message': {'key': 'compressMessage', 'type': 'bool'}, + 'check_duplicate_message': {'key': 'checkDuplicateMessage', 'type': 'bool'}, + 'interchange_duplicates_validity_days': {'key': 'interchangeDuplicatesValidityDays', 'type': 'int'}, + 'check_certificate_revocation_list_on_send': {'key': 'checkCertificateRevocationListOnSend', 'type': 'bool'}, + 'check_certificate_revocation_list_on_receive': {'key': 'checkCertificateRevocationListOnReceive', 'type': 'bool'}, + 'encryption_algorithm': {'key': 'encryptionAlgorithm', 'type': 'str'}, + 'signing_algorithm': {'key': 'signingAlgorithm', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(As2ValidationSettings, self).__init__(**kwargs) + self.override_message_properties = kwargs['override_message_properties'] + self.encrypt_message = kwargs['encrypt_message'] + self.sign_message = kwargs['sign_message'] + self.compress_message = kwargs['compress_message'] + self.check_duplicate_message = kwargs['check_duplicate_message'] + self.interchange_duplicates_validity_days = kwargs['interchange_duplicates_validity_days'] + self.check_certificate_revocation_list_on_send = kwargs['check_certificate_revocation_list_on_send'] + self.check_certificate_revocation_list_on_receive = kwargs['check_certificate_revocation_list_on_receive'] + self.encryption_algorithm = kwargs['encryption_algorithm'] + self.signing_algorithm = kwargs.get('signing_algorithm', None) + + +class AssemblyCollection(msrest.serialization.Model): + """A collection of assembly definitions. + + :param value: + :type value: list[~azure.mgmt.logic.models.AssemblyDefinition] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[AssemblyDefinition]'}, + } + + def __init__( + self, + **kwargs + ): + super(AssemblyCollection, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + + +class AssemblyDefinition(Resource): + """The assembly definition. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The resource id. + :vartype id: str + :ivar name: Gets the resource name. + :vartype name: str + :ivar type: Gets the resource type. + :vartype type: str + :param location: The resource location. + :type location: str + :param tags: A set of tags. The resource tags. + :type tags: dict[str, str] + :param properties: Required. The assembly properties. + :type properties: ~azure.mgmt.logic.models.AssemblyProperties + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'properties': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'properties': {'key': 'properties', 'type': 'AssemblyProperties'}, + } + + def __init__( + self, + **kwargs + ): + super(AssemblyDefinition, self).__init__(**kwargs) + self.properties = kwargs['properties'] + + +class AssemblyProperties(ArtifactContentPropertiesDefinition): + """The assembly properties definition. + + All required parameters must be populated in order to send to Azure. + + :param created_time: The artifact creation time. + :type created_time: ~datetime.datetime + :param changed_time: The artifact changed time. + :type changed_time: ~datetime.datetime + :param metadata: Any object. + :type metadata: object + :param content: Any object. + :type content: object + :param content_type: The content type. + :type content_type: str + :param content_link: The content link. + :type content_link: ~azure.mgmt.logic.models.ContentLink + :param assembly_name: Required. The assembly name. + :type assembly_name: str + :param assembly_version: The assembly version. + :type assembly_version: str + :param assembly_culture: The assembly culture. + :type assembly_culture: str + :param assembly_public_key_token: The assembly public key token. + :type assembly_public_key_token: str + """ + + _validation = { + 'assembly_name': {'required': True}, + } + + _attribute_map = { + 'created_time': {'key': 'createdTime', 'type': 'iso-8601'}, + 'changed_time': {'key': 'changedTime', 'type': 'iso-8601'}, + 'metadata': {'key': 'metadata', 'type': 'object'}, + 'content': {'key': 'content', 'type': 'object'}, + 'content_type': {'key': 'contentType', 'type': 'str'}, + 'content_link': {'key': 'contentLink', 'type': 'ContentLink'}, + 'assembly_name': {'key': 'assemblyName', 'type': 'str'}, + 'assembly_version': {'key': 'assemblyVersion', 'type': 'str'}, + 'assembly_culture': {'key': 'assemblyCulture', 'type': 'str'}, + 'assembly_public_key_token': {'key': 'assemblyPublicKeyToken', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(AssemblyProperties, self).__init__(**kwargs) + self.assembly_name = kwargs['assembly_name'] + self.assembly_version = kwargs.get('assembly_version', None) + self.assembly_culture = kwargs.get('assembly_culture', None) + self.assembly_public_key_token = kwargs.get('assembly_public_key_token', None) + + +class ErrorInfo(msrest.serialization.Model): + """The error info. + + All required parameters must be populated in order to send to Azure. + + :param code: Required. The error code. + :type code: str + """ + + _validation = { + 'code': {'required': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ErrorInfo, self).__init__(**kwargs) + self.code = kwargs['code'] + + +class AzureResourceErrorInfo(ErrorInfo): + """The azure resource error info. + + All required parameters must be populated in order to send to Azure. + + :param code: Required. The error code. + :type code: str + :param message: Required. The error message. + :type message: str + :param details: The error details. + :type details: list[~azure.mgmt.logic.models.AzureResourceErrorInfo] + """ + + _validation = { + 'code': {'required': True}, + 'message': {'required': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[AzureResourceErrorInfo]'}, + } + + def __init__( + self, + **kwargs + ): + super(AzureResourceErrorInfo, self).__init__(**kwargs) + self.message = kwargs['message'] + self.details = kwargs.get('details', None) + + +class B2BPartnerContent(msrest.serialization.Model): + """The B2B partner content. + + :param business_identities: The list of partner business identities. + :type business_identities: list[~azure.mgmt.logic.models.BusinessIdentity] + """ + + _attribute_map = { + 'business_identities': {'key': 'businessIdentities', 'type': '[BusinessIdentity]'}, + } + + def __init__( + self, + **kwargs + ): + super(B2BPartnerContent, self).__init__(**kwargs) + self.business_identities = kwargs.get('business_identities', None) + + +class BatchConfiguration(Resource): + """The batch configuration resource definition. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The resource id. + :vartype id: str + :ivar name: Gets the resource name. + :vartype name: str + :ivar type: Gets the resource type. + :vartype type: str + :param location: The resource location. + :type location: str + :param tags: A set of tags. The resource tags. + :type tags: dict[str, str] + :param properties: Required. The batch configuration properties. + :type properties: ~azure.mgmt.logic.models.BatchConfigurationProperties + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'properties': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'properties': {'key': 'properties', 'type': 'BatchConfigurationProperties'}, + } + + def __init__( + self, + **kwargs + ): + super(BatchConfiguration, self).__init__(**kwargs) + self.properties = kwargs['properties'] + + +class BatchConfigurationCollection(msrest.serialization.Model): + """A collection of batch configurations. + + :param value: + :type value: list[~azure.mgmt.logic.models.BatchConfiguration] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[BatchConfiguration]'}, + } + + def __init__( + self, + **kwargs + ): + super(BatchConfigurationCollection, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + + +class BatchConfigurationProperties(ArtifactProperties): + """The batch configuration properties definition. + + All required parameters must be populated in order to send to Azure. + + :param metadata: Any object. + :type metadata: object + :param batch_group_name: Required. The name of the batch group. + :type batch_group_name: str + :param release_criteria: Required. The batch release criteria. + :type release_criteria: ~azure.mgmt.logic.models.BatchReleaseCriteria + :param created_time: The created time. + :type created_time: ~datetime.datetime + :param changed_time: The changed time. + :type changed_time: ~datetime.datetime + """ + + _validation = { + 'batch_group_name': {'required': True}, + 'release_criteria': {'required': True}, + } + + _attribute_map = { + 'metadata': {'key': 'metadata', 'type': 'object'}, + 'batch_group_name': {'key': 'batchGroupName', 'type': 'str'}, + 'release_criteria': {'key': 'releaseCriteria', 'type': 'BatchReleaseCriteria'}, + 'created_time': {'key': 'createdTime', 'type': 'iso-8601'}, + 'changed_time': {'key': 'changedTime', 'type': 'iso-8601'}, + } + + def __init__( + self, + **kwargs + ): + super(BatchConfigurationProperties, self).__init__(**kwargs) + self.batch_group_name = kwargs['batch_group_name'] + self.release_criteria = kwargs['release_criteria'] + self.created_time = kwargs.get('created_time', None) + self.changed_time = kwargs.get('changed_time', None) + + +class BatchReleaseCriteria(msrest.serialization.Model): + """The batch release criteria. + + :param message_count: The message count. + :type message_count: int + :param batch_size: The batch size in bytes. + :type batch_size: int + :param recurrence: The recurrence. + :type recurrence: ~azure.mgmt.logic.models.WorkflowTriggerRecurrence + """ + + _attribute_map = { + 'message_count': {'key': 'messageCount', 'type': 'int'}, + 'batch_size': {'key': 'batchSize', 'type': 'int'}, + 'recurrence': {'key': 'recurrence', 'type': 'WorkflowTriggerRecurrence'}, + } + + def __init__( + self, + **kwargs + ): + super(BatchReleaseCriteria, self).__init__(**kwargs) + self.message_count = kwargs.get('message_count', None) + self.batch_size = kwargs.get('batch_size', None) + self.recurrence = kwargs.get('recurrence', None) + + +class BusinessIdentity(msrest.serialization.Model): + """The integration account partner's business identity. + + All required parameters must be populated in order to send to Azure. + + :param qualifier: Required. The business identity qualifier e.g. as2identity, ZZ, ZZZ, 31, 32. + :type qualifier: str + :param value: Required. The user defined business identity value. + :type value: str + """ + + _validation = { + 'qualifier': {'required': True}, + 'value': {'required': True}, + } + + _attribute_map = { + 'qualifier': {'key': 'qualifier', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(BusinessIdentity, self).__init__(**kwargs) + self.qualifier = kwargs['qualifier'] + self.value = kwargs['value'] + + +class CallbackUrl(msrest.serialization.Model): + """The callback url. + + :param value: The URL value. + :type value: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(CallbackUrl, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + + +class ContentHash(msrest.serialization.Model): + """The content hash. + + :param algorithm: The algorithm of the content hash. + :type algorithm: str + :param value: The value of the content hash. + :type value: str + """ + + _attribute_map = { + 'algorithm': {'key': 'algorithm', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ContentHash, self).__init__(**kwargs) + self.algorithm = kwargs.get('algorithm', None) + self.value = kwargs.get('value', None) + + +class ContentLink(msrest.serialization.Model): + """The content link. + + :param uri: The content link URI. + :type uri: str + :param content_version: The content version. + :type content_version: str + :param content_size: The content size. + :type content_size: long + :param content_hash: The content hash. + :type content_hash: ~azure.mgmt.logic.models.ContentHash + :param metadata: The metadata. + :type metadata: object + """ + + _attribute_map = { + 'uri': {'key': 'uri', 'type': 'str'}, + 'content_version': {'key': 'contentVersion', 'type': 'str'}, + 'content_size': {'key': 'contentSize', 'type': 'long'}, + 'content_hash': {'key': 'contentHash', 'type': 'ContentHash'}, + 'metadata': {'key': 'metadata', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(ContentLink, self).__init__(**kwargs) + self.uri = kwargs.get('uri', None) + self.content_version = kwargs.get('content_version', None) + self.content_size = kwargs.get('content_size', None) + self.content_hash = kwargs.get('content_hash', None) + self.metadata = kwargs.get('metadata', None) + + +class Correlation(msrest.serialization.Model): + """The correlation property. + + :param client_tracking_id: The client tracking id. + :type client_tracking_id: str + """ + + _attribute_map = { + 'client_tracking_id': {'key': 'clientTrackingId', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(Correlation, self).__init__(**kwargs) + self.client_tracking_id = kwargs.get('client_tracking_id', None) + + +class EdifactAcknowledgementSettings(msrest.serialization.Model): + """The Edifact agreement acknowledgement settings. + + All required parameters must be populated in order to send to Azure. + + :param need_technical_acknowledgement: Required. The value indicating whether technical + acknowledgement is needed. + :type need_technical_acknowledgement: bool + :param batch_technical_acknowledgements: Required. The value indicating whether to batch the + technical acknowledgements. + :type batch_technical_acknowledgements: bool + :param need_functional_acknowledgement: Required. The value indicating whether functional + acknowledgement is needed. + :type need_functional_acknowledgement: bool + :param batch_functional_acknowledgements: Required. The value indicating whether to batch + functional acknowledgements. + :type batch_functional_acknowledgements: bool + :param need_loop_for_valid_messages: Required. The value indicating whether a loop is needed + for valid messages. + :type need_loop_for_valid_messages: bool + :param send_synchronous_acknowledgement: Required. The value indicating whether to send + synchronous acknowledgement. + :type send_synchronous_acknowledgement: bool + :param acknowledgement_control_number_prefix: The acknowledgement control number prefix. + :type acknowledgement_control_number_prefix: str + :param acknowledgement_control_number_suffix: The acknowledgement control number suffix. + :type acknowledgement_control_number_suffix: str + :param acknowledgement_control_number_lower_bound: Required. The acknowledgement control number + lower bound. + :type acknowledgement_control_number_lower_bound: int + :param acknowledgement_control_number_upper_bound: Required. The acknowledgement control number + upper bound. + :type acknowledgement_control_number_upper_bound: int + :param rollover_acknowledgement_control_number: Required. The value indicating whether to + rollover acknowledgement control number. + :type rollover_acknowledgement_control_number: bool + """ + + _validation = { + 'need_technical_acknowledgement': {'required': True}, + 'batch_technical_acknowledgements': {'required': True}, + 'need_functional_acknowledgement': {'required': True}, + 'batch_functional_acknowledgements': {'required': True}, + 'need_loop_for_valid_messages': {'required': True}, + 'send_synchronous_acknowledgement': {'required': True}, + 'acknowledgement_control_number_lower_bound': {'required': True}, + 'acknowledgement_control_number_upper_bound': {'required': True}, + 'rollover_acknowledgement_control_number': {'required': True}, + } + + _attribute_map = { + 'need_technical_acknowledgement': {'key': 'needTechnicalAcknowledgement', 'type': 'bool'}, + 'batch_technical_acknowledgements': {'key': 'batchTechnicalAcknowledgements', 'type': 'bool'}, + 'need_functional_acknowledgement': {'key': 'needFunctionalAcknowledgement', 'type': 'bool'}, + 'batch_functional_acknowledgements': {'key': 'batchFunctionalAcknowledgements', 'type': 'bool'}, + 'need_loop_for_valid_messages': {'key': 'needLoopForValidMessages', 'type': 'bool'}, + 'send_synchronous_acknowledgement': {'key': 'sendSynchronousAcknowledgement', 'type': 'bool'}, + 'acknowledgement_control_number_prefix': {'key': 'acknowledgementControlNumberPrefix', 'type': 'str'}, + 'acknowledgement_control_number_suffix': {'key': 'acknowledgementControlNumberSuffix', 'type': 'str'}, + 'acknowledgement_control_number_lower_bound': {'key': 'acknowledgementControlNumberLowerBound', 'type': 'int'}, + 'acknowledgement_control_number_upper_bound': {'key': 'acknowledgementControlNumberUpperBound', 'type': 'int'}, + 'rollover_acknowledgement_control_number': {'key': 'rolloverAcknowledgementControlNumber', 'type': 'bool'}, + } + + def __init__( + self, + **kwargs + ): + super(EdifactAcknowledgementSettings, self).__init__(**kwargs) + self.need_technical_acknowledgement = kwargs['need_technical_acknowledgement'] + self.batch_technical_acknowledgements = kwargs['batch_technical_acknowledgements'] + self.need_functional_acknowledgement = kwargs['need_functional_acknowledgement'] + self.batch_functional_acknowledgements = kwargs['batch_functional_acknowledgements'] + self.need_loop_for_valid_messages = kwargs['need_loop_for_valid_messages'] + self.send_synchronous_acknowledgement = kwargs['send_synchronous_acknowledgement'] + self.acknowledgement_control_number_prefix = kwargs.get('acknowledgement_control_number_prefix', None) + self.acknowledgement_control_number_suffix = kwargs.get('acknowledgement_control_number_suffix', None) + self.acknowledgement_control_number_lower_bound = kwargs['acknowledgement_control_number_lower_bound'] + self.acknowledgement_control_number_upper_bound = kwargs['acknowledgement_control_number_upper_bound'] + self.rollover_acknowledgement_control_number = kwargs['rollover_acknowledgement_control_number'] + + +class EdifactAgreementContent(msrest.serialization.Model): + """The Edifact agreement content. + + All required parameters must be populated in order to send to Azure. + + :param receive_agreement: Required. The EDIFACT one-way receive agreement. + :type receive_agreement: ~azure.mgmt.logic.models.EdifactOneWayAgreement + :param send_agreement: Required. The EDIFACT one-way send agreement. + :type send_agreement: ~azure.mgmt.logic.models.EdifactOneWayAgreement + """ + + _validation = { + 'receive_agreement': {'required': True}, + 'send_agreement': {'required': True}, + } + + _attribute_map = { + 'receive_agreement': {'key': 'receiveAgreement', 'type': 'EdifactOneWayAgreement'}, + 'send_agreement': {'key': 'sendAgreement', 'type': 'EdifactOneWayAgreement'}, + } + + def __init__( + self, + **kwargs + ): + super(EdifactAgreementContent, self).__init__(**kwargs) + self.receive_agreement = kwargs['receive_agreement'] + self.send_agreement = kwargs['send_agreement'] + + +class EdifactDelimiterOverride(msrest.serialization.Model): + """The Edifact delimiter override settings. + + All required parameters must be populated in order to send to Azure. + + :param message_id: The message id. + :type message_id: str + :param message_version: The message version. + :type message_version: str + :param message_release: The message release. + :type message_release: str + :param data_element_separator: Required. The data element separator. + :type data_element_separator: int + :param component_separator: Required. The component separator. + :type component_separator: int + :param segment_terminator: Required. The segment terminator. + :type segment_terminator: int + :param repetition_separator: Required. The repetition separator. + :type repetition_separator: int + :param segment_terminator_suffix: Required. The segment terminator suffix. Possible values + include: "NotSpecified", "None", "CR", "LF", "CRLF". + :type segment_terminator_suffix: str or ~azure.mgmt.logic.models.SegmentTerminatorSuffix + :param decimal_point_indicator: Required. The decimal point indicator. Possible values include: + "NotSpecified", "Comma", "Decimal". + :type decimal_point_indicator: str or ~azure.mgmt.logic.models.EdifactDecimalIndicator + :param release_indicator: Required. The release indicator. + :type release_indicator: int + :param message_association_assigned_code: The message association assigned code. + :type message_association_assigned_code: str + :param target_namespace: The target namespace on which this delimiter settings has to be + applied. + :type target_namespace: str + """ + + _validation = { + 'data_element_separator': {'required': True}, + 'component_separator': {'required': True}, + 'segment_terminator': {'required': True}, + 'repetition_separator': {'required': True}, + 'segment_terminator_suffix': {'required': True}, + 'decimal_point_indicator': {'required': True}, + 'release_indicator': {'required': True}, + } + + _attribute_map = { + 'message_id': {'key': 'messageId', 'type': 'str'}, + 'message_version': {'key': 'messageVersion', 'type': 'str'}, + 'message_release': {'key': 'messageRelease', 'type': 'str'}, + 'data_element_separator': {'key': 'dataElementSeparator', 'type': 'int'}, + 'component_separator': {'key': 'componentSeparator', 'type': 'int'}, + 'segment_terminator': {'key': 'segmentTerminator', 'type': 'int'}, + 'repetition_separator': {'key': 'repetitionSeparator', 'type': 'int'}, + 'segment_terminator_suffix': {'key': 'segmentTerminatorSuffix', 'type': 'str'}, + 'decimal_point_indicator': {'key': 'decimalPointIndicator', 'type': 'str'}, + 'release_indicator': {'key': 'releaseIndicator', 'type': 'int'}, + 'message_association_assigned_code': {'key': 'messageAssociationAssignedCode', 'type': 'str'}, + 'target_namespace': {'key': 'targetNamespace', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(EdifactDelimiterOverride, self).__init__(**kwargs) + self.message_id = kwargs.get('message_id', None) + self.message_version = kwargs.get('message_version', None) + self.message_release = kwargs.get('message_release', None) + self.data_element_separator = kwargs['data_element_separator'] + self.component_separator = kwargs['component_separator'] + self.segment_terminator = kwargs['segment_terminator'] + self.repetition_separator = kwargs['repetition_separator'] + self.segment_terminator_suffix = kwargs['segment_terminator_suffix'] + self.decimal_point_indicator = kwargs['decimal_point_indicator'] + self.release_indicator = kwargs['release_indicator'] + self.message_association_assigned_code = kwargs.get('message_association_assigned_code', None) + self.target_namespace = kwargs.get('target_namespace', None) + + +class EdifactEnvelopeOverride(msrest.serialization.Model): + """The Edifact envelope override settings. + + :param message_id: The message id on which this envelope settings has to be applied. + :type message_id: str + :param message_version: The message version on which this envelope settings has to be applied. + :type message_version: str + :param message_release: The message release version on which this envelope settings has to be + applied. + :type message_release: str + :param message_association_assigned_code: The message association assigned code. + :type message_association_assigned_code: str + :param target_namespace: The target namespace on which this envelope settings has to be + applied. + :type target_namespace: str + :param functional_group_id: The functional group id. + :type functional_group_id: str + :param sender_application_qualifier: The sender application qualifier. + :type sender_application_qualifier: str + :param sender_application_id: The sender application id. + :type sender_application_id: str + :param receiver_application_qualifier: The receiver application qualifier. + :type receiver_application_qualifier: str + :param receiver_application_id: The receiver application id. + :type receiver_application_id: str + :param controlling_agency_code: The controlling agency code. + :type controlling_agency_code: str + :param group_header_message_version: The group header message version. + :type group_header_message_version: str + :param group_header_message_release: The group header message release. + :type group_header_message_release: str + :param association_assigned_code: The association assigned code. + :type association_assigned_code: str + :param application_password: The application password. + :type application_password: str + """ + + _attribute_map = { + 'message_id': {'key': 'messageId', 'type': 'str'}, + 'message_version': {'key': 'messageVersion', 'type': 'str'}, + 'message_release': {'key': 'messageRelease', 'type': 'str'}, + 'message_association_assigned_code': {'key': 'messageAssociationAssignedCode', 'type': 'str'}, + 'target_namespace': {'key': 'targetNamespace', 'type': 'str'}, + 'functional_group_id': {'key': 'functionalGroupId', 'type': 'str'}, + 'sender_application_qualifier': {'key': 'senderApplicationQualifier', 'type': 'str'}, + 'sender_application_id': {'key': 'senderApplicationId', 'type': 'str'}, + 'receiver_application_qualifier': {'key': 'receiverApplicationQualifier', 'type': 'str'}, + 'receiver_application_id': {'key': 'receiverApplicationId', 'type': 'str'}, + 'controlling_agency_code': {'key': 'controllingAgencyCode', 'type': 'str'}, + 'group_header_message_version': {'key': 'groupHeaderMessageVersion', 'type': 'str'}, + 'group_header_message_release': {'key': 'groupHeaderMessageRelease', 'type': 'str'}, + 'association_assigned_code': {'key': 'associationAssignedCode', 'type': 'str'}, + 'application_password': {'key': 'applicationPassword', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(EdifactEnvelopeOverride, self).__init__(**kwargs) + self.message_id = kwargs.get('message_id', None) + self.message_version = kwargs.get('message_version', None) + self.message_release = kwargs.get('message_release', None) + self.message_association_assigned_code = kwargs.get('message_association_assigned_code', None) + self.target_namespace = kwargs.get('target_namespace', None) + self.functional_group_id = kwargs.get('functional_group_id', None) + self.sender_application_qualifier = kwargs.get('sender_application_qualifier', None) + self.sender_application_id = kwargs.get('sender_application_id', None) + self.receiver_application_qualifier = kwargs.get('receiver_application_qualifier', None) + self.receiver_application_id = kwargs.get('receiver_application_id', None) + self.controlling_agency_code = kwargs.get('controlling_agency_code', None) + self.group_header_message_version = kwargs.get('group_header_message_version', None) + self.group_header_message_release = kwargs.get('group_header_message_release', None) + self.association_assigned_code = kwargs.get('association_assigned_code', None) + self.application_password = kwargs.get('application_password', None) + + +class EdifactEnvelopeSettings(msrest.serialization.Model): + """The Edifact agreement envelope settings. + + All required parameters must be populated in order to send to Azure. + + :param group_association_assigned_code: The group association assigned code. + :type group_association_assigned_code: str + :param communication_agreement_id: The communication agreement id. + :type communication_agreement_id: str + :param apply_delimiter_string_advice: Required. The value indicating whether to apply delimiter + string advice. + :type apply_delimiter_string_advice: bool + :param create_grouping_segments: Required. The value indicating whether to create grouping + segments. + :type create_grouping_segments: bool + :param enable_default_group_headers: Required. The value indicating whether to enable default + group headers. + :type enable_default_group_headers: bool + :param recipient_reference_password_value: The recipient reference password value. + :type recipient_reference_password_value: str + :param recipient_reference_password_qualifier: The recipient reference password qualifier. + :type recipient_reference_password_qualifier: str + :param application_reference_id: The application reference id. + :type application_reference_id: str + :param processing_priority_code: The processing priority code. + :type processing_priority_code: str + :param interchange_control_number_lower_bound: Required. The interchange control number lower + bound. + :type interchange_control_number_lower_bound: long + :param interchange_control_number_upper_bound: Required. The interchange control number upper + bound. + :type interchange_control_number_upper_bound: long + :param rollover_interchange_control_number: Required. The value indicating whether to rollover + interchange control number. + :type rollover_interchange_control_number: bool + :param interchange_control_number_prefix: The interchange control number prefix. + :type interchange_control_number_prefix: str + :param interchange_control_number_suffix: The interchange control number suffix. + :type interchange_control_number_suffix: str + :param sender_reverse_routing_address: The sender reverse routing address. + :type sender_reverse_routing_address: str + :param receiver_reverse_routing_address: The receiver reverse routing address. + :type receiver_reverse_routing_address: str + :param functional_group_id: The functional group id. + :type functional_group_id: str + :param group_controlling_agency_code: The group controlling agency code. + :type group_controlling_agency_code: str + :param group_message_version: The group message version. + :type group_message_version: str + :param group_message_release: The group message release. + :type group_message_release: str + :param group_control_number_lower_bound: Required. The group control number lower bound. + :type group_control_number_lower_bound: long + :param group_control_number_upper_bound: Required. The group control number upper bound. + :type group_control_number_upper_bound: long + :param rollover_group_control_number: Required. The value indicating whether to rollover group + control number. + :type rollover_group_control_number: bool + :param group_control_number_prefix: The group control number prefix. + :type group_control_number_prefix: str + :param group_control_number_suffix: The group control number suffix. + :type group_control_number_suffix: str + :param group_application_receiver_qualifier: The group application receiver qualifier. + :type group_application_receiver_qualifier: str + :param group_application_receiver_id: The group application receiver id. + :type group_application_receiver_id: str + :param group_application_sender_qualifier: The group application sender qualifier. + :type group_application_sender_qualifier: str + :param group_application_sender_id: The group application sender id. + :type group_application_sender_id: str + :param group_application_password: The group application password. + :type group_application_password: str + :param overwrite_existing_transaction_set_control_number: Required. The value indicating + whether to overwrite existing transaction set control number. + :type overwrite_existing_transaction_set_control_number: bool + :param transaction_set_control_number_prefix: The transaction set control number prefix. + :type transaction_set_control_number_prefix: str + :param transaction_set_control_number_suffix: The transaction set control number suffix. + :type transaction_set_control_number_suffix: str + :param transaction_set_control_number_lower_bound: Required. The transaction set control number + lower bound. + :type transaction_set_control_number_lower_bound: long + :param transaction_set_control_number_upper_bound: Required. The transaction set control number + upper bound. + :type transaction_set_control_number_upper_bound: long + :param rollover_transaction_set_control_number: Required. The value indicating whether to + rollover transaction set control number. + :type rollover_transaction_set_control_number: bool + :param is_test_interchange: Required. The value indicating whether the message is a test + interchange. + :type is_test_interchange: bool + :param sender_internal_identification: The sender internal identification. + :type sender_internal_identification: str + :param sender_internal_sub_identification: The sender internal sub identification. + :type sender_internal_sub_identification: str + :param receiver_internal_identification: The receiver internal identification. + :type receiver_internal_identification: str + :param receiver_internal_sub_identification: The receiver internal sub identification. + :type receiver_internal_sub_identification: str + """ + + _validation = { + 'apply_delimiter_string_advice': {'required': True}, + 'create_grouping_segments': {'required': True}, + 'enable_default_group_headers': {'required': True}, + 'interchange_control_number_lower_bound': {'required': True}, + 'interchange_control_number_upper_bound': {'required': True}, + 'rollover_interchange_control_number': {'required': True}, + 'group_control_number_lower_bound': {'required': True}, + 'group_control_number_upper_bound': {'required': True}, + 'rollover_group_control_number': {'required': True}, + 'overwrite_existing_transaction_set_control_number': {'required': True}, + 'transaction_set_control_number_lower_bound': {'required': True}, + 'transaction_set_control_number_upper_bound': {'required': True}, + 'rollover_transaction_set_control_number': {'required': True}, + 'is_test_interchange': {'required': True}, + } + + _attribute_map = { + 'group_association_assigned_code': {'key': 'groupAssociationAssignedCode', 'type': 'str'}, + 'communication_agreement_id': {'key': 'communicationAgreementId', 'type': 'str'}, + 'apply_delimiter_string_advice': {'key': 'applyDelimiterStringAdvice', 'type': 'bool'}, + 'create_grouping_segments': {'key': 'createGroupingSegments', 'type': 'bool'}, + 'enable_default_group_headers': {'key': 'enableDefaultGroupHeaders', 'type': 'bool'}, + 'recipient_reference_password_value': {'key': 'recipientReferencePasswordValue', 'type': 'str'}, + 'recipient_reference_password_qualifier': {'key': 'recipientReferencePasswordQualifier', 'type': 'str'}, + 'application_reference_id': {'key': 'applicationReferenceId', 'type': 'str'}, + 'processing_priority_code': {'key': 'processingPriorityCode', 'type': 'str'}, + 'interchange_control_number_lower_bound': {'key': 'interchangeControlNumberLowerBound', 'type': 'long'}, + 'interchange_control_number_upper_bound': {'key': 'interchangeControlNumberUpperBound', 'type': 'long'}, + 'rollover_interchange_control_number': {'key': 'rolloverInterchangeControlNumber', 'type': 'bool'}, + 'interchange_control_number_prefix': {'key': 'interchangeControlNumberPrefix', 'type': 'str'}, + 'interchange_control_number_suffix': {'key': 'interchangeControlNumberSuffix', 'type': 'str'}, + 'sender_reverse_routing_address': {'key': 'senderReverseRoutingAddress', 'type': 'str'}, + 'receiver_reverse_routing_address': {'key': 'receiverReverseRoutingAddress', 'type': 'str'}, + 'functional_group_id': {'key': 'functionalGroupId', 'type': 'str'}, + 'group_controlling_agency_code': {'key': 'groupControllingAgencyCode', 'type': 'str'}, + 'group_message_version': {'key': 'groupMessageVersion', 'type': 'str'}, + 'group_message_release': {'key': 'groupMessageRelease', 'type': 'str'}, + 'group_control_number_lower_bound': {'key': 'groupControlNumberLowerBound', 'type': 'long'}, + 'group_control_number_upper_bound': {'key': 'groupControlNumberUpperBound', 'type': 'long'}, + 'rollover_group_control_number': {'key': 'rolloverGroupControlNumber', 'type': 'bool'}, + 'group_control_number_prefix': {'key': 'groupControlNumberPrefix', 'type': 'str'}, + 'group_control_number_suffix': {'key': 'groupControlNumberSuffix', 'type': 'str'}, + 'group_application_receiver_qualifier': {'key': 'groupApplicationReceiverQualifier', 'type': 'str'}, + 'group_application_receiver_id': {'key': 'groupApplicationReceiverId', 'type': 'str'}, + 'group_application_sender_qualifier': {'key': 'groupApplicationSenderQualifier', 'type': 'str'}, + 'group_application_sender_id': {'key': 'groupApplicationSenderId', 'type': 'str'}, + 'group_application_password': {'key': 'groupApplicationPassword', 'type': 'str'}, + 'overwrite_existing_transaction_set_control_number': {'key': 'overwriteExistingTransactionSetControlNumber', 'type': 'bool'}, + 'transaction_set_control_number_prefix': {'key': 'transactionSetControlNumberPrefix', 'type': 'str'}, + 'transaction_set_control_number_suffix': {'key': 'transactionSetControlNumberSuffix', 'type': 'str'}, + 'transaction_set_control_number_lower_bound': {'key': 'transactionSetControlNumberLowerBound', 'type': 'long'}, + 'transaction_set_control_number_upper_bound': {'key': 'transactionSetControlNumberUpperBound', 'type': 'long'}, + 'rollover_transaction_set_control_number': {'key': 'rolloverTransactionSetControlNumber', 'type': 'bool'}, + 'is_test_interchange': {'key': 'isTestInterchange', 'type': 'bool'}, + 'sender_internal_identification': {'key': 'senderInternalIdentification', 'type': 'str'}, + 'sender_internal_sub_identification': {'key': 'senderInternalSubIdentification', 'type': 'str'}, + 'receiver_internal_identification': {'key': 'receiverInternalIdentification', 'type': 'str'}, + 'receiver_internal_sub_identification': {'key': 'receiverInternalSubIdentification', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(EdifactEnvelopeSettings, self).__init__(**kwargs) + self.group_association_assigned_code = kwargs.get('group_association_assigned_code', None) + self.communication_agreement_id = kwargs.get('communication_agreement_id', None) + self.apply_delimiter_string_advice = kwargs['apply_delimiter_string_advice'] + self.create_grouping_segments = kwargs['create_grouping_segments'] + self.enable_default_group_headers = kwargs['enable_default_group_headers'] + self.recipient_reference_password_value = kwargs.get('recipient_reference_password_value', None) + self.recipient_reference_password_qualifier = kwargs.get('recipient_reference_password_qualifier', None) + self.application_reference_id = kwargs.get('application_reference_id', None) + self.processing_priority_code = kwargs.get('processing_priority_code', None) + self.interchange_control_number_lower_bound = kwargs['interchange_control_number_lower_bound'] + self.interchange_control_number_upper_bound = kwargs['interchange_control_number_upper_bound'] + self.rollover_interchange_control_number = kwargs['rollover_interchange_control_number'] + self.interchange_control_number_prefix = kwargs.get('interchange_control_number_prefix', None) + self.interchange_control_number_suffix = kwargs.get('interchange_control_number_suffix', None) + self.sender_reverse_routing_address = kwargs.get('sender_reverse_routing_address', None) + self.receiver_reverse_routing_address = kwargs.get('receiver_reverse_routing_address', None) + self.functional_group_id = kwargs.get('functional_group_id', None) + self.group_controlling_agency_code = kwargs.get('group_controlling_agency_code', None) + self.group_message_version = kwargs.get('group_message_version', None) + self.group_message_release = kwargs.get('group_message_release', None) + self.group_control_number_lower_bound = kwargs['group_control_number_lower_bound'] + self.group_control_number_upper_bound = kwargs['group_control_number_upper_bound'] + self.rollover_group_control_number = kwargs['rollover_group_control_number'] + self.group_control_number_prefix = kwargs.get('group_control_number_prefix', None) + self.group_control_number_suffix = kwargs.get('group_control_number_suffix', None) + self.group_application_receiver_qualifier = kwargs.get('group_application_receiver_qualifier', None) + self.group_application_receiver_id = kwargs.get('group_application_receiver_id', None) + self.group_application_sender_qualifier = kwargs.get('group_application_sender_qualifier', None) + self.group_application_sender_id = kwargs.get('group_application_sender_id', None) + self.group_application_password = kwargs.get('group_application_password', None) + self.overwrite_existing_transaction_set_control_number = kwargs['overwrite_existing_transaction_set_control_number'] + self.transaction_set_control_number_prefix = kwargs.get('transaction_set_control_number_prefix', None) + self.transaction_set_control_number_suffix = kwargs.get('transaction_set_control_number_suffix', None) + self.transaction_set_control_number_lower_bound = kwargs['transaction_set_control_number_lower_bound'] + self.transaction_set_control_number_upper_bound = kwargs['transaction_set_control_number_upper_bound'] + self.rollover_transaction_set_control_number = kwargs['rollover_transaction_set_control_number'] + self.is_test_interchange = kwargs['is_test_interchange'] + self.sender_internal_identification = kwargs.get('sender_internal_identification', None) + self.sender_internal_sub_identification = kwargs.get('sender_internal_sub_identification', None) + self.receiver_internal_identification = kwargs.get('receiver_internal_identification', None) + self.receiver_internal_sub_identification = kwargs.get('receiver_internal_sub_identification', None) + + +class EdifactFramingSettings(msrest.serialization.Model): + """The Edifact agreement framing settings. + + All required parameters must be populated in order to send to Azure. + + :param service_code_list_directory_version: The service code list directory version. + :type service_code_list_directory_version: str + :param character_encoding: The character encoding. + :type character_encoding: str + :param protocol_version: Required. The protocol version. + :type protocol_version: int + :param data_element_separator: Required. The data element separator. + :type data_element_separator: int + :param component_separator: Required. The component separator. + :type component_separator: int + :param segment_terminator: Required. The segment terminator. + :type segment_terminator: int + :param release_indicator: Required. The release indicator. + :type release_indicator: int + :param repetition_separator: Required. The repetition separator. + :type repetition_separator: int + :param character_set: Required. The EDIFACT frame setting characterSet. Possible values + include: "NotSpecified", "UNOB", "UNOA", "UNOC", "UNOD", "UNOE", "UNOF", "UNOG", "UNOH", + "UNOI", "UNOJ", "UNOK", "UNOX", "UNOY", "KECA". + :type character_set: str or ~azure.mgmt.logic.models.EdifactCharacterSet + :param decimal_point_indicator: Required. The EDIFACT frame setting decimal indicator. Possible + values include: "NotSpecified", "Comma", "Decimal". + :type decimal_point_indicator: str or ~azure.mgmt.logic.models.EdifactDecimalIndicator + :param segment_terminator_suffix: Required. The EDIFACT frame setting segment terminator + suffix. Possible values include: "NotSpecified", "None", "CR", "LF", "CRLF". + :type segment_terminator_suffix: str or ~azure.mgmt.logic.models.SegmentTerminatorSuffix + """ + + _validation = { + 'protocol_version': {'required': True}, + 'data_element_separator': {'required': True}, + 'component_separator': {'required': True}, + 'segment_terminator': {'required': True}, + 'release_indicator': {'required': True}, + 'repetition_separator': {'required': True}, + 'character_set': {'required': True}, + 'decimal_point_indicator': {'required': True}, + 'segment_terminator_suffix': {'required': True}, + } + + _attribute_map = { + 'service_code_list_directory_version': {'key': 'serviceCodeListDirectoryVersion', 'type': 'str'}, + 'character_encoding': {'key': 'characterEncoding', 'type': 'str'}, + 'protocol_version': {'key': 'protocolVersion', 'type': 'int'}, + 'data_element_separator': {'key': 'dataElementSeparator', 'type': 'int'}, + 'component_separator': {'key': 'componentSeparator', 'type': 'int'}, + 'segment_terminator': {'key': 'segmentTerminator', 'type': 'int'}, + 'release_indicator': {'key': 'releaseIndicator', 'type': 'int'}, + 'repetition_separator': {'key': 'repetitionSeparator', 'type': 'int'}, + 'character_set': {'key': 'characterSet', 'type': 'str'}, + 'decimal_point_indicator': {'key': 'decimalPointIndicator', 'type': 'str'}, + 'segment_terminator_suffix': {'key': 'segmentTerminatorSuffix', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(EdifactFramingSettings, self).__init__(**kwargs) + self.service_code_list_directory_version = kwargs.get('service_code_list_directory_version', None) + self.character_encoding = kwargs.get('character_encoding', None) + self.protocol_version = kwargs['protocol_version'] + self.data_element_separator = kwargs['data_element_separator'] + self.component_separator = kwargs['component_separator'] + self.segment_terminator = kwargs['segment_terminator'] + self.release_indicator = kwargs['release_indicator'] + self.repetition_separator = kwargs['repetition_separator'] + self.character_set = kwargs['character_set'] + self.decimal_point_indicator = kwargs['decimal_point_indicator'] + self.segment_terminator_suffix = kwargs['segment_terminator_suffix'] + + +class EdifactMessageFilter(msrest.serialization.Model): + """The Edifact message filter for odata query. + + All required parameters must be populated in order to send to Azure. + + :param message_filter_type: Required. The message filter type. Possible values include: + "NotSpecified", "Include", "Exclude". + :type message_filter_type: str or ~azure.mgmt.logic.models.MessageFilterType + """ + + _validation = { + 'message_filter_type': {'required': True}, + } + + _attribute_map = { + 'message_filter_type': {'key': 'messageFilterType', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(EdifactMessageFilter, self).__init__(**kwargs) + self.message_filter_type = kwargs['message_filter_type'] + + +class EdifactMessageIdentifier(msrest.serialization.Model): + """The Edifact message identifier. + + All required parameters must be populated in order to send to Azure. + + :param message_id: Required. The message id on which this envelope settings has to be applied. + :type message_id: str + """ + + _validation = { + 'message_id': {'required': True}, + } + + _attribute_map = { + 'message_id': {'key': 'messageId', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(EdifactMessageIdentifier, self).__init__(**kwargs) + self.message_id = kwargs['message_id'] + + +class EdifactOneWayAgreement(msrest.serialization.Model): + """The Edifact one way agreement. + + All required parameters must be populated in order to send to Azure. + + :param sender_business_identity: Required. The sender business identity. + :type sender_business_identity: ~azure.mgmt.logic.models.BusinessIdentity + :param receiver_business_identity: Required. The receiver business identity. + :type receiver_business_identity: ~azure.mgmt.logic.models.BusinessIdentity + :param protocol_settings: Required. The EDIFACT protocol settings. + :type protocol_settings: ~azure.mgmt.logic.models.EdifactProtocolSettings + """ + + _validation = { + 'sender_business_identity': {'required': True}, + 'receiver_business_identity': {'required': True}, + 'protocol_settings': {'required': True}, + } + + _attribute_map = { + 'sender_business_identity': {'key': 'senderBusinessIdentity', 'type': 'BusinessIdentity'}, + 'receiver_business_identity': {'key': 'receiverBusinessIdentity', 'type': 'BusinessIdentity'}, + 'protocol_settings': {'key': 'protocolSettings', 'type': 'EdifactProtocolSettings'}, + } + + def __init__( + self, + **kwargs + ): + super(EdifactOneWayAgreement, self).__init__(**kwargs) + self.sender_business_identity = kwargs['sender_business_identity'] + self.receiver_business_identity = kwargs['receiver_business_identity'] + self.protocol_settings = kwargs['protocol_settings'] + + +class EdifactProcessingSettings(msrest.serialization.Model): + """The Edifact agreement protocol settings. + + All required parameters must be populated in order to send to Azure. + + :param mask_security_info: Required. The value indicating whether to mask security information. + :type mask_security_info: bool + :param preserve_interchange: Required. The value indicating whether to preserve interchange. + :type preserve_interchange: bool + :param suspend_interchange_on_error: Required. The value indicating whether to suspend + interchange on error. + :type suspend_interchange_on_error: bool + :param create_empty_xml_tags_for_trailing_separators: Required. The value indicating whether to + create empty xml tags for trailing separators. + :type create_empty_xml_tags_for_trailing_separators: bool + :param use_dot_as_decimal_separator: Required. The value indicating whether to use dot as + decimal separator. + :type use_dot_as_decimal_separator: bool + """ + + _validation = { + 'mask_security_info': {'required': True}, + 'preserve_interchange': {'required': True}, + 'suspend_interchange_on_error': {'required': True}, + 'create_empty_xml_tags_for_trailing_separators': {'required': True}, + 'use_dot_as_decimal_separator': {'required': True}, + } + + _attribute_map = { + 'mask_security_info': {'key': 'maskSecurityInfo', 'type': 'bool'}, + 'preserve_interchange': {'key': 'preserveInterchange', 'type': 'bool'}, + 'suspend_interchange_on_error': {'key': 'suspendInterchangeOnError', 'type': 'bool'}, + 'create_empty_xml_tags_for_trailing_separators': {'key': 'createEmptyXmlTagsForTrailingSeparators', 'type': 'bool'}, + 'use_dot_as_decimal_separator': {'key': 'useDotAsDecimalSeparator', 'type': 'bool'}, + } + + def __init__( + self, + **kwargs + ): + super(EdifactProcessingSettings, self).__init__(**kwargs) + self.mask_security_info = kwargs['mask_security_info'] + self.preserve_interchange = kwargs['preserve_interchange'] + self.suspend_interchange_on_error = kwargs['suspend_interchange_on_error'] + self.create_empty_xml_tags_for_trailing_separators = kwargs['create_empty_xml_tags_for_trailing_separators'] + self.use_dot_as_decimal_separator = kwargs['use_dot_as_decimal_separator'] + + +class EdifactProtocolSettings(msrest.serialization.Model): + """The Edifact agreement protocol settings. + + All required parameters must be populated in order to send to Azure. + + :param validation_settings: Required. The EDIFACT validation settings. + :type validation_settings: ~azure.mgmt.logic.models.EdifactValidationSettings + :param framing_settings: Required. The EDIFACT framing settings. + :type framing_settings: ~azure.mgmt.logic.models.EdifactFramingSettings + :param envelope_settings: Required. The EDIFACT envelope settings. + :type envelope_settings: ~azure.mgmt.logic.models.EdifactEnvelopeSettings + :param acknowledgement_settings: Required. The EDIFACT acknowledgement settings. + :type acknowledgement_settings: ~azure.mgmt.logic.models.EdifactAcknowledgementSettings + :param message_filter: Required. The EDIFACT message filter. + :type message_filter: ~azure.mgmt.logic.models.EdifactMessageFilter + :param processing_settings: Required. The EDIFACT processing Settings. + :type processing_settings: ~azure.mgmt.logic.models.EdifactProcessingSettings + :param envelope_overrides: The EDIFACT envelope override settings. + :type envelope_overrides: list[~azure.mgmt.logic.models.EdifactEnvelopeOverride] + :param message_filter_list: The EDIFACT message filter list. + :type message_filter_list: list[~azure.mgmt.logic.models.EdifactMessageIdentifier] + :param schema_references: Required. The EDIFACT schema references. + :type schema_references: list[~azure.mgmt.logic.models.EdifactSchemaReference] + :param validation_overrides: The EDIFACT validation override settings. + :type validation_overrides: list[~azure.mgmt.logic.models.EdifactValidationOverride] + :param edifact_delimiter_overrides: The EDIFACT delimiter override settings. + :type edifact_delimiter_overrides: list[~azure.mgmt.logic.models.EdifactDelimiterOverride] + """ + + _validation = { + 'validation_settings': {'required': True}, + 'framing_settings': {'required': True}, + 'envelope_settings': {'required': True}, + 'acknowledgement_settings': {'required': True}, + 'message_filter': {'required': True}, + 'processing_settings': {'required': True}, + 'schema_references': {'required': True}, + } + + _attribute_map = { + 'validation_settings': {'key': 'validationSettings', 'type': 'EdifactValidationSettings'}, + 'framing_settings': {'key': 'framingSettings', 'type': 'EdifactFramingSettings'}, + 'envelope_settings': {'key': 'envelopeSettings', 'type': 'EdifactEnvelopeSettings'}, + 'acknowledgement_settings': {'key': 'acknowledgementSettings', 'type': 'EdifactAcknowledgementSettings'}, + 'message_filter': {'key': 'messageFilter', 'type': 'EdifactMessageFilter'}, + 'processing_settings': {'key': 'processingSettings', 'type': 'EdifactProcessingSettings'}, + 'envelope_overrides': {'key': 'envelopeOverrides', 'type': '[EdifactEnvelopeOverride]'}, + 'message_filter_list': {'key': 'messageFilterList', 'type': '[EdifactMessageIdentifier]'}, + 'schema_references': {'key': 'schemaReferences', 'type': '[EdifactSchemaReference]'}, + 'validation_overrides': {'key': 'validationOverrides', 'type': '[EdifactValidationOverride]'}, + 'edifact_delimiter_overrides': {'key': 'edifactDelimiterOverrides', 'type': '[EdifactDelimiterOverride]'}, + } + + def __init__( + self, + **kwargs + ): + super(EdifactProtocolSettings, self).__init__(**kwargs) + self.validation_settings = kwargs['validation_settings'] + self.framing_settings = kwargs['framing_settings'] + self.envelope_settings = kwargs['envelope_settings'] + self.acknowledgement_settings = kwargs['acknowledgement_settings'] + self.message_filter = kwargs['message_filter'] + self.processing_settings = kwargs['processing_settings'] + self.envelope_overrides = kwargs.get('envelope_overrides', None) + self.message_filter_list = kwargs.get('message_filter_list', None) + self.schema_references = kwargs['schema_references'] + self.validation_overrides = kwargs.get('validation_overrides', None) + self.edifact_delimiter_overrides = kwargs.get('edifact_delimiter_overrides', None) + + +class EdifactSchemaReference(msrest.serialization.Model): + """The Edifact schema reference. + + All required parameters must be populated in order to send to Azure. + + :param message_id: Required. The message id. + :type message_id: str + :param message_version: Required. The message version. + :type message_version: str + :param message_release: Required. The message release version. + :type message_release: str + :param sender_application_id: The sender application id. + :type sender_application_id: str + :param sender_application_qualifier: The sender application qualifier. + :type sender_application_qualifier: str + :param association_assigned_code: The association assigned code. + :type association_assigned_code: str + :param schema_name: Required. The schema name. + :type schema_name: str + """ + + _validation = { + 'message_id': {'required': True}, + 'message_version': {'required': True}, + 'message_release': {'required': True}, + 'schema_name': {'required': True}, + } + + _attribute_map = { + 'message_id': {'key': 'messageId', 'type': 'str'}, + 'message_version': {'key': 'messageVersion', 'type': 'str'}, + 'message_release': {'key': 'messageRelease', 'type': 'str'}, + 'sender_application_id': {'key': 'senderApplicationId', 'type': 'str'}, + 'sender_application_qualifier': {'key': 'senderApplicationQualifier', 'type': 'str'}, + 'association_assigned_code': {'key': 'associationAssignedCode', 'type': 'str'}, + 'schema_name': {'key': 'schemaName', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(EdifactSchemaReference, self).__init__(**kwargs) + self.message_id = kwargs['message_id'] + self.message_version = kwargs['message_version'] + self.message_release = kwargs['message_release'] + self.sender_application_id = kwargs.get('sender_application_id', None) + self.sender_application_qualifier = kwargs.get('sender_application_qualifier', None) + self.association_assigned_code = kwargs.get('association_assigned_code', None) + self.schema_name = kwargs['schema_name'] + + +class EdifactValidationOverride(msrest.serialization.Model): + """The Edifact validation override settings. + + All required parameters must be populated in order to send to Azure. + + :param message_id: Required. The message id on which the validation settings has to be applied. + :type message_id: str + :param enforce_character_set: Required. The value indicating whether to validate character Set. + :type enforce_character_set: bool + :param validate_edi_types: Required. The value indicating whether to validate EDI types. + :type validate_edi_types: bool + :param validate_xsd_types: Required. The value indicating whether to validate XSD types. + :type validate_xsd_types: bool + :param allow_leading_and_trailing_spaces_and_zeroes: Required. The value indicating whether to + allow leading and trailing spaces and zeroes. + :type allow_leading_and_trailing_spaces_and_zeroes: bool + :param trailing_separator_policy: Required. The trailing separator policy. Possible values + include: "NotSpecified", "NotAllowed", "Optional", "Mandatory". + :type trailing_separator_policy: str or ~azure.mgmt.logic.models.TrailingSeparatorPolicy + :param trim_leading_and_trailing_spaces_and_zeroes: Required. The value indicating whether to + trim leading and trailing spaces and zeroes. + :type trim_leading_and_trailing_spaces_and_zeroes: bool + """ + + _validation = { + 'message_id': {'required': True}, + 'enforce_character_set': {'required': True}, + 'validate_edi_types': {'required': True}, + 'validate_xsd_types': {'required': True}, + 'allow_leading_and_trailing_spaces_and_zeroes': {'required': True}, + 'trailing_separator_policy': {'required': True}, + 'trim_leading_and_trailing_spaces_and_zeroes': {'required': True}, + } + + _attribute_map = { + 'message_id': {'key': 'messageId', 'type': 'str'}, + 'enforce_character_set': {'key': 'enforceCharacterSet', 'type': 'bool'}, + 'validate_edi_types': {'key': 'validateEDITypes', 'type': 'bool'}, + 'validate_xsd_types': {'key': 'validateXSDTypes', 'type': 'bool'}, + 'allow_leading_and_trailing_spaces_and_zeroes': {'key': 'allowLeadingAndTrailingSpacesAndZeroes', 'type': 'bool'}, + 'trailing_separator_policy': {'key': 'trailingSeparatorPolicy', 'type': 'str'}, + 'trim_leading_and_trailing_spaces_and_zeroes': {'key': 'trimLeadingAndTrailingSpacesAndZeroes', 'type': 'bool'}, + } + + def __init__( + self, + **kwargs + ): + super(EdifactValidationOverride, self).__init__(**kwargs) + self.message_id = kwargs['message_id'] + self.enforce_character_set = kwargs['enforce_character_set'] + self.validate_edi_types = kwargs['validate_edi_types'] + self.validate_xsd_types = kwargs['validate_xsd_types'] + self.allow_leading_and_trailing_spaces_and_zeroes = kwargs['allow_leading_and_trailing_spaces_and_zeroes'] + self.trailing_separator_policy = kwargs['trailing_separator_policy'] + self.trim_leading_and_trailing_spaces_and_zeroes = kwargs['trim_leading_and_trailing_spaces_and_zeroes'] + + +class EdifactValidationSettings(msrest.serialization.Model): + """The Edifact agreement validation settings. + + All required parameters must be populated in order to send to Azure. + + :param validate_character_set: Required. The value indicating whether to validate character set + in the message. + :type validate_character_set: bool + :param check_duplicate_interchange_control_number: Required. The value indicating whether to + check for duplicate interchange control number. + :type check_duplicate_interchange_control_number: bool + :param interchange_control_number_validity_days: Required. The validity period of interchange + control number. + :type interchange_control_number_validity_days: int + :param check_duplicate_group_control_number: Required. The value indicating whether to check + for duplicate group control number. + :type check_duplicate_group_control_number: bool + :param check_duplicate_transaction_set_control_number: Required. The value indicating whether + to check for duplicate transaction set control number. + :type check_duplicate_transaction_set_control_number: bool + :param validate_edi_types: Required. The value indicating whether to Whether to validate EDI + types. + :type validate_edi_types: bool + :param validate_xsd_types: Required. The value indicating whether to Whether to validate XSD + types. + :type validate_xsd_types: bool + :param allow_leading_and_trailing_spaces_and_zeroes: Required. The value indicating whether to + allow leading and trailing spaces and zeroes. + :type allow_leading_and_trailing_spaces_and_zeroes: bool + :param trim_leading_and_trailing_spaces_and_zeroes: Required. The value indicating whether to + trim leading and trailing spaces and zeroes. + :type trim_leading_and_trailing_spaces_and_zeroes: bool + :param trailing_separator_policy: Required. The trailing separator policy. Possible values + include: "NotSpecified", "NotAllowed", "Optional", "Mandatory". + :type trailing_separator_policy: str or ~azure.mgmt.logic.models.TrailingSeparatorPolicy + """ + + _validation = { + 'validate_character_set': {'required': True}, + 'check_duplicate_interchange_control_number': {'required': True}, + 'interchange_control_number_validity_days': {'required': True}, + 'check_duplicate_group_control_number': {'required': True}, + 'check_duplicate_transaction_set_control_number': {'required': True}, + 'validate_edi_types': {'required': True}, + 'validate_xsd_types': {'required': True}, + 'allow_leading_and_trailing_spaces_and_zeroes': {'required': True}, + 'trim_leading_and_trailing_spaces_and_zeroes': {'required': True}, + 'trailing_separator_policy': {'required': True}, + } + + _attribute_map = { + 'validate_character_set': {'key': 'validateCharacterSet', 'type': 'bool'}, + 'check_duplicate_interchange_control_number': {'key': 'checkDuplicateInterchangeControlNumber', 'type': 'bool'}, + 'interchange_control_number_validity_days': {'key': 'interchangeControlNumberValidityDays', 'type': 'int'}, + 'check_duplicate_group_control_number': {'key': 'checkDuplicateGroupControlNumber', 'type': 'bool'}, + 'check_duplicate_transaction_set_control_number': {'key': 'checkDuplicateTransactionSetControlNumber', 'type': 'bool'}, + 'validate_edi_types': {'key': 'validateEDITypes', 'type': 'bool'}, + 'validate_xsd_types': {'key': 'validateXSDTypes', 'type': 'bool'}, + 'allow_leading_and_trailing_spaces_and_zeroes': {'key': 'allowLeadingAndTrailingSpacesAndZeroes', 'type': 'bool'}, + 'trim_leading_and_trailing_spaces_and_zeroes': {'key': 'trimLeadingAndTrailingSpacesAndZeroes', 'type': 'bool'}, + 'trailing_separator_policy': {'key': 'trailingSeparatorPolicy', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(EdifactValidationSettings, self).__init__(**kwargs) + self.validate_character_set = kwargs['validate_character_set'] + self.check_duplicate_interchange_control_number = kwargs['check_duplicate_interchange_control_number'] + self.interchange_control_number_validity_days = kwargs['interchange_control_number_validity_days'] + self.check_duplicate_group_control_number = kwargs['check_duplicate_group_control_number'] + self.check_duplicate_transaction_set_control_number = kwargs['check_duplicate_transaction_set_control_number'] + self.validate_edi_types = kwargs['validate_edi_types'] + self.validate_xsd_types = kwargs['validate_xsd_types'] + self.allow_leading_and_trailing_spaces_and_zeroes = kwargs['allow_leading_and_trailing_spaces_and_zeroes'] + self.trim_leading_and_trailing_spaces_and_zeroes = kwargs['trim_leading_and_trailing_spaces_and_zeroes'] + self.trailing_separator_policy = kwargs['trailing_separator_policy'] + + +class ErrorProperties(msrest.serialization.Model): + """Error properties indicate why the Logic service was not able to process the incoming request. The reason is provided in the error message. + + :param code: Error code. + :type code: str + :param message: Error message indicating why the operation failed. + :type message: str + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ErrorProperties, self).__init__(**kwargs) + self.code = kwargs.get('code', None) + self.message = kwargs.get('message', None) + + +class ErrorResponse(msrest.serialization.Model): + """Error response indicates Logic service is not able to process the incoming request. The error property contains the error details. + + :param error: The error properties. + :type error: ~azure.mgmt.logic.models.ErrorProperties + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'ErrorProperties'}, + } + + def __init__( + self, + **kwargs + ): + super(ErrorResponse, self).__init__(**kwargs) + self.error = kwargs.get('error', None) + + +class Expression(msrest.serialization.Model): + """The expression. + + :param text: The text. + :type text: str + :param value: Any object. + :type value: object + :param subexpressions: The sub expressions. + :type subexpressions: list[~azure.mgmt.logic.models.Expression] + :param error: The azure resource error info. + :type error: ~azure.mgmt.logic.models.AzureResourceErrorInfo + """ + + _attribute_map = { + 'text': {'key': 'text', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'object'}, + 'subexpressions': {'key': 'subexpressions', 'type': '[Expression]'}, + 'error': {'key': 'error', 'type': 'AzureResourceErrorInfo'}, + } + + def __init__( + self, + **kwargs + ): + super(Expression, self).__init__(**kwargs) + self.text = kwargs.get('text', None) + self.value = kwargs.get('value', None) + self.subexpressions = kwargs.get('subexpressions', None) + self.error = kwargs.get('error', None) + + +class ExpressionRoot(Expression): + """The expression root. + + :param text: The text. + :type text: str + :param value: Any object. + :type value: object + :param subexpressions: The sub expressions. + :type subexpressions: list[~azure.mgmt.logic.models.Expression] + :param error: The azure resource error info. + :type error: ~azure.mgmt.logic.models.AzureResourceErrorInfo + :param path: The path. + :type path: str + """ + + _attribute_map = { + 'text': {'key': 'text', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'object'}, + 'subexpressions': {'key': 'subexpressions', 'type': '[Expression]'}, + 'error': {'key': 'error', 'type': 'AzureResourceErrorInfo'}, + 'path': {'key': 'path', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ExpressionRoot, self).__init__(**kwargs) + self.path = kwargs.get('path', None) + + +class ExpressionTraces(msrest.serialization.Model): + """The expression traces. + + :param inputs: + :type inputs: list[~azure.mgmt.logic.models.ExpressionRoot] + """ + + _attribute_map = { + 'inputs': {'key': 'inputs', 'type': '[ExpressionRoot]'}, + } + + def __init__( + self, + **kwargs + ): + super(ExpressionTraces, self).__init__(**kwargs) + self.inputs = kwargs.get('inputs', None) + + +class ExtendedErrorInfo(msrest.serialization.Model): + """The extended error info. + + All required parameters must be populated in order to send to Azure. + + :param code: Required. The error code. Possible values include: "NotSpecified", + "IntegrationServiceEnvironmentNotFound", "InternalServerError", "InvalidOperationId". + :type code: str or ~azure.mgmt.logic.models.ErrorResponseCode + :param message: Required. The error message. + :type message: str + :param details: The error message details. + :type details: list[~azure.mgmt.logic.models.ExtendedErrorInfo] + :param inner_error: The inner error. + :type inner_error: object + """ + + _validation = { + 'code': {'required': True}, + 'message': {'required': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[ExtendedErrorInfo]'}, + 'inner_error': {'key': 'innerError', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(ExtendedErrorInfo, self).__init__(**kwargs) + self.code = kwargs['code'] + self.message = kwargs['message'] + self.details = kwargs.get('details', None) + self.inner_error = kwargs.get('inner_error', None) + + +class FlowAccessControlConfiguration(msrest.serialization.Model): + """The access control configuration. + + :param triggers: The access control configuration for invoking workflow triggers. + :type triggers: ~azure.mgmt.logic.models.FlowAccessControlConfigurationPolicy + :param contents: The access control configuration for accessing workflow run contents. + :type contents: ~azure.mgmt.logic.models.FlowAccessControlConfigurationPolicy + :param actions: The access control configuration for workflow actions. + :type actions: ~azure.mgmt.logic.models.FlowAccessControlConfigurationPolicy + :param workflow_management: The access control configuration for workflow management. + :type workflow_management: ~azure.mgmt.logic.models.FlowAccessControlConfigurationPolicy + """ + + _attribute_map = { + 'triggers': {'key': 'triggers', 'type': 'FlowAccessControlConfigurationPolicy'}, + 'contents': {'key': 'contents', 'type': 'FlowAccessControlConfigurationPolicy'}, + 'actions': {'key': 'actions', 'type': 'FlowAccessControlConfigurationPolicy'}, + 'workflow_management': {'key': 'workflowManagement', 'type': 'FlowAccessControlConfigurationPolicy'}, + } + + def __init__( + self, + **kwargs + ): + super(FlowAccessControlConfiguration, self).__init__(**kwargs) + self.triggers = kwargs.get('triggers', None) + self.contents = kwargs.get('contents', None) + self.actions = kwargs.get('actions', None) + self.workflow_management = kwargs.get('workflow_management', None) + + +class FlowAccessControlConfigurationPolicy(msrest.serialization.Model): + """The access control configuration policy. + + :param allowed_caller_ip_addresses: The allowed caller IP address ranges. + :type allowed_caller_ip_addresses: list[~azure.mgmt.logic.models.IpAddressRange] + :param open_authentication_policies: The authentication policies for workflow. + :type open_authentication_policies: ~azure.mgmt.logic.models.OpenAuthenticationAccessPolicies + """ + + _attribute_map = { + 'allowed_caller_ip_addresses': {'key': 'allowedCallerIpAddresses', 'type': '[IpAddressRange]'}, + 'open_authentication_policies': {'key': 'openAuthenticationPolicies', 'type': 'OpenAuthenticationAccessPolicies'}, + } + + def __init__( + self, + **kwargs + ): + super(FlowAccessControlConfigurationPolicy, self).__init__(**kwargs) + self.allowed_caller_ip_addresses = kwargs.get('allowed_caller_ip_addresses', None) + self.open_authentication_policies = kwargs.get('open_authentication_policies', None) + + +class FlowEndpoints(msrest.serialization.Model): + """The flow endpoints configuration. + + :param outgoing_ip_addresses: The outgoing ip address. + :type outgoing_ip_addresses: list[~azure.mgmt.logic.models.IpAddress] + :param access_endpoint_ip_addresses: The access endpoint ip address. + :type access_endpoint_ip_addresses: list[~azure.mgmt.logic.models.IpAddress] + """ + + _attribute_map = { + 'outgoing_ip_addresses': {'key': 'outgoingIpAddresses', 'type': '[IpAddress]'}, + 'access_endpoint_ip_addresses': {'key': 'accessEndpointIpAddresses', 'type': '[IpAddress]'}, + } + + def __init__( + self, + **kwargs + ): + super(FlowEndpoints, self).__init__(**kwargs) + self.outgoing_ip_addresses = kwargs.get('outgoing_ip_addresses', None) + self.access_endpoint_ip_addresses = kwargs.get('access_endpoint_ip_addresses', None) + + +class FlowEndpointsConfiguration(msrest.serialization.Model): + """The endpoints configuration. + + :param workflow: The workflow endpoints. + :type workflow: ~azure.mgmt.logic.models.FlowEndpoints + :param connector: The connector endpoints. + :type connector: ~azure.mgmt.logic.models.FlowEndpoints + """ + + _attribute_map = { + 'workflow': {'key': 'workflow', 'type': 'FlowEndpoints'}, + 'connector': {'key': 'connector', 'type': 'FlowEndpoints'}, + } + + def __init__( + self, + **kwargs + ): + super(FlowEndpointsConfiguration, self).__init__(**kwargs) + self.workflow = kwargs.get('workflow', None) + self.connector = kwargs.get('connector', None) + + +class GenerateUpgradedDefinitionParameters(msrest.serialization.Model): + """The parameters to generate upgraded definition. + + :param target_schema_version: The target schema version. + :type target_schema_version: str + """ + + _attribute_map = { + 'target_schema_version': {'key': 'targetSchemaVersion', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(GenerateUpgradedDefinitionParameters, self).__init__(**kwargs) + self.target_schema_version = kwargs.get('target_schema_version', None) + + +class GetCallbackUrlParameters(msrest.serialization.Model): + """The callback url parameters. + + :param not_after: The expiry time. + :type not_after: ~datetime.datetime + :param key_type: The key type. Possible values include: "NotSpecified", "Primary", "Secondary". + :type key_type: str or ~azure.mgmt.logic.models.KeyType + """ + + _attribute_map = { + 'not_after': {'key': 'notAfter', 'type': 'iso-8601'}, + 'key_type': {'key': 'keyType', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(GetCallbackUrlParameters, self).__init__(**kwargs) + self.not_after = kwargs.get('not_after', None) + self.key_type = kwargs.get('key_type', None) + + +class IntegrationAccount(Resource): + """The integration account. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: The resource id. + :vartype id: str + :ivar name: Gets the resource name. + :vartype name: str + :ivar type: Gets the resource type. + :vartype type: str + :param location: The resource location. + :type location: str + :param tags: A set of tags. The resource tags. + :type tags: dict[str, str] + :param sku: The sku. + :type sku: ~azure.mgmt.logic.models.IntegrationAccountSku + :param integration_service_environment: The integration service environment. + :type integration_service_environment: ~azure.mgmt.logic.models.IntegrationServiceEnvironment + :param state: The workflow state. Possible values include: "NotSpecified", "Completed", + "Enabled", "Disabled", "Deleted", "Suspended". + :type state: str or ~azure.mgmt.logic.models.WorkflowState + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'sku': {'key': 'sku', 'type': 'IntegrationAccountSku'}, + 'integration_service_environment': {'key': 'properties.integrationServiceEnvironment', 'type': 'IntegrationServiceEnvironment'}, + 'state': {'key': 'properties.state', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(IntegrationAccount, self).__init__(**kwargs) + self.sku = kwargs.get('sku', None) + self.integration_service_environment = kwargs.get('integration_service_environment', None) + self.state = kwargs.get('state', None) + + +class IntegrationAccountAgreement(Resource): + """The integration account agreement. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The resource id. + :vartype id: str + :ivar name: Gets the resource name. + :vartype name: str + :ivar type: Gets the resource type. + :vartype type: str + :param location: The resource location. + :type location: str + :param tags: A set of tags. The resource tags. + :type tags: dict[str, str] + :ivar created_time: The created time. + :vartype created_time: ~datetime.datetime + :ivar changed_time: The changed time. + :vartype changed_time: ~datetime.datetime + :param metadata: The metadata. + :type metadata: object + :param agreement_type: Required. The agreement type. Possible values include: "NotSpecified", + "AS2", "X12", "Edifact". + :type agreement_type: str or ~azure.mgmt.logic.models.AgreementType + :param host_partner: Required. The integration account partner that is set as host partner for + this agreement. + :type host_partner: str + :param guest_partner: Required. The integration account partner that is set as guest partner + for this agreement. + :type guest_partner: str + :param host_identity: Required. The business identity of the host partner. + :type host_identity: ~azure.mgmt.logic.models.BusinessIdentity + :param guest_identity: Required. The business identity of the guest partner. + :type guest_identity: ~azure.mgmt.logic.models.BusinessIdentity + :param content: Required. The agreement content. + :type content: ~azure.mgmt.logic.models.AgreementContent + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'created_time': {'readonly': True}, + 'changed_time': {'readonly': True}, + 'agreement_type': {'required': True}, + 'host_partner': {'required': True}, + 'guest_partner': {'required': True}, + 'host_identity': {'required': True}, + 'guest_identity': {'required': True}, + 'content': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'created_time': {'key': 'properties.createdTime', 'type': 'iso-8601'}, + 'changed_time': {'key': 'properties.changedTime', 'type': 'iso-8601'}, + 'metadata': {'key': 'properties.metadata', 'type': 'object'}, + 'agreement_type': {'key': 'properties.agreementType', 'type': 'str'}, + 'host_partner': {'key': 'properties.hostPartner', 'type': 'str'}, + 'guest_partner': {'key': 'properties.guestPartner', 'type': 'str'}, + 'host_identity': {'key': 'properties.hostIdentity', 'type': 'BusinessIdentity'}, + 'guest_identity': {'key': 'properties.guestIdentity', 'type': 'BusinessIdentity'}, + 'content': {'key': 'properties.content', 'type': 'AgreementContent'}, + } + + def __init__( + self, + **kwargs + ): + super(IntegrationAccountAgreement, self).__init__(**kwargs) + self.created_time = None + self.changed_time = None + self.metadata = kwargs.get('metadata', None) + self.agreement_type = kwargs['agreement_type'] + self.host_partner = kwargs['host_partner'] + self.guest_partner = kwargs['guest_partner'] + self.host_identity = kwargs['host_identity'] + self.guest_identity = kwargs['guest_identity'] + self.content = kwargs['content'] + + +class IntegrationAccountAgreementFilter(msrest.serialization.Model): + """The integration account agreement filter for odata query. + + All required parameters must be populated in order to send to Azure. + + :param agreement_type: Required. The agreement type of integration account agreement. Possible + values include: "NotSpecified", "AS2", "X12", "Edifact". + :type agreement_type: str or ~azure.mgmt.logic.models.AgreementType + """ + + _validation = { + 'agreement_type': {'required': True}, + } + + _attribute_map = { + 'agreement_type': {'key': 'agreementType', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(IntegrationAccountAgreementFilter, self).__init__(**kwargs) + self.agreement_type = kwargs['agreement_type'] + + +class IntegrationAccountAgreementListResult(msrest.serialization.Model): + """The list of integration account agreements. + + :param value: The list of integration account agreements. + :type value: list[~azure.mgmt.logic.models.IntegrationAccountAgreement] + :param next_link: The URL to get the next set of results. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[IntegrationAccountAgreement]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(IntegrationAccountAgreementListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class IntegrationAccountCertificate(Resource): + """The integration account certificate. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: The resource id. + :vartype id: str + :ivar name: Gets the resource name. + :vartype name: str + :ivar type: Gets the resource type. + :vartype type: str + :param location: The resource location. + :type location: str + :param tags: A set of tags. The resource tags. + :type tags: dict[str, str] + :ivar created_time: The created time. + :vartype created_time: ~datetime.datetime + :ivar changed_time: The changed time. + :vartype changed_time: ~datetime.datetime + :param metadata: The metadata. + :type metadata: object + :param key: The key details in the key vault. + :type key: ~azure.mgmt.logic.models.KeyVaultKeyReference + :param public_certificate: The public certificate. + :type public_certificate: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'created_time': {'readonly': True}, + 'changed_time': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'created_time': {'key': 'properties.createdTime', 'type': 'iso-8601'}, + 'changed_time': {'key': 'properties.changedTime', 'type': 'iso-8601'}, + 'metadata': {'key': 'properties.metadata', 'type': 'object'}, + 'key': {'key': 'properties.key', 'type': 'KeyVaultKeyReference'}, + 'public_certificate': {'key': 'properties.publicCertificate', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(IntegrationAccountCertificate, self).__init__(**kwargs) + self.created_time = None + self.changed_time = None + self.metadata = kwargs.get('metadata', None) + self.key = kwargs.get('key', None) + self.public_certificate = kwargs.get('public_certificate', None) + + +class IntegrationAccountCertificateListResult(msrest.serialization.Model): + """The list of integration account certificates. + + :param value: The list of integration account certificates. + :type value: list[~azure.mgmt.logic.models.IntegrationAccountCertificate] + :param next_link: The URL to get the next set of results. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[IntegrationAccountCertificate]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(IntegrationAccountCertificateListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class IntegrationAccountListResult(msrest.serialization.Model): + """The list of integration accounts. + + :param value: The list of integration accounts. + :type value: list[~azure.mgmt.logic.models.IntegrationAccount] + :param next_link: The URL to get the next set of results. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[IntegrationAccount]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(IntegrationAccountListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class IntegrationAccountMap(Resource): + """The integration account map. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The resource id. + :vartype id: str + :ivar name: Gets the resource name. + :vartype name: str + :ivar type: Gets the resource type. + :vartype type: str + :param location: The resource location. + :type location: str + :param tags: A set of tags. The resource tags. + :type tags: dict[str, str] + :param map_type: Required. The map type. Possible values include: "NotSpecified", "Xslt", + "Xslt20", "Xslt30", "Liquid". + :type map_type: str or ~azure.mgmt.logic.models.MapType + :param parameters_schema: The parameters schema of integration account map. + :type parameters_schema: + ~azure.mgmt.logic.models.IntegrationAccountMapPropertiesParametersSchema + :ivar created_time: The created time. + :vartype created_time: ~datetime.datetime + :ivar changed_time: The changed time. + :vartype changed_time: ~datetime.datetime + :param content: The content. + :type content: str + :param content_type: The content type. + :type content_type: str + :ivar content_link: The content link. + :vartype content_link: ~azure.mgmt.logic.models.ContentLink + :param metadata: The metadata. + :type metadata: object + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'map_type': {'required': True}, + 'created_time': {'readonly': True}, + 'changed_time': {'readonly': True}, + 'content_link': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'map_type': {'key': 'properties.mapType', 'type': 'str'}, + 'parameters_schema': {'key': 'properties.parametersSchema', 'type': 'IntegrationAccountMapPropertiesParametersSchema'}, + 'created_time': {'key': 'properties.createdTime', 'type': 'iso-8601'}, + 'changed_time': {'key': 'properties.changedTime', 'type': 'iso-8601'}, + 'content': {'key': 'properties.content', 'type': 'str'}, + 'content_type': {'key': 'properties.contentType', 'type': 'str'}, + 'content_link': {'key': 'properties.contentLink', 'type': 'ContentLink'}, + 'metadata': {'key': 'properties.metadata', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(IntegrationAccountMap, self).__init__(**kwargs) + self.map_type = kwargs['map_type'] + self.parameters_schema = kwargs.get('parameters_schema', None) + self.created_time = None + self.changed_time = None + self.content = kwargs.get('content', None) + self.content_type = kwargs.get('content_type', None) + self.content_link = None + self.metadata = kwargs.get('metadata', None) + + +class IntegrationAccountMapFilter(msrest.serialization.Model): + """The integration account map filter for odata query. + + All required parameters must be populated in order to send to Azure. + + :param map_type: Required. The map type of integration account map. Possible values include: + "NotSpecified", "Xslt", "Xslt20", "Xslt30", "Liquid". + :type map_type: str or ~azure.mgmt.logic.models.MapType + """ + + _validation = { + 'map_type': {'required': True}, + } + + _attribute_map = { + 'map_type': {'key': 'mapType', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(IntegrationAccountMapFilter, self).__init__(**kwargs) + self.map_type = kwargs['map_type'] + + +class IntegrationAccountMapListResult(msrest.serialization.Model): + """The list of integration account maps. + + :param value: The list of integration account maps. + :type value: list[~azure.mgmt.logic.models.IntegrationAccountMap] + :param next_link: The URL to get the next set of results. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[IntegrationAccountMap]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(IntegrationAccountMapListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class IntegrationAccountMapPropertiesParametersSchema(msrest.serialization.Model): + """The parameters schema of integration account map. + + :param ref: The reference name. + :type ref: str + """ + + _attribute_map = { + 'ref': {'key': 'ref', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(IntegrationAccountMapPropertiesParametersSchema, self).__init__(**kwargs) + self.ref = kwargs.get('ref', None) + + +class IntegrationAccountPartner(Resource): + """The integration account partner. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The resource id. + :vartype id: str + :ivar name: Gets the resource name. + :vartype name: str + :ivar type: Gets the resource type. + :vartype type: str + :param location: The resource location. + :type location: str + :param tags: A set of tags. The resource tags. + :type tags: dict[str, str] + :param partner_type: Required. The partner type. Possible values include: "NotSpecified", + "B2B". + :type partner_type: str or ~azure.mgmt.logic.models.PartnerType + :ivar created_time: The created time. + :vartype created_time: ~datetime.datetime + :ivar changed_time: The changed time. + :vartype changed_time: ~datetime.datetime + :param metadata: The metadata. + :type metadata: object + :param content: Required. The partner content. + :type content: ~azure.mgmt.logic.models.PartnerContent + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'partner_type': {'required': True}, + 'created_time': {'readonly': True}, + 'changed_time': {'readonly': True}, + 'content': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'partner_type': {'key': 'properties.partnerType', 'type': 'str'}, + 'created_time': {'key': 'properties.createdTime', 'type': 'iso-8601'}, + 'changed_time': {'key': 'properties.changedTime', 'type': 'iso-8601'}, + 'metadata': {'key': 'properties.metadata', 'type': 'object'}, + 'content': {'key': 'properties.content', 'type': 'PartnerContent'}, + } + + def __init__( + self, + **kwargs + ): + super(IntegrationAccountPartner, self).__init__(**kwargs) + self.partner_type = kwargs['partner_type'] + self.created_time = None + self.changed_time = None + self.metadata = kwargs.get('metadata', None) + self.content = kwargs['content'] + + +class IntegrationAccountPartnerFilter(msrest.serialization.Model): + """The integration account partner filter for odata query. + + All required parameters must be populated in order to send to Azure. + + :param partner_type: Required. The partner type of integration account partner. Possible values + include: "NotSpecified", "B2B". + :type partner_type: str or ~azure.mgmt.logic.models.PartnerType + """ + + _validation = { + 'partner_type': {'required': True}, + } + + _attribute_map = { + 'partner_type': {'key': 'partnerType', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(IntegrationAccountPartnerFilter, self).__init__(**kwargs) + self.partner_type = kwargs['partner_type'] + + +class IntegrationAccountPartnerListResult(msrest.serialization.Model): + """The list of integration account partners. + + :param value: The list of integration account partners. + :type value: list[~azure.mgmt.logic.models.IntegrationAccountPartner] + :param next_link: The URL to get the next set of results. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[IntegrationAccountPartner]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(IntegrationAccountPartnerListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class IntegrationAccountSchema(Resource): + """The integration account schema. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The resource id. + :vartype id: str + :ivar name: Gets the resource name. + :vartype name: str + :ivar type: Gets the resource type. + :vartype type: str + :param location: The resource location. + :type location: str + :param tags: A set of tags. The resource tags. + :type tags: dict[str, str] + :param schema_type: Required. The schema type. Possible values include: "NotSpecified", "Xml". + :type schema_type: str or ~azure.mgmt.logic.models.SchemaType + :param target_namespace: The target namespace of the schema. + :type target_namespace: str + :param document_name: The document name. + :type document_name: str + :param file_name: The file name. + :type file_name: str + :ivar created_time: The created time. + :vartype created_time: ~datetime.datetime + :ivar changed_time: The changed time. + :vartype changed_time: ~datetime.datetime + :param metadata: The metadata. + :type metadata: object + :param content: The content. + :type content: str + :param content_type: The content type. + :type content_type: str + :ivar content_link: The content link. + :vartype content_link: ~azure.mgmt.logic.models.ContentLink + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'schema_type': {'required': True}, + 'created_time': {'readonly': True}, + 'changed_time': {'readonly': True}, + 'content_link': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'schema_type': {'key': 'properties.schemaType', 'type': 'str'}, + 'target_namespace': {'key': 'properties.targetNamespace', 'type': 'str'}, + 'document_name': {'key': 'properties.documentName', 'type': 'str'}, + 'file_name': {'key': 'properties.fileName', 'type': 'str'}, + 'created_time': {'key': 'properties.createdTime', 'type': 'iso-8601'}, + 'changed_time': {'key': 'properties.changedTime', 'type': 'iso-8601'}, + 'metadata': {'key': 'properties.metadata', 'type': 'object'}, + 'content': {'key': 'properties.content', 'type': 'str'}, + 'content_type': {'key': 'properties.contentType', 'type': 'str'}, + 'content_link': {'key': 'properties.contentLink', 'type': 'ContentLink'}, + } + + def __init__( + self, + **kwargs + ): + super(IntegrationAccountSchema, self).__init__(**kwargs) + self.schema_type = kwargs['schema_type'] + self.target_namespace = kwargs.get('target_namespace', None) + self.document_name = kwargs.get('document_name', None) + self.file_name = kwargs.get('file_name', None) + self.created_time = None + self.changed_time = None + self.metadata = kwargs.get('metadata', None) + self.content = kwargs.get('content', None) + self.content_type = kwargs.get('content_type', None) + self.content_link = None + + +class IntegrationAccountSchemaFilter(msrest.serialization.Model): + """The integration account schema filter for odata query. + + All required parameters must be populated in order to send to Azure. + + :param schema_type: Required. The schema type of integration account schema. Possible values + include: "NotSpecified", "Xml". + :type schema_type: str or ~azure.mgmt.logic.models.SchemaType + """ + + _validation = { + 'schema_type': {'required': True}, + } + + _attribute_map = { + 'schema_type': {'key': 'schemaType', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(IntegrationAccountSchemaFilter, self).__init__(**kwargs) + self.schema_type = kwargs['schema_type'] + + +class IntegrationAccountSchemaListResult(msrest.serialization.Model): + """The list of integration account schemas. + + :param value: The list of integration account schemas. + :type value: list[~azure.mgmt.logic.models.IntegrationAccountSchema] + :param next_link: The URL to get the next set of results. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[IntegrationAccountSchema]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(IntegrationAccountSchemaListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class IntegrationAccountSession(Resource): + """The integration account session. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: The resource id. + :vartype id: str + :ivar name: Gets the resource name. + :vartype name: str + :ivar type: Gets the resource type. + :vartype type: str + :param location: The resource location. + :type location: str + :param tags: A set of tags. The resource tags. + :type tags: dict[str, str] + :ivar created_time: The created time. + :vartype created_time: ~datetime.datetime + :ivar changed_time: The changed time. + :vartype changed_time: ~datetime.datetime + :param content: The session content. + :type content: object + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'created_time': {'readonly': True}, + 'changed_time': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'created_time': {'key': 'properties.createdTime', 'type': 'iso-8601'}, + 'changed_time': {'key': 'properties.changedTime', 'type': 'iso-8601'}, + 'content': {'key': 'properties.content', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(IntegrationAccountSession, self).__init__(**kwargs) + self.created_time = None + self.changed_time = None + self.content = kwargs.get('content', None) + + +class IntegrationAccountSessionFilter(msrest.serialization.Model): + """The integration account session filter. + + All required parameters must be populated in order to send to Azure. + + :param changed_time: Required. The changed time of integration account sessions. + :type changed_time: ~datetime.datetime + """ + + _validation = { + 'changed_time': {'required': True}, + } + + _attribute_map = { + 'changed_time': {'key': 'changedTime', 'type': 'iso-8601'}, + } + + def __init__( + self, + **kwargs + ): + super(IntegrationAccountSessionFilter, self).__init__(**kwargs) + self.changed_time = kwargs['changed_time'] + + +class IntegrationAccountSessionListResult(msrest.serialization.Model): + """The list of integration account sessions. + + :param value: The list of integration account sessions. + :type value: list[~azure.mgmt.logic.models.IntegrationAccountSession] + :param next_link: The URL to get the next set of results. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[IntegrationAccountSession]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(IntegrationAccountSessionListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class IntegrationAccountSku(msrest.serialization.Model): + """The integration account sku. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. The sku name. Possible values include: "NotSpecified", "Free", "Basic", + "Standard". + :type name: str or ~azure.mgmt.logic.models.IntegrationAccountSkuName + """ + + _validation = { + 'name': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(IntegrationAccountSku, self).__init__(**kwargs) + self.name = kwargs['name'] + + +class IntegrationServiceEnvironment(Resource): + """The integration service environment. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: The resource id. + :vartype id: str + :ivar name: Gets the resource name. + :vartype name: str + :ivar type: Gets the resource type. + :vartype type: str + :param location: The resource location. + :type location: str + :param tags: A set of tags. The resource tags. + :type tags: dict[str, str] + :param properties: The integration service environment properties. + :type properties: ~azure.mgmt.logic.models.IntegrationServiceEnvironmentProperties + :param sku: The sku. + :type sku: ~azure.mgmt.logic.models.IntegrationServiceEnvironmentSku + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'properties': {'key': 'properties', 'type': 'IntegrationServiceEnvironmentProperties'}, + 'sku': {'key': 'sku', 'type': 'IntegrationServiceEnvironmentSku'}, + } + + def __init__( + self, + **kwargs + ): + super(IntegrationServiceEnvironment, self).__init__(**kwargs) + self.properties = kwargs.get('properties', None) + self.sku = kwargs.get('sku', None) + + +class IntegrationServiceEnvironmentAccessEndpoint(msrest.serialization.Model): + """The integration service environment access endpoint. + + :param type: The access endpoint type. Possible values include: "NotSpecified", "External", + "Internal". + :type type: str or ~azure.mgmt.logic.models.IntegrationServiceEnvironmentAccessEndpointType + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(IntegrationServiceEnvironmentAccessEndpoint, self).__init__(**kwargs) + self.type = kwargs.get('type', None) + + +class IntegrationServiceEnvironmentListResult(msrest.serialization.Model): + """The list of integration service environments. + + :param value: + :type value: list[~azure.mgmt.logic.models.IntegrationServiceEnvironment] + :param next_link: The URL to get the next set of results. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[IntegrationServiceEnvironment]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(IntegrationServiceEnvironmentListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class IntegrationServiceEnvironmentNetworkDependency(msrest.serialization.Model): + """The azure async operation resource. + + :param category: The network dependency category type. Possible values include: "NotSpecified", + "AzureStorage", "AzureManagement", "AzureActiveDirectory", "SSLCertificateVerification", + "DiagnosticLogsAndMetrics", "IntegrationServiceEnvironmentConnectors", "RedisCache", + "AccessEndpoints", "RecoveryService", "SQL", "RegionalService". + :type category: str or + ~azure.mgmt.logic.models.IntegrationServiceEnvironmentNetworkDependencyCategoryType + :param display_name: The display name. + :type display_name: str + :param endpoints: The endpoints. + :type endpoints: list[~azure.mgmt.logic.models.IntegrationServiceEnvironmentNetworkEndpoint] + """ + + _attribute_map = { + 'category': {'key': 'category', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'endpoints': {'key': 'endpoints', 'type': '[IntegrationServiceEnvironmentNetworkEndpoint]'}, + } + + def __init__( + self, + **kwargs + ): + super(IntegrationServiceEnvironmentNetworkDependency, self).__init__(**kwargs) + self.category = kwargs.get('category', None) + self.display_name = kwargs.get('display_name', None) + self.endpoints = kwargs.get('endpoints', None) + + +class IntegrationServiceEnvironmentNetworkDependencyHealth(msrest.serialization.Model): + """The integration service environment subnet network health. + + :param error: The error if any occurred during the operation. + :type error: ~azure.mgmt.logic.models.ExtendedErrorInfo + :param state: The network dependency health state. Possible values include: "NotSpecified", + "Healthy", "Unhealthy", "Unknown". + :type state: str or + ~azure.mgmt.logic.models.IntegrationServiceEnvironmentNetworkDependencyHealthState + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'ExtendedErrorInfo'}, + 'state': {'key': 'state', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(IntegrationServiceEnvironmentNetworkDependencyHealth, self).__init__(**kwargs) + self.error = kwargs.get('error', None) + self.state = kwargs.get('state', None) + + +class IntegrationServiceEnvironmentNetworkEndpoint(msrest.serialization.Model): + """The network endpoint. + + :param accessibility: The accessibility state. Possible values include: "NotSpecified", + "Unknown", "Available", "NotAvailable". + :type accessibility: str or + ~azure.mgmt.logic.models.IntegrationServiceEnvironmentNetworkEndPointAccessibilityState + :param domain_name: The domain name. + :type domain_name: str + :param ports: The ports. + :type ports: list[str] + """ + + _attribute_map = { + 'accessibility': {'key': 'accessibility', 'type': 'str'}, + 'domain_name': {'key': 'domainName', 'type': 'str'}, + 'ports': {'key': 'ports', 'type': '[str]'}, + } + + def __init__( + self, + **kwargs + ): + super(IntegrationServiceEnvironmentNetworkEndpoint, self).__init__(**kwargs) + self.accessibility = kwargs.get('accessibility', None) + self.domain_name = kwargs.get('domain_name', None) + self.ports = kwargs.get('ports', None) + + +class IntegrationServiceEnvironmentProperties(msrest.serialization.Model): + """The integration service environment properties. + + :param provisioning_state: The provisioning state. Possible values include: "NotSpecified", + "Accepted", "Running", "Ready", "Creating", "Created", "Deleting", "Deleted", "Canceled", + "Failed", "Succeeded", "Moving", "Updating", "Registering", "Registered", "Unregistering", + "Unregistered", "Completed", "Renewing", "Pending", "Waiting", "InProgress". + :type provisioning_state: str or ~azure.mgmt.logic.models.WorkflowProvisioningState + :param state: The integration service environment state. Possible values include: + "NotSpecified", "Completed", "Enabled", "Disabled", "Deleted", "Suspended". + :type state: str or ~azure.mgmt.logic.models.WorkflowState + :param integration_service_environment_id: Gets the tracking id. + :type integration_service_environment_id: str + :param endpoints_configuration: The endpoints configuration. + :type endpoints_configuration: ~azure.mgmt.logic.models.FlowEndpointsConfiguration + :param network_configuration: The network configuration. + :type network_configuration: ~azure.mgmt.logic.models.NetworkConfiguration + """ + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + 'integration_service_environment_id': {'key': 'integrationServiceEnvironmentId', 'type': 'str'}, + 'endpoints_configuration': {'key': 'endpointsConfiguration', 'type': 'FlowEndpointsConfiguration'}, + 'network_configuration': {'key': 'networkConfiguration', 'type': 'NetworkConfiguration'}, + } + + def __init__( + self, + **kwargs + ): + super(IntegrationServiceEnvironmentProperties, self).__init__(**kwargs) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.state = kwargs.get('state', None) + self.integration_service_environment_id = kwargs.get('integration_service_environment_id', None) + self.endpoints_configuration = kwargs.get('endpoints_configuration', None) + self.network_configuration = kwargs.get('network_configuration', None) + + +class IntegrationServiceEnvironmentSku(msrest.serialization.Model): + """The integration service environment sku. + + :param name: The sku name. Possible values include: "NotSpecified", "Premium", "Developer". + :type name: str or ~azure.mgmt.logic.models.IntegrationServiceEnvironmentSkuName + :param capacity: The sku capacity. + :type capacity: int + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'capacity': {'key': 'capacity', 'type': 'int'}, + } + + def __init__( + self, + **kwargs + ): + super(IntegrationServiceEnvironmentSku, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.capacity = kwargs.get('capacity', None) + + +class IntegrationServiceEnvironmentSkuCapacity(msrest.serialization.Model): + """The integration service environment sku capacity. + + :param minimum: The minimum capacity. + :type minimum: int + :param maximum: The maximum capacity. + :type maximum: int + :param default: The default capacity. + :type default: int + :param scale_type: The sku scale type. Possible values include: "Manual", "Automatic", "None". + :type scale_type: str or ~azure.mgmt.logic.models.IntegrationServiceEnvironmentSkuScaleType + """ + + _attribute_map = { + 'minimum': {'key': 'minimum', 'type': 'int'}, + 'maximum': {'key': 'maximum', 'type': 'int'}, + 'default': {'key': 'default', 'type': 'int'}, + 'scale_type': {'key': 'scaleType', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(IntegrationServiceEnvironmentSkuCapacity, self).__init__(**kwargs) + self.minimum = kwargs.get('minimum', None) + self.maximum = kwargs.get('maximum', None) + self.default = kwargs.get('default', None) + self.scale_type = kwargs.get('scale_type', None) + + +class IntegrationServiceEnvironmentSkuDefinition(msrest.serialization.Model): + """The integration service environment sku definition. + + :param resource_type: The resource type. + :type resource_type: str + :param sku: The sku. + :type sku: ~azure.mgmt.logic.models.IntegrationServiceEnvironmentSkuDefinitionSku + :param capacity: The sku capacity. + :type capacity: ~azure.mgmt.logic.models.IntegrationServiceEnvironmentSkuCapacity + """ + + _attribute_map = { + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'sku': {'key': 'sku', 'type': 'IntegrationServiceEnvironmentSkuDefinitionSku'}, + 'capacity': {'key': 'capacity', 'type': 'IntegrationServiceEnvironmentSkuCapacity'}, + } + + def __init__( + self, + **kwargs + ): + super(IntegrationServiceEnvironmentSkuDefinition, self).__init__(**kwargs) + self.resource_type = kwargs.get('resource_type', None) + self.sku = kwargs.get('sku', None) + self.capacity = kwargs.get('capacity', None) + + +class IntegrationServiceEnvironmentSkuDefinitionSku(msrest.serialization.Model): + """The sku. + + :param name: The sku name. Possible values include: "NotSpecified", "Premium", "Developer". + :type name: str or ~azure.mgmt.logic.models.IntegrationServiceEnvironmentSkuName + :param tier: The sku tier. + :type tier: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(IntegrationServiceEnvironmentSkuDefinitionSku, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.tier = kwargs.get('tier', None) + + +class IntegrationServiceEnvironmentSkuList(msrest.serialization.Model): + """The list of integration service environment skus. + + :param value: The list of integration service environment skus. + :type value: list[~azure.mgmt.logic.models.IntegrationServiceEnvironmentSkuDefinition] + :param next_link: The URL to get the next set of results. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[IntegrationServiceEnvironmentSkuDefinition]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(IntegrationServiceEnvironmentSkuList, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class IntegrationServiceEnvironmentSubnetNetworkHealth(msrest.serialization.Model): + """The integration service environment subnet network health. + + All required parameters must be populated in order to send to Azure. + + :param outbound_network_dependencies: The outbound network dependencies. + :type outbound_network_dependencies: + list[~azure.mgmt.logic.models.IntegrationServiceEnvironmentNetworkDependency] + :param outbound_network_health: The integration service environment network health. + :type outbound_network_health: + ~azure.mgmt.logic.models.IntegrationServiceEnvironmentNetworkDependencyHealth + :param network_dependency_health_state: Required. The integration service environment network + health state. Possible values include: "NotSpecified", "Unknown", "Available", "NotAvailable". + :type network_dependency_health_state: str or + ~azure.mgmt.logic.models.IntegrationServiceEnvironmentNetworkEndPointAccessibilityState + """ + + _validation = { + 'network_dependency_health_state': {'required': True}, + } + + _attribute_map = { + 'outbound_network_dependencies': {'key': 'outboundNetworkDependencies', 'type': '[IntegrationServiceEnvironmentNetworkDependency]'}, + 'outbound_network_health': {'key': 'outboundNetworkHealth', 'type': 'IntegrationServiceEnvironmentNetworkDependencyHealth'}, + 'network_dependency_health_state': {'key': 'networkDependencyHealthState', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(IntegrationServiceEnvironmentSubnetNetworkHealth, self).__init__(**kwargs) + self.outbound_network_dependencies = kwargs.get('outbound_network_dependencies', None) + self.outbound_network_health = kwargs.get('outbound_network_health', None) + self.network_dependency_health_state = kwargs['network_dependency_health_state'] + + +class IpAddress(msrest.serialization.Model): + """The ip address. + + :param address: The address. + :type address: str + """ + + _attribute_map = { + 'address': {'key': 'address', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(IpAddress, self).__init__(**kwargs) + self.address = kwargs.get('address', None) + + +class IpAddressRange(msrest.serialization.Model): + """The ip address range. + + :param address_range: The IP address range. + :type address_range: str + """ + + _attribute_map = { + 'address_range': {'key': 'addressRange', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(IpAddressRange, self).__init__(**kwargs) + self.address_range = kwargs.get('address_range', None) + + +class JsonSchema(msrest.serialization.Model): + """The JSON schema. + + :param title: The JSON title. + :type title: str + :param content: The JSON content. + :type content: str + """ + + _attribute_map = { + 'title': {'key': 'title', 'type': 'str'}, + 'content': {'key': 'content', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(JsonSchema, self).__init__(**kwargs) + self.title = kwargs.get('title', None) + self.content = kwargs.get('content', None) + + +class KeyVaultKey(msrest.serialization.Model): + """The key vault key. + + :param kid: The key id. + :type kid: str + :param attributes: The key attributes. + :type attributes: ~azure.mgmt.logic.models.KeyVaultKeyAttributes + """ + + _attribute_map = { + 'kid': {'key': 'kid', 'type': 'str'}, + 'attributes': {'key': 'attributes', 'type': 'KeyVaultKeyAttributes'}, + } + + def __init__( + self, + **kwargs + ): + super(KeyVaultKey, self).__init__(**kwargs) + self.kid = kwargs.get('kid', None) + self.attributes = kwargs.get('attributes', None) + + +class KeyVaultKeyAttributes(msrest.serialization.Model): + """The key attributes. + + :param enabled: Whether the key is enabled or not. + :type enabled: bool + :param created: When the key was created. + :type created: long + :param updated: When the key was updated. + :type updated: long + """ + + _attribute_map = { + 'enabled': {'key': 'enabled', 'type': 'bool'}, + 'created': {'key': 'created', 'type': 'long'}, + 'updated': {'key': 'updated', 'type': 'long'}, + } + + def __init__( + self, + **kwargs + ): + super(KeyVaultKeyAttributes, self).__init__(**kwargs) + self.enabled = kwargs.get('enabled', None) + self.created = kwargs.get('created', None) + self.updated = kwargs.get('updated', None) + + +class KeyVaultKeyCollection(msrest.serialization.Model): + """Collection of key vault keys. + + :param value: The key vault keys. + :type value: list[~azure.mgmt.logic.models.KeyVaultKey] + :param skip_token: The skip token. + :type skip_token: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[KeyVaultKey]'}, + 'skip_token': {'key': 'skipToken', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(KeyVaultKeyCollection, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.skip_token = kwargs.get('skip_token', None) + + +class KeyVaultKeyReference(msrest.serialization.Model): + """The reference to the key vault key. + + All required parameters must be populated in order to send to Azure. + + :param key_vault: Required. The key vault reference. + :type key_vault: ~azure.mgmt.logic.models.KeyVaultKeyReferenceKeyVault + :param key_name: Required. The private key name in key vault. + :type key_name: str + :param key_version: The private key version in key vault. + :type key_version: str + """ + + _validation = { + 'key_vault': {'required': True}, + 'key_name': {'required': True}, + } + + _attribute_map = { + 'key_vault': {'key': 'keyVault', 'type': 'KeyVaultKeyReferenceKeyVault'}, + 'key_name': {'key': 'keyName', 'type': 'str'}, + 'key_version': {'key': 'keyVersion', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(KeyVaultKeyReference, self).__init__(**kwargs) + self.key_vault = kwargs['key_vault'] + self.key_name = kwargs['key_name'] + self.key_version = kwargs.get('key_version', None) + + +class KeyVaultKeyReferenceKeyVault(msrest.serialization.Model): + """The key vault reference. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param id: The resource id. + :type id: str + :ivar name: The resource name. + :vartype name: str + :ivar type: The resource type. + :vartype type: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(KeyVaultKeyReferenceKeyVault, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.name = None + self.type = None + + +class KeyVaultReference(ResourceReference): + """The key vault reference. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param id: The resource id. + :type id: str + :ivar type: Gets the resource type. + :vartype type: str + :param name: The key vault name. + :type name: str + """ + + _validation = { + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(KeyVaultReference, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + + +class ListKeyVaultKeysDefinition(msrest.serialization.Model): + """The list key vault keys definition. + + All required parameters must be populated in order to send to Azure. + + :param key_vault: Required. The key vault reference. + :type key_vault: ~azure.mgmt.logic.models.KeyVaultReference + :param skip_token: The skip token. + :type skip_token: str + """ + + _validation = { + 'key_vault': {'required': True}, + } + + _attribute_map = { + 'key_vault': {'key': 'keyVault', 'type': 'KeyVaultReference'}, + 'skip_token': {'key': 'skipToken', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ListKeyVaultKeysDefinition, self).__init__(**kwargs) + self.key_vault = kwargs['key_vault'] + self.skip_token = kwargs.get('skip_token', None) + + +class ManagedApi(Resource): + """The managed api definition. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: The resource id. + :vartype id: str + :ivar name: Gets the resource name. + :vartype name: str + :ivar type: Gets the resource type. + :vartype type: str + :param location: The resource location. + :type location: str + :param tags: A set of tags. The resource tags. + :type tags: dict[str, str] + :param properties: The api resource properties. + :type properties: ~azure.mgmt.logic.models.ApiResourceProperties + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'properties': {'key': 'properties', 'type': 'ApiResourceProperties'}, + } + + def __init__( + self, + **kwargs + ): + super(ManagedApi, self).__init__(**kwargs) + self.properties = kwargs.get('properties', None) + + +class ManagedApiListResult(msrest.serialization.Model): + """The list of managed APIs. + + :param value: The managed APIs. + :type value: list[~azure.mgmt.logic.models.ManagedApi] + :param next_link: The URL to get the next set of results. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ManagedApi]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ManagedApiListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class NetworkConfiguration(msrest.serialization.Model): + """The network configuration. + + :param virtual_network_address_space: Gets the virtual network address space. + :type virtual_network_address_space: str + :param access_endpoint: The access endpoint. + :type access_endpoint: ~azure.mgmt.logic.models.IntegrationServiceEnvironmentAccessEndpoint + :param subnets: The subnets. + :type subnets: list[~azure.mgmt.logic.models.ResourceReference] + """ + + _attribute_map = { + 'virtual_network_address_space': {'key': 'virtualNetworkAddressSpace', 'type': 'str'}, + 'access_endpoint': {'key': 'accessEndpoint', 'type': 'IntegrationServiceEnvironmentAccessEndpoint'}, + 'subnets': {'key': 'subnets', 'type': '[ResourceReference]'}, + } + + def __init__( + self, + **kwargs + ): + super(NetworkConfiguration, self).__init__(**kwargs) + self.virtual_network_address_space = kwargs.get('virtual_network_address_space', None) + self.access_endpoint = kwargs.get('access_endpoint', None) + self.subnets = kwargs.get('subnets', None) + + +class OpenAuthenticationAccessPolicies(msrest.serialization.Model): + """AuthenticationPolicy of type Open. + + :param policies: Open authentication policies. + :type policies: dict[str, ~azure.mgmt.logic.models.OpenAuthenticationAccessPolicy] + """ + + _attribute_map = { + 'policies': {'key': 'policies', 'type': '{OpenAuthenticationAccessPolicy}'}, + } + + def __init__( + self, + **kwargs + ): + super(OpenAuthenticationAccessPolicies, self).__init__(**kwargs) + self.policies = kwargs.get('policies', None) + + +class OpenAuthenticationAccessPolicy(msrest.serialization.Model): + """Open authentication access policy defined by user. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar type: Type of provider for OAuth. Default value: "AAD". + :vartype type: str + :param claims: The access policy claims. + :type claims: list[~azure.mgmt.logic.models.OpenAuthenticationPolicyClaim] + """ + + _validation = { + 'type': {'readonly': True, 'constant': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'claims': {'key': 'claims', 'type': '[OpenAuthenticationPolicyClaim]'}, + } + + type = "AAD" + + def __init__( + self, + **kwargs + ): + super(OpenAuthenticationAccessPolicy, self).__init__(**kwargs) + self.type = None + self.claims = kwargs.get('claims', None) + + +class OpenAuthenticationPolicyClaim(msrest.serialization.Model): + """Open authentication policy claim. + + :param name: The name of the claim. + :type name: str + :param value: The value of the claim. + :type value: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(OpenAuthenticationPolicyClaim, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.value = kwargs.get('value', None) + + +class Operation(msrest.serialization.Model): + """Logic REST API operation. + + :param origin: Operation: origin. + :type origin: str + :param name: Operation name: {provider}/{resource}/{operation}. + :type name: str + :param display: The object that represents the operation. + :type display: ~azure.mgmt.logic.models.OperationDisplay + :param properties: The properties. + :type properties: object + """ + + _attribute_map = { + 'origin': {'key': 'origin', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'OperationDisplay'}, + 'properties': {'key': 'properties', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(Operation, self).__init__(**kwargs) + self.origin = kwargs.get('origin', None) + self.name = kwargs.get('name', None) + self.display = kwargs.get('display', None) + self.properties = kwargs.get('properties', None) + + +class OperationDisplay(msrest.serialization.Model): + """The object that represents the operation. + + :param provider: Service provider: Microsoft.Logic. + :type provider: str + :param resource: Resource on which the operation is performed: Profile, endpoint, etc. + :type resource: str + :param operation: Operation type: Read, write, delete, etc. + :type operation: str + :param description: Operation: description. + :type description: str + """ + + _attribute_map = { + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(OperationDisplay, self).__init__(**kwargs) + self.provider = kwargs.get('provider', None) + self.resource = kwargs.get('resource', None) + self.operation = kwargs.get('operation', None) + self.description = kwargs.get('description', None) + + +class OperationListResult(msrest.serialization.Model): + """Result of the request to list Logic operations. It contains a list of operations and a URL link to get the next set of results. + + :param value: List of Logic operations supported by the Logic resource provider. + :type value: list[~azure.mgmt.logic.models.Operation] + :param next_link: URL to get the next set of operation list results if there are any. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[Operation]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(OperationListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class OperationResultProperties(msrest.serialization.Model): + """The run operation result properties. + + :param start_time: The start time of the workflow scope repetition. + :type start_time: ~datetime.datetime + :param end_time: The end time of the workflow scope repetition. + :type end_time: ~datetime.datetime + :param correlation: The correlation properties. + :type correlation: ~azure.mgmt.logic.models.RunActionCorrelation + :param status: The status of the workflow scope repetition. Possible values include: + "NotSpecified", "Paused", "Running", "Waiting", "Succeeded", "Skipped", "Suspended", + "Cancelled", "Failed", "Faulted", "TimedOut", "Aborted", "Ignored". + :type status: str or ~azure.mgmt.logic.models.WorkflowStatus + :param code: The workflow scope repetition code. + :type code: str + :param error: Any object. + :type error: object + """ + + _attribute_map = { + 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, + 'correlation': {'key': 'correlation', 'type': 'RunActionCorrelation'}, + 'status': {'key': 'status', 'type': 'str'}, + 'code': {'key': 'code', 'type': 'str'}, + 'error': {'key': 'error', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(OperationResultProperties, self).__init__(**kwargs) + self.start_time = kwargs.get('start_time', None) + self.end_time = kwargs.get('end_time', None) + self.correlation = kwargs.get('correlation', None) + self.status = kwargs.get('status', None) + self.code = kwargs.get('code', None) + self.error = kwargs.get('error', None) + + +class OperationResult(OperationResultProperties): + """The operation result definition. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param start_time: The start time of the workflow scope repetition. + :type start_time: ~datetime.datetime + :param end_time: The end time of the workflow scope repetition. + :type end_time: ~datetime.datetime + :param correlation: The correlation properties. + :type correlation: ~azure.mgmt.logic.models.RunActionCorrelation + :param status: The status of the workflow scope repetition. Possible values include: + "NotSpecified", "Paused", "Running", "Waiting", "Succeeded", "Skipped", "Suspended", + "Cancelled", "Failed", "Faulted", "TimedOut", "Aborted", "Ignored". + :type status: str or ~azure.mgmt.logic.models.WorkflowStatus + :param code: The workflow scope repetition code. + :type code: str + :param error: Any object. + :type error: object + :ivar tracking_id: Gets the tracking id. + :vartype tracking_id: str + :ivar inputs: Gets the inputs. + :vartype inputs: object + :ivar inputs_link: Gets the link to inputs. + :vartype inputs_link: ~azure.mgmt.logic.models.ContentLink + :ivar outputs: Gets the outputs. + :vartype outputs: object + :ivar outputs_link: Gets the link to outputs. + :vartype outputs_link: ~azure.mgmt.logic.models.ContentLink + :ivar tracked_properties: Gets the tracked properties. + :vartype tracked_properties: object + :param retry_history: Gets the retry histories. + :type retry_history: list[~azure.mgmt.logic.models.RetryHistory] + :param iteration_count: + :type iteration_count: int + """ + + _validation = { + 'tracking_id': {'readonly': True}, + 'inputs': {'readonly': True}, + 'inputs_link': {'readonly': True}, + 'outputs': {'readonly': True}, + 'outputs_link': {'readonly': True}, + 'tracked_properties': {'readonly': True}, + } + + _attribute_map = { + 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, + 'correlation': {'key': 'correlation', 'type': 'RunActionCorrelation'}, + 'status': {'key': 'status', 'type': 'str'}, + 'code': {'key': 'code', 'type': 'str'}, + 'error': {'key': 'error', 'type': 'object'}, + 'tracking_id': {'key': 'trackingId', 'type': 'str'}, + 'inputs': {'key': 'inputs', 'type': 'object'}, + 'inputs_link': {'key': 'inputsLink', 'type': 'ContentLink'}, + 'outputs': {'key': 'outputs', 'type': 'object'}, + 'outputs_link': {'key': 'outputsLink', 'type': 'ContentLink'}, + 'tracked_properties': {'key': 'trackedProperties', 'type': 'object'}, + 'retry_history': {'key': 'retryHistory', 'type': '[RetryHistory]'}, + 'iteration_count': {'key': 'iterationCount', 'type': 'int'}, + } + + def __init__( + self, + **kwargs + ): + super(OperationResult, self).__init__(**kwargs) + self.tracking_id = None + self.inputs = None + self.inputs_link = None + self.outputs = None + self.outputs_link = None + self.tracked_properties = None + self.retry_history = kwargs.get('retry_history', None) + self.iteration_count = kwargs.get('iteration_count', None) + + +class PartnerContent(msrest.serialization.Model): + """The integration account partner content. + + :param b2_b: The B2B partner content. + :type b2_b: ~azure.mgmt.logic.models.B2BPartnerContent + """ + + _attribute_map = { + 'b2_b': {'key': 'b2b', 'type': 'B2BPartnerContent'}, + } + + def __init__( + self, + **kwargs + ): + super(PartnerContent, self).__init__(**kwargs) + self.b2_b = kwargs.get('b2_b', None) + + +class RecurrenceSchedule(msrest.serialization.Model): + """The recurrence schedule. + + :param minutes: The minutes. + :type minutes: list[int] + :param hours: The hours. + :type hours: list[int] + :param week_days: The days of the week. + :type week_days: list[str or ~azure.mgmt.logic.models.DaysOfWeek] + :param month_days: The month days. + :type month_days: list[int] + :param monthly_occurrences: The monthly occurrences. + :type monthly_occurrences: list[~azure.mgmt.logic.models.RecurrenceScheduleOccurrence] + """ + + _attribute_map = { + 'minutes': {'key': 'minutes', 'type': '[int]'}, + 'hours': {'key': 'hours', 'type': '[int]'}, + 'week_days': {'key': 'weekDays', 'type': '[str]'}, + 'month_days': {'key': 'monthDays', 'type': '[int]'}, + 'monthly_occurrences': {'key': 'monthlyOccurrences', 'type': '[RecurrenceScheduleOccurrence]'}, + } + + def __init__( + self, + **kwargs + ): + super(RecurrenceSchedule, self).__init__(**kwargs) + self.minutes = kwargs.get('minutes', None) + self.hours = kwargs.get('hours', None) + self.week_days = kwargs.get('week_days', None) + self.month_days = kwargs.get('month_days', None) + self.monthly_occurrences = kwargs.get('monthly_occurrences', None) + + +class RecurrenceScheduleOccurrence(msrest.serialization.Model): + """The recurrence schedule occurrence. + + :param day: The day of the week. Possible values include: "Sunday", "Monday", "Tuesday", + "Wednesday", "Thursday", "Friday", "Saturday". + :type day: str or ~azure.mgmt.logic.models.DayOfWeek + :param occurrence: The occurrence. + :type occurrence: int + """ + + _attribute_map = { + 'day': {'key': 'day', 'type': 'str'}, + 'occurrence': {'key': 'occurrence', 'type': 'int'}, + } + + def __init__( + self, + **kwargs + ): + super(RecurrenceScheduleOccurrence, self).__init__(**kwargs) + self.day = kwargs.get('day', None) + self.occurrence = kwargs.get('occurrence', None) + + +class RegenerateActionParameter(msrest.serialization.Model): + """The access key regenerate action content. + + :param key_type: The key type. Possible values include: "NotSpecified", "Primary", "Secondary". + :type key_type: str or ~azure.mgmt.logic.models.KeyType + """ + + _attribute_map = { + 'key_type': {'key': 'keyType', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(RegenerateActionParameter, self).__init__(**kwargs) + self.key_type = kwargs.get('key_type', None) + + +class RepetitionIndex(msrest.serialization.Model): + """The workflow run action repetition index. + + All required parameters must be populated in order to send to Azure. + + :param scope_name: The scope. + :type scope_name: str + :param item_index: Required. The index. + :type item_index: int + """ + + _validation = { + 'item_index': {'required': True}, + } + + _attribute_map = { + 'scope_name': {'key': 'scopeName', 'type': 'str'}, + 'item_index': {'key': 'itemIndex', 'type': 'int'}, + } + + def __init__( + self, + **kwargs + ): + super(RepetitionIndex, self).__init__(**kwargs) + self.scope_name = kwargs.get('scope_name', None) + self.item_index = kwargs['item_index'] + + +class Request(msrest.serialization.Model): + """A request. + + :param headers: A list of all the headers attached to the request. + :type headers: object + :param uri: The destination for the request. + :type uri: str + :param method: The HTTP method used for the request. + :type method: str + """ + + _attribute_map = { + 'headers': {'key': 'headers', 'type': 'object'}, + 'uri': {'key': 'uri', 'type': 'str'}, + 'method': {'key': 'method', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(Request, self).__init__(**kwargs) + self.headers = kwargs.get('headers', None) + self.uri = kwargs.get('uri', None) + self.method = kwargs.get('method', None) + + +class RequestHistory(Resource): + """The request history. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: The resource id. + :vartype id: str + :ivar name: Gets the resource name. + :vartype name: str + :ivar type: Gets the resource type. + :vartype type: str + :param location: The resource location. + :type location: str + :param tags: A set of tags. The resource tags. + :type tags: dict[str, str] + :param properties: The request history properties. + :type properties: ~azure.mgmt.logic.models.RequestHistoryProperties + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'properties': {'key': 'properties', 'type': 'RequestHistoryProperties'}, + } + + def __init__( + self, + **kwargs + ): + super(RequestHistory, self).__init__(**kwargs) + self.properties = kwargs.get('properties', None) + + +class RequestHistoryListResult(msrest.serialization.Model): + """The list of workflow request histories. + + :param value: A list of workflow request histories. + :type value: list[~azure.mgmt.logic.models.RequestHistory] + :param next_link: The URL to get the next set of results. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[RequestHistory]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(RequestHistoryListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class RequestHistoryProperties(msrest.serialization.Model): + """The request history. + + :param start_time: The time the request started. + :type start_time: ~datetime.datetime + :param end_time: The time the request ended. + :type end_time: ~datetime.datetime + :param request: The request. + :type request: ~azure.mgmt.logic.models.Request + :param response: The response. + :type response: ~azure.mgmt.logic.models.Response + """ + + _attribute_map = { + 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, + 'request': {'key': 'request', 'type': 'Request'}, + 'response': {'key': 'response', 'type': 'Response'}, + } + + def __init__( + self, + **kwargs + ): + super(RequestHistoryProperties, self).__init__(**kwargs) + self.start_time = kwargs.get('start_time', None) + self.end_time = kwargs.get('end_time', None) + self.request = kwargs.get('request', None) + self.response = kwargs.get('response', None) + + +class Response(msrest.serialization.Model): + """A response. + + :param headers: A list of all the headers attached to the response. + :type headers: object + :param status_code: The status code of the response. + :type status_code: int + :param body_link: Details on the location of the body content. + :type body_link: ~azure.mgmt.logic.models.ContentLink + """ + + _attribute_map = { + 'headers': {'key': 'headers', 'type': 'object'}, + 'status_code': {'key': 'statusCode', 'type': 'int'}, + 'body_link': {'key': 'bodyLink', 'type': 'ContentLink'}, + } + + def __init__( + self, + **kwargs + ): + super(Response, self).__init__(**kwargs) + self.headers = kwargs.get('headers', None) + self.status_code = kwargs.get('status_code', None) + self.body_link = kwargs.get('body_link', None) + + +class RetryHistory(msrest.serialization.Model): + """The retry history. + + :param start_time: Gets the start time. + :type start_time: ~datetime.datetime + :param end_time: Gets the end time. + :type end_time: ~datetime.datetime + :param code: Gets the status code. + :type code: str + :param client_request_id: Gets the client request Id. + :type client_request_id: str + :param service_request_id: Gets the service request Id. + :type service_request_id: str + :param error: Gets the error response. + :type error: ~azure.mgmt.logic.models.ErrorResponse + """ + + _attribute_map = { + 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, + 'code': {'key': 'code', 'type': 'str'}, + 'client_request_id': {'key': 'clientRequestId', 'type': 'str'}, + 'service_request_id': {'key': 'serviceRequestId', 'type': 'str'}, + 'error': {'key': 'error', 'type': 'ErrorResponse'}, + } + + def __init__( + self, + **kwargs + ): + super(RetryHistory, self).__init__(**kwargs) + self.start_time = kwargs.get('start_time', None) + self.end_time = kwargs.get('end_time', None) + self.code = kwargs.get('code', None) + self.client_request_id = kwargs.get('client_request_id', None) + self.service_request_id = kwargs.get('service_request_id', None) + self.error = kwargs.get('error', None) + + +class RunCorrelation(msrest.serialization.Model): + """The correlation properties. + + :param client_tracking_id: The client tracking identifier. + :type client_tracking_id: str + :param client_keywords: The client keywords. + :type client_keywords: list[str] + """ + + _attribute_map = { + 'client_tracking_id': {'key': 'clientTrackingId', 'type': 'str'}, + 'client_keywords': {'key': 'clientKeywords', 'type': '[str]'}, + } + + def __init__( + self, + **kwargs + ): + super(RunCorrelation, self).__init__(**kwargs) + self.client_tracking_id = kwargs.get('client_tracking_id', None) + self.client_keywords = kwargs.get('client_keywords', None) + + +class RunActionCorrelation(RunCorrelation): + """The workflow run action correlation properties. + + :param client_tracking_id: The client tracking identifier. + :type client_tracking_id: str + :param client_keywords: The client keywords. + :type client_keywords: list[str] + :param action_tracking_id: The action tracking identifier. + :type action_tracking_id: str + """ + + _attribute_map = { + 'client_tracking_id': {'key': 'clientTrackingId', 'type': 'str'}, + 'client_keywords': {'key': 'clientKeywords', 'type': '[str]'}, + 'action_tracking_id': {'key': 'actionTrackingId', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(RunActionCorrelation, self).__init__(**kwargs) + self.action_tracking_id = kwargs.get('action_tracking_id', None) + + +class SetTriggerStateActionDefinition(msrest.serialization.Model): + """The set trigger state action definition. + + All required parameters must be populated in order to send to Azure. + + :param source: Required. The source. + :type source: ~azure.mgmt.logic.models.WorkflowTriggerReference + """ + + _validation = { + 'source': {'required': True}, + } + + _attribute_map = { + 'source': {'key': 'source', 'type': 'WorkflowTriggerReference'}, + } + + def __init__( + self, + **kwargs + ): + super(SetTriggerStateActionDefinition, self).__init__(**kwargs) + self.source = kwargs['source'] + + +class Sku(msrest.serialization.Model): + """The sku type. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. The name. Possible values include: "NotSpecified", "Free", "Shared", + "Basic", "Standard", "Premium". + :type name: str or ~azure.mgmt.logic.models.SkuName + :param plan: The reference to plan. + :type plan: ~azure.mgmt.logic.models.ResourceReference + """ + + _validation = { + 'name': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'plan': {'key': 'plan', 'type': 'ResourceReference'}, + } + + def __init__( + self, + **kwargs + ): + super(Sku, self).__init__(**kwargs) + self.name = kwargs['name'] + self.plan = kwargs.get('plan', None) + + +class SubResource(msrest.serialization.Model): + """The sub resource type. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: The resource id. + :vartype id: str + """ + + _validation = { + 'id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(SubResource, self).__init__(**kwargs) + self.id = None + + +class SwaggerCustomDynamicList(msrest.serialization.Model): + """The swagger custom dynamic list. + + :param operation_id: The operation id to fetch dynamic schema. + :type operation_id: str + :param built_in_operation: The built in operation. + :type built_in_operation: str + :param items_path: The path to a response property (relative to the response object, not the + response body) which contains an array of dynamic value items. + :type items_path: str + :param item_value_path: The path to a property which defines the value which should be used. + :type item_value_path: str + :param item_title_path: The path to an item property which defines the display name of the + item. + :type item_title_path: str + :param parameters: The parameters. + :type parameters: dict[str, ~azure.mgmt.logic.models.SwaggerCustomDynamicProperties] + """ + + _attribute_map = { + 'operation_id': {'key': 'operationId', 'type': 'str'}, + 'built_in_operation': {'key': 'builtInOperation', 'type': 'str'}, + 'items_path': {'key': 'itemsPath', 'type': 'str'}, + 'item_value_path': {'key': 'itemValuePath', 'type': 'str'}, + 'item_title_path': {'key': 'itemTitlePath', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{SwaggerCustomDynamicProperties}'}, + } + + def __init__( + self, + **kwargs + ): + super(SwaggerCustomDynamicList, self).__init__(**kwargs) + self.operation_id = kwargs.get('operation_id', None) + self.built_in_operation = kwargs.get('built_in_operation', None) + self.items_path = kwargs.get('items_path', None) + self.item_value_path = kwargs.get('item_value_path', None) + self.item_title_path = kwargs.get('item_title_path', None) + self.parameters = kwargs.get('parameters', None) + + +class SwaggerCustomDynamicProperties(msrest.serialization.Model): + """The swagger custom dynamic properties. + + :param operation_id: The operation id to fetch dynamic schema. + :type operation_id: str + :param value_path: Json pointer to the dynamic schema on the response body. + :type value_path: str + :param parameters: The operation parameters. + :type parameters: dict[str, ~azure.mgmt.logic.models.SwaggerCustomDynamicProperties] + """ + + _attribute_map = { + 'operation_id': {'key': 'operationId', 'type': 'str'}, + 'value_path': {'key': 'valuePath', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{SwaggerCustomDynamicProperties}'}, + } + + def __init__( + self, + **kwargs + ): + super(SwaggerCustomDynamicProperties, self).__init__(**kwargs) + self.operation_id = kwargs.get('operation_id', None) + self.value_path = kwargs.get('value_path', None) + self.parameters = kwargs.get('parameters', None) + + +class SwaggerCustomDynamicSchema(msrest.serialization.Model): + """The swagger custom dynamic schema. + + :param operation_id: The operation id to fetch dynamic schema. + :type operation_id: str + :param value_path: Json pointer to the dynamic schema on the response body. + :type value_path: str + :param parameters: The operation parameters. + :type parameters: dict[str, object] + """ + + _attribute_map = { + 'operation_id': {'key': 'operationId', 'type': 'str'}, + 'value_path': {'key': 'valuePath', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{object}'}, + } + + def __init__( + self, + **kwargs + ): + super(SwaggerCustomDynamicSchema, self).__init__(**kwargs) + self.operation_id = kwargs.get('operation_id', None) + self.value_path = kwargs.get('value_path', None) + self.parameters = kwargs.get('parameters', None) + + +class SwaggerCustomDynamicTree(msrest.serialization.Model): + """The swagger custom dynamic tree. + + :param settings: The tree settings. + :type settings: ~azure.mgmt.logic.models.SwaggerCustomDynamicTreeSettings + :param open: The tree on-open configuration. + :type open: ~azure.mgmt.logic.models.SwaggerCustomDynamicTreeCommand + :param browse: The tree on-browse configuration. + :type browse: ~azure.mgmt.logic.models.SwaggerCustomDynamicTreeCommand + """ + + _attribute_map = { + 'settings': {'key': 'settings', 'type': 'SwaggerCustomDynamicTreeSettings'}, + 'open': {'key': 'open', 'type': 'SwaggerCustomDynamicTreeCommand'}, + 'browse': {'key': 'browse', 'type': 'SwaggerCustomDynamicTreeCommand'}, + } + + def __init__( + self, + **kwargs + ): + super(SwaggerCustomDynamicTree, self).__init__(**kwargs) + self.settings = kwargs.get('settings', None) + self.open = kwargs.get('open', None) + self.browse = kwargs.get('browse', None) + + +class SwaggerCustomDynamicTreeCommand(msrest.serialization.Model): + """The swagger tree command. + + :param operation_id: The path to an item property which defines the display name of the item. + :type operation_id: str + :param items_path: The path to an item property which defines the display name of the item. + :type items_path: str + :param item_value_path: The path to an item property which defines the display name of the + item. + :type item_value_path: str + :param item_title_path: The path to an item property which defines the display name of the + item. + :type item_title_path: str + :param item_full_title_path: The path to an item property which defines the display name of the + item. + :type item_full_title_path: str + :param item_is_parent: The path to an item property which defines the display name of the item. + :type item_is_parent: str + :param selectable_filter: The path to an item property which defines the display name of the + item. + :type selectable_filter: str + :param parameters: Dictionary of :code:``. + :type parameters: dict[str, ~azure.mgmt.logic.models.SwaggerCustomDynamicTreeParameter] + """ + + _attribute_map = { + 'operation_id': {'key': 'operationId', 'type': 'str'}, + 'items_path': {'key': 'itemsPath', 'type': 'str'}, + 'item_value_path': {'key': 'itemValuePath', 'type': 'str'}, + 'item_title_path': {'key': 'itemTitlePath', 'type': 'str'}, + 'item_full_title_path': {'key': 'itemFullTitlePath', 'type': 'str'}, + 'item_is_parent': {'key': 'itemIsParent', 'type': 'str'}, + 'selectable_filter': {'key': 'selectableFilter', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{SwaggerCustomDynamicTreeParameter}'}, + } + + def __init__( + self, + **kwargs + ): + super(SwaggerCustomDynamicTreeCommand, self).__init__(**kwargs) + self.operation_id = kwargs.get('operation_id', None) + self.items_path = kwargs.get('items_path', None) + self.item_value_path = kwargs.get('item_value_path', None) + self.item_title_path = kwargs.get('item_title_path', None) + self.item_full_title_path = kwargs.get('item_full_title_path', None) + self.item_is_parent = kwargs.get('item_is_parent', None) + self.selectable_filter = kwargs.get('selectable_filter', None) + self.parameters = kwargs.get('parameters', None) + + +class SwaggerCustomDynamicTreeParameter(msrest.serialization.Model): + """The swagger custom dynamic tree parameter. + + :param selected_item_value_path: Gets or sets a path to a property in the currently selected + item to pass as a value to a parameter for the given operation. + :type selected_item_value_path: str + :param value: The parameter value. + :type value: object + :param parameter_reference: The parameter reference. + :type parameter_reference: str + :param required: Indicates whether the parameter is required. + :type required: bool + """ + + _attribute_map = { + 'selected_item_value_path': {'key': 'selectedItemValuePath', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'object'}, + 'parameter_reference': {'key': 'parameterReference', 'type': 'str'}, + 'required': {'key': 'required', 'type': 'bool'}, + } + + def __init__( + self, + **kwargs + ): + super(SwaggerCustomDynamicTreeParameter, self).__init__(**kwargs) + self.selected_item_value_path = kwargs.get('selected_item_value_path', None) + self.value = kwargs.get('value', None) + self.parameter_reference = kwargs.get('parameter_reference', None) + self.required = kwargs.get('required', None) + + +class SwaggerCustomDynamicTreeSettings(msrest.serialization.Model): + """The swagger custom dynamic tree settings. + + :param can_select_parent_nodes: Indicates whether parent nodes can be selected. + :type can_select_parent_nodes: bool + :param can_select_leaf_nodes: Indicates whether leaf nodes can be selected. + :type can_select_leaf_nodes: bool + """ + + _attribute_map = { + 'can_select_parent_nodes': {'key': 'CanSelectParentNodes', 'type': 'bool'}, + 'can_select_leaf_nodes': {'key': 'CanSelectLeafNodes', 'type': 'bool'}, + } + + def __init__( + self, + **kwargs + ): + super(SwaggerCustomDynamicTreeSettings, self).__init__(**kwargs) + self.can_select_parent_nodes = kwargs.get('can_select_parent_nodes', None) + self.can_select_leaf_nodes = kwargs.get('can_select_leaf_nodes', None) + + +class SwaggerExternalDocumentation(msrest.serialization.Model): + """The swagger external documentation. + + :param description: The document description. + :type description: str + :param uri: The documentation Uri. + :type uri: str + :param extensions: The vendor extensions. + :type extensions: dict[str, object] + """ + + _attribute_map = { + 'description': {'key': 'description', 'type': 'str'}, + 'uri': {'key': 'uri', 'type': 'str'}, + 'extensions': {'key': 'extensions', 'type': '{object}'}, + } + + def __init__( + self, + **kwargs + ): + super(SwaggerExternalDocumentation, self).__init__(**kwargs) + self.description = kwargs.get('description', None) + self.uri = kwargs.get('uri', None) + self.extensions = kwargs.get('extensions', None) + + +class SwaggerSchema(msrest.serialization.Model): + """The swagger schema. + + :param ref: The reference. + :type ref: str + :param type: The type. Possible values include: "String", "Number", "Integer", "Boolean", + "Array", "File", "Object", "Null". + :type type: str or ~azure.mgmt.logic.models.SwaggerSchemaType + :param title: The title. + :type title: str + :param items: The items schema. + :type items: ~azure.mgmt.logic.models.SwaggerSchema + :param properties: The object properties. + :type properties: dict[str, ~azure.mgmt.logic.models.SwaggerSchema] + :param additional_properties: The additional properties. + :type additional_properties: object + :param required: The object required properties. + :type required: list[str] + :param max_properties: The maximum number of allowed properties. + :type max_properties: int + :param min_properties: The minimum number of allowed properties. + :type min_properties: int + :param all_of: The schemas which must pass validation when this schema is used. + :type all_of: list[~azure.mgmt.logic.models.SwaggerSchema] + :param discriminator: The discriminator. + :type discriminator: str + :param read_only: Indicates whether this property must be present in the a request. + :type read_only: bool + :param xml: The xml representation format for a property. + :type xml: ~azure.mgmt.logic.models.SwaggerXml + :param external_docs: The external documentation. + :type external_docs: ~azure.mgmt.logic.models.SwaggerExternalDocumentation + :param example: The example value. + :type example: object + :param notification_url_extension: Indicates the notification url extension. If this is set, + the property's value should be a callback url for a webhook. + :type notification_url_extension: bool + :param dynamic_schema_old: The dynamic schema configuration. + :type dynamic_schema_old: ~azure.mgmt.logic.models.SwaggerCustomDynamicSchema + :param dynamic_schema_new: The dynamic schema configuration. + :type dynamic_schema_new: ~azure.mgmt.logic.models.SwaggerCustomDynamicProperties + :param dynamic_list_new: The dynamic list. + :type dynamic_list_new: ~azure.mgmt.logic.models.SwaggerCustomDynamicList + :param dynamic_tree: The dynamic values tree configuration. + :type dynamic_tree: ~azure.mgmt.logic.models.SwaggerCustomDynamicTree + """ + + _attribute_map = { + 'ref': {'key': 'ref', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'title': {'key': 'title', 'type': 'str'}, + 'items': {'key': 'items', 'type': 'SwaggerSchema'}, + 'properties': {'key': 'properties', 'type': '{SwaggerSchema}'}, + 'additional_properties': {'key': 'additionalProperties', 'type': 'object'}, + 'required': {'key': 'required', 'type': '[str]'}, + 'max_properties': {'key': 'maxProperties', 'type': 'int'}, + 'min_properties': {'key': 'minProperties', 'type': 'int'}, + 'all_of': {'key': 'allOf', 'type': '[SwaggerSchema]'}, + 'discriminator': {'key': 'discriminator', 'type': 'str'}, + 'read_only': {'key': 'readOnly', 'type': 'bool'}, + 'xml': {'key': 'xml', 'type': 'SwaggerXml'}, + 'external_docs': {'key': 'externalDocs', 'type': 'SwaggerExternalDocumentation'}, + 'example': {'key': 'example', 'type': 'object'}, + 'notification_url_extension': {'key': 'notificationUrlExtension', 'type': 'bool'}, + 'dynamic_schema_old': {'key': 'dynamicSchemaOld', 'type': 'SwaggerCustomDynamicSchema'}, + 'dynamic_schema_new': {'key': 'dynamicSchemaNew', 'type': 'SwaggerCustomDynamicProperties'}, + 'dynamic_list_new': {'key': 'dynamicListNew', 'type': 'SwaggerCustomDynamicList'}, + 'dynamic_tree': {'key': 'dynamicTree', 'type': 'SwaggerCustomDynamicTree'}, + } + + def __init__( + self, + **kwargs + ): + super(SwaggerSchema, self).__init__(**kwargs) + self.ref = kwargs.get('ref', None) + self.type = kwargs.get('type', None) + self.title = kwargs.get('title', None) + self.items = kwargs.get('items', None) + self.properties = kwargs.get('properties', None) + self.additional_properties = kwargs.get('additional_properties', None) + self.required = kwargs.get('required', None) + self.max_properties = kwargs.get('max_properties', None) + self.min_properties = kwargs.get('min_properties', None) + self.all_of = kwargs.get('all_of', None) + self.discriminator = kwargs.get('discriminator', None) + self.read_only = kwargs.get('read_only', None) + self.xml = kwargs.get('xml', None) + self.external_docs = kwargs.get('external_docs', None) + self.example = kwargs.get('example', None) + self.notification_url_extension = kwargs.get('notification_url_extension', None) + self.dynamic_schema_old = kwargs.get('dynamic_schema_old', None) + self.dynamic_schema_new = kwargs.get('dynamic_schema_new', None) + self.dynamic_list_new = kwargs.get('dynamic_list_new', None) + self.dynamic_tree = kwargs.get('dynamic_tree', None) + + +class SwaggerXml(msrest.serialization.Model): + """The Swagger XML. + + :param name: The xml element or attribute name. + :type name: str + :param namespace: The xml namespace. + :type namespace: str + :param prefix: The name prefix. + :type prefix: str + :param attribute: Indicates whether the property should be an attribute instead of an element. + :type attribute: bool + :param wrapped: Indicates whether the array elements are wrapped in a container element. + :type wrapped: bool + :param extensions: The vendor extensions. + :type extensions: dict[str, object] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'namespace': {'key': 'namespace', 'type': 'str'}, + 'prefix': {'key': 'prefix', 'type': 'str'}, + 'attribute': {'key': 'attribute', 'type': 'bool'}, + 'wrapped': {'key': 'wrapped', 'type': 'bool'}, + 'extensions': {'key': 'extensions', 'type': '{object}'}, + } + + def __init__( + self, + **kwargs + ): + super(SwaggerXml, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.namespace = kwargs.get('namespace', None) + self.prefix = kwargs.get('prefix', None) + self.attribute = kwargs.get('attribute', None) + self.wrapped = kwargs.get('wrapped', None) + self.extensions = kwargs.get('extensions', None) + + +class TrackingEvent(msrest.serialization.Model): + """The tracking event. + + All required parameters must be populated in order to send to Azure. + + :param event_level: Required. The event level. Possible values include: "LogAlways", + "Critical", "Error", "Warning", "Informational", "Verbose". + :type event_level: str or ~azure.mgmt.logic.models.EventLevel + :param event_time: Required. The event time. + :type event_time: ~datetime.datetime + :param record_type: Required. The record type. Possible values include: "NotSpecified", + "Custom", "AS2Message", "AS2MDN", "X12Interchange", "X12FunctionalGroup", "X12TransactionSet", + "X12InterchangeAcknowledgment", "X12FunctionalGroupAcknowledgment", + "X12TransactionSetAcknowledgment", "EdifactInterchange", "EdifactFunctionalGroup", + "EdifactTransactionSet", "EdifactInterchangeAcknowledgment", + "EdifactFunctionalGroupAcknowledgment", "EdifactTransactionSetAcknowledgment". + :type record_type: str or ~azure.mgmt.logic.models.TrackingRecordType + :param record: The record. + :type record: object + :param error: The error. + :type error: ~azure.mgmt.logic.models.TrackingEventErrorInfo + """ + + _validation = { + 'event_level': {'required': True}, + 'event_time': {'required': True}, + 'record_type': {'required': True}, + } + + _attribute_map = { + 'event_level': {'key': 'eventLevel', 'type': 'str'}, + 'event_time': {'key': 'eventTime', 'type': 'iso-8601'}, + 'record_type': {'key': 'recordType', 'type': 'str'}, + 'record': {'key': 'record', 'type': 'object'}, + 'error': {'key': 'error', 'type': 'TrackingEventErrorInfo'}, + } + + def __init__( + self, + **kwargs + ): + super(TrackingEvent, self).__init__(**kwargs) + self.event_level = kwargs['event_level'] + self.event_time = kwargs['event_time'] + self.record_type = kwargs['record_type'] + self.record = kwargs.get('record', None) + self.error = kwargs.get('error', None) + + +class TrackingEventErrorInfo(msrest.serialization.Model): + """The tracking event error info. + + :param message: The message. + :type message: str + :param code: The code. + :type code: str + """ + + _attribute_map = { + 'message': {'key': 'message', 'type': 'str'}, + 'code': {'key': 'code', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(TrackingEventErrorInfo, self).__init__(**kwargs) + self.message = kwargs.get('message', None) + self.code = kwargs.get('code', None) + + +class TrackingEventsDefinition(msrest.serialization.Model): + """The tracking events definition. + + All required parameters must be populated in order to send to Azure. + + :param source_type: Required. The source type. + :type source_type: str + :param track_events_options: The track events options. Possible values include: "None", + "DisableSourceInfoEnrich". + :type track_events_options: str or ~azure.mgmt.logic.models.TrackEventsOperationOptions + :param events: Required. The events. + :type events: list[~azure.mgmt.logic.models.TrackingEvent] + """ + + _validation = { + 'source_type': {'required': True}, + 'events': {'required': True}, + } + + _attribute_map = { + 'source_type': {'key': 'sourceType', 'type': 'str'}, + 'track_events_options': {'key': 'trackEventsOptions', 'type': 'str'}, + 'events': {'key': 'events', 'type': '[TrackingEvent]'}, + } + + def __init__( + self, + **kwargs + ): + super(TrackingEventsDefinition, self).__init__(**kwargs) + self.source_type = kwargs['source_type'] + self.track_events_options = kwargs.get('track_events_options', None) + self.events = kwargs['events'] + + +class Workflow(Resource): + """The workflow type. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: The resource id. + :vartype id: str + :ivar name: Gets the resource name. + :vartype name: str + :ivar type: Gets the resource type. + :vartype type: str + :param location: The resource location. + :type location: str + :param tags: A set of tags. The resource tags. + :type tags: dict[str, str] + :ivar provisioning_state: Gets the provisioning state. Possible values include: "NotSpecified", + "Accepted", "Running", "Ready", "Creating", "Created", "Deleting", "Deleted", "Canceled", + "Failed", "Succeeded", "Moving", "Updating", "Registering", "Registered", "Unregistering", + "Unregistered", "Completed", "Renewing", "Pending", "Waiting", "InProgress". + :vartype provisioning_state: str or ~azure.mgmt.logic.models.WorkflowProvisioningState + :ivar created_time: Gets the created time. + :vartype created_time: ~datetime.datetime + :ivar changed_time: Gets the changed time. + :vartype changed_time: ~datetime.datetime + :param state: The state. Possible values include: "NotSpecified", "Completed", "Enabled", + "Disabled", "Deleted", "Suspended". + :type state: str or ~azure.mgmt.logic.models.WorkflowState + :ivar version: Gets the version. + :vartype version: str + :ivar access_endpoint: Gets the access endpoint. + :vartype access_endpoint: str + :param endpoints_configuration: The endpoints configuration. + :type endpoints_configuration: ~azure.mgmt.logic.models.FlowEndpointsConfiguration + :param access_control: The access control configuration. + :type access_control: ~azure.mgmt.logic.models.FlowAccessControlConfiguration + :ivar sku: The sku. + :vartype sku: ~azure.mgmt.logic.models.Sku + :param integration_account: The integration account. + :type integration_account: ~azure.mgmt.logic.models.ResourceReference + :param integration_service_environment: The integration service environment. + :type integration_service_environment: ~azure.mgmt.logic.models.ResourceReference + :param definition: The definition. + :type definition: object + :param parameters: The parameters. + :type parameters: dict[str, ~azure.mgmt.logic.models.WorkflowParameter] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'created_time': {'readonly': True}, + 'changed_time': {'readonly': True}, + 'version': {'readonly': True}, + 'access_endpoint': {'readonly': True}, + 'sku': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'created_time': {'key': 'properties.createdTime', 'type': 'iso-8601'}, + 'changed_time': {'key': 'properties.changedTime', 'type': 'iso-8601'}, + 'state': {'key': 'properties.state', 'type': 'str'}, + 'version': {'key': 'properties.version', 'type': 'str'}, + 'access_endpoint': {'key': 'properties.accessEndpoint', 'type': 'str'}, + 'endpoints_configuration': {'key': 'properties.endpointsConfiguration', 'type': 'FlowEndpointsConfiguration'}, + 'access_control': {'key': 'properties.accessControl', 'type': 'FlowAccessControlConfiguration'}, + 'sku': {'key': 'properties.sku', 'type': 'Sku'}, + 'integration_account': {'key': 'properties.integrationAccount', 'type': 'ResourceReference'}, + 'integration_service_environment': {'key': 'properties.integrationServiceEnvironment', 'type': 'ResourceReference'}, + 'definition': {'key': 'properties.definition', 'type': 'object'}, + 'parameters': {'key': 'properties.parameters', 'type': '{WorkflowParameter}'}, + } + + def __init__( + self, + **kwargs + ): + super(Workflow, self).__init__(**kwargs) + self.provisioning_state = None + self.created_time = None + self.changed_time = None + self.state = kwargs.get('state', None) + self.version = None + self.access_endpoint = None + self.endpoints_configuration = kwargs.get('endpoints_configuration', None) + self.access_control = kwargs.get('access_control', None) + self.sku = None + self.integration_account = kwargs.get('integration_account', None) + self.integration_service_environment = kwargs.get('integration_service_environment', None) + self.definition = kwargs.get('definition', None) + self.parameters = kwargs.get('parameters', None) + + +class WorkflowFilter(msrest.serialization.Model): + """The workflow filter. + + :param state: The state of workflows. Possible values include: "NotSpecified", "Completed", + "Enabled", "Disabled", "Deleted", "Suspended". + :type state: str or ~azure.mgmt.logic.models.WorkflowState + """ + + _attribute_map = { + 'state': {'key': 'state', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(WorkflowFilter, self).__init__(**kwargs) + self.state = kwargs.get('state', None) + + +class WorkflowListResult(msrest.serialization.Model): + """The list of workflows. + + :param value: The list of workflows. + :type value: list[~azure.mgmt.logic.models.Workflow] + :param next_link: The URL to get the next set of results. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[Workflow]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(WorkflowListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class WorkflowParameter(msrest.serialization.Model): + """The workflow parameters. + + :param type: The type. Possible values include: "NotSpecified", "String", "SecureString", + "Int", "Float", "Bool", "Array", "Object", "SecureObject". + :type type: str or ~azure.mgmt.logic.models.ParameterType + :param value: The value. + :type value: object + :param metadata: The metadata. + :type metadata: object + :param description: The description. + :type description: str + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'object'}, + 'metadata': {'key': 'metadata', 'type': 'object'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(WorkflowParameter, self).__init__(**kwargs) + self.type = kwargs.get('type', None) + self.value = kwargs.get('value', None) + self.metadata = kwargs.get('metadata', None) + self.description = kwargs.get('description', None) + + +class WorkflowOutputParameter(WorkflowParameter): + """The workflow output parameter. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param type: The type. Possible values include: "NotSpecified", "String", "SecureString", + "Int", "Float", "Bool", "Array", "Object", "SecureObject". + :type type: str or ~azure.mgmt.logic.models.ParameterType + :param value: The value. + :type value: object + :param metadata: The metadata. + :type metadata: object + :param description: The description. + :type description: str + :ivar error: Gets the error. + :vartype error: object + """ + + _validation = { + 'error': {'readonly': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'object'}, + 'metadata': {'key': 'metadata', 'type': 'object'}, + 'description': {'key': 'description', 'type': 'str'}, + 'error': {'key': 'error', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(WorkflowOutputParameter, self).__init__(**kwargs) + self.error = None + + +class WorkflowReference(ResourceReference): + """The workflow reference. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param id: The resource id. + :type id: str + :ivar type: Gets the resource type. + :vartype type: str + :param name: The workflow name. + :type name: str + """ + + _validation = { + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(WorkflowReference, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + + +class WorkflowRun(SubResource): + """The workflow run. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: The resource id. + :vartype id: str + :ivar name: Gets the workflow run name. + :vartype name: str + :ivar type: Gets the workflow run type. + :vartype type: str + :ivar wait_end_time: Gets the wait end time. + :vartype wait_end_time: ~datetime.datetime + :ivar start_time: Gets the start time. + :vartype start_time: ~datetime.datetime + :ivar end_time: Gets the end time. + :vartype end_time: ~datetime.datetime + :ivar status: Gets the status. Possible values include: "NotSpecified", "Paused", "Running", + "Waiting", "Succeeded", "Skipped", "Suspended", "Cancelled", "Failed", "Faulted", "TimedOut", + "Aborted", "Ignored". + :vartype status: str or ~azure.mgmt.logic.models.WorkflowStatus + :ivar code: Gets the code. + :vartype code: str + :ivar error: Gets the error. + :vartype error: object + :ivar correlation_id: Gets the correlation id. + :vartype correlation_id: str + :param correlation: The run correlation. + :type correlation: ~azure.mgmt.logic.models.Correlation + :ivar workflow: Gets the reference to workflow version. + :vartype workflow: ~azure.mgmt.logic.models.ResourceReference + :ivar trigger: Gets the fired trigger. + :vartype trigger: ~azure.mgmt.logic.models.WorkflowRunTrigger + :ivar outputs: Gets the outputs. + :vartype outputs: dict[str, ~azure.mgmt.logic.models.WorkflowOutputParameter] + :ivar response: Gets the response of the flow run. + :vartype response: ~azure.mgmt.logic.models.WorkflowRunTrigger + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'wait_end_time': {'readonly': True}, + 'start_time': {'readonly': True}, + 'end_time': {'readonly': True}, + 'status': {'readonly': True}, + 'code': {'readonly': True}, + 'error': {'readonly': True}, + 'correlation_id': {'readonly': True}, + 'workflow': {'readonly': True}, + 'trigger': {'readonly': True}, + 'outputs': {'readonly': True}, + 'response': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'wait_end_time': {'key': 'properties.waitEndTime', 'type': 'iso-8601'}, + 'start_time': {'key': 'properties.startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'properties.endTime', 'type': 'iso-8601'}, + 'status': {'key': 'properties.status', 'type': 'str'}, + 'code': {'key': 'properties.code', 'type': 'str'}, + 'error': {'key': 'properties.error', 'type': 'object'}, + 'correlation_id': {'key': 'properties.correlationId', 'type': 'str'}, + 'correlation': {'key': 'properties.correlation', 'type': 'Correlation'}, + 'workflow': {'key': 'properties.workflow', 'type': 'ResourceReference'}, + 'trigger': {'key': 'properties.trigger', 'type': 'WorkflowRunTrigger'}, + 'outputs': {'key': 'properties.outputs', 'type': '{WorkflowOutputParameter}'}, + 'response': {'key': 'properties.response', 'type': 'WorkflowRunTrigger'}, + } + + def __init__( + self, + **kwargs + ): + super(WorkflowRun, self).__init__(**kwargs) + self.name = None + self.type = None + self.wait_end_time = None + self.start_time = None + self.end_time = None + self.status = None + self.code = None + self.error = None + self.correlation_id = None + self.correlation = kwargs.get('correlation', None) + self.workflow = None + self.trigger = None + self.outputs = None + self.response = None + + +class WorkflowRunAction(SubResource): + """The workflow run action. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: The resource id. + :vartype id: str + :ivar name: Gets the workflow run action name. + :vartype name: str + :ivar type: Gets the workflow run action type. + :vartype type: str + :ivar start_time: Gets the start time. + :vartype start_time: ~datetime.datetime + :ivar end_time: Gets the end time. + :vartype end_time: ~datetime.datetime + :ivar status: Gets the status. Possible values include: "NotSpecified", "Paused", "Running", + "Waiting", "Succeeded", "Skipped", "Suspended", "Cancelled", "Failed", "Faulted", "TimedOut", + "Aborted", "Ignored". + :vartype status: str or ~azure.mgmt.logic.models.WorkflowStatus + :ivar code: Gets the code. + :vartype code: str + :ivar error: Gets the error. + :vartype error: object + :ivar tracking_id: Gets the tracking id. + :vartype tracking_id: str + :param correlation: The correlation properties. + :type correlation: ~azure.mgmt.logic.models.RunActionCorrelation + :ivar inputs_link: Gets the link to inputs. + :vartype inputs_link: ~azure.mgmt.logic.models.ContentLink + :ivar outputs_link: Gets the link to outputs. + :vartype outputs_link: ~azure.mgmt.logic.models.ContentLink + :ivar tracked_properties: Gets the tracked properties. + :vartype tracked_properties: object + :param retry_history: Gets the retry histories. + :type retry_history: list[~azure.mgmt.logic.models.RetryHistory] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'start_time': {'readonly': True}, + 'end_time': {'readonly': True}, + 'status': {'readonly': True}, + 'code': {'readonly': True}, + 'error': {'readonly': True}, + 'tracking_id': {'readonly': True}, + 'inputs_link': {'readonly': True}, + 'outputs_link': {'readonly': True}, + 'tracked_properties': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'start_time': {'key': 'properties.startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'properties.endTime', 'type': 'iso-8601'}, + 'status': {'key': 'properties.status', 'type': 'str'}, + 'code': {'key': 'properties.code', 'type': 'str'}, + 'error': {'key': 'properties.error', 'type': 'object'}, + 'tracking_id': {'key': 'properties.trackingId', 'type': 'str'}, + 'correlation': {'key': 'properties.correlation', 'type': 'RunActionCorrelation'}, + 'inputs_link': {'key': 'properties.inputsLink', 'type': 'ContentLink'}, + 'outputs_link': {'key': 'properties.outputsLink', 'type': 'ContentLink'}, + 'tracked_properties': {'key': 'properties.trackedProperties', 'type': 'object'}, + 'retry_history': {'key': 'properties.retryHistory', 'type': '[RetryHistory]'}, + } + + def __init__( + self, + **kwargs + ): + super(WorkflowRunAction, self).__init__(**kwargs) + self.name = None + self.type = None + self.start_time = None + self.end_time = None + self.status = None + self.code = None + self.error = None + self.tracking_id = None + self.correlation = kwargs.get('correlation', None) + self.inputs_link = None + self.outputs_link = None + self.tracked_properties = None + self.retry_history = kwargs.get('retry_history', None) + + +class WorkflowRunActionFilter(msrest.serialization.Model): + """The workflow run action filter. + + :param status: The status of workflow run action. Possible values include: "NotSpecified", + "Paused", "Running", "Waiting", "Succeeded", "Skipped", "Suspended", "Cancelled", "Failed", + "Faulted", "TimedOut", "Aborted", "Ignored". + :type status: str or ~azure.mgmt.logic.models.WorkflowStatus + """ + + _attribute_map = { + 'status': {'key': 'status', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(WorkflowRunActionFilter, self).__init__(**kwargs) + self.status = kwargs.get('status', None) + + +class WorkflowRunActionListResult(msrest.serialization.Model): + """The list of workflow run actions. + + :param value: A list of workflow run actions. + :type value: list[~azure.mgmt.logic.models.WorkflowRunAction] + :param next_link: The URL to get the next set of results. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[WorkflowRunAction]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(WorkflowRunActionListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class WorkflowRunActionRepetitionDefinition(Resource): + """The workflow run action repetition definition. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: The resource id. + :vartype id: str + :ivar name: Gets the resource name. + :vartype name: str + :ivar type: Gets the resource type. + :vartype type: str + :param location: The resource location. + :type location: str + :param tags: A set of tags. The resource tags. + :type tags: dict[str, str] + :param start_time: The start time of the workflow scope repetition. + :type start_time: ~datetime.datetime + :param end_time: The end time of the workflow scope repetition. + :type end_time: ~datetime.datetime + :param correlation: The correlation properties. + :type correlation: ~azure.mgmt.logic.models.RunActionCorrelation + :param status: The status of the workflow scope repetition. Possible values include: + "NotSpecified", "Paused", "Running", "Waiting", "Succeeded", "Skipped", "Suspended", + "Cancelled", "Failed", "Faulted", "TimedOut", "Aborted", "Ignored". + :type status: str or ~azure.mgmt.logic.models.WorkflowStatus + :param code: The workflow scope repetition code. + :type code: str + :param error: Any object. + :type error: object + :ivar tracking_id: Gets the tracking id. + :vartype tracking_id: str + :ivar inputs: Gets the inputs. + :vartype inputs: object + :ivar inputs_link: Gets the link to inputs. + :vartype inputs_link: ~azure.mgmt.logic.models.ContentLink + :ivar outputs: Gets the outputs. + :vartype outputs: object + :ivar outputs_link: Gets the link to outputs. + :vartype outputs_link: ~azure.mgmt.logic.models.ContentLink + :ivar tracked_properties: Gets the tracked properties. + :vartype tracked_properties: object + :param retry_history: Gets the retry histories. + :type retry_history: list[~azure.mgmt.logic.models.RetryHistory] + :param iteration_count: + :type iteration_count: int + :param repetition_indexes: The repetition indexes. + :type repetition_indexes: list[~azure.mgmt.logic.models.RepetitionIndex] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'tracking_id': {'readonly': True}, + 'inputs': {'readonly': True}, + 'inputs_link': {'readonly': True}, + 'outputs': {'readonly': True}, + 'outputs_link': {'readonly': True}, + 'tracked_properties': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'start_time': {'key': 'properties.startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'properties.endTime', 'type': 'iso-8601'}, + 'correlation': {'key': 'properties.correlation', 'type': 'RunActionCorrelation'}, + 'status': {'key': 'properties.status', 'type': 'str'}, + 'code': {'key': 'properties.code', 'type': 'str'}, + 'error': {'key': 'properties.error', 'type': 'object'}, + 'tracking_id': {'key': 'properties.trackingId', 'type': 'str'}, + 'inputs': {'key': 'properties.inputs', 'type': 'object'}, + 'inputs_link': {'key': 'properties.inputsLink', 'type': 'ContentLink'}, + 'outputs': {'key': 'properties.outputs', 'type': 'object'}, + 'outputs_link': {'key': 'properties.outputsLink', 'type': 'ContentLink'}, + 'tracked_properties': {'key': 'properties.trackedProperties', 'type': 'object'}, + 'retry_history': {'key': 'properties.retryHistory', 'type': '[RetryHistory]'}, + 'iteration_count': {'key': 'properties.iterationCount', 'type': 'int'}, + 'repetition_indexes': {'key': 'properties.repetitionIndexes', 'type': '[RepetitionIndex]'}, + } + + def __init__( + self, + **kwargs + ): + super(WorkflowRunActionRepetitionDefinition, self).__init__(**kwargs) + self.start_time = kwargs.get('start_time', None) + self.end_time = kwargs.get('end_time', None) + self.correlation = kwargs.get('correlation', None) + self.status = kwargs.get('status', None) + self.code = kwargs.get('code', None) + self.error = kwargs.get('error', None) + self.tracking_id = None + self.inputs = None + self.inputs_link = None + self.outputs = None + self.outputs_link = None + self.tracked_properties = None + self.retry_history = kwargs.get('retry_history', None) + self.iteration_count = kwargs.get('iteration_count', None) + self.repetition_indexes = kwargs.get('repetition_indexes', None) + + +class WorkflowRunActionRepetitionDefinitionCollection(msrest.serialization.Model): + """A collection of workflow run action repetitions. + + :param next_link: The link used to get the next page of recommendations. + :type next_link: str + :param value: + :type value: list[~azure.mgmt.logic.models.WorkflowRunActionRepetitionDefinition] + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[WorkflowRunActionRepetitionDefinition]'}, + } + + def __init__( + self, + **kwargs + ): + super(WorkflowRunActionRepetitionDefinitionCollection, self).__init__(**kwargs) + self.next_link = kwargs.get('next_link', None) + self.value = kwargs.get('value', None) + + +class WorkflowRunActionRepetitionProperties(OperationResult): + """The workflow run action repetition properties definition. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param start_time: The start time of the workflow scope repetition. + :type start_time: ~datetime.datetime + :param end_time: The end time of the workflow scope repetition. + :type end_time: ~datetime.datetime + :param correlation: The correlation properties. + :type correlation: ~azure.mgmt.logic.models.RunActionCorrelation + :param status: The status of the workflow scope repetition. Possible values include: + "NotSpecified", "Paused", "Running", "Waiting", "Succeeded", "Skipped", "Suspended", + "Cancelled", "Failed", "Faulted", "TimedOut", "Aborted", "Ignored". + :type status: str or ~azure.mgmt.logic.models.WorkflowStatus + :param code: The workflow scope repetition code. + :type code: str + :param error: Any object. + :type error: object + :ivar tracking_id: Gets the tracking id. + :vartype tracking_id: str + :ivar inputs: Gets the inputs. + :vartype inputs: object + :ivar inputs_link: Gets the link to inputs. + :vartype inputs_link: ~azure.mgmt.logic.models.ContentLink + :ivar outputs: Gets the outputs. + :vartype outputs: object + :ivar outputs_link: Gets the link to outputs. + :vartype outputs_link: ~azure.mgmt.logic.models.ContentLink + :ivar tracked_properties: Gets the tracked properties. + :vartype tracked_properties: object + :param retry_history: Gets the retry histories. + :type retry_history: list[~azure.mgmt.logic.models.RetryHistory] + :param iteration_count: + :type iteration_count: int + :param repetition_indexes: The repetition indexes. + :type repetition_indexes: list[~azure.mgmt.logic.models.RepetitionIndex] + """ + + _validation = { + 'tracking_id': {'readonly': True}, + 'inputs': {'readonly': True}, + 'inputs_link': {'readonly': True}, + 'outputs': {'readonly': True}, + 'outputs_link': {'readonly': True}, + 'tracked_properties': {'readonly': True}, + } + + _attribute_map = { + 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, + 'correlation': {'key': 'correlation', 'type': 'RunActionCorrelation'}, + 'status': {'key': 'status', 'type': 'str'}, + 'code': {'key': 'code', 'type': 'str'}, + 'error': {'key': 'error', 'type': 'object'}, + 'tracking_id': {'key': 'trackingId', 'type': 'str'}, + 'inputs': {'key': 'inputs', 'type': 'object'}, + 'inputs_link': {'key': 'inputsLink', 'type': 'ContentLink'}, + 'outputs': {'key': 'outputs', 'type': 'object'}, + 'outputs_link': {'key': 'outputsLink', 'type': 'ContentLink'}, + 'tracked_properties': {'key': 'trackedProperties', 'type': 'object'}, + 'retry_history': {'key': 'retryHistory', 'type': '[RetryHistory]'}, + 'iteration_count': {'key': 'iterationCount', 'type': 'int'}, + 'repetition_indexes': {'key': 'repetitionIndexes', 'type': '[RepetitionIndex]'}, + } + + def __init__( + self, + **kwargs + ): + super(WorkflowRunActionRepetitionProperties, self).__init__(**kwargs) + self.repetition_indexes = kwargs.get('repetition_indexes', None) + + +class WorkflowRunFilter(msrest.serialization.Model): + """The workflow run filter. + + :param status: The status of workflow run. Possible values include: "NotSpecified", "Paused", + "Running", "Waiting", "Succeeded", "Skipped", "Suspended", "Cancelled", "Failed", "Faulted", + "TimedOut", "Aborted", "Ignored". + :type status: str or ~azure.mgmt.logic.models.WorkflowStatus + """ + + _attribute_map = { + 'status': {'key': 'status', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(WorkflowRunFilter, self).__init__(**kwargs) + self.status = kwargs.get('status', None) + + +class WorkflowRunListResult(msrest.serialization.Model): + """The list of workflow runs. + + :param value: A list of workflow runs. + :type value: list[~azure.mgmt.logic.models.WorkflowRun] + :param next_link: The URL to get the next set of results. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[WorkflowRun]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(WorkflowRunListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class WorkflowRunTrigger(msrest.serialization.Model): + """The workflow run trigger. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar name: Gets the name. + :vartype name: str + :ivar inputs: Gets the inputs. + :vartype inputs: object + :ivar inputs_link: Gets the link to inputs. + :vartype inputs_link: ~azure.mgmt.logic.models.ContentLink + :ivar outputs: Gets the outputs. + :vartype outputs: object + :ivar outputs_link: Gets the link to outputs. + :vartype outputs_link: ~azure.mgmt.logic.models.ContentLink + :ivar scheduled_time: Gets the scheduled time. + :vartype scheduled_time: ~datetime.datetime + :ivar start_time: Gets the start time. + :vartype start_time: ~datetime.datetime + :ivar end_time: Gets the end time. + :vartype end_time: ~datetime.datetime + :ivar tracking_id: Gets the tracking id. + :vartype tracking_id: str + :param correlation: The run correlation. + :type correlation: ~azure.mgmt.logic.models.Correlation + :ivar code: Gets the code. + :vartype code: str + :ivar status: Gets the status. Possible values include: "NotSpecified", "Paused", "Running", + "Waiting", "Succeeded", "Skipped", "Suspended", "Cancelled", "Failed", "Faulted", "TimedOut", + "Aborted", "Ignored". + :vartype status: str or ~azure.mgmt.logic.models.WorkflowStatus + :ivar error: Gets the error. + :vartype error: object + :ivar tracked_properties: Gets the tracked properties. + :vartype tracked_properties: object + """ + + _validation = { + 'name': {'readonly': True}, + 'inputs': {'readonly': True}, + 'inputs_link': {'readonly': True}, + 'outputs': {'readonly': True}, + 'outputs_link': {'readonly': True}, + 'scheduled_time': {'readonly': True}, + 'start_time': {'readonly': True}, + 'end_time': {'readonly': True}, + 'tracking_id': {'readonly': True}, + 'code': {'readonly': True}, + 'status': {'readonly': True}, + 'error': {'readonly': True}, + 'tracked_properties': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'inputs': {'key': 'inputs', 'type': 'object'}, + 'inputs_link': {'key': 'inputsLink', 'type': 'ContentLink'}, + 'outputs': {'key': 'outputs', 'type': 'object'}, + 'outputs_link': {'key': 'outputsLink', 'type': 'ContentLink'}, + 'scheduled_time': {'key': 'scheduledTime', 'type': 'iso-8601'}, + 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, + 'tracking_id': {'key': 'trackingId', 'type': 'str'}, + 'correlation': {'key': 'correlation', 'type': 'Correlation'}, + 'code': {'key': 'code', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + 'error': {'key': 'error', 'type': 'object'}, + 'tracked_properties': {'key': 'trackedProperties', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(WorkflowRunTrigger, self).__init__(**kwargs) + self.name = None + self.inputs = None + self.inputs_link = None + self.outputs = None + self.outputs_link = None + self.scheduled_time = None + self.start_time = None + self.end_time = None + self.tracking_id = None + self.correlation = kwargs.get('correlation', None) + self.code = None + self.status = None + self.error = None + self.tracked_properties = None + + +class WorkflowTrigger(SubResource): + """The workflow trigger. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: The resource id. + :vartype id: str + :ivar name: Gets the workflow trigger name. + :vartype name: str + :ivar type: Gets the workflow trigger type. + :vartype type: str + :ivar provisioning_state: Gets the provisioning state. Possible values include: "NotSpecified", + "Accepted", "Running", "Ready", "Creating", "Created", "Deleting", "Deleted", "Canceled", + "Failed", "Succeeded", "Moving", "Updating", "Registering", "Registered", "Unregistering", + "Unregistered", "Completed". + :vartype provisioning_state: str or ~azure.mgmt.logic.models.WorkflowTriggerProvisioningState + :ivar created_time: Gets the created time. + :vartype created_time: ~datetime.datetime + :ivar changed_time: Gets the changed time. + :vartype changed_time: ~datetime.datetime + :ivar state: Gets the state. Possible values include: "NotSpecified", "Completed", "Enabled", + "Disabled", "Deleted", "Suspended". + :vartype state: str or ~azure.mgmt.logic.models.WorkflowState + :ivar status: Gets the status. Possible values include: "NotSpecified", "Paused", "Running", + "Waiting", "Succeeded", "Skipped", "Suspended", "Cancelled", "Failed", "Faulted", "TimedOut", + "Aborted", "Ignored". + :vartype status: str or ~azure.mgmt.logic.models.WorkflowStatus + :ivar last_execution_time: Gets the last execution time. + :vartype last_execution_time: ~datetime.datetime + :ivar next_execution_time: Gets the next execution time. + :vartype next_execution_time: ~datetime.datetime + :ivar recurrence: Gets the workflow trigger recurrence. + :vartype recurrence: ~azure.mgmt.logic.models.WorkflowTriggerRecurrence + :ivar workflow: Gets the reference to workflow. + :vartype workflow: ~azure.mgmt.logic.models.ResourceReference + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'created_time': {'readonly': True}, + 'changed_time': {'readonly': True}, + 'state': {'readonly': True}, + 'status': {'readonly': True}, + 'last_execution_time': {'readonly': True}, + 'next_execution_time': {'readonly': True}, + 'recurrence': {'readonly': True}, + 'workflow': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'created_time': {'key': 'properties.createdTime', 'type': 'iso-8601'}, + 'changed_time': {'key': 'properties.changedTime', 'type': 'iso-8601'}, + 'state': {'key': 'properties.state', 'type': 'str'}, + 'status': {'key': 'properties.status', 'type': 'str'}, + 'last_execution_time': {'key': 'properties.lastExecutionTime', 'type': 'iso-8601'}, + 'next_execution_time': {'key': 'properties.nextExecutionTime', 'type': 'iso-8601'}, + 'recurrence': {'key': 'properties.recurrence', 'type': 'WorkflowTriggerRecurrence'}, + 'workflow': {'key': 'properties.workflow', 'type': 'ResourceReference'}, + } + + def __init__( + self, + **kwargs + ): + super(WorkflowTrigger, self).__init__(**kwargs) + self.name = None + self.type = None + self.provisioning_state = None + self.created_time = None + self.changed_time = None + self.state = None + self.status = None + self.last_execution_time = None + self.next_execution_time = None + self.recurrence = None + self.workflow = None + + +class WorkflowTriggerCallbackUrl(msrest.serialization.Model): + """The workflow trigger callback URL. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: Gets the workflow trigger callback URL. + :vartype value: str + :ivar method: Gets the workflow trigger callback URL HTTP method. + :vartype method: str + :ivar base_path: Gets the workflow trigger callback URL base path. + :vartype base_path: str + :ivar relative_path: Gets the workflow trigger callback URL relative path. + :vartype relative_path: str + :param relative_path_parameters: Gets the workflow trigger callback URL relative path + parameters. + :type relative_path_parameters: list[str] + :param queries: Gets the workflow trigger callback URL query parameters. + :type queries: ~azure.mgmt.logic.models.WorkflowTriggerListCallbackUrlQueries + """ + + _validation = { + 'value': {'readonly': True}, + 'method': {'readonly': True}, + 'base_path': {'readonly': True}, + 'relative_path': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': 'str'}, + 'method': {'key': 'method', 'type': 'str'}, + 'base_path': {'key': 'basePath', 'type': 'str'}, + 'relative_path': {'key': 'relativePath', 'type': 'str'}, + 'relative_path_parameters': {'key': 'relativePathParameters', 'type': '[str]'}, + 'queries': {'key': 'queries', 'type': 'WorkflowTriggerListCallbackUrlQueries'}, + } + + def __init__( + self, + **kwargs + ): + super(WorkflowTriggerCallbackUrl, self).__init__(**kwargs) + self.value = None + self.method = None + self.base_path = None + self.relative_path = None + self.relative_path_parameters = kwargs.get('relative_path_parameters', None) + self.queries = kwargs.get('queries', None) + + +class WorkflowTriggerFilter(msrest.serialization.Model): + """The workflow trigger filter. + + :param state: The state of workflow trigger. Possible values include: "NotSpecified", + "Completed", "Enabled", "Disabled", "Deleted", "Suspended". + :type state: str or ~azure.mgmt.logic.models.WorkflowState + """ + + _attribute_map = { + 'state': {'key': 'state', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(WorkflowTriggerFilter, self).__init__(**kwargs) + self.state = kwargs.get('state', None) + + +class WorkflowTriggerHistory(SubResource): + """The workflow trigger history. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: The resource id. + :vartype id: str + :ivar name: Gets the workflow trigger history name. + :vartype name: str + :ivar type: Gets the workflow trigger history type. + :vartype type: str + :ivar start_time: Gets the start time. + :vartype start_time: ~datetime.datetime + :ivar end_time: Gets the end time. + :vartype end_time: ~datetime.datetime + :ivar scheduled_time: The scheduled time. + :vartype scheduled_time: ~datetime.datetime + :ivar status: Gets the status. Possible values include: "NotSpecified", "Paused", "Running", + "Waiting", "Succeeded", "Skipped", "Suspended", "Cancelled", "Failed", "Faulted", "TimedOut", + "Aborted", "Ignored". + :vartype status: str or ~azure.mgmt.logic.models.WorkflowStatus + :ivar code: Gets the code. + :vartype code: str + :ivar error: Gets the error. + :vartype error: object + :ivar tracking_id: Gets the tracking id. + :vartype tracking_id: str + :param correlation: The run correlation. + :type correlation: ~azure.mgmt.logic.models.Correlation + :ivar inputs_link: Gets the link to input parameters. + :vartype inputs_link: ~azure.mgmt.logic.models.ContentLink + :ivar outputs_link: Gets the link to output parameters. + :vartype outputs_link: ~azure.mgmt.logic.models.ContentLink + :ivar fired: The value indicating whether trigger was fired. + :vartype fired: bool + :ivar run: Gets the reference to workflow run. + :vartype run: ~azure.mgmt.logic.models.ResourceReference + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'start_time': {'readonly': True}, + 'end_time': {'readonly': True}, + 'scheduled_time': {'readonly': True}, + 'status': {'readonly': True}, + 'code': {'readonly': True}, + 'error': {'readonly': True}, + 'tracking_id': {'readonly': True}, + 'inputs_link': {'readonly': True}, + 'outputs_link': {'readonly': True}, + 'fired': {'readonly': True}, + 'run': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'start_time': {'key': 'properties.startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'properties.endTime', 'type': 'iso-8601'}, + 'scheduled_time': {'key': 'properties.scheduledTime', 'type': 'iso-8601'}, + 'status': {'key': 'properties.status', 'type': 'str'}, + 'code': {'key': 'properties.code', 'type': 'str'}, + 'error': {'key': 'properties.error', 'type': 'object'}, + 'tracking_id': {'key': 'properties.trackingId', 'type': 'str'}, + 'correlation': {'key': 'properties.correlation', 'type': 'Correlation'}, + 'inputs_link': {'key': 'properties.inputsLink', 'type': 'ContentLink'}, + 'outputs_link': {'key': 'properties.outputsLink', 'type': 'ContentLink'}, + 'fired': {'key': 'properties.fired', 'type': 'bool'}, + 'run': {'key': 'properties.run', 'type': 'ResourceReference'}, + } + + def __init__( + self, + **kwargs + ): + super(WorkflowTriggerHistory, self).__init__(**kwargs) + self.name = None + self.type = None + self.start_time = None + self.end_time = None + self.scheduled_time = None + self.status = None + self.code = None + self.error = None + self.tracking_id = None + self.correlation = kwargs.get('correlation', None) + self.inputs_link = None + self.outputs_link = None + self.fired = None + self.run = None + + +class WorkflowTriggerHistoryFilter(msrest.serialization.Model): + """The workflow trigger history filter. + + :param status: The status of workflow trigger history. Possible values include: "NotSpecified", + "Paused", "Running", "Waiting", "Succeeded", "Skipped", "Suspended", "Cancelled", "Failed", + "Faulted", "TimedOut", "Aborted", "Ignored". + :type status: str or ~azure.mgmt.logic.models.WorkflowStatus + """ + + _attribute_map = { + 'status': {'key': 'status', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(WorkflowTriggerHistoryFilter, self).__init__(**kwargs) + self.status = kwargs.get('status', None) + + +class WorkflowTriggerHistoryListResult(msrest.serialization.Model): + """The list of workflow trigger histories. + + :param value: A list of workflow trigger histories. + :type value: list[~azure.mgmt.logic.models.WorkflowTriggerHistory] + :param next_link: The URL to get the next set of results. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[WorkflowTriggerHistory]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(WorkflowTriggerHistoryListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class WorkflowTriggerListCallbackUrlQueries(msrest.serialization.Model): + """Gets the workflow trigger callback URL query parameters. + + :param api_version: The api version. + :type api_version: str + :param sp: The SAS permissions. + :type sp: str + :param sv: The SAS version. + :type sv: str + :param sig: The SAS signature. + :type sig: str + :param se: The SAS timestamp. + :type se: str + """ + + _attribute_map = { + 'api_version': {'key': 'api-version', 'type': 'str'}, + 'sp': {'key': 'sp', 'type': 'str'}, + 'sv': {'key': 'sv', 'type': 'str'}, + 'sig': {'key': 'sig', 'type': 'str'}, + 'se': {'key': 'se', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(WorkflowTriggerListCallbackUrlQueries, self).__init__(**kwargs) + self.api_version = kwargs.get('api_version', None) + self.sp = kwargs.get('sp', None) + self.sv = kwargs.get('sv', None) + self.sig = kwargs.get('sig', None) + self.se = kwargs.get('se', None) + + +class WorkflowTriggerListResult(msrest.serialization.Model): + """The list of workflow triggers. + + :param value: A list of workflow triggers. + :type value: list[~azure.mgmt.logic.models.WorkflowTrigger] + :param next_link: The URL to get the next set of results. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[WorkflowTrigger]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(WorkflowTriggerListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class WorkflowTriggerRecurrence(msrest.serialization.Model): + """The workflow trigger recurrence. + + :param frequency: The frequency. Possible values include: "NotSpecified", "Second", "Minute", + "Hour", "Day", "Week", "Month", "Year". + :type frequency: str or ~azure.mgmt.logic.models.RecurrenceFrequency + :param interval: The interval. + :type interval: int + :param start_time: The start time. + :type start_time: str + :param end_time: The end time. + :type end_time: str + :param time_zone: The time zone. + :type time_zone: str + :param schedule: The recurrence schedule. + :type schedule: ~azure.mgmt.logic.models.RecurrenceSchedule + """ + + _attribute_map = { + 'frequency': {'key': 'frequency', 'type': 'str'}, + 'interval': {'key': 'interval', 'type': 'int'}, + 'start_time': {'key': 'startTime', 'type': 'str'}, + 'end_time': {'key': 'endTime', 'type': 'str'}, + 'time_zone': {'key': 'timeZone', 'type': 'str'}, + 'schedule': {'key': 'schedule', 'type': 'RecurrenceSchedule'}, + } + + def __init__( + self, + **kwargs + ): + super(WorkflowTriggerRecurrence, self).__init__(**kwargs) + self.frequency = kwargs.get('frequency', None) + self.interval = kwargs.get('interval', None) + self.start_time = kwargs.get('start_time', None) + self.end_time = kwargs.get('end_time', None) + self.time_zone = kwargs.get('time_zone', None) + self.schedule = kwargs.get('schedule', None) + + +class WorkflowTriggerReference(ResourceReference): + """The workflow trigger reference. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param id: The resource id. + :type id: str + :ivar type: Gets the resource type. + :vartype type: str + :param name: The workflow trigger resource reference name. + :type name: str + :param flow_name: The workflow name. + :type flow_name: str + :param trigger_name: The workflow trigger name. + :type trigger_name: str + """ + + _validation = { + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'flow_name': {'key': 'flowName', 'type': 'str'}, + 'trigger_name': {'key': 'triggerName', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(WorkflowTriggerReference, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.flow_name = kwargs.get('flow_name', None) + self.trigger_name = kwargs.get('trigger_name', None) + + +class WorkflowVersion(Resource): + """The workflow version. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: The resource id. + :vartype id: str + :ivar name: Gets the resource name. + :vartype name: str + :ivar type: Gets the resource type. + :vartype type: str + :param location: The resource location. + :type location: str + :param tags: A set of tags. The resource tags. + :type tags: dict[str, str] + :ivar provisioning_state: The provisioning state. Possible values include: "NotSpecified", + "Accepted", "Running", "Ready", "Creating", "Created", "Deleting", "Deleted", "Canceled", + "Failed", "Succeeded", "Moving", "Updating", "Registering", "Registered", "Unregistering", + "Unregistered", "Completed", "Renewing", "Pending", "Waiting", "InProgress". + :vartype provisioning_state: str or ~azure.mgmt.logic.models.WorkflowProvisioningState + :ivar created_time: Gets the created time. + :vartype created_time: ~datetime.datetime + :ivar changed_time: Gets the changed time. + :vartype changed_time: ~datetime.datetime + :param state: The state. Possible values include: "NotSpecified", "Completed", "Enabled", + "Disabled", "Deleted", "Suspended". + :type state: str or ~azure.mgmt.logic.models.WorkflowState + :ivar version: Gets the version. + :vartype version: str + :ivar access_endpoint: Gets the access endpoint. + :vartype access_endpoint: str + :param endpoints_configuration: The endpoints configuration. + :type endpoints_configuration: ~azure.mgmt.logic.models.FlowEndpointsConfiguration + :param access_control: The access control configuration. + :type access_control: ~azure.mgmt.logic.models.FlowAccessControlConfiguration + :ivar sku: The sku. + :vartype sku: ~azure.mgmt.logic.models.Sku + :param integration_account: The integration account. + :type integration_account: ~azure.mgmt.logic.models.ResourceReference + :param definition: The definition. + :type definition: object + :param parameters: The parameters. + :type parameters: dict[str, ~azure.mgmt.logic.models.WorkflowParameter] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'created_time': {'readonly': True}, + 'changed_time': {'readonly': True}, + 'version': {'readonly': True}, + 'access_endpoint': {'readonly': True}, + 'sku': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'created_time': {'key': 'properties.createdTime', 'type': 'iso-8601'}, + 'changed_time': {'key': 'properties.changedTime', 'type': 'iso-8601'}, + 'state': {'key': 'properties.state', 'type': 'str'}, + 'version': {'key': 'properties.version', 'type': 'str'}, + 'access_endpoint': {'key': 'properties.accessEndpoint', 'type': 'str'}, + 'endpoints_configuration': {'key': 'properties.endpointsConfiguration', 'type': 'FlowEndpointsConfiguration'}, + 'access_control': {'key': 'properties.accessControl', 'type': 'FlowAccessControlConfiguration'}, + 'sku': {'key': 'properties.sku', 'type': 'Sku'}, + 'integration_account': {'key': 'properties.integrationAccount', 'type': 'ResourceReference'}, + 'definition': {'key': 'properties.definition', 'type': 'object'}, + 'parameters': {'key': 'properties.parameters', 'type': '{WorkflowParameter}'}, + } + + def __init__( + self, + **kwargs + ): + super(WorkflowVersion, self).__init__(**kwargs) + self.provisioning_state = None + self.created_time = None + self.changed_time = None + self.state = kwargs.get('state', None) + self.version = None + self.access_endpoint = None + self.endpoints_configuration = kwargs.get('endpoints_configuration', None) + self.access_control = kwargs.get('access_control', None) + self.sku = None + self.integration_account = kwargs.get('integration_account', None) + self.definition = kwargs.get('definition', None) + self.parameters = kwargs.get('parameters', None) + + +class WorkflowVersionListResult(msrest.serialization.Model): + """The list of workflow versions. + + :param value: A list of workflow versions. + :type value: list[~azure.mgmt.logic.models.WorkflowVersion] + :param next_link: The URL to get the next set of results. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[WorkflowVersion]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(WorkflowVersionListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class WsdlService(msrest.serialization.Model): + """The WSDL service. + + :param qualified_name: The qualified name. + :type qualified_name: str + :param endpoint_qualified_names: The list of endpoints' qualified names. + :type endpoint_qualified_names: list[str] + """ + + _attribute_map = { + 'qualified_name': {'key': 'qualifiedName', 'type': 'str'}, + 'endpoint_qualified_names': {'key': 'EndpointQualifiedNames', 'type': '[str]'}, + } + + def __init__( + self, + **kwargs + ): + super(WsdlService, self).__init__(**kwargs) + self.qualified_name = kwargs.get('qualified_name', None) + self.endpoint_qualified_names = kwargs.get('endpoint_qualified_names', None) + + +class X12AcknowledgementSettings(msrest.serialization.Model): + """The X12 agreement acknowledgement settings. + + All required parameters must be populated in order to send to Azure. + + :param need_technical_acknowledgement: Required. The value indicating whether technical + acknowledgement is needed. + :type need_technical_acknowledgement: bool + :param batch_technical_acknowledgements: Required. The value indicating whether to batch the + technical acknowledgements. + :type batch_technical_acknowledgements: bool + :param need_functional_acknowledgement: Required. The value indicating whether functional + acknowledgement is needed. + :type need_functional_acknowledgement: bool + :param functional_acknowledgement_version: The functional acknowledgement version. + :type functional_acknowledgement_version: str + :param batch_functional_acknowledgements: Required. The value indicating whether to batch + functional acknowledgements. + :type batch_functional_acknowledgements: bool + :param need_implementation_acknowledgement: Required. The value indicating whether + implementation acknowledgement is needed. + :type need_implementation_acknowledgement: bool + :param implementation_acknowledgement_version: The implementation acknowledgement version. + :type implementation_acknowledgement_version: str + :param batch_implementation_acknowledgements: Required. The value indicating whether to batch + implementation acknowledgements. + :type batch_implementation_acknowledgements: bool + :param need_loop_for_valid_messages: Required. The value indicating whether a loop is needed + for valid messages. + :type need_loop_for_valid_messages: bool + :param send_synchronous_acknowledgement: Required. The value indicating whether to send + synchronous acknowledgement. + :type send_synchronous_acknowledgement: bool + :param acknowledgement_control_number_prefix: The acknowledgement control number prefix. + :type acknowledgement_control_number_prefix: str + :param acknowledgement_control_number_suffix: The acknowledgement control number suffix. + :type acknowledgement_control_number_suffix: str + :param acknowledgement_control_number_lower_bound: Required. The acknowledgement control number + lower bound. + :type acknowledgement_control_number_lower_bound: int + :param acknowledgement_control_number_upper_bound: Required. The acknowledgement control number + upper bound. + :type acknowledgement_control_number_upper_bound: int + :param rollover_acknowledgement_control_number: Required. The value indicating whether to + rollover acknowledgement control number. + :type rollover_acknowledgement_control_number: bool + """ + + _validation = { + 'need_technical_acknowledgement': {'required': True}, + 'batch_technical_acknowledgements': {'required': True}, + 'need_functional_acknowledgement': {'required': True}, + 'batch_functional_acknowledgements': {'required': True}, + 'need_implementation_acknowledgement': {'required': True}, + 'batch_implementation_acknowledgements': {'required': True}, + 'need_loop_for_valid_messages': {'required': True}, + 'send_synchronous_acknowledgement': {'required': True}, + 'acknowledgement_control_number_lower_bound': {'required': True}, + 'acknowledgement_control_number_upper_bound': {'required': True}, + 'rollover_acknowledgement_control_number': {'required': True}, + } + + _attribute_map = { + 'need_technical_acknowledgement': {'key': 'needTechnicalAcknowledgement', 'type': 'bool'}, + 'batch_technical_acknowledgements': {'key': 'batchTechnicalAcknowledgements', 'type': 'bool'}, + 'need_functional_acknowledgement': {'key': 'needFunctionalAcknowledgement', 'type': 'bool'}, + 'functional_acknowledgement_version': {'key': 'functionalAcknowledgementVersion', 'type': 'str'}, + 'batch_functional_acknowledgements': {'key': 'batchFunctionalAcknowledgements', 'type': 'bool'}, + 'need_implementation_acknowledgement': {'key': 'needImplementationAcknowledgement', 'type': 'bool'}, + 'implementation_acknowledgement_version': {'key': 'implementationAcknowledgementVersion', 'type': 'str'}, + 'batch_implementation_acknowledgements': {'key': 'batchImplementationAcknowledgements', 'type': 'bool'}, + 'need_loop_for_valid_messages': {'key': 'needLoopForValidMessages', 'type': 'bool'}, + 'send_synchronous_acknowledgement': {'key': 'sendSynchronousAcknowledgement', 'type': 'bool'}, + 'acknowledgement_control_number_prefix': {'key': 'acknowledgementControlNumberPrefix', 'type': 'str'}, + 'acknowledgement_control_number_suffix': {'key': 'acknowledgementControlNumberSuffix', 'type': 'str'}, + 'acknowledgement_control_number_lower_bound': {'key': 'acknowledgementControlNumberLowerBound', 'type': 'int'}, + 'acknowledgement_control_number_upper_bound': {'key': 'acknowledgementControlNumberUpperBound', 'type': 'int'}, + 'rollover_acknowledgement_control_number': {'key': 'rolloverAcknowledgementControlNumber', 'type': 'bool'}, + } + + def __init__( + self, + **kwargs + ): + super(X12AcknowledgementSettings, self).__init__(**kwargs) + self.need_technical_acknowledgement = kwargs['need_technical_acknowledgement'] + self.batch_technical_acknowledgements = kwargs['batch_technical_acknowledgements'] + self.need_functional_acknowledgement = kwargs['need_functional_acknowledgement'] + self.functional_acknowledgement_version = kwargs.get('functional_acknowledgement_version', None) + self.batch_functional_acknowledgements = kwargs['batch_functional_acknowledgements'] + self.need_implementation_acknowledgement = kwargs['need_implementation_acknowledgement'] + self.implementation_acknowledgement_version = kwargs.get('implementation_acknowledgement_version', None) + self.batch_implementation_acknowledgements = kwargs['batch_implementation_acknowledgements'] + self.need_loop_for_valid_messages = kwargs['need_loop_for_valid_messages'] + self.send_synchronous_acknowledgement = kwargs['send_synchronous_acknowledgement'] + self.acknowledgement_control_number_prefix = kwargs.get('acknowledgement_control_number_prefix', None) + self.acknowledgement_control_number_suffix = kwargs.get('acknowledgement_control_number_suffix', None) + self.acknowledgement_control_number_lower_bound = kwargs['acknowledgement_control_number_lower_bound'] + self.acknowledgement_control_number_upper_bound = kwargs['acknowledgement_control_number_upper_bound'] + self.rollover_acknowledgement_control_number = kwargs['rollover_acknowledgement_control_number'] + + +class X12AgreementContent(msrest.serialization.Model): + """The X12 agreement content. + + All required parameters must be populated in order to send to Azure. + + :param receive_agreement: Required. The X12 one-way receive agreement. + :type receive_agreement: ~azure.mgmt.logic.models.X12OneWayAgreement + :param send_agreement: Required. The X12 one-way send agreement. + :type send_agreement: ~azure.mgmt.logic.models.X12OneWayAgreement + """ + + _validation = { + 'receive_agreement': {'required': True}, + 'send_agreement': {'required': True}, + } + + _attribute_map = { + 'receive_agreement': {'key': 'receiveAgreement', 'type': 'X12OneWayAgreement'}, + 'send_agreement': {'key': 'sendAgreement', 'type': 'X12OneWayAgreement'}, + } + + def __init__( + self, + **kwargs + ): + super(X12AgreementContent, self).__init__(**kwargs) + self.receive_agreement = kwargs['receive_agreement'] + self.send_agreement = kwargs['send_agreement'] + + +class X12DelimiterOverrides(msrest.serialization.Model): + """The X12 delimiter override settings. + + All required parameters must be populated in order to send to Azure. + + :param protocol_version: The protocol version. + :type protocol_version: str + :param message_id: The message id. + :type message_id: str + :param data_element_separator: Required. The data element separator. + :type data_element_separator: int + :param component_separator: Required. The component separator. + :type component_separator: int + :param segment_terminator: Required. The segment terminator. + :type segment_terminator: int + :param segment_terminator_suffix: Required. The segment terminator suffix. Possible values + include: "NotSpecified", "None", "CR", "LF", "CRLF". + :type segment_terminator_suffix: str or ~azure.mgmt.logic.models.SegmentTerminatorSuffix + :param replace_character: Required. The replacement character. + :type replace_character: int + :param replace_separators_in_payload: Required. The value indicating whether to replace + separators in payload. + :type replace_separators_in_payload: bool + :param target_namespace: The target namespace on which this delimiter settings has to be + applied. + :type target_namespace: str + """ + + _validation = { + 'data_element_separator': {'required': True}, + 'component_separator': {'required': True}, + 'segment_terminator': {'required': True}, + 'segment_terminator_suffix': {'required': True}, + 'replace_character': {'required': True}, + 'replace_separators_in_payload': {'required': True}, + } + + _attribute_map = { + 'protocol_version': {'key': 'protocolVersion', 'type': 'str'}, + 'message_id': {'key': 'messageId', 'type': 'str'}, + 'data_element_separator': {'key': 'dataElementSeparator', 'type': 'int'}, + 'component_separator': {'key': 'componentSeparator', 'type': 'int'}, + 'segment_terminator': {'key': 'segmentTerminator', 'type': 'int'}, + 'segment_terminator_suffix': {'key': 'segmentTerminatorSuffix', 'type': 'str'}, + 'replace_character': {'key': 'replaceCharacter', 'type': 'int'}, + 'replace_separators_in_payload': {'key': 'replaceSeparatorsInPayload', 'type': 'bool'}, + 'target_namespace': {'key': 'targetNamespace', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(X12DelimiterOverrides, self).__init__(**kwargs) + self.protocol_version = kwargs.get('protocol_version', None) + self.message_id = kwargs.get('message_id', None) + self.data_element_separator = kwargs['data_element_separator'] + self.component_separator = kwargs['component_separator'] + self.segment_terminator = kwargs['segment_terminator'] + self.segment_terminator_suffix = kwargs['segment_terminator_suffix'] + self.replace_character = kwargs['replace_character'] + self.replace_separators_in_payload = kwargs['replace_separators_in_payload'] + self.target_namespace = kwargs.get('target_namespace', None) + + +class X12EnvelopeOverride(msrest.serialization.Model): + """The X12 envelope override settings. + + All required parameters must be populated in order to send to Azure. + + :param target_namespace: Required. The target namespace on which this envelope settings has to + be applied. + :type target_namespace: str + :param protocol_version: Required. The protocol version on which this envelope settings has to + be applied. + :type protocol_version: str + :param message_id: Required. The message id on which this envelope settings has to be applied. + :type message_id: str + :param responsible_agency_code: Required. The responsible agency code. + :type responsible_agency_code: str + :param header_version: Required. The header version. + :type header_version: str + :param sender_application_id: Required. The sender application id. + :type sender_application_id: str + :param receiver_application_id: Required. The receiver application id. + :type receiver_application_id: str + :param functional_identifier_code: The functional identifier code. + :type functional_identifier_code: str + :param date_format: Required. The date format. Possible values include: "NotSpecified", + "CCYYMMDD", "YYMMDD". + :type date_format: str or ~azure.mgmt.logic.models.X12DateFormat + :param time_format: Required. The time format. Possible values include: "NotSpecified", "HHMM", + "HHMMSS", "HHMMSSdd", "HHMMSSd". + :type time_format: str or ~azure.mgmt.logic.models.X12TimeFormat + """ + + _validation = { + 'target_namespace': {'required': True}, + 'protocol_version': {'required': True}, + 'message_id': {'required': True}, + 'responsible_agency_code': {'required': True}, + 'header_version': {'required': True}, + 'sender_application_id': {'required': True}, + 'receiver_application_id': {'required': True}, + 'date_format': {'required': True}, + 'time_format': {'required': True}, + } + + _attribute_map = { + 'target_namespace': {'key': 'targetNamespace', 'type': 'str'}, + 'protocol_version': {'key': 'protocolVersion', 'type': 'str'}, + 'message_id': {'key': 'messageId', 'type': 'str'}, + 'responsible_agency_code': {'key': 'responsibleAgencyCode', 'type': 'str'}, + 'header_version': {'key': 'headerVersion', 'type': 'str'}, + 'sender_application_id': {'key': 'senderApplicationId', 'type': 'str'}, + 'receiver_application_id': {'key': 'receiverApplicationId', 'type': 'str'}, + 'functional_identifier_code': {'key': 'functionalIdentifierCode', 'type': 'str'}, + 'date_format': {'key': 'dateFormat', 'type': 'str'}, + 'time_format': {'key': 'timeFormat', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(X12EnvelopeOverride, self).__init__(**kwargs) + self.target_namespace = kwargs['target_namespace'] + self.protocol_version = kwargs['protocol_version'] + self.message_id = kwargs['message_id'] + self.responsible_agency_code = kwargs['responsible_agency_code'] + self.header_version = kwargs['header_version'] + self.sender_application_id = kwargs['sender_application_id'] + self.receiver_application_id = kwargs['receiver_application_id'] + self.functional_identifier_code = kwargs.get('functional_identifier_code', None) + self.date_format = kwargs['date_format'] + self.time_format = kwargs['time_format'] + + +class X12EnvelopeSettings(msrest.serialization.Model): + """The X12 agreement envelope settings. + + All required parameters must be populated in order to send to Azure. + + :param control_standards_id: Required. The controls standards id. + :type control_standards_id: int + :param use_control_standards_id_as_repetition_character: Required. The value indicating whether + to use control standards id as repetition character. + :type use_control_standards_id_as_repetition_character: bool + :param sender_application_id: Required. The sender application id. + :type sender_application_id: str + :param receiver_application_id: Required. The receiver application id. + :type receiver_application_id: str + :param control_version_number: Required. The control version number. + :type control_version_number: str + :param interchange_control_number_lower_bound: Required. The interchange control number lower + bound. + :type interchange_control_number_lower_bound: int + :param interchange_control_number_upper_bound: Required. The interchange control number upper + bound. + :type interchange_control_number_upper_bound: int + :param rollover_interchange_control_number: Required. The value indicating whether to rollover + interchange control number. + :type rollover_interchange_control_number: bool + :param enable_default_group_headers: Required. The value indicating whether to enable default + group headers. + :type enable_default_group_headers: bool + :param functional_group_id: The functional group id. + :type functional_group_id: str + :param group_control_number_lower_bound: Required. The group control number lower bound. + :type group_control_number_lower_bound: int + :param group_control_number_upper_bound: Required. The group control number upper bound. + :type group_control_number_upper_bound: int + :param rollover_group_control_number: Required. The value indicating whether to rollover group + control number. + :type rollover_group_control_number: bool + :param group_header_agency_code: Required. The group header agency code. + :type group_header_agency_code: str + :param group_header_version: Required. The group header version. + :type group_header_version: str + :param transaction_set_control_number_lower_bound: Required. The transaction set control number + lower bound. + :type transaction_set_control_number_lower_bound: int + :param transaction_set_control_number_upper_bound: Required. The transaction set control number + upper bound. + :type transaction_set_control_number_upper_bound: int + :param rollover_transaction_set_control_number: Required. The value indicating whether to + rollover transaction set control number. + :type rollover_transaction_set_control_number: bool + :param transaction_set_control_number_prefix: The transaction set control number prefix. + :type transaction_set_control_number_prefix: str + :param transaction_set_control_number_suffix: The transaction set control number suffix. + :type transaction_set_control_number_suffix: str + :param overwrite_existing_transaction_set_control_number: Required. The value indicating + whether to overwrite existing transaction set control number. + :type overwrite_existing_transaction_set_control_number: bool + :param group_header_date_format: Required. The group header date format. Possible values + include: "NotSpecified", "CCYYMMDD", "YYMMDD". + :type group_header_date_format: str or ~azure.mgmt.logic.models.X12DateFormat + :param group_header_time_format: Required. The group header time format. Possible values + include: "NotSpecified", "HHMM", "HHMMSS", "HHMMSSdd", "HHMMSSd". + :type group_header_time_format: str or ~azure.mgmt.logic.models.X12TimeFormat + :param usage_indicator: Required. The usage indicator. Possible values include: "NotSpecified", + "Test", "Information", "Production". + :type usage_indicator: str or ~azure.mgmt.logic.models.UsageIndicator + """ + + _validation = { + 'control_standards_id': {'required': True}, + 'use_control_standards_id_as_repetition_character': {'required': True}, + 'sender_application_id': {'required': True}, + 'receiver_application_id': {'required': True}, + 'control_version_number': {'required': True}, + 'interchange_control_number_lower_bound': {'required': True}, + 'interchange_control_number_upper_bound': {'required': True}, + 'rollover_interchange_control_number': {'required': True}, + 'enable_default_group_headers': {'required': True}, + 'group_control_number_lower_bound': {'required': True}, + 'group_control_number_upper_bound': {'required': True}, + 'rollover_group_control_number': {'required': True}, + 'group_header_agency_code': {'required': True}, + 'group_header_version': {'required': True}, + 'transaction_set_control_number_lower_bound': {'required': True}, + 'transaction_set_control_number_upper_bound': {'required': True}, + 'rollover_transaction_set_control_number': {'required': True}, + 'overwrite_existing_transaction_set_control_number': {'required': True}, + 'group_header_date_format': {'required': True}, + 'group_header_time_format': {'required': True}, + 'usage_indicator': {'required': True}, + } + + _attribute_map = { + 'control_standards_id': {'key': 'controlStandardsId', 'type': 'int'}, + 'use_control_standards_id_as_repetition_character': {'key': 'useControlStandardsIdAsRepetitionCharacter', 'type': 'bool'}, + 'sender_application_id': {'key': 'senderApplicationId', 'type': 'str'}, + 'receiver_application_id': {'key': 'receiverApplicationId', 'type': 'str'}, + 'control_version_number': {'key': 'controlVersionNumber', 'type': 'str'}, + 'interchange_control_number_lower_bound': {'key': 'interchangeControlNumberLowerBound', 'type': 'int'}, + 'interchange_control_number_upper_bound': {'key': 'interchangeControlNumberUpperBound', 'type': 'int'}, + 'rollover_interchange_control_number': {'key': 'rolloverInterchangeControlNumber', 'type': 'bool'}, + 'enable_default_group_headers': {'key': 'enableDefaultGroupHeaders', 'type': 'bool'}, + 'functional_group_id': {'key': 'functionalGroupId', 'type': 'str'}, + 'group_control_number_lower_bound': {'key': 'groupControlNumberLowerBound', 'type': 'int'}, + 'group_control_number_upper_bound': {'key': 'groupControlNumberUpperBound', 'type': 'int'}, + 'rollover_group_control_number': {'key': 'rolloverGroupControlNumber', 'type': 'bool'}, + 'group_header_agency_code': {'key': 'groupHeaderAgencyCode', 'type': 'str'}, + 'group_header_version': {'key': 'groupHeaderVersion', 'type': 'str'}, + 'transaction_set_control_number_lower_bound': {'key': 'transactionSetControlNumberLowerBound', 'type': 'int'}, + 'transaction_set_control_number_upper_bound': {'key': 'transactionSetControlNumberUpperBound', 'type': 'int'}, + 'rollover_transaction_set_control_number': {'key': 'rolloverTransactionSetControlNumber', 'type': 'bool'}, + 'transaction_set_control_number_prefix': {'key': 'transactionSetControlNumberPrefix', 'type': 'str'}, + 'transaction_set_control_number_suffix': {'key': 'transactionSetControlNumberSuffix', 'type': 'str'}, + 'overwrite_existing_transaction_set_control_number': {'key': 'overwriteExistingTransactionSetControlNumber', 'type': 'bool'}, + 'group_header_date_format': {'key': 'groupHeaderDateFormat', 'type': 'str'}, + 'group_header_time_format': {'key': 'groupHeaderTimeFormat', 'type': 'str'}, + 'usage_indicator': {'key': 'usageIndicator', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(X12EnvelopeSettings, self).__init__(**kwargs) + self.control_standards_id = kwargs['control_standards_id'] + self.use_control_standards_id_as_repetition_character = kwargs['use_control_standards_id_as_repetition_character'] + self.sender_application_id = kwargs['sender_application_id'] + self.receiver_application_id = kwargs['receiver_application_id'] + self.control_version_number = kwargs['control_version_number'] + self.interchange_control_number_lower_bound = kwargs['interchange_control_number_lower_bound'] + self.interchange_control_number_upper_bound = kwargs['interchange_control_number_upper_bound'] + self.rollover_interchange_control_number = kwargs['rollover_interchange_control_number'] + self.enable_default_group_headers = kwargs['enable_default_group_headers'] + self.functional_group_id = kwargs.get('functional_group_id', None) + self.group_control_number_lower_bound = kwargs['group_control_number_lower_bound'] + self.group_control_number_upper_bound = kwargs['group_control_number_upper_bound'] + self.rollover_group_control_number = kwargs['rollover_group_control_number'] + self.group_header_agency_code = kwargs['group_header_agency_code'] + self.group_header_version = kwargs['group_header_version'] + self.transaction_set_control_number_lower_bound = kwargs['transaction_set_control_number_lower_bound'] + self.transaction_set_control_number_upper_bound = kwargs['transaction_set_control_number_upper_bound'] + self.rollover_transaction_set_control_number = kwargs['rollover_transaction_set_control_number'] + self.transaction_set_control_number_prefix = kwargs.get('transaction_set_control_number_prefix', None) + self.transaction_set_control_number_suffix = kwargs.get('transaction_set_control_number_suffix', None) + self.overwrite_existing_transaction_set_control_number = kwargs['overwrite_existing_transaction_set_control_number'] + self.group_header_date_format = kwargs['group_header_date_format'] + self.group_header_time_format = kwargs['group_header_time_format'] + self.usage_indicator = kwargs['usage_indicator'] + + +class X12FramingSettings(msrest.serialization.Model): + """The X12 agreement framing settings. + + All required parameters must be populated in order to send to Azure. + + :param data_element_separator: Required. The data element separator. + :type data_element_separator: int + :param component_separator: Required. The component separator. + :type component_separator: int + :param replace_separators_in_payload: Required. The value indicating whether to replace + separators in payload. + :type replace_separators_in_payload: bool + :param replace_character: Required. The replacement character. + :type replace_character: int + :param segment_terminator: Required. The segment terminator. + :type segment_terminator: int + :param character_set: Required. The X12 character set. Possible values include: "NotSpecified", + "Basic", "Extended", "UTF8". + :type character_set: str or ~azure.mgmt.logic.models.X12CharacterSet + :param segment_terminator_suffix: Required. The segment terminator suffix. Possible values + include: "NotSpecified", "None", "CR", "LF", "CRLF". + :type segment_terminator_suffix: str or ~azure.mgmt.logic.models.SegmentTerminatorSuffix + """ + + _validation = { + 'data_element_separator': {'required': True}, + 'component_separator': {'required': True}, + 'replace_separators_in_payload': {'required': True}, + 'replace_character': {'required': True}, + 'segment_terminator': {'required': True}, + 'character_set': {'required': True}, + 'segment_terminator_suffix': {'required': True}, + } + + _attribute_map = { + 'data_element_separator': {'key': 'dataElementSeparator', 'type': 'int'}, + 'component_separator': {'key': 'componentSeparator', 'type': 'int'}, + 'replace_separators_in_payload': {'key': 'replaceSeparatorsInPayload', 'type': 'bool'}, + 'replace_character': {'key': 'replaceCharacter', 'type': 'int'}, + 'segment_terminator': {'key': 'segmentTerminator', 'type': 'int'}, + 'character_set': {'key': 'characterSet', 'type': 'str'}, + 'segment_terminator_suffix': {'key': 'segmentTerminatorSuffix', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(X12FramingSettings, self).__init__(**kwargs) + self.data_element_separator = kwargs['data_element_separator'] + self.component_separator = kwargs['component_separator'] + self.replace_separators_in_payload = kwargs['replace_separators_in_payload'] + self.replace_character = kwargs['replace_character'] + self.segment_terminator = kwargs['segment_terminator'] + self.character_set = kwargs['character_set'] + self.segment_terminator_suffix = kwargs['segment_terminator_suffix'] + + +class X12MessageFilter(msrest.serialization.Model): + """The X12 message filter for odata query. + + All required parameters must be populated in order to send to Azure. + + :param message_filter_type: Required. The message filter type. Possible values include: + "NotSpecified", "Include", "Exclude". + :type message_filter_type: str or ~azure.mgmt.logic.models.MessageFilterType + """ + + _validation = { + 'message_filter_type': {'required': True}, + } + + _attribute_map = { + 'message_filter_type': {'key': 'messageFilterType', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(X12MessageFilter, self).__init__(**kwargs) + self.message_filter_type = kwargs['message_filter_type'] + + +class X12MessageIdentifier(msrest.serialization.Model): + """The X12 message identifier. + + All required parameters must be populated in order to send to Azure. + + :param message_id: Required. The message id. + :type message_id: str + """ + + _validation = { + 'message_id': {'required': True}, + } + + _attribute_map = { + 'message_id': {'key': 'messageId', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(X12MessageIdentifier, self).__init__(**kwargs) + self.message_id = kwargs['message_id'] + + +class X12OneWayAgreement(msrest.serialization.Model): + """The X12 one-way agreement. + + All required parameters must be populated in order to send to Azure. + + :param sender_business_identity: Required. The sender business identity. + :type sender_business_identity: ~azure.mgmt.logic.models.BusinessIdentity + :param receiver_business_identity: Required. The receiver business identity. + :type receiver_business_identity: ~azure.mgmt.logic.models.BusinessIdentity + :param protocol_settings: Required. The X12 protocol settings. + :type protocol_settings: ~azure.mgmt.logic.models.X12ProtocolSettings + """ + + _validation = { + 'sender_business_identity': {'required': True}, + 'receiver_business_identity': {'required': True}, + 'protocol_settings': {'required': True}, + } + + _attribute_map = { + 'sender_business_identity': {'key': 'senderBusinessIdentity', 'type': 'BusinessIdentity'}, + 'receiver_business_identity': {'key': 'receiverBusinessIdentity', 'type': 'BusinessIdentity'}, + 'protocol_settings': {'key': 'protocolSettings', 'type': 'X12ProtocolSettings'}, + } + + def __init__( + self, + **kwargs + ): + super(X12OneWayAgreement, self).__init__(**kwargs) + self.sender_business_identity = kwargs['sender_business_identity'] + self.receiver_business_identity = kwargs['receiver_business_identity'] + self.protocol_settings = kwargs['protocol_settings'] + + +class X12ProcessingSettings(msrest.serialization.Model): + """The X12 processing settings. + + All required parameters must be populated in order to send to Azure. + + :param mask_security_info: Required. The value indicating whether to mask security information. + :type mask_security_info: bool + :param convert_implied_decimal: Required. The value indicating whether to convert numerical + type to implied decimal. + :type convert_implied_decimal: bool + :param preserve_interchange: Required. The value indicating whether to preserve interchange. + :type preserve_interchange: bool + :param suspend_interchange_on_error: Required. The value indicating whether to suspend + interchange on error. + :type suspend_interchange_on_error: bool + :param create_empty_xml_tags_for_trailing_separators: Required. The value indicating whether to + create empty xml tags for trailing separators. + :type create_empty_xml_tags_for_trailing_separators: bool + :param use_dot_as_decimal_separator: Required. The value indicating whether to use dot as + decimal separator. + :type use_dot_as_decimal_separator: bool + """ + + _validation = { + 'mask_security_info': {'required': True}, + 'convert_implied_decimal': {'required': True}, + 'preserve_interchange': {'required': True}, + 'suspend_interchange_on_error': {'required': True}, + 'create_empty_xml_tags_for_trailing_separators': {'required': True}, + 'use_dot_as_decimal_separator': {'required': True}, + } + + _attribute_map = { + 'mask_security_info': {'key': 'maskSecurityInfo', 'type': 'bool'}, + 'convert_implied_decimal': {'key': 'convertImpliedDecimal', 'type': 'bool'}, + 'preserve_interchange': {'key': 'preserveInterchange', 'type': 'bool'}, + 'suspend_interchange_on_error': {'key': 'suspendInterchangeOnError', 'type': 'bool'}, + 'create_empty_xml_tags_for_trailing_separators': {'key': 'createEmptyXmlTagsForTrailingSeparators', 'type': 'bool'}, + 'use_dot_as_decimal_separator': {'key': 'useDotAsDecimalSeparator', 'type': 'bool'}, + } + + def __init__( + self, + **kwargs + ): + super(X12ProcessingSettings, self).__init__(**kwargs) + self.mask_security_info = kwargs['mask_security_info'] + self.convert_implied_decimal = kwargs['convert_implied_decimal'] + self.preserve_interchange = kwargs['preserve_interchange'] + self.suspend_interchange_on_error = kwargs['suspend_interchange_on_error'] + self.create_empty_xml_tags_for_trailing_separators = kwargs['create_empty_xml_tags_for_trailing_separators'] + self.use_dot_as_decimal_separator = kwargs['use_dot_as_decimal_separator'] + + +class X12ProtocolSettings(msrest.serialization.Model): + """The X12 agreement protocol settings. + + All required parameters must be populated in order to send to Azure. + + :param validation_settings: Required. The X12 validation settings. + :type validation_settings: ~azure.mgmt.logic.models.X12ValidationSettings + :param framing_settings: Required. The X12 framing settings. + :type framing_settings: ~azure.mgmt.logic.models.X12FramingSettings + :param envelope_settings: Required. The X12 envelope settings. + :type envelope_settings: ~azure.mgmt.logic.models.X12EnvelopeSettings + :param acknowledgement_settings: Required. The X12 acknowledgment settings. + :type acknowledgement_settings: ~azure.mgmt.logic.models.X12AcknowledgementSettings + :param message_filter: Required. The X12 message filter. + :type message_filter: ~azure.mgmt.logic.models.X12MessageFilter + :param security_settings: Required. The X12 security settings. + :type security_settings: ~azure.mgmt.logic.models.X12SecuritySettings + :param processing_settings: Required. The X12 processing settings. + :type processing_settings: ~azure.mgmt.logic.models.X12ProcessingSettings + :param envelope_overrides: The X12 envelope override settings. + :type envelope_overrides: list[~azure.mgmt.logic.models.X12EnvelopeOverride] + :param validation_overrides: The X12 validation override settings. + :type validation_overrides: list[~azure.mgmt.logic.models.X12ValidationOverride] + :param message_filter_list: The X12 message filter list. + :type message_filter_list: list[~azure.mgmt.logic.models.X12MessageIdentifier] + :param schema_references: Required. The X12 schema references. + :type schema_references: list[~azure.mgmt.logic.models.X12SchemaReference] + :param x12_delimiter_overrides: The X12 delimiter override settings. + :type x12_delimiter_overrides: list[~azure.mgmt.logic.models.X12DelimiterOverrides] + """ + + _validation = { + 'validation_settings': {'required': True}, + 'framing_settings': {'required': True}, + 'envelope_settings': {'required': True}, + 'acknowledgement_settings': {'required': True}, + 'message_filter': {'required': True}, + 'security_settings': {'required': True}, + 'processing_settings': {'required': True}, + 'schema_references': {'required': True}, + } + + _attribute_map = { + 'validation_settings': {'key': 'validationSettings', 'type': 'X12ValidationSettings'}, + 'framing_settings': {'key': 'framingSettings', 'type': 'X12FramingSettings'}, + 'envelope_settings': {'key': 'envelopeSettings', 'type': 'X12EnvelopeSettings'}, + 'acknowledgement_settings': {'key': 'acknowledgementSettings', 'type': 'X12AcknowledgementSettings'}, + 'message_filter': {'key': 'messageFilter', 'type': 'X12MessageFilter'}, + 'security_settings': {'key': 'securitySettings', 'type': 'X12SecuritySettings'}, + 'processing_settings': {'key': 'processingSettings', 'type': 'X12ProcessingSettings'}, + 'envelope_overrides': {'key': 'envelopeOverrides', 'type': '[X12EnvelopeOverride]'}, + 'validation_overrides': {'key': 'validationOverrides', 'type': '[X12ValidationOverride]'}, + 'message_filter_list': {'key': 'messageFilterList', 'type': '[X12MessageIdentifier]'}, + 'schema_references': {'key': 'schemaReferences', 'type': '[X12SchemaReference]'}, + 'x12_delimiter_overrides': {'key': 'x12DelimiterOverrides', 'type': '[X12DelimiterOverrides]'}, + } + + def __init__( + self, + **kwargs + ): + super(X12ProtocolSettings, self).__init__(**kwargs) + self.validation_settings = kwargs['validation_settings'] + self.framing_settings = kwargs['framing_settings'] + self.envelope_settings = kwargs['envelope_settings'] + self.acknowledgement_settings = kwargs['acknowledgement_settings'] + self.message_filter = kwargs['message_filter'] + self.security_settings = kwargs['security_settings'] + self.processing_settings = kwargs['processing_settings'] + self.envelope_overrides = kwargs.get('envelope_overrides', None) + self.validation_overrides = kwargs.get('validation_overrides', None) + self.message_filter_list = kwargs.get('message_filter_list', None) + self.schema_references = kwargs['schema_references'] + self.x12_delimiter_overrides = kwargs.get('x12_delimiter_overrides', None) + + +class X12SchemaReference(msrest.serialization.Model): + """The X12 schema reference. + + All required parameters must be populated in order to send to Azure. + + :param message_id: Required. The message id. + :type message_id: str + :param sender_application_id: The sender application id. + :type sender_application_id: str + :param schema_version: Required. The schema version. + :type schema_version: str + :param schema_name: Required. The schema name. + :type schema_name: str + """ + + _validation = { + 'message_id': {'required': True}, + 'schema_version': {'required': True}, + 'schema_name': {'required': True}, + } + + _attribute_map = { + 'message_id': {'key': 'messageId', 'type': 'str'}, + 'sender_application_id': {'key': 'senderApplicationId', 'type': 'str'}, + 'schema_version': {'key': 'schemaVersion', 'type': 'str'}, + 'schema_name': {'key': 'schemaName', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(X12SchemaReference, self).__init__(**kwargs) + self.message_id = kwargs['message_id'] + self.sender_application_id = kwargs.get('sender_application_id', None) + self.schema_version = kwargs['schema_version'] + self.schema_name = kwargs['schema_name'] + + +class X12SecuritySettings(msrest.serialization.Model): + """The X12 agreement security settings. + + All required parameters must be populated in order to send to Azure. + + :param authorization_qualifier: Required. The authorization qualifier. + :type authorization_qualifier: str + :param authorization_value: The authorization value. + :type authorization_value: str + :param security_qualifier: Required. The security qualifier. + :type security_qualifier: str + :param password_value: The password value. + :type password_value: str + """ + + _validation = { + 'authorization_qualifier': {'required': True}, + 'security_qualifier': {'required': True}, + } + + _attribute_map = { + 'authorization_qualifier': {'key': 'authorizationQualifier', 'type': 'str'}, + 'authorization_value': {'key': 'authorizationValue', 'type': 'str'}, + 'security_qualifier': {'key': 'securityQualifier', 'type': 'str'}, + 'password_value': {'key': 'passwordValue', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(X12SecuritySettings, self).__init__(**kwargs) + self.authorization_qualifier = kwargs['authorization_qualifier'] + self.authorization_value = kwargs.get('authorization_value', None) + self.security_qualifier = kwargs['security_qualifier'] + self.password_value = kwargs.get('password_value', None) + + +class X12ValidationOverride(msrest.serialization.Model): + """The X12 validation override settings. + + All required parameters must be populated in order to send to Azure. + + :param message_id: Required. The message id on which the validation settings has to be applied. + :type message_id: str + :param validate_edi_types: Required. The value indicating whether to validate EDI types. + :type validate_edi_types: bool + :param validate_xsd_types: Required. The value indicating whether to validate XSD types. + :type validate_xsd_types: bool + :param allow_leading_and_trailing_spaces_and_zeroes: Required. The value indicating whether to + allow leading and trailing spaces and zeroes. + :type allow_leading_and_trailing_spaces_and_zeroes: bool + :param validate_character_set: Required. The value indicating whether to validate character + Set. + :type validate_character_set: bool + :param trim_leading_and_trailing_spaces_and_zeroes: Required. The value indicating whether to + trim leading and trailing spaces and zeroes. + :type trim_leading_and_trailing_spaces_and_zeroes: bool + :param trailing_separator_policy: Required. The trailing separator policy. Possible values + include: "NotSpecified", "NotAllowed", "Optional", "Mandatory". + :type trailing_separator_policy: str or ~azure.mgmt.logic.models.TrailingSeparatorPolicy + """ + + _validation = { + 'message_id': {'required': True}, + 'validate_edi_types': {'required': True}, + 'validate_xsd_types': {'required': True}, + 'allow_leading_and_trailing_spaces_and_zeroes': {'required': True}, + 'validate_character_set': {'required': True}, + 'trim_leading_and_trailing_spaces_and_zeroes': {'required': True}, + 'trailing_separator_policy': {'required': True}, + } + + _attribute_map = { + 'message_id': {'key': 'messageId', 'type': 'str'}, + 'validate_edi_types': {'key': 'validateEDITypes', 'type': 'bool'}, + 'validate_xsd_types': {'key': 'validateXSDTypes', 'type': 'bool'}, + 'allow_leading_and_trailing_spaces_and_zeroes': {'key': 'allowLeadingAndTrailingSpacesAndZeroes', 'type': 'bool'}, + 'validate_character_set': {'key': 'validateCharacterSet', 'type': 'bool'}, + 'trim_leading_and_trailing_spaces_and_zeroes': {'key': 'trimLeadingAndTrailingSpacesAndZeroes', 'type': 'bool'}, + 'trailing_separator_policy': {'key': 'trailingSeparatorPolicy', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(X12ValidationOverride, self).__init__(**kwargs) + self.message_id = kwargs['message_id'] + self.validate_edi_types = kwargs['validate_edi_types'] + self.validate_xsd_types = kwargs['validate_xsd_types'] + self.allow_leading_and_trailing_spaces_and_zeroes = kwargs['allow_leading_and_trailing_spaces_and_zeroes'] + self.validate_character_set = kwargs['validate_character_set'] + self.trim_leading_and_trailing_spaces_and_zeroes = kwargs['trim_leading_and_trailing_spaces_and_zeroes'] + self.trailing_separator_policy = kwargs['trailing_separator_policy'] + + +class X12ValidationSettings(msrest.serialization.Model): + """The X12 agreement validation settings. + + All required parameters must be populated in order to send to Azure. + + :param validate_character_set: Required. The value indicating whether to validate character set + in the message. + :type validate_character_set: bool + :param check_duplicate_interchange_control_number: Required. The value indicating whether to + check for duplicate interchange control number. + :type check_duplicate_interchange_control_number: bool + :param interchange_control_number_validity_days: Required. The validity period of interchange + control number. + :type interchange_control_number_validity_days: int + :param check_duplicate_group_control_number: Required. The value indicating whether to check + for duplicate group control number. + :type check_duplicate_group_control_number: bool + :param check_duplicate_transaction_set_control_number: Required. The value indicating whether + to check for duplicate transaction set control number. + :type check_duplicate_transaction_set_control_number: bool + :param validate_edi_types: Required. The value indicating whether to Whether to validate EDI + types. + :type validate_edi_types: bool + :param validate_xsd_types: Required. The value indicating whether to Whether to validate XSD + types. + :type validate_xsd_types: bool + :param allow_leading_and_trailing_spaces_and_zeroes: Required. The value indicating whether to + allow leading and trailing spaces and zeroes. + :type allow_leading_and_trailing_spaces_and_zeroes: bool + :param trim_leading_and_trailing_spaces_and_zeroes: Required. The value indicating whether to + trim leading and trailing spaces and zeroes. + :type trim_leading_and_trailing_spaces_and_zeroes: bool + :param trailing_separator_policy: Required. The trailing separator policy. Possible values + include: "NotSpecified", "NotAllowed", "Optional", "Mandatory". + :type trailing_separator_policy: str or ~azure.mgmt.logic.models.TrailingSeparatorPolicy + """ + + _validation = { + 'validate_character_set': {'required': True}, + 'check_duplicate_interchange_control_number': {'required': True}, + 'interchange_control_number_validity_days': {'required': True}, + 'check_duplicate_group_control_number': {'required': True}, + 'check_duplicate_transaction_set_control_number': {'required': True}, + 'validate_edi_types': {'required': True}, + 'validate_xsd_types': {'required': True}, + 'allow_leading_and_trailing_spaces_and_zeroes': {'required': True}, + 'trim_leading_and_trailing_spaces_and_zeroes': {'required': True}, + 'trailing_separator_policy': {'required': True}, + } + + _attribute_map = { + 'validate_character_set': {'key': 'validateCharacterSet', 'type': 'bool'}, + 'check_duplicate_interchange_control_number': {'key': 'checkDuplicateInterchangeControlNumber', 'type': 'bool'}, + 'interchange_control_number_validity_days': {'key': 'interchangeControlNumberValidityDays', 'type': 'int'}, + 'check_duplicate_group_control_number': {'key': 'checkDuplicateGroupControlNumber', 'type': 'bool'}, + 'check_duplicate_transaction_set_control_number': {'key': 'checkDuplicateTransactionSetControlNumber', 'type': 'bool'}, + 'validate_edi_types': {'key': 'validateEDITypes', 'type': 'bool'}, + 'validate_xsd_types': {'key': 'validateXSDTypes', 'type': 'bool'}, + 'allow_leading_and_trailing_spaces_and_zeroes': {'key': 'allowLeadingAndTrailingSpacesAndZeroes', 'type': 'bool'}, + 'trim_leading_and_trailing_spaces_and_zeroes': {'key': 'trimLeadingAndTrailingSpacesAndZeroes', 'type': 'bool'}, + 'trailing_separator_policy': {'key': 'trailingSeparatorPolicy', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(X12ValidationSettings, self).__init__(**kwargs) + self.validate_character_set = kwargs['validate_character_set'] + self.check_duplicate_interchange_control_number = kwargs['check_duplicate_interchange_control_number'] + self.interchange_control_number_validity_days = kwargs['interchange_control_number_validity_days'] + self.check_duplicate_group_control_number = kwargs['check_duplicate_group_control_number'] + self.check_duplicate_transaction_set_control_number = kwargs['check_duplicate_transaction_set_control_number'] + self.validate_edi_types = kwargs['validate_edi_types'] + self.validate_xsd_types = kwargs['validate_xsd_types'] + self.allow_leading_and_trailing_spaces_and_zeroes = kwargs['allow_leading_and_trailing_spaces_and_zeroes'] + self.trim_leading_and_trailing_spaces_and_zeroes = kwargs['trim_leading_and_trailing_spaces_and_zeroes'] + self.trailing_separator_policy = kwargs['trailing_separator_policy'] diff --git a/src/logic/azext_logic/vendored_sdks/logic/models/_models_py3.py b/src/logic/azext_logic/vendored_sdks/logic/models/_models_py3.py new file mode 100644 index 00000000000..7ccdd61abf5 --- /dev/null +++ b/src/logic/azext_logic/vendored_sdks/logic/models/_models_py3.py @@ -0,0 +1,8966 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +import datetime +from typing import Dict, List, Optional, Union + +from azure.core.exceptions import HttpResponseError +import msrest.serialization + + +class AgreementContent(msrest.serialization.Model): + """The integration account agreement content. + + :param a_s2: The AS2 agreement content. + :type a_s2: ~azure.mgmt.logic.models.As2AgreementContent + :param x12: The X12 agreement content. + :type x12: ~azure.mgmt.logic.models.X12AgreementContent + :param edifact: The EDIFACT agreement content. + :type edifact: ~azure.mgmt.logic.models.EdifactAgreementContent + """ + + _attribute_map = { + 'a_s2': {'key': 'aS2', 'type': 'As2AgreementContent'}, + 'x12': {'key': 'x12', 'type': 'X12AgreementContent'}, + 'edifact': {'key': 'edifact', 'type': 'EdifactAgreementContent'}, + } + + def __init__( + self, + *, + a_s2: Optional["As2AgreementContent"] = None, + x12: Optional["X12AgreementContent"] = None, + edifact: Optional["EdifactAgreementContent"] = None, + **kwargs + ): + super(AgreementContent, self).__init__(**kwargs) + self.a_s2 = a_s2 + self.x12 = x12 + self.edifact = edifact + + +class ApiDeploymentParameterMetadata(msrest.serialization.Model): + """The API deployment parameter metadata. + + :param type: The type. + :type type: str + :param is_required: Indicates whether its required. + :type is_required: bool + :param display_name: The display name. + :type display_name: str + :param description: The description. + :type description: str + :param visibility: The visibility. Possible values include: "NotSpecified", "Default", + "Internal". + :type visibility: str or ~azure.mgmt.logic.models.ApiDeploymentParameterVisibility + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'is_required': {'key': 'isRequired', 'type': 'bool'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'visibility': {'key': 'visibility', 'type': 'str'}, + } + + def __init__( + self, + *, + type: Optional[str] = None, + is_required: Optional[bool] = None, + display_name: Optional[str] = None, + description: Optional[str] = None, + visibility: Optional[Union[str, "ApiDeploymentParameterVisibility"]] = None, + **kwargs + ): + super(ApiDeploymentParameterMetadata, self).__init__(**kwargs) + self.type = type + self.is_required = is_required + self.display_name = display_name + self.description = description + self.visibility = visibility + + +class ApiDeploymentParameterMetadataSet(msrest.serialization.Model): + """The API deployment parameters metadata. + + :param package_content_link: The package content link parameter. + :type package_content_link: ~azure.mgmt.logic.models.ApiDeploymentParameterMetadata + :param redis_cache_connection_string: The package content link parameter. + :type redis_cache_connection_string: ~azure.mgmt.logic.models.ApiDeploymentParameterMetadata + """ + + _attribute_map = { + 'package_content_link': {'key': 'packageContentLink', 'type': 'ApiDeploymentParameterMetadata'}, + 'redis_cache_connection_string': {'key': 'redisCacheConnectionString', 'type': 'ApiDeploymentParameterMetadata'}, + } + + def __init__( + self, + *, + package_content_link: Optional["ApiDeploymentParameterMetadata"] = None, + redis_cache_connection_string: Optional["ApiDeploymentParameterMetadata"] = None, + **kwargs + ): + super(ApiDeploymentParameterMetadataSet, self).__init__(**kwargs) + self.package_content_link = package_content_link + self.redis_cache_connection_string = redis_cache_connection_string + + +class Resource(msrest.serialization.Model): + """The base resource type. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: The resource id. + :vartype id: str + :ivar name: Gets the resource name. + :vartype name: str + :ivar type: Gets the resource type. + :vartype type: str + :param location: The resource location. + :type location: str + :param tags: A set of tags. The resource tags. + :type tags: dict[str, str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__( + self, + *, + location: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + **kwargs + ): + super(Resource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.location = location + self.tags = tags + + +class ApiOperation(Resource): + """The api operation. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: The resource id. + :vartype id: str + :ivar name: Gets the resource name. + :vartype name: str + :ivar type: Gets the resource type. + :vartype type: str + :param location: The resource location. + :type location: str + :param tags: A set of tags. The resource tags. + :type tags: dict[str, str] + :param properties: The api operations properties. + :type properties: ~azure.mgmt.logic.models.ApiOperationPropertiesDefinition + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'properties': {'key': 'properties', 'type': 'ApiOperationPropertiesDefinition'}, + } + + def __init__( + self, + *, + location: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + properties: Optional["ApiOperationPropertiesDefinition"] = None, + **kwargs + ): + super(ApiOperation, self).__init__(location=location, tags=tags, **kwargs) + self.properties = properties + + +class ApiOperationAnnotation(msrest.serialization.Model): + """The Api Operation Annotation. + + :param status: The status annotation. Possible values include: "NotSpecified", "Preview", + "Production". + :type status: str or ~azure.mgmt.logic.models.StatusAnnotation + :param family: The family. + :type family: str + :param revision: The revision. + :type revision: int + """ + + _attribute_map = { + 'status': {'key': 'status', 'type': 'str'}, + 'family': {'key': 'family', 'type': 'str'}, + 'revision': {'key': 'revision', 'type': 'int'}, + } + + def __init__( + self, + *, + status: Optional[Union[str, "StatusAnnotation"]] = None, + family: Optional[str] = None, + revision: Optional[int] = None, + **kwargs + ): + super(ApiOperationAnnotation, self).__init__(**kwargs) + self.status = status + self.family = family + self.revision = revision + + +class ApiOperationListResult(msrest.serialization.Model): + """The list of managed API operations. + + :param value: The api operation definitions for an API. + :type value: list[~azure.mgmt.logic.models.ApiOperation] + :param next_link: The URL to get the next set of results. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ApiOperation]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["ApiOperation"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(ApiOperationListResult, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class ApiOperationPropertiesDefinition(msrest.serialization.Model): + """The api operations properties. + + :param summary: The summary of the api operation. + :type summary: str + :param description: The description of the api operation. + :type description: str + :param visibility: The visibility of the api operation. + :type visibility: str + :param trigger: The trigger type of api operation. + :type trigger: str + :param trigger_hint: The trigger hint for the api operation. + :type trigger_hint: str + :param pageable: Indicates whether the api operation is pageable. + :type pageable: bool + :param annotation: The annotation of api operation. + :type annotation: ~azure.mgmt.logic.models.ApiOperationAnnotation + :param api: The api reference. + :type api: ~azure.mgmt.logic.models.ApiReference + :param inputs_definition: The operation inputs definition schema. + :type inputs_definition: ~azure.mgmt.logic.models.SwaggerSchema + :param responses_definition: The operation responses definition schemas. + :type responses_definition: dict[str, ~azure.mgmt.logic.models.SwaggerSchema] + :param is_webhook: Indicates whether the API operation is webhook or not. + :type is_webhook: bool + :param is_notification: Indicates whether the API operation is notification or not. + :type is_notification: bool + """ + + _attribute_map = { + 'summary': {'key': 'summary', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'visibility': {'key': 'visibility', 'type': 'str'}, + 'trigger': {'key': 'trigger', 'type': 'str'}, + 'trigger_hint': {'key': 'triggerHint', 'type': 'str'}, + 'pageable': {'key': 'pageable', 'type': 'bool'}, + 'annotation': {'key': 'annotation', 'type': 'ApiOperationAnnotation'}, + 'api': {'key': 'api', 'type': 'ApiReference'}, + 'inputs_definition': {'key': 'inputsDefinition', 'type': 'SwaggerSchema'}, + 'responses_definition': {'key': 'responsesDefinition', 'type': '{SwaggerSchema}'}, + 'is_webhook': {'key': 'isWebhook', 'type': 'bool'}, + 'is_notification': {'key': 'isNotification', 'type': 'bool'}, + } + + def __init__( + self, + *, + summary: Optional[str] = None, + description: Optional[str] = None, + visibility: Optional[str] = None, + trigger: Optional[str] = None, + trigger_hint: Optional[str] = None, + pageable: Optional[bool] = None, + annotation: Optional["ApiOperationAnnotation"] = None, + api: Optional["ApiReference"] = None, + inputs_definition: Optional["SwaggerSchema"] = None, + responses_definition: Optional[Dict[str, "SwaggerSchema"]] = None, + is_webhook: Optional[bool] = None, + is_notification: Optional[bool] = None, + **kwargs + ): + super(ApiOperationPropertiesDefinition, self).__init__(**kwargs) + self.summary = summary + self.description = description + self.visibility = visibility + self.trigger = trigger + self.trigger_hint = trigger_hint + self.pageable = pageable + self.annotation = annotation + self.api = api + self.inputs_definition = inputs_definition + self.responses_definition = responses_definition + self.is_webhook = is_webhook + self.is_notification = is_notification + + +class ResourceReference(msrest.serialization.Model): + """The resource reference. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param id: The resource id. + :type id: str + :ivar name: Gets the resource name. + :vartype name: str + :ivar type: Gets the resource type. + :vartype type: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__( + self, + *, + id: Optional[str] = None, + **kwargs + ): + super(ResourceReference, self).__init__(**kwargs) + self.id = id + self.name = None + self.type = None + + +class ApiReference(ResourceReference): + """The Api reference. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param id: The resource id. + :type id: str + :ivar name: Gets the resource name. + :vartype name: str + :ivar type: Gets the resource type. + :vartype type: str + :param display_name: The display name of the api. + :type display_name: str + :param description: The description of the api. + :type description: str + :param icon_uri: The icon uri of the api. + :type icon_uri: str + :param swagger: The swagger of the api. + :type swagger: object + :param brand_color: The brand color of the api. + :type brand_color: str + :param category: The tier. Possible values include: "NotSpecified", "Enterprise", "Standard", + "Premium". + :type category: str or ~azure.mgmt.logic.models.ApiTier + :param integration_service_environment: The integration service environment reference. + :type integration_service_environment: ~azure.mgmt.logic.models.ResourceReference + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'icon_uri': {'key': 'iconUri', 'type': 'str'}, + 'swagger': {'key': 'swagger', 'type': 'object'}, + 'brand_color': {'key': 'brandColor', 'type': 'str'}, + 'category': {'key': 'category', 'type': 'str'}, + 'integration_service_environment': {'key': 'integrationServiceEnvironment', 'type': 'ResourceReference'}, + } + + def __init__( + self, + *, + id: Optional[str] = None, + display_name: Optional[str] = None, + description: Optional[str] = None, + icon_uri: Optional[str] = None, + swagger: Optional[object] = None, + brand_color: Optional[str] = None, + category: Optional[Union[str, "ApiTier"]] = None, + integration_service_environment: Optional["ResourceReference"] = None, + **kwargs + ): + super(ApiReference, self).__init__(id=id, **kwargs) + self.display_name = display_name + self.description = description + self.icon_uri = icon_uri + self.swagger = swagger + self.brand_color = brand_color + self.category = category + self.integration_service_environment = integration_service_environment + + +class ApiResourceBackendService(msrest.serialization.Model): + """The API backend service. + + :param service_url: The service URL. + :type service_url: str + """ + + _attribute_map = { + 'service_url': {'key': 'serviceUrl', 'type': 'str'}, + } + + def __init__( + self, + *, + service_url: Optional[str] = None, + **kwargs + ): + super(ApiResourceBackendService, self).__init__(**kwargs) + self.service_url = service_url + + +class ApiResourceDefinitions(msrest.serialization.Model): + """The Api resource definition. + + :param original_swagger_url: The original swagger url. + :type original_swagger_url: str + :param modified_swagger_url: The modified swagger url. + :type modified_swagger_url: str + """ + + _attribute_map = { + 'original_swagger_url': {'key': 'originalSwaggerUrl', 'type': 'str'}, + 'modified_swagger_url': {'key': 'modifiedSwaggerUrl', 'type': 'str'}, + } + + def __init__( + self, + *, + original_swagger_url: Optional[str] = None, + modified_swagger_url: Optional[str] = None, + **kwargs + ): + super(ApiResourceDefinitions, self).__init__(**kwargs) + self.original_swagger_url = original_swagger_url + self.modified_swagger_url = modified_swagger_url + + +class ApiResourceGeneralInformation(msrest.serialization.Model): + """The API general information. + + :param icon_url: The icon url. + :type icon_url: str + :param display_name: The display name. + :type display_name: str + :param description: The description. + :type description: str + :param terms_of_use_url: The terms of use url. + :type terms_of_use_url: str + :param release_tag: The release tag. + :type release_tag: str + :param tier: The tier. Possible values include: "NotSpecified", "Enterprise", "Standard", + "Premium". + :type tier: str or ~azure.mgmt.logic.models.ApiTier + """ + + _attribute_map = { + 'icon_url': {'key': 'iconUrl', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'terms_of_use_url': {'key': 'termsOfUseUrl', 'type': 'str'}, + 'release_tag': {'key': 'releaseTag', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + } + + def __init__( + self, + *, + icon_url: Optional[str] = None, + display_name: Optional[str] = None, + description: Optional[str] = None, + terms_of_use_url: Optional[str] = None, + release_tag: Optional[str] = None, + tier: Optional[Union[str, "ApiTier"]] = None, + **kwargs + ): + super(ApiResourceGeneralInformation, self).__init__(**kwargs) + self.icon_url = icon_url + self.display_name = display_name + self.description = description + self.terms_of_use_url = terms_of_use_url + self.release_tag = release_tag + self.tier = tier + + +class ApiResourceMetadata(msrest.serialization.Model): + """The api resource metadata. + + :param source: The source. + :type source: str + :param brand_color: The brand color. + :type brand_color: str + :param hide_key: The hide key. + :type hide_key: str + :param tags: A set of tags. The tags. + :type tags: dict[str, str] + :param api_type: The api type. Possible values include: "NotSpecified", "Rest", "Soap". + :type api_type: str or ~azure.mgmt.logic.models.ApiType + :param wsdl_service: The WSDL service. + :type wsdl_service: ~azure.mgmt.logic.models.WsdlService + :param wsdl_import_method: The WSDL import method. Possible values include: "NotSpecified", + "SoapToRest", "SoapPassThrough". + :type wsdl_import_method: str or ~azure.mgmt.logic.models.WsdlImportMethod + :param connection_type: The connection type. + :type connection_type: str + :param provisioning_state: The provisioning state. Possible values include: "NotSpecified", + "Accepted", "Running", "Ready", "Creating", "Created", "Deleting", "Deleted", "Canceled", + "Failed", "Succeeded", "Moving", "Updating", "Registering", "Registered", "Unregistering", + "Unregistered", "Completed", "Renewing", "Pending", "Waiting", "InProgress". + :type provisioning_state: str or ~azure.mgmt.logic.models.WorkflowProvisioningState + :param deployment_parameters: The connector deployment parameters metadata. + :type deployment_parameters: ~azure.mgmt.logic.models.ApiDeploymentParameterMetadataSet + """ + + _attribute_map = { + 'source': {'key': 'source', 'type': 'str'}, + 'brand_color': {'key': 'brandColor', 'type': 'str'}, + 'hide_key': {'key': 'hideKey', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'api_type': {'key': 'ApiType', 'type': 'str'}, + 'wsdl_service': {'key': 'wsdlService', 'type': 'WsdlService'}, + 'wsdl_import_method': {'key': 'wsdlImportMethod', 'type': 'str'}, + 'connection_type': {'key': 'connectionType', 'type': 'str'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'deployment_parameters': {'key': 'deploymentParameters', 'type': 'ApiDeploymentParameterMetadataSet'}, + } + + def __init__( + self, + *, + source: Optional[str] = None, + brand_color: Optional[str] = None, + hide_key: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + api_type: Optional[Union[str, "ApiType"]] = None, + wsdl_service: Optional["WsdlService"] = None, + wsdl_import_method: Optional[Union[str, "WsdlImportMethod"]] = None, + connection_type: Optional[str] = None, + provisioning_state: Optional[Union[str, "WorkflowProvisioningState"]] = None, + deployment_parameters: Optional["ApiDeploymentParameterMetadataSet"] = None, + **kwargs + ): + super(ApiResourceMetadata, self).__init__(**kwargs) + self.source = source + self.brand_color = brand_color + self.hide_key = hide_key + self.tags = tags + self.api_type = api_type + self.wsdl_service = wsdl_service + self.wsdl_import_method = wsdl_import_method + self.connection_type = connection_type + self.provisioning_state = provisioning_state + self.deployment_parameters = deployment_parameters + + +class ApiResourcePolicies(msrest.serialization.Model): + """The API resource policies. + + :param content: The API level only policies XML as embedded content. + :type content: str + :param content_link: The content link to the policies. + :type content_link: str + """ + + _attribute_map = { + 'content': {'key': 'content', 'type': 'str'}, + 'content_link': {'key': 'contentLink', 'type': 'str'}, + } + + def __init__( + self, + *, + content: Optional[str] = None, + content_link: Optional[str] = None, + **kwargs + ): + super(ApiResourcePolicies, self).__init__(**kwargs) + self.content = content + self.content_link = content_link + + +class ApiResourceProperties(msrest.serialization.Model): + """The API resource properties. + + :param name: The name. + :type name: str + :param connection_parameters: The connection parameters. + :type connection_parameters: dict[str, object] + :param metadata: The metadata. + :type metadata: ~azure.mgmt.logic.models.ApiResourceMetadata + :param runtime_urls: The runtime urls. + :type runtime_urls: list[str] + :param general_information: The api general information. + :type general_information: ~azure.mgmt.logic.models.ApiResourceGeneralInformation + :param capabilities: The capabilities. + :type capabilities: list[str] + :param backend_service: The backend service. + :type backend_service: ~azure.mgmt.logic.models.ApiResourceBackendService + :param policies: The policies for the API. + :type policies: ~azure.mgmt.logic.models.ApiResourcePolicies + :param api_definition_url: The API definition. + :type api_definition_url: str + :param api_definitions: The api definitions. + :type api_definitions: ~azure.mgmt.logic.models.ApiResourceDefinitions + :param integration_service_environment: The integration service environment reference. + :type integration_service_environment: ~azure.mgmt.logic.models.ResourceReference + :param provisioning_state: The provisioning state. Possible values include: "NotSpecified", + "Accepted", "Running", "Ready", "Creating", "Created", "Deleting", "Deleted", "Canceled", + "Failed", "Succeeded", "Moving", "Updating", "Registering", "Registered", "Unregistering", + "Unregistered", "Completed", "Renewing", "Pending", "Waiting", "InProgress". + :type provisioning_state: str or ~azure.mgmt.logic.models.WorkflowProvisioningState + :param category: The category. Possible values include: "NotSpecified", "Enterprise", + "Standard", "Premium". + :type category: str or ~azure.mgmt.logic.models.ApiTier + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'connection_parameters': {'key': 'connectionParameters', 'type': '{object}'}, + 'metadata': {'key': 'metadata', 'type': 'ApiResourceMetadata'}, + 'runtime_urls': {'key': 'runtimeUrls', 'type': '[str]'}, + 'general_information': {'key': 'generalInformation', 'type': 'ApiResourceGeneralInformation'}, + 'capabilities': {'key': 'capabilities', 'type': '[str]'}, + 'backend_service': {'key': 'backendService', 'type': 'ApiResourceBackendService'}, + 'policies': {'key': 'policies', 'type': 'ApiResourcePolicies'}, + 'api_definition_url': {'key': 'apiDefinitionUrl', 'type': 'str'}, + 'api_definitions': {'key': 'apiDefinitions', 'type': 'ApiResourceDefinitions'}, + 'integration_service_environment': {'key': 'integrationServiceEnvironment', 'type': 'ResourceReference'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'category': {'key': 'category', 'type': 'str'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + connection_parameters: Optional[Dict[str, object]] = None, + metadata: Optional["ApiResourceMetadata"] = None, + runtime_urls: Optional[List[str]] = None, + general_information: Optional["ApiResourceGeneralInformation"] = None, + capabilities: Optional[List[str]] = None, + backend_service: Optional["ApiResourceBackendService"] = None, + policies: Optional["ApiResourcePolicies"] = None, + api_definition_url: Optional[str] = None, + api_definitions: Optional["ApiResourceDefinitions"] = None, + integration_service_environment: Optional["ResourceReference"] = None, + provisioning_state: Optional[Union[str, "WorkflowProvisioningState"]] = None, + category: Optional[Union[str, "ApiTier"]] = None, + **kwargs + ): + super(ApiResourceProperties, self).__init__(**kwargs) + self.name = name + self.connection_parameters = connection_parameters + self.metadata = metadata + self.runtime_urls = runtime_urls + self.general_information = general_information + self.capabilities = capabilities + self.backend_service = backend_service + self.policies = policies + self.api_definition_url = api_definition_url + self.api_definitions = api_definitions + self.integration_service_environment = integration_service_environment + self.provisioning_state = provisioning_state + self.category = category + + +class ArtifactProperties(msrest.serialization.Model): + """The artifact properties definition. + + :param created_time: The artifact creation time. + :type created_time: ~datetime.datetime + :param changed_time: The artifact changed time. + :type changed_time: ~datetime.datetime + :param metadata: Any object. + :type metadata: object + """ + + _attribute_map = { + 'created_time': {'key': 'createdTime', 'type': 'iso-8601'}, + 'changed_time': {'key': 'changedTime', 'type': 'iso-8601'}, + 'metadata': {'key': 'metadata', 'type': 'object'}, + } + + def __init__( + self, + *, + created_time: Optional[datetime.datetime] = None, + changed_time: Optional[datetime.datetime] = None, + metadata: Optional[object] = None, + **kwargs + ): + super(ArtifactProperties, self).__init__(**kwargs) + self.created_time = created_time + self.changed_time = changed_time + self.metadata = metadata + + +class ArtifactContentPropertiesDefinition(ArtifactProperties): + """The artifact content properties definition. + + :param created_time: The artifact creation time. + :type created_time: ~datetime.datetime + :param changed_time: The artifact changed time. + :type changed_time: ~datetime.datetime + :param metadata: Any object. + :type metadata: object + :param content: Any object. + :type content: object + :param content_type: The content type. + :type content_type: str + :param content_link: The content link. + :type content_link: ~azure.mgmt.logic.models.ContentLink + """ + + _attribute_map = { + 'created_time': {'key': 'createdTime', 'type': 'iso-8601'}, + 'changed_time': {'key': 'changedTime', 'type': 'iso-8601'}, + 'metadata': {'key': 'metadata', 'type': 'object'}, + 'content': {'key': 'content', 'type': 'object'}, + 'content_type': {'key': 'contentType', 'type': 'str'}, + 'content_link': {'key': 'contentLink', 'type': 'ContentLink'}, + } + + def __init__( + self, + *, + created_time: Optional[datetime.datetime] = None, + changed_time: Optional[datetime.datetime] = None, + metadata: Optional[object] = None, + content: Optional[object] = None, + content_type: Optional[str] = None, + content_link: Optional["ContentLink"] = None, + **kwargs + ): + super(ArtifactContentPropertiesDefinition, self).__init__(created_time=created_time, changed_time=changed_time, metadata=metadata, **kwargs) + self.content = content + self.content_type = content_type + self.content_link = content_link + + +class As2AcknowledgementConnectionSettings(msrest.serialization.Model): + """The AS2 agreement acknowledgement connection settings. + + All required parameters must be populated in order to send to Azure. + + :param ignore_certificate_name_mismatch: Required. Indicates whether to ignore mismatch in + certificate name. + :type ignore_certificate_name_mismatch: bool + :param support_http_status_code_continue: Required. Indicates whether to support HTTP status + code 'CONTINUE'. + :type support_http_status_code_continue: bool + :param keep_http_connection_alive: Required. Indicates whether to keep the connection alive. + :type keep_http_connection_alive: bool + :param unfold_http_headers: Required. Indicates whether to unfold the HTTP headers. + :type unfold_http_headers: bool + """ + + _validation = { + 'ignore_certificate_name_mismatch': {'required': True}, + 'support_http_status_code_continue': {'required': True}, + 'keep_http_connection_alive': {'required': True}, + 'unfold_http_headers': {'required': True}, + } + + _attribute_map = { + 'ignore_certificate_name_mismatch': {'key': 'ignoreCertificateNameMismatch', 'type': 'bool'}, + 'support_http_status_code_continue': {'key': 'supportHttpStatusCodeContinue', 'type': 'bool'}, + 'keep_http_connection_alive': {'key': 'keepHttpConnectionAlive', 'type': 'bool'}, + 'unfold_http_headers': {'key': 'unfoldHttpHeaders', 'type': 'bool'}, + } + + def __init__( + self, + *, + ignore_certificate_name_mismatch: bool, + support_http_status_code_continue: bool, + keep_http_connection_alive: bool, + unfold_http_headers: bool, + **kwargs + ): + super(As2AcknowledgementConnectionSettings, self).__init__(**kwargs) + self.ignore_certificate_name_mismatch = ignore_certificate_name_mismatch + self.support_http_status_code_continue = support_http_status_code_continue + self.keep_http_connection_alive = keep_http_connection_alive + self.unfold_http_headers = unfold_http_headers + + +class As2AgreementContent(msrest.serialization.Model): + """The integration account AS2 agreement content. + + All required parameters must be populated in order to send to Azure. + + :param receive_agreement: Required. The AS2 one-way receive agreement. + :type receive_agreement: ~azure.mgmt.logic.models.As2OneWayAgreement + :param send_agreement: Required. The AS2 one-way send agreement. + :type send_agreement: ~azure.mgmt.logic.models.As2OneWayAgreement + """ + + _validation = { + 'receive_agreement': {'required': True}, + 'send_agreement': {'required': True}, + } + + _attribute_map = { + 'receive_agreement': {'key': 'receiveAgreement', 'type': 'As2OneWayAgreement'}, + 'send_agreement': {'key': 'sendAgreement', 'type': 'As2OneWayAgreement'}, + } + + def __init__( + self, + *, + receive_agreement: "As2OneWayAgreement", + send_agreement: "As2OneWayAgreement", + **kwargs + ): + super(As2AgreementContent, self).__init__(**kwargs) + self.receive_agreement = receive_agreement + self.send_agreement = send_agreement + + +class As2EnvelopeSettings(msrest.serialization.Model): + """The AS2 agreement envelope settings. + + All required parameters must be populated in order to send to Azure. + + :param message_content_type: Required. The message content type. + :type message_content_type: str + :param transmit_file_name_in_mime_header: Required. The value indicating whether to transmit + file name in mime header. + :type transmit_file_name_in_mime_header: bool + :param file_name_template: Required. The template for file name. + :type file_name_template: str + :param suspend_message_on_file_name_generation_error: Required. The value indicating whether to + suspend message on file name generation error. + :type suspend_message_on_file_name_generation_error: bool + :param autogenerate_file_name: Required. The value indicating whether to auto generate file + name. + :type autogenerate_file_name: bool + """ + + _validation = { + 'message_content_type': {'required': True}, + 'transmit_file_name_in_mime_header': {'required': True}, + 'file_name_template': {'required': True}, + 'suspend_message_on_file_name_generation_error': {'required': True}, + 'autogenerate_file_name': {'required': True}, + } + + _attribute_map = { + 'message_content_type': {'key': 'messageContentType', 'type': 'str'}, + 'transmit_file_name_in_mime_header': {'key': 'transmitFileNameInMimeHeader', 'type': 'bool'}, + 'file_name_template': {'key': 'fileNameTemplate', 'type': 'str'}, + 'suspend_message_on_file_name_generation_error': {'key': 'suspendMessageOnFileNameGenerationError', 'type': 'bool'}, + 'autogenerate_file_name': {'key': 'autogenerateFileName', 'type': 'bool'}, + } + + def __init__( + self, + *, + message_content_type: str, + transmit_file_name_in_mime_header: bool, + file_name_template: str, + suspend_message_on_file_name_generation_error: bool, + autogenerate_file_name: bool, + **kwargs + ): + super(As2EnvelopeSettings, self).__init__(**kwargs) + self.message_content_type = message_content_type + self.transmit_file_name_in_mime_header = transmit_file_name_in_mime_header + self.file_name_template = file_name_template + self.suspend_message_on_file_name_generation_error = suspend_message_on_file_name_generation_error + self.autogenerate_file_name = autogenerate_file_name + + +class As2ErrorSettings(msrest.serialization.Model): + """The AS2 agreement error settings. + + All required parameters must be populated in order to send to Azure. + + :param suspend_duplicate_message: Required. The value indicating whether to suspend duplicate + message. + :type suspend_duplicate_message: bool + :param resend_if_mdn_not_received: Required. The value indicating whether to resend message If + MDN is not received. + :type resend_if_mdn_not_received: bool + """ + + _validation = { + 'suspend_duplicate_message': {'required': True}, + 'resend_if_mdn_not_received': {'required': True}, + } + + _attribute_map = { + 'suspend_duplicate_message': {'key': 'suspendDuplicateMessage', 'type': 'bool'}, + 'resend_if_mdn_not_received': {'key': 'resendIfMDNNotReceived', 'type': 'bool'}, + } + + def __init__( + self, + *, + suspend_duplicate_message: bool, + resend_if_mdn_not_received: bool, + **kwargs + ): + super(As2ErrorSettings, self).__init__(**kwargs) + self.suspend_duplicate_message = suspend_duplicate_message + self.resend_if_mdn_not_received = resend_if_mdn_not_received + + +class As2MdnSettings(msrest.serialization.Model): + """The AS2 agreement mdn settings. + + All required parameters must be populated in order to send to Azure. + + :param need_mdn: Required. The value indicating whether to send or request a MDN. + :type need_mdn: bool + :param sign_mdn: Required. The value indicating whether the MDN needs to be signed or not. + :type sign_mdn: bool + :param send_mdn_asynchronously: Required. The value indicating whether to send the asynchronous + MDN. + :type send_mdn_asynchronously: bool + :param receipt_delivery_url: The receipt delivery URL. + :type receipt_delivery_url: str + :param disposition_notification_to: The disposition notification to header value. + :type disposition_notification_to: str + :param sign_outbound_mdn_if_optional: Required. The value indicating whether to sign the + outbound MDN if optional. + :type sign_outbound_mdn_if_optional: bool + :param mdn_text: The MDN text. + :type mdn_text: str + :param send_inbound_mdn_to_message_box: Required. The value indicating whether to send inbound + MDN to message box. + :type send_inbound_mdn_to_message_box: bool + :param mic_hashing_algorithm: Required. The signing or hashing algorithm. Possible values + include: "NotSpecified", "None", "MD5", "SHA1", "SHA2256", "SHA2384", "SHA2512". + :type mic_hashing_algorithm: str or ~azure.mgmt.logic.models.HashingAlgorithm + """ + + _validation = { + 'need_mdn': {'required': True}, + 'sign_mdn': {'required': True}, + 'send_mdn_asynchronously': {'required': True}, + 'sign_outbound_mdn_if_optional': {'required': True}, + 'send_inbound_mdn_to_message_box': {'required': True}, + 'mic_hashing_algorithm': {'required': True}, + } + + _attribute_map = { + 'need_mdn': {'key': 'needMDN', 'type': 'bool'}, + 'sign_mdn': {'key': 'signMDN', 'type': 'bool'}, + 'send_mdn_asynchronously': {'key': 'sendMDNAsynchronously', 'type': 'bool'}, + 'receipt_delivery_url': {'key': 'receiptDeliveryUrl', 'type': 'str'}, + 'disposition_notification_to': {'key': 'dispositionNotificationTo', 'type': 'str'}, + 'sign_outbound_mdn_if_optional': {'key': 'signOutboundMDNIfOptional', 'type': 'bool'}, + 'mdn_text': {'key': 'mdnText', 'type': 'str'}, + 'send_inbound_mdn_to_message_box': {'key': 'sendInboundMDNToMessageBox', 'type': 'bool'}, + 'mic_hashing_algorithm': {'key': 'micHashingAlgorithm', 'type': 'str'}, + } + + def __init__( + self, + *, + need_mdn: bool, + sign_mdn: bool, + send_mdn_asynchronously: bool, + sign_outbound_mdn_if_optional: bool, + send_inbound_mdn_to_message_box: bool, + mic_hashing_algorithm: Union[str, "HashingAlgorithm"], + receipt_delivery_url: Optional[str] = None, + disposition_notification_to: Optional[str] = None, + mdn_text: Optional[str] = None, + **kwargs + ): + super(As2MdnSettings, self).__init__(**kwargs) + self.need_mdn = need_mdn + self.sign_mdn = sign_mdn + self.send_mdn_asynchronously = send_mdn_asynchronously + self.receipt_delivery_url = receipt_delivery_url + self.disposition_notification_to = disposition_notification_to + self.sign_outbound_mdn_if_optional = sign_outbound_mdn_if_optional + self.mdn_text = mdn_text + self.send_inbound_mdn_to_message_box = send_inbound_mdn_to_message_box + self.mic_hashing_algorithm = mic_hashing_algorithm + + +class As2MessageConnectionSettings(msrest.serialization.Model): + """The AS2 agreement message connection settings. + + All required parameters must be populated in order to send to Azure. + + :param ignore_certificate_name_mismatch: Required. The value indicating whether to ignore + mismatch in certificate name. + :type ignore_certificate_name_mismatch: bool + :param support_http_status_code_continue: Required. The value indicating whether to support + HTTP status code 'CONTINUE'. + :type support_http_status_code_continue: bool + :param keep_http_connection_alive: Required. The value indicating whether to keep the + connection alive. + :type keep_http_connection_alive: bool + :param unfold_http_headers: Required. The value indicating whether to unfold the HTTP headers. + :type unfold_http_headers: bool + """ + + _validation = { + 'ignore_certificate_name_mismatch': {'required': True}, + 'support_http_status_code_continue': {'required': True}, + 'keep_http_connection_alive': {'required': True}, + 'unfold_http_headers': {'required': True}, + } + + _attribute_map = { + 'ignore_certificate_name_mismatch': {'key': 'ignoreCertificateNameMismatch', 'type': 'bool'}, + 'support_http_status_code_continue': {'key': 'supportHttpStatusCodeContinue', 'type': 'bool'}, + 'keep_http_connection_alive': {'key': 'keepHttpConnectionAlive', 'type': 'bool'}, + 'unfold_http_headers': {'key': 'unfoldHttpHeaders', 'type': 'bool'}, + } + + def __init__( + self, + *, + ignore_certificate_name_mismatch: bool, + support_http_status_code_continue: bool, + keep_http_connection_alive: bool, + unfold_http_headers: bool, + **kwargs + ): + super(As2MessageConnectionSettings, self).__init__(**kwargs) + self.ignore_certificate_name_mismatch = ignore_certificate_name_mismatch + self.support_http_status_code_continue = support_http_status_code_continue + self.keep_http_connection_alive = keep_http_connection_alive + self.unfold_http_headers = unfold_http_headers + + +class As2OneWayAgreement(msrest.serialization.Model): + """The integration account AS2 one-way agreement. + + All required parameters must be populated in order to send to Azure. + + :param sender_business_identity: Required. The sender business identity. + :type sender_business_identity: ~azure.mgmt.logic.models.BusinessIdentity + :param receiver_business_identity: Required. The receiver business identity. + :type receiver_business_identity: ~azure.mgmt.logic.models.BusinessIdentity + :param protocol_settings: Required. The AS2 protocol settings. + :type protocol_settings: ~azure.mgmt.logic.models.As2ProtocolSettings + """ + + _validation = { + 'sender_business_identity': {'required': True}, + 'receiver_business_identity': {'required': True}, + 'protocol_settings': {'required': True}, + } + + _attribute_map = { + 'sender_business_identity': {'key': 'senderBusinessIdentity', 'type': 'BusinessIdentity'}, + 'receiver_business_identity': {'key': 'receiverBusinessIdentity', 'type': 'BusinessIdentity'}, + 'protocol_settings': {'key': 'protocolSettings', 'type': 'As2ProtocolSettings'}, + } + + def __init__( + self, + *, + sender_business_identity: "BusinessIdentity", + receiver_business_identity: "BusinessIdentity", + protocol_settings: "As2ProtocolSettings", + **kwargs + ): + super(As2OneWayAgreement, self).__init__(**kwargs) + self.sender_business_identity = sender_business_identity + self.receiver_business_identity = receiver_business_identity + self.protocol_settings = protocol_settings + + +class As2ProtocolSettings(msrest.serialization.Model): + """The AS2 agreement protocol settings. + + All required parameters must be populated in order to send to Azure. + + :param message_connection_settings: Required. The message connection settings. + :type message_connection_settings: ~azure.mgmt.logic.models.As2MessageConnectionSettings + :param acknowledgement_connection_settings: Required. The acknowledgement connection settings. + :type acknowledgement_connection_settings: + ~azure.mgmt.logic.models.As2AcknowledgementConnectionSettings + :param mdn_settings: Required. The MDN settings. + :type mdn_settings: ~azure.mgmt.logic.models.As2MdnSettings + :param security_settings: Required. The security settings. + :type security_settings: ~azure.mgmt.logic.models.As2SecuritySettings + :param validation_settings: Required. The validation settings. + :type validation_settings: ~azure.mgmt.logic.models.As2ValidationSettings + :param envelope_settings: Required. The envelope settings. + :type envelope_settings: ~azure.mgmt.logic.models.As2EnvelopeSettings + :param error_settings: Required. The error settings. + :type error_settings: ~azure.mgmt.logic.models.As2ErrorSettings + """ + + _validation = { + 'message_connection_settings': {'required': True}, + 'acknowledgement_connection_settings': {'required': True}, + 'mdn_settings': {'required': True}, + 'security_settings': {'required': True}, + 'validation_settings': {'required': True}, + 'envelope_settings': {'required': True}, + 'error_settings': {'required': True}, + } + + _attribute_map = { + 'message_connection_settings': {'key': 'messageConnectionSettings', 'type': 'As2MessageConnectionSettings'}, + 'acknowledgement_connection_settings': {'key': 'acknowledgementConnectionSettings', 'type': 'As2AcknowledgementConnectionSettings'}, + 'mdn_settings': {'key': 'mdnSettings', 'type': 'As2MdnSettings'}, + 'security_settings': {'key': 'securitySettings', 'type': 'As2SecuritySettings'}, + 'validation_settings': {'key': 'validationSettings', 'type': 'As2ValidationSettings'}, + 'envelope_settings': {'key': 'envelopeSettings', 'type': 'As2EnvelopeSettings'}, + 'error_settings': {'key': 'errorSettings', 'type': 'As2ErrorSettings'}, + } + + def __init__( + self, + *, + message_connection_settings: "As2MessageConnectionSettings", + acknowledgement_connection_settings: "As2AcknowledgementConnectionSettings", + mdn_settings: "As2MdnSettings", + security_settings: "As2SecuritySettings", + validation_settings: "As2ValidationSettings", + envelope_settings: "As2EnvelopeSettings", + error_settings: "As2ErrorSettings", + **kwargs + ): + super(As2ProtocolSettings, self).__init__(**kwargs) + self.message_connection_settings = message_connection_settings + self.acknowledgement_connection_settings = acknowledgement_connection_settings + self.mdn_settings = mdn_settings + self.security_settings = security_settings + self.validation_settings = validation_settings + self.envelope_settings = envelope_settings + self.error_settings = error_settings + + +class As2SecuritySettings(msrest.serialization.Model): + """The AS2 agreement security settings. + + All required parameters must be populated in order to send to Azure. + + :param override_group_signing_certificate: Required. The value indicating whether to send or + request a MDN. + :type override_group_signing_certificate: bool + :param signing_certificate_name: The name of the signing certificate. + :type signing_certificate_name: str + :param encryption_certificate_name: The name of the encryption certificate. + :type encryption_certificate_name: str + :param enable_nrr_for_inbound_encoded_messages: Required. The value indicating whether to + enable NRR for inbound encoded messages. + :type enable_nrr_for_inbound_encoded_messages: bool + :param enable_nrr_for_inbound_decoded_messages: Required. The value indicating whether to + enable NRR for inbound decoded messages. + :type enable_nrr_for_inbound_decoded_messages: bool + :param enable_nrr_for_outbound_mdn: Required. The value indicating whether to enable NRR for + outbound MDN. + :type enable_nrr_for_outbound_mdn: bool + :param enable_nrr_for_outbound_encoded_messages: Required. The value indicating whether to + enable NRR for outbound encoded messages. + :type enable_nrr_for_outbound_encoded_messages: bool + :param enable_nrr_for_outbound_decoded_messages: Required. The value indicating whether to + enable NRR for outbound decoded messages. + :type enable_nrr_for_outbound_decoded_messages: bool + :param enable_nrr_for_inbound_mdn: Required. The value indicating whether to enable NRR for + inbound MDN. + :type enable_nrr_for_inbound_mdn: bool + :param sha2_algorithm_format: The Sha2 algorithm format. Valid values are Sha2, ShaHashSize, + ShaHyphenHashSize, Sha2UnderscoreHashSize. + :type sha2_algorithm_format: str + """ + + _validation = { + 'override_group_signing_certificate': {'required': True}, + 'enable_nrr_for_inbound_encoded_messages': {'required': True}, + 'enable_nrr_for_inbound_decoded_messages': {'required': True}, + 'enable_nrr_for_outbound_mdn': {'required': True}, + 'enable_nrr_for_outbound_encoded_messages': {'required': True}, + 'enable_nrr_for_outbound_decoded_messages': {'required': True}, + 'enable_nrr_for_inbound_mdn': {'required': True}, + } + + _attribute_map = { + 'override_group_signing_certificate': {'key': 'overrideGroupSigningCertificate', 'type': 'bool'}, + 'signing_certificate_name': {'key': 'signingCertificateName', 'type': 'str'}, + 'encryption_certificate_name': {'key': 'encryptionCertificateName', 'type': 'str'}, + 'enable_nrr_for_inbound_encoded_messages': {'key': 'enableNRRForInboundEncodedMessages', 'type': 'bool'}, + 'enable_nrr_for_inbound_decoded_messages': {'key': 'enableNRRForInboundDecodedMessages', 'type': 'bool'}, + 'enable_nrr_for_outbound_mdn': {'key': 'enableNRRForOutboundMDN', 'type': 'bool'}, + 'enable_nrr_for_outbound_encoded_messages': {'key': 'enableNRRForOutboundEncodedMessages', 'type': 'bool'}, + 'enable_nrr_for_outbound_decoded_messages': {'key': 'enableNRRForOutboundDecodedMessages', 'type': 'bool'}, + 'enable_nrr_for_inbound_mdn': {'key': 'enableNRRForInboundMDN', 'type': 'bool'}, + 'sha2_algorithm_format': {'key': 'sha2AlgorithmFormat', 'type': 'str'}, + } + + def __init__( + self, + *, + override_group_signing_certificate: bool, + enable_nrr_for_inbound_encoded_messages: bool, + enable_nrr_for_inbound_decoded_messages: bool, + enable_nrr_for_outbound_mdn: bool, + enable_nrr_for_outbound_encoded_messages: bool, + enable_nrr_for_outbound_decoded_messages: bool, + enable_nrr_for_inbound_mdn: bool, + signing_certificate_name: Optional[str] = None, + encryption_certificate_name: Optional[str] = None, + sha2_algorithm_format: Optional[str] = None, + **kwargs + ): + super(As2SecuritySettings, self).__init__(**kwargs) + self.override_group_signing_certificate = override_group_signing_certificate + self.signing_certificate_name = signing_certificate_name + self.encryption_certificate_name = encryption_certificate_name + self.enable_nrr_for_inbound_encoded_messages = enable_nrr_for_inbound_encoded_messages + self.enable_nrr_for_inbound_decoded_messages = enable_nrr_for_inbound_decoded_messages + self.enable_nrr_for_outbound_mdn = enable_nrr_for_outbound_mdn + self.enable_nrr_for_outbound_encoded_messages = enable_nrr_for_outbound_encoded_messages + self.enable_nrr_for_outbound_decoded_messages = enable_nrr_for_outbound_decoded_messages + self.enable_nrr_for_inbound_mdn = enable_nrr_for_inbound_mdn + self.sha2_algorithm_format = sha2_algorithm_format + + +class As2ValidationSettings(msrest.serialization.Model): + """The AS2 agreement validation settings. + + All required parameters must be populated in order to send to Azure. + + :param override_message_properties: Required. The value indicating whether to override incoming + message properties with those in agreement. + :type override_message_properties: bool + :param encrypt_message: Required. The value indicating whether the message has to be encrypted. + :type encrypt_message: bool + :param sign_message: Required. The value indicating whether the message has to be signed. + :type sign_message: bool + :param compress_message: Required. The value indicating whether the message has to be + compressed. + :type compress_message: bool + :param check_duplicate_message: Required. The value indicating whether to check for duplicate + message. + :type check_duplicate_message: bool + :param interchange_duplicates_validity_days: Required. The number of days to look back for + duplicate interchange. + :type interchange_duplicates_validity_days: int + :param check_certificate_revocation_list_on_send: Required. The value indicating whether to + check for certificate revocation list on send. + :type check_certificate_revocation_list_on_send: bool + :param check_certificate_revocation_list_on_receive: Required. The value indicating whether to + check for certificate revocation list on receive. + :type check_certificate_revocation_list_on_receive: bool + :param encryption_algorithm: Required. The encryption algorithm. Possible values include: + "NotSpecified", "None", "DES3", "RC2", "AES128", "AES192", "AES256". + :type encryption_algorithm: str or ~azure.mgmt.logic.models.EncryptionAlgorithm + :param signing_algorithm: The signing algorithm. Possible values include: "NotSpecified", + "Default", "SHA1", "SHA2256", "SHA2384", "SHA2512". + :type signing_algorithm: str or ~azure.mgmt.logic.models.SigningAlgorithm + """ + + _validation = { + 'override_message_properties': {'required': True}, + 'encrypt_message': {'required': True}, + 'sign_message': {'required': True}, + 'compress_message': {'required': True}, + 'check_duplicate_message': {'required': True}, + 'interchange_duplicates_validity_days': {'required': True}, + 'check_certificate_revocation_list_on_send': {'required': True}, + 'check_certificate_revocation_list_on_receive': {'required': True}, + 'encryption_algorithm': {'required': True}, + } + + _attribute_map = { + 'override_message_properties': {'key': 'overrideMessageProperties', 'type': 'bool'}, + 'encrypt_message': {'key': 'encryptMessage', 'type': 'bool'}, + 'sign_message': {'key': 'signMessage', 'type': 'bool'}, + 'compress_message': {'key': 'compressMessage', 'type': 'bool'}, + 'check_duplicate_message': {'key': 'checkDuplicateMessage', 'type': 'bool'}, + 'interchange_duplicates_validity_days': {'key': 'interchangeDuplicatesValidityDays', 'type': 'int'}, + 'check_certificate_revocation_list_on_send': {'key': 'checkCertificateRevocationListOnSend', 'type': 'bool'}, + 'check_certificate_revocation_list_on_receive': {'key': 'checkCertificateRevocationListOnReceive', 'type': 'bool'}, + 'encryption_algorithm': {'key': 'encryptionAlgorithm', 'type': 'str'}, + 'signing_algorithm': {'key': 'signingAlgorithm', 'type': 'str'}, + } + + def __init__( + self, + *, + override_message_properties: bool, + encrypt_message: bool, + sign_message: bool, + compress_message: bool, + check_duplicate_message: bool, + interchange_duplicates_validity_days: int, + check_certificate_revocation_list_on_send: bool, + check_certificate_revocation_list_on_receive: bool, + encryption_algorithm: Union[str, "EncryptionAlgorithm"], + signing_algorithm: Optional[Union[str, "SigningAlgorithm"]] = None, + **kwargs + ): + super(As2ValidationSettings, self).__init__(**kwargs) + self.override_message_properties = override_message_properties + self.encrypt_message = encrypt_message + self.sign_message = sign_message + self.compress_message = compress_message + self.check_duplicate_message = check_duplicate_message + self.interchange_duplicates_validity_days = interchange_duplicates_validity_days + self.check_certificate_revocation_list_on_send = check_certificate_revocation_list_on_send + self.check_certificate_revocation_list_on_receive = check_certificate_revocation_list_on_receive + self.encryption_algorithm = encryption_algorithm + self.signing_algorithm = signing_algorithm + + +class AssemblyCollection(msrest.serialization.Model): + """A collection of assembly definitions. + + :param value: + :type value: list[~azure.mgmt.logic.models.AssemblyDefinition] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[AssemblyDefinition]'}, + } + + def __init__( + self, + *, + value: Optional[List["AssemblyDefinition"]] = None, + **kwargs + ): + super(AssemblyCollection, self).__init__(**kwargs) + self.value = value + + +class AssemblyDefinition(Resource): + """The assembly definition. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The resource id. + :vartype id: str + :ivar name: Gets the resource name. + :vartype name: str + :ivar type: Gets the resource type. + :vartype type: str + :param location: The resource location. + :type location: str + :param tags: A set of tags. The resource tags. + :type tags: dict[str, str] + :param properties: Required. The assembly properties. + :type properties: ~azure.mgmt.logic.models.AssemblyProperties + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'properties': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'properties': {'key': 'properties', 'type': 'AssemblyProperties'}, + } + + def __init__( + self, + *, + properties: "AssemblyProperties", + location: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + **kwargs + ): + super(AssemblyDefinition, self).__init__(location=location, tags=tags, **kwargs) + self.properties = properties + + +class AssemblyProperties(ArtifactContentPropertiesDefinition): + """The assembly properties definition. + + All required parameters must be populated in order to send to Azure. + + :param created_time: The artifact creation time. + :type created_time: ~datetime.datetime + :param changed_time: The artifact changed time. + :type changed_time: ~datetime.datetime + :param metadata: Any object. + :type metadata: object + :param content: Any object. + :type content: object + :param content_type: The content type. + :type content_type: str + :param content_link: The content link. + :type content_link: ~azure.mgmt.logic.models.ContentLink + :param assembly_name: Required. The assembly name. + :type assembly_name: str + :param assembly_version: The assembly version. + :type assembly_version: str + :param assembly_culture: The assembly culture. + :type assembly_culture: str + :param assembly_public_key_token: The assembly public key token. + :type assembly_public_key_token: str + """ + + _validation = { + 'assembly_name': {'required': True}, + } + + _attribute_map = { + 'created_time': {'key': 'createdTime', 'type': 'iso-8601'}, + 'changed_time': {'key': 'changedTime', 'type': 'iso-8601'}, + 'metadata': {'key': 'metadata', 'type': 'object'}, + 'content': {'key': 'content', 'type': 'object'}, + 'content_type': {'key': 'contentType', 'type': 'str'}, + 'content_link': {'key': 'contentLink', 'type': 'ContentLink'}, + 'assembly_name': {'key': 'assemblyName', 'type': 'str'}, + 'assembly_version': {'key': 'assemblyVersion', 'type': 'str'}, + 'assembly_culture': {'key': 'assemblyCulture', 'type': 'str'}, + 'assembly_public_key_token': {'key': 'assemblyPublicKeyToken', 'type': 'str'}, + } + + def __init__( + self, + *, + assembly_name: str, + created_time: Optional[datetime.datetime] = None, + changed_time: Optional[datetime.datetime] = None, + metadata: Optional[object] = None, + content: Optional[object] = None, + content_type: Optional[str] = None, + content_link: Optional["ContentLink"] = None, + assembly_version: Optional[str] = None, + assembly_culture: Optional[str] = None, + assembly_public_key_token: Optional[str] = None, + **kwargs + ): + super(AssemblyProperties, self).__init__(created_time=created_time, changed_time=changed_time, metadata=metadata, content=content, content_type=content_type, content_link=content_link, **kwargs) + self.assembly_name = assembly_name + self.assembly_version = assembly_version + self.assembly_culture = assembly_culture + self.assembly_public_key_token = assembly_public_key_token + + +class ErrorInfo(msrest.serialization.Model): + """The error info. + + All required parameters must be populated in order to send to Azure. + + :param code: Required. The error code. + :type code: str + """ + + _validation = { + 'code': {'required': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + } + + def __init__( + self, + *, + code: str, + **kwargs + ): + super(ErrorInfo, self).__init__(**kwargs) + self.code = code + + +class AzureResourceErrorInfo(ErrorInfo): + """The azure resource error info. + + All required parameters must be populated in order to send to Azure. + + :param code: Required. The error code. + :type code: str + :param message: Required. The error message. + :type message: str + :param details: The error details. + :type details: list[~azure.mgmt.logic.models.AzureResourceErrorInfo] + """ + + _validation = { + 'code': {'required': True}, + 'message': {'required': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[AzureResourceErrorInfo]'}, + } + + def __init__( + self, + *, + code: str, + message: str, + details: Optional[List["AzureResourceErrorInfo"]] = None, + **kwargs + ): + super(AzureResourceErrorInfo, self).__init__(code=code, **kwargs) + self.message = message + self.details = details + + +class B2BPartnerContent(msrest.serialization.Model): + """The B2B partner content. + + :param business_identities: The list of partner business identities. + :type business_identities: list[~azure.mgmt.logic.models.BusinessIdentity] + """ + + _attribute_map = { + 'business_identities': {'key': 'businessIdentities', 'type': '[BusinessIdentity]'}, + } + + def __init__( + self, + *, + business_identities: Optional[List["BusinessIdentity"]] = None, + **kwargs + ): + super(B2BPartnerContent, self).__init__(**kwargs) + self.business_identities = business_identities + + +class BatchConfiguration(Resource): + """The batch configuration resource definition. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The resource id. + :vartype id: str + :ivar name: Gets the resource name. + :vartype name: str + :ivar type: Gets the resource type. + :vartype type: str + :param location: The resource location. + :type location: str + :param tags: A set of tags. The resource tags. + :type tags: dict[str, str] + :param properties: Required. The batch configuration properties. + :type properties: ~azure.mgmt.logic.models.BatchConfigurationProperties + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'properties': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'properties': {'key': 'properties', 'type': 'BatchConfigurationProperties'}, + } + + def __init__( + self, + *, + properties: "BatchConfigurationProperties", + location: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + **kwargs + ): + super(BatchConfiguration, self).__init__(location=location, tags=tags, **kwargs) + self.properties = properties + + +class BatchConfigurationCollection(msrest.serialization.Model): + """A collection of batch configurations. + + :param value: + :type value: list[~azure.mgmt.logic.models.BatchConfiguration] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[BatchConfiguration]'}, + } + + def __init__( + self, + *, + value: Optional[List["BatchConfiguration"]] = None, + **kwargs + ): + super(BatchConfigurationCollection, self).__init__(**kwargs) + self.value = value + + +class BatchConfigurationProperties(ArtifactProperties): + """The batch configuration properties definition. + + All required parameters must be populated in order to send to Azure. + + :param metadata: Any object. + :type metadata: object + :param batch_group_name: Required. The name of the batch group. + :type batch_group_name: str + :param release_criteria: Required. The batch release criteria. + :type release_criteria: ~azure.mgmt.logic.models.BatchReleaseCriteria + :param created_time: The created time. + :type created_time: ~datetime.datetime + :param changed_time: The changed time. + :type changed_time: ~datetime.datetime + """ + + _validation = { + 'batch_group_name': {'required': True}, + 'release_criteria': {'required': True}, + } + + _attribute_map = { + 'metadata': {'key': 'metadata', 'type': 'object'}, + 'batch_group_name': {'key': 'batchGroupName', 'type': 'str'}, + 'release_criteria': {'key': 'releaseCriteria', 'type': 'BatchReleaseCriteria'}, + 'created_time': {'key': 'createdTime', 'type': 'iso-8601'}, + 'changed_time': {'key': 'changedTime', 'type': 'iso-8601'}, + } + + def __init__( + self, + *, + batch_group_name: str, + release_criteria: "BatchReleaseCriteria", + metadata: Optional[object] = None, + created_time: Optional[datetime.datetime] = None, + changed_time: Optional[datetime.datetime] = None, + **kwargs + ): + super(BatchConfigurationProperties, self).__init__(metadata=metadata, **kwargs) + self.batch_group_name = batch_group_name + self.release_criteria = release_criteria + self.created_time = created_time + self.changed_time = changed_time + + +class BatchReleaseCriteria(msrest.serialization.Model): + """The batch release criteria. + + :param message_count: The message count. + :type message_count: int + :param batch_size: The batch size in bytes. + :type batch_size: int + :param recurrence: The recurrence. + :type recurrence: ~azure.mgmt.logic.models.WorkflowTriggerRecurrence + """ + + _attribute_map = { + 'message_count': {'key': 'messageCount', 'type': 'int'}, + 'batch_size': {'key': 'batchSize', 'type': 'int'}, + 'recurrence': {'key': 'recurrence', 'type': 'WorkflowTriggerRecurrence'}, + } + + def __init__( + self, + *, + message_count: Optional[int] = None, + batch_size: Optional[int] = None, + recurrence: Optional["WorkflowTriggerRecurrence"] = None, + **kwargs + ): + super(BatchReleaseCriteria, self).__init__(**kwargs) + self.message_count = message_count + self.batch_size = batch_size + self.recurrence = recurrence + + +class BusinessIdentity(msrest.serialization.Model): + """The integration account partner's business identity. + + All required parameters must be populated in order to send to Azure. + + :param qualifier: Required. The business identity qualifier e.g. as2identity, ZZ, ZZZ, 31, 32. + :type qualifier: str + :param value: Required. The user defined business identity value. + :type value: str + """ + + _validation = { + 'qualifier': {'required': True}, + 'value': {'required': True}, + } + + _attribute_map = { + 'qualifier': {'key': 'qualifier', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__( + self, + *, + qualifier: str, + value: str, + **kwargs + ): + super(BusinessIdentity, self).__init__(**kwargs) + self.qualifier = qualifier + self.value = value + + +class CallbackUrl(msrest.serialization.Model): + """The callback url. + + :param value: The URL value. + :type value: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[str] = None, + **kwargs + ): + super(CallbackUrl, self).__init__(**kwargs) + self.value = value + + +class ContentHash(msrest.serialization.Model): + """The content hash. + + :param algorithm: The algorithm of the content hash. + :type algorithm: str + :param value: The value of the content hash. + :type value: str + """ + + _attribute_map = { + 'algorithm': {'key': 'algorithm', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__( + self, + *, + algorithm: Optional[str] = None, + value: Optional[str] = None, + **kwargs + ): + super(ContentHash, self).__init__(**kwargs) + self.algorithm = algorithm + self.value = value + + +class ContentLink(msrest.serialization.Model): + """The content link. + + :param uri: The content link URI. + :type uri: str + :param content_version: The content version. + :type content_version: str + :param content_size: The content size. + :type content_size: long + :param content_hash: The content hash. + :type content_hash: ~azure.mgmt.logic.models.ContentHash + :param metadata: The metadata. + :type metadata: object + """ + + _attribute_map = { + 'uri': {'key': 'uri', 'type': 'str'}, + 'content_version': {'key': 'contentVersion', 'type': 'str'}, + 'content_size': {'key': 'contentSize', 'type': 'long'}, + 'content_hash': {'key': 'contentHash', 'type': 'ContentHash'}, + 'metadata': {'key': 'metadata', 'type': 'object'}, + } + + def __init__( + self, + *, + uri: Optional[str] = None, + content_version: Optional[str] = None, + content_size: Optional[int] = None, + content_hash: Optional["ContentHash"] = None, + metadata: Optional[object] = None, + **kwargs + ): + super(ContentLink, self).__init__(**kwargs) + self.uri = uri + self.content_version = content_version + self.content_size = content_size + self.content_hash = content_hash + self.metadata = metadata + + +class Correlation(msrest.serialization.Model): + """The correlation property. + + :param client_tracking_id: The client tracking id. + :type client_tracking_id: str + """ + + _attribute_map = { + 'client_tracking_id': {'key': 'clientTrackingId', 'type': 'str'}, + } + + def __init__( + self, + *, + client_tracking_id: Optional[str] = None, + **kwargs + ): + super(Correlation, self).__init__(**kwargs) + self.client_tracking_id = client_tracking_id + + +class EdifactAcknowledgementSettings(msrest.serialization.Model): + """The Edifact agreement acknowledgement settings. + + All required parameters must be populated in order to send to Azure. + + :param need_technical_acknowledgement: Required. The value indicating whether technical + acknowledgement is needed. + :type need_technical_acknowledgement: bool + :param batch_technical_acknowledgements: Required. The value indicating whether to batch the + technical acknowledgements. + :type batch_technical_acknowledgements: bool + :param need_functional_acknowledgement: Required. The value indicating whether functional + acknowledgement is needed. + :type need_functional_acknowledgement: bool + :param batch_functional_acknowledgements: Required. The value indicating whether to batch + functional acknowledgements. + :type batch_functional_acknowledgements: bool + :param need_loop_for_valid_messages: Required. The value indicating whether a loop is needed + for valid messages. + :type need_loop_for_valid_messages: bool + :param send_synchronous_acknowledgement: Required. The value indicating whether to send + synchronous acknowledgement. + :type send_synchronous_acknowledgement: bool + :param acknowledgement_control_number_prefix: The acknowledgement control number prefix. + :type acknowledgement_control_number_prefix: str + :param acknowledgement_control_number_suffix: The acknowledgement control number suffix. + :type acknowledgement_control_number_suffix: str + :param acknowledgement_control_number_lower_bound: Required. The acknowledgement control number + lower bound. + :type acknowledgement_control_number_lower_bound: int + :param acknowledgement_control_number_upper_bound: Required. The acknowledgement control number + upper bound. + :type acknowledgement_control_number_upper_bound: int + :param rollover_acknowledgement_control_number: Required. The value indicating whether to + rollover acknowledgement control number. + :type rollover_acknowledgement_control_number: bool + """ + + _validation = { + 'need_technical_acknowledgement': {'required': True}, + 'batch_technical_acknowledgements': {'required': True}, + 'need_functional_acknowledgement': {'required': True}, + 'batch_functional_acknowledgements': {'required': True}, + 'need_loop_for_valid_messages': {'required': True}, + 'send_synchronous_acknowledgement': {'required': True}, + 'acknowledgement_control_number_lower_bound': {'required': True}, + 'acknowledgement_control_number_upper_bound': {'required': True}, + 'rollover_acknowledgement_control_number': {'required': True}, + } + + _attribute_map = { + 'need_technical_acknowledgement': {'key': 'needTechnicalAcknowledgement', 'type': 'bool'}, + 'batch_technical_acknowledgements': {'key': 'batchTechnicalAcknowledgements', 'type': 'bool'}, + 'need_functional_acknowledgement': {'key': 'needFunctionalAcknowledgement', 'type': 'bool'}, + 'batch_functional_acknowledgements': {'key': 'batchFunctionalAcknowledgements', 'type': 'bool'}, + 'need_loop_for_valid_messages': {'key': 'needLoopForValidMessages', 'type': 'bool'}, + 'send_synchronous_acknowledgement': {'key': 'sendSynchronousAcknowledgement', 'type': 'bool'}, + 'acknowledgement_control_number_prefix': {'key': 'acknowledgementControlNumberPrefix', 'type': 'str'}, + 'acknowledgement_control_number_suffix': {'key': 'acknowledgementControlNumberSuffix', 'type': 'str'}, + 'acknowledgement_control_number_lower_bound': {'key': 'acknowledgementControlNumberLowerBound', 'type': 'int'}, + 'acknowledgement_control_number_upper_bound': {'key': 'acknowledgementControlNumberUpperBound', 'type': 'int'}, + 'rollover_acknowledgement_control_number': {'key': 'rolloverAcknowledgementControlNumber', 'type': 'bool'}, + } + + def __init__( + self, + *, + need_technical_acknowledgement: bool, + batch_technical_acknowledgements: bool, + need_functional_acknowledgement: bool, + batch_functional_acknowledgements: bool, + need_loop_for_valid_messages: bool, + send_synchronous_acknowledgement: bool, + acknowledgement_control_number_lower_bound: int, + acknowledgement_control_number_upper_bound: int, + rollover_acknowledgement_control_number: bool, + acknowledgement_control_number_prefix: Optional[str] = None, + acknowledgement_control_number_suffix: Optional[str] = None, + **kwargs + ): + super(EdifactAcknowledgementSettings, self).__init__(**kwargs) + self.need_technical_acknowledgement = need_technical_acknowledgement + self.batch_technical_acknowledgements = batch_technical_acknowledgements + self.need_functional_acknowledgement = need_functional_acknowledgement + self.batch_functional_acknowledgements = batch_functional_acknowledgements + self.need_loop_for_valid_messages = need_loop_for_valid_messages + self.send_synchronous_acknowledgement = send_synchronous_acknowledgement + self.acknowledgement_control_number_prefix = acknowledgement_control_number_prefix + self.acknowledgement_control_number_suffix = acknowledgement_control_number_suffix + self.acknowledgement_control_number_lower_bound = acknowledgement_control_number_lower_bound + self.acknowledgement_control_number_upper_bound = acknowledgement_control_number_upper_bound + self.rollover_acknowledgement_control_number = rollover_acknowledgement_control_number + + +class EdifactAgreementContent(msrest.serialization.Model): + """The Edifact agreement content. + + All required parameters must be populated in order to send to Azure. + + :param receive_agreement: Required. The EDIFACT one-way receive agreement. + :type receive_agreement: ~azure.mgmt.logic.models.EdifactOneWayAgreement + :param send_agreement: Required. The EDIFACT one-way send agreement. + :type send_agreement: ~azure.mgmt.logic.models.EdifactOneWayAgreement + """ + + _validation = { + 'receive_agreement': {'required': True}, + 'send_agreement': {'required': True}, + } + + _attribute_map = { + 'receive_agreement': {'key': 'receiveAgreement', 'type': 'EdifactOneWayAgreement'}, + 'send_agreement': {'key': 'sendAgreement', 'type': 'EdifactOneWayAgreement'}, + } + + def __init__( + self, + *, + receive_agreement: "EdifactOneWayAgreement", + send_agreement: "EdifactOneWayAgreement", + **kwargs + ): + super(EdifactAgreementContent, self).__init__(**kwargs) + self.receive_agreement = receive_agreement + self.send_agreement = send_agreement + + +class EdifactDelimiterOverride(msrest.serialization.Model): + """The Edifact delimiter override settings. + + All required parameters must be populated in order to send to Azure. + + :param message_id: The message id. + :type message_id: str + :param message_version: The message version. + :type message_version: str + :param message_release: The message release. + :type message_release: str + :param data_element_separator: Required. The data element separator. + :type data_element_separator: int + :param component_separator: Required. The component separator. + :type component_separator: int + :param segment_terminator: Required. The segment terminator. + :type segment_terminator: int + :param repetition_separator: Required. The repetition separator. + :type repetition_separator: int + :param segment_terminator_suffix: Required. The segment terminator suffix. Possible values + include: "NotSpecified", "None", "CR", "LF", "CRLF". + :type segment_terminator_suffix: str or ~azure.mgmt.logic.models.SegmentTerminatorSuffix + :param decimal_point_indicator: Required. The decimal point indicator. Possible values include: + "NotSpecified", "Comma", "Decimal". + :type decimal_point_indicator: str or ~azure.mgmt.logic.models.EdifactDecimalIndicator + :param release_indicator: Required. The release indicator. + :type release_indicator: int + :param message_association_assigned_code: The message association assigned code. + :type message_association_assigned_code: str + :param target_namespace: The target namespace on which this delimiter settings has to be + applied. + :type target_namespace: str + """ + + _validation = { + 'data_element_separator': {'required': True}, + 'component_separator': {'required': True}, + 'segment_terminator': {'required': True}, + 'repetition_separator': {'required': True}, + 'segment_terminator_suffix': {'required': True}, + 'decimal_point_indicator': {'required': True}, + 'release_indicator': {'required': True}, + } + + _attribute_map = { + 'message_id': {'key': 'messageId', 'type': 'str'}, + 'message_version': {'key': 'messageVersion', 'type': 'str'}, + 'message_release': {'key': 'messageRelease', 'type': 'str'}, + 'data_element_separator': {'key': 'dataElementSeparator', 'type': 'int'}, + 'component_separator': {'key': 'componentSeparator', 'type': 'int'}, + 'segment_terminator': {'key': 'segmentTerminator', 'type': 'int'}, + 'repetition_separator': {'key': 'repetitionSeparator', 'type': 'int'}, + 'segment_terminator_suffix': {'key': 'segmentTerminatorSuffix', 'type': 'str'}, + 'decimal_point_indicator': {'key': 'decimalPointIndicator', 'type': 'str'}, + 'release_indicator': {'key': 'releaseIndicator', 'type': 'int'}, + 'message_association_assigned_code': {'key': 'messageAssociationAssignedCode', 'type': 'str'}, + 'target_namespace': {'key': 'targetNamespace', 'type': 'str'}, + } + + def __init__( + self, + *, + data_element_separator: int, + component_separator: int, + segment_terminator: int, + repetition_separator: int, + segment_terminator_suffix: Union[str, "SegmentTerminatorSuffix"], + decimal_point_indicator: Union[str, "EdifactDecimalIndicator"], + release_indicator: int, + message_id: Optional[str] = None, + message_version: Optional[str] = None, + message_release: Optional[str] = None, + message_association_assigned_code: Optional[str] = None, + target_namespace: Optional[str] = None, + **kwargs + ): + super(EdifactDelimiterOverride, self).__init__(**kwargs) + self.message_id = message_id + self.message_version = message_version + self.message_release = message_release + self.data_element_separator = data_element_separator + self.component_separator = component_separator + self.segment_terminator = segment_terminator + self.repetition_separator = repetition_separator + self.segment_terminator_suffix = segment_terminator_suffix + self.decimal_point_indicator = decimal_point_indicator + self.release_indicator = release_indicator + self.message_association_assigned_code = message_association_assigned_code + self.target_namespace = target_namespace + + +class EdifactEnvelopeOverride(msrest.serialization.Model): + """The Edifact envelope override settings. + + :param message_id: The message id on which this envelope settings has to be applied. + :type message_id: str + :param message_version: The message version on which this envelope settings has to be applied. + :type message_version: str + :param message_release: The message release version on which this envelope settings has to be + applied. + :type message_release: str + :param message_association_assigned_code: The message association assigned code. + :type message_association_assigned_code: str + :param target_namespace: The target namespace on which this envelope settings has to be + applied. + :type target_namespace: str + :param functional_group_id: The functional group id. + :type functional_group_id: str + :param sender_application_qualifier: The sender application qualifier. + :type sender_application_qualifier: str + :param sender_application_id: The sender application id. + :type sender_application_id: str + :param receiver_application_qualifier: The receiver application qualifier. + :type receiver_application_qualifier: str + :param receiver_application_id: The receiver application id. + :type receiver_application_id: str + :param controlling_agency_code: The controlling agency code. + :type controlling_agency_code: str + :param group_header_message_version: The group header message version. + :type group_header_message_version: str + :param group_header_message_release: The group header message release. + :type group_header_message_release: str + :param association_assigned_code: The association assigned code. + :type association_assigned_code: str + :param application_password: The application password. + :type application_password: str + """ + + _attribute_map = { + 'message_id': {'key': 'messageId', 'type': 'str'}, + 'message_version': {'key': 'messageVersion', 'type': 'str'}, + 'message_release': {'key': 'messageRelease', 'type': 'str'}, + 'message_association_assigned_code': {'key': 'messageAssociationAssignedCode', 'type': 'str'}, + 'target_namespace': {'key': 'targetNamespace', 'type': 'str'}, + 'functional_group_id': {'key': 'functionalGroupId', 'type': 'str'}, + 'sender_application_qualifier': {'key': 'senderApplicationQualifier', 'type': 'str'}, + 'sender_application_id': {'key': 'senderApplicationId', 'type': 'str'}, + 'receiver_application_qualifier': {'key': 'receiverApplicationQualifier', 'type': 'str'}, + 'receiver_application_id': {'key': 'receiverApplicationId', 'type': 'str'}, + 'controlling_agency_code': {'key': 'controllingAgencyCode', 'type': 'str'}, + 'group_header_message_version': {'key': 'groupHeaderMessageVersion', 'type': 'str'}, + 'group_header_message_release': {'key': 'groupHeaderMessageRelease', 'type': 'str'}, + 'association_assigned_code': {'key': 'associationAssignedCode', 'type': 'str'}, + 'application_password': {'key': 'applicationPassword', 'type': 'str'}, + } + + def __init__( + self, + *, + message_id: Optional[str] = None, + message_version: Optional[str] = None, + message_release: Optional[str] = None, + message_association_assigned_code: Optional[str] = None, + target_namespace: Optional[str] = None, + functional_group_id: Optional[str] = None, + sender_application_qualifier: Optional[str] = None, + sender_application_id: Optional[str] = None, + receiver_application_qualifier: Optional[str] = None, + receiver_application_id: Optional[str] = None, + controlling_agency_code: Optional[str] = None, + group_header_message_version: Optional[str] = None, + group_header_message_release: Optional[str] = None, + association_assigned_code: Optional[str] = None, + application_password: Optional[str] = None, + **kwargs + ): + super(EdifactEnvelopeOverride, self).__init__(**kwargs) + self.message_id = message_id + self.message_version = message_version + self.message_release = message_release + self.message_association_assigned_code = message_association_assigned_code + self.target_namespace = target_namespace + self.functional_group_id = functional_group_id + self.sender_application_qualifier = sender_application_qualifier + self.sender_application_id = sender_application_id + self.receiver_application_qualifier = receiver_application_qualifier + self.receiver_application_id = receiver_application_id + self.controlling_agency_code = controlling_agency_code + self.group_header_message_version = group_header_message_version + self.group_header_message_release = group_header_message_release + self.association_assigned_code = association_assigned_code + self.application_password = application_password + + +class EdifactEnvelopeSettings(msrest.serialization.Model): + """The Edifact agreement envelope settings. + + All required parameters must be populated in order to send to Azure. + + :param group_association_assigned_code: The group association assigned code. + :type group_association_assigned_code: str + :param communication_agreement_id: The communication agreement id. + :type communication_agreement_id: str + :param apply_delimiter_string_advice: Required. The value indicating whether to apply delimiter + string advice. + :type apply_delimiter_string_advice: bool + :param create_grouping_segments: Required. The value indicating whether to create grouping + segments. + :type create_grouping_segments: bool + :param enable_default_group_headers: Required. The value indicating whether to enable default + group headers. + :type enable_default_group_headers: bool + :param recipient_reference_password_value: The recipient reference password value. + :type recipient_reference_password_value: str + :param recipient_reference_password_qualifier: The recipient reference password qualifier. + :type recipient_reference_password_qualifier: str + :param application_reference_id: The application reference id. + :type application_reference_id: str + :param processing_priority_code: The processing priority code. + :type processing_priority_code: str + :param interchange_control_number_lower_bound: Required. The interchange control number lower + bound. + :type interchange_control_number_lower_bound: long + :param interchange_control_number_upper_bound: Required. The interchange control number upper + bound. + :type interchange_control_number_upper_bound: long + :param rollover_interchange_control_number: Required. The value indicating whether to rollover + interchange control number. + :type rollover_interchange_control_number: bool + :param interchange_control_number_prefix: The interchange control number prefix. + :type interchange_control_number_prefix: str + :param interchange_control_number_suffix: The interchange control number suffix. + :type interchange_control_number_suffix: str + :param sender_reverse_routing_address: The sender reverse routing address. + :type sender_reverse_routing_address: str + :param receiver_reverse_routing_address: The receiver reverse routing address. + :type receiver_reverse_routing_address: str + :param functional_group_id: The functional group id. + :type functional_group_id: str + :param group_controlling_agency_code: The group controlling agency code. + :type group_controlling_agency_code: str + :param group_message_version: The group message version. + :type group_message_version: str + :param group_message_release: The group message release. + :type group_message_release: str + :param group_control_number_lower_bound: Required. The group control number lower bound. + :type group_control_number_lower_bound: long + :param group_control_number_upper_bound: Required. The group control number upper bound. + :type group_control_number_upper_bound: long + :param rollover_group_control_number: Required. The value indicating whether to rollover group + control number. + :type rollover_group_control_number: bool + :param group_control_number_prefix: The group control number prefix. + :type group_control_number_prefix: str + :param group_control_number_suffix: The group control number suffix. + :type group_control_number_suffix: str + :param group_application_receiver_qualifier: The group application receiver qualifier. + :type group_application_receiver_qualifier: str + :param group_application_receiver_id: The group application receiver id. + :type group_application_receiver_id: str + :param group_application_sender_qualifier: The group application sender qualifier. + :type group_application_sender_qualifier: str + :param group_application_sender_id: The group application sender id. + :type group_application_sender_id: str + :param group_application_password: The group application password. + :type group_application_password: str + :param overwrite_existing_transaction_set_control_number: Required. The value indicating + whether to overwrite existing transaction set control number. + :type overwrite_existing_transaction_set_control_number: bool + :param transaction_set_control_number_prefix: The transaction set control number prefix. + :type transaction_set_control_number_prefix: str + :param transaction_set_control_number_suffix: The transaction set control number suffix. + :type transaction_set_control_number_suffix: str + :param transaction_set_control_number_lower_bound: Required. The transaction set control number + lower bound. + :type transaction_set_control_number_lower_bound: long + :param transaction_set_control_number_upper_bound: Required. The transaction set control number + upper bound. + :type transaction_set_control_number_upper_bound: long + :param rollover_transaction_set_control_number: Required. The value indicating whether to + rollover transaction set control number. + :type rollover_transaction_set_control_number: bool + :param is_test_interchange: Required. The value indicating whether the message is a test + interchange. + :type is_test_interchange: bool + :param sender_internal_identification: The sender internal identification. + :type sender_internal_identification: str + :param sender_internal_sub_identification: The sender internal sub identification. + :type sender_internal_sub_identification: str + :param receiver_internal_identification: The receiver internal identification. + :type receiver_internal_identification: str + :param receiver_internal_sub_identification: The receiver internal sub identification. + :type receiver_internal_sub_identification: str + """ + + _validation = { + 'apply_delimiter_string_advice': {'required': True}, + 'create_grouping_segments': {'required': True}, + 'enable_default_group_headers': {'required': True}, + 'interchange_control_number_lower_bound': {'required': True}, + 'interchange_control_number_upper_bound': {'required': True}, + 'rollover_interchange_control_number': {'required': True}, + 'group_control_number_lower_bound': {'required': True}, + 'group_control_number_upper_bound': {'required': True}, + 'rollover_group_control_number': {'required': True}, + 'overwrite_existing_transaction_set_control_number': {'required': True}, + 'transaction_set_control_number_lower_bound': {'required': True}, + 'transaction_set_control_number_upper_bound': {'required': True}, + 'rollover_transaction_set_control_number': {'required': True}, + 'is_test_interchange': {'required': True}, + } + + _attribute_map = { + 'group_association_assigned_code': {'key': 'groupAssociationAssignedCode', 'type': 'str'}, + 'communication_agreement_id': {'key': 'communicationAgreementId', 'type': 'str'}, + 'apply_delimiter_string_advice': {'key': 'applyDelimiterStringAdvice', 'type': 'bool'}, + 'create_grouping_segments': {'key': 'createGroupingSegments', 'type': 'bool'}, + 'enable_default_group_headers': {'key': 'enableDefaultGroupHeaders', 'type': 'bool'}, + 'recipient_reference_password_value': {'key': 'recipientReferencePasswordValue', 'type': 'str'}, + 'recipient_reference_password_qualifier': {'key': 'recipientReferencePasswordQualifier', 'type': 'str'}, + 'application_reference_id': {'key': 'applicationReferenceId', 'type': 'str'}, + 'processing_priority_code': {'key': 'processingPriorityCode', 'type': 'str'}, + 'interchange_control_number_lower_bound': {'key': 'interchangeControlNumberLowerBound', 'type': 'long'}, + 'interchange_control_number_upper_bound': {'key': 'interchangeControlNumberUpperBound', 'type': 'long'}, + 'rollover_interchange_control_number': {'key': 'rolloverInterchangeControlNumber', 'type': 'bool'}, + 'interchange_control_number_prefix': {'key': 'interchangeControlNumberPrefix', 'type': 'str'}, + 'interchange_control_number_suffix': {'key': 'interchangeControlNumberSuffix', 'type': 'str'}, + 'sender_reverse_routing_address': {'key': 'senderReverseRoutingAddress', 'type': 'str'}, + 'receiver_reverse_routing_address': {'key': 'receiverReverseRoutingAddress', 'type': 'str'}, + 'functional_group_id': {'key': 'functionalGroupId', 'type': 'str'}, + 'group_controlling_agency_code': {'key': 'groupControllingAgencyCode', 'type': 'str'}, + 'group_message_version': {'key': 'groupMessageVersion', 'type': 'str'}, + 'group_message_release': {'key': 'groupMessageRelease', 'type': 'str'}, + 'group_control_number_lower_bound': {'key': 'groupControlNumberLowerBound', 'type': 'long'}, + 'group_control_number_upper_bound': {'key': 'groupControlNumberUpperBound', 'type': 'long'}, + 'rollover_group_control_number': {'key': 'rolloverGroupControlNumber', 'type': 'bool'}, + 'group_control_number_prefix': {'key': 'groupControlNumberPrefix', 'type': 'str'}, + 'group_control_number_suffix': {'key': 'groupControlNumberSuffix', 'type': 'str'}, + 'group_application_receiver_qualifier': {'key': 'groupApplicationReceiverQualifier', 'type': 'str'}, + 'group_application_receiver_id': {'key': 'groupApplicationReceiverId', 'type': 'str'}, + 'group_application_sender_qualifier': {'key': 'groupApplicationSenderQualifier', 'type': 'str'}, + 'group_application_sender_id': {'key': 'groupApplicationSenderId', 'type': 'str'}, + 'group_application_password': {'key': 'groupApplicationPassword', 'type': 'str'}, + 'overwrite_existing_transaction_set_control_number': {'key': 'overwriteExistingTransactionSetControlNumber', 'type': 'bool'}, + 'transaction_set_control_number_prefix': {'key': 'transactionSetControlNumberPrefix', 'type': 'str'}, + 'transaction_set_control_number_suffix': {'key': 'transactionSetControlNumberSuffix', 'type': 'str'}, + 'transaction_set_control_number_lower_bound': {'key': 'transactionSetControlNumberLowerBound', 'type': 'long'}, + 'transaction_set_control_number_upper_bound': {'key': 'transactionSetControlNumberUpperBound', 'type': 'long'}, + 'rollover_transaction_set_control_number': {'key': 'rolloverTransactionSetControlNumber', 'type': 'bool'}, + 'is_test_interchange': {'key': 'isTestInterchange', 'type': 'bool'}, + 'sender_internal_identification': {'key': 'senderInternalIdentification', 'type': 'str'}, + 'sender_internal_sub_identification': {'key': 'senderInternalSubIdentification', 'type': 'str'}, + 'receiver_internal_identification': {'key': 'receiverInternalIdentification', 'type': 'str'}, + 'receiver_internal_sub_identification': {'key': 'receiverInternalSubIdentification', 'type': 'str'}, + } + + def __init__( + self, + *, + apply_delimiter_string_advice: bool, + create_grouping_segments: bool, + enable_default_group_headers: bool, + interchange_control_number_lower_bound: int, + interchange_control_number_upper_bound: int, + rollover_interchange_control_number: bool, + group_control_number_lower_bound: int, + group_control_number_upper_bound: int, + rollover_group_control_number: bool, + overwrite_existing_transaction_set_control_number: bool, + transaction_set_control_number_lower_bound: int, + transaction_set_control_number_upper_bound: int, + rollover_transaction_set_control_number: bool, + is_test_interchange: bool, + group_association_assigned_code: Optional[str] = None, + communication_agreement_id: Optional[str] = None, + recipient_reference_password_value: Optional[str] = None, + recipient_reference_password_qualifier: Optional[str] = None, + application_reference_id: Optional[str] = None, + processing_priority_code: Optional[str] = None, + interchange_control_number_prefix: Optional[str] = None, + interchange_control_number_suffix: Optional[str] = None, + sender_reverse_routing_address: Optional[str] = None, + receiver_reverse_routing_address: Optional[str] = None, + functional_group_id: Optional[str] = None, + group_controlling_agency_code: Optional[str] = None, + group_message_version: Optional[str] = None, + group_message_release: Optional[str] = None, + group_control_number_prefix: Optional[str] = None, + group_control_number_suffix: Optional[str] = None, + group_application_receiver_qualifier: Optional[str] = None, + group_application_receiver_id: Optional[str] = None, + group_application_sender_qualifier: Optional[str] = None, + group_application_sender_id: Optional[str] = None, + group_application_password: Optional[str] = None, + transaction_set_control_number_prefix: Optional[str] = None, + transaction_set_control_number_suffix: Optional[str] = None, + sender_internal_identification: Optional[str] = None, + sender_internal_sub_identification: Optional[str] = None, + receiver_internal_identification: Optional[str] = None, + receiver_internal_sub_identification: Optional[str] = None, + **kwargs + ): + super(EdifactEnvelopeSettings, self).__init__(**kwargs) + self.group_association_assigned_code = group_association_assigned_code + self.communication_agreement_id = communication_agreement_id + self.apply_delimiter_string_advice = apply_delimiter_string_advice + self.create_grouping_segments = create_grouping_segments + self.enable_default_group_headers = enable_default_group_headers + self.recipient_reference_password_value = recipient_reference_password_value + self.recipient_reference_password_qualifier = recipient_reference_password_qualifier + self.application_reference_id = application_reference_id + self.processing_priority_code = processing_priority_code + self.interchange_control_number_lower_bound = interchange_control_number_lower_bound + self.interchange_control_number_upper_bound = interchange_control_number_upper_bound + self.rollover_interchange_control_number = rollover_interchange_control_number + self.interchange_control_number_prefix = interchange_control_number_prefix + self.interchange_control_number_suffix = interchange_control_number_suffix + self.sender_reverse_routing_address = sender_reverse_routing_address + self.receiver_reverse_routing_address = receiver_reverse_routing_address + self.functional_group_id = functional_group_id + self.group_controlling_agency_code = group_controlling_agency_code + self.group_message_version = group_message_version + self.group_message_release = group_message_release + self.group_control_number_lower_bound = group_control_number_lower_bound + self.group_control_number_upper_bound = group_control_number_upper_bound + self.rollover_group_control_number = rollover_group_control_number + self.group_control_number_prefix = group_control_number_prefix + self.group_control_number_suffix = group_control_number_suffix + self.group_application_receiver_qualifier = group_application_receiver_qualifier + self.group_application_receiver_id = group_application_receiver_id + self.group_application_sender_qualifier = group_application_sender_qualifier + self.group_application_sender_id = group_application_sender_id + self.group_application_password = group_application_password + self.overwrite_existing_transaction_set_control_number = overwrite_existing_transaction_set_control_number + self.transaction_set_control_number_prefix = transaction_set_control_number_prefix + self.transaction_set_control_number_suffix = transaction_set_control_number_suffix + self.transaction_set_control_number_lower_bound = transaction_set_control_number_lower_bound + self.transaction_set_control_number_upper_bound = transaction_set_control_number_upper_bound + self.rollover_transaction_set_control_number = rollover_transaction_set_control_number + self.is_test_interchange = is_test_interchange + self.sender_internal_identification = sender_internal_identification + self.sender_internal_sub_identification = sender_internal_sub_identification + self.receiver_internal_identification = receiver_internal_identification + self.receiver_internal_sub_identification = receiver_internal_sub_identification + + +class EdifactFramingSettings(msrest.serialization.Model): + """The Edifact agreement framing settings. + + All required parameters must be populated in order to send to Azure. + + :param service_code_list_directory_version: The service code list directory version. + :type service_code_list_directory_version: str + :param character_encoding: The character encoding. + :type character_encoding: str + :param protocol_version: Required. The protocol version. + :type protocol_version: int + :param data_element_separator: Required. The data element separator. + :type data_element_separator: int + :param component_separator: Required. The component separator. + :type component_separator: int + :param segment_terminator: Required. The segment terminator. + :type segment_terminator: int + :param release_indicator: Required. The release indicator. + :type release_indicator: int + :param repetition_separator: Required. The repetition separator. + :type repetition_separator: int + :param character_set: Required. The EDIFACT frame setting characterSet. Possible values + include: "NotSpecified", "UNOB", "UNOA", "UNOC", "UNOD", "UNOE", "UNOF", "UNOG", "UNOH", + "UNOI", "UNOJ", "UNOK", "UNOX", "UNOY", "KECA". + :type character_set: str or ~azure.mgmt.logic.models.EdifactCharacterSet + :param decimal_point_indicator: Required. The EDIFACT frame setting decimal indicator. Possible + values include: "NotSpecified", "Comma", "Decimal". + :type decimal_point_indicator: str or ~azure.mgmt.logic.models.EdifactDecimalIndicator + :param segment_terminator_suffix: Required. The EDIFACT frame setting segment terminator + suffix. Possible values include: "NotSpecified", "None", "CR", "LF", "CRLF". + :type segment_terminator_suffix: str or ~azure.mgmt.logic.models.SegmentTerminatorSuffix + """ + + _validation = { + 'protocol_version': {'required': True}, + 'data_element_separator': {'required': True}, + 'component_separator': {'required': True}, + 'segment_terminator': {'required': True}, + 'release_indicator': {'required': True}, + 'repetition_separator': {'required': True}, + 'character_set': {'required': True}, + 'decimal_point_indicator': {'required': True}, + 'segment_terminator_suffix': {'required': True}, + } + + _attribute_map = { + 'service_code_list_directory_version': {'key': 'serviceCodeListDirectoryVersion', 'type': 'str'}, + 'character_encoding': {'key': 'characterEncoding', 'type': 'str'}, + 'protocol_version': {'key': 'protocolVersion', 'type': 'int'}, + 'data_element_separator': {'key': 'dataElementSeparator', 'type': 'int'}, + 'component_separator': {'key': 'componentSeparator', 'type': 'int'}, + 'segment_terminator': {'key': 'segmentTerminator', 'type': 'int'}, + 'release_indicator': {'key': 'releaseIndicator', 'type': 'int'}, + 'repetition_separator': {'key': 'repetitionSeparator', 'type': 'int'}, + 'character_set': {'key': 'characterSet', 'type': 'str'}, + 'decimal_point_indicator': {'key': 'decimalPointIndicator', 'type': 'str'}, + 'segment_terminator_suffix': {'key': 'segmentTerminatorSuffix', 'type': 'str'}, + } + + def __init__( + self, + *, + protocol_version: int, + data_element_separator: int, + component_separator: int, + segment_terminator: int, + release_indicator: int, + repetition_separator: int, + character_set: Union[str, "EdifactCharacterSet"], + decimal_point_indicator: Union[str, "EdifactDecimalIndicator"], + segment_terminator_suffix: Union[str, "SegmentTerminatorSuffix"], + service_code_list_directory_version: Optional[str] = None, + character_encoding: Optional[str] = None, + **kwargs + ): + super(EdifactFramingSettings, self).__init__(**kwargs) + self.service_code_list_directory_version = service_code_list_directory_version + self.character_encoding = character_encoding + self.protocol_version = protocol_version + self.data_element_separator = data_element_separator + self.component_separator = component_separator + self.segment_terminator = segment_terminator + self.release_indicator = release_indicator + self.repetition_separator = repetition_separator + self.character_set = character_set + self.decimal_point_indicator = decimal_point_indicator + self.segment_terminator_suffix = segment_terminator_suffix + + +class EdifactMessageFilter(msrest.serialization.Model): + """The Edifact message filter for odata query. + + All required parameters must be populated in order to send to Azure. + + :param message_filter_type: Required. The message filter type. Possible values include: + "NotSpecified", "Include", "Exclude". + :type message_filter_type: str or ~azure.mgmt.logic.models.MessageFilterType + """ + + _validation = { + 'message_filter_type': {'required': True}, + } + + _attribute_map = { + 'message_filter_type': {'key': 'messageFilterType', 'type': 'str'}, + } + + def __init__( + self, + *, + message_filter_type: Union[str, "MessageFilterType"], + **kwargs + ): + super(EdifactMessageFilter, self).__init__(**kwargs) + self.message_filter_type = message_filter_type + + +class EdifactMessageIdentifier(msrest.serialization.Model): + """The Edifact message identifier. + + All required parameters must be populated in order to send to Azure. + + :param message_id: Required. The message id on which this envelope settings has to be applied. + :type message_id: str + """ + + _validation = { + 'message_id': {'required': True}, + } + + _attribute_map = { + 'message_id': {'key': 'messageId', 'type': 'str'}, + } + + def __init__( + self, + *, + message_id: str, + **kwargs + ): + super(EdifactMessageIdentifier, self).__init__(**kwargs) + self.message_id = message_id + + +class EdifactOneWayAgreement(msrest.serialization.Model): + """The Edifact one way agreement. + + All required parameters must be populated in order to send to Azure. + + :param sender_business_identity: Required. The sender business identity. + :type sender_business_identity: ~azure.mgmt.logic.models.BusinessIdentity + :param receiver_business_identity: Required. The receiver business identity. + :type receiver_business_identity: ~azure.mgmt.logic.models.BusinessIdentity + :param protocol_settings: Required. The EDIFACT protocol settings. + :type protocol_settings: ~azure.mgmt.logic.models.EdifactProtocolSettings + """ + + _validation = { + 'sender_business_identity': {'required': True}, + 'receiver_business_identity': {'required': True}, + 'protocol_settings': {'required': True}, + } + + _attribute_map = { + 'sender_business_identity': {'key': 'senderBusinessIdentity', 'type': 'BusinessIdentity'}, + 'receiver_business_identity': {'key': 'receiverBusinessIdentity', 'type': 'BusinessIdentity'}, + 'protocol_settings': {'key': 'protocolSettings', 'type': 'EdifactProtocolSettings'}, + } + + def __init__( + self, + *, + sender_business_identity: "BusinessIdentity", + receiver_business_identity: "BusinessIdentity", + protocol_settings: "EdifactProtocolSettings", + **kwargs + ): + super(EdifactOneWayAgreement, self).__init__(**kwargs) + self.sender_business_identity = sender_business_identity + self.receiver_business_identity = receiver_business_identity + self.protocol_settings = protocol_settings + + +class EdifactProcessingSettings(msrest.serialization.Model): + """The Edifact agreement protocol settings. + + All required parameters must be populated in order to send to Azure. + + :param mask_security_info: Required. The value indicating whether to mask security information. + :type mask_security_info: bool + :param preserve_interchange: Required. The value indicating whether to preserve interchange. + :type preserve_interchange: bool + :param suspend_interchange_on_error: Required. The value indicating whether to suspend + interchange on error. + :type suspend_interchange_on_error: bool + :param create_empty_xml_tags_for_trailing_separators: Required. The value indicating whether to + create empty xml tags for trailing separators. + :type create_empty_xml_tags_for_trailing_separators: bool + :param use_dot_as_decimal_separator: Required. The value indicating whether to use dot as + decimal separator. + :type use_dot_as_decimal_separator: bool + """ + + _validation = { + 'mask_security_info': {'required': True}, + 'preserve_interchange': {'required': True}, + 'suspend_interchange_on_error': {'required': True}, + 'create_empty_xml_tags_for_trailing_separators': {'required': True}, + 'use_dot_as_decimal_separator': {'required': True}, + } + + _attribute_map = { + 'mask_security_info': {'key': 'maskSecurityInfo', 'type': 'bool'}, + 'preserve_interchange': {'key': 'preserveInterchange', 'type': 'bool'}, + 'suspend_interchange_on_error': {'key': 'suspendInterchangeOnError', 'type': 'bool'}, + 'create_empty_xml_tags_for_trailing_separators': {'key': 'createEmptyXmlTagsForTrailingSeparators', 'type': 'bool'}, + 'use_dot_as_decimal_separator': {'key': 'useDotAsDecimalSeparator', 'type': 'bool'}, + } + + def __init__( + self, + *, + mask_security_info: bool, + preserve_interchange: bool, + suspend_interchange_on_error: bool, + create_empty_xml_tags_for_trailing_separators: bool, + use_dot_as_decimal_separator: bool, + **kwargs + ): + super(EdifactProcessingSettings, self).__init__(**kwargs) + self.mask_security_info = mask_security_info + self.preserve_interchange = preserve_interchange + self.suspend_interchange_on_error = suspend_interchange_on_error + self.create_empty_xml_tags_for_trailing_separators = create_empty_xml_tags_for_trailing_separators + self.use_dot_as_decimal_separator = use_dot_as_decimal_separator + + +class EdifactProtocolSettings(msrest.serialization.Model): + """The Edifact agreement protocol settings. + + All required parameters must be populated in order to send to Azure. + + :param validation_settings: Required. The EDIFACT validation settings. + :type validation_settings: ~azure.mgmt.logic.models.EdifactValidationSettings + :param framing_settings: Required. The EDIFACT framing settings. + :type framing_settings: ~azure.mgmt.logic.models.EdifactFramingSettings + :param envelope_settings: Required. The EDIFACT envelope settings. + :type envelope_settings: ~azure.mgmt.logic.models.EdifactEnvelopeSettings + :param acknowledgement_settings: Required. The EDIFACT acknowledgement settings. + :type acknowledgement_settings: ~azure.mgmt.logic.models.EdifactAcknowledgementSettings + :param message_filter: Required. The EDIFACT message filter. + :type message_filter: ~azure.mgmt.logic.models.EdifactMessageFilter + :param processing_settings: Required. The EDIFACT processing Settings. + :type processing_settings: ~azure.mgmt.logic.models.EdifactProcessingSettings + :param envelope_overrides: The EDIFACT envelope override settings. + :type envelope_overrides: list[~azure.mgmt.logic.models.EdifactEnvelopeOverride] + :param message_filter_list: The EDIFACT message filter list. + :type message_filter_list: list[~azure.mgmt.logic.models.EdifactMessageIdentifier] + :param schema_references: Required. The EDIFACT schema references. + :type schema_references: list[~azure.mgmt.logic.models.EdifactSchemaReference] + :param validation_overrides: The EDIFACT validation override settings. + :type validation_overrides: list[~azure.mgmt.logic.models.EdifactValidationOverride] + :param edifact_delimiter_overrides: The EDIFACT delimiter override settings. + :type edifact_delimiter_overrides: list[~azure.mgmt.logic.models.EdifactDelimiterOverride] + """ + + _validation = { + 'validation_settings': {'required': True}, + 'framing_settings': {'required': True}, + 'envelope_settings': {'required': True}, + 'acknowledgement_settings': {'required': True}, + 'message_filter': {'required': True}, + 'processing_settings': {'required': True}, + 'schema_references': {'required': True}, + } + + _attribute_map = { + 'validation_settings': {'key': 'validationSettings', 'type': 'EdifactValidationSettings'}, + 'framing_settings': {'key': 'framingSettings', 'type': 'EdifactFramingSettings'}, + 'envelope_settings': {'key': 'envelopeSettings', 'type': 'EdifactEnvelopeSettings'}, + 'acknowledgement_settings': {'key': 'acknowledgementSettings', 'type': 'EdifactAcknowledgementSettings'}, + 'message_filter': {'key': 'messageFilter', 'type': 'EdifactMessageFilter'}, + 'processing_settings': {'key': 'processingSettings', 'type': 'EdifactProcessingSettings'}, + 'envelope_overrides': {'key': 'envelopeOverrides', 'type': '[EdifactEnvelopeOverride]'}, + 'message_filter_list': {'key': 'messageFilterList', 'type': '[EdifactMessageIdentifier]'}, + 'schema_references': {'key': 'schemaReferences', 'type': '[EdifactSchemaReference]'}, + 'validation_overrides': {'key': 'validationOverrides', 'type': '[EdifactValidationOverride]'}, + 'edifact_delimiter_overrides': {'key': 'edifactDelimiterOverrides', 'type': '[EdifactDelimiterOverride]'}, + } + + def __init__( + self, + *, + validation_settings: "EdifactValidationSettings", + framing_settings: "EdifactFramingSettings", + envelope_settings: "EdifactEnvelopeSettings", + acknowledgement_settings: "EdifactAcknowledgementSettings", + message_filter: "EdifactMessageFilter", + processing_settings: "EdifactProcessingSettings", + schema_references: List["EdifactSchemaReference"], + envelope_overrides: Optional[List["EdifactEnvelopeOverride"]] = None, + message_filter_list: Optional[List["EdifactMessageIdentifier"]] = None, + validation_overrides: Optional[List["EdifactValidationOverride"]] = None, + edifact_delimiter_overrides: Optional[List["EdifactDelimiterOverride"]] = None, + **kwargs + ): + super(EdifactProtocolSettings, self).__init__(**kwargs) + self.validation_settings = validation_settings + self.framing_settings = framing_settings + self.envelope_settings = envelope_settings + self.acknowledgement_settings = acknowledgement_settings + self.message_filter = message_filter + self.processing_settings = processing_settings + self.envelope_overrides = envelope_overrides + self.message_filter_list = message_filter_list + self.schema_references = schema_references + self.validation_overrides = validation_overrides + self.edifact_delimiter_overrides = edifact_delimiter_overrides + + +class EdifactSchemaReference(msrest.serialization.Model): + """The Edifact schema reference. + + All required parameters must be populated in order to send to Azure. + + :param message_id: Required. The message id. + :type message_id: str + :param message_version: Required. The message version. + :type message_version: str + :param message_release: Required. The message release version. + :type message_release: str + :param sender_application_id: The sender application id. + :type sender_application_id: str + :param sender_application_qualifier: The sender application qualifier. + :type sender_application_qualifier: str + :param association_assigned_code: The association assigned code. + :type association_assigned_code: str + :param schema_name: Required. The schema name. + :type schema_name: str + """ + + _validation = { + 'message_id': {'required': True}, + 'message_version': {'required': True}, + 'message_release': {'required': True}, + 'schema_name': {'required': True}, + } + + _attribute_map = { + 'message_id': {'key': 'messageId', 'type': 'str'}, + 'message_version': {'key': 'messageVersion', 'type': 'str'}, + 'message_release': {'key': 'messageRelease', 'type': 'str'}, + 'sender_application_id': {'key': 'senderApplicationId', 'type': 'str'}, + 'sender_application_qualifier': {'key': 'senderApplicationQualifier', 'type': 'str'}, + 'association_assigned_code': {'key': 'associationAssignedCode', 'type': 'str'}, + 'schema_name': {'key': 'schemaName', 'type': 'str'}, + } + + def __init__( + self, + *, + message_id: str, + message_version: str, + message_release: str, + schema_name: str, + sender_application_id: Optional[str] = None, + sender_application_qualifier: Optional[str] = None, + association_assigned_code: Optional[str] = None, + **kwargs + ): + super(EdifactSchemaReference, self).__init__(**kwargs) + self.message_id = message_id + self.message_version = message_version + self.message_release = message_release + self.sender_application_id = sender_application_id + self.sender_application_qualifier = sender_application_qualifier + self.association_assigned_code = association_assigned_code + self.schema_name = schema_name + + +class EdifactValidationOverride(msrest.serialization.Model): + """The Edifact validation override settings. + + All required parameters must be populated in order to send to Azure. + + :param message_id: Required. The message id on which the validation settings has to be applied. + :type message_id: str + :param enforce_character_set: Required. The value indicating whether to validate character Set. + :type enforce_character_set: bool + :param validate_edi_types: Required. The value indicating whether to validate EDI types. + :type validate_edi_types: bool + :param validate_xsd_types: Required. The value indicating whether to validate XSD types. + :type validate_xsd_types: bool + :param allow_leading_and_trailing_spaces_and_zeroes: Required. The value indicating whether to + allow leading and trailing spaces and zeroes. + :type allow_leading_and_trailing_spaces_and_zeroes: bool + :param trailing_separator_policy: Required. The trailing separator policy. Possible values + include: "NotSpecified", "NotAllowed", "Optional", "Mandatory". + :type trailing_separator_policy: str or ~azure.mgmt.logic.models.TrailingSeparatorPolicy + :param trim_leading_and_trailing_spaces_and_zeroes: Required. The value indicating whether to + trim leading and trailing spaces and zeroes. + :type trim_leading_and_trailing_spaces_and_zeroes: bool + """ + + _validation = { + 'message_id': {'required': True}, + 'enforce_character_set': {'required': True}, + 'validate_edi_types': {'required': True}, + 'validate_xsd_types': {'required': True}, + 'allow_leading_and_trailing_spaces_and_zeroes': {'required': True}, + 'trailing_separator_policy': {'required': True}, + 'trim_leading_and_trailing_spaces_and_zeroes': {'required': True}, + } + + _attribute_map = { + 'message_id': {'key': 'messageId', 'type': 'str'}, + 'enforce_character_set': {'key': 'enforceCharacterSet', 'type': 'bool'}, + 'validate_edi_types': {'key': 'validateEDITypes', 'type': 'bool'}, + 'validate_xsd_types': {'key': 'validateXSDTypes', 'type': 'bool'}, + 'allow_leading_and_trailing_spaces_and_zeroes': {'key': 'allowLeadingAndTrailingSpacesAndZeroes', 'type': 'bool'}, + 'trailing_separator_policy': {'key': 'trailingSeparatorPolicy', 'type': 'str'}, + 'trim_leading_and_trailing_spaces_and_zeroes': {'key': 'trimLeadingAndTrailingSpacesAndZeroes', 'type': 'bool'}, + } + + def __init__( + self, + *, + message_id: str, + enforce_character_set: bool, + validate_edi_types: bool, + validate_xsd_types: bool, + allow_leading_and_trailing_spaces_and_zeroes: bool, + trailing_separator_policy: Union[str, "TrailingSeparatorPolicy"], + trim_leading_and_trailing_spaces_and_zeroes: bool, + **kwargs + ): + super(EdifactValidationOverride, self).__init__(**kwargs) + self.message_id = message_id + self.enforce_character_set = enforce_character_set + self.validate_edi_types = validate_edi_types + self.validate_xsd_types = validate_xsd_types + self.allow_leading_and_trailing_spaces_and_zeroes = allow_leading_and_trailing_spaces_and_zeroes + self.trailing_separator_policy = trailing_separator_policy + self.trim_leading_and_trailing_spaces_and_zeroes = trim_leading_and_trailing_spaces_and_zeroes + + +class EdifactValidationSettings(msrest.serialization.Model): + """The Edifact agreement validation settings. + + All required parameters must be populated in order to send to Azure. + + :param validate_character_set: Required. The value indicating whether to validate character set + in the message. + :type validate_character_set: bool + :param check_duplicate_interchange_control_number: Required. The value indicating whether to + check for duplicate interchange control number. + :type check_duplicate_interchange_control_number: bool + :param interchange_control_number_validity_days: Required. The validity period of interchange + control number. + :type interchange_control_number_validity_days: int + :param check_duplicate_group_control_number: Required. The value indicating whether to check + for duplicate group control number. + :type check_duplicate_group_control_number: bool + :param check_duplicate_transaction_set_control_number: Required. The value indicating whether + to check for duplicate transaction set control number. + :type check_duplicate_transaction_set_control_number: bool + :param validate_edi_types: Required. The value indicating whether to Whether to validate EDI + types. + :type validate_edi_types: bool + :param validate_xsd_types: Required. The value indicating whether to Whether to validate XSD + types. + :type validate_xsd_types: bool + :param allow_leading_and_trailing_spaces_and_zeroes: Required. The value indicating whether to + allow leading and trailing spaces and zeroes. + :type allow_leading_and_trailing_spaces_and_zeroes: bool + :param trim_leading_and_trailing_spaces_and_zeroes: Required. The value indicating whether to + trim leading and trailing spaces and zeroes. + :type trim_leading_and_trailing_spaces_and_zeroes: bool + :param trailing_separator_policy: Required. The trailing separator policy. Possible values + include: "NotSpecified", "NotAllowed", "Optional", "Mandatory". + :type trailing_separator_policy: str or ~azure.mgmt.logic.models.TrailingSeparatorPolicy + """ + + _validation = { + 'validate_character_set': {'required': True}, + 'check_duplicate_interchange_control_number': {'required': True}, + 'interchange_control_number_validity_days': {'required': True}, + 'check_duplicate_group_control_number': {'required': True}, + 'check_duplicate_transaction_set_control_number': {'required': True}, + 'validate_edi_types': {'required': True}, + 'validate_xsd_types': {'required': True}, + 'allow_leading_and_trailing_spaces_and_zeroes': {'required': True}, + 'trim_leading_and_trailing_spaces_and_zeroes': {'required': True}, + 'trailing_separator_policy': {'required': True}, + } + + _attribute_map = { + 'validate_character_set': {'key': 'validateCharacterSet', 'type': 'bool'}, + 'check_duplicate_interchange_control_number': {'key': 'checkDuplicateInterchangeControlNumber', 'type': 'bool'}, + 'interchange_control_number_validity_days': {'key': 'interchangeControlNumberValidityDays', 'type': 'int'}, + 'check_duplicate_group_control_number': {'key': 'checkDuplicateGroupControlNumber', 'type': 'bool'}, + 'check_duplicate_transaction_set_control_number': {'key': 'checkDuplicateTransactionSetControlNumber', 'type': 'bool'}, + 'validate_edi_types': {'key': 'validateEDITypes', 'type': 'bool'}, + 'validate_xsd_types': {'key': 'validateXSDTypes', 'type': 'bool'}, + 'allow_leading_and_trailing_spaces_and_zeroes': {'key': 'allowLeadingAndTrailingSpacesAndZeroes', 'type': 'bool'}, + 'trim_leading_and_trailing_spaces_and_zeroes': {'key': 'trimLeadingAndTrailingSpacesAndZeroes', 'type': 'bool'}, + 'trailing_separator_policy': {'key': 'trailingSeparatorPolicy', 'type': 'str'}, + } + + def __init__( + self, + *, + validate_character_set: bool, + check_duplicate_interchange_control_number: bool, + interchange_control_number_validity_days: int, + check_duplicate_group_control_number: bool, + check_duplicate_transaction_set_control_number: bool, + validate_edi_types: bool, + validate_xsd_types: bool, + allow_leading_and_trailing_spaces_and_zeroes: bool, + trim_leading_and_trailing_spaces_and_zeroes: bool, + trailing_separator_policy: Union[str, "TrailingSeparatorPolicy"], + **kwargs + ): + super(EdifactValidationSettings, self).__init__(**kwargs) + self.validate_character_set = validate_character_set + self.check_duplicate_interchange_control_number = check_duplicate_interchange_control_number + self.interchange_control_number_validity_days = interchange_control_number_validity_days + self.check_duplicate_group_control_number = check_duplicate_group_control_number + self.check_duplicate_transaction_set_control_number = check_duplicate_transaction_set_control_number + self.validate_edi_types = validate_edi_types + self.validate_xsd_types = validate_xsd_types + self.allow_leading_and_trailing_spaces_and_zeroes = allow_leading_and_trailing_spaces_and_zeroes + self.trim_leading_and_trailing_spaces_and_zeroes = trim_leading_and_trailing_spaces_and_zeroes + self.trailing_separator_policy = trailing_separator_policy + + +class ErrorProperties(msrest.serialization.Model): + """Error properties indicate why the Logic service was not able to process the incoming request. The reason is provided in the error message. + + :param code: Error code. + :type code: str + :param message: Error message indicating why the operation failed. + :type message: str + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__( + self, + *, + code: Optional[str] = None, + message: Optional[str] = None, + **kwargs + ): + super(ErrorProperties, self).__init__(**kwargs) + self.code = code + self.message = message + + +class ErrorResponse(msrest.serialization.Model): + """Error response indicates Logic service is not able to process the incoming request. The error property contains the error details. + + :param error: The error properties. + :type error: ~azure.mgmt.logic.models.ErrorProperties + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'ErrorProperties'}, + } + + def __init__( + self, + *, + error: Optional["ErrorProperties"] = None, + **kwargs + ): + super(ErrorResponse, self).__init__(**kwargs) + self.error = error + + +class Expression(msrest.serialization.Model): + """The expression. + + :param text: The text. + :type text: str + :param value: Any object. + :type value: object + :param subexpressions: The sub expressions. + :type subexpressions: list[~azure.mgmt.logic.models.Expression] + :param error: The azure resource error info. + :type error: ~azure.mgmt.logic.models.AzureResourceErrorInfo + """ + + _attribute_map = { + 'text': {'key': 'text', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'object'}, + 'subexpressions': {'key': 'subexpressions', 'type': '[Expression]'}, + 'error': {'key': 'error', 'type': 'AzureResourceErrorInfo'}, + } + + def __init__( + self, + *, + text: Optional[str] = None, + value: Optional[object] = None, + subexpressions: Optional[List["Expression"]] = None, + error: Optional["AzureResourceErrorInfo"] = None, + **kwargs + ): + super(Expression, self).__init__(**kwargs) + self.text = text + self.value = value + self.subexpressions = subexpressions + self.error = error + + +class ExpressionRoot(Expression): + """The expression root. + + :param text: The text. + :type text: str + :param value: Any object. + :type value: object + :param subexpressions: The sub expressions. + :type subexpressions: list[~azure.mgmt.logic.models.Expression] + :param error: The azure resource error info. + :type error: ~azure.mgmt.logic.models.AzureResourceErrorInfo + :param path: The path. + :type path: str + """ + + _attribute_map = { + 'text': {'key': 'text', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'object'}, + 'subexpressions': {'key': 'subexpressions', 'type': '[Expression]'}, + 'error': {'key': 'error', 'type': 'AzureResourceErrorInfo'}, + 'path': {'key': 'path', 'type': 'str'}, + } + + def __init__( + self, + *, + text: Optional[str] = None, + value: Optional[object] = None, + subexpressions: Optional[List["Expression"]] = None, + error: Optional["AzureResourceErrorInfo"] = None, + path: Optional[str] = None, + **kwargs + ): + super(ExpressionRoot, self).__init__(text=text, value=value, subexpressions=subexpressions, error=error, **kwargs) + self.path = path + + +class ExpressionTraces(msrest.serialization.Model): + """The expression traces. + + :param inputs: + :type inputs: list[~azure.mgmt.logic.models.ExpressionRoot] + """ + + _attribute_map = { + 'inputs': {'key': 'inputs', 'type': '[ExpressionRoot]'}, + } + + def __init__( + self, + *, + inputs: Optional[List["ExpressionRoot"]] = None, + **kwargs + ): + super(ExpressionTraces, self).__init__(**kwargs) + self.inputs = inputs + + +class ExtendedErrorInfo(msrest.serialization.Model): + """The extended error info. + + All required parameters must be populated in order to send to Azure. + + :param code: Required. The error code. Possible values include: "NotSpecified", + "IntegrationServiceEnvironmentNotFound", "InternalServerError", "InvalidOperationId". + :type code: str or ~azure.mgmt.logic.models.ErrorResponseCode + :param message: Required. The error message. + :type message: str + :param details: The error message details. + :type details: list[~azure.mgmt.logic.models.ExtendedErrorInfo] + :param inner_error: The inner error. + :type inner_error: object + """ + + _validation = { + 'code': {'required': True}, + 'message': {'required': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[ExtendedErrorInfo]'}, + 'inner_error': {'key': 'innerError', 'type': 'object'}, + } + + def __init__( + self, + *, + code: Union[str, "ErrorResponseCode"], + message: str, + details: Optional[List["ExtendedErrorInfo"]] = None, + inner_error: Optional[object] = None, + **kwargs + ): + super(ExtendedErrorInfo, self).__init__(**kwargs) + self.code = code + self.message = message + self.details = details + self.inner_error = inner_error + + +class FlowAccessControlConfiguration(msrest.serialization.Model): + """The access control configuration. + + :param triggers: The access control configuration for invoking workflow triggers. + :type triggers: ~azure.mgmt.logic.models.FlowAccessControlConfigurationPolicy + :param contents: The access control configuration for accessing workflow run contents. + :type contents: ~azure.mgmt.logic.models.FlowAccessControlConfigurationPolicy + :param actions: The access control configuration for workflow actions. + :type actions: ~azure.mgmt.logic.models.FlowAccessControlConfigurationPolicy + :param workflow_management: The access control configuration for workflow management. + :type workflow_management: ~azure.mgmt.logic.models.FlowAccessControlConfigurationPolicy + """ + + _attribute_map = { + 'triggers': {'key': 'triggers', 'type': 'FlowAccessControlConfigurationPolicy'}, + 'contents': {'key': 'contents', 'type': 'FlowAccessControlConfigurationPolicy'}, + 'actions': {'key': 'actions', 'type': 'FlowAccessControlConfigurationPolicy'}, + 'workflow_management': {'key': 'workflowManagement', 'type': 'FlowAccessControlConfigurationPolicy'}, + } + + def __init__( + self, + *, + triggers: Optional["FlowAccessControlConfigurationPolicy"] = None, + contents: Optional["FlowAccessControlConfigurationPolicy"] = None, + actions: Optional["FlowAccessControlConfigurationPolicy"] = None, + workflow_management: Optional["FlowAccessControlConfigurationPolicy"] = None, + **kwargs + ): + super(FlowAccessControlConfiguration, self).__init__(**kwargs) + self.triggers = triggers + self.contents = contents + self.actions = actions + self.workflow_management = workflow_management + + +class FlowAccessControlConfigurationPolicy(msrest.serialization.Model): + """The access control configuration policy. + + :param allowed_caller_ip_addresses: The allowed caller IP address ranges. + :type allowed_caller_ip_addresses: list[~azure.mgmt.logic.models.IpAddressRange] + :param open_authentication_policies: The authentication policies for workflow. + :type open_authentication_policies: ~azure.mgmt.logic.models.OpenAuthenticationAccessPolicies + """ + + _attribute_map = { + 'allowed_caller_ip_addresses': {'key': 'allowedCallerIpAddresses', 'type': '[IpAddressRange]'}, + 'open_authentication_policies': {'key': 'openAuthenticationPolicies', 'type': 'OpenAuthenticationAccessPolicies'}, + } + + def __init__( + self, + *, + allowed_caller_ip_addresses: Optional[List["IpAddressRange"]] = None, + open_authentication_policies: Optional["OpenAuthenticationAccessPolicies"] = None, + **kwargs + ): + super(FlowAccessControlConfigurationPolicy, self).__init__(**kwargs) + self.allowed_caller_ip_addresses = allowed_caller_ip_addresses + self.open_authentication_policies = open_authentication_policies + + +class FlowEndpoints(msrest.serialization.Model): + """The flow endpoints configuration. + + :param outgoing_ip_addresses: The outgoing ip address. + :type outgoing_ip_addresses: list[~azure.mgmt.logic.models.IpAddress] + :param access_endpoint_ip_addresses: The access endpoint ip address. + :type access_endpoint_ip_addresses: list[~azure.mgmt.logic.models.IpAddress] + """ + + _attribute_map = { + 'outgoing_ip_addresses': {'key': 'outgoingIpAddresses', 'type': '[IpAddress]'}, + 'access_endpoint_ip_addresses': {'key': 'accessEndpointIpAddresses', 'type': '[IpAddress]'}, + } + + def __init__( + self, + *, + outgoing_ip_addresses: Optional[List["IpAddress"]] = None, + access_endpoint_ip_addresses: Optional[List["IpAddress"]] = None, + **kwargs + ): + super(FlowEndpoints, self).__init__(**kwargs) + self.outgoing_ip_addresses = outgoing_ip_addresses + self.access_endpoint_ip_addresses = access_endpoint_ip_addresses + + +class FlowEndpointsConfiguration(msrest.serialization.Model): + """The endpoints configuration. + + :param workflow: The workflow endpoints. + :type workflow: ~azure.mgmt.logic.models.FlowEndpoints + :param connector: The connector endpoints. + :type connector: ~azure.mgmt.logic.models.FlowEndpoints + """ + + _attribute_map = { + 'workflow': {'key': 'workflow', 'type': 'FlowEndpoints'}, + 'connector': {'key': 'connector', 'type': 'FlowEndpoints'}, + } + + def __init__( + self, + *, + workflow: Optional["FlowEndpoints"] = None, + connector: Optional["FlowEndpoints"] = None, + **kwargs + ): + super(FlowEndpointsConfiguration, self).__init__(**kwargs) + self.workflow = workflow + self.connector = connector + + +class GenerateUpgradedDefinitionParameters(msrest.serialization.Model): + """The parameters to generate upgraded definition. + + :param target_schema_version: The target schema version. + :type target_schema_version: str + """ + + _attribute_map = { + 'target_schema_version': {'key': 'targetSchemaVersion', 'type': 'str'}, + } + + def __init__( + self, + *, + target_schema_version: Optional[str] = None, + **kwargs + ): + super(GenerateUpgradedDefinitionParameters, self).__init__(**kwargs) + self.target_schema_version = target_schema_version + + +class GetCallbackUrlParameters(msrest.serialization.Model): + """The callback url parameters. + + :param not_after: The expiry time. + :type not_after: ~datetime.datetime + :param key_type: The key type. Possible values include: "NotSpecified", "Primary", "Secondary". + :type key_type: str or ~azure.mgmt.logic.models.KeyType + """ + + _attribute_map = { + 'not_after': {'key': 'notAfter', 'type': 'iso-8601'}, + 'key_type': {'key': 'keyType', 'type': 'str'}, + } + + def __init__( + self, + *, + not_after: Optional[datetime.datetime] = None, + key_type: Optional[Union[str, "KeyType"]] = None, + **kwargs + ): + super(GetCallbackUrlParameters, self).__init__(**kwargs) + self.not_after = not_after + self.key_type = key_type + + +class IntegrationAccount(Resource): + """The integration account. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: The resource id. + :vartype id: str + :ivar name: Gets the resource name. + :vartype name: str + :ivar type: Gets the resource type. + :vartype type: str + :param location: The resource location. + :type location: str + :param tags: A set of tags. The resource tags. + :type tags: dict[str, str] + :param sku: The sku. + :type sku: ~azure.mgmt.logic.models.IntegrationAccountSku + :param integration_service_environment: The integration service environment. + :type integration_service_environment: ~azure.mgmt.logic.models.IntegrationServiceEnvironment + :param state: The workflow state. Possible values include: "NotSpecified", "Completed", + "Enabled", "Disabled", "Deleted", "Suspended". + :type state: str or ~azure.mgmt.logic.models.WorkflowState + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'sku': {'key': 'sku', 'type': 'IntegrationAccountSku'}, + 'integration_service_environment': {'key': 'properties.integrationServiceEnvironment', 'type': 'IntegrationServiceEnvironment'}, + 'state': {'key': 'properties.state', 'type': 'str'}, + } + + def __init__( + self, + *, + location: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + sku: Optional["IntegrationAccountSku"] = None, + integration_service_environment: Optional["IntegrationServiceEnvironment"] = None, + state: Optional[Union[str, "WorkflowState"]] = None, + **kwargs + ): + super(IntegrationAccount, self).__init__(location=location, tags=tags, **kwargs) + self.sku = sku + self.integration_service_environment = integration_service_environment + self.state = state + + +class IntegrationAccountAgreement(Resource): + """The integration account agreement. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The resource id. + :vartype id: str + :ivar name: Gets the resource name. + :vartype name: str + :ivar type: Gets the resource type. + :vartype type: str + :param location: The resource location. + :type location: str + :param tags: A set of tags. The resource tags. + :type tags: dict[str, str] + :ivar created_time: The created time. + :vartype created_time: ~datetime.datetime + :ivar changed_time: The changed time. + :vartype changed_time: ~datetime.datetime + :param metadata: The metadata. + :type metadata: object + :param agreement_type: Required. The agreement type. Possible values include: "NotSpecified", + "AS2", "X12", "Edifact". + :type agreement_type: str or ~azure.mgmt.logic.models.AgreementType + :param host_partner: Required. The integration account partner that is set as host partner for + this agreement. + :type host_partner: str + :param guest_partner: Required. The integration account partner that is set as guest partner + for this agreement. + :type guest_partner: str + :param host_identity: Required. The business identity of the host partner. + :type host_identity: ~azure.mgmt.logic.models.BusinessIdentity + :param guest_identity: Required. The business identity of the guest partner. + :type guest_identity: ~azure.mgmt.logic.models.BusinessIdentity + :param content: Required. The agreement content. + :type content: ~azure.mgmt.logic.models.AgreementContent + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'created_time': {'readonly': True}, + 'changed_time': {'readonly': True}, + 'agreement_type': {'required': True}, + 'host_partner': {'required': True}, + 'guest_partner': {'required': True}, + 'host_identity': {'required': True}, + 'guest_identity': {'required': True}, + 'content': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'created_time': {'key': 'properties.createdTime', 'type': 'iso-8601'}, + 'changed_time': {'key': 'properties.changedTime', 'type': 'iso-8601'}, + 'metadata': {'key': 'properties.metadata', 'type': 'object'}, + 'agreement_type': {'key': 'properties.agreementType', 'type': 'str'}, + 'host_partner': {'key': 'properties.hostPartner', 'type': 'str'}, + 'guest_partner': {'key': 'properties.guestPartner', 'type': 'str'}, + 'host_identity': {'key': 'properties.hostIdentity', 'type': 'BusinessIdentity'}, + 'guest_identity': {'key': 'properties.guestIdentity', 'type': 'BusinessIdentity'}, + 'content': {'key': 'properties.content', 'type': 'AgreementContent'}, + } + + def __init__( + self, + *, + agreement_type: Union[str, "AgreementType"], + host_partner: str, + guest_partner: str, + host_identity: "BusinessIdentity", + guest_identity: "BusinessIdentity", + content: "AgreementContent", + location: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + metadata: Optional[object] = None, + **kwargs + ): + super(IntegrationAccountAgreement, self).__init__(location=location, tags=tags, **kwargs) + self.created_time = None + self.changed_time = None + self.metadata = metadata + self.agreement_type = agreement_type + self.host_partner = host_partner + self.guest_partner = guest_partner + self.host_identity = host_identity + self.guest_identity = guest_identity + self.content = content + + +class IntegrationAccountAgreementFilter(msrest.serialization.Model): + """The integration account agreement filter for odata query. + + All required parameters must be populated in order to send to Azure. + + :param agreement_type: Required. The agreement type of integration account agreement. Possible + values include: "NotSpecified", "AS2", "X12", "Edifact". + :type agreement_type: str or ~azure.mgmt.logic.models.AgreementType + """ + + _validation = { + 'agreement_type': {'required': True}, + } + + _attribute_map = { + 'agreement_type': {'key': 'agreementType', 'type': 'str'}, + } + + def __init__( + self, + *, + agreement_type: Union[str, "AgreementType"], + **kwargs + ): + super(IntegrationAccountAgreementFilter, self).__init__(**kwargs) + self.agreement_type = agreement_type + + +class IntegrationAccountAgreementListResult(msrest.serialization.Model): + """The list of integration account agreements. + + :param value: The list of integration account agreements. + :type value: list[~azure.mgmt.logic.models.IntegrationAccountAgreement] + :param next_link: The URL to get the next set of results. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[IntegrationAccountAgreement]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["IntegrationAccountAgreement"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(IntegrationAccountAgreementListResult, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class IntegrationAccountCertificate(Resource): + """The integration account certificate. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: The resource id. + :vartype id: str + :ivar name: Gets the resource name. + :vartype name: str + :ivar type: Gets the resource type. + :vartype type: str + :param location: The resource location. + :type location: str + :param tags: A set of tags. The resource tags. + :type tags: dict[str, str] + :ivar created_time: The created time. + :vartype created_time: ~datetime.datetime + :ivar changed_time: The changed time. + :vartype changed_time: ~datetime.datetime + :param metadata: The metadata. + :type metadata: object + :param key: The key details in the key vault. + :type key: ~azure.mgmt.logic.models.KeyVaultKeyReference + :param public_certificate: The public certificate. + :type public_certificate: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'created_time': {'readonly': True}, + 'changed_time': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'created_time': {'key': 'properties.createdTime', 'type': 'iso-8601'}, + 'changed_time': {'key': 'properties.changedTime', 'type': 'iso-8601'}, + 'metadata': {'key': 'properties.metadata', 'type': 'object'}, + 'key': {'key': 'properties.key', 'type': 'KeyVaultKeyReference'}, + 'public_certificate': {'key': 'properties.publicCertificate', 'type': 'str'}, + } + + def __init__( + self, + *, + location: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + metadata: Optional[object] = None, + key: Optional["KeyVaultKeyReference"] = None, + public_certificate: Optional[str] = None, + **kwargs + ): + super(IntegrationAccountCertificate, self).__init__(location=location, tags=tags, **kwargs) + self.created_time = None + self.changed_time = None + self.metadata = metadata + self.key = key + self.public_certificate = public_certificate + + +class IntegrationAccountCertificateListResult(msrest.serialization.Model): + """The list of integration account certificates. + + :param value: The list of integration account certificates. + :type value: list[~azure.mgmt.logic.models.IntegrationAccountCertificate] + :param next_link: The URL to get the next set of results. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[IntegrationAccountCertificate]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["IntegrationAccountCertificate"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(IntegrationAccountCertificateListResult, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class IntegrationAccountListResult(msrest.serialization.Model): + """The list of integration accounts. + + :param value: The list of integration accounts. + :type value: list[~azure.mgmt.logic.models.IntegrationAccount] + :param next_link: The URL to get the next set of results. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[IntegrationAccount]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["IntegrationAccount"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(IntegrationAccountListResult, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class IntegrationAccountMap(Resource): + """The integration account map. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The resource id. + :vartype id: str + :ivar name: Gets the resource name. + :vartype name: str + :ivar type: Gets the resource type. + :vartype type: str + :param location: The resource location. + :type location: str + :param tags: A set of tags. The resource tags. + :type tags: dict[str, str] + :param map_type: Required. The map type. Possible values include: "NotSpecified", "Xslt", + "Xslt20", "Xslt30", "Liquid". + :type map_type: str or ~azure.mgmt.logic.models.MapType + :param parameters_schema: The parameters schema of integration account map. + :type parameters_schema: + ~azure.mgmt.logic.models.IntegrationAccountMapPropertiesParametersSchema + :ivar created_time: The created time. + :vartype created_time: ~datetime.datetime + :ivar changed_time: The changed time. + :vartype changed_time: ~datetime.datetime + :param content: The content. + :type content: str + :param content_type: The content type. + :type content_type: str + :ivar content_link: The content link. + :vartype content_link: ~azure.mgmt.logic.models.ContentLink + :param metadata: The metadata. + :type metadata: object + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'map_type': {'required': True}, + 'created_time': {'readonly': True}, + 'changed_time': {'readonly': True}, + 'content_link': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'map_type': {'key': 'properties.mapType', 'type': 'str'}, + 'parameters_schema': {'key': 'properties.parametersSchema', 'type': 'IntegrationAccountMapPropertiesParametersSchema'}, + 'created_time': {'key': 'properties.createdTime', 'type': 'iso-8601'}, + 'changed_time': {'key': 'properties.changedTime', 'type': 'iso-8601'}, + 'content': {'key': 'properties.content', 'type': 'str'}, + 'content_type': {'key': 'properties.contentType', 'type': 'str'}, + 'content_link': {'key': 'properties.contentLink', 'type': 'ContentLink'}, + 'metadata': {'key': 'properties.metadata', 'type': 'object'}, + } + + def __init__( + self, + *, + map_type: Union[str, "MapType"], + location: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + parameters_schema: Optional["IntegrationAccountMapPropertiesParametersSchema"] = None, + content: Optional[str] = None, + content_type: Optional[str] = None, + metadata: Optional[object] = None, + **kwargs + ): + super(IntegrationAccountMap, self).__init__(location=location, tags=tags, **kwargs) + self.map_type = map_type + self.parameters_schema = parameters_schema + self.created_time = None + self.changed_time = None + self.content = content + self.content_type = content_type + self.content_link = None + self.metadata = metadata + + +class IntegrationAccountMapFilter(msrest.serialization.Model): + """The integration account map filter for odata query. + + All required parameters must be populated in order to send to Azure. + + :param map_type: Required. The map type of integration account map. Possible values include: + "NotSpecified", "Xslt", "Xslt20", "Xslt30", "Liquid". + :type map_type: str or ~azure.mgmt.logic.models.MapType + """ + + _validation = { + 'map_type': {'required': True}, + } + + _attribute_map = { + 'map_type': {'key': 'mapType', 'type': 'str'}, + } + + def __init__( + self, + *, + map_type: Union[str, "MapType"], + **kwargs + ): + super(IntegrationAccountMapFilter, self).__init__(**kwargs) + self.map_type = map_type + + +class IntegrationAccountMapListResult(msrest.serialization.Model): + """The list of integration account maps. + + :param value: The list of integration account maps. + :type value: list[~azure.mgmt.logic.models.IntegrationAccountMap] + :param next_link: The URL to get the next set of results. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[IntegrationAccountMap]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["IntegrationAccountMap"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(IntegrationAccountMapListResult, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class IntegrationAccountMapPropertiesParametersSchema(msrest.serialization.Model): + """The parameters schema of integration account map. + + :param ref: The reference name. + :type ref: str + """ + + _attribute_map = { + 'ref': {'key': 'ref', 'type': 'str'}, + } + + def __init__( + self, + *, + ref: Optional[str] = None, + **kwargs + ): + super(IntegrationAccountMapPropertiesParametersSchema, self).__init__(**kwargs) + self.ref = ref + + +class IntegrationAccountPartner(Resource): + """The integration account partner. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The resource id. + :vartype id: str + :ivar name: Gets the resource name. + :vartype name: str + :ivar type: Gets the resource type. + :vartype type: str + :param location: The resource location. + :type location: str + :param tags: A set of tags. The resource tags. + :type tags: dict[str, str] + :param partner_type: Required. The partner type. Possible values include: "NotSpecified", + "B2B". + :type partner_type: str or ~azure.mgmt.logic.models.PartnerType + :ivar created_time: The created time. + :vartype created_time: ~datetime.datetime + :ivar changed_time: The changed time. + :vartype changed_time: ~datetime.datetime + :param metadata: The metadata. + :type metadata: object + :param content: Required. The partner content. + :type content: ~azure.mgmt.logic.models.PartnerContent + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'partner_type': {'required': True}, + 'created_time': {'readonly': True}, + 'changed_time': {'readonly': True}, + 'content': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'partner_type': {'key': 'properties.partnerType', 'type': 'str'}, + 'created_time': {'key': 'properties.createdTime', 'type': 'iso-8601'}, + 'changed_time': {'key': 'properties.changedTime', 'type': 'iso-8601'}, + 'metadata': {'key': 'properties.metadata', 'type': 'object'}, + 'content': {'key': 'properties.content', 'type': 'PartnerContent'}, + } + + def __init__( + self, + *, + partner_type: Union[str, "PartnerType"], + content: "PartnerContent", + location: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + metadata: Optional[object] = None, + **kwargs + ): + super(IntegrationAccountPartner, self).__init__(location=location, tags=tags, **kwargs) + self.partner_type = partner_type + self.created_time = None + self.changed_time = None + self.metadata = metadata + self.content = content + + +class IntegrationAccountPartnerFilter(msrest.serialization.Model): + """The integration account partner filter for odata query. + + All required parameters must be populated in order to send to Azure. + + :param partner_type: Required. The partner type of integration account partner. Possible values + include: "NotSpecified", "B2B". + :type partner_type: str or ~azure.mgmt.logic.models.PartnerType + """ + + _validation = { + 'partner_type': {'required': True}, + } + + _attribute_map = { + 'partner_type': {'key': 'partnerType', 'type': 'str'}, + } + + def __init__( + self, + *, + partner_type: Union[str, "PartnerType"], + **kwargs + ): + super(IntegrationAccountPartnerFilter, self).__init__(**kwargs) + self.partner_type = partner_type + + +class IntegrationAccountPartnerListResult(msrest.serialization.Model): + """The list of integration account partners. + + :param value: The list of integration account partners. + :type value: list[~azure.mgmt.logic.models.IntegrationAccountPartner] + :param next_link: The URL to get the next set of results. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[IntegrationAccountPartner]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["IntegrationAccountPartner"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(IntegrationAccountPartnerListResult, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class IntegrationAccountSchema(Resource): + """The integration account schema. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The resource id. + :vartype id: str + :ivar name: Gets the resource name. + :vartype name: str + :ivar type: Gets the resource type. + :vartype type: str + :param location: The resource location. + :type location: str + :param tags: A set of tags. The resource tags. + :type tags: dict[str, str] + :param schema_type: Required. The schema type. Possible values include: "NotSpecified", "Xml". + :type schema_type: str or ~azure.mgmt.logic.models.SchemaType + :param target_namespace: The target namespace of the schema. + :type target_namespace: str + :param document_name: The document name. + :type document_name: str + :param file_name: The file name. + :type file_name: str + :ivar created_time: The created time. + :vartype created_time: ~datetime.datetime + :ivar changed_time: The changed time. + :vartype changed_time: ~datetime.datetime + :param metadata: The metadata. + :type metadata: object + :param content: The content. + :type content: str + :param content_type: The content type. + :type content_type: str + :ivar content_link: The content link. + :vartype content_link: ~azure.mgmt.logic.models.ContentLink + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'schema_type': {'required': True}, + 'created_time': {'readonly': True}, + 'changed_time': {'readonly': True}, + 'content_link': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'schema_type': {'key': 'properties.schemaType', 'type': 'str'}, + 'target_namespace': {'key': 'properties.targetNamespace', 'type': 'str'}, + 'document_name': {'key': 'properties.documentName', 'type': 'str'}, + 'file_name': {'key': 'properties.fileName', 'type': 'str'}, + 'created_time': {'key': 'properties.createdTime', 'type': 'iso-8601'}, + 'changed_time': {'key': 'properties.changedTime', 'type': 'iso-8601'}, + 'metadata': {'key': 'properties.metadata', 'type': 'object'}, + 'content': {'key': 'properties.content', 'type': 'str'}, + 'content_type': {'key': 'properties.contentType', 'type': 'str'}, + 'content_link': {'key': 'properties.contentLink', 'type': 'ContentLink'}, + } + + def __init__( + self, + *, + schema_type: Union[str, "SchemaType"], + location: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + target_namespace: Optional[str] = None, + document_name: Optional[str] = None, + file_name: Optional[str] = None, + metadata: Optional[object] = None, + content: Optional[str] = None, + content_type: Optional[str] = None, + **kwargs + ): + super(IntegrationAccountSchema, self).__init__(location=location, tags=tags, **kwargs) + self.schema_type = schema_type + self.target_namespace = target_namespace + self.document_name = document_name + self.file_name = file_name + self.created_time = None + self.changed_time = None + self.metadata = metadata + self.content = content + self.content_type = content_type + self.content_link = None + + +class IntegrationAccountSchemaFilter(msrest.serialization.Model): + """The integration account schema filter for odata query. + + All required parameters must be populated in order to send to Azure. + + :param schema_type: Required. The schema type of integration account schema. Possible values + include: "NotSpecified", "Xml". + :type schema_type: str or ~azure.mgmt.logic.models.SchemaType + """ + + _validation = { + 'schema_type': {'required': True}, + } + + _attribute_map = { + 'schema_type': {'key': 'schemaType', 'type': 'str'}, + } + + def __init__( + self, + *, + schema_type: Union[str, "SchemaType"], + **kwargs + ): + super(IntegrationAccountSchemaFilter, self).__init__(**kwargs) + self.schema_type = schema_type + + +class IntegrationAccountSchemaListResult(msrest.serialization.Model): + """The list of integration account schemas. + + :param value: The list of integration account schemas. + :type value: list[~azure.mgmt.logic.models.IntegrationAccountSchema] + :param next_link: The URL to get the next set of results. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[IntegrationAccountSchema]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["IntegrationAccountSchema"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(IntegrationAccountSchemaListResult, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class IntegrationAccountSession(Resource): + """The integration account session. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: The resource id. + :vartype id: str + :ivar name: Gets the resource name. + :vartype name: str + :ivar type: Gets the resource type. + :vartype type: str + :param location: The resource location. + :type location: str + :param tags: A set of tags. The resource tags. + :type tags: dict[str, str] + :ivar created_time: The created time. + :vartype created_time: ~datetime.datetime + :ivar changed_time: The changed time. + :vartype changed_time: ~datetime.datetime + :param content: The session content. + :type content: object + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'created_time': {'readonly': True}, + 'changed_time': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'created_time': {'key': 'properties.createdTime', 'type': 'iso-8601'}, + 'changed_time': {'key': 'properties.changedTime', 'type': 'iso-8601'}, + 'content': {'key': 'properties.content', 'type': 'object'}, + } + + def __init__( + self, + *, + location: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + content: Optional[object] = None, + **kwargs + ): + super(IntegrationAccountSession, self).__init__(location=location, tags=tags, **kwargs) + self.created_time = None + self.changed_time = None + self.content = content + + +class IntegrationAccountSessionFilter(msrest.serialization.Model): + """The integration account session filter. + + All required parameters must be populated in order to send to Azure. + + :param changed_time: Required. The changed time of integration account sessions. + :type changed_time: ~datetime.datetime + """ + + _validation = { + 'changed_time': {'required': True}, + } + + _attribute_map = { + 'changed_time': {'key': 'changedTime', 'type': 'iso-8601'}, + } + + def __init__( + self, + *, + changed_time: datetime.datetime, + **kwargs + ): + super(IntegrationAccountSessionFilter, self).__init__(**kwargs) + self.changed_time = changed_time + + +class IntegrationAccountSessionListResult(msrest.serialization.Model): + """The list of integration account sessions. + + :param value: The list of integration account sessions. + :type value: list[~azure.mgmt.logic.models.IntegrationAccountSession] + :param next_link: The URL to get the next set of results. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[IntegrationAccountSession]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["IntegrationAccountSession"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(IntegrationAccountSessionListResult, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class IntegrationAccountSku(msrest.serialization.Model): + """The integration account sku. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. The sku name. Possible values include: "NotSpecified", "Free", "Basic", + "Standard". + :type name: str or ~azure.mgmt.logic.models.IntegrationAccountSkuName + """ + + _validation = { + 'name': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__( + self, + *, + name: Union[str, "IntegrationAccountSkuName"], + **kwargs + ): + super(IntegrationAccountSku, self).__init__(**kwargs) + self.name = name + + +class IntegrationServiceEnvironment(Resource): + """The integration service environment. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: The resource id. + :vartype id: str + :ivar name: Gets the resource name. + :vartype name: str + :ivar type: Gets the resource type. + :vartype type: str + :param location: The resource location. + :type location: str + :param tags: A set of tags. The resource tags. + :type tags: dict[str, str] + :param properties: The integration service environment properties. + :type properties: ~azure.mgmt.logic.models.IntegrationServiceEnvironmentProperties + :param sku: The sku. + :type sku: ~azure.mgmt.logic.models.IntegrationServiceEnvironmentSku + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'properties': {'key': 'properties', 'type': 'IntegrationServiceEnvironmentProperties'}, + 'sku': {'key': 'sku', 'type': 'IntegrationServiceEnvironmentSku'}, + } + + def __init__( + self, + *, + location: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + properties: Optional["IntegrationServiceEnvironmentProperties"] = None, + sku: Optional["IntegrationServiceEnvironmentSku"] = None, + **kwargs + ): + super(IntegrationServiceEnvironment, self).__init__(location=location, tags=tags, **kwargs) + self.properties = properties + self.sku = sku + + +class IntegrationServiceEnvironmentAccessEndpoint(msrest.serialization.Model): + """The integration service environment access endpoint. + + :param type: The access endpoint type. Possible values include: "NotSpecified", "External", + "Internal". + :type type: str or ~azure.mgmt.logic.models.IntegrationServiceEnvironmentAccessEndpointType + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__( + self, + *, + type: Optional[Union[str, "IntegrationServiceEnvironmentAccessEndpointType"]] = None, + **kwargs + ): + super(IntegrationServiceEnvironmentAccessEndpoint, self).__init__(**kwargs) + self.type = type + + +class IntegrationServiceEnvironmentListResult(msrest.serialization.Model): + """The list of integration service environments. + + :param value: + :type value: list[~azure.mgmt.logic.models.IntegrationServiceEnvironment] + :param next_link: The URL to get the next set of results. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[IntegrationServiceEnvironment]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["IntegrationServiceEnvironment"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(IntegrationServiceEnvironmentListResult, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class IntegrationServiceEnvironmentNetworkDependency(msrest.serialization.Model): + """The azure async operation resource. + + :param category: The network dependency category type. Possible values include: "NotSpecified", + "AzureStorage", "AzureManagement", "AzureActiveDirectory", "SSLCertificateVerification", + "DiagnosticLogsAndMetrics", "IntegrationServiceEnvironmentConnectors", "RedisCache", + "AccessEndpoints", "RecoveryService", "SQL", "RegionalService". + :type category: str or + ~azure.mgmt.logic.models.IntegrationServiceEnvironmentNetworkDependencyCategoryType + :param display_name: The display name. + :type display_name: str + :param endpoints: The endpoints. + :type endpoints: list[~azure.mgmt.logic.models.IntegrationServiceEnvironmentNetworkEndpoint] + """ + + _attribute_map = { + 'category': {'key': 'category', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'endpoints': {'key': 'endpoints', 'type': '[IntegrationServiceEnvironmentNetworkEndpoint]'}, + } + + def __init__( + self, + *, + category: Optional[Union[str, "IntegrationServiceEnvironmentNetworkDependencyCategoryType"]] = None, + display_name: Optional[str] = None, + endpoints: Optional[List["IntegrationServiceEnvironmentNetworkEndpoint"]] = None, + **kwargs + ): + super(IntegrationServiceEnvironmentNetworkDependency, self).__init__(**kwargs) + self.category = category + self.display_name = display_name + self.endpoints = endpoints + + +class IntegrationServiceEnvironmentNetworkDependencyHealth(msrest.serialization.Model): + """The integration service environment subnet network health. + + :param error: The error if any occurred during the operation. + :type error: ~azure.mgmt.logic.models.ExtendedErrorInfo + :param state: The network dependency health state. Possible values include: "NotSpecified", + "Healthy", "Unhealthy", "Unknown". + :type state: str or + ~azure.mgmt.logic.models.IntegrationServiceEnvironmentNetworkDependencyHealthState + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'ExtendedErrorInfo'}, + 'state': {'key': 'state', 'type': 'str'}, + } + + def __init__( + self, + *, + error: Optional["ExtendedErrorInfo"] = None, + state: Optional[Union[str, "IntegrationServiceEnvironmentNetworkDependencyHealthState"]] = None, + **kwargs + ): + super(IntegrationServiceEnvironmentNetworkDependencyHealth, self).__init__(**kwargs) + self.error = error + self.state = state + + +class IntegrationServiceEnvironmentNetworkEndpoint(msrest.serialization.Model): + """The network endpoint. + + :param accessibility: The accessibility state. Possible values include: "NotSpecified", + "Unknown", "Available", "NotAvailable". + :type accessibility: str or + ~azure.mgmt.logic.models.IntegrationServiceEnvironmentNetworkEndPointAccessibilityState + :param domain_name: The domain name. + :type domain_name: str + :param ports: The ports. + :type ports: list[str] + """ + + _attribute_map = { + 'accessibility': {'key': 'accessibility', 'type': 'str'}, + 'domain_name': {'key': 'domainName', 'type': 'str'}, + 'ports': {'key': 'ports', 'type': '[str]'}, + } + + def __init__( + self, + *, + accessibility: Optional[Union[str, "IntegrationServiceEnvironmentNetworkEndPointAccessibilityState"]] = None, + domain_name: Optional[str] = None, + ports: Optional[List[str]] = None, + **kwargs + ): + super(IntegrationServiceEnvironmentNetworkEndpoint, self).__init__(**kwargs) + self.accessibility = accessibility + self.domain_name = domain_name + self.ports = ports + + +class IntegrationServiceEnvironmentProperties(msrest.serialization.Model): + """The integration service environment properties. + + :param provisioning_state: The provisioning state. Possible values include: "NotSpecified", + "Accepted", "Running", "Ready", "Creating", "Created", "Deleting", "Deleted", "Canceled", + "Failed", "Succeeded", "Moving", "Updating", "Registering", "Registered", "Unregistering", + "Unregistered", "Completed", "Renewing", "Pending", "Waiting", "InProgress". + :type provisioning_state: str or ~azure.mgmt.logic.models.WorkflowProvisioningState + :param state: The integration service environment state. Possible values include: + "NotSpecified", "Completed", "Enabled", "Disabled", "Deleted", "Suspended". + :type state: str or ~azure.mgmt.logic.models.WorkflowState + :param integration_service_environment_id: Gets the tracking id. + :type integration_service_environment_id: str + :param endpoints_configuration: The endpoints configuration. + :type endpoints_configuration: ~azure.mgmt.logic.models.FlowEndpointsConfiguration + :param network_configuration: The network configuration. + :type network_configuration: ~azure.mgmt.logic.models.NetworkConfiguration + """ + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + 'integration_service_environment_id': {'key': 'integrationServiceEnvironmentId', 'type': 'str'}, + 'endpoints_configuration': {'key': 'endpointsConfiguration', 'type': 'FlowEndpointsConfiguration'}, + 'network_configuration': {'key': 'networkConfiguration', 'type': 'NetworkConfiguration'}, + } + + def __init__( + self, + *, + provisioning_state: Optional[Union[str, "WorkflowProvisioningState"]] = None, + state: Optional[Union[str, "WorkflowState"]] = None, + integration_service_environment_id: Optional[str] = None, + endpoints_configuration: Optional["FlowEndpointsConfiguration"] = None, + network_configuration: Optional["NetworkConfiguration"] = None, + **kwargs + ): + super(IntegrationServiceEnvironmentProperties, self).__init__(**kwargs) + self.provisioning_state = provisioning_state + self.state = state + self.integration_service_environment_id = integration_service_environment_id + self.endpoints_configuration = endpoints_configuration + self.network_configuration = network_configuration + + +class IntegrationServiceEnvironmentSku(msrest.serialization.Model): + """The integration service environment sku. + + :param name: The sku name. Possible values include: "NotSpecified", "Premium", "Developer". + :type name: str or ~azure.mgmt.logic.models.IntegrationServiceEnvironmentSkuName + :param capacity: The sku capacity. + :type capacity: int + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'capacity': {'key': 'capacity', 'type': 'int'}, + } + + def __init__( + self, + *, + name: Optional[Union[str, "IntegrationServiceEnvironmentSkuName"]] = None, + capacity: Optional[int] = None, + **kwargs + ): + super(IntegrationServiceEnvironmentSku, self).__init__(**kwargs) + self.name = name + self.capacity = capacity + + +class IntegrationServiceEnvironmentSkuCapacity(msrest.serialization.Model): + """The integration service environment sku capacity. + + :param minimum: The minimum capacity. + :type minimum: int + :param maximum: The maximum capacity. + :type maximum: int + :param default: The default capacity. + :type default: int + :param scale_type: The sku scale type. Possible values include: "Manual", "Automatic", "None". + :type scale_type: str or ~azure.mgmt.logic.models.IntegrationServiceEnvironmentSkuScaleType + """ + + _attribute_map = { + 'minimum': {'key': 'minimum', 'type': 'int'}, + 'maximum': {'key': 'maximum', 'type': 'int'}, + 'default': {'key': 'default', 'type': 'int'}, + 'scale_type': {'key': 'scaleType', 'type': 'str'}, + } + + def __init__( + self, + *, + minimum: Optional[int] = None, + maximum: Optional[int] = None, + default: Optional[int] = None, + scale_type: Optional[Union[str, "IntegrationServiceEnvironmentSkuScaleType"]] = None, + **kwargs + ): + super(IntegrationServiceEnvironmentSkuCapacity, self).__init__(**kwargs) + self.minimum = minimum + self.maximum = maximum + self.default = default + self.scale_type = scale_type + + +class IntegrationServiceEnvironmentSkuDefinition(msrest.serialization.Model): + """The integration service environment sku definition. + + :param resource_type: The resource type. + :type resource_type: str + :param sku: The sku. + :type sku: ~azure.mgmt.logic.models.IntegrationServiceEnvironmentSkuDefinitionSku + :param capacity: The sku capacity. + :type capacity: ~azure.mgmt.logic.models.IntegrationServiceEnvironmentSkuCapacity + """ + + _attribute_map = { + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'sku': {'key': 'sku', 'type': 'IntegrationServiceEnvironmentSkuDefinitionSku'}, + 'capacity': {'key': 'capacity', 'type': 'IntegrationServiceEnvironmentSkuCapacity'}, + } + + def __init__( + self, + *, + resource_type: Optional[str] = None, + sku: Optional["IntegrationServiceEnvironmentSkuDefinitionSku"] = None, + capacity: Optional["IntegrationServiceEnvironmentSkuCapacity"] = None, + **kwargs + ): + super(IntegrationServiceEnvironmentSkuDefinition, self).__init__(**kwargs) + self.resource_type = resource_type + self.sku = sku + self.capacity = capacity + + +class IntegrationServiceEnvironmentSkuDefinitionSku(msrest.serialization.Model): + """The sku. + + :param name: The sku name. Possible values include: "NotSpecified", "Premium", "Developer". + :type name: str or ~azure.mgmt.logic.models.IntegrationServiceEnvironmentSkuName + :param tier: The sku tier. + :type tier: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + } + + def __init__( + self, + *, + name: Optional[Union[str, "IntegrationServiceEnvironmentSkuName"]] = None, + tier: Optional[str] = None, + **kwargs + ): + super(IntegrationServiceEnvironmentSkuDefinitionSku, self).__init__(**kwargs) + self.name = name + self.tier = tier + + +class IntegrationServiceEnvironmentSkuList(msrest.serialization.Model): + """The list of integration service environment skus. + + :param value: The list of integration service environment skus. + :type value: list[~azure.mgmt.logic.models.IntegrationServiceEnvironmentSkuDefinition] + :param next_link: The URL to get the next set of results. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[IntegrationServiceEnvironmentSkuDefinition]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["IntegrationServiceEnvironmentSkuDefinition"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(IntegrationServiceEnvironmentSkuList, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class IntegrationServiceEnvironmentSubnetNetworkHealth(msrest.serialization.Model): + """The integration service environment subnet network health. + + All required parameters must be populated in order to send to Azure. + + :param outbound_network_dependencies: The outbound network dependencies. + :type outbound_network_dependencies: + list[~azure.mgmt.logic.models.IntegrationServiceEnvironmentNetworkDependency] + :param outbound_network_health: The integration service environment network health. + :type outbound_network_health: + ~azure.mgmt.logic.models.IntegrationServiceEnvironmentNetworkDependencyHealth + :param network_dependency_health_state: Required. The integration service environment network + health state. Possible values include: "NotSpecified", "Unknown", "Available", "NotAvailable". + :type network_dependency_health_state: str or + ~azure.mgmt.logic.models.IntegrationServiceEnvironmentNetworkEndPointAccessibilityState + """ + + _validation = { + 'network_dependency_health_state': {'required': True}, + } + + _attribute_map = { + 'outbound_network_dependencies': {'key': 'outboundNetworkDependencies', 'type': '[IntegrationServiceEnvironmentNetworkDependency]'}, + 'outbound_network_health': {'key': 'outboundNetworkHealth', 'type': 'IntegrationServiceEnvironmentNetworkDependencyHealth'}, + 'network_dependency_health_state': {'key': 'networkDependencyHealthState', 'type': 'str'}, + } + + def __init__( + self, + *, + network_dependency_health_state: Union[str, "IntegrationServiceEnvironmentNetworkEndPointAccessibilityState"], + outbound_network_dependencies: Optional[List["IntegrationServiceEnvironmentNetworkDependency"]] = None, + outbound_network_health: Optional["IntegrationServiceEnvironmentNetworkDependencyHealth"] = None, + **kwargs + ): + super(IntegrationServiceEnvironmentSubnetNetworkHealth, self).__init__(**kwargs) + self.outbound_network_dependencies = outbound_network_dependencies + self.outbound_network_health = outbound_network_health + self.network_dependency_health_state = network_dependency_health_state + + +class IpAddress(msrest.serialization.Model): + """The ip address. + + :param address: The address. + :type address: str + """ + + _attribute_map = { + 'address': {'key': 'address', 'type': 'str'}, + } + + def __init__( + self, + *, + address: Optional[str] = None, + **kwargs + ): + super(IpAddress, self).__init__(**kwargs) + self.address = address + + +class IpAddressRange(msrest.serialization.Model): + """The ip address range. + + :param address_range: The IP address range. + :type address_range: str + """ + + _attribute_map = { + 'address_range': {'key': 'addressRange', 'type': 'str'}, + } + + def __init__( + self, + *, + address_range: Optional[str] = None, + **kwargs + ): + super(IpAddressRange, self).__init__(**kwargs) + self.address_range = address_range + + +class JsonSchema(msrest.serialization.Model): + """The JSON schema. + + :param title: The JSON title. + :type title: str + :param content: The JSON content. + :type content: str + """ + + _attribute_map = { + 'title': {'key': 'title', 'type': 'str'}, + 'content': {'key': 'content', 'type': 'str'}, + } + + def __init__( + self, + *, + title: Optional[str] = None, + content: Optional[str] = None, + **kwargs + ): + super(JsonSchema, self).__init__(**kwargs) + self.title = title + self.content = content + + +class KeyVaultKey(msrest.serialization.Model): + """The key vault key. + + :param kid: The key id. + :type kid: str + :param attributes: The key attributes. + :type attributes: ~azure.mgmt.logic.models.KeyVaultKeyAttributes + """ + + _attribute_map = { + 'kid': {'key': 'kid', 'type': 'str'}, + 'attributes': {'key': 'attributes', 'type': 'KeyVaultKeyAttributes'}, + } + + def __init__( + self, + *, + kid: Optional[str] = None, + attributes: Optional["KeyVaultKeyAttributes"] = None, + **kwargs + ): + super(KeyVaultKey, self).__init__(**kwargs) + self.kid = kid + self.attributes = attributes + + +class KeyVaultKeyAttributes(msrest.serialization.Model): + """The key attributes. + + :param enabled: Whether the key is enabled or not. + :type enabled: bool + :param created: When the key was created. + :type created: long + :param updated: When the key was updated. + :type updated: long + """ + + _attribute_map = { + 'enabled': {'key': 'enabled', 'type': 'bool'}, + 'created': {'key': 'created', 'type': 'long'}, + 'updated': {'key': 'updated', 'type': 'long'}, + } + + def __init__( + self, + *, + enabled: Optional[bool] = None, + created: Optional[int] = None, + updated: Optional[int] = None, + **kwargs + ): + super(KeyVaultKeyAttributes, self).__init__(**kwargs) + self.enabled = enabled + self.created = created + self.updated = updated + + +class KeyVaultKeyCollection(msrest.serialization.Model): + """Collection of key vault keys. + + :param value: The key vault keys. + :type value: list[~azure.mgmt.logic.models.KeyVaultKey] + :param skip_token: The skip token. + :type skip_token: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[KeyVaultKey]'}, + 'skip_token': {'key': 'skipToken', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["KeyVaultKey"]] = None, + skip_token: Optional[str] = None, + **kwargs + ): + super(KeyVaultKeyCollection, self).__init__(**kwargs) + self.value = value + self.skip_token = skip_token + + +class KeyVaultKeyReference(msrest.serialization.Model): + """The reference to the key vault key. + + All required parameters must be populated in order to send to Azure. + + :param key_vault: Required. The key vault reference. + :type key_vault: ~azure.mgmt.logic.models.KeyVaultKeyReferenceKeyVault + :param key_name: Required. The private key name in key vault. + :type key_name: str + :param key_version: The private key version in key vault. + :type key_version: str + """ + + _validation = { + 'key_vault': {'required': True}, + 'key_name': {'required': True}, + } + + _attribute_map = { + 'key_vault': {'key': 'keyVault', 'type': 'KeyVaultKeyReferenceKeyVault'}, + 'key_name': {'key': 'keyName', 'type': 'str'}, + 'key_version': {'key': 'keyVersion', 'type': 'str'}, + } + + def __init__( + self, + *, + key_vault: "KeyVaultKeyReferenceKeyVault", + key_name: str, + key_version: Optional[str] = None, + **kwargs + ): + super(KeyVaultKeyReference, self).__init__(**kwargs) + self.key_vault = key_vault + self.key_name = key_name + self.key_version = key_version + + +class KeyVaultKeyReferenceKeyVault(msrest.serialization.Model): + """The key vault reference. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param id: The resource id. + :type id: str + :ivar name: The resource name. + :vartype name: str + :ivar type: The resource type. + :vartype type: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__( + self, + *, + id: Optional[str] = None, + **kwargs + ): + super(KeyVaultKeyReferenceKeyVault, self).__init__(**kwargs) + self.id = id + self.name = None + self.type = None + + +class KeyVaultReference(ResourceReference): + """The key vault reference. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param id: The resource id. + :type id: str + :ivar type: Gets the resource type. + :vartype type: str + :param name: The key vault name. + :type name: str + """ + + _validation = { + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__( + self, + *, + id: Optional[str] = None, + name: Optional[str] = None, + **kwargs + ): + super(KeyVaultReference, self).__init__(id=id, **kwargs) + self.name = name + + +class ListKeyVaultKeysDefinition(msrest.serialization.Model): + """The list key vault keys definition. + + All required parameters must be populated in order to send to Azure. + + :param key_vault: Required. The key vault reference. + :type key_vault: ~azure.mgmt.logic.models.KeyVaultReference + :param skip_token: The skip token. + :type skip_token: str + """ + + _validation = { + 'key_vault': {'required': True}, + } + + _attribute_map = { + 'key_vault': {'key': 'keyVault', 'type': 'KeyVaultReference'}, + 'skip_token': {'key': 'skipToken', 'type': 'str'}, + } + + def __init__( + self, + *, + key_vault: "KeyVaultReference", + skip_token: Optional[str] = None, + **kwargs + ): + super(ListKeyVaultKeysDefinition, self).__init__(**kwargs) + self.key_vault = key_vault + self.skip_token = skip_token + + +class ManagedApi(Resource): + """The managed api definition. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: The resource id. + :vartype id: str + :ivar name: Gets the resource name. + :vartype name: str + :ivar type: Gets the resource type. + :vartype type: str + :param location: The resource location. + :type location: str + :param tags: A set of tags. The resource tags. + :type tags: dict[str, str] + :param properties: The api resource properties. + :type properties: ~azure.mgmt.logic.models.ApiResourceProperties + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'properties': {'key': 'properties', 'type': 'ApiResourceProperties'}, + } + + def __init__( + self, + *, + location: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + properties: Optional["ApiResourceProperties"] = None, + **kwargs + ): + super(ManagedApi, self).__init__(location=location, tags=tags, **kwargs) + self.properties = properties + + +class ManagedApiListResult(msrest.serialization.Model): + """The list of managed APIs. + + :param value: The managed APIs. + :type value: list[~azure.mgmt.logic.models.ManagedApi] + :param next_link: The URL to get the next set of results. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ManagedApi]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["ManagedApi"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(ManagedApiListResult, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class NetworkConfiguration(msrest.serialization.Model): + """The network configuration. + + :param virtual_network_address_space: Gets the virtual network address space. + :type virtual_network_address_space: str + :param access_endpoint: The access endpoint. + :type access_endpoint: ~azure.mgmt.logic.models.IntegrationServiceEnvironmentAccessEndpoint + :param subnets: The subnets. + :type subnets: list[~azure.mgmt.logic.models.ResourceReference] + """ + + _attribute_map = { + 'virtual_network_address_space': {'key': 'virtualNetworkAddressSpace', 'type': 'str'}, + 'access_endpoint': {'key': 'accessEndpoint', 'type': 'IntegrationServiceEnvironmentAccessEndpoint'}, + 'subnets': {'key': 'subnets', 'type': '[ResourceReference]'}, + } + + def __init__( + self, + *, + virtual_network_address_space: Optional[str] = None, + access_endpoint: Optional["IntegrationServiceEnvironmentAccessEndpoint"] = None, + subnets: Optional[List["ResourceReference"]] = None, + **kwargs + ): + super(NetworkConfiguration, self).__init__(**kwargs) + self.virtual_network_address_space = virtual_network_address_space + self.access_endpoint = access_endpoint + self.subnets = subnets + + +class OpenAuthenticationAccessPolicies(msrest.serialization.Model): + """AuthenticationPolicy of type Open. + + :param policies: Open authentication policies. + :type policies: dict[str, ~azure.mgmt.logic.models.OpenAuthenticationAccessPolicy] + """ + + _attribute_map = { + 'policies': {'key': 'policies', 'type': '{OpenAuthenticationAccessPolicy}'}, + } + + def __init__( + self, + *, + policies: Optional[Dict[str, "OpenAuthenticationAccessPolicy"]] = None, + **kwargs + ): + super(OpenAuthenticationAccessPolicies, self).__init__(**kwargs) + self.policies = policies + + +class OpenAuthenticationAccessPolicy(msrest.serialization.Model): + """Open authentication access policy defined by user. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar type: Type of provider for OAuth. Default value: "AAD". + :vartype type: str + :param claims: The access policy claims. + :type claims: list[~azure.mgmt.logic.models.OpenAuthenticationPolicyClaim] + """ + + _validation = { + 'type': {'readonly': True, 'constant': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'claims': {'key': 'claims', 'type': '[OpenAuthenticationPolicyClaim]'}, + } + + type = "AAD" + + def __init__( + self, + *, + claims: Optional[List["OpenAuthenticationPolicyClaim"]] = None, + **kwargs + ): + super(OpenAuthenticationAccessPolicy, self).__init__(**kwargs) + self.type = None + self.claims = claims + + +class OpenAuthenticationPolicyClaim(msrest.serialization.Model): + """Open authentication policy claim. + + :param name: The name of the claim. + :type name: str + :param value: The value of the claim. + :type value: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + value: Optional[str] = None, + **kwargs + ): + super(OpenAuthenticationPolicyClaim, self).__init__(**kwargs) + self.name = name + self.value = value + + +class Operation(msrest.serialization.Model): + """Logic REST API operation. + + :param origin: Operation: origin. + :type origin: str + :param name: Operation name: {provider}/{resource}/{operation}. + :type name: str + :param display: The object that represents the operation. + :type display: ~azure.mgmt.logic.models.OperationDisplay + :param properties: The properties. + :type properties: object + """ + + _attribute_map = { + 'origin': {'key': 'origin', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'OperationDisplay'}, + 'properties': {'key': 'properties', 'type': 'object'}, + } + + def __init__( + self, + *, + origin: Optional[str] = None, + name: Optional[str] = None, + display: Optional["OperationDisplay"] = None, + properties: Optional[object] = None, + **kwargs + ): + super(Operation, self).__init__(**kwargs) + self.origin = origin + self.name = name + self.display = display + self.properties = properties + + +class OperationDisplay(msrest.serialization.Model): + """The object that represents the operation. + + :param provider: Service provider: Microsoft.Logic. + :type provider: str + :param resource: Resource on which the operation is performed: Profile, endpoint, etc. + :type resource: str + :param operation: Operation type: Read, write, delete, etc. + :type operation: str + :param description: Operation: description. + :type description: str + """ + + _attribute_map = { + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__( + self, + *, + provider: Optional[str] = None, + resource: Optional[str] = None, + operation: Optional[str] = None, + description: Optional[str] = None, + **kwargs + ): + super(OperationDisplay, self).__init__(**kwargs) + self.provider = provider + self.resource = resource + self.operation = operation + self.description = description + + +class OperationListResult(msrest.serialization.Model): + """Result of the request to list Logic operations. It contains a list of operations and a URL link to get the next set of results. + + :param value: List of Logic operations supported by the Logic resource provider. + :type value: list[~azure.mgmt.logic.models.Operation] + :param next_link: URL to get the next set of operation list results if there are any. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[Operation]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["Operation"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(OperationListResult, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class OperationResultProperties(msrest.serialization.Model): + """The run operation result properties. + + :param start_time: The start time of the workflow scope repetition. + :type start_time: ~datetime.datetime + :param end_time: The end time of the workflow scope repetition. + :type end_time: ~datetime.datetime + :param correlation: The correlation properties. + :type correlation: ~azure.mgmt.logic.models.RunActionCorrelation + :param status: The status of the workflow scope repetition. Possible values include: + "NotSpecified", "Paused", "Running", "Waiting", "Succeeded", "Skipped", "Suspended", + "Cancelled", "Failed", "Faulted", "TimedOut", "Aborted", "Ignored". + :type status: str or ~azure.mgmt.logic.models.WorkflowStatus + :param code: The workflow scope repetition code. + :type code: str + :param error: Any object. + :type error: object + """ + + _attribute_map = { + 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, + 'correlation': {'key': 'correlation', 'type': 'RunActionCorrelation'}, + 'status': {'key': 'status', 'type': 'str'}, + 'code': {'key': 'code', 'type': 'str'}, + 'error': {'key': 'error', 'type': 'object'}, + } + + def __init__( + self, + *, + start_time: Optional[datetime.datetime] = None, + end_time: Optional[datetime.datetime] = None, + correlation: Optional["RunActionCorrelation"] = None, + status: Optional[Union[str, "WorkflowStatus"]] = None, + code: Optional[str] = None, + error: Optional[object] = None, + **kwargs + ): + super(OperationResultProperties, self).__init__(**kwargs) + self.start_time = start_time + self.end_time = end_time + self.correlation = correlation + self.status = status + self.code = code + self.error = error + + +class OperationResult(OperationResultProperties): + """The operation result definition. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param start_time: The start time of the workflow scope repetition. + :type start_time: ~datetime.datetime + :param end_time: The end time of the workflow scope repetition. + :type end_time: ~datetime.datetime + :param correlation: The correlation properties. + :type correlation: ~azure.mgmt.logic.models.RunActionCorrelation + :param status: The status of the workflow scope repetition. Possible values include: + "NotSpecified", "Paused", "Running", "Waiting", "Succeeded", "Skipped", "Suspended", + "Cancelled", "Failed", "Faulted", "TimedOut", "Aborted", "Ignored". + :type status: str or ~azure.mgmt.logic.models.WorkflowStatus + :param code: The workflow scope repetition code. + :type code: str + :param error: Any object. + :type error: object + :ivar tracking_id: Gets the tracking id. + :vartype tracking_id: str + :ivar inputs: Gets the inputs. + :vartype inputs: object + :ivar inputs_link: Gets the link to inputs. + :vartype inputs_link: ~azure.mgmt.logic.models.ContentLink + :ivar outputs: Gets the outputs. + :vartype outputs: object + :ivar outputs_link: Gets the link to outputs. + :vartype outputs_link: ~azure.mgmt.logic.models.ContentLink + :ivar tracked_properties: Gets the tracked properties. + :vartype tracked_properties: object + :param retry_history: Gets the retry histories. + :type retry_history: list[~azure.mgmt.logic.models.RetryHistory] + :param iteration_count: + :type iteration_count: int + """ + + _validation = { + 'tracking_id': {'readonly': True}, + 'inputs': {'readonly': True}, + 'inputs_link': {'readonly': True}, + 'outputs': {'readonly': True}, + 'outputs_link': {'readonly': True}, + 'tracked_properties': {'readonly': True}, + } + + _attribute_map = { + 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, + 'correlation': {'key': 'correlation', 'type': 'RunActionCorrelation'}, + 'status': {'key': 'status', 'type': 'str'}, + 'code': {'key': 'code', 'type': 'str'}, + 'error': {'key': 'error', 'type': 'object'}, + 'tracking_id': {'key': 'trackingId', 'type': 'str'}, + 'inputs': {'key': 'inputs', 'type': 'object'}, + 'inputs_link': {'key': 'inputsLink', 'type': 'ContentLink'}, + 'outputs': {'key': 'outputs', 'type': 'object'}, + 'outputs_link': {'key': 'outputsLink', 'type': 'ContentLink'}, + 'tracked_properties': {'key': 'trackedProperties', 'type': 'object'}, + 'retry_history': {'key': 'retryHistory', 'type': '[RetryHistory]'}, + 'iteration_count': {'key': 'iterationCount', 'type': 'int'}, + } + + def __init__( + self, + *, + start_time: Optional[datetime.datetime] = None, + end_time: Optional[datetime.datetime] = None, + correlation: Optional["RunActionCorrelation"] = None, + status: Optional[Union[str, "WorkflowStatus"]] = None, + code: Optional[str] = None, + error: Optional[object] = None, + retry_history: Optional[List["RetryHistory"]] = None, + iteration_count: Optional[int] = None, + **kwargs + ): + super(OperationResult, self).__init__(start_time=start_time, end_time=end_time, correlation=correlation, status=status, code=code, error=error, **kwargs) + self.tracking_id = None + self.inputs = None + self.inputs_link = None + self.outputs = None + self.outputs_link = None + self.tracked_properties = None + self.retry_history = retry_history + self.iteration_count = iteration_count + + +class PartnerContent(msrest.serialization.Model): + """The integration account partner content. + + :param b2_b: The B2B partner content. + :type b2_b: ~azure.mgmt.logic.models.B2BPartnerContent + """ + + _attribute_map = { + 'b2_b': {'key': 'b2b', 'type': 'B2BPartnerContent'}, + } + + def __init__( + self, + *, + b2_b: Optional["B2BPartnerContent"] = None, + **kwargs + ): + super(PartnerContent, self).__init__(**kwargs) + self.b2_b = b2_b + + +class RecurrenceSchedule(msrest.serialization.Model): + """The recurrence schedule. + + :param minutes: The minutes. + :type minutes: list[int] + :param hours: The hours. + :type hours: list[int] + :param week_days: The days of the week. + :type week_days: list[str or ~azure.mgmt.logic.models.DaysOfWeek] + :param month_days: The month days. + :type month_days: list[int] + :param monthly_occurrences: The monthly occurrences. + :type monthly_occurrences: list[~azure.mgmt.logic.models.RecurrenceScheduleOccurrence] + """ + + _attribute_map = { + 'minutes': {'key': 'minutes', 'type': '[int]'}, + 'hours': {'key': 'hours', 'type': '[int]'}, + 'week_days': {'key': 'weekDays', 'type': '[str]'}, + 'month_days': {'key': 'monthDays', 'type': '[int]'}, + 'monthly_occurrences': {'key': 'monthlyOccurrences', 'type': '[RecurrenceScheduleOccurrence]'}, + } + + def __init__( + self, + *, + minutes: Optional[List[int]] = None, + hours: Optional[List[int]] = None, + week_days: Optional[List[Union[str, "DaysOfWeek"]]] = None, + month_days: Optional[List[int]] = None, + monthly_occurrences: Optional[List["RecurrenceScheduleOccurrence"]] = None, + **kwargs + ): + super(RecurrenceSchedule, self).__init__(**kwargs) + self.minutes = minutes + self.hours = hours + self.week_days = week_days + self.month_days = month_days + self.monthly_occurrences = monthly_occurrences + + +class RecurrenceScheduleOccurrence(msrest.serialization.Model): + """The recurrence schedule occurrence. + + :param day: The day of the week. Possible values include: "Sunday", "Monday", "Tuesday", + "Wednesday", "Thursday", "Friday", "Saturday". + :type day: str or ~azure.mgmt.logic.models.DayOfWeek + :param occurrence: The occurrence. + :type occurrence: int + """ + + _attribute_map = { + 'day': {'key': 'day', 'type': 'str'}, + 'occurrence': {'key': 'occurrence', 'type': 'int'}, + } + + def __init__( + self, + *, + day: Optional[Union[str, "DayOfWeek"]] = None, + occurrence: Optional[int] = None, + **kwargs + ): + super(RecurrenceScheduleOccurrence, self).__init__(**kwargs) + self.day = day + self.occurrence = occurrence + + +class RegenerateActionParameter(msrest.serialization.Model): + """The access key regenerate action content. + + :param key_type: The key type. Possible values include: "NotSpecified", "Primary", "Secondary". + :type key_type: str or ~azure.mgmt.logic.models.KeyType + """ + + _attribute_map = { + 'key_type': {'key': 'keyType', 'type': 'str'}, + } + + def __init__( + self, + *, + key_type: Optional[Union[str, "KeyType"]] = None, + **kwargs + ): + super(RegenerateActionParameter, self).__init__(**kwargs) + self.key_type = key_type + + +class RepetitionIndex(msrest.serialization.Model): + """The workflow run action repetition index. + + All required parameters must be populated in order to send to Azure. + + :param scope_name: The scope. + :type scope_name: str + :param item_index: Required. The index. + :type item_index: int + """ + + _validation = { + 'item_index': {'required': True}, + } + + _attribute_map = { + 'scope_name': {'key': 'scopeName', 'type': 'str'}, + 'item_index': {'key': 'itemIndex', 'type': 'int'}, + } + + def __init__( + self, + *, + item_index: int, + scope_name: Optional[str] = None, + **kwargs + ): + super(RepetitionIndex, self).__init__(**kwargs) + self.scope_name = scope_name + self.item_index = item_index + + +class Request(msrest.serialization.Model): + """A request. + + :param headers: A list of all the headers attached to the request. + :type headers: object + :param uri: The destination for the request. + :type uri: str + :param method: The HTTP method used for the request. + :type method: str + """ + + _attribute_map = { + 'headers': {'key': 'headers', 'type': 'object'}, + 'uri': {'key': 'uri', 'type': 'str'}, + 'method': {'key': 'method', 'type': 'str'}, + } + + def __init__( + self, + *, + headers: Optional[object] = None, + uri: Optional[str] = None, + method: Optional[str] = None, + **kwargs + ): + super(Request, self).__init__(**kwargs) + self.headers = headers + self.uri = uri + self.method = method + + +class RequestHistory(Resource): + """The request history. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: The resource id. + :vartype id: str + :ivar name: Gets the resource name. + :vartype name: str + :ivar type: Gets the resource type. + :vartype type: str + :param location: The resource location. + :type location: str + :param tags: A set of tags. The resource tags. + :type tags: dict[str, str] + :param properties: The request history properties. + :type properties: ~azure.mgmt.logic.models.RequestHistoryProperties + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'properties': {'key': 'properties', 'type': 'RequestHistoryProperties'}, + } + + def __init__( + self, + *, + location: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + properties: Optional["RequestHistoryProperties"] = None, + **kwargs + ): + super(RequestHistory, self).__init__(location=location, tags=tags, **kwargs) + self.properties = properties + + +class RequestHistoryListResult(msrest.serialization.Model): + """The list of workflow request histories. + + :param value: A list of workflow request histories. + :type value: list[~azure.mgmt.logic.models.RequestHistory] + :param next_link: The URL to get the next set of results. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[RequestHistory]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["RequestHistory"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(RequestHistoryListResult, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class RequestHistoryProperties(msrest.serialization.Model): + """The request history. + + :param start_time: The time the request started. + :type start_time: ~datetime.datetime + :param end_time: The time the request ended. + :type end_time: ~datetime.datetime + :param request: The request. + :type request: ~azure.mgmt.logic.models.Request + :param response: The response. + :type response: ~azure.mgmt.logic.models.Response + """ + + _attribute_map = { + 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, + 'request': {'key': 'request', 'type': 'Request'}, + 'response': {'key': 'response', 'type': 'Response'}, + } + + def __init__( + self, + *, + start_time: Optional[datetime.datetime] = None, + end_time: Optional[datetime.datetime] = None, + request: Optional["Request"] = None, + response: Optional["Response"] = None, + **kwargs + ): + super(RequestHistoryProperties, self).__init__(**kwargs) + self.start_time = start_time + self.end_time = end_time + self.request = request + self.response = response + + +class Response(msrest.serialization.Model): + """A response. + + :param headers: A list of all the headers attached to the response. + :type headers: object + :param status_code: The status code of the response. + :type status_code: int + :param body_link: Details on the location of the body content. + :type body_link: ~azure.mgmt.logic.models.ContentLink + """ + + _attribute_map = { + 'headers': {'key': 'headers', 'type': 'object'}, + 'status_code': {'key': 'statusCode', 'type': 'int'}, + 'body_link': {'key': 'bodyLink', 'type': 'ContentLink'}, + } + + def __init__( + self, + *, + headers: Optional[object] = None, + status_code: Optional[int] = None, + body_link: Optional["ContentLink"] = None, + **kwargs + ): + super(Response, self).__init__(**kwargs) + self.headers = headers + self.status_code = status_code + self.body_link = body_link + + +class RetryHistory(msrest.serialization.Model): + """The retry history. + + :param start_time: Gets the start time. + :type start_time: ~datetime.datetime + :param end_time: Gets the end time. + :type end_time: ~datetime.datetime + :param code: Gets the status code. + :type code: str + :param client_request_id: Gets the client request Id. + :type client_request_id: str + :param service_request_id: Gets the service request Id. + :type service_request_id: str + :param error: Gets the error response. + :type error: ~azure.mgmt.logic.models.ErrorResponse + """ + + _attribute_map = { + 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, + 'code': {'key': 'code', 'type': 'str'}, + 'client_request_id': {'key': 'clientRequestId', 'type': 'str'}, + 'service_request_id': {'key': 'serviceRequestId', 'type': 'str'}, + 'error': {'key': 'error', 'type': 'ErrorResponse'}, + } + + def __init__( + self, + *, + start_time: Optional[datetime.datetime] = None, + end_time: Optional[datetime.datetime] = None, + code: Optional[str] = None, + client_request_id: Optional[str] = None, + service_request_id: Optional[str] = None, + error: Optional["ErrorResponse"] = None, + **kwargs + ): + super(RetryHistory, self).__init__(**kwargs) + self.start_time = start_time + self.end_time = end_time + self.code = code + self.client_request_id = client_request_id + self.service_request_id = service_request_id + self.error = error + + +class RunCorrelation(msrest.serialization.Model): + """The correlation properties. + + :param client_tracking_id: The client tracking identifier. + :type client_tracking_id: str + :param client_keywords: The client keywords. + :type client_keywords: list[str] + """ + + _attribute_map = { + 'client_tracking_id': {'key': 'clientTrackingId', 'type': 'str'}, + 'client_keywords': {'key': 'clientKeywords', 'type': '[str]'}, + } + + def __init__( + self, + *, + client_tracking_id: Optional[str] = None, + client_keywords: Optional[List[str]] = None, + **kwargs + ): + super(RunCorrelation, self).__init__(**kwargs) + self.client_tracking_id = client_tracking_id + self.client_keywords = client_keywords + + +class RunActionCorrelation(RunCorrelation): + """The workflow run action correlation properties. + + :param client_tracking_id: The client tracking identifier. + :type client_tracking_id: str + :param client_keywords: The client keywords. + :type client_keywords: list[str] + :param action_tracking_id: The action tracking identifier. + :type action_tracking_id: str + """ + + _attribute_map = { + 'client_tracking_id': {'key': 'clientTrackingId', 'type': 'str'}, + 'client_keywords': {'key': 'clientKeywords', 'type': '[str]'}, + 'action_tracking_id': {'key': 'actionTrackingId', 'type': 'str'}, + } + + def __init__( + self, + *, + client_tracking_id: Optional[str] = None, + client_keywords: Optional[List[str]] = None, + action_tracking_id: Optional[str] = None, + **kwargs + ): + super(RunActionCorrelation, self).__init__(client_tracking_id=client_tracking_id, client_keywords=client_keywords, **kwargs) + self.action_tracking_id = action_tracking_id + + +class SetTriggerStateActionDefinition(msrest.serialization.Model): + """The set trigger state action definition. + + All required parameters must be populated in order to send to Azure. + + :param source: Required. The source. + :type source: ~azure.mgmt.logic.models.WorkflowTriggerReference + """ + + _validation = { + 'source': {'required': True}, + } + + _attribute_map = { + 'source': {'key': 'source', 'type': 'WorkflowTriggerReference'}, + } + + def __init__( + self, + *, + source: "WorkflowTriggerReference", + **kwargs + ): + super(SetTriggerStateActionDefinition, self).__init__(**kwargs) + self.source = source + + +class Sku(msrest.serialization.Model): + """The sku type. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. The name. Possible values include: "NotSpecified", "Free", "Shared", + "Basic", "Standard", "Premium". + :type name: str or ~azure.mgmt.logic.models.SkuName + :param plan: The reference to plan. + :type plan: ~azure.mgmt.logic.models.ResourceReference + """ + + _validation = { + 'name': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'plan': {'key': 'plan', 'type': 'ResourceReference'}, + } + + def __init__( + self, + *, + name: Union[str, "SkuName"], + plan: Optional["ResourceReference"] = None, + **kwargs + ): + super(Sku, self).__init__(**kwargs) + self.name = name + self.plan = plan + + +class SubResource(msrest.serialization.Model): + """The sub resource type. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: The resource id. + :vartype id: str + """ + + _validation = { + 'id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(SubResource, self).__init__(**kwargs) + self.id = None + + +class SwaggerCustomDynamicList(msrest.serialization.Model): + """The swagger custom dynamic list. + + :param operation_id: The operation id to fetch dynamic schema. + :type operation_id: str + :param built_in_operation: The built in operation. + :type built_in_operation: str + :param items_path: The path to a response property (relative to the response object, not the + response body) which contains an array of dynamic value items. + :type items_path: str + :param item_value_path: The path to a property which defines the value which should be used. + :type item_value_path: str + :param item_title_path: The path to an item property which defines the display name of the + item. + :type item_title_path: str + :param parameters: The parameters. + :type parameters: dict[str, ~azure.mgmt.logic.models.SwaggerCustomDynamicProperties] + """ + + _attribute_map = { + 'operation_id': {'key': 'operationId', 'type': 'str'}, + 'built_in_operation': {'key': 'builtInOperation', 'type': 'str'}, + 'items_path': {'key': 'itemsPath', 'type': 'str'}, + 'item_value_path': {'key': 'itemValuePath', 'type': 'str'}, + 'item_title_path': {'key': 'itemTitlePath', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{SwaggerCustomDynamicProperties}'}, + } + + def __init__( + self, + *, + operation_id: Optional[str] = None, + built_in_operation: Optional[str] = None, + items_path: Optional[str] = None, + item_value_path: Optional[str] = None, + item_title_path: Optional[str] = None, + parameters: Optional[Dict[str, "SwaggerCustomDynamicProperties"]] = None, + **kwargs + ): + super(SwaggerCustomDynamicList, self).__init__(**kwargs) + self.operation_id = operation_id + self.built_in_operation = built_in_operation + self.items_path = items_path + self.item_value_path = item_value_path + self.item_title_path = item_title_path + self.parameters = parameters + + +class SwaggerCustomDynamicProperties(msrest.serialization.Model): + """The swagger custom dynamic properties. + + :param operation_id: The operation id to fetch dynamic schema. + :type operation_id: str + :param value_path: Json pointer to the dynamic schema on the response body. + :type value_path: str + :param parameters: The operation parameters. + :type parameters: dict[str, ~azure.mgmt.logic.models.SwaggerCustomDynamicProperties] + """ + + _attribute_map = { + 'operation_id': {'key': 'operationId', 'type': 'str'}, + 'value_path': {'key': 'valuePath', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{SwaggerCustomDynamicProperties}'}, + } + + def __init__( + self, + *, + operation_id: Optional[str] = None, + value_path: Optional[str] = None, + parameters: Optional[Dict[str, "SwaggerCustomDynamicProperties"]] = None, + **kwargs + ): + super(SwaggerCustomDynamicProperties, self).__init__(**kwargs) + self.operation_id = operation_id + self.value_path = value_path + self.parameters = parameters + + +class SwaggerCustomDynamicSchema(msrest.serialization.Model): + """The swagger custom dynamic schema. + + :param operation_id: The operation id to fetch dynamic schema. + :type operation_id: str + :param value_path: Json pointer to the dynamic schema on the response body. + :type value_path: str + :param parameters: The operation parameters. + :type parameters: dict[str, object] + """ + + _attribute_map = { + 'operation_id': {'key': 'operationId', 'type': 'str'}, + 'value_path': {'key': 'valuePath', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{object}'}, + } + + def __init__( + self, + *, + operation_id: Optional[str] = None, + value_path: Optional[str] = None, + parameters: Optional[Dict[str, object]] = None, + **kwargs + ): + super(SwaggerCustomDynamicSchema, self).__init__(**kwargs) + self.operation_id = operation_id + self.value_path = value_path + self.parameters = parameters + + +class SwaggerCustomDynamicTree(msrest.serialization.Model): + """The swagger custom dynamic tree. + + :param settings: The tree settings. + :type settings: ~azure.mgmt.logic.models.SwaggerCustomDynamicTreeSettings + :param open: The tree on-open configuration. + :type open: ~azure.mgmt.logic.models.SwaggerCustomDynamicTreeCommand + :param browse: The tree on-browse configuration. + :type browse: ~azure.mgmt.logic.models.SwaggerCustomDynamicTreeCommand + """ + + _attribute_map = { + 'settings': {'key': 'settings', 'type': 'SwaggerCustomDynamicTreeSettings'}, + 'open': {'key': 'open', 'type': 'SwaggerCustomDynamicTreeCommand'}, + 'browse': {'key': 'browse', 'type': 'SwaggerCustomDynamicTreeCommand'}, + } + + def __init__( + self, + *, + settings: Optional["SwaggerCustomDynamicTreeSettings"] = None, + open: Optional["SwaggerCustomDynamicTreeCommand"] = None, + browse: Optional["SwaggerCustomDynamicTreeCommand"] = None, + **kwargs + ): + super(SwaggerCustomDynamicTree, self).__init__(**kwargs) + self.settings = settings + self.open = open + self.browse = browse + + +class SwaggerCustomDynamicTreeCommand(msrest.serialization.Model): + """The swagger tree command. + + :param operation_id: The path to an item property which defines the display name of the item. + :type operation_id: str + :param items_path: The path to an item property which defines the display name of the item. + :type items_path: str + :param item_value_path: The path to an item property which defines the display name of the + item. + :type item_value_path: str + :param item_title_path: The path to an item property which defines the display name of the + item. + :type item_title_path: str + :param item_full_title_path: The path to an item property which defines the display name of the + item. + :type item_full_title_path: str + :param item_is_parent: The path to an item property which defines the display name of the item. + :type item_is_parent: str + :param selectable_filter: The path to an item property which defines the display name of the + item. + :type selectable_filter: str + :param parameters: Dictionary of :code:``. + :type parameters: dict[str, ~azure.mgmt.logic.models.SwaggerCustomDynamicTreeParameter] + """ + + _attribute_map = { + 'operation_id': {'key': 'operationId', 'type': 'str'}, + 'items_path': {'key': 'itemsPath', 'type': 'str'}, + 'item_value_path': {'key': 'itemValuePath', 'type': 'str'}, + 'item_title_path': {'key': 'itemTitlePath', 'type': 'str'}, + 'item_full_title_path': {'key': 'itemFullTitlePath', 'type': 'str'}, + 'item_is_parent': {'key': 'itemIsParent', 'type': 'str'}, + 'selectable_filter': {'key': 'selectableFilter', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{SwaggerCustomDynamicTreeParameter}'}, + } + + def __init__( + self, + *, + operation_id: Optional[str] = None, + items_path: Optional[str] = None, + item_value_path: Optional[str] = None, + item_title_path: Optional[str] = None, + item_full_title_path: Optional[str] = None, + item_is_parent: Optional[str] = None, + selectable_filter: Optional[str] = None, + parameters: Optional[Dict[str, "SwaggerCustomDynamicTreeParameter"]] = None, + **kwargs + ): + super(SwaggerCustomDynamicTreeCommand, self).__init__(**kwargs) + self.operation_id = operation_id + self.items_path = items_path + self.item_value_path = item_value_path + self.item_title_path = item_title_path + self.item_full_title_path = item_full_title_path + self.item_is_parent = item_is_parent + self.selectable_filter = selectable_filter + self.parameters = parameters + + +class SwaggerCustomDynamicTreeParameter(msrest.serialization.Model): + """The swagger custom dynamic tree parameter. + + :param selected_item_value_path: Gets or sets a path to a property in the currently selected + item to pass as a value to a parameter for the given operation. + :type selected_item_value_path: str + :param value: The parameter value. + :type value: object + :param parameter_reference: The parameter reference. + :type parameter_reference: str + :param required: Indicates whether the parameter is required. + :type required: bool + """ + + _attribute_map = { + 'selected_item_value_path': {'key': 'selectedItemValuePath', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'object'}, + 'parameter_reference': {'key': 'parameterReference', 'type': 'str'}, + 'required': {'key': 'required', 'type': 'bool'}, + } + + def __init__( + self, + *, + selected_item_value_path: Optional[str] = None, + value: Optional[object] = None, + parameter_reference: Optional[str] = None, + required: Optional[bool] = None, + **kwargs + ): + super(SwaggerCustomDynamicTreeParameter, self).__init__(**kwargs) + self.selected_item_value_path = selected_item_value_path + self.value = value + self.parameter_reference = parameter_reference + self.required = required + + +class SwaggerCustomDynamicTreeSettings(msrest.serialization.Model): + """The swagger custom dynamic tree settings. + + :param can_select_parent_nodes: Indicates whether parent nodes can be selected. + :type can_select_parent_nodes: bool + :param can_select_leaf_nodes: Indicates whether leaf nodes can be selected. + :type can_select_leaf_nodes: bool + """ + + _attribute_map = { + 'can_select_parent_nodes': {'key': 'CanSelectParentNodes', 'type': 'bool'}, + 'can_select_leaf_nodes': {'key': 'CanSelectLeafNodes', 'type': 'bool'}, + } + + def __init__( + self, + *, + can_select_parent_nodes: Optional[bool] = None, + can_select_leaf_nodes: Optional[bool] = None, + **kwargs + ): + super(SwaggerCustomDynamicTreeSettings, self).__init__(**kwargs) + self.can_select_parent_nodes = can_select_parent_nodes + self.can_select_leaf_nodes = can_select_leaf_nodes + + +class SwaggerExternalDocumentation(msrest.serialization.Model): + """The swagger external documentation. + + :param description: The document description. + :type description: str + :param uri: The documentation Uri. + :type uri: str + :param extensions: The vendor extensions. + :type extensions: dict[str, object] + """ + + _attribute_map = { + 'description': {'key': 'description', 'type': 'str'}, + 'uri': {'key': 'uri', 'type': 'str'}, + 'extensions': {'key': 'extensions', 'type': '{object}'}, + } + + def __init__( + self, + *, + description: Optional[str] = None, + uri: Optional[str] = None, + extensions: Optional[Dict[str, object]] = None, + **kwargs + ): + super(SwaggerExternalDocumentation, self).__init__(**kwargs) + self.description = description + self.uri = uri + self.extensions = extensions + + +class SwaggerSchema(msrest.serialization.Model): + """The swagger schema. + + :param ref: The reference. + :type ref: str + :param type: The type. Possible values include: "String", "Number", "Integer", "Boolean", + "Array", "File", "Object", "Null". + :type type: str or ~azure.mgmt.logic.models.SwaggerSchemaType + :param title: The title. + :type title: str + :param items: The items schema. + :type items: ~azure.mgmt.logic.models.SwaggerSchema + :param properties: The object properties. + :type properties: dict[str, ~azure.mgmt.logic.models.SwaggerSchema] + :param additional_properties: The additional properties. + :type additional_properties: object + :param required: The object required properties. + :type required: list[str] + :param max_properties: The maximum number of allowed properties. + :type max_properties: int + :param min_properties: The minimum number of allowed properties. + :type min_properties: int + :param all_of: The schemas which must pass validation when this schema is used. + :type all_of: list[~azure.mgmt.logic.models.SwaggerSchema] + :param discriminator: The discriminator. + :type discriminator: str + :param read_only: Indicates whether this property must be present in the a request. + :type read_only: bool + :param xml: The xml representation format for a property. + :type xml: ~azure.mgmt.logic.models.SwaggerXml + :param external_docs: The external documentation. + :type external_docs: ~azure.mgmt.logic.models.SwaggerExternalDocumentation + :param example: The example value. + :type example: object + :param notification_url_extension: Indicates the notification url extension. If this is set, + the property's value should be a callback url for a webhook. + :type notification_url_extension: bool + :param dynamic_schema_old: The dynamic schema configuration. + :type dynamic_schema_old: ~azure.mgmt.logic.models.SwaggerCustomDynamicSchema + :param dynamic_schema_new: The dynamic schema configuration. + :type dynamic_schema_new: ~azure.mgmt.logic.models.SwaggerCustomDynamicProperties + :param dynamic_list_new: The dynamic list. + :type dynamic_list_new: ~azure.mgmt.logic.models.SwaggerCustomDynamicList + :param dynamic_tree: The dynamic values tree configuration. + :type dynamic_tree: ~azure.mgmt.logic.models.SwaggerCustomDynamicTree + """ + + _attribute_map = { + 'ref': {'key': 'ref', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'title': {'key': 'title', 'type': 'str'}, + 'items': {'key': 'items', 'type': 'SwaggerSchema'}, + 'properties': {'key': 'properties', 'type': '{SwaggerSchema}'}, + 'additional_properties': {'key': 'additionalProperties', 'type': 'object'}, + 'required': {'key': 'required', 'type': '[str]'}, + 'max_properties': {'key': 'maxProperties', 'type': 'int'}, + 'min_properties': {'key': 'minProperties', 'type': 'int'}, + 'all_of': {'key': 'allOf', 'type': '[SwaggerSchema]'}, + 'discriminator': {'key': 'discriminator', 'type': 'str'}, + 'read_only': {'key': 'readOnly', 'type': 'bool'}, + 'xml': {'key': 'xml', 'type': 'SwaggerXml'}, + 'external_docs': {'key': 'externalDocs', 'type': 'SwaggerExternalDocumentation'}, + 'example': {'key': 'example', 'type': 'object'}, + 'notification_url_extension': {'key': 'notificationUrlExtension', 'type': 'bool'}, + 'dynamic_schema_old': {'key': 'dynamicSchemaOld', 'type': 'SwaggerCustomDynamicSchema'}, + 'dynamic_schema_new': {'key': 'dynamicSchemaNew', 'type': 'SwaggerCustomDynamicProperties'}, + 'dynamic_list_new': {'key': 'dynamicListNew', 'type': 'SwaggerCustomDynamicList'}, + 'dynamic_tree': {'key': 'dynamicTree', 'type': 'SwaggerCustomDynamicTree'}, + } + + def __init__( + self, + *, + ref: Optional[str] = None, + type: Optional[Union[str, "SwaggerSchemaType"]] = None, + title: Optional[str] = None, + items: Optional["SwaggerSchema"] = None, + properties: Optional[Dict[str, "SwaggerSchema"]] = None, + additional_properties: Optional[object] = None, + required: Optional[List[str]] = None, + max_properties: Optional[int] = None, + min_properties: Optional[int] = None, + all_of: Optional[List["SwaggerSchema"]] = None, + discriminator: Optional[str] = None, + read_only: Optional[bool] = None, + xml: Optional["SwaggerXml"] = None, + external_docs: Optional["SwaggerExternalDocumentation"] = None, + example: Optional[object] = None, + notification_url_extension: Optional[bool] = None, + dynamic_schema_old: Optional["SwaggerCustomDynamicSchema"] = None, + dynamic_schema_new: Optional["SwaggerCustomDynamicProperties"] = None, + dynamic_list_new: Optional["SwaggerCustomDynamicList"] = None, + dynamic_tree: Optional["SwaggerCustomDynamicTree"] = None, + **kwargs + ): + super(SwaggerSchema, self).__init__(**kwargs) + self.ref = ref + self.type = type + self.title = title + self.items = items + self.properties = properties + self.additional_properties = additional_properties + self.required = required + self.max_properties = max_properties + self.min_properties = min_properties + self.all_of = all_of + self.discriminator = discriminator + self.read_only = read_only + self.xml = xml + self.external_docs = external_docs + self.example = example + self.notification_url_extension = notification_url_extension + self.dynamic_schema_old = dynamic_schema_old + self.dynamic_schema_new = dynamic_schema_new + self.dynamic_list_new = dynamic_list_new + self.dynamic_tree = dynamic_tree + + +class SwaggerXml(msrest.serialization.Model): + """The Swagger XML. + + :param name: The xml element or attribute name. + :type name: str + :param namespace: The xml namespace. + :type namespace: str + :param prefix: The name prefix. + :type prefix: str + :param attribute: Indicates whether the property should be an attribute instead of an element. + :type attribute: bool + :param wrapped: Indicates whether the array elements are wrapped in a container element. + :type wrapped: bool + :param extensions: The vendor extensions. + :type extensions: dict[str, object] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'namespace': {'key': 'namespace', 'type': 'str'}, + 'prefix': {'key': 'prefix', 'type': 'str'}, + 'attribute': {'key': 'attribute', 'type': 'bool'}, + 'wrapped': {'key': 'wrapped', 'type': 'bool'}, + 'extensions': {'key': 'extensions', 'type': '{object}'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + namespace: Optional[str] = None, + prefix: Optional[str] = None, + attribute: Optional[bool] = None, + wrapped: Optional[bool] = None, + extensions: Optional[Dict[str, object]] = None, + **kwargs + ): + super(SwaggerXml, self).__init__(**kwargs) + self.name = name + self.namespace = namespace + self.prefix = prefix + self.attribute = attribute + self.wrapped = wrapped + self.extensions = extensions + + +class TrackingEvent(msrest.serialization.Model): + """The tracking event. + + All required parameters must be populated in order to send to Azure. + + :param event_level: Required. The event level. Possible values include: "LogAlways", + "Critical", "Error", "Warning", "Informational", "Verbose". + :type event_level: str or ~azure.mgmt.logic.models.EventLevel + :param event_time: Required. The event time. + :type event_time: ~datetime.datetime + :param record_type: Required. The record type. Possible values include: "NotSpecified", + "Custom", "AS2Message", "AS2MDN", "X12Interchange", "X12FunctionalGroup", "X12TransactionSet", + "X12InterchangeAcknowledgment", "X12FunctionalGroupAcknowledgment", + "X12TransactionSetAcknowledgment", "EdifactInterchange", "EdifactFunctionalGroup", + "EdifactTransactionSet", "EdifactInterchangeAcknowledgment", + "EdifactFunctionalGroupAcknowledgment", "EdifactTransactionSetAcknowledgment". + :type record_type: str or ~azure.mgmt.logic.models.TrackingRecordType + :param record: The record. + :type record: object + :param error: The error. + :type error: ~azure.mgmt.logic.models.TrackingEventErrorInfo + """ + + _validation = { + 'event_level': {'required': True}, + 'event_time': {'required': True}, + 'record_type': {'required': True}, + } + + _attribute_map = { + 'event_level': {'key': 'eventLevel', 'type': 'str'}, + 'event_time': {'key': 'eventTime', 'type': 'iso-8601'}, + 'record_type': {'key': 'recordType', 'type': 'str'}, + 'record': {'key': 'record', 'type': 'object'}, + 'error': {'key': 'error', 'type': 'TrackingEventErrorInfo'}, + } + + def __init__( + self, + *, + event_level: Union[str, "EventLevel"], + event_time: datetime.datetime, + record_type: Union[str, "TrackingRecordType"], + record: Optional[object] = None, + error: Optional["TrackingEventErrorInfo"] = None, + **kwargs + ): + super(TrackingEvent, self).__init__(**kwargs) + self.event_level = event_level + self.event_time = event_time + self.record_type = record_type + self.record = record + self.error = error + + +class TrackingEventErrorInfo(msrest.serialization.Model): + """The tracking event error info. + + :param message: The message. + :type message: str + :param code: The code. + :type code: str + """ + + _attribute_map = { + 'message': {'key': 'message', 'type': 'str'}, + 'code': {'key': 'code', 'type': 'str'}, + } + + def __init__( + self, + *, + message: Optional[str] = None, + code: Optional[str] = None, + **kwargs + ): + super(TrackingEventErrorInfo, self).__init__(**kwargs) + self.message = message + self.code = code + + +class TrackingEventsDefinition(msrest.serialization.Model): + """The tracking events definition. + + All required parameters must be populated in order to send to Azure. + + :param source_type: Required. The source type. + :type source_type: str + :param track_events_options: The track events options. Possible values include: "None", + "DisableSourceInfoEnrich". + :type track_events_options: str or ~azure.mgmt.logic.models.TrackEventsOperationOptions + :param events: Required. The events. + :type events: list[~azure.mgmt.logic.models.TrackingEvent] + """ + + _validation = { + 'source_type': {'required': True}, + 'events': {'required': True}, + } + + _attribute_map = { + 'source_type': {'key': 'sourceType', 'type': 'str'}, + 'track_events_options': {'key': 'trackEventsOptions', 'type': 'str'}, + 'events': {'key': 'events', 'type': '[TrackingEvent]'}, + } + + def __init__( + self, + *, + source_type: str, + events: List["TrackingEvent"], + track_events_options: Optional[Union[str, "TrackEventsOperationOptions"]] = None, + **kwargs + ): + super(TrackingEventsDefinition, self).__init__(**kwargs) + self.source_type = source_type + self.track_events_options = track_events_options + self.events = events + + +class Workflow(Resource): + """The workflow type. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: The resource id. + :vartype id: str + :ivar name: Gets the resource name. + :vartype name: str + :ivar type: Gets the resource type. + :vartype type: str + :param location: The resource location. + :type location: str + :param tags: A set of tags. The resource tags. + :type tags: dict[str, str] + :ivar provisioning_state: Gets the provisioning state. Possible values include: "NotSpecified", + "Accepted", "Running", "Ready", "Creating", "Created", "Deleting", "Deleted", "Canceled", + "Failed", "Succeeded", "Moving", "Updating", "Registering", "Registered", "Unregistering", + "Unregistered", "Completed", "Renewing", "Pending", "Waiting", "InProgress". + :vartype provisioning_state: str or ~azure.mgmt.logic.models.WorkflowProvisioningState + :ivar created_time: Gets the created time. + :vartype created_time: ~datetime.datetime + :ivar changed_time: Gets the changed time. + :vartype changed_time: ~datetime.datetime + :param state: The state. Possible values include: "NotSpecified", "Completed", "Enabled", + "Disabled", "Deleted", "Suspended". + :type state: str or ~azure.mgmt.logic.models.WorkflowState + :ivar version: Gets the version. + :vartype version: str + :ivar access_endpoint: Gets the access endpoint. + :vartype access_endpoint: str + :param endpoints_configuration: The endpoints configuration. + :type endpoints_configuration: ~azure.mgmt.logic.models.FlowEndpointsConfiguration + :param access_control: The access control configuration. + :type access_control: ~azure.mgmt.logic.models.FlowAccessControlConfiguration + :ivar sku: The sku. + :vartype sku: ~azure.mgmt.logic.models.Sku + :param integration_account: The integration account. + :type integration_account: ~azure.mgmt.logic.models.ResourceReference + :param integration_service_environment: The integration service environment. + :type integration_service_environment: ~azure.mgmt.logic.models.ResourceReference + :param definition: The definition. + :type definition: object + :param parameters: The parameters. + :type parameters: dict[str, ~azure.mgmt.logic.models.WorkflowParameter] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'created_time': {'readonly': True}, + 'changed_time': {'readonly': True}, + 'version': {'readonly': True}, + 'access_endpoint': {'readonly': True}, + 'sku': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'created_time': {'key': 'properties.createdTime', 'type': 'iso-8601'}, + 'changed_time': {'key': 'properties.changedTime', 'type': 'iso-8601'}, + 'state': {'key': 'properties.state', 'type': 'str'}, + 'version': {'key': 'properties.version', 'type': 'str'}, + 'access_endpoint': {'key': 'properties.accessEndpoint', 'type': 'str'}, + 'endpoints_configuration': {'key': 'properties.endpointsConfiguration', 'type': 'FlowEndpointsConfiguration'}, + 'access_control': {'key': 'properties.accessControl', 'type': 'FlowAccessControlConfiguration'}, + 'sku': {'key': 'properties.sku', 'type': 'Sku'}, + 'integration_account': {'key': 'properties.integrationAccount', 'type': 'ResourceReference'}, + 'integration_service_environment': {'key': 'properties.integrationServiceEnvironment', 'type': 'ResourceReference'}, + 'definition': {'key': 'properties.definition', 'type': 'object'}, + 'parameters': {'key': 'properties.parameters', 'type': '{WorkflowParameter}'}, + } + + def __init__( + self, + *, + location: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + state: Optional[Union[str, "WorkflowState"]] = None, + endpoints_configuration: Optional["FlowEndpointsConfiguration"] = None, + access_control: Optional["FlowAccessControlConfiguration"] = None, + integration_account: Optional["ResourceReference"] = None, + integration_service_environment: Optional["ResourceReference"] = None, + definition: Optional[object] = None, + parameters: Optional[Dict[str, "WorkflowParameter"]] = None, + **kwargs + ): + super(Workflow, self).__init__(location=location, tags=tags, **kwargs) + self.provisioning_state = None + self.created_time = None + self.changed_time = None + self.state = state + self.version = None + self.access_endpoint = None + self.endpoints_configuration = endpoints_configuration + self.access_control = access_control + self.sku = None + self.integration_account = integration_account + self.integration_service_environment = integration_service_environment + self.definition = definition + self.parameters = parameters + + +class WorkflowFilter(msrest.serialization.Model): + """The workflow filter. + + :param state: The state of workflows. Possible values include: "NotSpecified", "Completed", + "Enabled", "Disabled", "Deleted", "Suspended". + :type state: str or ~azure.mgmt.logic.models.WorkflowState + """ + + _attribute_map = { + 'state': {'key': 'state', 'type': 'str'}, + } + + def __init__( + self, + *, + state: Optional[Union[str, "WorkflowState"]] = None, + **kwargs + ): + super(WorkflowFilter, self).__init__(**kwargs) + self.state = state + + +class WorkflowListResult(msrest.serialization.Model): + """The list of workflows. + + :param value: The list of workflows. + :type value: list[~azure.mgmt.logic.models.Workflow] + :param next_link: The URL to get the next set of results. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[Workflow]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["Workflow"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(WorkflowListResult, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class WorkflowParameter(msrest.serialization.Model): + """The workflow parameters. + + :param type: The type. Possible values include: "NotSpecified", "String", "SecureString", + "Int", "Float", "Bool", "Array", "Object", "SecureObject". + :type type: str or ~azure.mgmt.logic.models.ParameterType + :param value: The value. + :type value: object + :param metadata: The metadata. + :type metadata: object + :param description: The description. + :type description: str + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'object'}, + 'metadata': {'key': 'metadata', 'type': 'object'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__( + self, + *, + type: Optional[Union[str, "ParameterType"]] = None, + value: Optional[object] = None, + metadata: Optional[object] = None, + description: Optional[str] = None, + **kwargs + ): + super(WorkflowParameter, self).__init__(**kwargs) + self.type = type + self.value = value + self.metadata = metadata + self.description = description + + +class WorkflowOutputParameter(WorkflowParameter): + """The workflow output parameter. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param type: The type. Possible values include: "NotSpecified", "String", "SecureString", + "Int", "Float", "Bool", "Array", "Object", "SecureObject". + :type type: str or ~azure.mgmt.logic.models.ParameterType + :param value: The value. + :type value: object + :param metadata: The metadata. + :type metadata: object + :param description: The description. + :type description: str + :ivar error: Gets the error. + :vartype error: object + """ + + _validation = { + 'error': {'readonly': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'object'}, + 'metadata': {'key': 'metadata', 'type': 'object'}, + 'description': {'key': 'description', 'type': 'str'}, + 'error': {'key': 'error', 'type': 'object'}, + } + + def __init__( + self, + *, + type: Optional[Union[str, "ParameterType"]] = None, + value: Optional[object] = None, + metadata: Optional[object] = None, + description: Optional[str] = None, + **kwargs + ): + super(WorkflowOutputParameter, self).__init__(type=type, value=value, metadata=metadata, description=description, **kwargs) + self.error = None + + +class WorkflowReference(ResourceReference): + """The workflow reference. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param id: The resource id. + :type id: str + :ivar type: Gets the resource type. + :vartype type: str + :param name: The workflow name. + :type name: str + """ + + _validation = { + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__( + self, + *, + id: Optional[str] = None, + name: Optional[str] = None, + **kwargs + ): + super(WorkflowReference, self).__init__(id=id, **kwargs) + self.name = name + + +class WorkflowRun(SubResource): + """The workflow run. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: The resource id. + :vartype id: str + :ivar name: Gets the workflow run name. + :vartype name: str + :ivar type: Gets the workflow run type. + :vartype type: str + :ivar wait_end_time: Gets the wait end time. + :vartype wait_end_time: ~datetime.datetime + :ivar start_time: Gets the start time. + :vartype start_time: ~datetime.datetime + :ivar end_time: Gets the end time. + :vartype end_time: ~datetime.datetime + :ivar status: Gets the status. Possible values include: "NotSpecified", "Paused", "Running", + "Waiting", "Succeeded", "Skipped", "Suspended", "Cancelled", "Failed", "Faulted", "TimedOut", + "Aborted", "Ignored". + :vartype status: str or ~azure.mgmt.logic.models.WorkflowStatus + :ivar code: Gets the code. + :vartype code: str + :ivar error: Gets the error. + :vartype error: object + :ivar correlation_id: Gets the correlation id. + :vartype correlation_id: str + :param correlation: The run correlation. + :type correlation: ~azure.mgmt.logic.models.Correlation + :ivar workflow: Gets the reference to workflow version. + :vartype workflow: ~azure.mgmt.logic.models.ResourceReference + :ivar trigger: Gets the fired trigger. + :vartype trigger: ~azure.mgmt.logic.models.WorkflowRunTrigger + :ivar outputs: Gets the outputs. + :vartype outputs: dict[str, ~azure.mgmt.logic.models.WorkflowOutputParameter] + :ivar response: Gets the response of the flow run. + :vartype response: ~azure.mgmt.logic.models.WorkflowRunTrigger + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'wait_end_time': {'readonly': True}, + 'start_time': {'readonly': True}, + 'end_time': {'readonly': True}, + 'status': {'readonly': True}, + 'code': {'readonly': True}, + 'error': {'readonly': True}, + 'correlation_id': {'readonly': True}, + 'workflow': {'readonly': True}, + 'trigger': {'readonly': True}, + 'outputs': {'readonly': True}, + 'response': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'wait_end_time': {'key': 'properties.waitEndTime', 'type': 'iso-8601'}, + 'start_time': {'key': 'properties.startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'properties.endTime', 'type': 'iso-8601'}, + 'status': {'key': 'properties.status', 'type': 'str'}, + 'code': {'key': 'properties.code', 'type': 'str'}, + 'error': {'key': 'properties.error', 'type': 'object'}, + 'correlation_id': {'key': 'properties.correlationId', 'type': 'str'}, + 'correlation': {'key': 'properties.correlation', 'type': 'Correlation'}, + 'workflow': {'key': 'properties.workflow', 'type': 'ResourceReference'}, + 'trigger': {'key': 'properties.trigger', 'type': 'WorkflowRunTrigger'}, + 'outputs': {'key': 'properties.outputs', 'type': '{WorkflowOutputParameter}'}, + 'response': {'key': 'properties.response', 'type': 'WorkflowRunTrigger'}, + } + + def __init__( + self, + *, + correlation: Optional["Correlation"] = None, + **kwargs + ): + super(WorkflowRun, self).__init__(**kwargs) + self.name = None + self.type = None + self.wait_end_time = None + self.start_time = None + self.end_time = None + self.status = None + self.code = None + self.error = None + self.correlation_id = None + self.correlation = correlation + self.workflow = None + self.trigger = None + self.outputs = None + self.response = None + + +class WorkflowRunAction(SubResource): + """The workflow run action. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: The resource id. + :vartype id: str + :ivar name: Gets the workflow run action name. + :vartype name: str + :ivar type: Gets the workflow run action type. + :vartype type: str + :ivar start_time: Gets the start time. + :vartype start_time: ~datetime.datetime + :ivar end_time: Gets the end time. + :vartype end_time: ~datetime.datetime + :ivar status: Gets the status. Possible values include: "NotSpecified", "Paused", "Running", + "Waiting", "Succeeded", "Skipped", "Suspended", "Cancelled", "Failed", "Faulted", "TimedOut", + "Aborted", "Ignored". + :vartype status: str or ~azure.mgmt.logic.models.WorkflowStatus + :ivar code: Gets the code. + :vartype code: str + :ivar error: Gets the error. + :vartype error: object + :ivar tracking_id: Gets the tracking id. + :vartype tracking_id: str + :param correlation: The correlation properties. + :type correlation: ~azure.mgmt.logic.models.RunActionCorrelation + :ivar inputs_link: Gets the link to inputs. + :vartype inputs_link: ~azure.mgmt.logic.models.ContentLink + :ivar outputs_link: Gets the link to outputs. + :vartype outputs_link: ~azure.mgmt.logic.models.ContentLink + :ivar tracked_properties: Gets the tracked properties. + :vartype tracked_properties: object + :param retry_history: Gets the retry histories. + :type retry_history: list[~azure.mgmt.logic.models.RetryHistory] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'start_time': {'readonly': True}, + 'end_time': {'readonly': True}, + 'status': {'readonly': True}, + 'code': {'readonly': True}, + 'error': {'readonly': True}, + 'tracking_id': {'readonly': True}, + 'inputs_link': {'readonly': True}, + 'outputs_link': {'readonly': True}, + 'tracked_properties': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'start_time': {'key': 'properties.startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'properties.endTime', 'type': 'iso-8601'}, + 'status': {'key': 'properties.status', 'type': 'str'}, + 'code': {'key': 'properties.code', 'type': 'str'}, + 'error': {'key': 'properties.error', 'type': 'object'}, + 'tracking_id': {'key': 'properties.trackingId', 'type': 'str'}, + 'correlation': {'key': 'properties.correlation', 'type': 'RunActionCorrelation'}, + 'inputs_link': {'key': 'properties.inputsLink', 'type': 'ContentLink'}, + 'outputs_link': {'key': 'properties.outputsLink', 'type': 'ContentLink'}, + 'tracked_properties': {'key': 'properties.trackedProperties', 'type': 'object'}, + 'retry_history': {'key': 'properties.retryHistory', 'type': '[RetryHistory]'}, + } + + def __init__( + self, + *, + correlation: Optional["RunActionCorrelation"] = None, + retry_history: Optional[List["RetryHistory"]] = None, + **kwargs + ): + super(WorkflowRunAction, self).__init__(**kwargs) + self.name = None + self.type = None + self.start_time = None + self.end_time = None + self.status = None + self.code = None + self.error = None + self.tracking_id = None + self.correlation = correlation + self.inputs_link = None + self.outputs_link = None + self.tracked_properties = None + self.retry_history = retry_history + + +class WorkflowRunActionFilter(msrest.serialization.Model): + """The workflow run action filter. + + :param status: The status of workflow run action. Possible values include: "NotSpecified", + "Paused", "Running", "Waiting", "Succeeded", "Skipped", "Suspended", "Cancelled", "Failed", + "Faulted", "TimedOut", "Aborted", "Ignored". + :type status: str or ~azure.mgmt.logic.models.WorkflowStatus + """ + + _attribute_map = { + 'status': {'key': 'status', 'type': 'str'}, + } + + def __init__( + self, + *, + status: Optional[Union[str, "WorkflowStatus"]] = None, + **kwargs + ): + super(WorkflowRunActionFilter, self).__init__(**kwargs) + self.status = status + + +class WorkflowRunActionListResult(msrest.serialization.Model): + """The list of workflow run actions. + + :param value: A list of workflow run actions. + :type value: list[~azure.mgmt.logic.models.WorkflowRunAction] + :param next_link: The URL to get the next set of results. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[WorkflowRunAction]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["WorkflowRunAction"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(WorkflowRunActionListResult, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class WorkflowRunActionRepetitionDefinition(Resource): + """The workflow run action repetition definition. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: The resource id. + :vartype id: str + :ivar name: Gets the resource name. + :vartype name: str + :ivar type: Gets the resource type. + :vartype type: str + :param location: The resource location. + :type location: str + :param tags: A set of tags. The resource tags. + :type tags: dict[str, str] + :param start_time: The start time of the workflow scope repetition. + :type start_time: ~datetime.datetime + :param end_time: The end time of the workflow scope repetition. + :type end_time: ~datetime.datetime + :param correlation: The correlation properties. + :type correlation: ~azure.mgmt.logic.models.RunActionCorrelation + :param status: The status of the workflow scope repetition. Possible values include: + "NotSpecified", "Paused", "Running", "Waiting", "Succeeded", "Skipped", "Suspended", + "Cancelled", "Failed", "Faulted", "TimedOut", "Aborted", "Ignored". + :type status: str or ~azure.mgmt.logic.models.WorkflowStatus + :param code: The workflow scope repetition code. + :type code: str + :param error: Any object. + :type error: object + :ivar tracking_id: Gets the tracking id. + :vartype tracking_id: str + :ivar inputs: Gets the inputs. + :vartype inputs: object + :ivar inputs_link: Gets the link to inputs. + :vartype inputs_link: ~azure.mgmt.logic.models.ContentLink + :ivar outputs: Gets the outputs. + :vartype outputs: object + :ivar outputs_link: Gets the link to outputs. + :vartype outputs_link: ~azure.mgmt.logic.models.ContentLink + :ivar tracked_properties: Gets the tracked properties. + :vartype tracked_properties: object + :param retry_history: Gets the retry histories. + :type retry_history: list[~azure.mgmt.logic.models.RetryHistory] + :param iteration_count: + :type iteration_count: int + :param repetition_indexes: The repetition indexes. + :type repetition_indexes: list[~azure.mgmt.logic.models.RepetitionIndex] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'tracking_id': {'readonly': True}, + 'inputs': {'readonly': True}, + 'inputs_link': {'readonly': True}, + 'outputs': {'readonly': True}, + 'outputs_link': {'readonly': True}, + 'tracked_properties': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'start_time': {'key': 'properties.startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'properties.endTime', 'type': 'iso-8601'}, + 'correlation': {'key': 'properties.correlation', 'type': 'RunActionCorrelation'}, + 'status': {'key': 'properties.status', 'type': 'str'}, + 'code': {'key': 'properties.code', 'type': 'str'}, + 'error': {'key': 'properties.error', 'type': 'object'}, + 'tracking_id': {'key': 'properties.trackingId', 'type': 'str'}, + 'inputs': {'key': 'properties.inputs', 'type': 'object'}, + 'inputs_link': {'key': 'properties.inputsLink', 'type': 'ContentLink'}, + 'outputs': {'key': 'properties.outputs', 'type': 'object'}, + 'outputs_link': {'key': 'properties.outputsLink', 'type': 'ContentLink'}, + 'tracked_properties': {'key': 'properties.trackedProperties', 'type': 'object'}, + 'retry_history': {'key': 'properties.retryHistory', 'type': '[RetryHistory]'}, + 'iteration_count': {'key': 'properties.iterationCount', 'type': 'int'}, + 'repetition_indexes': {'key': 'properties.repetitionIndexes', 'type': '[RepetitionIndex]'}, + } + + def __init__( + self, + *, + location: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + start_time: Optional[datetime.datetime] = None, + end_time: Optional[datetime.datetime] = None, + correlation: Optional["RunActionCorrelation"] = None, + status: Optional[Union[str, "WorkflowStatus"]] = None, + code: Optional[str] = None, + error: Optional[object] = None, + retry_history: Optional[List["RetryHistory"]] = None, + iteration_count: Optional[int] = None, + repetition_indexes: Optional[List["RepetitionIndex"]] = None, + **kwargs + ): + super(WorkflowRunActionRepetitionDefinition, self).__init__(location=location, tags=tags, **kwargs) + self.start_time = start_time + self.end_time = end_time + self.correlation = correlation + self.status = status + self.code = code + self.error = error + self.tracking_id = None + self.inputs = None + self.inputs_link = None + self.outputs = None + self.outputs_link = None + self.tracked_properties = None + self.retry_history = retry_history + self.iteration_count = iteration_count + self.repetition_indexes = repetition_indexes + + +class WorkflowRunActionRepetitionDefinitionCollection(msrest.serialization.Model): + """A collection of workflow run action repetitions. + + :param next_link: The link used to get the next page of recommendations. + :type next_link: str + :param value: + :type value: list[~azure.mgmt.logic.models.WorkflowRunActionRepetitionDefinition] + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[WorkflowRunActionRepetitionDefinition]'}, + } + + def __init__( + self, + *, + next_link: Optional[str] = None, + value: Optional[List["WorkflowRunActionRepetitionDefinition"]] = None, + **kwargs + ): + super(WorkflowRunActionRepetitionDefinitionCollection, self).__init__(**kwargs) + self.next_link = next_link + self.value = value + + +class WorkflowRunActionRepetitionProperties(OperationResult): + """The workflow run action repetition properties definition. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param start_time: The start time of the workflow scope repetition. + :type start_time: ~datetime.datetime + :param end_time: The end time of the workflow scope repetition. + :type end_time: ~datetime.datetime + :param correlation: The correlation properties. + :type correlation: ~azure.mgmt.logic.models.RunActionCorrelation + :param status: The status of the workflow scope repetition. Possible values include: + "NotSpecified", "Paused", "Running", "Waiting", "Succeeded", "Skipped", "Suspended", + "Cancelled", "Failed", "Faulted", "TimedOut", "Aborted", "Ignored". + :type status: str or ~azure.mgmt.logic.models.WorkflowStatus + :param code: The workflow scope repetition code. + :type code: str + :param error: Any object. + :type error: object + :ivar tracking_id: Gets the tracking id. + :vartype tracking_id: str + :ivar inputs: Gets the inputs. + :vartype inputs: object + :ivar inputs_link: Gets the link to inputs. + :vartype inputs_link: ~azure.mgmt.logic.models.ContentLink + :ivar outputs: Gets the outputs. + :vartype outputs: object + :ivar outputs_link: Gets the link to outputs. + :vartype outputs_link: ~azure.mgmt.logic.models.ContentLink + :ivar tracked_properties: Gets the tracked properties. + :vartype tracked_properties: object + :param retry_history: Gets the retry histories. + :type retry_history: list[~azure.mgmt.logic.models.RetryHistory] + :param iteration_count: + :type iteration_count: int + :param repetition_indexes: The repetition indexes. + :type repetition_indexes: list[~azure.mgmt.logic.models.RepetitionIndex] + """ + + _validation = { + 'tracking_id': {'readonly': True}, + 'inputs': {'readonly': True}, + 'inputs_link': {'readonly': True}, + 'outputs': {'readonly': True}, + 'outputs_link': {'readonly': True}, + 'tracked_properties': {'readonly': True}, + } + + _attribute_map = { + 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, + 'correlation': {'key': 'correlation', 'type': 'RunActionCorrelation'}, + 'status': {'key': 'status', 'type': 'str'}, + 'code': {'key': 'code', 'type': 'str'}, + 'error': {'key': 'error', 'type': 'object'}, + 'tracking_id': {'key': 'trackingId', 'type': 'str'}, + 'inputs': {'key': 'inputs', 'type': 'object'}, + 'inputs_link': {'key': 'inputsLink', 'type': 'ContentLink'}, + 'outputs': {'key': 'outputs', 'type': 'object'}, + 'outputs_link': {'key': 'outputsLink', 'type': 'ContentLink'}, + 'tracked_properties': {'key': 'trackedProperties', 'type': 'object'}, + 'retry_history': {'key': 'retryHistory', 'type': '[RetryHistory]'}, + 'iteration_count': {'key': 'iterationCount', 'type': 'int'}, + 'repetition_indexes': {'key': 'repetitionIndexes', 'type': '[RepetitionIndex]'}, + } + + def __init__( + self, + *, + start_time: Optional[datetime.datetime] = None, + end_time: Optional[datetime.datetime] = None, + correlation: Optional["RunActionCorrelation"] = None, + status: Optional[Union[str, "WorkflowStatus"]] = None, + code: Optional[str] = None, + error: Optional[object] = None, + retry_history: Optional[List["RetryHistory"]] = None, + iteration_count: Optional[int] = None, + repetition_indexes: Optional[List["RepetitionIndex"]] = None, + **kwargs + ): + super(WorkflowRunActionRepetitionProperties, self).__init__(start_time=start_time, end_time=end_time, correlation=correlation, status=status, code=code, error=error, retry_history=retry_history, iteration_count=iteration_count, **kwargs) + self.repetition_indexes = repetition_indexes + + +class WorkflowRunFilter(msrest.serialization.Model): + """The workflow run filter. + + :param status: The status of workflow run. Possible values include: "NotSpecified", "Paused", + "Running", "Waiting", "Succeeded", "Skipped", "Suspended", "Cancelled", "Failed", "Faulted", + "TimedOut", "Aborted", "Ignored". + :type status: str or ~azure.mgmt.logic.models.WorkflowStatus + """ + + _attribute_map = { + 'status': {'key': 'status', 'type': 'str'}, + } + + def __init__( + self, + *, + status: Optional[Union[str, "WorkflowStatus"]] = None, + **kwargs + ): + super(WorkflowRunFilter, self).__init__(**kwargs) + self.status = status + + +class WorkflowRunListResult(msrest.serialization.Model): + """The list of workflow runs. + + :param value: A list of workflow runs. + :type value: list[~azure.mgmt.logic.models.WorkflowRun] + :param next_link: The URL to get the next set of results. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[WorkflowRun]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["WorkflowRun"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(WorkflowRunListResult, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class WorkflowRunTrigger(msrest.serialization.Model): + """The workflow run trigger. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar name: Gets the name. + :vartype name: str + :ivar inputs: Gets the inputs. + :vartype inputs: object + :ivar inputs_link: Gets the link to inputs. + :vartype inputs_link: ~azure.mgmt.logic.models.ContentLink + :ivar outputs: Gets the outputs. + :vartype outputs: object + :ivar outputs_link: Gets the link to outputs. + :vartype outputs_link: ~azure.mgmt.logic.models.ContentLink + :ivar scheduled_time: Gets the scheduled time. + :vartype scheduled_time: ~datetime.datetime + :ivar start_time: Gets the start time. + :vartype start_time: ~datetime.datetime + :ivar end_time: Gets the end time. + :vartype end_time: ~datetime.datetime + :ivar tracking_id: Gets the tracking id. + :vartype tracking_id: str + :param correlation: The run correlation. + :type correlation: ~azure.mgmt.logic.models.Correlation + :ivar code: Gets the code. + :vartype code: str + :ivar status: Gets the status. Possible values include: "NotSpecified", "Paused", "Running", + "Waiting", "Succeeded", "Skipped", "Suspended", "Cancelled", "Failed", "Faulted", "TimedOut", + "Aborted", "Ignored". + :vartype status: str or ~azure.mgmt.logic.models.WorkflowStatus + :ivar error: Gets the error. + :vartype error: object + :ivar tracked_properties: Gets the tracked properties. + :vartype tracked_properties: object + """ + + _validation = { + 'name': {'readonly': True}, + 'inputs': {'readonly': True}, + 'inputs_link': {'readonly': True}, + 'outputs': {'readonly': True}, + 'outputs_link': {'readonly': True}, + 'scheduled_time': {'readonly': True}, + 'start_time': {'readonly': True}, + 'end_time': {'readonly': True}, + 'tracking_id': {'readonly': True}, + 'code': {'readonly': True}, + 'status': {'readonly': True}, + 'error': {'readonly': True}, + 'tracked_properties': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'inputs': {'key': 'inputs', 'type': 'object'}, + 'inputs_link': {'key': 'inputsLink', 'type': 'ContentLink'}, + 'outputs': {'key': 'outputs', 'type': 'object'}, + 'outputs_link': {'key': 'outputsLink', 'type': 'ContentLink'}, + 'scheduled_time': {'key': 'scheduledTime', 'type': 'iso-8601'}, + 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, + 'tracking_id': {'key': 'trackingId', 'type': 'str'}, + 'correlation': {'key': 'correlation', 'type': 'Correlation'}, + 'code': {'key': 'code', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + 'error': {'key': 'error', 'type': 'object'}, + 'tracked_properties': {'key': 'trackedProperties', 'type': 'object'}, + } + + def __init__( + self, + *, + correlation: Optional["Correlation"] = None, + **kwargs + ): + super(WorkflowRunTrigger, self).__init__(**kwargs) + self.name = None + self.inputs = None + self.inputs_link = None + self.outputs = None + self.outputs_link = None + self.scheduled_time = None + self.start_time = None + self.end_time = None + self.tracking_id = None + self.correlation = correlation + self.code = None + self.status = None + self.error = None + self.tracked_properties = None + + +class WorkflowTrigger(SubResource): + """The workflow trigger. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: The resource id. + :vartype id: str + :ivar name: Gets the workflow trigger name. + :vartype name: str + :ivar type: Gets the workflow trigger type. + :vartype type: str + :ivar provisioning_state: Gets the provisioning state. Possible values include: "NotSpecified", + "Accepted", "Running", "Ready", "Creating", "Created", "Deleting", "Deleted", "Canceled", + "Failed", "Succeeded", "Moving", "Updating", "Registering", "Registered", "Unregistering", + "Unregistered", "Completed". + :vartype provisioning_state: str or ~azure.mgmt.logic.models.WorkflowTriggerProvisioningState + :ivar created_time: Gets the created time. + :vartype created_time: ~datetime.datetime + :ivar changed_time: Gets the changed time. + :vartype changed_time: ~datetime.datetime + :ivar state: Gets the state. Possible values include: "NotSpecified", "Completed", "Enabled", + "Disabled", "Deleted", "Suspended". + :vartype state: str or ~azure.mgmt.logic.models.WorkflowState + :ivar status: Gets the status. Possible values include: "NotSpecified", "Paused", "Running", + "Waiting", "Succeeded", "Skipped", "Suspended", "Cancelled", "Failed", "Faulted", "TimedOut", + "Aborted", "Ignored". + :vartype status: str or ~azure.mgmt.logic.models.WorkflowStatus + :ivar last_execution_time: Gets the last execution time. + :vartype last_execution_time: ~datetime.datetime + :ivar next_execution_time: Gets the next execution time. + :vartype next_execution_time: ~datetime.datetime + :ivar recurrence: Gets the workflow trigger recurrence. + :vartype recurrence: ~azure.mgmt.logic.models.WorkflowTriggerRecurrence + :ivar workflow: Gets the reference to workflow. + :vartype workflow: ~azure.mgmt.logic.models.ResourceReference + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'created_time': {'readonly': True}, + 'changed_time': {'readonly': True}, + 'state': {'readonly': True}, + 'status': {'readonly': True}, + 'last_execution_time': {'readonly': True}, + 'next_execution_time': {'readonly': True}, + 'recurrence': {'readonly': True}, + 'workflow': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'created_time': {'key': 'properties.createdTime', 'type': 'iso-8601'}, + 'changed_time': {'key': 'properties.changedTime', 'type': 'iso-8601'}, + 'state': {'key': 'properties.state', 'type': 'str'}, + 'status': {'key': 'properties.status', 'type': 'str'}, + 'last_execution_time': {'key': 'properties.lastExecutionTime', 'type': 'iso-8601'}, + 'next_execution_time': {'key': 'properties.nextExecutionTime', 'type': 'iso-8601'}, + 'recurrence': {'key': 'properties.recurrence', 'type': 'WorkflowTriggerRecurrence'}, + 'workflow': {'key': 'properties.workflow', 'type': 'ResourceReference'}, + } + + def __init__( + self, + **kwargs + ): + super(WorkflowTrigger, self).__init__(**kwargs) + self.name = None + self.type = None + self.provisioning_state = None + self.created_time = None + self.changed_time = None + self.state = None + self.status = None + self.last_execution_time = None + self.next_execution_time = None + self.recurrence = None + self.workflow = None + + +class WorkflowTriggerCallbackUrl(msrest.serialization.Model): + """The workflow trigger callback URL. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: Gets the workflow trigger callback URL. + :vartype value: str + :ivar method: Gets the workflow trigger callback URL HTTP method. + :vartype method: str + :ivar base_path: Gets the workflow trigger callback URL base path. + :vartype base_path: str + :ivar relative_path: Gets the workflow trigger callback URL relative path. + :vartype relative_path: str + :param relative_path_parameters: Gets the workflow trigger callback URL relative path + parameters. + :type relative_path_parameters: list[str] + :param queries: Gets the workflow trigger callback URL query parameters. + :type queries: ~azure.mgmt.logic.models.WorkflowTriggerListCallbackUrlQueries + """ + + _validation = { + 'value': {'readonly': True}, + 'method': {'readonly': True}, + 'base_path': {'readonly': True}, + 'relative_path': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': 'str'}, + 'method': {'key': 'method', 'type': 'str'}, + 'base_path': {'key': 'basePath', 'type': 'str'}, + 'relative_path': {'key': 'relativePath', 'type': 'str'}, + 'relative_path_parameters': {'key': 'relativePathParameters', 'type': '[str]'}, + 'queries': {'key': 'queries', 'type': 'WorkflowTriggerListCallbackUrlQueries'}, + } + + def __init__( + self, + *, + relative_path_parameters: Optional[List[str]] = None, + queries: Optional["WorkflowTriggerListCallbackUrlQueries"] = None, + **kwargs + ): + super(WorkflowTriggerCallbackUrl, self).__init__(**kwargs) + self.value = None + self.method = None + self.base_path = None + self.relative_path = None + self.relative_path_parameters = relative_path_parameters + self.queries = queries + + +class WorkflowTriggerFilter(msrest.serialization.Model): + """The workflow trigger filter. + + :param state: The state of workflow trigger. Possible values include: "NotSpecified", + "Completed", "Enabled", "Disabled", "Deleted", "Suspended". + :type state: str or ~azure.mgmt.logic.models.WorkflowState + """ + + _attribute_map = { + 'state': {'key': 'state', 'type': 'str'}, + } + + def __init__( + self, + *, + state: Optional[Union[str, "WorkflowState"]] = None, + **kwargs + ): + super(WorkflowTriggerFilter, self).__init__(**kwargs) + self.state = state + + +class WorkflowTriggerHistory(SubResource): + """The workflow trigger history. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: The resource id. + :vartype id: str + :ivar name: Gets the workflow trigger history name. + :vartype name: str + :ivar type: Gets the workflow trigger history type. + :vartype type: str + :ivar start_time: Gets the start time. + :vartype start_time: ~datetime.datetime + :ivar end_time: Gets the end time. + :vartype end_time: ~datetime.datetime + :ivar scheduled_time: The scheduled time. + :vartype scheduled_time: ~datetime.datetime + :ivar status: Gets the status. Possible values include: "NotSpecified", "Paused", "Running", + "Waiting", "Succeeded", "Skipped", "Suspended", "Cancelled", "Failed", "Faulted", "TimedOut", + "Aborted", "Ignored". + :vartype status: str or ~azure.mgmt.logic.models.WorkflowStatus + :ivar code: Gets the code. + :vartype code: str + :ivar error: Gets the error. + :vartype error: object + :ivar tracking_id: Gets the tracking id. + :vartype tracking_id: str + :param correlation: The run correlation. + :type correlation: ~azure.mgmt.logic.models.Correlation + :ivar inputs_link: Gets the link to input parameters. + :vartype inputs_link: ~azure.mgmt.logic.models.ContentLink + :ivar outputs_link: Gets the link to output parameters. + :vartype outputs_link: ~azure.mgmt.logic.models.ContentLink + :ivar fired: The value indicating whether trigger was fired. + :vartype fired: bool + :ivar run: Gets the reference to workflow run. + :vartype run: ~azure.mgmt.logic.models.ResourceReference + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'start_time': {'readonly': True}, + 'end_time': {'readonly': True}, + 'scheduled_time': {'readonly': True}, + 'status': {'readonly': True}, + 'code': {'readonly': True}, + 'error': {'readonly': True}, + 'tracking_id': {'readonly': True}, + 'inputs_link': {'readonly': True}, + 'outputs_link': {'readonly': True}, + 'fired': {'readonly': True}, + 'run': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'start_time': {'key': 'properties.startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'properties.endTime', 'type': 'iso-8601'}, + 'scheduled_time': {'key': 'properties.scheduledTime', 'type': 'iso-8601'}, + 'status': {'key': 'properties.status', 'type': 'str'}, + 'code': {'key': 'properties.code', 'type': 'str'}, + 'error': {'key': 'properties.error', 'type': 'object'}, + 'tracking_id': {'key': 'properties.trackingId', 'type': 'str'}, + 'correlation': {'key': 'properties.correlation', 'type': 'Correlation'}, + 'inputs_link': {'key': 'properties.inputsLink', 'type': 'ContentLink'}, + 'outputs_link': {'key': 'properties.outputsLink', 'type': 'ContentLink'}, + 'fired': {'key': 'properties.fired', 'type': 'bool'}, + 'run': {'key': 'properties.run', 'type': 'ResourceReference'}, + } + + def __init__( + self, + *, + correlation: Optional["Correlation"] = None, + **kwargs + ): + super(WorkflowTriggerHistory, self).__init__(**kwargs) + self.name = None + self.type = None + self.start_time = None + self.end_time = None + self.scheduled_time = None + self.status = None + self.code = None + self.error = None + self.tracking_id = None + self.correlation = correlation + self.inputs_link = None + self.outputs_link = None + self.fired = None + self.run = None + + +class WorkflowTriggerHistoryFilter(msrest.serialization.Model): + """The workflow trigger history filter. + + :param status: The status of workflow trigger history. Possible values include: "NotSpecified", + "Paused", "Running", "Waiting", "Succeeded", "Skipped", "Suspended", "Cancelled", "Failed", + "Faulted", "TimedOut", "Aborted", "Ignored". + :type status: str or ~azure.mgmt.logic.models.WorkflowStatus + """ + + _attribute_map = { + 'status': {'key': 'status', 'type': 'str'}, + } + + def __init__( + self, + *, + status: Optional[Union[str, "WorkflowStatus"]] = None, + **kwargs + ): + super(WorkflowTriggerHistoryFilter, self).__init__(**kwargs) + self.status = status + + +class WorkflowTriggerHistoryListResult(msrest.serialization.Model): + """The list of workflow trigger histories. + + :param value: A list of workflow trigger histories. + :type value: list[~azure.mgmt.logic.models.WorkflowTriggerHistory] + :param next_link: The URL to get the next set of results. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[WorkflowTriggerHistory]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["WorkflowTriggerHistory"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(WorkflowTriggerHistoryListResult, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class WorkflowTriggerListCallbackUrlQueries(msrest.serialization.Model): + """Gets the workflow trigger callback URL query parameters. + + :param api_version: The api version. + :type api_version: str + :param sp: The SAS permissions. + :type sp: str + :param sv: The SAS version. + :type sv: str + :param sig: The SAS signature. + :type sig: str + :param se: The SAS timestamp. + :type se: str + """ + + _attribute_map = { + 'api_version': {'key': 'api-version', 'type': 'str'}, + 'sp': {'key': 'sp', 'type': 'str'}, + 'sv': {'key': 'sv', 'type': 'str'}, + 'sig': {'key': 'sig', 'type': 'str'}, + 'se': {'key': 'se', 'type': 'str'}, + } + + def __init__( + self, + *, + api_version: Optional[str] = None, + sp: Optional[str] = None, + sv: Optional[str] = None, + sig: Optional[str] = None, + se: Optional[str] = None, + **kwargs + ): + super(WorkflowTriggerListCallbackUrlQueries, self).__init__(**kwargs) + self.api_version = api_version + self.sp = sp + self.sv = sv + self.sig = sig + self.se = se + + +class WorkflowTriggerListResult(msrest.serialization.Model): + """The list of workflow triggers. + + :param value: A list of workflow triggers. + :type value: list[~azure.mgmt.logic.models.WorkflowTrigger] + :param next_link: The URL to get the next set of results. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[WorkflowTrigger]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["WorkflowTrigger"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(WorkflowTriggerListResult, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class WorkflowTriggerRecurrence(msrest.serialization.Model): + """The workflow trigger recurrence. + + :param frequency: The frequency. Possible values include: "NotSpecified", "Second", "Minute", + "Hour", "Day", "Week", "Month", "Year". + :type frequency: str or ~azure.mgmt.logic.models.RecurrenceFrequency + :param interval: The interval. + :type interval: int + :param start_time: The start time. + :type start_time: str + :param end_time: The end time. + :type end_time: str + :param time_zone: The time zone. + :type time_zone: str + :param schedule: The recurrence schedule. + :type schedule: ~azure.mgmt.logic.models.RecurrenceSchedule + """ + + _attribute_map = { + 'frequency': {'key': 'frequency', 'type': 'str'}, + 'interval': {'key': 'interval', 'type': 'int'}, + 'start_time': {'key': 'startTime', 'type': 'str'}, + 'end_time': {'key': 'endTime', 'type': 'str'}, + 'time_zone': {'key': 'timeZone', 'type': 'str'}, + 'schedule': {'key': 'schedule', 'type': 'RecurrenceSchedule'}, + } + + def __init__( + self, + *, + frequency: Optional[Union[str, "RecurrenceFrequency"]] = None, + interval: Optional[int] = None, + start_time: Optional[str] = None, + end_time: Optional[str] = None, + time_zone: Optional[str] = None, + schedule: Optional["RecurrenceSchedule"] = None, + **kwargs + ): + super(WorkflowTriggerRecurrence, self).__init__(**kwargs) + self.frequency = frequency + self.interval = interval + self.start_time = start_time + self.end_time = end_time + self.time_zone = time_zone + self.schedule = schedule + + +class WorkflowTriggerReference(ResourceReference): + """The workflow trigger reference. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param id: The resource id. + :type id: str + :ivar type: Gets the resource type. + :vartype type: str + :param name: The workflow trigger resource reference name. + :type name: str + :param flow_name: The workflow name. + :type flow_name: str + :param trigger_name: The workflow trigger name. + :type trigger_name: str + """ + + _validation = { + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'flow_name': {'key': 'flowName', 'type': 'str'}, + 'trigger_name': {'key': 'triggerName', 'type': 'str'}, + } + + def __init__( + self, + *, + id: Optional[str] = None, + name: Optional[str] = None, + flow_name: Optional[str] = None, + trigger_name: Optional[str] = None, + **kwargs + ): + super(WorkflowTriggerReference, self).__init__(id=id, **kwargs) + self.name = name + self.flow_name = flow_name + self.trigger_name = trigger_name + + +class WorkflowVersion(Resource): + """The workflow version. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: The resource id. + :vartype id: str + :ivar name: Gets the resource name. + :vartype name: str + :ivar type: Gets the resource type. + :vartype type: str + :param location: The resource location. + :type location: str + :param tags: A set of tags. The resource tags. + :type tags: dict[str, str] + :ivar provisioning_state: The provisioning state. Possible values include: "NotSpecified", + "Accepted", "Running", "Ready", "Creating", "Created", "Deleting", "Deleted", "Canceled", + "Failed", "Succeeded", "Moving", "Updating", "Registering", "Registered", "Unregistering", + "Unregistered", "Completed", "Renewing", "Pending", "Waiting", "InProgress". + :vartype provisioning_state: str or ~azure.mgmt.logic.models.WorkflowProvisioningState + :ivar created_time: Gets the created time. + :vartype created_time: ~datetime.datetime + :ivar changed_time: Gets the changed time. + :vartype changed_time: ~datetime.datetime + :param state: The state. Possible values include: "NotSpecified", "Completed", "Enabled", + "Disabled", "Deleted", "Suspended". + :type state: str or ~azure.mgmt.logic.models.WorkflowState + :ivar version: Gets the version. + :vartype version: str + :ivar access_endpoint: Gets the access endpoint. + :vartype access_endpoint: str + :param endpoints_configuration: The endpoints configuration. + :type endpoints_configuration: ~azure.mgmt.logic.models.FlowEndpointsConfiguration + :param access_control: The access control configuration. + :type access_control: ~azure.mgmt.logic.models.FlowAccessControlConfiguration + :ivar sku: The sku. + :vartype sku: ~azure.mgmt.logic.models.Sku + :param integration_account: The integration account. + :type integration_account: ~azure.mgmt.logic.models.ResourceReference + :param definition: The definition. + :type definition: object + :param parameters: The parameters. + :type parameters: dict[str, ~azure.mgmt.logic.models.WorkflowParameter] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'created_time': {'readonly': True}, + 'changed_time': {'readonly': True}, + 'version': {'readonly': True}, + 'access_endpoint': {'readonly': True}, + 'sku': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'created_time': {'key': 'properties.createdTime', 'type': 'iso-8601'}, + 'changed_time': {'key': 'properties.changedTime', 'type': 'iso-8601'}, + 'state': {'key': 'properties.state', 'type': 'str'}, + 'version': {'key': 'properties.version', 'type': 'str'}, + 'access_endpoint': {'key': 'properties.accessEndpoint', 'type': 'str'}, + 'endpoints_configuration': {'key': 'properties.endpointsConfiguration', 'type': 'FlowEndpointsConfiguration'}, + 'access_control': {'key': 'properties.accessControl', 'type': 'FlowAccessControlConfiguration'}, + 'sku': {'key': 'properties.sku', 'type': 'Sku'}, + 'integration_account': {'key': 'properties.integrationAccount', 'type': 'ResourceReference'}, + 'definition': {'key': 'properties.definition', 'type': 'object'}, + 'parameters': {'key': 'properties.parameters', 'type': '{WorkflowParameter}'}, + } + + def __init__( + self, + *, + location: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + state: Optional[Union[str, "WorkflowState"]] = None, + endpoints_configuration: Optional["FlowEndpointsConfiguration"] = None, + access_control: Optional["FlowAccessControlConfiguration"] = None, + integration_account: Optional["ResourceReference"] = None, + definition: Optional[object] = None, + parameters: Optional[Dict[str, "WorkflowParameter"]] = None, + **kwargs + ): + super(WorkflowVersion, self).__init__(location=location, tags=tags, **kwargs) + self.provisioning_state = None + self.created_time = None + self.changed_time = None + self.state = state + self.version = None + self.access_endpoint = None + self.endpoints_configuration = endpoints_configuration + self.access_control = access_control + self.sku = None + self.integration_account = integration_account + self.definition = definition + self.parameters = parameters + + +class WorkflowVersionListResult(msrest.serialization.Model): + """The list of workflow versions. + + :param value: A list of workflow versions. + :type value: list[~azure.mgmt.logic.models.WorkflowVersion] + :param next_link: The URL to get the next set of results. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[WorkflowVersion]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["WorkflowVersion"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(WorkflowVersionListResult, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class WsdlService(msrest.serialization.Model): + """The WSDL service. + + :param qualified_name: The qualified name. + :type qualified_name: str + :param endpoint_qualified_names: The list of endpoints' qualified names. + :type endpoint_qualified_names: list[str] + """ + + _attribute_map = { + 'qualified_name': {'key': 'qualifiedName', 'type': 'str'}, + 'endpoint_qualified_names': {'key': 'EndpointQualifiedNames', 'type': '[str]'}, + } + + def __init__( + self, + *, + qualified_name: Optional[str] = None, + endpoint_qualified_names: Optional[List[str]] = None, + **kwargs + ): + super(WsdlService, self).__init__(**kwargs) + self.qualified_name = qualified_name + self.endpoint_qualified_names = endpoint_qualified_names + + +class X12AcknowledgementSettings(msrest.serialization.Model): + """The X12 agreement acknowledgement settings. + + All required parameters must be populated in order to send to Azure. + + :param need_technical_acknowledgement: Required. The value indicating whether technical + acknowledgement is needed. + :type need_technical_acknowledgement: bool + :param batch_technical_acknowledgements: Required. The value indicating whether to batch the + technical acknowledgements. + :type batch_technical_acknowledgements: bool + :param need_functional_acknowledgement: Required. The value indicating whether functional + acknowledgement is needed. + :type need_functional_acknowledgement: bool + :param functional_acknowledgement_version: The functional acknowledgement version. + :type functional_acknowledgement_version: str + :param batch_functional_acknowledgements: Required. The value indicating whether to batch + functional acknowledgements. + :type batch_functional_acknowledgements: bool + :param need_implementation_acknowledgement: Required. The value indicating whether + implementation acknowledgement is needed. + :type need_implementation_acknowledgement: bool + :param implementation_acknowledgement_version: The implementation acknowledgement version. + :type implementation_acknowledgement_version: str + :param batch_implementation_acknowledgements: Required. The value indicating whether to batch + implementation acknowledgements. + :type batch_implementation_acknowledgements: bool + :param need_loop_for_valid_messages: Required. The value indicating whether a loop is needed + for valid messages. + :type need_loop_for_valid_messages: bool + :param send_synchronous_acknowledgement: Required. The value indicating whether to send + synchronous acknowledgement. + :type send_synchronous_acknowledgement: bool + :param acknowledgement_control_number_prefix: The acknowledgement control number prefix. + :type acknowledgement_control_number_prefix: str + :param acknowledgement_control_number_suffix: The acknowledgement control number suffix. + :type acknowledgement_control_number_suffix: str + :param acknowledgement_control_number_lower_bound: Required. The acknowledgement control number + lower bound. + :type acknowledgement_control_number_lower_bound: int + :param acknowledgement_control_number_upper_bound: Required. The acknowledgement control number + upper bound. + :type acknowledgement_control_number_upper_bound: int + :param rollover_acknowledgement_control_number: Required. The value indicating whether to + rollover acknowledgement control number. + :type rollover_acknowledgement_control_number: bool + """ + + _validation = { + 'need_technical_acknowledgement': {'required': True}, + 'batch_technical_acknowledgements': {'required': True}, + 'need_functional_acknowledgement': {'required': True}, + 'batch_functional_acknowledgements': {'required': True}, + 'need_implementation_acknowledgement': {'required': True}, + 'batch_implementation_acknowledgements': {'required': True}, + 'need_loop_for_valid_messages': {'required': True}, + 'send_synchronous_acknowledgement': {'required': True}, + 'acknowledgement_control_number_lower_bound': {'required': True}, + 'acknowledgement_control_number_upper_bound': {'required': True}, + 'rollover_acknowledgement_control_number': {'required': True}, + } + + _attribute_map = { + 'need_technical_acknowledgement': {'key': 'needTechnicalAcknowledgement', 'type': 'bool'}, + 'batch_technical_acknowledgements': {'key': 'batchTechnicalAcknowledgements', 'type': 'bool'}, + 'need_functional_acknowledgement': {'key': 'needFunctionalAcknowledgement', 'type': 'bool'}, + 'functional_acknowledgement_version': {'key': 'functionalAcknowledgementVersion', 'type': 'str'}, + 'batch_functional_acknowledgements': {'key': 'batchFunctionalAcknowledgements', 'type': 'bool'}, + 'need_implementation_acknowledgement': {'key': 'needImplementationAcknowledgement', 'type': 'bool'}, + 'implementation_acknowledgement_version': {'key': 'implementationAcknowledgementVersion', 'type': 'str'}, + 'batch_implementation_acknowledgements': {'key': 'batchImplementationAcknowledgements', 'type': 'bool'}, + 'need_loop_for_valid_messages': {'key': 'needLoopForValidMessages', 'type': 'bool'}, + 'send_synchronous_acknowledgement': {'key': 'sendSynchronousAcknowledgement', 'type': 'bool'}, + 'acknowledgement_control_number_prefix': {'key': 'acknowledgementControlNumberPrefix', 'type': 'str'}, + 'acknowledgement_control_number_suffix': {'key': 'acknowledgementControlNumberSuffix', 'type': 'str'}, + 'acknowledgement_control_number_lower_bound': {'key': 'acknowledgementControlNumberLowerBound', 'type': 'int'}, + 'acknowledgement_control_number_upper_bound': {'key': 'acknowledgementControlNumberUpperBound', 'type': 'int'}, + 'rollover_acknowledgement_control_number': {'key': 'rolloverAcknowledgementControlNumber', 'type': 'bool'}, + } + + def __init__( + self, + *, + need_technical_acknowledgement: bool, + batch_technical_acknowledgements: bool, + need_functional_acknowledgement: bool, + batch_functional_acknowledgements: bool, + need_implementation_acknowledgement: bool, + batch_implementation_acknowledgements: bool, + need_loop_for_valid_messages: bool, + send_synchronous_acknowledgement: bool, + acknowledgement_control_number_lower_bound: int, + acknowledgement_control_number_upper_bound: int, + rollover_acknowledgement_control_number: bool, + functional_acknowledgement_version: Optional[str] = None, + implementation_acknowledgement_version: Optional[str] = None, + acknowledgement_control_number_prefix: Optional[str] = None, + acknowledgement_control_number_suffix: Optional[str] = None, + **kwargs + ): + super(X12AcknowledgementSettings, self).__init__(**kwargs) + self.need_technical_acknowledgement = need_technical_acknowledgement + self.batch_technical_acknowledgements = batch_technical_acknowledgements + self.need_functional_acknowledgement = need_functional_acknowledgement + self.functional_acknowledgement_version = functional_acknowledgement_version + self.batch_functional_acknowledgements = batch_functional_acknowledgements + self.need_implementation_acknowledgement = need_implementation_acknowledgement + self.implementation_acknowledgement_version = implementation_acknowledgement_version + self.batch_implementation_acknowledgements = batch_implementation_acknowledgements + self.need_loop_for_valid_messages = need_loop_for_valid_messages + self.send_synchronous_acknowledgement = send_synchronous_acknowledgement + self.acknowledgement_control_number_prefix = acknowledgement_control_number_prefix + self.acknowledgement_control_number_suffix = acknowledgement_control_number_suffix + self.acknowledgement_control_number_lower_bound = acknowledgement_control_number_lower_bound + self.acknowledgement_control_number_upper_bound = acknowledgement_control_number_upper_bound + self.rollover_acknowledgement_control_number = rollover_acknowledgement_control_number + + +class X12AgreementContent(msrest.serialization.Model): + """The X12 agreement content. + + All required parameters must be populated in order to send to Azure. + + :param receive_agreement: Required. The X12 one-way receive agreement. + :type receive_agreement: ~azure.mgmt.logic.models.X12OneWayAgreement + :param send_agreement: Required. The X12 one-way send agreement. + :type send_agreement: ~azure.mgmt.logic.models.X12OneWayAgreement + """ + + _validation = { + 'receive_agreement': {'required': True}, + 'send_agreement': {'required': True}, + } + + _attribute_map = { + 'receive_agreement': {'key': 'receiveAgreement', 'type': 'X12OneWayAgreement'}, + 'send_agreement': {'key': 'sendAgreement', 'type': 'X12OneWayAgreement'}, + } + + def __init__( + self, + *, + receive_agreement: "X12OneWayAgreement", + send_agreement: "X12OneWayAgreement", + **kwargs + ): + super(X12AgreementContent, self).__init__(**kwargs) + self.receive_agreement = receive_agreement + self.send_agreement = send_agreement + + +class X12DelimiterOverrides(msrest.serialization.Model): + """The X12 delimiter override settings. + + All required parameters must be populated in order to send to Azure. + + :param protocol_version: The protocol version. + :type protocol_version: str + :param message_id: The message id. + :type message_id: str + :param data_element_separator: Required. The data element separator. + :type data_element_separator: int + :param component_separator: Required. The component separator. + :type component_separator: int + :param segment_terminator: Required. The segment terminator. + :type segment_terminator: int + :param segment_terminator_suffix: Required. The segment terminator suffix. Possible values + include: "NotSpecified", "None", "CR", "LF", "CRLF". + :type segment_terminator_suffix: str or ~azure.mgmt.logic.models.SegmentTerminatorSuffix + :param replace_character: Required. The replacement character. + :type replace_character: int + :param replace_separators_in_payload: Required. The value indicating whether to replace + separators in payload. + :type replace_separators_in_payload: bool + :param target_namespace: The target namespace on which this delimiter settings has to be + applied. + :type target_namespace: str + """ + + _validation = { + 'data_element_separator': {'required': True}, + 'component_separator': {'required': True}, + 'segment_terminator': {'required': True}, + 'segment_terminator_suffix': {'required': True}, + 'replace_character': {'required': True}, + 'replace_separators_in_payload': {'required': True}, + } + + _attribute_map = { + 'protocol_version': {'key': 'protocolVersion', 'type': 'str'}, + 'message_id': {'key': 'messageId', 'type': 'str'}, + 'data_element_separator': {'key': 'dataElementSeparator', 'type': 'int'}, + 'component_separator': {'key': 'componentSeparator', 'type': 'int'}, + 'segment_terminator': {'key': 'segmentTerminator', 'type': 'int'}, + 'segment_terminator_suffix': {'key': 'segmentTerminatorSuffix', 'type': 'str'}, + 'replace_character': {'key': 'replaceCharacter', 'type': 'int'}, + 'replace_separators_in_payload': {'key': 'replaceSeparatorsInPayload', 'type': 'bool'}, + 'target_namespace': {'key': 'targetNamespace', 'type': 'str'}, + } + + def __init__( + self, + *, + data_element_separator: int, + component_separator: int, + segment_terminator: int, + segment_terminator_suffix: Union[str, "SegmentTerminatorSuffix"], + replace_character: int, + replace_separators_in_payload: bool, + protocol_version: Optional[str] = None, + message_id: Optional[str] = None, + target_namespace: Optional[str] = None, + **kwargs + ): + super(X12DelimiterOverrides, self).__init__(**kwargs) + self.protocol_version = protocol_version + self.message_id = message_id + self.data_element_separator = data_element_separator + self.component_separator = component_separator + self.segment_terminator = segment_terminator + self.segment_terminator_suffix = segment_terminator_suffix + self.replace_character = replace_character + self.replace_separators_in_payload = replace_separators_in_payload + self.target_namespace = target_namespace + + +class X12EnvelopeOverride(msrest.serialization.Model): + """The X12 envelope override settings. + + All required parameters must be populated in order to send to Azure. + + :param target_namespace: Required. The target namespace on which this envelope settings has to + be applied. + :type target_namespace: str + :param protocol_version: Required. The protocol version on which this envelope settings has to + be applied. + :type protocol_version: str + :param message_id: Required. The message id on which this envelope settings has to be applied. + :type message_id: str + :param responsible_agency_code: Required. The responsible agency code. + :type responsible_agency_code: str + :param header_version: Required. The header version. + :type header_version: str + :param sender_application_id: Required. The sender application id. + :type sender_application_id: str + :param receiver_application_id: Required. The receiver application id. + :type receiver_application_id: str + :param functional_identifier_code: The functional identifier code. + :type functional_identifier_code: str + :param date_format: Required. The date format. Possible values include: "NotSpecified", + "CCYYMMDD", "YYMMDD". + :type date_format: str or ~azure.mgmt.logic.models.X12DateFormat + :param time_format: Required. The time format. Possible values include: "NotSpecified", "HHMM", + "HHMMSS", "HHMMSSdd", "HHMMSSd". + :type time_format: str or ~azure.mgmt.logic.models.X12TimeFormat + """ + + _validation = { + 'target_namespace': {'required': True}, + 'protocol_version': {'required': True}, + 'message_id': {'required': True}, + 'responsible_agency_code': {'required': True}, + 'header_version': {'required': True}, + 'sender_application_id': {'required': True}, + 'receiver_application_id': {'required': True}, + 'date_format': {'required': True}, + 'time_format': {'required': True}, + } + + _attribute_map = { + 'target_namespace': {'key': 'targetNamespace', 'type': 'str'}, + 'protocol_version': {'key': 'protocolVersion', 'type': 'str'}, + 'message_id': {'key': 'messageId', 'type': 'str'}, + 'responsible_agency_code': {'key': 'responsibleAgencyCode', 'type': 'str'}, + 'header_version': {'key': 'headerVersion', 'type': 'str'}, + 'sender_application_id': {'key': 'senderApplicationId', 'type': 'str'}, + 'receiver_application_id': {'key': 'receiverApplicationId', 'type': 'str'}, + 'functional_identifier_code': {'key': 'functionalIdentifierCode', 'type': 'str'}, + 'date_format': {'key': 'dateFormat', 'type': 'str'}, + 'time_format': {'key': 'timeFormat', 'type': 'str'}, + } + + def __init__( + self, + *, + target_namespace: str, + protocol_version: str, + message_id: str, + responsible_agency_code: str, + header_version: str, + sender_application_id: str, + receiver_application_id: str, + date_format: Union[str, "X12DateFormat"], + time_format: Union[str, "X12TimeFormat"], + functional_identifier_code: Optional[str] = None, + **kwargs + ): + super(X12EnvelopeOverride, self).__init__(**kwargs) + self.target_namespace = target_namespace + self.protocol_version = protocol_version + self.message_id = message_id + self.responsible_agency_code = responsible_agency_code + self.header_version = header_version + self.sender_application_id = sender_application_id + self.receiver_application_id = receiver_application_id + self.functional_identifier_code = functional_identifier_code + self.date_format = date_format + self.time_format = time_format + + +class X12EnvelopeSettings(msrest.serialization.Model): + """The X12 agreement envelope settings. + + All required parameters must be populated in order to send to Azure. + + :param control_standards_id: Required. The controls standards id. + :type control_standards_id: int + :param use_control_standards_id_as_repetition_character: Required. The value indicating whether + to use control standards id as repetition character. + :type use_control_standards_id_as_repetition_character: bool + :param sender_application_id: Required. The sender application id. + :type sender_application_id: str + :param receiver_application_id: Required. The receiver application id. + :type receiver_application_id: str + :param control_version_number: Required. The control version number. + :type control_version_number: str + :param interchange_control_number_lower_bound: Required. The interchange control number lower + bound. + :type interchange_control_number_lower_bound: int + :param interchange_control_number_upper_bound: Required. The interchange control number upper + bound. + :type interchange_control_number_upper_bound: int + :param rollover_interchange_control_number: Required. The value indicating whether to rollover + interchange control number. + :type rollover_interchange_control_number: bool + :param enable_default_group_headers: Required. The value indicating whether to enable default + group headers. + :type enable_default_group_headers: bool + :param functional_group_id: The functional group id. + :type functional_group_id: str + :param group_control_number_lower_bound: Required. The group control number lower bound. + :type group_control_number_lower_bound: int + :param group_control_number_upper_bound: Required. The group control number upper bound. + :type group_control_number_upper_bound: int + :param rollover_group_control_number: Required. The value indicating whether to rollover group + control number. + :type rollover_group_control_number: bool + :param group_header_agency_code: Required. The group header agency code. + :type group_header_agency_code: str + :param group_header_version: Required. The group header version. + :type group_header_version: str + :param transaction_set_control_number_lower_bound: Required. The transaction set control number + lower bound. + :type transaction_set_control_number_lower_bound: int + :param transaction_set_control_number_upper_bound: Required. The transaction set control number + upper bound. + :type transaction_set_control_number_upper_bound: int + :param rollover_transaction_set_control_number: Required. The value indicating whether to + rollover transaction set control number. + :type rollover_transaction_set_control_number: bool + :param transaction_set_control_number_prefix: The transaction set control number prefix. + :type transaction_set_control_number_prefix: str + :param transaction_set_control_number_suffix: The transaction set control number suffix. + :type transaction_set_control_number_suffix: str + :param overwrite_existing_transaction_set_control_number: Required. The value indicating + whether to overwrite existing transaction set control number. + :type overwrite_existing_transaction_set_control_number: bool + :param group_header_date_format: Required. The group header date format. Possible values + include: "NotSpecified", "CCYYMMDD", "YYMMDD". + :type group_header_date_format: str or ~azure.mgmt.logic.models.X12DateFormat + :param group_header_time_format: Required. The group header time format. Possible values + include: "NotSpecified", "HHMM", "HHMMSS", "HHMMSSdd", "HHMMSSd". + :type group_header_time_format: str or ~azure.mgmt.logic.models.X12TimeFormat + :param usage_indicator: Required. The usage indicator. Possible values include: "NotSpecified", + "Test", "Information", "Production". + :type usage_indicator: str or ~azure.mgmt.logic.models.UsageIndicator + """ + + _validation = { + 'control_standards_id': {'required': True}, + 'use_control_standards_id_as_repetition_character': {'required': True}, + 'sender_application_id': {'required': True}, + 'receiver_application_id': {'required': True}, + 'control_version_number': {'required': True}, + 'interchange_control_number_lower_bound': {'required': True}, + 'interchange_control_number_upper_bound': {'required': True}, + 'rollover_interchange_control_number': {'required': True}, + 'enable_default_group_headers': {'required': True}, + 'group_control_number_lower_bound': {'required': True}, + 'group_control_number_upper_bound': {'required': True}, + 'rollover_group_control_number': {'required': True}, + 'group_header_agency_code': {'required': True}, + 'group_header_version': {'required': True}, + 'transaction_set_control_number_lower_bound': {'required': True}, + 'transaction_set_control_number_upper_bound': {'required': True}, + 'rollover_transaction_set_control_number': {'required': True}, + 'overwrite_existing_transaction_set_control_number': {'required': True}, + 'group_header_date_format': {'required': True}, + 'group_header_time_format': {'required': True}, + 'usage_indicator': {'required': True}, + } + + _attribute_map = { + 'control_standards_id': {'key': 'controlStandardsId', 'type': 'int'}, + 'use_control_standards_id_as_repetition_character': {'key': 'useControlStandardsIdAsRepetitionCharacter', 'type': 'bool'}, + 'sender_application_id': {'key': 'senderApplicationId', 'type': 'str'}, + 'receiver_application_id': {'key': 'receiverApplicationId', 'type': 'str'}, + 'control_version_number': {'key': 'controlVersionNumber', 'type': 'str'}, + 'interchange_control_number_lower_bound': {'key': 'interchangeControlNumberLowerBound', 'type': 'int'}, + 'interchange_control_number_upper_bound': {'key': 'interchangeControlNumberUpperBound', 'type': 'int'}, + 'rollover_interchange_control_number': {'key': 'rolloverInterchangeControlNumber', 'type': 'bool'}, + 'enable_default_group_headers': {'key': 'enableDefaultGroupHeaders', 'type': 'bool'}, + 'functional_group_id': {'key': 'functionalGroupId', 'type': 'str'}, + 'group_control_number_lower_bound': {'key': 'groupControlNumberLowerBound', 'type': 'int'}, + 'group_control_number_upper_bound': {'key': 'groupControlNumberUpperBound', 'type': 'int'}, + 'rollover_group_control_number': {'key': 'rolloverGroupControlNumber', 'type': 'bool'}, + 'group_header_agency_code': {'key': 'groupHeaderAgencyCode', 'type': 'str'}, + 'group_header_version': {'key': 'groupHeaderVersion', 'type': 'str'}, + 'transaction_set_control_number_lower_bound': {'key': 'transactionSetControlNumberLowerBound', 'type': 'int'}, + 'transaction_set_control_number_upper_bound': {'key': 'transactionSetControlNumberUpperBound', 'type': 'int'}, + 'rollover_transaction_set_control_number': {'key': 'rolloverTransactionSetControlNumber', 'type': 'bool'}, + 'transaction_set_control_number_prefix': {'key': 'transactionSetControlNumberPrefix', 'type': 'str'}, + 'transaction_set_control_number_suffix': {'key': 'transactionSetControlNumberSuffix', 'type': 'str'}, + 'overwrite_existing_transaction_set_control_number': {'key': 'overwriteExistingTransactionSetControlNumber', 'type': 'bool'}, + 'group_header_date_format': {'key': 'groupHeaderDateFormat', 'type': 'str'}, + 'group_header_time_format': {'key': 'groupHeaderTimeFormat', 'type': 'str'}, + 'usage_indicator': {'key': 'usageIndicator', 'type': 'str'}, + } + + def __init__( + self, + *, + control_standards_id: int, + use_control_standards_id_as_repetition_character: bool, + sender_application_id: str, + receiver_application_id: str, + control_version_number: str, + interchange_control_number_lower_bound: int, + interchange_control_number_upper_bound: int, + rollover_interchange_control_number: bool, + enable_default_group_headers: bool, + group_control_number_lower_bound: int, + group_control_number_upper_bound: int, + rollover_group_control_number: bool, + group_header_agency_code: str, + group_header_version: str, + transaction_set_control_number_lower_bound: int, + transaction_set_control_number_upper_bound: int, + rollover_transaction_set_control_number: bool, + overwrite_existing_transaction_set_control_number: bool, + group_header_date_format: Union[str, "X12DateFormat"], + group_header_time_format: Union[str, "X12TimeFormat"], + usage_indicator: Union[str, "UsageIndicator"], + functional_group_id: Optional[str] = None, + transaction_set_control_number_prefix: Optional[str] = None, + transaction_set_control_number_suffix: Optional[str] = None, + **kwargs + ): + super(X12EnvelopeSettings, self).__init__(**kwargs) + self.control_standards_id = control_standards_id + self.use_control_standards_id_as_repetition_character = use_control_standards_id_as_repetition_character + self.sender_application_id = sender_application_id + self.receiver_application_id = receiver_application_id + self.control_version_number = control_version_number + self.interchange_control_number_lower_bound = interchange_control_number_lower_bound + self.interchange_control_number_upper_bound = interchange_control_number_upper_bound + self.rollover_interchange_control_number = rollover_interchange_control_number + self.enable_default_group_headers = enable_default_group_headers + self.functional_group_id = functional_group_id + self.group_control_number_lower_bound = group_control_number_lower_bound + self.group_control_number_upper_bound = group_control_number_upper_bound + self.rollover_group_control_number = rollover_group_control_number + self.group_header_agency_code = group_header_agency_code + self.group_header_version = group_header_version + self.transaction_set_control_number_lower_bound = transaction_set_control_number_lower_bound + self.transaction_set_control_number_upper_bound = transaction_set_control_number_upper_bound + self.rollover_transaction_set_control_number = rollover_transaction_set_control_number + self.transaction_set_control_number_prefix = transaction_set_control_number_prefix + self.transaction_set_control_number_suffix = transaction_set_control_number_suffix + self.overwrite_existing_transaction_set_control_number = overwrite_existing_transaction_set_control_number + self.group_header_date_format = group_header_date_format + self.group_header_time_format = group_header_time_format + self.usage_indicator = usage_indicator + + +class X12FramingSettings(msrest.serialization.Model): + """The X12 agreement framing settings. + + All required parameters must be populated in order to send to Azure. + + :param data_element_separator: Required. The data element separator. + :type data_element_separator: int + :param component_separator: Required. The component separator. + :type component_separator: int + :param replace_separators_in_payload: Required. The value indicating whether to replace + separators in payload. + :type replace_separators_in_payload: bool + :param replace_character: Required. The replacement character. + :type replace_character: int + :param segment_terminator: Required. The segment terminator. + :type segment_terminator: int + :param character_set: Required. The X12 character set. Possible values include: "NotSpecified", + "Basic", "Extended", "UTF8". + :type character_set: str or ~azure.mgmt.logic.models.X12CharacterSet + :param segment_terminator_suffix: Required. The segment terminator suffix. Possible values + include: "NotSpecified", "None", "CR", "LF", "CRLF". + :type segment_terminator_suffix: str or ~azure.mgmt.logic.models.SegmentTerminatorSuffix + """ + + _validation = { + 'data_element_separator': {'required': True}, + 'component_separator': {'required': True}, + 'replace_separators_in_payload': {'required': True}, + 'replace_character': {'required': True}, + 'segment_terminator': {'required': True}, + 'character_set': {'required': True}, + 'segment_terminator_suffix': {'required': True}, + } + + _attribute_map = { + 'data_element_separator': {'key': 'dataElementSeparator', 'type': 'int'}, + 'component_separator': {'key': 'componentSeparator', 'type': 'int'}, + 'replace_separators_in_payload': {'key': 'replaceSeparatorsInPayload', 'type': 'bool'}, + 'replace_character': {'key': 'replaceCharacter', 'type': 'int'}, + 'segment_terminator': {'key': 'segmentTerminator', 'type': 'int'}, + 'character_set': {'key': 'characterSet', 'type': 'str'}, + 'segment_terminator_suffix': {'key': 'segmentTerminatorSuffix', 'type': 'str'}, + } + + def __init__( + self, + *, + data_element_separator: int, + component_separator: int, + replace_separators_in_payload: bool, + replace_character: int, + segment_terminator: int, + character_set: Union[str, "X12CharacterSet"], + segment_terminator_suffix: Union[str, "SegmentTerminatorSuffix"], + **kwargs + ): + super(X12FramingSettings, self).__init__(**kwargs) + self.data_element_separator = data_element_separator + self.component_separator = component_separator + self.replace_separators_in_payload = replace_separators_in_payload + self.replace_character = replace_character + self.segment_terminator = segment_terminator + self.character_set = character_set + self.segment_terminator_suffix = segment_terminator_suffix + + +class X12MessageFilter(msrest.serialization.Model): + """The X12 message filter for odata query. + + All required parameters must be populated in order to send to Azure. + + :param message_filter_type: Required. The message filter type. Possible values include: + "NotSpecified", "Include", "Exclude". + :type message_filter_type: str or ~azure.mgmt.logic.models.MessageFilterType + """ + + _validation = { + 'message_filter_type': {'required': True}, + } + + _attribute_map = { + 'message_filter_type': {'key': 'messageFilterType', 'type': 'str'}, + } + + def __init__( + self, + *, + message_filter_type: Union[str, "MessageFilterType"], + **kwargs + ): + super(X12MessageFilter, self).__init__(**kwargs) + self.message_filter_type = message_filter_type + + +class X12MessageIdentifier(msrest.serialization.Model): + """The X12 message identifier. + + All required parameters must be populated in order to send to Azure. + + :param message_id: Required. The message id. + :type message_id: str + """ + + _validation = { + 'message_id': {'required': True}, + } + + _attribute_map = { + 'message_id': {'key': 'messageId', 'type': 'str'}, + } + + def __init__( + self, + *, + message_id: str, + **kwargs + ): + super(X12MessageIdentifier, self).__init__(**kwargs) + self.message_id = message_id + + +class X12OneWayAgreement(msrest.serialization.Model): + """The X12 one-way agreement. + + All required parameters must be populated in order to send to Azure. + + :param sender_business_identity: Required. The sender business identity. + :type sender_business_identity: ~azure.mgmt.logic.models.BusinessIdentity + :param receiver_business_identity: Required. The receiver business identity. + :type receiver_business_identity: ~azure.mgmt.logic.models.BusinessIdentity + :param protocol_settings: Required. The X12 protocol settings. + :type protocol_settings: ~azure.mgmt.logic.models.X12ProtocolSettings + """ + + _validation = { + 'sender_business_identity': {'required': True}, + 'receiver_business_identity': {'required': True}, + 'protocol_settings': {'required': True}, + } + + _attribute_map = { + 'sender_business_identity': {'key': 'senderBusinessIdentity', 'type': 'BusinessIdentity'}, + 'receiver_business_identity': {'key': 'receiverBusinessIdentity', 'type': 'BusinessIdentity'}, + 'protocol_settings': {'key': 'protocolSettings', 'type': 'X12ProtocolSettings'}, + } + + def __init__( + self, + *, + sender_business_identity: "BusinessIdentity", + receiver_business_identity: "BusinessIdentity", + protocol_settings: "X12ProtocolSettings", + **kwargs + ): + super(X12OneWayAgreement, self).__init__(**kwargs) + self.sender_business_identity = sender_business_identity + self.receiver_business_identity = receiver_business_identity + self.protocol_settings = protocol_settings + + +class X12ProcessingSettings(msrest.serialization.Model): + """The X12 processing settings. + + All required parameters must be populated in order to send to Azure. + + :param mask_security_info: Required. The value indicating whether to mask security information. + :type mask_security_info: bool + :param convert_implied_decimal: Required. The value indicating whether to convert numerical + type to implied decimal. + :type convert_implied_decimal: bool + :param preserve_interchange: Required. The value indicating whether to preserve interchange. + :type preserve_interchange: bool + :param suspend_interchange_on_error: Required. The value indicating whether to suspend + interchange on error. + :type suspend_interchange_on_error: bool + :param create_empty_xml_tags_for_trailing_separators: Required. The value indicating whether to + create empty xml tags for trailing separators. + :type create_empty_xml_tags_for_trailing_separators: bool + :param use_dot_as_decimal_separator: Required. The value indicating whether to use dot as + decimal separator. + :type use_dot_as_decimal_separator: bool + """ + + _validation = { + 'mask_security_info': {'required': True}, + 'convert_implied_decimal': {'required': True}, + 'preserve_interchange': {'required': True}, + 'suspend_interchange_on_error': {'required': True}, + 'create_empty_xml_tags_for_trailing_separators': {'required': True}, + 'use_dot_as_decimal_separator': {'required': True}, + } + + _attribute_map = { + 'mask_security_info': {'key': 'maskSecurityInfo', 'type': 'bool'}, + 'convert_implied_decimal': {'key': 'convertImpliedDecimal', 'type': 'bool'}, + 'preserve_interchange': {'key': 'preserveInterchange', 'type': 'bool'}, + 'suspend_interchange_on_error': {'key': 'suspendInterchangeOnError', 'type': 'bool'}, + 'create_empty_xml_tags_for_trailing_separators': {'key': 'createEmptyXmlTagsForTrailingSeparators', 'type': 'bool'}, + 'use_dot_as_decimal_separator': {'key': 'useDotAsDecimalSeparator', 'type': 'bool'}, + } + + def __init__( + self, + *, + mask_security_info: bool, + convert_implied_decimal: bool, + preserve_interchange: bool, + suspend_interchange_on_error: bool, + create_empty_xml_tags_for_trailing_separators: bool, + use_dot_as_decimal_separator: bool, + **kwargs + ): + super(X12ProcessingSettings, self).__init__(**kwargs) + self.mask_security_info = mask_security_info + self.convert_implied_decimal = convert_implied_decimal + self.preserve_interchange = preserve_interchange + self.suspend_interchange_on_error = suspend_interchange_on_error + self.create_empty_xml_tags_for_trailing_separators = create_empty_xml_tags_for_trailing_separators + self.use_dot_as_decimal_separator = use_dot_as_decimal_separator + + +class X12ProtocolSettings(msrest.serialization.Model): + """The X12 agreement protocol settings. + + All required parameters must be populated in order to send to Azure. + + :param validation_settings: Required. The X12 validation settings. + :type validation_settings: ~azure.mgmt.logic.models.X12ValidationSettings + :param framing_settings: Required. The X12 framing settings. + :type framing_settings: ~azure.mgmt.logic.models.X12FramingSettings + :param envelope_settings: Required. The X12 envelope settings. + :type envelope_settings: ~azure.mgmt.logic.models.X12EnvelopeSettings + :param acknowledgement_settings: Required. The X12 acknowledgment settings. + :type acknowledgement_settings: ~azure.mgmt.logic.models.X12AcknowledgementSettings + :param message_filter: Required. The X12 message filter. + :type message_filter: ~azure.mgmt.logic.models.X12MessageFilter + :param security_settings: Required. The X12 security settings. + :type security_settings: ~azure.mgmt.logic.models.X12SecuritySettings + :param processing_settings: Required. The X12 processing settings. + :type processing_settings: ~azure.mgmt.logic.models.X12ProcessingSettings + :param envelope_overrides: The X12 envelope override settings. + :type envelope_overrides: list[~azure.mgmt.logic.models.X12EnvelopeOverride] + :param validation_overrides: The X12 validation override settings. + :type validation_overrides: list[~azure.mgmt.logic.models.X12ValidationOverride] + :param message_filter_list: The X12 message filter list. + :type message_filter_list: list[~azure.mgmt.logic.models.X12MessageIdentifier] + :param schema_references: Required. The X12 schema references. + :type schema_references: list[~azure.mgmt.logic.models.X12SchemaReference] + :param x12_delimiter_overrides: The X12 delimiter override settings. + :type x12_delimiter_overrides: list[~azure.mgmt.logic.models.X12DelimiterOverrides] + """ + + _validation = { + 'validation_settings': {'required': True}, + 'framing_settings': {'required': True}, + 'envelope_settings': {'required': True}, + 'acknowledgement_settings': {'required': True}, + 'message_filter': {'required': True}, + 'security_settings': {'required': True}, + 'processing_settings': {'required': True}, + 'schema_references': {'required': True}, + } + + _attribute_map = { + 'validation_settings': {'key': 'validationSettings', 'type': 'X12ValidationSettings'}, + 'framing_settings': {'key': 'framingSettings', 'type': 'X12FramingSettings'}, + 'envelope_settings': {'key': 'envelopeSettings', 'type': 'X12EnvelopeSettings'}, + 'acknowledgement_settings': {'key': 'acknowledgementSettings', 'type': 'X12AcknowledgementSettings'}, + 'message_filter': {'key': 'messageFilter', 'type': 'X12MessageFilter'}, + 'security_settings': {'key': 'securitySettings', 'type': 'X12SecuritySettings'}, + 'processing_settings': {'key': 'processingSettings', 'type': 'X12ProcessingSettings'}, + 'envelope_overrides': {'key': 'envelopeOverrides', 'type': '[X12EnvelopeOverride]'}, + 'validation_overrides': {'key': 'validationOverrides', 'type': '[X12ValidationOverride]'}, + 'message_filter_list': {'key': 'messageFilterList', 'type': '[X12MessageIdentifier]'}, + 'schema_references': {'key': 'schemaReferences', 'type': '[X12SchemaReference]'}, + 'x12_delimiter_overrides': {'key': 'x12DelimiterOverrides', 'type': '[X12DelimiterOverrides]'}, + } + + def __init__( + self, + *, + validation_settings: "X12ValidationSettings", + framing_settings: "X12FramingSettings", + envelope_settings: "X12EnvelopeSettings", + acknowledgement_settings: "X12AcknowledgementSettings", + message_filter: "X12MessageFilter", + security_settings: "X12SecuritySettings", + processing_settings: "X12ProcessingSettings", + schema_references: List["X12SchemaReference"], + envelope_overrides: Optional[List["X12EnvelopeOverride"]] = None, + validation_overrides: Optional[List["X12ValidationOverride"]] = None, + message_filter_list: Optional[List["X12MessageIdentifier"]] = None, + x12_delimiter_overrides: Optional[List["X12DelimiterOverrides"]] = None, + **kwargs + ): + super(X12ProtocolSettings, self).__init__(**kwargs) + self.validation_settings = validation_settings + self.framing_settings = framing_settings + self.envelope_settings = envelope_settings + self.acknowledgement_settings = acknowledgement_settings + self.message_filter = message_filter + self.security_settings = security_settings + self.processing_settings = processing_settings + self.envelope_overrides = envelope_overrides + self.validation_overrides = validation_overrides + self.message_filter_list = message_filter_list + self.schema_references = schema_references + self.x12_delimiter_overrides = x12_delimiter_overrides + + +class X12SchemaReference(msrest.serialization.Model): + """The X12 schema reference. + + All required parameters must be populated in order to send to Azure. + + :param message_id: Required. The message id. + :type message_id: str + :param sender_application_id: The sender application id. + :type sender_application_id: str + :param schema_version: Required. The schema version. + :type schema_version: str + :param schema_name: Required. The schema name. + :type schema_name: str + """ + + _validation = { + 'message_id': {'required': True}, + 'schema_version': {'required': True}, + 'schema_name': {'required': True}, + } + + _attribute_map = { + 'message_id': {'key': 'messageId', 'type': 'str'}, + 'sender_application_id': {'key': 'senderApplicationId', 'type': 'str'}, + 'schema_version': {'key': 'schemaVersion', 'type': 'str'}, + 'schema_name': {'key': 'schemaName', 'type': 'str'}, + } + + def __init__( + self, + *, + message_id: str, + schema_version: str, + schema_name: str, + sender_application_id: Optional[str] = None, + **kwargs + ): + super(X12SchemaReference, self).__init__(**kwargs) + self.message_id = message_id + self.sender_application_id = sender_application_id + self.schema_version = schema_version + self.schema_name = schema_name + + +class X12SecuritySettings(msrest.serialization.Model): + """The X12 agreement security settings. + + All required parameters must be populated in order to send to Azure. + + :param authorization_qualifier: Required. The authorization qualifier. + :type authorization_qualifier: str + :param authorization_value: The authorization value. + :type authorization_value: str + :param security_qualifier: Required. The security qualifier. + :type security_qualifier: str + :param password_value: The password value. + :type password_value: str + """ + + _validation = { + 'authorization_qualifier': {'required': True}, + 'security_qualifier': {'required': True}, + } + + _attribute_map = { + 'authorization_qualifier': {'key': 'authorizationQualifier', 'type': 'str'}, + 'authorization_value': {'key': 'authorizationValue', 'type': 'str'}, + 'security_qualifier': {'key': 'securityQualifier', 'type': 'str'}, + 'password_value': {'key': 'passwordValue', 'type': 'str'}, + } + + def __init__( + self, + *, + authorization_qualifier: str, + security_qualifier: str, + authorization_value: Optional[str] = None, + password_value: Optional[str] = None, + **kwargs + ): + super(X12SecuritySettings, self).__init__(**kwargs) + self.authorization_qualifier = authorization_qualifier + self.authorization_value = authorization_value + self.security_qualifier = security_qualifier + self.password_value = password_value + + +class X12ValidationOverride(msrest.serialization.Model): + """The X12 validation override settings. + + All required parameters must be populated in order to send to Azure. + + :param message_id: Required. The message id on which the validation settings has to be applied. + :type message_id: str + :param validate_edi_types: Required. The value indicating whether to validate EDI types. + :type validate_edi_types: bool + :param validate_xsd_types: Required. The value indicating whether to validate XSD types. + :type validate_xsd_types: bool + :param allow_leading_and_trailing_spaces_and_zeroes: Required. The value indicating whether to + allow leading and trailing spaces and zeroes. + :type allow_leading_and_trailing_spaces_and_zeroes: bool + :param validate_character_set: Required. The value indicating whether to validate character + Set. + :type validate_character_set: bool + :param trim_leading_and_trailing_spaces_and_zeroes: Required. The value indicating whether to + trim leading and trailing spaces and zeroes. + :type trim_leading_and_trailing_spaces_and_zeroes: bool + :param trailing_separator_policy: Required. The trailing separator policy. Possible values + include: "NotSpecified", "NotAllowed", "Optional", "Mandatory". + :type trailing_separator_policy: str or ~azure.mgmt.logic.models.TrailingSeparatorPolicy + """ + + _validation = { + 'message_id': {'required': True}, + 'validate_edi_types': {'required': True}, + 'validate_xsd_types': {'required': True}, + 'allow_leading_and_trailing_spaces_and_zeroes': {'required': True}, + 'validate_character_set': {'required': True}, + 'trim_leading_and_trailing_spaces_and_zeroes': {'required': True}, + 'trailing_separator_policy': {'required': True}, + } + + _attribute_map = { + 'message_id': {'key': 'messageId', 'type': 'str'}, + 'validate_edi_types': {'key': 'validateEDITypes', 'type': 'bool'}, + 'validate_xsd_types': {'key': 'validateXSDTypes', 'type': 'bool'}, + 'allow_leading_and_trailing_spaces_and_zeroes': {'key': 'allowLeadingAndTrailingSpacesAndZeroes', 'type': 'bool'}, + 'validate_character_set': {'key': 'validateCharacterSet', 'type': 'bool'}, + 'trim_leading_and_trailing_spaces_and_zeroes': {'key': 'trimLeadingAndTrailingSpacesAndZeroes', 'type': 'bool'}, + 'trailing_separator_policy': {'key': 'trailingSeparatorPolicy', 'type': 'str'}, + } + + def __init__( + self, + *, + message_id: str, + validate_edi_types: bool, + validate_xsd_types: bool, + allow_leading_and_trailing_spaces_and_zeroes: bool, + validate_character_set: bool, + trim_leading_and_trailing_spaces_and_zeroes: bool, + trailing_separator_policy: Union[str, "TrailingSeparatorPolicy"], + **kwargs + ): + super(X12ValidationOverride, self).__init__(**kwargs) + self.message_id = message_id + self.validate_edi_types = validate_edi_types + self.validate_xsd_types = validate_xsd_types + self.allow_leading_and_trailing_spaces_and_zeroes = allow_leading_and_trailing_spaces_and_zeroes + self.validate_character_set = validate_character_set + self.trim_leading_and_trailing_spaces_and_zeroes = trim_leading_and_trailing_spaces_and_zeroes + self.trailing_separator_policy = trailing_separator_policy + + +class X12ValidationSettings(msrest.serialization.Model): + """The X12 agreement validation settings. + + All required parameters must be populated in order to send to Azure. + + :param validate_character_set: Required. The value indicating whether to validate character set + in the message. + :type validate_character_set: bool + :param check_duplicate_interchange_control_number: Required. The value indicating whether to + check for duplicate interchange control number. + :type check_duplicate_interchange_control_number: bool + :param interchange_control_number_validity_days: Required. The validity period of interchange + control number. + :type interchange_control_number_validity_days: int + :param check_duplicate_group_control_number: Required. The value indicating whether to check + for duplicate group control number. + :type check_duplicate_group_control_number: bool + :param check_duplicate_transaction_set_control_number: Required. The value indicating whether + to check for duplicate transaction set control number. + :type check_duplicate_transaction_set_control_number: bool + :param validate_edi_types: Required. The value indicating whether to Whether to validate EDI + types. + :type validate_edi_types: bool + :param validate_xsd_types: Required. The value indicating whether to Whether to validate XSD + types. + :type validate_xsd_types: bool + :param allow_leading_and_trailing_spaces_and_zeroes: Required. The value indicating whether to + allow leading and trailing spaces and zeroes. + :type allow_leading_and_trailing_spaces_and_zeroes: bool + :param trim_leading_and_trailing_spaces_and_zeroes: Required. The value indicating whether to + trim leading and trailing spaces and zeroes. + :type trim_leading_and_trailing_spaces_and_zeroes: bool + :param trailing_separator_policy: Required. The trailing separator policy. Possible values + include: "NotSpecified", "NotAllowed", "Optional", "Mandatory". + :type trailing_separator_policy: str or ~azure.mgmt.logic.models.TrailingSeparatorPolicy + """ + + _validation = { + 'validate_character_set': {'required': True}, + 'check_duplicate_interchange_control_number': {'required': True}, + 'interchange_control_number_validity_days': {'required': True}, + 'check_duplicate_group_control_number': {'required': True}, + 'check_duplicate_transaction_set_control_number': {'required': True}, + 'validate_edi_types': {'required': True}, + 'validate_xsd_types': {'required': True}, + 'allow_leading_and_trailing_spaces_and_zeroes': {'required': True}, + 'trim_leading_and_trailing_spaces_and_zeroes': {'required': True}, + 'trailing_separator_policy': {'required': True}, + } + + _attribute_map = { + 'validate_character_set': {'key': 'validateCharacterSet', 'type': 'bool'}, + 'check_duplicate_interchange_control_number': {'key': 'checkDuplicateInterchangeControlNumber', 'type': 'bool'}, + 'interchange_control_number_validity_days': {'key': 'interchangeControlNumberValidityDays', 'type': 'int'}, + 'check_duplicate_group_control_number': {'key': 'checkDuplicateGroupControlNumber', 'type': 'bool'}, + 'check_duplicate_transaction_set_control_number': {'key': 'checkDuplicateTransactionSetControlNumber', 'type': 'bool'}, + 'validate_edi_types': {'key': 'validateEDITypes', 'type': 'bool'}, + 'validate_xsd_types': {'key': 'validateXSDTypes', 'type': 'bool'}, + 'allow_leading_and_trailing_spaces_and_zeroes': {'key': 'allowLeadingAndTrailingSpacesAndZeroes', 'type': 'bool'}, + 'trim_leading_and_trailing_spaces_and_zeroes': {'key': 'trimLeadingAndTrailingSpacesAndZeroes', 'type': 'bool'}, + 'trailing_separator_policy': {'key': 'trailingSeparatorPolicy', 'type': 'str'}, + } + + def __init__( + self, + *, + validate_character_set: bool, + check_duplicate_interchange_control_number: bool, + interchange_control_number_validity_days: int, + check_duplicate_group_control_number: bool, + check_duplicate_transaction_set_control_number: bool, + validate_edi_types: bool, + validate_xsd_types: bool, + allow_leading_and_trailing_spaces_and_zeroes: bool, + trim_leading_and_trailing_spaces_and_zeroes: bool, + trailing_separator_policy: Union[str, "TrailingSeparatorPolicy"], + **kwargs + ): + super(X12ValidationSettings, self).__init__(**kwargs) + self.validate_character_set = validate_character_set + self.check_duplicate_interchange_control_number = check_duplicate_interchange_control_number + self.interchange_control_number_validity_days = interchange_control_number_validity_days + self.check_duplicate_group_control_number = check_duplicate_group_control_number + self.check_duplicate_transaction_set_control_number = check_duplicate_transaction_set_control_number + self.validate_edi_types = validate_edi_types + self.validate_xsd_types = validate_xsd_types + self.allow_leading_and_trailing_spaces_and_zeroes = allow_leading_and_trailing_spaces_and_zeroes + self.trim_leading_and_trailing_spaces_and_zeroes = trim_leading_and_trailing_spaces_and_zeroes + self.trailing_separator_policy = trailing_separator_policy diff --git a/src/logic/azext_logic/vendored_sdks/logic/operations/__init__.py b/src/logic/azext_logic/vendored_sdks/logic/operations/__init__.py new file mode 100644 index 00000000000..c3673ac689e --- /dev/null +++ b/src/logic/azext_logic/vendored_sdks/logic/operations/__init__.py @@ -0,0 +1,65 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._workflow_operations import WorkflowOperations +from ._workflow_version_operations import WorkflowVersionOperations +from ._workflow_trigger_operations import WorkflowTriggerOperations +from ._workflow_version_trigger_operations import WorkflowVersionTriggerOperations +from ._workflow_trigger_history_operations import WorkflowTriggerHistoryOperations +from ._workflow_run_operations import WorkflowRunOperations +from ._workflow_run_action_operations import WorkflowRunActionOperations +from ._workflow_run_action_repetition_operations import WorkflowRunActionRepetitionOperations +from ._workflow_run_action_repetition_request_history_operations import WorkflowRunActionRepetitionRequestHistoryOperations +from ._workflow_run_action_request_history_operations import WorkflowRunActionRequestHistoryOperations +from ._workflow_run_action_scope_repetition_operations import WorkflowRunActionScopeRepetitionOperations +from ._workflow_run_operation_operations import WorkflowRunOperationOperations +from ._integration_account_operations import IntegrationAccountOperations +from ._integration_account_assembly_operations import IntegrationAccountAssemblyOperations +from ._integration_account_batch_configuration_operations import IntegrationAccountBatchConfigurationOperations +from ._integration_account_schema_operations import IntegrationAccountSchemaOperations +from ._integration_account_map_operations import IntegrationAccountMapOperations +from ._integration_account_partner_operations import IntegrationAccountPartnerOperations +from ._integration_account_agreement_operations import IntegrationAccountAgreementOperations +from ._integration_account_certificate_operations import IntegrationAccountCertificateOperations +from ._integration_account_session_operations import IntegrationAccountSessionOperations +from ._integration_service_environment_operations import IntegrationServiceEnvironmentOperations +from ._integration_service_environment_sku_operations import IntegrationServiceEnvironmentSkuOperations +from ._integration_service_environment_network_health_operations import IntegrationServiceEnvironmentNetworkHealthOperations +from ._integration_service_environment_managed_api_operations import IntegrationServiceEnvironmentManagedApiOperations +from ._integration_service_environment_managed_api_operation_operations import IntegrationServiceEnvironmentManagedApiOperationOperations +from ._operation_operations import OperationOperations + +__all__ = [ + 'WorkflowOperations', + 'WorkflowVersionOperations', + 'WorkflowTriggerOperations', + 'WorkflowVersionTriggerOperations', + 'WorkflowTriggerHistoryOperations', + 'WorkflowRunOperations', + 'WorkflowRunActionOperations', + 'WorkflowRunActionRepetitionOperations', + 'WorkflowRunActionRepetitionRequestHistoryOperations', + 'WorkflowRunActionRequestHistoryOperations', + 'WorkflowRunActionScopeRepetitionOperations', + 'WorkflowRunOperationOperations', + 'IntegrationAccountOperations', + 'IntegrationAccountAssemblyOperations', + 'IntegrationAccountBatchConfigurationOperations', + 'IntegrationAccountSchemaOperations', + 'IntegrationAccountMapOperations', + 'IntegrationAccountPartnerOperations', + 'IntegrationAccountAgreementOperations', + 'IntegrationAccountCertificateOperations', + 'IntegrationAccountSessionOperations', + 'IntegrationServiceEnvironmentOperations', + 'IntegrationServiceEnvironmentSkuOperations', + 'IntegrationServiceEnvironmentNetworkHealthOperations', + 'IntegrationServiceEnvironmentManagedApiOperations', + 'IntegrationServiceEnvironmentManagedApiOperationOperations', + 'OperationOperations', +] diff --git a/src/logic/azext_logic/vendored_sdks/logic/operations/_integration_account_agreement_operations.py b/src/logic/azext_logic/vendored_sdks/logic/operations/_integration_account_agreement_operations.py new file mode 100644 index 00000000000..38198c748a4 --- /dev/null +++ b/src/logic/azext_logic/vendored_sdks/logic/operations/_integration_account_agreement_operations.py @@ -0,0 +1,421 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import datetime +from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse + +from .. import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class IntegrationAccountAgreementOperations(object): + """IntegrationAccountAgreementOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~logic_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + resource_group_name, # type: str + integration_account_name, # type: str + top=None, # type: Optional[int] + filter=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.IntegrationAccountAgreementListResult" + """Gets a list of integration account agreements. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param integration_account_name: The integration account name. + :type integration_account_name: str + :param top: The number of items to be included in the result. + :type top: int + :param filter: The filter to apply on the operation. Options for filters include: + AgreementType. + :type filter: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationAccountAgreementListResult or the result of cls(response) + :rtype: ~logic_management_client.models.IntegrationAccountAgreementListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationAccountAgreementListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'integrationAccountName': self._serialize.url("integration_account_name", integration_account_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if top is not None: + query_parameters['$top'] = self._serialize.query("top", top, 'int') + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('IntegrationAccountAgreementListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/agreements'} + + def get( + self, + resource_group_name, # type: str + integration_account_name, # type: str + agreement_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.IntegrationAccountAgreement" + """Gets an integration account agreement. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param integration_account_name: The integration account name. + :type integration_account_name: str + :param agreement_name: The integration account agreement name. + :type agreement_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationAccountAgreement or the result of cls(response) + :rtype: ~logic_management_client.models.IntegrationAccountAgreement + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationAccountAgreement"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'integrationAccountName': self._serialize.url("integration_account_name", integration_account_name, 'str'), + 'agreementName': self._serialize.url("agreement_name", agreement_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('IntegrationAccountAgreement', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/agreements/{agreementName}'} + + def create_or_update( + self, + resource_group_name, # type: str + integration_account_name, # type: str + agreement_name, # type: str + agreement_type, # type: Union[str, "models.AgreementType"] + host_partner, # type: str + guest_partner, # type: str + host_identity, # type: "models.BusinessIdentity" + guest_identity, # type: "models.BusinessIdentity" + content, # type: "models.AgreementContent" + location=None, # type: Optional[str] + tags=None, # type: Optional[Dict[str, str]] + metadata=None, # type: Optional[object] + **kwargs # type: Any + ): + # type: (...) -> "models.IntegrationAccountAgreement" + """Creates or updates an integration account agreement. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param integration_account_name: The integration account name. + :type integration_account_name: str + :param agreement_name: The integration account agreement name. + :type agreement_name: str + :param agreement_type: The agreement type. + :type agreement_type: str or ~logic_management_client.models.AgreementType + :param host_partner: The integration account partner that is set as host partner for this + agreement. + :type host_partner: str + :param guest_partner: The integration account partner that is set as guest partner for this + agreement. + :type guest_partner: str + :param host_identity: The business identity of the host partner. + :type host_identity: ~logic_management_client.models.BusinessIdentity + :param guest_identity: The business identity of the guest partner. + :type guest_identity: ~logic_management_client.models.BusinessIdentity + :param content: The agreement content. + :type content: ~logic_management_client.models.AgreementContent + :param location: The resource location. + :type location: str + :param tags: The resource tags. + :type tags: dict[str, str] + :param metadata: The metadata. + :type metadata: object + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationAccountAgreement or the result of cls(response) + :rtype: ~logic_management_client.models.IntegrationAccountAgreement or ~logic_management_client.models.IntegrationAccountAgreement + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationAccountAgreement"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _agreement = models.IntegrationAccountAgreement(location=location, tags=tags, metadata=metadata, agreement_type=agreement_type, host_partner=host_partner, guest_partner=guest_partner, host_identity=host_identity, guest_identity=guest_identity, content=content) + api_version = "2019-05-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'integrationAccountName': self._serialize.url("integration_account_name", integration_account_name, 'str'), + 'agreementName': self._serialize.url("agreement_name", agreement_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_agreement, 'IntegrationAccountAgreement') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('IntegrationAccountAgreement', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('IntegrationAccountAgreement', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/agreements/{agreementName}'} + + def delete( + self, + resource_group_name, # type: str + integration_account_name, # type: str + agreement_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + """Deletes an integration account agreement. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param integration_account_name: The integration account name. + :type integration_account_name: str + :param agreement_name: The integration account agreement name. + :type agreement_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'integrationAccountName': self._serialize.url("integration_account_name", integration_account_name, 'str'), + 'agreementName': self._serialize.url("agreement_name", agreement_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/agreements/{agreementName}'} + + def list_content_callback_url( + self, + resource_group_name, # type: str + integration_account_name, # type: str + agreement_name, # type: str + not_after=None, # type: Optional[datetime.datetime] + key_type=None, # type: Optional[Union[str, "models.KeyType"]] + **kwargs # type: Any + ): + # type: (...) -> "models.WorkflowTriggerCallbackUrl" + """Get the content callback url. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param integration_account_name: The integration account name. + :type integration_account_name: str + :param agreement_name: The integration account agreement name. + :type agreement_name: str + :param not_after: The expiry time. + :type not_after: ~datetime.datetime + :param key_type: The key type. + :type key_type: str or ~logic_management_client.models.KeyType + :keyword callable cls: A custom type or function that will be passed the direct response + :return: WorkflowTriggerCallbackUrl or the result of cls(response) + :rtype: ~logic_management_client.models.WorkflowTriggerCallbackUrl + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.WorkflowTriggerCallbackUrl"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _list_content_callback_url = models.GetCallbackUrlParameters(not_after=not_after, key_type=key_type) + api_version = "2019-05-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.list_content_callback_url.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'integrationAccountName': self._serialize.url("integration_account_name", integration_account_name, 'str'), + 'agreementName': self._serialize.url("agreement_name", agreement_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_list_content_callback_url, 'GetCallbackUrlParameters') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('WorkflowTriggerCallbackUrl', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + list_content_callback_url.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/agreements/{agreementName}/listContentCallbackUrl'} diff --git a/src/logic/azext_logic/vendored_sdks/logic/operations/_integration_account_assembly_operations.py b/src/logic/azext_logic/vendored_sdks/logic/operations/_integration_account_assembly_operations.py new file mode 100644 index 00000000000..c33801e9f97 --- /dev/null +++ b/src/logic/azext_logic/vendored_sdks/logic/operations/_integration_account_assembly_operations.py @@ -0,0 +1,375 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse + +from .. import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class IntegrationAccountAssemblyOperations(object): + """IntegrationAccountAssemblyOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~logic_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + resource_group_name, # type: str + integration_account_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.AssemblyCollection" + """List the assemblies for an integration account. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param integration_account_name: The integration account name. + :type integration_account_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: AssemblyCollection or the result of cls(response) + :rtype: ~logic_management_client.models.AssemblyCollection + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.AssemblyCollection"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'integrationAccountName': self._serialize.url("integration_account_name", integration_account_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('AssemblyCollection', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/assemblies'} + + def get( + self, + resource_group_name, # type: str + integration_account_name, # type: str + assembly_artifact_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.AssemblyDefinition" + """Get an assembly for an integration account. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param integration_account_name: The integration account name. + :type integration_account_name: str + :param assembly_artifact_name: The assembly artifact name. + :type assembly_artifact_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: AssemblyDefinition or the result of cls(response) + :rtype: ~logic_management_client.models.AssemblyDefinition + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.AssemblyDefinition"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'integrationAccountName': self._serialize.url("integration_account_name", integration_account_name, 'str'), + 'assemblyArtifactName': self._serialize.url("assembly_artifact_name", assembly_artifact_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('AssemblyDefinition', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/assemblies/{assemblyArtifactName}'} + + def create_or_update( + self, + resource_group_name, # type: str + integration_account_name, # type: str + assembly_artifact_name, # type: str + properties, # type: "models.AssemblyProperties" + location=None, # type: Optional[str] + tags=None, # type: Optional[Dict[str, str]] + **kwargs # type: Any + ): + # type: (...) -> "models.AssemblyDefinition" + """Create or update an assembly for an integration account. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param integration_account_name: The integration account name. + :type integration_account_name: str + :param assembly_artifact_name: The assembly artifact name. + :type assembly_artifact_name: str + :param properties: The assembly properties. + :type properties: ~logic_management_client.models.AssemblyProperties + :param location: The resource location. + :type location: str + :param tags: The resource tags. + :type tags: dict[str, str] + :keyword callable cls: A custom type or function that will be passed the direct response + :return: AssemblyDefinition or the result of cls(response) + :rtype: ~logic_management_client.models.AssemblyDefinition or ~logic_management_client.models.AssemblyDefinition + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.AssemblyDefinition"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _assembly_artifact = models.AssemblyDefinition(location=location, tags=tags, properties=properties) + api_version = "2019-05-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'integrationAccountName': self._serialize.url("integration_account_name", integration_account_name, 'str'), + 'assemblyArtifactName': self._serialize.url("assembly_artifact_name", assembly_artifact_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_assembly_artifact, 'AssemblyDefinition') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('AssemblyDefinition', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('AssemblyDefinition', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/assemblies/{assemblyArtifactName}'} + + def delete( + self, + resource_group_name, # type: str + integration_account_name, # type: str + assembly_artifact_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + """Delete an assembly for an integration account. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param integration_account_name: The integration account name. + :type integration_account_name: str + :param assembly_artifact_name: The assembly artifact name. + :type assembly_artifact_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'integrationAccountName': self._serialize.url("integration_account_name", integration_account_name, 'str'), + 'assemblyArtifactName': self._serialize.url("assembly_artifact_name", assembly_artifact_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/assemblies/{assemblyArtifactName}'} + + def list_content_callback_url( + self, + resource_group_name, # type: str + integration_account_name, # type: str + assembly_artifact_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.WorkflowTriggerCallbackUrl" + """Get the content callback url for an integration account assembly. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param integration_account_name: The integration account name. + :type integration_account_name: str + :param assembly_artifact_name: The assembly artifact name. + :type assembly_artifact_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: WorkflowTriggerCallbackUrl or the result of cls(response) + :rtype: ~logic_management_client.models.WorkflowTriggerCallbackUrl + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.WorkflowTriggerCallbackUrl"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self.list_content_callback_url.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'integrationAccountName': self._serialize.url("integration_account_name", integration_account_name, 'str'), + 'assemblyArtifactName': self._serialize.url("assembly_artifact_name", assembly_artifact_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('WorkflowTriggerCallbackUrl', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + list_content_callback_url.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/assemblies/{assemblyArtifactName}/listContentCallbackUrl'} diff --git a/src/logic/azext_logic/vendored_sdks/logic/operations/_integration_account_batch_configuration_operations.py b/src/logic/azext_logic/vendored_sdks/logic/operations/_integration_account_batch_configuration_operations.py new file mode 100644 index 00000000000..acde6505e62 --- /dev/null +++ b/src/logic/azext_logic/vendored_sdks/logic/operations/_integration_account_batch_configuration_operations.py @@ -0,0 +1,314 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse + +from .. import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class IntegrationAccountBatchConfigurationOperations(object): + """IntegrationAccountBatchConfigurationOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~logic_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + resource_group_name, # type: str + integration_account_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.BatchConfigurationCollection" + """List the batch configurations for an integration account. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param integration_account_name: The integration account name. + :type integration_account_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: BatchConfigurationCollection or the result of cls(response) + :rtype: ~logic_management_client.models.BatchConfigurationCollection + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.BatchConfigurationCollection"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'integrationAccountName': self._serialize.url("integration_account_name", integration_account_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('BatchConfigurationCollection', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/batchConfigurations'} + + def get( + self, + resource_group_name, # type: str + integration_account_name, # type: str + batch_configuration_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.BatchConfiguration" + """Get a batch configuration for an integration account. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param integration_account_name: The integration account name. + :type integration_account_name: str + :param batch_configuration_name: The batch configuration name. + :type batch_configuration_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: BatchConfiguration or the result of cls(response) + :rtype: ~logic_management_client.models.BatchConfiguration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.BatchConfiguration"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'integrationAccountName': self._serialize.url("integration_account_name", integration_account_name, 'str'), + 'batchConfigurationName': self._serialize.url("batch_configuration_name", batch_configuration_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('BatchConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/batchConfigurations/{batchConfigurationName}'} + + def create_or_update( + self, + resource_group_name, # type: str + integration_account_name, # type: str + batch_configuration_name, # type: str + properties, # type: "models.BatchConfigurationProperties" + location=None, # type: Optional[str] + tags=None, # type: Optional[Dict[str, str]] + **kwargs # type: Any + ): + # type: (...) -> "models.BatchConfiguration" + """Create or update a batch configuration for an integration account. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param integration_account_name: The integration account name. + :type integration_account_name: str + :param batch_configuration_name: The batch configuration name. + :type batch_configuration_name: str + :param properties: The batch configuration properties. + :type properties: ~logic_management_client.models.BatchConfigurationProperties + :param location: The resource location. + :type location: str + :param tags: The resource tags. + :type tags: dict[str, str] + :keyword callable cls: A custom type or function that will be passed the direct response + :return: BatchConfiguration or the result of cls(response) + :rtype: ~logic_management_client.models.BatchConfiguration or ~logic_management_client.models.BatchConfiguration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.BatchConfiguration"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _batch_configuration = models.BatchConfiguration(location=location, tags=tags, properties=properties) + api_version = "2019-05-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'integrationAccountName': self._serialize.url("integration_account_name", integration_account_name, 'str'), + 'batchConfigurationName': self._serialize.url("batch_configuration_name", batch_configuration_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_batch_configuration, 'BatchConfiguration') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('BatchConfiguration', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('BatchConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/batchConfigurations/{batchConfigurationName}'} + + def delete( + self, + resource_group_name, # type: str + integration_account_name, # type: str + batch_configuration_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + """Delete a batch configuration for an integration account. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param integration_account_name: The integration account name. + :type integration_account_name: str + :param batch_configuration_name: The batch configuration name. + :type batch_configuration_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'integrationAccountName': self._serialize.url("integration_account_name", integration_account_name, 'str'), + 'batchConfigurationName': self._serialize.url("batch_configuration_name", batch_configuration_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/batchConfigurations/{batchConfigurationName}'} diff --git a/src/logic/azext_logic/vendored_sdks/logic/operations/_integration_account_certificate_operations.py b/src/logic/azext_logic/vendored_sdks/logic/operations/_integration_account_certificate_operations.py new file mode 100644 index 00000000000..4222becf4b2 --- /dev/null +++ b/src/logic/azext_logic/vendored_sdks/logic/operations/_integration_account_certificate_operations.py @@ -0,0 +1,325 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse + +from .. import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class IntegrationAccountCertificateOperations(object): + """IntegrationAccountCertificateOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~logic_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + resource_group_name, # type: str + integration_account_name, # type: str + top=None, # type: Optional[int] + **kwargs # type: Any + ): + # type: (...) -> "models.IntegrationAccountCertificateListResult" + """Gets a list of integration account certificates. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param integration_account_name: The integration account name. + :type integration_account_name: str + :param top: The number of items to be included in the result. + :type top: int + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationAccountCertificateListResult or the result of cls(response) + :rtype: ~logic_management_client.models.IntegrationAccountCertificateListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationAccountCertificateListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'integrationAccountName': self._serialize.url("integration_account_name", integration_account_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if top is not None: + query_parameters['$top'] = self._serialize.query("top", top, 'int') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('IntegrationAccountCertificateListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/certificates'} + + def get( + self, + resource_group_name, # type: str + integration_account_name, # type: str + certificate_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.IntegrationAccountCertificate" + """Gets an integration account certificate. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param integration_account_name: The integration account name. + :type integration_account_name: str + :param certificate_name: The integration account certificate name. + :type certificate_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationAccountCertificate or the result of cls(response) + :rtype: ~logic_management_client.models.IntegrationAccountCertificate + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationAccountCertificate"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'integrationAccountName': self._serialize.url("integration_account_name", integration_account_name, 'str'), + 'certificateName': self._serialize.url("certificate_name", certificate_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('IntegrationAccountCertificate', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/certificates/{certificateName}'} + + def create_or_update( + self, + resource_group_name, # type: str + integration_account_name, # type: str + certificate_name, # type: str + location=None, # type: Optional[str] + tags=None, # type: Optional[Dict[str, str]] + metadata=None, # type: Optional[object] + key=None, # type: Optional["models.KeyVaultKeyReference"] + public_certificate=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.IntegrationAccountCertificate" + """Creates or updates an integration account certificate. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param integration_account_name: The integration account name. + :type integration_account_name: str + :param certificate_name: The integration account certificate name. + :type certificate_name: str + :param location: The resource location. + :type location: str + :param tags: The resource tags. + :type tags: dict[str, str] + :param metadata: The metadata. + :type metadata: object + :param key: The key details in the key vault. + :type key: ~logic_management_client.models.KeyVaultKeyReference + :param public_certificate: The public certificate. + :type public_certificate: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationAccountCertificate or the result of cls(response) + :rtype: ~logic_management_client.models.IntegrationAccountCertificate or ~logic_management_client.models.IntegrationAccountCertificate + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationAccountCertificate"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _certificate = models.IntegrationAccountCertificate(location=location, tags=tags, metadata=metadata, key=key, public_certificate=public_certificate) + api_version = "2019-05-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'integrationAccountName': self._serialize.url("integration_account_name", integration_account_name, 'str'), + 'certificateName': self._serialize.url("certificate_name", certificate_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_certificate, 'IntegrationAccountCertificate') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('IntegrationAccountCertificate', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('IntegrationAccountCertificate', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/certificates/{certificateName}'} + + def delete( + self, + resource_group_name, # type: str + integration_account_name, # type: str + certificate_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + """Deletes an integration account certificate. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param integration_account_name: The integration account name. + :type integration_account_name: str + :param certificate_name: The integration account certificate name. + :type certificate_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'integrationAccountName': self._serialize.url("integration_account_name", integration_account_name, 'str'), + 'certificateName': self._serialize.url("certificate_name", certificate_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/certificates/{certificateName}'} diff --git a/src/logic/azext_logic/vendored_sdks/logic/operations/_integration_account_map_operations.py b/src/logic/azext_logic/vendored_sdks/logic/operations/_integration_account_map_operations.py new file mode 100644 index 00000000000..4969a4a989c --- /dev/null +++ b/src/logic/azext_logic/vendored_sdks/logic/operations/_integration_account_map_operations.py @@ -0,0 +1,412 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import datetime +from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse + +from .. import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class IntegrationAccountMapOperations(object): + """IntegrationAccountMapOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~logic_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + resource_group_name, # type: str + integration_account_name, # type: str + top=None, # type: Optional[int] + filter=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.IntegrationAccountMapListResult" + """Gets a list of integration account maps. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param integration_account_name: The integration account name. + :type integration_account_name: str + :param top: The number of items to be included in the result. + :type top: int + :param filter: The filter to apply on the operation. Options for filters include: MapType. + :type filter: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationAccountMapListResult or the result of cls(response) + :rtype: ~logic_management_client.models.IntegrationAccountMapListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationAccountMapListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'integrationAccountName': self._serialize.url("integration_account_name", integration_account_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if top is not None: + query_parameters['$top'] = self._serialize.query("top", top, 'int') + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('IntegrationAccountMapListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/maps'} + + def get( + self, + resource_group_name, # type: str + integration_account_name, # type: str + map_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.IntegrationAccountMap" + """Gets an integration account map. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param integration_account_name: The integration account name. + :type integration_account_name: str + :param map_name: The integration account map name. + :type map_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationAccountMap or the result of cls(response) + :rtype: ~logic_management_client.models.IntegrationAccountMap + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationAccountMap"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'integrationAccountName': self._serialize.url("integration_account_name", integration_account_name, 'str'), + 'mapName': self._serialize.url("map_name", map_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('IntegrationAccountMap', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/maps/{mapName}'} + + def create_or_update( + self, + resource_group_name, # type: str + integration_account_name, # type: str + map_name, # type: str + map_type, # type: Union[str, "models.MapType"] + location=None, # type: Optional[str] + tags=None, # type: Optional[Dict[str, str]] + parameters_schema=None, # type: Optional["models.IntegrationAccountMapPropertiesParametersSchema"] + content=None, # type: Optional[str] + content_type_parameter=None, # type: Optional[str] + metadata=None, # type: Optional[object] + **kwargs # type: Any + ): + # type: (...) -> "models.IntegrationAccountMap" + """Creates or updates an integration account map. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param integration_account_name: The integration account name. + :type integration_account_name: str + :param map_name: The integration account map name. + :type map_name: str + :param map_type: The map type. + :type map_type: str or ~logic_management_client.models.MapType + :param location: The resource location. + :type location: str + :param tags: The resource tags. + :type tags: dict[str, str] + :param parameters_schema: The parameters schema of integration account map. + :type parameters_schema: ~logic_management_client.models.IntegrationAccountMapPropertiesParametersSchema + :param content: The content. + :type content: str + :param content_type_parameter: The content type. + :type content_type_parameter: str + :param metadata: The metadata. + :type metadata: object + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationAccountMap or the result of cls(response) + :rtype: ~logic_management_client.models.IntegrationAccountMap or ~logic_management_client.models.IntegrationAccountMap + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationAccountMap"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _map = models.IntegrationAccountMap(location=location, tags=tags, map_type=map_type, parameters_schema=parameters_schema, content=content, content_type=content_type_parameter, metadata=metadata) + api_version = "2019-05-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'integrationAccountName': self._serialize.url("integration_account_name", integration_account_name, 'str'), + 'mapName': self._serialize.url("map_name", map_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_map, 'IntegrationAccountMap') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('IntegrationAccountMap', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('IntegrationAccountMap', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/maps/{mapName}'} + + def delete( + self, + resource_group_name, # type: str + integration_account_name, # type: str + map_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + """Deletes an integration account map. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param integration_account_name: The integration account name. + :type integration_account_name: str + :param map_name: The integration account map name. + :type map_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'integrationAccountName': self._serialize.url("integration_account_name", integration_account_name, 'str'), + 'mapName': self._serialize.url("map_name", map_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/maps/{mapName}'} + + def list_content_callback_url( + self, + resource_group_name, # type: str + integration_account_name, # type: str + map_name, # type: str + not_after=None, # type: Optional[datetime.datetime] + key_type=None, # type: Optional[Union[str, "models.KeyType"]] + **kwargs # type: Any + ): + # type: (...) -> "models.WorkflowTriggerCallbackUrl" + """Get the content callback url. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param integration_account_name: The integration account name. + :type integration_account_name: str + :param map_name: The integration account map name. + :type map_name: str + :param not_after: The expiry time. + :type not_after: ~datetime.datetime + :param key_type: The key type. + :type key_type: str or ~logic_management_client.models.KeyType + :keyword callable cls: A custom type or function that will be passed the direct response + :return: WorkflowTriggerCallbackUrl or the result of cls(response) + :rtype: ~logic_management_client.models.WorkflowTriggerCallbackUrl + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.WorkflowTriggerCallbackUrl"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _list_content_callback_url = models.GetCallbackUrlParameters(not_after=not_after, key_type=key_type) + api_version = "2019-05-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.list_content_callback_url.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'integrationAccountName': self._serialize.url("integration_account_name", integration_account_name, 'str'), + 'mapName': self._serialize.url("map_name", map_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_list_content_callback_url, 'GetCallbackUrlParameters') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('WorkflowTriggerCallbackUrl', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + list_content_callback_url.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/maps/{mapName}/listContentCallbackUrl'} diff --git a/src/logic/azext_logic/vendored_sdks/logic/operations/_integration_account_operations.py b/src/logic/azext_logic/vendored_sdks/logic/operations/_integration_account_operations.py new file mode 100644 index 00000000000..c353a90a19d --- /dev/null +++ b/src/logic/azext_logic/vendored_sdks/logic/operations/_integration_account_operations.py @@ -0,0 +1,753 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import datetime +from typing import Any, Callable, Dict, Generic, List, Optional, TypeVar, Union +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse + +from .. import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class IntegrationAccountOperations(object): + """IntegrationAccountOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~logic_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list_by_subscription( + self, + top=None, # type: Optional[int] + **kwargs # type: Any + ): + # type: (...) -> "models.IntegrationAccountListResult" + """Gets a list of integration accounts by subscription. + + :param top: The number of items to be included in the result. + :type top: int + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationAccountListResult or the result of cls(response) + :rtype: ~logic_management_client.models.IntegrationAccountListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationAccountListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_subscription.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if top is not None: + query_parameters['$top'] = self._serialize.query("top", top, 'int') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('IntegrationAccountListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_by_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Logic/integrationAccounts'} + + def list_by_resource_group( + self, + resource_group_name, # type: str + top=None, # type: Optional[int] + **kwargs # type: Any + ): + # type: (...) -> "models.IntegrationAccountListResult" + """Gets a list of integration accounts by resource group. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param top: The number of items to be included in the result. + :type top: int + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationAccountListResult or the result of cls(response) + :rtype: ~logic_management_client.models.IntegrationAccountListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationAccountListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if top is not None: + query_parameters['$top'] = self._serialize.query("top", top, 'int') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('IntegrationAccountListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts'} + + def get( + self, + resource_group_name, # type: str + integration_account_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.IntegrationAccount" + """Gets an integration account. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param integration_account_name: The integration account name. + :type integration_account_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationAccount or the result of cls(response) + :rtype: ~logic_management_client.models.IntegrationAccount + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationAccount"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'integrationAccountName': self._serialize.url("integration_account_name", integration_account_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('IntegrationAccount', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}'} + + def create_or_update( + self, + resource_group_name, # type: str + integration_account_name, # type: str + location=None, # type: Optional[str] + tags=None, # type: Optional[Dict[str, str]] + sku=None, # type: Optional["models.IntegrationAccountSku"] + integration_service_environment=None, # type: Optional["models.IntegrationServiceEnvironment"] + state=None, # type: Optional[Union[str, "models.WorkflowState"]] + **kwargs # type: Any + ): + # type: (...) -> "models.IntegrationAccount" + """Creates or updates an integration account. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param integration_account_name: The integration account name. + :type integration_account_name: str + :param location: The resource location. + :type location: str + :param tags: The resource tags. + :type tags: dict[str, str] + :param sku: The sku. + :type sku: ~logic_management_client.models.IntegrationAccountSku + :param integration_service_environment: The integration service environment. + :type integration_service_environment: ~logic_management_client.models.IntegrationServiceEnvironment + :param state: The workflow state. + :type state: str or ~logic_management_client.models.WorkflowState + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationAccount or the result of cls(response) + :rtype: ~logic_management_client.models.IntegrationAccount or ~logic_management_client.models.IntegrationAccount + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationAccount"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _integration_account = models.IntegrationAccount(location=location, tags=tags, sku=sku, integration_service_environment=integration_service_environment, state=state) + api_version = "2019-05-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'integrationAccountName': self._serialize.url("integration_account_name", integration_account_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_integration_account, 'IntegrationAccount') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('IntegrationAccount', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('IntegrationAccount', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}'} + + def update( + self, + resource_group_name, # type: str + integration_account_name, # type: str + location=None, # type: Optional[str] + tags=None, # type: Optional[Dict[str, str]] + sku=None, # type: Optional["models.IntegrationAccountSku"] + integration_service_environment=None, # type: Optional["models.IntegrationServiceEnvironment"] + state=None, # type: Optional[Union[str, "models.WorkflowState"]] + **kwargs # type: Any + ): + # type: (...) -> "models.IntegrationAccount" + """Updates an integration account. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param integration_account_name: The integration account name. + :type integration_account_name: str + :param location: The resource location. + :type location: str + :param tags: The resource tags. + :type tags: dict[str, str] + :param sku: The sku. + :type sku: ~logic_management_client.models.IntegrationAccountSku + :param integration_service_environment: The integration service environment. + :type integration_service_environment: ~logic_management_client.models.IntegrationServiceEnvironment + :param state: The workflow state. + :type state: str or ~logic_management_client.models.WorkflowState + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationAccount or the result of cls(response) + :rtype: ~logic_management_client.models.IntegrationAccount + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationAccount"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _integration_account = models.IntegrationAccount(location=location, tags=tags, sku=sku, integration_service_environment=integration_service_environment, state=state) + api_version = "2019-05-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'integrationAccountName': self._serialize.url("integration_account_name", integration_account_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_integration_account, 'IntegrationAccount') + body_content_kwargs['content'] = body_content + request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('IntegrationAccount', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}'} + + def delete( + self, + resource_group_name, # type: str + integration_account_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + """Deletes an integration account. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param integration_account_name: The integration account name. + :type integration_account_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'integrationAccountName': self._serialize.url("integration_account_name", integration_account_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}'} + + def list_callback_url( + self, + resource_group_name, # type: str + integration_account_name, # type: str + not_after=None, # type: Optional[datetime.datetime] + key_type=None, # type: Optional[Union[str, "models.KeyType"]] + **kwargs # type: Any + ): + # type: (...) -> "models.CallbackUrl" + """Gets the integration account callback URL. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param integration_account_name: The integration account name. + :type integration_account_name: str + :param not_after: The expiry time. + :type not_after: ~datetime.datetime + :param key_type: The key type. + :type key_type: str or ~logic_management_client.models.KeyType + :keyword callable cls: A custom type or function that will be passed the direct response + :return: CallbackUrl or the result of cls(response) + :rtype: ~logic_management_client.models.CallbackUrl + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.CallbackUrl"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _parameters = models.GetCallbackUrlParameters(not_after=not_after, key_type=key_type) + api_version = "2019-05-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.list_callback_url.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'integrationAccountName': self._serialize.url("integration_account_name", integration_account_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_parameters, 'GetCallbackUrlParameters') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('CallbackUrl', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + list_callback_url.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/listCallbackUrl'} + + def list_key_vault_key( + self, + resource_group_name, # type: str + integration_account_name, # type: str + key_vault, # type: "models.KeyVaultReference" + skip_token=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.KeyVaultKeyCollection" + """Gets the integration account's Key Vault keys. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param integration_account_name: The integration account name. + :type integration_account_name: str + :param key_vault: The key vault reference. + :type key_vault: ~logic_management_client.models.KeyVaultReference + :param skip_token: The skip token. + :type skip_token: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: KeyVaultKeyCollection or the result of cls(response) + :rtype: ~logic_management_client.models.KeyVaultKeyCollection + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.KeyVaultKeyCollection"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + _list_key_vault_keys = models.ListKeyVaultKeysDefinition(key_vault=key_vault, skip_token=skip_token) + api_version = "2019-05-01" + content_type = "application/json" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_key_vault_key.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'integrationAccountName': self._serialize.url("integration_account_name", integration_account_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_list_key_vault_keys, 'ListKeyVaultKeysDefinition') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('KeyVaultKeyCollection', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_key_vault_key.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/listKeyVaultKeys'} + + def log_tracking_event( + self, + resource_group_name, # type: str + integration_account_name, # type: str + source_type, # type: str + events, # type: List["TrackingEvent"] + track_events_options=None, # type: Optional[Union[str, "models.TrackEventsOperationOptions"]] + **kwargs # type: Any + ): + # type: (...) -> None + """Logs the integration account's tracking events. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param integration_account_name: The integration account name. + :type integration_account_name: str + :param source_type: The source type. + :type source_type: str + :param events: The events. + :type events: list[~logic_management_client.models.TrackingEvent] + :param track_events_options: The track events options. + :type track_events_options: str or ~logic_management_client.models.TrackEventsOperationOptions + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _log_tracking_events = models.TrackingEventsDefinition(source_type=source_type, track_events_options=track_events_options, events=events) + api_version = "2019-05-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.log_tracking_event.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'integrationAccountName': self._serialize.url("integration_account_name", integration_account_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_log_tracking_events, 'TrackingEventsDefinition') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + if cls: + return cls(pipeline_response, None, {}) + + log_tracking_event.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/logTrackingEvents'} + + def regenerate_access_key( + self, + resource_group_name, # type: str + integration_account_name, # type: str + key_type=None, # type: Optional[Union[str, "models.KeyType"]] + **kwargs # type: Any + ): + # type: (...) -> "models.IntegrationAccount" + """Regenerates the integration account access key. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param integration_account_name: The integration account name. + :type integration_account_name: str + :param key_type: The key type. + :type key_type: str or ~logic_management_client.models.KeyType + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationAccount or the result of cls(response) + :rtype: ~logic_management_client.models.IntegrationAccount + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationAccount"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _regenerate_access_key = models.RegenerateActionParameter(key_type=key_type) + api_version = "2019-05-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.regenerate_access_key.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'integrationAccountName': self._serialize.url("integration_account_name", integration_account_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_regenerate_access_key, 'RegenerateActionParameter') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('IntegrationAccount', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + regenerate_access_key.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/regenerateAccessKey'} diff --git a/src/logic/azext_logic/vendored_sdks/logic/operations/_integration_account_partner_operations.py b/src/logic/azext_logic/vendored_sdks/logic/operations/_integration_account_partner_operations.py new file mode 100644 index 00000000000..3919f8083b0 --- /dev/null +++ b/src/logic/azext_logic/vendored_sdks/logic/operations/_integration_account_partner_operations.py @@ -0,0 +1,406 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import datetime +from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse + +from .. import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class IntegrationAccountPartnerOperations(object): + """IntegrationAccountPartnerOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~logic_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + resource_group_name, # type: str + integration_account_name, # type: str + top=None, # type: Optional[int] + filter=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.IntegrationAccountPartnerListResult" + """Gets a list of integration account partners. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param integration_account_name: The integration account name. + :type integration_account_name: str + :param top: The number of items to be included in the result. + :type top: int + :param filter: The filter to apply on the operation. Options for filters include: PartnerType. + :type filter: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationAccountPartnerListResult or the result of cls(response) + :rtype: ~logic_management_client.models.IntegrationAccountPartnerListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationAccountPartnerListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'integrationAccountName': self._serialize.url("integration_account_name", integration_account_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if top is not None: + query_parameters['$top'] = self._serialize.query("top", top, 'int') + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('IntegrationAccountPartnerListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/partners'} + + def get( + self, + resource_group_name, # type: str + integration_account_name, # type: str + partner_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.IntegrationAccountPartner" + """Gets an integration account partner. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param integration_account_name: The integration account name. + :type integration_account_name: str + :param partner_name: The integration account partner name. + :type partner_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationAccountPartner or the result of cls(response) + :rtype: ~logic_management_client.models.IntegrationAccountPartner + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationAccountPartner"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'integrationAccountName': self._serialize.url("integration_account_name", integration_account_name, 'str'), + 'partnerName': self._serialize.url("partner_name", partner_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('IntegrationAccountPartner', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/partners/{partnerName}'} + + def create_or_update( + self, + resource_group_name, # type: str + integration_account_name, # type: str + partner_name, # type: str + partner_type, # type: Union[str, "models.PartnerType"] + content, # type: "models.PartnerContent" + location=None, # type: Optional[str] + tags=None, # type: Optional[Dict[str, str]] + metadata=None, # type: Optional[object] + **kwargs # type: Any + ): + # type: (...) -> "models.IntegrationAccountPartner" + """Creates or updates an integration account partner. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param integration_account_name: The integration account name. + :type integration_account_name: str + :param partner_name: The integration account partner name. + :type partner_name: str + :param partner_type: The partner type. + :type partner_type: str or ~logic_management_client.models.PartnerType + :param content: The partner content. + :type content: ~logic_management_client.models.PartnerContent + :param location: The resource location. + :type location: str + :param tags: The resource tags. + :type tags: dict[str, str] + :param metadata: The metadata. + :type metadata: object + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationAccountPartner or the result of cls(response) + :rtype: ~logic_management_client.models.IntegrationAccountPartner or ~logic_management_client.models.IntegrationAccountPartner + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationAccountPartner"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _partner = models.IntegrationAccountPartner(location=location, tags=tags, partner_type=partner_type, metadata=metadata, content=content) + api_version = "2019-05-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'integrationAccountName': self._serialize.url("integration_account_name", integration_account_name, 'str'), + 'partnerName': self._serialize.url("partner_name", partner_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_partner, 'IntegrationAccountPartner') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('IntegrationAccountPartner', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('IntegrationAccountPartner', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/partners/{partnerName}'} + + def delete( + self, + resource_group_name, # type: str + integration_account_name, # type: str + partner_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + """Deletes an integration account partner. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param integration_account_name: The integration account name. + :type integration_account_name: str + :param partner_name: The integration account partner name. + :type partner_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'integrationAccountName': self._serialize.url("integration_account_name", integration_account_name, 'str'), + 'partnerName': self._serialize.url("partner_name", partner_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/partners/{partnerName}'} + + def list_content_callback_url( + self, + resource_group_name, # type: str + integration_account_name, # type: str + partner_name, # type: str + not_after=None, # type: Optional[datetime.datetime] + key_type=None, # type: Optional[Union[str, "models.KeyType"]] + **kwargs # type: Any + ): + # type: (...) -> "models.WorkflowTriggerCallbackUrl" + """Get the content callback url. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param integration_account_name: The integration account name. + :type integration_account_name: str + :param partner_name: The integration account partner name. + :type partner_name: str + :param not_after: The expiry time. + :type not_after: ~datetime.datetime + :param key_type: The key type. + :type key_type: str or ~logic_management_client.models.KeyType + :keyword callable cls: A custom type or function that will be passed the direct response + :return: WorkflowTriggerCallbackUrl or the result of cls(response) + :rtype: ~logic_management_client.models.WorkflowTriggerCallbackUrl + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.WorkflowTriggerCallbackUrl"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _list_content_callback_url = models.GetCallbackUrlParameters(not_after=not_after, key_type=key_type) + api_version = "2019-05-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.list_content_callback_url.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'integrationAccountName': self._serialize.url("integration_account_name", integration_account_name, 'str'), + 'partnerName': self._serialize.url("partner_name", partner_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_list_content_callback_url, 'GetCallbackUrlParameters') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('WorkflowTriggerCallbackUrl', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + list_content_callback_url.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/partners/{partnerName}/listContentCallbackUrl'} diff --git a/src/logic/azext_logic/vendored_sdks/logic/operations/_integration_account_schema_operations.py b/src/logic/azext_logic/vendored_sdks/logic/operations/_integration_account_schema_operations.py new file mode 100644 index 00000000000..2cc9b609d90 --- /dev/null +++ b/src/logic/azext_logic/vendored_sdks/logic/operations/_integration_account_schema_operations.py @@ -0,0 +1,418 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import datetime +from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse + +from .. import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class IntegrationAccountSchemaOperations(object): + """IntegrationAccountSchemaOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~logic_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + resource_group_name, # type: str + integration_account_name, # type: str + top=None, # type: Optional[int] + filter=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.IntegrationAccountSchemaListResult" + """Gets a list of integration account schemas. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param integration_account_name: The integration account name. + :type integration_account_name: str + :param top: The number of items to be included in the result. + :type top: int + :param filter: The filter to apply on the operation. Options for filters include: SchemaType. + :type filter: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationAccountSchemaListResult or the result of cls(response) + :rtype: ~logic_management_client.models.IntegrationAccountSchemaListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationAccountSchemaListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'integrationAccountName': self._serialize.url("integration_account_name", integration_account_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if top is not None: + query_parameters['$top'] = self._serialize.query("top", top, 'int') + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('IntegrationAccountSchemaListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/schemas'} + + def get( + self, + resource_group_name, # type: str + integration_account_name, # type: str + schema_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.IntegrationAccountSchema" + """Gets an integration account schema. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param integration_account_name: The integration account name. + :type integration_account_name: str + :param schema_name: The integration account schema name. + :type schema_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationAccountSchema or the result of cls(response) + :rtype: ~logic_management_client.models.IntegrationAccountSchema + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationAccountSchema"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'integrationAccountName': self._serialize.url("integration_account_name", integration_account_name, 'str'), + 'schemaName': self._serialize.url("schema_name", schema_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('IntegrationAccountSchema', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/schemas/{schemaName}'} + + def create_or_update( + self, + resource_group_name, # type: str + integration_account_name, # type: str + schema_name, # type: str + schema_type, # type: Union[str, "models.SchemaType"] + location=None, # type: Optional[str] + tags=None, # type: Optional[Dict[str, str]] + target_namespace=None, # type: Optional[str] + document_name=None, # type: Optional[str] + file_name=None, # type: Optional[str] + metadata=None, # type: Optional[object] + content=None, # type: Optional[str] + content_type_parameter=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.IntegrationAccountSchema" + """Creates or updates an integration account schema. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param integration_account_name: The integration account name. + :type integration_account_name: str + :param schema_name: The integration account schema name. + :type schema_name: str + :param schema_type: The schema type. + :type schema_type: str or ~logic_management_client.models.SchemaType + :param location: The resource location. + :type location: str + :param tags: The resource tags. + :type tags: dict[str, str] + :param target_namespace: The target namespace of the schema. + :type target_namespace: str + :param document_name: The document name. + :type document_name: str + :param file_name: The file name. + :type file_name: str + :param metadata: The metadata. + :type metadata: object + :param content: The content. + :type content: str + :param content_type_parameter: The content type. + :type content_type_parameter: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationAccountSchema or the result of cls(response) + :rtype: ~logic_management_client.models.IntegrationAccountSchema or ~logic_management_client.models.IntegrationAccountSchema + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationAccountSchema"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _schema = models.IntegrationAccountSchema(location=location, tags=tags, schema_type=schema_type, target_namespace=target_namespace, document_name=document_name, file_name=file_name, metadata=metadata, content=content, content_type=content_type_parameter) + api_version = "2019-05-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'integrationAccountName': self._serialize.url("integration_account_name", integration_account_name, 'str'), + 'schemaName': self._serialize.url("schema_name", schema_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_schema, 'IntegrationAccountSchema') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('IntegrationAccountSchema', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('IntegrationAccountSchema', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/schemas/{schemaName}'} + + def delete( + self, + resource_group_name, # type: str + integration_account_name, # type: str + schema_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + """Deletes an integration account schema. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param integration_account_name: The integration account name. + :type integration_account_name: str + :param schema_name: The integration account schema name. + :type schema_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'integrationAccountName': self._serialize.url("integration_account_name", integration_account_name, 'str'), + 'schemaName': self._serialize.url("schema_name", schema_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/schemas/{schemaName}'} + + def list_content_callback_url( + self, + resource_group_name, # type: str + integration_account_name, # type: str + schema_name, # type: str + not_after=None, # type: Optional[datetime.datetime] + key_type=None, # type: Optional[Union[str, "models.KeyType"]] + **kwargs # type: Any + ): + # type: (...) -> "models.WorkflowTriggerCallbackUrl" + """Get the content callback url. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param integration_account_name: The integration account name. + :type integration_account_name: str + :param schema_name: The integration account schema name. + :type schema_name: str + :param not_after: The expiry time. + :type not_after: ~datetime.datetime + :param key_type: The key type. + :type key_type: str or ~logic_management_client.models.KeyType + :keyword callable cls: A custom type or function that will be passed the direct response + :return: WorkflowTriggerCallbackUrl or the result of cls(response) + :rtype: ~logic_management_client.models.WorkflowTriggerCallbackUrl + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.WorkflowTriggerCallbackUrl"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _list_content_callback_url = models.GetCallbackUrlParameters(not_after=not_after, key_type=key_type) + api_version = "2019-05-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.list_content_callback_url.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'integrationAccountName': self._serialize.url("integration_account_name", integration_account_name, 'str'), + 'schemaName': self._serialize.url("schema_name", schema_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_list_content_callback_url, 'GetCallbackUrlParameters') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('WorkflowTriggerCallbackUrl', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + list_content_callback_url.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/schemas/{schemaName}/listContentCallbackUrl'} diff --git a/src/logic/azext_logic/vendored_sdks/logic/operations/_integration_account_session_operations.py b/src/logic/azext_logic/vendored_sdks/logic/operations/_integration_account_session_operations.py new file mode 100644 index 00000000000..45c1becc47a --- /dev/null +++ b/src/logic/azext_logic/vendored_sdks/logic/operations/_integration_account_session_operations.py @@ -0,0 +1,324 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse + +from .. import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class IntegrationAccountSessionOperations(object): + """IntegrationAccountSessionOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~logic_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + resource_group_name, # type: str + integration_account_name, # type: str + top=None, # type: Optional[int] + filter=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.IntegrationAccountSessionListResult" + """Gets a list of integration account sessions. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param integration_account_name: The integration account name. + :type integration_account_name: str + :param top: The number of items to be included in the result. + :type top: int + :param filter: The filter to apply on the operation. Options for filters include: ChangedTime. + :type filter: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationAccountSessionListResult or the result of cls(response) + :rtype: ~logic_management_client.models.IntegrationAccountSessionListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationAccountSessionListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'integrationAccountName': self._serialize.url("integration_account_name", integration_account_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if top is not None: + query_parameters['$top'] = self._serialize.query("top", top, 'int') + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('IntegrationAccountSessionListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/sessions'} + + def get( + self, + resource_group_name, # type: str + integration_account_name, # type: str + session_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.IntegrationAccountSession" + """Gets an integration account session. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param integration_account_name: The integration account name. + :type integration_account_name: str + :param session_name: The integration account session name. + :type session_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationAccountSession or the result of cls(response) + :rtype: ~logic_management_client.models.IntegrationAccountSession + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationAccountSession"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'integrationAccountName': self._serialize.url("integration_account_name", integration_account_name, 'str'), + 'sessionName': self._serialize.url("session_name", session_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('IntegrationAccountSession', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/sessions/{sessionName}'} + + def create_or_update( + self, + resource_group_name, # type: str + integration_account_name, # type: str + session_name, # type: str + location=None, # type: Optional[str] + tags=None, # type: Optional[Dict[str, str]] + content=None, # type: Optional[object] + **kwargs # type: Any + ): + # type: (...) -> "models.IntegrationAccountSession" + """Creates or updates an integration account session. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param integration_account_name: The integration account name. + :type integration_account_name: str + :param session_name: The integration account session name. + :type session_name: str + :param location: The resource location. + :type location: str + :param tags: The resource tags. + :type tags: dict[str, str] + :param content: The session content. + :type content: object + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationAccountSession or the result of cls(response) + :rtype: ~logic_management_client.models.IntegrationAccountSession or ~logic_management_client.models.IntegrationAccountSession + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationAccountSession"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _session = models.IntegrationAccountSession(location=location, tags=tags, content=content) + api_version = "2019-05-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'integrationAccountName': self._serialize.url("integration_account_name", integration_account_name, 'str'), + 'sessionName': self._serialize.url("session_name", session_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_session, 'IntegrationAccountSession') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('IntegrationAccountSession', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('IntegrationAccountSession', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/sessions/{sessionName}'} + + def delete( + self, + resource_group_name, # type: str + integration_account_name, # type: str + session_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + """Deletes an integration account session. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param integration_account_name: The integration account name. + :type integration_account_name: str + :param session_name: The integration account session name. + :type session_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'integrationAccountName': self._serialize.url("integration_account_name", integration_account_name, 'str'), + 'sessionName': self._serialize.url("session_name", session_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/sessions/{sessionName}'} diff --git a/src/logic/azext_logic/vendored_sdks/logic/operations/_integration_service_environment_managed_api_operation_operations.py b/src/logic/azext_logic/vendored_sdks/logic/operations/_integration_service_environment_managed_api_operation_operations.py new file mode 100644 index 00000000000..7b803cec812 --- /dev/null +++ b/src/logic/azext_logic/vendored_sdks/logic/operations/_integration_service_environment_managed_api_operation_operations.py @@ -0,0 +1,117 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse + +from .. import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class IntegrationServiceEnvironmentManagedApiOperationOperations(object): + """IntegrationServiceEnvironmentManagedApiOperationOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~logic_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + resource_group, # type: str + integration_service_environment_name, # type: str + api_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.ApiOperationListResult" + """Gets the managed Api operations. + + :param resource_group: The resource group. + :type resource_group: str + :param integration_service_environment_name: The integration service environment name. + :type integration_service_environment_name: str + :param api_name: The api name. + :type api_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ApiOperationListResult or the result of cls(response) + :rtype: ~logic_management_client.models.ApiOperationListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ApiOperationListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroup': self._serialize.url("resource_group", resource_group, 'str'), + 'integrationServiceEnvironmentName': self._serialize.url("integration_service_environment_name", integration_service_environment_name, 'str'), + 'apiName': self._serialize.url("api_name", api_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('ApiOperationListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Logic/integrationServiceEnvironments/{integrationServiceEnvironmentName}/managedApis/{apiName}/apiOperations'} diff --git a/src/logic/azext_logic/vendored_sdks/logic/operations/_integration_service_environment_managed_api_operations.py b/src/logic/azext_logic/vendored_sdks/logic/operations/_integration_service_environment_managed_api_operations.py new file mode 100644 index 00000000000..288f9ca1d56 --- /dev/null +++ b/src/logic/azext_logic/vendored_sdks/logic/operations/_integration_service_environment_managed_api_operations.py @@ -0,0 +1,373 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.core.polling import LROPoller, NoPolling, PollingMethod + +from .. import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class IntegrationServiceEnvironmentManagedApiOperations(object): + """IntegrationServiceEnvironmentManagedApiOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~logic_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + resource_group, # type: str + integration_service_environment_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.ManagedApiListResult" + """Gets the integration service environment managed Apis. + + :param resource_group: The resource group. + :type resource_group: str + :param integration_service_environment_name: The integration service environment name. + :type integration_service_environment_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ManagedApiListResult or the result of cls(response) + :rtype: ~logic_management_client.models.ManagedApiListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ManagedApiListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroup': self._serialize.url("resource_group", resource_group, 'str'), + 'integrationServiceEnvironmentName': self._serialize.url("integration_service_environment_name", integration_service_environment_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('ManagedApiListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Logic/integrationServiceEnvironments/{integrationServiceEnvironmentName}/managedApis'} + + def get( + self, + resource_group, # type: str + integration_service_environment_name, # type: str + api_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.ManagedApi" + """Gets the integration service environment managed Api. + + :param resource_group: The resource group name. + :type resource_group: str + :param integration_service_environment_name: The integration service environment name. + :type integration_service_environment_name: str + :param api_name: The api name. + :type api_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ManagedApi or the result of cls(response) + :rtype: ~logic_management_client.models.ManagedApi + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ManagedApi"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroup': self._serialize.url("resource_group", resource_group, 'str'), + 'integrationServiceEnvironmentName': self._serialize.url("integration_service_environment_name", integration_service_environment_name, 'str'), + 'apiName': self._serialize.url("api_name", api_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('ManagedApi', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Logic/integrationServiceEnvironments/{integrationServiceEnvironmentName}/managedApis/{apiName}'} + + def _put_initial( + self, + resource_group, # type: str + integration_service_environment_name, # type: str + api_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.ManagedApi" + cls = kwargs.pop('cls', None) # type: ClsType["models.ManagedApi"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self._put_initial.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroup': self._serialize.url("resource_group", resource_group, 'str'), + 'integrationServiceEnvironmentName': self._serialize.url("integration_service_environment_name", integration_service_environment_name, 'str'), + 'apiName': self._serialize.url("api_name", api_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('ManagedApi', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('ManagedApi', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _put_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Logic/integrationServiceEnvironments/{integrationServiceEnvironmentName}/managedApis/{apiName}'} + + def begin_put( + self, + resource_group, # type: str + integration_service_environment_name, # type: str + api_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.ManagedApi" + """Puts the integration service environment managed Api. + + :param resource_group: The resource group name. + :type resource_group: str + :param integration_service_environment_name: The integration service environment name. + :type integration_service_environment_name: str + :param api_name: The api name. + :type api_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :return: An instance of LROPoller that returns ManagedApi + :rtype: ~azure.core.polling.LROPoller[~logic_management_client.models.ManagedApi] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', False) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.ManagedApi"] + raw_result = self._put_initial( + resource_group=resource_group, + integration_service_environment_name=integration_service_environment_name, + api_name=api_name, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ManagedApi', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: raise ValueError("polling being True is not valid because no default polling implemetation has been defined.") + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_put.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Logic/integrationServiceEnvironments/{integrationServiceEnvironmentName}/managedApis/{apiName}'} + + def _delete_initial( + self, + resource_group, # type: str + integration_service_environment_name, # type: str + api_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self._delete_initial.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroup': self._serialize.url("resource_group", resource_group, 'str'), + 'integrationServiceEnvironmentName': self._serialize.url("integration_service_environment_name", integration_service_environment_name, 'str'), + 'apiName': self._serialize.url("api_name", api_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [202, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Logic/integrationServiceEnvironments/{integrationServiceEnvironmentName}/managedApis/{apiName}'} + + def begin_delete( + self, + resource_group, # type: str + integration_service_environment_name, # type: str + api_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + """Deletes the integration service environment managed Api. + + :param resource_group: The resource group. + :type resource_group: str + :param integration_service_environment_name: The integration service environment name. + :type integration_service_environment_name: str + :param api_name: The api name. + :type api_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :return: An instance of LROPoller that returns None + :rtype: ~azure.core.polling.LROPoller[None] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', False) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + raw_result = self._delete_initial( + resource_group=resource_group, + integration_service_environment_name=integration_service_environment_name, + api_name=api_name, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: raise ValueError("polling being True is not valid because no default polling implemetation has been defined.") + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Logic/integrationServiceEnvironments/{integrationServiceEnvironmentName}/managedApis/{apiName}'} diff --git a/src/logic/azext_logic/vendored_sdks/logic/operations/_integration_service_environment_network_health_operations.py b/src/logic/azext_logic/vendored_sdks/logic/operations/_integration_service_environment_network_health_operations.py new file mode 100644 index 00000000000..f43562abb72 --- /dev/null +++ b/src/logic/azext_logic/vendored_sdks/logic/operations/_integration_service_environment_network_health_operations.py @@ -0,0 +1,97 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse + +from .. import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class IntegrationServiceEnvironmentNetworkHealthOperations(object): + """IntegrationServiceEnvironmentNetworkHealthOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~logic_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def get( + self, + resource_group, # type: str + integration_service_environment_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Dict[str, "IntegrationServiceEnvironmentSubnetNetworkHealth"] + """Gets the integration service environment network health. + + :param resource_group: The resource group. + :type resource_group: str + :param integration_service_environment_name: The integration service environment name. + :type integration_service_environment_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: dict or the result of cls(response) + :rtype: dict[str, ~logic_management_client.models.IntegrationServiceEnvironmentSubnetNetworkHealth] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[Dict[str, "IntegrationServiceEnvironmentSubnetNetworkHealth"]] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroup': self._serialize.url("resource_group", resource_group, 'str'), + 'integrationServiceEnvironmentName': self._serialize.url("integration_service_environment_name", integration_service_environment_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('{IntegrationServiceEnvironmentSubnetNetworkHealth}', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Logic/integrationServiceEnvironments/{integrationServiceEnvironmentName}/health/network'} diff --git a/src/logic/azext_logic/vendored_sdks/logic/operations/_integration_service_environment_operations.py b/src/logic/azext_logic/vendored_sdks/logic/operations/_integration_service_environment_operations.py new file mode 100644 index 00000000000..9b2eeda72aa --- /dev/null +++ b/src/logic/azext_logic/vendored_sdks/logic/operations/_integration_service_environment_operations.py @@ -0,0 +1,596 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.core.polling import LROPoller, NoPolling, PollingMethod + +from .. import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class IntegrationServiceEnvironmentOperations(object): + """IntegrationServiceEnvironmentOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~logic_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list_by_subscription( + self, + top=None, # type: Optional[int] + **kwargs # type: Any + ): + # type: (...) -> "models.IntegrationServiceEnvironmentListResult" + """Gets a list of integration service environments by subscription. + + :param top: The number of items to be included in the result. + :type top: int + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationServiceEnvironmentListResult or the result of cls(response) + :rtype: ~logic_management_client.models.IntegrationServiceEnvironmentListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationServiceEnvironmentListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_subscription.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if top is not None: + query_parameters['$top'] = self._serialize.query("top", top, 'int') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('IntegrationServiceEnvironmentListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_by_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Logic/integrationServiceEnvironments'} + + def list_by_resource_group( + self, + resource_group, # type: str + top=None, # type: Optional[int] + **kwargs # type: Any + ): + # type: (...) -> "models.IntegrationServiceEnvironmentListResult" + """Gets a list of integration service environments by resource group. + + :param resource_group: The resource group. + :type resource_group: str + :param top: The number of items to be included in the result. + :type top: int + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationServiceEnvironmentListResult or the result of cls(response) + :rtype: ~logic_management_client.models.IntegrationServiceEnvironmentListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationServiceEnvironmentListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroup': self._serialize.url("resource_group", resource_group, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if top is not None: + query_parameters['$top'] = self._serialize.query("top", top, 'int') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('IntegrationServiceEnvironmentListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Logic/integrationServiceEnvironments'} + + def get( + self, + resource_group, # type: str + integration_service_environment_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.IntegrationServiceEnvironment" + """Gets an integration service environment. + + :param resource_group: The resource group. + :type resource_group: str + :param integration_service_environment_name: The integration service environment name. + :type integration_service_environment_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationServiceEnvironment or the result of cls(response) + :rtype: ~logic_management_client.models.IntegrationServiceEnvironment + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationServiceEnvironment"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroup': self._serialize.url("resource_group", resource_group, 'str'), + 'integrationServiceEnvironmentName': self._serialize.url("integration_service_environment_name", integration_service_environment_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('IntegrationServiceEnvironment', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Logic/integrationServiceEnvironments/{integrationServiceEnvironmentName}'} + + def _create_or_update_initial( + self, + resource_group, # type: str + integration_service_environment_name, # type: str + location=None, # type: Optional[str] + tags=None, # type: Optional[Dict[str, str]] + properties=None, # type: Optional["models.IntegrationServiceEnvironmentProperties"] + sku=None, # type: Optional["models.IntegrationServiceEnvironmentSku"] + **kwargs # type: Any + ): + # type: (...) -> "models.IntegrationServiceEnvironment" + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationServiceEnvironment"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _integration_service_environment = models.IntegrationServiceEnvironment(location=location, tags=tags, properties=properties, sku=sku) + api_version = "2019-05-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self._create_or_update_initial.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroup': self._serialize.url("resource_group", resource_group, 'str'), + 'integrationServiceEnvironmentName': self._serialize.url("integration_service_environment_name", integration_service_environment_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_integration_service_environment, 'IntegrationServiceEnvironment') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('IntegrationServiceEnvironment', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('IntegrationServiceEnvironment', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Logic/integrationServiceEnvironments/{integrationServiceEnvironmentName}'} + + def begin_create_or_update( + self, + resource_group, # type: str + integration_service_environment_name, # type: str + location=None, # type: Optional[str] + tags=None, # type: Optional[Dict[str, str]] + properties=None, # type: Optional["models.IntegrationServiceEnvironmentProperties"] + sku=None, # type: Optional["models.IntegrationServiceEnvironmentSku"] + **kwargs # type: Any + ): + # type: (...) -> "models.IntegrationServiceEnvironment" + """Creates or updates an integration service environment. + + :param resource_group: The resource group. + :type resource_group: str + :param integration_service_environment_name: The integration service environment name. + :type integration_service_environment_name: str + :param location: The resource location. + :type location: str + :param tags: The resource tags. + :type tags: dict[str, str] + :param properties: The integration service environment properties. + :type properties: ~logic_management_client.models.IntegrationServiceEnvironmentProperties + :param sku: The sku. + :type sku: ~logic_management_client.models.IntegrationServiceEnvironmentSku + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :return: An instance of LROPoller that returns IntegrationServiceEnvironment + :rtype: ~azure.core.polling.LROPoller[~logic_management_client.models.IntegrationServiceEnvironment] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', False) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationServiceEnvironment"] + raw_result = self._create_or_update_initial( + resource_group=resource_group, + integration_service_environment_name=integration_service_environment_name, + location=location, + tags=tags, + properties=properties, + sku=sku, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('IntegrationServiceEnvironment', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: raise ValueError("polling being True is not valid because no default polling implemetation has been defined.") + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Logic/integrationServiceEnvironments/{integrationServiceEnvironmentName}'} + + def _update_initial( + self, + resource_group, # type: str + integration_service_environment_name, # type: str + location=None, # type: Optional[str] + tags=None, # type: Optional[Dict[str, str]] + properties=None, # type: Optional["models.IntegrationServiceEnvironmentProperties"] + sku=None, # type: Optional["models.IntegrationServiceEnvironmentSku"] + **kwargs # type: Any + ): + # type: (...) -> "models.IntegrationServiceEnvironment" + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationServiceEnvironment"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _integration_service_environment = models.IntegrationServiceEnvironment(location=location, tags=tags, properties=properties, sku=sku) + api_version = "2019-05-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self._update_initial.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroup': self._serialize.url("resource_group", resource_group, 'str'), + 'integrationServiceEnvironmentName': self._serialize.url("integration_service_environment_name", integration_service_environment_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_integration_service_environment, 'IntegrationServiceEnvironment') + body_content_kwargs['content'] = body_content + request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('IntegrationServiceEnvironment', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Logic/integrationServiceEnvironments/{integrationServiceEnvironmentName}'} + + def begin_update( + self, + resource_group, # type: str + integration_service_environment_name, # type: str + location=None, # type: Optional[str] + tags=None, # type: Optional[Dict[str, str]] + properties=None, # type: Optional["models.IntegrationServiceEnvironmentProperties"] + sku=None, # type: Optional["models.IntegrationServiceEnvironmentSku"] + **kwargs # type: Any + ): + # type: (...) -> "models.IntegrationServiceEnvironment" + """Updates an integration service environment. + + :param resource_group: The resource group. + :type resource_group: str + :param integration_service_environment_name: The integration service environment name. + :type integration_service_environment_name: str + :param location: The resource location. + :type location: str + :param tags: The resource tags. + :type tags: dict[str, str] + :param properties: The integration service environment properties. + :type properties: ~logic_management_client.models.IntegrationServiceEnvironmentProperties + :param sku: The sku. + :type sku: ~logic_management_client.models.IntegrationServiceEnvironmentSku + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :return: An instance of LROPoller that returns IntegrationServiceEnvironment + :rtype: ~azure.core.polling.LROPoller[~logic_management_client.models.IntegrationServiceEnvironment] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', False) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationServiceEnvironment"] + raw_result = self._update_initial( + resource_group=resource_group, + integration_service_environment_name=integration_service_environment_name, + location=location, + tags=tags, + properties=properties, + sku=sku, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('IntegrationServiceEnvironment', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: raise ValueError("polling being True is not valid because no default polling implemetation has been defined.") + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Logic/integrationServiceEnvironments/{integrationServiceEnvironmentName}'} + + def delete( + self, + resource_group, # type: str + integration_service_environment_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + """Deletes an integration service environment. + + :param resource_group: The resource group. + :type resource_group: str + :param integration_service_environment_name: The integration service environment name. + :type integration_service_environment_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroup': self._serialize.url("resource_group", resource_group, 'str'), + 'integrationServiceEnvironmentName': self._serialize.url("integration_service_environment_name", integration_service_environment_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Logic/integrationServiceEnvironments/{integrationServiceEnvironmentName}'} + + def restart( + self, + resource_group, # type: str + integration_service_environment_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + """Restarts an integration service environment. + + :param resource_group: The resource group. + :type resource_group: str + :param integration_service_environment_name: The integration service environment name. + :type integration_service_environment_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self.restart.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroup': self._serialize.url("resource_group", resource_group, 'str'), + 'integrationServiceEnvironmentName': self._serialize.url("integration_service_environment_name", integration_service_environment_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + if cls: + return cls(pipeline_response, None, {}) + + restart.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Logic/integrationServiceEnvironments/{integrationServiceEnvironmentName}/restart'} diff --git a/src/logic/azext_logic/vendored_sdks/logic/operations/_integration_service_environment_sku_operations.py b/src/logic/azext_logic/vendored_sdks/logic/operations/_integration_service_environment_sku_operations.py new file mode 100644 index 00000000000..2a8d954b363 --- /dev/null +++ b/src/logic/azext_logic/vendored_sdks/logic/operations/_integration_service_environment_sku_operations.py @@ -0,0 +1,113 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse + +from .. import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class IntegrationServiceEnvironmentSkuOperations(object): + """IntegrationServiceEnvironmentSkuOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~logic_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + resource_group, # type: str + integration_service_environment_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.IntegrationServiceEnvironmentSkuList" + """Gets a list of integration service environment Skus. + + :param resource_group: The resource group. + :type resource_group: str + :param integration_service_environment_name: The integration service environment name. + :type integration_service_environment_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationServiceEnvironmentSkuList or the result of cls(response) + :rtype: ~logic_management_client.models.IntegrationServiceEnvironmentSkuList + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationServiceEnvironmentSkuList"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroup': self._serialize.url("resource_group", resource_group, 'str'), + 'integrationServiceEnvironmentName': self._serialize.url("integration_service_environment_name", integration_service_environment_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('IntegrationServiceEnvironmentSkuList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Logic/integrationServiceEnvironments/{integrationServiceEnvironmentName}/skus'} diff --git a/src/logic/azext_logic/vendored_sdks/logic/operations/_operation_operations.py b/src/logic/azext_logic/vendored_sdks/logic/operations/_operation_operations.py new file mode 100644 index 00000000000..549f969dc54 --- /dev/null +++ b/src/logic/azext_logic/vendored_sdks/logic/operations/_operation_operations.py @@ -0,0 +1,101 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse + +from .. import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class OperationOperations(object): + """OperationOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~logic_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + **kwargs # type: Any + ): + # type: (...) -> "models.OperationListResult" + """Lists all of the available Logic REST API operations. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: OperationListResult or the result of cls(response) + :rtype: ~logic_management_client.models.OperationListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.OperationListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('OperationListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/providers/Microsoft.Logic/operations'} diff --git a/src/logic/azext_logic/vendored_sdks/logic/operations/_workflow_operations.py b/src/logic/azext_logic/vendored_sdks/logic/operations/_workflow_operations.py new file mode 100644 index 00000000000..51d901031df --- /dev/null +++ b/src/logic/azext_logic/vendored_sdks/logic/operations/_workflow_operations.py @@ -0,0 +1,1135 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import datetime +from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.core.polling import LROPoller, NoPolling, PollingMethod + +from .. import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class WorkflowOperations(object): + """WorkflowOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~logic_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list_by_subscription( + self, + top=None, # type: Optional[int] + filter=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.WorkflowListResult" + """Gets a list of workflows by subscription. + + :param top: The number of items to be included in the result. + :type top: int + :param filter: The filter to apply on the operation. Options for filters include: State, + Trigger, and ReferencedResourceId. + :type filter: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: WorkflowListResult or the result of cls(response) + :rtype: ~logic_management_client.models.WorkflowListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.WorkflowListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_subscription.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if top is not None: + query_parameters['$top'] = self._serialize.query("top", top, 'int') + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('WorkflowListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_by_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Logic/workflows'} + + def list_by_resource_group( + self, + resource_group_name, # type: str + top=None, # type: Optional[int] + filter=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.WorkflowListResult" + """Gets a list of workflows by resource group. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param top: The number of items to be included in the result. + :type top: int + :param filter: The filter to apply on the operation. Options for filters include: State, + Trigger, and ReferencedResourceId. + :type filter: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: WorkflowListResult or the result of cls(response) + :rtype: ~logic_management_client.models.WorkflowListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.WorkflowListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if top is not None: + query_parameters['$top'] = self._serialize.query("top", top, 'int') + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('WorkflowListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows'} + + def get( + self, + resource_group_name, # type: str + workflow_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.Workflow" + """Gets a workflow. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param workflow_name: The workflow name. + :type workflow_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Workflow or the result of cls(response) + :rtype: ~logic_management_client.models.Workflow + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.Workflow"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'workflowName': self._serialize.url("workflow_name", workflow_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('Workflow', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}'} + + def create_or_update( + self, + resource_group_name, # type: str + workflow_name, # type: str + location=None, # type: Optional[str] + tags=None, # type: Optional[Dict[str, str]] + state=None, # type: Optional[Union[str, "models.WorkflowState"]] + endpoints_configuration=None, # type: Optional["models.FlowEndpointsConfiguration"] + access_control=None, # type: Optional["models.FlowAccessControlConfiguration"] + integration_account=None, # type: Optional["models.ResourceReference"] + integration_service_environment=None, # type: Optional["models.ResourceReference"] + definition=None, # type: Optional[object] + parameters=None, # type: Optional[Dict[str, "WorkflowParameter"]] + **kwargs # type: Any + ): + # type: (...) -> "models.Workflow" + """Creates or updates a workflow. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param workflow_name: The workflow name. + :type workflow_name: str + :param location: The resource location. + :type location: str + :param tags: The resource tags. + :type tags: dict[str, str] + :param state: The state. + :type state: str or ~logic_management_client.models.WorkflowState + :param endpoints_configuration: The endpoints configuration. + :type endpoints_configuration: ~logic_management_client.models.FlowEndpointsConfiguration + :param integration_account: The integration account. + :type integration_account: ~logic_management_client.models.ResourceReference + :param integration_service_environment: The integration service environment. + :type integration_service_environment: ~logic_management_client.models.ResourceReference + :param definition: The definition. + :type definition: object + :param parameters: The parameters. + :type parameters: dict[str, ~logic_management_client.models.WorkflowParameter] + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Workflow or the result of cls(response) + :rtype: ~logic_management_client.models.Workflow or ~logic_management_client.models.Workflow + :raises: ~azure.core.exceptions.HttpResponseError + """ + + cls = kwargs.pop('cls', None) # type: ClsType["models.Workflow"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _workflow = models.Workflow(location=location, tags=tags, state=state, endpoints_configuration=endpoints_configuration, access_control=access_control, integration_account=integration_account, integration_service_environment=integration_service_environment, definition=definition, parameters=parameters) + api_version = "2019-05-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'workflowName': self._serialize.url("workflow_name", workflow_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_workflow, 'Workflow') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('Workflow', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('Workflow', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}'} + + def update( + self, + resource_group_name, # type: str + workflow_name, # type: str + location=None, # type: Optional[str] + tags=None, # type: Optional[Dict[str, str]] + state=None, # type: Optional[Union[str, "models.WorkflowState"]] + endpoints_configuration=None, # type: Optional["models.FlowEndpointsConfiguration"] + integration_account=None, # type: Optional["models.ResourceReference"] + integration_service_environment=None, # type: Optional["models.ResourceReference"] + definition=None, # type: Optional[object] + parameters=None, # type: Optional[Dict[str, "WorkflowParameter"]] + **kwargs # type: Any + ): + # type: (...) -> "models.Workflow" + """Updates a workflow. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param workflow_name: The workflow name. + :type workflow_name: str + :param location: The resource location. + :type location: str + :param tags: The resource tags. + :type tags: dict[str, str] + :param state: The state. + :type state: str or ~logic_management_client.models.WorkflowState + :param endpoints_configuration: The endpoints configuration. + :type endpoints_configuration: ~logic_management_client.models.FlowEndpointsConfiguration + :param integration_account: The integration account. + :type integration_account: ~logic_management_client.models.ResourceReference + :param integration_service_environment: The integration service environment. + :type integration_service_environment: ~logic_management_client.models.ResourceReference + :param definition: The definition. + :type definition: object + :param parameters: The parameters. + :type parameters: dict[str, ~logic_management_client.models.WorkflowParameter] + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Workflow or the result of cls(response) + :rtype: ~logic_management_client.models.Workflow + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.Workflow"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _workflow = models.Workflow(location=location, tags=tags, state=state, endpoints_configuration=endpoints_configuration, integration_account=integration_account, integration_service_environment=integration_service_environment, definition=definition, parameters=parameters) + api_version = "2019-05-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'workflowName': self._serialize.url("workflow_name", workflow_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_workflow, 'Workflow') + body_content_kwargs['content'] = body_content + request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('Workflow', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}'} + + def delete( + self, + resource_group_name, # type: str + workflow_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + """Deletes a workflow. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param workflow_name: The workflow name. + :type workflow_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'workflowName': self._serialize.url("workflow_name", workflow_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}'} + + def disable( + self, + resource_group_name, # type: str + workflow_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + """Disables a workflow. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param workflow_name: The workflow name. + :type workflow_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self.disable.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'workflowName': self._serialize.url("workflow_name", workflow_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + if cls: + return cls(pipeline_response, None, {}) + + disable.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/disable'} + + def enable( + self, + resource_group_name, # type: str + workflow_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + """Enables a workflow. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param workflow_name: The workflow name. + :type workflow_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self.enable.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'workflowName': self._serialize.url("workflow_name", workflow_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + if cls: + return cls(pipeline_response, None, {}) + + enable.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/enable'} + + def generate_upgraded_definition( + self, + resource_group_name, # type: str + workflow_name, # type: str + target_schema_version=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> object + """Generates the upgraded definition for a workflow. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param workflow_name: The workflow name. + :type workflow_name: str + :param target_schema_version: The target schema version. + :type target_schema_version: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: object or the result of cls(response) + :rtype: object + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[object] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _parameters = models.GenerateUpgradedDefinitionParameters(target_schema_version=target_schema_version) + api_version = "2019-05-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.generate_upgraded_definition.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'workflowName': self._serialize.url("workflow_name", workflow_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_parameters, 'GenerateUpgradedDefinitionParameters') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('object', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + generate_upgraded_definition.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/generateUpgradedDefinition'} + + def list_callback_url( + self, + resource_group_name, # type: str + workflow_name, # type: str + not_after=None, # type: Optional[datetime.datetime] + key_type=None, # type: Optional[Union[str, "models.KeyType"]] + **kwargs # type: Any + ): + # type: (...) -> "models.WorkflowTriggerCallbackUrl" + """Get the workflow callback Url. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param workflow_name: The workflow name. + :type workflow_name: str + :param not_after: The expiry time. + :type not_after: ~datetime.datetime + :param key_type: The key type. + :type key_type: str or ~logic_management_client.models.KeyType + :keyword callable cls: A custom type or function that will be passed the direct response + :return: WorkflowTriggerCallbackUrl or the result of cls(response) + :rtype: ~logic_management_client.models.WorkflowTriggerCallbackUrl + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.WorkflowTriggerCallbackUrl"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _list_callback_url = models.GetCallbackUrlParameters(not_after=not_after, key_type=key_type) + api_version = "2019-05-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.list_callback_url.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'workflowName': self._serialize.url("workflow_name", workflow_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_list_callback_url, 'GetCallbackUrlParameters') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('WorkflowTriggerCallbackUrl', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + list_callback_url.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/listCallbackUrl'} + + def list_swagger( + self, + resource_group_name, # type: str + workflow_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> object + """Gets an OpenAPI definition for the workflow. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param workflow_name: The workflow name. + :type workflow_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: object or the result of cls(response) + :rtype: object + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[object] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self.list_swagger.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'workflowName': self._serialize.url("workflow_name", workflow_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('object', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + list_swagger.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/listSwagger'} + + def _move_initial( + self, + resource_group_name, # type: str + workflow_name, # type: str + location=None, # type: Optional[str] + tags=None, # type: Optional[Dict[str, str]] + state=None, # type: Optional[Union[str, "models.WorkflowState"]] + endpoints_configuration=None, # type: Optional["models.FlowEndpointsConfiguration"] + integration_account=None, # type: Optional["models.ResourceReference"] + integration_service_environment=None, # type: Optional["models.ResourceReference"] + definition=None, # type: Optional[object] + parameters=None, # type: Optional[Dict[str, "WorkflowParameter"]] + **kwargs # type: Any + ): + # type: (...) -> None + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _move = models.Workflow(location=location, tags=tags, state=state, endpoints_configuration=endpoints_configuration, integration_account=integration_account, integration_service_environment=integration_service_environment, definition=definition, parameters=parameters) + api_version = "2019-05-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self._move_initial.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'workflowName': self._serialize.url("workflow_name", workflow_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_move, 'Workflow') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + if cls: + return cls(pipeline_response, None, {}) + + _move_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/move'} + + def begin_move( + self, + resource_group_name, # type: str + workflow_name, # type: str + location=None, # type: Optional[str] + tags=None, # type: Optional[Dict[str, str]] + state=None, # type: Optional[Union[str, "models.WorkflowState"]] + endpoints_configuration=None, # type: Optional["models.FlowEndpointsConfiguration"] + integration_account=None, # type: Optional["models.ResourceReference"] + integration_service_environment=None, # type: Optional["models.ResourceReference"] + definition=None, # type: Optional[object] + parameters=None, # type: Optional[Dict[str, "WorkflowParameter"]] + **kwargs # type: Any + ): + # type: (...) -> None + """Moves an existing workflow. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param workflow_name: The workflow name. + :type workflow_name: str + :param location: The resource location. + :type location: str + :param tags: The resource tags. + :type tags: dict[str, str] + :param state: The state. + :type state: str or ~logic_management_client.models.WorkflowState + :param endpoints_configuration: The endpoints configuration. + :type endpoints_configuration: ~logic_management_client.models.FlowEndpointsConfiguration + :param integration_account: The integration account. + :type integration_account: ~logic_management_client.models.ResourceReference + :param integration_service_environment: The integration service environment. + :type integration_service_environment: ~logic_management_client.models.ResourceReference + :param definition: The definition. + :type definition: object + :param parameters: The parameters. + :type parameters: dict[str, ~logic_management_client.models.WorkflowParameter] + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :return: An instance of LROPoller that returns None + :rtype: ~azure.core.polling.LROPoller[None] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', False) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + raw_result = self._move_initial( + resource_group_name=resource_group_name, + workflow_name=workflow_name, + location=location, + tags=tags, + state=state, + endpoints_configuration=endpoints_configuration, + integration_account=integration_account, + integration_service_environment=integration_service_environment, + definition=definition, + parameters=parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: raise ValueError("polling being True is not valid because no default polling implemetation has been defined.") + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_move.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/move'} + + def regenerate_access_key( + self, + resource_group_name, # type: str + workflow_name, # type: str + key_type=None, # type: Optional[Union[str, "models.KeyType"]] + **kwargs # type: Any + ): + # type: (...) -> None + """Regenerates the callback URL access key for request triggers. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param workflow_name: The workflow name. + :type workflow_name: str + :param key_type: The key type. + :type key_type: str or ~logic_management_client.models.KeyType + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _key_type = models.RegenerateActionParameter(key_type=key_type) + api_version = "2019-05-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.regenerate_access_key.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'workflowName': self._serialize.url("workflow_name", workflow_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_key_type, 'RegenerateActionParameter') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + if cls: + return cls(pipeline_response, None, {}) + + regenerate_access_key.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/regenerateAccessKey'} + + def validate_by_resource_group( + self, + resource_group_name, # type: str + workflow_name, # type: str + location=None, # type: Optional[str] + tags=None, # type: Optional[Dict[str, str]] + state=None, # type: Optional[Union[str, "models.WorkflowState"]] + endpoints_configuration=None, # type: Optional["models.FlowEndpointsConfiguration"] + integration_account=None, # type: Optional["models.ResourceReference"] + integration_service_environment=None, # type: Optional["models.ResourceReference"] + definition=None, # type: Optional[object] + parameters=None, # type: Optional[Dict[str, "WorkflowParameter"]] + **kwargs # type: Any + ): + # type: (...) -> None + """Validates the workflow. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param workflow_name: The workflow name. + :type workflow_name: str + :param location: The resource location. + :type location: str + :param tags: The resource tags. + :type tags: dict[str, str] + :param state: The state. + :type state: str or ~logic_management_client.models.WorkflowState + :param endpoints_configuration: The endpoints configuration. + :type endpoints_configuration: ~logic_management_client.models.FlowEndpointsConfiguration + :param integration_account: The integration account. + :type integration_account: ~logic_management_client.models.ResourceReference + :param integration_service_environment: The integration service environment. + :type integration_service_environment: ~logic_management_client.models.ResourceReference + :param definition: The definition. + :type definition: object + :param parameters: The parameters. + :type parameters: dict[str, ~logic_management_client.models.WorkflowParameter] + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _validate = models.Workflow(location=location, tags=tags, state=state, endpoints_configuration=endpoints_configuration, integration_account=integration_account, integration_service_environment=integration_service_environment, definition=definition, parameters=parameters) + api_version = "2019-05-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.validate_by_resource_group.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'workflowName': self._serialize.url("workflow_name", workflow_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_validate, 'Workflow') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + if cls: + return cls(pipeline_response, None, {}) + + validate_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/validate'} + + def validate_by_location( + self, + resource_group_name, # type: str + location, # type: str + workflow_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + """Validates the workflow definition. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param location: The workflow location. + :type location: str + :param workflow_name: The workflow name. + :type workflow_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self.validate_by_location.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'location': self._serialize.url("location", location, 'str'), + 'workflowName': self._serialize.url("workflow_name", workflow_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + if cls: + return cls(pipeline_response, None, {}) + + validate_by_location.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/locations/{location}/workflows/{workflowName}/validate'} diff --git a/src/logic/azext_logic/vendored_sdks/logic/operations/_workflow_run_action_operations.py b/src/logic/azext_logic/vendored_sdks/logic/operations/_workflow_run_action_operations.py new file mode 100644 index 00000000000..98c083e7b5b --- /dev/null +++ b/src/logic/azext_logic/vendored_sdks/logic/operations/_workflow_run_action_operations.py @@ -0,0 +1,272 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse + +from .. import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class WorkflowRunActionOperations(object): + """WorkflowRunActionOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~logic_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + resource_group_name, # type: str + workflow_name, # type: str + run_name, # type: str + top=None, # type: Optional[int] + filter=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.WorkflowRunActionListResult" + """Gets a list of workflow run actions. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param workflow_name: The workflow name. + :type workflow_name: str + :param run_name: The workflow run name. + :type run_name: str + :param top: The number of items to be included in the result. + :type top: int + :param filter: The filter to apply on the operation. Options for filters include: Status. + :type filter: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: WorkflowRunActionListResult or the result of cls(response) + :rtype: ~logic_management_client.models.WorkflowRunActionListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.WorkflowRunActionListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'workflowName': self._serialize.url("workflow_name", workflow_name, 'str'), + 'runName': self._serialize.url("run_name", run_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if top is not None: + query_parameters['$top'] = self._serialize.query("top", top, 'int') + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('WorkflowRunActionListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions'} + + def get( + self, + resource_group_name, # type: str + workflow_name, # type: str + run_name, # type: str + action_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.WorkflowRunAction" + """Gets a workflow run action. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param workflow_name: The workflow name. + :type workflow_name: str + :param run_name: The workflow run name. + :type run_name: str + :param action_name: The workflow action name. + :type action_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: WorkflowRunAction or the result of cls(response) + :rtype: ~logic_management_client.models.WorkflowRunAction + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.WorkflowRunAction"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'workflowName': self._serialize.url("workflow_name", workflow_name, 'str'), + 'runName': self._serialize.url("run_name", run_name, 'str'), + 'actionName': self._serialize.url("action_name", action_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('WorkflowRunAction', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}'} + + def list_expression_trace( + self, + resource_group_name, # type: str + workflow_name, # type: str + run_name, # type: str + action_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.ExpressionTraces" + """Lists a workflow run expression trace. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param workflow_name: The workflow name. + :type workflow_name: str + :param run_name: The workflow run name. + :type run_name: str + :param action_name: The workflow action name. + :type action_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ExpressionTraces or the result of cls(response) + :rtype: ~logic_management_client.models.ExpressionTraces + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ExpressionTraces"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_expression_trace.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'workflowName': self._serialize.url("workflow_name", workflow_name, 'str'), + 'runName': self._serialize.url("run_name", run_name, 'str'), + 'actionName': self._serialize.url("action_name", action_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('ExpressionTraces', pipeline_response) + list_of_elem = deserialized.inputs + if cls: + list_of_elem = cls(list_of_elem) + return None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_expression_trace.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}/listExpressionTraces'} diff --git a/src/logic/azext_logic/vendored_sdks/logic/operations/_workflow_run_action_repetition_operations.py b/src/logic/azext_logic/vendored_sdks/logic/operations/_workflow_run_action_repetition_operations.py new file mode 100644 index 00000000000..920ba54db8c --- /dev/null +++ b/src/logic/azext_logic/vendored_sdks/logic/operations/_workflow_run_action_repetition_operations.py @@ -0,0 +1,274 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse + +from .. import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class WorkflowRunActionRepetitionOperations(object): + """WorkflowRunActionRepetitionOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~logic_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + resource_group_name, # type: str + workflow_name, # type: str + run_name, # type: str + action_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.WorkflowRunActionRepetitionDefinitionCollection" + """Get all of a workflow run action repetitions. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param workflow_name: The workflow name. + :type workflow_name: str + :param run_name: The workflow run name. + :type run_name: str + :param action_name: The workflow action name. + :type action_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: WorkflowRunActionRepetitionDefinitionCollection or the result of cls(response) + :rtype: ~logic_management_client.models.WorkflowRunActionRepetitionDefinitionCollection + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.WorkflowRunActionRepetitionDefinitionCollection"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'workflowName': self._serialize.url("workflow_name", workflow_name, 'str'), + 'runName': self._serialize.url("run_name", run_name, 'str'), + 'actionName': self._serialize.url("action_name", action_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('WorkflowRunActionRepetitionDefinitionCollection', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}/repetitions'} + + def get( + self, + resource_group_name, # type: str + workflow_name, # type: str + run_name, # type: str + action_name, # type: str + repetition_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.WorkflowRunActionRepetitionDefinition" + """Get a workflow run action repetition. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param workflow_name: The workflow name. + :type workflow_name: str + :param run_name: The workflow run name. + :type run_name: str + :param action_name: The workflow action name. + :type action_name: str + :param repetition_name: The workflow repetition. + :type repetition_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: WorkflowRunActionRepetitionDefinition or the result of cls(response) + :rtype: ~logic_management_client.models.WorkflowRunActionRepetitionDefinition + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.WorkflowRunActionRepetitionDefinition"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'workflowName': self._serialize.url("workflow_name", workflow_name, 'str'), + 'runName': self._serialize.url("run_name", run_name, 'str'), + 'actionName': self._serialize.url("action_name", action_name, 'str'), + 'repetitionName': self._serialize.url("repetition_name", repetition_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('WorkflowRunActionRepetitionDefinition', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}/repetitions/{repetitionName}'} + + def list_expression_trace( + self, + resource_group_name, # type: str + workflow_name, # type: str + run_name, # type: str + action_name, # type: str + repetition_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.ExpressionTraces" + """Lists a workflow run expression trace. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param workflow_name: The workflow name. + :type workflow_name: str + :param run_name: The workflow run name. + :type run_name: str + :param action_name: The workflow action name. + :type action_name: str + :param repetition_name: The workflow repetition. + :type repetition_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ExpressionTraces or the result of cls(response) + :rtype: ~logic_management_client.models.ExpressionTraces + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ExpressionTraces"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_expression_trace.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'workflowName': self._serialize.url("workflow_name", workflow_name, 'str'), + 'runName': self._serialize.url("run_name", run_name, 'str'), + 'actionName': self._serialize.url("action_name", action_name, 'str'), + 'repetitionName': self._serialize.url("repetition_name", repetition_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('ExpressionTraces', pipeline_response) + list_of_elem = deserialized.inputs + if cls: + list_of_elem = cls(list_of_elem) + return None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_expression_trace.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}/repetitions/{repetitionName}/listExpressionTraces'} diff --git a/src/logic/azext_logic/vendored_sdks/logic/operations/_workflow_run_action_repetition_request_history_operations.py b/src/logic/azext_logic/vendored_sdks/logic/operations/_workflow_run_action_repetition_request_history_operations.py new file mode 100644 index 00000000000..86fa5de0eb5 --- /dev/null +++ b/src/logic/azext_logic/vendored_sdks/logic/operations/_workflow_run_action_repetition_request_history_operations.py @@ -0,0 +1,198 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse + +from .. import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class WorkflowRunActionRepetitionRequestHistoryOperations(object): + """WorkflowRunActionRepetitionRequestHistoryOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~logic_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + resource_group_name, # type: str + workflow_name, # type: str + run_name, # type: str + action_name, # type: str + repetition_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.RequestHistoryListResult" + """List a workflow run repetition request history. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param workflow_name: The workflow name. + :type workflow_name: str + :param run_name: The workflow run name. + :type run_name: str + :param action_name: The workflow action name. + :type action_name: str + :param repetition_name: The workflow repetition. + :type repetition_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: RequestHistoryListResult or the result of cls(response) + :rtype: ~logic_management_client.models.RequestHistoryListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.RequestHistoryListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'workflowName': self._serialize.url("workflow_name", workflow_name, 'str'), + 'runName': self._serialize.url("run_name", run_name, 'str'), + 'actionName': self._serialize.url("action_name", action_name, 'str'), + 'repetitionName': self._serialize.url("repetition_name", repetition_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('RequestHistoryListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}/repetitions/{repetitionName}/requestHistories'} + + def get( + self, + resource_group_name, # type: str + workflow_name, # type: str + run_name, # type: str + action_name, # type: str + repetition_name, # type: str + request_history_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.RequestHistory" + """Gets a workflow run repetition request history. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param workflow_name: The workflow name. + :type workflow_name: str + :param run_name: The workflow run name. + :type run_name: str + :param action_name: The workflow action name. + :type action_name: str + :param repetition_name: The workflow repetition. + :type repetition_name: str + :param request_history_name: The request history name. + :type request_history_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: RequestHistory or the result of cls(response) + :rtype: ~logic_management_client.models.RequestHistory + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.RequestHistory"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'workflowName': self._serialize.url("workflow_name", workflow_name, 'str'), + 'runName': self._serialize.url("run_name", run_name, 'str'), + 'actionName': self._serialize.url("action_name", action_name, 'str'), + 'repetitionName': self._serialize.url("repetition_name", repetition_name, 'str'), + 'requestHistoryName': self._serialize.url("request_history_name", request_history_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('RequestHistory', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}/repetitions/{repetitionName}/requestHistories/{requestHistoryName}'} diff --git a/src/logic/azext_logic/vendored_sdks/logic/operations/_workflow_run_action_request_history_operations.py b/src/logic/azext_logic/vendored_sdks/logic/operations/_workflow_run_action_request_history_operations.py new file mode 100644 index 00000000000..f558cef9f46 --- /dev/null +++ b/src/logic/azext_logic/vendored_sdks/logic/operations/_workflow_run_action_request_history_operations.py @@ -0,0 +1,190 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse + +from .. import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class WorkflowRunActionRequestHistoryOperations(object): + """WorkflowRunActionRequestHistoryOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~logic_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + resource_group_name, # type: str + workflow_name, # type: str + run_name, # type: str + action_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.RequestHistoryListResult" + """List a workflow run request history. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param workflow_name: The workflow name. + :type workflow_name: str + :param run_name: The workflow run name. + :type run_name: str + :param action_name: The workflow action name. + :type action_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: RequestHistoryListResult or the result of cls(response) + :rtype: ~logic_management_client.models.RequestHistoryListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.RequestHistoryListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'workflowName': self._serialize.url("workflow_name", workflow_name, 'str'), + 'runName': self._serialize.url("run_name", run_name, 'str'), + 'actionName': self._serialize.url("action_name", action_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('RequestHistoryListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}/requestHistories'} + + def get( + self, + resource_group_name, # type: str + workflow_name, # type: str + run_name, # type: str + action_name, # type: str + request_history_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.RequestHistory" + """Gets a workflow run request history. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param workflow_name: The workflow name. + :type workflow_name: str + :param run_name: The workflow run name. + :type run_name: str + :param action_name: The workflow action name. + :type action_name: str + :param request_history_name: The request history name. + :type request_history_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: RequestHistory or the result of cls(response) + :rtype: ~logic_management_client.models.RequestHistory + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.RequestHistory"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'workflowName': self._serialize.url("workflow_name", workflow_name, 'str'), + 'runName': self._serialize.url("run_name", run_name, 'str'), + 'actionName': self._serialize.url("action_name", action_name, 'str'), + 'requestHistoryName': self._serialize.url("request_history_name", request_history_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('RequestHistory', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}/requestHistories/{requestHistoryName}'} diff --git a/src/logic/azext_logic/vendored_sdks/logic/operations/_workflow_run_action_scope_repetition_operations.py b/src/logic/azext_logic/vendored_sdks/logic/operations/_workflow_run_action_scope_repetition_operations.py new file mode 100644 index 00000000000..8bd48b1fae4 --- /dev/null +++ b/src/logic/azext_logic/vendored_sdks/logic/operations/_workflow_run_action_scope_repetition_operations.py @@ -0,0 +1,190 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse + +from .. import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class WorkflowRunActionScopeRepetitionOperations(object): + """WorkflowRunActionScopeRepetitionOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~logic_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + resource_group_name, # type: str + workflow_name, # type: str + run_name, # type: str + action_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.WorkflowRunActionRepetitionDefinitionCollection" + """List the workflow run action scoped repetitions. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param workflow_name: The workflow name. + :type workflow_name: str + :param run_name: The workflow run name. + :type run_name: str + :param action_name: The workflow action name. + :type action_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: WorkflowRunActionRepetitionDefinitionCollection or the result of cls(response) + :rtype: ~logic_management_client.models.WorkflowRunActionRepetitionDefinitionCollection + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.WorkflowRunActionRepetitionDefinitionCollection"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'workflowName': self._serialize.url("workflow_name", workflow_name, 'str'), + 'runName': self._serialize.url("run_name", run_name, 'str'), + 'actionName': self._serialize.url("action_name", action_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('WorkflowRunActionRepetitionDefinitionCollection', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}/scopeRepetitions'} + + def get( + self, + resource_group_name, # type: str + workflow_name, # type: str + run_name, # type: str + action_name, # type: str + repetition_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.WorkflowRunActionRepetitionDefinition" + """Get a workflow run action scoped repetition. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param workflow_name: The workflow name. + :type workflow_name: str + :param run_name: The workflow run name. + :type run_name: str + :param action_name: The workflow action name. + :type action_name: str + :param repetition_name: The workflow repetition. + :type repetition_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: WorkflowRunActionRepetitionDefinition or the result of cls(response) + :rtype: ~logic_management_client.models.WorkflowRunActionRepetitionDefinition + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.WorkflowRunActionRepetitionDefinition"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'workflowName': self._serialize.url("workflow_name", workflow_name, 'str'), + 'runName': self._serialize.url("run_name", run_name, 'str'), + 'actionName': self._serialize.url("action_name", action_name, 'str'), + 'repetitionName': self._serialize.url("repetition_name", repetition_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('WorkflowRunActionRepetitionDefinition', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}/scopeRepetitions/{repetitionName}'} diff --git a/src/logic/azext_logic/vendored_sdks/logic/operations/_workflow_run_operation_operations.py b/src/logic/azext_logic/vendored_sdks/logic/operations/_workflow_run_operation_operations.py new file mode 100644 index 00000000000..c0c609527f9 --- /dev/null +++ b/src/logic/azext_logic/vendored_sdks/logic/operations/_workflow_run_operation_operations.py @@ -0,0 +1,105 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse + +from .. import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class WorkflowRunOperationOperations(object): + """WorkflowRunOperationOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~logic_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def get( + self, + resource_group_name, # type: str + workflow_name, # type: str + run_name, # type: str + operation_id, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.WorkflowRun" + """Gets an operation for a run. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param workflow_name: The workflow name. + :type workflow_name: str + :param run_name: The workflow run name. + :type run_name: str + :param operation_id: The workflow operation id. + :type operation_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: WorkflowRun or the result of cls(response) + :rtype: ~logic_management_client.models.WorkflowRun + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.WorkflowRun"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'workflowName': self._serialize.url("workflow_name", workflow_name, 'str'), + 'runName': self._serialize.url("run_name", run_name, 'str'), + 'operationId': self._serialize.url("operation_id", operation_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('WorkflowRun', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/operations/{operationId}'} diff --git a/src/logic/azext_logic/vendored_sdks/logic/operations/_workflow_run_operations.py b/src/logic/azext_logic/vendored_sdks/logic/operations/_workflow_run_operations.py new file mode 100644 index 00000000000..44bd25c0029 --- /dev/null +++ b/src/logic/azext_logic/vendored_sdks/logic/operations/_workflow_run_operations.py @@ -0,0 +1,242 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse + +from .. import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class WorkflowRunOperations(object): + """WorkflowRunOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~logic_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + resource_group_name, # type: str + workflow_name, # type: str + top=None, # type: Optional[int] + filter=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.WorkflowRunListResult" + """Gets a list of workflow runs. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param workflow_name: The workflow name. + :type workflow_name: str + :param top: The number of items to be included in the result. + :type top: int + :param filter: The filter to apply on the operation. Options for filters include: Status, + StartTime, and ClientTrackingId. + :type filter: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: WorkflowRunListResult or the result of cls(response) + :rtype: ~logic_management_client.models.WorkflowRunListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.WorkflowRunListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'workflowName': self._serialize.url("workflow_name", workflow_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if top is not None: + query_parameters['$top'] = self._serialize.query("top", top, 'int') + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('WorkflowRunListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs'} + + def get( + self, + resource_group_name, # type: str + workflow_name, # type: str + run_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.WorkflowRun" + """Gets a workflow run. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param workflow_name: The workflow name. + :type workflow_name: str + :param run_name: The workflow run name. + :type run_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: WorkflowRun or the result of cls(response) + :rtype: ~logic_management_client.models.WorkflowRun + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.WorkflowRun"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'workflowName': self._serialize.url("workflow_name", workflow_name, 'str'), + 'runName': self._serialize.url("run_name", run_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('WorkflowRun', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}'} + + def cancel( + self, + resource_group_name, # type: str + workflow_name, # type: str + run_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + """Cancels a workflow run. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param workflow_name: The workflow name. + :type workflow_name: str + :param run_name: The workflow run name. + :type run_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self.cancel.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'workflowName': self._serialize.url("workflow_name", workflow_name, 'str'), + 'runName': self._serialize.url("run_name", run_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + if cls: + return cls(pipeline_response, None, {}) + + cancel.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/cancel'} diff --git a/src/logic/azext_logic/vendored_sdks/logic/operations/_workflow_trigger_history_operations.py b/src/logic/azext_logic/vendored_sdks/logic/operations/_workflow_trigger_history_operations.py new file mode 100644 index 00000000000..f23446ceddc --- /dev/null +++ b/src/logic/azext_logic/vendored_sdks/logic/operations/_workflow_trigger_history_operations.py @@ -0,0 +1,256 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse + +from .. import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class WorkflowTriggerHistoryOperations(object): + """WorkflowTriggerHistoryOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~logic_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + resource_group_name, # type: str + workflow_name, # type: str + trigger_name, # type: str + top=None, # type: Optional[int] + filter=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.WorkflowTriggerHistoryListResult" + """Gets a list of workflow trigger histories. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param workflow_name: The workflow name. + :type workflow_name: str + :param trigger_name: The workflow trigger name. + :type trigger_name: str + :param top: The number of items to be included in the result. + :type top: int + :param filter: The filter to apply on the operation. Options for filters include: Status, + StartTime, and ClientTrackingId. + :type filter: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: WorkflowTriggerHistoryListResult or the result of cls(response) + :rtype: ~logic_management_client.models.WorkflowTriggerHistoryListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.WorkflowTriggerHistoryListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'workflowName': self._serialize.url("workflow_name", workflow_name, 'str'), + 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if top is not None: + query_parameters['$top'] = self._serialize.query("top", top, 'int') + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('WorkflowTriggerHistoryListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/histories'} + + def get( + self, + resource_group_name, # type: str + workflow_name, # type: str + trigger_name, # type: str + history_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.WorkflowTriggerHistory" + """Gets a workflow trigger history. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param workflow_name: The workflow name. + :type workflow_name: str + :param trigger_name: The workflow trigger name. + :type trigger_name: str + :param history_name: The workflow trigger history name. Corresponds to the run name for + triggers that resulted in a run. + :type history_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: WorkflowTriggerHistory or the result of cls(response) + :rtype: ~logic_management_client.models.WorkflowTriggerHistory + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.WorkflowTriggerHistory"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'workflowName': self._serialize.url("workflow_name", workflow_name, 'str'), + 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str'), + 'historyName': self._serialize.url("history_name", history_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('WorkflowTriggerHistory', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/histories/{historyName}'} + + def resubmit( + self, + resource_group_name, # type: str + workflow_name, # type: str + trigger_name, # type: str + history_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + """Resubmits a workflow run based on the trigger history. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param workflow_name: The workflow name. + :type workflow_name: str + :param trigger_name: The workflow trigger name. + :type trigger_name: str + :param history_name: The workflow trigger history name. Corresponds to the run name for + triggers that resulted in a run. + :type history_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self.resubmit.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'workflowName': self._serialize.url("workflow_name", workflow_name, 'str'), + 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str'), + 'historyName': self._serialize.url("history_name", history_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + if cls: + return cls(pipeline_response, None, {}) + + resubmit.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/histories/{historyName}/resubmit'} diff --git a/src/logic/azext_logic/vendored_sdks/logic/operations/_workflow_trigger_operations.py b/src/logic/azext_logic/vendored_sdks/logic/operations/_workflow_trigger_operations.py new file mode 100644 index 00000000000..b12fbd43f9e --- /dev/null +++ b/src/logic/azext_logic/vendored_sdks/logic/operations/_workflow_trigger_operations.py @@ -0,0 +1,488 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse + +from .. import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class WorkflowTriggerOperations(object): + """WorkflowTriggerOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~logic_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + resource_group_name, # type: str + workflow_name, # type: str + top=None, # type: Optional[int] + filter=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.WorkflowTriggerListResult" + """Gets a list of workflow triggers. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param workflow_name: The workflow name. + :type workflow_name: str + :param top: The number of items to be included in the result. + :type top: int + :param filter: The filter to apply on the operation. + :type filter: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: WorkflowTriggerListResult or the result of cls(response) + :rtype: ~logic_management_client.models.WorkflowTriggerListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.WorkflowTriggerListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'workflowName': self._serialize.url("workflow_name", workflow_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if top is not None: + query_parameters['$top'] = self._serialize.query("top", top, 'int') + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('WorkflowTriggerListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers'} + + def get( + self, + resource_group_name, # type: str + workflow_name, # type: str + trigger_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.WorkflowTrigger" + """Gets a workflow trigger. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param workflow_name: The workflow name. + :type workflow_name: str + :param trigger_name: The workflow trigger name. + :type trigger_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: WorkflowTrigger or the result of cls(response) + :rtype: ~logic_management_client.models.WorkflowTrigger + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.WorkflowTrigger"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'workflowName': self._serialize.url("workflow_name", workflow_name, 'str'), + 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('WorkflowTrigger', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}'} + + def reset( + self, + resource_group_name, # type: str + workflow_name, # type: str + trigger_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + """Resets a workflow trigger. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param workflow_name: The workflow name. + :type workflow_name: str + :param trigger_name: The workflow trigger name. + :type trigger_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self.reset.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'workflowName': self._serialize.url("workflow_name", workflow_name, 'str'), + 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + if cls: + return cls(pipeline_response, None, {}) + + reset.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/reset'} + + def run( + self, + resource_group_name, # type: str + workflow_name, # type: str + trigger_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + """Runs a workflow trigger. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param workflow_name: The workflow name. + :type workflow_name: str + :param trigger_name: The workflow trigger name. + :type trigger_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self.run.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'workflowName': self._serialize.url("workflow_name", workflow_name, 'str'), + 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in []: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize('object', response) + raise HttpResponseError(response=response, model=error) + + if cls: + return cls(pipeline_response, None, {}) + + run.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/run'} + + def get_schema_json( + self, + resource_group_name, # type: str + workflow_name, # type: str + trigger_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.JsonSchema" + """Get the trigger schema as JSON. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param workflow_name: The workflow name. + :type workflow_name: str + :param trigger_name: The workflow trigger name. + :type trigger_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: JsonSchema or the result of cls(response) + :rtype: ~logic_management_client.models.JsonSchema + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.JsonSchema"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self.get_schema_json.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'workflowName': self._serialize.url("workflow_name", workflow_name, 'str'), + 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('JsonSchema', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_schema_json.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/schemas/json'} + + def set_state( + self, + resource_group_name, # type: str + workflow_name, # type: str + trigger_name, # type: str + source, # type: "models.WorkflowTrigger" + **kwargs # type: Any + ): + # type: (...) -> None + """Sets the state of a workflow trigger. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param workflow_name: The workflow name. + :type workflow_name: str + :param trigger_name: The workflow trigger name. + :type trigger_name: str + :param source: The source. + :type source: ~logic_management_client.models.WorkflowTrigger + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _set_state = models.SetTriggerStateActionDefinition(source=source) + api_version = "2019-05-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.set_state.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'workflowName': self._serialize.url("workflow_name", workflow_name, 'str'), + 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_set_state, 'SetTriggerStateActionDefinition') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + if cls: + return cls(pipeline_response, None, {}) + + set_state.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/setState'} + + def list_callback_url( + self, + resource_group_name, # type: str + workflow_name, # type: str + trigger_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.WorkflowTriggerCallbackUrl" + """Get the callback URL for a workflow trigger. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param workflow_name: The workflow name. + :type workflow_name: str + :param trigger_name: The workflow trigger name. + :type trigger_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: WorkflowTriggerCallbackUrl or the result of cls(response) + :rtype: ~logic_management_client.models.WorkflowTriggerCallbackUrl + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.WorkflowTriggerCallbackUrl"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self.list_callback_url.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'workflowName': self._serialize.url("workflow_name", workflow_name, 'str'), + 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('WorkflowTriggerCallbackUrl', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + list_callback_url.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/listCallbackUrl'} diff --git a/src/logic/azext_logic/vendored_sdks/logic/operations/_workflow_version_operations.py b/src/logic/azext_logic/vendored_sdks/logic/operations/_workflow_version_operations.py new file mode 100644 index 00000000000..f6a72051320 --- /dev/null +++ b/src/logic/azext_logic/vendored_sdks/logic/operations/_workflow_version_operations.py @@ -0,0 +1,179 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse + +from .. import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class WorkflowVersionOperations(object): + """WorkflowVersionOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~logic_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + resource_group_name, # type: str + workflow_name, # type: str + top=None, # type: Optional[int] + **kwargs # type: Any + ): + # type: (...) -> "models.WorkflowVersionListResult" + """Gets a list of workflow versions. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param workflow_name: The workflow name. + :type workflow_name: str + :param top: The number of items to be included in the result. + :type top: int + :keyword callable cls: A custom type or function that will be passed the direct response + :return: WorkflowVersionListResult or the result of cls(response) + :rtype: ~logic_management_client.models.WorkflowVersionListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.WorkflowVersionListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'workflowName': self._serialize.url("workflow_name", workflow_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if top is not None: + query_parameters['$top'] = self._serialize.query("top", top, 'int') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('WorkflowVersionListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/versions'} + + def get( + self, + resource_group_name, # type: str + workflow_name, # type: str + version_id, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.WorkflowVersion" + """Gets a workflow version. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param workflow_name: The workflow name. + :type workflow_name: str + :param version_id: The workflow versionId. + :type version_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: WorkflowVersion or the result of cls(response) + :rtype: ~logic_management_client.models.WorkflowVersion + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.WorkflowVersion"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2019-05-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'workflowName': self._serialize.url("workflow_name", workflow_name, 'str'), + 'versionId': self._serialize.url("version_id", version_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('WorkflowVersion', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/versions/{versionId}'} diff --git a/src/logic/azext_logic/vendored_sdks/logic/operations/_workflow_version_trigger_operations.py b/src/logic/azext_logic/vendored_sdks/logic/operations/_workflow_version_trigger_operations.py new file mode 100644 index 00000000000..6a3515447af --- /dev/null +++ b/src/logic/azext_logic/vendored_sdks/logic/operations/_workflow_version_trigger_operations.py @@ -0,0 +1,123 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import datetime +from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse + +from .. import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class WorkflowVersionTriggerOperations(object): + """WorkflowVersionTriggerOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~logic_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list_callback_url( + self, + resource_group_name, # type: str + workflow_name, # type: str + version_id, # type: str + trigger_name, # type: str + not_after=None, # type: Optional[datetime.datetime] + key_type=None, # type: Optional[Union[str, "models.KeyType"]] + **kwargs # type: Any + ): + # type: (...) -> "models.WorkflowTriggerCallbackUrl" + """Get the callback url for a trigger of a workflow version. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param workflow_name: The workflow name. + :type workflow_name: str + :param version_id: The workflow versionId. + :type version_id: str + :param trigger_name: The workflow trigger name. + :type trigger_name: str + :param not_after: The expiry time. + :type not_after: ~datetime.datetime + :param key_type: The key type. + :type key_type: str or ~logic_management_client.models.KeyType + :keyword callable cls: A custom type or function that will be passed the direct response + :return: WorkflowTriggerCallbackUrl or the result of cls(response) + :rtype: ~logic_management_client.models.WorkflowTriggerCallbackUrl + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.WorkflowTriggerCallbackUrl"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _parameters = models.GetCallbackUrlParameters(not_after=not_after, key_type=key_type) + api_version = "2019-05-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.list_callback_url.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'workflowName': self._serialize.url("workflow_name", workflow_name, 'str'), + 'versionId': self._serialize.url("version_id", version_id, 'str'), + 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + if _parameters is not None: + body_content = self._serialize.body(_parameters, 'GetCallbackUrlParameters') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('WorkflowTriggerCallbackUrl', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + list_callback_url.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/versions/{versionId}/triggers/{triggerName}/listCallbackUrl'} diff --git a/src/logic/azext_logic/vendored_sdks/logic/py.typed b/src/logic/azext_logic/vendored_sdks/logic/py.typed new file mode 100644 index 00000000000..e5aff4f83af --- /dev/null +++ b/src/logic/azext_logic/vendored_sdks/logic/py.typed @@ -0,0 +1 @@ +# Marker file for PEP 561. \ No newline at end of file diff --git a/src/logic/report.md b/src/logic/report.md new file mode 100644 index 00000000000..249fe951e66 --- /dev/null +++ b/src/logic/report.md @@ -0,0 +1,242 @@ +# Azure CLI Module Creation Report + +### logic integration-account create + +create a logic integration-account. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| +|**--integration_account_name**|string|The integration account name.|integration_account_name|integration_account_name| +|**--location**|string|The resource location.|location|location| +|**--tags**|dictionary|The resource tags.|tags|tags| +|**--sku**|object|The sku.|sku|sku| +|**--integration_service_environment**|object|The integration service environment.|integration_service_environment|integration_service_environment| +|**--state**|choice|The workflow state.|state|state| +### logic integration-account delete + +delete a logic integration-account. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| +|**--integration_account_name**|string|The integration account name.|integration_account_name|integration_account_name| +### logic integration-account list + +list a logic integration-account. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| +|**--top**|integer|The number of items to be included in the result.|top|top| +### logic integration-account list-callback-url + +list-callback-url a logic integration-account. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| +|**--integration_account_name**|string|The integration account name.|integration_account_name|integration_account_name| +|**--not_after**|date-time|The expiry time.|not_after|not_after| +|**--key_type**|choice|The key type.|key_type|key_type| +### logic integration-account list-key-vault-key + +list-key-vault-key a logic integration-account. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| +|**--integration_account_name**|string|The integration account name.|integration_account_name|integration_account_name| +|**--key_vault**|object|The key vault reference.|key_vault|key_vault| +|**--skip_token**|string|The skip token.|skip_token|skip_token| +### logic integration-account log-tracking-event + +log-tracking-event a logic integration-account. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| +|**--integration_account_name**|string|The integration account name.|integration_account_name|integration_account_name| +|**--source_type**|string|The source type.|source_type|source_type| +|**--events**|array|The events.|events|events| +|**--track_events_options**|choice|The track events options.|track_events_options|track_events_options| +### logic integration-account regenerate-access-key + +regenerate-access-key a logic integration-account. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| +|**--integration_account_name**|string|The integration account name.|integration_account_name|integration_account_name| +|**--key_type**|choice|The key type.|key_type|key_type| +### logic integration-account show + +show a logic integration-account. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| +|**--integration_account_name**|string|The integration account name.|integration_account_name|integration_account_name| +### logic integration-account update + +update a logic integration-account. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| +|**--integration_account_name**|string|The integration account name.|integration_account_name|integration_account_name| +|**--location**|string|The resource location.|location|location| +|**--tags**|dictionary|The resource tags.|tags|tags| +|**--sku**|object|The sku.|sku|sku| +|**--integration_service_environment**|object|The integration service environment.|integration_service_environment|integration_service_environment| +|**--state**|choice|The workflow state.|state|state| +### logic workflow create + +create a logic workflow. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| +|**--workflow_name**|string|The workflow name.|workflow_name|workflow_name| +|**--location**|string|The resource location.|location|location| +|**--tags**|dictionary|The resource tags.|tags|tags| +|**--state**|choice|The state.|state|state| +|**--endpoints_configuration**|object|The endpoints configuration.|endpoints_configuration|endpoints_configuration| +|**--integration_account**|object|The integration account.|integration_account|integration_account| +|**--integration_service_environment**|object|The integration service environment.|integration_service_environment|integration_service_environment| +|**--definition**|any|The definition.|definition|definition| +|**--parameters**|dictionary|The parameters.|parameters|parameters| +### logic workflow delete + +delete a logic workflow. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| +|**--workflow_name**|string|The workflow name.|workflow_name|workflow_name| +### logic workflow disable + +disable a logic workflow. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| +|**--workflow_name**|string|The workflow name.|workflow_name|workflow_name| +### logic workflow enable + +enable a logic workflow. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| +|**--workflow_name**|string|The workflow name.|workflow_name|workflow_name| +### logic workflow generate-upgraded-definition + +generate-upgraded-definition a logic workflow. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| +|**--workflow_name**|string|The workflow name.|workflow_name|workflow_name| +|**--target_schema_version**|string|The target schema version.|target_schema_version|target_schema_version| +### logic workflow list + +list a logic workflow. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| +|**--top**|integer|The number of items to be included in the result.|top|top| +|**--filter**|string|The filter to apply on the operation. Options for filters include: State, Trigger, and ReferencedResourceId.|filter|filter| +### logic workflow list-callback-url + +list-callback-url a logic workflow. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| +|**--workflow_name**|string|The workflow name.|workflow_name|workflow_name| +|**--not_after**|date-time|The expiry time.|not_after|not_after| +|**--key_type**|choice|The key type.|key_type|key_type| +### logic workflow list-swagger + +list-swagger a logic workflow. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| +|**--workflow_name**|string|The workflow name.|workflow_name|workflow_name| +### logic workflow move + +move a logic workflow. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| +|**--workflow_name**|string|The workflow name.|workflow_name|workflow_name| +|**--location**|string|The resource location.|location|location| +|**--tags**|dictionary|The resource tags.|tags|tags| +|**--state**|choice|The state.|state|state| +|**--endpoints_configuration**|object|The endpoints configuration.|endpoints_configuration|endpoints_configuration| +|**--integration_account**|object|The integration account.|integration_account|integration_account| +|**--integration_service_environment**|object|The integration service environment.|integration_service_environment|integration_service_environment| +|**--definition**|any|The definition.|definition|definition| +|**--parameters**|dictionary|The parameters.|parameters|parameters| +### logic workflow regenerate-access-key + +regenerate-access-key a logic workflow. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| +|**--workflow_name**|string|The workflow name.|workflow_name|workflow_name| +|**--key_type**|choice|The key type.|key_type|key_type| +### logic workflow show + +show a logic workflow. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| +|**--workflow_name**|string|The workflow name.|workflow_name|workflow_name| +### logic workflow update + +update a logic workflow. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| +|**--workflow_name**|string|The workflow name.|workflow_name|workflow_name| +|**--location**|string|The resource location.|location|location| +|**--tags**|dictionary|The resource tags.|tags|tags| +|**--state**|choice|The state.|state|state| +|**--endpoints_configuration**|object|The endpoints configuration.|endpoints_configuration|endpoints_configuration| +|**--integration_account**|object|The integration account.|integration_account|integration_account| +|**--integration_service_environment**|object|The integration service environment.|integration_service_environment|integration_service_environment| +|**--definition**|any|The definition.|definition|definition| +|**--parameters**|dictionary|The parameters.|parameters|parameters| +### logic workflow validate-by-location + +validate-by-location a logic workflow. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| +|**--location**|string|The workflow location.|location|location| +|**--workflow_name**|string|The workflow name.|workflow_name|workflow_name| +### logic workflow validate-by-resource-group + +validate-by-resource-group a logic workflow. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| +|**--workflow_name**|string|The workflow name.|workflow_name|workflow_name| +|**--location**|string|The resource location.|location|location| +|**--tags**|dictionary|The resource tags.|tags|tags| +|**--state**|choice|The state.|state|state| +|**--endpoints_configuration**|object|The endpoints configuration.|endpoints_configuration|endpoints_configuration| +|**--integration_account**|object|The integration account.|integration_account|integration_account| +|**--integration_service_environment**|object|The integration service environment.|integration_service_environment|integration_service_environment| +|**--definition**|any|The definition.|definition|definition| +|**--parameters**|dictionary|The parameters.|parameters|parameters| \ No newline at end of file diff --git a/src/logic/setup.cfg b/src/logic/setup.cfg new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/logic/setup.py b/src/logic/setup.py new file mode 100644 index 00000000000..4e6f4a49ba5 --- /dev/null +++ b/src/logic/setup.py @@ -0,0 +1,58 @@ +#!/usr/bin/env python + +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + + +from codecs import open +from setuptools import setup, find_packages +try: + from azure_bdist_wheel import cmdclass +except ImportError: + from distutils import log as logger + logger.warn("Wheel is not available, disabling bdist_wheel hook") + +# TODO: Confirm this is the right version number you want and it matches your +# HISTORY.rst entry. +VERSION = '0.1.0' + +# The full list of classifiers is available at +# https://pypi.python.org/pypi?%3Aaction=list_classifiers +CLASSIFIERS = [ + 'Development Status :: 4 - Beta', + 'Intended Audience :: Developers', + 'Intended Audience :: System Administrators', + 'Programming Language :: Python', + 'Programming Language :: Python :: 3', + 'Programming Language :: Python :: 3.6', + 'Programming Language :: Python :: 3.7', + 'Programming Language :: Python :: 3.8', + 'License :: OSI Approved :: MIT License', +] + +# TODO: Add any additional SDK dependencies here +DEPENDENCIES = [] + +with open('README.md', 'r', encoding='utf-8') as f: + README = f.read() +with open('HISTORY.rst', 'r', encoding='utf-8') as f: + HISTORY = f.read() + +setup( + name='logic', + version=VERSION, + description='Microsoft Azure Command-Line Tools LogicManagementClient Extension', + # TODO: Update author and email, if applicable + author='Microsoft Corporation', + author_email='azpycli@microsoft.com', + # TODO: consider pointing directly to your source code instead of the generic repo + url='https://github.com/Azure/azure-cli-extensions', + long_description=README + '\n\n' + HISTORY, + license='MIT', + classifiers=CLASSIFIERS, + packages=find_packages(), + install_requires=DEPENDENCIES, + package_data={'azext_logic': ['azext_metadata.json']}, +) diff --git a/src/managementpartner/azext_managementpartner/azext_metadata.json b/src/managementpartner/azext_managementpartner/azext_metadata.json new file mode 100644 index 00000000000..52c2f3eceef --- /dev/null +++ b/src/managementpartner/azext_managementpartner/azext_metadata.json @@ -0,0 +1,4 @@ +{ + "azext.isPreview": false, + "azext.minCliCoreVersion": "2.0.67" +} diff --git a/src/managementpartner/setup.py b/src/managementpartner/setup.py index 2adb428093e..e6b9873657c 100644 --- a/src/managementpartner/setup.py +++ b/src/managementpartner/setup.py @@ -8,7 +8,7 @@ from codecs import open from setuptools import setup, find_packages -VERSION = "0.1.2" +VERSION = "0.1.3" CLASSIFIERS = [ 'Development Status :: 4 - Beta', @@ -37,5 +37,6 @@ url='https://github.com/Azure/azure-cli-extensions', classifiers=CLASSIFIERS, packages=find_packages(exclude=["tests"]), - install_requires=DEPENDENCIES + install_requires=DEPENDENCIES, + package_data={'azext_managementpartner': ['azext_metadata.json']} ) diff --git a/src/mixed-reality/setup.py b/src/mixed-reality/setup.py index 9de569373a9..5fc7487c418 100644 --- a/src/mixed-reality/setup.py +++ b/src/mixed-reality/setup.py @@ -8,7 +8,7 @@ from codecs import open from setuptools import setup, find_packages -VERSION = "0.0.1" +VERSION = "0.0.2" CLASSIFIERS = [ 'Development Status :: 4 - Beta', @@ -37,5 +37,10 @@ url='https://github.com/Azure/azure-cli-extensions', classifiers=CLASSIFIERS, packages=find_packages(exclude=["tests"]), - install_requires=DEPENDENCIES + install_requires=DEPENDENCIES, + package_data={ + 'azext_mixed_reality': [ + 'azext_metadata.json' + ] + } ) diff --git a/src/notification-hub/HISTORY.rst b/src/notification-hub/HISTORY.rst index 1c139576ba0..b99b66222fa 100644 --- a/src/notification-hub/HISTORY.rst +++ b/src/notification-hub/HISTORY.rst @@ -3,6 +3,11 @@ Release History =============== +0.2.0 +* Ignore --sku in notification hub as sku can only be set at namespace level +* Drop Python 3.5 +* Use Experimental tag + 0.1.0 ++++++ * Initial release. diff --git a/src/notification-hub/README.md b/src/notification-hub/README.md index 7aed4b13f6f..fb6761627b1 100644 --- a/src/notification-hub/README.md +++ b/src/notification-hub/README.md @@ -28,8 +28,7 @@ az notification-hub create \ --resource-group groupName \ --namespace-name spaceName \ --name hubName \ - --location "South Central US" \ - --name "Basic" + --location "South Central US" ``` ##### Create a Notification Hub authorization rule diff --git a/src/notification-hub/azext_notification_hub/_help.py b/src/notification-hub/azext_notification_hub/_help.py index 70813f3d883..fda3b5dad4c 100644 --- a/src/notification-hub/azext_notification_hub/_help.py +++ b/src/notification-hub/azext_notification_hub/_help.py @@ -26,7 +26,7 @@ - name: Create a namespace text: |- az notification-hub namespace create --resource-group MyResourceGroup --name \\ - "nh-sdk-ns" --location "South Central US" --sku "Standard" + my-namespace --location "South Central US" --sku Standard """ helps['notification-hub namespace update'] = """ @@ -36,7 +36,7 @@ - name: Update the namespace text: |- az notification-hub namespace update --resource-group MyResourceGroup --name \\ - "nh-sdk-ns" --sku "Standard" + my-namespace --sku Standard """ helps['notification-hub namespace delete'] = """ @@ -46,7 +46,7 @@ - name: Delete the namespace text: |- az notification-hub namespace delete --resource-group MyResourceGroup --name \\ - "nh-sdk-ns" + my-namespace """ helps['notification-hub namespace show'] = """ @@ -56,14 +56,14 @@ - name: Show namespace info text: |- az notification-hub namespace show --resource-group MyResourceGroup --name \\ - "nh-sdk-ns" + my-namespace """ helps['notification-hub namespace list'] = """ type: command short-summary: List available namespaces. examples: - - name: List available namespaces within a resourceGroup + - name: List available namespaces within a resource group text: |- az notification-hub namespace list --resource-group MyResourceGroup - name: List all the available namespaces within the subscription irrespective of the resourceGroups @@ -86,7 +86,7 @@ examples: - name: Pause executing next line of CLI script until the Notification Hub Namesapce is successfully provisioned. text: az notification-hub namespace wait --resource-group MyResourceGroup --name \\ - "nh-sdk-ns" --created + my-namespace --created """ helps['notification-hub namespace authorization-rule'] = """ @@ -101,7 +101,7 @@ - name: List keys of the namesapce authorization rule text: |- az notification-hub namespace authorization-rule list-keys --resource-group MyResourceGroup --namespace-name \\ - "nh-sdk-ns" --name "RootManageSharedAccessKey" + my-namespace --name "RootManageSharedAccessKey" """ helps['notification-hub namespace authorization-rule regenerate-keys'] = """ @@ -111,7 +111,7 @@ - name: Regenerate keys of the namesapce authorization rule text: |- az notification-hub namespace authorization-rule regenerate-keys --resource-group MyResourceGroup --namespace-name \\ - "nh-sdk-ns" --name "RootManageSharedAccessKey" --policy-key "Secondary Key" + my-namespace --name "RootManageSharedAccessKey" --policy-key "Secondary Key" """ helps['notification-hub namespace authorization-rule show'] = """ @@ -121,7 +121,7 @@ - name: Show namespace authorization rule info text: |- az notification-hub namespace authorization-rule show --resource-group MyResourceGroup \\ - --namespace-name "nh-sdk-ns" --name "RootManageSharedAccessKey" + --namespace-name my-namespace --name "RootManageSharedAccessKey" """ helps['notification-hub namespace authorization-rule list'] = """ @@ -131,7 +131,7 @@ - name: List authorization rules of the namespace text: |- az notification-hub namespace authorization-rule list --resource-group MyResourceGroup \\ - --namespace-name "nh-sdk-ns" + --namespace-name my-namespace """ helps['notification-hub namespace authorization-rule create'] = """ @@ -141,7 +141,7 @@ - name: Create a namespace authorization rule text: |- az notification-hub namespace authorization-rule create --resource-group \\ - MyResourceGroup --namespace-name "nh-sdk-ns" --name "sdk-AuthRules-1788" --rights "Listen" + MyResourceGroup --namespace-name my-namespace --name "sdk-AuthRules-1788" --rights Listen Send """ helps['notification-hub namespace authorization-rule delete'] = """ @@ -151,7 +151,7 @@ - name: Delete a namespace authorization rule text: |- az notification-hub namespace authorization-rule delete --resource-group MyResourceGroup \\ - --namespace-name "nh-sdk-ns" --name "RootManageSharedAccessKey" + --namespace-name my-namespace --name "RootManageSharedAccessKey" """ helps['notification-hub'] = """ @@ -165,8 +165,8 @@ examples: - name: Create a Notification Hub text: |- - az notification-hub create --resource-group MyResourceGroup --namespace-name "nh-sdk-ns" \\ - --name "nh-sdk-hub" --location "South Central US" --sku "Free" + az notification-hub create --resource-group MyResourceGroup --namespace-name my-namespace \\ + --name my-hub --location "South Central US" """ helps['notification-hub update'] = """ @@ -175,8 +175,8 @@ examples: - name: Update the Notification Hub text: |- - az notification-hub update --resource-group "sdkresourceGroup" --namespace-name \\ - "nh-sdk-ns" --name "sdk-notificationHubs-8708" + az notification-hub update --resource-group MyResourceGroup --namespace-name \\ + my-namespace --name "sdk-notificationHubs-8708" """ helps['notification-hub delete'] = """ @@ -185,8 +185,8 @@ examples: - name: Delete a notification hub text: |- - az notification-hub delete --resource-group MyResourceGroup --namespace-name "nh-sdk-ns" \\ - --name "nh-sdk-hub" + az notification-hub delete --resource-group MyResourceGroup --namespace-name my-namespace \\ + --name my-hub """ helps['notification-hub show'] = """ @@ -195,8 +195,8 @@ examples: - name: Show the Notification Hub info text: |- - az notification-hub show --resource-group MyResourceGroup --namespace-name "nh-sdk-ns" \\ - --name "nh-sdk-hub" + az notification-hub show --resource-group MyResourceGroup --namespace-name my-namespace \\ + --name my-hub """ helps['notification-hub list'] = """ @@ -205,7 +205,7 @@ examples: - name: List the notification hubs text: |- - az notification-hub list --resource-group MyResourceGroup --namespace-name "nh-sdk-ns" + az notification-hub list --resource-group MyResourceGroup --namespace-name my-namespace """ helps['notification-hub check-availability'] = """ @@ -215,7 +215,7 @@ - name: Check the availability of the given notificationHub name text: |- az notification-hub check-availability --resource-group MyResourceGroup \\ - --namespace-name "locp-newns" --name "nh-sdk-hub" + --namespace-name "locp-newns" --name my-hub """ helps['notification-hub authorization-rule'] = """ @@ -230,8 +230,8 @@ - name: Regenerate the Notification Hub authorization rule text: |- az notification-hub authorization-rule regenerate-keys --resource-group MyResourceGroup --namespace-name \\ - "nh-sdk-ns" --notification-hub-name "nh-sdk-hub" --name \\ - "DefaultListenSharedAccessSignature" --policy-key "Secondary Key" + my-namespace --notification-hub-name my-hub --name \\ + DefaultListenSharedAccessSignature --policy-key "Secondary Key" """ helps['notification-hub credential list'] = """ @@ -241,7 +241,7 @@ - name: List the PNS Credentials text: |- az notification-hub credential list --resource-group MyResourceGroup --namespace-name \\ - "nh-sdk-ns" --notification-hub-name "nh-sdk-hub" + my-namespace --notification-hub-name my-hub """ helps['notification-hub authorization-rule list-keys'] = """ @@ -250,8 +250,8 @@ examples: - name: List connectionStrings of the authorization rule text: |- - az notification-hub authorization-rule list-keys --resource-group MyResourceGroup --namespace-name "nh-sdk-ns" \\ - --notification-hub-name "nh-sdk-hub" --name "sdk-AuthRules-5800" + az notification-hub authorization-rule list-keys --resource-group MyResourceGroup --namespace-name my-namespace \\ + --notification-hub-name my-hub --name "sdk-AuthRules-5800" """ helps['notification-hub test-send'] = """ @@ -261,17 +261,17 @@ - name: test send notification with message body text: |- az notification-hub test-send --resource-group MyResourceGroup --namespace-name \\ - "nh-sdk-ns" --notification-hub-name "nh-sdk-hub" --notification-format gcm \\ + my-namespace --notification-hub-name my-hub --notification-format gcm \\ --message "test notification" - name: test send notification from file text: |- az notification-hub test-send --resource-group MyResourceGroup --namespace-name \\ - "nh-sdk-ns" --notification-hub-name "nh-sdk-hub" --notification-format gcm \\ + my-namespace --notification-hub-name my-hub --notification-format gcm \\ --payload @path/to/file - name: test send notification with json string text: |- az notification-hub test-send --resource-group MyResourceGroup --namespace-name \\ - "nh-sdk-ns" --notification-hub-name "nh-sdk-hub" --notification-format gcm \\ + my-namespace --notification-hub-name my-hub --notification-format gcm \\ --payload "{\\\"data\\\":{\\\"message\\\":\\\"test notification\\\"}}" """ @@ -282,7 +282,7 @@ - name: List authorization rules text: |- az notification-hub authorization-rule list --resource-group MyResourceGroup \\ - --namespace-name "nh-sdk-ns" --notification-hub-name "nh-sdk-hub" + --namespace-name my-namespace --notification-hub-name my-hub """ helps['notification-hub authorization-rule show'] = """ @@ -292,8 +292,8 @@ - name: Show the authorization rule information text: |- az notification-hub authorization-rule show --resource-group MyResourceGroup \\ - --namespace-name "nh-sdk-ns" --notification-hub-name "nh-sdk-hub" --name \\ - "DefaultListenSharedAccessSignature" + --namespace-name my-namespace --notification-hub-name my-hub --name \\ + DefaultListenSharedAccessSignature """ helps['notification-hub authorization-rule create'] = """ @@ -303,8 +303,8 @@ - name: Create an authorization rule text: |- az notification-hub authorization-rule create --resource-group MyResourceGroup \\ - --namespace-name "nh-sdk-ns" --notification-hub-name "nh-sdk-hub" --name \\ - "DefaultListenSharedAccessSignature" --rights "Listen" + --namespace-name my-namespace --notification-hub-name my-hub --name \\ + DefaultListenSharedAccessSignature --rights Listen Send """ helps['notification-hub authorization-rule delete'] = """ @@ -314,8 +314,8 @@ - name: Delete the authorization rule text: |- az notification-hub authorization-rule delete --resource-group MyResourceGroup \\ - --namespace-name "nh-sdk-ns" --notification-hub-name "nh-sdk-hub" --name \\ - "DefaultListenSharedAccessSignature" + --namespace-name my-namespace --notification-hub-name my-hub --name \\ + DefaultListenSharedAccessSignature """ helps['notification-hub credential'] = """ @@ -359,7 +359,7 @@ - name: Update gcm key text: |- az notification-hub credential gcm update --resource-group MyResourceGroup \\ - --namespace-name "nh-sdk-ns" --notification-hub-name "nh-sdk-hub" --google-api-key \\ + --namespace-name my-namespace --notification-hub-name my-hub --google-api-key \\ "xxxxxxxxx" """ @@ -374,8 +374,8 @@ examples: - name: Update APNS certificate text: |- - az notification-hub credential apns update --namespace-name "nh-sdk-ns" \\ - --notification-hub-name "nh-sdk-hub" --apns-certificate "/path/to/certificate" \\ + az notification-hub credential apns update --namespace-name my-namespace \\ + --notification-hub-name my-hub --apns-certificate "/path/to/certificate" \\ --certificate-key "xxxxxx" --resource-group MyResourceGroup """ diff --git a/src/notification-hub/azext_notification_hub/_params.py b/src/notification-hub/azext_notification_hub/_params.py index eb94641e2cf..1c7fc08d735 100644 --- a/src/notification-hub/azext_notification_hub/_params.py +++ b/src/notification-hub/azext_notification_hub/_params.py @@ -81,14 +81,14 @@ def load_arguments(self, _): c.argument('notification_hub_name', options_list=['--name', '-n'], help='The notification hub name.') c.argument('location', arg_type=get_location_type(self.cli_ctx), validator=get_default_location_from_resource_group) c.argument('tags', tags_type) - c.argument('sku_name', arg_type=get_enum_type(['Free', 'Basic', 'Standard']), help='Name of the notification hub sku') + c.ignore('sku_name') c.argument('registration_ttl', help='The RegistrationTtl of the created NotificationHub') with self.argument_context('notification-hub update') as c: c.argument('namespace_name', help='The namespace name.') c.argument('notification_hub_name', options_list=['--name', '-n'], help='The notification hub name.') c.argument('tags', tags_type) - c.argument('sku_name', arg_type=get_enum_type(['Free', 'Basic', 'Standard']), help='Name of the notification hub sku') + c.ignore('sku_name') with self.argument_context('notification-hub delete') as c: c.argument('namespace_name', id_part="name", help='The namespace name.') @@ -142,7 +142,7 @@ def load_arguments(self, _): c.argument('namespace_name', help='The namespace name.') c.argument('notification_hub_name', help='The notification hub name.') c.argument('rule_name', options_list=['--name', '-n'], help='The authorization rule name.') - c.argument('rights', nargs='+', help='The rights associated with the rule. Separated by comma.') + c.argument('rights', nargs='+', help='The rights associated with the rule.') with self.argument_context('notification-hub authorization-rule delete') as c: c.argument('namespace_name', id_part="name", help='The namespace name.') diff --git a/src/notification-hub/azext_notification_hub/azext_metadata.json b/src/notification-hub/azext_notification_hub/azext_metadata.json index 55c81bf3328..27e30487444 100644 --- a/src/notification-hub/azext_notification_hub/azext_metadata.json +++ b/src/notification-hub/azext_notification_hub/azext_metadata.json @@ -1,4 +1,4 @@ { - "azext.isPreview": true, - "azext.minCliCoreVersion": "2.0.67" -} \ No newline at end of file + "azext.isExperimental": true, + "azext.minCliCoreVersion": "2.3.1" +} diff --git a/src/notification-hub/azext_notification_hub/commands.py b/src/notification-hub/azext_notification_hub/commands.py index 4b459665008..cf26b5814b5 100644 --- a/src/notification-hub/azext_notification_hub/commands.py +++ b/src/notification-hub/azext_notification_hub/commands.py @@ -17,7 +17,7 @@ def load_command_table(self, _): notificationhubs_namespaces = CliCommandType( operations_tmpl='azext_notification_hub.vendored_sdks.notificationhubs.operations.namespaces_operations#NamespacesOperations.{}', client_factory=cf_namespaces) - with self.command_group('notification-hub namespace', notificationhubs_namespaces, client_factory=cf_namespaces, is_preview=True) as g: + with self.command_group('notification-hub namespace', notificationhubs_namespaces, client_factory=cf_namespaces) as g: g.custom_command('create', 'create_notificationhubs_namespace') g.custom_command('update', 'update_notificationhubs_namespace') g.custom_command('delete', 'delete_notificationhubs_namespace', supports_no_wait=True, confirmation='Are you sure to delete this namespace and all its hubs?') @@ -25,18 +25,20 @@ def load_command_table(self, _): g.custom_command('list', 'list_notificationhubs_namespace') g.custom_command('check-availability', 'check_availability_notificationhubs_namespace') g.wait_command('wait') - g.custom_show_command('authorization-rule show', 'get_authorization_rule_notificationhubs_namespace') - g.custom_command('authorization-rule list', 'list_authorization_rules_notificationhubs_namespace') - g.custom_command('authorization-rule create', 'create_or_update_authorization_rule_notificationhubs_namespace') - g.custom_command('authorization-rule delete', 'delete_authorization_rule_notificationhubs_namespace', confirmation=True) - g.custom_command('authorization-rule list-keys', 'list_keys_notificationhubs_namespace') - g.custom_command('authorization-rule regenerate-keys', 'regenerate_keys_notificationhubs_namespace') + + with self.command_group('notification-hub namespace authorization-rule', notificationhubs_namespaces, client_factory=cf_namespaces) as g: + g.custom_show_command('show', 'get_authorization_rule_notificationhubs_namespace') + g.custom_command('list', 'list_authorization_rules_notificationhubs_namespace') + g.custom_command('create', 'create_or_update_authorization_rule_notificationhubs_namespace') + g.custom_command('delete', 'delete_authorization_rule_notificationhubs_namespace', confirmation=True) + g.custom_command('list-keys', 'list_keys_notificationhubs_namespace') + g.custom_command('regenerate-keys', 'regenerate_keys_notificationhubs_namespace') from ._client_factory import cf_notification_hubs notificationhubs_notification_hubs = CliCommandType( operations_tmpl='azext_notification_hub.vendored_sdks.notificationhubs.operations.notification_hubs_operations#NotificationHubsOperations.{}', client_factory=cf_notification_hubs) - with self.command_group('notification-hub', notificationhubs_notification_hubs, client_factory=cf_notification_hubs, is_preview=True) as g: + with self.command_group('notification-hub', notificationhubs_notification_hubs, client_factory=cf_notification_hubs, is_experimental=True) as g: g.custom_command('create', 'create_notificationhubs_hub') g.custom_command('update', 'update_notificationhubs_hub') g.custom_command('delete', 'delete_notificationhubs_hub', confirmation=True) @@ -44,12 +46,14 @@ def load_command_table(self, _): g.custom_command('list', 'list_notificationhubs_hub') g.custom_command('check-availability', 'check_notification_hub_availability_notificationhubs_hub') g.custom_command('test-send', 'debug_send_notificationhubs_hub', validator=validate_notification_message) - g.custom_command('authorization-rule list', 'list_authorization_rules_notificationhubs_hub') - g.custom_show_command('authorization-rule show', 'get_authorization_rule_notificationhubs_hub') - g.custom_command('authorization-rule create', 'create_or_update_authorization_rule_notificationhubs_hub') - g.custom_command('authorization-rule delete', 'delete_authorization_rule_notificationhubs_hub') - g.custom_command('authorization-rule list-keys', 'list_keys_notificationhubs_hub') - g.custom_command('authorization-rule regenerate-keys', 'regenerate_keys_notificationhubs_hub') + + with self.command_group('notification-hub authorization-rule', notificationhubs_notification_hubs, client_factory=cf_notification_hubs) as g: + g.custom_command('list', 'list_authorization_rules_notificationhubs_hub') + g.custom_show_command('show', 'get_authorization_rule_notificationhubs_hub') + g.custom_command('create', 'create_or_update_authorization_rule_notificationhubs_hub') + g.custom_command('delete', 'delete_authorization_rule_notificationhubs_hub') + g.custom_command('list-keys', 'list_keys_notificationhubs_hub') + g.custom_command('regenerate-keys', 'regenerate_keys_notificationhubs_hub') with self.command_group('notification-hub credential', notificationhubs_notification_hubs, client_factory=cf_notification_hubs) as g: g.custom_command('list', 'get_pns_credentials_notificationhubs_hub') diff --git a/src/notification-hub/azext_notification_hub/custom.py b/src/notification-hub/azext_notification_hub/custom.py index 7d8ecf59464..e21beca0370 100644 --- a/src/notification-hub/azext_notification_hub/custom.py +++ b/src/notification-hub/azext_notification_hub/custom.py @@ -20,6 +20,10 @@ def create_notificationhubs_namespace(cmd, client, sku_name, location=None, tags=None): + from knack.util import CLIError + check_result = client.check_availability(parameters={"name": namespace_name}) + if check_result and not check_result.is_availiable: # misspell inherited from swagger + raise CLIError("A Notification Hub Namespace with the name: {} already exists.".format(namespace_name)) body = {} body['location'] = location # str body['tags'] = tags # dictionary @@ -57,7 +61,7 @@ def get_notificationhubs_namespace(cmd, client, def list_notificationhubs_namespace(cmd, client, resource_group_name=None): - if resource_group_name is not None: + if resource_group_name: return client.list(resource_group_name=resource_group_name) return client.list_all() @@ -116,14 +120,27 @@ def create_notificationhubs_hub(cmd, client, resource_group_name, namespace_name, notification_hub_name, - sku_name, location, tags=None, registration_ttl=None): + from knack.util import CLIError + check_result = client.check_notification_hub_availability(resource_group_name=resource_group_name, + namespace_name=namespace_name, + parameters={"name": notification_hub_name}) + if check_result and not check_result.is_availiable: # misspell inherited from swagger + raise CLIError("A Notification Hub with the name: {} already exists in {}.".format(notification_hub_name, namespace_name)) + body = {} body['location'] = location # str body['tags'] = tags # dictionary - body.setdefault('sku', {})['name'] = sku_name # str + + # sku is actually a property of namespace, current service ignores it. The swagger added it as required in notification hub(a bug?). + # Here we fetch the sku from the namespace. + from ._client_factory import cf_namespaces + namespace_client = cf_namespaces(cmd.cli_ctx) + namespace = namespace_client.get(resource_group_name=resource_group_name, namespace_name=namespace_name) + body.setdefault('sku', {})['name'] = namespace.sku.name + body['registration_ttl'] = registration_ttl # str return client.create_or_update(resource_group_name=resource_group_name, namespace_name=namespace_name, notification_hub_name=notification_hub_name, parameters=body) @@ -132,13 +149,10 @@ def update_notificationhubs_hub(cmd, client, resource_group_name, namespace_name, notification_hub_name, - tags=None, - sku_name=None): + tags=None): body = client.get(resource_group_name=resource_group_name, namespace_name=namespace_name, notification_hub_name=notification_hub_name).as_dict() if tags is not None: body['tags'] = tags # dictionary - if sku_name is not None: - body.setdefault('sku', {})['name'] = sku_name # str return client.create_or_update(resource_group_name=resource_group_name, namespace_name=namespace_name, notification_hub_name=notification_hub_name, parameters=body) diff --git a/src/notification-hub/azext_notification_hub/tests/latest/recordings/test_notificationhubs.yaml b/src/notification-hub/azext_notification_hub/tests/latest/recordings/test_notificationhubs.yaml index 3309c2c6225..877cd7c7085 100644 --- a/src/notification-hub/azext_notification_hub/tests/latest/recordings/test_notificationhubs.yaml +++ b/src/notification-hub/azext_notification_hub/tests/latest/recordings/test_notificationhubs.yaml @@ -17,8 +17,8 @@ interactions: ParameterSetName: - --name User-Agent: - - python/3.7.3 (Darwin-19.0.0-x86_64-i386-64bit) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-notificationhubs/2.1.0 Azure-SDK-For-Python AZURECLI/2.0.80 + - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-notificationhubs/2.1.0 Azure-SDK-For-Python AZURECLI/2.3.1 (MSI) accept-language: - en-US method: POST @@ -34,7 +34,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 20 Jan 2020 09:28:36 GMT + - Wed, 01 Apr 2020 14:16:55 GMT expires: - '-1' pragma: @@ -53,7 +53,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1199' status: code: 200 message: OK @@ -71,12 +71,12 @@ interactions: ParameterSetName: - --name User-Agent: - - python/3.7.3 (Darwin-19.0.0-x86_64-i386-64bit) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-resource/6.0.0 Azure-SDK-For-Python AZURECLI/2.0.80 + - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-resource/8.0.1 Azure-SDK-For-Python AZURECLI/2.3.1 (MSI) accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/locations?api-version=2016-06-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/locations?api-version=2019-06-01 response: body: string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastasia","name":"eastasia","displayName":"East @@ -128,7 +128,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 20 Jan 2020 09:28:36 GMT + - Wed, 01 Apr 2020 14:16:56 GMT expires: - '-1' pragma: @@ -142,6 +142,64 @@ interactions: status: code: 200 message: OK +- request: + body: '{"name": "my-test-space"}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - notification-hub namespace create + Connection: + - keep-alive + Content-Length: + - '25' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - --resource-group --name --location --sku + User-Agent: + - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-notificationhubs/2.1.0 Azure-SDK-For-Python AZURECLI/2.3.1 (MSI) + accept-language: + - en-US + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.NotificationHubs/checkNamespaceAvailability?api-version=2017-04-01 + response: + body: + string: '{"isAvailiable":true,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.NotificationHubs/checkNamespaceAvailability","name":"my-test-space","type":"Microsoft.NotificationHubs/namespaces/checkNamespaceAvailability","location":null,"tags":null,"properties":true}' + headers: + cache-control: + - no-cache + content-length: + - '287' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 01 Apr 2020 14:16:58 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Service-Bus-Resource-Provider/CH3 + - Microsoft-HTTPAPI/2.0 + server-sb: + - Service-Bus-Resource-Provider/CH3 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK - request: body: '{"location": "southcentralus", "sku": {"name": "Free"}}' headers: @@ -160,8 +218,8 @@ interactions: ParameterSetName: - --resource-group --name --location --sku User-Agent: - - python/3.7.3 (Darwin-19.0.0-x86_64-i386-64bit) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-notificationhubs/2.1.0 Azure-SDK-For-Python AZURECLI/2.0.80 + - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-notificationhubs/2.1.0 Azure-SDK-For-Python AZURECLI/2.3.1 (MSI) accept-language: - en-US method: PUT @@ -178,7 +236,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 20 Jan 2020 09:28:45 GMT + - Wed, 01 Apr 2020 14:17:09 GMT expires: - '-1' pragma: @@ -215,8 +273,8 @@ interactions: ParameterSetName: - --resource-group --name --created User-Agent: - - python/3.7.3 (Darwin-19.0.0-x86_64-i386-64bit) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-notificationhubs/2.1.0 Azure-SDK-For-Python AZURECLI/2.0.80 + - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-notificationhubs/2.1.0 Azure-SDK-For-Python AZURECLI/2.3.1 (MSI) accept-language: - en-US method: GET @@ -224,7 +282,7 @@ interactions: response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_notificationhubs000001/providers/Microsoft.NotificationHubs/namespaces/my-test-space","name":"my-test-space","type":"Microsoft.NotificationHubs/namespaces","location":"South - Central US","kind":"NotificationHub","sku":{"name":"Free"},"tags":{},"properties":{"provisioningState":"Activating","metricId":null,"status":"Created","createdAt":"2020-01-20T09:28:43.857Z","serviceBusEndpoint":"https://my-test-space.servicebus.windows.net:443/","enabled":true,"critical":false,"updatedAt":"2020-01-20T09:28:43.857Z","namespaceType":"NotificationHub"}}' + Central US","kind":"NotificationHub","sku":{"name":"Free"},"tags":{},"properties":{"provisioningState":"Activating","metricId":null,"status":"Created","createdAt":"2020-04-01T14:17:07.507Z","serviceBusEndpoint":"https://my-test-space.servicebus.windows.net:443/","enabled":true,"critical":false,"updatedAt":"2020-04-01T14:17:07.507Z","namespaceType":"NotificationHub"}}' headers: cache-control: - no-cache @@ -233,7 +291,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 20 Jan 2020 09:28:47 GMT + - Wed, 01 Apr 2020 14:17:14 GMT expires: - '-1' pragma: @@ -268,8 +326,8 @@ interactions: ParameterSetName: - --resource-group --name --created User-Agent: - - python/3.7.3 (Darwin-19.0.0-x86_64-i386-64bit) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-notificationhubs/2.1.0 Azure-SDK-For-Python AZURECLI/2.0.80 + - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-notificationhubs/2.1.0 Azure-SDK-For-Python AZURECLI/2.3.1 (MSI) accept-language: - en-US method: GET @@ -277,16 +335,16 @@ interactions: response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_notificationhubs000001/providers/Microsoft.NotificationHubs/namespaces/my-test-space","name":"my-test-space","type":"Microsoft.NotificationHubs/namespaces","location":"South - Central US","kind":"NotificationHub","sku":{"name":"Free"},"tags":{},"properties":{"provisioningState":"Succeeded","metricId":null,"status":"Active","createdAt":"2020-01-20T09:28:43.857Z","serviceBusEndpoint":"https://my-test-space.servicebus.windows.net:443/","enabled":true,"critical":false,"updatedAt":"2020-01-20T09:29:09.507Z","namespaceType":"NotificationHub"}}' + Central US","kind":"NotificationHub","sku":{"name":"Free"},"tags":{},"properties":{"provisioningState":"Succeeded","metricId":null,"status":"Active","createdAt":"2020-04-01T14:17:07.507Z","serviceBusEndpoint":"https://my-test-space.servicebus.windows.net:443/","enabled":true,"critical":false,"updatedAt":"2020-04-01T14:17:31.16Z","namespaceType":"NotificationHub"}}' headers: cache-control: - no-cache content-length: - - '668' + - '667' content-type: - application/json; charset=utf-8 date: - - Mon, 20 Jan 2020 09:29:19 GMT + - Wed, 01 Apr 2020 14:17:49 GMT expires: - '-1' pragma: @@ -325,8 +383,8 @@ interactions: ParameterSetName: - --resource-group --namespace-name --name User-Agent: - - python/3.7.3 (Darwin-19.0.0-x86_64-i386-64bit) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-notificationhubs/2.1.0 Azure-SDK-For-Python AZURECLI/2.0.80 + - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-notificationhubs/2.1.0 Azure-SDK-For-Python AZURECLI/2.3.1 (MSI) accept-language: - en-US method: POST @@ -342,7 +400,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 20 Jan 2020 09:29:22 GMT + - Wed, 01 Apr 2020 14:17:53 GMT expires: - '-1' pragma: @@ -361,7 +419,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1197' status: code: 200 message: OK @@ -379,12 +437,12 @@ interactions: ParameterSetName: - --resource-group --namespace-name --name User-Agent: - - python/3.7.3 (Darwin-19.0.0-x86_64-i386-64bit) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-resource/6.0.0 Azure-SDK-For-Python AZURECLI/2.0.80 + - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-resource/8.0.1 Azure-SDK-For-Python AZURECLI/2.3.1 (MSI) accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/locations?api-version=2016-06-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/locations?api-version=2019-06-01 response: body: string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastasia","name":"eastasia","displayName":"East @@ -436,13 +494,124 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 20 Jan 2020 09:29:23 GMT + - Wed, 01 Apr 2020 14:17:54 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"name": "my-test-hub"}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - notification-hub create + Connection: + - keep-alive + Content-Length: + - '23' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - --resource-group --namespace-name --name --location + User-Agent: + - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-notificationhubs/2.1.0 Azure-SDK-For-Python AZURECLI/2.3.1 (MSI) + accept-language: + - en-US + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_notificationhubs000001/providers/Microsoft.NotificationHubs/namespaces/my-test-space/checkNotificationHubAvailability?api-version=2017-04-01 + response: + body: + string: '{"isAvailiable":true,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_notificationhubs000001/providers/Microsoft.NotificationHubs/namespaces/my-test-space/checkNotificationHubAvailability","name":"my-test-hub","type":"Microsoft.NotificationHubs/namespaces/notificationHubs/checkNotificationHubAvailability","location":null,"tags":null,"properties":true}' + headers: + cache-control: + - no-cache + content-length: + - '430' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 01 Apr 2020 14:17:57 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Service-Bus-Resource-Provider/CH3 + - Microsoft-HTTPAPI/2.0 + server-sb: + - Service-Bus-Resource-Provider/CH3 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - notification-hub create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --namespace-name --name --location + User-Agent: + - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-notificationhubs/2.1.0 Azure-SDK-For-Python AZURECLI/2.3.1 (MSI) + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_notificationhubs000001/providers/Microsoft.NotificationHubs/namespaces/my-test-space?api-version=2017-04-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_notificationhubs000001/providers/Microsoft.NotificationHubs/namespaces/my-test-space","name":"my-test-space","type":"Microsoft.NotificationHubs/namespaces","location":"South + Central US","kind":"NotificationHub","sku":{"name":"Free"},"tags":{},"properties":{"provisioningState":"Succeeded","metricId":null,"status":"Active","createdAt":"2020-04-01T14:17:07.507Z","serviceBusEndpoint":"https://my-test-space.servicebus.windows.net:443/","enabled":true,"critical":false,"updatedAt":"2020-04-01T14:17:31.16Z","namespaceType":"NotificationHub"}}' + headers: + cache-control: + - no-cache + content-length: + - '667' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 01 Apr 2020 14:17:59 GMT expires: - '-1' pragma: - no-cache + server: + - Service-Bus-Resource-Provider/CH3 + - Microsoft-HTTPAPI/2.0 + server-sb: + - Service-Bus-Resource-Provider/CH3 strict-transport-security: - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked vary: - Accept-Encoding x-content-type-options: @@ -466,10 +635,10 @@ interactions: Content-Type: - application/json; charset=utf-8 ParameterSetName: - - --resource-group --namespace-name --name --location --sku + - --resource-group --namespace-name --name --location User-Agent: - - python/3.7.3 (Darwin-19.0.0-x86_64-i386-64bit) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-notificationhubs/2.1.0 Azure-SDK-For-Python AZURECLI/2.0.80 + - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-notificationhubs/2.1.0 Azure-SDK-For-Python AZURECLI/2.3.1 (MSI) accept-language: - en-US method: PUT @@ -486,7 +655,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 20 Jan 2020 09:29:32 GMT + - Wed, 01 Apr 2020 14:18:08 GMT expires: - '-1' pragma: @@ -523,8 +692,8 @@ interactions: ParameterSetName: - --resource-group --namespace-name --name --rights User-Agent: - - python/3.7.3 (Darwin-19.0.0-x86_64-i386-64bit) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-notificationhubs/2.1.0 Azure-SDK-For-Python AZURECLI/2.0.80 + - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-notificationhubs/2.1.0 Azure-SDK-For-Python AZURECLI/2.3.1 (MSI) accept-language: - en-US method: PUT @@ -540,7 +709,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 20 Jan 2020 09:29:35 GMT + - Wed, 01 Apr 2020 14:18:11 GMT expires: - '-1' pragma: @@ -559,7 +728,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1198' status: code: 200 message: OK @@ -577,8 +746,8 @@ interactions: ParameterSetName: - --resource-group --namespace-name --name User-Agent: - - python/3.7.3 (Darwin-19.0.0-x86_64-i386-64bit) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-notificationhubs/2.1.0 Azure-SDK-For-Python AZURECLI/2.0.80 + - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-notificationhubs/2.1.0 Azure-SDK-For-Python AZURECLI/2.3.1 (MSI) accept-language: - en-US method: GET @@ -594,7 +763,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 20 Jan 2020 09:29:36 GMT + - Wed, 01 Apr 2020 14:18:14 GMT expires: - '-1' pragma: @@ -629,8 +798,8 @@ interactions: ParameterSetName: - --resource-group --namespace-name User-Agent: - - python/3.7.3 (Darwin-19.0.0-x86_64-i386-64bit) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-notificationhubs/2.1.0 Azure-SDK-For-Python AZURECLI/2.0.80 + - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-notificationhubs/2.1.0 Azure-SDK-For-Python AZURECLI/2.3.1 (MSI) accept-language: - en-US method: GET @@ -646,7 +815,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 20 Jan 2020 09:29:39 GMT + - Wed, 01 Apr 2020 14:18:17 GMT expires: - '-1' pragma: @@ -683,15 +852,15 @@ interactions: ParameterSetName: - --resource-group --namespace-name --name User-Agent: - - python/3.7.3 (Darwin-19.0.0-x86_64-i386-64bit) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-notificationhubs/2.1.0 Azure-SDK-For-Python AZURECLI/2.0.80 + - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-notificationhubs/2.1.0 Azure-SDK-For-Python AZURECLI/2.3.1 (MSI) accept-language: - en-US method: POST uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_notificationhubs000001/providers/Microsoft.NotificationHubs/namespaces/my-test-space/AuthorizationRules/my-space-rule/listKeys?api-version=2017-04-01 response: body: - string: '{"primaryConnectionString":"Endpoint=sb://my-test-space.servicebus.windows.net/;SharedAccessKeyName=my-space-rule;SharedAccessKey=Sf6KfAR8KHjgeqWUuivX514Zrs77lS38Dv1/UVPyW5c=","secondaryConnectionString":"Endpoint=sb://my-test-space.servicebus.windows.net/;SharedAccessKeyName=my-space-rule;SharedAccessKey=YLIMQj2nht7cuLb0aLtbgYgl+4mXVbTkspCFNpbD3EU=","primaryKey":"Sf6KfAR8KHjgeqWUuivX514Zrs77lS38Dv1/UVPyW5c=","secondaryKey":"YLIMQj2nht7cuLb0aLtbgYgl+4mXVbTkspCFNpbD3EU=","keyName":"my-space-rule"}' + string: '{"primaryConnectionString":"Endpoint=sb://my-test-space.servicebus.windows.net/;SharedAccessKeyName=my-space-rule;SharedAccessKey=zpPpUHBblEeOJ1qHWUcInapxF6ZJS0n5wbUeY1RsKg8=","secondaryConnectionString":"Endpoint=sb://my-test-space.servicebus.windows.net/;SharedAccessKeyName=my-space-rule;SharedAccessKey=nbJ4hhmMHElZFhFesKsiVsIeMSCsATnmLflQmZ5nV70=","primaryKey":"zpPpUHBblEeOJ1qHWUcInapxF6ZJS0n5wbUeY1RsKg8=","secondaryKey":"nbJ4hhmMHElZFhFesKsiVsIeMSCsATnmLflQmZ5nV70=","keyName":"my-space-rule"}' headers: cache-control: - no-cache @@ -700,7 +869,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 20 Jan 2020 09:29:41 GMT + - Wed, 01 Apr 2020 14:18:19 GMT expires: - '-1' pragma: @@ -719,7 +888,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1197' status: code: 200 message: OK @@ -741,8 +910,8 @@ interactions: ParameterSetName: - --resource-group --namespace-name --notification-hub-name --name --rights User-Agent: - - python/3.7.3 (Darwin-19.0.0-x86_64-i386-64bit) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-notificationhubs/2.1.0 Azure-SDK-For-Python AZURECLI/2.0.80 + - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-notificationhubs/2.1.0 Azure-SDK-For-Python AZURECLI/2.3.1 (MSI) accept-language: - en-US method: PUT @@ -758,7 +927,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 20 Jan 2020 09:29:43 GMT + - Wed, 01 Apr 2020 14:18:22 GMT expires: - '-1' pragma: @@ -777,7 +946,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1199' status: code: 200 message: OK @@ -795,8 +964,8 @@ interactions: ParameterSetName: - --resource-group --namespace-name --notification-hub-name --name User-Agent: - - python/3.7.3 (Darwin-19.0.0-x86_64-i386-64bit) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-notificationhubs/2.1.0 Azure-SDK-For-Python AZURECLI/2.0.80 + - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-notificationhubs/2.1.0 Azure-SDK-For-Python AZURECLI/2.3.1 (MSI) accept-language: - en-US method: GET @@ -812,7 +981,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 20 Jan 2020 09:29:45 GMT + - Wed, 01 Apr 2020 14:18:34 GMT expires: - '-1' pragma: @@ -847,8 +1016,8 @@ interactions: ParameterSetName: - --resource-group --namespace-name --notification-hub-name User-Agent: - - python/3.7.3 (Darwin-19.0.0-x86_64-i386-64bit) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-notificationhubs/2.1.0 Azure-SDK-For-Python AZURECLI/2.0.80 + - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-notificationhubs/2.1.0 Azure-SDK-For-Python AZURECLI/2.3.1 (MSI) accept-language: - en-US method: GET @@ -864,7 +1033,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 20 Jan 2020 09:29:46 GMT + - Wed, 01 Apr 2020 14:18:37 GMT expires: - '-1' pragma: @@ -901,15 +1070,15 @@ interactions: ParameterSetName: - --resource-group --namespace-name --notification-hub-name --name User-Agent: - - python/3.7.3 (Darwin-19.0.0-x86_64-i386-64bit) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-notificationhubs/2.1.0 Azure-SDK-For-Python AZURECLI/2.0.80 + - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-notificationhubs/2.1.0 Azure-SDK-For-Python AZURECLI/2.3.1 (MSI) accept-language: - en-US method: POST uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_notificationhubs000001/providers/Microsoft.NotificationHubs/namespaces/my-test-space/notificationHubs/my-test-hub/AuthorizationRules/my-hub-listen-key/listKeys?api-version=2017-04-01 response: body: - string: '{"primaryConnectionString":"Endpoint=sb://my-test-space.servicebus.windows.net/;SharedAccessKeyName=my-hub-listen-key;SharedAccessKey=l+qEVCZy2u1oA+AeikT8yOuvtAa8cpQ/ZmZI5AyN9zs=","secondaryConnectionString":"Endpoint=sb://my-test-space.servicebus.windows.net/;SharedAccessKeyName=my-hub-listen-key;SharedAccessKey=dDmUgdnP4nL00rKueAh2Pm98+AYN1SlBUcVbiabI/yI=","primaryKey":"l+qEVCZy2u1oA+AeikT8yOuvtAa8cpQ/ZmZI5AyN9zs=","secondaryKey":"dDmUgdnP4nL00rKueAh2Pm98+AYN1SlBUcVbiabI/yI=","keyName":"my-hub-listen-key"}' + string: '{"primaryConnectionString":"Endpoint=sb://my-test-space.servicebus.windows.net/;SharedAccessKeyName=my-hub-listen-key;SharedAccessKey=cRI/qRnfXTMxdfkEEnydEW+54r/I05ZASdcWZK1EmCo=","secondaryConnectionString":"Endpoint=sb://my-test-space.servicebus.windows.net/;SharedAccessKeyName=my-hub-listen-key;SharedAccessKey=E69PJR96yawTqdIgWrcrKagkujOlf9mrguHbS6PgW/I=","primaryKey":"cRI/qRnfXTMxdfkEEnydEW+54r/I05ZASdcWZK1EmCo=","secondaryKey":"E69PJR96yawTqdIgWrcrKagkujOlf9mrguHbS6PgW/I=","keyName":"my-hub-listen-key"}' headers: cache-control: - no-cache @@ -918,7 +1087,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 20 Jan 2020 09:29:48 GMT + - Wed, 01 Apr 2020 14:18:38 GMT expires: - '-1' pragma: @@ -937,67 +1106,12 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - notification-hub credential gcm update - Connection: - - keep-alive - ParameterSetName: - - --resource-group --namespace-name --notification-hub-name --google-api-key - User-Agent: - - python/3.7.3 (Darwin-19.0.0-x86_64-i386-64bit) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-notificationhubs/2.1.0 Azure-SDK-For-Python AZURECLI/2.0.80 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_notificationhubs000001/providers/Microsoft.NotificationHubs/namespaces/my-test-space/notificationHubs/my-test-hub?api-version=2017-04-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_notificationhubs000001/providers/Microsoft.NotificationHubs/namespaces/my-test-space/notificationHubs/my-test-hub","name":"my-test-hub","type":"Microsoft.NotificationHubs/namespaces/notificationHubs","location":"South - Central US","tags":null,"properties":{"registrationTtl":"10675199.02:48:05.4775807","authorizationRules":[]}}' - headers: - cache-control: - - no-cache - content-length: - - '454' - content-type: - - application/json; charset=utf-8 - date: - - Mon, 20 Jan 2020 09:29:49 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Service-Bus-Resource-Provider/CH3 - - Microsoft-HTTPAPI/2.0 - server-sb: - - Service-Bus-Resource-Provider/CH3 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff + - '1197' status: code: 200 message: OK - request: - body: '{"location": "South Central US", "properties": {"name": "my-test-hub", - "registrationTtl": "10675199.02:48:05.4775807", "authorizationRules": [], "gcmCredential": - {"properties": {"googleApiKey": "XXXXX"}}}}' + body: '{"properties": {"gcmCredential": {"properties": {"googleApiKey": "XXXXX"}}}}' headers: Accept: - application/json @@ -1008,14 +1122,14 @@ interactions: Connection: - keep-alive Content-Length: - - '352' + - '223' Content-Type: - application/json; charset=utf-8 ParameterSetName: - --resource-group --namespace-name --notification-hub-name --google-api-key User-Agent: - - python/3.7.3 (Darwin-19.0.0-x86_64-i386-64bit) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-notificationhubs/2.1.0 Azure-SDK-For-Python AZURECLI/2.0.80 + - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-notificationhubs/2.1.0 Azure-SDK-For-Python AZURECLI/2.3.1 (MSI) accept-language: - en-US method: PATCH @@ -1023,16 +1137,16 @@ interactions: response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_notificationhubs000001/providers/Microsoft.NotificationHubs/namespaces/my-test-space/notificationHubs/my-test-hub","name":"my-test-hub","type":"Microsoft.NotificationHubs/namespaces/notificationHubs","location":"South - Central US","tags":null,"properties":{"registrationTtl":"10675199.02:48:05.4775807","authorizationRules":[],"gcmCredential":{"properties":{"googleApiKey":"XXXXX"}}}}' + Central US","tags":null,"properties":{"registrationTtl":"10675199.02:48:05.4775807","authorizationRules":[{"keyName":"DefaultListenSharedAccessSignature","primaryKey":"1036t3Lsv+Pt+yEMMjX99NUittJ1JeOmQBcppHkmSSU=","secondaryKey":"I28Hi1oQi9PNyLR7BXiNAuHn54bwFIMR2SG7zLcdHz8=","claimType":"SharedAccessKey","claimValue":"None","rights":["Listen"],"createdTime":"2020-04-01T14:18:07.2541923Z","modifiedTime":"2020-04-01T14:18:07.2541923Z"},{"keyName":"DefaultFullSharedAccessSignature","primaryKey":"PFOlf2U7KJWGuunmGHI9jpMuQ96v+fCVdYLOUYNGbKo=","secondaryKey":"O6xEksyW0eCMd3WRo0q5Cjm2hTZqqzA8uCd4JIKwe5A=","claimType":"SharedAccessKey","claimValue":"None","rights":["Listen","Manage","Send"],"createdTime":"2020-04-01T14:18:07.2541923Z","modifiedTime":"2020-04-01T14:18:07.2541923Z"},{"keyName":"my-hub-listen-key","primaryKey":"cRI/qRnfXTMxdfkEEnydEW+54r/I05ZASdcWZK1EmCo=","secondaryKey":"E69PJR96yawTqdIgWrcrKagkujOlf9mrguHbS6PgW/I=","claimType":"SharedAccessKey","claimValue":"None","rights":["Listen"],"createdTime":"2020-04-01T14:18:23.1101762Z","modifiedTime":"2020-04-01T14:18:23.1101762Z"}],"gcmCredential":{"properties":{"googleApiKey":"XXXXX"}}}}' headers: cache-control: - no-cache content-length: - - '657' + - '1649' content-type: - application/json; charset=utf-8 date: - - Mon, 20 Jan 2020 09:29:51 GMT + - Wed, 01 Apr 2020 14:18:41 GMT expires: - '-1' pragma: @@ -1051,7 +1165,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1197' status: code: 200 message: OK @@ -1071,8 +1185,8 @@ interactions: ParameterSetName: - --resource-group --namespace-name --notification-hub-name User-Agent: - - python/3.7.3 (Darwin-19.0.0-x86_64-i386-64bit) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-notificationhubs/2.1.0 Azure-SDK-For-Python AZURECLI/2.0.80 + - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-notificationhubs/2.1.0 Azure-SDK-For-Python AZURECLI/2.3.1 (MSI) accept-language: - en-US method: POST @@ -1088,7 +1202,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 20 Jan 2020 09:29:53 GMT + - Wed, 01 Apr 2020 14:18:44 GMT expires: - '-1' pragma: @@ -1107,7 +1221,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1196' status: code: 200 message: OK @@ -1125,8 +1239,8 @@ interactions: ParameterSetName: - --resource-group --namespace-name --name User-Agent: - - python/3.7.3 (Darwin-19.0.0-x86_64-i386-64bit) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-notificationhubs/2.1.0 Azure-SDK-For-Python AZURECLI/2.0.80 + - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-notificationhubs/2.1.0 Azure-SDK-For-Python AZURECLI/2.3.1 (MSI) accept-language: - en-US method: GET @@ -1143,7 +1257,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 20 Jan 2020 09:29:54 GMT + - Wed, 01 Apr 2020 14:18:48 GMT expires: - '-1' pragma: @@ -1178,8 +1292,8 @@ interactions: ParameterSetName: - --resource-group --namespace-name User-Agent: - - python/3.7.3 (Darwin-19.0.0-x86_64-i386-64bit) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-notificationhubs/2.1.0 Azure-SDK-For-Python AZURECLI/2.0.80 + - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-notificationhubs/2.1.0 Azure-SDK-For-Python AZURECLI/2.3.1 (MSI) accept-language: - en-US method: GET @@ -1196,7 +1310,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 20 Jan 2020 09:29:55 GMT + - Wed, 01 Apr 2020 14:18:50 GMT expires: - '-1' pragma: @@ -1231,8 +1345,8 @@ interactions: ParameterSetName: - --resource-group --name User-Agent: - - python/3.7.3 (Darwin-19.0.0-x86_64-i386-64bit) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-notificationhubs/2.1.0 Azure-SDK-For-Python AZURECLI/2.0.80 + - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-notificationhubs/2.1.0 Azure-SDK-For-Python AZURECLI/2.3.1 (MSI) accept-language: - en-US method: GET @@ -1240,16 +1354,16 @@ interactions: response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_notificationhubs000001/providers/Microsoft.NotificationHubs/namespaces/my-test-space","name":"my-test-space","type":"Microsoft.NotificationHubs/namespaces","location":"South - Central US","kind":"NotificationHub","sku":{"name":"Free"},"tags":{},"properties":{"provisioningState":"Succeeded","metricId":null,"status":"Active","createdAt":"2020-01-20T09:28:43.857Z","serviceBusEndpoint":"https://my-test-space.servicebus.windows.net:443/","enabled":true,"critical":false,"updatedAt":"2020-01-20T09:29:09.507Z","namespaceType":"NotificationHub"}}' + Central US","kind":"NotificationHub","sku":{"name":"Free"},"tags":{},"properties":{"provisioningState":"Succeeded","metricId":null,"status":"Active","createdAt":"2020-04-01T14:17:07.507Z","serviceBusEndpoint":"https://my-test-space.servicebus.windows.net:443/","enabled":true,"critical":false,"updatedAt":"2020-04-01T14:17:31.16Z","namespaceType":"NotificationHub"}}' headers: cache-control: - no-cache content-length: - - '668' + - '667' content-type: - application/json; charset=utf-8 date: - - Mon, 20 Jan 2020 09:29:57 GMT + - Wed, 01 Apr 2020 14:18:51 GMT expires: - '-1' pragma: @@ -1284,8 +1398,8 @@ interactions: ParameterSetName: - --resource-group User-Agent: - - python/3.7.3 (Darwin-19.0.0-x86_64-i386-64bit) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-notificationhubs/2.1.0 Azure-SDK-For-Python AZURECLI/2.0.80 + - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-notificationhubs/2.1.0 Azure-SDK-For-Python AZURECLI/2.3.1 (MSI) accept-language: - en-US method: GET @@ -1293,16 +1407,16 @@ interactions: response: body: string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_notificationhubs000001/providers/Microsoft.NotificationHubs/namespaces/my-test-space","name":"my-test-space","type":"Microsoft.NotificationHubs/namespaces","location":"South - Central US","kind":"NotificationHub","sku":{"name":"Free"},"tags":{},"properties":{"provisioningState":"Succeeded","metricId":null,"status":"Active","createdAt":"2020-01-20T09:28:43.857Z","serviceBusEndpoint":"https://my-test-space.servicebus.windows.net:443/","enabled":true,"critical":false,"updatedAt":"2020-01-20T09:29:09.507Z","namespaceType":"NotificationHub"}}],"nextLink":null}' + Central US","kind":"NotificationHub","sku":{"name":"Free"},"tags":{},"properties":{"provisioningState":"Succeeded","metricId":null,"status":"Active","createdAt":"2020-04-01T14:17:07.507Z","serviceBusEndpoint":"https://my-test-space.servicebus.windows.net:443/","enabled":true,"critical":false,"updatedAt":"2020-04-01T14:17:31.16Z","namespaceType":"NotificationHub"}}],"nextLink":null}' headers: cache-control: - no-cache content-length: - - '696' + - '695' content-type: - application/json; charset=utf-8 date: - - Mon, 20 Jan 2020 09:29:58 GMT + - Wed, 01 Apr 2020 14:18:53 GMT expires: - '-1' pragma: @@ -1339,8 +1453,8 @@ interactions: ParameterSetName: - --resource-group --namespace-name --name -y User-Agent: - - python/3.7.3 (Darwin-19.0.0-x86_64-i386-64bit) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-notificationhubs/2.1.0 Azure-SDK-For-Python AZURECLI/2.0.80 + - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-notificationhubs/2.1.0 Azure-SDK-For-Python AZURECLI/2.3.1 (MSI) accept-language: - en-US method: DELETE @@ -1354,7 +1468,7 @@ interactions: content-length: - '0' date: - - Mon, 20 Jan 2020 09:30:04 GMT + - Wed, 01 Apr 2020 14:18:59 GMT expires: - '-1' pragma: @@ -1389,8 +1503,8 @@ interactions: ParameterSetName: - --resource-group --name -y User-Agent: - - python/3.7.3 (Darwin-19.0.0-x86_64-i386-64bit) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-notificationhubs/2.1.0 Azure-SDK-For-Python AZURECLI/2.0.80 + - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-notificationhubs/2.1.0 Azure-SDK-For-Python AZURECLI/2.3.1 (MSI) accept-language: - en-US method: DELETE @@ -1404,7 +1518,7 @@ interactions: content-length: - '0' date: - - Mon, 20 Jan 2020 09:30:08 GMT + - Wed, 01 Apr 2020 14:19:02 GMT expires: - '-1' location: @@ -1421,7 +1535,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-deletes: - - '14998' + - '14999' status: code: 202 message: Accepted @@ -1439,8 +1553,8 @@ interactions: ParameterSetName: - --resource-group --name -y User-Agent: - - python/3.7.3 (Darwin-19.0.0-x86_64-i386-64bit) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-notificationhubs/2.1.0 Azure-SDK-For-Python AZURECLI/2.0.80 + - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-notificationhubs/2.1.0 Azure-SDK-For-Python AZURECLI/2.3.1 (MSI) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.NotificationHubs/operationresults/my-test-space?api-version=2017-04-01 response: @@ -1454,7 +1568,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 20 Jan 2020 09:30:39 GMT + - Wed, 01 Apr 2020 14:19:33 GMT expires: - '-1' pragma: diff --git a/src/notification-hub/azext_notification_hub/tests/latest/test_notificationhubs_scenario.py b/src/notification-hub/azext_notification_hub/tests/latest/test_notificationhubs_scenario.py index ecff1c5ffe5..a8b24df547d 100644 --- a/src/notification-hub/azext_notification_hub/tests/latest/test_notificationhubs_scenario.py +++ b/src/notification-hub/azext_notification_hub/tests/latest/test_notificationhubs_scenario.py @@ -51,8 +51,7 @@ def test_notificationhubs(self, resource_group): '--resource-group {rg} ' '--namespace-name {namespace-name} ' '--name {notification-hub-name} ' - '--location "South Central US" ' - '--sku "Free"', + '--location "South Central US"', checks=[JMESPathCheck('name', self.kwargs.get('notification-hub-name', ''))]) self.cmd('az notification-hub namespace authorization-rule create ' diff --git a/src/notification-hub/setup.cfg b/src/notification-hub/setup.cfg index 3c6e79cf31d..e69de29bb2d 100644 --- a/src/notification-hub/setup.cfg +++ b/src/notification-hub/setup.cfg @@ -1,2 +0,0 @@ -[bdist_wheel] -universal=1 diff --git a/src/notification-hub/setup.py b/src/notification-hub/setup.py index 555ecddf7b7..e6b7c55e5f4 100644 --- a/src/notification-hub/setup.py +++ b/src/notification-hub/setup.py @@ -16,7 +16,7 @@ # TODO: Confirm this is the right version number you want and it matches your # HISTORY.rst entry. -VERSION = '0.1.0' +VERSION = '0.2.0' # The full list of classifiers is available at # https://pypi.python.org/pypi?%3Aaction=list_classifiers @@ -25,10 +25,7 @@ 'Intended Audience :: Developers', 'Intended Audience :: System Administrators', 'Programming Language :: Python', - 'Programming Language :: Python :: 2', - 'Programming Language :: Python :: 2.7', 'Programming Language :: Python :: 3', - 'Programming Language :: Python :: 3.5', 'Programming Language :: Python :: 3.6', 'Programming Language :: Python :: 3.7', 'Programming Language :: Python :: 3.8', diff --git a/src/peering/HISTORY.rst b/src/peering/HISTORY.rst index 96a10d6fc07..abcd90d2e26 100644 --- a/src/peering/HISTORY.rst +++ b/src/peering/HISTORY.rst @@ -3,10 +3,10 @@ Release History =============== -0.1.0rc2 -++++++++ -* Remove the limitation of max compatible cli core version +0.2.0 +++++++ +* Refine. -0.1.0rc1 -++++++++ -* Initial release candidate 1. +0.1.0 +++++++ +* Initial release. diff --git a/src/peering/README.md b/src/peering/README.md new file mode 100644 index 00000000000..4537fac230a --- /dev/null +++ b/src/peering/README.md @@ -0,0 +1,74 @@ +Microsoft Azure CLI 'peering' Extension +========================================== + +This package is for the 'peering' extension. i.e. 'az peering' + +### How to use ### +Install this extension using the below CLI command +``` +az extension add --name peering +``` + +### Included Features ### +Manage peering + + +#### List legacy peerings. + +``` +az peering legacy list --kind "Exchange" --peering-location "peeringLocation0" +``` + +#### List peer ASNs. + +``` +az peering asn list +``` + +#### Create a peer ASN. + +``` +az peering asn create --peer-asn 65000 --peer-contact-detail email="noc@contoso.com" phone="+1 (234) 567-8999" role="Noc" --peer-contact-detail email="abc@contoso.com" phone="+1 (234) 567-8900" role="Policy" --peer-contact-detail email="xyz@contoso.com" phone="+1 (234) 567-8900" role="Technical" --peer-name "Contoso" --peer-asn-name "peerAsnName" +``` + +#### Get a peer ASN. + +``` +az peering asn show --peer-asn-name "peerAsnName" +``` + +#### Delete a peer ASN. + +``` +az peering asn delete --peer-asn-name "peerAsnName" +``` + +#### Create a peering service. + +``` +az peering service create --location "eastus" --peering-service-location "state1" --peering-service-provider "serviceProvider1" --peering-service-name "peeringServiceName" --resource-group "rgName" +``` + +#### Update a peering service. + +``` +az peering service update --peering-service-name "peeringServiceName" --resource-group "rgName" --tags tags={"tag0":"value0","tag1":"value1"} +``` + +#### Get a peering service. + +``` +az peering service show --peering-service-name "peeringServiceName" --resource-group "rgName" +``` + +#### List peering services. + +``` +az peering service list --resource-group "rgName" +``` + +#### Delete a peering service. + +``` +az peering service delete --peering-service-name "peeringServiceName" --resource-group "rgName" +``` \ No newline at end of file diff --git a/src/peering/README.rst b/src/peering/README.rst deleted file mode 100644 index 40cadff5d35..00000000000 --- a/src/peering/README.rst +++ /dev/null @@ -1,5 +0,0 @@ -Microsoft Azure CLI 'peering' Extension -========================================== - -This package is for the 'peering' extension. -i.e. 'az peering' diff --git a/src/peering/azext_peering/__init__.py b/src/peering/azext_peering/__init__.py index 62142f307a3..854e946b3f9 100644 --- a/src/peering/azext_peering/__init__.py +++ b/src/peering/azext_peering/__init__.py @@ -1,32 +1,46 @@ -# -------------------------------------------------------------------------------------------- +# -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# -------------------------------------------------------------------------------------------- +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- from azure.cli.core import AzCommandsLoader +from azext_peering.generated._help import helps # pylint: disable=unused-import -from azext_peering._help import helps # pylint: disable=unused-import - -class PeeringCommandsLoader(AzCommandsLoader): +class PeeringManagementClientCommandsLoader(AzCommandsLoader): def __init__(self, cli_ctx=None): from azure.cli.core.commands import CliCommandType - from azext_peering._client_factory import cf_peering + from azext_peering.generated._client_factory import cf_peering peering_custom = CliCommandType( operations_tmpl='azext_peering.custom#{}', client_factory=cf_peering) - super(PeeringCommandsLoader, self).__init__(cli_ctx=cli_ctx, - custom_command_type=peering_custom) + super(PeeringManagementClientCommandsLoader, self).__init__(cli_ctx=cli_ctx, + custom_command_type=peering_custom) def load_command_table(self, args): - from azext_peering.commands import load_command_table + from azext_peering.generated.commands import load_command_table load_command_table(self, args) + try: + from azext_peering.manual.commands import load_command_table as load_command_table_manual + load_command_table_manual(self, args) + except ImportError: + pass return self.command_table def load_arguments(self, command): - from azext_peering._params import load_arguments + from azext_peering.generated._params import load_arguments load_arguments(self, command) + try: + from azext_peering.manual._params import load_arguments as load_arguments_manual + load_arguments_manual(self, command) + except ImportError: + pass -COMMAND_LOADER_CLS = PeeringCommandsLoader +COMMAND_LOADER_CLS = PeeringManagementClientCommandsLoader diff --git a/src/peering/azext_peering/_client_factory.py b/src/peering/azext_peering/_client_factory.py deleted file mode 100644 index f6e9f1782f7..00000000000 --- a/src/peering/azext_peering/_client_factory.py +++ /dev/null @@ -1,46 +0,0 @@ -# -------------------------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# -------------------------------------------------------------------------------------------- - - -def cf_peering(cli_ctx, *_): - from azure.cli.core.commands.client_factory import get_mgmt_service_client - from .vendored_sdks.peering import PeeringManagementClient - return get_mgmt_service_client(cli_ctx, PeeringManagementClient) - - -def cf_legacy_peerings(cli_ctx, *_): - return cf_peering(cli_ctx).legacy_peerings - - -def cf_operations(cli_ctx, *_): - return cf_peering(cli_ctx).operations - - -def cf_peer_asns(cli_ctx, *_): - return cf_peering(cli_ctx).peer_asns - - -def cf_peering_locations(cli_ctx, *_): - return cf_peering(cli_ctx).peering_locations - - -def cf_peerings(cli_ctx, *_): - return cf_peering(cli_ctx).peerings - - -def cf_peering_service_locations(cli_ctx, *_): - return cf_peering(cli_ctx).peering_service_locations - - -def cf_prefixes(cli_ctx, *_): - return cf_peering(cli_ctx).prefixes - - -def cf_peering_service_providers(cli_ctx, *_): - return cf_peering(cli_ctx).peering_service_providers - - -def cf_peering_services(cli_ctx, *_): - return cf_peering(cli_ctx).peering_services diff --git a/src/peering/azext_peering/_help.py b/src/peering/azext_peering/_help.py deleted file mode 100644 index 6e9b07081ba..00000000000 --- a/src/peering/azext_peering/_help.py +++ /dev/null @@ -1,228 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# -------------------------------------------------------------------------------------------- - -# pylint: disable=too-many-lines -# pylint: disable=line-too-long -from knack.help_files import helps # pylint: disable=unused-import - - -helps['peering legacy'] = """ - type: group - short-summary: Commands to manage legacy peering. -""" - -helps['peering legacy list'] = """ - type: command - short-summary: list legacy peering. -""" - -helps['peering asn'] = """ - type: group - short-summary: Commands to manage peer asn. -""" - -helps['peering asn create'] = """ - type: command - short-summary: Create peer ASN. - examples: - - name: Create a peer ASN - text: |- - az peering asn create --name "MyPeerAsn" --peer-asn "65000" --emails \\ - "abc@contoso.com,xyz@contoso.com" --phone "+1 (234) 567-8900" --peer-name "Contoso" \\ - --validation-state Approved -""" - -helps['peering asn update'] = """ - type: command - short-summary: update peer asn. -""" - -helps['peering asn delete'] = """ - type: command - short-summary: Delete peer ASN. - examples: - - name: Delete a peer ASN - text: |- - az peering asn delete --name "MyPeerAsn" -""" - -helps['peering asn list'] = """ - type: command - short-summary: list peer asn. -""" - -helps['peering asn show'] = """ - type: command - short-summary: show peer asn. -""" - -helps['peering location'] = """ - type: group - short-summary: Commands to manage peering location. -""" - -helps['peering location list'] = """ - type: command - short-summary: list peering location. -""" - -helps['peering'] = """ - type: group - short-summary: Commands to manage peering. -""" - -helps['peering create'] = """ - type: command - short-summary: Create peering. - examples: - - name: Create a direct peering - text: |- - az peering create --resource-group "MyResourceGroup" --name "MyPeering" --sku-name \\ - "Basic_Direct_Free" --kind "Direct" --direct-direct-peering-type "Edge" \\ - --peering-location "peeringLocation0" --location "eastus" \\ - --direct-connections bandwidthInMbps=10000 sessionAddressProvider=Peer \\ - useForPeeringService=false peeringDBFacilityId=99999 sessionPrefixV4=192.168.0.0/31 \\ - sessionPrefixV6=fd00::0/127 maxPrefixesAdvertisedV4=1000 maxPrefixesAdvertisedV6=100 \\ - md5AuthenticationKey=test-md5-auth-key \\ - connectionIdentifier=5F4CB5C7-6B43-4444-9338-9ABC72606C16 \\ - --direct-connections bandwidthInMbps=10000 \\ - sessionAddressProvider=Microsoft useForPeeringService=true peeringDBFacilityId=99999 \\ - connectionIdentifier=8AB00818-D533-4504-A25A-03A17F61201C \\ - --direct-peer-asn /subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Peering/peerAsns/peerAsnName -""" - -helps['peering update'] = """ - type: command - short-summary: update peering. - examples: - - name: Update peering tags - text: |- - az peering update --resource-group "MyResourceGroup" --name "MyPeering" -""" - -helps['peering delete'] = """ - type: command - short-summary: delete peering. - examples: - - name: Delete a peering - text: |- - az peering delete --resource-group "MyResourceGroup" --name "MyPeering" -""" - -helps['peering list'] = """ - type: command - short-summary: list peering. -""" - -helps['peering show'] = """ - type: command - short-summary: show peering. -""" - -helps['peering service location'] = """ - type: group - short-summary: Commands to manage peering service location. -""" - -helps['peering service location list'] = """ - type: command - short-summary: list peering service location. -""" - -helps['peering service prefix'] = """ - type: group - short-summary: Commands to manage prefix. -""" - -helps['peering service prefix create'] = """ - type: command - short-summary: create prefix. - examples: - - name: Create or update a prefix for the peering service - text: |- - az peering service prefix create --resource-group "MyResourceGroup" \\ - --peering-service-name "MyPeeringService" --name "MyPeeringServicePrefix" --prefix \\ - "192.168.1.0/24" -""" - -helps['peering service prefix update'] = """ - type: command - short-summary: update prefix. -""" - -helps['peering service prefix delete'] = """ - type: command - short-summary: delete prefix. - examples: - - name: Delete a prefix associated with the peering service - text: |- - az peering service prefix delete --resource-group "MyResourceGroup" \\ - --peering-service-name "MyPeeringService" --name "MyPeeringServicePrefix" -""" - -helps['peering service prefix list'] = """ - type: command - short-summary: list prefix. -""" - -helps['peering service prefix show'] = """ - type: command - short-summary: show prefix. -""" - -helps['peering service provider'] = """ - type: group - short-summary: Commands to manage peering service provider. -""" - -helps['peering service provider list'] = """ - type: command - short-summary: list peering service provider. -""" - -helps['peering service'] = """ - type: group - short-summary: Commands to manage peering service. -""" - -helps['peering service create'] = """ - type: command - short-summary: create peering service. - examples: - - name: Create a peering service - text: |- - az peering service create --resource-group "MyResourceGroup" --name "MyPeeringService" \\ - --peering-service-location "state1" --peering-service-provider "serviceProvider1" \\ - --location "eastus" -""" - -helps['peering service update'] = """ - type: command - short-summary: update peering service. - examples: - - name: Update peering service tags - text: |- - az peering service update --resource-group "MyResourceGroup" --name "MyPeeringService" -""" - -helps['peering service delete'] = """ - type: command - short-summary: delete peering service. - examples: - - name: Delete a peering service - text: |- - az peering service delete --resource-group "MyResourceGroup" --name "MyPeeringService" -""" - -helps['peering service list'] = """ - type: command - short-summary: list peering service. -""" - -helps['peering service show'] = """ - type: command - short-summary: show peering service. -""" diff --git a/src/peering/azext_peering/_params.py b/src/peering/azext_peering/_params.py deleted file mode 100644 index a8197e54d2a..00000000000 --- a/src/peering/azext_peering/_params.py +++ /dev/null @@ -1,158 +0,0 @@ -# -------------------------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# -------------------------------------------------------------------------------------------- -# pylint: disable=line-too-long -# pylint: disable=too-many-lines -# pylint: disable=too-many-statements - -from azure.cli.core.commands.parameters import ( - tags_type, - get_enum_type, - resource_group_name_type, - get_location_type -) -from azext_peering.action import ( - PeeringAddDirectConnections, - PeeringAddExchangeConnections -) - - -def load_arguments(self, _): - - with self.argument_context('peering legacy list') as c: - c.argument('peering_location', id_part=None, help='The location of the peering.') - c.argument('kind', id_part=None, help='The kind of the peering.') - - with self.argument_context('peering asn create') as c: - c.argument('name', id_part=None, help='The peer ASN name.') - c.argument('peer_asn', id_part=None, help='The Autonomous System Number (ASN) of the peer.') - c.argument('emails', id_part=None, help='The list of email addresses.') - c.argument('phone', id_part=None, help='The list of contact numbers.') - c.argument('peer_name', id_part=None, help='The name of the peer.') - c.argument('validation_state', arg_type=get_enum_type(['None', 'Pending', 'Approved', 'Failed']), id_part=None, help='The validation state of the ASN associated with the peer.') - - with self.argument_context('peering asn update') as c: - c.argument('name', id_part=None, help='The peer ASN name.') - c.argument('peer_asn', id_part=None, help='The Autonomous System Number (ASN) of the peer.') - c.argument('emails', id_part=None, help='The list of email addresses.') - c.argument('phone', id_part=None, help='The list of contact numbers.') - c.argument('peer_name', id_part=None, help='The name of the peer.') - c.argument('validation_state', arg_type=get_enum_type(['None', 'Pending', 'Approved', 'Failed']), id_part=None, help='The validation state of the ASN associated with the peer.') - - with self.argument_context('peering asn delete') as c: - c.argument('name', id_part=None, help='The peer ASN name.') - - with self.argument_context('peering asn list') as c: - pass - - with self.argument_context('peering asn show') as c: - c.argument('name', id_part=None, help='The peer ASN name.') - - with self.argument_context('peering location list') as c: - c.argument('kind', id_part=None, help='The kind of the peering.') - c.argument('direct_peering_type', id_part=None, help='The type of direct peering.') - - with self.argument_context('peering create') as c: - c.argument('resource_group', resource_group_name_type) - c.argument('name', id_part=None, help='The name of the peering.') - c.argument('sku_name', arg_type=get_enum_type(['Basic_Exchange_Free', 'Basic_Direct_Free', 'Premium_Direct_Free', 'Premium_Exchange_Metered', 'Premium_Direct_Metered', 'Premium_Direct_Unlimited']), id_part=None, help='The name of the peering SKU.') - c.argument('sku_tier', arg_type=get_enum_type(['Basic', 'Premium']), id_part=None, help='The tier of the peering SKU.') - c.argument('sku_family', arg_type=get_enum_type(['Direct', 'Exchange']), id_part=None, help='The family of the peering SKU.') - c.argument('sku_size', arg_type=get_enum_type(['Free', 'Metered', 'Unlimited']), id_part=None, help='The size of the peering SKU.') - c.argument('kind', arg_type=get_enum_type(['Direct', 'Exchange']), id_part=None, help='The kind of the peering.') - c.argument('direct_connections', id_part=None, help='The set of connections that constitute a direct peering.', action=PeeringAddDirectConnections, nargs='+') - c.argument('direct_peer_asn', id_part=None, help='The reference of the peer ASN.') - c.argument('direct_direct_peering_type', arg_type=get_enum_type(['Edge', 'Transit', 'Cdn', 'Internal']), id_part=None, help='The type of direct peering.') - c.argument('exchange_connections', id_part=None, help='The set of connections that constitute an exchange peering.', action=PeeringAddExchangeConnections, nargs='+') - c.argument('exchange_peer_asn', id_part=None, help='The reference of the peer ASN.') - c.argument('peering_location', id_part=None, help='The location of the peering.') - c.argument('location', arg_type=get_location_type(self.cli_ctx)) - c.argument('tags', tags_type) - - with self.argument_context('peering update') as c: - c.argument('resource_group', resource_group_name_type) - c.argument('name', id_part=None, help='The name of the peering.') - c.argument('sku_name', arg_type=get_enum_type(['Basic_Exchange_Free', 'Basic_Direct_Free', 'Premium_Direct_Free', 'Premium_Exchange_Metered', 'Premium_Direct_Metered', 'Premium_Direct_Unlimited']), id_part=None, help='The name of the peering SKU.') - c.argument('sku_tier', arg_type=get_enum_type(['Basic', 'Premium']), id_part=None, help='The tier of the peering SKU.') - c.argument('sku_family', arg_type=get_enum_type(['Direct', 'Exchange']), id_part=None, help='The family of the peering SKU.') - c.argument('sku_size', arg_type=get_enum_type(['Free', 'Metered', 'Unlimited']), id_part=None, help='The size of the peering SKU.') - c.argument('kind', arg_type=get_enum_type(['Direct', 'Exchange']), id_part=None, help='The kind of the peering.') - c.argument('direct_connections', id_part=None, help='The set of connections that constitute a direct peering.', action=PeeringAddDirectConnections, nargs='+') - c.argument('direct_peer_asn', id_part=None, help='The reference of the peer ASN.') - c.argument('direct_direct_peering_type', arg_type=get_enum_type(['Edge', 'Transit', 'Cdn', 'Internal']), id_part=None, help='The type of direct peering.') - c.argument('exchange_connections', id_part=None, help='The set of connections that constitute an exchange peering.', action=PeeringAddExchangeConnections, nargs='+') - c.argument('exchange_peer_asn', id_part=None, help='The reference of the peer ASN.') - c.argument('peering_location', id_part=None, help='The location of the peering.') - c.argument('location', arg_type=get_location_type(self.cli_ctx)) - c.argument('tags', tags_type) - - with self.argument_context('peering delete') as c: - c.argument('resource_group', resource_group_name_type) - c.argument('name', id_part=None, help='The name of the peering.') - - with self.argument_context('peering list') as c: - c.argument('resource_group', resource_group_name_type) - - with self.argument_context('peering show') as c: - c.argument('resource_group', resource_group_name_type) - c.argument('name', id_part=None, help='The name of the peering.') - - with self.argument_context('peering service location list') as c: - pass - - with self.argument_context('peering service prefix create') as c: - c.argument('resource_group', resource_group_name_type) - c.argument('peering_service_name', id_part=None, help='The name of the peering service.') - c.argument('name', id_part=None, help='The name of the prefix.') - c.argument('prefix', id_part=None, help='The prefix from which your traffic originates.', required=True) - - with self.argument_context('peering service prefix update') as c: - c.argument('resource_group', resource_group_name_type) - c.argument('peering_service_name', id_part=None, help='The name of the peering service.') - c.argument('name', id_part=None, help='The name of the prefix.') - c.argument('prefix', id_part=None, help='The prefix from which your traffic originates.') - - with self.argument_context('peering service prefix delete') as c: - c.argument('resource_group', resource_group_name_type) - c.argument('peering_service_name', id_part=None, help='The name of the peering service.') - c.argument('name', id_part=None, help='The name of the prefix.') - - with self.argument_context('peering service prefix list') as c: - c.argument('resource_group', resource_group_name_type) - c.argument('peering_service_name', id_part=None, help='The name of the peering service.') - - with self.argument_context('peering service prefix show') as c: - c.argument('resource_group', resource_group_name_type) - c.argument('peering_service_name', id_part=None, help='The name of the peering service.') - c.argument('name', id_part=None, help='The name of the prefix.') - - with self.argument_context('peering service provider list') as c: - pass - - with self.argument_context('peering service create') as c: - c.argument('resource_group', resource_group_name_type) - c.argument('name', id_part=None, help='The name of the peering service.') - c.argument('peering_service_location', id_part=None, help='The PeeringServiceLocation of the Customer.', required=True) - c.argument('peering_service_provider', id_part=None, help='The MAPS Provider Name.', required=True) - c.argument('location', arg_type=get_location_type(self.cli_ctx)) - c.argument('tags', tags_type) - - with self.argument_context('peering service update') as c: - c.argument('resource_group', resource_group_name_type) - c.argument('name', id_part=None, help='The name of the peering service.') - c.argument('peering_service_location', id_part=None, help='The PeeringServiceLocation of the Customer.') - c.argument('peering_service_provider', id_part=None, help='The MAPS Provider Name.') - c.argument('location', arg_type=get_location_type(self.cli_ctx)) - c.argument('tags', tags_type) - - with self.argument_context('peering service delete') as c: - c.argument('resource_group', resource_group_name_type) - c.argument('name', id_part=None, help='The name of the peering service.') - - with self.argument_context('peering service list') as c: - c.argument('resource_group', resource_group_name_type) - - with self.argument_context('peering service show') as c: - c.argument('resource_group', resource_group_name_type) - c.argument('name', id_part=None, help='The name of the peering service.') diff --git a/src/peering/azext_peering/_validators.py b/src/peering/azext_peering/_validators.py deleted file mode 100644 index 01e8fe71d5a..00000000000 --- a/src/peering/azext_peering/_validators.py +++ /dev/null @@ -1,18 +0,0 @@ -# -------------------------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# -------------------------------------------------------------------------------------------- - - -def example_name_or_id_validator(cmd, namespace): - from azure.cli.core.commands.client_factory import get_subscription_id - from msrestazure.tools import is_valid_resource_id, resource_id - if namespace.storage_account: - if not is_valid_resource_id(namespace.RESOURCE): - namespace.storage_account = resource_id( - subscription=get_subscription_id(cmd.cli_ctx), - resource_group=namespace.resource_group_name, - namespace='Microsoft.Storage', - type='storageAccounts', - name=namespace.storage_account - ) diff --git a/src/peering/azext_peering/action.py b/src/peering/azext_peering/action.py index 4515d609e74..d95d53bf711 100644 --- a/src/peering/azext_peering/action.py +++ b/src/peering/azext_peering/action.py @@ -1,87 +1,17 @@ -# -------------------------------------------------------------------------------------------- +# -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# -------------------------------------------------------------------------------------------- +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +# pylint: disable=wildcard-import +# pylint: disable=unused-wildcard-import -import argparse -from knack.util import CLIError - - -# pylint: disable=protected-access -class PeeringAddDirectConnections(argparse._AppendAction): - def __call__(self, parser, namespace, values, option_string=None): - action = self.get_action(values, option_string) - super(PeeringAddDirectConnections, self).__call__(parser, namespace, action, option_string) - - def get_action(self, values, option_string): # pylint: disable=no-self-use - try: - properties = dict(x.split('=', 1) for x in values) - except ValueError: - raise CLIError('usage error: {} [KEY=VALUE ...]'.format(option_string)) - d = {} - for k in properties: - kl = k.lower() - v = properties[k] - if kl == 'bandwidthinmbps': - d['bandwidthInMbps'] = v - elif kl == 'sessionaddressprovider': - d['sessionAddressProvider'] = v - elif kl == 'useforpeeringservice': - d['useForPeeringService'] = v - elif kl == 'peeringdbfacilityid': - d['peeringDBFacilityId'] = v - elif kl == 'sessionprefixv4': - d.setdefault('bgpSession', {})['sessionPrefixV4'] = v - elif kl == 'sessionprefixv6': - d.setdefault('bgpSession', {})['sessionPrefixV6'] = v - elif kl == 'maxprefixesadvertisedv4': - d.setdefault('bgpSession', {})['maxPrefixesAdvertisedV4'] = v - elif kl == 'maxprefixesadvertisedv6': - d.setdefault('bgpSession', {})['maxPrefixesAdvertisedV6'] = v - elif kl == 'md5authenticationkey': - d.setdefault('bgpSession', {})['md5AuthenticationKey'] = v - elif kl == 'connectionidentifier': - d['connectionIdentifier'] = v - else: - raise CLIError('usage error: {} is invalid'.format(k)) - return d - - -# pylint: disable=protected-access -class PeeringAddExchangeConnections(argparse._AppendAction): - def __call__(self, parser, namespace, values, option_string=None): - action = self.get_action(values, option_string) - super(PeeringAddExchangeConnections, self).__call__(parser, namespace, action, option_string) - - def get_action(self, values, option_string): # pylint: disable=no-self-use - try: - properties = dict(x.split('=', 1) for x in values) - except ValueError: - raise CLIError('usage error: {} [KEY=VALUE ...]'.format(option_string)) - d = {} - for k in properties: - kl = k.lower() - v = properties[k] - if kl == 'bandwidthinmbps': - d['bandwidthInMbps'] = v - elif kl == 'sessionaddressprovider': - d['sessionAddressProvider'] = v - elif kl == 'useforpeeringservice': - d['useForPeeringService'] = v - elif kl == 'peeringdbfacilityid': - d['peeringDBFacilityId'] = v - elif kl == 'sessionprefixv4': - d.setdefault('bgpSession', {})['sessionPrefixV4'] = v - elif kl == 'sessionprefixv6': - d.setdefault('bgpSession', {})['sessionPrefixV6'] = v - elif kl == 'maxprefixesadvertisedv4': - d.setdefault('bgpSession', {})['maxPrefixesAdvertisedV4'] = v - elif kl == 'maxprefixesadvertisedv6': - d.setdefault('bgpSession', {})['maxPrefixesAdvertisedV6'] = v - elif kl == 'md5authenticationkey': - d.setdefault('bgpSession', {})['md5AuthenticationKey'] = v - elif kl == 'connectionidentifier': - d['connectionIdentifier'] = v - else: - raise CLIError('usage error: {} is invalid'.format(k)) - return d +from .generated.action import * # noqa: F403 +try: + from .manual.action import * # noqa: F403 +except ImportError: + pass diff --git a/src/peering/azext_peering/azext_metadata.json b/src/peering/azext_peering/azext_metadata.json index 55c81bf3328..13025150393 100644 --- a/src/peering/azext_peering/azext_metadata.json +++ b/src/peering/azext_peering/azext_metadata.json @@ -1,4 +1,4 @@ { - "azext.isPreview": true, - "azext.minCliCoreVersion": "2.0.67" + "azext.isExperimental": true, + "azext.minCliCoreVersion": "2.3.1" } \ No newline at end of file diff --git a/src/peering/azext_peering/commands.py b/src/peering/azext_peering/commands.py deleted file mode 100644 index bf9f26a09df..00000000000 --- a/src/peering/azext_peering/commands.py +++ /dev/null @@ -1,85 +0,0 @@ -# -------------------------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# -------------------------------------------------------------------------------------------- - -# pylint: disable=line-too-long -# pylint: disable=too-many-lines -# pylint: disable=too-many-statements -# pylint: disable=too-many-locals -from azure.cli.core.commands import CliCommandType - - -def load_command_table(self, _): - - from ._client_factory import cf_legacy_peerings - peering_legacy_peerings = CliCommandType( - operations_tmpl='azext_peering.vendored_sdks.peering.operations._legacy_peerings_operations#LegacyPeeringsOperations.{}', - client_factory=cf_legacy_peerings) - with self.command_group('peering legacy', peering_legacy_peerings, client_factory=cf_legacy_peerings) as g: - g.custom_command('list', 'list_peering_legacy') - - from ._client_factory import cf_peer_asns - peering_peer_asns = CliCommandType( - operations_tmpl='azext_peering.vendored_sdks.peering.operations._peer_asns_operations#PeerAsnsOperations.{}', - client_factory=cf_peer_asns) - with self.command_group('peering asn', peering_peer_asns, client_factory=cf_peer_asns) as g: - g.custom_command('create', 'create_peering_asn') - g.custom_command('update', 'update_peering_asn') - g.custom_command('delete', 'delete_peering_asn') - g.custom_command('list', 'list_peering_asn') - g.show_command('show', 'get') - - from ._client_factory import cf_peering_locations - peering_peering_locations = CliCommandType( - operations_tmpl='azext_peering.vendored_sdks.peering.operations._peering_locations_operations#PeeringLocationsOperations.{}', - client_factory=cf_peering_locations) - with self.command_group('peering location', peering_peering_locations, client_factory=cf_peering_locations) as g: - g.custom_command('list', 'list_peering_location') - - from ._client_factory import cf_peerings - peering_peerings = CliCommandType( - operations_tmpl='azext_peering.vendored_sdks.peering.operations._peerings_operations#PeeringsOperations.{}', - client_factory=cf_peerings) - with self.command_group('peering', peering_peerings, client_factory=cf_peerings) as g: - g.custom_command('create', 'create_peering') - g.custom_command('update', 'update_peering') - g.custom_command('delete', 'delete_peering') - g.custom_command('list', 'list_peering') - g.show_command('show', 'get') - - from ._client_factory import cf_peering_service_locations - peering_peering_service_locations = CliCommandType( - operations_tmpl='azext_peering.vendored_sdks.peering.operations._peering_service_locations_operations#PeeringServiceLocationsOperations.{}', - client_factory=cf_peering_service_locations) - with self.command_group('peering service location', peering_peering_service_locations, client_factory=cf_peering_service_locations) as g: - g.custom_command('list', 'list_peering_service_location') - - from ._client_factory import cf_prefixes - peering_prefixes = CliCommandType( - operations_tmpl='azext_peering.vendored_sdks.peering.operations._prefixes_operations#PrefixesOperations.{}', - client_factory=cf_prefixes) - with self.command_group('peering service prefix', peering_prefixes, client_factory=cf_prefixes) as g: - g.custom_command('create', 'create_peering_service_prefix') - g.custom_command('update', 'update_peering_service_prefix') - g.custom_command('delete', 'delete_peering_service_prefix') - g.custom_command('list', 'list_peering_service_prefix') - g.show_command('show', 'get') - - from ._client_factory import cf_peering_service_providers - peering_peering_service_providers = CliCommandType( - operations_tmpl='azext_peering.vendored_sdks.peering.operations._peering_service_providers_operations#PeeringServiceProvidersOperations.{}', - client_factory=cf_peering_service_providers) - with self.command_group('peering service provider', peering_peering_service_providers, client_factory=cf_peering_service_providers) as g: - g.custom_command('list', 'list_peering_service_provider') - - from ._client_factory import cf_peering_services - peering_peering_services = CliCommandType( - operations_tmpl='azext_peering.vendored_sdks.peering.operations._peering_services_operations#PeeringServicesOperations.{}', - client_factory=cf_peering_services) - with self.command_group('peering service', peering_peering_services, client_factory=cf_peering_services) as g: - g.custom_command('create', 'create_peering_service') - g.custom_command('update', 'update_peering_service') - g.custom_command('delete', 'delete_peering_service') - g.custom_command('list', 'list_peering_service') - g.show_command('show', 'get') diff --git a/src/peering/azext_peering/custom.py b/src/peering/azext_peering/custom.py index 5439f19ce89..dbe9d5f9742 100644 --- a/src/peering/azext_peering/custom.py +++ b/src/peering/azext_peering/custom.py @@ -1,223 +1,17 @@ -# -------------------------------------------------------------------------------------------- +# -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# -------------------------------------------------------------------------------------------- -# pylint: disable=line-too-long -# pylint: disable=too-many-statements -# pylint: disable=too-many-lines -# pylint: disable=too-many-locals -# pylint: disable=unused-argument - -import json - - -def list_peering_legacy(cmd, client, - peering_location=None, - kind=None): - return client.list(peering_location=peering_location, kind=kind) - - -def create_peering_asn(cmd, client, - name, - peer_asn=None, - emails=None, - phone=None, - peer_name=None, - validation_state=None): - body = {} - body['peer_asn'] = peer_asn # number - body.setdefault('peer_contact_info', {})['emails'] = None if emails is None else emails.split(',') - body.setdefault('peer_contact_info', {})['phone'] = None if phone is None else phone.split(',') - body['peer_name'] = peer_name # str - body['validation_state'] = validation_state # str - return client.create_or_update(peer_asn_name=name, peer_asn=body) - - -def update_peering_asn(cmd, client, - name, - peer_asn=None, - emails=None, - phone=None, - peer_name=None, - validation_state=None): - body = client.get(peer_asn_name=name).as_dict() - body.peer_asn = peer_asn # number - body.peer_contact_info.emails = None if emails is None else emails.split(',') - body.peer_contact_info.phone = None if phone is None else phone.split(',') - body.peer_name = peer_name # str - body.validation_state = validation_state # str - return client.create_or_update(peer_asn_name=name, peer_asn=body) - - -def delete_peering_asn(cmd, client, - name): - return client.delete(peer_asn_name=name) - - -def list_peering_asn(cmd, client): - return client.list_by_subscription() - - -def list_peering_location(cmd, client, - kind=None, - direct_peering_type=None): - return client.list(kind=kind, direct_peering_type=direct_peering_type) - - -def create_peering(cmd, client, - resource_group, - name, - kind, - location, - sku_name=None, - sku_tier=None, - sku_family=None, - sku_size=None, - direct_connections=None, - direct_peer_asn=None, - direct_direct_peering_type=None, - exchange_connections=None, - exchange_peer_asn=None, - peering_location=None, - tags=None): - body = {} - body.setdefault('sku', {})['name'] = sku_name # str - body.setdefault('sku', {})['tier'] = sku_tier # str - body.setdefault('sku', {})['family'] = sku_family # str - body.setdefault('sku', {})['size'] = sku_size # str - body['kind'] = kind # str - body.setdefault('direct', {})['connections'] = json.loads(direct_connections) if isinstance(direct_connections, str) else direct_connections - body.setdefault('direct', {}).setdefault('peer_asn', {})['id'] = direct_peer_asn - body.setdefault('direct', {})['direct_peering_type'] = direct_direct_peering_type # str - # body.setdefault('exchange', {})['connections'] = json.loads(exchange_connections) if isinstance(exchange_connections, str) else exchange_connections - # body.setdefault('exchange', {}).setdefault('peer_asn', {})['id'] = exchange_peer_asn - body['peering_location'] = peering_location # str - body['location'] = location # str - body['tags'] = tags # dictionary - return client.create_or_update(resource_group_name=resource_group, peering_name=name, peering=body) - - -def update_peering(cmd, client, - resource_group, - name, - sku_name=None, - sku_tier=None, - sku_family=None, - sku_size=None, - kind=None, - direct_connections=None, - direct_peer_asn=None, - direct_direct_peering_type=None, - exchange_connections=None, - exchange_peer_asn=None, - peering_location=None, - location=None, - tags=None): - body = client.get(resource_group_name=resource_group, peering_name=name).as_dict() - body.sku.name = sku_name # str - body.sku.tier = sku_tier # str - body.sku.family = sku_family # str - body.sku.size = sku_size # str - body.kind = kind # str - body.direct.connections = json.loads(direct_connections) if isinstance(direct_connections, str) else direct_connections - body.direct.peer_asn = direct_peer_asn - body.direct.direct_peering_type = direct_direct_peering_type # str - body.exchange.connections = json.loads(exchange_connections) if isinstance(exchange_connections, str) else exchange_connections - body.exchange.peer_asn = exchange_peer_asn - body.peering_location = peering_location # str - body.location = location # str - body.tags = tags # dictionary - return client.create_or_update(resource_group_name=resource_group, peering_name=name, peering=body) - - -def delete_peering(cmd, client, - resource_group, - name): - return client.delete(resource_group_name=resource_group, peering_name=name) - - -def list_peering(cmd, client, - resource_group): - if resource_group is not None: - return client.list_by_resource_group(resource_group_name=resource_group) - return client.list_by_subscription() - - -def list_peering_service_location(cmd, client): - return client.list() - - -def create_peering_service_prefix(cmd, client, - resource_group, - peering_service_name, - name, - prefix=None): - return client.create_or_update(resource_group_name=resource_group, peering_service_name=peering_service_name, prefix_name=name, prefix=prefix) - - -def update_peering_service_prefix(cmd, client, - resource_group, - peering_service_name, - name, - prefix=None): - return client.create_or_update(resource_group_name=resource_group, peering_service_name=peering_service_name, prefix_name=name, prefix=prefix) - - -def delete_peering_service_prefix(cmd, client, - resource_group, - peering_service_name, - name): - return client.delete(resource_group_name=resource_group, peering_service_name=peering_service_name, prefix_name=name) - - -def list_peering_service_prefix(cmd, client, - resource_group, - peering_service_name): - return client.list_by_peering_service(resource_group_name=resource_group, peering_service_name=peering_service_name) - - -def list_peering_service_provider(cmd, client): - return client.list() - - -def create_peering_service(cmd, client, - resource_group, - name, - location, - peering_service_location=None, - peering_service_provider=None, - tags=None): - body = {} - body['peering_service_location'] = peering_service_location # str - body['peering_service_provider'] = peering_service_provider # str - body['location'] = location # str - body['tags'] = tags # dictionary - return client.create_or_update(resource_group_name=resource_group, peering_service_name=name, peering_service=body) - - -def update_peering_service(cmd, client, - resource_group, - name, - peering_service_location=None, - peering_service_provider=None, - location=None, - tags=None): - body = client.get(resource_group_name=resource_group, peering_service_name=name).as_dict() - body.peering_service_location = peering_service_location # str - body.peering_service_provider = peering_service_provider # str - body.location = location # str - body.tags = tags # dictionary - return client.create_or_update(resource_group_name=resource_group, peering_service_name=name, peering_service=body) - - -def delete_peering_service(cmd, client, - resource_group, - name): - return client.delete(resource_group_name=resource_group, peering_service_name=name) - - -def list_peering_service(cmd, client, - resource_group): - if resource_group is not None: - return client.list_by_resource_group(resource_group_name=resource_group) - return client.list_by_subscription() +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +# pylint: disable=wildcard-import +# pylint: disable=unused-wildcard-import + +from .generated.custom import * # noqa: F403 +try: + from .manual.custom import * # noqa: F403 +except ImportError: + pass diff --git a/src/peering/azext_peering/generated/__init__.py b/src/peering/azext_peering/generated/__init__.py new file mode 100644 index 00000000000..c9cfdc73e77 --- /dev/null +++ b/src/peering/azext_peering/generated/__init__.py @@ -0,0 +1,12 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +__path__ = __import__('pkgutil').extend_path(__path__, __name__) diff --git a/src/peering/azext_peering/generated/_client_factory.py b/src/peering/azext_peering/generated/_client_factory.py new file mode 100644 index 00000000000..1c9fc1865bf --- /dev/null +++ b/src/peering/azext_peering/generated/_client_factory.py @@ -0,0 +1,63 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + + +def cf_peering_base(cli_ctx, *_): + from azure.cli.core.commands.client_factory import get_mgmt_service_client + from ..vendored_sdks.peering import PeeringManagementClient + return get_mgmt_service_client(cli_ctx, PeeringManagementClient) + + +def cf_legacy_peering(cli_ctx, *_): + return cf_peering_base(cli_ctx).legacy_peering + + +def cf_peer_asn(cli_ctx, *_): + return cf_peering_base(cli_ctx).peer_asn + + +def cf_peering_location(cli_ctx, *_): + return cf_peering_base(cli_ctx).peering_location + + +def cf_registered_asn(cli_ctx, *_): + return cf_peering_base(cli_ctx).registered_asn + + +def cf_registered_prefix(cli_ctx, *_): + return cf_peering_base(cli_ctx).registered_prefix + + +def cf_peering(cli_ctx, *_): + return cf_peering_base(cli_ctx).peering + + +def cf_received_route(cli_ctx, *_): + return cf_peering_base(cli_ctx).received_route + + +def cf_peering_service_country(cli_ctx, *_): + return cf_peering_base(cli_ctx).peering_service_country + + +def cf_peering_service_location(cli_ctx, *_): + return cf_peering_base(cli_ctx).peering_service_location + + +def cf_prefix(cli_ctx, *_): + return cf_peering_base(cli_ctx).prefix + + +def cf_peering_service_provider(cli_ctx, *_): + return cf_peering_base(cli_ctx).peering_service_provider + + +def cf_peering_service(cli_ctx, *_): + return cf_peering_base(cli_ctx).peering_service diff --git a/src/peering/azext_peering/generated/_help.py b/src/peering/azext_peering/generated/_help.py new file mode 100644 index 00000000000..84297c6c883 --- /dev/null +++ b/src/peering/azext_peering/generated/_help.py @@ -0,0 +1,465 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +# pylint: disable=too-many-lines + +from knack.help_files import helps + + +helps['peering'] = """ + type: group + short-summary: Manage peering +""" + +helps['peering legacy'] = """ + type: group + short-summary: peering legacy +""" + +helps['peering legacy list'] = """ + type: command + short-summary: Lists all of the legacy peerings under the given subscription matching the specified kind and locati\ +on. + examples: + - name: List legacy peerings + text: |- + az peering legacy list --kind "Exchange" --peering-location "peeringLocation0" +""" + +helps['peering asn'] = """ + type: group + short-summary: peering asn +""" + +helps['peering asn list'] = """ + type: command + short-summary: Lists all of the peer ASNs under the given subscription. + examples: + - name: List peer ASNs in a subscription + text: |- + az peering asn list +""" + +helps['peering asn show'] = """ + type: command + short-summary: Gets the peer ASN with the specified name under the given subscription. + examples: + - name: Get a peer ASN + text: |- + az peering asn show --peer-asn-name "peerAsnName" +""" + +helps['peering asn create'] = """ + type: command + short-summary: Creates a new peer ASN or updates an existing peer ASN with the specified name under the given subsc\ +ription. + examples: + - name: Create a peer ASN + text: |- + az peering asn create --peer-asn 65000 --peer-contact-detail email="noc@contoso.com" phone="+1 (234) 567\ +-8999" role="Noc" --peer-contact-detail email="abc@contoso.com" phone="+1 (234) 567-8900" role="Policy" --peer-contact-\ +detail email="xyz@contoso.com" phone="+1 (234) 567-8900" role="Technical" --peer-name "Contoso" --peer-asn-name "peerAs\ +nName" +""" + +helps['peering asn delete'] = """ + type: command + short-summary: Deletes an existing peer ASN with the specified name under the given subscription. + examples: + - name: Delete a peer ASN + text: |- + az peering asn delete --peer-asn-name "peerAsnName" +""" + +helps['peering location'] = """ + type: group + short-summary: peering location +""" + +helps['peering location list'] = """ + type: command + short-summary: Lists all of the available peering locations for the specified kind of peering. + examples: + - name: List direct peering locations + text: |- + az peering location list --kind "Direct" + - name: List exchange peering locations + text: |- + az peering location list --kind "Exchange" +""" + +helps['peering registered-asn'] = """ + type: group + short-summary: peering registered-asn +""" + +helps['peering registered-asn list'] = """ + type: command + short-summary: Lists all registered ASNs under the given subscription, resource group and peering. + examples: + - name: List all the registered ASNs associated with the peering + text: |- + az peering registered-asn list --peering-name "peeringName" --resource-group "rgName" +""" + +helps['peering registered-asn show'] = """ + type: command + short-summary: Gets an existing registered ASN with the specified name under the given subscription, resource group\ + and peering. + examples: + - name: Get a registered ASN associated with the peering + text: |- + az peering registered-asn show --peering-name "peeringName" --registered-asn-name "registeredAsnName0" -\ +-resource-group "rgName" +""" + +helps['peering registered-asn create'] = """ + type: command + short-summary: Creates a new registered ASN with the specified name under the given subscription, resource group an\ +d peering. + examples: + - name: Create or update a registered ASN for the peering + text: |- + az peering registered-asn create --peering-name "peeringName" --asn 65000 --registered-asn-name "registe\ +redAsnName" --resource-group "rgName" +""" + +helps['peering registered-asn update'] = """ + type: command + short-summary: Creates a new registered ASN with the specified name under the given subscription, resource group an\ +d peering. + examples: + - name: Create or update a registered ASN for the peering + text: |- + az peering registered-asn update --peering-name "peeringName" --asn 65000 --registered-asn-name "registe\ +redAsnName" --resource-group "rgName" +""" + +helps['peering registered-asn delete'] = """ + type: command + short-summary: Deletes an existing registered ASN with the specified name under the given subscription, resource gr\ +oup and peering. + examples: + - name: Deletes a registered ASN associated with the peering + text: |- + az peering registered-asn delete --peering-name "peeringName" --registered-asn-name "registeredAsnName" \ +--resource-group "rgName" +""" + +helps['peering registered-prefix'] = """ + type: group + short-summary: peering registered-prefix +""" + +helps['peering registered-prefix list'] = """ + type: command + short-summary: Lists all registered prefixes under the given subscription, resource group and peering. + examples: + - name: List all the registered prefixes associated with the peering + text: |- + az peering registered-prefix list --peering-name "peeringName" --resource-group "rgName" +""" + +helps['peering registered-prefix show'] = """ + type: command + short-summary: Gets an existing registered prefix with the specified name under the given subscription, resource gr\ +oup and peering. + examples: + - name: Get a registered prefix associated with the peering + text: |- + az peering registered-prefix show --peering-name "peeringName" --registered-prefix-name "registeredPrefi\ +xName" --resource-group "rgName" +""" + +helps['peering registered-prefix create'] = """ + type: command + short-summary: Creates a new registered prefix with the specified name under the given subscription, resource group\ + and peering. + examples: + - name: Create or update a registered prefix for the peering + text: |- + az peering registered-prefix create --peering-name "peeringName" --prefix "10.22.20.0/24" --registered-p\ +refix-name "registeredPrefixName" --resource-group "rgName" +""" + +helps['peering registered-prefix update'] = """ + type: command + short-summary: Creates a new registered prefix with the specified name under the given subscription, resource group\ + and peering. + examples: + - name: Create or update a registered prefix for the peering + text: |- + az peering registered-prefix update --peering-name "peeringName" --prefix "10.22.20.0/24" --registered-p\ +refix-name "registeredPrefixName" --resource-group "rgName" +""" + +helps['peering registered-prefix delete'] = """ + type: command + short-summary: Deletes an existing registered prefix with the specified name under the given subscription, resource\ + group and peering. + examples: + - name: Deletes a registered prefix associated with the peering + text: |- + az peering registered-prefix delete --peering-name "peeringName" --registered-prefix-name "registeredPre\ +fixName" --resource-group "rgName" +""" + +helps['peering peering'] = """ + type: group + short-summary: peering peering +""" + +helps['peering peering list'] = """ + type: command + short-summary: Lists all of the peerings under the given subscription. + examples: + - name: List peerings in a resource group + text: |- + az peering peering list --resource-group "rgName" +""" + +helps['peering peering show'] = """ + type: command + short-summary: Gets an existing peering with the specified name under the given subscription and resource group. + examples: + - name: Get a peering + text: |- + az peering peering show --peering-name "peeringName" --resource-group "rgName" +""" + +helps['peering peering create'] = """ + type: command + short-summary: Creates a new peering or updates an existing peering with the specified name under the given subscri\ +ption and resource group. + examples: + - name: Create a direct peering + text: |- + az peering peering create --kind "Direct" --location "eastus" --direct "{\\"connections\\":[{\\"bandwidt\ +hInMbps\\":10000,\\"bgpSession\\":{\\"maxPrefixesAdvertisedV4\\":1000,\\"maxPrefixesAdvertisedV6\\":100,\\"md5Authentic\ +ationKey\\":\\"test-md5-auth-key\\",\\"sessionPrefixV4\\":\\"192.168.0.0/31\\",\\"sessionPrefixV6\\":\\"fd00::0/127\\"}\ +,\\"connectionIdentifier\\":\\"5F4CB5C7-6B43-4444-9338-9ABC72606C16\\",\\"peeringDBFacilityId\\":99999,\\"sessionAddres\ +sProvider\\":\\"Peer\\",\\"useForPeeringService\\":false},{\\"bandwidthInMbps\\":10000,\\"connectionIdentifier\\":\\"8A\ +B00818-D533-4504-A25A-03A17F61201C\\",\\"peeringDBFacilityId\\":99999,\\"sessionAddressProvider\\":\\"Microsoft\\",\\"u\ +seForPeeringService\\":true}],\\"directPeeringType\\":\\"Edge\\",\\"peerAsn\\":{\\"id\\":\\"/subscriptions/subId/provid\ +ers/Microsoft.Peering/peerAsns/myAsn1\\"}}" --peering-location "peeringLocation0" --sku name="Basic_Direct_Free" --peer\ +ing-name "peeringName" --resource-group "rgName" + - name: Create a peering with exchange route server + text: |- + az peering peering create --kind "Direct" --location "eastus" --direct "{\\"connections\\":[{\\"bandwidt\ +hInMbps\\":10000,\\"bgpSession\\":{\\"maxPrefixesAdvertisedV4\\":1000,\\"maxPrefixesAdvertisedV6\\":100,\\"microsoftSes\ +sionIPv4Address\\":\\"192.168.0.123\\",\\"peerSessionIPv4Address\\":\\"192.168.0.234\\",\\"sessionPrefixV4\\":\\"192.16\ +8.0.0/24\\"},\\"connectionIdentifier\\":\\"5F4CB5C7-6B43-4444-9338-9ABC72606C16\\",\\"peeringDBFacilityId\\":99999,\\"s\ +essionAddressProvider\\":\\"Peer\\",\\"useForPeeringService\\":true}],\\"directPeeringType\\":\\"IxRs\\",\\"peerAsn\\":\ +{\\"id\\":\\"/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1\\"}}" --peering-location "peeringLocation\ +0" --sku name="Premium_Direct_Free" --peering-name "peeringName" --resource-group "rgName" + - name: Create an exchange peering + text: |- + az peering peering create --kind "Exchange" --location "eastus" --exchange "{\\"connections\\":[{\\"bgpS\ +ession\\":{\\"maxPrefixesAdvertisedV4\\":1000,\\"maxPrefixesAdvertisedV6\\":100,\\"md5AuthenticationKey\\":\\"test-md5-\ +auth-key\\",\\"peerSessionIPv4Address\\":\\"192.168.2.1\\",\\"peerSessionIPv6Address\\":\\"fd00::1\\"},\\"connectionIde\ +ntifier\\":\\"CE495334-0E94-4E51-8164-8116D6CD284D\\",\\"peeringDBFacilityId\\":99999},{\\"bgpSession\\":{\\"maxPrefixe\ +sAdvertisedV4\\":1000,\\"maxPrefixesAdvertisedV6\\":100,\\"md5AuthenticationKey\\":\\"test-md5-auth-key\\",\\"peerSessi\ +onIPv4Address\\":\\"192.168.2.2\\",\\"peerSessionIPv6Address\\":\\"fd00::2\\"},\\"connectionIdentifier\\":\\"CDD8E673-C\ +B07-47E6-84DE-3739F778762B\\",\\"peeringDBFacilityId\\":99999}],\\"peerAsn\\":{\\"id\\":\\"/subscriptions/subId/provide\ +rs/Microsoft.Peering/peerAsns/myAsn1\\"}}" --peering-location "peeringLocation0" --sku name="Basic_Exchange_Free" --pee\ +ring-name "peeringName" --resource-group "rgName" +""" + +helps['peering peering update'] = """ + type: command + short-summary: Updates tags for a peering with the specified name under the given subscription and resource group. + examples: + - name: Update peering tags + text: |- + az peering peering update --peering-name "peeringName" --resource-group "rgName" --tags tags={"tag0":"va\ +lue0","tag1":"value1"} +""" + +helps['peering peering delete'] = """ + type: command + short-summary: Deletes an existing peering with the specified name under the given subscription and resource group. + examples: + - name: Delete a peering + text: |- + az peering peering delete --peering-name "peeringName" --resource-group "rgName" +""" + +helps['peering received-route'] = """ + type: group + short-summary: peering received-route +""" + +helps['peering received-route list'] = """ + type: command + short-summary: Lists the prefixes received over the specified peering under the given subscription and resource gro\ +up. + examples: + - name: Lists the prefixes received over the specified peering under the given subscription and resource group. + text: |- + az peering received-route list --as-path "123 456" --origin-as-validation-state "Valid" --peering-name "\ +peeringName" --prefix "1.1.1.0/24" --resource-group "rgName" --rpki-validation-state "Valid" +""" + +helps['peering service country'] = """ + type: group + short-summary: peering service country +""" + +helps['peering service country list'] = """ + type: command + short-summary: Lists all of the available countries for peering service. + examples: + - name: List peering service countries + text: |- + az peering service country list +""" + +helps['peering service location'] = """ + type: group + short-summary: peering service location +""" + +helps['peering service location list'] = """ + type: command + short-summary: Lists all of the available locations for peering service. + examples: + - name: List peering service locations + text: |- + az peering service location list +""" + +helps['peering service prefix'] = """ + type: group + short-summary: peering service prefix +""" + +helps['peering service prefix list'] = """ + type: command + short-summary: Lists all prefixes under the given subscription, resource group and peering service. + examples: + - name: List all the prefixes associated with the peering service + text: |- + az peering service prefix list --peering-service-name "peeringServiceName" --resource-group "rgName" +""" + +helps['peering service prefix show'] = """ + type: command + short-summary: Gets an existing prefix with the specified name under the given subscription, resource group and pee\ +ring service. + examples: + - name: Get a prefix associated with the peering service + text: |- + az peering service prefix show --peering-service-name "peeringServiceName" --prefix-name "peeringService\ +PrefixName" --resource-group "rgName" +""" + +helps['peering service prefix create'] = """ + type: command + short-summary: Creates a new prefix with the specified name under the given subscription, resource group and peerin\ +g service. + examples: + - name: Create or update a prefix for the peering service + text: |- + az peering service prefix create --peering-service-name "peeringServiceName" --peering-service-prefix-ke\ +y "00000000-0000-0000-0000-000000000000" --prefix "192.168.1.0/24" --prefix-name "peeringServicePrefixName" --resource-\ +group "rgName" +""" + +helps['peering service prefix update'] = """ + type: command + short-summary: Creates a new prefix with the specified name under the given subscription, resource group and peerin\ +g service. + examples: + - name: Create or update a prefix for the peering service + text: |- + az peering service prefix update --peering-service-name "peeringServiceName" --peering-service-prefix-ke\ +y "00000000-0000-0000-0000-000000000000" --prefix "192.168.1.0/24" --prefix-name "peeringServicePrefixName" --resource-\ +group "rgName" +""" + +helps['peering service prefix delete'] = """ + type: command + short-summary: Deletes an existing prefix with the specified name under the given subscription, resource group and \ +peering service. + examples: + - name: Delete a prefix associated with the peering service + text: |- + az peering service prefix delete --peering-service-name "peeringServiceName" --prefix-name "peeringServi\ +cePrefixName" --resource-group "rgName" +""" + +helps['peering service provider'] = """ + type: group + short-summary: peering service provider +""" + +helps['peering service provider list'] = """ + type: command + short-summary: Lists all of the available peering service locations for the specified kind of peering. + examples: + - name: List peering service providers + text: |- + az peering service provider list +""" + +helps['peering service'] = """ + type: group + short-summary: peering service +""" + +helps['peering service list'] = """ + type: command + short-summary: Lists all of the peerings under the given subscription. + examples: + - name: List peering services in a resource group + text: |- + az peering service list --resource-group "rgName" +""" + +helps['peering service show'] = """ + type: command + short-summary: Gets an existing peering service with the specified name under the given subscription and resource g\ +roup. + examples: + - name: Get a peering service + text: |- + az peering service show --peering-service-name "peeringServiceName" --resource-group "rgName" +""" + +helps['peering service create'] = """ + type: command + short-summary: Creates a new peering service or updates an existing peering with the specified name under the given\ + subscription and resource group. + examples: + - name: Create a peering service + text: |- + az peering service create --location "eastus" --peering-service-location "state1" --peering-service-prov\ +ider "serviceProvider1" --peering-service-name "peeringServiceName" --resource-group "rgName" +""" + +helps['peering service update'] = """ + type: command + short-summary: Updates tags for a peering service with the specified name under the given subscription and resource\ + group. + examples: + - name: Update peering service tags + text: |- + az peering service update --peering-service-name "peeringServiceName" --resource-group "rgName" --tags t\ +ags={"tag0":"value0","tag1":"value1"} +""" + +helps['peering service delete'] = """ + type: command + short-summary: Deletes an existing peering service with the specified name under the given subscription and resourc\ +e group. + examples: + - name: Delete a peering service + text: |- + az peering service delete --peering-service-name "peeringServiceName" --resource-group "rgName" +""" diff --git a/src/peering/azext_peering/generated/_params.py b/src/peering/azext_peering/generated/_params.py new file mode 100644 index 00000000000..0c8d05a3587 --- /dev/null +++ b/src/peering/azext_peering/generated/_params.py @@ -0,0 +1,230 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +# pylint: disable=too-many-lines +# pylint: disable=too-many-statements + +from knack.arguments import CLIArgumentType +from azure.cli.core.commands.parameters import ( + tags_type, + get_enum_type, + resource_group_name_type, + get_location_type +) +from azure.cli.core.commands.validators import get_default_location_from_resource_group +from azext_peering.action import ( + AddPeerContactDetail, + AddPeeringsSku, + AddPeeringservicesSku +) + + +def load_arguments(self, _): + + with self.argument_context('peering legacy list') as c: + c.argument('peering_location', help='The location of the peering.') + c.argument('kind', arg_type=get_enum_type(['Direct', 'Exchange']), help='The kind of the peering.') + c.argument('asn', help='The ASN number associated with a legacy peering.') + + with self.argument_context('peering asn list') as c: + pass + + with self.argument_context('peering asn show') as c: + c.argument('peer_asn_name', help='The peer ASN name.') + + with self.argument_context('peering asn create') as c: + c.argument('peer_asn_name', help='The peer ASN name.') + c.argument('peer_asn', help='The Autonomous System Number (ASN) of the peer.') + c.argument('peer_contact_detail', action=AddPeerContactDetail, nargs='+', help='The contact details of the peer' + '. Expect value: KEY1=VALUE1 KEY2=VALUE2 ... , available KEYs are: role, email, phone.') + c.argument('peer_name', help='The name of the peer.') + c.argument('validation_state', arg_type=get_enum_type(['None', 'Pending', 'Approved', 'Failed']), help='The val' + 'idation state of the ASN associated with the peer.') + + with self.argument_context('peering asn update') as c: + c.argument('peer_asn_name', help='The peer ASN name.') + c.argument('peer_asn', help='The Autonomous System Number (ASN) of the peer.') + c.argument('peer_contact_detail', action=AddPeerContactDetail, nargs='+', help='The contact details of the peer' + '. Expect value: KEY1=VALUE1 KEY2=VALUE2 ... , available KEYs are: role, email, phone.') + c.argument('peer_name', help='The name of the peer.') + c.argument('validation_state', arg_type=get_enum_type(['None', 'Pending', 'Approved', 'Failed']), help='The val' + 'idation state of the ASN associated with the peer.') + + with self.argument_context('peering asn delete') as c: + c.argument('peer_asn_name', help='The peer ASN name.') + + with self.argument_context('peering location list') as c: + c.argument('kind', arg_type=get_enum_type(['Direct', 'Exchange']), help='The kind of the peering.') + c.argument('direct_peering_type', arg_type=get_enum_type(['Edge', 'Transit', 'Cdn', 'Internal', 'Ix', 'IxRs']), + help='The type of direct peering.') + + with self.argument_context('peering registered-asn list') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('peering_name', help='The name of the peering.') + + with self.argument_context('peering registered-asn show') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('peering_name', help='The name of the peering.') + c.argument('registered_asn_name', help='The name of the registered ASN.') + + with self.argument_context('peering registered-asn create') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('peering_name', help='The name of the peering.') + c.argument('registered_asn_name', help='The name of the ASN.') + c.argument('asn', help='The customer\'s ASN from which traffic originates.') + + with self.argument_context('peering registered-asn update') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('peering_name', help='The name of the peering.') + c.argument('registered_asn_name', help='The name of the ASN.') + c.argument('asn', help='The customer\'s ASN from which traffic originates.') + + with self.argument_context('peering registered-asn delete') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('peering_name', help='The name of the peering.') + c.argument('registered_asn_name', help='The name of the registered ASN.') + + with self.argument_context('peering registered-prefix list') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('peering_name', help='The name of the peering.') + + with self.argument_context('peering registered-prefix show') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('peering_name', help='The name of the peering.') + c.argument('registered_prefix_name', help='The name of the registered prefix.') + + with self.argument_context('peering registered-prefix create') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('peering_name', help='The name of the peering.') + c.argument('registered_prefix_name', help='The name of the registered prefix.') + c.argument('prefix', help='The customer\'s prefix from which traffic originates.') + + with self.argument_context('peering registered-prefix update') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('peering_name', help='The name of the peering.') + c.argument('registered_prefix_name', help='The name of the registered prefix.') + c.argument('prefix', help='The customer\'s prefix from which traffic originates.') + + with self.argument_context('peering registered-prefix delete') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('peering_name', help='The name of the peering.') + c.argument('registered_prefix_name', help='The name of the registered prefix.') + + with self.argument_context('peering peering list') as c: + c.argument('resource_group_name', resource_group_name_type) + + with self.argument_context('peering peering show') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('peering_name', help='The name of the peering.') + + with self.argument_context('peering peering create') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('peering_name', help='The name of the peering.') + c.argument('sku', action=AddPeeringsSku, nargs='+', help='The SKU that defines the tier and kind of the peering' + '. Expect value: KEY1=VALUE1 KEY2=VALUE2 ... , available KEYs are: name, tier, family, size.') + c.argument('kind', arg_type=get_enum_type(['Direct', 'Exchange']), help='The kind of the peering.') + c.argument('location', arg_type=get_location_type(self.cli_ctx), + validator=get_default_location_from_resource_group) + c.argument('tags', tags_type) + c.argument('direct', arg_type=CLIArgumentType(options_list=['--direct'], help='The properties that define a ' + 'direct peering. Expected ' + 'value: ' + 'json-string/@json-file.')) + c.argument('exchange', arg_type=CLIArgumentType(options_list=['--exchange'], help='The properties that define ' + 'an exchange peering. ' + 'Expected value: ' + 'json-string/@json-file.')) + c.argument('peering_location', help='The location of the peering.') + + with self.argument_context('peering peering update') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('peering_name', help='The name of the peering.') + c.argument('tags', tags_type) + + with self.argument_context('peering peering delete') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('peering_name', help='The name of the peering.') + + with self.argument_context('peering received-route list') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('peering_name', help='The name of the peering.') + c.argument('prefix', help='The optional prefix that can be used to filter the routes.') + c.argument('as_path', help='The optional AS path that can be used to filter the routes.') + c.argument('origin_as_validation_state', help='The optional origin AS validation state that can be used to filt' + 'er the routes.') + c.argument('rpki_validation_state', help='The optional RPKI validation state that can be used to filter the rou' + 'tes.') + c.argument('skip_token', help='The optional page continuation token that is used in the event of paginated resu' + 'lt.') + + with self.argument_context('peering service country list') as c: + pass + + with self.argument_context('peering service location list') as c: + c.argument('country', help='The country of interest, in which the locations are to be present.') + + with self.argument_context('peering service prefix list') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('peering_service_name', help='The name of the peering service.') + c.argument('expand', help='The properties to be expanded.') + + with self.argument_context('peering service prefix show') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('peering_service_name', help='The name of the peering service.') + c.argument('prefix_name', help='The name of the prefix.') + c.argument('expand', help='The properties to be expanded.') + + with self.argument_context('peering service prefix create') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('peering_service_name', help='The name of the peering service.') + c.argument('prefix_name', help='The name of the prefix.') + c.argument('prefix', help='The prefix from which your traffic originates.') + c.argument('peering_service_prefix_key', help='The peering service prefix key') + + with self.argument_context('peering service prefix update') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('peering_service_name', help='The name of the peering service.') + c.argument('prefix_name', help='The name of the prefix.') + c.argument('prefix', help='The prefix from which your traffic originates.') + c.argument('peering_service_prefix_key', help='The peering service prefix key') + + with self.argument_context('peering service prefix delete') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('peering_service_name', help='The name of the peering service.') + c.argument('prefix_name', help='The name of the prefix.') + + with self.argument_context('peering service provider list') as c: + pass + + with self.argument_context('peering service list') as c: + c.argument('resource_group_name', resource_group_name_type) + + with self.argument_context('peering service show') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('peering_service_name', help='The name of the peering.') + + with self.argument_context('peering service create') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('peering_service_name', help='The name of the peering service.') + c.argument('sku', action=AddPeeringservicesSku, nargs='+', help='The SKU that defines the type of the peering s' + 'ervice. Expect value: name=xx.') + c.argument('location', arg_type=get_location_type(self.cli_ctx), + validator=get_default_location_from_resource_group) + c.argument('tags', tags_type) + c.argument('peering_service_location', help='The PeeringServiceLocation of the Customer.') + c.argument('peering_service_provider', help='The MAPS Provider Name.') + + with self.argument_context('peering service update') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('peering_service_name', help='The name of the peering service.') + c.argument('tags', tags_type) + + with self.argument_context('peering service delete') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('peering_service_name', help='The name of the peering service.') diff --git a/src/peering/azext_peering/generated/_validators.py b/src/peering/azext_peering/generated/_validators.py new file mode 100644 index 00000000000..bf200f564a9 --- /dev/null +++ b/src/peering/azext_peering/generated/_validators.py @@ -0,0 +1,23 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + + +def example_name_or_id_validator(cmd, namespace): + from azure.cli.core.commands.client_factory import get_subscription_id + from msrestazure.tools import is_valid_resource_id, resource_id + if namespace.storage_account: + if not is_valid_resource_id(namespace.RESOURCE): + namespace.storage_account = resource_id( + subscription=get_subscription_id(cmd.cli_ctx), + resource_group=namespace.resource_group_name, + namespace='Microsoft.Storage', + type='storageAccounts', + name=namespace.storage_account + ) diff --git a/src/peering/azext_peering/generated/action.py b/src/peering/azext_peering/generated/action.py new file mode 100644 index 00000000000..a7558c11c72 --- /dev/null +++ b/src/peering/azext_peering/generated/action.py @@ -0,0 +1,90 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +# pylint: disable=protected-access + +import argparse +from knack.util import CLIError +from collections import defaultdict + + +class AddPeerContactDetail(argparse._AppendAction): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + super(AddPeerContactDetail, self).__call__(parser, namespace, action, option_string) + + def get_action(self, values, option_string): # pylint: disable=no-self-use + try: + properties = defaultdict(list) + for (k, v) in (x.split('=', 1) for x in values): + properties[k].append(v) + properties = dict(properties) + except ValueError: + raise CLIError('usage error: {} [KEY=VALUE ...]'.format(option_string)) + d = {} + for k in properties: + kl = k.lower() + v = properties[k] + if kl == 'role': + d['role'] = v[0] + elif kl == 'email': + d['email'] = v[0] + elif kl == 'phone': + d['phone'] = v[0] + return d + + +class AddPeeringsSku(argparse.Action): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + namespace.sku = action + + def get_action(self, values, option_string): # pylint: disable=no-self-use + try: + properties = defaultdict(list) + for (k, v) in (x.split('=', 1) for x in values): + properties[k].append(v) + properties = dict(properties) + except ValueError: + raise CLIError('usage error: {} [KEY=VALUE ...]'.format(option_string)) + d = {} + for k in properties: + kl = k.lower() + v = properties[k] + if kl == 'name': + d['name'] = v[0] + elif kl == 'tier': + d['tier'] = v[0] + elif kl == 'family': + d['family'] = v[0] + elif kl == 'size': + d['size'] = v[0] + return d + + +class AddPeeringservicesSku(argparse.Action): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + namespace.sku = action + + def get_action(self, values, option_string): # pylint: disable=no-self-use + try: + properties = defaultdict(list) + for (k, v) in (x.split('=', 1) for x in values): + properties[k].append(v) + properties = dict(properties) + except ValueError: + raise CLIError('usage error: {} [KEY=VALUE ...]'.format(option_string)) + d = {} + for k in properties: + kl = k.lower() + v = properties[k] + if kl == 'name': + d['name'] = v[0] + return d diff --git a/src/peering/azext_peering/generated/commands.py b/src/peering/azext_peering/generated/commands.py new file mode 100644 index 00000000000..6b8edd10521 --- /dev/null +++ b/src/peering/azext_peering/generated/commands.py @@ -0,0 +1,140 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from azure.cli.core.commands import CliCommandType + + +# pylint: disable=too-many-locals, too-many-statements +def load_command_table(self, _): + + from azext_peering.generated._client_factory import cf_legacy_peering + peering_legacy_peering = CliCommandType( + operations_tmpl='azext_peering.vendored_sdks.peering.operations._legacy_peering_operations#LegacyPeeringOperati' + 'ons.{}', + client_factory=cf_legacy_peering) + with self.command_group('peering legacy', peering_legacy_peering, client_factory=cf_legacy_peering, + is_experimental=True) as g: + g.custom_command('list', 'peering_legacy_list') + + from azext_peering.generated._client_factory import cf_peer_asn + peering_peer_asn = CliCommandType( + operations_tmpl='azext_peering.vendored_sdks.peering.operations._peer_asn_operations#PeerAsnOperations.{}', + client_factory=cf_peer_asn) + with self.command_group('peering asn', peering_peer_asn, client_factory=cf_peer_asn, is_experimental=True) as g: + g.custom_command('list', 'peering_asn_list') + g.custom_show_command('show', 'peering_asn_show') + g.custom_command('create', 'peering_asn_create') + g.custom_command('delete', 'peering_asn_delete') + + from azext_peering.generated._client_factory import cf_peering_location + peering_peering_location = CliCommandType( + operations_tmpl='azext_peering.vendored_sdks.peering.operations._peering_location_operations#PeeringLocationOpe' + 'rations.{}', + client_factory=cf_peering_location) + with self.command_group('peering location', peering_peering_location, client_factory=cf_peering_location, + is_experimental=True) as g: + g.custom_command('list', 'peering_location_list') + + from azext_peering.generated._client_factory import cf_registered_asn + peering_registered_asn = CliCommandType( + operations_tmpl='azext_peering.vendored_sdks.peering.operations._registered_asn_operations#RegisteredAsnOperati' + 'ons.{}', + client_factory=cf_registered_asn) + with self.command_group('peering registered-asn', peering_registered_asn, client_factory=cf_registered_asn, + is_experimental=True) as g: + g.custom_command('list', 'peering_registered_asn_list') + g.custom_show_command('show', 'peering_registered_asn_show') + g.custom_command('create', 'peering_registered_asn_create') + g.custom_command('update', 'peering_registered_asn_update') + g.custom_command('delete', 'peering_registered_asn_delete') + + from azext_peering.generated._client_factory import cf_registered_prefix + peering_registered_prefix = CliCommandType( + operations_tmpl='azext_peering.vendored_sdks.peering.operations._registered_prefix_operations#RegisteredPrefixO' + 'perations.{}', + client_factory=cf_registered_prefix) + with self.command_group('peering registered-prefix', peering_registered_prefix, + client_factory=cf_registered_prefix, is_experimental=True) as g: + g.custom_command('list', 'peering_registered_prefix_list') + g.custom_show_command('show', 'peering_registered_prefix_show') + g.custom_command('create', 'peering_registered_prefix_create') + g.custom_command('update', 'peering_registered_prefix_update') + g.custom_command('delete', 'peering_registered_prefix_delete') + + from azext_peering.generated._client_factory import cf_peering + peering_peering = CliCommandType( + operations_tmpl='azext_peering.vendored_sdks.peering.operations._peering_operations#PeeringOperations.{}', + client_factory=cf_peering) + with self.command_group('peering peering', peering_peering, client_factory=cf_peering, is_experimental=True) as g: + g.custom_command('list', 'peering_peering_list') + g.custom_show_command('show', 'peering_peering_show') + g.custom_command('create', 'peering_peering_create') + g.custom_command('update', 'peering_peering_update') + g.custom_command('delete', 'peering_peering_delete') + + from azext_peering.generated._client_factory import cf_received_route + peering_received_route = CliCommandType( + operations_tmpl='azext_peering.vendored_sdks.peering.operations._received_route_operations#ReceivedRouteOperati' + 'ons.{}', + client_factory=cf_received_route) + with self.command_group('peering received-route', peering_received_route, client_factory=cf_received_route, + is_experimental=True) as g: + g.custom_command('list', 'peering_received_route_list') + + from azext_peering.generated._client_factory import cf_peering_service_country + peering_peering_service_country = CliCommandType( + operations_tmpl='azext_peering.vendored_sdks.peering.operations._peering_service_country_operations#PeeringServ' + 'iceCountryOperations.{}', + client_factory=cf_peering_service_country) + with self.command_group('peering service country', peering_peering_service_country, + client_factory=cf_peering_service_country) as g: + g.custom_command('list', 'peering_service_country_list') + + from azext_peering.generated._client_factory import cf_peering_service_location + peering_peering_service_location = CliCommandType( + operations_tmpl='azext_peering.vendored_sdks.peering.operations._peering_service_location_operations#PeeringSer' + 'viceLocationOperations.{}', + client_factory=cf_peering_service_location) + with self.command_group('peering service location', peering_peering_service_location, + client_factory=cf_peering_service_location) as g: + g.custom_command('list', 'peering_service_location_list') + + from azext_peering.generated._client_factory import cf_prefix + peering_prefix = CliCommandType( + operations_tmpl='azext_peering.vendored_sdks.peering.operations._prefix_operations#PrefixOperations.{}', + client_factory=cf_prefix) + with self.command_group('peering service prefix', peering_prefix, client_factory=cf_prefix) as g: + g.custom_command('list', 'peering_service_prefix_list') + g.custom_show_command('show', 'peering_service_prefix_show') + g.custom_command('create', 'peering_service_prefix_create') + g.custom_command('update', 'peering_service_prefix_update') + g.custom_command('delete', 'peering_service_prefix_delete') + + from azext_peering.generated._client_factory import cf_peering_service_provider + peering_peering_service_provider = CliCommandType( + operations_tmpl='azext_peering.vendored_sdks.peering.operations._peering_service_provider_operations#PeeringSer' + 'viceProviderOperations.{}', + client_factory=cf_peering_service_provider) + with self.command_group('peering service provider', peering_peering_service_provider, + client_factory=cf_peering_service_provider) as g: + g.custom_command('list', 'peering_service_provider_list') + + from azext_peering.generated._client_factory import cf_peering_service + peering_peering_service = CliCommandType( + operations_tmpl='azext_peering.vendored_sdks.peering.operations._peering_service_operations#PeeringServiceOpera' + 'tions.{}', + client_factory=cf_peering_service) + with self.command_group('peering service', peering_peering_service, client_factory=cf_peering_service, + is_experimental=True) as g: + g.custom_command('list', 'peering_service_list') + g.custom_show_command('show', 'peering_service_show') + g.custom_command('create', 'peering_service_create') + g.custom_command('update', 'peering_service_update') + g.custom_command('delete', 'peering_service_delete') diff --git a/src/peering/azext_peering/generated/custom.py b/src/peering/azext_peering/generated/custom.py new file mode 100644 index 00000000000..fd66c0d8d07 --- /dev/null +++ b/src/peering/azext_peering/generated/custom.py @@ -0,0 +1,336 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +# pylint: disable=too-many-lines, unused-argument + +import json + + +def peering_legacy_list(cmd, client, + peering_location, + kind, + asn=None): + return client.list(peering_location=peering_location, + kind=kind, + asn=asn) + + +def peering_asn_list(cmd, client): + return client.list_by_subscription() + + +def peering_asn_show(cmd, client, + peer_asn_name): + return client.get(peer_asn_name=peer_asn_name) + + +def peering_asn_create(cmd, client, + peer_asn_name, + peer_asn=None, + peer_contact_detail=None, + peer_name=None, + validation_state=None): + return client.create_or_update(peer_asn_name=peer_asn_name, + peer_asn=peer_asn, + peer_contact_detail=peer_contact_detail, + peer_name=peer_name, + validation_state=validation_state) + + +def peering_asn_delete(cmd, client, + peer_asn_name): + return client.delete(peer_asn_name=peer_asn_name) + + +def peering_location_list(cmd, client, + kind, + direct_peering_type=None): + return client.list(kind=kind, + direct_peering_type=direct_peering_type) + + +def peering_registered_asn_list(cmd, client, + resource_group_name, + peering_name): + return client.list_by_peering(resource_group_name=resource_group_name, + peering_name=peering_name) + + +def peering_registered_asn_show(cmd, client, + resource_group_name, + peering_name, + registered_asn_name): + return client.get(resource_group_name=resource_group_name, + peering_name=peering_name, + registered_asn_name=registered_asn_name) + + +def peering_registered_asn_create(cmd, client, + resource_group_name, + peering_name, + registered_asn_name, + asn=None): + return client.create_or_update(resource_group_name=resource_group_name, + peering_name=peering_name, + registered_asn_name=registered_asn_name, + asn=asn) + + +def peering_registered_asn_update(cmd, client, + resource_group_name, + peering_name, + registered_asn_name, + asn=None): + return client.create_or_update(resource_group_name=resource_group_name, + peering_name=peering_name, + registered_asn_name=registered_asn_name, + asn=asn) + + +def peering_registered_asn_delete(cmd, client, + resource_group_name, + peering_name, + registered_asn_name): + return client.delete(resource_group_name=resource_group_name, + peering_name=peering_name, + registered_asn_name=registered_asn_name) + + +def peering_registered_prefix_list(cmd, client, + resource_group_name, + peering_name): + return client.list_by_peering(resource_group_name=resource_group_name, + peering_name=peering_name) + + +def peering_registered_prefix_show(cmd, client, + resource_group_name, + peering_name, + registered_prefix_name): + return client.get(resource_group_name=resource_group_name, + peering_name=peering_name, + registered_prefix_name=registered_prefix_name) + + +def peering_registered_prefix_create(cmd, client, + resource_group_name, + peering_name, + registered_prefix_name, + prefix=None): + return client.create_or_update(resource_group_name=resource_group_name, + peering_name=peering_name, + registered_prefix_name=registered_prefix_name, + prefix=prefix) + + +def peering_registered_prefix_update(cmd, client, + resource_group_name, + peering_name, + registered_prefix_name, + prefix=None): + return client.create_or_update(resource_group_name=resource_group_name, + peering_name=peering_name, + registered_prefix_name=registered_prefix_name, + prefix=prefix) + + +def peering_registered_prefix_delete(cmd, client, + resource_group_name, + peering_name, + registered_prefix_name): + return client.delete(resource_group_name=resource_group_name, + peering_name=peering_name, + registered_prefix_name=registered_prefix_name) + + +def peering_peering_list(cmd, client, + resource_group_name=None): + if resource_group_name is not None: + return client.list_by_resource_group(resource_group_name=resource_group_name) + return client.list_by_subscription() + + +def peering_peering_show(cmd, client, + resource_group_name, + peering_name): + return client.get(resource_group_name=resource_group_name, + peering_name=peering_name) + + +def peering_peering_create(cmd, client, + resource_group_name, + peering_name, + sku, + kind, + location, + tags=None, + direct=None, + exchange=None, + peering_location=None): + if isinstance(direct, str): + direct = json.loads(direct) + if isinstance(exchange, str): + exchange = json.loads(exchange) + return client.create_or_update(resource_group_name=resource_group_name, + peering_name=peering_name, + sku=sku, + kind=kind, + location=location, + tags=tags, + direct=direct, + exchange=exchange, + peering_location=peering_location) + + +def peering_peering_update(cmd, client, + resource_group_name, + peering_name, + tags=None): + return client.update(resource_group_name=resource_group_name, + peering_name=peering_name, + tags=tags) + + +def peering_peering_delete(cmd, client, + resource_group_name, + peering_name): + return client.delete(resource_group_name=resource_group_name, + peering_name=peering_name) + + +def peering_received_route_list(cmd, client, + resource_group_name, + peering_name, + prefix=None, + as_path=None, + origin_as_validation_state=None, + rpki_validation_state=None, + skip_token=None): + return client.list_by_peering(resource_group_name=resource_group_name, + peering_name=peering_name, + prefix=prefix, + as_path=as_path, + origin_as_validation_state=origin_as_validation_state, + rpki_validation_state=rpki_validation_state, + skip_token=skip_token) + + +def peering_service_country_list(cmd, client): + return client.list() + + +def peering_service_location_list(cmd, client, + country=None): + return client.list(country=country) + + +def peering_service_prefix_list(cmd, client, + resource_group_name, + peering_service_name, + expand=None): + return client.list_by_peering_service(resource_group_name=resource_group_name, + peering_service_name=peering_service_name, + expand=expand) + + +def peering_service_prefix_show(cmd, client, + resource_group_name, + peering_service_name, + prefix_name, + expand=None): + return client.get(resource_group_name=resource_group_name, + peering_service_name=peering_service_name, + prefix_name=prefix_name, + expand=expand) + + +def peering_service_prefix_create(cmd, client, + resource_group_name, + peering_service_name, + prefix_name, + prefix=None, + peering_service_prefix_key=None): + return client.create_or_update(resource_group_name=resource_group_name, + peering_service_name=peering_service_name, + prefix_name=prefix_name, + prefix=prefix, + peering_service_prefix_key=peering_service_prefix_key) + + +def peering_service_prefix_update(cmd, client, + resource_group_name, + peering_service_name, + prefix_name, + prefix=None, + peering_service_prefix_key=None): + return client.create_or_update(resource_group_name=resource_group_name, + peering_service_name=peering_service_name, + prefix_name=prefix_name, + prefix=prefix, + peering_service_prefix_key=peering_service_prefix_key) + + +def peering_service_prefix_delete(cmd, client, + resource_group_name, + peering_service_name, + prefix_name): + return client.delete(resource_group_name=resource_group_name, + peering_service_name=peering_service_name, + prefix_name=prefix_name) + + +def peering_service_provider_list(cmd, client): + return client.list() + + +def peering_service_list(cmd, client, + resource_group_name=None): + if resource_group_name is not None: + return client.list_by_resource_group(resource_group_name=resource_group_name) + return client.list_by_subscription() + + +def peering_service_show(cmd, client, + resource_group_name, + peering_service_name): + return client.get(resource_group_name=resource_group_name, + peering_service_name=peering_service_name) + + +def peering_service_create(cmd, client, + resource_group_name, + peering_service_name, + location, + sku=None, + tags=None, + peering_service_location=None, + peering_service_provider=None): + return client.create_or_update(resource_group_name=resource_group_name, + peering_service_name=peering_service_name, + sku=sku, + location=location, + tags=tags, + peering_service_location=peering_service_location, + peering_service_provider=peering_service_provider) + + +def peering_service_update(cmd, client, + resource_group_name, + peering_service_name, + tags=None): + return client.update(resource_group_name=resource_group_name, + peering_service_name=peering_service_name, + tags=tags) + + +def peering_service_delete(cmd, client, + resource_group_name, + peering_service_name): + return client.delete(resource_group_name=resource_group_name, + peering_service_name=peering_service_name) diff --git a/src/peering/azext_peering/manual/__init__.py b/src/peering/azext_peering/manual/__init__.py new file mode 100644 index 00000000000..c9cfdc73e77 --- /dev/null +++ b/src/peering/azext_peering/manual/__init__.py @@ -0,0 +1,12 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +__path__ = __import__('pkgutil').extend_path(__path__, __name__) diff --git a/src/peering/azext_peering/report.md b/src/peering/azext_peering/report.md deleted file mode 100644 index fdd224251d9..00000000000 --- a/src/peering/azext_peering/report.md +++ /dev/null @@ -1,344 +0,0 @@ -# Azure CLI Module Creation Report - -## - - -## peering - -### peering create - -create a peering. - -|Option|Type|Description|Path (SDK)|Path (swagger)| -|------|----|-----------|----------|--------------| -|**--resource-group**|str|The name of the resource group.|resource_group_name|resourceGroupName| -|**--name**|str|The name of the peering.|peering_name|peeringName| -|**--kind**|str|The kind of the peering.|/kind|/kind| -|**--location**|str|The location of the resource.|/location|/location| -|--sku-name|str|The name of the peering SKU.|/sku/name|/sku/name| -|--sku-tier|str|The tier of the peering SKU.|/sku/tier|/sku/tier| -|--sku-family|str|The family of the peering SKU.|/sku/family|/sku/family| -|--sku-size|str|The size of the peering SKU.|/sku/size|/sku/size| -|--direct-connections|dict|The set of connections that constitute a direct peering.|/direct/connections|/properties/direct/connections| -|--direct-peer-asn|dict|The reference of the peer ASN.|/direct/peer_asn|/properties/direct/peerAsn| -|--direct-direct-peering-type|str|The type of direct peering.|/direct/direct_peering_type|/properties/direct/directPeeringType| -|--exchange-connections|dict|The set of connections that constitute an exchange peering.|/exchange/connections|/properties/exchange/connections| -|--exchange-peer-asn|dict|The reference of the peer ASN.|/exchange/peer_asn|/properties/exchange/peerAsn| -|--peering-location|str|The location of the peering.|/peering_location|/properties/peeringLocation| -|--tags|dictionary|The resource tags.|/tags|/tags| - -**Example: Create a direct peering** - -``` -peering create --resource-group MyResourceGroup - --name MyPeering - --sku-name Basic_Direct_Free - --kind Direct - --direct-direct-peering-type Edge - --peering-location peeringLocation0 - --location eastus -``` - -**Example: Create an exchange peering** - -``` -peering create --resource-group MyResourceGroup - --name MyPeering - --sku-name Basic_Exchange_Free - --kind Exchange - --peering-location peeringLocation0 - --location eastus -``` -### peering update - -update a peering. - -|Option|Type|Description|Path (SDK)|Path (swagger)| -|------|----|-----------|----------|--------------| -|**--resource-group**|str|The name of the resource group.|resource_group_name|resourceGroupName| -|**--name**|str|The name of the peering.|peering_name|peeringName| -|**--kind**|str|The kind of the peering.|/kind|/kind| -|**--location**|str|The location of the resource.|/location|/location| -|--sku-name|str|The name of the peering SKU.|/sku/name|/sku/name| -|--sku-tier|str|The tier of the peering SKU.|/sku/tier|/sku/tier| -|--sku-family|str|The family of the peering SKU.|/sku/family|/sku/family| -|--sku-size|str|The size of the peering SKU.|/sku/size|/sku/size| -|--direct-connections|dict|The set of connections that constitute a direct peering.|/direct/connections|/properties/direct/connections| -|--direct-peer-asn|dict|The reference of the peer ASN.|/direct/peer_asn|/properties/direct/peerAsn| -|--direct-direct-peering-type|str|The type of direct peering.|/direct/direct_peering_type|/properties/direct/directPeeringType| -|--exchange-connections|dict|The set of connections that constitute an exchange peering.|/exchange/connections|/properties/exchange/connections| -|--exchange-peer-asn|dict|The reference of the peer ASN.|/exchange/peer_asn|/properties/exchange/peerAsn| -|--peering-location|str|The location of the peering.|/peering_location|/properties/peeringLocation| -|--tags|dictionary|The resource tags.|/tags|/tags| - -**Example: Update peering tags** - -``` -peering update --resource-group MyResourceGroup - --name MyPeering -``` -### peering delete - -delete a peering. - -|Option|Type|Description|Path (SDK)|Path (swagger)| -|------|----|-----------|----------|--------------| -|**--resource-group**|str|The name of the resource group.|resource_group_name|resourceGroupName| -|**--name**|str|The name of the peering.|peering_name|peeringName| - -**Example: Delete a peering** - -``` -peering delete --resource-group MyResourceGroup - --name MyPeering -``` -### peering list - -list a peering. - -|Option|Type|Description|Path (SDK)|Path (swagger)| -|------|----|-----------|----------|--------------| -|**--resource-group**|str|The name of the resource group.|resource_group_name|resourceGroupName| -### peering show - -show a peering. - -|Option|Type|Description|Path (SDK)|Path (swagger)| -|------|----|-----------|----------|--------------| -|**--resource-group**|str|The name of the resource group.|resource_group_name|resourceGroupName| -|**--name**|str|The name of the peering.|peering_name|peeringName| -## peering asn - -### peering asn create - -create a peering asn. - -|Option|Type|Description|Path (SDK)|Path (swagger)| -|------|----|-----------|----------|--------------| -|**--name**|str|The peer ASN name.|peer_asn_name|peerAsnName| -|--peer-asn|number|The Autonomous System Number (ASN) of the peer.|/peer_asn|/properties/peerAsn| -|--emails|str|The list of email addresses.|/peer_contact_info/emails|/properties/peerContactInfo/emails| -|--phone|str|The list of contact numbers.|/peer_contact_info/phone|/properties/peerContactInfo/phone| -|--peer-name|str|The name of the peer.|/peer_name|/properties/peerName| -|--validation-state|str|The validation state of the ASN associated with the peer.|/validation_state|/properties/validationState| - -**Example: Create a peer ASN** - -``` -peering asn create --name MyPeerAsn - --peer-asn 65000 - --emails abc@contoso.com,xyz@contoso.com - --phone "+1 (234) 567-8900" - --peer-name Contoso -``` -### peering asn update - -update a peering asn. - -|Option|Type|Description|Path (SDK)|Path (swagger)| -|------|----|-----------|----------|--------------| -|**--name**|str|The peer ASN name.|peer_asn_name|peerAsnName| -|--peer-asn|number|The Autonomous System Number (ASN) of the peer.|/peer_asn|/properties/peerAsn| -|--emails|str|The list of email addresses.|/peer_contact_info/emails|/properties/peerContactInfo/emails| -|--phone|str|The list of contact numbers.|/peer_contact_info/phone|/properties/peerContactInfo/phone| -|--peer-name|str|The name of the peer.|/peer_name|/properties/peerName| -|--validation-state|str|The validation state of the ASN associated with the peer.|/validation_state|/properties/validationState| -### peering asn delete - -delete a peering asn. - -|Option|Type|Description|Path (SDK)|Path (swagger)| -|------|----|-----------|----------|--------------| -|**--name**|str|The peer ASN name.|peer_asn_name|peerAsnName| - -**Example: Delete a peer ASN** - -``` -peering asn delete --name MyPeerAsn -``` -### peering asn list - -list a peering asn. - -|Option|Type|Description|Path (SDK)|Path (swagger)| -|------|----|-----------|----------|--------------| -### peering asn show - -show a peering asn. - -|Option|Type|Description|Path (SDK)|Path (swagger)| -|------|----|-----------|----------|--------------| -|**--name**|str|The peer ASN name.|peer_asn_name|peerAsnName| -## peering legacy - -### peering legacy list - -list a peering legacy. - -|Option|Type|Description|Path (SDK)|Path (swagger)| -|------|----|-----------|----------|--------------| -|--peering-location|str|The location of the peering.|peering_location|peeringLocation| -|--kind|str|The kind of the peering.|kind|kind| -## peering location - -### peering location list - -list a peering location. - -|Option|Type|Description|Path (SDK)|Path (swagger)| -|------|----|-----------|----------|--------------| -|--kind|str|The kind of the peering.|kind|kind| -|--direct-peering-type|str|The type of direct peering.|direct_peering_type|directPeeringType| -## peering service - -### peering service create - -create a peering service. - -|Option|Type|Description|Path (SDK)|Path (swagger)| -|------|----|-----------|----------|--------------| -|**--resource-group**|str|The name of the resource group.|resource_group_name|resourceGroupName| -|**--name**|str|The name of the peering service.|peering_service_name|peeringServiceName| -|**--location**|str|The location of the resource.|/location|/location| -|--peering-service-location|str|The PeeringServiceLocation of the Customer.|/peering_service_location|/properties/peeringServiceLocation| -|--peering-service-provider|str|The MAPS Provider Name.|/peering_service_provider|/properties/peeringServiceProvider| -|--tags|dictionary|The resource tags.|/tags|/tags| - -**Example: Create a peering service** - -``` -peering service create --resource-group MyResourceGroup - --name MyPeeringService - --peering-service-location state1 - --peering-service-provider serviceProvider1 - --location eastus -``` -### peering service update - -update a peering service. - -|Option|Type|Description|Path (SDK)|Path (swagger)| -|------|----|-----------|----------|--------------| -|**--resource-group**|str|The name of the resource group.|resource_group_name|resourceGroupName| -|**--name**|str|The name of the peering service.|peering_service_name|peeringServiceName| -|**--location**|str|The location of the resource.|/location|/location| -|--peering-service-location|str|The PeeringServiceLocation of the Customer.|/peering_service_location|/properties/peeringServiceLocation| -|--peering-service-provider|str|The MAPS Provider Name.|/peering_service_provider|/properties/peeringServiceProvider| -|--tags|dictionary|The resource tags.|/tags|/tags| - -**Example: Update peering service tags** - -``` -peering service update --resource-group MyResourceGroup - --name MyPeeringService -``` -### peering service delete - -delete a peering service. - -|Option|Type|Description|Path (SDK)|Path (swagger)| -|------|----|-----------|----------|--------------| -|**--resource-group**|str|The name of the resource group.|resource_group_name|resourceGroupName| -|**--name**|str|The name of the peering service.|peering_service_name|peeringServiceName| - -**Example: Delete a peering service** - -``` -peering service delete --resource-group MyResourceGroup - --name MyPeeringService -``` -### peering service list - -list a peering service. - -|Option|Type|Description|Path (SDK)|Path (swagger)| -|------|----|-----------|----------|--------------| -|**--resource-group**|str|The name of the resource group.|resource_group_name|resourceGroupName| -### peering service show - -show a peering service. - -|Option|Type|Description|Path (SDK)|Path (swagger)| -|------|----|-----------|----------|--------------| -|**--resource-group**|str|The name of the resource group.|resource_group_name|resourceGroupName| -|**--name**|str|The name of the peering service.|peering_service_name|peeringServiceName| -## peering service location - -### peering service location list - -list a peering service location. - -|Option|Type|Description|Path (SDK)|Path (swagger)| -|------|----|-----------|----------|--------------| -## peering service prefix - -### peering service prefix create - -create a peering service prefix. - -|Option|Type|Description|Path (SDK)|Path (swagger)| -|------|----|-----------|----------|--------------| -|**--resource-group**|str|The name of the resource group.|resource_group_name|resourceGroupName| -|**--peering-service-name**|str|The name of the peering service.|peering_service_name|peeringServiceName| -|**--name**|str|The name of the prefix.|prefix_name|prefixName| -|--prefix|str|The prefix from which your traffic originates.|/prefix|/properties/prefix| - -**Example: Create or update a prefix for the peering service** - -``` -peering service prefix create --resource-group MyResourceGroup - --peering-service-name MyPeeringService - --name MyPeeringServicePrefix - --prefix 192.168.1.0/24 -``` -### peering service prefix update - -update a peering service prefix. - -|Option|Type|Description|Path (SDK)|Path (swagger)| -|------|----|-----------|----------|--------------| -|**--resource-group**|str|The name of the resource group.|resource_group_name|resourceGroupName| -|**--peering-service-name**|str|The name of the peering service.|peering_service_name|peeringServiceName| -|**--name**|str|The name of the prefix.|prefix_name|prefixName| -|--prefix|str|The prefix from which your traffic originates.|/prefix|/properties/prefix| -### peering service prefix delete - -delete a peering service prefix. - -|Option|Type|Description|Path (SDK)|Path (swagger)| -|------|----|-----------|----------|--------------| -|**--resource-group**|str|The name of the resource group.|resource_group_name|resourceGroupName| -|**--peering-service-name**|str|The name of the peering service.|peering_service_name|peeringServiceName| -|**--name**|str|The name of the prefix.|prefix_name|prefixName| - -**Example: Delete a prefix associated with the peering service** - -``` -peering service prefix delete --resource-group MyResourceGroup - --peering-service-name MyPeeringService - --name MyPeeringServicePrefix -``` -### peering service prefix list - -list a peering service prefix. - -|Option|Type|Description|Path (SDK)|Path (swagger)| -|------|----|-----------|----------|--------------| -|**--resource-group**|str|The name of the resource group.|resource_group_name|resourceGroupName| -|**--peering-service-name**|str|The name of the peering service.|peering_service_name|peeringServiceName| -### peering service prefix show - -show a peering service prefix. - -|Option|Type|Description|Path (SDK)|Path (swagger)| -|------|----|-----------|----------|--------------| -|**--resource-group**|str|The name of the resource group.|resource_group_name|resourceGroupName| -|**--peering-service-name**|str|The name of the peering service.|peering_service_name|peeringServiceName| -|**--name**|str|The name of the prefix.|prefix_name|prefixName| -## peering service provider - -### peering service provider list - -list a peering service provider. - -|Option|Type|Description|Path (SDK)|Path (swagger)| -|------|----|-----------|----------|--------------| \ No newline at end of file diff --git a/src/peering/azext_peering/tests/__init__.py b/src/peering/azext_peering/tests/__init__.py new file mode 100644 index 00000000000..d80d36f739c --- /dev/null +++ b/src/peering/azext_peering/tests/__init__.py @@ -0,0 +1,49 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +import inspect +import os + + +__path__ = __import__('pkgutil').extend_path(__path__, __name__) + + +def try_manual(func): + def import_manual_function(origin_func): + from importlib import import_module + decorated_path = inspect.getfile(origin_func) + module_path = __path__[0] + if not decorated_path.startswith(module_path): + raise Exception("Decorator can only be used in submodules!") + manual_path = os.path.join( + decorated_path[module_path.rfind(os.path.sep) + 1:]) + manual_file_path, manual_file_name = os.path.split(manual_path) + module_name, _ = os.path.splitext(manual_file_name) + manual_module = "..manual." + \ + ".".join(manual_file_path.split(os.path.sep) + [module_name, ]) + return getattr(import_module(manual_module, package=__name__), origin_func.__name__) + + def get_func_to_call(): + func_to_call = func + try: + func_to_call = import_manual_function(func) + except (ImportError, AttributeError): + pass + return func_to_call + + def wrapper(*args, **kwargs): + func_to_call = get_func_to_call() + print("running {}()...".format(func.__name__)) + return func_to_call(*args, **kwargs) + + if inspect.isclass(func): + return get_func_to_call() + + return wrapper diff --git a/src/peering/azext_peering/tests/latest/__init__.py b/src/peering/azext_peering/tests/latest/__init__.py new file mode 100644 index 00000000000..c9cfdc73e77 --- /dev/null +++ b/src/peering/azext_peering/tests/latest/__init__.py @@ -0,0 +1,12 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +__path__ = __import__('pkgutil').extend_path(__path__, __name__) diff --git a/src/peering/azext_peering/tests/latest/preparers.py b/src/peering/azext_peering/tests/latest/preparers.py new file mode 100644 index 00000000000..ec67973c0cb --- /dev/null +++ b/src/peering/azext_peering/tests/latest/preparers.py @@ -0,0 +1,120 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +# pylint: disable=too-many-instance-attributes + +import os +from datetime import datetime +from azure_devtools.scenario_tests import SingleValueReplacer +from azure.cli.testsdk.preparers import NoTrafficRecordingPreparer +from azure.cli.testsdk.exceptions import CliTestError +from azure.cli.testsdk.reverse_dependency import get_dummy_cli + + +KEY_RESOURCE_GROUP = 'rg' +KEY_VIRTUAL_NETWORK = 'vnet' +KEY_VNET_SUBNET = 'subnet' + + +class VirtualNetworkPreparer(NoTrafficRecordingPreparer, SingleValueReplacer): + def __init__(self, name_prefix='clitest.vn', + parameter_name='virtual_network', + resource_group_name=None, + resource_group_key=KEY_RESOURCE_GROUP, + dev_setting_name='AZURE_CLI_TEST_DEV_VIRTUAL_NETWORK_NAME', + random_name_length=24, key=KEY_VIRTUAL_NETWORK): + if ' ' in name_prefix: + raise CliTestError( + 'Error: Space character in name prefix \'%s\'' % name_prefix) + super(VirtualNetworkPreparer, self).__init__( + name_prefix, random_name_length) + self.cli_ctx = get_dummy_cli() + self.parameter_name = parameter_name + self.key = key + self.resource_group_name = resource_group_name + self.resource_group_key = resource_group_key + self.dev_setting_name = os.environ.get(dev_setting_name, None) + + def create_resource(self, name, **kwargs): + if self.dev_setting_name: + return {self.parameter_name: self.dev_setting_name, } + + if not self.resource_group_name: + self.resource_group_name = self.test_class_instance.kwargs.get( + self.resource_group_key) + if not self.resource_group_name: + raise CliTestError("Error: No resource group configured!") + + tags = {'product': 'azurecli', 'cause': 'automation', + 'date': datetime.utcnow().strftime('%Y-%m-%dT%H:%M:%SZ')} + if 'ENV_JOB_NAME' in os.environ: + tags['job'] = os.environ['ENV_JOB_NAME'] + tags = ' '.join(['{}={}'.format(key, value) + for key, value in tags.items()]) + template = 'az network vnet create --resource-group {} --name {} --tag ' + tags + self.live_only_execute(self.cli_ctx, template.format( + self.resource_group_name, name)) + + self.test_class_instance.kwargs[self.key] = name + return {self.parameter_name: name} + + def remove_resource(self, name, **kwargs): + # delete vnet if test is being recorded and if the vnet is not a dev rg + if not self.dev_setting_name: + self.live_only_execute( + self.cli_ctx, 'az network vnet delete --name {} --resource-group {}'.format( + name, + self.resource_group_name)) + + +class VnetSubnetPreparer(NoTrafficRecordingPreparer, SingleValueReplacer): + def __init__(self, name_prefix='clitest.vn', + parameter_name='subnet', + resource_group_name=None, + resource_group_key=KEY_RESOURCE_GROUP, + vnet_name=None, + vnet_key=KEY_VIRTUAL_NETWORK, + address_prefixes="11.0.0.0/24", + dev_setting_name='AZURE_CLI_TEST_DEV_VNET_SUBNET_NAME', + random_name_length=24, key=KEY_VNET_SUBNET): + if ' ' in name_prefix: + raise CliTestError( + 'Error: Space character in name prefix \'%s\'' % name_prefix) + super(VnetSubnetPreparer, self).__init__( + name_prefix, random_name_length) + self.cli_ctx = get_dummy_cli() + self.parameter_name = parameter_name + self.key = key + self.resource_group_name = resource_group_name + self.resource_group_key = resource_group_key + self.vnet_name = vnet_name + self.vnet_key = vnet_key + self.address_prefixes = address_prefixes + self.dev_setting_name = os.environ.get(dev_setting_name, None) + + def create_resource(self, name, **kwargs): + if self.dev_setting_name: + return {self.parameter_name: self.dev_setting_name, } + + if not self.resource_group_name: + self.resource_group_name = self.test_class_instance.kwargs.get( + self.resource_group_key) + if not self.resource_group_name: + raise CliTestError("Error: No resource group configured!") + if not self.vnet_name: + self.vnet_name = self.test_class_instance.kwargs.get(self.vnet_key) + if not self.vnet_name: + raise CliTestError("Error: No vnet configured!") + + self.test_class_instance.kwargs[self.key] = 'default' + return {self.parameter_name: name} + + def remove_resource(self, name, **kwargs): + pass diff --git a/src/peering/azext_peering/tests/latest/recordings/test_peering.yaml b/src/peering/azext_peering/tests/latest/recordings/test_peering.yaml deleted file mode 100644 index 4cee1af53c0..00000000000 --- a/src/peering/azext_peering/tests/latest/recordings/test_peering.yaml +++ /dev/null @@ -1,199 +0,0 @@ -interactions: -- request: - body: '{"properties": {"peeringServiceLocation": "California", "peeringServiceProvider": - "Kordia Limited"}, "location": "eastus"}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - peering service create - Connection: - - keep-alive - Content-Length: - - '122' - Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - --resource-group --name --location --peering-service-location --peering-service-provider - User-Agent: - - python/3.6.8 (Linux-4.9.184-linuxkit-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.10 - msrest_azure/0.6.2 azure-mgmt-peering/0.1.0rc1 Azure-SDK-For-Python AZURECLI/2.0.73 - accept-language: - - en-US - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_peering000001/providers/Microsoft.Peering/peeringServices/MyPeeringService?api-version=2019-09-01-preview - response: - body: - string: "{\r\n \"properties\": {\r\n \"peeringServiceLocation\": \"California\"\ - ,\r\n \"peeringServiceProvider\": \"Kordia Limited\",\r\n \"provisioningState\"\ - : \"Succeeded\"\r\n },\r\n \"location\": \"eastus\",\r\n \"eTag\": \"5e4db9b6-d321-4371-9bb5-6bd4f448a49c\"\ - ,\r\n \"name\": \"MyPeeringService\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_peering000001/providers/Microsoft.Peering/peeringServices/MyPeeringService\"\ - ,\r\n \"type\": \"Microsoft.Peering/peeringServices\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '531' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 25 Oct 2019 09:22:30 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-resource-requests: - - '99' - status: - code: 201 - message: Created -- request: - body: '{"properties": {"prefix": "192.168.1.0/24"}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - peering service prefix create - Connection: - - keep-alive - Content-Length: - - '44' - Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - --resource-group --peering-service-name --name --prefix - User-Agent: - - python/3.6.8 (Linux-4.9.184-linuxkit-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.10 - msrest_azure/0.6.2 azure-mgmt-peering/0.1.0rc1 Azure-SDK-For-Python AZURECLI/2.0.73 - accept-language: - - en-US - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_peering000001/providers/Microsoft.Peering/peeringServices/MyPeeringService/prefixes/MyPeeringServicePrefix?api-version=2019-09-01-preview - response: - body: - string: "{\r\n \"properties\": {\r\n \"prefix\": \"192.168.1.0/24\",\r\n\ - \ \"prefixValidationState\": \"Pending\",\r\n \"learnedType\": \"None\"\ - ,\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"name\": \"MyPeeringServicePrefix\"\ - ,\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_peering000001/providers/Microsoft.Peering/peeringServices/MyPeeringService/prefixes/MyPeeringServicePrefix\"\ - ,\r\n \"type\": \"Microsoft.Peering/peeringServices/prefixes\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '510' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 25 Oct 2019 09:22:32 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-writes: - - '1199' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - peering service prefix delete - Connection: - - keep-alive - Content-Length: - - '0' - ParameterSetName: - - --resource-group --peering-service-name --name - User-Agent: - - python/3.6.8 (Linux-4.9.184-linuxkit-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.10 - msrest_azure/0.6.2 azure-mgmt-peering/0.1.0rc1 Azure-SDK-For-Python AZURECLI/2.0.73 - accept-language: - - en-US - method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_peering000001/providers/Microsoft.Peering/peeringServices/MyPeeringService/prefixes/MyPeeringServicePrefix?api-version=2019-09-01-preview - response: - body: - string: '' - headers: - cache-control: - - no-cache - content-length: - - '0' - date: - - Fri, 25 Oct 2019 09:22:34 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-deletes: - - '14999' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - peering service delete - Connection: - - keep-alive - Content-Length: - - '0' - ParameterSetName: - - --resource-group --name - User-Agent: - - python/3.6.8 (Linux-4.9.184-linuxkit-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.10 - msrest_azure/0.6.2 azure-mgmt-peering/0.1.0rc1 Azure-SDK-For-Python AZURECLI/2.0.73 - accept-language: - - en-US - method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_peering000001/providers/Microsoft.Peering/peeringServices/MyPeeringService?api-version=2019-09-01-preview - response: - body: - string: '' - headers: - cache-control: - - no-cache - content-length: - - '0' - date: - - Fri, 25 Oct 2019 09:22:37 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-deletes: - - '14998' - status: - code: 200 - message: OK -version: 1 diff --git a/src/peering/azext_peering/tests/latest/test_peering_scenario.py b/src/peering/azext_peering/tests/latest/test_peering_scenario.py index 8e915a15f4a..c3196dade77 100644 --- a/src/peering/azext_peering/tests/latest/test_peering_scenario.py +++ b/src/peering/azext_peering/tests/latest/test_peering_scenario.py @@ -1,35 +1,474 @@ -# -------------------------------------------------------------------------------------------- +# -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# -------------------------------------------------------------------------------------------- +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- -import os -import unittest - -from azure_devtools.scenario_tests import AllowLargeResponse -from azure.cli.testsdk import (ScenarioTest, ResourceGroupPreparer) - - -TEST_DIR = os.path.abspath(os.path.join(os.path.abspath(__file__), '..')) - - -class PeeringScenarioTest(ScenarioTest): - - @ResourceGroupPreparer(name_prefix='cli_test_peering') - def test_peering(self, resource_group): - - self.kwargs.update({ - 'name': 'test1' - }) - - self.cmd('az peering service create --resource-group {rg} --name "MyPeeringService" --location eastus --peering-service-location "California" --peering-service-provider "Kordia Limited"', checks=[ - ]) - - self.cmd('az peering service prefix create --resource-group {rg} --peering-service-name "MyPeeringService" --name "MyPeeringServicePrefix" --prefix "192.168.1.0/24"', checks=[ - ]) - - self.cmd('az peering service prefix delete --resource-group {rg} --peering-service-name "MyPeeringService" --name "MyPeeringServicePrefix"', checks=[ - ]) - - self.cmd('az peering service delete --resource-group {rg} --name "MyPeeringService"', checks=[ - ]) +# import os +# import unittest +# +# from azure_devtools.scenario_tests import AllowLargeResponse +# from azure.cli.testsdk import ScenarioTest +# from .. import try_manual +# from azure.cli.testsdk import ResourceGroupPreparer +# +# +# TEST_DIR = os.path.abspath(os.path.join(os.path.abspath(__file__), '..')) +# +# +# @try_manual +# def setup(test, rg): +# pass +# +# +# # EXAMPLE: /PeerAsns/put/Create a peer ASN +# # @try_manual +# # def step__peerasns_put_create_a_peer_asn(test, rg): +# # test.cmd('az peering asn create ' +# # '--peer-asn 65000 ' +# # '--peer-contact-detail email="noc@contoso.com" phone="+1 (234) 567-8999" role="Noc" ' +# # '--peer-contact-detail email="abc@contoso.com" phone="+1 (234) 567-8900" role="Policy" ' +# # '--peer-contact-detail email="xyz@contoso.com" phone="+1 (234) 567-8900" role="Technical" ' +# # '--peer-name "Contoso" ' +# # '--peer-asn-name "{PeerAsns_2}"', +# # checks=[]) +# +# +# # EXAMPLE: /Peerings/put/Create an exchange peering +# # @try_manual +# # def step__peerings_put_create_an_exchange_peering(test, rg): +# # test.cmd('az peering peering create ' +# # '--kind "Exchange" ' +# # '--location "eastus" ' +# # '--exchange "{{\\"connections\\":[{{\\"bgpSession\\":{{\\"maxPrefixesAdvertisedV4\\":1000,\\"maxPrefixes' +# # 'AdvertisedV6\\":100,\\"md5AuthenticationKey\\":\\"test-md5-auth-key\\",\\"peerSessionIPv4Address\\":\\"192.168.2.1' +# # '\\",\\"peerSessionIPv6Address\\":\\"fd00::1\\"}},\\"connectionIdentifier\\":\\"CE495334-0E94-4E51-8164-8116D6CD284' +# # 'D\\",\\"peeringDBFacilityId\\":99999}},{{\\"bgpSession\\":{{\\"maxPrefixesAdvertisedV4\\":1000,\\"maxPrefixesAdver' +# # 'tisedV6\\":100,\\"md5AuthenticationKey\\":\\"test-md5-auth-key\\",\\"peerSessionIPv4Address\\":\\"192.168.2.2\\",' +# # '\\"peerSessionIPv6Address\\":\\"fd00::2\\"}},\\"connectionIdentifier\\":\\"CDD8E673-CB07-47E6-84DE-3739F778762B\\"' +# # ',\\"peeringDBFacilityId\\":99999}}],\\"peerAsn\\":{{\\"id\\":\\"/subscriptions/{subscription_id}/providers/Microso' +# # 'ft.Peering/peerAsns/{myAsn1}\\"}}}}" ' +# # '--peering-location "peeringLocation0" ' +# # '--sku name="Basic_Exchange_Free" ' +# # '--peering-name "{peeringName}" ' +# # '--resource-group "{rg}"', +# # checks=[]) +# +# +# # EXAMPLE: /Peerings/put/Create a peering with exchange route server +# # @try_manual +# # def step__peerings_put_create_a_peering_with_exchange_route_server(test, rg): +# # test.cmd('az peering peering create ' +# # '--kind "Direct" ' +# # '--location "eastus" ' +# # '--direct "{{\\"connections\\":[{{\\"bandwidthInMbps\\":10000,\\"bgpSession\\":{{\\"maxPrefixesAdvertise' +# # 'dV4\\":1000,\\"maxPrefixesAdvertisedV6\\":100,\\"microsoftSessionIPv4Address\\":\\"192.168.0.123\\",\\"peerSession' +# # 'IPv4Address\\":\\"192.168.0.234\\",\\"sessionPrefixV4\\":\\"192.168.0.0/24\\"}},\\"connectionIdentifier\\":\\"5F4C' +# # 'B5C7-6B43-4444-9338-9ABC72606C16\\",\\"peeringDBFacilityId\\":99999,\\"sessionAddressProvider\\":\\"Peer\\",\\"use' +# # 'ForPeeringService\\":true}}],\\"directPeeringType\\":\\"IxRs\\",\\"peerAsn\\":{{\\"id\\":\\"/subscriptions/{subscr' +# # 'iption_id}/providers/Microsoft.Peering/peerAsns/{myAsn1}\\"}}}}" ' +# # '--peering-location "peeringLocation0" ' +# # '--sku name="Premium_Direct_Free" ' +# # '--peering-name "{peeringName}" ' +# # '--resource-group "{rg}"', +# # checks=[]) +# +# +# # EXAMPLE: /Peerings/put/Create a direct peering +# # @try_manual +# # def step__peerings_put_create_a_direct_peering(test, rg): +# # test.cmd('az peering peering create ' +# # '--kind "Direct" ' +# # '--location "eastus" ' +# # '--direct "{{\\"connections\\":[{{\\"bandwidthInMbps\\":10000,\\"bgpSession\\":{{\\"maxPrefixesAdvertise' +# # 'dV4\\":1000,\\"maxPrefixesAdvertisedV6\\":100,\\"md5AuthenticationKey\\":\\"test-md5-auth-key\\",\\"sessionPrefixV' +# # '4\\":\\"192.168.0.0/31\\",\\"sessionPrefixV6\\":\\"fd00::0/127\\"}},\\"connectionIdentifier\\":\\"5F4CB5C7-6B43-44' +# # '44-9338-9ABC72606C16\\",\\"peeringDBFacilityId\\":99999,\\"sessionAddressProvider\\":\\"Peer\\",\\"useForPeeringSe' +# # 'rvice\\":false}},{{\\"bandwidthInMbps\\":10000,\\"connectionIdentifier\\":\\"8AB00818-D533-4504-A25A-03A17F61201C' +# # '\\",\\"peeringDBFacilityId\\":99999,\\"sessionAddressProvider\\":\\"Microsoft\\",\\"useForPeeringService\\":true}}' +# # '],\\"directPeeringType\\":\\"Edge\\",\\"peerAsn\\":{{\\"id\\":\\"/subscriptions/{subscription_id}/providers/Micros' +# # 'oft.Peering/peerAsns/{myAsn1}\\"}}}}" ' +# # '--peering-location "peeringLocation0" ' +# # '--sku name="Basic_Direct_Free" ' +# # '--peering-name "{peeringName}" ' +# # '--resource-group "{rg}"', +# # checks=[]) +# +# +# # EXAMPLE: /PeeringServices/put/Create a peering service +# @try_manual +# def step__peeringservices_put_create_a__peering_service(test, rg): +# test.cmd('az peering service create ' +# '--location "eastus" ' +# '--peering-service-location "state1" ' +# '--peering-service-provider "serviceProvider1" ' +# '--peering-service-name "{peeringServiceName}" ' +# '--resource-group "{rg}"', +# checks=[]) +# +# +# # EXAMPLE: /RegisteredAsns/put/Create or update a registered ASN for the peering +# # @try_manual +# # def step__registeredasns_put_create_or_update_a_registered_asn_for_the_peering(test, rg): +# # test.cmd('az peering registered-asn create ' +# # '--peering-name "{peeringName}" ' +# # '--asn 65000 ' +# # '--registered-asn-name "{registeredAsnName}" ' +# # '--resource-group "{rg}"', +# # checks=[]) +# +# +# # EXAMPLE: /Prefixes/put/Create or update a prefix for the peering service +# # @try_manual +# # def step__prefixes_put_create_or_update_a_prefix_for_the_peering_service(test, rg): +# # test.cmd('az peering service prefix create ' +# # '--peering-service-name "{peeringServiceName}" ' +# # '--peering-service-prefix-key "00000000-0000-0000-0000-000000000000" ' +# # '--prefix "192.168.1.0/24" ' +# # '--prefix-name "{peeringServicePrefixName}" ' +# # '--resource-group "{rg}"', +# # checks=[]) +# +# +# # EXAMPLE: /RegisteredPrefixes/put/Create or update a registered prefix for the peering +# # @try_manual +# # def step__registeredprefixes_put_create_or_update_a_registered_prefix_for_the_peering(test, rg): +# # test.cmd('az peering registered-prefix create ' +# # '--peering-name "{peeringName}" ' +# # '--prefix "10.22.20.0/24" ' +# # '--registered-prefix-name "{registeredPrefixName}" ' +# # '--resource-group "{rg}"', +# # checks=[]) +# +# +# # EXAMPLE: /RegisteredPrefixes/get/Get a registered prefix associated with the peering +# # @try_manual +# # def step__registeredprefixes_get_get_a_registered_prefix_associated_with_the_peering(test, rg): +# # test.cmd('az peering registered-prefix show ' +# # '--peering-name "{peeringName}" ' +# # '--registered-prefix-name "{registeredPrefixName}" ' +# # '--resource-group "{rg}"', +# # checks=[]) +# +# +# # EXAMPLE: /Prefixes/get/Get a prefix associated with the peering service +# # @try_manual +# # def step__prefixes_get_get_a_prefix_associated_with_the_peering_service(test, rg): +# # test.cmd('az peering service prefix show ' +# # '--peering-service-name "{peeringServiceName}" ' +# # '--prefix-name "{peeringServicePrefixName}" ' +# # '--resource-group "{rg}"', +# # checks=[]) +# +# +# # EXAMPLE: /RegisteredAsns/get/Get a registered ASN associated with the peering +# # @try_manual +# # def step__registeredasns_get_get_a_registered_asn_associated_with_the_peering(test, rg): +# # test.cmd('az peering registered-asn show ' +# # '--peering-name "{peeringName}" ' +# # '--registered-asn-name "{RegisteredAsns_2}" ' +# # '--resource-group "{rg}"', +# # checks=[]) +# +# +# # EXAMPLE: /Prefixes/get/List all the prefixes associated with the peering service +# @try_manual +# def step__prefixes_get_list_all_the_prefixes_associated_with_the_peering_service(test, rg): +# test.cmd('az peering service prefix list ' +# '--peering-service-name "{peeringServiceName}" ' +# '--resource-group "{rg}"', +# checks=[]) +# +# +# # EXAMPLE: /RegisteredPrefixes/get/List all the registered prefixes associated with the peering +# # @try_manual +# # def step__registeredprefixes_get_list_all_the_registered_prefixes_associated_with_the_peering(test, rg): +# # test.cmd('az peering registered-prefix list ' +# # '--peering-name "{peeringName}" ' +# # '--resource-group "{rg}"', +# # checks=[]) +# +# +# # EXAMPLE: /PeeringServices/get/Get a peering service +# @try_manual +# def step__peeringservices_get_get_a_peering_service(test, rg): +# test.cmd('az peering service show ' +# '--peering-service-name "{peeringServiceName}" ' +# '--resource-group "{rg}"', +# checks=[]) +# +# +# # EXAMPLE: /RegisteredAsns/get/List all the registered ASNs associated with the peering +# # @try_manual +# # def step__registeredasns_get_list_all_the_registered_asns_associated_with_the_peering(test, rg): +# # test.cmd('az peering registered-asn list ' +# # '--peering-name "{peeringName}" ' +# # '--resource-group "{rg}"', +# # checks=[]) +# +# +# # EXAMPLE: /Peerings/get/Get a peering +# # @try_manual +# # def step__peerings_get_get_a_peering(test, rg): +# # test.cmd('az peering peering show ' +# # '--peering-name "{peeringName}" ' +# # '--resource-group "{rg}"', +# # checks=[]) +# +# +# # EXAMPLE: /PeeringServices/get/List peering services in a resource group +# @try_manual +# def step__peeringservices_get_list_peering_services_in_a_resource_group(test, rg): +# test.cmd('az peering service list ' +# '--resource-group "{rg}"', +# checks=[]) +# +# +# # EXAMPLE: /Peerings/get/List peerings in a resource group +# @try_manual +# def step__peerings_get_list_peerings_in_a_resource_group(test, rg): +# test.cmd('az peering peering list ' +# '--resource-group "{rg}"', +# checks=[]) +# +# +# # EXAMPLE: /PeerAsns/get/Get a peer ASN +# @try_manual +# def step__peerasns_get_get_a_peer_asn(test, rg): +# test.cmd('az peering asn show ' +# '--peer-asn-name "{PeerAsns_2}"', +# checks=[]) +# +# +# # EXAMPLE: /PeeringServiceCountries/get/List peering service countries +# @try_manual +# def step__peeringservicecountries_get_list_peering_service_countries(test, rg): +# test.cmd('az peering service country list', +# checks=[]) +# +# +# # EXAMPLE: /PeeringServiceLocations/get/List peering service locations +# @try_manual +# def step__peeringservicelocations_get_list_peering_service_locations(test, rg): +# test.cmd('az peering service location list', +# checks=[]) +# +# +# # EXAMPLE: /PeeringServiceProviders/get/List peering service providers +# @try_manual +# def step__peeringserviceproviders_get_list_peering_service_providers(test, rg): +# test.cmd('az peering service provider list', +# checks=[]) +# +# +# # EXAMPLE: /PeeringLocations/get/List exchange peering locations +# @try_manual +# def step__peeringlocations_get_list_exchange_peering_locations(test, rg): +# test.cmd('az peering location list ' +# '--kind "Exchange"', +# checks=[]) +# +# +# # EXAMPLE: /PeeringLocations/get/List direct peering locations +# @try_manual +# def step__peeringlocations_get_list_direct_peering_locations(test, rg): +# test.cmd('az peering location list ' +# '--kind "Direct"', +# checks=[]) +# +# +# # EXAMPLE: /PeeringServices/get/List peering services in a subscription +# @try_manual +# def step__peeringservices_get_list_peering_services_in_a_subscription(test, rg): +# test.cmd('az peering service list', +# checks=[]) +# +# +# # EXAMPLE: /LegacyPeerings/get/List legacy peerings +# @try_manual +# def step__legacypeerings_get_list_legacy_peerings(test, rg): +# test.cmd('az peering legacy list ' +# '--kind "Exchange" ' +# '--peering-location "peeringLocation0"', +# checks=[]) +# +# +# # EXAMPLE: /PeerAsns/get/List peer ASNs in a subscription +# @try_manual +# def step__peerasns_get_list_peer_asns_in_a_subscription(test, rg): +# test.cmd('az peering asn list', +# checks=[]) +# +# +# # EXAMPLE: /Peerings/get/List peerings in a subscription +# @try_manual +# def step__peerings_get_list_peerings_in_a_subscription(test, rg): +# test.cmd('az peering peering list', +# checks=[]) +# +# +# # EXAMPLE: /Operations/get/List peering operations +# @try_manual +# def step__operations_get_list_peering_operations(test, rg): +# # EXAMPLE NOT FOUND! +# pass +# +# +# # EXAMPLE: /PeeringServices/patch/Update peering service tags +# # @try_manual +# # def step__peeringservices_patch_update_peering_service_tags(test, rg): +# # test.cmd('az peering service update ' +# # '--peering-service-name "{peeringServiceName}" ' +# # '--resource-group "{rg}" ' +# # '--tags tags={{"tag0":"value0","tag1":"value1"}}', +# # checks=[]) +# +# +# # EXAMPLE: /Peerings/patch/Update peering tags +# # @try_manual +# # def step__peerings_patch_update_peering_tags(test, rg): +# # test.cmd('az peering peering update ' +# # '--peering-name "{peeringName}" ' +# # '--resource-group "{rg}" ' +# # '--tags tags={{"tag0":"value0","tag1":"value1"}}', +# # checks=[]) +# +# +# # EXAMPLE: //post/Check if peering service provider is available in customer location +# @try_manual +# def step___post_check_if_peering_service_provider_is_available_in_customer_location(test, rg): +# # EXAMPLE NOT FOUND! +# pass +# +# +# # EXAMPLE: /RegisteredPrefixes/delete/Deletes a registered prefix associated with the peering +# # @try_manual +# # def step__registeredprefixes_delete_deletes_a_registered_prefix_associated_with_the_peering(test, rg): +# # test.cmd('az peering registered-prefix delete ' +# # '--peering-name "{peeringName}" ' +# # '--registered-prefix-name "{registeredPrefixName}" ' +# # '--resource-group "{rg}"', +# # checks=[]) +# +# +# # EXAMPLE: /Prefixes/delete/Delete a prefix associated with the peering service +# # @try_manual +# # def step__prefixes_delete_delete_a_prefix_associated_with_the_peering_service(test, rg): +# # test.cmd('az peering service prefix delete ' +# # '--peering-service-name "{peeringServiceName}" ' +# # '--prefix-name "{peeringServicePrefixName}" ' +# # '--resource-group "{rg}"', +# # checks=[]) +# +# +# # EXAMPLE: /RegisteredAsns/delete/Deletes a registered ASN associated with the peering +# # @try_manual +# # def step__registeredasns_delete_deletes_a_registered_asn_associated_with_the_peering(test, rg): +# # test.cmd('az peering registered-asn delete ' +# # '--peering-name "{peeringName}" ' +# # '--registered-asn-name "{registeredAsnName}" ' +# # '--resource-group "{rg}"', +# # checks=[]) +# +# +# # EXAMPLE: /PeeringServices/delete/Delete a peering service +# @try_manual +# def step__peeringservices_delete_delete_a_peering_service(test, rg): +# test.cmd('az peering service delete ' +# '--peering-service-name "{peeringServiceName}" ' +# '--resource-group "{rg}"', +# checks=[]) +# +# +# # EXAMPLE: /Peerings/delete/Delete a peering +# # @try_manual +# # def step__peerings_delete_delete_a_peering(test, rg): +# # test.cmd('az peering peering delete ' +# # '--peering-name "{peeringName}" ' +# # '--resource-group "{rg}"', +# # checks=[]) +# +# +# # EXAMPLE: /PeerAsns/delete/Delete a peer ASN +# @try_manual +# def step__peerasns_delete_delete_a_peer_asn(test, rg): +# test.cmd('az peering asn delete ' +# '--peer-asn-name "{PeerAsns_2}"', +# checks=[]) +# +# +# @try_manual +# def cleanup(test, rg): +# pass +# +# +# # @try_manual +# # def call_scenario(test, rg): +# # setup(test, rg) +# # step__peerasns_put_create_a_peer_asn(test, rg) +# # step__peerings_put_create_an_exchange_peering(test, rg) +# # step__peerings_put_create_a_peering_with_exchange_route_server(test, rg) +# # step__peerings_put_create_a_direct_peering(test, rg) +# # step__peeringservices_put_create_a__peering_service(test, rg) +# # step__registeredasns_put_create_or_update_a_registered_asn_for_the_peering(test, rg) +# # step__prefixes_put_create_or_update_a_prefix_for_the_peering_service(test, rg) +# # step__registeredprefixes_put_create_or_update_a_registered_prefix_for_the_peering(test, rg) +# # step__registeredprefixes_get_get_a_registered_prefix_associated_with_the_peering(test, rg) +# # step__prefixes_get_get_a_prefix_associated_with_the_peering_service(test, rg) +# # step__registeredasns_get_get_a_registered_asn_associated_with_the_peering(test, rg) +# # step__prefixes_get_list_all_the_prefixes_associated_with_the_peering_service(test, rg) +# # step__registeredprefixes_get_list_all_the_registered_prefixes_associated_with_the_peering(test, rg) +# # step__peeringservices_get_get_a_peering_service(test, rg) +# # step__registeredasns_get_list_all_the_registered_asns_associated_with_the_peering(test, rg) +# # step__peerings_get_get_a_peering(test, rg) +# # step__peeringservices_get_list_peering_services_in_a_resource_group(test, rg) +# # step__peerings_get_list_peerings_in_a_resource_group(test, rg) +# # step__peerasns_get_get_a_peer_asn(test, rg) +# # step__peeringservicecountries_get_list_peering_service_countries(test, rg) +# # step__peeringservicelocations_get_list_peering_service_locations(test, rg) +# # step__peeringserviceproviders_get_list_peering_service_providers(test, rg) +# # step__peeringlocations_get_list_exchange_peering_locations(test, rg) +# # step__peeringlocations_get_list_direct_peering_locations(test, rg) +# # step__peeringservices_get_list_peering_services_in_a_subscription(test, rg) +# # step__legacypeerings_get_list_legacy_peerings(test, rg) +# # step__peerasns_get_list_peer_asns_in_a_subscription(test, rg) +# # step__peerings_get_list_peerings_in_a_subscription(test, rg) +# # step__operations_get_list_peering_operations(test, rg) +# # step__peeringservices_patch_update_peering_service_tags(test, rg) +# # step__peerings_patch_update_peering_tags(test, rg) +# # step___post_check_if_peering_service_provider_is_available_in_customer_location(test, rg) +# # step__registeredprefixes_delete_deletes_a_registered_prefix_associated_with_the_peering(test, rg) +# # step__prefixes_delete_delete_a_prefix_associated_with_the_peering_service(test, rg) +# # step__registeredasns_delete_deletes_a_registered_asn_associated_with_the_peering(test, rg) +# # step__peeringservices_delete_delete_a_peering_service(test, rg) +# # step__peerings_delete_delete_a_peering(test, rg) +# # step__peerasns_delete_delete_a_peer_asn(test, rg) +# # cleanup(test, rg) +# +# +# @try_manual +# class PeeringManagementClientScenarioTest(ScenarioTest): +# +# @ResourceGroupPreparer(name_prefix='clitestpeering_rgName'[:7], key='rg', parameter_name='rg') +# def test_peering(self, rg): +# +# self.kwargs.update({ +# 'subscription_id': self.get_subscription_id() +# }) +# +# self.kwargs.update({ +# 'myAsn1': 'myAsn1', +# 'PeerAsns_2': 'PeerAsns_2', +# 'peeringName': 'peeringName', +# 'peeringServiceName': 'peeringServiceName', +# 'registeredAsnName': 'registeredAsnName', +# 'RegisteredAsns_2': 'RegisteredAsns_2', +# 'registeredPrefixName': 'registeredPrefixName', +# 'peeringServicePrefixName': 'peeringServicePrefixName', +# }) +# +# call_scenario(self, rg) diff --git a/src/peering/azext_peering/vendored_sdks/__init__.py b/src/peering/azext_peering/vendored_sdks/__init__.py index be1a152630c..c9cfdc73e77 100644 --- a/src/peering/azext_peering/vendored_sdks/__init__.py +++ b/src/peering/azext_peering/vendored_sdks/__init__.py @@ -9,4 +9,4 @@ # regenerated. # -------------------------------------------------------------------------- -__path__ = __import__('pkgutil').extend_path(__path__, __name__) \ No newline at end of file +__path__ = __import__('pkgutil').extend_path(__path__, __name__) diff --git a/src/peering/azext_peering/vendored_sdks/peering/__init__.py b/src/peering/azext_peering/vendored_sdks/peering/__init__.py index e948a8f334e..9442a621cf1 100644 --- a/src/peering/azext_peering/vendored_sdks/peering/__init__.py +++ b/src/peering/azext_peering/vendored_sdks/peering/__init__.py @@ -1,19 +1,19 @@ # coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# +# Licensed under the MIT License. See License.txt in the project root for license information. # Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from ._configuration import PeeringManagementClientConfiguration from ._peering_management_client import PeeringManagementClient -__all__ = ['PeeringManagementClient', 'PeeringManagementClientConfiguration'] - -from .version import VERSION +from ._version import VERSION __version__ = VERSION +__all__ = ['PeeringManagementClient'] +try: + from .patch import patch_sdk + patch_sdk() +except ImportError: + pass diff --git a/src/peering/azext_peering/vendored_sdks/peering/_configuration.py b/src/peering/azext_peering/vendored_sdks/peering/_configuration.py index fd1ab0207cf..090a985ec2d 100644 --- a/src/peering/azext_peering/vendored_sdks/peering/_configuration.py +++ b/src/peering/azext_peering/vendored_sdks/peering/_configuration.py @@ -1,48 +1,69 @@ # coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# +# Licensed under the MIT License. See License.txt in the project root for license information. # Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from msrestazure import AzureConfiguration -from .version import VERSION +from typing import TYPE_CHECKING +from azure.core.configuration import Configuration +from azure.core.pipeline import policies + +from ._version import VERSION + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any + + from azure.core.credentials import TokenCredential + + +class PeeringManagementClientConfiguration(Configuration): + """Configuration for PeeringManagementClient. -class PeeringManagementClientConfiguration(AzureConfiguration): - """Configuration for PeeringManagementClient Note that all parameters used to create this instance are saved as instance attributes. - :param credentials: Credentials needed for the client to connect to Azure. - :type credentials: :mod:`A msrestazure Credentials - object` + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials.TokenCredential :param subscription_id: The Azure subscription ID. :type subscription_id: str - :param str base_url: Service URL """ def __init__( - self, credentials, subscription_id, base_url=None): - - if credentials is None: - raise ValueError("Parameter 'credentials' must not be None.") + self, + credential, # type: "TokenCredential" + subscription_id, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + if credential is None: + raise ValueError("Parameter 'credential' must not be None.") if subscription_id is None: raise ValueError("Parameter 'subscription_id' must not be None.") - if not base_url: - base_url = 'https://management.azure.com' - - super(PeeringManagementClientConfiguration, self).__init__(base_url) - - # Starting Autorest.Python 4.0.64, make connection pool activated by default - self.keep_alive = True + super(PeeringManagementClientConfiguration, self).__init__(**kwargs) - self.add_user_agent('azure-mgmt-peering/{}'.format(VERSION)) - self.add_user_agent('Azure-SDK-For-Python') - - self.credentials = credentials + self.credential = credential self.subscription_id = subscription_id + self.api_version = "2020-04-01" + self.credential_scopes = ['https://management.azure.com/.default'] + kwargs.setdefault('sdk_moniker', 'mgmt-peering/{}'.format(VERSION)) + self._configure(**kwargs) + + def _configure( + self, + **kwargs # type: Any + ): + # type: (...) -> None + self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get('retry_policy') or policies.RetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get('redirect_policy') or policies.RedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get('authentication_policy') + if self.credential and not self.authentication_policy: + self.authentication_policy = policies.BearerTokenCredentialPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/peering/azext_peering/vendored_sdks/peering/_peering_management_client.py b/src/peering/azext_peering/vendored_sdks/peering/_peering_management_client.py index 9e303a0aa95..306f43abb1b 100644 --- a/src/peering/azext_peering/vendored_sdks/peering/_peering_management_client.py +++ b/src/peering/azext_peering/vendored_sdks/peering/_peering_management_client.py @@ -1,90 +1,127 @@ # coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# +# Licensed under the MIT License. See License.txt in the project root for license information. # Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from msrest.service_client import SDKClient -from msrest import Serializer, Deserializer +from typing import TYPE_CHECKING + +from azure.mgmt.core import ARMPipelineClient +from msrest import Deserializer, Serializer + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Optional from ._configuration import PeeringManagementClientConfiguration from .operations import PeeringManagementClientOperationsMixin -from .operations import LegacyPeeringsOperations -from .operations import Operations -from .operations import PeerAsnsOperations -from .operations import PeeringLocationsOperations -from .operations import PeeringsOperations -from .operations import PeeringServiceLocationsOperations -from .operations import PrefixesOperations -from .operations import PeeringServiceProvidersOperations -from .operations import PeeringServicesOperations +from .operations import LegacyPeeringOperations +from .operations import OperationOperations +from .operations import PeerAsnOperations +from .operations import PeeringLocationOperations +from .operations import RegisteredAsnOperations +from .operations import RegisteredPrefixOperations +from .operations import PeeringOperations +from .operations import ReceivedRouteOperations +from .operations import PeeringServiceCountryOperations +from .operations import PeeringServiceLocationOperations +from .operations import PrefixOperations +from .operations import PeeringServiceProviderOperations +from .operations import PeeringServiceOperations from . import models -class PeeringManagementClient(PeeringManagementClientOperationsMixin, SDKClient): - """Peering Client - - :ivar config: Configuration for client. - :vartype config: PeeringManagementClientConfiguration - - :ivar legacy_peerings: LegacyPeerings operations - :vartype legacy_peerings: azure.mgmt.peering.operations.LegacyPeeringsOperations - :ivar operations: Operations operations - :vartype operations: azure.mgmt.peering.operations.Operations - :ivar peer_asns: PeerAsns operations - :vartype peer_asns: azure.mgmt.peering.operations.PeerAsnsOperations - :ivar peering_locations: PeeringLocations operations - :vartype peering_locations: azure.mgmt.peering.operations.PeeringLocationsOperations - :ivar peerings: Peerings operations - :vartype peerings: azure.mgmt.peering.operations.PeeringsOperations - :ivar peering_service_locations: PeeringServiceLocations operations - :vartype peering_service_locations: azure.mgmt.peering.operations.PeeringServiceLocationsOperations - :ivar prefixes: Prefixes operations - :vartype prefixes: azure.mgmt.peering.operations.PrefixesOperations - :ivar peering_service_providers: PeeringServiceProviders operations - :vartype peering_service_providers: azure.mgmt.peering.operations.PeeringServiceProvidersOperations - :ivar peering_services: PeeringServices operations - :vartype peering_services: azure.mgmt.peering.operations.PeeringServicesOperations +class PeeringManagementClient(PeeringManagementClientOperationsMixin): + """Peering Client. - :param credentials: Credentials needed for the client to connect to Azure. - :type credentials: :mod:`A msrestazure Credentials - object` + :ivar legacy_peering: LegacyPeeringOperations operations + :vartype legacy_peering: azure.mgmt.peering.operations.LegacyPeeringOperations + :ivar operation: OperationOperations operations + :vartype operation: azure.mgmt.peering.operations.OperationOperations + :ivar peer_asn: PeerAsnOperations operations + :vartype peer_asn: azure.mgmt.peering.operations.PeerAsnOperations + :ivar peering_location: PeeringLocationOperations operations + :vartype peering_location: azure.mgmt.peering.operations.PeeringLocationOperations + :ivar registered_asn: RegisteredAsnOperations operations + :vartype registered_asn: azure.mgmt.peering.operations.RegisteredAsnOperations + :ivar registered_prefix: RegisteredPrefixOperations operations + :vartype registered_prefix: azure.mgmt.peering.operations.RegisteredPrefixOperations + :ivar peering: PeeringOperations operations + :vartype peering: azure.mgmt.peering.operations.PeeringOperations + :ivar received_route: ReceivedRouteOperations operations + :vartype received_route: azure.mgmt.peering.operations.ReceivedRouteOperations + :ivar peering_service_country: PeeringServiceCountryOperations operations + :vartype peering_service_country: azure.mgmt.peering.operations.PeeringServiceCountryOperations + :ivar peering_service_location: PeeringServiceLocationOperations operations + :vartype peering_service_location: azure.mgmt.peering.operations.PeeringServiceLocationOperations + :ivar prefix: PrefixOperations operations + :vartype prefix: azure.mgmt.peering.operations.PrefixOperations + :ivar peering_service_provider: PeeringServiceProviderOperations operations + :vartype peering_service_provider: azure.mgmt.peering.operations.PeeringServiceProviderOperations + :ivar peering_service: PeeringServiceOperations operations + :vartype peering_service: azure.mgmt.peering.operations.PeeringServiceOperations + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials.TokenCredential :param subscription_id: The Azure subscription ID. :type subscription_id: str :param str base_url: Service URL """ def __init__( - self, credentials, subscription_id, base_url=None): - - self.config = PeeringManagementClientConfiguration(credentials, subscription_id, base_url) - super(PeeringManagementClient, self).__init__(self.config.credentials, self.config) + self, + credential, # type: "TokenCredential" + subscription_id, # type: str + base_url=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> None + if not base_url: + base_url = 'https://management.azure.com' + self._config = PeeringManagementClientConfiguration(credential, subscription_id, **kwargs) + self._client = ARMPipelineClient(base_url=base_url, config=self._config, **kwargs) client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} - self.api_version = '2019-09-01-preview' self._serialize = Serializer(client_models) self._deserialize = Deserializer(client_models) - self.legacy_peerings = LegacyPeeringsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.operations = Operations( - self._client, self.config, self._serialize, self._deserialize) - self.peer_asns = PeerAsnsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.peering_locations = PeeringLocationsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.peerings = PeeringsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.peering_service_locations = PeeringServiceLocationsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.prefixes = PrefixesOperations( - self._client, self.config, self._serialize, self._deserialize) - self.peering_service_providers = PeeringServiceProvidersOperations( - self._client, self.config, self._serialize, self._deserialize) - self.peering_services = PeeringServicesOperations( - self._client, self.config, self._serialize, self._deserialize) + self.legacy_peering = LegacyPeeringOperations( + self._client, self._config, self._serialize, self._deserialize) + self.operation = OperationOperations( + self._client, self._config, self._serialize, self._deserialize) + self.peer_asn = PeerAsnOperations( + self._client, self._config, self._serialize, self._deserialize) + self.peering_location = PeeringLocationOperations( + self._client, self._config, self._serialize, self._deserialize) + self.registered_asn = RegisteredAsnOperations( + self._client, self._config, self._serialize, self._deserialize) + self.registered_prefix = RegisteredPrefixOperations( + self._client, self._config, self._serialize, self._deserialize) + self.peering = PeeringOperations( + self._client, self._config, self._serialize, self._deserialize) + self.received_route = ReceivedRouteOperations( + self._client, self._config, self._serialize, self._deserialize) + self.peering_service_country = PeeringServiceCountryOperations( + self._client, self._config, self._serialize, self._deserialize) + self.peering_service_location = PeeringServiceLocationOperations( + self._client, self._config, self._serialize, self._deserialize) + self.prefix = PrefixOperations( + self._client, self._config, self._serialize, self._deserialize) + self.peering_service_provider = PeeringServiceProviderOperations( + self._client, self._config, self._serialize, self._deserialize) + self.peering_service = PeeringServiceOperations( + self._client, self._config, self._serialize, self._deserialize) + + def close(self): + # type: () -> None + self._client.close() + + def __enter__(self): + # type: () -> PeeringManagementClient + self._client.__enter__() + return self + + def __exit__(self, *exc_details): + # type: (Any) -> None + self._client.__exit__(*exc_details) diff --git a/src/peering/azext_peering/vendored_sdks/peering/_version.py b/src/peering/azext_peering/vendored_sdks/peering/_version.py new file mode 100644 index 00000000000..035146e99a2 --- /dev/null +++ b/src/peering/azext_peering/vendored_sdks/peering/_version.py @@ -0,0 +1,9 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +VERSION = "0.2.0" diff --git a/src/peering/azext_peering/vendored_sdks/peering/aio/__init__.py b/src/peering/azext_peering/vendored_sdks/peering/aio/__init__.py new file mode 100644 index 00000000000..f817f9fc05e --- /dev/null +++ b/src/peering/azext_peering/vendored_sdks/peering/aio/__init__.py @@ -0,0 +1,10 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._peering_management_client_async import PeeringManagementClient +__all__ = ['PeeringManagementClient'] diff --git a/src/peering/azext_peering/vendored_sdks/peering/aio/_configuration_async.py b/src/peering/azext_peering/vendored_sdks/peering/aio/_configuration_async.py new file mode 100644 index 00000000000..f5a04978cb7 --- /dev/null +++ b/src/peering/azext_peering/vendored_sdks/peering/aio/_configuration_async.py @@ -0,0 +1,65 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import Any, TYPE_CHECKING + +from azure.core.configuration import Configuration +from azure.core.pipeline import policies + +from .._version import VERSION + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials import TokenCredential + + +class PeeringManagementClientConfiguration(Configuration): + """Configuration for PeeringManagementClient. + + Note that all parameters used to create this instance are saved as instance + attributes. + + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials_async.AsyncTokenCredential + :param subscription_id: The Azure subscription ID. + :type subscription_id: str + """ + + def __init__( + self, + credential: "AsyncTokenCredential", + subscription_id: str, + **kwargs: Any + ) -> None: + if credential is None: + raise ValueError("Parameter 'credential' must not be None.") + if subscription_id is None: + raise ValueError("Parameter 'subscription_id' must not be None.") + super(PeeringManagementClientConfiguration, self).__init__(**kwargs) + + self.credential = credential + self.subscription_id = subscription_id + self.api_version = "2020-04-01" + self.credential_scopes = ['https://management.azure.com/.default'] + kwargs.setdefault('sdk_moniker', 'mgmt-peering/{}'.format(VERSION)) + self._configure(**kwargs) + + def _configure( + self, + **kwargs: Any + ) -> None: + self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get('retry_policy') or policies.AsyncRetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get('redirect_policy') or policies.AsyncRedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get('authentication_policy') + if self.credential and not self.authentication_policy: + self.authentication_policy = policies.AsyncBearerTokenCredentialPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/peering/azext_peering/vendored_sdks/peering/aio/_peering_management_client_async.py b/src/peering/azext_peering/vendored_sdks/peering/aio/_peering_management_client_async.py new file mode 100644 index 00000000000..d4fa288c1e5 --- /dev/null +++ b/src/peering/azext_peering/vendored_sdks/peering/aio/_peering_management_client_async.py @@ -0,0 +1,119 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import Any, Optional + +from azure.mgmt.core import AsyncARMPipelineClient +from msrest import Deserializer, Serializer + +from ._configuration_async import PeeringManagementClientConfiguration +from .operations_async import PeeringManagementClientOperationsMixin +from .operations_async import LegacyPeeringOperations +from .operations_async import OperationOperations +from .operations_async import PeerAsnOperations +from .operations_async import PeeringLocationOperations +from .operations_async import RegisteredAsnOperations +from .operations_async import RegisteredPrefixOperations +from .operations_async import PeeringOperations +from .operations_async import ReceivedRouteOperations +from .operations_async import PeeringServiceCountryOperations +from .operations_async import PeeringServiceLocationOperations +from .operations_async import PrefixOperations +from .operations_async import PeeringServiceProviderOperations +from .operations_async import PeeringServiceOperations +from .. import models + + +class PeeringManagementClient(PeeringManagementClientOperationsMixin): + """Peering Client. + + :ivar legacy_peering: LegacyPeeringOperations operations + :vartype legacy_peering: azure.mgmt.peering.aio.operations_async.LegacyPeeringOperations + :ivar operation: OperationOperations operations + :vartype operation: azure.mgmt.peering.aio.operations_async.OperationOperations + :ivar peer_asn: PeerAsnOperations operations + :vartype peer_asn: azure.mgmt.peering.aio.operations_async.PeerAsnOperations + :ivar peering_location: PeeringLocationOperations operations + :vartype peering_location: azure.mgmt.peering.aio.operations_async.PeeringLocationOperations + :ivar registered_asn: RegisteredAsnOperations operations + :vartype registered_asn: azure.mgmt.peering.aio.operations_async.RegisteredAsnOperations + :ivar registered_prefix: RegisteredPrefixOperations operations + :vartype registered_prefix: azure.mgmt.peering.aio.operations_async.RegisteredPrefixOperations + :ivar peering: PeeringOperations operations + :vartype peering: azure.mgmt.peering.aio.operations_async.PeeringOperations + :ivar received_route: ReceivedRouteOperations operations + :vartype received_route: azure.mgmt.peering.aio.operations_async.ReceivedRouteOperations + :ivar peering_service_country: PeeringServiceCountryOperations operations + :vartype peering_service_country: azure.mgmt.peering.aio.operations_async.PeeringServiceCountryOperations + :ivar peering_service_location: PeeringServiceLocationOperations operations + :vartype peering_service_location: azure.mgmt.peering.aio.operations_async.PeeringServiceLocationOperations + :ivar prefix: PrefixOperations operations + :vartype prefix: azure.mgmt.peering.aio.operations_async.PrefixOperations + :ivar peering_service_provider: PeeringServiceProviderOperations operations + :vartype peering_service_provider: azure.mgmt.peering.aio.operations_async.PeeringServiceProviderOperations + :ivar peering_service: PeeringServiceOperations operations + :vartype peering_service: azure.mgmt.peering.aio.operations_async.PeeringServiceOperations + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials_async.AsyncTokenCredential + :param subscription_id: The Azure subscription ID. + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, + credential: "AsyncTokenCredential", + subscription_id: str, + base_url: Optional[str] = None, + **kwargs: Any + ) -> None: + if not base_url: + base_url = 'https://management.azure.com' + self._config = PeeringManagementClientConfiguration(credential, subscription_id, **kwargs) + self._client = AsyncARMPipelineClient(base_url=base_url, config=self._config, **kwargs) + + 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.legacy_peering = LegacyPeeringOperations( + self._client, self._config, self._serialize, self._deserialize) + self.operation = OperationOperations( + self._client, self._config, self._serialize, self._deserialize) + self.peer_asn = PeerAsnOperations( + self._client, self._config, self._serialize, self._deserialize) + self.peering_location = PeeringLocationOperations( + self._client, self._config, self._serialize, self._deserialize) + self.registered_asn = RegisteredAsnOperations( + self._client, self._config, self._serialize, self._deserialize) + self.registered_prefix = RegisteredPrefixOperations( + self._client, self._config, self._serialize, self._deserialize) + self.peering = PeeringOperations( + self._client, self._config, self._serialize, self._deserialize) + self.received_route = ReceivedRouteOperations( + self._client, self._config, self._serialize, self._deserialize) + self.peering_service_country = PeeringServiceCountryOperations( + self._client, self._config, self._serialize, self._deserialize) + self.peering_service_location = PeeringServiceLocationOperations( + self._client, self._config, self._serialize, self._deserialize) + self.prefix = PrefixOperations( + self._client, self._config, self._serialize, self._deserialize) + self.peering_service_provider = PeeringServiceProviderOperations( + self._client, self._config, self._serialize, self._deserialize) + self.peering_service = PeeringServiceOperations( + self._client, self._config, self._serialize, self._deserialize) + + async def close(self) -> None: + await self._client.close() + + async def __aenter__(self) -> "PeeringManagementClient": + await self._client.__aenter__() + return self + + async def __aexit__(self, *exc_details) -> None: + await self._client.__aexit__(*exc_details) diff --git a/src/peering/azext_peering/vendored_sdks/peering/aio/operations_async/__init__.py b/src/peering/azext_peering/vendored_sdks/peering/aio/operations_async/__init__.py new file mode 100644 index 00000000000..c876676b991 --- /dev/null +++ b/src/peering/azext_peering/vendored_sdks/peering/aio/operations_async/__init__.py @@ -0,0 +1,39 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._peering_management_client_operations_async import PeeringManagementClientOperationsMixin +from ._legacy_peering_operations_async import LegacyPeeringOperations +from ._operation_operations_async import OperationOperations +from ._peer_asn_operations_async import PeerAsnOperations +from ._peering_location_operations_async import PeeringLocationOperations +from ._registered_asn_operations_async import RegisteredAsnOperations +from ._registered_prefix_operations_async import RegisteredPrefixOperations +from ._peering_operations_async import PeeringOperations +from ._received_route_operations_async import ReceivedRouteOperations +from ._peering_service_country_operations_async import PeeringServiceCountryOperations +from ._peering_service_location_operations_async import PeeringServiceLocationOperations +from ._prefix_operations_async import PrefixOperations +from ._peering_service_provider_operations_async import PeeringServiceProviderOperations +from ._peering_service_operations_async import PeeringServiceOperations + +__all__ = [ + 'PeeringManagementClientOperationsMixin', + 'LegacyPeeringOperations', + 'OperationOperations', + 'PeerAsnOperations', + 'PeeringLocationOperations', + 'RegisteredAsnOperations', + 'RegisteredPrefixOperations', + 'PeeringOperations', + 'ReceivedRouteOperations', + 'PeeringServiceCountryOperations', + 'PeeringServiceLocationOperations', + 'PrefixOperations', + 'PeeringServiceProviderOperations', + 'PeeringServiceOperations', +] diff --git a/src/peering/azext_peering/vendored_sdks/peering/aio/operations_async/_legacy_peering_operations_async.py b/src/peering/azext_peering/vendored_sdks/peering/aio/operations_async/_legacy_peering_operations_async.py new file mode 100644 index 00000000000..50e100c1398 --- /dev/null +++ b/src/peering/azext_peering/vendored_sdks/peering/aio/operations_async/_legacy_peering_operations_async.py @@ -0,0 +1,118 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class LegacyPeeringOperations: + """LegacyPeeringOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.peering.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + peering_location: str, + kind: Union[str, "models.Enum1"], + asn: Optional[int] = None, + **kwargs + ) -> "models.PeeringListResult": + """Lists all of the legacy peerings under the given subscription matching the specified kind and location. + + :param peering_location: The location of the peering. + :type peering_location: str + :param kind: The kind of the peering. + :type kind: str or ~azure.mgmt.peering.models.Enum1 + :param asn: The ASN number associated with a legacy peering. + :type asn: int + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PeeringListResult or the result of cls(response) + :rtype: ~azure.mgmt.peering.models.PeeringListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.PeeringListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-04-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['peeringLocation'] = self._serialize.query("peering_location", peering_location, 'str') + query_parameters['kind'] = self._serialize.query("kind", kind, 'str') + if asn is not None: + query_parameters['asn'] = self._serialize.query("asn", asn, 'int') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('PeeringListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Peering/legacyPeerings'} diff --git a/src/peering/azext_peering/vendored_sdks/peering/aio/operations_async/_operation_operations_async.py b/src/peering/azext_peering/vendored_sdks/peering/aio/operations_async/_operation_operations_async.py new file mode 100644 index 00000000000..0dc6f9af4cd --- /dev/null +++ b/src/peering/azext_peering/vendored_sdks/peering/aio/operations_async/_operation_operations_async.py @@ -0,0 +1,101 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class OperationOperations: + """OperationOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.peering.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + **kwargs + ) -> "models.OperationListResult": + """Lists all of the available API operations for peering resources. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: OperationListResult or the result of cls(response) + :rtype: ~azure.mgmt.peering.models.OperationListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.OperationListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-04-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('OperationListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/providers/Microsoft.Peering/operations'} diff --git a/src/peering/azext_peering/vendored_sdks/peering/aio/operations_async/_peer_asn_operations_async.py b/src/peering/azext_peering/vendored_sdks/peering/aio/operations_async/_peer_asn_operations_async.py new file mode 100644 index 00000000000..e4b4c1c9fa4 --- /dev/null +++ b/src/peering/azext_peering/vendored_sdks/peering/aio/operations_async/_peer_asn_operations_async.py @@ -0,0 +1,282 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, List, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class PeerAsnOperations: + """PeerAsnOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.peering.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + async def get( + self, + peer_asn_name: str, + **kwargs + ) -> "models.PeerAsn": + """Gets the peer ASN with the specified name under the given subscription. + + :param peer_asn_name: The peer ASN name. + :type peer_asn_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PeerAsn or the result of cls(response) + :rtype: ~azure.mgmt.peering.models.PeerAsn + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.PeerAsn"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-04-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'peerAsnName': self._serialize.url("peer_asn_name", peer_asn_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('PeerAsn', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peerAsns/{peerAsnName}'} + + async def create_or_update( + self, + peer_asn_name: str, + peer_asn: Optional[int] = None, + peer_contact_detail: Optional[List["ContactDetail"]] = None, + peer_name: Optional[str] = None, + validation_state: Optional[Union[str, "models.ValidationState"]] = None, + **kwargs + ) -> "models.PeerAsn": + """Creates a new peer ASN or updates an existing peer ASN with the specified name under the given subscription. + + :param peer_asn_name: The peer ASN name. + :type peer_asn_name: str + :param peer_asn: The Autonomous System Number (ASN) of the peer. + :type peer_asn: int + :param peer_contact_detail: The contact details of the peer. + :type peer_contact_detail: list[~azure.mgmt.peering.models.ContactDetail] + :param peer_name: The name of the peer. + :type peer_name: str + :param validation_state: The validation state of the ASN associated with the peer. + :type validation_state: str or ~azure.mgmt.peering.models.ValidationState + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PeerAsn or the result of cls(response) + :rtype: ~azure.mgmt.peering.models.PeerAsn or ~azure.mgmt.peering.models.PeerAsn + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.PeerAsn"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _peer_asn = models.PeerAsn(peer_asn=peer_asn, peer_contact_detail=peer_contact_detail, peer_name=peer_name, validation_state=validation_state) + api_version = "2020-04-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'peerAsnName': self._serialize.url("peer_asn_name", peer_asn_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_peer_asn, 'PeerAsn') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('PeerAsn', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('PeerAsn', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peerAsns/{peerAsnName}'} + + async def delete( + self, + peer_asn_name: str, + **kwargs + ) -> None: + """Deletes an existing peer ASN with the specified name under the given subscription. + + :param peer_asn_name: The peer ASN name. + :type peer_asn_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-04-01" + + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'peerAsnName': self._serialize.url("peer_asn_name", peer_asn_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peerAsns/{peerAsnName}'} + + def list_by_subscription( + self, + **kwargs + ) -> "models.PeerAsnListResult": + """Lists all of the peer ASNs under the given subscription. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PeerAsnListResult or the result of cls(response) + :rtype: ~azure.mgmt.peering.models.PeerAsnListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.PeerAsnListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-04-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_subscription.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('PeerAsnListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_by_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peerAsns'} diff --git a/src/peering/azext_peering/vendored_sdks/peering/aio/operations_async/_peering_location_operations_async.py b/src/peering/azext_peering/vendored_sdks/peering/aio/operations_async/_peering_location_operations_async.py new file mode 100644 index 00000000000..541370cba57 --- /dev/null +++ b/src/peering/azext_peering/vendored_sdks/peering/aio/operations_async/_peering_location_operations_async.py @@ -0,0 +1,114 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class PeeringLocationOperations: + """PeeringLocationOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.peering.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + kind: Union[str, "models.Enum14"], + direct_peering_type: Optional[Union[str, "models.Enum15"]] = None, + **kwargs + ) -> "models.PeeringLocationListResult": + """Lists all of the available peering locations for the specified kind of peering. + + :param kind: The kind of the peering. + :type kind: str or ~azure.mgmt.peering.models.Enum14 + :param direct_peering_type: The type of direct peering. + :type direct_peering_type: str or ~azure.mgmt.peering.models.Enum15 + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PeeringLocationListResult or the result of cls(response) + :rtype: ~azure.mgmt.peering.models.PeeringLocationListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.PeeringLocationListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-04-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['kind'] = self._serialize.query("kind", kind, 'str') + if direct_peering_type is not None: + query_parameters['directPeeringType'] = self._serialize.query("direct_peering_type", direct_peering_type, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('PeeringLocationListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peeringLocations'} diff --git a/src/peering/azext_peering/vendored_sdks/peering/aio/operations_async/_peering_management_client_operations_async.py b/src/peering/azext_peering/vendored_sdks/peering/aio/operations_async/_peering_management_client_operations_async.py new file mode 100644 index 00000000000..c2ba572c64c --- /dev/null +++ b/src/peering/azext_peering/vendored_sdks/peering/aio/operations_async/_peering_management_client_operations_async.py @@ -0,0 +1,83 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class PeeringManagementClientOperationsMixin: + + async def check_service_provider_availability( + self, + peering_service_location: Optional[str] = None, + peering_service_provider: Optional[str] = None, + **kwargs + ) -> Union[str, "models.Enum0"]: + """Checks if the peering service provider is present within 1000 miles of customer's location. + + :param peering_service_location: Gets or sets the peering service location. + :type peering_service_location: str + :param peering_service_provider: Gets or sets the peering service provider. + :type peering_service_provider: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Enum0 or the result of cls(response) + :rtype: str or ~azure.mgmt.peering.models.Enum0 + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[Union[str, "models.Enum0"]] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _check_service_provider_availability_input = models.CheckServiceProviderAvailabilityInput(peering_service_location=peering_service_location, peering_service_provider=peering_service_provider) + api_version = "2020-04-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.check_service_provider_availability.metadata['url'] + path_format_arguments = { + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_check_service_provider_availability_input, 'CheckServiceProviderAvailabilityInput') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('str', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + check_service_provider_availability.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Peering/CheckServiceProviderAvailability'} diff --git a/src/peering/azext_peering/vendored_sdks/peering/aio/operations_async/_peering_operations_async.py b/src/peering/azext_peering/vendored_sdks/peering/aio/operations_async/_peering_operations_async.py new file mode 100644 index 00000000000..74962214e5f --- /dev/null +++ b/src/peering/azext_peering/vendored_sdks/peering/aio/operations_async/_peering_operations_async.py @@ -0,0 +1,437 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class PeeringOperations: + """PeeringOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.peering.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + async def get( + self, + resource_group_name: str, + peering_name: str, + **kwargs + ) -> "models.Peering": + """Gets an existing peering with the specified name under the given subscription and resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param peering_name: The name of the peering. + :type peering_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Peering or the result of cls(response) + :rtype: ~azure.mgmt.peering.models.Peering + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.Peering"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-04-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('Peering', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings/{peeringName}'} + + async def create_or_update( + self, + resource_group_name: str, + peering_name: str, + sku: "models.PeeringSku", + kind: Union[str, "models.Kind"], + location: str, + tags: Optional[Dict[str, str]] = None, + direct: Optional["models.PeeringPropertiesDirect"] = None, + exchange: Optional["models.PeeringPropertiesExchange"] = None, + peering_location: Optional[str] = None, + **kwargs + ) -> "models.Peering": + """Creates a new peering or updates an existing peering with the specified name under the given subscription and resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param peering_name: The name of the peering. + :type peering_name: str + :param sku: The SKU that defines the tier and kind of the peering. + :type sku: ~azure.mgmt.peering.models.PeeringSku + :param kind: The kind of the peering. + :type kind: str or ~azure.mgmt.peering.models.Kind + :param location: The location of the resource. + :type location: str + :param tags: The resource tags. + :type tags: dict[str, str] + :param direct: The properties that define a direct peering. + :type direct: ~azure.mgmt.peering.models.PeeringPropertiesDirect + :param exchange: The properties that define an exchange peering. + :type exchange: ~azure.mgmt.peering.models.PeeringPropertiesExchange + :param peering_location: The location of the peering. + :type peering_location: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Peering or the result of cls(response) + :rtype: ~azure.mgmt.peering.models.Peering or ~azure.mgmt.peering.models.Peering + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.Peering"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _peering = models.Peering(sku=sku, kind=kind, location=location, tags=tags, direct=direct, exchange=exchange, peering_location=peering_location) + api_version = "2020-04-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_peering, 'Peering') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('Peering', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('Peering', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings/{peeringName}'} + + async def delete( + self, + resource_group_name: str, + peering_name: str, + **kwargs + ) -> None: + """Deletes an existing peering with the specified name under the given subscription and resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param peering_name: The name of the peering. + :type peering_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-04-01" + + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings/{peeringName}'} + + async def update( + self, + resource_group_name: str, + peering_name: str, + tags: Optional[Dict[str, str]] = None, + **kwargs + ) -> "models.Peering": + """Updates tags for a peering with the specified name under the given subscription and resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param peering_name: The name of the peering. + :type peering_name: str + :param tags: Gets or sets the tags, a dictionary of descriptors arm object. + :type tags: dict[str, str] + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Peering or the result of cls(response) + :rtype: ~azure.mgmt.peering.models.Peering + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.Peering"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _tags = models.ResourceTags(tags=tags) + api_version = "2020-04-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_tags, 'ResourceTags') + body_content_kwargs['content'] = body_content + request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('Peering', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings/{peeringName}'} + + def list_by_resource_group( + self, + resource_group_name: str, + **kwargs + ) -> "models.PeeringListResult": + """Lists all of the peerings under the given subscription and resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PeeringListResult or the result of cls(response) + :rtype: ~azure.mgmt.peering.models.PeeringListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.PeeringListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-04-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('PeeringListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings'} + + def list_by_subscription( + self, + **kwargs + ) -> "models.PeeringListResult": + """Lists all of the peerings under the given subscription. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PeeringListResult or the result of cls(response) + :rtype: ~azure.mgmt.peering.models.PeeringListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.PeeringListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-04-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_subscription.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('PeeringListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_by_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peerings'} diff --git a/src/peering/azext_peering/vendored_sdks/peering/aio/operations_async/_peering_service_country_operations_async.py b/src/peering/azext_peering/vendored_sdks/peering/aio/operations_async/_peering_service_country_operations_async.py new file mode 100644 index 00000000000..c809375c386 --- /dev/null +++ b/src/peering/azext_peering/vendored_sdks/peering/aio/operations_async/_peering_service_country_operations_async.py @@ -0,0 +1,105 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class PeeringServiceCountryOperations: + """PeeringServiceCountryOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.peering.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + **kwargs + ) -> "models.PeeringServiceCountryListResult": + """Lists all of the available countries for peering service. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PeeringServiceCountryListResult or the result of cls(response) + :rtype: ~azure.mgmt.peering.models.PeeringServiceCountryListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.PeeringServiceCountryListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-04-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('PeeringServiceCountryListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peeringServiceCountries'} diff --git a/src/peering/azext_peering/vendored_sdks/peering/aio/operations_async/_peering_service_location_operations_async.py b/src/peering/azext_peering/vendored_sdks/peering/aio/operations_async/_peering_service_location_operations_async.py new file mode 100644 index 00000000000..4217600583d --- /dev/null +++ b/src/peering/azext_peering/vendored_sdks/peering/aio/operations_async/_peering_service_location_operations_async.py @@ -0,0 +1,110 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class PeeringServiceLocationOperations: + """PeeringServiceLocationOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.peering.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + country: Optional[str] = None, + **kwargs + ) -> "models.PeeringServiceLocationListResult": + """Lists all of the available locations for peering service. + + :param country: The country of interest, in which the locations are to be present. + :type country: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PeeringServiceLocationListResult or the result of cls(response) + :rtype: ~azure.mgmt.peering.models.PeeringServiceLocationListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.PeeringServiceLocationListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-04-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + if country is not None: + query_parameters['country'] = self._serialize.query("country", country, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('PeeringServiceLocationListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peeringServiceLocations'} diff --git a/src/peering/azext_peering/vendored_sdks/peering/aio/operations_async/_peering_service_operations_async.py b/src/peering/azext_peering/vendored_sdks/peering/aio/operations_async/_peering_service_operations_async.py new file mode 100644 index 00000000000..8b1a160ed26 --- /dev/null +++ b/src/peering/azext_peering/vendored_sdks/peering/aio/operations_async/_peering_service_operations_async.py @@ -0,0 +1,431 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class PeeringServiceOperations: + """PeeringServiceOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.peering.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + async def get( + self, + resource_group_name: str, + peering_service_name: str, + **kwargs + ) -> "models.PeeringService": + """Gets an existing peering service with the specified name under the given subscription and resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param peering_service_name: The name of the peering. + :type peering_service_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PeeringService or the result of cls(response) + :rtype: ~azure.mgmt.peering.models.PeeringService + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.PeeringService"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-04-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'peeringServiceName': self._serialize.url("peering_service_name", peering_service_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('PeeringService', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peeringServices/{peeringServiceName}'} + + async def create_or_update( + self, + resource_group_name: str, + peering_service_name: str, + location: str, + sku: Optional["models.PeeringServiceSku"] = None, + tags: Optional[Dict[str, str]] = None, + peering_service_location: Optional[str] = None, + peering_service_provider: Optional[str] = None, + **kwargs + ) -> "models.PeeringService": + """Creates a new peering service or updates an existing peering with the specified name under the given subscription and resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param peering_service_name: The name of the peering service. + :type peering_service_name: str + :param location: The location of the resource. + :type location: str + :param sku: The SKU that defines the type of the peering service. + :type sku: ~azure.mgmt.peering.models.PeeringServiceSku + :param tags: The resource tags. + :type tags: dict[str, str] + :param peering_service_location: The PeeringServiceLocation of the Customer. + :type peering_service_location: str + :param peering_service_provider: The MAPS Provider Name. + :type peering_service_provider: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PeeringService or the result of cls(response) + :rtype: ~azure.mgmt.peering.models.PeeringService or ~azure.mgmt.peering.models.PeeringService + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.PeeringService"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _peering_service = models.PeeringService(sku=sku, location=location, tags=tags, peering_service_location=peering_service_location, peering_service_provider=peering_service_provider) + api_version = "2020-04-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'peeringServiceName': self._serialize.url("peering_service_name", peering_service_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_peering_service, 'PeeringService') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('PeeringService', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('PeeringService', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peeringServices/{peeringServiceName}'} + + async def delete( + self, + resource_group_name: str, + peering_service_name: str, + **kwargs + ) -> None: + """Deletes an existing peering service with the specified name under the given subscription and resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param peering_service_name: The name of the peering service. + :type peering_service_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-04-01" + + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'peeringServiceName': self._serialize.url("peering_service_name", peering_service_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peeringServices/{peeringServiceName}'} + + async def update( + self, + resource_group_name: str, + peering_service_name: str, + tags: Optional[Dict[str, str]] = None, + **kwargs + ) -> "models.PeeringService": + """Updates tags for a peering service with the specified name under the given subscription and resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param peering_service_name: The name of the peering service. + :type peering_service_name: str + :param tags: Gets or sets the tags, a dictionary of descriptors arm object. + :type tags: dict[str, str] + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PeeringService or the result of cls(response) + :rtype: ~azure.mgmt.peering.models.PeeringService + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.PeeringService"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _tags = models.ResourceTags(tags=tags) + api_version = "2020-04-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'peeringServiceName': self._serialize.url("peering_service_name", peering_service_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_tags, 'ResourceTags') + body_content_kwargs['content'] = body_content + request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('PeeringService', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peeringServices/{peeringServiceName}'} + + def list_by_resource_group( + self, + resource_group_name: str, + **kwargs + ) -> "models.PeeringServiceListResult": + """Lists all of the peering services under the given subscription and resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PeeringServiceListResult or the result of cls(response) + :rtype: ~azure.mgmt.peering.models.PeeringServiceListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.PeeringServiceListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-04-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('PeeringServiceListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peeringServices'} + + def list_by_subscription( + self, + **kwargs + ) -> "models.PeeringServiceListResult": + """Lists all of the peerings under the given subscription. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PeeringServiceListResult or the result of cls(response) + :rtype: ~azure.mgmt.peering.models.PeeringServiceListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.PeeringServiceListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-04-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_subscription.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('PeeringServiceListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_by_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peeringServices'} diff --git a/src/peering/azext_peering/vendored_sdks/peering/aio/operations_async/_peering_service_provider_operations_async.py b/src/peering/azext_peering/vendored_sdks/peering/aio/operations_async/_peering_service_provider_operations_async.py new file mode 100644 index 00000000000..4be5d1cd1c0 --- /dev/null +++ b/src/peering/azext_peering/vendored_sdks/peering/aio/operations_async/_peering_service_provider_operations_async.py @@ -0,0 +1,105 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class PeeringServiceProviderOperations: + """PeeringServiceProviderOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.peering.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + **kwargs + ) -> "models.PeeringServiceProviderListResult": + """Lists all of the available peering service locations for the specified kind of peering. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PeeringServiceProviderListResult or the result of cls(response) + :rtype: ~azure.mgmt.peering.models.PeeringServiceProviderListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.PeeringServiceProviderListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-04-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('PeeringServiceProviderListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peeringServiceProviders'} diff --git a/src/peering/azext_peering/vendored_sdks/peering/aio/operations_async/_prefix_operations_async.py b/src/peering/azext_peering/vendored_sdks/peering/aio/operations_async/_prefix_operations_async.py new file mode 100644 index 00000000000..f5e92627bcb --- /dev/null +++ b/src/peering/azext_peering/vendored_sdks/peering/aio/operations_async/_prefix_operations_async.py @@ -0,0 +1,318 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class PrefixOperations: + """PrefixOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.peering.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + async def get( + self, + resource_group_name: str, + peering_service_name: str, + prefix_name: str, + expand: Optional[str] = None, + **kwargs + ) -> "models.PeeringServicePrefix": + """Gets an existing prefix with the specified name under the given subscription, resource group and peering service. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param peering_service_name: The name of the peering service. + :type peering_service_name: str + :param prefix_name: The name of the prefix. + :type prefix_name: str + :param expand: The properties to be expanded. + :type expand: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PeeringServicePrefix or the result of cls(response) + :rtype: ~azure.mgmt.peering.models.PeeringServicePrefix + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.PeeringServicePrefix"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-04-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'peeringServiceName': self._serialize.url("peering_service_name", peering_service_name, 'str'), + 'prefixName': self._serialize.url("prefix_name", prefix_name, 'str'), + '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 = {} # type: Dict[str, Any] + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('PeeringServicePrefix', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peeringServices/{peeringServiceName}/prefixes/{prefixName}'} + + async def create_or_update( + self, + resource_group_name: str, + peering_service_name: str, + prefix_name: str, + prefix: Optional[str] = None, + peering_service_prefix_key: Optional[str] = None, + **kwargs + ) -> "models.PeeringServicePrefix": + """Creates a new prefix with the specified name under the given subscription, resource group and peering service. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param peering_service_name: The name of the peering service. + :type peering_service_name: str + :param prefix_name: The name of the prefix. + :type prefix_name: str + :param prefix: The prefix from which your traffic originates. + :type prefix: str + :param peering_service_prefix_key: The peering service prefix key. + :type peering_service_prefix_key: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PeeringServicePrefix or the result of cls(response) + :rtype: ~azure.mgmt.peering.models.PeeringServicePrefix or ~azure.mgmt.peering.models.PeeringServicePrefix + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.PeeringServicePrefix"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _peering_service_prefix = models.PeeringServicePrefix(prefix=prefix, peering_service_prefix_key=peering_service_prefix_key) + api_version = "2020-04-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'peeringServiceName': self._serialize.url("peering_service_name", peering_service_name, 'str'), + 'prefixName': self._serialize.url("prefix_name", prefix_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_peering_service_prefix, 'PeeringServicePrefix') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('PeeringServicePrefix', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('PeeringServicePrefix', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peeringServices/{peeringServiceName}/prefixes/{prefixName}'} + + async def delete( + self, + resource_group_name: str, + peering_service_name: str, + prefix_name: str, + **kwargs + ) -> None: + """Deletes an existing prefix with the specified name under the given subscription, resource group and peering service. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param peering_service_name: The name of the peering service. + :type peering_service_name: str + :param prefix_name: The name of the prefix. + :type prefix_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-04-01" + + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'peeringServiceName': self._serialize.url("peering_service_name", peering_service_name, 'str'), + 'prefixName': self._serialize.url("prefix_name", prefix_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peeringServices/{peeringServiceName}/prefixes/{prefixName}'} + + def list_by_peering_service( + self, + resource_group_name: str, + peering_service_name: str, + expand: Optional[str] = None, + **kwargs + ) -> "models.PeeringServicePrefixListResult": + """Lists all prefixes under the given subscription, resource group and peering service. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param peering_service_name: The name of the peering service. + :type peering_service_name: str + :param expand: The properties to be expanded. + :type expand: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PeeringServicePrefixListResult or the result of cls(response) + :rtype: ~azure.mgmt.peering.models.PeeringServicePrefixListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.PeeringServicePrefixListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-04-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_peering_service.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'peeringServiceName': self._serialize.url("peering_service_name", peering_service_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('PeeringServicePrefixListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_by_peering_service.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peeringServices/{peeringServiceName}/prefixes'} diff --git a/src/peering/azext_peering/vendored_sdks/peering/aio/operations_async/_received_route_operations_async.py b/src/peering/azext_peering/vendored_sdks/peering/aio/operations_async/_received_route_operations_async.py new file mode 100644 index 00000000000..d4c3a620813 --- /dev/null +++ b/src/peering/azext_peering/vendored_sdks/peering/aio/operations_async/_received_route_operations_async.py @@ -0,0 +1,141 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class ReceivedRouteOperations: + """ReceivedRouteOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.peering.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list_by_peering( + self, + resource_group_name: str, + peering_name: str, + prefix: Optional[str] = None, + as_path: Optional[str] = None, + origin_as_validation_state: Optional[str] = None, + rpki_validation_state: Optional[str] = None, + skip_token: Optional[str] = None, + **kwargs + ) -> "models.PeeringReceivedRouteListResult": + """Lists the prefixes received over the specified peering under the given subscription and resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param peering_name: The name of the peering. + :type peering_name: str + :param prefix: The optional prefix that can be used to filter the routes. + :type prefix: str + :param as_path: The optional AS path that can be used to filter the routes. + :type as_path: str + :param origin_as_validation_state: The optional origin AS validation state that can be used to + filter the routes. + :type origin_as_validation_state: str + :param rpki_validation_state: The optional RPKI validation state that can be used to filter the + routes. + :type rpki_validation_state: str + :param skip_token: The optional page continuation token that is used in the event of paginated + result. + :type skip_token: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PeeringReceivedRouteListResult or the result of cls(response) + :rtype: ~azure.mgmt.peering.models.PeeringReceivedRouteListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.PeeringReceivedRouteListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-04-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_peering.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + if prefix is not None: + query_parameters['prefix'] = self._serialize.query("prefix", prefix, 'str') + if as_path is not None: + query_parameters['asPath'] = self._serialize.query("as_path", as_path, 'str') + if origin_as_validation_state is not None: + query_parameters['originAsValidationState'] = self._serialize.query("origin_as_validation_state", origin_as_validation_state, 'str') + if rpki_validation_state is not None: + query_parameters['rpkiValidationState'] = self._serialize.query("rpki_validation_state", rpki_validation_state, 'str') + if skip_token is not None: + query_parameters['$skipToken'] = self._serialize.query("skip_token", skip_token, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('PeeringReceivedRouteListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_by_peering.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings/{peeringName}/receivedRoutes'} diff --git a/src/peering/azext_peering/vendored_sdks/peering/aio/operations_async/_registered_asn_operations_async.py b/src/peering/azext_peering/vendored_sdks/peering/aio/operations_async/_registered_asn_operations_async.py new file mode 100644 index 00000000000..22354e4788a --- /dev/null +++ b/src/peering/azext_peering/vendored_sdks/peering/aio/operations_async/_registered_asn_operations_async.py @@ -0,0 +1,305 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class RegisteredAsnOperations: + """RegisteredAsnOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.peering.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + async def get( + self, + resource_group_name: str, + peering_name: str, + registered_asn_name: str, + **kwargs + ) -> "models.PeeringRegisteredAsn": + """Gets an existing registered ASN with the specified name under the given subscription, resource group and peering. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param peering_name: The name of the peering. + :type peering_name: str + :param registered_asn_name: The name of the registered ASN. + :type registered_asn_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PeeringRegisteredAsn or the result of cls(response) + :rtype: ~azure.mgmt.peering.models.PeeringRegisteredAsn + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.PeeringRegisteredAsn"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-04-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), + 'registeredAsnName': self._serialize.url("registered_asn_name", registered_asn_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('PeeringRegisteredAsn', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings/{peeringName}/registeredAsns/{registeredAsnName}'} + + async def create_or_update( + self, + resource_group_name: str, + peering_name: str, + registered_asn_name: str, + asn: Optional[int] = None, + **kwargs + ) -> "models.PeeringRegisteredAsn": + """Creates a new registered ASN with the specified name under the given subscription, resource group and peering. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param peering_name: The name of the peering. + :type peering_name: str + :param registered_asn_name: The name of the ASN. + :type registered_asn_name: str + :param asn: The customer's ASN from which traffic originates. + :type asn: int + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PeeringRegisteredAsn or the result of cls(response) + :rtype: ~azure.mgmt.peering.models.PeeringRegisteredAsn or ~azure.mgmt.peering.models.PeeringRegisteredAsn + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.PeeringRegisteredAsn"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _registered_asn = models.PeeringRegisteredAsn(asn=asn) + api_version = "2020-04-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), + 'registeredAsnName': self._serialize.url("registered_asn_name", registered_asn_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_registered_asn, 'PeeringRegisteredAsn') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('PeeringRegisteredAsn', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('PeeringRegisteredAsn', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings/{peeringName}/registeredAsns/{registeredAsnName}'} + + async def delete( + self, + resource_group_name: str, + peering_name: str, + registered_asn_name: str, + **kwargs + ) -> None: + """Deletes an existing registered ASN with the specified name under the given subscription, resource group and peering. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param peering_name: The name of the peering. + :type peering_name: str + :param registered_asn_name: The name of the registered ASN. + :type registered_asn_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-04-01" + + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), + 'registeredAsnName': self._serialize.url("registered_asn_name", registered_asn_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings/{peeringName}/registeredAsns/{registeredAsnName}'} + + def list_by_peering( + self, + resource_group_name: str, + peering_name: str, + **kwargs + ) -> "models.PeeringRegisteredAsnListResult": + """Lists all registered ASNs under the given subscription, resource group and peering. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param peering_name: The name of the peering. + :type peering_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PeeringRegisteredAsnListResult or the result of cls(response) + :rtype: ~azure.mgmt.peering.models.PeeringRegisteredAsnListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.PeeringRegisteredAsnListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-04-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_peering.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('PeeringRegisteredAsnListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_by_peering.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings/{peeringName}/registeredAsns'} diff --git a/src/peering/azext_peering/vendored_sdks/peering/aio/operations_async/_registered_prefix_operations_async.py b/src/peering/azext_peering/vendored_sdks/peering/aio/operations_async/_registered_prefix_operations_async.py new file mode 100644 index 00000000000..4972dce567a --- /dev/null +++ b/src/peering/azext_peering/vendored_sdks/peering/aio/operations_async/_registered_prefix_operations_async.py @@ -0,0 +1,305 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class RegisteredPrefixOperations: + """RegisteredPrefixOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.peering.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + async def get( + self, + resource_group_name: str, + peering_name: str, + registered_prefix_name: str, + **kwargs + ) -> "models.PeeringRegisteredPrefix": + """Gets an existing registered prefix with the specified name under the given subscription, resource group and peering. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param peering_name: The name of the peering. + :type peering_name: str + :param registered_prefix_name: The name of the registered prefix. + :type registered_prefix_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PeeringRegisteredPrefix or the result of cls(response) + :rtype: ~azure.mgmt.peering.models.PeeringRegisteredPrefix + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.PeeringRegisteredPrefix"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-04-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), + 'registeredPrefixName': self._serialize.url("registered_prefix_name", registered_prefix_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('PeeringRegisteredPrefix', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings/{peeringName}/registeredPrefixes/{registeredPrefixName}'} + + async def create_or_update( + self, + resource_group_name: str, + peering_name: str, + registered_prefix_name: str, + prefix: Optional[str] = None, + **kwargs + ) -> "models.PeeringRegisteredPrefix": + """Creates a new registered prefix with the specified name under the given subscription, resource group and peering. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param peering_name: The name of the peering. + :type peering_name: str + :param registered_prefix_name: The name of the registered prefix. + :type registered_prefix_name: str + :param prefix: The customer's prefix from which traffic originates. + :type prefix: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PeeringRegisteredPrefix or the result of cls(response) + :rtype: ~azure.mgmt.peering.models.PeeringRegisteredPrefix or ~azure.mgmt.peering.models.PeeringRegisteredPrefix + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.PeeringRegisteredPrefix"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _registered_prefix = models.PeeringRegisteredPrefix(prefix=prefix) + api_version = "2020-04-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), + 'registeredPrefixName': self._serialize.url("registered_prefix_name", registered_prefix_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_registered_prefix, 'PeeringRegisteredPrefix') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('PeeringRegisteredPrefix', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('PeeringRegisteredPrefix', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings/{peeringName}/registeredPrefixes/{registeredPrefixName}'} + + async def delete( + self, + resource_group_name: str, + peering_name: str, + registered_prefix_name: str, + **kwargs + ) -> None: + """Deletes an existing registered prefix with the specified name under the given subscription, resource group and peering. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param peering_name: The name of the peering. + :type peering_name: str + :param registered_prefix_name: The name of the registered prefix. + :type registered_prefix_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-04-01" + + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), + 'registeredPrefixName': self._serialize.url("registered_prefix_name", registered_prefix_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings/{peeringName}/registeredPrefixes/{registeredPrefixName}'} + + def list_by_peering( + self, + resource_group_name: str, + peering_name: str, + **kwargs + ) -> "models.PeeringRegisteredPrefixListResult": + """Lists all registered prefixes under the given subscription, resource group and peering. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param peering_name: The name of the peering. + :type peering_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PeeringRegisteredPrefixListResult or the result of cls(response) + :rtype: ~azure.mgmt.peering.models.PeeringRegisteredPrefixListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.PeeringRegisteredPrefixListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-04-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_peering.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('PeeringRegisteredPrefixListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_by_peering.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings/{peeringName}/registeredPrefixes'} diff --git a/src/peering/azext_peering/vendored_sdks/peering/models/__init__.py b/src/peering/azext_peering/vendored_sdks/peering/models/__init__.py index afe897a2a54..328a119663e 100644 --- a/src/peering/azext_peering/vendored_sdks/peering/models/__init__.py +++ b/src/peering/azext_peering/vendored_sdks/peering/models/__init__.py @@ -1,143 +1,187 @@ # coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# +# Licensed under the MIT License. See License.txt in the project root for license information. # Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- try: from ._models_py3 import BgpSession from ._models_py3 import CheckServiceProviderAvailabilityInput - from ._models_py3 import ContactInfo + from ._models_py3 import ContactDetail from ._models_py3 import DirectConnection from ._models_py3 import DirectPeeringFacility - from ._models_py3 import ErrorResponse, ErrorResponseException + from ._models_py3 import ErrorDetail + from ._models_py3 import ErrorResponse from ._models_py3 import ExchangeConnection from ._models_py3 import ExchangePeeringFacility from ._models_py3 import Operation from ._models_py3 import OperationDisplayInfo + from ._models_py3 import OperationListResult from ._models_py3 import PeerAsn + from ._models_py3 import PeerAsnListResult from ._models_py3 import Peering from ._models_py3 import PeeringBandwidthOffer + from ._models_py3 import PeeringListResult from ._models_py3 import PeeringLocation + from ._models_py3 import PeeringLocationListResult from ._models_py3 import PeeringLocationPropertiesDirect from ._models_py3 import PeeringLocationPropertiesExchange from ._models_py3 import PeeringPropertiesDirect from ._models_py3 import PeeringPropertiesExchange + from ._models_py3 import PeeringReceivedRoute + from ._models_py3 import PeeringReceivedRouteListResult + from ._models_py3 import PeeringRegisteredAsn + from ._models_py3 import PeeringRegisteredAsnListResult + from ._models_py3 import PeeringRegisteredPrefix + from ._models_py3 import PeeringRegisteredPrefixListResult from ._models_py3 import PeeringService + from ._models_py3 import PeeringServiceCountry + from ._models_py3 import PeeringServiceCountryListResult + from ._models_py3 import PeeringServiceListResult from ._models_py3 import PeeringServiceLocation + from ._models_py3 import PeeringServiceLocationListResult from ._models_py3 import PeeringServicePrefix from ._models_py3 import PeeringServicePrefixEvent + from ._models_py3 import PeeringServicePrefixListResult from ._models_py3 import PeeringServiceProvider + from ._models_py3 import PeeringServiceProviderListResult + from ._models_py3 import PeeringServiceSku from ._models_py3 import PeeringSku from ._models_py3 import Resource from ._models_py3 import ResourceTags from ._models_py3 import SubResource except (SyntaxError, ImportError): - from ._models import BgpSession - from ._models import CheckServiceProviderAvailabilityInput - from ._models import ContactInfo - from ._models import DirectConnection - from ._models import DirectPeeringFacility - from ._models import ErrorResponse, ErrorResponseException - from ._models import ExchangeConnection - from ._models import ExchangePeeringFacility - from ._models import Operation - from ._models import OperationDisplayInfo - from ._models import PeerAsn - from ._models import Peering - from ._models import PeeringBandwidthOffer - from ._models import PeeringLocation - from ._models import PeeringLocationPropertiesDirect - from ._models import PeeringLocationPropertiesExchange - from ._models import PeeringPropertiesDirect - from ._models import PeeringPropertiesExchange - from ._models import PeeringService - from ._models import PeeringServiceLocation - from ._models import PeeringServicePrefix - from ._models import PeeringServicePrefixEvent - from ._models import PeeringServiceProvider - from ._models import PeeringSku - from ._models import Resource - from ._models import ResourceTags - from ._models import SubResource -from ._paged_models import OperationPaged -from ._paged_models import PeerAsnPaged -from ._paged_models import PeeringLocationPaged -from ._paged_models import PeeringPaged -from ._paged_models import PeeringServiceLocationPaged -from ._paged_models import PeeringServicePaged -from ._paged_models import PeeringServicePrefixPaged -from ._paged_models import PeeringServiceProviderPaged + from ._models import BgpSession # type: ignore + from ._models import CheckServiceProviderAvailabilityInput # type: ignore + from ._models import ContactDetail # type: ignore + from ._models import DirectConnection # type: ignore + from ._models import DirectPeeringFacility # type: ignore + from ._models import ErrorDetail # type: ignore + from ._models import ErrorResponse # type: ignore + from ._models import ExchangeConnection # type: ignore + from ._models import ExchangePeeringFacility # type: ignore + from ._models import Operation # type: ignore + from ._models import OperationDisplayInfo # type: ignore + from ._models import OperationListResult # type: ignore + from ._models import PeerAsn # type: ignore + from ._models import PeerAsnListResult # type: ignore + from ._models import Peering # type: ignore + from ._models import PeeringBandwidthOffer # type: ignore + from ._models import PeeringListResult # type: ignore + from ._models import PeeringLocation # type: ignore + from ._models import PeeringLocationListResult # type: ignore + from ._models import PeeringLocationPropertiesDirect # type: ignore + from ._models import PeeringLocationPropertiesExchange # type: ignore + from ._models import PeeringPropertiesDirect # type: ignore + from ._models import PeeringPropertiesExchange # type: ignore + from ._models import PeeringReceivedRoute # type: ignore + from ._models import PeeringReceivedRouteListResult # type: ignore + from ._models import PeeringRegisteredAsn # type: ignore + from ._models import PeeringRegisteredAsnListResult # type: ignore + from ._models import PeeringRegisteredPrefix # type: ignore + from ._models import PeeringRegisteredPrefixListResult # type: ignore + from ._models import PeeringService # type: ignore + from ._models import PeeringServiceCountry # type: ignore + from ._models import PeeringServiceCountryListResult # type: ignore + from ._models import PeeringServiceListResult # type: ignore + from ._models import PeeringServiceLocation # type: ignore + from ._models import PeeringServiceLocationListResult # type: ignore + from ._models import PeeringServicePrefix # type: ignore + from ._models import PeeringServicePrefixEvent # type: ignore + from ._models import PeeringServicePrefixListResult # type: ignore + from ._models import PeeringServiceProvider # type: ignore + from ._models import PeeringServiceProviderListResult # type: ignore + from ._models import PeeringServiceSku # type: ignore + from ._models import PeeringSku # type: ignore + from ._models import Resource # type: ignore + from ._models import ResourceTags # type: ignore + from ._models import SubResource # type: ignore + from ._peering_management_client_enums import ( - Name, - Tier, + ConnectionState, + DirectPeeringType, + Enum0, + Enum1, + Enum14, + Enum15, Family, - Size, Kind, + LearnedType, + PrefixValidationState, + ProvisioningState, + Role, SessionAddressProvider, - ConnectionState, SessionStateV4, SessionStateV6, - DirectPeeringType, - ProvisioningState, + Size, + Tier, ValidationState, - PrefixValidationState, - LearnedType, ) __all__ = [ 'BgpSession', 'CheckServiceProviderAvailabilityInput', - 'ContactInfo', + 'ContactDetail', 'DirectConnection', 'DirectPeeringFacility', - 'ErrorResponse', 'ErrorResponseException', + 'ErrorDetail', + 'ErrorResponse', 'ExchangeConnection', 'ExchangePeeringFacility', 'Operation', 'OperationDisplayInfo', + 'OperationListResult', 'PeerAsn', + 'PeerAsnListResult', 'Peering', 'PeeringBandwidthOffer', + 'PeeringListResult', 'PeeringLocation', + 'PeeringLocationListResult', 'PeeringLocationPropertiesDirect', 'PeeringLocationPropertiesExchange', 'PeeringPropertiesDirect', 'PeeringPropertiesExchange', + 'PeeringReceivedRoute', + 'PeeringReceivedRouteListResult', + 'PeeringRegisteredAsn', + 'PeeringRegisteredAsnListResult', + 'PeeringRegisteredPrefix', + 'PeeringRegisteredPrefixListResult', 'PeeringService', + 'PeeringServiceCountry', + 'PeeringServiceCountryListResult', + 'PeeringServiceListResult', 'PeeringServiceLocation', + 'PeeringServiceLocationListResult', 'PeeringServicePrefix', 'PeeringServicePrefixEvent', + 'PeeringServicePrefixListResult', 'PeeringServiceProvider', + 'PeeringServiceProviderListResult', + 'PeeringServiceSku', 'PeeringSku', 'Resource', 'ResourceTags', 'SubResource', - 'PeeringPaged', - 'OperationPaged', - 'PeerAsnPaged', - 'PeeringLocationPaged', - 'PeeringServiceLocationPaged', - 'PeeringServicePrefixPaged', - 'PeeringServiceProviderPaged', - 'PeeringServicePaged', - 'Name', - 'Tier', + 'ConnectionState', + 'DirectPeeringType', + 'Enum0', + 'Enum1', + 'Enum14', + 'Enum15', 'Family', - 'Size', 'Kind', + 'LearnedType', + 'PrefixValidationState', + 'ProvisioningState', + 'Role', 'SessionAddressProvider', - 'ConnectionState', 'SessionStateV4', 'SessionStateV6', - 'DirectPeeringType', - 'ProvisioningState', + 'Size', + 'Tier', 'ValidationState', - 'PrefixValidationState', - 'LearnedType', ] diff --git a/src/peering/azext_peering/vendored_sdks/peering/models/_models.py b/src/peering/azext_peering/vendored_sdks/peering/models/_models.py index fc31afd88ca..d8de2171add 100644 --- a/src/peering/azext_peering/vendored_sdks/peering/models/_models.py +++ b/src/peering/azext_peering/vendored_sdks/peering/models/_models.py @@ -1,65 +1,51 @@ # coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# +# Licensed under the MIT License. See License.txt in the project root for license information. # Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from msrest.serialization import Model -from msrest.exceptions import HttpOperationError +from azure.core.exceptions import HttpResponseError +import msrest.serialization -class BgpSession(Model): +class BgpSession(msrest.serialization.Model): """The properties that define a BGP session. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. - :param session_prefix_v4: The IPv4 prefix that contains both ends' IPv4 - addresses. + :param session_prefix_v4: The IPv4 prefix that contains both ends' IPv4 addresses. :type session_prefix_v4: str - :param session_prefix_v6: The IPv6 prefix that contains both ends' IPv6 - addresses. + :param session_prefix_v6: The IPv6 prefix that contains both ends' IPv6 addresses. :type session_prefix_v6: str - :ivar microsoft_session_ipv4_address: The IPv4 session address on - Microsoft's end. - :vartype microsoft_session_ipv4_address: str - :ivar microsoft_session_ipv6_address: The IPv6 session address on - Microsoft's end. - :vartype microsoft_session_ipv6_address: str - :param peer_session_ipv4_address: The IPv4 session address on peer's end. - :type peer_session_ipv4_address: str - :param peer_session_ipv6_address: The IPv6 session address on peer's end. - :type peer_session_ipv6_address: str - :ivar session_state_v4: The state of the IPv4 session. Possible values - include: 'None', 'Idle', 'Connect', 'Active', 'OpenSent', 'OpenConfirm', - 'OpenReceived', 'Established', 'PendingAdd', 'PendingUpdate', - 'PendingRemove' - :vartype session_state_v4: str or - ~azure.mgmt.peering.models.SessionStateV4 - :ivar session_state_v6: The state of the IPv6 session. Possible values - include: 'None', 'Idle', 'Connect', 'Active', 'OpenSent', 'OpenConfirm', - 'OpenReceived', 'Established', 'PendingAdd', 'PendingUpdate', - 'PendingRemove' - :vartype session_state_v6: str or - ~azure.mgmt.peering.models.SessionStateV6 - :param max_prefixes_advertised_v4: The maximum number of prefixes - advertised over the IPv4 session. + :param microsoft_session_i_pv4_address: The IPv4 session address on Microsoft's end. + :type microsoft_session_i_pv4_address: str + :param microsoft_session_i_pv6_address: The IPv6 session address on Microsoft's end. + :type microsoft_session_i_pv6_address: str + :param peer_session_i_pv4_address: The IPv4 session address on peer's end. + :type peer_session_i_pv4_address: str + :param peer_session_i_pv6_address: The IPv6 session address on peer's end. + :type peer_session_i_pv6_address: str + :ivar session_state_v4: The state of the IPv4 session. Possible values include: "None", "Idle", + "Connect", "Active", "OpenSent", "OpenConfirm", "OpenReceived", "Established", "PendingAdd", + "PendingUpdate", "PendingRemove". + :vartype session_state_v4: str or ~azure.mgmt.peering.models.SessionStateV4 + :ivar session_state_v6: The state of the IPv6 session. Possible values include: "None", "Idle", + "Connect", "Active", "OpenSent", "OpenConfirm", "OpenReceived", "Established", "PendingAdd", + "PendingUpdate", "PendingRemove". + :vartype session_state_v6: str or ~azure.mgmt.peering.models.SessionStateV6 + :param max_prefixes_advertised_v4: The maximum number of prefixes advertised over the IPv4 + session. :type max_prefixes_advertised_v4: int - :param max_prefixes_advertised_v6: The maximum number of prefixes - advertised over the IPv6 session. + :param max_prefixes_advertised_v6: The maximum number of prefixes advertised over the IPv6 + session. :type max_prefixes_advertised_v6: int :param md5_authentication_key: The MD5 authentication key of the session. :type md5_authentication_key: str """ _validation = { - 'microsoft_session_ipv4_address': {'readonly': True}, - 'microsoft_session_ipv6_address': {'readonly': True}, 'session_state_v4': {'readonly': True}, 'session_state_v6': {'readonly': True}, } @@ -67,10 +53,10 @@ class BgpSession(Model): _attribute_map = { 'session_prefix_v4': {'key': 'sessionPrefixV4', 'type': 'str'}, 'session_prefix_v6': {'key': 'sessionPrefixV6', 'type': 'str'}, - 'microsoft_session_ipv4_address': {'key': 'microsoftSessionIPv4Address', 'type': 'str'}, - 'microsoft_session_ipv6_address': {'key': 'microsoftSessionIPv6Address', 'type': 'str'}, - 'peer_session_ipv4_address': {'key': 'peerSessionIPv4Address', 'type': 'str'}, - 'peer_session_ipv6_address': {'key': 'peerSessionIPv6Address', 'type': 'str'}, + 'microsoft_session_i_pv4_address': {'key': 'microsoftSessionIPv4Address', 'type': 'str'}, + 'microsoft_session_i_pv6_address': {'key': 'microsoftSessionIPv6Address', 'type': 'str'}, + 'peer_session_i_pv4_address': {'key': 'peerSessionIPv4Address', 'type': 'str'}, + 'peer_session_i_pv6_address': {'key': 'peerSessionIPv6Address', 'type': 'str'}, 'session_state_v4': {'key': 'sessionStateV4', 'type': 'str'}, 'session_state_v6': {'key': 'sessionStateV6', 'type': 'str'}, 'max_prefixes_advertised_v4': {'key': 'maxPrefixesAdvertisedV4', 'type': 'int'}, @@ -78,14 +64,17 @@ class BgpSession(Model): 'md5_authentication_key': {'key': 'md5AuthenticationKey', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(BgpSession, self).__init__(**kwargs) self.session_prefix_v4 = kwargs.get('session_prefix_v4', None) self.session_prefix_v6 = kwargs.get('session_prefix_v6', None) - self.microsoft_session_ipv4_address = None - self.microsoft_session_ipv6_address = None - self.peer_session_ipv4_address = kwargs.get('peer_session_ipv4_address', None) - self.peer_session_ipv6_address = kwargs.get('peer_session_ipv6_address', None) + self.microsoft_session_i_pv4_address = kwargs.get('microsoft_session_i_pv4_address', None) + self.microsoft_session_i_pv6_address = kwargs.get('microsoft_session_i_pv6_address', None) + self.peer_session_i_pv4_address = kwargs.get('peer_session_i_pv4_address', None) + self.peer_session_i_pv6_address = kwargs.get('peer_session_i_pv6_address', None) self.session_state_v4 = None self.session_state_v6 = None self.max_prefixes_advertised_v4 = kwargs.get('max_prefixes_advertised_v4', None) @@ -93,12 +82,12 @@ def __init__(self, **kwargs): self.md5_authentication_key = kwargs.get('md5_authentication_key', None) -class CheckServiceProviderAvailabilityInput(Model): +class CheckServiceProviderAvailabilityInput(msrest.serialization.Model): """Class for CheckServiceProviderAvailabilityInput. - :param peering_service_location: Gets or sets the PeeringServiceLocation + :param peering_service_location: Gets or sets the peering service location. :type peering_service_location: str - :param peering_service_provider: Gets or sets the PeeringServiceProvider + :param peering_service_provider: Gets or sets the peering service provider. :type peering_service_provider: str """ @@ -107,74 +96,70 @@ class CheckServiceProviderAvailabilityInput(Model): 'peering_service_provider': {'key': 'peeringServiceProvider', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(CheckServiceProviderAvailabilityInput, self).__init__(**kwargs) self.peering_service_location = kwargs.get('peering_service_location', None) self.peering_service_provider = kwargs.get('peering_service_provider', None) -class CloudError(Model): - """CloudError. - """ - - _attribute_map = { - } +class ContactDetail(msrest.serialization.Model): + """The contact detail class. - -class ContactInfo(Model): - """The contact information of the peer. - - :param emails: The list of email addresses. - :type emails: list[str] - :param phone: The list of contact numbers. - :type phone: list[str] + :param role: The role of the contact. Possible values include: "Noc", "Policy", "Technical", + "Service", "Escalation", "Other". + :type role: str or ~azure.mgmt.peering.models.Role + :param email: The e-mail address of the contact. + :type email: str + :param phone: The phone number of the contact. + :type phone: str """ _attribute_map = { - 'emails': {'key': 'emails', 'type': '[str]'}, - 'phone': {'key': 'phone', 'type': '[str]'}, + 'role': {'key': 'role', 'type': 'str'}, + 'email': {'key': 'email', 'type': 'str'}, + 'phone': {'key': 'phone', 'type': 'str'}, } - def __init__(self, **kwargs): - super(ContactInfo, self).__init__(**kwargs) - self.emails = kwargs.get('emails', None) + def __init__( + self, + **kwargs + ): + super(ContactDetail, self).__init__(**kwargs) + self.role = kwargs.get('role', None) + self.email = kwargs.get('email', None) self.phone = kwargs.get('phone', None) -class DirectConnection(Model): +class DirectConnection(msrest.serialization.Model): """The properties that define a direct connection. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. :param bandwidth_in_mbps: The bandwidth of the connection. :type bandwidth_in_mbps: int - :ivar provisioned_bandwidth_in_mbps: The bandwidth that is actually - provisioned. + :ivar provisioned_bandwidth_in_mbps: The bandwidth that is actually provisioned. :vartype provisioned_bandwidth_in_mbps: int - :param session_address_provider: The field indicating if Microsoft - provides session ip addresses. Possible values include: 'Microsoft', - 'Peer' - :type session_address_provider: str or - ~azure.mgmt.peering.models.SessionAddressProvider - :param use_for_peering_service: The flag that indicates whether or not the - connection is used for peering service. + :param session_address_provider: The field indicating if Microsoft provides session ip + addresses. Possible values include: "Microsoft", "Peer". + :type session_address_provider: str or ~azure.mgmt.peering.models.SessionAddressProvider + :param use_for_peering_service: The flag that indicates whether or not the connection is used + for peering service. :type use_for_peering_service: bool - :param peering_db_facility_id: The PeeringDB.com ID of the facility at - which the connection has to be set up. + :param peering_db_facility_id: The PeeringDB.com ID of the facility at which the connection has + to be set up. :type peering_db_facility_id: int - :ivar connection_state: The state of the connection. Possible values - include: 'None', 'PendingApproval', 'Approved', 'ProvisioningStarted', - 'ProvisioningFailed', 'ProvisioningCompleted', 'Validating', 'Active' - :vartype connection_state: str or - ~azure.mgmt.peering.models.ConnectionState + :ivar connection_state: The state of the connection. Possible values include: "None", + "PendingApproval", "Approved", "ProvisioningStarted", "ProvisioningFailed", + "ProvisioningCompleted", "Validating", "Active". + :vartype connection_state: str or ~azure.mgmt.peering.models.ConnectionState :param bgp_session: The BGP session associated with the connection. :type bgp_session: ~azure.mgmt.peering.models.BgpSession - :param connection_identifier: The unique identifier (GUID) for the - connection. + :param connection_identifier: The unique identifier (GUID) for the connection. :type connection_identifier: str - :ivar error_message: The error message related to the connection state, if - any. + :ivar error_message: The error message related to the connection state, if any. :vartype error_message: str """ @@ -196,7 +181,10 @@ class DirectConnection(Model): 'error_message': {'key': 'errorMessage', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(DirectConnection, self).__init__(**kwargs) self.bandwidth_in_mbps = kwargs.get('bandwidth_in_mbps', None) self.provisioned_bandwidth_in_mbps = None @@ -209,15 +197,14 @@ def __init__(self, **kwargs): self.error_message = None -class DirectPeeringFacility(Model): +class DirectPeeringFacility(msrest.serialization.Model): """The properties that define a direct peering facility. :param address: The address of the direct peering facility. :type address: str - :param direct_peering_type: The type of the direct peering. Possible - values include: 'Edge', 'Transit', 'Cdn', 'Internal' - :type direct_peering_type: str or - ~azure.mgmt.peering.models.DirectPeeringType + :param direct_peering_type: The type of the direct peering. Possible values include: "Edge", + "Transit", "Cdn", "Internal", "Ix", "IxRs". + :type direct_peering_type: str or ~azure.mgmt.peering.models.DirectPeeringType :param peering_db_facility_id: The PeeringDB.com ID of the facility. :type peering_db_facility_id: int :param peering_db_facility_link: The PeeringDB.com URL of the facility. @@ -231,7 +218,10 @@ class DirectPeeringFacility(Model): 'peering_db_facility_link': {'key': 'peeringDBFacilityLink', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(DirectPeeringFacility, self).__init__(**kwargs) self.address = kwargs.get('address', None) self.direct_peering_type = kwargs.get('direct_peering_type', None) @@ -239,11 +229,10 @@ def __init__(self, **kwargs): self.peering_db_facility_link = kwargs.get('peering_db_facility_link', None) -class ErrorResponse(Model): - """The error response that indicates why an operation has failed. +class ErrorDetail(msrest.serialization.Model): + """The error detail that describes why an operation has failed. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. :ivar code: The error code. :vartype code: str @@ -261,45 +250,51 @@ class ErrorResponse(Model): 'message': {'key': 'message', 'type': 'str'}, } - def __init__(self, **kwargs): - super(ErrorResponse, self).__init__(**kwargs) + def __init__( + self, + **kwargs + ): + super(ErrorDetail, self).__init__(**kwargs) self.code = None self.message = None -class ErrorResponseException(HttpOperationError): - """Server responsed with exception of type: 'ErrorResponse'. +class ErrorResponse(msrest.serialization.Model): + """The error response that indicates why an operation has failed. - :param deserialize: A deserializer - :param response: Server response to be deserialized. + :param error: The error detail that describes why an operation has failed. + :type error: ~azure.mgmt.peering.models.ErrorDetail """ - def __init__(self, deserialize, response, *args): + _attribute_map = { + 'error': {'key': 'error', 'type': 'ErrorDetail'}, + } - super(ErrorResponseException, self).__init__(deserialize, response, 'ErrorResponse', *args) + def __init__( + self, + **kwargs + ): + super(ErrorResponse, self).__init__(**kwargs) + self.error = kwargs.get('error', None) -class ExchangeConnection(Model): +class ExchangeConnection(msrest.serialization.Model): """The properties that define an exchange connection. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. - :param peering_db_facility_id: The PeeringDB.com ID of the facility at - which the connection has to be set up. + :param peering_db_facility_id: The PeeringDB.com ID of the facility at which the connection has + to be set up. :type peering_db_facility_id: int - :ivar connection_state: The state of the connection. Possible values - include: 'None', 'PendingApproval', 'Approved', 'ProvisioningStarted', - 'ProvisioningFailed', 'ProvisioningCompleted', 'Validating', 'Active' - :vartype connection_state: str or - ~azure.mgmt.peering.models.ConnectionState + :ivar connection_state: The state of the connection. Possible values include: "None", + "PendingApproval", "Approved", "ProvisioningStarted", "ProvisioningFailed", + "ProvisioningCompleted", "Validating", "Active". + :vartype connection_state: str or ~azure.mgmt.peering.models.ConnectionState :param bgp_session: The BGP session associated with the connection. :type bgp_session: ~azure.mgmt.peering.models.BgpSession - :param connection_identifier: The unique identifier (GUID) for the - connection. + :param connection_identifier: The unique identifier (GUID) for the connection. :type connection_identifier: str - :ivar error_message: The error message related to the connection state, if - any. + :ivar error_message: The error message related to the connection state, if any. :vartype error_message: str """ @@ -316,7 +311,10 @@ class ExchangeConnection(Model): 'error_message': {'key': 'errorMessage', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ExchangeConnection, self).__init__(**kwargs) self.peering_db_facility_id = kwargs.get('peering_db_facility_id', None) self.connection_state = None @@ -325,26 +323,22 @@ def __init__(self, **kwargs): self.error_message = None -class ExchangePeeringFacility(Model): +class ExchangePeeringFacility(msrest.serialization.Model): """The properties that define an exchange peering facility. :param exchange_name: The name of the exchange peering facility. :type exchange_name: str - :param bandwidth_in_mbps: The bandwidth of the connection between - Microsoft and the exchange peering facility. + :param bandwidth_in_mbps: The bandwidth of the connection between Microsoft and the exchange + peering facility. :type bandwidth_in_mbps: int - :param microsoft_ipv4_address: The IPv4 address of Microsoft at the - exchange peering facility. - :type microsoft_ipv4_address: str - :param microsoft_ipv6_address: The IPv6 address of Microsoft at the - exchange peering facility. - :type microsoft_ipv6_address: str - :param facility_ipv4_prefix: The IPv4 prefixes associated with the - exchange peering facility. - :type facility_ipv4_prefix: str - :param facility_ipv6_prefix: The IPv6 prefixes associated with the - exchange peering facility. - :type facility_ipv6_prefix: str + :param microsoft_i_pv4_address: The IPv4 address of Microsoft at the exchange peering facility. + :type microsoft_i_pv4_address: str + :param microsoft_i_pv6_address: The IPv6 address of Microsoft at the exchange peering facility. + :type microsoft_i_pv6_address: str + :param facility_i_pv4_prefix: The IPv4 prefixes associated with the exchange peering facility. + :type facility_i_pv4_prefix: str + :param facility_i_pv6_prefix: The IPv6 prefixes associated with the exchange peering facility. + :type facility_i_pv6_prefix: str :param peering_db_facility_id: The PeeringDB.com ID of the facility. :type peering_db_facility_id: int :param peering_db_facility_link: The PeeringDB.com URL of the facility. @@ -354,38 +348,39 @@ class ExchangePeeringFacility(Model): _attribute_map = { 'exchange_name': {'key': 'exchangeName', 'type': 'str'}, 'bandwidth_in_mbps': {'key': 'bandwidthInMbps', 'type': 'int'}, - 'microsoft_ipv4_address': {'key': 'microsoftIPv4Address', 'type': 'str'}, - 'microsoft_ipv6_address': {'key': 'microsoftIPv6Address', 'type': 'str'}, - 'facility_ipv4_prefix': {'key': 'facilityIPv4Prefix', 'type': 'str'}, - 'facility_ipv6_prefix': {'key': 'facilityIPv6Prefix', 'type': 'str'}, + 'microsoft_i_pv4_address': {'key': 'microsoftIPv4Address', 'type': 'str'}, + 'microsoft_i_pv6_address': {'key': 'microsoftIPv6Address', 'type': 'str'}, + 'facility_i_pv4_prefix': {'key': 'facilityIPv4Prefix', 'type': 'str'}, + 'facility_i_pv6_prefix': {'key': 'facilityIPv6Prefix', 'type': 'str'}, 'peering_db_facility_id': {'key': 'peeringDBFacilityId', 'type': 'int'}, 'peering_db_facility_link': {'key': 'peeringDBFacilityLink', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ExchangePeeringFacility, self).__init__(**kwargs) self.exchange_name = kwargs.get('exchange_name', None) self.bandwidth_in_mbps = kwargs.get('bandwidth_in_mbps', None) - self.microsoft_ipv4_address = kwargs.get('microsoft_ipv4_address', None) - self.microsoft_ipv6_address = kwargs.get('microsoft_ipv6_address', None) - self.facility_ipv4_prefix = kwargs.get('facility_ipv4_prefix', None) - self.facility_ipv6_prefix = kwargs.get('facility_ipv6_prefix', None) + self.microsoft_i_pv4_address = kwargs.get('microsoft_i_pv4_address', None) + self.microsoft_i_pv6_address = kwargs.get('microsoft_i_pv6_address', None) + self.facility_i_pv4_prefix = kwargs.get('facility_i_pv4_prefix', None) + self.facility_i_pv6_prefix = kwargs.get('facility_i_pv6_prefix', None) self.peering_db_facility_id = kwargs.get('peering_db_facility_id', None) self.peering_db_facility_link = kwargs.get('peering_db_facility_link', None) -class Operation(Model): +class Operation(msrest.serialization.Model): """The peering API operation. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. :ivar name: The name of the operation. :vartype name: str :ivar display: The information related to the operation. :vartype display: ~azure.mgmt.peering.models.OperationDisplayInfo - :ivar is_data_action: The flag that indicates whether the operation - applies to data plane. + :ivar is_data_action: The flag that indicates whether the operation applies to data plane. :vartype is_data_action: bool """ @@ -401,18 +396,20 @@ class Operation(Model): 'is_data_action': {'key': 'isDataAction', 'type': 'bool'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(Operation, self).__init__(**kwargs) self.name = None self.display = None self.is_data_action = None -class OperationDisplayInfo(Model): +class OperationDisplayInfo(msrest.serialization.Model): """The information related to the operation. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. :ivar provider: The name of the resource provider. :vartype provider: str @@ -438,7 +435,10 @@ class OperationDisplayInfo(Model): 'description': {'key': 'description', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(OperationDisplayInfo, self).__init__(**kwargs) self.provider = None self.resource = None @@ -446,11 +446,33 @@ def __init__(self, **kwargs): self.description = None -class Resource(Model): +class OperationListResult(msrest.serialization.Model): + """The paginated list of peering API operations. + + :param value: The list of peering API operations. + :type value: list[~azure.mgmt.peering.models.Operation] + :param next_link: The link to fetch the next page of peering API operations. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[Operation]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(OperationListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class Resource(msrest.serialization.Model): """The ARM resource class. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. :ivar name: The name of the resource. :vartype name: str @@ -472,7 +494,10 @@ class Resource(Model): 'type': {'key': 'type', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(Resource, self).__init__(**kwargs) self.name = None self.id = None @@ -482,8 +507,7 @@ def __init__(self, **kwargs): class PeerAsn(Resource): """The essential information related to the peer's ASN. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. :ivar name: The name of the resource. :vartype name: str @@ -493,14 +517,14 @@ class PeerAsn(Resource): :vartype type: str :param peer_asn: The Autonomous System Number (ASN) of the peer. :type peer_asn: int - :param peer_contact_info: The contact information of the peer. - :type peer_contact_info: ~azure.mgmt.peering.models.ContactInfo + :param peer_contact_detail: The contact details of the peer. + :type peer_contact_detail: list[~azure.mgmt.peering.models.ContactDetail] :param peer_name: The name of the peer. :type peer_name: str - :param validation_state: The validation state of the ASN associated with - the peer. Possible values include: 'None', 'Pending', 'Approved', 'Failed' + :param validation_state: The validation state of the ASN associated with the peer. Possible + values include: "None", "Pending", "Approved", "Failed". :type validation_state: str or ~azure.mgmt.peering.models.ValidationState - :ivar error_message: The error message for the validation state + :ivar error_message: The error message for the validation state. :vartype error_message: str """ @@ -516,27 +540,51 @@ class PeerAsn(Resource): 'id': {'key': 'id', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'peer_asn': {'key': 'properties.peerAsn', 'type': 'int'}, - 'peer_contact_info': {'key': 'properties.peerContactInfo', 'type': 'ContactInfo'}, + 'peer_contact_detail': {'key': 'properties.peerContactDetail', 'type': '[ContactDetail]'}, 'peer_name': {'key': 'properties.peerName', 'type': 'str'}, 'validation_state': {'key': 'properties.validationState', 'type': 'str'}, 'error_message': {'key': 'properties.errorMessage', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(PeerAsn, self).__init__(**kwargs) self.peer_asn = kwargs.get('peer_asn', None) - self.peer_contact_info = kwargs.get('peer_contact_info', None) + self.peer_contact_detail = kwargs.get('peer_contact_detail', None) self.peer_name = kwargs.get('peer_name', None) self.validation_state = kwargs.get('validation_state', None) self.error_message = None +class PeerAsnListResult(msrest.serialization.Model): + """The paginated list of peer ASNs. + + :param value: The list of peer ASNs. + :type value: list[~azure.mgmt.peering.models.PeerAsn] + :param next_link: The link to fetch the next page of peer ASNs. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[PeerAsn]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(PeerAsnListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + class Peering(Resource): - """Peering is a logical representation of a set of connections to the - Microsoft Cloud Edge at a location. + """Peering is a logical representation of a set of connections to the Microsoft Cloud Edge at a location. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. All required parameters must be populated in order to send to Azure. @@ -546,26 +594,23 @@ class Peering(Resource): :vartype id: str :ivar type: The type of the resource. :vartype type: str - :param sku: Required. The SKU that defines the tier and kind of the - peering. + :param sku: Required. The SKU that defines the tier and kind of the peering. :type sku: ~azure.mgmt.peering.models.PeeringSku - :param kind: Required. The kind of the peering. Possible values include: - 'Direct', 'Exchange' + :param kind: Required. The kind of the peering. Possible values include: "Direct", "Exchange". :type kind: str or ~azure.mgmt.peering.models.Kind + :param location: Required. The location of the resource. + :type location: str + :param tags: A set of tags. The resource tags. + :type tags: dict[str, str] :param direct: The properties that define a direct peering. :type direct: ~azure.mgmt.peering.models.PeeringPropertiesDirect :param exchange: The properties that define an exchange peering. :type exchange: ~azure.mgmt.peering.models.PeeringPropertiesExchange :param peering_location: The location of the peering. :type peering_location: str - :ivar provisioning_state: The provisioning state of the resource. Possible - values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.peering.models.ProvisioningState - :param location: Required. The location of the resource. - :type location: str - :param tags: The resource tags. - :type tags: dict[str, str] + :ivar provisioning_state: The provisioning state of the resource. Possible values include: + "Succeeded", "Updating", "Deleting", "Failed". + :vartype provisioning_state: str or ~azure.mgmt.peering.models.ProvisioningState """ _validation = { @@ -574,8 +619,8 @@ class Peering(Resource): 'type': {'readonly': True}, 'sku': {'required': True}, 'kind': {'required': True}, - 'provisioning_state': {'readonly': True}, 'location': {'required': True}, + 'provisioning_state': {'readonly': True}, } _attribute_map = { @@ -584,27 +629,30 @@ class Peering(Resource): 'type': {'key': 'type', 'type': 'str'}, 'sku': {'key': 'sku', 'type': 'PeeringSku'}, 'kind': {'key': 'kind', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, 'direct': {'key': 'properties.direct', 'type': 'PeeringPropertiesDirect'}, 'exchange': {'key': 'properties.exchange', 'type': 'PeeringPropertiesExchange'}, 'peering_location': {'key': 'properties.peeringLocation', 'type': 'str'}, 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(Peering, self).__init__(**kwargs) - self.sku = kwargs.get('sku', None) - self.kind = kwargs.get('kind', None) + self.sku = kwargs['sku'] + self.kind = kwargs['kind'] + self.location = kwargs['location'] + self.tags = kwargs.get('tags', None) self.direct = kwargs.get('direct', None) self.exchange = kwargs.get('exchange', None) self.peering_location = kwargs.get('peering_location', None) self.provisioning_state = None - self.location = kwargs.get('location', None) - self.tags = kwargs.get('tags', None) -class PeeringBandwidthOffer(Model): +class PeeringBandwidthOffer(msrest.serialization.Model): """The properties that define a peering bandwidth offer. :param offer_name: The name of the bandwidth offer. @@ -618,18 +666,42 @@ class PeeringBandwidthOffer(Model): 'value_in_mbps': {'key': 'valueInMbps', 'type': 'int'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(PeeringBandwidthOffer, self).__init__(**kwargs) self.offer_name = kwargs.get('offer_name', None) self.value_in_mbps = kwargs.get('value_in_mbps', None) +class PeeringListResult(msrest.serialization.Model): + """The paginated list of peerings. + + :param value: The list of peerings. + :type value: list[~azure.mgmt.peering.models.Peering] + :param next_link: The link to fetch the next page of peerings. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[Peering]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(PeeringListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + class PeeringLocation(Resource): - """Peering location is where connectivity could be established to the - Microsoft Cloud Edge. + """Peering location is where connectivity could be established to the Microsoft Cloud Edge. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. :ivar name: The name of the resource. :vartype name: str @@ -637,20 +709,18 @@ class PeeringLocation(Resource): :vartype id: str :ivar type: The type of the resource. :vartype type: str - :param kind: The kind of peering that the peering location supports. - Possible values include: 'Direct', 'Exchange' + :param kind: The kind of peering that the peering location supports. Possible values include: + "Direct", "Exchange". :type kind: str or ~azure.mgmt.peering.models.Kind :param direct: The properties that define a direct peering location. :type direct: ~azure.mgmt.peering.models.PeeringLocationPropertiesDirect :param exchange: The properties that define an exchange peering location. - :type exchange: - ~azure.mgmt.peering.models.PeeringLocationPropertiesExchange + :type exchange: ~azure.mgmt.peering.models.PeeringLocationPropertiesExchange :param peering_location: The name of the peering location. :type peering_location: str :param country: The country in which the peering location exists. :type country: str - :param azure_region: The Azure region associated with the peering - location. + :param azure_region: The Azure region associated with the peering location. :type azure_region: str """ @@ -672,7 +742,10 @@ class PeeringLocation(Resource): 'azure_region': {'key': 'properties.azureRegion', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(PeeringLocation, self).__init__(**kwargs) self.kind = kwargs.get('kind', None) self.direct = kwargs.get('direct', None) @@ -682,17 +755,36 @@ def __init__(self, **kwargs): self.azure_region = kwargs.get('azure_region', None) -class PeeringLocationPropertiesDirect(Model): +class PeeringLocationListResult(msrest.serialization.Model): + """The paginated list of peering locations. + + :param value: The list of peering locations. + :type value: list[~azure.mgmt.peering.models.PeeringLocation] + :param next_link: The link to fetch the next page of peering locations. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[PeeringLocation]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(PeeringLocationListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class PeeringLocationPropertiesDirect(msrest.serialization.Model): """The properties that define a direct peering location. - :param peering_facilities: The list of direct peering facilities at the - peering location. - :type peering_facilities: - list[~azure.mgmt.peering.models.DirectPeeringFacility] - :param bandwidth_offers: The list of bandwidth offers available at the - peering location. - :type bandwidth_offers: - list[~azure.mgmt.peering.models.PeeringBandwidthOffer] + :param peering_facilities: The list of direct peering facilities at the peering location. + :type peering_facilities: list[~azure.mgmt.peering.models.DirectPeeringFacility] + :param bandwidth_offers: The list of bandwidth offers available at the peering location. + :type bandwidth_offers: list[~azure.mgmt.peering.models.PeeringBandwidthOffer] """ _attribute_map = { @@ -700,48 +792,49 @@ class PeeringLocationPropertiesDirect(Model): 'bandwidth_offers': {'key': 'bandwidthOffers', 'type': '[PeeringBandwidthOffer]'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(PeeringLocationPropertiesDirect, self).__init__(**kwargs) self.peering_facilities = kwargs.get('peering_facilities', None) self.bandwidth_offers = kwargs.get('bandwidth_offers', None) -class PeeringLocationPropertiesExchange(Model): +class PeeringLocationPropertiesExchange(msrest.serialization.Model): """The properties that define an exchange peering location. - :param peering_facilities: The list of exchange peering facilities at the - peering location. - :type peering_facilities: - list[~azure.mgmt.peering.models.ExchangePeeringFacility] + :param peering_facilities: The list of exchange peering facilities at the peering location. + :type peering_facilities: list[~azure.mgmt.peering.models.ExchangePeeringFacility] """ _attribute_map = { 'peering_facilities': {'key': 'peeringFacilities', 'type': '[ExchangePeeringFacility]'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(PeeringLocationPropertiesExchange, self).__init__(**kwargs) self.peering_facilities = kwargs.get('peering_facilities', None) -class PeeringPropertiesDirect(Model): +class PeeringPropertiesDirect(msrest.serialization.Model): """The properties that define a direct peering. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. - :param connections: The set of connections that constitute a direct - peering. + :param connections: The set of connections that constitute a direct peering. :type connections: list[~azure.mgmt.peering.models.DirectConnection] - :ivar use_for_peering_service: The flag that indicates whether or not the - peering is used for peering service. + :ivar use_for_peering_service: The flag that indicates whether or not the peering is used for + peering service. :vartype use_for_peering_service: bool :param peer_asn: The reference of the peer ASN. :type peer_asn: ~azure.mgmt.peering.models.SubResource - :param direct_peering_type: The type of direct peering. Possible values - include: 'Edge', 'Transit', 'Cdn', 'Internal' - :type direct_peering_type: str or - ~azure.mgmt.peering.models.DirectPeeringType + :param direct_peering_type: The type of direct peering. Possible values include: "Edge", + "Transit", "Cdn", "Internal", "Ix", "IxRs". + :type direct_peering_type: str or ~azure.mgmt.peering.models.DirectPeeringType """ _validation = { @@ -755,7 +848,10 @@ class PeeringPropertiesDirect(Model): 'direct_peering_type': {'key': 'directPeeringType', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(PeeringPropertiesDirect, self).__init__(**kwargs) self.connections = kwargs.get('connections', None) self.use_for_peering_service = None @@ -763,11 +859,10 @@ def __init__(self, **kwargs): self.direct_peering_type = kwargs.get('direct_peering_type', None) -class PeeringPropertiesExchange(Model): +class PeeringPropertiesExchange(msrest.serialization.Model): """The properties that define an exchange peering. - :param connections: The set of connections that constitute an exchange - peering. + :param connections: The set of connections that constitute an exchange peering. :type connections: list[~azure.mgmt.peering.models.ExchangeConnection] :param peer_asn: The reference of the peer ASN. :type peer_asn: ~azure.mgmt.peering.models.SubResource @@ -778,17 +873,252 @@ class PeeringPropertiesExchange(Model): 'peer_asn': {'key': 'peerAsn', 'type': 'SubResource'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(PeeringPropertiesExchange, self).__init__(**kwargs) self.connections = kwargs.get('connections', None) self.peer_asn = kwargs.get('peer_asn', None) +class PeeringReceivedRoute(msrest.serialization.Model): + """The properties that define a received route. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar prefix: The prefix. + :vartype prefix: str + :ivar next_hop: The next hop for the prefix. + :vartype next_hop: str + :ivar as_path: The AS path for the prefix. + :vartype as_path: str + :ivar origin_as_validation_state: The origin AS change information for the prefix. + :vartype origin_as_validation_state: str + :ivar rpki_validation_state: The RPKI validation state for the prefix and origin AS that's + listed in the AS path. + :vartype rpki_validation_state: str + :ivar trust_anchor: The authority which holds the Route Origin Authorization record for the + prefix, if any. + :vartype trust_anchor: str + :ivar received_timestamp: The received timestamp associated with the prefix. + :vartype received_timestamp: str + """ + + _validation = { + 'prefix': {'readonly': True}, + 'next_hop': {'readonly': True}, + 'as_path': {'readonly': True}, + 'origin_as_validation_state': {'readonly': True}, + 'rpki_validation_state': {'readonly': True}, + 'trust_anchor': {'readonly': True}, + 'received_timestamp': {'readonly': True}, + } + + _attribute_map = { + 'prefix': {'key': 'prefix', 'type': 'str'}, + 'next_hop': {'key': 'nextHop', 'type': 'str'}, + 'as_path': {'key': 'asPath', 'type': 'str'}, + 'origin_as_validation_state': {'key': 'originAsValidationState', 'type': 'str'}, + 'rpki_validation_state': {'key': 'rpkiValidationState', 'type': 'str'}, + 'trust_anchor': {'key': 'trustAnchor', 'type': 'str'}, + 'received_timestamp': {'key': 'receivedTimestamp', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(PeeringReceivedRoute, self).__init__(**kwargs) + self.prefix = None + self.next_hop = None + self.as_path = None + self.origin_as_validation_state = None + self.rpki_validation_state = None + self.trust_anchor = None + self.received_timestamp = None + + +class PeeringReceivedRouteListResult(msrest.serialization.Model): + """The paginated list of received routes for the peering. + + :param value: The list of received routes for the peering. + :type value: list[~azure.mgmt.peering.models.PeeringReceivedRoute] + :param next_link: The link to fetch the next page of received routes for the peering. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[PeeringReceivedRoute]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(PeeringReceivedRouteListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class PeeringRegisteredAsn(Resource): + """The customer's ASN that is registered by the peering service provider. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar name: The name of the resource. + :vartype name: str + :ivar id: The ID of the resource. + :vartype id: str + :ivar type: The type of the resource. + :vartype type: str + :param asn: The customer's ASN from which traffic originates. + :type asn: int + :ivar peering_service_prefix_key: The peering service prefix key that is to be shared with the + customer. + :vartype peering_service_prefix_key: str + :ivar provisioning_state: The provisioning state of the resource. Possible values include: + "Succeeded", "Updating", "Deleting", "Failed". + :vartype provisioning_state: str or ~azure.mgmt.peering.models.ProvisioningState + """ + + _validation = { + 'name': {'readonly': True}, + 'id': {'readonly': True}, + 'type': {'readonly': True}, + 'peering_service_prefix_key': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'asn': {'key': 'properties.asn', 'type': 'int'}, + 'peering_service_prefix_key': {'key': 'properties.peeringServicePrefixKey', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(PeeringRegisteredAsn, self).__init__(**kwargs) + self.asn = kwargs.get('asn', None) + self.peering_service_prefix_key = None + self.provisioning_state = None + + +class PeeringRegisteredAsnListResult(msrest.serialization.Model): + """The paginated list of peering registered ASNs. + + :param value: The list of peering registered ASNs. + :type value: list[~azure.mgmt.peering.models.PeeringRegisteredAsn] + :param next_link: The link to fetch the next page of peering registered ASNs. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[PeeringRegisteredAsn]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(PeeringRegisteredAsnListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class PeeringRegisteredPrefix(Resource): + """The customer's prefix that is registered by the peering service provider. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar name: The name of the resource. + :vartype name: str + :ivar id: The ID of the resource. + :vartype id: str + :ivar type: The type of the resource. + :vartype type: str + :param prefix: The customer's prefix from which traffic originates. + :type prefix: str + :ivar prefix_validation_state: The prefix validation state. Possible values include: "None", + "Invalid", "Verified", "Failed", "Pending", "Warning", "Unknown". + :vartype prefix_validation_state: str or ~azure.mgmt.peering.models.PrefixValidationState + :ivar peering_service_prefix_key: The peering service prefix key that is to be shared with the + customer. + :vartype peering_service_prefix_key: str + :ivar error_message: The error message associated with the validation state, if any. + :vartype error_message: str + :ivar provisioning_state: The provisioning state of the resource. Possible values include: + "Succeeded", "Updating", "Deleting", "Failed". + :vartype provisioning_state: str or ~azure.mgmt.peering.models.ProvisioningState + """ + + _validation = { + 'name': {'readonly': True}, + 'id': {'readonly': True}, + 'type': {'readonly': True}, + 'prefix_validation_state': {'readonly': True}, + 'peering_service_prefix_key': {'readonly': True}, + 'error_message': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'prefix': {'key': 'properties.prefix', 'type': 'str'}, + 'prefix_validation_state': {'key': 'properties.prefixValidationState', 'type': 'str'}, + 'peering_service_prefix_key': {'key': 'properties.peeringServicePrefixKey', 'type': 'str'}, + 'error_message': {'key': 'properties.errorMessage', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(PeeringRegisteredPrefix, self).__init__(**kwargs) + self.prefix = kwargs.get('prefix', None) + self.prefix_validation_state = None + self.peering_service_prefix_key = None + self.error_message = None + self.provisioning_state = None + + +class PeeringRegisteredPrefixListResult(msrest.serialization.Model): + """The paginated list of peering registered prefixes. + + :param value: The list of peering registered prefixes. + :type value: list[~azure.mgmt.peering.models.PeeringRegisteredPrefix] + :param next_link: The link to fetch the next page of peering registered prefixes. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[PeeringRegisteredPrefix]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(PeeringRegisteredPrefixListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + class PeeringService(Resource): """Peering Service. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. All required parameters must be populated in order to send to Azure. @@ -798,54 +1128,136 @@ class PeeringService(Resource): :vartype id: str :ivar type: The type of the resource. :vartype type: str - :param peering_service_location: The PeeringServiceLocation of the - Customer. - :type peering_service_location: str - :param peering_service_provider: The MAPS Provider Name. - :type peering_service_provider: str - :ivar provisioning_state: The provisioning state of the resource. Possible - values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.peering.models.ProvisioningState + :param sku: The SKU that defines the type of the peering service. + :type sku: ~azure.mgmt.peering.models.PeeringServiceSku :param location: Required. The location of the resource. :type location: str - :param tags: The resource tags. + :param tags: A set of tags. The resource tags. :type tags: dict[str, str] + :param peering_service_location: The PeeringServiceLocation of the Customer. + :type peering_service_location: str + :param peering_service_provider: The MAPS Provider Name. + :type peering_service_provider: str + :ivar provisioning_state: The provisioning state of the resource. Possible values include: + "Succeeded", "Updating", "Deleting", "Failed". + :vartype provisioning_state: str or ~azure.mgmt.peering.models.ProvisioningState """ _validation = { 'name': {'readonly': True}, 'id': {'readonly': True}, 'type': {'readonly': True}, - 'provisioning_state': {'readonly': True}, 'location': {'required': True}, + 'provisioning_state': {'readonly': True}, } _attribute_map = { 'name': {'key': 'name', 'type': 'str'}, 'id': {'key': 'id', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, + 'sku': {'key': 'sku', 'type': 'PeeringServiceSku'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, 'peering_service_location': {'key': 'properties.peeringServiceLocation', 'type': 'str'}, 'peering_service_provider': {'key': 'properties.peeringServiceProvider', 'type': 'str'}, 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(PeeringService, self).__init__(**kwargs) + self.sku = kwargs.get('sku', None) + self.location = kwargs['location'] + self.tags = kwargs.get('tags', None) self.peering_service_location = kwargs.get('peering_service_location', None) self.peering_service_provider = kwargs.get('peering_service_provider', None) self.provisioning_state = None - self.location = kwargs.get('location', None) - self.tags = kwargs.get('tags', None) + + +class PeeringServiceCountry(Resource): + """The peering service country. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar name: The name of the resource. + :vartype name: str + :ivar id: The ID of the resource. + :vartype id: str + :ivar type: The type of the resource. + :vartype type: str + """ + + _validation = { + 'name': {'readonly': True}, + 'id': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(PeeringServiceCountry, self).__init__(**kwargs) + + +class PeeringServiceCountryListResult(msrest.serialization.Model): + """The paginated list of peering service countries. + + :param value: The list of peering service countries. + :type value: list[~azure.mgmt.peering.models.PeeringServiceCountry] + :param next_link: The link to fetch the next page of peering service countries. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[PeeringServiceCountry]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(PeeringServiceCountryListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class PeeringServiceListResult(msrest.serialization.Model): + """The paginated list of peering services. + + :param value: The list of peering services. + :type value: list[~azure.mgmt.peering.models.PeeringService] + :param next_link: The link to fetch the next page of peering services. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[PeeringService]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(PeeringServiceListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) class PeeringServiceLocation(Resource): - """PeeringService location. + """The peering service location. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. :ivar name: The name of the resource. :vartype name: str @@ -853,11 +1265,11 @@ class PeeringServiceLocation(Resource): :vartype id: str :ivar type: The type of the resource. :vartype type: str - :param country: Country of the customer + :param country: Country of the customer. :type country: str - :param state: State of the customer + :param state: State of the customer. :type state: str - :param azure_region: Azure region for the location + :param azure_region: Azure region for the location. :type azure_region: str """ @@ -876,18 +1288,43 @@ class PeeringServiceLocation(Resource): 'azure_region': {'key': 'properties.azureRegion', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(PeeringServiceLocation, self).__init__(**kwargs) self.country = kwargs.get('country', None) self.state = kwargs.get('state', None) self.azure_region = kwargs.get('azure_region', None) +class PeeringServiceLocationListResult(msrest.serialization.Model): + """The paginated list of peering service locations. + + :param value: The list of peering service locations. + :type value: list[~azure.mgmt.peering.models.PeeringServiceLocation] + :param next_link: The link to fetch the next page of peering service locations. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[PeeringServiceLocation]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(PeeringServiceLocationListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + class PeeringServicePrefix(Resource): """The peering service prefix class. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. :ivar name: The name of the resource. :vartype name: str @@ -897,23 +1334,21 @@ class PeeringServicePrefix(Resource): :vartype type: str :param prefix: The prefix from which your traffic originates. :type prefix: str - :ivar prefix_validation_state: The prefix validation state. Possible - values include: 'None', 'Invalid', 'Verified', 'Failed', 'Pending', - 'Warning', 'Unknown' - :vartype prefix_validation_state: str or - ~azure.mgmt.peering.models.PrefixValidationState - :ivar learned_type: The prefix learned type. Possible values include: - 'None', 'ViaServiceProvider', 'ViaSession' + :ivar prefix_validation_state: The prefix validation state. Possible values include: "None", + "Invalid", "Verified", "Failed", "Pending", "Warning", "Unknown". + :vartype prefix_validation_state: str or ~azure.mgmt.peering.models.PrefixValidationState + :ivar learned_type: The prefix learned type. Possible values include: "None", + "ViaServiceProvider", "ViaSession". :vartype learned_type: str or ~azure.mgmt.peering.models.LearnedType - :ivar error_message: The error message for validation state + :ivar error_message: The error message for validation state. :vartype error_message: str - :ivar events: The list of events for peering service prefix - :vartype events: - list[~azure.mgmt.peering.models.PeeringServicePrefixEvent] - :ivar provisioning_state: The provisioning state of the resource. Possible - values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.peering.models.ProvisioningState + :ivar events: The list of events for peering service prefix. + :vartype events: list[~azure.mgmt.peering.models.PeeringServicePrefixEvent] + :param peering_service_prefix_key: The peering service prefix key. + :type peering_service_prefix_key: str + :ivar provisioning_state: The provisioning state of the resource. Possible values include: + "Succeeded", "Updating", "Deleting", "Failed". + :vartype provisioning_state: str or ~azure.mgmt.peering.models.ProvisioningState """ _validation = { @@ -936,36 +1371,38 @@ class PeeringServicePrefix(Resource): 'learned_type': {'key': 'properties.learnedType', 'type': 'str'}, 'error_message': {'key': 'properties.errorMessage', 'type': 'str'}, 'events': {'key': 'properties.events', 'type': '[PeeringServicePrefixEvent]'}, + 'peering_service_prefix_key': {'key': 'properties.peeringServicePrefixKey', 'type': 'str'}, 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(PeeringServicePrefix, self).__init__(**kwargs) self.prefix = kwargs.get('prefix', None) self.prefix_validation_state = None self.learned_type = None self.error_message = None self.events = None + self.peering_service_prefix_key = kwargs.get('peering_service_prefix_key', None) self.provisioning_state = None -class PeeringServicePrefixEvent(Model): +class PeeringServicePrefixEvent(msrest.serialization.Model): """The details of the event associated with a prefix. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. - :ivar event_timestamp: The timestamp of the event associated with a - prefix. - :vartype event_timestamp: datetime + :ivar event_timestamp: The timestamp of the event associated with a prefix. + :vartype event_timestamp: ~datetime.datetime :ivar event_type: The type of the event associated with a prefix. :vartype event_type: str :ivar event_summary: The summary of the event associated with a prefix. :vartype event_summary: str :ivar event_level: The level of the event associated with a prefix. :vartype event_level: str - :ivar event_description: The description of the event associated with a - prefix. + :ivar event_description: The description of the event associated with a prefix. :vartype event_description: str """ @@ -985,7 +1422,10 @@ class PeeringServicePrefixEvent(Model): 'event_description': {'key': 'eventDescription', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(PeeringServicePrefixEvent, self).__init__(**kwargs) self.event_timestamp = None self.event_type = None @@ -994,11 +1434,33 @@ def __init__(self, **kwargs): self.event_description = None +class PeeringServicePrefixListResult(msrest.serialization.Model): + """The paginated list of peering service prefixes. + + :param value: The list of peering service prefixes. + :type value: list[~azure.mgmt.peering.models.PeeringServicePrefix] + :param next_link: The link to fetch the next page of peering service prefixes. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[PeeringServicePrefix]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(PeeringServicePrefixListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + class PeeringServiceProvider(Resource): """PeeringService provider. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. :ivar name: The name of the resource. :vartype name: str @@ -1023,27 +1485,67 @@ class PeeringServiceProvider(Resource): 'service_provider_name': {'key': 'properties.serviceProviderName', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(PeeringServiceProvider, self).__init__(**kwargs) self.service_provider_name = kwargs.get('service_provider_name', None) -class PeeringSku(Model): +class PeeringServiceProviderListResult(msrest.serialization.Model): + """The paginated list of peering service providers. + + :param value: The list of peering service providers. + :type value: list[~azure.mgmt.peering.models.PeeringServiceProvider] + :param next_link: The link to fetch the next page of peering service providers. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[PeeringServiceProvider]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(PeeringServiceProviderListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class PeeringServiceSku(msrest.serialization.Model): + """The SKU that defines the type of the peering service. + + :param name: The name of the peering service SKU. + :type name: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(PeeringServiceSku, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + + +class PeeringSku(msrest.serialization.Model): """The SKU that defines the tier and kind of the peering. - :param name: The name of the peering SKU. Possible values include: - 'Basic_Exchange_Free', 'Basic_Direct_Free', 'Premium_Direct_Free', - 'Premium_Exchange_Metered', 'Premium_Direct_Metered', - 'Premium_Direct_Unlimited' - :type name: str or ~azure.mgmt.peering.models.Name - :param tier: The tier of the peering SKU. Possible values include: - 'Basic', 'Premium' + :param name: The name of the peering SKU. + :type name: str + :param tier: The tier of the peering SKU. Possible values include: "Basic", "Premium". :type tier: str or ~azure.mgmt.peering.models.Tier - :param family: The family of the peering SKU. Possible values include: - 'Direct', 'Exchange' + :param family: The family of the peering SKU. Possible values include: "Direct", "Exchange". :type family: str or ~azure.mgmt.peering.models.Family - :param size: The size of the peering SKU. Possible values include: 'Free', - 'Metered', 'Unlimited' + :param size: The size of the peering SKU. Possible values include: "Free", "Metered", + "Unlimited". :type size: str or ~azure.mgmt.peering.models.Size """ @@ -1054,7 +1556,10 @@ class PeeringSku(Model): 'size': {'key': 'size', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(PeeringSku, self).__init__(**kwargs) self.name = kwargs.get('name', None) self.tier = kwargs.get('tier', None) @@ -1062,10 +1567,10 @@ def __init__(self, **kwargs): self.size = kwargs.get('size', None) -class ResourceTags(Model): +class ResourceTags(msrest.serialization.Model): """The resource tags. - :param tags: Gets or sets the tags, a dictionary of descriptors arm object + :param tags: A set of tags. Gets or sets the tags, a dictionary of descriptors arm object. :type tags: dict[str, str] """ @@ -1073,12 +1578,15 @@ class ResourceTags(Model): 'tags': {'key': 'tags', 'type': '{str}'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ResourceTags, self).__init__(**kwargs) self.tags = kwargs.get('tags', None) -class SubResource(Model): +class SubResource(msrest.serialization.Model): """The sub resource. :param id: The identifier of the referenced resource. @@ -1089,6 +1597,9 @@ class SubResource(Model): 'id': {'key': 'id', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(SubResource, self).__init__(**kwargs) self.id = kwargs.get('id', None) diff --git a/src/peering/azext_peering/vendored_sdks/peering/models/_models_py3.py b/src/peering/azext_peering/vendored_sdks/peering/models/_models_py3.py index d92200c18ee..c50564e7d53 100644 --- a/src/peering/azext_peering/vendored_sdks/peering/models/_models_py3.py +++ b/src/peering/azext_peering/vendored_sdks/peering/models/_models_py3.py @@ -1,65 +1,53 @@ # coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# +# Licensed under the MIT License. See License.txt in the project root for license information. # Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from msrest.serialization import Model -from msrest.exceptions import HttpOperationError +from typing import Dict, List, Optional, Union +from azure.core.exceptions import HttpResponseError +import msrest.serialization -class BgpSession(Model): + +class BgpSession(msrest.serialization.Model): """The properties that define a BGP session. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. - :param session_prefix_v4: The IPv4 prefix that contains both ends' IPv4 - addresses. + :param session_prefix_v4: The IPv4 prefix that contains both ends' IPv4 addresses. :type session_prefix_v4: str - :param session_prefix_v6: The IPv6 prefix that contains both ends' IPv6 - addresses. + :param session_prefix_v6: The IPv6 prefix that contains both ends' IPv6 addresses. :type session_prefix_v6: str - :ivar microsoft_session_ipv4_address: The IPv4 session address on - Microsoft's end. - :vartype microsoft_session_ipv4_address: str - :ivar microsoft_session_ipv6_address: The IPv6 session address on - Microsoft's end. - :vartype microsoft_session_ipv6_address: str - :param peer_session_ipv4_address: The IPv4 session address on peer's end. - :type peer_session_ipv4_address: str - :param peer_session_ipv6_address: The IPv6 session address on peer's end. - :type peer_session_ipv6_address: str - :ivar session_state_v4: The state of the IPv4 session. Possible values - include: 'None', 'Idle', 'Connect', 'Active', 'OpenSent', 'OpenConfirm', - 'OpenReceived', 'Established', 'PendingAdd', 'PendingUpdate', - 'PendingRemove' - :vartype session_state_v4: str or - ~azure.mgmt.peering.models.SessionStateV4 - :ivar session_state_v6: The state of the IPv6 session. Possible values - include: 'None', 'Idle', 'Connect', 'Active', 'OpenSent', 'OpenConfirm', - 'OpenReceived', 'Established', 'PendingAdd', 'PendingUpdate', - 'PendingRemove' - :vartype session_state_v6: str or - ~azure.mgmt.peering.models.SessionStateV6 - :param max_prefixes_advertised_v4: The maximum number of prefixes - advertised over the IPv4 session. + :param microsoft_session_i_pv4_address: The IPv4 session address on Microsoft's end. + :type microsoft_session_i_pv4_address: str + :param microsoft_session_i_pv6_address: The IPv6 session address on Microsoft's end. + :type microsoft_session_i_pv6_address: str + :param peer_session_i_pv4_address: The IPv4 session address on peer's end. + :type peer_session_i_pv4_address: str + :param peer_session_i_pv6_address: The IPv6 session address on peer's end. + :type peer_session_i_pv6_address: str + :ivar session_state_v4: The state of the IPv4 session. Possible values include: "None", "Idle", + "Connect", "Active", "OpenSent", "OpenConfirm", "OpenReceived", "Established", "PendingAdd", + "PendingUpdate", "PendingRemove". + :vartype session_state_v4: str or ~azure.mgmt.peering.models.SessionStateV4 + :ivar session_state_v6: The state of the IPv6 session. Possible values include: "None", "Idle", + "Connect", "Active", "OpenSent", "OpenConfirm", "OpenReceived", "Established", "PendingAdd", + "PendingUpdate", "PendingRemove". + :vartype session_state_v6: str or ~azure.mgmt.peering.models.SessionStateV6 + :param max_prefixes_advertised_v4: The maximum number of prefixes advertised over the IPv4 + session. :type max_prefixes_advertised_v4: int - :param max_prefixes_advertised_v6: The maximum number of prefixes - advertised over the IPv6 session. + :param max_prefixes_advertised_v6: The maximum number of prefixes advertised over the IPv6 + session. :type max_prefixes_advertised_v6: int :param md5_authentication_key: The MD5 authentication key of the session. :type md5_authentication_key: str """ _validation = { - 'microsoft_session_ipv4_address': {'readonly': True}, - 'microsoft_session_ipv6_address': {'readonly': True}, 'session_state_v4': {'readonly': True}, 'session_state_v6': {'readonly': True}, } @@ -67,10 +55,10 @@ class BgpSession(Model): _attribute_map = { 'session_prefix_v4': {'key': 'sessionPrefixV4', 'type': 'str'}, 'session_prefix_v6': {'key': 'sessionPrefixV6', 'type': 'str'}, - 'microsoft_session_ipv4_address': {'key': 'microsoftSessionIPv4Address', 'type': 'str'}, - 'microsoft_session_ipv6_address': {'key': 'microsoftSessionIPv6Address', 'type': 'str'}, - 'peer_session_ipv4_address': {'key': 'peerSessionIPv4Address', 'type': 'str'}, - 'peer_session_ipv6_address': {'key': 'peerSessionIPv6Address', 'type': 'str'}, + 'microsoft_session_i_pv4_address': {'key': 'microsoftSessionIPv4Address', 'type': 'str'}, + 'microsoft_session_i_pv6_address': {'key': 'microsoftSessionIPv6Address', 'type': 'str'}, + 'peer_session_i_pv4_address': {'key': 'peerSessionIPv4Address', 'type': 'str'}, + 'peer_session_i_pv6_address': {'key': 'peerSessionIPv6Address', 'type': 'str'}, 'session_state_v4': {'key': 'sessionStateV4', 'type': 'str'}, 'session_state_v6': {'key': 'sessionStateV6', 'type': 'str'}, 'max_prefixes_advertised_v4': {'key': 'maxPrefixesAdvertisedV4', 'type': 'int'}, @@ -78,14 +66,27 @@ class BgpSession(Model): 'md5_authentication_key': {'key': 'md5AuthenticationKey', 'type': 'str'}, } - def __init__(self, *, session_prefix_v4: str=None, session_prefix_v6: str=None, peer_session_ipv4_address: str=None, peer_session_ipv6_address: str=None, max_prefixes_advertised_v4: int=None, max_prefixes_advertised_v6: int=None, md5_authentication_key: str=None, **kwargs) -> None: + def __init__( + self, + *, + session_prefix_v4: Optional[str] = None, + session_prefix_v6: Optional[str] = None, + microsoft_session_i_pv4_address: Optional[str] = None, + microsoft_session_i_pv6_address: Optional[str] = None, + peer_session_i_pv4_address: Optional[str] = None, + peer_session_i_pv6_address: Optional[str] = None, + max_prefixes_advertised_v4: Optional[int] = None, + max_prefixes_advertised_v6: Optional[int] = None, + md5_authentication_key: Optional[str] = None, + **kwargs + ): super(BgpSession, self).__init__(**kwargs) self.session_prefix_v4 = session_prefix_v4 self.session_prefix_v6 = session_prefix_v6 - self.microsoft_session_ipv4_address = None - self.microsoft_session_ipv6_address = None - self.peer_session_ipv4_address = peer_session_ipv4_address - self.peer_session_ipv6_address = peer_session_ipv6_address + self.microsoft_session_i_pv4_address = microsoft_session_i_pv4_address + self.microsoft_session_i_pv6_address = microsoft_session_i_pv6_address + self.peer_session_i_pv4_address = peer_session_i_pv4_address + self.peer_session_i_pv6_address = peer_session_i_pv6_address self.session_state_v4 = None self.session_state_v6 = None self.max_prefixes_advertised_v4 = max_prefixes_advertised_v4 @@ -93,12 +94,12 @@ def __init__(self, *, session_prefix_v4: str=None, session_prefix_v6: str=None, self.md5_authentication_key = md5_authentication_key -class CheckServiceProviderAvailabilityInput(Model): +class CheckServiceProviderAvailabilityInput(msrest.serialization.Model): """Class for CheckServiceProviderAvailabilityInput. - :param peering_service_location: Gets or sets the PeeringServiceLocation + :param peering_service_location: Gets or sets the peering service location. :type peering_service_location: str - :param peering_service_provider: Gets or sets the PeeringServiceProvider + :param peering_service_provider: Gets or sets the peering service provider. :type peering_service_provider: str """ @@ -107,74 +108,77 @@ class CheckServiceProviderAvailabilityInput(Model): 'peering_service_provider': {'key': 'peeringServiceProvider', 'type': 'str'}, } - def __init__(self, *, peering_service_location: str=None, peering_service_provider: str=None, **kwargs) -> None: + def __init__( + self, + *, + peering_service_location: Optional[str] = None, + peering_service_provider: Optional[str] = None, + **kwargs + ): super(CheckServiceProviderAvailabilityInput, self).__init__(**kwargs) self.peering_service_location = peering_service_location self.peering_service_provider = peering_service_provider -class CloudError(Model): - """CloudError. - """ - - _attribute_map = { - } - +class ContactDetail(msrest.serialization.Model): + """The contact detail class. -class ContactInfo(Model): - """The contact information of the peer. - - :param emails: The list of email addresses. - :type emails: list[str] - :param phone: The list of contact numbers. - :type phone: list[str] + :param role: The role of the contact. Possible values include: "Noc", "Policy", "Technical", + "Service", "Escalation", "Other". + :type role: str or ~azure.mgmt.peering.models.Role + :param email: The e-mail address of the contact. + :type email: str + :param phone: The phone number of the contact. + :type phone: str """ _attribute_map = { - 'emails': {'key': 'emails', 'type': '[str]'}, - 'phone': {'key': 'phone', 'type': '[str]'}, + 'role': {'key': 'role', 'type': 'str'}, + 'email': {'key': 'email', 'type': 'str'}, + 'phone': {'key': 'phone', 'type': 'str'}, } - def __init__(self, *, emails=None, phone=None, **kwargs) -> None: - super(ContactInfo, self).__init__(**kwargs) - self.emails = emails + def __init__( + self, + *, + role: Optional[Union[str, "Role"]] = None, + email: Optional[str] = None, + phone: Optional[str] = None, + **kwargs + ): + super(ContactDetail, self).__init__(**kwargs) + self.role = role + self.email = email self.phone = phone -class DirectConnection(Model): +class DirectConnection(msrest.serialization.Model): """The properties that define a direct connection. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. :param bandwidth_in_mbps: The bandwidth of the connection. :type bandwidth_in_mbps: int - :ivar provisioned_bandwidth_in_mbps: The bandwidth that is actually - provisioned. + :ivar provisioned_bandwidth_in_mbps: The bandwidth that is actually provisioned. :vartype provisioned_bandwidth_in_mbps: int - :param session_address_provider: The field indicating if Microsoft - provides session ip addresses. Possible values include: 'Microsoft', - 'Peer' - :type session_address_provider: str or - ~azure.mgmt.peering.models.SessionAddressProvider - :param use_for_peering_service: The flag that indicates whether or not the - connection is used for peering service. + :param session_address_provider: The field indicating if Microsoft provides session ip + addresses. Possible values include: "Microsoft", "Peer". + :type session_address_provider: str or ~azure.mgmt.peering.models.SessionAddressProvider + :param use_for_peering_service: The flag that indicates whether or not the connection is used + for peering service. :type use_for_peering_service: bool - :param peering_db_facility_id: The PeeringDB.com ID of the facility at - which the connection has to be set up. + :param peering_db_facility_id: The PeeringDB.com ID of the facility at which the connection has + to be set up. :type peering_db_facility_id: int - :ivar connection_state: The state of the connection. Possible values - include: 'None', 'PendingApproval', 'Approved', 'ProvisioningStarted', - 'ProvisioningFailed', 'ProvisioningCompleted', 'Validating', 'Active' - :vartype connection_state: str or - ~azure.mgmt.peering.models.ConnectionState + :ivar connection_state: The state of the connection. Possible values include: "None", + "PendingApproval", "Approved", "ProvisioningStarted", "ProvisioningFailed", + "ProvisioningCompleted", "Validating", "Active". + :vartype connection_state: str or ~azure.mgmt.peering.models.ConnectionState :param bgp_session: The BGP session associated with the connection. :type bgp_session: ~azure.mgmt.peering.models.BgpSession - :param connection_identifier: The unique identifier (GUID) for the - connection. + :param connection_identifier: The unique identifier (GUID) for the connection. :type connection_identifier: str - :ivar error_message: The error message related to the connection state, if - any. + :ivar error_message: The error message related to the connection state, if any. :vartype error_message: str """ @@ -196,7 +200,17 @@ class DirectConnection(Model): 'error_message': {'key': 'errorMessage', 'type': 'str'}, } - def __init__(self, *, bandwidth_in_mbps: int=None, session_address_provider=None, use_for_peering_service: bool=None, peering_db_facility_id: int=None, bgp_session=None, connection_identifier: str=None, **kwargs) -> None: + def __init__( + self, + *, + bandwidth_in_mbps: Optional[int] = None, + session_address_provider: Optional[Union[str, "SessionAddressProvider"]] = None, + use_for_peering_service: Optional[bool] = None, + peering_db_facility_id: Optional[int] = None, + bgp_session: Optional["BgpSession"] = None, + connection_identifier: Optional[str] = None, + **kwargs + ): super(DirectConnection, self).__init__(**kwargs) self.bandwidth_in_mbps = bandwidth_in_mbps self.provisioned_bandwidth_in_mbps = None @@ -209,15 +223,14 @@ def __init__(self, *, bandwidth_in_mbps: int=None, session_address_provider=None self.error_message = None -class DirectPeeringFacility(Model): +class DirectPeeringFacility(msrest.serialization.Model): """The properties that define a direct peering facility. :param address: The address of the direct peering facility. :type address: str - :param direct_peering_type: The type of the direct peering. Possible - values include: 'Edge', 'Transit', 'Cdn', 'Internal' - :type direct_peering_type: str or - ~azure.mgmt.peering.models.DirectPeeringType + :param direct_peering_type: The type of the direct peering. Possible values include: "Edge", + "Transit", "Cdn", "Internal", "Ix", "IxRs". + :type direct_peering_type: str or ~azure.mgmt.peering.models.DirectPeeringType :param peering_db_facility_id: The PeeringDB.com ID of the facility. :type peering_db_facility_id: int :param peering_db_facility_link: The PeeringDB.com URL of the facility. @@ -231,7 +244,15 @@ class DirectPeeringFacility(Model): 'peering_db_facility_link': {'key': 'peeringDBFacilityLink', 'type': 'str'}, } - def __init__(self, *, address: str=None, direct_peering_type=None, peering_db_facility_id: int=None, peering_db_facility_link: str=None, **kwargs) -> None: + def __init__( + self, + *, + address: Optional[str] = None, + direct_peering_type: Optional[Union[str, "DirectPeeringType"]] = None, + peering_db_facility_id: Optional[int] = None, + peering_db_facility_link: Optional[str] = None, + **kwargs + ): super(DirectPeeringFacility, self).__init__(**kwargs) self.address = address self.direct_peering_type = direct_peering_type @@ -239,11 +260,10 @@ def __init__(self, *, address: str=None, direct_peering_type=None, peering_db_fa self.peering_db_facility_link = peering_db_facility_link -class ErrorResponse(Model): - """The error response that indicates why an operation has failed. +class ErrorDetail(msrest.serialization.Model): + """The error detail that describes why an operation has failed. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. :ivar code: The error code. :vartype code: str @@ -261,45 +281,53 @@ class ErrorResponse(Model): 'message': {'key': 'message', 'type': 'str'}, } - def __init__(self, **kwargs) -> None: - super(ErrorResponse, self).__init__(**kwargs) + def __init__( + self, + **kwargs + ): + super(ErrorDetail, self).__init__(**kwargs) self.code = None self.message = None -class ErrorResponseException(HttpOperationError): - """Server responsed with exception of type: 'ErrorResponse'. +class ErrorResponse(msrest.serialization.Model): + """The error response that indicates why an operation has failed. - :param deserialize: A deserializer - :param response: Server response to be deserialized. + :param error: The error detail that describes why an operation has failed. + :type error: ~azure.mgmt.peering.models.ErrorDetail """ - def __init__(self, deserialize, response, *args): + _attribute_map = { + 'error': {'key': 'error', 'type': 'ErrorDetail'}, + } - super(ErrorResponseException, self).__init__(deserialize, response, 'ErrorResponse', *args) + def __init__( + self, + *, + error: Optional["ErrorDetail"] = None, + **kwargs + ): + super(ErrorResponse, self).__init__(**kwargs) + self.error = error -class ExchangeConnection(Model): +class ExchangeConnection(msrest.serialization.Model): """The properties that define an exchange connection. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. - :param peering_db_facility_id: The PeeringDB.com ID of the facility at - which the connection has to be set up. + :param peering_db_facility_id: The PeeringDB.com ID of the facility at which the connection has + to be set up. :type peering_db_facility_id: int - :ivar connection_state: The state of the connection. Possible values - include: 'None', 'PendingApproval', 'Approved', 'ProvisioningStarted', - 'ProvisioningFailed', 'ProvisioningCompleted', 'Validating', 'Active' - :vartype connection_state: str or - ~azure.mgmt.peering.models.ConnectionState + :ivar connection_state: The state of the connection. Possible values include: "None", + "PendingApproval", "Approved", "ProvisioningStarted", "ProvisioningFailed", + "ProvisioningCompleted", "Validating", "Active". + :vartype connection_state: str or ~azure.mgmt.peering.models.ConnectionState :param bgp_session: The BGP session associated with the connection. :type bgp_session: ~azure.mgmt.peering.models.BgpSession - :param connection_identifier: The unique identifier (GUID) for the - connection. + :param connection_identifier: The unique identifier (GUID) for the connection. :type connection_identifier: str - :ivar error_message: The error message related to the connection state, if - any. + :ivar error_message: The error message related to the connection state, if any. :vartype error_message: str """ @@ -316,7 +344,14 @@ class ExchangeConnection(Model): 'error_message': {'key': 'errorMessage', 'type': 'str'}, } - def __init__(self, *, peering_db_facility_id: int=None, bgp_session=None, connection_identifier: str=None, **kwargs) -> None: + def __init__( + self, + *, + peering_db_facility_id: Optional[int] = None, + bgp_session: Optional["BgpSession"] = None, + connection_identifier: Optional[str] = None, + **kwargs + ): super(ExchangeConnection, self).__init__(**kwargs) self.peering_db_facility_id = peering_db_facility_id self.connection_state = None @@ -325,26 +360,22 @@ def __init__(self, *, peering_db_facility_id: int=None, bgp_session=None, connec self.error_message = None -class ExchangePeeringFacility(Model): +class ExchangePeeringFacility(msrest.serialization.Model): """The properties that define an exchange peering facility. :param exchange_name: The name of the exchange peering facility. :type exchange_name: str - :param bandwidth_in_mbps: The bandwidth of the connection between - Microsoft and the exchange peering facility. + :param bandwidth_in_mbps: The bandwidth of the connection between Microsoft and the exchange + peering facility. :type bandwidth_in_mbps: int - :param microsoft_ipv4_address: The IPv4 address of Microsoft at the - exchange peering facility. - :type microsoft_ipv4_address: str - :param microsoft_ipv6_address: The IPv6 address of Microsoft at the - exchange peering facility. - :type microsoft_ipv6_address: str - :param facility_ipv4_prefix: The IPv4 prefixes associated with the - exchange peering facility. - :type facility_ipv4_prefix: str - :param facility_ipv6_prefix: The IPv6 prefixes associated with the - exchange peering facility. - :type facility_ipv6_prefix: str + :param microsoft_i_pv4_address: The IPv4 address of Microsoft at the exchange peering facility. + :type microsoft_i_pv4_address: str + :param microsoft_i_pv6_address: The IPv6 address of Microsoft at the exchange peering facility. + :type microsoft_i_pv6_address: str + :param facility_i_pv4_prefix: The IPv4 prefixes associated with the exchange peering facility. + :type facility_i_pv4_prefix: str + :param facility_i_pv6_prefix: The IPv6 prefixes associated with the exchange peering facility. + :type facility_i_pv6_prefix: str :param peering_db_facility_id: The PeeringDB.com ID of the facility. :type peering_db_facility_id: int :param peering_db_facility_link: The PeeringDB.com URL of the facility. @@ -354,38 +385,48 @@ class ExchangePeeringFacility(Model): _attribute_map = { 'exchange_name': {'key': 'exchangeName', 'type': 'str'}, 'bandwidth_in_mbps': {'key': 'bandwidthInMbps', 'type': 'int'}, - 'microsoft_ipv4_address': {'key': 'microsoftIPv4Address', 'type': 'str'}, - 'microsoft_ipv6_address': {'key': 'microsoftIPv6Address', 'type': 'str'}, - 'facility_ipv4_prefix': {'key': 'facilityIPv4Prefix', 'type': 'str'}, - 'facility_ipv6_prefix': {'key': 'facilityIPv6Prefix', 'type': 'str'}, + 'microsoft_i_pv4_address': {'key': 'microsoftIPv4Address', 'type': 'str'}, + 'microsoft_i_pv6_address': {'key': 'microsoftIPv6Address', 'type': 'str'}, + 'facility_i_pv4_prefix': {'key': 'facilityIPv4Prefix', 'type': 'str'}, + 'facility_i_pv6_prefix': {'key': 'facilityIPv6Prefix', 'type': 'str'}, 'peering_db_facility_id': {'key': 'peeringDBFacilityId', 'type': 'int'}, 'peering_db_facility_link': {'key': 'peeringDBFacilityLink', 'type': 'str'}, } - def __init__(self, *, exchange_name: str=None, bandwidth_in_mbps: int=None, microsoft_ipv4_address: str=None, microsoft_ipv6_address: str=None, facility_ipv4_prefix: str=None, facility_ipv6_prefix: str=None, peering_db_facility_id: int=None, peering_db_facility_link: str=None, **kwargs) -> None: + def __init__( + self, + *, + exchange_name: Optional[str] = None, + bandwidth_in_mbps: Optional[int] = None, + microsoft_i_pv4_address: Optional[str] = None, + microsoft_i_pv6_address: Optional[str] = None, + facility_i_pv4_prefix: Optional[str] = None, + facility_i_pv6_prefix: Optional[str] = None, + peering_db_facility_id: Optional[int] = None, + peering_db_facility_link: Optional[str] = None, + **kwargs + ): super(ExchangePeeringFacility, self).__init__(**kwargs) self.exchange_name = exchange_name self.bandwidth_in_mbps = bandwidth_in_mbps - self.microsoft_ipv4_address = microsoft_ipv4_address - self.microsoft_ipv6_address = microsoft_ipv6_address - self.facility_ipv4_prefix = facility_ipv4_prefix - self.facility_ipv6_prefix = facility_ipv6_prefix + self.microsoft_i_pv4_address = microsoft_i_pv4_address + self.microsoft_i_pv6_address = microsoft_i_pv6_address + self.facility_i_pv4_prefix = facility_i_pv4_prefix + self.facility_i_pv6_prefix = facility_i_pv6_prefix self.peering_db_facility_id = peering_db_facility_id self.peering_db_facility_link = peering_db_facility_link -class Operation(Model): +class Operation(msrest.serialization.Model): """The peering API operation. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. :ivar name: The name of the operation. :vartype name: str :ivar display: The information related to the operation. :vartype display: ~azure.mgmt.peering.models.OperationDisplayInfo - :ivar is_data_action: The flag that indicates whether the operation - applies to data plane. + :ivar is_data_action: The flag that indicates whether the operation applies to data plane. :vartype is_data_action: bool """ @@ -401,18 +442,20 @@ class Operation(Model): 'is_data_action': {'key': 'isDataAction', 'type': 'bool'}, } - def __init__(self, **kwargs) -> None: + def __init__( + self, + **kwargs + ): super(Operation, self).__init__(**kwargs) self.name = None self.display = None self.is_data_action = None -class OperationDisplayInfo(Model): +class OperationDisplayInfo(msrest.serialization.Model): """The information related to the operation. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. :ivar provider: The name of the resource provider. :vartype provider: str @@ -438,7 +481,10 @@ class OperationDisplayInfo(Model): 'description': {'key': 'description', 'type': 'str'}, } - def __init__(self, **kwargs) -> None: + def __init__( + self, + **kwargs + ): super(OperationDisplayInfo, self).__init__(**kwargs) self.provider = None self.resource = None @@ -446,11 +492,36 @@ def __init__(self, **kwargs) -> None: self.description = None -class Resource(Model): +class OperationListResult(msrest.serialization.Model): + """The paginated list of peering API operations. + + :param value: The list of peering API operations. + :type value: list[~azure.mgmt.peering.models.Operation] + :param next_link: The link to fetch the next page of peering API operations. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[Operation]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["Operation"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(OperationListResult, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class Resource(msrest.serialization.Model): """The ARM resource class. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. :ivar name: The name of the resource. :vartype name: str @@ -472,7 +543,10 @@ class Resource(Model): 'type': {'key': 'type', 'type': 'str'}, } - def __init__(self, **kwargs) -> None: + def __init__( + self, + **kwargs + ): super(Resource, self).__init__(**kwargs) self.name = None self.id = None @@ -482,8 +556,7 @@ def __init__(self, **kwargs) -> None: class PeerAsn(Resource): """The essential information related to the peer's ASN. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. :ivar name: The name of the resource. :vartype name: str @@ -493,14 +566,14 @@ class PeerAsn(Resource): :vartype type: str :param peer_asn: The Autonomous System Number (ASN) of the peer. :type peer_asn: int - :param peer_contact_info: The contact information of the peer. - :type peer_contact_info: ~azure.mgmt.peering.models.ContactInfo + :param peer_contact_detail: The contact details of the peer. + :type peer_contact_detail: list[~azure.mgmt.peering.models.ContactDetail] :param peer_name: The name of the peer. :type peer_name: str - :param validation_state: The validation state of the ASN associated with - the peer. Possible values include: 'None', 'Pending', 'Approved', 'Failed' + :param validation_state: The validation state of the ASN associated with the peer. Possible + values include: "None", "Pending", "Approved", "Failed". :type validation_state: str or ~azure.mgmt.peering.models.ValidationState - :ivar error_message: The error message for the validation state + :ivar error_message: The error message for the validation state. :vartype error_message: str """ @@ -516,27 +589,59 @@ class PeerAsn(Resource): 'id': {'key': 'id', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'peer_asn': {'key': 'properties.peerAsn', 'type': 'int'}, - 'peer_contact_info': {'key': 'properties.peerContactInfo', 'type': 'ContactInfo'}, + 'peer_contact_detail': {'key': 'properties.peerContactDetail', 'type': '[ContactDetail]'}, 'peer_name': {'key': 'properties.peerName', 'type': 'str'}, 'validation_state': {'key': 'properties.validationState', 'type': 'str'}, 'error_message': {'key': 'properties.errorMessage', 'type': 'str'}, } - def __init__(self, *, peer_asn: int=None, peer_contact_info=None, peer_name: str=None, validation_state=None, **kwargs) -> None: + def __init__( + self, + *, + peer_asn: Optional[int] = None, + peer_contact_detail: Optional[List["ContactDetail"]] = None, + peer_name: Optional[str] = None, + validation_state: Optional[Union[str, "ValidationState"]] = None, + **kwargs + ): super(PeerAsn, self).__init__(**kwargs) self.peer_asn = peer_asn - self.peer_contact_info = peer_contact_info + self.peer_contact_detail = peer_contact_detail self.peer_name = peer_name self.validation_state = validation_state self.error_message = None +class PeerAsnListResult(msrest.serialization.Model): + """The paginated list of peer ASNs. + + :param value: The list of peer ASNs. + :type value: list[~azure.mgmt.peering.models.PeerAsn] + :param next_link: The link to fetch the next page of peer ASNs. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[PeerAsn]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["PeerAsn"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(PeerAsnListResult, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + class Peering(Resource): - """Peering is a logical representation of a set of connections to the - Microsoft Cloud Edge at a location. + """Peering is a logical representation of a set of connections to the Microsoft Cloud Edge at a location. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. All required parameters must be populated in order to send to Azure. @@ -546,26 +651,23 @@ class Peering(Resource): :vartype id: str :ivar type: The type of the resource. :vartype type: str - :param sku: Required. The SKU that defines the tier and kind of the - peering. + :param sku: Required. The SKU that defines the tier and kind of the peering. :type sku: ~azure.mgmt.peering.models.PeeringSku - :param kind: Required. The kind of the peering. Possible values include: - 'Direct', 'Exchange' + :param kind: Required. The kind of the peering. Possible values include: "Direct", "Exchange". :type kind: str or ~azure.mgmt.peering.models.Kind + :param location: Required. The location of the resource. + :type location: str + :param tags: A set of tags. The resource tags. + :type tags: dict[str, str] :param direct: The properties that define a direct peering. :type direct: ~azure.mgmt.peering.models.PeeringPropertiesDirect :param exchange: The properties that define an exchange peering. :type exchange: ~azure.mgmt.peering.models.PeeringPropertiesExchange :param peering_location: The location of the peering. :type peering_location: str - :ivar provisioning_state: The provisioning state of the resource. Possible - values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.peering.models.ProvisioningState - :param location: Required. The location of the resource. - :type location: str - :param tags: The resource tags. - :type tags: dict[str, str] + :ivar provisioning_state: The provisioning state of the resource. Possible values include: + "Succeeded", "Updating", "Deleting", "Failed". + :vartype provisioning_state: str or ~azure.mgmt.peering.models.ProvisioningState """ _validation = { @@ -574,8 +676,8 @@ class Peering(Resource): 'type': {'readonly': True}, 'sku': {'required': True}, 'kind': {'required': True}, - 'provisioning_state': {'readonly': True}, 'location': {'required': True}, + 'provisioning_state': {'readonly': True}, } _attribute_map = { @@ -584,27 +686,38 @@ class Peering(Resource): 'type': {'key': 'type', 'type': 'str'}, 'sku': {'key': 'sku', 'type': 'PeeringSku'}, 'kind': {'key': 'kind', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, 'direct': {'key': 'properties.direct', 'type': 'PeeringPropertiesDirect'}, 'exchange': {'key': 'properties.exchange', 'type': 'PeeringPropertiesExchange'}, 'peering_location': {'key': 'properties.peeringLocation', 'type': 'str'}, 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, } - def __init__(self, *, sku, kind, location: str, direct=None, exchange=None, peering_location: str=None, tags=None, **kwargs) -> None: + def __init__( + self, + *, + sku: "PeeringSku", + kind: Union[str, "Kind"], + location: str, + tags: Optional[Dict[str, str]] = None, + direct: Optional["PeeringPropertiesDirect"] = None, + exchange: Optional["PeeringPropertiesExchange"] = None, + peering_location: Optional[str] = None, + **kwargs + ): super(Peering, self).__init__(**kwargs) self.sku = sku self.kind = kind + self.location = location + self.tags = tags self.direct = direct self.exchange = exchange self.peering_location = peering_location self.provisioning_state = None - self.location = location - self.tags = tags -class PeeringBandwidthOffer(Model): +class PeeringBandwidthOffer(msrest.serialization.Model): """The properties that define a peering bandwidth offer. :param offer_name: The name of the bandwidth offer. @@ -618,18 +731,48 @@ class PeeringBandwidthOffer(Model): 'value_in_mbps': {'key': 'valueInMbps', 'type': 'int'}, } - def __init__(self, *, offer_name: str=None, value_in_mbps: int=None, **kwargs) -> None: + def __init__( + self, + *, + offer_name: Optional[str] = None, + value_in_mbps: Optional[int] = None, + **kwargs + ): super(PeeringBandwidthOffer, self).__init__(**kwargs) self.offer_name = offer_name self.value_in_mbps = value_in_mbps +class PeeringListResult(msrest.serialization.Model): + """The paginated list of peerings. + + :param value: The list of peerings. + :type value: list[~azure.mgmt.peering.models.Peering] + :param next_link: The link to fetch the next page of peerings. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[Peering]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["Peering"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(PeeringListResult, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + class PeeringLocation(Resource): - """Peering location is where connectivity could be established to the - Microsoft Cloud Edge. + """Peering location is where connectivity could be established to the Microsoft Cloud Edge. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. :ivar name: The name of the resource. :vartype name: str @@ -637,20 +780,18 @@ class PeeringLocation(Resource): :vartype id: str :ivar type: The type of the resource. :vartype type: str - :param kind: The kind of peering that the peering location supports. - Possible values include: 'Direct', 'Exchange' + :param kind: The kind of peering that the peering location supports. Possible values include: + "Direct", "Exchange". :type kind: str or ~azure.mgmt.peering.models.Kind :param direct: The properties that define a direct peering location. :type direct: ~azure.mgmt.peering.models.PeeringLocationPropertiesDirect :param exchange: The properties that define an exchange peering location. - :type exchange: - ~azure.mgmt.peering.models.PeeringLocationPropertiesExchange + :type exchange: ~azure.mgmt.peering.models.PeeringLocationPropertiesExchange :param peering_location: The name of the peering location. :type peering_location: str :param country: The country in which the peering location exists. :type country: str - :param azure_region: The Azure region associated with the peering - location. + :param azure_region: The Azure region associated with the peering location. :type azure_region: str """ @@ -672,7 +813,17 @@ class PeeringLocation(Resource): 'azure_region': {'key': 'properties.azureRegion', 'type': 'str'}, } - def __init__(self, *, kind=None, direct=None, exchange=None, peering_location: str=None, country: str=None, azure_region: str=None, **kwargs) -> None: + def __init__( + self, + *, + kind: Optional[Union[str, "Kind"]] = None, + direct: Optional["PeeringLocationPropertiesDirect"] = None, + exchange: Optional["PeeringLocationPropertiesExchange"] = None, + peering_location: Optional[str] = None, + country: Optional[str] = None, + azure_region: Optional[str] = None, + **kwargs + ): super(PeeringLocation, self).__init__(**kwargs) self.kind = kind self.direct = direct @@ -682,17 +833,39 @@ def __init__(self, *, kind=None, direct=None, exchange=None, peering_location: s self.azure_region = azure_region -class PeeringLocationPropertiesDirect(Model): +class PeeringLocationListResult(msrest.serialization.Model): + """The paginated list of peering locations. + + :param value: The list of peering locations. + :type value: list[~azure.mgmt.peering.models.PeeringLocation] + :param next_link: The link to fetch the next page of peering locations. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[PeeringLocation]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["PeeringLocation"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(PeeringLocationListResult, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class PeeringLocationPropertiesDirect(msrest.serialization.Model): """The properties that define a direct peering location. - :param peering_facilities: The list of direct peering facilities at the - peering location. - :type peering_facilities: - list[~azure.mgmt.peering.models.DirectPeeringFacility] - :param bandwidth_offers: The list of bandwidth offers available at the - peering location. - :type bandwidth_offers: - list[~azure.mgmt.peering.models.PeeringBandwidthOffer] + :param peering_facilities: The list of direct peering facilities at the peering location. + :type peering_facilities: list[~azure.mgmt.peering.models.DirectPeeringFacility] + :param bandwidth_offers: The list of bandwidth offers available at the peering location. + :type bandwidth_offers: list[~azure.mgmt.peering.models.PeeringBandwidthOffer] """ _attribute_map = { @@ -700,48 +873,54 @@ class PeeringLocationPropertiesDirect(Model): 'bandwidth_offers': {'key': 'bandwidthOffers', 'type': '[PeeringBandwidthOffer]'}, } - def __init__(self, *, peering_facilities=None, bandwidth_offers=None, **kwargs) -> None: + def __init__( + self, + *, + peering_facilities: Optional[List["DirectPeeringFacility"]] = None, + bandwidth_offers: Optional[List["PeeringBandwidthOffer"]] = None, + **kwargs + ): super(PeeringLocationPropertiesDirect, self).__init__(**kwargs) self.peering_facilities = peering_facilities self.bandwidth_offers = bandwidth_offers -class PeeringLocationPropertiesExchange(Model): +class PeeringLocationPropertiesExchange(msrest.serialization.Model): """The properties that define an exchange peering location. - :param peering_facilities: The list of exchange peering facilities at the - peering location. - :type peering_facilities: - list[~azure.mgmt.peering.models.ExchangePeeringFacility] + :param peering_facilities: The list of exchange peering facilities at the peering location. + :type peering_facilities: list[~azure.mgmt.peering.models.ExchangePeeringFacility] """ _attribute_map = { 'peering_facilities': {'key': 'peeringFacilities', 'type': '[ExchangePeeringFacility]'}, } - def __init__(self, *, peering_facilities=None, **kwargs) -> None: + def __init__( + self, + *, + peering_facilities: Optional[List["ExchangePeeringFacility"]] = None, + **kwargs + ): super(PeeringLocationPropertiesExchange, self).__init__(**kwargs) self.peering_facilities = peering_facilities -class PeeringPropertiesDirect(Model): +class PeeringPropertiesDirect(msrest.serialization.Model): """The properties that define a direct peering. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. - :param connections: The set of connections that constitute a direct - peering. + :param connections: The set of connections that constitute a direct peering. :type connections: list[~azure.mgmt.peering.models.DirectConnection] - :ivar use_for_peering_service: The flag that indicates whether or not the - peering is used for peering service. + :ivar use_for_peering_service: The flag that indicates whether or not the peering is used for + peering service. :vartype use_for_peering_service: bool :param peer_asn: The reference of the peer ASN. :type peer_asn: ~azure.mgmt.peering.models.SubResource - :param direct_peering_type: The type of direct peering. Possible values - include: 'Edge', 'Transit', 'Cdn', 'Internal' - :type direct_peering_type: str or - ~azure.mgmt.peering.models.DirectPeeringType + :param direct_peering_type: The type of direct peering. Possible values include: "Edge", + "Transit", "Cdn", "Internal", "Ix", "IxRs". + :type direct_peering_type: str or ~azure.mgmt.peering.models.DirectPeeringType """ _validation = { @@ -755,7 +934,14 @@ class PeeringPropertiesDirect(Model): 'direct_peering_type': {'key': 'directPeeringType', 'type': 'str'}, } - def __init__(self, *, connections=None, peer_asn=None, direct_peering_type=None, **kwargs) -> None: + def __init__( + self, + *, + connections: Optional[List["DirectConnection"]] = None, + peer_asn: Optional["SubResource"] = None, + direct_peering_type: Optional[Union[str, "DirectPeeringType"]] = None, + **kwargs + ): super(PeeringPropertiesDirect, self).__init__(**kwargs) self.connections = connections self.use_for_peering_service = None @@ -763,11 +949,10 @@ def __init__(self, *, connections=None, peer_asn=None, direct_peering_type=None, self.direct_peering_type = direct_peering_type -class PeeringPropertiesExchange(Model): +class PeeringPropertiesExchange(msrest.serialization.Model): """The properties that define an exchange peering. - :param connections: The set of connections that constitute an exchange - peering. + :param connections: The set of connections that constitute an exchange peering. :type connections: list[~azure.mgmt.peering.models.ExchangeConnection] :param peer_asn: The reference of the peer ASN. :type peer_asn: ~azure.mgmt.peering.models.SubResource @@ -778,17 +963,268 @@ class PeeringPropertiesExchange(Model): 'peer_asn': {'key': 'peerAsn', 'type': 'SubResource'}, } - def __init__(self, *, connections=None, peer_asn=None, **kwargs) -> None: + def __init__( + self, + *, + connections: Optional[List["ExchangeConnection"]] = None, + peer_asn: Optional["SubResource"] = None, + **kwargs + ): super(PeeringPropertiesExchange, self).__init__(**kwargs) self.connections = connections self.peer_asn = peer_asn +class PeeringReceivedRoute(msrest.serialization.Model): + """The properties that define a received route. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar prefix: The prefix. + :vartype prefix: str + :ivar next_hop: The next hop for the prefix. + :vartype next_hop: str + :ivar as_path: The AS path for the prefix. + :vartype as_path: str + :ivar origin_as_validation_state: The origin AS change information for the prefix. + :vartype origin_as_validation_state: str + :ivar rpki_validation_state: The RPKI validation state for the prefix and origin AS that's + listed in the AS path. + :vartype rpki_validation_state: str + :ivar trust_anchor: The authority which holds the Route Origin Authorization record for the + prefix, if any. + :vartype trust_anchor: str + :ivar received_timestamp: The received timestamp associated with the prefix. + :vartype received_timestamp: str + """ + + _validation = { + 'prefix': {'readonly': True}, + 'next_hop': {'readonly': True}, + 'as_path': {'readonly': True}, + 'origin_as_validation_state': {'readonly': True}, + 'rpki_validation_state': {'readonly': True}, + 'trust_anchor': {'readonly': True}, + 'received_timestamp': {'readonly': True}, + } + + _attribute_map = { + 'prefix': {'key': 'prefix', 'type': 'str'}, + 'next_hop': {'key': 'nextHop', 'type': 'str'}, + 'as_path': {'key': 'asPath', 'type': 'str'}, + 'origin_as_validation_state': {'key': 'originAsValidationState', 'type': 'str'}, + 'rpki_validation_state': {'key': 'rpkiValidationState', 'type': 'str'}, + 'trust_anchor': {'key': 'trustAnchor', 'type': 'str'}, + 'received_timestamp': {'key': 'receivedTimestamp', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(PeeringReceivedRoute, self).__init__(**kwargs) + self.prefix = None + self.next_hop = None + self.as_path = None + self.origin_as_validation_state = None + self.rpki_validation_state = None + self.trust_anchor = None + self.received_timestamp = None + + +class PeeringReceivedRouteListResult(msrest.serialization.Model): + """The paginated list of received routes for the peering. + + :param value: The list of received routes for the peering. + :type value: list[~azure.mgmt.peering.models.PeeringReceivedRoute] + :param next_link: The link to fetch the next page of received routes for the peering. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[PeeringReceivedRoute]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["PeeringReceivedRoute"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(PeeringReceivedRouteListResult, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class PeeringRegisteredAsn(Resource): + """The customer's ASN that is registered by the peering service provider. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar name: The name of the resource. + :vartype name: str + :ivar id: The ID of the resource. + :vartype id: str + :ivar type: The type of the resource. + :vartype type: str + :param asn: The customer's ASN from which traffic originates. + :type asn: int + :ivar peering_service_prefix_key: The peering service prefix key that is to be shared with the + customer. + :vartype peering_service_prefix_key: str + :ivar provisioning_state: The provisioning state of the resource. Possible values include: + "Succeeded", "Updating", "Deleting", "Failed". + :vartype provisioning_state: str or ~azure.mgmt.peering.models.ProvisioningState + """ + + _validation = { + 'name': {'readonly': True}, + 'id': {'readonly': True}, + 'type': {'readonly': True}, + 'peering_service_prefix_key': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'asn': {'key': 'properties.asn', 'type': 'int'}, + 'peering_service_prefix_key': {'key': 'properties.peeringServicePrefixKey', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + } + + def __init__( + self, + *, + asn: Optional[int] = None, + **kwargs + ): + super(PeeringRegisteredAsn, self).__init__(**kwargs) + self.asn = asn + self.peering_service_prefix_key = None + self.provisioning_state = None + + +class PeeringRegisteredAsnListResult(msrest.serialization.Model): + """The paginated list of peering registered ASNs. + + :param value: The list of peering registered ASNs. + :type value: list[~azure.mgmt.peering.models.PeeringRegisteredAsn] + :param next_link: The link to fetch the next page of peering registered ASNs. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[PeeringRegisteredAsn]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["PeeringRegisteredAsn"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(PeeringRegisteredAsnListResult, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class PeeringRegisteredPrefix(Resource): + """The customer's prefix that is registered by the peering service provider. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar name: The name of the resource. + :vartype name: str + :ivar id: The ID of the resource. + :vartype id: str + :ivar type: The type of the resource. + :vartype type: str + :param prefix: The customer's prefix from which traffic originates. + :type prefix: str + :ivar prefix_validation_state: The prefix validation state. Possible values include: "None", + "Invalid", "Verified", "Failed", "Pending", "Warning", "Unknown". + :vartype prefix_validation_state: str or ~azure.mgmt.peering.models.PrefixValidationState + :ivar peering_service_prefix_key: The peering service prefix key that is to be shared with the + customer. + :vartype peering_service_prefix_key: str + :ivar error_message: The error message associated with the validation state, if any. + :vartype error_message: str + :ivar provisioning_state: The provisioning state of the resource. Possible values include: + "Succeeded", "Updating", "Deleting", "Failed". + :vartype provisioning_state: str or ~azure.mgmt.peering.models.ProvisioningState + """ + + _validation = { + 'name': {'readonly': True}, + 'id': {'readonly': True}, + 'type': {'readonly': True}, + 'prefix_validation_state': {'readonly': True}, + 'peering_service_prefix_key': {'readonly': True}, + 'error_message': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'prefix': {'key': 'properties.prefix', 'type': 'str'}, + 'prefix_validation_state': {'key': 'properties.prefixValidationState', 'type': 'str'}, + 'peering_service_prefix_key': {'key': 'properties.peeringServicePrefixKey', 'type': 'str'}, + 'error_message': {'key': 'properties.errorMessage', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + } + + def __init__( + self, + *, + prefix: Optional[str] = None, + **kwargs + ): + super(PeeringRegisteredPrefix, self).__init__(**kwargs) + self.prefix = prefix + self.prefix_validation_state = None + self.peering_service_prefix_key = None + self.error_message = None + self.provisioning_state = None + + +class PeeringRegisteredPrefixListResult(msrest.serialization.Model): + """The paginated list of peering registered prefixes. + + :param value: The list of peering registered prefixes. + :type value: list[~azure.mgmt.peering.models.PeeringRegisteredPrefix] + :param next_link: The link to fetch the next page of peering registered prefixes. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[PeeringRegisteredPrefix]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["PeeringRegisteredPrefix"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(PeeringRegisteredPrefixListResult, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + class PeeringService(Resource): """Peering Service. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. All required parameters must be populated in order to send to Azure. @@ -798,54 +1234,148 @@ class PeeringService(Resource): :vartype id: str :ivar type: The type of the resource. :vartype type: str - :param peering_service_location: The PeeringServiceLocation of the - Customer. - :type peering_service_location: str - :param peering_service_provider: The MAPS Provider Name. - :type peering_service_provider: str - :ivar provisioning_state: The provisioning state of the resource. Possible - values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.peering.models.ProvisioningState + :param sku: The SKU that defines the type of the peering service. + :type sku: ~azure.mgmt.peering.models.PeeringServiceSku :param location: Required. The location of the resource. :type location: str - :param tags: The resource tags. + :param tags: A set of tags. The resource tags. :type tags: dict[str, str] + :param peering_service_location: The PeeringServiceLocation of the Customer. + :type peering_service_location: str + :param peering_service_provider: The MAPS Provider Name. + :type peering_service_provider: str + :ivar provisioning_state: The provisioning state of the resource. Possible values include: + "Succeeded", "Updating", "Deleting", "Failed". + :vartype provisioning_state: str or ~azure.mgmt.peering.models.ProvisioningState """ _validation = { 'name': {'readonly': True}, 'id': {'readonly': True}, 'type': {'readonly': True}, - 'provisioning_state': {'readonly': True}, 'location': {'required': True}, + 'provisioning_state': {'readonly': True}, } _attribute_map = { 'name': {'key': 'name', 'type': 'str'}, 'id': {'key': 'id', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, + 'sku': {'key': 'sku', 'type': 'PeeringServiceSku'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, 'peering_service_location': {'key': 'properties.peeringServiceLocation', 'type': 'str'}, 'peering_service_provider': {'key': 'properties.peeringServiceProvider', 'type': 'str'}, 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, } - def __init__(self, *, location: str, peering_service_location: str=None, peering_service_provider: str=None, tags=None, **kwargs) -> None: + def __init__( + self, + *, + location: str, + sku: Optional["PeeringServiceSku"] = None, + tags: Optional[Dict[str, str]] = None, + peering_service_location: Optional[str] = None, + peering_service_provider: Optional[str] = None, + **kwargs + ): super(PeeringService, self).__init__(**kwargs) + self.sku = sku + self.location = location + self.tags = tags self.peering_service_location = peering_service_location self.peering_service_provider = peering_service_provider self.provisioning_state = None - self.location = location - self.tags = tags + + +class PeeringServiceCountry(Resource): + """The peering service country. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar name: The name of the resource. + :vartype name: str + :ivar id: The ID of the resource. + :vartype id: str + :ivar type: The type of the resource. + :vartype type: str + """ + + _validation = { + 'name': {'readonly': True}, + 'id': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(PeeringServiceCountry, self).__init__(**kwargs) + + +class PeeringServiceCountryListResult(msrest.serialization.Model): + """The paginated list of peering service countries. + + :param value: The list of peering service countries. + :type value: list[~azure.mgmt.peering.models.PeeringServiceCountry] + :param next_link: The link to fetch the next page of peering service countries. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[PeeringServiceCountry]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["PeeringServiceCountry"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(PeeringServiceCountryListResult, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class PeeringServiceListResult(msrest.serialization.Model): + """The paginated list of peering services. + + :param value: The list of peering services. + :type value: list[~azure.mgmt.peering.models.PeeringService] + :param next_link: The link to fetch the next page of peering services. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[PeeringService]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["PeeringService"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(PeeringServiceListResult, self).__init__(**kwargs) + self.value = value + self.next_link = next_link class PeeringServiceLocation(Resource): - """PeeringService location. + """The peering service location. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. :ivar name: The name of the resource. :vartype name: str @@ -853,11 +1383,11 @@ class PeeringServiceLocation(Resource): :vartype id: str :ivar type: The type of the resource. :vartype type: str - :param country: Country of the customer + :param country: Country of the customer. :type country: str - :param state: State of the customer + :param state: State of the customer. :type state: str - :param azure_region: Azure region for the location + :param azure_region: Azure region for the location. :type azure_region: str """ @@ -876,18 +1406,50 @@ class PeeringServiceLocation(Resource): 'azure_region': {'key': 'properties.azureRegion', 'type': 'str'}, } - def __init__(self, *, country: str=None, state: str=None, azure_region: str=None, **kwargs) -> None: + def __init__( + self, + *, + country: Optional[str] = None, + state: Optional[str] = None, + azure_region: Optional[str] = None, + **kwargs + ): super(PeeringServiceLocation, self).__init__(**kwargs) self.country = country self.state = state self.azure_region = azure_region +class PeeringServiceLocationListResult(msrest.serialization.Model): + """The paginated list of peering service locations. + + :param value: The list of peering service locations. + :type value: list[~azure.mgmt.peering.models.PeeringServiceLocation] + :param next_link: The link to fetch the next page of peering service locations. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[PeeringServiceLocation]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["PeeringServiceLocation"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(PeeringServiceLocationListResult, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + class PeeringServicePrefix(Resource): """The peering service prefix class. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. :ivar name: The name of the resource. :vartype name: str @@ -897,23 +1459,21 @@ class PeeringServicePrefix(Resource): :vartype type: str :param prefix: The prefix from which your traffic originates. :type prefix: str - :ivar prefix_validation_state: The prefix validation state. Possible - values include: 'None', 'Invalid', 'Verified', 'Failed', 'Pending', - 'Warning', 'Unknown' - :vartype prefix_validation_state: str or - ~azure.mgmt.peering.models.PrefixValidationState - :ivar learned_type: The prefix learned type. Possible values include: - 'None', 'ViaServiceProvider', 'ViaSession' + :ivar prefix_validation_state: The prefix validation state. Possible values include: "None", + "Invalid", "Verified", "Failed", "Pending", "Warning", "Unknown". + :vartype prefix_validation_state: str or ~azure.mgmt.peering.models.PrefixValidationState + :ivar learned_type: The prefix learned type. Possible values include: "None", + "ViaServiceProvider", "ViaSession". :vartype learned_type: str or ~azure.mgmt.peering.models.LearnedType - :ivar error_message: The error message for validation state + :ivar error_message: The error message for validation state. :vartype error_message: str - :ivar events: The list of events for peering service prefix - :vartype events: - list[~azure.mgmt.peering.models.PeeringServicePrefixEvent] - :ivar provisioning_state: The provisioning state of the resource. Possible - values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.peering.models.ProvisioningState + :ivar events: The list of events for peering service prefix. + :vartype events: list[~azure.mgmt.peering.models.PeeringServicePrefixEvent] + :param peering_service_prefix_key: The peering service prefix key. + :type peering_service_prefix_key: str + :ivar provisioning_state: The provisioning state of the resource. Possible values include: + "Succeeded", "Updating", "Deleting", "Failed". + :vartype provisioning_state: str or ~azure.mgmt.peering.models.ProvisioningState """ _validation = { @@ -936,36 +1496,41 @@ class PeeringServicePrefix(Resource): 'learned_type': {'key': 'properties.learnedType', 'type': 'str'}, 'error_message': {'key': 'properties.errorMessage', 'type': 'str'}, 'events': {'key': 'properties.events', 'type': '[PeeringServicePrefixEvent]'}, + 'peering_service_prefix_key': {'key': 'properties.peeringServicePrefixKey', 'type': 'str'}, 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, } - def __init__(self, *, prefix: str=None, **kwargs) -> None: + def __init__( + self, + *, + prefix: Optional[str] = None, + peering_service_prefix_key: Optional[str] = None, + **kwargs + ): super(PeeringServicePrefix, self).__init__(**kwargs) self.prefix = prefix self.prefix_validation_state = None self.learned_type = None self.error_message = None self.events = None + self.peering_service_prefix_key = peering_service_prefix_key self.provisioning_state = None -class PeeringServicePrefixEvent(Model): +class PeeringServicePrefixEvent(msrest.serialization.Model): """The details of the event associated with a prefix. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. - :ivar event_timestamp: The timestamp of the event associated with a - prefix. - :vartype event_timestamp: datetime + :ivar event_timestamp: The timestamp of the event associated with a prefix. + :vartype event_timestamp: ~datetime.datetime :ivar event_type: The type of the event associated with a prefix. :vartype event_type: str :ivar event_summary: The summary of the event associated with a prefix. :vartype event_summary: str :ivar event_level: The level of the event associated with a prefix. :vartype event_level: str - :ivar event_description: The description of the event associated with a - prefix. + :ivar event_description: The description of the event associated with a prefix. :vartype event_description: str """ @@ -985,7 +1550,10 @@ class PeeringServicePrefixEvent(Model): 'event_description': {'key': 'eventDescription', 'type': 'str'}, } - def __init__(self, **kwargs) -> None: + def __init__( + self, + **kwargs + ): super(PeeringServicePrefixEvent, self).__init__(**kwargs) self.event_timestamp = None self.event_type = None @@ -994,11 +1562,36 @@ def __init__(self, **kwargs) -> None: self.event_description = None +class PeeringServicePrefixListResult(msrest.serialization.Model): + """The paginated list of peering service prefixes. + + :param value: The list of peering service prefixes. + :type value: list[~azure.mgmt.peering.models.PeeringServicePrefix] + :param next_link: The link to fetch the next page of peering service prefixes. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[PeeringServicePrefix]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["PeeringServicePrefix"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(PeeringServicePrefixListResult, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + class PeeringServiceProvider(Resource): """PeeringService provider. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. :ivar name: The name of the resource. :vartype name: str @@ -1023,27 +1616,74 @@ class PeeringServiceProvider(Resource): 'service_provider_name': {'key': 'properties.serviceProviderName', 'type': 'str'}, } - def __init__(self, *, service_provider_name: str=None, **kwargs) -> None: + def __init__( + self, + *, + service_provider_name: Optional[str] = None, + **kwargs + ): super(PeeringServiceProvider, self).__init__(**kwargs) self.service_provider_name = service_provider_name -class PeeringSku(Model): +class PeeringServiceProviderListResult(msrest.serialization.Model): + """The paginated list of peering service providers. + + :param value: The list of peering service providers. + :type value: list[~azure.mgmt.peering.models.PeeringServiceProvider] + :param next_link: The link to fetch the next page of peering service providers. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[PeeringServiceProvider]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["PeeringServiceProvider"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(PeeringServiceProviderListResult, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class PeeringServiceSku(msrest.serialization.Model): + """The SKU that defines the type of the peering service. + + :param name: The name of the peering service SKU. + :type name: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + **kwargs + ): + super(PeeringServiceSku, self).__init__(**kwargs) + self.name = name + + +class PeeringSku(msrest.serialization.Model): """The SKU that defines the tier and kind of the peering. - :param name: The name of the peering SKU. Possible values include: - 'Basic_Exchange_Free', 'Basic_Direct_Free', 'Premium_Direct_Free', - 'Premium_Exchange_Metered', 'Premium_Direct_Metered', - 'Premium_Direct_Unlimited' - :type name: str or ~azure.mgmt.peering.models.Name - :param tier: The tier of the peering SKU. Possible values include: - 'Basic', 'Premium' + :param name: The name of the peering SKU. + :type name: str + :param tier: The tier of the peering SKU. Possible values include: "Basic", "Premium". :type tier: str or ~azure.mgmt.peering.models.Tier - :param family: The family of the peering SKU. Possible values include: - 'Direct', 'Exchange' + :param family: The family of the peering SKU. Possible values include: "Direct", "Exchange". :type family: str or ~azure.mgmt.peering.models.Family - :param size: The size of the peering SKU. Possible values include: 'Free', - 'Metered', 'Unlimited' + :param size: The size of the peering SKU. Possible values include: "Free", "Metered", + "Unlimited". :type size: str or ~azure.mgmt.peering.models.Size """ @@ -1054,7 +1694,15 @@ class PeeringSku(Model): 'size': {'key': 'size', 'type': 'str'}, } - def __init__(self, *, name=None, tier=None, family=None, size=None, **kwargs) -> None: + def __init__( + self, + *, + name: Optional[str] = None, + tier: Optional[Union[str, "Tier"]] = None, + family: Optional[Union[str, "Family"]] = None, + size: Optional[Union[str, "Size"]] = None, + **kwargs + ): super(PeeringSku, self).__init__(**kwargs) self.name = name self.tier = tier @@ -1062,10 +1710,10 @@ def __init__(self, *, name=None, tier=None, family=None, size=None, **kwargs) -> self.size = size -class ResourceTags(Model): +class ResourceTags(msrest.serialization.Model): """The resource tags. - :param tags: Gets or sets the tags, a dictionary of descriptors arm object + :param tags: A set of tags. Gets or sets the tags, a dictionary of descriptors arm object. :type tags: dict[str, str] """ @@ -1073,12 +1721,17 @@ class ResourceTags(Model): 'tags': {'key': 'tags', 'type': '{str}'}, } - def __init__(self, *, tags=None, **kwargs) -> None: + def __init__( + self, + *, + tags: Optional[Dict[str, str]] = None, + **kwargs + ): super(ResourceTags, self).__init__(**kwargs) self.tags = tags -class SubResource(Model): +class SubResource(msrest.serialization.Model): """The sub resource. :param id: The identifier of the referenced resource. @@ -1089,6 +1742,11 @@ class SubResource(Model): 'id': {'key': 'id', 'type': 'str'}, } - def __init__(self, *, id: str=None, **kwargs) -> None: + def __init__( + self, + *, + id: Optional[str] = None, + **kwargs + ): super(SubResource, self).__init__(**kwargs) self.id = id diff --git a/src/peering/azext_peering/vendored_sdks/peering/models/_paged_models.py b/src/peering/azext_peering/vendored_sdks/peering/models/_paged_models.py deleted file mode 100644 index c0607423811..00000000000 --- a/src/peering/azext_peering/vendored_sdks/peering/models/_paged_models.py +++ /dev/null @@ -1,118 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.paging import Paged - - -class PeeringPaged(Paged): - """ - A paging container for iterating over a list of :class:`Peering ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[Peering]'} - } - - def __init__(self, *args, **kwargs): - - super(PeeringPaged, self).__init__(*args, **kwargs) -class OperationPaged(Paged): - """ - A paging container for iterating over a list of :class:`Operation ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[Operation]'} - } - - def __init__(self, *args, **kwargs): - - super(OperationPaged, self).__init__(*args, **kwargs) -class PeerAsnPaged(Paged): - """ - A paging container for iterating over a list of :class:`PeerAsn ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[PeerAsn]'} - } - - def __init__(self, *args, **kwargs): - - super(PeerAsnPaged, self).__init__(*args, **kwargs) -class PeeringLocationPaged(Paged): - """ - A paging container for iterating over a list of :class:`PeeringLocation ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[PeeringLocation]'} - } - - def __init__(self, *args, **kwargs): - - super(PeeringLocationPaged, self).__init__(*args, **kwargs) -class PeeringServiceLocationPaged(Paged): - """ - A paging container for iterating over a list of :class:`PeeringServiceLocation ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[PeeringServiceLocation]'} - } - - def __init__(self, *args, **kwargs): - - super(PeeringServiceLocationPaged, self).__init__(*args, **kwargs) -class PeeringServicePrefixPaged(Paged): - """ - A paging container for iterating over a list of :class:`PeeringServicePrefix ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[PeeringServicePrefix]'} - } - - def __init__(self, *args, **kwargs): - - super(PeeringServicePrefixPaged, self).__init__(*args, **kwargs) -class PeeringServiceProviderPaged(Paged): - """ - A paging container for iterating over a list of :class:`PeeringServiceProvider ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[PeeringServiceProvider]'} - } - - def __init__(self, *args, **kwargs): - - super(PeeringServiceProviderPaged, self).__init__(*args, **kwargs) -class PeeringServicePaged(Paged): - """ - A paging container for iterating over a list of :class:`PeeringService ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[PeeringService]'} - } - - def __init__(self, *args, **kwargs): - - super(PeeringServicePaged, self).__init__(*args, **kwargs) diff --git a/src/peering/azext_peering/vendored_sdks/peering/models/_peering_management_client_enums.py b/src/peering/azext_peering/vendored_sdks/peering/models/_peering_management_client_enums.py index 2b757fd4427..856384e55d0 100644 --- a/src/peering/azext_peering/vendored_sdks/peering/models/_peering_management_client_enums.py +++ b/src/peering/azext_peering/vendored_sdks/peering/models/_peering_management_client_enums.py @@ -1,71 +1,125 @@ # coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# +# Licensed under the MIT License. See License.txt in the project root for license information. # Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from enum import Enum +class ConnectionState(str, Enum): + """The state of the connection. + """ -class Name(str, Enum): + none = "None" + pending_approval = "PendingApproval" + approved = "Approved" + provisioning_started = "ProvisioningStarted" + provisioning_failed = "ProvisioningFailed" + provisioning_completed = "ProvisioningCompleted" + validating = "Validating" + active = "Active" - basic_exchange_free = "Basic_Exchange_Free" - basic_direct_free = "Basic_Direct_Free" - premium_direct_free = "Premium_Direct_Free" - premium_exchange_metered = "Premium_Exchange_Metered" - premium_direct_metered = "Premium_Direct_Metered" - premium_direct_unlimited = "Premium_Direct_Unlimited" +class DirectPeeringType(str, Enum): + """The type of direct peering. + """ + edge = "Edge" + transit = "Transit" + cdn = "Cdn" + internal = "Internal" + ix = "Ix" + ix_rs = "IxRs" -class Tier(str, Enum): +class Enum0(str, Enum): - basic = "Basic" - premium = "Premium" + available = "Available" + unavailable = "Unavailable" +class Enum1(str, Enum): -class Family(str, Enum): + direct = "Direct" + exchange = "Exchange" + +class Enum14(str, Enum): direct = "Direct" exchange = "Exchange" +class Enum15(str, Enum): -class Size(str, Enum): + edge = "Edge" + transit = "Transit" + cdn = "Cdn" + internal = "Internal" + ix = "Ix" + ix_rs = "IxRs" - free = "Free" - metered = "Metered" - unlimited = "Unlimited" +class Family(str, Enum): + """The family of the peering SKU. + """ + direct = "Direct" + exchange = "Exchange" class Kind(str, Enum): + """The kind of the peering. + """ direct = "Direct" exchange = "Exchange" +class LearnedType(str, Enum): + """The prefix learned type + """ -class SessionAddressProvider(str, Enum): + none = "None" + via_service_provider = "ViaServiceProvider" + via_session = "ViaSession" - microsoft = "Microsoft" - peer = "Peer" +class PrefixValidationState(str, Enum): + """The prefix validation state. + """ + none = "None" + invalid = "Invalid" + verified = "Verified" + failed = "Failed" + pending = "Pending" + warning = "Warning" + unknown = "Unknown" -class ConnectionState(str, Enum): +class ProvisioningState(str, Enum): + """The provisioning state of the resource. + """ - none = "None" - pending_approval = "PendingApproval" - approved = "Approved" - provisioning_started = "ProvisioningStarted" - provisioning_failed = "ProvisioningFailed" - provisioning_completed = "ProvisioningCompleted" - validating = "Validating" - active = "Active" + succeeded = "Succeeded" + updating = "Updating" + deleting = "Deleting" + failed = "Failed" + +class Role(str, Enum): + """The role of the contact. + """ + noc = "Noc" + policy = "Policy" + technical = "Technical" + service = "Service" + escalation = "Escalation" + other = "Other" + +class SessionAddressProvider(str, Enum): + """The field indicating if Microsoft provides session ip addresses. + """ + + microsoft = "Microsoft" + peer = "Peer" class SessionStateV4(str, Enum): + """The state of the IPv4 session. + """ none = "None" idle = "Idle" @@ -79,8 +133,9 @@ class SessionStateV4(str, Enum): pending_update = "PendingUpdate" pending_remove = "PendingRemove" - class SessionStateV6(str, Enum): + """The state of the IPv6 session. + """ none = "None" idle = "Idle" @@ -94,44 +149,26 @@ class SessionStateV6(str, Enum): pending_update = "PendingUpdate" pending_remove = "PendingRemove" +class Size(str, Enum): + """The size of the peering SKU. + """ -class DirectPeeringType(str, Enum): - - edge = "Edge" - transit = "Transit" - cdn = "Cdn" - internal = "Internal" - - -class ProvisioningState(str, Enum): + free = "Free" + metered = "Metered" + unlimited = "Unlimited" - succeeded = "Succeeded" - updating = "Updating" - deleting = "Deleting" - failed = "Failed" +class Tier(str, Enum): + """The tier of the peering SKU. + """ + basic = "Basic" + premium = "Premium" class ValidationState(str, Enum): + """The validation state of the ASN associated with the peer. + """ none = "None" pending = "Pending" approved = "Approved" failed = "Failed" - - -class PrefixValidationState(str, Enum): - - none = "None" - invalid = "Invalid" - verified = "Verified" - failed = "Failed" - pending = "Pending" - warning = "Warning" - unknown = "Unknown" - - -class LearnedType(str, Enum): - - none = "None" - via_service_provider = "ViaServiceProvider" - via_session = "ViaSession" diff --git a/src/peering/azext_peering/vendored_sdks/peering/operations/__init__.py b/src/peering/azext_peering/vendored_sdks/peering/operations/__init__.py index cdd15747d39..ae651deb493 100644 --- a/src/peering/azext_peering/vendored_sdks/peering/operations/__init__.py +++ b/src/peering/azext_peering/vendored_sdks/peering/operations/__init__.py @@ -1,34 +1,39 @@ # coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# +# Licensed under the MIT License. See License.txt in the project root for license information. # Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from ._legacy_peerings_operations import LegacyPeeringsOperations -from ._operations import Operations -from ._peer_asns_operations import PeerAsnsOperations -from ._peering_locations_operations import PeeringLocationsOperations -from ._peerings_operations import PeeringsOperations -from ._peering_service_locations_operations import PeeringServiceLocationsOperations -from ._prefixes_operations import PrefixesOperations -from ._peering_service_providers_operations import PeeringServiceProvidersOperations -from ._peering_services_operations import PeeringServicesOperations from ._peering_management_client_operations import PeeringManagementClientOperationsMixin +from ._legacy_peering_operations import LegacyPeeringOperations +from ._operation_operations import OperationOperations +from ._peer_asn_operations import PeerAsnOperations +from ._peering_location_operations import PeeringLocationOperations +from ._registered_asn_operations import RegisteredAsnOperations +from ._registered_prefix_operations import RegisteredPrefixOperations +from ._peering_operations import PeeringOperations +from ._received_route_operations import ReceivedRouteOperations +from ._peering_service_country_operations import PeeringServiceCountryOperations +from ._peering_service_location_operations import PeeringServiceLocationOperations +from ._prefix_operations import PrefixOperations +from ._peering_service_provider_operations import PeeringServiceProviderOperations +from ._peering_service_operations import PeeringServiceOperations __all__ = [ - 'LegacyPeeringsOperations', - 'Operations', - 'PeerAsnsOperations', - 'PeeringLocationsOperations', - 'PeeringsOperations', - 'PeeringServiceLocationsOperations', - 'PrefixesOperations', - 'PeeringServiceProvidersOperations', - 'PeeringServicesOperations', 'PeeringManagementClientOperationsMixin', + 'LegacyPeeringOperations', + 'OperationOperations', + 'PeerAsnOperations', + 'PeeringLocationOperations', + 'RegisteredAsnOperations', + 'RegisteredPrefixOperations', + 'PeeringOperations', + 'ReceivedRouteOperations', + 'PeeringServiceCountryOperations', + 'PeeringServiceLocationOperations', + 'PrefixOperations', + 'PeeringServiceProviderOperations', + 'PeeringServiceOperations', ] diff --git a/src/peering/azext_peering/vendored_sdks/peering/operations/_legacy_peering_operations.py b/src/peering/azext_peering/vendored_sdks/peering/operations/_legacy_peering_operations.py new file mode 100644 index 00000000000..6d3f294952d --- /dev/null +++ b/src/peering/azext_peering/vendored_sdks/peering/operations/_legacy_peering_operations.py @@ -0,0 +1,123 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.mgmt.core.exceptions import ARMErrorFormat + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class LegacyPeeringOperations(object): + """LegacyPeeringOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.peering.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + peering_location, # type: str + kind, # type: Union[str, "models.Enum1"] + asn=None, # type: Optional[int] + **kwargs # type: Any + ): + # type: (...) -> "models.PeeringListResult" + """Lists all of the legacy peerings under the given subscription matching the specified kind and location. + + :param peering_location: The location of the peering. + :type peering_location: str + :param kind: The kind of the peering. + :type kind: str or ~azure.mgmt.peering.models.Enum1 + :param asn: The ASN number associated with a legacy peering. + :type asn: int + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PeeringListResult or the result of cls(response) + :rtype: ~azure.mgmt.peering.models.PeeringListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.PeeringListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-04-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['peeringLocation'] = self._serialize.query("peering_location", peering_location, 'str') + query_parameters['kind'] = self._serialize.query("kind", kind, 'str') + if asn is not None: + query_parameters['asn'] = self._serialize.query("asn", asn, 'int') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('PeeringListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Peering/legacyPeerings'} diff --git a/src/peering/azext_peering/vendored_sdks/peering/operations/_legacy_peerings_operations.py b/src/peering/azext_peering/vendored_sdks/peering/operations/_legacy_peerings_operations.py deleted file mode 100644 index 131a2771c2c..00000000000 --- a/src/peering/azext_peering/vendored_sdks/peering/operations/_legacy_peerings_operations.py +++ /dev/null @@ -1,112 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse - -from .. import models - - -class LegacyPeeringsOperations(object): - """LegacyPeeringsOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: The client API version. Constant value: "2019-09-01-preview". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01-preview" - - self.config = config - - def list( - self, peering_location, kind, custom_headers=None, raw=False, **operation_config): - """Lists all of the legacy peerings under the given subscription matching - the specified kind and location. - - :param peering_location: The location of the peering. - :type peering_location: str - :param kind: The kind of the peering. Possible values include: - 'Direct', 'Exchange' - :type kind: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of Peering - :rtype: - ~azure.mgmt.peering.models.PeeringPaged[~azure.mgmt.peering.models.Peering] - :raises: - :class:`ErrorResponseException` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - '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['peeringLocation'] = self._serialize.query("peering_location", peering_location, 'str') - query_parameters['kind'] = self._serialize.query("kind", kind, 'str') - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorResponseException(self._deserialize, response) - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.PeeringPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Peering/legacyPeerings'} diff --git a/src/peering/azext_peering/vendored_sdks/peering/operations/_operation_operations.py b/src/peering/azext_peering/vendored_sdks/peering/operations/_operation_operations.py new file mode 100644 index 00000000000..7794ce79eb8 --- /dev/null +++ b/src/peering/azext_peering/vendored_sdks/peering/operations/_operation_operations.py @@ -0,0 +1,106 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.mgmt.core.exceptions import ARMErrorFormat + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Optional, TypeVar + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class OperationOperations(object): + """OperationOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.peering.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + **kwargs # type: Any + ): + # type: (...) -> "models.OperationListResult" + """Lists all of the available API operations for peering resources. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: OperationListResult or the result of cls(response) + :rtype: ~azure.mgmt.peering.models.OperationListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.OperationListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-04-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('OperationListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/providers/Microsoft.Peering/operations'} diff --git a/src/peering/azext_peering/vendored_sdks/peering/operations/_operations.py b/src/peering/azext_peering/vendored_sdks/peering/operations/_operations.py deleted file mode 100644 index 3e049e50cc1..00000000000 --- a/src/peering/azext_peering/vendored_sdks/peering/operations/_operations.py +++ /dev/null @@ -1,100 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse - -from .. import models - - -class Operations(object): - """Operations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: The client API version. Constant value: "2019-09-01-preview". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01-preview" - - self.config = config - - def list( - self, custom_headers=None, raw=False, **operation_config): - """Lists all of the available API operations for peering resources. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of Operation - :rtype: - ~azure.mgmt.peering.models.OperationPaged[~azure.mgmt.peering.models.Operation] - :raises: - :class:`ErrorResponseException` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorResponseException(self._deserialize, response) - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.OperationPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/providers/Microsoft.Peering/operations'} diff --git a/src/peering/azext_peering/vendored_sdks/peering/operations/_peer_asn_operations.py b/src/peering/azext_peering/vendored_sdks/peering/operations/_peer_asn_operations.py new file mode 100644 index 00000000000..0805f00b66c --- /dev/null +++ b/src/peering/azext_peering/vendored_sdks/peering/operations/_peer_asn_operations.py @@ -0,0 +1,290 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.mgmt.core.exceptions import ARMErrorFormat + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, List, Optional, TypeVar, Union + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class PeerAsnOperations(object): + """PeerAsnOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.peering.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def get( + self, + peer_asn_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.PeerAsn" + """Gets the peer ASN with the specified name under the given subscription. + + :param peer_asn_name: The peer ASN name. + :type peer_asn_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PeerAsn or the result of cls(response) + :rtype: ~azure.mgmt.peering.models.PeerAsn + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.PeerAsn"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-04-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'peerAsnName': self._serialize.url("peer_asn_name", peer_asn_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('PeerAsn', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peerAsns/{peerAsnName}'} + + def create_or_update( + self, + peer_asn_name, # type: str + peer_asn=None, # type: Optional[int] + peer_contact_detail=None, # type: Optional[List["ContactDetail"]] + peer_name=None, # type: Optional[str] + validation_state=None, # type: Optional[Union[str, "models.ValidationState"]] + **kwargs # type: Any + ): + # type: (...) -> "models.PeerAsn" + """Creates a new peer ASN or updates an existing peer ASN with the specified name under the given subscription. + + :param peer_asn_name: The peer ASN name. + :type peer_asn_name: str + :param peer_asn: The Autonomous System Number (ASN) of the peer. + :type peer_asn: int + :param peer_contact_detail: The contact details of the peer. + :type peer_contact_detail: list[~azure.mgmt.peering.models.ContactDetail] + :param peer_name: The name of the peer. + :type peer_name: str + :param validation_state: The validation state of the ASN associated with the peer. + :type validation_state: str or ~azure.mgmt.peering.models.ValidationState + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PeerAsn or the result of cls(response) + :rtype: ~azure.mgmt.peering.models.PeerAsn or ~azure.mgmt.peering.models.PeerAsn + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.PeerAsn"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _peer_asn = models.PeerAsn(peer_asn=peer_asn, peer_contact_detail=peer_contact_detail, peer_name=peer_name, validation_state=validation_state) + api_version = "2020-04-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'peerAsnName': self._serialize.url("peer_asn_name", peer_asn_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_peer_asn, 'PeerAsn') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('PeerAsn', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('PeerAsn', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peerAsns/{peerAsnName}'} + + def delete( + self, + peer_asn_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + """Deletes an existing peer ASN with the specified name under the given subscription. + + :param peer_asn_name: The peer ASN name. + :type peer_asn_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-04-01" + + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'peerAsnName': self._serialize.url("peer_asn_name", peer_asn_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peerAsns/{peerAsnName}'} + + def list_by_subscription( + self, + **kwargs # type: Any + ): + # type: (...) -> "models.PeerAsnListResult" + """Lists all of the peer ASNs under the given subscription. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PeerAsnListResult or the result of cls(response) + :rtype: ~azure.mgmt.peering.models.PeerAsnListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.PeerAsnListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-04-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_subscription.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('PeerAsnListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_by_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peerAsns'} diff --git a/src/peering/azext_peering/vendored_sdks/peering/operations/_peer_asns_operations.py b/src/peering/azext_peering/vendored_sdks/peering/operations/_peer_asns_operations.py deleted file mode 100644 index cb397734c85..00000000000 --- a/src/peering/azext_peering/vendored_sdks/peering/operations/_peer_asns_operations.py +++ /dev/null @@ -1,277 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse - -from .. import models - - -class PeerAsnsOperations(object): - """PeerAsnsOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: The client API version. Constant value: "2019-09-01-preview". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01-preview" - - self.config = config - - def get( - self, peer_asn_name, custom_headers=None, raw=False, **operation_config): - """Gets the peer ASN with the specified name under the given subscription. - - :param peer_asn_name: The peer ASN name. - :type peer_asn_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: PeerAsn or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.peering.models.PeerAsn or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorResponseException` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'peerAsnName': self._serialize.url("peer_asn_name", peer_asn_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorResponseException(self._deserialize, response) - - deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('PeerAsn', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peerAsns/{peerAsnName}'} - - def create_or_update( - self, peer_asn_name, peer_asn, custom_headers=None, raw=False, **operation_config): - """Creates a new peer ASN or updates an existing peer ASN with the - specified name under the given subscription. - - :param peer_asn_name: The peer ASN name. - :type peer_asn_name: str - :param peer_asn: The peer ASN. - :type peer_asn: ~azure.mgmt.peering.models.PeerAsn - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: PeerAsn or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.peering.models.PeerAsn or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorResponseException` - """ - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'peerAsnName': self._serialize.url("peer_asn_name", peer_asn_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(peer_asn, 'PeerAsn') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 201]: - raise models.ErrorResponseException(self._deserialize, response) - - deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('PeerAsn', response) - if response.status_code == 201: - deserialized = self._deserialize('PeerAsn', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peerAsns/{peerAsnName}'} - - def delete( - self, peer_asn_name, custom_headers=None, raw=False, **operation_config): - """Deletes an existing peer ASN with the specified name under the given - subscription. - - :param peer_asn_name: The peer ASN name. - :type peer_asn_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: None or ClientRawResponse if raw=true - :rtype: None or ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorResponseException` - """ - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'peerAsnName': self._serialize.url("peer_asn_name", peer_asn_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 204]: - raise models.ErrorResponseException(self._deserialize, response) - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - delete.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peerAsns/{peerAsnName}'} - - def list_by_subscription( - self, custom_headers=None, raw=False, **operation_config): - """Lists all of the peer ASNs under the given subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of PeerAsn - :rtype: - ~azure.mgmt.peering.models.PeerAsnPaged[~azure.mgmt.peering.models.PeerAsn] - :raises: - :class:`ErrorResponseException` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_by_subscription.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorResponseException(self._deserialize, response) - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.PeerAsnPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_by_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peerAsns'} diff --git a/src/peering/azext_peering/vendored_sdks/peering/operations/_peering_location_operations.py b/src/peering/azext_peering/vendored_sdks/peering/operations/_peering_location_operations.py new file mode 100644 index 00000000000..aa2a876bf18 --- /dev/null +++ b/src/peering/azext_peering/vendored_sdks/peering/operations/_peering_location_operations.py @@ -0,0 +1,119 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.mgmt.core.exceptions import ARMErrorFormat + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class PeeringLocationOperations(object): + """PeeringLocationOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.peering.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + kind, # type: Union[str, "models.Enum14"] + direct_peering_type=None, # type: Optional[Union[str, "models.Enum15"]] + **kwargs # type: Any + ): + # type: (...) -> "models.PeeringLocationListResult" + """Lists all of the available peering locations for the specified kind of peering. + + :param kind: The kind of the peering. + :type kind: str or ~azure.mgmt.peering.models.Enum14 + :param direct_peering_type: The type of direct peering. + :type direct_peering_type: str or ~azure.mgmt.peering.models.Enum15 + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PeeringLocationListResult or the result of cls(response) + :rtype: ~azure.mgmt.peering.models.PeeringLocationListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.PeeringLocationListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-04-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['kind'] = self._serialize.query("kind", kind, 'str') + if direct_peering_type is not None: + query_parameters['directPeeringType'] = self._serialize.query("direct_peering_type", direct_peering_type, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('PeeringLocationListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peeringLocations'} diff --git a/src/peering/azext_peering/vendored_sdks/peering/operations/_peering_locations_operations.py b/src/peering/azext_peering/vendored_sdks/peering/operations/_peering_locations_operations.py deleted file mode 100644 index 6cf7c67dd8e..00000000000 --- a/src/peering/azext_peering/vendored_sdks/peering/operations/_peering_locations_operations.py +++ /dev/null @@ -1,114 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse - -from .. import models - - -class PeeringLocationsOperations(object): - """PeeringLocationsOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: The client API version. Constant value: "2019-09-01-preview". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01-preview" - - self.config = config - - def list( - self, kind, direct_peering_type=None, custom_headers=None, raw=False, **operation_config): - """Lists all of the available peering locations for the specified kind of - peering. - - :param kind: The kind of the peering. Possible values include: - 'Direct', 'Exchange' - :type kind: str - :param direct_peering_type: The type of direct peering. Possible - values include: 'Edge', 'Transit', 'Cdn', 'Internal' - :type direct_peering_type: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of PeeringLocation - :rtype: - ~azure.mgmt.peering.models.PeeringLocationPaged[~azure.mgmt.peering.models.PeeringLocation] - :raises: - :class:`ErrorResponseException` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - '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['kind'] = self._serialize.query("kind", kind, 'str') - if direct_peering_type is not None: - query_parameters['directPeeringType'] = self._serialize.query("direct_peering_type", direct_peering_type, 'str') - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorResponseException(self._deserialize, response) - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.PeeringLocationPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peeringLocations'} diff --git a/src/peering/azext_peering/vendored_sdks/peering/operations/_peering_management_client_operations.py b/src/peering/azext_peering/vendored_sdks/peering/operations/_peering_management_client_operations.py index 85630b814cb..fbcb48f1a58 100644 --- a/src/peering/azext_peering/vendored_sdks/peering/operations/_peering_management_client_operations.py +++ b/src/peering/azext_peering/vendored_sdks/peering/operations/_peering_management_client_operations.py @@ -1,83 +1,88 @@ # coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# +# Licensed under the MIT License. See License.txt in the project root for license information. # Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.mgmt.core.exceptions import ARMErrorFormat -from msrest.pipeline import ClientRawResponse from .. import models -import uuid +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] class PeeringManagementClientOperationsMixin(object): def check_service_provider_availability( - self, peering_service_location=None, peering_service_provider=None, custom_headers=None, raw=False, **operation_config): - """Checks if the peering service provider is present within 1000 miles of - customer's location. + self, + peering_service_location=None, # type: Optional[str] + peering_service_provider=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> Union[str, "models.Enum0"] + """Checks if the peering service provider is present within 1000 miles of customer's location. - :param peering_service_location: Gets or sets the - PeeringServiceLocation + :param peering_service_location: Gets or sets the peering service location. :type peering_service_location: str - :param peering_service_provider: Gets or sets the - PeeringServiceProvider + :param peering_service_provider: Gets or sets the peering service provider. :type peering_service_provider: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: enum or ClientRawResponse if raw=true - :rtype: str or ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorResponseException` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Enum0 or the result of cls(response) + :rtype: str or ~azure.mgmt.peering.models.Enum0 + :raises: ~azure.core.exceptions.HttpResponseError """ - check_service_provider_availability_input = models.CheckServiceProviderAvailabilityInput(peering_service_location=peering_service_location, peering_service_provider=peering_service_provider) + cls = kwargs.pop('cls', None) # type: ClsType[Union[str, "models.Enum0"]] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _check_service_provider_availability_input = models.CheckServiceProviderAvailabilityInput(peering_service_location=peering_service_location, peering_service_provider=peering_service_provider) + api_version = "2020-04-01" + content_type = kwargs.pop("content_type", "application/json") # Construct URL url = self.check_service_provider_availability.metadata['url'] path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + '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.api_version", self.api_version, 'str') + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') # Construct headers - header_parameters = {} + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') header_parameters['Accept'] = 'application/json' - 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(check_service_provider_availability_input, 'CheckServiceProviderAvailabilityInput') # Construct and send request - request = self._client.post(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_check_service_provider_availability_input, 'CheckServiceProviderAvailabilityInput') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - raise models.ErrorResponseException(self._deserialize, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('str', response) + deserialized = self._deserialize('str', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized check_service_provider_availability.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Peering/CheckServiceProviderAvailability'} diff --git a/src/peering/azext_peering/vendored_sdks/peering/operations/_peering_operations.py b/src/peering/azext_peering/vendored_sdks/peering/operations/_peering_operations.py new file mode 100644 index 00000000000..b7dfaebe277 --- /dev/null +++ b/src/peering/azext_peering/vendored_sdks/peering/operations/_peering_operations.py @@ -0,0 +1,447 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.mgmt.core.exceptions import ARMErrorFormat + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class PeeringOperations(object): + """PeeringOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.peering.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def get( + self, + resource_group_name, # type: str + peering_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.Peering" + """Gets an existing peering with the specified name under the given subscription and resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param peering_name: The name of the peering. + :type peering_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Peering or the result of cls(response) + :rtype: ~azure.mgmt.peering.models.Peering + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.Peering"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-04-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('Peering', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings/{peeringName}'} + + def create_or_update( + self, + resource_group_name, # type: str + peering_name, # type: str + sku, # type: "models.PeeringSku" + kind, # type: Union[str, "models.Kind"] + location, # type: str + tags=None, # type: Optional[Dict[str, str]] + direct=None, # type: Optional["models.PeeringPropertiesDirect"] + exchange=None, # type: Optional["models.PeeringPropertiesExchange"] + peering_location=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.Peering" + """Creates a new peering or updates an existing peering with the specified name under the given subscription and resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param peering_name: The name of the peering. + :type peering_name: str + :param sku: The SKU that defines the tier and kind of the peering. + :type sku: ~azure.mgmt.peering.models.PeeringSku + :param kind: The kind of the peering. + :type kind: str or ~azure.mgmt.peering.models.Kind + :param location: The location of the resource. + :type location: str + :param tags: The resource tags. + :type tags: dict[str, str] + :param direct: The properties that define a direct peering. + :type direct: ~azure.mgmt.peering.models.PeeringPropertiesDirect + :param exchange: The properties that define an exchange peering. + :type exchange: ~azure.mgmt.peering.models.PeeringPropertiesExchange + :param peering_location: The location of the peering. + :type peering_location: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Peering or the result of cls(response) + :rtype: ~azure.mgmt.peering.models.Peering or ~azure.mgmt.peering.models.Peering + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.Peering"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _peering = models.Peering(sku=sku, kind=kind, location=location, tags=tags, direct=direct, exchange=exchange, peering_location=peering_location) + api_version = "2020-04-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_peering, 'Peering') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('Peering', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('Peering', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings/{peeringName}'} + + def delete( + self, + resource_group_name, # type: str + peering_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + """Deletes an existing peering with the specified name under the given subscription and resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param peering_name: The name of the peering. + :type peering_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-04-01" + + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings/{peeringName}'} + + def update( + self, + resource_group_name, # type: str + peering_name, # type: str + tags=None, # type: Optional[Dict[str, str]] + **kwargs # type: Any + ): + # type: (...) -> "models.Peering" + """Updates tags for a peering with the specified name under the given subscription and resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param peering_name: The name of the peering. + :type peering_name: str + :param tags: Gets or sets the tags, a dictionary of descriptors arm object. + :type tags: dict[str, str] + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Peering or the result of cls(response) + :rtype: ~azure.mgmt.peering.models.Peering + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.Peering"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _tags = models.ResourceTags(tags=tags) + api_version = "2020-04-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_tags, 'ResourceTags') + body_content_kwargs['content'] = body_content + request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('Peering', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings/{peeringName}'} + + def list_by_resource_group( + self, + resource_group_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.PeeringListResult" + """Lists all of the peerings under the given subscription and resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PeeringListResult or the result of cls(response) + :rtype: ~azure.mgmt.peering.models.PeeringListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.PeeringListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-04-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('PeeringListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings'} + + def list_by_subscription( + self, + **kwargs # type: Any + ): + # type: (...) -> "models.PeeringListResult" + """Lists all of the peerings under the given subscription. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PeeringListResult or the result of cls(response) + :rtype: ~azure.mgmt.peering.models.PeeringListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.PeeringListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-04-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_subscription.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('PeeringListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_by_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peerings'} diff --git a/src/peering/azext_peering/vendored_sdks/peering/operations/_peering_service_country_operations.py b/src/peering/azext_peering/vendored_sdks/peering/operations/_peering_service_country_operations.py new file mode 100644 index 00000000000..2edd1eaecc8 --- /dev/null +++ b/src/peering/azext_peering/vendored_sdks/peering/operations/_peering_service_country_operations.py @@ -0,0 +1,110 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.mgmt.core.exceptions import ARMErrorFormat + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Optional, TypeVar + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class PeeringServiceCountryOperations(object): + """PeeringServiceCountryOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.peering.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + **kwargs # type: Any + ): + # type: (...) -> "models.PeeringServiceCountryListResult" + """Lists all of the available countries for peering service. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PeeringServiceCountryListResult or the result of cls(response) + :rtype: ~azure.mgmt.peering.models.PeeringServiceCountryListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.PeeringServiceCountryListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-04-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('PeeringServiceCountryListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peeringServiceCountries'} diff --git a/src/peering/azext_peering/vendored_sdks/peering/operations/_peering_service_location_operations.py b/src/peering/azext_peering/vendored_sdks/peering/operations/_peering_service_location_operations.py new file mode 100644 index 00000000000..a32af2ce554 --- /dev/null +++ b/src/peering/azext_peering/vendored_sdks/peering/operations/_peering_service_location_operations.py @@ -0,0 +1,115 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.mgmt.core.exceptions import ARMErrorFormat + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Optional, TypeVar + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class PeeringServiceLocationOperations(object): + """PeeringServiceLocationOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.peering.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + country=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.PeeringServiceLocationListResult" + """Lists all of the available locations for peering service. + + :param country: The country of interest, in which the locations are to be present. + :type country: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PeeringServiceLocationListResult or the result of cls(response) + :rtype: ~azure.mgmt.peering.models.PeeringServiceLocationListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.PeeringServiceLocationListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-04-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + if country is not None: + query_parameters['country'] = self._serialize.query("country", country, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('PeeringServiceLocationListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peeringServiceLocations'} diff --git a/src/peering/azext_peering/vendored_sdks/peering/operations/_peering_service_locations_operations.py b/src/peering/azext_peering/vendored_sdks/peering/operations/_peering_service_locations_operations.py deleted file mode 100644 index cdf508d203c..00000000000 --- a/src/peering/azext_peering/vendored_sdks/peering/operations/_peering_service_locations_operations.py +++ /dev/null @@ -1,105 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse - -from .. import models - - -class PeeringServiceLocationsOperations(object): - """PeeringServiceLocationsOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: The client API version. Constant value: "2019-09-01-preview". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01-preview" - - self.config = config - - def list( - self, custom_headers=None, raw=False, **operation_config): - """Lists all of the available peering service locations for the specified - kind of peering. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of PeeringServiceLocation - :rtype: - ~azure.mgmt.peering.models.PeeringServiceLocationPaged[~azure.mgmt.peering.models.PeeringServiceLocation] - :raises: - :class:`ErrorResponseException` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorResponseException(self._deserialize, response) - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.PeeringServiceLocationPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peeringServiceLocations'} diff --git a/src/peering/azext_peering/vendored_sdks/peering/operations/_peering_service_operations.py b/src/peering/azext_peering/vendored_sdks/peering/operations/_peering_service_operations.py new file mode 100644 index 00000000000..9046952b33b --- /dev/null +++ b/src/peering/azext_peering/vendored_sdks/peering/operations/_peering_service_operations.py @@ -0,0 +1,441 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.mgmt.core.exceptions import ARMErrorFormat + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class PeeringServiceOperations(object): + """PeeringServiceOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.peering.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def get( + self, + resource_group_name, # type: str + peering_service_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.PeeringService" + """Gets an existing peering service with the specified name under the given subscription and resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param peering_service_name: The name of the peering. + :type peering_service_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PeeringService or the result of cls(response) + :rtype: ~azure.mgmt.peering.models.PeeringService + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.PeeringService"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-04-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'peeringServiceName': self._serialize.url("peering_service_name", peering_service_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('PeeringService', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peeringServices/{peeringServiceName}'} + + def create_or_update( + self, + resource_group_name, # type: str + peering_service_name, # type: str + location, # type: str + sku=None, # type: Optional["models.PeeringServiceSku"] + tags=None, # type: Optional[Dict[str, str]] + peering_service_location=None, # type: Optional[str] + peering_service_provider=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.PeeringService" + """Creates a new peering service or updates an existing peering with the specified name under the given subscription and resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param peering_service_name: The name of the peering service. + :type peering_service_name: str + :param location: The location of the resource. + :type location: str + :param sku: The SKU that defines the type of the peering service. + :type sku: ~azure.mgmt.peering.models.PeeringServiceSku + :param tags: The resource tags. + :type tags: dict[str, str] + :param peering_service_location: The PeeringServiceLocation of the Customer. + :type peering_service_location: str + :param peering_service_provider: The MAPS Provider Name. + :type peering_service_provider: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PeeringService or the result of cls(response) + :rtype: ~azure.mgmt.peering.models.PeeringService or ~azure.mgmt.peering.models.PeeringService + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.PeeringService"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _peering_service = models.PeeringService(sku=sku, location=location, tags=tags, peering_service_location=peering_service_location, peering_service_provider=peering_service_provider) + api_version = "2020-04-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'peeringServiceName': self._serialize.url("peering_service_name", peering_service_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_peering_service, 'PeeringService') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('PeeringService', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('PeeringService', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peeringServices/{peeringServiceName}'} + + def delete( + self, + resource_group_name, # type: str + peering_service_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + """Deletes an existing peering service with the specified name under the given subscription and resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param peering_service_name: The name of the peering service. + :type peering_service_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-04-01" + + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'peeringServiceName': self._serialize.url("peering_service_name", peering_service_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peeringServices/{peeringServiceName}'} + + def update( + self, + resource_group_name, # type: str + peering_service_name, # type: str + tags=None, # type: Optional[Dict[str, str]] + **kwargs # type: Any + ): + # type: (...) -> "models.PeeringService" + """Updates tags for a peering service with the specified name under the given subscription and resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param peering_service_name: The name of the peering service. + :type peering_service_name: str + :param tags: Gets or sets the tags, a dictionary of descriptors arm object. + :type tags: dict[str, str] + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PeeringService or the result of cls(response) + :rtype: ~azure.mgmt.peering.models.PeeringService + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.PeeringService"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _tags = models.ResourceTags(tags=tags) + api_version = "2020-04-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'peeringServiceName': self._serialize.url("peering_service_name", peering_service_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_tags, 'ResourceTags') + body_content_kwargs['content'] = body_content + request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('PeeringService', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peeringServices/{peeringServiceName}'} + + def list_by_resource_group( + self, + resource_group_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.PeeringServiceListResult" + """Lists all of the peering services under the given subscription and resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PeeringServiceListResult or the result of cls(response) + :rtype: ~azure.mgmt.peering.models.PeeringServiceListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.PeeringServiceListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-04-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('PeeringServiceListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peeringServices'} + + def list_by_subscription( + self, + **kwargs # type: Any + ): + # type: (...) -> "models.PeeringServiceListResult" + """Lists all of the peerings under the given subscription. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PeeringServiceListResult or the result of cls(response) + :rtype: ~azure.mgmt.peering.models.PeeringServiceListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.PeeringServiceListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-04-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_subscription.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('PeeringServiceListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_by_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peeringServices'} diff --git a/src/peering/azext_peering/vendored_sdks/peering/operations/_peering_service_provider_operations.py b/src/peering/azext_peering/vendored_sdks/peering/operations/_peering_service_provider_operations.py new file mode 100644 index 00000000000..32ed4f406be --- /dev/null +++ b/src/peering/azext_peering/vendored_sdks/peering/operations/_peering_service_provider_operations.py @@ -0,0 +1,110 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.mgmt.core.exceptions import ARMErrorFormat + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Optional, TypeVar + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class PeeringServiceProviderOperations(object): + """PeeringServiceProviderOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.peering.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + **kwargs # type: Any + ): + # type: (...) -> "models.PeeringServiceProviderListResult" + """Lists all of the available peering service locations for the specified kind of peering. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PeeringServiceProviderListResult or the result of cls(response) + :rtype: ~azure.mgmt.peering.models.PeeringServiceProviderListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.PeeringServiceProviderListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-04-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('PeeringServiceProviderListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peeringServiceProviders'} diff --git a/src/peering/azext_peering/vendored_sdks/peering/operations/_peering_service_providers_operations.py b/src/peering/azext_peering/vendored_sdks/peering/operations/_peering_service_providers_operations.py deleted file mode 100644 index 4aba0deb4a8..00000000000 --- a/src/peering/azext_peering/vendored_sdks/peering/operations/_peering_service_providers_operations.py +++ /dev/null @@ -1,105 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse - -from .. import models - - -class PeeringServiceProvidersOperations(object): - """PeeringServiceProvidersOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: The client API version. Constant value: "2019-09-01-preview". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01-preview" - - self.config = config - - def list( - self, custom_headers=None, raw=False, **operation_config): - """Lists all of the available peering service locations for the specified - kind of peering. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of PeeringServiceProvider - :rtype: - ~azure.mgmt.peering.models.PeeringServiceProviderPaged[~azure.mgmt.peering.models.PeeringServiceProvider] - :raises: - :class:`ErrorResponseException` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorResponseException(self._deserialize, response) - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.PeeringServiceProviderPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peeringServiceProviders'} diff --git a/src/peering/azext_peering/vendored_sdks/peering/operations/_peering_services_operations.py b/src/peering/azext_peering/vendored_sdks/peering/operations/_peering_services_operations.py deleted file mode 100644 index ecac472f7b5..00000000000 --- a/src/peering/azext_peering/vendored_sdks/peering/operations/_peering_services_operations.py +++ /dev/null @@ -1,427 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse - -from .. import models - - -class PeeringServicesOperations(object): - """PeeringServicesOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: The client API version. Constant value: "2019-09-01-preview". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01-preview" - - self.config = config - - def get( - self, resource_group_name, peering_service_name, custom_headers=None, raw=False, **operation_config): - """Gets an existing peering service with the specified name under the - given subscription and resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param peering_service_name: The name of the peering. - :type peering_service_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: PeeringService or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.peering.models.PeeringService or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorResponseException` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'peeringServiceName': self._serialize.url("peering_service_name", peering_service_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorResponseException(self._deserialize, response) - - deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('PeeringService', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peeringServices/{peeringServiceName}'} - - def create_or_update( - self, resource_group_name, peering_service_name, peering_service, custom_headers=None, raw=False, **operation_config): - """Creates a new peering service or updates an existing peering with the - specified name under the given subscription and resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param peering_service_name: The name of the peering service. - :type peering_service_name: str - :param peering_service: The properties needed to create or update a - peering service. - :type peering_service: ~azure.mgmt.peering.models.PeeringService - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: PeeringService or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.peering.models.PeeringService or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorResponseException` - """ - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'peeringServiceName': self._serialize.url("peering_service_name", peering_service_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(peering_service, 'PeeringService') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 201]: - raise models.ErrorResponseException(self._deserialize, response) - - deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('PeeringService', response) - if response.status_code == 201: - deserialized = self._deserialize('PeeringService', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peeringServices/{peeringServiceName}'} - - def delete( - self, resource_group_name, peering_service_name, custom_headers=None, raw=False, **operation_config): - """Deletes an existing peering service with the specified name under the - given subscription and resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param peering_service_name: The name of the peering service. - :type peering_service_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: None or ClientRawResponse if raw=true - :rtype: None or ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorResponseException` - """ - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'peeringServiceName': self._serialize.url("peering_service_name", peering_service_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 204]: - raise models.ErrorResponseException(self._deserialize, response) - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peeringServices/{peeringServiceName}'} - - def update( - self, resource_group_name, peering_service_name, tags=None, custom_headers=None, raw=False, **operation_config): - """Updates tags for a peering service with the specified name under the - given subscription and resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param peering_service_name: The name of the peering service. - :type peering_service_name: str - :param tags: Gets or sets the tags, a dictionary of descriptors arm - object - :type tags: dict[str, str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: PeeringService or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.peering.models.PeeringService or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorResponseException` - """ - tags1 = models.ResourceTags(tags=tags) - - # Construct URL - url = self.update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'peeringServiceName': self._serialize.url("peering_service_name", peering_service_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(tags1, 'ResourceTags') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorResponseException(self._deserialize, response) - - deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('PeeringService', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peeringServices/{peeringServiceName}'} - - def list_by_resource_group( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Lists all of the peering services under the given subscription and - resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of PeeringService - :rtype: - ~azure.mgmt.peering.models.PeeringServicePaged[~azure.mgmt.peering.models.PeeringService] - :raises: - :class:`ErrorResponseException` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_by_resource_group.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorResponseException(self._deserialize, response) - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.PeeringServicePaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peeringServices'} - - def list_by_subscription( - self, custom_headers=None, raw=False, **operation_config): - """Lists all of the peerings under the given subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of PeeringService - :rtype: - ~azure.mgmt.peering.models.PeeringServicePaged[~azure.mgmt.peering.models.PeeringService] - :raises: - :class:`ErrorResponseException` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_by_subscription.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorResponseException(self._deserialize, response) - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.PeeringServicePaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_by_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peeringServices'} diff --git a/src/peering/azext_peering/vendored_sdks/peering/operations/_peerings_operations.py b/src/peering/azext_peering/vendored_sdks/peering/operations/_peerings_operations.py deleted file mode 100644 index 40da1c49675..00000000000 --- a/src/peering/azext_peering/vendored_sdks/peering/operations/_peerings_operations.py +++ /dev/null @@ -1,426 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse - -from .. import models - - -class PeeringsOperations(object): - """PeeringsOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: The client API version. Constant value: "2019-09-01-preview". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01-preview" - - self.config = config - - def get( - self, resource_group_name, peering_name, custom_headers=None, raw=False, **operation_config): - """Gets an existing peering with the specified name under the given - subscription and resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param peering_name: The name of the peering. - :type peering_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: Peering or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.peering.models.Peering or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorResponseException` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorResponseException(self._deserialize, response) - - deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('Peering', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings/{peeringName}'} - - def create_or_update( - self, resource_group_name, peering_name, peering, custom_headers=None, raw=False, **operation_config): - """Creates a new peering or updates an existing peering with the specified - name under the given subscription and resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param peering_name: The name of the peering. - :type peering_name: str - :param peering: The properties needed to create or update a peering. - :type peering: ~azure.mgmt.peering.models.Peering - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: Peering or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.peering.models.Peering or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorResponseException` - """ - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(peering, 'Peering') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 201]: - raise models.ErrorResponseException(self._deserialize, response) - - deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('Peering', response) - if response.status_code == 201: - deserialized = self._deserialize('Peering', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings/{peeringName}'} - - def delete( - self, resource_group_name, peering_name, custom_headers=None, raw=False, **operation_config): - """Deletes an existing peering with the specified name under the given - subscription and resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param peering_name: The name of the peering. - :type peering_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: None or ClientRawResponse if raw=true - :rtype: None or ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorResponseException` - """ - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 204]: - raise models.ErrorResponseException(self._deserialize, response) - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings/{peeringName}'} - - def update( - self, resource_group_name, peering_name, tags=None, custom_headers=None, raw=False, **operation_config): - """Updates tags for a peering with the specified name under the given - subscription and resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param peering_name: The name of the peering. - :type peering_name: str - :param tags: Gets or sets the tags, a dictionary of descriptors arm - object - :type tags: dict[str, str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: Peering or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.peering.models.Peering or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorResponseException` - """ - tags1 = models.ResourceTags(tags=tags) - - # Construct URL - url = self.update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(tags1, 'ResourceTags') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorResponseException(self._deserialize, response) - - deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('Peering', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings/{peeringName}'} - - def list_by_resource_group( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Lists all of the peerings under the given subscription and resource - group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of Peering - :rtype: - ~azure.mgmt.peering.models.PeeringPaged[~azure.mgmt.peering.models.Peering] - :raises: - :class:`ErrorResponseException` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_by_resource_group.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorResponseException(self._deserialize, response) - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.PeeringPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings'} - - def list_by_subscription( - self, custom_headers=None, raw=False, **operation_config): - """Lists all of the peerings under the given subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of Peering - :rtype: - ~azure.mgmt.peering.models.PeeringPaged[~azure.mgmt.peering.models.Peering] - :raises: - :class:`ErrorResponseException` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_by_subscription.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorResponseException(self._deserialize, response) - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.PeeringPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_by_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peerings'} diff --git a/src/peering/azext_peering/vendored_sdks/peering/operations/_prefix_operations.py b/src/peering/azext_peering/vendored_sdks/peering/operations/_prefix_operations.py new file mode 100644 index 00000000000..c5b96b3ed43 --- /dev/null +++ b/src/peering/azext_peering/vendored_sdks/peering/operations/_prefix_operations.py @@ -0,0 +1,326 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.mgmt.core.exceptions import ARMErrorFormat + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class PrefixOperations(object): + """PrefixOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.peering.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def get( + self, + resource_group_name, # type: str + peering_service_name, # type: str + prefix_name, # type: str + expand=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.PeeringServicePrefix" + """Gets an existing prefix with the specified name under the given subscription, resource group and peering service. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param peering_service_name: The name of the peering service. + :type peering_service_name: str + :param prefix_name: The name of the prefix. + :type prefix_name: str + :param expand: The properties to be expanded. + :type expand: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PeeringServicePrefix or the result of cls(response) + :rtype: ~azure.mgmt.peering.models.PeeringServicePrefix + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.PeeringServicePrefix"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-04-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'peeringServiceName': self._serialize.url("peering_service_name", peering_service_name, 'str'), + 'prefixName': self._serialize.url("prefix_name", prefix_name, 'str'), + '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 = {} # type: Dict[str, Any] + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('PeeringServicePrefix', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peeringServices/{peeringServiceName}/prefixes/{prefixName}'} + + def create_or_update( + self, + resource_group_name, # type: str + peering_service_name, # type: str + prefix_name, # type: str + prefix=None, # type: Optional[str] + peering_service_prefix_key=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.PeeringServicePrefix" + """Creates a new prefix with the specified name under the given subscription, resource group and peering service. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param peering_service_name: The name of the peering service. + :type peering_service_name: str + :param prefix_name: The name of the prefix. + :type prefix_name: str + :param prefix: The prefix from which your traffic originates. + :type prefix: str + :param peering_service_prefix_key: The peering service prefix key. + :type peering_service_prefix_key: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PeeringServicePrefix or the result of cls(response) + :rtype: ~azure.mgmt.peering.models.PeeringServicePrefix or ~azure.mgmt.peering.models.PeeringServicePrefix + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.PeeringServicePrefix"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _peering_service_prefix = models.PeeringServicePrefix(prefix=prefix, peering_service_prefix_key=peering_service_prefix_key) + api_version = "2020-04-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'peeringServiceName': self._serialize.url("peering_service_name", peering_service_name, 'str'), + 'prefixName': self._serialize.url("prefix_name", prefix_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_peering_service_prefix, 'PeeringServicePrefix') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('PeeringServicePrefix', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('PeeringServicePrefix', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peeringServices/{peeringServiceName}/prefixes/{prefixName}'} + + def delete( + self, + resource_group_name, # type: str + peering_service_name, # type: str + prefix_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + """Deletes an existing prefix with the specified name under the given subscription, resource group and peering service. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param peering_service_name: The name of the peering service. + :type peering_service_name: str + :param prefix_name: The name of the prefix. + :type prefix_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-04-01" + + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'peeringServiceName': self._serialize.url("peering_service_name", peering_service_name, 'str'), + 'prefixName': self._serialize.url("prefix_name", prefix_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peeringServices/{peeringServiceName}/prefixes/{prefixName}'} + + def list_by_peering_service( + self, + resource_group_name, # type: str + peering_service_name, # type: str + expand=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.PeeringServicePrefixListResult" + """Lists all prefixes under the given subscription, resource group and peering service. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param peering_service_name: The name of the peering service. + :type peering_service_name: str + :param expand: The properties to be expanded. + :type expand: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PeeringServicePrefixListResult or the result of cls(response) + :rtype: ~azure.mgmt.peering.models.PeeringServicePrefixListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.PeeringServicePrefixListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-04-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_peering_service.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'peeringServiceName': self._serialize.url("peering_service_name", peering_service_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('PeeringServicePrefixListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_by_peering_service.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peeringServices/{peeringServiceName}/prefixes'} diff --git a/src/peering/azext_peering/vendored_sdks/peering/operations/_prefixes_operations.py b/src/peering/azext_peering/vendored_sdks/peering/operations/_prefixes_operations.py deleted file mode 100644 index 3b94252cdd9..00000000000 --- a/src/peering/azext_peering/vendored_sdks/peering/operations/_prefixes_operations.py +++ /dev/null @@ -1,313 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse - -from .. import models - - -class PrefixesOperations(object): - """PrefixesOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: The client API version. Constant value: "2019-09-01-preview". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01-preview" - - self.config = config - - def get( - self, resource_group_name, peering_service_name, prefix_name, expand=None, custom_headers=None, raw=False, **operation_config): - """Gets an existing prefix with the specified name under the given - subscription, resource group and peering service. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param peering_service_name: The name of the peering service. - :type peering_service_name: str - :param prefix_name: The name of the prefix. - :type prefix_name: str - :param expand: The properties to be expanded. - :type expand: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: PeeringServicePrefix or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.peering.models.PeeringServicePrefix or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorResponseException` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'peeringServiceName': self._serialize.url("peering_service_name", peering_service_name, 'str'), - 'prefixName': self._serialize.url("prefix_name", prefix_name, 'str'), - '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 = {} - if expand is not None: - query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorResponseException(self._deserialize, response) - - deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('PeeringServicePrefix', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peeringServices/{peeringServiceName}/prefixes/{prefixName}'} - - def create_or_update( - self, resource_group_name, peering_service_name, prefix_name, prefix=None, custom_headers=None, raw=False, **operation_config): - """Creates a new prefix with the specified name under the given - subscription, resource group and peering service. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param peering_service_name: The name of the peering service. - :type peering_service_name: str - :param prefix_name: The name of the prefix. - :type prefix_name: str - :param prefix: The prefix from which your traffic originates. - :type prefix: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: PeeringServicePrefix or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.peering.models.PeeringServicePrefix or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorResponseException` - """ - peering_service_prefix = models.PeeringServicePrefix(prefix=prefix) - - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'peeringServiceName': self._serialize.url("peering_service_name", peering_service_name, 'str'), - 'prefixName': self._serialize.url("prefix_name", prefix_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(peering_service_prefix, 'PeeringServicePrefix') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 201]: - raise models.ErrorResponseException(self._deserialize, response) - - deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('PeeringServicePrefix', response) - if response.status_code == 201: - deserialized = self._deserialize('PeeringServicePrefix', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peeringServices/{peeringServiceName}/prefixes/{prefixName}'} - - def delete( - self, resource_group_name, peering_service_name, prefix_name, custom_headers=None, raw=False, **operation_config): - """Deletes an existing prefix with the specified name under the given - subscription, resource group and peering service. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param peering_service_name: The name of the peering service. - :type peering_service_name: str - :param prefix_name: The name of the prefix. - :type prefix_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: None or ClientRawResponse if raw=true - :rtype: None or ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorResponseException` - """ - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'peeringServiceName': self._serialize.url("peering_service_name", peering_service_name, 'str'), - 'prefixName': self._serialize.url("prefix_name", prefix_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 204]: - raise models.ErrorResponseException(self._deserialize, response) - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peeringServices/{peeringServiceName}/prefixes/{prefixName}'} - - def list_by_peering_service( - self, resource_group_name, peering_service_name, expand=None, custom_headers=None, raw=False, **operation_config): - """Lists all prefixes under the given subscription, resource group and - peering service. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param peering_service_name: The name of the peering service. - :type peering_service_name: str - :param expand: The properties to be expanded. - :type expand: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of PeeringServicePrefix - :rtype: - ~azure.mgmt.peering.models.PeeringServicePrefixPaged[~azure.mgmt.peering.models.PeeringServicePrefix] - :raises: - :class:`ErrorResponseException` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_by_peering_service.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'peeringServiceName': self._serialize.url("peering_service_name", peering_service_name, 'str'), - '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 = {} - if expand is not None: - query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorResponseException(self._deserialize, response) - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.PeeringServicePrefixPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_by_peering_service.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peeringServices/{peeringServiceName}/prefixes'} diff --git a/src/peering/azext_peering/vendored_sdks/peering/operations/_received_route_operations.py b/src/peering/azext_peering/vendored_sdks/peering/operations/_received_route_operations.py new file mode 100644 index 00000000000..7fc1b27b534 --- /dev/null +++ b/src/peering/azext_peering/vendored_sdks/peering/operations/_received_route_operations.py @@ -0,0 +1,146 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.mgmt.core.exceptions import ARMErrorFormat + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Optional, TypeVar + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class ReceivedRouteOperations(object): + """ReceivedRouteOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.peering.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list_by_peering( + self, + resource_group_name, # type: str + peering_name, # type: str + prefix=None, # type: Optional[str] + as_path=None, # type: Optional[str] + origin_as_validation_state=None, # type: Optional[str] + rpki_validation_state=None, # type: Optional[str] + skip_token=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.PeeringReceivedRouteListResult" + """Lists the prefixes received over the specified peering under the given subscription and resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param peering_name: The name of the peering. + :type peering_name: str + :param prefix: The optional prefix that can be used to filter the routes. + :type prefix: str + :param as_path: The optional AS path that can be used to filter the routes. + :type as_path: str + :param origin_as_validation_state: The optional origin AS validation state that can be used to + filter the routes. + :type origin_as_validation_state: str + :param rpki_validation_state: The optional RPKI validation state that can be used to filter the + routes. + :type rpki_validation_state: str + :param skip_token: The optional page continuation token that is used in the event of paginated + result. + :type skip_token: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PeeringReceivedRouteListResult or the result of cls(response) + :rtype: ~azure.mgmt.peering.models.PeeringReceivedRouteListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.PeeringReceivedRouteListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-04-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_peering.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + if prefix is not None: + query_parameters['prefix'] = self._serialize.query("prefix", prefix, 'str') + if as_path is not None: + query_parameters['asPath'] = self._serialize.query("as_path", as_path, 'str') + if origin_as_validation_state is not None: + query_parameters['originAsValidationState'] = self._serialize.query("origin_as_validation_state", origin_as_validation_state, 'str') + if rpki_validation_state is not None: + query_parameters['rpkiValidationState'] = self._serialize.query("rpki_validation_state", rpki_validation_state, 'str') + if skip_token is not None: + query_parameters['$skipToken'] = self._serialize.query("skip_token", skip_token, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('PeeringReceivedRouteListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_by_peering.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings/{peeringName}/receivedRoutes'} diff --git a/src/peering/azext_peering/vendored_sdks/peering/operations/_registered_asn_operations.py b/src/peering/azext_peering/vendored_sdks/peering/operations/_registered_asn_operations.py new file mode 100644 index 00000000000..6a849dde3cc --- /dev/null +++ b/src/peering/azext_peering/vendored_sdks/peering/operations/_registered_asn_operations.py @@ -0,0 +1,313 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.mgmt.core.exceptions import ARMErrorFormat + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class RegisteredAsnOperations(object): + """RegisteredAsnOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.peering.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def get( + self, + resource_group_name, # type: str + peering_name, # type: str + registered_asn_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.PeeringRegisteredAsn" + """Gets an existing registered ASN with the specified name under the given subscription, resource group and peering. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param peering_name: The name of the peering. + :type peering_name: str + :param registered_asn_name: The name of the registered ASN. + :type registered_asn_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PeeringRegisteredAsn or the result of cls(response) + :rtype: ~azure.mgmt.peering.models.PeeringRegisteredAsn + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.PeeringRegisteredAsn"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-04-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), + 'registeredAsnName': self._serialize.url("registered_asn_name", registered_asn_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('PeeringRegisteredAsn', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings/{peeringName}/registeredAsns/{registeredAsnName}'} + + def create_or_update( + self, + resource_group_name, # type: str + peering_name, # type: str + registered_asn_name, # type: str + asn=None, # type: Optional[int] + **kwargs # type: Any + ): + # type: (...) -> "models.PeeringRegisteredAsn" + """Creates a new registered ASN with the specified name under the given subscription, resource group and peering. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param peering_name: The name of the peering. + :type peering_name: str + :param registered_asn_name: The name of the ASN. + :type registered_asn_name: str + :param asn: The customer's ASN from which traffic originates. + :type asn: int + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PeeringRegisteredAsn or the result of cls(response) + :rtype: ~azure.mgmt.peering.models.PeeringRegisteredAsn or ~azure.mgmt.peering.models.PeeringRegisteredAsn + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.PeeringRegisteredAsn"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _registered_asn = models.PeeringRegisteredAsn(asn=asn) + api_version = "2020-04-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), + 'registeredAsnName': self._serialize.url("registered_asn_name", registered_asn_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_registered_asn, 'PeeringRegisteredAsn') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('PeeringRegisteredAsn', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('PeeringRegisteredAsn', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings/{peeringName}/registeredAsns/{registeredAsnName}'} + + def delete( + self, + resource_group_name, # type: str + peering_name, # type: str + registered_asn_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + """Deletes an existing registered ASN with the specified name under the given subscription, resource group and peering. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param peering_name: The name of the peering. + :type peering_name: str + :param registered_asn_name: The name of the registered ASN. + :type registered_asn_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-04-01" + + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), + 'registeredAsnName': self._serialize.url("registered_asn_name", registered_asn_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings/{peeringName}/registeredAsns/{registeredAsnName}'} + + def list_by_peering( + self, + resource_group_name, # type: str + peering_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.PeeringRegisteredAsnListResult" + """Lists all registered ASNs under the given subscription, resource group and peering. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param peering_name: The name of the peering. + :type peering_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PeeringRegisteredAsnListResult or the result of cls(response) + :rtype: ~azure.mgmt.peering.models.PeeringRegisteredAsnListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.PeeringRegisteredAsnListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-04-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_peering.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('PeeringRegisteredAsnListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_by_peering.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings/{peeringName}/registeredAsns'} diff --git a/src/peering/azext_peering/vendored_sdks/peering/operations/_registered_prefix_operations.py b/src/peering/azext_peering/vendored_sdks/peering/operations/_registered_prefix_operations.py new file mode 100644 index 00000000000..0cc29650ad4 --- /dev/null +++ b/src/peering/azext_peering/vendored_sdks/peering/operations/_registered_prefix_operations.py @@ -0,0 +1,313 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.mgmt.core.exceptions import ARMErrorFormat + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class RegisteredPrefixOperations(object): + """RegisteredPrefixOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.peering.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def get( + self, + resource_group_name, # type: str + peering_name, # type: str + registered_prefix_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.PeeringRegisteredPrefix" + """Gets an existing registered prefix with the specified name under the given subscription, resource group and peering. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param peering_name: The name of the peering. + :type peering_name: str + :param registered_prefix_name: The name of the registered prefix. + :type registered_prefix_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PeeringRegisteredPrefix or the result of cls(response) + :rtype: ~azure.mgmt.peering.models.PeeringRegisteredPrefix + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.PeeringRegisteredPrefix"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-04-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), + 'registeredPrefixName': self._serialize.url("registered_prefix_name", registered_prefix_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('PeeringRegisteredPrefix', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings/{peeringName}/registeredPrefixes/{registeredPrefixName}'} + + def create_or_update( + self, + resource_group_name, # type: str + peering_name, # type: str + registered_prefix_name, # type: str + prefix=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.PeeringRegisteredPrefix" + """Creates a new registered prefix with the specified name under the given subscription, resource group and peering. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param peering_name: The name of the peering. + :type peering_name: str + :param registered_prefix_name: The name of the registered prefix. + :type registered_prefix_name: str + :param prefix: The customer's prefix from which traffic originates. + :type prefix: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PeeringRegisteredPrefix or the result of cls(response) + :rtype: ~azure.mgmt.peering.models.PeeringRegisteredPrefix or ~azure.mgmt.peering.models.PeeringRegisteredPrefix + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.PeeringRegisteredPrefix"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _registered_prefix = models.PeeringRegisteredPrefix(prefix=prefix) + api_version = "2020-04-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), + 'registeredPrefixName': self._serialize.url("registered_prefix_name", registered_prefix_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_registered_prefix, 'PeeringRegisteredPrefix') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('PeeringRegisteredPrefix', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('PeeringRegisteredPrefix', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings/{peeringName}/registeredPrefixes/{registeredPrefixName}'} + + def delete( + self, + resource_group_name, # type: str + peering_name, # type: str + registered_prefix_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + """Deletes an existing registered prefix with the specified name under the given subscription, resource group and peering. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param peering_name: The name of the peering. + :type peering_name: str + :param registered_prefix_name: The name of the registered prefix. + :type registered_prefix_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-04-01" + + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), + 'registeredPrefixName': self._serialize.url("registered_prefix_name", registered_prefix_name, 'str'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings/{peeringName}/registeredPrefixes/{registeredPrefixName}'} + + def list_by_peering( + self, + resource_group_name, # type: str + peering_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.PeeringRegisteredPrefixListResult" + """Lists all registered prefixes under the given subscription, resource group and peering. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param peering_name: The name of the peering. + :type peering_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PeeringRegisteredPrefixListResult or the result of cls(response) + :rtype: ~azure.mgmt.peering.models.PeeringRegisteredPrefixListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.PeeringRegisteredPrefixListResult"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2020-04-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_peering.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('PeeringRegisteredPrefixListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_by_peering.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings/{peeringName}/registeredPrefixes'} diff --git a/src/peering/azext_peering/vendored_sdks/peering/py.typed b/src/peering/azext_peering/vendored_sdks/peering/py.typed new file mode 100644 index 00000000000..e5aff4f83af --- /dev/null +++ b/src/peering/azext_peering/vendored_sdks/peering/py.typed @@ -0,0 +1 @@ +# Marker file for PEP 561. \ No newline at end of file diff --git a/src/peering/azext_peering/vendored_sdks/peering/setup.py b/src/peering/azext_peering/vendored_sdks/peering/setup.py new file mode 100644 index 00000000000..d23c9392193 --- /dev/null +++ b/src/peering/azext_peering/vendored_sdks/peering/setup.py @@ -0,0 +1,37 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +# coding: utf-8 + +from setuptools import setup, find_packages + +NAME = "peeringmanagementclient" +VERSION = "0.2.0" + +# To install the library, run the following +# +# python setup.py install +# +# prerequisite: setuptools +# http://pypi.python.org/pypi/setuptools + +REQUIRES = ["msrest>=0.6.0", "azure-core<2.0.0,>=1.2.0"] + +setup( + name=NAME, + version=VERSION, + description="PeeringManagementClient", + author_email="", + url="", + keywords=["Swagger", "PeeringManagementClient"], + install_requires=REQUIRES, + packages=find_packages(), + include_package_data=True, + long_description="""\ + Peering Client. + """ +) diff --git a/src/peering/azext_peering/vendored_sdks/peering/version.py b/src/peering/azext_peering/vendored_sdks/peering/version.py deleted file mode 100644 index 0529c1b3b0f..00000000000 --- a/src/peering/azext_peering/vendored_sdks/peering/version.py +++ /dev/null @@ -1,13 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -VERSION = "0.1.0rc1" - diff --git a/src/peering/report.md b/src/peering/report.md new file mode 100644 index 00000000000..9224fead044 --- /dev/null +++ b/src/peering/report.md @@ -0,0 +1,335 @@ +# Azure CLI Module Creation Report + +### peering check-service-provider-availability + +check-service-provider-availability a peering . + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--peering-service-location**|string|Gets or sets the peering service location.|peering_service_location| +|**--peering-service-provider**|string|Gets or sets the peering service provider.|peering_service_provider| +### peering asn create + +create a peering asn. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--peer-asn-name**|string|The peer ASN name.|peer_asn_name| +|**--peer-asn**|integer|The Autonomous System Number (ASN) of the peer.|peer_asn| +|**--peer-contact-detail**|array|The contact details of the peer.|peer_contact_detail| +|**--peer-name**|string|The name of the peer.|peer_name| +|**--validation-state**|choice|The validation state of the ASN associated with the peer.|validation_state| +### peering asn delete + +delete a peering asn. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--peer-asn-name**|string|The peer ASN name.|peer_asn_name| +### peering asn list + +list a peering asn. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +### peering asn show + +show a peering asn. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--peer-asn-name**|string|The peer ASN name.|peer_asn_name| +### peering asn update + +create a peering asn. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--peer-asn-name**|string|The peer ASN name.|peer_asn_name| +|**--peer-asn**|integer|The Autonomous System Number (ASN) of the peer.|peer_asn| +|**--peer-contact-detail**|array|The contact details of the peer.|peer_contact_detail| +|**--peer-name**|string|The name of the peer.|peer_name| +|**--validation-state**|choice|The validation state of the ASN associated with the peer.|validation_state| +### peering legacy list + +list a peering legacy. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--peering-location**|string|The location of the peering.|peering_location| +|**--kind**|choice|The kind of the peering.|kind| +|**--asn**|integer|The ASN number associated with a legacy peering.|asn| +### peering location list + +list a peering location. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--kind**|choice|The kind of the peering.|kind| +|**--direct-peering-type**|choice|The type of direct peering.|direct_peering_type| +### peering peering create + +create a peering peering. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The name of the resource group.|resource_group_name| +|**--peering-name**|string|The name of the peering.|peering_name| +|**--sku**|object|The SKU that defines the tier and kind of the peering.|sku| +|**--kind**|choice|The kind of the peering.|kind| +|**--location**|string|The location of the resource.|location| +|**--tags**|dictionary|The resource tags.|tags| +|**--direct**|object|The properties that define a direct peering.|direct| +|**--exchange**|object|The properties that define an exchange peering.|exchange| +|**--peering-location**|string|The location of the peering.|peering_location| +### peering peering delete + +delete a peering peering. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The name of the resource group.|resource_group_name| +|**--peering-name**|string|The name of the peering.|peering_name| +### peering peering list + +list a peering peering. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The name of the resource group.|resource_group_name| +### peering peering show + +show a peering peering. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The name of the resource group.|resource_group_name| +|**--peering-name**|string|The name of the peering.|peering_name| +### peering peering update + +update a peering peering. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The name of the resource group.|resource_group_name| +|**--peering-name**|string|The name of the peering.|peering_name| +|**--tags**|dictionary|Gets or sets the tags, a dictionary of descriptors arm object|tags| +### peering received-route list + +list a peering received-route. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The name of the resource group.|resource_group_name| +|**--peering-name**|string|The name of the peering.|peering_name| +|**--prefix**|string|The optional prefix that can be used to filter the routes.|prefix| +|**--as-path**|string|The optional AS path that can be used to filter the routes.|as_path| +|**--origin-as-validation-state**|string|The optional origin AS validation state that can be used to filter the routes.|origin_as_validation_state| +|**--rpki-validation-state**|string|The optional RPKI validation state that can be used to filter the routes.|rpki_validation_state| +|**--skip-token**|string|The optional page continuation token that is used in the event of paginated result.|skip_token| +### peering registered-asn create + +create a peering registered-asn. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The name of the resource group.|resource_group_name| +|**--peering-name**|string|The name of the peering.|peering_name| +|**--registered-asn-name**|string|The name of the ASN.|registered_asn_name| +|**--asn**|integer|The customer's ASN from which traffic originates.|asn| +### peering registered-asn delete + +delete a peering registered-asn. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The name of the resource group.|resource_group_name| +|**--peering-name**|string|The name of the peering.|peering_name| +|**--registered-asn-name**|string|The name of the registered ASN.|registered_asn_name| +### peering registered-asn list + +list a peering registered-asn. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The name of the resource group.|resource_group_name| +|**--peering-name**|string|The name of the peering.|peering_name| +### peering registered-asn show + +show a peering registered-asn. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The name of the resource group.|resource_group_name| +|**--peering-name**|string|The name of the peering.|peering_name| +|**--registered-asn-name**|string|The name of the registered ASN.|registered_asn_name| +### peering registered-asn update + +create a peering registered-asn. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The name of the resource group.|resource_group_name| +|**--peering-name**|string|The name of the peering.|peering_name| +|**--registered-asn-name**|string|The name of the ASN.|registered_asn_name| +|**--asn**|integer|The customer's ASN from which traffic originates.|asn| +### peering registered-prefix create + +create a peering registered-prefix. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The name of the resource group.|resource_group_name| +|**--peering-name**|string|The name of the peering.|peering_name| +|**--registered-prefix-name**|string|The name of the registered prefix.|registered_prefix_name| +|**--prefix**|string|The customer's prefix from which traffic originates.|prefix| +### peering registered-prefix delete + +delete a peering registered-prefix. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The name of the resource group.|resource_group_name| +|**--peering-name**|string|The name of the peering.|peering_name| +|**--registered-prefix-name**|string|The name of the registered prefix.|registered_prefix_name| +### peering registered-prefix list + +list a peering registered-prefix. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The name of the resource group.|resource_group_name| +|**--peering-name**|string|The name of the peering.|peering_name| +### peering registered-prefix show + +show a peering registered-prefix. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The name of the resource group.|resource_group_name| +|**--peering-name**|string|The name of the peering.|peering_name| +|**--registered-prefix-name**|string|The name of the registered prefix.|registered_prefix_name| +### peering registered-prefix update + +create a peering registered-prefix. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The name of the resource group.|resource_group_name| +|**--peering-name**|string|The name of the peering.|peering_name| +|**--registered-prefix-name**|string|The name of the registered prefix.|registered_prefix_name| +|**--prefix**|string|The customer's prefix from which traffic originates.|prefix| +### peering service country list + +list a peering service country. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +### peering service create + +create a peering service. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The name of the resource group.|resource_group_name| +|**--peering-service-name**|string|The name of the peering service.|peering_service_name| +|**--location**|string|The location of the resource.|location| +|**--sku**|object|The SKU that defines the type of the peering service.|sku| +|**--tags**|dictionary|The resource tags.|tags| +|**--peering-service-location**|string|The PeeringServiceLocation of the Customer.|peering_service_location| +|**--peering-service-provider**|string|The MAPS Provider Name.|peering_service_provider| +### peering service delete + +delete a peering service. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The name of the resource group.|resource_group_name| +|**--peering-service-name**|string|The name of the peering service.|peering_service_name| +### peering service list + +list a peering service. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The name of the resource group.|resource_group_name| +### peering service location list + +list a peering service location. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--country**|string|The country of interest, in which the locations are to be present.|country| +### peering service prefix create + +create a peering service prefix. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The name of the resource group.|resource_group_name| +|**--peering-service-name**|string|The name of the peering service.|peering_service_name| +|**--prefix-name**|string|The name of the prefix.|prefix_name| +|**--prefix**|string|The prefix from which your traffic originates.|prefix| +|**--peering-service-prefix-key**|string|The peering service prefix key|peering_service_prefix_key| +### peering service prefix delete + +delete a peering service prefix. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The name of the resource group.|resource_group_name| +|**--peering-service-name**|string|The name of the peering service.|peering_service_name| +|**--prefix-name**|string|The name of the prefix.|prefix_name| +### peering service prefix list + +list a peering service prefix. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The name of the resource group.|resource_group_name| +|**--peering-service-name**|string|The name of the peering service.|peering_service_name| +|**--expand**|string|The properties to be expanded.|expand| +### peering service prefix show + +show a peering service prefix. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The name of the resource group.|resource_group_name| +|**--peering-service-name**|string|The name of the peering service.|peering_service_name| +|**--prefix-name**|string|The name of the prefix.|prefix_name| +|**--expand**|string|The properties to be expanded.|expand| +### peering service prefix update + +create a peering service prefix. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The name of the resource group.|resource_group_name| +|**--peering-service-name**|string|The name of the peering service.|peering_service_name| +|**--prefix-name**|string|The name of the prefix.|prefix_name| +|**--prefix**|string|The prefix from which your traffic originates.|prefix| +|**--peering-service-prefix-key**|string|The peering service prefix key|peering_service_prefix_key| +### peering service provider list + +list a peering service provider. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +### peering service show + +show a peering service. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The name of the resource group.|resource_group_name| +|**--peering-service-name**|string|The name of the peering.|peering_service_name| +### peering service update + +update a peering service. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The name of the resource group.|resource_group_name| +|**--peering-service-name**|string|The name of the peering service.|peering_service_name| +|**--tags**|dictionary|Gets or sets the tags, a dictionary of descriptors arm object|tags| \ No newline at end of file diff --git a/src/peering/setup.cfg b/src/peering/setup.cfg index 3c6e79cf31d..2fdd96e5d39 100644 --- a/src/peering/setup.cfg +++ b/src/peering/setup.cfg @@ -1,2 +1 @@ -[bdist_wheel] -universal=1 +#setup.cfg \ No newline at end of file diff --git a/src/peering/setup.py b/src/peering/setup.py index 42aba91f781..85d7eee36ef 100644 --- a/src/peering/setup.py +++ b/src/peering/setup.py @@ -8,15 +8,10 @@ from codecs import open from setuptools import setup, find_packages -try: - from azure_bdist_wheel import cmdclass -except ImportError: - from distutils import log as logger - logger.warn("Wheel is not available, disabling bdist_wheel hook") # TODO: Confirm this is the right version number you want and it matches your # HISTORY.rst entry. -VERSION = '0.1.0rc2' +VERSION = '0.2.0' # The full list of classifiers is available at # https://pypi.python.org/pypi?%3Aaction=list_classifiers @@ -25,19 +20,17 @@ 'Intended Audience :: Developers', 'Intended Audience :: System Administrators', 'Programming Language :: Python', - 'Programming Language :: Python :: 2', - 'Programming Language :: Python :: 2.7', 'Programming Language :: Python :: 3', - 'Programming Language :: Python :: 3.4', - 'Programming Language :: Python :: 3.5', 'Programming Language :: Python :: 3.6', + 'Programming Language :: Python :: 3.7', + 'Programming Language :: Python :: 3.8', 'License :: OSI Approved :: MIT License', ] # TODO: Add any additional SDK dependencies here DEPENDENCIES = [] -with open('README.rst', 'r', encoding='utf-8') as f: +with open('README.md', 'r', encoding='utf-8') as f: README = f.read() with open('HISTORY.rst', 'r', encoding='utf-8') as f: HISTORY = f.read() @@ -45,8 +38,8 @@ setup( name='peering', version=VERSION, - description='Microsoft Azure Command-Line Tools Peering Extension', - # TODO: Update author and email, if applicable + description='Microsoft Azure Command-Line Tools PeeringManagementClient Extension', + # TODO: Update author and email, if applicable author='Microsoft Corporation', author_email='azpycli@microsoft.com', # TODO: consider pointing directly to your source code instead of the generic repo @@ -57,4 +50,4 @@ packages=find_packages(), install_requires=DEPENDENCIES, package_data={'azext_peering': ['azext_metadata.json']}, -) \ No newline at end of file +) diff --git a/src/portal/HISTORY.rst b/src/portal/HISTORY.rst new file mode 100644 index 00000000000..10e842bc040 --- /dev/null +++ b/src/portal/HISTORY.rst @@ -0,0 +1,8 @@ +.. :changelog: + +Release History +=============== + +0.1.1 +++++++ +* Initial release. diff --git a/src/portal/README.md b/src/portal/README.md new file mode 100644 index 00000000000..8e8c168f4f2 --- /dev/null +++ b/src/portal/README.md @@ -0,0 +1,80 @@ +Microsoft Azure CLI 'portal' Extension +========================================== + +This package is for the 'portal' extension. i.e. 'az portal' +More info on what is [Azure portal](https://docs.microsoft.com/en-us/azure/azure-portal/azure-portal-overview). + +### How to use ### +Install this extension using the below CLI command +``` +az extension add --name portal +``` + +### Included Features ### +Manage Azure portal dashboards: [more info](https://docs.microsoft.com/en-us/azure/azure-portal/azure-portal-dashboards-create-programmatically#fetch-the-json-representation-of-the-dashboard) + + +#### Import a portal dashboard #### +You should have a dashboard json template ready before using this operation, the file can be downloaded from Azure portal website. +More info can be found [here](https://docs.microsoft.com/en-us/azure/azure-portal/azure-portal-dashboards-create-programmatically#fetch-the-json-representation-of-the-dashboard) +Example: +``` +az portal dashboard import \ +--name dashboardName \ +--resource-group groupName \ +--input-path "/path/to/dashboard/template/file/directory" +``` +An example dashboard JSON template may look like: +[dashboard.json](https://github.com/Azure/azure-cli-extensions/blob/master/src/portal/azext_portal/tests/latest/dashboard.json) + +#### Create a portal dashboard #### +Example: +``` +az portal dashboard create \ +--location "eastus" \ +--name dashboardName \ +--resource-group groupName \ +--input-path "/path/to/properties/file/directory" +--tags aKey=aValue anotherKey=anotherValue +``` +An example propeties JSON file may look like: +[properties.json](https://github.com/Azure/azure-cli-extensions/blob/master/src/portal/azext_portal/tests/latest/properties.json) + +#### List all portal dashboards #### +Example: +List all dashboards in a resourceGroup +``` +az portal dashboard list \ +--resource-group groupName +``` +List all dashboards in a subscription +``` +az portal dashboard list +``` + +#### Show a portal dashboard details #### +Example: +``` +az portal dashboard show \ +--name dashboardName \ +--resource-group groupName +``` + +#### Update an existing dashboard #### +Example: +``` +az portal dashboard update \ +--name dashboardName \ +--resource-group groupName \ +--input-path "/src/json/properties.json" +``` + +#### Delete a dashboard #### +Example: +``` +az portal dashboard delete \ +--name dashboardName \ +--resource-group groupName \ +``` + +If you have issues, please give feedback by opening an issue at https://github.com/Azure/azure-cli-extensions/issues. \ No newline at end of file diff --git a/src/portal/azext_portal/__init__.py b/src/portal/azext_portal/__init__.py new file mode 100644 index 00000000000..aa06a723e75 --- /dev/null +++ b/src/portal/azext_portal/__init__.py @@ -0,0 +1,31 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +from azure.cli.core import AzCommandsLoader +from .generated._help import helps # pylint: disable=unused-import + + +class PortalCommandsLoader(AzCommandsLoader): + + def __init__(self, cli_ctx=None): + from azure.cli.core.commands import CliCommandType + from .generated._client_factory import cf_portal + portal_custom = CliCommandType( + operations_tmpl='azext_portal.custom#{}', + client_factory=cf_portal) + super(PortalCommandsLoader, self).__init__(cli_ctx=cli_ctx, + custom_command_type=portal_custom) + + def load_command_table(self, args): + from .generated.commands import load_command_table + load_command_table(self, args) + return self.command_table + + def load_arguments(self, command): + from .generated._params import load_arguments + load_arguments(self, command) + + +COMMAND_LOADER_CLS = PortalCommandsLoader diff --git a/src/portal/azext_portal/action.py b/src/portal/azext_portal/action.py new file mode 100644 index 00000000000..d66d3c5d0d7 --- /dev/null +++ b/src/portal/azext_portal/action.py @@ -0,0 +1,12 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- +# pylint: disable=wildcard-import +# pylint: disable=unused-wildcard-import + +from .generated.action import * # noqa: F403 +try: + from .manual.action import * # noqa: F403 +except ImportError: + pass diff --git a/src/portal/azext_portal/azext_metadata.json b/src/portal/azext_portal/azext_metadata.json new file mode 100644 index 00000000000..13025150393 --- /dev/null +++ b/src/portal/azext_portal/azext_metadata.json @@ -0,0 +1,4 @@ +{ + "azext.isExperimental": true, + "azext.minCliCoreVersion": "2.3.1" +} \ No newline at end of file diff --git a/src/portal/azext_portal/commands.py b/src/portal/azext_portal/commands.py new file mode 100644 index 00000000000..42f0c1a991e --- /dev/null +++ b/src/portal/azext_portal/commands.py @@ -0,0 +1,12 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- +# pylint: disable=wildcard-import +# pylint: disable=unused-wildcard-import + +from .generated.commands import * # noqa: F403 +try: + from .manual.commands import * # noqa: F403 +except ImportError: + pass diff --git a/src/portal/azext_portal/custom.py b/src/portal/azext_portal/custom.py new file mode 100644 index 00000000000..d1fd3543ed0 --- /dev/null +++ b/src/portal/azext_portal/custom.py @@ -0,0 +1,12 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- +# pylint: disable=wildcard-import +# pylint: disable=unused-wildcard-import + +from .generated.custom import * # noqa: F403 +try: + from .manual.custom import * # noqa: F403 +except ImportError: + pass diff --git a/src/portal/azext_portal/generated/__init__.py b/src/portal/azext_portal/generated/__init__.py new file mode 100644 index 00000000000..59333308532 --- /dev/null +++ b/src/portal/azext_portal/generated/__init__.py @@ -0,0 +1,10 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- diff --git a/src/portal/azext_portal/generated/_client_factory.py b/src/portal/azext_portal/generated/_client_factory.py new file mode 100644 index 00000000000..da39dd7f9fb --- /dev/null +++ b/src/portal/azext_portal/generated/_client_factory.py @@ -0,0 +1,14 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + + +def cf_portal(cli_ctx, *_): + from azure.cli.core.commands.client_factory import get_mgmt_service_client + from ..vendored_sdks.portal import Portal + return get_mgmt_service_client(cli_ctx, Portal) + + +def cf_dashboard(cli_ctx, *_): + return cf_portal(cli_ctx).dashboard diff --git a/src/portal/azext_portal/generated/_help.py b/src/portal/azext_portal/generated/_help.py new file mode 100644 index 00000000000..e702c567cbc --- /dev/null +++ b/src/portal/azext_portal/generated/_help.py @@ -0,0 +1,75 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- +# pylint: disable=line-too-long +# pylint: disable=too-many-lines + +from knack.help_files import helps + + +helps['portal dashboard'] = """ + type: group + short-summary: Manage portal dashboards +""" + +helps['portal dashboard list'] = """ + type: command + short-summary: Lists the dashboards within a subscription or resource group. + examples: + - name: List all dashboards in a resourceGroup + text: |- + az portal dashboard list --resource-group "testRG" + - name: List all dashboards in a subscription + text: |- + az portal dashboard list +""" + +helps['portal dashboard show'] = """ + type: command + short-summary: Gets details for a single dashboard. + examples: + - name: Get a Dashboard + text: |- + az portal dashboard show --name "testDashboard" --resource-group "testRG" +""" + +helps['portal dashboard create'] = """ + type: command + short-summary: Creates or updates a dashboard. + examples: + - name: Create or update a Dashboard + text: |- + az portal dashboard create --location "eastus" --name "testDashboard" \\ + --resource-group "testRG" --input-path "/src/json/properties.json" \\ + --tags aKey=aValue anotherKey=anotherValue +""" + +helps['portal dashboard update'] = """ + type: command + short-summary: Updates an existing dashboard. + examples: + - name: Update a Dashboard + text: |- + az portal dashboard update --name "testDashboard" --resource-group "testRG" \\ + --input-path "/src/json/properties.json" +""" + +helps['portal dashboard delete'] = """ + type: command + short-summary: Deletes a dashboard. + examples: + - name: Delete a Dashboard + text: |- + az portal dashboard delete --name "testDashboard" --resource-group "testRG" +""" + +helps['portal dashboard import'] = """ + type: command + short-summary: Imports a dashboard from a JSON file. + examples: + - name: Import a Dashboard + text: |- + az portal dashboard import --name "testDashboard" --resource-group "testRG" \\ + --input-path "/src/json/dashboard.json" +""" diff --git a/src/portal/azext_portal/generated/_params.py b/src/portal/azext_portal/generated/_params.py new file mode 100644 index 00000000000..e036901b70c --- /dev/null +++ b/src/portal/azext_portal/generated/_params.py @@ -0,0 +1,61 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- +# pylint: disable=line-too-long +# pylint: disable=too-many-lines +# pylint: disable=too-many-statements + +from argcomplete.completers import FilesCompleter +from azure.cli.core.commands.parameters import ( + tags_type, + resource_group_name_type, + get_location_type, + file_type +) +from azure.cli.core.commands.validators import get_default_location_from_resource_group + + +def load_arguments(self, _): + + with self.argument_context('portal dashboard list') as c: + c.argument('resource_group_name', resource_group_name_type, + help='The name of the resource group.') + + with self.argument_context('portal dashboard show') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('name', options_list=[ + '--name', '-n'], help='The name of the dashboard.') + + with self.argument_context('portal dashboard create') as c: + c.argument('resource_group_name', resource_group_name_type, + help='The name of the resource group.') + c.argument('name', options_list=[ + '--name', '-n'], help='The name of the dashboard.') + c.argument('location', arg_type=get_location_type(self.cli_ctx), + validator=get_default_location_from_resource_group) + c.argument('tags', tags_type) + c.argument('input_path', type=file_type, + help='The path to the dashboard properties JSON file.', completer=FilesCompleter()) + + with self.argument_context('portal dashboard update') as c: + c.argument('resource_group_name', resource_group_name_type, + help='The name of the resource group.') + c.argument('name', options_list=[ + '--name', '-n'], help='The name of the dashboard.') + c.argument('input_path', type=file_type, + help='The path to the dashboard properties JSON file.', completer=FilesCompleter()) + + with self.argument_context('portal dashboard delete') as c: + c.argument('resource_group_name', resource_group_name_type, + help='The name of the resource group.') + c.argument('name', options_list=[ + '--name', '-n'], help='The name of the dashboard.') + + with self.argument_context('portal dashboard import') as c: + c.argument('resource_group_name', resource_group_name_type, + help='The name of the resource group.') + c.argument('name', options_list=[ + '--name', '-n'], help='The name of the dashboard.') + c.argument('input_path', type=file_type, + help='The path to the dashboard json file.', completer=FilesCompleter()) diff --git a/src/portal/azext_portal/generated/action.py b/src/portal/azext_portal/generated/action.py new file mode 100644 index 00000000000..d7d2d91da6b --- /dev/null +++ b/src/portal/azext_portal/generated/action.py @@ -0,0 +1,26 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- +# pylint: disable=protected-access + +import argparse +from knack.util import CLIError + + +class AddMetadata(argparse.Action): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + namespace.properties_metadata = action + + def get_action(self, values, option_string): # pylint: disable=no-self-use + try: + properties = dict(x.split('=', 1) for x in values) + except ValueError: + raise CLIError( + 'usage error: {} [KEY=VALUE ...]'.format(option_string)) + d = {} + for k in properties: + v = properties[k] + d[k] = v + return d diff --git a/src/portal/azext_portal/generated/commands.py b/src/portal/azext_portal/generated/commands.py new file mode 100644 index 00000000000..937cd6d167a --- /dev/null +++ b/src/portal/azext_portal/generated/commands.py @@ -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. +# -------------------------------------------------------------------------------------------- + +from azure.cli.core.commands import CliCommandType + + +def load_command_table(self, _): + + with self.command_group('portal', is_experimental=True): + pass + + from azext_portal.generated._client_factory import cf_dashboard + portal_dashboard = CliCommandType( + operations_tmpl='azext_portal.vendored_sdks.portal.operations._dashboard_operations#DashboardOperations.{}', + client_factory=cf_dashboard) + with self.command_group('portal dashboard', portal_dashboard, client_factory=cf_dashboard) as g: + g.custom_command('list', 'portal_dashboard_list') + g.custom_show_command('show', 'portal_dashboard_show') + g.custom_command('create', 'portal_dashboard_create') + g.custom_command('update', 'portal_dashboard_update') + g.custom_command('delete', 'portal_dashboard_delete', + confirmation=True) + g.custom_command('import', 'portal_dashboard_import') diff --git a/src/portal/azext_portal/generated/custom.py b/src/portal/azext_portal/generated/custom.py new file mode 100644 index 00000000000..1d4557ac4ab --- /dev/null +++ b/src/portal/azext_portal/generated/custom.py @@ -0,0 +1,100 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- +# pylint: disable=line-too-long +# pylint: disable=too-many-lines + +import json +from knack.util import CLIError + + +def portal_dashboard_list(cmd, client, + resource_group_name=None): + if resource_group_name: + return client.list_by_resource_group(resource_group_name=resource_group_name) + return client.list_by_subscription() + + +def portal_dashboard_show(cmd, client, + resource_group_name, + name): + return client.get(resource_group_name=resource_group_name, dashboard_name=name) + + +def portal_dashboard_create(cmd, client, + resource_group_name, + name, + input_path, + location=None, + tags=None): + properties_lenses, properties_metadata = parse_properties_json(input_path) + return client.create_or_update(resource_group_name=resource_group_name, dashboard_name=name, location=location, tags=tags, lenses=properties_lenses, metadata=properties_metadata) + + +def portal_dashboard_update(cmd, client, + resource_group_name, + name, + input_path): + properties_lenses, properties_metadata = parse_properties_json(input_path) + return client.update(resource_group_name=resource_group_name, dashboard_name=name, lenses=properties_lenses, metadata=properties_metadata) + + +def portal_dashboard_delete(cmd, client, + resource_group_name, + name): + return client.delete(resource_group_name=resource_group_name, dashboard_name=name) + + +def portal_dashboard_import(cmd, client, + resource_group_name, + input_path, + name=None): + dashboard = parse_dashboard_json(input_path) + return client.dashboard_import(resource_group_name=resource_group_name, dashboard_name=dashboard.get('name', name), dashboard=dashboard) + + +def parse_properties_json(input_path): + try: + with open(input_path) as json_file: + try: + properties = json.load(json_file) + except json.decoder.JSONDecodeError as ex: + raise CLIError( + 'JSON decode error for {}: {}'.format(json_file, str(ex))) + if 'lenses' not in properties: + raise CLIError(str(json_file) + + " does not contain the property 'lenses'") + properties_lenses = properties['lenses'] + if 'metadata' not in properties: + raise CLIError(str(json_file) + + " does not contain the property 'metadata'") + properties_metadata = properties['metadata'] + return properties_lenses, properties_metadata + except FileNotFoundError as ex: + raise CLIError('File not Found: {}'.format(str(ex))) + + +def parse_dashboard_json(input_path): + try: + with open(input_path) as json_file: + try: + dashboard = json.load(json_file) + except json.decoder.JSONDecodeError as ex: + raise CLIError( + 'There was an error decoding the JSON file {}: {}'.format(json_file, str(ex))) + if 'location' not in dashboard: + raise CLIError(str(json_file) + + " does not contain the property 'location'") + if 'properties' not in dashboard: + raise CLIError(str(json_file) + + " does not contain the property 'properties'") + if 'lenses' not in dashboard['properties']: + raise CLIError( + str(json_file) + " does not contain the property 'lenses' in 'properties'") + if 'metadata' not in dashboard['properties']: + raise CLIError( + str(json_file) + " does not contain the property 'metadata' in 'properties'") + return dashboard + except FileNotFoundError as ex: + raise CLIError('File not Found: {}'.format(str(ex))) diff --git a/src/portal/azext_portal/tests/latest/__init__.py b/src/portal/azext_portal/tests/latest/__init__.py new file mode 100644 index 00000000000..34913fb394d --- /dev/null +++ b/src/portal/azext_portal/tests/latest/__init__.py @@ -0,0 +1,4 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- diff --git a/src/portal/azext_portal/tests/latest/dashboard.json b/src/portal/azext_portal/tests/latest/dashboard.json new file mode 100644 index 00000000000..c05eb79cd5b --- /dev/null +++ b/src/portal/azext_portal/tests/latest/dashboard.json @@ -0,0 +1,60 @@ +{ + "properties": { + "lenses": { + "0": { + "order": 0, + "parts": { + "0": { + "position": { + "x": 0, + "y": 0, + "colSpan": 6, + "rowSpan": 4 + }, + "metadata": { + "inputs": [ + { + "name": "resourceType", + "value": "Microsoft.Resources/subscriptions/resourcegroups", + "isOptional": true + }, + { + "name": "filter", + "isOptional": true + }, + { + "name": "scope", + "isOptional": true + }, + { + "name": "kind", + "isOptional": true + } + ], + "type": "Extension/HubsExtension/PartType/BrowseResourceGroupPinnedPart" + } + } + } + } + }, + "metadata": { + "model": { + "timeRange": { + "value": { + "relative": { + "duration": 24, + "timeUnit": 1 + } + }, + "type": "MsPortalFx.Composition.Configuration.ValueTypes.TimeRange" + } + } + } + }, + "name": "7c0464ec-b1cd-4a98-a4a5-1ebe2d980260", + "type": "Microsoft.Portal/dashboards", + "location": "eastus", + "tags": { + "hidden-title": "test dashboard" + } +} \ No newline at end of file diff --git a/src/portal/azext_portal/tests/latest/preparers.py b/src/portal/azext_portal/tests/latest/preparers.py new file mode 100644 index 00000000000..1388cfd22cc --- /dev/null +++ b/src/portal/azext_portal/tests/latest/preparers.py @@ -0,0 +1,111 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +import os +from datetime import datetime +from azure.cli.testsdk.preparers import NoTrafficRecordingPreparer +from azure_devtools.scenario_tests import SingleValueReplacer +from azure.cli.testsdk.exceptions import CliTestError +from azure.cli.testsdk.reverse_dependency import get_dummy_cli + + +KEY_RESOURCE_GROUP = 'rg' +KEY_VIRTUAL_NETWORK = 'vnet' +KEY_VNET_SUBNET = 'subnet' + + +class VirtualNetworkPreparer(NoTrafficRecordingPreparer, SingleValueReplacer): + def __init__(self, name_prefix='clitest.vn', + parameter_name='virtual_network', + resource_group_name=None, + resource_group_key=KEY_RESOURCE_GROUP, + dev_setting_name='AZURE_CLI_TEST_DEV_VIRTUAL_NETWORK_NAME', + random_name_length=24, key=KEY_VIRTUAL_NETWORK): + if ' ' in name_prefix: + raise CliTestError( + 'Error: Space character in name prefix \'%s\'' % name_prefix) + super(VirtualNetworkPreparer, self).__init__( + name_prefix, random_name_length) + self.cli_ctx = get_dummy_cli() + self.parameter_name = parameter_name + self.key = key + self.resource_group_name = resource_group_name + self.resource_group_key = resource_group_key + self.dev_setting_name = os.environ.get(dev_setting_name, None) + + def create_resource(self, name, **kwargs): + if self.dev_setting_name: + return {self.parameter_name: self.dev_setting_name, } + + if not self.resource_group_name: + self.resource_group_name = self.test_class_instance.kwargs.get( + self.resource_group_key) + if not self.resource_group_name: + raise CliTestError("Error: No resource group configured!") + + tags = {'product': 'azurecli', 'cause': 'automation', + 'date': datetime.utcnow().strftime('%Y-%m-%dT%H:%M:%SZ')} + if 'ENV_JOB_NAME' in os.environ: + tags['job'] = os.environ['ENV_JOB_NAME'] + tags = ' '.join(['{}={}'.format(key, value) + for key, value in tags.items()]) + template = 'az network vnet create --resource-group {} --name {} --tag ' + tags + self.live_only_execute(self.cli_ctx, template.format( + self.resource_group_name, name)) + + self.test_class_instance.kwargs[self.key] = name + return {self.parameter_name: name} + + def remove_resource(self, name, **kwargs): + # delete vnet if test is being recorded and if the vnet is not a dev rg + if not self.dev_setting_name: + self.live_only_execute( + self.cli_ctx, 'az network vnet delete --name {} --resource-group {}'.format(name, self.resource_group_name)) + + +class VnetSubnetPreparer(NoTrafficRecordingPreparer, SingleValueReplacer): + def __init__(self, name_prefix='clitest.vn', + parameter_name='subnet', + resource_group_name=None, + resource_group_key=KEY_RESOURCE_GROUP, + vnet_name=None, + vnet_key=KEY_VIRTUAL_NETWORK, + address_prefixes="11.0.0.0/24", + dev_setting_name='AZURE_CLI_TEST_DEV_VNET_SUBNET_NAME', + random_name_length=24, key=KEY_VNET_SUBNET): + if ' ' in name_prefix: + raise CliTestError( + 'Error: Space character in name prefix \'%s\'' % name_prefix) + super(VnetSubnetPreparer, self).__init__( + name_prefix, random_name_length) + self.cli_ctx = get_dummy_cli() + self.parameter_name = parameter_name + self.key = key + self.resource_group_name = resource_group_name + self.resource_group_key = resource_group_key + self.vnet_name = vnet_name + self.vnet_key = vnet_key + self.address_prefixes = address_prefixes + self.dev_setting_name = os.environ.get(dev_setting_name, None) + + def create_resource(self, name, **kwargs): + if self.dev_setting_name: + return {self.parameter_name: self.dev_setting_name, } + + if not self.resource_group_name: + self.resource_group_name = self.test_class_instance.kwargs.get( + self.resource_group_key) + if not self.resource_group_name: + raise CliTestError("Error: No resource group configured!") + if not self.vnet_name: + self.vnet_name = self.test_class_instance.kwargs.get(self.vnet_key) + if not self.vnet_name: + raise CliTestError("Error: No vnet configured!") + + self.test_class_instance.kwargs[self.key] = 'default' + return {self.parameter_name: name} + + def remove_resource(self, name, **kwargs): + pass diff --git a/src/portal/azext_portal/tests/latest/properties-update.json b/src/portal/azext_portal/tests/latest/properties-update.json new file mode 100644 index 00000000000..2e3e9bd56d4 --- /dev/null +++ b/src/portal/azext_portal/tests/latest/properties-update.json @@ -0,0 +1,35 @@ +{ + "lenses": { + "0": { + "order": 0, + "parts": { + "0": { + "position": { + "x": 6, + "y": 2, + "colSpan": 2, + "rowSpan": 2 + }, + "metadata": { + "inputs": [], + "type": "Extension/HubsExtension/PartType/ClockPart", + "settings": {} + } + } + } + } + }, + "metadata": { + "model": { + "timeRange": { + "value": { + "relative": { + "duration": 12, + "timeUnit": 1 + } + }, + "type": "MsPortalFx.Composition.Configuration.ValueTypes.TimeRange" + } + } + } +} \ No newline at end of file diff --git a/src/portal/azext_portal/tests/latest/properties.json b/src/portal/azext_portal/tests/latest/properties.json new file mode 100644 index 00000000000..212a8ead593 --- /dev/null +++ b/src/portal/azext_portal/tests/latest/properties.json @@ -0,0 +1,35 @@ +{ + "lenses": { + "0": { + "order": 0, + "parts": { + "0": { + "position": { + "x": 6, + "y": 2, + "colSpan": 2, + "rowSpan": 2 + }, + "metadata": { + "inputs": [], + "type": "Extension/HubsExtension/PartType/ClockPart", + "settings": {} + } + } + } + } + }, + "metadata": { + "model": { + "timeRange": { + "value": { + "relative": { + "duration": 24, + "timeUnit": 1 + } + }, + "type": "MsPortalFx.Composition.Configuration.ValueTypes.TimeRange" + } + } + } +} \ No newline at end of file diff --git a/src/portal/azext_portal/tests/latest/recordings/test_portal.yaml b/src/portal/azext_portal/tests/latest/recordings/test_portal.yaml new file mode 100644 index 00000000000..3cc1fc56007 --- /dev/null +++ b/src/portal/azext_portal/tests/latest/recordings/test_portal.yaml @@ -0,0 +1,474 @@ +interactions: +- request: + body: '{"location": "eastus", "tags": {"aKey": "aValue", "anotherKey": "anotherValue"}, + "properties": {"lenses": {"0": {"order": 0, "parts": {"0": {"position": {"x": + 6, "y": 2, "rowSpan": 2, "colSpan": 2}, "metadata": {"inputs": [], "type": "Extension/HubsExtension/PartType/ClockPart", + "settings": {}}}}}}, "metadata": {"model": {"timeRange": {"value": {"relative": + {"duration": 24, "timeUnit": 1}}, "type": "MsPortalFx.Composition.Configuration.ValueTypes.TimeRange"}}}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - portal dashboard create + Connection: + - keep-alive + Content-Length: + - '466' + Content-Type: + - application/json + ParameterSetName: + - --location --input- --tags --name --resource-group + User-Agent: + - AZURECLI/2.3.1 azsdk-python-core/1.4.0 Python/3.8.1 (Windows-10-10.0.18362-SP0) + azsdk-python-portal/unknown + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_000001/providers/Microsoft.Portal/dashboards/cli_test_000002?api-version=2019-01-01-preview + response: + body: + string: '{"properties":{"lenses":{"0":{"order":0,"parts":{"0":{"position":{"x":6,"y":2,"rowSpan":2,"colSpan":2},"metadata":{"inputs":[],"type":"Extension/HubsExtension/PartType/ClockPart","settings":{}}}}}},"metadata":{"model":{"timeRange":{"value":{"relative":{"duration":24,"timeUnit":1}},"type":"MsPortalFx.Composition.Configuration.ValueTypes.TimeRange"}}}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_000001/providers/Microsoft.Portal/dashboards/cli_test_000002","name":"cli_test_000002","type":"Microsoft.Portal/dashboards","location":"eastus","tags":{"aKey":"aValue","anotherKey":"anotherValue"}}' + headers: + cache-control: + - no-cache + content-length: + - '710' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 24 Apr 2020 02:50:25 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - browserId=83f1c12d-bc20-4970-85d6-f2f21201065e; domain=portal.azure.com; path=/; + secure; HttpOnly + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-dashboard-session: + - 0:-1#2310549 + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-ms-version: + - 5.0.303.3324 (production_htfx#4e36611bb5.200415-0501) Signed + x-ua-compatible: + - IE=edge + x-xss-protection: + - 1; mode=block + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - portal dashboard show + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group + User-Agent: + - AZURECLI/2.3.1 azsdk-python-core/1.4.0 Python/3.8.1 (Windows-10-10.0.18362-SP0) + azsdk-python-portal/unknown + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_000001/providers/Microsoft.Portal/dashboards/cli_test_000002?api-version=2019-01-01-preview + response: + body: + string: '{"properties":{"lenses":{"0":{"order":0,"parts":{"0":{"position":{"x":6,"y":2,"rowSpan":2,"colSpan":2},"metadata":{"inputs":[],"type":"Extension/HubsExtension/PartType/ClockPart","settings":{}}}}}},"metadata":{"model":{"timeRange":{"value":{"relative":{"duration":24,"timeUnit":1}},"type":"MsPortalFx.Composition.Configuration.ValueTypes.TimeRange"}}}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_000001/providers/Microsoft.Portal/dashboards/cli_test_000002","name":"cli_test_000002","type":"Microsoft.Portal/dashboards","location":"eastus","tags":{"aKey":"aValue","anotherKey":"anotherValue"}}' + headers: + cache-control: + - no-cache + content-length: + - '710' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 24 Apr 2020 02:50:25 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - browserId=364ac29d-a19d-4ef7-b9ae-d8ae7c54d3de; domain=portal.azure.com; path=/; + secure; HttpOnly + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-version: + - 5.0.303.3324 (production_htfx#4e36611bb5.200415-0501) Signed + x-ua-compatible: + - IE=edge + x-xss-protection: + - 1; mode=block + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - portal dashboard list + Connection: + - keep-alive + ParameterSetName: + - --resource-group + User-Agent: + - AZURECLI/2.3.1 azsdk-python-core/1.4.0 Python/3.8.1 (Windows-10-10.0.18362-SP0) + azsdk-python-portal/unknown + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_000001/providers/Microsoft.Portal/dashboards?api-version=2019-01-01-preview + response: + body: + string: '{"value":[{"properties":{"lenses":{"0":{"order":0,"parts":{"0":{"position":{"x":6,"y":2,"rowSpan":2,"colSpan":2},"metadata":{"inputs":[],"type":"Extension/HubsExtension/PartType/ClockPart","settings":{}}}}}},"metadata":{"model":{"timeRange":{"value":{"relative":{"duration":24,"timeUnit":1}},"type":"MsPortalFx.Composition.Configuration.ValueTypes.TimeRange"}}}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_000001/providers/Microsoft.Portal/dashboards/cli_test_000002","name":"cli_test_000002","type":"Microsoft.Portal/dashboards","location":"eastus","tags":{"aKey":"aValue","anotherKey":"anotherValue"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '722' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 24 Apr 2020 02:50:25 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - browserId=d2b94eb9-1c67-46fb-aadc-7cdcd6677c72; domain=portal.azure.com; path=/; + secure; HttpOnly + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-version: + - 5.0.303.3324 (production_htfx#4e36611bb5.200415-0501) Signed + x-ua-compatible: + - IE=edge + x-xss-protection: + - 1; mode=block + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - portal dashboard list + Connection: + - keep-alive + ParameterSetName: + - --resource-group + User-Agent: + - AZURECLI/2.3.1 azsdk-python-core/1.4.0 Python/3.8.1 (Windows-10-10.0.18362-SP0) + azsdk-python-portal/unknown + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Portal/dashboards?api-version=2019-01-01-preview + response: + body: + string: '{"value":[{"properties":{"lenses":{"0":{"order":0,"parts":{"0":{"position":{"x":0,"y":1,"rowSpan":4,"colSpan":6},"metadata":{"inputs":[{"name":"resourceType","value":"Microsoft.Resources/subscriptions/resourcegroups","isOptional":true},{"name":"filter","isOptional":true},{"name":"scope","isOptional":true},{"name":"kind","isOptional":true}],"type":"Extension/HubsExtension/PartType/BrowseResourceGroupPinnedPart"}},"1":{"position":{"x":6,"y":2,"rowSpan":2,"colSpan":2},"metadata":{"inputs":[],"type":"Extension/HubsExtension/PartType/ClockPart","settings":{}}}}}},"metadata":{"model":{"timeRange":{"value":{"relative":{"duration":24,"timeUnit":1}},"type":"MsPortalFx.Composition.Configuration.ValueTypes.TimeRange"}}}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yalin-rg/providers/Microsoft.Portal/dashboards/mydashboard","name":"mydashboard","type":"Microsoft.Portal/dashboards","location":"eastus"},{"properties":{"lenses":{"0":{"order":0,"parts":{"0":{"position":{"x":0,"y":0,"rowSpan":4,"colSpan":6},"metadata":{"inputs":[{"name":"resourceType","value":"Microsoft.Resources/subscriptions/resourcegroups","isOptional":true},{"name":"filter","isOptional":true},{"name":"scope","isOptional":true},{"name":"kind","isOptional":true}],"type":"Extension/HubsExtension/PartType/BrowseResourceGroupPinnedPart"}}}}},"metadata":{"model":{"timeRange":{"value":{"relative":{"duration":24,"timeUnit":1}},"type":"MsPortalFx.Composition.Configuration.ValueTypes.TimeRange"}}}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yalin-rg/providers/Microsoft.Portal/dashboards/testdashboard","name":"testdashboard","type":"Microsoft.Portal/dashboards","location":"eastus","tags":{"hidden-title":"test + dashboard"}},{"properties":{"lenses":{"0":{"order":0,"parts":{"0":{"position":{"x":6,"y":2,"rowSpan":2,"colSpan":2},"metadata":{"inputs":[],"type":"Extension/HubsExtension/PartType/ClockPart","settings":{}}}}}},"metadata":{"model":{"timeRange":{"value":{"relative":{"duration":24,"timeUnit":1}},"type":"MsPortalFx.Composition.Configuration.ValueTypes.TimeRange"}}}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dashboards/providers/Microsoft.Portal/dashboards/testa","name":"testa","type":"Microsoft.Portal/dashboards","location":"eastus"},{"properties":{"lenses":{"0":{"order":0,"parts":{"0":{"position":{"x":0,"y":0,"rowSpan":4,"colSpan":6},"metadata":{"inputs":[{"name":"resourceType","value":"Microsoft.Resources/subscriptions/resourcegroups","isOptional":true},{"name":"filter","isOptional":true},{"name":"scope","isOptional":true},{"name":"kind","isOptional":true}],"type":"Extension/HubsExtension/PartType/BrowseResourceGroupPinnedPart"}}}}},"metadata":{"model":{"timeRange":{"value":{"relative":{"duration":24,"timeUnit":1}},"type":"MsPortalFx.Composition.Configuration.ValueTypes.TimeRange"}}}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yalin-rg/providers/Microsoft.Portal/dashboards/7c0464ec-b1cd-4a98-a4a5-1ebe2d980260","name":"7c0464ec-b1cd-4a98-a4a5-1ebe2d980260","type":"Microsoft.Portal/dashboards","location":"eastus","tags":{"hidden-title":"test + dashboard"}},{"properties":{"lenses":{"0":{"order":0,"parts":{"0":{"position":{"x":6,"y":2,"rowSpan":2,"colSpan":2},"metadata":{"inputs":[],"type":"Extension/HubsExtension/PartType/ClockPart","settings":{}}}}}},"metadata":{"model":{"timeRange":{"value":{"relative":{"duration":24,"timeUnit":1}},"type":"MsPortalFx.Composition.Configuration.ValueTypes.TimeRange"}}}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_000001/providers/Microsoft.Portal/dashboards/cli_test_000002","name":"cli_test_000002","type":"Microsoft.Portal/dashboards","location":"eastus","tags":{"aKey":"aValue","anotherKey":"anotherValue"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '3887' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 24 Apr 2020 02:50:26 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - browserId=1780b2bd-c6cd-48e7-901c-bd978535696a; domain=portal.azure.com; path=/; + secure; HttpOnly + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-version: + - 5.0.303.3324 (production_htfx#4e36611bb5.200415-0501) Signed + x-ua-compatible: + - IE=edge + x-xss-protection: + - 1; mode=block + status: + code: 200 + message: OK +- request: + body: '{"properties": {"lenses": {"0": {"order": 0, "parts": {"0": {"position": + {"x": 6, "y": 2, "rowSpan": 2, "colSpan": 2}, "metadata": {"inputs": [], "type": + "Extension/HubsExtension/PartType/ClockPart", "settings": {}}}}}}, "metadata": + {"model": {"timeRange": {"value": {"relative": {"duration": 12, "timeUnit": + 1}}, "type": "MsPortalFx.Composition.Configuration.ValueTypes.TimeRange"}}}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - portal dashboard update + Connection: + - keep-alive + Content-Length: + - '386' + Content-Type: + - application/json + ParameterSetName: + - --input-path --name --resource-group + User-Agent: + - AZURECLI/2.3.1 azsdk-python-core/1.4.0 Python/3.8.1 (Windows-10-10.0.18362-SP0) + azsdk-python-portal/unknown + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_000001/providers/Microsoft.Portal/dashboards/cli_test_000002?api-version=2019-01-01-preview + response: + body: + string: '{"properties":{"lenses":{"0":{"order":0,"parts":{"0":{"position":{"x":6,"y":2,"rowSpan":2,"colSpan":2},"metadata":{"inputs":[],"type":"Extension/HubsExtension/PartType/ClockPart","settings":{}}}}}},"metadata":{"model":{"timeRange":{"value":{"relative":{"duration":12,"timeUnit":1}},"type":"MsPortalFx.Composition.Configuration.ValueTypes.TimeRange"}}}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_000001/providers/Microsoft.Portal/dashboards/cli_test_000002","name":"cli_test_000002","type":"Microsoft.Portal/dashboards","location":"eastus","tags":{"aKey":"aValue","anotherKey":"anotherValue"}}' + headers: + cache-control: + - no-cache + content-length: + - '710' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 24 Apr 2020 02:50:27 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - browserId=b2d167fe-014c-4a1b-a700-dee719204b4b; domain=portal.azure.com; path=/; + secure; HttpOnly + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-dashboard-session: + - 0:-1#2310550 + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-ms-version: + - 5.0.303.3324 (production_htfx#4e36611bb5.200415-0501) Signed + x-ua-compatible: + - IE=edge + x-xss-protection: + - 1; mode=block + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - portal dashboard delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --name --resource-group --y + User-Agent: + - AZURECLI/2.3.1 azsdk-python-core/1.4.0 Python/3.8.1 (Windows-10-10.0.18362-SP0) + azsdk-python-portal/unknown + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_000001/providers/Microsoft.Portal/dashboards/cli_test_000002?api-version=2019-01-01-preview + response: + body: + string: 'null' + headers: + cache-control: + - no-cache + content-length: + - '4' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 24 Apr 2020 02:50:28 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - browserId=7f645dd7-79f7-4ac8-81ef-dd59a2c9cc42; domain=portal.azure.com; path=/; + secure; HttpOnly + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-dashboard-session: + - 0:-1#2310551 + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + x-ms-version: + - 5.0.303.3324 (production_htfx#4e36611bb5.200415-0501) Signed + x-ua-compatible: + - IE=edge + x-xss-protection: + - 1; mode=block + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - portal dashboard list + Connection: + - keep-alive + ParameterSetName: + - --resource-group + User-Agent: + - AZURECLI/2.3.1 azsdk-python-core/1.4.0 Python/3.8.1 (Windows-10-10.0.18362-SP0) + azsdk-python-portal/unknown + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_000001/providers/Microsoft.Portal/dashboards?api-version=2019-01-01-preview + response: + body: + string: '{"value":[]}' + headers: + cache-control: + - no-cache + content-length: + - '12' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 24 Apr 2020 02:50:29 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - browserId=3f42a1ee-b7e4-481d-a4bf-e1c935fea3d1; domain=portal.azure.com; path=/; + secure; HttpOnly + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-version: + - 5.0.303.3324 (production_htfx#4e36611bb5.200415-0501) Signed + x-ua-compatible: + - IE=edge + x-xss-protection: + - 1; mode=block + status: + code: 200 + message: OK +- request: + body: '{"location": "eastus", "tags": {"hidden-title": "test dashboard"}, "properties": + {"lenses": {"0": {"order": 0, "parts": {"0": {"position": {"x": 0, "y": 0, "rowSpan": + 4, "colSpan": 6}, "metadata": {"inputs": [{"name": "resourceType", "value": + "Microsoft.Resources/subscriptions/resourcegroups", "isOptional": true}, {"name": + "filter", "isOptional": true}, {"name": "scope", "isOptional": true}, {"name": + "kind", "isOptional": true}], "type": "Extension/HubsExtension/PartType/BrowseResourceGroupPinnedPart"}}}}}, + "metadata": {"model": {"timeRange": {"value": {"relative": {"duration": 24, + "timeUnit": 1}}, "type": "MsPortalFx.Composition.Configuration.ValueTypes.TimeRange"}}}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - portal dashboard import + Connection: + - keep-alive + Content-Length: + - '678' + Content-Type: + - application/json + ParameterSetName: + - --input-path --name --resource-group + User-Agent: + - AZURECLI/2.3.1 azsdk-python-core/1.4.0 Python/3.8.1 (Windows-10-10.0.18362-SP0) + azsdk-python-portal/unknown + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_000001/providers/Microsoft.Portal/dashboards/7c0464ec-b1cd-4a98-a4a5-1ebe2d980260?api-version=2019-01-01-preview + response: + body: + string: '{"properties":{"lenses":{"0":{"order":0,"parts":{"0":{"position":{"x":0,"y":0,"rowSpan":4,"colSpan":6},"metadata":{"inputs":[{"name":"resourceType","value":"Microsoft.Resources/subscriptions/resourcegroups","isOptional":true},{"name":"filter","isOptional":true},{"name":"scope","isOptional":true},{"name":"kind","isOptional":true}],"type":"Extension/HubsExtension/PartType/BrowseResourceGroupPinnedPart"}}}}},"metadata":{"model":{"timeRange":{"value":{"relative":{"duration":24,"timeUnit":1}},"type":"MsPortalFx.Composition.Configuration.ValueTypes.TimeRange"}}}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_000001/providers/Microsoft.Portal/dashboards/7c0464ec-b1cd-4a98-a4a5-1ebe2d980260","name":"7c0464ec-b1cd-4a98-a4a5-1ebe2d980260","type":"Microsoft.Portal/dashboards","location":"eastus","tags":{"hidden-title":"test + dashboard"}}' + headers: + cache-control: + - no-cache + content-length: + - '933' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 24 Apr 2020 02:50:29 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - browserId=9a1cc8f4-5d86-4be9-a931-fcb526b59b17; domain=portal.azure.com; path=/; + secure; HttpOnly + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-dashboard-session: + - 0:-1#2310552 + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-ms-version: + - 5.0.303.3324 (production_htfx#4e36611bb5.200415-0501) Signed + x-ua-compatible: + - IE=edge + x-xss-protection: + - 1; mode=block + status: + code: 201 + message: Created +version: 1 diff --git a/src/portal/azext_portal/tests/latest/test_portal_scenario.py b/src/portal/azext_portal/tests/latest/test_portal_scenario.py new file mode 100644 index 00000000000..314740bbbe6 --- /dev/null +++ b/src/portal/azext_portal/tests/latest/test_portal_scenario.py @@ -0,0 +1,111 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +import os +import unittest + +from azure_devtools.scenario_tests import AllowLargeResponse +from azure.cli.testsdk import JMESPathCheck +from azure.cli.testsdk import JMESPathCheckExists +from azure.cli.testsdk import NoneCheck +from azure.cli.testsdk import ScenarioTest +from azure.cli.testsdk import ResourceGroupPreparer + + +TEST_DIR = os.path.abspath(os.path.join(os.path.abspath(__file__), '..')) + + +class PortalScenarioTest(ScenarioTest): + + @ResourceGroupPreparer(name_prefix='cli_test_portal_testRG'[:9], key='rg') + def test_portal(self, resource_group): + + self.kwargs.update({ + 'testDashboard': self.create_random_name(prefix='cli_test_dashboards'[:9], length=24) + }) + + self.cmd('az portal dashboard create ' + '--location "eastus" ' + '--input- "src/portal/azext_portal/tests/latest/properties.json" ' + '--tags aKey=aValue anotherKey=anotherValue ' + '--name "{testDashboard}" ' + '--resource-group "{rg}"', + checks=[JMESPathCheck('name', self.kwargs.get('testDashboard', ''))]) + + self.cmd('az portal dashboard show ' + '--name "{testDashboard}" ' + '--resource-group "{rg}"', + checks=[ + JMESPathCheck('name', self.kwargs.get( + 'testDashboard', '')), + JMESPathCheck('resourceGroup', self.kwargs.get('rg', '')), + JMESPathCheck( + 'tags', '{\'aKey\': \'aValue\', \'anotherKey\': \'anotherValue\'}'), + JMESPathCheck('lenses', '{\'0\': {\'metadata\': None, \'order\': 0, \'parts\': ' + '{\'0\': {\'metadata\': {\'inputs\': [], \'settings\': {}, \'type\': ' + '\'Extension/HubsExtension/PartType/ClockPart\'}, \'position\': {\'colSpan\': 2, ' + '\'metadata\': None, \'rowSpan\': 2, \'x\': 6, \'y\': 2}}}}}'), + JMESPathCheck('metadata', '{\'model\': {\'timeRange\': {\'type\': ' + '\'MsPortalFx.Composition.Configuration.ValueTypes.TimeRange\', \'value\': ' + '{\'relative\': {\'duration\': 24, \'timeUnit\': 1}}}}}')]) + + self.cmd('az portal dashboard list ' + '--resource-group "{rg}"', + checks=[JMESPathCheckExists('[?name==\'{}\']'.format(self.kwargs.get('testDashboard', '')))]) + + self.cmd('az portal dashboard list ' + '--resource-group=', + checks=[JMESPathCheckExists('[?name==\'{}\']'.format(self.kwargs.get('testDashboard', '')))]) + + self.cmd('az portal dashboard update ' + '--input-path "src/portal/azext_portal/tests/latest/properties-update.json" ' + '--name "{testDashboard}" ' + '--resource-group "{rg}"', + checks=[ + JMESPathCheck('name', self.kwargs.get( + 'testDashboard', '')), + JMESPathCheck('resourceGroup', self.kwargs.get('rg', '')), + JMESPathCheck( + 'tags', '{\'aKey\': \'aValue\', \'anotherKey\': \'anotherValue\'}'), + JMESPathCheck('lenses', '{\'0\': {\'metadata\': None, \'order\': 0, \'parts\': ' + '{\'0\': {\'metadata\': {\'inputs\': [], \'settings\': {}, \'type\': ' + '\'Extension/HubsExtension/PartType/ClockPart\'}, \'position\': {\'colSpan\': 2, ' + '\'metadata\': None, \'rowSpan\': 2, \'x\': 6, \'y\': 2}}}}}'), + JMESPathCheck('metadata', '{\'model\': {\'timeRange\': {\'type\': ' + '\'MsPortalFx.Composition.Configuration.ValueTypes.TimeRange\', \'value\': ' + '{\'relative\': {\'duration\': 12, \'timeUnit\': 1}}}}}')]) + + self.cmd('az portal dashboard delete ' + '--name "{testDashboard}" ' + '--resource-group "{rg}" ' + '--y', + checks=[]) + + self.cmd('az portal dashboard list ' + '--resource-group "{rg}"', + checks=[NoneCheck()]) + + self.cmd('az portal dashboard import ' + '--input-path "src/portal/azext_portal/tests/latest/dashboard.json" ' + '--name "{testDashboard}" ' + '--resource-group "{rg}"', + checks=[ + JMESPathCheck( + 'name', '7c0464ec-b1cd-4a98-a4a5-1ebe2d980260'), + JMESPathCheck('resourceGroup', self.kwargs.get('rg', '')), + JMESPathCheck('location', 'eastus'), + JMESPathCheck('type', 'Microsoft.Portal/dashboards'), + JMESPathCheck( + 'tags', '{\'hidden-title\': \'test dashboard\'}'), + JMESPathCheck('lenses', '{\'0\': {\'metadata\': None, \'order\': 0, \'parts\': ' + '{\'0\': {\'metadata\': {\'inputs\': [{\'isOptional\': True, \'name\': ' + '\'resourceType\', \'value\': \'Microsoft.Resources/subscriptions/resourcegroups\'},' + ' {\'isOptional\': True, \'name\': \'filter\'}, {\'isOptional\': True, \'name\':' + ' \'scope\'}, {\'isOptional\': True, \'name\': \'kind\'}], \'type\': ' + '\'Extension/HubsExtension/PartType/BrowseResourceGroupPinnedPart\'}, \'position\': ' + '{\'colSpan\': 6, \'metadata\': None, \'rowSpan\': 4, \'x\': 0, \'y\': 0}}}}}'), + JMESPathCheck('metadata', '{\'model\': {\'timeRange\': {\'type\': ' + '\'MsPortalFx.Composition.Configuration.ValueTypes.TimeRange\', \'value\': ' + '{\'relative\': {\'duration\': 24, \'timeUnit\': 1}}}}}')]) diff --git a/src/portal/azext_portal/vendored_sdks/__init__.py b/src/portal/azext_portal/vendored_sdks/__init__.py new file mode 100644 index 00000000000..be1a152630c --- /dev/null +++ b/src/portal/azext_portal/vendored_sdks/__init__.py @@ -0,0 +1,12 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +__path__ = __import__('pkgutil').extend_path(__path__, __name__) \ No newline at end of file diff --git a/src/portal/azext_portal/vendored_sdks/portal/__init__.py b/src/portal/azext_portal/vendored_sdks/portal/__init__.py new file mode 100644 index 00000000000..a2795e0ed3f --- /dev/null +++ b/src/portal/azext_portal/vendored_sdks/portal/__init__.py @@ -0,0 +1,10 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._portal import Portal +__all__ = ['Portal'] diff --git a/src/portal/azext_portal/vendored_sdks/portal/_configuration.py b/src/portal/azext_portal/vendored_sdks/portal/_configuration.py new file mode 100644 index 00000000000..69420dd4e61 --- /dev/null +++ b/src/portal/azext_portal/vendored_sdks/portal/_configuration.py @@ -0,0 +1,60 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import Any + +from azure.core.configuration import Configuration +from azure.core.pipeline import policies + +VERSION = "unknown" + +class PortalConfiguration(Configuration): + """Configuration for Portal + Note that all parameters used to create this instance are saved as instance + attributes. + + :param credential: Credential needed for the client to connect to Azure. + :type credential: azure.core.credentials.TokenCredential + :param subscription_id: The Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000). + :type subscription_id: str + """ + + def __init__( + self, + credential, # type: "TokenCredential" + subscription_id, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + if credential is None: + raise ValueError("Parameter 'credential' must not be None.") + if subscription_id is None: + raise ValueError("Parameter 'subscription_id' must not be None.") + super(PortalConfiguration, self).__init__(**kwargs) + + self.credential = credential + self.subscription_id = subscription_id + self.api_version = "2019-01-01-preview" + self._configure(**kwargs) + self.user_agent_policy.add_user_agent('azsdk-python-portal/{}'.format(VERSION)) + + def _configure( + self, + **kwargs # type: Any + ): + # type: (...) -> None + self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get('retry_policy') or policies.RetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get('redirect_policy') or policies.RedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get('authentication_policy') + if self.credential and not self.authentication_policy: + self.authentication_policy = policies.BearerTokenCredentialPolicy(self.credential, **kwargs) diff --git a/src/portal/azext_portal/vendored_sdks/portal/_portal.py b/src/portal/azext_portal/vendored_sdks/portal/_portal.py new file mode 100644 index 00000000000..1ca59444489 --- /dev/null +++ b/src/portal/azext_portal/vendored_sdks/portal/_portal.py @@ -0,0 +1,67 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import Any, Optional + +from azure.core import PipelineClient +from msrest import Deserializer, Serializer + +from ._configuration import PortalConfiguration +from .operations import OperationOperations +from .operations import DashboardOperations +from . import models + + +class Portal(object): + """Allows creation and deletion of Azure Shared Dashboards. + + :ivar operation: OperationOperations operations + :vartype operation: portal.operations.OperationOperations + :ivar dashboard: DashboardOperations operations + :vartype dashboard: portal.operations.DashboardOperations + :param credential: Credential needed for the client to connect to Azure. + :type credential: azure.core.credentials.TokenCredential + :param subscription_id: The Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000). + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, + credential, # type: "TokenCredential" + subscription_id, # type: str + base_url=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> None + if not base_url: + base_url = 'https://management.azure.com' + self._config = PortalConfiguration(credential, subscription_id, **kwargs) + self._client = PipelineClient(base_url=base_url, config=self._config, **kwargs) + + 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.operation = OperationOperations( + self._client, self._config, self._serialize, self._deserialize) + self.dashboard = DashboardOperations( + self._client, self._config, self._serialize, self._deserialize) + + def close(self): + # type: () -> None + self._client.close() + + def __enter__(self): + # type: () -> Portal + self._client.__enter__() + return self + + def __exit__(self, *exc_details): + # type: (Any) -> None + self._client.__exit__(*exc_details) diff --git a/src/portal/azext_portal/vendored_sdks/portal/aio/__init__.py b/src/portal/azext_portal/vendored_sdks/portal/aio/__init__.py new file mode 100644 index 00000000000..508cf5a4695 --- /dev/null +++ b/src/portal/azext_portal/vendored_sdks/portal/aio/__init__.py @@ -0,0 +1,10 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._portal_async import Portal +__all__ = ['Portal'] diff --git a/src/portal/azext_portal/vendored_sdks/portal/aio/_configuration_async.py b/src/portal/azext_portal/vendored_sdks/portal/aio/_configuration_async.py new file mode 100644 index 00000000000..f696a3c65d2 --- /dev/null +++ b/src/portal/azext_portal/vendored_sdks/portal/aio/_configuration_async.py @@ -0,0 +1,58 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import Any + +from azure.core.configuration import Configuration +from azure.core.pipeline import policies + +VERSION = "unknown" + +class PortalConfiguration(Configuration): + """Configuration for Portal + Note that all parameters used to create this instance are saved as instance + attributes. + + :param credential: Credential needed for the client to connect to Azure. + :type credential: azure.core.credentials.TokenCredential + :param subscription_id: The Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000). + :type subscription_id: str + """ + + def __init__( + self, + credential: "TokenCredential", + subscription_id: str, + **kwargs: Any + ) -> None: + if credential is None: + raise ValueError("Parameter 'credential' must not be None.") + if subscription_id is None: + raise ValueError("Parameter 'subscription_id' must not be None.") + super(PortalConfiguration, self).__init__(**kwargs) + + self.credential = credential + self.subscription_id = subscription_id + self.api_version = "2019-01-01-preview" + self._configure(**kwargs) + self.user_agent_policy.add_user_agent('azsdk-python-portal/{}'.format(VERSION)) + + def _configure( + self, + **kwargs: Any + ) -> None: + self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get('retry_policy') or policies.AsyncRetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get('redirect_policy') or policies.AsyncRedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get('authentication_policy') + if self.credential and not self.authentication_policy: + self.authentication_policy = policies.AsyncBearerTokenCredentialPolicy(self.credential, **kwargs) diff --git a/src/portal/azext_portal/vendored_sdks/portal/aio/_portal_async.py b/src/portal/azext_portal/vendored_sdks/portal/aio/_portal_async.py new file mode 100644 index 00000000000..878f1ca00ae --- /dev/null +++ b/src/portal/azext_portal/vendored_sdks/portal/aio/_portal_async.py @@ -0,0 +1,63 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import Any, Optional + +from azure.core import AsyncPipelineClient +from msrest import Deserializer, Serializer + +from ._configuration_async import PortalConfiguration +from .operations_async import OperationOperations +from .operations_async import DashboardOperations +from .. import models + + +class Portal(object): + """Allows creation and deletion of Azure Shared Dashboards. + + :ivar operation: OperationOperations operations + :vartype operation: portal.aio.operations_async.OperationOperations + :ivar dashboard: DashboardOperations operations + :vartype dashboard: portal.aio.operations_async.DashboardOperations + :param credential: Credential needed for the client to connect to Azure. + :type credential: azure.core.credentials.TokenCredential + :param subscription_id: The Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000). + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, + credential: "TokenCredential", + subscription_id: str, + base_url: Optional[str] = None, + **kwargs: Any + ) -> None: + if not base_url: + base_url = 'https://management.azure.com' + self._config = PortalConfiguration(credential, subscription_id, **kwargs) + self._client = AsyncPipelineClient(base_url=base_url, config=self._config, **kwargs) + + 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.operation = OperationOperations( + self._client, self._config, self._serialize, self._deserialize) + self.dashboard = DashboardOperations( + self._client, self._config, self._serialize, self._deserialize) + + async def close(self) -> None: + await self._client.close() + + async def __aenter__(self) -> "Portal": + await self._client.__aenter__() + return self + + async def __aexit__(self, *exc_details) -> None: + await self._client.__aexit__(*exc_details) diff --git a/src/portal/azext_portal/vendored_sdks/portal/aio/operations_async/__init__.py b/src/portal/azext_portal/vendored_sdks/portal/aio/operations_async/__init__.py new file mode 100644 index 00000000000..1511df6e3b9 --- /dev/null +++ b/src/portal/azext_portal/vendored_sdks/portal/aio/operations_async/__init__.py @@ -0,0 +1,15 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._operation_operations_async import OperationOperations +from ._dashboard_operations_async import DashboardOperations + +__all__ = [ + 'OperationOperations', + 'DashboardOperations', +] diff --git a/src/portal/azext_portal/vendored_sdks/portal/aio/operations_async/_dashboard_operations_async.py b/src/portal/azext_portal/vendored_sdks/portal/aio/operations_async/_dashboard_operations_async.py new file mode 100644 index 00000000000..000cbf46828 --- /dev/null +++ b/src/portal/azext_portal/vendored_sdks/portal/aio/operations_async/_dashboard_operations_async.py @@ -0,0 +1,422 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class DashboardOperations: + """DashboardOperations async operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~portal.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + async def create_or_update( + self, + resource_group_name: str, + dashboard_name: str, + location: str, + tags: Optional[Dict[str, str]] = None, + lenses: Optional[Dict[str, "DashboardLens"]] = None, + metadata: Optional[Dict[str, object]] = None, + **kwargs + ) -> "models.Dashboard": + """Creates or updates a Dashboard. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param dashboard_name: The name of the dashboard. + :type dashboard_name: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param lenses: The dashboard lenses. + :type lenses: dict[str, ~portal.models.DashboardLens] + :param metadata: The dashboard metadata. + :type metadata: dict[str, object] + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Dashboard or Dashboard or the result of cls(response) + :rtype: ~portal.models.Dashboard or ~portal.models.Dashboard + :raises: ~portal.models.ErrorResponseException: + """ + cls: ClsType["models.Dashboard"] = kwargs.pop('cls', None ) + error_map = kwargs.pop('error_map', {}) + + dashboard = models.Dashboard(location=location, tags=tags, lenses=lenses, metadata=metadata) + api_version = "2019-01-01-preview" + + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'dashboardName': self._serialize.url("dashboard_name", dashboard_name, 'str', max_length=64, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters: Dict[str, Any] = {} + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters: Dict[str, Any] = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json' + + # Construct body + body_content = self._serialize.body(dashboard, 'Dashboard') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.ErrorResponseException.from_response(response, self._deserialize) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('Dashboard', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('Dashboard', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Portal/dashboards/{dashboardName}'} + + async def delete( + self, + resource_group_name: str, + dashboard_name: str, + **kwargs + ) -> None: + """Deletes the Dashboard. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param dashboard_name: The name of the dashboard. + :type dashboard_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~portal.models.ErrorResponseException: + """ + cls: ClsType[None] = kwargs.pop('cls', None ) + error_map = kwargs.pop('error_map', {}) + api_version = "2019-01-01-preview" + + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'dashboardName': self._serialize.url("dashboard_name", dashboard_name, 'str', max_length=64, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters: Dict[str, Any] = {} + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters: Dict[str, Any] = {} + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.ErrorResponseException.from_response(response, self._deserialize) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Portal/dashboards/{dashboardName}'} + + async def get( + self, + resource_group_name: str, + dashboard_name: str, + **kwargs + ) -> "models.Dashboard": + """Gets the Dashboard. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param dashboard_name: The name of the dashboard. + :type dashboard_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Dashboard or the result of cls(response) + :rtype: ~portal.models.Dashboard + :raises: ~portal.models.ErrorResponseException: + """ + cls: ClsType["models.Dashboard"] = kwargs.pop('cls', None ) + error_map = kwargs.pop('error_map', {}) + api_version = "2019-01-01-preview" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'dashboardName': self._serialize.url("dashboard_name", dashboard_name, 'str', max_length=64, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters: Dict[str, Any] = {} + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters: Dict[str, Any] = {} + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.ErrorResponseException.from_response(response, self._deserialize) + + deserialized = self._deserialize('Dashboard', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Portal/dashboards/{dashboardName}'} + + async def update( + self, + resource_group_name: str, + dashboard_name: str, + tags: Optional[Dict[str, str]] = None, + lenses: Optional[Dict[str, "DashboardLens"]] = None, + metadata: Optional[Dict[str, object]] = None, + **kwargs + ) -> "models.Dashboard": + """Updates an existing Dashboard. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param dashboard_name: The name of the dashboard. + :type dashboard_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param lenses: The dashboard lenses. + :type lenses: dict[str, ~portal.models.DashboardLens] + :param metadata: The dashboard metadata. + :type metadata: dict[str, object] + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Dashboard or the result of cls(response) + :rtype: ~portal.models.Dashboard + :raises: ~portal.models.ErrorResponseException: + """ + cls: ClsType["models.Dashboard"] = kwargs.pop('cls', None ) + error_map = kwargs.pop('error_map', {}) + + dashboard = models.PatchableDashboard(tags=tags, lenses=lenses, metadata=metadata) + api_version = "2019-01-01-preview" + + # Construct URL + url = self.update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'dashboardName': self._serialize.url("dashboard_name", dashboard_name, 'str', max_length=64, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters: Dict[str, Any] = {} + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters: Dict[str, Any] = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json' + + # Construct body + body_content = self._serialize.body(dashboard, 'PatchableDashboard') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.ErrorResponseException.from_response(response, self._deserialize) + + deserialized = self._deserialize('Dashboard', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Portal/dashboards/{dashboardName}'} + + def list_by_resource_group( + self, + resource_group_name: str, + **kwargs + ) -> "models.DashboardListResult": + """Gets all the Dashboards within a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DashboardListResult or the result of cls(response) + :rtype: ~portal.models.DashboardListResult + :raises: ~portal.models.ErrorResponseException: + """ + cls: ClsType["models.DashboardListResult"] = kwargs.pop('cls', None ) + error_map = kwargs.pop('error_map', {}) + api_version = "2019-01-01-preview" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters: Dict[str, Any] = {} + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters: Dict[str, Any] = {} + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('DashboardListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.ErrorResponseException.from_response(response, self._deserialize) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Portal/dashboards'} + + def list_by_subscription( + self, + **kwargs + ) -> "models.DashboardListResult": + """Gets all the dashboards within a subscription. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DashboardListResult or the result of cls(response) + :rtype: ~portal.models.DashboardListResult + :raises: ~portal.models.ErrorResponseException: + """ + cls: ClsType["models.DashboardListResult"] = kwargs.pop('cls', None ) + error_map = kwargs.pop('error_map', {}) + api_version = "2019-01-01-preview" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_subscription.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters: Dict[str, Any] = {} + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters: Dict[str, Any] = {} + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('DashboardListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.ErrorResponseException.from_response(response, self._deserialize) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_by_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Portal/dashboards'} diff --git a/src/portal/azext_portal/vendored_sdks/portal/aio/operations_async/_operation_operations_async.py b/src/portal/azext_portal/vendored_sdks/portal/aio/operations_async/_operation_operations_async.py new file mode 100644 index 00000000000..aebe6bdf31d --- /dev/null +++ b/src/portal/azext_portal/vendored_sdks/portal/aio/operations_async/_operation_operations_async.py @@ -0,0 +1,98 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class OperationOperations: + """OperationOperations async operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~portal.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + **kwargs + ) -> "models.ResourceProviderOperationList": + """The Microsoft Portal operations API. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ResourceProviderOperationList or the result of cls(response) + :rtype: ~portal.models.ResourceProviderOperationList + :raises: ~portal.models.ErrorResponseException: + """ + cls: ClsType["models.ResourceProviderOperationList"] = kwargs.pop('cls', None ) + error_map = kwargs.pop('error_map', {}) + api_version = "2019-01-01-preview" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + else: + url = next_link + + # Construct parameters + query_parameters: Dict[str, Any] = {} + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters: Dict[str, Any] = {} + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('ResourceProviderOperationList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.ErrorResponseException.from_response(response, self._deserialize) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/providers/Microsoft.Portal/operations'} diff --git a/src/portal/azext_portal/vendored_sdks/portal/models/__init__.py b/src/portal/azext_portal/vendored_sdks/portal/models/__init__.py new file mode 100644 index 00000000000..84909621e71 --- /dev/null +++ b/src/portal/azext_portal/vendored_sdks/portal/models/__init__.py @@ -0,0 +1,49 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +try: + from ._models_py3 import Dashboard + from ._models_py3 import DashboardLens + from ._models_py3 import DashboardListResult + from ._models_py3 import DashboardParts + from ._models_py3 import DashboardPartsPosition + from ._models_py3 import DashboardProperties + from ._models_py3 import ErrorDefinition + from ._models_py3 import ErrorResponse, ErrorResponseException + from ._models_py3 import PatchableDashboard + from ._models_py3 import ResourceProviderOperation + from ._models_py3 import ResourceProviderOperationDisplay + from ._models_py3 import ResourceProviderOperationList +except (SyntaxError, ImportError): + from ._models import Dashboard # type: ignore + from ._models import DashboardLens # type: ignore + from ._models import DashboardListResult # type: ignore + from ._models import DashboardParts # type: ignore + from ._models import DashboardPartsPosition # type: ignore + from ._models import DashboardProperties # type: ignore + from ._models import ErrorDefinition # type: ignore + from ._models import ErrorResponse, ErrorResponseException # type: ignore + from ._models import PatchableDashboard # type: ignore + from ._models import ResourceProviderOperation # type: ignore + from ._models import ResourceProviderOperationDisplay # type: ignore + from ._models import ResourceProviderOperationList # type: ignore + +__all__ = [ + 'Dashboard', + 'DashboardLens', + 'DashboardListResult', + 'DashboardParts', + 'DashboardPartsPosition', + 'DashboardProperties', + 'ErrorDefinition', + 'ErrorResponse', 'ErrorResponseException', + 'PatchableDashboard', + 'ResourceProviderOperation', + 'ResourceProviderOperationDisplay', + 'ResourceProviderOperationList', +] diff --git a/src/portal/azext_portal/vendored_sdks/portal/models/_models.py b/src/portal/azext_portal/vendored_sdks/portal/models/_models.py new file mode 100644 index 00000000000..bc70d849819 --- /dev/null +++ b/src/portal/azext_portal/vendored_sdks/portal/models/_models.py @@ -0,0 +1,405 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from azure.core.exceptions import HttpResponseError +import msrest.serialization + + +class Dashboard(msrest.serialization.Model): + """The shared dashboard resource definition. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Resource Id. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Required. Resource location. + :type location: str + :param tags: A set of tags. Resource tags. + :type tags: dict[str, str] + :param lenses: The dashboard lenses. + :type lenses: dict[str, ~portal.models.DashboardLens] + :param metadata: The dashboard metadata. + :type metadata: dict[str, object] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'lenses': {'key': 'properties.lenses', 'type': '{DashboardLens}'}, + 'metadata': {'key': 'properties.metadata', 'type': '{object}'}, + } + + def __init__( + self, + **kwargs + ): + super(Dashboard, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.location = kwargs.get('location', None) + self.tags = kwargs.get('tags', None) + self.lenses = kwargs.get('lenses', None) + self.metadata = kwargs.get('metadata', None) + + +class DashboardLens(msrest.serialization.Model): + """A dashboard lens. + + All required parameters must be populated in order to send to Azure. + + :param order: Required. The lens order. + :type order: int + :param parts: Required. The dashboard parts. + :type parts: dict[str, ~portal.models.DashboardParts] + :param metadata: The dashboard len's metadata. + :type metadata: dict[str, object] + """ + + _validation = { + 'order': {'required': True}, + 'parts': {'required': True}, + } + + _attribute_map = { + 'order': {'key': 'order', 'type': 'int'}, + 'parts': {'key': 'parts', 'type': '{DashboardParts}'}, + 'metadata': {'key': 'metadata', 'type': '{object}'}, + } + + def __init__( + self, + **kwargs + ): + super(DashboardLens, self).__init__(**kwargs) + self.order = kwargs.get('order', None) + self.parts = kwargs.get('parts', None) + self.metadata = kwargs.get('metadata', None) + + +class DashboardListResult(msrest.serialization.Model): + """List of dashboards. + + :param value: The array of custom resource provider manifests. + :type value: list[~portal.models.Dashboard] + :param next_link: The URL to use for getting the next set of results. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[Dashboard]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(DashboardListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class DashboardParts(msrest.serialization.Model): + """A dashboard part. + + All required parameters must be populated in order to send to Azure. + + :param position: Required. The dashboard's part position. + :type position: ~portal.models.DashboardPartsPosition + :param metadata: The dashboard part's metadata. + :type metadata: dict[str, object] + """ + + _validation = { + 'position': {'required': True}, + } + + _attribute_map = { + 'position': {'key': 'position', 'type': 'DashboardPartsPosition'}, + 'metadata': {'key': 'metadata', 'type': '{object}'}, + } + + def __init__( + self, + **kwargs + ): + super(DashboardParts, self).__init__(**kwargs) + self.position = kwargs.get('position', None) + self.metadata = kwargs.get('metadata', None) + + +class DashboardPartsPosition(msrest.serialization.Model): + """The dashboard's part position. + + All required parameters must be populated in order to send to Azure. + + :param x: Required. The dashboard's part x coordinate. + :type x: int + :param y: Required. The dashboard's part y coordinate. + :type y: int + :param row_span: Required. The dashboard's part row span. + :type row_span: int + :param col_span: Required. The dashboard's part column span. + :type col_span: int + :param metadata: The dashboard part's metadata. + :type metadata: dict[str, object] + """ + + _validation = { + 'x': {'required': True}, + 'y': {'required': True}, + 'row_span': {'required': True}, + 'col_span': {'required': True}, + } + + _attribute_map = { + 'x': {'key': 'x', 'type': 'int'}, + 'y': {'key': 'y', 'type': 'int'}, + 'row_span': {'key': 'rowSpan', 'type': 'int'}, + 'col_span': {'key': 'colSpan', 'type': 'int'}, + 'metadata': {'key': 'metadata', 'type': '{object}'}, + } + + def __init__( + self, + **kwargs + ): + super(DashboardPartsPosition, self).__init__(**kwargs) + self.x = kwargs.get('x', None) + self.y = kwargs.get('y', None) + self.row_span = kwargs.get('row_span', None) + self.col_span = kwargs.get('col_span', None) + self.metadata = kwargs.get('metadata', None) + + +class DashboardProperties(msrest.serialization.Model): + """The shared dashboard properties. + + :param lenses: The dashboard lenses. + :type lenses: dict[str, ~portal.models.DashboardLens] + :param metadata: The dashboard metadata. + :type metadata: dict[str, object] + """ + + _attribute_map = { + 'lenses': {'key': 'lenses', 'type': '{DashboardLens}'}, + 'metadata': {'key': 'metadata', 'type': '{object}'}, + } + + def __init__( + self, + **kwargs + ): + super(DashboardProperties, self).__init__(**kwargs) + self.lenses = kwargs.get('lenses', None) + self.metadata = kwargs.get('metadata', None) + + +class ErrorDefinition(msrest.serialization.Model): + """Error definition. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar code: Service specific error code which serves as the substatus for the HTTP error code. + :vartype code: str + :ivar message: Description of the error. + :vartype message: str + :ivar details: Internal error details. + :vartype details: list[~portal.models.ErrorDefinition] + """ + + _validation = { + 'code': {'readonly': True}, + 'message': {'readonly': True}, + 'details': {'readonly': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[ErrorDefinition]'}, + } + + def __init__( + self, + **kwargs + ): + super(ErrorDefinition, self).__init__(**kwargs) + self.code = None + self.message = None + self.details = None + + +class ErrorResponseException(HttpResponseError): + """Server responded with exception of type: 'ErrorResponse'. + + :param response: Server response to be deserialized. + :param error_model: A deserialized model of the response body as model. + """ + + def __init__(self, response, error_model): + self.error = error_model + super(ErrorResponseException, self).__init__(response=response, error_model=error_model) + + @classmethod + def from_response(cls, response, deserialize): + """Deserialize this response as this exception, or a subclass of this exception. + + :param response: Server response to be deserialized. + :param deserialize: A deserializer + """ + model_name = 'ErrorResponse' + error = deserialize(model_name, response) + if error is None: + error = deserialize.dependencies[model_name]() + return error._EXCEPTION_TYPE(response, error) + + +class ErrorResponse(msrest.serialization.Model): + """Error response. + + :param error: Error definition. + :type error: ~portal.models.ErrorDefinition + """ + _EXCEPTION_TYPE = ErrorResponseException + + _attribute_map = { + 'error': {'key': 'error', 'type': 'ErrorDefinition'}, + } + + def __init__( + self, + **kwargs + ): + super(ErrorResponse, self).__init__(**kwargs) + self.error = kwargs.get('error', None) + + +class PatchableDashboard(msrest.serialization.Model): + """The shared dashboard resource definition. + + :param tags: A set of tags. Resource tags. + :type tags: dict[str, str] + :param lenses: The dashboard lenses. + :type lenses: dict[str, ~portal.models.DashboardLens] + :param metadata: The dashboard metadata. + :type metadata: dict[str, object] + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + 'lenses': {'key': 'properties.lenses', 'type': '{DashboardLens}'}, + 'metadata': {'key': 'properties.metadata', 'type': '{object}'}, + } + + def __init__( + self, + **kwargs + ): + super(PatchableDashboard, self).__init__(**kwargs) + self.tags = kwargs.get('tags', None) + self.lenses = kwargs.get('lenses', None) + self.metadata = kwargs.get('metadata', None) + + +class ResourceProviderOperation(msrest.serialization.Model): + """Supported operations of this resource provider. + + :param name: Operation name, in format of {provider}/{resource}/{operation}. + :type name: str + :param is_data_action: Indicates whether the operation applies to data-plane. + :type is_data_action: str + :param display: Display metadata associated with the operation. + :type display: ~portal.models.ResourceProviderOperationDisplay + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'is_data_action': {'key': 'isDataAction', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'ResourceProviderOperationDisplay'}, + } + + def __init__( + self, + **kwargs + ): + super(ResourceProviderOperation, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.is_data_action = kwargs.get('is_data_action', None) + self.display = kwargs.get('display', None) + + +class ResourceProviderOperationDisplay(msrest.serialization.Model): + """Display metadata associated with the operation. + + :param provider: Resource provider: Microsoft Custom Providers. + :type provider: str + :param resource: Resource on which the operation is performed. + :type resource: str + :param operation: Type of operation: get, read, delete, etc. + :type operation: str + :param description: Description of this operation. + :type description: str + """ + + _attribute_map = { + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ResourceProviderOperationDisplay, self).__init__(**kwargs) + self.provider = kwargs.get('provider', None) + self.resource = kwargs.get('resource', None) + self.operation = kwargs.get('operation', None) + self.description = kwargs.get('description', None) + + +class ResourceProviderOperationList(msrest.serialization.Model): + """Results of the request to list operations. + + :param value: List of operations supported by this resource provider. + :type value: list[~portal.models.ResourceProviderOperation] + :param next_link: The URL to use for getting the next set of results. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ResourceProviderOperation]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ResourceProviderOperationList, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) diff --git a/src/portal/azext_portal/vendored_sdks/portal/models/_models_py3.py b/src/portal/azext_portal/vendored_sdks/portal/models/_models_py3.py new file mode 100644 index 00000000000..47507e86168 --- /dev/null +++ b/src/portal/azext_portal/vendored_sdks/portal/models/_models_py3.py @@ -0,0 +1,449 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import Dict, List, Optional + +from azure.core.exceptions import HttpResponseError +import msrest.serialization + + +class Dashboard(msrest.serialization.Model): + """The shared dashboard resource definition. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Resource Id. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Required. Resource location. + :type location: str + :param tags: A set of tags. Resource tags. + :type tags: dict[str, str] + :param lenses: The dashboard lenses. + :type lenses: dict[str, ~portal.models.DashboardLens] + :param metadata: The dashboard metadata. + :type metadata: dict[str, object] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'lenses': {'key': 'properties.lenses', 'type': '{DashboardLens}'}, + 'metadata': {'key': 'properties.metadata', 'type': '{object}'}, + } + + def __init__( + self, + *, + location: str, + tags: Optional[Dict[str, str]] = None, + lenses: Optional[Dict[str, "DashboardLens"]] = None, + metadata: Optional[Dict[str, object]] = None, + **kwargs + ): + super(Dashboard, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.location = location + self.tags = tags + self.lenses = lenses + self.metadata = metadata + + +class DashboardLens(msrest.serialization.Model): + """A dashboard lens. + + All required parameters must be populated in order to send to Azure. + + :param order: Required. The lens order. + :type order: int + :param parts: Required. The dashboard parts. + :type parts: dict[str, ~portal.models.DashboardParts] + :param metadata: The dashboard len's metadata. + :type metadata: dict[str, object] + """ + + _validation = { + 'order': {'required': True}, + 'parts': {'required': True}, + } + + _attribute_map = { + 'order': {'key': 'order', 'type': 'int'}, + 'parts': {'key': 'parts', 'type': '{DashboardParts}'}, + 'metadata': {'key': 'metadata', 'type': '{object}'}, + } + + def __init__( + self, + *, + order: int, + parts: Dict[str, "DashboardParts"], + metadata: Optional[Dict[str, object]] = None, + **kwargs + ): + super(DashboardLens, self).__init__(**kwargs) + self.order = order + self.parts = parts + self.metadata = metadata + + +class DashboardListResult(msrest.serialization.Model): + """List of dashboards. + + :param value: The array of custom resource provider manifests. + :type value: list[~portal.models.Dashboard] + :param next_link: The URL to use for getting the next set of results. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[Dashboard]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["Dashboard"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(DashboardListResult, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class DashboardParts(msrest.serialization.Model): + """A dashboard part. + + All required parameters must be populated in order to send to Azure. + + :param position: Required. The dashboard's part position. + :type position: ~portal.models.DashboardPartsPosition + :param metadata: The dashboard part's metadata. + :type metadata: dict[str, object] + """ + + _validation = { + 'position': {'required': True}, + } + + _attribute_map = { + 'position': {'key': 'position', 'type': 'DashboardPartsPosition'}, + 'metadata': {'key': 'metadata', 'type': '{object}'}, + } + + def __init__( + self, + *, + position: "DashboardPartsPosition", + metadata: Optional[Dict[str, object]] = None, + **kwargs + ): + super(DashboardParts, self).__init__(**kwargs) + self.position = position + self.metadata = metadata + + +class DashboardPartsPosition(msrest.serialization.Model): + """The dashboard's part position. + + All required parameters must be populated in order to send to Azure. + + :param x: Required. The dashboard's part x coordinate. + :type x: int + :param y: Required. The dashboard's part y coordinate. + :type y: int + :param row_span: Required. The dashboard's part row span. + :type row_span: int + :param col_span: Required. The dashboard's part column span. + :type col_span: int + :param metadata: The dashboard part's metadata. + :type metadata: dict[str, object] + """ + + _validation = { + 'x': {'required': True}, + 'y': {'required': True}, + 'row_span': {'required': True}, + 'col_span': {'required': True}, + } + + _attribute_map = { + 'x': {'key': 'x', 'type': 'int'}, + 'y': {'key': 'y', 'type': 'int'}, + 'row_span': {'key': 'rowSpan', 'type': 'int'}, + 'col_span': {'key': 'colSpan', 'type': 'int'}, + 'metadata': {'key': 'metadata', 'type': '{object}'}, + } + + def __init__( + self, + *, + x: int, + y: int, + row_span: int, + col_span: int, + metadata: Optional[Dict[str, object]] = None, + **kwargs + ): + super(DashboardPartsPosition, self).__init__(**kwargs) + self.x = x + self.y = y + self.row_span = row_span + self.col_span = col_span + self.metadata = metadata + + +class DashboardProperties(msrest.serialization.Model): + """The shared dashboard properties. + + :param lenses: The dashboard lenses. + :type lenses: dict[str, ~portal.models.DashboardLens] + :param metadata: The dashboard metadata. + :type metadata: dict[str, object] + """ + + _attribute_map = { + 'lenses': {'key': 'lenses', 'type': '{DashboardLens}'}, + 'metadata': {'key': 'metadata', 'type': '{object}'}, + } + + def __init__( + self, + *, + lenses: Optional[Dict[str, "DashboardLens"]] = None, + metadata: Optional[Dict[str, object]] = None, + **kwargs + ): + super(DashboardProperties, self).__init__(**kwargs) + self.lenses = lenses + self.metadata = metadata + + +class ErrorDefinition(msrest.serialization.Model): + """Error definition. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar code: Service specific error code which serves as the substatus for the HTTP error code. + :vartype code: str + :ivar message: Description of the error. + :vartype message: str + :ivar details: Internal error details. + :vartype details: list[~portal.models.ErrorDefinition] + """ + + _validation = { + 'code': {'readonly': True}, + 'message': {'readonly': True}, + 'details': {'readonly': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[ErrorDefinition]'}, + } + + def __init__( + self, + **kwargs + ): + super(ErrorDefinition, self).__init__(**kwargs) + self.code = None + self.message = None + self.details = None + + +class ErrorResponseException(HttpResponseError): + """Server responded with exception of type: 'ErrorResponse'. + + :param response: Server response to be deserialized. + :param error_model: A deserialized model of the response body as model. + """ + + def __init__(self, response, error_model): + self.error = error_model + super(ErrorResponseException, self).__init__(response=response, error_model=error_model) + + @classmethod + def from_response(cls, response, deserialize): + """Deserialize this response as this exception, or a subclass of this exception. + + :param response: Server response to be deserialized. + :param deserialize: A deserializer + """ + model_name = 'ErrorResponse' + error = deserialize(model_name, response) + if error is None: + error = deserialize.dependencies[model_name]() + return error._EXCEPTION_TYPE(response, error) + + +class ErrorResponse(msrest.serialization.Model): + """Error response. + + :param error: Error definition. + :type error: ~portal.models.ErrorDefinition + """ + _EXCEPTION_TYPE = ErrorResponseException + + _attribute_map = { + 'error': {'key': 'error', 'type': 'ErrorDefinition'}, + } + + def __init__( + self, + *, + error: Optional["ErrorDefinition"] = None, + **kwargs + ): + super(ErrorResponse, self).__init__(**kwargs) + self.error = error + + +class PatchableDashboard(msrest.serialization.Model): + """The shared dashboard resource definition. + + :param tags: A set of tags. Resource tags. + :type tags: dict[str, str] + :param lenses: The dashboard lenses. + :type lenses: dict[str, ~portal.models.DashboardLens] + :param metadata: The dashboard metadata. + :type metadata: dict[str, object] + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + 'lenses': {'key': 'properties.lenses', 'type': '{DashboardLens}'}, + 'metadata': {'key': 'properties.metadata', 'type': '{object}'}, + } + + def __init__( + self, + *, + tags: Optional[Dict[str, str]] = None, + lenses: Optional[Dict[str, "DashboardLens"]] = None, + metadata: Optional[Dict[str, object]] = None, + **kwargs + ): + super(PatchableDashboard, self).__init__(**kwargs) + self.tags = tags + self.lenses = lenses + self.metadata = metadata + + +class ResourceProviderOperation(msrest.serialization.Model): + """Supported operations of this resource provider. + + :param name: Operation name, in format of {provider}/{resource}/{operation}. + :type name: str + :param is_data_action: Indicates whether the operation applies to data-plane. + :type is_data_action: str + :param display: Display metadata associated with the operation. + :type display: ~portal.models.ResourceProviderOperationDisplay + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'is_data_action': {'key': 'isDataAction', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'ResourceProviderOperationDisplay'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + is_data_action: Optional[str] = None, + display: Optional["ResourceProviderOperationDisplay"] = None, + **kwargs + ): + super(ResourceProviderOperation, self).__init__(**kwargs) + self.name = name + self.is_data_action = is_data_action + self.display = display + + +class ResourceProviderOperationDisplay(msrest.serialization.Model): + """Display metadata associated with the operation. + + :param provider: Resource provider: Microsoft Custom Providers. + :type provider: str + :param resource: Resource on which the operation is performed. + :type resource: str + :param operation: Type of operation: get, read, delete, etc. + :type operation: str + :param description: Description of this operation. + :type description: str + """ + + _attribute_map = { + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__( + self, + *, + provider: Optional[str] = None, + resource: Optional[str] = None, + operation: Optional[str] = None, + description: Optional[str] = None, + **kwargs + ): + super(ResourceProviderOperationDisplay, self).__init__(**kwargs) + self.provider = provider + self.resource = resource + self.operation = operation + self.description = description + + +class ResourceProviderOperationList(msrest.serialization.Model): + """Results of the request to list operations. + + :param value: List of operations supported by this resource provider. + :type value: list[~portal.models.ResourceProviderOperation] + :param next_link: The URL to use for getting the next set of results. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ResourceProviderOperation]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["ResourceProviderOperation"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(ResourceProviderOperationList, self).__init__(**kwargs) + self.value = value + self.next_link = next_link diff --git a/src/portal/azext_portal/vendored_sdks/portal/operations/__init__.py b/src/portal/azext_portal/vendored_sdks/portal/operations/__init__.py new file mode 100644 index 00000000000..9bffae3d64c --- /dev/null +++ b/src/portal/azext_portal/vendored_sdks/portal/operations/__init__.py @@ -0,0 +1,15 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._operation_operations import OperationOperations +from ._dashboard_operations import DashboardOperations + +__all__ = [ + 'OperationOperations', + 'DashboardOperations', +] diff --git a/src/portal/azext_portal/vendored_sdks/portal/operations/_dashboard_operations.py b/src/portal/azext_portal/vendored_sdks/portal/operations/_dashboard_operations.py new file mode 100644 index 00000000000..403f882f8a6 --- /dev/null +++ b/src/portal/azext_portal/vendored_sdks/portal/operations/_dashboard_operations.py @@ -0,0 +1,540 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.exceptions import map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse + +from .. import models + +T = TypeVar('T') +ClsType = Optional[Callable[[ + PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + + +class DashboardOperations(object): + """DashboardOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~portal.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + 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, # type: str + dashboard_name, # type: str + location, # type: str + tags=None, # type: Optional[Dict[str, str]] + lenses=None, # type: Optional[Dict[str, "DashboardLens"]] + metadata=None, # type: Optional[Dict[str, object]] + **kwargs # type: Any + ): + # type: (...) -> "models.Dashboard" + """Creates or updates a Dashboard. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param dashboard_name: The name of the dashboard. + :type dashboard_name: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param lenses: The dashboard lenses. + :type lenses: dict[str, ~portal.models.DashboardLens] + :param metadata: The dashboard metadata. + :type metadata: dict[str, object] + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Dashboard or Dashboard or the result of cls(response) + :rtype: ~portal.models.Dashboard or ~portal.models.Dashboard + :raises: ~portal.models.ErrorResponseException: + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.Dashboard"] + error_map = kwargs.pop('error_map', {}) + + dashboard = models.Dashboard( + location=location, tags=tags, lenses=lenses, metadata=metadata) + api_version = "2019-01-01-preview" + + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'dashboardName': self._serialize.url("dashboard_name", dashboard_name, 'str', max_length=64, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query( + "api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json' + + # Construct body + body_content = self._serialize.body(dashboard, 'Dashboard') + + # Construct and send request + request = self._client.put( + url, query_parameters, header_parameters, body_content) + pipeline_response = self._client._pipeline.run( + request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, + response=response, error_map=error_map) + raise models.ErrorResponseException.from_response( + response, self._deserialize) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('Dashboard', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('Dashboard', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = { + 'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Portal/dashboards/{dashboardName}'} + + def delete( + self, + resource_group_name, # type: str + dashboard_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + """Deletes the Dashboard. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param dashboard_name: The name of the dashboard. + :type dashboard_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~portal.models.ErrorResponseException: + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {}) + api_version = "2019-01-01-preview" + + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'dashboardName': self._serialize.url("dashboard_name", dashboard_name, 'str', max_length=64, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query( + "api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run( + request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, + response=response, error_map=error_map) + raise models.ErrorResponseException.from_response( + response, self._deserialize) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = { + 'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Portal/dashboards/{dashboardName}'} + + def get( + self, + resource_group_name, # type: str + dashboard_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.Dashboard" + """Gets the Dashboard. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param dashboard_name: The name of the dashboard. + :type dashboard_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Dashboard or the result of cls(response) + :rtype: ~portal.models.Dashboard + :raises: ~portal.models.ErrorResponseException: + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.Dashboard"] + error_map = kwargs.pop('error_map', {}) + api_version = "2019-01-01-preview" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'dashboardName': self._serialize.url("dashboard_name", dashboard_name, 'str', max_length=64, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query( + "api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run( + request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, + response=response, error_map=error_map) + raise models.ErrorResponseException.from_response( + response, self._deserialize) + + deserialized = self._deserialize('Dashboard', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = { + 'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Portal/dashboards/{dashboardName}'} + + def update( + self, + resource_group_name, # type: str + dashboard_name, # type: str + lenses=None, # type: Optional[Dict[str, "DashboardLens"]] + metadata=None, # type: Optional[Dict[str, object]] + **kwargs # type: Any + ): + # type: (...) -> "models.Dashboard" + """Updates an existing Dashboard. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param dashboard_name: The name of the dashboard. + :type dashboard_name: str + :param lenses: The dashboard lenses. + :type lenses: dict[str, ~portal.models.DashboardLens] + :param metadata: The dashboard metadata. + :type metadata: dict[str, object] + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Dashboard or the result of cls(response) + :rtype: ~portal.models.Dashboard + :raises: ~portal.models.ErrorResponseException: + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.Dashboard"] + error_map = kwargs.pop('error_map', {}) + + dashboard = models.PatchableDashboard(lenses=lenses, metadata=metadata) + api_version = "2019-01-01-preview" + + # Construct URL + url = self.update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'dashboardName': self._serialize.url("dashboard_name", dashboard_name, 'str', max_length=64, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query( + "api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json' + + # Construct body + body_content = self._serialize.body(dashboard, 'PatchableDashboard') + + # Construct and send request + request = self._client.patch( + url, query_parameters, header_parameters, body_content) + pipeline_response = self._client._pipeline.run( + request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, + response=response, error_map=error_map) + raise models.ErrorResponseException.from_response( + response, self._deserialize) + + deserialized = self._deserialize('Dashboard', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + update.metadata = { + 'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Portal/dashboards/{dashboardName}'} + + def list_by_resource_group( + self, + resource_group_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.DashboardListResult" + """Gets all the Dashboards within a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DashboardListResult or the result of cls(response) + :rtype: ~portal.models.DashboardListResult + :raises: ~portal.models.ErrorResponseException: + """ + cls = kwargs.pop( + 'cls', None) # type: ClsType["models.DashboardListResult"] + error_map = kwargs.pop('error_map', {}) + api_version = "2019-01-01-preview" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query( + "api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get( + url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize( + 'DashboardListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run( + request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, + response=response, error_map=error_map) + raise models.ErrorResponseException.from_response( + response, self._deserialize) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_by_resource_group.metadata = { + 'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Portal/dashboards'} + + def list_by_subscription( + self, + **kwargs # type: Any + ): + # type: (...) -> "models.DashboardListResult" + """Gets all the dashboards within a subscription. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DashboardListResult or the result of cls(response) + :rtype: ~portal.models.DashboardListResult + :raises: ~portal.models.ErrorResponseException: + """ + cls = kwargs.pop( + 'cls', None) # type: ClsType["models.DashboardListResult"] + error_map = kwargs.pop('error_map', {}) + api_version = "2019-01-01-preview" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_subscription.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query( + "api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get( + url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize( + 'DashboardListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run( + request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, + response=response, error_map=error_map) + raise models.ErrorResponseException.from_response( + response, self._deserialize) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_by_subscription.metadata = { + 'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Portal/dashboards'} + + def dashboard_import( + self, + resource_group_name, # type: str + dashboard_name, # type: str + dashboard, # type: "models.Dashboard" + **kwargs # type: Any + ): + # type: (...) -> "models.Dashboard" + """Creates or updates a Dashboard. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param dashboard_name: The name of the dashboard. + :type dashboard_name: str + :param dashboard: The parameters required to create or update a dashboard. + :type dashboard: ~portal.models.Dashboard + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Dashboard or Dashboard or the result of cls(response) + :rtype: ~portal.models.Dashboard or ~portal.models.Dashboard + :raises: ~portal.models.ErrorResponseException: + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.Dashboard"] + error_map = kwargs.pop('error_map', {}) + api_version = "2019-01-01-preview" + + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'dashboardName': self._serialize.url("dashboard_name", dashboard_name, 'str', max_length=64, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query( + "api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json' + + # Construct body + body_content = self._serialize.body(dashboard, 'Dashboard') + + # Construct and send request + request = self._client.put( + url, query_parameters, header_parameters, body_content) + pipeline_response = self._client._pipeline.run( + request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, + response=response, error_map=error_map) + raise models.ErrorResponseException.from_response( + response, self._deserialize) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('Dashboard', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('Dashboard', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = { + 'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Portal/dashboards/{dashboardName}'} diff --git a/src/portal/azext_portal/vendored_sdks/portal/operations/_operation_operations.py b/src/portal/azext_portal/vendored_sdks/portal/operations/_operation_operations.py new file mode 100644 index 00000000000..59145766d1b --- /dev/null +++ b/src/portal/azext_portal/vendored_sdks/portal/operations/_operation_operations.py @@ -0,0 +1,99 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.exceptions import map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse + +from .. import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class OperationOperations(object): + """OperationOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~portal.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + **kwargs # type: Any + ): + # type: (...) -> "models.ResourceProviderOperationList" + """The Microsoft Portal operations API. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ResourceProviderOperationList or the result of cls(response) + :rtype: ~portal.models.ResourceProviderOperationList + :raises: ~portal.models.ErrorResponseException: + """ + cls = kwargs.pop('cls', None ) # type: ClsType["models.ResourceProviderOperationList"] + error_map = kwargs.pop('error_map', {}) + api_version = "2019-01-01-preview" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + else: + url = next_link + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('ResourceProviderOperationList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.ErrorResponseException.from_response(response, self._deserialize) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/providers/Microsoft.Portal/operations'} diff --git a/src/portal/setup.cfg b/src/portal/setup.cfg new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/portal/setup.py b/src/portal/setup.py new file mode 100644 index 00000000000..32e97984c49 --- /dev/null +++ b/src/portal/setup.py @@ -0,0 +1,58 @@ +#!/usr/bin/env python + +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + + +from codecs import open +from setuptools import setup, find_packages +try: + from azure_bdist_wheel import cmdclass +except ImportError: + from distutils import log as logger + logger.warn("Wheel is not available, disabling bdist_wheel hook") + +# TODO: Confirm this is the right version number you want and it matches your +# HISTORY.rst entry. +VERSION = '0.1.1' + +# The full list of classifiers is available at +# https://pypi.python.org/pypi?%3Aaction=list_classifiers +CLASSIFIERS = [ + 'Development Status :: 4 - Beta', + 'Intended Audience :: Developers', + 'Intended Audience :: System Administrators', + 'Programming Language :: Python', + 'Programming Language :: Python :: 3', + 'Programming Language :: Python :: 3.6', + 'Programming Language :: Python :: 3.7', + 'Programming Language :: Python :: 3.8', + 'License :: OSI Approved :: MIT License', +] + +# TODO: Add any additional SDK dependencies here +DEPENDENCIES = [] + +with open('README.md', 'r', encoding='utf-8') as f: + README = f.read() +with open('HISTORY.rst', 'r', encoding='utf-8') as f: + HISTORY = f.read() + +setup( + name='portal', + version=VERSION, + description='Microsoft Azure Command-Line Tools Portal Extension', + # TODO: Update author and email, if applicable + author='Microsoft Corporation', + author_email='azpycli@microsoft.com', + # TODO: consider pointing directly to your source code instead of the generic repo + url='https://github.com/Azure/azure-cli-extensions', + long_description=README + '\n\n' + HISTORY, + license='MIT', + classifiers=CLASSIFIERS, + packages=find_packages(), + install_requires=DEPENDENCIES, + package_data={'azext_portal': ['azext_metadata.json']}, +) diff --git a/src/resource-graph/HISTORY.rst b/src/resource-graph/HISTORY.rst index 19966829bfe..55ae51609ba 100644 --- a/src/resource-graph/HISTORY.rst +++ b/src/resource-graph/HISTORY.rst @@ -1,3 +1,8 @@ +1.1.0 +++++++++++++++++++ + +* Support CRUD commands for Azure shared query. + 0.1.8 ++++++++++++++++++ diff --git a/src/resource-graph/README.md b/src/resource-graph/README.md new file mode 100644 index 00000000000..4a2d8843f97 --- /dev/null +++ b/src/resource-graph/README.md @@ -0,0 +1,58 @@ +# Azure CLI Resource Graph Extension # + +This package is for the 'resource-graph' extension, i.e. 'az graph'. + +### How to use ### +Install this extension using the below CLI command +``` +az extension add --name resoure-graph +``` + +### Included Features +#### Resource Graph Shared Query Management: +*Examples:* + +##### Create a shared query + +``` +az graph shared-query create \ +-g MyResourceGroup \ +-n MySharedQuery \ +--query "project id, name, type, location, tags" \ +--description "AzureCliTest" +``` + +##### Show the properties of a shared query + +``` +az graph shared-query show \ +-g MyResourceGroup \ +-n MySharedQuery +``` + +##### Delete a shared query + +``` +az graph shared-query delete \ +-g MyResourceGroup \ +-n MySharedQuery +``` + +##### List all shared query in a resource group + +``` +az graph shared-query list -g MyResourceGroup +``` + +#### Resource Graph Query: +*Examples:* + +##### Query the resources managed by Azure Resource Manager. + +``` +az graph query -q "project id, name, type, location, tags" +``` + +See https://aka.ms/AzureResourceGraph-QueryLanguage to learn more about query language and browse examples + +If you have issues, please give feedback by opening an issue at https://github.com/Azure/azure-cli-extensions/issues. \ No newline at end of file diff --git a/src/resource-graph/README.rst b/src/resource-graph/README.rst deleted file mode 100644 index 933ce3b7491..00000000000 --- a/src/resource-graph/README.rst +++ /dev/null @@ -1,2 +0,0 @@ -Commands for working with Azure Resource Graph -============================================== diff --git a/src/resource-graph/azext_resourcegraph/_client_factory.py b/src/resource-graph/azext_resourcegraph/_client_factory.py index aa7a2eefc89..159702fb80d 100644 --- a/src/resource-graph/azext_resourcegraph/_client_factory.py +++ b/src/resource-graph/azext_resourcegraph/_client_factory.py @@ -7,4 +7,8 @@ def cf_resource_graph(cli_ctx, _): from azure.cli.core.commands.client_factory import get_mgmt_service_client from .vendored_sdks.resourcegraph import ResourceGraphClient - return get_mgmt_service_client(cli_ctx, ResourceGraphClient, subscription_bound=False) + return get_mgmt_service_client(cli_ctx, ResourceGraphClient) + + +def cf_resource_graph_graph_query(cli_ctx, _): + return cf_resource_graph(cli_ctx, _).graph_query diff --git a/src/resource-graph/azext_resourcegraph/_help.py b/src/resource-graph/azext_resourcegraph/_help.py index 7ca3c6dd111..5145c6980ee 100644 --- a/src/resource-graph/azext_resourcegraph/_help.py +++ b/src/resource-graph/azext_resourcegraph/_help.py @@ -46,3 +46,40 @@ text: > az graph query -q "where type =~ "Microsoft.Compute" | project name, tags" --subscriptions 11111111-1111-1111-1111-111111111111, 22222222-2222-2222-2222-222222222222 """ + +helps['graph shared-query'] = """ + type: group + short-summary: Manage shared query of Azure resource graph. +""" + + +helps['graph shared-query create'] = """ + type: command + short-summary: Create a shared query. + examples: + - name: Create a shared query requesting a subset of resource fields. + text: > + az graph shared-query create -g MyResourceGroup -n MySharedQuery -q "project id, name, type, location, tags" -d "requesting a subset of resource fields." --tags key=value +""" + + +helps['graph shared-query delete'] = """ + type: command + short-summary: Delete a shared query. +""" + + +helps['graph shared-query show'] = """ + type: command + short-summary: Show the properties of a shared query. +""" + + +helps['graph shared-query list'] = """ + type: command + short-summary: List all shared query in a resource group. + examples: + - name: List all shared query in a resource group. + text: > + az graph shared-query list -g MyResourceGroup +""" diff --git a/src/resource-graph/azext_resourcegraph/_params.py b/src/resource-graph/azext_resourcegraph/_params.py index a6ed02858a9..0ea403ad000 100644 --- a/src/resource-graph/azext_resourcegraph/_params.py +++ b/src/resource-graph/azext_resourcegraph/_params.py @@ -7,6 +7,7 @@ from azure.cli.core.commands.parameters import get_generic_completion_list +from azure.cli.core.commands.parameters import tags_type from azext_resourcegraph.resource_graph_enums import IncludeOptionsEnum @@ -37,3 +38,11 @@ def load_arguments(self, _): help='List of subscriptions to run query against. By default all accessible subscriptions are queried.') c.argument('include', options_list=['--include'], required=False, help='Indicates if result should be extended with subscription and tenants names. Possible values: none, displayNames') + + with self.argument_context('graph shared-query') as c: + c.argument('graph_query', options_list=['--graph-query', '--q', '-q'], + completer=get_generic_completion_list(_QUERY_EXAMPLES), help='Resource Graph query to execute.') + c.argument('resource_name', options_list=['--name', '-n'], help='Name of the graph shared query.') + c.argument('tags', tags_type) + c.argument('description', options_list=['-d', '--description'], help='Description of the graph shared query.') + c.ignore('location') diff --git a/src/resource-graph/azext_resourcegraph/azext_metadata.json b/src/resource-graph/azext_resourcegraph/azext_metadata.json index 2e71844159f..9edfac98459 100644 --- a/src/resource-graph/azext_resourcegraph/azext_metadata.json +++ b/src/resource-graph/azext_resourcegraph/azext_metadata.json @@ -1,4 +1,4 @@ { - "azext.minCliCoreVersion": "2.0.45", - "azext.isPreview": false + "azext.minCliCoreVersion": "2.3.1", + "azext.isPreview": true } diff --git a/src/resource-graph/azext_resourcegraph/commands.py b/src/resource-graph/azext_resourcegraph/commands.py index 7bc35c7770a..b9dfc4e8ae2 100644 --- a/src/resource-graph/azext_resourcegraph/commands.py +++ b/src/resource-graph/azext_resourcegraph/commands.py @@ -4,16 +4,22 @@ # -------------------------------------------------------------------------------------------- from azure.cli.core.commands import CliCommandType -from ._client_factory import cf_resource_graph +from ._client_factory import cf_resource_graph, cf_resource_graph_graph_query from ._validators import validate_query_args def load_command_table(self, _): - graph_sdk = CliCommandType( - operations_tmpl='azext_resourcegraph.custom#{}', - client_factory=cf_resource_graph + graph_shared_query_sdk = CliCommandType( + operations_tmpl='azext_resourcegraph.vendored_sdks.resourcegraph.operations#GraphQueryOperations.{}', + client_factory=cf_resource_graph_graph_query ) - with self.command_group('graph', command_type=graph_sdk, client_factory=cf_resource_graph) as g: + with self.command_group('graph', client_factory=cf_resource_graph) as g: g.custom_command('query', 'execute_query', validator=validate_query_args) + + with self.command_group('graph shared-query', graph_shared_query_sdk, is_experimental=True) as g: + g.custom_command('create', 'create_shared_query') + g.command('list', 'list') + g.command('delete', 'delete') + g.show_command('show', 'get') diff --git a/src/resource-graph/azext_resourcegraph/custom.py b/src/resource-graph/azext_resourcegraph/custom.py index 8cde8341ffb..f7ccc1c959b 100644 --- a/src/resource-graph/azext_resourcegraph/custom.py +++ b/src/resource-graph/azext_resourcegraph/custom.py @@ -87,6 +87,19 @@ def execute_query(client, graph_query, first, skip, subscriptions, include): return results +def create_shared_query(client, resource_group_name, + resource_name, description, + graph_query, location='global', tags=None): + from azext_resourcegraph.vendored_sdks.resourcegraph.models import GraphQueryResource + graph_shared_query = GraphQueryResource(description=description, + query=graph_query, + tags=tags, + location=location) + return client.graph_query.create_or_update(resource_group_name=resource_group_name, + resource_name=resource_name, + properties=graph_shared_query) + + def _get_cached_subscriptions(): # type: () -> list[str] @@ -95,14 +108,14 @@ def _get_cached_subscriptions(): def _get_cached_detailed_subscriptions(): - # type: () -> List[Tuple[Any, Any]] + # type: () -> list[tuple[any, any]] cached_subs = Profile().load_cached_subscriptions() return [(sub['id'], sub["name"]) for sub in cached_subs] def _get_cached_detailed_tenant(): - # type: () -> List[Tuple[Any, Any]] + # type: () -> list[tuple[any, any]] token = Profile().get_raw_token() bearer_token = token[0][0] + " " + token[0][1] diff --git a/src/resource-graph/azext_resourcegraph/tests/latest/recordings/test_shared_query_scenario.yaml b/src/resource-graph/azext_resourcegraph/tests/latest/recordings/test_shared_query_scenario.yaml new file mode 100644 index 00000000000..dabd2aa6bd7 --- /dev/null +++ b/src/resource-graph/azext_resourcegraph/tests/latest/recordings/test_shared_query_scenario.yaml @@ -0,0 +1,276 @@ +interactions: +- request: + body: '{"tags": {"a": "b"}, "properties": {"description": "AzureCliTest", "query": + "project id, name, type, location, tags"}, "location": "global"}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - graph shared-query create + Connection: + - keep-alive + Content-Length: + - '140' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -g -n -q -d --tags + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-resourcegraph/2.1.0 + Azure-SDK-For-Python AZURECLI/2.2.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.ResourceGraph/queries/clitest000002?api-version=2018-09-01-preview + response: + body: + string: '{"properties":{"resultKind":"UnKnown","timeModified":"2020-03-23T07:07:46.8114309Z","query":"project + id, name, type, location, tags","description":"AzureCliTest"},"type":"microsoft.resourcegraph/queries","location":"global","subscriptionId":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","resourceGroup":"clitest.rg000001","name":"clitest000002","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.resourcegraph/queries/clitest000002","tags":{"a":"b"},"etag":"\"23006685-0000-1800-0000-5e7860420000\""}' + headers: + cache-control: + - no-cache + content-length: + - '684' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 23 Mar 2020 07:07:47 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-ms-ratelimit-remaining-tenant-resource-requests: + - '1' + x-ms-user-quota-remaining: + - '1' + x-ms-user-quota-resets-after: + - 00:00:00 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - graph shared-query show + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-resourcegraph/2.1.0 + Azure-SDK-For-Python AZURECLI/2.2.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.ResourceGraph/queries/clitest000002?api-version=2018-09-01-preview + response: + body: + string: '{"properties":{"resultKind":"UnKnown","timeModified":"2020-03-23T07:07:46.8114309Z","query":"project + id, name, type, location, tags","description":"AzureCliTest"},"type":"microsoft.resourcegraph/queries","location":"global","subscriptionId":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","resourceGroup":"clitest.rg000001","name":"clitest000002","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.resourcegraph/queries/clitest000002","tags":{"a":"b"},"etag":"\"23006685-0000-1800-0000-5e7860420000\""}' + headers: + cache-control: + - no-cache + content-length: + - '684' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 23 Mar 2020 07:07:49 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-tenant-resource-requests: + - '1' + x-ms-user-quota-remaining: + - '1' + x-ms-user-quota-resets-after: + - 00:00:00 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - graph shared-query list + Connection: + - keep-alive + ParameterSetName: + - -g + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-resourcegraph/2.1.0 + Azure-SDK-For-Python AZURECLI/2.2.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.ResourceGraph/queries?api-version=2018-09-01-preview + response: + body: + string: '{"value":[{"properties":{"resultKind":"UnKnown","timeModified":"2020-03-23T07:07:46.8114309Z","query":"project + id, name, type, location, tags","description":"AzureCliTest"},"type":"microsoft.resourcegraph/queries","location":"global","subscriptionId":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","resourceGroup":"clitest.rg000001","name":"clitest000002","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.resourcegraph/queries/clitest000002","tags":{"a":"b"},"etag":"\"23006685-0000-1800-0000-5e7860420000\""}]}' + headers: + cache-control: + - no-cache + content-length: + - '696' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 23 Mar 2020 07:07:49 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-tenant-resource-requests: + - '1' + x-ms-user-quota-remaining: + - '1' + x-ms-user-quota-resets-after: + - 00:00:00 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - graph shared-query delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g -n + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-resourcegraph/2.1.0 + Azure-SDK-For-Python AZURECLI/2.2.0 + accept-language: + - en-US + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.ResourceGraph/queries/clitest000002?api-version=2018-09-01-preview + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Mon, 23 Mar 2020 07:07:57 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + x-ms-ratelimit-remaining-tenant-resource-requests: + - '1' + x-ms-user-quota-remaining: + - '1' + x-ms-user-quota-resets-after: + - 00:00:00 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - graph shared-query show + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-resourcegraph/2.1.0 + Azure-SDK-For-Python AZURECLI/2.2.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.ResourceGraph/queries/clitest000002?api-version=2018-09-01-preview + response: + body: + string: '{"error":{"code":"ResourceNotFound","message":"The Resource ''Microsoft.ResourceGraph/queries/clitest000002'' + under resource group ''clitest.rg000001'' was not found."}}' + headers: + cache-control: + - no-cache + content-length: + - '231' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 23 Mar 2020 07:07:58 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-failure-cause: + - gateway + status: + code: 404 + message: Not Found +version: 1 diff --git a/src/resource-graph/azext_resourcegraph/tests/latest/test_resourcegraph_commands.py b/src/resource-graph/azext_resourcegraph/tests/latest/test_resourcegraph_commands.py index 38a61755aec..5631ef7722a 100644 --- a/src/resource-graph/azext_resourcegraph/tests/latest/test_resourcegraph_commands.py +++ b/src/resource-graph/azext_resourcegraph/tests/latest/test_resourcegraph_commands.py @@ -4,7 +4,7 @@ # -------------------------------------------------------------------------------------------- # pylint: disable=line-too-long -from azure.cli.testsdk import ScenarioTest +from azure.cli.testsdk import ScenarioTest, ResourceGroupPreparer from azure_devtools.scenario_tests.const import MOCKED_SUBSCRIPTION_ID from knack.util import CLIError from six import string_types @@ -85,3 +85,35 @@ def test_query_error(self): self.assertTrue(len(error_response['error']['details'][0]['code']) > 0) self.assertTrue(len(error_response['error']['details'][0]['message']) > 0) self.assertTrue(len(error_response['error']['details'][1]['additionalProperties']) == 4) + + @ResourceGroupPreparer(location='eastus') + def test_shared_query_scenario(self, resource_group): + self.kwargs.update({ + 'name': self.create_random_name('clitest', 20), + 'query': "project id, name, type, location, tags", + 'description': "AzureCliTest", + 'rg': resource_group + }) + + self.cmd('graph shared-query create -g {rg} -n {name} -q "{query}" -d {description} --tags a=b', checks=[ + self.check('location', 'global'), + self.check('name', '{name}'), + self.check('description', '{description}'), + self.check('query', '{query}') + ]) + + self.cmd('graph shared-query show -g {rg} -n {name}', checks=[ + self.check('location', 'global'), + self.check('name', '{name}'), + self.check('description', '{description}'), + self.check('query', '{query}') + ]) + + self.cmd('graph shared-query list -g {rg}', checks=[ + self.check('length(@)', 1) + ]) + + self.cmd('graph shared-query delete -g {rg} -n {name}') + + with self.assertRaises(SystemExit): + self.cmd('graph shared-query show -g {rg} -n {name}') diff --git a/src/resource-graph/azext_resourcegraph/vendored_sdks/resourcegraph/_configuration.py b/src/resource-graph/azext_resourcegraph/vendored_sdks/resourcegraph/_configuration.py index a8199ec13d9..6886698291f 100644 --- a/src/resource-graph/azext_resourcegraph/vendored_sdks/resourcegraph/_configuration.py +++ b/src/resource-graph/azext_resourcegraph/vendored_sdks/resourcegraph/_configuration.py @@ -21,14 +21,18 @@ class ResourceGraphClientConfiguration(AzureConfiguration): :param credentials: Credentials needed for the client to connect to Azure. :type credentials: :mod:`A msrestazure Credentials object` + :param subscription_id: The Azure subscription Id. + :type subscription_id: str :param str base_url: Service URL """ def __init__( - self, credentials, base_url=None): + self, credentials, subscription_id, base_url=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 base_url: base_url = 'https://management.azure.com' @@ -41,3 +45,4 @@ def __init__( self.add_user_agent('Azure-SDK-For-Python') self.credentials = credentials + self.subscription_id = subscription_id diff --git a/src/resource-graph/azext_resourcegraph/vendored_sdks/resourcegraph/_resource_graph_client.py b/src/resource-graph/azext_resourcegraph/vendored_sdks/resourcegraph/_resource_graph_client.py index 7a3564f517b..c281154e968 100644 --- a/src/resource-graph/azext_resourcegraph/vendored_sdks/resourcegraph/_resource_graph_client.py +++ b/src/resource-graph/azext_resourcegraph/vendored_sdks/resourcegraph/_resource_graph_client.py @@ -15,34 +15,40 @@ from ._configuration import ResourceGraphClientConfiguration from .operations import ResourceGraphClientOperationsMixin from .operations import Operations +from .operations import GraphQueryOperations from . import models class ResourceGraphClient(ResourceGraphClientOperationsMixin, SDKClient): - """Azure Resource Graph API Reference + """ResourceGraphClient :ivar config: Configuration for client. :vartype config: ResourceGraphClientConfiguration :ivar operations: Operations operations :vartype operations: azure.mgmt.resourcegraph.operations.Operations + :ivar graph_query: GraphQuery operations + :vartype graph_query: azure.mgmt.resourcegraph.operations.GraphQueryOperations :param credentials: Credentials needed for the client to connect to Azure. :type credentials: :mod:`A msrestazure Credentials object` + :param subscription_id: The Azure subscription Id. + :type subscription_id: str :param str base_url: Service URL """ def __init__( - self, credentials, base_url=None): + self, credentials, subscription_id, base_url=None): - self.config = ResourceGraphClientConfiguration(credentials, base_url) + self.config = ResourceGraphClientConfiguration(credentials, subscription_id, base_url) super(ResourceGraphClient, self).__init__(self.config.credentials, self.config) client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} - self.api_version = '2019-04-01' self._serialize = Serializer(client_models) self._deserialize = Deserializer(client_models) self.operations = Operations( self._client, self.config, self._serialize, self._deserialize) + self.graph_query = GraphQueryOperations( + self._client, self.config, self._serialize, self._deserialize) diff --git a/src/resource-graph/azext_resourcegraph/vendored_sdks/resourcegraph/models/__init__.py b/src/resource-graph/azext_resourcegraph/vendored_sdks/resourcegraph/models/__init__.py index 80be262d3f2..24d5a1e66f2 100644 --- a/src/resource-graph/azext_resourcegraph/vendored_sdks/resourcegraph/models/__init__.py +++ b/src/resource-graph/azext_resourcegraph/vendored_sdks/resourcegraph/models/__init__.py @@ -13,61 +13,80 @@ from ._models_py3 import Column from ._models_py3 import Error from ._models_py3 import ErrorDetails + from ._models_py3 import ErrorFieldContract from ._models_py3 import ErrorResponse, ErrorResponseException from ._models_py3 import Facet from ._models_py3 import FacetError from ._models_py3 import FacetRequest from ._models_py3 import FacetRequestOptions from ._models_py3 import FacetResult + from ._models_py3 import GraphQueryError, GraphQueryErrorException + from ._models_py3 import GraphQueryResource + from ._models_py3 import GraphQueryUpdateParameters from ._models_py3 import Operation from ._models_py3 import OperationDisplay from ._models_py3 import QueryRequest from ._models_py3 import QueryRequestOptions from ._models_py3 import QueryResponse + from ._models_py3 import Resource from ._models_py3 import Table except (SyntaxError, ImportError): from ._models import Column from ._models import Error from ._models import ErrorDetails + from ._models import ErrorFieldContract from ._models import ErrorResponse, ErrorResponseException from ._models import Facet from ._models import FacetError from ._models import FacetRequest from ._models import FacetRequestOptions from ._models import FacetResult + from ._models import GraphQueryError, GraphQueryErrorException + from ._models import GraphQueryResource + from ._models import GraphQueryUpdateParameters from ._models import Operation from ._models import OperationDisplay from ._models import QueryRequest from ._models import QueryRequestOptions from ._models import QueryResponse + from ._models import Resource from ._models import Table +from ._paged_models import GraphQueryResourcePaged from ._paged_models import OperationPaged from ._resource_graph_client_enums import ( ResultFormat, FacetSortOrder, ResultTruncated, ColumnDataType, + ResultKind, ) __all__ = [ 'Column', 'Error', 'ErrorDetails', + 'ErrorFieldContract', 'ErrorResponse', 'ErrorResponseException', 'Facet', 'FacetError', 'FacetRequest', 'FacetRequestOptions', 'FacetResult', + 'GraphQueryError', 'GraphQueryErrorException', + 'GraphQueryResource', + 'GraphQueryUpdateParameters', 'Operation', 'OperationDisplay', 'QueryRequest', 'QueryRequestOptions', 'QueryResponse', + 'Resource', 'Table', 'OperationPaged', + 'GraphQueryResourcePaged', 'ResultFormat', 'FacetSortOrder', 'ResultTruncated', 'ColumnDataType', + 'ResultKind', ] diff --git a/src/resource-graph/azext_resourcegraph/vendored_sdks/resourcegraph/models/_models.py b/src/resource-graph/azext_resourcegraph/vendored_sdks/resourcegraph/models/_models.py index 4189d18fb28..ba8c9792795 100644 --- a/src/resource-graph/azext_resourcegraph/vendored_sdks/resourcegraph/models/_models.py +++ b/src/resource-graph/azext_resourcegraph/vendored_sdks/resourcegraph/models/_models.py @@ -114,6 +114,30 @@ def __init__(self, **kwargs): self.message = kwargs.get('message', None) +class ErrorFieldContract(Model): + """Error Field contract. + + :param code: Property level error code. + :type code: str + :param message: Human-readable representation of property-level error. + :type message: str + :param target: Property name. + :type target: str + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ErrorFieldContract, self).__init__(**kwargs) + self.code = kwargs.get('code', None) + self.message = kwargs.get('message', None) + self.target = kwargs.get('target', None) + + class ErrorResponse(Model): """Error response. @@ -325,6 +349,186 @@ def __init__(self, **kwargs): self.result_type = 'FacetResult' +class GraphQueryError(Model): + """Error message body that will indicate why the operation failed. + + :param code: Service-defined error code. This code serves as a sub-status + for the HTTP error code specified in the response. + :type code: str + :param message: Human-readable representation of the error. + :type message: str + :param details: The list of invalid fields send in request, in case of + validation error. + :type details: list[~azure.mgmt.resourcegraph.models.ErrorFieldContract] + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[ErrorFieldContract]'}, + } + + def __init__(self, **kwargs): + super(GraphQueryError, self).__init__(**kwargs) + self.code = kwargs.get('code', None) + self.message = kwargs.get('message', None) + self.details = kwargs.get('details', None) + + +class GraphQueryErrorException(HttpOperationError): + """Server responsed with exception of type: 'GraphQueryError'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(GraphQueryErrorException, self).__init__(deserialize, response, 'GraphQueryError', *args) + + +class Resource(Model): + """An azure resource object. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Azure resource Id + :vartype id: str + :ivar name: Azure resource name. This is GUID value. The display name + should be assigned within properties field. + :vartype name: str + :ivar type: Azure resource type + :vartype type: str + :param e_tag: This will be used to handle Optimistic Concurrency. If not + present, it will always overwrite the existing resource without checking + conflict. + :type e_tag: str + :param tags: Resource tags + :type tags: dict[str, str] + :param location: Azure resource location + :type location: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'e_tag': {'key': 'eTag', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'location': {'key': 'location', 'type': 'str'} + } + + def __init__(self, **kwargs): + super(Resource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.e_tag = kwargs.get('e_tag', None) + self.tags = kwargs.get('tags', None) + self.location = kwargs.get('location', None) + + +class GraphQueryResource(Resource): + """Graph Query entity definition. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Azure resource Id + :vartype id: str + :ivar name: Azure resource name. This is GUID value. The display name + should be assigned within properties field. + :vartype name: str + :ivar type: Azure resource type + :vartype type: str + :param e_tag: This will be used to handle Optimistic Concurrency. If not + present, it will always overwrite the existing resource without checking + conflict. + :type e_tag: str + :param tags: Resource tags + :type tags: dict[str, str] + :ivar time_modified: Date and time in UTC of the last modification that + was made to this graph query definition. + :vartype time_modified: datetime + :param description: The description of a graph query. + :type description: str + :param query: Required. KQL query that will be graph. + :type query: str + :ivar result_kind: Enum indicating a type of graph query. Possible values + include: 'basic' + :vartype result_kind: str or ~azure.mgmt.resourcegraph.models.ResultKind + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'time_modified': {'readonly': True}, + 'query': {'required': True}, + 'result_kind': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'e_tag': {'key': 'eTag', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'time_modified': {'key': 'properties.timeModified', 'type': 'iso-8601'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'query': {'key': 'properties.query', 'type': 'str'}, + 'result_kind': {'key': 'properties.resultKind', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'} + } + + def __init__(self, **kwargs): + super(GraphQueryResource, self).__init__(**kwargs) + self.time_modified = None + self.description = kwargs.get('description', None) + self.query = kwargs.get('query', None) + self.result_kind = None + + +class GraphQueryUpdateParameters(Model): + """The parameters that can be provided when updating workbook properties + properties. + + :param tags: Resource tags + :type tags: dict[str, str] + :param e_tag: This will be used to handle Optimistic Concurrency. If not + present, it will always overwrite the existing resource without checking + conflict. + :type e_tag: str + :param description: The description of a graph query. + :type description: str + :param query: KQL query that will be graph. + :type query: str + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + 'e_tag': {'key': 'eTag', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'query': {'key': 'properties.query', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(GraphQueryUpdateParameters, self).__init__(**kwargs) + self.tags = kwargs.get('tags', None) + self.e_tag = kwargs.get('e_tag', None) + self.description = kwargs.get('description', None) + self.query = kwargs.get('query', None) + + class Operation(Model): """Resource Graph REST API operation definition. diff --git a/src/resource-graph/azext_resourcegraph/vendored_sdks/resourcegraph/models/_models_py3.py b/src/resource-graph/azext_resourcegraph/vendored_sdks/resourcegraph/models/_models_py3.py index c63c9f66c1e..03af20a2949 100644 --- a/src/resource-graph/azext_resourcegraph/vendored_sdks/resourcegraph/models/_models_py3.py +++ b/src/resource-graph/azext_resourcegraph/vendored_sdks/resourcegraph/models/_models_py3.py @@ -114,6 +114,30 @@ def __init__(self, *, code: str, message: str, additional_properties=None, **kwa self.message = message +class ErrorFieldContract(Model): + """Error Field contract. + + :param code: Property level error code. + :type code: str + :param message: Human-readable representation of property-level error. + :type message: str + :param target: Property name. + :type target: str + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + } + + def __init__(self, *, code: str=None, message: str=None, target: str=None, **kwargs) -> None: + super(ErrorFieldContract, self).__init__(**kwargs) + self.code = code + self.message = message + self.target = target + + class ErrorResponse(Model): """Error response. @@ -325,6 +349,186 @@ def __init__(self, *, expression: str, total_records: int, count: int, data, **k self.result_type = 'FacetResult' +class GraphQueryError(Model): + """Error message body that will indicate why the operation failed. + + :param code: Service-defined error code. This code serves as a sub-status + for the HTTP error code specified in the response. + :type code: str + :param message: Human-readable representation of the error. + :type message: str + :param details: The list of invalid fields send in request, in case of + validation error. + :type details: list[~azure.mgmt.resourcegraph.models.ErrorFieldContract] + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[ErrorFieldContract]'}, + } + + def __init__(self, *, code: str=None, message: str=None, details=None, **kwargs) -> None: + super(GraphQueryError, self).__init__(**kwargs) + self.code = code + self.message = message + self.details = details + + +class GraphQueryErrorException(HttpOperationError): + """Server responsed with exception of type: 'GraphQueryError'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(GraphQueryErrorException, self).__init__(deserialize, response, 'GraphQueryError', *args) + + +class Resource(Model): + """An azure resource object. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Azure resource Id + :vartype id: str + :ivar name: Azure resource name. This is GUID value. The display name + should be assigned within properties field. + :vartype name: str + :ivar type: Azure resource type + :vartype type: str + :param e_tag: This will be used to handle Optimistic Concurrency. If not + present, it will always overwrite the existing resource without checking + conflict. + :type e_tag: str + :param tags: Resource tags + :type tags: dict[str, str] + :param location: Azure resource location + :type location: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'e_tag': {'key': 'eTag', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'location': {'key': 'location', 'type': 'str'} + } + + def __init__(self, *, e_tag: str=None, tags=None, location=None, **kwargs) -> None: + super(Resource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.e_tag = e_tag + self.tags = tags + self.location = location + + +class GraphQueryResource(Resource): + """Graph Query entity definition. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Azure resource Id + :vartype id: str + :ivar name: Azure resource name. This is GUID value. The display name + should be assigned within properties field. + :vartype name: str + :ivar type: Azure resource type + :vartype type: str + :param e_tag: This will be used to handle Optimistic Concurrency. If not + present, it will always overwrite the existing resource without checking + conflict. + :type e_tag: str + :param tags: Resource tags + :type tags: dict[str, str] + :ivar time_modified: Date and time in UTC of the last modification that + was made to this graph query definition. + :vartype time_modified: datetime + :param description: The description of a graph query. + :type description: str + :param query: Required. KQL query that will be graph. + :type query: str + :ivar result_kind: Enum indicating a type of graph query. Possible values + include: 'basic' + :vartype result_kind: str or ~azure.mgmt.resourcegraph.models.ResultKind + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'time_modified': {'readonly': True}, + 'query': {'required': True}, + 'result_kind': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'e_tag': {'key': 'eTag', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'time_modified': {'key': 'properties.timeModified', 'type': 'iso-8601'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'query': {'key': 'properties.query', 'type': 'str'}, + 'result_kind': {'key': 'properties.resultKind', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'} + } + + def __init__(self, *, query: str, e_tag: str=None, tags=None, description: str=None, location: str=None, **kwargs) -> None: + super(GraphQueryResource, self).__init__(e_tag=e_tag, tags=tags, location=location, **kwargs) + self.time_modified = None + self.description = description + self.query = query + self.result_kind = None + + +class GraphQueryUpdateParameters(Model): + """The parameters that can be provided when updating workbook properties + properties. + + :param tags: Resource tags + :type tags: dict[str, str] + :param e_tag: This will be used to handle Optimistic Concurrency. If not + present, it will always overwrite the existing resource without checking + conflict. + :type e_tag: str + :param description: The description of a graph query. + :type description: str + :param query: KQL query that will be graph. + :type query: str + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + 'e_tag': {'key': 'eTag', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'query': {'key': 'properties.query', 'type': 'str'}, + } + + def __init__(self, *, tags=None, e_tag: str=None, description: str=None, query: str=None, **kwargs) -> None: + super(GraphQueryUpdateParameters, self).__init__(**kwargs) + self.tags = tags + self.e_tag = e_tag + self.description = description + self.query = query + + class Operation(Model): """Resource Graph REST API operation definition. diff --git a/src/resource-graph/azext_resourcegraph/vendored_sdks/resourcegraph/models/_paged_models.py b/src/resource-graph/azext_resourcegraph/vendored_sdks/resourcegraph/models/_paged_models.py index ec7e9b01c05..8688c6475ae 100644 --- a/src/resource-graph/azext_resourcegraph/vendored_sdks/resourcegraph/models/_paged_models.py +++ b/src/resource-graph/azext_resourcegraph/vendored_sdks/resourcegraph/models/_paged_models.py @@ -25,3 +25,16 @@ class OperationPaged(Paged): def __init__(self, *args, **kwargs): super(OperationPaged, self).__init__(*args, **kwargs) +class GraphQueryResourcePaged(Paged): + """ + A paging container for iterating over a list of :class:`GraphQueryResource ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[GraphQueryResource]'} + } + + def __init__(self, *args, **kwargs): + + super(GraphQueryResourcePaged, self).__init__(*args, **kwargs) diff --git a/src/resource-graph/azext_resourcegraph/vendored_sdks/resourcegraph/models/_resource_graph_client_enums.py b/src/resource-graph/azext_resourcegraph/vendored_sdks/resourcegraph/models/_resource_graph_client_enums.py index 6a5c881e616..69245f52b48 100644 --- a/src/resource-graph/azext_resourcegraph/vendored_sdks/resourcegraph/models/_resource_graph_client_enums.py +++ b/src/resource-graph/azext_resourcegraph/vendored_sdks/resourcegraph/models/_resource_graph_client_enums.py @@ -37,3 +37,8 @@ class ColumnDataType(str, Enum): number = "number" boolean = "boolean" object_enum = "object" + + +class ResultKind(str, Enum): + + basic = "basic" diff --git a/src/resource-graph/azext_resourcegraph/vendored_sdks/resourcegraph/operations/__init__.py b/src/resource-graph/azext_resourcegraph/vendored_sdks/resourcegraph/operations/__init__.py index 735ffa98d0b..7d749e9bcf7 100644 --- a/src/resource-graph/azext_resourcegraph/vendored_sdks/resourcegraph/operations/__init__.py +++ b/src/resource-graph/azext_resourcegraph/vendored_sdks/resourcegraph/operations/__init__.py @@ -10,9 +10,11 @@ # -------------------------------------------------------------------------- from ._operations import Operations +from ._graph_query_operations import GraphQueryOperations from ._resource_graph_client_operations import ResourceGraphClientOperationsMixin __all__ = [ 'Operations', + 'GraphQueryOperations', 'ResourceGraphClientOperationsMixin', ] diff --git a/src/resource-graph/azext_resourcegraph/vendored_sdks/resourcegraph/operations/_graph_query_operations.py b/src/resource-graph/azext_resourcegraph/vendored_sdks/resourcegraph/operations/_graph_query_operations.py new file mode 100644 index 00000000000..5eb1c013351 --- /dev/null +++ b/src/resource-graph/azext_resourcegraph/vendored_sdks/resourcegraph/operations/_graph_query_operations.py @@ -0,0 +1,355 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse + +from .. import models + + +class GraphQueryOperations(object): + """GraphQueryOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client Api Version. Constant value: "2018-09-01-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-09-01-preview" + + self.config = config + + def list( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Get all graph queries defined within a specified subscription and + resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of GraphQueryResource + :rtype: + ~azure.mgmt.resourcegraph.models.GraphQueryResourcePaged[~azure.mgmt.resourcegraph.models.GraphQueryResource] + :raises: + :class:`GraphQueryErrorException` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.GraphQueryErrorException(self._deserialize, response) + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.GraphQueryResourcePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ResourceGraph/queries'} + + def get( + self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): + """Get a single graph query by its resourceName. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param resource_name: The name of the Graph Query resource. + :type resource_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: GraphQueryResource or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.resourcegraph.models.GraphQueryResource or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`GraphQueryErrorException` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.GraphQueryErrorException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('GraphQueryResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ResourceGraph/queries/{resourceName}'} + + def delete( + self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): + """Delete a graph query. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param resource_name: The name of the Graph Query resource. + :type resource_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`GraphQueryErrorException` + """ + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 204]: + raise models.GraphQueryErrorException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ResourceGraph/queries/{resourceName}'} + + def create_or_update( + self, resource_group_name, resource_name, properties, custom_headers=None, raw=False, **operation_config): + """Create a new graph query. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param resource_name: The name of the Graph Query resource. + :type resource_name: str + :param properties: Properties that need to be specified to create a + new graph query. + :type properties: ~azure.mgmt.resourcegraph.models.GraphQueryResource + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: GraphQueryResource or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.resourcegraph.models.GraphQueryResource or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`GraphQueryErrorException` + """ + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(properties, 'GraphQueryResource') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.GraphQueryErrorException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('GraphQueryResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ResourceGraph/queries/{resourceName}'} + + def update( + self, resource_group_name, resource_name, body, custom_headers=None, raw=False, **operation_config): + """Updates a graph query that has already been added. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param resource_name: The name of the Graph Query resource. + :type resource_name: str + :param body: Properties that need to be specified to create a new + graph query. + :type body: + ~azure.mgmt.resourcegraph.models.GraphQueryUpdateParameters + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: GraphQueryResource or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.resourcegraph.models.GraphQueryResource or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`GraphQueryErrorException` + """ + # Construct URL + url = self.update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(body, 'GraphQueryUpdateParameters') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.GraphQueryErrorException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('GraphQueryResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ResourceGraph/queries/{resourceName}'} diff --git a/src/resource-graph/azext_resourcegraph/vendored_sdks/resourcegraph/operations/_resource_graph_client_operations.py b/src/resource-graph/azext_resourcegraph/vendored_sdks/resourcegraph/operations/_resource_graph_client_operations.py index 0d4d795ebbd..5adf1e43bdf 100644 --- a/src/resource-graph/azext_resourcegraph/vendored_sdks/resourcegraph/operations/_resource_graph_client_operations.py +++ b/src/resource-graph/azext_resourcegraph/vendored_sdks/resourcegraph/operations/_resource_graph_client_operations.py @@ -35,12 +35,14 @@ def resources( :raises: :class:`ErrorResponseException` """ + api_version = "2019-04-01" + # Construct URL url = self.resources.metadata['url'] # Construct parameters query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') # Construct headers header_parameters = {} diff --git a/src/resource-graph/azext_resourcegraph/vendored_sdks/resourcegraph/version.py b/src/resource-graph/azext_resourcegraph/vendored_sdks/resourcegraph/version.py index 53c4c7ea05e..be75d8eae58 100644 --- a/src/resource-graph/azext_resourcegraph/vendored_sdks/resourcegraph/version.py +++ b/src/resource-graph/azext_resourcegraph/vendored_sdks/resourcegraph/version.py @@ -9,5 +9,5 @@ # regenerated. # -------------------------------------------------------------------------- -VERSION = "2.0.0" +VERSION = "2.1.0" diff --git a/src/resource-graph/setup.py b/src/resource-graph/setup.py index 1381c8cd53c..033bf0c40ee 100644 --- a/src/resource-graph/setup.py +++ b/src/resource-graph/setup.py @@ -8,15 +8,13 @@ from codecs import open from setuptools import setup, find_packages -VERSION = "1.0.0" +VERSION = "1.1.0" CLASSIFIERS = [ 'Development Status :: 4 - Beta', 'Intended Audience :: Developers', 'Intended Audience :: System Administrators', 'Programming Language :: Python', - 'Programming Language :: Python :: 2', - 'Programming Language :: Python :: 2.7', 'Programming Language :: Python :: 3', 'Programming Language :: Python :: 3.4', 'Programming Language :: Python :: 3.5', @@ -26,7 +24,7 @@ DEPENDENCIES = [] -with open('README.rst', 'r', encoding='utf-8') as f: +with open('README.md', 'r', encoding='utf-8') as f: README = f.read() with open('HISTORY.rst', 'r', encoding='utf-8') as f: HISTORY = f.read() diff --git a/src/spring-cloud/HISTORY.md b/src/spring-cloud/HISTORY.md new file mode 100644 index 00000000000..2bb9e6b8dc5 --- /dev/null +++ b/src/spring-cloud/HISTORY.md @@ -0,0 +1,47 @@ +Release History +=============== + +0.3.0 +----- +* Enable distributed tracing by default when creating the service +* Enable to update tags and distributed tracing settings by using "az spring-cloud update" + +0.2.6 +----- +* Fix required sku issue + +0.2.5 +----- +* Enable to specified sku when create or update service instance + +0.2.4 +----- +* Add command "az spring-cloud app identity" to support Managed Identity feature + +0.2.3 +----- +* Add command "az spring-cloud app custom-domain" and "az spring-cloud certificate" to support Custom Domain feature. + +0.2.2 +----- +* Remove the limitation of max compatible cli core version + +0.2.1 +----- +* Add command "az spring-cloud app logs" to replace "az spring-cloud app log tail" for log streaming. +* "az spring-cloud app log tail" will be deprecated in a future release +* Fix Python 3 and Python 2 compatible issues. + +0.2.0 +----- +* Support the log streaming feature. +* Add command for log streaming: az spring-cloud app log tail. + +0.1.1 +----- +* Improve the verbosity for the long running commands. +* Refine the descriptions and error messages for the command. + +0.1.0 +----- +* Initial release. diff --git a/src/spring-cloud/HISTORY.rst b/src/spring-cloud/HISTORY.rst deleted file mode 100644 index fb8dea2f498..00000000000 --- a/src/spring-cloud/HISTORY.rst +++ /dev/null @@ -1,28 +0,0 @@ -.. :changelog: - -Release History -=============== - -0.2.2 -++++++ -* Remove the limitation of max compatible cli core version - -0.2.1 -++++++ -* Add command "az spring-cloud app logs" to replace "az spring-cloud app log tail" for log streaming. -* "az spring-cloud app log tail" will be deprecated in a future release -* Fix Python 3 and Python 2 compatible issues. - -0.2.0 -++++++ -* Support the log streaming feature. -* Add command for log streaming: az spring-cloud app log tail. - -0.1.1 -++++++ -* Improve the verbosity for the long running commands. -* Refine the descriptions and error messages for the command. - -0.1.0 -++++++ -* Initial release. \ No newline at end of file diff --git a/src/spring-cloud/README.md b/src/spring-cloud/README.md new file mode 100644 index 00000000000..e1668577131 --- /dev/null +++ b/src/spring-cloud/README.md @@ -0,0 +1,21 @@ +Microsoft Azure CLI 'spring-cloud' Extension +========================================== + +This package is for the 'spring-cloud' extension. +i.e. 'az spring-cloud' + +### How to use ### +Install this extension using the below CLI command +``` +az extension add --name spring-cloud +``` + +### Sample Commands ### +Create a service and not wait +``` +az spring-cloud create -n --no-wait +``` +Create a green deployment with default configuration +``` +az spring-cloud app deployment create --app -n --jar-path +``` \ No newline at end of file diff --git a/src/spring-cloud/README.rst b/src/spring-cloud/README.rst deleted file mode 100644 index 0e0f83afb00..00000000000 --- a/src/spring-cloud/README.rst +++ /dev/null @@ -1,5 +0,0 @@ -Microsoft Azure CLI 'spring-cloud' Extension -========================================== - -This package is for the 'spring-cloud' extension. -i.e. 'az spring-cloud' \ No newline at end of file diff --git a/src/spring-cloud/azext_spring_cloud/_client_factory.py b/src/spring-cloud/azext_spring_cloud/_client_factory.py index fa531ebad22..77ce5e7669c 100644 --- a/src/spring-cloud/azext_spring_cloud/_client_factory.py +++ b/src/spring-cloud/azext_spring_cloud/_client_factory.py @@ -30,3 +30,11 @@ def cf_deployments(cli_ctx, *_): def cf_bindings(cli_ctx, *_): return cf_spring_cloud(cli_ctx).bindings + + +def cf_certificates(cli_ctx, *_): + return cf_spring_cloud(cli_ctx).certificates + + +def cf_custom_domains(cli_ctx, *_): + return cf_spring_cloud(cli_ctx).custom_domains diff --git a/src/spring-cloud/azext_spring_cloud/_help.py b/src/spring-cloud/azext_spring_cloud/_help.py index 73a6cb8123a..9788f65e831 100644 --- a/src/spring-cloud/azext_spring_cloud/_help.py +++ b/src/spring-cloud/azext_spring_cloud/_help.py @@ -17,6 +17,22 @@ examples: - name: Create a new Azure Spring Cloud in westus. text: az spring-cloud create -n MyService -g MyResourceGroup -l westus + - name: Create a new Azure Spring Cloud in westus with an existing Application Insights by using the instrumentation key. + text: az spring-cloud create -n MyService -g MyResourceGroup -l westus --app-insights-key MyInstrumentationKey + - name: Create a new Azure Spring Cloud with distributed tracing disabled. + text: az spring-cloud create -n MyService -g MyResourceGroup --disable-distributed-tracing +""" + +helps['spring-cloud update'] = """ + type: command + short-summary: Update an Azure Spring Cloud. + examples: + - name: Update pricing tier. + text: az spring-cloud update -n MyService --sku Standard -g MyResourceGroup + - name: Enable the distributed tracing of the existing Azure Spring Cloud. + text: az spring-cloud update -n MyService -g MyResourceGroup --disable-distributed-tracing false + - name: Update the tags of the existing Azure Spring Cloud. + text: az spring-cloud update -n MyService -g MyResourceGroup --tags key1=value1 key2=value2 """ helps['spring-cloud delete'] = """ @@ -147,6 +163,37 @@ short-summary: Show logs of an app instance, logs will be streamed when setting '-f/--follow'. """ +helps['spring-cloud app identity'] = """ + type: group + short-summary: Manage an app's managed service identity. +""" + +helps['spring-cloud app identity assign'] = """ + type: command + short-summary: Enable managed service identity on an app. + examples: + - name: Enable the system assigned identity. + text: az spring-cloud app identity assign -n MyApp -s MyCluster -g MyResourceGroup + - name: Enable the system assigned identity on an app with the 'Reader' role. + text: az spring-cloud app identity assign -n MyApp -s MyCluster -g MyResourceGroup --role Reader --scope /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/xxxxx/providers/Microsoft.KeyVault/vaults/xxxxx +""" + +helps['spring-cloud app identity remove'] = """ + type: command + short-summary: Remove managed service identity from an app. + examples: + - name: Remove the system assigned identity from an app. + text: az spring-cloud app identity remove -n MyApp -s MyCluster -g MyResourceGroup +""" + +helps['spring-cloud app identity show'] = """ + type: command + short-summary: Display app's managed identity info. + examples: + - name: Display an app's managed identity info. + text: az spring-cloud app identity show -n MyApp -s MyCluster -g MyResourceGroup +""" + helps['spring-cloud app set-deployment'] = """ type: command short-summary: Set production deployment of an app. @@ -316,3 +363,73 @@ type: command short-summary: Update an Azure Cache for Redis service binding of the app. """ + +helps['spring-cloud certificate'] = """ + type: group + short-summary: Commands to manage certificates. +""" + +helps['spring-cloud certificate add'] = """ + type: command + short-summary: Add a certificate in Azure Spring Cloud. + examples: + - name: Import certificate from key vault. + text: az spring-cloud certificate add --name MyCertName --vault-uri MyKeyVaultUri --vault-certificate-name MyKeyVaultCertName --service MyCluster --resource-group MyResourceGroup +""" + +helps['spring-cloud certificate show'] = """ + type: command + short-summary: Show a certificate in Azure Spring Cloud. +""" + +helps['spring-cloud certificate list'] = """ + type: command + short-summary: List all certificates in Azure Spring Cloud. + examples: + - name: List all certificates in spring cloud service. + text: az spring-cloud certificate list --service MyCluster --resource-group MyResourceGroup -o table +""" + +helps['spring-cloud certificate remove'] = """ + type: command + short-summary: Remove a certificate in Azure Spring Cloud. +""" + +helps['spring-cloud app custom-domain'] = """ + type: group + short-summary: Commands to manage custom domains. +""" + +helps['spring-cloud app custom-domain bind'] = """ + type: command + short-summary: Bind a custom domain with the app. + examples: + - name: Bind a custom domain to app. + text: az spring-cloud app custom-domain bind --domain-name MyDomainName --certificate MyCertName --app MyAppName --service MyCluster --resource-group MyResourceGroup +""" + +helps['spring-cloud app custom-domain show'] = """ + type: command + short-summary: Show details of a custom domain. +""" + +helps['spring-cloud app custom-domain list'] = """ + type: command + short-summary: List all custom domains of the app. + examples: + - name: List all custom domains of the app. + text: az spring-cloud app custom-domain list --app MyAppName --service MyCluster --resource-group MyResourceGroup -o table +""" + +helps['spring-cloud app custom-domain update'] = """ + type: command + short-summary: Update a custom domain of the app. + examples: + - name: Bind custom domain with a specified certificate. + text: az spring-cloud app custom-domain update --domain-name MyDomainName --certificate MCertName --app MyAppName --service MyCluster --resource-group MyResourceGroup +""" + +helps['spring-cloud app custom-domain unbind'] = """ + type: command + short-summary: Unbind a custom-domain of the app. +""" diff --git a/src/spring-cloud/azext_spring_cloud/_params.py b/src/spring-cloud/azext_spring_cloud/_params.py index 4fdbd766155..25102163b95 100644 --- a/src/spring-cloud/azext_spring_cloud/_params.py +++ b/src/spring-cloud/azext_spring_cloud/_params.py @@ -5,11 +5,11 @@ # pylint: disable=line-too-long from knack.arguments import CLIArgumentType -from azure.cli.core.commands.parameters import get_enum_type, get_three_state_flag +from azure.cli.core.commands.parameters import get_enum_type, get_three_state_flag, tags_type from azure.cli.core.commands.parameters import (name_type, get_location_type, resource_group_name_type) from ._validators import (validate_env, validate_cosmos_type, validate_resource_id, validate_location, - validate_name, validate_app_name, validate_deployment_name, validate_nodes_count, - validate_log_lines, validate_log_limit, validate_log_since) + validate_name, validate_app_name, validate_deployment_name, validate_log_lines, + validate_log_limit, validate_log_since, validate_sku) from ._utils import ApiType from .vendored_sdks.appplatform.models import RuntimeVersion, TestKeyType @@ -31,8 +31,22 @@ def load_arguments(self, _): '--name', '-n'], help='Name of Azure Spring Cloud.') with self.argument_context('spring-cloud create') as c: - c.argument('location', arg_type=get_location_type( - self.cli_ctx), validator=validate_location) + c.argument('location', arg_type=get_location_type(self.cli_ctx), validator=validate_location) + c.argument('sku', type=str, validator=validate_sku, help='Name of SKU, the value is "Basic" or "Standard"') + + with self.argument_context('spring-cloud update') as c: + c.argument('sku', type=str, validator=validate_sku, help='Name of SKU, the value is "Basic" or "Standard"') + + for scope in ['spring-cloud create', 'spring-cloud update']: + with self.argument_context(scope) as c: + c.argument('app_insights_key', + help="Instrumentation key of the existing Application Insights to be added for the distributed tracing") + c.argument('app_insights', + help="Name of the existing Application Insights in the same Resource Group. Or Resource ID of the existing Application Insights in a different Resource Group.") + c.argument('disable_distributed_tracing', + arg_type=get_three_state_flag(), + help="Disable distributed tracing, if not disabled and no existing Application Insights specified with --app-insights-key or --app-insights, will create a new Application Insights instance in the same resource group.") + c.argument('tags', arg_type=tags_type) with self.argument_context('spring-cloud test-endpoint renew-key') as c: c.argument('type', type=str, arg_type=get_enum_type( @@ -45,16 +59,22 @@ def load_arguments(self, _): with self.argument_context('spring-cloud app create') as c: c.argument( 'is_public', arg_type=get_three_state_flag(), help='If true, assign public domain', default=False) + c.argument('assign_identity', arg_type=get_three_state_flag(), + help='If true, assign managed service identity.') with self.argument_context('spring-cloud app update') as c: - c.argument('is_public', arg_type=get_three_state_flag(), - help='If true, assign public domain') + c.argument('is_public', arg_type=get_three_state_flag(), help='If true, assign endpoint') + c.argument('https_only', arg_type=get_three_state_flag(), help='If true, access app via https', default=False) for scope in ['spring-cloud app update', 'spring-cloud app start', 'spring-cloud app stop', 'spring-cloud app restart', 'spring-cloud app deploy', 'spring-cloud app scale', 'spring-cloud app set-deployment', 'spring-cloud app show-deploy-log']: with self.argument_context(scope) as c: c.argument('deployment', options_list=[ '--deployment', '-d'], help='Name of an existing deployment of the app. Default to the production deployment if not specified.', validator=validate_deployment_name) + with self.argument_context('spring-cloud app identity assign') as c: + c.argument('scope', help="The scope the managed identity has access to") + c.argument('role', help="Role name or id the managed identity will be assigned") + with self.argument_context('spring-cloud app logs') as c: c.argument('instance', options_list=['--instance', '-i'], help='Name of an existing instance of the deployment.') c.argument('lines', type=int, help='Number of lines to show. Maximum is 10000', validator=validate_log_lines) @@ -76,7 +96,7 @@ def load_arguments(self, _): for scope in ['spring-cloud app create', 'spring-cloud app update']: with self.argument_context(scope) as c: c.argument('enable_persistent_storage', arg_type=get_three_state_flag(), - help='If true, mount a 50G disk with default path.') + help='If true, mount a 50G (Standard Pricing tier) or 1G (Basic Pricing tier) disk with default path.') for scope in ['spring-cloud app update', 'spring-cloud app deployment create', 'spring-cloud app deploy', 'spring-cloud app create']: with self.argument_context(scope) as c: @@ -97,12 +117,9 @@ def load_arguments(self, _): for scope in ['spring-cloud app deploy', 'spring-cloud app scale']: with self.argument_context(scope) as c: - c.argument('cpu', type=int, - help='Number of virtual cpu cores per instance.', validator=validate_nodes_count) - c.argument('memory', type=int, - help='Number of GB of memory per instance.', validator=validate_nodes_count) - c.argument('instance_count', type=int, - help='Number of instance.', validator=validate_nodes_count) + c.argument('cpu', type=int, help='Number of virtual cpu cores per instance.') + c.argument('memory', type=int, help='Number of GB of memory per instance.') + c.argument('instance_count', type=int, help='Number of instance.') for scope in ['spring-cloud app deploy', 'spring-cloud app deployment create']: with self.argument_context(scope) as c: @@ -190,3 +207,22 @@ def load_arguments(self, _): validator=validate_app_name) c.argument('deployment', options_list=[ '--deployment', '-d'], help='Name of an existing deployment of the app. Default to the production deployment if not specified.', validator=validate_deployment_name) + + with self.argument_context('spring-cloud certificate') as c: + c.argument('service', service_name_type) + c.argument('name', name_type, help='Name of certificate.') + + with self.argument_context('spring-cloud certificate add') as c: + c.argument('vault_uri', help='The key vault uri where store the certificate') + c.argument('vault_certificate_name', help='The certificate name in key vault') + + with self.argument_context('spring-cloud app custom-domain') as c: + c.argument('service', service_name_type) + c.argument('app', app_name_type, help='Name of app.', validator=validate_app_name) + c.argument('domain_name', help='Name of custom domain.') + + with self.argument_context('spring-cloud app custom-domain bind') as c: + c.argument('certificate', type=str, help='Certificate name in Azure Spring Cloud.') + + with self.argument_context('spring-cloud app custom-domain update') as c: + c.argument('certificate', help='Certificate name in Azure Spring Cloud.') diff --git a/src/spring-cloud/azext_spring_cloud/_transformers.py b/src/spring-cloud/azext_spring_cloud/_transformers.py index ec40477ca4c..c9ac8bbfb7b 100644 --- a/src/spring-cloud/azext_spring_cloud/_transformers.py +++ b/src/spring-cloud/azext_spring_cloud/_transformers.py @@ -31,17 +31,20 @@ def transform_app_table_output(result): item['Public Url'] = item['properties']['url'] if 'activeDeployment' in item['properties']: - item['Status'] = item['properties']['activeDeployment']['properties']['status'] - item['Instance Count'] = item['properties']['activeDeployment']['properties']['deploymentSettings']['instanceCount'] - item['CPU'] = item['properties']['activeDeployment']['properties']['deploymentSettings']['cpu'] - item['Memory'] = item['properties']['activeDeployment']['properties']['deploymentSettings']['memoryInGb'] + isStarted = item['properties']['activeDeployment']['properties']['status'].upper() == "RUNNING" + instance_count = item['properties']['activeDeployment']['properties']['deploymentSettings']['instanceCount'] instances = item['properties']['activeDeployment']['properties']['instances'] if instances is None: instances = [] up_number = len( - [x for x in instances if x['discoveryStatus'] == 'UP']) - item['Discovery Status'] = "UP( {} ), DOWN( {} )".format( - up_number, len(instances) - up_number) + [x for x in instances if x['discoveryStatus'].upper() == 'UP' or x['discoveryStatus'].upper() == 'OUT_OF_SERVICE']) + running_number = len( + [x for x in instances if x['status'].upper() == "RUNNING"]) + item['Provisioning Status'] = item['properties']['activeDeployment']['properties']['provisioningState'] + item['CPU'] = item['properties']['activeDeployment']['properties']['deploymentSettings']['cpu'] + item['Memory'] = item['properties']['activeDeployment']['properties']['deploymentSettings']['memoryInGb'] + item['Running Instance'] = "{}/{}".format(running_number, instance_count) if isStarted else "Stopped" + item['Registered Instance'] = "{}/{}".format(up_number, instance_count) if isStarted else "Stopped" persistentStorage = item['properties']['persistentDisk'] item['Persistent Storage'] = "{}/{} Gb".format( @@ -57,16 +60,51 @@ def transform_spring_cloud_deployment_output(result): result = [result] for item in result: - item['App Name'] = item['properties']["appName"] - item['Status'] = item['properties']['status'] - item['Instance Count'] = item['properties']['deploymentSettings']['instanceCount'] - item['CPU'] = item['properties']['deploymentSettings']['cpu'] - item['Memory'] = item['properties']['deploymentSettings']['memoryInGb'] + isStarted = item['properties']['status'].upper() == "RUNNING" + instance_count = item['properties']['deploymentSettings']['instanceCount'] instances = item['properties']['instances'] if instances is None: instances = [] - up_number = len([x for x in instances if x['discoveryStatus'] == 'UP']) - item['Discovery Status'] = "UP( {} ), DOWN( {} )".format( - up_number, len(instances) - up_number) + up_number = len( + [x for x in instances if x['discoveryStatus'].upper() == 'UP' or x['discoveryStatus'].upper() == 'OUT_OF_SERVICE']) + running_number = len([x for x in instances if x['status'].upper() == "RUNNING"]) + item['App Name'] = item['properties']["appName"] + item['Provisioning Status'] = item['properties']['provisioningState'] + item['CPU'] = item['properties']['deploymentSettings']['cpu'] + item['Memory'] = item['properties']['deploymentSettings']['memoryInGb'] + item['Running Instance'] = "{}/{}".format(running_number, instance_count) if isStarted else "Stopped" + item['Registered Instance'] = "{}/{}".format(up_number, instance_count) if isStarted else "Stopped" + + return result if is_list else result[0] + + +def transform_spring_cloud_certificate_output(result): + is_list = isinstance(result, list) + + if not is_list: + result = [result] + + for item in result: + item['Certificate Name'] = item['properties']['keyVaultCertName'] + item['Thumbprint'] = item['properties']['thumbprint'] + item['Activate Date'] = item['properties']['activateDate'].split("T")[0] + item['Certificate Version'] = item['properties']['certVersion'] + item['DNS Names'] = item['properties']['dnsNames'] + item['Expiration Date'] = item['properties']['expirationDate'].split("T")[0] + item['Key Vault Uri'] = item['properties']['vaultUri'] + + return result if is_list else result[0] + + +def transform_spring_cloud_custom_domain_output(result): + is_list = isinstance(result, list) + + if not is_list: + result = [result] + + for item in result: + item['App Name'] = item['properties']["appName"] + item['Certificate Name'] = item['properties']['certName'] + item['Thumbprint'] = item['properties']['thumbprint'] return result if is_list else result[0] diff --git a/src/spring-cloud/azext_spring_cloud/_utils.py b/src/spring-cloud/azext_spring_cloud/_utils.py index 401bf775792..137aa0d55f4 100644 --- a/src/spring-cloud/azext_spring_cloud/_utils.py +++ b/src/spring-cloud/azext_spring_cloud/_utils.py @@ -193,3 +193,21 @@ def _get_rg_location(ctx, resource_group_name, subscription_id=None): # Just do the get, we don't need the result, it will error out if the group doesn't exist. rg = groups.get(resource_group_name) return rg.location + + +def _get_sku_name(tier): # pylint: disable=too-many-return-statements + tier = tier.upper() + if tier == 'BASIC': + return 'B0' + if tier == 'STANDARD': + return 'S0' + raise CLIError("Invalid sku(pricing tier), please refer to command help for valid values") + + +def _get_persistent_disk_size(tier): # pylint: disable=too-many-return-statements + tier = tier.upper() + if tier == 'BASIC': + return 1 + if tier == 'STANDARD': + return 50 + return 50 diff --git a/src/spring-cloud/azext_spring_cloud/_validators.py b/src/spring-cloud/azext_spring_cloud/_validators.py index e2650d5432a..ed2d9fd5ae1 100644 --- a/src/spring-cloud/azext_spring_cloud/_validators.py +++ b/src/spring-cloud/azext_spring_cloud/_validators.py @@ -31,6 +31,13 @@ def validate_location(namespace): for piece in location_slice]) +def validate_sku(namespace): + if namespace.sku is not None: + namespace.sku = namespace.sku.upper() + if namespace.sku not in ['BASIC', 'STANDARD']: + raise CLIError("The pricing tier only accepts value [Basic, Standard]") + + def validate_name(namespace): namespace.name = namespace.name.lower() matchObj = match(r'^[a-z][a-z0-9-]{2,30}[a-z0-9]$', namespace.name) @@ -86,19 +93,6 @@ def validate_cosmos_type(namespace): "Cosmosdb with type {} should specify collection name".format(type)) -def validate_nodes_count(namespace): - """Validate that cpu, memory and instance-count is set in a range""" - if namespace.cpu is not None: - if namespace.cpu < 1 or namespace.cpu > 4: - raise CLIError('--cpu must be in the range [1,4]') - if namespace.memory is not None: - if namespace.memory < 1 or namespace.memory > 8: - raise CLIError('--memory must be in the range [1,8]') - if namespace.instance_count is not None: - if namespace.instance_count < 1 or namespace.instance_count > 20: - raise CLIError('--instance-count must be in the range [1,20]') - - def validate_log_limit(namespace): temp_limit = None try: diff --git a/src/spring-cloud/azext_spring_cloud/commands.py b/src/spring-cloud/azext_spring_cloud/commands.py index c12e7b55564..42f893de0de 100644 --- a/src/spring-cloud/azext_spring_cloud/commands.py +++ b/src/spring-cloud/azext_spring_cloud/commands.py @@ -6,20 +6,20 @@ # pylint: disable=line-too-long from ._client_factory import (cf_app_services, cf_spring_cloud, cf_bindings) from ._transformers import (transform_spring_cloud_table_output, - transform_app_table_output, transform_spring_cloud_deployment_output) + transform_app_table_output, + transform_spring_cloud_deployment_output, + transform_spring_cloud_certificate_output, + transform_spring_cloud_custom_domain_output) # pylint: disable=too-many-statements def load_command_table(self, _): with self.command_group('spring-cloud', client_factory=cf_app_services) as g: - g.custom_command('create', 'spring_cloud_create', - supports_no_wait=True) - g.custom_command('delete', 'spring_cloud_delete', - supports_no_wait=True) - g.custom_command('list', 'spring_cloud_list', - table_transformer=transform_spring_cloud_table_output) - g.custom_show_command('show', 'spring_cloud_get', - table_transformer=transform_spring_cloud_table_output) + g.custom_command('create', 'spring_cloud_create', supports_no_wait=True) + g.custom_command('update', 'spring_cloud_update', supports_no_wait=True) + g.custom_command('delete', 'spring_cloud_delete', supports_no_wait=True) + g.custom_command('list', 'spring_cloud_list', table_transformer=transform_spring_cloud_table_output) + g.custom_show_command('show', 'spring_cloud_get', table_transformer=transform_spring_cloud_table_output) with self.command_group('spring-cloud test-endpoint', client_factory=cf_spring_cloud) as g: g.custom_command('enable ', 'enable_test_endpoint') @@ -58,6 +58,11 @@ def load_command_table(self, _): g.custom_command('restart', 'app_restart', supports_no_wait=True) g.custom_command('logs', 'app_tail_log') + with self.command_group('spring-cloud app identity', client_factory=cf_spring_cloud) as g: + g.custom_command('assign', 'app_identity_assign') + g.custom_command('remove', 'app_identity_remove') + g.custom_show_command('show', 'app_identity_show') + with self.command_group('spring-cloud app log', client_factory=cf_spring_cloud, deprecate_info=g.deprecate(redirect='az spring-cloud app logs', hide=True)) as g: g.custom_command('tail', 'app_tail_log') @@ -81,5 +86,18 @@ def load_command_table(self, _): g.custom_command('redis update', 'binding_redis_update') g.custom_show_command('remove', 'binding_remove') + with self.command_group('spring-cloud certificate', client_factory=cf_spring_cloud) as g: + g.custom_command('add', 'certificate_add') + g.custom_show_command('show', 'certificate_show', table_transformer=transform_spring_cloud_certificate_output) + g.custom_command('list', 'certificate_list', table_transformer=transform_spring_cloud_certificate_output) + g.custom_command('remove', 'certificate_remove') + + with self.command_group('spring-cloud app custom-domain', client_factory=cf_spring_cloud) as g: + g.custom_command('bind', 'domain_bind') + g.custom_show_command('show', 'domain_show', table_transformer=transform_spring_cloud_custom_domain_output) + g.custom_command('list', 'domain_list', table_transformer=transform_spring_cloud_custom_domain_output) + g.custom_command('update', 'domain_update') + g.custom_command('unbind', 'domain_unbind') + with self.command_group('spring-cloud', is_preview=True): pass diff --git a/src/spring-cloud/azext_spring_cloud/custom.py b/src/spring-cloud/azext_spring_cloud/custom.py index 02d5c195cbc..25d237a48ca 100644 --- a/src/spring-cloud/azext_spring_cloud/custom.py +++ b/src/spring-cloud/azext_spring_cloud/custom.py @@ -9,16 +9,20 @@ from time import sleep from ._stream_utils import stream_logs from msrestazure.azure_exceptions import CloudError -from msrestazure.tools import parse_resource_id -from ._utils import _get_upload_local_file +from msrestazure.tools import parse_resource_id, is_valid_resource_id +from ._utils import _get_upload_local_file, _get_persistent_disk_size from knack.util import CLIError from .vendored_sdks.appplatform import models from knack.log import get_logger from .azure_storage_file import FileService +from azure.cli.core.commands.client_factory import get_mgmt_service_client from azure.cli.core.util import sdk_no_wait +from azure.cli.core.profiles import ResourceType, get_sdk +from azure.mgmt.applicationinsights import ApplicationInsightsManagementClient from ast import literal_eval from azure.cli.core.commands import cached_put from ._utils import _get_rg_location +from ._utils import _get_sku_name from six.moves.urllib import parse from threading import Thread from threading import Timer @@ -37,19 +41,82 @@ LOG_RUNNING_PROMPT = "This command usually takes minutes to run. Add '--verbose' parameter if needed." -def spring_cloud_create(cmd, client, resource_group, name, location=None, no_wait=False): +def spring_cloud_create(cmd, client, resource_group, name, location=None, app_insights_key=None, app_insights=None, + disable_distributed_tracing=None, sku=None, tags=None, no_wait=False): rg_location = _get_rg_location(cmd.cli_ctx, resource_group) if location is None: location = rg_location - resource = models.ServiceResource(location=location) - return sdk_no_wait(no_wait, client.create_or_update, - resource_group_name=resource_group, service_name=name, resource=resource) + if sku is None: + sku = "Standard" + full_sku = models.Sku(name=_get_sku_name(sku), tier=sku) + + properties = models.ClusterResourceProperties() + + check_tracing_parameters(app_insights_key, app_insights, disable_distributed_tracing) + update_tracing_config(cmd, resource_group, name, location, properties, + app_insights_key, app_insights, disable_distributed_tracing) + + resource = models.ServiceResource(location=location, sku=full_sku, properties=properties, tags=tags) + return sdk_no_wait(no_wait, client.create_or_update, resource_group_name=resource_group, service_name=name, resource=resource) + + +def spring_cloud_update(cmd, client, resource_group, name, app_insights_key=None, app_insights=None, + disable_distributed_tracing=None, sku=None, tags=None, no_wait=False): + updated_resource = models.ServiceResource() + update_app_insights = False + update_service_tags = False + update_service_sku = False + + # update service sku + if sku is not None: + full_sku = models.Sku(name=_get_sku_name(sku), tier=sku) + updated_resource.sku = full_sku + update_service_sku = True + + resource = client.get(resource_group, name) + location = resource.location + resource_properties = resource.properties + updated_resource_properties = models.ClusterResourceProperties() + + check_tracing_parameters(app_insights_key, app_insights, disable_distributed_tracing) + app_insights_target_status = False + if app_insights is not None or app_insights_key is not None or disable_distributed_tracing is False: + app_insights_target_status = True + if resource_properties.trace.enabled is False: + update_app_insights = True + elif disable_distributed_tracing is True: + app_insights_target_status = False + if resource_properties.trace.enabled is True: + update_app_insights = True + + # update application insights + if update_app_insights is True: + if app_insights_target_status is False: + resource_properties.trace.enabled = app_insights_target_status + elif resource_properties.trace.app_insight_instrumentation_key is not None \ + and app_insights is None and app_insights_key is None: + resource_properties.trace.enabled = app_insights_target_status + else: + update_tracing_config(cmd, resource_group, name, location, resource_properties, app_insights_key, + app_insights, disable_distributed_tracing) + updated_resource_properties.trace = resource_properties.trace + + # update service tags + if tags is not None: + updated_resource.tags = tags + update_service_tags = True + + if update_app_insights is False and update_service_tags is False and update_service_sku is False: + return resource + + updated_resource.properties = updated_resource_properties + return sdk_no_wait(no_wait, client.update, + resource_group_name=resource_group, service_name=name, resource=updated_resource) def spring_cloud_delete(cmd, client, resource_group, name, no_wait=False): - return sdk_no_wait(no_wait, client.delete, - resource_group_name=resource_group, service_name=name) + return sdk_no_wait(no_wait, client.delete, resource_group_name=resource_group, service_name=name) def spring_cloud_list(cmd, client, resource_group=None): @@ -100,24 +167,27 @@ def app_create(cmd, client, resource_group, service, name, runtime_version=None, jvm_options=None, env=None, - enable_persistent_storage=None): + enable_persistent_storage=None, + assign_identity=None): apps = _get_all_apps(client, resource_group, service) if name in apps: raise CLIError("App '{}' already exists.".format(name)) logger.warning("[1/4] Creating app with name '{}'".format(name)) properties = models.AppResourceProperties() - if enable_persistent_storage: - properties.persistent_disk = models.PersistentDisk( - size_in_gb=50, mount_path="/persistent") - else: - properties.persistent_disk = models.PersistentDisk( - size_in_gb=0, mount_path="/persistent") - properties.temporary_disk = models.TemporaryDisk( size_in_gb=5, mount_path="/tmp") + resource = client.services.get(resource_group, service) + location = resource.location + + app_resource = models.AppResource() + app_resource.properties = properties + app_resource.location = location + if assign_identity is True: + app_resource.identity = models.ManagedIdentityProperties(type="systemassigned") + poller = client.apps.create_or_update( - resource_group, service, name, properties) + resource_group, service, name, app_resource) while poller.done() is False: sleep(APP_CREATE_OR_UPDATE_SLEEP_INTERVAL) @@ -144,7 +214,17 @@ def app_create(cmd, client, resource_group, service, name, properties = models.AppResourceProperties( active_deployment_name=DEFAULT_DEPLOYMENT_NAME, public=is_public) - app_poller = client.apps.update(resource_group, service, name, properties) + if enable_persistent_storage: + properties.persistent_disk = models.PersistentDisk( + size_in_gb=_get_persistent_disk_size(resource.sku.tier), mount_path="/persistent") + else: + properties.persistent_disk = models.PersistentDisk( + size_in_gb=0, mount_path="/persistent") + + app_resource.properties = properties + app_resource.location = location + + app_poller = client.apps.update(resource_group, service, name, app_resource) logger.warning( "[4/4] Updating app '{}' (this operation can take a while to complete)".format(name)) while not poller.done() or not app_poller.done(): @@ -164,17 +244,25 @@ def app_update(cmd, client, resource_group, service, name, runtime_version=None, jvm_options=None, env=None, - enable_persistent_storage=None): - properties = models.AppResourceProperties(public=is_public) + enable_persistent_storage=None, + https_only=None): + resource = client.services.get(resource_group, service) + location = resource.location + + properties = models.AppResourceProperties(public=is_public, https_only=https_only) if enable_persistent_storage is True: properties.persistent_disk = models.PersistentDisk( - size_in_gb=50, mount_path="/persistent") + size_in_gb=_get_persistent_disk_size(resource.sku.tier), mount_path="/persistent") if enable_persistent_storage is False: properties.persistent_disk = models.PersistentDisk(size_in_gb=0) + app_resource = models.AppResource() + app_resource.properties = properties + app_resource.location = location + logger.warning("[1/2] updating app '{}'".format(name)) poller = client.apps.update( - resource_group, service, name, properties) + resource_group, service, name, app_resource) while poller.done() is False: sleep(APP_CREATE_OR_UPDATE_SLEEP_INTERVAL) @@ -419,6 +507,68 @@ def app_tail_log(cmd, client, resource_group, service, name, instance=None, foll raise exceptions[0] +def app_identity_assign(cmd, client, resource_group, service, name, role=None, scope=None): + app_resource = models.AppResource() + identity = models.ManagedIdentityProperties(type="systemassigned") + properties = models.AppResourceProperties() + resource = client.services.get(resource_group, service) + location = resource.location + + app_resource.identity = identity + app_resource.properties = properties + app_resource.location = location + client.apps.update(resource_group, service, name, app_resource) + app = client.apps.get(resource_group, service, name) + if role: + principal_id = app.identity.principal_id + + from azure.cli.core.commands import arm as _arm + identity_role_id = _arm.resolve_role_id(cmd.cli_ctx, role, scope) + assignments_client = get_mgmt_service_client(cmd.cli_ctx, ResourceType.MGMT_AUTHORIZATION).role_assignments + RoleAssignmentCreateParameters = get_sdk(cmd.cli_ctx, ResourceType.MGMT_AUTHORIZATION, + 'RoleAssignmentCreateParameters', mod='models', + operation_group='role_assignments') + parameters = RoleAssignmentCreateParameters(role_definition_id=identity_role_id, principal_id=principal_id) + logger.info("Creating an assignment with a role '%s' on the scope of '%s'", identity_role_id, scope) + retry_times = 36 + assignment_name = _arm._gen_guid() + for l in range(0, retry_times): + try: + assignments_client.create(scope=scope, role_assignment_name=assignment_name, + parameters=parameters) + break + except CloudError as ex: + if 'role assignment already exists' in ex.message: + logger.info('Role assignment already exists') + break + elif l < retry_times and ' does not exist in the directory ' in ex.message: + sleep(APP_CREATE_OR_UPDATE_SLEEP_INTERVAL) + logger.warning('Retrying role assignment creation: %s/%s', l + 1, + retry_times) + continue + else: + raise + return app + + +def app_identity_remove(cmd, client, resource_group, service, name): + app_resource = models.AppResource() + identity = models.ManagedIdentityProperties(type="none") + properties = models.AppResourceProperties() + resource = client.services.get(resource_group, service) + location = resource.location + + app_resource.identity = identity + app_resource.properties = properties + app_resource.location = location + return client.apps.update(resource_group, service, name, app_resource) + + +def app_identity_show(cmd, client, resource_group, service, name): + app = client.apps.get(resource_group, service, name) + return app.identity + + def app_set_deployment(cmd, client, resource_group, service, name, deployment): deployments = _get_all_deployments(client, resource_group, service, name) active_deployment = client.apps.get( @@ -431,7 +581,15 @@ def app_set_deployment(cmd, client, resource_group, service, name, deployment): "' not found, please use 'az spring-cloud app deployment create' to create the new deployment") properties = models.AppResourceProperties( active_deployment_name=deployment) - return client.apps.update(resource_group, service, name, properties) + + resource = client.services.get(resource_group, service) + location = resource.location + + app_resource = models.AppResource() + app_resource.properties = properties + app_resource.location = location + + return client.apps.update(resource_group, service, name, app_resource) def deployment_create(cmd, client, resource_group, service, app, name, @@ -1077,3 +1235,142 @@ def stream(self, amt=2 ** 16, decode_content=None): response.release_conn() except CLIError as e: exceptions.append(e) + + +def certificate_add(cmd, client, resource_group, service, name, vault_uri, vault_certificate_name): + properties = models.CertificateProperties( + vault_uri=vault_uri, + key_vault_cert_name=vault_certificate_name + ) + return client.certificates.create_or_update(resource_group, service, name, properties) + + +def certificate_show(cmd, client, resource_group, service, name): + return client.certificates.get(resource_group, service, name) + + +def certificate_list(cmd, client, resource_group, service): + return client.certificates.list(resource_group, service) + + +def certificate_remove(cmd, client, resource_group, service, name): + client.certificates.get(resource_group, service, name) + return client.certificates.delete(resource_group, service, name) + + +def domain_bind(cmd, client, resource_group, service, app, + domain_name, + certificate=None): + properties = models.CustomDomainProperties() + if certificate is not None: + certificate_response = client.certificates.get(resource_group, service, certificate) + properties = models.CustomDomainProperties( + thumbprint=certificate_response.properties.thumbprint, + cert_name=certificate + ) + return client.custom_domains.create_or_update(resource_group, service, app, domain_name, properties) + + +def domain_show(cmd, client, resource_group, service, app, domain_name): + return client.custom_domains.get(resource_group, service, app, domain_name) + + +def domain_list(cmd, client, resource_group, service, app): + return client.custom_domains.list(resource_group, service, app) + + +def domain_update(cmd, client, resource_group, service, app, + domain_name, + certificate=None): + properties = models.CustomDomainProperties() + if certificate is not None: + certificate_response = client.certificates.get(resource_group, service, certificate) + properties = models.CustomDomainProperties( + thumbprint=certificate_response.properties.thumbprint, + cert_name=certificate + ) + return client.custom_domains.create_or_update(resource_group, service, app, domain_name, properties) + + +def domain_unbind(cmd, client, resource_group, service, app, domain_name): + client.custom_domains.get(resource_group, service, app, domain_name) + return client.custom_domains.delete(resource_group, service, app, domain_name) + + +def get_app_insights_key(cli_ctx, resource_group, name): + appinsights_client = get_mgmt_service_client(cli_ctx, ApplicationInsightsManagementClient) + appinsights = appinsights_client.components.get(resource_group, name) + if appinsights is None or appinsights.instrumentation_key is None: + raise CLIError("App Insights {} under resource group {} was not found.".format(name, resource_group)) + return appinsights.instrumentation_key + + +def check_tracing_parameters(app_insights_key, app_insights, disable_distributed_tracing): + if (app_insights is not None or app_insights_key is not None) and disable_distributed_tracing is True: + raise CLIError("Conflict detected: '--app-insights' or '--app-insights-key' can not be set with '--disable-distributed-tracing true'.") + if app_insights is not None and app_insights_key is not None: + raise CLIError("Conflict detected: '--app-insights' and '--app-insights-key' can not be set at the same time.") + + +def update_tracing_config(cmd, resource_group, service_name, location, resource_properties, app_insights_key, + app_insights, disable_distributed_tracing): + create_app_insights = False + + if app_insights_key is not None: + resource_properties.trace = models.TraceProperties( + enabled=True, app_insight_instrumentation_key=app_insights_key) + elif app_insights is not None: + if is_valid_resource_id(app_insights): + resource_id_dict = parse_resource_id(app_insights) + instrumentation_key = get_app_insights_key(cmd.cli_ctx, resource_id_dict['resource_group'], + resource_id_dict['resource_name']) + resource_properties.trace = models.TraceProperties( + enabled=True, app_insight_instrumentation_key=instrumentation_key) + else: + instrumentation_key = get_app_insights_key(cmd.cli_ctx, resource_group, app_insights) + resource_properties.trace = models.TraceProperties( + enabled=True, app_insight_instrumentation_key=instrumentation_key) + elif disable_distributed_tracing is not True: + create_app_insights = True + + if create_app_insights is True: + try: + instrumentation_key = try_create_application_insights(cmd, resource_group, service_name, location) + if instrumentation_key is not None: + resource_properties.trace = models.TraceProperties( + enabled=True, app_insight_instrumentation_key=instrumentation_key) + except Exception: # pylint: disable=broad-except + logger.warning( + 'Error while trying to create and configure an Application Insights for the Azure Spring Cloud. ' + 'Please use the Azure Portal to create and configure the Application Insights, if needed.') + + +def try_create_application_insights(cmd, resource_group, name, location): + creation_failed_warn = 'Unable to create the Application Insights for the Azure Spring Cloud. ' \ + 'Please use the Azure Portal to manually create and configure the Application Insights, ' \ + 'if needed.' + + ai_resource_group_name = resource_group + ai_name = name + ai_location = location + + app_insights_client = get_mgmt_service_client(cmd.cli_ctx, ApplicationInsightsManagementClient) + ai_properties = { + "name": ai_name, + "location": ai_location, + "kind": "web", + "properties": { + "Application_Type": "web" + } + } + appinsights = app_insights_client.components.create_or_update(ai_resource_group_name, ai_name, ai_properties) + if appinsights is None or appinsights.instrumentation_key is None: + logger.warning(creation_failed_warn) + return None + + # We make this success message as a warning to no interfere with regular JSON output in stdout + logger.warning('Application Insights \"%s\" was created for this Azure Spring Cloud. ' + 'You can visit https://portal.azure.com/#resource%s/overview to view your ' + 'Application Insights component', appinsights.name, appinsights.id) + + return appinsights.instrumentation_key diff --git a/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_bind_cert_to_domain.yaml b/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_bind_cert_to_domain.yaml new file mode 100644 index 00000000000..836cff0af32 --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_bind_cert_to_domain.yaml @@ -0,0 +1,728 @@ +interactions: +- request: + body: '{"properties": {"vaultUri": "https://integration-test-prod.vault.azure.net/", + "keyVaultCertName": "cli-unittest"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud certificate add + Connection: + - keep-alive + Content-Length: + - '114' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - --name --vault-uri --vault-certificate-name -g -s + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.3 + azure-mgmt-appplatform/0.1.0 Azure-SDK-For-Python AZURECLI/2.5.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/test-cert?api-version=2019-05-01-preview + response: + body: + string: '{"properties":{"thumbprint":"839dbe007ebc9aeb7150d58b1474dd955e684f18","vaultUri":"https://integration-test-prod.vault.azure.net/","keyVaultCertName":"cli-unittest","certVersion":"210525ac4b3d4a0d8431ab7e64cd11f8","issuer":"*.asc-test.net","expirationDate":"2021-05-08T04:54:02.000+0000","activateDate":"2020-05-08T04:44:02.000+0000","subjectName":"CN=*.asc-test.net","dnsNames":["cli.asc-test.net"]},"type":"Microsoft.AppPlatform/Spring/certificates","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/test-cert","name":"test-cert"}' + headers: + cache-control: + - no-cache + content-length: + - '624' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 08 May 2020 05:02:37 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + x-rp-server-mvid: + - afbe1e12-8584-4dc5-aa1e-547e4b04d8ae + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud certificate show + Connection: + - keep-alive + ParameterSetName: + - --name -g -s + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.3 + azure-mgmt-appplatform/0.1.0 Azure-SDK-For-Python AZURECLI/2.5.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/test-cert?api-version=2019-05-01-preview + response: + body: + string: '{"properties":{"thumbprint":"839dbe007ebc9aeb7150d58b1474dd955e684f18","vaultUri":"https://integration-test-prod.vault.azure.net/","keyVaultCertName":"cli-unittest","certVersion":"210525ac4b3d4a0d8431ab7e64cd11f8","issuer":"*.asc-test.net","expirationDate":"2021-05-08T04:54:02.000+0000","activateDate":"2020-05-08T04:44:02.000+0000","subjectName":"CN=*.asc-test.net","dnsNames":["cli.asc-test.net"]},"type":"Microsoft.AppPlatform/Spring/certificates","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/test-cert","name":"test-cert"}' + headers: + cache-control: + - no-cache + content-length: + - '624' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 08 May 2020 05:02:39 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - afbe1e12-8584-4dc5-aa1e-547e4b04d8ae + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud certificate list + Connection: + - keep-alive + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.3 + azure-mgmt-appplatform/0.1.0 Azure-SDK-For-Python AZURECLI/2.5.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates?api-version=2019-05-01-preview + response: + body: + string: '{"value":[{"properties":{"thumbprint":"839dbe007ebc9aeb7150d58b1474dd955e684f18","vaultUri":"https://integration-test-prod.vault.azure.net/","keyVaultCertName":"cli-unittest","certVersion":"210525ac4b3d4a0d8431ab7e64cd11f8","issuer":"*.asc-test.net","expirationDate":"2021-05-08T04:54:02.000+0000","activateDate":"2020-05-08T04:44:02.000+0000","subjectName":"CN=*.asc-test.net","dnsNames":["cli.asc-test.net"]},"type":"Microsoft.AppPlatform/Spring/certificates","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/test-cert","name":"test-cert"}]}' + headers: + cache-control: + - no-cache + content-length: + - '636' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 08 May 2020 05:02:41 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - afbe1e12-8584-4dc5-aa1e-547e4b04d8ae + status: + code: 200 + message: OK +- request: + body: '{"properties": {}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app custom-domain bind + Connection: + - keep-alive + Content-Length: + - '18' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - --domain-name --app -g -s + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.3 + azure-mgmt-appplatform/0.1.0 Azure-SDK-For-Python AZURECLI/2.5.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app/domains/cli.asc-test.net?api-version=2019-05-01-preview + response: + body: + string: '{"properties":{"appName":"test-app"},"type":"Microsoft.AppPlatform/Spring/apps/domains","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app/domains/cli.asc-test.net","name":"cli.asc-test.net"}' + headers: + cache-control: + - no-cache + content-length: + - '283' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 08 May 2020 05:02:43 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + x-rp-server-mvid: + - afbe1e12-8584-4dc5-aa1e-547e4b04d8ae + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app custom-domain show + Connection: + - keep-alive + ParameterSetName: + - --domain-name --app -g -s + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.3 + azure-mgmt-appplatform/0.1.0 Azure-SDK-For-Python AZURECLI/2.5.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app/domains/cli.asc-test.net?api-version=2019-05-01-preview + response: + body: + string: '{"properties":{"appName":"test-app"},"type":"Microsoft.AppPlatform/Spring/apps/domains","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app/domains/cli.asc-test.net","name":"cli.asc-test.net"}' + headers: + cache-control: + - no-cache + content-length: + - '283' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 08 May 2020 05:02:44 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - afbe1e12-8584-4dc5-aa1e-547e4b04d8ae + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app custom-domain list + Connection: + - keep-alive + ParameterSetName: + - --app -g -s + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.3 + azure-mgmt-appplatform/0.1.0 Azure-SDK-For-Python AZURECLI/2.5.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app/domains?api-version=2019-05-01-preview + response: + body: + string: '{"value":[{"properties":{"appName":"test-app"},"type":"Microsoft.AppPlatform/Spring/apps/domains","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app/domains/cli.asc-test.net","name":"cli.asc-test.net"}]}' + headers: + cache-control: + - no-cache + content-length: + - '295' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 08 May 2020 05:02:46 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - afbe1e12-8584-4dc5-aa1e-547e4b04d8ae + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app custom-domain update + Connection: + - keep-alive + ParameterSetName: + - --domain-name --certificate --app -g -s + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.3 + azure-mgmt-appplatform/0.1.0 Azure-SDK-For-Python AZURECLI/2.5.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/test-cert?api-version=2019-05-01-preview + response: + body: + string: '{"properties":{"thumbprint":"839dbe007ebc9aeb7150d58b1474dd955e684f18","vaultUri":"https://integration-test-prod.vault.azure.net/","keyVaultCertName":"cli-unittest","certVersion":"210525ac4b3d4a0d8431ab7e64cd11f8","issuer":"*.asc-test.net","expirationDate":"2021-05-08T04:54:02.000+0000","activateDate":"2020-05-08T04:44:02.000+0000","subjectName":"CN=*.asc-test.net","dnsNames":["cli.asc-test.net"]},"type":"Microsoft.AppPlatform/Spring/certificates","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/test-cert","name":"test-cert"}' + headers: + cache-control: + - no-cache + content-length: + - '624' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 08 May 2020 05:02:48 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - afbe1e12-8584-4dc5-aa1e-547e4b04d8ae + status: + code: 200 + message: OK +- request: + body: '{"properties": {"thumbprint": "839dbe007ebc9aeb7150d58b1474dd955e684f18", + "certName": "test-cert"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app custom-domain update + Connection: + - keep-alive + Content-Length: + - '99' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - --domain-name --certificate --app -g -s + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.3 + azure-mgmt-appplatform/0.1.0 Azure-SDK-For-Python AZURECLI/2.5.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app/domains/cli.asc-test.net?api-version=2019-05-01-preview + response: + body: + string: '{"properties":{"thumbprint":"839dbe007ebc9aeb7150d58b1474dd955e684f18","appName":"test-app","certName":"test-cert"},"type":"Microsoft.AppPlatform/Spring/apps/domains","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app/domains/cli.asc-test.net","name":"cli.asc-test.net"}' + headers: + cache-control: + - no-cache + content-length: + - '362' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 08 May 2020 05:02:49 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-rp-server-mvid: + - afbe1e12-8584-4dc5-aa1e-547e4b04d8ae + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app custom-domain unbind + Connection: + - keep-alive + ParameterSetName: + - --domain-name --app -g -s + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.3 + azure-mgmt-appplatform/0.1.0 Azure-SDK-For-Python AZURECLI/2.5.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app/domains/cli.asc-test.net?api-version=2019-05-01-preview + response: + body: + string: '{"properties":{"thumbprint":"839dbe007ebc9aeb7150d58b1474dd955e684f18","appName":"test-app","certName":"test-cert"},"type":"Microsoft.AppPlatform/Spring/apps/domains","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app/domains/cli.asc-test.net","name":"cli.asc-test.net"}' + headers: + cache-control: + - no-cache + content-length: + - '362' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 08 May 2020 05:02:50 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - afbe1e12-8584-4dc5-aa1e-547e4b04d8ae + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app custom-domain unbind + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --domain-name --app -g -s + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.3 + azure-mgmt-appplatform/0.1.0 Azure-SDK-For-Python AZURECLI/2.5.0 + accept-language: + - en-US + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app/domains/cli.asc-test.net?api-version=2019-05-01-preview + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Fri, 08 May 2020 05:02:50 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + x-rp-server-mvid: + - afbe1e12-8584-4dc5-aa1e-547e4b04d8ae + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app custom-domain show + Connection: + - keep-alive + ParameterSetName: + - --domain-name --app -g -s + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.3 + azure-mgmt-appplatform/0.1.0 Azure-SDK-For-Python AZURECLI/2.5.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app/domains/cli.asc-test.net?api-version=2019-05-01-preview + response: + body: + string: '{"error":{"code":"EntityNotFound","message":"CustomDomain with name + ''cli.asc-test.net'' not found","target":null,"details":null}}' + headers: + cache-control: + - no-cache + content-length: + - '128' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 08 May 2020 05:02:52 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - afbe1e12-8584-4dc5-aa1e-547e4b04d8ae + status: + code: 404 + message: Not Found +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud certificate remove + Connection: + - keep-alive + ParameterSetName: + - --name -g -s + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.3 + azure-mgmt-appplatform/0.1.0 Azure-SDK-For-Python AZURECLI/2.5.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/test-cert?api-version=2019-05-01-preview + response: + body: + string: '{"properties":{"thumbprint":"839dbe007ebc9aeb7150d58b1474dd955e684f18","vaultUri":"https://integration-test-prod.vault.azure.net/","keyVaultCertName":"cli-unittest","certVersion":"210525ac4b3d4a0d8431ab7e64cd11f8","issuer":"*.asc-test.net","expirationDate":"2021-05-08T04:54:02.000+0000","activateDate":"2020-05-08T04:44:02.000+0000","subjectName":"CN=*.asc-test.net","dnsNames":["cli.asc-test.net"]},"type":"Microsoft.AppPlatform/Spring/certificates","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/test-cert","name":"test-cert"}' + headers: + cache-control: + - no-cache + content-length: + - '624' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 08 May 2020 05:02:53 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - afbe1e12-8584-4dc5-aa1e-547e4b04d8ae + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud certificate remove + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --name -g -s + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.3 + azure-mgmt-appplatform/0.1.0 Azure-SDK-For-Python AZURECLI/2.5.0 + accept-language: + - en-US + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/test-cert?api-version=2019-05-01-preview + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Fri, 08 May 2020 05:02:53 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + x-rp-server-mvid: + - afbe1e12-8584-4dc5-aa1e-547e4b04d8ae + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud certificate show + Connection: + - keep-alive + ParameterSetName: + - --name -g -s + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.3 + azure-mgmt-appplatform/0.1.0 Azure-SDK-For-Python AZURECLI/2.5.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/test-cert?api-version=2019-05-01-preview + response: + body: + string: '{"error":{"code":"EntityNotFound","message":"CertificateName ''test-cert'' + not found","target":null,"details":null}}' + headers: + cache-control: + - no-cache + content-length: + - '114' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 08 May 2020 05:02:54 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - afbe1e12-8584-4dc5-aa1e-547e4b04d8ae + status: + code: 404 + message: Not Found +version: 1 diff --git a/src/spring-cloud/azext_spring_cloud/tests/latest/test_asc_scenario.py b/src/spring-cloud/azext_spring_cloud/tests/latest/test_asc_scenario.py index eb45ceb0a72..1a3ba0d6a89 100644 --- a/src/spring-cloud/azext_spring_cloud/tests/latest/test_asc_scenario.py +++ b/src/spring-cloud/azext_spring_cloud/tests/latest/test_asc_scenario.py @@ -6,8 +6,61 @@ import os import unittest +from knack.util import CLIError from azure_devtools.scenario_tests import AllowLargeResponse -from azure.cli.testsdk import (ScenarioTest, ResourceGroupPreparer) +from azure.cli.testsdk import (ScenarioTest, ResourceGroupPreparer, record_only) +# pylint: disable=line-too-long +# pylint: disable=too-many-lines TEST_DIR = os.path.abspath(os.path.join(os.path.abspath(__file__), '..')) + + +@record_only() +class CustomDomainTests(ScenarioTest): + + def test_bind_cert_to_domain(self): + self.kwargs.update({ + 'cert': 'test-cert', + 'keyVaultUri': 'https://integration-test-prod.vault.azure.net/', + 'KeyVaultCertName': 'cli-unittest', + 'domain': 'cli.asc-test.net', + 'app': 'test-app', + 'serviceName': 'cli-unittest', + 'rg': 'cli' + }) + + self.cmd('spring-cloud certificate add --name {cert} --vault-uri {keyVaultUri} --vault-certificate-name {KeyVaultCertName} -g {rg} -s {serviceName}', checks=[ + self.check('name', '{cert}') + ]) + + self.cmd('spring-cloud certificate show --name {cert} -g {rg} -s {serviceName}', checks=[ + self.check('name', '{cert}') + ]) + + result = self.cmd('spring-cloud certificate list -g {rg} -s {serviceName}').get_output_in_json() + self.assertTrue(len(result) > 0) + + self.cmd('spring-cloud app custom-domain bind --domain-name {domain} --app {app} -g {rg} -s {serviceName}', checks=[ + self.check('name', '{domain}') + ]) + + self.cmd('spring-cloud app custom-domain show --domain-name {domain} --app {app} -g {rg} -s {serviceName}', checks=[ + self.check('name', '{domain}'), + self.check('properties.appName', '{app}') + ]) + + result = self.cmd('spring-cloud app custom-domain list --app {app} -g {rg} -s {serviceName}').get_output_in_json() + self.assertTrue(len(result) > 0) + + self.cmd('spring-cloud app custom-domain update --domain-name {domain} --certificate {cert} --app {app} -g {rg} -s {serviceName}', checks=[ + self.check('name', '{domain}'), + self.check('properties.appName', '{app}'), + self.check('properties.certName', '{cert}') + ]) + + self.cmd('spring-cloud app custom-domain unbind --domain-name {domain} --app {app} -g {rg} -s {serviceName}') + self.cmd('spring-cloud app custom-domain show --domain-name {domain} --app {app} -g {rg} -s {serviceName}', expect_failure=True) + + self.cmd('spring-cloud certificate remove --name {cert} -g {rg} -s {serviceName}') + self.cmd('spring-cloud certificate show --name {cert} -g {rg} -s {serviceName}', expect_failure=True) diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/__init__.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/__init__.py index 7183870ee56..0260537a02b 100644 --- a/src/spring-cloud/azext_spring_cloud/vendored_sdks/__init__.py +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/__init__.py @@ -1,6 +1 @@ -# -------------------------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# -------------------------------------------------------------------------------------------- - __path__ = __import__('pkgutil').extend_path(__path__, __name__) \ No newline at end of file diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/_app_platform_management_client.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/_app_platform_management_client.py index 176133a5f29..4b2272208ce 100644 --- a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/_app_platform_management_client.py +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/_app_platform_management_client.py @@ -16,8 +16,11 @@ from .operations import ServicesOperations from .operations import AppsOperations from .operations import BindingsOperations +from .operations import CertificatesOperations +from .operations import CustomDomainsOperations from .operations import DeploymentsOperations from .operations import Operations +from .operations import SkuOperations from . import models @@ -33,10 +36,16 @@ class AppPlatformManagementClient(SDKClient): :vartype apps: azure.mgmt.appplatform.operations.AppsOperations :ivar bindings: Bindings operations :vartype bindings: azure.mgmt.appplatform.operations.BindingsOperations + :ivar certificates: Certificates operations + :vartype certificates: azure.mgmt.appplatform.operations.CertificatesOperations + :ivar custom_domains: CustomDomains operations + :vartype custom_domains: azure.mgmt.appplatform.operations.CustomDomainsOperations :ivar deployments: Deployments operations :vartype deployments: azure.mgmt.appplatform.operations.DeploymentsOperations :ivar operations: Operations operations :vartype operations: azure.mgmt.appplatform.operations.Operations + :ivar sku: Sku operations + :vartype sku: azure.mgmt.appplatform.operations.SkuOperations :param credentials: Credentials needed for the client to connect to Azure. :type credentials: :mod:`A msrestazure Credentials @@ -65,7 +74,13 @@ def __init__( self._client, self.config, self._serialize, self._deserialize) self.bindings = BindingsOperations( self._client, self.config, self._serialize, self._deserialize) + self.certificates = CertificatesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.custom_domains = CustomDomainsOperations( + self._client, self.config, self._serialize, self._deserialize) self.deployments = DeploymentsOperations( self._client, self.config, self._serialize, self._deserialize) self.operations = Operations( self._client, self.config, self._serialize, self._deserialize) + self.sku = SkuOperations( + self._client, self.config, self._serialize, self._deserialize) diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/models/__init__.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/models/__init__.py index 1bee2b65593..d48ec1b4c2b 100644 --- a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/models/__init__.py +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/models/__init__.py @@ -14,10 +14,16 @@ from ._models_py3 import AppResourceProperties from ._models_py3 import BindingResource from ._models_py3 import BindingResourceProperties + from ._models_py3 import CertificateProperties + from ._models_py3 import CertificateResource from ._models_py3 import ClusterResourceProperties from ._models_py3 import ConfigServerGitProperty from ._models_py3 import ConfigServerProperties from ._models_py3 import ConfigServerSettings + from ._models_py3 import CustomDomainProperties + from ._models_py3 import CustomDomainResource + from ._models_py3 import CustomDomainValidatePayload + from ._models_py3 import CustomDomainValidateResult from ._models_py3 import DeploymentInstance from ._models_py3 import DeploymentResource from ._models_py3 import DeploymentResourceProperties @@ -26,6 +32,7 @@ from ._models_py3 import GitPatternRepository from ._models_py3 import LogFileUrlResponse from ._models_py3 import LogSpecification + from ._models_py3 import ManagedIdentityProperties from ._models_py3 import MetricDimension from ._models_py3 import MetricSpecification from ._models_py3 import NameAvailability @@ -37,9 +44,17 @@ from ._models_py3 import ProxyResource from ._models_py3 import RegenerateTestKeyRequestPayload from ._models_py3 import Resource + from ._models_py3 import ResourceSku + from ._models_py3 import ResourceSkuCapabilities + from ._models_py3 import ResourceSkuLocationInfo + from ._models_py3 import ResourceSkuRestrictionInfo + from ._models_py3 import ResourceSkuRestrictions + from ._models_py3 import ResourceSkuZoneDetails from ._models_py3 import ResourceUploadDefinition from ._models_py3 import ServiceResource from ._models_py3 import ServiceSpecification + from ._models_py3 import Sku + from ._models_py3 import SkuCapacity from ._models_py3 import TemporaryDisk from ._models_py3 import TestKeys from ._models_py3 import TraceProperties @@ -50,10 +65,16 @@ from ._models import AppResourceProperties from ._models import BindingResource from ._models import BindingResourceProperties + from ._models import CertificateProperties + from ._models import CertificateResource from ._models import ClusterResourceProperties from ._models import ConfigServerGitProperty from ._models import ConfigServerProperties from ._models import ConfigServerSettings + from ._models import CustomDomainProperties + from ._models import CustomDomainResource + from ._models import CustomDomainValidatePayload + from ._models import CustomDomainValidateResult from ._models import DeploymentInstance from ._models import DeploymentResource from ._models import DeploymentResourceProperties @@ -62,6 +83,7 @@ from ._models import GitPatternRepository from ._models import LogFileUrlResponse from ._models import LogSpecification + from ._models import ManagedIdentityProperties from ._models import MetricDimension from ._models import MetricSpecification from ._models import NameAvailability @@ -73,9 +95,17 @@ from ._models import ProxyResource from ._models import RegenerateTestKeyRequestPayload from ._models import Resource + from ._models import ResourceSku + from ._models import ResourceSkuCapabilities + from ._models import ResourceSkuLocationInfo + from ._models import ResourceSkuRestrictionInfo + from ._models import ResourceSkuRestrictions + from ._models import ResourceSkuZoneDetails from ._models import ResourceUploadDefinition from ._models import ServiceResource from ._models import ServiceSpecification + from ._models import Sku + from ._models import SkuCapacity from ._models import TemporaryDisk from ._models import TestKeys from ._models import TraceProperties @@ -83,19 +113,26 @@ from ._models import UserSourceInfo from ._paged_models import AppResourcePaged from ._paged_models import BindingResourcePaged +from ._paged_models import CertificateResourcePaged +from ._paged_models import CustomDomainResourcePaged from ._paged_models import DeploymentResourcePaged from ._paged_models import OperationDetailPaged +from ._paged_models import ResourceSkuPaged from ._paged_models import ServiceResourcePaged from ._app_platform_management_client_enums import ( ProvisioningState, ConfigServerState, TraceProxyState, + ManagedIdentityType, TestKeyType, AppResourceProvisioningState, UserSourceType, - DeploymentResourceProvisioningState, RuntimeVersion, + DeploymentResourceProvisioningState, DeploymentResourceStatus, + SkuScaleType, + ResourceSkuRestrictionsType, + ResourceSkuRestrictionsReasonCode, ) __all__ = [ @@ -103,10 +140,16 @@ 'AppResourceProperties', 'BindingResource', 'BindingResourceProperties', + 'CertificateProperties', + 'CertificateResource', 'ClusterResourceProperties', 'ConfigServerGitProperty', 'ConfigServerProperties', 'ConfigServerSettings', + 'CustomDomainProperties', + 'CustomDomainResource', + 'CustomDomainValidatePayload', + 'CustomDomainValidateResult', 'DeploymentInstance', 'DeploymentResource', 'DeploymentResourceProperties', @@ -115,6 +158,7 @@ 'GitPatternRepository', 'LogFileUrlResponse', 'LogSpecification', + 'ManagedIdentityProperties', 'MetricDimension', 'MetricSpecification', 'NameAvailability', @@ -126,9 +170,17 @@ 'ProxyResource', 'RegenerateTestKeyRequestPayload', 'Resource', + 'ResourceSku', + 'ResourceSkuCapabilities', + 'ResourceSkuLocationInfo', + 'ResourceSkuRestrictionInfo', + 'ResourceSkuRestrictions', + 'ResourceSkuZoneDetails', 'ResourceUploadDefinition', 'ServiceResource', 'ServiceSpecification', + 'Sku', + 'SkuCapacity', 'TemporaryDisk', 'TestKeys', 'TraceProperties', @@ -137,15 +189,22 @@ 'ServiceResourcePaged', 'AppResourcePaged', 'BindingResourcePaged', + 'CertificateResourcePaged', + 'CustomDomainResourcePaged', 'DeploymentResourcePaged', 'OperationDetailPaged', + 'ResourceSkuPaged', 'ProvisioningState', 'ConfigServerState', 'TraceProxyState', + 'ManagedIdentityType', 'TestKeyType', 'AppResourceProvisioningState', 'UserSourceType', - 'DeploymentResourceProvisioningState', 'RuntimeVersion', + 'DeploymentResourceProvisioningState', 'DeploymentResourceStatus', + 'SkuScaleType', + 'ResourceSkuRestrictionsType', + 'ResourceSkuRestrictionsReasonCode', ] diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/models/_app_platform_management_client_enums.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/models/_app_platform_management_client_enums.py index d285514c52b..43b052634d0 100644 --- a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/models/_app_platform_management_client_enums.py +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/models/_app_platform_management_client_enums.py @@ -42,6 +42,14 @@ class TraceProxyState(str, Enum): updating = "Updating" +class ManagedIdentityType(str, Enum): + + none = "None" + system_assigned = "SystemAssigned" + user_assigned = "UserAssigned" + system_assigned_user_assigned = "SystemAssigned,UserAssigned" + + class TestKeyType(str, Enum): primary = "Primary" @@ -62,6 +70,12 @@ class UserSourceType(str, Enum): source = "Source" +class RuntimeVersion(str, Enum): + + java_8 = "Java_8" + java_11 = "Java_11" + + class DeploymentResourceProvisioningState(str, Enum): creating = "Creating" @@ -70,12 +84,6 @@ class DeploymentResourceProvisioningState(str, Enum): failed = "Failed" -class RuntimeVersion(str, Enum): - - java_8 = "Java_8" - java_11 = "Java_11" - - class DeploymentResourceStatus(str, Enum): unknown = "Unknown" @@ -85,3 +93,22 @@ class DeploymentResourceStatus(str, Enum): allocating = "Allocating" upgrading = "Upgrading" compiling = "Compiling" + + +class SkuScaleType(str, Enum): + + none = "None" + manual = "Manual" + automatic = "Automatic" + + +class ResourceSkuRestrictionsType(str, Enum): + + location = "Location" + zone = "Zone" + + +class ResourceSkuRestrictionsReasonCode(str, Enum): + + quota_id = "QuotaId" + not_available_for_subscription = "NotAvailableForSubscription" diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/models/_models.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/models/_models.py index 04edddf0bb8..b35beb03ae1 100644 --- a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/models/_models.py +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/models/_models.py @@ -91,6 +91,11 @@ class AppResource(ProxyResource): :vartype type: str :param properties: Properties of the App resource :type properties: ~azure.mgmt.appplatform.models.AppResourceProperties + :param identity: The Managed Identity type of the app resource + :type identity: ~azure.mgmt.appplatform.models.ManagedIdentityProperties + :param location: The GEO location of the application, always the same with + its parent resource + :type location: str """ _validation = { @@ -104,11 +109,15 @@ class AppResource(ProxyResource): 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'properties': {'key': 'properties', 'type': 'AppResourceProperties'}, + 'identity': {'key': 'identity', 'type': 'ManagedIdentityProperties'}, + 'location': {'key': 'location', 'type': 'str'}, } def __init__(self, **kwargs): super(AppResource, self).__init__(**kwargs) self.properties = kwargs.get('properties', None) + self.identity = kwargs.get('identity', None) + self.location = kwargs.get('location', None) class AppResourceProperties(Model): @@ -127,6 +136,10 @@ class AppResourceProperties(Model): ~azure.mgmt.appplatform.models.AppResourceProvisioningState :param active_deployment_name: Name of the active deployment of the App :type active_deployment_name: str + :param fqdn: Fully qualified dns Name. + :type fqdn: str + :param https_only: Indicate if only https is allowed. + :type https_only: bool :ivar created_time: Date time when the resource is created :vartype created_time: datetime :param temporary_disk: Temporary disk settings @@ -146,6 +159,8 @@ class AppResourceProperties(Model): 'url': {'key': 'url', 'type': 'str'}, 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, 'active_deployment_name': {'key': 'activeDeploymentName', 'type': 'str'}, + 'fqdn': {'key': 'fqdn', 'type': 'str'}, + 'https_only': {'key': 'httpsOnly', 'type': 'bool'}, 'created_time': {'key': 'createdTime', 'type': 'iso-8601'}, 'temporary_disk': {'key': 'temporaryDisk', 'type': 'TemporaryDisk'}, 'persistent_disk': {'key': 'persistentDisk', 'type': 'PersistentDisk'}, @@ -157,6 +172,8 @@ def __init__(self, **kwargs): self.url = None self.provisioning_state = None self.active_deployment_name = kwargs.get('active_deployment_name', None) + self.fqdn = kwargs.get('fqdn', None) + self.https_only = kwargs.get('https_only', None) self.created_time = None self.temporary_disk = kwargs.get('temporary_disk', None) self.persistent_disk = kwargs.get('persistent_disk', None) @@ -251,6 +268,109 @@ def __init__(self, **kwargs): self.updated_at = None +class CertificateProperties(Model): + """Certificate resource payload. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar thumbprint: The thumbprint of certificate. + :vartype thumbprint: str + :param vault_uri: Required. The vault uri of user key vault. + :type vault_uri: str + :param key_vault_cert_name: Required. The certificate name of key vault. + :type key_vault_cert_name: str + :param cert_version: The certificate version of key vault. + :type cert_version: str + :ivar issuer: The issuer of certificate. + :vartype issuer: str + :ivar issued_date: The issue date of certificate. + :vartype issued_date: str + :ivar expiration_date: The expiration date of certificate. + :vartype expiration_date: str + :ivar activate_date: The activate date of certificate. + :vartype activate_date: str + :ivar subject_name: The subject name of certificate. + :vartype subject_name: str + :ivar dns_names: The domain list of certificate. + :vartype dns_names: list[str] + """ + + _validation = { + 'thumbprint': {'readonly': True}, + 'vault_uri': {'required': True}, + 'key_vault_cert_name': {'required': True}, + 'issuer': {'readonly': True}, + 'issued_date': {'readonly': True}, + 'expiration_date': {'readonly': True}, + 'activate_date': {'readonly': True}, + 'subject_name': {'readonly': True}, + 'dns_names': {'readonly': True}, + } + + _attribute_map = { + 'thumbprint': {'key': 'thumbprint', 'type': 'str'}, + 'vault_uri': {'key': 'vaultUri', 'type': 'str'}, + 'key_vault_cert_name': {'key': 'keyVaultCertName', 'type': 'str'}, + 'cert_version': {'key': 'certVersion', 'type': 'str'}, + 'issuer': {'key': 'issuer', 'type': 'str'}, + 'issued_date': {'key': 'issuedDate', 'type': 'str'}, + 'expiration_date': {'key': 'expirationDate', 'type': 'str'}, + 'activate_date': {'key': 'activateDate', 'type': 'str'}, + 'subject_name': {'key': 'subjectName', 'type': 'str'}, + 'dns_names': {'key': 'dnsNames', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(CertificateProperties, self).__init__(**kwargs) + self.thumbprint = None + self.vault_uri = kwargs.get('vault_uri', None) + self.key_vault_cert_name = kwargs.get('key_vault_cert_name', None) + self.cert_version = kwargs.get('cert_version', None) + self.issuer = None + self.issued_date = None + self.expiration_date = None + self.activate_date = None + self.subject_name = None + self.dns_names = None + + +class CertificateResource(ProxyResource): + """Certificate resource payload. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. + :vartype type: str + :param properties: Properties of the certificate resource payload. + :type properties: ~azure.mgmt.appplatform.models.CertificateProperties + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'CertificateProperties'}, + } + + def __init__(self, **kwargs): + super(CertificateResource, self).__init__(**kwargs) + self.properties = kwargs.get('properties', None) + + class CloudError(Model): """An error response from the service. @@ -464,6 +584,106 @@ def __init__(self, **kwargs): self.git_property = kwargs.get('git_property', None) +class CustomDomainProperties(Model): + """Custom domain of app resource payload. + + :param thumbprint: The thumbprint of bound certificate. + :type thumbprint: str + :param app_name: The app name of domain. + :type app_name: str + :param cert_name: The bound certificate name of domain. + :type cert_name: str + """ + + _attribute_map = { + 'thumbprint': {'key': 'thumbprint', 'type': 'str'}, + 'app_name': {'key': 'appName', 'type': 'str'}, + 'cert_name': {'key': 'certName', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(CustomDomainProperties, self).__init__(**kwargs) + self.thumbprint = kwargs.get('thumbprint', None) + self.app_name = kwargs.get('app_name', None) + self.cert_name = kwargs.get('cert_name', None) + + +class CustomDomainResource(ProxyResource): + """Custom domain resource payload. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. + :vartype type: str + :param properties: Properties of the custom domain resource. + :type properties: ~azure.mgmt.appplatform.models.CustomDomainProperties + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'CustomDomainProperties'}, + } + + def __init__(self, **kwargs): + super(CustomDomainResource, self).__init__(**kwargs) + self.properties = kwargs.get('properties', None) + + +class CustomDomainValidatePayload(Model): + """Custom domain validate payload. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. Name to be validated + :type name: str + """ + + _validation = { + 'name': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(CustomDomainValidatePayload, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + + +class CustomDomainValidateResult(Model): + """Validation result for custom domain. + + :param is_valid: Indicates if domain name is valid. + :type is_valid: bool + :param message: Message of why domain name is invalid. + :type message: str + """ + + _attribute_map = { + 'is_valid': {'key': 'isValid', 'type': 'bool'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(CustomDomainValidateResult, self).__init__(**kwargs) + self.is_valid = kwargs.get('is_valid', None) + self.message = kwargs.get('message', None) + + class DeploymentInstance(Model): """Deployment instance payload. @@ -547,13 +767,13 @@ class DeploymentResourceProperties(Model): :type source: ~azure.mgmt.appplatform.models.UserSourceInfo :ivar app_name: App name of the deployment :vartype app_name: str + :param deployment_settings: Deployment settings of the Deployment + :type deployment_settings: + ~azure.mgmt.appplatform.models.DeploymentSettings :ivar provisioning_state: Provisioning state of the Deployment. Possible values include: 'Creating', 'Updating', 'Succeeded', 'Failed' :vartype provisioning_state: str or ~azure.mgmt.appplatform.models.DeploymentResourceProvisioningState - :param deployment_settings: Deployment settings of the Deployment - :type deployment_settings: - ~azure.mgmt.appplatform.models.DeploymentSettings :ivar status: Status of the Deployment. Possible values include: 'Unknown', 'Stopped', 'Running', 'Failed', 'Allocating', 'Upgrading', 'Compiling' @@ -580,8 +800,8 @@ class DeploymentResourceProperties(Model): _attribute_map = { 'source': {'key': 'source', 'type': 'UserSourceInfo'}, 'app_name': {'key': 'appName', 'type': 'str'}, - 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, 'deployment_settings': {'key': 'deploymentSettings', 'type': 'DeploymentSettings'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, 'status': {'key': 'status', 'type': 'str'}, 'active': {'key': 'active', 'type': 'bool'}, 'created_time': {'key': 'createdTime', 'type': 'iso-8601'}, @@ -592,8 +812,8 @@ def __init__(self, **kwargs): super(DeploymentResourceProperties, self).__init__(**kwargs) self.source = kwargs.get('source', None) self.app_name = None - self.provisioning_state = None self.deployment_settings = kwargs.get('deployment_settings', None) + self.provisioning_state = None self.status = None self.active = None self.created_time = None @@ -603,13 +823,16 @@ def __init__(self, **kwargs): class DeploymentSettings(Model): """Deployment settings payload. - :param cpu: Required CPU. Default value: 1 . + :param cpu: Required CPU, basic tier should be 1, standard tier should be + in range (1, 4). Default value: 1 . :type cpu: int - :param memory_in_gb: Required Memory size in GB. Default value: 1 . + :param memory_in_gb: Required Memory size in GB, basic tier should be in + range (1, 2), standard tier should be in range (1, 8). Default value: 1 . :type memory_in_gb: int :param jvm_options: JVM parameter :type jvm_options: str - :param instance_count: Instance count. Default value: 1 . + :param instance_count: Instance count, basic tier should be in range (1, + 25), standard tier should be in range (1, 500). Default value: 1 . :type instance_count: int :param environment_variables: Collection of environment variables :type environment_variables: dict[str, str] @@ -619,12 +842,6 @@ class DeploymentSettings(Model): ~azure.mgmt.appplatform.models.RuntimeVersion """ - _validation = { - 'cpu': {'maximum': 4, 'minimum': 1}, - 'memory_in_gb': {'maximum': 8, 'minimum': 1}, - 'instance_count': {'maximum': 20, 'minimum': 1}, - } - _attribute_map = { 'cpu': {'key': 'cpu', 'type': 'int'}, 'memory_in_gb': {'key': 'memoryInGB', 'type': 'int'}, @@ -773,6 +990,31 @@ def __init__(self, **kwargs): self.blob_duration = kwargs.get('blob_duration', None) +class ManagedIdentityProperties(Model): + """Managed identity properties retrieved from ARM request headers. + + :param type: Possible values include: 'None', 'SystemAssigned', + 'UserAssigned', 'SystemAssigned,UserAssigned' + :type type: str or ~azure.mgmt.appplatform.models.ManagedIdentityType + :param principal_id: + :type principal_id: str + :param tenant_id: + :type tenant_id: str + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'principal_id': {'key': 'principalId', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ManagedIdentityProperties, self).__init__(**kwargs) + self.type = kwargs.get('type', None) + self.principal_id = kwargs.get('principal_id', None) + self.tenant_id = kwargs.get('tenant_id', None) + + class MetricDimension(Model): """Specifications of the Dimension of metrics. @@ -904,8 +1146,8 @@ class OperationDetail(Model): :param name: Name of the operation :type name: str - :param data_action: Indicates whether the operation is a data action - :type data_action: bool + :param is_data_action: Indicates whether the operation is a data action + :type is_data_action: bool :param display: Display of the operation :type display: ~azure.mgmt.appplatform.models.OperationDisplay :param origin: Origin of the operation @@ -916,7 +1158,7 @@ class OperationDetail(Model): _attribute_map = { 'name': {'key': 'name', 'type': 'str'}, - 'data_action': {'key': 'dataAction', 'type': 'bool'}, + 'is_data_action': {'key': 'isDataAction', 'type': 'bool'}, 'display': {'key': 'display', 'type': 'OperationDisplay'}, 'origin': {'key': 'origin', 'type': 'str'}, 'properties': {'key': 'properties', 'type': 'OperationProperties'}, @@ -925,7 +1167,7 @@ class OperationDetail(Model): def __init__(self, **kwargs): super(OperationDetail, self).__init__(**kwargs) self.name = kwargs.get('name', None) - self.data_action = kwargs.get('data_action', None) + self.is_data_action = kwargs.get('is_data_action', None) self.display = kwargs.get('display', None) self.origin = kwargs.get('origin', None) self.properties = kwargs.get('properties', None) @@ -1031,6 +1273,177 @@ def __init__(self, **kwargs): self.key_type = kwargs.get('key_type', None) +class ResourceSku(Model): + """Describes an available Azure Spring Cloud SKU. + + :param resource_type: Gets the type of resource the SKU applies to. + :type resource_type: str + :param name: Gets the name of SKU. + :type name: str + :param tier: Gets the tier of SKU. + :type tier: str + :param capacity: Gets the capacity of SKU. + :type capacity: ~azure.mgmt.appplatform.models.SkuCapacity + :param locations: Gets the set of locations that the SKU is available. + :type locations: list[str] + :param location_info: Gets a list of locations and availability zones in + those locations where the SKU is available. + :type location_info: + list[~azure.mgmt.appplatform.models.ResourceSkuLocationInfo] + :param restrictions: Gets the restrictions because of which SKU cannot be + used. This is + empty if there are no restrictions. + :type restrictions: + list[~azure.mgmt.appplatform.models.ResourceSkuRestrictions] + """ + + _attribute_map = { + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + 'capacity': {'key': 'capacity', 'type': 'SkuCapacity'}, + 'locations': {'key': 'locations', 'type': '[str]'}, + 'location_info': {'key': 'locationInfo', 'type': '[ResourceSkuLocationInfo]'}, + 'restrictions': {'key': 'restrictions', 'type': '[ResourceSkuRestrictions]'}, + } + + def __init__(self, **kwargs): + super(ResourceSku, self).__init__(**kwargs) + self.resource_type = kwargs.get('resource_type', None) + self.name = kwargs.get('name', None) + self.tier = kwargs.get('tier', None) + self.capacity = kwargs.get('capacity', None) + self.locations = kwargs.get('locations', None) + self.location_info = kwargs.get('location_info', None) + self.restrictions = kwargs.get('restrictions', None) + + +class ResourceSkuCapabilities(Model): + """ResourceSkuCapabilities. + + :param name: Gets an invariant to describe the feature. + :type name: str + :param value: Gets an invariant if the feature is measured by quantity. + :type value: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ResourceSkuCapabilities, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.value = kwargs.get('value', None) + + +class ResourceSkuLocationInfo(Model): + """ResourceSkuLocationInfo. + + :param location: Gets location of the SKU + :type location: str + :param zones: Gets list of availability zones where the SKU is supported. + :type zones: list[str] + :param zone_details: Gets details of capabilities available to a SKU in + specific zones. + :type zone_details: + list[~azure.mgmt.appplatform.models.ResourceSkuZoneDetails] + """ + + _attribute_map = { + 'location': {'key': 'location', 'type': 'str'}, + 'zones': {'key': 'zones', 'type': '[str]'}, + 'zone_details': {'key': 'zoneDetails', 'type': '[ResourceSkuZoneDetails]'}, + } + + def __init__(self, **kwargs): + super(ResourceSkuLocationInfo, self).__init__(**kwargs) + self.location = kwargs.get('location', None) + self.zones = kwargs.get('zones', None) + self.zone_details = kwargs.get('zone_details', None) + + +class ResourceSkuRestrictionInfo(Model): + """ResourceSkuRestrictionInfo. + + :param locations: Gets locations where the SKU is restricted + :type locations: list[str] + :param zones: Gets list of availability zones where the SKU is restricted. + :type zones: list[str] + """ + + _attribute_map = { + 'locations': {'key': 'locations', 'type': '[str]'}, + 'zones': {'key': 'zones', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(ResourceSkuRestrictionInfo, self).__init__(**kwargs) + self.locations = kwargs.get('locations', None) + self.zones = kwargs.get('zones', None) + + +class ResourceSkuRestrictions(Model): + """ResourceSkuRestrictions. + + :param type: Gets the type of restrictions. Possible values include: + 'Location', 'Zone' + :type type: str or + ~azure.mgmt.appplatform.models.ResourceSkuRestrictionsType + :param values: Gets the value of restrictions. If the restriction type is + set to + location. This would be different locations where the SKU is restricted. + :type values: list[str] + :param restriction_info: Gets the information about the restriction where + the SKU cannot be used. + :type restriction_info: + ~azure.mgmt.appplatform.models.ResourceSkuRestrictionInfo + :param reason_code: Gets the reason for restriction. Possible values + include: 'QuotaId', 'NotAvailableForSubscription' + :type reason_code: str or + ~azure.mgmt.appplatform.models.ResourceSkuRestrictionsReasonCode + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'values': {'key': 'values', 'type': '[str]'}, + 'restriction_info': {'key': 'restrictionInfo', 'type': 'ResourceSkuRestrictionInfo'}, + 'reason_code': {'key': 'reasonCode', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ResourceSkuRestrictions, self).__init__(**kwargs) + self.type = kwargs.get('type', None) + self.values = kwargs.get('values', None) + self.restriction_info = kwargs.get('restriction_info', None) + self.reason_code = kwargs.get('reason_code', None) + + +class ResourceSkuZoneDetails(Model): + """ResourceSkuZoneDetails. + + :param name: Gets the set of zones that the SKU is available in with the + specified capabilities. + :type name: list[str] + :param capabilities: Gets a list of capabilities that are available for + the SKU in the + specified list of zones. + :type capabilities: + list[~azure.mgmt.appplatform.models.ResourceSkuCapabilities] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': '[str]'}, + 'capabilities': {'key': 'capabilities', 'type': '[ResourceSkuCapabilities]'}, + } + + def __init__(self, **kwargs): + super(ResourceSkuZoneDetails, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.capabilities = kwargs.get('capabilities', None) + + class ResourceUploadDefinition(Model): """Resource upload definition payload. @@ -1109,6 +1522,8 @@ class ServiceResource(TrackedResource): :type tags: dict[str, str] :param properties: Properties of the Service resource :type properties: ~azure.mgmt.appplatform.models.ClusterResourceProperties + :param sku: Sku of the Service resource + :type sku: ~azure.mgmt.appplatform.models.Sku """ _validation = { @@ -1124,11 +1539,13 @@ class ServiceResource(TrackedResource): 'location': {'key': 'location', 'type': 'str'}, 'tags': {'key': 'tags', 'type': '{str}'}, 'properties': {'key': 'properties', 'type': 'ClusterResourceProperties'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, } def __init__(self, **kwargs): super(ServiceResource, self).__init__(**kwargs) self.properties = kwargs.get('properties', None) + self.sku = kwargs.get('sku', None) class ServiceSpecification(Model): @@ -1154,6 +1571,65 @@ def __init__(self, **kwargs): self.metric_specifications = kwargs.get('metric_specifications', None) +class Sku(Model): + """Sku of Azure Spring Cloud. + + :param name: Name of the Sku + :type name: str + :param tier: Tier of the Sku + :type tier: str + :param capacity: Current capacity of the target resource + :type capacity: int + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + 'capacity': {'key': 'capacity', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(Sku, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.tier = kwargs.get('tier', None) + self.capacity = kwargs.get('capacity', None) + + +class SkuCapacity(Model): + """The SKU capacity. + + All required parameters must be populated in order to send to Azure. + + :param minimum: Required. Gets or sets the minimum. + :type minimum: int + :param maximum: Gets or sets the maximum. + :type maximum: int + :param default: Gets or sets the default. + :type default: int + :param scale_type: Gets or sets the type of the scale. Possible values + include: 'None', 'Manual', 'Automatic' + :type scale_type: str or ~azure.mgmt.appplatform.models.SkuScaleType + """ + + _validation = { + 'minimum': {'required': True}, + } + + _attribute_map = { + 'minimum': {'key': 'minimum', 'type': 'int'}, + 'maximum': {'key': 'maximum', 'type': 'int'}, + 'default': {'key': 'default', 'type': 'int'}, + 'scale_type': {'key': 'scaleType', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SkuCapacity, self).__init__(**kwargs) + self.minimum = kwargs.get('minimum', None) + self.maximum = kwargs.get('maximum', None) + self.default = kwargs.get('default', None) + self.scale_type = kwargs.get('scale_type', None) + + class TemporaryDisk(Model): """Temporary disk payload. diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/models/_models_py3.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/models/_models_py3.py index 467dba09ed0..02ca3876fb3 100644 --- a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/models/_models_py3.py +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/models/_models_py3.py @@ -91,6 +91,11 @@ class AppResource(ProxyResource): :vartype type: str :param properties: Properties of the App resource :type properties: ~azure.mgmt.appplatform.models.AppResourceProperties + :param identity: The Managed Identity type of the app resource + :type identity: ~azure.mgmt.appplatform.models.ManagedIdentityProperties + :param location: The GEO location of the application, always the same with + its parent resource + :type location: str """ _validation = { @@ -104,11 +109,15 @@ class AppResource(ProxyResource): 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'properties': {'key': 'properties', 'type': 'AppResourceProperties'}, + 'identity': {'key': 'identity', 'type': 'ManagedIdentityProperties'}, + 'location': {'key': 'location', 'type': 'str'}, } - def __init__(self, *, properties=None, **kwargs) -> None: + def __init__(self, *, properties=None, identity=None, location: str=None, **kwargs) -> None: super(AppResource, self).__init__(**kwargs) self.properties = properties + self.identity = identity + self.location = location class AppResourceProperties(Model): @@ -127,6 +136,10 @@ class AppResourceProperties(Model): ~azure.mgmt.appplatform.models.AppResourceProvisioningState :param active_deployment_name: Name of the active deployment of the App :type active_deployment_name: str + :param fqdn: Fully qualified dns Name. + :type fqdn: str + :param https_only: Indicate if only https is allowed. + :type https_only: bool :ivar created_time: Date time when the resource is created :vartype created_time: datetime :param temporary_disk: Temporary disk settings @@ -146,17 +159,21 @@ class AppResourceProperties(Model): 'url': {'key': 'url', 'type': 'str'}, 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, 'active_deployment_name': {'key': 'activeDeploymentName', 'type': 'str'}, + 'fqdn': {'key': 'fqdn', 'type': 'str'}, + 'https_only': {'key': 'httpsOnly', 'type': 'bool'}, 'created_time': {'key': 'createdTime', 'type': 'iso-8601'}, 'temporary_disk': {'key': 'temporaryDisk', 'type': 'TemporaryDisk'}, 'persistent_disk': {'key': 'persistentDisk', 'type': 'PersistentDisk'}, } - def __init__(self, *, public: bool=None, active_deployment_name: str=None, temporary_disk=None, persistent_disk=None, **kwargs) -> None: + def __init__(self, *, public: bool=None, active_deployment_name: str=None, fqdn: str=None, https_only: bool=None, temporary_disk=None, persistent_disk=None, **kwargs) -> None: super(AppResourceProperties, self).__init__(**kwargs) self.public = public self.url = None self.provisioning_state = None self.active_deployment_name = active_deployment_name + self.fqdn = fqdn + self.https_only = https_only self.created_time = None self.temporary_disk = temporary_disk self.persistent_disk = persistent_disk @@ -251,6 +268,109 @@ def __init__(self, *, resource_name: str=None, resource_type: str=None, resource self.updated_at = None +class CertificateProperties(Model): + """Certificate resource payload. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar thumbprint: The thumbprint of certificate. + :vartype thumbprint: str + :param vault_uri: Required. The vault uri of user key vault. + :type vault_uri: str + :param key_vault_cert_name: Required. The certificate name of key vault. + :type key_vault_cert_name: str + :param cert_version: The certificate version of key vault. + :type cert_version: str + :ivar issuer: The issuer of certificate. + :vartype issuer: str + :ivar issued_date: The issue date of certificate. + :vartype issued_date: str + :ivar expiration_date: The expiration date of certificate. + :vartype expiration_date: str + :ivar activate_date: The activate date of certificate. + :vartype activate_date: str + :ivar subject_name: The subject name of certificate. + :vartype subject_name: str + :ivar dns_names: The domain list of certificate. + :vartype dns_names: list[str] + """ + + _validation = { + 'thumbprint': {'readonly': True}, + 'vault_uri': {'required': True}, + 'key_vault_cert_name': {'required': True}, + 'issuer': {'readonly': True}, + 'issued_date': {'readonly': True}, + 'expiration_date': {'readonly': True}, + 'activate_date': {'readonly': True}, + 'subject_name': {'readonly': True}, + 'dns_names': {'readonly': True}, + } + + _attribute_map = { + 'thumbprint': {'key': 'thumbprint', 'type': 'str'}, + 'vault_uri': {'key': 'vaultUri', 'type': 'str'}, + 'key_vault_cert_name': {'key': 'keyVaultCertName', 'type': 'str'}, + 'cert_version': {'key': 'certVersion', 'type': 'str'}, + 'issuer': {'key': 'issuer', 'type': 'str'}, + 'issued_date': {'key': 'issuedDate', 'type': 'str'}, + 'expiration_date': {'key': 'expirationDate', 'type': 'str'}, + 'activate_date': {'key': 'activateDate', 'type': 'str'}, + 'subject_name': {'key': 'subjectName', 'type': 'str'}, + 'dns_names': {'key': 'dnsNames', 'type': '[str]'}, + } + + def __init__(self, *, vault_uri: str, key_vault_cert_name: str, cert_version: str=None, **kwargs) -> None: + super(CertificateProperties, self).__init__(**kwargs) + self.thumbprint = None + self.vault_uri = vault_uri + self.key_vault_cert_name = key_vault_cert_name + self.cert_version = cert_version + self.issuer = None + self.issued_date = None + self.expiration_date = None + self.activate_date = None + self.subject_name = None + self.dns_names = None + + +class CertificateResource(ProxyResource): + """Certificate resource payload. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. + :vartype type: str + :param properties: Properties of the certificate resource payload. + :type properties: ~azure.mgmt.appplatform.models.CertificateProperties + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'CertificateProperties'}, + } + + def __init__(self, *, properties=None, **kwargs) -> None: + super(CertificateResource, self).__init__(**kwargs) + self.properties = properties + + class CloudError(Model): """An error response from the service. @@ -464,6 +584,106 @@ def __init__(self, *, git_property=None, **kwargs) -> None: self.git_property = git_property +class CustomDomainProperties(Model): + """Custom domain of app resource payload. + + :param thumbprint: The thumbprint of bound certificate. + :type thumbprint: str + :param app_name: The app name of domain. + :type app_name: str + :param cert_name: The bound certificate name of domain. + :type cert_name: str + """ + + _attribute_map = { + 'thumbprint': {'key': 'thumbprint', 'type': 'str'}, + 'app_name': {'key': 'appName', 'type': 'str'}, + 'cert_name': {'key': 'certName', 'type': 'str'}, + } + + def __init__(self, *, thumbprint: str=None, app_name: str=None, cert_name: str=None, **kwargs) -> None: + super(CustomDomainProperties, self).__init__(**kwargs) + self.thumbprint = thumbprint + self.app_name = app_name + self.cert_name = cert_name + + +class CustomDomainResource(ProxyResource): + """Custom domain resource payload. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. + :vartype type: str + :param properties: Properties of the custom domain resource. + :type properties: ~azure.mgmt.appplatform.models.CustomDomainProperties + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'CustomDomainProperties'}, + } + + def __init__(self, *, properties=None, **kwargs) -> None: + super(CustomDomainResource, self).__init__(**kwargs) + self.properties = properties + + +class CustomDomainValidatePayload(Model): + """Custom domain validate payload. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. Name to be validated + :type name: str + """ + + _validation = { + 'name': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, *, name: str, **kwargs) -> None: + super(CustomDomainValidatePayload, self).__init__(**kwargs) + self.name = name + + +class CustomDomainValidateResult(Model): + """Validation result for custom domain. + + :param is_valid: Indicates if domain name is valid. + :type is_valid: bool + :param message: Message of why domain name is invalid. + :type message: str + """ + + _attribute_map = { + 'is_valid': {'key': 'isValid', 'type': 'bool'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__(self, *, is_valid: bool=None, message: str=None, **kwargs) -> None: + super(CustomDomainValidateResult, self).__init__(**kwargs) + self.is_valid = is_valid + self.message = message + + class DeploymentInstance(Model): """Deployment instance payload. @@ -547,13 +767,13 @@ class DeploymentResourceProperties(Model): :type source: ~azure.mgmt.appplatform.models.UserSourceInfo :ivar app_name: App name of the deployment :vartype app_name: str + :param deployment_settings: Deployment settings of the Deployment + :type deployment_settings: + ~azure.mgmt.appplatform.models.DeploymentSettings :ivar provisioning_state: Provisioning state of the Deployment. Possible values include: 'Creating', 'Updating', 'Succeeded', 'Failed' :vartype provisioning_state: str or ~azure.mgmt.appplatform.models.DeploymentResourceProvisioningState - :param deployment_settings: Deployment settings of the Deployment - :type deployment_settings: - ~azure.mgmt.appplatform.models.DeploymentSettings :ivar status: Status of the Deployment. Possible values include: 'Unknown', 'Stopped', 'Running', 'Failed', 'Allocating', 'Upgrading', 'Compiling' @@ -580,8 +800,8 @@ class DeploymentResourceProperties(Model): _attribute_map = { 'source': {'key': 'source', 'type': 'UserSourceInfo'}, 'app_name': {'key': 'appName', 'type': 'str'}, - 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, 'deployment_settings': {'key': 'deploymentSettings', 'type': 'DeploymentSettings'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, 'status': {'key': 'status', 'type': 'str'}, 'active': {'key': 'active', 'type': 'bool'}, 'created_time': {'key': 'createdTime', 'type': 'iso-8601'}, @@ -592,8 +812,8 @@ def __init__(self, *, source=None, deployment_settings=None, **kwargs) -> None: super(DeploymentResourceProperties, self).__init__(**kwargs) self.source = source self.app_name = None - self.provisioning_state = None self.deployment_settings = deployment_settings + self.provisioning_state = None self.status = None self.active = None self.created_time = None @@ -603,13 +823,16 @@ def __init__(self, *, source=None, deployment_settings=None, **kwargs) -> None: class DeploymentSettings(Model): """Deployment settings payload. - :param cpu: Required CPU. Default value: 1 . + :param cpu: Required CPU, basic tier should be 1, standard tier should be + in range (1, 4). Default value: 1 . :type cpu: int - :param memory_in_gb: Required Memory size in GB. Default value: 1 . + :param memory_in_gb: Required Memory size in GB, basic tier should be in + range (1, 2), standard tier should be in range (1, 8). Default value: 1 . :type memory_in_gb: int :param jvm_options: JVM parameter :type jvm_options: str - :param instance_count: Instance count. Default value: 1 . + :param instance_count: Instance count, basic tier should be in range (1, + 25), standard tier should be in range (1, 500). Default value: 1 . :type instance_count: int :param environment_variables: Collection of environment variables :type environment_variables: dict[str, str] @@ -619,12 +842,6 @@ class DeploymentSettings(Model): ~azure.mgmt.appplatform.models.RuntimeVersion """ - _validation = { - 'cpu': {'maximum': 4, 'minimum': 1}, - 'memory_in_gb': {'maximum': 8, 'minimum': 1}, - 'instance_count': {'maximum': 20, 'minimum': 1}, - } - _attribute_map = { 'cpu': {'key': 'cpu', 'type': 'int'}, 'memory_in_gb': {'key': 'memoryInGB', 'type': 'int'}, @@ -773,6 +990,31 @@ def __init__(self, *, name: str=None, display_name: str=None, blob_duration: str self.blob_duration = blob_duration +class ManagedIdentityProperties(Model): + """Managed identity properties retrieved from ARM request headers. + + :param type: Possible values include: 'None', 'SystemAssigned', + 'UserAssigned', 'SystemAssigned,UserAssigned' + :type type: str or ~azure.mgmt.appplatform.models.ManagedIdentityType + :param principal_id: + :type principal_id: str + :param tenant_id: + :type tenant_id: str + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'principal_id': {'key': 'principalId', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + } + + def __init__(self, *, type=None, principal_id: str=None, tenant_id: str=None, **kwargs) -> None: + super(ManagedIdentityProperties, self).__init__(**kwargs) + self.type = type + self.principal_id = principal_id + self.tenant_id = tenant_id + + class MetricDimension(Model): """Specifications of the Dimension of metrics. @@ -904,8 +1146,8 @@ class OperationDetail(Model): :param name: Name of the operation :type name: str - :param data_action: Indicates whether the operation is a data action - :type data_action: bool + :param is_data_action: Indicates whether the operation is a data action + :type is_data_action: bool :param display: Display of the operation :type display: ~azure.mgmt.appplatform.models.OperationDisplay :param origin: Origin of the operation @@ -916,16 +1158,16 @@ class OperationDetail(Model): _attribute_map = { 'name': {'key': 'name', 'type': 'str'}, - 'data_action': {'key': 'dataAction', 'type': 'bool'}, + 'is_data_action': {'key': 'isDataAction', 'type': 'bool'}, 'display': {'key': 'display', 'type': 'OperationDisplay'}, 'origin': {'key': 'origin', 'type': 'str'}, 'properties': {'key': 'properties', 'type': 'OperationProperties'}, } - def __init__(self, *, name: str=None, data_action: bool=None, display=None, origin: str=None, properties=None, **kwargs) -> None: + def __init__(self, *, name: str=None, is_data_action: bool=None, display=None, origin: str=None, properties=None, **kwargs) -> None: super(OperationDetail, self).__init__(**kwargs) self.name = name - self.data_action = data_action + self.is_data_action = is_data_action self.display = display self.origin = origin self.properties = properties @@ -1031,6 +1273,177 @@ def __init__(self, *, key_type, **kwargs) -> None: self.key_type = key_type +class ResourceSku(Model): + """Describes an available Azure Spring Cloud SKU. + + :param resource_type: Gets the type of resource the SKU applies to. + :type resource_type: str + :param name: Gets the name of SKU. + :type name: str + :param tier: Gets the tier of SKU. + :type tier: str + :param capacity: Gets the capacity of SKU. + :type capacity: ~azure.mgmt.appplatform.models.SkuCapacity + :param locations: Gets the set of locations that the SKU is available. + :type locations: list[str] + :param location_info: Gets a list of locations and availability zones in + those locations where the SKU is available. + :type location_info: + list[~azure.mgmt.appplatform.models.ResourceSkuLocationInfo] + :param restrictions: Gets the restrictions because of which SKU cannot be + used. This is + empty if there are no restrictions. + :type restrictions: + list[~azure.mgmt.appplatform.models.ResourceSkuRestrictions] + """ + + _attribute_map = { + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + 'capacity': {'key': 'capacity', 'type': 'SkuCapacity'}, + 'locations': {'key': 'locations', 'type': '[str]'}, + 'location_info': {'key': 'locationInfo', 'type': '[ResourceSkuLocationInfo]'}, + 'restrictions': {'key': 'restrictions', 'type': '[ResourceSkuRestrictions]'}, + } + + def __init__(self, *, resource_type: str=None, name: str=None, tier: str=None, capacity=None, locations=None, location_info=None, restrictions=None, **kwargs) -> None: + super(ResourceSku, self).__init__(**kwargs) + self.resource_type = resource_type + self.name = name + self.tier = tier + self.capacity = capacity + self.locations = locations + self.location_info = location_info + self.restrictions = restrictions + + +class ResourceSkuCapabilities(Model): + """ResourceSkuCapabilities. + + :param name: Gets an invariant to describe the feature. + :type name: str + :param value: Gets an invariant if the feature is measured by quantity. + :type value: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, value: str=None, **kwargs) -> None: + super(ResourceSkuCapabilities, self).__init__(**kwargs) + self.name = name + self.value = value + + +class ResourceSkuLocationInfo(Model): + """ResourceSkuLocationInfo. + + :param location: Gets location of the SKU + :type location: str + :param zones: Gets list of availability zones where the SKU is supported. + :type zones: list[str] + :param zone_details: Gets details of capabilities available to a SKU in + specific zones. + :type zone_details: + list[~azure.mgmt.appplatform.models.ResourceSkuZoneDetails] + """ + + _attribute_map = { + 'location': {'key': 'location', 'type': 'str'}, + 'zones': {'key': 'zones', 'type': '[str]'}, + 'zone_details': {'key': 'zoneDetails', 'type': '[ResourceSkuZoneDetails]'}, + } + + def __init__(self, *, location: str=None, zones=None, zone_details=None, **kwargs) -> None: + super(ResourceSkuLocationInfo, self).__init__(**kwargs) + self.location = location + self.zones = zones + self.zone_details = zone_details + + +class ResourceSkuRestrictionInfo(Model): + """ResourceSkuRestrictionInfo. + + :param locations: Gets locations where the SKU is restricted + :type locations: list[str] + :param zones: Gets list of availability zones where the SKU is restricted. + :type zones: list[str] + """ + + _attribute_map = { + 'locations': {'key': 'locations', 'type': '[str]'}, + 'zones': {'key': 'zones', 'type': '[str]'}, + } + + def __init__(self, *, locations=None, zones=None, **kwargs) -> None: + super(ResourceSkuRestrictionInfo, self).__init__(**kwargs) + self.locations = locations + self.zones = zones + + +class ResourceSkuRestrictions(Model): + """ResourceSkuRestrictions. + + :param type: Gets the type of restrictions. Possible values include: + 'Location', 'Zone' + :type type: str or + ~azure.mgmt.appplatform.models.ResourceSkuRestrictionsType + :param values: Gets the value of restrictions. If the restriction type is + set to + location. This would be different locations where the SKU is restricted. + :type values: list[str] + :param restriction_info: Gets the information about the restriction where + the SKU cannot be used. + :type restriction_info: + ~azure.mgmt.appplatform.models.ResourceSkuRestrictionInfo + :param reason_code: Gets the reason for restriction. Possible values + include: 'QuotaId', 'NotAvailableForSubscription' + :type reason_code: str or + ~azure.mgmt.appplatform.models.ResourceSkuRestrictionsReasonCode + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'values': {'key': 'values', 'type': '[str]'}, + 'restriction_info': {'key': 'restrictionInfo', 'type': 'ResourceSkuRestrictionInfo'}, + 'reason_code': {'key': 'reasonCode', 'type': 'str'}, + } + + def __init__(self, *, type=None, values=None, restriction_info=None, reason_code=None, **kwargs) -> None: + super(ResourceSkuRestrictions, self).__init__(**kwargs) + self.type = type + self.values = values + self.restriction_info = restriction_info + self.reason_code = reason_code + + +class ResourceSkuZoneDetails(Model): + """ResourceSkuZoneDetails. + + :param name: Gets the set of zones that the SKU is available in with the + specified capabilities. + :type name: list[str] + :param capabilities: Gets a list of capabilities that are available for + the SKU in the + specified list of zones. + :type capabilities: + list[~azure.mgmt.appplatform.models.ResourceSkuCapabilities] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': '[str]'}, + 'capabilities': {'key': 'capabilities', 'type': '[ResourceSkuCapabilities]'}, + } + + def __init__(self, *, name=None, capabilities=None, **kwargs) -> None: + super(ResourceSkuZoneDetails, self).__init__(**kwargs) + self.name = name + self.capabilities = capabilities + + class ResourceUploadDefinition(Model): """Resource upload definition payload. @@ -1109,6 +1522,8 @@ class ServiceResource(TrackedResource): :type tags: dict[str, str] :param properties: Properties of the Service resource :type properties: ~azure.mgmt.appplatform.models.ClusterResourceProperties + :param sku: Sku of the Service resource + :type sku: ~azure.mgmt.appplatform.models.Sku """ _validation = { @@ -1124,11 +1539,13 @@ class ServiceResource(TrackedResource): 'location': {'key': 'location', 'type': 'str'}, 'tags': {'key': 'tags', 'type': '{str}'}, 'properties': {'key': 'properties', 'type': 'ClusterResourceProperties'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, } - def __init__(self, *, location: str=None, tags=None, properties=None, **kwargs) -> None: + def __init__(self, *, location: str=None, tags=None, properties=None, sku=None, **kwargs) -> None: super(ServiceResource, self).__init__(location=location, tags=tags, **kwargs) self.properties = properties + self.sku = sku class ServiceSpecification(Model): @@ -1154,6 +1571,65 @@ def __init__(self, *, log_specifications=None, metric_specifications=None, **kwa self.metric_specifications = metric_specifications +class Sku(Model): + """Sku of Azure Spring Cloud. + + :param name: Name of the Sku + :type name: str + :param tier: Tier of the Sku + :type tier: str + :param capacity: Current capacity of the target resource + :type capacity: int + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + 'capacity': {'key': 'capacity', 'type': 'int'}, + } + + def __init__(self, *, name: str=None, tier: str=None, capacity: int=None, **kwargs) -> None: + super(Sku, self).__init__(**kwargs) + self.name = name + self.tier = tier + self.capacity = capacity + + +class SkuCapacity(Model): + """The SKU capacity. + + All required parameters must be populated in order to send to Azure. + + :param minimum: Required. Gets or sets the minimum. + :type minimum: int + :param maximum: Gets or sets the maximum. + :type maximum: int + :param default: Gets or sets the default. + :type default: int + :param scale_type: Gets or sets the type of the scale. Possible values + include: 'None', 'Manual', 'Automatic' + :type scale_type: str or ~azure.mgmt.appplatform.models.SkuScaleType + """ + + _validation = { + 'minimum': {'required': True}, + } + + _attribute_map = { + 'minimum': {'key': 'minimum', 'type': 'int'}, + 'maximum': {'key': 'maximum', 'type': 'int'}, + 'default': {'key': 'default', 'type': 'int'}, + 'scale_type': {'key': 'scaleType', 'type': 'str'}, + } + + def __init__(self, *, minimum: int, maximum: int=None, default: int=None, scale_type=None, **kwargs) -> None: + super(SkuCapacity, self).__init__(**kwargs) + self.minimum = minimum + self.maximum = maximum + self.default = default + self.scale_type = scale_type + + class TemporaryDisk(Model): """Temporary disk payload. diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/models/_paged_models.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/models/_paged_models.py index 248668eb6cb..d04b54cc306 100644 --- a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/models/_paged_models.py +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/models/_paged_models.py @@ -51,6 +51,32 @@ class BindingResourcePaged(Paged): def __init__(self, *args, **kwargs): super(BindingResourcePaged, self).__init__(*args, **kwargs) +class CertificateResourcePaged(Paged): + """ + A paging container for iterating over a list of :class:`CertificateResource ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[CertificateResource]'} + } + + def __init__(self, *args, **kwargs): + + super(CertificateResourcePaged, self).__init__(*args, **kwargs) +class CustomDomainResourcePaged(Paged): + """ + A paging container for iterating over a list of :class:`CustomDomainResource ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[CustomDomainResource]'} + } + + def __init__(self, *args, **kwargs): + + super(CustomDomainResourcePaged, self).__init__(*args, **kwargs) class DeploymentResourcePaged(Paged): """ A paging container for iterating over a list of :class:`DeploymentResource ` object @@ -77,3 +103,16 @@ class OperationDetailPaged(Paged): def __init__(self, *args, **kwargs): super(OperationDetailPaged, self).__init__(*args, **kwargs) +class ResourceSkuPaged(Paged): + """ + A paging container for iterating over a list of :class:`ResourceSku ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ResourceSku]'} + } + + def __init__(self, *args, **kwargs): + + super(ResourceSkuPaged, self).__init__(*args, **kwargs) diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/operations/__init__.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/operations/__init__.py index caf4e58455d..45301a531c0 100644 --- a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/operations/__init__.py +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/operations/__init__.py @@ -12,13 +12,19 @@ from ._services_operations import ServicesOperations from ._apps_operations import AppsOperations from ._bindings_operations import BindingsOperations +from ._certificates_operations import CertificatesOperations +from ._custom_domains_operations import CustomDomainsOperations from ._deployments_operations import DeploymentsOperations from ._operations import Operations +from ._sku_operations import SkuOperations __all__ = [ 'ServicesOperations', 'AppsOperations', 'BindingsOperations', + 'CertificatesOperations', + 'CustomDomainsOperations', 'DeploymentsOperations', 'Operations', + 'SkuOperations', ] diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/operations/_apps_operations.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/operations/_apps_operations.py index 22b7af0eb1d..4b8a5e5d58c 100644 --- a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/operations/_apps_operations.py +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/operations/_apps_operations.py @@ -77,9 +77,9 @@ def get( # Construct parameters query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') if sync_status is not None: query_parameters['syncStatus'] = self._serialize.query("sync_status", sync_status, 'str') - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') # Construct headers header_parameters = {} @@ -113,11 +113,7 @@ def get( def _create_or_update_initial( - self, resource_group_name, service_name, app_name, properties=None, custom_headers=None, raw=False, **operation_config): - app_resource = None - if properties is not None: - app_resource = models.AppResource(properties=properties) - + self, resource_group_name, service_name, app_name, app_resource, custom_headers=None, raw=False, **operation_config): # Construct URL url = self.create_or_update.metadata['url'] path_format_arguments = { @@ -144,10 +140,7 @@ def _create_or_update_initial( header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') # Construct body - if app_resource is not None: - body_content = self._serialize.body(app_resource, 'AppResource') - else: - body_content = None + body_content = self._serialize.body(app_resource, 'AppResource') # Construct and send request request = self._client.put(url, query_parameters, header_parameters, body_content) @@ -172,7 +165,7 @@ def _create_or_update_initial( return deserialized def create_or_update( - self, resource_group_name, service_name, app_name, properties=None, custom_headers=None, raw=False, polling=True, **operation_config): + self, resource_group_name, service_name, app_name, app_resource, custom_headers=None, raw=False, polling=True, **operation_config): """Create a new App or update an exiting App. :param resource_group_name: The name of the resource group that @@ -183,8 +176,8 @@ def create_or_update( :type service_name: str :param app_name: The name of the App resource. :type app_name: str - :param properties: Properties of the App resource - :type properties: ~azure.mgmt.appplatform.models.AppResourceProperties + :param app_resource: Parameters for the create or update operation + :type app_resource: ~azure.mgmt.appplatform.models.AppResource :param dict custom_headers: headers that will be added to the request :param bool raw: The poller return type is ClientRawResponse, the direct response alongside the deserialized response @@ -202,7 +195,7 @@ def create_or_update( resource_group_name=resource_group_name, service_name=service_name, app_name=app_name, - properties=properties, + app_resource=app_resource, custom_headers=custom_headers, raw=True, **operation_config @@ -286,11 +279,7 @@ def delete( def _update_initial( - self, resource_group_name, service_name, app_name, properties=None, custom_headers=None, raw=False, **operation_config): - app_resource = None - if properties is not None: - app_resource = models.AppResource(properties=properties) - + self, resource_group_name, service_name, app_name, app_resource, custom_headers=None, raw=False, **operation_config): # Construct URL url = self.update.metadata['url'] path_format_arguments = { @@ -317,10 +306,7 @@ def _update_initial( header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') # Construct body - if app_resource is not None: - body_content = self._serialize.body(app_resource, 'AppResource') - else: - body_content = None + body_content = self._serialize.body(app_resource, 'AppResource') # Construct and send request request = self._client.patch(url, query_parameters, header_parameters, body_content) @@ -345,7 +331,7 @@ def _update_initial( return deserialized def update( - self, resource_group_name, service_name, app_name, properties=None, custom_headers=None, raw=False, polling=True, **operation_config): + self, resource_group_name, service_name, app_name, app_resource, custom_headers=None, raw=False, polling=True, **operation_config): """Operation to update an exiting App. :param resource_group_name: The name of the resource group that @@ -356,8 +342,8 @@ def update( :type service_name: str :param app_name: The name of the App resource. :type app_name: str - :param properties: Properties of the App resource - :type properties: ~azure.mgmt.appplatform.models.AppResourceProperties + :param app_resource: Parameters for the update operation + :type app_resource: ~azure.mgmt.appplatform.models.AppResource :param dict custom_headers: headers that will be added to the request :param bool raw: The poller return type is ClientRawResponse, the direct response alongside the deserialized response @@ -375,7 +361,7 @@ def update( resource_group_name=resource_group_name, service_name=service_name, app_name=app_name, - properties=properties, + app_resource=app_resource, custom_headers=custom_headers, raw=True, **operation_config diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/operations/_bindings_operations.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/operations/_bindings_operations.py index 2a5b4322ca0..1be603bdfc9 100644 --- a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/operations/_bindings_operations.py +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/operations/_bindings_operations.py @@ -135,9 +135,7 @@ def create_or_update( ~msrest.pipeline.ClientRawResponse :raises: :class:`CloudError` """ - binding_resource = None - if properties is not None: - binding_resource = models.BindingResource(properties=properties) + binding_resource = models.BindingResource(properties=properties) # Construct URL url = self.create_or_update.metadata['url'] @@ -166,10 +164,7 @@ def create_or_update( header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') # Construct body - if binding_resource is not None: - body_content = self._serialize.body(binding_resource, 'BindingResource') - else: - body_content = None + body_content = self._serialize.body(binding_resource, 'BindingResource') # Construct and send request request = self._client.put(url, query_parameters, header_parameters, body_content) @@ -279,9 +274,7 @@ def update( ~msrest.pipeline.ClientRawResponse :raises: :class:`CloudError` """ - binding_resource = None - if properties is not None: - binding_resource = models.BindingResource(properties=properties) + binding_resource = models.BindingResource(properties=properties) # Construct URL url = self.update.metadata['url'] @@ -310,10 +303,7 @@ def update( header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') # Construct body - if binding_resource is not None: - body_content = self._serialize.body(binding_resource, 'BindingResource') - else: - body_content = None + body_content = self._serialize.body(binding_resource, 'BindingResource') # Construct and send request request = self._client.patch(url, query_parameters, header_parameters, body_content) diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/operations/_certificates_operations.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/operations/_certificates_operations.py new file mode 100644 index 00000000000..00428016758 --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/operations/_certificates_operations.py @@ -0,0 +1,312 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class CertificatesOperations(object): + """CertificatesOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client Api Version. Constant value: "2019-05-01-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2019-05-01-preview" + + self.config = config + + def get( + self, resource_group_name, service_name, certificate_name, custom_headers=None, raw=False, **operation_config): + """Get the certificate resource. + + :param resource_group_name: The name of the resource group that + contains the resource. You can obtain this value from the Azure + Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param certificate_name: The name of the certificate resource. + :type certificate_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: CertificateResource or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.appplatform.models.CertificateResource or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'certificateName': self._serialize.url("certificate_name", certificate_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('CertificateResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/certificates/{certificateName}'} + + def create_or_update( + self, resource_group_name, service_name, certificate_name, properties=None, custom_headers=None, raw=False, **operation_config): + """Create or update certificate resource. + + :param resource_group_name: The name of the resource group that + contains the resource. You can obtain this value from the Azure + Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param certificate_name: The name of the certificate resource. + :type certificate_name: str + :param properties: Properties of the certificate resource payload. + :type properties: ~azure.mgmt.appplatform.models.CertificateProperties + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: CertificateResource or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.appplatform.models.CertificateResource or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + certificate_resource = models.CertificateResource(properties=properties) + + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'certificateName': self._serialize.url("certificate_name", certificate_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(certificate_resource, 'CertificateResource') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('CertificateResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/certificates/{certificateName}'} + + def delete( + self, resource_group_name, service_name, certificate_name, custom_headers=None, raw=False, **operation_config): + """Delete the certificate resource. + + :param resource_group_name: The name of the resource group that + contains the resource. You can obtain this value from the Azure + Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param certificate_name: The name of the certificate resource. + :type certificate_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'certificateName': self._serialize.url("certificate_name", certificate_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/certificates/{certificateName}'} + + def list( + self, resource_group_name, service_name, custom_headers=None, raw=False, **operation_config): + """List all the certificates of one user. + + :param resource_group_name: The name of the resource group that + contains the resource. You can obtain this value from the Azure + Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of CertificateResource + :rtype: + ~azure.mgmt.appplatform.models.CertificateResourcePaged[~azure.mgmt.appplatform.models.CertificateResource] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.CertificateResourcePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/certificates'} diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/operations/_custom_domains_operations.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/operations/_custom_domains_operations.py new file mode 100644 index 00000000000..f7f88db69a4 --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/operations/_custom_domains_operations.py @@ -0,0 +1,477 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class CustomDomainsOperations(object): + """CustomDomainsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client Api Version. Constant value: "2019-05-01-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2019-05-01-preview" + + self.config = config + + def get( + self, resource_group_name, service_name, app_name, domain_name, custom_headers=None, raw=False, **operation_config): + """Get the custom domain of one lifecycle application. + + :param resource_group_name: The name of the resource group that + contains the resource. You can obtain this value from the Azure + Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param app_name: The name of the App resource. + :type app_name: str + :param domain_name: The name of the custom domain resource. + :type domain_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: CustomDomainResource or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.appplatform.models.CustomDomainResource or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_name, 'str'), + 'domainName': self._serialize.url("domain_name", domain_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('CustomDomainResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/domains/{domainName}'} + + def create_or_update( + self, resource_group_name, service_name, app_name, domain_name, properties=None, custom_headers=None, raw=False, **operation_config): + """Create or update custom domain of one lifecycle application. + + :param resource_group_name: The name of the resource group that + contains the resource. You can obtain this value from the Azure + Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param app_name: The name of the App resource. + :type app_name: str + :param domain_name: The name of the custom domain resource. + :type domain_name: str + :param properties: Properties of the custom domain resource. + :type properties: + ~azure.mgmt.appplatform.models.CustomDomainProperties + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: CustomDomainResource or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.appplatform.models.CustomDomainResource or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + domain_resource = models.CustomDomainResource(properties=properties) + + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_name, 'str'), + 'domainName': self._serialize.url("domain_name", domain_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(domain_resource, 'CustomDomainResource') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('CustomDomainResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/domains/{domainName}'} + + def delete( + self, resource_group_name, service_name, app_name, domain_name, custom_headers=None, raw=False, **operation_config): + """Delete the custom domain of one lifecycle application. + + :param resource_group_name: The name of the resource group that + contains the resource. You can obtain this value from the Azure + Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param app_name: The name of the App resource. + :type app_name: str + :param domain_name: The name of the custom domain resource. + :type domain_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_name, 'str'), + 'domainName': self._serialize.url("domain_name", domain_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/domains/{domainName}'} + + def patch( + self, resource_group_name, service_name, app_name, domain_name, properties=None, custom_headers=None, raw=False, **operation_config): + """Update custom domain of one lifecycle application. + + :param resource_group_name: The name of the resource group that + contains the resource. You can obtain this value from the Azure + Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param app_name: The name of the App resource. + :type app_name: str + :param domain_name: The name of the custom domain resource. + :type domain_name: str + :param properties: Properties of the custom domain resource. + :type properties: + ~azure.mgmt.appplatform.models.CustomDomainProperties + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: CustomDomainResource or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.appplatform.models.CustomDomainResource or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + domain_resource = models.CustomDomainResource(properties=properties) + + # Construct URL + url = self.patch.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_name, 'str'), + 'domainName': self._serialize.url("domain_name", domain_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(domain_resource, 'CustomDomainResource') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('CustomDomainResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + patch.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/domains/{domainName}'} + + def list( + self, resource_group_name, service_name, app_name, custom_headers=None, raw=False, **operation_config): + """List the custom domains of one lifecycle application. + + :param resource_group_name: The name of the resource group that + contains the resource. You can obtain this value from the Azure + Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param app_name: The name of the App resource. + :type app_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of CustomDomainResource + :rtype: + ~azure.mgmt.appplatform.models.CustomDomainResourcePaged[~azure.mgmt.appplatform.models.CustomDomainResource] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.CustomDomainResourcePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/domains'} + + def validate( + self, resource_group_name, service_name, app_name, name, custom_headers=None, raw=False, **operation_config): + """Check the resource name is valid as well as not in use. + + :param resource_group_name: The name of the resource group that + contains the resource. You can obtain this value from the Azure + Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param app_name: The name of the App resource. + :type app_name: str + :param name: Name to be validated + :type name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: CustomDomainValidateResult or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.appplatform.models.CustomDomainValidateResult or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + validate_payload = models.CustomDomainValidatePayload(name=name) + + # Construct URL + url = self.validate.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(validate_payload, 'CustomDomainValidatePayload') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('CustomDomainValidateResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + validate.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/domains/validate'} diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/operations/_deployments_operations.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/operations/_deployments_operations.py index 9d07e422174..53205447fd4 100644 --- a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/operations/_deployments_operations.py +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/operations/_deployments_operations.py @@ -113,9 +113,7 @@ def get( def _create_or_update_initial( self, resource_group_name, service_name, app_name, deployment_name, properties=None, custom_headers=None, raw=False, **operation_config): - deployment_resource = None - if properties is not None: - deployment_resource = models.DeploymentResource(properties=properties) + deployment_resource = models.DeploymentResource(properties=properties) # Construct URL url = self.create_or_update.metadata['url'] @@ -144,10 +142,7 @@ def _create_or_update_initial( header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') # Construct body - if deployment_resource is not None: - body_content = self._serialize.body(deployment_resource, 'DeploymentResource') - else: - body_content = None + body_content = self._serialize.body(deployment_resource, 'DeploymentResource') # Construct and send request request = self._client.put(url, query_parameters, header_parameters, body_content) @@ -294,9 +289,7 @@ def delete( def _update_initial( self, resource_group_name, service_name, app_name, deployment_name, properties=None, custom_headers=None, raw=False, **operation_config): - deployment_resource = None - if properties is not None: - deployment_resource = models.DeploymentResource(properties=properties) + deployment_resource = models.DeploymentResource(properties=properties) # Construct URL url = self.update.metadata['url'] @@ -325,10 +318,7 @@ def _update_initial( header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') # Construct body - if deployment_resource is not None: - body_content = self._serialize.body(deployment_resource, 'DeploymentResource') - else: - body_content = None + body_content = self._serialize.body(deployment_resource, 'DeploymentResource') # Construct and send request request = self._client.patch(url, query_parameters, header_parameters, body_content) @@ -449,9 +439,9 @@ def prepare_request(next_link=None): # Construct parameters query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') if version is not None: query_parameters['version'] = self._serialize.query("version", version, '[str]', div=',') - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') else: url = next_link @@ -527,9 +517,9 @@ def prepare_request(next_link=None): # Construct parameters query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') if version is not None: query_parameters['version'] = self._serialize.query("version", version, '[str]', div=',') - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') else: url = next_link diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/operations/_services_operations.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/operations/_services_operations.py index 95a200815e9..3fb045d7800 100644 --- a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/operations/_services_operations.py +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/operations/_services_operations.py @@ -106,7 +106,7 @@ def get( def _create_or_update_initial( - self, resource_group_name, service_name, resource=None, custom_headers=None, raw=False, **operation_config): + self, resource_group_name, service_name, resource, custom_headers=None, raw=False, **operation_config): # Construct URL url = self.create_or_update.metadata['url'] path_format_arguments = { @@ -132,10 +132,7 @@ def _create_or_update_initial( header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') # Construct body - if resource is not None: - body_content = self._serialize.body(resource, 'ServiceResource') - else: - body_content = None + body_content = self._serialize.body(resource, 'ServiceResource') # Construct and send request request = self._client.put(url, query_parameters, header_parameters, body_content) @@ -160,7 +157,7 @@ def _create_or_update_initial( return deserialized def create_or_update( - self, resource_group_name, service_name, resource=None, custom_headers=None, raw=False, polling=True, **operation_config): + self, resource_group_name, service_name, resource, custom_headers=None, raw=False, polling=True, **operation_config): """Create a new Service or update an exiting Service. :param resource_group_name: The name of the resource group that @@ -294,7 +291,7 @@ def get_long_running_output(response): def _update_initial( - self, resource_group_name, service_name, resource=None, custom_headers=None, raw=False, **operation_config): + self, resource_group_name, service_name, resource, custom_headers=None, raw=False, **operation_config): # Construct URL url = self.update.metadata['url'] path_format_arguments = { @@ -320,10 +317,7 @@ def _update_initial( header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') # Construct body - if resource is not None: - body_content = self._serialize.body(resource, 'ServiceResource') - else: - body_content = None + body_content = self._serialize.body(resource, 'ServiceResource') # Construct and send request request = self._client.patch(url, query_parameters, header_parameters, body_content) @@ -348,7 +342,7 @@ def _update_initial( return deserialized def update( - self, resource_group_name, service_name, resource=None, custom_headers=None, raw=False, polling=True, **operation_config): + self, resource_group_name, service_name, resource, custom_headers=None, raw=False, polling=True, **operation_config): """Operation to update an exiting Service. :param resource_group_name: The name of the resource group that @@ -485,9 +479,7 @@ def regenerate_test_key( ~msrest.pipeline.ClientRawResponse :raises: :class:`CloudError` """ - regenerate_test_key_request = None - if key_type is not None: - regenerate_test_key_request = models.RegenerateTestKeyRequestPayload(key_type=key_type) + regenerate_test_key_request = models.RegenerateTestKeyRequestPayload(key_type=key_type) # Construct URL url = self.regenerate_test_key.metadata['url'] @@ -514,10 +506,7 @@ def regenerate_test_key( header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') # Construct body - if regenerate_test_key_request is not None: - body_content = self._serialize.body(regenerate_test_key_request, 'RegenerateTestKeyRequestPayload') - else: - body_content = None + body_content = self._serialize.body(regenerate_test_key_request, 'RegenerateTestKeyRequestPayload') # Construct and send request request = self._client.post(url, query_parameters, header_parameters, body_content) @@ -682,8 +671,8 @@ def check_name_availability( # Construct URL url = self.check_name_availability.metadata['url'] path_format_arguments = { - 'location': self._serialize.url("location", location, 'str'), - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'location': self._serialize.url("location", location, 'str') } url = self._client.format_url(url, **path_format_arguments) diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/operations/_sku_operations.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/operations/_sku_operations.py new file mode 100644 index 00000000000..26330c9b065 --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/operations/_sku_operations.py @@ -0,0 +1,106 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class SkuOperations(object): + """SkuOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client Api Version. Constant value: "2019-05-01-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2019-05-01-preview" + + self.config = config + + def list( + self, custom_headers=None, raw=False, **operation_config): + """ + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of ResourceSku + :rtype: + ~azure.mgmt.appplatform.models.ResourceSkuPaged[~azure.mgmt.appplatform.models.ResourceSku] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.ResourceSkuPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.AppPlatform/skus'} diff --git a/src/spring-cloud/setup.py b/src/spring-cloud/setup.py index b48b4feadd9..baa9741171c 100644 --- a/src/spring-cloud/setup.py +++ b/src/spring-cloud/setup.py @@ -16,7 +16,7 @@ # TODO: Confirm this is the right version number you want and it matches your # HISTORY.rst entry. -VERSION = '0.2.2' +VERSION = '0.3.0' # The full list of classifiers is available at # https://pypi.python.org/pypi?%3Aaction=list_classifiers @@ -37,9 +37,9 @@ # TODO: Add any additional SDK dependencies here DEPENDENCIES = [] -with open('README.rst', 'r', encoding='utf-8') as f: +with open('README.md', 'r', encoding='utf-8') as f: README = f.read() -with open('HISTORY.rst', 'r', encoding='utf-8') as f: +with open('HISTORY.md', 'r', encoding='utf-8') as f: HISTORY = f.read() setup( diff --git a/src/storage-or-preview/HISTORY.rst b/src/storage-or-preview/HISTORY.rst new file mode 100644 index 00000000000..ccd7553f641 --- /dev/null +++ b/src/storage-or-preview/HISTORY.rst @@ -0,0 +1,21 @@ +.. :changelog: + +Release History +=============== + +0.1.0 +++++++ +* Initial release. + +0.2.0 +++++++ +* Support --min-creation-time for ORS filter. + +0.3.0 +++++++ +* Rename `az storage account ors-policy` to `az storage account or-policy`. +* Default to `--account-name` for `--destination-account` when creating policy in destination account. + +0.4.0 +++++++ +* Rename the extension to `storage-or-policy`. \ No newline at end of file diff --git a/src/storage-or-preview/README.md b/src/storage-or-preview/README.md new file mode 100644 index 00000000000..db9a1b37441 --- /dev/null +++ b/src/storage-or-preview/README.md @@ -0,0 +1,177 @@ +# Azure CLI storage-or-preview Extension # +This is an extension for storage-or-preview features. + +### How to use ### +Install this extension using the below CLI command after release: +``` +az extension add -n storage-or-preview +``` + +### Prepare +1. Prepare general purpose v2 storage account +``` +az storage account create -n storageaccount -g groupName --kind StorageV2 +``` + +2. Enable Versioning for both source and destination storage accounts +``` +az storage account blob-service-properties update --enable-versioning --account-name srcAccountName +``` +Note: +- `--enable-versioning` is supported in [azure cli 2.3.0](https://docs.microsoft.com/en-us/cli/azure/install-azure-cli?view=azure-cli-latest#install), which will be officially release at 2020/03/31. +- Another option to enable Versioning in azure cli is as follows: +``` +az storage account blob-service-properties update --account-name srcAccountName --set is_versioning_enabled=True +``` + +3. Enable ChangeFeed for source storage account +``` +az storage account blob-service-properties update --enable-change-feed --account-name srcAccountName +``` + +### Included Features +#### ORS Policy: +Manage data policy rules associated with a storage account: [more info](https://docs.microsoft.com/azure/storage/common/storage-lifecycle-managment-concepts)\ + +*Examples:* + +##### Create ORS Policy on destination storage account +1. Using JSON file or JSON string. +``` +az storage account or-policy create \ + --account-name destAccountName \ + --resource-group groupName \ + --properties @{path} +``` +2. Using command parameters. +``` +az storage account or-policy create \ + --account-name destAccountName \ + --resource-group groupName \ + --source-account srcAccountName \ + --destination-account destAccountName \ + --source-container srcContainer \ + --destination-container destContainer \ +``` +``` +az storage account or-policy create \ + --account-name destAccountName \ + --resource-group groupName \ + --source-account srcAccountName \ + --destination-account destAccountName \ + --source-container srcContainer \ + --min-creation-time '2020-02-19T16:05:00Z' \ + --prefix-match blobA blobB +``` + +3. Create Object Replication Policy to source storage account through policy associated with destination storage account. +``` +az storage account or-policy show -g groupName -n destAccountName --policy-id "3496e652-4cea-4581-b2f7-c86b3971ba92" | az storage account or-policy create -g ResourceGroupName -n srcAccountName -p "@-" +``` + +To save the policyId/ruleId in PowerShell Scripts, you can use: + +`$policyId = (az storage account or-policy create --account-name accountName --resource-group groupName --properties @{path}) --query policyId)` + +`$ruleId = (az storage account or-policy create --account-name accountName --resource-group groupName --properties @{path}) --query rules.ruleId)` + +##### List OR Policies on storage account +``` +az storage account or-policy list \ + --account-name accountName \ + --resource-group groupName +``` + +##### Show OR Policy on storage account +``` +az storage account or-policy show \ + --policy-id $policyId \ + --account-name accountName \ + --resource-group groupName +``` + +##### Update OR Policy on storage account +Change source storage account name of existing OR policy. +``` +az storage account or-policy update \ + --policy-id $policyId \ + --account-name destAccountName \ + --resource-group groupName \ + -s newSourceAccount +``` + +Update existing OR policy through json file. +``` +az storage account or-policy update \ + --policy @policy.json \ + --account-name destAccountName \ + --resource-group groupName \ +``` +##### Add rule to existing OR Policy +``` +az storage account or-policy rule add \ + --policy-id $policyId \ + --account-name accountName \ + --resource-group groupName \ + --destination-container destContainer \ + --source-container srcContainer \ + --prefix-match blobA blobB \ + --min-creation-time '2020-02-19T16:05:00Z' +``` + +##### List rules for OR Policy +``` +az storage account or-policy rule list \ + --policy-id $policyId \ + --account-name accountName \ + --resource-group groupName +``` + +##### Show properties of specific rule in OR Policy +``` +az storage account or-policy rule show \ + --rule-id $ruleId \ + --policy-id $policyId \ + --account-name accountName \ + --resource-group groupName +``` + +##### Update properties for specific OR Policy Rule +Change prefix match filter properties. +``` +az storage account or-policy rule update \ + --rule-id $ruleId \ + --policy-id $policyId \ + --account-name accountName \ + --resource-group groupName \ + --prefix-match blobA +``` + +Change min creation time in filter properties. +``` +az storage account or-policy rule update \ + --rule-id $ruleId \ + --policy-id $policyId \ + --account-name accountName \ + --resource-group groupName \ + --min-creation-time '2020-02-19T16:05:00Z' +``` +##### Remove the specified rule in existing OR Policy +``` +az storage account or-policy rule remove \ + --rule-id $ruleId \ + --policy-id $policyId \ + --account-name accountName \ + --resource-group groupName +``` + +##### Delete the specified OR Policy for storage account +``` +az storage account or-policy delete \ + --policy-id $policyId \ + --account-name accountName \ + --resource-group groupName +``` + + +If you have issues, please give feedback by opening an issue at https://github.com/Azure/azure-cli-extensions/issues. diff --git a/src/storage-or-preview/__init__.py b/src/storage-or-preview/__init__.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/storage-or-preview/azext_storage_or_preview/__init__.py b/src/storage-or-preview/azext_storage_or_preview/__init__.py new file mode 100644 index 00000000000..e3bafc20138 --- /dev/null +++ b/src/storage-or-preview/azext_storage_or_preview/__init__.py @@ -0,0 +1,37 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +from azure.cli.core import AzCommandsLoader +from azure.cli.core.profiles import register_resource_type + +from ._help import helps # pylint: disable=unused-import +from .profiles import CUSTOM_MGMT_STORAGE_ORS + + +class StorageCommandsLoader(AzCommandsLoader): + + def __init__(self, cli_ctx=None): + from azure.cli.core.commands import CliCommandType + + register_resource_type('latest', CUSTOM_MGMT_STORAGE_ORS, '2019-06-01') + storage_custom = CliCommandType(operations_tmpl='azext_storage_or_preview.custom#{}') + + super(StorageCommandsLoader, self).__init__(cli_ctx=cli_ctx, + resource_type=CUSTOM_MGMT_STORAGE_ORS, + custom_command_type=storage_custom) + + def load_command_table(self, args): + super(StorageCommandsLoader, self).load_command_table(args) + from .commands import load_command_table + load_command_table(self, args) + return self.command_table + + def load_arguments(self, command): + super(StorageCommandsLoader, self).load_arguments(command) + from ._params import load_arguments + load_arguments(self, command) + + +COMMAND_LOADER_CLS = StorageCommandsLoader diff --git a/src/storage-or-preview/azext_storage_or_preview/_client_factory.py b/src/storage-or-preview/azext_storage_or_preview/_client_factory.py new file mode 100644 index 00000000000..3a47c499dd4 --- /dev/null +++ b/src/storage-or-preview/azext_storage_or_preview/_client_factory.py @@ -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. +# -------------------------------------------------------------------------------------------- + +from azure.cli.core.commands.client_factory import get_mgmt_service_client + +from .profiles import CUSTOM_MGMT_STORAGE_ORS + + +def storage_client_factory(cli_ctx, **_): + return get_mgmt_service_client(cli_ctx, CUSTOM_MGMT_STORAGE_ORS) + + +def cf_sa(cli_ctx, _): + return storage_client_factory(cli_ctx).storage_accounts + + +def cf_or_policy(cli_ctx, _): + return storage_client_factory(cli_ctx).object_replication_policies diff --git a/src/storage-or-preview/azext_storage_or_preview/_help.py b/src/storage-or-preview/azext_storage_or_preview/_help.py new file mode 100644 index 00000000000..34de39d029b --- /dev/null +++ b/src/storage-or-preview/azext_storage_or_preview/_help.py @@ -0,0 +1,104 @@ +# coding=utf-8 +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +from knack.help_files import helps # pylint: disable=unused-import + + +helps['storage account or-policy'] = """ +type: group +short-summary: Manage storage account Object Replication Policy. +""" + +helps['storage account or-policy create'] = """ +type: command +short-summary: Create Object Replication Service Policy for storage account. +examples: + - name: Create Object Replication Service Policy for storage account. + text: az storage account or-policy create -g ResourceGroupName -n storageAccountName -d destAccountName -s srcAccountName --destination-container dcont --source-container scont + - name: Create Object Replication Service Policy trough json file for storage account. + text: az storage account or-policy create -g ResourceGroupName -n storageAccountName --policy @policy.json + - name: Create Object Replication Service Policy to source storage account through policy associated with destination storage account. + text: az storage account or-policy show -g ResourceGroupName -n destAccountName --policy-id "3496e652-4cea-4581-b2f7-c86b3971ba92" | az storage account or-policy create -g ResourceGroupName -n srcAccountName -p "@-" +""" + +helps['storage account or-policy list'] = """ +type: command +short-summary: List Object Replication Service Policies associated with the specified storage account. +examples: + - name: List Object Replication Service Policies associated with the specified storage account. + text: az storage account or-policy list -g ResourceGroupName -n StorageAccountName +""" + +helps['storage account or-policy delete'] = """ +type: command +short-summary: Delete specified Object Replication Service Policy associated with the specified storage account. +examples: + - name: Delete Object Replication Service Policy associated with the specified storage account. + text: az storage account or-policy delete -g ResourceGroupName -n StorageAccountName --policy-id "04344ea7-aa3c-4846-bfb9-e908e32d3bf8" +""" + +helps['storage account or-policy show'] = """ +type: command +short-summary: Show the properties of specified Object Replication Service Policy for storage account. +examples: + - name: Show the properties of specified Object Replication Service Policy for storage account. + text: az storage account or-policy show -g ResourceGroupName -n StorageAccountName --policy-id "04344ea7-aa3c-4846-bfb9-e908e32d3bf8" +""" + +helps['storage account or-policy update'] = """ +type: command +short-summary: Update Object Replication Service Policy properties for storage account. +examples: + - name: Update source storage account in Object Replication Service Policy. + text: az storage account or-policy update -g ResourceGroupName -n StorageAccountName --source-account newSourceAccount --policy-id "04344ea7-aa3c-4846-bfb9-e908e32d3bf8" + - name: Update Object Replication Service Policy through json file. + text: az storage account or-policy update -g ResourceGroupName -n StorageAccountName -p @policy.json +""" + +helps['storage account or-policy rule'] = """ +type: group +short-summary: Manage Object Replication Service Policy Rules. +""" + +helps['storage account or-policy rule add'] = """ +type: command +short-summary: Add rule to the specified Object Replication Service Policy. +examples: + - name: Add rule to the specified Object Replication Service Policy. + text: az storage account or-policy rule add -g ResourceGroupName -n StorageAccountName --policy-id "04344ea7-aa3c-4846-bfb9-e908e32d3bf8" -d destContainer -s srcContainer +""" + +helps['storage account or-policy rule list'] = """ +type: command +short-summary: List all the rules in the specified Object Replication Service Policy. +examples: + - name: List all the rules in the specified Object Replication Service Policy. + text: az storage account or-policy rule list -g ResourceGroupName -n StorageAccountName --policy-id "04344ea7-aa3c-4846-bfb9-e908e32d3bf8" +""" + +helps['storage account or-policy rule remove'] = """ +type: command +short-summary: Remove the specified rule from the specified Object Replication Service Policy. +examples: + - name: Remove the specified rule from the specified Object Replication Service Policy. + text: az storage account or-policy rule remove -g ResourceGroupName -n StorageAccountName --policy-id "04344ea7-aa3c-4846-bfb9-e908e32d3bf8" --rule-id "78746d86-d3b7-4397-a99c-0837e6741332" +""" + +helps['storage account or-policy rule show'] = """ +type: command +short-summary: Show the properties of specified rule in Object Replication Service Policy. +examples: + - name: Show the properties of specified rule in Object Replication Service Policy. + text: az storage account or-policy rule show -g ResourceGroupName -n StorageAccountName --policy-id "04344ea7-aa3c-4846-bfb9-e908e32d3bf8" --rule-id "78746d86-d3b7-4397-a99c-0837e6741332" +""" + +helps['storage account or-policy rule update'] = """ +type: command +short-summary: Update rule properties to Object Replication Service Policy. +examples: + - name: Update rule properties to Object Replication Service Policy. + text: az storage account or-policy rule update -g ResourceGroupName -n StorageAccountName --policy-id "04344ea7-aa3c-4846-bfb9-e908e32d3bf8" --rule-id "78746d86-d3b7-4397-a99c-0837e6741332" --prefix-match blobA blobB +""" diff --git a/src/storage-or-preview/azext_storage_or_preview/_params.py b/src/storage-or-preview/azext_storage_or_preview/_params.py new file mode 100644 index 00000000000..2c49c7cbaec --- /dev/null +++ b/src/storage-or-preview/azext_storage_or_preview/_params.py @@ -0,0 +1,74 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- +# pylint: disable=line-too-long + +from knack.arguments import CLIArgumentType +from ._validators import get_datetime_type + + +def load_arguments(self, _): + + from azure.cli.core.commands.parameters import get_resource_name_completion_list + + acct_name_type = CLIArgumentType(options_list=['--account-name', '-n'], help='The storage account name.', + id_part='name', + completer=get_resource_name_completion_list('Microsoft.Storage/storageAccounts')) + or_policy_type = CLIArgumentType( + options_list=['--policy', '-p'], + help='The object replication policy definition between two storage accounts, in JSON format. ' + 'Multiple rules can be defined in one policy.' + ) + policy_id_type = CLIArgumentType( + options_list=['--policy-id'], + help='The ID of object replication policy or "default" if the policy ID is unknown.' + ) + rule_id_type = CLIArgumentType( + options_list=['--rule-id', '-r'], + help='Rule Id is auto-generated for each new rule on destination account. It is required ' + 'for put policy on source account.' + ) + prefix_math_type = CLIArgumentType( + nargs='+', arg_group='Filters', + help='Optional. Filter the results to replicate only blobs whose names begin with the specified ' + 'prefix.' + ) + min_creation_time_type = CLIArgumentType( + options_list=['--min-creation-time', '-t'], arg_group='Filters', type=get_datetime_type(True), + help="Blobs created after the time will be replicated to the destination. It must be in datetime format " + "'yyyy-MM-ddTHH:mm:ssZ'. Example: 2020-02-19T16:05:00Z") + + with self.argument_context('storage account or-policy') as c: + c.argument('account_name', acct_name_type, id_part=None) + c.argument('object_replication_policy_id', policy_id_type) + c.argument('policy_id', policy_id_type) + c.argument('source_account', options_list=['--source-account', '-s'], + help='The source storage account name. Required when no --policy provided.') + c.argument('destination_account', options_list=['--destination-account', '-d'], + help='The destination storage account name. Required when no --policy provided.') + c.argument('properties', or_policy_type) + c.argument('prefix_match', prefix_math_type) + c.argument('min_creation_time', min_creation_time_type) + + for item in ['create', 'update']: + with self.argument_context('storage account or-policy {}'.format(item), + arg_group="Object Replication Policy Rule") as c: + c.argument('rule_id', help='Rule Id is auto-generated for each new rule on destination account. It is ' + 'required for put policy on source account.') + c.argument('source_container', options_list=['--source-container'], + help='The source storage container name. Required when no --policy provided.') + c.argument('destination_container', options_list=['--destination-container'], + help='The destination storage container name. Required when no --policy provided.') + + with self.argument_context('storage account or-policy update') as c: + c.argument('account_name', acct_name_type, id_part=None) + c.argument('properties', or_policy_type) + + with self.argument_context('storage account or-policy rule') as c: + c.argument('policy_id', policy_id_type) + c.argument('source_container', options_list=['--source-container', '-s'], + help='The source storage container name.') + c.argument('destination_container', options_list=['--destination-container', '-d'], + help='The destination storage container name.') + c.argument('rule_id', rule_id_type) diff --git a/src/storage-or-preview/azext_storage_or_preview/_validators.py b/src/storage-or-preview/azext_storage_or_preview/_validators.py new file mode 100644 index 00000000000..05f3575fef2 --- /dev/null +++ b/src/storage-or-preview/azext_storage_or_preview/_validators.py @@ -0,0 +1,75 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- +import os +from azure.cli.core.util import get_file_json, shell_safe_json_parse + + +def validate_or_policy(namespace): + error_elements = [] + if namespace.properties is None: + error_msg = "Please provide --policy in JSON format or the following arguments: " + if namespace.source_account is None: + error_elements.append("--source-account") + + if namespace.destination_account is None: + namespace.destination_account = namespace.account_name + + if error_elements: + error_msg += ", ".join(error_elements) + error_msg += " to initialize or Policy for storage account." + raise ValueError(error_msg) + else: + if os.path.exists(namespace.properties): + or_policy = get_file_json(namespace.properties) + else: + or_policy = shell_safe_json_parse(namespace.properties) + + try: + namespace.source_account = or_policy["sourceAccount"] + except KeyError: + namespace.source_account = or_policy["source_account"] + if namespace.source_account is None: + error_elements.append("source_account") + + try: + namespace.destination_account = or_policy["destinationAccount"] + except KeyError: + namespace.destination_account = or_policy["destination_account"] + + if "rules" not in or_policy.keys() or not or_policy["rules"]: + error_elements.append("rules") + error_msg = "Missing input parameters: " + if error_elements: + error_msg += ", ".join(error_elements) + error_msg += " in properties to initialize or Policy for storage account." + raise ValueError(error_msg) + namespace.properties = or_policy + + if "policyId" in or_policy.keys() and or_policy["policyId"]: + namespace.policy_id = or_policy['policyId'] + + +def get_datetime_type(to_string): + """ Validates UTC datetime. Examples of accepted forms: + 2017-12-31T01:11:59Z,2017-12-31T01:11Z or 2017-12-31T01Z or 2017-12-31 """ + from datetime import datetime + + def datetime_type(string): + """ Validates UTC datetime. Examples of accepted forms: + 2017-12-31T01:11:59Z,2017-12-31T01:11Z or 2017-12-31T01Z or 2017-12-31 """ + accepted_date_formats = ['%Y-%m-%dT%H:%M:%SZ', '%Y-%m-%dT%H:%MZ', + '%Y-%m-%dT%HZ', '%Y-%m-%d'] + target_format = '%Y-%m-%dT%H:%M:%SZ' + for form in accepted_date_formats: + try: + if to_string: + return datetime.strptime(string, form).strftime(target_format) + + return datetime.strptime(string, form) + except ValueError: + continue + raise ValueError("Input '{}' not valid. Valid example: 2000-12-31T12:59:59Z".format(string)) + + return datetime_type diff --git a/src/storage-or-preview/azext_storage_or_preview/azext_metadata.json b/src/storage-or-preview/azext_storage_or_preview/azext_metadata.json new file mode 100644 index 00000000000..55c81bf3328 --- /dev/null +++ b/src/storage-or-preview/azext_storage_or_preview/azext_metadata.json @@ -0,0 +1,4 @@ +{ + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.0.67" +} \ No newline at end of file diff --git a/src/storage-or-preview/azext_storage_or_preview/commands.py b/src/storage-or-preview/azext_storage_or_preview/commands.py new file mode 100644 index 00000000000..97e74a70be4 --- /dev/null +++ b/src/storage-or-preview/azext_storage_or_preview/commands.py @@ -0,0 +1,42 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +from azure.cli.core.commands import CliCommandType + +from ._client_factory import cf_or_policy +from .profiles import CUSTOM_MGMT_STORAGE_ORS +from ._validators import validate_or_policy + + +def load_command_table(self, _): + + or_policy_sdk = CliCommandType( + operations_tmpl='azext_storage_or_preview.vendored_sdks.azure_mgmt_storage.operations' + '#ObjectReplicationPoliciesOperations.{}', + client_factory=cf_or_policy, + resource_type=CUSTOM_MGMT_STORAGE_ORS + ) + + or_policy_custom_type = CliCommandType( + operations_tmpl='azext_storage_or_preview.operations.account#{}', + client_factory=cf_or_policy) + + with self.command_group('storage account or-policy', or_policy_sdk, is_preview=True, + resource_type=CUSTOM_MGMT_STORAGE_ORS, min_api='2019-06-01', + custom_command_type=or_policy_custom_type) as g: + g.show_command('show', 'get') + g.command('list', 'list') + g.custom_command('create', 'create_or_policy', validator=validate_or_policy) + g.generic_update_command('update', setter_name='update_or_policy', setter_type=or_policy_custom_type) + g.command('delete', 'delete') + + with self.command_group('storage account or-policy rule', or_policy_sdk, is_preview=True, + resource_type=CUSTOM_MGMT_STORAGE_ORS, min_api='2019-06-01', + custom_command_type=or_policy_custom_type) as g: + g.custom_show_command('show', 'get_or_rule') + g.custom_command('list', 'list_or_rules') + g.custom_command('add', 'add_or_rule') + g.custom_command('update', 'update_or_rule') + g.custom_command('remove', 'remove_or_rule') diff --git a/src/storage-or-preview/azext_storage_or_preview/operations/__init__.py b/src/storage-or-preview/azext_storage_or_preview/operations/__init__.py new file mode 100644 index 00000000000..34913fb394d --- /dev/null +++ b/src/storage-or-preview/azext_storage_or_preview/operations/__init__.py @@ -0,0 +1,4 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- diff --git a/src/storage-or-preview/azext_storage_or_preview/operations/account.py b/src/storage-or-preview/azext_storage_or_preview/operations/account.py new file mode 100644 index 00000000000..ff361b6a5ce --- /dev/null +++ b/src/storage-or-preview/azext_storage_or_preview/operations/account.py @@ -0,0 +1,130 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +"""Custom operations for storage account commands""" + +from azure.cli.core.util import find_child_item + +from knack.log import get_logger +from knack.util import CLIError + +logger = get_logger(__name__) + + +def create_or_policy(cmd, client, resource_group_name, account_name, properties=None, source_account=None, + destination_account=None, policy_id="default", rule_id=None, source_container=None, + destination_container=None, min_creation_time=None, prefix_match=None): + + ObjectReplicationPolicy = cmd.get_models('ObjectReplicationPolicy') + + if properties is None: + rules = [] + ObjectReplicationPolicyRule, ObjectReplicationPolicyFilter = \ + cmd.get_models('ObjectReplicationPolicyRule', 'ObjectReplicationPolicyFilter') + if source_container and destination_container: + rule = ObjectReplicationPolicyRule( + rule_id=rule_id, + source_container=source_container, + destination_container=destination_container, + filters=ObjectReplicationPolicyFilter(prefix_match=prefix_match, min_creation_time=min_creation_time) + ) + rules.append(rule) + or_policy = ObjectReplicationPolicy(source_account=source_account, + destination_account=destination_account, + rules=rules) + else: + or_policy = properties + + return client.create_or_update(resource_group_name=resource_group_name, account_name=account_name, + object_replication_policy_id=policy_id, properties=or_policy) + + +def update_or_policy(client, parameters, resource_group_name, account_name, object_replication_policy_id=None, + properties=None, source_account=None, destination_account=None, ): + + if source_account is not None: + parameters.source_account = source_account + if destination_account is not None: + parameters.destination_account = destination_account + + if properties is not None: + parameters = properties + if "policyId" in properties.keys() and properties["policyId"]: + object_replication_policy_id = properties["policyId"] + + return client.create_or_update(resource_group_name=resource_group_name, account_name=account_name, + object_replication_policy_id=object_replication_policy_id, properties=parameters) + + +def get_or_policy(client, resource_group_name, account_name, policy_id='default'): + return client.get(resource_group_name=resource_group_name, account_name=account_name, + object_replication_policy_id=policy_id) + + +def add_or_rule(cmd, client, resource_group_name, account_name, policy_id, + source_container, destination_container, min_creation_time=None, prefix_match=None): + + """ + Initialize rule for or policy + """ + policy_properties = client.get(resource_group_name, account_name, policy_id) + + ObjectReplicationPolicyRule, ObjectReplicationPolicyFilter = \ + cmd.get_models('ObjectReplicationPolicyRule', 'ObjectReplicationPolicyFilter') + new_or_rule = ObjectReplicationPolicyRule( + source_container=source_container, + destination_container=destination_container, + filters=ObjectReplicationPolicyFilter(prefix_match=prefix_match, min_creation_time=min_creation_time) + ) + policy_properties.rules.append(new_or_rule) + return client.create_or_update(resource_group_name, account_name, policy_id, policy_properties) + + +def remove_or_rule(client, resource_group_name, account_name, policy_id, rule_id): + + or_policy = client.get(resource_group_name=resource_group_name, + account_name=account_name, + object_replication_policy_id=policy_id) + + rule = find_child_item(or_policy, rule_id, path='rules', key_path='rule_id') + or_policy.rules.remove(rule) + + return client.create_or_update(resource_group_name, account_name, policy_id, or_policy) + + +def get_or_rule(client, resource_group_name, account_name, policy_id, rule_id): + policy_properties = client.get(resource_group_name, account_name, policy_id) + for rule in policy_properties.rules: + if rule.rule_id == rule_id: + return rule + raise CLIError("{} does not exist.".format(rule_id)) + + +def list_or_rules(client, resource_group_name, account_name, policy_id): + policy_properties = client.get(resource_group_name, account_name, policy_id) + return policy_properties.rules + + +def update_or_rule(client, resource_group_name, account_name, policy_id, rule_id, source_container=None, + destination_container=None, min_creation_time=None, prefix_match=None): + + policy_properties = client.get(resource_group_name, account_name, policy_id) + + for i, rule in enumerate(policy_properties.rules): + if rule.rule_id == rule_id: + if destination_container is not None: + policy_properties.rules[i].destination_container = destination_container + if source_container is not None: + policy_properties.rules[i].source_container = source_container + if min_creation_time is not None: + policy_properties.rules[i].filters.min_creation_time = min_creation_time + if prefix_match is not None: + policy_properties.rules[i].filters.prefix_match = prefix_match + + client.create_or_update(resource_group_name=resource_group_name, account_name=account_name, + object_replication_policy_id=policy_id, properties=policy_properties) + + return get_or_rule(client, resource_group_name=resource_group_name, account_name=account_name, + policy_id=policy_id, rule_id=rule_id) diff --git a/src/storage-or-preview/azext_storage_or_preview/profiles.py b/src/storage-or-preview/azext_storage_or_preview/profiles.py new file mode 100644 index 00000000000..4d027a29e6e --- /dev/null +++ b/src/storage-or-preview/azext_storage_or_preview/profiles.py @@ -0,0 +1,9 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +from azure.cli.core.profiles import CustomResourceType + +CUSTOM_MGMT_STORAGE_ORS = CustomResourceType('azext_storage_or_preview.vendored_sdks.azure_mgmt_storage', + 'StorageManagementClient') diff --git a/src/storage-or-preview/azext_storage_or_preview/tests/__init__.py b/src/storage-or-preview/azext_storage_or_preview/tests/__init__.py new file mode 100644 index 00000000000..99c0f28cd71 --- /dev/null +++ b/src/storage-or-preview/azext_storage_or_preview/tests/__init__.py @@ -0,0 +1,5 @@ +# ----------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# ----------------------------------------------------------------------------- diff --git a/src/storage-or-preview/azext_storage_or_preview/tests/latest/__init__.py b/src/storage-or-preview/azext_storage_or_preview/tests/latest/__init__.py new file mode 100644 index 00000000000..5ddb01ff351 --- /dev/null +++ b/src/storage-or-preview/azext_storage_or_preview/tests/latest/__init__.py @@ -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. +# -----------------------------------------------------------------------------\ +from azure.cli.core.profiles import register_resource_type +from ...profiles import CUSTOM_MGMT_STORAGE_ORS +register_resource_type('latest', CUSTOM_MGMT_STORAGE_ORS, '2019-06-01') diff --git a/src/storage-or-preview/azext_storage_or_preview/tests/latest/recordings/test_storage_account_ors.yaml b/src/storage-or-preview/azext_storage_or_preview/tests/latest/recordings/test_storage_account_ors.yaml new file mode 100644 index 00000000000..832d8bda9bb --- /dev/null +++ b/src/storage-or-preview/azext_storage_or_preview/tests/latest/recordings/test_storage_account_ors.yaml @@ -0,0 +1,1693 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage account keys list + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -n -g --query -o + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.3 + azure-mgmt-storage/9.0.0 Azure-SDK-For-Python AZURECLI/2.5.1 + accept-language: + - en-US + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_account_ors000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2019-06-01 + response: + body: + string: '{"keys":[{"keyName":"key1","value":"veryFakedStorageAccountKey==","permissions":"FULL"},{"keyName":"key2","value":"veryFakedStorageAccountKey==","permissions":"FULL"}]}' + headers: + cache-control: + - no-cache + content-length: + - '288' + content-type: + - application/json + date: + - Thu, 30 Apr 2020 15:41:43 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + status: + code: 200 + message: OK +- request: + body: null + headers: + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.7.4; Windows 10) AZURECLI/2.5.1 + x-ms-date: + - Thu, 30 Apr 2020 15:41:45 GMT + x-ms-version: + - '2018-11-09' + method: PUT + uri: https://clitest000002.blob.core.windows.net/cont000005?restype=container + response: + body: + string: '' + headers: + content-length: + - '0' + date: + - Thu, 30 Apr 2020 15:41:48 GMT + etag: + - '"0x8D7ED1CFF3E5F7E"' + last-modified: + - Thu, 30 Apr 2020 15:41:49 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: + - '2018-11-09' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage account keys list + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -n -g --query -o + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.3 + azure-mgmt-storage/9.0.0 Azure-SDK-For-Python AZURECLI/2.5.1 + accept-language: + - en-US + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_account_ors000001/providers/Microsoft.Storage/storageAccounts/clitest000003/listKeys?api-version=2019-06-01 + response: + body: + string: '{"keys":[{"keyName":"key1","value":"veryFakedStorageAccountKey==","permissions":"FULL"},{"keyName":"key2","value":"veryFakedStorageAccountKey==","permissions":"FULL"}]}' + headers: + cache-control: + - no-cache + content-length: + - '288' + content-type: + - application/json + date: + - Thu, 30 Apr 2020 15:41:51 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + status: + code: 200 + message: OK +- request: + body: null + headers: + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.7.4; Windows 10) AZURECLI/2.5.1 + x-ms-date: + - Thu, 30 Apr 2020 15:41:53 GMT + x-ms-version: + - '2018-11-09' + method: PUT + uri: https://clitest000003.blob.core.windows.net/cont000006?restype=container + response: + body: + string: '' + headers: + content-length: + - '0' + date: + - Thu, 30 Apr 2020 15:41:57 GMT + etag: + - '"0x8D7ED1D046CB3C5"' + last-modified: + - Thu, 30 Apr 2020 15:41:58 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: + - '2018-11-09' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage account blob-service-properties update + Connection: + - keep-alive + ParameterSetName: + - -n -g --enable-change-feed + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.3 + azure-mgmt-storage/9.0.0 Azure-SDK-For-Python AZURECLI/2.5.1 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_account_ors000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default?api-version=2019-06-01 + response: + body: + string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_account_ors000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default","name":"default","type":"Microsoft.Storage/storageAccounts/blobServices","properties":{"cors":{"corsRules":[]},"deleteRetentionPolicy":{"enabled":false}}}' + headers: + cache-control: + - no-cache + content-length: + - '443' + content-type: + - application/json + date: + - Thu, 30 Apr 2020 15:42:00 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"properties": {"cors": {"corsRules": []}, "deleteRetentionPolicy": {"enabled": + false}, "changeFeed": {"enabled": true}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage account blob-service-properties update + Connection: + - keep-alive + Content-Length: + - '121' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -n -g --enable-change-feed + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.3 + azure-mgmt-storage/9.0.0 Azure-SDK-For-Python AZURECLI/2.5.1 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_account_ors000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default?api-version=2019-06-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_account_ors000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default","name":"default","type":"Microsoft.Storage/storageAccounts/blobServices","properties":{"changeFeed":{"enabled":true},"cors":{"corsRules":[]},"deleteRetentionPolicy":{"enabled":false}}}' + headers: + cache-control: + - no-cache + content-length: + - '425' + content-type: + - application/json + date: + - Thu, 30 Apr 2020 15:42:03 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage account blob-service-properties update + Connection: + - keep-alive + ParameterSetName: + - -n -g --enable-versioning + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.3 + azure-mgmt-storage/9.0.0 Azure-SDK-For-Python AZURECLI/2.5.1 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_account_ors000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default?api-version=2019-06-01 + response: + body: + string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_account_ors000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default","name":"default","type":"Microsoft.Storage/storageAccounts/blobServices","properties":{"changeFeed":{"enabled":true},"cors":{"corsRules":[]},"deleteRetentionPolicy":{"enabled":false}}}' + headers: + cache-control: + - no-cache + content-length: + - '473' + content-type: + - application/json + date: + - Thu, 30 Apr 2020 15:42:05 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"properties": {"cors": {"corsRules": []}, "deleteRetentionPolicy": {"enabled": + false}, "isVersioningEnabled": true, "changeFeed": {"enabled": true}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage account blob-service-properties update + Connection: + - keep-alive + Content-Length: + - '150' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -n -g --enable-versioning + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.3 + azure-mgmt-storage/9.0.0 Azure-SDK-For-Python AZURECLI/2.5.1 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_account_ors000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default?api-version=2019-06-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_account_ors000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default","name":"default","type":"Microsoft.Storage/storageAccounts/blobServices","properties":{"changeFeed":{"enabled":true},"cors":{"corsRules":[]},"deleteRetentionPolicy":{"enabled":false},"isVersioningEnabled":true}}' + headers: + cache-control: + - no-cache + content-length: + - '452' + content-type: + - application/json + date: + - Thu, 30 Apr 2020 15:42:06 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage account blob-service-properties update + Connection: + - keep-alive + ParameterSetName: + - -n -g --enable-versioning + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.3 + azure-mgmt-storage/9.0.0 Azure-SDK-For-Python AZURECLI/2.5.1 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_account_ors000001/providers/Microsoft.Storage/storageAccounts/clitest000003/blobServices/default?api-version=2019-06-01 + response: + body: + string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_account_ors000001/providers/Microsoft.Storage/storageAccounts/clitest000003/blobServices/default","name":"default","type":"Microsoft.Storage/storageAccounts/blobServices","properties":{"cors":{"corsRules":[]},"deleteRetentionPolicy":{"enabled":false}}}' + headers: + cache-control: + - no-cache + content-length: + - '443' + content-type: + - application/json + date: + - Thu, 30 Apr 2020 15:42:09 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"properties": {"cors": {"corsRules": []}, "deleteRetentionPolicy": {"enabled": + false}, "isVersioningEnabled": true}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage account blob-service-properties update + Connection: + - keep-alive + Content-Length: + - '117' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -n -g --enable-versioning + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.3 + azure-mgmt-storage/9.0.0 Azure-SDK-For-Python AZURECLI/2.5.1 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_account_ors000001/providers/Microsoft.Storage/storageAccounts/clitest000003/blobServices/default?api-version=2019-06-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_account_ors000001/providers/Microsoft.Storage/storageAccounts/clitest000003/blobServices/default","name":"default","type":"Microsoft.Storage/storageAccounts/blobServices","properties":{"cors":{"corsRules":[]},"deleteRetentionPolicy":{"enabled":false},"isVersioningEnabled":true}}' + headers: + cache-control: + - no-cache + content-length: + - '422' + content-type: + - application/json + date: + - Thu, 30 Apr 2020 15:42:10 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: 'b''b\''{"properties": {"sourceAccount": "clitest000002", "destinationAccount": + "clitest000003", "rules": [{"sourceContainer": "cont000005", "destinationContainer": + "cont000006", "filters": {"minCreationTime": "2020-02-19T16:05:00Z"}}]}}\''''' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage account or-policy create + Connection: + - keep-alive + Content-Length: + - '279' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -g -n -s --destination-container --source-container -t + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.3 + azure-mgmt-storage/7.1.0 Azure-SDK-For-Python AZURECLI/2.5.1 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_account_ors000001/providers/Microsoft.Storage/storageAccounts/clitest000003/objectReplicationPolicies/default?api-version=2019-06-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_account_ors000001/providers/Microsoft.Storage/storageAccounts/clitest000003/objectReplicationPolicies/4999e5a2-a572-408d-be0c-3fa7f6729eb1","name":"4999e5a2-a572-408d-be0c-3fa7f6729eb1","type":"Microsoft.Storage/storageAccounts/objectReplicationPolicies","properties":{"policyId":"4999e5a2-a572-408d-be0c-3fa7f6729eb1","sourceAccount":"clitest000002","destinationAccount":"clitest000003","rules":[{"ruleId":"e11cc19c-45ca-4dbd-9961-9b41a8f06ad6","sourceContainer":"cont000005","destinationContainer":"cont000006","filters":{"minCreationTime":"2020-02-19T16:05:00Z"}}]}}' + headers: + cache-control: + - no-cache + content-length: + - '762' + content-type: + - application/json + date: + - Thu, 30 Apr 2020 15:42:15 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage account or-policy show + Connection: + - keep-alive + ParameterSetName: + - -g -n --policy-id + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.3 + azure-mgmt-storage/7.1.0 Azure-SDK-For-Python AZURECLI/2.5.1 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_account_ors000001/providers/Microsoft.Storage/storageAccounts/clitest000003/objectReplicationPolicies/4999e5a2-a572-408d-be0c-3fa7f6729eb1?api-version=2019-06-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_account_ors000001/providers/Microsoft.Storage/storageAccounts/clitest000003/objectReplicationPolicies/4999e5a2-a572-408d-be0c-3fa7f6729eb1","name":"4999e5a2-a572-408d-be0c-3fa7f6729eb1","type":"Microsoft.Storage/storageAccounts/objectReplicationPolicies","properties":{"policyId":"4999e5a2-a572-408d-be0c-3fa7f6729eb1","sourceAccount":"clitest000002","destinationAccount":"clitest000003","rules":[{"ruleId":"e11cc19c-45ca-4dbd-9961-9b41a8f06ad6","sourceContainer":"cont000005","destinationContainer":"cont000006","filters":{"minCreationTime":"2020-02-19T16:05:00Z"}}]}}' + headers: + cache-control: + - no-cache + content-length: + - '762' + content-type: + - application/json + date: + - Thu, 30 Apr 2020 15:42:18 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.7.4; Windows 10) AZURECLI/2.5.1 + x-ms-date: + - Thu, 30 Apr 2020 15:42:20 GMT + x-ms-version: + - '2018-11-09' + method: PUT + uri: https://clitest000002.blob.core.windows.net/cont000007?restype=container + response: + body: + string: '' + headers: + content-length: + - '0' + date: + - Thu, 30 Apr 2020 15:42:21 GMT + etag: + - '"0x8D7ED1D12BF8259"' + last-modified: + - Thu, 30 Apr 2020 15:42:22 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: + - '2018-11-09' + status: + code: 201 + message: Created +- request: + body: null + headers: + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.7.4; Windows 10) AZURECLI/2.5.1 + x-ms-date: + - Thu, 30 Apr 2020 15:42:23 GMT + x-ms-version: + - '2018-11-09' + method: PUT + uri: https://clitest000003.blob.core.windows.net/cont000008?restype=container + response: + body: + string: '' + headers: + content-length: + - '0' + date: + - Thu, 30 Apr 2020 15:42:24 GMT + etag: + - '"0x8D7ED1D14CD4CC6"' + last-modified: + - Thu, 30 Apr 2020 15:42:25 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: + - '2018-11-09' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage account or-policy rule list + Connection: + - keep-alive + ParameterSetName: + - -g -n --policy-id + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.3 + azure-mgmt-storage/7.1.0 Azure-SDK-For-Python AZURECLI/2.5.1 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_account_ors000001/providers/Microsoft.Storage/storageAccounts/clitest000003/objectReplicationPolicies/4999e5a2-a572-408d-be0c-3fa7f6729eb1?api-version=2019-06-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_account_ors000001/providers/Microsoft.Storage/storageAccounts/clitest000003/objectReplicationPolicies/4999e5a2-a572-408d-be0c-3fa7f6729eb1","name":"4999e5a2-a572-408d-be0c-3fa7f6729eb1","type":"Microsoft.Storage/storageAccounts/objectReplicationPolicies","properties":{"policyId":"4999e5a2-a572-408d-be0c-3fa7f6729eb1","sourceAccount":"clitest000002","destinationAccount":"clitest000003","rules":[{"ruleId":"e11cc19c-45ca-4dbd-9961-9b41a8f06ad6","sourceContainer":"cont000005","destinationContainer":"cont000006","filters":{"minCreationTime":"2020-02-19T16:05:00Z"}}]}}' + headers: + cache-control: + - no-cache + content-length: + - '762' + content-type: + - application/json + date: + - Thu, 30 Apr 2020 15:42:28 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage account or-policy rule show + Connection: + - keep-alive + ParameterSetName: + - -g -n --rule-id --policy-id + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.3 + azure-mgmt-storage/7.1.0 Azure-SDK-For-Python AZURECLI/2.5.1 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_account_ors000001/providers/Microsoft.Storage/storageAccounts/clitest000003/objectReplicationPolicies/4999e5a2-a572-408d-be0c-3fa7f6729eb1?api-version=2019-06-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_account_ors000001/providers/Microsoft.Storage/storageAccounts/clitest000003/objectReplicationPolicies/4999e5a2-a572-408d-be0c-3fa7f6729eb1","name":"4999e5a2-a572-408d-be0c-3fa7f6729eb1","type":"Microsoft.Storage/storageAccounts/objectReplicationPolicies","properties":{"policyId":"4999e5a2-a572-408d-be0c-3fa7f6729eb1","sourceAccount":"clitest000002","destinationAccount":"clitest000003","rules":[{"ruleId":"e11cc19c-45ca-4dbd-9961-9b41a8f06ad6","sourceContainer":"cont000005","destinationContainer":"cont000006","filters":{"minCreationTime":"2020-02-19T16:05:00Z"}}]}}' + headers: + cache-control: + - no-cache + content-length: + - '762' + content-type: + - application/json + date: + - Thu, 30 Apr 2020 15:42:31 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage account or-policy rule add + Connection: + - keep-alive + ParameterSetName: + - -g -n --policy-id -d -s -t + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.3 + azure-mgmt-storage/7.1.0 Azure-SDK-For-Python AZURECLI/2.5.1 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_account_ors000001/providers/Microsoft.Storage/storageAccounts/clitest000003/objectReplicationPolicies/4999e5a2-a572-408d-be0c-3fa7f6729eb1?api-version=2019-06-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_account_ors000001/providers/Microsoft.Storage/storageAccounts/clitest000003/objectReplicationPolicies/4999e5a2-a572-408d-be0c-3fa7f6729eb1","name":"4999e5a2-a572-408d-be0c-3fa7f6729eb1","type":"Microsoft.Storage/storageAccounts/objectReplicationPolicies","properties":{"policyId":"4999e5a2-a572-408d-be0c-3fa7f6729eb1","sourceAccount":"clitest000002","destinationAccount":"clitest000003","rules":[{"ruleId":"e11cc19c-45ca-4dbd-9961-9b41a8f06ad6","sourceContainer":"cont000005","destinationContainer":"cont000006","filters":{"minCreationTime":"2020-02-19T16:05:00Z"}}]}}' + headers: + cache-control: + - no-cache + content-length: + - '762' + content-type: + - application/json + date: + - Thu, 30 Apr 2020 15:42:34 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: 'b''b\''{"properties": {"sourceAccount": "clitest000002", "destinationAccount": + "clitest000003", "rules": [{"ruleId": "e11cc19c-45ca-4dbd-9961-9b41a8f06ad6", + "sourceContainer": "cont000005", "destinationContainer": "cont000006", "filters": + {"minCreationTime": "2020-02-19T16:05:00Z"}}, {"sourceContainer": "cont000007", + "destinationContainer": "cont000008", "filters": {"minCreationTime": "2020-02-19T16:05:00Z"}}]}}\''''' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage account or-policy rule add + Connection: + - keep-alive + Content-Length: + - '486' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -g -n --policy-id -d -s -t + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.3 + azure-mgmt-storage/7.1.0 Azure-SDK-For-Python AZURECLI/2.5.1 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_account_ors000001/providers/Microsoft.Storage/storageAccounts/clitest000003/objectReplicationPolicies/4999e5a2-a572-408d-be0c-3fa7f6729eb1?api-version=2019-06-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_account_ors000001/providers/Microsoft.Storage/storageAccounts/clitest000003/objectReplicationPolicies/4999e5a2-a572-408d-be0c-3fa7f6729eb1","name":"4999e5a2-a572-408d-be0c-3fa7f6729eb1","type":"Microsoft.Storage/storageAccounts/objectReplicationPolicies","properties":{"policyId":"4999e5a2-a572-408d-be0c-3fa7f6729eb1","sourceAccount":"clitest000002","destinationAccount":"clitest000003","rules":[{"ruleId":"e11cc19c-45ca-4dbd-9961-9b41a8f06ad6","sourceContainer":"cont000005","destinationContainer":"cont000006","filters":{"minCreationTime":"2020-02-19T16:05:00Z"}},{"ruleId":"495766dc-2e99-44de-aba0-ada1a8a6677b","sourceContainer":"cont000007","destinationContainer":"cont000008","filters":{"minCreationTime":"2020-02-19T16:05:00Z"}}]}}' + headers: + cache-control: + - no-cache + content-length: + - '960' + content-type: + - application/json + date: + - Thu, 30 Apr 2020 15:42:35 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage account or-policy rule list + Connection: + - keep-alive + ParameterSetName: + - -g -n --policy-id + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.3 + azure-mgmt-storage/7.1.0 Azure-SDK-For-Python AZURECLI/2.5.1 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_account_ors000001/providers/Microsoft.Storage/storageAccounts/clitest000003/objectReplicationPolicies/4999e5a2-a572-408d-be0c-3fa7f6729eb1?api-version=2019-06-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_account_ors000001/providers/Microsoft.Storage/storageAccounts/clitest000003/objectReplicationPolicies/4999e5a2-a572-408d-be0c-3fa7f6729eb1","name":"4999e5a2-a572-408d-be0c-3fa7f6729eb1","type":"Microsoft.Storage/storageAccounts/objectReplicationPolicies","properties":{"policyId":"4999e5a2-a572-408d-be0c-3fa7f6729eb1","sourceAccount":"clitest000002","destinationAccount":"clitest000003","rules":[{"ruleId":"e11cc19c-45ca-4dbd-9961-9b41a8f06ad6","sourceContainer":"cont000005","destinationContainer":"cont000006","filters":{"minCreationTime":"2020-02-19T16:05:00Z"}},{"ruleId":"495766dc-2e99-44de-aba0-ada1a8a6677b","sourceContainer":"cont000007","destinationContainer":"cont000008","filters":{"minCreationTime":"2020-02-19T16:05:00Z"}}]}}' + headers: + cache-control: + - no-cache + content-length: + - '960' + content-type: + - application/json + date: + - Thu, 30 Apr 2020 15:42:38 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage account or-policy rule update + Connection: + - keep-alive + ParameterSetName: + - -g -n --policy-id --rule-id --prefix-match -t + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.3 + azure-mgmt-storage/7.1.0 Azure-SDK-For-Python AZURECLI/2.5.1 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_account_ors000001/providers/Microsoft.Storage/storageAccounts/clitest000003/objectReplicationPolicies/4999e5a2-a572-408d-be0c-3fa7f6729eb1?api-version=2019-06-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_account_ors000001/providers/Microsoft.Storage/storageAccounts/clitest000003/objectReplicationPolicies/4999e5a2-a572-408d-be0c-3fa7f6729eb1","name":"4999e5a2-a572-408d-be0c-3fa7f6729eb1","type":"Microsoft.Storage/storageAccounts/objectReplicationPolicies","properties":{"policyId":"4999e5a2-a572-408d-be0c-3fa7f6729eb1","sourceAccount":"clitest000002","destinationAccount":"clitest000003","rules":[{"ruleId":"e11cc19c-45ca-4dbd-9961-9b41a8f06ad6","sourceContainer":"cont000005","destinationContainer":"cont000006","filters":{"minCreationTime":"2020-02-19T16:05:00Z"}},{"ruleId":"495766dc-2e99-44de-aba0-ada1a8a6677b","sourceContainer":"cont000007","destinationContainer":"cont000008","filters":{"minCreationTime":"2020-02-19T16:05:00Z"}}]}}' + headers: + cache-control: + - no-cache + content-length: + - '960' + content-type: + - application/json + date: + - Thu, 30 Apr 2020 15:42:42 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: 'b''b\''{"properties": {"sourceAccount": "clitest000002", "destinationAccount": + "clitest000003", "rules": [{"ruleId": "e11cc19c-45ca-4dbd-9961-9b41a8f06ad6", + "sourceContainer": "cont000005", "destinationContainer": "cont000006", "filters": + {"minCreationTime": "2020-02-19T16:05:00Z"}}, {"ruleId": "495766dc-2e99-44de-aba0-ada1a8a6677b", + "sourceContainer": "cont000007", "destinationContainer": "cont000008", "filters": + {"prefixMatch": ["blobA", "blobB"], "minCreationTime": "2020-02-20T16:05:00Z"}}]}}\''''' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage account or-policy rule update + Connection: + - keep-alive + Content-Length: + - '571' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -g -n --policy-id --rule-id --prefix-match -t + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.3 + azure-mgmt-storage/7.1.0 Azure-SDK-For-Python AZURECLI/2.5.1 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_account_ors000001/providers/Microsoft.Storage/storageAccounts/clitest000003/objectReplicationPolicies/4999e5a2-a572-408d-be0c-3fa7f6729eb1?api-version=2019-06-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_account_ors000001/providers/Microsoft.Storage/storageAccounts/clitest000003/objectReplicationPolicies/4999e5a2-a572-408d-be0c-3fa7f6729eb1","name":"4999e5a2-a572-408d-be0c-3fa7f6729eb1","type":"Microsoft.Storage/storageAccounts/objectReplicationPolicies","properties":{"policyId":"4999e5a2-a572-408d-be0c-3fa7f6729eb1","sourceAccount":"clitest000002","destinationAccount":"clitest000003","rules":[{"ruleId":"e11cc19c-45ca-4dbd-9961-9b41a8f06ad6","sourceContainer":"cont000005","destinationContainer":"cont000006","filters":{"minCreationTime":"2020-02-19T16:05:00Z"}},{"ruleId":"495766dc-2e99-44de-aba0-ada1a8a6677b","sourceContainer":"cont000007","destinationContainer":"cont000008","filters":{"prefixMatch":["blobA","blobB"],"minCreationTime":"2020-02-20T16:05:00Z"}}]}}' + headers: + cache-control: + - no-cache + content-length: + - '992' + content-type: + - application/json + date: + - Thu, 30 Apr 2020 15:42:43 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage account or-policy rule update + Connection: + - keep-alive + ParameterSetName: + - -g -n --policy-id --rule-id --prefix-match -t + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.3 + azure-mgmt-storage/7.1.0 Azure-SDK-For-Python AZURECLI/2.5.1 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_account_ors000001/providers/Microsoft.Storage/storageAccounts/clitest000003/objectReplicationPolicies/4999e5a2-a572-408d-be0c-3fa7f6729eb1?api-version=2019-06-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_account_ors000001/providers/Microsoft.Storage/storageAccounts/clitest000003/objectReplicationPolicies/4999e5a2-a572-408d-be0c-3fa7f6729eb1","name":"4999e5a2-a572-408d-be0c-3fa7f6729eb1","type":"Microsoft.Storage/storageAccounts/objectReplicationPolicies","properties":{"policyId":"4999e5a2-a572-408d-be0c-3fa7f6729eb1","sourceAccount":"clitest000002","destinationAccount":"clitest000003","rules":[{"ruleId":"e11cc19c-45ca-4dbd-9961-9b41a8f06ad6","sourceContainer":"cont000005","destinationContainer":"cont000006","filters":{"minCreationTime":"2020-02-19T16:05:00Z"}},{"ruleId":"495766dc-2e99-44de-aba0-ada1a8a6677b","sourceContainer":"cont000007","destinationContainer":"cont000008","filters":{"prefixMatch":["blobA","blobB"],"minCreationTime":"2020-02-20T16:05:00Z"}}]}}' + headers: + cache-control: + - no-cache + content-length: + - '992' + content-type: + - application/json + date: + - Thu, 30 Apr 2020 15:42:43 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage account or-policy rule show + Connection: + - keep-alive + ParameterSetName: + - -g -n --policy-id --rule-id + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.3 + azure-mgmt-storage/7.1.0 Azure-SDK-For-Python AZURECLI/2.5.1 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_account_ors000001/providers/Microsoft.Storage/storageAccounts/clitest000003/objectReplicationPolicies/4999e5a2-a572-408d-be0c-3fa7f6729eb1?api-version=2019-06-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_account_ors000001/providers/Microsoft.Storage/storageAccounts/clitest000003/objectReplicationPolicies/4999e5a2-a572-408d-be0c-3fa7f6729eb1","name":"4999e5a2-a572-408d-be0c-3fa7f6729eb1","type":"Microsoft.Storage/storageAccounts/objectReplicationPolicies","properties":{"policyId":"4999e5a2-a572-408d-be0c-3fa7f6729eb1","sourceAccount":"clitest000002","destinationAccount":"clitest000003","rules":[{"ruleId":"e11cc19c-45ca-4dbd-9961-9b41a8f06ad6","sourceContainer":"cont000005","destinationContainer":"cont000006","filters":{"minCreationTime":"2020-02-19T16:05:00Z"}},{"ruleId":"495766dc-2e99-44de-aba0-ada1a8a6677b","sourceContainer":"cont000007","destinationContainer":"cont000008","filters":{"prefixMatch":["blobA","blobB"],"minCreationTime":"2020-02-20T16:05:00Z"}}]}}' + headers: + cache-control: + - no-cache + content-length: + - '992' + content-type: + - application/json + date: + - Thu, 30 Apr 2020 15:42:47 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage account or-policy rule remove + Connection: + - keep-alive + ParameterSetName: + - -g -n --policy-id --rule-id + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.3 + azure-mgmt-storage/7.1.0 Azure-SDK-For-Python AZURECLI/2.5.1 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_account_ors000001/providers/Microsoft.Storage/storageAccounts/clitest000003/objectReplicationPolicies/4999e5a2-a572-408d-be0c-3fa7f6729eb1?api-version=2019-06-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_account_ors000001/providers/Microsoft.Storage/storageAccounts/clitest000003/objectReplicationPolicies/4999e5a2-a572-408d-be0c-3fa7f6729eb1","name":"4999e5a2-a572-408d-be0c-3fa7f6729eb1","type":"Microsoft.Storage/storageAccounts/objectReplicationPolicies","properties":{"policyId":"4999e5a2-a572-408d-be0c-3fa7f6729eb1","sourceAccount":"clitest000002","destinationAccount":"clitest000003","rules":[{"ruleId":"e11cc19c-45ca-4dbd-9961-9b41a8f06ad6","sourceContainer":"cont000005","destinationContainer":"cont000006","filters":{"minCreationTime":"2020-02-19T16:05:00Z"}},{"ruleId":"495766dc-2e99-44de-aba0-ada1a8a6677b","sourceContainer":"cont000007","destinationContainer":"cont000008","filters":{"prefixMatch":["blobA","blobB"],"minCreationTime":"2020-02-20T16:05:00Z"}}]}}' + headers: + cache-control: + - no-cache + content-length: + - '992' + content-type: + - application/json + date: + - Thu, 30 Apr 2020 15:42:50 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: 'b''b\''{"properties": {"sourceAccount": "clitest000002", "destinationAccount": + "clitest000003", "rules": [{"ruleId": "e11cc19c-45ca-4dbd-9961-9b41a8f06ad6", + "sourceContainer": "cont000005", "destinationContainer": "cont000006", "filters": + {"minCreationTime": "2020-02-19T16:05:00Z"}}]}}\''''' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage account or-policy rule remove + Connection: + - keep-alive + Content-Length: + - '329' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -g -n --policy-id --rule-id + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.3 + azure-mgmt-storage/7.1.0 Azure-SDK-For-Python AZURECLI/2.5.1 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_account_ors000001/providers/Microsoft.Storage/storageAccounts/clitest000003/objectReplicationPolicies/4999e5a2-a572-408d-be0c-3fa7f6729eb1?api-version=2019-06-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_account_ors000001/providers/Microsoft.Storage/storageAccounts/clitest000003/objectReplicationPolicies/4999e5a2-a572-408d-be0c-3fa7f6729eb1","name":"4999e5a2-a572-408d-be0c-3fa7f6729eb1","type":"Microsoft.Storage/storageAccounts/objectReplicationPolicies","properties":{"policyId":"4999e5a2-a572-408d-be0c-3fa7f6729eb1","sourceAccount":"clitest000002","destinationAccount":"clitest000003","rules":[{"ruleId":"e11cc19c-45ca-4dbd-9961-9b41a8f06ad6","sourceContainer":"cont000005","destinationContainer":"cont000006","filters":{"minCreationTime":"2020-02-19T16:05:00Z"}}]}}' + headers: + cache-control: + - no-cache + content-length: + - '762' + content-type: + - application/json + date: + - Thu, 30 Apr 2020 15:42:51 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage account or-policy rule list + Connection: + - keep-alive + ParameterSetName: + - -g -n --policy-id + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.3 + azure-mgmt-storage/7.1.0 Azure-SDK-For-Python AZURECLI/2.5.1 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_account_ors000001/providers/Microsoft.Storage/storageAccounts/clitest000003/objectReplicationPolicies/4999e5a2-a572-408d-be0c-3fa7f6729eb1?api-version=2019-06-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_account_ors000001/providers/Microsoft.Storage/storageAccounts/clitest000003/objectReplicationPolicies/4999e5a2-a572-408d-be0c-3fa7f6729eb1","name":"4999e5a2-a572-408d-be0c-3fa7f6729eb1","type":"Microsoft.Storage/storageAccounts/objectReplicationPolicies","properties":{"policyId":"4999e5a2-a572-408d-be0c-3fa7f6729eb1","sourceAccount":"clitest000002","destinationAccount":"clitest000003","rules":[{"ruleId":"e11cc19c-45ca-4dbd-9961-9b41a8f06ad6","sourceContainer":"cont000005","destinationContainer":"cont000006","filters":{"minCreationTime":"2020-02-19T16:05:00Z"}}]}}' + headers: + cache-control: + - no-cache + content-length: + - '762' + content-type: + - application/json + date: + - Thu, 30 Apr 2020 15:42:53 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage account or-policy show + Connection: + - keep-alive + ParameterSetName: + - -g -n --policy-id + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.3 + azure-mgmt-storage/7.1.0 Azure-SDK-For-Python AZURECLI/2.5.1 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_account_ors000001/providers/Microsoft.Storage/storageAccounts/clitest000003/objectReplicationPolicies/4999e5a2-a572-408d-be0c-3fa7f6729eb1?api-version=2019-06-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_account_ors000001/providers/Microsoft.Storage/storageAccounts/clitest000003/objectReplicationPolicies/4999e5a2-a572-408d-be0c-3fa7f6729eb1","name":"4999e5a2-a572-408d-be0c-3fa7f6729eb1","type":"Microsoft.Storage/storageAccounts/objectReplicationPolicies","properties":{"policyId":"4999e5a2-a572-408d-be0c-3fa7f6729eb1","sourceAccount":"clitest000002","destinationAccount":"clitest000003","rules":[{"ruleId":"e11cc19c-45ca-4dbd-9961-9b41a8f06ad6","sourceContainer":"cont000005","destinationContainer":"cont000006","filters":{"minCreationTime":"2020-02-19T16:05:00Z"}}]}}' + headers: + cache-control: + - no-cache + content-length: + - '762' + content-type: + - application/json + date: + - Thu, 30 Apr 2020 15:42:57 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: 'b''b\''{"properties": {"sourceAccount": "clitest000002", "destinationAccount": + "clitest000003", "rules": [{"ruleId": "e11cc19c-45ca-4dbd-9961-9b41a8f06ad6", + "sourceContainer": "cont000005", "destinationContainer": "cont000006", "filters": + {"minCreationTime": "2020-02-19T16:05:00Z"}}]}}\''''' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage account or-policy create + Connection: + - keep-alive + Content-Length: + - '329' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -g -n -p + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.3 + azure-mgmt-storage/7.1.0 Azure-SDK-For-Python AZURECLI/2.5.1 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_account_ors000001/providers/Microsoft.Storage/storageAccounts/clitest000002/objectReplicationPolicies/4999e5a2-a572-408d-be0c-3fa7f6729eb1?api-version=2019-06-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_account_ors000001/providers/Microsoft.Storage/storageAccounts/clitest000002/objectReplicationPolicies/4999e5a2-a572-408d-be0c-3fa7f6729eb1","name":"4999e5a2-a572-408d-be0c-3fa7f6729eb1","type":"Microsoft.Storage/storageAccounts/objectReplicationPolicies","properties":{"policyId":"4999e5a2-a572-408d-be0c-3fa7f6729eb1","enabledTime":"2020-04-30T15:43:00.0096489Z","sourceAccount":"clitest000002","destinationAccount":"clitest000003","rules":[{"ruleId":"e11cc19c-45ca-4dbd-9961-9b41a8f06ad6","sourceContainer":"cont000005","destinationContainer":"cont000006","filters":{"minCreationTime":"2020-02-19T16:05:00Z"}}]}}' + headers: + cache-control: + - no-cache + content-length: + - '807' + content-type: + - application/json + date: + - Thu, 30 Apr 2020 15:43:00 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage account or-policy update + Connection: + - keep-alive + ParameterSetName: + - -g -n --policy-id --source-account + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.3 + azure-mgmt-storage/7.1.0 Azure-SDK-For-Python AZURECLI/2.5.1 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_account_ors000001/providers/Microsoft.Storage/storageAccounts/clitest000003/objectReplicationPolicies/4999e5a2-a572-408d-be0c-3fa7f6729eb1?api-version=2019-06-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_account_ors000001/providers/Microsoft.Storage/storageAccounts/clitest000003/objectReplicationPolicies/4999e5a2-a572-408d-be0c-3fa7f6729eb1","name":"4999e5a2-a572-408d-be0c-3fa7f6729eb1","type":"Microsoft.Storage/storageAccounts/objectReplicationPolicies","properties":{"policyId":"4999e5a2-a572-408d-be0c-3fa7f6729eb1","sourceAccount":"clitest000002","destinationAccount":"clitest000003","rules":[{"ruleId":"e11cc19c-45ca-4dbd-9961-9b41a8f06ad6","sourceContainer":"cont000005","destinationContainer":"cont000006","filters":{"minCreationTime":"2020-02-19T16:05:00Z"}}]}}' + headers: + cache-control: + - no-cache + content-length: + - '762' + content-type: + - application/json + date: + - Thu, 30 Apr 2020 15:43:02 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: 'b''b\''{"properties": {"sourceAccount": "clitest000004", "destinationAccount": + "clitest000003", "rules": [{"ruleId": "e11cc19c-45ca-4dbd-9961-9b41a8f06ad6", + "sourceContainer": "cont000005", "destinationContainer": "cont000006", "filters": + {"minCreationTime": "2020-02-19T16:05:00Z"}}]}}\''''' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage account or-policy update + Connection: + - keep-alive + Content-Length: + - '329' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -g -n --policy-id --source-account + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.3 + azure-mgmt-storage/7.1.0 Azure-SDK-For-Python AZURECLI/2.5.1 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_account_ors000001/providers/Microsoft.Storage/storageAccounts/clitest000003/objectReplicationPolicies/4999e5a2-a572-408d-be0c-3fa7f6729eb1?api-version=2019-06-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_account_ors000001/providers/Microsoft.Storage/storageAccounts/clitest000003/objectReplicationPolicies/4999e5a2-a572-408d-be0c-3fa7f6729eb1","name":"4999e5a2-a572-408d-be0c-3fa7f6729eb1","type":"Microsoft.Storage/storageAccounts/objectReplicationPolicies","properties":{"policyId":"4999e5a2-a572-408d-be0c-3fa7f6729eb1","sourceAccount":"clitest000004","destinationAccount":"clitest000003","rules":[{"ruleId":"e11cc19c-45ca-4dbd-9961-9b41a8f06ad6","sourceContainer":"cont000005","destinationContainer":"cont000006","filters":{"minCreationTime":"2020-02-19T16:05:00Z"}}]}}' + headers: + cache-control: + - no-cache + content-length: + - '762' + content-type: + - application/json + date: + - Thu, 30 Apr 2020 15:43:04 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage account or-policy delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g -n --policy-id + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.3 + azure-mgmt-storage/7.1.0 Azure-SDK-For-Python AZURECLI/2.5.1 + accept-language: + - en-US + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_account_ors000001/providers/Microsoft.Storage/storageAccounts/clitest000002/objectReplicationPolicies/4999e5a2-a572-408d-be0c-3fa7f6729eb1?api-version=2019-06-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + content-type: + - text/plain; charset=utf-8 + date: + - Thu, 30 Apr 2020 15:43:07 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage account or-policy list + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.3 + azure-mgmt-storage/7.1.0 Azure-SDK-For-Python AZURECLI/2.5.1 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_account_ors000001/providers/Microsoft.Storage/storageAccounts/clitest000002/objectReplicationPolicies?api-version=2019-06-01 + response: + body: + string: '{"value":[]}' + headers: + cache-control: + - no-cache + content-length: + - '12' + content-type: + - application/json + date: + - Thu, 30 Apr 2020 15:43:10 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage account or-policy delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g -n --policy-id + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.3 + azure-mgmt-storage/7.1.0 Azure-SDK-For-Python AZURECLI/2.5.1 + accept-language: + - en-US + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_account_ors000001/providers/Microsoft.Storage/storageAccounts/clitest000003/objectReplicationPolicies/4999e5a2-a572-408d-be0c-3fa7f6729eb1?api-version=2019-06-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + content-type: + - text/plain; charset=utf-8 + date: + - Thu, 30 Apr 2020 15:43:14 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage account or-policy list + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.3 + azure-mgmt-storage/7.1.0 Azure-SDK-For-Python AZURECLI/2.5.1 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_account_ors000001/providers/Microsoft.Storage/storageAccounts/clitest000003/objectReplicationPolicies?api-version=2019-06-01 + response: + body: + string: '{"value":[]}' + headers: + cache-control: + - no-cache + content-length: + - '12' + content-type: + - application/json + date: + - Thu, 30 Apr 2020 15:43:18 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +version: 1 diff --git a/src/storage-or-preview/azext_storage_or_preview/tests/latest/test_storage_account_ors_scenario.py b/src/storage-or-preview/azext_storage_or_preview/tests/latest/test_storage_account_ors_scenario.py new file mode 100644 index 00000000000..0e04f07cf10 --- /dev/null +++ b/src/storage-or-preview/azext_storage_or_preview/tests/latest/test_storage_account_ors_scenario.py @@ -0,0 +1,133 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +import os + +from azure.cli.testsdk import (ScenarioTest, ResourceGroupPreparer, StorageAccountPreparer, + JMESPathCheck, api_version_constraint) +from ..storage_test_util import StorageScenarioMixin +from ...profiles import CUSTOM_MGMT_STORAGE_ORS + + +TEST_DIR = os.path.abspath(os.path.join(os.path.abspath(__file__), '..')) + + +class StorageAccountORSScenarioTest(StorageScenarioMixin, ScenarioTest): + @api_version_constraint(CUSTOM_MGMT_STORAGE_ORS, min_api='2019-06-01') + @ResourceGroupPreparer(name_prefix='cli_test_storage_account_ors', location='eastus2euap') + @StorageAccountPreparer(parameter_name='source_account', location='eastus2euap', kind='StorageV2') + @StorageAccountPreparer(parameter_name='destination_account', location='eastus2euap', kind='StorageV2') + @StorageAccountPreparer(parameter_name='new_account', location='eastus2euap', kind='StorageV2') + def test_storage_account_ors(self, resource_group, source_account, destination_account, new_account): + src_account_info = self.get_account_info(resource_group, source_account) + src_container = self.create_container(src_account_info) + dest_account_info = self.get_account_info(resource_group, destination_account) + dest_container = self.create_container(dest_account_info) + self.kwargs.update({ + 'rg': resource_group, + 'src_sc': source_account, + 'dest_sc': destination_account, + 'new_sc': new_account, + 'scont': src_container, + 'dcont': dest_container, + }) + + # Enable ChangeFeed for Source Storage Accounts + self.cmd('storage account blob-service-properties update -n {src_sc} -g {rg} --enable-change-feed', checks=[ + JMESPathCheck('changeFeed.enabled', True)]) + + # Enable Versioning for two Storage Accounts + self.cmd('storage account blob-service-properties update -n {src_sc} -g {rg} --enable-versioning', checks=[ + JMESPathCheck('isVersioningEnabled', True)]) + + self.cmd('storage account blob-service-properties update -n {dest_sc} -g {rg} --enable-versioning', checks=[ + JMESPathCheck('isVersioningEnabled', True)]) + + # Create ORS policy on destination account + result = self.cmd('storage account or-policy create -g {rg} -n {dest_sc} -s {src_sc} --destination-container {dcont} --source-container {scont} -t "2020-02-19T16:05:00Z"')\ + .get_output_in_json() + self.assertIn('policyId', result) + self.assertIn('ruleId', result['rules'][0]) + self.assertEqual(result["rules"][0]["filters"]["minCreationTime"], "2020-02-19T16:05:00Z") + + self.kwargs.update({ + 'policy_id': result["policyId"], + 'rule_id': result["rules"][0]["ruleId"] + }) + + # Get policy properties from destination account + self.cmd('storage account or-policy show -g {rg} -n {dest_sc} --policy-id {policy_id}') \ + .assert_with_checks(JMESPathCheck('type', "Microsoft.Storage/storageAccounts/objectReplicationPolicies")) \ + .assert_with_checks(JMESPathCheck('sourceAccount', source_account)) \ + .assert_with_checks(JMESPathCheck('destinationAccount', destination_account)) \ + .assert_with_checks(JMESPathCheck('rules[0].sourceContainer', src_container)) \ + .assert_with_checks(JMESPathCheck('rules[0].destinationContainer', dest_container)) + + # Add rules + src_container1 = self.create_container(src_account_info) + dest_container1 = self.create_container(dest_account_info) + self.cmd('storage account or-policy rule list -g {rg} -n {dest_sc} --policy-id {policy_id}')\ + .assert_with_checks(JMESPathCheck('length(@)', 1)) + self.cmd('storage account or-policy rule show -g {rg} -n {dest_sc} --rule-id {rule_id} --policy-id {policy_id}')\ + .assert_with_checks(JMESPathCheck('ruleId', result["rules"][0]["ruleId"])) \ + .assert_with_checks(JMESPathCheck('sourceContainer', src_container)) \ + .assert_with_checks(JMESPathCheck('destinationContainer', dest_container)) + + result = self.cmd('storage account or-policy rule add -g {} -n {} --policy-id {} -d {} -s {} -t "2020-02-19T16:05:00Z"'.format( + resource_group, destination_account, self.kwargs["policy_id"], dest_container1, src_container1)).get_output_in_json() + self.assertEqual(result["rules"][0]["filters"]["minCreationTime"], "2020-02-19T16:05:00Z") + + self.cmd('storage account or-policy rule list -g {rg} -n {dest_sc} --policy-id {policy_id}')\ + .assert_with_checks(JMESPathCheck('length(@)', 2)) + + # Update rules + self.cmd('storage account or-policy rule update -g {} -n {} --policy-id {} --rule-id {} --prefix-match blobA blobB -t "2020-02-20T16:05:00Z"'.format( + resource_group, destination_account, result['policyId'], result['rules'][1]['ruleId'])) \ + .assert_with_checks(JMESPathCheck('filters.prefixMatch[0]', 'blobA')) \ + .assert_with_checks(JMESPathCheck('filters.prefixMatch[1]', 'blobB')) \ + .assert_with_checks(JMESPathCheck('filters.minCreationTime', '2020-02-20T16:05:00Z')) + + self.cmd('storage account or-policy rule show -g {} -n {} --policy-id {} --rule-id {}'.format( + resource_group, destination_account, result['policyId'], result['rules'][1]['ruleId'])) \ + .assert_with_checks(JMESPathCheck('filters.prefixMatch[0]', 'blobA')) \ + .assert_with_checks(JMESPathCheck('filters.prefixMatch[1]', 'blobB')) \ + .assert_with_checks(JMESPathCheck('filters.minCreationTime', '2020-02-20T16:05:00Z')) + + # Remove rules + self.cmd('storage account or-policy rule remove -g {} -n {} --policy-id {} --rule-id {}'.format( + resource_group, destination_account, result['policyId'], result['rules'][1]['ruleId'])) + self.cmd('storage account or-policy rule list -g {rg} -n {dest_sc} --policy-id {policy_id}') \ + .assert_with_checks(JMESPathCheck('length(@)', 1)) + + # Set ORS policy to source account + import json + temp_dir = self.create_temp_dir() + policy_file = os.path.join(temp_dir, "policy.json") + with open(policy_file, "w") as f: + policy = self.cmd('storage account or-policy show -g {rg} -n {dest_sc} --policy-id {policy_id}')\ + .get_output_in_json() + json.dump(policy, f) + self.kwargs['policy'] = policy_file + self.cmd('storage account or-policy create -g {rg} -n {src_sc} -p @"{policy}"')\ + .assert_with_checks(JMESPathCheck('type', "Microsoft.Storage/storageAccounts/objectReplicationPolicies")) \ + .assert_with_checks(JMESPathCheck('sourceAccount', source_account)) \ + .assert_with_checks(JMESPathCheck('destinationAccount', destination_account)) \ + .assert_with_checks(JMESPathCheck('rules[0].sourceContainer', src_container)) \ + .assert_with_checks(JMESPathCheck('rules[0].destinationContainer', dest_container)) \ + .assert_with_checks(JMESPathCheck('rules[0].filters.minCreationTime', '2020-02-19T16:05:00Z')) + + # Update ORS policy + self.cmd('storage account or-policy update -g {} -n {} --policy-id {} --source-account {}'.format( + resource_group, destination_account, self.kwargs["policy_id"], new_account)) \ + .assert_with_checks(JMESPathCheck('sourceAccount', new_account)) + + # Delete policy from destination and source account + self.cmd('storage account or-policy delete -g {rg} -n {src_sc} --policy-id {policy_id}') + self.cmd('storage account or-policy list -g {rg} -n {src_sc}') \ + .assert_with_checks(JMESPathCheck('length(@)', 0)) + + self.cmd('storage account or-policy delete -g {rg} -n {dest_sc} --policy-id {policy_id}') + self.cmd('storage account or-policy list -g {rg} -n {dest_sc}') \ + .assert_with_checks(JMESPathCheck('length(@)', 0)) diff --git a/src/storage-or-preview/azext_storage_or_preview/tests/storage_test_util.py b/src/storage-or-preview/azext_storage_or_preview/tests/storage_test_util.py new file mode 100644 index 00000000000..05d67d5a052 --- /dev/null +++ b/src/storage-or-preview/azext_storage_or_preview/tests/storage_test_util.py @@ -0,0 +1,89 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +import os +import tempfile +import shutil + +from azure.cli.testsdk.preparers import AbstractPreparer + +# pylint: disable=unused-argument + + +class StorageScenarioMixin(object): + profile = None + + def get_current_profile(self): + if not self.profile: + self.profile = self.cmd('cloud show --query profile -otsv').output + return self.profile + + def get_account_key(self, group, name): + if self.get_current_profile() == '2017-03-09-profile': + template = 'storage account keys list -n {} -g {} --query "key1" -otsv' + else: + template = 'storage account keys list -n {} -g {} --query "[0].value" -otsv' + + return self.cmd(template.format(name, group)).output + + def get_account_info(self, group, name): + """Returns the storage account name and key in a tuple""" + return name, self.get_account_key(group, name) + + def storage_cmd(self, cmd, account_info, *args): + cmd = cmd.format(*args) + cmd = '{} --account-name {} --account-key {}'.format(cmd, *account_info) + return self.cmd(cmd) + + def storage_cmd_negative(self, cmd, account_info, *args): + cmd = cmd.format(*args) + cmd = '{} --account-name {} --account-key {}'.format(cmd, *account_info) + return self.cmd(cmd, expect_failure=True) + + def create_container(self, account_info, prefix='cont', length=24): + container_name = self.create_random_name(prefix=prefix, length=length) + self.storage_cmd('storage container create -n {}', account_info, container_name) + return container_name + + def create_share(self, account_info, prefix='share', length=24): + share_name = self.create_random_name(prefix=prefix, length=length) + self.storage_cmd('storage share create -n {}', account_info, share_name) + return share_name + + +class StorageTestFilesPreparer(AbstractPreparer): + def __init__(self, parameter_name='test_dir'): + super(StorageTestFilesPreparer, self).__init__(name_prefix='test', name_len=24) + self.parameter_name = parameter_name + + def create_resource(self, name, **kwargs): + temp_dir = os.path.join(tempfile.gettempdir(), self.random_name) + if not os.path.exists(temp_dir): + os.mkdir(temp_dir) + + with open(os.path.join(temp_dir, 'readme'), 'w') as f: + f.write('This directory contains test files generated by Azure CLI storage command ' + 'module tests.') + + for folder_name in ['apple', 'butter', 'butter/charlie', 'duff/edward']: + for file_index in range(10): + file_path = os.path.join(temp_dir, folder_name, 'file_%s' % file_index) + if not os.path.exists(os.path.dirname(file_path)): + os.makedirs(os.path.dirname(file_path)) + + with open(file_path, 'w') as f: + f.write('Azure CLI storage command module test sample file. origin:' + ' %s' % file_path) + + setattr(self, '_temp_dir', temp_dir) + return {self.parameter_name: temp_dir} + + def remove_resource(self, name, **kwargs): + temp_dir = self.get_temp_dir() + if temp_dir: + shutil.rmtree(temp_dir, ignore_errors=True) + + def get_temp_dir(self): + return getattr(self, '_temp_dir', None) diff --git a/src/storage-or-preview/azext_storage_or_preview/vendored_sdks/__init__.py b/src/storage-or-preview/azext_storage_or_preview/vendored_sdks/__init__.py new file mode 100644 index 00000000000..a5b81f3bde4 --- /dev/null +++ b/src/storage-or-preview/azext_storage_or_preview/vendored_sdks/__init__.py @@ -0,0 +1,6 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +__import__('pkg_resources').declare_namespace(__name__) diff --git a/src/storage-or-preview/azext_storage_or_preview/vendored_sdks/azure_mgmt_storage/__init__.py b/src/storage-or-preview/azext_storage_or_preview/vendored_sdks/azure_mgmt_storage/__init__.py new file mode 100644 index 00000000000..da2c3f969e6 --- /dev/null +++ b/src/storage-or-preview/azext_storage_or_preview/vendored_sdks/azure_mgmt_storage/__init__.py @@ -0,0 +1,19 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from ._configuration import StorageManagementClientConfiguration +from ._storage_management_client import StorageManagementClient +__all__ = ['StorageManagementClient', 'StorageManagementClientConfiguration'] + +from .version import VERSION + +__version__ = VERSION + diff --git a/src/storage-or-preview/azext_storage_or_preview/vendored_sdks/azure_mgmt_storage/_configuration.py b/src/storage-or-preview/azext_storage_or_preview/vendored_sdks/azure_mgmt_storage/_configuration.py new file mode 100644 index 00000000000..57fa5132dc8 --- /dev/null +++ b/src/storage-or-preview/azext_storage_or_preview/vendored_sdks/azure_mgmt_storage/_configuration.py @@ -0,0 +1,48 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +from msrestazure import AzureConfiguration + +from .version import VERSION + + +class StorageManagementClientConfiguration(AzureConfiguration): + """Configuration for StorageManagementClient + Note that all parameters used to create this instance are saved as instance + attributes. + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=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 base_url: + base_url = 'https://management.azure.com' + + super(StorageManagementClientConfiguration, self).__init__(base_url) + + # Starting Autorest.Python 4.0.64, make connection pool activated by default + self.keep_alive = True + + self.add_user_agent('azure-mgmt-storage/{}'.format(VERSION)) + self.add_user_agent('Azure-SDK-For-Python') + + self.credentials = credentials + self.subscription_id = subscription_id diff --git a/src/storage-or-preview/azext_storage_or_preview/vendored_sdks/azure_mgmt_storage/_storage_management_client.py b/src/storage-or-preview/azext_storage_or_preview/vendored_sdks/azure_mgmt_storage/_storage_management_client.py new file mode 100644 index 00000000000..34e11baa858 --- /dev/null +++ b/src/storage-or-preview/azext_storage_or_preview/vendored_sdks/azure_mgmt_storage/_storage_management_client.py @@ -0,0 +1,428 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.service_client import SDKClient +from msrest import Serializer, Deserializer + +from azure.profiles import KnownProfiles, ProfileDefinition +from azure.profiles.multiapiclient import MultiApiClientMixin +from ._configuration import StorageManagementClientConfiguration + + + +class StorageManagementClient(MultiApiClientMixin, SDKClient): + """The Azure Storage Management API. + + This ready contains multiple API versions, to help you deal with all Azure clouds + (Azure Stack, Azure Government, Azure China, etc.). + By default, uses latest API version available on public Azure. + For production, you should stick a particular api-version and/or profile. + The profile sets a mapping between the operation group and an API version. + The api-version parameter sets the default API version if the operation + group is not described in the profile. + + :ivar config: Configuration for client. + :vartype config: StorageManagementClientConfiguration + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param subscription_id: 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 str api_version: API version to use if no profile is provided, or if + missing in profile. + :param str base_url: Service URL + :param profile: A profile definition, from KnownProfiles to dict. + :type profile: azure.profiles.KnownProfiles + """ + + DEFAULT_API_VERSION = '2019-06-01' + _PROFILE_TAG = "azure.mgmt.storage.StorageManagementClient" + LATEST_PROFILE = ProfileDefinition({ + _PROFILE_TAG: { + None: DEFAULT_API_VERSION, + 'usage': '2018-02-01', + }}, + _PROFILE_TAG + " latest" + ) + + def __init__(self, credentials, subscription_id, api_version=None, base_url=None, profile=KnownProfiles.default): + self.config = StorageManagementClientConfiguration(credentials, subscription_id, base_url) + super(StorageManagementClient, self).__init__( + credentials, + self.config, + api_version=api_version, + profile=profile + ) + + @classmethod + def _models_dict(cls, api_version): + return {k: v for k, v in cls.models(api_version).__dict__.items() if isinstance(v, type)} + + @classmethod + def models(cls, api_version=DEFAULT_API_VERSION): + """Module depends on the API version: + + * 2015-06-15: :mod:`v2015_06_15.models` + * 2016-01-01: :mod:`v2016_01_01.models` + * 2016-12-01: :mod:`v2016_12_01.models` + * 2017-06-01: :mod:`v2017_06_01.models` + * 2017-10-01: :mod:`v2017_10_01.models` + * 2018-02-01: :mod:`v2018_02_01.models` + * 2018-03-01-preview: :mod:`v2018_03_01_preview.models` + * 2018-07-01: :mod:`v2018_07_01.models` + * 2018-11-01: :mod:`v2018_11_01.models` + * 2019-04-01: :mod:`v2019_04_01.models` + * 2019-06-01: :mod:`v2019_06_01.models` + """ + if api_version == '2015-06-15': + from .v2015_06_15 import models + return models + elif api_version == '2016-01-01': + from .v2016_01_01 import models + return models + elif api_version == '2016-12-01': + from .v2016_12_01 import models + return models + elif api_version == '2017-06-01': + from .v2017_06_01 import models + return models + elif api_version == '2017-10-01': + from .v2017_10_01 import models + return models + elif api_version == '2018-02-01': + from .v2018_02_01 import models + return models + elif api_version == '2018-03-01-preview': + from .v2018_03_01_preview import models + return models + elif api_version == '2018-07-01': + from .v2018_07_01 import models + return models + elif api_version == '2018-11-01': + from .v2018_11_01 import models + return models + elif api_version == '2019-04-01': + from .v2019_04_01 import models + return models + elif api_version == '2019-06-01': + from .v2019_06_01 import models + return models + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + + @property + def blob_containers(self): + """Instance depends on the API version: + + * 2018-02-01: :class:`BlobContainersOperations` + * 2018-03-01-preview: :class:`BlobContainersOperations` + * 2018-07-01: :class:`BlobContainersOperations` + * 2018-11-01: :class:`BlobContainersOperations` + * 2019-04-01: :class:`BlobContainersOperations` + * 2019-06-01: :class:`BlobContainersOperations` + """ + api_version = self._get_api_version('blob_containers') + if api_version == '2018-02-01': + from .v2018_02_01.operations import BlobContainersOperations as OperationClass + elif api_version == '2018-03-01-preview': + from .v2018_03_01_preview.operations import BlobContainersOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import BlobContainersOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import BlobContainersOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import BlobContainersOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import BlobContainersOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def blob_services(self): + """Instance depends on the API version: + + * 2018-07-01: :class:`BlobServicesOperations` + * 2018-11-01: :class:`BlobServicesOperations` + * 2019-04-01: :class:`BlobServicesOperations` + * 2019-06-01: :class:`BlobServicesOperations` + """ + api_version = self._get_api_version('blob_services') + if api_version == '2018-07-01': + from .v2018_07_01.operations import BlobServicesOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import BlobServicesOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import BlobServicesOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import BlobServicesOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def file_services(self): + """Instance depends on the API version: + + * 2019-04-01: :class:`FileServicesOperations` + * 2019-06-01: :class:`FileServicesOperations` + """ + api_version = self._get_api_version('file_services') + if api_version == '2019-04-01': + from .v2019_04_01.operations import FileServicesOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import FileServicesOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def file_shares(self): + """Instance depends on the API version: + + * 2019-04-01: :class:`FileSharesOperations` + * 2019-06-01: :class:`FileSharesOperations` + """ + api_version = self._get_api_version('file_shares') + if api_version == '2019-04-01': + from .v2019_04_01.operations import FileSharesOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import FileSharesOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def management_policies(self): + """Instance depends on the API version: + + * 2018-07-01: :class:`ManagementPoliciesOperations` + * 2018-11-01: :class:`ManagementPoliciesOperations` + * 2019-04-01: :class:`ManagementPoliciesOperations` + * 2019-06-01: :class:`ManagementPoliciesOperations` + """ + api_version = self._get_api_version('management_policies') + if api_version == '2018-07-01': + from .v2018_07_01.operations import ManagementPoliciesOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import ManagementPoliciesOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import ManagementPoliciesOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import ManagementPoliciesOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def object_replication_policies(self): + """Instance depends on the API version: + + * 2019-06-01: :class:`ObjectReplicationPoliciesOperations` + """ + api_version = self._get_api_version('object_replication_policies') + if api_version == '2019-06-01': + from .v2019_06_01.operations import ObjectReplicationPoliciesOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def operations(self): + """Instance depends on the API version: + + * 2017-06-01: :class:`Operations` + * 2017-10-01: :class:`Operations` + * 2018-02-01: :class:`Operations` + * 2018-03-01-preview: :class:`Operations` + * 2018-07-01: :class:`Operations` + * 2018-11-01: :class:`Operations` + * 2019-04-01: :class:`Operations` + * 2019-06-01: :class:`Operations` + """ + api_version = self._get_api_version('operations') + if api_version == '2017-06-01': + from .v2017_06_01.operations import Operations as OperationClass + elif api_version == '2017-10-01': + from .v2017_10_01.operations import Operations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import Operations as OperationClass + elif api_version == '2018-03-01-preview': + from .v2018_03_01_preview.operations import Operations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import Operations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import Operations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import Operations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import Operations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def private_endpoint_connections(self): + """Instance depends on the API version: + + * 2019-06-01: :class:`PrivateEndpointConnectionsOperations` + """ + api_version = self._get_api_version('private_endpoint_connections') + if api_version == '2019-06-01': + from .v2019_06_01.operations import PrivateEndpointConnectionsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def private_link_resources(self): + """Instance depends on the API version: + + * 2019-06-01: :class:`PrivateLinkResourcesOperations` + """ + api_version = self._get_api_version('private_link_resources') + if api_version == '2019-06-01': + from .v2019_06_01.operations import PrivateLinkResourcesOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def skus(self): + """Instance depends on the API version: + + * 2017-06-01: :class:`SkusOperations` + * 2017-10-01: :class:`SkusOperations` + * 2018-02-01: :class:`SkusOperations` + * 2018-03-01-preview: :class:`SkusOperations` + * 2018-07-01: :class:`SkusOperations` + * 2018-11-01: :class:`SkusOperations` + * 2019-04-01: :class:`SkusOperations` + * 2019-06-01: :class:`SkusOperations` + """ + api_version = self._get_api_version('skus') + if api_version == '2017-06-01': + from .v2017_06_01.operations import SkusOperations as OperationClass + elif api_version == '2017-10-01': + from .v2017_10_01.operations import SkusOperations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import SkusOperations as OperationClass + elif api_version == '2018-03-01-preview': + from .v2018_03_01_preview.operations import SkusOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import SkusOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import SkusOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import SkusOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import SkusOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def storage_accounts(self): + """Instance depends on the API version: + + * 2015-06-15: :class:`StorageAccountsOperations` + * 2016-01-01: :class:`StorageAccountsOperations` + * 2016-12-01: :class:`StorageAccountsOperations` + * 2017-06-01: :class:`StorageAccountsOperations` + * 2017-10-01: :class:`StorageAccountsOperations` + * 2018-02-01: :class:`StorageAccountsOperations` + * 2018-03-01-preview: :class:`StorageAccountsOperations` + * 2018-07-01: :class:`StorageAccountsOperations` + * 2018-11-01: :class:`StorageAccountsOperations` + * 2019-04-01: :class:`StorageAccountsOperations` + * 2019-06-01: :class:`StorageAccountsOperations` + """ + api_version = self._get_api_version('storage_accounts') + if api_version == '2015-06-15': + from .v2015_06_15.operations import StorageAccountsOperations as OperationClass + elif api_version == '2016-01-01': + from .v2016_01_01.operations import StorageAccountsOperations as OperationClass + elif api_version == '2016-12-01': + from .v2016_12_01.operations import StorageAccountsOperations as OperationClass + elif api_version == '2017-06-01': + from .v2017_06_01.operations import StorageAccountsOperations as OperationClass + elif api_version == '2017-10-01': + from .v2017_10_01.operations import StorageAccountsOperations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import StorageAccountsOperations as OperationClass + elif api_version == '2018-03-01-preview': + from .v2018_03_01_preview.operations import StorageAccountsOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import StorageAccountsOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import StorageAccountsOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import StorageAccountsOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import StorageAccountsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def usage(self): + """Instance depends on the API version: + + * 2015-06-15: :class:`UsageOperations` + * 2016-01-01: :class:`UsageOperations` + * 2016-12-01: :class:`UsageOperations` + * 2017-06-01: :class:`UsageOperations` + * 2017-10-01: :class:`UsageOperations` + * 2018-02-01: :class:`UsageOperations` + """ + api_version = self._get_api_version('usage') + if api_version == '2015-06-15': + from .v2015_06_15.operations import UsageOperations as OperationClass + elif api_version == '2016-01-01': + from .v2016_01_01.operations import UsageOperations as OperationClass + elif api_version == '2016-12-01': + from .v2016_12_01.operations import UsageOperations as OperationClass + elif api_version == '2017-06-01': + from .v2017_06_01.operations import UsageOperations as OperationClass + elif api_version == '2017-10-01': + from .v2017_10_01.operations import UsageOperations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import UsageOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def usages(self): + """Instance depends on the API version: + + * 2018-03-01-preview: :class:`UsagesOperations` + * 2018-07-01: :class:`UsagesOperations` + * 2018-11-01: :class:`UsagesOperations` + * 2019-04-01: :class:`UsagesOperations` + * 2019-06-01: :class:`UsagesOperations` + """ + api_version = self._get_api_version('usages') + if api_version == '2018-03-01-preview': + from .v2018_03_01_preview.operations import UsagesOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import UsagesOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import UsagesOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import UsagesOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import UsagesOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) diff --git a/src/storage-or-preview/azext_storage_or_preview/vendored_sdks/azure_mgmt_storage/models.py b/src/storage-or-preview/azext_storage_or_preview/vendored_sdks/azure_mgmt_storage/models.py new file mode 100644 index 00000000000..35b6148bf8e --- /dev/null +++ b/src/storage-or-preview/azext_storage_or_preview/vendored_sdks/azure_mgmt_storage/models.py @@ -0,0 +1,8 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- +from .v2018_02_01.models import * +from .v2019_06_01.models import * diff --git a/src/storage-or-preview/azext_storage_or_preview/vendored_sdks/azure_mgmt_storage/v2019_06_01/__init__.py b/src/storage-or-preview/azext_storage_or_preview/vendored_sdks/azure_mgmt_storage/v2019_06_01/__init__.py new file mode 100644 index 00000000000..da2c3f969e6 --- /dev/null +++ b/src/storage-or-preview/azext_storage_or_preview/vendored_sdks/azure_mgmt_storage/v2019_06_01/__init__.py @@ -0,0 +1,19 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from ._configuration import StorageManagementClientConfiguration +from ._storage_management_client import StorageManagementClient +__all__ = ['StorageManagementClient', 'StorageManagementClientConfiguration'] + +from .version import VERSION + +__version__ = VERSION + diff --git a/src/storage-or-preview/azext_storage_or_preview/vendored_sdks/azure_mgmt_storage/v2019_06_01/_configuration.py b/src/storage-or-preview/azext_storage_or_preview/vendored_sdks/azure_mgmt_storage/v2019_06_01/_configuration.py new file mode 100644 index 00000000000..57fa5132dc8 --- /dev/null +++ b/src/storage-or-preview/azext_storage_or_preview/vendored_sdks/azure_mgmt_storage/v2019_06_01/_configuration.py @@ -0,0 +1,48 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +from msrestazure import AzureConfiguration + +from .version import VERSION + + +class StorageManagementClientConfiguration(AzureConfiguration): + """Configuration for StorageManagementClient + Note that all parameters used to create this instance are saved as instance + attributes. + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=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 base_url: + base_url = 'https://management.azure.com' + + super(StorageManagementClientConfiguration, self).__init__(base_url) + + # Starting Autorest.Python 4.0.64, make connection pool activated by default + self.keep_alive = True + + self.add_user_agent('azure-mgmt-storage/{}'.format(VERSION)) + self.add_user_agent('Azure-SDK-For-Python') + + self.credentials = credentials + self.subscription_id = subscription_id diff --git a/src/storage-or-preview/azext_storage_or_preview/vendored_sdks/azure_mgmt_storage/v2019_06_01/_storage_management_client.py b/src/storage-or-preview/azext_storage_or_preview/vendored_sdks/azure_mgmt_storage/v2019_06_01/_storage_management_client.py new file mode 100644 index 00000000000..4d52a2fc3ee --- /dev/null +++ b/src/storage-or-preview/azext_storage_or_preview/vendored_sdks/azure_mgmt_storage/v2019_06_01/_storage_management_client.py @@ -0,0 +1,104 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.service_client import SDKClient +from msrest import Serializer, Deserializer + +from ._configuration import StorageManagementClientConfiguration +from .operations import Operations +from .operations import SkusOperations +from .operations import StorageAccountsOperations +from .operations import UsagesOperations +from .operations import ManagementPoliciesOperations +from .operations import PrivateEndpointConnectionsOperations +from .operations import PrivateLinkResourcesOperations +from .operations import ObjectReplicationPoliciesOperations +from .operations import BlobServicesOperations +from .operations import BlobContainersOperations +from .operations import FileServicesOperations +from .operations import FileSharesOperations +from . import models + + +class StorageManagementClient(SDKClient): + """The Azure Storage Management API. + + :ivar config: Configuration for client. + :vartype config: StorageManagementClientConfiguration + + :ivar operations: Operations operations + :vartype operations: azure.mgmt.storage.v2019_06_01.operations.Operations + :ivar skus: Skus operations + :vartype skus: azure.mgmt.storage.v2019_06_01.operations.SkusOperations + :ivar storage_accounts: StorageAccounts operations + :vartype storage_accounts: azure.mgmt.storage.v2019_06_01.operations.StorageAccountsOperations + :ivar usages: Usages operations + :vartype usages: azure.mgmt.storage.v2019_06_01.operations.UsagesOperations + :ivar management_policies: ManagementPolicies operations + :vartype management_policies: azure.mgmt.storage.v2019_06_01.operations.ManagementPoliciesOperations + :ivar private_endpoint_connections: PrivateEndpointConnections operations + :vartype private_endpoint_connections: azure.mgmt.storage.v2019_06_01.operations.PrivateEndpointConnectionsOperations + :ivar private_link_resources: PrivateLinkResources operations + :vartype private_link_resources: azure.mgmt.storage.v2019_06_01.operations.PrivateLinkResourcesOperations + :ivar object_replication_policies: ObjectReplicationPolicies operations + :vartype object_replication_policies: azure.mgmt.storage.v2019_06_01.operations.ObjectReplicationPoliciesOperations + :ivar blob_services: BlobServices operations + :vartype blob_services: azure.mgmt.storage.v2019_06_01.operations.BlobServicesOperations + :ivar blob_containers: BlobContainers operations + :vartype blob_containers: azure.mgmt.storage.v2019_06_01.operations.BlobContainersOperations + :ivar file_services: FileServices operations + :vartype file_services: azure.mgmt.storage.v2019_06_01.operations.FileServicesOperations + :ivar file_shares: FileShares operations + :vartype file_shares: azure.mgmt.storage.v2019_06_01.operations.FileSharesOperations + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=None): + + self.config = StorageManagementClientConfiguration(credentials, subscription_id, base_url) + super(StorageManagementClient, self).__init__(self.config.credentials, self.config) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self.api_version = '2019-06-01' + self._serialize = Serializer(client_models) + self._deserialize = Deserializer(client_models) + + self.operations = Operations( + self._client, self.config, self._serialize, self._deserialize) + self.skus = SkusOperations( + self._client, self.config, self._serialize, self._deserialize) + self.storage_accounts = StorageAccountsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.usages = UsagesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.management_policies = ManagementPoliciesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.private_endpoint_connections = PrivateEndpointConnectionsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.private_link_resources = PrivateLinkResourcesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.object_replication_policies = ObjectReplicationPoliciesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.blob_services = BlobServicesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.blob_containers = BlobContainersOperations( + self._client, self.config, self._serialize, self._deserialize) + self.file_services = FileServicesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.file_shares = FileSharesOperations( + self._client, self.config, self._serialize, self._deserialize) diff --git a/src/storage-or-preview/azext_storage_or_preview/vendored_sdks/azure_mgmt_storage/v2019_06_01/models/__init__.py b/src/storage-or-preview/azext_storage_or_preview/vendored_sdks/azure_mgmt_storage/v2019_06_01/models/__init__.py new file mode 100644 index 00000000000..825458fba64 --- /dev/null +++ b/src/storage-or-preview/azext_storage_or_preview/vendored_sdks/azure_mgmt_storage/v2019_06_01/models/__init__.py @@ -0,0 +1,373 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +try: + from ._models_py3 import AccountSasParameters + from ._models_py3 import ActiveDirectoryProperties + from ._models_py3 import AzureEntityResource + from ._models_py3 import AzureFilesIdentityBasedAuthentication + from ._models_py3 import BlobContainer + from ._models_py3 import BlobRestoreParameters + from ._models_py3 import BlobRestoreRange + from ._models_py3 import BlobRestoreStatus + from ._models_py3 import BlobServiceProperties + from ._models_py3 import ChangeFeed + from ._models_py3 import CheckNameAvailabilityResult + from ._models_py3 import CorsRule + from ._models_py3 import CorsRules + from ._models_py3 import CustomDomain + from ._models_py3 import DateAfterCreation + from ._models_py3 import DateAfterModification + from ._models_py3 import DeleteRetentionPolicy + from ._models_py3 import Dimension + from ._models_py3 import Encryption + from ._models_py3 import EncryptionScope + from ._models_py3 import EncryptionScopeKeyVaultProperties + from ._models_py3 import EncryptionService + from ._models_py3 import EncryptionServices + from ._models_py3 import Endpoints + from ._models_py3 import ErrorResponse, ErrorResponseException + from ._models_py3 import FileServiceItems + from ._models_py3 import FileServiceProperties + from ._models_py3 import FileShare + from ._models_py3 import FileShareItem + from ._models_py3 import GeoReplicationStats + from ._models_py3 import Identity + from ._models_py3 import ImmutabilityPolicy + from ._models_py3 import ImmutabilityPolicyProperties + from ._models_py3 import IPRule + from ._models_py3 import KeyVaultProperties + from ._models_py3 import LeaseContainerRequest + from ._models_py3 import LeaseContainerResponse + from ._models_py3 import LegalHold + from ._models_py3 import LegalHoldProperties + from ._models_py3 import ListAccountSasResponse + from ._models_py3 import ListContainerItem + from ._models_py3 import ListServiceSasResponse + from ._models_py3 import ManagementPolicy + from ._models_py3 import ManagementPolicyAction + from ._models_py3 import ManagementPolicyBaseBlob + from ._models_py3 import ManagementPolicyDefinition + from ._models_py3 import ManagementPolicyFilter + from ._models_py3 import ManagementPolicyRule + from ._models_py3 import ManagementPolicySchema + from ._models_py3 import ManagementPolicySnapShot + from ._models_py3 import MetricSpecification + from ._models_py3 import NetworkRuleSet + from ._models_py3 import ObjectReplicationPolicy + from ._models_py3 import ObjectReplicationPolicyFilter + from ._models_py3 import ObjectReplicationPolicyRule + from ._models_py3 import Operation + from ._models_py3 import OperationDisplay + from ._models_py3 import PrivateEndpoint + from ._models_py3 import PrivateEndpointConnection + from ._models_py3 import PrivateLinkResource + from ._models_py3 import PrivateLinkResourceListResult + from ._models_py3 import PrivateLinkServiceConnectionState + from ._models_py3 import ProxyResource + from ._models_py3 import Resource + from ._models_py3 import RestorePolicyProperties + from ._models_py3 import Restriction + from ._models_py3 import RoutingPreference + from ._models_py3 import ServiceSasParameters + from ._models_py3 import ServiceSpecification + from ._models_py3 import Sku + from ._models_py3 import SKUCapability + from ._models_py3 import SkuInformation + from ._models_py3 import StorageAccount + from ._models_py3 import StorageAccountCheckNameAvailabilityParameters + from ._models_py3 import StorageAccountCreateParameters + from ._models_py3 import StorageAccountInternetEndpoints + from ._models_py3 import StorageAccountKey + from ._models_py3 import StorageAccountListKeysResult + from ._models_py3 import StorageAccountMicrosoftEndpoints + from ._models_py3 import StorageAccountRegenerateKeyParameters + from ._models_py3 import StorageAccountUpdateParameters + from ._models_py3 import TagProperty + from ._models_py3 import TrackedResource + from ._models_py3 import UpdateHistoryProperty + from ._models_py3 import Usage + from ._models_py3 import UsageName + from ._models_py3 import VirtualNetworkRule +except (SyntaxError, ImportError): + from ._models import AccountSasParameters + from ._models import ActiveDirectoryProperties + from ._models import AzureEntityResource + from ._models import AzureFilesIdentityBasedAuthentication + from ._models import BlobContainer + from ._models import BlobRestoreParameters + from ._models import BlobRestoreRange + from ._models import BlobRestoreStatus + from ._models import BlobServiceProperties + from ._models import ChangeFeed + from ._models import CheckNameAvailabilityResult + from ._models import CorsRule + from ._models import CorsRules + from ._models import CustomDomain + from ._models import DateAfterCreation + from ._models import DateAfterModification + from ._models import DeleteRetentionPolicy + from ._models import Dimension + from ._models import Encryption + from ._models import EncryptionScope + from ._models import EncryptionScopeKeyVaultProperties + from ._models import EncryptionService + from ._models import EncryptionServices + from ._models import Endpoints + from ._models import ErrorResponse, ErrorResponseException + from ._models import FileServiceItems + from ._models import FileServiceProperties + from ._models import FileShare + from ._models import FileShareItem + from ._models import GeoReplicationStats + from ._models import Identity + from ._models import ImmutabilityPolicy + from ._models import ImmutabilityPolicyProperties + from ._models import IPRule + from ._models import KeyVaultProperties + from ._models import LeaseContainerRequest + from ._models import LeaseContainerResponse + from ._models import LegalHold + from ._models import LegalHoldProperties + from ._models import ListAccountSasResponse + from ._models import ListContainerItem + from ._models import ListServiceSasResponse + from ._models import ManagementPolicy + from ._models import ManagementPolicyAction + from ._models import ManagementPolicyBaseBlob + from ._models import ManagementPolicyDefinition + from ._models import ManagementPolicyFilter + from ._models import ManagementPolicyRule + from ._models import ManagementPolicySchema + from ._models import ManagementPolicySnapShot + from ._models import MetricSpecification + from ._models import NetworkRuleSet + from ._models import ObjectReplicationPolicy + from ._models import ObjectReplicationPolicyFilter + from ._models import ObjectReplicationPolicyRule + from ._models import Operation + from ._models import OperationDisplay + from ._models import PrivateEndpoint + from ._models import PrivateEndpointConnection + from ._models import PrivateLinkResource + from ._models import PrivateLinkResourceListResult + from ._models import PrivateLinkServiceConnectionState + from ._models import ProxyResource + from ._models import Resource + from ._models import RestorePolicyProperties + from ._models import Restriction + from ._models import RoutingPreference + from ._models import ServiceSasParameters + from ._models import ServiceSpecification + from ._models import Sku + from ._models import SKUCapability + from ._models import SkuInformation + from ._models import StorageAccount + from ._models import StorageAccountCheckNameAvailabilityParameters + from ._models import StorageAccountCreateParameters + from ._models import StorageAccountInternetEndpoints + from ._models import StorageAccountKey + from ._models import StorageAccountListKeysResult + from ._models import StorageAccountMicrosoftEndpoints + from ._models import StorageAccountRegenerateKeyParameters + from ._models import StorageAccountUpdateParameters + from ._models import TagProperty + from ._models import TrackedResource + from ._models import UpdateHistoryProperty + from ._models import Usage + from ._models import UsageName + from ._models import VirtualNetworkRule +from ._paged_models import BlobServicePropertiesPaged +from ._paged_models import EncryptionScopePaged +from ._paged_models import FileShareItemPaged +from ._paged_models import ListContainerItemPaged +from ._paged_models import ObjectReplicationPolicyPaged +from ._paged_models import OperationPaged +from ._paged_models import SkuInformationPaged +from ._paged_models import StorageAccountPaged +from ._paged_models import UsagePaged +from ._storage_management_client_enums import ( + ReasonCode, + SkuName, + SkuTier, + Kind, + Reason, + KeyType, + KeySource, + Action, + State, + Bypass, + DefaultAction, + DirectoryServiceOptions, + AccessTier, + LargeFileSharesState, + RoutingChoice, + GeoReplicationStatus, + BlobRestoreProgressStatus, + ProvisioningState, + AccountStatus, + PrivateEndpointServiceConnectionStatus, + PrivateEndpointConnectionProvisioningState, + KeyPermission, + UsageUnit, + Services, + SignedResourceTypes, + Permissions, + HttpProtocol, + SignedResource, + EncryptionScopeSource, + EncryptionScopeState, + PublicAccess, + LeaseStatus, + LeaseState, + LeaseDuration, + ImmutabilityPolicyState, + ImmutabilityPolicyUpdateType, + StorageAccountExpand, + ListKeyExpand, +) + +__all__ = [ + 'AccountSasParameters', + 'ActiveDirectoryProperties', + 'AzureEntityResource', + 'AzureFilesIdentityBasedAuthentication', + 'BlobContainer', + 'BlobRestoreParameters', + 'BlobRestoreRange', + 'BlobRestoreStatus', + 'BlobServiceProperties', + 'ChangeFeed', + 'CheckNameAvailabilityResult', + 'CorsRule', + 'CorsRules', + 'CustomDomain', + 'DateAfterCreation', + 'DateAfterModification', + 'DeleteRetentionPolicy', + 'Dimension', + 'Encryption', + 'EncryptionScope', + 'EncryptionScopeKeyVaultProperties', + 'EncryptionService', + 'EncryptionServices', + 'Endpoints', + 'ErrorResponse', 'ErrorResponseException', + 'FileServiceItems', + 'FileServiceProperties', + 'FileShare', + 'FileShareItem', + 'GeoReplicationStats', + 'Identity', + 'ImmutabilityPolicy', + 'ImmutabilityPolicyProperties', + 'IPRule', + 'KeyVaultProperties', + 'LeaseContainerRequest', + 'LeaseContainerResponse', + 'LegalHold', + 'LegalHoldProperties', + 'ListAccountSasResponse', + 'ListContainerItem', + 'ListServiceSasResponse', + 'ManagementPolicy', + 'ManagementPolicyAction', + 'ManagementPolicyBaseBlob', + 'ManagementPolicyDefinition', + 'ManagementPolicyFilter', + 'ManagementPolicyRule', + 'ManagementPolicySchema', + 'ManagementPolicySnapShot', + 'MetricSpecification', + 'NetworkRuleSet', + 'ObjectReplicationPolicy', + 'ObjectReplicationPolicyFilter', + 'ObjectReplicationPolicyRule', + 'Operation', + 'OperationDisplay', + 'PrivateEndpoint', + 'PrivateEndpointConnection', + 'PrivateLinkResource', + 'PrivateLinkResourceListResult', + 'PrivateLinkServiceConnectionState', + 'ProxyResource', + 'Resource', + 'RestorePolicyProperties', + 'Restriction', + 'RoutingPreference', + 'ServiceSasParameters', + 'ServiceSpecification', + 'Sku', + 'SKUCapability', + 'SkuInformation', + 'StorageAccount', + 'StorageAccountCheckNameAvailabilityParameters', + 'StorageAccountCreateParameters', + 'StorageAccountInternetEndpoints', + 'StorageAccountKey', + 'StorageAccountListKeysResult', + 'StorageAccountMicrosoftEndpoints', + 'StorageAccountRegenerateKeyParameters', + 'StorageAccountUpdateParameters', + 'TagProperty', + 'TrackedResource', + 'UpdateHistoryProperty', + 'Usage', + 'UsageName', + 'VirtualNetworkRule', + 'OperationPaged', + 'SkuInformationPaged', + 'StorageAccountPaged', + 'UsagePaged', + 'ObjectReplicationPolicyPaged', + 'EncryptionScopePaged', + 'BlobServicePropertiesPaged', + 'ListContainerItemPaged', + 'FileShareItemPaged', + 'ReasonCode', + 'SkuName', + 'SkuTier', + 'Kind', + 'Reason', + 'KeyType', + 'KeySource', + 'Action', + 'State', + 'Bypass', + 'DefaultAction', + 'DirectoryServiceOptions', + 'AccessTier', + 'LargeFileSharesState', + 'RoutingChoice', + 'GeoReplicationStatus', + 'BlobRestoreProgressStatus', + 'ProvisioningState', + 'AccountStatus', + 'PrivateEndpointServiceConnectionStatus', + 'PrivateEndpointConnectionProvisioningState', + 'KeyPermission', + 'UsageUnit', + 'Services', + 'SignedResourceTypes', + 'Permissions', + 'HttpProtocol', + 'SignedResource', + 'EncryptionScopeSource', + 'EncryptionScopeState', + 'PublicAccess', + 'LeaseStatus', + 'LeaseState', + 'LeaseDuration', + 'ImmutabilityPolicyState', + 'ImmutabilityPolicyUpdateType', + 'StorageAccountExpand', + 'ListKeyExpand', +] diff --git a/src/storage-or-preview/azext_storage_or_preview/vendored_sdks/azure_mgmt_storage/v2019_06_01/models/_models.py b/src/storage-or-preview/azext_storage_or_preview/vendored_sdks/azure_mgmt_storage/v2019_06_01/models/_models.py new file mode 100644 index 00000000000..903a0b43340 --- /dev/null +++ b/src/storage-or-preview/azext_storage_or_preview/vendored_sdks/azure_mgmt_storage/v2019_06_01/models/_models.py @@ -0,0 +1,3734 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model +from msrest.exceptions import HttpOperationError + + +class AccountSasParameters(Model): + """The parameters to list SAS credentials of a storage account. + + All required parameters must be populated in order to send to Azure. + + :param services: Required. The signed services accessible with the account + SAS. Possible values include: Blob (b), Queue (q), Table (t), File (f). + Possible values include: 'b', 'q', 't', 'f' + :type services: str or ~azure.mgmt.storage.v2019_06_01.models.Services + :param resource_types: Required. The signed resource types that are + accessible with the account SAS. Service (s): Access to service-level + APIs; Container (c): Access to container-level APIs; Object (o): Access to + object-level APIs for blobs, queue messages, table entities, and files. + Possible values include: 's', 'c', 'o' + :type resource_types: str or + ~azure.mgmt.storage.v2019_06_01.models.SignedResourceTypes + :param permissions: Required. The signed permissions for the account SAS. + Possible values include: Read (r), Write (w), Delete (d), List (l), Add + (a), Create (c), Update (u) and Process (p). Possible values include: 'r', + 'd', 'w', 'l', 'a', 'c', 'u', 'p' + :type permissions: str or + ~azure.mgmt.storage.v2019_06_01.models.Permissions + :param ip_address_or_range: An IP address or a range of IP addresses from + which to accept requests. + :type ip_address_or_range: str + :param protocols: The protocol permitted for a request made with the + account SAS. Possible values include: 'https,http', 'https' + :type protocols: str or + ~azure.mgmt.storage.v2019_06_01.models.HttpProtocol + :param shared_access_start_time: The time at which the SAS becomes valid. + :type shared_access_start_time: datetime + :param shared_access_expiry_time: Required. The time at which the shared + access signature becomes invalid. + :type shared_access_expiry_time: datetime + :param key_to_sign: The key to sign the account SAS token with. + :type key_to_sign: str + """ + + _validation = { + 'services': {'required': True}, + 'resource_types': {'required': True}, + 'permissions': {'required': True}, + 'shared_access_expiry_time': {'required': True}, + } + + _attribute_map = { + 'services': {'key': 'signedServices', 'type': 'str'}, + 'resource_types': {'key': 'signedResourceTypes', 'type': 'str'}, + 'permissions': {'key': 'signedPermission', 'type': 'str'}, + 'ip_address_or_range': {'key': 'signedIp', 'type': 'str'}, + 'protocols': {'key': 'signedProtocol', 'type': 'HttpProtocol'}, + 'shared_access_start_time': {'key': 'signedStart', 'type': 'iso-8601'}, + 'shared_access_expiry_time': {'key': 'signedExpiry', 'type': 'iso-8601'}, + 'key_to_sign': {'key': 'keyToSign', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AccountSasParameters, self).__init__(**kwargs) + self.services = kwargs.get('services', None) + self.resource_types = kwargs.get('resource_types', None) + self.permissions = kwargs.get('permissions', None) + self.ip_address_or_range = kwargs.get('ip_address_or_range', None) + self.protocols = kwargs.get('protocols', None) + self.shared_access_start_time = kwargs.get('shared_access_start_time', None) + self.shared_access_expiry_time = kwargs.get('shared_access_expiry_time', None) + self.key_to_sign = kwargs.get('key_to_sign', None) + + +class ActiveDirectoryProperties(Model): + """Settings properties for Active Directory (AD). + + All required parameters must be populated in order to send to Azure. + + :param domain_name: Required. Specifies the primary domain that the AD DNS + server is authoritative for. + :type domain_name: str + :param net_bios_domain_name: Required. Specifies the NetBIOS domain name. + :type net_bios_domain_name: str + :param forest_name: Required. Specifies the Active Directory forest to + get. + :type forest_name: str + :param domain_guid: Required. Specifies the domain GUID. + :type domain_guid: str + :param domain_sid: Required. Specifies the security identifier (SID). + :type domain_sid: str + :param azure_storage_sid: Required. Specifies the security identifier + (SID) for Azure Storage. + :type azure_storage_sid: str + """ + + _validation = { + 'domain_name': {'required': True}, + 'net_bios_domain_name': {'required': True}, + 'forest_name': {'required': True}, + 'domain_guid': {'required': True}, + 'domain_sid': {'required': True}, + 'azure_storage_sid': {'required': True}, + } + + _attribute_map = { + 'domain_name': {'key': 'domainName', 'type': 'str'}, + 'net_bios_domain_name': {'key': 'netBiosDomainName', 'type': 'str'}, + 'forest_name': {'key': 'forestName', 'type': 'str'}, + 'domain_guid': {'key': 'domainGuid', 'type': 'str'}, + 'domain_sid': {'key': 'domainSid', 'type': 'str'}, + 'azure_storage_sid': {'key': 'azureStorageSid', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ActiveDirectoryProperties, self).__init__(**kwargs) + self.domain_name = kwargs.get('domain_name', None) + self.net_bios_domain_name = kwargs.get('net_bios_domain_name', None) + self.forest_name = kwargs.get('forest_name', None) + self.domain_guid = kwargs.get('domain_guid', None) + self.domain_sid = kwargs.get('domain_sid', None) + self.azure_storage_sid = kwargs.get('azure_storage_sid', None) + + +class Resource(Model): + """Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Resource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + + +class AzureEntityResource(Resource): + """The resource model definition for a Azure Resource Manager resource with an + etag. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :ivar etag: Resource Etag. + :vartype etag: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AzureEntityResource, self).__init__(**kwargs) + self.etag = None + + +class AzureFilesIdentityBasedAuthentication(Model): + """Settings for Azure Files identity based authentication. + + All required parameters must be populated in order to send to Azure. + + :param directory_service_options: Required. Indicates the directory + service used. Possible values include: 'None', 'AADDS', 'AD' + :type directory_service_options: str or + ~azure.mgmt.storage.v2019_06_01.models.DirectoryServiceOptions + :param active_directory_properties: Required if choose AD. + :type active_directory_properties: + ~azure.mgmt.storage.v2019_06_01.models.ActiveDirectoryProperties + """ + + _validation = { + 'directory_service_options': {'required': True}, + } + + _attribute_map = { + 'directory_service_options': {'key': 'directoryServiceOptions', 'type': 'str'}, + 'active_directory_properties': {'key': 'activeDirectoryProperties', 'type': 'ActiveDirectoryProperties'}, + } + + def __init__(self, **kwargs): + super(AzureFilesIdentityBasedAuthentication, self).__init__(**kwargs) + self.directory_service_options = kwargs.get('directory_service_options', None) + self.active_directory_properties = kwargs.get('active_directory_properties', None) + + +class BlobContainer(AzureEntityResource): + """Properties of the blob container, including Id, resource name, resource + type, Etag. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :ivar etag: Resource Etag. + :vartype etag: str + :param public_access: Specifies whether data in the container may be + accessed publicly and the level of access. Possible values include: + 'Container', 'Blob', 'None' + :type public_access: str or + ~azure.mgmt.storage.v2019_06_01.models.PublicAccess + :ivar last_modified_time: Returns the date and time the container was last + modified. + :vartype last_modified_time: datetime + :ivar lease_status: The lease status of the container. Possible values + include: 'Locked', 'Unlocked' + :vartype lease_status: str or + ~azure.mgmt.storage.v2019_06_01.models.LeaseStatus + :ivar lease_state: Lease state of the container. Possible values include: + 'Available', 'Leased', 'Expired', 'Breaking', 'Broken' + :vartype lease_state: str or + ~azure.mgmt.storage.v2019_06_01.models.LeaseState + :ivar lease_duration: Specifies whether the lease on a container is of + infinite or fixed duration, only when the container is leased. Possible + values include: 'Infinite', 'Fixed' + :vartype lease_duration: str or + ~azure.mgmt.storage.v2019_06_01.models.LeaseDuration + :param metadata: A name-value pair to associate with the container as + metadata. + :type metadata: dict[str, str] + :ivar immutability_policy: The ImmutabilityPolicy property of the + container. + :vartype immutability_policy: + ~azure.mgmt.storage.v2019_06_01.models.ImmutabilityPolicyProperties + :ivar legal_hold: The LegalHold property of the container. + :vartype legal_hold: + ~azure.mgmt.storage.v2019_06_01.models.LegalHoldProperties + :ivar has_legal_hold: The hasLegalHold public property is set to true by + SRP if there are at least one existing tag. The hasLegalHold public + property is set to false by SRP if all existing legal hold tags are + cleared out. There can be a maximum of 1000 blob containers with + hasLegalHold=true for a given account. + :vartype has_legal_hold: bool + :ivar has_immutability_policy: The hasImmutabilityPolicy public property + is set to true by SRP if ImmutabilityPolicy has been created for this + container. The hasImmutabilityPolicy public property is set to false by + SRP if ImmutabilityPolicy has not been created for this container. + :vartype has_immutability_policy: bool + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + 'last_modified_time': {'readonly': True}, + 'lease_status': {'readonly': True}, + 'lease_state': {'readonly': True}, + 'lease_duration': {'readonly': True}, + 'immutability_policy': {'readonly': True}, + 'legal_hold': {'readonly': True}, + 'has_legal_hold': {'readonly': True}, + 'has_immutability_policy': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'public_access': {'key': 'properties.publicAccess', 'type': 'PublicAccess'}, + 'last_modified_time': {'key': 'properties.lastModifiedTime', 'type': 'iso-8601'}, + 'lease_status': {'key': 'properties.leaseStatus', 'type': 'str'}, + 'lease_state': {'key': 'properties.leaseState', 'type': 'str'}, + 'lease_duration': {'key': 'properties.leaseDuration', 'type': 'str'}, + 'metadata': {'key': 'properties.metadata', 'type': '{str}'}, + 'immutability_policy': {'key': 'properties.immutabilityPolicy', 'type': 'ImmutabilityPolicyProperties'}, + 'legal_hold': {'key': 'properties.legalHold', 'type': 'LegalHoldProperties'}, + 'has_legal_hold': {'key': 'properties.hasLegalHold', 'type': 'bool'}, + 'has_immutability_policy': {'key': 'properties.hasImmutabilityPolicy', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(BlobContainer, self).__init__(**kwargs) + self.public_access = kwargs.get('public_access', None) + self.last_modified_time = None + self.lease_status = None + self.lease_state = None + self.lease_duration = None + self.metadata = kwargs.get('metadata', None) + self.immutability_policy = None + self.legal_hold = None + self.has_legal_hold = None + self.has_immutability_policy = None + + +class BlobRestoreParameters(Model): + """Blob restore parameters. + + All required parameters must be populated in order to send to Azure. + + :param time_to_restore: Required. Restore blob to the specified time. + :type time_to_restore: datetime + :param blob_ranges: Required. Blob ranges to restore. + :type blob_ranges: + list[~azure.mgmt.storage.v2019_06_01.models.BlobRestoreRange] + """ + + _validation = { + 'time_to_restore': {'required': True}, + 'blob_ranges': {'required': True}, + } + + _attribute_map = { + 'time_to_restore': {'key': 'timeToRestore', 'type': 'iso-8601'}, + 'blob_ranges': {'key': 'blobRanges', 'type': '[BlobRestoreRange]'}, + } + + def __init__(self, **kwargs): + super(BlobRestoreParameters, self).__init__(**kwargs) + self.time_to_restore = kwargs.get('time_to_restore', None) + self.blob_ranges = kwargs.get('blob_ranges', None) + + +class BlobRestoreRange(Model): + """Blob range. + + All required parameters must be populated in order to send to Azure. + + :param start_range: Required. Blob start range. Empty means account start. + :type start_range: str + :param end_range: Required. Blob end range. Empty means account end. + :type end_range: str + """ + + _validation = { + 'start_range': {'required': True}, + 'end_range': {'required': True}, + } + + _attribute_map = { + 'start_range': {'key': 'startRange', 'type': 'str'}, + 'end_range': {'key': 'endRange', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(BlobRestoreRange, self).__init__(**kwargs) + self.start_range = kwargs.get('start_range', None) + self.end_range = kwargs.get('end_range', None) + + +class BlobRestoreStatus(Model): + """Blob restore status. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar status: The status of blob restore progress. Possible values are: - + InProgress: Indicates that blob restore is ongoing. - Complete: Indicates + that blob restore has been completed successfully. - Failed: Indicates + that blob restore is failed. Possible values include: 'InProgress', + 'Complete', 'Failed' + :vartype status: str or + ~azure.mgmt.storage.v2019_06_01.models.BlobRestoreProgressStatus + :ivar failure_reason: Failure reason when blob restore is failed. + :vartype failure_reason: str + :ivar restore_id: Id for tracking blob restore request. + :vartype restore_id: str + :ivar parameters: Blob restore request parameters. + :vartype parameters: + ~azure.mgmt.storage.v2019_06_01.models.BlobRestoreParameters + """ + + _validation = { + 'status': {'readonly': True}, + 'failure_reason': {'readonly': True}, + 'restore_id': {'readonly': True}, + 'parameters': {'readonly': True}, + } + + _attribute_map = { + 'status': {'key': 'status', 'type': 'str'}, + 'failure_reason': {'key': 'failureReason', 'type': 'str'}, + 'restore_id': {'key': 'restoreId', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': 'BlobRestoreParameters'}, + } + + def __init__(self, **kwargs): + super(BlobRestoreStatus, self).__init__(**kwargs) + self.status = None + self.failure_reason = None + self.restore_id = None + self.parameters = None + + +class BlobServiceProperties(Resource): + """The properties of a storage account’s Blob service. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :param cors: Specifies CORS rules for the Blob service. You can include up + to five CorsRule elements in the request. If no CorsRule elements are + included in the request body, all CORS rules will be deleted, and CORS + will be disabled for the Blob service. + :type cors: ~azure.mgmt.storage.v2019_06_01.models.CorsRules + :param default_service_version: DefaultServiceVersion indicates the + default version to use for requests to the Blob service if an incoming + request’s version is not specified. Possible values include version + 2008-10-27 and all more recent versions. + :type default_service_version: str + :param delete_retention_policy: The blob service properties for blob soft + delete. + :type delete_retention_policy: + ~azure.mgmt.storage.v2019_06_01.models.DeleteRetentionPolicy + :param is_versioning_enabled: Versioning is enabled if set to true. + :type is_versioning_enabled: bool + :param automatic_snapshot_policy_enabled: Deprecated in favor of + isVersioningEnabled property. + :type automatic_snapshot_policy_enabled: bool + :param change_feed: The blob service properties for change feed events. + :type change_feed: ~azure.mgmt.storage.v2019_06_01.models.ChangeFeed + :param restore_policy: The blob service properties for blob restore + policy. + :type restore_policy: + ~azure.mgmt.storage.v2019_06_01.models.RestorePolicyProperties + :param container_delete_retention_policy: The blob service properties for + container soft delete. + :type container_delete_retention_policy: + ~azure.mgmt.storage.v2019_06_01.models.DeleteRetentionPolicy + :ivar sku: Sku name and tier. + :vartype sku: ~azure.mgmt.storage.v2019_06_01.models.Sku + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'sku': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'cors': {'key': 'properties.cors', 'type': 'CorsRules'}, + 'default_service_version': {'key': 'properties.defaultServiceVersion', 'type': 'str'}, + 'delete_retention_policy': {'key': 'properties.deleteRetentionPolicy', 'type': 'DeleteRetentionPolicy'}, + 'is_versioning_enabled': {'key': 'properties.isVersioningEnabled', 'type': 'bool'}, + 'automatic_snapshot_policy_enabled': {'key': 'properties.automaticSnapshotPolicyEnabled', 'type': 'bool'}, + 'change_feed': {'key': 'properties.changeFeed', 'type': 'ChangeFeed'}, + 'restore_policy': {'key': 'properties.restorePolicy', 'type': 'RestorePolicyProperties'}, + 'container_delete_retention_policy': {'key': 'properties.containerDeleteRetentionPolicy', 'type': 'DeleteRetentionPolicy'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + } + + def __init__(self, **kwargs): + super(BlobServiceProperties, self).__init__(**kwargs) + self.cors = kwargs.get('cors', None) + self.default_service_version = kwargs.get('default_service_version', None) + self.delete_retention_policy = kwargs.get('delete_retention_policy', None) + self.is_versioning_enabled = kwargs.get('is_versioning_enabled', None) + self.automatic_snapshot_policy_enabled = kwargs.get('automatic_snapshot_policy_enabled', None) + self.change_feed = kwargs.get('change_feed', None) + self.restore_policy = kwargs.get('restore_policy', None) + self.container_delete_retention_policy = kwargs.get('container_delete_retention_policy', None) + self.sku = None + + +class ChangeFeed(Model): + """The blob service properties for change feed events. + + :param enabled: Indicates whether change feed event logging is enabled for + the Blob service. + :type enabled: bool + """ + + _attribute_map = { + 'enabled': {'key': 'enabled', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(ChangeFeed, self).__init__(**kwargs) + self.enabled = kwargs.get('enabled', None) + + +class CheckNameAvailabilityResult(Model): + """The CheckNameAvailability operation response. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name_available: Gets a boolean value that indicates whether the name + is available for you to use. If true, the name is available. If false, the + name has already been taken or is invalid and cannot be used. + :vartype name_available: bool + :ivar reason: Gets the reason that a storage account name could not be + used. The Reason element is only returned if NameAvailable is false. + Possible values include: 'AccountNameInvalid', 'AlreadyExists' + :vartype reason: str or ~azure.mgmt.storage.v2019_06_01.models.Reason + :ivar message: Gets an error message explaining the Reason value in more + detail. + :vartype message: str + """ + + _validation = { + 'name_available': {'readonly': True}, + 'reason': {'readonly': True}, + 'message': {'readonly': True}, + } + + _attribute_map = { + 'name_available': {'key': 'nameAvailable', 'type': 'bool'}, + 'reason': {'key': 'reason', 'type': 'Reason'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(CheckNameAvailabilityResult, self).__init__(**kwargs) + self.name_available = None + self.reason = None + self.message = None + + +class CloudError(Model): + """An error response from the Storage service. + + :param error: + :type error: ~azure.mgmt.storage.v2019_06_01.models.CloudErrorBody + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'CloudErrorBody'}, + } + + def __init__(self, **kwargs): + super(CloudError, self).__init__(**kwargs) + self.error = kwargs.get('error', None) + + +class CloudErrorException(HttpOperationError): + """Server responsed with exception of type: 'CloudError'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(CloudErrorException, self).__init__(deserialize, response, 'CloudError', *args) + + +class CloudErrorBody(Model): + """An error response from the Storage service. + + :param code: An identifier for the error. Codes are invariant and are + intended to be consumed programmatically. + :type code: str + :param message: A message describing the error, intended to be suitable + for display in a user interface. + :type message: str + :param target: The target of the particular error. For example, the name + of the property in error. + :type target: str + :param details: A list of additional details about the error. + :type details: list[~azure.mgmt.storage.v2019_06_01.models.CloudErrorBody] + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[CloudErrorBody]'}, + } + + def __init__(self, **kwargs): + super(CloudErrorBody, self).__init__(**kwargs) + self.code = kwargs.get('code', None) + self.message = kwargs.get('message', None) + self.target = kwargs.get('target', None) + self.details = kwargs.get('details', None) + + +class CorsRule(Model): + """Specifies a CORS rule for the Blob service. + + All required parameters must be populated in order to send to Azure. + + :param allowed_origins: Required. Required if CorsRule element is present. + A list of origin domains that will be allowed via CORS, or "*" to allow + all domains + :type allowed_origins: list[str] + :param allowed_methods: Required. Required if CorsRule element is present. + A list of HTTP methods that are allowed to be executed by the origin. + :type allowed_methods: list[str] + :param max_age_in_seconds: Required. Required if CorsRule element is + present. The number of seconds that the client/browser should cache a + preflight response. + :type max_age_in_seconds: int + :param exposed_headers: Required. Required if CorsRule element is present. + A list of response headers to expose to CORS clients. + :type exposed_headers: list[str] + :param allowed_headers: Required. Required if CorsRule element is present. + A list of headers allowed to be part of the cross-origin request. + :type allowed_headers: list[str] + """ + + _validation = { + 'allowed_origins': {'required': True}, + 'allowed_methods': {'required': True}, + 'max_age_in_seconds': {'required': True}, + 'exposed_headers': {'required': True}, + 'allowed_headers': {'required': True}, + } + + _attribute_map = { + 'allowed_origins': {'key': 'allowedOrigins', 'type': '[str]'}, + 'allowed_methods': {'key': 'allowedMethods', 'type': '[str]'}, + 'max_age_in_seconds': {'key': 'maxAgeInSeconds', 'type': 'int'}, + 'exposed_headers': {'key': 'exposedHeaders', 'type': '[str]'}, + 'allowed_headers': {'key': 'allowedHeaders', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(CorsRule, self).__init__(**kwargs) + self.allowed_origins = kwargs.get('allowed_origins', None) + self.allowed_methods = kwargs.get('allowed_methods', None) + self.max_age_in_seconds = kwargs.get('max_age_in_seconds', None) + self.exposed_headers = kwargs.get('exposed_headers', None) + self.allowed_headers = kwargs.get('allowed_headers', None) + + +class CorsRules(Model): + """Sets the CORS rules. You can include up to five CorsRule elements in the + request. . + + :param cors_rules: The List of CORS rules. You can include up to five + CorsRule elements in the request. + :type cors_rules: list[~azure.mgmt.storage.v2019_06_01.models.CorsRule] + """ + + _attribute_map = { + 'cors_rules': {'key': 'corsRules', 'type': '[CorsRule]'}, + } + + def __init__(self, **kwargs): + super(CorsRules, self).__init__(**kwargs) + self.cors_rules = kwargs.get('cors_rules', None) + + +class CustomDomain(Model): + """The custom domain assigned to this storage account. This can be set via + Update. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. Gets or sets the custom domain name assigned to the + storage account. Name is the CNAME source. + :type name: str + :param use_sub_domain_name: Indicates whether indirect CName validation is + enabled. Default value is false. This should only be set on updates. + :type use_sub_domain_name: bool + """ + + _validation = { + 'name': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'use_sub_domain_name': {'key': 'useSubDomainName', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(CustomDomain, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.use_sub_domain_name = kwargs.get('use_sub_domain_name', None) + + +class DateAfterCreation(Model): + """Object to define the number of days after creation. + + All required parameters must be populated in order to send to Azure. + + :param days_after_creation_greater_than: Required. Value indicating the + age in days after creation + :type days_after_creation_greater_than: float + """ + + _validation = { + 'days_after_creation_greater_than': {'required': True, 'minimum': 0, 'multiple': 1}, + } + + _attribute_map = { + 'days_after_creation_greater_than': {'key': 'daysAfterCreationGreaterThan', 'type': 'float'}, + } + + def __init__(self, **kwargs): + super(DateAfterCreation, self).__init__(**kwargs) + self.days_after_creation_greater_than = kwargs.get('days_after_creation_greater_than', None) + + +class DateAfterModification(Model): + """Object to define the number of days after last modification. + + All required parameters must be populated in order to send to Azure. + + :param days_after_modification_greater_than: Required. Value indicating + the age in days after last modification + :type days_after_modification_greater_than: float + """ + + _validation = { + 'days_after_modification_greater_than': {'required': True, 'minimum': 0, 'multiple': 1}, + } + + _attribute_map = { + 'days_after_modification_greater_than': {'key': 'daysAfterModificationGreaterThan', 'type': 'float'}, + } + + def __init__(self, **kwargs): + super(DateAfterModification, self).__init__(**kwargs) + self.days_after_modification_greater_than = kwargs.get('days_after_modification_greater_than', None) + + +class DeleteRetentionPolicy(Model): + """The service properties for soft delete. + + :param enabled: Indicates whether DeleteRetentionPolicy is enabled. + :type enabled: bool + :param days: Indicates the number of days that the deleted item should be + retained. The minimum specified value can be 1 and the maximum value can + be 365. + :type days: int + """ + + _validation = { + 'days': {'maximum': 365, 'minimum': 1}, + } + + _attribute_map = { + 'enabled': {'key': 'enabled', 'type': 'bool'}, + 'days': {'key': 'days', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(DeleteRetentionPolicy, self).__init__(**kwargs) + self.enabled = kwargs.get('enabled', None) + self.days = kwargs.get('days', None) + + +class Dimension(Model): + """Dimension of blobs, possibly be blob type or access tier. + + :param name: Display name of dimension. + :type name: str + :param display_name: Display name of dimension. + :type display_name: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Dimension, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.display_name = kwargs.get('display_name', None) + + +class Encryption(Model): + """The encryption settings on the storage account. + + All required parameters must be populated in order to send to Azure. + + :param services: List of services which support encryption. + :type services: ~azure.mgmt.storage.v2019_06_01.models.EncryptionServices + :param key_source: Required. The encryption keySource (provider). Possible + values (case-insensitive): Microsoft.Storage, Microsoft.Keyvault. + Possible values include: 'Microsoft.Storage', 'Microsoft.Keyvault'. + Default value: "Microsoft.Storage" . + :type key_source: str or ~azure.mgmt.storage.v2019_06_01.models.KeySource + :param key_vault_properties: Properties provided by key vault. + :type key_vault_properties: + ~azure.mgmt.storage.v2019_06_01.models.KeyVaultProperties + """ + + _validation = { + 'key_source': {'required': True}, + } + + _attribute_map = { + 'services': {'key': 'services', 'type': 'EncryptionServices'}, + 'key_source': {'key': 'keySource', 'type': 'str'}, + 'key_vault_properties': {'key': 'keyvaultproperties', 'type': 'KeyVaultProperties'}, + } + + def __init__(self, **kwargs): + super(Encryption, self).__init__(**kwargs) + self.services = kwargs.get('services', None) + self.key_source = kwargs.get('key_source', "Microsoft.Storage") + self.key_vault_properties = kwargs.get('key_vault_properties', None) + + +class EncryptionScope(Resource): + """The Encryption Scope resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :param source: The provider for the encryption scope. Possible values + (case-insensitive): Microsoft.Storage, Microsoft.KeyVault. Possible + values include: 'Microsoft.Storage', 'Microsoft.KeyVault' + :type source: str or + ~azure.mgmt.storage.v2019_06_01.models.EncryptionScopeSource + :param state: The state of the encryption scope. Possible values + (case-insensitive): Enabled, Disabled. Possible values include: + 'Enabled', 'Disabled' + :type state: str or + ~azure.mgmt.storage.v2019_06_01.models.EncryptionScopeState + :ivar creation_time: Gets the creation date and time of the encryption + scope in UTC. + :vartype creation_time: datetime + :ivar last_modified_time: Gets the last modification date and time of the + encryption scope in UTC. + :vartype last_modified_time: datetime + :param key_vault_properties: The key vault properties for the encryption + scope. This is a required field if encryption scope 'source' attribute is + set to 'Microsoft.KeyVault'. + :type key_vault_properties: + ~azure.mgmt.storage.v2019_06_01.models.EncryptionScopeKeyVaultProperties + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'creation_time': {'readonly': True}, + 'last_modified_time': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'source': {'key': 'properties.source', 'type': 'str'}, + 'state': {'key': 'properties.state', 'type': 'str'}, + 'creation_time': {'key': 'properties.creationTime', 'type': 'iso-8601'}, + 'last_modified_time': {'key': 'properties.lastModifiedTime', 'type': 'iso-8601'}, + 'key_vault_properties': {'key': 'properties.keyVaultProperties', 'type': 'EncryptionScopeKeyVaultProperties'}, + } + + def __init__(self, **kwargs): + super(EncryptionScope, self).__init__(**kwargs) + self.source = kwargs.get('source', None) + self.state = kwargs.get('state', None) + self.creation_time = None + self.last_modified_time = None + self.key_vault_properties = kwargs.get('key_vault_properties', None) + + +class EncryptionScopeKeyVaultProperties(Model): + """The key vault properties for the encryption scope. This is a required field + if encryption scope 'source' attribute is set to 'Microsoft.KeyVault'. + + :param key_uri: The object identifier for a key vault key object. When + applied, the encryption scope will use the key referenced by the + identifier to enable customer-managed key support on this encryption + scope. + :type key_uri: str + """ + + _attribute_map = { + 'key_uri': {'key': 'keyUri', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(EncryptionScopeKeyVaultProperties, self).__init__(**kwargs) + self.key_uri = kwargs.get('key_uri', None) + + +class EncryptionService(Model): + """A service that allows server-side encryption to be used. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param enabled: A boolean indicating whether or not the service encrypts + the data as it is stored. + :type enabled: bool + :ivar last_enabled_time: Gets a rough estimate of the date/time when the + encryption was last enabled by the user. Only returned when encryption is + enabled. There might be some unencrypted blobs which were written after + this time, as it is just a rough estimate. + :vartype last_enabled_time: datetime + :param key_type: Encryption key type to be used for the encryption + service. 'Account' key type implies that an account-scoped encryption key + will be used. 'Service' key type implies that a default service key is + used. Possible values include: 'Service', 'Account' + :type key_type: str or ~azure.mgmt.storage.v2019_06_01.models.KeyType + """ + + _validation = { + 'last_enabled_time': {'readonly': True}, + } + + _attribute_map = { + 'enabled': {'key': 'enabled', 'type': 'bool'}, + 'last_enabled_time': {'key': 'lastEnabledTime', 'type': 'iso-8601'}, + 'key_type': {'key': 'keyType', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(EncryptionService, self).__init__(**kwargs) + self.enabled = kwargs.get('enabled', None) + self.last_enabled_time = None + self.key_type = kwargs.get('key_type', None) + + +class EncryptionServices(Model): + """A list of services that support encryption. + + :param blob: The encryption function of the blob storage service. + :type blob: ~azure.mgmt.storage.v2019_06_01.models.EncryptionService + :param file: The encryption function of the file storage service. + :type file: ~azure.mgmt.storage.v2019_06_01.models.EncryptionService + :param table: The encryption function of the table storage service. + :type table: ~azure.mgmt.storage.v2019_06_01.models.EncryptionService + :param queue: The encryption function of the queue storage service. + :type queue: ~azure.mgmt.storage.v2019_06_01.models.EncryptionService + """ + + _attribute_map = { + 'blob': {'key': 'blob', 'type': 'EncryptionService'}, + 'file': {'key': 'file', 'type': 'EncryptionService'}, + 'table': {'key': 'table', 'type': 'EncryptionService'}, + 'queue': {'key': 'queue', 'type': 'EncryptionService'}, + } + + def __init__(self, **kwargs): + super(EncryptionServices, self).__init__(**kwargs) + self.blob = kwargs.get('blob', None) + self.file = kwargs.get('file', None) + self.table = kwargs.get('table', None) + self.queue = kwargs.get('queue', None) + + +class Endpoints(Model): + """The URIs that are used to perform a retrieval of a public blob, queue, + table, web or dfs object. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar blob: Gets the blob endpoint. + :vartype blob: str + :ivar queue: Gets the queue endpoint. + :vartype queue: str + :ivar table: Gets the table endpoint. + :vartype table: str + :ivar file: Gets the file endpoint. + :vartype file: str + :ivar web: Gets the web endpoint. + :vartype web: str + :ivar dfs: Gets the dfs endpoint. + :vartype dfs: str + :param microsoft_endpoints: Gets the microsoft routing storage endpoints. + :type microsoft_endpoints: + ~azure.mgmt.storage.v2019_06_01.models.StorageAccountMicrosoftEndpoints + :param internet_endpoints: Gets the internet routing storage endpoints + :type internet_endpoints: + ~azure.mgmt.storage.v2019_06_01.models.StorageAccountInternetEndpoints + """ + + _validation = { + 'blob': {'readonly': True}, + 'queue': {'readonly': True}, + 'table': {'readonly': True}, + 'file': {'readonly': True}, + 'web': {'readonly': True}, + 'dfs': {'readonly': True}, + } + + _attribute_map = { + 'blob': {'key': 'blob', 'type': 'str'}, + 'queue': {'key': 'queue', 'type': 'str'}, + 'table': {'key': 'table', 'type': 'str'}, + 'file': {'key': 'file', 'type': 'str'}, + 'web': {'key': 'web', 'type': 'str'}, + 'dfs': {'key': 'dfs', 'type': 'str'}, + 'microsoft_endpoints': {'key': 'microsoftEndpoints', 'type': 'StorageAccountMicrosoftEndpoints'}, + 'internet_endpoints': {'key': 'internetEndpoints', 'type': 'StorageAccountInternetEndpoints'}, + } + + def __init__(self, **kwargs): + super(Endpoints, self).__init__(**kwargs) + self.blob = None + self.queue = None + self.table = None + self.file = None + self.web = None + self.dfs = None + self.microsoft_endpoints = kwargs.get('microsoft_endpoints', None) + self.internet_endpoints = kwargs.get('internet_endpoints', None) + + +class ErrorResponse(Model): + """An error response from the storage resource provider. + + :param code: An identifier for the error. Codes are invariant and are + intended to be consumed programmatically. + :type code: str + :param message: A message describing the error, intended to be suitable + for display in a user interface. + :type message: str + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ErrorResponse, self).__init__(**kwargs) + self.code = kwargs.get('code', None) + self.message = kwargs.get('message', None) + + +class ErrorResponseException(HttpOperationError): + """Server responsed with exception of type: 'ErrorResponse'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(ErrorResponseException, self).__init__(deserialize, response, 'ErrorResponse', *args) + + +class FileServiceItems(Model): + """FileServiceItems. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar value: List of file services returned. + :vartype value: + list[~azure.mgmt.storage.v2019_06_01.models.FileServiceProperties] + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[FileServiceProperties]'}, + } + + def __init__(self, **kwargs): + super(FileServiceItems, self).__init__(**kwargs) + self.value = None + + +class FileServiceProperties(Resource): + """The properties of File services in storage account. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :param cors: Specifies CORS rules for the File service. You can include up + to five CorsRule elements in the request. If no CorsRule elements are + included in the request body, all CORS rules will be deleted, and CORS + will be disabled for the File service. + :type cors: ~azure.mgmt.storage.v2019_06_01.models.CorsRules + :param share_delete_retention_policy: The file service properties for + share soft delete. + :type share_delete_retention_policy: + ~azure.mgmt.storage.v2019_06_01.models.DeleteRetentionPolicy + :ivar sku: Sku name and tier. + :vartype sku: ~azure.mgmt.storage.v2019_06_01.models.Sku + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'sku': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'cors': {'key': 'properties.cors', 'type': 'CorsRules'}, + 'share_delete_retention_policy': {'key': 'properties.shareDeleteRetentionPolicy', 'type': 'DeleteRetentionPolicy'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + } + + def __init__(self, **kwargs): + super(FileServiceProperties, self).__init__(**kwargs) + self.cors = kwargs.get('cors', None) + self.share_delete_retention_policy = kwargs.get('share_delete_retention_policy', None) + self.sku = None + + +class FileShare(AzureEntityResource): + """Properties of the file share, including Id, resource name, resource type, + Etag. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :ivar etag: Resource Etag. + :vartype etag: str + :ivar last_modified_time: Returns the date and time the share was last + modified. + :vartype last_modified_time: datetime + :param metadata: A name-value pair to associate with the share as + metadata. + :type metadata: dict[str, str] + :param share_quota: The maximum size of the share, in gigabytes. Must be + greater than 0, and less than or equal to 5TB (5120). For Large File + Shares, the maximum size is 102400. + :type share_quota: int + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + 'last_modified_time': {'readonly': True}, + 'share_quota': {'maximum': 102400, 'minimum': 1}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'last_modified_time': {'key': 'properties.lastModifiedTime', 'type': 'iso-8601'}, + 'metadata': {'key': 'properties.metadata', 'type': '{str}'}, + 'share_quota': {'key': 'properties.shareQuota', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(FileShare, self).__init__(**kwargs) + self.last_modified_time = None + self.metadata = kwargs.get('metadata', None) + self.share_quota = kwargs.get('share_quota', None) + + +class FileShareItem(AzureEntityResource): + """The file share properties be listed out. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :ivar etag: Resource Etag. + :vartype etag: str + :ivar last_modified_time: Returns the date and time the share was last + modified. + :vartype last_modified_time: datetime + :param metadata: A name-value pair to associate with the share as + metadata. + :type metadata: dict[str, str] + :param share_quota: The maximum size of the share, in gigabytes. Must be + greater than 0, and less than or equal to 5TB (5120). For Large File + Shares, the maximum size is 102400. + :type share_quota: int + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + 'last_modified_time': {'readonly': True}, + 'share_quota': {'maximum': 102400, 'minimum': 1}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'last_modified_time': {'key': 'properties.lastModifiedTime', 'type': 'iso-8601'}, + 'metadata': {'key': 'properties.metadata', 'type': '{str}'}, + 'share_quota': {'key': 'properties.shareQuota', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(FileShareItem, self).__init__(**kwargs) + self.last_modified_time = None + self.metadata = kwargs.get('metadata', None) + self.share_quota = kwargs.get('share_quota', None) + + +class GeoReplicationStats(Model): + """Statistics related to replication for storage account's Blob, Table, Queue + and File services. It is only available when geo-redundant replication is + enabled for the storage account. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar status: The status of the secondary location. Possible values are: - + Live: Indicates that the secondary location is active and operational. - + Bootstrap: Indicates initial synchronization from the primary location to + the secondary location is in progress.This typically occurs when + replication is first enabled. - Unavailable: Indicates that the secondary + location is temporarily unavailable. Possible values include: 'Live', + 'Bootstrap', 'Unavailable' + :vartype status: str or + ~azure.mgmt.storage.v2019_06_01.models.GeoReplicationStatus + :ivar last_sync_time: All primary writes preceding this UTC date/time + value are guaranteed to be available for read operations. Primary writes + following this point in time may or may not be available for reads. + Element may be default value if value of LastSyncTime is not available, + this can happen if secondary is offline or we are in bootstrap. + :vartype last_sync_time: datetime + :ivar can_failover: A boolean flag which indicates whether or not account + failover is supported for the account. + :vartype can_failover: bool + """ + + _validation = { + 'status': {'readonly': True}, + 'last_sync_time': {'readonly': True}, + 'can_failover': {'readonly': True}, + } + + _attribute_map = { + 'status': {'key': 'status', 'type': 'str'}, + 'last_sync_time': {'key': 'lastSyncTime', 'type': 'iso-8601'}, + 'can_failover': {'key': 'canFailover', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(GeoReplicationStats, self).__init__(**kwargs) + self.status = None + self.last_sync_time = None + self.can_failover = None + + +class Identity(Model): + """Identity for the resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar principal_id: The principal ID of resource identity. + :vartype principal_id: str + :ivar tenant_id: The tenant ID of resource. + :vartype tenant_id: str + :ivar type: Required. The identity type. Default value: "SystemAssigned" . + :vartype type: str + """ + + _validation = { + 'principal_id': {'readonly': True}, + 'tenant_id': {'readonly': True}, + 'type': {'required': True, 'constant': True}, + } + + _attribute_map = { + 'principal_id': {'key': 'principalId', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + type = "SystemAssigned" + + def __init__(self, **kwargs): + super(Identity, self).__init__(**kwargs) + self.principal_id = None + self.tenant_id = None + + +class ImmutabilityPolicy(AzureEntityResource): + """The ImmutabilityPolicy property of a blob container, including Id, resource + name, resource type, Etag. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :ivar etag: Resource Etag. + :vartype etag: str + :param immutability_period_since_creation_in_days: The immutability period + for the blobs in the container since the policy creation, in days. + :type immutability_period_since_creation_in_days: int + :ivar state: The ImmutabilityPolicy state of a blob container, possible + values include: Locked and Unlocked. Possible values include: 'Locked', + 'Unlocked' + :vartype state: str or + ~azure.mgmt.storage.v2019_06_01.models.ImmutabilityPolicyState + :param allow_protected_append_writes: This property can only be changed + for unlocked time-based retention policies. When enabled, new blocks can + be written to an append blob while maintaining immutability protection and + compliance. Only new blocks can be added and any existing blocks cannot be + modified or deleted. This property cannot be changed with + ExtendImmutabilityPolicy API + :type allow_protected_append_writes: bool + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + 'state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'immutability_period_since_creation_in_days': {'key': 'properties.immutabilityPeriodSinceCreationInDays', 'type': 'int'}, + 'state': {'key': 'properties.state', 'type': 'str'}, + 'allow_protected_append_writes': {'key': 'properties.allowProtectedAppendWrites', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(ImmutabilityPolicy, self).__init__(**kwargs) + self.immutability_period_since_creation_in_days = kwargs.get('immutability_period_since_creation_in_days', None) + self.state = None + self.allow_protected_append_writes = kwargs.get('allow_protected_append_writes', None) + + +class ImmutabilityPolicyProperties(Model): + """The properties of an ImmutabilityPolicy of a blob container. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param immutability_period_since_creation_in_days: The immutability period + for the blobs in the container since the policy creation, in days. + :type immutability_period_since_creation_in_days: int + :ivar state: The ImmutabilityPolicy state of a blob container, possible + values include: Locked and Unlocked. Possible values include: 'Locked', + 'Unlocked' + :vartype state: str or + ~azure.mgmt.storage.v2019_06_01.models.ImmutabilityPolicyState + :param allow_protected_append_writes: This property can only be changed + for unlocked time-based retention policies. When enabled, new blocks can + be written to an append blob while maintaining immutability protection and + compliance. Only new blocks can be added and any existing blocks cannot be + modified or deleted. This property cannot be changed with + ExtendImmutabilityPolicy API + :type allow_protected_append_writes: bool + :ivar etag: ImmutabilityPolicy Etag. + :vartype etag: str + :ivar update_history: The ImmutabilityPolicy update history of the blob + container. + :vartype update_history: + list[~azure.mgmt.storage.v2019_06_01.models.UpdateHistoryProperty] + """ + + _validation = { + 'state': {'readonly': True}, + 'etag': {'readonly': True}, + 'update_history': {'readonly': True}, + } + + _attribute_map = { + 'immutability_period_since_creation_in_days': {'key': 'properties.immutabilityPeriodSinceCreationInDays', 'type': 'int'}, + 'state': {'key': 'properties.state', 'type': 'str'}, + 'allow_protected_append_writes': {'key': 'properties.allowProtectedAppendWrites', 'type': 'bool'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'update_history': {'key': 'updateHistory', 'type': '[UpdateHistoryProperty]'}, + } + + def __init__(self, **kwargs): + super(ImmutabilityPolicyProperties, self).__init__(**kwargs) + self.immutability_period_since_creation_in_days = kwargs.get('immutability_period_since_creation_in_days', None) + self.state = None + self.allow_protected_append_writes = kwargs.get('allow_protected_append_writes', None) + self.etag = None + self.update_history = None + + +class IPRule(Model): + """IP rule with specific IP or IP range in CIDR format. + + All required parameters must be populated in order to send to Azure. + + :param ip_address_or_range: Required. Specifies the IP or IP range in CIDR + format. Only IPV4 address is allowed. + :type ip_address_or_range: str + :param action: The action of IP ACL rule. Possible values include: + 'Allow'. Default value: "Allow" . + :type action: str or ~azure.mgmt.storage.v2019_06_01.models.Action + """ + + _validation = { + 'ip_address_or_range': {'required': True}, + } + + _attribute_map = { + 'ip_address_or_range': {'key': 'value', 'type': 'str'}, + 'action': {'key': 'action', 'type': 'Action'}, + } + + def __init__(self, **kwargs): + super(IPRule, self).__init__(**kwargs) + self.ip_address_or_range = kwargs.get('ip_address_or_range', None) + self.action = kwargs.get('action', "Allow") + + +class KeyVaultProperties(Model): + """Properties of key vault. + + :param key_name: The name of KeyVault key. + :type key_name: str + :param key_version: The version of KeyVault key. + :type key_version: str + :param key_vault_uri: The Uri of KeyVault. + :type key_vault_uri: str + """ + + _attribute_map = { + 'key_name': {'key': 'keyname', 'type': 'str'}, + 'key_version': {'key': 'keyversion', 'type': 'str'}, + 'key_vault_uri': {'key': 'keyvaulturi', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(KeyVaultProperties, self).__init__(**kwargs) + self.key_name = kwargs.get('key_name', None) + self.key_version = kwargs.get('key_version', None) + self.key_vault_uri = kwargs.get('key_vault_uri', None) + + +class LeaseContainerRequest(Model): + """Lease Container request schema. + + All required parameters must be populated in order to send to Azure. + + :param action: Required. Specifies the lease action. Can be one of the + available actions. Possible values include: 'Acquire', 'Renew', 'Change', + 'Release', 'Break' + :type action: str or ~azure.mgmt.storage.v2019_06_01.models.enum + :param lease_id: Identifies the lease. Can be specified in any valid GUID + string format. + :type lease_id: str + :param break_period: Optional. For a break action, proposed duration the + lease should continue before it is broken, in seconds, between 0 and 60. + :type break_period: int + :param lease_duration: Required for acquire. Specifies the duration of the + lease, in seconds, or negative one (-1) for a lease that never expires. + :type lease_duration: int + :param proposed_lease_id: Optional for acquire, required for change. + Proposed lease ID, in a GUID string format. + :type proposed_lease_id: str + """ + + _validation = { + 'action': {'required': True}, + } + + _attribute_map = { + 'action': {'key': 'action', 'type': 'str'}, + 'lease_id': {'key': 'leaseId', 'type': 'str'}, + 'break_period': {'key': 'breakPeriod', 'type': 'int'}, + 'lease_duration': {'key': 'leaseDuration', 'type': 'int'}, + 'proposed_lease_id': {'key': 'proposedLeaseId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(LeaseContainerRequest, self).__init__(**kwargs) + self.action = kwargs.get('action', None) + self.lease_id = kwargs.get('lease_id', None) + self.break_period = kwargs.get('break_period', None) + self.lease_duration = kwargs.get('lease_duration', None) + self.proposed_lease_id = kwargs.get('proposed_lease_id', None) + + +class LeaseContainerResponse(Model): + """Lease Container response schema. + + :param lease_id: Returned unique lease ID that must be included with any + request to delete the container, or to renew, change, or release the + lease. + :type lease_id: str + :param lease_time_seconds: Approximate time remaining in the lease period, + in seconds. + :type lease_time_seconds: str + """ + + _attribute_map = { + 'lease_id': {'key': 'leaseId', 'type': 'str'}, + 'lease_time_seconds': {'key': 'leaseTimeSeconds', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(LeaseContainerResponse, self).__init__(**kwargs) + self.lease_id = kwargs.get('lease_id', None) + self.lease_time_seconds = kwargs.get('lease_time_seconds', None) + + +class LegalHold(Model): + """The LegalHold property of a blob container. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar has_legal_hold: The hasLegalHold public property is set to true by + SRP if there are at least one existing tag. The hasLegalHold public + property is set to false by SRP if all existing legal hold tags are + cleared out. There can be a maximum of 1000 blob containers with + hasLegalHold=true for a given account. + :vartype has_legal_hold: bool + :param tags: Required. Each tag should be 3 to 23 alphanumeric characters + and is normalized to lower case at SRP. + :type tags: list[str] + """ + + _validation = { + 'has_legal_hold': {'readonly': True}, + 'tags': {'required': True}, + } + + _attribute_map = { + 'has_legal_hold': {'key': 'hasLegalHold', 'type': 'bool'}, + 'tags': {'key': 'tags', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(LegalHold, self).__init__(**kwargs) + self.has_legal_hold = None + self.tags = kwargs.get('tags', None) + + +class LegalHoldProperties(Model): + """The LegalHold property of a blob container. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar has_legal_hold: The hasLegalHold public property is set to true by + SRP if there are at least one existing tag. The hasLegalHold public + property is set to false by SRP if all existing legal hold tags are + cleared out. There can be a maximum of 1000 blob containers with + hasLegalHold=true for a given account. + :vartype has_legal_hold: bool + :param tags: The list of LegalHold tags of a blob container. + :type tags: list[~azure.mgmt.storage.v2019_06_01.models.TagProperty] + """ + + _validation = { + 'has_legal_hold': {'readonly': True}, + } + + _attribute_map = { + 'has_legal_hold': {'key': 'hasLegalHold', 'type': 'bool'}, + 'tags': {'key': 'tags', 'type': '[TagProperty]'}, + } + + def __init__(self, **kwargs): + super(LegalHoldProperties, self).__init__(**kwargs) + self.has_legal_hold = None + self.tags = kwargs.get('tags', None) + + +class ListAccountSasResponse(Model): + """The List SAS credentials operation response. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar account_sas_token: List SAS credentials of storage account. + :vartype account_sas_token: str + """ + + _validation = { + 'account_sas_token': {'readonly': True}, + } + + _attribute_map = { + 'account_sas_token': {'key': 'accountSasToken', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ListAccountSasResponse, self).__init__(**kwargs) + self.account_sas_token = None + + +class ListContainerItem(AzureEntityResource): + """The blob container properties be listed out. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :ivar etag: Resource Etag. + :vartype etag: str + :param public_access: Specifies whether data in the container may be + accessed publicly and the level of access. Possible values include: + 'Container', 'Blob', 'None' + :type public_access: str or + ~azure.mgmt.storage.v2019_06_01.models.PublicAccess + :ivar last_modified_time: Returns the date and time the container was last + modified. + :vartype last_modified_time: datetime + :ivar lease_status: The lease status of the container. Possible values + include: 'Locked', 'Unlocked' + :vartype lease_status: str or + ~azure.mgmt.storage.v2019_06_01.models.LeaseStatus + :ivar lease_state: Lease state of the container. Possible values include: + 'Available', 'Leased', 'Expired', 'Breaking', 'Broken' + :vartype lease_state: str or + ~azure.mgmt.storage.v2019_06_01.models.LeaseState + :ivar lease_duration: Specifies whether the lease on a container is of + infinite or fixed duration, only when the container is leased. Possible + values include: 'Infinite', 'Fixed' + :vartype lease_duration: str or + ~azure.mgmt.storage.v2019_06_01.models.LeaseDuration + :param metadata: A name-value pair to associate with the container as + metadata. + :type metadata: dict[str, str] + :ivar immutability_policy: The ImmutabilityPolicy property of the + container. + :vartype immutability_policy: + ~azure.mgmt.storage.v2019_06_01.models.ImmutabilityPolicyProperties + :ivar legal_hold: The LegalHold property of the container. + :vartype legal_hold: + ~azure.mgmt.storage.v2019_06_01.models.LegalHoldProperties + :ivar has_legal_hold: The hasLegalHold public property is set to true by + SRP if there are at least one existing tag. The hasLegalHold public + property is set to false by SRP if all existing legal hold tags are + cleared out. There can be a maximum of 1000 blob containers with + hasLegalHold=true for a given account. + :vartype has_legal_hold: bool + :ivar has_immutability_policy: The hasImmutabilityPolicy public property + is set to true by SRP if ImmutabilityPolicy has been created for this + container. The hasImmutabilityPolicy public property is set to false by + SRP if ImmutabilityPolicy has not been created for this container. + :vartype has_immutability_policy: bool + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + 'last_modified_time': {'readonly': True}, + 'lease_status': {'readonly': True}, + 'lease_state': {'readonly': True}, + 'lease_duration': {'readonly': True}, + 'immutability_policy': {'readonly': True}, + 'legal_hold': {'readonly': True}, + 'has_legal_hold': {'readonly': True}, + 'has_immutability_policy': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'public_access': {'key': 'properties.publicAccess', 'type': 'PublicAccess'}, + 'last_modified_time': {'key': 'properties.lastModifiedTime', 'type': 'iso-8601'}, + 'lease_status': {'key': 'properties.leaseStatus', 'type': 'str'}, + 'lease_state': {'key': 'properties.leaseState', 'type': 'str'}, + 'lease_duration': {'key': 'properties.leaseDuration', 'type': 'str'}, + 'metadata': {'key': 'properties.metadata', 'type': '{str}'}, + 'immutability_policy': {'key': 'properties.immutabilityPolicy', 'type': 'ImmutabilityPolicyProperties'}, + 'legal_hold': {'key': 'properties.legalHold', 'type': 'LegalHoldProperties'}, + 'has_legal_hold': {'key': 'properties.hasLegalHold', 'type': 'bool'}, + 'has_immutability_policy': {'key': 'properties.hasImmutabilityPolicy', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(ListContainerItem, self).__init__(**kwargs) + self.public_access = kwargs.get('public_access', None) + self.last_modified_time = None + self.lease_status = None + self.lease_state = None + self.lease_duration = None + self.metadata = kwargs.get('metadata', None) + self.immutability_policy = None + self.legal_hold = None + self.has_legal_hold = None + self.has_immutability_policy = None + + +class ListServiceSasResponse(Model): + """The List service SAS credentials operation response. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar service_sas_token: List service SAS credentials of specific + resource. + :vartype service_sas_token: str + """ + + _validation = { + 'service_sas_token': {'readonly': True}, + } + + _attribute_map = { + 'service_sas_token': {'key': 'serviceSasToken', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ListServiceSasResponse, self).__init__(**kwargs) + self.service_sas_token = None + + +class ManagementPolicy(Resource): + """The Get Storage Account ManagementPolicies operation response. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :ivar last_modified_time: Returns the date and time the ManagementPolicies + was last modified. + :vartype last_modified_time: datetime + :param policy: Required. The Storage Account ManagementPolicy, in JSON + format. See more details in: + https://docs.microsoft.com/en-us/azure/storage/common/storage-lifecycle-managment-concepts. + :type policy: + ~azure.mgmt.storage.v2019_06_01.models.ManagementPolicySchema + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'last_modified_time': {'readonly': True}, + 'policy': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'last_modified_time': {'key': 'properties.lastModifiedTime', 'type': 'iso-8601'}, + 'policy': {'key': 'properties.policy', 'type': 'ManagementPolicySchema'}, + } + + def __init__(self, **kwargs): + super(ManagementPolicy, self).__init__(**kwargs) + self.last_modified_time = None + self.policy = kwargs.get('policy', None) + + +class ManagementPolicyAction(Model): + """Actions are applied to the filtered blobs when the execution condition is + met. + + :param base_blob: The management policy action for base blob + :type base_blob: + ~azure.mgmt.storage.v2019_06_01.models.ManagementPolicyBaseBlob + :param snapshot: The management policy action for snapshot + :type snapshot: + ~azure.mgmt.storage.v2019_06_01.models.ManagementPolicySnapShot + """ + + _attribute_map = { + 'base_blob': {'key': 'baseBlob', 'type': 'ManagementPolicyBaseBlob'}, + 'snapshot': {'key': 'snapshot', 'type': 'ManagementPolicySnapShot'}, + } + + def __init__(self, **kwargs): + super(ManagementPolicyAction, self).__init__(**kwargs) + self.base_blob = kwargs.get('base_blob', None) + self.snapshot = kwargs.get('snapshot', None) + + +class ManagementPolicyBaseBlob(Model): + """Management policy action for base blob. + + :param tier_to_cool: The function to tier blobs to cool storage. Support + blobs currently at Hot tier + :type tier_to_cool: + ~azure.mgmt.storage.v2019_06_01.models.DateAfterModification + :param tier_to_archive: The function to tier blobs to archive storage. + Support blobs currently at Hot or Cool tier + :type tier_to_archive: + ~azure.mgmt.storage.v2019_06_01.models.DateAfterModification + :param delete: The function to delete the blob + :type delete: ~azure.mgmt.storage.v2019_06_01.models.DateAfterModification + """ + + _attribute_map = { + 'tier_to_cool': {'key': 'tierToCool', 'type': 'DateAfterModification'}, + 'tier_to_archive': {'key': 'tierToArchive', 'type': 'DateAfterModification'}, + 'delete': {'key': 'delete', 'type': 'DateAfterModification'}, + } + + def __init__(self, **kwargs): + super(ManagementPolicyBaseBlob, self).__init__(**kwargs) + self.tier_to_cool = kwargs.get('tier_to_cool', None) + self.tier_to_archive = kwargs.get('tier_to_archive', None) + self.delete = kwargs.get('delete', None) + + +class ManagementPolicyDefinition(Model): + """An object that defines the Lifecycle rule. Each definition is made up with + a filters set and an actions set. + + All required parameters must be populated in order to send to Azure. + + :param actions: Required. An object that defines the action set. + :type actions: + ~azure.mgmt.storage.v2019_06_01.models.ManagementPolicyAction + :param filters: An object that defines the filter set. + :type filters: + ~azure.mgmt.storage.v2019_06_01.models.ManagementPolicyFilter + """ + + _validation = { + 'actions': {'required': True}, + } + + _attribute_map = { + 'actions': {'key': 'actions', 'type': 'ManagementPolicyAction'}, + 'filters': {'key': 'filters', 'type': 'ManagementPolicyFilter'}, + } + + def __init__(self, **kwargs): + super(ManagementPolicyDefinition, self).__init__(**kwargs) + self.actions = kwargs.get('actions', None) + self.filters = kwargs.get('filters', None) + + +class ManagementPolicyFilter(Model): + """Filters limit rule actions to a subset of blobs within the storage account. + If multiple filters are defined, a logical AND is performed on all filters. + . + + All required parameters must be populated in order to send to Azure. + + :param prefix_match: An array of strings for prefixes to be match. + :type prefix_match: list[str] + :param blob_types: Required. An array of predefined enum values. Only + blockBlob is supported. + :type blob_types: list[str] + """ + + _validation = { + 'blob_types': {'required': True}, + } + + _attribute_map = { + 'prefix_match': {'key': 'prefixMatch', 'type': '[str]'}, + 'blob_types': {'key': 'blobTypes', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(ManagementPolicyFilter, self).__init__(**kwargs) + self.prefix_match = kwargs.get('prefix_match', None) + self.blob_types = kwargs.get('blob_types', None) + + +class ManagementPolicyRule(Model): + """An object that wraps the Lifecycle rule. Each rule is uniquely defined by + name. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param enabled: Rule is enabled if set to true. + :type enabled: bool + :param name: Required. A rule name can contain any combination of alpha + numeric characters. Rule name is case-sensitive. It must be unique within + a policy. + :type name: str + :ivar type: Required. The valid value is Lifecycle. Default value: + "Lifecycle" . + :vartype type: str + :param definition: Required. An object that defines the Lifecycle rule. + :type definition: + ~azure.mgmt.storage.v2019_06_01.models.ManagementPolicyDefinition + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True, 'constant': True}, + 'definition': {'required': True}, + } + + _attribute_map = { + 'enabled': {'key': 'enabled', 'type': 'bool'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'definition': {'key': 'definition', 'type': 'ManagementPolicyDefinition'}, + } + + type = "Lifecycle" + + def __init__(self, **kwargs): + super(ManagementPolicyRule, self).__init__(**kwargs) + self.enabled = kwargs.get('enabled', None) + self.name = kwargs.get('name', None) + self.definition = kwargs.get('definition', None) + + +class ManagementPolicySchema(Model): + """The Storage Account ManagementPolicies Rules. See more details in: + https://docs.microsoft.com/en-us/azure/storage/common/storage-lifecycle-managment-concepts. + + All required parameters must be populated in order to send to Azure. + + :param rules: Required. The Storage Account ManagementPolicies Rules. See + more details in: + https://docs.microsoft.com/en-us/azure/storage/common/storage-lifecycle-managment-concepts. + :type rules: + list[~azure.mgmt.storage.v2019_06_01.models.ManagementPolicyRule] + """ + + _validation = { + 'rules': {'required': True}, + } + + _attribute_map = { + 'rules': {'key': 'rules', 'type': '[ManagementPolicyRule]'}, + } + + def __init__(self, **kwargs): + super(ManagementPolicySchema, self).__init__(**kwargs) + self.rules = kwargs.get('rules', None) + + +class ManagementPolicySnapShot(Model): + """Management policy action for snapshot. + + :param delete: The function to delete the blob snapshot + :type delete: ~azure.mgmt.storage.v2019_06_01.models.DateAfterCreation + """ + + _attribute_map = { + 'delete': {'key': 'delete', 'type': 'DateAfterCreation'}, + } + + def __init__(self, **kwargs): + super(ManagementPolicySnapShot, self).__init__(**kwargs) + self.delete = kwargs.get('delete', None) + + +class MetricSpecification(Model): + """Metric specification of operation. + + :param name: Name of metric specification. + :type name: str + :param display_name: Display name of metric specification. + :type display_name: str + :param display_description: Display description of metric specification. + :type display_description: str + :param unit: Unit could be Bytes or Count. + :type unit: str + :param dimensions: Dimensions of blobs, including blob type and access + tier. + :type dimensions: list[~azure.mgmt.storage.v2019_06_01.models.Dimension] + :param aggregation_type: Aggregation type could be Average. + :type aggregation_type: str + :param fill_gap_with_zero: The property to decide fill gap with zero or + not. + :type fill_gap_with_zero: bool + :param category: The category this metric specification belong to, could + be Capacity. + :type category: str + :param resource_id_dimension_name_override: Account Resource Id. + :type resource_id_dimension_name_override: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'display_description': {'key': 'displayDescription', 'type': 'str'}, + 'unit': {'key': 'unit', 'type': 'str'}, + 'dimensions': {'key': 'dimensions', 'type': '[Dimension]'}, + 'aggregation_type': {'key': 'aggregationType', 'type': 'str'}, + 'fill_gap_with_zero': {'key': 'fillGapWithZero', 'type': 'bool'}, + 'category': {'key': 'category', 'type': 'str'}, + 'resource_id_dimension_name_override': {'key': 'resourceIdDimensionNameOverride', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(MetricSpecification, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.display_name = kwargs.get('display_name', None) + self.display_description = kwargs.get('display_description', None) + self.unit = kwargs.get('unit', None) + self.dimensions = kwargs.get('dimensions', None) + self.aggregation_type = kwargs.get('aggregation_type', None) + self.fill_gap_with_zero = kwargs.get('fill_gap_with_zero', None) + self.category = kwargs.get('category', None) + self.resource_id_dimension_name_override = kwargs.get('resource_id_dimension_name_override', None) + + +class NetworkRuleSet(Model): + """Network rule set. + + All required parameters must be populated in order to send to Azure. + + :param bypass: Specifies whether traffic is bypassed for + Logging/Metrics/AzureServices. Possible values are any combination of + Logging|Metrics|AzureServices (For example, "Logging, Metrics"), or None + to bypass none of those traffics. Possible values include: 'None', + 'Logging', 'Metrics', 'AzureServices'. Default value: "AzureServices" . + :type bypass: str or ~azure.mgmt.storage.v2019_06_01.models.Bypass + :param virtual_network_rules: Sets the virtual network rules + :type virtual_network_rules: + list[~azure.mgmt.storage.v2019_06_01.models.VirtualNetworkRule] + :param ip_rules: Sets the IP ACL rules + :type ip_rules: list[~azure.mgmt.storage.v2019_06_01.models.IPRule] + :param default_action: Required. Specifies the default action of allow or + deny when no other rules match. Possible values include: 'Allow', 'Deny'. + Default value: "Allow" . + :type default_action: str or + ~azure.mgmt.storage.v2019_06_01.models.DefaultAction + """ + + _validation = { + 'default_action': {'required': True}, + } + + _attribute_map = { + 'bypass': {'key': 'bypass', 'type': 'str'}, + 'virtual_network_rules': {'key': 'virtualNetworkRules', 'type': '[VirtualNetworkRule]'}, + 'ip_rules': {'key': 'ipRules', 'type': '[IPRule]'}, + 'default_action': {'key': 'defaultAction', 'type': 'DefaultAction'}, + } + + def __init__(self, **kwargs): + super(NetworkRuleSet, self).__init__(**kwargs) + self.bypass = kwargs.get('bypass', "AzureServices") + self.virtual_network_rules = kwargs.get('virtual_network_rules', None) + self.ip_rules = kwargs.get('ip_rules', None) + self.default_action = kwargs.get('default_action', "Allow") + + +class ObjectReplicationPolicy(Resource): + """The replication policy between two storage accounts. Multiple rules can be + defined in one policy. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :ivar policy_id: A unique id for object replication policy. + :vartype policy_id: str + :ivar enabled_time: Indicates when the policy is enabled on the source + account. + :vartype enabled_time: datetime + :param source_account: Required. Required. Source account name. + :type source_account: str + :param destination_account: Required. Required. Destination account name. + :type destination_account: str + :param rules: The storage account object replication rules. + :type rules: + list[~azure.mgmt.storage.v2019_06_01.models.ObjectReplicationPolicyRule] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'policy_id': {'readonly': True}, + 'enabled_time': {'readonly': True}, + 'source_account': {'required': True}, + 'destination_account': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'policy_id': {'key': 'properties.policyId', 'type': 'str'}, + 'enabled_time': {'key': 'properties.enabledTime', 'type': 'iso-8601'}, + 'source_account': {'key': 'properties.sourceAccount', 'type': 'str'}, + 'destination_account': {'key': 'properties.destinationAccount', 'type': 'str'}, + 'rules': {'key': 'properties.rules', 'type': '[ObjectReplicationPolicyRule]'}, + } + + def __init__(self, **kwargs): + super(ObjectReplicationPolicy, self).__init__(**kwargs) + self.policy_id = None + self.enabled_time = None + self.source_account = kwargs.get('source_account', None) + self.destination_account = kwargs.get('destination_account', None) + self.rules = kwargs.get('rules', None) + + +class ObjectReplicationPolicyFilter(Model): + """Filters limit replication to a subset of blobs within the storage account. + A logical OR is performed on values in the filter. If multiple filters are + defined, a logical AND is performed on all filters. + + :param prefix_match: Optional. Filters the results to replicate only blobs + whose names begin with the specified prefix. + :type prefix_match: list[str] + :param min_creation_time: Blobs created after the time will be replicated + to the destination. It must be in datetime format + 'yyyy'-'MM'-'dd'T'HH':'mm':'ss'Z'. Example: 2020-02-19T16:05:00Z + :type min_creation_time: str + """ + + _attribute_map = { + 'prefix_match': {'key': 'prefixMatch', 'type': '[str]'}, + 'min_creation_time': {'key': 'minCreationTime', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ObjectReplicationPolicyFilter, self).__init__(**kwargs) + self.prefix_match = kwargs.get('prefix_match', None) + self.min_creation_time = kwargs.get('min_creation_time', None) + + +class ObjectReplicationPolicyRule(Model): + """The replication policy rule between two containers. + + All required parameters must be populated in order to send to Azure. + + :param rule_id: Rule Id is auto-generated for each new rule on destination + account. It is required for put policy on source account. + :type rule_id: str + :param source_container: Required. Required. Source container name. + :type source_container: str + :param destination_container: Required. Required. Destination container + name. + :type destination_container: str + :param filters: Optional. An object that defines the filter set. + :type filters: + ~azure.mgmt.storage.v2019_06_01.models.ObjectReplicationPolicyFilter + """ + + _validation = { + 'source_container': {'required': True}, + 'destination_container': {'required': True}, + } + + _attribute_map = { + 'rule_id': {'key': 'ruleId', 'type': 'str'}, + 'source_container': {'key': 'sourceContainer', 'type': 'str'}, + 'destination_container': {'key': 'destinationContainer', 'type': 'str'}, + 'filters': {'key': 'filters', 'type': 'ObjectReplicationPolicyFilter'}, + } + + def __init__(self, **kwargs): + super(ObjectReplicationPolicyRule, self).__init__(**kwargs) + self.rule_id = kwargs.get('rule_id', None) + self.source_container = kwargs.get('source_container', None) + self.destination_container = kwargs.get('destination_container', None) + self.filters = kwargs.get('filters', None) + + +class Operation(Model): + """Storage REST API operation definition. + + :param name: Operation name: {provider}/{resource}/{operation} + :type name: str + :param display: Display metadata associated with the operation. + :type display: ~azure.mgmt.storage.v2019_06_01.models.OperationDisplay + :param origin: The origin of operations. + :type origin: str + :param service_specification: One property of operation, include metric + specifications. + :type service_specification: + ~azure.mgmt.storage.v2019_06_01.models.ServiceSpecification + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'OperationDisplay'}, + 'origin': {'key': 'origin', 'type': 'str'}, + 'service_specification': {'key': 'properties.serviceSpecification', 'type': 'ServiceSpecification'}, + } + + def __init__(self, **kwargs): + super(Operation, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.display = kwargs.get('display', None) + self.origin = kwargs.get('origin', None) + self.service_specification = kwargs.get('service_specification', None) + + +class OperationDisplay(Model): + """Display metadata associated with the operation. + + :param provider: Service provider: Microsoft Storage. + :type provider: str + :param resource: Resource on which the operation is performed etc. + :type resource: str + :param operation: Type of operation: get, read, delete, etc. + :type operation: str + :param description: Description of the operation. + :type description: str + """ + + _attribute_map = { + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(OperationDisplay, self).__init__(**kwargs) + self.provider = kwargs.get('provider', None) + self.resource = kwargs.get('resource', None) + self.operation = kwargs.get('operation', None) + self.description = kwargs.get('description', None) + + +class PrivateEndpoint(Model): + """The Private Endpoint resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: The ARM identifier for Private Endpoint + :vartype id: str + """ + + _validation = { + 'id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PrivateEndpoint, self).__init__(**kwargs) + self.id = None + + +class PrivateEndpointConnection(Resource): + """The Private Endpoint Connection resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :param private_endpoint: The resource of private end point. + :type private_endpoint: + ~azure.mgmt.storage.v2019_06_01.models.PrivateEndpoint + :param private_link_service_connection_state: Required. A collection of + information about the state of the connection between service consumer and + provider. + :type private_link_service_connection_state: + ~azure.mgmt.storage.v2019_06_01.models.PrivateLinkServiceConnectionState + :param provisioning_state: The provisioning state of the private endpoint + connection resource. Possible values include: 'Succeeded', 'Creating', + 'Deleting', 'Failed' + :type provisioning_state: str or + ~azure.mgmt.storage.v2019_06_01.models.PrivateEndpointConnectionProvisioningState + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'private_link_service_connection_state': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'private_endpoint': {'key': 'properties.privateEndpoint', 'type': 'PrivateEndpoint'}, + 'private_link_service_connection_state': {'key': 'properties.privateLinkServiceConnectionState', 'type': 'PrivateLinkServiceConnectionState'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PrivateEndpointConnection, self).__init__(**kwargs) + self.private_endpoint = kwargs.get('private_endpoint', None) + self.private_link_service_connection_state = kwargs.get('private_link_service_connection_state', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + + +class PrivateLinkResource(Resource): + """A private link resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :ivar group_id: The private link resource group id. + :vartype group_id: str + :ivar required_members: The private link resource required member names. + :vartype required_members: list[str] + :param required_zone_names: The private link resource Private link DNS + zone name. + :type required_zone_names: list[str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'group_id': {'readonly': True}, + 'required_members': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'group_id': {'key': 'properties.groupId', 'type': 'str'}, + 'required_members': {'key': 'properties.requiredMembers', 'type': '[str]'}, + 'required_zone_names': {'key': 'properties.requiredZoneNames', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(PrivateLinkResource, self).__init__(**kwargs) + self.group_id = None + self.required_members = None + self.required_zone_names = kwargs.get('required_zone_names', None) + + +class PrivateLinkResourceListResult(Model): + """A list of private link resources. + + :param value: Array of private link resources + :type value: + list[~azure.mgmt.storage.v2019_06_01.models.PrivateLinkResource] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[PrivateLinkResource]'}, + } + + def __init__(self, **kwargs): + super(PrivateLinkResourceListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + + +class PrivateLinkServiceConnectionState(Model): + """A collection of information about the state of the connection between + service consumer and provider. + + :param status: Indicates whether the connection has been + Approved/Rejected/Removed by the owner of the service. Possible values + include: 'Pending', 'Approved', 'Rejected' + :type status: str or + ~azure.mgmt.storage.v2019_06_01.models.PrivateEndpointServiceConnectionStatus + :param description: The reason for approval/rejection of the connection. + :type description: str + :param action_required: A message indicating if changes on the service + provider require any updates on the consumer. + :type action_required: str + """ + + _attribute_map = { + 'status': {'key': 'status', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'action_required': {'key': 'actionRequired', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PrivateLinkServiceConnectionState, self).__init__(**kwargs) + self.status = kwargs.get('status', None) + self.description = kwargs.get('description', None) + self.action_required = kwargs.get('action_required', None) + + +class ProxyResource(Resource): + """The resource model definition for a ARM proxy resource. It will have + everything other than required location and tags. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ProxyResource, self).__init__(**kwargs) + + +class RestorePolicyProperties(Model): + """The blob service properties for blob restore policy. + + All required parameters must be populated in order to send to Azure. + + :param enabled: Required. Blob restore is enabled if set to true. + :type enabled: bool + :param days: how long this blob can be restored. It should be great than + zero and less than DeleteRetentionPolicy.days. + :type days: int + """ + + _validation = { + 'enabled': {'required': True}, + 'days': {'maximum': 365, 'minimum': 1}, + } + + _attribute_map = { + 'enabled': {'key': 'enabled', 'type': 'bool'}, + 'days': {'key': 'days', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(RestorePolicyProperties, self).__init__(**kwargs) + self.enabled = kwargs.get('enabled', None) + self.days = kwargs.get('days', None) + + +class Restriction(Model): + """The restriction because of which SKU cannot be used. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar type: The type of restrictions. As of now only possible value for + this is location. + :vartype type: str + :ivar values: The value of restrictions. If the restriction type is set to + location. This would be different locations where the SKU is restricted. + :vartype values: list[str] + :param reason_code: The reason for the restriction. As of now this can be + "QuotaId" or "NotAvailableForSubscription". Quota Id is set when the SKU + has requiredQuotas parameter as the subscription does not belong to that + quota. The "NotAvailableForSubscription" is related to capacity at DC. + Possible values include: 'QuotaId', 'NotAvailableForSubscription' + :type reason_code: str or + ~azure.mgmt.storage.v2019_06_01.models.ReasonCode + """ + + _validation = { + 'type': {'readonly': True}, + 'values': {'readonly': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'values': {'key': 'values', 'type': '[str]'}, + 'reason_code': {'key': 'reasonCode', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Restriction, self).__init__(**kwargs) + self.type = None + self.values = None + self.reason_code = kwargs.get('reason_code', None) + + +class RoutingPreference(Model): + """Routing preference defines the type of network, either microsoft or + internet routing to be used to deliver the user data, the default option is + microsoft routing. + + :param routing_choice: Routing Choice defines the kind of network routing + opted by the user. Possible values include: 'MicrosoftRouting', + 'InternetRouting' + :type routing_choice: str or + ~azure.mgmt.storage.v2019_06_01.models.RoutingChoice + :param publish_microsoft_endpoints: A boolean flag which indicates whether + microsoft routing storage endpoints are to be published + :type publish_microsoft_endpoints: bool + :param publish_internet_endpoints: A boolean flag which indicates whether + internet routing storage endpoints are to be published + :type publish_internet_endpoints: bool + """ + + _attribute_map = { + 'routing_choice': {'key': 'routingChoice', 'type': 'str'}, + 'publish_microsoft_endpoints': {'key': 'publishMicrosoftEndpoints', 'type': 'bool'}, + 'publish_internet_endpoints': {'key': 'publishInternetEndpoints', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(RoutingPreference, self).__init__(**kwargs) + self.routing_choice = kwargs.get('routing_choice', None) + self.publish_microsoft_endpoints = kwargs.get('publish_microsoft_endpoints', None) + self.publish_internet_endpoints = kwargs.get('publish_internet_endpoints', None) + + +class ServiceSasParameters(Model): + """The parameters to list service SAS credentials of a specific resource. + + All required parameters must be populated in order to send to Azure. + + :param canonicalized_resource: Required. The canonical path to the signed + resource. + :type canonicalized_resource: str + :param resource: The signed services accessible with the service SAS. + Possible values include: Blob (b), Container (c), File (f), Share (s). + Possible values include: 'b', 'c', 'f', 's' + :type resource: str or + ~azure.mgmt.storage.v2019_06_01.models.SignedResource + :param permissions: The signed permissions for the service SAS. Possible + values include: Read (r), Write (w), Delete (d), List (l), Add (a), Create + (c), Update (u) and Process (p). Possible values include: 'r', 'd', 'w', + 'l', 'a', 'c', 'u', 'p' + :type permissions: str or + ~azure.mgmt.storage.v2019_06_01.models.Permissions + :param ip_address_or_range: An IP address or a range of IP addresses from + which to accept requests. + :type ip_address_or_range: str + :param protocols: The protocol permitted for a request made with the + account SAS. Possible values include: 'https,http', 'https' + :type protocols: str or + ~azure.mgmt.storage.v2019_06_01.models.HttpProtocol + :param shared_access_start_time: The time at which the SAS becomes valid. + :type shared_access_start_time: datetime + :param shared_access_expiry_time: The time at which the shared access + signature becomes invalid. + :type shared_access_expiry_time: datetime + :param identifier: A unique value up to 64 characters in length that + correlates to an access policy specified for the container, queue, or + table. + :type identifier: str + :param partition_key_start: The start of partition key. + :type partition_key_start: str + :param partition_key_end: The end of partition key. + :type partition_key_end: str + :param row_key_start: The start of row key. + :type row_key_start: str + :param row_key_end: The end of row key. + :type row_key_end: str + :param key_to_sign: The key to sign the account SAS token with. + :type key_to_sign: str + :param cache_control: The response header override for cache control. + :type cache_control: str + :param content_disposition: The response header override for content + disposition. + :type content_disposition: str + :param content_encoding: The response header override for content + encoding. + :type content_encoding: str + :param content_language: The response header override for content + language. + :type content_language: str + :param content_type: The response header override for content type. + :type content_type: str + """ + + _validation = { + 'canonicalized_resource': {'required': True}, + 'identifier': {'max_length': 64}, + } + + _attribute_map = { + 'canonicalized_resource': {'key': 'canonicalizedResource', 'type': 'str'}, + 'resource': {'key': 'signedResource', 'type': 'str'}, + 'permissions': {'key': 'signedPermission', 'type': 'str'}, + 'ip_address_or_range': {'key': 'signedIp', 'type': 'str'}, + 'protocols': {'key': 'signedProtocol', 'type': 'HttpProtocol'}, + 'shared_access_start_time': {'key': 'signedStart', 'type': 'iso-8601'}, + 'shared_access_expiry_time': {'key': 'signedExpiry', 'type': 'iso-8601'}, + 'identifier': {'key': 'signedIdentifier', 'type': 'str'}, + 'partition_key_start': {'key': 'startPk', 'type': 'str'}, + 'partition_key_end': {'key': 'endPk', 'type': 'str'}, + 'row_key_start': {'key': 'startRk', 'type': 'str'}, + 'row_key_end': {'key': 'endRk', 'type': 'str'}, + 'key_to_sign': {'key': 'keyToSign', 'type': 'str'}, + 'cache_control': {'key': 'rscc', 'type': 'str'}, + 'content_disposition': {'key': 'rscd', 'type': 'str'}, + 'content_encoding': {'key': 'rsce', 'type': 'str'}, + 'content_language': {'key': 'rscl', 'type': 'str'}, + 'content_type': {'key': 'rsct', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ServiceSasParameters, self).__init__(**kwargs) + self.canonicalized_resource = kwargs.get('canonicalized_resource', None) + self.resource = kwargs.get('resource', None) + self.permissions = kwargs.get('permissions', None) + self.ip_address_or_range = kwargs.get('ip_address_or_range', None) + self.protocols = kwargs.get('protocols', None) + self.shared_access_start_time = kwargs.get('shared_access_start_time', None) + self.shared_access_expiry_time = kwargs.get('shared_access_expiry_time', None) + self.identifier = kwargs.get('identifier', None) + self.partition_key_start = kwargs.get('partition_key_start', None) + self.partition_key_end = kwargs.get('partition_key_end', None) + self.row_key_start = kwargs.get('row_key_start', None) + self.row_key_end = kwargs.get('row_key_end', None) + self.key_to_sign = kwargs.get('key_to_sign', None) + self.cache_control = kwargs.get('cache_control', None) + self.content_disposition = kwargs.get('content_disposition', None) + self.content_encoding = kwargs.get('content_encoding', None) + self.content_language = kwargs.get('content_language', None) + self.content_type = kwargs.get('content_type', None) + + +class ServiceSpecification(Model): + """One property of operation, include metric specifications. + + :param metric_specifications: Metric specifications of operation. + :type metric_specifications: + list[~azure.mgmt.storage.v2019_06_01.models.MetricSpecification] + """ + + _attribute_map = { + 'metric_specifications': {'key': 'metricSpecifications', 'type': '[MetricSpecification]'}, + } + + def __init__(self, **kwargs): + super(ServiceSpecification, self).__init__(**kwargs) + self.metric_specifications = kwargs.get('metric_specifications', None) + + +class Sku(Model): + """The SKU of the storage account. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. Possible values include: 'Standard_LRS', + 'Standard_GRS', 'Standard_RAGRS', 'Standard_ZRS', 'Premium_LRS', + 'Premium_ZRS', 'Standard_GZRS', 'Standard_RAGZRS' + :type name: str or ~azure.mgmt.storage.v2019_06_01.models.SkuName + :param tier: Possible values include: 'Standard', 'Premium' + :type tier: str or ~azure.mgmt.storage.v2019_06_01.models.SkuTier + """ + + _validation = { + 'name': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'SkuTier'}, + } + + def __init__(self, **kwargs): + super(Sku, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.tier = kwargs.get('tier', None) + + +class SKUCapability(Model): + """The capability information in the specified SKU, including file encryption, + network ACLs, change notification, etc. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name: The name of capability, The capability information in the + specified SKU, including file encryption, network ACLs, change + notification, etc. + :vartype name: str + :ivar value: A string value to indicate states of given capability. + Possibly 'true' or 'false'. + :vartype value: str + """ + + _validation = { + 'name': {'readonly': True}, + 'value': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SKUCapability, self).__init__(**kwargs) + self.name = None + self.value = None + + +class SkuInformation(Model): + """Storage SKU and its properties. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. Possible values include: 'Standard_LRS', + 'Standard_GRS', 'Standard_RAGRS', 'Standard_ZRS', 'Premium_LRS', + 'Premium_ZRS', 'Standard_GZRS', 'Standard_RAGZRS' + :type name: str or ~azure.mgmt.storage.v2019_06_01.models.SkuName + :param tier: Possible values include: 'Standard', 'Premium' + :type tier: str or ~azure.mgmt.storage.v2019_06_01.models.SkuTier + :ivar resource_type: The type of the resource, usually it is + 'storageAccounts'. + :vartype resource_type: str + :ivar kind: Indicates the type of storage account. Possible values + include: 'Storage', 'StorageV2', 'BlobStorage', 'FileStorage', + 'BlockBlobStorage' + :vartype kind: str or ~azure.mgmt.storage.v2019_06_01.models.Kind + :ivar locations: The set of locations that the SKU is available. This will + be supported and registered Azure Geo Regions (e.g. West US, East US, + Southeast Asia, etc.). + :vartype locations: list[str] + :ivar capabilities: The capability information in the specified SKU, + including file encryption, network ACLs, change notification, etc. + :vartype capabilities: + list[~azure.mgmt.storage.v2019_06_01.models.SKUCapability] + :param restrictions: The restrictions because of which SKU cannot be used. + This is empty if there are no restrictions. + :type restrictions: + list[~azure.mgmt.storage.v2019_06_01.models.Restriction] + """ + + _validation = { + 'name': {'required': True}, + 'resource_type': {'readonly': True}, + 'kind': {'readonly': True}, + 'locations': {'readonly': True}, + 'capabilities': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'SkuTier'}, + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'locations': {'key': 'locations', 'type': '[str]'}, + 'capabilities': {'key': 'capabilities', 'type': '[SKUCapability]'}, + 'restrictions': {'key': 'restrictions', 'type': '[Restriction]'}, + } + + def __init__(self, **kwargs): + super(SkuInformation, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.tier = kwargs.get('tier', None) + self.resource_type = None + self.kind = None + self.locations = None + self.capabilities = None + self.restrictions = kwargs.get('restrictions', None) + + +class TrackedResource(Resource): + """The resource model definition for a ARM tracked top level resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param location: Required. The geo-location where the resource lives + :type location: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'location': {'key': 'location', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(TrackedResource, self).__init__(**kwargs) + self.tags = kwargs.get('tags', None) + self.location = kwargs.get('location', None) + + +class StorageAccount(TrackedResource): + """The storage account. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param location: Required. The geo-location where the resource lives + :type location: str + :ivar sku: Gets the SKU. + :vartype sku: ~azure.mgmt.storage.v2019_06_01.models.Sku + :ivar kind: Gets the Kind. Possible values include: 'Storage', + 'StorageV2', 'BlobStorage', 'FileStorage', 'BlockBlobStorage' + :vartype kind: str or ~azure.mgmt.storage.v2019_06_01.models.Kind + :param identity: The identity of the resource. + :type identity: ~azure.mgmt.storage.v2019_06_01.models.Identity + :ivar provisioning_state: Gets the status of the storage account at the + time the operation was called. Possible values include: 'Creating', + 'ResolvingDNS', 'Succeeded' + :vartype provisioning_state: str or + ~azure.mgmt.storage.v2019_06_01.models.ProvisioningState + :ivar primary_endpoints: Gets the URLs that are used to perform a + retrieval of a public blob, queue, or table object. Note that Standard_ZRS + and Premium_LRS accounts only return the blob endpoint. + :vartype primary_endpoints: + ~azure.mgmt.storage.v2019_06_01.models.Endpoints + :ivar primary_location: Gets the location of the primary data center for + the storage account. + :vartype primary_location: str + :ivar status_of_primary: Gets the status indicating whether the primary + location of the storage account is available or unavailable. Possible + values include: 'available', 'unavailable' + :vartype status_of_primary: str or + ~azure.mgmt.storage.v2019_06_01.models.AccountStatus + :ivar last_geo_failover_time: Gets the timestamp of the most recent + instance of a failover to the secondary location. Only the most recent + timestamp is retained. This element is not returned if there has never + been a failover instance. Only available if the accountType is + Standard_GRS or Standard_RAGRS. + :vartype last_geo_failover_time: datetime + :ivar secondary_location: Gets the location of the geo-replicated + secondary for the storage account. Only available if the accountType is + Standard_GRS or Standard_RAGRS. + :vartype secondary_location: str + :ivar status_of_secondary: Gets the status indicating whether the + secondary location of the storage account is available or unavailable. + Only available if the SKU name is Standard_GRS or Standard_RAGRS. Possible + values include: 'available', 'unavailable' + :vartype status_of_secondary: str or + ~azure.mgmt.storage.v2019_06_01.models.AccountStatus + :ivar creation_time: Gets the creation date and time of the storage + account in UTC. + :vartype creation_time: datetime + :ivar custom_domain: Gets the custom domain the user assigned to this + storage account. + :vartype custom_domain: + ~azure.mgmt.storage.v2019_06_01.models.CustomDomain + :ivar secondary_endpoints: Gets the URLs that are used to perform a + retrieval of a public blob, queue, or table object from the secondary + location of the storage account. Only available if the SKU name is + Standard_RAGRS. + :vartype secondary_endpoints: + ~azure.mgmt.storage.v2019_06_01.models.Endpoints + :ivar encryption: Gets the encryption settings on the account. If + unspecified, the account is unencrypted. + :vartype encryption: ~azure.mgmt.storage.v2019_06_01.models.Encryption + :ivar access_tier: Required for storage accounts where kind = BlobStorage. + The access tier used for billing. Possible values include: 'Hot', 'Cool' + :vartype access_tier: str or + ~azure.mgmt.storage.v2019_06_01.models.AccessTier + :param azure_files_identity_based_authentication: Provides the identity + based authentication settings for Azure Files. + :type azure_files_identity_based_authentication: + ~azure.mgmt.storage.v2019_06_01.models.AzureFilesIdentityBasedAuthentication + :param enable_https_traffic_only: Allows https traffic only to storage + service if sets to true. + :type enable_https_traffic_only: bool + :ivar network_rule_set: Network rule set + :vartype network_rule_set: + ~azure.mgmt.storage.v2019_06_01.models.NetworkRuleSet + :param is_hns_enabled: Account HierarchicalNamespace enabled if sets to + true. + :type is_hns_enabled: bool + :ivar geo_replication_stats: Geo Replication Stats + :vartype geo_replication_stats: + ~azure.mgmt.storage.v2019_06_01.models.GeoReplicationStats + :ivar failover_in_progress: If the failover is in progress, the value will + be true, otherwise, it will be null. + :vartype failover_in_progress: bool + :param large_file_shares_state: Allow large file shares if sets to + Enabled. It cannot be disabled once it is enabled. Possible values + include: 'Disabled', 'Enabled' + :type large_file_shares_state: str or + ~azure.mgmt.storage.v2019_06_01.models.LargeFileSharesState + :ivar private_endpoint_connections: List of private endpoint connection + associated with the specified storage account + :vartype private_endpoint_connections: + list[~azure.mgmt.storage.v2019_06_01.models.PrivateEndpointConnection] + :param routing_preference: Maintains information about the network routing + choice opted by the user for data transfer + :type routing_preference: + ~azure.mgmt.storage.v2019_06_01.models.RoutingPreference + :ivar blob_restore_status: Blob restore status + :vartype blob_restore_status: + ~azure.mgmt.storage.v2019_06_01.models.BlobRestoreStatus + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + 'sku': {'readonly': True}, + 'kind': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'primary_endpoints': {'readonly': True}, + 'primary_location': {'readonly': True}, + 'status_of_primary': {'readonly': True}, + 'last_geo_failover_time': {'readonly': True}, + 'secondary_location': {'readonly': True}, + 'status_of_secondary': {'readonly': True}, + 'creation_time': {'readonly': True}, + 'custom_domain': {'readonly': True}, + 'secondary_endpoints': {'readonly': True}, + 'encryption': {'readonly': True}, + 'access_tier': {'readonly': True}, + 'network_rule_set': {'readonly': True}, + 'geo_replication_stats': {'readonly': True}, + 'failover_in_progress': {'readonly': True}, + 'private_endpoint_connections': {'readonly': True}, + 'blob_restore_status': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'location': {'key': 'location', 'type': 'str'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'identity': {'key': 'identity', 'type': 'Identity'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'ProvisioningState'}, + 'primary_endpoints': {'key': 'properties.primaryEndpoints', 'type': 'Endpoints'}, + 'primary_location': {'key': 'properties.primaryLocation', 'type': 'str'}, + 'status_of_primary': {'key': 'properties.statusOfPrimary', 'type': 'AccountStatus'}, + 'last_geo_failover_time': {'key': 'properties.lastGeoFailoverTime', 'type': 'iso-8601'}, + 'secondary_location': {'key': 'properties.secondaryLocation', 'type': 'str'}, + 'status_of_secondary': {'key': 'properties.statusOfSecondary', 'type': 'AccountStatus'}, + 'creation_time': {'key': 'properties.creationTime', 'type': 'iso-8601'}, + 'custom_domain': {'key': 'properties.customDomain', 'type': 'CustomDomain'}, + 'secondary_endpoints': {'key': 'properties.secondaryEndpoints', 'type': 'Endpoints'}, + 'encryption': {'key': 'properties.encryption', 'type': 'Encryption'}, + 'access_tier': {'key': 'properties.accessTier', 'type': 'AccessTier'}, + 'azure_files_identity_based_authentication': {'key': 'properties.azureFilesIdentityBasedAuthentication', 'type': 'AzureFilesIdentityBasedAuthentication'}, + 'enable_https_traffic_only': {'key': 'properties.supportsHttpsTrafficOnly', 'type': 'bool'}, + 'network_rule_set': {'key': 'properties.networkAcls', 'type': 'NetworkRuleSet'}, + 'is_hns_enabled': {'key': 'properties.isHnsEnabled', 'type': 'bool'}, + 'geo_replication_stats': {'key': 'properties.geoReplicationStats', 'type': 'GeoReplicationStats'}, + 'failover_in_progress': {'key': 'properties.failoverInProgress', 'type': 'bool'}, + 'large_file_shares_state': {'key': 'properties.largeFileSharesState', 'type': 'str'}, + 'private_endpoint_connections': {'key': 'properties.privateEndpointConnections', 'type': '[PrivateEndpointConnection]'}, + 'routing_preference': {'key': 'properties.routingPreference', 'type': 'RoutingPreference'}, + 'blob_restore_status': {'key': 'properties.blobRestoreStatus', 'type': 'BlobRestoreStatus'}, + } + + def __init__(self, **kwargs): + super(StorageAccount, self).__init__(**kwargs) + self.sku = None + self.kind = None + self.identity = kwargs.get('identity', None) + self.provisioning_state = None + self.primary_endpoints = None + self.primary_location = None + self.status_of_primary = None + self.last_geo_failover_time = None + self.secondary_location = None + self.status_of_secondary = None + self.creation_time = None + self.custom_domain = None + self.secondary_endpoints = None + self.encryption = None + self.access_tier = None + self.azure_files_identity_based_authentication = kwargs.get('azure_files_identity_based_authentication', None) + self.enable_https_traffic_only = kwargs.get('enable_https_traffic_only', None) + self.network_rule_set = None + self.is_hns_enabled = kwargs.get('is_hns_enabled', None) + self.geo_replication_stats = None + self.failover_in_progress = None + self.large_file_shares_state = kwargs.get('large_file_shares_state', None) + self.private_endpoint_connections = None + self.routing_preference = kwargs.get('routing_preference', None) + self.blob_restore_status = None + + +class StorageAccountCheckNameAvailabilityParameters(Model): + """The parameters used to check the availability of the storage account name. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. The storage account name. + :type name: str + :ivar type: Required. The type of resource, + Microsoft.Storage/storageAccounts. Default value: + "Microsoft.Storage/storageAccounts" . + :vartype type: str + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True, 'constant': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + type = "Microsoft.Storage/storageAccounts" + + def __init__(self, **kwargs): + super(StorageAccountCheckNameAvailabilityParameters, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + + +class StorageAccountCreateParameters(Model): + """The parameters used when creating a storage account. + + All required parameters must be populated in order to send to Azure. + + :param sku: Required. Required. Gets or sets the SKU name. + :type sku: ~azure.mgmt.storage.v2019_06_01.models.Sku + :param kind: Required. Required. Indicates the type of storage account. + Possible values include: 'Storage', 'StorageV2', 'BlobStorage', + 'FileStorage', 'BlockBlobStorage' + :type kind: str or ~azure.mgmt.storage.v2019_06_01.models.Kind + :param location: Required. Required. Gets or sets the location of the + resource. This will be one of the supported and registered Azure Geo + Regions (e.g. West US, East US, Southeast Asia, etc.). The geo region of a + resource cannot be changed once it is created, but if an identical geo + region is specified on update, the request will succeed. + :type location: str + :param tags: Gets or sets a list of key value pairs that describe the + resource. These tags can be used for viewing and grouping this resource + (across resource groups). A maximum of 15 tags can be provided for a + resource. Each tag must have a key with a length no greater than 128 + characters and a value with a length no greater than 256 characters. + :type tags: dict[str, str] + :param identity: The identity of the resource. + :type identity: ~azure.mgmt.storage.v2019_06_01.models.Identity + :param custom_domain: User domain assigned to the storage account. Name is + the CNAME source. Only one custom domain is supported per storage account + at this time. To clear the existing custom domain, use an empty string for + the custom domain name property. + :type custom_domain: ~azure.mgmt.storage.v2019_06_01.models.CustomDomain + :param encryption: Not applicable. Azure Storage encryption is enabled for + all storage accounts and cannot be disabled. + :type encryption: ~azure.mgmt.storage.v2019_06_01.models.Encryption + :param network_rule_set: Network rule set + :type network_rule_set: + ~azure.mgmt.storage.v2019_06_01.models.NetworkRuleSet + :param access_tier: Required for storage accounts where kind = + BlobStorage. The access tier used for billing. Possible values include: + 'Hot', 'Cool' + :type access_tier: str or + ~azure.mgmt.storage.v2019_06_01.models.AccessTier + :param azure_files_identity_based_authentication: Provides the identity + based authentication settings for Azure Files. + :type azure_files_identity_based_authentication: + ~azure.mgmt.storage.v2019_06_01.models.AzureFilesIdentityBasedAuthentication + :param enable_https_traffic_only: Allows https traffic only to storage + service if sets to true. The default value is true since API version + 2019-04-01. + :type enable_https_traffic_only: bool + :param is_hns_enabled: Account HierarchicalNamespace enabled if sets to + true. + :type is_hns_enabled: bool + :param large_file_shares_state: Allow large file shares if sets to + Enabled. It cannot be disabled once it is enabled. Possible values + include: 'Disabled', 'Enabled' + :type large_file_shares_state: str or + ~azure.mgmt.storage.v2019_06_01.models.LargeFileSharesState + :param routing_preference: Maintains information about the network routing + choice opted by the user for data transfer + :type routing_preference: + ~azure.mgmt.storage.v2019_06_01.models.RoutingPreference + """ + + _validation = { + 'sku': {'required': True}, + 'kind': {'required': True}, + 'location': {'required': True}, + } + + _attribute_map = { + 'sku': {'key': 'sku', 'type': 'Sku'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'identity': {'key': 'identity', 'type': 'Identity'}, + 'custom_domain': {'key': 'properties.customDomain', 'type': 'CustomDomain'}, + 'encryption': {'key': 'properties.encryption', 'type': 'Encryption'}, + 'network_rule_set': {'key': 'properties.networkAcls', 'type': 'NetworkRuleSet'}, + 'access_tier': {'key': 'properties.accessTier', 'type': 'AccessTier'}, + 'azure_files_identity_based_authentication': {'key': 'properties.azureFilesIdentityBasedAuthentication', 'type': 'AzureFilesIdentityBasedAuthentication'}, + 'enable_https_traffic_only': {'key': 'properties.supportsHttpsTrafficOnly', 'type': 'bool'}, + 'is_hns_enabled': {'key': 'properties.isHnsEnabled', 'type': 'bool'}, + 'large_file_shares_state': {'key': 'properties.largeFileSharesState', 'type': 'str'}, + 'routing_preference': {'key': 'properties.routingPreference', 'type': 'RoutingPreference'}, + } + + def __init__(self, **kwargs): + super(StorageAccountCreateParameters, self).__init__(**kwargs) + self.sku = kwargs.get('sku', None) + self.kind = kwargs.get('kind', None) + self.location = kwargs.get('location', None) + self.tags = kwargs.get('tags', None) + self.identity = kwargs.get('identity', None) + self.custom_domain = kwargs.get('custom_domain', None) + self.encryption = kwargs.get('encryption', None) + self.network_rule_set = kwargs.get('network_rule_set', None) + self.access_tier = kwargs.get('access_tier', None) + self.azure_files_identity_based_authentication = kwargs.get('azure_files_identity_based_authentication', None) + self.enable_https_traffic_only = kwargs.get('enable_https_traffic_only', None) + self.is_hns_enabled = kwargs.get('is_hns_enabled', None) + self.large_file_shares_state = kwargs.get('large_file_shares_state', None) + self.routing_preference = kwargs.get('routing_preference', None) + + +class StorageAccountInternetEndpoints(Model): + """The URIs that are used to perform a retrieval of a public blob, file, web + or dfs object via a internet routing endpoint. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar blob: Gets the blob endpoint. + :vartype blob: str + :ivar file: Gets the file endpoint. + :vartype file: str + :ivar web: Gets the web endpoint. + :vartype web: str + :ivar dfs: Gets the dfs endpoint. + :vartype dfs: str + """ + + _validation = { + 'blob': {'readonly': True}, + 'file': {'readonly': True}, + 'web': {'readonly': True}, + 'dfs': {'readonly': True}, + } + + _attribute_map = { + 'blob': {'key': 'blob', 'type': 'str'}, + 'file': {'key': 'file', 'type': 'str'}, + 'web': {'key': 'web', 'type': 'str'}, + 'dfs': {'key': 'dfs', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(StorageAccountInternetEndpoints, self).__init__(**kwargs) + self.blob = None + self.file = None + self.web = None + self.dfs = None + + +class StorageAccountKey(Model): + """An access key for the storage account. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar key_name: Name of the key. + :vartype key_name: str + :ivar value: Base 64-encoded value of the key. + :vartype value: str + :ivar permissions: Permissions for the key -- read-only or full + permissions. Possible values include: 'Read', 'Full' + :vartype permissions: str or + ~azure.mgmt.storage.v2019_06_01.models.KeyPermission + """ + + _validation = { + 'key_name': {'readonly': True}, + 'value': {'readonly': True}, + 'permissions': {'readonly': True}, + } + + _attribute_map = { + 'key_name': {'key': 'keyName', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + 'permissions': {'key': 'permissions', 'type': 'KeyPermission'}, + } + + def __init__(self, **kwargs): + super(StorageAccountKey, self).__init__(**kwargs) + self.key_name = None + self.value = None + self.permissions = None + + +class StorageAccountListKeysResult(Model): + """The response from the ListKeys operation. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar keys: Gets the list of storage account keys and their properties for + the specified storage account. + :vartype keys: + list[~azure.mgmt.storage.v2019_06_01.models.StorageAccountKey] + """ + + _validation = { + 'keys': {'readonly': True}, + } + + _attribute_map = { + 'keys': {'key': 'keys', 'type': '[StorageAccountKey]'}, + } + + def __init__(self, **kwargs): + super(StorageAccountListKeysResult, self).__init__(**kwargs) + self.keys = None + + +class StorageAccountMicrosoftEndpoints(Model): + """The URIs that are used to perform a retrieval of a public blob, queue, + table, web or dfs object via a microsoft routing endpoint. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar blob: Gets the blob endpoint. + :vartype blob: str + :ivar queue: Gets the queue endpoint. + :vartype queue: str + :ivar table: Gets the table endpoint. + :vartype table: str + :ivar file: Gets the file endpoint. + :vartype file: str + :ivar web: Gets the web endpoint. + :vartype web: str + :ivar dfs: Gets the dfs endpoint. + :vartype dfs: str + """ + + _validation = { + 'blob': {'readonly': True}, + 'queue': {'readonly': True}, + 'table': {'readonly': True}, + 'file': {'readonly': True}, + 'web': {'readonly': True}, + 'dfs': {'readonly': True}, + } + + _attribute_map = { + 'blob': {'key': 'blob', 'type': 'str'}, + 'queue': {'key': 'queue', 'type': 'str'}, + 'table': {'key': 'table', 'type': 'str'}, + 'file': {'key': 'file', 'type': 'str'}, + 'web': {'key': 'web', 'type': 'str'}, + 'dfs': {'key': 'dfs', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(StorageAccountMicrosoftEndpoints, self).__init__(**kwargs) + self.blob = None + self.queue = None + self.table = None + self.file = None + self.web = None + self.dfs = None + + +class StorageAccountRegenerateKeyParameters(Model): + """The parameters used to regenerate the storage account key. + + All required parameters must be populated in order to send to Azure. + + :param key_name: Required. The name of storage keys that want to be + regenerated, possible values are key1, key2, kerb1, kerb2. + :type key_name: str + """ + + _validation = { + 'key_name': {'required': True}, + } + + _attribute_map = { + 'key_name': {'key': 'keyName', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(StorageAccountRegenerateKeyParameters, self).__init__(**kwargs) + self.key_name = kwargs.get('key_name', None) + + +class StorageAccountUpdateParameters(Model): + """The parameters that can be provided when updating the storage account + properties. + + :param sku: Gets or sets the SKU name. Note that the SKU name cannot be + updated to Standard_ZRS, Premium_LRS or Premium_ZRS, nor can accounts of + those SKU names be updated to any other value. + :type sku: ~azure.mgmt.storage.v2019_06_01.models.Sku + :param tags: Gets or sets a list of key value pairs that describe the + resource. These tags can be used in viewing and grouping this resource + (across resource groups). A maximum of 15 tags can be provided for a + resource. Each tag must have a key no greater in length than 128 + characters and a value no greater in length than 256 characters. + :type tags: dict[str, str] + :param identity: The identity of the resource. + :type identity: ~azure.mgmt.storage.v2019_06_01.models.Identity + :param custom_domain: Custom domain assigned to the storage account by the + user. Name is the CNAME source. Only one custom domain is supported per + storage account at this time. To clear the existing custom domain, use an + empty string for the custom domain name property. + :type custom_domain: ~azure.mgmt.storage.v2019_06_01.models.CustomDomain + :param encryption: Provides the encryption settings on the account. The + default setting is unencrypted. + :type encryption: ~azure.mgmt.storage.v2019_06_01.models.Encryption + :param access_tier: Required for storage accounts where kind = + BlobStorage. The access tier used for billing. Possible values include: + 'Hot', 'Cool' + :type access_tier: str or + ~azure.mgmt.storage.v2019_06_01.models.AccessTier + :param azure_files_identity_based_authentication: Provides the identity + based authentication settings for Azure Files. + :type azure_files_identity_based_authentication: + ~azure.mgmt.storage.v2019_06_01.models.AzureFilesIdentityBasedAuthentication + :param enable_https_traffic_only: Allows https traffic only to storage + service if sets to true. + :type enable_https_traffic_only: bool + :param network_rule_set: Network rule set + :type network_rule_set: + ~azure.mgmt.storage.v2019_06_01.models.NetworkRuleSet + :param large_file_shares_state: Allow large file shares if sets to + Enabled. It cannot be disabled once it is enabled. Possible values + include: 'Disabled', 'Enabled' + :type large_file_shares_state: str or + ~azure.mgmt.storage.v2019_06_01.models.LargeFileSharesState + :param routing_preference: Maintains information about the network routing + choice opted by the user for data transfer + :type routing_preference: + ~azure.mgmt.storage.v2019_06_01.models.RoutingPreference + :param kind: Optional. Indicates the type of storage account. Currently + only StorageV2 value supported by server. Possible values include: + 'Storage', 'StorageV2', 'BlobStorage', 'FileStorage', 'BlockBlobStorage' + :type kind: str or ~azure.mgmt.storage.v2019_06_01.models.Kind + """ + + _attribute_map = { + 'sku': {'key': 'sku', 'type': 'Sku'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'identity': {'key': 'identity', 'type': 'Identity'}, + 'custom_domain': {'key': 'properties.customDomain', 'type': 'CustomDomain'}, + 'encryption': {'key': 'properties.encryption', 'type': 'Encryption'}, + 'access_tier': {'key': 'properties.accessTier', 'type': 'AccessTier'}, + 'azure_files_identity_based_authentication': {'key': 'properties.azureFilesIdentityBasedAuthentication', 'type': 'AzureFilesIdentityBasedAuthentication'}, + 'enable_https_traffic_only': {'key': 'properties.supportsHttpsTrafficOnly', 'type': 'bool'}, + 'network_rule_set': {'key': 'properties.networkAcls', 'type': 'NetworkRuleSet'}, + 'large_file_shares_state': {'key': 'properties.largeFileSharesState', 'type': 'str'}, + 'routing_preference': {'key': 'properties.routingPreference', 'type': 'RoutingPreference'}, + 'kind': {'key': 'kind', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(StorageAccountUpdateParameters, self).__init__(**kwargs) + self.sku = kwargs.get('sku', None) + self.tags = kwargs.get('tags', None) + self.identity = kwargs.get('identity', None) + self.custom_domain = kwargs.get('custom_domain', None) + self.encryption = kwargs.get('encryption', None) + self.access_tier = kwargs.get('access_tier', None) + self.azure_files_identity_based_authentication = kwargs.get('azure_files_identity_based_authentication', None) + self.enable_https_traffic_only = kwargs.get('enable_https_traffic_only', None) + self.network_rule_set = kwargs.get('network_rule_set', None) + self.large_file_shares_state = kwargs.get('large_file_shares_state', None) + self.routing_preference = kwargs.get('routing_preference', None) + self.kind = kwargs.get('kind', None) + + +class TagProperty(Model): + """A tag of the LegalHold of a blob container. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar tag: The tag value. + :vartype tag: str + :ivar timestamp: Returns the date and time the tag was added. + :vartype timestamp: datetime + :ivar object_identifier: Returns the Object ID of the user who added the + tag. + :vartype object_identifier: str + :ivar tenant_id: Returns the Tenant ID that issued the token for the user + who added the tag. + :vartype tenant_id: str + :ivar upn: Returns the User Principal Name of the user who added the tag. + :vartype upn: str + """ + + _validation = { + 'tag': {'readonly': True}, + 'timestamp': {'readonly': True}, + 'object_identifier': {'readonly': True}, + 'tenant_id': {'readonly': True}, + 'upn': {'readonly': True}, + } + + _attribute_map = { + 'tag': {'key': 'tag', 'type': 'str'}, + 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, + 'object_identifier': {'key': 'objectIdentifier', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'upn': {'key': 'upn', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(TagProperty, self).__init__(**kwargs) + self.tag = None + self.timestamp = None + self.object_identifier = None + self.tenant_id = None + self.upn = None + + +class UpdateHistoryProperty(Model): + """An update history of the ImmutabilityPolicy of a blob container. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar update: The ImmutabilityPolicy update type of a blob container, + possible values include: put, lock and extend. Possible values include: + 'put', 'lock', 'extend' + :vartype update: str or + ~azure.mgmt.storage.v2019_06_01.models.ImmutabilityPolicyUpdateType + :ivar immutability_period_since_creation_in_days: The immutability period + for the blobs in the container since the policy creation, in days. + :vartype immutability_period_since_creation_in_days: int + :ivar timestamp: Returns the date and time the ImmutabilityPolicy was + updated. + :vartype timestamp: datetime + :ivar object_identifier: Returns the Object ID of the user who updated the + ImmutabilityPolicy. + :vartype object_identifier: str + :ivar tenant_id: Returns the Tenant ID that issued the token for the user + who updated the ImmutabilityPolicy. + :vartype tenant_id: str + :ivar upn: Returns the User Principal Name of the user who updated the + ImmutabilityPolicy. + :vartype upn: str + """ + + _validation = { + 'update': {'readonly': True}, + 'immutability_period_since_creation_in_days': {'readonly': True}, + 'timestamp': {'readonly': True}, + 'object_identifier': {'readonly': True}, + 'tenant_id': {'readonly': True}, + 'upn': {'readonly': True}, + } + + _attribute_map = { + 'update': {'key': 'update', 'type': 'str'}, + 'immutability_period_since_creation_in_days': {'key': 'immutabilityPeriodSinceCreationInDays', 'type': 'int'}, + 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, + 'object_identifier': {'key': 'objectIdentifier', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'upn': {'key': 'upn', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(UpdateHistoryProperty, self).__init__(**kwargs) + self.update = None + self.immutability_period_since_creation_in_days = None + self.timestamp = None + self.object_identifier = None + self.tenant_id = None + self.upn = None + + +class Usage(Model): + """Describes Storage Resource Usage. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar unit: Gets the unit of measurement. Possible values include: + 'Count', 'Bytes', 'Seconds', 'Percent', 'CountsPerSecond', + 'BytesPerSecond' + :vartype unit: str or ~azure.mgmt.storage.v2019_06_01.models.UsageUnit + :ivar current_value: Gets the current count of the allocated resources in + the subscription. + :vartype current_value: int + :ivar limit: Gets the maximum count of the resources that can be allocated + in the subscription. + :vartype limit: int + :ivar name: Gets the name of the type of usage. + :vartype name: ~azure.mgmt.storage.v2019_06_01.models.UsageName + """ + + _validation = { + 'unit': {'readonly': True}, + 'current_value': {'readonly': True}, + 'limit': {'readonly': True}, + 'name': {'readonly': True}, + } + + _attribute_map = { + 'unit': {'key': 'unit', 'type': 'UsageUnit'}, + 'current_value': {'key': 'currentValue', 'type': 'int'}, + 'limit': {'key': 'limit', 'type': 'int'}, + 'name': {'key': 'name', 'type': 'UsageName'}, + } + + def __init__(self, **kwargs): + super(Usage, self).__init__(**kwargs) + self.unit = None + self.current_value = None + self.limit = None + self.name = None + + +class UsageName(Model): + """The usage names that can be used; currently limited to StorageAccount. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar value: Gets a string describing the resource name. + :vartype value: str + :ivar localized_value: Gets a localized string describing the resource + name. + :vartype localized_value: str + """ + + _validation = { + 'value': {'readonly': True}, + 'localized_value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': 'str'}, + 'localized_value': {'key': 'localizedValue', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(UsageName, self).__init__(**kwargs) + self.value = None + self.localized_value = None + + +class VirtualNetworkRule(Model): + """Virtual Network rule. + + All required parameters must be populated in order to send to Azure. + + :param virtual_network_resource_id: Required. Resource ID of a subnet, for + example: + /subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName}. + :type virtual_network_resource_id: str + :param action: The action of virtual network rule. Possible values + include: 'Allow'. Default value: "Allow" . + :type action: str or ~azure.mgmt.storage.v2019_06_01.models.Action + :param state: Gets the state of virtual network rule. Possible values + include: 'provisioning', 'deprovisioning', 'succeeded', 'failed', + 'networkSourceDeleted' + :type state: str or ~azure.mgmt.storage.v2019_06_01.models.State + """ + + _validation = { + 'virtual_network_resource_id': {'required': True}, + } + + _attribute_map = { + 'virtual_network_resource_id': {'key': 'id', 'type': 'str'}, + 'action': {'key': 'action', 'type': 'Action'}, + 'state': {'key': 'state', 'type': 'State'}, + } + + def __init__(self, **kwargs): + super(VirtualNetworkRule, self).__init__(**kwargs) + self.virtual_network_resource_id = kwargs.get('virtual_network_resource_id', None) + self.action = kwargs.get('action', "Allow") + self.state = kwargs.get('state', None) diff --git a/src/storage-or-preview/azext_storage_or_preview/vendored_sdks/azure_mgmt_storage/v2019_06_01/models/_models_py3.py b/src/storage-or-preview/azext_storage_or_preview/vendored_sdks/azure_mgmt_storage/v2019_06_01/models/_models_py3.py new file mode 100644 index 00000000000..2f256579796 --- /dev/null +++ b/src/storage-or-preview/azext_storage_or_preview/vendored_sdks/azure_mgmt_storage/v2019_06_01/models/_models_py3.py @@ -0,0 +1,3734 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model +from msrest.exceptions import HttpOperationError + + +class AccountSasParameters(Model): + """The parameters to list SAS credentials of a storage account. + + All required parameters must be populated in order to send to Azure. + + :param services: Required. The signed services accessible with the account + SAS. Possible values include: Blob (b), Queue (q), Table (t), File (f). + Possible values include: 'b', 'q', 't', 'f' + :type services: str or ~azure.mgmt.storage.v2019_06_01.models.Services + :param resource_types: Required. The signed resource types that are + accessible with the account SAS. Service (s): Access to service-level + APIs; Container (c): Access to container-level APIs; Object (o): Access to + object-level APIs for blobs, queue messages, table entities, and files. + Possible values include: 's', 'c', 'o' + :type resource_types: str or + ~azure.mgmt.storage.v2019_06_01.models.SignedResourceTypes + :param permissions: Required. The signed permissions for the account SAS. + Possible values include: Read (r), Write (w), Delete (d), List (l), Add + (a), Create (c), Update (u) and Process (p). Possible values include: 'r', + 'd', 'w', 'l', 'a', 'c', 'u', 'p' + :type permissions: str or + ~azure.mgmt.storage.v2019_06_01.models.Permissions + :param ip_address_or_range: An IP address or a range of IP addresses from + which to accept requests. + :type ip_address_or_range: str + :param protocols: The protocol permitted for a request made with the + account SAS. Possible values include: 'https,http', 'https' + :type protocols: str or + ~azure.mgmt.storage.v2019_06_01.models.HttpProtocol + :param shared_access_start_time: The time at which the SAS becomes valid. + :type shared_access_start_time: datetime + :param shared_access_expiry_time: Required. The time at which the shared + access signature becomes invalid. + :type shared_access_expiry_time: datetime + :param key_to_sign: The key to sign the account SAS token with. + :type key_to_sign: str + """ + + _validation = { + 'services': {'required': True}, + 'resource_types': {'required': True}, + 'permissions': {'required': True}, + 'shared_access_expiry_time': {'required': True}, + } + + _attribute_map = { + 'services': {'key': 'signedServices', 'type': 'str'}, + 'resource_types': {'key': 'signedResourceTypes', 'type': 'str'}, + 'permissions': {'key': 'signedPermission', 'type': 'str'}, + 'ip_address_or_range': {'key': 'signedIp', 'type': 'str'}, + 'protocols': {'key': 'signedProtocol', 'type': 'HttpProtocol'}, + 'shared_access_start_time': {'key': 'signedStart', 'type': 'iso-8601'}, + 'shared_access_expiry_time': {'key': 'signedExpiry', 'type': 'iso-8601'}, + 'key_to_sign': {'key': 'keyToSign', 'type': 'str'}, + } + + def __init__(self, *, services, resource_types, permissions, shared_access_expiry_time, ip_address_or_range: str=None, protocols=None, shared_access_start_time=None, key_to_sign: str=None, **kwargs) -> None: + super(AccountSasParameters, self).__init__(**kwargs) + self.services = services + self.resource_types = resource_types + self.permissions = permissions + self.ip_address_or_range = ip_address_or_range + self.protocols = protocols + self.shared_access_start_time = shared_access_start_time + self.shared_access_expiry_time = shared_access_expiry_time + self.key_to_sign = key_to_sign + + +class ActiveDirectoryProperties(Model): + """Settings properties for Active Directory (AD). + + All required parameters must be populated in order to send to Azure. + + :param domain_name: Required. Specifies the primary domain that the AD DNS + server is authoritative for. + :type domain_name: str + :param net_bios_domain_name: Required. Specifies the NetBIOS domain name. + :type net_bios_domain_name: str + :param forest_name: Required. Specifies the Active Directory forest to + get. + :type forest_name: str + :param domain_guid: Required. Specifies the domain GUID. + :type domain_guid: str + :param domain_sid: Required. Specifies the security identifier (SID). + :type domain_sid: str + :param azure_storage_sid: Required. Specifies the security identifier + (SID) for Azure Storage. + :type azure_storage_sid: str + """ + + _validation = { + 'domain_name': {'required': True}, + 'net_bios_domain_name': {'required': True}, + 'forest_name': {'required': True}, + 'domain_guid': {'required': True}, + 'domain_sid': {'required': True}, + 'azure_storage_sid': {'required': True}, + } + + _attribute_map = { + 'domain_name': {'key': 'domainName', 'type': 'str'}, + 'net_bios_domain_name': {'key': 'netBiosDomainName', 'type': 'str'}, + 'forest_name': {'key': 'forestName', 'type': 'str'}, + 'domain_guid': {'key': 'domainGuid', 'type': 'str'}, + 'domain_sid': {'key': 'domainSid', 'type': 'str'}, + 'azure_storage_sid': {'key': 'azureStorageSid', 'type': 'str'}, + } + + def __init__(self, *, domain_name: str, net_bios_domain_name: str, forest_name: str, domain_guid: str, domain_sid: str, azure_storage_sid: str, **kwargs) -> None: + super(ActiveDirectoryProperties, self).__init__(**kwargs) + self.domain_name = domain_name + self.net_bios_domain_name = net_bios_domain_name + self.forest_name = forest_name + self.domain_guid = domain_guid + self.domain_sid = domain_sid + self.azure_storage_sid = azure_storage_sid + + +class Resource(Model): + """Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(Resource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + + +class AzureEntityResource(Resource): + """The resource model definition for a Azure Resource Manager resource with an + etag. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :ivar etag: Resource Etag. + :vartype etag: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(AzureEntityResource, self).__init__(**kwargs) + self.etag = None + + +class AzureFilesIdentityBasedAuthentication(Model): + """Settings for Azure Files identity based authentication. + + All required parameters must be populated in order to send to Azure. + + :param directory_service_options: Required. Indicates the directory + service used. Possible values include: 'None', 'AADDS', 'AD' + :type directory_service_options: str or + ~azure.mgmt.storage.v2019_06_01.models.DirectoryServiceOptions + :param active_directory_properties: Required if choose AD. + :type active_directory_properties: + ~azure.mgmt.storage.v2019_06_01.models.ActiveDirectoryProperties + """ + + _validation = { + 'directory_service_options': {'required': True}, + } + + _attribute_map = { + 'directory_service_options': {'key': 'directoryServiceOptions', 'type': 'str'}, + 'active_directory_properties': {'key': 'activeDirectoryProperties', 'type': 'ActiveDirectoryProperties'}, + } + + def __init__(self, *, directory_service_options, active_directory_properties=None, **kwargs) -> None: + super(AzureFilesIdentityBasedAuthentication, self).__init__(**kwargs) + self.directory_service_options = directory_service_options + self.active_directory_properties = active_directory_properties + + +class BlobContainer(AzureEntityResource): + """Properties of the blob container, including Id, resource name, resource + type, Etag. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :ivar etag: Resource Etag. + :vartype etag: str + :param public_access: Specifies whether data in the container may be + accessed publicly and the level of access. Possible values include: + 'Container', 'Blob', 'None' + :type public_access: str or + ~azure.mgmt.storage.v2019_06_01.models.PublicAccess + :ivar last_modified_time: Returns the date and time the container was last + modified. + :vartype last_modified_time: datetime + :ivar lease_status: The lease status of the container. Possible values + include: 'Locked', 'Unlocked' + :vartype lease_status: str or + ~azure.mgmt.storage.v2019_06_01.models.LeaseStatus + :ivar lease_state: Lease state of the container. Possible values include: + 'Available', 'Leased', 'Expired', 'Breaking', 'Broken' + :vartype lease_state: str or + ~azure.mgmt.storage.v2019_06_01.models.LeaseState + :ivar lease_duration: Specifies whether the lease on a container is of + infinite or fixed duration, only when the container is leased. Possible + values include: 'Infinite', 'Fixed' + :vartype lease_duration: str or + ~azure.mgmt.storage.v2019_06_01.models.LeaseDuration + :param metadata: A name-value pair to associate with the container as + metadata. + :type metadata: dict[str, str] + :ivar immutability_policy: The ImmutabilityPolicy property of the + container. + :vartype immutability_policy: + ~azure.mgmt.storage.v2019_06_01.models.ImmutabilityPolicyProperties + :ivar legal_hold: The LegalHold property of the container. + :vartype legal_hold: + ~azure.mgmt.storage.v2019_06_01.models.LegalHoldProperties + :ivar has_legal_hold: The hasLegalHold public property is set to true by + SRP if there are at least one existing tag. The hasLegalHold public + property is set to false by SRP if all existing legal hold tags are + cleared out. There can be a maximum of 1000 blob containers with + hasLegalHold=true for a given account. + :vartype has_legal_hold: bool + :ivar has_immutability_policy: The hasImmutabilityPolicy public property + is set to true by SRP if ImmutabilityPolicy has been created for this + container. The hasImmutabilityPolicy public property is set to false by + SRP if ImmutabilityPolicy has not been created for this container. + :vartype has_immutability_policy: bool + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + 'last_modified_time': {'readonly': True}, + 'lease_status': {'readonly': True}, + 'lease_state': {'readonly': True}, + 'lease_duration': {'readonly': True}, + 'immutability_policy': {'readonly': True}, + 'legal_hold': {'readonly': True}, + 'has_legal_hold': {'readonly': True}, + 'has_immutability_policy': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'public_access': {'key': 'properties.publicAccess', 'type': 'PublicAccess'}, + 'last_modified_time': {'key': 'properties.lastModifiedTime', 'type': 'iso-8601'}, + 'lease_status': {'key': 'properties.leaseStatus', 'type': 'str'}, + 'lease_state': {'key': 'properties.leaseState', 'type': 'str'}, + 'lease_duration': {'key': 'properties.leaseDuration', 'type': 'str'}, + 'metadata': {'key': 'properties.metadata', 'type': '{str}'}, + 'immutability_policy': {'key': 'properties.immutabilityPolicy', 'type': 'ImmutabilityPolicyProperties'}, + 'legal_hold': {'key': 'properties.legalHold', 'type': 'LegalHoldProperties'}, + 'has_legal_hold': {'key': 'properties.hasLegalHold', 'type': 'bool'}, + 'has_immutability_policy': {'key': 'properties.hasImmutabilityPolicy', 'type': 'bool'}, + } + + def __init__(self, *, public_access=None, metadata=None, **kwargs) -> None: + super(BlobContainer, self).__init__(**kwargs) + self.public_access = public_access + self.last_modified_time = None + self.lease_status = None + self.lease_state = None + self.lease_duration = None + self.metadata = metadata + self.immutability_policy = None + self.legal_hold = None + self.has_legal_hold = None + self.has_immutability_policy = None + + +class BlobRestoreParameters(Model): + """Blob restore parameters. + + All required parameters must be populated in order to send to Azure. + + :param time_to_restore: Required. Restore blob to the specified time. + :type time_to_restore: datetime + :param blob_ranges: Required. Blob ranges to restore. + :type blob_ranges: + list[~azure.mgmt.storage.v2019_06_01.models.BlobRestoreRange] + """ + + _validation = { + 'time_to_restore': {'required': True}, + 'blob_ranges': {'required': True}, + } + + _attribute_map = { + 'time_to_restore': {'key': 'timeToRestore', 'type': 'iso-8601'}, + 'blob_ranges': {'key': 'blobRanges', 'type': '[BlobRestoreRange]'}, + } + + def __init__(self, *, time_to_restore, blob_ranges, **kwargs) -> None: + super(BlobRestoreParameters, self).__init__(**kwargs) + self.time_to_restore = time_to_restore + self.blob_ranges = blob_ranges + + +class BlobRestoreRange(Model): + """Blob range. + + All required parameters must be populated in order to send to Azure. + + :param start_range: Required. Blob start range. Empty means account start. + :type start_range: str + :param end_range: Required. Blob end range. Empty means account end. + :type end_range: str + """ + + _validation = { + 'start_range': {'required': True}, + 'end_range': {'required': True}, + } + + _attribute_map = { + 'start_range': {'key': 'startRange', 'type': 'str'}, + 'end_range': {'key': 'endRange', 'type': 'str'}, + } + + def __init__(self, *, start_range: str, end_range: str, **kwargs) -> None: + super(BlobRestoreRange, self).__init__(**kwargs) + self.start_range = start_range + self.end_range = end_range + + +class BlobRestoreStatus(Model): + """Blob restore status. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar status: The status of blob restore progress. Possible values are: - + InProgress: Indicates that blob restore is ongoing. - Complete: Indicates + that blob restore has been completed successfully. - Failed: Indicates + that blob restore is failed. Possible values include: 'InProgress', + 'Complete', 'Failed' + :vartype status: str or + ~azure.mgmt.storage.v2019_06_01.models.BlobRestoreProgressStatus + :ivar failure_reason: Failure reason when blob restore is failed. + :vartype failure_reason: str + :ivar restore_id: Id for tracking blob restore request. + :vartype restore_id: str + :ivar parameters: Blob restore request parameters. + :vartype parameters: + ~azure.mgmt.storage.v2019_06_01.models.BlobRestoreParameters + """ + + _validation = { + 'status': {'readonly': True}, + 'failure_reason': {'readonly': True}, + 'restore_id': {'readonly': True}, + 'parameters': {'readonly': True}, + } + + _attribute_map = { + 'status': {'key': 'status', 'type': 'str'}, + 'failure_reason': {'key': 'failureReason', 'type': 'str'}, + 'restore_id': {'key': 'restoreId', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': 'BlobRestoreParameters'}, + } + + def __init__(self, **kwargs) -> None: + super(BlobRestoreStatus, self).__init__(**kwargs) + self.status = None + self.failure_reason = None + self.restore_id = None + self.parameters = None + + +class BlobServiceProperties(Resource): + """The properties of a storage account’s Blob service. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :param cors: Specifies CORS rules for the Blob service. You can include up + to five CorsRule elements in the request. If no CorsRule elements are + included in the request body, all CORS rules will be deleted, and CORS + will be disabled for the Blob service. + :type cors: ~azure.mgmt.storage.v2019_06_01.models.CorsRules + :param default_service_version: DefaultServiceVersion indicates the + default version to use for requests to the Blob service if an incoming + request’s version is not specified. Possible values include version + 2008-10-27 and all more recent versions. + :type default_service_version: str + :param delete_retention_policy: The blob service properties for blob soft + delete. + :type delete_retention_policy: + ~azure.mgmt.storage.v2019_06_01.models.DeleteRetentionPolicy + :param is_versioning_enabled: Versioning is enabled if set to true. + :type is_versioning_enabled: bool + :param automatic_snapshot_policy_enabled: Deprecated in favor of + isVersioningEnabled property. + :type automatic_snapshot_policy_enabled: bool + :param change_feed: The blob service properties for change feed events. + :type change_feed: ~azure.mgmt.storage.v2019_06_01.models.ChangeFeed + :param restore_policy: The blob service properties for blob restore + policy. + :type restore_policy: + ~azure.mgmt.storage.v2019_06_01.models.RestorePolicyProperties + :param container_delete_retention_policy: The blob service properties for + container soft delete. + :type container_delete_retention_policy: + ~azure.mgmt.storage.v2019_06_01.models.DeleteRetentionPolicy + :ivar sku: Sku name and tier. + :vartype sku: ~azure.mgmt.storage.v2019_06_01.models.Sku + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'sku': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'cors': {'key': 'properties.cors', 'type': 'CorsRules'}, + 'default_service_version': {'key': 'properties.defaultServiceVersion', 'type': 'str'}, + 'delete_retention_policy': {'key': 'properties.deleteRetentionPolicy', 'type': 'DeleteRetentionPolicy'}, + 'is_versioning_enabled': {'key': 'properties.isVersioningEnabled', 'type': 'bool'}, + 'automatic_snapshot_policy_enabled': {'key': 'properties.automaticSnapshotPolicyEnabled', 'type': 'bool'}, + 'change_feed': {'key': 'properties.changeFeed', 'type': 'ChangeFeed'}, + 'restore_policy': {'key': 'properties.restorePolicy', 'type': 'RestorePolicyProperties'}, + 'container_delete_retention_policy': {'key': 'properties.containerDeleteRetentionPolicy', 'type': 'DeleteRetentionPolicy'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + } + + def __init__(self, *, cors=None, default_service_version: str=None, delete_retention_policy=None, is_versioning_enabled: bool=None, automatic_snapshot_policy_enabled: bool=None, change_feed=None, restore_policy=None, container_delete_retention_policy=None, **kwargs) -> None: + super(BlobServiceProperties, self).__init__(**kwargs) + self.cors = cors + self.default_service_version = default_service_version + self.delete_retention_policy = delete_retention_policy + self.is_versioning_enabled = is_versioning_enabled + self.automatic_snapshot_policy_enabled = automatic_snapshot_policy_enabled + self.change_feed = change_feed + self.restore_policy = restore_policy + self.container_delete_retention_policy = container_delete_retention_policy + self.sku = None + + +class ChangeFeed(Model): + """The blob service properties for change feed events. + + :param enabled: Indicates whether change feed event logging is enabled for + the Blob service. + :type enabled: bool + """ + + _attribute_map = { + 'enabled': {'key': 'enabled', 'type': 'bool'}, + } + + def __init__(self, *, enabled: bool=None, **kwargs) -> None: + super(ChangeFeed, self).__init__(**kwargs) + self.enabled = enabled + + +class CheckNameAvailabilityResult(Model): + """The CheckNameAvailability operation response. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name_available: Gets a boolean value that indicates whether the name + is available for you to use. If true, the name is available. If false, the + name has already been taken or is invalid and cannot be used. + :vartype name_available: bool + :ivar reason: Gets the reason that a storage account name could not be + used. The Reason element is only returned if NameAvailable is false. + Possible values include: 'AccountNameInvalid', 'AlreadyExists' + :vartype reason: str or ~azure.mgmt.storage.v2019_06_01.models.Reason + :ivar message: Gets an error message explaining the Reason value in more + detail. + :vartype message: str + """ + + _validation = { + 'name_available': {'readonly': True}, + 'reason': {'readonly': True}, + 'message': {'readonly': True}, + } + + _attribute_map = { + 'name_available': {'key': 'nameAvailable', 'type': 'bool'}, + 'reason': {'key': 'reason', 'type': 'Reason'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(CheckNameAvailabilityResult, self).__init__(**kwargs) + self.name_available = None + self.reason = None + self.message = None + + +class CloudError(Model): + """An error response from the Storage service. + + :param error: + :type error: ~azure.mgmt.storage.v2019_06_01.models.CloudErrorBody + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'CloudErrorBody'}, + } + + def __init__(self, *, error=None, **kwargs) -> None: + super(CloudError, self).__init__(**kwargs) + self.error = error + + +class CloudErrorException(HttpOperationError): + """Server responsed with exception of type: 'CloudError'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(CloudErrorException, self).__init__(deserialize, response, 'CloudError', *args) + + +class CloudErrorBody(Model): + """An error response from the Storage service. + + :param code: An identifier for the error. Codes are invariant and are + intended to be consumed programmatically. + :type code: str + :param message: A message describing the error, intended to be suitable + for display in a user interface. + :type message: str + :param target: The target of the particular error. For example, the name + of the property in error. + :type target: str + :param details: A list of additional details about the error. + :type details: list[~azure.mgmt.storage.v2019_06_01.models.CloudErrorBody] + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[CloudErrorBody]'}, + } + + def __init__(self, *, code: str=None, message: str=None, target: str=None, details=None, **kwargs) -> None: + super(CloudErrorBody, self).__init__(**kwargs) + self.code = code + self.message = message + self.target = target + self.details = details + + +class CorsRule(Model): + """Specifies a CORS rule for the Blob service. + + All required parameters must be populated in order to send to Azure. + + :param allowed_origins: Required. Required if CorsRule element is present. + A list of origin domains that will be allowed via CORS, or "*" to allow + all domains + :type allowed_origins: list[str] + :param allowed_methods: Required. Required if CorsRule element is present. + A list of HTTP methods that are allowed to be executed by the origin. + :type allowed_methods: list[str] + :param max_age_in_seconds: Required. Required if CorsRule element is + present. The number of seconds that the client/browser should cache a + preflight response. + :type max_age_in_seconds: int + :param exposed_headers: Required. Required if CorsRule element is present. + A list of response headers to expose to CORS clients. + :type exposed_headers: list[str] + :param allowed_headers: Required. Required if CorsRule element is present. + A list of headers allowed to be part of the cross-origin request. + :type allowed_headers: list[str] + """ + + _validation = { + 'allowed_origins': {'required': True}, + 'allowed_methods': {'required': True}, + 'max_age_in_seconds': {'required': True}, + 'exposed_headers': {'required': True}, + 'allowed_headers': {'required': True}, + } + + _attribute_map = { + 'allowed_origins': {'key': 'allowedOrigins', 'type': '[str]'}, + 'allowed_methods': {'key': 'allowedMethods', 'type': '[str]'}, + 'max_age_in_seconds': {'key': 'maxAgeInSeconds', 'type': 'int'}, + 'exposed_headers': {'key': 'exposedHeaders', 'type': '[str]'}, + 'allowed_headers': {'key': 'allowedHeaders', 'type': '[str]'}, + } + + def __init__(self, *, allowed_origins, allowed_methods, max_age_in_seconds: int, exposed_headers, allowed_headers, **kwargs) -> None: + super(CorsRule, self).__init__(**kwargs) + self.allowed_origins = allowed_origins + self.allowed_methods = allowed_methods + self.max_age_in_seconds = max_age_in_seconds + self.exposed_headers = exposed_headers + self.allowed_headers = allowed_headers + + +class CorsRules(Model): + """Sets the CORS rules. You can include up to five CorsRule elements in the + request. . + + :param cors_rules: The List of CORS rules. You can include up to five + CorsRule elements in the request. + :type cors_rules: list[~azure.mgmt.storage.v2019_06_01.models.CorsRule] + """ + + _attribute_map = { + 'cors_rules': {'key': 'corsRules', 'type': '[CorsRule]'}, + } + + def __init__(self, *, cors_rules=None, **kwargs) -> None: + super(CorsRules, self).__init__(**kwargs) + self.cors_rules = cors_rules + + +class CustomDomain(Model): + """The custom domain assigned to this storage account. This can be set via + Update. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. Gets or sets the custom domain name assigned to the + storage account. Name is the CNAME source. + :type name: str + :param use_sub_domain_name: Indicates whether indirect CName validation is + enabled. Default value is false. This should only be set on updates. + :type use_sub_domain_name: bool + """ + + _validation = { + 'name': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'use_sub_domain_name': {'key': 'useSubDomainName', 'type': 'bool'}, + } + + def __init__(self, *, name: str, use_sub_domain_name: bool=None, **kwargs) -> None: + super(CustomDomain, self).__init__(**kwargs) + self.name = name + self.use_sub_domain_name = use_sub_domain_name + + +class DateAfterCreation(Model): + """Object to define the number of days after creation. + + All required parameters must be populated in order to send to Azure. + + :param days_after_creation_greater_than: Required. Value indicating the + age in days after creation + :type days_after_creation_greater_than: float + """ + + _validation = { + 'days_after_creation_greater_than': {'required': True, 'minimum': 0, 'multiple': 1}, + } + + _attribute_map = { + 'days_after_creation_greater_than': {'key': 'daysAfterCreationGreaterThan', 'type': 'float'}, + } + + def __init__(self, *, days_after_creation_greater_than: float, **kwargs) -> None: + super(DateAfterCreation, self).__init__(**kwargs) + self.days_after_creation_greater_than = days_after_creation_greater_than + + +class DateAfterModification(Model): + """Object to define the number of days after last modification. + + All required parameters must be populated in order to send to Azure. + + :param days_after_modification_greater_than: Required. Value indicating + the age in days after last modification + :type days_after_modification_greater_than: float + """ + + _validation = { + 'days_after_modification_greater_than': {'required': True, 'minimum': 0, 'multiple': 1}, + } + + _attribute_map = { + 'days_after_modification_greater_than': {'key': 'daysAfterModificationGreaterThan', 'type': 'float'}, + } + + def __init__(self, *, days_after_modification_greater_than: float, **kwargs) -> None: + super(DateAfterModification, self).__init__(**kwargs) + self.days_after_modification_greater_than = days_after_modification_greater_than + + +class DeleteRetentionPolicy(Model): + """The service properties for soft delete. + + :param enabled: Indicates whether DeleteRetentionPolicy is enabled. + :type enabled: bool + :param days: Indicates the number of days that the deleted item should be + retained. The minimum specified value can be 1 and the maximum value can + be 365. + :type days: int + """ + + _validation = { + 'days': {'maximum': 365, 'minimum': 1}, + } + + _attribute_map = { + 'enabled': {'key': 'enabled', 'type': 'bool'}, + 'days': {'key': 'days', 'type': 'int'}, + } + + def __init__(self, *, enabled: bool=None, days: int=None, **kwargs) -> None: + super(DeleteRetentionPolicy, self).__init__(**kwargs) + self.enabled = enabled + self.days = days + + +class Dimension(Model): + """Dimension of blobs, possibly be blob type or access tier. + + :param name: Display name of dimension. + :type name: str + :param display_name: Display name of dimension. + :type display_name: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, display_name: str=None, **kwargs) -> None: + super(Dimension, self).__init__(**kwargs) + self.name = name + self.display_name = display_name + + +class Encryption(Model): + """The encryption settings on the storage account. + + All required parameters must be populated in order to send to Azure. + + :param services: List of services which support encryption. + :type services: ~azure.mgmt.storage.v2019_06_01.models.EncryptionServices + :param key_source: Required. The encryption keySource (provider). Possible + values (case-insensitive): Microsoft.Storage, Microsoft.Keyvault. + Possible values include: 'Microsoft.Storage', 'Microsoft.Keyvault'. + Default value: "Microsoft.Storage" . + :type key_source: str or ~azure.mgmt.storage.v2019_06_01.models.KeySource + :param key_vault_properties: Properties provided by key vault. + :type key_vault_properties: + ~azure.mgmt.storage.v2019_06_01.models.KeyVaultProperties + """ + + _validation = { + 'key_source': {'required': True}, + } + + _attribute_map = { + 'services': {'key': 'services', 'type': 'EncryptionServices'}, + 'key_source': {'key': 'keySource', 'type': 'str'}, + 'key_vault_properties': {'key': 'keyvaultproperties', 'type': 'KeyVaultProperties'}, + } + + def __init__(self, *, services=None, key_source="Microsoft.Storage", key_vault_properties=None, **kwargs) -> None: + super(Encryption, self).__init__(**kwargs) + self.services = services + self.key_source = key_source + self.key_vault_properties = key_vault_properties + + +class EncryptionScope(Resource): + """The Encryption Scope resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :param source: The provider for the encryption scope. Possible values + (case-insensitive): Microsoft.Storage, Microsoft.KeyVault. Possible + values include: 'Microsoft.Storage', 'Microsoft.KeyVault' + :type source: str or + ~azure.mgmt.storage.v2019_06_01.models.EncryptionScopeSource + :param state: The state of the encryption scope. Possible values + (case-insensitive): Enabled, Disabled. Possible values include: + 'Enabled', 'Disabled' + :type state: str or + ~azure.mgmt.storage.v2019_06_01.models.EncryptionScopeState + :ivar creation_time: Gets the creation date and time of the encryption + scope in UTC. + :vartype creation_time: datetime + :ivar last_modified_time: Gets the last modification date and time of the + encryption scope in UTC. + :vartype last_modified_time: datetime + :param key_vault_properties: The key vault properties for the encryption + scope. This is a required field if encryption scope 'source' attribute is + set to 'Microsoft.KeyVault'. + :type key_vault_properties: + ~azure.mgmt.storage.v2019_06_01.models.EncryptionScopeKeyVaultProperties + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'creation_time': {'readonly': True}, + 'last_modified_time': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'source': {'key': 'properties.source', 'type': 'str'}, + 'state': {'key': 'properties.state', 'type': 'str'}, + 'creation_time': {'key': 'properties.creationTime', 'type': 'iso-8601'}, + 'last_modified_time': {'key': 'properties.lastModifiedTime', 'type': 'iso-8601'}, + 'key_vault_properties': {'key': 'properties.keyVaultProperties', 'type': 'EncryptionScopeKeyVaultProperties'}, + } + + def __init__(self, *, source=None, state=None, key_vault_properties=None, **kwargs) -> None: + super(EncryptionScope, self).__init__(**kwargs) + self.source = source + self.state = state + self.creation_time = None + self.last_modified_time = None + self.key_vault_properties = key_vault_properties + + +class EncryptionScopeKeyVaultProperties(Model): + """The key vault properties for the encryption scope. This is a required field + if encryption scope 'source' attribute is set to 'Microsoft.KeyVault'. + + :param key_uri: The object identifier for a key vault key object. When + applied, the encryption scope will use the key referenced by the + identifier to enable customer-managed key support on this encryption + scope. + :type key_uri: str + """ + + _attribute_map = { + 'key_uri': {'key': 'keyUri', 'type': 'str'}, + } + + def __init__(self, *, key_uri: str=None, **kwargs) -> None: + super(EncryptionScopeKeyVaultProperties, self).__init__(**kwargs) + self.key_uri = key_uri + + +class EncryptionService(Model): + """A service that allows server-side encryption to be used. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param enabled: A boolean indicating whether or not the service encrypts + the data as it is stored. + :type enabled: bool + :ivar last_enabled_time: Gets a rough estimate of the date/time when the + encryption was last enabled by the user. Only returned when encryption is + enabled. There might be some unencrypted blobs which were written after + this time, as it is just a rough estimate. + :vartype last_enabled_time: datetime + :param key_type: Encryption key type to be used for the encryption + service. 'Account' key type implies that an account-scoped encryption key + will be used. 'Service' key type implies that a default service key is + used. Possible values include: 'Service', 'Account' + :type key_type: str or ~azure.mgmt.storage.v2019_06_01.models.KeyType + """ + + _validation = { + 'last_enabled_time': {'readonly': True}, + } + + _attribute_map = { + 'enabled': {'key': 'enabled', 'type': 'bool'}, + 'last_enabled_time': {'key': 'lastEnabledTime', 'type': 'iso-8601'}, + 'key_type': {'key': 'keyType', 'type': 'str'}, + } + + def __init__(self, *, enabled: bool=None, key_type=None, **kwargs) -> None: + super(EncryptionService, self).__init__(**kwargs) + self.enabled = enabled + self.last_enabled_time = None + self.key_type = key_type + + +class EncryptionServices(Model): + """A list of services that support encryption. + + :param blob: The encryption function of the blob storage service. + :type blob: ~azure.mgmt.storage.v2019_06_01.models.EncryptionService + :param file: The encryption function of the file storage service. + :type file: ~azure.mgmt.storage.v2019_06_01.models.EncryptionService + :param table: The encryption function of the table storage service. + :type table: ~azure.mgmt.storage.v2019_06_01.models.EncryptionService + :param queue: The encryption function of the queue storage service. + :type queue: ~azure.mgmt.storage.v2019_06_01.models.EncryptionService + """ + + _attribute_map = { + 'blob': {'key': 'blob', 'type': 'EncryptionService'}, + 'file': {'key': 'file', 'type': 'EncryptionService'}, + 'table': {'key': 'table', 'type': 'EncryptionService'}, + 'queue': {'key': 'queue', 'type': 'EncryptionService'}, + } + + def __init__(self, *, blob=None, file=None, table=None, queue=None, **kwargs) -> None: + super(EncryptionServices, self).__init__(**kwargs) + self.blob = blob + self.file = file + self.table = table + self.queue = queue + + +class Endpoints(Model): + """The URIs that are used to perform a retrieval of a public blob, queue, + table, web or dfs object. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar blob: Gets the blob endpoint. + :vartype blob: str + :ivar queue: Gets the queue endpoint. + :vartype queue: str + :ivar table: Gets the table endpoint. + :vartype table: str + :ivar file: Gets the file endpoint. + :vartype file: str + :ivar web: Gets the web endpoint. + :vartype web: str + :ivar dfs: Gets the dfs endpoint. + :vartype dfs: str + :param microsoft_endpoints: Gets the microsoft routing storage endpoints. + :type microsoft_endpoints: + ~azure.mgmt.storage.v2019_06_01.models.StorageAccountMicrosoftEndpoints + :param internet_endpoints: Gets the internet routing storage endpoints + :type internet_endpoints: + ~azure.mgmt.storage.v2019_06_01.models.StorageAccountInternetEndpoints + """ + + _validation = { + 'blob': {'readonly': True}, + 'queue': {'readonly': True}, + 'table': {'readonly': True}, + 'file': {'readonly': True}, + 'web': {'readonly': True}, + 'dfs': {'readonly': True}, + } + + _attribute_map = { + 'blob': {'key': 'blob', 'type': 'str'}, + 'queue': {'key': 'queue', 'type': 'str'}, + 'table': {'key': 'table', 'type': 'str'}, + 'file': {'key': 'file', 'type': 'str'}, + 'web': {'key': 'web', 'type': 'str'}, + 'dfs': {'key': 'dfs', 'type': 'str'}, + 'microsoft_endpoints': {'key': 'microsoftEndpoints', 'type': 'StorageAccountMicrosoftEndpoints'}, + 'internet_endpoints': {'key': 'internetEndpoints', 'type': 'StorageAccountInternetEndpoints'}, + } + + def __init__(self, *, microsoft_endpoints=None, internet_endpoints=None, **kwargs) -> None: + super(Endpoints, self).__init__(**kwargs) + self.blob = None + self.queue = None + self.table = None + self.file = None + self.web = None + self.dfs = None + self.microsoft_endpoints = microsoft_endpoints + self.internet_endpoints = internet_endpoints + + +class ErrorResponse(Model): + """An error response from the storage resource provider. + + :param code: An identifier for the error. Codes are invariant and are + intended to be consumed programmatically. + :type code: str + :param message: A message describing the error, intended to be suitable + for display in a user interface. + :type message: str + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__(self, *, code: str=None, message: str=None, **kwargs) -> None: + super(ErrorResponse, self).__init__(**kwargs) + self.code = code + self.message = message + + +class ErrorResponseException(HttpOperationError): + """Server responsed with exception of type: 'ErrorResponse'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(ErrorResponseException, self).__init__(deserialize, response, 'ErrorResponse', *args) + + +class FileServiceItems(Model): + """FileServiceItems. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar value: List of file services returned. + :vartype value: + list[~azure.mgmt.storage.v2019_06_01.models.FileServiceProperties] + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[FileServiceProperties]'}, + } + + def __init__(self, **kwargs) -> None: + super(FileServiceItems, self).__init__(**kwargs) + self.value = None + + +class FileServiceProperties(Resource): + """The properties of File services in storage account. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :param cors: Specifies CORS rules for the File service. You can include up + to five CorsRule elements in the request. If no CorsRule elements are + included in the request body, all CORS rules will be deleted, and CORS + will be disabled for the File service. + :type cors: ~azure.mgmt.storage.v2019_06_01.models.CorsRules + :param share_delete_retention_policy: The file service properties for + share soft delete. + :type share_delete_retention_policy: + ~azure.mgmt.storage.v2019_06_01.models.DeleteRetentionPolicy + :ivar sku: Sku name and tier. + :vartype sku: ~azure.mgmt.storage.v2019_06_01.models.Sku + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'sku': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'cors': {'key': 'properties.cors', 'type': 'CorsRules'}, + 'share_delete_retention_policy': {'key': 'properties.shareDeleteRetentionPolicy', 'type': 'DeleteRetentionPolicy'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + } + + def __init__(self, *, cors=None, share_delete_retention_policy=None, **kwargs) -> None: + super(FileServiceProperties, self).__init__(**kwargs) + self.cors = cors + self.share_delete_retention_policy = share_delete_retention_policy + self.sku = None + + +class FileShare(AzureEntityResource): + """Properties of the file share, including Id, resource name, resource type, + Etag. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :ivar etag: Resource Etag. + :vartype etag: str + :ivar last_modified_time: Returns the date and time the share was last + modified. + :vartype last_modified_time: datetime + :param metadata: A name-value pair to associate with the share as + metadata. + :type metadata: dict[str, str] + :param share_quota: The maximum size of the share, in gigabytes. Must be + greater than 0, and less than or equal to 5TB (5120). For Large File + Shares, the maximum size is 102400. + :type share_quota: int + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + 'last_modified_time': {'readonly': True}, + 'share_quota': {'maximum': 102400, 'minimum': 1}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'last_modified_time': {'key': 'properties.lastModifiedTime', 'type': 'iso-8601'}, + 'metadata': {'key': 'properties.metadata', 'type': '{str}'}, + 'share_quota': {'key': 'properties.shareQuota', 'type': 'int'}, + } + + def __init__(self, *, metadata=None, share_quota: int=None, **kwargs) -> None: + super(FileShare, self).__init__(**kwargs) + self.last_modified_time = None + self.metadata = metadata + self.share_quota = share_quota + + +class FileShareItem(AzureEntityResource): + """The file share properties be listed out. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :ivar etag: Resource Etag. + :vartype etag: str + :ivar last_modified_time: Returns the date and time the share was last + modified. + :vartype last_modified_time: datetime + :param metadata: A name-value pair to associate with the share as + metadata. + :type metadata: dict[str, str] + :param share_quota: The maximum size of the share, in gigabytes. Must be + greater than 0, and less than or equal to 5TB (5120). For Large File + Shares, the maximum size is 102400. + :type share_quota: int + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + 'last_modified_time': {'readonly': True}, + 'share_quota': {'maximum': 102400, 'minimum': 1}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'last_modified_time': {'key': 'properties.lastModifiedTime', 'type': 'iso-8601'}, + 'metadata': {'key': 'properties.metadata', 'type': '{str}'}, + 'share_quota': {'key': 'properties.shareQuota', 'type': 'int'}, + } + + def __init__(self, *, metadata=None, share_quota: int=None, **kwargs) -> None: + super(FileShareItem, self).__init__(**kwargs) + self.last_modified_time = None + self.metadata = metadata + self.share_quota = share_quota + + +class GeoReplicationStats(Model): + """Statistics related to replication for storage account's Blob, Table, Queue + and File services. It is only available when geo-redundant replication is + enabled for the storage account. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar status: The status of the secondary location. Possible values are: - + Live: Indicates that the secondary location is active and operational. - + Bootstrap: Indicates initial synchronization from the primary location to + the secondary location is in progress.This typically occurs when + replication is first enabled. - Unavailable: Indicates that the secondary + location is temporarily unavailable. Possible values include: 'Live', + 'Bootstrap', 'Unavailable' + :vartype status: str or + ~azure.mgmt.storage.v2019_06_01.models.GeoReplicationStatus + :ivar last_sync_time: All primary writes preceding this UTC date/time + value are guaranteed to be available for read operations. Primary writes + following this point in time may or may not be available for reads. + Element may be default value if value of LastSyncTime is not available, + this can happen if secondary is offline or we are in bootstrap. + :vartype last_sync_time: datetime + :ivar can_failover: A boolean flag which indicates whether or not account + failover is supported for the account. + :vartype can_failover: bool + """ + + _validation = { + 'status': {'readonly': True}, + 'last_sync_time': {'readonly': True}, + 'can_failover': {'readonly': True}, + } + + _attribute_map = { + 'status': {'key': 'status', 'type': 'str'}, + 'last_sync_time': {'key': 'lastSyncTime', 'type': 'iso-8601'}, + 'can_failover': {'key': 'canFailover', 'type': 'bool'}, + } + + def __init__(self, **kwargs) -> None: + super(GeoReplicationStats, self).__init__(**kwargs) + self.status = None + self.last_sync_time = None + self.can_failover = None + + +class Identity(Model): + """Identity for the resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar principal_id: The principal ID of resource identity. + :vartype principal_id: str + :ivar tenant_id: The tenant ID of resource. + :vartype tenant_id: str + :ivar type: Required. The identity type. Default value: "SystemAssigned" . + :vartype type: str + """ + + _validation = { + 'principal_id': {'readonly': True}, + 'tenant_id': {'readonly': True}, + 'type': {'required': True, 'constant': True}, + } + + _attribute_map = { + 'principal_id': {'key': 'principalId', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + type = "SystemAssigned" + + def __init__(self, **kwargs) -> None: + super(Identity, self).__init__(**kwargs) + self.principal_id = None + self.tenant_id = None + + +class ImmutabilityPolicy(AzureEntityResource): + """The ImmutabilityPolicy property of a blob container, including Id, resource + name, resource type, Etag. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :ivar etag: Resource Etag. + :vartype etag: str + :param immutability_period_since_creation_in_days: The immutability period + for the blobs in the container since the policy creation, in days. + :type immutability_period_since_creation_in_days: int + :ivar state: The ImmutabilityPolicy state of a blob container, possible + values include: Locked and Unlocked. Possible values include: 'Locked', + 'Unlocked' + :vartype state: str or + ~azure.mgmt.storage.v2019_06_01.models.ImmutabilityPolicyState + :param allow_protected_append_writes: This property can only be changed + for unlocked time-based retention policies. When enabled, new blocks can + be written to an append blob while maintaining immutability protection and + compliance. Only new blocks can be added and any existing blocks cannot be + modified or deleted. This property cannot be changed with + ExtendImmutabilityPolicy API + :type allow_protected_append_writes: bool + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + 'state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'immutability_period_since_creation_in_days': {'key': 'properties.immutabilityPeriodSinceCreationInDays', 'type': 'int'}, + 'state': {'key': 'properties.state', 'type': 'str'}, + 'allow_protected_append_writes': {'key': 'properties.allowProtectedAppendWrites', 'type': 'bool'}, + } + + def __init__(self, *, immutability_period_since_creation_in_days: int=None, allow_protected_append_writes: bool=None, **kwargs) -> None: + super(ImmutabilityPolicy, self).__init__(**kwargs) + self.immutability_period_since_creation_in_days = immutability_period_since_creation_in_days + self.state = None + self.allow_protected_append_writes = allow_protected_append_writes + + +class ImmutabilityPolicyProperties(Model): + """The properties of an ImmutabilityPolicy of a blob container. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param immutability_period_since_creation_in_days: The immutability period + for the blobs in the container since the policy creation, in days. + :type immutability_period_since_creation_in_days: int + :ivar state: The ImmutabilityPolicy state of a blob container, possible + values include: Locked and Unlocked. Possible values include: 'Locked', + 'Unlocked' + :vartype state: str or + ~azure.mgmt.storage.v2019_06_01.models.ImmutabilityPolicyState + :param allow_protected_append_writes: This property can only be changed + for unlocked time-based retention policies. When enabled, new blocks can + be written to an append blob while maintaining immutability protection and + compliance. Only new blocks can be added and any existing blocks cannot be + modified or deleted. This property cannot be changed with + ExtendImmutabilityPolicy API + :type allow_protected_append_writes: bool + :ivar etag: ImmutabilityPolicy Etag. + :vartype etag: str + :ivar update_history: The ImmutabilityPolicy update history of the blob + container. + :vartype update_history: + list[~azure.mgmt.storage.v2019_06_01.models.UpdateHistoryProperty] + """ + + _validation = { + 'state': {'readonly': True}, + 'etag': {'readonly': True}, + 'update_history': {'readonly': True}, + } + + _attribute_map = { + 'immutability_period_since_creation_in_days': {'key': 'properties.immutabilityPeriodSinceCreationInDays', 'type': 'int'}, + 'state': {'key': 'properties.state', 'type': 'str'}, + 'allow_protected_append_writes': {'key': 'properties.allowProtectedAppendWrites', 'type': 'bool'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'update_history': {'key': 'updateHistory', 'type': '[UpdateHistoryProperty]'}, + } + + def __init__(self, *, immutability_period_since_creation_in_days: int=None, allow_protected_append_writes: bool=None, **kwargs) -> None: + super(ImmutabilityPolicyProperties, self).__init__(**kwargs) + self.immutability_period_since_creation_in_days = immutability_period_since_creation_in_days + self.state = None + self.allow_protected_append_writes = allow_protected_append_writes + self.etag = None + self.update_history = None + + +class IPRule(Model): + """IP rule with specific IP or IP range in CIDR format. + + All required parameters must be populated in order to send to Azure. + + :param ip_address_or_range: Required. Specifies the IP or IP range in CIDR + format. Only IPV4 address is allowed. + :type ip_address_or_range: str + :param action: The action of IP ACL rule. Possible values include: + 'Allow'. Default value: "Allow" . + :type action: str or ~azure.mgmt.storage.v2019_06_01.models.Action + """ + + _validation = { + 'ip_address_or_range': {'required': True}, + } + + _attribute_map = { + 'ip_address_or_range': {'key': 'value', 'type': 'str'}, + 'action': {'key': 'action', 'type': 'Action'}, + } + + def __init__(self, *, ip_address_or_range: str, action="Allow", **kwargs) -> None: + super(IPRule, self).__init__(**kwargs) + self.ip_address_or_range = ip_address_or_range + self.action = action + + +class KeyVaultProperties(Model): + """Properties of key vault. + + :param key_name: The name of KeyVault key. + :type key_name: str + :param key_version: The version of KeyVault key. + :type key_version: str + :param key_vault_uri: The Uri of KeyVault. + :type key_vault_uri: str + """ + + _attribute_map = { + 'key_name': {'key': 'keyname', 'type': 'str'}, + 'key_version': {'key': 'keyversion', 'type': 'str'}, + 'key_vault_uri': {'key': 'keyvaulturi', 'type': 'str'}, + } + + def __init__(self, *, key_name: str=None, key_version: str=None, key_vault_uri: str=None, **kwargs) -> None: + super(KeyVaultProperties, self).__init__(**kwargs) + self.key_name = key_name + self.key_version = key_version + self.key_vault_uri = key_vault_uri + + +class LeaseContainerRequest(Model): + """Lease Container request schema. + + All required parameters must be populated in order to send to Azure. + + :param action: Required. Specifies the lease action. Can be one of the + available actions. Possible values include: 'Acquire', 'Renew', 'Change', + 'Release', 'Break' + :type action: str or ~azure.mgmt.storage.v2019_06_01.models.enum + :param lease_id: Identifies the lease. Can be specified in any valid GUID + string format. + :type lease_id: str + :param break_period: Optional. For a break action, proposed duration the + lease should continue before it is broken, in seconds, between 0 and 60. + :type break_period: int + :param lease_duration: Required for acquire. Specifies the duration of the + lease, in seconds, or negative one (-1) for a lease that never expires. + :type lease_duration: int + :param proposed_lease_id: Optional for acquire, required for change. + Proposed lease ID, in a GUID string format. + :type proposed_lease_id: str + """ + + _validation = { + 'action': {'required': True}, + } + + _attribute_map = { + 'action': {'key': 'action', 'type': 'str'}, + 'lease_id': {'key': 'leaseId', 'type': 'str'}, + 'break_period': {'key': 'breakPeriod', 'type': 'int'}, + 'lease_duration': {'key': 'leaseDuration', 'type': 'int'}, + 'proposed_lease_id': {'key': 'proposedLeaseId', 'type': 'str'}, + } + + def __init__(self, *, action, lease_id: str=None, break_period: int=None, lease_duration: int=None, proposed_lease_id: str=None, **kwargs) -> None: + super(LeaseContainerRequest, self).__init__(**kwargs) + self.action = action + self.lease_id = lease_id + self.break_period = break_period + self.lease_duration = lease_duration + self.proposed_lease_id = proposed_lease_id + + +class LeaseContainerResponse(Model): + """Lease Container response schema. + + :param lease_id: Returned unique lease ID that must be included with any + request to delete the container, or to renew, change, or release the + lease. + :type lease_id: str + :param lease_time_seconds: Approximate time remaining in the lease period, + in seconds. + :type lease_time_seconds: str + """ + + _attribute_map = { + 'lease_id': {'key': 'leaseId', 'type': 'str'}, + 'lease_time_seconds': {'key': 'leaseTimeSeconds', 'type': 'str'}, + } + + def __init__(self, *, lease_id: str=None, lease_time_seconds: str=None, **kwargs) -> None: + super(LeaseContainerResponse, self).__init__(**kwargs) + self.lease_id = lease_id + self.lease_time_seconds = lease_time_seconds + + +class LegalHold(Model): + """The LegalHold property of a blob container. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar has_legal_hold: The hasLegalHold public property is set to true by + SRP if there are at least one existing tag. The hasLegalHold public + property is set to false by SRP if all existing legal hold tags are + cleared out. There can be a maximum of 1000 blob containers with + hasLegalHold=true for a given account. + :vartype has_legal_hold: bool + :param tags: Required. Each tag should be 3 to 23 alphanumeric characters + and is normalized to lower case at SRP. + :type tags: list[str] + """ + + _validation = { + 'has_legal_hold': {'readonly': True}, + 'tags': {'required': True}, + } + + _attribute_map = { + 'has_legal_hold': {'key': 'hasLegalHold', 'type': 'bool'}, + 'tags': {'key': 'tags', 'type': '[str]'}, + } + + def __init__(self, *, tags, **kwargs) -> None: + super(LegalHold, self).__init__(**kwargs) + self.has_legal_hold = None + self.tags = tags + + +class LegalHoldProperties(Model): + """The LegalHold property of a blob container. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar has_legal_hold: The hasLegalHold public property is set to true by + SRP if there are at least one existing tag. The hasLegalHold public + property is set to false by SRP if all existing legal hold tags are + cleared out. There can be a maximum of 1000 blob containers with + hasLegalHold=true for a given account. + :vartype has_legal_hold: bool + :param tags: The list of LegalHold tags of a blob container. + :type tags: list[~azure.mgmt.storage.v2019_06_01.models.TagProperty] + """ + + _validation = { + 'has_legal_hold': {'readonly': True}, + } + + _attribute_map = { + 'has_legal_hold': {'key': 'hasLegalHold', 'type': 'bool'}, + 'tags': {'key': 'tags', 'type': '[TagProperty]'}, + } + + def __init__(self, *, tags=None, **kwargs) -> None: + super(LegalHoldProperties, self).__init__(**kwargs) + self.has_legal_hold = None + self.tags = tags + + +class ListAccountSasResponse(Model): + """The List SAS credentials operation response. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar account_sas_token: List SAS credentials of storage account. + :vartype account_sas_token: str + """ + + _validation = { + 'account_sas_token': {'readonly': True}, + } + + _attribute_map = { + 'account_sas_token': {'key': 'accountSasToken', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(ListAccountSasResponse, self).__init__(**kwargs) + self.account_sas_token = None + + +class ListContainerItem(AzureEntityResource): + """The blob container properties be listed out. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :ivar etag: Resource Etag. + :vartype etag: str + :param public_access: Specifies whether data in the container may be + accessed publicly and the level of access. Possible values include: + 'Container', 'Blob', 'None' + :type public_access: str or + ~azure.mgmt.storage.v2019_06_01.models.PublicAccess + :ivar last_modified_time: Returns the date and time the container was last + modified. + :vartype last_modified_time: datetime + :ivar lease_status: The lease status of the container. Possible values + include: 'Locked', 'Unlocked' + :vartype lease_status: str or + ~azure.mgmt.storage.v2019_06_01.models.LeaseStatus + :ivar lease_state: Lease state of the container. Possible values include: + 'Available', 'Leased', 'Expired', 'Breaking', 'Broken' + :vartype lease_state: str or + ~azure.mgmt.storage.v2019_06_01.models.LeaseState + :ivar lease_duration: Specifies whether the lease on a container is of + infinite or fixed duration, only when the container is leased. Possible + values include: 'Infinite', 'Fixed' + :vartype lease_duration: str or + ~azure.mgmt.storage.v2019_06_01.models.LeaseDuration + :param metadata: A name-value pair to associate with the container as + metadata. + :type metadata: dict[str, str] + :ivar immutability_policy: The ImmutabilityPolicy property of the + container. + :vartype immutability_policy: + ~azure.mgmt.storage.v2019_06_01.models.ImmutabilityPolicyProperties + :ivar legal_hold: The LegalHold property of the container. + :vartype legal_hold: + ~azure.mgmt.storage.v2019_06_01.models.LegalHoldProperties + :ivar has_legal_hold: The hasLegalHold public property is set to true by + SRP if there are at least one existing tag. The hasLegalHold public + property is set to false by SRP if all existing legal hold tags are + cleared out. There can be a maximum of 1000 blob containers with + hasLegalHold=true for a given account. + :vartype has_legal_hold: bool + :ivar has_immutability_policy: The hasImmutabilityPolicy public property + is set to true by SRP if ImmutabilityPolicy has been created for this + container. The hasImmutabilityPolicy public property is set to false by + SRP if ImmutabilityPolicy has not been created for this container. + :vartype has_immutability_policy: bool + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + 'last_modified_time': {'readonly': True}, + 'lease_status': {'readonly': True}, + 'lease_state': {'readonly': True}, + 'lease_duration': {'readonly': True}, + 'immutability_policy': {'readonly': True}, + 'legal_hold': {'readonly': True}, + 'has_legal_hold': {'readonly': True}, + 'has_immutability_policy': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'public_access': {'key': 'properties.publicAccess', 'type': 'PublicAccess'}, + 'last_modified_time': {'key': 'properties.lastModifiedTime', 'type': 'iso-8601'}, + 'lease_status': {'key': 'properties.leaseStatus', 'type': 'str'}, + 'lease_state': {'key': 'properties.leaseState', 'type': 'str'}, + 'lease_duration': {'key': 'properties.leaseDuration', 'type': 'str'}, + 'metadata': {'key': 'properties.metadata', 'type': '{str}'}, + 'immutability_policy': {'key': 'properties.immutabilityPolicy', 'type': 'ImmutabilityPolicyProperties'}, + 'legal_hold': {'key': 'properties.legalHold', 'type': 'LegalHoldProperties'}, + 'has_legal_hold': {'key': 'properties.hasLegalHold', 'type': 'bool'}, + 'has_immutability_policy': {'key': 'properties.hasImmutabilityPolicy', 'type': 'bool'}, + } + + def __init__(self, *, public_access=None, metadata=None, **kwargs) -> None: + super(ListContainerItem, self).__init__(**kwargs) + self.public_access = public_access + self.last_modified_time = None + self.lease_status = None + self.lease_state = None + self.lease_duration = None + self.metadata = metadata + self.immutability_policy = None + self.legal_hold = None + self.has_legal_hold = None + self.has_immutability_policy = None + + +class ListServiceSasResponse(Model): + """The List service SAS credentials operation response. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar service_sas_token: List service SAS credentials of specific + resource. + :vartype service_sas_token: str + """ + + _validation = { + 'service_sas_token': {'readonly': True}, + } + + _attribute_map = { + 'service_sas_token': {'key': 'serviceSasToken', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(ListServiceSasResponse, self).__init__(**kwargs) + self.service_sas_token = None + + +class ManagementPolicy(Resource): + """The Get Storage Account ManagementPolicies operation response. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :ivar last_modified_time: Returns the date and time the ManagementPolicies + was last modified. + :vartype last_modified_time: datetime + :param policy: Required. The Storage Account ManagementPolicy, in JSON + format. See more details in: + https://docs.microsoft.com/en-us/azure/storage/common/storage-lifecycle-managment-concepts. + :type policy: + ~azure.mgmt.storage.v2019_06_01.models.ManagementPolicySchema + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'last_modified_time': {'readonly': True}, + 'policy': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'last_modified_time': {'key': 'properties.lastModifiedTime', 'type': 'iso-8601'}, + 'policy': {'key': 'properties.policy', 'type': 'ManagementPolicySchema'}, + } + + def __init__(self, *, policy, **kwargs) -> None: + super(ManagementPolicy, self).__init__(**kwargs) + self.last_modified_time = None + self.policy = policy + + +class ManagementPolicyAction(Model): + """Actions are applied to the filtered blobs when the execution condition is + met. + + :param base_blob: The management policy action for base blob + :type base_blob: + ~azure.mgmt.storage.v2019_06_01.models.ManagementPolicyBaseBlob + :param snapshot: The management policy action for snapshot + :type snapshot: + ~azure.mgmt.storage.v2019_06_01.models.ManagementPolicySnapShot + """ + + _attribute_map = { + 'base_blob': {'key': 'baseBlob', 'type': 'ManagementPolicyBaseBlob'}, + 'snapshot': {'key': 'snapshot', 'type': 'ManagementPolicySnapShot'}, + } + + def __init__(self, *, base_blob=None, snapshot=None, **kwargs) -> None: + super(ManagementPolicyAction, self).__init__(**kwargs) + self.base_blob = base_blob + self.snapshot = snapshot + + +class ManagementPolicyBaseBlob(Model): + """Management policy action for base blob. + + :param tier_to_cool: The function to tier blobs to cool storage. Support + blobs currently at Hot tier + :type tier_to_cool: + ~azure.mgmt.storage.v2019_06_01.models.DateAfterModification + :param tier_to_archive: The function to tier blobs to archive storage. + Support blobs currently at Hot or Cool tier + :type tier_to_archive: + ~azure.mgmt.storage.v2019_06_01.models.DateAfterModification + :param delete: The function to delete the blob + :type delete: ~azure.mgmt.storage.v2019_06_01.models.DateAfterModification + """ + + _attribute_map = { + 'tier_to_cool': {'key': 'tierToCool', 'type': 'DateAfterModification'}, + 'tier_to_archive': {'key': 'tierToArchive', 'type': 'DateAfterModification'}, + 'delete': {'key': 'delete', 'type': 'DateAfterModification'}, + } + + def __init__(self, *, tier_to_cool=None, tier_to_archive=None, delete=None, **kwargs) -> None: + super(ManagementPolicyBaseBlob, self).__init__(**kwargs) + self.tier_to_cool = tier_to_cool + self.tier_to_archive = tier_to_archive + self.delete = delete + + +class ManagementPolicyDefinition(Model): + """An object that defines the Lifecycle rule. Each definition is made up with + a filters set and an actions set. + + All required parameters must be populated in order to send to Azure. + + :param actions: Required. An object that defines the action set. + :type actions: + ~azure.mgmt.storage.v2019_06_01.models.ManagementPolicyAction + :param filters: An object that defines the filter set. + :type filters: + ~azure.mgmt.storage.v2019_06_01.models.ManagementPolicyFilter + """ + + _validation = { + 'actions': {'required': True}, + } + + _attribute_map = { + 'actions': {'key': 'actions', 'type': 'ManagementPolicyAction'}, + 'filters': {'key': 'filters', 'type': 'ManagementPolicyFilter'}, + } + + def __init__(self, *, actions, filters=None, **kwargs) -> None: + super(ManagementPolicyDefinition, self).__init__(**kwargs) + self.actions = actions + self.filters = filters + + +class ManagementPolicyFilter(Model): + """Filters limit rule actions to a subset of blobs within the storage account. + If multiple filters are defined, a logical AND is performed on all filters. + . + + All required parameters must be populated in order to send to Azure. + + :param prefix_match: An array of strings for prefixes to be match. + :type prefix_match: list[str] + :param blob_types: Required. An array of predefined enum values. Only + blockBlob is supported. + :type blob_types: list[str] + """ + + _validation = { + 'blob_types': {'required': True}, + } + + _attribute_map = { + 'prefix_match': {'key': 'prefixMatch', 'type': '[str]'}, + 'blob_types': {'key': 'blobTypes', 'type': '[str]'}, + } + + def __init__(self, *, blob_types, prefix_match=None, **kwargs) -> None: + super(ManagementPolicyFilter, self).__init__(**kwargs) + self.prefix_match = prefix_match + self.blob_types = blob_types + + +class ManagementPolicyRule(Model): + """An object that wraps the Lifecycle rule. Each rule is uniquely defined by + name. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param enabled: Rule is enabled if set to true. + :type enabled: bool + :param name: Required. A rule name can contain any combination of alpha + numeric characters. Rule name is case-sensitive. It must be unique within + a policy. + :type name: str + :ivar type: Required. The valid value is Lifecycle. Default value: + "Lifecycle" . + :vartype type: str + :param definition: Required. An object that defines the Lifecycle rule. + :type definition: + ~azure.mgmt.storage.v2019_06_01.models.ManagementPolicyDefinition + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True, 'constant': True}, + 'definition': {'required': True}, + } + + _attribute_map = { + 'enabled': {'key': 'enabled', 'type': 'bool'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'definition': {'key': 'definition', 'type': 'ManagementPolicyDefinition'}, + } + + type = "Lifecycle" + + def __init__(self, *, name: str, definition, enabled: bool=None, **kwargs) -> None: + super(ManagementPolicyRule, self).__init__(**kwargs) + self.enabled = enabled + self.name = name + self.definition = definition + + +class ManagementPolicySchema(Model): + """The Storage Account ManagementPolicies Rules. See more details in: + https://docs.microsoft.com/en-us/azure/storage/common/storage-lifecycle-managment-concepts. + + All required parameters must be populated in order to send to Azure. + + :param rules: Required. The Storage Account ManagementPolicies Rules. See + more details in: + https://docs.microsoft.com/en-us/azure/storage/common/storage-lifecycle-managment-concepts. + :type rules: + list[~azure.mgmt.storage.v2019_06_01.models.ManagementPolicyRule] + """ + + _validation = { + 'rules': {'required': True}, + } + + _attribute_map = { + 'rules': {'key': 'rules', 'type': '[ManagementPolicyRule]'}, + } + + def __init__(self, *, rules, **kwargs) -> None: + super(ManagementPolicySchema, self).__init__(**kwargs) + self.rules = rules + + +class ManagementPolicySnapShot(Model): + """Management policy action for snapshot. + + :param delete: The function to delete the blob snapshot + :type delete: ~azure.mgmt.storage.v2019_06_01.models.DateAfterCreation + """ + + _attribute_map = { + 'delete': {'key': 'delete', 'type': 'DateAfterCreation'}, + } + + def __init__(self, *, delete=None, **kwargs) -> None: + super(ManagementPolicySnapShot, self).__init__(**kwargs) + self.delete = delete + + +class MetricSpecification(Model): + """Metric specification of operation. + + :param name: Name of metric specification. + :type name: str + :param display_name: Display name of metric specification. + :type display_name: str + :param display_description: Display description of metric specification. + :type display_description: str + :param unit: Unit could be Bytes or Count. + :type unit: str + :param dimensions: Dimensions of blobs, including blob type and access + tier. + :type dimensions: list[~azure.mgmt.storage.v2019_06_01.models.Dimension] + :param aggregation_type: Aggregation type could be Average. + :type aggregation_type: str + :param fill_gap_with_zero: The property to decide fill gap with zero or + not. + :type fill_gap_with_zero: bool + :param category: The category this metric specification belong to, could + be Capacity. + :type category: str + :param resource_id_dimension_name_override: Account Resource Id. + :type resource_id_dimension_name_override: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'display_description': {'key': 'displayDescription', 'type': 'str'}, + 'unit': {'key': 'unit', 'type': 'str'}, + 'dimensions': {'key': 'dimensions', 'type': '[Dimension]'}, + 'aggregation_type': {'key': 'aggregationType', 'type': 'str'}, + 'fill_gap_with_zero': {'key': 'fillGapWithZero', 'type': 'bool'}, + 'category': {'key': 'category', 'type': 'str'}, + 'resource_id_dimension_name_override': {'key': 'resourceIdDimensionNameOverride', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, display_name: str=None, display_description: str=None, unit: str=None, dimensions=None, aggregation_type: str=None, fill_gap_with_zero: bool=None, category: str=None, resource_id_dimension_name_override: str=None, **kwargs) -> None: + super(MetricSpecification, self).__init__(**kwargs) + self.name = name + self.display_name = display_name + self.display_description = display_description + self.unit = unit + self.dimensions = dimensions + self.aggregation_type = aggregation_type + self.fill_gap_with_zero = fill_gap_with_zero + self.category = category + self.resource_id_dimension_name_override = resource_id_dimension_name_override + + +class NetworkRuleSet(Model): + """Network rule set. + + All required parameters must be populated in order to send to Azure. + + :param bypass: Specifies whether traffic is bypassed for + Logging/Metrics/AzureServices. Possible values are any combination of + Logging|Metrics|AzureServices (For example, "Logging, Metrics"), or None + to bypass none of those traffics. Possible values include: 'None', + 'Logging', 'Metrics', 'AzureServices'. Default value: "AzureServices" . + :type bypass: str or ~azure.mgmt.storage.v2019_06_01.models.Bypass + :param virtual_network_rules: Sets the virtual network rules + :type virtual_network_rules: + list[~azure.mgmt.storage.v2019_06_01.models.VirtualNetworkRule] + :param ip_rules: Sets the IP ACL rules + :type ip_rules: list[~azure.mgmt.storage.v2019_06_01.models.IPRule] + :param default_action: Required. Specifies the default action of allow or + deny when no other rules match. Possible values include: 'Allow', 'Deny'. + Default value: "Allow" . + :type default_action: str or + ~azure.mgmt.storage.v2019_06_01.models.DefaultAction + """ + + _validation = { + 'default_action': {'required': True}, + } + + _attribute_map = { + 'bypass': {'key': 'bypass', 'type': 'str'}, + 'virtual_network_rules': {'key': 'virtualNetworkRules', 'type': '[VirtualNetworkRule]'}, + 'ip_rules': {'key': 'ipRules', 'type': '[IPRule]'}, + 'default_action': {'key': 'defaultAction', 'type': 'DefaultAction'}, + } + + def __init__(self, *, bypass="AzureServices", virtual_network_rules=None, ip_rules=None, default_action="Allow", **kwargs) -> None: + super(NetworkRuleSet, self).__init__(**kwargs) + self.bypass = bypass + self.virtual_network_rules = virtual_network_rules + self.ip_rules = ip_rules + self.default_action = default_action + + +class ObjectReplicationPolicy(Resource): + """The replication policy between two storage accounts. Multiple rules can be + defined in one policy. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :ivar policy_id: A unique id for object replication policy. + :vartype policy_id: str + :ivar enabled_time: Indicates when the policy is enabled on the source + account. + :vartype enabled_time: datetime + :param source_account: Required. Required. Source account name. + :type source_account: str + :param destination_account: Required. Required. Destination account name. + :type destination_account: str + :param rules: The storage account object replication rules. + :type rules: + list[~azure.mgmt.storage.v2019_06_01.models.ObjectReplicationPolicyRule] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'policy_id': {'readonly': True}, + 'enabled_time': {'readonly': True}, + 'source_account': {'required': True}, + 'destination_account': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'policy_id': {'key': 'properties.policyId', 'type': 'str'}, + 'enabled_time': {'key': 'properties.enabledTime', 'type': 'iso-8601'}, + 'source_account': {'key': 'properties.sourceAccount', 'type': 'str'}, + 'destination_account': {'key': 'properties.destinationAccount', 'type': 'str'}, + 'rules': {'key': 'properties.rules', 'type': '[ObjectReplicationPolicyRule]'}, + } + + def __init__(self, *, source_account: str, destination_account: str, rules=None, **kwargs) -> None: + super(ObjectReplicationPolicy, self).__init__(**kwargs) + self.policy_id = None + self.enabled_time = None + self.source_account = source_account + self.destination_account = destination_account + self.rules = rules + + +class ObjectReplicationPolicyFilter(Model): + """Filters limit replication to a subset of blobs within the storage account. + A logical OR is performed on values in the filter. If multiple filters are + defined, a logical AND is performed on all filters. + + :param prefix_match: Optional. Filters the results to replicate only blobs + whose names begin with the specified prefix. + :type prefix_match: list[str] + :param min_creation_time: Blobs created after the time will be replicated + to the destination. It must be in datetime format + 'yyyy'-'MM'-'dd'T'HH':'mm':'ss'Z'. Example: 2020-02-19T16:05:00Z + :type min_creation_time: str + """ + + _attribute_map = { + 'prefix_match': {'key': 'prefixMatch', 'type': '[str]'}, + 'min_creation_time': {'key': 'minCreationTime', 'type': 'str'}, + } + + def __init__(self, *, prefix_match=None, min_creation_time: str=None, **kwargs) -> None: + super(ObjectReplicationPolicyFilter, self).__init__(**kwargs) + self.prefix_match = prefix_match + self.min_creation_time = min_creation_time + + +class ObjectReplicationPolicyRule(Model): + """The replication policy rule between two containers. + + All required parameters must be populated in order to send to Azure. + + :param rule_id: Rule Id is auto-generated for each new rule on destination + account. It is required for put policy on source account. + :type rule_id: str + :param source_container: Required. Required. Source container name. + :type source_container: str + :param destination_container: Required. Required. Destination container + name. + :type destination_container: str + :param filters: Optional. An object that defines the filter set. + :type filters: + ~azure.mgmt.storage.v2019_06_01.models.ObjectReplicationPolicyFilter + """ + + _validation = { + 'source_container': {'required': True}, + 'destination_container': {'required': True}, + } + + _attribute_map = { + 'rule_id': {'key': 'ruleId', 'type': 'str'}, + 'source_container': {'key': 'sourceContainer', 'type': 'str'}, + 'destination_container': {'key': 'destinationContainer', 'type': 'str'}, + 'filters': {'key': 'filters', 'type': 'ObjectReplicationPolicyFilter'}, + } + + def __init__(self, *, source_container: str, destination_container: str, rule_id: str=None, filters=None, **kwargs) -> None: + super(ObjectReplicationPolicyRule, self).__init__(**kwargs) + self.rule_id = rule_id + self.source_container = source_container + self.destination_container = destination_container + self.filters = filters + + +class Operation(Model): + """Storage REST API operation definition. + + :param name: Operation name: {provider}/{resource}/{operation} + :type name: str + :param display: Display metadata associated with the operation. + :type display: ~azure.mgmt.storage.v2019_06_01.models.OperationDisplay + :param origin: The origin of operations. + :type origin: str + :param service_specification: One property of operation, include metric + specifications. + :type service_specification: + ~azure.mgmt.storage.v2019_06_01.models.ServiceSpecification + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'OperationDisplay'}, + 'origin': {'key': 'origin', 'type': 'str'}, + 'service_specification': {'key': 'properties.serviceSpecification', 'type': 'ServiceSpecification'}, + } + + def __init__(self, *, name: str=None, display=None, origin: str=None, service_specification=None, **kwargs) -> None: + super(Operation, self).__init__(**kwargs) + self.name = name + self.display = display + self.origin = origin + self.service_specification = service_specification + + +class OperationDisplay(Model): + """Display metadata associated with the operation. + + :param provider: Service provider: Microsoft Storage. + :type provider: str + :param resource: Resource on which the operation is performed etc. + :type resource: str + :param operation: Type of operation: get, read, delete, etc. + :type operation: str + :param description: Description of the operation. + :type description: str + """ + + _attribute_map = { + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__(self, *, provider: str=None, resource: str=None, operation: str=None, description: str=None, **kwargs) -> None: + super(OperationDisplay, self).__init__(**kwargs) + self.provider = provider + self.resource = resource + self.operation = operation + self.description = description + + +class PrivateEndpoint(Model): + """The Private Endpoint resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: The ARM identifier for Private Endpoint + :vartype id: str + """ + + _validation = { + 'id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(PrivateEndpoint, self).__init__(**kwargs) + self.id = None + + +class PrivateEndpointConnection(Resource): + """The Private Endpoint Connection resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :param private_endpoint: The resource of private end point. + :type private_endpoint: + ~azure.mgmt.storage.v2019_06_01.models.PrivateEndpoint + :param private_link_service_connection_state: Required. A collection of + information about the state of the connection between service consumer and + provider. + :type private_link_service_connection_state: + ~azure.mgmt.storage.v2019_06_01.models.PrivateLinkServiceConnectionState + :param provisioning_state: The provisioning state of the private endpoint + connection resource. Possible values include: 'Succeeded', 'Creating', + 'Deleting', 'Failed' + :type provisioning_state: str or + ~azure.mgmt.storage.v2019_06_01.models.PrivateEndpointConnectionProvisioningState + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'private_link_service_connection_state': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'private_endpoint': {'key': 'properties.privateEndpoint', 'type': 'PrivateEndpoint'}, + 'private_link_service_connection_state': {'key': 'properties.privateLinkServiceConnectionState', 'type': 'PrivateLinkServiceConnectionState'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + } + + def __init__(self, *, private_link_service_connection_state, private_endpoint=None, provisioning_state=None, **kwargs) -> None: + super(PrivateEndpointConnection, self).__init__(**kwargs) + self.private_endpoint = private_endpoint + self.private_link_service_connection_state = private_link_service_connection_state + self.provisioning_state = provisioning_state + + +class PrivateLinkResource(Resource): + """A private link resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :ivar group_id: The private link resource group id. + :vartype group_id: str + :ivar required_members: The private link resource required member names. + :vartype required_members: list[str] + :param required_zone_names: The private link resource Private link DNS + zone name. + :type required_zone_names: list[str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'group_id': {'readonly': True}, + 'required_members': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'group_id': {'key': 'properties.groupId', 'type': 'str'}, + 'required_members': {'key': 'properties.requiredMembers', 'type': '[str]'}, + 'required_zone_names': {'key': 'properties.requiredZoneNames', 'type': '[str]'}, + } + + def __init__(self, *, required_zone_names=None, **kwargs) -> None: + super(PrivateLinkResource, self).__init__(**kwargs) + self.group_id = None + self.required_members = None + self.required_zone_names = required_zone_names + + +class PrivateLinkResourceListResult(Model): + """A list of private link resources. + + :param value: Array of private link resources + :type value: + list[~azure.mgmt.storage.v2019_06_01.models.PrivateLinkResource] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[PrivateLinkResource]'}, + } + + def __init__(self, *, value=None, **kwargs) -> None: + super(PrivateLinkResourceListResult, self).__init__(**kwargs) + self.value = value + + +class PrivateLinkServiceConnectionState(Model): + """A collection of information about the state of the connection between + service consumer and provider. + + :param status: Indicates whether the connection has been + Approved/Rejected/Removed by the owner of the service. Possible values + include: 'Pending', 'Approved', 'Rejected' + :type status: str or + ~azure.mgmt.storage.v2019_06_01.models.PrivateEndpointServiceConnectionStatus + :param description: The reason for approval/rejection of the connection. + :type description: str + :param action_required: A message indicating if changes on the service + provider require any updates on the consumer. + :type action_required: str + """ + + _attribute_map = { + 'status': {'key': 'status', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'action_required': {'key': 'actionRequired', 'type': 'str'}, + } + + def __init__(self, *, status=None, description: str=None, action_required: str=None, **kwargs) -> None: + super(PrivateLinkServiceConnectionState, self).__init__(**kwargs) + self.status = status + self.description = description + self.action_required = action_required + + +class ProxyResource(Resource): + """The resource model definition for a ARM proxy resource. It will have + everything other than required location and tags. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(ProxyResource, self).__init__(**kwargs) + + +class RestorePolicyProperties(Model): + """The blob service properties for blob restore policy. + + All required parameters must be populated in order to send to Azure. + + :param enabled: Required. Blob restore is enabled if set to true. + :type enabled: bool + :param days: how long this blob can be restored. It should be great than + zero and less than DeleteRetentionPolicy.days. + :type days: int + """ + + _validation = { + 'enabled': {'required': True}, + 'days': {'maximum': 365, 'minimum': 1}, + } + + _attribute_map = { + 'enabled': {'key': 'enabled', 'type': 'bool'}, + 'days': {'key': 'days', 'type': 'int'}, + } + + def __init__(self, *, enabled: bool, days: int=None, **kwargs) -> None: + super(RestorePolicyProperties, self).__init__(**kwargs) + self.enabled = enabled + self.days = days + + +class Restriction(Model): + """The restriction because of which SKU cannot be used. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar type: The type of restrictions. As of now only possible value for + this is location. + :vartype type: str + :ivar values: The value of restrictions. If the restriction type is set to + location. This would be different locations where the SKU is restricted. + :vartype values: list[str] + :param reason_code: The reason for the restriction. As of now this can be + "QuotaId" or "NotAvailableForSubscription". Quota Id is set when the SKU + has requiredQuotas parameter as the subscription does not belong to that + quota. The "NotAvailableForSubscription" is related to capacity at DC. + Possible values include: 'QuotaId', 'NotAvailableForSubscription' + :type reason_code: str or + ~azure.mgmt.storage.v2019_06_01.models.ReasonCode + """ + + _validation = { + 'type': {'readonly': True}, + 'values': {'readonly': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'values': {'key': 'values', 'type': '[str]'}, + 'reason_code': {'key': 'reasonCode', 'type': 'str'}, + } + + def __init__(self, *, reason_code=None, **kwargs) -> None: + super(Restriction, self).__init__(**kwargs) + self.type = None + self.values = None + self.reason_code = reason_code + + +class RoutingPreference(Model): + """Routing preference defines the type of network, either microsoft or + internet routing to be used to deliver the user data, the default option is + microsoft routing. + + :param routing_choice: Routing Choice defines the kind of network routing + opted by the user. Possible values include: 'MicrosoftRouting', + 'InternetRouting' + :type routing_choice: str or + ~azure.mgmt.storage.v2019_06_01.models.RoutingChoice + :param publish_microsoft_endpoints: A boolean flag which indicates whether + microsoft routing storage endpoints are to be published + :type publish_microsoft_endpoints: bool + :param publish_internet_endpoints: A boolean flag which indicates whether + internet routing storage endpoints are to be published + :type publish_internet_endpoints: bool + """ + + _attribute_map = { + 'routing_choice': {'key': 'routingChoice', 'type': 'str'}, + 'publish_microsoft_endpoints': {'key': 'publishMicrosoftEndpoints', 'type': 'bool'}, + 'publish_internet_endpoints': {'key': 'publishInternetEndpoints', 'type': 'bool'}, + } + + def __init__(self, *, routing_choice=None, publish_microsoft_endpoints: bool=None, publish_internet_endpoints: bool=None, **kwargs) -> None: + super(RoutingPreference, self).__init__(**kwargs) + self.routing_choice = routing_choice + self.publish_microsoft_endpoints = publish_microsoft_endpoints + self.publish_internet_endpoints = publish_internet_endpoints + + +class ServiceSasParameters(Model): + """The parameters to list service SAS credentials of a specific resource. + + All required parameters must be populated in order to send to Azure. + + :param canonicalized_resource: Required. The canonical path to the signed + resource. + :type canonicalized_resource: str + :param resource: The signed services accessible with the service SAS. + Possible values include: Blob (b), Container (c), File (f), Share (s). + Possible values include: 'b', 'c', 'f', 's' + :type resource: str or + ~azure.mgmt.storage.v2019_06_01.models.SignedResource + :param permissions: The signed permissions for the service SAS. Possible + values include: Read (r), Write (w), Delete (d), List (l), Add (a), Create + (c), Update (u) and Process (p). Possible values include: 'r', 'd', 'w', + 'l', 'a', 'c', 'u', 'p' + :type permissions: str or + ~azure.mgmt.storage.v2019_06_01.models.Permissions + :param ip_address_or_range: An IP address or a range of IP addresses from + which to accept requests. + :type ip_address_or_range: str + :param protocols: The protocol permitted for a request made with the + account SAS. Possible values include: 'https,http', 'https' + :type protocols: str or + ~azure.mgmt.storage.v2019_06_01.models.HttpProtocol + :param shared_access_start_time: The time at which the SAS becomes valid. + :type shared_access_start_time: datetime + :param shared_access_expiry_time: The time at which the shared access + signature becomes invalid. + :type shared_access_expiry_time: datetime + :param identifier: A unique value up to 64 characters in length that + correlates to an access policy specified for the container, queue, or + table. + :type identifier: str + :param partition_key_start: The start of partition key. + :type partition_key_start: str + :param partition_key_end: The end of partition key. + :type partition_key_end: str + :param row_key_start: The start of row key. + :type row_key_start: str + :param row_key_end: The end of row key. + :type row_key_end: str + :param key_to_sign: The key to sign the account SAS token with. + :type key_to_sign: str + :param cache_control: The response header override for cache control. + :type cache_control: str + :param content_disposition: The response header override for content + disposition. + :type content_disposition: str + :param content_encoding: The response header override for content + encoding. + :type content_encoding: str + :param content_language: The response header override for content + language. + :type content_language: str + :param content_type: The response header override for content type. + :type content_type: str + """ + + _validation = { + 'canonicalized_resource': {'required': True}, + 'identifier': {'max_length': 64}, + } + + _attribute_map = { + 'canonicalized_resource': {'key': 'canonicalizedResource', 'type': 'str'}, + 'resource': {'key': 'signedResource', 'type': 'str'}, + 'permissions': {'key': 'signedPermission', 'type': 'str'}, + 'ip_address_or_range': {'key': 'signedIp', 'type': 'str'}, + 'protocols': {'key': 'signedProtocol', 'type': 'HttpProtocol'}, + 'shared_access_start_time': {'key': 'signedStart', 'type': 'iso-8601'}, + 'shared_access_expiry_time': {'key': 'signedExpiry', 'type': 'iso-8601'}, + 'identifier': {'key': 'signedIdentifier', 'type': 'str'}, + 'partition_key_start': {'key': 'startPk', 'type': 'str'}, + 'partition_key_end': {'key': 'endPk', 'type': 'str'}, + 'row_key_start': {'key': 'startRk', 'type': 'str'}, + 'row_key_end': {'key': 'endRk', 'type': 'str'}, + 'key_to_sign': {'key': 'keyToSign', 'type': 'str'}, + 'cache_control': {'key': 'rscc', 'type': 'str'}, + 'content_disposition': {'key': 'rscd', 'type': 'str'}, + 'content_encoding': {'key': 'rsce', 'type': 'str'}, + 'content_language': {'key': 'rscl', 'type': 'str'}, + 'content_type': {'key': 'rsct', 'type': 'str'}, + } + + def __init__(self, *, canonicalized_resource: str, resource=None, permissions=None, ip_address_or_range: str=None, protocols=None, shared_access_start_time=None, shared_access_expiry_time=None, identifier: str=None, partition_key_start: str=None, partition_key_end: str=None, row_key_start: str=None, row_key_end: str=None, key_to_sign: str=None, cache_control: str=None, content_disposition: str=None, content_encoding: str=None, content_language: str=None, content_type: str=None, **kwargs) -> None: + super(ServiceSasParameters, self).__init__(**kwargs) + self.canonicalized_resource = canonicalized_resource + self.resource = resource + self.permissions = permissions + self.ip_address_or_range = ip_address_or_range + self.protocols = protocols + self.shared_access_start_time = shared_access_start_time + self.shared_access_expiry_time = shared_access_expiry_time + self.identifier = identifier + self.partition_key_start = partition_key_start + self.partition_key_end = partition_key_end + self.row_key_start = row_key_start + self.row_key_end = row_key_end + self.key_to_sign = key_to_sign + self.cache_control = cache_control + self.content_disposition = content_disposition + self.content_encoding = content_encoding + self.content_language = content_language + self.content_type = content_type + + +class ServiceSpecification(Model): + """One property of operation, include metric specifications. + + :param metric_specifications: Metric specifications of operation. + :type metric_specifications: + list[~azure.mgmt.storage.v2019_06_01.models.MetricSpecification] + """ + + _attribute_map = { + 'metric_specifications': {'key': 'metricSpecifications', 'type': '[MetricSpecification]'}, + } + + def __init__(self, *, metric_specifications=None, **kwargs) -> None: + super(ServiceSpecification, self).__init__(**kwargs) + self.metric_specifications = metric_specifications + + +class Sku(Model): + """The SKU of the storage account. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. Possible values include: 'Standard_LRS', + 'Standard_GRS', 'Standard_RAGRS', 'Standard_ZRS', 'Premium_LRS', + 'Premium_ZRS', 'Standard_GZRS', 'Standard_RAGZRS' + :type name: str or ~azure.mgmt.storage.v2019_06_01.models.SkuName + :param tier: Possible values include: 'Standard', 'Premium' + :type tier: str or ~azure.mgmt.storage.v2019_06_01.models.SkuTier + """ + + _validation = { + 'name': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'SkuTier'}, + } + + def __init__(self, *, name, tier=None, **kwargs) -> None: + super(Sku, self).__init__(**kwargs) + self.name = name + self.tier = tier + + +class SKUCapability(Model): + """The capability information in the specified SKU, including file encryption, + network ACLs, change notification, etc. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name: The name of capability, The capability information in the + specified SKU, including file encryption, network ACLs, change + notification, etc. + :vartype name: str + :ivar value: A string value to indicate states of given capability. + Possibly 'true' or 'false'. + :vartype value: str + """ + + _validation = { + 'name': {'readonly': True}, + 'value': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(SKUCapability, self).__init__(**kwargs) + self.name = None + self.value = None + + +class SkuInformation(Model): + """Storage SKU and its properties. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. Possible values include: 'Standard_LRS', + 'Standard_GRS', 'Standard_RAGRS', 'Standard_ZRS', 'Premium_LRS', + 'Premium_ZRS', 'Standard_GZRS', 'Standard_RAGZRS' + :type name: str or ~azure.mgmt.storage.v2019_06_01.models.SkuName + :param tier: Possible values include: 'Standard', 'Premium' + :type tier: str or ~azure.mgmt.storage.v2019_06_01.models.SkuTier + :ivar resource_type: The type of the resource, usually it is + 'storageAccounts'. + :vartype resource_type: str + :ivar kind: Indicates the type of storage account. Possible values + include: 'Storage', 'StorageV2', 'BlobStorage', 'FileStorage', + 'BlockBlobStorage' + :vartype kind: str or ~azure.mgmt.storage.v2019_06_01.models.Kind + :ivar locations: The set of locations that the SKU is available. This will + be supported and registered Azure Geo Regions (e.g. West US, East US, + Southeast Asia, etc.). + :vartype locations: list[str] + :ivar capabilities: The capability information in the specified SKU, + including file encryption, network ACLs, change notification, etc. + :vartype capabilities: + list[~azure.mgmt.storage.v2019_06_01.models.SKUCapability] + :param restrictions: The restrictions because of which SKU cannot be used. + This is empty if there are no restrictions. + :type restrictions: + list[~azure.mgmt.storage.v2019_06_01.models.Restriction] + """ + + _validation = { + 'name': {'required': True}, + 'resource_type': {'readonly': True}, + 'kind': {'readonly': True}, + 'locations': {'readonly': True}, + 'capabilities': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'SkuTier'}, + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'locations': {'key': 'locations', 'type': '[str]'}, + 'capabilities': {'key': 'capabilities', 'type': '[SKUCapability]'}, + 'restrictions': {'key': 'restrictions', 'type': '[Restriction]'}, + } + + def __init__(self, *, name, tier=None, restrictions=None, **kwargs) -> None: + super(SkuInformation, self).__init__(**kwargs) + self.name = name + self.tier = tier + self.resource_type = None + self.kind = None + self.locations = None + self.capabilities = None + self.restrictions = restrictions + + +class TrackedResource(Resource): + """The resource model definition for a ARM tracked top level resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param location: Required. The geo-location where the resource lives + :type location: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'location': {'key': 'location', 'type': 'str'}, + } + + def __init__(self, *, location: str, tags=None, **kwargs) -> None: + super(TrackedResource, self).__init__(**kwargs) + self.tags = tags + self.location = location + + +class StorageAccount(TrackedResource): + """The storage account. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param location: Required. The geo-location where the resource lives + :type location: str + :ivar sku: Gets the SKU. + :vartype sku: ~azure.mgmt.storage.v2019_06_01.models.Sku + :ivar kind: Gets the Kind. Possible values include: 'Storage', + 'StorageV2', 'BlobStorage', 'FileStorage', 'BlockBlobStorage' + :vartype kind: str or ~azure.mgmt.storage.v2019_06_01.models.Kind + :param identity: The identity of the resource. + :type identity: ~azure.mgmt.storage.v2019_06_01.models.Identity + :ivar provisioning_state: Gets the status of the storage account at the + time the operation was called. Possible values include: 'Creating', + 'ResolvingDNS', 'Succeeded' + :vartype provisioning_state: str or + ~azure.mgmt.storage.v2019_06_01.models.ProvisioningState + :ivar primary_endpoints: Gets the URLs that are used to perform a + retrieval of a public blob, queue, or table object. Note that Standard_ZRS + and Premium_LRS accounts only return the blob endpoint. + :vartype primary_endpoints: + ~azure.mgmt.storage.v2019_06_01.models.Endpoints + :ivar primary_location: Gets the location of the primary data center for + the storage account. + :vartype primary_location: str + :ivar status_of_primary: Gets the status indicating whether the primary + location of the storage account is available or unavailable. Possible + values include: 'available', 'unavailable' + :vartype status_of_primary: str or + ~azure.mgmt.storage.v2019_06_01.models.AccountStatus + :ivar last_geo_failover_time: Gets the timestamp of the most recent + instance of a failover to the secondary location. Only the most recent + timestamp is retained. This element is not returned if there has never + been a failover instance. Only available if the accountType is + Standard_GRS or Standard_RAGRS. + :vartype last_geo_failover_time: datetime + :ivar secondary_location: Gets the location of the geo-replicated + secondary for the storage account. Only available if the accountType is + Standard_GRS or Standard_RAGRS. + :vartype secondary_location: str + :ivar status_of_secondary: Gets the status indicating whether the + secondary location of the storage account is available or unavailable. + Only available if the SKU name is Standard_GRS or Standard_RAGRS. Possible + values include: 'available', 'unavailable' + :vartype status_of_secondary: str or + ~azure.mgmt.storage.v2019_06_01.models.AccountStatus + :ivar creation_time: Gets the creation date and time of the storage + account in UTC. + :vartype creation_time: datetime + :ivar custom_domain: Gets the custom domain the user assigned to this + storage account. + :vartype custom_domain: + ~azure.mgmt.storage.v2019_06_01.models.CustomDomain + :ivar secondary_endpoints: Gets the URLs that are used to perform a + retrieval of a public blob, queue, or table object from the secondary + location of the storage account. Only available if the SKU name is + Standard_RAGRS. + :vartype secondary_endpoints: + ~azure.mgmt.storage.v2019_06_01.models.Endpoints + :ivar encryption: Gets the encryption settings on the account. If + unspecified, the account is unencrypted. + :vartype encryption: ~azure.mgmt.storage.v2019_06_01.models.Encryption + :ivar access_tier: Required for storage accounts where kind = BlobStorage. + The access tier used for billing. Possible values include: 'Hot', 'Cool' + :vartype access_tier: str or + ~azure.mgmt.storage.v2019_06_01.models.AccessTier + :param azure_files_identity_based_authentication: Provides the identity + based authentication settings for Azure Files. + :type azure_files_identity_based_authentication: + ~azure.mgmt.storage.v2019_06_01.models.AzureFilesIdentityBasedAuthentication + :param enable_https_traffic_only: Allows https traffic only to storage + service if sets to true. + :type enable_https_traffic_only: bool + :ivar network_rule_set: Network rule set + :vartype network_rule_set: + ~azure.mgmt.storage.v2019_06_01.models.NetworkRuleSet + :param is_hns_enabled: Account HierarchicalNamespace enabled if sets to + true. + :type is_hns_enabled: bool + :ivar geo_replication_stats: Geo Replication Stats + :vartype geo_replication_stats: + ~azure.mgmt.storage.v2019_06_01.models.GeoReplicationStats + :ivar failover_in_progress: If the failover is in progress, the value will + be true, otherwise, it will be null. + :vartype failover_in_progress: bool + :param large_file_shares_state: Allow large file shares if sets to + Enabled. It cannot be disabled once it is enabled. Possible values + include: 'Disabled', 'Enabled' + :type large_file_shares_state: str or + ~azure.mgmt.storage.v2019_06_01.models.LargeFileSharesState + :ivar private_endpoint_connections: List of private endpoint connection + associated with the specified storage account + :vartype private_endpoint_connections: + list[~azure.mgmt.storage.v2019_06_01.models.PrivateEndpointConnection] + :param routing_preference: Maintains information about the network routing + choice opted by the user for data transfer + :type routing_preference: + ~azure.mgmt.storage.v2019_06_01.models.RoutingPreference + :ivar blob_restore_status: Blob restore status + :vartype blob_restore_status: + ~azure.mgmt.storage.v2019_06_01.models.BlobRestoreStatus + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + 'sku': {'readonly': True}, + 'kind': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'primary_endpoints': {'readonly': True}, + 'primary_location': {'readonly': True}, + 'status_of_primary': {'readonly': True}, + 'last_geo_failover_time': {'readonly': True}, + 'secondary_location': {'readonly': True}, + 'status_of_secondary': {'readonly': True}, + 'creation_time': {'readonly': True}, + 'custom_domain': {'readonly': True}, + 'secondary_endpoints': {'readonly': True}, + 'encryption': {'readonly': True}, + 'access_tier': {'readonly': True}, + 'network_rule_set': {'readonly': True}, + 'geo_replication_stats': {'readonly': True}, + 'failover_in_progress': {'readonly': True}, + 'private_endpoint_connections': {'readonly': True}, + 'blob_restore_status': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'location': {'key': 'location', 'type': 'str'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'identity': {'key': 'identity', 'type': 'Identity'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'ProvisioningState'}, + 'primary_endpoints': {'key': 'properties.primaryEndpoints', 'type': 'Endpoints'}, + 'primary_location': {'key': 'properties.primaryLocation', 'type': 'str'}, + 'status_of_primary': {'key': 'properties.statusOfPrimary', 'type': 'AccountStatus'}, + 'last_geo_failover_time': {'key': 'properties.lastGeoFailoverTime', 'type': 'iso-8601'}, + 'secondary_location': {'key': 'properties.secondaryLocation', 'type': 'str'}, + 'status_of_secondary': {'key': 'properties.statusOfSecondary', 'type': 'AccountStatus'}, + 'creation_time': {'key': 'properties.creationTime', 'type': 'iso-8601'}, + 'custom_domain': {'key': 'properties.customDomain', 'type': 'CustomDomain'}, + 'secondary_endpoints': {'key': 'properties.secondaryEndpoints', 'type': 'Endpoints'}, + 'encryption': {'key': 'properties.encryption', 'type': 'Encryption'}, + 'access_tier': {'key': 'properties.accessTier', 'type': 'AccessTier'}, + 'azure_files_identity_based_authentication': {'key': 'properties.azureFilesIdentityBasedAuthentication', 'type': 'AzureFilesIdentityBasedAuthentication'}, + 'enable_https_traffic_only': {'key': 'properties.supportsHttpsTrafficOnly', 'type': 'bool'}, + 'network_rule_set': {'key': 'properties.networkAcls', 'type': 'NetworkRuleSet'}, + 'is_hns_enabled': {'key': 'properties.isHnsEnabled', 'type': 'bool'}, + 'geo_replication_stats': {'key': 'properties.geoReplicationStats', 'type': 'GeoReplicationStats'}, + 'failover_in_progress': {'key': 'properties.failoverInProgress', 'type': 'bool'}, + 'large_file_shares_state': {'key': 'properties.largeFileSharesState', 'type': 'str'}, + 'private_endpoint_connections': {'key': 'properties.privateEndpointConnections', 'type': '[PrivateEndpointConnection]'}, + 'routing_preference': {'key': 'properties.routingPreference', 'type': 'RoutingPreference'}, + 'blob_restore_status': {'key': 'properties.blobRestoreStatus', 'type': 'BlobRestoreStatus'}, + } + + def __init__(self, *, location: str, tags=None, identity=None, azure_files_identity_based_authentication=None, enable_https_traffic_only: bool=None, is_hns_enabled: bool=None, large_file_shares_state=None, routing_preference=None, **kwargs) -> None: + super(StorageAccount, self).__init__(tags=tags, location=location, **kwargs) + self.sku = None + self.kind = None + self.identity = identity + self.provisioning_state = None + self.primary_endpoints = None + self.primary_location = None + self.status_of_primary = None + self.last_geo_failover_time = None + self.secondary_location = None + self.status_of_secondary = None + self.creation_time = None + self.custom_domain = None + self.secondary_endpoints = None + self.encryption = None + self.access_tier = None + self.azure_files_identity_based_authentication = azure_files_identity_based_authentication + self.enable_https_traffic_only = enable_https_traffic_only + self.network_rule_set = None + self.is_hns_enabled = is_hns_enabled + self.geo_replication_stats = None + self.failover_in_progress = None + self.large_file_shares_state = large_file_shares_state + self.private_endpoint_connections = None + self.routing_preference = routing_preference + self.blob_restore_status = None + + +class StorageAccountCheckNameAvailabilityParameters(Model): + """The parameters used to check the availability of the storage account name. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. The storage account name. + :type name: str + :ivar type: Required. The type of resource, + Microsoft.Storage/storageAccounts. Default value: + "Microsoft.Storage/storageAccounts" . + :vartype type: str + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True, 'constant': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + type = "Microsoft.Storage/storageAccounts" + + def __init__(self, *, name: str, **kwargs) -> None: + super(StorageAccountCheckNameAvailabilityParameters, self).__init__(**kwargs) + self.name = name + + +class StorageAccountCreateParameters(Model): + """The parameters used when creating a storage account. + + All required parameters must be populated in order to send to Azure. + + :param sku: Required. Required. Gets or sets the SKU name. + :type sku: ~azure.mgmt.storage.v2019_06_01.models.Sku + :param kind: Required. Required. Indicates the type of storage account. + Possible values include: 'Storage', 'StorageV2', 'BlobStorage', + 'FileStorage', 'BlockBlobStorage' + :type kind: str or ~azure.mgmt.storage.v2019_06_01.models.Kind + :param location: Required. Required. Gets or sets the location of the + resource. This will be one of the supported and registered Azure Geo + Regions (e.g. West US, East US, Southeast Asia, etc.). The geo region of a + resource cannot be changed once it is created, but if an identical geo + region is specified on update, the request will succeed. + :type location: str + :param tags: Gets or sets a list of key value pairs that describe the + resource. These tags can be used for viewing and grouping this resource + (across resource groups). A maximum of 15 tags can be provided for a + resource. Each tag must have a key with a length no greater than 128 + characters and a value with a length no greater than 256 characters. + :type tags: dict[str, str] + :param identity: The identity of the resource. + :type identity: ~azure.mgmt.storage.v2019_06_01.models.Identity + :param custom_domain: User domain assigned to the storage account. Name is + the CNAME source. Only one custom domain is supported per storage account + at this time. To clear the existing custom domain, use an empty string for + the custom domain name property. + :type custom_domain: ~azure.mgmt.storage.v2019_06_01.models.CustomDomain + :param encryption: Not applicable. Azure Storage encryption is enabled for + all storage accounts and cannot be disabled. + :type encryption: ~azure.mgmt.storage.v2019_06_01.models.Encryption + :param network_rule_set: Network rule set + :type network_rule_set: + ~azure.mgmt.storage.v2019_06_01.models.NetworkRuleSet + :param access_tier: Required for storage accounts where kind = + BlobStorage. The access tier used for billing. Possible values include: + 'Hot', 'Cool' + :type access_tier: str or + ~azure.mgmt.storage.v2019_06_01.models.AccessTier + :param azure_files_identity_based_authentication: Provides the identity + based authentication settings for Azure Files. + :type azure_files_identity_based_authentication: + ~azure.mgmt.storage.v2019_06_01.models.AzureFilesIdentityBasedAuthentication + :param enable_https_traffic_only: Allows https traffic only to storage + service if sets to true. The default value is true since API version + 2019-04-01. + :type enable_https_traffic_only: bool + :param is_hns_enabled: Account HierarchicalNamespace enabled if sets to + true. + :type is_hns_enabled: bool + :param large_file_shares_state: Allow large file shares if sets to + Enabled. It cannot be disabled once it is enabled. Possible values + include: 'Disabled', 'Enabled' + :type large_file_shares_state: str or + ~azure.mgmt.storage.v2019_06_01.models.LargeFileSharesState + :param routing_preference: Maintains information about the network routing + choice opted by the user for data transfer + :type routing_preference: + ~azure.mgmt.storage.v2019_06_01.models.RoutingPreference + """ + + _validation = { + 'sku': {'required': True}, + 'kind': {'required': True}, + 'location': {'required': True}, + } + + _attribute_map = { + 'sku': {'key': 'sku', 'type': 'Sku'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'identity': {'key': 'identity', 'type': 'Identity'}, + 'custom_domain': {'key': 'properties.customDomain', 'type': 'CustomDomain'}, + 'encryption': {'key': 'properties.encryption', 'type': 'Encryption'}, + 'network_rule_set': {'key': 'properties.networkAcls', 'type': 'NetworkRuleSet'}, + 'access_tier': {'key': 'properties.accessTier', 'type': 'AccessTier'}, + 'azure_files_identity_based_authentication': {'key': 'properties.azureFilesIdentityBasedAuthentication', 'type': 'AzureFilesIdentityBasedAuthentication'}, + 'enable_https_traffic_only': {'key': 'properties.supportsHttpsTrafficOnly', 'type': 'bool'}, + 'is_hns_enabled': {'key': 'properties.isHnsEnabled', 'type': 'bool'}, + 'large_file_shares_state': {'key': 'properties.largeFileSharesState', 'type': 'str'}, + 'routing_preference': {'key': 'properties.routingPreference', 'type': 'RoutingPreference'}, + } + + def __init__(self, *, sku, kind, location: str, tags=None, identity=None, custom_domain=None, encryption=None, network_rule_set=None, access_tier=None, azure_files_identity_based_authentication=None, enable_https_traffic_only: bool=None, is_hns_enabled: bool=None, large_file_shares_state=None, routing_preference=None, **kwargs) -> None: + super(StorageAccountCreateParameters, self).__init__(**kwargs) + self.sku = sku + self.kind = kind + self.location = location + self.tags = tags + self.identity = identity + self.custom_domain = custom_domain + self.encryption = encryption + self.network_rule_set = network_rule_set + self.access_tier = access_tier + self.azure_files_identity_based_authentication = azure_files_identity_based_authentication + self.enable_https_traffic_only = enable_https_traffic_only + self.is_hns_enabled = is_hns_enabled + self.large_file_shares_state = large_file_shares_state + self.routing_preference = routing_preference + + +class StorageAccountInternetEndpoints(Model): + """The URIs that are used to perform a retrieval of a public blob, file, web + or dfs object via a internet routing endpoint. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar blob: Gets the blob endpoint. + :vartype blob: str + :ivar file: Gets the file endpoint. + :vartype file: str + :ivar web: Gets the web endpoint. + :vartype web: str + :ivar dfs: Gets the dfs endpoint. + :vartype dfs: str + """ + + _validation = { + 'blob': {'readonly': True}, + 'file': {'readonly': True}, + 'web': {'readonly': True}, + 'dfs': {'readonly': True}, + } + + _attribute_map = { + 'blob': {'key': 'blob', 'type': 'str'}, + 'file': {'key': 'file', 'type': 'str'}, + 'web': {'key': 'web', 'type': 'str'}, + 'dfs': {'key': 'dfs', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(StorageAccountInternetEndpoints, self).__init__(**kwargs) + self.blob = None + self.file = None + self.web = None + self.dfs = None + + +class StorageAccountKey(Model): + """An access key for the storage account. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar key_name: Name of the key. + :vartype key_name: str + :ivar value: Base 64-encoded value of the key. + :vartype value: str + :ivar permissions: Permissions for the key -- read-only or full + permissions. Possible values include: 'Read', 'Full' + :vartype permissions: str or + ~azure.mgmt.storage.v2019_06_01.models.KeyPermission + """ + + _validation = { + 'key_name': {'readonly': True}, + 'value': {'readonly': True}, + 'permissions': {'readonly': True}, + } + + _attribute_map = { + 'key_name': {'key': 'keyName', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + 'permissions': {'key': 'permissions', 'type': 'KeyPermission'}, + } + + def __init__(self, **kwargs) -> None: + super(StorageAccountKey, self).__init__(**kwargs) + self.key_name = None + self.value = None + self.permissions = None + + +class StorageAccountListKeysResult(Model): + """The response from the ListKeys operation. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar keys: Gets the list of storage account keys and their properties for + the specified storage account. + :vartype keys: + list[~azure.mgmt.storage.v2019_06_01.models.StorageAccountKey] + """ + + _validation = { + 'keys': {'readonly': True}, + } + + _attribute_map = { + 'keys': {'key': 'keys', 'type': '[StorageAccountKey]'}, + } + + def __init__(self, **kwargs) -> None: + super(StorageAccountListKeysResult, self).__init__(**kwargs) + self.keys = None + + +class StorageAccountMicrosoftEndpoints(Model): + """The URIs that are used to perform a retrieval of a public blob, queue, + table, web or dfs object via a microsoft routing endpoint. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar blob: Gets the blob endpoint. + :vartype blob: str + :ivar queue: Gets the queue endpoint. + :vartype queue: str + :ivar table: Gets the table endpoint. + :vartype table: str + :ivar file: Gets the file endpoint. + :vartype file: str + :ivar web: Gets the web endpoint. + :vartype web: str + :ivar dfs: Gets the dfs endpoint. + :vartype dfs: str + """ + + _validation = { + 'blob': {'readonly': True}, + 'queue': {'readonly': True}, + 'table': {'readonly': True}, + 'file': {'readonly': True}, + 'web': {'readonly': True}, + 'dfs': {'readonly': True}, + } + + _attribute_map = { + 'blob': {'key': 'blob', 'type': 'str'}, + 'queue': {'key': 'queue', 'type': 'str'}, + 'table': {'key': 'table', 'type': 'str'}, + 'file': {'key': 'file', 'type': 'str'}, + 'web': {'key': 'web', 'type': 'str'}, + 'dfs': {'key': 'dfs', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(StorageAccountMicrosoftEndpoints, self).__init__(**kwargs) + self.blob = None + self.queue = None + self.table = None + self.file = None + self.web = None + self.dfs = None + + +class StorageAccountRegenerateKeyParameters(Model): + """The parameters used to regenerate the storage account key. + + All required parameters must be populated in order to send to Azure. + + :param key_name: Required. The name of storage keys that want to be + regenerated, possible values are key1, key2, kerb1, kerb2. + :type key_name: str + """ + + _validation = { + 'key_name': {'required': True}, + } + + _attribute_map = { + 'key_name': {'key': 'keyName', 'type': 'str'}, + } + + def __init__(self, *, key_name: str, **kwargs) -> None: + super(StorageAccountRegenerateKeyParameters, self).__init__(**kwargs) + self.key_name = key_name + + +class StorageAccountUpdateParameters(Model): + """The parameters that can be provided when updating the storage account + properties. + + :param sku: Gets or sets the SKU name. Note that the SKU name cannot be + updated to Standard_ZRS, Premium_LRS or Premium_ZRS, nor can accounts of + those SKU names be updated to any other value. + :type sku: ~azure.mgmt.storage.v2019_06_01.models.Sku + :param tags: Gets or sets a list of key value pairs that describe the + resource. These tags can be used in viewing and grouping this resource + (across resource groups). A maximum of 15 tags can be provided for a + resource. Each tag must have a key no greater in length than 128 + characters and a value no greater in length than 256 characters. + :type tags: dict[str, str] + :param identity: The identity of the resource. + :type identity: ~azure.mgmt.storage.v2019_06_01.models.Identity + :param custom_domain: Custom domain assigned to the storage account by the + user. Name is the CNAME source. Only one custom domain is supported per + storage account at this time. To clear the existing custom domain, use an + empty string for the custom domain name property. + :type custom_domain: ~azure.mgmt.storage.v2019_06_01.models.CustomDomain + :param encryption: Provides the encryption settings on the account. The + default setting is unencrypted. + :type encryption: ~azure.mgmt.storage.v2019_06_01.models.Encryption + :param access_tier: Required for storage accounts where kind = + BlobStorage. The access tier used for billing. Possible values include: + 'Hot', 'Cool' + :type access_tier: str or + ~azure.mgmt.storage.v2019_06_01.models.AccessTier + :param azure_files_identity_based_authentication: Provides the identity + based authentication settings for Azure Files. + :type azure_files_identity_based_authentication: + ~azure.mgmt.storage.v2019_06_01.models.AzureFilesIdentityBasedAuthentication + :param enable_https_traffic_only: Allows https traffic only to storage + service if sets to true. + :type enable_https_traffic_only: bool + :param network_rule_set: Network rule set + :type network_rule_set: + ~azure.mgmt.storage.v2019_06_01.models.NetworkRuleSet + :param large_file_shares_state: Allow large file shares if sets to + Enabled. It cannot be disabled once it is enabled. Possible values + include: 'Disabled', 'Enabled' + :type large_file_shares_state: str or + ~azure.mgmt.storage.v2019_06_01.models.LargeFileSharesState + :param routing_preference: Maintains information about the network routing + choice opted by the user for data transfer + :type routing_preference: + ~azure.mgmt.storage.v2019_06_01.models.RoutingPreference + :param kind: Optional. Indicates the type of storage account. Currently + only StorageV2 value supported by server. Possible values include: + 'Storage', 'StorageV2', 'BlobStorage', 'FileStorage', 'BlockBlobStorage' + :type kind: str or ~azure.mgmt.storage.v2019_06_01.models.Kind + """ + + _attribute_map = { + 'sku': {'key': 'sku', 'type': 'Sku'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'identity': {'key': 'identity', 'type': 'Identity'}, + 'custom_domain': {'key': 'properties.customDomain', 'type': 'CustomDomain'}, + 'encryption': {'key': 'properties.encryption', 'type': 'Encryption'}, + 'access_tier': {'key': 'properties.accessTier', 'type': 'AccessTier'}, + 'azure_files_identity_based_authentication': {'key': 'properties.azureFilesIdentityBasedAuthentication', 'type': 'AzureFilesIdentityBasedAuthentication'}, + 'enable_https_traffic_only': {'key': 'properties.supportsHttpsTrafficOnly', 'type': 'bool'}, + 'network_rule_set': {'key': 'properties.networkAcls', 'type': 'NetworkRuleSet'}, + 'large_file_shares_state': {'key': 'properties.largeFileSharesState', 'type': 'str'}, + 'routing_preference': {'key': 'properties.routingPreference', 'type': 'RoutingPreference'}, + 'kind': {'key': 'kind', 'type': 'str'}, + } + + def __init__(self, *, sku=None, tags=None, identity=None, custom_domain=None, encryption=None, access_tier=None, azure_files_identity_based_authentication=None, enable_https_traffic_only: bool=None, network_rule_set=None, large_file_shares_state=None, routing_preference=None, kind=None, **kwargs) -> None: + super(StorageAccountUpdateParameters, self).__init__(**kwargs) + self.sku = sku + self.tags = tags + self.identity = identity + self.custom_domain = custom_domain + self.encryption = encryption + self.access_tier = access_tier + self.azure_files_identity_based_authentication = azure_files_identity_based_authentication + self.enable_https_traffic_only = enable_https_traffic_only + self.network_rule_set = network_rule_set + self.large_file_shares_state = large_file_shares_state + self.routing_preference = routing_preference + self.kind = kind + + +class TagProperty(Model): + """A tag of the LegalHold of a blob container. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar tag: The tag value. + :vartype tag: str + :ivar timestamp: Returns the date and time the tag was added. + :vartype timestamp: datetime + :ivar object_identifier: Returns the Object ID of the user who added the + tag. + :vartype object_identifier: str + :ivar tenant_id: Returns the Tenant ID that issued the token for the user + who added the tag. + :vartype tenant_id: str + :ivar upn: Returns the User Principal Name of the user who added the tag. + :vartype upn: str + """ + + _validation = { + 'tag': {'readonly': True}, + 'timestamp': {'readonly': True}, + 'object_identifier': {'readonly': True}, + 'tenant_id': {'readonly': True}, + 'upn': {'readonly': True}, + } + + _attribute_map = { + 'tag': {'key': 'tag', 'type': 'str'}, + 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, + 'object_identifier': {'key': 'objectIdentifier', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'upn': {'key': 'upn', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(TagProperty, self).__init__(**kwargs) + self.tag = None + self.timestamp = None + self.object_identifier = None + self.tenant_id = None + self.upn = None + + +class UpdateHistoryProperty(Model): + """An update history of the ImmutabilityPolicy of a blob container. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar update: The ImmutabilityPolicy update type of a blob container, + possible values include: put, lock and extend. Possible values include: + 'put', 'lock', 'extend' + :vartype update: str or + ~azure.mgmt.storage.v2019_06_01.models.ImmutabilityPolicyUpdateType + :ivar immutability_period_since_creation_in_days: The immutability period + for the blobs in the container since the policy creation, in days. + :vartype immutability_period_since_creation_in_days: int + :ivar timestamp: Returns the date and time the ImmutabilityPolicy was + updated. + :vartype timestamp: datetime + :ivar object_identifier: Returns the Object ID of the user who updated the + ImmutabilityPolicy. + :vartype object_identifier: str + :ivar tenant_id: Returns the Tenant ID that issued the token for the user + who updated the ImmutabilityPolicy. + :vartype tenant_id: str + :ivar upn: Returns the User Principal Name of the user who updated the + ImmutabilityPolicy. + :vartype upn: str + """ + + _validation = { + 'update': {'readonly': True}, + 'immutability_period_since_creation_in_days': {'readonly': True}, + 'timestamp': {'readonly': True}, + 'object_identifier': {'readonly': True}, + 'tenant_id': {'readonly': True}, + 'upn': {'readonly': True}, + } + + _attribute_map = { + 'update': {'key': 'update', 'type': 'str'}, + 'immutability_period_since_creation_in_days': {'key': 'immutabilityPeriodSinceCreationInDays', 'type': 'int'}, + 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, + 'object_identifier': {'key': 'objectIdentifier', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'upn': {'key': 'upn', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(UpdateHistoryProperty, self).__init__(**kwargs) + self.update = None + self.immutability_period_since_creation_in_days = None + self.timestamp = None + self.object_identifier = None + self.tenant_id = None + self.upn = None + + +class Usage(Model): + """Describes Storage Resource Usage. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar unit: Gets the unit of measurement. Possible values include: + 'Count', 'Bytes', 'Seconds', 'Percent', 'CountsPerSecond', + 'BytesPerSecond' + :vartype unit: str or ~azure.mgmt.storage.v2019_06_01.models.UsageUnit + :ivar current_value: Gets the current count of the allocated resources in + the subscription. + :vartype current_value: int + :ivar limit: Gets the maximum count of the resources that can be allocated + in the subscription. + :vartype limit: int + :ivar name: Gets the name of the type of usage. + :vartype name: ~azure.mgmt.storage.v2019_06_01.models.UsageName + """ + + _validation = { + 'unit': {'readonly': True}, + 'current_value': {'readonly': True}, + 'limit': {'readonly': True}, + 'name': {'readonly': True}, + } + + _attribute_map = { + 'unit': {'key': 'unit', 'type': 'UsageUnit'}, + 'current_value': {'key': 'currentValue', 'type': 'int'}, + 'limit': {'key': 'limit', 'type': 'int'}, + 'name': {'key': 'name', 'type': 'UsageName'}, + } + + def __init__(self, **kwargs) -> None: + super(Usage, self).__init__(**kwargs) + self.unit = None + self.current_value = None + self.limit = None + self.name = None + + +class UsageName(Model): + """The usage names that can be used; currently limited to StorageAccount. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar value: Gets a string describing the resource name. + :vartype value: str + :ivar localized_value: Gets a localized string describing the resource + name. + :vartype localized_value: str + """ + + _validation = { + 'value': {'readonly': True}, + 'localized_value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': 'str'}, + 'localized_value': {'key': 'localizedValue', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(UsageName, self).__init__(**kwargs) + self.value = None + self.localized_value = None + + +class VirtualNetworkRule(Model): + """Virtual Network rule. + + All required parameters must be populated in order to send to Azure. + + :param virtual_network_resource_id: Required. Resource ID of a subnet, for + example: + /subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName}. + :type virtual_network_resource_id: str + :param action: The action of virtual network rule. Possible values + include: 'Allow'. Default value: "Allow" . + :type action: str or ~azure.mgmt.storage.v2019_06_01.models.Action + :param state: Gets the state of virtual network rule. Possible values + include: 'provisioning', 'deprovisioning', 'succeeded', 'failed', + 'networkSourceDeleted' + :type state: str or ~azure.mgmt.storage.v2019_06_01.models.State + """ + + _validation = { + 'virtual_network_resource_id': {'required': True}, + } + + _attribute_map = { + 'virtual_network_resource_id': {'key': 'id', 'type': 'str'}, + 'action': {'key': 'action', 'type': 'Action'}, + 'state': {'key': 'state', 'type': 'State'}, + } + + def __init__(self, *, virtual_network_resource_id: str, action="Allow", state=None, **kwargs) -> None: + super(VirtualNetworkRule, self).__init__(**kwargs) + self.virtual_network_resource_id = virtual_network_resource_id + self.action = action + self.state = state diff --git a/src/storage-or-preview/azext_storage_or_preview/vendored_sdks/azure_mgmt_storage/v2019_06_01/models/_paged_models.py b/src/storage-or-preview/azext_storage_or_preview/vendored_sdks/azure_mgmt_storage/v2019_06_01/models/_paged_models.py new file mode 100644 index 00000000000..d82ca88ae5a --- /dev/null +++ b/src/storage-or-preview/azext_storage_or_preview/vendored_sdks/azure_mgmt_storage/v2019_06_01/models/_paged_models.py @@ -0,0 +1,131 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.paging import Paged + + +class OperationPaged(Paged): + """ + A paging container for iterating over a list of :class:`Operation ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[Operation]'} + } + + def __init__(self, *args, **kwargs): + + super(OperationPaged, self).__init__(*args, **kwargs) +class SkuInformationPaged(Paged): + """ + A paging container for iterating over a list of :class:`SkuInformation ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[SkuInformation]'} + } + + def __init__(self, *args, **kwargs): + + super(SkuInformationPaged, self).__init__(*args, **kwargs) +class StorageAccountPaged(Paged): + """ + A paging container for iterating over a list of :class:`StorageAccount ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[StorageAccount]'} + } + + def __init__(self, *args, **kwargs): + + super(StorageAccountPaged, self).__init__(*args, **kwargs) +class UsagePaged(Paged): + """ + A paging container for iterating over a list of :class:`Usage ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[Usage]'} + } + + def __init__(self, *args, **kwargs): + + super(UsagePaged, self).__init__(*args, **kwargs) +class ObjectReplicationPolicyPaged(Paged): + """ + A paging container for iterating over a list of :class:`ObjectReplicationPolicy ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ObjectReplicationPolicy]'} + } + + def __init__(self, *args, **kwargs): + + super(ObjectReplicationPolicyPaged, self).__init__(*args, **kwargs) +class EncryptionScopePaged(Paged): + """ + A paging container for iterating over a list of :class:`EncryptionScope ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[EncryptionScope]'} + } + + def __init__(self, *args, **kwargs): + + super(EncryptionScopePaged, self).__init__(*args, **kwargs) +class BlobServicePropertiesPaged(Paged): + """ + A paging container for iterating over a list of :class:`BlobServiceProperties ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[BlobServiceProperties]'} + } + + def __init__(self, *args, **kwargs): + + super(BlobServicePropertiesPaged, self).__init__(*args, **kwargs) +class ListContainerItemPaged(Paged): + """ + A paging container for iterating over a list of :class:`ListContainerItem ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ListContainerItem]'} + } + + def __init__(self, *args, **kwargs): + + super(ListContainerItemPaged, self).__init__(*args, **kwargs) +class FileShareItemPaged(Paged): + """ + A paging container for iterating over a list of :class:`FileShareItem ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[FileShareItem]'} + } + + def __init__(self, *args, **kwargs): + + super(FileShareItemPaged, self).__init__(*args, **kwargs) diff --git a/src/storage-or-preview/azext_storage_or_preview/vendored_sdks/azure_mgmt_storage/v2019_06_01/models/_storage_management_client_enums.py b/src/storage-or-preview/azext_storage_or_preview/vendored_sdks/azure_mgmt_storage/v2019_06_01/models/_storage_management_client_enums.py new file mode 100644 index 00000000000..19601af72a5 --- /dev/null +++ b/src/storage-or-preview/azext_storage_or_preview/vendored_sdks/azure_mgmt_storage/v2019_06_01/models/_storage_management_client_enums.py @@ -0,0 +1,279 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from enum import Enum + + +class ReasonCode(str, Enum): + + quota_id = "QuotaId" + not_available_for_subscription = "NotAvailableForSubscription" + + +class SkuName(str, Enum): + + standard_lrs = "Standard_LRS" + standard_grs = "Standard_GRS" + standard_ragrs = "Standard_RAGRS" + standard_zrs = "Standard_ZRS" + premium_lrs = "Premium_LRS" + premium_zrs = "Premium_ZRS" + standard_gzrs = "Standard_GZRS" + standard_ragzrs = "Standard_RAGZRS" + + +class SkuTier(str, Enum): + + standard = "Standard" + premium = "Premium" + + +class Kind(str, Enum): + + storage = "Storage" + storage_v2 = "StorageV2" + blob_storage = "BlobStorage" + file_storage = "FileStorage" + block_blob_storage = "BlockBlobStorage" + + +class Reason(str, Enum): + + account_name_invalid = "AccountNameInvalid" + already_exists = "AlreadyExists" + + +class KeyType(str, Enum): + + service = "Service" + account = "Account" + + +class KeySource(str, Enum): + + microsoft_storage = "Microsoft.Storage" + microsoft_keyvault = "Microsoft.Keyvault" + + +class Action(str, Enum): + + allow = "Allow" + + +class State(str, Enum): + + provisioning = "provisioning" + deprovisioning = "deprovisioning" + succeeded = "succeeded" + failed = "failed" + network_source_deleted = "networkSourceDeleted" + + +class Bypass(str, Enum): + + none = "None" + logging = "Logging" + metrics = "Metrics" + azure_services = "AzureServices" + + +class DefaultAction(str, Enum): + + allow = "Allow" + deny = "Deny" + + +class DirectoryServiceOptions(str, Enum): + + none = "None" + aadds = "AADDS" + ad = "AD" + + +class AccessTier(str, Enum): + + hot = "Hot" + cool = "Cool" + + +class LargeFileSharesState(str, Enum): + + disabled = "Disabled" + enabled = "Enabled" + + +class RoutingChoice(str, Enum): + + microsoft_routing = "MicrosoftRouting" + internet_routing = "InternetRouting" + + +class GeoReplicationStatus(str, Enum): + + live = "Live" + bootstrap = "Bootstrap" + unavailable = "Unavailable" + + +class BlobRestoreProgressStatus(str, Enum): + + in_progress = "InProgress" + complete = "Complete" + failed = "Failed" + + +class ProvisioningState(str, Enum): + + creating = "Creating" + resolving_dns = "ResolvingDNS" + succeeded = "Succeeded" + + +class AccountStatus(str, Enum): + + available = "available" + unavailable = "unavailable" + + +class PrivateEndpointServiceConnectionStatus(str, Enum): + + pending = "Pending" + approved = "Approved" + rejected = "Rejected" + + +class PrivateEndpointConnectionProvisioningState(str, Enum): + + succeeded = "Succeeded" + creating = "Creating" + deleting = "Deleting" + failed = "Failed" + + +class KeyPermission(str, Enum): + + read = "Read" + full = "Full" + + +class UsageUnit(str, Enum): + + count = "Count" + bytes = "Bytes" + seconds = "Seconds" + percent = "Percent" + counts_per_second = "CountsPerSecond" + bytes_per_second = "BytesPerSecond" + + +class Services(str, Enum): + + b = "b" + q = "q" + t = "t" + f = "f" + + +class SignedResourceTypes(str, Enum): + + s = "s" + c = "c" + o = "o" + + +class Permissions(str, Enum): + + r = "r" + d = "d" + w = "w" + l = "l" + a = "a" + c = "c" + u = "u" + p = "p" + + +class HttpProtocol(str, Enum): + + httpshttp = "https,http" + https = "https" + + +class SignedResource(str, Enum): + + b = "b" + c = "c" + f = "f" + s = "s" + + +class EncryptionScopeSource(str, Enum): + + microsoft_storage = "Microsoft.Storage" + microsoft_key_vault = "Microsoft.KeyVault" + + +class EncryptionScopeState(str, Enum): + + enabled = "Enabled" + disabled = "Disabled" + + +class PublicAccess(str, Enum): + + container = "Container" + blob = "Blob" + none = "None" + + +class LeaseStatus(str, Enum): + + locked = "Locked" + unlocked = "Unlocked" + + +class LeaseState(str, Enum): + + available = "Available" + leased = "Leased" + expired = "Expired" + breaking = "Breaking" + broken = "Broken" + + +class LeaseDuration(str, Enum): + + infinite = "Infinite" + fixed = "Fixed" + + +class ImmutabilityPolicyState(str, Enum): + + locked = "Locked" + unlocked = "Unlocked" + + +class ImmutabilityPolicyUpdateType(str, Enum): + + put = "put" + lock = "lock" + extend = "extend" + + +class StorageAccountExpand(str, Enum): + + geo_replication_stats = "geoReplicationStats" + blob_restore_status = "blobRestoreStatus" + + +class ListKeyExpand(str, Enum): + + kerb = "kerb" diff --git a/src/storage-or-preview/azext_storage_or_preview/vendored_sdks/azure_mgmt_storage/v2019_06_01/operations/__init__.py b/src/storage-or-preview/azext_storage_or_preview/vendored_sdks/azure_mgmt_storage/v2019_06_01/operations/__init__.py new file mode 100644 index 00000000000..e0f83184844 --- /dev/null +++ b/src/storage-or-preview/azext_storage_or_preview/vendored_sdks/azure_mgmt_storage/v2019_06_01/operations/__init__.py @@ -0,0 +1,40 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from ._operations import Operations +from ._skus_operations import SkusOperations +from ._storage_accounts_operations import StorageAccountsOperations +from ._usages_operations import UsagesOperations +from ._management_policies_operations import ManagementPoliciesOperations +from ._private_endpoint_connections_operations import PrivateEndpointConnectionsOperations +from ._private_link_resources_operations import PrivateLinkResourcesOperations +from ._object_replication_policies_operations import ObjectReplicationPoliciesOperations +from ._encryption_scopes_operations import EncryptionScopesOperations +from ._blob_services_operations import BlobServicesOperations +from ._blob_containers_operations import BlobContainersOperations +from ._file_services_operations import FileServicesOperations +from ._file_shares_operations import FileSharesOperations + +__all__ = [ + 'Operations', + 'SkusOperations', + 'StorageAccountsOperations', + 'UsagesOperations', + 'ManagementPoliciesOperations', + 'PrivateEndpointConnectionsOperations', + 'PrivateLinkResourcesOperations', + 'ObjectReplicationPoliciesOperations', + 'EncryptionScopesOperations', + 'BlobServicesOperations', + 'BlobContainersOperations', + 'FileServicesOperations', + 'FileSharesOperations', +] diff --git a/src/storage-or-preview/azext_storage_or_preview/vendored_sdks/azure_mgmt_storage/v2019_06_01/operations/_blob_containers_operations.py b/src/storage-or-preview/azext_storage_or_preview/vendored_sdks/azure_mgmt_storage/v2019_06_01/operations/_blob_containers_operations.py new file mode 100644 index 00000000000..f074275eef8 --- /dev/null +++ b/src/storage-or-preview/azext_storage_or_preview/vendored_sdks/azure_mgmt_storage/v2019_06_01/operations/_blob_containers_operations.py @@ -0,0 +1,1155 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class BlobContainersOperations(object): + """BlobContainersOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2019-06-01". + :ivar immutability_policy_name: The name of the blob container immutabilityPolicy within the specified storage account. ImmutabilityPolicy Name must be 'default'. Constant value: "default". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2019-06-01" + self.immutability_policy_name = "default" + + self.config = config + + def list( + self, resource_group_name, account_name, maxpagesize=None, filter=None, custom_headers=None, raw=False, **operation_config): + """Lists all containers and does not support a prefix like data plane. + Also SRP today does not return continuation token. + + :param resource_group_name: The name of the resource group within the + user's subscription. The name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the + specified resource group. Storage account names must be between 3 and + 24 characters in length and use numbers and lower-case letters only. + :type account_name: str + :param maxpagesize: Optional. Specified maximum number of containers + that can be included in the list. + :type maxpagesize: str + :param filter: Optional. When specified, only container names starting + with the filter will be listed. + :type filter: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of ListContainerItem + :rtype: + ~azure.mgmt.storage.v2019_06_01.models.ListContainerItemPaged[~azure.mgmt.storage.v2019_06_01.models.ListContainerItem] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + if maxpagesize is not None: + query_parameters['$maxpagesize'] = self._serialize.query("maxpagesize", maxpagesize, 'str') + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.ListContainerItemPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers'} + + def create( + self, resource_group_name, account_name, container_name, public_access=None, metadata=None, custom_headers=None, raw=False, **operation_config): + """Creates a new container under the specified account as described by + request body. The container resource includes metadata and properties + for that container. It does not include a list of the blobs contained + by the container. . + + :param resource_group_name: The name of the resource group within the + user's subscription. The name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the + specified resource group. Storage account names must be between 3 and + 24 characters in length and use numbers and lower-case letters only. + :type account_name: str + :param container_name: The name of the blob container within the + specified storage account. Blob container names must be between 3 and + 63 characters in length and use numbers, lower-case letters and dash + (-) only. Every dash (-) character must be immediately preceded and + followed by a letter or number. + :type container_name: str + :param public_access: Specifies whether data in the container may be + accessed publicly and the level of access. Possible values include: + 'Container', 'Blob', 'None' + :type public_access: str or + ~azure.mgmt.storage.v2019_06_01.models.PublicAccess + :param metadata: A name-value pair to associate with the container as + metadata. + :type metadata: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: BlobContainer or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.storage.v2019_06_01.models.BlobContainer or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + blob_container = models.BlobContainer(public_access=public_access, metadata=metadata) + + # Construct URL + url = self.create.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), + 'containerName': self._serialize.url("container_name", container_name, 'str', max_length=63, min_length=3), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(blob_container, 'BlobContainer') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('BlobContainer', response) + if response.status_code == 201: + deserialized = self._deserialize('BlobContainer', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}'} + + def update( + self, resource_group_name, account_name, container_name, public_access=None, metadata=None, custom_headers=None, raw=False, **operation_config): + """Updates container properties as specified in request body. Properties + not mentioned in the request will be unchanged. Update fails if the + specified container doesn't already exist. . + + :param resource_group_name: The name of the resource group within the + user's subscription. The name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the + specified resource group. Storage account names must be between 3 and + 24 characters in length and use numbers and lower-case letters only. + :type account_name: str + :param container_name: The name of the blob container within the + specified storage account. Blob container names must be between 3 and + 63 characters in length and use numbers, lower-case letters and dash + (-) only. Every dash (-) character must be immediately preceded and + followed by a letter or number. + :type container_name: str + :param public_access: Specifies whether data in the container may be + accessed publicly and the level of access. Possible values include: + 'Container', 'Blob', 'None' + :type public_access: str or + ~azure.mgmt.storage.v2019_06_01.models.PublicAccess + :param metadata: A name-value pair to associate with the container as + metadata. + :type metadata: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: BlobContainer or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.storage.v2019_06_01.models.BlobContainer or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + blob_container = models.BlobContainer(public_access=public_access, metadata=metadata) + + # Construct URL + url = self.update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), + 'containerName': self._serialize.url("container_name", container_name, 'str', max_length=63, min_length=3), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(blob_container, 'BlobContainer') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('BlobContainer', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}'} + + def get( + self, resource_group_name, account_name, container_name, custom_headers=None, raw=False, **operation_config): + """Gets properties of a specified container. . + + :param resource_group_name: The name of the resource group within the + user's subscription. The name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the + specified resource group. Storage account names must be between 3 and + 24 characters in length and use numbers and lower-case letters only. + :type account_name: str + :param container_name: The name of the blob container within the + specified storage account. Blob container names must be between 3 and + 63 characters in length and use numbers, lower-case letters and dash + (-) only. Every dash (-) character must be immediately preceded and + followed by a letter or number. + :type container_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: BlobContainer or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.storage.v2019_06_01.models.BlobContainer or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), + 'containerName': self._serialize.url("container_name", container_name, 'str', max_length=63, min_length=3), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('BlobContainer', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}'} + + def delete( + self, resource_group_name, account_name, container_name, custom_headers=None, raw=False, **operation_config): + """Deletes specified container under its account. + + :param resource_group_name: The name of the resource group within the + user's subscription. The name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the + specified resource group. Storage account names must be between 3 and + 24 characters in length and use numbers and lower-case letters only. + :type account_name: str + :param container_name: The name of the blob container within the + specified storage account. Blob container names must be between 3 and + 63 characters in length and use numbers, lower-case letters and dash + (-) only. Every dash (-) character must be immediately preceded and + followed by a letter or number. + :type container_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), + 'containerName': self._serialize.url("container_name", container_name, 'str', max_length=63, min_length=3), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}'} + + def set_legal_hold( + self, resource_group_name, account_name, container_name, tags, custom_headers=None, raw=False, **operation_config): + """Sets legal hold tags. Setting the same tag results in an idempotent + operation. SetLegalHold follows an append pattern and does not clear + out the existing tags that are not specified in the request. + + :param resource_group_name: The name of the resource group within the + user's subscription. The name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the + specified resource group. Storage account names must be between 3 and + 24 characters in length and use numbers and lower-case letters only. + :type account_name: str + :param container_name: The name of the blob container within the + specified storage account. Blob container names must be between 3 and + 63 characters in length and use numbers, lower-case letters and dash + (-) only. Every dash (-) character must be immediately preceded and + followed by a letter or number. + :type container_name: str + :param tags: Each tag should be 3 to 23 alphanumeric characters and is + normalized to lower case at SRP. + :type tags: list[str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: LegalHold or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.storage.v2019_06_01.models.LegalHold or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + legal_hold = models.LegalHold(tags=tags) + + # Construct URL + url = self.set_legal_hold.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), + 'containerName': self._serialize.url("container_name", container_name, 'str', max_length=63, min_length=3), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(legal_hold, 'LegalHold') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('LegalHold', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + set_legal_hold.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/setLegalHold'} + + def clear_legal_hold( + self, resource_group_name, account_name, container_name, tags, custom_headers=None, raw=False, **operation_config): + """Clears legal hold tags. Clearing the same or non-existent tag results + in an idempotent operation. ClearLegalHold clears out only the + specified tags in the request. + + :param resource_group_name: The name of the resource group within the + user's subscription. The name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the + specified resource group. Storage account names must be between 3 and + 24 characters in length and use numbers and lower-case letters only. + :type account_name: str + :param container_name: The name of the blob container within the + specified storage account. Blob container names must be between 3 and + 63 characters in length and use numbers, lower-case letters and dash + (-) only. Every dash (-) character must be immediately preceded and + followed by a letter or number. + :type container_name: str + :param tags: Each tag should be 3 to 23 alphanumeric characters and is + normalized to lower case at SRP. + :type tags: list[str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: LegalHold or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.storage.v2019_06_01.models.LegalHold or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + legal_hold = models.LegalHold(tags=tags) + + # Construct URL + url = self.clear_legal_hold.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), + 'containerName': self._serialize.url("container_name", container_name, 'str', max_length=63, min_length=3), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(legal_hold, 'LegalHold') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('LegalHold', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + clear_legal_hold.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/clearLegalHold'} + + def create_or_update_immutability_policy( + self, resource_group_name, account_name, container_name, if_match=None, immutability_period_since_creation_in_days=None, allow_protected_append_writes=None, custom_headers=None, raw=False, **operation_config): + """Creates or updates an unlocked immutability policy. ETag in If-Match is + honored if given but not required for this operation. + + :param resource_group_name: The name of the resource group within the + user's subscription. The name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the + specified resource group. Storage account names must be between 3 and + 24 characters in length and use numbers and lower-case letters only. + :type account_name: str + :param container_name: The name of the blob container within the + specified storage account. Blob container names must be between 3 and + 63 characters in length and use numbers, lower-case letters and dash + (-) only. Every dash (-) character must be immediately preceded and + followed by a letter or number. + :type container_name: str + :param if_match: The entity state (ETag) version of the immutability + policy to update. A value of "*" can be used to apply the operation + only if the immutability policy already exists. If omitted, this + operation will always be applied. + :type if_match: str + :param immutability_period_since_creation_in_days: The immutability + period for the blobs in the container since the policy creation, in + days. + :type immutability_period_since_creation_in_days: int + :param allow_protected_append_writes: This property can only be + changed for unlocked time-based retention policies. When enabled, new + blocks can be written to an append blob while maintaining immutability + protection and compliance. Only new blocks can be added and any + existing blocks cannot be modified or deleted. This property cannot be + changed with ExtendImmutabilityPolicy API + :type allow_protected_append_writes: bool + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ImmutabilityPolicy or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.storage.v2019_06_01.models.ImmutabilityPolicy or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + parameters = None + if immutability_period_since_creation_in_days is not None or allow_protected_append_writes is not None: + parameters = models.ImmutabilityPolicy(immutability_period_since_creation_in_days=immutability_period_since_creation_in_days, allow_protected_append_writes=allow_protected_append_writes) + + # Construct URL + url = self.create_or_update_immutability_policy.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), + 'containerName': self._serialize.url("container_name", container_name, 'str', max_length=63, min_length=3), + 'immutabilityPolicyName': self._serialize.url("self.immutability_policy_name", self.immutability_policy_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + 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 + if parameters is not None: + body_content = self._serialize.body(parameters, 'ImmutabilityPolicy') + else: + body_content = None + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + header_dict = {} + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('ImmutabilityPolicy', response) + header_dict = { + 'ETag': 'str', + } + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + client_raw_response.add_headers(header_dict) + return client_raw_response + + return deserialized + create_or_update_immutability_policy.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/immutabilityPolicies/{immutabilityPolicyName}'} + + def get_immutability_policy( + self, resource_group_name, account_name, container_name, if_match=None, custom_headers=None, raw=False, **operation_config): + """Gets the existing immutability policy along with the corresponding ETag + in response headers and body. + + :param resource_group_name: The name of the resource group within the + user's subscription. The name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the + specified resource group. Storage account names must be between 3 and + 24 characters in length and use numbers and lower-case letters only. + :type account_name: str + :param container_name: The name of the blob container within the + specified storage account. Blob container names must be between 3 and + 63 characters in length and use numbers, lower-case letters and dash + (-) only. Every dash (-) character must be immediately preceded and + followed by a letter or number. + :type container_name: str + :param if_match: The entity state (ETag) version of the immutability + policy to update. A value of "*" can be used to apply the operation + only if the immutability policy already exists. If omitted, this + operation will always be applied. + :type if_match: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ImmutabilityPolicy or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.storage.v2019_06_01.models.ImmutabilityPolicy or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_immutability_policy.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), + 'containerName': self._serialize.url("container_name", container_name, 'str', max_length=63, min_length=3), + 'immutabilityPolicyName': self._serialize.url("self.immutability_policy_name", self.immutability_policy_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + header_dict = {} + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('ImmutabilityPolicy', response) + header_dict = { + 'ETag': 'str', + } + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + client_raw_response.add_headers(header_dict) + return client_raw_response + + return deserialized + get_immutability_policy.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/immutabilityPolicies/{immutabilityPolicyName}'} + + def delete_immutability_policy( + self, resource_group_name, account_name, container_name, if_match, custom_headers=None, raw=False, **operation_config): + """Aborts an unlocked immutability policy. The response of delete has + immutabilityPeriodSinceCreationInDays set to 0. ETag in If-Match is + required for this operation. Deleting a locked immutability policy is + not allowed, only way is to delete the container after deleting all + blobs inside the container. + + :param resource_group_name: The name of the resource group within the + user's subscription. The name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the + specified resource group. Storage account names must be between 3 and + 24 characters in length and use numbers and lower-case letters only. + :type account_name: str + :param container_name: The name of the blob container within the + specified storage account. Blob container names must be between 3 and + 63 characters in length and use numbers, lower-case letters and dash + (-) only. Every dash (-) character must be immediately preceded and + followed by a letter or number. + :type container_name: str + :param if_match: The entity state (ETag) version of the immutability + policy to update. A value of "*" can be used to apply the operation + only if the immutability policy already exists. If omitted, this + operation will always be applied. + :type if_match: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ImmutabilityPolicy or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.storage.v2019_06_01.models.ImmutabilityPolicy or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.delete_immutability_policy.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), + 'containerName': self._serialize.url("container_name", container_name, 'str', max_length=63, min_length=3), + 'immutabilityPolicyName': self._serialize.url("self.immutability_policy_name", self.immutability_policy_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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) + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + header_dict = {} + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('ImmutabilityPolicy', response) + header_dict = { + 'ETag': 'str', + } + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + client_raw_response.add_headers(header_dict) + return client_raw_response + + return deserialized + delete_immutability_policy.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/immutabilityPolicies/{immutabilityPolicyName}'} + + def lock_immutability_policy( + self, resource_group_name, account_name, container_name, if_match, custom_headers=None, raw=False, **operation_config): + """Sets the ImmutabilityPolicy to Locked state. The only action allowed on + a Locked policy is ExtendImmutabilityPolicy action. ETag in If-Match is + required for this operation. + + :param resource_group_name: The name of the resource group within the + user's subscription. The name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the + specified resource group. Storage account names must be between 3 and + 24 characters in length and use numbers and lower-case letters only. + :type account_name: str + :param container_name: The name of the blob container within the + specified storage account. Blob container names must be between 3 and + 63 characters in length and use numbers, lower-case letters and dash + (-) only. Every dash (-) character must be immediately preceded and + followed by a letter or number. + :type container_name: str + :param if_match: The entity state (ETag) version of the immutability + policy to update. A value of "*" can be used to apply the operation + only if the immutability policy already exists. If omitted, this + operation will always be applied. + :type if_match: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ImmutabilityPolicy or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.storage.v2019_06_01.models.ImmutabilityPolicy or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.lock_immutability_policy.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), + 'containerName': self._serialize.url("container_name", container_name, 'str', max_length=63, min_length=3), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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) + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + header_dict = {} + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('ImmutabilityPolicy', response) + header_dict = { + 'ETag': 'str', + } + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + client_raw_response.add_headers(header_dict) + return client_raw_response + + return deserialized + lock_immutability_policy.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/immutabilityPolicies/default/lock'} + + def extend_immutability_policy( + self, resource_group_name, account_name, container_name, if_match, immutability_period_since_creation_in_days=None, allow_protected_append_writes=None, custom_headers=None, raw=False, **operation_config): + """Extends the immutabilityPeriodSinceCreationInDays of a locked + immutabilityPolicy. The only action allowed on a Locked policy will be + this action. ETag in If-Match is required for this operation. + + :param resource_group_name: The name of the resource group within the + user's subscription. The name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the + specified resource group. Storage account names must be between 3 and + 24 characters in length and use numbers and lower-case letters only. + :type account_name: str + :param container_name: The name of the blob container within the + specified storage account. Blob container names must be between 3 and + 63 characters in length and use numbers, lower-case letters and dash + (-) only. Every dash (-) character must be immediately preceded and + followed by a letter or number. + :type container_name: str + :param if_match: The entity state (ETag) version of the immutability + policy to update. A value of "*" can be used to apply the operation + only if the immutability policy already exists. If omitted, this + operation will always be applied. + :type if_match: str + :param immutability_period_since_creation_in_days: The immutability + period for the blobs in the container since the policy creation, in + days. + :type immutability_period_since_creation_in_days: int + :param allow_protected_append_writes: This property can only be + changed for unlocked time-based retention policies. When enabled, new + blocks can be written to an append blob while maintaining immutability + protection and compliance. Only new blocks can be added and any + existing blocks cannot be modified or deleted. This property cannot be + changed with ExtendImmutabilityPolicy API + :type allow_protected_append_writes: bool + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ImmutabilityPolicy or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.storage.v2019_06_01.models.ImmutabilityPolicy or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + parameters = None + if immutability_period_since_creation_in_days is not None or allow_protected_append_writes is not None: + parameters = models.ImmutabilityPolicy(immutability_period_since_creation_in_days=immutability_period_since_creation_in_days, allow_protected_append_writes=allow_protected_append_writes) + + # Construct URL + url = self.extend_immutability_policy.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), + 'containerName': self._serialize.url("container_name", container_name, 'str', max_length=63, min_length=3), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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) + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + 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 + if parameters is not None: + body_content = self._serialize.body(parameters, 'ImmutabilityPolicy') + else: + body_content = None + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + header_dict = {} + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('ImmutabilityPolicy', response) + header_dict = { + 'ETag': 'str', + } + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + client_raw_response.add_headers(header_dict) + return client_raw_response + + return deserialized + extend_immutability_policy.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/immutabilityPolicies/default/extend'} + + def lease( + self, resource_group_name, account_name, container_name, parameters=None, custom_headers=None, raw=False, **operation_config): + """The Lease Container operation establishes and manages a lock on a + container for delete operations. The lock duration can be 15 to 60 + seconds, or can be infinite. + + :param resource_group_name: The name of the resource group within the + user's subscription. The name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the + specified resource group. Storage account names must be between 3 and + 24 characters in length and use numbers and lower-case letters only. + :type account_name: str + :param container_name: The name of the blob container within the + specified storage account. Blob container names must be between 3 and + 63 characters in length and use numbers, lower-case letters and dash + (-) only. Every dash (-) character must be immediately preceded and + followed by a letter or number. + :type container_name: str + :param parameters: Lease Container request body. + :type parameters: + ~azure.mgmt.storage.v2019_06_01.models.LeaseContainerRequest + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: LeaseContainerResponse or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.storage.v2019_06_01.models.LeaseContainerResponse + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.lease.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), + 'containerName': self._serialize.url("container_name", container_name, 'str', max_length=63, min_length=3), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 + if parameters is not None: + body_content = self._serialize.body(parameters, 'LeaseContainerRequest') + else: + body_content = None + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('LeaseContainerResponse', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + lease.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/lease'} diff --git a/src/storage-or-preview/azext_storage_or_preview/vendored_sdks/azure_mgmt_storage/v2019_06_01/operations/_blob_services_operations.py b/src/storage-or-preview/azext_storage_or_preview/vendored_sdks/azure_mgmt_storage/v2019_06_01/operations/_blob_services_operations.py new file mode 100644 index 00000000000..2e3af3f0af3 --- /dev/null +++ b/src/storage-or-preview/azext_storage_or_preview/vendored_sdks/azure_mgmt_storage/v2019_06_01/operations/_blob_services_operations.py @@ -0,0 +1,261 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class BlobServicesOperations(object): + """BlobServicesOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2019-06-01". + :ivar blob_services_name: The name of the blob Service within the specified storage account. Blob Service Name must be 'default'. Constant value: "default". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2019-06-01" + self.blob_services_name = "default" + + self.config = config + + def list( + self, resource_group_name, account_name, custom_headers=None, raw=False, **operation_config): + """List blob services of storage account. It returns a collection of one + object named default. + + :param resource_group_name: The name of the resource group within the + user's subscription. The name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the + specified resource group. Storage account names must be between 3 and + 24 characters in length and use numbers and lower-case letters only. + :type account_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of BlobServiceProperties + :rtype: + ~azure.mgmt.storage.v2019_06_01.models.BlobServicePropertiesPaged[~azure.mgmt.storage.v2019_06_01.models.BlobServiceProperties] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.BlobServicePropertiesPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices'} + + def set_service_properties( + self, resource_group_name, account_name, parameters, custom_headers=None, raw=False, **operation_config): + """Sets the properties of a storage account’s Blob service, including + properties for Storage Analytics and CORS (Cross-Origin Resource + Sharing) rules. . + + :param resource_group_name: The name of the resource group within the + user's subscription. The name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the + specified resource group. Storage account names must be between 3 and + 24 characters in length and use numbers and lower-case letters only. + :type account_name: str + :param parameters: The properties of a storage account’s Blob service, + including properties for Storage Analytics and CORS (Cross-Origin + Resource Sharing) rules. + :type parameters: + ~azure.mgmt.storage.v2019_06_01.models.BlobServiceProperties + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: BlobServiceProperties or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.storage.v2019_06_01.models.BlobServiceProperties + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.set_service_properties.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'BlobServicesName': self._serialize.url("self.blob_services_name", self.blob_services_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'BlobServiceProperties') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('BlobServiceProperties', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + set_service_properties.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/{BlobServicesName}'} + + def get_service_properties( + self, resource_group_name, account_name, custom_headers=None, raw=False, **operation_config): + """Gets the properties of a storage account’s Blob service, including + properties for Storage Analytics and CORS (Cross-Origin Resource + Sharing) rules. + + :param resource_group_name: The name of the resource group within the + user's subscription. The name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the + specified resource group. Storage account names must be between 3 and + 24 characters in length and use numbers and lower-case letters only. + :type account_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: BlobServiceProperties or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.storage.v2019_06_01.models.BlobServiceProperties + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_service_properties.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'BlobServicesName': self._serialize.url("self.blob_services_name", self.blob_services_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('BlobServiceProperties', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_service_properties.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/{BlobServicesName}'} diff --git a/src/storage-or-preview/azext_storage_or_preview/vendored_sdks/azure_mgmt_storage/v2019_06_01/operations/_encryption_scopes_operations.py b/src/storage-or-preview/azext_storage_or_preview/vendored_sdks/azure_mgmt_storage/v2019_06_01/operations/_encryption_scopes_operations.py new file mode 100644 index 00000000000..e469ccf7968 --- /dev/null +++ b/src/storage-or-preview/azext_storage_or_preview/vendored_sdks/azure_mgmt_storage/v2019_06_01/operations/_encryption_scopes_operations.py @@ -0,0 +1,348 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class EncryptionScopesOperations(object): + """EncryptionScopesOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2019-06-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2019-06-01" + + self.config = config + + def put( + self, resource_group_name, account_name, encryption_scope_name, encryption_scope, custom_headers=None, raw=False, **operation_config): + """Synchronously creates or updates an encryption scope under the + specified storage account. If an encryption scope is already created + and a subsequent request is issued with different properties, the + encryption scope properties will be updated per the specified request. + + :param resource_group_name: The name of the resource group within the + user's subscription. The name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the + specified resource group. Storage account names must be between 3 and + 24 characters in length and use numbers and lower-case letters only. + :type account_name: str + :param encryption_scope_name: The name of the encryption scope within + the specified storage account. Encryption scope names must be between + 3 and 63 characters in length and use numbers, lower-case letters and + dash (-) only. Every dash (-) character must be immediately preceded + and followed by a letter or number. + :type encryption_scope_name: str + :param encryption_scope: Encryption scope properties to be used for + the create or update. + :type encryption_scope: + ~azure.mgmt.storage.v2019_06_01.models.EncryptionScope + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: EncryptionScope or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.storage.v2019_06_01.models.EncryptionScope or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.put.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'encryptionScopeName': self._serialize.url("encryption_scope_name", encryption_scope_name, 'str', max_length=63, min_length=3) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(encryption_scope, 'EncryptionScope') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('EncryptionScope', response) + if response.status_code == 201: + deserialized = self._deserialize('EncryptionScope', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + put.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/encryptionScopes/{encryptionScopeName}'} + + def patch( + self, resource_group_name, account_name, encryption_scope_name, encryption_scope, custom_headers=None, raw=False, **operation_config): + """Update encryption scope properties as specified in the request body. + Update fails if the specified encryption scope does not already exist. + + :param resource_group_name: The name of the resource group within the + user's subscription. The name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the + specified resource group. Storage account names must be between 3 and + 24 characters in length and use numbers and lower-case letters only. + :type account_name: str + :param encryption_scope_name: The name of the encryption scope within + the specified storage account. Encryption scope names must be between + 3 and 63 characters in length and use numbers, lower-case letters and + dash (-) only. Every dash (-) character must be immediately preceded + and followed by a letter or number. + :type encryption_scope_name: str + :param encryption_scope: Encryption scope properties to be used for + the update. + :type encryption_scope: + ~azure.mgmt.storage.v2019_06_01.models.EncryptionScope + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: EncryptionScope or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.storage.v2019_06_01.models.EncryptionScope or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.patch.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'encryptionScopeName': self._serialize.url("encryption_scope_name", encryption_scope_name, 'str', max_length=63, min_length=3) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(encryption_scope, 'EncryptionScope') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('EncryptionScope', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + patch.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/encryptionScopes/{encryptionScopeName}'} + + def get( + self, resource_group_name, account_name, encryption_scope_name, custom_headers=None, raw=False, **operation_config): + """Returns the properties for the specified encryption scope. + + :param resource_group_name: The name of the resource group within the + user's subscription. The name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the + specified resource group. Storage account names must be between 3 and + 24 characters in length and use numbers and lower-case letters only. + :type account_name: str + :param encryption_scope_name: The name of the encryption scope within + the specified storage account. Encryption scope names must be between + 3 and 63 characters in length and use numbers, lower-case letters and + dash (-) only. Every dash (-) character must be immediately preceded + and followed by a letter or number. + :type encryption_scope_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: EncryptionScope or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.storage.v2019_06_01.models.EncryptionScope or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'encryptionScopeName': self._serialize.url("encryption_scope_name", encryption_scope_name, 'str', max_length=63, min_length=3) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('EncryptionScope', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/encryptionScopes/{encryptionScopeName}'} + + def list( + self, resource_group_name, account_name, custom_headers=None, raw=False, **operation_config): + """Lists all the encryption scopes available under the specified storage + account. + + :param resource_group_name: The name of the resource group within the + user's subscription. The name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the + specified resource group. Storage account names must be between 3 and + 24 characters in length and use numbers and lower-case letters only. + :type account_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of EncryptionScope + :rtype: + ~azure.mgmt.storage.v2019_06_01.models.EncryptionScopePaged[~azure.mgmt.storage.v2019_06_01.models.EncryptionScope] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.EncryptionScopePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/encryptionScopes'} diff --git a/src/storage-or-preview/azext_storage_or_preview/vendored_sdks/azure_mgmt_storage/v2019_06_01/operations/_file_services_operations.py b/src/storage-or-preview/azext_storage_or_preview/vendored_sdks/azure_mgmt_storage/v2019_06_01/operations/_file_services_operations.py new file mode 100644 index 00000000000..693f633a0fa --- /dev/null +++ b/src/storage-or-preview/azext_storage_or_preview/vendored_sdks/azure_mgmt_storage/v2019_06_01/operations/_file_services_operations.py @@ -0,0 +1,253 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class FileServicesOperations(object): + """FileServicesOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2019-06-01". + :ivar file_services_name: The name of the file Service within the specified storage account. File Service Name must be "default". Constant value: "default". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2019-06-01" + self.file_services_name = "default" + + self.config = config + + def list( + self, resource_group_name, account_name, custom_headers=None, raw=False, **operation_config): + """List all file services in storage accounts. + + :param resource_group_name: The name of the resource group within the + user's subscription. The name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the + specified resource group. Storage account names must be between 3 and + 24 characters in length and use numbers and lower-case letters only. + :type account_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: FileServiceItems or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.storage.v2019_06_01.models.FileServiceItems or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('FileServiceItems', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/fileServices'} + + def set_service_properties( + self, resource_group_name, account_name, cors=None, share_delete_retention_policy=None, custom_headers=None, raw=False, **operation_config): + """Sets the properties of file services in storage accounts, including + CORS (Cross-Origin Resource Sharing) rules. . + + :param resource_group_name: The name of the resource group within the + user's subscription. The name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the + specified resource group. Storage account names must be between 3 and + 24 characters in length and use numbers and lower-case letters only. + :type account_name: str + :param cors: Specifies CORS rules for the File service. You can + include up to five CorsRule elements in the request. If no CorsRule + elements are included in the request body, all CORS rules will be + deleted, and CORS will be disabled for the File service. + :type cors: ~azure.mgmt.storage.v2019_06_01.models.CorsRules + :param share_delete_retention_policy: The file service properties for + share soft delete. + :type share_delete_retention_policy: + ~azure.mgmt.storage.v2019_06_01.models.DeleteRetentionPolicy + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: FileServiceProperties or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.storage.v2019_06_01.models.FileServiceProperties + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + parameters = models.FileServiceProperties(cors=cors, share_delete_retention_policy=share_delete_retention_policy) + + # Construct URL + url = self.set_service_properties.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'FileServicesName': self._serialize.url("self.file_services_name", self.file_services_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'FileServiceProperties') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('FileServiceProperties', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + set_service_properties.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/fileServices/{FileServicesName}'} + + def get_service_properties( + self, resource_group_name, account_name, custom_headers=None, raw=False, **operation_config): + """Gets the properties of file services in storage accounts, including + CORS (Cross-Origin Resource Sharing) rules. + + :param resource_group_name: The name of the resource group within the + user's subscription. The name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the + specified resource group. Storage account names must be between 3 and + 24 characters in length and use numbers and lower-case letters only. + :type account_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: FileServiceProperties or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.storage.v2019_06_01.models.FileServiceProperties + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_service_properties.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'FileServicesName': self._serialize.url("self.file_services_name", self.file_services_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('FileServiceProperties', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_service_properties.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/fileServices/{FileServicesName}'} diff --git a/src/storage-or-preview/azext_storage_or_preview/vendored_sdks/azure_mgmt_storage/v2019_06_01/operations/_file_shares_operations.py b/src/storage-or-preview/azext_storage_or_preview/vendored_sdks/azure_mgmt_storage/v2019_06_01/operations/_file_shares_operations.py new file mode 100644 index 00000000000..ca0c37d1861 --- /dev/null +++ b/src/storage-or-preview/azext_storage_or_preview/vendored_sdks/azure_mgmt_storage/v2019_06_01/operations/_file_shares_operations.py @@ -0,0 +1,434 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class FileSharesOperations(object): + """FileSharesOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2019-06-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2019-06-01" + + self.config = config + + def list( + self, resource_group_name, account_name, maxpagesize=None, filter=None, custom_headers=None, raw=False, **operation_config): + """Lists all shares. + + :param resource_group_name: The name of the resource group within the + user's subscription. The name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the + specified resource group. Storage account names must be between 3 and + 24 characters in length and use numbers and lower-case letters only. + :type account_name: str + :param maxpagesize: Optional. Specified maximum number of shares that + can be included in the list. + :type maxpagesize: str + :param filter: Optional. When specified, only share names starting + with the filter will be listed. + :type filter: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of FileShareItem + :rtype: + ~azure.mgmt.storage.v2019_06_01.models.FileShareItemPaged[~azure.mgmt.storage.v2019_06_01.models.FileShareItem] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + if maxpagesize is not None: + query_parameters['$maxpagesize'] = self._serialize.query("maxpagesize", maxpagesize, 'str') + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.FileShareItemPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/fileServices/default/shares'} + + def create( + self, resource_group_name, account_name, share_name, metadata=None, share_quota=None, custom_headers=None, raw=False, **operation_config): + """Creates a new share under the specified account as described by request + body. The share resource includes metadata and properties for that + share. It does not include a list of the files contained by the share. + . + + :param resource_group_name: The name of the resource group within the + user's subscription. The name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the + specified resource group. Storage account names must be between 3 and + 24 characters in length and use numbers and lower-case letters only. + :type account_name: str + :param share_name: The name of the file share within the specified + storage account. File share names must be between 3 and 63 characters + in length and use numbers, lower-case letters and dash (-) only. Every + dash (-) character must be immediately preceded and followed by a + letter or number. + :type share_name: str + :param metadata: A name-value pair to associate with the share as + metadata. + :type metadata: dict[str, str] + :param share_quota: The maximum size of the share, in gigabytes. Must + be greater than 0, and less than or equal to 5TB (5120). For Large + File Shares, the maximum size is 102400. + :type share_quota: int + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: FileShare or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.storage.v2019_06_01.models.FileShare or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + file_share = models.FileShare(metadata=metadata, share_quota=share_quota) + + # Construct URL + url = self.create.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), + 'shareName': self._serialize.url("share_name", share_name, 'str', max_length=63, min_length=3), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(file_share, 'FileShare') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('FileShare', response) + if response.status_code == 201: + deserialized = self._deserialize('FileShare', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/fileServices/default/shares/{shareName}'} + + def update( + self, resource_group_name, account_name, share_name, metadata=None, share_quota=None, custom_headers=None, raw=False, **operation_config): + """Updates share properties as specified in request body. Properties not + mentioned in the request will not be changed. Update fails if the + specified share does not already exist. . + + :param resource_group_name: The name of the resource group within the + user's subscription. The name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the + specified resource group. Storage account names must be between 3 and + 24 characters in length and use numbers and lower-case letters only. + :type account_name: str + :param share_name: The name of the file share within the specified + storage account. File share names must be between 3 and 63 characters + in length and use numbers, lower-case letters and dash (-) only. Every + dash (-) character must be immediately preceded and followed by a + letter or number. + :type share_name: str + :param metadata: A name-value pair to associate with the share as + metadata. + :type metadata: dict[str, str] + :param share_quota: The maximum size of the share, in gigabytes. Must + be greater than 0, and less than or equal to 5TB (5120). For Large + File Shares, the maximum size is 102400. + :type share_quota: int + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: FileShare or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.storage.v2019_06_01.models.FileShare or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + file_share = models.FileShare(metadata=metadata, share_quota=share_quota) + + # Construct URL + url = self.update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), + 'shareName': self._serialize.url("share_name", share_name, 'str', max_length=63, min_length=3), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(file_share, 'FileShare') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('FileShare', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/fileServices/default/shares/{shareName}'} + + def get( + self, resource_group_name, account_name, share_name, custom_headers=None, raw=False, **operation_config): + """Gets properties of a specified share. + + :param resource_group_name: The name of the resource group within the + user's subscription. The name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the + specified resource group. Storage account names must be between 3 and + 24 characters in length and use numbers and lower-case letters only. + :type account_name: str + :param share_name: The name of the file share within the specified + storage account. File share names must be between 3 and 63 characters + in length and use numbers, lower-case letters and dash (-) only. Every + dash (-) character must be immediately preceded and followed by a + letter or number. + :type share_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: FileShare or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.storage.v2019_06_01.models.FileShare or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), + 'shareName': self._serialize.url("share_name", share_name, 'str', max_length=63, min_length=3), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('FileShare', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/fileServices/default/shares/{shareName}'} + + def delete( + self, resource_group_name, account_name, share_name, custom_headers=None, raw=False, **operation_config): + """Deletes specified share under its account. + + :param resource_group_name: The name of the resource group within the + user's subscription. The name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the + specified resource group. Storage account names must be between 3 and + 24 characters in length and use numbers and lower-case letters only. + :type account_name: str + :param share_name: The name of the file share within the specified + storage account. File share names must be between 3 and 63 characters + in length and use numbers, lower-case letters and dash (-) only. Every + dash (-) character must be immediately preceded and followed by a + letter or number. + :type share_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), + 'shareName': self._serialize.url("share_name", share_name, 'str', max_length=63, min_length=3), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/fileServices/default/shares/{shareName}'} diff --git a/src/storage-or-preview/azext_storage_or_preview/vendored_sdks/azure_mgmt_storage/v2019_06_01/operations/_management_policies_operations.py b/src/storage-or-preview/azext_storage_or_preview/vendored_sdks/azure_mgmt_storage/v2019_06_01/operations/_management_policies_operations.py new file mode 100644 index 00000000000..e6e4b398a17 --- /dev/null +++ b/src/storage-or-preview/azext_storage_or_preview/vendored_sdks/azure_mgmt_storage/v2019_06_01/operations/_management_policies_operations.py @@ -0,0 +1,242 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class ManagementPoliciesOperations(object): + """ManagementPoliciesOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2019-06-01". + :ivar management_policy_name: The name of the Storage Account Management Policy. It should always be 'default'. Constant value: "default". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2019-06-01" + self.management_policy_name = "default" + + self.config = config + + def get( + self, resource_group_name, account_name, custom_headers=None, raw=False, **operation_config): + """Gets the managementpolicy associated with the specified storage + account. + + :param resource_group_name: The name of the resource group within the + user's subscription. The name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the + specified resource group. Storage account names must be between 3 and + 24 characters in length and use numbers and lower-case letters only. + :type account_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ManagementPolicy or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.storage.v2019_06_01.models.ManagementPolicy or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'managementPolicyName': self._serialize.url("self.management_policy_name", self.management_policy_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ManagementPolicy', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/managementPolicies/{managementPolicyName}'} + + def create_or_update( + self, resource_group_name, account_name, policy, custom_headers=None, raw=False, **operation_config): + """Sets the managementpolicy to the specified storage account. + + :param resource_group_name: The name of the resource group within the + user's subscription. The name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the + specified resource group. Storage account names must be between 3 and + 24 characters in length and use numbers and lower-case letters only. + :type account_name: str + :param policy: The Storage Account ManagementPolicy, in JSON format. + See more details in: + https://docs.microsoft.com/en-us/azure/storage/common/storage-lifecycle-managment-concepts. + :type policy: + ~azure.mgmt.storage.v2019_06_01.models.ManagementPolicySchema + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ManagementPolicy or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.storage.v2019_06_01.models.ManagementPolicy or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + properties = models.ManagementPolicy(policy=policy) + + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'managementPolicyName': self._serialize.url("self.management_policy_name", self.management_policy_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(properties, 'ManagementPolicy') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ManagementPolicy', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/managementPolicies/{managementPolicyName}'} + + def delete( + self, resource_group_name, account_name, custom_headers=None, raw=False, **operation_config): + """Deletes the managementpolicy associated with the specified storage + account. + + :param resource_group_name: The name of the resource group within the + user's subscription. The name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the + specified resource group. Storage account names must be between 3 and + 24 characters in length and use numbers and lower-case letters only. + :type account_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'managementPolicyName': self._serialize.url("self.management_policy_name", self.management_policy_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/managementPolicies/{managementPolicyName}'} diff --git a/src/storage-or-preview/azext_storage_or_preview/vendored_sdks/azure_mgmt_storage/v2019_06_01/operations/_object_replication_policies_operations.py b/src/storage-or-preview/azext_storage_or_preview/vendored_sdks/azure_mgmt_storage/v2019_06_01/operations/_object_replication_policies_operations.py new file mode 100644 index 00000000000..84cff954bc1 --- /dev/null +++ b/src/storage-or-preview/azext_storage_or_preview/vendored_sdks/azure_mgmt_storage/v2019_06_01/operations/_object_replication_policies_operations.py @@ -0,0 +1,316 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse + +from .. import models + + +class ObjectReplicationPoliciesOperations(object): + """ObjectReplicationPoliciesOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2019-06-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2019-06-01" + + self.config = config + + def list( + self, resource_group_name, account_name, custom_headers=None, raw=False, **operation_config): + """List the object replication policies associated with the storage + account. + + :param resource_group_name: The name of the resource group within the + user's subscription. The name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the + specified resource group. Storage account names must be between 3 and + 24 characters in length and use numbers and lower-case letters only. + :type account_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of ObjectReplicationPolicy + :rtype: + ~azure.mgmt.storage.v2019_06_01.models.ObjectReplicationPolicyPaged[~azure.mgmt.storage.v2019_06_01.models.ObjectReplicationPolicy] + :raises: + :class:`ErrorResponseException` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.ObjectReplicationPolicyPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/objectReplicationPolicies'} + + def get( + self, resource_group_name, account_name, object_replication_policy_id, custom_headers=None, raw=False, **operation_config): + """Get the object replication policy of the storage account by policy ID. + + :param resource_group_name: The name of the resource group within the + user's subscription. The name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the + specified resource group. Storage account names must be between 3 and + 24 characters in length and use numbers and lower-case letters only. + :type account_name: str + :param object_replication_policy_id: The ID of object replication + policy or 'default' if the policy ID is unknown. + :type object_replication_policy_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 + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ObjectReplicationPolicy or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.storage.v2019_06_01.models.ObjectReplicationPolicy + or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'objectReplicationPolicyId': self._serialize.url("object_replication_policy_id", object_replication_policy_id, 'str', min_length=1) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('ObjectReplicationPolicy', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/objectReplicationPolicies/{objectReplicationPolicyId}'} + + def create_or_update( + self, resource_group_name, account_name, object_replication_policy_id, properties, custom_headers=None, raw=False, **operation_config): + """Create or update the object replication policy of the storage account. + + :param resource_group_name: The name of the resource group within the + user's subscription. The name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the + specified resource group. Storage account names must be between 3 and + 24 characters in length and use numbers and lower-case letters only. + :type account_name: str + :param object_replication_policy_id: The ID of object replication + policy or 'default' if the policy ID is unknown. + :type object_replication_policy_id: str + :param properties: The object replication policy set to a storage + account. A unique policy ID will be created if absent. + :type properties: + ~azure.mgmt.storage.v2019_06_01.models.ObjectReplicationPolicy + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ObjectReplicationPolicy or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.storage.v2019_06_01.models.ObjectReplicationPolicy + or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'objectReplicationPolicyId': self._serialize.url("object_replication_policy_id", object_replication_policy_id, 'str', min_length=1) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(properties, 'ObjectReplicationPolicy') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('ObjectReplicationPolicy', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/objectReplicationPolicies/{objectReplicationPolicyId}'} + + def delete( + self, resource_group_name, account_name, object_replication_policy_id, custom_headers=None, raw=False, **operation_config): + """Deletes the object replication policy associated with the specified + storage account. + + :param resource_group_name: The name of the resource group within the + user's subscription. The name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the + specified resource group. Storage account names must be between 3 and + 24 characters in length and use numbers and lower-case letters only. + :type account_name: str + :param object_replication_policy_id: The ID of object replication + policy or 'default' if the policy ID is unknown. + :type object_replication_policy_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 + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'objectReplicationPolicyId': self._serialize.url("object_replication_policy_id", object_replication_policy_id, 'str', min_length=1) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 204]: + raise models.ErrorResponseException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/objectReplicationPolicies/{objectReplicationPolicyId}'} diff --git a/src/storage-or-preview/azext_storage_or_preview/vendored_sdks/azure_mgmt_storage/v2019_06_01/operations/_operations.py b/src/storage-or-preview/azext_storage_or_preview/vendored_sdks/azure_mgmt_storage/v2019_06_01/operations/_operations.py new file mode 100644 index 00000000000..758ea32d576 --- /dev/null +++ b/src/storage-or-preview/azext_storage_or_preview/vendored_sdks/azure_mgmt_storage/v2019_06_01/operations/_operations.py @@ -0,0 +1,102 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class Operations(object): + """Operations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2019-06-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2019-06-01" + + self.config = config + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Lists all of the available Storage Rest API operations. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of Operation + :rtype: + ~azure.mgmt.storage.v2019_06_01.models.OperationPaged[~azure.mgmt.storage.v2019_06_01.models.Operation] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.OperationPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/providers/Microsoft.Storage/operations'} diff --git a/src/storage-or-preview/azext_storage_or_preview/vendored_sdks/azure_mgmt_storage/v2019_06_01/operations/_private_endpoint_connections_operations.py b/src/storage-or-preview/azext_storage_or_preview/vendored_sdks/azure_mgmt_storage/v2019_06_01/operations/_private_endpoint_connections_operations.py new file mode 100644 index 00000000000..25ce6b2bf0b --- /dev/null +++ b/src/storage-or-preview/azext_storage_or_preview/vendored_sdks/azure_mgmt_storage/v2019_06_01/operations/_private_endpoint_connections_operations.py @@ -0,0 +1,244 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse + +from .. import models + + +class PrivateEndpointConnectionsOperations(object): + """PrivateEndpointConnectionsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2019-06-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2019-06-01" + + self.config = config + + def get( + self, resource_group_name, account_name, private_endpoint_connection_name, custom_headers=None, raw=False, **operation_config): + """Gets the specified private endpoint connection associated with the + storage account. + + :param resource_group_name: The name of the resource group within the + user's subscription. The name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the + specified resource group. Storage account names must be between 3 and + 24 characters in length and use numbers and lower-case letters only. + :type account_name: str + :param private_endpoint_connection_name: The name of the private + endpoint connection associated with the Storage Account + :type private_endpoint_connection_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PrivateEndpointConnection or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.storage.v2019_06_01.models.PrivateEndpointConnection or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'privateEndpointConnectionName': self._serialize.url("private_endpoint_connection_name", private_endpoint_connection_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('PrivateEndpointConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/privateEndpointConnections/{privateEndpointConnectionName}'} + + def put( + self, resource_group_name, account_name, private_endpoint_connection_name, properties, custom_headers=None, raw=False, **operation_config): + """Update the state of specified private endpoint connection associated + with the storage account. + + :param resource_group_name: The name of the resource group within the + user's subscription. The name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the + specified resource group. Storage account names must be between 3 and + 24 characters in length and use numbers and lower-case letters only. + :type account_name: str + :param private_endpoint_connection_name: The name of the private + endpoint connection associated with the Storage Account + :type private_endpoint_connection_name: str + :param properties: The private endpoint connection properties. + :type properties: + ~azure.mgmt.storage.v2019_06_01.models.PrivateEndpointConnection + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PrivateEndpointConnection or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.storage.v2019_06_01.models.PrivateEndpointConnection or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.put.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'privateEndpointConnectionName': self._serialize.url("private_endpoint_connection_name", private_endpoint_connection_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(properties, 'PrivateEndpointConnection') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('PrivateEndpointConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + put.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/privateEndpointConnections/{privateEndpointConnectionName}'} + + def delete( + self, resource_group_name, account_name, private_endpoint_connection_name, custom_headers=None, raw=False, **operation_config): + """Deletes the specified private endpoint connection associated with the + storage account. + + :param resource_group_name: The name of the resource group within the + user's subscription. The name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the + specified resource group. Storage account names must be between 3 and + 24 characters in length and use numbers and lower-case letters only. + :type account_name: str + :param private_endpoint_connection_name: The name of the private + endpoint connection associated with the Storage Account + :type private_endpoint_connection_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'privateEndpointConnectionName': self._serialize.url("private_endpoint_connection_name", private_endpoint_connection_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 204]: + raise models.ErrorResponseException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/privateEndpointConnections/{privateEndpointConnectionName}'} diff --git a/src/storage-or-preview/azext_storage_or_preview/vendored_sdks/azure_mgmt_storage/v2019_06_01/operations/_private_link_resources_operations.py b/src/storage-or-preview/azext_storage_or_preview/vendored_sdks/azure_mgmt_storage/v2019_06_01/operations/_private_link_resources_operations.py new file mode 100644 index 00000000000..1042ffd402e --- /dev/null +++ b/src/storage-or-preview/azext_storage_or_preview/vendored_sdks/azure_mgmt_storage/v2019_06_01/operations/_private_link_resources_operations.py @@ -0,0 +1,107 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class PrivateLinkResourcesOperations(object): + """PrivateLinkResourcesOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2019-06-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2019-06-01" + + self.config = config + + def list_by_storage_account( + self, resource_group_name, account_name, custom_headers=None, raw=False, **operation_config): + """Gets the private link resources that need to be created for a storage + account. + + :param resource_group_name: The name of the resource group within the + user's subscription. The name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the + specified resource group. Storage account names must be between 3 and + 24 characters in length and use numbers and lower-case letters only. + :type account_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PrivateLinkResourceListResult or ClientRawResponse if + raw=true + :rtype: + ~azure.mgmt.storage.v2019_06_01.models.PrivateLinkResourceListResult + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.list_by_storage_account.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('PrivateLinkResourceListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list_by_storage_account.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/privateLinkResources'} diff --git a/src/storage-or-preview/azext_storage_or_preview/vendored_sdks/azure_mgmt_storage/v2019_06_01/operations/_skus_operations.py b/src/storage-or-preview/azext_storage_or_preview/vendored_sdks/azure_mgmt_storage/v2019_06_01/operations/_skus_operations.py new file mode 100644 index 00000000000..abe72334abc --- /dev/null +++ b/src/storage-or-preview/azext_storage_or_preview/vendored_sdks/azure_mgmt_storage/v2019_06_01/operations/_skus_operations.py @@ -0,0 +1,107 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class SkusOperations(object): + """SkusOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2019-06-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2019-06-01" + + self.config = config + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Lists the available SKUs supported by Microsoft.Storage for given + subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of SkuInformation + :rtype: + ~azure.mgmt.storage.v2019_06_01.models.SkuInformationPaged[~azure.mgmt.storage.v2019_06_01.models.SkuInformation] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.SkuInformationPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Storage/skus'} diff --git a/src/storage-or-preview/azext_storage_or_preview/vendored_sdks/azure_mgmt_storage/v2019_06_01/operations/_storage_accounts_operations.py b/src/storage-or-preview/azext_storage_or_preview/vendored_sdks/azure_mgmt_storage/v2019_06_01/operations/_storage_accounts_operations.py new file mode 100644 index 00000000000..ce9f19d296d --- /dev/null +++ b/src/storage-or-preview/azext_storage_or_preview/vendored_sdks/azure_mgmt_storage/v2019_06_01/operations/_storage_accounts_operations.py @@ -0,0 +1,1109 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class StorageAccountsOperations(object): + """StorageAccountsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2019-06-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2019-06-01" + + self.config = config + + def check_name_availability( + self, name, custom_headers=None, raw=False, **operation_config): + """Checks that the storage account name is valid and is not already in + use. + + :param name: The storage account name. + :type name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: CheckNameAvailabilityResult or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.storage.v2019_06_01.models.CheckNameAvailabilityResult or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + account_name = models.StorageAccountCheckNameAvailabilityParameters(name=name) + + # Construct URL + url = self.check_name_availability.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(account_name, 'StorageAccountCheckNameAvailabilityParameters') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('CheckNameAvailabilityResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + check_name_availability.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Storage/checkNameAvailability'} + + + def _create_initial( + self, resource_group_name, account_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'StorageAccountCreateParameters') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('StorageAccount', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create( + self, resource_group_name, account_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Asynchronously creates a new storage account with the specified + parameters. If an account is already created and a subsequent create + request is issued with different properties, the account properties + will be updated. If an account is already created and a subsequent + create or update request is issued with the exact same set of + properties, the request will succeed. + + :param resource_group_name: The name of the resource group within the + user's subscription. The name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the + specified resource group. Storage account names must be between 3 and + 24 characters in length and use numbers and lower-case letters only. + :type account_name: str + :param parameters: The parameters to provide for the created account. + :type parameters: + ~azure.mgmt.storage.v2019_06_01.models.StorageAccountCreateParameters + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns StorageAccount or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.storage.v2019_06_01.models.StorageAccount] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.storage.v2019_06_01.models.StorageAccount]] + :raises: :class:`CloudError` + """ + raw_result = self._create_initial( + resource_group_name=resource_group_name, + account_name=account_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('StorageAccount', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}'} + + def delete( + self, resource_group_name, account_name, custom_headers=None, raw=False, **operation_config): + """Deletes a storage account in Microsoft Azure. + + :param resource_group_name: The name of the resource group within the + user's subscription. The name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the + specified resource group. Storage account names must be between 3 and + 24 characters in length and use numbers and lower-case letters only. + :type account_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}'} + + def get_properties( + self, resource_group_name, account_name, expand=None, custom_headers=None, raw=False, **operation_config): + """Returns the properties for the specified storage account including but + not limited to name, SKU name, location, and account status. The + ListKeys operation should be used to retrieve storage keys. + + :param resource_group_name: The name of the resource group within the + user's subscription. The name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the + specified resource group. Storage account names must be between 3 and + 24 characters in length and use numbers and lower-case letters only. + :type account_name: str + :param expand: May be used to expand the properties within account's + properties. By default, data is not included when fetching properties. + Currently we only support geoReplicationStats and blobRestoreStatus. + Possible values include: 'geoReplicationStats', 'blobRestoreStatus' + :type expand: str or + ~azure.mgmt.storage.v2019_06_01.models.StorageAccountExpand + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: StorageAccount or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.storage.v2019_06_01.models.StorageAccount or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_properties.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'StorageAccountExpand') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('StorageAccount', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_properties.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}'} + + def update( + self, resource_group_name, account_name, parameters, custom_headers=None, raw=False, **operation_config): + """The update operation can be used to update the SKU, encryption, access + tier, or tags for a storage account. It can also be used to map the + account to a custom domain. Only one custom domain is supported per + storage account; the replacement/change of custom domain is not + supported. In order to replace an old custom domain, the old value must + be cleared/unregistered before a new value can be set. The update of + multiple properties is supported. This call does not change the storage + keys for the account. If you want to change the storage account keys, + use the regenerate keys operation. The location and name of the storage + account cannot be changed after creation. + + :param resource_group_name: The name of the resource group within the + user's subscription. The name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the + specified resource group. Storage account names must be between 3 and + 24 characters in length and use numbers and lower-case letters only. + :type account_name: str + :param parameters: The parameters to provide for the updated account. + :type parameters: + ~azure.mgmt.storage.v2019_06_01.models.StorageAccountUpdateParameters + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: StorageAccount or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.storage.v2019_06_01.models.StorageAccount or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'StorageAccountUpdateParameters') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('StorageAccount', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}'} + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Lists all the storage accounts available under the subscription. Note + that storage keys are not returned; use the ListKeys operation for + this. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of StorageAccount + :rtype: + ~azure.mgmt.storage.v2019_06_01.models.StorageAccountPaged[~azure.mgmt.storage.v2019_06_01.models.StorageAccount] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.StorageAccountPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Storage/storageAccounts'} + + def list_by_resource_group( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Lists all the storage accounts available under the given resource + group. Note that storage keys are not returned; use the ListKeys + operation for this. + + :param resource_group_name: The name of the resource group within the + user's subscription. The name is case insensitive. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of StorageAccount + :rtype: + ~azure.mgmt.storage.v2019_06_01.models.StorageAccountPaged[~azure.mgmt.storage.v2019_06_01.models.StorageAccount] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.StorageAccountPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts'} + + def list_keys( + self, resource_group_name, account_name, expand=None, custom_headers=None, raw=False, **operation_config): + """Lists the access keys or Kerberos keys (if active directory enabled) + for the specified storage account. + + :param resource_group_name: The name of the resource group within the + user's subscription. The name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the + specified resource group. Storage account names must be between 3 and + 24 characters in length and use numbers and lower-case letters only. + :type account_name: str + :param expand: Specifies type of the key to be listed. Possible value + is kerb. Possible values include: 'kerb' + :type expand: str or + ~azure.mgmt.storage.v2019_06_01.models.ListKeyExpand + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: StorageAccountListKeysResult or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.storage.v2019_06_01.models.StorageAccountListKeysResult or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.list_keys.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'ListKeyExpand') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('StorageAccountListKeysResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list_keys.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/listKeys'} + + def regenerate_key( + self, resource_group_name, account_name, key_name, custom_headers=None, raw=False, **operation_config): + """Regenerates one of the access keys or Kerberos keys for the specified + storage account. + + :param resource_group_name: The name of the resource group within the + user's subscription. The name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the + specified resource group. Storage account names must be between 3 and + 24 characters in length and use numbers and lower-case letters only. + :type account_name: str + :param key_name: The name of storage keys that want to be regenerated, + possible values are key1, key2, kerb1, kerb2. + :type key_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: StorageAccountListKeysResult or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.storage.v2019_06_01.models.StorageAccountListKeysResult or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + regenerate_key1 = models.StorageAccountRegenerateKeyParameters(key_name=key_name) + + # Construct URL + url = self.regenerate_key.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(regenerate_key1, 'StorageAccountRegenerateKeyParameters') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('StorageAccountListKeysResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + regenerate_key.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/regenerateKey'} + + def list_account_sas( + self, resource_group_name, account_name, parameters, custom_headers=None, raw=False, **operation_config): + """List SAS credentials of a storage account. + + :param resource_group_name: The name of the resource group within the + user's subscription. The name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the + specified resource group. Storage account names must be between 3 and + 24 characters in length and use numbers and lower-case letters only. + :type account_name: str + :param parameters: The parameters to provide to list SAS credentials + for the storage account. + :type parameters: + ~azure.mgmt.storage.v2019_06_01.models.AccountSasParameters + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ListAccountSasResponse or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.storage.v2019_06_01.models.ListAccountSasResponse + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.list_account_sas.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'AccountSasParameters') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ListAccountSasResponse', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list_account_sas.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/ListAccountSas'} + + def list_service_sas( + self, resource_group_name, account_name, parameters, custom_headers=None, raw=False, **operation_config): + """List service SAS credentials of a specific resource. + + :param resource_group_name: The name of the resource group within the + user's subscription. The name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the + specified resource group. Storage account names must be between 3 and + 24 characters in length and use numbers and lower-case letters only. + :type account_name: str + :param parameters: The parameters to provide to list service SAS + credentials. + :type parameters: + ~azure.mgmt.storage.v2019_06_01.models.ServiceSasParameters + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ListServiceSasResponse or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.storage.v2019_06_01.models.ListServiceSasResponse + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.list_service_sas.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'ServiceSasParameters') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ListServiceSasResponse', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list_service_sas.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/ListServiceSas'} + + + def _failover_initial( + self, resource_group_name, account_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.failover.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def failover( + self, resource_group_name, account_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Failover request can be triggered for a storage account in case of + availability issues. The failover occurs from the storage account's + primary cluster to secondary cluster for RA-GRS accounts. The secondary + cluster will become primary after failover. + + :param resource_group_name: The name of the resource group within the + user's subscription. The name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the + specified resource group. Storage account names must be between 3 and + 24 characters in length and use numbers and lower-case letters only. + :type account_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._failover_initial( + resource_group_name=resource_group_name, + account_name=account_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + failover.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/failover'} + + + def _restore_blob_ranges_initial( + self, resource_group_name, account_name, time_to_restore, blob_ranges, custom_headers=None, raw=False, **operation_config): + parameters = models.BlobRestoreParameters(time_to_restore=time_to_restore, blob_ranges=blob_ranges) + + # Construct URL + url = self.restore_blob_ranges.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'BlobRestoreParameters') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('BlobRestoreStatus', response) + if response.status_code == 202: + deserialized = self._deserialize('BlobRestoreStatus', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def restore_blob_ranges( + self, resource_group_name, account_name, time_to_restore, blob_ranges, custom_headers=None, raw=False, polling=True, **operation_config): + """Restore blobs in the specified blob ranges. + + :param resource_group_name: The name of the resource group within the + user's subscription. The name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the + specified resource group. Storage account names must be between 3 and + 24 characters in length and use numbers and lower-case letters only. + :type account_name: str + :param time_to_restore: Restore blob to the specified time. + :type time_to_restore: datetime + :param blob_ranges: Blob ranges to restore. + :type blob_ranges: + list[~azure.mgmt.storage.v2019_06_01.models.BlobRestoreRange] + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns BlobRestoreStatus or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.storage.v2019_06_01.models.BlobRestoreStatus] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.storage.v2019_06_01.models.BlobRestoreStatus]] + :raises: :class:`CloudError` + """ + raw_result = self._restore_blob_ranges_initial( + resource_group_name=resource_group_name, + account_name=account_name, + time_to_restore=time_to_restore, + blob_ranges=blob_ranges, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('BlobRestoreStatus', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + restore_blob_ranges.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/restoreBlobRanges'} + + def revoke_user_delegation_keys( + self, resource_group_name, account_name, custom_headers=None, raw=False, **operation_config): + """Revoke user delegation keys. + + :param resource_group_name: The name of the resource group within the + user's subscription. The name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the + specified resource group. Storage account names must be between 3 and + 24 characters in length and use numbers and lower-case letters only. + :type account_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.revoke_user_delegation_keys.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + revoke_user_delegation_keys.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/revokeUserDelegationKeys'} diff --git a/src/storage-or-preview/azext_storage_or_preview/vendored_sdks/azure_mgmt_storage/v2019_06_01/operations/_usages_operations.py b/src/storage-or-preview/azext_storage_or_preview/vendored_sdks/azure_mgmt_storage/v2019_06_01/operations/_usages_operations.py new file mode 100644 index 00000000000..b2750e6ba46 --- /dev/null +++ b/src/storage-or-preview/azext_storage_or_preview/vendored_sdks/azure_mgmt_storage/v2019_06_01/operations/_usages_operations.py @@ -0,0 +1,110 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class UsagesOperations(object): + """UsagesOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2019-06-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2019-06-01" + + self.config = config + + def list_by_location( + self, location, custom_headers=None, raw=False, **operation_config): + """Gets the current usage count and the limit for the resources of the + location under the subscription. + + :param location: The location of the Azure Storage resource. + :type location: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of Usage + :rtype: + ~azure.mgmt.storage.v2019_06_01.models.UsagePaged[~azure.mgmt.storage.v2019_06_01.models.Usage] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_location.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'location': self._serialize.url("location", location, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.UsagePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_location.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Storage/locations/{location}/usages'} diff --git a/src/storage-or-preview/azext_storage_or_preview/vendored_sdks/azure_mgmt_storage/v2019_06_01/version.py b/src/storage-or-preview/azext_storage_or_preview/vendored_sdks/azure_mgmt_storage/v2019_06_01/version.py new file mode 100644 index 00000000000..4174449873a --- /dev/null +++ b/src/storage-or-preview/azext_storage_or_preview/vendored_sdks/azure_mgmt_storage/v2019_06_01/version.py @@ -0,0 +1,13 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +VERSION = "2019-06-01" + diff --git a/src/storage-or-preview/azext_storage_or_preview/vendored_sdks/azure_mgmt_storage/version.py b/src/storage-or-preview/azext_storage_or_preview/vendored_sdks/azure_mgmt_storage/version.py new file mode 100644 index 00000000000..633483b0398 --- /dev/null +++ b/src/storage-or-preview/azext_storage_or_preview/vendored_sdks/azure_mgmt_storage/version.py @@ -0,0 +1,8 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- + +VERSION = "7.1.0" diff --git a/src/storage-or-preview/setup.cfg b/src/storage-or-preview/setup.cfg new file mode 100644 index 00000000000..3c6e79cf31d --- /dev/null +++ b/src/storage-or-preview/setup.cfg @@ -0,0 +1,2 @@ +[bdist_wheel] +universal=1 diff --git a/src/storage-or-preview/setup.py b/src/storage-or-preview/setup.py new file mode 100644 index 00000000000..74f0c078c37 --- /dev/null +++ b/src/storage-or-preview/setup.py @@ -0,0 +1,60 @@ +#!/usr/bin/env python + +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + + +from codecs import open +from setuptools import setup, find_packages +try: + from azure_bdist_wheel import cmdclass +except ImportError: + from distutils import log as logger + logger.warn("Wheel is not available, disabling bdist_wheel hook") + +# TODO: Confirm this is the right version number you want and it matches your +# HISTORY.rst entry. +VERSION = '0.4.0' + +# The full list of classifiers is available at +# https://pypi.python.org/pypi?%3Aaction=list_classifiers +CLASSIFIERS = [ + 'Development Status :: 4 - Beta', + 'Intended Audience :: Developers', + 'Intended Audience :: System Administrators', + 'Programming Language :: Python', + 'Programming Language :: Python :: 2', + 'Programming Language :: Python :: 2.7', + 'Programming Language :: Python :: 3', + 'Programming Language :: Python :: 3.4', + 'Programming Language :: Python :: 3.5', + 'Programming Language :: Python :: 3.6', + 'License :: OSI Approved :: MIT License', +] + +# TODO: Add any additional SDK dependencies here +DEPENDENCIES = [] + +with open('README.md', 'r', encoding='utf-8') as f: + README = f.read() +with open('HISTORY.rst', 'r', encoding='utf-8') as f: + HISTORY = f.read() + +setup( + name='storage-or-preview', + version=VERSION, + description='Microsoft Azure Command-Line Tools Storage-ors-preview Extension', + # TODO: Update author and email, if applicable + author='Microsoft Corporation', + author_email='azpycli@microsoft.com', + # TODO: consider pointing directly to your source code instead of the generic repo + url='https://github.com/Azure/azure-cli-extensions', + long_description=README + '\n\n' + HISTORY, + license='MIT', + classifiers=CLASSIFIERS, + packages=find_packages(), + install_requires=DEPENDENCIES, + package_data={'azext_storage_or_preview': ['azext_metadata.json']}, +) diff --git a/src/storage-preview/HISTORY.rst b/src/storage-preview/HISTORY.rst index 5c8531c2474..035cffa6b28 100644 --- a/src/storage-preview/HISTORY.rst +++ b/src/storage-preview/HISTORY.rst @@ -3,6 +3,9 @@ Release History =============== +0.2.11 (2020-06-04) +* Fix the bug for command `az storage blob directory move` + 0.2.10 (2019-11-25) ++++++++++++++++ * Fix bugs for ADLS Gen2 diff --git a/src/storage-preview/azext_storage_preview/operations/blob.py b/src/storage-preview/azext_storage_preview/operations/blob.py index 05e95428a57..6ab628dfb26 100644 --- a/src/storage-preview/azext_storage_preview/operations/blob.py +++ b/src/storage-preview/azext_storage_preview/operations/blob.py @@ -5,6 +5,7 @@ from __future__ import print_function +from urllib.parse import quote from knack.util import CLIError from knack.log import get_logger @@ -177,6 +178,10 @@ def rename_directory(client, container_name, new_path, source_path, The timeout parameter is expressed in seconds. """ + + # In order to find the required blob, `x-ms-rename-source` in header needs to encode the special character in URL. + source_path = quote(source_path) + marker = client.rename_path(container_name, new_path, source_path, mode=mode, lease_id=lease_id, source_lease_id=source_lease_id, source_if_modified_since=source_if_modified_since, diff --git a/src/storage-preview/azext_storage_preview/tests/latest/test_storage_adls_scenarios.py b/src/storage-preview/azext_storage_preview/tests/latest/test_storage_adls_scenarios.py index 8b07593c258..d1fd0076bb6 100644 --- a/src/storage-preview/azext_storage_preview/tests/latest/test_storage_adls_scenarios.py +++ b/src/storage-preview/azext_storage_preview/tests/latest/test_storage_adls_scenarios.py @@ -99,7 +99,8 @@ def test_storage_adls_blob_directory_move(self, resource_group, test_dir): 'sc': storage_account, 'rg': resource_group }) - self.cmd('storage account create -n {sc} -g {rg} -l centralus --kind StorageV2 --hierarchical-namespace true') + self.cmd('storage account create -n {sc} -g {rg} -l centralus --kind StorageV2 --hierarchical-namespace true ' + ' --https-only') account_info = self.get_account_info(resource_group, storage_account) container = self.create_container(account_info) directory = 'dir' @@ -120,6 +121,27 @@ def test_storage_adls_blob_directory_move(self, resource_group, test_dir): self.storage_cmd('storage blob directory list -c {} -d {}', account_info, container, des_directory) \ .assert_with_checks(JMESPathCheck('length(@)', 11)) + # Test directory name contains Spaces + contain_space_dir = 'test move directory' + # Move directory to contain_space_dir + self.storage_cmd('storage blob directory exists -c "{}" -d "{}"', account_info, container, des_directory) \ + .assert_with_checks(JMESPathCheck('exists', True)) + self.storage_cmd('storage blob directory exists -c "{}" -d "{}"', account_info, container, contain_space_dir) \ + .assert_with_checks(JMESPathCheck('exists', False)) + self.storage_cmd('storage blob directory move -c "{}" -d "{}" -s "{}"', account_info, container, + contain_space_dir, des_directory) + self.storage_cmd('storage blob directory exists -c "{}" -d "{}"', account_info, container, contain_space_dir) \ + .assert_with_checks(JMESPathCheck('exists', True)) + self.storage_cmd('storage blob directory exists -c "{}" -d "{}"', account_info, container, des_directory) \ + .assert_with_checks(JMESPathCheck('exists', False)) + # Move contain_space_dir back to directory + self.storage_cmd('storage blob directory move -c "{}" -d "{}" -s "{}"', account_info, container, + des_directory, contain_space_dir) + self.storage_cmd('storage blob directory exists -c "{}" -d "{}"', account_info, container, des_directory) \ + .assert_with_checks(JMESPathCheck('exists', True)) + self.storage_cmd('storage blob directory exists -c "{}" -d "{}"', account_info, container, contain_space_dir) \ + .assert_with_checks(JMESPathCheck('exists', False)) + # Move from a directory to a existing empty directory directory2 = 'dir2' self.storage_cmd('storage blob directory create -c {} -d {}', account_info, container, directory2) diff --git a/src/storagesync/HISTORY.rst b/src/storagesync/HISTORY.rst new file mode 100644 index 00000000000..1c139576ba0 --- /dev/null +++ b/src/storagesync/HISTORY.rst @@ -0,0 +1,8 @@ +.. :changelog: + +Release History +=============== + +0.1.0 +++++++ +* Initial release. diff --git a/src/storagesync/README.md b/src/storagesync/README.md new file mode 100644 index 00000000000..11e1caece37 --- /dev/null +++ b/src/storagesync/README.md @@ -0,0 +1,202 @@ +========================================== +# Azure CLI Storage Sync Extension # +This is a extension for StorageSync features. + +### How to use ### +Install this extension using the below CLI command +``` +az extension add --name storagesync +``` + +### Included Features +#### Manage storage sync service: + +##### Create a new storage sync service. + +``` +az storagesync create \ + --resource-group rg \ + --name storage_sync_service_name \ + --location westus \ + --tags key1=value1 +``` + +##### Delete a given storage sync service. +``` +az storagesync delete \ + --resource-group rg \ + --name storage_sync_service_name +``` + +##### Show the properties for a given storage sync service. +``` +az storagesync show \ + --resource-group rg \ + --name storage_sync_service_name +``` + +##### List all storage sync services in a resource group or a subscription. +``` +az storagesync list +``` +``` +az storagesync list \ + --resource-group rg +``` + +#### Manage sync group: + +##### Create a new sync group. +``` +az storagesync sync-group create \ + --resource-group rg \ + --name sync_group_name \ + --storage-sync-service storage-sync-service-name +``` + +##### Delete a given sync group. +``` +az storagesync sync-group delete \ + --resource-group rg \ + --name sync_group_name \ + --storage-sync-service storage-sync-service-name +``` + +##### Show the properties for a given sync group. +``` +az storagesync sync-group show \ + --resource-group rg \ + --name sync_group_name \ + --storage-sync-service storage-sync-service-name +``` + +##### List all sync groups in a storage sync service. +``` +az storagesync sync-group list \ + --resource-group rg \ + --storage-sync-service storage-sync-service-name +``` + +#### Manage cloud endpoint. + +##### Create a new cloud endpoint. +``` +az storagesync sync-group cloud-endpoint create \ + --resource-group rg \ + --name cloud-endpoint-name \ + --storage-sync-service storage-sync-service-name \ + --sync-group-name sync-group-name \ + --storage-account storageaccountnameorid \ + --azure-file-share-name file-share-name +``` + +##### Delete a given cloud endpoint. +``` +az storagesync sync-group cloud-endpoint delete \ + --resource-group rg \ + --name cloud-endpoint-name \ + --storage-sync-service storage-sync-service-name \ + --sync-group-name sync-group-name +``` + +##### Show the properties for a given cloud endpoint. +``` +az storagesync sync-group cloud-endpoint show \ + --resource-group rg \ + --name cloud-endpoint-name \ + --storage-sync-service storage-sync-service-name \ + --sync-group-name sync-group-name +``` + +##### List all cloud endpoints in a sync group. +``` +az storagesync sync-group cloud-endpoint list \ + --resource-group rg \ + --storage-sync-service storage-sync-service-name \ + --sync-group-name sync-group-name +``` + +#### Manage cloud endpoint. + +##### Create a new server endpoint. +``` +az storagesync sync-group server-endpoint create \ + --resource-group rg \ + --name server-endpoint-name \ + --storage-sync-service storage-sync-service-name \ + --sync-group-name sync-group-name \ + --server-id server-id \ + --server-local-path "d:\\abc" +``` + +##### Update the properties for a given server endpoint. +``` +az storagesync sync-group server-endpoint create \ + --resource-group rg \ + --name server-endpoint-name \ + --storage-sync-service storage-sync-service-name \ + --sync-group-name sync-group-name \ + --server-id server-id \ + --server-local-path "d:\\abc" +``` + +##### Delete a given server endpoint. +``` +az storagesync sync-group server-endpoint delete \ + --resource-group rg \ + --name server-endpoint-name \ + --storage-sync-service storage-sync-service-name \ + --sync-group-name sync-group-name +``` + +##### Show the properties for a given server endpoint. +``` +az storagesync sync-group server-endpoint show \ + --resource-group rg \ + --name server-endpoint-name \ + --storage-sync-service storage-sync-service-name \ + --sync-group-name sync-group-name +``` + +##### List all server endpoints in a sync group. +``` +az storagesync sync-group server-endpoint list \ + --resource-group rg \ + --storage-sync-service storage-sync-service-name \ + --sync-group-name sync-group-name +``` + +#### Manage registered server. + +##### Register an on-premises server to a storage sync service. + +*This command is not supported in CLI yet. You can use Azure PowerShell command [Register-AzStorageSyncServer](https://docs.microsoft.com/en-us/powershell/module/az.storagesync/register-azstoragesyncserver?view=azps-3.6.1) or [Azure File Sync Agent](https://docs.microsoft.com/en-us/azure/storage/files/storage-sync-files-deployment-guide?tabs=azure-portal#register-windows-server-with-storage-sync-service) instead.* + +##### Unregister an on-premises server from it's storage sync service. +``` +az storagesync registered-server delete \ + --resource-group rg \ + --storage-sync-service storage-sync-service-name \ + --server-id server-id +``` + +##### Show the properties for a given registered server. +``` +az storagesync registered-server show \ + --resource-group rg \ + --storage-sync-service storage-sync-service-name \ + --server-id server-id +``` + +##### List all registered servers for a given storage sync service. +``` +az storagesync registered-server list \ + --resource-group rg \ + --storage-sync-service storage-sync-service-name +``` + +##### Roll the storage sync server certificate used to describe the server identity to the storage sync service. + +*This command is not supported in CLI yet. You can use Azure PowerShell command [Reset-AzStorageSyncServerCertificate](https://docs.microsoft.com/en-us/powershell/module/az.storagesync/reset-azstoragesyncservercertificate?view=azps-3.6.1) instead.* + +If you have issues, please give feedback by opening an issue at https://github.com/Azure/azure-cli-extensions/issues. diff --git a/src/storagesync/azext_storagesync/__init__.py b/src/storagesync/azext_storagesync/__init__.py new file mode 100644 index 00000000000..ea70c803a49 --- /dev/null +++ b/src/storagesync/azext_storagesync/__init__.py @@ -0,0 +1,32 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +from azure.cli.core import AzCommandsLoader + +from azext_storagesync._help import helps # pylint: disable=unused-import + + +class MicrosoftStorageSyncCommandsLoader(AzCommandsLoader): + + def __init__(self, cli_ctx=None): + from azure.cli.core.commands import CliCommandType + from azext_storagesync._client_factory import cf_storagesync + storagesync_custom = CliCommandType( + operations_tmpl='azext_storagesync.custom#{}', + client_factory=cf_storagesync) + super(MicrosoftStorageSyncCommandsLoader, self).__init__(cli_ctx=cli_ctx, + custom_command_type=storagesync_custom) + + def load_command_table(self, args): + from azext_storagesync.commands import load_command_table + load_command_table(self, args) + return self.command_table + + def load_arguments(self, command): + from azext_storagesync._params import load_arguments + load_arguments(self, command) + + +COMMAND_LOADER_CLS = MicrosoftStorageSyncCommandsLoader diff --git a/src/storagesync/azext_storagesync/_client_factory.py b/src/storagesync/azext_storagesync/_client_factory.py new file mode 100644 index 00000000000..aff30a27acd --- /dev/null +++ b/src/storagesync/azext_storagesync/_client_factory.py @@ -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. +# -------------------------------------------------------------------------------------------- + + +def cf_storagesync(cli_ctx, *_): + from azure.cli.core.commands.client_factory import get_mgmt_service_client + from .vendored_sdks.storagesync import StorageSyncManagementClient + return get_mgmt_service_client(cli_ctx, StorageSyncManagementClient) + + +def cf_storage_sync_services(cli_ctx, *_): + return cf_storagesync(cli_ctx).storage_sync_services + + +def cf_sync_groups(cli_ctx, *_): + return cf_storagesync(cli_ctx).sync_groups + + +def cf_cloud_endpoints(cli_ctx, *_): + return cf_storagesync(cli_ctx).cloud_endpoints + + +def cf_server_endpoints(cli_ctx, *_): + return cf_storagesync(cli_ctx).server_endpoints + + +def cf_registered_servers(cli_ctx, *_): + return cf_storagesync(cli_ctx).registered_servers + + +def cf_workflows(cli_ctx, *_): + return cf_storagesync(cli_ctx).workflows + + +def cf_operation_status(cli_ctx, *_): + return cf_storagesync(cli_ctx).operation_status diff --git a/src/storagesync/azext_storagesync/_help.py b/src/storagesync/azext_storagesync/_help.py new file mode 100644 index 00000000000..dfeb08973e2 --- /dev/null +++ b/src/storagesync/azext_storagesync/_help.py @@ -0,0 +1,285 @@ +# coding=utf-8 +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +# pylint: disable=too-many-lines +# pylint: disable=line-too-long +from knack.help_files import helps # pylint: disable=unused-import + + +helps['storagesync'] = """ + type: group + short-summary: Manage Azure File Sync. +""" + +helps['storagesync create'] = """ + type: command + short-summary: Create a new storage sync service. + examples: + - name: Create a new storage sync service "SampleStorageSyncService" in resource group 'SampleResourceGroup'. + text: |- + az storagesync create --resource-group "SampleResourceGroup" \\ + --name "SampleStorageSyncService" --location "WestUS" --tags key1=value1 +""" + +helps['storagesync delete'] = """ + type: command + short-summary: Delete a given storage sync service. + examples: + - name: Delete a storage sync service "SampleStorageSyncService" in resource group 'SampleResourceGroup'. + text: |- + az storagesync delete --resource-group "SampleResourceGroup" \\ + --name "SampleStorageSyncService" +""" + +helps['storagesync show'] = """ + type: command + short-summary: Show the properties for a given storage sync service. + examples: + - name: Show the properties for storage sync service "SampleStorageSyncService" in resource group 'SampleResourceGroup'. + text: |- + az storagesync show --resource-group "SampleResourceGroup" --name \\ + "SampleStorageSyncService" +""" + +helps['storagesync list'] = """ + type: command + short-summary: List all storage sync services in a resource group or a subscription. + examples: + - name: List all storage sync services in a resource group "SampleResourceGroup". + text: |- + az storagesync list --resource-group "SampleResourceGroup" + - name: List all storage sync services in current subscription + text: |- + az storagesync list +""" + +helps['storagesync sync-group'] = """ + type: group + short-summary: Manage sync group. +""" + +helps['storagesync sync-group create'] = """ + type: command + short-summary: Create a new sync group. + examples: + - name: Create a new sync group "SampleSyncGroup" in storage sync service "SampleStorageSyncService". + text: |- + az storagesync sync-group create --resource-group "SampleResourceGroup" \\ + --storage-sync-service "SampleStorageSyncService" --name "SampleSyncGroup" +""" + +helps['storagesync sync-group delete'] = """ + type: command + short-summary: Delete a given sync group. + examples: + - name: Delete sync group "SampleSyncGroup" in storage sync service "SampleStorageSyncService". + text: |- + az storagesync sync-group delete --resource-group "SampleResourceGroup" \\ + --storage-sync-service "SampleStorageSyncService" --name "SampleSyncGroup" +""" + +helps['storagesync sync-group show'] = """ + type: command + short-summary: Show the properties for a given sync group. + examples: + - name: Show the properties for sync group "SampleSyncGroup" in storage sync service "SampleStorageSyncService". + text: |- + az storagesync sync-group show --resource-group "SampleResourceGroup" \\ + --storage-sync-service "SampleStorageSyncService" --name "SampleSyncGroup" +""" + +helps['storagesync sync-group list'] = """ + type: command + short-summary: List all sync groups in a storage sync service. + examples: + - name: List all sync groups in storage sync service "SampleStorageSyncService". + text: |- + az storagesync sync-group list --resource-group "SampleResourceGroup" \\ + --storage-sync-service "SampleStorageSyncService" +""" + +helps['storagesync sync-group cloud-endpoint'] = """ + type: group + short-summary: Manage cloud endpoint. +""" + +helps['storagesync sync-group cloud-endpoint create'] = """ + type: command + short-summary: Create a new cloud endpoint. + examples: + - name: Create a new cloud endpoint "SampleCloudEndpoint" in sync group "SampleSyncGroup". + text: |- + az storagesync sync-group cloud-endpoint create --resource-group "SampleResourceGroup" \\ + --storage-sync-service "SampleStorageSyncService" --sync-group-name \\ + "SampleSyncGroup" --name "SampleCloudEndpoint" --storage-account storageaccountnameorid --azure-file-share-name \\ + "cvcloud-afscv-0719-058-a94a1354-a1fd-4e9a-9a50-919fad8c4ba4" +""" + +helps['storagesync sync-group cloud-endpoint delete'] = """ + type: command + short-summary: Delete a given cloud endpoint. + examples: + - name: Delete cloud endpoint "SampleCloudEndpoint". + text: |- + az storagesync sync-group cloud-endpoint delete --resource-group "SampleResourceGroup" \\ + --storage-sync-service "SampleStorageSyncService" --sync-group-name \\ + "SampleSyncGroup" --name "SampleCloudEndpoint" +""" + +helps['storagesync sync-group cloud-endpoint show'] = """ + type: command + short-summary: Show the properties for a given cloud endpoint. + examples: + - name: Show the properties for cloud endpoint "SampleCloudEndpoint". + text: |- + az storagesync sync-group cloud-endpoint show --resource-group "SampleResourceGroup" \\ + --storage-sync-service "SampleStorageSyncService" --sync-group-name \\ + "SampleSyncGroup" --name "SampleCloudEndpoint" +""" + +helps['storagesync sync-group cloud-endpoint list'] = """ + type: command + short-summary: List all cloud endpoints in a sync group. + examples: + - name: List all cloud endpoints in sync group "SampleSyncGroup". + text: |- + az storagesync sync-group cloud-endpoint list --resource-group "SampleResourceGroup" \\ + --storage-sync-service "SampleStorageSyncService" --sync-group-name \\ + "SampleSyncGroup" +""" + +helps['storagesync sync-group cloud-endpoint wait'] = """ + type: command + short-summary: Place the CLI in a waiting state until a condition of a cloud endpoint is met. + examples: + - name: Place the CLI in a waiting state until a condition of a cloud endpoint is created. + text: |- + az storagesync sync-group cloud-endpoint wait --resource-group "SampleResourceGroup" \\ + --storage-sync-service "SampleStorageSyncService" --sync-group-name \\ + "SampleSyncGroup" --name "SampleCloudEndpoint" --created +""" + +helps['storagesync sync-group server-endpoint'] = """ + type: group + short-summary: Manage server endpoint. +""" + +helps['storagesync sync-group server-endpoint create'] = """ + type: command + short-summary: Create a new server endpoint. + examples: + - name: Create a new server endpoint "SampleServerEndpoint" in sync group "SampleSyncGroup". + text: |- + az storagesync sync-group server-endpoint create --resource-group "SampleResourceGroup" \\ + --storage-sync-service "SampleStorageSyncService" --sync-group-name \\ + "SampleSyncGroup" --name "SampleServerEndpoint" --server-id 91beed22-7e9e-4bda-9313-fec96cf286e0 \\ + --server-local-path "d:\\abc" --cloud-tiering "off" --volume-free-space-percent 80 --tier-files-older-than-days 20 \\ + --offline-data-transfer "on" --offline-data-transfer-share-name "myfileshare" +""" + +helps['storagesync sync-group server-endpoint update'] = """ + type: command + short-summary: Update the properties for a given server endpoint. + examples: + - name: Update the properties for server endpoint "SampleServerEndpoint". + text: |- + az storagesync sync-group server-endpoint update --resource-group "SampleResourceGroup" \\ + --storage-sync-service "SampleStorageSyncService" --sync-group-name \\ + "SampleSyncGroup" --name "SampleServerEndpoint" --cloud-tiering "off" \\ + --volume-free-space-percent "100" --tier-files-older-than-days "0" \\ + --offline-data-transfer "off" +""" + +helps['storagesync sync-group server-endpoint delete'] = """ + type: command + short-summary: Delete a given server endpoint. + examples: + - name: Delete a server endpoint "SampleServerEndpoint". + text: |- + az storagesync sync-group server-endpoint delete --resource-group "SampleResourceGroup" \\ + --storage-sync-service "SampleStorageSyncService" --sync-group-name \\ + "SampleSyncGroup" --name "SampleServerEndpoint" +""" + +helps['storagesync sync-group server-endpoint show'] = """ + type: command + short-summary: Show the properties for a given server endpoint. + examples: + - name: Show the properties for server endpoint "SampleServerEndpoint". + text: |- + az storagesync sync-group server-endpoint show --resource-group "SampleResourceGroup" \\ + --storage-sync-service "SampleStorageSyncService" --sync-group-name \\ + "SampleSyncGroup" --name "SampleServerEndpoint" +""" + +helps['storagesync sync-group server-endpoint list'] = """ + type: command + short-summary: List all server endpoints in a sync group. + examples: + - name: List all server endpoints in sync group "SampleSyncGroup". + text: |- + az storagesync sync-group server-endpoint list --resource-group "SampleResourceGroup" \\ + --storage-sync-service "SampleStorageSyncService" --sync-group-name \\ + "SampleSyncGroup" +""" + +helps['storagesync sync-group server-endpoint wait'] = """ + type: command + short-summary: Place the CLI in a waiting state until a condition of a server endpoint is met. + examples: + - name: Place the CLI in a waiting state until a condition of a server endpoint is created. + text: |- + az storagesync sync-group server-endpoint wait --resource-group "SampleResourceGroup" \\ + --storage-sync-service "SampleStorageSyncService" --sync-group-name \\ + "SampleSyncGroup" --name "SampleServerEndpoint" --created +""" + +helps['storagesync registered-server'] = """ + type: group + short-summary: Manage registered server. +""" + +helps['storagesync registered-server delete'] = """ + type: command + short-summary: Unregister an on-premises server from it's storage sync service. + long-summary: Unregister an on-premises server from it's storage sync service which will result in cascading deletes of all server endpoints on this server. + examples: + - name: Unregister an on-premises server "41166691-ab03-43e9-ab3e-0330eda162ac" from it's storage sync service "SampleStorageSyncService". + text: |- + az storagesync registered-server delete --resource-group "SampleResourceGroup" --storage-sync-service \\ + "SampleStorageSyncService" --server-id "41166691-ab03-43e9-ab3e-0330eda162ac" +""" + +helps['storagesync registered-server show'] = """ + type: command + short-summary: Show the properties for a given registered server. + examples: + - name: Show the properties for registered server "080d4133-bdb5-40a0-96a0-71a6057bfe9a". + text: |- + az storagesync registered-server show --resource-group "SampleResourceGroup" --storage-sync-service \\ + "SampleStorageSyncService" --server-id "080d4133-bdb5-40a0-96a0-71a6057bfe9a" +""" + +helps['storagesync registered-server list'] = """ + type: command + short-summary: List all registered servers for a given storage sync service. + examples: + - name: List all registered servers for storage sync service "SampleStorageSyncService". + text: |- + az storagesync registered-server list --resource-group "SampleResourceGroup" --storage-sync-service \\ + "SampleStorageSyncService" +""" + +helps['storagesync registered-server wait'] = """ + type: command + short-summary: Place the CLI in a waiting state until a condition of a registered server is met. + examples: + - name: Place the CLI in a waiting state until a condition of a registered server is deleted. + text: |- + az storagesync registered-server wait --resource-group "SampleResourceGroup" \\ + --storage-sync-service "SampleStorageSyncService" \\ + --server-id "080d4133-bdb5-40a0-96a0-71a6057bfe9a" --deleted +""" diff --git a/src/storagesync/azext_storagesync/_params.py b/src/storagesync/azext_storagesync/_params.py new file mode 100644 index 00000000000..f9d9cfdcffd --- /dev/null +++ b/src/storagesync/azext_storagesync/_params.py @@ -0,0 +1,164 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- +# pylint: disable=line-too-long +# pylint: disable=too-many-lines +# pylint: disable=too-many-statements + +from azext_storagesync._validators import parse_storage_account, parse_server_id, parse_storage_sync_service +from azure.cli.core.commands.parameters import ( + tags_type, + get_enum_type, + resource_group_name_type, + get_location_type, name_type) + +from azure.cli.core.commands.validators import get_default_location_from_resource_group +from knack.arguments import CLIArgumentType + + +def load_arguments(self, _): + custom_resource_group_name_type = CLIArgumentType(arg_type=resource_group_name_type, required=False) + storage_sync_service_name_type = CLIArgumentType(arg_type=name_type, help='The name of storage sync service.', id_part='name') + storage_sync_service_type = CLIArgumentType(options_list='--storage-sync-service', help='The name or ID of storage sync service.', validator=parse_storage_sync_service) + sync_group_name_type = CLIArgumentType(help='The name of sync group.') + cloud_endpoint_name_type = CLIArgumentType(help='The name of cloud endpoint.') + server_endpoint_name_type = CLIArgumentType(help='The name of server endpoint.') + azure_file_share_name_type = CLIArgumentType(help='The name of Azure file share.') + storage_account_type = CLIArgumentType(options_list='--storage-account', + help='The name or ID of the storage account.', + validator=parse_storage_account) + storage_account_tenant_id_type = CLIArgumentType(help='The id of the tenant that the storage account is in.') + server_resource_id_type = CLIArgumentType(options_list=['--registered-server-id', '--server-id'], + help='The resource id or GUID of the registered server.', + validator=parse_server_id) + server_id_type = CLIArgumentType(help='GUID identifying the on-premises server.') + cloud_tiering_type = CLIArgumentType(arg_type=get_enum_type(['on', 'off']), help='A switch to enable or disable cloud tiering. With cloud tiering, infrequently used or accessed files can be tiered to Azure Files.') + volume_free_space_percent_type = CLIArgumentType(help='The amount of free space to reserve on the volume on which the server endpoint is located. For example, if volume free space is set to 50% on a volume that has a single server endpoint, roughly half the amount of data is tiered to Azure Files. Regardless of whether cloud tiering is enabled, your Azure file share always has a complete copy of the data in the sync group.') + offline_data_transfer_type = CLIArgumentType(arg_type=get_enum_type(['on', 'off']), help='A switch to enable or disable offline data transfer. With offline data transfer, you can use alternative means, like Azure Data Box, to transport large amounts of files into Azure without network.') + offline_data_transfer_share_name_type = CLIArgumentType(help='The name of Azure file share that is used to transfer data offline.') + tier_files_older_than_days_type = CLIArgumentType(help='The days that the files are older than will be tiered.') + + with self.argument_context('storagesync create') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('storage_sync_service_name', storage_sync_service_name_type) + c.argument('location', arg_type=get_location_type(self.cli_ctx), + validator=get_default_location_from_resource_group) + c.argument('tags', tags_type, default={}) # tags must be at least an empty dictionary instead of None. (May be a bug in service and will check with service team.) + + with self.argument_context('storagesync delete') as c: + c.argument('resource_group_name', custom_resource_group_name_type) + c.argument('storage_sync_service_name', storage_sync_service_name_type) + + with self.argument_context('storagesync show') as c: + c.argument('resource_group_name', custom_resource_group_name_type) + c.argument('storage_sync_service_name', storage_sync_service_name_type) + + with self.argument_context('storagesync list') as c: + c.argument('resource_group_name', resource_group_name_type) + + with self.argument_context('storagesync sync-group create') as c: + c.argument('resource_group_name', custom_resource_group_name_type) + c.argument('storage_sync_service_name', storage_sync_service_type) + c.argument('sync_group_name', sync_group_name_type, options_list=['--name', '-n']) + + with self.argument_context('storagesync sync-group delete') as c: + c.argument('resource_group_name', custom_resource_group_name_type) + c.argument('storage_sync_service_name', storage_sync_service_type) + c.argument('sync_group_name', sync_group_name_type, options_list=['--name', '-n']) + + with self.argument_context('storagesync sync-group show') as c: + c.argument('resource_group_name', custom_resource_group_name_type) + c.argument('storage_sync_service_name', storage_sync_service_type) + c.argument('sync_group_name', sync_group_name_type, options_list=['--name', '-n']) + + with self.argument_context('storagesync sync-group list') as c: + c.argument('resource_group_name', custom_resource_group_name_type) + c.argument('storage_sync_service_name', storage_sync_service_type) + + with self.argument_context('storagesync sync-group cloud-endpoint create') as c: + c.argument('resource_group_name', custom_resource_group_name_type) + c.argument('storage_sync_service_name', storage_sync_service_type) + c.argument('sync_group_name', sync_group_name_type) + c.argument('cloud_endpoint_name', cloud_endpoint_name_type, options_list=['--name', '-n']) + c.argument('storage_account_resource_id', storage_account_type) + c.argument('azure_file_share_name', azure_file_share_name_type) + c.argument('storage_account_tenant_id', storage_account_tenant_id_type) + + with self.argument_context('storagesync sync-group cloud-endpoint delete') as c: + c.argument('resource_group_name', custom_resource_group_name_type) + c.argument('storage_sync_service_name', storage_sync_service_type) + c.argument('sync_group_name', sync_group_name_type) + c.argument('cloud_endpoint_name', cloud_endpoint_name_type, options_list=['--name', '-n']) + + with self.argument_context('storagesync sync-group cloud-endpoint show') as c: + c.argument('resource_group_name', custom_resource_group_name_type) + c.argument('storage_sync_service_name', storage_sync_service_type) + c.argument('sync_group_name', sync_group_name_type) + c.argument('cloud_endpoint_name', cloud_endpoint_name_type, options_list=['--name', '-n']) + + with self.argument_context('storagesync sync-group cloud-endpoint list') as c: + c.argument('resource_group_name', custom_resource_group_name_type) + c.argument('storage_sync_service_name', storage_sync_service_type) + c.argument('sync_group_name', sync_group_name_type) + + with self.argument_context('storagesync sync-group cloud-endpoint wait') as c: + c.argument('cloud_endpoint_name', cloud_endpoint_name_type, options_list=['--name', '-n']) + + with self.argument_context('storagesync sync-group server-endpoint create') as c: + c.argument('resource_group_name', custom_resource_group_name_type) + c.argument('storage_sync_service_name', storage_sync_service_type) + c.argument('sync_group_name', sync_group_name_type) + c.argument('server_endpoint_name', server_endpoint_name_type, options_list=['--name', '-n']) + c.argument('server_resource_id', server_resource_id_type) + c.argument('server_local_path', help='The local path of the registered server.') + c.argument('cloud_tiering', cloud_tiering_type) + c.argument('volume_free_space_percent', volume_free_space_percent_type) + c.argument('tier_files_older_than_days', tier_files_older_than_days_type) + c.argument('offline_data_transfer', offline_data_transfer_type) + c.argument('offline_data_transfer_share_name', offline_data_transfer_share_name_type) + + with self.argument_context('storagesync sync-group server-endpoint update') as c: + c.argument('resource_group_name', custom_resource_group_name_type) + c.argument('storage_sync_service_name', storage_sync_service_type) + c.argument('sync_group_name', sync_group_name_type) + c.argument('server_endpoint_name', server_endpoint_name_type, options_list=['--name', '-n']) + c.argument('cloud_tiering', cloud_tiering_type) + c.argument('volume_free_space_percent', volume_free_space_percent_type) + c.argument('tier_files_older_than_days', tier_files_older_than_days_type) + c.argument('offline_data_transfer', offline_data_transfer_type) + c.argument('offline_data_transfer_share_name', offline_data_transfer_share_name_type) + + with self.argument_context('storagesync sync-group server-endpoint delete') as c: + c.argument('resource_group_name', custom_resource_group_name_type) + c.argument('storage_sync_service_name', storage_sync_service_type) + c.argument('sync_group_name', sync_group_name_type) + c.argument('server_endpoint_name', server_endpoint_name_type, options_list=['--name', '-n']) + + with self.argument_context('storagesync sync-group server-endpoint show') as c: + c.argument('resource_group_name', custom_resource_group_name_type) + c.argument('storage_sync_service_name', storage_sync_service_type) + c.argument('sync_group_name', sync_group_name_type) + c.argument('server_endpoint_name', server_endpoint_name_type, options_list=['--name', '-n']) + + with self.argument_context('storagesync sync-group server-endpoint list') as c: + c.argument('resource_group_name', custom_resource_group_name_type) + c.argument('storage_sync_service_name', storage_sync_service_type) + c.argument('sync_group_name', sync_group_name_type) + + with self.argument_context('storagesync sync-group server-endpoint wait') as c: + c.argument('server_endpoint_name', server_endpoint_name_type, options_list=['--name', '-n']) + + with self.argument_context('storagesync registered-server delete') as c: + c.argument('resource_group_name', custom_resource_group_name_type) + c.argument('storage_sync_service_name', storage_sync_service_type) + c.argument('server_id', server_id_type) + + with self.argument_context('storagesync registered-server show') as c: + c.argument('resource_group_name', custom_resource_group_name_type) + c.argument('storage_sync_service_name', storage_sync_service_type) + c.argument('server_id', server_id_type) + + with self.argument_context('storagesync registered-server list') as c: + c.argument('resource_group_name', custom_resource_group_name_type) + c.argument('storage_sync_service_name', storage_sync_service_type) diff --git a/src/storagesync/azext_storagesync/_validators.py b/src/storagesync/azext_storagesync/_validators.py new file mode 100644 index 00000000000..bb2540baa15 --- /dev/null +++ b/src/storagesync/azext_storagesync/_validators.py @@ -0,0 +1,57 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + + +def parse_storage_sync_service(namespace): + from msrestazure.tools import is_valid_resource_id, parse_resource_id + + if namespace.storage_sync_service_name and is_valid_resource_id(namespace.storage_sync_service_name): + namespace.resource_group_name = parse_resource_id(namespace.storage_sync_service_name)['resource_group'] + namespace.storage_sync_service_name = parse_resource_id(namespace.storage_sync_service_name)['name'] + + +def parse_server_id(cmd, namespace): + from azure.cli.core.commands.client_factory import get_subscription_id + from msrestazure.tools import is_valid_resource_id, resource_id + + if namespace.server_resource_id and not is_valid_resource_id(namespace.server_resource_id): + namespace.server_resource_id = resource_id( + subscription=get_subscription_id(cmd.cli_ctx), + resource_group=namespace.resource_group_name, + namespace='Microsoft.StorageSync', + type='storageSyncServices', + name=namespace.storage_sync_service_name, + child_type_1='registeredServers', + child_name_1=namespace.server_resource_id + ) + + +def parse_storage_account(cmd, namespace): + from azure.cli.core.commands.client_factory import get_subscription_id + from msrestazure.tools import is_valid_resource_id, resource_id + + if namespace.storage_account_resource_id: + if not is_valid_resource_id(namespace.storage_account_resource_id): + namespace.storage_account_resource_id = resource_id( + subscription=get_subscription_id(cmd.cli_ctx), + resource_group=namespace.resource_group_name, + namespace='Microsoft.Storage', + type='storageAccounts', + name=namespace.storage_account_resource_id + ) + + if not namespace.storage_account_tenant_id: + namespace.storage_account_tenant_id = _get_tenant_id() + + +def _get_tenant_id(): + ''' + Gets tenantId from current subscription. + ''' + from azure.cli.core._profile import Profile + + profile = Profile() + sub = profile.get_subscription() + return sub['tenantId'] diff --git a/src/storagesync/azext_storagesync/azext_metadata.json b/src/storagesync/azext_storagesync/azext_metadata.json new file mode 100644 index 00000000000..13025150393 --- /dev/null +++ b/src/storagesync/azext_storagesync/azext_metadata.json @@ -0,0 +1,4 @@ +{ + "azext.isExperimental": true, + "azext.minCliCoreVersion": "2.3.1" +} \ No newline at end of file diff --git a/src/storagesync/azext_storagesync/commands.py b/src/storagesync/azext_storagesync/commands.py new file mode 100644 index 00000000000..f1d71da8978 --- /dev/null +++ b/src/storagesync/azext_storagesync/commands.py @@ -0,0 +1,69 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +# pylint: disable=line-too-long +# pylint: disable=too-many-lines +# pylint: disable=too-many-statements +# pylint: disable=too-many-locals +from azure.cli.core.commands import CliCommandType + + +def load_command_table(self, _): + + from ._client_factory import cf_storage_sync_services + storagesync_storage_sync_services = CliCommandType( + operations_tmpl='azext_storagesync.vendored_sdks.storagesync.operations._storage_sync_services_operations#StorageSyncServicesOperations.{}', + client_factory=cf_storage_sync_services) + with self.command_group('storagesync', storagesync_storage_sync_services, client_factory=cf_storage_sync_services) as g: + g.custom_command('create', 'create_storagesync_storage_sync_service') + g.custom_command('delete', 'delete_storagesync_storage_sync_service', confirmation=True) + g.custom_show_command('show', 'get_storagesync_storage_sync_service') + g.custom_command('list', 'list_storagesync_storage_sync_service') + + from ._client_factory import cf_sync_groups + storagesync_sync_groups = CliCommandType( + operations_tmpl='azext_storagesync.vendored_sdks.storagesync.operations._sync_groups_operations#SyncGroupsOperations.{}', + client_factory=cf_sync_groups) + with self.command_group('storagesync sync-group', storagesync_sync_groups, client_factory=cf_sync_groups) as g: + g.custom_command('create', 'create_storagesync_sync_group') + g.custom_command('delete', 'delete_storagesync_sync_group', confirmation=True) + g.custom_show_command('show', 'get_storagesync_sync_group') + g.custom_command('list', 'list_storagesync_sync_group') + + from ._client_factory import cf_cloud_endpoints + storagesync_cloud_endpoints = CliCommandType( + operations_tmpl='azext_storagesync.vendored_sdks.storagesync.operations._cloud_endpoints_operations#CloudEndpointsOperations.{}', + client_factory=cf_cloud_endpoints) + with self.command_group('storagesync sync-group cloud-endpoint', storagesync_cloud_endpoints, client_factory=cf_cloud_endpoints) as g: + g.custom_command('create', 'create_storagesync_cloud_endpoint', supports_no_wait=True) + g.custom_command('delete', 'delete_storagesync_cloud_endpoint', supports_no_wait=True, confirmation=True) + g.custom_show_command('show', 'get_storagesync_cloud_endpoint') + g.custom_command('list', 'list_storagesync_cloud_endpoint') + g.wait_command('wait') + + from ._client_factory import cf_server_endpoints + storagesync_server_endpoints = CliCommandType( + operations_tmpl='azext_storagesync.vendored_sdks.storagesync.operations._server_endpoints_operations#ServerEndpointsOperations.{}', + client_factory=cf_server_endpoints) + with self.command_group('storagesync sync-group server-endpoint', storagesync_server_endpoints, client_factory=cf_server_endpoints) as g: + g.custom_command('create', 'create_storagesync_server_endpoint', supports_no_wait=True) + g.custom_command('update', 'update_storagesync_server_endpoint', supports_no_wait=True) + g.custom_command('delete', 'delete_storagesync_server_endpoint', supports_no_wait=True, confirmation=True) + g.custom_show_command('show', 'get_storagesync_server_endpoint') + g.custom_command('list', 'list_storagesync_server_endpoint') + g.wait_command('wait') + + from ._client_factory import cf_registered_servers + storagesync_registered_servers = CliCommandType( + operations_tmpl='azext_storagesync.vendored_sdks.storagesync.operations._registered_servers_operations#RegisteredServersOperations.{}', + client_factory=cf_registered_servers) + with self.command_group('storagesync registered-server', storagesync_registered_servers, client_factory=cf_registered_servers) as g: + g.custom_command('delete', 'delete_storagesync_registered_server', supports_no_wait=True, confirmation=True) + g.custom_show_command('show', 'get_storagesync_registered_server') + g.custom_command('list', 'list_storagesync_registered_server') + g.wait_command('wait') + + with self.command_group('storagesync', is_experimental=True) as g: + pass diff --git a/src/storagesync/azext_storagesync/custom.py b/src/storagesync/azext_storagesync/custom.py new file mode 100644 index 00000000000..9aa913f382a --- /dev/null +++ b/src/storagesync/azext_storagesync/custom.py @@ -0,0 +1,201 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- +# pylint: disable=line-too-long +# pylint: disable=too-many-statements +# pylint: disable=too-many-lines +# pylint: disable=too-many-locals +# pylint: disable=unused-argument +from azure.cli.core.util import sdk_no_wait + + +def create_storagesync_storage_sync_service(client, + resource_group_name, + storage_sync_service_name, + tags=None, + location=None): + body = {} + body['location'] = location # str + body['tags'] = tags # dictionary + return client.create(resource_group_name=resource_group_name, storage_sync_service_name=storage_sync_service_name, parameters=body) + + +def delete_storagesync_storage_sync_service(client, + resource_group_name, + storage_sync_service_name): + return client.delete(resource_group_name=resource_group_name, storage_sync_service_name=storage_sync_service_name) + + +def get_storagesync_storage_sync_service(client, + resource_group_name, + storage_sync_service_name): + return client.get(resource_group_name=resource_group_name, storage_sync_service_name=storage_sync_service_name) + + +def list_storagesync_storage_sync_service(client, + resource_group_name=None): + if resource_group_name: + return client.list_by_resource_group(resource_group_name=resource_group_name) + return client.list_by_subscription() + + +def create_storagesync_sync_group(client, + resource_group_name, + storage_sync_service_name, + sync_group_name): + return client.create(resource_group_name=resource_group_name, storage_sync_service_name=storage_sync_service_name, sync_group_name=sync_group_name) + + +def delete_storagesync_sync_group(client, + resource_group_name, + storage_sync_service_name, + sync_group_name): + return client.delete(resource_group_name=resource_group_name, storage_sync_service_name=storage_sync_service_name, sync_group_name=sync_group_name) + + +def get_storagesync_sync_group(client, + resource_group_name, + storage_sync_service_name, + sync_group_name): + return client.get(resource_group_name=resource_group_name, storage_sync_service_name=storage_sync_service_name, sync_group_name=sync_group_name) + + +def list_storagesync_sync_group(client, + resource_group_name, + storage_sync_service_name): + return client.list_by_storage_sync_service(resource_group_name=resource_group_name, storage_sync_service_name=storage_sync_service_name) + + +def create_storagesync_cloud_endpoint(client, + resource_group_name, + storage_sync_service_name, + sync_group_name, + cloud_endpoint_name, + storage_account_resource_id=None, + azure_file_share_name=None, + storage_account_tenant_id=None, + no_wait=False): + body = {} + body['storage_account_resource_id'] = storage_account_resource_id # str + body['azure_file_share_name'] = azure_file_share_name # str + body['storage_account_tenant_id'] = storage_account_tenant_id # str + return sdk_no_wait(no_wait, client.create, resource_group_name=resource_group_name, storage_sync_service_name=storage_sync_service_name, sync_group_name=sync_group_name, cloud_endpoint_name=cloud_endpoint_name, parameters=body) + + +def delete_storagesync_cloud_endpoint(client, + resource_group_name, + storage_sync_service_name, + sync_group_name, + cloud_endpoint_name, + no_wait=False): + return sdk_no_wait(no_wait, client.delete, resource_group_name=resource_group_name, storage_sync_service_name=storage_sync_service_name, sync_group_name=sync_group_name, cloud_endpoint_name=cloud_endpoint_name) + + +def get_storagesync_cloud_endpoint(client, + resource_group_name, + storage_sync_service_name, + sync_group_name, + cloud_endpoint_name): + return client.get(resource_group_name=resource_group_name, storage_sync_service_name=storage_sync_service_name, sync_group_name=sync_group_name, cloud_endpoint_name=cloud_endpoint_name) + + +def list_storagesync_cloud_endpoint(client, + resource_group_name, + storage_sync_service_name, + sync_group_name): + return client.list_by_sync_group(resource_group_name=resource_group_name, storage_sync_service_name=storage_sync_service_name, sync_group_name=sync_group_name) + + +def create_storagesync_server_endpoint(client, + resource_group_name, + storage_sync_service_name, + sync_group_name, + server_endpoint_name, + server_resource_id, + server_local_path, + cloud_tiering=None, + volume_free_space_percent=None, + tier_files_older_than_days=None, + offline_data_transfer=None, + offline_data_transfer_share_name=None, + no_wait=False): + body = {} + body['server_resource_id'] = server_resource_id # str + body['server_local_path'] = server_local_path # str + body['cloud_tiering'] = cloud_tiering # str + body['volume_free_space_percent'] = volume_free_space_percent # int + body['tier_files_older_than_days'] = tier_files_older_than_days # int + body['offline_data_transfer'] = offline_data_transfer # str + body['offline_data_transfer_share_name'] = offline_data_transfer_share_name # str + return sdk_no_wait(no_wait, client.create, resource_group_name=resource_group_name, storage_sync_service_name=storage_sync_service_name, sync_group_name=sync_group_name, server_endpoint_name=server_endpoint_name, parameters=body) + + +def update_storagesync_server_endpoint(client, + resource_group_name, + storage_sync_service_name, + sync_group_name, + server_endpoint_name, + cloud_tiering=None, + volume_free_space_percent=None, + tier_files_older_than_days=None, + offline_data_transfer=None, + offline_data_transfer_share_name=None, + no_wait=False): + body = {} + if cloud_tiering is not None: + body['cloud_tiering'] = cloud_tiering # str + if volume_free_space_percent is not None: + body['volume_free_space_percent'] = volume_free_space_percent # number + if tier_files_older_than_days is not None: + body['tier_files_older_than_days'] = tier_files_older_than_days # number + if offline_data_transfer is not None: + body['offline_data_transfer'] = offline_data_transfer # str + if offline_data_transfer_share_name is not None: + body['offline_data_transfer_share_name'] = offline_data_transfer_share_name # str + return sdk_no_wait(no_wait, client.update, resource_group_name=resource_group_name, storage_sync_service_name=storage_sync_service_name, sync_group_name=sync_group_name, server_endpoint_name=server_endpoint_name, parameters=body) + + +def delete_storagesync_server_endpoint(client, + resource_group_name, + storage_sync_service_name, + sync_group_name, + server_endpoint_name, + no_wait=False): + return sdk_no_wait(no_wait, client.delete, resource_group_name=resource_group_name, storage_sync_service_name=storage_sync_service_name, sync_group_name=sync_group_name, server_endpoint_name=server_endpoint_name) + + +def get_storagesync_server_endpoint(client, + resource_group_name, + storage_sync_service_name, + sync_group_name, + server_endpoint_name): + return client.get(resource_group_name=resource_group_name, storage_sync_service_name=storage_sync_service_name, sync_group_name=sync_group_name, server_endpoint_name=server_endpoint_name) + + +def list_storagesync_server_endpoint(client, + resource_group_name, + storage_sync_service_name, + sync_group_name): + return client.list_by_sync_group(resource_group_name=resource_group_name, storage_sync_service_name=storage_sync_service_name, sync_group_name=sync_group_name) + + +def delete_storagesync_registered_server(client, + resource_group_name, + storage_sync_service_name, + server_id, + no_wait=False): + return sdk_no_wait(no_wait, client.delete, resource_group_name=resource_group_name, storage_sync_service_name=storage_sync_service_name, server_id=server_id) + + +def get_storagesync_registered_server(client, + resource_group_name, + storage_sync_service_name, + server_id): + return client.get(resource_group_name=resource_group_name, storage_sync_service_name=storage_sync_service_name, server_id=server_id) + + +def list_storagesync_registered_server(client, + resource_group_name, + storage_sync_service_name): + return client.list_by_storage_sync_service(resource_group_name=resource_group_name, storage_sync_service_name=storage_sync_service_name) diff --git a/src/storagesync/azext_storagesync/tests/latest/recordings/test_storagesync.yaml b/src/storagesync/azext_storagesync/tests/latest/recordings/test_storagesync.yaml new file mode 100644 index 00000000000..f8c4f592327 --- /dev/null +++ b/src/storagesync/azext_storagesync/tests/latest/recordings/test_storagesync.yaml @@ -0,0 +1,2668 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage share create + Connection: + - keep-alive + ParameterSetName: + - --name --quota --account-name + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-storage/8.0.0 Azure-SDK-For-Python AZURECLI/2.2.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/storageAccounts?api-version=2019-06-01 + response: + body: + string: '{"value":[{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/Microsoft.Storage/storageAccounts/azureclitestrgdiag180","name":"azureclitestrgdiag180","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-12-30T03:44:58.6379144Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-12-30T03:44:58.6379144Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2019-12-30T03:44:58.5910120Z","primaryEndpoints":{"blob":"https://azureclitestrgdiag180.blob.core.windows.net/","queue":"https://azureclitestrgdiag180.queue.core.windows.net/","table":"https://azureclitestrgdiag180.table.core.windows.net/","file":"https://azureclitestrgdiag180.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azure-core-poc/providers/Microsoft.Storage/storageAccounts/azurecorepoc","name":"azurecorepoc","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-12-26T02:38:58.8233588Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-12-26T02:38:58.8233588Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-12-26T02:38:58.7452329Z","primaryEndpoints":{"dfs":"https://azurecorepoc.dfs.core.windows.net/","web":"https://azurecorepoc.z13.web.core.windows.net/","blob":"https://azurecorepoc.blob.core.windows.net/","queue":"https://azurecorepoc.queue.core.windows.net/","table":"https://azurecorepoc.table.core.windows.net/","file":"https://azurecorepoc.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://azurecorepoc-secondary.dfs.core.windows.net/","web":"https://azurecorepoc-secondary.z13.web.core.windows.net/","blob":"https://azurecorepoc-secondary.blob.core.windows.net/","queue":"https://azurecorepoc-secondary.queue.core.windows.net/","table":"https://azurecorepoc-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qianwens/providers/Microsoft.Storage/storageAccounts/qianwendev","name":"qianwendev","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qianwens/providers/Microsoft.Network/virtualNetworks/QIAN/subnets/default","action":"Allow","state":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qianwens/providers/Microsoft.Network/virtualNetworks/qianwendev/subnets/default","action":"Allow","state":"Succeeded"}],"ipRules":[{"value":"23.45.1.0/24","action":"Allow"},{"value":"23.45.1.1/24","action":"Allow"}],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-12T03:29:28.0084761Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-12T03:29:28.0084761Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-02-12T03:29:27.9459854Z","primaryEndpoints":{"dfs":"https://qianwendev.dfs.core.windows.net/","web":"https://qianwendev.z13.web.core.windows.net/","blob":"https://qianwendev.blob.core.windows.net/","queue":"https://qianwendev.queue.core.windows.net/","table":"https://qianwendev.table.core.windows.net/","file":"https://qianwendev.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://qianwendev-secondary.dfs.core.windows.net/","web":"https://qianwendev-secondary.z13.web.core.windows.net/","blob":"https://qianwendev-secondary.blob.core.windows.net/","queue":"https://qianwendev-secondary.queue.core.windows.net/","table":"https://qianwendev-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qianwens/providers/Microsoft.Storage/storageAccounts/qianwenhpctarget","name":"qianwenhpctarget","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-06T07:09:20.3073299Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-06T07:09:20.3073299Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-06T07:09:20.2291899Z","primaryEndpoints":{"dfs":"https://qianwenhpctarget.dfs.core.windows.net/","web":"https://qianwenhpctarget.z13.web.core.windows.net/","blob":"https://qianwenhpctarget.blob.core.windows.net/","queue":"https://qianwenhpctarget.queue.core.windows.net/","table":"https://qianwenhpctarget.table.core.windows.net/","file":"https://qianwenhpctarget.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://qianwenhpctarget-secondary.dfs.core.windows.net/","web":"https://qianwenhpctarget-secondary.z13.web.core.windows.net/","blob":"https://qianwenhpctarget-secondary.blob.core.windows.net/","queue":"https://qianwenhpctarget-secondary.queue.core.windows.net/","table":"https://qianwenhpctarget-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/Microsoft.Storage/storageAccounts/storeayniadjso4lay","name":"storeayniadjso4lay","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-14T15:40:43.7851387Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-14T15:40:43.7851387Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-14T15:40:43.7070117Z","primaryEndpoints":{"dfs":"https://storeayniadjso4lay.dfs.core.windows.net/","web":"https://storeayniadjso4lay.z13.web.core.windows.net/","blob":"https://storeayniadjso4lay.blob.core.windows.net/","queue":"https://storeayniadjso4lay.queue.core.windows.net/","table":"https://storeayniadjso4lay.table.core.windows.net/","file":"https://storeayniadjso4lay.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zhoxing-test/providers/Microsoft.Storage/storageAccounts/azhoxingtest9851","name":"azhoxingtest9851","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{"hidden-DevTestLabs-LabUId":"6e279161-d008-42b7-90a1-6801fc4bc4ca"},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-21T05:43:15.2811036Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-21T05:43:15.2811036Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-02-21T05:43:15.2029670Z","primaryEndpoints":{"dfs":"https://azhoxingtest9851.dfs.core.windows.net/","web":"https://azhoxingtest9851.z22.web.core.windows.net/","blob":"https://azhoxingtest9851.blob.core.windows.net/","queue":"https://azhoxingtest9851.queue.core.windows.net/","table":"https://azhoxingtest9851.table.core.windows.net/","file":"https://azhoxingtest9851.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/Microsoft.Storage/storageAccounts/azureclitestrgdiag","name":"azureclitestrgdiag","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-12-30T02:54:26.8971309Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-12-30T02:54:26.8971309Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2019-12-30T02:54:26.8502755Z","primaryEndpoints":{"blob":"https://azureclitestrgdiag.blob.core.windows.net/","queue":"https://azureclitestrgdiag.queue.core.windows.net/","table":"https://azureclitestrgdiag.table.core.windows.net/","file":"https://azureclitestrgdiag.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesyncewzqda3p3syseopedt2lhfsgsw7dgbj3ukiy4ypayg7dy4az4e3hhsj/providers/Microsoft.Storage/storageAccounts/clitest54vifrk7bm3ixknkx","name":"clitest54vifrk7bm3ixknkx","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-17T07:31:57.9596880Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-17T07:31:57.9596880Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-17T07:31:57.8816266Z","primaryEndpoints":{"blob":"https://clitest54vifrk7bm3ixknkx.blob.core.windows.net/","queue":"https://clitest54vifrk7bm3ixknkx.queue.core.windows.net/","table":"https://clitest54vifrk7bm3ixknkx.table.core.windows.net/","file":"https://clitest54vifrk7bm3ixknkx.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databoxoe2qtcqlnxonqpub522jgmpzgeegwhowl2qo6xqgfwtqcd3jzicz5yraawi/providers/Microsoft.Storage/storageAccounts/clitest6yrafi3cntx2cngw3","name":"clitest6yrafi3cntx2cngw3","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-06T14:00:05.4412024Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-06T14:00:05.4412024Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-06T14:00:05.3786989Z","primaryEndpoints":{"blob":"https://clitest6yrafi3cntx2cngw3.blob.core.windows.net/","queue":"https://clitest6yrafi3cntx2cngw3.queue.core.windows.net/","table":"https://clitest6yrafi3cntx2cngw3.table.core.windows.net/","file":"https://clitest6yrafi3cntx2cngw3.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databoxn5n2vkeyewiwob4e7e6nqiblkvvgc5qorevejhsntblvdlc2t373rrvy45p/providers/Microsoft.Storage/storageAccounts/clitest75g6r5uwkj7ker7wu","name":"clitest75g6r5uwkj7ker7wu","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T06:35:53.9029562Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T06:35:53.9029562Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-03T06:35:53.8248647Z","primaryEndpoints":{"blob":"https://clitest75g6r5uwkj7ker7wu.blob.core.windows.net/","queue":"https://clitest75g6r5uwkj7ker7wu.queue.core.windows.net/","table":"https://clitest75g6r5uwkj7ker7wu.table.core.windows.net/","file":"https://clitest75g6r5uwkj7ker7wu.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox5gpbe2knrizxsitmvje3fbdl44tf6cvpfqbpvsyicxmupsbyhmlcrg4wesk/providers/Microsoft.Storage/storageAccounts/clitest7b5n3o4aahl5rafju","name":"clitest7b5n3o4aahl5rafju","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T08:27:23.1140038Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T08:27:23.1140038Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-03T08:27:23.0514944Z","primaryEndpoints":{"blob":"https://clitest7b5n3o4aahl5rafju.blob.core.windows.net/","queue":"https://clitest7b5n3o4aahl5rafju.queue.core.windows.net/","table":"https://clitest7b5n3o4aahl5rafju.table.core.windows.net/","file":"https://clitest7b5n3o4aahl5rafju.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databoxlekg7y4dtg2pnsaueisdkyqi5mnvmlwxto2cpu3kv7snll4uc37q2rm4wme/providers/Microsoft.Storage/storageAccounts/clitestcu3wv45lektdc3whs","name":"clitestcu3wv45lektdc3whs","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T08:35:04.7531702Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T08:35:04.7531702Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-03T08:35:04.6750427Z","primaryEndpoints":{"blob":"https://clitestcu3wv45lektdc3whs.blob.core.windows.net/","queue":"https://clitestcu3wv45lektdc3whs.queue.core.windows.net/","table":"https://clitestcu3wv45lektdc3whs.table.core.windows.net/","file":"https://clitestcu3wv45lektdc3whs.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databoxeg3csudujzrh2zcvbjytg6gvlkp6sjfcozveffblaqhrzhsslvpr54lg7n2/providers/Microsoft.Storage/storageAccounts/clitestgdfhjpgc2wgbrddlq","name":"clitestgdfhjpgc2wgbrddlq","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T06:28:55.9105364Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T06:28:55.9105364Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-03T06:28:55.8480330Z","primaryEndpoints":{"blob":"https://clitestgdfhjpgc2wgbrddlq.blob.core.windows.net/","queue":"https://clitestgdfhjpgc2wgbrddlq.queue.core.windows.net/","table":"https://clitestgdfhjpgc2wgbrddlq.table.core.windows.net/","file":"https://clitestgdfhjpgc2wgbrddlq.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databoxoe2qtcqlnxonqpub522jgmpzgeegwhowl2qo6xqgfwtqcd3jzicz5yraawi/providers/Microsoft.Storage/storageAccounts/clitestl6h6fa53d2gbmohn3","name":"clitestl6h6fa53d2gbmohn3","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-06T13:59:30.5816034Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-06T13:59:30.5816034Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-06T13:59:30.5034613Z","primaryEndpoints":{"blob":"https://clitestl6h6fa53d2gbmohn3.blob.core.windows.net/","queue":"https://clitestl6h6fa53d2gbmohn3.queue.core.windows.net/","table":"https://clitestl6h6fa53d2gbmohn3.table.core.windows.net/","file":"https://clitestl6h6fa53d2gbmohn3.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databoxfgdxtb5b3moqarfyogd7fcognbrlsihjlj3acnscrixetycujoejzzalyi3/providers/Microsoft.Storage/storageAccounts/clitestldg5uo7ika27utek4","name":"clitestldg5uo7ika27utek4","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T08:59:48.7196866Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T08:59:48.7196866Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-03T08:59:48.6728325Z","primaryEndpoints":{"blob":"https://clitestldg5uo7ika27utek4.blob.core.windows.net/","queue":"https://clitestldg5uo7ika27utek4.queue.core.windows.net/","table":"https://clitestldg5uo7ika27utek4.table.core.windows.net/","file":"https://clitestldg5uo7ika27utek4.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox52yrfbe7molrqhwdubnr2jcijd22xsz3hgcg3btf3sza5boeklwgzzq5sfn/providers/Microsoft.Storage/storageAccounts/clitestm7nikx6sld4npo42d","name":"clitestm7nikx6sld4npo42d","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-06T14:20:54.5597796Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-06T14:20:54.5597796Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-06T14:20:54.4972558Z","primaryEndpoints":{"blob":"https://clitestm7nikx6sld4npo42d.blob.core.windows.net/","queue":"https://clitestm7nikx6sld4npo42d.queue.core.windows.net/","table":"https://clitestm7nikx6sld4npo42d.table.core.windows.net/","file":"https://clitestm7nikx6sld4npo42d.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databoxrg2slunrj5vx5aydveu66wkj6rh3ildamkumi4zojpcf6f4vastgfp4v3rw/providers/Microsoft.Storage/storageAccounts/clitestmap7c2xyjf3gsd7yg","name":"clitestmap7c2xyjf3gsd7yg","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T09:10:56.7318732Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T09:10:56.7318732Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-03T09:10:56.6381622Z","primaryEndpoints":{"blob":"https://clitestmap7c2xyjf3gsd7yg.blob.core.windows.net/","queue":"https://clitestmap7c2xyjf3gsd7yg.queue.core.windows.net/","table":"https://clitestmap7c2xyjf3gsd7yg.table.core.windows.net/","file":"https://clitestmap7c2xyjf3gsd7yg.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databoxu7woflo47pjem4rfw2djuvafywtfnprfpduospdfotkqkudaylsua3ybqpa/providers/Microsoft.Storage/storageAccounts/clitestnxsheqf5s5rcht46h","name":"clitestnxsheqf5s5rcht46h","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T06:40:27.7931436Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T06:40:27.7931436Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-03T06:40:27.7305929Z","primaryEndpoints":{"blob":"https://clitestnxsheqf5s5rcht46h.blob.core.windows.net/","queue":"https://clitestnxsheqf5s5rcht46h.queue.core.windows.net/","table":"https://clitestnxsheqf5s5rcht46h.table.core.windows.net/","file":"https://clitestnxsheqf5s5rcht46h.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox52yrfbe7molrqhwdubnr2jcijd22xsz3hgcg3btf3sza5boeklwgzzq5sfn/providers/Microsoft.Storage/storageAccounts/clitestqsel4b35pkfyubvyx","name":"clitestqsel4b35pkfyubvyx","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-06T14:20:08.8041709Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-06T14:20:08.8041709Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-06T14:20:08.7417121Z","primaryEndpoints":{"blob":"https://clitestqsel4b35pkfyubvyx.blob.core.windows.net/","queue":"https://clitestqsel4b35pkfyubvyx.queue.core.windows.net/","table":"https://clitestqsel4b35pkfyubvyx.table.core.windows.net/","file":"https://clitestqsel4b35pkfyubvyx.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-17T07:49:45.7241486Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-17T07:49:45.7241486Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-17T07:49:45.6303899Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databoxam64dpcskfsb23dkj6zbvxysimh24e3upfdsdmuxbdl2j25ckz2uz5lht5y/providers/Microsoft.Storage/storageAccounts/clitesty2xsxbbcego73beie","name":"clitesty2xsxbbcego73beie","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T05:23:45.1933083Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T05:23:45.1933083Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-03T05:23:45.1308322Z","primaryEndpoints":{"blob":"https://clitesty2xsxbbcego73beie.blob.core.windows.net/","queue":"https://clitesty2xsxbbcego73beie.queue.core.windows.net/","table":"https://clitesty2xsxbbcego73beie.table.core.windows.net/","file":"https://clitesty2xsxbbcego73beie.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/jlrg/providers/Microsoft.Storage/storageAccounts/jlst","name":"jlst","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-17T07:11:23.6842270Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-17T07:11:23.6842270Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-17T07:11:23.6060987Z","primaryEndpoints":{"dfs":"https://jlst.dfs.core.windows.net/","web":"https://jlst.z22.web.core.windows.net/","blob":"https://jlst.blob.core.windows.net/","queue":"https://jlst.queue.core.windows.net/","table":"https://jlst.table.core.windows.net/","file":"https://jlst.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://jlst-secondary.dfs.core.windows.net/","web":"https://jlst-secondary.z22.web.core.windows.net/","blob":"https://jlst-secondary.blob.core.windows.net/","queue":"https://jlst-secondary.queue.core.windows.net/","table":"https://jlst-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azure-core-poc/providers/Microsoft.Storage/storageAccounts/sfsafsaf","name":"sfsafsaf","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-12T10:01:37.0551963Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-12T10:01:37.0551963Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-12T10:01:36.9614761Z","primaryEndpoints":{"dfs":"https://sfsafsaf.dfs.core.windows.net/","web":"https://sfsafsaf.z22.web.core.windows.net/","blob":"https://sfsafsaf.blob.core.windows.net/","queue":"https://sfsafsaf.queue.core.windows.net/","table":"https://sfsafsaf.table.core.windows.net/","file":"https://sfsafsaf.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"identity":{"principalId":"2a730f61-76ac-426b-a91d-4b130208ba0d","tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a","type":"SystemAssigned"},"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ygmanual3/providers/Microsoft.Storage/storageAccounts/ygmanual3","name":"ygmanual3","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-05T18:34:38.5168098Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-05T18:34:38.5168098Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-05T18:34:38.4543411Z","primaryEndpoints":{"dfs":"https://ygmanual3.dfs.core.windows.net/","web":"https://ygmanual3.z22.web.core.windows.net/","blob":"https://ygmanual3.blob.core.windows.net/","queue":"https://ygmanual3.queue.core.windows.net/","table":"https://ygmanual3.table.core.windows.net/","file":"https://ygmanual3.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://ygmanual3-secondary.dfs.core.windows.net/","web":"https://ygmanual3-secondary.z22.web.core.windows.net/","blob":"https://ygmanual3-secondary.blob.core.windows.net/","queue":"https://ygmanual3-secondary.queue.core.windows.net/","table":"https://ygmanual3-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yu-test-rg-westus/providers/Microsoft.Storage/storageAccounts/yutestdbsawestus","name":"yutestdbsawestus","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-25T11:11:24.7554090Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-25T11:11:24.7554090Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-02-25T11:11:24.6772540Z","primaryEndpoints":{"dfs":"https://yutestdbsawestus.dfs.core.windows.net/","web":"https://yutestdbsawestus.z22.web.core.windows.net/","blob":"https://yutestdbsawestus.blob.core.windows.net/","queue":"https://yutestdbsawestus.queue.core.windows.net/","table":"https://yutestdbsawestus.table.core.windows.net/","file":"https://yutestdbsawestus.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://yutestdbsawestus-secondary.dfs.core.windows.net/","web":"https://yutestdbsawestus-secondary.z22.web.core.windows.net/","blob":"https://yutestdbsawestus-secondary.blob.core.windows.net/","queue":"https://yutestdbsawestus-secondary.queue.core.windows.net/","table":"https://yutestdbsawestus-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yu-test-rg-westus/providers/Microsoft.Storage/storageAccounts/yutestlro","name":"yutestlro","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-28T07:50:15.1386919Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-28T07:50:15.1386919Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-02-28T07:50:15.0762161Z","primaryEndpoints":{"blob":"https://yutestlro.blob.core.windows.net/","queue":"https://yutestlro.queue.core.windows.net/","table":"https://yutestlro.table.core.windows.net/","file":"https://yutestlro.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"blob":"https://yutestlro-secondary.blob.core.windows.net/","queue":"https://yutestlro-secondary.queue.core.windows.net/","table":"https://yutestlro-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zhoxing-test/providers/Microsoft.Storage/storageAccounts/zhoxingtest2","name":"zhoxingtest2","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T03:09:41.7587583Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T03:09:41.7587583Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-03T03:09:41.6962163Z","primaryEndpoints":{"dfs":"https://zhoxingtest2.dfs.core.windows.net/","web":"https://zhoxingtest2.z22.web.core.windows.net/","blob":"https://zhoxingtest2.blob.core.windows.net/","queue":"https://zhoxingtest2.queue.core.windows.net/","table":"https://zhoxingtest2.table.core.windows.net/","file":"https://zhoxingtest2.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://zhoxingtest2-secondary.dfs.core.windows.net/","web":"https://zhoxingtest2-secondary.z22.web.core.windows.net/","blob":"https://zhoxingtest2-secondary.blob.core.windows.net/","queue":"https://zhoxingtest2-secondary.queue.core.windows.net/","table":"https://zhoxingtest2-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_GRS","tier":"Standard"},"kind":"BlobStorage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-my-standard-space-fez3hbt1bsvmr/providers/Microsoft.Storage/storageAccounts/dbstoragefez3hbt1bsvmr","name":"dbstoragefez3hbt1bsvmr","type":"Microsoft.Storage/storageAccounts","location":"eastasia","tags":{"application":"databricks","databricks-environment":"true"},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-16T03:14:00.7822307Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-16T03:14:00.7822307Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-16T03:14:00.7197710Z","primaryEndpoints":{"dfs":"https://dbstoragefez3hbt1bsvmr.dfs.core.windows.net/","blob":"https://dbstoragefez3hbt1bsvmr.blob.core.windows.net/","table":"https://dbstoragefez3hbt1bsvmr.table.core.windows.net/"},"primaryLocation":"eastasia","statusOfPrimary":"available","secondaryLocation":"southeastasia","statusOfSecondary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/feng-cli-rg/providers/Microsoft.Storage/storageAccounts/fengws1storage296335f3c7","name":"fengws1storage296335f3c7","type":"Microsoft.Storage/storageAccounts","location":"eastasia","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-14T14:41:02.2224956Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-14T14:41:02.2224956Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-02-14T14:41:02.1600089Z","primaryEndpoints":{"dfs":"https://fengws1storage296335f3c7.dfs.core.windows.net/","web":"https://fengws1storage296335f3c7.z7.web.core.windows.net/","blob":"https://fengws1storage296335f3c7.blob.core.windows.net/","queue":"https://fengws1storage296335f3c7.queue.core.windows.net/","table":"https://fengws1storage296335f3c7.table.core.windows.net/","file":"https://fengws1storage296335f3c7.file.core.windows.net/"},"primaryLocation":"eastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg6i4hl6iakg/providers/Microsoft.Storage/storageAccounts/clitestu3p7a7ib4n4y7gt4m","name":"clitestu3p7a7ib4n4y7gt4m","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-12-30T01:51:53.0814418Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-12-30T01:51:53.0814418Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2019-12-30T01:51:53.0189478Z","primaryEndpoints":{"blob":"https://clitestu3p7a7ib4n4y7gt4m.blob.core.windows.net/","queue":"https://clitestu3p7a7ib4n4y7gt4m.queue.core.windows.net/","table":"https://clitestu3p7a7ib4n4y7gt4m.table.core.windows.net/","file":"https://clitestu3p7a7ib4n4y7gt4m.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/jlrg1/providers/Microsoft.Storage/storageAccounts/jlcsst","name":"jlcsst","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-02T07:15:45.8047726Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-02T07:15:45.8047726Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-02T07:15:45.7422455Z","primaryEndpoints":{"dfs":"https://jlcsst.dfs.core.windows.net/","web":"https://jlcsst.z23.web.core.windows.net/","blob":"https://jlcsst.blob.core.windows.net/","queue":"https://jlcsst.queue.core.windows.net/","table":"https://jlcsst.table.core.windows.net/","file":"https://jlcsst.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/jlvm2rg/providers/Microsoft.Storage/storageAccounts/jlvm2rgdiag","name":"jlvm2rgdiag","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T04:41:48.6974827Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T04:41:48.6974827Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-03T04:41:48.6505931Z","primaryEndpoints":{"blob":"https://jlvm2rgdiag.blob.core.windows.net/","queue":"https://jlvm2rgdiag.queue.core.windows.net/","table":"https://jlvm2rgdiag.table.core.windows.net/","file":"https://jlvm2rgdiag.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qianwens/providers/Microsoft.Storage/storageAccounts/qianwensdiag","name":"qianwensdiag","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-04T07:17:09.1138103Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-04T07:17:09.1138103Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-02-04T07:17:09.0514178Z","primaryEndpoints":{"blob":"https://qianwensdiag.blob.core.windows.net/","queue":"https://qianwensdiag.queue.core.windows.net/","table":"https://qianwensdiag.table.core.windows.net/","file":"https://qianwensdiag.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yeming/providers/Microsoft.Storage/storageAccounts/yeming","name":"yeming","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-12-04T06:41:07.4012554Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-12-04T06:41:07.4012554Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-12-04T06:41:07.3699884Z","primaryEndpoints":{"dfs":"https://yeming.dfs.core.windows.net/","web":"https://yeming.z23.web.core.windows.net/","blob":"https://yeming.blob.core.windows.net/","queue":"https://yeming.queue.core.windows.net/","table":"https://yeming.table.core.windows.net/","file":"https://yeming.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available","secondaryLocation":"eastasia","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://yeming-secondary.dfs.core.windows.net/","web":"https://yeming-secondary.z23.web.core.windows.net/","blob":"https://yeming-secondary.blob.core.windows.net/","queue":"https://yeming-secondary.queue.core.windows.net/","table":"https://yeming-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/Microsoft.Storage/storageAccounts/azureclitestrgdiag748","name":"azureclitestrgdiag748","type":"Microsoft.Storage/storageAccounts","location":"japaneast","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-01T05:17:58.5405622Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-01T05:17:58.5405622Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-01T05:17:58.4936629Z","primaryEndpoints":{"blob":"https://azureclitestrgdiag748.blob.core.windows.net/","queue":"https://azureclitestrgdiag748.queue.core.windows.net/","table":"https://azureclitestrgdiag748.table.core.windows.net/","file":"https://azureclitestrgdiag748.file.core.windows.net/"},"primaryLocation":"japaneast","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/bim-rg/providers/Microsoft.Storage/storageAccounts/bimrgdiag","name":"bimrgdiag","type":"Microsoft.Storage/storageAccounts","location":"japaneast","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-12T15:04:32.1018377Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-12T15:04:32.1018377Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-02-12T15:04:32.0706109Z","primaryEndpoints":{"blob":"https://bimrgdiag.blob.core.windows.net/","queue":"https://bimrgdiag.queue.core.windows.net/","table":"https://bimrgdiag.table.core.windows.net/","file":"https://bimrgdiag.file.core.windows.net/"},"primaryLocation":"japaneast","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/feng-cli-rg/providers/Microsoft.Storage/storageAccounts/fengclirgdiag","name":"fengclirgdiag","type":"Microsoft.Storage/storageAccounts","location":"japaneast","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-01T07:10:20.0599535Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-01T07:10:20.0599535Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-01T07:10:19.9974827Z","primaryEndpoints":{"blob":"https://fengclirgdiag.blob.core.windows.net/","queue":"https://fengclirgdiag.queue.core.windows.net/","table":"https://fengclirgdiag.table.core.windows.net/","file":"https://fengclirgdiag.file.core.windows.net/"},"primaryLocation":"japaneast","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zhoxing-test/providers/Microsoft.Storage/storageAccounts/store6472qnxl3vv5o","name":"store6472qnxl3vv5o","type":"Microsoft.Storage/storageAccounts","location":"southcentralus","tags":{"project":"Digital + Platform","env":"CI"},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-27T08:24:34.7235260Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-27T08:24:34.7235260Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-02-27T08:24:34.6453999Z","primaryEndpoints":{"blob":"https://store6472qnxl3vv5o.blob.core.windows.net/","queue":"https://store6472qnxl3vv5o.queue.core.windows.net/","table":"https://store6472qnxl3vv5o.table.core.windows.net/","file":"https://store6472qnxl3vv5o.file.core.windows.net/"},"primaryLocation":"southcentralus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/feng-cli-rg/providers/Microsoft.Storage/storageAccounts/extmigrate","name":"extmigrate","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-16T08:26:10.6796218Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-16T08:26:10.6796218Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-16T08:26:10.5858998Z","primaryEndpoints":{"blob":"https://extmigrate.blob.core.windows.net/","queue":"https://extmigrate.queue.core.windows.net/","table":"https://extmigrate.table.core.windows.net/","file":"https://extmigrate.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"blob":"https://extmigrate-secondary.blob.core.windows.net/","queue":"https://extmigrate-secondary.queue.core.windows.net/","table":"https://extmigrate-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/feng-cli-rg/providers/Microsoft.Storage/storageAccounts/fengclitest","name":"fengclitest","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-09T05:03:17.9861949Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-09T05:03:17.9861949Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-02-09T05:03:17.8924377Z","primaryEndpoints":{"blob":"https://fengclitest.blob.core.windows.net/","queue":"https://fengclitest.queue.core.windows.net/","table":"https://fengclitest.table.core.windows.net/","file":"https://fengclitest.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"blob":"https://fengclitest-secondary.blob.core.windows.net/","queue":"https://fengclitest-secondary.queue.core.windows.net/","table":"https://fengclitest-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/feng-cli-rg/providers/Microsoft.Storage/storageAccounts/fengsa","name":"fengsa","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-01-06T04:33:22.9379802Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-01-06T04:33:22.9379802Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-01-06T04:33:22.8754625Z","primaryEndpoints":{"dfs":"https://fengsa.dfs.core.windows.net/","web":"https://fengsa.z19.web.core.windows.net/","blob":"https://fengsa.blob.core.windows.net/","queue":"https://fengsa.queue.core.windows.net/","table":"https://fengsa.table.core.windows.net/","file":"https://fengsa.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://fengsa-secondary.dfs.core.windows.net/","web":"https://fengsa-secondary.z19.web.core.windows.net/","blob":"https://fengsa-secondary.blob.core.windows.net/","queue":"https://fengsa-secondary.queue.core.windows.net/","table":"https://fengsa-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zhoxing-test/providers/Microsoft.Storage/storageAccounts/storageaccountzhoxib2a8","name":"storageaccountzhoxib2a8","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-25T06:54:03.9825980Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-25T06:54:03.9825980Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-02-25T06:54:03.9044955Z","primaryEndpoints":{"blob":"https://storageaccountzhoxib2a8.blob.core.windows.net/","queue":"https://storageaccountzhoxib2a8.queue.core.windows.net/","table":"https://storageaccountzhoxib2a8.table.core.windows.net/","file":"https://storageaccountzhoxib2a8.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro1","name":"storagesfrepro1","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:07:42.2058942Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:07:42.2058942Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:07:42.1277444Z","primaryEndpoints":{"dfs":"https://storagesfrepro1.dfs.core.windows.net/","web":"https://storagesfrepro1.z19.web.core.windows.net/","blob":"https://storagesfrepro1.blob.core.windows.net/","queue":"https://storagesfrepro1.queue.core.windows.net/","table":"https://storagesfrepro1.table.core.windows.net/","file":"https://storagesfrepro1.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro1-secondary.dfs.core.windows.net/","web":"https://storagesfrepro1-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro1-secondary.blob.core.windows.net/","queue":"https://storagesfrepro1-secondary.queue.core.windows.net/","table":"https://storagesfrepro1-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro10","name":"storagesfrepro10","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:14:00.8753334Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:14:00.8753334Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:14:00.7815921Z","primaryEndpoints":{"dfs":"https://storagesfrepro10.dfs.core.windows.net/","web":"https://storagesfrepro10.z19.web.core.windows.net/","blob":"https://storagesfrepro10.blob.core.windows.net/","queue":"https://storagesfrepro10.queue.core.windows.net/","table":"https://storagesfrepro10.table.core.windows.net/","file":"https://storagesfrepro10.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro10-secondary.dfs.core.windows.net/","web":"https://storagesfrepro10-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro10-secondary.blob.core.windows.net/","queue":"https://storagesfrepro10-secondary.queue.core.windows.net/","table":"https://storagesfrepro10-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro11","name":"storagesfrepro11","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:14:28.9859417Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:14:28.9859417Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:14:28.8609347Z","primaryEndpoints":{"dfs":"https://storagesfrepro11.dfs.core.windows.net/","web":"https://storagesfrepro11.z19.web.core.windows.net/","blob":"https://storagesfrepro11.blob.core.windows.net/","queue":"https://storagesfrepro11.queue.core.windows.net/","table":"https://storagesfrepro11.table.core.windows.net/","file":"https://storagesfrepro11.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro11-secondary.dfs.core.windows.net/","web":"https://storagesfrepro11-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro11-secondary.blob.core.windows.net/","queue":"https://storagesfrepro11-secondary.queue.core.windows.net/","table":"https://storagesfrepro11-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro12","name":"storagesfrepro12","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:15:15.6785362Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:15:15.6785362Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:15:15.5848345Z","primaryEndpoints":{"dfs":"https://storagesfrepro12.dfs.core.windows.net/","web":"https://storagesfrepro12.z19.web.core.windows.net/","blob":"https://storagesfrepro12.blob.core.windows.net/","queue":"https://storagesfrepro12.queue.core.windows.net/","table":"https://storagesfrepro12.table.core.windows.net/","file":"https://storagesfrepro12.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro12-secondary.dfs.core.windows.net/","web":"https://storagesfrepro12-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro12-secondary.blob.core.windows.net/","queue":"https://storagesfrepro12-secondary.queue.core.windows.net/","table":"https://storagesfrepro12-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro13","name":"storagesfrepro13","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:16:55.7609361Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:16:55.7609361Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:16:55.6671828Z","primaryEndpoints":{"dfs":"https://storagesfrepro13.dfs.core.windows.net/","web":"https://storagesfrepro13.z19.web.core.windows.net/","blob":"https://storagesfrepro13.blob.core.windows.net/","queue":"https://storagesfrepro13.queue.core.windows.net/","table":"https://storagesfrepro13.table.core.windows.net/","file":"https://storagesfrepro13.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro13-secondary.dfs.core.windows.net/","web":"https://storagesfrepro13-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro13-secondary.blob.core.windows.net/","queue":"https://storagesfrepro13-secondary.queue.core.windows.net/","table":"https://storagesfrepro13-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro14","name":"storagesfrepro14","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:17:40.7661469Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:17:40.7661469Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:17:40.6880204Z","primaryEndpoints":{"dfs":"https://storagesfrepro14.dfs.core.windows.net/","web":"https://storagesfrepro14.z19.web.core.windows.net/","blob":"https://storagesfrepro14.blob.core.windows.net/","queue":"https://storagesfrepro14.queue.core.windows.net/","table":"https://storagesfrepro14.table.core.windows.net/","file":"https://storagesfrepro14.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro14-secondary.dfs.core.windows.net/","web":"https://storagesfrepro14-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro14-secondary.blob.core.windows.net/","queue":"https://storagesfrepro14-secondary.queue.core.windows.net/","table":"https://storagesfrepro14-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro15","name":"storagesfrepro15","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:18:52.1812445Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:18:52.1812445Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:18:52.0718543Z","primaryEndpoints":{"dfs":"https://storagesfrepro15.dfs.core.windows.net/","web":"https://storagesfrepro15.z19.web.core.windows.net/","blob":"https://storagesfrepro15.blob.core.windows.net/","queue":"https://storagesfrepro15.queue.core.windows.net/","table":"https://storagesfrepro15.table.core.windows.net/","file":"https://storagesfrepro15.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro15-secondary.dfs.core.windows.net/","web":"https://storagesfrepro15-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro15-secondary.blob.core.windows.net/","queue":"https://storagesfrepro15-secondary.queue.core.windows.net/","table":"https://storagesfrepro15-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro16","name":"storagesfrepro16","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:19:33.1863807Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:19:33.1863807Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:19:33.0770034Z","primaryEndpoints":{"dfs":"https://storagesfrepro16.dfs.core.windows.net/","web":"https://storagesfrepro16.z19.web.core.windows.net/","blob":"https://storagesfrepro16.blob.core.windows.net/","queue":"https://storagesfrepro16.queue.core.windows.net/","table":"https://storagesfrepro16.table.core.windows.net/","file":"https://storagesfrepro16.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro16-secondary.dfs.core.windows.net/","web":"https://storagesfrepro16-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro16-secondary.blob.core.windows.net/","queue":"https://storagesfrepro16-secondary.queue.core.windows.net/","table":"https://storagesfrepro16-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro17","name":"storagesfrepro17","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:04:23.5553513Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:04:23.5553513Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:04:23.4771469Z","primaryEndpoints":{"dfs":"https://storagesfrepro17.dfs.core.windows.net/","web":"https://storagesfrepro17.z19.web.core.windows.net/","blob":"https://storagesfrepro17.blob.core.windows.net/","queue":"https://storagesfrepro17.queue.core.windows.net/","table":"https://storagesfrepro17.table.core.windows.net/","file":"https://storagesfrepro17.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro17-secondary.dfs.core.windows.net/","web":"https://storagesfrepro17-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro17-secondary.blob.core.windows.net/","queue":"https://storagesfrepro17-secondary.queue.core.windows.net/","table":"https://storagesfrepro17-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro18","name":"storagesfrepro18","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:04:53.8320772Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:04:53.8320772Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:04:53.7383176Z","primaryEndpoints":{"dfs":"https://storagesfrepro18.dfs.core.windows.net/","web":"https://storagesfrepro18.z19.web.core.windows.net/","blob":"https://storagesfrepro18.blob.core.windows.net/","queue":"https://storagesfrepro18.queue.core.windows.net/","table":"https://storagesfrepro18.table.core.windows.net/","file":"https://storagesfrepro18.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro18-secondary.dfs.core.windows.net/","web":"https://storagesfrepro18-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro18-secondary.blob.core.windows.net/","queue":"https://storagesfrepro18-secondary.queue.core.windows.net/","table":"https://storagesfrepro18-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro19","name":"storagesfrepro19","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:05:26.3650238Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:05:26.3650238Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:05:26.2556326Z","primaryEndpoints":{"dfs":"https://storagesfrepro19.dfs.core.windows.net/","web":"https://storagesfrepro19.z19.web.core.windows.net/","blob":"https://storagesfrepro19.blob.core.windows.net/","queue":"https://storagesfrepro19.queue.core.windows.net/","table":"https://storagesfrepro19.table.core.windows.net/","file":"https://storagesfrepro19.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro19-secondary.dfs.core.windows.net/","web":"https://storagesfrepro19-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro19-secondary.blob.core.windows.net/","queue":"https://storagesfrepro19-secondary.queue.core.windows.net/","table":"https://storagesfrepro19-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro2","name":"storagesfrepro2","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:08:45.8498203Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:08:45.8498203Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:08:45.7717196Z","primaryEndpoints":{"dfs":"https://storagesfrepro2.dfs.core.windows.net/","web":"https://storagesfrepro2.z19.web.core.windows.net/","blob":"https://storagesfrepro2.blob.core.windows.net/","queue":"https://storagesfrepro2.queue.core.windows.net/","table":"https://storagesfrepro2.table.core.windows.net/","file":"https://storagesfrepro2.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro2-secondary.dfs.core.windows.net/","web":"https://storagesfrepro2-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro2-secondary.blob.core.windows.net/","queue":"https://storagesfrepro2-secondary.queue.core.windows.net/","table":"https://storagesfrepro2-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro20","name":"storagesfrepro20","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:06:07.4295934Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:06:07.4295934Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:06:07.3358422Z","primaryEndpoints":{"dfs":"https://storagesfrepro20.dfs.core.windows.net/","web":"https://storagesfrepro20.z19.web.core.windows.net/","blob":"https://storagesfrepro20.blob.core.windows.net/","queue":"https://storagesfrepro20.queue.core.windows.net/","table":"https://storagesfrepro20.table.core.windows.net/","file":"https://storagesfrepro20.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro20-secondary.dfs.core.windows.net/","web":"https://storagesfrepro20-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro20-secondary.blob.core.windows.net/","queue":"https://storagesfrepro20-secondary.queue.core.windows.net/","table":"https://storagesfrepro20-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro21","name":"storagesfrepro21","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:06:37.4780251Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:06:37.4780251Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:06:37.3686460Z","primaryEndpoints":{"dfs":"https://storagesfrepro21.dfs.core.windows.net/","web":"https://storagesfrepro21.z19.web.core.windows.net/","blob":"https://storagesfrepro21.blob.core.windows.net/","queue":"https://storagesfrepro21.queue.core.windows.net/","table":"https://storagesfrepro21.table.core.windows.net/","file":"https://storagesfrepro21.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro21-secondary.dfs.core.windows.net/","web":"https://storagesfrepro21-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro21-secondary.blob.core.windows.net/","queue":"https://storagesfrepro21-secondary.queue.core.windows.net/","table":"https://storagesfrepro21-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro22","name":"storagesfrepro22","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:06:59.8295391Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:06:59.8295391Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:06:59.7201581Z","primaryEndpoints":{"dfs":"https://storagesfrepro22.dfs.core.windows.net/","web":"https://storagesfrepro22.z19.web.core.windows.net/","blob":"https://storagesfrepro22.blob.core.windows.net/","queue":"https://storagesfrepro22.queue.core.windows.net/","table":"https://storagesfrepro22.table.core.windows.net/","file":"https://storagesfrepro22.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro22-secondary.dfs.core.windows.net/","web":"https://storagesfrepro22-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro22-secondary.blob.core.windows.net/","queue":"https://storagesfrepro22-secondary.queue.core.windows.net/","table":"https://storagesfrepro22-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro23","name":"storagesfrepro23","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:07:29.0846619Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:07:29.0846619Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:07:29.0065050Z","primaryEndpoints":{"dfs":"https://storagesfrepro23.dfs.core.windows.net/","web":"https://storagesfrepro23.z19.web.core.windows.net/","blob":"https://storagesfrepro23.blob.core.windows.net/","queue":"https://storagesfrepro23.queue.core.windows.net/","table":"https://storagesfrepro23.table.core.windows.net/","file":"https://storagesfrepro23.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro23-secondary.dfs.core.windows.net/","web":"https://storagesfrepro23-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro23-secondary.blob.core.windows.net/","queue":"https://storagesfrepro23-secondary.queue.core.windows.net/","table":"https://storagesfrepro23-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro24","name":"storagesfrepro24","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:07:53.2658712Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:07:53.2658712Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:07:53.1565651Z","primaryEndpoints":{"dfs":"https://storagesfrepro24.dfs.core.windows.net/","web":"https://storagesfrepro24.z19.web.core.windows.net/","blob":"https://storagesfrepro24.blob.core.windows.net/","queue":"https://storagesfrepro24.queue.core.windows.net/","table":"https://storagesfrepro24.table.core.windows.net/","file":"https://storagesfrepro24.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro24-secondary.dfs.core.windows.net/","web":"https://storagesfrepro24-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro24-secondary.blob.core.windows.net/","queue":"https://storagesfrepro24-secondary.queue.core.windows.net/","table":"https://storagesfrepro24-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro25","name":"storagesfrepro25","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:08:18.7432319Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:08:18.7432319Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:08:18.6338258Z","primaryEndpoints":{"dfs":"https://storagesfrepro25.dfs.core.windows.net/","web":"https://storagesfrepro25.z19.web.core.windows.net/","blob":"https://storagesfrepro25.blob.core.windows.net/","queue":"https://storagesfrepro25.queue.core.windows.net/","table":"https://storagesfrepro25.table.core.windows.net/","file":"https://storagesfrepro25.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro25-secondary.dfs.core.windows.net/","web":"https://storagesfrepro25-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro25-secondary.blob.core.windows.net/","queue":"https://storagesfrepro25-secondary.queue.core.windows.net/","table":"https://storagesfrepro25-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro3","name":"storagesfrepro3","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:09:19.5698333Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:09:19.5698333Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:09:19.3510997Z","primaryEndpoints":{"dfs":"https://storagesfrepro3.dfs.core.windows.net/","web":"https://storagesfrepro3.z19.web.core.windows.net/","blob":"https://storagesfrepro3.blob.core.windows.net/","queue":"https://storagesfrepro3.queue.core.windows.net/","table":"https://storagesfrepro3.table.core.windows.net/","file":"https://storagesfrepro3.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro3-secondary.dfs.core.windows.net/","web":"https://storagesfrepro3-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro3-secondary.blob.core.windows.net/","queue":"https://storagesfrepro3-secondary.queue.core.windows.net/","table":"https://storagesfrepro3-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro4","name":"storagesfrepro4","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:09:54.9930953Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:09:54.9930953Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:09:54.8993063Z","primaryEndpoints":{"dfs":"https://storagesfrepro4.dfs.core.windows.net/","web":"https://storagesfrepro4.z19.web.core.windows.net/","blob":"https://storagesfrepro4.blob.core.windows.net/","queue":"https://storagesfrepro4.queue.core.windows.net/","table":"https://storagesfrepro4.table.core.windows.net/","file":"https://storagesfrepro4.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro4-secondary.dfs.core.windows.net/","web":"https://storagesfrepro4-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro4-secondary.blob.core.windows.net/","queue":"https://storagesfrepro4-secondary.queue.core.windows.net/","table":"https://storagesfrepro4-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro5","name":"storagesfrepro5","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:10:48.1114395Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:10:48.1114395Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:10:48.0177273Z","primaryEndpoints":{"dfs":"https://storagesfrepro5.dfs.core.windows.net/","web":"https://storagesfrepro5.z19.web.core.windows.net/","blob":"https://storagesfrepro5.blob.core.windows.net/","queue":"https://storagesfrepro5.queue.core.windows.net/","table":"https://storagesfrepro5.table.core.windows.net/","file":"https://storagesfrepro5.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro5-secondary.dfs.core.windows.net/","web":"https://storagesfrepro5-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro5-secondary.blob.core.windows.net/","queue":"https://storagesfrepro5-secondary.queue.core.windows.net/","table":"https://storagesfrepro5-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro6","name":"storagesfrepro6","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:11:28.0269117Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:11:28.0269117Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:11:27.9331594Z","primaryEndpoints":{"dfs":"https://storagesfrepro6.dfs.core.windows.net/","web":"https://storagesfrepro6.z19.web.core.windows.net/","blob":"https://storagesfrepro6.blob.core.windows.net/","queue":"https://storagesfrepro6.queue.core.windows.net/","table":"https://storagesfrepro6.table.core.windows.net/","file":"https://storagesfrepro6.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro6-secondary.dfs.core.windows.net/","web":"https://storagesfrepro6-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro6-secondary.blob.core.windows.net/","queue":"https://storagesfrepro6-secondary.queue.core.windows.net/","table":"https://storagesfrepro6-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro7","name":"storagesfrepro7","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:12:08.7761892Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:12:08.7761892Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:12:08.6824637Z","primaryEndpoints":{"dfs":"https://storagesfrepro7.dfs.core.windows.net/","web":"https://storagesfrepro7.z19.web.core.windows.net/","blob":"https://storagesfrepro7.blob.core.windows.net/","queue":"https://storagesfrepro7.queue.core.windows.net/","table":"https://storagesfrepro7.table.core.windows.net/","file":"https://storagesfrepro7.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro7-secondary.dfs.core.windows.net/","web":"https://storagesfrepro7-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro7-secondary.blob.core.windows.net/","queue":"https://storagesfrepro7-secondary.queue.core.windows.net/","table":"https://storagesfrepro7-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro8","name":"storagesfrepro8","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:12:39.5221164Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:12:39.5221164Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:12:39.4283923Z","primaryEndpoints":{"dfs":"https://storagesfrepro8.dfs.core.windows.net/","web":"https://storagesfrepro8.z19.web.core.windows.net/","blob":"https://storagesfrepro8.blob.core.windows.net/","queue":"https://storagesfrepro8.queue.core.windows.net/","table":"https://storagesfrepro8.table.core.windows.net/","file":"https://storagesfrepro8.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro8-secondary.dfs.core.windows.net/","web":"https://storagesfrepro8-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro8-secondary.blob.core.windows.net/","queue":"https://storagesfrepro8-secondary.queue.core.windows.net/","table":"https://storagesfrepro8-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro9","name":"storagesfrepro9","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:13:18.1628430Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:13:18.1628430Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:13:18.0691096Z","primaryEndpoints":{"dfs":"https://storagesfrepro9.dfs.core.windows.net/","web":"https://storagesfrepro9.z19.web.core.windows.net/","blob":"https://storagesfrepro9.blob.core.windows.net/","queue":"https://storagesfrepro9.queue.core.windows.net/","table":"https://storagesfrepro9.table.core.windows.net/","file":"https://storagesfrepro9.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro9-secondary.dfs.core.windows.net/","web":"https://storagesfrepro9-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro9-secondary.blob.core.windows.net/","queue":"https://storagesfrepro9-secondary.queue.core.windows.net/","table":"https://storagesfrepro9-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuhcentral/providers/Microsoft.Storage/storageAccounts/zuhstorage","name":"zuhstorage","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{"ServiceName":"TAGVALUE"},"properties":{"privateEndpointConnections":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuhcentral/providers/Microsoft.Storage/storageAccounts/zuhstorage/privateEndpointConnections/zuhstorage.5ae41b56-a372-4111-b6d8-9ce4364fd8f4","name":"zuhstorage.5ae41b56-a372-4111-b6d8-9ce4364fd8f4","type":"Microsoft.Storage/storageAccounts/privateEndpointConnections","properties":{"provisioningState":"Succeeded","privateEndpoint":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuhcentral/providers/Microsoft.Network/privateEndpoints/zuhPE"},"privateLinkServiceConnectionState":{"status":"Rejected","description":"","actionRequired":"None"}}}],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-02T06:04:55.7104787Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-02T06:04:55.7104787Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-02T06:04:55.6167450Z","primaryEndpoints":{"dfs":"https://zuhstorage.dfs.core.windows.net/","web":"https://zuhstorage.z19.web.core.windows.net/","blob":"https://zuhstorage.blob.core.windows.net/","queue":"https://zuhstorage.queue.core.windows.net/","table":"https://zuhstorage.table.core.windows.net/","file":"https://zuhstorage.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://zuhstorage-secondary.dfs.core.windows.net/","web":"https://zuhstorage-secondary.z19.web.core.windows.net/","blob":"https://zuhstorage-secondary.blob.core.windows.net/","queue":"https://zuhstorage-secondary.queue.core.windows.net/","table":"https://zuhstorage-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/feng-cli-rg/providers/Microsoft.Storage/storageAccounts/fengwsstorage28dfde17cb1","name":"fengwsstorage28dfde17cb1","type":"Microsoft.Storage/storageAccounts","location":"westus2","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-07T04:11:42.2482670Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-07T04:11:42.2482670Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-02-07T04:11:42.1857797Z","primaryEndpoints":{"dfs":"https://fengwsstorage28dfde17cb1.dfs.core.windows.net/","web":"https://fengwsstorage28dfde17cb1.z5.web.core.windows.net/","blob":"https://fengwsstorage28dfde17cb1.blob.core.windows.net/","queue":"https://fengwsstorage28dfde17cb1.queue.core.windows.net/","table":"https://fengwsstorage28dfde17cb1.table.core.windows.net/","file":"https://fengwsstorage28dfde17cb1.file.core.windows.net/"},"primaryLocation":"westus2","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sa-test-rg/providers/Microsoft.Storage/storageAccounts/sateststorage123","name":"sateststorage123","type":"Microsoft.Storage/storageAccounts","location":"westus2","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-17T06:30:33.4676610Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-17T06:30:33.4676610Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-17T06:30:33.4051730Z","primaryEndpoints":{"dfs":"https://sateststorage123.dfs.core.windows.net/","web":"https://sateststorage123.z5.web.core.windows.net/","blob":"https://sateststorage123.blob.core.windows.net/","queue":"https://sateststorage123.queue.core.windows.net/","table":"https://sateststorage123.table.core.windows.net/","file":"https://sateststorage123.file.core.windows.net/"},"primaryLocation":"westus2","statusOfPrimary":"available","secondaryLocation":"westcentralus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://sateststorage123-secondary.dfs.core.windows.net/","web":"https://sateststorage123-secondary.z5.web.core.windows.net/","blob":"https://sateststorage123-secondary.blob.core.windows.net/","queue":"https://sateststorage123-secondary.queue.core.windows.net/","table":"https://sateststorage123-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/bim-rg/providers/Microsoft.Storage/storageAccounts/bimstorageacc","name":"bimstorageacc","type":"Microsoft.Storage/storageAccounts","location":"westcentralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T07:20:55.2327590Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T07:20:55.2327590Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-03T07:20:55.1858389Z","primaryEndpoints":{"dfs":"https://bimstorageacc.dfs.core.windows.net/","web":"https://bimstorageacc.z4.web.core.windows.net/","blob":"https://bimstorageacc.blob.core.windows.net/","queue":"https://bimstorageacc.queue.core.windows.net/","table":"https://bimstorageacc.table.core.windows.net/","file":"https://bimstorageacc.file.core.windows.net/"},"primaryLocation":"westcentralus","statusOfPrimary":"available","secondaryLocation":"westus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://bimstorageacc-secondary.dfs.core.windows.net/","web":"https://bimstorageacc-secondary.z4.web.core.windows.net/","blob":"https://bimstorageacc-secondary.blob.core.windows.net/","queue":"https://bimstorageacc-secondary.queue.core.windows.net/","table":"https://bimstorageacc-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yu-test-rg-westus/providers/Microsoft.Storage/storageAccounts/sfsfsfsssf","name":"sfsfsfsssf","type":"Microsoft.Storage/storageAccounts","location":"westcentralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-05T07:16:53.7141799Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-05T07:16:53.7141799Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-05T07:16:53.6829148Z","primaryEndpoints":{"blob":"https://sfsfsfsssf.blob.core.windows.net/","queue":"https://sfsfsfsssf.queue.core.windows.net/","table":"https://sfsfsfsssf.table.core.windows.net/","file":"https://sfsfsfsssf.file.core.windows.net/"},"primaryLocation":"westcentralus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yu-test-rg-westus/providers/Microsoft.Storage/storageAccounts/stststeset","name":"stststeset","type":"Microsoft.Storage/storageAccounts","location":"westcentralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-05T07:13:11.0482184Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-05T07:13:11.0482184Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-05T07:13:10.9856962Z","primaryEndpoints":{"dfs":"https://stststeset.dfs.core.windows.net/","web":"https://stststeset.z4.web.core.windows.net/","blob":"https://stststeset.blob.core.windows.net/","queue":"https://stststeset.queue.core.windows.net/","table":"https://stststeset.table.core.windows.net/","file":"https://stststeset.file.core.windows.net/"},"primaryLocation":"westcentralus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/Microsoft.Storage/storageAccounts/testcreatese","name":"testcreatese","type":"Microsoft.Storage/storageAccounts","location":"westcentralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-17T06:18:08.4522082Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-17T06:18:08.4522082Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-17T06:18:08.3897244Z","primaryEndpoints":{"dfs":"https://testcreatese.dfs.core.windows.net/","web":"https://testcreatese.z4.web.core.windows.net/","blob":"https://testcreatese.blob.core.windows.net/","queue":"https://testcreatese.queue.core.windows.net/","table":"https://testcreatese.table.core.windows.net/","file":"https://testcreatese.file.core.windows.net/"},"primaryLocation":"westcentralus","statusOfPrimary":"available","secondaryLocation":"westus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://testcreatese-secondary.dfs.core.windows.net/","web":"https://testcreatese-secondary.z4.web.core.windows.net/","blob":"https://testcreatese-secondary.blob.core.windows.net/","queue":"https://testcreatese-secondary.queue.core.windows.net/","table":"https://testcreatese-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yu-test-rg-westus/providers/Microsoft.Storage/storageAccounts/yusawcu","name":"yusawcu","type":"Microsoft.Storage/storageAccounts","location":"westcentralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-26T09:39:00.0292799Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-26T09:39:00.0292799Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-02-26T09:38:59.9667703Z","primaryEndpoints":{"dfs":"https://yusawcu.dfs.core.windows.net/","web":"https://yusawcu.z4.web.core.windows.net/","blob":"https://yusawcu.blob.core.windows.net/","queue":"https://yusawcu.queue.core.windows.net/","table":"https://yusawcu.table.core.windows.net/","file":"https://yusawcu.file.core.windows.net/"},"primaryLocation":"westcentralus","statusOfPrimary":"available","secondaryLocation":"westus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://yusawcu-secondary.dfs.core.windows.net/","web":"https://yusawcu-secondary.z4.web.core.windows.net/","blob":"https://yusawcu-secondary.blob.core.windows.net/","queue":"https://yusawcu-secondary.queue.core.windows.net/","table":"https://yusawcu-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuh/providers/Microsoft.Storage/storageAccounts/zuhlrs","name":"zuhlrs","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-17T05:09:22.3210722Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-17T05:09:22.3210722Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-17T05:09:22.2898219Z","primaryEndpoints":{"dfs":"https://zuhlrs.dfs.core.windows.net/","web":"https://zuhlrs.z3.web.core.windows.net/","blob":"https://zuhlrs.blob.core.windows.net/","queue":"https://zuhlrs.queue.core.windows.net/","table":"https://zuhlrs.table.core.windows.net/","file":"https://zuhlrs.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '112030' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 07:50:11 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-original-request-ids: + - a7450c4c-78e6-4f72-9dec-342cb86d3bb3 + - 4b3d8722-025f-4b92-9c9b-4a49648677be + - 763cc4e5-2be1-4dcf-89a6-85af2db47d92 + - a8d1af46-afb0-4714-997a-ab0429b0c935 + - 488802d9-5e50-4be6-bf4d-e15b4f8f6de4 + - 68918edc-cdc3-42c5-b7cd-8a053cbd1872 + - 5cfc8938-e7f7-42a1-afbe-072a59c2799b + - 025bb747-e9eb-433c-bc1c-08ec35dcb759 + - bca1ce44-11d5-41cb-adb1-1842addea8a5 + - 93dc3a21-e56b-41af-a8ba-0d40296cdfc0 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage share create + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --name --quota --account-name + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-storage/8.0.0 Azure-SDK-For-Python AZURECLI/2.2.0 + accept-language: + - en-US + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2019-06-01 + response: + body: + string: '{"keys":[{"keyName":"key1","value":"veryFakedStorageAccountKey==","permissions":"FULL"},{"keyName":"key2","value":"veryFakedStorageAccountKey==","permissions":"FULL"}]}' + headers: + cache-control: + - no-cache + content-length: + - '288' + content-type: + - application/json + date: + - Tue, 17 Mar 2020 07:50:12 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + status: + code: 200 + message: OK +- request: + body: null + headers: + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.7.6; Windows 10) AZURECLI/2.2.0 + x-ms-date: + - Tue, 17 Mar 2020 07:50:13 GMT + x-ms-share-quota: + - '1' + x-ms-version: + - '2018-11-09' + method: PUT + uri: https://clitest000002.file.core.windows.net/file-share000007?restype=share + response: + body: + string: '' + headers: + content-length: + - '0' + date: + - Tue, 17 Mar 2020 07:50:13 GMT + etag: + - '"0x8D7CA47D3E61BA8"' + last-modified: + - Tue, 17 Mar 2020 07:50:14 GMT + server: + - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: + - '2018-11-09' + status: + code: 201 + message: Created + +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage share create + Connection: + - keep-alive + ParameterSetName: + - --name --quota --account-name + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-storage/8.0.0 Azure-SDK-For-Python AZURECLI/2.2.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/storageAccounts?api-version=2019-06-01 + response: + body: + string: '{"value":[{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/Microsoft.Storage/storageAccounts/azureclitestrgdiag180","name":"azureclitestrgdiag180","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-12-30T03:44:58.6379144Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-12-30T03:44:58.6379144Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2019-12-30T03:44:58.5910120Z","primaryEndpoints":{"blob":"https://azureclitestrgdiag180.blob.core.windows.net/","queue":"https://azureclitestrgdiag180.queue.core.windows.net/","table":"https://azureclitestrgdiag180.table.core.windows.net/","file":"https://azureclitestrgdiag180.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azure-core-poc/providers/Microsoft.Storage/storageAccounts/azurecorepoc","name":"azurecorepoc","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-12-26T02:38:58.8233588Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-12-26T02:38:58.8233588Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-12-26T02:38:58.7452329Z","primaryEndpoints":{"dfs":"https://azurecorepoc.dfs.core.windows.net/","web":"https://azurecorepoc.z13.web.core.windows.net/","blob":"https://azurecorepoc.blob.core.windows.net/","queue":"https://azurecorepoc.queue.core.windows.net/","table":"https://azurecorepoc.table.core.windows.net/","file":"https://azurecorepoc.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://azurecorepoc-secondary.dfs.core.windows.net/","web":"https://azurecorepoc-secondary.z13.web.core.windows.net/","blob":"https://azurecorepoc-secondary.blob.core.windows.net/","queue":"https://azurecorepoc-secondary.queue.core.windows.net/","table":"https://azurecorepoc-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qianwens/providers/Microsoft.Storage/storageAccounts/qianwendev","name":"qianwendev","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qianwens/providers/Microsoft.Network/virtualNetworks/QIAN/subnets/default","action":"Allow","state":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qianwens/providers/Microsoft.Network/virtualNetworks/qianwendev/subnets/default","action":"Allow","state":"Succeeded"}],"ipRules":[{"value":"23.45.1.0/24","action":"Allow"},{"value":"23.45.1.1/24","action":"Allow"}],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-12T03:29:28.0084761Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-12T03:29:28.0084761Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-02-12T03:29:27.9459854Z","primaryEndpoints":{"dfs":"https://qianwendev.dfs.core.windows.net/","web":"https://qianwendev.z13.web.core.windows.net/","blob":"https://qianwendev.blob.core.windows.net/","queue":"https://qianwendev.queue.core.windows.net/","table":"https://qianwendev.table.core.windows.net/","file":"https://qianwendev.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://qianwendev-secondary.dfs.core.windows.net/","web":"https://qianwendev-secondary.z13.web.core.windows.net/","blob":"https://qianwendev-secondary.blob.core.windows.net/","queue":"https://qianwendev-secondary.queue.core.windows.net/","table":"https://qianwendev-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qianwens/providers/Microsoft.Storage/storageAccounts/qianwenhpctarget","name":"qianwenhpctarget","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-06T07:09:20.3073299Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-06T07:09:20.3073299Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-06T07:09:20.2291899Z","primaryEndpoints":{"dfs":"https://qianwenhpctarget.dfs.core.windows.net/","web":"https://qianwenhpctarget.z13.web.core.windows.net/","blob":"https://qianwenhpctarget.blob.core.windows.net/","queue":"https://qianwenhpctarget.queue.core.windows.net/","table":"https://qianwenhpctarget.table.core.windows.net/","file":"https://qianwenhpctarget.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://qianwenhpctarget-secondary.dfs.core.windows.net/","web":"https://qianwenhpctarget-secondary.z13.web.core.windows.net/","blob":"https://qianwenhpctarget-secondary.blob.core.windows.net/","queue":"https://qianwenhpctarget-secondary.queue.core.windows.net/","table":"https://qianwenhpctarget-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/Microsoft.Storage/storageAccounts/storeayniadjso4lay","name":"storeayniadjso4lay","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-14T15:40:43.7851387Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-14T15:40:43.7851387Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-14T15:40:43.7070117Z","primaryEndpoints":{"dfs":"https://storeayniadjso4lay.dfs.core.windows.net/","web":"https://storeayniadjso4lay.z13.web.core.windows.net/","blob":"https://storeayniadjso4lay.blob.core.windows.net/","queue":"https://storeayniadjso4lay.queue.core.windows.net/","table":"https://storeayniadjso4lay.table.core.windows.net/","file":"https://storeayniadjso4lay.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zhoxing-test/providers/Microsoft.Storage/storageAccounts/azhoxingtest9851","name":"azhoxingtest9851","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{"hidden-DevTestLabs-LabUId":"6e279161-d008-42b7-90a1-6801fc4bc4ca"},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-21T05:43:15.2811036Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-21T05:43:15.2811036Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-02-21T05:43:15.2029670Z","primaryEndpoints":{"dfs":"https://azhoxingtest9851.dfs.core.windows.net/","web":"https://azhoxingtest9851.z22.web.core.windows.net/","blob":"https://azhoxingtest9851.blob.core.windows.net/","queue":"https://azhoxingtest9851.queue.core.windows.net/","table":"https://azhoxingtest9851.table.core.windows.net/","file":"https://azhoxingtest9851.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/Microsoft.Storage/storageAccounts/azureclitestrgdiag","name":"azureclitestrgdiag","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-12-30T02:54:26.8971309Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-12-30T02:54:26.8971309Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2019-12-30T02:54:26.8502755Z","primaryEndpoints":{"blob":"https://azureclitestrgdiag.blob.core.windows.net/","queue":"https://azureclitestrgdiag.queue.core.windows.net/","table":"https://azureclitestrgdiag.table.core.windows.net/","file":"https://azureclitestrgdiag.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesyncewzqda3p3syseopedt2lhfsgsw7dgbj3ukiy4ypayg7dy4az4e3hhsj/providers/Microsoft.Storage/storageAccounts/clitest54vifrk7bm3ixknkx","name":"clitest54vifrk7bm3ixknkx","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-17T07:31:57.9596880Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-17T07:31:57.9596880Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-17T07:31:57.8816266Z","primaryEndpoints":{"blob":"https://clitest54vifrk7bm3ixknkx.blob.core.windows.net/","queue":"https://clitest54vifrk7bm3ixknkx.queue.core.windows.net/","table":"https://clitest54vifrk7bm3ixknkx.table.core.windows.net/","file":"https://clitest54vifrk7bm3ixknkx.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databoxoe2qtcqlnxonqpub522jgmpzgeegwhowl2qo6xqgfwtqcd3jzicz5yraawi/providers/Microsoft.Storage/storageAccounts/clitest6yrafi3cntx2cngw3","name":"clitest6yrafi3cntx2cngw3","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-06T14:00:05.4412024Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-06T14:00:05.4412024Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-06T14:00:05.3786989Z","primaryEndpoints":{"blob":"https://clitest6yrafi3cntx2cngw3.blob.core.windows.net/","queue":"https://clitest6yrafi3cntx2cngw3.queue.core.windows.net/","table":"https://clitest6yrafi3cntx2cngw3.table.core.windows.net/","file":"https://clitest6yrafi3cntx2cngw3.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databoxn5n2vkeyewiwob4e7e6nqiblkvvgc5qorevejhsntblvdlc2t373rrvy45p/providers/Microsoft.Storage/storageAccounts/clitest75g6r5uwkj7ker7wu","name":"clitest75g6r5uwkj7ker7wu","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T06:35:53.9029562Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T06:35:53.9029562Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-03T06:35:53.8248647Z","primaryEndpoints":{"blob":"https://clitest75g6r5uwkj7ker7wu.blob.core.windows.net/","queue":"https://clitest75g6r5uwkj7ker7wu.queue.core.windows.net/","table":"https://clitest75g6r5uwkj7ker7wu.table.core.windows.net/","file":"https://clitest75g6r5uwkj7ker7wu.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox5gpbe2knrizxsitmvje3fbdl44tf6cvpfqbpvsyicxmupsbyhmlcrg4wesk/providers/Microsoft.Storage/storageAccounts/clitest7b5n3o4aahl5rafju","name":"clitest7b5n3o4aahl5rafju","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T08:27:23.1140038Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T08:27:23.1140038Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-03T08:27:23.0514944Z","primaryEndpoints":{"blob":"https://clitest7b5n3o4aahl5rafju.blob.core.windows.net/","queue":"https://clitest7b5n3o4aahl5rafju.queue.core.windows.net/","table":"https://clitest7b5n3o4aahl5rafju.table.core.windows.net/","file":"https://clitest7b5n3o4aahl5rafju.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databoxlekg7y4dtg2pnsaueisdkyqi5mnvmlwxto2cpu3kv7snll4uc37q2rm4wme/providers/Microsoft.Storage/storageAccounts/clitestcu3wv45lektdc3whs","name":"clitestcu3wv45lektdc3whs","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T08:35:04.7531702Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T08:35:04.7531702Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-03T08:35:04.6750427Z","primaryEndpoints":{"blob":"https://clitestcu3wv45lektdc3whs.blob.core.windows.net/","queue":"https://clitestcu3wv45lektdc3whs.queue.core.windows.net/","table":"https://clitestcu3wv45lektdc3whs.table.core.windows.net/","file":"https://clitestcu3wv45lektdc3whs.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databoxeg3csudujzrh2zcvbjytg6gvlkp6sjfcozveffblaqhrzhsslvpr54lg7n2/providers/Microsoft.Storage/storageAccounts/clitestgdfhjpgc2wgbrddlq","name":"clitestgdfhjpgc2wgbrddlq","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T06:28:55.9105364Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T06:28:55.9105364Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-03T06:28:55.8480330Z","primaryEndpoints":{"blob":"https://clitestgdfhjpgc2wgbrddlq.blob.core.windows.net/","queue":"https://clitestgdfhjpgc2wgbrddlq.queue.core.windows.net/","table":"https://clitestgdfhjpgc2wgbrddlq.table.core.windows.net/","file":"https://clitestgdfhjpgc2wgbrddlq.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databoxoe2qtcqlnxonqpub522jgmpzgeegwhowl2qo6xqgfwtqcd3jzicz5yraawi/providers/Microsoft.Storage/storageAccounts/clitestl6h6fa53d2gbmohn3","name":"clitestl6h6fa53d2gbmohn3","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-06T13:59:30.5816034Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-06T13:59:30.5816034Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-06T13:59:30.5034613Z","primaryEndpoints":{"blob":"https://clitestl6h6fa53d2gbmohn3.blob.core.windows.net/","queue":"https://clitestl6h6fa53d2gbmohn3.queue.core.windows.net/","table":"https://clitestl6h6fa53d2gbmohn3.table.core.windows.net/","file":"https://clitestl6h6fa53d2gbmohn3.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databoxfgdxtb5b3moqarfyogd7fcognbrlsihjlj3acnscrixetycujoejzzalyi3/providers/Microsoft.Storage/storageAccounts/clitestldg5uo7ika27utek4","name":"clitestldg5uo7ika27utek4","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T08:59:48.7196866Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T08:59:48.7196866Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-03T08:59:48.6728325Z","primaryEndpoints":{"blob":"https://clitestldg5uo7ika27utek4.blob.core.windows.net/","queue":"https://clitestldg5uo7ika27utek4.queue.core.windows.net/","table":"https://clitestldg5uo7ika27utek4.table.core.windows.net/","file":"https://clitestldg5uo7ika27utek4.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox52yrfbe7molrqhwdubnr2jcijd22xsz3hgcg3btf3sza5boeklwgzzq5sfn/providers/Microsoft.Storage/storageAccounts/clitestm7nikx6sld4npo42d","name":"clitestm7nikx6sld4npo42d","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-06T14:20:54.5597796Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-06T14:20:54.5597796Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-06T14:20:54.4972558Z","primaryEndpoints":{"blob":"https://clitestm7nikx6sld4npo42d.blob.core.windows.net/","queue":"https://clitestm7nikx6sld4npo42d.queue.core.windows.net/","table":"https://clitestm7nikx6sld4npo42d.table.core.windows.net/","file":"https://clitestm7nikx6sld4npo42d.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databoxrg2slunrj5vx5aydveu66wkj6rh3ildamkumi4zojpcf6f4vastgfp4v3rw/providers/Microsoft.Storage/storageAccounts/clitestmap7c2xyjf3gsd7yg","name":"clitestmap7c2xyjf3gsd7yg","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T09:10:56.7318732Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T09:10:56.7318732Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-03T09:10:56.6381622Z","primaryEndpoints":{"blob":"https://clitestmap7c2xyjf3gsd7yg.blob.core.windows.net/","queue":"https://clitestmap7c2xyjf3gsd7yg.queue.core.windows.net/","table":"https://clitestmap7c2xyjf3gsd7yg.table.core.windows.net/","file":"https://clitestmap7c2xyjf3gsd7yg.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databoxu7woflo47pjem4rfw2djuvafywtfnprfpduospdfotkqkudaylsua3ybqpa/providers/Microsoft.Storage/storageAccounts/clitestnxsheqf5s5rcht46h","name":"clitestnxsheqf5s5rcht46h","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T06:40:27.7931436Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T06:40:27.7931436Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-03T06:40:27.7305929Z","primaryEndpoints":{"blob":"https://clitestnxsheqf5s5rcht46h.blob.core.windows.net/","queue":"https://clitestnxsheqf5s5rcht46h.queue.core.windows.net/","table":"https://clitestnxsheqf5s5rcht46h.table.core.windows.net/","file":"https://clitestnxsheqf5s5rcht46h.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox52yrfbe7molrqhwdubnr2jcijd22xsz3hgcg3btf3sza5boeklwgzzq5sfn/providers/Microsoft.Storage/storageAccounts/clitestqsel4b35pkfyubvyx","name":"clitestqsel4b35pkfyubvyx","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-06T14:20:08.8041709Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-06T14:20:08.8041709Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-06T14:20:08.7417121Z","primaryEndpoints":{"blob":"https://clitestqsel4b35pkfyubvyx.blob.core.windows.net/","queue":"https://clitestqsel4b35pkfyubvyx.queue.core.windows.net/","table":"https://clitestqsel4b35pkfyubvyx.table.core.windows.net/","file":"https://clitestqsel4b35pkfyubvyx.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-17T07:49:45.7241486Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-17T07:49:45.7241486Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-17T07:49:45.6303899Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databoxam64dpcskfsb23dkj6zbvxysimh24e3upfdsdmuxbdl2j25ckz2uz5lht5y/providers/Microsoft.Storage/storageAccounts/clitesty2xsxbbcego73beie","name":"clitesty2xsxbbcego73beie","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T05:23:45.1933083Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T05:23:45.1933083Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-03T05:23:45.1308322Z","primaryEndpoints":{"blob":"https://clitesty2xsxbbcego73beie.blob.core.windows.net/","queue":"https://clitesty2xsxbbcego73beie.queue.core.windows.net/","table":"https://clitesty2xsxbbcego73beie.table.core.windows.net/","file":"https://clitesty2xsxbbcego73beie.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/jlrg/providers/Microsoft.Storage/storageAccounts/jlst","name":"jlst","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-17T07:11:23.6842270Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-17T07:11:23.6842270Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-17T07:11:23.6060987Z","primaryEndpoints":{"dfs":"https://jlst.dfs.core.windows.net/","web":"https://jlst.z22.web.core.windows.net/","blob":"https://jlst.blob.core.windows.net/","queue":"https://jlst.queue.core.windows.net/","table":"https://jlst.table.core.windows.net/","file":"https://jlst.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://jlst-secondary.dfs.core.windows.net/","web":"https://jlst-secondary.z22.web.core.windows.net/","blob":"https://jlst-secondary.blob.core.windows.net/","queue":"https://jlst-secondary.queue.core.windows.net/","table":"https://jlst-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azure-core-poc/providers/Microsoft.Storage/storageAccounts/sfsafsaf","name":"sfsafsaf","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-12T10:01:37.0551963Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-12T10:01:37.0551963Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-12T10:01:36.9614761Z","primaryEndpoints":{"dfs":"https://sfsafsaf.dfs.core.windows.net/","web":"https://sfsafsaf.z22.web.core.windows.net/","blob":"https://sfsafsaf.blob.core.windows.net/","queue":"https://sfsafsaf.queue.core.windows.net/","table":"https://sfsafsaf.table.core.windows.net/","file":"https://sfsafsaf.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"identity":{"principalId":"2a730f61-76ac-426b-a91d-4b130208ba0d","tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a","type":"SystemAssigned"},"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ygmanual3/providers/Microsoft.Storage/storageAccounts/ygmanual3","name":"ygmanual3","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-05T18:34:38.5168098Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-05T18:34:38.5168098Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-05T18:34:38.4543411Z","primaryEndpoints":{"dfs":"https://ygmanual3.dfs.core.windows.net/","web":"https://ygmanual3.z22.web.core.windows.net/","blob":"https://ygmanual3.blob.core.windows.net/","queue":"https://ygmanual3.queue.core.windows.net/","table":"https://ygmanual3.table.core.windows.net/","file":"https://ygmanual3.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://ygmanual3-secondary.dfs.core.windows.net/","web":"https://ygmanual3-secondary.z22.web.core.windows.net/","blob":"https://ygmanual3-secondary.blob.core.windows.net/","queue":"https://ygmanual3-secondary.queue.core.windows.net/","table":"https://ygmanual3-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yu-test-rg-westus/providers/Microsoft.Storage/storageAccounts/yutestdbsawestus","name":"yutestdbsawestus","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-25T11:11:24.7554090Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-25T11:11:24.7554090Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-02-25T11:11:24.6772540Z","primaryEndpoints":{"dfs":"https://yutestdbsawestus.dfs.core.windows.net/","web":"https://yutestdbsawestus.z22.web.core.windows.net/","blob":"https://yutestdbsawestus.blob.core.windows.net/","queue":"https://yutestdbsawestus.queue.core.windows.net/","table":"https://yutestdbsawestus.table.core.windows.net/","file":"https://yutestdbsawestus.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://yutestdbsawestus-secondary.dfs.core.windows.net/","web":"https://yutestdbsawestus-secondary.z22.web.core.windows.net/","blob":"https://yutestdbsawestus-secondary.blob.core.windows.net/","queue":"https://yutestdbsawestus-secondary.queue.core.windows.net/","table":"https://yutestdbsawestus-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yu-test-rg-westus/providers/Microsoft.Storage/storageAccounts/yutestlro","name":"yutestlro","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-28T07:50:15.1386919Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-28T07:50:15.1386919Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-02-28T07:50:15.0762161Z","primaryEndpoints":{"blob":"https://yutestlro.blob.core.windows.net/","queue":"https://yutestlro.queue.core.windows.net/","table":"https://yutestlro.table.core.windows.net/","file":"https://yutestlro.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"blob":"https://yutestlro-secondary.blob.core.windows.net/","queue":"https://yutestlro-secondary.queue.core.windows.net/","table":"https://yutestlro-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zhoxing-test/providers/Microsoft.Storage/storageAccounts/zhoxingtest2","name":"zhoxingtest2","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T03:09:41.7587583Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T03:09:41.7587583Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-03T03:09:41.6962163Z","primaryEndpoints":{"dfs":"https://zhoxingtest2.dfs.core.windows.net/","web":"https://zhoxingtest2.z22.web.core.windows.net/","blob":"https://zhoxingtest2.blob.core.windows.net/","queue":"https://zhoxingtest2.queue.core.windows.net/","table":"https://zhoxingtest2.table.core.windows.net/","file":"https://zhoxingtest2.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://zhoxingtest2-secondary.dfs.core.windows.net/","web":"https://zhoxingtest2-secondary.z22.web.core.windows.net/","blob":"https://zhoxingtest2-secondary.blob.core.windows.net/","queue":"https://zhoxingtest2-secondary.queue.core.windows.net/","table":"https://zhoxingtest2-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_GRS","tier":"Standard"},"kind":"BlobStorage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-my-standard-space-fez3hbt1bsvmr/providers/Microsoft.Storage/storageAccounts/dbstoragefez3hbt1bsvmr","name":"dbstoragefez3hbt1bsvmr","type":"Microsoft.Storage/storageAccounts","location":"eastasia","tags":{"application":"databricks","databricks-environment":"true"},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-16T03:14:00.7822307Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-16T03:14:00.7822307Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-16T03:14:00.7197710Z","primaryEndpoints":{"dfs":"https://dbstoragefez3hbt1bsvmr.dfs.core.windows.net/","blob":"https://dbstoragefez3hbt1bsvmr.blob.core.windows.net/","table":"https://dbstoragefez3hbt1bsvmr.table.core.windows.net/"},"primaryLocation":"eastasia","statusOfPrimary":"available","secondaryLocation":"southeastasia","statusOfSecondary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/feng-cli-rg/providers/Microsoft.Storage/storageAccounts/fengws1storage296335f3c7","name":"fengws1storage296335f3c7","type":"Microsoft.Storage/storageAccounts","location":"eastasia","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-14T14:41:02.2224956Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-14T14:41:02.2224956Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-02-14T14:41:02.1600089Z","primaryEndpoints":{"dfs":"https://fengws1storage296335f3c7.dfs.core.windows.net/","web":"https://fengws1storage296335f3c7.z7.web.core.windows.net/","blob":"https://fengws1storage296335f3c7.blob.core.windows.net/","queue":"https://fengws1storage296335f3c7.queue.core.windows.net/","table":"https://fengws1storage296335f3c7.table.core.windows.net/","file":"https://fengws1storage296335f3c7.file.core.windows.net/"},"primaryLocation":"eastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg6i4hl6iakg/providers/Microsoft.Storage/storageAccounts/clitestu3p7a7ib4n4y7gt4m","name":"clitestu3p7a7ib4n4y7gt4m","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-12-30T01:51:53.0814418Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-12-30T01:51:53.0814418Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2019-12-30T01:51:53.0189478Z","primaryEndpoints":{"blob":"https://clitestu3p7a7ib4n4y7gt4m.blob.core.windows.net/","queue":"https://clitestu3p7a7ib4n4y7gt4m.queue.core.windows.net/","table":"https://clitestu3p7a7ib4n4y7gt4m.table.core.windows.net/","file":"https://clitestu3p7a7ib4n4y7gt4m.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/jlrg1/providers/Microsoft.Storage/storageAccounts/jlcsst","name":"jlcsst","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-02T07:15:45.8047726Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-02T07:15:45.8047726Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-02T07:15:45.7422455Z","primaryEndpoints":{"dfs":"https://jlcsst.dfs.core.windows.net/","web":"https://jlcsst.z23.web.core.windows.net/","blob":"https://jlcsst.blob.core.windows.net/","queue":"https://jlcsst.queue.core.windows.net/","table":"https://jlcsst.table.core.windows.net/","file":"https://jlcsst.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/jlvm2rg/providers/Microsoft.Storage/storageAccounts/jlvm2rgdiag","name":"jlvm2rgdiag","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T04:41:48.6974827Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T04:41:48.6974827Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-03T04:41:48.6505931Z","primaryEndpoints":{"blob":"https://jlvm2rgdiag.blob.core.windows.net/","queue":"https://jlvm2rgdiag.queue.core.windows.net/","table":"https://jlvm2rgdiag.table.core.windows.net/","file":"https://jlvm2rgdiag.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qianwens/providers/Microsoft.Storage/storageAccounts/qianwensdiag","name":"qianwensdiag","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-04T07:17:09.1138103Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-04T07:17:09.1138103Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-02-04T07:17:09.0514178Z","primaryEndpoints":{"blob":"https://qianwensdiag.blob.core.windows.net/","queue":"https://qianwensdiag.queue.core.windows.net/","table":"https://qianwensdiag.table.core.windows.net/","file":"https://qianwensdiag.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yeming/providers/Microsoft.Storage/storageAccounts/yeming","name":"yeming","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-12-04T06:41:07.4012554Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-12-04T06:41:07.4012554Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-12-04T06:41:07.3699884Z","primaryEndpoints":{"dfs":"https://yeming.dfs.core.windows.net/","web":"https://yeming.z23.web.core.windows.net/","blob":"https://yeming.blob.core.windows.net/","queue":"https://yeming.queue.core.windows.net/","table":"https://yeming.table.core.windows.net/","file":"https://yeming.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available","secondaryLocation":"eastasia","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://yeming-secondary.dfs.core.windows.net/","web":"https://yeming-secondary.z23.web.core.windows.net/","blob":"https://yeming-secondary.blob.core.windows.net/","queue":"https://yeming-secondary.queue.core.windows.net/","table":"https://yeming-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/Microsoft.Storage/storageAccounts/azureclitestrgdiag748","name":"azureclitestrgdiag748","type":"Microsoft.Storage/storageAccounts","location":"japaneast","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-01T05:17:58.5405622Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-01T05:17:58.5405622Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-01T05:17:58.4936629Z","primaryEndpoints":{"blob":"https://azureclitestrgdiag748.blob.core.windows.net/","queue":"https://azureclitestrgdiag748.queue.core.windows.net/","table":"https://azureclitestrgdiag748.table.core.windows.net/","file":"https://azureclitestrgdiag748.file.core.windows.net/"},"primaryLocation":"japaneast","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/bim-rg/providers/Microsoft.Storage/storageAccounts/bimrgdiag","name":"bimrgdiag","type":"Microsoft.Storage/storageAccounts","location":"japaneast","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-12T15:04:32.1018377Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-12T15:04:32.1018377Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-02-12T15:04:32.0706109Z","primaryEndpoints":{"blob":"https://bimrgdiag.blob.core.windows.net/","queue":"https://bimrgdiag.queue.core.windows.net/","table":"https://bimrgdiag.table.core.windows.net/","file":"https://bimrgdiag.file.core.windows.net/"},"primaryLocation":"japaneast","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/feng-cli-rg/providers/Microsoft.Storage/storageAccounts/fengclirgdiag","name":"fengclirgdiag","type":"Microsoft.Storage/storageAccounts","location":"japaneast","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-01T07:10:20.0599535Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-01T07:10:20.0599535Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-01T07:10:19.9974827Z","primaryEndpoints":{"blob":"https://fengclirgdiag.blob.core.windows.net/","queue":"https://fengclirgdiag.queue.core.windows.net/","table":"https://fengclirgdiag.table.core.windows.net/","file":"https://fengclirgdiag.file.core.windows.net/"},"primaryLocation":"japaneast","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zhoxing-test/providers/Microsoft.Storage/storageAccounts/store6472qnxl3vv5o","name":"store6472qnxl3vv5o","type":"Microsoft.Storage/storageAccounts","location":"southcentralus","tags":{"project":"Digital + Platform","env":"CI"},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-27T08:24:34.7235260Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-27T08:24:34.7235260Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-02-27T08:24:34.6453999Z","primaryEndpoints":{"blob":"https://store6472qnxl3vv5o.blob.core.windows.net/","queue":"https://store6472qnxl3vv5o.queue.core.windows.net/","table":"https://store6472qnxl3vv5o.table.core.windows.net/","file":"https://store6472qnxl3vv5o.file.core.windows.net/"},"primaryLocation":"southcentralus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/feng-cli-rg/providers/Microsoft.Storage/storageAccounts/extmigrate","name":"extmigrate","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-16T08:26:10.6796218Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-16T08:26:10.6796218Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-16T08:26:10.5858998Z","primaryEndpoints":{"blob":"https://extmigrate.blob.core.windows.net/","queue":"https://extmigrate.queue.core.windows.net/","table":"https://extmigrate.table.core.windows.net/","file":"https://extmigrate.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"blob":"https://extmigrate-secondary.blob.core.windows.net/","queue":"https://extmigrate-secondary.queue.core.windows.net/","table":"https://extmigrate-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/feng-cli-rg/providers/Microsoft.Storage/storageAccounts/fengclitest","name":"fengclitest","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-09T05:03:17.9861949Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-09T05:03:17.9861949Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-02-09T05:03:17.8924377Z","primaryEndpoints":{"blob":"https://fengclitest.blob.core.windows.net/","queue":"https://fengclitest.queue.core.windows.net/","table":"https://fengclitest.table.core.windows.net/","file":"https://fengclitest.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"blob":"https://fengclitest-secondary.blob.core.windows.net/","queue":"https://fengclitest-secondary.queue.core.windows.net/","table":"https://fengclitest-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/feng-cli-rg/providers/Microsoft.Storage/storageAccounts/fengsa","name":"fengsa","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-01-06T04:33:22.9379802Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-01-06T04:33:22.9379802Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-01-06T04:33:22.8754625Z","primaryEndpoints":{"dfs":"https://fengsa.dfs.core.windows.net/","web":"https://fengsa.z19.web.core.windows.net/","blob":"https://fengsa.blob.core.windows.net/","queue":"https://fengsa.queue.core.windows.net/","table":"https://fengsa.table.core.windows.net/","file":"https://fengsa.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://fengsa-secondary.dfs.core.windows.net/","web":"https://fengsa-secondary.z19.web.core.windows.net/","blob":"https://fengsa-secondary.blob.core.windows.net/","queue":"https://fengsa-secondary.queue.core.windows.net/","table":"https://fengsa-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zhoxing-test/providers/Microsoft.Storage/storageAccounts/storageaccountzhoxib2a8","name":"storageaccountzhoxib2a8","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-25T06:54:03.9825980Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-25T06:54:03.9825980Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-02-25T06:54:03.9044955Z","primaryEndpoints":{"blob":"https://storageaccountzhoxib2a8.blob.core.windows.net/","queue":"https://storageaccountzhoxib2a8.queue.core.windows.net/","table":"https://storageaccountzhoxib2a8.table.core.windows.net/","file":"https://storageaccountzhoxib2a8.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro1","name":"storagesfrepro1","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:07:42.2058942Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:07:42.2058942Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:07:42.1277444Z","primaryEndpoints":{"dfs":"https://storagesfrepro1.dfs.core.windows.net/","web":"https://storagesfrepro1.z19.web.core.windows.net/","blob":"https://storagesfrepro1.blob.core.windows.net/","queue":"https://storagesfrepro1.queue.core.windows.net/","table":"https://storagesfrepro1.table.core.windows.net/","file":"https://storagesfrepro1.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro1-secondary.dfs.core.windows.net/","web":"https://storagesfrepro1-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro1-secondary.blob.core.windows.net/","queue":"https://storagesfrepro1-secondary.queue.core.windows.net/","table":"https://storagesfrepro1-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro10","name":"storagesfrepro10","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:14:00.8753334Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:14:00.8753334Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:14:00.7815921Z","primaryEndpoints":{"dfs":"https://storagesfrepro10.dfs.core.windows.net/","web":"https://storagesfrepro10.z19.web.core.windows.net/","blob":"https://storagesfrepro10.blob.core.windows.net/","queue":"https://storagesfrepro10.queue.core.windows.net/","table":"https://storagesfrepro10.table.core.windows.net/","file":"https://storagesfrepro10.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro10-secondary.dfs.core.windows.net/","web":"https://storagesfrepro10-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro10-secondary.blob.core.windows.net/","queue":"https://storagesfrepro10-secondary.queue.core.windows.net/","table":"https://storagesfrepro10-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro11","name":"storagesfrepro11","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:14:28.9859417Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:14:28.9859417Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:14:28.8609347Z","primaryEndpoints":{"dfs":"https://storagesfrepro11.dfs.core.windows.net/","web":"https://storagesfrepro11.z19.web.core.windows.net/","blob":"https://storagesfrepro11.blob.core.windows.net/","queue":"https://storagesfrepro11.queue.core.windows.net/","table":"https://storagesfrepro11.table.core.windows.net/","file":"https://storagesfrepro11.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro11-secondary.dfs.core.windows.net/","web":"https://storagesfrepro11-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro11-secondary.blob.core.windows.net/","queue":"https://storagesfrepro11-secondary.queue.core.windows.net/","table":"https://storagesfrepro11-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro12","name":"storagesfrepro12","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:15:15.6785362Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:15:15.6785362Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:15:15.5848345Z","primaryEndpoints":{"dfs":"https://storagesfrepro12.dfs.core.windows.net/","web":"https://storagesfrepro12.z19.web.core.windows.net/","blob":"https://storagesfrepro12.blob.core.windows.net/","queue":"https://storagesfrepro12.queue.core.windows.net/","table":"https://storagesfrepro12.table.core.windows.net/","file":"https://storagesfrepro12.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro12-secondary.dfs.core.windows.net/","web":"https://storagesfrepro12-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro12-secondary.blob.core.windows.net/","queue":"https://storagesfrepro12-secondary.queue.core.windows.net/","table":"https://storagesfrepro12-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro13","name":"storagesfrepro13","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:16:55.7609361Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:16:55.7609361Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:16:55.6671828Z","primaryEndpoints":{"dfs":"https://storagesfrepro13.dfs.core.windows.net/","web":"https://storagesfrepro13.z19.web.core.windows.net/","blob":"https://storagesfrepro13.blob.core.windows.net/","queue":"https://storagesfrepro13.queue.core.windows.net/","table":"https://storagesfrepro13.table.core.windows.net/","file":"https://storagesfrepro13.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro13-secondary.dfs.core.windows.net/","web":"https://storagesfrepro13-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro13-secondary.blob.core.windows.net/","queue":"https://storagesfrepro13-secondary.queue.core.windows.net/","table":"https://storagesfrepro13-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro14","name":"storagesfrepro14","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:17:40.7661469Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:17:40.7661469Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:17:40.6880204Z","primaryEndpoints":{"dfs":"https://storagesfrepro14.dfs.core.windows.net/","web":"https://storagesfrepro14.z19.web.core.windows.net/","blob":"https://storagesfrepro14.blob.core.windows.net/","queue":"https://storagesfrepro14.queue.core.windows.net/","table":"https://storagesfrepro14.table.core.windows.net/","file":"https://storagesfrepro14.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro14-secondary.dfs.core.windows.net/","web":"https://storagesfrepro14-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro14-secondary.blob.core.windows.net/","queue":"https://storagesfrepro14-secondary.queue.core.windows.net/","table":"https://storagesfrepro14-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro15","name":"storagesfrepro15","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:18:52.1812445Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:18:52.1812445Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:18:52.0718543Z","primaryEndpoints":{"dfs":"https://storagesfrepro15.dfs.core.windows.net/","web":"https://storagesfrepro15.z19.web.core.windows.net/","blob":"https://storagesfrepro15.blob.core.windows.net/","queue":"https://storagesfrepro15.queue.core.windows.net/","table":"https://storagesfrepro15.table.core.windows.net/","file":"https://storagesfrepro15.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro15-secondary.dfs.core.windows.net/","web":"https://storagesfrepro15-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro15-secondary.blob.core.windows.net/","queue":"https://storagesfrepro15-secondary.queue.core.windows.net/","table":"https://storagesfrepro15-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro16","name":"storagesfrepro16","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:19:33.1863807Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:19:33.1863807Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:19:33.0770034Z","primaryEndpoints":{"dfs":"https://storagesfrepro16.dfs.core.windows.net/","web":"https://storagesfrepro16.z19.web.core.windows.net/","blob":"https://storagesfrepro16.blob.core.windows.net/","queue":"https://storagesfrepro16.queue.core.windows.net/","table":"https://storagesfrepro16.table.core.windows.net/","file":"https://storagesfrepro16.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro16-secondary.dfs.core.windows.net/","web":"https://storagesfrepro16-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro16-secondary.blob.core.windows.net/","queue":"https://storagesfrepro16-secondary.queue.core.windows.net/","table":"https://storagesfrepro16-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro17","name":"storagesfrepro17","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:04:23.5553513Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:04:23.5553513Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:04:23.4771469Z","primaryEndpoints":{"dfs":"https://storagesfrepro17.dfs.core.windows.net/","web":"https://storagesfrepro17.z19.web.core.windows.net/","blob":"https://storagesfrepro17.blob.core.windows.net/","queue":"https://storagesfrepro17.queue.core.windows.net/","table":"https://storagesfrepro17.table.core.windows.net/","file":"https://storagesfrepro17.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro17-secondary.dfs.core.windows.net/","web":"https://storagesfrepro17-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro17-secondary.blob.core.windows.net/","queue":"https://storagesfrepro17-secondary.queue.core.windows.net/","table":"https://storagesfrepro17-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro18","name":"storagesfrepro18","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:04:53.8320772Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:04:53.8320772Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:04:53.7383176Z","primaryEndpoints":{"dfs":"https://storagesfrepro18.dfs.core.windows.net/","web":"https://storagesfrepro18.z19.web.core.windows.net/","blob":"https://storagesfrepro18.blob.core.windows.net/","queue":"https://storagesfrepro18.queue.core.windows.net/","table":"https://storagesfrepro18.table.core.windows.net/","file":"https://storagesfrepro18.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro18-secondary.dfs.core.windows.net/","web":"https://storagesfrepro18-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro18-secondary.blob.core.windows.net/","queue":"https://storagesfrepro18-secondary.queue.core.windows.net/","table":"https://storagesfrepro18-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro19","name":"storagesfrepro19","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:05:26.3650238Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:05:26.3650238Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:05:26.2556326Z","primaryEndpoints":{"dfs":"https://storagesfrepro19.dfs.core.windows.net/","web":"https://storagesfrepro19.z19.web.core.windows.net/","blob":"https://storagesfrepro19.blob.core.windows.net/","queue":"https://storagesfrepro19.queue.core.windows.net/","table":"https://storagesfrepro19.table.core.windows.net/","file":"https://storagesfrepro19.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro19-secondary.dfs.core.windows.net/","web":"https://storagesfrepro19-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro19-secondary.blob.core.windows.net/","queue":"https://storagesfrepro19-secondary.queue.core.windows.net/","table":"https://storagesfrepro19-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro2","name":"storagesfrepro2","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:08:45.8498203Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:08:45.8498203Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:08:45.7717196Z","primaryEndpoints":{"dfs":"https://storagesfrepro2.dfs.core.windows.net/","web":"https://storagesfrepro2.z19.web.core.windows.net/","blob":"https://storagesfrepro2.blob.core.windows.net/","queue":"https://storagesfrepro2.queue.core.windows.net/","table":"https://storagesfrepro2.table.core.windows.net/","file":"https://storagesfrepro2.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro2-secondary.dfs.core.windows.net/","web":"https://storagesfrepro2-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro2-secondary.blob.core.windows.net/","queue":"https://storagesfrepro2-secondary.queue.core.windows.net/","table":"https://storagesfrepro2-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro20","name":"storagesfrepro20","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:06:07.4295934Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:06:07.4295934Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:06:07.3358422Z","primaryEndpoints":{"dfs":"https://storagesfrepro20.dfs.core.windows.net/","web":"https://storagesfrepro20.z19.web.core.windows.net/","blob":"https://storagesfrepro20.blob.core.windows.net/","queue":"https://storagesfrepro20.queue.core.windows.net/","table":"https://storagesfrepro20.table.core.windows.net/","file":"https://storagesfrepro20.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro20-secondary.dfs.core.windows.net/","web":"https://storagesfrepro20-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro20-secondary.blob.core.windows.net/","queue":"https://storagesfrepro20-secondary.queue.core.windows.net/","table":"https://storagesfrepro20-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro21","name":"storagesfrepro21","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:06:37.4780251Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:06:37.4780251Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:06:37.3686460Z","primaryEndpoints":{"dfs":"https://storagesfrepro21.dfs.core.windows.net/","web":"https://storagesfrepro21.z19.web.core.windows.net/","blob":"https://storagesfrepro21.blob.core.windows.net/","queue":"https://storagesfrepro21.queue.core.windows.net/","table":"https://storagesfrepro21.table.core.windows.net/","file":"https://storagesfrepro21.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro21-secondary.dfs.core.windows.net/","web":"https://storagesfrepro21-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro21-secondary.blob.core.windows.net/","queue":"https://storagesfrepro21-secondary.queue.core.windows.net/","table":"https://storagesfrepro21-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro22","name":"storagesfrepro22","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:06:59.8295391Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:06:59.8295391Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:06:59.7201581Z","primaryEndpoints":{"dfs":"https://storagesfrepro22.dfs.core.windows.net/","web":"https://storagesfrepro22.z19.web.core.windows.net/","blob":"https://storagesfrepro22.blob.core.windows.net/","queue":"https://storagesfrepro22.queue.core.windows.net/","table":"https://storagesfrepro22.table.core.windows.net/","file":"https://storagesfrepro22.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro22-secondary.dfs.core.windows.net/","web":"https://storagesfrepro22-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro22-secondary.blob.core.windows.net/","queue":"https://storagesfrepro22-secondary.queue.core.windows.net/","table":"https://storagesfrepro22-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro23","name":"storagesfrepro23","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:07:29.0846619Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:07:29.0846619Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:07:29.0065050Z","primaryEndpoints":{"dfs":"https://storagesfrepro23.dfs.core.windows.net/","web":"https://storagesfrepro23.z19.web.core.windows.net/","blob":"https://storagesfrepro23.blob.core.windows.net/","queue":"https://storagesfrepro23.queue.core.windows.net/","table":"https://storagesfrepro23.table.core.windows.net/","file":"https://storagesfrepro23.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro23-secondary.dfs.core.windows.net/","web":"https://storagesfrepro23-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro23-secondary.blob.core.windows.net/","queue":"https://storagesfrepro23-secondary.queue.core.windows.net/","table":"https://storagesfrepro23-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro24","name":"storagesfrepro24","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:07:53.2658712Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:07:53.2658712Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:07:53.1565651Z","primaryEndpoints":{"dfs":"https://storagesfrepro24.dfs.core.windows.net/","web":"https://storagesfrepro24.z19.web.core.windows.net/","blob":"https://storagesfrepro24.blob.core.windows.net/","queue":"https://storagesfrepro24.queue.core.windows.net/","table":"https://storagesfrepro24.table.core.windows.net/","file":"https://storagesfrepro24.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro24-secondary.dfs.core.windows.net/","web":"https://storagesfrepro24-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro24-secondary.blob.core.windows.net/","queue":"https://storagesfrepro24-secondary.queue.core.windows.net/","table":"https://storagesfrepro24-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro25","name":"storagesfrepro25","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:08:18.7432319Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:08:18.7432319Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:08:18.6338258Z","primaryEndpoints":{"dfs":"https://storagesfrepro25.dfs.core.windows.net/","web":"https://storagesfrepro25.z19.web.core.windows.net/","blob":"https://storagesfrepro25.blob.core.windows.net/","queue":"https://storagesfrepro25.queue.core.windows.net/","table":"https://storagesfrepro25.table.core.windows.net/","file":"https://storagesfrepro25.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro25-secondary.dfs.core.windows.net/","web":"https://storagesfrepro25-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro25-secondary.blob.core.windows.net/","queue":"https://storagesfrepro25-secondary.queue.core.windows.net/","table":"https://storagesfrepro25-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro3","name":"storagesfrepro3","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:09:19.5698333Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:09:19.5698333Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:09:19.3510997Z","primaryEndpoints":{"dfs":"https://storagesfrepro3.dfs.core.windows.net/","web":"https://storagesfrepro3.z19.web.core.windows.net/","blob":"https://storagesfrepro3.blob.core.windows.net/","queue":"https://storagesfrepro3.queue.core.windows.net/","table":"https://storagesfrepro3.table.core.windows.net/","file":"https://storagesfrepro3.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro3-secondary.dfs.core.windows.net/","web":"https://storagesfrepro3-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro3-secondary.blob.core.windows.net/","queue":"https://storagesfrepro3-secondary.queue.core.windows.net/","table":"https://storagesfrepro3-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro4","name":"storagesfrepro4","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:09:54.9930953Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:09:54.9930953Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:09:54.8993063Z","primaryEndpoints":{"dfs":"https://storagesfrepro4.dfs.core.windows.net/","web":"https://storagesfrepro4.z19.web.core.windows.net/","blob":"https://storagesfrepro4.blob.core.windows.net/","queue":"https://storagesfrepro4.queue.core.windows.net/","table":"https://storagesfrepro4.table.core.windows.net/","file":"https://storagesfrepro4.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro4-secondary.dfs.core.windows.net/","web":"https://storagesfrepro4-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro4-secondary.blob.core.windows.net/","queue":"https://storagesfrepro4-secondary.queue.core.windows.net/","table":"https://storagesfrepro4-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro5","name":"storagesfrepro5","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:10:48.1114395Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:10:48.1114395Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:10:48.0177273Z","primaryEndpoints":{"dfs":"https://storagesfrepro5.dfs.core.windows.net/","web":"https://storagesfrepro5.z19.web.core.windows.net/","blob":"https://storagesfrepro5.blob.core.windows.net/","queue":"https://storagesfrepro5.queue.core.windows.net/","table":"https://storagesfrepro5.table.core.windows.net/","file":"https://storagesfrepro5.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro5-secondary.dfs.core.windows.net/","web":"https://storagesfrepro5-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro5-secondary.blob.core.windows.net/","queue":"https://storagesfrepro5-secondary.queue.core.windows.net/","table":"https://storagesfrepro5-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro6","name":"storagesfrepro6","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:11:28.0269117Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:11:28.0269117Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:11:27.9331594Z","primaryEndpoints":{"dfs":"https://storagesfrepro6.dfs.core.windows.net/","web":"https://storagesfrepro6.z19.web.core.windows.net/","blob":"https://storagesfrepro6.blob.core.windows.net/","queue":"https://storagesfrepro6.queue.core.windows.net/","table":"https://storagesfrepro6.table.core.windows.net/","file":"https://storagesfrepro6.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro6-secondary.dfs.core.windows.net/","web":"https://storagesfrepro6-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro6-secondary.blob.core.windows.net/","queue":"https://storagesfrepro6-secondary.queue.core.windows.net/","table":"https://storagesfrepro6-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro7","name":"storagesfrepro7","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:12:08.7761892Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:12:08.7761892Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:12:08.6824637Z","primaryEndpoints":{"dfs":"https://storagesfrepro7.dfs.core.windows.net/","web":"https://storagesfrepro7.z19.web.core.windows.net/","blob":"https://storagesfrepro7.blob.core.windows.net/","queue":"https://storagesfrepro7.queue.core.windows.net/","table":"https://storagesfrepro7.table.core.windows.net/","file":"https://storagesfrepro7.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro7-secondary.dfs.core.windows.net/","web":"https://storagesfrepro7-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro7-secondary.blob.core.windows.net/","queue":"https://storagesfrepro7-secondary.queue.core.windows.net/","table":"https://storagesfrepro7-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro8","name":"storagesfrepro8","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:12:39.5221164Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:12:39.5221164Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:12:39.4283923Z","primaryEndpoints":{"dfs":"https://storagesfrepro8.dfs.core.windows.net/","web":"https://storagesfrepro8.z19.web.core.windows.net/","blob":"https://storagesfrepro8.blob.core.windows.net/","queue":"https://storagesfrepro8.queue.core.windows.net/","table":"https://storagesfrepro8.table.core.windows.net/","file":"https://storagesfrepro8.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro8-secondary.dfs.core.windows.net/","web":"https://storagesfrepro8-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro8-secondary.blob.core.windows.net/","queue":"https://storagesfrepro8-secondary.queue.core.windows.net/","table":"https://storagesfrepro8-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro9","name":"storagesfrepro9","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:13:18.1628430Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:13:18.1628430Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:13:18.0691096Z","primaryEndpoints":{"dfs":"https://storagesfrepro9.dfs.core.windows.net/","web":"https://storagesfrepro9.z19.web.core.windows.net/","blob":"https://storagesfrepro9.blob.core.windows.net/","queue":"https://storagesfrepro9.queue.core.windows.net/","table":"https://storagesfrepro9.table.core.windows.net/","file":"https://storagesfrepro9.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro9-secondary.dfs.core.windows.net/","web":"https://storagesfrepro9-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro9-secondary.blob.core.windows.net/","queue":"https://storagesfrepro9-secondary.queue.core.windows.net/","table":"https://storagesfrepro9-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuhcentral/providers/Microsoft.Storage/storageAccounts/zuhstorage","name":"zuhstorage","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{"ServiceName":"TAGVALUE"},"properties":{"privateEndpointConnections":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuhcentral/providers/Microsoft.Storage/storageAccounts/zuhstorage/privateEndpointConnections/zuhstorage.5ae41b56-a372-4111-b6d8-9ce4364fd8f4","name":"zuhstorage.5ae41b56-a372-4111-b6d8-9ce4364fd8f4","type":"Microsoft.Storage/storageAccounts/privateEndpointConnections","properties":{"provisioningState":"Succeeded","privateEndpoint":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuhcentral/providers/Microsoft.Network/privateEndpoints/zuhPE"},"privateLinkServiceConnectionState":{"status":"Rejected","description":"","actionRequired":"None"}}}],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-02T06:04:55.7104787Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-02T06:04:55.7104787Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-02T06:04:55.6167450Z","primaryEndpoints":{"dfs":"https://zuhstorage.dfs.core.windows.net/","web":"https://zuhstorage.z19.web.core.windows.net/","blob":"https://zuhstorage.blob.core.windows.net/","queue":"https://zuhstorage.queue.core.windows.net/","table":"https://zuhstorage.table.core.windows.net/","file":"https://zuhstorage.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://zuhstorage-secondary.dfs.core.windows.net/","web":"https://zuhstorage-secondary.z19.web.core.windows.net/","blob":"https://zuhstorage-secondary.blob.core.windows.net/","queue":"https://zuhstorage-secondary.queue.core.windows.net/","table":"https://zuhstorage-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/feng-cli-rg/providers/Microsoft.Storage/storageAccounts/fengwsstorage28dfde17cb1","name":"fengwsstorage28dfde17cb1","type":"Microsoft.Storage/storageAccounts","location":"westus2","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-07T04:11:42.2482670Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-07T04:11:42.2482670Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-02-07T04:11:42.1857797Z","primaryEndpoints":{"dfs":"https://fengwsstorage28dfde17cb1.dfs.core.windows.net/","web":"https://fengwsstorage28dfde17cb1.z5.web.core.windows.net/","blob":"https://fengwsstorage28dfde17cb1.blob.core.windows.net/","queue":"https://fengwsstorage28dfde17cb1.queue.core.windows.net/","table":"https://fengwsstorage28dfde17cb1.table.core.windows.net/","file":"https://fengwsstorage28dfde17cb1.file.core.windows.net/"},"primaryLocation":"westus2","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sa-test-rg/providers/Microsoft.Storage/storageAccounts/sateststorage123","name":"sateststorage123","type":"Microsoft.Storage/storageAccounts","location":"westus2","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-17T06:30:33.4676610Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-17T06:30:33.4676610Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-17T06:30:33.4051730Z","primaryEndpoints":{"dfs":"https://sateststorage123.dfs.core.windows.net/","web":"https://sateststorage123.z5.web.core.windows.net/","blob":"https://sateststorage123.blob.core.windows.net/","queue":"https://sateststorage123.queue.core.windows.net/","table":"https://sateststorage123.table.core.windows.net/","file":"https://sateststorage123.file.core.windows.net/"},"primaryLocation":"westus2","statusOfPrimary":"available","secondaryLocation":"westcentralus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://sateststorage123-secondary.dfs.core.windows.net/","web":"https://sateststorage123-secondary.z5.web.core.windows.net/","blob":"https://sateststorage123-secondary.blob.core.windows.net/","queue":"https://sateststorage123-secondary.queue.core.windows.net/","table":"https://sateststorage123-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/bim-rg/providers/Microsoft.Storage/storageAccounts/bimstorageacc","name":"bimstorageacc","type":"Microsoft.Storage/storageAccounts","location":"westcentralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T07:20:55.2327590Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T07:20:55.2327590Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-03T07:20:55.1858389Z","primaryEndpoints":{"dfs":"https://bimstorageacc.dfs.core.windows.net/","web":"https://bimstorageacc.z4.web.core.windows.net/","blob":"https://bimstorageacc.blob.core.windows.net/","queue":"https://bimstorageacc.queue.core.windows.net/","table":"https://bimstorageacc.table.core.windows.net/","file":"https://bimstorageacc.file.core.windows.net/"},"primaryLocation":"westcentralus","statusOfPrimary":"available","secondaryLocation":"westus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://bimstorageacc-secondary.dfs.core.windows.net/","web":"https://bimstorageacc-secondary.z4.web.core.windows.net/","blob":"https://bimstorageacc-secondary.blob.core.windows.net/","queue":"https://bimstorageacc-secondary.queue.core.windows.net/","table":"https://bimstorageacc-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yu-test-rg-westus/providers/Microsoft.Storage/storageAccounts/sfsfsfsssf","name":"sfsfsfsssf","type":"Microsoft.Storage/storageAccounts","location":"westcentralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-05T07:16:53.7141799Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-05T07:16:53.7141799Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-05T07:16:53.6829148Z","primaryEndpoints":{"blob":"https://sfsfsfsssf.blob.core.windows.net/","queue":"https://sfsfsfsssf.queue.core.windows.net/","table":"https://sfsfsfsssf.table.core.windows.net/","file":"https://sfsfsfsssf.file.core.windows.net/"},"primaryLocation":"westcentralus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yu-test-rg-westus/providers/Microsoft.Storage/storageAccounts/stststeset","name":"stststeset","type":"Microsoft.Storage/storageAccounts","location":"westcentralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-05T07:13:11.0482184Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-05T07:13:11.0482184Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-05T07:13:10.9856962Z","primaryEndpoints":{"dfs":"https://stststeset.dfs.core.windows.net/","web":"https://stststeset.z4.web.core.windows.net/","blob":"https://stststeset.blob.core.windows.net/","queue":"https://stststeset.queue.core.windows.net/","table":"https://stststeset.table.core.windows.net/","file":"https://stststeset.file.core.windows.net/"},"primaryLocation":"westcentralus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/Microsoft.Storage/storageAccounts/testcreatese","name":"testcreatese","type":"Microsoft.Storage/storageAccounts","location":"westcentralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-17T06:18:08.4522082Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-17T06:18:08.4522082Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-17T06:18:08.3897244Z","primaryEndpoints":{"dfs":"https://testcreatese.dfs.core.windows.net/","web":"https://testcreatese.z4.web.core.windows.net/","blob":"https://testcreatese.blob.core.windows.net/","queue":"https://testcreatese.queue.core.windows.net/","table":"https://testcreatese.table.core.windows.net/","file":"https://testcreatese.file.core.windows.net/"},"primaryLocation":"westcentralus","statusOfPrimary":"available","secondaryLocation":"westus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://testcreatese-secondary.dfs.core.windows.net/","web":"https://testcreatese-secondary.z4.web.core.windows.net/","blob":"https://testcreatese-secondary.blob.core.windows.net/","queue":"https://testcreatese-secondary.queue.core.windows.net/","table":"https://testcreatese-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yu-test-rg-westus/providers/Microsoft.Storage/storageAccounts/yusawcu","name":"yusawcu","type":"Microsoft.Storage/storageAccounts","location":"westcentralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-26T09:39:00.0292799Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-26T09:39:00.0292799Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-02-26T09:38:59.9667703Z","primaryEndpoints":{"dfs":"https://yusawcu.dfs.core.windows.net/","web":"https://yusawcu.z4.web.core.windows.net/","blob":"https://yusawcu.blob.core.windows.net/","queue":"https://yusawcu.queue.core.windows.net/","table":"https://yusawcu.table.core.windows.net/","file":"https://yusawcu.file.core.windows.net/"},"primaryLocation":"westcentralus","statusOfPrimary":"available","secondaryLocation":"westus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://yusawcu-secondary.dfs.core.windows.net/","web":"https://yusawcu-secondary.z4.web.core.windows.net/","blob":"https://yusawcu-secondary.blob.core.windows.net/","queue":"https://yusawcu-secondary.queue.core.windows.net/","table":"https://yusawcu-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuh/providers/Microsoft.Storage/storageAccounts/zuhlrs","name":"zuhlrs","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-17T05:09:22.3210722Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-17T05:09:22.3210722Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-17T05:09:22.2898219Z","primaryEndpoints":{"dfs":"https://zuhlrs.dfs.core.windows.net/","web":"https://zuhlrs.z3.web.core.windows.net/","blob":"https://zuhlrs.blob.core.windows.net/","queue":"https://zuhlrs.queue.core.windows.net/","table":"https://zuhlrs.table.core.windows.net/","file":"https://zuhlrs.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '112030' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 07:50:16 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-original-request-ids: + - 1a66a9da-c5d4-4508-9d13-01235a9d97cc + - 44b46335-ee34-49fd-9b6c-0feed9a731e5 + - ad0152ff-5388-4669-817e-b131e2272a77 + - e359e8bc-3590-4b1e-8dc1-97b57c58f1fe + - eb84ddf2-1560-4763-948a-65b904fb6b72 + - e113f39e-8d84-4b18-9aa5-148b78ac778a + - 0be27244-84f0-41ad-9a33-7b89b80c54af + - 3946358a-2798-4353-a048-8f8de75a8f19 + - 513b2a72-613b-4164-abfb-694ca5952c73 + - 9da17b95-1c82-462a-a86d-4c3c6c4b6b83 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage share create + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --name --quota --account-name + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-storage/8.0.0 Azure-SDK-For-Python AZURECLI/2.2.0 + accept-language: + - en-US + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2019-06-01 + response: + body: + string: '{"keys":[{"keyName":"key1","value":"veryFakedStorageAccountKey==","permissions":"FULL"},{"keyName":"key2","value":"veryFakedStorageAccountKey==","permissions":"FULL"}]}' + headers: + cache-control: + - no-cache + content-length: + - '288' + content-type: + - application/json + date: + - Tue, 17 Mar 2020 07:50:16 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11997' + status: + code: 200 + message: OK +- request: + body: null + headers: + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.7.6; Windows 10) AZURECLI/2.2.0 + x-ms-date: + - Tue, 17 Mar 2020 07:50:17 GMT + x-ms-share-quota: + - '1' + x-ms-version: + - '2018-11-09' + method: PUT + uri: https://clitest000002.file.core.windows.net/file-share000008?restype=share + response: + body: + string: '' + headers: + content-length: + - '0' + date: + - Tue, 17 Mar 2020 07:50:18 GMT + etag: + - '"0x8D7CA47D69877DD"' + last-modified: + - Tue, 17 Mar 2020 07:50:18 GMT + server: + - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: + - '2018-11-09' + status: + code: 201 + message: Created + +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storagesync create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --tags + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-resource/8.0.1 Azure-SDK-For-Python AZURECLI/2.1.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_storagesync000001?api-version=2019-07-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001","name":"cli_test_storagesync000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2020-03-12T17:18:59Z","StorageType":"Standard_LRS","type":"test"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '471' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 12 Mar 2020 19:17:34 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"location": "westus", "tags": {"key1": "value1"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storagesync create + Connection: + - keep-alive + Content-Length: + - '50' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - --resource-group --name --tags + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-storagesync/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/Microsoft.StorageSync/storageSyncServices/sync-service000003?api-version=2019-06-01 + response: + body: + string: '{"properties":{"storageSyncServiceStatus":null,"storageSyncServiceUid":null},"location":"westus","tags":{"key1":"value1"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/microsoft.storagesync/storageSyncServices/sync-service000003","name":"sync-service000003","type":"microsoft.storagesync/storageSyncServices"}' + headers: + cache-control: + - no-cache + content-length: + - '434' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 12 Mar 2020 19:17:44 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storagesync show + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-storagesync/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/Microsoft.StorageSync/storageSyncServices/sync-service000003?api-version=2019-06-01 + response: + body: + string: '{"properties":{"storageSyncServiceStatus":"0","storageSyncServiceUid":null},"location":"westus","tags":{"key1":"value1"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/microsoft.storagesync/storageSyncServices/sync-service000003","name":"sync-service000003","type":"microsoft.storagesync/storageSyncServices"}' + headers: + cache-control: + - no-cache + content-length: + - '433' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 12 Mar 2020 19:17:48 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storagesync list + Connection: + - keep-alive + ParameterSetName: + - --resource-group + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-storagesync/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/Microsoft.StorageSync/storageSyncServices?api-version=2019-06-01 + response: + body: + string: '{"value":[{"properties":{"storageSyncServiceStatus":"0","storageSyncServiceUid":null},"location":"westus","tags":{"key1":"value1"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/microsoft.storagesync/storageSyncServices/sync-service000003","name":"sync-service000003","type":"microsoft.storagesync/storageSyncServices"}]}' + headers: + cache-control: + - no-cache + content-length: + - '445' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 12 Mar 2020 19:17:51 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storagesync sync-group create + Connection: + - keep-alive + Content-Length: + - '2' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - --resource-group --storage-sync-service --name + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-storagesync/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/Microsoft.StorageSync/storageSyncServices/sync-service000003/syncGroups/sync-group000004?api-version=2019-06-01 + response: + body: + string: '{"properties":{"syncGroupStatus":"0","uniqueId":"e808ab1b-6bc7-4878-ab96-b40b8bf0c2ec"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/microsoft.storagesync/storageSyncServices/sync-service000003/syncGroups/sync-group000004","name":"sync-group000004","type":"microsoft.storagesync/storageSyncServices/syncGroups"}' + headers: + cache-control: + - no-cache + content-length: + - '447' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 12 Mar 2020 19:17:56 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storagesync sync-group show + Connection: + - keep-alive + ParameterSetName: + - --resource-group --storage-sync-service --name + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-storagesync/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/Microsoft.StorageSync/storageSyncServices/sync-service000003/syncGroups/sync-group000004?api-version=2019-06-01 + response: + body: + string: '{"properties":{"syncGroupStatus":"0","uniqueId":"e808ab1b-6bc7-4878-ab96-b40b8bf0c2ec"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/microsoft.storagesync/storageSyncServices/sync-service000003/syncGroups/sync-group000004","name":"sync-group000004","type":"microsoft.storagesync/storageSyncServices/syncGroups"}' + headers: + cache-control: + - no-cache + content-length: + - '447' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 12 Mar 2020 19:18:01 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storagesync sync-group list + Connection: + - keep-alive + ParameterSetName: + - --resource-group --storage-sync-service + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-storagesync/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/Microsoft.StorageSync/storageSyncServices/sync-service000003/syncGroups?api-version=2019-06-01 + response: + body: + string: '{"value":[{"properties":{"syncGroupStatus":"0","uniqueId":"e808ab1b-6bc7-4878-ab96-b40b8bf0c2ec"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/microsoft.storagesync/storageSyncServices/sync-service000003/syncGroups/sync-group000004","name":"sync-group000004","type":"microsoft.storagesync/storageSyncServices/syncGroups"}]}' + headers: + cache-control: + - no-cache + content-length: + - '459' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 12 Mar 2020 19:18:04 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"properties": {"storageAccountResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/Microsoft.Storage/storageAccounts/clitest000002", + "azureFileShareName": "file-sharedlarysphywqdmt", "storageAccountTenantId": + "54826b22-38d6-4fb2-bad9-b7b93a3e9c5a"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storagesync sync-group cloud-endpoint create + Connection: + - keep-alive + Content-Length: + - '375' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - --resource-group --storage-sync-service --sync-group-name --name --storage-account + --azure-file-share-name + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-storagesync/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/Microsoft.StorageSync/storageSyncServices/sync-service000003/syncGroups/sync-group000004/cloudEndpoints/cloud-endpoint000005?api-version=2019-06-01 + response: + body: + string: '' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/microsoft.storagesync/storageSyncServices/sync-service000003/workflows/8d2385f0-3e9a-4f1a-aa8e-0f0e2b38a643/operations/a8dc4e41-e265-4eb9-ab52-535bd0c4e400?api-version=2019-06-01 + cache-control: + - no-cache + content-length: + - '0' + date: + - Thu, 12 Mar 2020 19:18:21 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/microsoft.storagesync/storageSyncServices/sync-service000003/workflows/8d2385f0-3e9a-4f1a-aa8e-0f0e2b38a643/operationresults/a8dc4e41-e265-4eb9-ab52-535bd0c4e400?api-version=2019-06-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storagesync sync-group cloud-endpoint create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --storage-sync-service --sync-group-name --name --storage-account + --azure-file-share-name + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-storagesync/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/microsoft.storagesync/storageSyncServices/sync-service000003/workflows/8d2385f0-3e9a-4f1a-aa8e-0f0e2b38a643/operations/a8dc4e41-e265-4eb9-ab52-535bd0c4e400?api-version=2019-06-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/microsoft.storagesync/storageSyncServices/sync-service000003/workflow/8d2385f0-3e9a-4f1a-aa8e-0f0e2b38a643/operationresults/a8dc4e41-e265-4eb9-ab52-535bd0c4e400","name":"a8dc4e41-e265-4eb9-ab52-535bd0c4e400","status":"newReplicaGroup","startTime":"2020-03-12T19:18:21.4566781Z","endTime":"2020-03-12T19:18:27.9369098Z","percentComplete":null,"error":null,"properties":{}}' + headers: + cache-control: + - no-cache + content-length: + - '537' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 12 Mar 2020 19:18:33 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storagesync sync-group cloud-endpoint create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --storage-sync-service --sync-group-name --name --storage-account + --azure-file-share-name + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-storagesync/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/microsoft.storagesync/storageSyncServices/sync-service000003/workflows/8d2385f0-3e9a-4f1a-aa8e-0f0e2b38a643/operations/a8dc4e41-e265-4eb9-ab52-535bd0c4e400?api-version=2019-06-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/microsoft.storagesync/storageSyncServices/sync-service000003/workflow/8d2385f0-3e9a-4f1a-aa8e-0f0e2b38a643/operationresults/a8dc4e41-e265-4eb9-ab52-535bd0c4e400","name":"a8dc4e41-e265-4eb9-ab52-535bd0c4e400","status":"Succeeded","startTime":"2020-03-12T19:18:21.4566781Z","endTime":"2020-03-12T19:18:38.4831547Z","percentComplete":null,"error":null,"properties":{}}' + headers: + cache-control: + - no-cache + content-length: + - '531' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 12 Mar 2020 19:19:04 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storagesync sync-group cloud-endpoint create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --storage-sync-service --sync-group-name --name --storage-account + --azure-file-share-name + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-storagesync/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/Microsoft.StorageSync/storageSyncServices/sync-service000003/syncGroups/sync-group000004/cloudEndpoints/cloud-endpoint000005?api-version=2019-06-01 + response: + body: + string: '{"properties":{"storageAccountKey":null,"storageAccount":null,"storageAccountResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/Microsoft.Storage/storageAccounts/clitest000002","azureFileShareName":"file-sharedlarysphywqdmt","storageAccountTenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a","partnershipId":"1|U0VSVkVSQVNTWU5DQ0xJRU5USEZTVjJ8RTgwOEFCMUItNkJDNy00ODc4LUFCOTYtQjQwQjhCRjBDMkVDfEdFTkVSSUN8NTRFMjg0MDQtNkJDQi00NzJFLTg2QjctQ0U1MEM3QjQ0QzdF","friendlyName":"file-sharedlarysphywqdmt","backupEnabled":"false","provisioningState":"Succeeded","lastWorkflowId":"storageSyncServices/sync-service000003/workflows/8d2385f0-3e9a-4f1a-aa8e-0f0e2b38a643","lastOperationName":"ICreateCloudEndpointWorkflow"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/microsoft.storagesync/storageSyncServices/sync-service000003/syncGroups/sync-group000004/cloudEndpoints/cloud-endpoint000005","name":"cloud-endpoint000005","type":"microsoft.storagesync/storageSyncServices/syncGroups/cloudEndpoints"}' + headers: + cache-control: + - no-cache + content-length: + - '1251' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 12 Mar 2020 19:19:05 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storagesync sync-group cloud-endpoint show + Connection: + - keep-alive + ParameterSetName: + - --resource-group --storage-sync-service --sync-group-name --name + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-storagesync/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/Microsoft.StorageSync/storageSyncServices/sync-service000003/syncGroups/sync-group000004/cloudEndpoints/cloud-endpoint000005?api-version=2019-06-01 + response: + body: + string: '{"properties":{"storageAccountKey":null,"storageAccount":null,"storageAccountResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/Microsoft.Storage/storageAccounts/clitest000002","azureFileShareName":"file-sharedlarysphywqdmt","storageAccountTenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a","partnershipId":"1|U0VSVkVSQVNTWU5DQ0xJRU5USEZTVjJ8RTgwOEFCMUItNkJDNy00ODc4LUFCOTYtQjQwQjhCRjBDMkVDfEdFTkVSSUN8NTRFMjg0MDQtNkJDQi00NzJFLTg2QjctQ0U1MEM3QjQ0QzdF","friendlyName":"file-sharedlarysphywqdmt","backupEnabled":"false","provisioningState":"Succeeded","lastWorkflowId":"storageSyncServices/sync-service000003/workflows/8d2385f0-3e9a-4f1a-aa8e-0f0e2b38a643","lastOperationName":"ICreateCloudEndpointWorkflow"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/microsoft.storagesync/storageSyncServices/sync-service000003/syncGroups/sync-group000004/cloudEndpoints/cloud-endpoint000005","name":"cloud-endpoint000005","type":"microsoft.storagesync/storageSyncServices/syncGroups/cloudEndpoints"}' + headers: + cache-control: + - no-cache + content-length: + - '1251' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 12 Mar 2020 19:19:41 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storagesync sync-group cloud-endpoint list + Connection: + - keep-alive + ParameterSetName: + - --resource-group --storage-sync-service --sync-group-name + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-storagesync/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/Microsoft.StorageSync/storageSyncServices/sync-service000003/syncGroups/sync-group000004/cloudEndpoints?api-version=2019-06-01 + response: + body: + string: '{"value":[{"properties":{"storageAccountKey":null,"storageAccount":null,"storageAccountResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/Microsoft.Storage/storageAccounts/clitest000002","azureFileShareName":"file-sharedlarysphywqdmt","storageAccountTenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a","partnershipId":"1|U0VSVkVSQVNTWU5DQ0xJRU5USEZTVjJ8RTgwOEFCMUItNkJDNy00ODc4LUFCOTYtQjQwQjhCRjBDMkVDfEdFTkVSSUN8NTRFMjg0MDQtNkJDQi00NzJFLTg2QjctQ0U1MEM3QjQ0QzdF","friendlyName":"file-sharedlarysphywqdmt","backupEnabled":"false","provisioningState":"Succeeded","lastWorkflowId":"storageSyncServices/sync-service000003/workflows/8d2385f0-3e9a-4f1a-aa8e-0f0e2b38a643","lastOperationName":"ICreateCloudEndpointWorkflow"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/microsoft.storagesync/storageSyncServices/sync-service000003/syncGroups/sync-group000004/cloudEndpoints/cloud-endpoint000005","name":"cloud-endpoint000005","type":"microsoft.storagesync/storageSyncServices/syncGroups/cloudEndpoints"}]}' + headers: + cache-control: + - no-cache + content-length: + - '1263' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 12 Mar 2020 19:19:55 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storagesync registered-server list + Connection: + - keep-alive + ParameterSetName: + - --resource-group --storage-sync-service + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-storagesync/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/Microsoft.StorageSync/storageSyncServices/sync-service000003/registeredServers?api-version=2019-06-01 + response: + body: + string: '{"value":[{"properties":{"serverCertificate":null,"agentVersion":"9.1.0.0","agentVersionStatus":null,"agentVersionExpirationDate":null,"serverOSVersion":"10.0.17763.0","serverManagementErrorCode":0,"lastHeartBeat":"2020-03-12T19:36:39.1912667+00:00","provisioningState":"Succeeded","serverRole":"Standalone","clusterId":"00000000-0000-0000-0000-000000000000","clusterName":"","serverId":"8229dcd0-d0af-4b79-a19c-fa69b04a2837","storageSyncServiceUid":"517a62ef-afa7-47bc-b5ec-5798481213c6","lastWorkflowId":"storageSyncServices/sync-service000003/workflows/482d2b31-fa15-4bee-bce6-7cd1f090b70b","lastOperationName":"ICreateRegisteredServerWorkflow","friendlyName":"azureclitestwin","monitoringConfiguration":"{\"agentConfiguration\":\" \\\\Memory\\\\Available MBytes \\\\Processor(_Total)\\\\% + Processor Time \\\\Network Interface(*)\\\\Bytes + Total/sec \\\\Network Interface(*)\\\\Bytes Received/sec \\\\Network + Interface(*)\\\\Bytes Sent/sec \\\\Network Interface(*)\\\\Current + Bandwidth \\\\Network Interface(*)\\\\Output Queue + Length \\\\Server\\\\Bytes Total/sec \\\\Process(filesyncsvc)\\\\* \\\\Process(w3wp)\\\\Private Bytes \\\\Process(MonAgentCore)\\\\% + Processor Time \\\\Process(MonAgentHost)\\\\% Processor + Time \\\\Process(MonAgentManager)\\\\% Processor + Time \\\\Process(MonAgentLauncher)\\\\% Processor + Time \\\\Process(MonAgentCore)\\\\Private Bytes \\\\Process(MonAgentHost)\\\\Private + Bytes \\\\Process(MonAgentManager)\\\\Private Bytes \\\\Process(MonAgentLauncher)\\\\Private + Bytes \\\\Process(AzureStorageSyncMonitor)\\\\% Processor Time \\\\Process(AzureStorageSyncMonitor)\\\\Private + Bytes \\t /Event/System/EventID /Event/System/Level /Event/System/EventRecordID /Event/EventData/Data GetEventMetadata(\\\"Description\\\") /Event/System/EventID /Event/System/Level /Event/System/EventRecordID /Event/EventData/Data GetEventMetadata(\\\"Description\\\") \\t /Event/System/EventID /Event/System/Level /Event/System/EventRecordID /Event/EventData/Data GetEventMetadata(\\\"Description\\\") \\t /Event/System/EventID /Event/System/Level /Event/System/EventRecordID /Event/EventData/Data GetEventMetadata(\\\"Description\\\") \\t /Event/System/EventID /Event/System/Level /Event/System/EventRecordID /Event/EventData/Data GetEventMetadata(\\\"Description\\\") \\t /Event/System/EventID /Event/System/Level /Event/System/EventRecordID /Event/EventData/Data GetEventMetadata(\\\"Description\\\") \\t /Event/System/EventID /Event/System/Level /Event/System/EventRecordID /Event/EventData/Data GetEventMetadata(\\\"Description\\\") /Event/System/EventID /Event/System/Level /Event/System/EventRecordID /Event/EventData/Data GetEventMetadata(\\\"Description\\\") \\t /Event/System/EventID /Event/System/Level /Event/System/EventRecordID /Event/EventData/Data GetEventMetadata(\\\"Description\\\") \\t /Event/System/EventID /Event/System/Level /Event/System/EventRecordID /Event/EventData/Data GetEventMetadata(\\\"Description\\\") EventsToCollect=ServerPerformanceCounters:PerformanceCounter,ServerTelemetryEvents:WindowsEventLog,ServerItemResultsEvents:WindowsEventLog,ServerApplicationEvents:WindowsEventLog;DiagnosticEvents=ServerOperationalEvents:WindowsEventLog,ServerDiagnosticEvents:WindowsEventLog,ServerManagementOperationalEvents:WindowsEventLog,ServerManagementDiagnosticEvents:WindowsEventLog,ServerScrubbingEvents:WindowsEventLog,TieringResultsEvents:WindowsEventLog,RecallResultsEvents:WindowsEventLog,AfsUserModeTraceSession:Trace,AfsKernelModeTraceSession:Trace,InstallerLogs:InstallerLogs;EventSchedulerIntervalsInMins=EnvironmentTelemetry:1440 \",\"configurationVersion\":\"1\",\"id\":null,\"type\":\"microsoft.storagesync/storageSyncServices/HybridMonitoringConfiguration\"}","managementEndpointUri":"https://kailani.one.microsoft.com:443/","discoveryEndpointUri":"https://tm-kailani.one.microsoft.com:443","resourceLocation":"westus","serviceLocation":"westus"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/microsoft.storagesync/storageSyncServices/sync-service000003/registeredServers/8229dcd0-d0af-4b79-a19c-fa69b04a2837","name":"8229dcd0-d0af-4b79-a19c-fa69b04a2837","type":"microsoft.storagesync/storageSyncServices/registeredServers"}]}' + headers: + cache-control: + - no-cache + content-length: + - '13449' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 12 Mar 2020 19:37:31 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storagesync registered-server show + Connection: + - keep-alive + ParameterSetName: + - --resource-group --storage-sync-service --server-id + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-storagesync/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/Microsoft.StorageSync/storageSyncServices/sync-service000003/registeredServers/8229dcd0-d0af-4b79-a19c-fa69b04a2837?api-version=2019-06-01 + response: + body: + string: '{"properties":{"serverCertificate":null,"agentVersion":"9.1.0.0","agentVersionStatus":null,"agentVersionExpirationDate":null,"serverOSVersion":"10.0.17763.0","serverManagementErrorCode":0,"lastHeartBeat":"2020-03-12T19:36:39.1912667+00:00","provisioningState":"Succeeded","serverRole":"Standalone","clusterId":"00000000-0000-0000-0000-000000000000","clusterName":"","serverId":"8229dcd0-d0af-4b79-a19c-fa69b04a2837","storageSyncServiceUid":"517a62ef-afa7-47bc-b5ec-5798481213c6","lastWorkflowId":"storageSyncServices/sync-service000003/workflows/482d2b31-fa15-4bee-bce6-7cd1f090b70b","lastOperationName":"ICreateRegisteredServerWorkflow","friendlyName":"azureclitestwin","monitoringConfiguration":"{\"agentConfiguration\":\" \\\\Memory\\\\Available MBytes \\\\Processor(_Total)\\\\% + Processor Time \\\\Network Interface(*)\\\\Bytes + Total/sec \\\\Network Interface(*)\\\\Bytes Received/sec \\\\Network + Interface(*)\\\\Bytes Sent/sec \\\\Network Interface(*)\\\\Current + Bandwidth \\\\Network Interface(*)\\\\Output Queue + Length \\\\Server\\\\Bytes Total/sec \\\\Process(filesyncsvc)\\\\* \\\\Process(w3wp)\\\\Private Bytes \\\\Process(MonAgentCore)\\\\% + Processor Time \\\\Process(MonAgentHost)\\\\% Processor + Time \\\\Process(MonAgentManager)\\\\% Processor + Time \\\\Process(MonAgentLauncher)\\\\% Processor + Time \\\\Process(MonAgentCore)\\\\Private Bytes \\\\Process(MonAgentHost)\\\\Private + Bytes \\\\Process(MonAgentManager)\\\\Private Bytes \\\\Process(MonAgentLauncher)\\\\Private + Bytes \\\\Process(AzureStorageSyncMonitor)\\\\% Processor Time \\\\Process(AzureStorageSyncMonitor)\\\\Private + Bytes \\t /Event/System/EventID /Event/System/Level /Event/System/EventRecordID /Event/EventData/Data GetEventMetadata(\\\"Description\\\") /Event/System/EventID /Event/System/Level /Event/System/EventRecordID /Event/EventData/Data GetEventMetadata(\\\"Description\\\") \\t /Event/System/EventID /Event/System/Level /Event/System/EventRecordID /Event/EventData/Data GetEventMetadata(\\\"Description\\\") \\t /Event/System/EventID /Event/System/Level /Event/System/EventRecordID /Event/EventData/Data GetEventMetadata(\\\"Description\\\") \\t /Event/System/EventID /Event/System/Level /Event/System/EventRecordID /Event/EventData/Data GetEventMetadata(\\\"Description\\\") \\t /Event/System/EventID /Event/System/Level /Event/System/EventRecordID /Event/EventData/Data GetEventMetadata(\\\"Description\\\") \\t /Event/System/EventID /Event/System/Level /Event/System/EventRecordID /Event/EventData/Data GetEventMetadata(\\\"Description\\\") /Event/System/EventID /Event/System/Level /Event/System/EventRecordID /Event/EventData/Data GetEventMetadata(\\\"Description\\\") \\t /Event/System/EventID /Event/System/Level /Event/System/EventRecordID /Event/EventData/Data GetEventMetadata(\\\"Description\\\") \\t /Event/System/EventID /Event/System/Level /Event/System/EventRecordID /Event/EventData/Data GetEventMetadata(\\\"Description\\\") EventsToCollect=ServerPerformanceCounters:PerformanceCounter,ServerTelemetryEvents:WindowsEventLog,ServerItemResultsEvents:WindowsEventLog,ServerApplicationEvents:WindowsEventLog;DiagnosticEvents=ServerOperationalEvents:WindowsEventLog,ServerDiagnosticEvents:WindowsEventLog,ServerManagementOperationalEvents:WindowsEventLog,ServerManagementDiagnosticEvents:WindowsEventLog,ServerScrubbingEvents:WindowsEventLog,TieringResultsEvents:WindowsEventLog,RecallResultsEvents:WindowsEventLog,AfsUserModeTraceSession:Trace,AfsKernelModeTraceSession:Trace,InstallerLogs:InstallerLogs;EventSchedulerIntervalsInMins=EnvironmentTelemetry:1440 \",\"configurationVersion\":\"1\",\"id\":null,\"type\":\"microsoft.storagesync/storageSyncServices/HybridMonitoringConfiguration\"}","managementEndpointUri":"https://kailani.one.microsoft.com:443/","discoveryEndpointUri":"https://tm-kailani.one.microsoft.com:443","resourceLocation":"westus","serviceLocation":"westus"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/microsoft.storagesync/storageSyncServices/sync-service000003/registeredServers/8229dcd0-d0af-4b79-a19c-fa69b04a2837","name":"8229dcd0-d0af-4b79-a19c-fa69b04a2837","type":"microsoft.storagesync/storageSyncServices/registeredServers"}' + headers: + cache-control: + - no-cache + content-length: + - '13437' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 12 Mar 2020 19:38:17 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK + + +- request: + body: '{"properties": {"serverLocalPath": "d:\\syncfolder", "cloudTiering": "on", + "volumeFreeSpacePercent": 80, "tierFilesOlderThanDays": 20, "serverResourceId": + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/Microsoft.StorageSync/storageSyncServices/testsssnotag/registeredServers/4fc9e260-a31b-4def-be93-c3bd36287a47", + "offlineDataTransfer": "on", "offlineDataTransferShareName": "efg"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storagesync sync-group server-endpoint create + Connection: + - keep-alive + Content-Length: + - '431' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - --resource-group --storage-sync-service --sync-group-name --name --server-id + --server-local-path --cloud-tiering --tier-files-older-than-days --volume-free-space-percent + --offline-data-transfer --offline-data-transfer-share-name + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-storagesync/0.2.0 Azure-SDK-For-Python AZURECLI/2.2.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/Microsoft.StorageSync/storageSyncServices/sync-service000003/syncGroups/sync-group000004/serverEndpoints/server-endpoint000006?api-version=2019-06-01 + response: + body: + string: '' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/microsoft.storagesync/storageSyncServices/sync-service000003/workflows/0aea3e52-67ad-41bc-b32c-0be4cdd58bec/operations/6d3da8ba-8f67-4fdf-bcd9-4e3bde758b7c?api-version=2019-06-01 + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 17 Mar 2020 07:50:23 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/microsoft.storagesync/storageSyncServices/sync-service000003/workflows/0aea3e52-67ad-41bc-b32c-0be4cdd58bec/operationresults/6d3da8ba-8f67-4fdf-bcd9-4e3bde758b7c?api-version=2019-06-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storagesync sync-group server-endpoint create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --storage-sync-service --sync-group-name --name --server-id + --server-local-path --cloud-tiering --tier-files-older-than-days --volume-free-space-percent + --offline-data-transfer --offline-data-transfer-share-name + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-storagesync/0.2.0 Azure-SDK-For-Python AZURECLI/2.2.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/microsoft.storagesync/storageSyncServices/sync-service000003/workflows/0aea3e52-67ad-41bc-b32c-0be4cdd58bec/operations/6d3da8ba-8f67-4fdf-bcd9-4e3bde758b7c?api-version=2019-06-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/microsoft.storagesync/storageSyncServices/sync-service000003/workflow/0aea3e52-67ad-41bc-b32c-0be4cdd58bec/operationresults/6d3da8ba-8f67-4fdf-bcd9-4e3bde758b7c","name":"6d3da8ba-8f67-4fdf-bcd9-4e3bde758b7c","status":"runServerJob","startTime":"2020-03-17T07:50:23.8765558Z","endTime":"2020-03-17T07:50:28.7182404Z","percentComplete":null,"error":null,"properties":{}}' + headers: + cache-control: + - no-cache + content-length: + - '464' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 07:50:35 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storagesync sync-group server-endpoint create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --storage-sync-service --sync-group-name --name --server-id + --server-local-path --cloud-tiering --tier-files-older-than-days --volume-free-space-percent + --offline-data-transfer --offline-data-transfer-share-name + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-storagesync/0.2.0 Azure-SDK-For-Python AZURECLI/2.2.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/microsoft.storagesync/storageSyncServices/sync-service000003/workflows/0aea3e52-67ad-41bc-b32c-0be4cdd58bec/operations/6d3da8ba-8f67-4fdf-bcd9-4e3bde758b7c?api-version=2019-06-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/microsoft.storagesync/storageSyncServices/sync-service000003/workflow/0aea3e52-67ad-41bc-b32c-0be4cdd58bec/operationresults/6d3da8ba-8f67-4fdf-bcd9-4e3bde758b7c","name":"6d3da8ba-8f67-4fdf-bcd9-4e3bde758b7c","status":"Succeeded","startTime":"2020-03-17T07:50:23.8765558Z","endTime":"2020-03-17T07:50:43.9018445Z","percentComplete":null,"error":null,"properties":{}}' + headers: + cache-control: + - no-cache + content-length: + - '461' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 07:51:05 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storagesync sync-group server-endpoint create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --storage-sync-service --sync-group-name --name --server-id + --server-local-path --cloud-tiering --tier-files-older-than-days --volume-free-space-percent + --offline-data-transfer --offline-data-transfer-share-name + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-storagesync/0.2.0 Azure-SDK-For-Python AZURECLI/2.2.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/Microsoft.StorageSync/storageSyncServices/sync-service000003/syncGroups/sync-group000004/serverEndpoints/server-endpoint000006?api-version=2019-06-01 + response: + body: + string: '{"properties":{"serverLocalPath":"d:\\syncfolder","cloudTiering":"On","volumeFreeSpacePercent":"80","tierFilesOlderThanDays":"20","friendlyName":"azureclitestwin","serverResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/microsoft.storagesync/storageSyncServices/testsssnotag/registeredServers/4fc9e260-a31b-4def-be93-c3bd36287a47","provisioningState":"Succeeded","lastWorkflowId":"storageSyncServices/testsssnotag/workflows/0aea3e52-67ad-41bc-b32c-0be4cdd58bec","lastOperationName":"ICreateServerEndpointWorkflow","syncStatus":{"downloadHealth":null,"uploadHealth":null,"combinedHealth":null,"syncActivity":null,"totalPersistentFilesNotSyncingCount":null,"lastUpdatedTimestamp":null,"uploadStatus":null,"downloadStatus":null,"uploadActivity":null,"downloadActivity":null,"offlineDataTransferStatus":"InProgress"},"offlineDataTransfer":"On","offlineDataTransferStorageAccountResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_storagesync000001/providers/microsoft.storage/storageaccounts/testcreatese","offlineDataTransferStorageAccountTenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a","offlineDataTransferShareName":"efg","cloudTieringStatus":null,"recallStatus":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/microsoft.storagesync/storageSyncServices/testsssnotag/syncGroups/group1/serverEndpoints/server-endpoint000006","name":"server-endpoint000006","type":"microsoft.storagesync/storageSyncServices/syncGroups/serverEndpoints"}' + headers: + cache-control: + - no-cache + content-length: + - '1583' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 07:51:07 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK + + +- request: + body: '{"properties": {"tierFilesOlderThanDays": 10}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storagesync sync-group server-endpoint update + Connection: + - keep-alive + Content-Length: + - '46' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - --resource-group --storage-sync-service --sync-group-name --name --tier-files-older-than-days + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-storagesync/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + accept-language: + - en-US + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/Microsoft.StorageSync/storageSyncServices/sync-service000003/syncGroups/sync-group000004/serverEndpoints/server-endpoint000006?api-version=2019-06-01 + response: + body: + string: '' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/microsoft.storagesync/storageSyncServices/sync-service000003/workflows/552166db-1cc2-4e80-b288-25f15b330a88/operations/ef028340-80de-4d51-8b34-60ff4fb2b8c8?api-version=2019-06-01 + cache-control: + - no-cache + content-length: + - '0' + date: + - Thu, 12 Mar 2020 19:41:26 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/microsoft.storagesync/storageSyncServices/sync-service000003/workflows/552166db-1cc2-4e80-b288-25f15b330a88/operationresults/ef028340-80de-4d51-8b34-60ff4fb2b8c8?api-version=2019-06-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storagesync sync-group server-endpoint update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --storage-sync-service --sync-group-name --name --tier-files-older-than-days + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-storagesync/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/microsoft.storagesync/storageSyncServices/sync-service000003/workflows/552166db-1cc2-4e80-b288-25f15b330a88/operations/ef028340-80de-4d51-8b34-60ff4fb2b8c8?api-version=2019-06-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/microsoft.storagesync/storageSyncServices/sync-service000003/workflow/552166db-1cc2-4e80-b288-25f15b330a88/operationresults/ef028340-80de-4d51-8b34-60ff4fb2b8c8","name":"ef028340-80de-4d51-8b34-60ff4fb2b8c8","status":"runServerJob","startTime":"2020-03-12T19:41:27.4555732Z","endTime":"2020-03-12T19:41:30.8691313Z","percentComplete":null,"error":null,"properties":{}}' + headers: + cache-control: + - no-cache + content-length: + - '534' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 12 Mar 2020 19:41:37 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storagesync sync-group server-endpoint update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --storage-sync-service --sync-group-name --name --tier-files-older-than-days + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-storagesync/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/microsoft.storagesync/storageSyncServices/sync-service000003/workflows/552166db-1cc2-4e80-b288-25f15b330a88/operations/ef028340-80de-4d51-8b34-60ff4fb2b8c8?api-version=2019-06-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/microsoft.storagesync/storageSyncServices/sync-service000003/workflow/552166db-1cc2-4e80-b288-25f15b330a88/operationresults/ef028340-80de-4d51-8b34-60ff4fb2b8c8","name":"ef028340-80de-4d51-8b34-60ff4fb2b8c8","status":"Succeeded","startTime":"2020-03-12T19:41:27.4555732Z","endTime":"2020-03-12T19:41:51.3733307Z","percentComplete":null,"error":null,"properties":{}}' + headers: + cache-control: + - no-cache + content-length: + - '531' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 12 Mar 2020 19:42:10 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storagesync sync-group server-endpoint update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --storage-sync-service --sync-group-name --name --tier-files-older-than-days + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-storagesync/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/Microsoft.StorageSync/storageSyncServices/sync-service000003/syncGroups/sync-group000004/serverEndpoints/server-endpoint000006?api-version=2019-06-01 + response: + body: + string: '{"properties":{"serverLocalPath":"c:\\users\\syncfolder","cloudTiering":"Off","volumeFreeSpacePercent":"20","tierFilesOlderThanDays":"10","friendlyName":"azureclitestwin","serverResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/microsoft.storagesync/storageSyncServices/sync-service000003/registeredServers/8229dcd0-d0af-4b79-a19c-fa69b04a2837","provisioningState":"Succeeded","lastWorkflowId":"storageSyncServices/sync-service000003/workflows/552166db-1cc2-4e80-b288-25f15b330a88","lastOperationName":"IPatchServerEndpointWorkflow","syncStatus":{"downloadHealth":null,"uploadHealth":null,"combinedHealth":null,"syncActivity":null,"totalPersistentFilesNotSyncingCount":null,"lastUpdatedTimestamp":null,"uploadStatus":null,"downloadStatus":null,"uploadActivity":null,"downloadActivity":null,"offlineDataTransferStatus":null},"offlineDataTransfer":"Off","offlineDataTransferStorageAccountResourceId":null,"offlineDataTransferStorageAccountTenantId":null,"offlineDataTransferShareName":null,"cloudTieringStatus":null,"recallStatus":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/microsoft.storagesync/storageSyncServices/sync-service000003/syncGroups/sync-group000004/serverEndpoints/server-endpoint000006","name":"server-endpoint000006","type":"microsoft.storagesync/storageSyncServices/syncGroups/serverEndpoints"}' + headers: + cache-control: + - no-cache + content-length: + - '1579' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 12 Mar 2020 19:42:11 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storagesync sync-group server-endpoint show + Connection: + - keep-alive + ParameterSetName: + - --resource-group --storage-sync-service --sync-group-name --name + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-storagesync/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/Microsoft.StorageSync/storageSyncServices/sync-service000003/syncGroups/sync-group000004/serverEndpoints/server-endpoint000006?api-version=2019-06-01 + response: + body: + string: '{"properties":{"serverLocalPath":"c:\\users\\syncfolder","cloudTiering":"Off","volumeFreeSpacePercent":"20","tierFilesOlderThanDays":"10","friendlyName":"azureclitestwin","serverResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/microsoft.storagesync/storageSyncServices/sync-service000003/registeredServers/8229dcd0-d0af-4b79-a19c-fa69b04a2837","provisioningState":"Succeeded","lastWorkflowId":"storageSyncServices/sync-service000003/workflows/552166db-1cc2-4e80-b288-25f15b330a88","lastOperationName":"IPatchServerEndpointWorkflow","syncStatus":{"downloadHealth":null,"uploadHealth":null,"combinedHealth":null,"syncActivity":null,"totalPersistentFilesNotSyncingCount":null,"lastUpdatedTimestamp":null,"uploadStatus":null,"downloadStatus":null,"uploadActivity":null,"downloadActivity":null,"offlineDataTransferStatus":null},"offlineDataTransfer":"Off","offlineDataTransferStorageAccountResourceId":null,"offlineDataTransferStorageAccountTenantId":null,"offlineDataTransferShareName":null,"cloudTieringStatus":null,"recallStatus":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/microsoft.storagesync/storageSyncServices/sync-service000003/syncGroups/sync-group000004/serverEndpoints/server-endpoint000006","name":"server-endpoint000006","type":"microsoft.storagesync/storageSyncServices/syncGroups/serverEndpoints"}' + headers: + cache-control: + - no-cache + content-length: + - '1579' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 12 Mar 2020 19:42:22 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storagesync sync-group server-endpoint list + Connection: + - keep-alive + ParameterSetName: + - --resource-group --storage-sync-service --sync-group-name + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-storagesync/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/Microsoft.StorageSync/storageSyncServices/sync-service000003/syncGroups/sync-group000004/serverEndpoints?api-version=2019-06-01 + response: + body: + string: '{"value":[{"properties":{"serverLocalPath":"c:\\users\\syncfolder","cloudTiering":"Off","volumeFreeSpacePercent":"20","tierFilesOlderThanDays":"10","friendlyName":"azureclitestwin","serverResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/microsoft.storagesync/storageSyncServices/sync-service000003/registeredServers/8229dcd0-d0af-4b79-a19c-fa69b04a2837","provisioningState":"Succeeded","lastWorkflowId":"storageSyncServices/sync-service000003/workflows/552166db-1cc2-4e80-b288-25f15b330a88","lastOperationName":"IPatchServerEndpointWorkflow","syncStatus":{"downloadHealth":null,"uploadHealth":null,"combinedHealth":null,"syncActivity":null,"totalPersistentFilesNotSyncingCount":null,"lastUpdatedTimestamp":null,"uploadStatus":null,"downloadStatus":null,"uploadActivity":null,"downloadActivity":null,"offlineDataTransferStatus":null},"offlineDataTransfer":"Off","offlineDataTransferStorageAccountResourceId":null,"offlineDataTransferStorageAccountTenantId":null,"offlineDataTransferShareName":null,"cloudTieringStatus":null,"recallStatus":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/microsoft.storagesync/storageSyncServices/sync-service000003/syncGroups/sync-group000004/serverEndpoints/server-endpoint000006","name":"server-endpoint000006","type":"microsoft.storagesync/storageSyncServices/syncGroups/serverEndpoints"}]}' + headers: + cache-control: + - no-cache + content-length: + - '1591' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 12 Mar 2020 19:42:29 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storagesync registered-server delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --resource-group --storage-sync-service --server-id -y + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-storagesync/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + accept-language: + - en-US + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/Microsoft.StorageSync/storageSyncServices/sync-service000003/registeredServers/8229dcd0-d0af-4b79-a19c-fa69b04a2837?api-version=2019-06-01 + response: + body: + string: '' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/microsoft.storagesync/storageSyncServices/sync-service000003/workflows/269129a9-8f1e-40d1-bf91-b7a26c44874f/operations/e0e686de-87f4-46c8-96af-cce1d4914c7d?api-version=2019-06-01 + cache-control: + - no-cache + content-length: + - '0' + date: + - Thu, 12 Mar 2020 19:42:43 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/microsoft.storagesync/storageSyncServices/sync-service000003/workflows/269129a9-8f1e-40d1-bf91-b7a26c44874f/operationresults/e0e686de-87f4-46c8-96af-cce1d4914c7d?api-version=2019-06-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storagesync registered-server delete + Connection: + - keep-alive + ParameterSetName: + - --resource-group --storage-sync-service --server-id -y + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-storagesync/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/microsoft.storagesync/storageSyncServices/sync-service000003/workflows/269129a9-8f1e-40d1-bf91-b7a26c44874f/operations/e0e686de-87f4-46c8-96af-cce1d4914c7d?api-version=2019-06-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/microsoft.storagesync/storageSyncServices/sync-service000003/workflow/269129a9-8f1e-40d1-bf91-b7a26c44874f/operationresults/e0e686de-87f4-46c8-96af-cce1d4914c7d","name":"e0e686de-87f4-46c8-96af-cce1d4914c7d","status":"delayStep","startTime":"2020-03-12T19:42:43.8505605Z","endTime":"2020-03-12T19:42:50.5157968Z","percentComplete":null,"error":null,"properties":{}}' + headers: + cache-control: + - no-cache + content-length: + - '531' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 12 Mar 2020 19:42:56 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storagesync registered-server delete + Connection: + - keep-alive + ParameterSetName: + - --resource-group --storage-sync-service --server-id -y + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-storagesync/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/microsoft.storagesync/storageSyncServices/sync-service000003/workflows/269129a9-8f1e-40d1-bf91-b7a26c44874f/operations/e0e686de-87f4-46c8-96af-cce1d4914c7d?api-version=2019-06-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/microsoft.storagesync/storageSyncServices/sync-service000003/workflow/269129a9-8f1e-40d1-bf91-b7a26c44874f/operationresults/e0e686de-87f4-46c8-96af-cce1d4914c7d","name":"e0e686de-87f4-46c8-96af-cce1d4914c7d","status":"delayStep","startTime":"2020-03-12T19:42:43.8505605Z","endTime":"2020-03-12T19:42:50.5157968Z","percentComplete":null,"error":null,"properties":{}}' + headers: + cache-control: + - no-cache + content-length: + - '531' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 12 Mar 2020 19:43:26 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storagesync registered-server delete + Connection: + - keep-alive + ParameterSetName: + - --resource-group --storage-sync-service --server-id -y + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-storagesync/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/microsoft.storagesync/storageSyncServices/sync-service000003/workflows/269129a9-8f1e-40d1-bf91-b7a26c44874f/operations/e0e686de-87f4-46c8-96af-cce1d4914c7d?api-version=2019-06-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/microsoft.storagesync/storageSyncServices/sync-service000003/workflow/269129a9-8f1e-40d1-bf91-b7a26c44874f/operationresults/e0e686de-87f4-46c8-96af-cce1d4914c7d","name":"e0e686de-87f4-46c8-96af-cce1d4914c7d","status":"Succeeded","startTime":"2020-03-12T19:42:43.8505605Z","endTime":"2020-03-12T19:43:35.7183183Z","percentComplete":null,"error":null,"properties":{}}' + headers: + cache-control: + - no-cache + content-length: + - '531' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 12 Mar 2020 19:43:57 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storagesync sync-group server-endpoint delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --resource-group --storage-sync-service --sync-group-name --name -y + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-storagesync/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + accept-language: + - en-US + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/Microsoft.StorageSync/storageSyncServices/sync-service000003/syncGroups/sync-group000004/serverEndpoints/server-endpoint000006?api-version=2019-06-01 + response: + body: + string: '' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/microsoft.storagesync/storageSyncServices/sync-service000003/workflows/4f9ffe03-0841-44e7-9c21-e0029715e8bf/operations/089d56e9-fcb1-46b0-87b1-0a8e0ae002be?api-version=2019-06-01 + cache-control: + - no-cache + content-length: + - '0' + date: + - Thu, 12 Mar 2020 19:44:17 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/microsoft.storagesync/storageSyncServices/sync-service000003/workflows/4f9ffe03-0841-44e7-9c21-e0029715e8bf/operationresults/089d56e9-fcb1-46b0-87b1-0a8e0ae002be?api-version=2019-06-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storagesync sync-group server-endpoint delete + Connection: + - keep-alive + ParameterSetName: + - --resource-group --storage-sync-service --sync-group-name --name -y + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-storagesync/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/microsoft.storagesync/storageSyncServices/sync-service000003/workflows/4f9ffe03-0841-44e7-9c21-e0029715e8bf/operations/089d56e9-fcb1-46b0-87b1-0a8e0ae002be?api-version=2019-06-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/microsoft.storagesync/storageSyncServices/sync-service000003/workflow/4f9ffe03-0841-44e7-9c21-e0029715e8bf/operationresults/089d56e9-fcb1-46b0-87b1-0a8e0ae002be","name":"089d56e9-fcb1-46b0-87b1-0a8e0ae002be","status":"Succeeded","startTime":"2020-03-12T19:44:18.1332134Z","endTime":"2020-03-12T19:44:22.5179647Z","percentComplete":null,"error":null,"properties":{}}' + headers: + cache-control: + - no-cache + content-length: + - '531' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 12 Mar 2020 19:44:30 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storagesync sync-group cloud-endpoint delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --resource-group --storage-sync-service --sync-group-name --name -y + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-storagesync/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + accept-language: + - en-US + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/Microsoft.StorageSync/storageSyncServices/sync-service000003/syncGroups/sync-group000004/cloudEndpoints/cloud-endpoint000005?api-version=2019-06-01 + response: + body: + string: '' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/microsoft.storagesync/storageSyncServices/sync-service000003/workflows/61bbe9e8-152e-4eca-a665-9fa2d2763623/operations/12cf2589-92a5-472b-9bb1-2ff0ce7af920?api-version=2019-06-01 + cache-control: + - no-cache + content-length: + - '0' + date: + - Thu, 12 Mar 2020 19:44:54 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/microsoft.storagesync/storageSyncServices/sync-service000003/workflows/61bbe9e8-152e-4eca-a665-9fa2d2763623/operationresults/12cf2589-92a5-472b-9bb1-2ff0ce7af920?api-version=2019-06-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storagesync sync-group cloud-endpoint delete + Connection: + - keep-alive + ParameterSetName: + - --resource-group --storage-sync-service --sync-group-name --name -y + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-storagesync/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/microsoft.storagesync/storageSyncServices/sync-service000003/workflows/61bbe9e8-152e-4eca-a665-9fa2d2763623/operations/12cf2589-92a5-472b-9bb1-2ff0ce7af920?api-version=2019-06-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/microsoft.storagesync/storageSyncServices/sync-service000003/workflow/61bbe9e8-152e-4eca-a665-9fa2d2763623/operationresults/12cf2589-92a5-472b-9bb1-2ff0ce7af920","name":"12cf2589-92a5-472b-9bb1-2ff0ce7af920","status":"Succeeded","startTime":"2020-03-12T19:44:54.5783065Z","endTime":"2020-03-12T19:44:58.8299157Z","percentComplete":null,"error":null,"properties":{}}' + headers: + cache-control: + - no-cache + content-length: + - '531' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 12 Mar 2020 19:45:07 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storagesync sync-group delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --resource-group --storage-sync-service --name -y + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-storagesync/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + accept-language: + - en-US + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/Microsoft.StorageSync/storageSyncServices/sync-service000003/syncGroups/sync-group000004?api-version=2019-06-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Thu, 12 Mar 2020 19:45:15 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storagesync delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --resource-group --name -y + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-storagesync/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + accept-language: + - en-US + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/Microsoft.StorageSync/storageSyncServices/sync-service000003?api-version=2019-06-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Thu, 12 Mar 2020 19:45:27 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storagesync show + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-storagesync/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/Microsoft.StorageSync/storageSyncServices/sync-service000003?api-version=2019-06-01 + response: + body: + string: '{"error":{"code":"ResourceNotFound","message":"The Resource ''Microsoft.StorageSync/storageSyncServices/sync-service000003'' + under resource group ''cli_test_storagesync000001'' + was not found."}}' + headers: + cache-control: + - no-cache + content-length: + - '245' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 12 Mar 2020 19:45:32 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-failure-cause: + - gateway + status: + code: 404 + message: Not Found + +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage share delete + Connection: + - keep-alive + ParameterSetName: + - --name --account-name + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-storage/8.0.0 Azure-SDK-For-Python AZURECLI/2.2.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/storageAccounts?api-version=2019-06-01 + response: + body: + string: '{"value":[{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/Microsoft.Storage/storageAccounts/azureclitestrgdiag180","name":"azureclitestrgdiag180","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-12-30T03:44:58.6379144Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-12-30T03:44:58.6379144Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2019-12-30T03:44:58.5910120Z","primaryEndpoints":{"blob":"https://azureclitestrgdiag180.blob.core.windows.net/","queue":"https://azureclitestrgdiag180.queue.core.windows.net/","table":"https://azureclitestrgdiag180.table.core.windows.net/","file":"https://azureclitestrgdiag180.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azure-core-poc/providers/Microsoft.Storage/storageAccounts/azurecorepoc","name":"azurecorepoc","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-12-26T02:38:58.8233588Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-12-26T02:38:58.8233588Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-12-26T02:38:58.7452329Z","primaryEndpoints":{"dfs":"https://azurecorepoc.dfs.core.windows.net/","web":"https://azurecorepoc.z13.web.core.windows.net/","blob":"https://azurecorepoc.blob.core.windows.net/","queue":"https://azurecorepoc.queue.core.windows.net/","table":"https://azurecorepoc.table.core.windows.net/","file":"https://azurecorepoc.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://azurecorepoc-secondary.dfs.core.windows.net/","web":"https://azurecorepoc-secondary.z13.web.core.windows.net/","blob":"https://azurecorepoc-secondary.blob.core.windows.net/","queue":"https://azurecorepoc-secondary.queue.core.windows.net/","table":"https://azurecorepoc-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qianwens/providers/Microsoft.Storage/storageAccounts/qianwendev","name":"qianwendev","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qianwens/providers/Microsoft.Network/virtualNetworks/QIAN/subnets/default","action":"Allow","state":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qianwens/providers/Microsoft.Network/virtualNetworks/qianwendev/subnets/default","action":"Allow","state":"Succeeded"}],"ipRules":[{"value":"23.45.1.0/24","action":"Allow"},{"value":"23.45.1.1/24","action":"Allow"}],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-12T03:29:28.0084761Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-12T03:29:28.0084761Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-02-12T03:29:27.9459854Z","primaryEndpoints":{"dfs":"https://qianwendev.dfs.core.windows.net/","web":"https://qianwendev.z13.web.core.windows.net/","blob":"https://qianwendev.blob.core.windows.net/","queue":"https://qianwendev.queue.core.windows.net/","table":"https://qianwendev.table.core.windows.net/","file":"https://qianwendev.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://qianwendev-secondary.dfs.core.windows.net/","web":"https://qianwendev-secondary.z13.web.core.windows.net/","blob":"https://qianwendev-secondary.blob.core.windows.net/","queue":"https://qianwendev-secondary.queue.core.windows.net/","table":"https://qianwendev-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qianwens/providers/Microsoft.Storage/storageAccounts/qianwenhpctarget","name":"qianwenhpctarget","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-06T07:09:20.3073299Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-06T07:09:20.3073299Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-06T07:09:20.2291899Z","primaryEndpoints":{"dfs":"https://qianwenhpctarget.dfs.core.windows.net/","web":"https://qianwenhpctarget.z13.web.core.windows.net/","blob":"https://qianwenhpctarget.blob.core.windows.net/","queue":"https://qianwenhpctarget.queue.core.windows.net/","table":"https://qianwenhpctarget.table.core.windows.net/","file":"https://qianwenhpctarget.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://qianwenhpctarget-secondary.dfs.core.windows.net/","web":"https://qianwenhpctarget-secondary.z13.web.core.windows.net/","blob":"https://qianwenhpctarget-secondary.blob.core.windows.net/","queue":"https://qianwenhpctarget-secondary.queue.core.windows.net/","table":"https://qianwenhpctarget-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/Microsoft.Storage/storageAccounts/storeayniadjso4lay","name":"storeayniadjso4lay","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-14T15:40:43.7851387Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-14T15:40:43.7851387Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-14T15:40:43.7070117Z","primaryEndpoints":{"dfs":"https://storeayniadjso4lay.dfs.core.windows.net/","web":"https://storeayniadjso4lay.z13.web.core.windows.net/","blob":"https://storeayniadjso4lay.blob.core.windows.net/","queue":"https://storeayniadjso4lay.queue.core.windows.net/","table":"https://storeayniadjso4lay.table.core.windows.net/","file":"https://storeayniadjso4lay.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zhoxing-test/providers/Microsoft.Storage/storageAccounts/azhoxingtest9851","name":"azhoxingtest9851","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{"hidden-DevTestLabs-LabUId":"6e279161-d008-42b7-90a1-6801fc4bc4ca"},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-21T05:43:15.2811036Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-21T05:43:15.2811036Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-02-21T05:43:15.2029670Z","primaryEndpoints":{"dfs":"https://azhoxingtest9851.dfs.core.windows.net/","web":"https://azhoxingtest9851.z22.web.core.windows.net/","blob":"https://azhoxingtest9851.blob.core.windows.net/","queue":"https://azhoxingtest9851.queue.core.windows.net/","table":"https://azhoxingtest9851.table.core.windows.net/","file":"https://azhoxingtest9851.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/Microsoft.Storage/storageAccounts/azureclitestrgdiag","name":"azureclitestrgdiag","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-12-30T02:54:26.8971309Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-12-30T02:54:26.8971309Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2019-12-30T02:54:26.8502755Z","primaryEndpoints":{"blob":"https://azureclitestrgdiag.blob.core.windows.net/","queue":"https://azureclitestrgdiag.queue.core.windows.net/","table":"https://azureclitestrgdiag.table.core.windows.net/","file":"https://azureclitestrgdiag.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesyncewzqda3p3syseopedt2lhfsgsw7dgbj3ukiy4ypayg7dy4az4e3hhsj/providers/Microsoft.Storage/storageAccounts/clitest54vifrk7bm3ixknkx","name":"clitest54vifrk7bm3ixknkx","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-17T07:31:57.9596880Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-17T07:31:57.9596880Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-17T07:31:57.8816266Z","primaryEndpoints":{"blob":"https://clitest54vifrk7bm3ixknkx.blob.core.windows.net/","queue":"https://clitest54vifrk7bm3ixknkx.queue.core.windows.net/","table":"https://clitest54vifrk7bm3ixknkx.table.core.windows.net/","file":"https://clitest54vifrk7bm3ixknkx.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databoxoe2qtcqlnxonqpub522jgmpzgeegwhowl2qo6xqgfwtqcd3jzicz5yraawi/providers/Microsoft.Storage/storageAccounts/clitest6yrafi3cntx2cngw3","name":"clitest6yrafi3cntx2cngw3","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-06T14:00:05.4412024Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-06T14:00:05.4412024Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-06T14:00:05.3786989Z","primaryEndpoints":{"blob":"https://clitest6yrafi3cntx2cngw3.blob.core.windows.net/","queue":"https://clitest6yrafi3cntx2cngw3.queue.core.windows.net/","table":"https://clitest6yrafi3cntx2cngw3.table.core.windows.net/","file":"https://clitest6yrafi3cntx2cngw3.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databoxn5n2vkeyewiwob4e7e6nqiblkvvgc5qorevejhsntblvdlc2t373rrvy45p/providers/Microsoft.Storage/storageAccounts/clitest75g6r5uwkj7ker7wu","name":"clitest75g6r5uwkj7ker7wu","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T06:35:53.9029562Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T06:35:53.9029562Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-03T06:35:53.8248647Z","primaryEndpoints":{"blob":"https://clitest75g6r5uwkj7ker7wu.blob.core.windows.net/","queue":"https://clitest75g6r5uwkj7ker7wu.queue.core.windows.net/","table":"https://clitest75g6r5uwkj7ker7wu.table.core.windows.net/","file":"https://clitest75g6r5uwkj7ker7wu.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox5gpbe2knrizxsitmvje3fbdl44tf6cvpfqbpvsyicxmupsbyhmlcrg4wesk/providers/Microsoft.Storage/storageAccounts/clitest7b5n3o4aahl5rafju","name":"clitest7b5n3o4aahl5rafju","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T08:27:23.1140038Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T08:27:23.1140038Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-03T08:27:23.0514944Z","primaryEndpoints":{"blob":"https://clitest7b5n3o4aahl5rafju.blob.core.windows.net/","queue":"https://clitest7b5n3o4aahl5rafju.queue.core.windows.net/","table":"https://clitest7b5n3o4aahl5rafju.table.core.windows.net/","file":"https://clitest7b5n3o4aahl5rafju.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databoxlekg7y4dtg2pnsaueisdkyqi5mnvmlwxto2cpu3kv7snll4uc37q2rm4wme/providers/Microsoft.Storage/storageAccounts/clitestcu3wv45lektdc3whs","name":"clitestcu3wv45lektdc3whs","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T08:35:04.7531702Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T08:35:04.7531702Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-03T08:35:04.6750427Z","primaryEndpoints":{"blob":"https://clitestcu3wv45lektdc3whs.blob.core.windows.net/","queue":"https://clitestcu3wv45lektdc3whs.queue.core.windows.net/","table":"https://clitestcu3wv45lektdc3whs.table.core.windows.net/","file":"https://clitestcu3wv45lektdc3whs.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databoxeg3csudujzrh2zcvbjytg6gvlkp6sjfcozveffblaqhrzhsslvpr54lg7n2/providers/Microsoft.Storage/storageAccounts/clitestgdfhjpgc2wgbrddlq","name":"clitestgdfhjpgc2wgbrddlq","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T06:28:55.9105364Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T06:28:55.9105364Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-03T06:28:55.8480330Z","primaryEndpoints":{"blob":"https://clitestgdfhjpgc2wgbrddlq.blob.core.windows.net/","queue":"https://clitestgdfhjpgc2wgbrddlq.queue.core.windows.net/","table":"https://clitestgdfhjpgc2wgbrddlq.table.core.windows.net/","file":"https://clitestgdfhjpgc2wgbrddlq.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databoxoe2qtcqlnxonqpub522jgmpzgeegwhowl2qo6xqgfwtqcd3jzicz5yraawi/providers/Microsoft.Storage/storageAccounts/clitestl6h6fa53d2gbmohn3","name":"clitestl6h6fa53d2gbmohn3","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-06T13:59:30.5816034Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-06T13:59:30.5816034Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-06T13:59:30.5034613Z","primaryEndpoints":{"blob":"https://clitestl6h6fa53d2gbmohn3.blob.core.windows.net/","queue":"https://clitestl6h6fa53d2gbmohn3.queue.core.windows.net/","table":"https://clitestl6h6fa53d2gbmohn3.table.core.windows.net/","file":"https://clitestl6h6fa53d2gbmohn3.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databoxfgdxtb5b3moqarfyogd7fcognbrlsihjlj3acnscrixetycujoejzzalyi3/providers/Microsoft.Storage/storageAccounts/clitestldg5uo7ika27utek4","name":"clitestldg5uo7ika27utek4","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T08:59:48.7196866Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T08:59:48.7196866Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-03T08:59:48.6728325Z","primaryEndpoints":{"blob":"https://clitestldg5uo7ika27utek4.blob.core.windows.net/","queue":"https://clitestldg5uo7ika27utek4.queue.core.windows.net/","table":"https://clitestldg5uo7ika27utek4.table.core.windows.net/","file":"https://clitestldg5uo7ika27utek4.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox52yrfbe7molrqhwdubnr2jcijd22xsz3hgcg3btf3sza5boeklwgzzq5sfn/providers/Microsoft.Storage/storageAccounts/clitestm7nikx6sld4npo42d","name":"clitestm7nikx6sld4npo42d","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-06T14:20:54.5597796Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-06T14:20:54.5597796Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-06T14:20:54.4972558Z","primaryEndpoints":{"blob":"https://clitestm7nikx6sld4npo42d.blob.core.windows.net/","queue":"https://clitestm7nikx6sld4npo42d.queue.core.windows.net/","table":"https://clitestm7nikx6sld4npo42d.table.core.windows.net/","file":"https://clitestm7nikx6sld4npo42d.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databoxrg2slunrj5vx5aydveu66wkj6rh3ildamkumi4zojpcf6f4vastgfp4v3rw/providers/Microsoft.Storage/storageAccounts/clitestmap7c2xyjf3gsd7yg","name":"clitestmap7c2xyjf3gsd7yg","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T09:10:56.7318732Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T09:10:56.7318732Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-03T09:10:56.6381622Z","primaryEndpoints":{"blob":"https://clitestmap7c2xyjf3gsd7yg.blob.core.windows.net/","queue":"https://clitestmap7c2xyjf3gsd7yg.queue.core.windows.net/","table":"https://clitestmap7c2xyjf3gsd7yg.table.core.windows.net/","file":"https://clitestmap7c2xyjf3gsd7yg.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databoxu7woflo47pjem4rfw2djuvafywtfnprfpduospdfotkqkudaylsua3ybqpa/providers/Microsoft.Storage/storageAccounts/clitestnxsheqf5s5rcht46h","name":"clitestnxsheqf5s5rcht46h","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T06:40:27.7931436Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T06:40:27.7931436Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-03T06:40:27.7305929Z","primaryEndpoints":{"blob":"https://clitestnxsheqf5s5rcht46h.blob.core.windows.net/","queue":"https://clitestnxsheqf5s5rcht46h.queue.core.windows.net/","table":"https://clitestnxsheqf5s5rcht46h.table.core.windows.net/","file":"https://clitestnxsheqf5s5rcht46h.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox52yrfbe7molrqhwdubnr2jcijd22xsz3hgcg3btf3sza5boeklwgzzq5sfn/providers/Microsoft.Storage/storageAccounts/clitestqsel4b35pkfyubvyx","name":"clitestqsel4b35pkfyubvyx","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-06T14:20:08.8041709Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-06T14:20:08.8041709Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-06T14:20:08.7417121Z","primaryEndpoints":{"blob":"https://clitestqsel4b35pkfyubvyx.blob.core.windows.net/","queue":"https://clitestqsel4b35pkfyubvyx.queue.core.windows.net/","table":"https://clitestqsel4b35pkfyubvyx.table.core.windows.net/","file":"https://clitestqsel4b35pkfyubvyx.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-17T07:49:45.7241486Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-17T07:49:45.7241486Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-17T07:49:45.6303899Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databoxam64dpcskfsb23dkj6zbvxysimh24e3upfdsdmuxbdl2j25ckz2uz5lht5y/providers/Microsoft.Storage/storageAccounts/clitesty2xsxbbcego73beie","name":"clitesty2xsxbbcego73beie","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T05:23:45.1933083Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T05:23:45.1933083Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-03T05:23:45.1308322Z","primaryEndpoints":{"blob":"https://clitesty2xsxbbcego73beie.blob.core.windows.net/","queue":"https://clitesty2xsxbbcego73beie.queue.core.windows.net/","table":"https://clitesty2xsxbbcego73beie.table.core.windows.net/","file":"https://clitesty2xsxbbcego73beie.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/jlrg/providers/Microsoft.Storage/storageAccounts/jlst","name":"jlst","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-17T07:11:23.6842270Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-17T07:11:23.6842270Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-17T07:11:23.6060987Z","primaryEndpoints":{"dfs":"https://jlst.dfs.core.windows.net/","web":"https://jlst.z22.web.core.windows.net/","blob":"https://jlst.blob.core.windows.net/","queue":"https://jlst.queue.core.windows.net/","table":"https://jlst.table.core.windows.net/","file":"https://jlst.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://jlst-secondary.dfs.core.windows.net/","web":"https://jlst-secondary.z22.web.core.windows.net/","blob":"https://jlst-secondary.blob.core.windows.net/","queue":"https://jlst-secondary.queue.core.windows.net/","table":"https://jlst-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azure-core-poc/providers/Microsoft.Storage/storageAccounts/sfsafsaf","name":"sfsafsaf","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-12T10:01:37.0551963Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-12T10:01:37.0551963Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-12T10:01:36.9614761Z","primaryEndpoints":{"dfs":"https://sfsafsaf.dfs.core.windows.net/","web":"https://sfsafsaf.z22.web.core.windows.net/","blob":"https://sfsafsaf.blob.core.windows.net/","queue":"https://sfsafsaf.queue.core.windows.net/","table":"https://sfsafsaf.table.core.windows.net/","file":"https://sfsafsaf.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"identity":{"principalId":"2a730f61-76ac-426b-a91d-4b130208ba0d","tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a","type":"SystemAssigned"},"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ygmanual3/providers/Microsoft.Storage/storageAccounts/ygmanual3","name":"ygmanual3","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-05T18:34:38.5168098Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-05T18:34:38.5168098Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-05T18:34:38.4543411Z","primaryEndpoints":{"dfs":"https://ygmanual3.dfs.core.windows.net/","web":"https://ygmanual3.z22.web.core.windows.net/","blob":"https://ygmanual3.blob.core.windows.net/","queue":"https://ygmanual3.queue.core.windows.net/","table":"https://ygmanual3.table.core.windows.net/","file":"https://ygmanual3.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://ygmanual3-secondary.dfs.core.windows.net/","web":"https://ygmanual3-secondary.z22.web.core.windows.net/","blob":"https://ygmanual3-secondary.blob.core.windows.net/","queue":"https://ygmanual3-secondary.queue.core.windows.net/","table":"https://ygmanual3-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yu-test-rg-westus/providers/Microsoft.Storage/storageAccounts/yutestdbsawestus","name":"yutestdbsawestus","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-25T11:11:24.7554090Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-25T11:11:24.7554090Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-02-25T11:11:24.6772540Z","primaryEndpoints":{"dfs":"https://yutestdbsawestus.dfs.core.windows.net/","web":"https://yutestdbsawestus.z22.web.core.windows.net/","blob":"https://yutestdbsawestus.blob.core.windows.net/","queue":"https://yutestdbsawestus.queue.core.windows.net/","table":"https://yutestdbsawestus.table.core.windows.net/","file":"https://yutestdbsawestus.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://yutestdbsawestus-secondary.dfs.core.windows.net/","web":"https://yutestdbsawestus-secondary.z22.web.core.windows.net/","blob":"https://yutestdbsawestus-secondary.blob.core.windows.net/","queue":"https://yutestdbsawestus-secondary.queue.core.windows.net/","table":"https://yutestdbsawestus-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yu-test-rg-westus/providers/Microsoft.Storage/storageAccounts/yutestlro","name":"yutestlro","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-28T07:50:15.1386919Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-28T07:50:15.1386919Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-02-28T07:50:15.0762161Z","primaryEndpoints":{"blob":"https://yutestlro.blob.core.windows.net/","queue":"https://yutestlro.queue.core.windows.net/","table":"https://yutestlro.table.core.windows.net/","file":"https://yutestlro.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"blob":"https://yutestlro-secondary.blob.core.windows.net/","queue":"https://yutestlro-secondary.queue.core.windows.net/","table":"https://yutestlro-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zhoxing-test/providers/Microsoft.Storage/storageAccounts/zhoxingtest2","name":"zhoxingtest2","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T03:09:41.7587583Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T03:09:41.7587583Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-03T03:09:41.6962163Z","primaryEndpoints":{"dfs":"https://zhoxingtest2.dfs.core.windows.net/","web":"https://zhoxingtest2.z22.web.core.windows.net/","blob":"https://zhoxingtest2.blob.core.windows.net/","queue":"https://zhoxingtest2.queue.core.windows.net/","table":"https://zhoxingtest2.table.core.windows.net/","file":"https://zhoxingtest2.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://zhoxingtest2-secondary.dfs.core.windows.net/","web":"https://zhoxingtest2-secondary.z22.web.core.windows.net/","blob":"https://zhoxingtest2-secondary.blob.core.windows.net/","queue":"https://zhoxingtest2-secondary.queue.core.windows.net/","table":"https://zhoxingtest2-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_GRS","tier":"Standard"},"kind":"BlobStorage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-my-standard-space-fez3hbt1bsvmr/providers/Microsoft.Storage/storageAccounts/dbstoragefez3hbt1bsvmr","name":"dbstoragefez3hbt1bsvmr","type":"Microsoft.Storage/storageAccounts","location":"eastasia","tags":{"application":"databricks","databricks-environment":"true"},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-16T03:14:00.7822307Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-16T03:14:00.7822307Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-16T03:14:00.7197710Z","primaryEndpoints":{"dfs":"https://dbstoragefez3hbt1bsvmr.dfs.core.windows.net/","blob":"https://dbstoragefez3hbt1bsvmr.blob.core.windows.net/","table":"https://dbstoragefez3hbt1bsvmr.table.core.windows.net/"},"primaryLocation":"eastasia","statusOfPrimary":"available","secondaryLocation":"southeastasia","statusOfSecondary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/feng-cli-rg/providers/Microsoft.Storage/storageAccounts/fengws1storage296335f3c7","name":"fengws1storage296335f3c7","type":"Microsoft.Storage/storageAccounts","location":"eastasia","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-14T14:41:02.2224956Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-14T14:41:02.2224956Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-02-14T14:41:02.1600089Z","primaryEndpoints":{"dfs":"https://fengws1storage296335f3c7.dfs.core.windows.net/","web":"https://fengws1storage296335f3c7.z7.web.core.windows.net/","blob":"https://fengws1storage296335f3c7.blob.core.windows.net/","queue":"https://fengws1storage296335f3c7.queue.core.windows.net/","table":"https://fengws1storage296335f3c7.table.core.windows.net/","file":"https://fengws1storage296335f3c7.file.core.windows.net/"},"primaryLocation":"eastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg6i4hl6iakg/providers/Microsoft.Storage/storageAccounts/clitestu3p7a7ib4n4y7gt4m","name":"clitestu3p7a7ib4n4y7gt4m","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-12-30T01:51:53.0814418Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-12-30T01:51:53.0814418Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2019-12-30T01:51:53.0189478Z","primaryEndpoints":{"blob":"https://clitestu3p7a7ib4n4y7gt4m.blob.core.windows.net/","queue":"https://clitestu3p7a7ib4n4y7gt4m.queue.core.windows.net/","table":"https://clitestu3p7a7ib4n4y7gt4m.table.core.windows.net/","file":"https://clitestu3p7a7ib4n4y7gt4m.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/jlrg1/providers/Microsoft.Storage/storageAccounts/jlcsst","name":"jlcsst","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-02T07:15:45.8047726Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-02T07:15:45.8047726Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-02T07:15:45.7422455Z","primaryEndpoints":{"dfs":"https://jlcsst.dfs.core.windows.net/","web":"https://jlcsst.z23.web.core.windows.net/","blob":"https://jlcsst.blob.core.windows.net/","queue":"https://jlcsst.queue.core.windows.net/","table":"https://jlcsst.table.core.windows.net/","file":"https://jlcsst.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/jlvm2rg/providers/Microsoft.Storage/storageAccounts/jlvm2rgdiag","name":"jlvm2rgdiag","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T04:41:48.6974827Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T04:41:48.6974827Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-03T04:41:48.6505931Z","primaryEndpoints":{"blob":"https://jlvm2rgdiag.blob.core.windows.net/","queue":"https://jlvm2rgdiag.queue.core.windows.net/","table":"https://jlvm2rgdiag.table.core.windows.net/","file":"https://jlvm2rgdiag.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qianwens/providers/Microsoft.Storage/storageAccounts/qianwensdiag","name":"qianwensdiag","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-04T07:17:09.1138103Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-04T07:17:09.1138103Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-02-04T07:17:09.0514178Z","primaryEndpoints":{"blob":"https://qianwensdiag.blob.core.windows.net/","queue":"https://qianwensdiag.queue.core.windows.net/","table":"https://qianwensdiag.table.core.windows.net/","file":"https://qianwensdiag.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yeming/providers/Microsoft.Storage/storageAccounts/yeming","name":"yeming","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-12-04T06:41:07.4012554Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-12-04T06:41:07.4012554Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-12-04T06:41:07.3699884Z","primaryEndpoints":{"dfs":"https://yeming.dfs.core.windows.net/","web":"https://yeming.z23.web.core.windows.net/","blob":"https://yeming.blob.core.windows.net/","queue":"https://yeming.queue.core.windows.net/","table":"https://yeming.table.core.windows.net/","file":"https://yeming.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available","secondaryLocation":"eastasia","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://yeming-secondary.dfs.core.windows.net/","web":"https://yeming-secondary.z23.web.core.windows.net/","blob":"https://yeming-secondary.blob.core.windows.net/","queue":"https://yeming-secondary.queue.core.windows.net/","table":"https://yeming-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/Microsoft.Storage/storageAccounts/azureclitestrgdiag748","name":"azureclitestrgdiag748","type":"Microsoft.Storage/storageAccounts","location":"japaneast","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-01T05:17:58.5405622Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-01T05:17:58.5405622Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-01T05:17:58.4936629Z","primaryEndpoints":{"blob":"https://azureclitestrgdiag748.blob.core.windows.net/","queue":"https://azureclitestrgdiag748.queue.core.windows.net/","table":"https://azureclitestrgdiag748.table.core.windows.net/","file":"https://azureclitestrgdiag748.file.core.windows.net/"},"primaryLocation":"japaneast","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/bim-rg/providers/Microsoft.Storage/storageAccounts/bimrgdiag","name":"bimrgdiag","type":"Microsoft.Storage/storageAccounts","location":"japaneast","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-12T15:04:32.1018377Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-12T15:04:32.1018377Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-02-12T15:04:32.0706109Z","primaryEndpoints":{"blob":"https://bimrgdiag.blob.core.windows.net/","queue":"https://bimrgdiag.queue.core.windows.net/","table":"https://bimrgdiag.table.core.windows.net/","file":"https://bimrgdiag.file.core.windows.net/"},"primaryLocation":"japaneast","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/feng-cli-rg/providers/Microsoft.Storage/storageAccounts/fengclirgdiag","name":"fengclirgdiag","type":"Microsoft.Storage/storageAccounts","location":"japaneast","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-01T07:10:20.0599535Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-01T07:10:20.0599535Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-01T07:10:19.9974827Z","primaryEndpoints":{"blob":"https://fengclirgdiag.blob.core.windows.net/","queue":"https://fengclirgdiag.queue.core.windows.net/","table":"https://fengclirgdiag.table.core.windows.net/","file":"https://fengclirgdiag.file.core.windows.net/"},"primaryLocation":"japaneast","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zhoxing-test/providers/Microsoft.Storage/storageAccounts/store6472qnxl3vv5o","name":"store6472qnxl3vv5o","type":"Microsoft.Storage/storageAccounts","location":"southcentralus","tags":{"project":"Digital + Platform","env":"CI"},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-27T08:24:34.7235260Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-27T08:24:34.7235260Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-02-27T08:24:34.6453999Z","primaryEndpoints":{"blob":"https://store6472qnxl3vv5o.blob.core.windows.net/","queue":"https://store6472qnxl3vv5o.queue.core.windows.net/","table":"https://store6472qnxl3vv5o.table.core.windows.net/","file":"https://store6472qnxl3vv5o.file.core.windows.net/"},"primaryLocation":"southcentralus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/feng-cli-rg/providers/Microsoft.Storage/storageAccounts/extmigrate","name":"extmigrate","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-16T08:26:10.6796218Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-16T08:26:10.6796218Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-16T08:26:10.5858998Z","primaryEndpoints":{"blob":"https://extmigrate.blob.core.windows.net/","queue":"https://extmigrate.queue.core.windows.net/","table":"https://extmigrate.table.core.windows.net/","file":"https://extmigrate.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"blob":"https://extmigrate-secondary.blob.core.windows.net/","queue":"https://extmigrate-secondary.queue.core.windows.net/","table":"https://extmigrate-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/feng-cli-rg/providers/Microsoft.Storage/storageAccounts/fengclitest","name":"fengclitest","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-09T05:03:17.9861949Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-09T05:03:17.9861949Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-02-09T05:03:17.8924377Z","primaryEndpoints":{"blob":"https://fengclitest.blob.core.windows.net/","queue":"https://fengclitest.queue.core.windows.net/","table":"https://fengclitest.table.core.windows.net/","file":"https://fengclitest.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"blob":"https://fengclitest-secondary.blob.core.windows.net/","queue":"https://fengclitest-secondary.queue.core.windows.net/","table":"https://fengclitest-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/feng-cli-rg/providers/Microsoft.Storage/storageAccounts/fengsa","name":"fengsa","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-01-06T04:33:22.9379802Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-01-06T04:33:22.9379802Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-01-06T04:33:22.8754625Z","primaryEndpoints":{"dfs":"https://fengsa.dfs.core.windows.net/","web":"https://fengsa.z19.web.core.windows.net/","blob":"https://fengsa.blob.core.windows.net/","queue":"https://fengsa.queue.core.windows.net/","table":"https://fengsa.table.core.windows.net/","file":"https://fengsa.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://fengsa-secondary.dfs.core.windows.net/","web":"https://fengsa-secondary.z19.web.core.windows.net/","blob":"https://fengsa-secondary.blob.core.windows.net/","queue":"https://fengsa-secondary.queue.core.windows.net/","table":"https://fengsa-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zhoxing-test/providers/Microsoft.Storage/storageAccounts/storageaccountzhoxib2a8","name":"storageaccountzhoxib2a8","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-25T06:54:03.9825980Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-25T06:54:03.9825980Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-02-25T06:54:03.9044955Z","primaryEndpoints":{"blob":"https://storageaccountzhoxib2a8.blob.core.windows.net/","queue":"https://storageaccountzhoxib2a8.queue.core.windows.net/","table":"https://storageaccountzhoxib2a8.table.core.windows.net/","file":"https://storageaccountzhoxib2a8.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro1","name":"storagesfrepro1","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:07:42.2058942Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:07:42.2058942Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:07:42.1277444Z","primaryEndpoints":{"dfs":"https://storagesfrepro1.dfs.core.windows.net/","web":"https://storagesfrepro1.z19.web.core.windows.net/","blob":"https://storagesfrepro1.blob.core.windows.net/","queue":"https://storagesfrepro1.queue.core.windows.net/","table":"https://storagesfrepro1.table.core.windows.net/","file":"https://storagesfrepro1.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro1-secondary.dfs.core.windows.net/","web":"https://storagesfrepro1-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro1-secondary.blob.core.windows.net/","queue":"https://storagesfrepro1-secondary.queue.core.windows.net/","table":"https://storagesfrepro1-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro10","name":"storagesfrepro10","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:14:00.8753334Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:14:00.8753334Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:14:00.7815921Z","primaryEndpoints":{"dfs":"https://storagesfrepro10.dfs.core.windows.net/","web":"https://storagesfrepro10.z19.web.core.windows.net/","blob":"https://storagesfrepro10.blob.core.windows.net/","queue":"https://storagesfrepro10.queue.core.windows.net/","table":"https://storagesfrepro10.table.core.windows.net/","file":"https://storagesfrepro10.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro10-secondary.dfs.core.windows.net/","web":"https://storagesfrepro10-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro10-secondary.blob.core.windows.net/","queue":"https://storagesfrepro10-secondary.queue.core.windows.net/","table":"https://storagesfrepro10-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro11","name":"storagesfrepro11","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:14:28.9859417Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:14:28.9859417Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:14:28.8609347Z","primaryEndpoints":{"dfs":"https://storagesfrepro11.dfs.core.windows.net/","web":"https://storagesfrepro11.z19.web.core.windows.net/","blob":"https://storagesfrepro11.blob.core.windows.net/","queue":"https://storagesfrepro11.queue.core.windows.net/","table":"https://storagesfrepro11.table.core.windows.net/","file":"https://storagesfrepro11.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro11-secondary.dfs.core.windows.net/","web":"https://storagesfrepro11-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro11-secondary.blob.core.windows.net/","queue":"https://storagesfrepro11-secondary.queue.core.windows.net/","table":"https://storagesfrepro11-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro12","name":"storagesfrepro12","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:15:15.6785362Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:15:15.6785362Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:15:15.5848345Z","primaryEndpoints":{"dfs":"https://storagesfrepro12.dfs.core.windows.net/","web":"https://storagesfrepro12.z19.web.core.windows.net/","blob":"https://storagesfrepro12.blob.core.windows.net/","queue":"https://storagesfrepro12.queue.core.windows.net/","table":"https://storagesfrepro12.table.core.windows.net/","file":"https://storagesfrepro12.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro12-secondary.dfs.core.windows.net/","web":"https://storagesfrepro12-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro12-secondary.blob.core.windows.net/","queue":"https://storagesfrepro12-secondary.queue.core.windows.net/","table":"https://storagesfrepro12-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro13","name":"storagesfrepro13","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:16:55.7609361Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:16:55.7609361Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:16:55.6671828Z","primaryEndpoints":{"dfs":"https://storagesfrepro13.dfs.core.windows.net/","web":"https://storagesfrepro13.z19.web.core.windows.net/","blob":"https://storagesfrepro13.blob.core.windows.net/","queue":"https://storagesfrepro13.queue.core.windows.net/","table":"https://storagesfrepro13.table.core.windows.net/","file":"https://storagesfrepro13.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro13-secondary.dfs.core.windows.net/","web":"https://storagesfrepro13-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro13-secondary.blob.core.windows.net/","queue":"https://storagesfrepro13-secondary.queue.core.windows.net/","table":"https://storagesfrepro13-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro14","name":"storagesfrepro14","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:17:40.7661469Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:17:40.7661469Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:17:40.6880204Z","primaryEndpoints":{"dfs":"https://storagesfrepro14.dfs.core.windows.net/","web":"https://storagesfrepro14.z19.web.core.windows.net/","blob":"https://storagesfrepro14.blob.core.windows.net/","queue":"https://storagesfrepro14.queue.core.windows.net/","table":"https://storagesfrepro14.table.core.windows.net/","file":"https://storagesfrepro14.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro14-secondary.dfs.core.windows.net/","web":"https://storagesfrepro14-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro14-secondary.blob.core.windows.net/","queue":"https://storagesfrepro14-secondary.queue.core.windows.net/","table":"https://storagesfrepro14-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro15","name":"storagesfrepro15","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:18:52.1812445Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:18:52.1812445Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:18:52.0718543Z","primaryEndpoints":{"dfs":"https://storagesfrepro15.dfs.core.windows.net/","web":"https://storagesfrepro15.z19.web.core.windows.net/","blob":"https://storagesfrepro15.blob.core.windows.net/","queue":"https://storagesfrepro15.queue.core.windows.net/","table":"https://storagesfrepro15.table.core.windows.net/","file":"https://storagesfrepro15.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro15-secondary.dfs.core.windows.net/","web":"https://storagesfrepro15-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro15-secondary.blob.core.windows.net/","queue":"https://storagesfrepro15-secondary.queue.core.windows.net/","table":"https://storagesfrepro15-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro16","name":"storagesfrepro16","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:19:33.1863807Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:19:33.1863807Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:19:33.0770034Z","primaryEndpoints":{"dfs":"https://storagesfrepro16.dfs.core.windows.net/","web":"https://storagesfrepro16.z19.web.core.windows.net/","blob":"https://storagesfrepro16.blob.core.windows.net/","queue":"https://storagesfrepro16.queue.core.windows.net/","table":"https://storagesfrepro16.table.core.windows.net/","file":"https://storagesfrepro16.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro16-secondary.dfs.core.windows.net/","web":"https://storagesfrepro16-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro16-secondary.blob.core.windows.net/","queue":"https://storagesfrepro16-secondary.queue.core.windows.net/","table":"https://storagesfrepro16-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro17","name":"storagesfrepro17","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:04:23.5553513Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:04:23.5553513Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:04:23.4771469Z","primaryEndpoints":{"dfs":"https://storagesfrepro17.dfs.core.windows.net/","web":"https://storagesfrepro17.z19.web.core.windows.net/","blob":"https://storagesfrepro17.blob.core.windows.net/","queue":"https://storagesfrepro17.queue.core.windows.net/","table":"https://storagesfrepro17.table.core.windows.net/","file":"https://storagesfrepro17.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro17-secondary.dfs.core.windows.net/","web":"https://storagesfrepro17-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro17-secondary.blob.core.windows.net/","queue":"https://storagesfrepro17-secondary.queue.core.windows.net/","table":"https://storagesfrepro17-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro18","name":"storagesfrepro18","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:04:53.8320772Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:04:53.8320772Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:04:53.7383176Z","primaryEndpoints":{"dfs":"https://storagesfrepro18.dfs.core.windows.net/","web":"https://storagesfrepro18.z19.web.core.windows.net/","blob":"https://storagesfrepro18.blob.core.windows.net/","queue":"https://storagesfrepro18.queue.core.windows.net/","table":"https://storagesfrepro18.table.core.windows.net/","file":"https://storagesfrepro18.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro18-secondary.dfs.core.windows.net/","web":"https://storagesfrepro18-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro18-secondary.blob.core.windows.net/","queue":"https://storagesfrepro18-secondary.queue.core.windows.net/","table":"https://storagesfrepro18-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro19","name":"storagesfrepro19","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:05:26.3650238Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:05:26.3650238Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:05:26.2556326Z","primaryEndpoints":{"dfs":"https://storagesfrepro19.dfs.core.windows.net/","web":"https://storagesfrepro19.z19.web.core.windows.net/","blob":"https://storagesfrepro19.blob.core.windows.net/","queue":"https://storagesfrepro19.queue.core.windows.net/","table":"https://storagesfrepro19.table.core.windows.net/","file":"https://storagesfrepro19.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro19-secondary.dfs.core.windows.net/","web":"https://storagesfrepro19-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro19-secondary.blob.core.windows.net/","queue":"https://storagesfrepro19-secondary.queue.core.windows.net/","table":"https://storagesfrepro19-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro2","name":"storagesfrepro2","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:08:45.8498203Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:08:45.8498203Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:08:45.7717196Z","primaryEndpoints":{"dfs":"https://storagesfrepro2.dfs.core.windows.net/","web":"https://storagesfrepro2.z19.web.core.windows.net/","blob":"https://storagesfrepro2.blob.core.windows.net/","queue":"https://storagesfrepro2.queue.core.windows.net/","table":"https://storagesfrepro2.table.core.windows.net/","file":"https://storagesfrepro2.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro2-secondary.dfs.core.windows.net/","web":"https://storagesfrepro2-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro2-secondary.blob.core.windows.net/","queue":"https://storagesfrepro2-secondary.queue.core.windows.net/","table":"https://storagesfrepro2-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro20","name":"storagesfrepro20","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:06:07.4295934Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:06:07.4295934Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:06:07.3358422Z","primaryEndpoints":{"dfs":"https://storagesfrepro20.dfs.core.windows.net/","web":"https://storagesfrepro20.z19.web.core.windows.net/","blob":"https://storagesfrepro20.blob.core.windows.net/","queue":"https://storagesfrepro20.queue.core.windows.net/","table":"https://storagesfrepro20.table.core.windows.net/","file":"https://storagesfrepro20.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro20-secondary.dfs.core.windows.net/","web":"https://storagesfrepro20-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro20-secondary.blob.core.windows.net/","queue":"https://storagesfrepro20-secondary.queue.core.windows.net/","table":"https://storagesfrepro20-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro21","name":"storagesfrepro21","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:06:37.4780251Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:06:37.4780251Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:06:37.3686460Z","primaryEndpoints":{"dfs":"https://storagesfrepro21.dfs.core.windows.net/","web":"https://storagesfrepro21.z19.web.core.windows.net/","blob":"https://storagesfrepro21.blob.core.windows.net/","queue":"https://storagesfrepro21.queue.core.windows.net/","table":"https://storagesfrepro21.table.core.windows.net/","file":"https://storagesfrepro21.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro21-secondary.dfs.core.windows.net/","web":"https://storagesfrepro21-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro21-secondary.blob.core.windows.net/","queue":"https://storagesfrepro21-secondary.queue.core.windows.net/","table":"https://storagesfrepro21-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro22","name":"storagesfrepro22","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:06:59.8295391Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:06:59.8295391Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:06:59.7201581Z","primaryEndpoints":{"dfs":"https://storagesfrepro22.dfs.core.windows.net/","web":"https://storagesfrepro22.z19.web.core.windows.net/","blob":"https://storagesfrepro22.blob.core.windows.net/","queue":"https://storagesfrepro22.queue.core.windows.net/","table":"https://storagesfrepro22.table.core.windows.net/","file":"https://storagesfrepro22.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro22-secondary.dfs.core.windows.net/","web":"https://storagesfrepro22-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro22-secondary.blob.core.windows.net/","queue":"https://storagesfrepro22-secondary.queue.core.windows.net/","table":"https://storagesfrepro22-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro23","name":"storagesfrepro23","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:07:29.0846619Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:07:29.0846619Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:07:29.0065050Z","primaryEndpoints":{"dfs":"https://storagesfrepro23.dfs.core.windows.net/","web":"https://storagesfrepro23.z19.web.core.windows.net/","blob":"https://storagesfrepro23.blob.core.windows.net/","queue":"https://storagesfrepro23.queue.core.windows.net/","table":"https://storagesfrepro23.table.core.windows.net/","file":"https://storagesfrepro23.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro23-secondary.dfs.core.windows.net/","web":"https://storagesfrepro23-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro23-secondary.blob.core.windows.net/","queue":"https://storagesfrepro23-secondary.queue.core.windows.net/","table":"https://storagesfrepro23-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro24","name":"storagesfrepro24","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:07:53.2658712Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:07:53.2658712Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:07:53.1565651Z","primaryEndpoints":{"dfs":"https://storagesfrepro24.dfs.core.windows.net/","web":"https://storagesfrepro24.z19.web.core.windows.net/","blob":"https://storagesfrepro24.blob.core.windows.net/","queue":"https://storagesfrepro24.queue.core.windows.net/","table":"https://storagesfrepro24.table.core.windows.net/","file":"https://storagesfrepro24.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro24-secondary.dfs.core.windows.net/","web":"https://storagesfrepro24-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro24-secondary.blob.core.windows.net/","queue":"https://storagesfrepro24-secondary.queue.core.windows.net/","table":"https://storagesfrepro24-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro25","name":"storagesfrepro25","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:08:18.7432319Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:08:18.7432319Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:08:18.6338258Z","primaryEndpoints":{"dfs":"https://storagesfrepro25.dfs.core.windows.net/","web":"https://storagesfrepro25.z19.web.core.windows.net/","blob":"https://storagesfrepro25.blob.core.windows.net/","queue":"https://storagesfrepro25.queue.core.windows.net/","table":"https://storagesfrepro25.table.core.windows.net/","file":"https://storagesfrepro25.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro25-secondary.dfs.core.windows.net/","web":"https://storagesfrepro25-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro25-secondary.blob.core.windows.net/","queue":"https://storagesfrepro25-secondary.queue.core.windows.net/","table":"https://storagesfrepro25-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro3","name":"storagesfrepro3","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:09:19.5698333Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:09:19.5698333Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:09:19.3510997Z","primaryEndpoints":{"dfs":"https://storagesfrepro3.dfs.core.windows.net/","web":"https://storagesfrepro3.z19.web.core.windows.net/","blob":"https://storagesfrepro3.blob.core.windows.net/","queue":"https://storagesfrepro3.queue.core.windows.net/","table":"https://storagesfrepro3.table.core.windows.net/","file":"https://storagesfrepro3.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro3-secondary.dfs.core.windows.net/","web":"https://storagesfrepro3-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro3-secondary.blob.core.windows.net/","queue":"https://storagesfrepro3-secondary.queue.core.windows.net/","table":"https://storagesfrepro3-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro4","name":"storagesfrepro4","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:09:54.9930953Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:09:54.9930953Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:09:54.8993063Z","primaryEndpoints":{"dfs":"https://storagesfrepro4.dfs.core.windows.net/","web":"https://storagesfrepro4.z19.web.core.windows.net/","blob":"https://storagesfrepro4.blob.core.windows.net/","queue":"https://storagesfrepro4.queue.core.windows.net/","table":"https://storagesfrepro4.table.core.windows.net/","file":"https://storagesfrepro4.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro4-secondary.dfs.core.windows.net/","web":"https://storagesfrepro4-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro4-secondary.blob.core.windows.net/","queue":"https://storagesfrepro4-secondary.queue.core.windows.net/","table":"https://storagesfrepro4-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro5","name":"storagesfrepro5","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:10:48.1114395Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:10:48.1114395Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:10:48.0177273Z","primaryEndpoints":{"dfs":"https://storagesfrepro5.dfs.core.windows.net/","web":"https://storagesfrepro5.z19.web.core.windows.net/","blob":"https://storagesfrepro5.blob.core.windows.net/","queue":"https://storagesfrepro5.queue.core.windows.net/","table":"https://storagesfrepro5.table.core.windows.net/","file":"https://storagesfrepro5.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro5-secondary.dfs.core.windows.net/","web":"https://storagesfrepro5-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro5-secondary.blob.core.windows.net/","queue":"https://storagesfrepro5-secondary.queue.core.windows.net/","table":"https://storagesfrepro5-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro6","name":"storagesfrepro6","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:11:28.0269117Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:11:28.0269117Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:11:27.9331594Z","primaryEndpoints":{"dfs":"https://storagesfrepro6.dfs.core.windows.net/","web":"https://storagesfrepro6.z19.web.core.windows.net/","blob":"https://storagesfrepro6.blob.core.windows.net/","queue":"https://storagesfrepro6.queue.core.windows.net/","table":"https://storagesfrepro6.table.core.windows.net/","file":"https://storagesfrepro6.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro6-secondary.dfs.core.windows.net/","web":"https://storagesfrepro6-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro6-secondary.blob.core.windows.net/","queue":"https://storagesfrepro6-secondary.queue.core.windows.net/","table":"https://storagesfrepro6-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro7","name":"storagesfrepro7","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:12:08.7761892Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:12:08.7761892Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:12:08.6824637Z","primaryEndpoints":{"dfs":"https://storagesfrepro7.dfs.core.windows.net/","web":"https://storagesfrepro7.z19.web.core.windows.net/","blob":"https://storagesfrepro7.blob.core.windows.net/","queue":"https://storagesfrepro7.queue.core.windows.net/","table":"https://storagesfrepro7.table.core.windows.net/","file":"https://storagesfrepro7.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro7-secondary.dfs.core.windows.net/","web":"https://storagesfrepro7-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro7-secondary.blob.core.windows.net/","queue":"https://storagesfrepro7-secondary.queue.core.windows.net/","table":"https://storagesfrepro7-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro8","name":"storagesfrepro8","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:12:39.5221164Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:12:39.5221164Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:12:39.4283923Z","primaryEndpoints":{"dfs":"https://storagesfrepro8.dfs.core.windows.net/","web":"https://storagesfrepro8.z19.web.core.windows.net/","blob":"https://storagesfrepro8.blob.core.windows.net/","queue":"https://storagesfrepro8.queue.core.windows.net/","table":"https://storagesfrepro8.table.core.windows.net/","file":"https://storagesfrepro8.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro8-secondary.dfs.core.windows.net/","web":"https://storagesfrepro8-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro8-secondary.blob.core.windows.net/","queue":"https://storagesfrepro8-secondary.queue.core.windows.net/","table":"https://storagesfrepro8-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro9","name":"storagesfrepro9","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:13:18.1628430Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:13:18.1628430Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:13:18.0691096Z","primaryEndpoints":{"dfs":"https://storagesfrepro9.dfs.core.windows.net/","web":"https://storagesfrepro9.z19.web.core.windows.net/","blob":"https://storagesfrepro9.blob.core.windows.net/","queue":"https://storagesfrepro9.queue.core.windows.net/","table":"https://storagesfrepro9.table.core.windows.net/","file":"https://storagesfrepro9.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro9-secondary.dfs.core.windows.net/","web":"https://storagesfrepro9-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro9-secondary.blob.core.windows.net/","queue":"https://storagesfrepro9-secondary.queue.core.windows.net/","table":"https://storagesfrepro9-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuhcentral/providers/Microsoft.Storage/storageAccounts/zuhstorage","name":"zuhstorage","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{"ServiceName":"TAGVALUE"},"properties":{"privateEndpointConnections":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuhcentral/providers/Microsoft.Storage/storageAccounts/zuhstorage/privateEndpointConnections/zuhstorage.5ae41b56-a372-4111-b6d8-9ce4364fd8f4","name":"zuhstorage.5ae41b56-a372-4111-b6d8-9ce4364fd8f4","type":"Microsoft.Storage/storageAccounts/privateEndpointConnections","properties":{"provisioningState":"Succeeded","privateEndpoint":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuhcentral/providers/Microsoft.Network/privateEndpoints/zuhPE"},"privateLinkServiceConnectionState":{"status":"Rejected","description":"","actionRequired":"None"}}}],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-02T06:04:55.7104787Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-02T06:04:55.7104787Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-02T06:04:55.6167450Z","primaryEndpoints":{"dfs":"https://zuhstorage.dfs.core.windows.net/","web":"https://zuhstorage.z19.web.core.windows.net/","blob":"https://zuhstorage.blob.core.windows.net/","queue":"https://zuhstorage.queue.core.windows.net/","table":"https://zuhstorage.table.core.windows.net/","file":"https://zuhstorage.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://zuhstorage-secondary.dfs.core.windows.net/","web":"https://zuhstorage-secondary.z19.web.core.windows.net/","blob":"https://zuhstorage-secondary.blob.core.windows.net/","queue":"https://zuhstorage-secondary.queue.core.windows.net/","table":"https://zuhstorage-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/feng-cli-rg/providers/Microsoft.Storage/storageAccounts/fengwsstorage28dfde17cb1","name":"fengwsstorage28dfde17cb1","type":"Microsoft.Storage/storageAccounts","location":"westus2","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-07T04:11:42.2482670Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-07T04:11:42.2482670Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-02-07T04:11:42.1857797Z","primaryEndpoints":{"dfs":"https://fengwsstorage28dfde17cb1.dfs.core.windows.net/","web":"https://fengwsstorage28dfde17cb1.z5.web.core.windows.net/","blob":"https://fengwsstorage28dfde17cb1.blob.core.windows.net/","queue":"https://fengwsstorage28dfde17cb1.queue.core.windows.net/","table":"https://fengwsstorage28dfde17cb1.table.core.windows.net/","file":"https://fengwsstorage28dfde17cb1.file.core.windows.net/"},"primaryLocation":"westus2","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sa-test-rg/providers/Microsoft.Storage/storageAccounts/sateststorage123","name":"sateststorage123","type":"Microsoft.Storage/storageAccounts","location":"westus2","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-17T06:30:33.4676610Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-17T06:30:33.4676610Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-17T06:30:33.4051730Z","primaryEndpoints":{"dfs":"https://sateststorage123.dfs.core.windows.net/","web":"https://sateststorage123.z5.web.core.windows.net/","blob":"https://sateststorage123.blob.core.windows.net/","queue":"https://sateststorage123.queue.core.windows.net/","table":"https://sateststorage123.table.core.windows.net/","file":"https://sateststorage123.file.core.windows.net/"},"primaryLocation":"westus2","statusOfPrimary":"available","secondaryLocation":"westcentralus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://sateststorage123-secondary.dfs.core.windows.net/","web":"https://sateststorage123-secondary.z5.web.core.windows.net/","blob":"https://sateststorage123-secondary.blob.core.windows.net/","queue":"https://sateststorage123-secondary.queue.core.windows.net/","table":"https://sateststorage123-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/bim-rg/providers/Microsoft.Storage/storageAccounts/bimstorageacc","name":"bimstorageacc","type":"Microsoft.Storage/storageAccounts","location":"westcentralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T07:20:55.2327590Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T07:20:55.2327590Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-03T07:20:55.1858389Z","primaryEndpoints":{"dfs":"https://bimstorageacc.dfs.core.windows.net/","web":"https://bimstorageacc.z4.web.core.windows.net/","blob":"https://bimstorageacc.blob.core.windows.net/","queue":"https://bimstorageacc.queue.core.windows.net/","table":"https://bimstorageacc.table.core.windows.net/","file":"https://bimstorageacc.file.core.windows.net/"},"primaryLocation":"westcentralus","statusOfPrimary":"available","secondaryLocation":"westus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://bimstorageacc-secondary.dfs.core.windows.net/","web":"https://bimstorageacc-secondary.z4.web.core.windows.net/","blob":"https://bimstorageacc-secondary.blob.core.windows.net/","queue":"https://bimstorageacc-secondary.queue.core.windows.net/","table":"https://bimstorageacc-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yu-test-rg-westus/providers/Microsoft.Storage/storageAccounts/sfsfsfsssf","name":"sfsfsfsssf","type":"Microsoft.Storage/storageAccounts","location":"westcentralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-05T07:16:53.7141799Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-05T07:16:53.7141799Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-05T07:16:53.6829148Z","primaryEndpoints":{"blob":"https://sfsfsfsssf.blob.core.windows.net/","queue":"https://sfsfsfsssf.queue.core.windows.net/","table":"https://sfsfsfsssf.table.core.windows.net/","file":"https://sfsfsfsssf.file.core.windows.net/"},"primaryLocation":"westcentralus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yu-test-rg-westus/providers/Microsoft.Storage/storageAccounts/stststeset","name":"stststeset","type":"Microsoft.Storage/storageAccounts","location":"westcentralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-05T07:13:11.0482184Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-05T07:13:11.0482184Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-05T07:13:10.9856962Z","primaryEndpoints":{"dfs":"https://stststeset.dfs.core.windows.net/","web":"https://stststeset.z4.web.core.windows.net/","blob":"https://stststeset.blob.core.windows.net/","queue":"https://stststeset.queue.core.windows.net/","table":"https://stststeset.table.core.windows.net/","file":"https://stststeset.file.core.windows.net/"},"primaryLocation":"westcentralus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/Microsoft.Storage/storageAccounts/testcreatese","name":"testcreatese","type":"Microsoft.Storage/storageAccounts","location":"westcentralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-17T06:18:08.4522082Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-17T06:18:08.4522082Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-17T06:18:08.3897244Z","primaryEndpoints":{"dfs":"https://testcreatese.dfs.core.windows.net/","web":"https://testcreatese.z4.web.core.windows.net/","blob":"https://testcreatese.blob.core.windows.net/","queue":"https://testcreatese.queue.core.windows.net/","table":"https://testcreatese.table.core.windows.net/","file":"https://testcreatese.file.core.windows.net/"},"primaryLocation":"westcentralus","statusOfPrimary":"available","secondaryLocation":"westus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://testcreatese-secondary.dfs.core.windows.net/","web":"https://testcreatese-secondary.z4.web.core.windows.net/","blob":"https://testcreatese-secondary.blob.core.windows.net/","queue":"https://testcreatese-secondary.queue.core.windows.net/","table":"https://testcreatese-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yu-test-rg-westus/providers/Microsoft.Storage/storageAccounts/yusawcu","name":"yusawcu","type":"Microsoft.Storage/storageAccounts","location":"westcentralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-26T09:39:00.0292799Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-26T09:39:00.0292799Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-02-26T09:38:59.9667703Z","primaryEndpoints":{"dfs":"https://yusawcu.dfs.core.windows.net/","web":"https://yusawcu.z4.web.core.windows.net/","blob":"https://yusawcu.blob.core.windows.net/","queue":"https://yusawcu.queue.core.windows.net/","table":"https://yusawcu.table.core.windows.net/","file":"https://yusawcu.file.core.windows.net/"},"primaryLocation":"westcentralus","statusOfPrimary":"available","secondaryLocation":"westus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://yusawcu-secondary.dfs.core.windows.net/","web":"https://yusawcu-secondary.z4.web.core.windows.net/","blob":"https://yusawcu-secondary.blob.core.windows.net/","queue":"https://yusawcu-secondary.queue.core.windows.net/","table":"https://yusawcu-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuh/providers/Microsoft.Storage/storageAccounts/zuhlrs","name":"zuhlrs","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-17T05:09:22.3210722Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-17T05:09:22.3210722Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-17T05:09:22.2898219Z","primaryEndpoints":{"dfs":"https://zuhlrs.dfs.core.windows.net/","web":"https://zuhlrs.z3.web.core.windows.net/","blob":"https://zuhlrs.blob.core.windows.net/","queue":"https://zuhlrs.queue.core.windows.net/","table":"https://zuhlrs.table.core.windows.net/","file":"https://zuhlrs.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '112030' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 07:51:15 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-original-request-ids: + - 79caf35e-0829-4e05-84f3-81217f550f2c + - 33b521fe-7101-4170-9f63-22b81e100474 + - 851b7675-6ec5-41a1-b38d-d4b120630e3b + - 6abc0a8b-d89c-4a76-bdc1-051bcd28ebe0 + - 04514de2-28d3-4aeb-8370-50728b4d2938 + - a03ae427-7462-48b9-850d-9c582bf5b356 + - 895b83c2-32b0-4bed-afd9-76389940ef37 + - c2cea96f-cf52-48df-a97e-51d202a6e8b8 + - 98accda9-5d8d-460e-8556-ff2eea9b9664 + - c34fbfca-c72c-4d41-a90b-5d7cb028508e + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage share delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --name --account-name + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-storage/8.0.0 Azure-SDK-For-Python AZURECLI/2.2.0 + accept-language: + - en-US + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2019-06-01 + response: + body: + string: '{"keys":[{"keyName":"key1","value":"veryFakedStorageAccountKey==","permissions":"FULL"},{"keyName":"key2","value":"veryFakedStorageAccountKey==","permissions":"FULL"}]}' + headers: + cache-control: + - no-cache + content-length: + - '288' + content-type: + - application/json + date: + - Tue, 17 Mar 2020 07:51:17 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + status: + code: 200 + message: OK +- request: + body: null + headers: + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.7.6; Windows 10) AZURECLI/2.2.0 + x-ms-date: + - Tue, 17 Mar 2020 07:51:18 GMT + x-ms-version: + - '2018-11-09' + method: DELETE + uri: https://clitest000002.file.core.windows.net/file-share000007?restype=share + response: + body: + string: '' + headers: + content-length: + - '0' + date: + - Tue, 17 Mar 2020 07:51:19 GMT + server: + - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: + - '2018-11-09' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage share delete + Connection: + - keep-alive + ParameterSetName: + - --name --account-name + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-storage/8.0.0 Azure-SDK-For-Python AZURECLI/2.2.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/storageAccounts?api-version=2019-06-01 + response: + body: + string: '{"value":[{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/Microsoft.Storage/storageAccounts/azureclitestrgdiag180","name":"azureclitestrgdiag180","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-12-30T03:44:58.6379144Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-12-30T03:44:58.6379144Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2019-12-30T03:44:58.5910120Z","primaryEndpoints":{"blob":"https://azureclitestrgdiag180.blob.core.windows.net/","queue":"https://azureclitestrgdiag180.queue.core.windows.net/","table":"https://azureclitestrgdiag180.table.core.windows.net/","file":"https://azureclitestrgdiag180.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azure-core-poc/providers/Microsoft.Storage/storageAccounts/azurecorepoc","name":"azurecorepoc","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-12-26T02:38:58.8233588Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-12-26T02:38:58.8233588Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-12-26T02:38:58.7452329Z","primaryEndpoints":{"dfs":"https://azurecorepoc.dfs.core.windows.net/","web":"https://azurecorepoc.z13.web.core.windows.net/","blob":"https://azurecorepoc.blob.core.windows.net/","queue":"https://azurecorepoc.queue.core.windows.net/","table":"https://azurecorepoc.table.core.windows.net/","file":"https://azurecorepoc.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://azurecorepoc-secondary.dfs.core.windows.net/","web":"https://azurecorepoc-secondary.z13.web.core.windows.net/","blob":"https://azurecorepoc-secondary.blob.core.windows.net/","queue":"https://azurecorepoc-secondary.queue.core.windows.net/","table":"https://azurecorepoc-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qianwens/providers/Microsoft.Storage/storageAccounts/qianwendev","name":"qianwendev","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qianwens/providers/Microsoft.Network/virtualNetworks/QIAN/subnets/default","action":"Allow","state":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qianwens/providers/Microsoft.Network/virtualNetworks/qianwendev/subnets/default","action":"Allow","state":"Succeeded"}],"ipRules":[{"value":"23.45.1.0/24","action":"Allow"},{"value":"23.45.1.1/24","action":"Allow"}],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-12T03:29:28.0084761Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-12T03:29:28.0084761Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-02-12T03:29:27.9459854Z","primaryEndpoints":{"dfs":"https://qianwendev.dfs.core.windows.net/","web":"https://qianwendev.z13.web.core.windows.net/","blob":"https://qianwendev.blob.core.windows.net/","queue":"https://qianwendev.queue.core.windows.net/","table":"https://qianwendev.table.core.windows.net/","file":"https://qianwendev.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://qianwendev-secondary.dfs.core.windows.net/","web":"https://qianwendev-secondary.z13.web.core.windows.net/","blob":"https://qianwendev-secondary.blob.core.windows.net/","queue":"https://qianwendev-secondary.queue.core.windows.net/","table":"https://qianwendev-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qianwens/providers/Microsoft.Storage/storageAccounts/qianwenhpctarget","name":"qianwenhpctarget","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-06T07:09:20.3073299Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-06T07:09:20.3073299Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-06T07:09:20.2291899Z","primaryEndpoints":{"dfs":"https://qianwenhpctarget.dfs.core.windows.net/","web":"https://qianwenhpctarget.z13.web.core.windows.net/","blob":"https://qianwenhpctarget.blob.core.windows.net/","queue":"https://qianwenhpctarget.queue.core.windows.net/","table":"https://qianwenhpctarget.table.core.windows.net/","file":"https://qianwenhpctarget.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://qianwenhpctarget-secondary.dfs.core.windows.net/","web":"https://qianwenhpctarget-secondary.z13.web.core.windows.net/","blob":"https://qianwenhpctarget-secondary.blob.core.windows.net/","queue":"https://qianwenhpctarget-secondary.queue.core.windows.net/","table":"https://qianwenhpctarget-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/Microsoft.Storage/storageAccounts/storeayniadjso4lay","name":"storeayniadjso4lay","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-14T15:40:43.7851387Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-14T15:40:43.7851387Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-14T15:40:43.7070117Z","primaryEndpoints":{"dfs":"https://storeayniadjso4lay.dfs.core.windows.net/","web":"https://storeayniadjso4lay.z13.web.core.windows.net/","blob":"https://storeayniadjso4lay.blob.core.windows.net/","queue":"https://storeayniadjso4lay.queue.core.windows.net/","table":"https://storeayniadjso4lay.table.core.windows.net/","file":"https://storeayniadjso4lay.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zhoxing-test/providers/Microsoft.Storage/storageAccounts/azhoxingtest9851","name":"azhoxingtest9851","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{"hidden-DevTestLabs-LabUId":"6e279161-d008-42b7-90a1-6801fc4bc4ca"},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-21T05:43:15.2811036Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-21T05:43:15.2811036Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-02-21T05:43:15.2029670Z","primaryEndpoints":{"dfs":"https://azhoxingtest9851.dfs.core.windows.net/","web":"https://azhoxingtest9851.z22.web.core.windows.net/","blob":"https://azhoxingtest9851.blob.core.windows.net/","queue":"https://azhoxingtest9851.queue.core.windows.net/","table":"https://azhoxingtest9851.table.core.windows.net/","file":"https://azhoxingtest9851.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/Microsoft.Storage/storageAccounts/azureclitestrgdiag","name":"azureclitestrgdiag","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-12-30T02:54:26.8971309Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-12-30T02:54:26.8971309Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2019-12-30T02:54:26.8502755Z","primaryEndpoints":{"blob":"https://azureclitestrgdiag.blob.core.windows.net/","queue":"https://azureclitestrgdiag.queue.core.windows.net/","table":"https://azureclitestrgdiag.table.core.windows.net/","file":"https://azureclitestrgdiag.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesyncewzqda3p3syseopedt2lhfsgsw7dgbj3ukiy4ypayg7dy4az4e3hhsj/providers/Microsoft.Storage/storageAccounts/clitest54vifrk7bm3ixknkx","name":"clitest54vifrk7bm3ixknkx","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-17T07:31:57.9596880Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-17T07:31:57.9596880Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-17T07:31:57.8816266Z","primaryEndpoints":{"blob":"https://clitest54vifrk7bm3ixknkx.blob.core.windows.net/","queue":"https://clitest54vifrk7bm3ixknkx.queue.core.windows.net/","table":"https://clitest54vifrk7bm3ixknkx.table.core.windows.net/","file":"https://clitest54vifrk7bm3ixknkx.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databoxoe2qtcqlnxonqpub522jgmpzgeegwhowl2qo6xqgfwtqcd3jzicz5yraawi/providers/Microsoft.Storage/storageAccounts/clitest6yrafi3cntx2cngw3","name":"clitest6yrafi3cntx2cngw3","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-06T14:00:05.4412024Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-06T14:00:05.4412024Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-06T14:00:05.3786989Z","primaryEndpoints":{"blob":"https://clitest6yrafi3cntx2cngw3.blob.core.windows.net/","queue":"https://clitest6yrafi3cntx2cngw3.queue.core.windows.net/","table":"https://clitest6yrafi3cntx2cngw3.table.core.windows.net/","file":"https://clitest6yrafi3cntx2cngw3.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databoxn5n2vkeyewiwob4e7e6nqiblkvvgc5qorevejhsntblvdlc2t373rrvy45p/providers/Microsoft.Storage/storageAccounts/clitest75g6r5uwkj7ker7wu","name":"clitest75g6r5uwkj7ker7wu","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T06:35:53.9029562Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T06:35:53.9029562Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-03T06:35:53.8248647Z","primaryEndpoints":{"blob":"https://clitest75g6r5uwkj7ker7wu.blob.core.windows.net/","queue":"https://clitest75g6r5uwkj7ker7wu.queue.core.windows.net/","table":"https://clitest75g6r5uwkj7ker7wu.table.core.windows.net/","file":"https://clitest75g6r5uwkj7ker7wu.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox5gpbe2knrizxsitmvje3fbdl44tf6cvpfqbpvsyicxmupsbyhmlcrg4wesk/providers/Microsoft.Storage/storageAccounts/clitest7b5n3o4aahl5rafju","name":"clitest7b5n3o4aahl5rafju","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T08:27:23.1140038Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T08:27:23.1140038Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-03T08:27:23.0514944Z","primaryEndpoints":{"blob":"https://clitest7b5n3o4aahl5rafju.blob.core.windows.net/","queue":"https://clitest7b5n3o4aahl5rafju.queue.core.windows.net/","table":"https://clitest7b5n3o4aahl5rafju.table.core.windows.net/","file":"https://clitest7b5n3o4aahl5rafju.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databoxlekg7y4dtg2pnsaueisdkyqi5mnvmlwxto2cpu3kv7snll4uc37q2rm4wme/providers/Microsoft.Storage/storageAccounts/clitestcu3wv45lektdc3whs","name":"clitestcu3wv45lektdc3whs","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T08:35:04.7531702Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T08:35:04.7531702Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-03T08:35:04.6750427Z","primaryEndpoints":{"blob":"https://clitestcu3wv45lektdc3whs.blob.core.windows.net/","queue":"https://clitestcu3wv45lektdc3whs.queue.core.windows.net/","table":"https://clitestcu3wv45lektdc3whs.table.core.windows.net/","file":"https://clitestcu3wv45lektdc3whs.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databoxeg3csudujzrh2zcvbjytg6gvlkp6sjfcozveffblaqhrzhsslvpr54lg7n2/providers/Microsoft.Storage/storageAccounts/clitestgdfhjpgc2wgbrddlq","name":"clitestgdfhjpgc2wgbrddlq","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T06:28:55.9105364Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T06:28:55.9105364Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-03T06:28:55.8480330Z","primaryEndpoints":{"blob":"https://clitestgdfhjpgc2wgbrddlq.blob.core.windows.net/","queue":"https://clitestgdfhjpgc2wgbrddlq.queue.core.windows.net/","table":"https://clitestgdfhjpgc2wgbrddlq.table.core.windows.net/","file":"https://clitestgdfhjpgc2wgbrddlq.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databoxoe2qtcqlnxonqpub522jgmpzgeegwhowl2qo6xqgfwtqcd3jzicz5yraawi/providers/Microsoft.Storage/storageAccounts/clitestl6h6fa53d2gbmohn3","name":"clitestl6h6fa53d2gbmohn3","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-06T13:59:30.5816034Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-06T13:59:30.5816034Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-06T13:59:30.5034613Z","primaryEndpoints":{"blob":"https://clitestl6h6fa53d2gbmohn3.blob.core.windows.net/","queue":"https://clitestl6h6fa53d2gbmohn3.queue.core.windows.net/","table":"https://clitestl6h6fa53d2gbmohn3.table.core.windows.net/","file":"https://clitestl6h6fa53d2gbmohn3.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databoxfgdxtb5b3moqarfyogd7fcognbrlsihjlj3acnscrixetycujoejzzalyi3/providers/Microsoft.Storage/storageAccounts/clitestldg5uo7ika27utek4","name":"clitestldg5uo7ika27utek4","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T08:59:48.7196866Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T08:59:48.7196866Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-03T08:59:48.6728325Z","primaryEndpoints":{"blob":"https://clitestldg5uo7ika27utek4.blob.core.windows.net/","queue":"https://clitestldg5uo7ika27utek4.queue.core.windows.net/","table":"https://clitestldg5uo7ika27utek4.table.core.windows.net/","file":"https://clitestldg5uo7ika27utek4.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox52yrfbe7molrqhwdubnr2jcijd22xsz3hgcg3btf3sza5boeklwgzzq5sfn/providers/Microsoft.Storage/storageAccounts/clitestm7nikx6sld4npo42d","name":"clitestm7nikx6sld4npo42d","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-06T14:20:54.5597796Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-06T14:20:54.5597796Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-06T14:20:54.4972558Z","primaryEndpoints":{"blob":"https://clitestm7nikx6sld4npo42d.blob.core.windows.net/","queue":"https://clitestm7nikx6sld4npo42d.queue.core.windows.net/","table":"https://clitestm7nikx6sld4npo42d.table.core.windows.net/","file":"https://clitestm7nikx6sld4npo42d.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databoxrg2slunrj5vx5aydveu66wkj6rh3ildamkumi4zojpcf6f4vastgfp4v3rw/providers/Microsoft.Storage/storageAccounts/clitestmap7c2xyjf3gsd7yg","name":"clitestmap7c2xyjf3gsd7yg","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T09:10:56.7318732Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T09:10:56.7318732Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-03T09:10:56.6381622Z","primaryEndpoints":{"blob":"https://clitestmap7c2xyjf3gsd7yg.blob.core.windows.net/","queue":"https://clitestmap7c2xyjf3gsd7yg.queue.core.windows.net/","table":"https://clitestmap7c2xyjf3gsd7yg.table.core.windows.net/","file":"https://clitestmap7c2xyjf3gsd7yg.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databoxu7woflo47pjem4rfw2djuvafywtfnprfpduospdfotkqkudaylsua3ybqpa/providers/Microsoft.Storage/storageAccounts/clitestnxsheqf5s5rcht46h","name":"clitestnxsheqf5s5rcht46h","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T06:40:27.7931436Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T06:40:27.7931436Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-03T06:40:27.7305929Z","primaryEndpoints":{"blob":"https://clitestnxsheqf5s5rcht46h.blob.core.windows.net/","queue":"https://clitestnxsheqf5s5rcht46h.queue.core.windows.net/","table":"https://clitestnxsheqf5s5rcht46h.table.core.windows.net/","file":"https://clitestnxsheqf5s5rcht46h.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox52yrfbe7molrqhwdubnr2jcijd22xsz3hgcg3btf3sza5boeklwgzzq5sfn/providers/Microsoft.Storage/storageAccounts/clitestqsel4b35pkfyubvyx","name":"clitestqsel4b35pkfyubvyx","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-06T14:20:08.8041709Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-06T14:20:08.8041709Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-06T14:20:08.7417121Z","primaryEndpoints":{"blob":"https://clitestqsel4b35pkfyubvyx.blob.core.windows.net/","queue":"https://clitestqsel4b35pkfyubvyx.queue.core.windows.net/","table":"https://clitestqsel4b35pkfyubvyx.table.core.windows.net/","file":"https://clitestqsel4b35pkfyubvyx.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-17T07:49:45.7241486Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-17T07:49:45.7241486Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-17T07:49:45.6303899Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databoxam64dpcskfsb23dkj6zbvxysimh24e3upfdsdmuxbdl2j25ckz2uz5lht5y/providers/Microsoft.Storage/storageAccounts/clitesty2xsxbbcego73beie","name":"clitesty2xsxbbcego73beie","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T05:23:45.1933083Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T05:23:45.1933083Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-03T05:23:45.1308322Z","primaryEndpoints":{"blob":"https://clitesty2xsxbbcego73beie.blob.core.windows.net/","queue":"https://clitesty2xsxbbcego73beie.queue.core.windows.net/","table":"https://clitesty2xsxbbcego73beie.table.core.windows.net/","file":"https://clitesty2xsxbbcego73beie.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/jlrg/providers/Microsoft.Storage/storageAccounts/jlst","name":"jlst","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-17T07:11:23.6842270Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-17T07:11:23.6842270Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-17T07:11:23.6060987Z","primaryEndpoints":{"dfs":"https://jlst.dfs.core.windows.net/","web":"https://jlst.z22.web.core.windows.net/","blob":"https://jlst.blob.core.windows.net/","queue":"https://jlst.queue.core.windows.net/","table":"https://jlst.table.core.windows.net/","file":"https://jlst.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://jlst-secondary.dfs.core.windows.net/","web":"https://jlst-secondary.z22.web.core.windows.net/","blob":"https://jlst-secondary.blob.core.windows.net/","queue":"https://jlst-secondary.queue.core.windows.net/","table":"https://jlst-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azure-core-poc/providers/Microsoft.Storage/storageAccounts/sfsafsaf","name":"sfsafsaf","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-12T10:01:37.0551963Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-12T10:01:37.0551963Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-12T10:01:36.9614761Z","primaryEndpoints":{"dfs":"https://sfsafsaf.dfs.core.windows.net/","web":"https://sfsafsaf.z22.web.core.windows.net/","blob":"https://sfsafsaf.blob.core.windows.net/","queue":"https://sfsafsaf.queue.core.windows.net/","table":"https://sfsafsaf.table.core.windows.net/","file":"https://sfsafsaf.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"identity":{"principalId":"2a730f61-76ac-426b-a91d-4b130208ba0d","tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a","type":"SystemAssigned"},"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ygmanual3/providers/Microsoft.Storage/storageAccounts/ygmanual3","name":"ygmanual3","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-05T18:34:38.5168098Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-05T18:34:38.5168098Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-05T18:34:38.4543411Z","primaryEndpoints":{"dfs":"https://ygmanual3.dfs.core.windows.net/","web":"https://ygmanual3.z22.web.core.windows.net/","blob":"https://ygmanual3.blob.core.windows.net/","queue":"https://ygmanual3.queue.core.windows.net/","table":"https://ygmanual3.table.core.windows.net/","file":"https://ygmanual3.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://ygmanual3-secondary.dfs.core.windows.net/","web":"https://ygmanual3-secondary.z22.web.core.windows.net/","blob":"https://ygmanual3-secondary.blob.core.windows.net/","queue":"https://ygmanual3-secondary.queue.core.windows.net/","table":"https://ygmanual3-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yu-test-rg-westus/providers/Microsoft.Storage/storageAccounts/yutestdbsawestus","name":"yutestdbsawestus","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-25T11:11:24.7554090Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-25T11:11:24.7554090Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-02-25T11:11:24.6772540Z","primaryEndpoints":{"dfs":"https://yutestdbsawestus.dfs.core.windows.net/","web":"https://yutestdbsawestus.z22.web.core.windows.net/","blob":"https://yutestdbsawestus.blob.core.windows.net/","queue":"https://yutestdbsawestus.queue.core.windows.net/","table":"https://yutestdbsawestus.table.core.windows.net/","file":"https://yutestdbsawestus.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://yutestdbsawestus-secondary.dfs.core.windows.net/","web":"https://yutestdbsawestus-secondary.z22.web.core.windows.net/","blob":"https://yutestdbsawestus-secondary.blob.core.windows.net/","queue":"https://yutestdbsawestus-secondary.queue.core.windows.net/","table":"https://yutestdbsawestus-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yu-test-rg-westus/providers/Microsoft.Storage/storageAccounts/yutestlro","name":"yutestlro","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-28T07:50:15.1386919Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-28T07:50:15.1386919Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-02-28T07:50:15.0762161Z","primaryEndpoints":{"blob":"https://yutestlro.blob.core.windows.net/","queue":"https://yutestlro.queue.core.windows.net/","table":"https://yutestlro.table.core.windows.net/","file":"https://yutestlro.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"blob":"https://yutestlro-secondary.blob.core.windows.net/","queue":"https://yutestlro-secondary.queue.core.windows.net/","table":"https://yutestlro-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zhoxing-test/providers/Microsoft.Storage/storageAccounts/zhoxingtest2","name":"zhoxingtest2","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T03:09:41.7587583Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T03:09:41.7587583Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-03T03:09:41.6962163Z","primaryEndpoints":{"dfs":"https://zhoxingtest2.dfs.core.windows.net/","web":"https://zhoxingtest2.z22.web.core.windows.net/","blob":"https://zhoxingtest2.blob.core.windows.net/","queue":"https://zhoxingtest2.queue.core.windows.net/","table":"https://zhoxingtest2.table.core.windows.net/","file":"https://zhoxingtest2.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://zhoxingtest2-secondary.dfs.core.windows.net/","web":"https://zhoxingtest2-secondary.z22.web.core.windows.net/","blob":"https://zhoxingtest2-secondary.blob.core.windows.net/","queue":"https://zhoxingtest2-secondary.queue.core.windows.net/","table":"https://zhoxingtest2-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_GRS","tier":"Standard"},"kind":"BlobStorage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-my-standard-space-fez3hbt1bsvmr/providers/Microsoft.Storage/storageAccounts/dbstoragefez3hbt1bsvmr","name":"dbstoragefez3hbt1bsvmr","type":"Microsoft.Storage/storageAccounts","location":"eastasia","tags":{"application":"databricks","databricks-environment":"true"},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-16T03:14:00.7822307Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-16T03:14:00.7822307Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-16T03:14:00.7197710Z","primaryEndpoints":{"dfs":"https://dbstoragefez3hbt1bsvmr.dfs.core.windows.net/","blob":"https://dbstoragefez3hbt1bsvmr.blob.core.windows.net/","table":"https://dbstoragefez3hbt1bsvmr.table.core.windows.net/"},"primaryLocation":"eastasia","statusOfPrimary":"available","secondaryLocation":"southeastasia","statusOfSecondary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/feng-cli-rg/providers/Microsoft.Storage/storageAccounts/fengws1storage296335f3c7","name":"fengws1storage296335f3c7","type":"Microsoft.Storage/storageAccounts","location":"eastasia","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-14T14:41:02.2224956Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-14T14:41:02.2224956Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-02-14T14:41:02.1600089Z","primaryEndpoints":{"dfs":"https://fengws1storage296335f3c7.dfs.core.windows.net/","web":"https://fengws1storage296335f3c7.z7.web.core.windows.net/","blob":"https://fengws1storage296335f3c7.blob.core.windows.net/","queue":"https://fengws1storage296335f3c7.queue.core.windows.net/","table":"https://fengws1storage296335f3c7.table.core.windows.net/","file":"https://fengws1storage296335f3c7.file.core.windows.net/"},"primaryLocation":"eastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg6i4hl6iakg/providers/Microsoft.Storage/storageAccounts/clitestu3p7a7ib4n4y7gt4m","name":"clitestu3p7a7ib4n4y7gt4m","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-12-30T01:51:53.0814418Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-12-30T01:51:53.0814418Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2019-12-30T01:51:53.0189478Z","primaryEndpoints":{"blob":"https://clitestu3p7a7ib4n4y7gt4m.blob.core.windows.net/","queue":"https://clitestu3p7a7ib4n4y7gt4m.queue.core.windows.net/","table":"https://clitestu3p7a7ib4n4y7gt4m.table.core.windows.net/","file":"https://clitestu3p7a7ib4n4y7gt4m.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/jlrg1/providers/Microsoft.Storage/storageAccounts/jlcsst","name":"jlcsst","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-02T07:15:45.8047726Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-02T07:15:45.8047726Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-02T07:15:45.7422455Z","primaryEndpoints":{"dfs":"https://jlcsst.dfs.core.windows.net/","web":"https://jlcsst.z23.web.core.windows.net/","blob":"https://jlcsst.blob.core.windows.net/","queue":"https://jlcsst.queue.core.windows.net/","table":"https://jlcsst.table.core.windows.net/","file":"https://jlcsst.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/jlvm2rg/providers/Microsoft.Storage/storageAccounts/jlvm2rgdiag","name":"jlvm2rgdiag","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T04:41:48.6974827Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T04:41:48.6974827Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-03T04:41:48.6505931Z","primaryEndpoints":{"blob":"https://jlvm2rgdiag.blob.core.windows.net/","queue":"https://jlvm2rgdiag.queue.core.windows.net/","table":"https://jlvm2rgdiag.table.core.windows.net/","file":"https://jlvm2rgdiag.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qianwens/providers/Microsoft.Storage/storageAccounts/qianwensdiag","name":"qianwensdiag","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-04T07:17:09.1138103Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-04T07:17:09.1138103Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-02-04T07:17:09.0514178Z","primaryEndpoints":{"blob":"https://qianwensdiag.blob.core.windows.net/","queue":"https://qianwensdiag.queue.core.windows.net/","table":"https://qianwensdiag.table.core.windows.net/","file":"https://qianwensdiag.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yeming/providers/Microsoft.Storage/storageAccounts/yeming","name":"yeming","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-12-04T06:41:07.4012554Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-12-04T06:41:07.4012554Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-12-04T06:41:07.3699884Z","primaryEndpoints":{"dfs":"https://yeming.dfs.core.windows.net/","web":"https://yeming.z23.web.core.windows.net/","blob":"https://yeming.blob.core.windows.net/","queue":"https://yeming.queue.core.windows.net/","table":"https://yeming.table.core.windows.net/","file":"https://yeming.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available","secondaryLocation":"eastasia","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://yeming-secondary.dfs.core.windows.net/","web":"https://yeming-secondary.z23.web.core.windows.net/","blob":"https://yeming-secondary.blob.core.windows.net/","queue":"https://yeming-secondary.queue.core.windows.net/","table":"https://yeming-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/Microsoft.Storage/storageAccounts/azureclitestrgdiag748","name":"azureclitestrgdiag748","type":"Microsoft.Storage/storageAccounts","location":"japaneast","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-01T05:17:58.5405622Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-01T05:17:58.5405622Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-01T05:17:58.4936629Z","primaryEndpoints":{"blob":"https://azureclitestrgdiag748.blob.core.windows.net/","queue":"https://azureclitestrgdiag748.queue.core.windows.net/","table":"https://azureclitestrgdiag748.table.core.windows.net/","file":"https://azureclitestrgdiag748.file.core.windows.net/"},"primaryLocation":"japaneast","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/bim-rg/providers/Microsoft.Storage/storageAccounts/bimrgdiag","name":"bimrgdiag","type":"Microsoft.Storage/storageAccounts","location":"japaneast","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-12T15:04:32.1018377Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-12T15:04:32.1018377Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-02-12T15:04:32.0706109Z","primaryEndpoints":{"blob":"https://bimrgdiag.blob.core.windows.net/","queue":"https://bimrgdiag.queue.core.windows.net/","table":"https://bimrgdiag.table.core.windows.net/","file":"https://bimrgdiag.file.core.windows.net/"},"primaryLocation":"japaneast","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/feng-cli-rg/providers/Microsoft.Storage/storageAccounts/fengclirgdiag","name":"fengclirgdiag","type":"Microsoft.Storage/storageAccounts","location":"japaneast","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-01T07:10:20.0599535Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-01T07:10:20.0599535Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-01T07:10:19.9974827Z","primaryEndpoints":{"blob":"https://fengclirgdiag.blob.core.windows.net/","queue":"https://fengclirgdiag.queue.core.windows.net/","table":"https://fengclirgdiag.table.core.windows.net/","file":"https://fengclirgdiag.file.core.windows.net/"},"primaryLocation":"japaneast","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zhoxing-test/providers/Microsoft.Storage/storageAccounts/store6472qnxl3vv5o","name":"store6472qnxl3vv5o","type":"Microsoft.Storage/storageAccounts","location":"southcentralus","tags":{"project":"Digital + Platform","env":"CI"},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-27T08:24:34.7235260Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-27T08:24:34.7235260Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-02-27T08:24:34.6453999Z","primaryEndpoints":{"blob":"https://store6472qnxl3vv5o.blob.core.windows.net/","queue":"https://store6472qnxl3vv5o.queue.core.windows.net/","table":"https://store6472qnxl3vv5o.table.core.windows.net/","file":"https://store6472qnxl3vv5o.file.core.windows.net/"},"primaryLocation":"southcentralus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/feng-cli-rg/providers/Microsoft.Storage/storageAccounts/extmigrate","name":"extmigrate","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-16T08:26:10.6796218Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-16T08:26:10.6796218Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-16T08:26:10.5858998Z","primaryEndpoints":{"blob":"https://extmigrate.blob.core.windows.net/","queue":"https://extmigrate.queue.core.windows.net/","table":"https://extmigrate.table.core.windows.net/","file":"https://extmigrate.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"blob":"https://extmigrate-secondary.blob.core.windows.net/","queue":"https://extmigrate-secondary.queue.core.windows.net/","table":"https://extmigrate-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/feng-cli-rg/providers/Microsoft.Storage/storageAccounts/fengclitest","name":"fengclitest","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-09T05:03:17.9861949Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-09T05:03:17.9861949Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-02-09T05:03:17.8924377Z","primaryEndpoints":{"blob":"https://fengclitest.blob.core.windows.net/","queue":"https://fengclitest.queue.core.windows.net/","table":"https://fengclitest.table.core.windows.net/","file":"https://fengclitest.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"blob":"https://fengclitest-secondary.blob.core.windows.net/","queue":"https://fengclitest-secondary.queue.core.windows.net/","table":"https://fengclitest-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/feng-cli-rg/providers/Microsoft.Storage/storageAccounts/fengsa","name":"fengsa","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-01-06T04:33:22.9379802Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-01-06T04:33:22.9379802Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-01-06T04:33:22.8754625Z","primaryEndpoints":{"dfs":"https://fengsa.dfs.core.windows.net/","web":"https://fengsa.z19.web.core.windows.net/","blob":"https://fengsa.blob.core.windows.net/","queue":"https://fengsa.queue.core.windows.net/","table":"https://fengsa.table.core.windows.net/","file":"https://fengsa.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://fengsa-secondary.dfs.core.windows.net/","web":"https://fengsa-secondary.z19.web.core.windows.net/","blob":"https://fengsa-secondary.blob.core.windows.net/","queue":"https://fengsa-secondary.queue.core.windows.net/","table":"https://fengsa-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zhoxing-test/providers/Microsoft.Storage/storageAccounts/storageaccountzhoxib2a8","name":"storageaccountzhoxib2a8","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-25T06:54:03.9825980Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-25T06:54:03.9825980Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-02-25T06:54:03.9044955Z","primaryEndpoints":{"blob":"https://storageaccountzhoxib2a8.blob.core.windows.net/","queue":"https://storageaccountzhoxib2a8.queue.core.windows.net/","table":"https://storageaccountzhoxib2a8.table.core.windows.net/","file":"https://storageaccountzhoxib2a8.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro1","name":"storagesfrepro1","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:07:42.2058942Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:07:42.2058942Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:07:42.1277444Z","primaryEndpoints":{"dfs":"https://storagesfrepro1.dfs.core.windows.net/","web":"https://storagesfrepro1.z19.web.core.windows.net/","blob":"https://storagesfrepro1.blob.core.windows.net/","queue":"https://storagesfrepro1.queue.core.windows.net/","table":"https://storagesfrepro1.table.core.windows.net/","file":"https://storagesfrepro1.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro1-secondary.dfs.core.windows.net/","web":"https://storagesfrepro1-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro1-secondary.blob.core.windows.net/","queue":"https://storagesfrepro1-secondary.queue.core.windows.net/","table":"https://storagesfrepro1-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro10","name":"storagesfrepro10","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:14:00.8753334Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:14:00.8753334Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:14:00.7815921Z","primaryEndpoints":{"dfs":"https://storagesfrepro10.dfs.core.windows.net/","web":"https://storagesfrepro10.z19.web.core.windows.net/","blob":"https://storagesfrepro10.blob.core.windows.net/","queue":"https://storagesfrepro10.queue.core.windows.net/","table":"https://storagesfrepro10.table.core.windows.net/","file":"https://storagesfrepro10.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro10-secondary.dfs.core.windows.net/","web":"https://storagesfrepro10-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro10-secondary.blob.core.windows.net/","queue":"https://storagesfrepro10-secondary.queue.core.windows.net/","table":"https://storagesfrepro10-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro11","name":"storagesfrepro11","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:14:28.9859417Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:14:28.9859417Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:14:28.8609347Z","primaryEndpoints":{"dfs":"https://storagesfrepro11.dfs.core.windows.net/","web":"https://storagesfrepro11.z19.web.core.windows.net/","blob":"https://storagesfrepro11.blob.core.windows.net/","queue":"https://storagesfrepro11.queue.core.windows.net/","table":"https://storagesfrepro11.table.core.windows.net/","file":"https://storagesfrepro11.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro11-secondary.dfs.core.windows.net/","web":"https://storagesfrepro11-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro11-secondary.blob.core.windows.net/","queue":"https://storagesfrepro11-secondary.queue.core.windows.net/","table":"https://storagesfrepro11-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro12","name":"storagesfrepro12","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:15:15.6785362Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:15:15.6785362Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:15:15.5848345Z","primaryEndpoints":{"dfs":"https://storagesfrepro12.dfs.core.windows.net/","web":"https://storagesfrepro12.z19.web.core.windows.net/","blob":"https://storagesfrepro12.blob.core.windows.net/","queue":"https://storagesfrepro12.queue.core.windows.net/","table":"https://storagesfrepro12.table.core.windows.net/","file":"https://storagesfrepro12.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro12-secondary.dfs.core.windows.net/","web":"https://storagesfrepro12-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro12-secondary.blob.core.windows.net/","queue":"https://storagesfrepro12-secondary.queue.core.windows.net/","table":"https://storagesfrepro12-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro13","name":"storagesfrepro13","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:16:55.7609361Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:16:55.7609361Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:16:55.6671828Z","primaryEndpoints":{"dfs":"https://storagesfrepro13.dfs.core.windows.net/","web":"https://storagesfrepro13.z19.web.core.windows.net/","blob":"https://storagesfrepro13.blob.core.windows.net/","queue":"https://storagesfrepro13.queue.core.windows.net/","table":"https://storagesfrepro13.table.core.windows.net/","file":"https://storagesfrepro13.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro13-secondary.dfs.core.windows.net/","web":"https://storagesfrepro13-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro13-secondary.blob.core.windows.net/","queue":"https://storagesfrepro13-secondary.queue.core.windows.net/","table":"https://storagesfrepro13-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro14","name":"storagesfrepro14","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:17:40.7661469Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:17:40.7661469Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:17:40.6880204Z","primaryEndpoints":{"dfs":"https://storagesfrepro14.dfs.core.windows.net/","web":"https://storagesfrepro14.z19.web.core.windows.net/","blob":"https://storagesfrepro14.blob.core.windows.net/","queue":"https://storagesfrepro14.queue.core.windows.net/","table":"https://storagesfrepro14.table.core.windows.net/","file":"https://storagesfrepro14.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro14-secondary.dfs.core.windows.net/","web":"https://storagesfrepro14-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro14-secondary.blob.core.windows.net/","queue":"https://storagesfrepro14-secondary.queue.core.windows.net/","table":"https://storagesfrepro14-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro15","name":"storagesfrepro15","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:18:52.1812445Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:18:52.1812445Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:18:52.0718543Z","primaryEndpoints":{"dfs":"https://storagesfrepro15.dfs.core.windows.net/","web":"https://storagesfrepro15.z19.web.core.windows.net/","blob":"https://storagesfrepro15.blob.core.windows.net/","queue":"https://storagesfrepro15.queue.core.windows.net/","table":"https://storagesfrepro15.table.core.windows.net/","file":"https://storagesfrepro15.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro15-secondary.dfs.core.windows.net/","web":"https://storagesfrepro15-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro15-secondary.blob.core.windows.net/","queue":"https://storagesfrepro15-secondary.queue.core.windows.net/","table":"https://storagesfrepro15-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro16","name":"storagesfrepro16","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:19:33.1863807Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:19:33.1863807Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:19:33.0770034Z","primaryEndpoints":{"dfs":"https://storagesfrepro16.dfs.core.windows.net/","web":"https://storagesfrepro16.z19.web.core.windows.net/","blob":"https://storagesfrepro16.blob.core.windows.net/","queue":"https://storagesfrepro16.queue.core.windows.net/","table":"https://storagesfrepro16.table.core.windows.net/","file":"https://storagesfrepro16.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro16-secondary.dfs.core.windows.net/","web":"https://storagesfrepro16-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro16-secondary.blob.core.windows.net/","queue":"https://storagesfrepro16-secondary.queue.core.windows.net/","table":"https://storagesfrepro16-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro17","name":"storagesfrepro17","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:04:23.5553513Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:04:23.5553513Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:04:23.4771469Z","primaryEndpoints":{"dfs":"https://storagesfrepro17.dfs.core.windows.net/","web":"https://storagesfrepro17.z19.web.core.windows.net/","blob":"https://storagesfrepro17.blob.core.windows.net/","queue":"https://storagesfrepro17.queue.core.windows.net/","table":"https://storagesfrepro17.table.core.windows.net/","file":"https://storagesfrepro17.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro17-secondary.dfs.core.windows.net/","web":"https://storagesfrepro17-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro17-secondary.blob.core.windows.net/","queue":"https://storagesfrepro17-secondary.queue.core.windows.net/","table":"https://storagesfrepro17-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro18","name":"storagesfrepro18","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:04:53.8320772Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:04:53.8320772Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:04:53.7383176Z","primaryEndpoints":{"dfs":"https://storagesfrepro18.dfs.core.windows.net/","web":"https://storagesfrepro18.z19.web.core.windows.net/","blob":"https://storagesfrepro18.blob.core.windows.net/","queue":"https://storagesfrepro18.queue.core.windows.net/","table":"https://storagesfrepro18.table.core.windows.net/","file":"https://storagesfrepro18.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro18-secondary.dfs.core.windows.net/","web":"https://storagesfrepro18-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro18-secondary.blob.core.windows.net/","queue":"https://storagesfrepro18-secondary.queue.core.windows.net/","table":"https://storagesfrepro18-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro19","name":"storagesfrepro19","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:05:26.3650238Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:05:26.3650238Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:05:26.2556326Z","primaryEndpoints":{"dfs":"https://storagesfrepro19.dfs.core.windows.net/","web":"https://storagesfrepro19.z19.web.core.windows.net/","blob":"https://storagesfrepro19.blob.core.windows.net/","queue":"https://storagesfrepro19.queue.core.windows.net/","table":"https://storagesfrepro19.table.core.windows.net/","file":"https://storagesfrepro19.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro19-secondary.dfs.core.windows.net/","web":"https://storagesfrepro19-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro19-secondary.blob.core.windows.net/","queue":"https://storagesfrepro19-secondary.queue.core.windows.net/","table":"https://storagesfrepro19-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro2","name":"storagesfrepro2","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:08:45.8498203Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:08:45.8498203Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:08:45.7717196Z","primaryEndpoints":{"dfs":"https://storagesfrepro2.dfs.core.windows.net/","web":"https://storagesfrepro2.z19.web.core.windows.net/","blob":"https://storagesfrepro2.blob.core.windows.net/","queue":"https://storagesfrepro2.queue.core.windows.net/","table":"https://storagesfrepro2.table.core.windows.net/","file":"https://storagesfrepro2.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro2-secondary.dfs.core.windows.net/","web":"https://storagesfrepro2-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro2-secondary.blob.core.windows.net/","queue":"https://storagesfrepro2-secondary.queue.core.windows.net/","table":"https://storagesfrepro2-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro20","name":"storagesfrepro20","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:06:07.4295934Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:06:07.4295934Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:06:07.3358422Z","primaryEndpoints":{"dfs":"https://storagesfrepro20.dfs.core.windows.net/","web":"https://storagesfrepro20.z19.web.core.windows.net/","blob":"https://storagesfrepro20.blob.core.windows.net/","queue":"https://storagesfrepro20.queue.core.windows.net/","table":"https://storagesfrepro20.table.core.windows.net/","file":"https://storagesfrepro20.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro20-secondary.dfs.core.windows.net/","web":"https://storagesfrepro20-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro20-secondary.blob.core.windows.net/","queue":"https://storagesfrepro20-secondary.queue.core.windows.net/","table":"https://storagesfrepro20-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro21","name":"storagesfrepro21","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:06:37.4780251Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:06:37.4780251Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:06:37.3686460Z","primaryEndpoints":{"dfs":"https://storagesfrepro21.dfs.core.windows.net/","web":"https://storagesfrepro21.z19.web.core.windows.net/","blob":"https://storagesfrepro21.blob.core.windows.net/","queue":"https://storagesfrepro21.queue.core.windows.net/","table":"https://storagesfrepro21.table.core.windows.net/","file":"https://storagesfrepro21.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro21-secondary.dfs.core.windows.net/","web":"https://storagesfrepro21-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro21-secondary.blob.core.windows.net/","queue":"https://storagesfrepro21-secondary.queue.core.windows.net/","table":"https://storagesfrepro21-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro22","name":"storagesfrepro22","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:06:59.8295391Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:06:59.8295391Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:06:59.7201581Z","primaryEndpoints":{"dfs":"https://storagesfrepro22.dfs.core.windows.net/","web":"https://storagesfrepro22.z19.web.core.windows.net/","blob":"https://storagesfrepro22.blob.core.windows.net/","queue":"https://storagesfrepro22.queue.core.windows.net/","table":"https://storagesfrepro22.table.core.windows.net/","file":"https://storagesfrepro22.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro22-secondary.dfs.core.windows.net/","web":"https://storagesfrepro22-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro22-secondary.blob.core.windows.net/","queue":"https://storagesfrepro22-secondary.queue.core.windows.net/","table":"https://storagesfrepro22-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro23","name":"storagesfrepro23","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:07:29.0846619Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:07:29.0846619Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:07:29.0065050Z","primaryEndpoints":{"dfs":"https://storagesfrepro23.dfs.core.windows.net/","web":"https://storagesfrepro23.z19.web.core.windows.net/","blob":"https://storagesfrepro23.blob.core.windows.net/","queue":"https://storagesfrepro23.queue.core.windows.net/","table":"https://storagesfrepro23.table.core.windows.net/","file":"https://storagesfrepro23.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro23-secondary.dfs.core.windows.net/","web":"https://storagesfrepro23-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro23-secondary.blob.core.windows.net/","queue":"https://storagesfrepro23-secondary.queue.core.windows.net/","table":"https://storagesfrepro23-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro24","name":"storagesfrepro24","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:07:53.2658712Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:07:53.2658712Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:07:53.1565651Z","primaryEndpoints":{"dfs":"https://storagesfrepro24.dfs.core.windows.net/","web":"https://storagesfrepro24.z19.web.core.windows.net/","blob":"https://storagesfrepro24.blob.core.windows.net/","queue":"https://storagesfrepro24.queue.core.windows.net/","table":"https://storagesfrepro24.table.core.windows.net/","file":"https://storagesfrepro24.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro24-secondary.dfs.core.windows.net/","web":"https://storagesfrepro24-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro24-secondary.blob.core.windows.net/","queue":"https://storagesfrepro24-secondary.queue.core.windows.net/","table":"https://storagesfrepro24-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro25","name":"storagesfrepro25","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:08:18.7432319Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:08:18.7432319Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:08:18.6338258Z","primaryEndpoints":{"dfs":"https://storagesfrepro25.dfs.core.windows.net/","web":"https://storagesfrepro25.z19.web.core.windows.net/","blob":"https://storagesfrepro25.blob.core.windows.net/","queue":"https://storagesfrepro25.queue.core.windows.net/","table":"https://storagesfrepro25.table.core.windows.net/","file":"https://storagesfrepro25.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro25-secondary.dfs.core.windows.net/","web":"https://storagesfrepro25-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro25-secondary.blob.core.windows.net/","queue":"https://storagesfrepro25-secondary.queue.core.windows.net/","table":"https://storagesfrepro25-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro3","name":"storagesfrepro3","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:09:19.5698333Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:09:19.5698333Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:09:19.3510997Z","primaryEndpoints":{"dfs":"https://storagesfrepro3.dfs.core.windows.net/","web":"https://storagesfrepro3.z19.web.core.windows.net/","blob":"https://storagesfrepro3.blob.core.windows.net/","queue":"https://storagesfrepro3.queue.core.windows.net/","table":"https://storagesfrepro3.table.core.windows.net/","file":"https://storagesfrepro3.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro3-secondary.dfs.core.windows.net/","web":"https://storagesfrepro3-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro3-secondary.blob.core.windows.net/","queue":"https://storagesfrepro3-secondary.queue.core.windows.net/","table":"https://storagesfrepro3-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro4","name":"storagesfrepro4","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:09:54.9930953Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:09:54.9930953Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:09:54.8993063Z","primaryEndpoints":{"dfs":"https://storagesfrepro4.dfs.core.windows.net/","web":"https://storagesfrepro4.z19.web.core.windows.net/","blob":"https://storagesfrepro4.blob.core.windows.net/","queue":"https://storagesfrepro4.queue.core.windows.net/","table":"https://storagesfrepro4.table.core.windows.net/","file":"https://storagesfrepro4.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro4-secondary.dfs.core.windows.net/","web":"https://storagesfrepro4-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro4-secondary.blob.core.windows.net/","queue":"https://storagesfrepro4-secondary.queue.core.windows.net/","table":"https://storagesfrepro4-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro5","name":"storagesfrepro5","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:10:48.1114395Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:10:48.1114395Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:10:48.0177273Z","primaryEndpoints":{"dfs":"https://storagesfrepro5.dfs.core.windows.net/","web":"https://storagesfrepro5.z19.web.core.windows.net/","blob":"https://storagesfrepro5.blob.core.windows.net/","queue":"https://storagesfrepro5.queue.core.windows.net/","table":"https://storagesfrepro5.table.core.windows.net/","file":"https://storagesfrepro5.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro5-secondary.dfs.core.windows.net/","web":"https://storagesfrepro5-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro5-secondary.blob.core.windows.net/","queue":"https://storagesfrepro5-secondary.queue.core.windows.net/","table":"https://storagesfrepro5-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro6","name":"storagesfrepro6","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:11:28.0269117Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:11:28.0269117Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:11:27.9331594Z","primaryEndpoints":{"dfs":"https://storagesfrepro6.dfs.core.windows.net/","web":"https://storagesfrepro6.z19.web.core.windows.net/","blob":"https://storagesfrepro6.blob.core.windows.net/","queue":"https://storagesfrepro6.queue.core.windows.net/","table":"https://storagesfrepro6.table.core.windows.net/","file":"https://storagesfrepro6.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro6-secondary.dfs.core.windows.net/","web":"https://storagesfrepro6-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro6-secondary.blob.core.windows.net/","queue":"https://storagesfrepro6-secondary.queue.core.windows.net/","table":"https://storagesfrepro6-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro7","name":"storagesfrepro7","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:12:08.7761892Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:12:08.7761892Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:12:08.6824637Z","primaryEndpoints":{"dfs":"https://storagesfrepro7.dfs.core.windows.net/","web":"https://storagesfrepro7.z19.web.core.windows.net/","blob":"https://storagesfrepro7.blob.core.windows.net/","queue":"https://storagesfrepro7.queue.core.windows.net/","table":"https://storagesfrepro7.table.core.windows.net/","file":"https://storagesfrepro7.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro7-secondary.dfs.core.windows.net/","web":"https://storagesfrepro7-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro7-secondary.blob.core.windows.net/","queue":"https://storagesfrepro7-secondary.queue.core.windows.net/","table":"https://storagesfrepro7-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro8","name":"storagesfrepro8","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:12:39.5221164Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:12:39.5221164Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:12:39.4283923Z","primaryEndpoints":{"dfs":"https://storagesfrepro8.dfs.core.windows.net/","web":"https://storagesfrepro8.z19.web.core.windows.net/","blob":"https://storagesfrepro8.blob.core.windows.net/","queue":"https://storagesfrepro8.queue.core.windows.net/","table":"https://storagesfrepro8.table.core.windows.net/","file":"https://storagesfrepro8.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro8-secondary.dfs.core.windows.net/","web":"https://storagesfrepro8-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro8-secondary.blob.core.windows.net/","queue":"https://storagesfrepro8-secondary.queue.core.windows.net/","table":"https://storagesfrepro8-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro9","name":"storagesfrepro9","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:13:18.1628430Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:13:18.1628430Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:13:18.0691096Z","primaryEndpoints":{"dfs":"https://storagesfrepro9.dfs.core.windows.net/","web":"https://storagesfrepro9.z19.web.core.windows.net/","blob":"https://storagesfrepro9.blob.core.windows.net/","queue":"https://storagesfrepro9.queue.core.windows.net/","table":"https://storagesfrepro9.table.core.windows.net/","file":"https://storagesfrepro9.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro9-secondary.dfs.core.windows.net/","web":"https://storagesfrepro9-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro9-secondary.blob.core.windows.net/","queue":"https://storagesfrepro9-secondary.queue.core.windows.net/","table":"https://storagesfrepro9-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuhcentral/providers/Microsoft.Storage/storageAccounts/zuhstorage","name":"zuhstorage","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{"ServiceName":"TAGVALUE"},"properties":{"privateEndpointConnections":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuhcentral/providers/Microsoft.Storage/storageAccounts/zuhstorage/privateEndpointConnections/zuhstorage.5ae41b56-a372-4111-b6d8-9ce4364fd8f4","name":"zuhstorage.5ae41b56-a372-4111-b6d8-9ce4364fd8f4","type":"Microsoft.Storage/storageAccounts/privateEndpointConnections","properties":{"provisioningState":"Succeeded","privateEndpoint":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuhcentral/providers/Microsoft.Network/privateEndpoints/zuhPE"},"privateLinkServiceConnectionState":{"status":"Rejected","description":"","actionRequired":"None"}}}],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-02T06:04:55.7104787Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-02T06:04:55.7104787Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-02T06:04:55.6167450Z","primaryEndpoints":{"dfs":"https://zuhstorage.dfs.core.windows.net/","web":"https://zuhstorage.z19.web.core.windows.net/","blob":"https://zuhstorage.blob.core.windows.net/","queue":"https://zuhstorage.queue.core.windows.net/","table":"https://zuhstorage.table.core.windows.net/","file":"https://zuhstorage.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://zuhstorage-secondary.dfs.core.windows.net/","web":"https://zuhstorage-secondary.z19.web.core.windows.net/","blob":"https://zuhstorage-secondary.blob.core.windows.net/","queue":"https://zuhstorage-secondary.queue.core.windows.net/","table":"https://zuhstorage-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/feng-cli-rg/providers/Microsoft.Storage/storageAccounts/fengwsstorage28dfde17cb1","name":"fengwsstorage28dfde17cb1","type":"Microsoft.Storage/storageAccounts","location":"westus2","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-07T04:11:42.2482670Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-07T04:11:42.2482670Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-02-07T04:11:42.1857797Z","primaryEndpoints":{"dfs":"https://fengwsstorage28dfde17cb1.dfs.core.windows.net/","web":"https://fengwsstorage28dfde17cb1.z5.web.core.windows.net/","blob":"https://fengwsstorage28dfde17cb1.blob.core.windows.net/","queue":"https://fengwsstorage28dfde17cb1.queue.core.windows.net/","table":"https://fengwsstorage28dfde17cb1.table.core.windows.net/","file":"https://fengwsstorage28dfde17cb1.file.core.windows.net/"},"primaryLocation":"westus2","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sa-test-rg/providers/Microsoft.Storage/storageAccounts/sateststorage123","name":"sateststorage123","type":"Microsoft.Storage/storageAccounts","location":"westus2","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-17T06:30:33.4676610Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-17T06:30:33.4676610Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-17T06:30:33.4051730Z","primaryEndpoints":{"dfs":"https://sateststorage123.dfs.core.windows.net/","web":"https://sateststorage123.z5.web.core.windows.net/","blob":"https://sateststorage123.blob.core.windows.net/","queue":"https://sateststorage123.queue.core.windows.net/","table":"https://sateststorage123.table.core.windows.net/","file":"https://sateststorage123.file.core.windows.net/"},"primaryLocation":"westus2","statusOfPrimary":"available","secondaryLocation":"westcentralus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://sateststorage123-secondary.dfs.core.windows.net/","web":"https://sateststorage123-secondary.z5.web.core.windows.net/","blob":"https://sateststorage123-secondary.blob.core.windows.net/","queue":"https://sateststorage123-secondary.queue.core.windows.net/","table":"https://sateststorage123-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/bim-rg/providers/Microsoft.Storage/storageAccounts/bimstorageacc","name":"bimstorageacc","type":"Microsoft.Storage/storageAccounts","location":"westcentralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T07:20:55.2327590Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T07:20:55.2327590Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-03T07:20:55.1858389Z","primaryEndpoints":{"dfs":"https://bimstorageacc.dfs.core.windows.net/","web":"https://bimstorageacc.z4.web.core.windows.net/","blob":"https://bimstorageacc.blob.core.windows.net/","queue":"https://bimstorageacc.queue.core.windows.net/","table":"https://bimstorageacc.table.core.windows.net/","file":"https://bimstorageacc.file.core.windows.net/"},"primaryLocation":"westcentralus","statusOfPrimary":"available","secondaryLocation":"westus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://bimstorageacc-secondary.dfs.core.windows.net/","web":"https://bimstorageacc-secondary.z4.web.core.windows.net/","blob":"https://bimstorageacc-secondary.blob.core.windows.net/","queue":"https://bimstorageacc-secondary.queue.core.windows.net/","table":"https://bimstorageacc-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yu-test-rg-westus/providers/Microsoft.Storage/storageAccounts/sfsfsfsssf","name":"sfsfsfsssf","type":"Microsoft.Storage/storageAccounts","location":"westcentralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-05T07:16:53.7141799Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-05T07:16:53.7141799Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-05T07:16:53.6829148Z","primaryEndpoints":{"blob":"https://sfsfsfsssf.blob.core.windows.net/","queue":"https://sfsfsfsssf.queue.core.windows.net/","table":"https://sfsfsfsssf.table.core.windows.net/","file":"https://sfsfsfsssf.file.core.windows.net/"},"primaryLocation":"westcentralus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yu-test-rg-westus/providers/Microsoft.Storage/storageAccounts/stststeset","name":"stststeset","type":"Microsoft.Storage/storageAccounts","location":"westcentralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-05T07:13:11.0482184Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-05T07:13:11.0482184Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-05T07:13:10.9856962Z","primaryEndpoints":{"dfs":"https://stststeset.dfs.core.windows.net/","web":"https://stststeset.z4.web.core.windows.net/","blob":"https://stststeset.blob.core.windows.net/","queue":"https://stststeset.queue.core.windows.net/","table":"https://stststeset.table.core.windows.net/","file":"https://stststeset.file.core.windows.net/"},"primaryLocation":"westcentralus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/Microsoft.Storage/storageAccounts/testcreatese","name":"testcreatese","type":"Microsoft.Storage/storageAccounts","location":"westcentralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-17T06:18:08.4522082Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-17T06:18:08.4522082Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-17T06:18:08.3897244Z","primaryEndpoints":{"dfs":"https://testcreatese.dfs.core.windows.net/","web":"https://testcreatese.z4.web.core.windows.net/","blob":"https://testcreatese.blob.core.windows.net/","queue":"https://testcreatese.queue.core.windows.net/","table":"https://testcreatese.table.core.windows.net/","file":"https://testcreatese.file.core.windows.net/"},"primaryLocation":"westcentralus","statusOfPrimary":"available","secondaryLocation":"westus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://testcreatese-secondary.dfs.core.windows.net/","web":"https://testcreatese-secondary.z4.web.core.windows.net/","blob":"https://testcreatese-secondary.blob.core.windows.net/","queue":"https://testcreatese-secondary.queue.core.windows.net/","table":"https://testcreatese-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yu-test-rg-westus/providers/Microsoft.Storage/storageAccounts/yusawcu","name":"yusawcu","type":"Microsoft.Storage/storageAccounts","location":"westcentralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-26T09:39:00.0292799Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-26T09:39:00.0292799Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-02-26T09:38:59.9667703Z","primaryEndpoints":{"dfs":"https://yusawcu.dfs.core.windows.net/","web":"https://yusawcu.z4.web.core.windows.net/","blob":"https://yusawcu.blob.core.windows.net/","queue":"https://yusawcu.queue.core.windows.net/","table":"https://yusawcu.table.core.windows.net/","file":"https://yusawcu.file.core.windows.net/"},"primaryLocation":"westcentralus","statusOfPrimary":"available","secondaryLocation":"westus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://yusawcu-secondary.dfs.core.windows.net/","web":"https://yusawcu-secondary.z4.web.core.windows.net/","blob":"https://yusawcu-secondary.blob.core.windows.net/","queue":"https://yusawcu-secondary.queue.core.windows.net/","table":"https://yusawcu-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuh/providers/Microsoft.Storage/storageAccounts/zuhlrs","name":"zuhlrs","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-17T05:09:22.3210722Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-17T05:09:22.3210722Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-17T05:09:22.2898219Z","primaryEndpoints":{"dfs":"https://zuhlrs.dfs.core.windows.net/","web":"https://zuhlrs.z3.web.core.windows.net/","blob":"https://zuhlrs.blob.core.windows.net/","queue":"https://zuhlrs.queue.core.windows.net/","table":"https://zuhlrs.table.core.windows.net/","file":"https://zuhlrs.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '112030' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 17 Mar 2020 07:51:23 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-original-request-ids: + - 25b55b19-3fbf-4def-9586-241e39191bf1 + - 88d74e5a-5f13-4f94-90a6-ad5156c979ab + - 762bd89d-b3b3-4216-bcad-78123f26491f + - be49b322-8b02-4903-bc1d-7813dcc48282 + - 8c00a5aa-4f08-49c2-af1c-293204d96511 + - e9f21426-c019-4d88-a82d-8280841a0dde + - 71145d21-abc6-41f2-aa5c-e150920f3975 + - af7efda2-934b-45b1-bc08-82b72929731d + - 26ead3ed-8cf3-4ff7-8427-2df12127ffc2 + - 274b0f3d-1290-45bb-853b-e92ff7f38d61 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage share delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --name --account-name + User-Agent: + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-storage/8.0.0 Azure-SDK-For-Python AZURECLI/2.2.0 + accept-language: + - en-US + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storagesync000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2019-06-01 + response: + body: + string: '{"keys":[{"keyName":"key1","value":"veryFakedStorageAccountKey==","permissions":"FULL"},{"keyName":"key2","value":"veryFakedStorageAccountKey==","permissions":"FULL"}]}' + headers: + cache-control: + - no-cache + content-length: + - '288' + content-type: + - application/json + date: + - Tue, 17 Mar 2020 07:51:25 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11997' + status: + code: 200 + message: OK +- request: + body: null + headers: + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.7.6; Windows 10) AZURECLI/2.2.0 + x-ms-date: + - Tue, 17 Mar 2020 07:51:26 GMT + x-ms-version: + - '2018-11-09' + method: DELETE + uri: https://clitest000002.file.core.windows.net/file-share000008?restype=share + response: + body: + string: '' + headers: + content-length: + - '0' + date: + - Tue, 17 Mar 2020 07:51:27 GMT + server: + - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: + - '2018-11-09' + status: + code: 202 + message: Accepted +version: 1 diff --git a/src/storagesync/azext_storagesync/tests/latest/test_storagesync_scenario.py b/src/storagesync/azext_storagesync/tests/latest/test_storagesync_scenario.py new file mode 100644 index 00000000000..55e2d17d6af --- /dev/null +++ b/src/storagesync/azext_storagesync/tests/latest/test_storagesync_scenario.py @@ -0,0 +1,204 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +import os + +from azure.cli.testsdk import (ScenarioTest, ResourceGroupPreparer, JMESPathCheck, StorageAccountPreparer) + +TEST_DIR = os.path.abspath(os.path.join(os.path.abspath(__file__), '..')) + + +class MicrosoftStorageSyncScenarioTest(ScenarioTest): + @ResourceGroupPreparer(name_prefix='cli_test_storagesync') + @StorageAccountPreparer() + def test_storagesync(self): + # setup + sync_service_name = self.create_random_name('sync-service', 24) + sync_group_name = self.create_random_name('sync-group', 24) + cloud_endpoint_name = self.create_random_name('cloud-endpoint', 24) + server_endpoint_name = self.create_random_name('server-endpoint', 24) + file_share_name = self.create_random_name('file-share', 24) + file_share_name_for_offline_data_transfer = self.create_random_name('file-share', 24) + + self.kwargs.update({ + 'sync_service_name': sync_service_name, + 'sync_group_name': sync_group_name, + 'cloud_endpoint_name': cloud_endpoint_name, + 'server_endpoint_name': server_endpoint_name, + 'file_share_name': file_share_name, + 'file_share_name_for_offline_data_transfer': file_share_name_for_offline_data_transfer + }) + + self.cmd('az storage share create ' + '--name {file_share_name} ' + '--quota 1 ' + '--account-name {sa}') + + self.cmd('az storage share create ' + '--name {file_share_name_for_offline_data_transfer} ' + '--quota 1 ' + '--account-name {sa}') + + # run + self.cmd('az storagesync create ' + '--resource-group {rg} ' + '--name {sync_service_name} ' + '--tags key1=value1', + checks=[JMESPathCheck('name', sync_service_name)]) + + self.cmd('az storagesync show ' + '--resource-group {rg} ' + '--name {sync_service_name}', + checks=[JMESPathCheck('storageSyncServiceStatus', 0)]) + + self.cmd('az storagesync list ' + '--resource-group {rg}', + checks=[JMESPathCheck('length(@)', 1)]) + + self.cmd('az storagesync sync-group create ' + '--resource-group {rg} ' + '--storage-sync-service {sync_service_name} ' + '--name {sync_group_name}', + checks=[JMESPathCheck('name', sync_group_name), + JMESPathCheck('syncGroupStatus', 0)]) + + self.cmd('az storagesync sync-group show ' + '--resource-group {rg} ' + '--storage-sync-service {sync_service_name} ' + '--name {sync_group_name}', + checks=[JMESPathCheck('name', sync_group_name), + JMESPathCheck('syncGroupStatus', 0)]) + + self.cmd('az storagesync sync-group list ' + '--resource-group {rg} ' + '--storage-sync-service {sync_service_name}', + checks=[JMESPathCheck('length(@)', 1)]) + + self.cmd('az storagesync sync-group cloud-endpoint create ' + '--resource-group {rg} ' + '--storage-sync-service {sync_service_name} ' + '--sync-group-name {sync_group_name} ' + '--name {cloud_endpoint_name} ' + '--storage-account {sa} ' + '--azure-file-share-name {file_share_name}', + checks=[JMESPathCheck('provisioningState', 'Succeeded')]) + + self.cmd('az storagesync sync-group cloud-endpoint show ' + '--resource-group {rg} ' + '--storage-sync-service {sync_service_name} ' + '--sync-group-name {sync_group_name} ' + '--name {cloud_endpoint_name}', + checks=[JMESPathCheck('name', cloud_endpoint_name)]) + + self.cmd('az storagesync sync-group cloud-endpoint list ' + '--resource-group {rg} ' + '--storage-sync-service {sync_service_name} ' + '--sync-group-name {sync_group_name}', + checks=[JMESPathCheck('length(@)', 1)]) + + server_list = self.cmd('az storagesync registered-server list ' + '--resource-group {rg} ' + '--storage-sync-service {sync_service_name}').get_output_in_json() + self.assertEqual(1, len(server_list)) + + server_id = server_list[0]['serverId'] + self.kwargs.update({ + 'server_id': server_id + }) + + self.cmd('az storagesync registered-server show ' + '--resource-group {rg} ' + '--storage-sync-service {sync_service_name} ' + '--server-id {server_id}', + checks=[JMESPathCheck('provisioningState', 'Succeeded'), + JMESPathCheck('serverId', server_id)]) + + self.cmd('az storagesync sync-group server-endpoint create ' + '--resource-group {rg} ' + '--storage-sync-service {sync_service_name} ' + '--sync-group-name {sync_group_name} ' + '--name {server_endpoint_name} ' + '--server-id {server_id} ' + '--server-local-path "d:\\syncfolder" ' + '--cloud-tiering "on" ' + '--tier-files-older-than-days 20 ' + '--volume-free-space-percent 80 ' + '--offline-data-transfer "on" ' + '--offline-data-transfer-share-name {file_share_name_for_offline_data_transfer}', + checks=[JMESPathCheck('provisioningState', 'Succeeded'), + JMESPathCheck('name', server_endpoint_name)]) + + self.cmd('az storagesync sync-group server-endpoint update ' + '--resource-group {rg} ' + '--storage-sync-service {sync_service_name} ' + '--sync-group-name {sync_group_name} ' + '--name {server_endpoint_name} ' + '--tier-files-older-than-days 10', + checks=[JMESPathCheck('provisioningState', 'Succeeded'), + JMESPathCheck('tierFilesOlderThanDays', 10)]) + + self.cmd('az storagesync sync-group server-endpoint show ' + '--resource-group {rg} ' + '--storage-sync-service {sync_service_name} ' + '--sync-group-name {sync_group_name} ' + '--name {server_endpoint_name} ', + checks=[JMESPathCheck('provisioningState', 'Succeeded'), + JMESPathCheck('name', server_endpoint_name)]) + + self.cmd('az storagesync sync-group server-endpoint list ' + '--resource-group {rg} ' + '--storage-sync-service {sync_service_name} ' + '--sync-group-name {sync_group_name}', + checks=[JMESPathCheck('length(@)', 1)]) + + self.cmd('az storagesync registered-server delete ' + '--resource-group {rg} ' + '--storage-sync-service {sync_service_name} ' + '--server-id {server_id} ' + '-y', + checks=[]) + + self.cmd('az storagesync sync-group server-endpoint delete ' + '--resource-group {rg} ' + '--storage-sync-service {sync_service_name} ' + '--sync-group-name {sync_group_name} ' + '--name {server_endpoint_name} ' + '-y', + checks=[]) + + self.cmd('az storagesync sync-group cloud-endpoint delete ' + '--resource-group {rg} ' + '--storage-sync-service {sync_service_name} ' + '--sync-group-name {sync_group_name} ' + '--name {cloud_endpoint_name} ' + '-y', + checks=[]) + + self.cmd('az storagesync sync-group delete ' + '--resource-group {rg} ' + '--storage-sync-service {sync_service_name} ' + '--name {sync_group_name} ' + '-y', + checks=[]) + + self.cmd('az storagesync delete ' + '--resource-group {rg} ' + '--name {sync_service_name} ' + '-y', + checks=[]) + + self.cmd('az storagesync show ' + '--resource-group {rg} ' + '--name {sync_service_name}', + expect_failure=True) + + # tear down + self.cmd('az storage share delete ' + '--name {file_share_name} ' + '--account-name {sa}') + + self.cmd('az storage share delete ' + '--name {file_share_name_for_offline_data_transfer} ' + '--account-name {sa}') diff --git a/src/storagesync/azext_storagesync/vendored_sdks/__init__.py b/src/storagesync/azext_storagesync/vendored_sdks/__init__.py new file mode 100644 index 00000000000..0260537a02b --- /dev/null +++ b/src/storagesync/azext_storagesync/vendored_sdks/__init__.py @@ -0,0 +1 @@ +__path__ = __import__('pkgutil').extend_path(__path__, __name__) \ No newline at end of file diff --git a/src/storagesync/azext_storagesync/vendored_sdks/storagesync/__init__.py b/src/storagesync/azext_storagesync/vendored_sdks/storagesync/__init__.py new file mode 100644 index 00000000000..b123b2f457a --- /dev/null +++ b/src/storagesync/azext_storagesync/vendored_sdks/storagesync/__init__.py @@ -0,0 +1,19 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from ._configuration import StorageSyncManagementClientConfiguration +from ._storage_sync_management_client import StorageSyncManagementClient +__all__ = ['StorageSyncManagementClient', 'StorageSyncManagementClientConfiguration'] + +from .version import VERSION + +__version__ = VERSION + diff --git a/src/storagesync/azext_storagesync/vendored_sdks/storagesync/_configuration.py b/src/storagesync/azext_storagesync/vendored_sdks/storagesync/_configuration.py new file mode 100644 index 00000000000..4583b00c3ef --- /dev/null +++ b/src/storagesync/azext_storagesync/vendored_sdks/storagesync/_configuration.py @@ -0,0 +1,48 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +from msrestazure import AzureConfiguration + +from .version import VERSION + + +class StorageSyncManagementClientConfiguration(AzureConfiguration): + """Configuration for StorageSyncManagementClient + Note that all parameters used to create this instance are saved as instance + attributes. + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=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 base_url: + base_url = 'https://management.azure.com' + + super(StorageSyncManagementClientConfiguration, self).__init__(base_url) + + # Starting Autorest.Python 4.0.64, make connection pool activated by default + self.keep_alive = True + + self.add_user_agent('azure-mgmt-storagesync/{}'.format(VERSION)) + self.add_user_agent('Azure-SDK-For-Python') + + self.credentials = credentials + self.subscription_id = subscription_id diff --git a/src/storagesync/azext_storagesync/vendored_sdks/storagesync/_storage_sync_management_client.py b/src/storagesync/azext_storagesync/vendored_sdks/storagesync/_storage_sync_management_client.py new file mode 100644 index 00000000000..f5713284dc7 --- /dev/null +++ b/src/storagesync/azext_storagesync/vendored_sdks/storagesync/_storage_sync_management_client.py @@ -0,0 +1,84 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.service_client import SDKClient +from msrest import Serializer, Deserializer + +from ._configuration import StorageSyncManagementClientConfiguration +from .operations import Operations +from .operations import StorageSyncServicesOperations +from .operations import SyncGroupsOperations +from .operations import CloudEndpointsOperations +from .operations import ServerEndpointsOperations +from .operations import RegisteredServersOperations +from .operations import WorkflowsOperations +from .operations import OperationStatusOperations +from . import models + + +class StorageSyncManagementClient(SDKClient): + """Microsoft Storage Sync Service API + + :ivar config: Configuration for client. + :vartype config: StorageSyncManagementClientConfiguration + + :ivar operations: Operations operations + :vartype operations: azure.mgmt.storagesync.operations.Operations + :ivar storage_sync_services: StorageSyncServices operations + :vartype storage_sync_services: azure.mgmt.storagesync.operations.StorageSyncServicesOperations + :ivar sync_groups: SyncGroups operations + :vartype sync_groups: azure.mgmt.storagesync.operations.SyncGroupsOperations + :ivar cloud_endpoints: CloudEndpoints operations + :vartype cloud_endpoints: azure.mgmt.storagesync.operations.CloudEndpointsOperations + :ivar server_endpoints: ServerEndpoints operations + :vartype server_endpoints: azure.mgmt.storagesync.operations.ServerEndpointsOperations + :ivar registered_servers: RegisteredServers operations + :vartype registered_servers: azure.mgmt.storagesync.operations.RegisteredServersOperations + :ivar workflows: Workflows operations + :vartype workflows: azure.mgmt.storagesync.operations.WorkflowsOperations + :ivar operation_status: OperationStatus operations + :vartype operation_status: azure.mgmt.storagesync.operations.OperationStatusOperations + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=None): + + self.config = StorageSyncManagementClientConfiguration(credentials, subscription_id, base_url) + super(StorageSyncManagementClient, self).__init__(self.config.credentials, self.config) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self.api_version = '2019-06-01' + self._serialize = Serializer(client_models) + self._deserialize = Deserializer(client_models) + + self.operations = Operations( + self._client, self.config, self._serialize, self._deserialize) + self.storage_sync_services = StorageSyncServicesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.sync_groups = SyncGroupsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.cloud_endpoints = CloudEndpointsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.server_endpoints = ServerEndpointsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.registered_servers = RegisteredServersOperations( + self._client, self.config, self._serialize, self._deserialize) + self.workflows = WorkflowsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.operation_status = OperationStatusOperations( + self._client, self.config, self._serialize, self._deserialize) diff --git a/src/storagesync/azext_storagesync/vendored_sdks/storagesync/models/__init__.py b/src/storagesync/azext_storagesync/vendored_sdks/storagesync/models/__init__.py new file mode 100644 index 00000000000..60a4df781d8 --- /dev/null +++ b/src/storagesync/azext_storagesync/vendored_sdks/storagesync/models/__init__.py @@ -0,0 +1,167 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +try: + from ._models_py3 import AzureEntityResource + from ._models_py3 import BackupRequest + from ._models_py3 import CheckNameAvailabilityParameters + from ._models_py3 import CheckNameAvailabilityResult + from ._models_py3 import CloudEndpoint + from ._models_py3 import CloudEndpointCreateParameters + from ._models_py3 import OperationDisplayInfo + from ._models_py3 import OperationDisplayResource + from ._models_py3 import OperationEntity + from ._models_py3 import OperationStatus + from ._models_py3 import PostBackupResponse + from ._models_py3 import PostRestoreRequest + from ._models_py3 import PreRestoreRequest + from ._models_py3 import ProxyResource + from ._models_py3 import RecallActionParameters + from ._models_py3 import RegisteredServer + from ._models_py3 import RegisteredServerCreateParameters + from ._models_py3 import Resource + from ._models_py3 import ResourcesMoveInfo + from ._models_py3 import RestoreFileSpec + from ._models_py3 import ServerEndpoint + from ._models_py3 import ServerEndpointCloudTieringStatus + from ._models_py3 import ServerEndpointCreateParameters + from ._models_py3 import ServerEndpointFilesNotSyncingError + from ._models_py3 import ServerEndpointRecallError + from ._models_py3 import ServerEndpointRecallStatus + from ._models_py3 import ServerEndpointSyncActivityStatus + from ._models_py3 import ServerEndpointSyncSessionStatus + from ._models_py3 import ServerEndpointSyncStatus + from ._models_py3 import ServerEndpointUpdateParameters + from ._models_py3 import StorageSyncApiError + from ._models_py3 import StorageSyncError, StorageSyncErrorException + from ._models_py3 import StorageSyncErrorDetails + from ._models_py3 import StorageSyncService + from ._models_py3 import StorageSyncServiceCreateParameters + from ._models_py3 import StorageSyncServiceUpdateParameters + from ._models_py3 import SubscriptionState + from ._models_py3 import SyncGroup + from ._models_py3 import SyncGroupCreateParameters + from ._models_py3 import TrackedResource + from ._models_py3 import TriggerChangeDetectionParameters + from ._models_py3 import TriggerRolloverRequest + from ._models_py3 import Workflow +except (SyntaxError, ImportError): + from ._models import AzureEntityResource + from ._models import BackupRequest + from ._models import CheckNameAvailabilityParameters + from ._models import CheckNameAvailabilityResult + from ._models import CloudEndpoint + from ._models import CloudEndpointCreateParameters + from ._models import OperationDisplayInfo + from ._models import OperationDisplayResource + from ._models import OperationEntity + from ._models import OperationStatus + from ._models import PostBackupResponse + from ._models import PostRestoreRequest + from ._models import PreRestoreRequest + from ._models import ProxyResource + from ._models import RecallActionParameters + from ._models import RegisteredServer + from ._models import RegisteredServerCreateParameters + from ._models import Resource + from ._models import ResourcesMoveInfo + from ._models import RestoreFileSpec + from ._models import ServerEndpoint + from ._models import ServerEndpointCloudTieringStatus + from ._models import ServerEndpointCreateParameters + from ._models import ServerEndpointFilesNotSyncingError + from ._models import ServerEndpointRecallError + from ._models import ServerEndpointRecallStatus + from ._models import ServerEndpointSyncActivityStatus + from ._models import ServerEndpointSyncSessionStatus + from ._models import ServerEndpointSyncStatus + from ._models import ServerEndpointUpdateParameters + from ._models import StorageSyncApiError + from ._models import StorageSyncError, StorageSyncErrorException + from ._models import StorageSyncErrorDetails + from ._models import StorageSyncService + from ._models import StorageSyncServiceCreateParameters + from ._models import StorageSyncServiceUpdateParameters + from ._models import SubscriptionState + from ._models import SyncGroup + from ._models import SyncGroupCreateParameters + from ._models import TrackedResource + from ._models import TriggerChangeDetectionParameters + from ._models import TriggerRolloverRequest + from ._models import Workflow +from ._paged_models import CloudEndpointPaged +from ._paged_models import OperationEntityPaged +from ._paged_models import RegisteredServerPaged +from ._paged_models import ServerEndpointPaged +from ._paged_models import StorageSyncServicePaged +from ._paged_models import SyncGroupPaged +from ._paged_models import WorkflowPaged +from ._storage_sync_management_client_enums import ( + Reason, + ChangeDetectionMode, + NameAvailabilityReason, +) + +__all__ = [ + 'AzureEntityResource', + 'BackupRequest', + 'CheckNameAvailabilityParameters', + 'CheckNameAvailabilityResult', + 'CloudEndpoint', + 'CloudEndpointCreateParameters', + 'OperationDisplayInfo', + 'OperationDisplayResource', + 'OperationEntity', + 'OperationStatus', + 'PostBackupResponse', + 'PostRestoreRequest', + 'PreRestoreRequest', + 'ProxyResource', + 'RecallActionParameters', + 'RegisteredServer', + 'RegisteredServerCreateParameters', + 'Resource', + 'ResourcesMoveInfo', + 'RestoreFileSpec', + 'ServerEndpoint', + 'ServerEndpointCloudTieringStatus', + 'ServerEndpointCreateParameters', + 'ServerEndpointFilesNotSyncingError', + 'ServerEndpointRecallError', + 'ServerEndpointRecallStatus', + 'ServerEndpointSyncActivityStatus', + 'ServerEndpointSyncSessionStatus', + 'ServerEndpointSyncStatus', + 'ServerEndpointUpdateParameters', + 'StorageSyncApiError', + 'StorageSyncError', 'StorageSyncErrorException', + 'StorageSyncErrorDetails', + 'StorageSyncService', + 'StorageSyncServiceCreateParameters', + 'StorageSyncServiceUpdateParameters', + 'SubscriptionState', + 'SyncGroup', + 'SyncGroupCreateParameters', + 'TrackedResource', + 'TriggerChangeDetectionParameters', + 'TriggerRolloverRequest', + 'Workflow', + 'OperationEntityPaged', + 'StorageSyncServicePaged', + 'SyncGroupPaged', + 'CloudEndpointPaged', + 'ServerEndpointPaged', + 'RegisteredServerPaged', + 'WorkflowPaged', + 'Reason', + 'ChangeDetectionMode', + 'NameAvailabilityReason', +] diff --git a/src/storagesync/azext_storagesync/vendored_sdks/storagesync/models/_models.py b/src/storagesync/azext_storagesync/vendored_sdks/storagesync/models/_models.py new file mode 100644 index 00000000000..0f10576b514 --- /dev/null +++ b/src/storagesync/azext_storagesync/vendored_sdks/storagesync/models/_models.py @@ -0,0 +1,1811 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model +from msrest.exceptions import HttpOperationError + + +class Resource(Model): + """Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Resource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + + +class AzureEntityResource(Resource): + """The resource model definition for a Azure Resource Manager resource with an + etag. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :ivar etag: Resource Etag. + :vartype etag: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AzureEntityResource, self).__init__(**kwargs) + self.etag = None + + +class BackupRequest(Model): + """Backup request. + + :param azure_file_share: Azure File Share. + :type azure_file_share: str + """ + + _attribute_map = { + 'azure_file_share': {'key': 'azureFileShare', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(BackupRequest, self).__init__(**kwargs) + self.azure_file_share = kwargs.get('azure_file_share', None) + + +class CheckNameAvailabilityParameters(Model): + """Parameters for a check name availability request. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. The name to check for availability + :type name: str + :ivar type: Required. The resource type. Must be set to + Microsoft.StorageSync/storageSyncServices. Default value: + "Microsoft.StorageSync/storageSyncServices" . + :vartype type: str + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True, 'constant': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + type = "Microsoft.StorageSync/storageSyncServices" + + def __init__(self, **kwargs): + super(CheckNameAvailabilityParameters, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + + +class CheckNameAvailabilityResult(Model): + """The CheckNameAvailability operation response. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name_available: Gets a boolean value that indicates whether the name + is available for you to use. If true, the name is available. If false, the + name has already been taken or invalid and cannot be used. + :vartype name_available: bool + :ivar reason: Gets the reason that a Storage Sync Service name could not + be used. The Reason element is only returned if NameAvailable is false. + Possible values include: 'Invalid', 'AlreadyExists' + :vartype reason: str or + ~azure.mgmt.storagesync.models.NameAvailabilityReason + :ivar message: Gets an error message explaining the Reason value in more + detail. + :vartype message: str + """ + + _validation = { + 'name_available': {'readonly': True}, + 'reason': {'readonly': True}, + 'message': {'readonly': True}, + } + + _attribute_map = { + 'name_available': {'key': 'nameAvailable', 'type': 'bool'}, + 'reason': {'key': 'reason', 'type': 'NameAvailabilityReason'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(CheckNameAvailabilityResult, self).__init__(**kwargs) + self.name_available = None + self.reason = None + self.message = None + + +class ProxyResource(Resource): + """The resource model definition for a ARM proxy resource. It will have + everything other than required location and tags. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ProxyResource, self).__init__(**kwargs) + + +class CloudEndpoint(ProxyResource): + """Cloud Endpoint object. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :param storage_account_resource_id: Storage Account Resource Id + :type storage_account_resource_id: str + :param azure_file_share_name: Azure file share name + :type azure_file_share_name: str + :param storage_account_tenant_id: Storage Account Tenant Id + :type storage_account_tenant_id: str + :param partnership_id: Partnership Id + :type partnership_id: str + :param friendly_name: Friendly Name + :type friendly_name: str + :ivar backup_enabled: Backup Enabled + :vartype backup_enabled: str + :param provisioning_state: CloudEndpoint Provisioning State + :type provisioning_state: str + :param last_workflow_id: CloudEndpoint lastWorkflowId + :type last_workflow_id: str + :param last_operation_name: Resource Last Operation Name + :type last_operation_name: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'backup_enabled': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'storage_account_resource_id': {'key': 'properties.storageAccountResourceId', 'type': 'str'}, + 'azure_file_share_name': {'key': 'properties.azureFileShareName', 'type': 'str'}, + 'storage_account_tenant_id': {'key': 'properties.storageAccountTenantId', 'type': 'str'}, + 'partnership_id': {'key': 'properties.partnershipId', 'type': 'str'}, + 'friendly_name': {'key': 'properties.friendlyName', 'type': 'str'}, + 'backup_enabled': {'key': 'properties.backupEnabled', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'last_workflow_id': {'key': 'properties.lastWorkflowId', 'type': 'str'}, + 'last_operation_name': {'key': 'properties.lastOperationName', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(CloudEndpoint, self).__init__(**kwargs) + self.storage_account_resource_id = kwargs.get('storage_account_resource_id', None) + self.azure_file_share_name = kwargs.get('azure_file_share_name', None) + self.storage_account_tenant_id = kwargs.get('storage_account_tenant_id', None) + self.partnership_id = kwargs.get('partnership_id', None) + self.friendly_name = kwargs.get('friendly_name', None) + self.backup_enabled = None + self.provisioning_state = kwargs.get('provisioning_state', None) + self.last_workflow_id = kwargs.get('last_workflow_id', None) + self.last_operation_name = kwargs.get('last_operation_name', None) + + +class CloudEndpointCreateParameters(ProxyResource): + """The parameters used when creating a cloud endpoint. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :param storage_account_resource_id: Storage Account Resource Id + :type storage_account_resource_id: str + :param azure_file_share_name: Azure file share name + :type azure_file_share_name: str + :param storage_account_tenant_id: Storage Account Tenant Id + :type storage_account_tenant_id: str + :param friendly_name: Friendly Name + :type friendly_name: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'storage_account_resource_id': {'key': 'properties.storageAccountResourceId', 'type': 'str'}, + 'azure_file_share_name': {'key': 'properties.azureFileShareName', 'type': 'str'}, + 'storage_account_tenant_id': {'key': 'properties.storageAccountTenantId', 'type': 'str'}, + 'friendly_name': {'key': 'properties.friendlyName', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(CloudEndpointCreateParameters, self).__init__(**kwargs) + self.storage_account_resource_id = kwargs.get('storage_account_resource_id', None) + self.azure_file_share_name = kwargs.get('azure_file_share_name', None) + self.storage_account_tenant_id = kwargs.get('storage_account_tenant_id', None) + self.friendly_name = kwargs.get('friendly_name', None) + + +class CloudError(Model): + """CloudError. + """ + + _attribute_map = { + } + + +class OperationDisplayInfo(Model): + """The operation supported by storage sync. + + :param description: The description of the operation. + :type description: str + :param operation: The action that users can perform, based on their + permission level. + :type operation: str + :param provider: Service provider: Microsoft StorageSync. + :type provider: str + :param resource: Resource on which the operation is performed. + :type resource: str + """ + + _attribute_map = { + 'description': {'key': 'description', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(OperationDisplayInfo, self).__init__(**kwargs) + self.description = kwargs.get('description', None) + self.operation = kwargs.get('operation', None) + self.provider = kwargs.get('provider', None) + self.resource = kwargs.get('resource', None) + + +class OperationDisplayResource(Model): + """Operation Display Resource object. + + :param provider: Operation Display Resource Provider. + :type provider: str + :param resource: Operation Display Resource. + :type resource: str + :param operation: Operation Display Resource Operation. + :type operation: str + :param description: Operation Display Resource Description. + :type description: str + """ + + _attribute_map = { + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(OperationDisplayResource, self).__init__(**kwargs) + self.provider = kwargs.get('provider', None) + self.resource = kwargs.get('resource', None) + self.operation = kwargs.get('operation', None) + self.description = kwargs.get('description', None) + + +class OperationEntity(Model): + """The operation supported by storage sync. + + :param name: Operation name: {provider}/{resource}/{operation}. + :type name: str + :param display: The operation supported by storage sync. + :type display: ~azure.mgmt.storagesync.models.OperationDisplayInfo + :param origin: The origin. + :type origin: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'OperationDisplayInfo'}, + 'origin': {'key': 'origin', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(OperationEntity, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.display = kwargs.get('display', None) + self.origin = kwargs.get('origin', None) + + +class OperationStatus(Model): + """Operation status object. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name: Operation Id + :vartype name: str + :ivar status: Operation status + :vartype status: str + :ivar start_time: Start time of the operation + :vartype start_time: datetime + :ivar end_time: End time of the operation + :vartype end_time: datetime + :ivar error: Error details. + :vartype error: ~azure.mgmt.storagesync.models.StorageSyncApiError + """ + + _validation = { + 'name': {'readonly': True}, + 'status': {'readonly': True}, + 'start_time': {'readonly': True}, + 'end_time': {'readonly': True}, + 'error': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, + 'error': {'key': 'error', 'type': 'StorageSyncApiError'}, + } + + def __init__(self, **kwargs): + super(OperationStatus, self).__init__(**kwargs) + self.name = None + self.status = None + self.start_time = None + self.end_time = None + self.error = None + + +class PostBackupResponse(Model): + """Post Backup Response. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar cloud_endpoint_name: cloud endpoint Name. + :vartype cloud_endpoint_name: str + """ + + _validation = { + 'cloud_endpoint_name': {'readonly': True}, + } + + _attribute_map = { + 'cloud_endpoint_name': {'key': 'backupMetadata.cloudEndpointName', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PostBackupResponse, self).__init__(**kwargs) + self.cloud_endpoint_name = None + + +class PostRestoreRequest(Model): + """Post Restore Request. + + :param partition: Post Restore partition. + :type partition: str + :param replica_group: Post Restore replica group. + :type replica_group: str + :param request_id: Post Restore request id. + :type request_id: str + :param azure_file_share_uri: Post Restore Azure file share uri. + :type azure_file_share_uri: str + :param status: Post Restore Azure status. + :type status: str + :param source_azure_file_share_uri: Post Restore Azure source azure file + share uri. + :type source_azure_file_share_uri: str + :param failed_file_list: Post Restore Azure failed file list. + :type failed_file_list: str + :param restore_file_spec: Post Restore restore file spec array. + :type restore_file_spec: + list[~azure.mgmt.storagesync.models.RestoreFileSpec] + """ + + _attribute_map = { + 'partition': {'key': 'partition', 'type': 'str'}, + 'replica_group': {'key': 'replicaGroup', 'type': 'str'}, + 'request_id': {'key': 'requestId', 'type': 'str'}, + 'azure_file_share_uri': {'key': 'azureFileShareUri', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + 'source_azure_file_share_uri': {'key': 'sourceAzureFileShareUri', 'type': 'str'}, + 'failed_file_list': {'key': 'failedFileList', 'type': 'str'}, + 'restore_file_spec': {'key': 'restoreFileSpec', 'type': '[RestoreFileSpec]'}, + } + + def __init__(self, **kwargs): + super(PostRestoreRequest, self).__init__(**kwargs) + self.partition = kwargs.get('partition', None) + self.replica_group = kwargs.get('replica_group', None) + self.request_id = kwargs.get('request_id', None) + self.azure_file_share_uri = kwargs.get('azure_file_share_uri', None) + self.status = kwargs.get('status', None) + self.source_azure_file_share_uri = kwargs.get('source_azure_file_share_uri', None) + self.failed_file_list = kwargs.get('failed_file_list', None) + self.restore_file_spec = kwargs.get('restore_file_spec', None) + + +class PreRestoreRequest(Model): + """Pre Restore request object. + + :param partition: Pre Restore partition. + :type partition: str + :param replica_group: Pre Restore replica group. + :type replica_group: str + :param request_id: Pre Restore request id. + :type request_id: str + :param azure_file_share_uri: Pre Restore Azure file share uri. + :type azure_file_share_uri: str + :param status: Pre Restore Azure status. + :type status: str + :param source_azure_file_share_uri: Pre Restore Azure source azure file + share uri. + :type source_azure_file_share_uri: str + :param backup_metadata_property_bag: Pre Restore backup metadata property + bag. + :type backup_metadata_property_bag: str + :param restore_file_spec: Pre Restore restore file spec array. + :type restore_file_spec: + list[~azure.mgmt.storagesync.models.RestoreFileSpec] + :param pause_wait_for_sync_drain_time_period_in_seconds: Pre Restore pause + wait for sync drain time period in seconds. + :type pause_wait_for_sync_drain_time_period_in_seconds: int + """ + + _attribute_map = { + 'partition': {'key': 'partition', 'type': 'str'}, + 'replica_group': {'key': 'replicaGroup', 'type': 'str'}, + 'request_id': {'key': 'requestId', 'type': 'str'}, + 'azure_file_share_uri': {'key': 'azureFileShareUri', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + 'source_azure_file_share_uri': {'key': 'sourceAzureFileShareUri', 'type': 'str'}, + 'backup_metadata_property_bag': {'key': 'backupMetadataPropertyBag', 'type': 'str'}, + 'restore_file_spec': {'key': 'restoreFileSpec', 'type': '[RestoreFileSpec]'}, + 'pause_wait_for_sync_drain_time_period_in_seconds': {'key': 'pauseWaitForSyncDrainTimePeriodInSeconds', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(PreRestoreRequest, self).__init__(**kwargs) + self.partition = kwargs.get('partition', None) + self.replica_group = kwargs.get('replica_group', None) + self.request_id = kwargs.get('request_id', None) + self.azure_file_share_uri = kwargs.get('azure_file_share_uri', None) + self.status = kwargs.get('status', None) + self.source_azure_file_share_uri = kwargs.get('source_azure_file_share_uri', None) + self.backup_metadata_property_bag = kwargs.get('backup_metadata_property_bag', None) + self.restore_file_spec = kwargs.get('restore_file_spec', None) + self.pause_wait_for_sync_drain_time_period_in_seconds = kwargs.get('pause_wait_for_sync_drain_time_period_in_seconds', None) + + +class RecallActionParameters(Model): + """The parameters used when calling recall action on server endpoint. + + :param pattern: Pattern of the files. + :type pattern: str + :param recall_path: Recall path. + :type recall_path: str + """ + + _attribute_map = { + 'pattern': {'key': 'pattern', 'type': 'str'}, + 'recall_path': {'key': 'recallPath', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(RecallActionParameters, self).__init__(**kwargs) + self.pattern = kwargs.get('pattern', None) + self.recall_path = kwargs.get('recall_path', None) + + +class RegisteredServer(ProxyResource): + """Registered Server resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :param server_certificate: Registered Server Certificate + :type server_certificate: str + :param agent_version: Registered Server Agent Version + :type agent_version: str + :param server_os_version: Registered Server OS Version + :type server_os_version: str + :param server_management_error_code: Registered Server Management Error + Code + :type server_management_error_code: int + :param last_heart_beat: Registered Server last heart beat + :type last_heart_beat: str + :param provisioning_state: Registered Server Provisioning State + :type provisioning_state: str + :param server_role: Registered Server serverRole + :type server_role: str + :param cluster_id: Registered Server clusterId + :type cluster_id: str + :param cluster_name: Registered Server clusterName + :type cluster_name: str + :param server_id: Registered Server serverId + :type server_id: str + :param storage_sync_service_uid: Registered Server storageSyncServiceUid + :type storage_sync_service_uid: str + :param last_workflow_id: Registered Server lastWorkflowId + :type last_workflow_id: str + :param last_operation_name: Resource Last Operation Name + :type last_operation_name: str + :param discovery_endpoint_uri: Resource discoveryEndpointUri + :type discovery_endpoint_uri: str + :param resource_location: Resource Location + :type resource_location: str + :param service_location: Service Location + :type service_location: str + :param friendly_name: Friendly Name + :type friendly_name: str + :param management_endpoint_uri: Management Endpoint Uri + :type management_endpoint_uri: str + :param monitoring_configuration: Monitoring Configuration + :type monitoring_configuration: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'server_certificate': {'key': 'properties.serverCertificate', 'type': 'str'}, + 'agent_version': {'key': 'properties.agentVersion', 'type': 'str'}, + 'server_os_version': {'key': 'properties.serverOSVersion', 'type': 'str'}, + 'server_management_error_code': {'key': 'properties.serverManagementErrorCode', 'type': 'int'}, + 'last_heart_beat': {'key': 'properties.lastHeartBeat', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'server_role': {'key': 'properties.serverRole', 'type': 'str'}, + 'cluster_id': {'key': 'properties.clusterId', 'type': 'str'}, + 'cluster_name': {'key': 'properties.clusterName', 'type': 'str'}, + 'server_id': {'key': 'properties.serverId', 'type': 'str'}, + 'storage_sync_service_uid': {'key': 'properties.storageSyncServiceUid', 'type': 'str'}, + 'last_workflow_id': {'key': 'properties.lastWorkflowId', 'type': 'str'}, + 'last_operation_name': {'key': 'properties.lastOperationName', 'type': 'str'}, + 'discovery_endpoint_uri': {'key': 'properties.discoveryEndpointUri', 'type': 'str'}, + 'resource_location': {'key': 'properties.resourceLocation', 'type': 'str'}, + 'service_location': {'key': 'properties.serviceLocation', 'type': 'str'}, + 'friendly_name': {'key': 'properties.friendlyName', 'type': 'str'}, + 'management_endpoint_uri': {'key': 'properties.managementEndpointUri', 'type': 'str'}, + 'monitoring_configuration': {'key': 'properties.monitoringConfiguration', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(RegisteredServer, self).__init__(**kwargs) + self.server_certificate = kwargs.get('server_certificate', None) + self.agent_version = kwargs.get('agent_version', None) + self.server_os_version = kwargs.get('server_os_version', None) + self.server_management_error_code = kwargs.get('server_management_error_code', None) + self.last_heart_beat = kwargs.get('last_heart_beat', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.server_role = kwargs.get('server_role', None) + self.cluster_id = kwargs.get('cluster_id', None) + self.cluster_name = kwargs.get('cluster_name', None) + self.server_id = kwargs.get('server_id', None) + self.storage_sync_service_uid = kwargs.get('storage_sync_service_uid', None) + self.last_workflow_id = kwargs.get('last_workflow_id', None) + self.last_operation_name = kwargs.get('last_operation_name', None) + self.discovery_endpoint_uri = kwargs.get('discovery_endpoint_uri', None) + self.resource_location = kwargs.get('resource_location', None) + self.service_location = kwargs.get('service_location', None) + self.friendly_name = kwargs.get('friendly_name', None) + self.management_endpoint_uri = kwargs.get('management_endpoint_uri', None) + self.monitoring_configuration = kwargs.get('monitoring_configuration', None) + + +class RegisteredServerCreateParameters(ProxyResource): + """The parameters used when creating a registered server. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :param server_certificate: Registered Server Certificate + :type server_certificate: str + :param agent_version: Registered Server Agent Version + :type agent_version: str + :param server_os_version: Registered Server OS Version + :type server_os_version: str + :param last_heart_beat: Registered Server last heart beat + :type last_heart_beat: str + :param server_role: Registered Server serverRole + :type server_role: str + :param cluster_id: Registered Server clusterId + :type cluster_id: str + :param cluster_name: Registered Server clusterName + :type cluster_name: str + :param server_id: Registered Server serverId + :type server_id: str + :param friendly_name: Friendly Name + :type friendly_name: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'server_certificate': {'key': 'properties.serverCertificate', 'type': 'str'}, + 'agent_version': {'key': 'properties.agentVersion', 'type': 'str'}, + 'server_os_version': {'key': 'properties.serverOSVersion', 'type': 'str'}, + 'last_heart_beat': {'key': 'properties.lastHeartBeat', 'type': 'str'}, + 'server_role': {'key': 'properties.serverRole', 'type': 'str'}, + 'cluster_id': {'key': 'properties.clusterId', 'type': 'str'}, + 'cluster_name': {'key': 'properties.clusterName', 'type': 'str'}, + 'server_id': {'key': 'properties.serverId', 'type': 'str'}, + 'friendly_name': {'key': 'properties.friendlyName', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(RegisteredServerCreateParameters, self).__init__(**kwargs) + self.server_certificate = kwargs.get('server_certificate', None) + self.agent_version = kwargs.get('agent_version', None) + self.server_os_version = kwargs.get('server_os_version', None) + self.last_heart_beat = kwargs.get('last_heart_beat', None) + self.server_role = kwargs.get('server_role', None) + self.cluster_id = kwargs.get('cluster_id', None) + self.cluster_name = kwargs.get('cluster_name', None) + self.server_id = kwargs.get('server_id', None) + self.friendly_name = kwargs.get('friendly_name', None) + + +class ResourcesMoveInfo(Model): + """Resource Move Info. + + :param target_resource_group: Target resource group. + :type target_resource_group: str + :param resources: Collection of Resources. + :type resources: list[str] + """ + + _attribute_map = { + 'target_resource_group': {'key': 'targetResourceGroup', 'type': 'str'}, + 'resources': {'key': 'resources', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(ResourcesMoveInfo, self).__init__(**kwargs) + self.target_resource_group = kwargs.get('target_resource_group', None) + self.resources = kwargs.get('resources', None) + + +class RestoreFileSpec(Model): + """Restore file spec. + + :param path: Restore file spec path + :type path: str + :param isdir: Restore file spec isdir + :type isdir: bool + """ + + _attribute_map = { + 'path': {'key': 'path', 'type': 'str'}, + 'isdir': {'key': 'isdir', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(RestoreFileSpec, self).__init__(**kwargs) + self.path = kwargs.get('path', None) + self.isdir = kwargs.get('isdir', None) + + +class ServerEndpoint(ProxyResource): + """Server Endpoint object. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :param server_local_path: Server Local path. + :type server_local_path: str + :param cloud_tiering: Cloud Tiering. Possible values include: 'on', 'off' + :type cloud_tiering: str or ~azure.mgmt.storagesync.models.enum + :param volume_free_space_percent: Level of free space to be maintained by + Cloud Tiering if it is enabled. + :type volume_free_space_percent: int + :param tier_files_older_than_days: Tier files older than days. + :type tier_files_older_than_days: int + :param friendly_name: Friendly Name + :type friendly_name: str + :param server_resource_id: Server Resource Id. + :type server_resource_id: str + :ivar provisioning_state: ServerEndpoint Provisioning State + :vartype provisioning_state: str + :ivar last_workflow_id: ServerEndpoint lastWorkflowId + :vartype last_workflow_id: str + :ivar last_operation_name: Resource Last Operation Name + :vartype last_operation_name: str + :ivar sync_status: Server Endpoint sync status + :vartype sync_status: + ~azure.mgmt.storagesync.models.ServerEndpointSyncStatus + :param offline_data_transfer: Offline data transfer. Possible values + include: 'on', 'off' + :type offline_data_transfer: str or ~azure.mgmt.storagesync.models.enum + :ivar offline_data_transfer_storage_account_resource_id: Offline data + transfer storage account resource ID + :vartype offline_data_transfer_storage_account_resource_id: str + :ivar offline_data_transfer_storage_account_tenant_id: Offline data + transfer storage account tenant ID + :vartype offline_data_transfer_storage_account_tenant_id: str + :param offline_data_transfer_share_name: Offline data transfer share name + :type offline_data_transfer_share_name: str + :ivar cloud_tiering_status: Cloud tiering status. Only populated if cloud + tiering is enabled. + :vartype cloud_tiering_status: + ~azure.mgmt.storagesync.models.ServerEndpointCloudTieringStatus + :ivar recall_status: Recall status. Only populated if cloud tiering is + enabled. + :vartype recall_status: + ~azure.mgmt.storagesync.models.ServerEndpointRecallStatus + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'volume_free_space_percent': {'maximum': 100, 'minimum': 0}, + 'tier_files_older_than_days': {'maximum': 2147483647, 'minimum': 0}, + 'provisioning_state': {'readonly': True}, + 'last_workflow_id': {'readonly': True}, + 'last_operation_name': {'readonly': True}, + 'sync_status': {'readonly': True}, + 'offline_data_transfer_storage_account_resource_id': {'readonly': True}, + 'offline_data_transfer_storage_account_tenant_id': {'readonly': True}, + 'cloud_tiering_status': {'readonly': True}, + 'recall_status': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'server_local_path': {'key': 'properties.serverLocalPath', 'type': 'str'}, + 'cloud_tiering': {'key': 'properties.cloudTiering', 'type': 'str'}, + 'volume_free_space_percent': {'key': 'properties.volumeFreeSpacePercent', 'type': 'int'}, + 'tier_files_older_than_days': {'key': 'properties.tierFilesOlderThanDays', 'type': 'int'}, + 'friendly_name': {'key': 'properties.friendlyName', 'type': 'str'}, + 'server_resource_id': {'key': 'properties.serverResourceId', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'last_workflow_id': {'key': 'properties.lastWorkflowId', 'type': 'str'}, + 'last_operation_name': {'key': 'properties.lastOperationName', 'type': 'str'}, + 'sync_status': {'key': 'properties.syncStatus', 'type': 'ServerEndpointSyncStatus'}, + 'offline_data_transfer': {'key': 'properties.offlineDataTransfer', 'type': 'str'}, + 'offline_data_transfer_storage_account_resource_id': {'key': 'properties.offlineDataTransferStorageAccountResourceId', 'type': 'str'}, + 'offline_data_transfer_storage_account_tenant_id': {'key': 'properties.offlineDataTransferStorageAccountTenantId', 'type': 'str'}, + 'offline_data_transfer_share_name': {'key': 'properties.offlineDataTransferShareName', 'type': 'str'}, + 'cloud_tiering_status': {'key': 'properties.cloudTieringStatus', 'type': 'ServerEndpointCloudTieringStatus'}, + 'recall_status': {'key': 'properties.recallStatus', 'type': 'ServerEndpointRecallStatus'}, + } + + def __init__(self, **kwargs): + super(ServerEndpoint, self).__init__(**kwargs) + self.server_local_path = kwargs.get('server_local_path', None) + self.cloud_tiering = kwargs.get('cloud_tiering', None) + self.volume_free_space_percent = kwargs.get('volume_free_space_percent', None) + self.tier_files_older_than_days = kwargs.get('tier_files_older_than_days', None) + self.friendly_name = kwargs.get('friendly_name', None) + self.server_resource_id = kwargs.get('server_resource_id', None) + self.provisioning_state = None + self.last_workflow_id = None + self.last_operation_name = None + self.sync_status = None + self.offline_data_transfer = kwargs.get('offline_data_transfer', None) + self.offline_data_transfer_storage_account_resource_id = None + self.offline_data_transfer_storage_account_tenant_id = None + self.offline_data_transfer_share_name = kwargs.get('offline_data_transfer_share_name', None) + self.cloud_tiering_status = None + self.recall_status = None + + +class ServerEndpointCloudTieringStatus(Model): + """Server endpoint cloud tiering status object. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar health: Cloud tiering health state. Possible values include: + 'Healthy', 'Error' + :vartype health: str or ~azure.mgmt.storagesync.models.enum + :ivar last_updated_timestamp: Last updated timestamp + :vartype last_updated_timestamp: datetime + :ivar last_cloud_tiering_result: Last cloud tiering result (HResult) + :vartype last_cloud_tiering_result: int + :ivar last_success_timestamp: Last cloud tiering success timestamp + :vartype last_success_timestamp: datetime + """ + + _validation = { + 'health': {'readonly': True}, + 'last_updated_timestamp': {'readonly': True}, + 'last_cloud_tiering_result': {'readonly': True}, + 'last_success_timestamp': {'readonly': True}, + } + + _attribute_map = { + 'health': {'key': 'health', 'type': 'str'}, + 'last_updated_timestamp': {'key': 'lastUpdatedTimestamp', 'type': 'iso-8601'}, + 'last_cloud_tiering_result': {'key': 'lastCloudTieringResult', 'type': 'int'}, + 'last_success_timestamp': {'key': 'lastSuccessTimestamp', 'type': 'iso-8601'}, + } + + def __init__(self, **kwargs): + super(ServerEndpointCloudTieringStatus, self).__init__(**kwargs) + self.health = None + self.last_updated_timestamp = None + self.last_cloud_tiering_result = None + self.last_success_timestamp = None + + +class ServerEndpointCreateParameters(ProxyResource): + """The parameters used when creating a server endpoint. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :param server_local_path: Server Local path. + :type server_local_path: str + :param cloud_tiering: Cloud Tiering. Possible values include: 'on', 'off' + :type cloud_tiering: str or ~azure.mgmt.storagesync.models.enum + :param volume_free_space_percent: Level of free space to be maintained by + Cloud Tiering if it is enabled. + :type volume_free_space_percent: int + :param tier_files_older_than_days: Tier files older than days. + :type tier_files_older_than_days: int + :param friendly_name: Friendly Name + :type friendly_name: str + :param server_resource_id: Server Resource Id. + :type server_resource_id: str + :param offline_data_transfer: Offline data transfer. Possible values + include: 'on', 'off' + :type offline_data_transfer: str or ~azure.mgmt.storagesync.models.enum + :param offline_data_transfer_share_name: Offline data transfer share name + :type offline_data_transfer_share_name: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'volume_free_space_percent': {'maximum': 100, 'minimum': 0}, + 'tier_files_older_than_days': {'maximum': 2147483647, 'minimum': 0}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'server_local_path': {'key': 'properties.serverLocalPath', 'type': 'str'}, + 'cloud_tiering': {'key': 'properties.cloudTiering', 'type': 'str'}, + 'volume_free_space_percent': {'key': 'properties.volumeFreeSpacePercent', 'type': 'int'}, + 'tier_files_older_than_days': {'key': 'properties.tierFilesOlderThanDays', 'type': 'int'}, + 'friendly_name': {'key': 'properties.friendlyName', 'type': 'str'}, + 'server_resource_id': {'key': 'properties.serverResourceId', 'type': 'str'}, + 'offline_data_transfer': {'key': 'properties.offlineDataTransfer', 'type': 'str'}, + 'offline_data_transfer_share_name': {'key': 'properties.offlineDataTransferShareName', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ServerEndpointCreateParameters, self).__init__(**kwargs) + self.server_local_path = kwargs.get('server_local_path', None) + self.cloud_tiering = kwargs.get('cloud_tiering', None) + self.volume_free_space_percent = kwargs.get('volume_free_space_percent', None) + self.tier_files_older_than_days = kwargs.get('tier_files_older_than_days', None) + self.friendly_name = kwargs.get('friendly_name', None) + self.server_resource_id = kwargs.get('server_resource_id', None) + self.offline_data_transfer = kwargs.get('offline_data_transfer', None) + self.offline_data_transfer_share_name = kwargs.get('offline_data_transfer_share_name', None) + + +class ServerEndpointFilesNotSyncingError(Model): + """Files not syncing error object. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar error_code: Error code (HResult) + :vartype error_code: int + :ivar persistent_count: Count of persistent files not syncing with the + specified error code + :vartype persistent_count: long + :ivar transient_count: Count of transient files not syncing with the + specified error code + :vartype transient_count: long + """ + + _validation = { + 'error_code': {'readonly': True}, + 'persistent_count': {'readonly': True, 'minimum': 0}, + 'transient_count': {'readonly': True, 'minimum': 0}, + } + + _attribute_map = { + 'error_code': {'key': 'errorCode', 'type': 'int'}, + 'persistent_count': {'key': 'persistentCount', 'type': 'long'}, + 'transient_count': {'key': 'transientCount', 'type': 'long'}, + } + + def __init__(self, **kwargs): + super(ServerEndpointFilesNotSyncingError, self).__init__(**kwargs) + self.error_code = None + self.persistent_count = None + self.transient_count = None + + +class ServerEndpointRecallError(Model): + """Server endpoint recall error object. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar error_code: Error code (HResult) + :vartype error_code: int + :ivar count: Count of occurences of the error + :vartype count: long + """ + + _validation = { + 'error_code': {'readonly': True}, + 'count': {'readonly': True, 'minimum': 0}, + } + + _attribute_map = { + 'error_code': {'key': 'errorCode', 'type': 'int'}, + 'count': {'key': 'count', 'type': 'long'}, + } + + def __init__(self, **kwargs): + super(ServerEndpointRecallError, self).__init__(**kwargs) + self.error_code = None + self.count = None + + +class ServerEndpointRecallStatus(Model): + """Server endpoint recall status object. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar last_updated_timestamp: Last updated timestamp + :vartype last_updated_timestamp: datetime + :ivar total_recall_errors_count: Total count of recall errors. + :vartype total_recall_errors_count: long + :ivar recall_errors: Array of recall errors + :vartype recall_errors: + list[~azure.mgmt.storagesync.models.ServerEndpointRecallError] + """ + + _validation = { + 'last_updated_timestamp': {'readonly': True}, + 'total_recall_errors_count': {'readonly': True, 'minimum': 0}, + 'recall_errors': {'readonly': True}, + } + + _attribute_map = { + 'last_updated_timestamp': {'key': 'lastUpdatedTimestamp', 'type': 'iso-8601'}, + 'total_recall_errors_count': {'key': 'totalRecallErrorsCount', 'type': 'long'}, + 'recall_errors': {'key': 'recallErrors', 'type': '[ServerEndpointRecallError]'}, + } + + def __init__(self, **kwargs): + super(ServerEndpointRecallStatus, self).__init__(**kwargs) + self.last_updated_timestamp = None + self.total_recall_errors_count = None + self.recall_errors = None + + +class ServerEndpointSyncActivityStatus(Model): + """Sync Session status object. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar timestamp: Timestamp when properties were updated + :vartype timestamp: datetime + :ivar per_item_error_count: Per item error count + :vartype per_item_error_count: long + :ivar applied_item_count: Applied item count. + :vartype applied_item_count: long + :ivar total_item_count: Total item count (if available) + :vartype total_item_count: long + :ivar applied_bytes: Applied bytes + :vartype applied_bytes: long + :ivar total_bytes: Total bytes (if available) + :vartype total_bytes: long + """ + + _validation = { + 'timestamp': {'readonly': True}, + 'per_item_error_count': {'readonly': True, 'minimum': 0}, + 'applied_item_count': {'readonly': True, 'minimum': 0}, + 'total_item_count': {'readonly': True, 'minimum': 0}, + 'applied_bytes': {'readonly': True, 'minimum': 0}, + 'total_bytes': {'readonly': True, 'minimum': 0}, + } + + _attribute_map = { + 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, + 'per_item_error_count': {'key': 'perItemErrorCount', 'type': 'long'}, + 'applied_item_count': {'key': 'appliedItemCount', 'type': 'long'}, + 'total_item_count': {'key': 'totalItemCount', 'type': 'long'}, + 'applied_bytes': {'key': 'appliedBytes', 'type': 'long'}, + 'total_bytes': {'key': 'totalBytes', 'type': 'long'}, + } + + def __init__(self, **kwargs): + super(ServerEndpointSyncActivityStatus, self).__init__(**kwargs) + self.timestamp = None + self.per_item_error_count = None + self.applied_item_count = None + self.total_item_count = None + self.applied_bytes = None + self.total_bytes = None + + +class ServerEndpointSyncSessionStatus(Model): + """Sync Session status object. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar last_sync_result: Last sync result (HResult) + :vartype last_sync_result: int + :ivar last_sync_timestamp: Last sync timestamp + :vartype last_sync_timestamp: datetime + :ivar last_sync_success_timestamp: Last sync success timestamp + :vartype last_sync_success_timestamp: datetime + :ivar last_sync_per_item_error_count: Last sync per item error count. + :vartype last_sync_per_item_error_count: long + :ivar persistent_files_not_syncing_count: Count of persistent files not + syncing. + :vartype persistent_files_not_syncing_count: long + :ivar transient_files_not_syncing_count: Count of transient files not + syncing. + :vartype transient_files_not_syncing_count: long + :ivar files_not_syncing_errors: Array of per-item errors coming from the + last sync session. + :vartype files_not_syncing_errors: + list[~azure.mgmt.storagesync.models.ServerEndpointFilesNotSyncingError] + """ + + _validation = { + 'last_sync_result': {'readonly': True}, + 'last_sync_timestamp': {'readonly': True}, + 'last_sync_success_timestamp': {'readonly': True}, + 'last_sync_per_item_error_count': {'readonly': True, 'minimum': 0}, + 'persistent_files_not_syncing_count': {'readonly': True, 'minimum': 0}, + 'transient_files_not_syncing_count': {'readonly': True, 'minimum': 0}, + 'files_not_syncing_errors': {'readonly': True}, + } + + _attribute_map = { + 'last_sync_result': {'key': 'lastSyncResult', 'type': 'int'}, + 'last_sync_timestamp': {'key': 'lastSyncTimestamp', 'type': 'iso-8601'}, + 'last_sync_success_timestamp': {'key': 'lastSyncSuccessTimestamp', 'type': 'iso-8601'}, + 'last_sync_per_item_error_count': {'key': 'lastSyncPerItemErrorCount', 'type': 'long'}, + 'persistent_files_not_syncing_count': {'key': 'persistentFilesNotSyncingCount', 'type': 'long'}, + 'transient_files_not_syncing_count': {'key': 'transientFilesNotSyncingCount', 'type': 'long'}, + 'files_not_syncing_errors': {'key': 'filesNotSyncingErrors', 'type': '[ServerEndpointFilesNotSyncingError]'}, + } + + def __init__(self, **kwargs): + super(ServerEndpointSyncSessionStatus, self).__init__(**kwargs) + self.last_sync_result = None + self.last_sync_timestamp = None + self.last_sync_success_timestamp = None + self.last_sync_per_item_error_count = None + self.persistent_files_not_syncing_count = None + self.transient_files_not_syncing_count = None + self.files_not_syncing_errors = None + + +class ServerEndpointSyncStatus(Model): + """Server Endpoint sync status. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar download_health: Download Health Status. Possible values include: + 'Healthy', 'Error', 'SyncBlockedForRestore', + 'SyncBlockedForChangeDetectionPostRestore', 'NoActivity' + :vartype download_health: str or ~azure.mgmt.storagesync.models.enum + :ivar upload_health: Upload Health Status. Possible values include: + 'Healthy', 'Error', 'SyncBlockedForRestore', + 'SyncBlockedForChangeDetectionPostRestore', 'NoActivity' + :vartype upload_health: str or ~azure.mgmt.storagesync.models.enum + :ivar combined_health: Combined Health Status. Possible values include: + 'Healthy', 'Error', 'SyncBlockedForRestore', + 'SyncBlockedForChangeDetectionPostRestore', 'NoActivity' + :vartype combined_health: str or ~azure.mgmt.storagesync.models.enum + :ivar sync_activity: Sync activity. Possible values include: 'Upload', + 'Download', 'UploadAndDownload' + :vartype sync_activity: str or ~azure.mgmt.storagesync.models.enum + :ivar total_persistent_files_not_syncing_count: Total count of persistent + files not syncing (combined upload + download). + :vartype total_persistent_files_not_syncing_count: long + :ivar last_updated_timestamp: Last Updated Timestamp + :vartype last_updated_timestamp: datetime + :ivar upload_status: Upload Status + :vartype upload_status: + ~azure.mgmt.storagesync.models.ServerEndpointSyncSessionStatus + :ivar download_status: Download Status + :vartype download_status: + ~azure.mgmt.storagesync.models.ServerEndpointSyncSessionStatus + :ivar upload_activity: Upload sync activity + :vartype upload_activity: + ~azure.mgmt.storagesync.models.ServerEndpointSyncActivityStatus + :ivar download_activity: Download sync activity + :vartype download_activity: + ~azure.mgmt.storagesync.models.ServerEndpointSyncActivityStatus + :ivar offline_data_transfer_status: Offline Data Transfer State. Possible + values include: 'InProgress', 'Stopping', 'NotRunning', 'Complete' + :vartype offline_data_transfer_status: str or + ~azure.mgmt.storagesync.models.enum + """ + + _validation = { + 'download_health': {'readonly': True}, + 'upload_health': {'readonly': True}, + 'combined_health': {'readonly': True}, + 'sync_activity': {'readonly': True}, + 'total_persistent_files_not_syncing_count': {'readonly': True, 'minimum': 0}, + 'last_updated_timestamp': {'readonly': True}, + 'upload_status': {'readonly': True}, + 'download_status': {'readonly': True}, + 'upload_activity': {'readonly': True}, + 'download_activity': {'readonly': True}, + 'offline_data_transfer_status': {'readonly': True}, + } + + _attribute_map = { + 'download_health': {'key': 'downloadHealth', 'type': 'str'}, + 'upload_health': {'key': 'uploadHealth', 'type': 'str'}, + 'combined_health': {'key': 'combinedHealth', 'type': 'str'}, + 'sync_activity': {'key': 'syncActivity', 'type': 'str'}, + 'total_persistent_files_not_syncing_count': {'key': 'totalPersistentFilesNotSyncingCount', 'type': 'long'}, + 'last_updated_timestamp': {'key': 'lastUpdatedTimestamp', 'type': 'iso-8601'}, + 'upload_status': {'key': 'uploadStatus', 'type': 'ServerEndpointSyncSessionStatus'}, + 'download_status': {'key': 'downloadStatus', 'type': 'ServerEndpointSyncSessionStatus'}, + 'upload_activity': {'key': 'uploadActivity', 'type': 'ServerEndpointSyncActivityStatus'}, + 'download_activity': {'key': 'downloadActivity', 'type': 'ServerEndpointSyncActivityStatus'}, + 'offline_data_transfer_status': {'key': 'offlineDataTransferStatus', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ServerEndpointSyncStatus, self).__init__(**kwargs) + self.download_health = None + self.upload_health = None + self.combined_health = None + self.sync_activity = None + self.total_persistent_files_not_syncing_count = None + self.last_updated_timestamp = None + self.upload_status = None + self.download_status = None + self.upload_activity = None + self.download_activity = None + self.offline_data_transfer_status = None + + +class ServerEndpointUpdateParameters(Model): + """Parameters for updating an Server Endpoint. + + :param cloud_tiering: Cloud Tiering. Possible values include: 'on', 'off' + :type cloud_tiering: str or ~azure.mgmt.storagesync.models.enum + :param volume_free_space_percent: Level of free space to be maintained by + Cloud Tiering if it is enabled. + :type volume_free_space_percent: int + :param tier_files_older_than_days: Tier files older than days. + :type tier_files_older_than_days: int + :param offline_data_transfer: Offline data transfer. Possible values + include: 'on', 'off' + :type offline_data_transfer: str or ~azure.mgmt.storagesync.models.enum + :param offline_data_transfer_share_name: Offline data transfer share name + :type offline_data_transfer_share_name: str + """ + + _validation = { + 'volume_free_space_percent': {'maximum': 100, 'minimum': 0}, + 'tier_files_older_than_days': {'maximum': 2147483647, 'minimum': 0}, + } + + _attribute_map = { + 'cloud_tiering': {'key': 'properties.cloudTiering', 'type': 'str'}, + 'volume_free_space_percent': {'key': 'properties.volumeFreeSpacePercent', 'type': 'int'}, + 'tier_files_older_than_days': {'key': 'properties.tierFilesOlderThanDays', 'type': 'int'}, + 'offline_data_transfer': {'key': 'properties.offlineDataTransfer', 'type': 'str'}, + 'offline_data_transfer_share_name': {'key': 'properties.offlineDataTransferShareName', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ServerEndpointUpdateParameters, self).__init__(**kwargs) + self.cloud_tiering = kwargs.get('cloud_tiering', None) + self.volume_free_space_percent = kwargs.get('volume_free_space_percent', None) + self.tier_files_older_than_days = kwargs.get('tier_files_older_than_days', None) + self.offline_data_transfer = kwargs.get('offline_data_transfer', None) + self.offline_data_transfer_share_name = kwargs.get('offline_data_transfer_share_name', None) + + +class StorageSyncApiError(Model): + """Error type. + + :param code: Error code of the given entry. + :type code: str + :param message: Error message of the given entry. + :type message: str + :param target: Target of the given error entry. + :type target: str + :param details: Error details of the given entry. + :type details: ~azure.mgmt.storagesync.models.StorageSyncErrorDetails + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + 'details': {'key': 'details', 'type': 'StorageSyncErrorDetails'}, + } + + def __init__(self, **kwargs): + super(StorageSyncApiError, self).__init__(**kwargs) + self.code = kwargs.get('code', None) + self.message = kwargs.get('message', None) + self.target = kwargs.get('target', None) + self.details = kwargs.get('details', None) + + +class StorageSyncError(Model): + """Error type. + + :param error: Error details of the given entry. + :type error: ~azure.mgmt.storagesync.models.StorageSyncApiError + :param innererror: Error details of the given entry. + :type innererror: ~azure.mgmt.storagesync.models.StorageSyncApiError + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'StorageSyncApiError'}, + 'innererror': {'key': 'innererror', 'type': 'StorageSyncApiError'}, + } + + def __init__(self, **kwargs): + super(StorageSyncError, self).__init__(**kwargs) + self.error = kwargs.get('error', None) + self.innererror = kwargs.get('innererror', None) + + +class StorageSyncErrorException(HttpOperationError): + """Server responsed with exception of type: 'StorageSyncError'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(StorageSyncErrorException, self).__init__(deserialize, response, 'StorageSyncError', *args) + + +class StorageSyncErrorDetails(Model): + """Error Details object. + + :param code: Error code of the given entry. + :type code: str + :param message: Error message of the given entry. + :type message: str + :param target: Target of the given entry. + :type target: str + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(StorageSyncErrorDetails, self).__init__(**kwargs) + self.code = kwargs.get('code', None) + self.message = kwargs.get('message', None) + self.target = kwargs.get('target', None) + + +class TrackedResource(Resource): + """The resource model definition for a ARM tracked top level resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param location: Required. The geo-location where the resource lives + :type location: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'location': {'key': 'location', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(TrackedResource, self).__init__(**kwargs) + self.tags = kwargs.get('tags', None) + self.location = kwargs.get('location', None) + + +class StorageSyncService(TrackedResource): + """Storage Sync Service object. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param location: Required. The geo-location where the resource lives + :type location: str + :ivar storage_sync_service_status: Storage Sync service status. + :vartype storage_sync_service_status: int + :ivar storage_sync_service_uid: Storage Sync service Uid + :vartype storage_sync_service_uid: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + 'storage_sync_service_status': {'readonly': True}, + 'storage_sync_service_uid': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'location': {'key': 'location', 'type': 'str'}, + 'storage_sync_service_status': {'key': 'properties.storageSyncServiceStatus', 'type': 'int'}, + 'storage_sync_service_uid': {'key': 'properties.storageSyncServiceUid', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(StorageSyncService, self).__init__(**kwargs) + self.storage_sync_service_status = None + self.storage_sync_service_uid = None + + +class StorageSyncServiceCreateParameters(Model): + """The parameters used when creating a storage sync service. + + All required parameters must be populated in order to send to Azure. + + :param location: Required. Required. Gets or sets the location of the + resource. This will be one of the supported and registered Azure Geo + Regions (e.g. West US, East US, Southeast Asia, etc.). The geo region of a + resource cannot be changed once it is created, but if an identical geo + region is specified on update, the request will succeed. + :type location: str + :param tags: Gets or sets a list of key value pairs that describe the + resource. These tags can be used for viewing and grouping this resource + (across resource groups). A maximum of 15 tags can be provided for a + resource. Each tag must have a key with a length no greater than 128 + characters and a value with a length no greater than 256 characters. + :type tags: dict[str, str] + :param properties: + :type properties: object + """ + + _validation = { + 'location': {'required': True}, + } + + _attribute_map = { + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'properties': {'key': 'properties', 'type': 'object'}, + } + + def __init__(self, **kwargs): + super(StorageSyncServiceCreateParameters, self).__init__(**kwargs) + self.location = kwargs.get('location', None) + self.tags = kwargs.get('tags', None) + self.properties = kwargs.get('properties', None) + + +class StorageSyncServiceUpdateParameters(Model): + """Parameters for updating an Storage sync service. + + :param tags: The user-specified tags associated with the storage sync + service. + :type tags: dict[str, str] + :param properties: The properties of the storage sync service. + :type properties: object + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + 'properties': {'key': 'properties', 'type': 'object'}, + } + + def __init__(self, **kwargs): + super(StorageSyncServiceUpdateParameters, self).__init__(**kwargs) + self.tags = kwargs.get('tags', None) + self.properties = kwargs.get('properties', None) + + +class SubscriptionState(Model): + """Subscription State object. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param state: State of Azure Subscription. Possible values include: + 'Registered', 'Unregistered', 'Warned', 'Suspended', 'Deleted' + :type state: str or ~azure.mgmt.storagesync.models.Reason + :ivar istransitioning: Is Transitioning + :vartype istransitioning: bool + :param properties: Subscription state properties. + :type properties: object + """ + + _validation = { + 'istransitioning': {'readonly': True}, + } + + _attribute_map = { + 'state': {'key': 'state', 'type': 'str'}, + 'istransitioning': {'key': 'istransitioning', 'type': 'bool'}, + 'properties': {'key': 'properties', 'type': 'object'}, + } + + def __init__(self, **kwargs): + super(SubscriptionState, self).__init__(**kwargs) + self.state = kwargs.get('state', None) + self.istransitioning = None + self.properties = kwargs.get('properties', None) + + +class SyncGroup(ProxyResource): + """Sync Group object. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :ivar unique_id: Unique Id + :vartype unique_id: str + :ivar sync_group_status: Sync group status + :vartype sync_group_status: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'unique_id': {'readonly': True}, + 'sync_group_status': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'unique_id': {'key': 'properties.uniqueId', 'type': 'str'}, + 'sync_group_status': {'key': 'properties.syncGroupStatus', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SyncGroup, self).__init__(**kwargs) + self.unique_id = None + self.sync_group_status = None + + +class SyncGroupCreateParameters(ProxyResource): + """The parameters used when creating a sync group. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :param properties: The parameters used to create the sync group + :type properties: object + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'object'}, + } + + def __init__(self, **kwargs): + super(SyncGroupCreateParameters, self).__init__(**kwargs) + self.properties = kwargs.get('properties', None) + + +class TriggerChangeDetectionParameters(Model): + """The parameters used when calling trigger change detection action on cloud + endpoint. + + :param directory_path: Relative path to a directory Azure File share for + which change detection is to be performed. + :type directory_path: str + :param change_detection_mode: Change Detection Mode. Applies to a + directory specified in directoryPath parameter. Possible values include: + 'Default', 'Recursive' + :type change_detection_mode: str or + ~azure.mgmt.storagesync.models.ChangeDetectionMode + :param paths: Array of relative paths on the Azure File share to be + included in the change detection. Can be files and directories. + :type paths: list[str] + """ + + _attribute_map = { + 'directory_path': {'key': 'directoryPath', 'type': 'str'}, + 'change_detection_mode': {'key': 'changeDetectionMode', 'type': 'str'}, + 'paths': {'key': 'paths', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(TriggerChangeDetectionParameters, self).__init__(**kwargs) + self.directory_path = kwargs.get('directory_path', None) + self.change_detection_mode = kwargs.get('change_detection_mode', None) + self.paths = kwargs.get('paths', None) + + +class TriggerRolloverRequest(Model): + """Trigger Rollover Request. + + :param server_certificate: Certificate Data + :type server_certificate: str + """ + + _attribute_map = { + 'server_certificate': {'key': 'serverCertificate', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(TriggerRolloverRequest, self).__init__(**kwargs) + self.server_certificate = kwargs.get('server_certificate', None) + + +class Workflow(ProxyResource): + """Workflow resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :param last_step_name: last step name + :type last_step_name: str + :param status: workflow status. Possible values include: 'active', + 'expired', 'succeeded', 'aborted', 'failed' + :type status: str or ~azure.mgmt.storagesync.models.enum + :param operation: operation direction. Possible values include: 'do', + 'undo', 'cancel' + :type operation: str or ~azure.mgmt.storagesync.models.enum + :param steps: workflow steps + :type steps: str + :param last_operation_id: workflow last operation identifier. + :type last_operation_id: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'last_step_name': {'key': 'properties.lastStepName', 'type': 'str'}, + 'status': {'key': 'properties.status', 'type': 'str'}, + 'operation': {'key': 'properties.operation', 'type': 'str'}, + 'steps': {'key': 'properties.steps', 'type': 'str'}, + 'last_operation_id': {'key': 'properties.lastOperationId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Workflow, self).__init__(**kwargs) + self.last_step_name = kwargs.get('last_step_name', None) + self.status = kwargs.get('status', None) + self.operation = kwargs.get('operation', None) + self.steps = kwargs.get('steps', None) + self.last_operation_id = kwargs.get('last_operation_id', None) diff --git a/src/storagesync/azext_storagesync/vendored_sdks/storagesync/models/_models_py3.py b/src/storagesync/azext_storagesync/vendored_sdks/storagesync/models/_models_py3.py new file mode 100644 index 00000000000..46c1bca387b --- /dev/null +++ b/src/storagesync/azext_storagesync/vendored_sdks/storagesync/models/_models_py3.py @@ -0,0 +1,1811 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model +from msrest.exceptions import HttpOperationError + + +class Resource(Model): + """Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(Resource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + + +class AzureEntityResource(Resource): + """The resource model definition for a Azure Resource Manager resource with an + etag. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :ivar etag: Resource Etag. + :vartype etag: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(AzureEntityResource, self).__init__(**kwargs) + self.etag = None + + +class BackupRequest(Model): + """Backup request. + + :param azure_file_share: Azure File Share. + :type azure_file_share: str + """ + + _attribute_map = { + 'azure_file_share': {'key': 'azureFileShare', 'type': 'str'}, + } + + def __init__(self, *, azure_file_share: str=None, **kwargs) -> None: + super(BackupRequest, self).__init__(**kwargs) + self.azure_file_share = azure_file_share + + +class CheckNameAvailabilityParameters(Model): + """Parameters for a check name availability request. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. The name to check for availability + :type name: str + :ivar type: Required. The resource type. Must be set to + Microsoft.StorageSync/storageSyncServices. Default value: + "Microsoft.StorageSync/storageSyncServices" . + :vartype type: str + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True, 'constant': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + type = "Microsoft.StorageSync/storageSyncServices" + + def __init__(self, *, name: str, **kwargs) -> None: + super(CheckNameAvailabilityParameters, self).__init__(**kwargs) + self.name = name + + +class CheckNameAvailabilityResult(Model): + """The CheckNameAvailability operation response. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name_available: Gets a boolean value that indicates whether the name + is available for you to use. If true, the name is available. If false, the + name has already been taken or invalid and cannot be used. + :vartype name_available: bool + :ivar reason: Gets the reason that a Storage Sync Service name could not + be used. The Reason element is only returned if NameAvailable is false. + Possible values include: 'Invalid', 'AlreadyExists' + :vartype reason: str or + ~azure.mgmt.storagesync.models.NameAvailabilityReason + :ivar message: Gets an error message explaining the Reason value in more + detail. + :vartype message: str + """ + + _validation = { + 'name_available': {'readonly': True}, + 'reason': {'readonly': True}, + 'message': {'readonly': True}, + } + + _attribute_map = { + 'name_available': {'key': 'nameAvailable', 'type': 'bool'}, + 'reason': {'key': 'reason', 'type': 'NameAvailabilityReason'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(CheckNameAvailabilityResult, self).__init__(**kwargs) + self.name_available = None + self.reason = None + self.message = None + + +class ProxyResource(Resource): + """The resource model definition for a ARM proxy resource. It will have + everything other than required location and tags. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(ProxyResource, self).__init__(**kwargs) + + +class CloudEndpoint(ProxyResource): + """Cloud Endpoint object. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :param storage_account_resource_id: Storage Account Resource Id + :type storage_account_resource_id: str + :param azure_file_share_name: Azure file share name + :type azure_file_share_name: str + :param storage_account_tenant_id: Storage Account Tenant Id + :type storage_account_tenant_id: str + :param partnership_id: Partnership Id + :type partnership_id: str + :param friendly_name: Friendly Name + :type friendly_name: str + :ivar backup_enabled: Backup Enabled + :vartype backup_enabled: str + :param provisioning_state: CloudEndpoint Provisioning State + :type provisioning_state: str + :param last_workflow_id: CloudEndpoint lastWorkflowId + :type last_workflow_id: str + :param last_operation_name: Resource Last Operation Name + :type last_operation_name: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'backup_enabled': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'storage_account_resource_id': {'key': 'properties.storageAccountResourceId', 'type': 'str'}, + 'azure_file_share_name': {'key': 'properties.azureFileShareName', 'type': 'str'}, + 'storage_account_tenant_id': {'key': 'properties.storageAccountTenantId', 'type': 'str'}, + 'partnership_id': {'key': 'properties.partnershipId', 'type': 'str'}, + 'friendly_name': {'key': 'properties.friendlyName', 'type': 'str'}, + 'backup_enabled': {'key': 'properties.backupEnabled', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'last_workflow_id': {'key': 'properties.lastWorkflowId', 'type': 'str'}, + 'last_operation_name': {'key': 'properties.lastOperationName', 'type': 'str'}, + } + + def __init__(self, *, storage_account_resource_id: str=None, azure_file_share_name: str=None, storage_account_tenant_id: str=None, partnership_id: str=None, friendly_name: str=None, provisioning_state: str=None, last_workflow_id: str=None, last_operation_name: str=None, **kwargs) -> None: + super(CloudEndpoint, self).__init__(**kwargs) + self.storage_account_resource_id = storage_account_resource_id + self.azure_file_share_name = azure_file_share_name + self.storage_account_tenant_id = storage_account_tenant_id + self.partnership_id = partnership_id + self.friendly_name = friendly_name + self.backup_enabled = None + self.provisioning_state = provisioning_state + self.last_workflow_id = last_workflow_id + self.last_operation_name = last_operation_name + + +class CloudEndpointCreateParameters(ProxyResource): + """The parameters used when creating a cloud endpoint. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :param storage_account_resource_id: Storage Account Resource Id + :type storage_account_resource_id: str + :param azure_file_share_name: Azure file share name + :type azure_file_share_name: str + :param storage_account_tenant_id: Storage Account Tenant Id + :type storage_account_tenant_id: str + :param friendly_name: Friendly Name + :type friendly_name: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'storage_account_resource_id': {'key': 'properties.storageAccountResourceId', 'type': 'str'}, + 'azure_file_share_name': {'key': 'properties.azureFileShareName', 'type': 'str'}, + 'storage_account_tenant_id': {'key': 'properties.storageAccountTenantId', 'type': 'str'}, + 'friendly_name': {'key': 'properties.friendlyName', 'type': 'str'}, + } + + def __init__(self, *, storage_account_resource_id: str=None, azure_file_share_name: str=None, storage_account_tenant_id: str=None, friendly_name: str=None, **kwargs) -> None: + super(CloudEndpointCreateParameters, self).__init__(**kwargs) + self.storage_account_resource_id = storage_account_resource_id + self.azure_file_share_name = azure_file_share_name + self.storage_account_tenant_id = storage_account_tenant_id + self.friendly_name = friendly_name + + +class CloudError(Model): + """CloudError. + """ + + _attribute_map = { + } + + +class OperationDisplayInfo(Model): + """The operation supported by storage sync. + + :param description: The description of the operation. + :type description: str + :param operation: The action that users can perform, based on their + permission level. + :type operation: str + :param provider: Service provider: Microsoft StorageSync. + :type provider: str + :param resource: Resource on which the operation is performed. + :type resource: str + """ + + _attribute_map = { + 'description': {'key': 'description', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + } + + def __init__(self, *, description: str=None, operation: str=None, provider: str=None, resource: str=None, **kwargs) -> None: + super(OperationDisplayInfo, self).__init__(**kwargs) + self.description = description + self.operation = operation + self.provider = provider + self.resource = resource + + +class OperationDisplayResource(Model): + """Operation Display Resource object. + + :param provider: Operation Display Resource Provider. + :type provider: str + :param resource: Operation Display Resource. + :type resource: str + :param operation: Operation Display Resource Operation. + :type operation: str + :param description: Operation Display Resource Description. + :type description: str + """ + + _attribute_map = { + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__(self, *, provider: str=None, resource: str=None, operation: str=None, description: str=None, **kwargs) -> None: + super(OperationDisplayResource, self).__init__(**kwargs) + self.provider = provider + self.resource = resource + self.operation = operation + self.description = description + + +class OperationEntity(Model): + """The operation supported by storage sync. + + :param name: Operation name: {provider}/{resource}/{operation}. + :type name: str + :param display: The operation supported by storage sync. + :type display: ~azure.mgmt.storagesync.models.OperationDisplayInfo + :param origin: The origin. + :type origin: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'OperationDisplayInfo'}, + 'origin': {'key': 'origin', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, display=None, origin: str=None, **kwargs) -> None: + super(OperationEntity, self).__init__(**kwargs) + self.name = name + self.display = display + self.origin = origin + + +class OperationStatus(Model): + """Operation status object. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name: Operation Id + :vartype name: str + :ivar status: Operation status + :vartype status: str + :ivar start_time: Start time of the operation + :vartype start_time: datetime + :ivar end_time: End time of the operation + :vartype end_time: datetime + :ivar error: Error details. + :vartype error: ~azure.mgmt.storagesync.models.StorageSyncApiError + """ + + _validation = { + 'name': {'readonly': True}, + 'status': {'readonly': True}, + 'start_time': {'readonly': True}, + 'end_time': {'readonly': True}, + 'error': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, + 'error': {'key': 'error', 'type': 'StorageSyncApiError'}, + } + + def __init__(self, **kwargs) -> None: + super(OperationStatus, self).__init__(**kwargs) + self.name = None + self.status = None + self.start_time = None + self.end_time = None + self.error = None + + +class PostBackupResponse(Model): + """Post Backup Response. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar cloud_endpoint_name: cloud endpoint Name. + :vartype cloud_endpoint_name: str + """ + + _validation = { + 'cloud_endpoint_name': {'readonly': True}, + } + + _attribute_map = { + 'cloud_endpoint_name': {'key': 'backupMetadata.cloudEndpointName', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(PostBackupResponse, self).__init__(**kwargs) + self.cloud_endpoint_name = None + + +class PostRestoreRequest(Model): + """Post Restore Request. + + :param partition: Post Restore partition. + :type partition: str + :param replica_group: Post Restore replica group. + :type replica_group: str + :param request_id: Post Restore request id. + :type request_id: str + :param azure_file_share_uri: Post Restore Azure file share uri. + :type azure_file_share_uri: str + :param status: Post Restore Azure status. + :type status: str + :param source_azure_file_share_uri: Post Restore Azure source azure file + share uri. + :type source_azure_file_share_uri: str + :param failed_file_list: Post Restore Azure failed file list. + :type failed_file_list: str + :param restore_file_spec: Post Restore restore file spec array. + :type restore_file_spec: + list[~azure.mgmt.storagesync.models.RestoreFileSpec] + """ + + _attribute_map = { + 'partition': {'key': 'partition', 'type': 'str'}, + 'replica_group': {'key': 'replicaGroup', 'type': 'str'}, + 'request_id': {'key': 'requestId', 'type': 'str'}, + 'azure_file_share_uri': {'key': 'azureFileShareUri', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + 'source_azure_file_share_uri': {'key': 'sourceAzureFileShareUri', 'type': 'str'}, + 'failed_file_list': {'key': 'failedFileList', 'type': 'str'}, + 'restore_file_spec': {'key': 'restoreFileSpec', 'type': '[RestoreFileSpec]'}, + } + + def __init__(self, *, partition: str=None, replica_group: str=None, request_id: str=None, azure_file_share_uri: str=None, status: str=None, source_azure_file_share_uri: str=None, failed_file_list: str=None, restore_file_spec=None, **kwargs) -> None: + super(PostRestoreRequest, self).__init__(**kwargs) + self.partition = partition + self.replica_group = replica_group + self.request_id = request_id + self.azure_file_share_uri = azure_file_share_uri + self.status = status + self.source_azure_file_share_uri = source_azure_file_share_uri + self.failed_file_list = failed_file_list + self.restore_file_spec = restore_file_spec + + +class PreRestoreRequest(Model): + """Pre Restore request object. + + :param partition: Pre Restore partition. + :type partition: str + :param replica_group: Pre Restore replica group. + :type replica_group: str + :param request_id: Pre Restore request id. + :type request_id: str + :param azure_file_share_uri: Pre Restore Azure file share uri. + :type azure_file_share_uri: str + :param status: Pre Restore Azure status. + :type status: str + :param source_azure_file_share_uri: Pre Restore Azure source azure file + share uri. + :type source_azure_file_share_uri: str + :param backup_metadata_property_bag: Pre Restore backup metadata property + bag. + :type backup_metadata_property_bag: str + :param restore_file_spec: Pre Restore restore file spec array. + :type restore_file_spec: + list[~azure.mgmt.storagesync.models.RestoreFileSpec] + :param pause_wait_for_sync_drain_time_period_in_seconds: Pre Restore pause + wait for sync drain time period in seconds. + :type pause_wait_for_sync_drain_time_period_in_seconds: int + """ + + _attribute_map = { + 'partition': {'key': 'partition', 'type': 'str'}, + 'replica_group': {'key': 'replicaGroup', 'type': 'str'}, + 'request_id': {'key': 'requestId', 'type': 'str'}, + 'azure_file_share_uri': {'key': 'azureFileShareUri', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + 'source_azure_file_share_uri': {'key': 'sourceAzureFileShareUri', 'type': 'str'}, + 'backup_metadata_property_bag': {'key': 'backupMetadataPropertyBag', 'type': 'str'}, + 'restore_file_spec': {'key': 'restoreFileSpec', 'type': '[RestoreFileSpec]'}, + 'pause_wait_for_sync_drain_time_period_in_seconds': {'key': 'pauseWaitForSyncDrainTimePeriodInSeconds', 'type': 'int'}, + } + + def __init__(self, *, partition: str=None, replica_group: str=None, request_id: str=None, azure_file_share_uri: str=None, status: str=None, source_azure_file_share_uri: str=None, backup_metadata_property_bag: str=None, restore_file_spec=None, pause_wait_for_sync_drain_time_period_in_seconds: int=None, **kwargs) -> None: + super(PreRestoreRequest, self).__init__(**kwargs) + self.partition = partition + self.replica_group = replica_group + self.request_id = request_id + self.azure_file_share_uri = azure_file_share_uri + self.status = status + self.source_azure_file_share_uri = source_azure_file_share_uri + self.backup_metadata_property_bag = backup_metadata_property_bag + self.restore_file_spec = restore_file_spec + self.pause_wait_for_sync_drain_time_period_in_seconds = pause_wait_for_sync_drain_time_period_in_seconds + + +class RecallActionParameters(Model): + """The parameters used when calling recall action on server endpoint. + + :param pattern: Pattern of the files. + :type pattern: str + :param recall_path: Recall path. + :type recall_path: str + """ + + _attribute_map = { + 'pattern': {'key': 'pattern', 'type': 'str'}, + 'recall_path': {'key': 'recallPath', 'type': 'str'}, + } + + def __init__(self, *, pattern: str=None, recall_path: str=None, **kwargs) -> None: + super(RecallActionParameters, self).__init__(**kwargs) + self.pattern = pattern + self.recall_path = recall_path + + +class RegisteredServer(ProxyResource): + """Registered Server resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :param server_certificate: Registered Server Certificate + :type server_certificate: str + :param agent_version: Registered Server Agent Version + :type agent_version: str + :param server_os_version: Registered Server OS Version + :type server_os_version: str + :param server_management_error_code: Registered Server Management Error + Code + :type server_management_error_code: int + :param last_heart_beat: Registered Server last heart beat + :type last_heart_beat: str + :param provisioning_state: Registered Server Provisioning State + :type provisioning_state: str + :param server_role: Registered Server serverRole + :type server_role: str + :param cluster_id: Registered Server clusterId + :type cluster_id: str + :param cluster_name: Registered Server clusterName + :type cluster_name: str + :param server_id: Registered Server serverId + :type server_id: str + :param storage_sync_service_uid: Registered Server storageSyncServiceUid + :type storage_sync_service_uid: str + :param last_workflow_id: Registered Server lastWorkflowId + :type last_workflow_id: str + :param last_operation_name: Resource Last Operation Name + :type last_operation_name: str + :param discovery_endpoint_uri: Resource discoveryEndpointUri + :type discovery_endpoint_uri: str + :param resource_location: Resource Location + :type resource_location: str + :param service_location: Service Location + :type service_location: str + :param friendly_name: Friendly Name + :type friendly_name: str + :param management_endpoint_uri: Management Endpoint Uri + :type management_endpoint_uri: str + :param monitoring_configuration: Monitoring Configuration + :type monitoring_configuration: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'server_certificate': {'key': 'properties.serverCertificate', 'type': 'str'}, + 'agent_version': {'key': 'properties.agentVersion', 'type': 'str'}, + 'server_os_version': {'key': 'properties.serverOSVersion', 'type': 'str'}, + 'server_management_error_code': {'key': 'properties.serverManagementErrorCode', 'type': 'int'}, + 'last_heart_beat': {'key': 'properties.lastHeartBeat', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'server_role': {'key': 'properties.serverRole', 'type': 'str'}, + 'cluster_id': {'key': 'properties.clusterId', 'type': 'str'}, + 'cluster_name': {'key': 'properties.clusterName', 'type': 'str'}, + 'server_id': {'key': 'properties.serverId', 'type': 'str'}, + 'storage_sync_service_uid': {'key': 'properties.storageSyncServiceUid', 'type': 'str'}, + 'last_workflow_id': {'key': 'properties.lastWorkflowId', 'type': 'str'}, + 'last_operation_name': {'key': 'properties.lastOperationName', 'type': 'str'}, + 'discovery_endpoint_uri': {'key': 'properties.discoveryEndpointUri', 'type': 'str'}, + 'resource_location': {'key': 'properties.resourceLocation', 'type': 'str'}, + 'service_location': {'key': 'properties.serviceLocation', 'type': 'str'}, + 'friendly_name': {'key': 'properties.friendlyName', 'type': 'str'}, + 'management_endpoint_uri': {'key': 'properties.managementEndpointUri', 'type': 'str'}, + 'monitoring_configuration': {'key': 'properties.monitoringConfiguration', 'type': 'str'}, + } + + def __init__(self, *, server_certificate: str=None, agent_version: str=None, server_os_version: str=None, server_management_error_code: int=None, last_heart_beat: str=None, provisioning_state: str=None, server_role: str=None, cluster_id: str=None, cluster_name: str=None, server_id: str=None, storage_sync_service_uid: str=None, last_workflow_id: str=None, last_operation_name: str=None, discovery_endpoint_uri: str=None, resource_location: str=None, service_location: str=None, friendly_name: str=None, management_endpoint_uri: str=None, monitoring_configuration: str=None, **kwargs) -> None: + super(RegisteredServer, self).__init__(**kwargs) + self.server_certificate = server_certificate + self.agent_version = agent_version + self.server_os_version = server_os_version + self.server_management_error_code = server_management_error_code + self.last_heart_beat = last_heart_beat + self.provisioning_state = provisioning_state + self.server_role = server_role + self.cluster_id = cluster_id + self.cluster_name = cluster_name + self.server_id = server_id + self.storage_sync_service_uid = storage_sync_service_uid + self.last_workflow_id = last_workflow_id + self.last_operation_name = last_operation_name + self.discovery_endpoint_uri = discovery_endpoint_uri + self.resource_location = resource_location + self.service_location = service_location + self.friendly_name = friendly_name + self.management_endpoint_uri = management_endpoint_uri + self.monitoring_configuration = monitoring_configuration + + +class RegisteredServerCreateParameters(ProxyResource): + """The parameters used when creating a registered server. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :param server_certificate: Registered Server Certificate + :type server_certificate: str + :param agent_version: Registered Server Agent Version + :type agent_version: str + :param server_os_version: Registered Server OS Version + :type server_os_version: str + :param last_heart_beat: Registered Server last heart beat + :type last_heart_beat: str + :param server_role: Registered Server serverRole + :type server_role: str + :param cluster_id: Registered Server clusterId + :type cluster_id: str + :param cluster_name: Registered Server clusterName + :type cluster_name: str + :param server_id: Registered Server serverId + :type server_id: str + :param friendly_name: Friendly Name + :type friendly_name: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'server_certificate': {'key': 'properties.serverCertificate', 'type': 'str'}, + 'agent_version': {'key': 'properties.agentVersion', 'type': 'str'}, + 'server_os_version': {'key': 'properties.serverOSVersion', 'type': 'str'}, + 'last_heart_beat': {'key': 'properties.lastHeartBeat', 'type': 'str'}, + 'server_role': {'key': 'properties.serverRole', 'type': 'str'}, + 'cluster_id': {'key': 'properties.clusterId', 'type': 'str'}, + 'cluster_name': {'key': 'properties.clusterName', 'type': 'str'}, + 'server_id': {'key': 'properties.serverId', 'type': 'str'}, + 'friendly_name': {'key': 'properties.friendlyName', 'type': 'str'}, + } + + def __init__(self, *, server_certificate: str=None, agent_version: str=None, server_os_version: str=None, last_heart_beat: str=None, server_role: str=None, cluster_id: str=None, cluster_name: str=None, server_id: str=None, friendly_name: str=None, **kwargs) -> None: + super(RegisteredServerCreateParameters, self).__init__(**kwargs) + self.server_certificate = server_certificate + self.agent_version = agent_version + self.server_os_version = server_os_version + self.last_heart_beat = last_heart_beat + self.server_role = server_role + self.cluster_id = cluster_id + self.cluster_name = cluster_name + self.server_id = server_id + self.friendly_name = friendly_name + + +class ResourcesMoveInfo(Model): + """Resource Move Info. + + :param target_resource_group: Target resource group. + :type target_resource_group: str + :param resources: Collection of Resources. + :type resources: list[str] + """ + + _attribute_map = { + 'target_resource_group': {'key': 'targetResourceGroup', 'type': 'str'}, + 'resources': {'key': 'resources', 'type': '[str]'}, + } + + def __init__(self, *, target_resource_group: str=None, resources=None, **kwargs) -> None: + super(ResourcesMoveInfo, self).__init__(**kwargs) + self.target_resource_group = target_resource_group + self.resources = resources + + +class RestoreFileSpec(Model): + """Restore file spec. + + :param path: Restore file spec path + :type path: str + :param isdir: Restore file spec isdir + :type isdir: bool + """ + + _attribute_map = { + 'path': {'key': 'path', 'type': 'str'}, + 'isdir': {'key': 'isdir', 'type': 'bool'}, + } + + def __init__(self, *, path: str=None, isdir: bool=None, **kwargs) -> None: + super(RestoreFileSpec, self).__init__(**kwargs) + self.path = path + self.isdir = isdir + + +class ServerEndpoint(ProxyResource): + """Server Endpoint object. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :param server_local_path: Server Local path. + :type server_local_path: str + :param cloud_tiering: Cloud Tiering. Possible values include: 'on', 'off' + :type cloud_tiering: str or ~azure.mgmt.storagesync.models.enum + :param volume_free_space_percent: Level of free space to be maintained by + Cloud Tiering if it is enabled. + :type volume_free_space_percent: int + :param tier_files_older_than_days: Tier files older than days. + :type tier_files_older_than_days: int + :param friendly_name: Friendly Name + :type friendly_name: str + :param server_resource_id: Server Resource Id. + :type server_resource_id: str + :ivar provisioning_state: ServerEndpoint Provisioning State + :vartype provisioning_state: str + :ivar last_workflow_id: ServerEndpoint lastWorkflowId + :vartype last_workflow_id: str + :ivar last_operation_name: Resource Last Operation Name + :vartype last_operation_name: str + :ivar sync_status: Server Endpoint sync status + :vartype sync_status: + ~azure.mgmt.storagesync.models.ServerEndpointSyncStatus + :param offline_data_transfer: Offline data transfer. Possible values + include: 'on', 'off' + :type offline_data_transfer: str or ~azure.mgmt.storagesync.models.enum + :ivar offline_data_transfer_storage_account_resource_id: Offline data + transfer storage account resource ID + :vartype offline_data_transfer_storage_account_resource_id: str + :ivar offline_data_transfer_storage_account_tenant_id: Offline data + transfer storage account tenant ID + :vartype offline_data_transfer_storage_account_tenant_id: str + :param offline_data_transfer_share_name: Offline data transfer share name + :type offline_data_transfer_share_name: str + :ivar cloud_tiering_status: Cloud tiering status. Only populated if cloud + tiering is enabled. + :vartype cloud_tiering_status: + ~azure.mgmt.storagesync.models.ServerEndpointCloudTieringStatus + :ivar recall_status: Recall status. Only populated if cloud tiering is + enabled. + :vartype recall_status: + ~azure.mgmt.storagesync.models.ServerEndpointRecallStatus + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'volume_free_space_percent': {'maximum': 100, 'minimum': 0}, + 'tier_files_older_than_days': {'maximum': 2147483647, 'minimum': 0}, + 'provisioning_state': {'readonly': True}, + 'last_workflow_id': {'readonly': True}, + 'last_operation_name': {'readonly': True}, + 'sync_status': {'readonly': True}, + 'offline_data_transfer_storage_account_resource_id': {'readonly': True}, + 'offline_data_transfer_storage_account_tenant_id': {'readonly': True}, + 'cloud_tiering_status': {'readonly': True}, + 'recall_status': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'server_local_path': {'key': 'properties.serverLocalPath', 'type': 'str'}, + 'cloud_tiering': {'key': 'properties.cloudTiering', 'type': 'str'}, + 'volume_free_space_percent': {'key': 'properties.volumeFreeSpacePercent', 'type': 'int'}, + 'tier_files_older_than_days': {'key': 'properties.tierFilesOlderThanDays', 'type': 'int'}, + 'friendly_name': {'key': 'properties.friendlyName', 'type': 'str'}, + 'server_resource_id': {'key': 'properties.serverResourceId', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'last_workflow_id': {'key': 'properties.lastWorkflowId', 'type': 'str'}, + 'last_operation_name': {'key': 'properties.lastOperationName', 'type': 'str'}, + 'sync_status': {'key': 'properties.syncStatus', 'type': 'ServerEndpointSyncStatus'}, + 'offline_data_transfer': {'key': 'properties.offlineDataTransfer', 'type': 'str'}, + 'offline_data_transfer_storage_account_resource_id': {'key': 'properties.offlineDataTransferStorageAccountResourceId', 'type': 'str'}, + 'offline_data_transfer_storage_account_tenant_id': {'key': 'properties.offlineDataTransferStorageAccountTenantId', 'type': 'str'}, + 'offline_data_transfer_share_name': {'key': 'properties.offlineDataTransferShareName', 'type': 'str'}, + 'cloud_tiering_status': {'key': 'properties.cloudTieringStatus', 'type': 'ServerEndpointCloudTieringStatus'}, + 'recall_status': {'key': 'properties.recallStatus', 'type': 'ServerEndpointRecallStatus'}, + } + + def __init__(self, *, server_local_path: str=None, cloud_tiering=None, volume_free_space_percent: int=None, tier_files_older_than_days: int=None, friendly_name: str=None, server_resource_id: str=None, offline_data_transfer=None, offline_data_transfer_share_name: str=None, **kwargs) -> None: + super(ServerEndpoint, self).__init__(**kwargs) + self.server_local_path = server_local_path + self.cloud_tiering = cloud_tiering + self.volume_free_space_percent = volume_free_space_percent + self.tier_files_older_than_days = tier_files_older_than_days + self.friendly_name = friendly_name + self.server_resource_id = server_resource_id + self.provisioning_state = None + self.last_workflow_id = None + self.last_operation_name = None + self.sync_status = None + self.offline_data_transfer = offline_data_transfer + self.offline_data_transfer_storage_account_resource_id = None + self.offline_data_transfer_storage_account_tenant_id = None + self.offline_data_transfer_share_name = offline_data_transfer_share_name + self.cloud_tiering_status = None + self.recall_status = None + + +class ServerEndpointCloudTieringStatus(Model): + """Server endpoint cloud tiering status object. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar health: Cloud tiering health state. Possible values include: + 'Healthy', 'Error' + :vartype health: str or ~azure.mgmt.storagesync.models.enum + :ivar last_updated_timestamp: Last updated timestamp + :vartype last_updated_timestamp: datetime + :ivar last_cloud_tiering_result: Last cloud tiering result (HResult) + :vartype last_cloud_tiering_result: int + :ivar last_success_timestamp: Last cloud tiering success timestamp + :vartype last_success_timestamp: datetime + """ + + _validation = { + 'health': {'readonly': True}, + 'last_updated_timestamp': {'readonly': True}, + 'last_cloud_tiering_result': {'readonly': True}, + 'last_success_timestamp': {'readonly': True}, + } + + _attribute_map = { + 'health': {'key': 'health', 'type': 'str'}, + 'last_updated_timestamp': {'key': 'lastUpdatedTimestamp', 'type': 'iso-8601'}, + 'last_cloud_tiering_result': {'key': 'lastCloudTieringResult', 'type': 'int'}, + 'last_success_timestamp': {'key': 'lastSuccessTimestamp', 'type': 'iso-8601'}, + } + + def __init__(self, **kwargs) -> None: + super(ServerEndpointCloudTieringStatus, self).__init__(**kwargs) + self.health = None + self.last_updated_timestamp = None + self.last_cloud_tiering_result = None + self.last_success_timestamp = None + + +class ServerEndpointCreateParameters(ProxyResource): + """The parameters used when creating a server endpoint. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :param server_local_path: Server Local path. + :type server_local_path: str + :param cloud_tiering: Cloud Tiering. Possible values include: 'on', 'off' + :type cloud_tiering: str or ~azure.mgmt.storagesync.models.enum + :param volume_free_space_percent: Level of free space to be maintained by + Cloud Tiering if it is enabled. + :type volume_free_space_percent: int + :param tier_files_older_than_days: Tier files older than days. + :type tier_files_older_than_days: int + :param friendly_name: Friendly Name + :type friendly_name: str + :param server_resource_id: Server Resource Id. + :type server_resource_id: str + :param offline_data_transfer: Offline data transfer. Possible values + include: 'on', 'off' + :type offline_data_transfer: str or ~azure.mgmt.storagesync.models.enum + :param offline_data_transfer_share_name: Offline data transfer share name + :type offline_data_transfer_share_name: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'volume_free_space_percent': {'maximum': 100, 'minimum': 0}, + 'tier_files_older_than_days': {'maximum': 2147483647, 'minimum': 0}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'server_local_path': {'key': 'properties.serverLocalPath', 'type': 'str'}, + 'cloud_tiering': {'key': 'properties.cloudTiering', 'type': 'str'}, + 'volume_free_space_percent': {'key': 'properties.volumeFreeSpacePercent', 'type': 'int'}, + 'tier_files_older_than_days': {'key': 'properties.tierFilesOlderThanDays', 'type': 'int'}, + 'friendly_name': {'key': 'properties.friendlyName', 'type': 'str'}, + 'server_resource_id': {'key': 'properties.serverResourceId', 'type': 'str'}, + 'offline_data_transfer': {'key': 'properties.offlineDataTransfer', 'type': 'str'}, + 'offline_data_transfer_share_name': {'key': 'properties.offlineDataTransferShareName', 'type': 'str'}, + } + + def __init__(self, *, server_local_path: str=None, cloud_tiering=None, volume_free_space_percent: int=None, tier_files_older_than_days: int=None, friendly_name: str=None, server_resource_id: str=None, offline_data_transfer=None, offline_data_transfer_share_name: str=None, **kwargs) -> None: + super(ServerEndpointCreateParameters, self).__init__(**kwargs) + self.server_local_path = server_local_path + self.cloud_tiering = cloud_tiering + self.volume_free_space_percent = volume_free_space_percent + self.tier_files_older_than_days = tier_files_older_than_days + self.friendly_name = friendly_name + self.server_resource_id = server_resource_id + self.offline_data_transfer = offline_data_transfer + self.offline_data_transfer_share_name = offline_data_transfer_share_name + + +class ServerEndpointFilesNotSyncingError(Model): + """Files not syncing error object. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar error_code: Error code (HResult) + :vartype error_code: int + :ivar persistent_count: Count of persistent files not syncing with the + specified error code + :vartype persistent_count: long + :ivar transient_count: Count of transient files not syncing with the + specified error code + :vartype transient_count: long + """ + + _validation = { + 'error_code': {'readonly': True}, + 'persistent_count': {'readonly': True, 'minimum': 0}, + 'transient_count': {'readonly': True, 'minimum': 0}, + } + + _attribute_map = { + 'error_code': {'key': 'errorCode', 'type': 'int'}, + 'persistent_count': {'key': 'persistentCount', 'type': 'long'}, + 'transient_count': {'key': 'transientCount', 'type': 'long'}, + } + + def __init__(self, **kwargs) -> None: + super(ServerEndpointFilesNotSyncingError, self).__init__(**kwargs) + self.error_code = None + self.persistent_count = None + self.transient_count = None + + +class ServerEndpointRecallError(Model): + """Server endpoint recall error object. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar error_code: Error code (HResult) + :vartype error_code: int + :ivar count: Count of occurences of the error + :vartype count: long + """ + + _validation = { + 'error_code': {'readonly': True}, + 'count': {'readonly': True, 'minimum': 0}, + } + + _attribute_map = { + 'error_code': {'key': 'errorCode', 'type': 'int'}, + 'count': {'key': 'count', 'type': 'long'}, + } + + def __init__(self, **kwargs) -> None: + super(ServerEndpointRecallError, self).__init__(**kwargs) + self.error_code = None + self.count = None + + +class ServerEndpointRecallStatus(Model): + """Server endpoint recall status object. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar last_updated_timestamp: Last updated timestamp + :vartype last_updated_timestamp: datetime + :ivar total_recall_errors_count: Total count of recall errors. + :vartype total_recall_errors_count: long + :ivar recall_errors: Array of recall errors + :vartype recall_errors: + list[~azure.mgmt.storagesync.models.ServerEndpointRecallError] + """ + + _validation = { + 'last_updated_timestamp': {'readonly': True}, + 'total_recall_errors_count': {'readonly': True, 'minimum': 0}, + 'recall_errors': {'readonly': True}, + } + + _attribute_map = { + 'last_updated_timestamp': {'key': 'lastUpdatedTimestamp', 'type': 'iso-8601'}, + 'total_recall_errors_count': {'key': 'totalRecallErrorsCount', 'type': 'long'}, + 'recall_errors': {'key': 'recallErrors', 'type': '[ServerEndpointRecallError]'}, + } + + def __init__(self, **kwargs) -> None: + super(ServerEndpointRecallStatus, self).__init__(**kwargs) + self.last_updated_timestamp = None + self.total_recall_errors_count = None + self.recall_errors = None + + +class ServerEndpointSyncActivityStatus(Model): + """Sync Session status object. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar timestamp: Timestamp when properties were updated + :vartype timestamp: datetime + :ivar per_item_error_count: Per item error count + :vartype per_item_error_count: long + :ivar applied_item_count: Applied item count. + :vartype applied_item_count: long + :ivar total_item_count: Total item count (if available) + :vartype total_item_count: long + :ivar applied_bytes: Applied bytes + :vartype applied_bytes: long + :ivar total_bytes: Total bytes (if available) + :vartype total_bytes: long + """ + + _validation = { + 'timestamp': {'readonly': True}, + 'per_item_error_count': {'readonly': True, 'minimum': 0}, + 'applied_item_count': {'readonly': True, 'minimum': 0}, + 'total_item_count': {'readonly': True, 'minimum': 0}, + 'applied_bytes': {'readonly': True, 'minimum': 0}, + 'total_bytes': {'readonly': True, 'minimum': 0}, + } + + _attribute_map = { + 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, + 'per_item_error_count': {'key': 'perItemErrorCount', 'type': 'long'}, + 'applied_item_count': {'key': 'appliedItemCount', 'type': 'long'}, + 'total_item_count': {'key': 'totalItemCount', 'type': 'long'}, + 'applied_bytes': {'key': 'appliedBytes', 'type': 'long'}, + 'total_bytes': {'key': 'totalBytes', 'type': 'long'}, + } + + def __init__(self, **kwargs) -> None: + super(ServerEndpointSyncActivityStatus, self).__init__(**kwargs) + self.timestamp = None + self.per_item_error_count = None + self.applied_item_count = None + self.total_item_count = None + self.applied_bytes = None + self.total_bytes = None + + +class ServerEndpointSyncSessionStatus(Model): + """Sync Session status object. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar last_sync_result: Last sync result (HResult) + :vartype last_sync_result: int + :ivar last_sync_timestamp: Last sync timestamp + :vartype last_sync_timestamp: datetime + :ivar last_sync_success_timestamp: Last sync success timestamp + :vartype last_sync_success_timestamp: datetime + :ivar last_sync_per_item_error_count: Last sync per item error count. + :vartype last_sync_per_item_error_count: long + :ivar persistent_files_not_syncing_count: Count of persistent files not + syncing. + :vartype persistent_files_not_syncing_count: long + :ivar transient_files_not_syncing_count: Count of transient files not + syncing. + :vartype transient_files_not_syncing_count: long + :ivar files_not_syncing_errors: Array of per-item errors coming from the + last sync session. + :vartype files_not_syncing_errors: + list[~azure.mgmt.storagesync.models.ServerEndpointFilesNotSyncingError] + """ + + _validation = { + 'last_sync_result': {'readonly': True}, + 'last_sync_timestamp': {'readonly': True}, + 'last_sync_success_timestamp': {'readonly': True}, + 'last_sync_per_item_error_count': {'readonly': True, 'minimum': 0}, + 'persistent_files_not_syncing_count': {'readonly': True, 'minimum': 0}, + 'transient_files_not_syncing_count': {'readonly': True, 'minimum': 0}, + 'files_not_syncing_errors': {'readonly': True}, + } + + _attribute_map = { + 'last_sync_result': {'key': 'lastSyncResult', 'type': 'int'}, + 'last_sync_timestamp': {'key': 'lastSyncTimestamp', 'type': 'iso-8601'}, + 'last_sync_success_timestamp': {'key': 'lastSyncSuccessTimestamp', 'type': 'iso-8601'}, + 'last_sync_per_item_error_count': {'key': 'lastSyncPerItemErrorCount', 'type': 'long'}, + 'persistent_files_not_syncing_count': {'key': 'persistentFilesNotSyncingCount', 'type': 'long'}, + 'transient_files_not_syncing_count': {'key': 'transientFilesNotSyncingCount', 'type': 'long'}, + 'files_not_syncing_errors': {'key': 'filesNotSyncingErrors', 'type': '[ServerEndpointFilesNotSyncingError]'}, + } + + def __init__(self, **kwargs) -> None: + super(ServerEndpointSyncSessionStatus, self).__init__(**kwargs) + self.last_sync_result = None + self.last_sync_timestamp = None + self.last_sync_success_timestamp = None + self.last_sync_per_item_error_count = None + self.persistent_files_not_syncing_count = None + self.transient_files_not_syncing_count = None + self.files_not_syncing_errors = None + + +class ServerEndpointSyncStatus(Model): + """Server Endpoint sync status. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar download_health: Download Health Status. Possible values include: + 'Healthy', 'Error', 'SyncBlockedForRestore', + 'SyncBlockedForChangeDetectionPostRestore', 'NoActivity' + :vartype download_health: str or ~azure.mgmt.storagesync.models.enum + :ivar upload_health: Upload Health Status. Possible values include: + 'Healthy', 'Error', 'SyncBlockedForRestore', + 'SyncBlockedForChangeDetectionPostRestore', 'NoActivity' + :vartype upload_health: str or ~azure.mgmt.storagesync.models.enum + :ivar combined_health: Combined Health Status. Possible values include: + 'Healthy', 'Error', 'SyncBlockedForRestore', + 'SyncBlockedForChangeDetectionPostRestore', 'NoActivity' + :vartype combined_health: str or ~azure.mgmt.storagesync.models.enum + :ivar sync_activity: Sync activity. Possible values include: 'Upload', + 'Download', 'UploadAndDownload' + :vartype sync_activity: str or ~azure.mgmt.storagesync.models.enum + :ivar total_persistent_files_not_syncing_count: Total count of persistent + files not syncing (combined upload + download). + :vartype total_persistent_files_not_syncing_count: long + :ivar last_updated_timestamp: Last Updated Timestamp + :vartype last_updated_timestamp: datetime + :ivar upload_status: Upload Status + :vartype upload_status: + ~azure.mgmt.storagesync.models.ServerEndpointSyncSessionStatus + :ivar download_status: Download Status + :vartype download_status: + ~azure.mgmt.storagesync.models.ServerEndpointSyncSessionStatus + :ivar upload_activity: Upload sync activity + :vartype upload_activity: + ~azure.mgmt.storagesync.models.ServerEndpointSyncActivityStatus + :ivar download_activity: Download sync activity + :vartype download_activity: + ~azure.mgmt.storagesync.models.ServerEndpointSyncActivityStatus + :ivar offline_data_transfer_status: Offline Data Transfer State. Possible + values include: 'InProgress', 'Stopping', 'NotRunning', 'Complete' + :vartype offline_data_transfer_status: str or + ~azure.mgmt.storagesync.models.enum + """ + + _validation = { + 'download_health': {'readonly': True}, + 'upload_health': {'readonly': True}, + 'combined_health': {'readonly': True}, + 'sync_activity': {'readonly': True}, + 'total_persistent_files_not_syncing_count': {'readonly': True, 'minimum': 0}, + 'last_updated_timestamp': {'readonly': True}, + 'upload_status': {'readonly': True}, + 'download_status': {'readonly': True}, + 'upload_activity': {'readonly': True}, + 'download_activity': {'readonly': True}, + 'offline_data_transfer_status': {'readonly': True}, + } + + _attribute_map = { + 'download_health': {'key': 'downloadHealth', 'type': 'str'}, + 'upload_health': {'key': 'uploadHealth', 'type': 'str'}, + 'combined_health': {'key': 'combinedHealth', 'type': 'str'}, + 'sync_activity': {'key': 'syncActivity', 'type': 'str'}, + 'total_persistent_files_not_syncing_count': {'key': 'totalPersistentFilesNotSyncingCount', 'type': 'long'}, + 'last_updated_timestamp': {'key': 'lastUpdatedTimestamp', 'type': 'iso-8601'}, + 'upload_status': {'key': 'uploadStatus', 'type': 'ServerEndpointSyncSessionStatus'}, + 'download_status': {'key': 'downloadStatus', 'type': 'ServerEndpointSyncSessionStatus'}, + 'upload_activity': {'key': 'uploadActivity', 'type': 'ServerEndpointSyncActivityStatus'}, + 'download_activity': {'key': 'downloadActivity', 'type': 'ServerEndpointSyncActivityStatus'}, + 'offline_data_transfer_status': {'key': 'offlineDataTransferStatus', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(ServerEndpointSyncStatus, self).__init__(**kwargs) + self.download_health = None + self.upload_health = None + self.combined_health = None + self.sync_activity = None + self.total_persistent_files_not_syncing_count = None + self.last_updated_timestamp = None + self.upload_status = None + self.download_status = None + self.upload_activity = None + self.download_activity = None + self.offline_data_transfer_status = None + + +class ServerEndpointUpdateParameters(Model): + """Parameters for updating an Server Endpoint. + + :param cloud_tiering: Cloud Tiering. Possible values include: 'on', 'off' + :type cloud_tiering: str or ~azure.mgmt.storagesync.models.enum + :param volume_free_space_percent: Level of free space to be maintained by + Cloud Tiering if it is enabled. + :type volume_free_space_percent: int + :param tier_files_older_than_days: Tier files older than days. + :type tier_files_older_than_days: int + :param offline_data_transfer: Offline data transfer. Possible values + include: 'on', 'off' + :type offline_data_transfer: str or ~azure.mgmt.storagesync.models.enum + :param offline_data_transfer_share_name: Offline data transfer share name + :type offline_data_transfer_share_name: str + """ + + _validation = { + 'volume_free_space_percent': {'maximum': 100, 'minimum': 0}, + 'tier_files_older_than_days': {'maximum': 2147483647, 'minimum': 0}, + } + + _attribute_map = { + 'cloud_tiering': {'key': 'properties.cloudTiering', 'type': 'str'}, + 'volume_free_space_percent': {'key': 'properties.volumeFreeSpacePercent', 'type': 'int'}, + 'tier_files_older_than_days': {'key': 'properties.tierFilesOlderThanDays', 'type': 'int'}, + 'offline_data_transfer': {'key': 'properties.offlineDataTransfer', 'type': 'str'}, + 'offline_data_transfer_share_name': {'key': 'properties.offlineDataTransferShareName', 'type': 'str'}, + } + + def __init__(self, *, cloud_tiering=None, volume_free_space_percent: int=None, tier_files_older_than_days: int=None, offline_data_transfer=None, offline_data_transfer_share_name: str=None, **kwargs) -> None: + super(ServerEndpointUpdateParameters, self).__init__(**kwargs) + self.cloud_tiering = cloud_tiering + self.volume_free_space_percent = volume_free_space_percent + self.tier_files_older_than_days = tier_files_older_than_days + self.offline_data_transfer = offline_data_transfer + self.offline_data_transfer_share_name = offline_data_transfer_share_name + + +class StorageSyncApiError(Model): + """Error type. + + :param code: Error code of the given entry. + :type code: str + :param message: Error message of the given entry. + :type message: str + :param target: Target of the given error entry. + :type target: str + :param details: Error details of the given entry. + :type details: ~azure.mgmt.storagesync.models.StorageSyncErrorDetails + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + 'details': {'key': 'details', 'type': 'StorageSyncErrorDetails'}, + } + + def __init__(self, *, code: str=None, message: str=None, target: str=None, details=None, **kwargs) -> None: + super(StorageSyncApiError, self).__init__(**kwargs) + self.code = code + self.message = message + self.target = target + self.details = details + + +class StorageSyncError(Model): + """Error type. + + :param error: Error details of the given entry. + :type error: ~azure.mgmt.storagesync.models.StorageSyncApiError + :param innererror: Error details of the given entry. + :type innererror: ~azure.mgmt.storagesync.models.StorageSyncApiError + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'StorageSyncApiError'}, + 'innererror': {'key': 'innererror', 'type': 'StorageSyncApiError'}, + } + + def __init__(self, *, error=None, innererror=None, **kwargs) -> None: + super(StorageSyncError, self).__init__(**kwargs) + self.error = error + self.innererror = innererror + + +class StorageSyncErrorException(HttpOperationError): + """Server responsed with exception of type: 'StorageSyncError'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(StorageSyncErrorException, self).__init__(deserialize, response, 'StorageSyncError', *args) + + +class StorageSyncErrorDetails(Model): + """Error Details object. + + :param code: Error code of the given entry. + :type code: str + :param message: Error message of the given entry. + :type message: str + :param target: Target of the given entry. + :type target: str + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + } + + def __init__(self, *, code: str=None, message: str=None, target: str=None, **kwargs) -> None: + super(StorageSyncErrorDetails, self).__init__(**kwargs) + self.code = code + self.message = message + self.target = target + + +class TrackedResource(Resource): + """The resource model definition for a ARM tracked top level resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param location: Required. The geo-location where the resource lives + :type location: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'location': {'key': 'location', 'type': 'str'}, + } + + def __init__(self, *, location: str, tags=None, **kwargs) -> None: + super(TrackedResource, self).__init__(**kwargs) + self.tags = tags + self.location = location + + +class StorageSyncService(TrackedResource): + """Storage Sync Service object. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param location: Required. The geo-location where the resource lives + :type location: str + :ivar storage_sync_service_status: Storage Sync service status. + :vartype storage_sync_service_status: int + :ivar storage_sync_service_uid: Storage Sync service Uid + :vartype storage_sync_service_uid: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + 'storage_sync_service_status': {'readonly': True}, + 'storage_sync_service_uid': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'location': {'key': 'location', 'type': 'str'}, + 'storage_sync_service_status': {'key': 'properties.storageSyncServiceStatus', 'type': 'int'}, + 'storage_sync_service_uid': {'key': 'properties.storageSyncServiceUid', 'type': 'str'}, + } + + def __init__(self, *, location: str, tags=None, **kwargs) -> None: + super(StorageSyncService, self).__init__(tags=tags, location=location, **kwargs) + self.storage_sync_service_status = None + self.storage_sync_service_uid = None + + +class StorageSyncServiceCreateParameters(Model): + """The parameters used when creating a storage sync service. + + All required parameters must be populated in order to send to Azure. + + :param location: Required. Required. Gets or sets the location of the + resource. This will be one of the supported and registered Azure Geo + Regions (e.g. West US, East US, Southeast Asia, etc.). The geo region of a + resource cannot be changed once it is created, but if an identical geo + region is specified on update, the request will succeed. + :type location: str + :param tags: Gets or sets a list of key value pairs that describe the + resource. These tags can be used for viewing and grouping this resource + (across resource groups). A maximum of 15 tags can be provided for a + resource. Each tag must have a key with a length no greater than 128 + characters and a value with a length no greater than 256 characters. + :type tags: dict[str, str] + :param properties: + :type properties: object + """ + + _validation = { + 'location': {'required': True}, + } + + _attribute_map = { + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'properties': {'key': 'properties', 'type': 'object'}, + } + + def __init__(self, *, location: str, tags=None, properties=None, **kwargs) -> None: + super(StorageSyncServiceCreateParameters, self).__init__(**kwargs) + self.location = location + self.tags = tags + self.properties = properties + + +class StorageSyncServiceUpdateParameters(Model): + """Parameters for updating an Storage sync service. + + :param tags: The user-specified tags associated with the storage sync + service. + :type tags: dict[str, str] + :param properties: The properties of the storage sync service. + :type properties: object + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + 'properties': {'key': 'properties', 'type': 'object'}, + } + + def __init__(self, *, tags=None, properties=None, **kwargs) -> None: + super(StorageSyncServiceUpdateParameters, self).__init__(**kwargs) + self.tags = tags + self.properties = properties + + +class SubscriptionState(Model): + """Subscription State object. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param state: State of Azure Subscription. Possible values include: + 'Registered', 'Unregistered', 'Warned', 'Suspended', 'Deleted' + :type state: str or ~azure.mgmt.storagesync.models.Reason + :ivar istransitioning: Is Transitioning + :vartype istransitioning: bool + :param properties: Subscription state properties. + :type properties: object + """ + + _validation = { + 'istransitioning': {'readonly': True}, + } + + _attribute_map = { + 'state': {'key': 'state', 'type': 'str'}, + 'istransitioning': {'key': 'istransitioning', 'type': 'bool'}, + 'properties': {'key': 'properties', 'type': 'object'}, + } + + def __init__(self, *, state=None, properties=None, **kwargs) -> None: + super(SubscriptionState, self).__init__(**kwargs) + self.state = state + self.istransitioning = None + self.properties = properties + + +class SyncGroup(ProxyResource): + """Sync Group object. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :ivar unique_id: Unique Id + :vartype unique_id: str + :ivar sync_group_status: Sync group status + :vartype sync_group_status: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'unique_id': {'readonly': True}, + 'sync_group_status': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'unique_id': {'key': 'properties.uniqueId', 'type': 'str'}, + 'sync_group_status': {'key': 'properties.syncGroupStatus', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(SyncGroup, self).__init__(**kwargs) + self.unique_id = None + self.sync_group_status = None + + +class SyncGroupCreateParameters(ProxyResource): + """The parameters used when creating a sync group. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :param properties: The parameters used to create the sync group + :type properties: object + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'object'}, + } + + def __init__(self, *, properties=None, **kwargs) -> None: + super(SyncGroupCreateParameters, self).__init__(**kwargs) + self.properties = properties + + +class TriggerChangeDetectionParameters(Model): + """The parameters used when calling trigger change detection action on cloud + endpoint. + + :param directory_path: Relative path to a directory Azure File share for + which change detection is to be performed. + :type directory_path: str + :param change_detection_mode: Change Detection Mode. Applies to a + directory specified in directoryPath parameter. Possible values include: + 'Default', 'Recursive' + :type change_detection_mode: str or + ~azure.mgmt.storagesync.models.ChangeDetectionMode + :param paths: Array of relative paths on the Azure File share to be + included in the change detection. Can be files and directories. + :type paths: list[str] + """ + + _attribute_map = { + 'directory_path': {'key': 'directoryPath', 'type': 'str'}, + 'change_detection_mode': {'key': 'changeDetectionMode', 'type': 'str'}, + 'paths': {'key': 'paths', 'type': '[str]'}, + } + + def __init__(self, *, directory_path: str=None, change_detection_mode=None, paths=None, **kwargs) -> None: + super(TriggerChangeDetectionParameters, self).__init__(**kwargs) + self.directory_path = directory_path + self.change_detection_mode = change_detection_mode + self.paths = paths + + +class TriggerRolloverRequest(Model): + """Trigger Rollover Request. + + :param server_certificate: Certificate Data + :type server_certificate: str + """ + + _attribute_map = { + 'server_certificate': {'key': 'serverCertificate', 'type': 'str'}, + } + + def __init__(self, *, server_certificate: str=None, **kwargs) -> None: + super(TriggerRolloverRequest, self).__init__(**kwargs) + self.server_certificate = server_certificate + + +class Workflow(ProxyResource): + """Workflow resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :param last_step_name: last step name + :type last_step_name: str + :param status: workflow status. Possible values include: 'active', + 'expired', 'succeeded', 'aborted', 'failed' + :type status: str or ~azure.mgmt.storagesync.models.enum + :param operation: operation direction. Possible values include: 'do', + 'undo', 'cancel' + :type operation: str or ~azure.mgmt.storagesync.models.enum + :param steps: workflow steps + :type steps: str + :param last_operation_id: workflow last operation identifier. + :type last_operation_id: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'last_step_name': {'key': 'properties.lastStepName', 'type': 'str'}, + 'status': {'key': 'properties.status', 'type': 'str'}, + 'operation': {'key': 'properties.operation', 'type': 'str'}, + 'steps': {'key': 'properties.steps', 'type': 'str'}, + 'last_operation_id': {'key': 'properties.lastOperationId', 'type': 'str'}, + } + + def __init__(self, *, last_step_name: str=None, status=None, operation=None, steps: str=None, last_operation_id: str=None, **kwargs) -> None: + super(Workflow, self).__init__(**kwargs) + self.last_step_name = last_step_name + self.status = status + self.operation = operation + self.steps = steps + self.last_operation_id = last_operation_id diff --git a/src/storagesync/azext_storagesync/vendored_sdks/storagesync/models/_paged_models.py b/src/storagesync/azext_storagesync/vendored_sdks/storagesync/models/_paged_models.py new file mode 100644 index 00000000000..375104a5730 --- /dev/null +++ b/src/storagesync/azext_storagesync/vendored_sdks/storagesync/models/_paged_models.py @@ -0,0 +1,105 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.paging import Paged + + +class OperationEntityPaged(Paged): + """ + A paging container for iterating over a list of :class:`OperationEntity ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[OperationEntity]'} + } + + def __init__(self, *args, **kwargs): + + super(OperationEntityPaged, self).__init__(*args, **kwargs) +class StorageSyncServicePaged(Paged): + """ + A paging container for iterating over a list of :class:`StorageSyncService ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[StorageSyncService]'} + } + + def __init__(self, *args, **kwargs): + + super(StorageSyncServicePaged, self).__init__(*args, **kwargs) +class SyncGroupPaged(Paged): + """ + A paging container for iterating over a list of :class:`SyncGroup ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[SyncGroup]'} + } + + def __init__(self, *args, **kwargs): + + super(SyncGroupPaged, self).__init__(*args, **kwargs) +class CloudEndpointPaged(Paged): + """ + A paging container for iterating over a list of :class:`CloudEndpoint ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[CloudEndpoint]'} + } + + def __init__(self, *args, **kwargs): + + super(CloudEndpointPaged, self).__init__(*args, **kwargs) +class ServerEndpointPaged(Paged): + """ + A paging container for iterating over a list of :class:`ServerEndpoint ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ServerEndpoint]'} + } + + def __init__(self, *args, **kwargs): + + super(ServerEndpointPaged, self).__init__(*args, **kwargs) +class RegisteredServerPaged(Paged): + """ + A paging container for iterating over a list of :class:`RegisteredServer ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[RegisteredServer]'} + } + + def __init__(self, *args, **kwargs): + + super(RegisteredServerPaged, self).__init__(*args, **kwargs) +class WorkflowPaged(Paged): + """ + A paging container for iterating over a list of :class:`Workflow ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[Workflow]'} + } + + def __init__(self, *args, **kwargs): + + super(WorkflowPaged, self).__init__(*args, **kwargs) diff --git a/src/storagesync/azext_storagesync/vendored_sdks/storagesync/models/_storage_sync_management_client_enums.py b/src/storagesync/azext_storagesync/vendored_sdks/storagesync/models/_storage_sync_management_client_enums.py new file mode 100644 index 00000000000..769a68bf920 --- /dev/null +++ b/src/storagesync/azext_storagesync/vendored_sdks/storagesync/models/_storage_sync_management_client_enums.py @@ -0,0 +1,33 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from enum import Enum + + +class Reason(str, Enum): + + registered = "Registered" + unregistered = "Unregistered" + warned = "Warned" + suspended = "Suspended" + deleted = "Deleted" + + +class ChangeDetectionMode(str, Enum): + + default = "Default" + recursive = "Recursive" + + +class NameAvailabilityReason(str, Enum): + + invalid = "Invalid" + already_exists = "AlreadyExists" diff --git a/src/storagesync/azext_storagesync/vendored_sdks/storagesync/operations/__init__.py b/src/storagesync/azext_storagesync/vendored_sdks/storagesync/operations/__init__.py new file mode 100644 index 00000000000..8d799c11044 --- /dev/null +++ b/src/storagesync/azext_storagesync/vendored_sdks/storagesync/operations/__init__.py @@ -0,0 +1,30 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from ._operations import Operations +from ._storage_sync_services_operations import StorageSyncServicesOperations +from ._sync_groups_operations import SyncGroupsOperations +from ._cloud_endpoints_operations import CloudEndpointsOperations +from ._server_endpoints_operations import ServerEndpointsOperations +from ._registered_servers_operations import RegisteredServersOperations +from ._workflows_operations import WorkflowsOperations +from ._operation_status_operations import OperationStatusOperations + +__all__ = [ + 'Operations', + 'StorageSyncServicesOperations', + 'SyncGroupsOperations', + 'CloudEndpointsOperations', + 'ServerEndpointsOperations', + 'RegisteredServersOperations', + 'WorkflowsOperations', + 'OperationStatusOperations', +] diff --git a/src/storagesync/azext_storagesync/vendored_sdks/storagesync/operations/_cloud_endpoints_operations.py b/src/storagesync/azext_storagesync/vendored_sdks/storagesync/operations/_cloud_endpoints_operations.py new file mode 100644 index 00000000000..36cb6869a69 --- /dev/null +++ b/src/storagesync/azext_storagesync/vendored_sdks/storagesync/operations/_cloud_endpoints_operations.py @@ -0,0 +1,1037 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class CloudEndpointsOperations(object): + """CloudEndpointsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2019-06-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2019-06-01" + + self.config = config + + + def _create_initial( + self, resource_group_name, storage_sync_service_name, sync_group_name, cloud_endpoint_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'storageSyncServiceName': self._serialize.url("storage_sync_service_name", storage_sync_service_name, 'str'), + 'syncGroupName': self._serialize.url("sync_group_name", sync_group_name, 'str'), + 'cloudEndpointName': self._serialize.url("cloud_endpoint_name", cloud_endpoint_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'CloudEndpointCreateParameters') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + raise models.StorageSyncErrorException(self._deserialize, response) + + deserialized = None + header_dict = {} + + if response.status_code == 200: + deserialized = self._deserialize('CloudEndpoint', response) + header_dict = { + 'x-ms-request-id': 'str', + 'x-ms-correlation-request-id': 'str', + 'Azure-AsyncOperation': 'str', + 'Location': 'str', + 'Retry-After': 'str', + } + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + client_raw_response.add_headers(header_dict) + return client_raw_response + + return deserialized + + def create( + self, resource_group_name, storage_sync_service_name, sync_group_name, cloud_endpoint_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Create a new CloudEndpoint. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param storage_sync_service_name: Name of Storage Sync Service + resource. + :type storage_sync_service_name: str + :param sync_group_name: Name of Sync Group resource. + :type sync_group_name: str + :param cloud_endpoint_name: Name of Cloud Endpoint object. + :type cloud_endpoint_name: str + :param parameters: Body of Cloud Endpoint resource. + :type parameters: + ~azure.mgmt.storagesync.models.CloudEndpointCreateParameters + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns CloudEndpoint or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.storagesync.models.CloudEndpoint] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.storagesync.models.CloudEndpoint]] + :raises: + :class:`StorageSyncErrorException` + """ + raw_result = self._create_initial( + resource_group_name=resource_group_name, + storage_sync_service_name=storage_sync_service_name, + sync_group_name=sync_group_name, + cloud_endpoint_name=cloud_endpoint_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + header_dict = { + 'x-ms-request-id': 'str', + 'x-ms-correlation-request-id': 'str', + 'Azure-AsyncOperation': 'str', + 'Location': 'str', + 'Retry-After': 'str', + } + deserialized = self._deserialize('CloudEndpoint', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + client_raw_response.add_headers(header_dict) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/syncGroups/{syncGroupName}/cloudEndpoints/{cloudEndpointName}'} + + def get( + self, resource_group_name, storage_sync_service_name, sync_group_name, cloud_endpoint_name, custom_headers=None, raw=False, **operation_config): + """Get a given CloudEndpoint. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param storage_sync_service_name: Name of Storage Sync Service + resource. + :type storage_sync_service_name: str + :param sync_group_name: Name of Sync Group resource. + :type sync_group_name: str + :param cloud_endpoint_name: Name of Cloud Endpoint object. + :type cloud_endpoint_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: CloudEndpoint or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.storagesync.models.CloudEndpoint or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`StorageSyncErrorException` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'storageSyncServiceName': self._serialize.url("storage_sync_service_name", storage_sync_service_name, 'str'), + 'syncGroupName': self._serialize.url("sync_group_name", sync_group_name, 'str'), + 'cloudEndpointName': self._serialize.url("cloud_endpoint_name", cloud_endpoint_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.StorageSyncErrorException(self._deserialize, response) + + header_dict = {} + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('CloudEndpoint', response) + header_dict = { + 'x-ms-request-id': 'str', + 'x-ms-correlation-request-id': 'str', + } + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + client_raw_response.add_headers(header_dict) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/syncGroups/{syncGroupName}/cloudEndpoints/{cloudEndpointName}'} + + + def _delete_initial( + self, resource_group_name, storage_sync_service_name, sync_group_name, cloud_endpoint_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'storageSyncServiceName': self._serialize.url("storage_sync_service_name", storage_sync_service_name, 'str'), + 'syncGroupName': self._serialize.url("sync_group_name", sync_group_name, 'str'), + 'cloudEndpointName': self._serialize.url("cloud_endpoint_name", cloud_endpoint_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + raise models.StorageSyncErrorException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + header_dict = { + 'x-ms-request-id': 'str', + 'x-ms-correlation-request-id': 'str', + 'Azure-AsyncOperation': 'str', + 'Location': 'str', + 'Retry-After': 'str', + } + client_raw_response.add_headers(header_dict) + return client_raw_response + + def delete( + self, resource_group_name, storage_sync_service_name, sync_group_name, cloud_endpoint_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Delete a given CloudEndpoint. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param storage_sync_service_name: Name of Storage Sync Service + resource. + :type storage_sync_service_name: str + :param sync_group_name: Name of Sync Group resource. + :type sync_group_name: str + :param cloud_endpoint_name: Name of Cloud Endpoint object. + :type cloud_endpoint_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: + :class:`StorageSyncErrorException` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + storage_sync_service_name=storage_sync_service_name, + sync_group_name=sync_group_name, + cloud_endpoint_name=cloud_endpoint_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + client_raw_response.add_headers({ + 'x-ms-request-id': 'str', + 'x-ms-correlation-request-id': 'str', + 'Azure-AsyncOperation': 'str', + 'Location': 'str', + 'Retry-After': 'str', + }) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/syncGroups/{syncGroupName}/cloudEndpoints/{cloudEndpointName}'} + + def list_by_sync_group( + self, resource_group_name, storage_sync_service_name, sync_group_name, custom_headers=None, raw=False, **operation_config): + """Get a CloudEndpoint List. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param storage_sync_service_name: Name of Storage Sync Service + resource. + :type storage_sync_service_name: str + :param sync_group_name: Name of Sync Group resource. + :type sync_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of CloudEndpoint + :rtype: + ~azure.mgmt.storagesync.models.CloudEndpointPaged[~azure.mgmt.storagesync.models.CloudEndpoint] + :raises: + :class:`StorageSyncErrorException` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_sync_group.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'storageSyncServiceName': self._serialize.url("storage_sync_service_name", storage_sync_service_name, 'str'), + 'syncGroupName': self._serialize.url("sync_group_name", sync_group_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.StorageSyncErrorException(self._deserialize, response) + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.CloudEndpointPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_sync_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/syncGroups/{syncGroupName}/cloudEndpoints'} + + + def _pre_backup_initial( + self, resource_group_name, storage_sync_service_name, sync_group_name, cloud_endpoint_name, azure_file_share=None, custom_headers=None, raw=False, **operation_config): + parameters = models.BackupRequest(azure_file_share=azure_file_share) + + # Construct URL + url = self.pre_backup.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'storageSyncServiceName': self._serialize.url("storage_sync_service_name", storage_sync_service_name, 'str'), + 'syncGroupName': self._serialize.url("sync_group_name", sync_group_name, 'str'), + 'cloudEndpointName': self._serialize.url("cloud_endpoint_name", cloud_endpoint_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # 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, 'BackupRequest') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + raise models.StorageSyncErrorException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + header_dict = { + 'Location': 'str', + 'x-ms-request-id': 'str', + 'x-ms-correlation-request-id': 'str', + } + client_raw_response.add_headers(header_dict) + return client_raw_response + + def pre_backup( + self, resource_group_name, storage_sync_service_name, sync_group_name, cloud_endpoint_name, azure_file_share=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Pre Backup a given CloudEndpoint. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param storage_sync_service_name: Name of Storage Sync Service + resource. + :type storage_sync_service_name: str + :param sync_group_name: Name of Sync Group resource. + :type sync_group_name: str + :param cloud_endpoint_name: Name of Cloud Endpoint object. + :type cloud_endpoint_name: str + :param azure_file_share: Azure File Share. + :type azure_file_share: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: + :class:`StorageSyncErrorException` + """ + raw_result = self._pre_backup_initial( + resource_group_name=resource_group_name, + storage_sync_service_name=storage_sync_service_name, + sync_group_name=sync_group_name, + cloud_endpoint_name=cloud_endpoint_name, + azure_file_share=azure_file_share, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + client_raw_response.add_headers({ + 'Location': 'str', + 'x-ms-request-id': 'str', + 'x-ms-correlation-request-id': 'str', + }) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + pre_backup.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/syncGroups/{syncGroupName}/cloudEndpoints/{cloudEndpointName}/prebackup'} + + + def _post_backup_initial( + self, resource_group_name, storage_sync_service_name, sync_group_name, cloud_endpoint_name, azure_file_share=None, custom_headers=None, raw=False, **operation_config): + parameters = models.BackupRequest(azure_file_share=azure_file_share) + + # Construct URL + url = self.post_backup.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'storageSyncServiceName': self._serialize.url("storage_sync_service_name", storage_sync_service_name, 'str'), + 'syncGroupName': self._serialize.url("sync_group_name", sync_group_name, 'str'), + 'cloudEndpointName': self._serialize.url("cloud_endpoint_name", cloud_endpoint_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'BackupRequest') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + raise models.StorageSyncErrorException(self._deserialize, response) + + deserialized = None + header_dict = {} + + if response.status_code == 200: + deserialized = self._deserialize('PostBackupResponse', response) + header_dict = { + 'Location': 'str', + 'x-ms-request-id': 'str', + 'x-ms-correlation-request-id': 'str', + } + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + client_raw_response.add_headers(header_dict) + return client_raw_response + + return deserialized + + def post_backup( + self, resource_group_name, storage_sync_service_name, sync_group_name, cloud_endpoint_name, azure_file_share=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Post Backup a given CloudEndpoint. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param storage_sync_service_name: Name of Storage Sync Service + resource. + :type storage_sync_service_name: str + :param sync_group_name: Name of Sync Group resource. + :type sync_group_name: str + :param cloud_endpoint_name: Name of Cloud Endpoint object. + :type cloud_endpoint_name: str + :param azure_file_share: Azure File Share. + :type azure_file_share: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns PostBackupResponse or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.storagesync.models.PostBackupResponse] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.storagesync.models.PostBackupResponse]] + :raises: + :class:`StorageSyncErrorException` + """ + raw_result = self._post_backup_initial( + resource_group_name=resource_group_name, + storage_sync_service_name=storage_sync_service_name, + sync_group_name=sync_group_name, + cloud_endpoint_name=cloud_endpoint_name, + azure_file_share=azure_file_share, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + header_dict = { + 'Location': 'str', + 'x-ms-request-id': 'str', + 'x-ms-correlation-request-id': 'str', + } + deserialized = self._deserialize('PostBackupResponse', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + client_raw_response.add_headers(header_dict) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + post_backup.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/syncGroups/{syncGroupName}/cloudEndpoints/{cloudEndpointName}/postbackup'} + + + def _pre_restore_initial( + self, resource_group_name, storage_sync_service_name, sync_group_name, cloud_endpoint_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.pre_restore.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'storageSyncServiceName': self._serialize.url("storage_sync_service_name", storage_sync_service_name, 'str'), + 'syncGroupName': self._serialize.url("sync_group_name", sync_group_name, 'str'), + 'cloudEndpointName': self._serialize.url("cloud_endpoint_name", cloud_endpoint_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # 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, 'PreRestoreRequest') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + raise models.StorageSyncErrorException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + header_dict = { + 'Location': 'str', + 'x-ms-request-id': 'str', + 'x-ms-correlation-request-id': 'str', + } + client_raw_response.add_headers(header_dict) + return client_raw_response + + def pre_restore( + self, resource_group_name, storage_sync_service_name, sync_group_name, cloud_endpoint_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Pre Restore a given CloudEndpoint. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param storage_sync_service_name: Name of Storage Sync Service + resource. + :type storage_sync_service_name: str + :param sync_group_name: Name of Sync Group resource. + :type sync_group_name: str + :param cloud_endpoint_name: Name of Cloud Endpoint object. + :type cloud_endpoint_name: str + :param parameters: Body of Cloud Endpoint object. + :type parameters: ~azure.mgmt.storagesync.models.PreRestoreRequest + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: + :class:`StorageSyncErrorException` + """ + raw_result = self._pre_restore_initial( + resource_group_name=resource_group_name, + storage_sync_service_name=storage_sync_service_name, + sync_group_name=sync_group_name, + cloud_endpoint_name=cloud_endpoint_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + client_raw_response.add_headers({ + 'Location': 'str', + 'x-ms-request-id': 'str', + 'x-ms-correlation-request-id': 'str', + }) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + pre_restore.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/syncGroups/{syncGroupName}/cloudEndpoints/{cloudEndpointName}/prerestore'} + + def restoreheartbeat( + self, resource_group_name, storage_sync_service_name, sync_group_name, cloud_endpoint_name, custom_headers=None, raw=False, **operation_config): + """Restore Heartbeat a given CloudEndpoint. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param storage_sync_service_name: Name of Storage Sync Service + resource. + :type storage_sync_service_name: str + :param sync_group_name: Name of Sync Group resource. + :type sync_group_name: str + :param cloud_endpoint_name: Name of Cloud Endpoint object. + :type cloud_endpoint_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`StorageSyncErrorException` + """ + # Construct URL + url = self.restoreheartbeat.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'storageSyncServiceName': self._serialize.url("storage_sync_service_name", storage_sync_service_name, 'str'), + 'syncGroupName': self._serialize.url("sync_group_name", sync_group_name, 'str'), + 'cloudEndpointName': self._serialize.url("cloud_endpoint_name", cloud_endpoint_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.StorageSyncErrorException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + client_raw_response.add_headers({ + 'x-ms-request-id': 'str', + 'x-ms-correlation-request-id': 'str', + }) + return client_raw_response + restoreheartbeat.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/syncGroups/{syncGroupName}/cloudEndpoints/{cloudEndpointName}/restoreheartbeat'} + + + def _post_restore_initial( + self, resource_group_name, storage_sync_service_name, sync_group_name, cloud_endpoint_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.post_restore.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'storageSyncServiceName': self._serialize.url("storage_sync_service_name", storage_sync_service_name, 'str'), + 'syncGroupName': self._serialize.url("sync_group_name", sync_group_name, 'str'), + 'cloudEndpointName': self._serialize.url("cloud_endpoint_name", cloud_endpoint_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # 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, 'PostRestoreRequest') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + raise models.StorageSyncErrorException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + header_dict = { + 'Location': 'str', + 'x-ms-request-id': 'str', + 'x-ms-correlation-request-id': 'str', + } + client_raw_response.add_headers(header_dict) + return client_raw_response + + def post_restore( + self, resource_group_name, storage_sync_service_name, sync_group_name, cloud_endpoint_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Post Restore a given CloudEndpoint. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param storage_sync_service_name: Name of Storage Sync Service + resource. + :type storage_sync_service_name: str + :param sync_group_name: Name of Sync Group resource. + :type sync_group_name: str + :param cloud_endpoint_name: Name of Cloud Endpoint object. + :type cloud_endpoint_name: str + :param parameters: Body of Cloud Endpoint object. + :type parameters: ~azure.mgmt.storagesync.models.PostRestoreRequest + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: + :class:`StorageSyncErrorException` + """ + raw_result = self._post_restore_initial( + resource_group_name=resource_group_name, + storage_sync_service_name=storage_sync_service_name, + sync_group_name=sync_group_name, + cloud_endpoint_name=cloud_endpoint_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + client_raw_response.add_headers({ + 'Location': 'str', + 'x-ms-request-id': 'str', + 'x-ms-correlation-request-id': 'str', + }) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + post_restore.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/syncGroups/{syncGroupName}/cloudEndpoints/{cloudEndpointName}/postrestore'} + + + def _trigger_change_detection_initial( + self, resource_group_name, storage_sync_service_name, sync_group_name, cloud_endpoint_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.trigger_change_detection.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'storageSyncServiceName': self._serialize.url("storage_sync_service_name", storage_sync_service_name, 'str'), + 'syncGroupName': self._serialize.url("sync_group_name", sync_group_name, 'str'), + 'cloudEndpointName': self._serialize.url("cloud_endpoint_name", cloud_endpoint_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # 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, 'TriggerChangeDetectionParameters') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + raise models.StorageSyncErrorException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + header_dict = { + 'Location': 'str', + 'x-ms-request-id': 'str', + 'x-ms-correlation-request-id': 'str', + } + client_raw_response.add_headers(header_dict) + return client_raw_response + + def trigger_change_detection( + self, resource_group_name, storage_sync_service_name, sync_group_name, cloud_endpoint_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Triggers detection of changes performed on Azure File share connected + to the specified Azure File Sync Cloud Endpoint. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param storage_sync_service_name: Name of Storage Sync Service + resource. + :type storage_sync_service_name: str + :param sync_group_name: Name of Sync Group resource. + :type sync_group_name: str + :param cloud_endpoint_name: Name of Cloud Endpoint object. + :type cloud_endpoint_name: str + :param parameters: Trigger Change Detection Action parameters. + :type parameters: + ~azure.mgmt.storagesync.models.TriggerChangeDetectionParameters + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: + :class:`StorageSyncErrorException` + """ + raw_result = self._trigger_change_detection_initial( + resource_group_name=resource_group_name, + storage_sync_service_name=storage_sync_service_name, + sync_group_name=sync_group_name, + cloud_endpoint_name=cloud_endpoint_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + client_raw_response.add_headers({ + 'Location': 'str', + 'x-ms-request-id': 'str', + 'x-ms-correlation-request-id': 'str', + }) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + trigger_change_detection.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/syncGroups/{syncGroupName}/cloudEndpoints/{cloudEndpointName}/triggerChangeDetection'} diff --git a/src/storagesync/azext_storagesync/vendored_sdks/storagesync/operations/_operation_status_operations.py b/src/storagesync/azext_storagesync/vendored_sdks/storagesync/operations/_operation_status_operations.py new file mode 100644 index 00000000000..2e16f651314 --- /dev/null +++ b/src/storagesync/azext_storagesync/vendored_sdks/storagesync/operations/_operation_status_operations.py @@ -0,0 +1,112 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse + +from .. import models + + +class OperationStatusOperations(object): + """OperationStatusOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2019-06-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2019-06-01" + + self.config = config + + def get( + self, resource_group_name, location_name, workflow_id, operation_id, custom_headers=None, raw=False, **operation_config): + """Get Operation status. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param location_name: The desired region to obtain information from. + :type location_name: str + :param workflow_id: workflow Id + :type workflow_id: str + :param operation_id: operation Id + :type operation_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 + :param operation_config: :ref:`Operation configuration + overrides`. + :return: OperationStatus or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.storagesync.models.OperationStatus or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`StorageSyncErrorException` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'locationName': self._serialize.url("location_name", location_name, 'str'), + 'workflowId': self._serialize.url("workflow_id", workflow_id, 'str'), + 'operationId': self._serialize.url("operation_id", operation_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.StorageSyncErrorException(self._deserialize, response) + + header_dict = {} + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('OperationStatus', response) + header_dict = { + 'x-ms-request-id': 'str', + 'x-ms-correlation-request-id': 'str', + } + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + client_raw_response.add_headers(header_dict) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/locations/{locationName}/workflows/{workflowId}/operations/{operationId}'} diff --git a/src/storagesync/azext_storagesync/vendored_sdks/storagesync/operations/_operations.py b/src/storagesync/azext_storagesync/vendored_sdks/storagesync/operations/_operations.py new file mode 100644 index 00000000000..5c5e1cda778 --- /dev/null +++ b/src/storagesync/azext_storagesync/vendored_sdks/storagesync/operations/_operations.py @@ -0,0 +1,100 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse + +from .. import models + + +class Operations(object): + """Operations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2019-06-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2019-06-01" + + self.config = config + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Lists all of the available Storage Sync Rest API operations. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of OperationEntity + :rtype: + ~azure.mgmt.storagesync.models.OperationEntityPaged[~azure.mgmt.storagesync.models.OperationEntity] + :raises: + :class:`StorageSyncErrorException` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.StorageSyncErrorException(self._deserialize, response) + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.OperationEntityPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/providers/Microsoft.StorageSync/operations'} diff --git a/src/storagesync/azext_storagesync/vendored_sdks/storagesync/operations/_registered_servers_operations.py b/src/storagesync/azext_storagesync/vendored_sdks/storagesync/operations/_registered_servers_operations.py new file mode 100644 index 00000000000..ded9d05e5e1 --- /dev/null +++ b/src/storagesync/azext_storagesync/vendored_sdks/storagesync/operations/_registered_servers_operations.py @@ -0,0 +1,505 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class RegisteredServersOperations(object): + """RegisteredServersOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2019-06-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2019-06-01" + + self.config = config + + def list_by_storage_sync_service( + self, resource_group_name, storage_sync_service_name, custom_headers=None, raw=False, **operation_config): + """Get a given registered server list. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param storage_sync_service_name: Name of Storage Sync Service + resource. + :type storage_sync_service_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of RegisteredServer + :rtype: + ~azure.mgmt.storagesync.models.RegisteredServerPaged[~azure.mgmt.storagesync.models.RegisteredServer] + :raises: + :class:`StorageSyncErrorException` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_storage_sync_service.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'storageSyncServiceName': self._serialize.url("storage_sync_service_name", storage_sync_service_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.StorageSyncErrorException(self._deserialize, response) + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.RegisteredServerPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_storage_sync_service.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/registeredServers'} + + def get( + self, resource_group_name, storage_sync_service_name, server_id, custom_headers=None, raw=False, **operation_config): + """Get a given registered server. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param storage_sync_service_name: Name of Storage Sync Service + resource. + :type storage_sync_service_name: str + :param server_id: GUID identifying the on-premises server. + :type server_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 + :param operation_config: :ref:`Operation configuration + overrides`. + :return: RegisteredServer or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.storagesync.models.RegisteredServer or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`StorageSyncErrorException` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'storageSyncServiceName': self._serialize.url("storage_sync_service_name", storage_sync_service_name, 'str'), + 'serverId': self._serialize.url("server_id", server_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.StorageSyncErrorException(self._deserialize, response) + + header_dict = {} + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('RegisteredServer', response) + header_dict = { + 'x-ms-request-id': 'str', + 'x-ms-correlation-request-id': 'str', + } + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + client_raw_response.add_headers(header_dict) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/registeredServers/{serverId}'} + + + def _create_initial( + self, resource_group_name, storage_sync_service_name, server_id, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'storageSyncServiceName': self._serialize.url("storage_sync_service_name", storage_sync_service_name, 'str'), + 'serverId': self._serialize.url("server_id", server_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'RegisteredServerCreateParameters') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + raise models.StorageSyncErrorException(self._deserialize, response) + + deserialized = None + header_dict = {} + + if response.status_code == 200: + deserialized = self._deserialize('RegisteredServer', response) + header_dict = { + 'x-ms-request-id': 'str', + 'x-ms-correlation-request-id': 'str', + 'Azure-AsyncOperation': 'str', + 'Location': 'str', + } + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + client_raw_response.add_headers(header_dict) + return client_raw_response + + return deserialized + + def create( + self, resource_group_name, storage_sync_service_name, server_id, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Add a new registered server. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param storage_sync_service_name: Name of Storage Sync Service + resource. + :type storage_sync_service_name: str + :param server_id: GUID identifying the on-premises server. + :type server_id: str + :param parameters: Body of Registered Server object. + :type parameters: + ~azure.mgmt.storagesync.models.RegisteredServerCreateParameters + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns RegisteredServer or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.storagesync.models.RegisteredServer] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.storagesync.models.RegisteredServer]] + :raises: + :class:`StorageSyncErrorException` + """ + raw_result = self._create_initial( + resource_group_name=resource_group_name, + storage_sync_service_name=storage_sync_service_name, + server_id=server_id, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + header_dict = { + 'x-ms-request-id': 'str', + 'x-ms-correlation-request-id': 'str', + 'Azure-AsyncOperation': 'str', + 'Location': 'str', + } + deserialized = self._deserialize('RegisteredServer', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + client_raw_response.add_headers(header_dict) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/registeredServers/{serverId}'} + + + def _delete_initial( + self, resource_group_name, storage_sync_service_name, server_id, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'storageSyncServiceName': self._serialize.url("storage_sync_service_name", storage_sync_service_name, 'str'), + 'serverId': self._serialize.url("server_id", server_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + raise models.StorageSyncErrorException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + header_dict = { + 'x-ms-request-id': 'str', + 'x-ms-correlation-request-id': 'str', + 'Location': 'str', + } + client_raw_response.add_headers(header_dict) + return client_raw_response + + def delete( + self, resource_group_name, storage_sync_service_name, server_id, custom_headers=None, raw=False, polling=True, **operation_config): + """Delete the given registered server. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param storage_sync_service_name: Name of Storage Sync Service + resource. + :type storage_sync_service_name: str + :param server_id: GUID identifying the on-premises server. + :type server_id: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: + :class:`StorageSyncErrorException` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + storage_sync_service_name=storage_sync_service_name, + server_id=server_id, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + client_raw_response.add_headers({ + 'x-ms-request-id': 'str', + 'x-ms-correlation-request-id': 'str', + 'Location': 'str', + }) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/registeredServers/{serverId}'} + + + def _trigger_rollover_initial( + self, resource_group_name, storage_sync_service_name, server_id, server_certificate=None, custom_headers=None, raw=False, **operation_config): + parameters = models.TriggerRolloverRequest(server_certificate=server_certificate) + + # Construct URL + url = self.trigger_rollover.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'storageSyncServiceName': self._serialize.url("storage_sync_service_name", storage_sync_service_name, 'str'), + 'serverId': self._serialize.url("server_id", server_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # 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, 'TriggerRolloverRequest') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + raise models.StorageSyncErrorException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + header_dict = { + 'x-ms-request-id': 'str', + 'x-ms-correlation-request-id': 'str', + 'Location': 'str', + } + client_raw_response.add_headers(header_dict) + return client_raw_response + + def trigger_rollover( + self, resource_group_name, storage_sync_service_name, server_id, server_certificate=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Triggers Server certificate rollover. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param storage_sync_service_name: Name of Storage Sync Service + resource. + :type storage_sync_service_name: str + :param server_id: Server Id + :type server_id: str + :param server_certificate: Certificate Data + :type server_certificate: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: + :class:`StorageSyncErrorException` + """ + raw_result = self._trigger_rollover_initial( + resource_group_name=resource_group_name, + storage_sync_service_name=storage_sync_service_name, + server_id=server_id, + server_certificate=server_certificate, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + client_raw_response.add_headers({ + 'x-ms-request-id': 'str', + 'x-ms-correlation-request-id': 'str', + 'Location': 'str', + }) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + trigger_rollover.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/registeredServers/{serverId}/triggerRollover'} diff --git a/src/storagesync/azext_storagesync/vendored_sdks/storagesync/operations/_server_endpoints_operations.py b/src/storagesync/azext_storagesync/vendored_sdks/storagesync/operations/_server_endpoints_operations.py new file mode 100644 index 00000000000..37c6a91f22e --- /dev/null +++ b/src/storagesync/azext_storagesync/vendored_sdks/storagesync/operations/_server_endpoints_operations.py @@ -0,0 +1,654 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class ServerEndpointsOperations(object): + """ServerEndpointsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2019-06-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2019-06-01" + + self.config = config + + + def _create_initial( + self, resource_group_name, storage_sync_service_name, sync_group_name, server_endpoint_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'storageSyncServiceName': self._serialize.url("storage_sync_service_name", storage_sync_service_name, 'str'), + 'syncGroupName': self._serialize.url("sync_group_name", sync_group_name, 'str'), + 'serverEndpointName': self._serialize.url("server_endpoint_name", server_endpoint_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'ServerEndpointCreateParameters') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + raise models.StorageSyncErrorException(self._deserialize, response) + + deserialized = None + header_dict = {} + + if response.status_code == 200: + deserialized = self._deserialize('ServerEndpoint', response) + header_dict = { + 'x-ms-request-id': 'str', + 'x-ms-correlation-request-id': 'str', + 'Azure-AsyncOperation': 'str', + 'Location': 'str', + } + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + client_raw_response.add_headers(header_dict) + return client_raw_response + + return deserialized + + def create( + self, resource_group_name, storage_sync_service_name, sync_group_name, server_endpoint_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Create a new ServerEndpoint. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param storage_sync_service_name: Name of Storage Sync Service + resource. + :type storage_sync_service_name: str + :param sync_group_name: Name of Sync Group resource. + :type sync_group_name: str + :param server_endpoint_name: Name of Server Endpoint object. + :type server_endpoint_name: str + :param parameters: Body of Server Endpoint object. + :type parameters: + ~azure.mgmt.storagesync.models.ServerEndpointCreateParameters + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns ServerEndpoint or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.storagesync.models.ServerEndpoint] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.storagesync.models.ServerEndpoint]] + :raises: + :class:`StorageSyncErrorException` + """ + raw_result = self._create_initial( + resource_group_name=resource_group_name, + storage_sync_service_name=storage_sync_service_name, + sync_group_name=sync_group_name, + server_endpoint_name=server_endpoint_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + header_dict = { + 'x-ms-request-id': 'str', + 'x-ms-correlation-request-id': 'str', + 'Azure-AsyncOperation': 'str', + 'Location': 'str', + } + deserialized = self._deserialize('ServerEndpoint', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + client_raw_response.add_headers(header_dict) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/syncGroups/{syncGroupName}/serverEndpoints/{serverEndpointName}'} + + + def _update_initial( + self, resource_group_name, storage_sync_service_name, sync_group_name, server_endpoint_name, parameters=None, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'storageSyncServiceName': self._serialize.url("storage_sync_service_name", storage_sync_service_name, 'str'), + 'syncGroupName': self._serialize.url("sync_group_name", sync_group_name, 'str'), + 'serverEndpointName': self._serialize.url("server_endpoint_name", server_endpoint_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 + if parameters is not None: + body_content = self._serialize.body(parameters, 'ServerEndpointUpdateParameters') + else: + body_content = None + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + raise models.StorageSyncErrorException(self._deserialize, response) + + deserialized = None + header_dict = {} + + if response.status_code == 200: + deserialized = self._deserialize('ServerEndpoint', response) + header_dict = { + 'x-ms-request-id': 'str', + 'x-ms-correlation-request-id': 'str', + 'Azure-AsyncOperation': 'str', + 'Location': 'str', + } + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + client_raw_response.add_headers(header_dict) + return client_raw_response + + return deserialized + + def update( + self, resource_group_name, storage_sync_service_name, sync_group_name, server_endpoint_name, parameters=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Patch a given ServerEndpoint. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param storage_sync_service_name: Name of Storage Sync Service + resource. + :type storage_sync_service_name: str + :param sync_group_name: Name of Sync Group resource. + :type sync_group_name: str + :param server_endpoint_name: Name of Server Endpoint object. + :type server_endpoint_name: str + :param parameters: Any of the properties applicable in PUT request. + :type parameters: + ~azure.mgmt.storagesync.models.ServerEndpointUpdateParameters + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns ServerEndpoint or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.storagesync.models.ServerEndpoint] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.storagesync.models.ServerEndpoint]] + :raises: + :class:`StorageSyncErrorException` + """ + raw_result = self._update_initial( + resource_group_name=resource_group_name, + storage_sync_service_name=storage_sync_service_name, + sync_group_name=sync_group_name, + server_endpoint_name=server_endpoint_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + header_dict = { + 'x-ms-request-id': 'str', + 'x-ms-correlation-request-id': 'str', + 'Azure-AsyncOperation': 'str', + 'Location': 'str', + } + deserialized = self._deserialize('ServerEndpoint', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + client_raw_response.add_headers(header_dict) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/syncGroups/{syncGroupName}/serverEndpoints/{serverEndpointName}'} + + def get( + self, resource_group_name, storage_sync_service_name, sync_group_name, server_endpoint_name, custom_headers=None, raw=False, **operation_config): + """Get a ServerEndpoint. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param storage_sync_service_name: Name of Storage Sync Service + resource. + :type storage_sync_service_name: str + :param sync_group_name: Name of Sync Group resource. + :type sync_group_name: str + :param server_endpoint_name: Name of Server Endpoint object. + :type server_endpoint_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ServerEndpoint or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.storagesync.models.ServerEndpoint or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`StorageSyncErrorException` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'storageSyncServiceName': self._serialize.url("storage_sync_service_name", storage_sync_service_name, 'str'), + 'syncGroupName': self._serialize.url("sync_group_name", sync_group_name, 'str'), + 'serverEndpointName': self._serialize.url("server_endpoint_name", server_endpoint_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.StorageSyncErrorException(self._deserialize, response) + + header_dict = {} + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('ServerEndpoint', response) + header_dict = { + 'x-ms-request-id': 'str', + 'x-ms-correlation-request-id': 'str', + } + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + client_raw_response.add_headers(header_dict) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/syncGroups/{syncGroupName}/serverEndpoints/{serverEndpointName}'} + + + def _delete_initial( + self, resource_group_name, storage_sync_service_name, sync_group_name, server_endpoint_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'storageSyncServiceName': self._serialize.url("storage_sync_service_name", storage_sync_service_name, 'str'), + 'syncGroupName': self._serialize.url("sync_group_name", sync_group_name, 'str'), + 'serverEndpointName': self._serialize.url("server_endpoint_name", server_endpoint_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + raise models.StorageSyncErrorException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + header_dict = { + 'x-ms-request-id': 'str', + 'x-ms-correlation-request-id': 'str', + 'Location': 'str', + } + client_raw_response.add_headers(header_dict) + return client_raw_response + + def delete( + self, resource_group_name, storage_sync_service_name, sync_group_name, server_endpoint_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Delete a given ServerEndpoint. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param storage_sync_service_name: Name of Storage Sync Service + resource. + :type storage_sync_service_name: str + :param sync_group_name: Name of Sync Group resource. + :type sync_group_name: str + :param server_endpoint_name: Name of Server Endpoint object. + :type server_endpoint_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: + :class:`StorageSyncErrorException` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + storage_sync_service_name=storage_sync_service_name, + sync_group_name=sync_group_name, + server_endpoint_name=server_endpoint_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + client_raw_response.add_headers({ + 'x-ms-request-id': 'str', + 'x-ms-correlation-request-id': 'str', + 'Location': 'str', + }) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/syncGroups/{syncGroupName}/serverEndpoints/{serverEndpointName}'} + + def list_by_sync_group( + self, resource_group_name, storage_sync_service_name, sync_group_name, custom_headers=None, raw=False, **operation_config): + """Get a ServerEndpoint list. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param storage_sync_service_name: Name of Storage Sync Service + resource. + :type storage_sync_service_name: str + :param sync_group_name: Name of Sync Group resource. + :type sync_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of ServerEndpoint + :rtype: + ~azure.mgmt.storagesync.models.ServerEndpointPaged[~azure.mgmt.storagesync.models.ServerEndpoint] + :raises: + :class:`StorageSyncErrorException` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_sync_group.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'storageSyncServiceName': self._serialize.url("storage_sync_service_name", storage_sync_service_name, 'str'), + 'syncGroupName': self._serialize.url("sync_group_name", sync_group_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.StorageSyncErrorException(self._deserialize, response) + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.ServerEndpointPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_sync_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/syncGroups/{syncGroupName}/serverEndpoints'} + + + def _recall_action_initial( + self, resource_group_name, storage_sync_service_name, sync_group_name, server_endpoint_name, pattern=None, recall_path=None, custom_headers=None, raw=False, **operation_config): + parameters = models.RecallActionParameters(pattern=pattern, recall_path=recall_path) + + # Construct URL + url = self.recall_action.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'storageSyncServiceName': self._serialize.url("storage_sync_service_name", storage_sync_service_name, 'str'), + 'syncGroupName': self._serialize.url("sync_group_name", sync_group_name, 'str'), + 'serverEndpointName': self._serialize.url("server_endpoint_name", server_endpoint_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # 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, 'RecallActionParameters') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + raise models.StorageSyncErrorException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + header_dict = { + 'x-ms-request-id': 'str', + 'x-ms-correlation-request-id': 'str', + 'Location': 'str', + } + client_raw_response.add_headers(header_dict) + return client_raw_response + + def recall_action( + self, resource_group_name, storage_sync_service_name, sync_group_name, server_endpoint_name, pattern=None, recall_path=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Recall a server endpoint. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param storage_sync_service_name: Name of Storage Sync Service + resource. + :type storage_sync_service_name: str + :param sync_group_name: Name of Sync Group resource. + :type sync_group_name: str + :param server_endpoint_name: Name of Server Endpoint object. + :type server_endpoint_name: str + :param pattern: Pattern of the files. + :type pattern: str + :param recall_path: Recall path. + :type recall_path: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: + :class:`StorageSyncErrorException` + """ + raw_result = self._recall_action_initial( + resource_group_name=resource_group_name, + storage_sync_service_name=storage_sync_service_name, + sync_group_name=sync_group_name, + server_endpoint_name=server_endpoint_name, + pattern=pattern, + recall_path=recall_path, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + client_raw_response.add_headers({ + 'x-ms-request-id': 'str', + 'x-ms-correlation-request-id': 'str', + 'Location': 'str', + }) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + recall_action.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/syncGroups/{syncGroupName}/serverEndpoints/{serverEndpointName}/recallAction'} diff --git a/src/storagesync/azext_storagesync/vendored_sdks/storagesync/operations/_storage_sync_services_operations.py b/src/storagesync/azext_storagesync/vendored_sdks/storagesync/operations/_storage_sync_services_operations.py new file mode 100644 index 00000000000..ad424d78f42 --- /dev/null +++ b/src/storagesync/azext_storagesync/vendored_sdks/storagesync/operations/_storage_sync_services_operations.py @@ -0,0 +1,519 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class StorageSyncServicesOperations(object): + """StorageSyncServicesOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2019-06-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2019-06-01" + + self.config = config + + def check_name_availability( + self, location_name, name, custom_headers=None, raw=False, **operation_config): + """Check the give namespace name availability. + + :param location_name: The desired region for the name check. + :type location_name: str + :param name: The name to check for availability + :type name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: CheckNameAvailabilityResult or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.storagesync.models.CheckNameAvailabilityResult or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + parameters = models.CheckNameAvailabilityParameters(name=name) + + # Construct URL + url = self.check_name_availability.metadata['url'] + path_format_arguments = { + 'locationName': self._serialize.url("location_name", location_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'CheckNameAvailabilityParameters') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('CheckNameAvailabilityResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + check_name_availability.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.StorageSync/locations/{locationName}/checkNameAvailability'} + + def create( + self, resource_group_name, storage_sync_service_name, parameters, custom_headers=None, raw=False, **operation_config): + """Create a new StorageSyncService. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param storage_sync_service_name: Name of Storage Sync Service + resource. + :type storage_sync_service_name: str + :param parameters: Storage Sync Service resource name. + :type parameters: + ~azure.mgmt.storagesync.models.StorageSyncServiceCreateParameters + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: StorageSyncService or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.storagesync.models.StorageSyncService or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`StorageSyncErrorException` + """ + # Construct URL + url = self.create.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'storageSyncServiceName': self._serialize.url("storage_sync_service_name", storage_sync_service_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'StorageSyncServiceCreateParameters') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.StorageSyncErrorException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('StorageSyncService', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}'} + + def get( + self, resource_group_name, storage_sync_service_name, custom_headers=None, raw=False, **operation_config): + """Get a given StorageSyncService. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param storage_sync_service_name: Name of Storage Sync Service + resource. + :type storage_sync_service_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: StorageSyncService or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.storagesync.models.StorageSyncService or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`StorageSyncErrorException` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'storageSyncServiceName': self._serialize.url("storage_sync_service_name", storage_sync_service_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.StorageSyncErrorException(self._deserialize, response) + + header_dict = {} + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('StorageSyncService', response) + header_dict = { + 'x-ms-request-id': 'str', + 'x-ms-correlation-request-id': 'str', + } + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + client_raw_response.add_headers(header_dict) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}'} + + def update( + self, resource_group_name, storage_sync_service_name, tags=None, properties=None, custom_headers=None, raw=False, **operation_config): + """Patch a given StorageSyncService. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param storage_sync_service_name: Name of Storage Sync Service + resource. + :type storage_sync_service_name: str + :param tags: The user-specified tags associated with the storage sync + service. + :type tags: dict[str, str] + :param properties: The properties of the storage sync service. + :type properties: object + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: StorageSyncService or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.storagesync.models.StorageSyncService or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`StorageSyncErrorException` + """ + parameters = None + if tags is not None or properties is not None: + parameters = models.StorageSyncServiceUpdateParameters(tags=tags, properties=properties) + + # Construct URL + url = self.update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'storageSyncServiceName': self._serialize.url("storage_sync_service_name", storage_sync_service_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 + if parameters is not None: + body_content = self._serialize.body(parameters, 'StorageSyncServiceUpdateParameters') + else: + body_content = None + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.StorageSyncErrorException(self._deserialize, response) + + header_dict = {} + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('StorageSyncService', response) + header_dict = { + 'x-ms-request-id': 'str', + 'x-ms-correlation-request-id': 'str', + } + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + client_raw_response.add_headers(header_dict) + return client_raw_response + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}'} + + def delete( + self, resource_group_name, storage_sync_service_name, custom_headers=None, raw=False, **operation_config): + """Delete a given StorageSyncService. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param storage_sync_service_name: Name of Storage Sync Service + resource. + :type storage_sync_service_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`StorageSyncErrorException` + """ + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'storageSyncServiceName': self._serialize.url("storage_sync_service_name", storage_sync_service_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 204]: + raise models.StorageSyncErrorException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + client_raw_response.add_headers({ + 'x-ms-request-id': 'str', + 'x-ms-correlation-request-id': 'str', + }) + return client_raw_response + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}'} + + def list_by_resource_group( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Get a StorageSyncService list by Resource group name. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of StorageSyncService + :rtype: + ~azure.mgmt.storagesync.models.StorageSyncServicePaged[~azure.mgmt.storagesync.models.StorageSyncService] + :raises: + :class:`StorageSyncErrorException` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.StorageSyncErrorException(self._deserialize, response) + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.StorageSyncServicePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices'} + + def list_by_subscription( + self, custom_headers=None, raw=False, **operation_config): + """Get a StorageSyncService list by subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of StorageSyncService + :rtype: + ~azure.mgmt.storagesync.models.StorageSyncServicePaged[~azure.mgmt.storagesync.models.StorageSyncService] + :raises: + :class:`StorageSyncErrorException` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_subscription.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.StorageSyncErrorException(self._deserialize, response) + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.StorageSyncServicePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.StorageSync/storageSyncServices'} diff --git a/src/storagesync/azext_storagesync/vendored_sdks/storagesync/operations/_sync_groups_operations.py b/src/storagesync/azext_storagesync/vendored_sdks/storagesync/operations/_sync_groups_operations.py new file mode 100644 index 00000000000..124202bd880 --- /dev/null +++ b/src/storagesync/azext_storagesync/vendored_sdks/storagesync/operations/_sync_groups_operations.py @@ -0,0 +1,323 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse + +from .. import models + + +class SyncGroupsOperations(object): + """SyncGroupsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2019-06-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2019-06-01" + + self.config = config + + def list_by_storage_sync_service( + self, resource_group_name, storage_sync_service_name, custom_headers=None, raw=False, **operation_config): + """Get a SyncGroup List. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param storage_sync_service_name: Name of Storage Sync Service + resource. + :type storage_sync_service_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of SyncGroup + :rtype: + ~azure.mgmt.storagesync.models.SyncGroupPaged[~azure.mgmt.storagesync.models.SyncGroup] + :raises: + :class:`StorageSyncErrorException` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_storage_sync_service.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'storageSyncServiceName': self._serialize.url("storage_sync_service_name", storage_sync_service_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.StorageSyncErrorException(self._deserialize, response) + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.SyncGroupPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_storage_sync_service.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/syncGroups'} + + def create( + self, resource_group_name, storage_sync_service_name, sync_group_name, properties=None, custom_headers=None, raw=False, **operation_config): + """Create a new SyncGroup. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param storage_sync_service_name: Name of Storage Sync Service + resource. + :type storage_sync_service_name: str + :param sync_group_name: Name of Sync Group resource. + :type sync_group_name: str + :param properties: The parameters used to create the sync group + :type properties: object + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: SyncGroup or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.storagesync.models.SyncGroup or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`StorageSyncErrorException` + """ + parameters = models.SyncGroupCreateParameters(properties=properties) + + # Construct URL + url = self.create.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'storageSyncServiceName': self._serialize.url("storage_sync_service_name", storage_sync_service_name, 'str'), + 'syncGroupName': self._serialize.url("sync_group_name", sync_group_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'SyncGroupCreateParameters') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.StorageSyncErrorException(self._deserialize, response) + + header_dict = {} + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('SyncGroup', response) + header_dict = { + 'x-ms-request-id': 'str', + 'x-ms-correlation-request-id': 'str', + } + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + client_raw_response.add_headers(header_dict) + return client_raw_response + + return deserialized + create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/syncGroups/{syncGroupName}'} + + def get( + self, resource_group_name, storage_sync_service_name, sync_group_name, custom_headers=None, raw=False, **operation_config): + """Get a given SyncGroup. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param storage_sync_service_name: Name of Storage Sync Service + resource. + :type storage_sync_service_name: str + :param sync_group_name: Name of Sync Group resource. + :type sync_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: SyncGroup or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.storagesync.models.SyncGroup or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`StorageSyncErrorException` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'storageSyncServiceName': self._serialize.url("storage_sync_service_name", storage_sync_service_name, 'str'), + 'syncGroupName': self._serialize.url("sync_group_name", sync_group_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.StorageSyncErrorException(self._deserialize, response) + + header_dict = {} + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('SyncGroup', response) + header_dict = { + 'x-ms-request-id': 'str', + 'x-ms-correlation-request-id': 'str', + } + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + client_raw_response.add_headers(header_dict) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/syncGroups/{syncGroupName}'} + + def delete( + self, resource_group_name, storage_sync_service_name, sync_group_name, custom_headers=None, raw=False, **operation_config): + """Delete a given SyncGroup. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param storage_sync_service_name: Name of Storage Sync Service + resource. + :type storage_sync_service_name: str + :param sync_group_name: Name of Sync Group resource. + :type sync_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`StorageSyncErrorException` + """ + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'storageSyncServiceName': self._serialize.url("storage_sync_service_name", storage_sync_service_name, 'str'), + 'syncGroupName': self._serialize.url("sync_group_name", sync_group_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 204]: + raise models.StorageSyncErrorException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + client_raw_response.add_headers({ + 'x-ms-request-id': 'str', + 'x-ms-correlation-request-id': 'str', + }) + return client_raw_response + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/syncGroups/{syncGroupName}'} diff --git a/src/storagesync/azext_storagesync/vendored_sdks/storagesync/operations/_workflows_operations.py b/src/storagesync/azext_storagesync/vendored_sdks/storagesync/operations/_workflows_operations.py new file mode 100644 index 00000000000..990cc989b8b --- /dev/null +++ b/src/storagesync/azext_storagesync/vendored_sdks/storagesync/operations/_workflows_operations.py @@ -0,0 +1,244 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse + +from .. import models + + +class WorkflowsOperations(object): + """WorkflowsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2019-06-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2019-06-01" + + self.config = config + + def list_by_storage_sync_service( + self, resource_group_name, storage_sync_service_name, custom_headers=None, raw=False, **operation_config): + """Get a Workflow List. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param storage_sync_service_name: Name of Storage Sync Service + resource. + :type storage_sync_service_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of Workflow + :rtype: + ~azure.mgmt.storagesync.models.WorkflowPaged[~azure.mgmt.storagesync.models.Workflow] + :raises: + :class:`StorageSyncErrorException` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_storage_sync_service.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'storageSyncServiceName': self._serialize.url("storage_sync_service_name", storage_sync_service_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.StorageSyncErrorException(self._deserialize, response) + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.WorkflowPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_storage_sync_service.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/workflows'} + + def get( + self, resource_group_name, storage_sync_service_name, workflow_id, custom_headers=None, raw=False, **operation_config): + """Get Workflows resource. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param storage_sync_service_name: Name of Storage Sync Service + resource. + :type storage_sync_service_name: str + :param workflow_id: workflow Id + :type workflow_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 + :param operation_config: :ref:`Operation configuration + overrides`. + :return: Workflow or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.storagesync.models.Workflow or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`StorageSyncErrorException` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'storageSyncServiceName': self._serialize.url("storage_sync_service_name", storage_sync_service_name, 'str'), + 'workflowId': self._serialize.url("workflow_id", workflow_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.StorageSyncErrorException(self._deserialize, response) + + header_dict = {} + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('Workflow', response) + header_dict = { + 'x-ms-request-id': 'str', + 'x-ms-correlation-request-id': 'str', + } + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + client_raw_response.add_headers(header_dict) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/workflows/{workflowId}'} + + def abort( + self, resource_group_name, storage_sync_service_name, workflow_id, custom_headers=None, raw=False, **operation_config): + """Abort the given workflow. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param storage_sync_service_name: Name of Storage Sync Service + resource. + :type storage_sync_service_name: str + :param workflow_id: workflow Id + :type workflow_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 + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`StorageSyncErrorException` + """ + # Construct URL + url = self.abort.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'storageSyncServiceName': self._serialize.url("storage_sync_service_name", storage_sync_service_name, 'str'), + 'workflowId': self._serialize.url("workflow_id", workflow_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.StorageSyncErrorException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + client_raw_response.add_headers({ + 'x-ms-request-id': 'str', + 'x-ms-correlation-request-id': 'str', + }) + return client_raw_response + abort.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/workflows/{workflowId}/abort'} diff --git a/src/storagesync/azext_storagesync/vendored_sdks/storagesync/version.py b/src/storagesync/azext_storagesync/vendored_sdks/storagesync/version.py new file mode 100644 index 00000000000..9bd1dfac7ec --- /dev/null +++ b/src/storagesync/azext_storagesync/vendored_sdks/storagesync/version.py @@ -0,0 +1,13 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +VERSION = "0.2.0" + diff --git a/src/storagesync/setup.cfg b/src/storagesync/setup.cfg new file mode 100644 index 00000000000..3c6e79cf31d --- /dev/null +++ b/src/storagesync/setup.cfg @@ -0,0 +1,2 @@ +[bdist_wheel] +universal=1 diff --git a/src/storagesync/setup.py b/src/storagesync/setup.py new file mode 100644 index 00000000000..90c77bcf601 --- /dev/null +++ b/src/storagesync/setup.py @@ -0,0 +1,61 @@ +#!/usr/bin/env python + +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + + +from codecs import open +from setuptools import setup, find_packages +try: + from azure_bdist_wheel import cmdclass +except ImportError: + from distutils import log as logger + logger.warn("Wheel is not available, disabling bdist_wheel hook") + +# TODO: Confirm this is the right version number you want and it matches your +# HISTORY.rst entry. +VERSION = '0.1.0' + +# The full list of classifiers is available at +# https://pypi.python.org/pypi?%3Aaction=list_classifiers +CLASSIFIERS = [ + 'Development Status :: 4 - Beta', + 'Intended Audience :: Developers', + 'Intended Audience :: System Administrators', + 'Programming Language :: Python', + 'Programming Language :: Python :: 2', + 'Programming Language :: Python :: 2.7', + 'Programming Language :: Python :: 3', + 'Programming Language :: Python :: 3.4', + 'Programming Language :: Python :: 3.5', + 'Programming Language :: Python :: 3.6', + 'License :: OSI Approved :: MIT License', +] + +# TODO: Add any additional SDK dependencies here +DEPENDENCIES = [ +] + +with open('README.md', 'r', encoding='utf-8') as f: + README = f.read() +with open('HISTORY.rst', 'r', encoding='utf-8') as f: + HISTORY = f.read() + +setup( + name='storagesync', + version=VERSION, + description='Microsoft Azure Command-Line Tools MicrosoftStorageSync Extension', + # TODO: Update author and email, if applicable + author='Microsoft Corporation', + author_email='azpycli@microsoft.com', + # TODO: consider pointing directly to your source code instead of the generic repo + url='https://github.com/Azure/azure-cli-extensions', + long_description=README + '\n\n' + HISTORY, + license='MIT', + classifiers=CLASSIFIERS, + packages=find_packages(), + install_requires=DEPENDENCIES, + package_data={'azext_storagesync': ['azext_metadata.json']}, +) diff --git a/src/stream-analytics/azext_stream_analytics/azext_metadata.json b/src/stream-analytics/azext_stream_analytics/azext_metadata.json index 55c81bf3328..13025150393 100644 --- a/src/stream-analytics/azext_stream_analytics/azext_metadata.json +++ b/src/stream-analytics/azext_stream_analytics/azext_metadata.json @@ -1,4 +1,4 @@ { - "azext.isPreview": true, - "azext.minCliCoreVersion": "2.0.67" + "azext.isExperimental": true, + "azext.minCliCoreVersion": "2.3.1" } \ No newline at end of file diff --git a/src/stream-analytics/azext_stream_analytics/commands.py b/src/stream-analytics/azext_stream_analytics/commands.py index 3e12f9a4819..cf4b70e8eb2 100644 --- a/src/stream-analytics/azext_stream_analytics/commands.py +++ b/src/stream-analytics/azext_stream_analytics/commands.py @@ -13,6 +13,9 @@ def load_command_table(self, _): + with self.command_group('stream-analytics', is_experimental=True): + pass + from ._client_factory import cf_jobs stream_analytics_jobs = CliCommandType( operations_tmpl='azext_stream_analytics.vendored_sdks.streamanalytics.operations._streaming_jobs_operations#StreamingJobsOperations.{}', diff --git a/src/subscription/setup.py b/src/subscription/setup.py index 63825b85e16..43e6596c102 100644 --- a/src/subscription/setup.py +++ b/src/subscription/setup.py @@ -8,7 +8,7 @@ from codecs import open from setuptools import setup, find_packages -VERSION = "0.1.3" +VERSION = "0.1.4" CLASSIFIERS = [ 'Development Status :: 4 - Beta', @@ -37,5 +37,10 @@ url='https://github.com/Azure/azure-cli-extensions', classifiers=CLASSIFIERS, packages=find_packages(exclude=["tests"]), - install_requires=DEPENDENCIES + install_requires=DEPENDENCIES, + package_data={ + 'azext_subscription': [ + 'azext_metadata.json' + ] + } ) diff --git a/src/support/HISTORY.md b/src/support/HISTORY.md index 1bfe288bf6e..15c1bc95099 100644 --- a/src/support/HISTORY.md +++ b/src/support/HISTORY.md @@ -1,16 +1,14 @@ Release History =============== -0.1.1 +1.0.2 ----- +* Removed custom error message in lieu of error message coming from backend. +* Added missing condition for quota change request payload. -* Remove the limitation of max compatible cli core version - -0.1.0 +1.0.1 ----- - -* Initial release of "support" extension for Azure CLI. -* Adding two major command groups, `az support services` and `az support tickets` to manage support ticket and related resources. +* Remove resource id existence check in lieu of backend based check 1.0.0 ----- @@ -19,3 +17,13 @@ Release History * Command `update` under command group `tickets` supports new parameter `status`. * `Severity` parameter used by command `update` and `create` under command group `tickets` supports an additional value `highestcriticalimpact`. +0.1.1 +----- + +* Remove the limitation of max compatible cli core version + +0.1.0 +----- + +* Initial release of "support" extension for Azure CLI. +* Adding two major command groups, `az support services` and `az support tickets` to manage support ticket and related resources. diff --git a/src/support/azext_support/_client_factory.py b/src/support/azext_support/_client_factory.py index ca6b38e7207..a98a40d7013 100644 --- a/src/support/azext_support/_client_factory.py +++ b/src/support/azext_support/_client_factory.py @@ -25,9 +25,3 @@ def cf_support_tickets(cli_ctx, *_): def cf_communications(cli_ctx, *_): return cf_support(cli_ctx).communications - - -def cf_resource(cli_ctx, **_): - from azure.cli.core.commands.client_factory import get_mgmt_service_client - from azure.cli.core.profiles import ResourceType - return get_mgmt_service_client(cli_ctx, ResourceType.MGMT_RESOURCE_RESOURCES) diff --git a/src/support/azext_support/_validators.py b/src/support/azext_support/_validators.py index af6af762a86..693d22885aa 100644 --- a/src/support/azext_support/_validators.py +++ b/src/support/azext_support/_validators.py @@ -3,16 +3,14 @@ # Licensed under the MIT License. See License.txt in the project root for license information. # -------------------------------------------------------------------------------------------- -import traceback import uuid from datetime import datetime -from azext_support._client_factory import cf_resource, cf_support_tickets, cf_communications +from azext_support._client_factory import cf_support_tickets, cf_communications from azext_support._utils import is_technical_ticket, parse_support_area_path from azure.cli.core.commands.client_factory import get_subscription_id from knack.log import get_logger from knack.util import CLIError -from msrestazure.azure_exceptions import CloudError from msrestazure.tools import is_valid_resource_id, parse_resource_id logger = get_logger(__name__) @@ -46,16 +44,14 @@ def _validate_communication_name(cmd, ticket_name, communication_name): rsp = client.check_name_availability(support_ticket_name=ticket_name, name=communication_name, type="Microsoft.Support/communications") if not rsp.name_available: - raise CLIError("Support ticket communication name '{0}' not available. ".format(communication_name) + - "Please try again with another name.") + raise CLIError(rsp.message) def _validate_ticket_name(cmd, ticket_name): client = cf_support_tickets(cmd.cli_ctx) rsp = client.check_name_availability(name=ticket_name, type="Microsoft.Support/supportTickets") if not rsp.name_available: - raise CLIError("Support ticket name '{0}' not available. ".format(ticket_name) + - "Please try again with another name.") + raise CLIError(rsp.message) def _validate_problem_classification_name(problem_classification_id): @@ -68,7 +64,7 @@ def _validate_problem_classification_name(problem_classification_id): def _validate_resource_name(cmd, resource_id): if resource_id is None: return - client = cf_resource(cmd.cli_ctx) + base_error_msg = "Technical resource argument {0} is invalid.".format(resource_id) if not is_valid_resource_id(resource_id): raise CLIError(base_error_msg) @@ -82,17 +78,6 @@ def _validate_resource_name(cmd, resource_id): if subid != session_subid: raise CLIError("{0} {1} does not match with {2}".format(base_error_msg, subid, session_subid)) - try: - client.resources.get(resource_group_name=parsed_resource['resource_group'], - resource_provider_namespace=parsed_resource["namespace"], - parent_resource_path=parsed_resource["resource_parent"], - resource_type=parsed_resource["type"], - resource_name=parsed_resource["name"], - api_version="2019-08-01") - except CloudError as e: - logger.debug(traceback.format_exc()) - raise CLIError("{0} {1}".format(base_error_msg, e.error.message)) - def _is_guid(guid): try: diff --git a/src/support/azext_support/custom.py b/src/support/azext_support/custom.py index e5f98f2939d..afef2af7fb5 100644 --- a/src/support/azext_support/custom.py +++ b/src/support/azext_support/custom.py @@ -118,7 +118,7 @@ def create_support_tickets(cmd, client, start_date_time = start_date_time.strftime("%Y-%m-%dT%H:%M:%SZ") body["problem_start_time"] = start_date_time - if is_quota_ticket(service): + if is_quota_ticket(service) and quota_change_version is not None: quotaBody = {} quotaBody["quota_change_request_sub_type"] = quota_change_subtype quotaBody["quota_change_request_version"] = quota_change_version @@ -129,7 +129,7 @@ def create_support_tickets(cmd, client, quotaBody["quota_change_requests"] = quota_change_requests body["quota_ticket_details"] = quotaBody - if is_technical_ticket(service): + if is_technical_ticket(service) and technical_resource is not None: body["technical_ticket_details"] = {"resource_id": technical_resource} logger.debug("Sending create request with below payload: ") diff --git a/src/support/setup.py b/src/support/setup.py index 8a06534a02a..12c63f7fe64 100644 --- a/src/support/setup.py +++ b/src/support/setup.py @@ -15,7 +15,7 @@ logger.warn("Wheel is not available, disabling bdist_wheel hook") # HISTORY.md entry. -VERSION = '1.0.0' +VERSION = '1.0.2' # The full list of classifiers is available at # https://pypi.python.org/pypi?%3Aaction=list_classifiers diff --git a/src/synapse/README.md b/src/synapse/README.md index cecd27f3c5e..f9439b47820 100644 --- a/src/synapse/README.md +++ b/src/synapse/README.md @@ -15,99 +15,335 @@ az extension add --name synapse Manage Synapse Workspaces. -*Examples:* - +- Create a Synapse workspace ```bash az synapse workspace create \ --name fromcli4 \ --resource-group rg \ - --account-url https://testadlsgen2.dfs.core.windows.net \ + --storage-account testadlsgen2 \ --file-system testfilesystem \ --sql-admin-login-user cliuser1 \ --sql-admin-login-password Password123! \ --location "East US" ``` +- Get a Synapse workspace +```bash +az synapse workspace show \ + --name testsynapseworkspace \ + --resource-group rg +``` +- Update a Synapse workspace +```bash +az synapse workspace update \ + --name fromcli4 \ + --resource-group rg \ + --tags key1=value1 +``` +- Delete a Synapse workspace +```bash +az synapse workspace delete \ + --name testsynapseworkspace \ + --resource-group rg +``` +- List all Synapse workspaces +```bash +az synapse workspace list +``` + +```bash +az synapse workspace list \ + --resource-group rg +``` +- Check if a Synapse workspace name is available or not +```bash +az synapse workspace check-name \ + --name testsynapseworkspace +``` + +#### Workapce fireall rule + +Manage Synapse workspace's firewall rules + +- Create a firewall rule +```bash +az synapse workspace firewall-rule create \ + --name allowAll \ + --workspace-name testsynapseworkspace \ + --resource-group rg \ + --start-ip-address 0.0.0.0 \ + --end-ip-address 255.255.255.255 +``` +- Get a firewall rule +```bash +az synapse workspace firewall-rule show \ + --name rule1 \ + --workspace-name testsynapseworkspace \ + --resource-group rg +``` +- List all firewall rules +```bash +az synapse workspace firewall-rule list \ + --workspace-name testsynapseworkspace \ + --resource-group rg +``` +- Delete a firewall rule +```bash +az synapse workspace firewall-rule delete \ + --name rule1 \ + --workspace-name testsynapseworkspace \ + --resource-group rg +``` #### Spark Pool Manage Synapse Spark pools. -*Examples:* - +- Create a Spark pool ```bash az synapse spark pool create \ --name testpool \ --resource-group rg \ --workspace-name testsynapseworkspace \ - --location "East US" + --spark-version 2.4 \ + --node-count 3 \ + --node-size Medium +``` +- List all Spark pools +```bash +az synapse spark pool list \ + --workspace-name testsynapseworkspace \ + --resource-group rg +``` +- Get a Spark pool +```bash +az synapse spark pool show \ + --name testpool \ + --workspace-name testsynapseworkspace \ + --resource-group rg +``` +- Update Spark pool +```bash +az synapse spark pool update \ + --name testpool \ + --workspace-name testsynapseworkspace + --resource-group rg \ + --tags key1=value1 +``` +```bash +az synapse spark pool update \ + --name testpool \ + --workspace-name testsynapseworkspace + --resource-group rg \ + --enable-auto-scale \ + --min-node-count 3 \ + --max-node-count 100 +``` +- Delete a Spark pool +```bash +az synapse spark pool delete \ + --name testpool \ + --workspace-name testsynapseworkspace \ + --resource-group rg ``` -#### Sql Pool +#### SQL Pool -Manage Synapse Sql Pools +Manage Synapse SQL pools -*Examples:* +- Create s SQL pool ```bash az synapse sql pool create \ --name sqlpoolcli1 \ - --sku-name DW1000c \ + --performance-level DW1000c \ --resource-group rg \ + --workspace-name testsynapseworkspace +``` +- Get a SQL pool +```bash +az synapse sql pool show \ + --name sqlpoolcli1 \ --workspace-name testsynapseworkspace \ - --location "East US" + --resource-group rg +``` +- List SQL pools +```bash +az synapse sql pool list \ + --workspace-name testsynapseworkspace \ + --resource-group rg +``` +- Update a SQL pool +```bash +az synapse sql pool update \ + --name sqlpoolcli1 \ + --workspace-name testsynapseworkspace + --resource-group rg \ + --tags key1=value1 +``` +- Pause a SQL pool +```bash +az synapse sql pool pause \ + --name sqlpoolcli1 \ + --workspace-name testsynapseworkspace \ + --resource-group rg +``` +- Resume a SQL pool +```bash +az synapse sql pool resume \ + --name sqlpoolcli1 \ + --workspace-name testsynapseworkspace \ + --resource-group rg +``` + +- Delete a SQL pool + +```bash +az synapse sql pool delete \ + --name sqlpoolcli1 \ + --workspace-name testsynapseworkspace \ + --resource-group rg ``` -#### Spark Batch Job +#### Spark Job -Manage Spark batch jobs. +Manage Spark jobs. -*Examples:* +- Submit a Spark java job. ```bash -az synapse spark batch create \ +az synapse spark job submit \ --name WordCount_Java \ --workspace-name testsynapseworkspace \ --spark-pool-name testsparkpool \ - --file abfss://testfilesystem@testadlsgen2.dfs.core.windows.net/samples/java/wordcount/wordcount.jar \ - --class-name WordCount \ - --args abfss://testfilesystem@testadlsgen2.dfs.core.windows.net/samples/java/wordcount/shakespeare.txt \ + --main-definition-file abfss://testfilesystem@testadlsgen2.dfs.core.windows.net/samples/java/wordcount/wordcount.jar \ + --main-class-name WordCount \ + --command-line-arguments abfss://testfilesystem@testadlsgen2.dfs.core.windows.net/samples/java/wordcount/shakespeare.txt \ abfss://testfilesystem@testadlsgen2.dfs.core.windows.net/samples/java/wordcount/result/ \ - --driver-memory 4g \ - --driver-cores 4 \ - --executor-memory 4g \ - --executor-cores 4 \ - --num-executors 2 + --executor-size Small \ + --executors 2 +``` + +- Submit a spark dotnet job + +```bash +az synapse spark job submit \ + --name WordCount_DotNet \ + --workspace-name testsynapseworkspace \ + --spark-pool-name testsparkpool \ + --language SparkDotNet \ + --main-defin +ition-file abfss://testfilesystem@testadlsgen2.dfs.core.windows.net/samples/dotnet/wordcount/wordcount.zip --main-class-name WordCount --command-line-arguments abfss://testfilesystem@testadlsgen2.dfs.co +re.windows.net/samples/dotnet/wordcount/shakespeare.txt abfss://testfilesystem@testadlsgen2.dfs.core.windows.net/samples/dotnet/wordcount/result --executors 2 --executor-size Medium +``` + +- Get a Spark job +```bash +az synapse spark job show \ + --livy-id 1 \ + --workspace-name testsynapseworkspace \ + --spark-pool-name testsparkpool +``` + +- Cancel a Spark job +```bash +az synapse spark job cancel \ + --livy-id 1 \ + --workspace-name testsynapseworkspace \ + --spark-pool-name testsparkpool ``` -#### Spark Session Job +- List all Spark jobs +```bash +az synapse spark job list \ + --workspace-name testsynapseworkspace \ + --spark-pool-name testsparkpool +``` +#### Spark Session -Manage Spark session jobs. +Manage Spark sessions. -*Examples:* +- Create a Spark session ```bash az synapse spark session create \ --name testsession \ --workspace-name testsynapseworkspace \ --spark-pool-name testsparkpool \ - --driver-memory 4g \ - --driver-cores 4 \ - --executor-memory 4g \ - --executor-cores 4 \ - --num-executors 2 + --executor-size Small \ + --executors 4 +``` + +- List all Spark sessions +```bash +az synapse spark session list \ + --workspace-name testsynapseworkspace \ + --spark-pool-name testsparkpool +``` + +- Get a Spark session +```bash +az synapse spark session show \ + --livy-id 1 \ + --workspace-name testsynapseworkspace \ + --spark-pool-name testsparkpool +``` + +- Cancel a Spark session +```bash +az synapse spark session cancel \ + --livy-id 1 \ + --workspace-name testsynapseworkspace \ + --spark-pool-name testsparkpool +``` + +- Reset a Spark session's timeout time +```bash +az synapse spark session reset-timeout \ + --livy-id 1 \ + --workspace-name testsynapseworkspace \ + --spark-pool-name testsparkpool ``` -#### Spark Session Statement + +#### Spark Statement Manage Spark session statements. -*Examples:* +- Invoke a Spark statement ```bash -az synapse spark session-statement create \ +az synapse spark statement invoke \ --session-id 1 \ --workspace-name testsynapseworkspace \ --spark-pool-name testsparkpool \ --code "print(\"hello, Azure CLI\")" \ - --kind pyspark + --language pyspark +``` + +- Get a Spark statement +```bash +az synapse spark statement show \ + --livy-id 1 \ + --session-id 11 \ + --workspace-name testsynapseworkspace \ + --spark-pool-name testsparkpool +``` + +- List all Spark statements + +```bash +az synapse spark statement list \ + --session-id 11 \ + --workspace-name testsynapseworkspace \ + --spark-pool-name testsparkpool +``` + +- Cancel a Spark statement + +```bash +az synapse spark statement cancel \ + --livy-id 1 \ + --session-id 11 \ + --workspace-name testsynapseworkspace \ + --spark-pool-name testsparkpool ``` \ No newline at end of file diff --git a/src/synapse/azext_synapse/_client_factory.py b/src/synapse/azext_synapse/_client_factory.py index 13d9a8b2d1f..e2c9c09f938 100644 --- a/src/synapse/azext_synapse/_client_factory.py +++ b/src/synapse/azext_synapse/_client_factory.py @@ -23,6 +23,14 @@ def cf_synapse_client_sqlpool_factory(cli_ctx, *_): return synapse_client_factory(cli_ctx).sql_pools +def cf_synapse_client_ipfirewallrules_factory(cli_ctx, *_): + return synapse_client_factory(cli_ctx).ip_firewall_rules + + +def cf_synapse_client_operations_factory(cli_ctx, *_): + return synapse_client_factory(cli_ctx).operations + + # TODO: add Synapse endpoint and synapse_dns_suffix to azure.cli.core def synapse_data_plane_factory(cli_ctx, _, subscription=None): from azext_synapse.vendored_sdks.azure_synapse import SynapseClient diff --git a/src/synapse/azext_synapse/_help.py b/src/synapse/azext_synapse/_help.py index 54675cec73d..6725fef7edd 100644 --- a/src/synapse/azext_synapse/_help.py +++ b/src/synapse/azext_synapse/_help.py @@ -16,7 +16,7 @@ helps['synapse workspace'] = """ type: group -short-summary: Manage Synapse Workspace. +short-summary: Manage Synapse workspaces. """ helps['synapse workspace create'] = """ @@ -26,13 +26,18 @@ - name: Create a Synapse workspace text: |- az synapse workspace create --name fromcli4 --resource-group rg \\ - --account-url https://testadlsgen2.dfs.core.windows.net --file-system testfilesystem \\ + --storage-account testadlsgen2 --file-system testfilesystem \\ + --sql-admin-login-user cliuser1 --sql-admin-login-password Password123! --location "East US" + - name: Create a Synapse workspace with storage resource id + text: |- + az synapse workspace create --name fromcli4 --resource-group rg \\ + --storage-account /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Storage/storageAccounts/testadlsgen2 --file-system testfilesystem \\ --sql-admin-login-user cliuser1 --sql-admin-login-password Password123! --location "East US" """ helps['synapse workspace list'] = """ type: command -short-summary: List all Synapse workspaces under a subscription or under a specific resource group. +short-summary: List all Synapse workspaces. examples: - name: List all Synapse workspaces under a subscription text: |- @@ -44,9 +49,9 @@ helps['synapse workspace show'] = """ type: command -short-summary: Get a Synapse workspaces with workspace name. +short-summary: Get a Synapse workspace. examples: - - name: Get a Synapse workspaces with workspace name. + - name: Get a Synapse workspace. text: |- az synapse workspace show --name testsynapseworkspace --resource-group rg """ @@ -63,77 +68,86 @@ helps['synapse workspace delete'] = """ type: command -short-summary: Delete a Synapse workspaces with workspace name. +short-summary: Delete a Synapse workspace. examples: - - name: Delete a Synapse workspaces with workspace name. + - name: Delete a Synapse workspace. text: |- az synapse workspace delete --name testsynapseworkspace --resource-group rg """ +helps['synapse workspace check-name'] = """ +type: command +short-summary: Check if a Synapse workspace name is available or not. +examples: + - name: Check if a Synapse workspace name is available or not. + text: |- + az synapse workspace check-name --name testsynapseworkspace +""" + helps['synapse workspace wait'] = """ type: command -short-summary: Place the CLI in a waiting state a condition of a workspace is met. +short-summary: Place the CLI in a waiting state until a condition of the workspace is met. """ helps['synapse spark'] = """ type: group -short-summary: Manage Spark pool and submit Spark Batch, Session, Statement job. +short-summary: Manage Spark pools and Spark jobs. """ helps['synapse spark pool'] = """ type: group -short-summary: Manage Spark pool including Create, Get, List, Delete Spark pool. +short-summary: Manage Spark pools. """ helps['synapse spark pool create'] = """ type: command short-summary: Create a Spark pool. -long-summary: Create a Spark pool with default configuration. examples: - name: Create a Spark pool. text: |- - az synapse spark pool create --name testpool --resource-group rg --workspace-name \\ - testsynapseworkspace --location "East US" --spark-version 2.4 + az synapse spark pool create --name testpool --workspace-name testsynapseworkspace --resource-group rg \\ + --spark-version 2.4 --node-count 3 --node-size Medium """ helps['synapse spark pool list'] = """ type: command short-summary: List all Spark pools. -long-summary: List all Spark pools under a workspace. examples: - - name: List all Spark pools under a workspace. + - name: List all Spark pools. text: |- az synapse spark pool list --workspace-name testsynapseworkspace --resource-group rg """ helps['synapse spark pool show'] = """ type: command -short-summary: Get a specific Spark pool with Spark pool name. +short-summary: Get a Spark pool. examples: - - name: Get a specific Spark pools with Spark pool name. + - name: Get a Spark pool. text: |- - az synapse spark pool show --name testpool --workspace-name testsynapseworkspace \\ - --resource-group rg + az synapse spark pool show --name testpool --workspace-name testsynapseworkspace --resource-group rg """ helps['synapse spark pool update'] = """ type: command -short-summary: Update the Spark pool's tags. +short-summary: Update the Spark pool. examples: - name: Update the Spark pool's tags. text: |- - az synapse spark pool update --name testpool --workspace-name testsynapseworkspace --resource-group rg \\ + az synapse spark pool update --name testpool --workspace-name testsynapseworkspace --resource-group rg \\ --tags key1=value1 + - name: Update the Spark pool's auto scale configuration. + text: |- + az synapse spark pool update --name testpool --workspace-name testsynapseworkspace --resource-group rg \\ + --enable-auto-scale --min-node-count 3 --max-node-count 100 """ helps['synapse spark pool delete'] = """ type: command -short-summary: Delete a specific Spark pool with Spark pool name. +short-summary: Delete a Spark pool. examples: - - name: Delete a specific big Spark pool with Spark pool name. + - name: Delete a Spark pool. text: |- - az synapse spark pool delete --name testpool --workspace-name testsynapseworkspace \\ - --resource-group rg + az synapse spark pool delete --name testpool --workspace-name testsynapseworkspace --resource-group rg """ helps['synapse spark pool wait'] = """ @@ -143,78 +157,77 @@ helps['synapse sql'] = """ type: group -short-summary: Manage SQL pool. +short-summary: Manage SQL pools. """ helps['synapse sql pool'] = """ type: group -short-summary: Manage SQL pool including Create, Get, List, Delete, Pause, Resume SQL pool. +short-summary: Manage SQL pools. """ helps['synapse sql pool create'] = """ type: command short-summary: Create a SQL pool. -long-summary: Create a SQL pool with default configuration. examples: - - name: Create SQL pool. + - name: Create a SQL pool. text: |- - az synapse sql pool create --name sqlpoolcli1 --sku-name "DW1000c" --resource-group rg --workspace-name \\ - testsynapseworkspace --location "East US" + az synapse sql pool create --name sqlpoolcli1 --performance-level "DW1000c" \\ + --workspace-name testsynapseworkspace --resource-group rg """ helps['synapse sql pool show'] = """ type: command short-summary: Get a SQL pool. -long-summary: Get a SQL pool with SQL pool name. examples: - - name: Get SQL pool. + - name: Get a SQL pool. text: |- - az synapse sql pool show --name sqlpoolcli1 --resource-group rg --workspace-name \\ - testsynapseworkspace + az synapse sql pool show --name sqlpoolcli1 --workspace-name testsynapseworkspace --resource-group rg """ helps['synapse sql pool list'] = """ type: command short-summary: List all SQL pools. -long-summary: List all SQL pools under a specific workspace. examples: - name: List SQL pools. text: |- - az synapse sql pool list --resource-group rg \\ - --workspace-name testsynapseworkspace + az synapse sql pool list --workspace-name testsynapseworkspace --resource-group rg +""" + +helps['synapse sql pool update'] = """ +type: command +short-summary: Update a SQL pool. +examples: + - name: Update a SQL pool. + text: |- + az synapse sql pool update --name sqlpoolcli1 --workspace-name testsynapseworkspace --resource-group rg \\ + --tags key1=value1 """ helps['synapse sql pool pause'] = """ type: command short-summary: Pause a SQL pool. -long-summary: Pause a SQL pool with SQL pool name. examples: - - name: Pause SQL pool. + - name: Pause a SQL pool. text: |- - az synapse sql pool pause --name sqlpoolcli1 --resource-group rg --workspace-name \\ - testsynapseworkspace + az synapse sql pool pause --name sqlpoolcli1 --workspace-name testsynapseworkspace --resource-group rg """ helps['synapse sql pool resume'] = """ type: command short-summary: Resume a SQL pool. -long-summary: Resume a SQL pool with SQL pool name. examples: - - name: Resume SQL pool. + - name: Resume a SQL pool. text: |- - az synapse sql pool resume --name sqlpoolcli1 --resource-group rg --workspace-name \\ - testsynapseworkspace + az synapse sql pool resume --name sqlpoolcli1 --workspace-name testsynapseworkspace --resource-group rg """ helps['synapse sql pool delete'] = """ type: command short-summary: Delete a SQL pool. -long-summary: Delete a SQL pool with SQL pool name. examples: - - name: Delete SQL pool. + - name: Delete a SQL pool. text: |- - az synapse sql pool delete --name sqlpoolcli1 --resource-group rg --workspace-name \\ - testsynapseworkspace + az synapse sql pool delete --name sqlpoolcli1 --workspace-name testsynapseworkspace --resource-group rg """ helps['synapse sql pool wait'] = """ @@ -222,153 +235,196 @@ short-summary: Place the CLI in a waiting state until a condition of a SQL pool is met. """ -helps['synapse spark batch'] = """ +helps['synapse workspace firewall-rule'] = """ +type: group +short-summary: Manage a workspace's firewall rules. +""" + +helps['synapse workspace firewall-rule create'] = """ +type: command +short-summary: Create a firewall rule. +examples: + - name: Create a firewall rule. + text: |- + az synapse workspace firewall-rule create --name allowAll --workspace-name testsynapseworkspace \\ + --resource-group rg --start-ip-address 0.0.0.0 --end-ip-address 255.255.255.255 +""" + +helps['synapse workspace firewall-rule show'] = """ +type: command +short-summary: Get a firewall rule. +examples: + - name: Get a firewall rule. + text: |- + az synapse workspace firewall-rule show --name rule1 --workspace-name testsynapseworkspace --resource-group rg +""" + +helps['synapse workspace firewall-rule list'] = """ +type: command +short-summary: List all firewall rules. +examples: + - name: List all firewall rules. + text: |- + az synapse workspace firewall-rule list --workspace-name testsynapseworkspace --resource-group rg +""" + +helps['synapse workspace firewall-rule delete'] = """ +type: command +short-summary: Delete a firewall rule. +examples: + - name: Delete a firewall rule. + text: |- + az synapse workspace firewall-rule delete --name rule1 --workspace-name testsynapseworkspace --resource-group rg +""" + +helps['synapse workspace firewall-rule wait'] = """ +type: command +short-summary: Place the CLI in a waiting state until a condition of a firewall rule is met. +""" + +helps['synapse spark job'] = """ type: group short-summary: Manage Synapse Spark batch jobs. """ -helps['synapse spark batch create'] = """ +helps['synapse spark job submit'] = """ type: command -short-summary: Submit spark batch job. -long-summary: Submit a spark batch job to a specific spark pool. +short-summary: Submit a Spark job. examples: - - name: Submit a java spark batch job to a specific spark pool. + - name: Submit a Java Spark job. text: |- - az synapse spark batch create --name WordCount_Java --workspace-name testsynapseworkspace \\ - --spark-pool-name testsparkpool \\ - --file abfss://testfilesystem@testadlsgen2.dfs.core.windows.net/samples/java/wordcount/wordcount.jar \\ - --class-name WordCount \\ - --args abfss://testfilesystem@testadlsgen2.dfs.core.windows.net/samples/java/wordcount/shakespeare.txt \\ - abfss://testfilesystem@testadlsgen2.dfs.core.windows.net/samples/java/wordcount/result/ \\ - --driver-memory 4g --driver-cores 4 --executor-memory 4g --executor-cores 4 --num-executors 2 + az synapse spark job submit --name WordCount_Java --workspace-name testsynapseworkspace \\ + --spark-pool-name testsparkpool \\ + --main-definition-file abfss://testfilesystem@testadlsgen2.dfs.core.windows.net/samples/java/wordcount/wordcount.jar \\ + --main-class-name WordCount \\ + --command-line-arguments abfss://testfilesystem@testadlsgen2.dfs.core.windows.net/samples/java/wordcount/shakespeare.txt \\ + abfss://testfilesystem@testadlsgen2.dfs.core.windows.net/samples/java/wordcount/result/ \\ + --executors 2 --executor-size Small """ -helps['synapse spark batch list'] = """ +helps['synapse spark job list'] = """ type: command -short-summary: List all spark batch jobs under the specific spark pool. +short-summary: List all Spark jobs. examples: - - name: List all spark batch job under the specific spark pool. + - name: List all Spark jobs. text: |- - az synapse spark batch list --workspace-name testsynapseworkspace --spark-pool-name testsparkpool + az synapse spark job list --workspace-name testsynapseworkspace --spark-pool-name testsparkpool """ -helps['synapse spark batch show'] = """ +helps['synapse spark job show'] = """ type: command -short-summary: Get a specific spark batch job under the specific spark pool. -long-summary: Get the spark batch job under the specific spark pool with batch id. +short-summary: Get a Spark job. examples: - - name: Get a spark batch job under the specific spark pool with batch id. + - name: Get a Spark job. text: |- - az synapse spark batch show --id 1 --workspace-name testsynapseworkspace --spark-pool-name testsparkpool + az synapse spark job show --livy-id 1 --workspace-name testsynapseworkspace --spark-pool-name testsparkpool """ -helps['synapse spark batch cancel'] = """ +helps['synapse spark job cancel'] = """ type: command -short-summary: Cancel a specific spark batch job under the specific spark pool. -long-summary: Cancel the spark batch job under the specific spark pool with batch id. +short-summary: Cancel a Spark job. examples: - - name: Cancel a spark batch job under the specific spark pool with batch id. + - name: Cancel a Spark job. text: |- - az synapse spark batch cancel --id 1 --workspace-name testsynapseworkspace --spark-pool-name testsparkpool + az synapse spark job cancel --livy-id 1 --workspace-name testsynapseworkspace --spark-pool-name testsparkpool """ helps['synapse spark session'] = """ type: group -short-summary: Manage Synapse Spark Session jobs and reset the Spark Session timeout. +short-summary: Manage Synapse Spark sessions. """ helps['synapse spark session create'] = """ type: command -short-summary: Submit a spark session job -long-summary: Submit a spark session job to a specific spark pool. +short-summary: Create a Spark session. examples: - - name: Submit a spark session job under the specific spark pool. + - name: Create a Spark session. text: |- - az synapse spark session create --name testsession --workspace-name testsynapseworkspace --spark-pool-name testsparkpool \\ - --driver-memory 4g --driver-cores 4 \\ - --executor-memory 4g --executor-cores 4 --num-executors 2 + az synapse spark session create --name testsession --workspace-name testsynapseworkspace \\ + --spark-pool-name testsparkpool --executor-size Small --executors 4 """ helps['synapse spark session list'] = """ type: command -short-summary: List all spark session jobs under the specific spark pool. +short-summary: List all Spark sessions. examples: - - name: List all spark session jobs under the specific spark pool. + - name: List all Spark sessions. text: |- az synapse spark session list --workspace-name testsynapseworkspace --spark-pool-name testsparkpool """ helps['synapse spark session show'] = """ type: command -short-summary: Get a specific spark session job under the specific spark pool. -long-summary: Get the spark session job under the specific spark pool with session id. +short-summary: Get a Spark session. examples: - - name: Get a spark session job under the specific spark pool with session id. + - name: Get a Spark session. text: |- - az synapse spark session show --id 1 --workspace-name testsynapseworkspace --spark-pool-name testsparkpool + az synapse spark session show --livy-id 1 --workspace-name testsynapseworkspace --spark-pool-name testsparkpool """ helps['synapse spark session cancel'] = """ type: command -short-summary: Cancel a specific spark session job under the specific spark pool. -long-summary: Cancel the spark session job under the specific spark pool with session id. +short-summary: Cancel a Spark session. examples: - - name: Cancel a spark session job under the specific spark pool with session id. + - name: Cancel a Spark session. text: |- - az synapse spark session cancel --id 1 --workspace-name testsynapseworkspace --spark-pool-name testsparkpool + az synapse spark session cancel --livy-id 1 --workspace-name testsynapseworkspace --spark-pool-name testsparkpool """ helps['synapse spark session reset-timeout'] = """ type: command -short-summary: Reset the spark session timeout time. -long-summary: Reset the spark session timeout time under the specific spark pool with session id. +short-summary: Reset a Spark session timeout time. examples: - - name: Reset the spark session timeout time. + - name: Reset a Spark session's timeout time. text: |- - az synapse spark session reset-timeout --id 1 --workspace-name testsynapseworkspace --spark-pool-name testsparkpool + az synapse spark session reset-timeout --livy-id 1 --workspace-name testsynapseworkspace --spark-pool-name testsparkpool """ -helps['synapse spark session-statement'] = """ +helps['synapse spark statement'] = """ type: group -short-summary: Manage Synapse Spark Session Statements. +short-summary: Manage Synapse Spark statements. """ -helps['synapse spark session-statement create'] = """ +helps['synapse spark statement invoke'] = """ type: command -short-summary: Submit a spark statement to a spark session. +short-summary: Invoke a Spark statement. examples: - - name: Submit a spark statement to a spark session. + - name: Invoke a Spark statement. + text: |- + az synapse spark statement invoke --session-id 1 --workspace-name testsynapseworkspace \\ + --spark-pool-name testsparkpool --code "print('hello, Azure CLI')" --language pyspark + - name: Submit a Spark statement by reading code content from file. text: |- - az synapse spark session-statement create --session-id 1 --workspace-name testsynapseworkspace \\ - --spark-pool-name testsparkpool --code "print('hello, Azure CLI')" --kind pyspark + az synapse spark statement invoke --session-id 1 --workspace-name testsynapseworkspace \\ + --spark-pool-name testsparkpool --code @file-path --language pyspark """ -helps['synapse spark session-statement show'] = """ +helps['synapse spark statement show'] = """ type: command -short-summary: Get a spark statement with statement id. +short-summary: Get a Spark statement. examples: - - name: Get a spark statement with statement id. + - name: Get a Spark statement. text: |- - az synapse spark session-statement show --id 1 --session-id 11 --workspace-name testsynapseworkspace \\ + az synapse spark statement show --livy-id 1 --session-id 11 --workspace-name testsynapseworkspace \\ --spark-pool-name testsparkpool """ -helps['synapse spark session-statement list'] = """ +helps['synapse spark statement list'] = """ type: command -short-summary: List all spark statements under the specify spark session. +short-summary: List all Spark statements examples: - - name: List all spark statements under the specify spark session. + - name: List all Spark statements. text: |- - az synapse spark session-statement list --session-id 11 --workspace-name testsynapseworkspace \\ + az synapse spark statement list --session-id 11 --workspace-name testsynapseworkspace \\ --spark-pool-name testsparkpool """ -helps['synapse spark session-statement cancel'] = """ +helps['synapse spark statement cancel'] = """ type: command -short-summary: Cancel a spark statement with statement id. +short-summary: Cancel a Spark statement. examples: - - name: Cancel a spark statement with statement id. + - name: Cancel a Spark statement. text: |- - az synapse spark session-statement cancel --id 1 --session-id 11 --workspace-name testsynapseworkspace \\ + az synapse spark statement cancel --livy-id 1 --session-id 11 --workspace-name testsynapseworkspace \\ --spark-pool-name testsparkpool """ diff --git a/src/synapse/azext_synapse/_params.py b/src/synapse/azext_synapse/_params.py index d1afc5d6083..e93e83aca87 100644 --- a/src/synapse/azext_synapse/_params.py +++ b/src/synapse/azext_synapse/_params.py @@ -3,159 +3,197 @@ # Licensed under the MIT License. See License.txt in the project root for license information. # -------------------------------------------------------------------------------------------- # pylint: disable=line-too-long -from azure.cli.core.commands.parameters import name_type, tags_type, get_three_state_flag, get_enum_type, \ - resource_group_name_type +from argcomplete import FilesCompleter +from azext_synapse.constant import SparkBatchLanguage, SparkStatementLanguage +from azure.cli.core.commands.parameters import name_type, tags_type, get_three_state_flag, get_enum_type +from azure.cli.core.util import get_json_object +from ._validators import validate_storage_account, validate_statement_language # pylint: disable=too-many-statements def load_arguments(self, _): # synapse spark - - for scope in ['batch', 'session', 'session-statement']: + for scope in ['job', 'session', 'statement']: with self.argument_context('synapse spark ' + scope) as c: c.argument('workspace_name', help='The name of the workspace.') - c.argument('spark_pool_name', help='The name of the spark pool.') - - for scope in ['synapse spark batch', 'synapse spark session']: - with self.argument_context(scope + ' create') as c: - c.argument('job_name', arg_type=name_type, help='The spark batch or session job name.') - c.argument('file', help='The URI of file.') - c.argument('class_name', help='The class name.') - c.argument('args', nargs='+', help='The arguments of the job.') - c.argument('jars', nargs='+', help='The array of jar files.') - c.argument('files', nargs='+', help='The array of files URI.') - c.argument('archives', nargs='+', help='The array of archives.') - c.argument('conf', help='The configuration of spark batch job.') - c.argument('driver_memory', help='The memory of driver.') - c.argument('driver_cores', help='The number of cores in driver.') - c.argument('executor_memory', help='The memory of executor.') - c.argument('executor_cores', help='The number of cores in each executor.') - c.argument('num_executors', help='The number of executors.') - c.argument('tags', arg_type=tags_type) - c.argument('detailed', action='store_true', - help='Optional query parameter specifying whether detailed response is returned beyond plain livy.') + c.argument('spark_pool_name', help='The name of the Spark pool.') + for scope in ['synapse spark job', 'synapse spark session']: with self.argument_context(scope + ' list') as c: c.argument('from_index', help='Optional parameter specifying which index the list should begin from.') - c.argument('detailed', action='store_true', - help='Optional query parameter specifying whether detailed response is returned beyond plain livy.') c.argument('size', help='The size of the returned list.By default it is 20 and that is the maximum.') - with self.argument_context('synapse spark batch create') as c: - c.argument('language', arg_type=get_enum_type(['SCALA', 'PYTHON', 'DOTNET'], default='SCALA'), - help='The spark batch job language.') + with self.argument_context('synapse spark job submit') as c: + c.argument('main_definition_file', help='The main file used for the job.') + c.argument('main_class_name', + help='The fully-qualified identifier or the main class that is in the main definition file.') + c.argument('command_line_arguments', nargs='+', + help='Optional arguments to the job (Note: please use storage URIs for file arguments).') + c.argument('archives', nargs='+', help='The array of archives.') + c.argument('job_name', arg_type=name_type, help='The Spark job name.') + c.argument('reference_files', nargs='+', + help='Additional files used for reference in the main definition file.') + c.argument('configuration', type=get_json_object, help='The configuration of Spark job.') + c.argument('executors', help='The number of executors.') + c.argument('executor_size', arg_type=get_enum_type(['Small', 'Medium', 'Large']), help='The executor size') + c.argument('tags', arg_type=tags_type) + c.argument('language', arg_type=get_enum_type(SparkBatchLanguage, default=SparkBatchLanguage.Scala), + help='The Spark job language.') for scope in ['show', 'cancel']: - with self.argument_context('synapse spark batch ' + scope) as c: - c.argument('batch_id', options_list=['--id'], arg_group='Spark Batch', - help='The id of the spark batch job.') - - with self.argument_context('synapse spark batch show') as c: - c.argument('detailed', action='store_true', - help='Optional query parameter specifying whether detailed response is returned beyond plain livy.') + with self.argument_context('synapse spark job ' + scope) as c: + c.argument('job_id', options_list=['--livy-id'], arg_group='Spark job', + help='The id of the Spark job.') + + with self.argument_context('synapse spark session create') as c: + c.argument('job_name', arg_type=name_type, help='The Spark session name.') + c.argument('reference_files', nargs='+', + help='Additional files used for reference in the main definition file.') + c.argument('configuration', type=get_json_object, help='The configuration of Spark session.') + c.argument('executors', help='The number of executors.') + c.argument('executor_size', arg_type=get_enum_type(['Small', 'Medium', 'Large']), help='The executor size') + c.argument('tags', arg_type=tags_type) for scope in ['show', 'cancel', 'reset-timeout']: with self.argument_context('synapse spark session ' + scope) as c: - c.argument('session_id', options_list=['--id'], arg_group='Spark Session', - help='The id of the spark session job.') - - with self.argument_context('synapse spark session show') as c: - c.argument('detailed', action='store_true', - help='Optional query parameter specifying whether detailed response is returned beyond plain livy.') + c.argument('session_id', options_list=['--livy-id'], arg_group='Spark Session', + help='The id of the Spark session job.') - with self.argument_context('synapse spark session-statement') as c: - c.argument('session_id', help='The id of spark session job.') + with self.argument_context('synapse spark statement') as c: + c.argument('session_id', help='The id of Spark session.') for scope in ['show', 'cancel']: - with self.argument_context('synapse spark session-statement ' + scope) as c: - c.argument('statement_id', options_list=['--id'], arg_group="Spark Session-statement", + with self.argument_context('synapse spark statement ' + scope) as c: + c.argument('statement_id', options_list=['--livy-id'], arg_group="Spark statement", help='The id of the statement.') - with self.argument_context('synapse spark session-statement create') as c: - c.argument('code', help='The code of spark statement.') - c.argument('kind', help='The kind of spark statement.') + with self.argument_context('synapse spark statement invoke') as c: + c.argument('code', completer=FilesCompleter(), + help='The code of Spark statement. This is either the code contents or use `@` to load the content from a file') + c.argument('language', arg_type=get_enum_type(SparkStatementLanguage), validator=validate_statement_language, help='The language of Spark statement.') # synapse workspace - for scope in ['synapse workspace', 'synapse spark pool', 'synapse sql pool']: - with self.argument_context(scope) as c: - c.argument('resource_group_name', arg_type=resource_group_name_type, help='The resource group name.') - for scope in ['show', 'create', 'update', 'delete']: with self.argument_context('synapse workspace ' + scope) as c: - c.argument('workspace_name', arg_type=name_type, help='The workspace name.') + c.argument('workspace_name', arg_type=name_type, id_part='name', help='The workspace name.') for scope in ['create', 'update']: with self.argument_context('synapse workspace ' + scope) as c: - c.argument('sql_admin_login_password', help='The sql administrator login password.') + c.argument('sql_admin_login_password', options_list=['--sql-admin-login-password', '-p'], + help='The sql administrator login password.') c.argument('tags', arg_type=tags_type) - c.argument('identity_type', help='The type of managed identity.') with self.argument_context('synapse workspace create') as c: - c.argument("account_url", help='The data lake storage account url.') + c.argument("storage_account", validator=validate_storage_account, + help='The data lake storage account name or resource id.') c.argument('file_system', help='The file system of the data lake storage account.') - c.argument('sql_admin_login_user', help='The sql administrator login user name.') + c.argument('sql_admin_login_user', options_list=['--sql-admin-login-user', '-u'], + help='The sql administrator login user name.') - with self.argument_context('synapse workspace update') as c: - c.argument('principal_id', help='The principal id of managed identity.') + with self.argument_context('synapse workspace check-name') as c: + c.argument('name', arg_type=name_type, help='The name you wanted to check.') # synapse spark pool with self.argument_context('synapse spark pool') as c: - c.argument('workspace_name', help='The name of the workspace.') + c.argument('workspace_name', id_part='name', help='The workspace name.') + + with self.argument_context('synapse spark pool list') as c: + c.argument('workspace_name', id_part=None, help='The workspace name.') for scope in ['show', 'create', 'update', 'delete']: with self.argument_context('synapse spark pool ' + scope) as c: - c.argument('spark_pool_name', arg_type=name_type, help='The name of the spark pool.') + c.argument('spark_pool_name', arg_type=name_type, id_part='child_name_1', + help='The name of the Spark pool.') with self.argument_context('synapse spark pool create') as c: # Node c.argument('node_count', arg_group='Node', help='The number of node.') c.argument('node_size_family', arg_group='Node', help='The node size family.') - c.argument('node_size', arg_group='Node', help='The node size.') + c.argument('node_size', arg_group='Node', arg_type=get_enum_type(['Small', 'Medium', 'Large']), + help='The node size.') # AutoScale - c.argument('auto_scale_enabled', arg_type=get_three_state_flag(), arg_group='AutoScale', + c.argument('enable_auto_scale', arg_type=get_three_state_flag(), arg_group='AutoScale', help='The flag of enabling auto scale.') c.argument('max_node_count', arg_group='AutoScale', help='The max node count.') c.argument('min_node_count', arg_group='AutoScale', help='The min node count.') # AutoPause - c.argument('auto_pause_enabled', arg_type=get_three_state_flag(), arg_group='AutoPause', + c.argument('enable_auto_pause', arg_type=get_three_state_flag(), arg_group='AutoPause', help='The flag of enabling auto pause.') - c.argument('delay_in_minutes', arg_group='AutoPause', help='The delay time.') + c.argument('delay', arg_group='AutoPause', help='The delay time whose unit is minute.') # Environment Configuration - c.argument('library_requirements_content', arg_group='Environment Configuration', - help='The library requirements content.') - c.argument('library_requirements_filename', arg_group='Environment Configuration', - help='The library requirements file name.') + c.argument('library_requirements_file', arg_group='Environment Configuration', + help='The library requirements file.') # Default Folder - c.argument('spark_events_folder', arg_group='Default Folder', help='The spark events folder.') - c.argument('default_spark_log_folder', arg_group='Default Folder', help='The default spark log folder.') + c.argument('spark_events_folder', arg_group='Default Folder', help='The Spark events folder.') + c.argument('default_spark_log_folder', arg_group='Default Folder', help='The default Spark log folder.') # Component Version - c.argument('spark_version', arg_group='Component Version', help='The supported spark version is 2.4 now.') + c.argument('spark_version', arg_group='Component Version', help='The supported Spark version is 2.4 now.') - c.argument('force', help='The flag of force operation.') c.argument('tags', arg_type=tags_type) with self.argument_context('synapse spark pool update') as c: c.argument('tags', arg_type=tags_type) + # Node + c.argument('node_count', arg_group='Node', help='The number of node.') + c.argument('node_size_family', arg_group='Node', help='The node size family.') + + c.argument('node_size', arg_group='Node', arg_type=get_enum_type(['Small', 'Medium', 'Large']), + help='The node size.') + # AutoScale + c.argument('enable_auto_scale', arg_type=get_three_state_flag(), arg_group='AutoScale', + help='The flag of enabling auto scale.') + c.argument('max_node_count', arg_group='AutoScale', help='The max node count.') + c.argument('min_node_count', arg_group='AutoScale', help='The min node count.') + + # AutoPause + c.argument('enable_auto_pause', arg_type=get_three_state_flag(), arg_group='AutoPause', + help='The flag of enabling auto pause.') + c.argument('delay', arg_group='AutoPause', help='The delay time whose unit is minute.') + + # Environment Configuration + c.argument('library_requirements_file', arg_group='Environment Configuration', + help='The library requirements file.') + c.argument('force', arg_type=get_three_state_flag(), help='The flag of force operation.') # synapse sql pool with self.argument_context('synapse sql pool') as c: - c.argument('workspace_name', help='The name of the workspace.') + c.argument('workspace_name', id_part='name', help='The workspace name.') - for scope in ['show', 'create', 'delete', 'pause', 'resume']: + with self.argument_context('synapse sql pool list') as c: + c.argument('workspace_name', id_part=None, help='The workspace name.') + + for scope in ['show', 'create', 'delete', 'update', 'pause', 'resume']: with self.argument_context('synapse sql pool ' + scope) as c: - c.argument('sql_pool_name', arg_type=name_type, help='The sql pool name.') + c.argument('sql_pool_name', arg_type=name_type, id_part='child_name_1', help='The SQL pool name.') with self.argument_context('synapse sql pool create') as c: - c.argument('max_size_bytes', help='The max size bytes.') - c.argument('sku_name', help='The sku name.') - c.argument('sku_tier', help='The sku tier.') + c.argument('performance_level', help='The performance level.') c.argument('source_database_id', help='The source database id.') c.argument('recoverable_database_id', help='The recoverable database id.') - c.argument('create_mode', help='The create mode.') c.argument('tags', arg_type=tags_type) + + with self.argument_context('synapse sql pool update') as c: + c.argument('sku_name', options_list=['--performance-level'], help='The performance level.') + c.argument('tags', arg_type=tags_type) + + # synapse workspace firewall-rule + with self.argument_context('synapse workspace firewall-rule') as c: + c.argument('workspace_name', id_part='name', help='The workspace name.') + + with self.argument_context('synapse workspace firewall-rule list') as c: + c.argument('workspace_name', id_part=None, help='The workspace name.') + + for scope in ['show', 'create', 'delete']: + with self.argument_context('synapse workspace firewall-rule ' + scope) as c: + c.argument('rule_name', arg_type=name_type, id_part='child_name_1', help='The IP firewall rule name') + + with self.argument_context('synapse workspace firewall-rule create') as c: + c.argument('start_ip_address', help='The start IP address of the firewall rule. Must be IPv4 format.') + c.argument('end_ip_address', help='The end IP address of the firewall rule. Must be IPv4 format. ' + 'Must be greater than or equal to startIpAddress.') diff --git a/src/synapse/azext_synapse/_validators.py b/src/synapse/azext_synapse/_validators.py index 6376cbac9b1..55166f1f34b 100644 --- a/src/synapse/azext_synapse/_validators.py +++ b/src/synapse/azext_synapse/_validators.py @@ -1,21 +1,29 @@ -# -------------------------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# -------------------------------------------------------------------------------------------- - - -def example_name_or_id_validator(cmd, namespace): - # pylint: disable=line-too-long - # Example of a storage account name or ID validator. - # See: https://github.com/Azure/azure-cli/blob/dev/doc/authoring_command_modules/authoring_commands.md#supporting-name-or-id-parameters - from azure.cli.core.commands.client_factory import get_subscription_id - from msrestazure.tools import is_valid_resource_id, resource_id - if namespace.storage_account: - if not is_valid_resource_id(namespace.RESOURCE): - namespace.storage_account = resource_id( - subscription=get_subscription_id(cmd.cli_ctx), - resource_group=namespace.resource_group_name, - namespace='Microsoft.Storage', - type='storageAccounts', - name=namespace.storage_account - ) +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + + +from msrestazure.tools import is_valid_resource_id +from azure.cli.core.commands.parameters import get_resources_in_subscription # pylint: disable=unused-import + + +def validate_storage_account(namespace): + from msrestazure.tools import parse_resource_id + if is_valid_resource_id(namespace.storage_account): + parsed_storage = parse_resource_id(namespace.storage_account) + storage_name = parsed_storage['resource_name'] + namespace.storage_account = storage_name + + +def validate_statement_language(namespace): + statement_language = { + 'spark': 'spark', + 'scala': 'spark', + 'pypark': 'pyspark', + 'python': 'pyspark', + 'sparkdotnet': 'sparkdotnet', + 'csharp': 'sparkdotnet', + 'sql': 'sql' + } + namespace.language = statement_language.get(namespace.language.lower()) diff --git a/src/synapse/azext_synapse/commands.py b/src/synapse/azext_synapse/commands.py index 687f8c216e8..e5556a63878 100644 --- a/src/synapse/azext_synapse/commands.py +++ b/src/synapse/azext_synapse/commands.py @@ -10,6 +10,8 @@ def load_command_table(self, _): from ._client_factory import cf_synapse_client_workspace_factory from ._client_factory import cf_synapse_client_bigdatapool_factory from ._client_factory import cf_synapse_client_sqlpool_factory + from ._client_factory import cf_synapse_client_ipfirewallrules_factory + from ._client_factory import cf_synapse_client_operations_factory from ._client_factory import cf_synapse_spark_batch from ._client_factory import cf_synapse_spark_session @@ -25,6 +27,15 @@ def load_command_table(self, _): operations_tmpl='azext_synapse.vendored_sdks.azure_mgmt_synapse.operations#SqlPoolsOperations.{}', client_factory=cf_synapse_client_sqlpool_factory) + synapse_firewallrules_sdk = CliCommandType( + operations_tmpl='azext_synapse.vendored_sdks.azure_mgmt_synapse.operations#IpFirewallRulesOperations.{}', + client_factory=cf_synapse_client_ipfirewallrules_factory) + + synapse_operations_sdk = CliCommandType( + operations_tmpl='azext_synapse.vendored_sdks.azure_mgmt_synapse.operations#Operations.{}', + client_factory=cf_synapse_client_operations_factory + ) + synapse_spark_batch_sdk = CliCommandType( operations_tmpl='azext_synapse.vendored_sdks.azure_synapse.operations#SparkBatchOperations.{}', client_factory=cf_synapse_spark_batch @@ -42,6 +53,9 @@ def load_command_table(self, _): g.custom_command('list', 'list_workspaces') g.custom_command('create', 'create_workspace', supports_no_wait=True) g.custom_command('update', 'update_workspace', supports_no_wait=True) + g.custom_command('check-name', 'custom_check_name_availability', + command_type=synapse_operations_sdk, + client_factory=cf_synapse_client_operations_factory) g.command('delete', 'delete', confirmation=True, supports_no_wait=True) g.wait_command('wait') @@ -50,7 +64,7 @@ def load_command_table(self, _): g.custom_show_command('show', 'get_spark_pool') g.command('list', 'list_by_workspace') g.custom_command('create', 'create_spark_pool', supports_no_wait=True) - g.custom_command('update', 'update_spark_pool') + g.custom_command('update', 'update_spark_pool', supports_no_wait=True) g.custom_command('delete', 'delete_spark_pool', confirmation=True, supports_no_wait=True) g.wait_command('wait') @@ -60,14 +74,23 @@ def load_command_table(self, _): g.command('list', 'list_by_workspace') g.custom_command('create', 'create_sql_pool', supports_no_wait=True) g.command('delete', 'delete', confirmation=True, supports_no_wait=True) + g.custom_command('update', 'update_sql_pool') g.command('pause', 'pause') g.command('resume', 'resume') g.wait_command('wait') + with self.command_group('synapse workspace firewall-rule', synapse_firewallrules_sdk, + client_factory=cf_synapse_client_ipfirewallrules_factory) as g: + g.command('list', 'list_by_workspace') + g.show_command('show', 'get') + g.custom_command('create', 'create_firewall_rule', supports_no_wait=True) + g.command('delete', 'delete', confirmation=True, supports_no_wait=True) + g.wait_command('wait') + # Data Plane Commands # Spark batch opertions - with self.command_group('synapse spark batch', synapse_spark_batch_sdk, client_factory=cf_synapse_spark_batch) as g: - g.custom_command('create', 'create_spark_batch_job') + with self.command_group('synapse spark job', synapse_spark_batch_sdk, client_factory=cf_synapse_spark_batch) as g: + g.custom_command('submit', 'create_spark_batch_job') g.custom_command('list', 'list_spark_batch_jobs') g.custom_show_command('show', 'get_spark_batch_job') g.custom_command('cancel', 'cancel_spark_batch_job', confirmation=True) @@ -82,9 +105,9 @@ def load_command_table(self, _): g.custom_command('reset-timeout', 'reset_timeout') # Spark session statements operations - with self.command_group('synapse spark session-statement', synapse_spark_session_sdk, + with self.command_group('synapse spark statement', synapse_spark_session_sdk, client_factory=cf_synapse_spark_session) as g: - g.custom_command('create', 'create_spark_session_statement') + g.custom_command('invoke', 'create_spark_session_statement') g.custom_command('list', 'list_spark_session_statements') g.custom_show_command('show', 'get_spark_session_statement') g.custom_command('cancel', 'cancel_spark_session_statement', confirmation=True) diff --git a/src/synapse/azext_synapse/constant.py b/src/synapse/azext_synapse/constant.py new file mode 100644 index 00000000000..089ebb9a1f4 --- /dev/null +++ b/src/synapse/azext_synapse/constant.py @@ -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. +# -------------------------------------------------------------------------------------------- +from enum import Enum + +DOTNET_FILE = "local:///usr/hdp/current/spark2-client/jars/microsoft-spark.jar" +DOTNET_CLASS = "org.apache.spark.deploy.dotnet.DotnetRunner" +EXECUTOR_SIZE = {'Small': {'Cores': 4, 'Memory': '28g'}, 'Medium': {'Cores': 8, 'Memory': '56g'}, + 'Large': {'Cores': 16, 'Memory': '112g'}} +SPARK_DOTNET_ASSEMBLY_SEARCH_PATHS_KEY = 'spark.yarn.appMasterEnv.DOTNET_ASSEMBLY_SEARCH_PATHS' +SPARK_DOTNET_UDFS_FOLDER_NAME = 'udfs' + + +class SynapseSqlCreateMode(str, Enum): + Default = 'Default' + Recovery = 'Recovery' + Restore = 'Restore' + PointInTimeRestore = 'PointInTimeRestore' + + +class SparkBatchLanguage(str, Enum): + Spark = 'Spark' + Scala = 'Scala' + PySpark = 'PySpark' + Python = 'Python' + SparkDotNet = 'SparkDotNet' + CSharp = 'CSharp' + + +class SparkStatementLanguage(str, Enum): + Spark = 'Spark' + Scala = 'Scala' + PySpark = 'PySpark' + Python = 'Python' + SparkDotNet = 'SparkDotNet' + CSharp = 'CSharp' + SQL = 'SQL' diff --git a/src/synapse/azext_synapse/custom.py b/src/synapse/azext_synapse/custom.py index 0bccb6d2f70..3c132a96a2c 100644 --- a/src/synapse/azext_synapse/custom.py +++ b/src/synapse/azext_synapse/custom.py @@ -2,7 +2,7 @@ # Copyright (c) Microsoft Corporation. All rights reserved. # Licensed under the MIT License. See License.txt in the project root for license information. # -------------------------------------------------------------------------------------------- -from azure.cli.core.util import sdk_no_wait +from azure.cli.core.util import sdk_no_wait, read_file_content from knack.log import get_logger # pylint: disable=unused-import from knack.util import CLIError @@ -11,69 +11,95 @@ from azext_synapse.vendored_sdks.azure_mgmt_synapse.models import Workspace, WorkspacePatchInfo, ManagedIdentity, \ DataLakeStorageAccountDetails, \ - BigDataPoolResourceInfo, AutoScaleProperties, AutoPauseProperties, LibraryRequirements, NodeSize, NodeSizeFamily, \ - SqlPool, Sku - - -# pylint: disable=too-many-locals, too-many-branches, too-many-statements, unused-argument - - -def list_spark_batch_jobs(cmd, client, workspace_name, spark_pool_name, from_index=None, size=None, detailed=True): - return client.list(workspace_name, spark_pool_name, from_index, size, detailed) - - -def create_spark_batch_job(cmd, client, workspace_name, spark_pool_name, job_name, args, driver_memory, driver_cores, - executor_memory, executor_cores, num_executors, language="SCALA", - file=None, class_name=None, jars=None, files=None, - archives=None, conf=None, - tags=None, detailed=True): - dotnet_file = "local:///usr/hdp/current/spark2-client/jars/microsoft-spark.jar" - dotnet_class = "org.apache.spark.deploy.dotnet.DotnetRunner" - - if language.upper() != "DOTNET" and (not file or not class_name): - raise CLIError('Scala and Python spark batch job must provide value for parameter file and class_name.' - 'If you want to create a DotNet spark batch job please add `--language DOTNET`.') - - if language.upper() == "DOTNET": - file = dotnet_file - class_name = dotnet_class + BigDataPoolResourceInfo, AutoScaleProperties, AutoPauseProperties, LibraryRequirements, NodeSizeFamily, \ + SqlPool, SqlPoolPatchInfo, Sku + +from .util import categorized_files, check_udfs_folder +from .constant import DOTNET_CLASS, DOTNET_FILE, SPARK_DOTNET_UDFS_FOLDER_NAME, EXECUTOR_SIZE, \ + SPARK_DOTNET_ASSEMBLY_SEARCH_PATHS_KEY, SparkBatchLanguage, SynapseSqlCreateMode + +from ._client_factory import cf_synapse_client_workspace_factory + + +# pylint: disable=too-many-locals, too-many-branches, too-many-statements, unused-argument, too-many-function-args +def list_spark_batch_jobs(cmd, client, workspace_name, spark_pool_name, from_index=None, size=None): + return client.list(workspace_name, spark_pool_name, from_index, size, detailed=True) + + +def create_spark_batch_job(cmd, client, workspace_name, spark_pool_name, job_name, main_definition_file, + main_class_name, executor_size, executors, language=SparkBatchLanguage.Scala, + command_line_arguments=None, + reference_files=None, archives=None, configuration=None, + tags=None): + file = main_definition_file + class_name = main_class_name + args = command_line_arguments + conf = configuration + if language.upper() == SparkBatchLanguage.SparkDotNet.upper() or \ + language.upper() == SparkBatchLanguage.CSharp.upper(): + file = DOTNET_FILE + class_name = DOTNET_CLASS + + args = [main_definition_file, main_class_name] + if command_line_arguments: + args = args + command_line_arguments + + archives = ["{}#{}".format(main_definition_file, SPARK_DOTNET_UDFS_FOLDER_NAME)] + archives if archives \ + else ["{}#{}".format(main_definition_file, SPARK_DOTNET_UDFS_FOLDER_NAME)] + + if not conf: + conf = {SPARK_DOTNET_ASSEMBLY_SEARCH_PATHS_KEY: './{}'.format(SPARK_DOTNET_UDFS_FOLDER_NAME)} + else: + check_udfs_folder(conf) + + files = None + jars = None + if reference_files: + files, jars = categorized_files(reference_files) + driver_cores = EXECUTOR_SIZE[executor_size]['Cores'] + driver_memory = EXECUTOR_SIZE[executor_size]['Memory'] + executor_cores = EXECUTOR_SIZE[executor_size]['Cores'] + executor_memory = EXECUTOR_SIZE[executor_size]['Memory'] livy_batch_request = ExtendedLivyBatchRequest( - tags=tags, - name=job_name, file=file, class_name=class_name, args=args, jars=jars, files=files, archives=archives, - conf=conf, driver_memory=driver_memory, driver_cores=driver_cores, executor_memory=executor_memory, - executor_cores=executor_cores, num_executors=num_executors) + tags=tags, name=job_name, file=file, class_name=class_name, args=args, jars=jars, + files=files, archives=archives, conf=conf, driver_memory=driver_memory, driver_cores=driver_cores, + executor_memory=executor_memory, executor_cores=executor_cores, num_executors=executors) + return client.create(workspace_name, spark_pool_name, livy_batch_request, detailed=True) - return client.create(workspace_name, spark_pool_name, livy_batch_request, detailed) +def get_spark_batch_job(cmd, client, workspace_name, spark_pool_name, job_id): + return client.get(workspace_name, spark_pool_name, job_id, detailed=True) -def get_spark_batch_job(cmd, client, workspace_name, spark_pool_name, batch_id, detailed=True): - return client.get(workspace_name, spark_pool_name, batch_id, detailed) - -def cancel_spark_batch_job(cmd, client, workspace_name, spark_pool_name, batch_id): - return client.delete(workspace_name, spark_pool_name, batch_id) +def cancel_spark_batch_job(cmd, client, workspace_name, spark_pool_name, job_id): + return client.delete(workspace_name, spark_pool_name, job_id) # Spark Session -def list_spark_session_jobs(cmd, client, workspace_name, spark_pool_name, from_index=None, size=None, detailed=True): - return client.list(workspace_name, spark_pool_name, from_index, size, detailed) - - -def create_spark_session_job(cmd, client, workspace_name, spark_pool_name, driver_memory, driver_cores, - executor_memory, executor_cores, num_executors, job_name=None, file=None, class_name=None, - args=None, jars=None, files=None, archives=None, conf=None, - tags=None, detailed=True): +def list_spark_session_jobs(cmd, client, workspace_name, spark_pool_name, from_index=None, size=None): + return client.list(workspace_name, spark_pool_name, from_index, size, detailed=True) + + +def create_spark_session_job(cmd, client, workspace_name, spark_pool_name, job_name, executor_size, executors, + reference_files=None, configuration=None, tags=None): + files = None + jars = None + if reference_files: + files, jars = categorized_files(reference_files) + driver_cores = EXECUTOR_SIZE[executor_size]['Cores'] + driver_memory = EXECUTOR_SIZE[executor_size]['Memory'] + executor_cores = EXECUTOR_SIZE[executor_size]['Cores'] + executor_memory = EXECUTOR_SIZE[executor_size]['Memory'] livy_session_request = ExtendedLivySessionRequest( - tags=tags, - name=job_name, file=file, class_name=class_name, args=args, jars=jars, files=files, archives=archives, - conf=conf, driver_memory=driver_memory, driver_cores=driver_cores, executor_memory=executor_memory, - executor_cores=executor_cores, num_executors=num_executors) - return client.create(workspace_name, spark_pool_name, livy_session_request, detailed) + tags=tags, name=job_name, jars=jars, files=files, + conf=configuration, driver_memory=driver_memory, driver_cores=driver_cores, + executor_memory=executor_memory, executor_cores=executor_cores, num_executors=executors) + return client.create(workspace_name, spark_pool_name, livy_session_request, detailed=True) -def get_spark_session_job(cmd, client, workspace_name, spark_pool_name, session_id, detailed=True): - return client.get(workspace_name, spark_pool_name, session_id, detailed) +def get_spark_session_job(cmd, client, workspace_name, spark_pool_name, session_id): + return client.get(workspace_name, spark_pool_name, session_id, detailed=True) def cancel_spark_session_job(cmd, client, workspace_name, spark_pool_name, session_id): @@ -88,8 +114,11 @@ def list_spark_session_statements(cmd, client, workspace_name, spark_pool_name, return client.list_statements(workspace_name, spark_pool_name, session_id) -def create_spark_session_statement(cmd, client, workspace_name, spark_pool_name, session_id, code, kind): - livy_statement_request = LivyStatementRequestBody(code=code, kind=kind) +def create_spark_session_statement(cmd, client, workspace_name, spark_pool_name, session_id, code, language): + if not code: + raise CLIError( + 'Could not read code content from the supplied --code parameter. It is either empty or an invalid file.') + livy_statement_request = LivyStatementRequestBody(code=code, kind=language) return client.create_statement(workspace_name, spark_pool_name, session_id, livy_statement_request) @@ -106,9 +135,11 @@ def list_workspaces(cmd, client, resource_group_name=None): # pylint: disable=u resource_group_name=resource_group_name) if resource_group_name else client.list() -def create_workspace(cmd, client, resource_group_name, workspace_name, account_url, file_system, sql_admin_login_user, - sql_admin_login_password, location, tags=None, identity_type="SystemAssigned", no_wait=False): +def create_workspace(cmd, client, resource_group_name, workspace_name, storage_account, file_system, + sql_admin_login_user, sql_admin_login_password, location, tags=None, no_wait=False): + identity_type = "SystemAssigned" identity = ManagedIdentity(type=identity_type) + account_url = "https://{}.dfs.{}".format(storage_account, cmd.cli_ctx.cloud.suffixes.storage_endpoint) default_data_lake_storage = DataLakeStorageAccountDetails(account_url=account_url, filesystem=file_system) workspace_info = Workspace( identity=identity, @@ -121,59 +152,119 @@ def create_workspace(cmd, client, resource_group_name, workspace_name, account_u def update_workspace(cmd, client, resource_group_name, workspace_name, sql_admin_login_password=None, - identity_type="SystemAssigned", principal_id=None, tags=None, no_wait=False): - identity = ManagedIdentity(type=identity_type) - workspace_patch_info = WorkspacePatchInfo( - tags=tags, - identity=identity, - sql_administrator_login_password=sql_admin_login_password - ) + tags=None, no_wait=False): + workspace_patch_info = WorkspacePatchInfo(tags=tags, sql_admin_login_password=sql_admin_login_password) return sdk_no_wait(no_wait, client.update, resource_group_name, workspace_name, workspace_patch_info) +def custom_check_name_availability(cmd, client, name): + return client.check_name_availability(name, "Microsoft.Synapse/workspaces") + + def get_spark_pool(cmd, client, resource_group_name, workspace_name, spark_pool_name): return client.get(resource_group_name, workspace_name, spark_pool_name) -def create_spark_pool(cmd, client, resource_group_name, workspace_name, spark_pool_name, location, - spark_version, node_size=NodeSize.medium.value, node_count=3, - node_size_family=NodeSizeFamily.memory_optimized.value, auto_scale_enabled=True, - min_node_count=3, - max_node_count=40, auto_pause_enabled=True, delay_in_minutes=15, spark_events_folder="/events", - library_requirements_filename=None, library_requirements_content=None, - default_spark_log_folder="/logs", force=False, tags=None, no_wait=False): +def create_spark_pool(cmd, client, resource_group_name, workspace_name, spark_pool_name, + spark_version, node_size, node_count, + node_size_family=NodeSizeFamily.memory_optimized.value, enable_auto_scale=None, + min_node_count=None, max_node_count=None, + enable_auto_pause=None, delay=None, spark_events_folder="/events", + library_requirements_file=None, + default_spark_log_folder="/logs", tags=None, no_wait=False): + # get the location of the workspace + + workspace_client = cf_synapse_client_workspace_factory(cmd.cli_ctx) + workspace_object = workspace_client.get(resource_group_name, workspace_name) + location = workspace_object.location + big_data_pool_info = BigDataPoolResourceInfo(location=location, spark_version=spark_version, node_size=node_size, node_count=node_count, node_size_family=node_size_family, spark_events_folder=spark_events_folder, default_spark_log_folder=default_spark_log_folder, tags=tags) - if auto_scale_enabled: - big_data_pool_info.auto_scale = AutoScaleProperties(enabled=auto_scale_enabled, min_node_count=min_node_count, - max_node_count=max_node_count) - if auto_pause_enabled: - big_data_pool_info.auto_pause = AutoPauseProperties(enabled=auto_pause_enabled, - delay_in_minutes=delay_in_minutes) - - if library_requirements_filename or library_requirements_content: - big_data_pool_info.library_requirements = LibraryRequirements(filename=library_requirements_filename, + + big_data_pool_info.auto_scale = AutoScaleProperties(enabled=enable_auto_scale, min_node_count=min_node_count, + max_node_count=max_node_count) + + big_data_pool_info.auto_pause = AutoPauseProperties(enabled=enable_auto_pause, + delay_in_minutes=delay) + + if library_requirements_file: + library_requirements_content = read_file_content(library_requirements_file) + big_data_pool_info.library_requirements = LibraryRequirements(filename=library_requirements_file, content=library_requirements_content) return sdk_no_wait(no_wait, client.create_or_update, resource_group_name, workspace_name, spark_pool_name, - big_data_pool_info, force) - + big_data_pool_info) + + +def update_spark_pool(cmd, client, resource_group_name, workspace_name, spark_pool_name, + node_size=None, node_count=None, enable_auto_scale=None, + min_node_count=None, max_node_count=None, + enable_auto_pause=None, delay=None, + library_requirements_file=None, tags=None, force=False, no_wait=False): + existing_spark_pool = client.get(resource_group_name, workspace_name, spark_pool_name) + + if node_size: + existing_spark_pool.node_size = node_size + if node_count: + existing_spark_pool.node_count = node_count + + if library_requirements_file: + library_requirements_content = read_file_content(library_requirements_file) + existing_spark_pool.library_requirements = LibraryRequirements(filename=library_requirements_file, + content=library_requirements_content) + if tags: + existing_spark_pool.tags = tags + + if existing_spark_pool.auto_scale is not None: + if enable_auto_scale is not None: + existing_spark_pool.auto_scale.enabled = enable_auto_scale + if min_node_count: + existing_spark_pool.auto_scale.min_node_count = min_node_count + if max_node_count: + existing_spark_pool.auto_scale.max_node_count = max_node_count + else: + existing_spark_pool.auto_scale = AutoScaleProperties(enabled=enable_auto_scale, min_node_count=min_node_count, + max_node_count=max_node_count) + + if existing_spark_pool.auto_pause is not None: + if enable_auto_pause is not None: + existing_spark_pool.auto_pause.enabled = enable_auto_pause + if delay: + existing_spark_pool.auto_pause.delay_in_minutes = delay + else: + existing_spark_pool.auto_pause = AutoPauseProperties(enabled=enable_auto_pause, + delay_in_minutes=delay) -def update_spark_pool(cmd, client, resource_group_name, workspace_name, spark_pool_name, tags=None): - return client.update(resource_group_name, workspace_name, spark_pool_name, tags) + return sdk_no_wait(no_wait, client.create_or_update, resource_group_name, workspace_name, spark_pool_name, + existing_spark_pool, force=force) def delete_spark_pool(cmd, client, resource_group_name, workspace_name, spark_pool_name, no_wait=False): return sdk_no_wait(no_wait, client.delete, resource_group_name, workspace_name, spark_pool_name) -def create_sql_pool(cmd, client, resource_group_name, workspace_name, sql_pool_name, location, sku_name, - sku_tier=None, max_size_bytes=None, source_database_id=None, recoverable_database_id=None, - create_mode=None, tags=None, no_wait=False): - sku = Sku(tier=sku_tier, name=sku_name) - sql_pool_info = SqlPool(sku=sku, location=location, max_size_bytes=max_size_bytes, - source_database_id=source_database_id, recoverable_database_id=recoverable_database_id, - create_mode=create_mode, tags=tags) +def create_sql_pool(cmd, client, resource_group_name, workspace_name, sql_pool_name, performance_level, tags=None, + no_wait=False): + # get the location of the workspace + workspace_client = cf_synapse_client_workspace_factory(cmd.cli_ctx) + workspace_object = workspace_client.get(resource_group_name, workspace_name) + location = workspace_object.location + + sku = Sku(name=performance_level) + + sql_pool_info = SqlPool(sku=sku, location=location, create_mode=SynapseSqlCreateMode.Default, tags=tags) return sdk_no_wait(no_wait, client.create, resource_group_name, workspace_name, sql_pool_name, sql_pool_info) + + +def update_sql_pool(cmd, client, resource_group_name, workspace_name, sql_pool_name, sku_name=None, tags=None): + sku = Sku(name=sku_name) + sql_pool_patch_info = SqlPoolPatchInfo(sku=sku, tags=tags) + return client.update(resource_group_name, workspace_name, sql_pool_name, sql_pool_patch_info) + + +def create_firewall_rule(cmd, client, resource_group_name, workspace_name, rule_name, start_ip_address, end_ip_address, + no_wait=False): + return sdk_no_wait(no_wait, client.create_or_update, resource_group_name, workspace_name, rule_name, + start_ip_address=start_ip_address, end_ip_address=end_ip_address) diff --git a/src/synapse/azext_synapse/tests/latest/recordings/test_ip_firewall_rules.yaml b/src/synapse/azext_synapse/tests/latest/recordings/test_ip_firewall_rules.yaml new file mode 100644 index 00000000000..94e43af2427 --- /dev/null +++ b/src/synapse/azext_synapse/tests/latest/recordings/test_ip_firewall_rules.yaml @@ -0,0 +1,625 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - synapse workspace firewall-rule create + Connection: + - keep-alive + ParameterSetName: + - --name --workspace-name --resource-group --start-ip-address --end-ip-address + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-resource/8.0.1 Azure-SDK-For-Python AZURECLI/2.1.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resources?$filter=resourceType%20eq%20%27Microsoft.Synapse%2Fworkspaces%27%20and%20name%20eq%20%27testsynapseworkspace%27&api-version=2019-07-01 + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace","name":"testsynapseworkspace","type":"Microsoft.Synapse/workspaces","location":"eastus","identity":{"principalId":"5c40eee1-1044-4ec5-9d56-bbbd73b93df0","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"tags":{"key1":"value2"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '412' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 22 Apr 2020 07:54:14 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"properties": {"endIpAddress": "255.255.255.255", "startIpAddress": "0.0.0.0"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - synapse workspace firewall-rule create + Connection: + - keep-alive + Content-Length: + - '80' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - --name --workspace-name --resource-group --start-ip-address --end-ip-address + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-synapse/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/firewallRules/rule000002?api-version=2019-06-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Provisioning","startIpAddress":"0.0.0.0","endIpAddress":"255.255.255.255"},"id":"subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourcegroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/firewallRules/rule000002","name":"rule000002","type":"Microsoft.Synapse/workspaces/firewallRules"}' + headers: + access-control-allow-headers: + - Location + access-control-expose-headers: + - Location + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/operationStatuses/ebd01e87-8eb7-4f32-805f-78b4c1247281?api-version=2019-06-01-preview + cache-control: + - no-cache + content-length: + - '349' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 22 Apr 2020 07:54:17 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/operationResults/ebd01e87-8eb7-4f32-805f-78b4c1247281?api-version=2019-06-01-preview + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - synapse workspace firewall-rule create + Connection: + - keep-alive + ParameterSetName: + - --name --workspace-name --resource-group --start-ip-address --end-ip-address + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-synapse/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/operationStatuses/ebd01e87-8eb7-4f32-805f-78b4c1247281?api-version=2019-06-01-preview + response: + body: + string: '{"status":"Succeeded"}' + headers: + cache-control: + - no-cache + content-length: + - '22' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 22 Apr 2020 07:54:49 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - synapse workspace firewall-rule create + Connection: + - keep-alive + ParameterSetName: + - --name --workspace-name --resource-group --start-ip-address --end-ip-address + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-synapse/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/firewallRules/rule000002?api-version=2019-06-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","startIpAddress":"0.0.0.0","endIpAddress":"255.255.255.255"},"id":"subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourcegroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/firewallRules/rule000002","name":"rule000002","type":"Microsoft.Synapse/workspaces/firewallRules"}' + headers: + cache-control: + - no-cache + content-length: + - '346' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 22 Apr 2020 07:54:49 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - synapse workspace firewall-rule show + Connection: + - keep-alive + ParameterSetName: + - --name --workspace-name --resource-group + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-resource/8.0.1 Azure-SDK-For-Python AZURECLI/2.1.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resources?$filter=resourceType%20eq%20%27Microsoft.Synapse%2Fworkspaces%27%20and%20name%20eq%20%27testsynapseworkspace%27&api-version=2019-07-01 + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace","name":"testsynapseworkspace","type":"Microsoft.Synapse/workspaces","location":"eastus","identity":{"principalId":"5c40eee1-1044-4ec5-9d56-bbbd73b93df0","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"tags":{"key1":"value2"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '412' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 22 Apr 2020 07:54:52 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - synapse workspace firewall-rule show + Connection: + - keep-alive + ParameterSetName: + - --name --workspace-name --resource-group + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-synapse/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/firewallRules/rule000002?api-version=2019-06-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","startIpAddress":"0.0.0.0","endIpAddress":"255.255.255.255"},"id":"subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourcegroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/firewallRules/rule000002","name":"rule000002","type":"Microsoft.Synapse/workspaces/firewallRules"}' + headers: + cache-control: + - no-cache + content-length: + - '346' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 22 Apr 2020 07:54:53 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - synapse workspace firewall-rule list + Connection: + - keep-alive + ParameterSetName: + - --workspace-name --resource-group + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-resource/8.0.1 Azure-SDK-For-Python AZURECLI/2.1.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resources?$filter=resourceType%20eq%20%27Microsoft.Synapse%2Fworkspaces%27%20and%20name%20eq%20%27testsynapseworkspace%27&api-version=2019-07-01 + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace","name":"testsynapseworkspace","type":"Microsoft.Synapse/workspaces","location":"eastus","identity":{"principalId":"5c40eee1-1044-4ec5-9d56-bbbd73b93df0","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"tags":{"key1":"value2"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '412' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 22 Apr 2020 07:54:55 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - synapse workspace firewall-rule list + Connection: + - keep-alive + ParameterSetName: + - --workspace-name --resource-group + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-synapse/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/firewallRules?api-version=2019-06-01-preview + response: + body: + string: '{"value":[{"properties":{"provisioningState":"Succeeded","startIpAddress":"0.0.0.0","endIpAddress":"255.255.255.255"},"id":"subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourcegroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/firewallRules/allowAll","name":"allowAll","type":"Microsoft.Synapse/workspaces/firewallRules"},{"properties":{"provisioningState":"Succeeded","startIpAddress":"0.0.0.0","endIpAddress":"255.255.255.255"},"id":"subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourcegroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/firewallRules/rule000002","name":"rule000002","type":"Microsoft.Synapse/workspaces/firewallRules"},{"properties":{"provisioningState":"Succeeded","startIpAddress":"0.0.0.0","endIpAddress":"255.255.255.255"},"id":"subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourcegroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/firewallRules/ruleg3qm","name":"ruleg3qm","type":"Microsoft.Synapse/workspaces/firewallRules"},{"properties":{"provisioningState":"Succeeded","startIpAddress":"0.0.0.0","endIpAddress":"255.255.255.255"},"id":"subscriptions/051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3/resourcegroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/firewallRules/rulenga4","name":"rulenga4","type":"Microsoft.Synapse/workspaces/firewallRules"}]}' + headers: + cache-control: + - no-cache + content-length: + - '1399' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 22 Apr 2020 07:54:57 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - synapse workspace firewall-rule delete + Connection: + - keep-alive + ParameterSetName: + - --name --workspace-name --resource-group --yes + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-resource/8.0.1 Azure-SDK-For-Python AZURECLI/2.1.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resources?$filter=resourceType%20eq%20%27Microsoft.Synapse%2Fworkspaces%27%20and%20name%20eq%20%27testsynapseworkspace%27&api-version=2019-07-01 + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace","name":"testsynapseworkspace","type":"Microsoft.Synapse/workspaces","location":"eastus","identity":{"principalId":"5c40eee1-1044-4ec5-9d56-bbbd73b93df0","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"tags":{"key1":"value2"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '412' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 22 Apr 2020 07:54:59 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - synapse workspace firewall-rule delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --name --workspace-name --resource-group --yes + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-synapse/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + accept-language: + - en-US + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/firewallRules/rule000002?api-version=2019-06-01-preview + response: + body: + string: '' + headers: + access-control-allow-headers: + - Location + access-control-expose-headers: + - Location + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/operationStatuses/25710fd3-de43-405c-84d4-1d54ff514090?api-version=2019-06-01-preview + cache-control: + - no-cache + content-length: + - '0' + date: + - Wed, 22 Apr 2020 07:55:02 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/operationResults/25710fd3-de43-405c-84d4-1d54ff514090?api-version=2019-06-01-preview + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - synapse workspace firewall-rule delete + Connection: + - keep-alive + ParameterSetName: + - --name --workspace-name --resource-group --yes + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-synapse/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/operationStatuses/25710fd3-de43-405c-84d4-1d54ff514090?api-version=2019-06-01-preview + response: + body: + string: '{"status":"Succeeded"}' + headers: + cache-control: + - no-cache + content-length: + - '22' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 22 Apr 2020 07:55:33 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - synapse workspace firewall-rule show + Connection: + - keep-alive + ParameterSetName: + - --name --workspace-name --resource-group + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-resource/8.0.1 Azure-SDK-For-Python AZURECLI/2.1.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resources?$filter=resourceType%20eq%20%27Microsoft.Synapse%2Fworkspaces%27%20and%20name%20eq%20%27testsynapseworkspace%27&api-version=2019-07-01 + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace","name":"testsynapseworkspace","type":"Microsoft.Synapse/workspaces","location":"eastus","identity":{"principalId":"5c40eee1-1044-4ec5-9d56-bbbd73b93df0","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"tags":{"key1":"value2"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '412' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 22 Apr 2020 07:55:55 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - synapse workspace firewall-rule show + Connection: + - keep-alive + ParameterSetName: + - --name --workspace-name --resource-group + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-synapse/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/firewallRules/rule000002?api-version=2019-06-01-preview + response: + body: + string: '{"error":{"code":"IpFirewallRuleNotFound","message":"testsynapseworkspace/rule000002"}}' + headers: + cache-control: + - no-cache + content-length: + - '85' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 22 Apr 2020 07:55:56 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 404 + message: Not Found +version: 1 diff --git a/src/synapse/azext_synapse/tests/latest/recordings/test_spark_batch.yaml b/src/synapse/azext_synapse/tests/latest/recordings/test_spark_batch.yaml deleted file mode 100644 index 9210bfb49dd..00000000000 --- a/src/synapse/azext_synapse/tests/latest/recordings/test_spark_batch.yaml +++ /dev/null @@ -1,417 +0,0 @@ -interactions: -- request: - body: '{"name": "WordCount_Java", "file": "abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/wordcount.jar", - "className": "WordCount", "args": ["[abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/shakespeare.txt,", - "abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/result/]"], - "driverMemory": "4g", "driverCores": 4, "executorMemory": "4g", "executorCores": - 4, "numExecutors": 2}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '469' - Content-Type: - - application/json; charset=utf-8 - User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 azure-synapse/0.1.0 - method: POST - uri: https://testsynapseworkspace1234.dev.azuresynapse.net/livyApi/versions/2019-11-01-preview/sparkPools/testsparkpool/batches?detailed=true - response: - body: - string: '{"livyInfo":{"notStartedAt":null,"startingAt":null,"runningAt":null,"deadAt":null,"successAt":null,"killedAt":null,"recoveringAt":null,"currentState":"not_started","jobCreationRequest":{"name":"WordCount_Java","file":"abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/wordcount.jar","className":"WordCount","args":["[abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/shakespeare.txt,","abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/result/]"],"conf":{},"driverMemory":"4g","driverCores":4,"executorMemory":"4g","executorCores":4,"numExecutors":2}},"name":"WordCount_Java","workspaceName":"testsynapseworkspace1234","computeName":"testsparkpool","sparkPoolName":"testsparkpool","submitterName":"zhezhou@microsoft.com","submitterId":"8f51e348-1fa6-4194-8d13-8e0368e3298a","artifactId":"Livy","jobType":"SparkBatch","result":"Uncertain","schedulerInfo":{"submittedAt":"2020-03-11T05:52:50.3884024+00:00","scheduledAt":null,"endedAt":null,"cancellationRequestedAt":null,"currentState":"Queued"},"pluginInfo":{"preparationStartedAt":null,"resourceAcquisitionStartedAt":null,"submissionStartedAt":null,"monitoringStartedAt":null,"cleanupStartedAt":null,"currentState":"Preparation"},"tags":{},"id":79,"appId":null,"appInfo":null,"state":"not_started","log":null}' - headers: - content-type: - - application/json; charset=utf-8 - date: - - Wed, 11 Mar 2020 05:52:50 GMT - server: - - Kestrel Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - x-ms-activity-id: - - 590a9e5d-efb3-4952-bd7b-4a995c24a2bb - x-ms-job-clusterrequested-on: - - 1/1/0001 12:00:00 AM +00:00 - x-ms-job-ended-on: - - '' - x-ms-job-internal-id: - - '79' - x-ms-job-livysubmission-on: - - 1/1/0001 12:00:00 AM +00:00 - x-ms-job-queued-on: - - 1/1/0001 12:00:00 AM +00:00 - x-ms-job-result: - - Uncertain - x-ms-job-scheduled-on: - - 1/1/0001 12:00:00 AM +00:00 - x-ms-job-scheduler-state: - - Queued - x-ms-job-submitted-by-name: - - zhezhou@microsoft.com - x-ms-job-submitted-on: - - 3/11/2020 5:52:50 AM +00:00 - x-ms-job-type: - - SparkServiceBatch - x-ms-response-time-ms: - - '114' - 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.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 azure-synapse/0.1.0 - method: GET - uri: https://testsynapseworkspace1234.dev.azuresynapse.net/livyApi/versions/2019-11-01-preview/sparkPools/testsparkpool/batches/79?detailed=true - response: - body: - string: '{"livyInfo":{"notStartedAt":null,"startingAt":null,"runningAt":null,"deadAt":null,"successAt":null,"killedAt":null,"recoveringAt":null,"currentState":"not_started","jobCreationRequest":{"name":"WordCount_Java","file":"abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/wordcount.jar","className":"WordCount","args":["[abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/shakespeare.txt,","abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/result/]"],"conf":{},"driverMemory":"4g","driverCores":4,"executorMemory":"4g","executorCores":4,"numExecutors":2}},"name":"WordCount_Java","workspaceName":"testsynapseworkspace1234","computeName":"testsparkpool","sparkPoolName":"testsparkpool","submitterName":"zhezhou@microsoft.com","submitterId":"8f51e348-1fa6-4194-8d13-8e0368e3298a","artifactId":"Livy","jobType":"SparkBatch","result":"Uncertain","schedulerInfo":{"submittedAt":"2020-03-11T05:52:50.3884024+00:00","scheduledAt":"2020-03-11T05:52:51.4611941+00:00","endedAt":null,"cancellationRequestedAt":null,"currentState":"Scheduled"},"pluginInfo":{"preparationStartedAt":"2020-03-11T05:52:51.4732672+00:00","resourceAcquisitionStartedAt":null,"submissionStartedAt":null,"monitoringStartedAt":null,"cleanupStartedAt":null,"currentState":"ResourceAcquisition"},"tags":{},"id":79,"appId":null,"appInfo":null,"state":"not_started","log":null}' - headers: - content-type: - - application/json; charset=utf-8 - date: - - Wed, 11 Mar 2020 05:52:51 GMT - server: - - Kestrel Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - x-ms-activity-id: - - 32bd1eb4-8990-4124-85c8-1ff77dc8166f - x-ms-job-clusterrequested-on: - - 1/1/0001 12:00:00 AM +00:00 - x-ms-job-ended-on: - - '' - x-ms-job-internal-id: - - '79' - x-ms-job-livysubmission-on: - - 1/1/0001 12:00:00 AM +00:00 - x-ms-job-queued-on: - - 1/1/0001 12:00:00 AM +00:00 - x-ms-job-result: - - Uncertain - x-ms-job-scheduled-on: - - 3/11/2020 5:52:51 AM +00:00 - x-ms-job-scheduler-state: - - Scheduled - x-ms-job-submitted-by-name: - - zhezhou@microsoft.com - x-ms-job-submitted-on: - - 3/11/2020 5:52:50 AM +00:00 - x-ms-job-type: - - SparkServiceBatch - x-ms-response-time-ms: - - '12' - 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.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 azure-synapse/0.1.0 - method: GET - uri: https://testsynapseworkspace1234.dev.azuresynapse.net/livyApi/versions/2019-11-01-preview/sparkPools/testsparkpool/batches?detailed=true - response: - body: - string: '{"from":0,"total":20,"sessions":[{"livyInfo":{"notStartedAt":null,"startingAt":"2019-12-13T08:13:59.1387322+00:00","runningAt":"2019-12-13T08:14:43.2250458+00:00","deadAt":null,"successAt":"2019-12-13T08:15:16.3029723+00:00","killedAt":null,"recoveringAt":null,"currentState":"success","jobCreationRequest":{"name":"WordCount_Java","file":"abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/wordcount.jar","className":"WordCount","args":["abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/shakespeare.txt","abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/result"],"conf":{},"driverMemory":"4G","driverCores":2,"executorMemory":"4G","executorCores":2,"numExecutors":2}},"name":"WordCount_Java","workspaceName":"testsynapseworkspace1234","computeName":"testsparkpool","sparkPoolName":"testsparkpool","submitterId":"ca728363-7297-4e35-a9c3-c6400837883e","artifactId":"Livy","jobType":"SparkBatch","result":"Succeeded","schedulerInfo":{"submittedAt":"2019-12-13T08:11:38.1206692+00:00","scheduledAt":"2019-12-13T08:11:39.2080482+00:00","endedAt":"2019-12-13T08:15:16.568297+00:00","cancellationRequestedAt":null,"currentState":"Ended"},"pluginInfo":{"preparationStartedAt":"2019-12-13T08:11:39.2230319+00:00","resourceAcquisitionStartedAt":"2019-12-13T08:11:39.4839299+00:00","submissionStartedAt":"2019-12-13T08:13:58.4588932+00:00","monitoringStartedAt":"2019-12-13T08:13:59.1558744+00:00","cleanupStartedAt":"2019-12-13T08:15:16.3435598+00:00","currentState":"Ended"},"tags":{},"id":0,"appId":"application_1576224831757_0002","appInfo":{"driverLogUrl":"http://53e52930712f4bd2a64da26879c4751c0076c436679:8042/node/containerlogs/container_1576224831757_0002_01_000001/trusted-service-user","sparkUiUrl":"http://53e52930712f4bd2a64da26879c4751c01223913297:8088/proxy/application_1576224831757_0002/"},"state":"success","log":["\t - tracking URL: http://53e52930712f4bd2a64da26879c4751c01223913297:8088/proxy/application_1576224831757_0002/","\t - user: trusted-service-user","19/12/13 08:14:22 INFO ShutdownHookManager: Shutdown - hook called","19/12/13 08:14:22 INFO ShutdownHookManager: Deleting directory - /tmp/spark-badf96dc-0837-41ba-9944-05f55277f611","19/12/13 08:14:22 INFO ShutdownHookManager: - Deleting directory /tmp/spark-04ab468f-e186-458c-91cd-ef6c97f5dff5","19/12/13 - 08:14:22 INFO MetricsSystemImpl: Stopping azure-file-system metrics system...","19/12/13 - 08:14:22 INFO MetricsSystemImpl: azure-file-system metrics system stopped.","19/12/13 - 08:14:22 INFO MetricsSystemImpl: azure-file-system metrics system shutdown - complete.","\nstderr: ","\nYARN Diagnostics: "]},{"livyInfo":{"notStartedAt":null,"startingAt":"2019-12-13T08:13:59.1372088+00:00","runningAt":"2019-12-13T08:14:54.2434247+00:00","deadAt":null,"successAt":"2019-12-13T08:15:38.4077027+00:00","killedAt":null,"recoveringAt":null,"currentState":"success","jobCreationRequest":{"name":"WordCount_DotNET","file":"abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/dotnet/wordcount/microsoft-spark-2.4.x-0.6.0.jar","className":"org.apache.spark.deploy.dotnet.DotnetRunner","args":["abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/dotnet/wordcount/wordcount.zip","WordCount","abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/dotnet/wordcount/shakespeare.txt","abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/dotnet/wordcount/result"],"conf":{},"driverMemory":"4G","driverCores":2,"executorMemory":"4G","executorCores":2,"numExecutors":2}},"name":"WordCount_DotNET","workspaceName":"testsynapseworkspace1234","computeName":"testsparkpool","sparkPoolName":"testsparkpool","submitterId":"ca728363-7297-4e35-a9c3-c6400837883e","artifactId":"Livy","jobType":"SparkBatch","result":"Succeeded","schedulerInfo":{"submittedAt":"2019-12-13T08:12:11.7282739+00:00","scheduledAt":"2019-12-13T08:12:12.8105461+00:00","endedAt":"2019-12-13T08:15:38.5885609+00:00","cancellationRequestedAt":null,"currentState":"Ended"},"pluginInfo":{"preparationStartedAt":"2019-12-13T08:12:12.8252672+00:00","resourceAcquisitionStartedAt":"2019-12-13T08:12:13.0474066+00:00","submissionStartedAt":"2019-12-13T08:13:58.738487+00:00","monitoringStartedAt":"2019-12-13T08:13:59.1818926+00:00","cleanupStartedAt":"2019-12-13T08:15:38.4532754+00:00","currentState":"Ended"},"tags":{},"id":1,"appId":"application_1576224831757_0001","appInfo":{"driverLogUrl":"http://53e52930712f4bd2a64da26879c4751c03817035090:8042/node/containerlogs/container_1576224831757_0001_01_000001/trusted-service-user","sparkUiUrl":"http://53e52930712f4bd2a64da26879c4751c01223913297:8088/proxy/application_1576224831757_0001/"},"state":"success","log":["\t - tracking URL: http://53e52930712f4bd2a64da26879c4751c01223913297:8088/proxy/application_1576224831757_0001/","\t - user: trusted-service-user","19/12/13 08:14:22 INFO ShutdownHookManager: Shutdown - hook called","19/12/13 08:14:22 INFO ShutdownHookManager: Deleting directory - /tmp/spark-080c8c63-d0dd-487d-a757-faf7b5efd9f1","19/12/13 08:14:22 INFO ShutdownHookManager: - Deleting directory /tmp/spark-aaed5be7-2685-4c28-a43c-8f37b9521d4f","19/12/13 - 08:14:22 INFO MetricsSystemImpl: Stopping azure-file-system metrics system...","19/12/13 - 08:14:22 INFO MetricsSystemImpl: azure-file-system metrics system stopped.","19/12/13 - 08:14:22 INFO MetricsSystemImpl: azure-file-system metrics system shutdown - complete.","\nstderr: ","\nYARN Diagnostics: "]},{"livyInfo":{"notStartedAt":null,"startingAt":"2019-12-25T03:56:21.0104385+00:00","runningAt":null,"deadAt":"2019-12-25T04:01:29.5722247+00:00","successAt":null,"killedAt":null,"recoveringAt":null,"currentState":"dead","jobCreationRequest":{"name":"WordCount_Java","file":"abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/wordcount.jar","className":"WordCount","args":["abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/shakespeare.txt","abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/result/"],"conf":{},"driverMemory":"4g","driverCores":4,"executorMemory":"4g","executorCores":4,"numExecutors":2}},"name":"WordCount_Java","workspaceName":"testsynapseworkspace1234","computeName":"testsparkpool","sparkPoolName":"testsparkpool","submitterName":"zhezhou@microsoft.com","submitterId":"8f51e348-1fa6-4194-8d13-8e0368e3298a","artifactId":"Livy","jobType":"SparkBatch","result":"Failed","schedulerInfo":{"submittedAt":"2019-12-25T03:54:31.4237553+00:00","scheduledAt":"2019-12-25T03:54:32.5488235+00:00","endedAt":"2019-12-25T04:01:30.3397987+00:00","cancellationRequestedAt":null,"currentState":"Ended"},"pluginInfo":{"preparationStartedAt":"2019-12-25T03:54:32.5622451+00:00","resourceAcquisitionStartedAt":"2019-12-25T03:54:32.8795988+00:00","submissionStartedAt":"2019-12-25T03:56:20.3160953+00:00","monitoringStartedAt":"2019-12-25T03:56:21.0256995+00:00","cleanupStartedAt":"2019-12-25T04:01:29.592435+00:00","currentState":"Ended"},"errorInfo":[{"message":"[plugins.testsynapseworkspace1234.testsparkpool.3] - [Monitoring] Livy Endpoint=[http://171.1.155.33:8998/]. Livy Id=[0] Job failed - during run time with state=[dead].","errorCode":"LIVY_JOB_FAILED","source":"Dependency"}],"tags":{},"id":3,"appId":null,"appInfo":{"driverLogUrl":null,"sparkUiUrl":null},"state":"dead","log":["\tat - org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:933)","\tat org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)","19/12/25 - 03:56:47 INFO ShutdownHookManager: Shutdown hook called","19/12/25 03:56:47 - INFO ShutdownHookManager: Deleting directory /tmp/spark-3ae6f965-dcbc-4b3e-9c59-d5c0da9d1d66","19/12/25 - 03:56:47 INFO MetricsSystemImpl: Stopping azure-file-system metrics system...","19/12/25 - 03:56:47 INFO MetricsSystemImpl: azure-file-system metrics system stopped.","19/12/25 - 03:56:47 INFO MetricsSystemImpl: azure-file-system metrics system shutdown - complete.","\nstderr: ","\nYARN Diagnostics: ","No YARN application is found - with tag livy-batch-0-7v8dgkxr in 300 seconds. This may be because 1) spark-submit - fail to submit application to YARN; or 2) YARN cluster doesn''t have enough - resources to start the application in time. Please check Livy log and YARN - log to know the details."]},{"livyInfo":{"notStartedAt":null,"startingAt":"2019-12-25T05:41:50.7810081+00:00","runningAt":"2019-12-25T05:42:56.9338323+00:00","deadAt":null,"successAt":"2019-12-25T05:43:41.0409981+00:00","killedAt":null,"recoveringAt":null,"currentState":"success","jobCreationRequest":{"name":"WordCount_Java","file":"abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/wordcount.jar","className":"WordCount","args":["abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/shakespeare.txt","abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/result/"],"conf":{},"driverMemory":"4g","driverCores":4,"executorMemory":"4g","executorCores":4,"numExecutors":2}},"name":"WordCount_Java","workspaceName":"testsynapseworkspace1234","computeName":"testsparkpool","sparkPoolName":"testsparkpool","submitterName":"zhezhou@microsoft.com","submitterId":"8f51e348-1fa6-4194-8d13-8e0368e3298a","artifactId":"Livy","jobType":"SparkBatch","result":"Succeeded","schedulerInfo":{"submittedAt":"2019-12-25T05:39:13.7690381+00:00","scheduledAt":"2019-12-25T05:39:14.3364408+00:00","endedAt":"2019-12-25T05:43:41.7858451+00:00","cancellationRequestedAt":null,"currentState":"Ended"},"pluginInfo":{"preparationStartedAt":"2019-12-25T05:39:14.3510882+00:00","resourceAcquisitionStartedAt":"2019-12-25T05:39:14.5997804+00:00","submissionStartedAt":"2019-12-25T05:41:09.9672443+00:00","monitoringStartedAt":"2019-12-25T05:41:50.7975586+00:00","cleanupStartedAt":"2019-12-25T05:43:41.0567479+00:00","currentState":"Ended"},"tags":{},"id":4,"appId":"application_1577252484917_0001","appInfo":{"driverLogUrl":"http://59cc110db6dc46ac89103137e0c646e100149e16655:8042/node/containerlogs/container_1577252484917_0001_01_000001/trusted-service-user","sparkUiUrl":"http://59cc110db6dc46ac89103137e0c646e104164268157:8088/proxy/application_1577252484917_0001/"},"state":"success","log":["\t - tracking URL: http://59cc110db6dc46ac89103137e0c646e104164268157:8088/proxy/application_1577252484917_0001/","\t - user: trusted-service-user","19/12/25 05:42:14 INFO ShutdownHookManager: Shutdown - hook called","19/12/25 05:42:14 INFO ShutdownHookManager: Deleting directory - /tmp/spark-0c814ed9-49f2-4d82-8e8f-28b2f089f7fd","19/12/25 05:42:14 INFO ShutdownHookManager: - Deleting directory /tmp/spark-2f0a0fda-0d9d-40b2-a300-795d45a67025","19/12/25 - 05:42:14 INFO MetricsSystemImpl: Stopping azure-file-system metrics system...","19/12/25 - 05:42:14 INFO MetricsSystemImpl: azure-file-system metrics system stopped.","19/12/25 - 05:42:14 INFO MetricsSystemImpl: azure-file-system metrics system shutdown - complete.","\nstderr: ","\nYARN Diagnostics: "]},{"livyInfo":{"notStartedAt":null,"startingAt":"2019-12-25T05:48:37.8201633+00:00","runningAt":null,"deadAt":null,"successAt":null,"killedAt":null,"recoveringAt":null,"currentState":"killed","jobCreationRequest":{"name":"WordCount_Java","file":"abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/wordcount.jar","className":"WordCount","args":["abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/shakespeare.txt","abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/result/"],"conf":{},"driverMemory":"4g","driverCores":4,"executorMemory":"4g","executorCores":4,"numExecutors":2}},"name":"WordCount_Java","workspaceName":"testsynapseworkspace1234","computeName":"testsparkpool","sparkPoolName":"testsparkpool","submitterName":"zhezhou@microsoft.com","submitterId":"8f51e348-1fa6-4194-8d13-8e0368e3298a","artifactId":"Livy","jobType":"SparkBatch","result":"Cancelled","schedulerInfo":{"submittedAt":"2019-12-25T05:48:34.6841508+00:00","scheduledAt":"2019-12-25T05:48:34.7956991+00:00","endedAt":"2019-12-25T05:48:48.664457+00:00","cancellationRequestedAt":"2019-12-25T05:48:47.8779744+00:00","currentState":"Ended"},"pluginInfo":{"preparationStartedAt":"2019-12-25T05:48:34.8085024+00:00","resourceAcquisitionStartedAt":"2019-12-25T05:48:35.0342873+00:00","submissionStartedAt":"2019-12-25T05:48:37.7430805+00:00","monitoringStartedAt":"2019-12-25T05:48:37.8617038+00:00","cleanupStartedAt":"2019-12-25T05:48:47.8779778+00:00","currentState":"Ended"},"tags":{},"id":5,"appId":null,"appInfo":{"driverLogUrl":null,"sparkUiUrl":null},"state":"killed","log":["stdout: - ","\nstderr: ","\nYARN Diagnostics: "]},{"livyInfo":{"notStartedAt":null,"startingAt":"2020-01-10T02:38:45.9207212+00:00","runningAt":"2020-01-10T02:40:03.1582266+00:00","deadAt":null,"successAt":"2020-01-10T02:41:20.3994418+00:00","killedAt":null,"recoveringAt":null,"currentState":"success","jobCreationRequest":{"name":"WordCount_Java","file":"abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/wordcount.jar","className":"WordCount","args":["abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/shakespeare.txt","abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/result/"],"conf":{},"driverMemory":"4g","driverCores":4,"executorMemory":"4g","executorCores":4,"numExecutors":2}},"name":"WordCount_Java","workspaceName":"testsynapseworkspace1234","computeName":"testsparkpool","sparkPoolName":"testsparkpool","submitterName":"zhezhou@microsoft.com","submitterId":"8f51e348-1fa6-4194-8d13-8e0368e3298a","artifactId":"Livy","jobType":"SparkBatch","result":"Succeeded","schedulerInfo":{"submittedAt":"2020-01-10T02:36:03.5192707+00:00","scheduledAt":"2020-01-10T02:36:04.8237808+00:00","endedAt":"2020-01-10T02:41:21.1219891+00:00","cancellationRequestedAt":null,"currentState":"Ended"},"pluginInfo":{"preparationStartedAt":"2020-01-10T02:36:04.8373477+00:00","resourceAcquisitionStartedAt":"2020-01-10T02:36:05.330088+00:00","submissionStartedAt":"2020-01-10T02:37:52.5155982+00:00","monitoringStartedAt":"2020-01-10T02:38:45.9415399+00:00","cleanupStartedAt":"2020-01-10T02:41:20.4156114+00:00","currentState":"Ended"},"tags":{},"id":12,"appId":"application_1578623882988_0001","appInfo":{"driverLogUrl":"http://ce76a4b8792e4537a006d10d8954727a0370ec92478:8042/node/containerlogs/container_1578623882988_0001_01_000001/trusted-service-user","sparkUiUrl":"http://ce76a4b8792e4537a006d10d8954727a04390958445:8088/proxy/application_1578623882988_0001/"},"state":"success","log":["\t - tracking URL: http://ce76a4b8792e4537a006d10d8954727a04390958445:8088/proxy/application_1578623882988_0001/","\t - user: trusted-service-user","20/01/10 02:39:19 INFO ShutdownHookManager: Shutdown - hook called","20/01/10 02:39:19 INFO ShutdownHookManager: Deleting directory - /tmp/spark-5ecda28f-e4b9-4a78-8c2d-da3048be2f0e","20/01/10 02:39:19 INFO ShutdownHookManager: - Deleting directory /tmp/spark-0164a65c-591c-460d-ab19-c67ae8b411d6","20/01/10 - 02:39:19 INFO MetricsSystemImpl: Stopping azure-file-system metrics system...","20/01/10 - 02:39:19 INFO MetricsSystemImpl: azure-file-system metrics system stopped.","20/01/10 - 02:39:19 INFO MetricsSystemImpl: azure-file-system metrics system shutdown - complete.","\nstderr: ","\nYARN Diagnostics: "]},{"livyInfo":{"notStartedAt":null,"startingAt":"2020-01-10T03:38:29.2385918+00:00","runningAt":"2020-01-10T03:39:35.4499932+00:00","deadAt":null,"successAt":"2020-01-10T03:40:19.5803755+00:00","killedAt":null,"recoveringAt":null,"currentState":"success","jobCreationRequest":{"name":"WordCount_Java","file":"abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/wordcount.jar","className":"WordCount","args":["abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/shakespeare.txt","abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/result/"],"conf":{},"driverMemory":"4g","driverCores":4,"executorMemory":"4g","executorCores":4,"numExecutors":2}},"name":"WordCount_Java","workspaceName":"testsynapseworkspace1234","computeName":"testsparkpool","sparkPoolName":"testsparkpool","submitterName":"zhezhou@microsoft.com","submitterId":"8f51e348-1fa6-4194-8d13-8e0368e3298a","artifactId":"Livy","jobType":"SparkBatch","result":"Succeeded","schedulerInfo":{"submittedAt":"2020-01-10T03:35:41.0317404+00:00","scheduledAt":"2020-01-10T03:35:42.1385977+00:00","endedAt":"2020-01-10T03:40:37.5042513+00:00","cancellationRequestedAt":null,"currentState":"Ended"},"pluginInfo":{"preparationStartedAt":"2020-01-10T03:35:42.1521105+00:00","resourceAcquisitionStartedAt":"2020-01-10T03:35:50.939074+00:00","submissionStartedAt":"2020-01-10T03:38:05.8559022+00:00","monitoringStartedAt":"2020-01-10T03:38:29.2694764+00:00","cleanupStartedAt":"2020-01-10T03:40:19.5962197+00:00","currentState":"Ended"},"tags":{},"id":13,"appId":"application_1578627484298_0001","appInfo":{"driverLogUrl":"http://9b16e3f9ff074564bf178da319ac14c60157d104065:8042/node/containerlogs/container_1578627484298_0001_01_000001/trusted-service-user","sparkUiUrl":"http://9b16e3f9ff074564bf178da319ac14c6021e9217492:8088/proxy/application_1578627484298_0001/"},"state":"success","log":["\t - tracking URL: http://9b16e3f9ff074564bf178da319ac14c6021e9217492:8088/proxy/application_1578627484298_0001/","\t - user: trusted-service-user","20/01/10 03:38:58 INFO ShutdownHookManager: Shutdown - hook called","20/01/10 03:38:58 INFO ShutdownHookManager: Deleting directory - /tmp/spark-3510c3ec-19c2-4675-8431-9d4c4b2e3cf5","20/01/10 03:38:58 INFO ShutdownHookManager: - Deleting directory /tmp/spark-925b68f4-72d8-4ac7-b62d-f7005eb5adaf","20/01/10 - 03:38:58 INFO MetricsSystemImpl: Stopping azure-file-system metrics system...","20/01/10 - 03:38:58 INFO MetricsSystemImpl: azure-file-system metrics system stopped.","20/01/10 - 03:38:58 INFO MetricsSystemImpl: azure-file-system metrics system shutdown - complete.","\nstderr: ","\nYARN Diagnostics: "]},{"livyInfo":{"notStartedAt":null,"startingAt":"2020-01-10T03:40:36.7442068+00:00","runningAt":"2020-01-10T03:41:20.8918068+00:00","deadAt":null,"successAt":"2020-01-10T03:42:05.043699+00:00","killedAt":null,"recoveringAt":null,"currentState":"success","jobCreationRequest":{"name":"WordCount_Java","file":"abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/wordcount.jar","className":"WordCount","args":["abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/shakespeare.txt","abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/result/"],"conf":{},"driverMemory":"4g","driverCores":4,"executorMemory":"4g","executorCores":4,"numExecutors":2}},"name":"WordCount_Java","workspaceName":"testsynapseworkspace1234","computeName":"testsparkpool","sparkPoolName":"testsparkpool","submitterName":"zhezhou@microsoft.com","submitterId":"8f51e348-1fa6-4194-8d13-8e0368e3298a","artifactId":"Livy","jobType":"SparkBatch","result":"Succeeded","schedulerInfo":{"submittedAt":"2020-01-10T03:40:32.5418704+00:00","scheduledAt":"2020-01-10T03:40:33.6864167+00:00","endedAt":"2020-01-10T03:42:05.5656043+00:00","cancellationRequestedAt":null,"currentState":"Ended"},"pluginInfo":{"preparationStartedAt":"2020-01-10T03:40:33.6991753+00:00","resourceAcquisitionStartedAt":"2020-01-10T03:40:33.894599+00:00","submissionStartedAt":"2020-01-10T03:40:36.6783498+00:00","monitoringStartedAt":"2020-01-10T03:40:36.7605746+00:00","cleanupStartedAt":"2020-01-10T03:42:05.059249+00:00","currentState":"Ended"},"tags":{},"id":14,"appId":"application_1578627484298_0002","appInfo":{"driverLogUrl":"http://9b16e3f9ff074564bf178da319ac14c6013fa834371:8042/node/containerlogs/container_1578627484298_0002_01_000001/trusted-service-user","sparkUiUrl":"http://9b16e3f9ff074564bf178da319ac14c6021e9217492:8088/proxy/application_1578627484298_0002/"},"state":"success","log":["\t - tracking URL: http://9b16e3f9ff074564bf178da319ac14c6021e9217492:8088/proxy/application_1578627484298_0002/","\t - user: trusted-service-user","20/01/10 03:40:45 INFO ShutdownHookManager: Shutdown - hook called","20/01/10 03:40:45 INFO ShutdownHookManager: Deleting directory - /tmp/spark-05372e52-3f31-435b-9a89-f0e59d031147","20/01/10 03:40:45 INFO ShutdownHookManager: - Deleting directory /tmp/spark-6d758165-8230-4281-b7ba-9b8fef9d6d19","20/01/10 - 03:40:45 INFO MetricsSystemImpl: Stopping azure-file-system metrics system...","20/01/10 - 03:40:45 INFO MetricsSystemImpl: azure-file-system metrics system stopped.","20/01/10 - 03:40:45 INFO MetricsSystemImpl: azure-file-system metrics system shutdown - complete.","\nstderr: ","\nYARN Diagnostics: "]},{"livyInfo":{"notStartedAt":null,"startingAt":"2020-01-10T04:27:23.9757023+00:00","runningAt":"2020-01-10T04:28:52.2822789+00:00","deadAt":null,"successAt":"2020-01-10T04:29:36.4419439+00:00","killedAt":null,"recoveringAt":null,"currentState":"success","jobCreationRequest":{"name":"WordCount_Java","file":"abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/wordcount.jar","className":"WordCount","args":["abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/shakespeare.txt","abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/result/"],"conf":{},"driverMemory":"4g","driverCores":4,"executorMemory":"4g","executorCores":4,"numExecutors":2}},"name":"WordCount_Java","workspaceName":"testsynapseworkspace1234","computeName":"testsparkpool","sparkPoolName":"testsparkpool","submitterName":"zhezhou@microsoft.com","submitterId":"8f51e348-1fa6-4194-8d13-8e0368e3298a","artifactId":"Livy","jobType":"SparkBatch","result":"Succeeded","schedulerInfo":{"submittedAt":"2020-01-10T04:25:25.8587068+00:00","scheduledAt":"2020-01-10T04:25:27.0358801+00:00","endedAt":"2020-01-10T04:29:37.0862105+00:00","cancellationRequestedAt":null,"currentState":"Ended"},"pluginInfo":{"preparationStartedAt":"2020-01-10T04:25:27.0502376+00:00","resourceAcquisitionStartedAt":"2020-01-10T04:25:27.3518291+00:00","submissionStartedAt":"2020-01-10T04:27:13.436335+00:00","monitoringStartedAt":"2020-01-10T04:27:24.0000169+00:00","cleanupStartedAt":"2020-01-10T04:29:36.4592291+00:00","currentState":"Ended"},"tags":{},"id":15,"appId":"application_1578630430582_0001","appInfo":{"driverLogUrl":"http://8e6f1bbb1f0d402ead227bfb3f9541ce029e8073802:8042/node/containerlogs/container_1578630430582_0001_01_000001/trusted-service-user","sparkUiUrl":"http://8e6f1bbb1f0d402ead227bfb3f9541ce019a8a47711:8088/proxy/application_1578630430582_0001/"},"state":"success","log":["\t - tracking URL: http://8e6f1bbb1f0d402ead227bfb3f9541ce019a8a47711:8088/proxy/application_1578630430582_0001/","\t - user: trusted-service-user","20/01/10 04:28:11 INFO ShutdownHookManager: Shutdown - hook called","20/01/10 04:28:11 INFO ShutdownHookManager: Deleting directory - /tmp/spark-e7390b6e-3c89-4d15-8504-dfc0713dbac2","20/01/10 04:28:11 INFO ShutdownHookManager: - Deleting directory /tmp/spark-1aa9ff81-602d-483e-8523-72db6bf69662","20/01/10 - 04:28:11 INFO MetricsSystemImpl: Stopping azure-file-system metrics system...","20/01/10 - 04:28:11 INFO MetricsSystemImpl: azure-file-system metrics system stopped.","20/01/10 - 04:28:11 INFO MetricsSystemImpl: azure-file-system metrics system shutdown - complete.","\nstderr: ","\nYARN Diagnostics: "]},{"livyInfo":{"notStartedAt":null,"startingAt":"2020-01-13T02:48:36.8904406+00:00","runningAt":"2020-01-13T02:49:54.1454521+00:00","deadAt":null,"successAt":"2020-01-13T02:50:27.2071468+00:00","killedAt":null,"recoveringAt":null,"currentState":"success","jobCreationRequest":{"name":"WordCount_Java","file":"abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/wordcount.jar","className":"WordCount","args":["abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/shakespeare.txt","abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/result/"],"conf":{},"driverMemory":"4g","driverCores":4,"executorMemory":"4g","executorCores":4,"numExecutors":2}},"name":"WordCount_Java","workspaceName":"testsynapseworkspace1234","computeName":"testsparkpool","sparkPoolName":"testsparkpool","submitterName":"zhezhou@microsoft.com","submitterId":"8f51e348-1fa6-4194-8d13-8e0368e3298a","artifactId":"Livy","jobType":"SparkBatch","result":"Succeeded","schedulerInfo":{"submittedAt":"2020-01-13T02:47:05.5958128+00:00","scheduledAt":"2020-01-13T02:47:06.7547099+00:00","endedAt":"2020-01-13T02:50:27.949451+00:00","cancellationRequestedAt":null,"currentState":"Ended"},"pluginInfo":{"preparationStartedAt":"2020-01-13T02:47:06.7680533+00:00","resourceAcquisitionStartedAt":"2020-01-13T02:47:07.0124685+00:00","submissionStartedAt":"2020-01-13T02:48:36.0061327+00:00","monitoringStartedAt":"2020-01-13T02:48:36.9485387+00:00","cleanupStartedAt":"2020-01-13T02:50:27.2555545+00:00","currentState":"Ended"},"tags":{},"id":16,"appId":"application_1578883706606_0001","appInfo":{"driverLogUrl":"http://e3c1df4b4aa94ae6b7e5d19359b699fe041b3e01222:8042/node/containerlogs/container_1578883706606_0001_01_000001/trusted-service-user","sparkUiUrl":"http://e3c1df4b4aa94ae6b7e5d19359b699fe0302c276274:8088/proxy/application_1578883706606_0001/"},"state":"success","log":["\t - tracking URL: http://e3c1df4b4aa94ae6b7e5d19359b699fe0302c276274:8088/proxy/application_1578883706606_0001/","\t - user: trusted-service-user","20/01/13 02:49:38 INFO ShutdownHookManager: Shutdown - hook called","20/01/13 02:49:38 INFO ShutdownHookManager: Deleting directory - /tmp/spark-2c25f086-79bf-4db5-98ef-a50ec241447f","20/01/13 02:49:38 INFO ShutdownHookManager: - Deleting directory /tmp/spark-6e4d32f6-a1ab-4b78-967e-068b74920ad7","20/01/13 - 02:49:38 INFO MetricsSystemImpl: Stopping azure-file-system metrics system...","20/01/13 - 02:49:38 INFO MetricsSystemImpl: azure-file-system metrics system stopped.","20/01/13 - 02:49:38 INFO MetricsSystemImpl: azure-file-system metrics system shutdown - complete.","\nstderr: ","\nYARN Diagnostics: "]},{"livyInfo":{"notStartedAt":null,"startingAt":"2020-01-14T08:05:56.2723695+00:00","runningAt":null,"deadAt":"2020-01-14T08:08:08.7536371+00:00","successAt":null,"killedAt":null,"recoveringAt":null,"currentState":"dead","jobCreationRequest":{"name":"WordCount_Dotnet","file":"abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/dotnet/wordcount/microsoft-spark-2.4.x-0.6.0.jar","className":"org.apache.spark.deploy.dotnet.DotnetRunner","args":["abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/dotnet/wordcount/wordcount.zip","abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/dotnet/wordcount/shakespeare.txt","abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/dotnet/wordcount/result/"],"conf":{},"driverMemory":"4g","driverCores":4,"executorMemory":"4g","executorCores":4,"numExecutors":2}},"name":"WordCount_Dotnet","workspaceName":"testsynapseworkspace1234","computeName":"testsparkpool","sparkPoolName":"testsparkpool","submitterName":"zhezhou@microsoft.com","submitterId":"8f51e348-1fa6-4194-8d13-8e0368e3298a","artifactId":"Livy","jobType":"SparkBatch","result":"Failed","schedulerInfo":{"submittedAt":"2020-01-14T08:03:16.2526911+00:00","scheduledAt":"2020-01-14T08:03:17.3380957+00:00","endedAt":"2020-01-14T08:08:09.6745907+00:00","cancellationRequestedAt":null,"currentState":"Ended"},"pluginInfo":{"preparationStartedAt":"2020-01-14T08:03:17.3526315+00:00","resourceAcquisitionStartedAt":"2020-01-14T08:03:17.6777575+00:00","submissionStartedAt":"2020-01-14T08:05:12.4702664+00:00","monitoringStartedAt":"2020-01-14T08:05:56.3294055+00:00","cleanupStartedAt":"2020-01-14T08:08:08.7948883+00:00","currentState":"Ended"},"errorInfo":[{"message":"[plugins.testsynapseworkspace1234.testsparkpool.17] - [Monitoring] Livy Endpoint=[http://171.0.6.7:8998/]. Livy Id=[0] Job failed - during run time with state=[dead].","errorCode":"LIVY_JOB_FAILED","source":"Dependency"}],"tags":{},"id":17,"appId":"application_1578989125483_0001","appInfo":{"driverLogUrl":"http://1657321302a648dcb31a6629c8d3bc9b040d6388685:8042/node/containerlogs/container_1578989125483_0001_02_000001/trusted-service-user","sparkUiUrl":"http://1657321302a648dcb31a6629c8d3bc9b0230e607756:8088/cluster/app/application_1578989125483_0001"},"state":"dead","log":["20/01/14 - 08:07:59 WARN AzureFileSystemThreadPoolExecutor: Disabling threads for Delete - operation as thread count 0 is <= 1","20/01/14 08:07:59 INFO AzureFileSystemThreadPoolExecutor: - Time taken for Delete operation is: 13 ms with threads: 0","20/01/14 08:07:59 - INFO ShutdownHookManager: Shutdown hook called","20/01/14 08:07:59 INFO MetricsSystemImpl: - Stopping azure-file-system metrics system...","20/01/14 08:07:59 INFO MetricsSystemImpl: - azure-file-system metrics system stopped.","20/01/14 08:07:59 INFO MetricsSystemImpl: - azure-file-system metrics system shutdown complete.","","","For more detailed - output, check the application tracking page: http://1657321302a648dcb31a6629c8d3bc9b0230e607756:8088/cluster/app/application_1578989125483_0001 - Then click on links to logs of each attempt.",". Failing the application."]},{"livyInfo":{"notStartedAt":null,"startingAt":"2020-01-14T08:23:04.8045606+00:00","runningAt":"2020-01-14T08:24:10.9877487+00:00","deadAt":null,"successAt":"2020-01-14T08:25:28.1879416+00:00","killedAt":null,"recoveringAt":null,"currentState":"success","jobCreationRequest":{"name":"WordCount_Dotnet","file":"abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/dotnet/wordcount/microsoft-spark-2.4.x-0.6.0.jar","className":"org.apache.spark.deploy.dotnet.DotnetRunner","args":["abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/dotnet/wordcount/wordcount.zip","WordCount","abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/dotnet/wordcount/shakespeare.txt","abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/dotnet/wordcount/result"],"conf":{},"driverMemory":"4g","driverCores":4,"executorMemory":"4g","executorCores":4,"numExecutors":2}},"name":"WordCount_Dotnet","workspaceName":"testsynapseworkspace1234","computeName":"testsparkpool","sparkPoolName":"testsparkpool","submitterName":"zhezhou@microsoft.com","submitterId":"8f51e348-1fa6-4194-8d13-8e0368e3298a","artifactId":"Livy","jobType":"SparkBatch","result":"Succeeded","schedulerInfo":{"submittedAt":"2020-01-14T08:23:00.5240826+00:00","scheduledAt":"2020-01-14T08:23:01.6456144+00:00","endedAt":"2020-01-14T08:25:28.9790621+00:00","cancellationRequestedAt":null,"currentState":"Ended"},"pluginInfo":{"preparationStartedAt":"2020-01-14T08:23:01.65923+00:00","resourceAcquisitionStartedAt":"2020-01-14T08:23:01.8972284+00:00","submissionStartedAt":"2020-01-14T08:23:04.6997445+00:00","monitoringStartedAt":"2020-01-14T08:23:04.8193186+00:00","cleanupStartedAt":"2020-01-14T08:25:28.2053071+00:00","currentState":"Ended"},"tags":{},"id":18,"appId":"application_1578989125483_0002","appInfo":{"driverLogUrl":"http://1657321302a648dcb31a6629c8d3bc9b012e5f40483:8042/node/containerlogs/container_1578989125483_0002_01_000001/trusted-service-user","sparkUiUrl":"http://1657321302a648dcb31a6629c8d3bc9b0230e607756:8088/proxy/application_1578989125483_0002/"},"state":"success","log":["\t - tracking URL: http://1657321302a648dcb31a6629c8d3bc9b0230e607756:8088/proxy/application_1578989125483_0002/","\t - user: trusted-service-user","20/01/14 08:23:13 INFO ShutdownHookManager: Shutdown - hook called","20/01/14 08:23:13 INFO ShutdownHookManager: Deleting directory - /tmp/spark-07aae8db-d0be-4c05-803a-474c353ffeb4","20/01/14 08:23:13 INFO ShutdownHookManager: - Deleting directory /tmp/spark-dd484af5-ca45-44d9-adac-609c2a76e34e","20/01/14 - 08:23:13 INFO MetricsSystemImpl: Stopping azure-file-system metrics system...","20/01/14 - 08:23:13 INFO MetricsSystemImpl: azure-file-system metrics system stopped.","20/01/14 - 08:23:13 INFO MetricsSystemImpl: azure-file-system metrics system shutdown - complete.","\nstderr: ","\nYARN Diagnostics: "]},{"livyInfo":{"notStartedAt":null,"startingAt":"2020-01-15T01:23:50.8375423+00:00","runningAt":"2020-01-15T01:24:57.1362447+00:00","deadAt":null,"successAt":"2020-01-15T01:26:14.351845+00:00","killedAt":null,"recoveringAt":null,"currentState":"success","jobCreationRequest":{"name":"WordCount_Dotnet_cli","file":"abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/dotnet/wordcount/microsoft-spark-2.4.x-0.6.0.jar","className":"org.apache.spark.deploy.dotnet.DotnetRunner","args":["abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/dotnet/wordcount/wordcount.zip","WordCount","abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/dotnet/wordcount/shakespeare.txt","abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/dotnet/wordcount/result"],"conf":{},"driverMemory":"4g","driverCores":4,"executorMemory":"4g","executorCores":4,"numExecutors":2}},"name":"WordCount_Dotnet_cli","workspaceName":"testsynapseworkspace1234","computeName":"testsparkpool","sparkPoolName":"testsparkpool","submitterName":"zhezhou@microsoft.com","submitterId":"8f51e348-1fa6-4194-8d13-8e0368e3298a","artifactId":"Livy","jobType":"SparkBatch","result":"Succeeded","schedulerInfo":{"submittedAt":"2020-01-15T01:21:44.1055566+00:00","scheduledAt":"2020-01-15T01:21:45.3573103+00:00","endedAt":"2020-01-15T01:26:15.0975636+00:00","cancellationRequestedAt":null,"currentState":"Ended"},"pluginInfo":{"preparationStartedAt":"2020-01-15T01:21:45.3717089+00:00","resourceAcquisitionStartedAt":"2020-01-15T01:21:45.6917453+00:00","submissionStartedAt":"2020-01-15T01:23:37.8659497+00:00","monitoringStartedAt":"2020-01-15T01:23:50.8553888+00:00","cleanupStartedAt":"2020-01-15T01:26:14.3683065+00:00","currentState":"Ended"},"tags":{},"id":19,"appId":"application_1579051421404_0001","appInfo":{"driverLogUrl":"http://1b69b0a4ed994f7ea95f9d85f63a3083009f3081028:8042/node/containerlogs/container_1579051421404_0001_01_000001/trusted-service-user","sparkUiUrl":"http://1b69b0a4ed994f7ea95f9d85f63a308302603012606:8088/proxy/application_1579051421404_0001/"},"state":"success","log":["\t - tracking URL: http://1b69b0a4ed994f7ea95f9d85f63a308302603012606:8088/proxy/application_1579051421404_0001/","\t - user: trusted-service-user","20/01/15 01:24:14 INFO ShutdownHookManager: Shutdown - hook called","20/01/15 01:24:14 INFO ShutdownHookManager: Deleting directory - /tmp/spark-e9350640-4f8f-4f9d-8b8b-6dff3a6104fa","20/01/15 01:24:14 INFO ShutdownHookManager: - Deleting directory /tmp/spark-dc37dd45-d38e-4c84-b821-602d8c111e23","20/01/15 - 01:24:14 INFO MetricsSystemImpl: Stopping azure-file-system metrics system...","20/01/15 - 01:24:14 INFO MetricsSystemImpl: azure-file-system metrics system stopped.","20/01/15 - 01:24:14 INFO MetricsSystemImpl: azure-file-system metrics system shutdown - complete.","\nstderr: ","\nYARN Diagnostics: "]},{"livyInfo":{"notStartedAt":null,"startingAt":"2020-01-16T02:11:09.1528283+00:00","runningAt":"2020-01-16T02:12:15.3521866+00:00","deadAt":null,"successAt":"2020-01-16T02:12:48.4623121+00:00","killedAt":null,"recoveringAt":null,"currentState":"success","jobCreationRequest":{"name":"WordCount_Dotnet","file":"abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/dotnet/wordcount/microsoft-spark-2.4.x-0.6.0.jar","className":"org.apache.spark.deploy.dotnet.DotnetRunner","args":["abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/dotnet/wordcount/wordcount.zip","WordCount","abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/dotnet/wordcount/shakespeare.txt","abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/dotnet/wordcount/result"],"conf":{},"driverMemory":"4g","driverCores":4,"executorMemory":"4g","executorCores":4,"numExecutors":2}},"name":"WordCount_Dotnet","workspaceName":"testsynapseworkspace1234","computeName":"testsparkpool","sparkPoolName":"testsparkpool","submitterName":"zhezhou@microsoft.com","submitterId":"8f51e348-1fa6-4194-8d13-8e0368e3298a","artifactId":"Livy","jobType":"SparkBatch","result":"Succeeded","schedulerInfo":{"submittedAt":"2020-01-16T02:08:56.7032948+00:00","scheduledAt":"2020-01-16T02:08:57.8157792+00:00","endedAt":"2020-01-16T02:12:49.0505851+00:00","cancellationRequestedAt":null,"currentState":"Ended"},"pluginInfo":{"preparationStartedAt":"2020-01-16T02:08:57.8407645+00:00","resourceAcquisitionStartedAt":"2020-01-16T02:08:58.0167402+00:00","submissionStartedAt":"2020-01-16T02:11:08.5234297+00:00","monitoringStartedAt":"2020-01-16T02:11:09.169573+00:00","cleanupStartedAt":"2020-01-16T02:12:48.4771889+00:00","currentState":"Ended"},"tags":{},"id":20,"appId":"application_1579140649715_0001","appInfo":{"driverLogUrl":"http://c5bf52cc122a4e8b8e42bb633501e6770007eb66248:8042/node/containerlogs/container_1579140649715_0001_01_000001/trusted-service-user","sparkUiUrl":"http://c5bf52cc122a4e8b8e42bb633501e67704015827933:8088/proxy/application_1579140649715_0001/"},"state":"success","log":["\t - tracking URL: http://c5bf52cc122a4e8b8e42bb633501e67704015827933:8088/proxy/application_1579140649715_0001/","\t - user: trusted-service-user","20/01/16 02:11:50 INFO ShutdownHookManager: Shutdown - hook called","20/01/16 02:11:50 INFO ShutdownHookManager: Deleting directory - /tmp/spark-dcd3cb18-f03f-4ac5-967f-51fa07df172f","20/01/16 02:11:50 INFO ShutdownHookManager: - Deleting directory /tmp/spark-68628a62-1cf0-4f58-bb6b-22fc97b2cc0b","20/01/16 - 02:11:51 INFO MetricsSystemImpl: Stopping azure-file-system metrics system...","20/01/16 - 02:11:51 INFO MetricsSystemImpl: azure-file-system metrics system stopped.","20/01/16 - 02:11:51 INFO MetricsSystemImpl: azure-file-system metrics system shutdown - complete.","\nstderr: ","\nYARN Diagnostics: "]},{"livyInfo":{"notStartedAt":null,"startingAt":"2020-01-16T02:21:08.8565042+00:00","runningAt":"2020-01-16T02:21:41.9836978+00:00","deadAt":null,"successAt":"2020-01-16T02:22:15.0791064+00:00","killedAt":null,"recoveringAt":null,"currentState":"success","jobCreationRequest":{"name":"WordCount_Dotnet","file":"abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/dotnet/wordcount/microsoft-spark-2.4.x-0.6.0.jar","className":"org.apache.spark.deploy.dotnet.DotnetRunner","args":["abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/dotnet/wordcount/wordcount.zip","WordCount","abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/dotnet/wordcount/shakespeare.txt","abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/dotnet/wordcount/result"],"conf":{},"driverMemory":"4g","driverCores":4,"executorMemory":"4g","executorCores":4,"numExecutors":2}},"name":"WordCount_Dotnet","workspaceName":"testsynapseworkspace1234","computeName":"testsparkpool","sparkPoolName":"testsparkpool","submitterName":"zhezhou@microsoft.com","submitterId":"8f51e348-1fa6-4194-8d13-8e0368e3298a","artifactId":"Livy","jobType":"SparkBatch","result":"Succeeded","schedulerInfo":{"submittedAt":"2020-01-16T02:21:04.5602571+00:00","scheduledAt":"2020-01-16T02:21:05.5944531+00:00","endedAt":"2020-01-16T02:22:15.6683532+00:00","cancellationRequestedAt":null,"currentState":"Ended"},"pluginInfo":{"preparationStartedAt":"2020-01-16T02:21:05.606491+00:00","resourceAcquisitionStartedAt":"2020-01-16T02:21:05.802267+00:00","submissionStartedAt":"2020-01-16T02:21:08.7788972+00:00","monitoringStartedAt":"2020-01-16T02:21:08.8712008+00:00","cleanupStartedAt":"2020-01-16T02:22:15.0960969+00:00","currentState":"Ended"},"tags":{},"id":21,"appId":"application_1579140649715_0002","appInfo":{"driverLogUrl":"http://c5bf52cc122a4e8b8e42bb633501e67702199d05116:8042/node/containerlogs/container_1579140649715_0002_01_000001/trusted-service-user","sparkUiUrl":"http://c5bf52cc122a4e8b8e42bb633501e67704015827933:8088/proxy/application_1579140649715_0002/"},"state":"success","log":["\t - tracking URL: http://c5bf52cc122a4e8b8e42bb633501e67704015827933:8088/proxy/application_1579140649715_0002/","\t - user: trusted-service-user","20/01/16 02:21:17 INFO ShutdownHookManager: Shutdown - hook called","20/01/16 02:21:17 INFO ShutdownHookManager: Deleting directory - /tmp/spark-acb065c5-b5a0-43f5-9bfc-13a0dc232598","20/01/16 02:21:17 INFO ShutdownHookManager: - Deleting directory /tmp/spark-2f39dc65-0986-4470-ac8c-e41754627e0e","20/01/16 - 02:21:17 INFO MetricsSystemImpl: Stopping azure-file-system metrics system...","20/01/16 - 02:21:17 INFO MetricsSystemImpl: azure-file-system metrics system stopped.","20/01/16 - 02:21:17 INFO MetricsSystemImpl: azure-file-system metrics system shutdown - complete.","\nstderr: ","\nYARN Diagnostics: "]},{"livyInfo":{"notStartedAt":null,"startingAt":"2020-01-16T02:23:58.0339139+00:00","runningAt":"2020-01-16T02:24:31.0910495+00:00","deadAt":null,"successAt":"2020-01-16T02:25:04.1861059+00:00","killedAt":null,"recoveringAt":null,"currentState":"success","jobCreationRequest":{"name":"WordCount_Dotnet","file":"abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/dotnet/wordcount/microsoft-spark-2.4.x-0.6.0.jar","className":"org.apache.spark.deploy.dotnet.DotnetRunner","args":["abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/dotnet/wordcount/wordcount.zip","WordCount","abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/dotnet/wordcount/shakespeare.txt","abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/dotnet/wordcount/result"],"conf":{},"driverMemory":"4g","driverCores":4,"executorMemory":"4g","executorCores":4,"numExecutors":2}},"name":"WordCount_Dotnet","workspaceName":"testsynapseworkspace1234","computeName":"testsparkpool","sparkPoolName":"testsparkpool","submitterName":"zhezhou@microsoft.com","submitterId":"8f51e348-1fa6-4194-8d13-8e0368e3298a","artifactId":"Livy","jobType":"SparkBatch","result":"Succeeded","schedulerInfo":{"submittedAt":"2020-01-16T02:23:53.8543022+00:00","scheduledAt":"2020-01-16T02:23:54.9361073+00:00","endedAt":"2020-01-16T02:25:05.076203+00:00","cancellationRequestedAt":null,"currentState":"Ended"},"pluginInfo":{"preparationStartedAt":"2020-01-16T02:23:54.9486634+00:00","resourceAcquisitionStartedAt":"2020-01-16T02:23:55.2518511+00:00","submissionStartedAt":"2020-01-16T02:23:57.9528435+00:00","monitoringStartedAt":"2020-01-16T02:23:58.0499442+00:00","cleanupStartedAt":"2020-01-16T02:25:04.2016484+00:00","currentState":"Ended"},"tags":{},"id":22,"appId":"application_1579140649715_0003","appInfo":{"driverLogUrl":"http://c5bf52cc122a4e8b8e42bb633501e67702712f69936:8042/node/containerlogs/container_1579140649715_0003_01_000001/trusted-service-user","sparkUiUrl":"http://c5bf52cc122a4e8b8e42bb633501e67704015827933:8088/proxy/application_1579140649715_0003/"},"state":"success","log":["\t - tracking URL: http://c5bf52cc122a4e8b8e42bb633501e67704015827933:8088/proxy/application_1579140649715_0003/","\t - user: trusted-service-user","20/01/16 02:24:06 INFO ShutdownHookManager: Shutdown - hook called","20/01/16 02:24:06 INFO ShutdownHookManager: Deleting directory - /tmp/spark-91ae2c9d-68e6-463f-8777-3cb4943600e8","20/01/16 02:24:06 INFO ShutdownHookManager: - Deleting directory /tmp/spark-7bb6fe6c-9aed-4d01-a39a-e21b9a04cf8a","20/01/16 - 02:24:06 INFO MetricsSystemImpl: Stopping azure-file-system metrics system...","20/01/16 - 02:24:06 INFO MetricsSystemImpl: azure-file-system metrics system stopped.","20/01/16 - 02:24:06 INFO MetricsSystemImpl: azure-file-system metrics system shutdown - complete.","\nstderr: ","\nYARN Diagnostics: "]},{"livyInfo":{"notStartedAt":null,"startingAt":"2020-01-16T09:39:38.6049357+00:00","runningAt":"2020-01-16T09:41:17.8427957+00:00","deadAt":null,"successAt":"2020-01-16T09:42:12.9407211+00:00","killedAt":null,"recoveringAt":null,"currentState":"success","jobCreationRequest":{"name":"batch_job_from_cli","file":"abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/wordcount.jar","className":"WordCount","args":["abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/shakespeare.txt","abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/result/"],"conf":{},"driverMemory":"4g","driverCores":4,"executorMemory":"4g","executorCores":4,"numExecutors":2}},"name":"batch_job_from_cli","workspaceName":"testsynapseworkspace1234","computeName":"testsparkpool","sparkPoolName":"testsparkpool","submitterId":"ca728363-7297-4e35-a9c3-c6400837883e","artifactId":"Livy","jobType":"SparkBatch","result":"Succeeded","schedulerInfo":{"submittedAt":"2020-01-16T09:36:46.4661975+00:00","scheduledAt":"2020-01-16T09:36:47.6482388+00:00","endedAt":"2020-01-16T09:42:13.1288868+00:00","cancellationRequestedAt":null,"currentState":"Ended"},"pluginInfo":{"preparationStartedAt":"2020-01-16T09:36:47.6607577+00:00","resourceAcquisitionStartedAt":"2020-01-16T09:36:47.9764174+00:00","submissionStartedAt":"2020-01-16T09:39:01.2644498+00:00","monitoringStartedAt":"2020-01-16T09:39:38.6237587+00:00","cleanupStartedAt":"2020-01-16T09:42:12.9582947+00:00","currentState":"Ended"},"tags":{},"id":23,"appId":"application_1579167542444_0001","appInfo":{"driverLogUrl":"http://dff5fe0bf844496b896e527ae28480c20308c150511:8042/node/containerlogs/container_1579167542444_0001_01_000001/trusted-service-user","sparkUiUrl":"http://dff5fe0bf844496b896e527ae28480c20442ee71008:8088/proxy/application_1579167542444_0001/"},"state":"success","log":["\t - tracking URL: http://dff5fe0bf844496b896e527ae28480c20442ee71008:8088/proxy/application_1579167542444_0001/","\t - user: trusted-service-user","20/01/16 09:40:38 INFO ShutdownHookManager: Shutdown - hook called","20/01/16 09:40:38 INFO ShutdownHookManager: Deleting directory - /tmp/spark-64d62c83-9956-4af6-abce-3d4f6084e2f2","20/01/16 09:40:38 INFO ShutdownHookManager: - Deleting directory /tmp/spark-8191d5d3-b207-474d-969f-290f74820b3e","20/01/16 - 09:40:38 INFO MetricsSystemImpl: Stopping azure-file-system metrics system...","20/01/16 - 09:40:38 INFO MetricsSystemImpl: azure-file-system metrics system stopped.","20/01/16 - 09:40:38 INFO MetricsSystemImpl: azure-file-system metrics system shutdown - complete.","\nstderr: ","\nYARN Diagnostics: "]},{"livyInfo":{"notStartedAt":null,"startingAt":null,"runningAt":null,"deadAt":null,"successAt":null,"killedAt":null,"recoveringAt":null,"currentState":"error","jobCreationRequest":{"name":"batch_job_from_cli","file":"abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/wordcount.jar","className":"WordCount","args":["abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/shakespeare.txt","abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/result/"],"conf":{},"driverMemory":"4g","driverCores":4,"executorMemory":"4g","executorCores":4,"numExecutors":2}},"name":"batch_job_from_cli","workspaceName":"testsynapseworkspace1234","computeName":"testsparkpool","sparkPoolName":"testsparkpool","submitterId":"ca728363-7297-4e35-a9c3-c6400837883e","artifactId":"Livy","jobType":"SparkBatch","result":"Cancelled","schedulerInfo":{"submittedAt":"2020-01-16T09:37:10.8498374+00:00","scheduledAt":null,"endedAt":"2020-01-16T09:37:11.1608828+00:00","cancellationRequestedAt":"2020-01-16T09:37:11.1606522+00:00","currentState":"Ended"},"pluginInfo":{"preparationStartedAt":null,"resourceAcquisitionStartedAt":null,"submissionStartedAt":null,"monitoringStartedAt":null,"cleanupStartedAt":"2020-01-16T09:37:11.1606589+00:00","currentState":"Ended"},"tags":{},"id":24,"appId":null,"appInfo":null,"state":"error","log":null},{"livyInfo":{"notStartedAt":null,"startingAt":null,"runningAt":null,"deadAt":null,"successAt":null,"killedAt":null,"recoveringAt":null,"currentState":"error","jobCreationRequest":{"name":"batch_job_from_cli","file":"abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/wordcount.jar","className":"WordCount","args":["abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/shakespeare.txt","abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/result/"],"conf":{},"driverMemory":"4g","driverCores":4,"executorMemory":"4g","executorCores":4,"numExecutors":2}},"name":"batch_job_from_cli","workspaceName":"testsynapseworkspace1234","computeName":"testsparkpool","sparkPoolName":"testsparkpool","submitterId":"ca728363-7297-4e35-a9c3-c6400837883e","artifactId":"Livy","jobType":"SparkBatch","result":"Cancelled","schedulerInfo":{"submittedAt":"2020-01-16T09:37:54.1813823+00:00","scheduledAt":null,"endedAt":"2020-01-16T09:37:54.68767+00:00","cancellationRequestedAt":"2020-01-16T09:37:54.687406+00:00","currentState":"Ended"},"pluginInfo":{"preparationStartedAt":null,"resourceAcquisitionStartedAt":null,"submissionStartedAt":null,"monitoringStartedAt":null,"cleanupStartedAt":"2020-01-16T09:37:54.6874092+00:00","currentState":"Ended"},"tags":{},"id":25,"appId":null,"appInfo":null,"state":"error","log":null},{"livyInfo":{"notStartedAt":null,"startingAt":"2020-01-19T06:46:05.3847587+00:00","runningAt":"2020-01-19T06:46:49.5118675+00:00","deadAt":null,"successAt":"2020-01-19T06:47:33.6083779+00:00","killedAt":null,"recoveringAt":null,"currentState":"success","jobCreationRequest":{"name":"WordCount_Dotnet_with_local_jar","file":"local:///usr/hdp/current/spark2-client/jars/microsoft-spark.jar","className":"org.apache.spark.deploy.dotnet.DotnetRunner","args":["abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/dotnet/wordcount/wordcount.zip","WordCount","abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/dotnet/wordcount/shakespeare.txt","abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/dotnet/wordcount/result"],"conf":{},"driverMemory":"4g","driverCores":4,"executorMemory":"4g","executorCores":4,"numExecutors":2}},"name":"WordCount_Dotnet_with_local_jar","workspaceName":"testsynapseworkspace1234","computeName":"testsparkpool","sparkPoolName":"testsparkpool","submitterName":"zhezhou@microsoft.com","submitterId":"8f51e348-1fa6-4194-8d13-8e0368e3298a","artifactId":"Livy","jobType":"SparkBatch","result":"Succeeded","schedulerInfo":{"submittedAt":"2020-01-19T06:44:13.6466637+00:00","scheduledAt":"2020-01-19T06:44:13.7712602+00:00","endedAt":"2020-01-19T06:47:34.494125+00:00","cancellationRequestedAt":null,"currentState":"Ended"},"pluginInfo":{"preparationStartedAt":"2020-01-19T06:44:13.7855258+00:00","resourceAcquisitionStartedAt":"2020-01-19T06:44:14.0992483+00:00","submissionStartedAt":"2020-01-19T06:46:03.9490509+00:00","monitoringStartedAt":"2020-01-19T06:46:05.4036305+00:00","cleanupStartedAt":"2020-01-19T06:47:33.62279+00:00","currentState":"Ended"},"tags":{},"id":26,"appId":"application_1579416350077_0001","appInfo":{"driverLogUrl":"http://35c3cd39703446f7b5879bc0b8805f8c001de530649:8042/node/containerlogs/container_1579416350077_0001_01_000001/trusted-service-user","sparkUiUrl":"http://35c3cd39703446f7b5879bc0b8805f8c016c6327596:8088/proxy/application_1579416350077_0001/"},"state":"success","log":["\t - tracking URL: http://35c3cd39703446f7b5879bc0b8805f8c016c6327596:8088/proxy/application_1579416350077_0001/","\t - user: trusted-service-user","20/01/19 06:46:18 INFO ShutdownHookManager: Shutdown - hook called","20/01/19 06:46:18 INFO ShutdownHookManager: Deleting directory - /tmp/spark-de3d608d-97b0-4ca5-a6c5-b05df4a40e8e","20/01/19 06:46:18 INFO ShutdownHookManager: - Deleting directory /tmp/spark-ab19f399-5768-4010-a5aa-0257fc7ccc71","20/01/19 - 06:46:18 INFO MetricsSystemImpl: Stopping azure-file-system metrics system...","20/01/19 - 06:46:18 INFO MetricsSystemImpl: azure-file-system metrics system stopped.","20/01/19 - 06:46:18 INFO MetricsSystemImpl: azure-file-system metrics system shutdown - complete.","\nstderr: ","\nYARN Diagnostics: "]}]}' - headers: - content-type: - - application/json; charset=utf-8 - date: - - Wed, 11 Mar 2020 05:52:54 GMT - server: - - Kestrel Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - x-ms-activity-id: - - 1c31eccc-1f38-40d4-8889-564d1fc3f99b - x-ms-response-time-ms: - - '44' - 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.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 azure-synapse/0.1.0 - method: DELETE - uri: https://testsynapseworkspace1234.dev.azuresynapse.net/livyApi/versions/2019-11-01-preview/sparkPools/testsparkpool/batches/79 - response: - body: - string: '' - headers: - content-length: - - '0' - date: - - Wed, 11 Mar 2020 05:52:56 GMT - server: - - Kestrel Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-ms-activity-id: - - b972fac1-7148-4411-9592-cdcb14c9ec22 - x-ms-response-time-ms: - - '25' - 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.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 azure-synapse/0.1.0 - method: GET - uri: https://testsynapseworkspace1234.dev.azuresynapse.net/livyApi/versions/2019-11-01-preview/sparkPools/testsparkpool/batches/79?detailed=true - response: - body: - string: '{"livyInfo":{"notStartedAt":null,"startingAt":"2020-03-11T05:52:55.1416596+00:00","runningAt":null,"deadAt":null,"successAt":null,"killedAt":null,"recoveringAt":null,"currentState":"killed","jobCreationRequest":{"name":"WordCount_Java","file":"abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/wordcount.jar","className":"WordCount","args":["[abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/shakespeare.txt,","abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/result/]"],"conf":{},"driverMemory":"4g","driverCores":4,"executorMemory":"4g","executorCores":4,"numExecutors":2}},"name":"WordCount_Java","workspaceName":"testsynapseworkspace1234","computeName":"testsparkpool","sparkPoolName":"testsparkpool","submitterName":"zhezhou@microsoft.com","submitterId":"8f51e348-1fa6-4194-8d13-8e0368e3298a","artifactId":"Livy","jobType":"SparkBatch","result":"Cancelled","schedulerInfo":{"submittedAt":"2020-03-11T05:52:50.3884024+00:00","scheduledAt":"2020-03-11T05:52:51.4611941+00:00","endedAt":"2020-03-11T05:53:06.0316697+00:00","cancellationRequestedAt":"2020-03-11T05:53:05.1721224+00:00","currentState":"Ended"},"pluginInfo":{"preparationStartedAt":"2020-03-11T05:52:51.4732672+00:00","resourceAcquisitionStartedAt":"2020-03-11T05:52:51.8077445+00:00","submissionStartedAt":"2020-03-11T05:52:55.0676385+00:00","monitoringStartedAt":"2020-03-11T05:52:55.1575933+00:00","cleanupStartedAt":"2020-03-11T05:53:05.1721257+00:00","currentState":"Ended"},"tags":{},"id":79,"appId":null,"appInfo":{"driverLogUrl":null,"sparkUiUrl":null},"state":"killed","log":["stdout: - ","\nstderr: ","\nYARN Diagnostics: "]}' - headers: - content-type: - - application/json; charset=utf-8 - date: - - Wed, 11 Mar 2020 05:53:58 GMT - server: - - Kestrel Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - x-ms-activity-id: - - a936e046-2f32-4038-bddf-2b1422cc5ca2 - x-ms-job-cluster: - - http://171.0.4.7:8998/ - x-ms-job-clusterrequested-on: - - 3/11/2020 5:52:51 AM +00:00 - x-ms-job-ended-on: - - 3/11/2020 5:53:06 AM +00:00 - x-ms-job-internal-id: - - '79' - x-ms-job-livysubmission-on: - - 3/11/2020 5:52:55 AM +00:00 - x-ms-job-queued-on: - - 3/11/2020 5:52:55 AM +00:00 - x-ms-job-result: - - Cancelled - x-ms-job-scheduled-on: - - 3/11/2020 5:52:51 AM +00:00 - x-ms-job-scheduler-state: - - Ended - x-ms-job-submitted-by-name: - - zhezhou@microsoft.com - x-ms-job-submitted-on: - - 3/11/2020 5:52:50 AM +00:00 - x-ms-job-type: - - SparkServiceBatch - x-ms-response-time-ms: - - '15' - status: - code: 200 - message: OK -version: 1 diff --git a/src/synapse/azext_synapse/tests/latest/recordings/test_spark_job.yaml b/src/synapse/azext_synapse/tests/latest/recordings/test_spark_job.yaml new file mode 100644 index 00000000000..8dfb0fac641 --- /dev/null +++ b/src/synapse/azext_synapse/tests/latest/recordings/test_spark_job.yaml @@ -0,0 +1,414 @@ +interactions: +- request: + body: '{"name": "WordCount_Java", "file": "abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/wordcount.jar", + "className": "WordCount", "args": ["[abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/shakespeare.txt,", + "abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/result/]"], + "driverMemory": "56g", "driverCores": 8, "executorMemory": "56g", "executorCores": + 8, "numExecutors": 2}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '472' + Content-Type: + - application/json; charset=utf-8 + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 azure-synapse/0.1.0 + method: POST + uri: https://testsynapseworkspace.dev.azuresynapse.net/livyApi/versions/2019-11-01-preview/sparkPools/testsparkpool/batches?detailed=true + response: + body: + string: '{"livyInfo":{"notStartedAt":null,"startingAt":null,"runningAt":null,"deadAt":null,"successAt":null,"killedAt":null,"recoveringAt":null,"currentState":"not_started","jobCreationRequest":{"name":"WordCount_Java","file":"abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/wordcount.jar","className":"WordCount","args":["[abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/shakespeare.txt,","abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/result/]"],"conf":{},"driverMemory":"56g","driverCores":8,"executorMemory":"56g","executorCores":8,"numExecutors":2}},"name":"WordCount_Java","workspaceName":"testsynapseworkspace","computeName":"testsparkpool","sparkPoolName":"testsparkpool","submitterName":"zhezhou@microsoft.com","submitterId":"8f51e348-1fa6-4194-8d13-8e0368e3298a","artifactId":"Livy","jobType":"SparkBatch","result":"Uncertain","schedulerInfo":{"submittedAt":"2020-04-29T03:16:22.8718698+00:00","scheduledAt":null,"endedAt":null,"cancellationRequestedAt":null,"currentState":"Queued"},"pluginInfo":{"preparationStartedAt":null,"resourceAcquisitionStartedAt":null,"submissionStartedAt":null,"monitoringStartedAt":null,"cleanupStartedAt":null,"currentState":"Preparation"},"tags":{},"id":253,"appId":null,"appInfo":null,"state":"not_started","log":null}' + headers: + content-type: + - application/json; charset=utf-8 + date: + - Wed, 29 Apr 2020 03:16:23 GMT + server: + - Kestrel Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + x-ms-activity-id: + - 0b7f09ac-0190-4808-b555-41e7f9ef2a94 + x-ms-job-clusterrequested-on: + - 1/1/0001 12:00:00 AM +00:00 + x-ms-job-ended-on: + - '' + x-ms-job-internal-id: + - '253' + x-ms-job-livysubmission-on: + - 1/1/0001 12:00:00 AM +00:00 + x-ms-job-queued-on: + - 1/1/0001 12:00:00 AM +00:00 + x-ms-job-result: + - Uncertain + x-ms-job-scheduled-on: + - 1/1/0001 12:00:00 AM +00:00 + x-ms-job-scheduler-state: + - Queued + x-ms-job-submitted-by-name: + - zhezhou@microsoft.com + x-ms-job-submitted-on: + - 4/29/2020 3:16:22 AM +00:00 + x-ms-job-type: + - SparkServiceBatch + x-ms-response-time-ms: + - '497' + 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.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 azure-synapse/0.1.0 + method: GET + uri: https://testsynapseworkspace.dev.azuresynapse.net/livyApi/versions/2019-11-01-preview/sparkPools/testsparkpool/batches/253?detailed=true + response: + body: + string: '{"livyInfo":{"notStartedAt":null,"startingAt":null,"runningAt":null,"deadAt":null,"successAt":null,"killedAt":null,"recoveringAt":null,"currentState":"not_started","jobCreationRequest":{"name":"WordCount_Java","file":"abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/wordcount.jar","className":"WordCount","args":["[abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/shakespeare.txt,","abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/result/]"],"conf":{},"driverMemory":"56g","driverCores":8,"executorMemory":"56g","executorCores":8,"numExecutors":2}},"name":"WordCount_Java","workspaceName":"testsynapseworkspace","computeName":"testsparkpool","sparkPoolName":"testsparkpool","submitterName":"zhezhou@microsoft.com","submitterId":"8f51e348-1fa6-4194-8d13-8e0368e3298a","artifactId":"Livy","jobType":"SparkBatch","result":"Uncertain","schedulerInfo":{"submittedAt":"2020-04-29T03:16:22.8718698+00:00","scheduledAt":"2020-04-29T03:16:24.3724738+00:00","endedAt":null,"cancellationRequestedAt":null,"currentState":"Scheduled"},"pluginInfo":{"preparationStartedAt":"2020-04-29T03:16:24.3852854+00:00","resourceAcquisitionStartedAt":"2020-04-29T03:16:24.6047147+00:00","submissionStartedAt":null,"monitoringStartedAt":null,"cleanupStartedAt":null,"currentState":"ResourceAcquisition"},"tags":{},"id":253,"appId":null,"appInfo":null,"state":"not_started","log":null}' + headers: + content-type: + - application/json; charset=utf-8 + date: + - Wed, 29 Apr 2020 03:16:26 GMT + server: + - Kestrel Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + x-ms-activity-id: + - 6004a175-18b1-485b-8eef-da7c4aff1c9b + x-ms-job-clusterrequested-on: + - 4/29/2020 3:16:24 AM +00:00 + x-ms-job-ended-on: + - '' + x-ms-job-internal-id: + - '253' + x-ms-job-livysubmission-on: + - 1/1/0001 12:00:00 AM +00:00 + x-ms-job-queued-on: + - 1/1/0001 12:00:00 AM +00:00 + x-ms-job-result: + - Uncertain + x-ms-job-scheduled-on: + - 4/29/2020 3:16:24 AM +00:00 + x-ms-job-scheduler-state: + - Scheduled + x-ms-job-submitted-by-name: + - zhezhou@microsoft.com + x-ms-job-submitted-on: + - 4/29/2020 3:16:22 AM +00:00 + x-ms-job-type: + - SparkServiceBatch + x-ms-response-time-ms: + - '14' + 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.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 azure-synapse/0.1.0 + method: GET + uri: https://testsynapseworkspace.dev.azuresynapse.net/livyApi/versions/2019-11-01-preview/sparkPools/testsparkpool/batches?detailed=true + response: + body: + string: '{"from":0,"total":20,"sessions":[{"livyInfo":{"notStartedAt":null,"startingAt":"2019-12-13T08:13:59.1387322+00:00","runningAt":"2019-12-13T08:14:43.2250458+00:00","deadAt":null,"successAt":"2019-12-13T08:15:16.3029723+00:00","killedAt":null,"recoveringAt":null,"currentState":"success","jobCreationRequest":{"name":"WordCount_Java","file":"abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/wordcount.jar","className":"WordCount","args":["abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/shakespeare.txt","abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/result"],"conf":{},"driverMemory":"4G","driverCores":2,"executorMemory":"4G","executorCores":2,"numExecutors":2}},"name":"WordCount_Java","workspaceName":"testsynapseworkspace","computeName":"testsparkpool","sparkPoolName":"testsparkpool","submitterId":"ca728363-7297-4e35-a9c3-c6400837883e","artifactId":"Livy","jobType":"SparkBatch","result":"Succeeded","schedulerInfo":{"submittedAt":"2019-12-13T08:11:38.1206692+00:00","scheduledAt":"2019-12-13T08:11:39.2080482+00:00","endedAt":"2019-12-13T08:15:16.568297+00:00","cancellationRequestedAt":null,"currentState":"Ended"},"pluginInfo":{"preparationStartedAt":"2019-12-13T08:11:39.2230319+00:00","resourceAcquisitionStartedAt":"2019-12-13T08:11:39.4839299+00:00","submissionStartedAt":"2019-12-13T08:13:58.4588932+00:00","monitoringStartedAt":"2019-12-13T08:13:59.1558744+00:00","cleanupStartedAt":"2019-12-13T08:15:16.3435598+00:00","currentState":"Ended"},"tags":{},"id":0,"appId":"application_1576224831757_0002","appInfo":{"driverLogUrl":"http://53e52930712f4bd2a64da26879c4751c0076c436679:8042/node/containerlogs/container_1576224831757_0002_01_000001/trusted-service-user","sparkUiUrl":"http://53e52930712f4bd2a64da26879c4751c01223913297:8088/proxy/application_1576224831757_0002/"},"state":"success","log":["\t + tracking URL: http://53e52930712f4bd2a64da26879c4751c01223913297:8088/proxy/application_1576224831757_0002/","\t + user: trusted-service-user","19/12/13 08:14:22 INFO ShutdownHookManager: Shutdown + hook called","19/12/13 08:14:22 INFO ShutdownHookManager: Deleting directory + /tmp/spark-badf96dc-0837-41ba-9944-05f55277f611","19/12/13 08:14:22 INFO ShutdownHookManager: + Deleting directory /tmp/spark-04ab468f-e186-458c-91cd-ef6c97f5dff5","19/12/13 + 08:14:22 INFO MetricsSystemImpl: Stopping azure-file-system metrics system...","19/12/13 + 08:14:22 INFO MetricsSystemImpl: azure-file-system metrics system stopped.","19/12/13 + 08:14:22 INFO MetricsSystemImpl: azure-file-system metrics system shutdown + complete.","\nstderr: ","\nYARN Diagnostics: "]},{"livyInfo":{"notStartedAt":null,"startingAt":"2019-12-13T08:13:59.1372088+00:00","runningAt":"2019-12-13T08:14:54.2434247+00:00","deadAt":null,"successAt":"2019-12-13T08:15:38.4077027+00:00","killedAt":null,"recoveringAt":null,"currentState":"success","jobCreationRequest":{"name":"WordCount_DotNET","file":"abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/dotnet/wordcount/microsoft-spark-2.4.x-0.6.0.jar","className":"org.apache.spark.deploy.dotnet.DotnetRunner","args":["abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/dotnet/wordcount/wordcount.zip","WordCount","abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/dotnet/wordcount/shakespeare.txt","abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/dotnet/wordcount/result"],"conf":{},"driverMemory":"4G","driverCores":2,"executorMemory":"4G","executorCores":2,"numExecutors":2}},"name":"WordCount_DotNET","workspaceName":"testsynapseworkspace","computeName":"testsparkpool","sparkPoolName":"testsparkpool","submitterId":"ca728363-7297-4e35-a9c3-c6400837883e","artifactId":"Livy","jobType":"SparkBatch","result":"Succeeded","schedulerInfo":{"submittedAt":"2019-12-13T08:12:11.7282739+00:00","scheduledAt":"2019-12-13T08:12:12.8105461+00:00","endedAt":"2019-12-13T08:15:38.5885609+00:00","cancellationRequestedAt":null,"currentState":"Ended"},"pluginInfo":{"preparationStartedAt":"2019-12-13T08:12:12.8252672+00:00","resourceAcquisitionStartedAt":"2019-12-13T08:12:13.0474066+00:00","submissionStartedAt":"2019-12-13T08:13:58.738487+00:00","monitoringStartedAt":"2019-12-13T08:13:59.1818926+00:00","cleanupStartedAt":"2019-12-13T08:15:38.4532754+00:00","currentState":"Ended"},"tags":{},"id":1,"appId":"application_1576224831757_0001","appInfo":{"driverLogUrl":"http://53e52930712f4bd2a64da26879c4751c03817035090:8042/node/containerlogs/container_1576224831757_0001_01_000001/trusted-service-user","sparkUiUrl":"http://53e52930712f4bd2a64da26879c4751c01223913297:8088/proxy/application_1576224831757_0001/"},"state":"success","log":["\t + tracking URL: http://53e52930712f4bd2a64da26879c4751c01223913297:8088/proxy/application_1576224831757_0001/","\t + user: trusted-service-user","19/12/13 08:14:22 INFO ShutdownHookManager: Shutdown + hook called","19/12/13 08:14:22 INFO ShutdownHookManager: Deleting directory + /tmp/spark-080c8c63-d0dd-487d-a757-faf7b5efd9f1","19/12/13 08:14:22 INFO ShutdownHookManager: + Deleting directory /tmp/spark-aaed5be7-2685-4c28-a43c-8f37b9521d4f","19/12/13 + 08:14:22 INFO MetricsSystemImpl: Stopping azure-file-system metrics system...","19/12/13 + 08:14:22 INFO MetricsSystemImpl: azure-file-system metrics system stopped.","19/12/13 + 08:14:22 INFO MetricsSystemImpl: azure-file-system metrics system shutdown + complete.","\nstderr: ","\nYARN Diagnostics: "]},{"livyInfo":{"notStartedAt":null,"startingAt":"2019-12-25T03:56:21.0104385+00:00","runningAt":null,"deadAt":"2019-12-25T04:01:29.5722247+00:00","successAt":null,"killedAt":null,"recoveringAt":null,"currentState":"dead","jobCreationRequest":{"name":"WordCount_Java","file":"abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/wordcount.jar","className":"WordCount","args":["abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/shakespeare.txt","abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/result/"],"conf":{},"driverMemory":"4g","driverCores":4,"executorMemory":"4g","executorCores":4,"numExecutors":2}},"name":"WordCount_Java","workspaceName":"testsynapseworkspace","computeName":"testsparkpool","sparkPoolName":"testsparkpool","submitterName":"zhezhou@microsoft.com","submitterId":"8f51e348-1fa6-4194-8d13-8e0368e3298a","artifactId":"Livy","jobType":"SparkBatch","result":"Failed","schedulerInfo":{"submittedAt":"2019-12-25T03:54:31.4237553+00:00","scheduledAt":"2019-12-25T03:54:32.5488235+00:00","endedAt":"2019-12-25T04:01:30.3397987+00:00","cancellationRequestedAt":null,"currentState":"Ended"},"pluginInfo":{"preparationStartedAt":"2019-12-25T03:54:32.5622451+00:00","resourceAcquisitionStartedAt":"2019-12-25T03:54:32.8795988+00:00","submissionStartedAt":"2019-12-25T03:56:20.3160953+00:00","monitoringStartedAt":"2019-12-25T03:56:21.0256995+00:00","cleanupStartedAt":"2019-12-25T04:01:29.592435+00:00","currentState":"Ended"},"errorInfo":[{"message":"[plugins.testsynapseworkspace.testsparkpool.3] + [Monitoring] Livy Endpoint=[http://171.1.155.33:8998/]. Livy Id=[0] Job failed + during run time with state=[dead].","errorCode":"LIVY_JOB_FAILED","source":"Dependency"}],"tags":{},"id":3,"appId":null,"appInfo":{"driverLogUrl":null,"sparkUiUrl":null},"state":"dead","log":["\tat + org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:933)","\tat org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)","19/12/25 + 03:56:47 INFO ShutdownHookManager: Shutdown hook called","19/12/25 03:56:47 + INFO ShutdownHookManager: Deleting directory /tmp/spark-3ae6f965-dcbc-4b3e-9c59-d5c0da9d1d66","19/12/25 + 03:56:47 INFO MetricsSystemImpl: Stopping azure-file-system metrics system...","19/12/25 + 03:56:47 INFO MetricsSystemImpl: azure-file-system metrics system stopped.","19/12/25 + 03:56:47 INFO MetricsSystemImpl: azure-file-system metrics system shutdown + complete.","\nstderr: ","\nYARN Diagnostics: ","No YARN application is found + with tag livy-batch-0-7v8dgkxr in 300 seconds. This may be because 1) spark-submit + fail to submit application to YARN; or 2) YARN cluster doesn''t have enough + resources to start the application in time. Please check Livy log and YARN + log to know the details."]},{"livyInfo":{"notStartedAt":null,"startingAt":"2019-12-25T05:41:50.7810081+00:00","runningAt":"2019-12-25T05:42:56.9338323+00:00","deadAt":null,"successAt":"2019-12-25T05:43:41.0409981+00:00","killedAt":null,"recoveringAt":null,"currentState":"success","jobCreationRequest":{"name":"WordCount_Java","file":"abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/wordcount.jar","className":"WordCount","args":["abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/shakespeare.txt","abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/result/"],"conf":{},"driverMemory":"4g","driverCores":4,"executorMemory":"4g","executorCores":4,"numExecutors":2}},"name":"WordCount_Java","workspaceName":"testsynapseworkspace","computeName":"testsparkpool","sparkPoolName":"testsparkpool","submitterName":"zhezhou@microsoft.com","submitterId":"8f51e348-1fa6-4194-8d13-8e0368e3298a","artifactId":"Livy","jobType":"SparkBatch","result":"Succeeded","schedulerInfo":{"submittedAt":"2019-12-25T05:39:13.7690381+00:00","scheduledAt":"2019-12-25T05:39:14.3364408+00:00","endedAt":"2019-12-25T05:43:41.7858451+00:00","cancellationRequestedAt":null,"currentState":"Ended"},"pluginInfo":{"preparationStartedAt":"2019-12-25T05:39:14.3510882+00:00","resourceAcquisitionStartedAt":"2019-12-25T05:39:14.5997804+00:00","submissionStartedAt":"2019-12-25T05:41:09.9672443+00:00","monitoringStartedAt":"2019-12-25T05:41:50.7975586+00:00","cleanupStartedAt":"2019-12-25T05:43:41.0567479+00:00","currentState":"Ended"},"tags":{},"id":4,"appId":"application_1577252484917_0001","appInfo":{"driverLogUrl":"http://59cc110db6dc46ac89103137e0c646e100149e16655:8042/node/containerlogs/container_1577252484917_0001_01_000001/trusted-service-user","sparkUiUrl":"http://59cc110db6dc46ac89103137e0c646e104164268157:8088/proxy/application_1577252484917_0001/"},"state":"success","log":["\t + tracking URL: http://59cc110db6dc46ac89103137e0c646e104164268157:8088/proxy/application_1577252484917_0001/","\t + user: trusted-service-user","19/12/25 05:42:14 INFO ShutdownHookManager: Shutdown + hook called","19/12/25 05:42:14 INFO ShutdownHookManager: Deleting directory + /tmp/spark-0c814ed9-49f2-4d82-8e8f-28b2f089f7fd","19/12/25 05:42:14 INFO ShutdownHookManager: + Deleting directory /tmp/spark-2f0a0fda-0d9d-40b2-a300-795d45a67025","19/12/25 + 05:42:14 INFO MetricsSystemImpl: Stopping azure-file-system metrics system...","19/12/25 + 05:42:14 INFO MetricsSystemImpl: azure-file-system metrics system stopped.","19/12/25 + 05:42:14 INFO MetricsSystemImpl: azure-file-system metrics system shutdown + complete.","\nstderr: ","\nYARN Diagnostics: "]},{"livyInfo":{"notStartedAt":null,"startingAt":"2019-12-25T05:48:37.8201633+00:00","runningAt":null,"deadAt":null,"successAt":null,"killedAt":null,"recoveringAt":null,"currentState":"killed","jobCreationRequest":{"name":"WordCount_Java","file":"abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/wordcount.jar","className":"WordCount","args":["abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/shakespeare.txt","abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/result/"],"conf":{},"driverMemory":"4g","driverCores":4,"executorMemory":"4g","executorCores":4,"numExecutors":2}},"name":"WordCount_Java","workspaceName":"testsynapseworkspace","computeName":"testsparkpool","sparkPoolName":"testsparkpool","submitterName":"zhezhou@microsoft.com","submitterId":"8f51e348-1fa6-4194-8d13-8e0368e3298a","artifactId":"Livy","jobType":"SparkBatch","result":"Cancelled","schedulerInfo":{"submittedAt":"2019-12-25T05:48:34.6841508+00:00","scheduledAt":"2019-12-25T05:48:34.7956991+00:00","endedAt":"2019-12-25T05:48:48.664457+00:00","cancellationRequestedAt":"2019-12-25T05:48:47.8779744+00:00","currentState":"Ended"},"pluginInfo":{"preparationStartedAt":"2019-12-25T05:48:34.8085024+00:00","resourceAcquisitionStartedAt":"2019-12-25T05:48:35.0342873+00:00","submissionStartedAt":"2019-12-25T05:48:37.7430805+00:00","monitoringStartedAt":"2019-12-25T05:48:37.8617038+00:00","cleanupStartedAt":"2019-12-25T05:48:47.8779778+00:00","currentState":"Ended"},"tags":{},"id":5,"appId":null,"appInfo":{"driverLogUrl":null,"sparkUiUrl":null},"state":"killed","log":["stdout: + ","\nstderr: ","\nYARN Diagnostics: "]},{"livyInfo":{"notStartedAt":null,"startingAt":"2020-01-10T02:38:45.9207212+00:00","runningAt":"2020-01-10T02:40:03.1582266+00:00","deadAt":null,"successAt":"2020-01-10T02:41:20.3994418+00:00","killedAt":null,"recoveringAt":null,"currentState":"success","jobCreationRequest":{"name":"WordCount_Java","file":"abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/wordcount.jar","className":"WordCount","args":["abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/shakespeare.txt","abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/result/"],"conf":{},"driverMemory":"4g","driverCores":4,"executorMemory":"4g","executorCores":4,"numExecutors":2}},"name":"WordCount_Java","workspaceName":"testsynapseworkspace","computeName":"testsparkpool","sparkPoolName":"testsparkpool","submitterName":"zhezhou@microsoft.com","submitterId":"8f51e348-1fa6-4194-8d13-8e0368e3298a","artifactId":"Livy","jobType":"SparkBatch","result":"Succeeded","schedulerInfo":{"submittedAt":"2020-01-10T02:36:03.5192707+00:00","scheduledAt":"2020-01-10T02:36:04.8237808+00:00","endedAt":"2020-01-10T02:41:21.1219891+00:00","cancellationRequestedAt":null,"currentState":"Ended"},"pluginInfo":{"preparationStartedAt":"2020-01-10T02:36:04.8373477+00:00","resourceAcquisitionStartedAt":"2020-01-10T02:36:05.330088+00:00","submissionStartedAt":"2020-01-10T02:37:52.5155982+00:00","monitoringStartedAt":"2020-01-10T02:38:45.9415399+00:00","cleanupStartedAt":"2020-01-10T02:41:20.4156114+00:00","currentState":"Ended"},"tags":{},"id":12,"appId":"application_1578623882988_0001","appInfo":{"driverLogUrl":"http://ce76a4b8792e4537a006d10d8954727a0370ec92478:8042/node/containerlogs/container_1578623882988_0001_01_000001/trusted-service-user","sparkUiUrl":"http://ce76a4b8792e4537a006d10d8954727a04390958445:8088/proxy/application_1578623882988_0001/"},"state":"success","log":["\t + tracking URL: http://ce76a4b8792e4537a006d10d8954727a04390958445:8088/proxy/application_1578623882988_0001/","\t + user: trusted-service-user","20/01/10 02:39:19 INFO ShutdownHookManager: Shutdown + hook called","20/01/10 02:39:19 INFO ShutdownHookManager: Deleting directory + /tmp/spark-5ecda28f-e4b9-4a78-8c2d-da3048be2f0e","20/01/10 02:39:19 INFO ShutdownHookManager: + Deleting directory /tmp/spark-0164a65c-591c-460d-ab19-c67ae8b411d6","20/01/10 + 02:39:19 INFO MetricsSystemImpl: Stopping azure-file-system metrics system...","20/01/10 + 02:39:19 INFO MetricsSystemImpl: azure-file-system metrics system stopped.","20/01/10 + 02:39:19 INFO MetricsSystemImpl: azure-file-system metrics system shutdown + complete.","\nstderr: ","\nYARN Diagnostics: "]},{"livyInfo":{"notStartedAt":null,"startingAt":"2020-01-10T03:38:29.2385918+00:00","runningAt":"2020-01-10T03:39:35.4499932+00:00","deadAt":null,"successAt":"2020-01-10T03:40:19.5803755+00:00","killedAt":null,"recoveringAt":null,"currentState":"success","jobCreationRequest":{"name":"WordCount_Java","file":"abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/wordcount.jar","className":"WordCount","args":["abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/shakespeare.txt","abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/result/"],"conf":{},"driverMemory":"4g","driverCores":4,"executorMemory":"4g","executorCores":4,"numExecutors":2}},"name":"WordCount_Java","workspaceName":"testsynapseworkspace","computeName":"testsparkpool","sparkPoolName":"testsparkpool","submitterName":"zhezhou@microsoft.com","submitterId":"8f51e348-1fa6-4194-8d13-8e0368e3298a","artifactId":"Livy","jobType":"SparkBatch","result":"Succeeded","schedulerInfo":{"submittedAt":"2020-01-10T03:35:41.0317404+00:00","scheduledAt":"2020-01-10T03:35:42.1385977+00:00","endedAt":"2020-01-10T03:40:37.5042513+00:00","cancellationRequestedAt":null,"currentState":"Ended"},"pluginInfo":{"preparationStartedAt":"2020-01-10T03:35:42.1521105+00:00","resourceAcquisitionStartedAt":"2020-01-10T03:35:50.939074+00:00","submissionStartedAt":"2020-01-10T03:38:05.8559022+00:00","monitoringStartedAt":"2020-01-10T03:38:29.2694764+00:00","cleanupStartedAt":"2020-01-10T03:40:19.5962197+00:00","currentState":"Ended"},"tags":{},"id":13,"appId":"application_1578627484298_0001","appInfo":{"driverLogUrl":"http://9b16e3f9ff074564bf178da319ac14c60157d104065:8042/node/containerlogs/container_1578627484298_0001_01_000001/trusted-service-user","sparkUiUrl":"http://9b16e3f9ff074564bf178da319ac14c6021e9217492:8088/proxy/application_1578627484298_0001/"},"state":"success","log":["\t + tracking URL: http://9b16e3f9ff074564bf178da319ac14c6021e9217492:8088/proxy/application_1578627484298_0001/","\t + user: trusted-service-user","20/01/10 03:38:58 INFO ShutdownHookManager: Shutdown + hook called","20/01/10 03:38:58 INFO ShutdownHookManager: Deleting directory + /tmp/spark-3510c3ec-19c2-4675-8431-9d4c4b2e3cf5","20/01/10 03:38:58 INFO ShutdownHookManager: + Deleting directory /tmp/spark-925b68f4-72d8-4ac7-b62d-f7005eb5adaf","20/01/10 + 03:38:58 INFO MetricsSystemImpl: Stopping azure-file-system metrics system...","20/01/10 + 03:38:58 INFO MetricsSystemImpl: azure-file-system metrics system stopped.","20/01/10 + 03:38:58 INFO MetricsSystemImpl: azure-file-system metrics system shutdown + complete.","\nstderr: ","\nYARN Diagnostics: "]},{"livyInfo":{"notStartedAt":null,"startingAt":"2020-01-10T03:40:36.7442068+00:00","runningAt":"2020-01-10T03:41:20.8918068+00:00","deadAt":null,"successAt":"2020-01-10T03:42:05.043699+00:00","killedAt":null,"recoveringAt":null,"currentState":"success","jobCreationRequest":{"name":"WordCount_Java","file":"abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/wordcount.jar","className":"WordCount","args":["abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/shakespeare.txt","abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/result/"],"conf":{},"driverMemory":"4g","driverCores":4,"executorMemory":"4g","executorCores":4,"numExecutors":2}},"name":"WordCount_Java","workspaceName":"testsynapseworkspace","computeName":"testsparkpool","sparkPoolName":"testsparkpool","submitterName":"zhezhou@microsoft.com","submitterId":"8f51e348-1fa6-4194-8d13-8e0368e3298a","artifactId":"Livy","jobType":"SparkBatch","result":"Succeeded","schedulerInfo":{"submittedAt":"2020-01-10T03:40:32.5418704+00:00","scheduledAt":"2020-01-10T03:40:33.6864167+00:00","endedAt":"2020-01-10T03:42:05.5656043+00:00","cancellationRequestedAt":null,"currentState":"Ended"},"pluginInfo":{"preparationStartedAt":"2020-01-10T03:40:33.6991753+00:00","resourceAcquisitionStartedAt":"2020-01-10T03:40:33.894599+00:00","submissionStartedAt":"2020-01-10T03:40:36.6783498+00:00","monitoringStartedAt":"2020-01-10T03:40:36.7605746+00:00","cleanupStartedAt":"2020-01-10T03:42:05.059249+00:00","currentState":"Ended"},"tags":{},"id":14,"appId":"application_1578627484298_0002","appInfo":{"driverLogUrl":"http://9b16e3f9ff074564bf178da319ac14c6013fa834371:8042/node/containerlogs/container_1578627484298_0002_01_000001/trusted-service-user","sparkUiUrl":"http://9b16e3f9ff074564bf178da319ac14c6021e9217492:8088/proxy/application_1578627484298_0002/"},"state":"success","log":["\t + tracking URL: http://9b16e3f9ff074564bf178da319ac14c6021e9217492:8088/proxy/application_1578627484298_0002/","\t + user: trusted-service-user","20/01/10 03:40:45 INFO ShutdownHookManager: Shutdown + hook called","20/01/10 03:40:45 INFO ShutdownHookManager: Deleting directory + /tmp/spark-05372e52-3f31-435b-9a89-f0e59d031147","20/01/10 03:40:45 INFO ShutdownHookManager: + Deleting directory /tmp/spark-6d758165-8230-4281-b7ba-9b8fef9d6d19","20/01/10 + 03:40:45 INFO MetricsSystemImpl: Stopping azure-file-system metrics system...","20/01/10 + 03:40:45 INFO MetricsSystemImpl: azure-file-system metrics system stopped.","20/01/10 + 03:40:45 INFO MetricsSystemImpl: azure-file-system metrics system shutdown + complete.","\nstderr: ","\nYARN Diagnostics: "]},{"livyInfo":{"notStartedAt":null,"startingAt":"2020-01-10T04:27:23.9757023+00:00","runningAt":"2020-01-10T04:28:52.2822789+00:00","deadAt":null,"successAt":"2020-01-10T04:29:36.4419439+00:00","killedAt":null,"recoveringAt":null,"currentState":"success","jobCreationRequest":{"name":"WordCount_Java","file":"abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/wordcount.jar","className":"WordCount","args":["abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/shakespeare.txt","abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/result/"],"conf":{},"driverMemory":"4g","driverCores":4,"executorMemory":"4g","executorCores":4,"numExecutors":2}},"name":"WordCount_Java","workspaceName":"testsynapseworkspace","computeName":"testsparkpool","sparkPoolName":"testsparkpool","submitterName":"zhezhou@microsoft.com","submitterId":"8f51e348-1fa6-4194-8d13-8e0368e3298a","artifactId":"Livy","jobType":"SparkBatch","result":"Succeeded","schedulerInfo":{"submittedAt":"2020-01-10T04:25:25.8587068+00:00","scheduledAt":"2020-01-10T04:25:27.0358801+00:00","endedAt":"2020-01-10T04:29:37.0862105+00:00","cancellationRequestedAt":null,"currentState":"Ended"},"pluginInfo":{"preparationStartedAt":"2020-01-10T04:25:27.0502376+00:00","resourceAcquisitionStartedAt":"2020-01-10T04:25:27.3518291+00:00","submissionStartedAt":"2020-01-10T04:27:13.436335+00:00","monitoringStartedAt":"2020-01-10T04:27:24.0000169+00:00","cleanupStartedAt":"2020-01-10T04:29:36.4592291+00:00","currentState":"Ended"},"tags":{},"id":15,"appId":"application_1578630430582_0001","appInfo":{"driverLogUrl":"http://8e6f1bbb1f0d402ead227bfb3f9541ce029e8073802:8042/node/containerlogs/container_1578630430582_0001_01_000001/trusted-service-user","sparkUiUrl":"http://8e6f1bbb1f0d402ead227bfb3f9541ce019a8a47711:8088/proxy/application_1578630430582_0001/"},"state":"success","log":["\t + tracking URL: http://8e6f1bbb1f0d402ead227bfb3f9541ce019a8a47711:8088/proxy/application_1578630430582_0001/","\t + user: trusted-service-user","20/01/10 04:28:11 INFO ShutdownHookManager: Shutdown + hook called","20/01/10 04:28:11 INFO ShutdownHookManager: Deleting directory + /tmp/spark-e7390b6e-3c89-4d15-8504-dfc0713dbac2","20/01/10 04:28:11 INFO ShutdownHookManager: + Deleting directory /tmp/spark-1aa9ff81-602d-483e-8523-72db6bf69662","20/01/10 + 04:28:11 INFO MetricsSystemImpl: Stopping azure-file-system metrics system...","20/01/10 + 04:28:11 INFO MetricsSystemImpl: azure-file-system metrics system stopped.","20/01/10 + 04:28:11 INFO MetricsSystemImpl: azure-file-system metrics system shutdown + complete.","\nstderr: ","\nYARN Diagnostics: "]},{"livyInfo":{"notStartedAt":null,"startingAt":"2020-01-13T02:48:36.8904406+00:00","runningAt":"2020-01-13T02:49:54.1454521+00:00","deadAt":null,"successAt":"2020-01-13T02:50:27.2071468+00:00","killedAt":null,"recoveringAt":null,"currentState":"success","jobCreationRequest":{"name":"WordCount_Java","file":"abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/wordcount.jar","className":"WordCount","args":["abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/shakespeare.txt","abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/result/"],"conf":{},"driverMemory":"4g","driverCores":4,"executorMemory":"4g","executorCores":4,"numExecutors":2}},"name":"WordCount_Java","workspaceName":"testsynapseworkspace","computeName":"testsparkpool","sparkPoolName":"testsparkpool","submitterName":"zhezhou@microsoft.com","submitterId":"8f51e348-1fa6-4194-8d13-8e0368e3298a","artifactId":"Livy","jobType":"SparkBatch","result":"Succeeded","schedulerInfo":{"submittedAt":"2020-01-13T02:47:05.5958128+00:00","scheduledAt":"2020-01-13T02:47:06.7547099+00:00","endedAt":"2020-01-13T02:50:27.949451+00:00","cancellationRequestedAt":null,"currentState":"Ended"},"pluginInfo":{"preparationStartedAt":"2020-01-13T02:47:06.7680533+00:00","resourceAcquisitionStartedAt":"2020-01-13T02:47:07.0124685+00:00","submissionStartedAt":"2020-01-13T02:48:36.0061327+00:00","monitoringStartedAt":"2020-01-13T02:48:36.9485387+00:00","cleanupStartedAt":"2020-01-13T02:50:27.2555545+00:00","currentState":"Ended"},"tags":{},"id":16,"appId":"application_1578883706606_0001","appInfo":{"driverLogUrl":"http://e3c1df4b4aa94ae6b7e5d19359b699fe041b3e01222:8042/node/containerlogs/container_1578883706606_0001_01_000001/trusted-service-user","sparkUiUrl":"http://e3c1df4b4aa94ae6b7e5d19359b699fe0302c276274:8088/proxy/application_1578883706606_0001/"},"state":"success","log":["\t + tracking URL: http://e3c1df4b4aa94ae6b7e5d19359b699fe0302c276274:8088/proxy/application_1578883706606_0001/","\t + user: trusted-service-user","20/01/13 02:49:38 INFO ShutdownHookManager: Shutdown + hook called","20/01/13 02:49:38 INFO ShutdownHookManager: Deleting directory + /tmp/spark-2c25f086-79bf-4db5-98ef-a50ec241447f","20/01/13 02:49:38 INFO ShutdownHookManager: + Deleting directory /tmp/spark-6e4d32f6-a1ab-4b78-967e-068b74920ad7","20/01/13 + 02:49:38 INFO MetricsSystemImpl: Stopping azure-file-system metrics system...","20/01/13 + 02:49:38 INFO MetricsSystemImpl: azure-file-system metrics system stopped.","20/01/13 + 02:49:38 INFO MetricsSystemImpl: azure-file-system metrics system shutdown + complete.","\nstderr: ","\nYARN Diagnostics: "]},{"livyInfo":{"notStartedAt":null,"startingAt":"2020-01-14T08:05:56.2723695+00:00","runningAt":null,"deadAt":"2020-01-14T08:08:08.7536371+00:00","successAt":null,"killedAt":null,"recoveringAt":null,"currentState":"dead","jobCreationRequest":{"name":"WordCount_Dotnet","file":"abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/dotnet/wordcount/microsoft-spark-2.4.x-0.6.0.jar","className":"org.apache.spark.deploy.dotnet.DotnetRunner","args":["abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/dotnet/wordcount/wordcount.zip","abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/dotnet/wordcount/shakespeare.txt","abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/dotnet/wordcount/result/"],"conf":{},"driverMemory":"4g","driverCores":4,"executorMemory":"4g","executorCores":4,"numExecutors":2}},"name":"WordCount_Dotnet","workspaceName":"testsynapseworkspace","computeName":"testsparkpool","sparkPoolName":"testsparkpool","submitterName":"zhezhou@microsoft.com","submitterId":"8f51e348-1fa6-4194-8d13-8e0368e3298a","artifactId":"Livy","jobType":"SparkBatch","result":"Failed","schedulerInfo":{"submittedAt":"2020-01-14T08:03:16.2526911+00:00","scheduledAt":"2020-01-14T08:03:17.3380957+00:00","endedAt":"2020-01-14T08:08:09.6745907+00:00","cancellationRequestedAt":null,"currentState":"Ended"},"pluginInfo":{"preparationStartedAt":"2020-01-14T08:03:17.3526315+00:00","resourceAcquisitionStartedAt":"2020-01-14T08:03:17.6777575+00:00","submissionStartedAt":"2020-01-14T08:05:12.4702664+00:00","monitoringStartedAt":"2020-01-14T08:05:56.3294055+00:00","cleanupStartedAt":"2020-01-14T08:08:08.7948883+00:00","currentState":"Ended"},"errorInfo":[{"message":"[plugins.testsynapseworkspace.testsparkpool.17] + [Monitoring] Livy Endpoint=[http://171.0.6.7:8998/]. Livy Id=[0] Job failed + during run time with state=[dead].","errorCode":"LIVY_JOB_FAILED","source":"Dependency"}],"tags":{},"id":17,"appId":"application_1578989125483_0001","appInfo":{"driverLogUrl":"http://1657321302a648dcb31a6629c8d3bc9b040d6388685:8042/node/containerlogs/container_1578989125483_0001_02_000001/trusted-service-user","sparkUiUrl":"http://1657321302a648dcb31a6629c8d3bc9b0230e607756:8088/cluster/app/application_1578989125483_0001"},"state":"dead","log":["20/01/14 + 08:07:59 WARN AzureFileSystemThreadPoolExecutor: Disabling threads for Delete + operation as thread count 0 is <= 1","20/01/14 08:07:59 INFO AzureFileSystemThreadPoolExecutor: + Time taken for Delete operation is: 13 ms with threads: 0","20/01/14 08:07:59 + INFO ShutdownHookManager: Shutdown hook called","20/01/14 08:07:59 INFO MetricsSystemImpl: + Stopping azure-file-system metrics system...","20/01/14 08:07:59 INFO MetricsSystemImpl: + azure-file-system metrics system stopped.","20/01/14 08:07:59 INFO MetricsSystemImpl: + azure-file-system metrics system shutdown complete.","","","For more detailed + output, check the application tracking page: http://1657321302a648dcb31a6629c8d3bc9b0230e607756:8088/cluster/app/application_1578989125483_0001 + Then click on links to logs of each attempt.",". Failing the application."]},{"livyInfo":{"notStartedAt":null,"startingAt":"2020-01-14T08:23:04.8045606+00:00","runningAt":"2020-01-14T08:24:10.9877487+00:00","deadAt":null,"successAt":"2020-01-14T08:25:28.1879416+00:00","killedAt":null,"recoveringAt":null,"currentState":"success","jobCreationRequest":{"name":"WordCount_Dotnet","file":"abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/dotnet/wordcount/microsoft-spark-2.4.x-0.6.0.jar","className":"org.apache.spark.deploy.dotnet.DotnetRunner","args":["abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/dotnet/wordcount/wordcount.zip","WordCount","abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/dotnet/wordcount/shakespeare.txt","abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/dotnet/wordcount/result"],"conf":{},"driverMemory":"4g","driverCores":4,"executorMemory":"4g","executorCores":4,"numExecutors":2}},"name":"WordCount_Dotnet","workspaceName":"testsynapseworkspace","computeName":"testsparkpool","sparkPoolName":"testsparkpool","submitterName":"zhezhou@microsoft.com","submitterId":"8f51e348-1fa6-4194-8d13-8e0368e3298a","artifactId":"Livy","jobType":"SparkBatch","result":"Succeeded","schedulerInfo":{"submittedAt":"2020-01-14T08:23:00.5240826+00:00","scheduledAt":"2020-01-14T08:23:01.6456144+00:00","endedAt":"2020-01-14T08:25:28.9790621+00:00","cancellationRequestedAt":null,"currentState":"Ended"},"pluginInfo":{"preparationStartedAt":"2020-01-14T08:23:01.65923+00:00","resourceAcquisitionStartedAt":"2020-01-14T08:23:01.8972284+00:00","submissionStartedAt":"2020-01-14T08:23:04.6997445+00:00","monitoringStartedAt":"2020-01-14T08:23:04.8193186+00:00","cleanupStartedAt":"2020-01-14T08:25:28.2053071+00:00","currentState":"Ended"},"tags":{},"id":18,"appId":"application_1578989125483_0002","appInfo":{"driverLogUrl":"http://1657321302a648dcb31a6629c8d3bc9b012e5f40483:8042/node/containerlogs/container_1578989125483_0002_01_000001/trusted-service-user","sparkUiUrl":"http://1657321302a648dcb31a6629c8d3bc9b0230e607756:8088/proxy/application_1578989125483_0002/"},"state":"success","log":["\t + tracking URL: http://1657321302a648dcb31a6629c8d3bc9b0230e607756:8088/proxy/application_1578989125483_0002/","\t + user: trusted-service-user","20/01/14 08:23:13 INFO ShutdownHookManager: Shutdown + hook called","20/01/14 08:23:13 INFO ShutdownHookManager: Deleting directory + /tmp/spark-07aae8db-d0be-4c05-803a-474c353ffeb4","20/01/14 08:23:13 INFO ShutdownHookManager: + Deleting directory /tmp/spark-dd484af5-ca45-44d9-adac-609c2a76e34e","20/01/14 + 08:23:13 INFO MetricsSystemImpl: Stopping azure-file-system metrics system...","20/01/14 + 08:23:13 INFO MetricsSystemImpl: azure-file-system metrics system stopped.","20/01/14 + 08:23:13 INFO MetricsSystemImpl: azure-file-system metrics system shutdown + complete.","\nstderr: ","\nYARN Diagnostics: "]},{"livyInfo":{"notStartedAt":null,"startingAt":"2020-01-15T01:23:50.8375423+00:00","runningAt":"2020-01-15T01:24:57.1362447+00:00","deadAt":null,"successAt":"2020-01-15T01:26:14.351845+00:00","killedAt":null,"recoveringAt":null,"currentState":"success","jobCreationRequest":{"name":"WordCount_Dotnet_cli","file":"abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/dotnet/wordcount/microsoft-spark-2.4.x-0.6.0.jar","className":"org.apache.spark.deploy.dotnet.DotnetRunner","args":["abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/dotnet/wordcount/wordcount.zip","WordCount","abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/dotnet/wordcount/shakespeare.txt","abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/dotnet/wordcount/result"],"conf":{},"driverMemory":"4g","driverCores":4,"executorMemory":"4g","executorCores":4,"numExecutors":2}},"name":"WordCount_Dotnet_cli","workspaceName":"testsynapseworkspace","computeName":"testsparkpool","sparkPoolName":"testsparkpool","submitterName":"zhezhou@microsoft.com","submitterId":"8f51e348-1fa6-4194-8d13-8e0368e3298a","artifactId":"Livy","jobType":"SparkBatch","result":"Succeeded","schedulerInfo":{"submittedAt":"2020-01-15T01:21:44.1055566+00:00","scheduledAt":"2020-01-15T01:21:45.3573103+00:00","endedAt":"2020-01-15T01:26:15.0975636+00:00","cancellationRequestedAt":null,"currentState":"Ended"},"pluginInfo":{"preparationStartedAt":"2020-01-15T01:21:45.3717089+00:00","resourceAcquisitionStartedAt":"2020-01-15T01:21:45.6917453+00:00","submissionStartedAt":"2020-01-15T01:23:37.8659497+00:00","monitoringStartedAt":"2020-01-15T01:23:50.8553888+00:00","cleanupStartedAt":"2020-01-15T01:26:14.3683065+00:00","currentState":"Ended"},"tags":{},"id":19,"appId":"application_1579051421404_0001","appInfo":{"driverLogUrl":"http://1b69b0a4ed994f7ea95f9d85f63a3083009f3081028:8042/node/containerlogs/container_1579051421404_0001_01_000001/trusted-service-user","sparkUiUrl":"http://1b69b0a4ed994f7ea95f9d85f63a308302603012606:8088/proxy/application_1579051421404_0001/"},"state":"success","log":["\t + tracking URL: http://1b69b0a4ed994f7ea95f9d85f63a308302603012606:8088/proxy/application_1579051421404_0001/","\t + user: trusted-service-user","20/01/15 01:24:14 INFO ShutdownHookManager: Shutdown + hook called","20/01/15 01:24:14 INFO ShutdownHookManager: Deleting directory + /tmp/spark-e9350640-4f8f-4f9d-8b8b-6dff3a6104fa","20/01/15 01:24:14 INFO ShutdownHookManager: + Deleting directory /tmp/spark-dc37dd45-d38e-4c84-b821-602d8c111e23","20/01/15 + 01:24:14 INFO MetricsSystemImpl: Stopping azure-file-system metrics system...","20/01/15 + 01:24:14 INFO MetricsSystemImpl: azure-file-system metrics system stopped.","20/01/15 + 01:24:14 INFO MetricsSystemImpl: azure-file-system metrics system shutdown + complete.","\nstderr: ","\nYARN Diagnostics: "]},{"livyInfo":{"notStartedAt":null,"startingAt":"2020-01-16T02:11:09.1528283+00:00","runningAt":"2020-01-16T02:12:15.3521866+00:00","deadAt":null,"successAt":"2020-01-16T02:12:48.4623121+00:00","killedAt":null,"recoveringAt":null,"currentState":"success","jobCreationRequest":{"name":"WordCount_Dotnet","file":"abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/dotnet/wordcount/microsoft-spark-2.4.x-0.6.0.jar","className":"org.apache.spark.deploy.dotnet.DotnetRunner","args":["abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/dotnet/wordcount/wordcount.zip","WordCount","abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/dotnet/wordcount/shakespeare.txt","abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/dotnet/wordcount/result"],"conf":{},"driverMemory":"4g","driverCores":4,"executorMemory":"4g","executorCores":4,"numExecutors":2}},"name":"WordCount_Dotnet","workspaceName":"testsynapseworkspace","computeName":"testsparkpool","sparkPoolName":"testsparkpool","submitterName":"zhezhou@microsoft.com","submitterId":"8f51e348-1fa6-4194-8d13-8e0368e3298a","artifactId":"Livy","jobType":"SparkBatch","result":"Succeeded","schedulerInfo":{"submittedAt":"2020-01-16T02:08:56.7032948+00:00","scheduledAt":"2020-01-16T02:08:57.8157792+00:00","endedAt":"2020-01-16T02:12:49.0505851+00:00","cancellationRequestedAt":null,"currentState":"Ended"},"pluginInfo":{"preparationStartedAt":"2020-01-16T02:08:57.8407645+00:00","resourceAcquisitionStartedAt":"2020-01-16T02:08:58.0167402+00:00","submissionStartedAt":"2020-01-16T02:11:08.5234297+00:00","monitoringStartedAt":"2020-01-16T02:11:09.169573+00:00","cleanupStartedAt":"2020-01-16T02:12:48.4771889+00:00","currentState":"Ended"},"tags":{},"id":20,"appId":"application_1579140649715_0001","appInfo":{"driverLogUrl":"http://c5bf52cc122a4e8b8e42bb633501e6770007eb66248:8042/node/containerlogs/container_1579140649715_0001_01_000001/trusted-service-user","sparkUiUrl":"http://c5bf52cc122a4e8b8e42bb633501e67704015827933:8088/proxy/application_1579140649715_0001/"},"state":"success","log":["\t + tracking URL: http://c5bf52cc122a4e8b8e42bb633501e67704015827933:8088/proxy/application_1579140649715_0001/","\t + user: trusted-service-user","20/01/16 02:11:50 INFO ShutdownHookManager: Shutdown + hook called","20/01/16 02:11:50 INFO ShutdownHookManager: Deleting directory + /tmp/spark-dcd3cb18-f03f-4ac5-967f-51fa07df172f","20/01/16 02:11:50 INFO ShutdownHookManager: + Deleting directory /tmp/spark-68628a62-1cf0-4f58-bb6b-22fc97b2cc0b","20/01/16 + 02:11:51 INFO MetricsSystemImpl: Stopping azure-file-system metrics system...","20/01/16 + 02:11:51 INFO MetricsSystemImpl: azure-file-system metrics system stopped.","20/01/16 + 02:11:51 INFO MetricsSystemImpl: azure-file-system metrics system shutdown + complete.","\nstderr: ","\nYARN Diagnostics: "]},{"livyInfo":{"notStartedAt":null,"startingAt":"2020-01-16T02:21:08.8565042+00:00","runningAt":"2020-01-16T02:21:41.9836978+00:00","deadAt":null,"successAt":"2020-01-16T02:22:15.0791064+00:00","killedAt":null,"recoveringAt":null,"currentState":"success","jobCreationRequest":{"name":"WordCount_Dotnet","file":"abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/dotnet/wordcount/microsoft-spark-2.4.x-0.6.0.jar","className":"org.apache.spark.deploy.dotnet.DotnetRunner","args":["abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/dotnet/wordcount/wordcount.zip","WordCount","abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/dotnet/wordcount/shakespeare.txt","abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/dotnet/wordcount/result"],"conf":{},"driverMemory":"4g","driverCores":4,"executorMemory":"4g","executorCores":4,"numExecutors":2}},"name":"WordCount_Dotnet","workspaceName":"testsynapseworkspace","computeName":"testsparkpool","sparkPoolName":"testsparkpool","submitterName":"zhezhou@microsoft.com","submitterId":"8f51e348-1fa6-4194-8d13-8e0368e3298a","artifactId":"Livy","jobType":"SparkBatch","result":"Succeeded","schedulerInfo":{"submittedAt":"2020-01-16T02:21:04.5602571+00:00","scheduledAt":"2020-01-16T02:21:05.5944531+00:00","endedAt":"2020-01-16T02:22:15.6683532+00:00","cancellationRequestedAt":null,"currentState":"Ended"},"pluginInfo":{"preparationStartedAt":"2020-01-16T02:21:05.606491+00:00","resourceAcquisitionStartedAt":"2020-01-16T02:21:05.802267+00:00","submissionStartedAt":"2020-01-16T02:21:08.7788972+00:00","monitoringStartedAt":"2020-01-16T02:21:08.8712008+00:00","cleanupStartedAt":"2020-01-16T02:22:15.0960969+00:00","currentState":"Ended"},"tags":{},"id":21,"appId":"application_1579140649715_0002","appInfo":{"driverLogUrl":"http://c5bf52cc122a4e8b8e42bb633501e67702199d05116:8042/node/containerlogs/container_1579140649715_0002_01_000001/trusted-service-user","sparkUiUrl":"http://c5bf52cc122a4e8b8e42bb633501e67704015827933:8088/proxy/application_1579140649715_0002/"},"state":"success","log":["\t + tracking URL: http://c5bf52cc122a4e8b8e42bb633501e67704015827933:8088/proxy/application_1579140649715_0002/","\t + user: trusted-service-user","20/01/16 02:21:17 INFO ShutdownHookManager: Shutdown + hook called","20/01/16 02:21:17 INFO ShutdownHookManager: Deleting directory + /tmp/spark-acb065c5-b5a0-43f5-9bfc-13a0dc232598","20/01/16 02:21:17 INFO ShutdownHookManager: + Deleting directory /tmp/spark-2f39dc65-0986-4470-ac8c-e41754627e0e","20/01/16 + 02:21:17 INFO MetricsSystemImpl: Stopping azure-file-system metrics system...","20/01/16 + 02:21:17 INFO MetricsSystemImpl: azure-file-system metrics system stopped.","20/01/16 + 02:21:17 INFO MetricsSystemImpl: azure-file-system metrics system shutdown + complete.","\nstderr: ","\nYARN Diagnostics: "]},{"livyInfo":{"notStartedAt":null,"startingAt":"2020-01-16T02:23:58.0339139+00:00","runningAt":"2020-01-16T02:24:31.0910495+00:00","deadAt":null,"successAt":"2020-01-16T02:25:04.1861059+00:00","killedAt":null,"recoveringAt":null,"currentState":"success","jobCreationRequest":{"name":"WordCount_Dotnet","file":"abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/dotnet/wordcount/microsoft-spark-2.4.x-0.6.0.jar","className":"org.apache.spark.deploy.dotnet.DotnetRunner","args":["abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/dotnet/wordcount/wordcount.zip","WordCount","abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/dotnet/wordcount/shakespeare.txt","abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/dotnet/wordcount/result"],"conf":{},"driverMemory":"4g","driverCores":4,"executorMemory":"4g","executorCores":4,"numExecutors":2}},"name":"WordCount_Dotnet","workspaceName":"testsynapseworkspace","computeName":"testsparkpool","sparkPoolName":"testsparkpool","submitterName":"zhezhou@microsoft.com","submitterId":"8f51e348-1fa6-4194-8d13-8e0368e3298a","artifactId":"Livy","jobType":"SparkBatch","result":"Succeeded","schedulerInfo":{"submittedAt":"2020-01-16T02:23:53.8543022+00:00","scheduledAt":"2020-01-16T02:23:54.9361073+00:00","endedAt":"2020-01-16T02:25:05.076203+00:00","cancellationRequestedAt":null,"currentState":"Ended"},"pluginInfo":{"preparationStartedAt":"2020-01-16T02:23:54.9486634+00:00","resourceAcquisitionStartedAt":"2020-01-16T02:23:55.2518511+00:00","submissionStartedAt":"2020-01-16T02:23:57.9528435+00:00","monitoringStartedAt":"2020-01-16T02:23:58.0499442+00:00","cleanupStartedAt":"2020-01-16T02:25:04.2016484+00:00","currentState":"Ended"},"tags":{},"id":22,"appId":"application_1579140649715_0003","appInfo":{"driverLogUrl":"http://c5bf52cc122a4e8b8e42bb633501e67702712f69936:8042/node/containerlogs/container_1579140649715_0003_01_000001/trusted-service-user","sparkUiUrl":"http://c5bf52cc122a4e8b8e42bb633501e67704015827933:8088/proxy/application_1579140649715_0003/"},"state":"success","log":["\t + tracking URL: http://c5bf52cc122a4e8b8e42bb633501e67704015827933:8088/proxy/application_1579140649715_0003/","\t + user: trusted-service-user","20/01/16 02:24:06 INFO ShutdownHookManager: Shutdown + hook called","20/01/16 02:24:06 INFO ShutdownHookManager: Deleting directory + /tmp/spark-91ae2c9d-68e6-463f-8777-3cb4943600e8","20/01/16 02:24:06 INFO ShutdownHookManager: + Deleting directory /tmp/spark-7bb6fe6c-9aed-4d01-a39a-e21b9a04cf8a","20/01/16 + 02:24:06 INFO MetricsSystemImpl: Stopping azure-file-system metrics system...","20/01/16 + 02:24:06 INFO MetricsSystemImpl: azure-file-system metrics system stopped.","20/01/16 + 02:24:06 INFO MetricsSystemImpl: azure-file-system metrics system shutdown + complete.","\nstderr: ","\nYARN Diagnostics: "]},{"livyInfo":{"notStartedAt":null,"startingAt":"2020-01-16T09:39:38.6049357+00:00","runningAt":"2020-01-16T09:41:17.8427957+00:00","deadAt":null,"successAt":"2020-01-16T09:42:12.9407211+00:00","killedAt":null,"recoveringAt":null,"currentState":"success","jobCreationRequest":{"name":"batch_job_from_cli","file":"abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/wordcount.jar","className":"WordCount","args":["abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/shakespeare.txt","abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/result/"],"conf":{},"driverMemory":"4g","driverCores":4,"executorMemory":"4g","executorCores":4,"numExecutors":2}},"name":"batch_job_from_cli","workspaceName":"testsynapseworkspace","computeName":"testsparkpool","sparkPoolName":"testsparkpool","submitterId":"ca728363-7297-4e35-a9c3-c6400837883e","artifactId":"Livy","jobType":"SparkBatch","result":"Succeeded","schedulerInfo":{"submittedAt":"2020-01-16T09:36:46.4661975+00:00","scheduledAt":"2020-01-16T09:36:47.6482388+00:00","endedAt":"2020-01-16T09:42:13.1288868+00:00","cancellationRequestedAt":null,"currentState":"Ended"},"pluginInfo":{"preparationStartedAt":"2020-01-16T09:36:47.6607577+00:00","resourceAcquisitionStartedAt":"2020-01-16T09:36:47.9764174+00:00","submissionStartedAt":"2020-01-16T09:39:01.2644498+00:00","monitoringStartedAt":"2020-01-16T09:39:38.6237587+00:00","cleanupStartedAt":"2020-01-16T09:42:12.9582947+00:00","currentState":"Ended"},"tags":{},"id":23,"appId":"application_1579167542444_0001","appInfo":{"driverLogUrl":"http://dff5fe0bf844496b896e527ae28480c20308c150511:8042/node/containerlogs/container_1579167542444_0001_01_000001/trusted-service-user","sparkUiUrl":"http://dff5fe0bf844496b896e527ae28480c20442ee71008:8088/proxy/application_1579167542444_0001/"},"state":"success","log":["\t + tracking URL: http://dff5fe0bf844496b896e527ae28480c20442ee71008:8088/proxy/application_1579167542444_0001/","\t + user: trusted-service-user","20/01/16 09:40:38 INFO ShutdownHookManager: Shutdown + hook called","20/01/16 09:40:38 INFO ShutdownHookManager: Deleting directory + /tmp/spark-64d62c83-9956-4af6-abce-3d4f6084e2f2","20/01/16 09:40:38 INFO ShutdownHookManager: + Deleting directory /tmp/spark-8191d5d3-b207-474d-969f-290f74820b3e","20/01/16 + 09:40:38 INFO MetricsSystemImpl: Stopping azure-file-system metrics system...","20/01/16 + 09:40:38 INFO MetricsSystemImpl: azure-file-system metrics system stopped.","20/01/16 + 09:40:38 INFO MetricsSystemImpl: azure-file-system metrics system shutdown + complete.","\nstderr: ","\nYARN Diagnostics: "]},{"livyInfo":{"notStartedAt":null,"startingAt":null,"runningAt":null,"deadAt":null,"successAt":null,"killedAt":null,"recoveringAt":null,"currentState":"error","jobCreationRequest":{"name":"batch_job_from_cli","file":"abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/wordcount.jar","className":"WordCount","args":["abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/shakespeare.txt","abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/result/"],"conf":{},"driverMemory":"4g","driverCores":4,"executorMemory":"4g","executorCores":4,"numExecutors":2}},"name":"batch_job_from_cli","workspaceName":"testsynapseworkspace","computeName":"testsparkpool","sparkPoolName":"testsparkpool","submitterId":"ca728363-7297-4e35-a9c3-c6400837883e","artifactId":"Livy","jobType":"SparkBatch","result":"Cancelled","schedulerInfo":{"submittedAt":"2020-01-16T09:37:10.8498374+00:00","scheduledAt":null,"endedAt":"2020-01-16T09:37:11.1608828+00:00","cancellationRequestedAt":"2020-01-16T09:37:11.1606522+00:00","currentState":"Ended"},"pluginInfo":{"preparationStartedAt":null,"resourceAcquisitionStartedAt":null,"submissionStartedAt":null,"monitoringStartedAt":null,"cleanupStartedAt":"2020-01-16T09:37:11.1606589+00:00","currentState":"Ended"},"tags":{},"id":24,"appId":null,"appInfo":null,"state":"error","log":null},{"livyInfo":{"notStartedAt":null,"startingAt":null,"runningAt":null,"deadAt":null,"successAt":null,"killedAt":null,"recoveringAt":null,"currentState":"error","jobCreationRequest":{"name":"batch_job_from_cli","file":"abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/wordcount.jar","className":"WordCount","args":["abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/shakespeare.txt","abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/result/"],"conf":{},"driverMemory":"4g","driverCores":4,"executorMemory":"4g","executorCores":4,"numExecutors":2}},"name":"batch_job_from_cli","workspaceName":"testsynapseworkspace","computeName":"testsparkpool","sparkPoolName":"testsparkpool","submitterId":"ca728363-7297-4e35-a9c3-c6400837883e","artifactId":"Livy","jobType":"SparkBatch","result":"Cancelled","schedulerInfo":{"submittedAt":"2020-01-16T09:37:54.1813823+00:00","scheduledAt":null,"endedAt":"2020-01-16T09:37:54.68767+00:00","cancellationRequestedAt":"2020-01-16T09:37:54.687406+00:00","currentState":"Ended"},"pluginInfo":{"preparationStartedAt":null,"resourceAcquisitionStartedAt":null,"submissionStartedAt":null,"monitoringStartedAt":null,"cleanupStartedAt":"2020-01-16T09:37:54.6874092+00:00","currentState":"Ended"},"tags":{},"id":25,"appId":null,"appInfo":null,"state":"error","log":null},{"livyInfo":{"notStartedAt":null,"startingAt":"2020-01-19T06:46:05.3847587+00:00","runningAt":"2020-01-19T06:46:49.5118675+00:00","deadAt":null,"successAt":"2020-01-19T06:47:33.6083779+00:00","killedAt":null,"recoveringAt":null,"currentState":"success","jobCreationRequest":{"name":"WordCount_Dotnet_with_local_jar","file":"local:///usr/hdp/current/spark2-client/jars/microsoft-spark.jar","className":"org.apache.spark.deploy.dotnet.DotnetRunner","args":["abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/dotnet/wordcount/wordcount.zip","WordCount","abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/dotnet/wordcount/shakespeare.txt","abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/dotnet/wordcount/result"],"conf":{},"driverMemory":"4g","driverCores":4,"executorMemory":"4g","executorCores":4,"numExecutors":2}},"name":"WordCount_Dotnet_with_local_jar","workspaceName":"testsynapseworkspace","computeName":"testsparkpool","sparkPoolName":"testsparkpool","submitterName":"zhezhou@microsoft.com","submitterId":"8f51e348-1fa6-4194-8d13-8e0368e3298a","artifactId":"Livy","jobType":"SparkBatch","result":"Succeeded","schedulerInfo":{"submittedAt":"2020-01-19T06:44:13.6466637+00:00","scheduledAt":"2020-01-19T06:44:13.7712602+00:00","endedAt":"2020-01-19T06:47:34.494125+00:00","cancellationRequestedAt":null,"currentState":"Ended"},"pluginInfo":{"preparationStartedAt":"2020-01-19T06:44:13.7855258+00:00","resourceAcquisitionStartedAt":"2020-01-19T06:44:14.0992483+00:00","submissionStartedAt":"2020-01-19T06:46:03.9490509+00:00","monitoringStartedAt":"2020-01-19T06:46:05.4036305+00:00","cleanupStartedAt":"2020-01-19T06:47:33.62279+00:00","currentState":"Ended"},"tags":{},"id":26,"appId":"application_1579416350077_0001","appInfo":{"driverLogUrl":"http://35c3cd39703446f7b5879bc0b8805f8c001de530649:8042/node/containerlogs/container_1579416350077_0001_01_000001/trusted-service-user","sparkUiUrl":"http://35c3cd39703446f7b5879bc0b8805f8c016c6327596:8088/proxy/application_1579416350077_0001/"},"state":"success","log":["\t + tracking URL: http://35c3cd39703446f7b5879bc0b8805f8c016c6327596:8088/proxy/application_1579416350077_0001/","\t + user: trusted-service-user","20/01/19 06:46:18 INFO ShutdownHookManager: Shutdown + hook called","20/01/19 06:46:18 INFO ShutdownHookManager: Deleting directory + /tmp/spark-de3d608d-97b0-4ca5-a6c5-b05df4a40e8e","20/01/19 06:46:18 INFO ShutdownHookManager: + Deleting directory /tmp/spark-ab19f399-5768-4010-a5aa-0257fc7ccc71","20/01/19 + 06:46:18 INFO MetricsSystemImpl: Stopping azure-file-system metrics system...","20/01/19 + 06:46:18 INFO MetricsSystemImpl: azure-file-system metrics system stopped.","20/01/19 + 06:46:18 INFO MetricsSystemImpl: azure-file-system metrics system shutdown + complete.","\nstderr: ","\nYARN Diagnostics: "]}]}' + headers: + content-type: + - application/json; charset=utf-8 + date: + - Wed, 29 Apr 2020 03:16:29 GMT + server: + - Kestrel Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + x-ms-activity-id: + - cb549b89-b59a-425e-b667-d3ba34a770fa + x-ms-response-time-ms: + - '125' + 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.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 azure-synapse/0.1.0 + method: DELETE + uri: https://testsynapseworkspace.dev.azuresynapse.net/livyApi/versions/2019-11-01-preview/sparkPools/testsparkpool/batches/253 + response: + body: + string: '' + headers: + content-length: + - '0' + date: + - Wed, 29 Apr 2020 03:16:32 GMT + server: + - Kestrel Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-ms-activity-id: + - 45b800a9-0a00-4d0c-ae28-a9ca7442387e + x-ms-response-time-ms: + - '27' + 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.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 azure-synapse/0.1.0 + method: GET + uri: https://testsynapseworkspace.dev.azuresynapse.net/livyApi/versions/2019-11-01-preview/sparkPools/testsparkpool/batches/253?detailed=true + response: + body: + string: '{"livyInfo":{"notStartedAt":null,"startingAt":null,"runningAt":null,"deadAt":null,"successAt":null,"killedAt":null,"recoveringAt":null,"currentState":"error","jobCreationRequest":{"name":"WordCount_Java","file":"abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/wordcount.jar","className":"WordCount","args":["[abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/shakespeare.txt,","abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/result/]"],"conf":{},"driverMemory":"56g","driverCores":8,"executorMemory":"56g","executorCores":8,"numExecutors":2}},"name":"WordCount_Java","workspaceName":"testsynapseworkspace","computeName":"testsparkpool","sparkPoolName":"testsparkpool","submitterName":"zhezhou@microsoft.com","submitterId":"8f51e348-1fa6-4194-8d13-8e0368e3298a","artifactId":"Livy","jobType":"SparkBatch","result":"Cancelled","schedulerInfo":{"submittedAt":"2020-04-29T03:16:22.8718698+00:00","scheduledAt":"2020-04-29T03:16:24.3724738+00:00","endedAt":"2020-04-29T03:16:34.0770012+00:00","cancellationRequestedAt":"2020-04-29T03:16:33.639289+00:00","currentState":"Ended"},"pluginInfo":{"preparationStartedAt":"2020-04-29T03:16:24.3852854+00:00","resourceAcquisitionStartedAt":"2020-04-29T03:16:24.6047147+00:00","submissionStartedAt":null,"monitoringStartedAt":null,"cleanupStartedAt":"2020-04-29T03:16:33.6393088+00:00","currentState":"Ended"},"tags":{},"id":253,"appId":null,"appInfo":null,"state":"error","log":null}' + headers: + content-type: + - application/json; charset=utf-8 + date: + - Wed, 29 Apr 2020 03:17:33 GMT + server: + - Kestrel Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + x-ms-activity-id: + - 4173f458-7fc9-4e48-aa86-689e3f3944bc + x-ms-job-clusterrequested-on: + - 4/29/2020 3:16:24 AM +00:00 + x-ms-job-ended-on: + - 4/29/2020 3:16:34 AM +00:00 + x-ms-job-internal-id: + - '253' + x-ms-job-livysubmission-on: + - 1/1/0001 12:00:00 AM +00:00 + x-ms-job-queued-on: + - 1/1/0001 12:00:00 AM +00:00 + x-ms-job-result: + - Cancelled + x-ms-job-scheduled-on: + - 4/29/2020 3:16:24 AM +00:00 + x-ms-job-scheduler-state: + - Ended + x-ms-job-submitted-by-name: + - zhezhou@microsoft.com + x-ms-job-submitted-on: + - 4/29/2020 3:16:22 AM +00:00 + x-ms-job-type: + - SparkServiceBatch + x-ms-response-time-ms: + - '116' + status: + code: 200 + message: OK +version: 1 diff --git a/src/synapse/azext_synapse/tests/latest/recordings/test_spark_pool.yaml b/src/synapse/azext_synapse/tests/latest/recordings/test_spark_pool.yaml index 8071a9b35bb..aba21b702db 100644 --- a/src/synapse/azext_synapse/tests/latest/recordings/test_spark_pool.yaml +++ b/src/synapse/azext_synapse/tests/latest/recordings/test_spark_pool.yaml @@ -1,9 +1,57 @@ interactions: - request: - body: '{"location": "eastus", "properties": {"autoScale": {"minNodeCount": 3, - "enabled": true, "maxNodeCount": 40}, "autoPause": {"delayInMinutes": 15, "enabled": - true}, "sparkEventsFolder": "/events", "nodeCount": 3, "sparkVersion": "2.4", - "defaultSparkLogFolder": "/logs", "nodeSize": "Medium", "nodeSizeFamily": "MemoryOptimized"}}' + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - synapse spark pool create + Connection: + - keep-alive + ParameterSetName: + - --name --spark-version --workspace --resource-group --node-count --node-size + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-synapse/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace?api-version=2019-06-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace","location":"eastus","name":"testsynapseworkspace","type":"Microsoft.Synapse/workspaces","identity":{"type":"SystemAssigned","principalId":"5c40eee1-1044-4ec5-9d56-bbbd73b93df0","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"tags":{"key1":"value2"},"properties":{"connectivityEndpoints":{"web":"https://web.azuresynapse.net?workspace=%2fsubscriptions%2f051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3%2fresourceGroups%2frg%2fproviders%2fMicrosoft.Synapse%2fworkspaces%2ftestsynapseworkspace","sql":"testsynapseworkspace.sql.azuresynapse.net","dev":"https://testsynapseworkspace.dev.azuresynapse.net","sqlOnDemand":"testsynapseworkspace-ondemand.sql.azuresynapse.net"},"managedResourceGroupName":"workspacemanagedrg-cf1e0457-375a-4c2d-a9b4-51676e4fce7c","defaultDataLakeStorage":{"accountUrl":"https://adlsgen2account.dfs.core.windows.net","filesystem":"testfilesystem"},"sqlAdministratorLogin":"zzy","privateEndpointConnections":[],"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '1113' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 27 Apr 2020 12:17:53 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"location": "eastus", "properties": {"autoScale": {}, "autoPause": {}, + "sparkEventsFolder": "/events", "nodeCount": 3, "sparkVersion": "2.4", "defaultSparkLogFolder": + "/logs", "nodeSize": "Medium", "nodeSizeFamily": "MemoryOptimized"}}' headers: Accept: - application/json @@ -14,40 +62,40 @@ interactions: Connection: - keep-alive Content-Length: - - '327' + - '236' Content-Type: - application/json; charset=utf-8 ParameterSetName: - - --name --spark-version --workspace-name --resource-group --location + - --name --spark-version --workspace --resource-group --node-count --node-size User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-synapse/0.1.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-synapse/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace1234/bigDataPools/testpool000001?api-version=2019-06-01-preview&force=false + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/bigDataPools/testpool000001?api-version=2019-06-01-preview&force=false response: body: - string: '{"properties":{"creationDate":"2020-03-11T03:57:18.34Z","sparkVersion":"2.4","nodeCount":3,"nodeSize":"Medium","nodeSizeFamily":"MemoryOptimized","autoScale":{"enabled":true,"minNodeCount":3,"maxNodeCount":40},"autoPause":{"enabled":true,"delayInMinutes":15},"provisioningState":"Provisioning"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace1234/bigDataPools/testpool000001","name":"testpool000001","type":"Microsoft.Synapse/workspaces/bigDataPools"}' + string: '{"properties":{"creationDate":"2020-04-27T12:18:01.3Z","sparkVersion":"2.4","nodeCount":3,"nodeSize":"Medium","nodeSizeFamily":"MemoryOptimized","autoScale":{"enabled":false,"minNodeCount":0,"maxNodeCount":0},"autoPause":{"enabled":false,"delayInMinutes":0},"provisioningState":"Provisioning"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/bigDataPools/testpool000001","name":"testpool000001","type":"Microsoft.Synapse/workspaces/bigDataPools"}' headers: access-control-allow-headers: - Location access-control-expose-headers: - Location azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace1234/operationStatuses/c760fc4d-b3f3-4dd4-bf64-fc10396d8bbe?api-version=2019-06-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/operationStatuses/23d1af4a-7be3-4e08-a8c4-4439f2eb7ce0?api-version=2019-06-01-preview cache-control: - no-cache content-length: - - '546' + - '545' content-type: - application/json; charset=utf-8 date: - - Wed, 11 Mar 2020 03:57:18 GMT + - Mon, 27 Apr 2020 12:18:01 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace1234/operationResults/c760fc4d-b3f3-4dd4-bf64-fc10396d8bbe?api-version=2019-06-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/operationResults/23d1af4a-7be3-4e08-a8c4-4439f2eb7ce0?api-version=2019-06-01-preview pragma: - no-cache server: @@ -73,12 +121,12 @@ interactions: Connection: - keep-alive ParameterSetName: - - --name --spark-version --workspace-name --resource-group --location + - --name --spark-version --workspace --resource-group --node-count --node-size User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-synapse/0.1.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-synapse/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace1234/operationStatuses/c760fc4d-b3f3-4dd4-bf64-fc10396d8bbe?api-version=2019-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/operationStatuses/23d1af4a-7be3-4e08-a8c4-4439f2eb7ce0?api-version=2019-06-01-preview response: body: string: '{"status":"Succeeded"}' @@ -90,7 +138,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 11 Mar 2020 03:57:50 GMT + - Mon, 27 Apr 2020 12:18:33 GMT expires: - '-1' pragma: @@ -120,24 +168,24 @@ interactions: Connection: - keep-alive ParameterSetName: - - --name --spark-version --workspace-name --resource-group --location + - --name --spark-version --workspace --resource-group --node-count --node-size User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-synapse/0.1.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-synapse/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace1234/bigDataPools/testpool000001?api-version=2019-06-01-preview&force=false + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/bigDataPools/testpool000001?api-version=2019-06-01-preview&force=false response: body: - string: '{"properties":{"creationDate":"2020-03-11T03:57:18.34Z","sparkVersion":"2.4","nodeCount":3,"nodeSize":"Medium","nodeSizeFamily":"MemoryOptimized","autoScale":{"enabled":true,"minNodeCount":3,"maxNodeCount":40},"autoPause":{"enabled":true,"delayInMinutes":15},"provisioningState":"Succeeded"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace1234/bigDataPools/testpool000001","name":"testpool000001","type":"Microsoft.Synapse/workspaces/bigDataPools","location":"eastus"}' + string: '{"properties":{"creationDate":"2020-04-27T12:18:01.3Z","sparkVersion":"2.4","nodeCount":3,"nodeSize":"Medium","nodeSizeFamily":"MemoryOptimized","autoScale":{"enabled":false,"minNodeCount":0,"maxNodeCount":0},"autoPause":{"enabled":false,"delayInMinutes":0},"provisioningState":"Succeeded"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/bigDataPools/testpool000001","name":"testpool000001","type":"Microsoft.Synapse/workspaces/bigDataPools","location":"eastus"}' headers: cache-control: - no-cache content-length: - - '563' + - '562' content-type: - application/json; charset=utf-8 date: - - Wed, 11 Mar 2020 03:57:50 GMT + - Mon, 27 Apr 2020 12:18:33 GMT expires: - '-1' pragma: @@ -167,26 +215,26 @@ interactions: Connection: - keep-alive ParameterSetName: - - --name --workspace-name --resource-group + - --name --workspace --resource-group User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-synapse/0.1.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-synapse/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace1234/bigDataPools/testpool000001?api-version=2019-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/bigDataPools/testpool000001?api-version=2019-06-01-preview response: body: - string: '{"properties":{"creationDate":"2020-03-11T03:57:18.34Z","sparkVersion":"2.4","nodeCount":3,"nodeSize":"Medium","nodeSizeFamily":"MemoryOptimized","autoScale":{"enabled":true,"minNodeCount":3,"maxNodeCount":40},"autoPause":{"enabled":true,"delayInMinutes":15},"provisioningState":"Succeeded"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace1234/bigDataPools/testpool000001","name":"testpool000001","type":"Microsoft.Synapse/workspaces/bigDataPools","location":"eastus"}' + string: '{"properties":{"creationDate":"2020-04-27T12:18:01.3Z","sparkVersion":"2.4","nodeCount":3,"nodeSize":"Medium","nodeSizeFamily":"MemoryOptimized","autoScale":{"enabled":false,"minNodeCount":0,"maxNodeCount":0},"autoPause":{"enabled":false,"delayInMinutes":0},"provisioningState":"Succeeded"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/bigDataPools/testpool000001","name":"testpool000001","type":"Microsoft.Synapse/workspaces/bigDataPools","location":"eastus"}' headers: cache-control: - no-cache content-length: - - '563' + - '562' content-type: - application/json; charset=utf-8 date: - - Wed, 11 Mar 2020 03:57:52 GMT + - Mon, 27 Apr 2020 12:18:37 GMT expires: - '-1' pragma: @@ -216,26 +264,232 @@ interactions: Connection: - keep-alive ParameterSetName: - - --workspace-name --resource-group + - --workspace --resource-group + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-synapse/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/bigDataPools?api-version=2019-06-01-preview + response: + body: + string: '{"value":[{"properties":{"creationDate":"2020-04-27T07:29:39.3866667Z","sparkVersion":"2.4","nodeCount":3,"nodeSize":"Medium","nodeSizeFamily":"MemoryOptimized","autoScale":{"enabled":false,"minNodeCount":0,"maxNodeCount":0},"autoPause":{"enabled":false,"delayInMinutes":0},"provisioningState":"Succeeded"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/bigDataPools/testclipool11","name":"testclipool11","type":"Microsoft.Synapse/workspaces/bigDataPools","location":"eastus"},{"properties":{"creationDate":"2020-04-27T07:03:20.86Z","sparkVersion":"2.4","nodeCount":3,"nodeSize":"Medium","nodeSizeFamily":"MemoryOptimized","provisioningState":"Succeeded"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/bigDataPools/testclipool6","name":"testclipool6","type":"Microsoft.Synapse/workspaces/bigDataPools","location":"eastus"},{"properties":{"creationDate":"2020-04-27T07:06:37.36Z","sparkVersion":"2.4","nodeCount":3,"nodeSize":"Medium","nodeSizeFamily":"MemoryOptimized","autoScale":{"enabled":true,"minNodeCount":3,"maxNodeCount":200},"autoPause":{"enabled":true,"delayInMinutes":15},"provisioningState":"Succeeded"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/bigDataPools/testclipool7","name":"testclipool7","type":"Microsoft.Synapse/workspaces/bigDataPools","location":"eastus"},{"properties":{"creationDate":"2020-04-27T07:10:40.9733333Z","sparkVersion":"2.4","nodeCount":3,"nodeSize":"Medium","nodeSizeFamily":"MemoryOptimized","autoScale":{"enabled":true,"minNodeCount":0,"maxNodeCount":0},"autoPause":{"enabled":false,"delayInMinutes":15},"provisioningState":"Succeeded"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/bigDataPools/testclipool8","name":"testclipool8","type":"Microsoft.Synapse/workspaces/bigDataPools","location":"eastus"},{"properties":{"creationDate":"2020-04-27T12:18:01.3Z","sparkVersion":"2.4","nodeCount":3,"nodeSize":"Medium","nodeSizeFamily":"MemoryOptimized","autoScale":{"enabled":false,"minNodeCount":0,"maxNodeCount":0},"autoPause":{"enabled":false,"delayInMinutes":0},"provisioningState":"Succeeded"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/bigDataPools/testpool000001","name":"testpool000001","type":"Microsoft.Synapse/workspaces/bigDataPools","location":"eastus"},{"properties":{"creationDate":"2020-04-27T07:49:58.43Z","sparkVersion":"2.4","nodeCount":3,"nodeSize":"Medium","nodeSizeFamily":"MemoryOptimized","autoScale":{"enabled":false,"minNodeCount":0,"maxNodeCount":0},"autoPause":{"enabled":true,"delayInMinutes":15},"provisioningState":"Succeeded"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/bigDataPools/testportal","name":"testportal","type":"Microsoft.Synapse/workspaces/bigDataPools","location":"eastus","tags":{}},{"properties":{"creationDate":"2020-04-14T04:16:11.72Z","sparkVersion":"2.4","nodeCount":3,"nodeSize":"Medium","nodeSizeFamily":"MemoryOptimized","autoScale":{"enabled":false,"minNodeCount":0,"maxNodeCount":0},"autoPause":{"enabled":true,"delayInMinutes":15},"provisioningState":"Succeeded"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/bigDataPools/testsparkpool","name":"testsparkpool","type":"Microsoft.Synapse/workspaces/bigDataPools","location":"eastus","tags":{"key2":"value2"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '3855' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 27 Apr 2020 12:18:39 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - synapse spark pool update + Connection: + - keep-alive + ParameterSetName: + - --ids --tags User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-synapse/0.1.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-synapse/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace1234/bigDataPools?api-version=2019-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/bigDataPools/testpool000001?api-version=2019-06-01-preview + response: + body: + string: '{"properties":{"creationDate":"2020-04-27T12:18:01.3Z","sparkVersion":"2.4","nodeCount":3,"nodeSize":"Medium","nodeSizeFamily":"MemoryOptimized","autoScale":{"enabled":false,"minNodeCount":0,"maxNodeCount":0},"autoPause":{"enabled":false,"delayInMinutes":0},"provisioningState":"Succeeded"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/bigDataPools/testpool000001","name":"testpool000001","type":"Microsoft.Synapse/workspaces/bigDataPools","location":"eastus"}' + headers: + cache-control: + - no-cache + content-length: + - '562' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 27 Apr 2020 12:18:41 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"tags": {"key1": "value1"}, "location": "eastus", "properties": {"provisioningState": + "Succeeded", "autoScale": {"minNodeCount": 0, "enabled": false, "maxNodeCount": + 0}, "creationDate": "2020-04-27T12:18:01.300Z", "autoPause": {"delayInMinutes": + 0, "enabled": false}, "nodeCount": 3, "sparkVersion": "2.4", "nodeSize": "Medium", + "nodeSizeFamily": "MemoryOptimized"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - synapse spark pool update + Connection: + - keep-alive + Content-Length: + - '367' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - --ids --tags + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-synapse/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/bigDataPools/testpool000001?api-version=2019-06-01-preview&force=false + response: + body: + string: '{"properties":{"creationDate":"2020-04-27T12:18:01.3Z","sparkVersion":"2.4","nodeCount":3,"nodeSize":"Medium","nodeSizeFamily":"MemoryOptimized","autoScale":{"enabled":false,"minNodeCount":0,"maxNodeCount":0},"autoPause":{"enabled":false,"delayInMinutes":0},"provisioningState":"Provisioning"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/bigDataPools/testpool000001","name":"testpool000001","type":"Microsoft.Synapse/workspaces/bigDataPools","tags":{"key1":"value1"}}' + headers: + access-control-allow-headers: + - Location + access-control-expose-headers: + - Location + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/operationStatuses/2d4a5fa4-aa8e-44a7-b22c-899e825e5372?api-version=2019-06-01-preview + cache-control: + - no-cache + content-length: + - '570' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 27 Apr 2020 12:18:44 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/operationResults/2d4a5fa4-aa8e-44a7-b22c-899e825e5372?api-version=2019-06-01-preview + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - synapse spark pool update + Connection: + - keep-alive + ParameterSetName: + - --ids --tags + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-synapse/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/operationStatuses/2d4a5fa4-aa8e-44a7-b22c-899e825e5372?api-version=2019-06-01-preview + response: + body: + string: '{"status":"Succeeded"}' + headers: + cache-control: + - no-cache + content-length: + - '22' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 27 Apr 2020 12:19:18 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - synapse spark pool update + Connection: + - keep-alive + ParameterSetName: + - --ids --tags + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-synapse/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/bigDataPools/testpool000001?api-version=2019-06-01-preview&force=false response: body: - string: '{"value":[{"properties":{"creationDate":"2020-03-03T11:00:16.56Z","sparkVersion":"default12","nodeCount":3,"nodeSize":"Medium","nodeSizeFamily":"MemoryOptimized","autoScale":{"enabled":true,"minNodeCount":3,"maxNodeCount":40},"autoPause":{"enabled":true,"delayInMinutes":15},"provisioningState":"Succeeded"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace1234/bigDataPools/clipool12","name":"clipool12","type":"Microsoft.Synapse/workspaces/bigDataPools","location":"eastus"},{"properties":{"creationDate":"2020-03-03T11:11:13.7833333Z","sparkVersion":"default123","nodeCount":3,"nodeSize":"Medium","nodeSizeFamily":"MemoryOptimized","autoScale":{"enabled":true,"minNodeCount":3,"maxNodeCount":40},"autoPause":{"enabled":true,"delayInMinutes":15},"provisioningState":"Succeeded"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace1234/bigDataPools/clipool123","name":"clipool123","type":"Microsoft.Synapse/workspaces/bigDataPools","location":"eastus"},{"properties":{"creationDate":"2020-03-11T03:54:11.1066667Z","sparkVersion":"2.4","nodeCount":3,"nodeSize":"Medium","nodeSizeFamily":"MemoryOptimized","autoScale":{"enabled":true,"minNodeCount":3,"maxNodeCount":40},"autoPause":{"enabled":true,"delayInMinutes":15},"provisioningState":"Succeeded"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace1234/bigDataPools/clipool666","name":"clipool666","type":"Microsoft.Synapse/workspaces/bigDataPools","location":"eastus"},{"properties":{"creationDate":"2020-03-11T03:50:13.2366667Z","sparkVersion":"2.4","nodeCount":3,"nodeSize":"Medium","nodeSizeFamily":"MemoryOptimized","autoScale":{"enabled":true,"minNodeCount":3,"maxNodeCount":40},"autoPause":{"enabled":true,"delayInMinutes":15},"provisioningState":"Succeeded"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace1234/bigDataPools/testpoolarekki7","name":"testpoolarekki7","type":"Microsoft.Synapse/workspaces/bigDataPools","location":"eastus"},{"properties":{"creationDate":"2020-03-11T03:56:36.0766667Z","sparkVersion":"2.4","nodeCount":3,"nodeSize":"Medium","nodeSizeFamily":"MemoryOptimized","autoScale":{"enabled":true,"minNodeCount":3,"maxNodeCount":40},"autoPause":{"enabled":true,"delayInMinutes":15},"provisioningState":"Succeeded"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace1234/bigDataPools/testpoolfhjgoik","name":"testpoolfhjgoik","type":"Microsoft.Synapse/workspaces/bigDataPools","location":"eastus"},{"properties":{"creationDate":"2020-03-11T03:55:24.9433333Z","sparkVersion":"2.4","nodeCount":3,"nodeSize":"Medium","nodeSizeFamily":"MemoryOptimized","autoScale":{"enabled":true,"minNodeCount":3,"maxNodeCount":40},"autoPause":{"enabled":true,"delayInMinutes":15},"provisioningState":"Succeeded"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace1234/bigDataPools/testpoolkget4j7","name":"testpoolkget4j7","type":"Microsoft.Synapse/workspaces/bigDataPools","location":"eastus"},{"properties":{"creationDate":"2020-02-26T10:47:56.64Z","sparkVersion":"2.4","nodeCount":3,"nodeSize":"Medium","nodeSizeFamily":"MemoryOptimized","autoScale":{"enabled":true,"minNodeCount":3,"maxNodeCount":40},"autoPause":{"enabled":true,"delayInMinutes":15},"provisioningState":"Succeeded"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace1234/bigDataPools/testpoollrqsjsh","name":"testpoollrqsjsh","type":"Microsoft.Synapse/workspaces/bigDataPools","location":"eastus"},{"properties":{"creationDate":"2020-02-26T11:32:26.1266667Z","sparkVersion":"2.4","nodeCount":3,"nodeSize":"Medium","nodeSizeFamily":"MemoryOptimized","autoScale":{"enabled":true,"minNodeCount":3,"maxNodeCount":40},"autoPause":{"enabled":true,"delayInMinutes":15},"provisioningState":"Succeeded"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace1234/bigDataPools/testpooltenlmbv","name":"testpooltenlmbv","type":"Microsoft.Synapse/workspaces/bigDataPools","location":"eastus"},{"properties":{"creationDate":"2020-03-11T03:48:03.0966667Z","sparkVersion":"2.4","nodeCount":3,"nodeSize":"Medium","nodeSizeFamily":"MemoryOptimized","autoScale":{"enabled":true,"minNodeCount":3,"maxNodeCount":40},"autoPause":{"enabled":true,"delayInMinutes":15},"provisioningState":"Succeeded"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace1234/bigDataPools/testpoolvvpt4qh","name":"testpoolvvpt4qh","type":"Microsoft.Synapse/workspaces/bigDataPools","location":"eastus"},{"properties":{"creationDate":"2020-03-11T03:57:18.34Z","sparkVersion":"2.4","nodeCount":3,"nodeSize":"Medium","nodeSizeFamily":"MemoryOptimized","autoScale":{"enabled":true,"minNodeCount":3,"maxNodeCount":40},"autoPause":{"enabled":true,"delayInMinutes":15},"provisioningState":"Succeeded"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace1234/bigDataPools/testpool000001","name":"testpool000001","type":"Microsoft.Synapse/workspaces/bigDataPools","location":"eastus"},{"properties":{"creationDate":"2020-02-26T10:55:19.3533333Z","sparkVersion":"2.4","nodeCount":3,"nodeSize":"Medium","nodeSizeFamily":"MemoryOptimized","autoScale":{"enabled":true,"minNodeCount":3,"maxNodeCount":40},"autoPause":{"enabled":true,"delayInMinutes":15},"provisioningState":"Succeeded"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace1234/bigDataPools/testsparkpool","name":"testsparkpool","type":"Microsoft.Synapse/workspaces/bigDataPools","location":"eastus","tags":{"key1":"value1"}}]}' + string: '{"properties":{"creationDate":"2020-04-27T12:18:01.3Z","sparkVersion":"2.4","nodeCount":3,"nodeSize":"Medium","nodeSizeFamily":"MemoryOptimized","autoScale":{"enabled":false,"minNodeCount":0,"maxNodeCount":0},"autoPause":{"enabled":false,"delayInMinutes":0},"provisioningState":"Succeeded"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/bigDataPools/testpool000001","name":"testpool000001","type":"Microsoft.Synapse/workspaces/bigDataPools","location":"eastus","tags":{"key1":"value1"}}' headers: cache-control: - no-cache content-length: - - '6257' + - '587' content-type: - application/json; charset=utf-8 date: - - Wed, 11 Mar 2020 03:57:54 GMT + - Mon, 27 Apr 2020 12:19:19 GMT expires: - '-1' pragma: @@ -267,14 +521,14 @@ interactions: Content-Length: - '0' ParameterSetName: - - --name --workspace-name --resource-group --yes + - --name --workspace --resource-group --yes User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-synapse/0.1.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-synapse/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 accept-language: - en-US method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace1234/bigDataPools/testpool000001?api-version=2019-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/bigDataPools/testpool000001?api-version=2019-06-01-preview response: body: string: '' @@ -288,11 +542,11 @@ interactions: content-length: - '0' date: - - Wed, 11 Mar 2020 03:57:57 GMT + - Mon, 27 Apr 2020 12:19:23 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace1234/operationResults/ff597dc8-1667-4dd7-b756-50cf16bbae18?api-version=2019-06-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/operationResults/f81ee113-912a-4f30-9f1f-97bd5c98c829?api-version=2019-06-01-preview pragma: - no-cache server: @@ -318,12 +572,12 @@ interactions: Connection: - keep-alive ParameterSetName: - - --name --workspace-name --resource-group --yes + - --name --workspace --resource-group --yes User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-synapse/0.1.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-synapse/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace1234/operationResults/ff597dc8-1667-4dd7-b756-50cf16bbae18?api-version=2019-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/operationResults/f81ee113-912a-4f30-9f1f-97bd5c98c829?api-version=2019-06-01-preview response: body: string: '' @@ -331,7 +585,7 @@ interactions: cache-control: - no-cache date: - - Wed, 11 Mar 2020 03:58:29 GMT + - Mon, 27 Apr 2020 12:19:55 GMT expires: - '-1' pragma: @@ -357,18 +611,18 @@ interactions: Connection: - keep-alive ParameterSetName: - - --name --workspace-name --resource-group + - --name --workspace --resource-group User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-synapse/0.1.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-synapse/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace1234/bigDataPools/testpool000001?api-version=2019-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/bigDataPools/testpool000001?api-version=2019-06-01-preview response: body: - string: '{"error":{"code":"ResourceNotFound","message":"The Resource ''Microsoft.Synapse/workspaces/testsynapseworkspace1234/bigDataPools/testpool000001'' - under resource group ''cli-test-rg'' was not found."}}' + string: '{"error":{"code":"ResourceNotFound","message":"The Resource ''Microsoft.Synapse/workspaces/testsynapseworkspace/bigDataPools/testpool000001'' + under resource group ''rg'' was not found."}}' headers: cache-control: - no-cache @@ -377,7 +631,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 11 Mar 2020 03:58:30 GMT + - Mon, 27 Apr 2020 12:19:58 GMT expires: - '-1' pragma: diff --git a/src/synapse/azext_synapse/tests/latest/recordings/test_spark_session_and_statements.yaml b/src/synapse/azext_synapse/tests/latest/recordings/test_spark_session_and_statements.yaml index 9f58e81468f..3fe30554fd9 100644 --- a/src/synapse/azext_synapse/tests/latest/recordings/test_spark_session_and_statements.yaml +++ b/src/synapse/azext_synapse/tests/latest/recordings/test_spark_session_and_statements.yaml @@ -1,7 +1,7 @@ interactions: - request: - body: '{"name": "session_job", "driverMemory": "4g", "driverCores": 4, "executorMemory": - "4g", "executorCores": 4, "numExecutors": 2}' + body: '{"name": "clisession000002", "driverMemory": "28g", "driverCores": 4, "executorMemory": + "28g", "executorCores": 4, "numExecutors": 2}' headers: Accept: - application/json @@ -10,21 +10,21 @@ interactions: Connection: - keep-alive Content-Length: - - '126' + - '131' Content-Type: - application/json; charset=utf-8 User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 azure-synapse/0.1.0 method: POST - uri: https://testsynapseworkspace1234.dev.azuresynapse.net/livyApi/versions/2019-11-01-preview/sparkPools/testsparkpool/sessions?detailed=true + uri: https://testsynapseworkspace.dev.azuresynapse.net/livyApi/versions/2019-11-01-preview/sparkPools/testsparkpool/sessions?detailed=true response: body: - string: '{"livyInfo":{"notStartedAt":null,"startingAt":null,"idleAt":null,"deadAt":null,"shuttingDownAt":null,"killedAt":null,"recoveringAt":null,"busyAt":null,"errorAt":null,"currentState":"not_started","jobCreationRequest":{"name":"session_job","conf":{},"driverMemory":"4g","driverCores":4,"executorMemory":"4g","executorCores":4,"numExecutors":2}},"name":"session_job","workspaceName":"testsynapseworkspace1234","computeName":"testsparkpool","sparkPoolName":"testsparkpool","submitterName":"zhezhou@microsoft.com","submitterId":"8f51e348-1fa6-4194-8d13-8e0368e3298a","artifactId":"Livy","jobType":"SparkSession","result":"Uncertain","schedulerInfo":{"submittedAt":"2020-03-11T07:40:17.7543078+00:00","scheduledAt":null,"endedAt":null,"cancellationRequestedAt":null,"currentState":"Queued"},"pluginInfo":{"preparationStartedAt":null,"resourceAcquisitionStartedAt":null,"submissionStartedAt":null,"monitoringStartedAt":null,"cleanupStartedAt":null,"currentState":"Preparation"},"tags":{},"id":89,"appId":null,"appInfo":null,"state":"not_started","log":null}' + string: '{"livyInfo":{"notStartedAt":null,"startingAt":null,"idleAt":null,"deadAt":null,"shuttingDownAt":null,"killedAt":null,"recoveringAt":null,"busyAt":null,"errorAt":null,"currentState":"not_started","jobCreationRequest":{"name":"clisession000002","conf":{},"driverMemory":"28g","driverCores":4,"executorMemory":"28g","executorCores":4,"numExecutors":2}},"name":"clisession000002","workspaceName":"testsynapseworkspace","computeName":"testsparkpool","sparkPoolName":"testsparkpool","submitterName":"zhezhou@microsoft.com","submitterId":"8f51e348-1fa6-4194-8d13-8e0368e3298a","artifactId":"Livy","jobType":"SparkSession","result":"Uncertain","schedulerInfo":{"submittedAt":"2020-04-29T07:00:10.5895665+00:00","scheduledAt":null,"endedAt":null,"cancellationRequestedAt":null,"currentState":"Queued"},"pluginInfo":{"preparationStartedAt":null,"resourceAcquisitionStartedAt":null,"submissionStartedAt":null,"monitoringStartedAt":null,"cleanupStartedAt":null,"currentState":"Preparation"},"tags":{},"id":263,"appId":null,"appInfo":null,"state":"not_started","log":null}' headers: content-type: - application/json; charset=utf-8 date: - - Wed, 11 Mar 2020 07:40:17 GMT + - Wed, 29 Apr 2020 07:00:10 GMT server: - Kestrel Microsoft-HTTPAPI/2.0 strict-transport-security: @@ -32,13 +32,13 @@ interactions: transfer-encoding: - chunked x-ms-activity-id: - - 3e701fe6-f4b8-45c7-bb75-7579d752196c + - 8a555cc4-3bec-4f0a-a53c-f2f5ed865c75 x-ms-job-clusterrequested-on: - 1/1/0001 12:00:00 AM +00:00 x-ms-job-ended-on: - '' x-ms-job-internal-id: - - '89' + - '263' x-ms-job-livysubmission-on: - 1/1/0001 12:00:00 AM +00:00 x-ms-job-queued-on: @@ -52,11 +52,11 @@ interactions: x-ms-job-submitted-by-name: - zhezhou@microsoft.com x-ms-job-submitted-on: - - 3/11/2020 7:40:17 AM +00:00 + - 4/29/2020 7:00:10 AM +00:00 x-ms-job-type: - SparkServiceSession x-ms-response-time-ms: - - '267' + - '464' status: code: 200 message: OK @@ -74,24 +74,24 @@ interactions: User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 azure-synapse/0.1.0 method: GET - uri: https://testsynapseworkspace1234.dev.azuresynapse.net/livyApi/versions/2019-11-01-preview/sparkPools/testsparkpool/sessions/89?detailed=true + uri: https://testsynapseworkspace.dev.azuresynapse.net/livyApi/versions/2019-11-01-preview/sparkPools/testsparkpool/sessions/263?detailed=true response: body: - string: '{"livyInfo":{"notStartedAt":null,"startingAt":"2020-03-11T07:40:22.1520203+00:00","idleAt":"2020-03-11T07:40:41.287338+00:00","deadAt":null,"shuttingDownAt":null,"killedAt":null,"recoveringAt":null,"busyAt":null,"errorAt":null,"currentState":"idle","jobCreationRequest":{"name":"session_job","conf":{},"driverMemory":"4g","driverCores":4,"executorMemory":"4g","executorCores":4,"numExecutors":2}},"name":"session_job","workspaceName":"testsynapseworkspace1234","computeName":"testsparkpool","sparkPoolName":"testsparkpool","submitterName":"zhezhou@microsoft.com","submitterId":"8f51e348-1fa6-4194-8d13-8e0368e3298a","artifactId":"Livy","jobType":"SparkSession","result":"Uncertain","schedulerInfo":{"submittedAt":"2020-03-11T07:40:17.7543078+00:00","scheduledAt":"2020-03-11T07:40:19.0215068+00:00","endedAt":null,"cancellationRequestedAt":null,"currentState":"Scheduled"},"pluginInfo":{"preparationStartedAt":"2020-03-11T07:40:19.0340075+00:00","resourceAcquisitionStartedAt":"2020-03-11T07:40:19.3529912+00:00","submissionStartedAt":"2020-03-11T07:40:22.0524783+00:00","monitoringStartedAt":"2020-03-11T07:40:22.1657+00:00","cleanupStartedAt":null,"currentState":"Monitoring"},"tags":{},"id":89,"appId":"application_1583905381782_0015","appInfo":{"driverLogUrl":"http://284b17c0c2dc4a37bde77cb7c5642f2900085497131:8042/node/containerlogs/container_1583905381782_0015_01_000001/trusted-service-user","sparkUiUrl":"http://284b17c0c2dc4a37bde77cb7c5642f2900085497131:8088/proxy/application_1583905381782_0015/"},"state":"idle","log":["\t - final status: UNDEFINED","\t tracking URL: http://284b17c0c2dc4a37bde77cb7c5642f2900085497131:8088/proxy/application_1583905381782_0015/","\t - user: trusted-service-user","20/03/11 07:40:25 INFO ShutdownHookManager: Shutdown - hook called","20/03/11 07:40:25 INFO ShutdownHookManager: Deleting directory - /tmp/spark-ecceb79c-6efd-4f48-8b91-24c6353ccefd","20/03/11 07:40:25 INFO ShutdownHookManager: - Deleting directory /tmp/spark-96caaab8-5196-425d-b41a-5bd053df0d1f","20/03/11 - 07:40:25 INFO MetricsSystemImpl: Stopping azure-file-system metrics system...","20/03/11 - 07:40:25 INFO MetricsSystemImpl: azure-file-system metrics system stopped.","20/03/11 - 07:40:25 INFO MetricsSystemImpl: azure-file-system metrics system shutdown + string: '{"livyInfo":{"notStartedAt":null,"startingAt":"2020-04-29T07:00:21.2577523+00:00","idleAt":"2020-04-29T07:00:42.3732975+00:00","deadAt":null,"shuttingDownAt":null,"killedAt":null,"recoveringAt":null,"busyAt":null,"errorAt":null,"currentState":"idle","jobCreationRequest":{"name":"clisession000002","conf":{},"driverMemory":"28g","driverCores":4,"executorMemory":"28g","executorCores":4,"numExecutors":2}},"name":"clisession000002","workspaceName":"testsynapseworkspace","computeName":"testsparkpool","sparkPoolName":"testsparkpool","submitterName":"zhezhou@microsoft.com","submitterId":"8f51e348-1fa6-4194-8d13-8e0368e3298a","artifactId":"Livy","jobType":"SparkSession","result":"Uncertain","schedulerInfo":{"submittedAt":"2020-04-29T07:00:10.5895665+00:00","scheduledAt":"2020-04-29T07:00:11.053886+00:00","endedAt":null,"cancellationRequestedAt":null,"currentState":"Scheduled"},"pluginInfo":{"preparationStartedAt":"2020-04-29T07:00:11.0655377+00:00","resourceAcquisitionStartedAt":"2020-04-29T07:00:11.4353169+00:00","submissionStartedAt":"2020-04-29T07:00:21.0820919+00:00","monitoringStartedAt":"2020-04-29T07:00:21.2729119+00:00","cleanupStartedAt":null,"currentState":"Monitoring"},"tags":{},"id":263,"appId":"application_1588139005930_0004","appInfo":{"driverLogUrl":"http://70d59f11630f426881559b28306c09720008c554934:8042/node/containerlogs/container_1588139005930_0004_01_000001/trusted-service-user","sparkUiUrl":"http://70d59f11630f426881559b28306c097200106566738:8088/proxy/application_1588139005930_0004/"},"state":"idle","log":["\t + final status: UNDEFINED","\t tracking URL: http://70d59f11630f426881559b28306c097200106566738:8088/proxy/application_1588139005930_0004/","\t + user: trusted-service-user","20/04/29 07:00:25 INFO ShutdownHookManager: Shutdown + hook called","20/04/29 07:00:25 INFO ShutdownHookManager: Deleting directory + /tmp/spark-e74e5592-9d72-47e3-b6f4-b7855f3f6c9b","20/04/29 07:00:25 INFO ShutdownHookManager: + Deleting directory /tmp/spark-61e8ee3f-d6a1-4f17-afec-6dbe6767b7ea","20/04/29 + 07:00:25 INFO MetricsSystemImpl: Stopping azure-file-system metrics system...","20/04/29 + 07:00:25 INFO MetricsSystemImpl: azure-file-system metrics system stopped.","20/04/29 + 07:00:25 INFO MetricsSystemImpl: azure-file-system metrics system shutdown complete.","\nYARN Diagnostics: "]}' headers: content-type: - application/json; charset=utf-8 date: - - Wed, 11 Mar 2020 07:46:19 GMT + - Wed, 29 Apr 2020 07:06:15 GMT server: - Kestrel Microsoft-HTTPAPI/2.0 strict-transport-security: @@ -99,33 +99,33 @@ interactions: transfer-encoding: - chunked x-ms-activity-id: - - a0ccf6b0-3c1d-41a6-b003-edb43930c878 + - bb5cb863-84cb-4ea5-a3b2-1f185b6cdb68 x-ms-job-cluster: - - http://171.0.4.7:8998/ + - https://vnet-efcd4013-eastus-3013.eastus.cloudapp.azure.com:58871/ x-ms-job-clusterrequested-on: - - 3/11/2020 7:40:19 AM +00:00 + - 4/29/2020 7:00:11 AM +00:00 x-ms-job-ended-on: - '' x-ms-job-internal-id: - - '89' + - '263' x-ms-job-livysubmission-on: - - 3/11/2020 7:40:22 AM +00:00 + - 4/29/2020 7:00:21 AM +00:00 x-ms-job-queued-on: - - 3/11/2020 7:40:22 AM +00:00 + - 4/29/2020 7:00:21 AM +00:00 x-ms-job-result: - Uncertain x-ms-job-scheduled-on: - - 3/11/2020 7:40:19 AM +00:00 + - 4/29/2020 7:00:11 AM +00:00 x-ms-job-scheduler-state: - Scheduled x-ms-job-submitted-by-name: - zhezhou@microsoft.com x-ms-job-submitted-on: - - 3/11/2020 7:40:17 AM +00:00 + - 4/29/2020 7:00:10 AM +00:00 x-ms-job-type: - SparkServiceSession x-ms-response-time-ms: - - '112' + - '14' status: code: 200 message: OK @@ -143,10 +143,10 @@ interactions: User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 azure-synapse/0.1.0 method: GET - uri: https://testsynapseworkspace1234.dev.azuresynapse.net/livyApi/versions/2019-11-01-preview/sparkPools/testsparkpool/sessions?detailed=true + uri: https://testsynapseworkspace.dev.azuresynapse.net/livyApi/versions/2019-11-01-preview/sparkPools/testsparkpool/sessions?detailed=true response: body: - string: '{"from":0,"total":20,"sessions":[{"livyInfo":{"notStartedAt":null,"startingAt":"2019-12-13T08:31:43.5770995+00:00","idleAt":"2019-12-13T08:33:26.3486022+00:00","deadAt":null,"shuttingDownAt":null,"killedAt":null,"recoveringAt":null,"busyAt":"2019-12-13T08:33:43.4783228+00:00","errorAt":null,"currentState":"killed","jobCreationRequest":{"name":"Synapse_testsparkpool_1576225747245","conf":{},"driverMemory":"28g","driverCores":4,"executorMemory":"28g","executorCores":4,"numExecutors":2}},"name":"Synapse_testsparkpool_1576225747245","workspaceName":"testsynapseworkspace1234","computeName":"testsparkpool","sparkPoolName":"testsparkpool","submitterName":"zhezhou@microsoft.com","submitterId":"8f51e348-1fa6-4194-8d13-8e0368e3298a","artifactId":"Livy","jobType":"SparkSession","result":"Cancelled","schedulerInfo":{"submittedAt":"2019-12-13T08:29:09.2436131+00:00","scheduledAt":"2019-12-13T08:29:10.4002931+00:00","endedAt":"2019-12-13T09:12:57.8277203+00:00","cancellationRequestedAt":"2019-12-13T09:12:56.2729655+00:00","currentState":"Ended"},"pluginInfo":{"preparationStartedAt":"2019-12-13T08:29:10.4143043+00:00","resourceAcquisitionStartedAt":"2019-12-13T08:29:10.6402742+00:00","submissionStartedAt":"2019-12-13T08:31:00.7261948+00:00","monitoringStartedAt":"2019-12-13T08:31:43.6002601+00:00","cleanupStartedAt":"2019-12-13T09:12:56.2729689+00:00","currentState":"Ended"},"tags":{},"id":2,"appId":"application_1576225874089_0001","appInfo":{"driverLogUrl":"http://008b79baa75e493ba50798a50e751b9d03116310046:8042/node/containerlogs/container_1576225874089_0001_01_000001/trusted-service-user","sparkUiUrl":"http://008b79baa75e493ba50798a50e751b9d04071d71770:8088/proxy/application_1576225874089_0001/"},"state":"killed","log":["\t + string: '{"from":0,"total":20,"sessions":[{"livyInfo":{"notStartedAt":null,"startingAt":"2019-12-13T08:31:43.5770995+00:00","idleAt":"2019-12-13T08:33:26.3486022+00:00","deadAt":null,"shuttingDownAt":null,"killedAt":null,"recoveringAt":null,"busyAt":"2019-12-13T08:33:43.4783228+00:00","errorAt":null,"currentState":"killed","jobCreationRequest":{"name":"Synapse_testsparkpool_1576225747245","conf":{},"driverMemory":"28g","driverCores":4,"executorMemory":"28g","executorCores":4,"numExecutors":2}},"name":"Synapse_testsparkpool_1576225747245","workspaceName":"testsynapseworkspace","computeName":"testsparkpool","sparkPoolName":"testsparkpool","submitterName":"zhezhou@microsoft.com","submitterId":"8f51e348-1fa6-4194-8d13-8e0368e3298a","artifactId":"Livy","jobType":"SparkSession","result":"Cancelled","schedulerInfo":{"submittedAt":"2019-12-13T08:29:09.2436131+00:00","scheduledAt":"2019-12-13T08:29:10.4002931+00:00","endedAt":"2019-12-13T09:12:57.8277203+00:00","cancellationRequestedAt":"2019-12-13T09:12:56.2729655+00:00","currentState":"Ended"},"pluginInfo":{"preparationStartedAt":"2019-12-13T08:29:10.4143043+00:00","resourceAcquisitionStartedAt":"2019-12-13T08:29:10.6402742+00:00","submissionStartedAt":"2019-12-13T08:31:00.7261948+00:00","monitoringStartedAt":"2019-12-13T08:31:43.6002601+00:00","cleanupStartedAt":"2019-12-13T09:12:56.2729689+00:00","currentState":"Ended"},"tags":{},"id":2,"appId":"application_1576225874089_0001","appInfo":{"driverLogUrl":"http://008b79baa75e493ba50798a50e751b9d03116310046:8042/node/containerlogs/container_1576225874089_0001_01_000001/trusted-service-user","sparkUiUrl":"http://008b79baa75e493ba50798a50e751b9d04071d71770:8088/proxy/application_1576225874089_0001/"},"state":"killed","log":["\t final status: UNDEFINED","\t tracking URL: http://008b79baa75e493ba50798a50e751b9d04071d71770:8088/proxy/application_1576225874089_0001/","\t user: trusted-service-user","19/12/13 08:31:59 INFO ShutdownHookManager: Shutdown hook called","19/12/13 08:31:59 INFO ShutdownHookManager: Deleting directory @@ -155,7 +155,7 @@ interactions: 08:31:59 INFO MetricsSystemImpl: Stopping azure-file-system metrics system...","19/12/13 08:31:59 INFO MetricsSystemImpl: azure-file-system metrics system stopped.","19/12/13 08:31:59 INFO MetricsSystemImpl: azure-file-system metrics system shutdown - complete.","\nYARN Diagnostics: "]},{"livyInfo":{"notStartedAt":null,"startingAt":"2019-12-25T08:09:18.9670567+00:00","idleAt":"2019-12-25T08:09:56.3148292+00:00","deadAt":"2019-12-25T08:40:14.7658052+00:00","shuttingDownAt":"2019-12-25T08:40:14.721545+00:00","killedAt":null,"recoveringAt":null,"busyAt":null,"errorAt":null,"currentState":"dead","jobCreationRequest":{"name":"testsession1","conf":{},"driverMemory":"4g","driverCores":4,"executorMemory":"4g","executorCores":4,"numExecutors":2}},"name":"testsession1","workspaceName":"testsynapseworkspace1234","computeName":"testsparkpool","sparkPoolName":"testsparkpool","submitterName":"zhezhou@microsoft.com","submitterId":"8f51e348-1fa6-4194-8d13-8e0368e3298a","artifactId":"Livy","jobType":"SparkSession","result":"Failed","schedulerInfo":{"submittedAt":"2019-12-25T08:07:25.6229908+00:00","scheduledAt":"2019-12-25T08:07:26.0849816+00:00","endedAt":"2019-12-25T08:40:15.5381693+00:00","cancellationRequestedAt":null,"currentState":"Ended"},"pluginInfo":{"preparationStartedAt":"2019-12-25T08:07:26.0987488+00:00","resourceAcquisitionStartedAt":"2019-12-25T08:07:26.4220811+00:00","submissionStartedAt":"2019-12-25T08:09:17.7853685+00:00","monitoringStartedAt":"2019-12-25T08:09:18.9833925+00:00","cleanupStartedAt":"2019-12-25T08:40:14.782367+00:00","currentState":"Ended"},"errorInfo":[{"message":"[plugins.testsynapseworkspace1234.testsparkpool.6] + complete.","\nYARN Diagnostics: "]},{"livyInfo":{"notStartedAt":null,"startingAt":"2019-12-25T08:09:18.9670567+00:00","idleAt":"2019-12-25T08:09:56.3148292+00:00","deadAt":"2019-12-25T08:40:14.7658052+00:00","shuttingDownAt":"2019-12-25T08:40:14.721545+00:00","killedAt":null,"recoveringAt":null,"busyAt":null,"errorAt":null,"currentState":"dead","jobCreationRequest":{"name":"testsession1","conf":{},"driverMemory":"4g","driverCores":4,"executorMemory":"4g","executorCores":4,"numExecutors":2}},"name":"testsession1","workspaceName":"testsynapseworkspace","computeName":"testsparkpool","sparkPoolName":"testsparkpool","submitterName":"zhezhou@microsoft.com","submitterId":"8f51e348-1fa6-4194-8d13-8e0368e3298a","artifactId":"Livy","jobType":"SparkSession","result":"Failed","schedulerInfo":{"submittedAt":"2019-12-25T08:07:25.6229908+00:00","scheduledAt":"2019-12-25T08:07:26.0849816+00:00","endedAt":"2019-12-25T08:40:15.5381693+00:00","cancellationRequestedAt":null,"currentState":"Ended"},"pluginInfo":{"preparationStartedAt":"2019-12-25T08:07:26.0987488+00:00","resourceAcquisitionStartedAt":"2019-12-25T08:07:26.4220811+00:00","submissionStartedAt":"2019-12-25T08:09:17.7853685+00:00","monitoringStartedAt":"2019-12-25T08:09:18.9833925+00:00","cleanupStartedAt":"2019-12-25T08:40:14.782367+00:00","currentState":"Ended"},"errorInfo":[{"message":"[plugins.testsynapseworkspace.testsparkpool.6] [Monitoring] Livy Endpoint=[http://171.4.176.47:8998/]. Livy Id=[0] Job failed during run time with state=[dead].","errorCode":"LIVY_JOB_FAILED","source":"Dependency"}],"tags":{},"id":6,"appId":"application_1577261347028_0001","appInfo":{"driverLogUrl":"http://0756e27931b1442da8fded6fb5a384ad039fdf58075:8042/node/containerlogs/container_1577261347028_0001_01_000001/trusted-service-user","sparkUiUrl":"http://0756e27931b1442da8fded6fb5a384ad022bdb15619:8088/proxy/application_1577261347028_0001/"},"state":"dead","log":["\t final status: UNDEFINED","\t tracking URL: http://0756e27931b1442da8fded6fb5a384ad022bdb15619:8088/proxy/application_1577261347028_0001/","\t @@ -166,7 +166,7 @@ interactions: 08:09:25 INFO MetricsSystemImpl: Stopping azure-file-system metrics system...","19/12/25 08:09:25 INFO MetricsSystemImpl: azure-file-system metrics system stopped.","19/12/25 08:09:25 INFO MetricsSystemImpl: azure-file-system metrics system shutdown - complete.","\nYARN Diagnostics: "]},{"livyInfo":{"notStartedAt":null,"startingAt":"2019-12-25T08:16:43.6481846+00:00","idleAt":"2019-12-25T08:17:16.9900454+00:00","deadAt":null,"shuttingDownAt":null,"killedAt":null,"recoveringAt":null,"busyAt":"2019-12-25T08:17:22.0747764+00:00","errorAt":null,"currentState":"killed","jobCreationRequest":{"name":"Synapse_testsparkpool_1577261797747","conf":{},"driverMemory":"28g","driverCores":4,"executorMemory":"28g","executorCores":4,"numExecutors":2}},"name":"Synapse_testsparkpool_1577261797747","workspaceName":"testsynapseworkspace1234","computeName":"testsparkpool","sparkPoolName":"testsparkpool","submitterName":"zhezhou@microsoft.com","submitterId":"8f51e348-1fa6-4194-8d13-8e0368e3298a","artifactId":"Livy","jobType":"SparkSession","result":"Cancelled","schedulerInfo":{"submittedAt":"2019-12-25T08:16:39.6456234+00:00","scheduledAt":"2019-12-25T08:16:40.8153578+00:00","endedAt":"2019-12-25T08:49:30.8083094+00:00","cancellationRequestedAt":"2019-12-25T08:49:29.403481+00:00","currentState":"Ended"},"pluginInfo":{"preparationStartedAt":"2019-12-25T08:16:40.8648594+00:00","resourceAcquisitionStartedAt":"2019-12-25T08:16:41.1247595+00:00","submissionStartedAt":"2019-12-25T08:16:43.5622353+00:00","monitoringStartedAt":"2019-12-25T08:16:43.6958208+00:00","cleanupStartedAt":"2019-12-25T08:49:29.4034849+00:00","currentState":"Ended"},"tags":{},"id":7,"appId":"application_1577261347028_0002","appInfo":{"driverLogUrl":"http://0756e27931b1442da8fded6fb5a384ad00453758611:8042/node/containerlogs/container_1577261347028_0002_01_000001/trusted-service-user","sparkUiUrl":"http://0756e27931b1442da8fded6fb5a384ad022bdb15619:8088/proxy/application_1577261347028_0002/"},"state":"killed","log":["\t + complete.","\nYARN Diagnostics: "]},{"livyInfo":{"notStartedAt":null,"startingAt":"2019-12-25T08:16:43.6481846+00:00","idleAt":"2019-12-25T08:17:16.9900454+00:00","deadAt":null,"shuttingDownAt":null,"killedAt":null,"recoveringAt":null,"busyAt":"2019-12-25T08:17:22.0747764+00:00","errorAt":null,"currentState":"killed","jobCreationRequest":{"name":"Synapse_testsparkpool_1577261797747","conf":{},"driverMemory":"28g","driverCores":4,"executorMemory":"28g","executorCores":4,"numExecutors":2}},"name":"Synapse_testsparkpool_1577261797747","workspaceName":"testsynapseworkspace","computeName":"testsparkpool","sparkPoolName":"testsparkpool","submitterName":"zhezhou@microsoft.com","submitterId":"8f51e348-1fa6-4194-8d13-8e0368e3298a","artifactId":"Livy","jobType":"SparkSession","result":"Cancelled","schedulerInfo":{"submittedAt":"2019-12-25T08:16:39.6456234+00:00","scheduledAt":"2019-12-25T08:16:40.8153578+00:00","endedAt":"2019-12-25T08:49:30.8083094+00:00","cancellationRequestedAt":"2019-12-25T08:49:29.403481+00:00","currentState":"Ended"},"pluginInfo":{"preparationStartedAt":"2019-12-25T08:16:40.8648594+00:00","resourceAcquisitionStartedAt":"2019-12-25T08:16:41.1247595+00:00","submissionStartedAt":"2019-12-25T08:16:43.5622353+00:00","monitoringStartedAt":"2019-12-25T08:16:43.6958208+00:00","cleanupStartedAt":"2019-12-25T08:49:29.4034849+00:00","currentState":"Ended"},"tags":{},"id":7,"appId":"application_1577261347028_0002","appInfo":{"driverLogUrl":"http://0756e27931b1442da8fded6fb5a384ad00453758611:8042/node/containerlogs/container_1577261347028_0002_01_000001/trusted-service-user","sparkUiUrl":"http://0756e27931b1442da8fded6fb5a384ad022bdb15619:8088/proxy/application_1577261347028_0002/"},"state":"killed","log":["\t final status: UNDEFINED","\t tracking URL: http://0756e27931b1442da8fded6fb5a384ad022bdb15619:8088/proxy/application_1577261347028_0002/","\t user: trusted-service-user","19/12/25 08:16:47 INFO ShutdownHookManager: Shutdown hook called","19/12/25 08:16:47 INFO ShutdownHookManager: Deleting directory @@ -175,8 +175,8 @@ interactions: 08:16:47 INFO MetricsSystemImpl: Stopping azure-file-system metrics system...","19/12/25 08:16:47 INFO MetricsSystemImpl: azure-file-system metrics system stopped.","19/12/25 08:16:47 INFO MetricsSystemImpl: azure-file-system metrics system shutdown - complete.","\nYARN Diagnostics: "]},{"livyInfo":{"notStartedAt":null,"startingAt":"2019-12-25T08:29:45.0291761+00:00","idleAt":"2019-12-25T08:30:19.2684447+00:00","deadAt":null,"shuttingDownAt":null,"killedAt":null,"recoveringAt":null,"busyAt":null,"errorAt":null,"currentState":"error","jobCreationRequest":{"name":"testsession2","conf":{},"driverMemory":"4g","driverCores":4,"executorMemory":"4g","executorCores":4,"numExecutors":2}},"name":"testsession2","workspaceName":"testsynapseworkspace1234","computeName":"testsparkpool","sparkPoolName":"testsparkpool","submitterName":"zhezhou@microsoft.com","submitterId":"8f51e348-1fa6-4194-8d13-8e0368e3298a","artifactId":"Livy","jobType":"SparkSession","result":"Failed","schedulerInfo":{"submittedAt":"2019-12-25T08:29:41.018165+00:00","scheduledAt":"2019-12-25T08:29:42.1131557+00:00","endedAt":"2019-12-25T09:09:15.0121197+00:00","cancellationRequestedAt":null,"currentState":"Ended"},"pluginInfo":{"preparationStartedAt":"2019-12-25T08:29:42.1265139+00:00","resourceAcquisitionStartedAt":"2019-12-25T08:29:42.3552757+00:00","submissionStartedAt":"2019-12-25T08:29:44.9373709+00:00","monitoringStartedAt":"2019-12-25T08:29:45.0445645+00:00","cleanupStartedAt":"2019-12-25T09:09:14.9925617+00:00","currentState":"Ended"},"errorInfo":[{"message":"Submission - failed due to error content =[\"Session ''2'' not found.\"]","errorCode":"LIVY_STATUS_CODE_NotFound","source":"User"},{"message":"[plugins.testsynapseworkspace1234.testsparkpool.8]. + complete.","\nYARN Diagnostics: "]},{"livyInfo":{"notStartedAt":null,"startingAt":"2019-12-25T08:29:45.0291761+00:00","idleAt":"2019-12-25T08:30:19.2684447+00:00","deadAt":null,"shuttingDownAt":null,"killedAt":null,"recoveringAt":null,"busyAt":null,"errorAt":null,"currentState":"error","jobCreationRequest":{"name":"testsession2","conf":{},"driverMemory":"4g","driverCores":4,"executorMemory":"4g","executorCores":4,"numExecutors":2}},"name":"testsession2","workspaceName":"testsynapseworkspace","computeName":"testsparkpool","sparkPoolName":"testsparkpool","submitterName":"zhezhou@microsoft.com","submitterId":"8f51e348-1fa6-4194-8d13-8e0368e3298a","artifactId":"Livy","jobType":"SparkSession","result":"Failed","schedulerInfo":{"submittedAt":"2019-12-25T08:29:41.018165+00:00","scheduledAt":"2019-12-25T08:29:42.1131557+00:00","endedAt":"2019-12-25T09:09:15.0121197+00:00","cancellationRequestedAt":null,"currentState":"Ended"},"pluginInfo":{"preparationStartedAt":"2019-12-25T08:29:42.1265139+00:00","resourceAcquisitionStartedAt":"2019-12-25T08:29:42.3552757+00:00","submissionStartedAt":"2019-12-25T08:29:44.9373709+00:00","monitoringStartedAt":"2019-12-25T08:29:45.0445645+00:00","cleanupStartedAt":"2019-12-25T09:09:14.9925617+00:00","currentState":"Ended"},"errorInfo":[{"message":"Submission + failed due to error content =[\"Session ''2'' not found.\"]","errorCode":"LIVY_STATUS_CODE_NotFound","source":"User"},{"message":"[plugins.testsynapseworkspace.testsparkpool.8]. [Cleanup] -> [Ended] JobResult=[Failed] LivyJobState=[idle]. Unable to kill livy job.","errorCode":"EXCEPTION_DURING_SPARK_JOB_CLEANUP","source":"Dependency"}],"tags":{},"id":8,"appId":"application_1577261347028_0003","appInfo":{"driverLogUrl":"http://0756e27931b1442da8fded6fb5a384ad032f0488094:8042/node/containerlogs/container_1577261347028_0003_01_000001/trusted-service-user","sparkUiUrl":"http://0756e27931b1442da8fded6fb5a384ad022bdb15619:8088/proxy/application_1577261347028_0003/"},"state":"error","log":["\t final status: UNDEFINED","\t tracking URL: http://0756e27931b1442da8fded6fb5a384ad022bdb15619:8088/proxy/application_1577261347028_0003/","\t @@ -187,7 +187,7 @@ interactions: 08:29:49 INFO MetricsSystemImpl: Stopping azure-file-system metrics system...","19/12/25 08:29:49 INFO MetricsSystemImpl: azure-file-system metrics system stopped.","19/12/25 08:29:49 INFO MetricsSystemImpl: azure-file-system metrics system shutdown - complete.","\nYARN Diagnostics: "]},{"livyInfo":{"notStartedAt":null,"startingAt":"2019-12-25T09:11:35.1175228+00:00","idleAt":"2019-12-25T09:12:12.4344439+00:00","deadAt":null,"shuttingDownAt":null,"killedAt":null,"recoveringAt":null,"busyAt":"2019-12-25T09:12:17.5316964+00:00","errorAt":null,"currentState":"killed","jobCreationRequest":{"name":"Synapse_testsparkpool_1577265088910","conf":{},"driverMemory":"28g","driverCores":4,"executorMemory":"28g","executorCores":4,"numExecutors":2}},"name":"Synapse_testsparkpool_1577265088910","workspaceName":"testsynapseworkspace1234","computeName":"testsparkpool","sparkPoolName":"testsparkpool","submitterName":"zhezhou@microsoft.com","submitterId":"8f51e348-1fa6-4194-8d13-8e0368e3298a","artifactId":"Livy","jobType":"SparkSession","result":"Cancelled","schedulerInfo":{"submittedAt":"2019-12-25T09:11:30.7148268+00:00","scheduledAt":"2019-12-25T09:11:31.8054677+00:00","endedAt":"2019-12-25T10:05:23.9430388+00:00","cancellationRequestedAt":"2019-12-25T10:05:22.3928176+00:00","currentState":"Ended"},"pluginInfo":{"preparationStartedAt":"2019-12-25T09:11:31.8181382+00:00","resourceAcquisitionStartedAt":"2019-12-25T09:11:32.3420557+00:00","submissionStartedAt":"2019-12-25T09:11:35.032948+00:00","monitoringStartedAt":"2019-12-25T09:11:35.1329369+00:00","cleanupStartedAt":"2019-12-25T10:05:22.392821+00:00","currentState":"Ended"},"tags":{},"id":9,"appId":"application_1577261347028_0004","appInfo":{"driverLogUrl":"http://0756e27931b1442da8fded6fb5a384ad017a7497707:8042/node/containerlogs/container_1577261347028_0004_01_000001/trusted-service-user","sparkUiUrl":"http://0756e27931b1442da8fded6fb5a384ad022bdb15619:8088/proxy/application_1577261347028_0004/"},"state":"killed","log":["\t + complete.","\nYARN Diagnostics: "]},{"livyInfo":{"notStartedAt":null,"startingAt":"2019-12-25T09:11:35.1175228+00:00","idleAt":"2019-12-25T09:12:12.4344439+00:00","deadAt":null,"shuttingDownAt":null,"killedAt":null,"recoveringAt":null,"busyAt":"2019-12-25T09:12:17.5316964+00:00","errorAt":null,"currentState":"killed","jobCreationRequest":{"name":"Synapse_testsparkpool_1577265088910","conf":{},"driverMemory":"28g","driverCores":4,"executorMemory":"28g","executorCores":4,"numExecutors":2}},"name":"Synapse_testsparkpool_1577265088910","workspaceName":"testsynapseworkspace","computeName":"testsparkpool","sparkPoolName":"testsparkpool","submitterName":"zhezhou@microsoft.com","submitterId":"8f51e348-1fa6-4194-8d13-8e0368e3298a","artifactId":"Livy","jobType":"SparkSession","result":"Cancelled","schedulerInfo":{"submittedAt":"2019-12-25T09:11:30.7148268+00:00","scheduledAt":"2019-12-25T09:11:31.8054677+00:00","endedAt":"2019-12-25T10:05:23.9430388+00:00","cancellationRequestedAt":"2019-12-25T10:05:22.3928176+00:00","currentState":"Ended"},"pluginInfo":{"preparationStartedAt":"2019-12-25T09:11:31.8181382+00:00","resourceAcquisitionStartedAt":"2019-12-25T09:11:32.3420557+00:00","submissionStartedAt":"2019-12-25T09:11:35.032948+00:00","monitoringStartedAt":"2019-12-25T09:11:35.1329369+00:00","cleanupStartedAt":"2019-12-25T10:05:22.392821+00:00","currentState":"Ended"},"tags":{},"id":9,"appId":"application_1577261347028_0004","appInfo":{"driverLogUrl":"http://0756e27931b1442da8fded6fb5a384ad017a7497707:8042/node/containerlogs/container_1577261347028_0004_01_000001/trusted-service-user","sparkUiUrl":"http://0756e27931b1442da8fded6fb5a384ad022bdb15619:8088/proxy/application_1577261347028_0004/"},"state":"killed","log":["\t final status: UNDEFINED","\t tracking URL: http://0756e27931b1442da8fded6fb5a384ad022bdb15619:8088/proxy/application_1577261347028_0004/","\t user: trusted-service-user","19/12/25 09:11:39 INFO ShutdownHookManager: Shutdown hook called","19/12/25 09:11:39 INFO ShutdownHookManager: Deleting directory @@ -196,8 +196,8 @@ interactions: 09:11:39 INFO MetricsSystemImpl: Stopping azure-file-system metrics system...","19/12/25 09:11:39 INFO MetricsSystemImpl: azure-file-system metrics system stopped.","19/12/25 09:11:39 INFO MetricsSystemImpl: azure-file-system metrics system shutdown - complete.","\nYARN Diagnostics: "]},{"livyInfo":{"notStartedAt":null,"startingAt":"2019-12-25T10:06:22.8763612+00:00","idleAt":"2019-12-25T10:06:48.1805816+00:00","deadAt":null,"shuttingDownAt":null,"killedAt":null,"recoveringAt":null,"busyAt":null,"errorAt":null,"currentState":"error","jobCreationRequest":{"name":"Synapse_testsparkpool_1577268374812","conf":{},"driverMemory":"28g","driverCores":4,"executorMemory":"28g","executorCores":4,"numExecutors":2}},"name":"Synapse_testsparkpool_1577268374812","workspaceName":"testsynapseworkspace1234","computeName":"testsparkpool","sparkPoolName":"testsparkpool","submitterName":"zhezhou@microsoft.com","submitterId":"8f51e348-1fa6-4194-8d13-8e0368e3298a","artifactId":"Livy","jobType":"SparkSession","result":"Failed","schedulerInfo":{"submittedAt":"2019-12-25T10:06:18.9725189+00:00","scheduledAt":"2019-12-25T10:06:20.0830938+00:00","endedAt":"2019-12-25T10:37:15.5820709+00:00","cancellationRequestedAt":null,"currentState":"Ended"},"pluginInfo":{"preparationStartedAt":"2019-12-25T10:06:20.0956556+00:00","resourceAcquisitionStartedAt":"2019-12-25T10:06:20.384205+00:00","submissionStartedAt":"2019-12-25T10:06:22.7652888+00:00","monitoringStartedAt":"2019-12-25T10:06:22.8902869+00:00","cleanupStartedAt":"2019-12-25T10:37:15.5643434+00:00","currentState":"Ended"},"errorInfo":[{"message":"Submission - failed due to error content =[\"Session ''4'' not found.\"]","errorCode":"LIVY_STATUS_CODE_NotFound","source":"User"},{"message":"[plugins.testsynapseworkspace1234.testsparkpool.10]. + complete.","\nYARN Diagnostics: "]},{"livyInfo":{"notStartedAt":null,"startingAt":"2019-12-25T10:06:22.8763612+00:00","idleAt":"2019-12-25T10:06:48.1805816+00:00","deadAt":null,"shuttingDownAt":null,"killedAt":null,"recoveringAt":null,"busyAt":null,"errorAt":null,"currentState":"error","jobCreationRequest":{"name":"Synapse_testsparkpool_1577268374812","conf":{},"driverMemory":"28g","driverCores":4,"executorMemory":"28g","executorCores":4,"numExecutors":2}},"name":"Synapse_testsparkpool_1577268374812","workspaceName":"testsynapseworkspace","computeName":"testsparkpool","sparkPoolName":"testsparkpool","submitterName":"zhezhou@microsoft.com","submitterId":"8f51e348-1fa6-4194-8d13-8e0368e3298a","artifactId":"Livy","jobType":"SparkSession","result":"Failed","schedulerInfo":{"submittedAt":"2019-12-25T10:06:18.9725189+00:00","scheduledAt":"2019-12-25T10:06:20.0830938+00:00","endedAt":"2019-12-25T10:37:15.5820709+00:00","cancellationRequestedAt":null,"currentState":"Ended"},"pluginInfo":{"preparationStartedAt":"2019-12-25T10:06:20.0956556+00:00","resourceAcquisitionStartedAt":"2019-12-25T10:06:20.384205+00:00","submissionStartedAt":"2019-12-25T10:06:22.7652888+00:00","monitoringStartedAt":"2019-12-25T10:06:22.8902869+00:00","cleanupStartedAt":"2019-12-25T10:37:15.5643434+00:00","currentState":"Ended"},"errorInfo":[{"message":"Submission + failed due to error content =[\"Session ''4'' not found.\"]","errorCode":"LIVY_STATUS_CODE_NotFound","source":"User"},{"message":"[plugins.testsynapseworkspace.testsparkpool.10]. [Cleanup] -> [Ended] JobResult=[Failed] LivyJobState=[idle]. Unable to kill livy job.","errorCode":"EXCEPTION_DURING_SPARK_JOB_CLEANUP","source":"Dependency"}],"tags":{},"id":10,"appId":"application_1577261347028_0005","appInfo":{"driverLogUrl":"http://0756e27931b1442da8fded6fb5a384ad017a7497707:8042/node/containerlogs/container_1577261347028_0005_01_000001/trusted-service-user","sparkUiUrl":"http://0756e27931b1442da8fded6fb5a384ad022bdb15619:8088/proxy/application_1577261347028_0005/"},"state":"error","log":["\t final status: UNDEFINED","\t tracking URL: http://0756e27931b1442da8fded6fb5a384ad022bdb15619:8088/proxy/application_1577261347028_0005/","\t @@ -208,8 +208,8 @@ interactions: 10:06:27 INFO MetricsSystemImpl: Stopping azure-file-system metrics system...","19/12/25 10:06:27 INFO MetricsSystemImpl: azure-file-system metrics system stopped.","19/12/25 10:06:27 INFO MetricsSystemImpl: azure-file-system metrics system shutdown - complete.","\nYARN Diagnostics: "]},{"livyInfo":{"notStartedAt":null,"startingAt":"2019-12-25T10:07:01.2766304+00:00","idleAt":"2019-12-25T10:07:36.6821106+00:00","deadAt":null,"shuttingDownAt":"2019-12-25T11:10:14.9923607+00:00","killedAt":null,"recoveringAt":null,"busyAt":"2019-12-25T10:07:40.7440414+00:00","errorAt":null,"currentState":"error","jobCreationRequest":{"name":"Synapse_testsparkpool_1577268415433","conf":{},"driverMemory":"28g","driverCores":4,"executorMemory":"28g","executorCores":4,"numExecutors":1}},"name":"Synapse_testsparkpool_1577268415433","workspaceName":"testsynapseworkspace1234","computeName":"testsparkpool","sparkPoolName":"testsparkpool","submitterName":"zhezhou@microsoft.com","submitterId":"8f51e348-1fa6-4194-8d13-8e0368e3298a","artifactId":"Livy","jobType":"SparkSession","result":"Failed","schedulerInfo":{"submittedAt":"2019-12-25T10:06:57.2093124+00:00","scheduledAt":"2019-12-25T10:06:58.2710909+00:00","endedAt":"2019-12-25T11:10:19.1668193+00:00","cancellationRequestedAt":null,"currentState":"Ended"},"pluginInfo":{"preparationStartedAt":"2019-12-25T10:06:58.2841284+00:00","resourceAcquisitionStartedAt":"2019-12-25T10:06:58.4424254+00:00","submissionStartedAt":"2019-12-25T10:07:01.1962163+00:00","monitoringStartedAt":"2019-12-25T10:07:01.2907107+00:00","cleanupStartedAt":"2019-12-25T11:10:19.1477697+00:00","currentState":"Ended"},"errorInfo":[{"message":"Submission - failed due to error content =[\"Session ''5'' not found.\"]","errorCode":"LIVY_STATUS_CODE_NotFound","source":"User"},{"message":"[plugins.testsynapseworkspace1234.testsparkpool.11]. + complete.","\nYARN Diagnostics: "]},{"livyInfo":{"notStartedAt":null,"startingAt":"2019-12-25T10:07:01.2766304+00:00","idleAt":"2019-12-25T10:07:36.6821106+00:00","deadAt":null,"shuttingDownAt":"2019-12-25T11:10:14.9923607+00:00","killedAt":null,"recoveringAt":null,"busyAt":"2019-12-25T10:07:40.7440414+00:00","errorAt":null,"currentState":"error","jobCreationRequest":{"name":"Synapse_testsparkpool_1577268415433","conf":{},"driverMemory":"28g","driverCores":4,"executorMemory":"28g","executorCores":4,"numExecutors":1}},"name":"Synapse_testsparkpool_1577268415433","workspaceName":"testsynapseworkspace","computeName":"testsparkpool","sparkPoolName":"testsparkpool","submitterName":"zhezhou@microsoft.com","submitterId":"8f51e348-1fa6-4194-8d13-8e0368e3298a","artifactId":"Livy","jobType":"SparkSession","result":"Failed","schedulerInfo":{"submittedAt":"2019-12-25T10:06:57.2093124+00:00","scheduledAt":"2019-12-25T10:06:58.2710909+00:00","endedAt":"2019-12-25T11:10:19.1668193+00:00","cancellationRequestedAt":null,"currentState":"Ended"},"pluginInfo":{"preparationStartedAt":"2019-12-25T10:06:58.2841284+00:00","resourceAcquisitionStartedAt":"2019-12-25T10:06:58.4424254+00:00","submissionStartedAt":"2019-12-25T10:07:01.1962163+00:00","monitoringStartedAt":"2019-12-25T10:07:01.2907107+00:00","cleanupStartedAt":"2019-12-25T11:10:19.1477697+00:00","currentState":"Ended"},"errorInfo":[{"message":"Submission + failed due to error content =[\"Session ''5'' not found.\"]","errorCode":"LIVY_STATUS_CODE_NotFound","source":"User"},{"message":"[plugins.testsynapseworkspace.testsparkpool.11]. [Cleanup] -> [Ended] JobResult=[Failed] LivyJobState=[shutting_down]. Unable to kill livy job.","errorCode":"EXCEPTION_DURING_SPARK_JOB_CLEANUP","source":"Dependency"}],"tags":{},"id":11,"appId":"application_1577261347028_0006","appInfo":{"driverLogUrl":"http://0756e27931b1442da8fded6fb5a384ad0358bf44418:8042/node/containerlogs/container_1577261347028_0006_01_000001/trusted-service-user","sparkUiUrl":"http://0756e27931b1442da8fded6fb5a384ad022bdb15619:8088/proxy/application_1577261347028_0006/"},"state":"error","log":["\t final status: UNDEFINED","\t tracking URL: http://0756e27931b1442da8fded6fb5a384ad022bdb15619:8088/proxy/application_1577261347028_0006/","\t @@ -220,8 +220,8 @@ interactions: 10:07:05 INFO MetricsSystemImpl: Stopping azure-file-system metrics system...","19/12/25 10:07:05 INFO MetricsSystemImpl: azure-file-system metrics system stopped.","19/12/25 10:07:05 INFO MetricsSystemImpl: azure-file-system metrics system shutdown - complete.","\nYARN Diagnostics: "]},{"livyInfo":{"notStartedAt":null,"startingAt":"2020-02-19T03:54:33.1085427+00:00","idleAt":"2020-02-19T03:55:09.4485483+00:00","deadAt":null,"shuttingDownAt":"2020-02-19T04:20:51.1051073+00:00","killedAt":null,"recoveringAt":null,"busyAt":null,"errorAt":null,"currentState":"error","jobCreationRequest":{"name":"testsession_2_19_1","conf":{},"driverMemory":"4g","driverCores":4,"executorMemory":"4g","executorCores":4,"numExecutors":2}},"name":"testsession_2_19_1","workspaceName":"testsynapseworkspace1234","computeName":"testsparkpool","sparkPoolName":"testsparkpool","submitterName":"zhezhou@microsoft.com","submitterId":"8f51e348-1fa6-4194-8d13-8e0368e3298a","artifactId":"Livy","jobType":"SparkSession","result":"Failed","schedulerInfo":{"submittedAt":"2020-02-19T03:54:27.7312747+00:00","scheduledAt":"2020-02-19T03:54:29.1946448+00:00","endedAt":"2020-02-19T04:20:51.4364079+00:00","cancellationRequestedAt":null,"currentState":"Ended"},"pluginInfo":{"preparationStartedAt":"2020-02-19T03:54:29.2069805+00:00","resourceAcquisitionStartedAt":"2020-02-19T03:54:29.5411406+00:00","submissionStartedAt":"2020-02-19T03:54:32.662098+00:00","monitoringStartedAt":"2020-02-19T03:54:33.1229193+00:00","cleanupStartedAt":"2020-02-19T04:20:51.4169558+00:00","currentState":"Ended"},"errorInfo":[{"message":"Submission - failed due to error content =[\"Session ''0'' not found.\"]","errorCode":"LIVY_STATUS_CODE_NotFound","source":"User"},{"message":"[plugins.testsynapseworkspace1234.testsparkpool.34]. + complete.","\nYARN Diagnostics: "]},{"livyInfo":{"notStartedAt":null,"startingAt":"2020-02-19T03:54:33.1085427+00:00","idleAt":"2020-02-19T03:55:09.4485483+00:00","deadAt":null,"shuttingDownAt":"2020-02-19T04:20:51.1051073+00:00","killedAt":null,"recoveringAt":null,"busyAt":null,"errorAt":null,"currentState":"error","jobCreationRequest":{"name":"testsession_2_19_1","conf":{},"driverMemory":"4g","driverCores":4,"executorMemory":"4g","executorCores":4,"numExecutors":2}},"name":"testsession_2_19_1","workspaceName":"testsynapseworkspace","computeName":"testsparkpool","sparkPoolName":"testsparkpool","submitterName":"zhezhou@microsoft.com","submitterId":"8f51e348-1fa6-4194-8d13-8e0368e3298a","artifactId":"Livy","jobType":"SparkSession","result":"Failed","schedulerInfo":{"submittedAt":"2020-02-19T03:54:27.7312747+00:00","scheduledAt":"2020-02-19T03:54:29.1946448+00:00","endedAt":"2020-02-19T04:20:51.4364079+00:00","cancellationRequestedAt":null,"currentState":"Ended"},"pluginInfo":{"preparationStartedAt":"2020-02-19T03:54:29.2069805+00:00","resourceAcquisitionStartedAt":"2020-02-19T03:54:29.5411406+00:00","submissionStartedAt":"2020-02-19T03:54:32.662098+00:00","monitoringStartedAt":"2020-02-19T03:54:33.1229193+00:00","cleanupStartedAt":"2020-02-19T04:20:51.4169558+00:00","currentState":"Ended"},"errorInfo":[{"message":"Submission + failed due to error content =[\"Session ''0'' not found.\"]","errorCode":"LIVY_STATUS_CODE_NotFound","source":"User"},{"message":"[plugins.testsynapseworkspace.testsparkpool.34]. [Cleanup] -> [Ended] JobResult=[Failed] LivyJobState=[shutting_down]. Unable to kill livy job.","errorCode":"EXCEPTION_DURING_SPARK_JOB_CLEANUP","source":"Dependency"}],"tags":{},"id":34,"appId":"application_1582083768945_0003","appInfo":{"driverLogUrl":"http://3024a670da1f4cc38f1f3560864f4d8604113d45195:8042/node/containerlogs/container_1582083768945_0003_01_000001/trusted-service-user","sparkUiUrl":"http://3024a670da1f4cc38f1f3560864f4d8601071373522:8088/proxy/application_1582083768945_0003/"},"state":"error","log":["\t final status: UNDEFINED","\t tracking URL: http://3024a670da1f4cc38f1f3560864f4d8601071373522:8088/proxy/application_1582083768945_0003/","\t @@ -232,8 +232,8 @@ interactions: 03:54:36 INFO MetricsSystemImpl: Stopping azure-file-system metrics system...","20/02/19 03:54:36 INFO MetricsSystemImpl: azure-file-system metrics system stopped.","20/02/19 03:54:36 INFO MetricsSystemImpl: azure-file-system metrics system shutdown - complete.","\nYARN Diagnostics: "]},{"livyInfo":{"notStartedAt":null,"startingAt":"2020-02-26T12:49:11.291034+00:00","idleAt":"2020-02-26T12:49:44.6581545+00:00","deadAt":null,"shuttingDownAt":"2020-02-26T13:00:08.82301+00:00","killedAt":null,"recoveringAt":null,"busyAt":null,"errorAt":null,"currentState":"error","jobCreationRequest":{"name":"session_job","conf":{},"driverMemory":"4g","driverCores":4,"executorMemory":"4g","executorCores":4,"numExecutors":2}},"name":"session_job","workspaceName":"testsynapseworkspace1234","computeName":"testsparkpool","sparkPoolName":"testsparkpool","submitterName":"zhezhou@microsoft.com","submitterId":"8f51e348-1fa6-4194-8d13-8e0368e3298a","artifactId":"Livy","jobType":"SparkSession","result":"Failed","schedulerInfo":{"submittedAt":"2020-02-26T12:47:31.2811622+00:00","scheduledAt":"2020-02-26T12:47:32.3544819+00:00","endedAt":"2020-02-26T13:00:10.0668942+00:00","cancellationRequestedAt":null,"currentState":"Ended"},"pluginInfo":{"preparationStartedAt":"2020-02-26T12:47:32.3677451+00:00","resourceAcquisitionStartedAt":"2020-02-26T12:47:32.6621041+00:00","submissionStartedAt":"2020-02-26T12:49:04.1818237+00:00","monitoringStartedAt":"2020-02-26T12:49:11.3061938+00:00","cleanupStartedAt":"2020-02-26T13:00:10.0166866+00:00","currentState":"Ended"},"errorInfo":[{"message":"Submission - failed due to error content =[\"Session ''0'' not found.\"]","errorCode":"LIVY_STATUS_CODE_NotFound","source":"User"},{"message":"[plugins.testsynapseworkspace1234.testsparkpool.43]. + complete.","\nYARN Diagnostics: "]},{"livyInfo":{"notStartedAt":null,"startingAt":"2020-02-26T12:49:11.291034+00:00","idleAt":"2020-02-26T12:49:44.6581545+00:00","deadAt":null,"shuttingDownAt":"2020-02-26T13:00:08.82301+00:00","killedAt":null,"recoveringAt":null,"busyAt":null,"errorAt":null,"currentState":"error","jobCreationRequest":{"name":"session_job","conf":{},"driverMemory":"4g","driverCores":4,"executorMemory":"4g","executorCores":4,"numExecutors":2}},"name":"session_job","workspaceName":"testsynapseworkspace","computeName":"testsparkpool","sparkPoolName":"testsparkpool","submitterName":"zhezhou@microsoft.com","submitterId":"8f51e348-1fa6-4194-8d13-8e0368e3298a","artifactId":"Livy","jobType":"SparkSession","result":"Failed","schedulerInfo":{"submittedAt":"2020-02-26T12:47:31.2811622+00:00","scheduledAt":"2020-02-26T12:47:32.3544819+00:00","endedAt":"2020-02-26T13:00:10.0668942+00:00","cancellationRequestedAt":null,"currentState":"Ended"},"pluginInfo":{"preparationStartedAt":"2020-02-26T12:47:32.3677451+00:00","resourceAcquisitionStartedAt":"2020-02-26T12:47:32.6621041+00:00","submissionStartedAt":"2020-02-26T12:49:04.1818237+00:00","monitoringStartedAt":"2020-02-26T12:49:11.3061938+00:00","cleanupStartedAt":"2020-02-26T13:00:10.0166866+00:00","currentState":"Ended"},"errorInfo":[{"message":"Submission + failed due to error content =[\"Session ''0'' not found.\"]","errorCode":"LIVY_STATUS_CODE_NotFound","source":"User"},{"message":"[plugins.testsynapseworkspace.testsparkpool.43]. [Cleanup] -> [Ended] JobResult=[Failed] LivyJobState=[shutting_down]. Unable to kill livy job.","errorCode":"EXCEPTION_DURING_SPARK_JOB_CLEANUP","source":"Dependency"}],"tags":{},"id":43,"appId":"application_1582721346528_0001","appInfo":{"driverLogUrl":"http://e32f1ba891454e2c8934108fad734b37004bf001189:8042/node/containerlogs/container_1582721346528_0001_01_000001/trusted-service-user","sparkUiUrl":"http://e32f1ba891454e2c8934108fad734b37001df758198:8088/proxy/application_1582721346528_0001/"},"state":"error","log":["\t final status: UNDEFINED","\t tracking URL: http://e32f1ba891454e2c8934108fad734b37001df758198:8088/proxy/application_1582721346528_0001/","\t @@ -244,8 +244,8 @@ interactions: 12:49:18 INFO MetricsSystemImpl: Stopping azure-file-system metrics system...","20/02/26 12:49:18 INFO MetricsSystemImpl: azure-file-system metrics system stopped.","20/02/26 12:49:18 INFO MetricsSystemImpl: azure-file-system metrics system shutdown - complete.","\nYARN Diagnostics: "]},{"livyInfo":{"notStartedAt":null,"startingAt":"2020-02-26T13:00:46.9296381+00:00","idleAt":"2020-02-26T13:01:07.0973705+00:00","deadAt":null,"shuttingDownAt":null,"killedAt":null,"recoveringAt":null,"busyAt":null,"errorAt":null,"currentState":"error","jobCreationRequest":{"name":"session_job","conf":{},"driverMemory":"4g","driverCores":4,"executorMemory":"4g","executorCores":4,"numExecutors":2}},"name":"session_job","workspaceName":"testsynapseworkspace1234","computeName":"testsparkpool","sparkPoolName":"testsparkpool","submitterName":"zhezhou@microsoft.com","submitterId":"8f51e348-1fa6-4194-8d13-8e0368e3298a","artifactId":"Livy","jobType":"SparkSession","result":"Failed","schedulerInfo":{"submittedAt":"2020-02-26T13:00:34.467748+00:00","scheduledAt":"2020-02-26T13:00:35.8701615+00:00","endedAt":"2020-02-26T13:11:09.2031503+00:00","cancellationRequestedAt":null,"currentState":"Ended"},"pluginInfo":{"preparationStartedAt":"2020-02-26T13:00:35.9090905+00:00","resourceAcquisitionStartedAt":"2020-02-26T13:00:36.2089486+00:00","submissionStartedAt":"2020-02-26T13:00:44.9985968+00:00","monitoringStartedAt":"2020-02-26T13:00:46.945944+00:00","cleanupStartedAt":"2020-02-26T13:11:09.1809598+00:00","currentState":"Ended"},"errorInfo":[{"message":"Submission - failed due to error content =[\"Session ''1'' not found.\"]","errorCode":"LIVY_STATUS_CODE_NotFound","source":"User"},{"message":"[plugins.testsynapseworkspace1234.testsparkpool.44]. + complete.","\nYARN Diagnostics: "]},{"livyInfo":{"notStartedAt":null,"startingAt":"2020-02-26T13:00:46.9296381+00:00","idleAt":"2020-02-26T13:01:07.0973705+00:00","deadAt":null,"shuttingDownAt":null,"killedAt":null,"recoveringAt":null,"busyAt":null,"errorAt":null,"currentState":"error","jobCreationRequest":{"name":"session_job","conf":{},"driverMemory":"4g","driverCores":4,"executorMemory":"4g","executorCores":4,"numExecutors":2}},"name":"session_job","workspaceName":"testsynapseworkspace","computeName":"testsparkpool","sparkPoolName":"testsparkpool","submitterName":"zhezhou@microsoft.com","submitterId":"8f51e348-1fa6-4194-8d13-8e0368e3298a","artifactId":"Livy","jobType":"SparkSession","result":"Failed","schedulerInfo":{"submittedAt":"2020-02-26T13:00:34.467748+00:00","scheduledAt":"2020-02-26T13:00:35.8701615+00:00","endedAt":"2020-02-26T13:11:09.2031503+00:00","cancellationRequestedAt":null,"currentState":"Ended"},"pluginInfo":{"preparationStartedAt":"2020-02-26T13:00:35.9090905+00:00","resourceAcquisitionStartedAt":"2020-02-26T13:00:36.2089486+00:00","submissionStartedAt":"2020-02-26T13:00:44.9985968+00:00","monitoringStartedAt":"2020-02-26T13:00:46.945944+00:00","cleanupStartedAt":"2020-02-26T13:11:09.1809598+00:00","currentState":"Ended"},"errorInfo":[{"message":"Submission + failed due to error content =[\"Session ''1'' not found.\"]","errorCode":"LIVY_STATUS_CODE_NotFound","source":"User"},{"message":"[plugins.testsynapseworkspace.testsparkpool.44]. [Cleanup] -> [Ended] JobResult=[Failed] LivyJobState=[idle]. Unable to kill livy job.","errorCode":"EXCEPTION_DURING_SPARK_JOB_CLEANUP","source":"Dependency"}],"tags":{},"id":44,"appId":"application_1582721346528_0002","appInfo":{"driverLogUrl":"http://e32f1ba891454e2c8934108fad734b37004bf001189:8042/node/containerlogs/container_1582721346528_0002_01_000001/trusted-service-user","sparkUiUrl":"http://e32f1ba891454e2c8934108fad734b37001df758198:8088/proxy/application_1582721346528_0002/"},"state":"error","log":["\t final status: UNDEFINED","\t tracking URL: http://e32f1ba891454e2c8934108fad734b37001df758198:8088/proxy/application_1582721346528_0002/","\t @@ -256,8 +256,8 @@ interactions: 13:00:50 INFO MetricsSystemImpl: Stopping azure-file-system metrics system...","20/02/26 13:00:50 INFO MetricsSystemImpl: azure-file-system metrics system stopped.","20/02/26 13:00:50 INFO MetricsSystemImpl: azure-file-system metrics system shutdown - complete.","\nYARN Diagnostics: "]},{"livyInfo":{"notStartedAt":null,"startingAt":"2020-02-26T13:24:14.9537704+00:00","idleAt":"2020-02-26T13:24:34.1754657+00:00","deadAt":null,"shuttingDownAt":"2020-02-26T13:41:08.9562069+00:00","killedAt":null,"recoveringAt":null,"busyAt":null,"errorAt":null,"currentState":"error","jobCreationRequest":{"name":"session_job","conf":{},"driverMemory":"4g","driverCores":4,"executorMemory":"4g","executorCores":4,"numExecutors":2}},"name":"session_job","workspaceName":"testsynapseworkspace1234","computeName":"testsparkpool","sparkPoolName":"testsparkpool","submitterName":"zhezhou@microsoft.com","submitterId":"8f51e348-1fa6-4194-8d13-8e0368e3298a","artifactId":"Livy","jobType":"SparkSession","result":"Failed","schedulerInfo":{"submittedAt":"2020-02-26T13:24:11.7704941+00:00","scheduledAt":"2020-02-26T13:24:11.8995632+00:00","endedAt":"2020-02-26T13:41:10.1225868+00:00","cancellationRequestedAt":null,"currentState":"Ended"},"pluginInfo":{"preparationStartedAt":"2020-02-26T13:24:11.9112015+00:00","resourceAcquisitionStartedAt":"2020-02-26T13:24:12.147992+00:00","submissionStartedAt":"2020-02-26T13:24:14.8644578+00:00","monitoringStartedAt":"2020-02-26T13:24:14.9677964+00:00","cleanupStartedAt":"2020-02-26T13:41:10.1042034+00:00","currentState":"Ended"},"errorInfo":[{"message":"Submission - failed due to error content =[\"Session ''2'' not found.\"]","errorCode":"LIVY_STATUS_CODE_NotFound","source":"User"},{"message":"[plugins.testsynapseworkspace1234.testsparkpool.45]. + complete.","\nYARN Diagnostics: "]},{"livyInfo":{"notStartedAt":null,"startingAt":"2020-02-26T13:24:14.9537704+00:00","idleAt":"2020-02-26T13:24:34.1754657+00:00","deadAt":null,"shuttingDownAt":"2020-02-26T13:41:08.9562069+00:00","killedAt":null,"recoveringAt":null,"busyAt":null,"errorAt":null,"currentState":"error","jobCreationRequest":{"name":"session_job","conf":{},"driverMemory":"4g","driverCores":4,"executorMemory":"4g","executorCores":4,"numExecutors":2}},"name":"session_job","workspaceName":"testsynapseworkspace","computeName":"testsparkpool","sparkPoolName":"testsparkpool","submitterName":"zhezhou@microsoft.com","submitterId":"8f51e348-1fa6-4194-8d13-8e0368e3298a","artifactId":"Livy","jobType":"SparkSession","result":"Failed","schedulerInfo":{"submittedAt":"2020-02-26T13:24:11.7704941+00:00","scheduledAt":"2020-02-26T13:24:11.8995632+00:00","endedAt":"2020-02-26T13:41:10.1225868+00:00","cancellationRequestedAt":null,"currentState":"Ended"},"pluginInfo":{"preparationStartedAt":"2020-02-26T13:24:11.9112015+00:00","resourceAcquisitionStartedAt":"2020-02-26T13:24:12.147992+00:00","submissionStartedAt":"2020-02-26T13:24:14.8644578+00:00","monitoringStartedAt":"2020-02-26T13:24:14.9677964+00:00","cleanupStartedAt":"2020-02-26T13:41:10.1042034+00:00","currentState":"Ended"},"errorInfo":[{"message":"Submission + failed due to error content =[\"Session ''2'' not found.\"]","errorCode":"LIVY_STATUS_CODE_NotFound","source":"User"},{"message":"[plugins.testsynapseworkspace.testsparkpool.45]. [Cleanup] -> [Ended] JobResult=[Failed] LivyJobState=[shutting_down]. Unable to kill livy job.","errorCode":"EXCEPTION_DURING_SPARK_JOB_CLEANUP","source":"Dependency"}],"tags":{},"id":45,"appId":"application_1582721346528_0003","appInfo":{"driverLogUrl":"http://e32f1ba891454e2c8934108fad734b37004bf001189:8042/node/containerlogs/container_1582721346528_0003_01_000001/trusted-service-user","sparkUiUrl":"http://e32f1ba891454e2c8934108fad734b37001df758198:8088/proxy/application_1582721346528_0003/"},"state":"error","log":["\t final status: UNDEFINED","\t tracking URL: http://e32f1ba891454e2c8934108fad734b37001df758198:8088/proxy/application_1582721346528_0003/","\t @@ -268,8 +268,8 @@ interactions: 13:24:19 INFO MetricsSystemImpl: Stopping azure-file-system metrics system...","20/02/26 13:24:19 INFO MetricsSystemImpl: azure-file-system metrics system stopped.","20/02/26 13:24:19 INFO MetricsSystemImpl: azure-file-system metrics system shutdown - complete.","\nYARN Diagnostics: "]},{"livyInfo":{"notStartedAt":null,"startingAt":"2020-02-26T13:32:22.9708881+00:00","idleAt":"2020-02-26T13:32:43.2043975+00:00","deadAt":null,"shuttingDownAt":null,"killedAt":null,"recoveringAt":null,"busyAt":null,"errorAt":null,"currentState":"error","jobCreationRequest":{"name":"session_job","conf":{},"driverMemory":"4g","driverCores":4,"executorMemory":"4g","executorCores":4,"numExecutors":2}},"name":"session_job","workspaceName":"testsynapseworkspace1234","computeName":"testsparkpool","sparkPoolName":"testsparkpool","submitterName":"zhezhou@microsoft.com","submitterId":"8f51e348-1fa6-4194-8d13-8e0368e3298a","artifactId":"Livy","jobType":"SparkSession","result":"Failed","schedulerInfo":{"submittedAt":"2020-02-26T13:32:18.2632746+00:00","scheduledAt":"2020-02-26T13:32:19.4622221+00:00","endedAt":"2020-02-26T13:43:09.5019056+00:00","cancellationRequestedAt":null,"currentState":"Ended"},"pluginInfo":{"preparationStartedAt":"2020-02-26T13:32:19.4949518+00:00","resourceAcquisitionStartedAt":"2020-02-26T13:32:19.775898+00:00","submissionStartedAt":"2020-02-26T13:32:22.8556977+00:00","monitoringStartedAt":"2020-02-26T13:32:22.9854222+00:00","cleanupStartedAt":"2020-02-26T13:43:09.4880995+00:00","currentState":"Ended"},"errorInfo":[{"message":"Submission - failed due to error content =[\"Session ''3'' not found.\"]","errorCode":"LIVY_STATUS_CODE_NotFound","source":"User"},{"message":"[plugins.testsynapseworkspace1234.testsparkpool.46]. + complete.","\nYARN Diagnostics: "]},{"livyInfo":{"notStartedAt":null,"startingAt":"2020-02-26T13:32:22.9708881+00:00","idleAt":"2020-02-26T13:32:43.2043975+00:00","deadAt":null,"shuttingDownAt":null,"killedAt":null,"recoveringAt":null,"busyAt":null,"errorAt":null,"currentState":"error","jobCreationRequest":{"name":"session_job","conf":{},"driverMemory":"4g","driverCores":4,"executorMemory":"4g","executorCores":4,"numExecutors":2}},"name":"session_job","workspaceName":"testsynapseworkspace","computeName":"testsparkpool","sparkPoolName":"testsparkpool","submitterName":"zhezhou@microsoft.com","submitterId":"8f51e348-1fa6-4194-8d13-8e0368e3298a","artifactId":"Livy","jobType":"SparkSession","result":"Failed","schedulerInfo":{"submittedAt":"2020-02-26T13:32:18.2632746+00:00","scheduledAt":"2020-02-26T13:32:19.4622221+00:00","endedAt":"2020-02-26T13:43:09.5019056+00:00","cancellationRequestedAt":null,"currentState":"Ended"},"pluginInfo":{"preparationStartedAt":"2020-02-26T13:32:19.4949518+00:00","resourceAcquisitionStartedAt":"2020-02-26T13:32:19.775898+00:00","submissionStartedAt":"2020-02-26T13:32:22.8556977+00:00","monitoringStartedAt":"2020-02-26T13:32:22.9854222+00:00","cleanupStartedAt":"2020-02-26T13:43:09.4880995+00:00","currentState":"Ended"},"errorInfo":[{"message":"Submission + failed due to error content =[\"Session ''3'' not found.\"]","errorCode":"LIVY_STATUS_CODE_NotFound","source":"User"},{"message":"[plugins.testsynapseworkspace.testsparkpool.46]. [Cleanup] -> [Ended] JobResult=[Failed] LivyJobState=[idle]. Unable to kill livy job.","errorCode":"EXCEPTION_DURING_SPARK_JOB_CLEANUP","source":"Dependency"}],"tags":{},"id":46,"appId":"application_1582721346528_0004","appInfo":{"driverLogUrl":"http://e32f1ba891454e2c8934108fad734b37004bf001189:8042/node/containerlogs/container_1582721346528_0004_01_000001/trusted-service-user","sparkUiUrl":"http://e32f1ba891454e2c8934108fad734b37001df758198:8088/proxy/application_1582721346528_0004/"},"state":"error","log":["\t final status: UNDEFINED","\t tracking URL: http://e32f1ba891454e2c8934108fad734b37001df758198:8088/proxy/application_1582721346528_0004/","\t @@ -280,8 +280,8 @@ interactions: 13:32:27 INFO MetricsSystemImpl: Stopping azure-file-system metrics system...","20/02/26 13:32:27 INFO MetricsSystemImpl: azure-file-system metrics system stopped.","20/02/26 13:32:27 INFO MetricsSystemImpl: azure-file-system metrics system shutdown - complete.","\nYARN Diagnostics: "]},{"livyInfo":{"notStartedAt":null,"startingAt":"2020-02-26T13:35:47.0038103+00:00","idleAt":"2020-02-26T13:39:09.9514434+00:00","deadAt":null,"shuttingDownAt":null,"killedAt":null,"recoveringAt":null,"busyAt":null,"errorAt":null,"currentState":"error","jobCreationRequest":{"name":"session_job","conf":{},"driverMemory":"4g","driverCores":4,"executorMemory":"4g","executorCores":4,"numExecutors":2}},"name":"session_job","workspaceName":"testsynapseworkspace1234","computeName":"testsparkpool","sparkPoolName":"testsparkpool","submitterName":"zhezhou@microsoft.com","submitterId":"8f51e348-1fa6-4194-8d13-8e0368e3298a","artifactId":"Livy","jobType":"SparkSession","result":"Failed","schedulerInfo":{"submittedAt":"2020-02-26T13:35:42.9455691+00:00","scheduledAt":"2020-02-26T13:35:43.3069414+00:00","endedAt":"2020-02-26T13:46:09.1559834+00:00","cancellationRequestedAt":null,"currentState":"Ended"},"pluginInfo":{"preparationStartedAt":"2020-02-26T13:35:43.3199256+00:00","resourceAcquisitionStartedAt":"2020-02-26T13:35:43.5880677+00:00","submissionStartedAt":"2020-02-26T13:35:46.8955651+00:00","monitoringStartedAt":"2020-02-26T13:35:47.0197063+00:00","cleanupStartedAt":"2020-02-26T13:46:09.1381179+00:00","currentState":"Ended"},"errorInfo":[{"message":"Submission - failed due to error content =[\"Session ''4'' not found.\"]","errorCode":"LIVY_STATUS_CODE_NotFound","source":"User"},{"message":"[plugins.testsynapseworkspace1234.testsparkpool.47]. + complete.","\nYARN Diagnostics: "]},{"livyInfo":{"notStartedAt":null,"startingAt":"2020-02-26T13:35:47.0038103+00:00","idleAt":"2020-02-26T13:39:09.9514434+00:00","deadAt":null,"shuttingDownAt":null,"killedAt":null,"recoveringAt":null,"busyAt":null,"errorAt":null,"currentState":"error","jobCreationRequest":{"name":"session_job","conf":{},"driverMemory":"4g","driverCores":4,"executorMemory":"4g","executorCores":4,"numExecutors":2}},"name":"session_job","workspaceName":"testsynapseworkspace","computeName":"testsparkpool","sparkPoolName":"testsparkpool","submitterName":"zhezhou@microsoft.com","submitterId":"8f51e348-1fa6-4194-8d13-8e0368e3298a","artifactId":"Livy","jobType":"SparkSession","result":"Failed","schedulerInfo":{"submittedAt":"2020-02-26T13:35:42.9455691+00:00","scheduledAt":"2020-02-26T13:35:43.3069414+00:00","endedAt":"2020-02-26T13:46:09.1559834+00:00","cancellationRequestedAt":null,"currentState":"Ended"},"pluginInfo":{"preparationStartedAt":"2020-02-26T13:35:43.3199256+00:00","resourceAcquisitionStartedAt":"2020-02-26T13:35:43.5880677+00:00","submissionStartedAt":"2020-02-26T13:35:46.8955651+00:00","monitoringStartedAt":"2020-02-26T13:35:47.0197063+00:00","cleanupStartedAt":"2020-02-26T13:46:09.1381179+00:00","currentState":"Ended"},"errorInfo":[{"message":"Submission + failed due to error content =[\"Session ''4'' not found.\"]","errorCode":"LIVY_STATUS_CODE_NotFound","source":"User"},{"message":"[plugins.testsynapseworkspace.testsparkpool.47]. [Cleanup] -> [Ended] JobResult=[Failed] LivyJobState=[idle]. Unable to kill livy job.","errorCode":"EXCEPTION_DURING_SPARK_JOB_CLEANUP","source":"Dependency"}],"tags":{},"id":47,"appId":"application_1582721346528_0005","appInfo":{"driverLogUrl":"http://e32f1ba891454e2c8934108fad734b37000b9a60506:8042/node/containerlogs/container_1582721346528_0005_01_000001/trusted-service-user","sparkUiUrl":"http://e32f1ba891454e2c8934108fad734b37001df758198:8088/proxy/application_1582721346528_0005/"},"state":"error","log":["\t final status: UNDEFINED","\t tracking URL: http://e32f1ba891454e2c8934108fad734b37001df758198:8088/proxy/application_1582721346528_0005/","\t @@ -292,8 +292,8 @@ interactions: 13:35:50 INFO MetricsSystemImpl: Stopping azure-file-system metrics system...","20/02/26 13:35:50 INFO MetricsSystemImpl: azure-file-system metrics system stopped.","20/02/26 13:35:50 INFO MetricsSystemImpl: azure-file-system metrics system shutdown - complete.","\nYARN Diagnostics: "]},{"livyInfo":{"notStartedAt":null,"startingAt":"2020-02-26T13:38:46.5622419+00:00","idleAt":"2020-02-26T13:41:52.4492752+00:00","deadAt":null,"shuttingDownAt":"2020-02-26T13:54:08.8711808+00:00","killedAt":null,"recoveringAt":null,"busyAt":null,"errorAt":null,"currentState":"error","jobCreationRequest":{"name":"session_job","conf":{},"driverMemory":"4g","driverCores":4,"executorMemory":"4g","executorCores":4,"numExecutors":2}},"name":"session_job","workspaceName":"testsynapseworkspace1234","computeName":"testsparkpool","sparkPoolName":"testsparkpool","submitterName":"zhezhou@microsoft.com","submitterId":"8f51e348-1fa6-4194-8d13-8e0368e3298a","artifactId":"Livy","jobType":"SparkSession","result":"Failed","schedulerInfo":{"submittedAt":"2020-02-26T13:38:42.1488228+00:00","scheduledAt":"2020-02-26T13:38:43.2490535+00:00","endedAt":"2020-02-26T13:54:09.9375145+00:00","cancellationRequestedAt":null,"currentState":"Ended"},"pluginInfo":{"preparationStartedAt":"2020-02-26T13:38:43.2611115+00:00","resourceAcquisitionStartedAt":"2020-02-26T13:38:43.4717458+00:00","submissionStartedAt":"2020-02-26T13:38:46.4800159+00:00","monitoringStartedAt":"2020-02-26T13:38:46.5803176+00:00","cleanupStartedAt":"2020-02-26T13:54:09.9231338+00:00","currentState":"Ended"},"errorInfo":[{"message":"Submission - failed due to error content =[\"Session ''5'' not found.\"]","errorCode":"LIVY_STATUS_CODE_NotFound","source":"User"},{"message":"[plugins.testsynapseworkspace1234.testsparkpool.48]. + complete.","\nYARN Diagnostics: "]},{"livyInfo":{"notStartedAt":null,"startingAt":"2020-02-26T13:38:46.5622419+00:00","idleAt":"2020-02-26T13:41:52.4492752+00:00","deadAt":null,"shuttingDownAt":"2020-02-26T13:54:08.8711808+00:00","killedAt":null,"recoveringAt":null,"busyAt":null,"errorAt":null,"currentState":"error","jobCreationRequest":{"name":"session_job","conf":{},"driverMemory":"4g","driverCores":4,"executorMemory":"4g","executorCores":4,"numExecutors":2}},"name":"session_job","workspaceName":"testsynapseworkspace","computeName":"testsparkpool","sparkPoolName":"testsparkpool","submitterName":"zhezhou@microsoft.com","submitterId":"8f51e348-1fa6-4194-8d13-8e0368e3298a","artifactId":"Livy","jobType":"SparkSession","result":"Failed","schedulerInfo":{"submittedAt":"2020-02-26T13:38:42.1488228+00:00","scheduledAt":"2020-02-26T13:38:43.2490535+00:00","endedAt":"2020-02-26T13:54:09.9375145+00:00","cancellationRequestedAt":null,"currentState":"Ended"},"pluginInfo":{"preparationStartedAt":"2020-02-26T13:38:43.2611115+00:00","resourceAcquisitionStartedAt":"2020-02-26T13:38:43.4717458+00:00","submissionStartedAt":"2020-02-26T13:38:46.4800159+00:00","monitoringStartedAt":"2020-02-26T13:38:46.5803176+00:00","cleanupStartedAt":"2020-02-26T13:54:09.9231338+00:00","currentState":"Ended"},"errorInfo":[{"message":"Submission + failed due to error content =[\"Session ''5'' not found.\"]","errorCode":"LIVY_STATUS_CODE_NotFound","source":"User"},{"message":"[plugins.testsynapseworkspace.testsparkpool.48]. [Cleanup] -> [Ended] JobResult=[Failed] LivyJobState=[shutting_down]. Unable to kill livy job.","errorCode":"EXCEPTION_DURING_SPARK_JOB_CLEANUP","source":"Dependency"}],"tags":{},"id":48,"appId":"application_1582721346528_0006","appInfo":{"driverLogUrl":"http://e32f1ba891454e2c8934108fad734b37003c1491642:8042/node/containerlogs/container_1582721346528_0006_01_000001/trusted-service-user","sparkUiUrl":"http://e32f1ba891454e2c8934108fad734b37001df758198:8088/proxy/application_1582721346528_0006/"},"state":"error","log":["\t final status: UNDEFINED","\t tracking URL: http://e32f1ba891454e2c8934108fad734b37001df758198:8088/proxy/application_1582721346528_0006/","\t @@ -304,7 +304,7 @@ interactions: 13:38:50 INFO MetricsSystemImpl: Stopping azure-file-system metrics system...","20/02/26 13:38:50 INFO MetricsSystemImpl: azure-file-system metrics system stopped.","20/02/26 13:38:50 INFO MetricsSystemImpl: azure-file-system metrics system shutdown - complete.","\nYARN Diagnostics: "]},{"livyInfo":{"notStartedAt":null,"startingAt":"2020-02-27T02:36:44.2725094+00:00","idleAt":"2020-02-27T02:37:37.883093+00:00","deadAt":null,"shuttingDownAt":null,"killedAt":null,"recoveringAt":null,"busyAt":"2020-02-27T02:37:46.9616186+00:00","errorAt":null,"currentState":"killed","jobCreationRequest":{"name":"Synapse_testsparkpool_1582770923791","conf":{},"driverMemory":"28g","driverCores":4,"executorMemory":"28g","executorCores":4,"numExecutors":1}},"name":"Synapse_testsparkpool_1582770923791","workspaceName":"testsynapseworkspace1234","computeName":"testsparkpool","sparkPoolName":"testsparkpool","submitterName":"zhezhou@microsoft.com","submitterId":"8f51e348-1fa6-4194-8d13-8e0368e3298a","artifactId":"Livy","jobType":"SparkSession","result":"Cancelled","schedulerInfo":{"submittedAt":"2020-02-27T02:35:24.2786793+00:00","scheduledAt":"2020-02-27T02:35:25.5806175+00:00","endedAt":"2020-02-27T03:09:06.9495977+00:00","cancellationRequestedAt":"2020-02-27T03:09:05.0822936+00:00","currentState":"Ended"},"pluginInfo":{"preparationStartedAt":"2020-02-27T02:35:25.5970004+00:00","resourceAcquisitionStartedAt":"2020-02-27T02:35:25.9637188+00:00","submissionStartedAt":"2020-02-27T02:36:36.4094821+00:00","monitoringStartedAt":"2020-02-27T02:36:44.2921585+00:00","cleanupStartedAt":"2020-02-27T03:09:05.0822972+00:00","currentState":"Ended"},"tags":{},"id":49,"appId":"application_1582770999899_0001","appInfo":{"driverLogUrl":"http://b50c2ae5022b43d0a9a8b293074617ef00417f90807:8042/node/containerlogs/container_1582770999899_0001_01_000001/trusted-service-user","sparkUiUrl":"http://b50c2ae5022b43d0a9a8b293074617ef000a6688148:8088/proxy/application_1582770999899_0001/"},"state":"killed","log":["\t + complete.","\nYARN Diagnostics: "]},{"livyInfo":{"notStartedAt":null,"startingAt":"2020-02-27T02:36:44.2725094+00:00","idleAt":"2020-02-27T02:37:37.883093+00:00","deadAt":null,"shuttingDownAt":null,"killedAt":null,"recoveringAt":null,"busyAt":"2020-02-27T02:37:46.9616186+00:00","errorAt":null,"currentState":"killed","jobCreationRequest":{"name":"Synapse_testsparkpool_1582770923791","conf":{},"driverMemory":"28g","driverCores":4,"executorMemory":"28g","executorCores":4,"numExecutors":1}},"name":"Synapse_testsparkpool_1582770923791","workspaceName":"testsynapseworkspace","computeName":"testsparkpool","sparkPoolName":"testsparkpool","submitterName":"zhezhou@microsoft.com","submitterId":"8f51e348-1fa6-4194-8d13-8e0368e3298a","artifactId":"Livy","jobType":"SparkSession","result":"Cancelled","schedulerInfo":{"submittedAt":"2020-02-27T02:35:24.2786793+00:00","scheduledAt":"2020-02-27T02:35:25.5806175+00:00","endedAt":"2020-02-27T03:09:06.9495977+00:00","cancellationRequestedAt":"2020-02-27T03:09:05.0822936+00:00","currentState":"Ended"},"pluginInfo":{"preparationStartedAt":"2020-02-27T02:35:25.5970004+00:00","resourceAcquisitionStartedAt":"2020-02-27T02:35:25.9637188+00:00","submissionStartedAt":"2020-02-27T02:36:36.4094821+00:00","monitoringStartedAt":"2020-02-27T02:36:44.2921585+00:00","cleanupStartedAt":"2020-02-27T03:09:05.0822972+00:00","currentState":"Ended"},"tags":{},"id":49,"appId":"application_1582770999899_0001","appInfo":{"driverLogUrl":"http://b50c2ae5022b43d0a9a8b293074617ef00417f90807:8042/node/containerlogs/container_1582770999899_0001_01_000001/trusted-service-user","sparkUiUrl":"http://b50c2ae5022b43d0a9a8b293074617ef000a6688148:8088/proxy/application_1582770999899_0001/"},"state":"killed","log":["\t final status: UNDEFINED","\t tracking URL: http://b50c2ae5022b43d0a9a8b293074617ef000a6688148:8088/proxy/application_1582770999899_0001/","\t user: trusted-service-user","20/02/27 02:36:51 INFO ShutdownHookManager: Shutdown hook called","20/02/27 02:36:51 INFO ShutdownHookManager: Deleting directory @@ -313,8 +313,8 @@ interactions: 02:36:51 INFO MetricsSystemImpl: Stopping azure-file-system metrics system...","20/02/27 02:36:51 INFO MetricsSystemImpl: azure-file-system metrics system stopped.","20/02/27 02:36:51 INFO MetricsSystemImpl: azure-file-system metrics system shutdown - complete.","\nYARN Diagnostics: "]},{"livyInfo":{"notStartedAt":null,"startingAt":"2020-02-27T02:43:29.3403079+00:00","idleAt":"2020-02-27T02:43:48.5543281+00:00","deadAt":null,"shuttingDownAt":null,"killedAt":null,"recoveringAt":null,"busyAt":null,"errorAt":null,"currentState":"error","jobCreationRequest":{"name":"session_job","conf":{},"driverMemory":"4g","driverCores":4,"executorMemory":"4g","executorCores":4,"numExecutors":2}},"name":"session_job","workspaceName":"testsynapseworkspace1234","computeName":"testsparkpool","sparkPoolName":"testsparkpool","submitterName":"zhezhou@microsoft.com","submitterId":"8f51e348-1fa6-4194-8d13-8e0368e3298a","artifactId":"Livy","jobType":"SparkSession","result":"Failed","schedulerInfo":{"submittedAt":"2020-02-27T02:43:25.4295714+00:00","scheduledAt":"2020-02-27T02:43:25.8737897+00:00","endedAt":"2020-02-27T02:58:43.7263147+00:00","cancellationRequestedAt":null,"currentState":"Ended"},"pluginInfo":{"preparationStartedAt":"2020-02-27T02:43:25.9006408+00:00","resourceAcquisitionStartedAt":"2020-02-27T02:43:26.1816647+00:00","submissionStartedAt":"2020-02-27T02:43:29.2324353+00:00","monitoringStartedAt":"2020-02-27T02:43:29.3546266+00:00","cleanupStartedAt":"2020-02-27T02:58:43.7059165+00:00","currentState":"Ended"},"errorInfo":[{"message":"Submission - failed due to error content =[\"Session ''1'' not found.\"]","errorCode":"LIVY_STATUS_CODE_NotFound","source":"User"},{"message":"[plugins.testsynapseworkspace1234.testsparkpool.50]. + complete.","\nYARN Diagnostics: "]},{"livyInfo":{"notStartedAt":null,"startingAt":"2020-02-27T02:43:29.3403079+00:00","idleAt":"2020-02-27T02:43:48.5543281+00:00","deadAt":null,"shuttingDownAt":null,"killedAt":null,"recoveringAt":null,"busyAt":null,"errorAt":null,"currentState":"error","jobCreationRequest":{"name":"session_job","conf":{},"driverMemory":"4g","driverCores":4,"executorMemory":"4g","executorCores":4,"numExecutors":2}},"name":"session_job","workspaceName":"testsynapseworkspace","computeName":"testsparkpool","sparkPoolName":"testsparkpool","submitterName":"zhezhou@microsoft.com","submitterId":"8f51e348-1fa6-4194-8d13-8e0368e3298a","artifactId":"Livy","jobType":"SparkSession","result":"Failed","schedulerInfo":{"submittedAt":"2020-02-27T02:43:25.4295714+00:00","scheduledAt":"2020-02-27T02:43:25.8737897+00:00","endedAt":"2020-02-27T02:58:43.7263147+00:00","cancellationRequestedAt":null,"currentState":"Ended"},"pluginInfo":{"preparationStartedAt":"2020-02-27T02:43:25.9006408+00:00","resourceAcquisitionStartedAt":"2020-02-27T02:43:26.1816647+00:00","submissionStartedAt":"2020-02-27T02:43:29.2324353+00:00","monitoringStartedAt":"2020-02-27T02:43:29.3546266+00:00","cleanupStartedAt":"2020-02-27T02:58:43.7059165+00:00","currentState":"Ended"},"errorInfo":[{"message":"Submission + failed due to error content =[\"Session ''1'' not found.\"]","errorCode":"LIVY_STATUS_CODE_NotFound","source":"User"},{"message":"[plugins.testsynapseworkspace.testsparkpool.50]. [Cleanup] -> [Ended] JobResult=[Failed] LivyJobState=[idle]. Unable to kill livy job.","errorCode":"EXCEPTION_DURING_SPARK_JOB_CLEANUP","source":"Dependency"}],"tags":{},"id":50,"appId":"application_1582770999899_0002","appInfo":{"driverLogUrl":"http://b50c2ae5022b43d0a9a8b293074617ef00417f90807:8042/node/containerlogs/container_1582770999899_0002_01_000001/trusted-service-user","sparkUiUrl":"http://b50c2ae5022b43d0a9a8b293074617ef000a6688148:8088/proxy/application_1582770999899_0002/"},"state":"error","log":["\t final status: UNDEFINED","\t tracking URL: http://b50c2ae5022b43d0a9a8b293074617ef000a6688148:8088/proxy/application_1582770999899_0002/","\t @@ -325,8 +325,8 @@ interactions: 02:43:32 INFO MetricsSystemImpl: Stopping azure-file-system metrics system...","20/02/27 02:43:32 INFO MetricsSystemImpl: azure-file-system metrics system stopped.","20/02/27 02:43:32 INFO MetricsSystemImpl: azure-file-system metrics system shutdown - complete.","\nYARN Diagnostics: "]},{"livyInfo":{"notStartedAt":null,"startingAt":"2020-02-27T02:54:52.0887823+00:00","idleAt":"2020-02-27T02:55:43.849074+00:00","deadAt":null,"shuttingDownAt":null,"killedAt":null,"recoveringAt":null,"busyAt":null,"errorAt":null,"currentState":"error","jobCreationRequest":{"name":"session_job","conf":{},"driverMemory":"4g","driverCores":4,"executorMemory":"4g","executorCores":4,"numExecutors":2}},"name":"session_job","workspaceName":"testsynapseworkspace1234","computeName":"testsparkpool","sparkPoolName":"testsparkpool","submitterName":"zhezhou@microsoft.com","submitterId":"8f51e348-1fa6-4194-8d13-8e0368e3298a","artifactId":"Livy","jobType":"SparkSession","result":"Failed","schedulerInfo":{"submittedAt":"2020-02-27T02:54:47.0038754+00:00","scheduledAt":"2020-02-27T02:54:48.2865042+00:00","endedAt":"2020-02-27T03:10:43.1437219+00:00","cancellationRequestedAt":null,"currentState":"Ended"},"pluginInfo":{"preparationStartedAt":"2020-02-27T02:54:48.317401+00:00","resourceAcquisitionStartedAt":"2020-02-27T02:54:48.8166098+00:00","submissionStartedAt":"2020-02-27T02:54:51.9591169+00:00","monitoringStartedAt":"2020-02-27T02:54:52.1033179+00:00","cleanupStartedAt":"2020-02-27T03:10:43.1278011+00:00","currentState":"Ended"},"errorInfo":[{"message":"Submission - failed due to error content =[\"Session ''2'' not found.\"]","errorCode":"LIVY_STATUS_CODE_NotFound","source":"User"},{"message":"[plugins.testsynapseworkspace1234.testsparkpool.51]. + complete.","\nYARN Diagnostics: "]},{"livyInfo":{"notStartedAt":null,"startingAt":"2020-02-27T02:54:52.0887823+00:00","idleAt":"2020-02-27T02:55:43.849074+00:00","deadAt":null,"shuttingDownAt":null,"killedAt":null,"recoveringAt":null,"busyAt":null,"errorAt":null,"currentState":"error","jobCreationRequest":{"name":"session_job","conf":{},"driverMemory":"4g","driverCores":4,"executorMemory":"4g","executorCores":4,"numExecutors":2}},"name":"session_job","workspaceName":"testsynapseworkspace","computeName":"testsparkpool","sparkPoolName":"testsparkpool","submitterName":"zhezhou@microsoft.com","submitterId":"8f51e348-1fa6-4194-8d13-8e0368e3298a","artifactId":"Livy","jobType":"SparkSession","result":"Failed","schedulerInfo":{"submittedAt":"2020-02-27T02:54:47.0038754+00:00","scheduledAt":"2020-02-27T02:54:48.2865042+00:00","endedAt":"2020-02-27T03:10:43.1437219+00:00","cancellationRequestedAt":null,"currentState":"Ended"},"pluginInfo":{"preparationStartedAt":"2020-02-27T02:54:48.317401+00:00","resourceAcquisitionStartedAt":"2020-02-27T02:54:48.8166098+00:00","submissionStartedAt":"2020-02-27T02:54:51.9591169+00:00","monitoringStartedAt":"2020-02-27T02:54:52.1033179+00:00","cleanupStartedAt":"2020-02-27T03:10:43.1278011+00:00","currentState":"Ended"},"errorInfo":[{"message":"Submission + failed due to error content =[\"Session ''2'' not found.\"]","errorCode":"LIVY_STATUS_CODE_NotFound","source":"User"},{"message":"[plugins.testsynapseworkspace.testsparkpool.51]. [Cleanup] -> [Ended] JobResult=[Failed] LivyJobState=[idle]. Unable to kill livy job.","errorCode":"EXCEPTION_DURING_SPARK_JOB_CLEANUP","source":"Dependency"}],"tags":{},"id":51,"appId":"application_1582770999899_0003","appInfo":{"driverLogUrl":"http://b50c2ae5022b43d0a9a8b293074617ef001b6d10128:8042/node/containerlogs/container_1582770999899_0003_01_000001/trusted-service-user","sparkUiUrl":"http://b50c2ae5022b43d0a9a8b293074617ef000a6688148:8088/proxy/application_1582770999899_0003/"},"state":"error","log":["\t final status: UNDEFINED","\t tracking URL: http://b50c2ae5022b43d0a9a8b293074617ef000a6688148:8088/proxy/application_1582770999899_0003/","\t @@ -337,7 +337,7 @@ interactions: 02:54:55 INFO MetricsSystemImpl: Stopping azure-file-system metrics system...","20/02/27 02:54:55 INFO MetricsSystemImpl: azure-file-system metrics system stopped.","20/02/27 02:54:55 INFO MetricsSystemImpl: azure-file-system metrics system shutdown - complete.","\nYARN Diagnostics: "]},{"livyInfo":{"notStartedAt":null,"startingAt":"2020-02-27T03:06:14.4048515+00:00","idleAt":"2020-02-27T03:06:38.6103286+00:00","deadAt":"2020-02-27T03:21:42.9769064+00:00","shuttingDownAt":"2020-02-27T03:21:42.9276918+00:00","killedAt":null,"recoveringAt":null,"busyAt":null,"errorAt":null,"currentState":"dead","jobCreationRequest":{"name":"session_job","conf":{},"driverMemory":"4g","driverCores":4,"executorMemory":"4g","executorCores":4,"numExecutors":2}},"name":"session_job","workspaceName":"testsynapseworkspace1234","computeName":"testsparkpool","sparkPoolName":"testsparkpool","submitterName":"zhezhou@microsoft.com","submitterId":"8f51e348-1fa6-4194-8d13-8e0368e3298a","artifactId":"Livy","jobType":"SparkSession","result":"Failed","schedulerInfo":{"submittedAt":"2020-02-27T03:06:04.780415+00:00","scheduledAt":"2020-02-27T03:06:06.1117092+00:00","endedAt":"2020-02-27T03:21:43.6800065+00:00","cancellationRequestedAt":null,"currentState":"Ended"},"pluginInfo":{"preparationStartedAt":"2020-02-27T03:06:06.1234248+00:00","resourceAcquisitionStartedAt":"2020-02-27T03:06:06.4371846+00:00","submissionStartedAt":"2020-02-27T03:06:13.3892695+00:00","monitoringStartedAt":"2020-02-27T03:06:14.4208941+00:00","cleanupStartedAt":"2020-02-27T03:21:42.9909765+00:00","currentState":"Ended"},"errorInfo":[{"message":"[plugins.testsynapseworkspace1234.testsparkpool.52] + complete.","\nYARN Diagnostics: "]},{"livyInfo":{"notStartedAt":null,"startingAt":"2020-02-27T03:06:14.4048515+00:00","idleAt":"2020-02-27T03:06:38.6103286+00:00","deadAt":"2020-02-27T03:21:42.9769064+00:00","shuttingDownAt":"2020-02-27T03:21:42.9276918+00:00","killedAt":null,"recoveringAt":null,"busyAt":null,"errorAt":null,"currentState":"dead","jobCreationRequest":{"name":"session_job","conf":{},"driverMemory":"4g","driverCores":4,"executorMemory":"4g","executorCores":4,"numExecutors":2}},"name":"session_job","workspaceName":"testsynapseworkspace","computeName":"testsparkpool","sparkPoolName":"testsparkpool","submitterName":"zhezhou@microsoft.com","submitterId":"8f51e348-1fa6-4194-8d13-8e0368e3298a","artifactId":"Livy","jobType":"SparkSession","result":"Failed","schedulerInfo":{"submittedAt":"2020-02-27T03:06:04.780415+00:00","scheduledAt":"2020-02-27T03:06:06.1117092+00:00","endedAt":"2020-02-27T03:21:43.6800065+00:00","cancellationRequestedAt":null,"currentState":"Ended"},"pluginInfo":{"preparationStartedAt":"2020-02-27T03:06:06.1234248+00:00","resourceAcquisitionStartedAt":"2020-02-27T03:06:06.4371846+00:00","submissionStartedAt":"2020-02-27T03:06:13.3892695+00:00","monitoringStartedAt":"2020-02-27T03:06:14.4208941+00:00","cleanupStartedAt":"2020-02-27T03:21:42.9909765+00:00","currentState":"Ended"},"errorInfo":[{"message":"[plugins.testsynapseworkspace.testsparkpool.52] [Monitoring] Livy Endpoint=[http://171.0.202.6:8998/]. Livy Id=[3] Job failed during run time with state=[dead].","errorCode":"LIVY_JOB_FAILED","source":"Dependency"}],"tags":{},"id":52,"appId":"application_1582770999899_0004","appInfo":{"driverLogUrl":"http://b50c2ae5022b43d0a9a8b293074617ef000a6688148:8042/node/containerlogs/container_1582770999899_0004_01_000001/trusted-service-user","sparkUiUrl":"http://b50c2ae5022b43d0a9a8b293074617ef000a6688148:8088/proxy/application_1582770999899_0004/"},"state":"dead","log":["\t final status: UNDEFINED","\t tracking URL: http://b50c2ae5022b43d0a9a8b293074617ef000a6688148:8088/proxy/application_1582770999899_0004/","\t @@ -348,8 +348,8 @@ interactions: 03:06:18 INFO MetricsSystemImpl: Stopping azure-file-system metrics system...","20/02/27 03:06:18 INFO MetricsSystemImpl: azure-file-system metrics system stopped.","20/02/27 03:06:18 INFO MetricsSystemImpl: azure-file-system metrics system shutdown - complete.","\nYARN Diagnostics: "]},{"livyInfo":{"notStartedAt":null,"startingAt":"2020-02-27T03:13:47.5228658+00:00","idleAt":"2020-02-27T03:14:05.67951+00:00","deadAt":null,"shuttingDownAt":null,"killedAt":null,"recoveringAt":null,"busyAt":null,"errorAt":null,"currentState":"error","jobCreationRequest":{"name":"session_job","conf":{},"driverMemory":"4g","driverCores":4,"executorMemory":"4g","executorCores":4,"numExecutors":2}},"name":"session_job","workspaceName":"testsynapseworkspace1234","computeName":"testsparkpool","sparkPoolName":"testsparkpool","submitterName":"zhezhou@microsoft.com","submitterId":"8f51e348-1fa6-4194-8d13-8e0368e3298a","artifactId":"Livy","jobType":"SparkSession","result":"Failed","schedulerInfo":{"submittedAt":"2020-02-27T03:13:42.4571909+00:00","scheduledAt":"2020-02-27T03:13:43.7342691+00:00","endedAt":"2020-02-27T03:29:43.4723463+00:00","cancellationRequestedAt":null,"currentState":"Ended"},"pluginInfo":{"preparationStartedAt":"2020-02-27T03:13:43.7715697+00:00","resourceAcquisitionStartedAt":"2020-02-27T03:13:44.1233532+00:00","submissionStartedAt":"2020-02-27T03:13:47.4068122+00:00","monitoringStartedAt":"2020-02-27T03:13:47.5388984+00:00","cleanupStartedAt":"2020-02-27T03:29:43.4478536+00:00","currentState":"Ended"},"errorInfo":[{"message":"Submission - failed due to error content =[\"Session ''4'' not found.\"]","errorCode":"LIVY_STATUS_CODE_NotFound","source":"User"},{"message":"[plugins.testsynapseworkspace1234.testsparkpool.53]. + complete.","\nYARN Diagnostics: "]},{"livyInfo":{"notStartedAt":null,"startingAt":"2020-02-27T03:13:47.5228658+00:00","idleAt":"2020-02-27T03:14:05.67951+00:00","deadAt":null,"shuttingDownAt":null,"killedAt":null,"recoveringAt":null,"busyAt":null,"errorAt":null,"currentState":"error","jobCreationRequest":{"name":"session_job","conf":{},"driverMemory":"4g","driverCores":4,"executorMemory":"4g","executorCores":4,"numExecutors":2}},"name":"session_job","workspaceName":"testsynapseworkspace","computeName":"testsparkpool","sparkPoolName":"testsparkpool","submitterName":"zhezhou@microsoft.com","submitterId":"8f51e348-1fa6-4194-8d13-8e0368e3298a","artifactId":"Livy","jobType":"SparkSession","result":"Failed","schedulerInfo":{"submittedAt":"2020-02-27T03:13:42.4571909+00:00","scheduledAt":"2020-02-27T03:13:43.7342691+00:00","endedAt":"2020-02-27T03:29:43.4723463+00:00","cancellationRequestedAt":null,"currentState":"Ended"},"pluginInfo":{"preparationStartedAt":"2020-02-27T03:13:43.7715697+00:00","resourceAcquisitionStartedAt":"2020-02-27T03:13:44.1233532+00:00","submissionStartedAt":"2020-02-27T03:13:47.4068122+00:00","monitoringStartedAt":"2020-02-27T03:13:47.5388984+00:00","cleanupStartedAt":"2020-02-27T03:29:43.4478536+00:00","currentState":"Ended"},"errorInfo":[{"message":"Submission + failed due to error content =[\"Session ''4'' not found.\"]","errorCode":"LIVY_STATUS_CODE_NotFound","source":"User"},{"message":"[plugins.testsynapseworkspace.testsparkpool.53]. [Cleanup] -> [Ended] JobResult=[Failed] LivyJobState=[idle]. Unable to kill livy job.","errorCode":"EXCEPTION_DURING_SPARK_JOB_CLEANUP","source":"Dependency"}],"tags":{},"id":53,"appId":"application_1582770999899_0005","appInfo":{"driverLogUrl":"http://b50c2ae5022b43d0a9a8b293074617ef00417f90807:8042/node/containerlogs/container_1582770999899_0005_01_000001/trusted-service-user","sparkUiUrl":"http://b50c2ae5022b43d0a9a8b293074617ef000a6688148:8088/proxy/application_1582770999899_0005/"},"state":"error","log":["\t final status: UNDEFINED","\t tracking URL: http://b50c2ae5022b43d0a9a8b293074617ef000a6688148:8088/proxy/application_1582770999899_0005/","\t @@ -360,8 +360,8 @@ interactions: 03:13:51 INFO MetricsSystemImpl: Stopping azure-file-system metrics system...","20/02/27 03:13:51 INFO MetricsSystemImpl: azure-file-system metrics system stopped.","20/02/27 03:13:51 INFO MetricsSystemImpl: azure-file-system metrics system shutdown - complete.","\nYARN Diagnostics: "]},{"livyInfo":{"notStartedAt":null,"startingAt":"2020-02-27T03:39:02.0129491+00:00","idleAt":"2020-02-27T03:39:21.2509628+00:00","deadAt":null,"shuttingDownAt":"2020-02-27T03:54:42.8654154+00:00","killedAt":null,"recoveringAt":null,"busyAt":"2020-02-27T03:44:11.3168942+00:00","errorAt":null,"currentState":"error","jobCreationRequest":{"name":"session_job","conf":{},"driverMemory":"4g","driverCores":4,"executorMemory":"4g","executorCores":4,"numExecutors":2}},"name":"session_job","workspaceName":"testsynapseworkspace1234","computeName":"testsparkpool","sparkPoolName":"testsparkpool","submitterName":"zhezhou@microsoft.com","submitterId":"8f51e348-1fa6-4194-8d13-8e0368e3298a","artifactId":"Livy","jobType":"SparkSession","result":"Failed","schedulerInfo":{"submittedAt":"2020-02-27T03:38:56.8804329+00:00","scheduledAt":"2020-02-27T03:38:58.3501847+00:00","endedAt":"2020-02-27T03:54:43.9730872+00:00","cancellationRequestedAt":null,"currentState":"Ended"},"pluginInfo":{"preparationStartedAt":"2020-02-27T03:38:58.3830454+00:00","resourceAcquisitionStartedAt":"2020-02-27T03:38:58.741869+00:00","submissionStartedAt":"2020-02-27T03:39:01.5378748+00:00","monitoringStartedAt":"2020-02-27T03:39:02.0277926+00:00","cleanupStartedAt":"2020-02-27T03:54:43.9546204+00:00","currentState":"Ended"},"errorInfo":[{"message":"Submission - failed due to error content =[\"Session ''5'' not found.\"]","errorCode":"LIVY_STATUS_CODE_NotFound","source":"User"},{"message":"[plugins.testsynapseworkspace1234.testsparkpool.54]. + complete.","\nYARN Diagnostics: "]},{"livyInfo":{"notStartedAt":null,"startingAt":"2020-02-27T03:39:02.0129491+00:00","idleAt":"2020-02-27T03:39:21.2509628+00:00","deadAt":null,"shuttingDownAt":"2020-02-27T03:54:42.8654154+00:00","killedAt":null,"recoveringAt":null,"busyAt":"2020-02-27T03:44:11.3168942+00:00","errorAt":null,"currentState":"error","jobCreationRequest":{"name":"session_job","conf":{},"driverMemory":"4g","driverCores":4,"executorMemory":"4g","executorCores":4,"numExecutors":2}},"name":"session_job","workspaceName":"testsynapseworkspace","computeName":"testsparkpool","sparkPoolName":"testsparkpool","submitterName":"zhezhou@microsoft.com","submitterId":"8f51e348-1fa6-4194-8d13-8e0368e3298a","artifactId":"Livy","jobType":"SparkSession","result":"Failed","schedulerInfo":{"submittedAt":"2020-02-27T03:38:56.8804329+00:00","scheduledAt":"2020-02-27T03:38:58.3501847+00:00","endedAt":"2020-02-27T03:54:43.9730872+00:00","cancellationRequestedAt":null,"currentState":"Ended"},"pluginInfo":{"preparationStartedAt":"2020-02-27T03:38:58.3830454+00:00","resourceAcquisitionStartedAt":"2020-02-27T03:38:58.741869+00:00","submissionStartedAt":"2020-02-27T03:39:01.5378748+00:00","monitoringStartedAt":"2020-02-27T03:39:02.0277926+00:00","cleanupStartedAt":"2020-02-27T03:54:43.9546204+00:00","currentState":"Ended"},"errorInfo":[{"message":"Submission + failed due to error content =[\"Session ''5'' not found.\"]","errorCode":"LIVY_STATUS_CODE_NotFound","source":"User"},{"message":"[plugins.testsynapseworkspace.testsparkpool.54]. [Cleanup] -> [Ended] JobResult=[Failed] LivyJobState=[shutting_down]. Unable to kill livy job.","errorCode":"EXCEPTION_DURING_SPARK_JOB_CLEANUP","source":"Dependency"}],"tags":{},"id":54,"appId":"application_1582770999899_0006","appInfo":{"driverLogUrl":"http://b50c2ae5022b43d0a9a8b293074617ef001b6d10128:8042/node/containerlogs/container_1582770999899_0006_01_000001/trusted-service-user","sparkUiUrl":"http://b50c2ae5022b43d0a9a8b293074617ef000a6688148:8088/proxy/application_1582770999899_0006/"},"state":"error","log":["\t final status: UNDEFINED","\t tracking URL: http://b50c2ae5022b43d0a9a8b293074617ef000a6688148:8088/proxy/application_1582770999899_0006/","\t @@ -377,7 +377,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 11 Mar 2020 07:46:23 GMT + - Wed, 29 Apr 2020 07:06:17 GMT server: - Kestrel Microsoft-HTTPAPI/2.0 strict-transport-security: @@ -385,9 +385,9 @@ interactions: transfer-encoding: - chunked x-ms-activity-id: - - f8165de9-cb5c-4bfd-9ec5-a30f269788af + - 1ce075db-b188-4a3a-90e1-35ca1b96eea5 x-ms-response-time-ms: - - '83' + - '79' status: code: 200 message: OK @@ -407,7 +407,7 @@ interactions: User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 azure-synapse/0.1.0 method: PUT - uri: https://testsynapseworkspace1234.dev.azuresynapse.net/livyApi/versions/2019-11-01-preview/sparkPools/testsparkpool/sessions/89/reset-timeout + uri: https://testsynapseworkspace.dev.azuresynapse.net/livyApi/versions/2019-11-01-preview/sparkPools/testsparkpool/sessions/263/reset-timeout response: body: string: '' @@ -415,15 +415,15 @@ interactions: content-length: - '0' date: - - Wed, 11 Mar 2020 07:46:25 GMT + - Wed, 29 Apr 2020 07:06:21 GMT server: - Kestrel Microsoft-HTTPAPI/2.0 strict-transport-security: - max-age=31536000; includeSubDomains x-ms-activity-id: - - 7d37653f-5204-40fb-9019-26e9e7252bd2 + - 8b22f535-42c6-4387-a891-e2521cde1ea9 x-ms-response-time-ms: - - '18' + - '44' status: code: 200 message: OK @@ -444,7 +444,7 @@ interactions: User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 azure-synapse/0.1.0 method: POST - uri: https://testsynapseworkspace1234.dev.azuresynapse.net/livyApi/versions/2019-11-01-preview/sparkPools/testsparkpool/sessions/89/statements + uri: https://testsynapseworkspace.dev.azuresynapse.net/livyApi/versions/2019-11-01-preview/sparkPools/testsparkpool/sessions/263/statements response: body: string: '{"id":0,"code":"import time\ntime.sleep(10)\nprint(''hello from cli'')","state":"waiting","output":null}' @@ -452,7 +452,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 11 Mar 2020 07:46:28 GMT + - Wed, 29 Apr 2020 07:06:23 GMT server: - Kestrel Microsoft-HTTPAPI/2.0 strict-transport-security: @@ -460,9 +460,9 @@ interactions: transfer-encoding: - chunked x-ms-activity-id: - - 384a2425-86a5-426d-8220-8c35d77bde8e + - 486b3078-f849-4f94-9b70-d1f8818044ee x-ms-response-time-ms: - - '45' + - '77' status: code: 200 message: OK @@ -480,7 +480,7 @@ interactions: User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 azure-synapse/0.1.0 method: GET - uri: https://testsynapseworkspace1234.dev.azuresynapse.net/livyApi/versions/2019-11-01-preview/sparkPools/testsparkpool/sessions/89/statements/0 + uri: https://testsynapseworkspace.dev.azuresynapse.net/livyApi/versions/2019-11-01-preview/sparkPools/testsparkpool/sessions/263/statements/0 response: body: string: '{"id":0,"code":"import time\ntime.sleep(10)\nprint(''hello from cli'')","state":"running","output":null}' @@ -488,7 +488,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 11 Mar 2020 07:46:29 GMT + - Wed, 29 Apr 2020 07:06:25 GMT server: - Kestrel Microsoft-HTTPAPI/2.0 strict-transport-security: @@ -496,9 +496,9 @@ interactions: transfer-encoding: - chunked x-ms-activity-id: - - 2431dbcc-98f9-4cdb-9e4b-11b9dc5b10e1 + - 8811ede4-3619-4b49-a7b9-aaf98cb7cd58 x-ms-response-time-ms: - - '19' + - '21' status: code: 200 message: OK @@ -516,7 +516,7 @@ interactions: User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 azure-synapse/0.1.0 method: GET - uri: https://testsynapseworkspace1234.dev.azuresynapse.net/livyApi/versions/2019-11-01-preview/sparkPools/testsparkpool/sessions/89/statements + uri: https://testsynapseworkspace.dev.azuresynapse.net/livyApi/versions/2019-11-01-preview/sparkPools/testsparkpool/sessions/263/statements response: body: string: '{"total_statements":1,"statements":[{"id":0,"code":"import time\ntime.sleep(10)\nprint(''hello @@ -525,7 +525,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 11 Mar 2020 07:46:30 GMT + - Wed, 29 Apr 2020 07:06:27 GMT server: - Kestrel Microsoft-HTTPAPI/2.0 strict-transport-security: @@ -533,9 +533,9 @@ interactions: transfer-encoding: - chunked x-ms-activity-id: - - e043601b-ab34-4391-8488-c32f2df8ae35 + - 0271706c-2896-4069-adc9-4333d2db6602 x-ms-response-time-ms: - - '23' + - '58' status: code: 200 message: OK @@ -555,7 +555,7 @@ interactions: User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 azure-synapse/0.1.0 method: POST - uri: https://testsynapseworkspace1234.dev.azuresynapse.net/livyApi/versions/2019-11-01-preview/sparkPools/testsparkpool/sessions/89/statements/0/cancel + uri: https://testsynapseworkspace.dev.azuresynapse.net/livyApi/versions/2019-11-01-preview/sparkPools/testsparkpool/sessions/263/statements/0/cancel response: body: string: '{"msg":"canceled"}' @@ -563,7 +563,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 11 Mar 2020 07:46:32 GMT + - Wed, 29 Apr 2020 07:06:29 GMT server: - Kestrel Microsoft-HTTPAPI/2.0 strict-transport-security: @@ -571,7 +571,7 @@ interactions: transfer-encoding: - chunked x-ms-activity-id: - - 80c35c54-88a9-4a3d-a74b-06c608748f14 + - 10849ead-2876-426d-b84a-942fcdaf5d25 x-ms-response-time-ms: - '16' status: @@ -593,7 +593,7 @@ interactions: User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 azure-synapse/0.1.0 method: DELETE - uri: https://testsynapseworkspace1234.dev.azuresynapse.net/livyApi/versions/2019-11-01-preview/sparkPools/testsparkpool/sessions/89 + uri: https://testsynapseworkspace.dev.azuresynapse.net/livyApi/versions/2019-11-01-preview/sparkPools/testsparkpool/sessions/263 response: body: string: '' @@ -601,15 +601,15 @@ interactions: content-length: - '0' date: - - Wed, 11 Mar 2020 07:46:33 GMT + - Wed, 29 Apr 2020 07:06:32 GMT server: - Kestrel Microsoft-HTTPAPI/2.0 strict-transport-security: - max-age=31536000; includeSubDomains x-ms-activity-id: - - 9ec22b56-551c-432e-a1e2-86e1547c82b3 + - f5516c0c-8250-4969-b8a8-c23d0253dfe9 x-ms-response-time-ms: - - '25' + - '26' status: code: 200 message: OK @@ -627,24 +627,24 @@ interactions: User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 azure-synapse/0.1.0 method: GET - uri: https://testsynapseworkspace1234.dev.azuresynapse.net/livyApi/versions/2019-11-01-preview/sparkPools/testsparkpool/sessions/89?detailed=true + uri: https://testsynapseworkspace.dev.azuresynapse.net/livyApi/versions/2019-11-01-preview/sparkPools/testsparkpool/sessions/263?detailed=true response: body: - string: '{"livyInfo":{"notStartedAt":null,"startingAt":"2020-03-11T07:40:22.1520203+00:00","idleAt":"2020-03-11T07:40:41.287338+00:00","deadAt":null,"shuttingDownAt":null,"killedAt":null,"recoveringAt":null,"busyAt":"2020-03-11T07:46:29.7273691+00:00","errorAt":null,"currentState":"killed","jobCreationRequest":{"name":"session_job","conf":{},"driverMemory":"4g","driverCores":4,"executorMemory":"4g","executorCores":4,"numExecutors":2}},"name":"session_job","workspaceName":"testsynapseworkspace1234","computeName":"testsparkpool","sparkPoolName":"testsparkpool","submitterName":"zhezhou@microsoft.com","submitterId":"8f51e348-1fa6-4194-8d13-8e0368e3298a","artifactId":"Livy","jobType":"SparkSession","result":"Cancelled","schedulerInfo":{"submittedAt":"2020-03-11T07:40:17.7543078+00:00","scheduledAt":"2020-03-11T07:40:19.0215068+00:00","endedAt":"2020-03-11T07:46:44.7171112+00:00","cancellationRequestedAt":"2020-03-11T07:46:33.6636168+00:00","currentState":"Ended"},"pluginInfo":{"preparationStartedAt":"2020-03-11T07:40:19.0340075+00:00","resourceAcquisitionStartedAt":"2020-03-11T07:40:19.3529912+00:00","submissionStartedAt":"2020-03-11T07:40:22.0524783+00:00","monitoringStartedAt":"2020-03-11T07:40:22.1657+00:00","cleanupStartedAt":"2020-03-11T07:46:33.6636196+00:00","currentState":"Ended"},"tags":{},"id":89,"appId":"application_1583905381782_0015","appInfo":{"driverLogUrl":"http://284b17c0c2dc4a37bde77cb7c5642f2900085497131:8042/node/containerlogs/container_1583905381782_0015_01_000001/trusted-service-user","sparkUiUrl":"http://284b17c0c2dc4a37bde77cb7c5642f2900085497131:8088/proxy/application_1583905381782_0015/"},"state":"killed","log":["\t - final status: UNDEFINED","\t tracking URL: http://284b17c0c2dc4a37bde77cb7c5642f2900085497131:8088/proxy/application_1583905381782_0015/","\t - user: trusted-service-user","20/03/11 07:40:25 INFO ShutdownHookManager: Shutdown - hook called","20/03/11 07:40:25 INFO ShutdownHookManager: Deleting directory - /tmp/spark-ecceb79c-6efd-4f48-8b91-24c6353ccefd","20/03/11 07:40:25 INFO ShutdownHookManager: - Deleting directory /tmp/spark-96caaab8-5196-425d-b41a-5bd053df0d1f","20/03/11 - 07:40:25 INFO MetricsSystemImpl: Stopping azure-file-system metrics system...","20/03/11 - 07:40:25 INFO MetricsSystemImpl: azure-file-system metrics system stopped.","20/03/11 - 07:40:25 INFO MetricsSystemImpl: azure-file-system metrics system shutdown + string: '{"livyInfo":{"notStartedAt":null,"startingAt":"2020-04-29T07:00:21.2577523+00:00","idleAt":"2020-04-29T07:00:42.3732975+00:00","deadAt":null,"shuttingDownAt":null,"killedAt":null,"recoveringAt":null,"busyAt":"2020-04-29T07:06:25.9839363+00:00","errorAt":null,"currentState":"killed","jobCreationRequest":{"name":"clisession000002","conf":{},"driverMemory":"28g","driverCores":4,"executorMemory":"28g","executorCores":4,"numExecutors":2}},"name":"clisession000002","workspaceName":"testsynapseworkspace","computeName":"testsparkpool","sparkPoolName":"testsparkpool","submitterName":"zhezhou@microsoft.com","submitterId":"8f51e348-1fa6-4194-8d13-8e0368e3298a","artifactId":"Livy","jobType":"SparkSession","result":"Cancelled","schedulerInfo":{"submittedAt":"2020-04-29T07:00:10.5895665+00:00","scheduledAt":"2020-04-29T07:00:11.053886+00:00","endedAt":"2020-04-29T07:06:41.5608807+00:00","cancellationRequestedAt":"2020-04-29T07:06:32.1961874+00:00","currentState":"Ended"},"pluginInfo":{"preparationStartedAt":"2020-04-29T07:00:11.0655377+00:00","resourceAcquisitionStartedAt":"2020-04-29T07:00:11.4353169+00:00","submissionStartedAt":"2020-04-29T07:00:21.0820919+00:00","monitoringStartedAt":"2020-04-29T07:00:21.2729119+00:00","cleanupStartedAt":"2020-04-29T07:06:32.196191+00:00","currentState":"Ended"},"tags":{},"id":263,"appId":"application_1588139005930_0004","appInfo":{"driverLogUrl":"http://70d59f11630f426881559b28306c09720008c554934:8042/node/containerlogs/container_1588139005930_0004_01_000001/trusted-service-user","sparkUiUrl":"http://70d59f11630f426881559b28306c097200106566738:8088/proxy/application_1588139005930_0004/"},"state":"killed","log":["\t + final status: UNDEFINED","\t tracking URL: http://70d59f11630f426881559b28306c097200106566738:8088/proxy/application_1588139005930_0004/","\t + user: trusted-service-user","20/04/29 07:00:25 INFO ShutdownHookManager: Shutdown + hook called","20/04/29 07:00:25 INFO ShutdownHookManager: Deleting directory + /tmp/spark-e74e5592-9d72-47e3-b6f4-b7855f3f6c9b","20/04/29 07:00:25 INFO ShutdownHookManager: + Deleting directory /tmp/spark-61e8ee3f-d6a1-4f17-afec-6dbe6767b7ea","20/04/29 + 07:00:25 INFO MetricsSystemImpl: Stopping azure-file-system metrics system...","20/04/29 + 07:00:25 INFO MetricsSystemImpl: azure-file-system metrics system stopped.","20/04/29 + 07:00:25 INFO MetricsSystemImpl: azure-file-system metrics system shutdown complete.","\nYARN Diagnostics: "]}' headers: content-type: - application/json; charset=utf-8 date: - - Wed, 11 Mar 2020 07:48:36 GMT + - Wed, 29 Apr 2020 07:08:34 GMT server: - Kestrel Microsoft-HTTPAPI/2.0 strict-transport-security: @@ -652,33 +652,33 @@ interactions: transfer-encoding: - chunked x-ms-activity-id: - - 875d2478-d33d-4cf1-be70-a9bfd8541bb6 + - 9afcb904-ab82-4fef-b288-afe1db0153df x-ms-job-cluster: - - http://171.0.4.7:8998/ + - https://vnet-efcd4013-eastus-3013.eastus.cloudapp.azure.com:58871/ x-ms-job-clusterrequested-on: - - 3/11/2020 7:40:19 AM +00:00 + - 4/29/2020 7:00:11 AM +00:00 x-ms-job-ended-on: - - 3/11/2020 7:46:44 AM +00:00 + - 4/29/2020 7:06:41 AM +00:00 x-ms-job-internal-id: - - '89' + - '263' x-ms-job-livysubmission-on: - - 3/11/2020 7:40:22 AM +00:00 + - 4/29/2020 7:00:21 AM +00:00 x-ms-job-queued-on: - - 3/11/2020 7:40:22 AM +00:00 + - 4/29/2020 7:00:21 AM +00:00 x-ms-job-result: - Cancelled x-ms-job-scheduled-on: - - 3/11/2020 7:40:19 AM +00:00 + - 4/29/2020 7:00:11 AM +00:00 x-ms-job-scheduler-state: - Ended x-ms-job-submitted-by-name: - zhezhou@microsoft.com x-ms-job-submitted-on: - - 3/11/2020 7:40:17 AM +00:00 + - 4/29/2020 7:00:10 AM +00:00 x-ms-job-type: - SparkServiceSession x-ms-response-time-ms: - - '18' + - '16' status: code: 200 message: OK diff --git a/src/synapse/azext_synapse/tests/latest/recordings/test_sql_pool.yaml b/src/synapse/azext_synapse/tests/latest/recordings/test_sql_pool.yaml index 62381c29363..8e221177d45 100644 --- a/src/synapse/azext_synapse/tests/latest/recordings/test_sql_pool.yaml +++ b/src/synapse/azext_synapse/tests/latest/recordings/test_sql_pool.yaml @@ -1,4 +1,98 @@ interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - synapse sql pool create + Connection: + - keep-alive + ParameterSetName: + - --name --performance-level --workspace + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-resource/8.0.1 Azure-SDK-For-Python AZURECLI/2.1.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resources?$filter=resourceType%20eq%20%27Microsoft.Synapse%2Fworkspaces%27%20and%20name%20eq%20%27testsynapseworkspace%27&api-version=2019-07-01 + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace","name":"testsynapseworkspace","type":"Microsoft.Synapse/workspaces","location":"eastus","identity":{"principalId":"5c40eee1-1044-4ec5-9d56-bbbd73b93df0","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"tags":{"key1":"value2"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '412' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 21 Apr 2020 12:36:37 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - synapse sql pool create + Connection: + - keep-alive + ParameterSetName: + - --name --performance-level --workspace + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-synapse/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace?api-version=2019-06-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace","location":"eastus","name":"testsynapseworkspace","type":"Microsoft.Synapse/workspaces","identity":{"type":"SystemAssigned","principalId":"5c40eee1-1044-4ec5-9d56-bbbd73b93df0","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"tags":{"key1":"value2"},"properties":{"connectivityEndpoints":{"web":"https://web.azuresynapse.net?workspace=%2fsubscriptions%2f051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3%2fresourceGroups%2frg%2fproviders%2fMicrosoft.Synapse%2fworkspaces%2ftestsynapseworkspace","sql":"testsynapseworkspace.sql.azuresynapse.net","dev":"https://testsynapseworkspace.dev.azuresynapse.net","sqlOnDemand":"testsynapseworkspace-ondemand.sql.azuresynapse.net"},"managedResourceGroupName":"workspacemanagedrg-cf1e0457-375a-4c2d-a9b4-51676e4fce7c","defaultDataLakeStorage":{"accountUrl":"https://adlsgen2account.dfs.core.windows.net","filesystem":"testfilesystem"},"sqlAdministratorLogin":"zzy","privateEndpointConnections":[],"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '1113' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 21 Apr 2020 12:36:38 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK - request: body: '{"location": "eastus", "sku": {"name": "DW1000c"}}' headers: @@ -15,17 +109,17 @@ interactions: Content-Type: - application/json; charset=utf-8 ParameterSetName: - - --name --sku-name --workspace-name --resource-group --location + - --name --performance-level --workspace User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-synapse/0.1.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-synapse/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace1234/sqlPools/testsqlpool000001?api-version=2019-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/sqlPools/testsqlpool000001?api-version=2019-06-01-preview response: body: - string: '{"properties":{"maxSizeBytes":0,"restorePointInTime":"0001-01-01T00:00:00","creationDate":"0001-01-01T00:00:00","provisioningState":"Provisioning"},"sku":{"name":"DW1000c"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace1234/sqlPools/testsqlpool000001","name":"testsqlpool000001","type":"Microsoft.Synapse/workspaces/sqlPools"}' + string: '{"properties":{"maxSizeBytes":0,"restorePointInTime":"0001-01-01T00:00:00","creationDate":"0001-01-01T00:00:00","provisioningState":"Provisioning"},"sku":{"name":"DW1000c"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/sqlPools/testsqlpool000001","name":"testsqlpool000001","type":"Microsoft.Synapse/workspaces/sqlPools"}' headers: access-control-allow-headers: - Location @@ -34,7 +128,7 @@ interactions: - Location - Retry-After azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace1234/operationStatuses/d4bbfe45-3403-4473-930e-921a27834726?api-version=2019-06-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/operationStatuses/1a1df1fa-05d3-4d1c-94f5-776f3891dba8?api-version=2019-06-01-preview cache-control: - no-cache content-length: @@ -42,11 +136,11 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 11 Mar 2020 04:29:36 GMT + - Tue, 21 Apr 2020 12:36:49 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace1234/operationResults/d4bbfe45-3403-4473-930e-921a27834726?api-version=2019-06-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/operationResults/1a1df1fa-05d3-4d1c-94f5-776f3891dba8?api-version=2019-06-01-preview pragma: - no-cache server: @@ -72,12 +166,12 @@ interactions: Connection: - keep-alive ParameterSetName: - - --name --sku-name --workspace-name --resource-group --location + - --name --performance-level --workspace User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-synapse/0.1.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-synapse/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace1234/operationStatuses/d4bbfe45-3403-4473-930e-921a27834726?api-version=2019-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/operationStatuses/1a1df1fa-05d3-4d1c-94f5-776f3891dba8?api-version=2019-06-01-preview response: body: string: '{"status":"InProgress"}' @@ -89,7 +183,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 11 Mar 2020 04:29:47 GMT + - Tue, 21 Apr 2020 12:37:02 GMT expires: - '-1' pragma: @@ -119,12 +213,12 @@ interactions: Connection: - keep-alive ParameterSetName: - - --name --sku-name --workspace-name --resource-group --location + - --name --performance-level --workspace User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-synapse/0.1.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-synapse/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace1234/operationStatuses/d4bbfe45-3403-4473-930e-921a27834726?api-version=2019-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/operationStatuses/1a1df1fa-05d3-4d1c-94f5-776f3891dba8?api-version=2019-06-01-preview response: body: string: '{"status":"InProgress"}' @@ -136,7 +230,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 11 Mar 2020 04:30:17 GMT + - Tue, 21 Apr 2020 12:37:32 GMT expires: - '-1' pragma: @@ -166,12 +260,12 @@ interactions: Connection: - keep-alive ParameterSetName: - - --name --sku-name --workspace-name --resource-group --location + - --name --performance-level --workspace User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-synapse/0.1.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-synapse/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace1234/operationStatuses/d4bbfe45-3403-4473-930e-921a27834726?api-version=2019-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/operationStatuses/1a1df1fa-05d3-4d1c-94f5-776f3891dba8?api-version=2019-06-01-preview response: body: string: '{"status":"InProgress"}' @@ -183,7 +277,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 11 Mar 2020 04:30:48 GMT + - Tue, 21 Apr 2020 12:38:02 GMT expires: - '-1' pragma: @@ -213,12 +307,12 @@ interactions: Connection: - keep-alive ParameterSetName: - - --name --sku-name --workspace-name --resource-group --location + - --name --performance-level --workspace User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-synapse/0.1.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-synapse/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace1234/operationStatuses/d4bbfe45-3403-4473-930e-921a27834726?api-version=2019-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/operationStatuses/1a1df1fa-05d3-4d1c-94f5-776f3891dba8?api-version=2019-06-01-preview response: body: string: '{"status":"InProgress"}' @@ -230,7 +324,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 11 Mar 2020 04:31:19 GMT + - Tue, 21 Apr 2020 12:38:34 GMT expires: - '-1' pragma: @@ -260,12 +354,12 @@ interactions: Connection: - keep-alive ParameterSetName: - - --name --sku-name --workspace-name --resource-group --location + - --name --performance-level --workspace User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-synapse/0.1.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-synapse/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace1234/operationStatuses/d4bbfe45-3403-4473-930e-921a27834726?api-version=2019-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/operationStatuses/1a1df1fa-05d3-4d1c-94f5-776f3891dba8?api-version=2019-06-01-preview response: body: string: '{"status":"InProgress"}' @@ -277,7 +371,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 11 Mar 2020 04:31:49 GMT + - Tue, 21 Apr 2020 12:39:04 GMT expires: - '-1' pragma: @@ -307,12 +401,12 @@ interactions: Connection: - keep-alive ParameterSetName: - - --name --sku-name --workspace-name --resource-group --location + - --name --performance-level --workspace User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-synapse/0.1.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-synapse/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace1234/operationStatuses/d4bbfe45-3403-4473-930e-921a27834726?api-version=2019-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/operationStatuses/1a1df1fa-05d3-4d1c-94f5-776f3891dba8?api-version=2019-06-01-preview response: body: string: '{"status":"InProgress"}' @@ -324,7 +418,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 11 Mar 2020 04:32:20 GMT + - Tue, 21 Apr 2020 12:39:34 GMT expires: - '-1' pragma: @@ -354,12 +448,12 @@ interactions: Connection: - keep-alive ParameterSetName: - - --name --sku-name --workspace-name --resource-group --location + - --name --performance-level --workspace User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-synapse/0.1.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-synapse/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace1234/operationStatuses/d4bbfe45-3403-4473-930e-921a27834726?api-version=2019-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/operationStatuses/1a1df1fa-05d3-4d1c-94f5-776f3891dba8?api-version=2019-06-01-preview response: body: string: '{"status":"Succeeded"}' @@ -371,7 +465,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 11 Mar 2020 04:32:50 GMT + - Tue, 21 Apr 2020 12:40:05 GMT expires: - '-1' pragma: @@ -401,15 +495,15 @@ interactions: Connection: - keep-alive ParameterSetName: - - --name --sku-name --workspace-name --resource-group --location + - --name --performance-level --workspace User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-synapse/0.1.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-synapse/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace1234/sqlPools/testsqlpool000001?api-version=2019-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/sqlPools/testsqlpool000001?api-version=2019-06-01-preview response: body: - string: '{"properties":{"status":"Online","maxSizeBytes":263882790666240,"collation":"SQL_Latin1_General_CP1_CI_AS","restorePointInTime":"0001-01-01T00:00:00","creationDate":"2020-03-11T04:32:21.7Z","provisioningState":"Succeeded"},"sku":{"name":"DW1000c"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace1234/sqlPools/testsqlpool000001","name":"testsqlpool000001","type":"Microsoft.Synapse/workspaces/sqlPools","location":"eastus"}' + string: '{"properties":{"status":"Online","maxSizeBytes":263882790666240,"collation":"SQL_Latin1_General_CP1_CI_AS","restorePointInTime":"0001-01-01T00:00:00","creationDate":"2020-04-21T12:39:46.4Z","provisioningState":"Succeeded"},"sku":{"name":"DW1000c"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/sqlPools/testsqlpool000001","name":"testsqlpool000001","type":"Microsoft.Synapse/workspaces/sqlPools","location":"eastus"}' headers: cache-control: - no-cache @@ -418,7 +512,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 11 Mar 2020 04:32:51 GMT + - Tue, 21 Apr 2020 12:40:06 GMT expires: - '-1' pragma: @@ -448,36 +542,32 @@ interactions: Connection: - keep-alive ParameterSetName: - - --name --workspace-name --resource-group + - --name --workspace User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-synapse/0.1.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-resource/8.0.1 Azure-SDK-For-Python AZURECLI/2.1.0 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace1234/sqlPools/testsqlpool000001?api-version=2019-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resources?$filter=resourceType%20eq%20%27Microsoft.Synapse%2Fworkspaces%27%20and%20name%20eq%20%27testsynapseworkspace%27&api-version=2019-07-01 response: body: - string: '{"properties":{"status":"Online","maxSizeBytes":263882790666240,"collation":"SQL_Latin1_General_CP1_CI_AS","restorePointInTime":"0001-01-01T00:00:00","creationDate":"2020-03-11T04:32:21.7Z","provisioningState":"Succeeded"},"sku":{"name":"DW1000c"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace1234/sqlPools/testsqlpool000001","name":"testsqlpool000001","type":"Microsoft.Synapse/workspaces/sqlPools","location":"eastus"}' + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace","name":"testsynapseworkspace","type":"Microsoft.Synapse/workspaces","location":"eastus","identity":{"principalId":"5c40eee1-1044-4ec5-9d56-bbbd73b93df0","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"tags":{"key1":"value2"}}]}' headers: cache-control: - no-cache content-length: - - '511' + - '412' content-type: - application/json; charset=utf-8 date: - - Wed, 11 Mar 2020 04:32:53 GMT + - Tue, 21 Apr 2020 12:40:08 GMT expires: - '-1' pragma: - no-cache - server: - - Microsoft-HTTPAPI/2.0 strict-transport-security: - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked vary: - Accept-Encoding x-content-type-options: @@ -493,30 +583,30 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - synapse sql pool list + - synapse sql pool show Connection: - keep-alive ParameterSetName: - - --workspace-name --resource-group + - --name --workspace User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-synapse/0.1.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-synapse/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace1234/sqlPools?api-version=2019-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/sqlPools/testsqlpool000001?api-version=2019-06-01-preview response: body: - string: '{"value":[{"properties":{"status":"Paused","maxSizeBytes":263882790666240,"collation":"SQL_Latin1_General_CP1_CI_AS","restorePointInTime":"0001-01-01T00:00:00","creationDate":"2020-03-02T04:27:54.933Z","provisioningState":"Succeeded"},"sku":{"name":"DW1500c"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace1234/sqlPools/sqlpoolcli1","name":"sqlpoolcli1","type":"Microsoft.Synapse/workspaces/sqlPools","location":"eastus"},{"properties":{"status":"Online","maxSizeBytes":263882790666240,"collation":"SQL_Latin1_General_CP1_CI_AS","restorePointInTime":"0001-01-01T00:00:00","creationDate":"2020-03-11T04:32:21.7Z","provisioningState":"Succeeded"},"sku":{"name":"DW1000c"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace1234/sqlPools/testsqlpool000001","name":"testsqlpool000001","type":"Microsoft.Synapse/workspaces/sqlPools","location":"eastus"},{"properties":{"status":"Paused","maxSizeBytes":263882790666240,"collation":"SQL_Latin1_General_CP1_CI_AS","restorePointInTime":"0001-01-01T00:00:00","creationDate":"2020-03-11T04:22:29.527Z","provisioningState":"Succeeded"},"sku":{"name":"DW1000c"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace1234/sqlPools/testsqlpoolfxii","name":"testsqlpoolfxii","type":"Microsoft.Synapse/workspaces/sqlPools","location":"eastus"}]}' + string: '{"properties":{"status":"Online","maxSizeBytes":263882790666240,"collation":"SQL_Latin1_General_CP1_CI_AS","restorePointInTime":"0001-01-01T00:00:00","creationDate":"2020-04-21T12:39:46.4Z","provisioningState":"Succeeded"},"sku":{"name":"DW1000c"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/sqlPools/testsqlpool000001","name":"testsqlpool000001","type":"Microsoft.Synapse/workspaces/sqlPools","location":"eastus"}' headers: cache-control: - no-cache content-length: - - '1543' + - '511' content-type: - application/json; charset=utf-8 date: - - Wed, 11 Mar 2020 04:32:56 GMT + - Tue, 21 Apr 2020 12:40:10 GMT expires: - '-1' pragma: @@ -542,53 +632,43 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - synapse sql pool pause + - synapse sql pool list Connection: - keep-alive - Content-Length: - - '0' ParameterSetName: - - --name --workspace-name --resource-group + - --workspace User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-synapse/0.1.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-resource/8.0.1 Azure-SDK-For-Python AZURECLI/2.1.0 accept-language: - en-US - method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace1234/sqlPools/testsqlpool000001/pause?api-version=2019-06-01-preview + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resources?$filter=resourceType%20eq%20%27Microsoft.Synapse%2Fworkspaces%27%20and%20name%20eq%20%27testsynapseworkspace%27&api-version=2019-07-01 response: body: - string: '' + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace","name":"testsynapseworkspace","type":"Microsoft.Synapse/workspaces","location":"eastus","identity":{"principalId":"5c40eee1-1044-4ec5-9d56-bbbd73b93df0","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"tags":{"key1":"value2"}}]}' headers: - access-control-allow-headers: - - Location - access-control-expose-headers: - - Location cache-control: - no-cache content-length: - - '0' + - '412' + content-type: + - application/json; charset=utf-8 date: - - Wed, 11 Mar 2020 04:32:57 GMT + - Tue, 21 Apr 2020 12:40:12 GMT expires: - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace1234/operationResults/sql01ftr-23927022-792d-4900-88b8-03d5b660c8bb?api-version=2019-06-01-preview pragma: - no-cache - retryafter: - - '' - server: - - Microsoft-HTTPAPI/2.0 strict-transport-security: - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding x-content-type-options: - nosniff - x-ms-ratelimit-remaining-subscription-writes: - - '1199' status: - code: 202 - message: Accepted + code: 200 + message: OK - request: body: null headers: @@ -597,47 +677,47 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - synapse sql pool pause + - synapse sql pool list Connection: - keep-alive ParameterSetName: - - --name --workspace-name --resource-group + - --workspace User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-synapse/0.1.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-synapse/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + accept-language: + - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace1234/operationResults/sql01ftr-23927022-792d-4900-88b8-03d5b660c8bb?api-version=2019-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/sqlPools?api-version=2019-06-01-preview response: body: - string: '' + string: '{"value":[{"properties":{"status":"Online","maxSizeBytes":263882790666240,"collation":"SQL_Latin1_General_CP1_CI_AS","restorePointInTime":"0001-01-01T00:00:00","creationDate":"2020-04-09T16:32:45.19Z","provisioningState":"Succeeded"},"sku":{"name":"DW200c"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/sqlPools/clisql3038","name":"clisql3038","type":"Microsoft.Synapse/workspaces/sqlPools","location":"eastus"},{"properties":{"status":"Paused","maxSizeBytes":263882790666240,"collation":"SQL_Latin1_General_CP1_CI_AS","restorePointInTime":"0001-01-01T00:00:00","creationDate":"2020-03-02T04:27:54.933Z","provisioningState":"Succeeded"},"sku":{"name":"DW1500c"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/sqlPools/sqlpoolcli1","name":"sqlpoolcli1","type":"Microsoft.Synapse/workspaces/sqlPools","location":"eastus"},{"properties":{"status":"Online","maxSizeBytes":263882790666240,"collation":"SQL_Latin1_General_CP1_CI_AS","restorePointInTime":"0001-01-01T00:00:00","creationDate":"2020-04-21T12:39:46.4Z","provisioningState":"Succeeded"},"sku":{"name":"DW1000c"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/sqlPools/testsqlpool000001","name":"testsqlpool000001","type":"Microsoft.Synapse/workspaces/sqlPools","location":"eastus"},{"properties":{"status":"Online","maxSizeBytes":263882790666240,"collation":"SQL_Latin1_General_CP1_CI_AS","restorePointInTime":"0001-01-01T00:00:00","creationDate":"2020-03-11T04:22:29.527Z","provisioningState":"Succeeded"},"sku":{"name":"DW1000c"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/sqlPools/testsqlpoolfxii","name":"testsqlpoolfxii","type":"Microsoft.Synapse/workspaces/sqlPools","location":"eastus","tags":{"key1":"value1"}},{"properties":{"status":"Online","maxSizeBytes":263882790666240,"collation":"SQL_Latin1_General_CP1_CI_AS","restorePointInTime":"0001-01-01T00:00:00","creationDate":"2020-04-21T12:13:40.483Z","provisioningState":"Succeeded"},"sku":{"name":"DW1000c"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/sqlPools/testsqlpoolhz3q","name":"testsqlpoolhz3q","type":"Microsoft.Synapse/workspaces/sqlPools","location":"eastus","tags":{"key1":"value1"}}]}' headers: - access-control-allow-headers: - - Location - access-control-expose-headers: - - Location cache-control: - no-cache content-length: - - '0' + - '2609' + content-type: + - application/json; charset=utf-8 date: - - Wed, 11 Mar 2020 04:33:29 GMT + - Tue, 21 Apr 2020 12:40:14 GMT expires: - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace1234/operationResults/sql01ftr-23927022-792d-4900-88b8-03d5b660c8bb?api-version=2019-06-01-preview pragma: - no-cache - retryafter: - - '' server: - Microsoft-HTTPAPI/2.0 strict-transport-security: - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding x-content-type-options: - nosniff status: - code: 202 - message: Accepted + code: 200 + message: OK - request: body: null headers: @@ -646,16 +726,67 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - synapse sql pool pause + - synapse sql pool update Connection: - keep-alive ParameterSetName: - - --name --workspace-name --resource-group + - --ids --tags User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-synapse/0.1.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-resource/8.0.1 Azure-SDK-For-Python AZURECLI/2.1.0 + accept-language: + - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace1234/operationResults/sql01ftr-23927022-792d-4900-88b8-03d5b660c8bb?api-version=2019-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resources?$filter=resourceType%20eq%20%27Microsoft.Synapse%2Fworkspaces%27%20and%20name%20eq%20%27testsynapseworkspace%27&api-version=2019-07-01 + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace","name":"testsynapseworkspace","type":"Microsoft.Synapse/workspaces","location":"eastus","identity":{"principalId":"5c40eee1-1044-4ec5-9d56-bbbd73b93df0","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"tags":{"key1":"value2"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '412' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 21 Apr 2020 12:40:15 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"tags": {"key1": "value1"}, "sku": {}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - synapse sql pool update + Connection: + - keep-alive + Content-Length: + - '39' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - --ids --tags + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-synapse/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + accept-language: + - en-US + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/sqlPools/testsqlpool000001?api-version=2019-06-01-preview response: body: string: '' @@ -669,11 +800,11 @@ interactions: content-length: - '0' date: - - Wed, 11 Mar 2020 04:33:59 GMT + - Tue, 21 Apr 2020 12:40:21 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace1234/operationResults/sql01ftr-23927022-792d-4900-88b8-03d5b660c8bb?api-version=2019-06-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/operationResults/sql04ftr-a88a1935-ca31-4855-bc12-d8295b95e17e?api-version=2019-06-01-preview pragma: - no-cache retryafter: @@ -684,6 +815,8 @@ interactions: - max-age=31536000; includeSubDomains x-content-type-options: - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' status: code: 202 message: Accepted @@ -695,47 +828,43 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - synapse sql pool pause + - synapse sql pool show Connection: - keep-alive ParameterSetName: - - --name --workspace-name --resource-group + - --ids User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-synapse/0.1.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-resource/8.0.1 Azure-SDK-For-Python AZURECLI/2.1.0 + accept-language: + - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace1234/operationResults/sql01ftr-23927022-792d-4900-88b8-03d5b660c8bb?api-version=2019-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resources?$filter=resourceType%20eq%20%27Microsoft.Synapse%2Fworkspaces%27%20and%20name%20eq%20%27testsynapseworkspace%27&api-version=2019-07-01 response: body: - string: '' + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace","name":"testsynapseworkspace","type":"Microsoft.Synapse/workspaces","location":"eastus","identity":{"principalId":"5c40eee1-1044-4ec5-9d56-bbbd73b93df0","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"tags":{"key1":"value2"}}]}' headers: - access-control-allow-headers: - - Location - access-control-expose-headers: - - Location cache-control: - no-cache content-length: - - '0' + - '412' + content-type: + - application/json; charset=utf-8 date: - - Wed, 11 Mar 2020 04:34:30 GMT + - Tue, 21 Apr 2020 12:40:22 GMT expires: - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace1234/operationResults/sql01ftr-23927022-792d-4900-88b8-03d5b660c8bb?api-version=2019-06-01-preview pragma: - no-cache - retryafter: - - '' - server: - - Microsoft-HTTPAPI/2.0 strict-transport-security: - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding x-content-type-options: - nosniff status: - code: 202 - message: Accepted + code: 200 + message: OK - request: body: null headers: @@ -744,28 +873,30 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - synapse sql pool pause + - synapse sql pool show Connection: - keep-alive ParameterSetName: - - --name --workspace-name --resource-group + - --ids User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-synapse/0.1.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-synapse/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + accept-language: + - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace1234/operationResults/sql01ftr-23927022-792d-4900-88b8-03d5b660c8bb?api-version=2019-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/sqlPools/testsqlpool000001?api-version=2019-06-01-preview response: body: - string: '{"sku":{},"kind":"v12.0,user,datawarehouse,gen2","properties":{"collation":"SQL_Latin1_General_CP1_CI_AS","maxSizeBytes":263882790666240,"status":"Paused","databaseId":"b33d5930-26f0-49ff-adb4-8cc3f1354631","creationDate":"2020-03-11T04:32:21.7Z","currentServiceObjectiveName":"DW1000c","defaultSecondaryLocation":"westus","catalogCollation":"SQL_Latin1_General_CP1_CI_AS"},"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace1234/sqlPools/testsqlpool000001","name":"testsqlpool000001","type":"Microsoft.Synapse/workspaces/sqlPools"}' + string: '{"properties":{"status":"Online","maxSizeBytes":263882790666240,"collation":"SQL_Latin1_General_CP1_CI_AS","restorePointInTime":"0001-01-01T00:00:00","creationDate":"2020-04-21T12:39:46.4Z","provisioningState":"Succeeded"},"sku":{"name":"DW1000c"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/sqlPools/testsqlpool000001","name":"testsqlpool000001","type":"Microsoft.Synapse/workspaces/sqlPools","location":"eastus","tags":{"key1":"value1"}}' headers: cache-control: - no-cache content-length: - - '637' + - '536' content-type: - application/json; charset=utf-8 date: - - Wed, 11 Mar 2020 04:35:00 GMT + - Tue, 21 Apr 2020 12:40:24 GMT expires: - '-1' pragma: @@ -791,40 +922,36 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - synapse sql pool show + - synapse sql pool pause Connection: - keep-alive ParameterSetName: - - --name --workspace-name --resource-group + - --name --workspace User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-synapse/0.1.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-resource/8.0.1 Azure-SDK-For-Python AZURECLI/2.1.0 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace1234/sqlPools/testsqlpool000001?api-version=2019-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resources?$filter=resourceType%20eq%20%27Microsoft.Synapse%2Fworkspaces%27%20and%20name%20eq%20%27testsynapseworkspace%27&api-version=2019-07-01 response: body: - string: '{"properties":{"status":"Paused","maxSizeBytes":263882790666240,"collation":"SQL_Latin1_General_CP1_CI_AS","restorePointInTime":"0001-01-01T00:00:00","creationDate":"2020-03-11T04:32:21.7Z","provisioningState":"Succeeded"},"sku":{"name":"DW1000c"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace1234/sqlPools/testsqlpool000001","name":"testsqlpool000001","type":"Microsoft.Synapse/workspaces/sqlPools","location":"eastus"}' + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace","name":"testsynapseworkspace","type":"Microsoft.Synapse/workspaces","location":"eastus","identity":{"principalId":"5c40eee1-1044-4ec5-9d56-bbbd73b93df0","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"tags":{"key1":"value2"}}]}' headers: cache-control: - no-cache content-length: - - '511' + - '412' content-type: - application/json; charset=utf-8 date: - - Wed, 11 Mar 2020 04:35:03 GMT + - Tue, 21 Apr 2020 12:40:25 GMT expires: - '-1' pragma: - no-cache - server: - - Microsoft-HTTPAPI/2.0 strict-transport-security: - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked vary: - Accept-Encoding x-content-type-options: @@ -840,20 +967,20 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - synapse sql pool resume + - synapse sql pool pause Connection: - keep-alive Content-Length: - '0' ParameterSetName: - - --name --workspace-name --resource-group + - --name --workspace User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-synapse/0.1.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-synapse/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 accept-language: - en-US method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace1234/sqlPools/testsqlpool000001/resume?api-version=2019-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/sqlPools/testsqlpool000001/pause?api-version=2019-06-01-preview response: body: string: '' @@ -867,11 +994,11 @@ interactions: content-length: - '0' date: - - Wed, 11 Mar 2020 04:35:04 GMT + - Tue, 21 Apr 2020 12:40:29 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace1234/operationResults/sql01ftr-720059dc-51b8-4211-b5b3-a2ec3bbf8092?api-version=2019-06-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/operationResults/sql01ftr-087bf7aa-1f72-45fe-863f-b38772959b56?api-version=2019-06-01-preview pragma: - no-cache retryafter: @@ -895,16 +1022,16 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - synapse sql pool resume + - synapse sql pool pause Connection: - keep-alive ParameterSetName: - - --name --workspace-name --resource-group + - --name --workspace User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-synapse/0.1.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-synapse/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace1234/operationResults/sql01ftr-720059dc-51b8-4211-b5b3-a2ec3bbf8092?api-version=2019-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/operationResults/sql01ftr-087bf7aa-1f72-45fe-863f-b38772959b56?api-version=2019-06-01-preview response: body: string: '' @@ -918,11 +1045,11 @@ interactions: content-length: - '0' date: - - Wed, 11 Mar 2020 04:35:36 GMT + - Tue, 21 Apr 2020 12:41:01 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace1234/operationResults/sql01ftr-720059dc-51b8-4211-b5b3-a2ec3bbf8092?api-version=2019-06-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/operationResults/sql01ftr-087bf7aa-1f72-45fe-863f-b38772959b56?api-version=2019-06-01-preview pragma: - no-cache retryafter: @@ -944,16 +1071,16 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - synapse sql pool resume + - synapse sql pool pause Connection: - keep-alive ParameterSetName: - - --name --workspace-name --resource-group + - --name --workspace User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-synapse/0.1.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-synapse/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace1234/operationResults/sql01ftr-720059dc-51b8-4211-b5b3-a2ec3bbf8092?api-version=2019-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/operationResults/sql01ftr-087bf7aa-1f72-45fe-863f-b38772959b56?api-version=2019-06-01-preview response: body: string: '' @@ -967,11 +1094,11 @@ interactions: content-length: - '0' date: - - Wed, 11 Mar 2020 04:36:07 GMT + - Tue, 21 Apr 2020 12:41:31 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace1234/operationResults/sql01ftr-720059dc-51b8-4211-b5b3-a2ec3bbf8092?api-version=2019-06-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/operationResults/sql01ftr-087bf7aa-1f72-45fe-863f-b38772959b56?api-version=2019-06-01-preview pragma: - no-cache retryafter: @@ -993,28 +1120,28 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - synapse sql pool resume + - synapse sql pool pause Connection: - keep-alive ParameterSetName: - - --name --workspace-name --resource-group + - --name --workspace User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-synapse/0.1.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-synapse/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace1234/operationResults/sql01ftr-720059dc-51b8-4211-b5b3-a2ec3bbf8092?api-version=2019-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/operationResults/sql01ftr-087bf7aa-1f72-45fe-863f-b38772959b56?api-version=2019-06-01-preview response: body: - string: '{"sku":{},"kind":"v12.0,user,datawarehouse,gen2","properties":{"collation":"SQL_Latin1_General_CP1_CI_AS","maxSizeBytes":263882790666240,"status":"Online","databaseId":"b33d5930-26f0-49ff-adb4-8cc3f1354631","creationDate":"2020-03-11T04:32:21.7Z","currentServiceObjectiveName":"DW1000c","defaultSecondaryLocation":"westus","catalogCollation":"SQL_Latin1_General_CP1_CI_AS"},"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace1234/sqlPools/testsqlpool000001","name":"testsqlpool000001","type":"Microsoft.Synapse/workspaces/sqlPools"}' + string: '{"sku":{},"kind":"v12.0,user,datawarehouse,gen2","properties":{"collation":"SQL_Latin1_General_CP1_CI_AS","maxSizeBytes":263882790666240,"status":"Paused","databaseId":"8de559d5-de26-4cd8-8e04-0e962e54ae95","creationDate":"2020-04-21T12:39:46.4Z","currentServiceObjectiveName":"DW1000c","defaultSecondaryLocation":"westus","catalogCollation":"SQL_Latin1_General_CP1_CI_AS"},"location":"eastus","tags":{"key1":"value1"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/sqlPools/testsqlpool000001","name":"testsqlpool000001","type":"Microsoft.Synapse/workspaces/sqlPools"}' headers: cache-control: - no-cache content-length: - - '637' + - '662' content-type: - application/json; charset=utf-8 date: - - Wed, 11 Mar 2020 04:36:37 GMT + - Tue, 21 Apr 2020 12:42:02 GMT expires: - '-1' pragma: @@ -1044,36 +1171,32 @@ interactions: Connection: - keep-alive ParameterSetName: - - --name --workspace-name --resource-group + - --name --workspace User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-synapse/0.1.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-resource/8.0.1 Azure-SDK-For-Python AZURECLI/2.1.0 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace1234/sqlPools/testsqlpool000001?api-version=2019-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resources?$filter=resourceType%20eq%20%27Microsoft.Synapse%2Fworkspaces%27%20and%20name%20eq%20%27testsynapseworkspace%27&api-version=2019-07-01 response: body: - string: '{"properties":{"status":"Online","maxSizeBytes":263882790666240,"collation":"SQL_Latin1_General_CP1_CI_AS","restorePointInTime":"0001-01-01T00:00:00","creationDate":"2020-03-11T04:32:21.7Z","provisioningState":"Succeeded"},"sku":{"name":"DW1000c"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace1234/sqlPools/testsqlpool000001","name":"testsqlpool000001","type":"Microsoft.Synapse/workspaces/sqlPools","location":"eastus"}' + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace","name":"testsynapseworkspace","type":"Microsoft.Synapse/workspaces","location":"eastus","identity":{"principalId":"5c40eee1-1044-4ec5-9d56-bbbd73b93df0","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"tags":{"key1":"value2"}}]}' headers: cache-control: - no-cache content-length: - - '511' + - '412' content-type: - application/json; charset=utf-8 date: - - Wed, 11 Mar 2020 04:36:39 GMT + - Tue, 21 Apr 2020 12:42:04 GMT expires: - '-1' pragma: - no-cache - server: - - Microsoft-HTTPAPI/2.0 strict-transport-security: - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked vary: - Accept-Encoding x-content-type-options: @@ -1089,54 +1212,487 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - synapse sql pool delete + - synapse sql pool show Connection: - keep-alive - Content-Length: - - '0' ParameterSetName: - - --name --workspace-name --resource-group --yes + - --name --workspace User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-synapse/0.1.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-synapse/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 accept-language: - en-US - method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace1234/sqlPools/testsqlpool000001?api-version=2019-06-01-preview + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/sqlPools/testsqlpool000001?api-version=2019-06-01-preview response: body: - string: '' + string: '{"properties":{"status":"Paused","maxSizeBytes":263882790666240,"collation":"SQL_Latin1_General_CP1_CI_AS","restorePointInTime":"0001-01-01T00:00:00","creationDate":"2020-04-21T12:39:46.4Z","provisioningState":"Succeeded"},"sku":{"name":"DW1000c"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/sqlPools/testsqlpool000001","name":"testsqlpool000001","type":"Microsoft.Synapse/workspaces/sqlPools","location":"eastus","tags":{"key1":"value1"}}' headers: - access-control-allow-headers: - - Location - - Retry-After - access-control-expose-headers: - - Location - - Retry-After - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace1234/operationStatuses/ebbc3609-5cdf-4089-abff-7ef09476eff4?api-version=2019-06-01-preview cache-control: - no-cache content-length: - - '0' + - '536' + content-type: + - application/json; charset=utf-8 date: - - Wed, 11 Mar 2020 04:36:42 GMT + - Tue, 21 Apr 2020 12:42:04 GMT expires: - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace1234/operationResults/ebbc3609-5cdf-4089-abff-7ef09476eff4?api-version=2019-06-01-preview pragma: - no-cache server: - Microsoft-HTTPAPI/2.0 strict-transport-security: - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding x-content-type-options: - nosniff - x-ms-ratelimit-remaining-subscription-deletes: - - '14999' status: - code: 202 + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - synapse sql pool resume + Connection: + - keep-alive + ParameterSetName: + - --name --workspace + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-resource/8.0.1 Azure-SDK-For-Python AZURECLI/2.1.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resources?$filter=resourceType%20eq%20%27Microsoft.Synapse%2Fworkspaces%27%20and%20name%20eq%20%27testsynapseworkspace%27&api-version=2019-07-01 + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace","name":"testsynapseworkspace","type":"Microsoft.Synapse/workspaces","location":"eastus","identity":{"principalId":"5c40eee1-1044-4ec5-9d56-bbbd73b93df0","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"tags":{"key1":"value2"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '412' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 21 Apr 2020 12:42:05 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - synapse sql pool resume + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --name --workspace + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-synapse/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + accept-language: + - en-US + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/sqlPools/testsqlpool000001/resume?api-version=2019-06-01-preview + response: + body: + string: '' + headers: + access-control-allow-headers: + - Location + access-control-expose-headers: + - Location + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 21 Apr 2020 12:42:08 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/operationResults/sql01ftr-e02fb070-02e7-46d8-b334-c0c2fe182611?api-version=2019-06-01-preview + pragma: + - no-cache + retryafter: + - '' + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - synapse sql pool resume + Connection: + - keep-alive + ParameterSetName: + - --name --workspace + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-synapse/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/operationResults/sql01ftr-e02fb070-02e7-46d8-b334-c0c2fe182611?api-version=2019-06-01-preview + response: + body: + string: '' + headers: + access-control-allow-headers: + - Location + access-control-expose-headers: + - Location + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 21 Apr 2020 12:42:40 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/operationResults/sql01ftr-e02fb070-02e7-46d8-b334-c0c2fe182611?api-version=2019-06-01-preview + pragma: + - no-cache + retryafter: + - '' + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - synapse sql pool resume + Connection: + - keep-alive + ParameterSetName: + - --name --workspace + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-synapse/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/operationResults/sql01ftr-e02fb070-02e7-46d8-b334-c0c2fe182611?api-version=2019-06-01-preview + response: + body: + string: '' + headers: + access-control-allow-headers: + - Location + access-control-expose-headers: + - Location + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 21 Apr 2020 12:43:10 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/operationResults/sql01ftr-e02fb070-02e7-46d8-b334-c0c2fe182611?api-version=2019-06-01-preview + pragma: + - no-cache + retryafter: + - '' + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - synapse sql pool resume + Connection: + - keep-alive + ParameterSetName: + - --name --workspace + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-synapse/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/operationResults/sql01ftr-e02fb070-02e7-46d8-b334-c0c2fe182611?api-version=2019-06-01-preview + response: + body: + string: '{"sku":{},"kind":"v12.0,user,datawarehouse,gen2","properties":{"collation":"SQL_Latin1_General_CP1_CI_AS","maxSizeBytes":263882790666240,"status":"Online","databaseId":"8de559d5-de26-4cd8-8e04-0e962e54ae95","creationDate":"2020-04-21T12:39:46.4Z","currentServiceObjectiveName":"DW1000c","defaultSecondaryLocation":"westus","catalogCollation":"SQL_Latin1_General_CP1_CI_AS"},"location":"eastus","tags":{"key1":"value1"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/sqlPools/testsqlpool000001","name":"testsqlpool000001","type":"Microsoft.Synapse/workspaces/sqlPools"}' + headers: + cache-control: + - no-cache + content-length: + - '662' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 21 Apr 2020 12:43:41 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - synapse sql pool show + Connection: + - keep-alive + ParameterSetName: + - --name --workspace + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-resource/8.0.1 Azure-SDK-For-Python AZURECLI/2.1.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resources?$filter=resourceType%20eq%20%27Microsoft.Synapse%2Fworkspaces%27%20and%20name%20eq%20%27testsynapseworkspace%27&api-version=2019-07-01 + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace","name":"testsynapseworkspace","type":"Microsoft.Synapse/workspaces","location":"eastus","identity":{"principalId":"5c40eee1-1044-4ec5-9d56-bbbd73b93df0","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"tags":{"key1":"value2"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '412' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 21 Apr 2020 12:43:42 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - synapse sql pool show + Connection: + - keep-alive + ParameterSetName: + - --name --workspace + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-synapse/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/sqlPools/testsqlpool000001?api-version=2019-06-01-preview + response: + body: + string: '{"properties":{"status":"Online","maxSizeBytes":263882790666240,"collation":"SQL_Latin1_General_CP1_CI_AS","restorePointInTime":"0001-01-01T00:00:00","creationDate":"2020-04-21T12:39:46.4Z","provisioningState":"Succeeded"},"sku":{"name":"DW1000c"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/sqlPools/testsqlpool000001","name":"testsqlpool000001","type":"Microsoft.Synapse/workspaces/sqlPools","location":"eastus","tags":{"key1":"value1"}}' + headers: + cache-control: + - no-cache + content-length: + - '536' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 21 Apr 2020 12:43:44 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - synapse sql pool delete + Connection: + - keep-alive + ParameterSetName: + - --name --workspace --yes + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-resource/8.0.1 Azure-SDK-For-Python AZURECLI/2.1.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resources?$filter=resourceType%20eq%20%27Microsoft.Synapse%2Fworkspaces%27%20and%20name%20eq%20%27testsynapseworkspace%27&api-version=2019-07-01 + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace","name":"testsynapseworkspace","type":"Microsoft.Synapse/workspaces","location":"eastus","identity":{"principalId":"5c40eee1-1044-4ec5-9d56-bbbd73b93df0","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"tags":{"key1":"value2"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '412' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 21 Apr 2020 12:43:44 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - synapse sql pool delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --name --workspace --yes + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-synapse/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + accept-language: + - en-US + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/sqlPools/testsqlpool000001?api-version=2019-06-01-preview + response: + body: + string: '' + headers: + access-control-allow-headers: + - Location + - Retry-After + access-control-expose-headers: + - Location + - Retry-After + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/operationStatuses/f6755e64-79e0-4625-9ec8-2d27428bbd27?api-version=2019-06-01-preview + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 21 Apr 2020 12:43:47 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/operationResults/f6755e64-79e0-4625-9ec8-2d27428bbd27?api-version=2019-06-01-preview + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + status: + code: 202 message: Accepted - request: body: null @@ -1150,12 +1706,153 @@ interactions: Connection: - keep-alive ParameterSetName: - - --name --workspace-name --resource-group --yes + - --name --workspace --yes + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-synapse/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/operationStatuses/f6755e64-79e0-4625-9ec8-2d27428bbd27?api-version=2019-06-01-preview + response: + body: + string: '{"status":"InProgress"}' + headers: + cache-control: + - no-cache + content-length: + - '23' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 21 Apr 2020 12:43:58 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - synapse sql pool delete + Connection: + - keep-alive + ParameterSetName: + - --name --workspace --yes + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-synapse/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/operationStatuses/f6755e64-79e0-4625-9ec8-2d27428bbd27?api-version=2019-06-01-preview + response: + body: + string: '{"status":"InProgress"}' + headers: + cache-control: + - no-cache + content-length: + - '23' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 21 Apr 2020 12:44:28 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - synapse sql pool delete + Connection: + - keep-alive + ParameterSetName: + - --name --workspace --yes + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-synapse/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/operationStatuses/f6755e64-79e0-4625-9ec8-2d27428bbd27?api-version=2019-06-01-preview + response: + body: + string: '{"status":"InProgress"}' + headers: + cache-control: + - no-cache + content-length: + - '23' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 21 Apr 2020 12:45:00 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - synapse sql pool delete + Connection: + - keep-alive + ParameterSetName: + - --name --workspace --yes User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-synapse/0.1.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-synapse/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace1234/operationStatuses/ebbc3609-5cdf-4089-abff-7ef09476eff4?api-version=2019-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/operationStatuses/f6755e64-79e0-4625-9ec8-2d27428bbd27?api-version=2019-06-01-preview response: body: string: '{"status":"InProgress"}' @@ -1167,7 +1864,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 11 Mar 2020 04:36:54 GMT + - Tue, 21 Apr 2020 12:45:30 GMT expires: - '-1' pragma: @@ -1197,12 +1894,12 @@ interactions: Connection: - keep-alive ParameterSetName: - - --name --workspace-name --resource-group --yes + - --name --workspace --yes User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-synapse/0.1.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-synapse/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace1234/operationStatuses/ebbc3609-5cdf-4089-abff-7ef09476eff4?api-version=2019-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/operationStatuses/f6755e64-79e0-4625-9ec8-2d27428bbd27?api-version=2019-06-01-preview response: body: string: '{"status":"Succeeded"}' @@ -1214,7 +1911,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 11 Mar 2020 04:37:24 GMT + - Tue, 21 Apr 2020 12:46:02 GMT expires: - '-1' pragma: @@ -1244,34 +1941,82 @@ interactions: Connection: - keep-alive ParameterSetName: - - --name --workspace-name --resource-group + - --name --workspace User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-synapse/0.1.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-resource/8.0.1 Azure-SDK-For-Python AZURECLI/2.1.0 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-test-rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace1234/sqlPools/testsqlpool000001?api-version=2019-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resources?$filter=resourceType%20eq%20%27Microsoft.Synapse%2Fworkspaces%27%20and%20name%20eq%20%27testsynapseworkspace%27&api-version=2019-07-01 response: body: - string: '' + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace","name":"testsynapseworkspace","type":"Microsoft.Synapse/workspaces","location":"eastus","identity":{"principalId":"5c40eee1-1044-4ec5-9d56-bbbd73b93df0","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"tags":{"key1":"value2"}}]}' headers: cache-control: - no-cache content-length: - - '0' + - '412' + content-type: + - application/json; charset=utf-8 date: - - Wed, 11 Mar 2020 04:37:27 GMT + - Tue, 21 Apr 2020 12:46:04 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - synapse sql pool show + Connection: + - keep-alive + ParameterSetName: + - --name --workspace + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-synapse/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/testsynapseworkspace/sqlPools/testsqlpool000001?api-version=2019-06-01-preview + response: + body: + string: '{"error":{"code":"ResourceNotFound","message":"The Resource ''Microsoft.Synapse/workspaces/testsynapseworkspace/sqlPools/testsqlpool000001'' + under resource group ''rg'' was not found."}}' + headers: + cache-control: + - no-cache + content-length: + - '189' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 21 Apr 2020 12:46:04 GMT expires: - '-1' pragma: - no-cache - server: - - Microsoft-HTTPAPI/2.0 strict-transport-security: - max-age=31536000; includeSubDomains x-content-type-options: - nosniff + x-ms-failure-cause: + - gateway status: code: 404 message: Not Found diff --git a/src/synapse/azext_synapse/tests/latest/recordings/test_workspaces.yaml b/src/synapse/azext_synapse/tests/latest/recordings/test_workspaces.yaml index 5a7e7f85fdc..c7a46908eab 100644 --- a/src/synapse/azext_synapse/tests/latest/recordings/test_workspaces.yaml +++ b/src/synapse/azext_synapse/tests/latest/recordings/test_workspaces.yaml @@ -18,21 +18,21 @@ interactions: Content-Type: - application/json; charset=utf-8 ParameterSetName: - - --name --resource-group --account-url --file-system --sql-admin-login-user + - --name --resource-group --storage-account --file-system --sql-admin-login-user --sql-admin-login-password --location User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-synapse/0.1.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-synapse/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 accept-language: - en-US method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/synapse-cli000001/providers/Microsoft.Synapse/workspaces/clitest000002?api-version=2019-06-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/synapse-cli000001/providers/Microsoft.Synapse/workspaces/clitest000002","location":"northeurope","name":"clitest000002","type":"Microsoft.Synapse/workspaces","identity":{"type":"SystemAssigned","principalId":"eed0856e-6cde-4f17-96b7-2866a3544abf","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"properties":{"connectivityEndpoints":{"web":"https://web.azuresynapse.net?workspace=%2fsubscriptions%2f051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3%2fresourceGroups%2fsynapse-cli000001%2fproviders%2fMicrosoft.Synapse%2fworkspaces%2fclitest000002","sql":"clitest000002.sql.azuresynapse.net","dev":"https://clitest000002.dev.azuresynapse.net","sqlOnDemand":"clitest000002-ondemand.sql.azuresynapse.net"},"managedResourceGroupName":"workspacemanagedrg-a675f7ff-8ff6-40e6-a4e4-3ae50fb74a54","defaultDataLakeStorage":{"accountUrl":"https://adlsgen2account.dfs.core.windows.net","filesystem":"testfilesystem"},"privateEndpointConnections":[],"provisioningState":"Provisioning"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/synapse-cli000001/providers/Microsoft.Synapse/workspaces/clitest000002","location":"northeurope","name":"clitest000002","type":"Microsoft.Synapse/workspaces","identity":{"type":"SystemAssigned","principalId":"9c5c3427-0f3d-481b-8949-2c00c6d16f41","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"properties":{"connectivityEndpoints":{"web":"https://web.azuresynapse.net?workspace=%2fsubscriptions%2f051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3%2fresourceGroups%2fsynapse-cli000001%2fproviders%2fMicrosoft.Synapse%2fworkspaces%2fclitest000002","sql":"clitest000002.sql.azuresynapse.net","dev":"https://clitest000002.dev.azuresynapse.net","sqlOnDemand":"clitest000002-ondemand.sql.azuresynapse.net"},"managedResourceGroupName":"workspacemanagedrg-569fa641-1f2b-49fe-a99b-df2c8ccb6c9f","defaultDataLakeStorage":{"accountUrl":"https://adlsgen2account.dfs.core.windows.net","filesystem":"testfilesystem"},"privateEndpointConnections":[],"provisioningState":"Provisioning"}}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/synapse-cli000001/providers/Microsoft.Synapse/workspaces/clitest000002/operationStatuses/d7b034fb-4c3c-4098-85a5-619ad6a9b2a5?api-version=2019-06-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/synapse-cli000001/providers/Microsoft.Synapse/workspaces/clitest000002/operationStatuses/685edcb7-1794-4ab7-9b6d-bcfc2a34db2e?api-version=2019-06-01-preview cache-control: - no-cache content-length: @@ -40,7 +40,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 11 Mar 2020 08:14:09 GMT + - Fri, 15 May 2020 10:25:58 GMT expires: - '-1' pragma: @@ -52,7 +52,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1198' status: code: 201 message: Created @@ -68,13 +68,13 @@ interactions: Connection: - keep-alive ParameterSetName: - - --name --resource-group --account-url --file-system --sql-admin-login-user + - --name --resource-group --storage-account --file-system --sql-admin-login-user --sql-admin-login-password --location User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-synapse/0.1.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-synapse/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/synapse-cli000001/providers/Microsoft.Synapse/workspaces/clitest000002/operationStatuses/d7b034fb-4c3c-4098-85a5-619ad6a9b2a5?api-version=2019-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/synapse-cli000001/providers/Microsoft.Synapse/workspaces/clitest000002/operationStatuses/685edcb7-1794-4ab7-9b6d-bcfc2a34db2e?api-version=2019-06-01-preview response: body: string: '{"status":"InProgress"}' @@ -86,7 +86,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 11 Mar 2020 08:14:41 GMT + - Fri, 15 May 2020 10:26:30 GMT expires: - '-1' pragma: @@ -116,13 +116,13 @@ interactions: Connection: - keep-alive ParameterSetName: - - --name --resource-group --account-url --file-system --sql-admin-login-user + - --name --resource-group --storage-account --file-system --sql-admin-login-user --sql-admin-login-password --location User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-synapse/0.1.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-synapse/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/synapse-cli000001/providers/Microsoft.Synapse/workspaces/clitest000002/operationStatuses/d7b034fb-4c3c-4098-85a5-619ad6a9b2a5?api-version=2019-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/synapse-cli000001/providers/Microsoft.Synapse/workspaces/clitest000002/operationStatuses/685edcb7-1794-4ab7-9b6d-bcfc2a34db2e?api-version=2019-06-01-preview response: body: string: '{"status":"InProgress"}' @@ -134,7 +134,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 11 Mar 2020 08:15:11 GMT + - Fri, 15 May 2020 10:27:01 GMT expires: - '-1' pragma: @@ -164,13 +164,13 @@ interactions: Connection: - keep-alive ParameterSetName: - - --name --resource-group --account-url --file-system --sql-admin-login-user + - --name --resource-group --storage-account --file-system --sql-admin-login-user --sql-admin-login-password --location User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-synapse/0.1.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-synapse/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/synapse-cli000001/providers/Microsoft.Synapse/workspaces/clitest000002/operationStatuses/d7b034fb-4c3c-4098-85a5-619ad6a9b2a5?api-version=2019-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/synapse-cli000001/providers/Microsoft.Synapse/workspaces/clitest000002/operationStatuses/685edcb7-1794-4ab7-9b6d-bcfc2a34db2e?api-version=2019-06-01-preview response: body: string: '{"status":"InProgress"}' @@ -182,7 +182,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 11 Mar 2020 08:15:41 GMT + - Fri, 15 May 2020 10:27:32 GMT expires: - '-1' pragma: @@ -212,13 +212,13 @@ interactions: Connection: - keep-alive ParameterSetName: - - --name --resource-group --account-url --file-system --sql-admin-login-user + - --name --resource-group --storage-account --file-system --sql-admin-login-user --sql-admin-login-password --location User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-synapse/0.1.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-synapse/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/synapse-cli000001/providers/Microsoft.Synapse/workspaces/clitest000002/operationStatuses/d7b034fb-4c3c-4098-85a5-619ad6a9b2a5?api-version=2019-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/synapse-cli000001/providers/Microsoft.Synapse/workspaces/clitest000002/operationStatuses/685edcb7-1794-4ab7-9b6d-bcfc2a34db2e?api-version=2019-06-01-preview response: body: string: '{"status":"InProgress"}' @@ -230,7 +230,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 11 Mar 2020 08:16:12 GMT + - Fri, 15 May 2020 10:28:02 GMT expires: - '-1' pragma: @@ -260,13 +260,13 @@ interactions: Connection: - keep-alive ParameterSetName: - - --name --resource-group --account-url --file-system --sql-admin-login-user + - --name --resource-group --storage-account --file-system --sql-admin-login-user --sql-admin-login-password --location User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-synapse/0.1.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-synapse/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/synapse-cli000001/providers/Microsoft.Synapse/workspaces/clitest000002/operationStatuses/d7b034fb-4c3c-4098-85a5-619ad6a9b2a5?api-version=2019-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/synapse-cli000001/providers/Microsoft.Synapse/workspaces/clitest000002/operationStatuses/685edcb7-1794-4ab7-9b6d-bcfc2a34db2e?api-version=2019-06-01-preview response: body: string: '{"status":"InProgress"}' @@ -278,7 +278,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 11 Mar 2020 08:16:43 GMT + - Fri, 15 May 2020 10:28:32 GMT expires: - '-1' pragma: @@ -308,13 +308,13 @@ interactions: Connection: - keep-alive ParameterSetName: - - --name --resource-group --account-url --file-system --sql-admin-login-user + - --name --resource-group --storage-account --file-system --sql-admin-login-user --sql-admin-login-password --location User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-synapse/0.1.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-synapse/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/synapse-cli000001/providers/Microsoft.Synapse/workspaces/clitest000002/operationStatuses/d7b034fb-4c3c-4098-85a5-619ad6a9b2a5?api-version=2019-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/synapse-cli000001/providers/Microsoft.Synapse/workspaces/clitest000002/operationStatuses/685edcb7-1794-4ab7-9b6d-bcfc2a34db2e?api-version=2019-06-01-preview response: body: string: '{"status":"InProgress"}' @@ -326,7 +326,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 11 Mar 2020 08:17:13 GMT + - Fri, 15 May 2020 10:29:04 GMT expires: - '-1' pragma: @@ -356,13 +356,13 @@ interactions: Connection: - keep-alive ParameterSetName: - - --name --resource-group --account-url --file-system --sql-admin-login-user + - --name --resource-group --storage-account --file-system --sql-admin-login-user --sql-admin-login-password --location User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-synapse/0.1.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-synapse/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/synapse-cli000001/providers/Microsoft.Synapse/workspaces/clitest000002/operationStatuses/d7b034fb-4c3c-4098-85a5-619ad6a9b2a5?api-version=2019-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/synapse-cli000001/providers/Microsoft.Synapse/workspaces/clitest000002/operationStatuses/685edcb7-1794-4ab7-9b6d-bcfc2a34db2e?api-version=2019-06-01-preview response: body: string: '{"status":"Succeeded"}' @@ -374,7 +374,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 11 Mar 2020 08:17:44 GMT + - Fri, 15 May 2020 10:29:34 GMT expires: - '-1' pragma: @@ -404,16 +404,16 @@ interactions: Connection: - keep-alive ParameterSetName: - - --name --resource-group --account-url --file-system --sql-admin-login-user + - --name --resource-group --storage-account --file-system --sql-admin-login-user --sql-admin-login-password --location User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-synapse/0.1.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-synapse/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/synapse-cli000001/providers/Microsoft.Synapse/workspaces/clitest000002?api-version=2019-06-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/synapse-cli000001/providers/Microsoft.Synapse/workspaces/clitest000002","location":"northeurope","name":"clitest000002","type":"Microsoft.Synapse/workspaces","identity":{"type":"SystemAssigned","principalId":"eed0856e-6cde-4f17-96b7-2866a3544abf","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"properties":{"connectivityEndpoints":{"web":"https://web.azuresynapse.net?workspace=%2fsubscriptions%2f051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3%2fresourceGroups%2fsynapse-cli000001%2fproviders%2fMicrosoft.Synapse%2fworkspaces%2fclitest000002","sql":"clitest000002.sql.azuresynapse.net","dev":"https://clitest000002.dev.azuresynapse.net","sqlOnDemand":"clitest000002-ondemand.sql.azuresynapse.net"},"managedResourceGroupName":"workspacemanagedrg-a675f7ff-8ff6-40e6-a4e4-3ae50fb74a54","defaultDataLakeStorage":{"accountUrl":"https://adlsgen2account.dfs.core.windows.net","filesystem":"testfilesystem"},"sqlAdministratorLogin":"cliuser1","privateEndpointConnections":[],"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/synapse-cli000001/providers/Microsoft.Synapse/workspaces/clitest000002","location":"northeurope","name":"clitest000002","type":"Microsoft.Synapse/workspaces","identity":{"type":"SystemAssigned","principalId":"9c5c3427-0f3d-481b-8949-2c00c6d16f41","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"properties":{"connectivityEndpoints":{"web":"https://web.azuresynapse.net?workspace=%2fsubscriptions%2f051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3%2fresourceGroups%2fsynapse-cli000001%2fproviders%2fMicrosoft.Synapse%2fworkspaces%2fclitest000002","sql":"clitest000002.sql.azuresynapse.net","dev":"https://clitest000002.dev.azuresynapse.net","sqlOnDemand":"clitest000002-ondemand.sql.azuresynapse.net"},"managedResourceGroupName":"workspacemanagedrg-569fa641-1f2b-49fe-a99b-df2c8ccb6c9f","defaultDataLakeStorage":{"accountUrl":"https://adlsgen2account.dfs.core.windows.net","filesystem":"testfilesystem"},"sqlAdministratorLogin":"cliuser1","privateEndpointConnections":[],"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -422,7 +422,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 11 Mar 2020 08:17:45 GMT + - Fri, 15 May 2020 10:29:34 GMT expires: - '-1' pragma: @@ -441,37 +441,41 @@ interactions: code: 200 message: OK - request: - body: null + body: '{"name": "clitest000002", "type": "Microsoft.Synapse/workspaces"}' headers: Accept: - application/json Accept-Encoding: - gzip, deflate CommandName: - - synapse workspace show + - synapse workspace check-name Connection: - keep-alive + Content-Length: + - '68' + Content-Type: + - application/json; charset=utf-8 ParameterSetName: - - --name --resource-group + - --name User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-synapse/0.1.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-synapse/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 accept-language: - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/synapse-cli000001/providers/Microsoft.Synapse/workspaces/clitest000002?api-version=2019-06-01-preview + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Synapse/checkNameAvailability?api-version=2019-06-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/synapse-cli000001/providers/Microsoft.Synapse/workspaces/clitest000002","location":"northeurope","name":"clitest000002","type":"Microsoft.Synapse/workspaces","identity":{"type":"SystemAssigned","principalId":"eed0856e-6cde-4f17-96b7-2866a3544abf","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"properties":{"connectivityEndpoints":{"web":"https://web.azuresynapse.net?workspace=%2fsubscriptions%2f051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3%2fresourceGroups%2fsynapse-cli000001%2fproviders%2fMicrosoft.Synapse%2fworkspaces%2fclitest000002","sql":"clitest000002.sql.azuresynapse.net","dev":"https://clitest000002.dev.azuresynapse.net","sqlOnDemand":"clitest000002-ondemand.sql.azuresynapse.net"},"managedResourceGroupName":"workspacemanagedrg-a675f7ff-8ff6-40e6-a4e4-3ae50fb74a54","defaultDataLakeStorage":{"accountUrl":"https://adlsgen2account.dfs.core.windows.net","filesystem":"testfilesystem"},"sqlAdministratorLogin":"cliuser1","privateEndpointConnections":[],"provisioningState":"Succeeded"}}' + string: '{"available":false,"message":"Workspace name clitest000002 is not available","reason":"AlreadyExists","name":"clitest000002"}' headers: cache-control: - no-cache content-length: - - '1084' + - '131' content-type: - application/json; charset=utf-8 date: - - Wed, 11 Mar 2020 08:17:47 GMT + - Fri, 15 May 2020 10:29:38 GMT expires: - '-1' pragma: @@ -486,6 +490,8 @@ interactions: - Accept-Encoding x-content-type-options: - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' status: code: 200 message: OK @@ -497,30 +503,30 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - synapse workspace list + - synapse workspace show Connection: - keep-alive ParameterSetName: - - --resource-group + - --name --resource-group User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-synapse/0.1.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-synapse/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/synapse-cli000001/providers/Microsoft.Synapse/workspaces?api-version=2019-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/synapse-cli000001/providers/Microsoft.Synapse/workspaces/clitest000002?api-version=2019-06-01-preview response: body: - string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/synapse-cli000001/providers/Microsoft.Synapse/workspaces/clitest000002","location":"northeurope","name":"clitest000002","type":"Microsoft.Synapse/workspaces","identity":{"type":"SystemAssigned","principalId":"00000000-0000-0000-0000-000000000000","tenantId":"00000000-0000-0000-0000-000000000000"},"properties":{"connectivityEndpoints":{"web":"https://web.azuresynapse.net?workspace=%2fsubscriptions%2f00000000-0000-0000-0000-000000000000%2fresourceGroups%2fsynapse-cli000001%2fproviders%2fMicrosoft.Synapse%2fworkspaces%2fclitest000002","sql":"clitest000002.sql.azuresynapse.net","dev":"https://clitest000002.dev.azuresynapse.net","sqlOnDemand":"clitest000002-ondemand.sql.azuresynapse.net"},"managedResourceGroupName":"synapse-cli000001","privateEndpointConnections":[],"provisioningState":"Succeeded"}}]}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/synapse-cli000001/providers/Microsoft.Synapse/workspaces/clitest000002","location":"northeurope","name":"clitest000002","type":"Microsoft.Synapse/workspaces","identity":{"type":"SystemAssigned","principalId":"9c5c3427-0f3d-481b-8949-2c00c6d16f41","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"properties":{"connectivityEndpoints":{"web":"https://web.azuresynapse.net?workspace=%2fsubscriptions%2f051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3%2fresourceGroups%2fsynapse-cli000001%2fproviders%2fMicrosoft.Synapse%2fworkspaces%2fclitest000002","sql":"clitest000002.sql.azuresynapse.net","dev":"https://clitest000002.dev.azuresynapse.net","sqlOnDemand":"clitest000002-ondemand.sql.azuresynapse.net"},"managedResourceGroupName":"workspacemanagedrg-569fa641-1f2b-49fe-a99b-df2c8ccb6c9f","defaultDataLakeStorage":{"accountUrl":"https://adlsgen2account.dfs.core.windows.net","filesystem":"testfilesystem"},"sqlAdministratorLogin":"cliuser1","privateEndpointConnections":[],"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '906' + - '1084' content-type: - application/json; charset=utf-8 date: - - Wed, 11 Mar 2020 08:17:49 GMT + - Fri, 15 May 2020 10:29:41 GMT expires: - '-1' pragma: @@ -549,98 +555,99 @@ interactions: - synapse workspace list Connection: - keep-alive + ParameterSetName: + - --resource-group User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-synapse/0.1.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-synapse/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Synapse/workspaces?api-version=2019-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/synapse-cli000001/providers/Microsoft.Synapse/workspaces?api-version=2019-06-01-preview response: body: - string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/synapse-cli000001/providers/Microsoft.Synapse/workspaces/clitest000002","location":"northeurope","name":"clitest000002","type":"Microsoft.Synapse/workspaces","identity":{"type":"SystemAssigned","principalId":"00000000-0000-0000-0000-000000000000","tenantId":"00000000-0000-0000-0000-000000000000"},"properties":{"connectivityEndpoints":{"web":"https://web.azuresynapse.net?workspace=%2fsubscriptions%2f00000000-0000-0000-0000-000000000000%2fresourceGroups%2fsynapse-cli000001%2fproviders%2fMicrosoft.Synapse%2fworkspaces%2fclitest000002","sql":"clitest000002.sql.azuresynapse.net","dev":"https://clitest000002.dev.azuresynapse.net","sqlOnDemand":"clitest000002-ondemand.sql.azuresynapse.net"},"managedResourceGroupName":"synapse-cli000001","privateEndpointConnections":[],"provisioningState":"Succeeded"}}]}' + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/synapse-cli000001/providers/Microsoft.Synapse/workspaces/clitest000002","location":"northeurope","name":"clitest000002","type":"Microsoft.Synapse/workspaces","identity":{"type":"SystemAssigned","principalId":"9c5c3427-0f3d-481b-8949-2c00c6d16f41","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"properties":{"connectivityEndpoints":{"web":"https://web.azuresynapse.net?workspace=%2fsubscriptions%2f051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3%2fresourceGroups%2fsynapse-cli000001%2fproviders%2fMicrosoft.Synapse%2fworkspaces%2fclitest000002","sql":"clitest000002.sql.azuresynapse.net","dev":"https://clitest000002.dev.azuresynapse.net","sqlOnDemand":"clitest000002-ondemand.sql.azuresynapse.net"},"managedResourceGroupName":"synapse-cli000001","privateEndpointConnections":[],"provisioningState":"Succeeded"}}]}' headers: cache-control: - no-cache content-length: - - '54397' + - '906' content-type: - application/json; charset=utf-8 date: - - Wed, 11 Mar 2020 08:17:51 GMT + - Fri, 15 May 2020 10:29:44 GMT expires: - '-1' pragma: - no-cache + server: + - Microsoft-HTTPAPI/2.0 strict-transport-security: - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked vary: - Accept-Encoding x-content-type-options: - nosniff - x-ms-original-request-ids: - - 57427423-058b-4886-9f07-0908fc8fee9a - - 75305789-ae78-4465-b34f-cc53bc0a69d2 - - 6bd082a0-62d8-4747-8bc5-2e7ab5c5aa8a - - 77165a48-aeb9-45e0-9f82-f14263ca9951 status: code: 200 message: OK - request: - body: null + body: '{"tags": {"key1": "value1"}}' headers: Accept: - application/json Accept-Encoding: - gzip, deflate CommandName: - - synapse workspace delete + - synapse workspace update Connection: - keep-alive Content-Length: - - '0' + - '28' + Content-Type: + - application/json; charset=utf-8 ParameterSetName: - - --name --resource-group --yes + - --ids --tags User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-synapse/0.1.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-synapse/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 accept-language: - en-US - method: DELETE + method: PATCH uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/synapse-cli000001/providers/Microsoft.Synapse/workspaces/clitest000002?api-version=2019-06-01-preview response: body: - string: '' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/synapse-cli000001/providers/Microsoft.Synapse/workspaces/clitest000002","location":"northeurope","name":"clitest000002","type":"Microsoft.Synapse/workspaces","identity":{"type":"SystemAssigned","principalId":"9c5c3427-0f3d-481b-8949-2c00c6d16f41","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"tags":{"key1":"value1"},"properties":{"connectivityEndpoints":{"web":"https://web.azuresynapse.net?workspace=%2fsubscriptions%2f051ddeca-1ed6-4d8b-ba6f-1ff561e5f3b3%2fresourceGroups%2fsynapse-cli000001%2fproviders%2fMicrosoft.Synapse%2fworkspaces%2fclitest000002","sql":"clitest000002.sql.azuresynapse.net","dev":"https://clitest000002.dev.azuresynapse.net","sqlOnDemand":"clitest000002-ondemand.sql.azuresynapse.net"},"managedResourceGroupName":"workspacemanagedrg-569fa641-1f2b-49fe-a99b-df2c8ccb6c9f","defaultDataLakeStorage":{"accountUrl":"https://adlsgen2account.dfs.core.windows.net","filesystem":"testfilesystem"},"sqlAdministratorLogin":"cliuser1","privateEndpointConnections":[],"provisioningState":"Succeeded"}}' headers: - access-control-allow-headers: - - Location - access-control-expose-headers: - - Location - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/synapse-cli000001/providers/Microsoft.Synapse/workspaces/clitest000002/operationStatuses/f8ab98e1-e7d2-4c76-a641-43270e737b42?api-version=2019-06-01-preview cache-control: - no-cache content-length: - - '0' + - '1109' + content-type: + - application/json; charset=utf-8 date: - - Wed, 11 Mar 2020 08:17:53 GMT + - Fri, 15 May 2020 10:29:50 GMT expires: - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/synapse-cli000001/providers/Microsoft.Synapse/workspaces/clitest000002/operationResults/f8ab98e1-e7d2-4c76-a641-43270e737b42?api-version=2019-06-01-preview pragma: - no-cache server: - Microsoft-HTTPAPI/2.0 strict-transport-security: - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding x-content-type-options: - nosniff - x-ms-ratelimit-remaining-subscription-deletes: - - '14999' + x-ms-ratelimit-remaining-subscription-writes: + - '1199' status: - code: 202 - message: Accepted + code: 200 + message: OK - request: body: null headers: @@ -652,42 +659,50 @@ interactions: - synapse workspace delete Connection: - keep-alive + Content-Length: + - '0' ParameterSetName: - --name --resource-group --yes User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-synapse/0.1.0 Azure-SDK-For-Python AZURECLI/2.1.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/synapse-cli000001/providers/Microsoft.Synapse/workspaces/clitest000002/operationStatuses/f8ab98e1-e7d2-4c76-a641-43270e737b42?api-version=2019-06-01-preview + azure-mgmt-synapse/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + accept-language: + - en-US + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/synapse-cli000001/providers/Microsoft.Synapse/workspaces/clitest000002?api-version=2019-06-01-preview response: body: - string: '{"status":"InProgress"}' + string: '' headers: + access-control-allow-headers: + - Location + access-control-expose-headers: + - Location + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/synapse-cli000001/providers/Microsoft.Synapse/workspaces/clitest000002/operationStatuses/b8833c9d-08d8-4e80-9b35-38288203d924?api-version=2019-06-01-preview cache-control: - no-cache content-length: - - '23' - content-type: - - application/json; charset=utf-8 + - '0' date: - - Wed, 11 Mar 2020 08:18:24 GMT + - Fri, 15 May 2020 10:29:54 GMT expires: - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/synapse-cli000001/providers/Microsoft.Synapse/workspaces/clitest000002/operationResults/b8833c9d-08d8-4e80-9b35-38288203d924?api-version=2019-06-01-preview pragma: - no-cache server: - Microsoft-HTTPAPI/2.0 strict-transport-security: - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding x-content-type-options: - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' status: - code: 200 - message: OK + code: 202 + message: Accepted - request: body: null headers: @@ -703,9 +718,9 @@ interactions: - --name --resource-group --yes User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-synapse/0.1.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-synapse/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/synapse-cli000001/providers/Microsoft.Synapse/workspaces/clitest000002/operationStatuses/f8ab98e1-e7d2-4c76-a641-43270e737b42?api-version=2019-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/synapse-cli000001/providers/Microsoft.Synapse/workspaces/clitest000002/operationStatuses/b8833c9d-08d8-4e80-9b35-38288203d924?api-version=2019-06-01-preview response: body: string: '{"status":"InProgress"}' @@ -717,7 +732,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 11 Mar 2020 08:18:55 GMT + - Fri, 15 May 2020 10:30:26 GMT expires: - '-1' pragma: @@ -750,9 +765,9 @@ interactions: - --name --resource-group --yes User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-synapse/0.1.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-synapse/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/synapse-cli000001/providers/Microsoft.Synapse/workspaces/clitest000002/operationStatuses/f8ab98e1-e7d2-4c76-a641-43270e737b42?api-version=2019-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/synapse-cli000001/providers/Microsoft.Synapse/workspaces/clitest000002/operationStatuses/b8833c9d-08d8-4e80-9b35-38288203d924?api-version=2019-06-01-preview response: body: string: '{"status":"InProgress"}' @@ -764,7 +779,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 11 Mar 2020 08:19:26 GMT + - Fri, 15 May 2020 10:30:56 GMT expires: - '-1' pragma: @@ -797,9 +812,9 @@ interactions: - --name --resource-group --yes User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-synapse/0.1.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-synapse/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/synapse-cli000001/providers/Microsoft.Synapse/workspaces/clitest000002/operationStatuses/f8ab98e1-e7d2-4c76-a641-43270e737b42?api-version=2019-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/synapse-cli000001/providers/Microsoft.Synapse/workspaces/clitest000002/operationStatuses/b8833c9d-08d8-4e80-9b35-38288203d924?api-version=2019-06-01-preview response: body: string: '{"status":"InProgress"}' @@ -811,7 +826,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 11 Mar 2020 08:19:56 GMT + - Fri, 15 May 2020 10:31:26 GMT expires: - '-1' pragma: @@ -844,9 +859,9 @@ interactions: - --name --resource-group --yes User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-synapse/0.1.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-synapse/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/synapse-cli000001/providers/Microsoft.Synapse/workspaces/clitest000002/operationStatuses/f8ab98e1-e7d2-4c76-a641-43270e737b42?api-version=2019-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/synapse-cli000001/providers/Microsoft.Synapse/workspaces/clitest000002/operationStatuses/b8833c9d-08d8-4e80-9b35-38288203d924?api-version=2019-06-01-preview response: body: string: '{"status":"InProgress"}' @@ -858,7 +873,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 11 Mar 2020 08:20:27 GMT + - Fri, 15 May 2020 10:31:57 GMT expires: - '-1' pragma: @@ -891,9 +906,9 @@ interactions: - --name --resource-group --yes User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-synapse/0.1.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-synapse/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/synapse-cli000001/providers/Microsoft.Synapse/workspaces/clitest000002/operationStatuses/f8ab98e1-e7d2-4c76-a641-43270e737b42?api-version=2019-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/synapse-cli000001/providers/Microsoft.Synapse/workspaces/clitest000002/operationStatuses/b8833c9d-08d8-4e80-9b35-38288203d924?api-version=2019-06-01-preview response: body: string: '{"status":"Succeeded"}' @@ -905,7 +920,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 11 Mar 2020 08:20:57 GMT + - Fri, 15 May 2020 10:32:29 GMT expires: - '-1' pragma: @@ -938,31 +953,34 @@ interactions: - --name --resource-group User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-synapse/0.1.0 Azure-SDK-For-Python AZURECLI/2.1.0 + azure-mgmt-synapse/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/synapse-cli000001/providers/Microsoft.Synapse/workspaces/clitest000002?api-version=2019-06-01-preview response: body: - string: '' + string: '{"error":{"code":"ResourceNotFound","message":"The Resource ''Microsoft.Synapse/workspaces/clitest000002'' + under resource group ''synapse-cli000001'' was not found."}}' headers: cache-control: - no-cache content-length: - - '0' + - '165' + content-type: + - application/json; charset=utf-8 date: - - Wed, 11 Mar 2020 08:22:00 GMT + - Fri, 15 May 2020 10:34:31 GMT expires: - '-1' pragma: - no-cache - server: - - Microsoft-HTTPAPI/2.0 strict-transport-security: - max-age=31536000; includeSubDomains x-content-type-options: - nosniff + x-ms-failure-cause: + - gateway status: code: 404 message: Not Found diff --git a/src/synapse/azext_synapse/tests/latest/test_synapse_scenario.py b/src/synapse/azext_synapse/tests/latest/test_synapse_scenario.py index eeb2f4cdef6..1373c906229 100644 --- a/src/synapse/azext_synapse/tests/latest/test_synapse_scenario.py +++ b/src/synapse/azext_synapse/tests/latest/test_synapse_scenario.py @@ -19,49 +19,61 @@ def test_workspaces(self, resource_group): # create a workspace self._create_workspace() + # check workspace name + self.cmd('az synapse workspace check-name --name {workspace}', checks=[ + self.check('available', False) + ]) + # get workspace with workspace name - self.cmd('az synapse workspace show --name {workspace} --resource-group {rg}', checks=[ + workspace = self.cmd('az synapse workspace show --name {workspace} --resource-group {rg}', checks=[ self.check('name', self.kwargs['workspace']), self.check('type', 'Microsoft.Synapse/workspaces'), self.check('provisioningState', 'Succeeded') - ]) + ]).get_output_in_json() + + self.kwargs["workspace-id"] = workspace['id'] # list all workspaces under a specific resource group self.cmd('az synapse workspace list --resource-group {rg}', checks=[ self.check('[0].type', 'Microsoft.Synapse/workspaces') ]) - # list all synapse under a specific subscription - self.cmd('az synapse workspace list', checks=[ - self.check('[0].type', 'Microsoft.Synapse/workspaces') + # update workspace + self.cmd('az synapse workspace update --ids {workspace-id} --tags key1=value1', checks=[ + self.check('tags.key1', 'value1'), + self.check('name', self.kwargs['workspace']), + self.check('id', self.kwargs['workspace-id']), + self.check('type', 'Microsoft.Synapse/workspaces'), + self.check('provisioningState', 'Succeeded') ]) # delete workspace with workspace name self.cmd('az synapse workspace delete --name {workspace} --resource-group {rg} --yes') import time - time.sleep(60) + time.sleep(120) self.cmd('az synapse workspace show --name {workspace} --resource-group {rg}', expect_failure=True) def test_spark_pool(self): self.kwargs.update({ 'location': 'eastus', - 'workspace': 'testsynapseworkspace1234', - 'rg': 'cli-test-rg', + 'workspace': 'testsynapseworkspace', + 'rg': 'rg', 'spark-pool': self.create_random_name(prefix='testpool', length=15), 'spark-version': '2.4' }) - # create spark pool - self.cmd('az synapse spark pool create --name {spark-pool} --spark-version {spark-version}' - ' --workspace-name {workspace} --resource-group {rg} --location {location}', - checks=[ - self.check('name', self.kwargs['spark-pool']), - self.check('type', 'Microsoft.Synapse/workspaces/bigDataPools'), - self.check('provisioningState', 'Succeeded') - ]) + spark_pool = self.cmd('az synapse spark pool create --name {spark-pool} --spark-version {spark-version}' + ' --workspace {workspace} --resource-group {rg} --node-count 3 --node-size Medium', + checks=[ + self.check('name', self.kwargs['spark-pool']), + self.check('type', 'Microsoft.Synapse/workspaces/bigDataPools'), + self.check('provisioningState', 'Succeeded') + ]).get_output_in_json() + + self.kwargs['pool-id'] = spark_pool['id'] # get spark pool with spark pool name - self.cmd('az synapse spark pool show --name {spark-pool} --workspace-name {workspace} --resource-group {rg}', + self.cmd('az synapse spark pool show --name {spark-pool} --workspace {workspace} --resource-group {rg}', checks=[ self.check('name', self.kwargs['spark-pool']), self.check('type', 'Microsoft.Synapse/workspaces/bigDataPools'), @@ -69,37 +81,46 @@ def test_spark_pool(self): ]) # list all spark pools under the workspace - self.cmd('az synapse spark pool list --workspace-name {workspace} --resource-group {rg}', checks=[ + self.cmd('az synapse spark pool list --workspace {workspace} --resource-group {rg}', checks=[ self.check('[0].type', 'Microsoft.Synapse/workspaces/bigDataPools') ]) + # update spark pool + self.cmd('az synapse spark pool update --ids {pool-id} --tags key1=value1', checks=[ + self.check('tags.key1', 'value1'), + self.check('name', self.kwargs['spark-pool']), + self.check('type', 'Microsoft.Synapse/workspaces/bigDataPools'), + self.check('provisioningState', 'Succeeded') + ]) + # delete spark pool with spark pool name self.cmd( - 'az synapse spark pool delete --name {spark-pool} --workspace-name {workspace} --resource-group {rg} --yes') - self.cmd('az synapse spark pool show --name {spark-pool} --workspace-name {workspace} --resource-group {rg}', + 'az synapse spark pool delete --name {spark-pool} --workspace {workspace} --resource-group {rg} --yes') + self.cmd('az synapse spark pool show --name {spark-pool} --workspace {workspace} --resource-group {rg}', expect_failure=True) def test_sql_pool(self): self.kwargs.update({ 'location': 'eastus', - 'workspace': 'testsynapseworkspace1234', - 'rg': 'cli-test-rg', + 'workspace': 'testsynapseworkspace', + 'rg': 'rg', 'sql-pool': self.create_random_name(prefix='testsqlpool', length=15), - 'sku-name': 'DW1000c' + 'performance-level': 'DW1000c' }) - # create sql pool - self.cmd( - 'az synapse sql pool create --name {sql-pool} --sku-name {sku-name} --workspace-name {workspace}' - ' --resource-group {rg} --location {location}', checks=[ + sql_pool = self.cmd( + 'az synapse sql pool create --name {sql-pool} --performance-level {performance-level} ' + '--workspace {workspace} --resource-group {rg}', checks=[ self.check('name', self.kwargs['sql-pool']), self.check('type', 'Microsoft.Synapse/workspaces/sqlPools'), self.check('provisioningState', 'Succeeded'), self.check('status', 'Online') - ]) + ]).get_output_in_json() + + self.kwargs['pool-id'] = sql_pool['id'] # get sql pool with sql pool name - self.cmd('az synapse sql pool show --name {sql-pool} --workspace-name {workspace} --resource-group {rg}', + self.cmd('az synapse sql pool show --name {sql-pool} --workspace {workspace} --resource-group {rg}', checks=[ self.check('name', self.kwargs['sql-pool']), self.check('type', 'Microsoft.Synapse/workspaces/sqlPools'), @@ -108,14 +129,26 @@ def test_sql_pool(self): ]) # list all sql pools under the workspace - self.cmd('az synapse sql pool list --workspace-name {workspace} --resource-group {rg}', checks=[ + self.cmd('az synapse sql pool list --workspace {workspace} --resource-group {rg}', checks=[ self.check('[0].type', 'Microsoft.Synapse/workspaces/sqlPools') ]) + # update sql pool + self.cmd('az synapse sql pool update --ids {pool-id} --tags key1=value1') + + # get sql pool with sql pool id + self.cmd('az synapse sql pool show --ids {pool-id}', + checks=[ + self.check('name', self.kwargs['sql-pool']), + self.check('type', 'Microsoft.Synapse/workspaces/sqlPools'), + self.check('tags.key1', 'value1'), + self.check('provisioningState', 'Succeeded'), + self.check('status', 'Online') + ]) + # pause sql pool - self.cmd('az synapse sql pool pause --name {sql-pool} --workspace-name {workspace} --resource-group {rg}', - checks=[]) - self.cmd('az synapse sql pool show --name {sql-pool} --workspace-name {workspace} --resource-group {rg}', + self.cmd('az synapse sql pool pause --name {sql-pool} --workspace {workspace} --resource-group {rg}', checks=[]) + self.cmd('az synapse sql pool show --name {sql-pool} --workspace {workspace} --resource-group {rg}', checks=[ self.check('name', self.kwargs['sql-pool']), self.check('type', 'Microsoft.Synapse/workspaces/sqlPools'), @@ -123,9 +156,8 @@ def test_sql_pool(self): ]) # resume sql pool - self.cmd('az synapse sql pool resume --name {sql-pool} --workspace-name {workspace} --resource-group {rg}', - checks=[]) - self.cmd('az synapse sql pool show --name {sql-pool} --workspace-name {workspace} --resource-group {rg}', + self.cmd('az synapse sql pool resume --name {sql-pool} --workspace {workspace} --resource-group {rg}', checks=[]) + self.cmd('az synapse sql pool show --name {sql-pool} --workspace {workspace} --resource-group {rg}', checks=[ self.check('name', self.kwargs['sql-pool']), self.check('type', 'Microsoft.Synapse/workspaces/sqlPools'), @@ -134,35 +166,31 @@ def test_sql_pool(self): # delete sql pool with sql pool name self.cmd( - 'az synapse sql pool delete --name {sql-pool} --workspace-name {workspace} --resource-group {rg} --yes') + 'az synapse sql pool delete --name {sql-pool} --workspace {workspace} --resource-group {rg} --yes') - self.cmd('az synapse sql pool show --name {sql-pool} --workspace-name {workspace} --resource-group {rg}', + self.cmd('az synapse sql pool show --name {sql-pool} --workspace {workspace} --resource-group {rg}', expect_failure=True) @ResourceGroupPreparer(name_prefix='synapse-cli', random_name_length=16) - def test_spark_batch(self, resource_group): + def test_spark_job(self, resource_group): self.kwargs.update({ 'spark-pool': 'testsparkpool', - 'workspace': 'testsynapseworkspace1234', + 'workspace': 'testsynapseworkspace', 'job': 'WordCount_Java', - 'file': 'abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/wordcount.jar', - 'class-name': 'WordCount', - 'args': [ + 'main-definition-file': 'abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/wordcount.jar', + 'main-class-name': 'WordCount', + 'command-line-arguments': [ 'abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/shakespeare.txt', 'abfss://testfilesystem@adlsgen2account.dfs.core.windows.net/samples/java/wordcount/result/'], - 'driver-memory': '4g', - 'driver-cores': 4, - 'executor-memory': '4g', - 'executor-cores': 4, - 'num-executors': 2 + 'executors': 2, + 'executor-size': 'Medium' }) # create a spark batch job - batch_job = self.cmd('az synapse spark batch create --name {job} --workspace-name {workspace} ' - '--spark-pool-name {spark-pool} --file {file} --class-name {class-name} --args {args} ' - '--driver-memory {driver-memory} --driver-cores {driver-cores} ' - '--executor-memory {executor-memory} --executor-cores {executor-cores} ' - '--num-executors {num-executors}', + batch_job = self.cmd('az synapse spark job submit --name {job} --workspace-name {workspace} ' + '--spark-pool-name {spark-pool} --main-definition-file {main-definition-file} ' + '--main-class-name {main-class-name} --command-line-arguments {command-line-arguments} ' + '--executors {executors} --executor-size {executor-size}', checks=[self.check('name', self.kwargs['job']), self.check('jobType', 'SparkBatch'), self.check('state', 'not_started') @@ -171,22 +199,22 @@ def test_spark_batch(self, resource_group): self.kwargs['batch-id'] = batch_job['id'] # get a spark batch job with batch id - self.cmd('az synapse spark batch show --id {batch-id} --workspace-name {workspace} ' + self.cmd('az synapse spark job show --livy-id {batch-id} --workspace-name {workspace} ' '--spark-pool-name {spark-pool}', checks=[self.check('id', self.kwargs['batch-id'])]) # list all spark batch jobs under a specific spark pool - self.cmd('az synapse spark batch list --workspace-name {workspace} ' + self.cmd('az synapse spark job list --workspace-name {workspace} ' '--spark-pool-name {spark-pool}', checks=[ self.check('sessions[0].jobType', 'SparkBatch') ]) # cancel a spark batch job with batch id - self.cmd('az synapse spark batch cancel --id {batch-id} --workspace-name {workspace} ' + self.cmd('az synapse spark job cancel --livy-id {batch-id} --workspace-name {workspace} ' '--spark-pool-name {spark-pool} --yes') import time time.sleep(60) - self.cmd('az synapse spark batch show --id {batch-id} --workspace-name {workspace} ' + self.cmd('az synapse spark job show --livy-id {batch-id} --workspace-name {workspace} ' '--spark-pool-name {spark-pool}', checks=[ self.check('result', 'Cancelled') @@ -196,22 +224,18 @@ def test_spark_batch(self, resource_group): def test_spark_session_and_statements(self, resource_group): self.kwargs.update({ 'spark-pool': 'testsparkpool', - 'workspace': 'testsynapseworkspace1234', - 'job': 'session_job', - 'driver-memory': '4g', - 'driver-cores': 4, - 'executor-memory': '4g', - 'executor-cores': 4, - 'num-executors': 2, + 'workspace': 'testsynapseworkspace', + 'job': self.create_random_name(prefix='clisession', length=14), + 'executor-size': 'Small', + 'executors': 2, 'code': "\"import time\ntime.sleep(10)\nprint('hello from cli')\"", - 'kind': 'pyspark' + 'language': 'pyspark' }) # create a spark session create_result = self.cmd('az synapse spark session create --name {job} --workspace-name {workspace} ' - '--spark-pool-name {spark-pool} --driver-memory {driver-memory} --driver-cores {driver-cores} ' - '--executor-memory {executor-memory} --executor-cores {executor-cores} ' - '--num-executors {num-executors}', + '--spark-pool-name {spark-pool} --executor-size {executor-size} ' + '--executors {executors}', checks=[ self.check('jobType', 'SparkSession'), self.check('name', self.kwargs['job']), @@ -225,7 +249,7 @@ def test_spark_session_and_statements(self, resource_group): time.sleep(360) # get a spark session - self.cmd('az synapse spark session show --id {session-id} --workspace-name {workspace} ' + self.cmd('az synapse spark session show --livy-id {session-id} --workspace-name {workspace} ' '--spark-pool-name {spark-pool}', checks=[ self.check('id', self.kwargs['session-id']), @@ -240,56 +264,101 @@ def test_spark_session_and_statements(self, resource_group): ]) # reset spark session's timeout time - self.cmd('az synapse spark session reset-timeout --id {session-id} --workspace-name {workspace} ' + self.cmd('az synapse spark session reset-timeout --livy-id {session-id} --workspace-name {workspace} ' '--spark-pool-name {spark-pool}') # create a spark session statement job - statement = self.cmd('az synapse spark session-statement create --session-id {session-id} ' + statement = self.cmd('az synapse spark statement invoke --session-id {session-id} ' '--workspace-name {workspace} --spark-pool-name {spark-pool} ' - '--code {code} --kind {kind}', + '--code {code} --language {language}', checks=[ self.check('state', 'waiting') ]).get_output_in_json() self.kwargs['statement-id'] = statement['id'] # get a spark session statement - self.cmd('az synapse spark session-statement show --id {statement-id} --session-id {session-id} ' + self.cmd('az synapse spark statement show --livy-id {statement-id} --session-id {session-id} ' '--workspace-name {workspace} --spark-pool-name {spark-pool}', checks=[ self.check('state', 'running') ]) # list all spark session statements under a specific spark session - self.cmd('az synapse spark session-statement list --session-id {session-id} ' + self.cmd('az synapse spark statement list --session-id {session-id} ' '--workspace-name {workspace} --spark-pool-name {spark-pool}', checks=[ self.check('statements[0].state', 'running') ]) # cancel a spark session statement - self.cmd('az synapse spark session-statement cancel --id {statement-id} --session-id {session-id} ' + self.cmd('az synapse spark statement cancel --livy-id {statement-id} --session-id {session-id} ' '--workspace-name {workspace} --spark-pool-name {spark-pool} --yes', checks=[ self.check('msg', 'canceled') ]) # delete/cancel a spark session - self.cmd('az synapse spark session cancel --id {session-id} --workspace-name {workspace} ' + self.cmd('az synapse spark session cancel --livy-id {session-id} --workspace-name {workspace} ' '--spark-pool-name {spark-pool} --yes') import time time.sleep(120) - self.cmd('az synapse spark session show --id {session-id} --workspace-name {workspace} ' + self.cmd('az synapse spark session show --livy-id {session-id} --workspace-name {workspace} ' '--spark-pool-name {spark-pool}', checks=[ self.check('state', 'killed') ]) + @ResourceGroupPreparer(name_prefix='synapse-cli', random_name_length=16) + def test_ip_firewall_rules(self, resource_group): + self.kwargs.update({ + 'workspace': 'testsynapseworkspace', + 'rg': 'rg', + 'ruleName': self.create_random_name(prefix='rule', length=8), + 'startIpAddress': "0.0.0.0", + 'endIpAddress': "255.255.255.255" + }) + + # create a firewall rule + self.cmd( + 'az synapse workspace firewall-rule create --name {ruleName} --workspace-name {workspace} ' + '--resource-group {rg} --start-ip-address {startIpAddress} --end-ip-address {endIpAddress}', + checks=[ + self.check('name', self.kwargs['ruleName']), + self.check('type', 'Microsoft.Synapse/workspaces/firewallRules'), + self.check('provisioningState', 'Succeeded') + ]) + + # get a firewall rule + self.cmd( + 'az synapse workspace firewall-rule show --name {ruleName} --workspace-name {workspace} ' + '--resource-group {rg}', + checks=[ + self.check('name', self.kwargs['ruleName']), + self.check('type', 'Microsoft.Synapse/workspaces/firewallRules'), + self.check('provisioningState', 'Succeeded') + ]) + + # list all firewall rules under a specific workspace + self.cmd('az synapse workspace firewall-rule list --workspace-name {workspace} --resource-group {rg}', + checks=[ + self.check('[0].type', 'Microsoft.Synapse/workspaces/firewallRules') + ]) + + # delete a firewall rule + self.cmd( + 'az synapse workspace firewall-rule delete --name {ruleName} --workspace-name {workspace} ' + '--resource-group {rg} --yes') + import time + time.sleep(20) + self.cmd('az synapse workspace firewall-rule show --name {ruleName} --workspace-name {workspace} ' + '--resource-group {rg}', expect_failure=True) + def _create_workspace(self): self.kwargs.update({ 'location': self.location, 'workspace': self.create_random_name(prefix='clitest', length=16), 'file-system': 'testfilesystem', - 'account-url': 'https://adlsgen2account.dfs.core.windows.net', + 'storage-account': 'adlsgen2account', 'login-user': 'cliuser1', 'login-password': 'Password123!' }) @@ -301,7 +370,7 @@ def _create_workspace(self): # create synapse workspace self.cmd( - 'az synapse workspace create --name {workspace} --resource-group {rg} --account-url {account-url} ' + 'az synapse workspace create --name {workspace} --resource-group {rg} --storage-account {storage-account} ' '--file-system {file-system} --sql-admin-login-user {login-user} ' '--sql-admin-login-password {login-password}' ' --location {location}', checks=[ diff --git a/src/synapse/azext_synapse/util.py b/src/synapse/azext_synapse/util.py new file mode 100644 index 00000000000..47d987be997 --- /dev/null +++ b/src/synapse/azext_synapse/util.py @@ -0,0 +1,26 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- +from .constant import SPARK_DOTNET_ASSEMBLY_SEARCH_PATHS_KEY, SPARK_DOTNET_UDFS_FOLDER_NAME + + +def categorized_files(reference_files): + files = [] + jars = [] + for file in reference_files: + file = file.strip() + if file.endswith(".jar"): + jars.append(file) + else: + files.append(file) + return files, jars + + +def check_udfs_folder(conf): + paths = conf.get(SPARK_DOTNET_ASSEMBLY_SEARCH_PATHS_KEY, '').split(',') + paths = [path for path in paths if path != ''] + udfs_folder_name = './{}'.format(SPARK_DOTNET_UDFS_FOLDER_NAME) + if udfs_folder_name not in paths: + paths.append(udfs_folder_name) + conf[SPARK_DOTNET_ASSEMBLY_SEARCH_PATHS_KEY] = ','.join(paths) diff --git a/src/synapse/azext_synapse/vendored_sdks/azure_mgmt_synapse/_synapse_management_client.py b/src/synapse/azext_synapse/vendored_sdks/azure_mgmt_synapse/_synapse_management_client.py index 9cadda55d90..45dfb7d8c6e 100644 --- a/src/synapse/azext_synapse/vendored_sdks/azure_mgmt_synapse/_synapse_management_client.py +++ b/src/synapse/azext_synapse/vendored_sdks/azure_mgmt_synapse/_synapse_management_client.py @@ -39,6 +39,17 @@ from .operations import WorkspacesOperations from .operations import WorkspaceAadAdminsOperations from .operations import WorkspaceManagedIdentitySqlControlSettingsOperations +from .operations import IntegrationRuntimesOperations +from .operations import IntegrationRuntimeNodeIpAddressOperations +from .operations import IntegrationRuntimeObjectMetadataOperations +from .operations import IntegrationRuntimeNodesOperations +from .operations import IntegrationRuntimeCredentialsOperations +from .operations import IntegrationRuntimeConnectionInfosOperations +from .operations import IntegrationRuntimeAuthKeysOperations +from .operations import IntegrationRuntimeMonitoringDataOperations +from .operations import IntegrationRuntimeStatusOperations +from .operations import PrivateLinkResourcesOperations +from .operations import PrivateEndpointConnectionsOperations from . import models @@ -100,6 +111,28 @@ class SynapseManagementClient(SDKClient): :vartype workspace_aad_admins: azure.mgmt.synapse.operations.WorkspaceAadAdminsOperations :ivar workspace_managed_identity_sql_control_settings: WorkspaceManagedIdentitySqlControlSettings operations :vartype workspace_managed_identity_sql_control_settings: azure.mgmt.synapse.operations.WorkspaceManagedIdentitySqlControlSettingsOperations + :ivar integration_runtimes: IntegrationRuntimes operations + :vartype integration_runtimes: azure.mgmt.synapse.operations.IntegrationRuntimesOperations + :ivar integration_runtime_node_ip_address: IntegrationRuntimeNodeIpAddress operations + :vartype integration_runtime_node_ip_address: azure.mgmt.synapse.operations.IntegrationRuntimeNodeIpAddressOperations + :ivar integration_runtime_object_metadata: IntegrationRuntimeObjectMetadata operations + :vartype integration_runtime_object_metadata: azure.mgmt.synapse.operations.IntegrationRuntimeObjectMetadataOperations + :ivar integration_runtime_nodes: IntegrationRuntimeNodes operations + :vartype integration_runtime_nodes: azure.mgmt.synapse.operations.IntegrationRuntimeNodesOperations + :ivar integration_runtime_credentials: IntegrationRuntimeCredentials operations + :vartype integration_runtime_credentials: azure.mgmt.synapse.operations.IntegrationRuntimeCredentialsOperations + :ivar integration_runtime_connection_infos: IntegrationRuntimeConnectionInfos operations + :vartype integration_runtime_connection_infos: azure.mgmt.synapse.operations.IntegrationRuntimeConnectionInfosOperations + :ivar integration_runtime_auth_keys: IntegrationRuntimeAuthKeys operations + :vartype integration_runtime_auth_keys: azure.mgmt.synapse.operations.IntegrationRuntimeAuthKeysOperations + :ivar integration_runtime_monitoring_data: IntegrationRuntimeMonitoringData operations + :vartype integration_runtime_monitoring_data: azure.mgmt.synapse.operations.IntegrationRuntimeMonitoringDataOperations + :ivar integration_runtime_status: IntegrationRuntimeStatus operations + :vartype integration_runtime_status: azure.mgmt.synapse.operations.IntegrationRuntimeStatusOperations + :ivar private_link_resources: PrivateLinkResources operations + :vartype private_link_resources: azure.mgmt.synapse.operations.PrivateLinkResourcesOperations + :ivar private_endpoint_connections: PrivateEndpointConnections operations + :vartype private_endpoint_connections: azure.mgmt.synapse.operations.PrivateEndpointConnectionsOperations :param credentials: Credentials needed for the client to connect to Azure. :type credentials: :mod:`A msrestazure Credentials @@ -172,3 +205,25 @@ def __init__( self._client, self.config, self._serialize, self._deserialize) self.workspace_managed_identity_sql_control_settings = WorkspaceManagedIdentitySqlControlSettingsOperations( self._client, self.config, self._serialize, self._deserialize) + self.integration_runtimes = IntegrationRuntimesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.integration_runtime_node_ip_address = IntegrationRuntimeNodeIpAddressOperations( + self._client, self.config, self._serialize, self._deserialize) + self.integration_runtime_object_metadata = IntegrationRuntimeObjectMetadataOperations( + self._client, self.config, self._serialize, self._deserialize) + self.integration_runtime_nodes = IntegrationRuntimeNodesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.integration_runtime_credentials = IntegrationRuntimeCredentialsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.integration_runtime_connection_infos = IntegrationRuntimeConnectionInfosOperations( + self._client, self.config, self._serialize, self._deserialize) + self.integration_runtime_auth_keys = IntegrationRuntimeAuthKeysOperations( + self._client, self.config, self._serialize, self._deserialize) + self.integration_runtime_monitoring_data = IntegrationRuntimeMonitoringDataOperations( + self._client, self.config, self._serialize, self._deserialize) + self.integration_runtime_status = IntegrationRuntimeStatusOperations( + self._client, self.config, self._serialize, self._deserialize) + self.private_link_resources = PrivateLinkResourcesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.private_endpoint_connections = PrivateEndpointConnectionsOperations( + self._client, self.config, self._serialize, self._deserialize) diff --git a/src/synapse/azext_synapse/vendored_sdks/azure_mgmt_synapse/models/__init__.py b/src/synapse/azext_synapse/vendored_sdks/azure_mgmt_synapse/models/__init__.py index f39b393f2d9..3110806c789 100644 --- a/src/synapse/azext_synapse/vendored_sdks/azure_mgmt_synapse/models/__init__.py +++ b/src/synapse/azext_synapse/vendored_sdks/azure_mgmt_synapse/models/__init__.py @@ -19,26 +19,63 @@ from ._models_py3 import BigDataPoolResourceInfo from ._models_py3 import CheckNameAvailabilityRequest from ._models_py3 import CheckNameAvailabilityResponse + from ._models_py3 import CmdkeySetup + from ._models_py3 import ComponentSetup from ._models_py3 import CreateSqlPoolRestorePointDefinition + from ._models_py3 import CustomSetupBase from ._models_py3 import DataLakeStorageAccountDetails from ._models_py3 import DataWarehouseUserActivities + from ._models_py3 import EntityReference + from ._models_py3 import EnvironmentVariableSetup from ._models_py3 import ErrorAdditionalInfo from ._models_py3 import ErrorContract, ErrorContractException from ._models_py3 import ErrorDetail from ._models_py3 import ErrorResponse from ._models_py3 import GeoBackupPolicy + from ._models_py3 import GetSsisObjectMetadataRequest + from ._models_py3 import IntegrationRuntime + from ._models_py3 import IntegrationRuntimeAuthKeys + from ._models_py3 import IntegrationRuntimeComputeProperties + from ._models_py3 import IntegrationRuntimeConnectionInfo + from ._models_py3 import IntegrationRuntimeCustomSetupScriptProperties + from ._models_py3 import IntegrationRuntimeDataFlowProperties + from ._models_py3 import IntegrationRuntimeDataProxyProperties + from ._models_py3 import IntegrationRuntimeMonitoringData + from ._models_py3 import IntegrationRuntimeNodeIpAddress + from ._models_py3 import IntegrationRuntimeNodeMonitoringData + from ._models_py3 import IntegrationRuntimeRegenerateKeyParameters + from ._models_py3 import IntegrationRuntimeResource + from ._models_py3 import IntegrationRuntimeSsisCatalogInfo + from ._models_py3 import IntegrationRuntimeSsisProperties + from ._models_py3 import IntegrationRuntimeStatus + from ._models_py3 import IntegrationRuntimeStatusResponse + from ._models_py3 import IntegrationRuntimeVNetProperties from ._models_py3 import IpFirewallRuleInfo from ._models_py3 import IpFirewallRuleProperties from ._models_py3 import LibraryRequirements + from ._models_py3 import LinkedIntegrationRuntime + from ._models_py3 import LinkedIntegrationRuntimeKeyAuthorization + from ._models_py3 import LinkedIntegrationRuntimeRbacAuthorization + from ._models_py3 import LinkedIntegrationRuntimeType from ._models_py3 import ManagedIdentity from ._models_py3 import ManagedIdentitySqlControlSettingsModel from ._models_py3 import ManagedIdentitySqlControlSettingsModelPropertiesGrantSqlControlToManagedIdentity + from ._models_py3 import ManagedIntegrationRuntime + from ._models_py3 import ManagedIntegrationRuntimeError + from ._models_py3 import ManagedIntegrationRuntimeNode + from ._models_py3 import ManagedIntegrationRuntimeOperationResult + from ._models_py3 import ManagedIntegrationRuntimeStatus from ._models_py3 import MetadataSyncConfig from ._models_py3 import OperationMetaLogSpecification from ._models_py3 import OperationMetaMetricDimensionSpecification from ._models_py3 import OperationMetaMetricSpecification from ._models_py3 import OperationMetaServiceSpecification from ._models_py3 import OperationResource + from ._models_py3 import PrivateEndpoint + from ._models_py3 import PrivateEndpointConnection + from ._models_py3 import PrivateLinkResource + from ._models_py3 import PrivateLinkResourceProperties + from ._models_py3 import PrivateLinkServiceConnectionState from ._models_py3 import ProxyResource from ._models_py3 import QueryInterval from ._models_py3 import QueryMetric @@ -49,6 +86,11 @@ from ._models_py3 import Resource from ._models_py3 import ResourceMoveDefinition from ._models_py3 import RestorePoint + from ._models_py3 import SecretBase + from ._models_py3 import SecureString + from ._models_py3 import SelfHostedIntegrationRuntime + from ._models_py3 import SelfHostedIntegrationRuntimeNode + from ._models_py3 import SelfHostedIntegrationRuntimeStatus from ._models_py3 import SensitivityLabel from ._models_py3 import Sku from ._models_py3 import SqlPool @@ -65,10 +107,23 @@ from ._models_py3 import SqlPoolVulnerabilityAssessmentRuleBaseline from ._models_py3 import SqlPoolVulnerabilityAssessmentRuleBaselineItem from ._models_py3 import SqlPoolVulnerabilityAssessmentScansExport + from ._models_py3 import SsisEnvironment + from ._models_py3 import SsisEnvironmentReference + from ._models_py3 import SsisFolder + from ._models_py3 import SsisObjectMetadata + from ._models_py3 import SsisObjectMetadataListResponse + from ._models_py3 import SsisObjectMetadataStatusResponse + from ._models_py3 import SsisPackage + from ._models_py3 import SsisParameter + from ._models_py3 import SsisProject + from ._models_py3 import SsisVariable + from ._models_py3 import SubResource from ._models_py3 import TopQueries from ._models_py3 import TopQueriesListResult from ._models_py3 import TrackedResource from ._models_py3 import TransparentDataEncryption + from ._models_py3 import UpdateIntegrationRuntimeNodeRequest + from ._models_py3 import UpdateIntegrationRuntimeRequest from ._models_py3 import VirtualNetworkProfile from ._models_py3 import VulnerabilityAssessmentRecurringScansProperties from ._models_py3 import VulnerabilityAssessmentScanError @@ -86,26 +141,63 @@ from ._models import BigDataPoolResourceInfo from ._models import CheckNameAvailabilityRequest from ._models import CheckNameAvailabilityResponse + from ._models import CmdkeySetup + from ._models import ComponentSetup from ._models import CreateSqlPoolRestorePointDefinition + from ._models import CustomSetupBase from ._models import DataLakeStorageAccountDetails from ._models import DataWarehouseUserActivities + from ._models import EntityReference + from ._models import EnvironmentVariableSetup from ._models import ErrorAdditionalInfo from ._models import ErrorContract, ErrorContractException from ._models import ErrorDetail from ._models import ErrorResponse from ._models import GeoBackupPolicy + from ._models import GetSsisObjectMetadataRequest + from ._models import IntegrationRuntime + from ._models import IntegrationRuntimeAuthKeys + from ._models import IntegrationRuntimeComputeProperties + from ._models import IntegrationRuntimeConnectionInfo + from ._models import IntegrationRuntimeCustomSetupScriptProperties + from ._models import IntegrationRuntimeDataFlowProperties + from ._models import IntegrationRuntimeDataProxyProperties + from ._models import IntegrationRuntimeMonitoringData + from ._models import IntegrationRuntimeNodeIpAddress + from ._models import IntegrationRuntimeNodeMonitoringData + from ._models import IntegrationRuntimeRegenerateKeyParameters + from ._models import IntegrationRuntimeResource + from ._models import IntegrationRuntimeSsisCatalogInfo + from ._models import IntegrationRuntimeSsisProperties + from ._models import IntegrationRuntimeStatus + from ._models import IntegrationRuntimeStatusResponse + from ._models import IntegrationRuntimeVNetProperties from ._models import IpFirewallRuleInfo from ._models import IpFirewallRuleProperties from ._models import LibraryRequirements + from ._models import LinkedIntegrationRuntime + from ._models import LinkedIntegrationRuntimeKeyAuthorization + from ._models import LinkedIntegrationRuntimeRbacAuthorization + from ._models import LinkedIntegrationRuntimeType from ._models import ManagedIdentity from ._models import ManagedIdentitySqlControlSettingsModel from ._models import ManagedIdentitySqlControlSettingsModelPropertiesGrantSqlControlToManagedIdentity + from ._models import ManagedIntegrationRuntime + from ._models import ManagedIntegrationRuntimeError + from ._models import ManagedIntegrationRuntimeNode + from ._models import ManagedIntegrationRuntimeOperationResult + from ._models import ManagedIntegrationRuntimeStatus from ._models import MetadataSyncConfig from ._models import OperationMetaLogSpecification from ._models import OperationMetaMetricDimensionSpecification from ._models import OperationMetaMetricSpecification from ._models import OperationMetaServiceSpecification from ._models import OperationResource + from ._models import PrivateEndpoint + from ._models import PrivateEndpointConnection + from ._models import PrivateLinkResource + from ._models import PrivateLinkResourceProperties + from ._models import PrivateLinkServiceConnectionState from ._models import ProxyResource from ._models import QueryInterval from ._models import QueryMetric @@ -116,6 +208,11 @@ from ._models import Resource from ._models import ResourceMoveDefinition from ._models import RestorePoint + from ._models import SecretBase + from ._models import SecureString + from ._models import SelfHostedIntegrationRuntime + from ._models import SelfHostedIntegrationRuntimeNode + from ._models import SelfHostedIntegrationRuntimeStatus from ._models import SensitivityLabel from ._models import Sku from ._models import SqlPool @@ -132,10 +229,23 @@ from ._models import SqlPoolVulnerabilityAssessmentRuleBaseline from ._models import SqlPoolVulnerabilityAssessmentRuleBaselineItem from ._models import SqlPoolVulnerabilityAssessmentScansExport + from ._models import SsisEnvironment + from ._models import SsisEnvironmentReference + from ._models import SsisFolder + from ._models import SsisObjectMetadata + from ._models import SsisObjectMetadataListResponse + from ._models import SsisObjectMetadataStatusResponse + from ._models import SsisPackage + from ._models import SsisParameter + from ._models import SsisProject + from ._models import SsisVariable + from ._models import SubResource from ._models import TopQueries from ._models import TopQueriesListResult from ._models import TrackedResource from ._models import TransparentDataEncryption + from ._models import UpdateIntegrationRuntimeNodeRequest + from ._models import UpdateIntegrationRuntimeRequest from ._models import VirtualNetworkProfile from ._models import VulnerabilityAssessmentRecurringScansProperties from ._models import VulnerabilityAssessmentScanError @@ -144,7 +254,10 @@ from ._models import WorkspaceAadAdminInfo from ._models import WorkspacePatchInfo from ._paged_models import BigDataPoolResourceInfoPaged +from ._paged_models import IntegrationRuntimeResourcePaged from ._paged_models import IpFirewallRuleInfoPaged +from ._paged_models import PrivateEndpointConnectionPaged +from ._paged_models import PrivateLinkResourcePaged from ._paged_models import ReplicationLinkPaged from ._paged_models import RestorePointPaged from ._paged_models import SensitivityLabelPaged @@ -178,6 +291,20 @@ VulnerabilityAssessmentScanState, SecurityAlertPolicyState, ResourceIdentityType, + IntegrationRuntimeType, + IntegrationRuntimeState, + DataFlowComputeType, + IntegrationRuntimeSsisCatalogPricingTier, + IntegrationRuntimeLicenseType, + IntegrationRuntimeEntityReferenceType, + IntegrationRuntimeEdition, + ManagedIntegrationRuntimeNodeStatus, + IntegrationRuntimeInternalChannelEncryptionMode, + SelfHostedIntegrationRuntimeNodeStatus, + IntegrationRuntimeUpdateResult, + IntegrationRuntimeAutoUpdate, + IntegrationRuntimeAuthKeyName, + SsisObjectMetadataType, VulnerabilityAssessmentPolicyBaselineName, ) @@ -191,26 +318,63 @@ 'BigDataPoolResourceInfo', 'CheckNameAvailabilityRequest', 'CheckNameAvailabilityResponse', + 'CmdkeySetup', + 'ComponentSetup', 'CreateSqlPoolRestorePointDefinition', + 'CustomSetupBase', 'DataLakeStorageAccountDetails', 'DataWarehouseUserActivities', + 'EntityReference', + 'EnvironmentVariableSetup', 'ErrorAdditionalInfo', 'ErrorContract', 'ErrorContractException', 'ErrorDetail', 'ErrorResponse', 'GeoBackupPolicy', + 'GetSsisObjectMetadataRequest', + 'IntegrationRuntime', + 'IntegrationRuntimeAuthKeys', + 'IntegrationRuntimeComputeProperties', + 'IntegrationRuntimeConnectionInfo', + 'IntegrationRuntimeCustomSetupScriptProperties', + 'IntegrationRuntimeDataFlowProperties', + 'IntegrationRuntimeDataProxyProperties', + 'IntegrationRuntimeMonitoringData', + 'IntegrationRuntimeNodeIpAddress', + 'IntegrationRuntimeNodeMonitoringData', + 'IntegrationRuntimeRegenerateKeyParameters', + 'IntegrationRuntimeResource', + 'IntegrationRuntimeSsisCatalogInfo', + 'IntegrationRuntimeSsisProperties', + 'IntegrationRuntimeStatus', + 'IntegrationRuntimeStatusResponse', + 'IntegrationRuntimeVNetProperties', 'IpFirewallRuleInfo', 'IpFirewallRuleProperties', 'LibraryRequirements', + 'LinkedIntegrationRuntime', + 'LinkedIntegrationRuntimeKeyAuthorization', + 'LinkedIntegrationRuntimeRbacAuthorization', + 'LinkedIntegrationRuntimeType', 'ManagedIdentity', 'ManagedIdentitySqlControlSettingsModel', 'ManagedIdentitySqlControlSettingsModelPropertiesGrantSqlControlToManagedIdentity', + 'ManagedIntegrationRuntime', + 'ManagedIntegrationRuntimeError', + 'ManagedIntegrationRuntimeNode', + 'ManagedIntegrationRuntimeOperationResult', + 'ManagedIntegrationRuntimeStatus', 'MetadataSyncConfig', 'OperationMetaLogSpecification', 'OperationMetaMetricDimensionSpecification', 'OperationMetaMetricSpecification', 'OperationMetaServiceSpecification', 'OperationResource', + 'PrivateEndpoint', + 'PrivateEndpointConnection', + 'PrivateLinkResource', + 'PrivateLinkResourceProperties', + 'PrivateLinkServiceConnectionState', 'ProxyResource', 'QueryInterval', 'QueryMetric', @@ -221,6 +385,11 @@ 'Resource', 'ResourceMoveDefinition', 'RestorePoint', + 'SecretBase', + 'SecureString', + 'SelfHostedIntegrationRuntime', + 'SelfHostedIntegrationRuntimeNode', + 'SelfHostedIntegrationRuntimeStatus', 'SensitivityLabel', 'Sku', 'SqlPool', @@ -237,10 +406,23 @@ 'SqlPoolVulnerabilityAssessmentRuleBaseline', 'SqlPoolVulnerabilityAssessmentRuleBaselineItem', 'SqlPoolVulnerabilityAssessmentScansExport', + 'SsisEnvironment', + 'SsisEnvironmentReference', + 'SsisFolder', + 'SsisObjectMetadata', + 'SsisObjectMetadataListResponse', + 'SsisObjectMetadataStatusResponse', + 'SsisPackage', + 'SsisParameter', + 'SsisProject', + 'SsisVariable', + 'SubResource', 'TopQueries', 'TopQueriesListResult', 'TrackedResource', 'TransparentDataEncryption', + 'UpdateIntegrationRuntimeNodeRequest', + 'UpdateIntegrationRuntimeRequest', 'VirtualNetworkProfile', 'VulnerabilityAssessmentRecurringScansProperties', 'VulnerabilityAssessmentScanError', @@ -262,6 +444,9 @@ 'SqlPoolVulnerabilityAssessmentPaged', 'VulnerabilityAssessmentScanRecordPaged', 'WorkspacePaged', + 'IntegrationRuntimeResourcePaged', + 'PrivateLinkResourcePaged', + 'PrivateEndpointConnectionPaged', 'NodeSize', 'NodeSizeFamily', 'ProvisioningState', @@ -282,5 +467,19 @@ 'VulnerabilityAssessmentScanState', 'SecurityAlertPolicyState', 'ResourceIdentityType', + 'IntegrationRuntimeType', + 'IntegrationRuntimeState', + 'DataFlowComputeType', + 'IntegrationRuntimeSsisCatalogPricingTier', + 'IntegrationRuntimeLicenseType', + 'IntegrationRuntimeEntityReferenceType', + 'IntegrationRuntimeEdition', + 'ManagedIntegrationRuntimeNodeStatus', + 'IntegrationRuntimeInternalChannelEncryptionMode', + 'SelfHostedIntegrationRuntimeNodeStatus', + 'IntegrationRuntimeUpdateResult', + 'IntegrationRuntimeAutoUpdate', + 'IntegrationRuntimeAuthKeyName', + 'SsisObjectMetadataType', 'VulnerabilityAssessmentPolicyBaselineName', ] diff --git a/src/synapse/azext_synapse/vendored_sdks/azure_mgmt_synapse/models/_models.py b/src/synapse/azext_synapse/vendored_sdks/azure_mgmt_synapse/models/_models.py index 7e24c8575e1..42f32838433 100644 --- a/src/synapse/azext_synapse/vendored_sdks/azure_mgmt_synapse/models/_models.py +++ b/src/synapse/azext_synapse/vendored_sdks/azure_mgmt_synapse/models/_models.py @@ -404,12 +404,148 @@ def __init__(self, **kwargs): class CloudError(Model): - """CloudError. + """The object that defines the structure of an Azure Synapse error response. + + All required parameters must be populated in order to send to Azure. + + :param code: Required. Error code. + :type code: str + :param message: Required. Error message. + :type message: str + :param target: Property name/path in request associated with error. + :type target: str + :param details: Array with additional error details. + :type details: list[~azure.mgmt.synapse.models.CloudError] + """ + + _validation = { + 'code': {'required': True}, + 'message': {'required': True}, + } + + _attribute_map = { + 'code': {'key': 'error.code', 'type': 'str'}, + 'message': {'key': 'error.message', 'type': 'str'}, + 'target': {'key': 'error.target', 'type': 'str'}, + 'details': {'key': 'error.details', 'type': '[CloudError]'}, + } + + def __init__(self, **kwargs): + super(CloudError, self).__init__(**kwargs) + self.code = kwargs.get('code', None) + self.message = kwargs.get('message', None) + self.target = kwargs.get('target', None) + self.details = kwargs.get('details', None) + + +class CloudErrorException(HttpOperationError): + """Server responsed with exception of type: 'CloudError'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(CloudErrorException, self).__init__(deserialize, response, 'CloudError', *args) + + +class CustomSetupBase(Model): + """The base definition of the custom setup. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: CmdkeySetup, EnvironmentVariableSetup, ComponentSetup + + All required parameters must be populated in order to send to Azure. + + :param type: Required. Constant filled by server. + :type type: str + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + } + + _subtype_map = { + 'type': {'CmdkeySetup': 'CmdkeySetup', 'EnvironmentVariableSetup': 'EnvironmentVariableSetup', 'ComponentSetup': 'ComponentSetup'} + } + + def __init__(self, **kwargs): + super(CustomSetupBase, self).__init__(**kwargs) + self.type = None + + +class CmdkeySetup(CustomSetupBase): + """The custom setup of running cmdkey commands. + + All required parameters must be populated in order to send to Azure. + + :param type: Required. Constant filled by server. + :type type: str + :param target_name: Required. The server name of data source access. + :type target_name: object + :param user_name: Required. The user name of data source access. + :type user_name: object + :param password: Required. The password of data source access. + :type password: ~azure.mgmt.synapse.models.SecretBase + """ + + _validation = { + 'type': {'required': True}, + 'target_name': {'required': True}, + 'user_name': {'required': True}, + 'password': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'target_name': {'key': 'typeProperties.targetName', 'type': 'object'}, + 'user_name': {'key': 'typeProperties.userName', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, + } + + def __init__(self, **kwargs): + super(CmdkeySetup, self).__init__(**kwargs) + self.target_name = kwargs.get('target_name', None) + self.user_name = kwargs.get('user_name', None) + self.password = kwargs.get('password', None) + self.type = 'CmdkeySetup' + + +class ComponentSetup(CustomSetupBase): + """The custom setup of installing 3rd party components. + + All required parameters must be populated in order to send to Azure. + + :param type: Required. Constant filled by server. + :type type: str + :param component_name: Required. The name of the 3rd party component. + :type component_name: str + :param license_key: The license key to activate the component. + :type license_key: ~azure.mgmt.synapse.models.SecretBase """ + _validation = { + 'type': {'required': True}, + 'component_name': {'required': True}, + } + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'component_name': {'key': 'typeProperties.componentName', 'type': 'str'}, + 'license_key': {'key': 'typeProperties.licenseKey', 'type': 'SecretBase'}, } + def __init__(self, **kwargs): + super(ComponentSetup, self).__init__(**kwargs) + self.component_name = kwargs.get('component_name', None) + self.license_key = kwargs.get('license_key', None) + self.type = 'ComponentSetup' + class CreateSqlPoolRestorePointDefinition(Model): """Contains the information necessary to perform a create Sql pool restore @@ -524,6 +660,60 @@ def __init__(self, **kwargs): self.active_queries_count = None +class EntityReference(Model): + """The entity reference. + + :param type: The type of this referenced entity. Possible values include: + 'IntegrationRuntimeReference', 'LinkedServiceReference' + :type type: str or + ~azure.mgmt.synapse.models.IntegrationRuntimeEntityReferenceType + :param reference_name: The name of this referenced entity. + :type reference_name: str + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'reference_name': {'key': 'referenceName', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(EntityReference, self).__init__(**kwargs) + self.type = kwargs.get('type', None) + self.reference_name = kwargs.get('reference_name', None) + + +class EnvironmentVariableSetup(CustomSetupBase): + """The custom setup of setting environment variable. + + All required parameters must be populated in order to send to Azure. + + :param type: Required. Constant filled by server. + :type type: str + :param variable_name: Required. The name of the environment variable. + :type variable_name: str + :param variable_value: Required. The value of the environment variable. + :type variable_value: str + """ + + _validation = { + 'type': {'required': True}, + 'variable_name': {'required': True}, + 'variable_value': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'variable_name': {'key': 'typeProperties.variableName', 'type': 'str'}, + 'variable_value': {'key': 'typeProperties.variableValue', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(EnvironmentVariableSetup, self).__init__(**kwargs) + self.variable_name = kwargs.get('variable_name', None) + self.variable_value = kwargs.get('variable_value', None) + self.type = 'EnvironmentVariableSetup' + + class ErrorAdditionalInfo(Model): """The resource management error additional info. @@ -706,194 +896,1010 @@ def __init__(self, **kwargs): self.location = None -class IpFirewallRuleInfo(ProxyResource): - """IP firewall rule. - - Variables are only populated by the server, and will be ignored when - sending a request. +class GetSsisObjectMetadataRequest(Model): + """The request payload of get SSIS object metadata. - :ivar id: Fully qualified resource Id for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} - :vartype id: str - :ivar name: The name of the resource - :vartype name: str - :ivar type: The type of the resource. Ex- - Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. - :vartype type: str - :param end_ip_address: The end IP address of the firewall rule. Must be - IPv4 format. Must be greater than or equal to startIpAddress - :type end_ip_address: str - :ivar provisioning_state: Resource provisioning state. Possible values - include: 'Provisioning', 'Succeeded', 'Deleting', 'Failed', 'DeleteError' - :vartype provisioning_state: str or - ~azure.mgmt.synapse.models.ProvisioningState - :param start_ip_address: The start IP address of the firewall rule. Must - be IPv4 format - :type start_ip_address: str + :param metadata_path: Metadata path. + :type metadata_path: str """ - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - } - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'end_ip_address': {'key': 'properties.endIpAddress', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'start_ip_address': {'key': 'properties.startIpAddress', 'type': 'str'}, + 'metadata_path': {'key': 'metadataPath', 'type': 'str'}, } def __init__(self, **kwargs): - super(IpFirewallRuleInfo, self).__init__(**kwargs) - self.end_ip_address = kwargs.get('end_ip_address', None) - self.provisioning_state = None - self.start_ip_address = kwargs.get('start_ip_address', None) + super(GetSsisObjectMetadataRequest, self).__init__(**kwargs) + self.metadata_path = kwargs.get('metadata_path', None) -class IpFirewallRuleProperties(Model): - """IP firewall rule properties. +class IntegrationRuntime(Model): + """Azure Synapse nested object which serves as a compute resource for + activities. - Variables are only populated by the server, and will be ignored when - sending a request. + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: ManagedIntegrationRuntime, SelfHostedIntegrationRuntime - :param end_ip_address: The end IP address of the firewall rule. Must be - IPv4 format. Must be greater than or equal to startIpAddress - :type end_ip_address: str - :ivar provisioning_state: Resource provisioning state. Possible values - include: 'Provisioning', 'Succeeded', 'Deleting', 'Failed', 'DeleteError' - :vartype provisioning_state: str or - ~azure.mgmt.synapse.models.ProvisioningState - :param start_ip_address: The start IP address of the firewall rule. Must - be IPv4 format - :type start_ip_address: str + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are + deserialized this collection + :type additional_properties: dict[str, object] + :param description: Integration runtime description. + :type description: str + :param type: Required. Constant filled by server. + :type type: str """ _validation = { - 'provisioning_state': {'readonly': True}, + 'type': {'required': True}, } _attribute_map = { - 'end_ip_address': {'key': 'endIpAddress', 'type': 'str'}, - 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, - 'start_ip_address': {'key': 'startIpAddress', 'type': 'str'}, + 'additional_properties': {'key': '', 'type': '{object}'}, + 'description': {'key': 'description', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + _subtype_map = { + 'type': {'Managed': 'ManagedIntegrationRuntime', 'SelfHosted': 'SelfHostedIntegrationRuntime'} } def __init__(self, **kwargs): - super(IpFirewallRuleProperties, self).__init__(**kwargs) - self.end_ip_address = kwargs.get('end_ip_address', None) - self.provisioning_state = None - self.start_ip_address = kwargs.get('start_ip_address', None) + super(IntegrationRuntime, self).__init__(**kwargs) + self.additional_properties = kwargs.get('additional_properties', None) + self.description = kwargs.get('description', None) + self.type = None -class LibraryRequirements(Model): - """Spark pool library version requirements. +class IntegrationRuntimeAuthKeys(Model): + """The integration runtime authentication keys. - Library requirements for a Big Data pool powered by Apache Spark. + :param auth_key1: The primary integration runtime authentication key. + :type auth_key1: str + :param auth_key2: The secondary integration runtime authentication key. + :type auth_key2: str + """ - Variables are only populated by the server, and will be ignored when - sending a request. + _attribute_map = { + 'auth_key1': {'key': 'authKey1', 'type': 'str'}, + 'auth_key2': {'key': 'authKey2', 'type': 'str'}, + } - :ivar time: The last update time of the library requirements file. - :vartype time: datetime - :param content: The library requirements. - :type content: str - :param filename: The filename of the library requirements file. - :type filename: str + def __init__(self, **kwargs): + super(IntegrationRuntimeAuthKeys, self).__init__(**kwargs) + self.auth_key1 = kwargs.get('auth_key1', None) + self.auth_key2 = kwargs.get('auth_key2', None) + + +class IntegrationRuntimeComputeProperties(Model): + """The compute resource properties for managed integration runtime. + + :param additional_properties: Unmatched properties from the message are + deserialized this collection + :type additional_properties: dict[str, object] + :param location: The location for managed integration runtime. The + supported regions could be found on + https://docs.microsoft.com/en-us/azure/data-factory/data-factory-data-movement-activities + :type location: str + :param node_size: The node size requirement to managed integration + runtime. + :type node_size: str + :param number_of_nodes: The required number of nodes for managed + integration runtime. + :type number_of_nodes: int + :param max_parallel_executions_per_node: Maximum parallel executions count + per node for managed integration runtime. + :type max_parallel_executions_per_node: int + :param data_flow_properties: Data flow properties for managed integration + runtime. + :type data_flow_properties: + ~azure.mgmt.synapse.models.IntegrationRuntimeDataFlowProperties + :param v_net_properties: VNet properties for managed integration runtime. + :type v_net_properties: + ~azure.mgmt.synapse.models.IntegrationRuntimeVNetProperties """ _validation = { - 'time': {'readonly': True}, + 'number_of_nodes': {'minimum': 1}, + 'max_parallel_executions_per_node': {'minimum': 1}, } _attribute_map = { - 'time': {'key': 'time', 'type': 'iso-8601'}, - 'content': {'key': 'content', 'type': 'str'}, - 'filename': {'key': 'filename', 'type': 'str'}, + 'additional_properties': {'key': '', 'type': '{object}'}, + 'location': {'key': 'location', 'type': 'str'}, + 'node_size': {'key': 'nodeSize', 'type': 'str'}, + 'number_of_nodes': {'key': 'numberOfNodes', 'type': 'int'}, + 'max_parallel_executions_per_node': {'key': 'maxParallelExecutionsPerNode', 'type': 'int'}, + 'data_flow_properties': {'key': 'dataFlowProperties', 'type': 'IntegrationRuntimeDataFlowProperties'}, + 'v_net_properties': {'key': 'vNetProperties', 'type': 'IntegrationRuntimeVNetProperties'}, } def __init__(self, **kwargs): - super(LibraryRequirements, self).__init__(**kwargs) - self.time = None - self.content = kwargs.get('content', None) - self.filename = kwargs.get('filename', None) + super(IntegrationRuntimeComputeProperties, self).__init__(**kwargs) + self.additional_properties = kwargs.get('additional_properties', None) + self.location = kwargs.get('location', None) + self.node_size = kwargs.get('node_size', None) + self.number_of_nodes = kwargs.get('number_of_nodes', None) + self.max_parallel_executions_per_node = kwargs.get('max_parallel_executions_per_node', None) + self.data_flow_properties = kwargs.get('data_flow_properties', None) + self.v_net_properties = kwargs.get('v_net_properties', None) -class ManagedIdentity(Model): - """The workspace managed identity. +class IntegrationRuntimeConnectionInfo(Model): + """Connection information for encrypting the on-premises data source + credentials. Variables are only populated by the server, and will be ignored when sending a request. - :ivar principal_id: The principal ID of the workspace managed identity - :vartype principal_id: str - :ivar tenant_id: The tenant ID of the workspace managed identity - :vartype tenant_id: str - :param type: The type of managed identity for the workspace. Possible - values include: 'None', 'SystemAssigned' - :type type: str or ~azure.mgmt.synapse.models.ResourceIdentityType + :param additional_properties: Unmatched properties from the message are + deserialized this collection + :type additional_properties: dict[str, object] + :ivar service_token: The token generated in service. Callers use this + token to authenticate to integration runtime. + :vartype service_token: str + :ivar identity_cert_thumbprint: The integration runtime SSL certificate + thumbprint. Click-Once application uses it to do server validation. + :vartype identity_cert_thumbprint: str + :ivar host_service_uri: The on-premises integration runtime host URL. + :vartype host_service_uri: str + :ivar version: The integration runtime version. + :vartype version: str + :ivar public_key: The public key for encrypting a credential when + transferring the credential to the integration runtime. + :vartype public_key: str + :ivar is_identity_cert_exprired: Whether the identity certificate is + expired. + :vartype is_identity_cert_exprired: bool """ _validation = { - 'principal_id': {'readonly': True}, - 'tenant_id': {'readonly': True}, + 'service_token': {'readonly': True}, + 'identity_cert_thumbprint': {'readonly': True}, + 'host_service_uri': {'readonly': True}, + 'version': {'readonly': True}, + 'public_key': {'readonly': True}, + 'is_identity_cert_exprired': {'readonly': True}, } _attribute_map = { - 'principal_id': {'key': 'principalId', 'type': 'str'}, - 'tenant_id': {'key': 'tenantId', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'ResourceIdentityType'}, + 'additional_properties': {'key': '', 'type': '{object}'}, + 'service_token': {'key': 'serviceToken', 'type': 'str'}, + 'identity_cert_thumbprint': {'key': 'identityCertThumbprint', 'type': 'str'}, + 'host_service_uri': {'key': 'hostServiceUri', 'type': 'str'}, + 'version': {'key': 'version', 'type': 'str'}, + 'public_key': {'key': 'publicKey', 'type': 'str'}, + 'is_identity_cert_exprired': {'key': 'isIdentityCertExprired', 'type': 'bool'}, } def __init__(self, **kwargs): - super(ManagedIdentity, self).__init__(**kwargs) - self.principal_id = None - self.tenant_id = None - self.type = kwargs.get('type', None) - - -class ManagedIdentitySqlControlSettingsModel(ProxyResource): - """Managed Identity Sql Control Settings. - - Sql Control Settings for workspace managed identity. + super(IntegrationRuntimeConnectionInfo, self).__init__(**kwargs) + self.additional_properties = kwargs.get('additional_properties', None) + self.service_token = None + self.identity_cert_thumbprint = None + self.host_service_uri = None + self.version = None + self.public_key = None + self.is_identity_cert_exprired = None + + +class IntegrationRuntimeCustomSetupScriptProperties(Model): + """Custom setup script properties for a managed dedicated integration runtime. + + :param blob_container_uri: The URI of the Azure blob container that + contains the custom setup script. + :type blob_container_uri: str + :param sas_token: The SAS token of the Azure blob container. + :type sas_token: ~azure.mgmt.synapse.models.SecureString + """ - Variables are only populated by the server, and will be ignored when - sending a request. + _attribute_map = { + 'blob_container_uri': {'key': 'blobContainerUri', 'type': 'str'}, + 'sas_token': {'key': 'sasToken', 'type': 'SecureString'}, + } - :ivar id: Fully qualified resource Id for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} - :vartype id: str - :ivar name: The name of the resource - :vartype name: str - :ivar type: The type of the resource. Ex- - Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. - :vartype type: str - :param grant_sql_control_to_managed_identity: Grant sql control to managed - identity - :type grant_sql_control_to_managed_identity: - ~azure.mgmt.synapse.models.ManagedIdentitySqlControlSettingsModelPropertiesGrantSqlControlToManagedIdentity + def __init__(self, **kwargs): + super(IntegrationRuntimeCustomSetupScriptProperties, self).__init__(**kwargs) + self.blob_container_uri = kwargs.get('blob_container_uri', None) + self.sas_token = kwargs.get('sas_token', None) + + +class IntegrationRuntimeDataFlowProperties(Model): + """Data flow properties for managed integration runtime. + + :param additional_properties: Unmatched properties from the message are + deserialized this collection + :type additional_properties: dict[str, object] + :param compute_type: Compute type of the cluster which will execute data + flow job. Possible values include: 'General', 'MemoryOptimized', + 'ComputeOptimized' + :type compute_type: str or ~azure.mgmt.synapse.models.DataFlowComputeType + :param core_count: Core count of the cluster which will execute data flow + job. Supported values are: 8, 16, 32, 48, 80, 144 and 272. + :type core_count: int + :param time_to_live: Time to live (in minutes) setting of the cluster + which will execute data flow job. + :type time_to_live: int """ _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, + 'time_to_live': {'minimum': 0}, } _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'grant_sql_control_to_managed_identity': {'key': 'properties.grantSqlControlToManagedIdentity', 'type': 'ManagedIdentitySqlControlSettingsModelPropertiesGrantSqlControlToManagedIdentity'}, + 'additional_properties': {'key': '', 'type': '{object}'}, + 'compute_type': {'key': 'computeType', 'type': 'str'}, + 'core_count': {'key': 'coreCount', 'type': 'int'}, + 'time_to_live': {'key': 'timeToLive', 'type': 'int'}, } def __init__(self, **kwargs): - super(ManagedIdentitySqlControlSettingsModel, self).__init__(**kwargs) - self.grant_sql_control_to_managed_identity = kwargs.get('grant_sql_control_to_managed_identity', None) + super(IntegrationRuntimeDataFlowProperties, self).__init__(**kwargs) + self.additional_properties = kwargs.get('additional_properties', None) + self.compute_type = kwargs.get('compute_type', None) + self.core_count = kwargs.get('core_count', None) + self.time_to_live = kwargs.get('time_to_live', None) + + +class IntegrationRuntimeDataProxyProperties(Model): + """Data proxy properties for a managed dedicated integration runtime. + + :param connect_via: The self-hosted integration runtime reference. + :type connect_via: ~azure.mgmt.synapse.models.EntityReference + :param staging_linked_service: The staging linked service reference. + :type staging_linked_service: ~azure.mgmt.synapse.models.EntityReference + :param path: The path to contain the staged data in the Blob storage. + :type path: str + """ + + _attribute_map = { + 'connect_via': {'key': 'connectVia', 'type': 'EntityReference'}, + 'staging_linked_service': {'key': 'stagingLinkedService', 'type': 'EntityReference'}, + 'path': {'key': 'path', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(IntegrationRuntimeDataProxyProperties, self).__init__(**kwargs) + self.connect_via = kwargs.get('connect_via', None) + self.staging_linked_service = kwargs.get('staging_linked_service', None) + self.path = kwargs.get('path', None) + + +class IntegrationRuntimeMonitoringData(Model): + """Get monitoring data response. + + :param name: Integration runtime name. + :type name: str + :param nodes: Integration runtime node monitoring data. + :type nodes: + list[~azure.mgmt.synapse.models.IntegrationRuntimeNodeMonitoringData] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'nodes': {'key': 'nodes', 'type': '[IntegrationRuntimeNodeMonitoringData]'}, + } + + def __init__(self, **kwargs): + super(IntegrationRuntimeMonitoringData, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.nodes = kwargs.get('nodes', None) + + +class IntegrationRuntimeNodeIpAddress(Model): + """The IP address of self-hosted integration runtime node. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar ip_address: The IP address of self-hosted integration runtime node. + :vartype ip_address: str + """ + + _validation = { + 'ip_address': {'readonly': True}, + } + + _attribute_map = { + 'ip_address': {'key': 'ipAddress', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(IntegrationRuntimeNodeIpAddress, self).__init__(**kwargs) + self.ip_address = None + + +class IntegrationRuntimeNodeMonitoringData(Model): + """Monitoring data for integration runtime node. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param additional_properties: Unmatched properties from the message are + deserialized this collection + :type additional_properties: dict[str, object] + :ivar node_name: Name of the integration runtime node. + :vartype node_name: str + :ivar available_memory_in_mb: Available memory (MB) on the integration + runtime node. + :vartype available_memory_in_mb: int + :ivar cpu_utilization: CPU percentage on the integration runtime node. + :vartype cpu_utilization: int + :ivar concurrent_jobs_limit: Maximum concurrent jobs on the integration + runtime node. + :vartype concurrent_jobs_limit: int + :ivar concurrent_jobs_running: The number of jobs currently running on the + integration runtime node. + :vartype concurrent_jobs_running: int + :ivar max_concurrent_jobs: The maximum concurrent jobs in this integration + runtime. + :vartype max_concurrent_jobs: int + :ivar sent_bytes: Sent bytes on the integration runtime node. + :vartype sent_bytes: float + :ivar received_bytes: Received bytes on the integration runtime node. + :vartype received_bytes: float + """ + + _validation = { + 'node_name': {'readonly': True}, + 'available_memory_in_mb': {'readonly': True}, + 'cpu_utilization': {'readonly': True}, + 'concurrent_jobs_limit': {'readonly': True}, + 'concurrent_jobs_running': {'readonly': True}, + 'max_concurrent_jobs': {'readonly': True}, + 'sent_bytes': {'readonly': True}, + 'received_bytes': {'readonly': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'node_name': {'key': 'nodeName', 'type': 'str'}, + 'available_memory_in_mb': {'key': 'availableMemoryInMB', 'type': 'int'}, + 'cpu_utilization': {'key': 'cpuUtilization', 'type': 'int'}, + 'concurrent_jobs_limit': {'key': 'concurrentJobsLimit', 'type': 'int'}, + 'concurrent_jobs_running': {'key': 'concurrentJobsRunning', 'type': 'int'}, + 'max_concurrent_jobs': {'key': 'maxConcurrentJobs', 'type': 'int'}, + 'sent_bytes': {'key': 'sentBytes', 'type': 'float'}, + 'received_bytes': {'key': 'receivedBytes', 'type': 'float'}, + } + + def __init__(self, **kwargs): + super(IntegrationRuntimeNodeMonitoringData, self).__init__(**kwargs) + self.additional_properties = kwargs.get('additional_properties', None) + self.node_name = None + self.available_memory_in_mb = None + self.cpu_utilization = None + self.concurrent_jobs_limit = None + self.concurrent_jobs_running = None + self.max_concurrent_jobs = None + self.sent_bytes = None + self.received_bytes = None + + +class IntegrationRuntimeRegenerateKeyParameters(Model): + """Parameters to regenerate the authentication key. + + :param key_name: The name of the authentication key to regenerate. + Possible values include: 'authKey1', 'authKey2' + :type key_name: str or + ~azure.mgmt.synapse.models.IntegrationRuntimeAuthKeyName + """ + + _attribute_map = { + 'key_name': {'key': 'keyName', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(IntegrationRuntimeRegenerateKeyParameters, self).__init__(**kwargs) + self.key_name = kwargs.get('key_name', None) + + +class SubResource(Model): + """Azure Synapse nested resource, which belongs to a factory. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: The resource identifier. + :vartype id: str + :ivar name: The resource name. + :vartype name: str + :ivar type: The resource type. + :vartype type: str + :ivar etag: Etag identifies change in the resource. + :vartype etag: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SubResource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.etag = None + + +class IntegrationRuntimeResource(SubResource): + """Integration runtime resource type. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The resource identifier. + :vartype id: str + :ivar name: The resource name. + :vartype name: str + :ivar type: The resource type. + :vartype type: str + :ivar etag: Etag identifies change in the resource. + :vartype etag: str + :param properties: Required. Integration runtime properties. + :type properties: ~azure.mgmt.synapse.models.IntegrationRuntime + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + 'properties': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'IntegrationRuntime'}, + } + + def __init__(self, **kwargs): + super(IntegrationRuntimeResource, self).__init__(**kwargs) + self.properties = kwargs.get('properties', None) + + +class IntegrationRuntimeSsisCatalogInfo(Model): + """Catalog information for managed dedicated integration runtime. + + :param additional_properties: Unmatched properties from the message are + deserialized this collection + :type additional_properties: dict[str, object] + :param catalog_server_endpoint: The catalog database server URL. + :type catalog_server_endpoint: str + :param catalog_admin_user_name: The administrator user name of catalog + database. + :type catalog_admin_user_name: str + :param catalog_admin_password: The password of the administrator user + account of the catalog database. + :type catalog_admin_password: ~azure.mgmt.synapse.models.SecureString + :param catalog_pricing_tier: The pricing tier for the catalog database. + The valid values could be found in + https://azure.microsoft.com/en-us/pricing/details/sql-database/. Possible + values include: 'Basic', 'Standard', 'Premium', 'PremiumRS' + :type catalog_pricing_tier: str or + ~azure.mgmt.synapse.models.IntegrationRuntimeSsisCatalogPricingTier + """ + + _validation = { + 'catalog_admin_user_name': {'max_length': 128, 'min_length': 1}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'catalog_server_endpoint': {'key': 'catalogServerEndpoint', 'type': 'str'}, + 'catalog_admin_user_name': {'key': 'catalogAdminUserName', 'type': 'str'}, + 'catalog_admin_password': {'key': 'catalogAdminPassword', 'type': 'SecureString'}, + 'catalog_pricing_tier': {'key': 'catalogPricingTier', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(IntegrationRuntimeSsisCatalogInfo, self).__init__(**kwargs) + self.additional_properties = kwargs.get('additional_properties', None) + self.catalog_server_endpoint = kwargs.get('catalog_server_endpoint', None) + self.catalog_admin_user_name = kwargs.get('catalog_admin_user_name', None) + self.catalog_admin_password = kwargs.get('catalog_admin_password', None) + self.catalog_pricing_tier = kwargs.get('catalog_pricing_tier', None) + + +class IntegrationRuntimeSsisProperties(Model): + """SSIS properties for managed integration runtime. + + :param additional_properties: Unmatched properties from the message are + deserialized this collection + :type additional_properties: dict[str, object] + :param catalog_info: Catalog information for managed dedicated integration + runtime. + :type catalog_info: + ~azure.mgmt.synapse.models.IntegrationRuntimeSsisCatalogInfo + :param license_type: License type for bringing your own license scenario. + Possible values include: 'BasePrice', 'LicenseIncluded' + :type license_type: str or + ~azure.mgmt.synapse.models.IntegrationRuntimeLicenseType + :param custom_setup_script_properties: Custom setup script properties for + a managed dedicated integration runtime. + :type custom_setup_script_properties: + ~azure.mgmt.synapse.models.IntegrationRuntimeCustomSetupScriptProperties + :param data_proxy_properties: Data proxy properties for a managed + dedicated integration runtime. + :type data_proxy_properties: + ~azure.mgmt.synapse.models.IntegrationRuntimeDataProxyProperties + :param edition: The edition for the SSIS Integration Runtime. Possible + values include: 'Standard', 'Enterprise' + :type edition: str or ~azure.mgmt.synapse.models.IntegrationRuntimeEdition + :param express_custom_setup_properties: Custom setup without script + properties for a SSIS integration runtime. + :type express_custom_setup_properties: + list[~azure.mgmt.synapse.models.CustomSetupBase] + """ + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'catalog_info': {'key': 'catalogInfo', 'type': 'IntegrationRuntimeSsisCatalogInfo'}, + 'license_type': {'key': 'licenseType', 'type': 'str'}, + 'custom_setup_script_properties': {'key': 'customSetupScriptProperties', 'type': 'IntegrationRuntimeCustomSetupScriptProperties'}, + 'data_proxy_properties': {'key': 'dataProxyProperties', 'type': 'IntegrationRuntimeDataProxyProperties'}, + 'edition': {'key': 'edition', 'type': 'str'}, + 'express_custom_setup_properties': {'key': 'expressCustomSetupProperties', 'type': '[CustomSetupBase]'}, + } + + def __init__(self, **kwargs): + super(IntegrationRuntimeSsisProperties, self).__init__(**kwargs) + self.additional_properties = kwargs.get('additional_properties', None) + self.catalog_info = kwargs.get('catalog_info', None) + self.license_type = kwargs.get('license_type', None) + self.custom_setup_script_properties = kwargs.get('custom_setup_script_properties', None) + self.data_proxy_properties = kwargs.get('data_proxy_properties', None) + self.edition = kwargs.get('edition', None) + self.express_custom_setup_properties = kwargs.get('express_custom_setup_properties', None) + + +class IntegrationRuntimeStatus(Model): + """Integration runtime status. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: ManagedIntegrationRuntimeStatus, + SelfHostedIntegrationRuntimeStatus + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are + deserialized this collection + :type additional_properties: dict[str, object] + :ivar data_factory_name: The workspace name which the integration runtime + belong to. + :vartype data_factory_name: str + :ivar state: The state of integration runtime. Possible values include: + 'Initial', 'Stopped', 'Started', 'Starting', 'Stopping', + 'NeedRegistration', 'Online', 'Limited', 'Offline', 'AccessDenied' + :vartype state: str or ~azure.mgmt.synapse.models.IntegrationRuntimeState + :param type: Required. Constant filled by server. + :type type: str + """ + + _validation = { + 'data_factory_name': {'readonly': True}, + 'state': {'readonly': True}, + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'data_factory_name': {'key': 'dataFactoryName', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + _subtype_map = { + 'type': {'Managed': 'ManagedIntegrationRuntimeStatus', 'SelfHosted': 'SelfHostedIntegrationRuntimeStatus'} + } + + def __init__(self, **kwargs): + super(IntegrationRuntimeStatus, self).__init__(**kwargs) + self.additional_properties = kwargs.get('additional_properties', None) + self.data_factory_name = None + self.state = None + self.type = None + + +class IntegrationRuntimeStatusResponse(Model): + """Integration runtime status response. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar name: The integration runtime name. + :vartype name: str + :param properties: Required. Integration runtime properties. + :type properties: ~azure.mgmt.synapse.models.IntegrationRuntimeStatus + """ + + _validation = { + 'name': {'readonly': True}, + 'properties': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'IntegrationRuntimeStatus'}, + } + + def __init__(self, **kwargs): + super(IntegrationRuntimeStatusResponse, self).__init__(**kwargs) + self.name = None + self.properties = kwargs.get('properties', None) + + +class IntegrationRuntimeVNetProperties(Model): + """VNet properties for managed integration runtime. + + :param additional_properties: Unmatched properties from the message are + deserialized this collection + :type additional_properties: dict[str, object] + :param v_net_id: The ID of the VNet that this integration runtime will + join. + :type v_net_id: str + :param subnet: The name of the subnet this integration runtime will join. + :type subnet: str + :param public_ips: Resource IDs of the public IP addresses that this + integration runtime will use. + :type public_ips: list[str] + """ + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'v_net_id': {'key': 'vNetId', 'type': 'str'}, + 'subnet': {'key': 'subnet', 'type': 'str'}, + 'public_ips': {'key': 'publicIPs', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(IntegrationRuntimeVNetProperties, self).__init__(**kwargs) + self.additional_properties = kwargs.get('additional_properties', None) + self.v_net_id = kwargs.get('v_net_id', None) + self.subnet = kwargs.get('subnet', None) + self.public_ips = kwargs.get('public_ips', None) + + +class IpFirewallRuleInfo(ProxyResource): + """IP firewall rule. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :param end_ip_address: The end IP address of the firewall rule. Must be + IPv4 format. Must be greater than or equal to startIpAddress + :type end_ip_address: str + :ivar provisioning_state: Resource provisioning state. Possible values + include: 'Provisioning', 'Succeeded', 'Deleting', 'Failed', 'DeleteError' + :vartype provisioning_state: str or + ~azure.mgmt.synapse.models.ProvisioningState + :param start_ip_address: The start IP address of the firewall rule. Must + be IPv4 format + :type start_ip_address: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'end_ip_address': {'key': 'properties.endIpAddress', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'start_ip_address': {'key': 'properties.startIpAddress', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(IpFirewallRuleInfo, self).__init__(**kwargs) + self.end_ip_address = kwargs.get('end_ip_address', None) + self.provisioning_state = None + self.start_ip_address = kwargs.get('start_ip_address', None) + + +class IpFirewallRuleProperties(Model): + """IP firewall rule properties. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param end_ip_address: The end IP address of the firewall rule. Must be + IPv4 format. Must be greater than or equal to startIpAddress + :type end_ip_address: str + :ivar provisioning_state: Resource provisioning state. Possible values + include: 'Provisioning', 'Succeeded', 'Deleting', 'Failed', 'DeleteError' + :vartype provisioning_state: str or + ~azure.mgmt.synapse.models.ProvisioningState + :param start_ip_address: The start IP address of the firewall rule. Must + be IPv4 format + :type start_ip_address: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'end_ip_address': {'key': 'endIpAddress', 'type': 'str'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'start_ip_address': {'key': 'startIpAddress', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(IpFirewallRuleProperties, self).__init__(**kwargs) + self.end_ip_address = kwargs.get('end_ip_address', None) + self.provisioning_state = None + self.start_ip_address = kwargs.get('start_ip_address', None) + + +class LibraryRequirements(Model): + """Spark pool library version requirements. + + Library requirements for a Big Data pool powered by Apache Spark. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar time: The last update time of the library requirements file. + :vartype time: datetime + :param content: The library requirements. + :type content: str + :param filename: The filename of the library requirements file. + :type filename: str + """ + + _validation = { + 'time': {'readonly': True}, + } + + _attribute_map = { + 'time': {'key': 'time', 'type': 'iso-8601'}, + 'content': {'key': 'content', 'type': 'str'}, + 'filename': {'key': 'filename', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(LibraryRequirements, self).__init__(**kwargs) + self.time = None + self.content = kwargs.get('content', None) + self.filename = kwargs.get('filename', None) + + +class LinkedIntegrationRuntime(Model): + """The linked integration runtime information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name: The name of the linked integration runtime. + :vartype name: str + :ivar subscription_id: The subscription ID for which the linked + integration runtime belong to. + :vartype subscription_id: str + :ivar data_factory_name: The name of the workspace for which the linked + integration runtime belong to. + :vartype data_factory_name: str + :ivar data_factory_location: The location of the workspace for which the + linked integration runtime belong to. + :vartype data_factory_location: str + :ivar create_time: The creating time of the linked integration runtime. + :vartype create_time: datetime + """ + + _validation = { + 'name': {'readonly': True}, + 'subscription_id': {'readonly': True}, + 'data_factory_name': {'readonly': True}, + 'data_factory_location': {'readonly': True}, + 'create_time': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'subscription_id': {'key': 'subscriptionId', 'type': 'str'}, + 'data_factory_name': {'key': 'dataFactoryName', 'type': 'str'}, + 'data_factory_location': {'key': 'dataFactoryLocation', 'type': 'str'}, + 'create_time': {'key': 'createTime', 'type': 'iso-8601'}, + } + + def __init__(self, **kwargs): + super(LinkedIntegrationRuntime, self).__init__(**kwargs) + self.name = None + self.subscription_id = None + self.data_factory_name = None + self.data_factory_location = None + self.create_time = None + + +class LinkedIntegrationRuntimeType(Model): + """The base definition of a linked integration runtime. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: LinkedIntegrationRuntimeKeyAuthorization, + LinkedIntegrationRuntimeRbacAuthorization + + All required parameters must be populated in order to send to Azure. + + :param authorization_type: Required. Constant filled by server. + :type authorization_type: str + """ + + _validation = { + 'authorization_type': {'required': True}, + } + + _attribute_map = { + 'authorization_type': {'key': 'authorizationType', 'type': 'str'}, + } + + _subtype_map = { + 'authorization_type': {'Key': 'LinkedIntegrationRuntimeKeyAuthorization', 'RBAC': 'LinkedIntegrationRuntimeRbacAuthorization'} + } + + def __init__(self, **kwargs): + super(LinkedIntegrationRuntimeType, self).__init__(**kwargs) + self.authorization_type = None + + +class LinkedIntegrationRuntimeKeyAuthorization(LinkedIntegrationRuntimeType): + """The key authorization type integration runtime. + + All required parameters must be populated in order to send to Azure. + + :param authorization_type: Required. Constant filled by server. + :type authorization_type: str + :param key: Required. The key used for authorization. + :type key: ~azure.mgmt.synapse.models.SecureString + """ + + _validation = { + 'authorization_type': {'required': True}, + 'key': {'required': True}, + } + + _attribute_map = { + 'authorization_type': {'key': 'authorizationType', 'type': 'str'}, + 'key': {'key': 'key', 'type': 'SecureString'}, + } + + def __init__(self, **kwargs): + super(LinkedIntegrationRuntimeKeyAuthorization, self).__init__(**kwargs) + self.key = kwargs.get('key', None) + self.authorization_type = 'Key' + + +class LinkedIntegrationRuntimeRbacAuthorization(LinkedIntegrationRuntimeType): + """The role based access control (RBAC) authorization type integration + runtime. + + All required parameters must be populated in order to send to Azure. + + :param authorization_type: Required. Constant filled by server. + :type authorization_type: str + :param resource_id: Required. The resource identifier of the integration + runtime to be shared. + :type resource_id: str + """ + + _validation = { + 'authorization_type': {'required': True}, + 'resource_id': {'required': True}, + } + + _attribute_map = { + 'authorization_type': {'key': 'authorizationType', 'type': 'str'}, + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(LinkedIntegrationRuntimeRbacAuthorization, self).__init__(**kwargs) + self.resource_id = kwargs.get('resource_id', None) + self.authorization_type = 'RBAC' + + +class ManagedIdentity(Model): + """The workspace managed identity. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar principal_id: The principal ID of the workspace managed identity + :vartype principal_id: str + :ivar tenant_id: The tenant ID of the workspace managed identity + :vartype tenant_id: str + :param type: The type of managed identity for the workspace. Possible + values include: 'None', 'SystemAssigned' + :type type: str or ~azure.mgmt.synapse.models.ResourceIdentityType + """ + + _validation = { + 'principal_id': {'readonly': True}, + 'tenant_id': {'readonly': True}, + } + + _attribute_map = { + 'principal_id': {'key': 'principalId', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'ResourceIdentityType'}, + } + + def __init__(self, **kwargs): + super(ManagedIdentity, self).__init__(**kwargs) + self.principal_id = None + self.tenant_id = None + self.type = kwargs.get('type', None) + + +class ManagedIdentitySqlControlSettingsModel(ProxyResource): + """Managed Identity Sql Control Settings. + + Sql Control Settings for workspace managed identity. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :param grant_sql_control_to_managed_identity: Grant sql control to managed + identity + :type grant_sql_control_to_managed_identity: + ~azure.mgmt.synapse.models.ManagedIdentitySqlControlSettingsModelPropertiesGrantSqlControlToManagedIdentity + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'grant_sql_control_to_managed_identity': {'key': 'properties.grantSqlControlToManagedIdentity', 'type': 'ManagedIdentitySqlControlSettingsModelPropertiesGrantSqlControlToManagedIdentity'}, + } + + def __init__(self, **kwargs): + super(ManagedIdentitySqlControlSettingsModel, self).__init__(**kwargs) + self.grant_sql_control_to_managed_identity = kwargs.get('grant_sql_control_to_managed_identity', None) class ManagedIdentitySqlControlSettingsModelPropertiesGrantSqlControlToManagedIdentity(Model): @@ -925,6 +1931,259 @@ def __init__(self, **kwargs): self.actual_state = None +class ManagedIntegrationRuntime(IntegrationRuntime): + """Managed integration runtime, including managed elastic and managed + dedicated integration runtimes. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are + deserialized this collection + :type additional_properties: dict[str, object] + :param description: Integration runtime description. + :type description: str + :param type: Required. Constant filled by server. + :type type: str + :ivar state: Integration runtime state, only valid for managed dedicated + integration runtime. Possible values include: 'Initial', 'Stopped', + 'Started', 'Starting', 'Stopping', 'NeedRegistration', 'Online', + 'Limited', 'Offline', 'AccessDenied' + :vartype state: str or ~azure.mgmt.synapse.models.IntegrationRuntimeState + :param compute_properties: The compute resource for managed integration + runtime. + :type compute_properties: + ~azure.mgmt.synapse.models.IntegrationRuntimeComputeProperties + :param ssis_properties: SSIS properties for managed integration runtime. + :type ssis_properties: + ~azure.mgmt.synapse.models.IntegrationRuntimeSsisProperties + """ + + _validation = { + 'type': {'required': True}, + 'state': {'readonly': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'description': {'key': 'description', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + 'compute_properties': {'key': 'typeProperties.computeProperties', 'type': 'IntegrationRuntimeComputeProperties'}, + 'ssis_properties': {'key': 'typeProperties.ssisProperties', 'type': 'IntegrationRuntimeSsisProperties'}, + } + + def __init__(self, **kwargs): + super(ManagedIntegrationRuntime, self).__init__(**kwargs) + self.state = None + self.compute_properties = kwargs.get('compute_properties', None) + self.ssis_properties = kwargs.get('ssis_properties', None) + self.type = 'Managed' + + +class ManagedIntegrationRuntimeError(Model): + """Error definition for managed integration runtime. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param additional_properties: Unmatched properties from the message are + deserialized this collection + :type additional_properties: dict[str, object] + :ivar time: The time when the error occurred. + :vartype time: datetime + :ivar code: Error code. + :vartype code: str + :ivar parameters: Managed integration runtime error parameters. + :vartype parameters: list[str] + :ivar message: Error message. + :vartype message: str + """ + + _validation = { + 'time': {'readonly': True}, + 'code': {'readonly': True}, + 'parameters': {'readonly': True}, + 'message': {'readonly': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'time': {'key': 'time', 'type': 'iso-8601'}, + 'code': {'key': 'code', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '[str]'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ManagedIntegrationRuntimeError, self).__init__(**kwargs) + self.additional_properties = kwargs.get('additional_properties', None) + self.time = None + self.code = None + self.parameters = None + self.message = None + + +class ManagedIntegrationRuntimeNode(Model): + """Properties of integration runtime node. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param additional_properties: Unmatched properties from the message are + deserialized this collection + :type additional_properties: dict[str, object] + :ivar node_id: The managed integration runtime node id. + :vartype node_id: str + :ivar status: The managed integration runtime node status. Possible values + include: 'Starting', 'Available', 'Recycling', 'Unavailable' + :vartype status: str or + ~azure.mgmt.synapse.models.ManagedIntegrationRuntimeNodeStatus + :param errors: The errors that occurred on this integration runtime node. + :type errors: + list[~azure.mgmt.synapse.models.ManagedIntegrationRuntimeError] + """ + + _validation = { + 'node_id': {'readonly': True}, + 'status': {'readonly': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'node_id': {'key': 'nodeId', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ManagedIntegrationRuntimeError]'}, + } + + def __init__(self, **kwargs): + super(ManagedIntegrationRuntimeNode, self).__init__(**kwargs) + self.additional_properties = kwargs.get('additional_properties', None) + self.node_id = None + self.status = None + self.errors = kwargs.get('errors', None) + + +class ManagedIntegrationRuntimeOperationResult(Model): + """Properties of managed integration runtime operation result. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param additional_properties: Unmatched properties from the message are + deserialized this collection + :type additional_properties: dict[str, object] + :ivar type: The operation type. Could be start or stop. + :vartype type: str + :ivar start_time: The start time of the operation. + :vartype start_time: datetime + :ivar result: The operation result. + :vartype result: str + :ivar error_code: The error code. + :vartype error_code: str + :ivar parameters: Managed integration runtime error parameters. + :vartype parameters: list[str] + :ivar activity_id: The activity id for the operation request. + :vartype activity_id: str + """ + + _validation = { + 'type': {'readonly': True}, + 'start_time': {'readonly': True}, + 'result': {'readonly': True}, + 'error_code': {'readonly': True}, + 'parameters': {'readonly': True}, + 'activity_id': {'readonly': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, + 'result': {'key': 'result', 'type': 'str'}, + 'error_code': {'key': 'errorCode', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '[str]'}, + 'activity_id': {'key': 'activityId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ManagedIntegrationRuntimeOperationResult, self).__init__(**kwargs) + self.additional_properties = kwargs.get('additional_properties', None) + self.type = None + self.start_time = None + self.result = None + self.error_code = None + self.parameters = None + self.activity_id = None + + +class ManagedIntegrationRuntimeStatus(IntegrationRuntimeStatus): + """Managed integration runtime status. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are + deserialized this collection + :type additional_properties: dict[str, object] + :ivar data_factory_name: The workspace name which the integration runtime + belong to. + :vartype data_factory_name: str + :ivar state: The state of integration runtime. Possible values include: + 'Initial', 'Stopped', 'Started', 'Starting', 'Stopping', + 'NeedRegistration', 'Online', 'Limited', 'Offline', 'AccessDenied' + :vartype state: str or ~azure.mgmt.synapse.models.IntegrationRuntimeState + :param type: Required. Constant filled by server. + :type type: str + :ivar create_time: The time at which the integration runtime was created, + in ISO8601 format. + :vartype create_time: datetime + :ivar nodes: The list of nodes for managed integration runtime. + :vartype nodes: + list[~azure.mgmt.synapse.models.ManagedIntegrationRuntimeNode] + :ivar other_errors: The errors that occurred on this integration runtime. + :vartype other_errors: + list[~azure.mgmt.synapse.models.ManagedIntegrationRuntimeError] + :ivar last_operation: The last operation result that occurred on this + integration runtime. + :vartype last_operation: + ~azure.mgmt.synapse.models.ManagedIntegrationRuntimeOperationResult + """ + + _validation = { + 'data_factory_name': {'readonly': True}, + 'state': {'readonly': True}, + 'type': {'required': True}, + 'create_time': {'readonly': True}, + 'nodes': {'readonly': True}, + 'other_errors': {'readonly': True}, + 'last_operation': {'readonly': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'data_factory_name': {'key': 'dataFactoryName', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'create_time': {'key': 'typeProperties.createTime', 'type': 'iso-8601'}, + 'nodes': {'key': 'typeProperties.nodes', 'type': '[ManagedIntegrationRuntimeNode]'}, + 'other_errors': {'key': 'typeProperties.otherErrors', 'type': '[ManagedIntegrationRuntimeError]'}, + 'last_operation': {'key': 'typeProperties.lastOperation', 'type': 'ManagedIntegrationRuntimeOperationResult'}, + } + + def __init__(self, **kwargs): + super(ManagedIntegrationRuntimeStatus, self).__init__(**kwargs) + self.create_time = None + self.nodes = None + self.other_errors = None + self.last_operation = None + self.type = 'Managed' + + class MetadataSyncConfig(ProxyResource): """Metadata sync configuration. @@ -1138,6 +2397,183 @@ def __init__(self, **kwargs): self.percent_complete = kwargs.get('percent_complete', None) +class PrivateEndpoint(Model): + """Private endpoint details. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource id of the private endpoint. + :vartype id: str + """ + + _validation = { + 'id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PrivateEndpoint, self).__init__(**kwargs) + self.id = None + + +class PrivateEndpointConnection(ProxyResource): + """A private endpoint connection. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :param private_endpoint: The private endpoint which the connection belongs + to. + :type private_endpoint: ~azure.mgmt.synapse.models.PrivateEndpoint + :param private_link_service_connection_state: Connection state of the + private endpoint connection. + :type private_link_service_connection_state: + ~azure.mgmt.synapse.models.PrivateLinkServiceConnectionState + :ivar provisioning_state: Provisioning state of the private endpoint + connection. + :vartype provisioning_state: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'private_endpoint': {'key': 'properties.privateEndpoint', 'type': 'PrivateEndpoint'}, + 'private_link_service_connection_state': {'key': 'properties.privateLinkServiceConnectionState', 'type': 'PrivateLinkServiceConnectionState'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PrivateEndpointConnection, self).__init__(**kwargs) + self.private_endpoint = kwargs.get('private_endpoint', None) + self.private_link_service_connection_state = kwargs.get('private_link_service_connection_state', None) + self.provisioning_state = None + + +class PrivateLinkResource(ProxyResource): + """A private link resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :ivar properties: The private link resource properties. + :vartype properties: + ~azure.mgmt.synapse.models.PrivateLinkResourceProperties + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'properties': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'PrivateLinkResourceProperties'}, + } + + def __init__(self, **kwargs): + super(PrivateLinkResource, self).__init__(**kwargs) + self.properties = None + + +class PrivateLinkResourceProperties(Model): + """Properties of a private link resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar group_id: The private link resource group id. + :vartype group_id: str + :ivar required_members: The private link resource required member names. + :vartype required_members: list[str] + :ivar required_zone_names: Required DNS zone names of the the private link + resource. + :vartype required_zone_names: list[str] + """ + + _validation = { + 'group_id': {'readonly': True}, + 'required_members': {'readonly': True}, + 'required_zone_names': {'readonly': True}, + } + + _attribute_map = { + 'group_id': {'key': 'groupId', 'type': 'str'}, + 'required_members': {'key': 'requiredMembers', 'type': '[str]'}, + 'required_zone_names': {'key': 'requiredZoneNames', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(PrivateLinkResourceProperties, self).__init__(**kwargs) + self.group_id = None + self.required_members = None + self.required_zone_names = None + + +class PrivateLinkServiceConnectionState(Model): + """Connection state details of the private endpoint. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param status: The private link service connection status. Possible values + include: 'Approved', 'Pending', 'Rejected', 'Disconnected' + :type status: str or ~azure.mgmt.synapse.models.enum + :param description: The private link service connection description. + :type description: str + :ivar actions_required: The actions required for private link service + connection. + :vartype actions_required: str + """ + + _validation = { + 'actions_required': {'readonly': True}, + } + + _attribute_map = { + 'status': {'key': 'status', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'actions_required': {'key': 'actionsRequired', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PrivateLinkServiceConnectionState, self).__init__(**kwargs) + self.status = kwargs.get('status', None) + self.description = kwargs.get('description', None) + self.actions_required = None + + class QueryInterval(Model): """A database query. @@ -1370,87 +2806,437 @@ def __init__(self, **kwargs): self.replication_state = None -class ResourceMoveDefinition(Model): - """Contains the information necessary to perform a resource move (rename). +class ResourceMoveDefinition(Model): + """Contains the information necessary to perform a resource move (rename). + + All required parameters must be populated in order to send to Azure. + + :param id: Required. The target ID for the resource + :type id: str + """ + + _validation = { + 'id': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ResourceMoveDefinition, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + + +class RestorePoint(ProxyResource): + """Database restore points. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :ivar location: Resource location. + :vartype location: str + :ivar restore_point_type: The type of restore point. Possible values + include: 'CONTINUOUS', 'DISCRETE' + :vartype restore_point_type: str or + ~azure.mgmt.synapse.models.RestorePointType + :ivar earliest_restore_date: The earliest time to which this database can + be restored + :vartype earliest_restore_date: datetime + :ivar restore_point_creation_date: The time the backup was taken + :vartype restore_point_creation_date: datetime + :ivar restore_point_label: The label of restore point for backup request + by user + :vartype restore_point_label: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'readonly': True}, + 'restore_point_type': {'readonly': True}, + 'earliest_restore_date': {'readonly': True}, + 'restore_point_creation_date': {'readonly': True}, + 'restore_point_label': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'restore_point_type': {'key': 'properties.restorePointType', 'type': 'RestorePointType'}, + 'earliest_restore_date': {'key': 'properties.earliestRestoreDate', 'type': 'iso-8601'}, + 'restore_point_creation_date': {'key': 'properties.restorePointCreationDate', 'type': 'iso-8601'}, + 'restore_point_label': {'key': 'properties.restorePointLabel', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(RestorePoint, self).__init__(**kwargs) + self.location = None + self.restore_point_type = None + self.earliest_restore_date = None + self.restore_point_creation_date = None + self.restore_point_label = None + + +class SecretBase(Model): + """The base definition of a secret type. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: SecureString + + All required parameters must be populated in order to send to Azure. + + :param type: Required. Constant filled by server. + :type type: str + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + } + + _subtype_map = { + 'type': {'SecureString': 'SecureString'} + } + + def __init__(self, **kwargs): + super(SecretBase, self).__init__(**kwargs) + self.type = None + + +class SecureString(SecretBase): + """Azure Synapse secure string definition. The string value will be masked + with asterisks '*' during Get or List API calls. + + All required parameters must be populated in order to send to Azure. + + :param type: Required. Constant filled by server. + :type type: str + :param value: Required. Value of secure string. + :type value: str + """ + + _validation = { + 'type': {'required': True}, + 'value': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SecureString, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.type = 'SecureString' + + +class SelfHostedIntegrationRuntime(IntegrationRuntime): + """Self-hosted integration runtime. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are + deserialized this collection + :type additional_properties: dict[str, object] + :param description: Integration runtime description. + :type description: str + :param type: Required. Constant filled by server. + :type type: str + :param linked_info: + :type linked_info: ~azure.mgmt.synapse.models.LinkedIntegrationRuntimeType + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'description': {'key': 'description', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'linked_info': {'key': 'typeProperties.linkedInfo', 'type': 'LinkedIntegrationRuntimeType'}, + } + + def __init__(self, **kwargs): + super(SelfHostedIntegrationRuntime, self).__init__(**kwargs) + self.linked_info = kwargs.get('linked_info', None) + self.type = 'SelfHosted' + + +class SelfHostedIntegrationRuntimeNode(Model): + """Properties of Self-hosted integration runtime node. - All required parameters must be populated in order to send to Azure. + Variables are only populated by the server, and will be ignored when + sending a request. - :param id: Required. The target ID for the resource - :type id: str + :param additional_properties: Unmatched properties from the message are + deserialized this collection + :type additional_properties: dict[str, object] + :ivar node_name: Name of the integration runtime node. + :vartype node_name: str + :ivar machine_name: Machine name of the integration runtime node. + :vartype machine_name: str + :ivar host_service_uri: URI for the host machine of the integration + runtime. + :vartype host_service_uri: str + :ivar status: Status of the integration runtime node. Possible values + include: 'NeedRegistration', 'Online', 'Limited', 'Offline', 'Upgrading', + 'Initializing', 'InitializeFailed' + :vartype status: str or + ~azure.mgmt.synapse.models.SelfHostedIntegrationRuntimeNodeStatus + :ivar capabilities: The integration runtime capabilities dictionary + :vartype capabilities: dict[str, str] + :ivar version_status: Status of the integration runtime node version. + :vartype version_status: str + :ivar version: Version of the integration runtime node. + :vartype version: str + :ivar register_time: The time at which the integration runtime node was + registered in ISO8601 format. + :vartype register_time: datetime + :ivar last_connect_time: The most recent time at which the integration + runtime was connected in ISO8601 format. + :vartype last_connect_time: datetime + :ivar expiry_time: The time at which the integration runtime will expire + in ISO8601 format. + :vartype expiry_time: datetime + :ivar last_start_time: The time the node last started up. + :vartype last_start_time: datetime + :ivar last_stop_time: The integration runtime node last stop time. + :vartype last_stop_time: datetime + :ivar last_update_result: The result of the last integration runtime node + update. Possible values include: 'None', 'Succeed', 'Fail' + :vartype last_update_result: str or + ~azure.mgmt.synapse.models.IntegrationRuntimeUpdateResult + :ivar last_start_update_time: The last time for the integration runtime + node update start. + :vartype last_start_update_time: datetime + :ivar last_end_update_time: The last time for the integration runtime node + update end. + :vartype last_end_update_time: datetime + :ivar is_active_dispatcher: Indicates whether this node is the active + dispatcher for integration runtime requests. + :vartype is_active_dispatcher: bool + :ivar concurrent_jobs_limit: Maximum concurrent jobs on the integration + runtime node. + :vartype concurrent_jobs_limit: int + :ivar max_concurrent_jobs: The maximum concurrent jobs in this integration + runtime. + :vartype max_concurrent_jobs: int """ _validation = { - 'id': {'required': True}, + 'node_name': {'readonly': True}, + 'machine_name': {'readonly': True}, + 'host_service_uri': {'readonly': True}, + 'status': {'readonly': True}, + 'capabilities': {'readonly': True}, + 'version_status': {'readonly': True}, + 'version': {'readonly': True}, + 'register_time': {'readonly': True}, + 'last_connect_time': {'readonly': True}, + 'expiry_time': {'readonly': True}, + 'last_start_time': {'readonly': True}, + 'last_stop_time': {'readonly': True}, + 'last_update_result': {'readonly': True}, + 'last_start_update_time': {'readonly': True}, + 'last_end_update_time': {'readonly': True}, + 'is_active_dispatcher': {'readonly': True}, + 'concurrent_jobs_limit': {'readonly': True}, + 'max_concurrent_jobs': {'readonly': True}, } _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, + 'additional_properties': {'key': '', 'type': '{object}'}, + 'node_name': {'key': 'nodeName', 'type': 'str'}, + 'machine_name': {'key': 'machineName', 'type': 'str'}, + 'host_service_uri': {'key': 'hostServiceUri', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + 'capabilities': {'key': 'capabilities', 'type': '{str}'}, + 'version_status': {'key': 'versionStatus', 'type': 'str'}, + 'version': {'key': 'version', 'type': 'str'}, + 'register_time': {'key': 'registerTime', 'type': 'iso-8601'}, + 'last_connect_time': {'key': 'lastConnectTime', 'type': 'iso-8601'}, + 'expiry_time': {'key': 'expiryTime', 'type': 'iso-8601'}, + 'last_start_time': {'key': 'lastStartTime', 'type': 'iso-8601'}, + 'last_stop_time': {'key': 'lastStopTime', 'type': 'iso-8601'}, + 'last_update_result': {'key': 'lastUpdateResult', 'type': 'str'}, + 'last_start_update_time': {'key': 'lastStartUpdateTime', 'type': 'iso-8601'}, + 'last_end_update_time': {'key': 'lastEndUpdateTime', 'type': 'iso-8601'}, + 'is_active_dispatcher': {'key': 'isActiveDispatcher', 'type': 'bool'}, + 'concurrent_jobs_limit': {'key': 'concurrentJobsLimit', 'type': 'int'}, + 'max_concurrent_jobs': {'key': 'maxConcurrentJobs', 'type': 'int'}, } def __init__(self, **kwargs): - super(ResourceMoveDefinition, self).__init__(**kwargs) - self.id = kwargs.get('id', None) - - -class RestorePoint(ProxyResource): - """Database restore points. + super(SelfHostedIntegrationRuntimeNode, self).__init__(**kwargs) + self.additional_properties = kwargs.get('additional_properties', None) + self.node_name = None + self.machine_name = None + self.host_service_uri = None + self.status = None + self.capabilities = None + self.version_status = None + self.version = None + self.register_time = None + self.last_connect_time = None + self.expiry_time = None + self.last_start_time = None + self.last_stop_time = None + self.last_update_result = None + self.last_start_update_time = None + self.last_end_update_time = None + self.is_active_dispatcher = None + self.concurrent_jobs_limit = None + self.max_concurrent_jobs = None + + +class SelfHostedIntegrationRuntimeStatus(IntegrationRuntimeStatus): + """Self-hosted integration runtime status. Variables are only populated by the server, and will be ignored when sending a request. - :ivar id: Fully qualified resource Id for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} - :vartype id: str - :ivar name: The name of the resource - :vartype name: str - :ivar type: The type of the resource. Ex- - Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. - :vartype type: str - :ivar location: Resource location. - :vartype location: str - :ivar restore_point_type: The type of restore point. Possible values - include: 'CONTINUOUS', 'DISCRETE' - :vartype restore_point_type: str or - ~azure.mgmt.synapse.models.RestorePointType - :ivar earliest_restore_date: The earliest time to which this database can - be restored - :vartype earliest_restore_date: datetime - :ivar restore_point_creation_date: The time the backup was taken - :vartype restore_point_creation_date: datetime - :ivar restore_point_label: The label of restore point for backup request - by user - :vartype restore_point_label: str + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are + deserialized this collection + :type additional_properties: dict[str, object] + :ivar data_factory_name: The workspace name which the integration runtime + belong to. + :vartype data_factory_name: str + :ivar state: The state of integration runtime. Possible values include: + 'Initial', 'Stopped', 'Started', 'Starting', 'Stopping', + 'NeedRegistration', 'Online', 'Limited', 'Offline', 'AccessDenied' + :vartype state: str or ~azure.mgmt.synapse.models.IntegrationRuntimeState + :param type: Required. Constant filled by server. + :type type: str + :ivar create_time: The time at which the integration runtime was created, + in ISO8601 format. + :vartype create_time: datetime + :ivar task_queue_id: The task queue id of the integration runtime. + :vartype task_queue_id: str + :ivar internal_channel_encryption: It is used to set the encryption mode + for node-node communication channel (when more than 2 self-hosted + integration runtime nodes exist). Possible values include: 'NotSet', + 'SslEncrypted', 'NotEncrypted' + :vartype internal_channel_encryption: str or + ~azure.mgmt.synapse.models.IntegrationRuntimeInternalChannelEncryptionMode + :ivar version: Version of the integration runtime. + :vartype version: str + :param nodes: The list of nodes for this integration runtime. + :type nodes: + list[~azure.mgmt.synapse.models.SelfHostedIntegrationRuntimeNode] + :ivar scheduled_update_date: The date at which the integration runtime + will be scheduled to update, in ISO8601 format. + :vartype scheduled_update_date: datetime + :ivar update_delay_offset: The time in the date scheduled by service to + update the integration runtime, e.g., PT03H is 3 hours + :vartype update_delay_offset: str + :ivar local_time_zone_offset: The local time zone offset in hours. + :vartype local_time_zone_offset: str + :ivar capabilities: Object with additional information about integration + runtime capabilities. + :vartype capabilities: dict[str, str] + :ivar service_urls: The URLs for the services used in integration runtime + backend service. + :vartype service_urls: list[str] + :ivar auto_update: Whether Self-hosted integration runtime auto update has + been turned on. Possible values include: 'On', 'Off' + :vartype auto_update: str or + ~azure.mgmt.synapse.models.IntegrationRuntimeAutoUpdate + :ivar version_status: Status of the integration runtime version. + :vartype version_status: str + :param links: The list of linked integration runtimes that are created to + share with this integration runtime. + :type links: list[~azure.mgmt.synapse.models.LinkedIntegrationRuntime] + :ivar pushed_version: The version that the integration runtime is going to + update to. + :vartype pushed_version: str + :ivar latest_version: The latest version on download center. + :vartype latest_version: str + :ivar auto_update_eta: The estimated time when the self-hosted integration + runtime will be updated. + :vartype auto_update_eta: datetime """ _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'location': {'readonly': True}, - 'restore_point_type': {'readonly': True}, - 'earliest_restore_date': {'readonly': True}, - 'restore_point_creation_date': {'readonly': True}, - 'restore_point_label': {'readonly': True}, + 'data_factory_name': {'readonly': True}, + 'state': {'readonly': True}, + 'type': {'required': True}, + 'create_time': {'readonly': True}, + 'task_queue_id': {'readonly': True}, + 'internal_channel_encryption': {'readonly': True}, + 'version': {'readonly': True}, + 'scheduled_update_date': {'readonly': True}, + 'update_delay_offset': {'readonly': True}, + 'local_time_zone_offset': {'readonly': True}, + 'capabilities': {'readonly': True}, + 'service_urls': {'readonly': True}, + 'auto_update': {'readonly': True}, + 'version_status': {'readonly': True}, + 'pushed_version': {'readonly': True}, + 'latest_version': {'readonly': True}, + 'auto_update_eta': {'readonly': True}, } _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, + 'additional_properties': {'key': '', 'type': '{object}'}, + 'data_factory_name': {'key': 'dataFactoryName', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'restore_point_type': {'key': 'properties.restorePointType', 'type': 'RestorePointType'}, - 'earliest_restore_date': {'key': 'properties.earliestRestoreDate', 'type': 'iso-8601'}, - 'restore_point_creation_date': {'key': 'properties.restorePointCreationDate', 'type': 'iso-8601'}, - 'restore_point_label': {'key': 'properties.restorePointLabel', 'type': 'str'}, + 'create_time': {'key': 'typeProperties.createTime', 'type': 'iso-8601'}, + 'task_queue_id': {'key': 'typeProperties.taskQueueId', 'type': 'str'}, + 'internal_channel_encryption': {'key': 'typeProperties.internalChannelEncryption', 'type': 'str'}, + 'version': {'key': 'typeProperties.version', 'type': 'str'}, + 'nodes': {'key': 'typeProperties.nodes', 'type': '[SelfHostedIntegrationRuntimeNode]'}, + 'scheduled_update_date': {'key': 'typeProperties.scheduledUpdateDate', 'type': 'iso-8601'}, + 'update_delay_offset': {'key': 'typeProperties.updateDelayOffset', 'type': 'str'}, + 'local_time_zone_offset': {'key': 'typeProperties.localTimeZoneOffset', 'type': 'str'}, + 'capabilities': {'key': 'typeProperties.capabilities', 'type': '{str}'}, + 'service_urls': {'key': 'typeProperties.serviceUrls', 'type': '[str]'}, + 'auto_update': {'key': 'typeProperties.autoUpdate', 'type': 'str'}, + 'version_status': {'key': 'typeProperties.versionStatus', 'type': 'str'}, + 'links': {'key': 'typeProperties.links', 'type': '[LinkedIntegrationRuntime]'}, + 'pushed_version': {'key': 'typeProperties.pushedVersion', 'type': 'str'}, + 'latest_version': {'key': 'typeProperties.latestVersion', 'type': 'str'}, + 'auto_update_eta': {'key': 'typeProperties.autoUpdateETA', 'type': 'iso-8601'}, } def __init__(self, **kwargs): - super(RestorePoint, self).__init__(**kwargs) - self.location = None - self.restore_point_type = None - self.earliest_restore_date = None - self.restore_point_creation_date = None - self.restore_point_label = None + super(SelfHostedIntegrationRuntimeStatus, self).__init__(**kwargs) + self.create_time = None + self.task_queue_id = None + self.internal_channel_encryption = None + self.version = None + self.nodes = kwargs.get('nodes', None) + self.scheduled_update_date = None + self.update_delay_offset = None + self.local_time_zone_offset = None + self.capabilities = None + self.service_urls = None + self.auto_update = None + self.version_status = None + self.links = kwargs.get('links', None) + self.pushed_version = None + self.latest_version = None + self.auto_update_eta = None + self.type = 'SelfHosted' class SensitivityLabel(ProxyResource): @@ -2401,6 +4187,389 @@ def __init__(self, **kwargs): self.exported_report_location = None +class SsisObjectMetadata(Model): + """SSIS object metadata. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: SsisFolder, SsisProject, SsisPackage, SsisEnvironment + + All required parameters must be populated in order to send to Azure. + + :param id: Metadata id. + :type id: long + :param name: Metadata name. + :type name: str + :param description: Metadata description. + :type description: str + :param type: Required. Constant filled by server. + :type type: str + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'long'}, + 'name': {'key': 'name', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + _subtype_map = { + 'type': {'Folder': 'SsisFolder', 'Project': 'SsisProject', 'Package': 'SsisPackage', 'Environment': 'SsisEnvironment'} + } + + def __init__(self, **kwargs): + super(SsisObjectMetadata, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.name = kwargs.get('name', None) + self.description = kwargs.get('description', None) + self.type = None + + +class SsisEnvironment(SsisObjectMetadata): + """Ssis environment. + + All required parameters must be populated in order to send to Azure. + + :param id: Metadata id. + :type id: long + :param name: Metadata name. + :type name: str + :param description: Metadata description. + :type description: str + :param type: Required. Constant filled by server. + :type type: str + :param folder_id: Folder id which contains environment. + :type folder_id: long + :param variables: Variable in environment + :type variables: list[~azure.mgmt.synapse.models.SsisVariable] + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'long'}, + 'name': {'key': 'name', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'folder_id': {'key': 'folderId', 'type': 'long'}, + 'variables': {'key': 'variables', 'type': '[SsisVariable]'}, + } + + def __init__(self, **kwargs): + super(SsisEnvironment, self).__init__(**kwargs) + self.folder_id = kwargs.get('folder_id', None) + self.variables = kwargs.get('variables', None) + self.type = 'Environment' + + +class SsisEnvironmentReference(Model): + """Ssis environment reference. + + :param id: Environment reference id. + :type id: long + :param environment_folder_name: Environment folder name. + :type environment_folder_name: str + :param environment_name: Environment name. + :type environment_name: str + :param reference_type: Reference type + :type reference_type: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'long'}, + 'environment_folder_name': {'key': 'environmentFolderName', 'type': 'str'}, + 'environment_name': {'key': 'environmentName', 'type': 'str'}, + 'reference_type': {'key': 'referenceType', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SsisEnvironmentReference, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.environment_folder_name = kwargs.get('environment_folder_name', None) + self.environment_name = kwargs.get('environment_name', None) + self.reference_type = kwargs.get('reference_type', None) + + +class SsisFolder(SsisObjectMetadata): + """Ssis folder. + + All required parameters must be populated in order to send to Azure. + + :param id: Metadata id. + :type id: long + :param name: Metadata name. + :type name: str + :param description: Metadata description. + :type description: str + :param type: Required. Constant filled by server. + :type type: str + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'long'}, + 'name': {'key': 'name', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SsisFolder, self).__init__(**kwargs) + self.type = 'Folder' + + +class SsisObjectMetadataListResponse(Model): + """A list of SSIS object metadata. + + :param value: List of SSIS object metadata. + :type value: list[~azure.mgmt.synapse.models.SsisObjectMetadata] + :param next_link: The link to the next page of results, if any remaining + results exist. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[SsisObjectMetadata]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SsisObjectMetadataListResponse, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class SsisObjectMetadataStatusResponse(Model): + """The status of the operation. + + :param status: The status of the operation. + :type status: str + :param name: The operation name. + :type name: str + :param properties: The operation properties. + :type properties: str + :param error: The operation error message. + :type error: str + """ + + _attribute_map = { + 'status': {'key': 'status', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'str'}, + 'error': {'key': 'error', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SsisObjectMetadataStatusResponse, self).__init__(**kwargs) + self.status = kwargs.get('status', None) + self.name = kwargs.get('name', None) + self.properties = kwargs.get('properties', None) + self.error = kwargs.get('error', None) + + +class SsisPackage(SsisObjectMetadata): + """Ssis Package. + + All required parameters must be populated in order to send to Azure. + + :param id: Metadata id. + :type id: long + :param name: Metadata name. + :type name: str + :param description: Metadata description. + :type description: str + :param type: Required. Constant filled by server. + :type type: str + :param folder_id: Folder id which contains package. + :type folder_id: long + :param project_version: Project version which contains package. + :type project_version: long + :param project_id: Project id which contains package. + :type project_id: long + :param parameters: Parameters in package + :type parameters: list[~azure.mgmt.synapse.models.SsisParameter] + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'long'}, + 'name': {'key': 'name', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'folder_id': {'key': 'folderId', 'type': 'long'}, + 'project_version': {'key': 'projectVersion', 'type': 'long'}, + 'project_id': {'key': 'projectId', 'type': 'long'}, + 'parameters': {'key': 'parameters', 'type': '[SsisParameter]'}, + } + + def __init__(self, **kwargs): + super(SsisPackage, self).__init__(**kwargs) + self.folder_id = kwargs.get('folder_id', None) + self.project_version = kwargs.get('project_version', None) + self.project_id = kwargs.get('project_id', None) + self.parameters = kwargs.get('parameters', None) + self.type = 'Package' + + +class SsisParameter(Model): + """Ssis parameter. + + :param id: Parameter id. + :type id: long + :param name: Parameter name. + :type name: str + :param description: Parameter description. + :type description: str + :param data_type: Parameter type. + :type data_type: str + :param required: Whether parameter is required. + :type required: bool + :param sensitive: Whether parameter is sensitive. + :type sensitive: bool + :param design_default_value: Design default value of parameter. + :type design_default_value: str + :param default_value: Default value of parameter. + :type default_value: str + :param sensitive_default_value: Default sensitive value of parameter. + :type sensitive_default_value: str + :param value_type: Parameter value type. + :type value_type: str + :param value_set: Parameter value set. + :type value_set: bool + :param variable: Parameter reference variable. + :type variable: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'long'}, + 'name': {'key': 'name', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'data_type': {'key': 'dataType', 'type': 'str'}, + 'required': {'key': 'required', 'type': 'bool'}, + 'sensitive': {'key': 'sensitive', 'type': 'bool'}, + 'design_default_value': {'key': 'designDefaultValue', 'type': 'str'}, + 'default_value': {'key': 'defaultValue', 'type': 'str'}, + 'sensitive_default_value': {'key': 'sensitiveDefaultValue', 'type': 'str'}, + 'value_type': {'key': 'valueType', 'type': 'str'}, + 'value_set': {'key': 'valueSet', 'type': 'bool'}, + 'variable': {'key': 'variable', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SsisParameter, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.name = kwargs.get('name', None) + self.description = kwargs.get('description', None) + self.data_type = kwargs.get('data_type', None) + self.required = kwargs.get('required', None) + self.sensitive = kwargs.get('sensitive', None) + self.design_default_value = kwargs.get('design_default_value', None) + self.default_value = kwargs.get('default_value', None) + self.sensitive_default_value = kwargs.get('sensitive_default_value', None) + self.value_type = kwargs.get('value_type', None) + self.value_set = kwargs.get('value_set', None) + self.variable = kwargs.get('variable', None) + + +class SsisProject(SsisObjectMetadata): + """Ssis project. + + All required parameters must be populated in order to send to Azure. + + :param id: Metadata id. + :type id: long + :param name: Metadata name. + :type name: str + :param description: Metadata description. + :type description: str + :param type: Required. Constant filled by server. + :type type: str + :param folder_id: Folder id which contains project. + :type folder_id: long + :param version: Project version. + :type version: long + :param environment_refs: Environment reference in project + :type environment_refs: + list[~azure.mgmt.synapse.models.SsisEnvironmentReference] + :param parameters: Parameters in project + :type parameters: list[~azure.mgmt.synapse.models.SsisParameter] + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'long'}, + 'name': {'key': 'name', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'folder_id': {'key': 'folderId', 'type': 'long'}, + 'version': {'key': 'version', 'type': 'long'}, + 'environment_refs': {'key': 'environmentRefs', 'type': '[SsisEnvironmentReference]'}, + 'parameters': {'key': 'parameters', 'type': '[SsisParameter]'}, + } + + def __init__(self, **kwargs): + super(SsisProject, self).__init__(**kwargs) + self.folder_id = kwargs.get('folder_id', None) + self.version = kwargs.get('version', None) + self.environment_refs = kwargs.get('environment_refs', None) + self.parameters = kwargs.get('parameters', None) + self.type = 'Project' + + +class SsisVariable(Model): + """Ssis variable. + + :param id: Variable id. + :type id: long + :param name: Variable name. + :type name: str + :param description: Variable description. + :type description: str + :param data_type: Variable type. + :type data_type: str + :param sensitive: Whether variable is sensitive. + :type sensitive: bool + :param value: Variable value. + :type value: str + :param sensitive_value: Variable sensitive value. + :type sensitive_value: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'long'}, + 'name': {'key': 'name', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'data_type': {'key': 'dataType', 'type': 'str'}, + 'sensitive': {'key': 'sensitive', 'type': 'bool'}, + 'value': {'key': 'value', 'type': 'str'}, + 'sensitive_value': {'key': 'sensitiveValue', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SsisVariable, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.name = kwargs.get('name', None) + self.description = kwargs.get('description', None) + self.data_type = kwargs.get('data_type', None) + self.sensitive = kwargs.get('sensitive', None) + self.value = kwargs.get('value', None) + self.sensitive_value = kwargs.get('sensitive_value', None) + + class TopQueries(Model): """A database query. @@ -2535,6 +4704,54 @@ def __init__(self, **kwargs): self.status = kwargs.get('status', None) +class UpdateIntegrationRuntimeNodeRequest(Model): + """Update integration runtime node request. + + :param concurrent_jobs_limit: The number of concurrent jobs permitted to + run on the integration runtime node. Values between 1 and + maxConcurrentJobs(inclusive) are allowed. + :type concurrent_jobs_limit: int + """ + + _validation = { + 'concurrent_jobs_limit': {'minimum': 1}, + } + + _attribute_map = { + 'concurrent_jobs_limit': {'key': 'concurrentJobsLimit', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(UpdateIntegrationRuntimeNodeRequest, self).__init__(**kwargs) + self.concurrent_jobs_limit = kwargs.get('concurrent_jobs_limit', None) + + +class UpdateIntegrationRuntimeRequest(Model): + """Update integration runtime request. + + :param auto_update: Enables or disables the auto-update feature of the + self-hosted integration runtime. See + https://go.microsoft.com/fwlink/?linkid=854189. Possible values include: + 'On', 'Off' + :type auto_update: str or + ~azure.mgmt.synapse.models.IntegrationRuntimeAutoUpdate + :param update_delay_offset: The time offset (in hours) in the day, e.g., + PT03H is 3 hours. The integration runtime auto update will happen on that + time. + :type update_delay_offset: str + """ + + _attribute_map = { + 'auto_update': {'key': 'autoUpdate', 'type': 'str'}, + 'update_delay_offset': {'key': 'updateDelayOffset', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(UpdateIntegrationRuntimeRequest, self).__init__(**kwargs) + self.auto_update = kwargs.get('auto_update', None) + self.update_delay_offset = kwargs.get('update_delay_offset', None) + + class VirtualNetworkProfile(Model): """Virtual Network Profile. @@ -2722,6 +4939,14 @@ class Workspace(TrackedResource): ~azure.mgmt.synapse.models.VirtualNetworkProfile :param connectivity_endpoints: Connectivity endpoints :type connectivity_endpoints: dict[str, str] + :param managed_virtual_network: Setting this to 'default' will ensure that + all compute for this workspace is in a virtual network managed on behalf + of the user. + :type managed_virtual_network: str + :param private_endpoint_connections: Private endpoint connections to the + workspace + :type private_endpoint_connections: + list[~azure.mgmt.synapse.models.PrivateEndpointConnection] :param identity: Identity of the workspace :type identity: ~azure.mgmt.synapse.models.ManagedIdentity """ @@ -2748,6 +4973,8 @@ class Workspace(TrackedResource): 'sql_administrator_login': {'key': 'properties.sqlAdministratorLogin', 'type': 'str'}, 'virtual_network_profile': {'key': 'properties.virtualNetworkProfile', 'type': 'VirtualNetworkProfile'}, 'connectivity_endpoints': {'key': 'properties.connectivityEndpoints', 'type': '{str}'}, + 'managed_virtual_network': {'key': 'properties.managedVirtualNetwork', 'type': 'str'}, + 'private_endpoint_connections': {'key': 'properties.privateEndpointConnections', 'type': '[PrivateEndpointConnection]'}, 'identity': {'key': 'identity', 'type': 'ManagedIdentity'}, } @@ -2760,6 +4987,8 @@ def __init__(self, **kwargs): self.sql_administrator_login = kwargs.get('sql_administrator_login', None) self.virtual_network_profile = kwargs.get('virtual_network_profile', None) self.connectivity_endpoints = kwargs.get('connectivity_endpoints', None) + self.managed_virtual_network = kwargs.get('managed_virtual_network', None) + self.private_endpoint_connections = kwargs.get('private_endpoint_connections', None) self.identity = kwargs.get('identity', None) diff --git a/src/synapse/azext_synapse/vendored_sdks/azure_mgmt_synapse/models/_models_py3.py b/src/synapse/azext_synapse/vendored_sdks/azure_mgmt_synapse/models/_models_py3.py index 58ed586c92f..0a4457f4b98 100644 --- a/src/synapse/azext_synapse/vendored_sdks/azure_mgmt_synapse/models/_models_py3.py +++ b/src/synapse/azext_synapse/vendored_sdks/azure_mgmt_synapse/models/_models_py3.py @@ -404,12 +404,148 @@ def __init__(self, *, message: str=None, available: bool=None, reason: str=None, class CloudError(Model): - """CloudError. + """The object that defines the structure of an Azure Synapse error response. + + All required parameters must be populated in order to send to Azure. + + :param code: Required. Error code. + :type code: str + :param message: Required. Error message. + :type message: str + :param target: Property name/path in request associated with error. + :type target: str + :param details: Array with additional error details. + :type details: list[~azure.mgmt.synapse.models.CloudError] + """ + + _validation = { + 'code': {'required': True}, + 'message': {'required': True}, + } + + _attribute_map = { + 'code': {'key': 'error.code', 'type': 'str'}, + 'message': {'key': 'error.message', 'type': 'str'}, + 'target': {'key': 'error.target', 'type': 'str'}, + 'details': {'key': 'error.details', 'type': '[CloudError]'}, + } + + def __init__(self, *, code: str, message: str, target: str=None, details=None, **kwargs) -> None: + super(CloudError, self).__init__(**kwargs) + self.code = code + self.message = message + self.target = target + self.details = details + + +class CloudErrorException(HttpOperationError): + """Server responsed with exception of type: 'CloudError'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(CloudErrorException, self).__init__(deserialize, response, 'CloudError', *args) + + +class CustomSetupBase(Model): + """The base definition of the custom setup. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: CmdkeySetup, EnvironmentVariableSetup, ComponentSetup + + All required parameters must be populated in order to send to Azure. + + :param type: Required. Constant filled by server. + :type type: str + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + } + + _subtype_map = { + 'type': {'CmdkeySetup': 'CmdkeySetup', 'EnvironmentVariableSetup': 'EnvironmentVariableSetup', 'ComponentSetup': 'ComponentSetup'} + } + + def __init__(self, **kwargs) -> None: + super(CustomSetupBase, self).__init__(**kwargs) + self.type = None + + +class CmdkeySetup(CustomSetupBase): + """The custom setup of running cmdkey commands. + + All required parameters must be populated in order to send to Azure. + + :param type: Required. Constant filled by server. + :type type: str + :param target_name: Required. The server name of data source access. + :type target_name: object + :param user_name: Required. The user name of data source access. + :type user_name: object + :param password: Required. The password of data source access. + :type password: ~azure.mgmt.synapse.models.SecretBase + """ + + _validation = { + 'type': {'required': True}, + 'target_name': {'required': True}, + 'user_name': {'required': True}, + 'password': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'target_name': {'key': 'typeProperties.targetName', 'type': 'object'}, + 'user_name': {'key': 'typeProperties.userName', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, + } + + def __init__(self, *, target_name, user_name, password, **kwargs) -> None: + super(CmdkeySetup, self).__init__(**kwargs) + self.target_name = target_name + self.user_name = user_name + self.password = password + self.type = 'CmdkeySetup' + + +class ComponentSetup(CustomSetupBase): + """The custom setup of installing 3rd party components. + + All required parameters must be populated in order to send to Azure. + + :param type: Required. Constant filled by server. + :type type: str + :param component_name: Required. The name of the 3rd party component. + :type component_name: str + :param license_key: The license key to activate the component. + :type license_key: ~azure.mgmt.synapse.models.SecretBase """ + _validation = { + 'type': {'required': True}, + 'component_name': {'required': True}, + } + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'component_name': {'key': 'typeProperties.componentName', 'type': 'str'}, + 'license_key': {'key': 'typeProperties.licenseKey', 'type': 'SecretBase'}, } + def __init__(self, *, component_name: str, license_key=None, **kwargs) -> None: + super(ComponentSetup, self).__init__(**kwargs) + self.component_name = component_name + self.license_key = license_key + self.type = 'ComponentSetup' + class CreateSqlPoolRestorePointDefinition(Model): """Contains the information necessary to perform a create Sql pool restore @@ -524,6 +660,60 @@ def __init__(self, **kwargs) -> None: self.active_queries_count = None +class EntityReference(Model): + """The entity reference. + + :param type: The type of this referenced entity. Possible values include: + 'IntegrationRuntimeReference', 'LinkedServiceReference' + :type type: str or + ~azure.mgmt.synapse.models.IntegrationRuntimeEntityReferenceType + :param reference_name: The name of this referenced entity. + :type reference_name: str + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'reference_name': {'key': 'referenceName', 'type': 'str'}, + } + + def __init__(self, *, type=None, reference_name: str=None, **kwargs) -> None: + super(EntityReference, self).__init__(**kwargs) + self.type = type + self.reference_name = reference_name + + +class EnvironmentVariableSetup(CustomSetupBase): + """The custom setup of setting environment variable. + + All required parameters must be populated in order to send to Azure. + + :param type: Required. Constant filled by server. + :type type: str + :param variable_name: Required. The name of the environment variable. + :type variable_name: str + :param variable_value: Required. The value of the environment variable. + :type variable_value: str + """ + + _validation = { + 'type': {'required': True}, + 'variable_name': {'required': True}, + 'variable_value': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'variable_name': {'key': 'typeProperties.variableName', 'type': 'str'}, + 'variable_value': {'key': 'typeProperties.variableValue', 'type': 'str'}, + } + + def __init__(self, *, variable_name: str, variable_value: str, **kwargs) -> None: + super(EnvironmentVariableSetup, self).__init__(**kwargs) + self.variable_name = variable_name + self.variable_value = variable_value + self.type = 'EnvironmentVariableSetup' + + class ErrorAdditionalInfo(Model): """The resource management error additional info. @@ -706,200 +896,1016 @@ def __init__(self, *, state, **kwargs) -> None: self.location = None -class IpFirewallRuleInfo(ProxyResource): - """IP firewall rule. - - Variables are only populated by the server, and will be ignored when - sending a request. +class GetSsisObjectMetadataRequest(Model): + """The request payload of get SSIS object metadata. - :ivar id: Fully qualified resource Id for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} - :vartype id: str - :ivar name: The name of the resource - :vartype name: str - :ivar type: The type of the resource. Ex- - Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. - :vartype type: str - :param end_ip_address: The end IP address of the firewall rule. Must be - IPv4 format. Must be greater than or equal to startIpAddress - :type end_ip_address: str - :ivar provisioning_state: Resource provisioning state. Possible values - include: 'Provisioning', 'Succeeded', 'Deleting', 'Failed', 'DeleteError' - :vartype provisioning_state: str or - ~azure.mgmt.synapse.models.ProvisioningState - :param start_ip_address: The start IP address of the firewall rule. Must - be IPv4 format - :type start_ip_address: str + :param metadata_path: Metadata path. + :type metadata_path: str """ - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - } - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'end_ip_address': {'key': 'properties.endIpAddress', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'start_ip_address': {'key': 'properties.startIpAddress', 'type': 'str'}, + 'metadata_path': {'key': 'metadataPath', 'type': 'str'}, } - def __init__(self, *, end_ip_address: str=None, start_ip_address: str=None, **kwargs) -> None: - super(IpFirewallRuleInfo, self).__init__(**kwargs) - self.end_ip_address = end_ip_address - self.provisioning_state = None - self.start_ip_address = start_ip_address + def __init__(self, *, metadata_path: str=None, **kwargs) -> None: + super(GetSsisObjectMetadataRequest, self).__init__(**kwargs) + self.metadata_path = metadata_path -class IpFirewallRuleProperties(Model): - """IP firewall rule properties. +class IntegrationRuntime(Model): + """Azure Synapse nested object which serves as a compute resource for + activities. - Variables are only populated by the server, and will be ignored when - sending a request. + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: ManagedIntegrationRuntime, SelfHostedIntegrationRuntime - :param end_ip_address: The end IP address of the firewall rule. Must be - IPv4 format. Must be greater than or equal to startIpAddress - :type end_ip_address: str - :ivar provisioning_state: Resource provisioning state. Possible values - include: 'Provisioning', 'Succeeded', 'Deleting', 'Failed', 'DeleteError' - :vartype provisioning_state: str or - ~azure.mgmt.synapse.models.ProvisioningState - :param start_ip_address: The start IP address of the firewall rule. Must - be IPv4 format - :type start_ip_address: str + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are + deserialized this collection + :type additional_properties: dict[str, object] + :param description: Integration runtime description. + :type description: str + :param type: Required. Constant filled by server. + :type type: str """ _validation = { - 'provisioning_state': {'readonly': True}, + 'type': {'required': True}, } _attribute_map = { - 'end_ip_address': {'key': 'endIpAddress', 'type': 'str'}, - 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, - 'start_ip_address': {'key': 'startIpAddress', 'type': 'str'}, + 'additional_properties': {'key': '', 'type': '{object}'}, + 'description': {'key': 'description', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, } - def __init__(self, *, end_ip_address: str=None, start_ip_address: str=None, **kwargs) -> None: - super(IpFirewallRuleProperties, self).__init__(**kwargs) - self.end_ip_address = end_ip_address - self.provisioning_state = None - self.start_ip_address = start_ip_address + _subtype_map = { + 'type': {'Managed': 'ManagedIntegrationRuntime', 'SelfHosted': 'SelfHostedIntegrationRuntime'} + } + def __init__(self, *, additional_properties=None, description: str=None, **kwargs) -> None: + super(IntegrationRuntime, self).__init__(**kwargs) + self.additional_properties = additional_properties + self.description = description + self.type = None -class LibraryRequirements(Model): - """Spark pool library version requirements. - Library requirements for a Big Data pool powered by Apache Spark. +class IntegrationRuntimeAuthKeys(Model): + """The integration runtime authentication keys. - Variables are only populated by the server, and will be ignored when - sending a request. + :param auth_key1: The primary integration runtime authentication key. + :type auth_key1: str + :param auth_key2: The secondary integration runtime authentication key. + :type auth_key2: str + """ - :ivar time: The last update time of the library requirements file. - :vartype time: datetime - :param content: The library requirements. - :type content: str - :param filename: The filename of the library requirements file. - :type filename: str + _attribute_map = { + 'auth_key1': {'key': 'authKey1', 'type': 'str'}, + 'auth_key2': {'key': 'authKey2', 'type': 'str'}, + } + + def __init__(self, *, auth_key1: str=None, auth_key2: str=None, **kwargs) -> None: + super(IntegrationRuntimeAuthKeys, self).__init__(**kwargs) + self.auth_key1 = auth_key1 + self.auth_key2 = auth_key2 + + +class IntegrationRuntimeComputeProperties(Model): + """The compute resource properties for managed integration runtime. + + :param additional_properties: Unmatched properties from the message are + deserialized this collection + :type additional_properties: dict[str, object] + :param location: The location for managed integration runtime. The + supported regions could be found on + https://docs.microsoft.com/en-us/azure/data-factory/data-factory-data-movement-activities + :type location: str + :param node_size: The node size requirement to managed integration + runtime. + :type node_size: str + :param number_of_nodes: The required number of nodes for managed + integration runtime. + :type number_of_nodes: int + :param max_parallel_executions_per_node: Maximum parallel executions count + per node for managed integration runtime. + :type max_parallel_executions_per_node: int + :param data_flow_properties: Data flow properties for managed integration + runtime. + :type data_flow_properties: + ~azure.mgmt.synapse.models.IntegrationRuntimeDataFlowProperties + :param v_net_properties: VNet properties for managed integration runtime. + :type v_net_properties: + ~azure.mgmt.synapse.models.IntegrationRuntimeVNetProperties """ _validation = { - 'time': {'readonly': True}, + 'number_of_nodes': {'minimum': 1}, + 'max_parallel_executions_per_node': {'minimum': 1}, } _attribute_map = { - 'time': {'key': 'time', 'type': 'iso-8601'}, - 'content': {'key': 'content', 'type': 'str'}, - 'filename': {'key': 'filename', 'type': 'str'}, + 'additional_properties': {'key': '', 'type': '{object}'}, + 'location': {'key': 'location', 'type': 'str'}, + 'node_size': {'key': 'nodeSize', 'type': 'str'}, + 'number_of_nodes': {'key': 'numberOfNodes', 'type': 'int'}, + 'max_parallel_executions_per_node': {'key': 'maxParallelExecutionsPerNode', 'type': 'int'}, + 'data_flow_properties': {'key': 'dataFlowProperties', 'type': 'IntegrationRuntimeDataFlowProperties'}, + 'v_net_properties': {'key': 'vNetProperties', 'type': 'IntegrationRuntimeVNetProperties'}, } - def __init__(self, *, content: str=None, filename: str=None, **kwargs) -> None: - super(LibraryRequirements, self).__init__(**kwargs) - self.time = None - self.content = content - self.filename = filename + def __init__(self, *, additional_properties=None, location: str=None, node_size: str=None, number_of_nodes: int=None, max_parallel_executions_per_node: int=None, data_flow_properties=None, v_net_properties=None, **kwargs) -> None: + super(IntegrationRuntimeComputeProperties, self).__init__(**kwargs) + self.additional_properties = additional_properties + self.location = location + self.node_size = node_size + self.number_of_nodes = number_of_nodes + self.max_parallel_executions_per_node = max_parallel_executions_per_node + self.data_flow_properties = data_flow_properties + self.v_net_properties = v_net_properties -class ManagedIdentity(Model): - """The workspace managed identity. +class IntegrationRuntimeConnectionInfo(Model): + """Connection information for encrypting the on-premises data source + credentials. Variables are only populated by the server, and will be ignored when sending a request. - :ivar principal_id: The principal ID of the workspace managed identity - :vartype principal_id: str - :ivar tenant_id: The tenant ID of the workspace managed identity - :vartype tenant_id: str - :param type: The type of managed identity for the workspace. Possible - values include: 'None', 'SystemAssigned' - :type type: str or ~azure.mgmt.synapse.models.ResourceIdentityType + :param additional_properties: Unmatched properties from the message are + deserialized this collection + :type additional_properties: dict[str, object] + :ivar service_token: The token generated in service. Callers use this + token to authenticate to integration runtime. + :vartype service_token: str + :ivar identity_cert_thumbprint: The integration runtime SSL certificate + thumbprint. Click-Once application uses it to do server validation. + :vartype identity_cert_thumbprint: str + :ivar host_service_uri: The on-premises integration runtime host URL. + :vartype host_service_uri: str + :ivar version: The integration runtime version. + :vartype version: str + :ivar public_key: The public key for encrypting a credential when + transferring the credential to the integration runtime. + :vartype public_key: str + :ivar is_identity_cert_exprired: Whether the identity certificate is + expired. + :vartype is_identity_cert_exprired: bool """ _validation = { - 'principal_id': {'readonly': True}, - 'tenant_id': {'readonly': True}, + 'service_token': {'readonly': True}, + 'identity_cert_thumbprint': {'readonly': True}, + 'host_service_uri': {'readonly': True}, + 'version': {'readonly': True}, + 'public_key': {'readonly': True}, + 'is_identity_cert_exprired': {'readonly': True}, } _attribute_map = { - 'principal_id': {'key': 'principalId', 'type': 'str'}, - 'tenant_id': {'key': 'tenantId', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'ResourceIdentityType'}, + 'additional_properties': {'key': '', 'type': '{object}'}, + 'service_token': {'key': 'serviceToken', 'type': 'str'}, + 'identity_cert_thumbprint': {'key': 'identityCertThumbprint', 'type': 'str'}, + 'host_service_uri': {'key': 'hostServiceUri', 'type': 'str'}, + 'version': {'key': 'version', 'type': 'str'}, + 'public_key': {'key': 'publicKey', 'type': 'str'}, + 'is_identity_cert_exprired': {'key': 'isIdentityCertExprired', 'type': 'bool'}, } - def __init__(self, *, type=None, **kwargs) -> None: - super(ManagedIdentity, self).__init__(**kwargs) - self.principal_id = None - self.tenant_id = None - self.type = type - - -class ManagedIdentitySqlControlSettingsModel(ProxyResource): - """Managed Identity Sql Control Settings. - - Sql Control Settings for workspace managed identity. + def __init__(self, *, additional_properties=None, **kwargs) -> None: + super(IntegrationRuntimeConnectionInfo, self).__init__(**kwargs) + self.additional_properties = additional_properties + self.service_token = None + self.identity_cert_thumbprint = None + self.host_service_uri = None + self.version = None + self.public_key = None + self.is_identity_cert_exprired = None + + +class IntegrationRuntimeCustomSetupScriptProperties(Model): + """Custom setup script properties for a managed dedicated integration runtime. + + :param blob_container_uri: The URI of the Azure blob container that + contains the custom setup script. + :type blob_container_uri: str + :param sas_token: The SAS token of the Azure blob container. + :type sas_token: ~azure.mgmt.synapse.models.SecureString + """ - Variables are only populated by the server, and will be ignored when - sending a request. + _attribute_map = { + 'blob_container_uri': {'key': 'blobContainerUri', 'type': 'str'}, + 'sas_token': {'key': 'sasToken', 'type': 'SecureString'}, + } - :ivar id: Fully qualified resource Id for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} - :vartype id: str - :ivar name: The name of the resource - :vartype name: str - :ivar type: The type of the resource. Ex- - Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. - :vartype type: str - :param grant_sql_control_to_managed_identity: Grant sql control to managed - identity - :type grant_sql_control_to_managed_identity: - ~azure.mgmt.synapse.models.ManagedIdentitySqlControlSettingsModelPropertiesGrantSqlControlToManagedIdentity + def __init__(self, *, blob_container_uri: str=None, sas_token=None, **kwargs) -> None: + super(IntegrationRuntimeCustomSetupScriptProperties, self).__init__(**kwargs) + self.blob_container_uri = blob_container_uri + self.sas_token = sas_token + + +class IntegrationRuntimeDataFlowProperties(Model): + """Data flow properties for managed integration runtime. + + :param additional_properties: Unmatched properties from the message are + deserialized this collection + :type additional_properties: dict[str, object] + :param compute_type: Compute type of the cluster which will execute data + flow job. Possible values include: 'General', 'MemoryOptimized', + 'ComputeOptimized' + :type compute_type: str or ~azure.mgmt.synapse.models.DataFlowComputeType + :param core_count: Core count of the cluster which will execute data flow + job. Supported values are: 8, 16, 32, 48, 80, 144 and 272. + :type core_count: int + :param time_to_live: Time to live (in minutes) setting of the cluster + which will execute data flow job. + :type time_to_live: int """ _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, + 'time_to_live': {'minimum': 0}, } _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'grant_sql_control_to_managed_identity': {'key': 'properties.grantSqlControlToManagedIdentity', 'type': 'ManagedIdentitySqlControlSettingsModelPropertiesGrantSqlControlToManagedIdentity'}, + 'additional_properties': {'key': '', 'type': '{object}'}, + 'compute_type': {'key': 'computeType', 'type': 'str'}, + 'core_count': {'key': 'coreCount', 'type': 'int'}, + 'time_to_live': {'key': 'timeToLive', 'type': 'int'}, } - def __init__(self, *, grant_sql_control_to_managed_identity=None, **kwargs) -> None: - super(ManagedIdentitySqlControlSettingsModel, self).__init__(**kwargs) - self.grant_sql_control_to_managed_identity = grant_sql_control_to_managed_identity + def __init__(self, *, additional_properties=None, compute_type=None, core_count: int=None, time_to_live: int=None, **kwargs) -> None: + super(IntegrationRuntimeDataFlowProperties, self).__init__(**kwargs) + self.additional_properties = additional_properties + self.compute_type = compute_type + self.core_count = core_count + self.time_to_live = time_to_live -class ManagedIdentitySqlControlSettingsModelPropertiesGrantSqlControlToManagedIdentity(Model): - """Grant sql control to managed identity. +class IntegrationRuntimeDataProxyProperties(Model): + """Data proxy properties for a managed dedicated integration runtime. - Variables are only populated by the server, and will be ignored when + :param connect_via: The self-hosted integration runtime reference. + :type connect_via: ~azure.mgmt.synapse.models.EntityReference + :param staging_linked_service: The staging linked service reference. + :type staging_linked_service: ~azure.mgmt.synapse.models.EntityReference + :param path: The path to contain the staged data in the Blob storage. + :type path: str + """ + + _attribute_map = { + 'connect_via': {'key': 'connectVia', 'type': 'EntityReference'}, + 'staging_linked_service': {'key': 'stagingLinkedService', 'type': 'EntityReference'}, + 'path': {'key': 'path', 'type': 'str'}, + } + + def __init__(self, *, connect_via=None, staging_linked_service=None, path: str=None, **kwargs) -> None: + super(IntegrationRuntimeDataProxyProperties, self).__init__(**kwargs) + self.connect_via = connect_via + self.staging_linked_service = staging_linked_service + self.path = path + + +class IntegrationRuntimeMonitoringData(Model): + """Get monitoring data response. + + :param name: Integration runtime name. + :type name: str + :param nodes: Integration runtime node monitoring data. + :type nodes: + list[~azure.mgmt.synapse.models.IntegrationRuntimeNodeMonitoringData] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'nodes': {'key': 'nodes', 'type': '[IntegrationRuntimeNodeMonitoringData]'}, + } + + def __init__(self, *, name: str=None, nodes=None, **kwargs) -> None: + super(IntegrationRuntimeMonitoringData, self).__init__(**kwargs) + self.name = name + self.nodes = nodes + + +class IntegrationRuntimeNodeIpAddress(Model): + """The IP address of self-hosted integration runtime node. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar ip_address: The IP address of self-hosted integration runtime node. + :vartype ip_address: str + """ + + _validation = { + 'ip_address': {'readonly': True}, + } + + _attribute_map = { + 'ip_address': {'key': 'ipAddress', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(IntegrationRuntimeNodeIpAddress, self).__init__(**kwargs) + self.ip_address = None + + +class IntegrationRuntimeNodeMonitoringData(Model): + """Monitoring data for integration runtime node. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param additional_properties: Unmatched properties from the message are + deserialized this collection + :type additional_properties: dict[str, object] + :ivar node_name: Name of the integration runtime node. + :vartype node_name: str + :ivar available_memory_in_mb: Available memory (MB) on the integration + runtime node. + :vartype available_memory_in_mb: int + :ivar cpu_utilization: CPU percentage on the integration runtime node. + :vartype cpu_utilization: int + :ivar concurrent_jobs_limit: Maximum concurrent jobs on the integration + runtime node. + :vartype concurrent_jobs_limit: int + :ivar concurrent_jobs_running: The number of jobs currently running on the + integration runtime node. + :vartype concurrent_jobs_running: int + :ivar max_concurrent_jobs: The maximum concurrent jobs in this integration + runtime. + :vartype max_concurrent_jobs: int + :ivar sent_bytes: Sent bytes on the integration runtime node. + :vartype sent_bytes: float + :ivar received_bytes: Received bytes on the integration runtime node. + :vartype received_bytes: float + """ + + _validation = { + 'node_name': {'readonly': True}, + 'available_memory_in_mb': {'readonly': True}, + 'cpu_utilization': {'readonly': True}, + 'concurrent_jobs_limit': {'readonly': True}, + 'concurrent_jobs_running': {'readonly': True}, + 'max_concurrent_jobs': {'readonly': True}, + 'sent_bytes': {'readonly': True}, + 'received_bytes': {'readonly': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'node_name': {'key': 'nodeName', 'type': 'str'}, + 'available_memory_in_mb': {'key': 'availableMemoryInMB', 'type': 'int'}, + 'cpu_utilization': {'key': 'cpuUtilization', 'type': 'int'}, + 'concurrent_jobs_limit': {'key': 'concurrentJobsLimit', 'type': 'int'}, + 'concurrent_jobs_running': {'key': 'concurrentJobsRunning', 'type': 'int'}, + 'max_concurrent_jobs': {'key': 'maxConcurrentJobs', 'type': 'int'}, + 'sent_bytes': {'key': 'sentBytes', 'type': 'float'}, + 'received_bytes': {'key': 'receivedBytes', 'type': 'float'}, + } + + def __init__(self, *, additional_properties=None, **kwargs) -> None: + super(IntegrationRuntimeNodeMonitoringData, self).__init__(**kwargs) + self.additional_properties = additional_properties + self.node_name = None + self.available_memory_in_mb = None + self.cpu_utilization = None + self.concurrent_jobs_limit = None + self.concurrent_jobs_running = None + self.max_concurrent_jobs = None + self.sent_bytes = None + self.received_bytes = None + + +class IntegrationRuntimeRegenerateKeyParameters(Model): + """Parameters to regenerate the authentication key. + + :param key_name: The name of the authentication key to regenerate. + Possible values include: 'authKey1', 'authKey2' + :type key_name: str or + ~azure.mgmt.synapse.models.IntegrationRuntimeAuthKeyName + """ + + _attribute_map = { + 'key_name': {'key': 'keyName', 'type': 'str'}, + } + + def __init__(self, *, key_name=None, **kwargs) -> None: + super(IntegrationRuntimeRegenerateKeyParameters, self).__init__(**kwargs) + self.key_name = key_name + + +class SubResource(Model): + """Azure Synapse nested resource, which belongs to a factory. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: The resource identifier. + :vartype id: str + :ivar name: The resource name. + :vartype name: str + :ivar type: The resource type. + :vartype type: str + :ivar etag: Etag identifies change in the resource. + :vartype etag: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(SubResource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.etag = None + + +class IntegrationRuntimeResource(SubResource): + """Integration runtime resource type. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The resource identifier. + :vartype id: str + :ivar name: The resource name. + :vartype name: str + :ivar type: The resource type. + :vartype type: str + :ivar etag: Etag identifies change in the resource. + :vartype etag: str + :param properties: Required. Integration runtime properties. + :type properties: ~azure.mgmt.synapse.models.IntegrationRuntime + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + 'properties': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'IntegrationRuntime'}, + } + + def __init__(self, *, properties, **kwargs) -> None: + super(IntegrationRuntimeResource, self).__init__(**kwargs) + self.properties = properties + + +class IntegrationRuntimeSsisCatalogInfo(Model): + """Catalog information for managed dedicated integration runtime. + + :param additional_properties: Unmatched properties from the message are + deserialized this collection + :type additional_properties: dict[str, object] + :param catalog_server_endpoint: The catalog database server URL. + :type catalog_server_endpoint: str + :param catalog_admin_user_name: The administrator user name of catalog + database. + :type catalog_admin_user_name: str + :param catalog_admin_password: The password of the administrator user + account of the catalog database. + :type catalog_admin_password: ~azure.mgmt.synapse.models.SecureString + :param catalog_pricing_tier: The pricing tier for the catalog database. + The valid values could be found in + https://azure.microsoft.com/en-us/pricing/details/sql-database/. Possible + values include: 'Basic', 'Standard', 'Premium', 'PremiumRS' + :type catalog_pricing_tier: str or + ~azure.mgmt.synapse.models.IntegrationRuntimeSsisCatalogPricingTier + """ + + _validation = { + 'catalog_admin_user_name': {'max_length': 128, 'min_length': 1}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'catalog_server_endpoint': {'key': 'catalogServerEndpoint', 'type': 'str'}, + 'catalog_admin_user_name': {'key': 'catalogAdminUserName', 'type': 'str'}, + 'catalog_admin_password': {'key': 'catalogAdminPassword', 'type': 'SecureString'}, + 'catalog_pricing_tier': {'key': 'catalogPricingTier', 'type': 'str'}, + } + + def __init__(self, *, additional_properties=None, catalog_server_endpoint: str=None, catalog_admin_user_name: str=None, catalog_admin_password=None, catalog_pricing_tier=None, **kwargs) -> None: + super(IntegrationRuntimeSsisCatalogInfo, self).__init__(**kwargs) + self.additional_properties = additional_properties + self.catalog_server_endpoint = catalog_server_endpoint + self.catalog_admin_user_name = catalog_admin_user_name + self.catalog_admin_password = catalog_admin_password + self.catalog_pricing_tier = catalog_pricing_tier + + +class IntegrationRuntimeSsisProperties(Model): + """SSIS properties for managed integration runtime. + + :param additional_properties: Unmatched properties from the message are + deserialized this collection + :type additional_properties: dict[str, object] + :param catalog_info: Catalog information for managed dedicated integration + runtime. + :type catalog_info: + ~azure.mgmt.synapse.models.IntegrationRuntimeSsisCatalogInfo + :param license_type: License type for bringing your own license scenario. + Possible values include: 'BasePrice', 'LicenseIncluded' + :type license_type: str or + ~azure.mgmt.synapse.models.IntegrationRuntimeLicenseType + :param custom_setup_script_properties: Custom setup script properties for + a managed dedicated integration runtime. + :type custom_setup_script_properties: + ~azure.mgmt.synapse.models.IntegrationRuntimeCustomSetupScriptProperties + :param data_proxy_properties: Data proxy properties for a managed + dedicated integration runtime. + :type data_proxy_properties: + ~azure.mgmt.synapse.models.IntegrationRuntimeDataProxyProperties + :param edition: The edition for the SSIS Integration Runtime. Possible + values include: 'Standard', 'Enterprise' + :type edition: str or ~azure.mgmt.synapse.models.IntegrationRuntimeEdition + :param express_custom_setup_properties: Custom setup without script + properties for a SSIS integration runtime. + :type express_custom_setup_properties: + list[~azure.mgmt.synapse.models.CustomSetupBase] + """ + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'catalog_info': {'key': 'catalogInfo', 'type': 'IntegrationRuntimeSsisCatalogInfo'}, + 'license_type': {'key': 'licenseType', 'type': 'str'}, + 'custom_setup_script_properties': {'key': 'customSetupScriptProperties', 'type': 'IntegrationRuntimeCustomSetupScriptProperties'}, + 'data_proxy_properties': {'key': 'dataProxyProperties', 'type': 'IntegrationRuntimeDataProxyProperties'}, + 'edition': {'key': 'edition', 'type': 'str'}, + 'express_custom_setup_properties': {'key': 'expressCustomSetupProperties', 'type': '[CustomSetupBase]'}, + } + + def __init__(self, *, additional_properties=None, catalog_info=None, license_type=None, custom_setup_script_properties=None, data_proxy_properties=None, edition=None, express_custom_setup_properties=None, **kwargs) -> None: + super(IntegrationRuntimeSsisProperties, self).__init__(**kwargs) + self.additional_properties = additional_properties + self.catalog_info = catalog_info + self.license_type = license_type + self.custom_setup_script_properties = custom_setup_script_properties + self.data_proxy_properties = data_proxy_properties + self.edition = edition + self.express_custom_setup_properties = express_custom_setup_properties + + +class IntegrationRuntimeStatus(Model): + """Integration runtime status. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: ManagedIntegrationRuntimeStatus, + SelfHostedIntegrationRuntimeStatus + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are + deserialized this collection + :type additional_properties: dict[str, object] + :ivar data_factory_name: The workspace name which the integration runtime + belong to. + :vartype data_factory_name: str + :ivar state: The state of integration runtime. Possible values include: + 'Initial', 'Stopped', 'Started', 'Starting', 'Stopping', + 'NeedRegistration', 'Online', 'Limited', 'Offline', 'AccessDenied' + :vartype state: str or ~azure.mgmt.synapse.models.IntegrationRuntimeState + :param type: Required. Constant filled by server. + :type type: str + """ + + _validation = { + 'data_factory_name': {'readonly': True}, + 'state': {'readonly': True}, + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'data_factory_name': {'key': 'dataFactoryName', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + _subtype_map = { + 'type': {'Managed': 'ManagedIntegrationRuntimeStatus', 'SelfHosted': 'SelfHostedIntegrationRuntimeStatus'} + } + + def __init__(self, *, additional_properties=None, **kwargs) -> None: + super(IntegrationRuntimeStatus, self).__init__(**kwargs) + self.additional_properties = additional_properties + self.data_factory_name = None + self.state = None + self.type = None + + +class IntegrationRuntimeStatusResponse(Model): + """Integration runtime status response. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar name: The integration runtime name. + :vartype name: str + :param properties: Required. Integration runtime properties. + :type properties: ~azure.mgmt.synapse.models.IntegrationRuntimeStatus + """ + + _validation = { + 'name': {'readonly': True}, + 'properties': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'IntegrationRuntimeStatus'}, + } + + def __init__(self, *, properties, **kwargs) -> None: + super(IntegrationRuntimeStatusResponse, self).__init__(**kwargs) + self.name = None + self.properties = properties + + +class IntegrationRuntimeVNetProperties(Model): + """VNet properties for managed integration runtime. + + :param additional_properties: Unmatched properties from the message are + deserialized this collection + :type additional_properties: dict[str, object] + :param v_net_id: The ID of the VNet that this integration runtime will + join. + :type v_net_id: str + :param subnet: The name of the subnet this integration runtime will join. + :type subnet: str + :param public_ips: Resource IDs of the public IP addresses that this + integration runtime will use. + :type public_ips: list[str] + """ + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'v_net_id': {'key': 'vNetId', 'type': 'str'}, + 'subnet': {'key': 'subnet', 'type': 'str'}, + 'public_ips': {'key': 'publicIPs', 'type': '[str]'}, + } + + def __init__(self, *, additional_properties=None, v_net_id: str=None, subnet: str=None, public_ips=None, **kwargs) -> None: + super(IntegrationRuntimeVNetProperties, self).__init__(**kwargs) + self.additional_properties = additional_properties + self.v_net_id = v_net_id + self.subnet = subnet + self.public_ips = public_ips + + +class IpFirewallRuleInfo(ProxyResource): + """IP firewall rule. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :param end_ip_address: The end IP address of the firewall rule. Must be + IPv4 format. Must be greater than or equal to startIpAddress + :type end_ip_address: str + :ivar provisioning_state: Resource provisioning state. Possible values + include: 'Provisioning', 'Succeeded', 'Deleting', 'Failed', 'DeleteError' + :vartype provisioning_state: str or + ~azure.mgmt.synapse.models.ProvisioningState + :param start_ip_address: The start IP address of the firewall rule. Must + be IPv4 format + :type start_ip_address: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'end_ip_address': {'key': 'properties.endIpAddress', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'start_ip_address': {'key': 'properties.startIpAddress', 'type': 'str'}, + } + + def __init__(self, *, end_ip_address: str=None, start_ip_address: str=None, **kwargs) -> None: + super(IpFirewallRuleInfo, self).__init__(**kwargs) + self.end_ip_address = end_ip_address + self.provisioning_state = None + self.start_ip_address = start_ip_address + + +class IpFirewallRuleProperties(Model): + """IP firewall rule properties. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param end_ip_address: The end IP address of the firewall rule. Must be + IPv4 format. Must be greater than or equal to startIpAddress + :type end_ip_address: str + :ivar provisioning_state: Resource provisioning state. Possible values + include: 'Provisioning', 'Succeeded', 'Deleting', 'Failed', 'DeleteError' + :vartype provisioning_state: str or + ~azure.mgmt.synapse.models.ProvisioningState + :param start_ip_address: The start IP address of the firewall rule. Must + be IPv4 format + :type start_ip_address: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'end_ip_address': {'key': 'endIpAddress', 'type': 'str'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'start_ip_address': {'key': 'startIpAddress', 'type': 'str'}, + } + + def __init__(self, *, end_ip_address: str=None, start_ip_address: str=None, **kwargs) -> None: + super(IpFirewallRuleProperties, self).__init__(**kwargs) + self.end_ip_address = end_ip_address + self.provisioning_state = None + self.start_ip_address = start_ip_address + + +class LibraryRequirements(Model): + """Spark pool library version requirements. + + Library requirements for a Big Data pool powered by Apache Spark. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar time: The last update time of the library requirements file. + :vartype time: datetime + :param content: The library requirements. + :type content: str + :param filename: The filename of the library requirements file. + :type filename: str + """ + + _validation = { + 'time': {'readonly': True}, + } + + _attribute_map = { + 'time': {'key': 'time', 'type': 'iso-8601'}, + 'content': {'key': 'content', 'type': 'str'}, + 'filename': {'key': 'filename', 'type': 'str'}, + } + + def __init__(self, *, content: str=None, filename: str=None, **kwargs) -> None: + super(LibraryRequirements, self).__init__(**kwargs) + self.time = None + self.content = content + self.filename = filename + + +class LinkedIntegrationRuntime(Model): + """The linked integration runtime information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name: The name of the linked integration runtime. + :vartype name: str + :ivar subscription_id: The subscription ID for which the linked + integration runtime belong to. + :vartype subscription_id: str + :ivar data_factory_name: The name of the workspace for which the linked + integration runtime belong to. + :vartype data_factory_name: str + :ivar data_factory_location: The location of the workspace for which the + linked integration runtime belong to. + :vartype data_factory_location: str + :ivar create_time: The creating time of the linked integration runtime. + :vartype create_time: datetime + """ + + _validation = { + 'name': {'readonly': True}, + 'subscription_id': {'readonly': True}, + 'data_factory_name': {'readonly': True}, + 'data_factory_location': {'readonly': True}, + 'create_time': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'subscription_id': {'key': 'subscriptionId', 'type': 'str'}, + 'data_factory_name': {'key': 'dataFactoryName', 'type': 'str'}, + 'data_factory_location': {'key': 'dataFactoryLocation', 'type': 'str'}, + 'create_time': {'key': 'createTime', 'type': 'iso-8601'}, + } + + def __init__(self, **kwargs) -> None: + super(LinkedIntegrationRuntime, self).__init__(**kwargs) + self.name = None + self.subscription_id = None + self.data_factory_name = None + self.data_factory_location = None + self.create_time = None + + +class LinkedIntegrationRuntimeType(Model): + """The base definition of a linked integration runtime. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: LinkedIntegrationRuntimeKeyAuthorization, + LinkedIntegrationRuntimeRbacAuthorization + + All required parameters must be populated in order to send to Azure. + + :param authorization_type: Required. Constant filled by server. + :type authorization_type: str + """ + + _validation = { + 'authorization_type': {'required': True}, + } + + _attribute_map = { + 'authorization_type': {'key': 'authorizationType', 'type': 'str'}, + } + + _subtype_map = { + 'authorization_type': {'Key': 'LinkedIntegrationRuntimeKeyAuthorization', 'RBAC': 'LinkedIntegrationRuntimeRbacAuthorization'} + } + + def __init__(self, **kwargs) -> None: + super(LinkedIntegrationRuntimeType, self).__init__(**kwargs) + self.authorization_type = None + + +class LinkedIntegrationRuntimeKeyAuthorization(LinkedIntegrationRuntimeType): + """The key authorization type integration runtime. + + All required parameters must be populated in order to send to Azure. + + :param authorization_type: Required. Constant filled by server. + :type authorization_type: str + :param key: Required. The key used for authorization. + :type key: ~azure.mgmt.synapse.models.SecureString + """ + + _validation = { + 'authorization_type': {'required': True}, + 'key': {'required': True}, + } + + _attribute_map = { + 'authorization_type': {'key': 'authorizationType', 'type': 'str'}, + 'key': {'key': 'key', 'type': 'SecureString'}, + } + + def __init__(self, *, key, **kwargs) -> None: + super(LinkedIntegrationRuntimeKeyAuthorization, self).__init__(**kwargs) + self.key = key + self.authorization_type = 'Key' + + +class LinkedIntegrationRuntimeRbacAuthorization(LinkedIntegrationRuntimeType): + """The role based access control (RBAC) authorization type integration + runtime. + + All required parameters must be populated in order to send to Azure. + + :param authorization_type: Required. Constant filled by server. + :type authorization_type: str + :param resource_id: Required. The resource identifier of the integration + runtime to be shared. + :type resource_id: str + """ + + _validation = { + 'authorization_type': {'required': True}, + 'resource_id': {'required': True}, + } + + _attribute_map = { + 'authorization_type': {'key': 'authorizationType', 'type': 'str'}, + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + } + + def __init__(self, *, resource_id: str, **kwargs) -> None: + super(LinkedIntegrationRuntimeRbacAuthorization, self).__init__(**kwargs) + self.resource_id = resource_id + self.authorization_type = 'RBAC' + + +class ManagedIdentity(Model): + """The workspace managed identity. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar principal_id: The principal ID of the workspace managed identity + :vartype principal_id: str + :ivar tenant_id: The tenant ID of the workspace managed identity + :vartype tenant_id: str + :param type: The type of managed identity for the workspace. Possible + values include: 'None', 'SystemAssigned' + :type type: str or ~azure.mgmt.synapse.models.ResourceIdentityType + """ + + _validation = { + 'principal_id': {'readonly': True}, + 'tenant_id': {'readonly': True}, + } + + _attribute_map = { + 'principal_id': {'key': 'principalId', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'ResourceIdentityType'}, + } + + def __init__(self, *, type=None, **kwargs) -> None: + super(ManagedIdentity, self).__init__(**kwargs) + self.principal_id = None + self.tenant_id = None + self.type = type + + +class ManagedIdentitySqlControlSettingsModel(ProxyResource): + """Managed Identity Sql Control Settings. + + Sql Control Settings for workspace managed identity. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :param grant_sql_control_to_managed_identity: Grant sql control to managed + identity + :type grant_sql_control_to_managed_identity: + ~azure.mgmt.synapse.models.ManagedIdentitySqlControlSettingsModelPropertiesGrantSqlControlToManagedIdentity + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'grant_sql_control_to_managed_identity': {'key': 'properties.grantSqlControlToManagedIdentity', 'type': 'ManagedIdentitySqlControlSettingsModelPropertiesGrantSqlControlToManagedIdentity'}, + } + + def __init__(self, *, grant_sql_control_to_managed_identity=None, **kwargs) -> None: + super(ManagedIdentitySqlControlSettingsModel, self).__init__(**kwargs) + self.grant_sql_control_to_managed_identity = grant_sql_control_to_managed_identity + + +class ManagedIdentitySqlControlSettingsModelPropertiesGrantSqlControlToManagedIdentity(Model): + """Grant sql control to managed identity. + + Variables are only populated by the server, and will be ignored when sending a request. :param desired_state: Desired state. Possible values include: 'Enabled', @@ -911,18 +1917,271 @@ class ManagedIdentitySqlControlSettingsModelPropertiesGrantSqlControlToManagedId """ _validation = { - 'actual_state': {'readonly': True}, + 'actual_state': {'readonly': True}, + } + + _attribute_map = { + 'desired_state': {'key': 'desiredState', 'type': 'str'}, + 'actual_state': {'key': 'actualState', 'type': 'str'}, + } + + def __init__(self, *, desired_state=None, **kwargs) -> None: + super(ManagedIdentitySqlControlSettingsModelPropertiesGrantSqlControlToManagedIdentity, self).__init__(**kwargs) + self.desired_state = desired_state + self.actual_state = None + + +class ManagedIntegrationRuntime(IntegrationRuntime): + """Managed integration runtime, including managed elastic and managed + dedicated integration runtimes. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are + deserialized this collection + :type additional_properties: dict[str, object] + :param description: Integration runtime description. + :type description: str + :param type: Required. Constant filled by server. + :type type: str + :ivar state: Integration runtime state, only valid for managed dedicated + integration runtime. Possible values include: 'Initial', 'Stopped', + 'Started', 'Starting', 'Stopping', 'NeedRegistration', 'Online', + 'Limited', 'Offline', 'AccessDenied' + :vartype state: str or ~azure.mgmt.synapse.models.IntegrationRuntimeState + :param compute_properties: The compute resource for managed integration + runtime. + :type compute_properties: + ~azure.mgmt.synapse.models.IntegrationRuntimeComputeProperties + :param ssis_properties: SSIS properties for managed integration runtime. + :type ssis_properties: + ~azure.mgmt.synapse.models.IntegrationRuntimeSsisProperties + """ + + _validation = { + 'type': {'required': True}, + 'state': {'readonly': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'description': {'key': 'description', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + 'compute_properties': {'key': 'typeProperties.computeProperties', 'type': 'IntegrationRuntimeComputeProperties'}, + 'ssis_properties': {'key': 'typeProperties.ssisProperties', 'type': 'IntegrationRuntimeSsisProperties'}, + } + + def __init__(self, *, additional_properties=None, description: str=None, compute_properties=None, ssis_properties=None, **kwargs) -> None: + super(ManagedIntegrationRuntime, self).__init__(additional_properties=additional_properties, description=description, **kwargs) + self.state = None + self.compute_properties = compute_properties + self.ssis_properties = ssis_properties + self.type = 'Managed' + + +class ManagedIntegrationRuntimeError(Model): + """Error definition for managed integration runtime. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param additional_properties: Unmatched properties from the message are + deserialized this collection + :type additional_properties: dict[str, object] + :ivar time: The time when the error occurred. + :vartype time: datetime + :ivar code: Error code. + :vartype code: str + :ivar parameters: Managed integration runtime error parameters. + :vartype parameters: list[str] + :ivar message: Error message. + :vartype message: str + """ + + _validation = { + 'time': {'readonly': True}, + 'code': {'readonly': True}, + 'parameters': {'readonly': True}, + 'message': {'readonly': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'time': {'key': 'time', 'type': 'iso-8601'}, + 'code': {'key': 'code', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '[str]'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__(self, *, additional_properties=None, **kwargs) -> None: + super(ManagedIntegrationRuntimeError, self).__init__(**kwargs) + self.additional_properties = additional_properties + self.time = None + self.code = None + self.parameters = None + self.message = None + + +class ManagedIntegrationRuntimeNode(Model): + """Properties of integration runtime node. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param additional_properties: Unmatched properties from the message are + deserialized this collection + :type additional_properties: dict[str, object] + :ivar node_id: The managed integration runtime node id. + :vartype node_id: str + :ivar status: The managed integration runtime node status. Possible values + include: 'Starting', 'Available', 'Recycling', 'Unavailable' + :vartype status: str or + ~azure.mgmt.synapse.models.ManagedIntegrationRuntimeNodeStatus + :param errors: The errors that occurred on this integration runtime node. + :type errors: + list[~azure.mgmt.synapse.models.ManagedIntegrationRuntimeError] + """ + + _validation = { + 'node_id': {'readonly': True}, + 'status': {'readonly': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'node_id': {'key': 'nodeId', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ManagedIntegrationRuntimeError]'}, + } + + def __init__(self, *, additional_properties=None, errors=None, **kwargs) -> None: + super(ManagedIntegrationRuntimeNode, self).__init__(**kwargs) + self.additional_properties = additional_properties + self.node_id = None + self.status = None + self.errors = errors + + +class ManagedIntegrationRuntimeOperationResult(Model): + """Properties of managed integration runtime operation result. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param additional_properties: Unmatched properties from the message are + deserialized this collection + :type additional_properties: dict[str, object] + :ivar type: The operation type. Could be start or stop. + :vartype type: str + :ivar start_time: The start time of the operation. + :vartype start_time: datetime + :ivar result: The operation result. + :vartype result: str + :ivar error_code: The error code. + :vartype error_code: str + :ivar parameters: Managed integration runtime error parameters. + :vartype parameters: list[str] + :ivar activity_id: The activity id for the operation request. + :vartype activity_id: str + """ + + _validation = { + 'type': {'readonly': True}, + 'start_time': {'readonly': True}, + 'result': {'readonly': True}, + 'error_code': {'readonly': True}, + 'parameters': {'readonly': True}, + 'activity_id': {'readonly': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, + 'result': {'key': 'result', 'type': 'str'}, + 'error_code': {'key': 'errorCode', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '[str]'}, + 'activity_id': {'key': 'activityId', 'type': 'str'}, + } + + def __init__(self, *, additional_properties=None, **kwargs) -> None: + super(ManagedIntegrationRuntimeOperationResult, self).__init__(**kwargs) + self.additional_properties = additional_properties + self.type = None + self.start_time = None + self.result = None + self.error_code = None + self.parameters = None + self.activity_id = None + + +class ManagedIntegrationRuntimeStatus(IntegrationRuntimeStatus): + """Managed integration runtime status. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are + deserialized this collection + :type additional_properties: dict[str, object] + :ivar data_factory_name: The workspace name which the integration runtime + belong to. + :vartype data_factory_name: str + :ivar state: The state of integration runtime. Possible values include: + 'Initial', 'Stopped', 'Started', 'Starting', 'Stopping', + 'NeedRegistration', 'Online', 'Limited', 'Offline', 'AccessDenied' + :vartype state: str or ~azure.mgmt.synapse.models.IntegrationRuntimeState + :param type: Required. Constant filled by server. + :type type: str + :ivar create_time: The time at which the integration runtime was created, + in ISO8601 format. + :vartype create_time: datetime + :ivar nodes: The list of nodes for managed integration runtime. + :vartype nodes: + list[~azure.mgmt.synapse.models.ManagedIntegrationRuntimeNode] + :ivar other_errors: The errors that occurred on this integration runtime. + :vartype other_errors: + list[~azure.mgmt.synapse.models.ManagedIntegrationRuntimeError] + :ivar last_operation: The last operation result that occurred on this + integration runtime. + :vartype last_operation: + ~azure.mgmt.synapse.models.ManagedIntegrationRuntimeOperationResult + """ + + _validation = { + 'data_factory_name': {'readonly': True}, + 'state': {'readonly': True}, + 'type': {'required': True}, + 'create_time': {'readonly': True}, + 'nodes': {'readonly': True}, + 'other_errors': {'readonly': True}, + 'last_operation': {'readonly': True}, } _attribute_map = { - 'desired_state': {'key': 'desiredState', 'type': 'str'}, - 'actual_state': {'key': 'actualState', 'type': 'str'}, + 'additional_properties': {'key': '', 'type': '{object}'}, + 'data_factory_name': {'key': 'dataFactoryName', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'create_time': {'key': 'typeProperties.createTime', 'type': 'iso-8601'}, + 'nodes': {'key': 'typeProperties.nodes', 'type': '[ManagedIntegrationRuntimeNode]'}, + 'other_errors': {'key': 'typeProperties.otherErrors', 'type': '[ManagedIntegrationRuntimeError]'}, + 'last_operation': {'key': 'typeProperties.lastOperation', 'type': 'ManagedIntegrationRuntimeOperationResult'}, } - def __init__(self, *, desired_state=None, **kwargs) -> None: - super(ManagedIdentitySqlControlSettingsModelPropertiesGrantSqlControlToManagedIdentity, self).__init__(**kwargs) - self.desired_state = desired_state - self.actual_state = None + def __init__(self, *, additional_properties=None, **kwargs) -> None: + super(ManagedIntegrationRuntimeStatus, self).__init__(additional_properties=additional_properties, **kwargs) + self.create_time = None + self.nodes = None + self.other_errors = None + self.last_operation = None + self.type = 'Managed' class MetadataSyncConfig(ProxyResource): @@ -1138,6 +2397,183 @@ def __init__(self, *, id: str=None, name: str=None, status=None, properties=None self.percent_complete = percent_complete +class PrivateEndpoint(Model): + """Private endpoint details. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource id of the private endpoint. + :vartype id: str + """ + + _validation = { + 'id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(PrivateEndpoint, self).__init__(**kwargs) + self.id = None + + +class PrivateEndpointConnection(ProxyResource): + """A private endpoint connection. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :param private_endpoint: The private endpoint which the connection belongs + to. + :type private_endpoint: ~azure.mgmt.synapse.models.PrivateEndpoint + :param private_link_service_connection_state: Connection state of the + private endpoint connection. + :type private_link_service_connection_state: + ~azure.mgmt.synapse.models.PrivateLinkServiceConnectionState + :ivar provisioning_state: Provisioning state of the private endpoint + connection. + :vartype provisioning_state: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'private_endpoint': {'key': 'properties.privateEndpoint', 'type': 'PrivateEndpoint'}, + 'private_link_service_connection_state': {'key': 'properties.privateLinkServiceConnectionState', 'type': 'PrivateLinkServiceConnectionState'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + } + + def __init__(self, *, private_endpoint=None, private_link_service_connection_state=None, **kwargs) -> None: + super(PrivateEndpointConnection, self).__init__(**kwargs) + self.private_endpoint = private_endpoint + self.private_link_service_connection_state = private_link_service_connection_state + self.provisioning_state = None + + +class PrivateLinkResource(ProxyResource): + """A private link resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :ivar properties: The private link resource properties. + :vartype properties: + ~azure.mgmt.synapse.models.PrivateLinkResourceProperties + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'properties': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'PrivateLinkResourceProperties'}, + } + + def __init__(self, **kwargs) -> None: + super(PrivateLinkResource, self).__init__(**kwargs) + self.properties = None + + +class PrivateLinkResourceProperties(Model): + """Properties of a private link resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar group_id: The private link resource group id. + :vartype group_id: str + :ivar required_members: The private link resource required member names. + :vartype required_members: list[str] + :ivar required_zone_names: Required DNS zone names of the the private link + resource. + :vartype required_zone_names: list[str] + """ + + _validation = { + 'group_id': {'readonly': True}, + 'required_members': {'readonly': True}, + 'required_zone_names': {'readonly': True}, + } + + _attribute_map = { + 'group_id': {'key': 'groupId', 'type': 'str'}, + 'required_members': {'key': 'requiredMembers', 'type': '[str]'}, + 'required_zone_names': {'key': 'requiredZoneNames', 'type': '[str]'}, + } + + def __init__(self, **kwargs) -> None: + super(PrivateLinkResourceProperties, self).__init__(**kwargs) + self.group_id = None + self.required_members = None + self.required_zone_names = None + + +class PrivateLinkServiceConnectionState(Model): + """Connection state details of the private endpoint. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param status: The private link service connection status. Possible values + include: 'Approved', 'Pending', 'Rejected', 'Disconnected' + :type status: str or ~azure.mgmt.synapse.models.enum + :param description: The private link service connection description. + :type description: str + :ivar actions_required: The actions required for private link service + connection. + :vartype actions_required: str + """ + + _validation = { + 'actions_required': {'readonly': True}, + } + + _attribute_map = { + 'status': {'key': 'status', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'actions_required': {'key': 'actionsRequired', 'type': 'str'}, + } + + def __init__(self, *, status=None, description: str=None, **kwargs) -> None: + super(PrivateLinkServiceConnectionState, self).__init__(**kwargs) + self.status = status + self.description = description + self.actions_required = None + + class QueryInterval(Model): """A database query. @@ -1370,87 +2806,437 @@ def __init__(self, **kwargs) -> None: self.replication_state = None -class ResourceMoveDefinition(Model): - """Contains the information necessary to perform a resource move (rename). +class ResourceMoveDefinition(Model): + """Contains the information necessary to perform a resource move (rename). + + All required parameters must be populated in order to send to Azure. + + :param id: Required. The target ID for the resource + :type id: str + """ + + _validation = { + 'id': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, *, id: str, **kwargs) -> None: + super(ResourceMoveDefinition, self).__init__(**kwargs) + self.id = id + + +class RestorePoint(ProxyResource): + """Database restore points. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :ivar location: Resource location. + :vartype location: str + :ivar restore_point_type: The type of restore point. Possible values + include: 'CONTINUOUS', 'DISCRETE' + :vartype restore_point_type: str or + ~azure.mgmt.synapse.models.RestorePointType + :ivar earliest_restore_date: The earliest time to which this database can + be restored + :vartype earliest_restore_date: datetime + :ivar restore_point_creation_date: The time the backup was taken + :vartype restore_point_creation_date: datetime + :ivar restore_point_label: The label of restore point for backup request + by user + :vartype restore_point_label: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'readonly': True}, + 'restore_point_type': {'readonly': True}, + 'earliest_restore_date': {'readonly': True}, + 'restore_point_creation_date': {'readonly': True}, + 'restore_point_label': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'restore_point_type': {'key': 'properties.restorePointType', 'type': 'RestorePointType'}, + 'earliest_restore_date': {'key': 'properties.earliestRestoreDate', 'type': 'iso-8601'}, + 'restore_point_creation_date': {'key': 'properties.restorePointCreationDate', 'type': 'iso-8601'}, + 'restore_point_label': {'key': 'properties.restorePointLabel', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(RestorePoint, self).__init__(**kwargs) + self.location = None + self.restore_point_type = None + self.earliest_restore_date = None + self.restore_point_creation_date = None + self.restore_point_label = None + + +class SecretBase(Model): + """The base definition of a secret type. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: SecureString + + All required parameters must be populated in order to send to Azure. + + :param type: Required. Constant filled by server. + :type type: str + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + } + + _subtype_map = { + 'type': {'SecureString': 'SecureString'} + } + + def __init__(self, **kwargs) -> None: + super(SecretBase, self).__init__(**kwargs) + self.type = None + + +class SecureString(SecretBase): + """Azure Synapse secure string definition. The string value will be masked + with asterisks '*' during Get or List API calls. + + All required parameters must be populated in order to send to Azure. + + :param type: Required. Constant filled by server. + :type type: str + :param value: Required. Value of secure string. + :type value: str + """ + + _validation = { + 'type': {'required': True}, + 'value': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__(self, *, value: str, **kwargs) -> None: + super(SecureString, self).__init__(**kwargs) + self.value = value + self.type = 'SecureString' + + +class SelfHostedIntegrationRuntime(IntegrationRuntime): + """Self-hosted integration runtime. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are + deserialized this collection + :type additional_properties: dict[str, object] + :param description: Integration runtime description. + :type description: str + :param type: Required. Constant filled by server. + :type type: str + :param linked_info: + :type linked_info: ~azure.mgmt.synapse.models.LinkedIntegrationRuntimeType + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'description': {'key': 'description', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'linked_info': {'key': 'typeProperties.linkedInfo', 'type': 'LinkedIntegrationRuntimeType'}, + } + + def __init__(self, *, additional_properties=None, description: str=None, linked_info=None, **kwargs) -> None: + super(SelfHostedIntegrationRuntime, self).__init__(additional_properties=additional_properties, description=description, **kwargs) + self.linked_info = linked_info + self.type = 'SelfHosted' + - All required parameters must be populated in order to send to Azure. +class SelfHostedIntegrationRuntimeNode(Model): + """Properties of Self-hosted integration runtime node. - :param id: Required. The target ID for the resource - :type id: str + Variables are only populated by the server, and will be ignored when + sending a request. + + :param additional_properties: Unmatched properties from the message are + deserialized this collection + :type additional_properties: dict[str, object] + :ivar node_name: Name of the integration runtime node. + :vartype node_name: str + :ivar machine_name: Machine name of the integration runtime node. + :vartype machine_name: str + :ivar host_service_uri: URI for the host machine of the integration + runtime. + :vartype host_service_uri: str + :ivar status: Status of the integration runtime node. Possible values + include: 'NeedRegistration', 'Online', 'Limited', 'Offline', 'Upgrading', + 'Initializing', 'InitializeFailed' + :vartype status: str or + ~azure.mgmt.synapse.models.SelfHostedIntegrationRuntimeNodeStatus + :ivar capabilities: The integration runtime capabilities dictionary + :vartype capabilities: dict[str, str] + :ivar version_status: Status of the integration runtime node version. + :vartype version_status: str + :ivar version: Version of the integration runtime node. + :vartype version: str + :ivar register_time: The time at which the integration runtime node was + registered in ISO8601 format. + :vartype register_time: datetime + :ivar last_connect_time: The most recent time at which the integration + runtime was connected in ISO8601 format. + :vartype last_connect_time: datetime + :ivar expiry_time: The time at which the integration runtime will expire + in ISO8601 format. + :vartype expiry_time: datetime + :ivar last_start_time: The time the node last started up. + :vartype last_start_time: datetime + :ivar last_stop_time: The integration runtime node last stop time. + :vartype last_stop_time: datetime + :ivar last_update_result: The result of the last integration runtime node + update. Possible values include: 'None', 'Succeed', 'Fail' + :vartype last_update_result: str or + ~azure.mgmt.synapse.models.IntegrationRuntimeUpdateResult + :ivar last_start_update_time: The last time for the integration runtime + node update start. + :vartype last_start_update_time: datetime + :ivar last_end_update_time: The last time for the integration runtime node + update end. + :vartype last_end_update_time: datetime + :ivar is_active_dispatcher: Indicates whether this node is the active + dispatcher for integration runtime requests. + :vartype is_active_dispatcher: bool + :ivar concurrent_jobs_limit: Maximum concurrent jobs on the integration + runtime node. + :vartype concurrent_jobs_limit: int + :ivar max_concurrent_jobs: The maximum concurrent jobs in this integration + runtime. + :vartype max_concurrent_jobs: int """ _validation = { - 'id': {'required': True}, + 'node_name': {'readonly': True}, + 'machine_name': {'readonly': True}, + 'host_service_uri': {'readonly': True}, + 'status': {'readonly': True}, + 'capabilities': {'readonly': True}, + 'version_status': {'readonly': True}, + 'version': {'readonly': True}, + 'register_time': {'readonly': True}, + 'last_connect_time': {'readonly': True}, + 'expiry_time': {'readonly': True}, + 'last_start_time': {'readonly': True}, + 'last_stop_time': {'readonly': True}, + 'last_update_result': {'readonly': True}, + 'last_start_update_time': {'readonly': True}, + 'last_end_update_time': {'readonly': True}, + 'is_active_dispatcher': {'readonly': True}, + 'concurrent_jobs_limit': {'readonly': True}, + 'max_concurrent_jobs': {'readonly': True}, } _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, + 'additional_properties': {'key': '', 'type': '{object}'}, + 'node_name': {'key': 'nodeName', 'type': 'str'}, + 'machine_name': {'key': 'machineName', 'type': 'str'}, + 'host_service_uri': {'key': 'hostServiceUri', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + 'capabilities': {'key': 'capabilities', 'type': '{str}'}, + 'version_status': {'key': 'versionStatus', 'type': 'str'}, + 'version': {'key': 'version', 'type': 'str'}, + 'register_time': {'key': 'registerTime', 'type': 'iso-8601'}, + 'last_connect_time': {'key': 'lastConnectTime', 'type': 'iso-8601'}, + 'expiry_time': {'key': 'expiryTime', 'type': 'iso-8601'}, + 'last_start_time': {'key': 'lastStartTime', 'type': 'iso-8601'}, + 'last_stop_time': {'key': 'lastStopTime', 'type': 'iso-8601'}, + 'last_update_result': {'key': 'lastUpdateResult', 'type': 'str'}, + 'last_start_update_time': {'key': 'lastStartUpdateTime', 'type': 'iso-8601'}, + 'last_end_update_time': {'key': 'lastEndUpdateTime', 'type': 'iso-8601'}, + 'is_active_dispatcher': {'key': 'isActiveDispatcher', 'type': 'bool'}, + 'concurrent_jobs_limit': {'key': 'concurrentJobsLimit', 'type': 'int'}, + 'max_concurrent_jobs': {'key': 'maxConcurrentJobs', 'type': 'int'}, } - def __init__(self, *, id: str, **kwargs) -> None: - super(ResourceMoveDefinition, self).__init__(**kwargs) - self.id = id - - -class RestorePoint(ProxyResource): - """Database restore points. + def __init__(self, *, additional_properties=None, **kwargs) -> None: + super(SelfHostedIntegrationRuntimeNode, self).__init__(**kwargs) + self.additional_properties = additional_properties + self.node_name = None + self.machine_name = None + self.host_service_uri = None + self.status = None + self.capabilities = None + self.version_status = None + self.version = None + self.register_time = None + self.last_connect_time = None + self.expiry_time = None + self.last_start_time = None + self.last_stop_time = None + self.last_update_result = None + self.last_start_update_time = None + self.last_end_update_time = None + self.is_active_dispatcher = None + self.concurrent_jobs_limit = None + self.max_concurrent_jobs = None + + +class SelfHostedIntegrationRuntimeStatus(IntegrationRuntimeStatus): + """Self-hosted integration runtime status. Variables are only populated by the server, and will be ignored when sending a request. - :ivar id: Fully qualified resource Id for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} - :vartype id: str - :ivar name: The name of the resource - :vartype name: str - :ivar type: The type of the resource. Ex- - Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. - :vartype type: str - :ivar location: Resource location. - :vartype location: str - :ivar restore_point_type: The type of restore point. Possible values - include: 'CONTINUOUS', 'DISCRETE' - :vartype restore_point_type: str or - ~azure.mgmt.synapse.models.RestorePointType - :ivar earliest_restore_date: The earliest time to which this database can - be restored - :vartype earliest_restore_date: datetime - :ivar restore_point_creation_date: The time the backup was taken - :vartype restore_point_creation_date: datetime - :ivar restore_point_label: The label of restore point for backup request - by user - :vartype restore_point_label: str + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are + deserialized this collection + :type additional_properties: dict[str, object] + :ivar data_factory_name: The workspace name which the integration runtime + belong to. + :vartype data_factory_name: str + :ivar state: The state of integration runtime. Possible values include: + 'Initial', 'Stopped', 'Started', 'Starting', 'Stopping', + 'NeedRegistration', 'Online', 'Limited', 'Offline', 'AccessDenied' + :vartype state: str or ~azure.mgmt.synapse.models.IntegrationRuntimeState + :param type: Required. Constant filled by server. + :type type: str + :ivar create_time: The time at which the integration runtime was created, + in ISO8601 format. + :vartype create_time: datetime + :ivar task_queue_id: The task queue id of the integration runtime. + :vartype task_queue_id: str + :ivar internal_channel_encryption: It is used to set the encryption mode + for node-node communication channel (when more than 2 self-hosted + integration runtime nodes exist). Possible values include: 'NotSet', + 'SslEncrypted', 'NotEncrypted' + :vartype internal_channel_encryption: str or + ~azure.mgmt.synapse.models.IntegrationRuntimeInternalChannelEncryptionMode + :ivar version: Version of the integration runtime. + :vartype version: str + :param nodes: The list of nodes for this integration runtime. + :type nodes: + list[~azure.mgmt.synapse.models.SelfHostedIntegrationRuntimeNode] + :ivar scheduled_update_date: The date at which the integration runtime + will be scheduled to update, in ISO8601 format. + :vartype scheduled_update_date: datetime + :ivar update_delay_offset: The time in the date scheduled by service to + update the integration runtime, e.g., PT03H is 3 hours + :vartype update_delay_offset: str + :ivar local_time_zone_offset: The local time zone offset in hours. + :vartype local_time_zone_offset: str + :ivar capabilities: Object with additional information about integration + runtime capabilities. + :vartype capabilities: dict[str, str] + :ivar service_urls: The URLs for the services used in integration runtime + backend service. + :vartype service_urls: list[str] + :ivar auto_update: Whether Self-hosted integration runtime auto update has + been turned on. Possible values include: 'On', 'Off' + :vartype auto_update: str or + ~azure.mgmt.synapse.models.IntegrationRuntimeAutoUpdate + :ivar version_status: Status of the integration runtime version. + :vartype version_status: str + :param links: The list of linked integration runtimes that are created to + share with this integration runtime. + :type links: list[~azure.mgmt.synapse.models.LinkedIntegrationRuntime] + :ivar pushed_version: The version that the integration runtime is going to + update to. + :vartype pushed_version: str + :ivar latest_version: The latest version on download center. + :vartype latest_version: str + :ivar auto_update_eta: The estimated time when the self-hosted integration + runtime will be updated. + :vartype auto_update_eta: datetime """ _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'location': {'readonly': True}, - 'restore_point_type': {'readonly': True}, - 'earliest_restore_date': {'readonly': True}, - 'restore_point_creation_date': {'readonly': True}, - 'restore_point_label': {'readonly': True}, + 'data_factory_name': {'readonly': True}, + 'state': {'readonly': True}, + 'type': {'required': True}, + 'create_time': {'readonly': True}, + 'task_queue_id': {'readonly': True}, + 'internal_channel_encryption': {'readonly': True}, + 'version': {'readonly': True}, + 'scheduled_update_date': {'readonly': True}, + 'update_delay_offset': {'readonly': True}, + 'local_time_zone_offset': {'readonly': True}, + 'capabilities': {'readonly': True}, + 'service_urls': {'readonly': True}, + 'auto_update': {'readonly': True}, + 'version_status': {'readonly': True}, + 'pushed_version': {'readonly': True}, + 'latest_version': {'readonly': True}, + 'auto_update_eta': {'readonly': True}, } _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, + 'additional_properties': {'key': '', 'type': '{object}'}, + 'data_factory_name': {'key': 'dataFactoryName', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'restore_point_type': {'key': 'properties.restorePointType', 'type': 'RestorePointType'}, - 'earliest_restore_date': {'key': 'properties.earliestRestoreDate', 'type': 'iso-8601'}, - 'restore_point_creation_date': {'key': 'properties.restorePointCreationDate', 'type': 'iso-8601'}, - 'restore_point_label': {'key': 'properties.restorePointLabel', 'type': 'str'}, + 'create_time': {'key': 'typeProperties.createTime', 'type': 'iso-8601'}, + 'task_queue_id': {'key': 'typeProperties.taskQueueId', 'type': 'str'}, + 'internal_channel_encryption': {'key': 'typeProperties.internalChannelEncryption', 'type': 'str'}, + 'version': {'key': 'typeProperties.version', 'type': 'str'}, + 'nodes': {'key': 'typeProperties.nodes', 'type': '[SelfHostedIntegrationRuntimeNode]'}, + 'scheduled_update_date': {'key': 'typeProperties.scheduledUpdateDate', 'type': 'iso-8601'}, + 'update_delay_offset': {'key': 'typeProperties.updateDelayOffset', 'type': 'str'}, + 'local_time_zone_offset': {'key': 'typeProperties.localTimeZoneOffset', 'type': 'str'}, + 'capabilities': {'key': 'typeProperties.capabilities', 'type': '{str}'}, + 'service_urls': {'key': 'typeProperties.serviceUrls', 'type': '[str]'}, + 'auto_update': {'key': 'typeProperties.autoUpdate', 'type': 'str'}, + 'version_status': {'key': 'typeProperties.versionStatus', 'type': 'str'}, + 'links': {'key': 'typeProperties.links', 'type': '[LinkedIntegrationRuntime]'}, + 'pushed_version': {'key': 'typeProperties.pushedVersion', 'type': 'str'}, + 'latest_version': {'key': 'typeProperties.latestVersion', 'type': 'str'}, + 'auto_update_eta': {'key': 'typeProperties.autoUpdateETA', 'type': 'iso-8601'}, } - def __init__(self, **kwargs) -> None: - super(RestorePoint, self).__init__(**kwargs) - self.location = None - self.restore_point_type = None - self.earliest_restore_date = None - self.restore_point_creation_date = None - self.restore_point_label = None + def __init__(self, *, additional_properties=None, nodes=None, links=None, **kwargs) -> None: + super(SelfHostedIntegrationRuntimeStatus, self).__init__(additional_properties=additional_properties, **kwargs) + self.create_time = None + self.task_queue_id = None + self.internal_channel_encryption = None + self.version = None + self.nodes = nodes + self.scheduled_update_date = None + self.update_delay_offset = None + self.local_time_zone_offset = None + self.capabilities = None + self.service_urls = None + self.auto_update = None + self.version_status = None + self.links = links + self.pushed_version = None + self.latest_version = None + self.auto_update_eta = None + self.type = 'SelfHosted' class SensitivityLabel(ProxyResource): @@ -2401,6 +4187,389 @@ def __init__(self, **kwargs) -> None: self.exported_report_location = None +class SsisObjectMetadata(Model): + """SSIS object metadata. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: SsisFolder, SsisProject, SsisPackage, SsisEnvironment + + All required parameters must be populated in order to send to Azure. + + :param id: Metadata id. + :type id: long + :param name: Metadata name. + :type name: str + :param description: Metadata description. + :type description: str + :param type: Required. Constant filled by server. + :type type: str + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'long'}, + 'name': {'key': 'name', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + _subtype_map = { + 'type': {'Folder': 'SsisFolder', 'Project': 'SsisProject', 'Package': 'SsisPackage', 'Environment': 'SsisEnvironment'} + } + + def __init__(self, *, id: int=None, name: str=None, description: str=None, **kwargs) -> None: + super(SsisObjectMetadata, self).__init__(**kwargs) + self.id = id + self.name = name + self.description = description + self.type = None + + +class SsisEnvironment(SsisObjectMetadata): + """Ssis environment. + + All required parameters must be populated in order to send to Azure. + + :param id: Metadata id. + :type id: long + :param name: Metadata name. + :type name: str + :param description: Metadata description. + :type description: str + :param type: Required. Constant filled by server. + :type type: str + :param folder_id: Folder id which contains environment. + :type folder_id: long + :param variables: Variable in environment + :type variables: list[~azure.mgmt.synapse.models.SsisVariable] + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'long'}, + 'name': {'key': 'name', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'folder_id': {'key': 'folderId', 'type': 'long'}, + 'variables': {'key': 'variables', 'type': '[SsisVariable]'}, + } + + def __init__(self, *, id: int=None, name: str=None, description: str=None, folder_id: int=None, variables=None, **kwargs) -> None: + super(SsisEnvironment, self).__init__(id=id, name=name, description=description, **kwargs) + self.folder_id = folder_id + self.variables = variables + self.type = 'Environment' + + +class SsisEnvironmentReference(Model): + """Ssis environment reference. + + :param id: Environment reference id. + :type id: long + :param environment_folder_name: Environment folder name. + :type environment_folder_name: str + :param environment_name: Environment name. + :type environment_name: str + :param reference_type: Reference type + :type reference_type: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'long'}, + 'environment_folder_name': {'key': 'environmentFolderName', 'type': 'str'}, + 'environment_name': {'key': 'environmentName', 'type': 'str'}, + 'reference_type': {'key': 'referenceType', 'type': 'str'}, + } + + def __init__(self, *, id: int=None, environment_folder_name: str=None, environment_name: str=None, reference_type: str=None, **kwargs) -> None: + super(SsisEnvironmentReference, self).__init__(**kwargs) + self.id = id + self.environment_folder_name = environment_folder_name + self.environment_name = environment_name + self.reference_type = reference_type + + +class SsisFolder(SsisObjectMetadata): + """Ssis folder. + + All required parameters must be populated in order to send to Azure. + + :param id: Metadata id. + :type id: long + :param name: Metadata name. + :type name: str + :param description: Metadata description. + :type description: str + :param type: Required. Constant filled by server. + :type type: str + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'long'}, + 'name': {'key': 'name', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: int=None, name: str=None, description: str=None, **kwargs) -> None: + super(SsisFolder, self).__init__(id=id, name=name, description=description, **kwargs) + self.type = 'Folder' + + +class SsisObjectMetadataListResponse(Model): + """A list of SSIS object metadata. + + :param value: List of SSIS object metadata. + :type value: list[~azure.mgmt.synapse.models.SsisObjectMetadata] + :param next_link: The link to the next page of results, if any remaining + results exist. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[SsisObjectMetadata]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, *, value=None, next_link: str=None, **kwargs) -> None: + super(SsisObjectMetadataListResponse, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class SsisObjectMetadataStatusResponse(Model): + """The status of the operation. + + :param status: The status of the operation. + :type status: str + :param name: The operation name. + :type name: str + :param properties: The operation properties. + :type properties: str + :param error: The operation error message. + :type error: str + """ + + _attribute_map = { + 'status': {'key': 'status', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'str'}, + 'error': {'key': 'error', 'type': 'str'}, + } + + def __init__(self, *, status: str=None, name: str=None, properties: str=None, error: str=None, **kwargs) -> None: + super(SsisObjectMetadataStatusResponse, self).__init__(**kwargs) + self.status = status + self.name = name + self.properties = properties + self.error = error + + +class SsisPackage(SsisObjectMetadata): + """Ssis Package. + + All required parameters must be populated in order to send to Azure. + + :param id: Metadata id. + :type id: long + :param name: Metadata name. + :type name: str + :param description: Metadata description. + :type description: str + :param type: Required. Constant filled by server. + :type type: str + :param folder_id: Folder id which contains package. + :type folder_id: long + :param project_version: Project version which contains package. + :type project_version: long + :param project_id: Project id which contains package. + :type project_id: long + :param parameters: Parameters in package + :type parameters: list[~azure.mgmt.synapse.models.SsisParameter] + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'long'}, + 'name': {'key': 'name', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'folder_id': {'key': 'folderId', 'type': 'long'}, + 'project_version': {'key': 'projectVersion', 'type': 'long'}, + 'project_id': {'key': 'projectId', 'type': 'long'}, + 'parameters': {'key': 'parameters', 'type': '[SsisParameter]'}, + } + + def __init__(self, *, id: int=None, name: str=None, description: str=None, folder_id: int=None, project_version: int=None, project_id: int=None, parameters=None, **kwargs) -> None: + super(SsisPackage, self).__init__(id=id, name=name, description=description, **kwargs) + self.folder_id = folder_id + self.project_version = project_version + self.project_id = project_id + self.parameters = parameters + self.type = 'Package' + + +class SsisParameter(Model): + """Ssis parameter. + + :param id: Parameter id. + :type id: long + :param name: Parameter name. + :type name: str + :param description: Parameter description. + :type description: str + :param data_type: Parameter type. + :type data_type: str + :param required: Whether parameter is required. + :type required: bool + :param sensitive: Whether parameter is sensitive. + :type sensitive: bool + :param design_default_value: Design default value of parameter. + :type design_default_value: str + :param default_value: Default value of parameter. + :type default_value: str + :param sensitive_default_value: Default sensitive value of parameter. + :type sensitive_default_value: str + :param value_type: Parameter value type. + :type value_type: str + :param value_set: Parameter value set. + :type value_set: bool + :param variable: Parameter reference variable. + :type variable: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'long'}, + 'name': {'key': 'name', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'data_type': {'key': 'dataType', 'type': 'str'}, + 'required': {'key': 'required', 'type': 'bool'}, + 'sensitive': {'key': 'sensitive', 'type': 'bool'}, + 'design_default_value': {'key': 'designDefaultValue', 'type': 'str'}, + 'default_value': {'key': 'defaultValue', 'type': 'str'}, + 'sensitive_default_value': {'key': 'sensitiveDefaultValue', 'type': 'str'}, + 'value_type': {'key': 'valueType', 'type': 'str'}, + 'value_set': {'key': 'valueSet', 'type': 'bool'}, + 'variable': {'key': 'variable', 'type': 'str'}, + } + + def __init__(self, *, id: int=None, name: str=None, description: str=None, data_type: str=None, required: bool=None, sensitive: bool=None, design_default_value: str=None, default_value: str=None, sensitive_default_value: str=None, value_type: str=None, value_set: bool=None, variable: str=None, **kwargs) -> None: + super(SsisParameter, self).__init__(**kwargs) + self.id = id + self.name = name + self.description = description + self.data_type = data_type + self.required = required + self.sensitive = sensitive + self.design_default_value = design_default_value + self.default_value = default_value + self.sensitive_default_value = sensitive_default_value + self.value_type = value_type + self.value_set = value_set + self.variable = variable + + +class SsisProject(SsisObjectMetadata): + """Ssis project. + + All required parameters must be populated in order to send to Azure. + + :param id: Metadata id. + :type id: long + :param name: Metadata name. + :type name: str + :param description: Metadata description. + :type description: str + :param type: Required. Constant filled by server. + :type type: str + :param folder_id: Folder id which contains project. + :type folder_id: long + :param version: Project version. + :type version: long + :param environment_refs: Environment reference in project + :type environment_refs: + list[~azure.mgmt.synapse.models.SsisEnvironmentReference] + :param parameters: Parameters in project + :type parameters: list[~azure.mgmt.synapse.models.SsisParameter] + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'long'}, + 'name': {'key': 'name', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'folder_id': {'key': 'folderId', 'type': 'long'}, + 'version': {'key': 'version', 'type': 'long'}, + 'environment_refs': {'key': 'environmentRefs', 'type': '[SsisEnvironmentReference]'}, + 'parameters': {'key': 'parameters', 'type': '[SsisParameter]'}, + } + + def __init__(self, *, id: int=None, name: str=None, description: str=None, folder_id: int=None, version: int=None, environment_refs=None, parameters=None, **kwargs) -> None: + super(SsisProject, self).__init__(id=id, name=name, description=description, **kwargs) + self.folder_id = folder_id + self.version = version + self.environment_refs = environment_refs + self.parameters = parameters + self.type = 'Project' + + +class SsisVariable(Model): + """Ssis variable. + + :param id: Variable id. + :type id: long + :param name: Variable name. + :type name: str + :param description: Variable description. + :type description: str + :param data_type: Variable type. + :type data_type: str + :param sensitive: Whether variable is sensitive. + :type sensitive: bool + :param value: Variable value. + :type value: str + :param sensitive_value: Variable sensitive value. + :type sensitive_value: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'long'}, + 'name': {'key': 'name', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'data_type': {'key': 'dataType', 'type': 'str'}, + 'sensitive': {'key': 'sensitive', 'type': 'bool'}, + 'value': {'key': 'value', 'type': 'str'}, + 'sensitive_value': {'key': 'sensitiveValue', 'type': 'str'}, + } + + def __init__(self, *, id: int=None, name: str=None, description: str=None, data_type: str=None, sensitive: bool=None, value: str=None, sensitive_value: str=None, **kwargs) -> None: + super(SsisVariable, self).__init__(**kwargs) + self.id = id + self.name = name + self.description = description + self.data_type = data_type + self.sensitive = sensitive + self.value = value + self.sensitive_value = sensitive_value + + class TopQueries(Model): """A database query. @@ -2535,6 +4704,54 @@ def __init__(self, *, status=None, **kwargs) -> None: self.status = status +class UpdateIntegrationRuntimeNodeRequest(Model): + """Update integration runtime node request. + + :param concurrent_jobs_limit: The number of concurrent jobs permitted to + run on the integration runtime node. Values between 1 and + maxConcurrentJobs(inclusive) are allowed. + :type concurrent_jobs_limit: int + """ + + _validation = { + 'concurrent_jobs_limit': {'minimum': 1}, + } + + _attribute_map = { + 'concurrent_jobs_limit': {'key': 'concurrentJobsLimit', 'type': 'int'}, + } + + def __init__(self, *, concurrent_jobs_limit: int=None, **kwargs) -> None: + super(UpdateIntegrationRuntimeNodeRequest, self).__init__(**kwargs) + self.concurrent_jobs_limit = concurrent_jobs_limit + + +class UpdateIntegrationRuntimeRequest(Model): + """Update integration runtime request. + + :param auto_update: Enables or disables the auto-update feature of the + self-hosted integration runtime. See + https://go.microsoft.com/fwlink/?linkid=854189. Possible values include: + 'On', 'Off' + :type auto_update: str or + ~azure.mgmt.synapse.models.IntegrationRuntimeAutoUpdate + :param update_delay_offset: The time offset (in hours) in the day, e.g., + PT03H is 3 hours. The integration runtime auto update will happen on that + time. + :type update_delay_offset: str + """ + + _attribute_map = { + 'auto_update': {'key': 'autoUpdate', 'type': 'str'}, + 'update_delay_offset': {'key': 'updateDelayOffset', 'type': 'str'}, + } + + def __init__(self, *, auto_update=None, update_delay_offset: str=None, **kwargs) -> None: + super(UpdateIntegrationRuntimeRequest, self).__init__(**kwargs) + self.auto_update = auto_update + self.update_delay_offset = update_delay_offset + + class VirtualNetworkProfile(Model): """Virtual Network Profile. @@ -2722,6 +4939,14 @@ class Workspace(TrackedResource): ~azure.mgmt.synapse.models.VirtualNetworkProfile :param connectivity_endpoints: Connectivity endpoints :type connectivity_endpoints: dict[str, str] + :param managed_virtual_network: Setting this to 'default' will ensure that + all compute for this workspace is in a virtual network managed on behalf + of the user. + :type managed_virtual_network: str + :param private_endpoint_connections: Private endpoint connections to the + workspace + :type private_endpoint_connections: + list[~azure.mgmt.synapse.models.PrivateEndpointConnection] :param identity: Identity of the workspace :type identity: ~azure.mgmt.synapse.models.ManagedIdentity """ @@ -2748,10 +4973,12 @@ class Workspace(TrackedResource): 'sql_administrator_login': {'key': 'properties.sqlAdministratorLogin', 'type': 'str'}, 'virtual_network_profile': {'key': 'properties.virtualNetworkProfile', 'type': 'VirtualNetworkProfile'}, 'connectivity_endpoints': {'key': 'properties.connectivityEndpoints', 'type': '{str}'}, + 'managed_virtual_network': {'key': 'properties.managedVirtualNetwork', 'type': 'str'}, + 'private_endpoint_connections': {'key': 'properties.privateEndpointConnections', 'type': '[PrivateEndpointConnection]'}, 'identity': {'key': 'identity', 'type': 'ManagedIdentity'}, } - def __init__(self, *, location: str, tags=None, default_data_lake_storage=None, sql_administrator_login_password: str=None, sql_administrator_login: str=None, virtual_network_profile=None, connectivity_endpoints=None, identity=None, **kwargs) -> None: + def __init__(self, *, location: str, tags=None, default_data_lake_storage=None, sql_administrator_login_password: str=None, sql_administrator_login: str=None, virtual_network_profile=None, connectivity_endpoints=None, managed_virtual_network: str=None, private_endpoint_connections=None, identity=None, **kwargs) -> None: super(Workspace, self).__init__(tags=tags, location=location, **kwargs) self.default_data_lake_storage = default_data_lake_storage self.sql_administrator_login_password = sql_administrator_login_password @@ -2760,6 +4987,8 @@ def __init__(self, *, location: str, tags=None, default_data_lake_storage=None, self.sql_administrator_login = sql_administrator_login self.virtual_network_profile = virtual_network_profile self.connectivity_endpoints = connectivity_endpoints + self.managed_virtual_network = managed_virtual_network + self.private_endpoint_connections = private_endpoint_connections self.identity = identity diff --git a/src/synapse/azext_synapse/vendored_sdks/azure_mgmt_synapse/models/_paged_models.py b/src/synapse/azext_synapse/vendored_sdks/azure_mgmt_synapse/models/_paged_models.py index e3fbe7e01aa..417b2a90b80 100644 --- a/src/synapse/azext_synapse/vendored_sdks/azure_mgmt_synapse/models/_paged_models.py +++ b/src/synapse/azext_synapse/vendored_sdks/azure_mgmt_synapse/models/_paged_models.py @@ -194,3 +194,42 @@ class WorkspacePaged(Paged): def __init__(self, *args, **kwargs): super(WorkspacePaged, self).__init__(*args, **kwargs) +class IntegrationRuntimeResourcePaged(Paged): + """ + A paging container for iterating over a list of :class:`IntegrationRuntimeResource ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[IntegrationRuntimeResource]'} + } + + def __init__(self, *args, **kwargs): + + super(IntegrationRuntimeResourcePaged, self).__init__(*args, **kwargs) +class PrivateLinkResourcePaged(Paged): + """ + A paging container for iterating over a list of :class:`PrivateLinkResource ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[PrivateLinkResource]'} + } + + def __init__(self, *args, **kwargs): + + super(PrivateLinkResourcePaged, self).__init__(*args, **kwargs) +class PrivateEndpointConnectionPaged(Paged): + """ + A paging container for iterating over a list of :class:`PrivateEndpointConnection ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[PrivateEndpointConnection]'} + } + + def __init__(self, *args, **kwargs): + + super(PrivateEndpointConnectionPaged, self).__init__(*args, **kwargs) diff --git a/src/synapse/azext_synapse/vendored_sdks/azure_mgmt_synapse/models/_synapse_management_client_enums.py b/src/synapse/azext_synapse/vendored_sdks/azure_mgmt_synapse/models/_synapse_management_client_enums.py index ed3f93d9130..8d1c0055e1d 100644 --- a/src/synapse/azext_synapse/vendored_sdks/azure_mgmt_synapse/models/_synapse_management_client_enums.py +++ b/src/synapse/azext_synapse/vendored_sdks/azure_mgmt_synapse/models/_synapse_management_client_enums.py @@ -192,6 +192,112 @@ class ResourceIdentityType(str, Enum): system_assigned = "SystemAssigned" +class IntegrationRuntimeType(str, Enum): + + managed = "Managed" + self_hosted = "SelfHosted" + + +class IntegrationRuntimeState(str, Enum): + + initial = "Initial" + stopped = "Stopped" + started = "Started" + starting = "Starting" + stopping = "Stopping" + need_registration = "NeedRegistration" + online = "Online" + limited = "Limited" + offline = "Offline" + access_denied = "AccessDenied" + + +class DataFlowComputeType(str, Enum): + + general = "General" + memory_optimized = "MemoryOptimized" + compute_optimized = "ComputeOptimized" + + +class IntegrationRuntimeSsisCatalogPricingTier(str, Enum): + + basic = "Basic" + standard = "Standard" + premium = "Premium" + premium_rs = "PremiumRS" + + +class IntegrationRuntimeLicenseType(str, Enum): + + base_price = "BasePrice" + license_included = "LicenseIncluded" + + +class IntegrationRuntimeEntityReferenceType(str, Enum): + + integration_runtime_reference = "IntegrationRuntimeReference" + linked_service_reference = "LinkedServiceReference" + + +class IntegrationRuntimeEdition(str, Enum): + + standard = "Standard" + enterprise = "Enterprise" + + +class ManagedIntegrationRuntimeNodeStatus(str, Enum): + + starting = "Starting" + available = "Available" + recycling = "Recycling" + unavailable = "Unavailable" + + +class IntegrationRuntimeInternalChannelEncryptionMode(str, Enum): + + not_set = "NotSet" + ssl_encrypted = "SslEncrypted" + not_encrypted = "NotEncrypted" + + +class SelfHostedIntegrationRuntimeNodeStatus(str, Enum): + + need_registration = "NeedRegistration" + online = "Online" + limited = "Limited" + offline = "Offline" + upgrading = "Upgrading" + initializing = "Initializing" + initialize_failed = "InitializeFailed" + + +class IntegrationRuntimeUpdateResult(str, Enum): + + none = "None" + succeed = "Succeed" + fail = "Fail" + + +class IntegrationRuntimeAutoUpdate(str, Enum): + + on = "On" + off = "Off" + + +class IntegrationRuntimeAuthKeyName(str, Enum): + + auth_key1 = "authKey1" + auth_key2 = "authKey2" + + +class SsisObjectMetadataType(str, Enum): + + folder = "Folder" + project = "Project" + package = "Package" + environment = "Environment" + + class VulnerabilityAssessmentPolicyBaselineName(str, Enum): master = "master" diff --git a/src/synapse/azext_synapse/vendored_sdks/azure_mgmt_synapse/operations/__init__.py b/src/synapse/azext_synapse/vendored_sdks/azure_mgmt_synapse/operations/__init__.py index 9fe156119ca..8a97c895a40 100644 --- a/src/synapse/azext_synapse/vendored_sdks/azure_mgmt_synapse/operations/__init__.py +++ b/src/synapse/azext_synapse/vendored_sdks/azure_mgmt_synapse/operations/__init__.py @@ -35,6 +35,17 @@ from ._workspaces_operations import WorkspacesOperations from ._workspace_aad_admins_operations import WorkspaceAadAdminsOperations from ._workspace_managed_identity_sql_control_settings_operations import WorkspaceManagedIdentitySqlControlSettingsOperations +from ._integration_runtimes_operations import IntegrationRuntimesOperations +from ._integration_runtime_node_ip_address_operations import IntegrationRuntimeNodeIpAddressOperations +from ._integration_runtime_object_metadata_operations import IntegrationRuntimeObjectMetadataOperations +from ._integration_runtime_nodes_operations import IntegrationRuntimeNodesOperations +from ._integration_runtime_credentials_operations import IntegrationRuntimeCredentialsOperations +from ._integration_runtime_connection_infos_operations import IntegrationRuntimeConnectionInfosOperations +from ._integration_runtime_auth_keys_operations import IntegrationRuntimeAuthKeysOperations +from ._integration_runtime_monitoring_data_operations import IntegrationRuntimeMonitoringDataOperations +from ._integration_runtime_status_operations import IntegrationRuntimeStatusOperations +from ._private_link_resources_operations import PrivateLinkResourcesOperations +from ._private_endpoint_connections_operations import PrivateEndpointConnectionsOperations __all__ = [ 'BigDataPoolsOperations', @@ -63,4 +74,15 @@ 'WorkspacesOperations', 'WorkspaceAadAdminsOperations', 'WorkspaceManagedIdentitySqlControlSettingsOperations', + 'IntegrationRuntimesOperations', + 'IntegrationRuntimeNodeIpAddressOperations', + 'IntegrationRuntimeObjectMetadataOperations', + 'IntegrationRuntimeNodesOperations', + 'IntegrationRuntimeCredentialsOperations', + 'IntegrationRuntimeConnectionInfosOperations', + 'IntegrationRuntimeAuthKeysOperations', + 'IntegrationRuntimeMonitoringDataOperations', + 'IntegrationRuntimeStatusOperations', + 'PrivateLinkResourcesOperations', + 'PrivateEndpointConnectionsOperations', ] diff --git a/src/synapse/azext_synapse/vendored_sdks/azure_mgmt_synapse/operations/_integration_runtime_auth_keys_operations.py b/src/synapse/azext_synapse/vendored_sdks/azure_mgmt_synapse/operations/_integration_runtime_auth_keys_operations.py new file mode 100644 index 00000000000..725ceabcb75 --- /dev/null +++ b/src/synapse/azext_synapse/vendored_sdks/azure_mgmt_synapse/operations/_integration_runtime_auth_keys_operations.py @@ -0,0 +1,184 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class IntegrationRuntimeAuthKeysOperations(object): + """IntegrationRuntimeAuthKeysOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2019-06-01-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2019-06-01-preview" + + self.config = config + + def regenerate( + self, resource_group_name, workspace_name, integration_runtime_name, key_name=None, custom_headers=None, raw=False, **operation_config): + """Regenerate integration runtime authentication key. + + Regenerate the authentication key for an integration runtime. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param workspace_name: The name of the workspace + :type workspace_name: str + :param integration_runtime_name: Integration runtime name + :type integration_runtime_name: str + :param key_name: The name of the authentication key to regenerate. + Possible values include: 'authKey1', 'authKey2' + :type key_name: str or + ~azure.mgmt.synapse.models.IntegrationRuntimeAuthKeyName + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: IntegrationRuntimeAuthKeys or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.synapse.models.IntegrationRuntimeAuthKeys or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + regenerate_key_parameters = models.IntegrationRuntimeRegenerateKeyParameters(key_name=key_name) + + # Construct URL + url = self.regenerate.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'workspaceName': self._serialize.url("workspace_name", workspace_name, 'str'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(regenerate_key_parameters, 'IntegrationRuntimeRegenerateKeyParameters') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('IntegrationRuntimeAuthKeys', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + regenerate.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Synapse/workspaces/{workspaceName}/integrationRuntimes/{integrationRuntimeName}/regenerateAuthKey'} + + def list( + self, resource_group_name, workspace_name, integration_runtime_name, custom_headers=None, raw=False, **operation_config): + """List integration runtime authentication keys. + + List authentication keys in an integration runtime. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param workspace_name: The name of the workspace + :type workspace_name: str + :param integration_runtime_name: Integration runtime name + :type integration_runtime_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: IntegrationRuntimeAuthKeys or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.synapse.models.IntegrationRuntimeAuthKeys or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'workspaceName': self._serialize.url("workspace_name", workspace_name, 'str'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('IntegrationRuntimeAuthKeys', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Synapse/workspaces/{workspaceName}/integrationRuntimes/{integrationRuntimeName}/listAuthKeys'} diff --git a/src/synapse/azext_synapse/vendored_sdks/azure_mgmt_synapse/operations/_integration_runtime_connection_infos_operations.py b/src/synapse/azext_synapse/vendored_sdks/azure_mgmt_synapse/operations/_integration_runtime_connection_infos_operations.py new file mode 100644 index 00000000000..46d62e192ac --- /dev/null +++ b/src/synapse/azext_synapse/vendored_sdks/azure_mgmt_synapse/operations/_integration_runtime_connection_infos_operations.py @@ -0,0 +1,108 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class IntegrationRuntimeConnectionInfosOperations(object): + """IntegrationRuntimeConnectionInfosOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2019-06-01-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2019-06-01-preview" + + self.config = config + + def get( + self, resource_group_name, workspace_name, integration_runtime_name, custom_headers=None, raw=False, **operation_config): + """Get integration runtime connection info. + + Get connection info for an integration runtime. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param workspace_name: The name of the workspace + :type workspace_name: str + :param integration_runtime_name: Integration runtime name + :type integration_runtime_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: IntegrationRuntimeConnectionInfo or ClientRawResponse if + raw=true + :rtype: ~azure.mgmt.synapse.models.IntegrationRuntimeConnectionInfo or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'workspaceName': self._serialize.url("workspace_name", workspace_name, 'str'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('IntegrationRuntimeConnectionInfo', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Synapse/workspaces/{workspaceName}/integrationRuntimes/{integrationRuntimeName}/getConnectionInfo'} diff --git a/src/synapse/azext_synapse/vendored_sdks/azure_mgmt_synapse/operations/_integration_runtime_credentials_operations.py b/src/synapse/azext_synapse/vendored_sdks/azure_mgmt_synapse/operations/_integration_runtime_credentials_operations.py new file mode 100644 index 00000000000..0f0474d8ed7 --- /dev/null +++ b/src/synapse/azext_synapse/vendored_sdks/azure_mgmt_synapse/operations/_integration_runtime_credentials_operations.py @@ -0,0 +1,104 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class IntegrationRuntimeCredentialsOperations(object): + """IntegrationRuntimeCredentialsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2019-06-01-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2019-06-01-preview" + + self.config = config + + def sync( + self, resource_group_name, workspace_name, integration_runtime_name, custom_headers=None, raw=False, **operation_config): + """Sync integration runtime credentials. + + Force the integration runtime to synchronize credentials across + integration runtime nodes, and this will override the credentials + across all worker nodes with those available on the dispatcher node. If + you already have the latest credential backup file, you should manually + import it (preferred) on any self-hosted integration runtime node than + using this API directly. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param workspace_name: The name of the workspace + :type workspace_name: str + :param integration_runtime_name: Integration runtime name + :type integration_runtime_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.sync.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'workspaceName': self._serialize.url("workspace_name", workspace_name, 'str'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + sync.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Synapse/workspaces/{workspaceName}/integrationRuntimes/{integrationRuntimeName}/syncCredentials'} diff --git a/src/synapse/azext_synapse/vendored_sdks/azure_mgmt_synapse/operations/_integration_runtime_monitoring_data_operations.py b/src/synapse/azext_synapse/vendored_sdks/azure_mgmt_synapse/operations/_integration_runtime_monitoring_data_operations.py new file mode 100644 index 00000000000..a4d5954ce6f --- /dev/null +++ b/src/synapse/azext_synapse/vendored_sdks/azure_mgmt_synapse/operations/_integration_runtime_monitoring_data_operations.py @@ -0,0 +1,108 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class IntegrationRuntimeMonitoringDataOperations(object): + """IntegrationRuntimeMonitoringDataOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2019-06-01-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2019-06-01-preview" + + self.config = config + + def get( + self, resource_group_name, workspace_name, integration_runtime_name, custom_headers=None, raw=False, **operation_config): + """Get integration runtime monitoring data. + + Get monitoring data for an integration runtime. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param workspace_name: The name of the workspace + :type workspace_name: str + :param integration_runtime_name: Integration runtime name + :type integration_runtime_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: IntegrationRuntimeMonitoringData or ClientRawResponse if + raw=true + :rtype: ~azure.mgmt.synapse.models.IntegrationRuntimeMonitoringData or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'workspaceName': self._serialize.url("workspace_name", workspace_name, 'str'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('IntegrationRuntimeMonitoringData', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Synapse/workspaces/{workspaceName}/integrationRuntimes/{integrationRuntimeName}/monitoringData'} diff --git a/src/synapse/azext_synapse/vendored_sdks/azure_mgmt_synapse/operations/_integration_runtime_node_ip_address_operations.py b/src/synapse/azext_synapse/vendored_sdks/azure_mgmt_synapse/operations/_integration_runtime_node_ip_address_operations.py new file mode 100644 index 00000000000..21535834879 --- /dev/null +++ b/src/synapse/azext_synapse/vendored_sdks/azure_mgmt_synapse/operations/_integration_runtime_node_ip_address_operations.py @@ -0,0 +1,111 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class IntegrationRuntimeNodeIpAddressOperations(object): + """IntegrationRuntimeNodeIpAddressOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2019-06-01-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2019-06-01-preview" + + self.config = config + + def get( + self, resource_group_name, workspace_name, integration_runtime_name, node_name, custom_headers=None, raw=False, **operation_config): + """Get integration runtime node IP address. + + Get the IP address of an integration runtime node. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param workspace_name: The name of the workspace + :type workspace_name: str + :param integration_runtime_name: Integration runtime name + :type integration_runtime_name: str + :param node_name: Integration runtime node name + :type node_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: IntegrationRuntimeNodeIpAddress or ClientRawResponse if + raw=true + :rtype: ~azure.mgmt.synapse.models.IntegrationRuntimeNodeIpAddress or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'workspaceName': self._serialize.url("workspace_name", workspace_name, 'str'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str'), + 'nodeName': self._serialize.url("node_name", node_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('IntegrationRuntimeNodeIpAddress', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Synapse/workspaces/{workspaceName}/integrationRuntimes/{integrationRuntimeName}/nodes/{nodeName}/ipAddress'} diff --git a/src/synapse/azext_synapse/vendored_sdks/azure_mgmt_synapse/operations/_integration_runtime_nodes_operations.py b/src/synapse/azext_synapse/vendored_sdks/azure_mgmt_synapse/operations/_integration_runtime_nodes_operations.py new file mode 100644 index 00000000000..11f3e5b3559 --- /dev/null +++ b/src/synapse/azext_synapse/vendored_sdks/azure_mgmt_synapse/operations/_integration_runtime_nodes_operations.py @@ -0,0 +1,254 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class IntegrationRuntimeNodesOperations(object): + """IntegrationRuntimeNodesOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2019-06-01-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2019-06-01-preview" + + self.config = config + + def get( + self, resource_group_name, workspace_name, integration_runtime_name, node_name, custom_headers=None, raw=False, **operation_config): + """Get integration runtime node. + + Get an integration runtime node. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param workspace_name: The name of the workspace + :type workspace_name: str + :param integration_runtime_name: Integration runtime name + :type integration_runtime_name: str + :param node_name: Integration runtime node name + :type node_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: SelfHostedIntegrationRuntimeNode or ClientRawResponse if + raw=true + :rtype: ~azure.mgmt.synapse.models.SelfHostedIntegrationRuntimeNode or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'workspaceName': self._serialize.url("workspace_name", workspace_name, 'str'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str'), + 'nodeName': self._serialize.url("node_name", node_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('SelfHostedIntegrationRuntimeNode', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Synapse/workspaces/{workspaceName}/integrationRuntimes/{integrationRuntimeName}/nodes/{nodeName}'} + + def update( + self, resource_group_name, workspace_name, integration_runtime_name, node_name, concurrent_jobs_limit=None, custom_headers=None, raw=False, **operation_config): + """Create integration runtime node. + + Create an integration runtime node. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param workspace_name: The name of the workspace + :type workspace_name: str + :param integration_runtime_name: Integration runtime name + :type integration_runtime_name: str + :param node_name: Integration runtime node name + :type node_name: str + :param concurrent_jobs_limit: The number of concurrent jobs permitted + to run on the integration runtime node. Values between 1 and + maxConcurrentJobs(inclusive) are allowed. + :type concurrent_jobs_limit: int + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: SelfHostedIntegrationRuntimeNode or ClientRawResponse if + raw=true + :rtype: ~azure.mgmt.synapse.models.SelfHostedIntegrationRuntimeNode or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + update_integration_runtime_node_request = models.UpdateIntegrationRuntimeNodeRequest(concurrent_jobs_limit=concurrent_jobs_limit) + + # Construct URL + url = self.update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'workspaceName': self._serialize.url("workspace_name", workspace_name, 'str'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str'), + 'nodeName': self._serialize.url("node_name", node_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(update_integration_runtime_node_request, 'UpdateIntegrationRuntimeNodeRequest') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('SelfHostedIntegrationRuntimeNode', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Synapse/workspaces/{workspaceName}/integrationRuntimes/{integrationRuntimeName}/nodes/{nodeName}'} + + def delete( + self, resource_group_name, workspace_name, integration_runtime_name, node_name, custom_headers=None, raw=False, **operation_config): + """Delete integration runtime node. + + Delete an integration runtime node. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param workspace_name: The name of the workspace + :type workspace_name: str + :param integration_runtime_name: Integration runtime name + :type integration_runtime_name: str + :param node_name: Integration runtime node name + :type node_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'workspaceName': self._serialize.url("workspace_name", workspace_name, 'str'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str'), + 'nodeName': self._serialize.url("node_name", node_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Synapse/workspaces/{workspaceName}/integrationRuntimes/{integrationRuntimeName}/nodes/{nodeName}'} diff --git a/src/synapse/azext_synapse/vendored_sdks/azure_mgmt_synapse/operations/_integration_runtime_object_metadata_operations.py b/src/synapse/azext_synapse/vendored_sdks/azure_mgmt_synapse/operations/_integration_runtime_object_metadata_operations.py new file mode 100644 index 00000000000..602073bd237 --- /dev/null +++ b/src/synapse/azext_synapse/vendored_sdks/azure_mgmt_synapse/operations/_integration_runtime_object_metadata_operations.py @@ -0,0 +1,189 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class IntegrationRuntimeObjectMetadataOperations(object): + """IntegrationRuntimeObjectMetadataOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2019-06-01-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2019-06-01-preview" + + self.config = config + + def get( + self, resource_group_name, workspace_name, integration_runtime_name, metadata_path=None, custom_headers=None, raw=False, **operation_config): + """Get integration runtime object metadata. + + Get object metadata from an integration runtime. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param workspace_name: The name of the workspace + :type workspace_name: str + :param integration_runtime_name: Integration runtime name + :type integration_runtime_name: str + :param metadata_path: Metadata path. + :type metadata_path: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: SsisObjectMetadataListResponse or ClientRawResponse if + raw=true + :rtype: ~azure.mgmt.synapse.models.SsisObjectMetadataListResponse or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + get_metadata_request = None + if metadata_path is not None: + get_metadata_request = models.GetSsisObjectMetadataRequest(metadata_path=metadata_path) + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'workspaceName': self._serialize.url("workspace_name", workspace_name, 'str'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 + if get_metadata_request is not None: + body_content = self._serialize.body(get_metadata_request, 'GetSsisObjectMetadataRequest') + else: + body_content = None + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('SsisObjectMetadataListResponse', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Synapse/workspaces/{workspaceName}/integrationRuntimes/{integrationRuntimeName}/getObjectMetadata'} + + def refresh( + self, resource_group_name, workspace_name, integration_runtime_name, custom_headers=None, raw=False, **operation_config): + """Refresh integration runtime object metadata. + + Refresh the object metadata in an integration runtime. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param workspace_name: The name of the workspace + :type workspace_name: str + :param integration_runtime_name: Integration runtime name + :type integration_runtime_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: SsisObjectMetadataStatusResponse or ClientRawResponse if + raw=true + :rtype: ~azure.mgmt.synapse.models.SsisObjectMetadataStatusResponse or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.refresh.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'workspaceName': self._serialize.url("workspace_name", workspace_name, 'str'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('SsisObjectMetadataStatusResponse', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + refresh.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Synapse/workspaces/{workspaceName}/integrationRuntimes/{integrationRuntimeName}/refreshObjectMetadata'} diff --git a/src/synapse/azext_synapse/vendored_sdks/azure_mgmt_synapse/operations/_integration_runtime_status_operations.py b/src/synapse/azext_synapse/vendored_sdks/azure_mgmt_synapse/operations/_integration_runtime_status_operations.py new file mode 100644 index 00000000000..23519d2bd00 --- /dev/null +++ b/src/synapse/azext_synapse/vendored_sdks/azure_mgmt_synapse/operations/_integration_runtime_status_operations.py @@ -0,0 +1,108 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class IntegrationRuntimeStatusOperations(object): + """IntegrationRuntimeStatusOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2019-06-01-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2019-06-01-preview" + + self.config = config + + def get( + self, resource_group_name, workspace_name, integration_runtime_name, custom_headers=None, raw=False, **operation_config): + """Get integration runtime status. + + Get the integration runtime status. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param workspace_name: The name of the workspace + :type workspace_name: str + :param integration_runtime_name: Integration runtime name + :type integration_runtime_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: IntegrationRuntimeStatusResponse or ClientRawResponse if + raw=true + :rtype: ~azure.mgmt.synapse.models.IntegrationRuntimeStatusResponse or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'workspaceName': self._serialize.url("workspace_name", workspace_name, 'str'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('IntegrationRuntimeStatusResponse', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Synapse/workspaces/{workspaceName}/integrationRuntimes/{integrationRuntimeName}/getStatus'} diff --git a/src/synapse/azext_synapse/vendored_sdks/azure_mgmt_synapse/operations/_integration_runtimes_operations.py b/src/synapse/azext_synapse/vendored_sdks/azure_mgmt_synapse/operations/_integration_runtimes_operations.py new file mode 100644 index 00000000000..356d7d0063f --- /dev/null +++ b/src/synapse/azext_synapse/vendored_sdks/azure_mgmt_synapse/operations/_integration_runtimes_operations.py @@ -0,0 +1,597 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class IntegrationRuntimesOperations(object): + """IntegrationRuntimesOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2019-06-01-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2019-06-01-preview" + + self.config = config + + def update( + self, resource_group_name, workspace_name, integration_runtime_name, auto_update=None, update_delay_offset=None, custom_headers=None, raw=False, **operation_config): + """Update integration runtime. + + Update an integration runtime. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param workspace_name: The name of the workspace + :type workspace_name: str + :param integration_runtime_name: Integration runtime name + :type integration_runtime_name: str + :param auto_update: Enables or disables the auto-update feature of the + self-hosted integration runtime. See + https://go.microsoft.com/fwlink/?linkid=854189. Possible values + include: 'On', 'Off' + :type auto_update: str or + ~azure.mgmt.synapse.models.IntegrationRuntimeAutoUpdate + :param update_delay_offset: The time offset (in hours) in the day, + e.g., PT03H is 3 hours. The integration runtime auto update will + happen on that time. + :type update_delay_offset: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: IntegrationRuntimeResource or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.synapse.models.IntegrationRuntimeResource or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + update_integration_runtime_request = models.UpdateIntegrationRuntimeRequest(auto_update=auto_update, update_delay_offset=update_delay_offset) + + # Construct URL + url = self.update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'workspaceName': self._serialize.url("workspace_name", workspace_name, 'str'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(update_integration_runtime_request, 'UpdateIntegrationRuntimeRequest') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('IntegrationRuntimeResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Synapse/workspaces/{workspaceName}/integrationRuntimes/{integrationRuntimeName}'} + + def get( + self, resource_group_name, workspace_name, integration_runtime_name, if_none_match=None, custom_headers=None, raw=False, **operation_config): + """Get integration runtime. + + Get an integration runtime. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param workspace_name: The name of the workspace + :type workspace_name: str + :param integration_runtime_name: Integration runtime name + :type integration_runtime_name: str + :param if_none_match: ETag of the integration runtime entity. Should + only be specified for get. If the ETag matches the existing entity + tag, or if * was provided, then no content will be returned. + :type if_none_match: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: IntegrationRuntimeResource or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.synapse.models.IntegrationRuntimeResource or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'workspaceName': self._serialize.url("workspace_name", workspace_name, 'str'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 304]: + 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('IntegrationRuntimeResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Synapse/workspaces/{workspaceName}/integrationRuntimes/{integrationRuntimeName}'} + + def create( + self, resource_group_name, workspace_name, integration_runtime_name, properties, if_match=None, custom_headers=None, raw=False, **operation_config): + """Create integration runtime. + + Create an integration runtime. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param workspace_name: The name of the workspace + :type workspace_name: str + :param integration_runtime_name: Integration runtime name + :type integration_runtime_name: str + :param properties: Integration runtime properties. + :type properties: ~azure.mgmt.synapse.models.IntegrationRuntime + :param if_match: ETag of the integration runtime entity. Should only + be specified for update, for which it should match existing entity or + can be * for unconditional update. + :type if_match: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: IntegrationRuntimeResource or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.synapse.models.IntegrationRuntimeResource or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + integration_runtime = models.IntegrationRuntimeResource(properties=properties) + + # Construct URL + url = self.create.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'workspaceName': self._serialize.url("workspace_name", workspace_name, 'str'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + 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(integration_runtime, 'IntegrationRuntimeResource') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('IntegrationRuntimeResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Synapse/workspaces/{workspaceName}/integrationRuntimes/{integrationRuntimeName}'} + + def delete( + self, resource_group_name, workspace_name, integration_runtime_name, custom_headers=None, raw=False, **operation_config): + """Delete integration runtime. + + Delete an integration runtime. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param workspace_name: The name of the workspace + :type workspace_name: str + :param integration_runtime_name: Integration runtime name + :type integration_runtime_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'workspaceName': self._serialize.url("workspace_name", workspace_name, 'str'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Synapse/workspaces/{workspaceName}/integrationRuntimes/{integrationRuntimeName}'} + + def upgrade( + self, resource_group_name, workspace_name, integration_runtime_name, custom_headers=None, raw=False, **operation_config): + """Upgrade integration runtime. + + Upgrade an integration runtime. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param workspace_name: The name of the workspace + :type workspace_name: str + :param integration_runtime_name: Integration runtime name + :type integration_runtime_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.upgrade.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'workspaceName': self._serialize.url("workspace_name", workspace_name, 'str'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + upgrade.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Synapse/workspaces/{workspaceName}/integrationRuntimes/{integrationRuntimeName}/upgrade'} + + def list_by_workspace( + self, resource_group_name, workspace_name, custom_headers=None, raw=False, **operation_config): + """List integration runtimes. + + List all integration runtimes. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param workspace_name: The name of the workspace + :type workspace_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of IntegrationRuntimeResource + :rtype: + ~azure.mgmt.synapse.models.IntegrationRuntimeResourcePaged[~azure.mgmt.synapse.models.IntegrationRuntimeResource] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_workspace.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'workspaceName': self._serialize.url("workspace_name", workspace_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.IntegrationRuntimeResourcePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_workspace.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Synapse/workspaces/{workspaceName}/integrationRuntimes'} + + def start( + self, resource_group_name, workspace_name, integration_runtime_name, custom_headers=None, raw=False, **operation_config): + """Start integration runtime. + + Start an integration runtime. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param workspace_name: The name of the workspace + :type workspace_name: str + :param integration_runtime_name: Integration runtime name + :type integration_runtime_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: IntegrationRuntimeStatusResponse or ClientRawResponse if + raw=true + :rtype: ~azure.mgmt.synapse.models.IntegrationRuntimeStatusResponse or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.start.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'workspaceName': self._serialize.url("workspace_name", workspace_name, 'str'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('IntegrationRuntimeStatusResponse', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + start.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Synapse/workspaces/{workspaceName}/integrationRuntimes/{integrationRuntimeName}/start'} + + def stop( + self, resource_group_name, workspace_name, integration_runtime_name, custom_headers=None, raw=False, **operation_config): + """Stop integration runtime. + + Stop an integration runtime. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param workspace_name: The name of the workspace + :type workspace_name: str + :param integration_runtime_name: Integration runtime name + :type integration_runtime_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.stop.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'workspaceName': self._serialize.url("workspace_name", workspace_name, 'str'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + stop.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Synapse/workspaces/{workspaceName}/integrationRuntimes/{integrationRuntimeName}/stop'} diff --git a/src/synapse/azext_synapse/vendored_sdks/azure_mgmt_synapse/operations/_ip_firewall_rules_operations.py b/src/synapse/azext_synapse/vendored_sdks/azure_mgmt_synapse/operations/_ip_firewall_rules_operations.py index 4d18afbf9bc..4a29b0e7bea 100644 --- a/src/synapse/azext_synapse/vendored_sdks/azure_mgmt_synapse/operations/_ip_firewall_rules_operations.py +++ b/src/synapse/azext_synapse/vendored_sdks/azure_mgmt_synapse/operations/_ip_firewall_rules_operations.py @@ -323,6 +323,70 @@ def get_long_running_output(response): return LROPoller(self._client, raw_result, get_long_running_output, polling_method) delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Synapse/workspaces/{workspaceName}/firewallRules/{ruleName}'} + def get( + self, resource_group_name, workspace_name, rule_name, custom_headers=None, raw=False, **operation_config): + """Get a firewall rule. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param workspace_name: The name of the workspace + :type workspace_name: str + :param rule_name: The IP firewall rule name + :type rule_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: IpFirewallRuleInfo or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.synapse.models.IpFirewallRuleInfo or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorContractException` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'workspaceName': self._serialize.url("workspace_name", workspace_name, 'str'), + 'ruleName': self._serialize.url("rule_name", rule_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorContractException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('IpFirewallRuleInfo', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Synapse/workspaces/{workspaceName}/firewallRules/{ruleName}'} + def _replace_all_initial( self, resource_group_name, workspace_name, ip_firewall_rules=None, custom_headers=None, raw=False, **operation_config): diff --git a/src/synapse/azext_synapse/vendored_sdks/azure_mgmt_synapse/operations/_private_endpoint_connections_operations.py b/src/synapse/azext_synapse/vendored_sdks/azure_mgmt_synapse/operations/_private_endpoint_connections_operations.py new file mode 100644 index 00000000000..960ae586587 --- /dev/null +++ b/src/synapse/azext_synapse/vendored_sdks/azure_mgmt_synapse/operations/_private_endpoint_connections_operations.py @@ -0,0 +1,377 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class PrivateEndpointConnectionsOperations(object): + """PrivateEndpointConnectionsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2019-06-01-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2019-06-01-preview" + + self.config = config + + def get( + self, resource_group_name, workspace_name, private_endpoint_connection_name, custom_headers=None, raw=False, **operation_config): + """Gets a private endpoint connection. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param workspace_name: The name of the workspace + :type workspace_name: str + :param private_endpoint_connection_name: The name of the private + endpoint connection. + :type private_endpoint_connection_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PrivateEndpointConnection or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.synapse.models.PrivateEndpointConnection or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorContractException` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'workspaceName': self._serialize.url("workspace_name", workspace_name, 'str'), + 'privateEndpointConnectionName': self._serialize.url("private_endpoint_connection_name", private_endpoint_connection_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorContractException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('PrivateEndpointConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Synapse/workspaces/{workspaceName}/privateEndpointConnections/{privateEndpointConnectionName}'} + + + def _create_initial( + self, resource_group_name, workspace_name, private_endpoint_connection_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'workspaceName': self._serialize.url("workspace_name", workspace_name, 'str'), + 'privateEndpointConnectionName': self._serialize.url("private_endpoint_connection_name", private_endpoint_connection_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.put(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + raise models.ErrorContractException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('PrivateEndpointConnection', response) + if response.status_code == 201: + deserialized = self._deserialize('PrivateEndpointConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create( + self, resource_group_name, workspace_name, private_endpoint_connection_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Approve or reject a private endpoint connection. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param workspace_name: The name of the workspace + :type workspace_name: str + :param private_endpoint_connection_name: The name of the private + endpoint connection. + :type private_endpoint_connection_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + PrivateEndpointConnection or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.synapse.models.PrivateEndpointConnection] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.synapse.models.PrivateEndpointConnection]] + :raises: + :class:`ErrorContractException` + """ + raw_result = self._create_initial( + resource_group_name=resource_group_name, + workspace_name=workspace_name, + private_endpoint_connection_name=private_endpoint_connection_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('PrivateEndpointConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Synapse/workspaces/{workspaceName}/privateEndpointConnections/{privateEndpointConnectionName}'} + + + def _delete_initial( + self, resource_group_name, workspace_name, private_endpoint_connection_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'workspaceName': self._serialize.url("workspace_name", workspace_name, 'str'), + 'privateEndpointConnectionName': self._serialize.url("private_endpoint_connection_name", private_endpoint_connection_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [202, 204]: + raise models.ErrorContractException(self._deserialize, response) + + deserialized = None + + if response.status_code == 202: + deserialized = self._deserialize('OperationResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def delete( + self, resource_group_name, workspace_name, private_endpoint_connection_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Delete a private endpoint connection. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param workspace_name: The name of the workspace + :type workspace_name: str + :param private_endpoint_connection_name: The name of the private + endpoint connection. + :type private_endpoint_connection_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns OperationResource or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.synapse.models.OperationResource] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.synapse.models.OperationResource]] + :raises: + :class:`ErrorContractException` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + workspace_name=workspace_name, + private_endpoint_connection_name=private_endpoint_connection_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('OperationResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Synapse/workspaces/{workspaceName}/privateEndpointConnections/{privateEndpointConnectionName}'} + + def list( + self, resource_group_name, workspace_name, custom_headers=None, raw=False, **operation_config): + """Lists private endpoint connection in workspace. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param workspace_name: The name of the workspace + :type workspace_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of PrivateEndpointConnection + :rtype: + ~azure.mgmt.synapse.models.PrivateEndpointConnectionPaged[~azure.mgmt.synapse.models.PrivateEndpointConnection] + :raises: + :class:`ErrorContractException` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'workspaceName': self._serialize.url("workspace_name", workspace_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorContractException(self._deserialize, response) + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.PrivateEndpointConnectionPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Synapse/workspaces/{workspaceName}/privateEndpointConnections'} diff --git a/src/synapse/azext_synapse/vendored_sdks/azure_mgmt_synapse/operations/_private_link_resources_operations.py b/src/synapse/azext_synapse/vendored_sdks/azure_mgmt_synapse/operations/_private_link_resources_operations.py new file mode 100644 index 00000000000..4635ad8474c --- /dev/null +++ b/src/synapse/azext_synapse/vendored_sdks/azure_mgmt_synapse/operations/_private_link_resources_operations.py @@ -0,0 +1,183 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class PrivateLinkResourcesOperations(object): + """PrivateLinkResourcesOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2019-06-01-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2019-06-01-preview" + + self.config = config + + def list( + self, resource_group_name, workspace_name, custom_headers=None, raw=False, **operation_config): + """Private Link Resources. + + Get all private link resources for a workspaces. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param workspace_name: The name of the workspace + :type workspace_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of PrivateLinkResource + :rtype: + ~azure.mgmt.synapse.models.PrivateLinkResourcePaged[~azure.mgmt.synapse.models.PrivateLinkResource] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'workspaceName': self._serialize.url("workspace_name", workspace_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.PrivateLinkResourcePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Synapse/workspaces/{workspaceName}/privateLinkResources'} + + def get( + self, resource_group_name, workspace_name, private_link_resource_name, custom_headers=None, raw=False, **operation_config): + """Get Private Link Resource. + + Get private link resource in workspace. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param workspace_name: The name of the workspace + :type workspace_name: str + :param private_link_resource_name: The name of the private link + resource + :type private_link_resource_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PrivateLinkResource or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.synapse.models.PrivateLinkResource or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'workspaceName': self._serialize.url("workspace_name", workspace_name, 'str'), + 'privateLinkResourceName': self._serialize.url("private_link_resource_name", private_link_resource_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('PrivateLinkResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Synapse/workspaces/{workspaceName}/privateLinkResources/{privateLinkResourceName}'} diff --git a/src/synapse/azext_synapse/vendored_sdks/azure_mgmt_synapse/operations/_sql_pools_operations.py b/src/synapse/azext_synapse/vendored_sdks/azure_mgmt_synapse/operations/_sql_pools_operations.py index 1c2940a9f7b..f0516d64e79 100644 --- a/src/synapse/azext_synapse/vendored_sdks/azure_mgmt_synapse/operations/_sql_pools_operations.py +++ b/src/synapse/azext_synapse/vendored_sdks/azure_mgmt_synapse/operations/_sql_pools_operations.py @@ -165,7 +165,7 @@ def update( request = self._client.patch(url, query_parameters, header_parameters, body_content) response = self._client.send(request, stream=False, **operation_config) - if response.status_code not in [200]: + if response.status_code not in [200, 202]: exp = CloudError(response) exp.request_id = response.headers.get('x-ms-request-id') raise exp diff --git a/src/synapse/azext_synapse/vendored_sdks/azure_mgmt_synapse/version.py b/src/synapse/azext_synapse/vendored_sdks/azure_mgmt_synapse/version.py index e0ec669828c..9bd1dfac7ec 100644 --- a/src/synapse/azext_synapse/vendored_sdks/azure_mgmt_synapse/version.py +++ b/src/synapse/azext_synapse/vendored_sdks/azure_mgmt_synapse/version.py @@ -9,5 +9,5 @@ # regenerated. # -------------------------------------------------------------------------- -VERSION = "0.1.0" +VERSION = "0.2.0" diff --git a/src/synapse/setup.py b/src/synapse/setup.py index fcb48949ce5..418ddf3aab9 100644 --- a/src/synapse/setup.py +++ b/src/synapse/setup.py @@ -16,7 +16,7 @@ # TODO: Confirm this is the right version number you want and it matches your # HISTORY.rst entry. -VERSION = '0.1.0' +VERSION = '0.2.0' # The full list of classifiers is available at # https://pypi.python.org/pypi?%3Aaction=list_classifiers diff --git a/src/timeseriesinsights/HISTORY.rst b/src/timeseriesinsights/HISTORY.rst new file mode 100644 index 00000000000..209886aaeed --- /dev/null +++ b/src/timeseriesinsights/HISTORY.rst @@ -0,0 +1,18 @@ +.. :changelog: + +Release History +=============== + +0.1.2 +++++++ + +* Fix #1712: ``--timestamp-property-name`` should be made optional + +0.1.1 +++++++ +* Fix #1657: ``timeSeriesIdPropertyName`` is not parsed properly +* Fix #1658: When creating a new Standard Environment, ``--data-retention-time`` is not properly documented + +0.1.0 +++++++ +* Initial release. diff --git a/src/timeseriesinsights/README.md b/src/timeseriesinsights/README.md new file mode 100644 index 00000000000..f7d0d5f25d6 --- /dev/null +++ b/src/timeseriesinsights/README.md @@ -0,0 +1,95 @@ +Microsoft Azure CLI 'timeseriesinsights' Extension +========================================== + +This package is for the 'timeseriesinsights' extension: + +```sh +az timeseriesinsights +``` + +## Install + +```sh +az extension add --name timeseriesinsights +``` + +## Uninstall + +```sh +az extension remove --name timeseriesinsights +``` + +## Examples + +All commands are for Bash. For PowerShell, please set the variables like + +```powershell +$rg='rg1' +``` + +### Create a resource group for the environments + +```sh +rg={resource_group_name} +az group create --name $rg --location westus +``` + +### Create a standard environment + +```sh +env={standard_environment_name} +az timeseriesinsights environment standard create -g $rg --name $env --location westus --sku-name S1 --sku-capacity 1 --data-retention-time P31D --partition-key DeviceId1 --storage-limit-exceeded-behavior PauseIngress +``` + +### Create a storage account and use it to create a long-term environment + +```sh +storage={storage_account_name} +env_lt={longterm_environment_name} + +az storage account create -g $rg -n $storage --https-only +key=$(az storage account keys list -g $rg -n $storage --query [0].value --output tsv) + +az timeseriesinsights environment longterm create -g $rg --name $env_lt --location westus --sku-name L1 --sku-capacity 1 --data-retention 7 --time-series-id-properties DeviceId1 --storage-account-name $storage --storage-management-key $key +``` + +### Create an event hub and use it to create an event source + +```sh +ehns={eventhub_namespace} +eh={eventhub_name} + +az eventhubs namespace create -g $rg -n $ehns +es_resource_id=$(az eventhubs eventhub create -g $rg -n $eh --namespace-name $ehns --query id --output tsv) +shared_access_key=$(az eventhubs namespace authorization-rule keys list -g $rg --namespace-name $ehns -n RootManageSharedAccessKey --query primaryKey --output tsv) + +az timeseriesinsights event-source eventhub create -g $rg --environment-name $env --name {es1} --key-name RootManageSharedAccessKey --shared-access-key $shared_access_key --event-source-resource-id $es_resource_id --consumer-group-name '$Default' --timestamp-property-name DeviceId +``` + +### Create an IoT hub and use it to create an event source + +```sh +iothub={iothub_name} +es_resource_id=$(az iot hub create -g $rg -n $iothub --query id --output tsv) +shared_access_key=$(az iot hub policy list -g $rg --hub-name $iothub --query "[?keyName=='iothubowner'].primaryKey" --output tsv) +az timeseriesinsights event-source iothub create -g $rg --environment-name $env --name {es2} --consumer-group-name '$Default' --key-name iothubowner --shared-access-key $shared_access_key --event-source-resource-id $es_resource_id --timestamp-property-name DeviceId +``` + +### Create a reference data set + +```sh +az timeseriesinsights reference-data-set create -g $rg --environment-name $env --name {rds} --key-properties DeviceId1 String DeviceFloor Double --data-string-comparison-behavior Ordinal +``` + +### Create an access policy + +```sh +az timeseriesinsights access-policy create -g $rg --environment-name $env --name ap1 --principal-object-id 001 --description "some description" --roles Contributor Reader +``` + +### Delete the environment and all its sub-resources + +```sh +az timeseriesinsights environment delete --resource-group $rg --name $env +az group delete -n $rg +``` diff --git a/src/timeseriesinsights/azext_timeseriesinsights/__init__.py b/src/timeseriesinsights/azext_timeseriesinsights/__init__.py new file mode 100644 index 00000000000..7d4fcf55f01 --- /dev/null +++ b/src/timeseriesinsights/azext_timeseriesinsights/__init__.py @@ -0,0 +1,32 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +from azure.cli.core import AzCommandsLoader + +from azext_timeseriesinsights._help import helps # pylint: disable=unused-import + + +class TimeSeriesInsightsClientCommandsLoader(AzCommandsLoader): + + def __init__(self, cli_ctx=None): + from azure.cli.core.commands import CliCommandType + from azext_timeseriesinsights._client_factory import cf_timeseriesinsights + timeseriesinsights_custom = CliCommandType( + operations_tmpl='azext_timeseriesinsights.custom#{}', + client_factory=cf_timeseriesinsights) + super(TimeSeriesInsightsClientCommandsLoader, self).__init__(cli_ctx=cli_ctx, + custom_command_type=timeseriesinsights_custom) + + def load_command_table(self, args): + from azext_timeseriesinsights.commands import load_command_table + load_command_table(self, args) + return self.command_table + + def load_arguments(self, command): + from azext_timeseriesinsights._params import load_arguments + load_arguments(self, command) + + +COMMAND_LOADER_CLS = TimeSeriesInsightsClientCommandsLoader diff --git a/src/timeseriesinsights/azext_timeseriesinsights/_client_factory.py b/src/timeseriesinsights/azext_timeseriesinsights/_client_factory.py new file mode 100644 index 00000000000..1a0682338b2 --- /dev/null +++ b/src/timeseriesinsights/azext_timeseriesinsights/_client_factory.py @@ -0,0 +1,26 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + + +def cf_timeseriesinsights(cli_ctx, *_): + from azure.cli.core.commands.client_factory import get_mgmt_service_client + from .vendored_sdks.timeseriesinsights import TimeSeriesInsightsClient + return get_mgmt_service_client(cli_ctx, TimeSeriesInsightsClient) + + +def cf_environments(cli_ctx, *_): + return cf_timeseriesinsights(cli_ctx).environments + + +def cf_event_sources(cli_ctx, *_): + return cf_timeseriesinsights(cli_ctx).event_sources + + +def cf_reference_data_sets(cli_ctx, *_): + return cf_timeseriesinsights(cli_ctx).reference_data_sets + + +def cf_access_policies(cli_ctx, *_): + return cf_timeseriesinsights(cli_ctx).access_policies diff --git a/src/timeseriesinsights/azext_timeseriesinsights/_help.py b/src/timeseriesinsights/azext_timeseriesinsights/_help.py new file mode 100644 index 00000000000..f5c6c967cf3 --- /dev/null +++ b/src/timeseriesinsights/azext_timeseriesinsights/_help.py @@ -0,0 +1,292 @@ +# coding=utf-8 +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +# pylint: disable=too-many-lines +# pylint: disable=line-too-long +from knack.help_files import helps # pylint: disable=unused-import + + +helps['timeseriesinsights'] = """ +type: group +short-summary: Manage Azure Time Series Insights. +""" + +helps['timeseriesinsights environment'] = """ +type: group +short-summary: Commands to manage timeseriesinsights environment. +""" + +helps['timeseriesinsights environment standard'] = """ +type: group +short-summary: Create or update a standard environment in the specified subscription and resource group. +""" + +helps['timeseriesinsights environment standard create'] = """ +type: command +short-summary: Create or update a standard environment in the specified subscription and resource group. +examples: + - name: Create a standard environment + text: az timeseriesinsights environment standard create -g {rg} -n {env} --location westus --sku-name S1 --sku-capacity 1 --data-retention-time 31 --partition-key DeviceId1 --storage-limit-exceeded-behavior PauseIngress +""" + +helps['timeseriesinsights environment standard update'] = """ +type: command +short-summary: Update a standard environment in the specified subscription and resource group. +examples: + - name: Update sku capacity + text: az timeseriesinsights environment standard update -g {rg} -n {env} --sku-name S1 --sku-capacity 2 + - name: Update data retention days + text: az timeseriesinsights environment standard update -g {rg} -n {env} --data-retention-time 8 + - name: Update storage limit exceeded behavior + text: az timeseriesinsights environment standard update -g {rg} -n {env} --storage-limit-exceeded-behavior PurgeOldData +""" + +helps['timeseriesinsights environment longterm'] = """ +type: group +short-summary: Create or update a longterm environment in the specified subscription and resource group. +""" + +helps['timeseriesinsights environment longterm create'] = """ +type: command +short-summary: Create or update a longterm environment in the specified subscription and resource group. +examples: + - name: Create storage account and use it to create a longterm environment + text: | + storage=mystorageaccount + rg={rg} + az storage account create -g $rg -n $storage --https-only + key=$(az storage account keys list -g $rg -n $storage --query [0].value --output tsv) + az timeseriesinsights environment longterm create -g $rg -n {env} --location westus --sku-name L1 --sku-capacity 1 --data-retention 7 --time-series-id-properties DeviceId1 --storage-account-name $storage --storage-management-key $key +""" + +helps['timeseriesinsights environment longterm update'] = """ +type: command +short-summary: Update a longterm environment in the specified subscription and resource group. +examples: + - name: Update dataRetention + text: az timeseriesinsights environment longterm update -g {rg} -n {env} --data-retention 8 + - name: Update storageManagementKey + text: az timeseriesinsights environment longterm update -g {rg} -n {env} --storage-management-key xxx +""" + +helps['timeseriesinsights environment delete'] = """ +type: command +short-summary: Delete the environment with the specified name in the specified subscription and resource group. +examples: + - name: Delete an environments + text: |- + az timeseriesinsights environment delete -g {rg} -n {env} +""" + +helps['timeseriesinsights environment show'] = """ +type: command +short-summary: Show the environment with the specified name in the specified subscription and resource group. +examples: + - name: Show an environments + text: |- + az timeseriesinsights environment show -g {rg} -n {env} +""" + +helps['timeseriesinsights environment list'] = """ +type: command +short-summary: List all the available environments associated with the subscription and within the specified resource group. +examples: + - name: List environments by resource group + text: |- + az timeseriesinsights environment list -g {rg} + - name: List environments by subscription + text: |- + az timeseriesinsights environment list +""" + +helps['timeseriesinsights event-source'] = """ +type: group +short-summary: Commands to manage timeseriesinsights event source. +""" + +helps['timeseriesinsights event-source eventhub'] = """ +type: group +short-summary: Create or update an event hub event source under the specified environment. +""" + +helps['timeseriesinsights event-source eventhub create'] = """ +type: command +short-summary: Create or update an event hub event source under the specified environment. +examples: + - name: Create an eventhub and use it for event source + text: | + rg={rg} + ehns={eventhub_namespace} + eh={eventhub_name} + az eventhubs namespace create -g $rg -n $ehns + es_resource_id=$(az eventhubs eventhub create -g $rg -n $eh --namespace-name $ehns --query id --output tsv) + shared_access_key=$(az eventhubs namespace authorization-rule keys list -g $rg --namespace-name $ehns -n RootManageSharedAccessKey --query primaryKey --output tsv) + az timeseriesinsights event-source eventhub create -g $rg --environment-name {env} -n es1 --key-name RootManageSharedAccessKey --shared-access-key $shared_access_key --event-source-resource-id $es_resource_id --consumer-group-name '$Default' --timestamp-property-name DeviceId +""" + +helps['timeseriesinsights event-source eventhub update'] = """ +type: command +short-summary: Create or update an event source under the specified environment. +examples: + - name: Update timestampPropertyName + text: az timeseriesinsights event-source eventhub update -g {rg} --environment-name {env} -n {es} --timestamp-property-name DeviceId1 + - name: Update localTimestamp (Currently only Embedded is supported) + text: az timeseriesinsights event-source eventhub update -g {rg} --environment-name {env} -n {es} --local-timestamp-format Embedded + - name: Update sharedAccessKey + text: az timeseriesinsights event-source eventhub update -g {rg} --environment-name {env} -n {es} --shared-access-key {shared_access_key} +""" + +helps['timeseriesinsights event-source iothub'] = """ +type: group +short-summary: Create or update an iothub event source under the specified environment. +""" + +helps['timeseriesinsights event-source iothub create'] = """ +type: command +short-summary: Create or update an iothub event source under the specified environment. +examples: + - name: Create an iothub and use it for event source + text: | + rg={rg} + iothub={iothub_name} + es_resource_id=$(az iot hub create -g $rg -n $iothub --query id --output tsv) + shared_access_key=$(az iot hub policy list -g $rg --hub-name $iothub --query "[?keyName=='iothubowner'].primaryKey" --output tsv) + az timeseriesinsights event-source iothub create -g $rg --environment-name {env} -n es2 --consumer-group-name '$Default' --key-name iothubowner --shared-access-key $shared_access_key --event-source-resource-id $es_resource_id --timestamp-property-name DeviceId +""" + +helps['timeseriesinsights event-source iothub update'] = """ +type: command +short-summary: Create or update an event source under the specified environment. +examples: + - name: Update timestampPropertyName + text: az timeseriesinsights event-source iothub update -g {rg} --environment-name {env} -n {es} --timestamp-property-name DeviceId1 + - name: Update localTimestamp (Currently only Embedded is supported) + text: az timeseriesinsights event-source iothub update -g {rg} --environment-name {env} -n {es} --local-timestamp-format Embedded + - name: Update sharedAccessKey + text: az timeseriesinsights event-source iothub update -g {rg} --environment-name {env} -n {es} --shared-access-key {shared_access_key} +""" + +helps['timeseriesinsights event-source delete'] = """ +type: command +short-summary: Delete the event source with the specified name in the specified subscription, resource group, and environment +examples: + - name: Delete event-source + text: az timeseriesinsights event-source delete -g {rg} --environment-name {env} -n es1 +""" + +helps['timeseriesinsights event-source show'] = """ +type: command +short-summary: Show the event source with the specified name in the specified environment. +examples: + - name: Show event-source + text: az timeseriesinsights event-source show -g {rg} --environment-name {env} -n es1 +""" + +helps['timeseriesinsights event-source list'] = """ +type: command +short-summary: List all the available event sources associated with the subscription and within the specified resource group and environment. +examples: + - name: List event-source by environment + text: az timeseriesinsights event-source list -g {rg} --environment-name {env} +""" + +helps['timeseriesinsights reference-data-set'] = """ +type: group +short-summary: Commands to manage timeseriesinsights reference data set. +""" + +helps['timeseriesinsights reference-data-set create'] = """ +type: command +short-summary: Create or update a reference data set in the specified environment. +examples: + - name: Create reference-data-set + text: az timeseriesinsights reference-data-set create -g {rg} --environment-name {env} -n {rds} --key-properties DeviceId1 String DeviceFloor Double --data-string-comparison-behavior Ordinal +""" + +helps['timeseriesinsights reference-data-set update'] = """ +type: command +short-summary: Create or update a reference data set in the specified environment. +examples: + - name: Update reference-data-set + text: az timeseriesinsights reference-data-set update -g {rg} --environment-name {env} -n {rds} --tags mykey=myvalue +""" + +helps['timeseriesinsights reference-data-set delete'] = """ +type: command +short-summary: Delete the reference data set with the specified name in the specified subscription, resource group, and environment +examples: + - name: Delete reference-data-set + text: |- + az timeseriesinsights reference-data-set delete -g {rg} --environment-name {env} -n {rds} +""" + +helps['timeseriesinsights reference-data-set show'] = """ +type: command +short-summary: Show the reference data set with the specified name in the specified environment. +examples: + - name: Show reference-data-set + text: |- + az timeseriesinsights reference-data-set show -g {rg} --environment-name {env} -n {rds} +""" + +helps['timeseriesinsights reference-data-set list'] = """ +type: command +short-summary: List all the available reference data sets associated with the subscription and within the specified resource group and environment. +examples: + - name: List reference-data-set by environment + text: |- + az timeseriesinsights reference-data-set list -g {rg} --environment-name {env} +""" + +helps['timeseriesinsights access-policy'] = """ +type: group +short-summary: Commands to manage timeseriesinsights access policy. +""" + +helps['timeseriesinsights access-policy create'] = """ +type: command +short-summary: Create or update an access policy in the specified environment. +examples: + - name: Create access-policy + text: az timeseriesinsights access-policy create -g {rg} --environment-name {env} -n ap1 --principal-object-id 001 --description "some description" --roles Contributor Reader +""" + +helps['timeseriesinsights access-policy update'] = """ +type: command +short-summary: Create or update an access policy in the specified environment. +examples: + - name: Update access-policy + text: |- + az timeseriesinsights access-policy update -g {rg} --environment-name \\ + {env} -n {ap} --roles "Reader,Contributor" +""" + +helps['timeseriesinsights access-policy delete'] = """ +type: command +short-summary: Delete the access policy with the specified name in the specified subscription, resource group, and environment +examples: + - name: Delete access-policy + text: |- + az timeseriesinsights access-policy delete -g {rg} --environment-name {env} -n {ap} +""" + +helps['timeseriesinsights access-policy show'] = """ +type: command +short-summary: Show the access policy with the specified name in the specified environment. +examples: + - name: Get access-policy + text: |- + az timeseriesinsights access-policy show -g {rg} --environment-name {env} -n {ap} +""" + +helps['timeseriesinsights access-policy list'] = """ +type: command +short-summary: List all the available access policies associated with the environment. +examples: + - name: List access-policy by environment + text: |- + az timeseriesinsights access-policy list -g {rg} --environment-name {env} +""" diff --git a/src/timeseriesinsights/azext_timeseriesinsights/_params.py b/src/timeseriesinsights/azext_timeseriesinsights/_params.py new file mode 100644 index 00000000000..04a1aedaa6a --- /dev/null +++ b/src/timeseriesinsights/azext_timeseriesinsights/_params.py @@ -0,0 +1,85 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- +# pylint: disable=line-too-long +# pylint: disable=too-many-lines +# pylint: disable=too-many-statements + +from azure.cli.core.commands.parameters import ( + name_type, + tags_type, + get_enum_type, + get_location_type +) +from azure.cli.core.commands.validators import get_default_location_from_resource_group + +from knack.arguments import CLIArgumentType +from ._validators import iso_8601_timespan + +environment_name_type = CLIArgumentType(id_part='name', help='The name of the Time Series Insights environment associated with the specified resource group.') + + +def load_arguments(self, _): + + with self.argument_context('timeseriesinsights operation list') as c: + pass + + with self.argument_context('timeseriesinsights') as c: + c.argument('location', get_location_type(self.cli_ctx), validator=get_default_location_from_resource_group) + c.argument('tags', tags_type) + + # region environment + with self.argument_context('timeseriesinsights environment') as c: + from .vendored_sdks.timeseriesinsights.models import SkuName + c.argument('environment_name', arg_type=name_type, id_part='name', help='The name of the Time Series Insights environment associated with the specified resource group.') + c.argument('sku_name', arg_group="SKU", arg_type=get_enum_type(SkuName), help='The sku determines the type of environment, either standard (S1 or S2) or long-term (L1). For standard environments the sku determines the capacity of the environment, the ingress rate, and the billing rate.') + c.argument('sku_capacity', type=int, arg_group="SKU", help='The capacity of the sku. For standard environments, this value can be changed to support scale out of environments after they have been created.') + + with self.argument_context('timeseriesinsights environment standard') as c: + from .vendored_sdks.timeseriesinsights.models import StorageLimitExceededBehavior + c.argument('storage_limit_exceeded_behavior', arg_type=get_enum_type(StorageLimitExceededBehavior)) + c.argument('data_retention_time', type=iso_8601_timespan, help='The minimum number of days the environment\'s events will be available for query.') + c.argument('partition_key_properties', nargs='+') + + with self.argument_context('timeseriesinsights environment longterm') as c: + c.argument('storage_account_name', arg_group="Storage Configuration", help='The name of the storage account that will hold the environment\'s long term data.') + c.argument('storage_management_key', arg_group="Storage Configuration", help='The value of the management key that grants the Time Series Insights service write access to the storage account. This property is not shown in environment responses.') + c.argument('time_series_id_properties', nargs='+') + c.argument('data_retention', type=iso_8601_timespan, help='The number of days the environment\'s events will be available for query from the warm store.') + # endregion + + # region event-source + with self.argument_context('timeseriesinsights event-source') as c: + from .vendored_sdks.timeseriesinsights.models import LocalTimestampFormat + c.argument('environment_name', arg_type=environment_name_type) + c.argument('event_source_name', arg_type=name_type, id_part='child_name_1', help='The name of the Time Series Insights event source associated with the specified environment.') + c.argument('local_timestamp_format', arg_group="Local Timestamp", arg_type=get_enum_type(LocalTimestampFormat), help='An enum that represents the format of the local timestamp property that needs to be set. Currently only Embedded is supported.') + c.ignore('time_zone_offset_property_name') + # c.argument('time_zone_offset_property_name', arg_group="Local Timestamp", help='The event property that will be contain the offset information to calculate the local timestamp. When the LocalTimestampFormat is Iana, the property name will contain the name of the column which contains IANA Timezone Name (eg: Americas/Los Angeles). When LocalTimestampFormat is Timespan, it contains the name of property which contains values representing the offset (eg: P1D or 1.00:00:00)') + # endregion + + # region reference-data-set + with self.argument_context('timeseriesinsights reference-data-set') as c: + c.argument('environment_name', arg_type=environment_name_type) + c.argument('reference_data_set_name', arg_type=name_type, id_part='child_name_1', help='Name of the reference data set.') + + with self.argument_context('timeseriesinsights reference-data-set create') as c: + from .vendored_sdks.timeseriesinsights.models import DataStringComparisonBehavior + c.argument('key_properties', nargs='+', help='The list of key properties for the reference data set. Format: NAME TYPE ...') + c.argument('data_string_comparison_behavior', arg_type=get_enum_type(DataStringComparisonBehavior)) + # endregion + + # region access-policy + with self.argument_context('timeseriesinsights access-policy') as c: + from .vendored_sdks.timeseriesinsights.models import AccessPolicyRole + c.argument('environment_name', arg_type=environment_name_type) + c.argument('access_policy_name', arg_type=name_type, id_part='child_name_1', help='The name of the Time Series Insights access policy associated with the specified environment.') + c.argument('principal_object_id') + c.argument('description', help='A description of the access policy.') + c.argument('roles', arg_type=get_enum_type(AccessPolicyRole), nargs='+') + # endregion + + for item in ['event-source', 'reference-data-set', 'access-policy']: + with self.argument_context('timeseriesinsights {} list'.format(item)) as c: + c.argument('environment_name', arg_type=environment_name_type, id_part=None) diff --git a/src/timeseriesinsights/azext_timeseriesinsights/_validators.py b/src/timeseriesinsights/azext_timeseriesinsights/_validators.py new file mode 100644 index 00000000000..d0356324028 --- /dev/null +++ b/src/timeseriesinsights/azext_timeseriesinsights/_validators.py @@ -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. +# -------------------------------------------------------------------------------------------- + + +def iso_8601_timespan(string): + return "P{}D".format(string) diff --git a/src/timeseriesinsights/azext_timeseriesinsights/azext_metadata.json b/src/timeseriesinsights/azext_timeseriesinsights/azext_metadata.json new file mode 100644 index 00000000000..27e30487444 --- /dev/null +++ b/src/timeseriesinsights/azext_timeseriesinsights/azext_metadata.json @@ -0,0 +1,4 @@ +{ + "azext.isExperimental": true, + "azext.minCliCoreVersion": "2.3.1" +} diff --git a/src/timeseriesinsights/azext_timeseriesinsights/commands.py b/src/timeseriesinsights/azext_timeseriesinsights/commands.py new file mode 100644 index 00000000000..5cad4544a53 --- /dev/null +++ b/src/timeseriesinsights/azext_timeseriesinsights/commands.py @@ -0,0 +1,99 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +# pylint: disable=line-too-long +# pylint: disable=too-many-lines +# pylint: disable=too-many-statements +# pylint: disable=too-many-locals +from azure.cli.core.commands import CliCommandType +from azure.cli.core.commands.transform import gen_dict_to_list_transform + + +def load_command_table(self, _): + + with self.command_group('timeseriesinsights', is_experimental=True) as g: + pass + + # region environment + from ._client_factory import cf_environments + timeseriesinsights_environments = CliCommandType( + operations_tmpl='azext_timeseriesinsights.vendored_sdks.timeseriesinsights.operations._environments_operations#EnvironmentsOperations.{}', + client_factory=cf_environments) + + with self.command_group('timeseriesinsights environment standard', timeseriesinsights_environments, client_factory=cf_environments) as g: + g.custom_command('create', 'create_timeseriesinsights_environment_standard', + doc_string_source="azext_timeseriesinsights.vendored_sdks.timeseriesinsights.models#StandardEnvironmentCreateOrUpdateParameters", + supports_no_wait=True) + g.custom_command('update', 'update_timeseriesinsights_environment_standard', + doc_string_source="azext_timeseriesinsights.vendored_sdks.timeseriesinsights.models#StandardEnvironmentCreateOrUpdateParameters", + supports_no_wait=True) + + with self.command_group('timeseriesinsights environment longterm', timeseriesinsights_environments, client_factory=cf_environments) as g: + g.custom_command('create', 'create_timeseriesinsights_environment_longterm', + doc_string_source="azext_timeseriesinsights.vendored_sdks.timeseriesinsights.models#LongTermEnvironmentCreateOrUpdateParameters", + supports_no_wait=True) + g.custom_command('update', 'update_timeseriesinsights_environment_longterm', + doc_string_source="azext_timeseriesinsights.vendored_sdks.timeseriesinsights.models#LongTermEnvironmentUpdateParameters", + supports_no_wait=True) + + with self.command_group('timeseriesinsights environment', timeseriesinsights_environments, client_factory=cf_environments) as g: + g.command('delete', 'delete', confirmation=True) + g.show_command('show', 'get') + g.custom_command('list', 'list_timeseriesinsights_environment', transform=gen_dict_to_list_transform(key='value')) + # endregion + + # region event-source + from ._client_factory import cf_event_sources + timeseriesinsights_event_sources = CliCommandType( + operations_tmpl='azext_timeseriesinsights.vendored_sdks.timeseriesinsights.operations._event_sources_operations#EventSourcesOperations.{}', + client_factory=cf_event_sources) + + with self.command_group('timeseriesinsights event-source eventhub', timeseriesinsights_event_sources, client_factory=cf_event_sources) as g: + g.custom_command('create', 'create_timeseriesinsights_event_source_eventhub', + doc_string_source="azext_timeseriesinsights.vendored_sdks.timeseriesinsights.models#EventHubEventSourceCreateOrUpdateParameters") + g.custom_command('update', 'update_timeseriesinsights_event_source_eventhub', + doc_string_source="azext_timeseriesinsights.vendored_sdks.timeseriesinsights.models#EventHubEventSourceUpdateParameters") + + with self.command_group('timeseriesinsights event-source iothub', timeseriesinsights_event_sources, client_factory=cf_event_sources) as g: + g.custom_command('create', 'create_timeseriesinsights_event_source_iothub', + doc_string_source="azext_timeseriesinsights.vendored_sdks.timeseriesinsights.models#IoTHubEventSourceCreateOrUpdateParameters") + g.custom_command('update', 'update_timeseriesinsights_event_source_iothub', + doc_string_source="azext_timeseriesinsights.vendored_sdks.timeseriesinsights.models#IoTHubEventSourceUpdateParameters") + + with self.command_group('timeseriesinsights event-source', timeseriesinsights_event_sources, client_factory=cf_event_sources) as g: + g.command('delete', 'delete', confirmation=True) + g.show_command('show', 'get') + g.command('list', 'list_by_environment') + # endregion + + # region reference-data-set + from ._client_factory import cf_reference_data_sets + timeseriesinsights_reference_data_sets = CliCommandType( + operations_tmpl='azext_timeseriesinsights.vendored_sdks.timeseriesinsights.operations._reference_data_sets_operations#ReferenceDataSetsOperations.{}', + client_factory=cf_reference_data_sets) + + with self.command_group('timeseriesinsights reference-data-set', timeseriesinsights_reference_data_sets, client_factory=cf_reference_data_sets) as g: + g.custom_command('create', 'create_timeseriesinsights_reference_data_set', + doc_string_source="azext_timeseriesinsights.vendored_sdks.timeseriesinsights.models#ReferenceDataSetCreateOrUpdateParameters") + g.custom_command('update', 'update_timeseriesinsights_reference_data_set') + g.command('delete', 'delete', confirmation=True) + g.show_command('show', 'get') + g.command('list', 'list_by_environment') + # endregion + + # region access-policy + from ._client_factory import cf_access_policies + timeseriesinsights_access_policies = CliCommandType( + operations_tmpl='azext_timeseriesinsights.vendored_sdks.timeseriesinsights.operations._access_policies_operations#AccessPoliciesOperations.{}', + client_factory=cf_access_policies) + with self.command_group('timeseriesinsights access-policy', timeseriesinsights_access_policies, client_factory=cf_access_policies) as g: + g.custom_command('create', 'create_timeseriesinsights_access_policy', + doc_string_source="azext_timeseriesinsights.vendored_sdks.timeseriesinsights.models#AccessPolicyCreateOrUpdateParameters") + g.custom_command('update', 'update_timeseriesinsights_access_policy', + doc_string_source="azext_timeseriesinsights.vendored_sdks.timeseriesinsights.models#AccessPolicyUpdateParameters") + g.command('delete', 'delete', confirmation=True) + g.show_command('show', 'get') + g.command('list', 'list_by_environment') + # endregion diff --git a/src/timeseriesinsights/azext_timeseriesinsights/custom.py b/src/timeseriesinsights/azext_timeseriesinsights/custom.py new file mode 100644 index 00000000000..0626913b448 --- /dev/null +++ b/src/timeseriesinsights/azext_timeseriesinsights/custom.py @@ -0,0 +1,229 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- +# pylint: disable=line-too-long +# pylint: disable=too-many-statements +# pylint: disable=too-many-lines +# pylint: disable=too-many-locals +# pylint: disable=unused-argument + +from azure.cli.core.util import sdk_no_wait + + +def create_timeseriesinsights_environment_standard(cmd, client, + resource_group_name, environment_name, + sku_name, sku_capacity, + data_retention_time, + storage_limit_exceeded_behavior=None, + partition_key_properties=None, + location=None, tags=None, no_wait=False): + from .vendored_sdks.timeseriesinsights.models import StandardEnvironmentCreateOrUpdateParameters, Sku, \ + TimeSeriesIdProperty + + parameters = StandardEnvironmentCreateOrUpdateParameters( + location=location, + tags=tags, + sku=Sku(name=sku_name, capacity=sku_capacity), + data_retention_time=data_retention_time, + storage_limit_exceeded_behavior=storage_limit_exceeded_behavior, + # Need to confirm whether multiple key properties are supported + partition_key_properties=[TimeSeriesIdProperty(name=id_property, type="String") for id_property in partition_key_properties] + ) + return sdk_no_wait(no_wait, client.create_or_update, resource_group_name=resource_group_name, environment_name=environment_name, parameters=parameters) + + +def update_timeseriesinsights_environment_standard(cmd, client, + resource_group_name, environment_name, + sku_name=None, sku_capacity=None, + data_retention_time=None, storage_limit_exceeded_behavior=None, + partition_key_properties=None, tags=None, no_wait=False): + from .vendored_sdks.timeseriesinsights.models import StandardEnvironmentUpdateParameters, Sku, TimeSeriesIdProperty + + parameters = StandardEnvironmentUpdateParameters( + tags=tags, + sku=Sku(name=sku_name, capacity=sku_capacity) if sku_name and sku_capacity else None, + data_retention_time=data_retention_time, + storage_limit_exceeded_behavior=storage_limit_exceeded_behavior, + partition_key_properties=[TimeSeriesIdProperty(name=id_property, type="String") for id_property in partition_key_properties] if partition_key_properties else None + ) + return sdk_no_wait(no_wait, client.update, resource_group_name=resource_group_name, environment_name=environment_name, parameters=parameters) + + +def create_timeseriesinsights_environment_longterm(cmd, client, + resource_group_name, environment_name, + sku_name, sku_capacity, + time_series_id_properties, + storage_account_name, + storage_management_key, + data_retention, + location=None, tags=None, no_wait=False): + from .vendored_sdks.timeseriesinsights.models import LongTermEnvironmentCreateOrUpdateParameters, Sku, \ + TimeSeriesIdProperty, LongTermStorageConfigurationInput + parameters = LongTermEnvironmentCreateOrUpdateParameters( + location=location, + tags=tags, + sku=Sku(name=sku_name, capacity=sku_capacity), + time_series_id_properties=[TimeSeriesIdProperty(name=id_property, type="String") for id_property in time_series_id_properties], + storage_configuration=LongTermStorageConfigurationInput(account_name=storage_account_name, management_key=storage_management_key), + data_retention=data_retention) + return sdk_no_wait(no_wait, client.create_or_update, resource_group_name=resource_group_name, environment_name=environment_name, parameters=parameters) + + +def update_timeseriesinsights_environment_longterm(cmd, client, + resource_group_name, environment_name, + storage_management_key=None, + data_retention=None, + tags=None, no_wait=False): + from .vendored_sdks.timeseriesinsights.models import LongTermEnvironmentUpdateParameters, \ + LongTermStorageConfigurationMutableProperties + parameters = LongTermEnvironmentUpdateParameters( + tags=tags, + storage_configuration=LongTermStorageConfigurationMutableProperties(management_key=storage_management_key) if storage_management_key else None, + data_retention=data_retention) + return sdk_no_wait(no_wait, client.update, resource_group_name=resource_group_name, environment_name=environment_name, parameters=parameters) + + +def list_timeseriesinsights_environment(cmd, client, resource_group_name=None): + if resource_group_name: + return client.list_by_resource_group(resource_group_name=resource_group_name) + return client.list_by_subscription() + + +def create_timeseriesinsights_event_source_eventhub(cmd, client, + resource_group_name, environment_name, event_source_name, + event_source_resource_id, + consumer_group_name, key_name, shared_access_key, + timestamp_property_name=None, + location=None, tags=None): + from azext_timeseriesinsights.vendored_sdks.timeseriesinsights.models import EventHubEventSourceCreateOrUpdateParameters + from msrestazure.tools import parse_resource_id + parsed_id = parse_resource_id(event_source_resource_id) + parameters = EventHubEventSourceCreateOrUpdateParameters( + location=location, + timestamp_property_name=timestamp_property_name, + event_source_resource_id=event_source_resource_id, + service_bus_namespace=parsed_id['name'], + event_hub_name=parsed_id['child_name_1'], + consumer_group_name=consumer_group_name, + key_name=key_name, + shared_access_key=shared_access_key, + tags=tags + ) + return client.create_or_update(resource_group_name=resource_group_name, environment_name=environment_name, event_source_name=event_source_name, parameters=parameters) + + +def update_timeseriesinsights_event_source_eventhub(cmd, client, resource_group_name, environment_name, event_source_name, + timestamp_property_name=None, + local_timestamp_format=None, time_zone_offset_property_name=None, + shared_access_key=None, tags=None): + from .vendored_sdks.timeseriesinsights.models import EventHubEventSourceUpdateParameters, LocalTimestamp, \ + LocalTimestampTimeZoneOffset, LocalTimestampFormat + local_timestamp = None + if local_timestamp_format == LocalTimestampFormat.embedded: + local_timestamp = LocalTimestamp(format=local_timestamp_format) + elif local_timestamp_format and time_zone_offset_property_name: + local_timestamp = LocalTimestamp(format=local_timestamp_format, + time_zone_offset=LocalTimestampTimeZoneOffset(property_name=time_zone_offset_property_name)) + parameters = EventHubEventSourceUpdateParameters(tags=tags, + timestamp_property_name=timestamp_property_name, + local_timestamp=local_timestamp, + shared_access_key=shared_access_key) + + return client.update(resource_group_name=resource_group_name, environment_name=environment_name, event_source_name=event_source_name, + parameters=parameters) + + +def create_timeseriesinsights_event_source_iothub(cmd, client, + resource_group_name, environment_name, event_source_name, + event_source_resource_id, + consumer_group_name, key_name, shared_access_key, + timestamp_property_name=None, + location=None, tags=None): + from .vendored_sdks.timeseriesinsights.models import IoTHubEventSourceCreateOrUpdateParameters + from msrestazure.tools import parse_resource_id + parsed_id = parse_resource_id(event_source_resource_id) + parameters = IoTHubEventSourceCreateOrUpdateParameters( + location=location, + tags=tags, + timestamp_property_name=timestamp_property_name, + event_source_resource_id=event_source_resource_id, + iot_hub_name=parsed_id['name'], + consumer_group_name=consumer_group_name, + key_name=key_name, + shared_access_key=shared_access_key) + return client.create_or_update( + resource_group_name=resource_group_name, environment_name=environment_name, event_source_name=event_source_name, + parameters=parameters) + + +def update_timeseriesinsights_event_source_iothub(cmd, client, + resource_group_name, environment_name, event_source_name, + timestamp_property_name=None, + local_timestamp_format=None, time_zone_offset_property_name=None, + shared_access_key=None, + tags=None): + from .vendored_sdks.timeseriesinsights.models import IoTHubEventSourceUpdateParameters, LocalTimestamp, \ + LocalTimestampTimeZoneOffset, LocalTimestampFormat + local_timestamp = None + if local_timestamp_format == LocalTimestampFormat.embedded: + local_timestamp = LocalTimestamp(format=local_timestamp_format) + elif local_timestamp_format and time_zone_offset_property_name: + local_timestamp = LocalTimestamp(format=local_timestamp_format, + time_zone_offset=LocalTimestampTimeZoneOffset(property_name=time_zone_offset_property_name)) + parameters = IoTHubEventSourceUpdateParameters( + tags=tags, + timestamp_property_name=timestamp_property_name, + local_timestamp=local_timestamp, + shared_access_key=shared_access_key + ) + return client.update(resource_group_name=resource_group_name, environment_name=environment_name, event_source_name=event_source_name, parameters=parameters) + + +def create_timeseriesinsights_reference_data_set(cmd, client, + resource_group_name, environment_name, reference_data_set_name, + key_properties, data_string_comparison_behavior, + location=None, tags=None): + from .vendored_sdks.timeseriesinsights.models import ReferenceDataSetCreateOrUpdateParameters, \ + ReferenceDataSetKeyProperty + + key_properties_list = [] + key_property_count, remaining = divmod(len(key_properties), 2) + if remaining: + from knack.util import CLIError + raise CLIError("Usage error: --key-properties NAME TYPE ...") + + for _ in range(0, key_property_count): + # eg. --key-properties DeviceId1 String DeviceFloor Double + key_properties_list.append(ReferenceDataSetKeyProperty(name=key_properties.pop(0), type=key_properties.pop(0))) + + parameters = ReferenceDataSetCreateOrUpdateParameters( + location=location, + tags=tags, + key_properties=key_properties_list, + data_string_comparison_behavior=data_string_comparison_behavior + ) + + return client.create_or_update(resource_group_name=resource_group_name, environment_name=environment_name, reference_data_set_name=reference_data_set_name, parameters=parameters) + + +def update_timeseriesinsights_reference_data_set(cmd, client, + resource_group_name, environment_name, reference_data_set_name, + tags=None): + return client.update(resource_group_name=resource_group_name, environment_name=environment_name, reference_data_set_name=reference_data_set_name, tags=tags) + + +def create_timeseriesinsights_access_policy(cmd, client, + resource_group_name, environment_name, access_policy_name, + principal_object_id=None, description=None, roles=None): + from .vendored_sdks.timeseriesinsights.models import AccessPolicyCreateOrUpdateParameters + parameters = AccessPolicyCreateOrUpdateParameters( + principal_object_id=principal_object_id, + description=description, + roles=roles) + return client.create_or_update(resource_group_name=resource_group_name, environment_name=environment_name, access_policy_name=access_policy_name, parameters=parameters) + + +def update_timeseriesinsights_access_policy(cmd, client, resource_group_name, environment_name, access_policy_name, + description=None, roles=None): + return client.update(resource_group_name=resource_group_name, environment_name=environment_name, access_policy_name=access_policy_name, description=description, roles=roles) diff --git a/src/timeseriesinsights/azext_timeseriesinsights/tests/latest/recordings/test_timeseriesinsights_access_policy.yaml b/src/timeseriesinsights/azext_timeseriesinsights/tests/latest/recordings/test_timeseriesinsights_access_policy.yaml new file mode 100644 index 00000000000..add6493dd29 --- /dev/null +++ b/src/timeseriesinsights/azext_timeseriesinsights/tests/latest/recordings/test_timeseriesinsights_access_policy.yaml @@ -0,0 +1,465 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - timeseriesinsights environment standard create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --sku-name --sku-capacity --data-retention-time --partition-key-properties + --storage-limit-exceeded-behavior + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_timeseriesinsights000001?api-version=2019-07-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001","name":"cli_test_timeseriesinsights000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2020-05-18T07:05:29Z","StorageType":"Standard_LRS","type":"test"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '471' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 18 May 2020 07:05:34 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"location": "westus", "sku": {"name": "S1", "capacity": 1}, "kind": "Standard", + "properties": {"dataRetentionTime": "P31D", "storageLimitExceededBehavior": + "PauseIngress", "partitionKeyProperties": [{"name": "DeviceId1", "type": "String"}]}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - timeseriesinsights environment standard create + Connection: + - keep-alive + Content-Length: + - '242' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - --resource-group --name --sku-name --sku-capacity --data-retention-time --partition-key-properties + --storage-limit-exceeded-behavior + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-timeseriesinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-env000002?api-version=2018-08-15-preview + response: + body: + string: '{"sku":{"name":"S1","capacity":1},"kind":"Standard","location":"westus","tags":null,"properties":{"dataRetentionTime":"P31D","storageLimitExceededBehavior":"PauseIngress","partitionKeyProperties":[{"name":"DeviceId1","type":"String"}],"creationTime":"2020-05-18T07:05:46.6439947+00:00","provisioningState":"Accepted","dataAccessId":"38c2b3bb-202d-409b-b6af-13165ba509ef","dataAccessFqdn":"38c2b3bb-202d-409b-b6af-13165ba509ef.env.timeseries.azure.com","requestApiVersion":"2018-08-15-preview"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-env000002","name":"cli-test-tsi-env000002","type":"Microsoft.TimeSeriesInsights/Environments"}' + headers: + cache-control: + - no-cache + content-length: + - '806' + content-type: + - application/json + date: + - Mon, 18 May 2020 07:05:48 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1189' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - timeseriesinsights environment standard create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --sku-name --sku-capacity --data-retention-time --partition-key-properties + --storage-limit-exceeded-behavior + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-timeseriesinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-env000002?api-version=2018-08-15-preview + response: + body: + string: '{"sku":{"name":"S1","capacity":1},"kind":"Standard","location":"westus","tags":null,"properties":{"dataRetentionTime":"P31D","storageLimitExceededBehavior":"PauseIngress","partitionKeyProperties":[{"name":"DeviceId1","type":"String"}],"creationTime":"2020-05-18T07:05:46.6439947Z","provisioningState":"Succeeded","requestApiVersion":"2018-08-15-preview","dataAccessId":"38c2b3bb-202d-409b-b6af-13165ba509ef","dataAccessFqdn":"38c2b3bb-202d-409b-b6af-13165ba509ef.env.timeseries.azure.com"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-env000002","name":"cli-test-tsi-env000002","type":"Microsoft.TimeSeriesInsights/Environments"}' + headers: + cache-control: + - no-cache + content-length: + - '802' + content-type: + - application/json + date: + - Mon, 18 May 2020 07:06:19 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"properties": {"principalObjectId": "001", "description": "some description", + "roles": ["Contributor", "Reader"]}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - timeseriesinsights access-policy create + Connection: + - keep-alive + Content-Length: + - '115' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -g --environment-name --name --principal-object-id --description --roles + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-timeseriesinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-env000002/accessPolicies/ap1?api-version=2018-08-15-preview + response: + body: + string: '{"properties":{"principalObjectId":"001","description":"some description","roles":["Contributor","Reader"]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-env000002/accesspolicies/ap1","name":"ap1","type":"Microsoft.TimeSeriesInsights/Environments/AccessPolicies"}' + headers: + cache-control: + - no-cache + content-length: + - '433' + content-type: + - application/json + date: + - Mon, 18 May 2020 07:06:22 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1188' + status: + code: 200 + message: OK +- request: + body: '{"properties": {"description": "some description updated"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - timeseriesinsights access-policy update + Connection: + - keep-alive + Content-Length: + - '59' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -g --environment-name --name --description + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-timeseriesinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-env000002/accessPolicies/ap1?api-version=2018-08-15-preview + response: + body: + string: '{"properties":{"principalObjectId":"001","description":"some description + updated","roles":["Contributor","Reader"]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-env000002/accesspolicies/ap1","name":"ap1","type":"Microsoft.TimeSeriesInsights/Environments/AccessPolicies"}' + headers: + cache-control: + - no-cache + content-length: + - '441' + content-type: + - application/json + date: + - Mon, 18 May 2020 07:06:23 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1187' + status: + code: 200 + message: OK +- request: + body: '{"properties": {"roles": ["Contributor"]}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - timeseriesinsights access-policy update + Connection: + - keep-alive + Content-Length: + - '42' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -g --environment-name --name --roles + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-timeseriesinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-env000002/accessPolicies/ap1?api-version=2018-08-15-preview + response: + body: + string: '{"properties":{"principalObjectId":"001","description":"some description + updated","roles":["Contributor"]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-env000002/accesspolicies/ap1","name":"ap1","type":"Microsoft.TimeSeriesInsights/Environments/AccessPolicies"}' + headers: + cache-control: + - no-cache + content-length: + - '432' + content-type: + - application/json + date: + - Mon, 18 May 2020 07:06:25 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1194' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - timeseriesinsights access-policy show + Connection: + - keep-alive + ParameterSetName: + - -g --environment-name --name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-timeseriesinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-env000002/accessPolicies/ap1?api-version=2018-08-15-preview + response: + body: + string: '{"properties":{"principalObjectId":"001","description":"some description + updated","roles":["Contributor"]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-env000002/accesspolicies/ap1","name":"ap1","type":"Microsoft.TimeSeriesInsights/Environments/AccessPolicies"}' + headers: + cache-control: + - no-cache + content-length: + - '432' + content-type: + - application/json + date: + - Mon, 18 May 2020 07:06:27 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - timeseriesinsights access-policy list + Connection: + - keep-alive + ParameterSetName: + - -g --environment-name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-timeseriesinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-env000002/accessPolicies?api-version=2018-08-15-preview + response: + body: + string: '{"value":[{"properties":{"principalObjectId":"001","description":"some + description updated","roles":["Contributor"]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-env000002/accesspolicies/ap1","name":"ap1","type":"Microsoft.TimeSeriesInsights/Environments/AccessPolicies"}]}' + headers: + cache-control: + - no-cache + content-length: + - '444' + content-type: + - application/json + date: + - Mon, 18 May 2020 07:06:28 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - timeseriesinsights access-policy delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g --environment-name --name --yes + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-timeseriesinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-env000002/accessPolicies/ap1?api-version=2018-08-15-preview + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Mon, 18 May 2020 07:06:29 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14998' + status: + code: 200 + message: OK +version: 1 diff --git a/src/timeseriesinsights/azext_timeseriesinsights/tests/latest/recordings/test_timeseriesinsights_environment.yaml b/src/timeseriesinsights/azext_timeseriesinsights/tests/latest/recordings/test_timeseriesinsights_environment.yaml new file mode 100644 index 00000000000..28deed36bc0 --- /dev/null +++ b/src/timeseriesinsights/azext_timeseriesinsights/tests/latest/recordings/test_timeseriesinsights_environment.yaml @@ -0,0 +1,656 @@ +interactions: +- request: + body: '{"location": "westus", "sku": {"name": "S1", "capacity": 1}, "kind": "Standard", + "properties": {"dataRetentionTime": "P7D", "storageLimitExceededBehavior": "PauseIngress", + "partitionKeyProperties": [{"name": "DeviceId1", "type": "String"}]}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - timeseriesinsights environment standard create + Connection: + - keep-alive + Content-Length: + - '241' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - --resource-group --name --location --sku-name --sku-capacity --data-retention-time + --partition-key-properties --storage-limit-exceeded-behavior + User-Agent: + - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.3 + azure-mgmt-timeseriesinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.3.1 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/env1?api-version=2018-08-15-preview + response: + body: + string: '{"sku":{"name":"S1","capacity":1},"kind":"Standard","location":"westus","tags":null,"properties":{"dataRetentionTime":"P7D","storageLimitExceededBehavior":"PauseIngress","partitionKeyProperties":[{"name":"DeviceId1","type":"String"}],"creationTime":"2020-04-09T06:30:46+00:00","provisioningState":"Accepted","dataAccessId":"2692351f-dd20-4ae0-aef0-77396b0ca167","dataAccessFqdn":"2692351f-dd20-4ae0-aef0-77396b0ca167.env.timeseries.azure.com","requestApiVersion":"2018-08-15-preview"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/env1","name":"env1","type":"Microsoft.TimeSeriesInsights/Environments"}' + headers: + cache-control: + - no-cache + content-length: + - '757' + content-type: + - application/json + date: + - Thu, 09 Apr 2020 06:30:48 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - timeseriesinsights environment standard create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --sku-name --sku-capacity --data-retention-time + --partition-key-properties --storage-limit-exceeded-behavior + User-Agent: + - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.3 + azure-mgmt-timeseriesinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.3.1 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/env1?api-version=2018-08-15-preview + response: + body: + string: '{"sku":{"name":"S1","capacity":1},"kind":"Standard","location":"westus","tags":null,"properties":{"dataRetentionTime":"P7D","storageLimitExceededBehavior":"PauseIngress","partitionKeyProperties":[{"name":"DeviceId1","type":"String"}],"creationTime":"Thu, + 09 Apr 2020 06:30:46 GMT","provisioningState":"Succeeded","requestApiVersion":"2018-08-15-preview","dataAccessId":"2692351f-dd20-4ae0-aef0-77396b0ca167","dataAccessFqdn":"2692351f-dd20-4ae0-aef0-77396b0ca167.env.timeseries.azure.com"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/env1","name":"env1","type":"Microsoft.TimeSeriesInsights/Environments"}' + headers: + cache-control: + - no-cache + content-length: + - '762' + content-type: + - application/json + date: + - Thu, 09 Apr 2020 06:31:19 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage account keys list + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g -n + User-Agent: + - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.3 + azure-mgmt-storage/9.0.0 Azure-SDK-For-Python AZURECLI/2.3.1 + accept-language: + - en-US + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2019-06-01 + response: + body: + string: '{"keys":[{"keyName":"key1","value":"veryFakedStorageAccountKey==","permissions":"FULL"},{"keyName":"key2","value":"veryFakedStorageAccountKey==","permissions":"FULL"}]}' + headers: + cache-control: + - no-cache + content-length: + - '288' + content-type: + - application/json + date: + - Thu, 09 Apr 2020 06:31:22 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11997' + status: + code: 200 + message: OK +- request: + body: 'b''{"location": "westus", "sku": {"name": "L1", "capacity": 1}, "kind": + "LongTerm", "properties": {"timeSeriesIdProperties": [{"name": "[\''DeviceId1\'']", + "type": "String"}], "storageConfiguration": {"accountName": "clitest000002", + "managementKey": "veryFakedStorageAccountKey=="}, "warmStoreConfiguration": + {"dataRetention": "P7D"}}}''' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - timeseriesinsights environment longterm create + Connection: + - keep-alive + Content-Length: + - '399' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - --resource-group --name --location --sku-name --sku-capacity --data-retention + --time-series-id-properties --storage-account-name --storage-management-key + User-Agent: + - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.3 + azure-mgmt-timeseriesinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.3.1 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/env2?api-version=2018-08-15-preview + response: + body: + string: '{"sku":{"name":"L1","capacity":1},"kind":"LongTerm","location":"westus","tags":null,"properties":{"timeSeriesIdProperties":[{"name":"[''DeviceId1'']","type":"String"}],"storageConfiguration":{"accountName":"clitest000002"},"warmStoreConfiguration":{"dataRetention":"P7D"},"creationTime":"2020-04-09T06:31:30+00:00","provisioningState":"Accepted","dataAccessId":"6c66cdbc-2fd7-46bb-a2b0-c72e70e79333","dataAccessFqdn":"6c66cdbc-2fd7-46bb-a2b0-c72e70e79333.env.timeseries.azure.com","requestApiVersion":"2018-08-15-preview"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/env2","name":"env2","type":"Microsoft.TimeSeriesInsights/Environments"}' + headers: + cache-control: + - no-cache + content-length: + - '804' + content-type: + - application/json + date: + - Thu, 09 Apr 2020 06:31:32 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - timeseriesinsights environment longterm create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --sku-name --sku-capacity --data-retention + --time-series-id-properties --storage-account-name --storage-management-key + User-Agent: + - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.3 + azure-mgmt-timeseriesinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.3.1 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/env2?api-version=2018-08-15-preview + response: + body: + string: '{"sku":{"name":"L1","capacity":1},"kind":"LongTerm","location":"westus","tags":null,"properties":{"timeSeriesIdProperties":[{"name":"[''DeviceId1'']","type":"String"}],"storageConfiguration":{"accountName":"clitest000002"},"warmStoreConfiguration":{"dataRetention":"P7D"},"creationTime":"Thu, + 09 Apr 2020 06:31:30 GMT","provisioningState":"Creating","requestApiVersion":"2018-08-15-preview","dataAccessId":"6c66cdbc-2fd7-46bb-a2b0-c72e70e79333","dataAccessFqdn":"6c66cdbc-2fd7-46bb-a2b0-c72e70e79333.env.timeseries.azure.com"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/env2","name":"env2","type":"Microsoft.TimeSeriesInsights/Environments"}' + headers: + cache-control: + - no-cache + content-length: + - '808' + content-type: + - application/json + date: + - Thu, 09 Apr 2020 06:32:04 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - timeseriesinsights environment longterm create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --sku-name --sku-capacity --data-retention + --time-series-id-properties --storage-account-name --storage-management-key + User-Agent: + - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.3 + azure-mgmt-timeseriesinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.3.1 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/env2?api-version=2018-08-15-preview + response: + body: + string: '{"sku":{"name":"L1","capacity":1},"kind":"LongTerm","location":"westus","tags":null,"properties":{"timeSeriesIdProperties":[{"name":"[''DeviceId1'']","type":"String"}],"storageConfiguration":{"accountName":"clitest000002"},"warmStoreConfiguration":{"dataRetention":"P7D"},"creationTime":"Thu, + 09 Apr 2020 06:31:30 GMT","provisioningState":"Creating","requestApiVersion":"2018-08-15-preview","dataAccessId":"6c66cdbc-2fd7-46bb-a2b0-c72e70e79333","dataAccessFqdn":"6c66cdbc-2fd7-46bb-a2b0-c72e70e79333.env.timeseries.azure.com"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/env2","name":"env2","type":"Microsoft.TimeSeriesInsights/Environments"}' + headers: + cache-control: + - no-cache + content-length: + - '808' + content-type: + - application/json + date: + - Thu, 09 Apr 2020 06:32:35 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - timeseriesinsights environment longterm create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --sku-name --sku-capacity --data-retention + --time-series-id-properties --storage-account-name --storage-management-key + User-Agent: + - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.3 + azure-mgmt-timeseriesinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.3.1 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/env2?api-version=2018-08-15-preview + response: + body: + string: '{"sku":{"name":"L1","capacity":1},"kind":"LongTerm","location":"westus","tags":null,"properties":{"timeSeriesIdProperties":[{"name":"[''DeviceId1'']","type":"String"}],"storageConfiguration":{"accountName":"clitest000002"},"warmStoreConfiguration":{"dataRetention":"P7D"},"creationTime":"Thu, + 09 Apr 2020 06:31:30 GMT","provisioningState":"Succeeded","requestApiVersion":"2018-08-15-preview","dataAccessId":"6c66cdbc-2fd7-46bb-a2b0-c72e70e79333","dataAccessFqdn":"6c66cdbc-2fd7-46bb-a2b0-c72e70e79333.env.timeseries.azure.com"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/env2","name":"env2","type":"Microsoft.TimeSeriesInsights/Environments"}' + headers: + cache-control: + - no-cache + content-length: + - '809' + content-type: + - application/json + date: + - Thu, 09 Apr 2020 06:33:05 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - timeseriesinsights environment show + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name + User-Agent: + - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.3 + azure-mgmt-timeseriesinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.3.1 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/env1?api-version=2018-08-15-preview + response: + body: + string: '{"sku":{"name":"S1","capacity":1},"kind":"Standard","location":"westus","tags":null,"properties":{"dataRetentionTime":"P7D","storageLimitExceededBehavior":"PauseIngress","partitionKeyProperties":[{"name":"DeviceId1","type":"String"}],"creationTime":"Thu, + 09 Apr 2020 06:30:46 GMT","provisioningState":"Succeeded","requestApiVersion":"2018-08-15-preview","dataAccessId":"2692351f-dd20-4ae0-aef0-77396b0ca167","dataAccessFqdn":"2692351f-dd20-4ae0-aef0-77396b0ca167.env.timeseries.azure.com"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/env1","name":"env1","type":"Microsoft.TimeSeriesInsights/Environments"}' + headers: + cache-control: + - no-cache + content-length: + - '762' + content-type: + - application/json + date: + - Thu, 09 Apr 2020 06:33:09 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - timeseriesinsights environment show + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name + User-Agent: + - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.3 + azure-mgmt-timeseriesinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.3.1 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/env2?api-version=2018-08-15-preview + response: + body: + string: '{"sku":{"name":"L1","capacity":1},"kind":"LongTerm","location":"westus","tags":null,"properties":{"timeSeriesIdProperties":[{"name":"[''DeviceId1'']","type":"String"}],"storageConfiguration":{"accountName":"clitest000002"},"warmStoreConfiguration":{"dataRetention":"P7D"},"creationTime":"Thu, + 09 Apr 2020 06:31:30 GMT","provisioningState":"Succeeded","requestApiVersion":"2018-08-15-preview","dataAccessId":"6c66cdbc-2fd7-46bb-a2b0-c72e70e79333","dataAccessFqdn":"6c66cdbc-2fd7-46bb-a2b0-c72e70e79333.env.timeseries.azure.com"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/env2","name":"env2","type":"Microsoft.TimeSeriesInsights/Environments"}' + headers: + cache-control: + - no-cache + content-length: + - '809' + content-type: + - application/json + date: + - Thu, 09 Apr 2020 06:33:11 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - timeseriesinsights environment list + Connection: + - keep-alive + ParameterSetName: + - --resource-group + User-Agent: + - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.3 + azure-mgmt-timeseriesinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.3.1 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments?api-version=2018-08-15-preview + response: + body: + string: '{"value":[{"sku":{"name":"L1","capacity":1},"kind":"LongTerm","location":"westus","tags":null,"properties":{"timeSeriesIdProperties":[{"name":"[''DeviceId1'']","type":"String"}],"storageConfiguration":{"accountName":"clitest000002"},"warmStoreConfiguration":{"dataRetention":"P7D"},"creationTime":"Thu, + 09 Apr 2020 06:31:30 GMT","provisioningState":"Succeeded","requestApiVersion":"2018-08-15-preview","dataAccessId":"6c66cdbc-2fd7-46bb-a2b0-c72e70e79333","dataAccessFqdn":"6c66cdbc-2fd7-46bb-a2b0-c72e70e79333.env.timeseries.azure.com"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/env2","name":"env2","type":"Microsoft.TimeSeriesInsights/Environments"},{"sku":{"name":"S1","capacity":1},"kind":"Standard","location":"westus","tags":null,"properties":{"dataRetentionTime":"P7D","storageLimitExceededBehavior":"PauseIngress","partitionKeyProperties":[{"name":"DeviceId1","type":"String"}],"creationTime":"Thu, + 09 Apr 2020 06:30:46 GMT","provisioningState":"Succeeded","requestApiVersion":"2018-08-15-preview","dataAccessId":"2692351f-dd20-4ae0-aef0-77396b0ca167","dataAccessFqdn":"2692351f-dd20-4ae0-aef0-77396b0ca167.env.timeseries.azure.com"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/env1","name":"env1","type":"Microsoft.TimeSeriesInsights/Environments"}]}' + headers: + cache-control: + - no-cache + content-length: + - '1584' + content-type: + - application/json + date: + - Thu, 09 Apr 2020 06:33:14 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - timeseriesinsights environment list + Connection: + - keep-alive + User-Agent: + - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.3 + azure-mgmt-timeseriesinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.3.1 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.TimeSeriesInsights/environments?api-version=2018-08-15-preview + response: + body: + string: '{"value":[{"sku":{"name":"L1","capacity":1},"kind":"LongTerm","location":"westus","tags":null,"properties":{"timeSeriesIdProperties":[{"name":"[''DeviceId1'']","type":"String"}],"storageConfiguration":{"accountName":"clitest000002"},"warmStoreConfiguration":{"dataRetention":"P7D"},"creationTime":"Thu, + 09 Apr 2020 06:31:30 GMT","provisioningState":"Succeeded","requestApiVersion":"2018-08-15-preview","dataAccessId":"6c66cdbc-2fd7-46bb-a2b0-c72e70e79333","dataAccessFqdn":"6c66cdbc-2fd7-46bb-a2b0-c72e70e79333.env.timeseries.azure.com"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/env2","name":"env2","type":"Microsoft.TimeSeriesInsights/Environments"},{"sku":{"name":"S1","capacity":1},"kind":"Standard","location":"westus","tags":null,"properties":{"dataRetentionTime":"P7D","storageLimitExceededBehavior":"PauseIngress","partitionKeyProperties":[{"name":"DeviceId1","type":"String"}],"creationTime":"Thu, + 09 Apr 2020 03:39:01 GMT","provisioningState":"Succeeded","requestApiVersion":"2018-08-15-preview","dataAccessId":"d38f6ddf-2f42-4524-a467-7fb2635bc0de","dataAccessFqdn":"d38f6ddf-2f42-4524-a467-7fb2635bc0de.env.timeseries.azure.com"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.TimeSeriesInsights/environments/env1","name":"env1","type":"Microsoft.TimeSeriesInsights/Environments"},{"sku":{"name":"S1","capacity":1},"kind":"Standard","location":"westus","tags":null,"properties":{"dataRetentionTime":"P7D","storageLimitExceededBehavior":"PauseIngress","partitionKeyProperties":[{"name":"DeviceId1","type":"String"}],"creationTime":"Thu, + 09 Apr 2020 06:30:46 GMT","provisioningState":"Succeeded","requestApiVersion":"2018-08-15-preview","dataAccessId":"2692351f-dd20-4ae0-aef0-77396b0ca167","dataAccessFqdn":"2692351f-dd20-4ae0-aef0-77396b0ca167.env.timeseries.azure.com"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/env1","name":"env1","type":"Microsoft.TimeSeriesInsights/Environments"}]}' + headers: + cache-control: + - no-cache + content-length: + - '2275' + content-type: + - application/json + date: + - Thu, 09 Apr 2020 06:33:16 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - timeseriesinsights environment delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --resource-group --name + User-Agent: + - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.3 + azure-mgmt-timeseriesinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.3.1 + accept-language: + - en-US + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/env1?api-version=2018-08-15-preview + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Thu, 09 Apr 2020 06:33:22 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14998' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - timeseriesinsights environment delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --resource-group --name + User-Agent: + - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.3 + azure-mgmt-timeseriesinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.3.1 + accept-language: + - en-US + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/env2?api-version=2018-08-15-preview + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Thu, 09 Apr 2020 06:33:27 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14998' + status: + code: 200 + message: OK +version: 1 diff --git a/src/timeseriesinsights/azext_timeseriesinsights/tests/latest/recordings/test_timeseriesinsights_environment_longterm.yaml b/src/timeseriesinsights/azext_timeseriesinsights/tests/latest/recordings/test_timeseriesinsights_environment_longterm.yaml new file mode 100644 index 00000000000..31db66c46b4 --- /dev/null +++ b/src/timeseriesinsights/azext_timeseriesinsights/tests/latest/recordings/test_timeseriesinsights_environment_longterm.yaml @@ -0,0 +1,322 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage account keys list + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g -n --query --output + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-storage/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2019-06-01 + response: + body: + string: '{"keys":[{"keyName":"key1","value":"veryFakedStorageAccountKey==","permissions":"FULL"},{"keyName":"key2","value":"veryFakedStorageAccountKey==","permissions":"FULL"}]}' + headers: + cache-control: + - no-cache + content-length: + - '288' + content-type: + - application/json + date: + - Mon, 18 May 2020 07:05:59 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - timeseriesinsights environment longterm create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --sku-name --sku-capacity --data-retention --time-series-id-properties + --storage-account-name --storage-management-key + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_timeseriesinsights000001?api-version=2019-07-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001","name":"cli_test_timeseriesinsights000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2020-05-18T07:05:29Z","StorageType":"Standard_LRS","type":"test"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '471' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 18 May 2020 07:06:00 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: 'b''{"location": "westus", "sku": {"name": "L1", "capacity": 1}, "kind": + "LongTerm", "properties": {"timeSeriesIdProperties": [{"name": "DeviceId1", + "type": "String"}], "storageConfiguration": {"accountName": "clitest000002", + "managementKey": "veryFakedStorageAccountKey=="}, "warmStoreConfiguration": + {"dataRetention": "P7D"}}}''' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - timeseriesinsights environment longterm create + Connection: + - keep-alive + Content-Length: + - '395' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - --resource-group --name --sku-name --sku-capacity --data-retention --time-series-id-properties + --storage-account-name --storage-management-key + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-timeseriesinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-env000003?api-version=2018-08-15-preview + response: + body: + string: '{"sku":{"name":"L1","capacity":1},"kind":"LongTerm","location":"westus","tags":null,"properties":{"timeSeriesIdProperties":[{"name":"DeviceId1","type":"String"}],"storageConfiguration":{"accountName":"clitest000002"},"warmStoreConfiguration":{"dataRetention":"P7D"},"creationTime":"2020-05-18T07:06:07.0622679+00:00","provisioningState":"Succeeded","dataAccessId":"d6ad1bd9-084f-403c-bf5f-cab12ef5ad28","dataAccessFqdn":"d6ad1bd9-084f-403c-bf5f-cab12ef5ad28.env.timeseries.azure.com","requestApiVersion":"2018-08-15-preview"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-env000003","name":"cli-test-tsi-env000003","type":"Microsoft.TimeSeriesInsights/Environments"}' + headers: + cache-control: + - no-cache + content-length: + - '849' + content-type: + - application/json + date: + - Mon, 18 May 2020 07:06:08 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1190' + status: + code: 201 + message: Created +- request: + body: '{"properties": {"warmStoreConfiguration": {"dataRetention": "P8D"}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - timeseriesinsights environment longterm update + Connection: + - keep-alive + Content-Length: + - '68' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - --resource-group --name --data-retention + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-timeseriesinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-env000003?api-version=2018-08-15-preview + response: + body: + string: '{"sku":{"name":"L1","capacity":1},"kind":"LongTerm","location":"WestUs","tags":{},"properties":{"timeSeriesIdProperties":[{"name":"DeviceId1","type":"String"}],"storageConfiguration":{"accountName":"clitest000002"},"warmStoreConfiguration":{"dataRetention":"P8D"},"creationTime":"2020-05-18T07:06:07.0622679Z","provisioningState":"Succeeded","requestApiVersion":"2018-08-15-preview","dataAccessId":"d6ad1bd9-084f-403c-bf5f-cab12ef5ad28","dataAccessFqdn":"d6ad1bd9-084f-403c-bf5f-cab12ef5ad28.env.timeseries.azure.com"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-env000003","name":"cli-test-tsi-env000003","type":"Microsoft.TimeSeriesInsights/Environments"}' + headers: + cache-control: + - no-cache + content-length: + - '842' + content-type: + - application/json + date: + - Mon, 18 May 2020 07:06:10 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1195' + status: + code: 200 + message: OK +- request: + body: '{"keyName": "key1"}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage account keys renew + Connection: + - keep-alive + Content-Length: + - '19' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -g -n --key --query --output + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-storage/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.Storage/storageAccounts/clitest000002/regenerateKey?api-version=2019-06-01 + response: + body: + string: '{"keys":[{"keyName":"key1","value":"jo2mIEeB+0YCeNK7yPPkFyWwViIQiP2R88AeWYo5UxOTN+JOAxwTPW6WUQzk618VzF09bSdWiMrDawM8vv4aUg==","permissions":"FULL"},{"keyName":"key2","value":"veryFakedStorageAccountKey==","permissions":"FULL"}]}' + headers: + cache-control: + - no-cache + content-length: + - '288' + content-type: + - application/json + date: + - Mon, 18 May 2020 07:07:12 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + status: + code: 200 + message: OK +- request: + body: '{"properties": {"storageConfiguration": {"managementKey": "jo2mIEeB+0YCeNK7yPPkFyWwViIQiP2R88AeWYo5UxOTN+JOAxwTPW6WUQzk618VzF09bSdWiMrDawM8vv4aUg=="}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - timeseriesinsights environment longterm update + Connection: + - keep-alive + Content-Length: + - '151' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - --resource-group --name --storage-management-key + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-timeseriesinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-env000003?api-version=2018-08-15-preview + response: + body: + string: '{"sku":{"name":"L1","capacity":1},"kind":"LongTerm","location":"WestUs","tags":{},"properties":{"timeSeriesIdProperties":[{"name":"DeviceId1","type":"String"}],"storageConfiguration":{"accountName":"clitest000002"},"warmStoreConfiguration":{"dataRetention":"P8D"},"creationTime":"2020-05-18T07:06:07.0622679Z","provisioningState":"Succeeded","requestApiVersion":"2018-08-15-preview","dataAccessId":"d6ad1bd9-084f-403c-bf5f-cab12ef5ad28","dataAccessFqdn":"d6ad1bd9-084f-403c-bf5f-cab12ef5ad28.env.timeseries.azure.com"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-env000003","name":"cli-test-tsi-env000003","type":"Microsoft.TimeSeriesInsights/Environments"}' + headers: + cache-control: + - no-cache + content-length: + - '842' + content-type: + - application/json + date: + - Mon, 18 May 2020 07:07:29 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1189' + status: + code: 200 + message: OK +version: 1 diff --git a/src/timeseriesinsights/azext_timeseriesinsights/tests/latest/recordings/test_timeseriesinsights_environment_standard.yaml b/src/timeseriesinsights/azext_timeseriesinsights/tests/latest/recordings/test_timeseriesinsights_environment_standard.yaml new file mode 100644 index 00000000000..650466dfce1 --- /dev/null +++ b/src/timeseriesinsights/azext_timeseriesinsights/tests/latest/recordings/test_timeseriesinsights_environment_standard.yaml @@ -0,0 +1,552 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - timeseriesinsights environment standard create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --sku-name --sku-capacity --data-retention-time --partition-key-properties + --storage-limit-exceeded-behavior + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_timeseriesinsights000001?api-version=2019-07-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001","name":"cli_test_timeseriesinsights000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2020-05-18T07:05:29Z","StorageType":"Standard_LRS","type":"test"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '471' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 18 May 2020 07:05:34 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"location": "westus", "sku": {"name": "S1", "capacity": 1}, "kind": "Standard", + "properties": {"dataRetentionTime": "P7D", "storageLimitExceededBehavior": "PauseIngress", + "partitionKeyProperties": [{"name": "DeviceId1", "type": "String"}]}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - timeseriesinsights environment standard create + Connection: + - keep-alive + Content-Length: + - '241' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - --resource-group --name --sku-name --sku-capacity --data-retention-time --partition-key-properties + --storage-limit-exceeded-behavior + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-timeseriesinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-env000002?api-version=2018-08-15-preview + response: + body: + string: '{"sku":{"name":"S1","capacity":1},"kind":"Standard","location":"westus","tags":null,"properties":{"dataRetentionTime":"P7D","storageLimitExceededBehavior":"PauseIngress","partitionKeyProperties":[{"name":"DeviceId1","type":"String"}],"creationTime":"2020-05-18T07:05:43.4408437+00:00","provisioningState":"Accepted","dataAccessId":"04c71581-6f41-4b84-8068-5c68bc25a17b","dataAccessFqdn":"04c71581-6f41-4b84-8068-5c68bc25a17b.env.timeseries.azure.com","requestApiVersion":"2018-08-15-preview"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-env000002","name":"cli-test-tsi-env000002","type":"Microsoft.TimeSeriesInsights/Environments"}' + headers: + cache-control: + - no-cache + content-length: + - '805' + content-type: + - application/json + date: + - Mon, 18 May 2020 07:05:47 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1191' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - timeseriesinsights environment standard create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --sku-name --sku-capacity --data-retention-time --partition-key-properties + --storage-limit-exceeded-behavior + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-timeseriesinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-env000002?api-version=2018-08-15-preview + response: + body: + string: '{"sku":{"name":"S1","capacity":1},"kind":"Standard","location":"westus","tags":null,"properties":{"dataRetentionTime":"P7D","storageLimitExceededBehavior":"PauseIngress","partitionKeyProperties":[{"name":"DeviceId1","type":"String"}],"creationTime":"2020-05-18T07:05:43.4408437Z","provisioningState":"Succeeded","requestApiVersion":"2018-08-15-preview","dataAccessId":"04c71581-6f41-4b84-8068-5c68bc25a17b","dataAccessFqdn":"04c71581-6f41-4b84-8068-5c68bc25a17b.env.timeseries.azure.com"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-env000002","name":"cli-test-tsi-env000002","type":"Microsoft.TimeSeriesInsights/Environments"}' + headers: + cache-control: + - no-cache + content-length: + - '801' + content-type: + - application/json + date: + - Mon, 18 May 2020 07:06:19 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"sku": {"name": "S1", "capacity": 2}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - timeseriesinsights environment standard update + Connection: + - keep-alive + Content-Length: + - '38' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - --resource-group --name --sku-name --sku-capacity + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-timeseriesinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-env000002?api-version=2018-08-15-preview + response: + body: + string: '{"sku":{"name":"S1","capacity":2},"kind":"Standard","location":"westus","tags":{},"properties":{"dataRetentionTime":"P7D","storageLimitExceededBehavior":"PauseIngress","partitionKeyProperties":[{"name":"DeviceId1","type":"String"}],"creationTime":"2020-05-18T07:05:43.4408437Z","provisioningState":"Succeeded","requestApiVersion":"2018-08-15-preview","dataAccessId":"04c71581-6f41-4b84-8068-5c68bc25a17b","dataAccessFqdn":"04c71581-6f41-4b84-8068-5c68bc25a17b.env.timeseries.azure.com"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-env000002","name":"cli-test-tsi-env000002","type":"Microsoft.TimeSeriesInsights/Environments"}' + headers: + cache-control: + - no-cache + content-length: + - '799' + content-type: + - application/json + date: + - Mon, 18 May 2020 07:06:26 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + status: + code: 200 + message: OK +- request: + body: '{"properties": {"dataRetentionTime": "P8D"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - timeseriesinsights environment standard update + Connection: + - keep-alive + Content-Length: + - '44' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - --resource-group --name --data-retention-time + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-timeseriesinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-env000002?api-version=2018-08-15-preview + response: + body: + string: '{"sku":{"name":"S1","capacity":2},"kind":"Standard","location":"westus","tags":{},"properties":{"dataRetentionTime":"P8D","storageLimitExceededBehavior":"PauseIngress","partitionKeyProperties":[{"name":"DeviceId1","type":"String"}],"creationTime":"2020-05-18T07:05:43.4408437Z","provisioningState":"Succeeded","requestApiVersion":"2018-08-15-preview","dataAccessId":"04c71581-6f41-4b84-8068-5c68bc25a17b","dataAccessFqdn":"04c71581-6f41-4b84-8068-5c68bc25a17b.env.timeseries.azure.com"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-env000002","name":"cli-test-tsi-env000002","type":"Microsoft.TimeSeriesInsights/Environments"}' + headers: + cache-control: + - no-cache + content-length: + - '799' + content-type: + - application/json + date: + - Mon, 18 May 2020 07:06:28 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1189' + status: + code: 200 + message: OK +- request: + body: '{"properties": {"storageLimitExceededBehavior": "PurgeOldData"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - timeseriesinsights environment standard update + Connection: + - keep-alive + Content-Length: + - '64' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - --resource-group --name --storage-limit-exceeded-behavior + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-timeseriesinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-env000002?api-version=2018-08-15-preview + response: + body: + string: '{"sku":{"name":"S1","capacity":2},"kind":"Standard","location":"westus","tags":{},"properties":{"dataRetentionTime":"P8D","storageLimitExceededBehavior":"PurgeOldData","partitionKeyProperties":[{"name":"DeviceId1","type":"String"}],"creationTime":"2020-05-18T07:05:43.4408437Z","provisioningState":"Succeeded","requestApiVersion":"2018-08-15-preview","dataAccessId":"04c71581-6f41-4b84-8068-5c68bc25a17b","dataAccessFqdn":"04c71581-6f41-4b84-8068-5c68bc25a17b.env.timeseries.azure.com"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-env000002","name":"cli-test-tsi-env000002","type":"Microsoft.TimeSeriesInsights/Environments"}' + headers: + cache-control: + - no-cache + content-length: + - '799' + content-type: + - application/json + date: + - Mon, 18 May 2020 07:06:29 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1188' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - timeseriesinsights environment show + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-timeseriesinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-env000002?api-version=2018-08-15-preview + response: + body: + string: '{"sku":{"name":"S1","capacity":2},"kind":"Standard","location":"westus","tags":{},"properties":{"dataRetentionTime":"P8D","storageLimitExceededBehavior":"PurgeOldData","partitionKeyProperties":[{"name":"DeviceId1","type":"String"}],"creationTime":"2020-05-18T07:05:43.4408437Z","provisioningState":"Succeeded","requestApiVersion":"2018-08-15-preview","dataAccessId":"04c71581-6f41-4b84-8068-5c68bc25a17b","dataAccessFqdn":"04c71581-6f41-4b84-8068-5c68bc25a17b.env.timeseries.azure.com"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-env000002","name":"cli-test-tsi-env000002","type":"Microsoft.TimeSeriesInsights/Environments"}' + headers: + cache-control: + - no-cache + content-length: + - '799' + content-type: + - application/json + date: + - Mon, 18 May 2020 07:06:30 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - timeseriesinsights environment list + Connection: + - keep-alive + ParameterSetName: + - --resource-group + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-timeseriesinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments?api-version=2018-08-15-preview + response: + body: + string: '{"value":[{"sku":{"name":"S1","capacity":2},"kind":"Standard","location":"westus","tags":{},"properties":{"dataRetentionTime":"P8D","storageLimitExceededBehavior":"PurgeOldData","partitionKeyProperties":[{"name":"DeviceId1","type":"String"}],"creationTime":"2020-05-18T07:05:43.4408437Z","provisioningState":"Succeeded","requestApiVersion":"2018-08-15-preview","dataAccessId":"04c71581-6f41-4b84-8068-5c68bc25a17b","dataAccessFqdn":"04c71581-6f41-4b84-8068-5c68bc25a17b.env.timeseries.azure.com"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-env000002","name":"cli-test-tsi-env000002","type":"Microsoft.TimeSeriesInsights/Environments"}]}' + headers: + cache-control: + - no-cache + content-length: + - '811' + content-type: + - application/json + date: + - Mon, 18 May 2020 07:06:31 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - timeseriesinsights environment list + Connection: + - keep-alive + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-timeseriesinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.TimeSeriesInsights/environments?api-version=2018-08-15-preview + response: + body: + string: '{"value":[{"sku":{"name":"S1","capacity":1},"kind":"Standard","location":"westus","tags":null,"properties":{"dataRetentionTime":"P31D","storageLimitExceededBehavior":"PauseIngress","partitionKeyProperties":[{"name":"DeviceId1","type":"String"}],"creationTime":"2020-05-18T07:05:46.6439947Z","provisioningState":"Succeeded","requestApiVersion":"2018-08-15-preview","dataAccessId":"38c2b3bb-202d-409b-b6af-13165ba509ef","dataAccessFqdn":"38c2b3bb-202d-409b-b6af-13165ba509ef.env.timeseries.azure.com"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights3th7s5h3vkolxxhp4r7nndubsxczbjwc4ksdaaahmhy6yqni/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-envz4q5h5rp","name":"cli-test-tsi-envz4q5h5rp","type":"Microsoft.TimeSeriesInsights/Environments"},{"sku":{"name":"S1","capacity":2},"kind":"Standard","location":"westus","tags":{},"properties":{"dataRetentionTime":"P8D","storageLimitExceededBehavior":"PurgeOldData","partitionKeyProperties":[{"name":"DeviceId1","type":"String"}],"creationTime":"2020-05-18T07:05:43.4408437Z","provisioningState":"Succeeded","requestApiVersion":"2018-08-15-preview","dataAccessId":"04c71581-6f41-4b84-8068-5c68bc25a17b","dataAccessFqdn":"04c71581-6f41-4b84-8068-5c68bc25a17b.env.timeseries.azure.com"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-env000002","name":"cli-test-tsi-env000002","type":"Microsoft.TimeSeriesInsights/Environments"},{"sku":{"name":"S1","capacity":1},"kind":"Standard","location":"westus","tags":null,"properties":{"dataRetentionTime":"P31D","storageLimitExceededBehavior":"PauseIngress","partitionKeyProperties":[{"name":"DeviceId1","type":"String"}],"creationTime":"2020-05-18T07:05:50.6704839Z","provisioningState":"Succeeded","requestApiVersion":"2018-08-15-preview","dataAccessId":"15e132bd-a526-4c9a-9ca7-5fb45d1ac184","dataAccessFqdn":"15e132bd-a526-4c9a-9ca7-5fb45d1ac184.env.timeseries.azure.com"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights4u7etlphuia5jroxjjxje63q6zzeabmhrna7ihbzgqgth2dq/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-envp64livwc","name":"cli-test-tsi-envp64livwc","type":"Microsoft.TimeSeriesInsights/Environments"},{"sku":{"name":"S1","capacity":1},"kind":"Standard","location":"westus","tags":null,"properties":{"dataRetentionTime":"P31D","storageLimitExceededBehavior":"PauseIngress","partitionKeyProperties":[{"name":"DeviceId1","type":"String"}],"creationTime":"2020-05-18T07:05:41.1766404Z","provisioningState":"Succeeded","requestApiVersion":"2018-08-15-preview","dataAccessId":"a096910d-50b3-492e-a5f0-7e82868516c8","dataAccessFqdn":"a096910d-50b3-492e-a5f0-7e82868516c8.env.timeseries.azure.com"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsightsjul33xjtd7kg5jsdqokxkmcjiadch6wmu26sjd72bn5zaq7a/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-envzmk2u43r","name":"cli-test-tsi-envzmk2u43r","type":"Microsoft.TimeSeriesInsights/Environments"},{"sku":{"name":"S1","capacity":1},"kind":"Standard","location":"westus","tags":null,"properties":{"dataRetentionTime":"P7D","storageLimitExceededBehavior":"PauseIngress","partitionKeyProperties":[{"name":"DeviceId1","type":"String"}],"creationTime":"2020-05-18T03:04:26.6065083Z","provisioningState":"Succeeded","requestApiVersion":"2018-08-15-preview","dataAccessId":"738c6b44-35d3-434a-a1e2-05a6c43f9b91","dataAccessFqdn":"738c6b44-35d3-434a-a1e2-05a6c43f9b91.env.timeseries.azure.com"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.TimeSeriesInsights/environments/env1","name":"env1","type":"Microsoft.TimeSeriesInsights/Environments"},{"sku":{"name":"S1","capacity":1},"kind":"Standard","location":"westus","tags":null,"properties":{"dataRetentionTime":"P31D","storageLimitExceededBehavior":"PauseIngress","partitionKeyProperties":[{"name":"DeviceId1","type":"String"}],"creationTime":"2020-05-18T07:05:54.1394788Z","provisioningState":"Succeeded","requestApiVersion":"2018-08-15-preview","dataAccessId":"b229444b-d3fe-40b3-aa56-b1d0034ac955","dataAccessFqdn":"b229444b-d3fe-40b3-aa56-b1d0034ac955.env.timeseries.azure.com"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights3prg5bvmxghup6sde7wdyqilbskkj6e3eiui7pnwhmampwky/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-envbqzlrzpn","name":"cli-test-tsi-envbqzlrzpn","type":"Microsoft.TimeSeriesInsights/Environments"},{"sku":{"name":"L1","capacity":1},"kind":"LongTerm","location":"WestUs","tags":{},"properties":{"timeSeriesIdProperties":[{"name":"DeviceId1","type":"String"}],"storageConfiguration":{"accountName":"clitestjbmxigo3m3ojcr4xw"},"warmStoreConfiguration":{"dataRetention":"P8D"},"creationTime":"2020-05-18T06:55:29.1065897Z","provisioningState":"Deleting","requestApiVersion":"2018-08-15-preview","dataAccessId":"145f3b06-ac3a-41d4-9aea-f5f68d764402","dataAccessFqdn":"145f3b06-ac3a-41d4-9aea-f5f68d764402.env.timeseries.azure.com"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsightsmpyjuymosotkmjhrqb6mic34bmeefpwkf3swkto64mbwdg57/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-envtdlugpgl","name":"cli-test-tsi-envtdlugpgl","type":"Microsoft.TimeSeriesInsights/Environments"},{"sku":{"name":"L1","capacity":1},"kind":"LongTerm","location":"WestUs","tags":{},"properties":{"timeSeriesIdProperties":[{"name":"DeviceId1","type":"String"}],"storageConfiguration":{"accountName":"clitestqa73h5bnf7mngwfcy"},"warmStoreConfiguration":{"dataRetention":"P8D"},"creationTime":"2020-05-18T07:06:07.0622679Z","provisioningState":"Updating","requestApiVersion":"2018-08-15-preview","dataAccessId":"d6ad1bd9-084f-403c-bf5f-cab12ef5ad28","dataAccessFqdn":"d6ad1bd9-084f-403c-bf5f-cab12ef5ad28.env.timeseries.azure.com"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsightsiluqduqjjym4velhati7ko76mhzbldjiug2qzl5hrlb2dzph/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-envkvx2nuv5","name":"cli-test-tsi-envkvx2nuv5","type":"Microsoft.TimeSeriesInsights/Environments"}]}' + headers: + cache-control: + - no-cache + content-length: + - '6397' + content-type: + - application/json + date: + - Mon, 18 May 2020 07:06:33 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - timeseriesinsights environment delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --resource-group --name --yes + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-timeseriesinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-env000002?api-version=2018-08-15-preview + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Mon, 18 May 2020 07:06:38 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14996' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - timeseriesinsights environment list + Connection: + - keep-alive + ParameterSetName: + - --resource-group + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-timeseriesinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments?api-version=2018-08-15-preview + response: + body: + string: '{"value":[]}' + headers: + cache-control: + - no-cache + content-length: + - '12' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 18 May 2020 07:06:39 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +version: 1 diff --git a/src/timeseriesinsights/azext_timeseriesinsights/tests/latest/recordings/test_timeseriesinsights_event_source_eventhub.yaml b/src/timeseriesinsights/azext_timeseriesinsights/tests/latest/recordings/test_timeseriesinsights_event_source_eventhub.yaml new file mode 100644 index 00000000000..72f23a6bb20 --- /dev/null +++ b/src/timeseriesinsights/azext_timeseriesinsights/tests/latest/recordings/test_timeseriesinsights_event_source_eventhub.yaml @@ -0,0 +1,1104 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - timeseriesinsights environment standard create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --sku-name --sku-capacity --data-retention-time --partition-key-properties + --storage-limit-exceeded-behavior + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_timeseriesinsights000001?api-version=2019-07-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001","name":"cli_test_timeseriesinsights000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2020-05-18T07:05:29Z","StorageType":"Standard_LRS","type":"test"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '471' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 18 May 2020 07:05:34 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"location": "westus", "sku": {"name": "S1", "capacity": 1}, "kind": "Standard", + "properties": {"dataRetentionTime": "P31D", "storageLimitExceededBehavior": + "PauseIngress", "partitionKeyProperties": [{"name": "DeviceId1", "type": "String"}]}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - timeseriesinsights environment standard create + Connection: + - keep-alive + Content-Length: + - '242' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - --resource-group --name --sku-name --sku-capacity --data-retention-time --partition-key-properties + --storage-limit-exceeded-behavior + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-timeseriesinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-env000005?api-version=2018-08-15-preview + response: + body: + string: '{"sku":{"name":"S1","capacity":1},"kind":"Standard","location":"westus","tags":null,"properties":{"dataRetentionTime":"P31D","storageLimitExceededBehavior":"PauseIngress","partitionKeyProperties":[{"name":"DeviceId1","type":"String"}],"creationTime":"2020-05-18T07:05:50.6704839+00:00","provisioningState":"Accepted","dataAccessId":"15e132bd-a526-4c9a-9ca7-5fb45d1ac184","dataAccessFqdn":"15e132bd-a526-4c9a-9ca7-5fb45d1ac184.env.timeseries.azure.com","requestApiVersion":"2018-08-15-preview"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-env000005","name":"cli-test-tsi-env000005","type":"Microsoft.TimeSeriesInsights/Environments"}' + headers: + cache-control: + - no-cache + content-length: + - '806' + content-type: + - application/json + date: + - Mon, 18 May 2020 07:05:54 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1191' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - timeseriesinsights environment standard create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --sku-name --sku-capacity --data-retention-time --partition-key-properties + --storage-limit-exceeded-behavior + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-timeseriesinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-env000005?api-version=2018-08-15-preview + response: + body: + string: '{"sku":{"name":"S1","capacity":1},"kind":"Standard","location":"westus","tags":null,"properties":{"dataRetentionTime":"P31D","storageLimitExceededBehavior":"PauseIngress","partitionKeyProperties":[{"name":"DeviceId1","type":"String"}],"creationTime":"2020-05-18T07:05:50.6704839Z","provisioningState":"Succeeded","requestApiVersion":"2018-08-15-preview","dataAccessId":"15e132bd-a526-4c9a-9ca7-5fb45d1ac184","dataAccessFqdn":"15e132bd-a526-4c9a-9ca7-5fb45d1ac184.env.timeseries.azure.com"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-env000005","name":"cli-test-tsi-env000005","type":"Microsoft.TimeSeriesInsights/Environments"}' + headers: + cache-control: + - no-cache + content-length: + - '802' + content-type: + - application/json + date: + - Mon, 18 May 2020 07:06:25 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - eventhubs namespace create + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_timeseriesinsights000001?api-version=2019-07-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001","name":"cli_test_timeseriesinsights000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2020-05-18T07:05:29Z","StorageType":"Standard_LRS","type":"test"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '471' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 18 May 2020 07:06:26 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"location": "westus", "sku": {"name": "Standard", "tier": "Standard"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - eventhubs namespace create + Connection: + - keep-alive + Content-Length: + - '71' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -g -n + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-eventhub/3.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.EventHub/namespaces/cli-test-tsi-ehns000003?api-version=2017-04-01 + response: + body: + string: '{"sku":{"name":"Standard","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.EventHub/namespaces/cli-test-tsi-ehns000003","name":"cli-test-tsi-ehns000003","type":"Microsoft.EventHub/Namespaces","location":"West + US","tags":{},"properties":{"isAutoInflateEnabled":false,"maximumThroughputUnits":0,"kafkaEnabled":true,"provisioningState":"Created","metricId":"0b1f6471-1bf0-4dda-aec3-cb9272f09590:cli-test-tsi-ehns000003","createdAt":"2020-05-18T07:06:32.01Z","updatedAt":"2020-05-18T07:06:32.01Z","serviceBusEndpoint":"https://cli-test-tsi-ehns000003.servicebus.windows.net:443/","status":"Activating"}}' + headers: + cache-control: + - no-cache + content-length: + - '755' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 18 May 2020 07:06:33 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Service-Bus-Resource-Provider/CH3 + - Microsoft-HTTPAPI/2.0 + server-sb: + - Service-Bus-Resource-Provider/CH3 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '49' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - eventhubs namespace create + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-eventhub/3.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.EventHub/namespaces/cli-test-tsi-ehns000003?api-version=2017-04-01 + response: + body: + string: '{"sku":{"name":"Standard","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.EventHub/namespaces/cli-test-tsi-ehns000003","name":"cli-test-tsi-ehns000003","type":"Microsoft.EventHub/Namespaces","location":"West + US","tags":{},"properties":{"isAutoInflateEnabled":false,"maximumThroughputUnits":0,"kafkaEnabled":true,"provisioningState":"Created","metricId":"0b1f6471-1bf0-4dda-aec3-cb9272f09590:cli-test-tsi-ehns000003","createdAt":"2020-05-18T07:06:32.01Z","updatedAt":"2020-05-18T07:06:32.01Z","serviceBusEndpoint":"https://cli-test-tsi-ehns000003.servicebus.windows.net:443/","status":"Activating"}}' + headers: + cache-control: + - no-cache + content-length: + - '755' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 18 May 2020 07:07:04 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Service-Bus-Resource-Provider/CH3 + - Microsoft-HTTPAPI/2.0 + server-sb: + - Service-Bus-Resource-Provider/CH3 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - eventhubs namespace create + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-eventhub/3.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.EventHub/namespaces/cli-test-tsi-ehns000003?api-version=2017-04-01 + response: + body: + string: '{"sku":{"name":"Standard","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.EventHub/namespaces/cli-test-tsi-ehns000003","name":"cli-test-tsi-ehns000003","type":"Microsoft.EventHub/Namespaces","location":"West + US","tags":{},"properties":{"isAutoInflateEnabled":false,"maximumThroughputUnits":0,"kafkaEnabled":true,"provisioningState":"Succeeded","metricId":"0b1f6471-1bf0-4dda-aec3-cb9272f09590:cli-test-tsi-ehns000003","createdAt":"2020-05-18T07:06:32.01Z","updatedAt":"2020-05-18T07:07:22.983Z","serviceBusEndpoint":"https://cli-test-tsi-ehns000003.servicebus.windows.net:443/","status":"Active"}}' + headers: + cache-control: + - no-cache + content-length: + - '754' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 18 May 2020 07:07:34 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Service-Bus-Resource-Provider/CH3 + - Microsoft-HTTPAPI/2.0 + server-sb: + - Service-Bus-Resource-Provider/CH3 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - eventhubs namespace create + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-eventhub/3.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.EventHub/namespaces/cli-test-tsi-ehns000003?api-version=2017-04-01 + response: + body: + string: '{"sku":{"name":"Standard","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.EventHub/namespaces/cli-test-tsi-ehns000003","name":"cli-test-tsi-ehns000003","type":"Microsoft.EventHub/Namespaces","location":"West + US","tags":{},"properties":{"isAutoInflateEnabled":false,"maximumThroughputUnits":0,"kafkaEnabled":true,"provisioningState":"Succeeded","metricId":"0b1f6471-1bf0-4dda-aec3-cb9272f09590:cli-test-tsi-ehns000003","createdAt":"2020-05-18T07:06:32.01Z","updatedAt":"2020-05-18T07:07:22.983Z","serviceBusEndpoint":"https://cli-test-tsi-ehns000003.servicebus.windows.net:443/","status":"Active"}}' + headers: + cache-control: + - no-cache + content-length: + - '754' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 18 May 2020 07:07:35 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Service-Bus-Resource-Provider/CH3 + - Microsoft-HTTPAPI/2.0 + server-sb: + - Service-Bus-Resource-Provider/CH3 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - eventhubs eventhub create + Connection: + - keep-alive + Content-Length: + - '2' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -g -n --namespace-name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-eventhub/3.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.EventHub/namespaces/cli-test-tsi-ehns000003/eventhubs/cli-test-tsi-eh000004?api-version=2017-04-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.EventHub/namespaces/cli-test-tsi-ehns000003/eventhubs/cli-test-tsi-eh000004","name":"cli-test-tsi-eh000004","type":"Microsoft.EventHub/Namespaces/EventHubs","location":"West + US","properties":{"messageRetentionInDays":7,"partitionCount":4,"status":"Active","createdAt":"2020-05-18T07:07:37.913Z","updatedAt":"2020-05-18T07:07:38.387Z","partitionIds":["0","1","2","3"]}}' + headers: + cache-control: + - no-cache + content-length: + - '545' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 18 May 2020 07:07:38 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Service-Bus-Resource-Provider/CH3 + - Microsoft-HTTPAPI/2.0 + server-sb: + - Service-Bus-Resource-Provider/CH3 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1195' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - eventhubs namespace authorization-rule keys list + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g --namespace-name -n + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-eventhub/3.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.EventHub/namespaces/cli-test-tsi-ehns000003/AuthorizationRules/RootManageSharedAccessKey/listKeys?api-version=2017-04-01 + response: + body: + string: '{"primaryConnectionString":"Endpoint=sb://cli-test-tsi-ehns000003.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=rBZrT1glPpQjmzi070ftUjMWx41G/uIndxZL2vSMPbE=","secondaryConnectionString":"Endpoint=sb://cli-test-tsi-ehns000003.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=DjbuZUnzXbfHltWhmyx2tBcu0eTVW5VM0qxqtYZzlSw=","primaryKey":"rBZrT1glPpQjmzi070ftUjMWx41G/uIndxZL2vSMPbE=","secondaryKey":"DjbuZUnzXbfHltWhmyx2tBcu0eTVW5VM0qxqtYZzlSw=","keyName":"RootManageSharedAccessKey"}' + headers: + cache-control: + - no-cache + content-length: + - '559' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 18 May 2020 07:07:40 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Service-Bus-Resource-Provider/CH3 + - Microsoft-HTTPAPI/2.0 + server-sb: + - Service-Bus-Resource-Provider/CH3 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - timeseriesinsights event-source eventhub create + Connection: + - keep-alive + ParameterSetName: + - -g --environment-name --name --key-name --shared-access-key --event-source-resource-id + --consumer-group-name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_timeseriesinsights000001?api-version=2019-07-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001","name":"cli_test_timeseriesinsights000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2020-05-18T07:05:29Z","StorageType":"Standard_LRS","type":"test"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '471' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 18 May 2020 07:07:40 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: 'b''{"location": "westus", "kind": "Microsoft.EventHub", "properties": {"eventSourceResourceId": + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.EventHub/namespaces/cli-test-tsi-ehns000003/eventhubs/cli-test-tsi-eh000004", + "serviceBusNamespace": "cli-test-tsi-ehns000003", "eventHubName": "cli-test-tsi-eh000004", + "consumerGroupName": "$Default", "keyName": "RootManageSharedAccessKey", "sharedAccessKey": + "rBZrT1glPpQjmzi070ftUjMWx41G/uIndxZL2vSMPbE="}}''' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - timeseriesinsights event-source eventhub create + Connection: + - keep-alive + Content-Length: + - '574' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -g --environment-name --name --key-name --shared-access-key --event-source-resource-id + --consumer-group-name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-timeseriesinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-env000005/eventSources/cli-test-tsi-es000002?api-version=2018-08-15-preview + response: + body: + string: '{"kind":"Microsoft.EventHub","location":"westus","tags":null,"properties":{"eventSourceResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.EventHub/namespaces/cli-test-tsi-ehns000003/eventhubs/cli-test-tsi-eh000004","serviceBusNamespace":"cli-test-tsi-ehns000003","eventHubName":"cli-test-tsi-eh000004","consumerGroupName":"$Default","keyName":"RootManageSharedAccessKey","creationTime":"2020-05-18T07:07:46.6143524Z","provisioningState":"Succeeded"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-env000005/eventsources/cli-test-tsi-es000002","name":"cli-test-tsi-es000002","type":"Microsoft.TimeSeriesInsights/Environments/EventSources"}' + headers: + cache-control: + - no-cache + content-length: + - '946' + content-type: + - application/json + date: + - Mon, 18 May 2020 07:07:47 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1195' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - timeseriesinsights event-source eventhub create + Connection: + - keep-alive + ParameterSetName: + - -g --environment-name --name --key-name --shared-access-key --event-source-resource-id + --consumer-group-name --timestamp-property-name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_timeseriesinsights000001?api-version=2019-07-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001","name":"cli_test_timeseriesinsights000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2020-05-18T07:05:29Z","StorageType":"Standard_LRS","type":"test"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '471' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 18 May 2020 07:07:48 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: 'b''{"location": "westus", "kind": "Microsoft.EventHub", "properties": {"timestampPropertyName": + "timestampProp", "eventSourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.EventHub/namespaces/cli-test-tsi-ehns000003/eventhubs/cli-test-tsi-eh000004", + "serviceBusNamespace": "cli-test-tsi-ehns000003", "eventHubName": "cli-test-tsi-eh000004", + "consumerGroupName": "$Default", "keyName": "RootManageSharedAccessKey", "sharedAccessKey": + "rBZrT1glPpQjmzi070ftUjMWx41G/uIndxZL2vSMPbE="}}''' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - timeseriesinsights event-source eventhub create + Connection: + - keep-alive + Content-Length: + - '616' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -g --environment-name --name --key-name --shared-access-key --event-source-resource-id + --consumer-group-name --timestamp-property-name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-timeseriesinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-env000005/eventSources/cli-test-tsi-es000002?api-version=2018-08-15-preview + response: + body: + string: '{"kind":"Microsoft.EventHub","location":"westus","tags":null,"properties":{"timestampPropertyName":"timestampProp","eventSourceResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.EventHub/namespaces/cli-test-tsi-ehns000003/eventhubs/cli-test-tsi-eh000004","serviceBusNamespace":"cli-test-tsi-ehns000003","eventHubName":"cli-test-tsi-eh000004","consumerGroupName":"$Default","keyName":"RootManageSharedAccessKey","creationTime":"2020-05-18T07:07:46.6143524Z","provisioningState":"Succeeded"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-env000005/eventsources/cli-test-tsi-es000002","name":"cli-test-tsi-es000002","type":"Microsoft.TimeSeriesInsights/Environments/EventSources"}' + headers: + cache-control: + - no-cache + content-length: + - '986' + content-type: + - application/json + date: + - Mon, 18 May 2020 07:07:50 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1195' + status: + code: 200 + message: OK +- request: + body: '{"properties": {"timestampPropertyName": "DeviceId1"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - timeseriesinsights event-source eventhub update + Connection: + - keep-alive + Content-Length: + - '54' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -g --environment-name --name --timestamp-property-name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-timeseriesinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-env000005/eventSources/cli-test-tsi-es000002?api-version=2018-08-15-preview + response: + body: + string: '{"kind":"Microsoft.EventHub","location":"westus","tags":null,"properties":{"timestampPropertyName":"DeviceId1","eventSourceResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.EventHub/namespaces/cli-test-tsi-ehns000003/eventhubs/cli-test-tsi-eh000004","serviceBusNamespace":"cli-test-tsi-ehns000003","eventHubName":"cli-test-tsi-eh000004","consumerGroupName":"$Default","keyName":"RootManageSharedAccessKey","creationTime":"2020-05-18T07:07:46.6143524Z","provisioningState":"Succeeded"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-env000005/eventsources/cli-test-tsi-es000002","name":"cli-test-tsi-es000002","type":"Microsoft.TimeSeriesInsights/Environments/EventSources"}' + headers: + cache-control: + - no-cache + content-length: + - '982' + content-type: + - application/json + date: + - Mon, 18 May 2020 07:07:53 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1191' + status: + code: 200 + message: OK +- request: + body: '{"properties": {"localTimestamp": {"format": "Embedded"}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - timeseriesinsights event-source eventhub update + Connection: + - keep-alive + Content-Length: + - '58' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -g --environment-name --name --local-timestamp-format + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-timeseriesinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-env000005/eventSources/cli-test-tsi-es000002?api-version=2018-08-15-preview + response: + body: + string: '{"kind":"Microsoft.EventHub","location":"westus","tags":null,"properties":{"timestampPropertyName":"DeviceId1","eventSourceResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.EventHub/namespaces/cli-test-tsi-ehns000003/eventhubs/cli-test-tsi-eh000004","serviceBusNamespace":"cli-test-tsi-ehns000003","eventHubName":"cli-test-tsi-eh000004","consumerGroupName":"$Default","keyName":"RootManageSharedAccessKey","creationTime":"2020-05-18T07:07:46.6143524Z","provisioningState":"Succeeded","localTimestamp":{"format":"Embedded","timezoneOffset":null}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-env000005/eventsources/cli-test-tsi-es000002","name":"cli-test-tsi-es000002","type":"Microsoft.TimeSeriesInsights/Environments/EventSources"}' + headers: + cache-control: + - no-cache + content-length: + - '1043' + content-type: + - application/json + date: + - Mon, 18 May 2020 07:07:55 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1187' + status: + code: 200 + message: OK +- request: + body: '{"keyType": "PrimaryKey"}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - eventhubs namespace authorization-rule keys renew + Connection: + - keep-alive + Content-Length: + - '25' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -g --namespace-name -n --key --query --output + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-eventhub/3.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.EventHub/namespaces/cli-test-tsi-ehns000003/AuthorizationRules/RootManageSharedAccessKey/regenerateKeys?api-version=2017-04-01 + response: + body: + string: '{"primaryConnectionString":"Endpoint=sb://cli-test-tsi-ehns000003.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=zSsILFHvxn30c3RK6cwgrDSPzspiw56MGuKF8FpQrxs=","secondaryConnectionString":"Endpoint=sb://cli-test-tsi-ehns000003.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=DjbuZUnzXbfHltWhmyx2tBcu0eTVW5VM0qxqtYZzlSw=","primaryKey":"zSsILFHvxn30c3RK6cwgrDSPzspiw56MGuKF8FpQrxs=","secondaryKey":"DjbuZUnzXbfHltWhmyx2tBcu0eTVW5VM0qxqtYZzlSw=","keyName":"RootManageSharedAccessKey"}' + headers: + cache-control: + - no-cache + content-length: + - '559' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 18 May 2020 07:08:02 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Service-Bus-Resource-Provider/CH3 + - Microsoft-HTTPAPI/2.0 + server-sb: + - Service-Bus-Resource-Provider/CH3 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1197' + status: + code: 200 + message: OK +- request: + body: '{"properties": {"sharedAccessKey": "zSsILFHvxn30c3RK6cwgrDSPzspiw56MGuKF8FpQrxs="}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - timeseriesinsights event-source eventhub update + Connection: + - keep-alive + Content-Length: + - '83' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -g --environment-name --name --shared-access-key + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-timeseriesinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-env000005/eventSources/cli-test-tsi-es000002?api-version=2018-08-15-preview + response: + body: + string: '{"kind":"Microsoft.EventHub","location":"westus","tags":null,"properties":{"timestampPropertyName":"DeviceId1","eventSourceResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.EventHub/namespaces/cli-test-tsi-ehns000003/eventhubs/cli-test-tsi-eh000004","serviceBusNamespace":"cli-test-tsi-ehns000003","eventHubName":"cli-test-tsi-eh000004","consumerGroupName":"$Default","keyName":"RootManageSharedAccessKey","creationTime":"2020-05-18T07:07:46.6143524Z","provisioningState":"Succeeded","localTimestamp":{"format":"Embedded","timezoneOffset":null}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-env000005/eventsources/cli-test-tsi-es000002","name":"cli-test-tsi-es000002","type":"Microsoft.TimeSeriesInsights/Environments/EventSources"}' + headers: + cache-control: + - no-cache + content-length: + - '1043' + content-type: + - application/json + date: + - Mon, 18 May 2020 07:08:04 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1194' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - timeseriesinsights event-source list + Connection: + - keep-alive + ParameterSetName: + - -g --environment-name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-timeseriesinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-env000005/eventSources?api-version=2018-08-15-preview + response: + body: + string: '{"value":[{"kind":"Microsoft.EventHub","location":"westus","tags":null,"properties":{"timestampPropertyName":"DeviceId1","eventSourceResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.EventHub/namespaces/cli-test-tsi-ehns000003/eventhubs/cli-test-tsi-eh000004","serviceBusNamespace":"cli-test-tsi-ehns000003","eventHubName":"cli-test-tsi-eh000004","consumerGroupName":"$Default","keyName":"RootManageSharedAccessKey","creationTime":"2020-05-18T07:07:46.6143524Z","provisioningState":"Succeeded","localTimestamp":{"format":"Embedded","timezoneOffset":null}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-env000005/eventsources/cli-test-tsi-es000002","name":"cli-test-tsi-es000002","type":"Microsoft.TimeSeriesInsights/Environments/EventSources"}]}' + headers: + cache-control: + - no-cache + content-length: + - '1055' + content-type: + - application/json + date: + - Mon, 18 May 2020 07:08:06 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - timeseriesinsights event-source show + Connection: + - keep-alive + ParameterSetName: + - -g --environment-name -n + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-timeseriesinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-env000005/eventSources/cli-test-tsi-es000002?api-version=2018-08-15-preview + response: + body: + string: '{"kind":"Microsoft.EventHub","location":"westus","tags":null,"properties":{"timestampPropertyName":"DeviceId1","eventSourceResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.EventHub/namespaces/cli-test-tsi-ehns000003/eventhubs/cli-test-tsi-eh000004","serviceBusNamespace":"cli-test-tsi-ehns000003","eventHubName":"cli-test-tsi-eh000004","consumerGroupName":"$Default","keyName":"RootManageSharedAccessKey","creationTime":"2020-05-18T07:07:46.6143524Z","provisioningState":"Succeeded","localTimestamp":{"format":"Embedded","timezoneOffset":null}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-env000005/eventsources/cli-test-tsi-es000002","name":"cli-test-tsi-es000002","type":"Microsoft.TimeSeriesInsights/Environments/EventSources"}' + headers: + cache-control: + - no-cache + content-length: + - '1043' + content-type: + - application/json + date: + - Mon, 18 May 2020 07:08:07 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - timeseriesinsights event-source delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g --environment-name -n --yes + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-timeseriesinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-env000005/eventSources/cli-test-tsi-es000002?api-version=2018-08-15-preview + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Mon, 18 May 2020 07:08:12 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14994' + status: + code: 200 + message: OK +version: 1 diff --git a/src/timeseriesinsights/azext_timeseriesinsights/tests/latest/recordings/test_timeseriesinsights_event_source_iothub.yaml b/src/timeseriesinsights/azext_timeseriesinsights/tests/latest/recordings/test_timeseriesinsights_event_source_iothub.yaml new file mode 100644 index 00000000000..7d3eeb32a0c --- /dev/null +++ b/src/timeseriesinsights/azext_timeseriesinsights/tests/latest/recordings/test_timeseriesinsights_event_source_iothub.yaml @@ -0,0 +1,1550 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - timeseriesinsights environment standard create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --sku-name --sku-capacity --data-retention-time --partition-key-properties + --storage-limit-exceeded-behavior + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_timeseriesinsights000001?api-version=2019-07-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001","name":"cli_test_timeseriesinsights000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2020-05-18T07:05:29Z","StorageType":"Standard_LRS","type":"test"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '471' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 18 May 2020 07:05:34 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"location": "westus", "sku": {"name": "S1", "capacity": 1}, "kind": "Standard", + "properties": {"dataRetentionTime": "P31D", "storageLimitExceededBehavior": + "PauseIngress", "partitionKeyProperties": [{"name": "DeviceId1", "type": "String"}]}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - timeseriesinsights environment standard create + Connection: + - keep-alive + Content-Length: + - '242' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - --resource-group --name --sku-name --sku-capacity --data-retention-time --partition-key-properties + --storage-limit-exceeded-behavior + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-timeseriesinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-env000004?api-version=2018-08-15-preview + response: + body: + string: '{"sku":{"name":"S1","capacity":1},"kind":"Standard","location":"westus","tags":null,"properties":{"dataRetentionTime":"P31D","storageLimitExceededBehavior":"PauseIngress","partitionKeyProperties":[{"name":"DeviceId1","type":"String"}],"creationTime":"2020-05-18T07:05:54.1394788+00:00","provisioningState":"Accepted","dataAccessId":"b229444b-d3fe-40b3-aa56-b1d0034ac955","dataAccessFqdn":"b229444b-d3fe-40b3-aa56-b1d0034ac955.env.timeseries.azure.com","requestApiVersion":"2018-08-15-preview"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-env000004","name":"cli-test-tsi-env000004","type":"Microsoft.TimeSeriesInsights/Environments"}' + headers: + cache-control: + - no-cache + content-length: + - '806' + content-type: + - application/json + date: + - Mon, 18 May 2020 07:05:55 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1196' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - timeseriesinsights environment standard create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --sku-name --sku-capacity --data-retention-time --partition-key-properties + --storage-limit-exceeded-behavior + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-timeseriesinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-env000004?api-version=2018-08-15-preview + response: + body: + string: '{"sku":{"name":"S1","capacity":1},"kind":"Standard","location":"westus","tags":null,"properties":{"dataRetentionTime":"P31D","storageLimitExceededBehavior":"PauseIngress","partitionKeyProperties":[{"name":"DeviceId1","type":"String"}],"creationTime":"2020-05-18T07:05:54.1394788Z","provisioningState":"Succeeded","requestApiVersion":"2018-08-15-preview","dataAccessId":"b229444b-d3fe-40b3-aa56-b1d0034ac955","dataAccessFqdn":"b229444b-d3fe-40b3-aa56-b1d0034ac955.env.timeseries.azure.com"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-env000004","name":"cli-test-tsi-env000004","type":"Microsoft.TimeSeriesInsights/Environments"}' + headers: + cache-control: + - no-cache + content-length: + - '802' + content-type: + - application/json + date: + - Mon, 18 May 2020 07:06:26 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"name": "cli-test-tsi-iothub000003"}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - iot hub create + Connection: + - keep-alive + Content-Length: + - '36' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -g -n + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-iothub/0.12.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Devices/checkNameAvailability?api-version=2020-03-01 + response: + body: + string: '{"nameAvailable":true,"reason":"Invalid","message":null}' + headers: + cache-control: + - no-cache + content-length: + - '56' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 18 May 2020 07:06:28 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - iot hub create + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_timeseriesinsights000001?api-version=2019-07-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001","name":"cli_test_timeseriesinsights000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2020-05-18T07:05:29Z","StorageType":"Standard_LRS","type":"test"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '471' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 18 May 2020 07:06:27 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"location": "westus", "properties": {"eventHubEndpoints": {"events": {"retentionTimeInDays": + 1, "partitionCount": 4}}, "storageEndpoints": {"$default": {"sasTtlAsIso8601": + "PT1H", "connectionString": "", "containerName": ""}}, "messagingEndpoints": + {"fileNotifications": {"ttlAsIso8601": "PT1H", "maxDeliveryCount": 10}}, "enableFileUploadNotifications": + false, "cloudToDevice": {"maxDeliveryCount": 10, "defaultTtlAsIso8601": "PT1H", + "feedback": {"lockDurationAsIso8601": "PT5S", "ttlAsIso8601": "PT1H", "maxDeliveryCount": + 10}}}, "sku": {"name": "S1", "capacity": 1}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - iot hub create + Connection: + - keep-alive + Content-Length: + - '570' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -g -n + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-iothub/0.12.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.Devices/IotHubs/cli-test-tsi-iothub000003?api-version=2020-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.Devices/IotHubs/cli-test-tsi-iothub000003","name":"cli-test-tsi-iothub000003","type":"Microsoft.Devices/IotHubs","location":"westus","tags":{},"subscriptionid":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","resourcegroup":"cli_test_timeseriesinsights000001","properties":{"state":"Activating","provisioningState":"Accepted","eventHubEndpoints":{"events":{"retentionTimeInDays":1,"partitionCount":4},"operationsMonitoringEvents":{"retentionTimeInDays":1,"partitionCount":4}},"storageEndpoints":{"$default":{"sasTtlAsIso8601":"PT1H","connectionString":"","containerName":""}},"messagingEndpoints":{"fileNotifications":{"lockDurationAsIso8601":"PT1M","ttlAsIso8601":"PT1H","maxDeliveryCount":10}},"enableFileUploadNotifications":false,"cloudToDevice":{"maxDeliveryCount":10,"defaultTtlAsIso8601":"PT1H","feedback":{"lockDurationAsIso8601":"PT5S","ttlAsIso8601":"PT1H","maxDeliveryCount":10}},"features":"None"},"sku":{"name":"S1","tier":"Standard","capacity":1}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Devices/operationResults/b3NfaWhfZTAxZTgyZGQtMzc0Ny00ODY2LTlkNjktNjYwMmZkZjNjMDZh?api-version=2020-03-01&operationSource=os_ih&asyncinfo + cache-control: + - no-cache + content-length: + - '1162' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 18 May 2020 07:06:36 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '4999' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - iot hub create + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-iothub/0.12.0 Azure-SDK-For-Python AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Devices/operationResults/b3NfaWhfZTAxZTgyZGQtMzc0Ny00ODY2LTlkNjktNjYwMmZkZjNjMDZh?api-version=2020-03-01&operationSource=os_ih&asyncinfo + response: + body: + string: '{"status":"Running"}' + headers: + cache-control: + - no-cache + content-length: + - '20' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 18 May 2020 07:07:07 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - iot hub create + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-iothub/0.12.0 Azure-SDK-For-Python AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Devices/operationResults/b3NfaWhfZTAxZTgyZGQtMzc0Ny00ODY2LTlkNjktNjYwMmZkZjNjMDZh?api-version=2020-03-01&operationSource=os_ih&asyncinfo + response: + body: + string: '{"status":"Running"}' + headers: + cache-control: + - no-cache + content-length: + - '20' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 18 May 2020 07:07:39 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - iot hub create + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-iothub/0.12.0 Azure-SDK-For-Python AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Devices/operationResults/b3NfaWhfZTAxZTgyZGQtMzc0Ny00ODY2LTlkNjktNjYwMmZkZjNjMDZh?api-version=2020-03-01&operationSource=os_ih&asyncinfo + response: + body: + string: '{"status":"Running"}' + headers: + cache-control: + - no-cache + content-length: + - '20' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 18 May 2020 07:08:10 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - iot hub create + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-iothub/0.12.0 Azure-SDK-For-Python AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Devices/operationResults/b3NfaWhfZTAxZTgyZGQtMzc0Ny00ODY2LTlkNjktNjYwMmZkZjNjMDZh?api-version=2020-03-01&operationSource=os_ih&asyncinfo + response: + body: + string: '{"status":"Succeeded"}' + headers: + cache-control: + - no-cache + content-length: + - '22' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 18 May 2020 07:08:41 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - iot hub create + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-iothub/0.12.0 Azure-SDK-For-Python AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.Devices/IotHubs/cli-test-tsi-iothub000003?api-version=2020-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.Devices/IotHubs/cli-test-tsi-iothub000003","name":"cli-test-tsi-iothub000003","type":"Microsoft.Devices/IotHubs","location":"westus","tags":{},"subscriptionid":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","resourcegroup":"cli_test_timeseriesinsights000001","etag":"AAAAAA2+LAo=","properties":{"locations":[{"location":"West + US","role":"primary"},{"location":"East US","role":"secondary"}],"state":"Active","provisioningState":"Succeeded","ipFilterRules":[],"hostName":"cli-test-tsi-iothub000003.azure-devices.net","eventHubEndpoints":{"events":{"retentionTimeInDays":1,"partitionCount":4,"partitionIds":["0","1","2","3"],"path":"cli-test-tsi-iothub000003","endpoint":"sb://iothub-ns-cli-test-t-3461315-188ebc2b20.servicebus.windows.net/"}},"routing":{"endpoints":{"serviceBusQueues":[],"serviceBusTopics":[],"eventHubs":[],"storageContainers":[]},"routes":[],"fallbackRoute":{"name":"$fallback","source":"DeviceMessages","condition":"true","endpointNames":["events"],"isEnabled":true}},"storageEndpoints":{"$default":{"sasTtlAsIso8601":"PT1H","connectionString":"","containerName":""}},"messagingEndpoints":{"fileNotifications":{"lockDurationAsIso8601":"PT1M","ttlAsIso8601":"PT1H","maxDeliveryCount":10}},"enableFileUploadNotifications":false,"cloudToDevice":{"maxDeliveryCount":10,"defaultTtlAsIso8601":"PT1H","feedback":{"lockDurationAsIso8601":"PT5S","ttlAsIso8601":"PT1H","maxDeliveryCount":10}},"features":"None"},"sku":{"name":"S1","tier":"Standard","capacity":1}}' + headers: + cache-control: + - no-cache + content-length: + - '1673' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 18 May 2020 07:08:42 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - iot hub policy list + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g --hub-name --query --output + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-iothub/0.12.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.Devices/IotHubs/cli-test-tsi-iothub000003/listkeys?api-version=2020-03-01 + response: + body: + string: '{"value":[{"keyName":"iothubowner","primaryKey":"9BuhbHHHRDa9yuXwtOOZLiJhctrOUaAv4vTz0EYbNJo=","secondaryKey":"puZ4MtfWZRnaKZTx1xoMqMaHG1J9qCS+WXGXwO+bCEE=","rights":"RegistryWrite, + ServiceConnect, DeviceConnect"},{"keyName":"service","primaryKey":"bLELIemhnjk+Yw5CATypKmvJeMxXmtKLTmIprnecsOk=","secondaryKey":"WWn1SrcSLFbkhDGT+JLRNtw/gfbL3yV9ByqMeD5mjQk=","rights":"ServiceConnect"},{"keyName":"device","primaryKey":"7atGbzE4B15KmrvyjvqrrlxIF4INwkgcxPfalFTilG8=","secondaryKey":"zGzsr2rda9/CE4EWpLFgNpBOQMLyiwu8x3gCQ+yU4P4=","rights":"DeviceConnect"},{"keyName":"registryRead","primaryKey":"G0YTiX1faPxcr2C4zRUCJeCBbkOoXIZ8B7mm0pRMV0Y=","secondaryKey":"A3mwFrEFYoNncdQ44cJ+hav0HkqLw7AKmbbrLExVKM0=","rights":"RegistryRead"},{"keyName":"registryReadWrite","primaryKey":"W/rPthdImPD6OxY5Rufyxw9dv7fcaWIbZf2owIh7c/M=","secondaryKey":"CDqK+UyHFxpmhO5WuVvOddgbYMeeOhe7oVHz84rai3c=","rights":"RegistryWrite"}]}' + headers: + cache-control: + - no-cache + content-length: + - '905' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 18 May 2020 07:08:45 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - timeseriesinsights event-source iothub create + Connection: + - keep-alive + ParameterSetName: + - -g --environment-name --name --consumer-group-name --key-name --shared-access-key + --event-source-resource-id + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_timeseriesinsights000001?api-version=2019-07-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001","name":"cli_test_timeseriesinsights000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2020-05-18T07:05:29Z","StorageType":"Standard_LRS","type":"test"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '471' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 18 May 2020 07:08:45 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: 'b''{"location": "westus", "kind": "Microsoft.IoTHub", "properties": {"eventSourceResourceId": + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.Devices/IotHubs/cli-test-tsi-iothub000003", + "iotHubName": "cli-test-tsi-iothub000003", "consumerGroupName": "$Default", + "keyName": "iothubowner", "sharedAccessKey": "9BuhbHHHRDa9yuXwtOOZLiJhctrOUaAv4vTz0EYbNJo="}}''' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - timeseriesinsights event-source iothub create + Connection: + - keep-alive + Content-Length: + - '466' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -g --environment-name --name --consumer-group-name --key-name --shared-access-key + --event-source-resource-id + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-timeseriesinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-env000004/eventSources/cli-test-tsi-es000002?api-version=2018-08-15-preview + response: + body: + string: '{"kind":"Microsoft.IoTHub","location":"westus","tags":null,"properties":{"eventSourceResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.Devices/IotHubs/cli-test-tsi-iothub000003","iotHubName":"cli-test-tsi-iothub000003","consumerGroupName":"$Default","keyName":"iothubowner","creationTime":"2020-05-18T07:08:52.3709605Z","provisioningState":"Succeeded"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-env000004/eventsources/cli-test-tsi-es000002","name":"cli-test-tsi-es000002","type":"Microsoft.TimeSeriesInsights/Environments/EventSources"}' + headers: + cache-control: + - no-cache + content-length: + - '840' + content-type: + - application/json + date: + - Mon, 18 May 2020 07:08:53 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1190' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - timeseriesinsights event-source iothub create + Connection: + - keep-alive + ParameterSetName: + - -g --environment-name --name --consumer-group-name --key-name --shared-access-key + --event-source-resource-id --timestamp-property-name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_timeseriesinsights000001?api-version=2019-07-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001","name":"cli_test_timeseriesinsights000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2020-05-18T07:05:29Z","StorageType":"Standard_LRS","type":"test"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '471' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 18 May 2020 07:08:54 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: 'b''{"location": "westus", "kind": "Microsoft.IoTHub", "properties": {"timestampPropertyName": + "timestampProp", "eventSourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.Devices/IotHubs/cli-test-tsi-iothub000003", + "iotHubName": "cli-test-tsi-iothub000003", "consumerGroupName": "$Default", + "keyName": "iothubowner", "sharedAccessKey": "9BuhbHHHRDa9yuXwtOOZLiJhctrOUaAv4vTz0EYbNJo="}}''' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - timeseriesinsights event-source iothub create + Connection: + - keep-alive + Content-Length: + - '508' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -g --environment-name --name --consumer-group-name --key-name --shared-access-key + --event-source-resource-id --timestamp-property-name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-timeseriesinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-env000004/eventSources/cli-test-tsi-es000002?api-version=2018-08-15-preview + response: + body: + string: '{"kind":"Microsoft.IoTHub","location":"westus","tags":null,"properties":{"timestampPropertyName":"timestampProp","eventSourceResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.Devices/IotHubs/cli-test-tsi-iothub000003","iotHubName":"cli-test-tsi-iothub000003","consumerGroupName":"$Default","keyName":"iothubowner","creationTime":"2020-05-18T07:08:52.3709605Z","provisioningState":"Succeeded"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-env000004/eventsources/cli-test-tsi-es000002","name":"cli-test-tsi-es000002","type":"Microsoft.TimeSeriesInsights/Environments/EventSources"}' + headers: + cache-control: + - no-cache + content-length: + - '880' + content-type: + - application/json + date: + - Mon, 18 May 2020 07:08:56 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1190' + status: + code: 200 + message: OK +- request: + body: '{"properties": {"timestampPropertyName": "DeviceId1"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - timeseriesinsights event-source iothub update + Connection: + - keep-alive + Content-Length: + - '54' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -g --environment-name --name --timestamp-property-name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-timeseriesinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-env000004/eventSources/cli-test-tsi-es000002?api-version=2018-08-15-preview + response: + body: + string: '{"kind":"Microsoft.IoTHub","location":"westus","tags":null,"properties":{"timestampPropertyName":"DeviceId1","eventSourceResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.Devices/IotHubs/cli-test-tsi-iothub000003","iotHubName":"cli-test-tsi-iothub000003","consumerGroupName":"$Default","keyName":"iothubowner","creationTime":"2020-05-18T07:08:52.3709605Z","provisioningState":"Succeeded"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-env000004/eventsources/cli-test-tsi-es000002","name":"cli-test-tsi-es000002","type":"Microsoft.TimeSeriesInsights/Environments/EventSources"}' + headers: + cache-control: + - no-cache + content-length: + - '876' + content-type: + - application/json + date: + - Mon, 18 May 2020 07:08:58 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1187' + status: + code: 200 + message: OK +- request: + body: '{"properties": {"localTimestamp": {"format": "Embedded"}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - timeseriesinsights event-source iothub update + Connection: + - keep-alive + Content-Length: + - '58' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -g --environment-name --name --local-timestamp-format + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-timeseriesinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-env000004/eventSources/cli-test-tsi-es000002?api-version=2018-08-15-preview + response: + body: + string: '{"kind":"Microsoft.IoTHub","location":"westus","tags":null,"properties":{"timestampPropertyName":"DeviceId1","eventSourceResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.Devices/IotHubs/cli-test-tsi-iothub000003","iotHubName":"cli-test-tsi-iothub000003","consumerGroupName":"$Default","keyName":"iothubowner","creationTime":"2020-05-18T07:08:52.3709605Z","provisioningState":"Succeeded","localTimestamp":{"format":"Embedded","timezoneOffset":null}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-env000004/eventsources/cli-test-tsi-es000002","name":"cli-test-tsi-es000002","type":"Microsoft.TimeSeriesInsights/Environments/EventSources"}' + headers: + cache-control: + - no-cache + content-length: + - '937' + content-type: + - application/json + date: + - Mon, 18 May 2020 07:09:01 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1194' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - iot hub policy renew-key + Connection: + - keep-alive + ParameterSetName: + - -g --hub-name -n --renew-key --query --output + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: HEAD + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_timeseriesinsights000001?api-version=2019-07-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Mon, 18 May 2020 07:09:02 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 204 + message: No Content +- request: + body: '{"name": "cli-test-tsi-iothub000003"}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - iot hub policy renew-key + Connection: + - keep-alive + Content-Length: + - '36' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -g --hub-name -n --renew-key --query --output + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-iothub/0.12.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Devices/checkNameAvailability?api-version=2020-03-01 + response: + body: + string: '{"nameAvailable":false,"reason":"AlreadyExists","message":"IotHub name + ''cli-test-tsi-iothub000003'' is not available"}' + headers: + cache-control: + - no-cache + content-length: + - '116' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 18 May 2020 07:09:04 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - iot hub policy renew-key + Connection: + - keep-alive + ParameterSetName: + - -g --hub-name -n --renew-key --query --output + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-iothub/0.12.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.Devices/IotHubs/cli-test-tsi-iothub000003?api-version=2020-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.Devices/IotHubs/cli-test-tsi-iothub000003","name":"cli-test-tsi-iothub000003","type":"Microsoft.Devices/IotHubs","location":"westus","tags":{},"subscriptionid":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","resourcegroup":"cli_test_timeseriesinsights000001","etag":"AAAAAA2+LAo=","properties":{"locations":[{"location":"West + US","role":"primary"},{"location":"East US","role":"secondary"}],"state":"Active","provisioningState":"Succeeded","ipFilterRules":[],"hostName":"cli-test-tsi-iothub000003.azure-devices.net","eventHubEndpoints":{"events":{"retentionTimeInDays":1,"partitionCount":4,"partitionIds":["0","1","2","3"],"path":"cli-test-tsi-iothub000003","endpoint":"sb://iothub-ns-cli-test-t-3461315-188ebc2b20.servicebus.windows.net/"}},"routing":{"endpoints":{"serviceBusQueues":[],"serviceBusTopics":[],"eventHubs":[],"storageContainers":[]},"routes":[],"fallbackRoute":{"name":"$fallback","source":"DeviceMessages","condition":"true","endpointNames":["events"],"isEnabled":true}},"storageEndpoints":{"$default":{"sasTtlAsIso8601":"PT1H","connectionString":"","containerName":""}},"messagingEndpoints":{"fileNotifications":{"lockDurationAsIso8601":"PT1M","ttlAsIso8601":"PT1H","maxDeliveryCount":10}},"enableFileUploadNotifications":false,"cloudToDevice":{"maxDeliveryCount":10,"defaultTtlAsIso8601":"PT1H","feedback":{"lockDurationAsIso8601":"PT5S","ttlAsIso8601":"PT1H","maxDeliveryCount":10}},"features":"None"},"sku":{"name":"S1","tier":"Standard","capacity":1}}' + headers: + cache-control: + - no-cache + content-length: + - '1673' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 18 May 2020 07:09:04 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - iot hub policy renew-key + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g --hub-name -n --renew-key --query --output + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-iothub/0.12.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.Devices/IotHubs/cli-test-tsi-iothub000003/listkeys?api-version=2020-03-01 + response: + body: + string: '{"value":[{"keyName":"iothubowner","primaryKey":"9BuhbHHHRDa9yuXwtOOZLiJhctrOUaAv4vTz0EYbNJo=","secondaryKey":"puZ4MtfWZRnaKZTx1xoMqMaHG1J9qCS+WXGXwO+bCEE=","rights":"RegistryWrite, + ServiceConnect, DeviceConnect"},{"keyName":"service","primaryKey":"bLELIemhnjk+Yw5CATypKmvJeMxXmtKLTmIprnecsOk=","secondaryKey":"WWn1SrcSLFbkhDGT+JLRNtw/gfbL3yV9ByqMeD5mjQk=","rights":"ServiceConnect"},{"keyName":"device","primaryKey":"7atGbzE4B15KmrvyjvqrrlxIF4INwkgcxPfalFTilG8=","secondaryKey":"zGzsr2rda9/CE4EWpLFgNpBOQMLyiwu8x3gCQ+yU4P4=","rights":"DeviceConnect"},{"keyName":"registryRead","primaryKey":"G0YTiX1faPxcr2C4zRUCJeCBbkOoXIZ8B7mm0pRMV0Y=","secondaryKey":"A3mwFrEFYoNncdQ44cJ+hav0HkqLw7AKmbbrLExVKM0=","rights":"RegistryRead"},{"keyName":"registryReadWrite","primaryKey":"W/rPthdImPD6OxY5Rufyxw9dv7fcaWIbZf2owIh7c/M=","secondaryKey":"CDqK+UyHFxpmhO5WuVvOddgbYMeeOhe7oVHz84rai3c=","rights":"RegistryWrite"}]}' + headers: + cache-control: + - no-cache + content-length: + - '905' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 18 May 2020 07:09:05 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + status: + code: 200 + message: OK +- request: + body: '{"location": "westus", "tags": {}, "etag": "AAAAAA2+LAo=", "properties": + {"authorizationPolicies": [{"keyName": "service", "primaryKey": "bLELIemhnjk+Yw5CATypKmvJeMxXmtKLTmIprnecsOk=", + "secondaryKey": "WWn1SrcSLFbkhDGT+JLRNtw/gfbL3yV9ByqMeD5mjQk=", "rights": "ServiceConnect"}, + {"keyName": "device", "primaryKey": "7atGbzE4B15KmrvyjvqrrlxIF4INwkgcxPfalFTilG8=", + "secondaryKey": "zGzsr2rda9/CE4EWpLFgNpBOQMLyiwu8x3gCQ+yU4P4=", "rights": "DeviceConnect"}, + {"keyName": "registryRead", "primaryKey": "G0YTiX1faPxcr2C4zRUCJeCBbkOoXIZ8B7mm0pRMV0Y=", + "secondaryKey": "A3mwFrEFYoNncdQ44cJ+hav0HkqLw7AKmbbrLExVKM0=", "rights": "RegistryRead"}, + {"keyName": "registryReadWrite", "primaryKey": "W/rPthdImPD6OxY5Rufyxw9dv7fcaWIbZf2owIh7c/M=", + "secondaryKey": "CDqK+UyHFxpmhO5WuVvOddgbYMeeOhe7oVHz84rai3c=", "rights": "RegistryWrite"}, + {"keyName": "iothubowner", "primaryKey": "LAVpWjRcU0xpam42amEzPhgCTx4eXFhcew8PcA5jG3c=", + "secondaryKey": "puZ4MtfWZRnaKZTx1xoMqMaHG1J9qCS+WXGXwO+bCEE=", "rights": "RegistryWrite, + ServiceConnect, DeviceConnect"}], "ipFilterRules": [], "eventHubEndpoints": + {"events": {"retentionTimeInDays": 1, "partitionCount": 4}}, "routing": {"endpoints": + {"serviceBusQueues": [], "serviceBusTopics": [], "eventHubs": [], "storageContainers": + []}, "routes": [], "fallbackRoute": {"name": "$fallback", "source": "DeviceMessages", + "condition": "true", "endpointNames": ["events"], "isEnabled": true}}, "storageEndpoints": + {"$default": {"sasTtlAsIso8601": "PT1H", "connectionString": "", "containerName": + ""}}, "messagingEndpoints": {"fileNotifications": {"lockDurationAsIso8601": + "PT1M", "ttlAsIso8601": "PT1H", "maxDeliveryCount": 10}}, "enableFileUploadNotifications": + false, "cloudToDevice": {"maxDeliveryCount": 10, "defaultTtlAsIso8601": "PT1H", + "feedback": {"lockDurationAsIso8601": "PT5S", "ttlAsIso8601": "PT1H", "maxDeliveryCount": + 10}}, "features": "None"}, "sku": {"name": "S1", "capacity": 1}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - iot hub policy renew-key + Connection: + - keep-alive + Content-Length: + - '1910' + Content-Type: + - application/json; charset=utf-8 + If-Match: + - '{''IF-MATCH'': ''AAAAAA2+LAo=''}' + ParameterSetName: + - -g --hub-name -n --renew-key --query --output + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-iothub/0.12.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.Devices/IotHubs/cli-test-tsi-iothub000003?api-version=2020-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.Devices/IotHubs/cli-test-tsi-iothub000003","name":"cli-test-tsi-iothub000003","type":"Microsoft.Devices/IotHubs","location":"westus","tags":{},"subscriptionid":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","resourcegroup":"cli_test_timeseriesinsights000001","etag":"AAAAAA2+LAo=","properties":{"operationsMonitoringProperties":{"events":{"None":"None","Connections":"None","DeviceTelemetry":"None","C2DCommands":"None","DeviceIdentityOperations":"None","FileUploadOperations":"None","Routes":"None"}},"provisioningState":"Accepted","authorizationPolicies":[{"keyName":"service","primaryKey":"bLELIemhnjk+Yw5CATypKmvJeMxXmtKLTmIprnecsOk=","secondaryKey":"WWn1SrcSLFbkhDGT+JLRNtw/gfbL3yV9ByqMeD5mjQk=","rights":"ServiceConnect"},{"keyName":"device","primaryKey":"7atGbzE4B15KmrvyjvqrrlxIF4INwkgcxPfalFTilG8=","secondaryKey":"zGzsr2rda9/CE4EWpLFgNpBOQMLyiwu8x3gCQ+yU4P4=","rights":"DeviceConnect"},{"keyName":"registryRead","primaryKey":"G0YTiX1faPxcr2C4zRUCJeCBbkOoXIZ8B7mm0pRMV0Y=","secondaryKey":"A3mwFrEFYoNncdQ44cJ+hav0HkqLw7AKmbbrLExVKM0=","rights":"RegistryRead"},{"keyName":"registryReadWrite","primaryKey":"W/rPthdImPD6OxY5Rufyxw9dv7fcaWIbZf2owIh7c/M=","secondaryKey":"CDqK+UyHFxpmhO5WuVvOddgbYMeeOhe7oVHz84rai3c=","rights":"RegistryWrite"},{"keyName":"iothubowner","primaryKey":"LAVpWjRcU0xpam42amEzPhgCTx4eXFhcew8PcA5jG3c=","secondaryKey":"puZ4MtfWZRnaKZTx1xoMqMaHG1J9qCS+WXGXwO+bCEE=","rights":"RegistryWrite, + ServiceConnect, DeviceConnect"}],"ipFilterRules":[],"eventHubEndpoints":{"events":{"retentionTimeInDays":1,"partitionCount":4},"operationsMonitoringEvents":{"retentionTimeInDays":1,"partitionCount":4,"partitionIds":["0","1","2","3"],"path":"cli-test-tsi-iothub000003-operationmonitoring","endpoint":"sb://iothub-ns-cli-test-t-3461315-188ebc2b20.servicebus.windows.net/","internalAuthorizationPolicies":[{"KeyName":"scaleunitsend-60b9a1f6-2453-4776-b1be-e83b09fa3b2d-iothub","PrimaryKey":"T9nRN7RE73qmfVEI4fqcoEPnaghcdXLgPw6yfvZ0vBY=","SecondaryKey":"197AOuWEIFth1vD0PH4cfDOajJo6OXKQdZSohvs9uLI=","ClaimType":"SharedAccessKey","ClaimValue":"None","Rights":["Send"],"CreatedTime":"Mon, + 18 May 2020 07:08:09 GMT","ModifiedTime":"Mon, 18 May 2020 07:08:09 GMT"},{"KeyName":"owner-ec036545-b12b-41ec-9188-5f37fe31e3ee-iothub","PrimaryKey":"n6/7RJBry2XZNask8KflxpEjBA2bYxRNa/MExvd4xk8=","SecondaryKey":"n5mceCSM5hHQBKZUcDR8y0cWbicj+HVa8D6rrs0e2Go=","ClaimType":"SharedAccessKey","ClaimValue":"None","Rights":["Listen","Manage","Send"],"CreatedTime":"Mon, + 18 May 2020 07:08:09 GMT","ModifiedTime":"Mon, 18 May 2020 07:08:09 GMT"}],"authorizationPolicies":[{"KeyName":"iothubowner","PrimaryKey":"9BuhbHHHRDa9yuXwtOOZLiJhctrOUaAv4vTz0EYbNJo=","SecondaryKey":"puZ4MtfWZRnaKZTx1xoMqMaHG1J9qCS+WXGXwO+bCEE=","ClaimType":"SharedAccessKey","ClaimValue":"None","Rights":["Listen"],"CreatedTime":"Mon, + 18 May 2020 07:08:09 GMT","ModifiedTime":"Mon, 18 May 2020 07:08:09 GMT"},{"KeyName":"service","PrimaryKey":"bLELIemhnjk+Yw5CATypKmvJeMxXmtKLTmIprnecsOk=","SecondaryKey":"WWn1SrcSLFbkhDGT+JLRNtw/gfbL3yV9ByqMeD5mjQk=","ClaimType":"SharedAccessKey","ClaimValue":"None","Rights":["Listen"],"CreatedTime":"Mon, + 18 May 2020 07:08:09 GMT","ModifiedTime":"Mon, 18 May 2020 07:08:09 GMT"}]}},"routing":{"endpoints":{"serviceBusQueues":[],"serviceBusTopics":[],"eventHubs":[],"storageContainers":[]},"routes":[],"fallbackRoute":{"name":"$fallback","source":"DeviceMessages","condition":"true","endpointNames":["events"],"isEnabled":true}},"storageEndpoints":{"$default":{"sasTtlAsIso8601":"PT1H","connectionString":"","containerName":""}},"messagingEndpoints":{"fileNotifications":{"lockDurationAsIso8601":"PT1M","ttlAsIso8601":"PT1H","maxDeliveryCount":10}},"enableFileUploadNotifications":false,"cloudToDevice":{"maxDeliveryCount":10,"defaultTtlAsIso8601":"PT1H","feedback":{"lockDurationAsIso8601":"PT5S","ttlAsIso8601":"PT1H","maxDeliveryCount":10}},"features":"None"},"sku":{"name":"S1","tier":"Standard","capacity":1}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Devices/operationResults/b3NfaWhfOWUxNzg4MzMtZDc4My00NjE5LWFmNTYtYTEwMGQ5ZDM0YjZi?api-version=2020-03-01&operationSource=os_ih&asyncinfo + cache-control: + - no-cache + content-length: + - '4122' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 18 May 2020 07:09:11 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '4999' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - iot hub policy renew-key + Connection: + - keep-alive + ParameterSetName: + - -g --hub-name -n --renew-key --query --output + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-iothub/0.12.0 Azure-SDK-For-Python AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Devices/operationResults/b3NfaWhfOWUxNzg4MzMtZDc4My00NjE5LWFmNTYtYTEwMGQ5ZDM0YjZi?api-version=2020-03-01&operationSource=os_ih&asyncinfo + response: + body: + string: '{"status":"Succeeded"}' + headers: + cache-control: + - no-cache + content-length: + - '22' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 18 May 2020 07:09:42 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - iot hub policy renew-key + Connection: + - keep-alive + ParameterSetName: + - -g --hub-name -n --renew-key --query --output + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-iothub/0.12.0 Azure-SDK-For-Python AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.Devices/IotHubs/cli-test-tsi-iothub000003?api-version=2020-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.Devices/IotHubs/cli-test-tsi-iothub000003","name":"cli-test-tsi-iothub000003","type":"Microsoft.Devices/IotHubs","location":"westus","tags":{},"subscriptionid":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","resourcegroup":"cli_test_timeseriesinsights000001","etag":"AAAAAA2+La0=","properties":{"locations":[{"location":"West + US","role":"primary"},{"location":"East US","role":"secondary"}],"state":"Active","provisioningState":"Succeeded","ipFilterRules":[],"hostName":"cli-test-tsi-iothub000003.azure-devices.net","eventHubEndpoints":{"events":{"retentionTimeInDays":1,"partitionCount":4,"partitionIds":["0","1","2","3"],"path":"cli-test-tsi-iothub000003","endpoint":"sb://iothub-ns-cli-test-t-3461315-188ebc2b20.servicebus.windows.net/"}},"routing":{"endpoints":{"serviceBusQueues":[],"serviceBusTopics":[],"eventHubs":[],"storageContainers":[]},"routes":[],"fallbackRoute":{"name":"$fallback","source":"DeviceMessages","condition":"true","endpointNames":["events"],"isEnabled":true}},"storageEndpoints":{"$default":{"sasTtlAsIso8601":"PT1H","connectionString":"","containerName":""}},"messagingEndpoints":{"fileNotifications":{"lockDurationAsIso8601":"PT1M","ttlAsIso8601":"PT1H","maxDeliveryCount":10}},"enableFileUploadNotifications":false,"cloudToDevice":{"maxDeliveryCount":10,"defaultTtlAsIso8601":"PT1H","feedback":{"lockDurationAsIso8601":"PT5S","ttlAsIso8601":"PT1H","maxDeliveryCount":10}},"features":"None"},"sku":{"name":"S1","tier":"Standard","capacity":1},"identity":{"principalId":null,"tenantId":null,"type":"None"}}' + headers: + cache-control: + - no-cache + content-length: + - '1735' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 18 May 2020 07:09:43 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - iot hub policy renew-key + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g --hub-name -n --renew-key --query --output + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-iothub/0.12.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.Devices/IotHubs/cli-test-tsi-iothub000003/IotHubKeys/iothubowner/listkeys?api-version=2020-03-01 + response: + body: + string: '{"keyName":"iothubowner","primaryKey":"LAVpWjRcU0xpam42amEzPhgCTx4eXFhcew8PcA5jG3c=","secondaryKey":"puZ4MtfWZRnaKZTx1xoMqMaHG1J9qCS+WXGXwO+bCEE=","rights":"RegistryWrite, + ServiceConnect, DeviceConnect"}' + headers: + cache-control: + - no-cache + content-length: + - '203' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 18 May 2020 07:09:45 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1197' + status: + code: 200 + message: OK +- request: + body: '{"properties": {"sharedAccessKey": "LAVpWjRcU0xpam42amEzPhgCTx4eXFhcew8PcA5jG3c="}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - timeseriesinsights event-source iothub update + Connection: + - keep-alive + Content-Length: + - '83' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -g --environment-name --name --shared-access-key + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-timeseriesinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-env000004/eventSources/cli-test-tsi-es000002?api-version=2018-08-15-preview + response: + body: + string: '{"kind":"Microsoft.IoTHub","location":"westus","tags":null,"properties":{"timestampPropertyName":"DeviceId1","eventSourceResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.Devices/IotHubs/cli-test-tsi-iothub000003","iotHubName":"cli-test-tsi-iothub000003","consumerGroupName":"$Default","keyName":"iothubowner","creationTime":"2020-05-18T07:08:52.3709605Z","provisioningState":"Succeeded","localTimestamp":{"format":"Embedded","timezoneOffset":null}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-env000004/eventsources/cli-test-tsi-es000002","name":"cli-test-tsi-es000002","type":"Microsoft.TimeSeriesInsights/Environments/EventSources"}' + headers: + cache-control: + - no-cache + content-length: + - '937' + content-type: + - application/json + date: + - Mon, 18 May 2020 07:09:47 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1187' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - timeseriesinsights event-source list + Connection: + - keep-alive + ParameterSetName: + - -g --environment-name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-timeseriesinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-env000004/eventSources?api-version=2018-08-15-preview + response: + body: + string: '{"value":[{"kind":"Microsoft.IoTHub","location":"westus","tags":null,"properties":{"timestampPropertyName":"DeviceId1","eventSourceResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.Devices/IotHubs/cli-test-tsi-iothub000003","iotHubName":"cli-test-tsi-iothub000003","consumerGroupName":"$Default","keyName":"iothubowner","creationTime":"2020-05-18T07:08:52.3709605Z","provisioningState":"Succeeded","localTimestamp":{"format":"Embedded","timezoneOffset":null}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-env000004/eventsources/cli-test-tsi-es000002","name":"cli-test-tsi-es000002","type":"Microsoft.TimeSeriesInsights/Environments/EventSources"}]}' + headers: + cache-control: + - no-cache + content-length: + - '949' + content-type: + - application/json + date: + - Mon, 18 May 2020 07:09:50 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - timeseriesinsights event-source show + Connection: + - keep-alive + ParameterSetName: + - -g --environment-name -n + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-timeseriesinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-env000004/eventSources/cli-test-tsi-es000002?api-version=2018-08-15-preview + response: + body: + string: '{"kind":"Microsoft.IoTHub","location":"westus","tags":null,"properties":{"timestampPropertyName":"DeviceId1","eventSourceResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.Devices/IotHubs/cli-test-tsi-iothub000003","iotHubName":"cli-test-tsi-iothub000003","consumerGroupName":"$Default","keyName":"iothubowner","creationTime":"2020-05-18T07:08:52.3709605Z","provisioningState":"Succeeded","localTimestamp":{"format":"Embedded","timezoneOffset":null}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-env000004/eventsources/cli-test-tsi-es000002","name":"cli-test-tsi-es000002","type":"Microsoft.TimeSeriesInsights/Environments/EventSources"}' + headers: + cache-control: + - no-cache + content-length: + - '937' + content-type: + - application/json + date: + - Mon, 18 May 2020 07:09:52 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - timeseriesinsights event-source delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g --environment-name -n --yes + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-timeseriesinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-env000004/eventSources/cli-test-tsi-es000002?api-version=2018-08-15-preview + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Mon, 18 May 2020 07:09:57 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14997' + status: + code: 200 + message: OK +version: 1 diff --git a/src/timeseriesinsights/azext_timeseriesinsights/tests/latest/recordings/test_timeseriesinsights_reference_data_set.yaml b/src/timeseriesinsights/azext_timeseriesinsights/tests/latest/recordings/test_timeseriesinsights_reference_data_set.yaml new file mode 100644 index 00000000000..360516a0251 --- /dev/null +++ b/src/timeseriesinsights/azext_timeseriesinsights/tests/latest/recordings/test_timeseriesinsights_reference_data_set.yaml @@ -0,0 +1,452 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - timeseriesinsights environment standard create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --sku-name --sku-capacity --data-retention-time --partition-key-properties + --storage-limit-exceeded-behavior + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_timeseriesinsights000001?api-version=2019-07-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001","name":"cli_test_timeseriesinsights000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2020-05-18T07:05:29Z","StorageType":"Standard_LRS","type":"test"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '471' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 18 May 2020 07:05:34 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"location": "westus", "sku": {"name": "S1", "capacity": 1}, "kind": "Standard", + "properties": {"dataRetentionTime": "P31D", "storageLimitExceededBehavior": + "PauseIngress", "partitionKeyProperties": [{"name": "DeviceId1", "type": "String"}]}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - timeseriesinsights environment standard create + Connection: + - keep-alive + Content-Length: + - '242' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - --resource-group --name --sku-name --sku-capacity --data-retention-time --partition-key-properties + --storage-limit-exceeded-behavior + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-timeseriesinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-env000003?api-version=2018-08-15-preview + response: + body: + string: '{"sku":{"name":"S1","capacity":1},"kind":"Standard","location":"westus","tags":null,"properties":{"dataRetentionTime":"P31D","storageLimitExceededBehavior":"PauseIngress","partitionKeyProperties":[{"name":"DeviceId1","type":"String"}],"creationTime":"2020-05-18T07:05:41.1766404+00:00","provisioningState":"Accepted","dataAccessId":"a096910d-50b3-492e-a5f0-7e82868516c8","dataAccessFqdn":"a096910d-50b3-492e-a5f0-7e82868516c8.env.timeseries.azure.com","requestApiVersion":"2018-08-15-preview"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-env000003","name":"cli-test-tsi-env000003","type":"Microsoft.TimeSeriesInsights/Environments"}' + headers: + cache-control: + - no-cache + content-length: + - '806' + content-type: + - application/json + date: + - Mon, 18 May 2020 07:05:42 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1190' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - timeseriesinsights environment standard create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --sku-name --sku-capacity --data-retention-time --partition-key-properties + --storage-limit-exceeded-behavior + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-timeseriesinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.6.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-env000003?api-version=2018-08-15-preview + response: + body: + string: '{"sku":{"name":"S1","capacity":1},"kind":"Standard","location":"westus","tags":null,"properties":{"dataRetentionTime":"P31D","storageLimitExceededBehavior":"PauseIngress","partitionKeyProperties":[{"name":"DeviceId1","type":"String"}],"creationTime":"2020-05-18T07:05:41.1766404Z","provisioningState":"Succeeded","requestApiVersion":"2018-08-15-preview","dataAccessId":"a096910d-50b3-492e-a5f0-7e82868516c8","dataAccessFqdn":"a096910d-50b3-492e-a5f0-7e82868516c8.env.timeseries.azure.com"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-env000003","name":"cli-test-tsi-env000003","type":"Microsoft.TimeSeriesInsights/Environments"}' + headers: + cache-control: + - no-cache + content-length: + - '802' + content-type: + - application/json + date: + - Mon, 18 May 2020 07:06:14 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - timeseriesinsights reference-data-set create + Connection: + - keep-alive + ParameterSetName: + - -g --environment-name --name --key-properties --data-string-comparison-behavior + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_timeseriesinsights000001?api-version=2019-07-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001","name":"cli_test_timeseriesinsights000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2020-05-18T07:05:29Z","StorageType":"Standard_LRS","type":"test"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '471' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 18 May 2020 07:06:15 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"location": "westus", "properties": {"keyProperties": [{"name": "DeviceId1", + "type": "String"}, {"name": "DeviceFloor", "type": "Double"}], "dataStringComparisonBehavior": + "Ordinal"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - timeseriesinsights reference-data-set create + Connection: + - keep-alive + Content-Length: + - '184' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -g --environment-name --name --key-properties --data-string-comparison-behavior + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-timeseriesinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-env000003/referenceDataSets/clitesttsirds000002?api-version=2018-08-15-preview + response: + body: + string: '{"location":"westus","tags":null,"properties":{"keyProperties":[{"name":"DeviceId1","type":"String"},{"name":"DeviceFloor","type":"Double"}],"dataStringComparisonBehavior":"Ordinal","creationTime":"2020-05-18T07:06:18.4894874Z","provisioningState":"Succeeded"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-env000003/referenceDataSets/clitesttsirds000002","name":"clitesttsirds000002","type":"Microsoft.TimeSeriesInsights/Environments/ReferenceDataSets"}' + headers: + cache-control: + - no-cache + content-length: + - '634' + content-type: + - application/json + date: + - Mon, 18 May 2020 07:06:18 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1188' + status: + code: 200 + message: OK +- request: + body: '{"tags": {"mykey": "myvalue"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - timeseriesinsights reference-data-set update + Connection: + - keep-alive + Content-Length: + - '30' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -g --environment-name --name --tags + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-timeseriesinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-env000003/referenceDataSets/clitesttsirds000002?api-version=2018-08-15-preview + response: + body: + string: '{"location":"westus","tags":{"mykey":"myvalue"},"properties":{"keyProperties":[{"name":"DeviceId1","type":"String"},{"name":"DeviceFloor","type":"Double"}],"dataStringComparisonBehavior":"Ordinal","creationTime":"2020-05-18T07:06:18.4894874Z","provisioningState":"Succeeded"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-env000003/referenceDataSets/clitesttsirds000002","name":"clitesttsirds000002","type":"Microsoft.TimeSeriesInsights/Environments/ReferenceDataSets"}' + headers: + cache-control: + - no-cache + content-length: + - '649' + content-type: + - application/json + date: + - Mon, 18 May 2020 07:06:36 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1187' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - timeseriesinsights reference-data-set list + Connection: + - keep-alive + ParameterSetName: + - -g --environment-name + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-timeseriesinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-env000003/referenceDataSets?api-version=2018-08-15-preview + response: + body: + string: '{"value":[{"location":"westus","tags":{"mykey":"myvalue"},"properties":{"keyProperties":[{"name":"DeviceId1","type":"String"},{"name":"DeviceFloor","type":"Double"}],"dataStringComparisonBehavior":"Ordinal","creationTime":"2020-05-18T07:06:18.4894874Z","provisioningState":"Succeeded"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-env000003/referenceDataSets/clitesttsirds000002","name":"clitesttsirds000002","type":"Microsoft.TimeSeriesInsights/Environments/ReferenceDataSets"}]}' + headers: + cache-control: + - no-cache + content-length: + - '661' + content-type: + - application/json + date: + - Mon, 18 May 2020 07:06:38 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - timeseriesinsights reference-data-set show + Connection: + - keep-alive + ParameterSetName: + - -g --environment-name -n + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-timeseriesinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-env000003/referenceDataSets/clitesttsirds000002?api-version=2018-08-15-preview + response: + body: + string: '{"location":"westus","tags":{"mykey":"myvalue"},"properties":{"keyProperties":[{"name":"DeviceId1","type":"String"},{"name":"DeviceFloor","type":"Double"}],"dataStringComparisonBehavior":"Ordinal","creationTime":"2020-05-18T07:06:18.4894874Z","provisioningState":"Succeeded"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-env000003/referenceDataSets/clitesttsirds000002","name":"clitesttsirds000002","type":"Microsoft.TimeSeriesInsights/Environments/ReferenceDataSets"}' + headers: + cache-control: + - no-cache + content-length: + - '649' + content-type: + - application/json + date: + - Mon, 18 May 2020 07:06:40 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - timeseriesinsights reference-data-set delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g --environment-name -n --yes + User-Agent: + - python/3.8.1 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.3 + azure-mgmt-timeseriesinsights/0.2.0 Azure-SDK-For-Python AZURECLI/2.6.0 + accept-language: + - en-US + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_timeseriesinsights000001/providers/Microsoft.TimeSeriesInsights/environments/cli-test-tsi-env000003/referenceDataSets/clitesttsirds000002?api-version=2018-08-15-preview + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Mon, 18 May 2020 07:06:46 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14995' + status: + code: 200 + message: OK +version: 1 diff --git a/src/timeseriesinsights/azext_timeseriesinsights/tests/latest/test_timeseriesinsights_scenario.py b/src/timeseriesinsights/azext_timeseriesinsights/tests/latest/test_timeseriesinsights_scenario.py new file mode 100644 index 00000000000..04c6ebe96c7 --- /dev/null +++ b/src/timeseriesinsights/azext_timeseriesinsights/tests/latest/test_timeseriesinsights_scenario.py @@ -0,0 +1,280 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +import os +import time +from azure.cli.testsdk import (ScenarioTest, ResourceGroupPreparer, StorageAccountPreparer) + + +TEST_DIR = os.path.abspath(os.path.join(os.path.abspath(__file__), '..')) + + +class TimeSeriesInsightsClientScenarioTest(ScenarioTest): + + def _create_timeseriesinsights_environment(self): + self.kwargs.update({ + 'env': self.create_random_name('cli-test-tsi-env', 24), + }) + # Create an environment with the name of {env}. Similar to + # https://github.com/Azure/azure-cli/blob/31a9724478c67751ae0bee6cc0d9b75b763df17c/src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/test_keyvault_commands.py#L34 + return self.cmd('az timeseriesinsights environment standard create ' + '--resource-group {rg} ' + '--name {env} ' + '--sku-name S1 ' + '--sku-capacity 1 ' + '--data-retention-time 31 ' + '--partition-key-properties DeviceId1 ' + '--storage-limit-exceeded-behavior PauseIngress') + + @ResourceGroupPreparer(name_prefix='cli_test_timeseriesinsights') + def test_timeseriesinsights_environment_standard(self, resource_group): + self.kwargs.update({ + 'env': self.create_random_name('cli-test-tsi-env', 24), + }) + + # Test environment standard create + self.cmd('az timeseriesinsights environment standard create ' + '--resource-group {rg} ' + '--name {env} ' + '--sku-name S1 ' + '--sku-capacity 1 ' + '--data-retention-time 7 ' + '--partition-key-properties DeviceId1 ' + '--storage-limit-exceeded-behavior PauseIngress', + checks=[self.check('name', '{env}')]) + + self.cmd('az timeseriesinsights environment standard update --resource-group {rg} --name {env} --sku-name S1 --sku-capacity 2', + checks=[self.check('sku.capacity', '2')]) + + self.cmd('az timeseriesinsights environment standard update --resource-group {rg} --name {env} --data-retention-time 8', + checks=[self.check('dataRetentionTime', '8 days, 0:00:00')]) + + self.cmd('az timeseriesinsights environment standard update --resource-group {rg} --name {env} --storage-limit-exceeded-behavior PurgeOldData', + checks=[self.check('storageLimitExceededBehavior', 'PurgeOldData')]) + + self.cmd('az timeseriesinsights environment show ' + '--resource-group {rg} ' + '--name {env}', + checks=[self.check('name', '{env}')]) + + self.cmd('az timeseriesinsights environment list ' + '--resource-group {rg}', + checks=[self.check('length(@)', 1)]) + + self.cmd('az timeseriesinsights environment list', + checks=[self.check("length([?name=='{env}'])", 1)]) + + self.cmd('az timeseriesinsights environment delete ' + '--resource-group {rg} ' + '--name {env} --yes', + checks=[]) + + self.cmd('az timeseriesinsights environment list ' + '--resource-group {rg}', + checks=[self.check('length(@)', 0)]) + + @ResourceGroupPreparer(name_prefix='cli_test_timeseriesinsights') + @StorageAccountPreparer() + def test_timeseriesinsights_environment_longterm(self, resource_group, storage_account): + + self.kwargs.update({ + 'env': self.create_random_name('cli-test-tsi-env', 24), + }) + + # Test environment longterm create + key = self.cmd('az storage account keys list -g {rg} -n {sa} --query "[0].value" --output tsv').output + + self.cmd('az timeseriesinsights environment longterm create ' + '--resource-group {rg} ' + '--name {env} ' + '--sku-name L1 ' + '--sku-capacity 1 ' + '--data-retention 7 ' + '--time-series-id-properties DeviceId1 ' + '--storage-account-name {sa} ' + '--storage-management-key ' + key, + checks=[self.check('name', '{env}'), + self.check('timeSeriesIdProperties[0].name', 'DeviceId1')]) + + self.cmd('az timeseriesinsights environment longterm update --resource-group {rg} --name {env} --data-retention 8', + checks=[self.check('dataRetention', '8 days, 0:00:00')]) + + time.sleep(60) + key = self.cmd('az storage account keys renew -g {rg} -n {sa} --key primary --query "[0].value" --output tsv').output + time.sleep(15) + self.cmd('az timeseriesinsights environment longterm update --resource-group {rg} --name {env} --storage-management-key ' + key, + checks=[]) + + @ResourceGroupPreparer(name_prefix='cli_test_timeseriesinsights') + def test_timeseriesinsights_event_source_eventhub(self, resource_group): + self.kwargs.update({ + 'es': self.create_random_name('cli-test-tsi-es', 24), # time series insights event source + 'ehns': self.create_random_name('cli-test-tsi-ehns', 24), # event hub namespace + 'eh': self.create_random_name('cli-test-tsi-eh', 24), # event hub + 'loc': 'westus' + }) + + self._create_timeseriesinsights_environment() + + # Create + + # Prepare the event hub + self.cmd('az eventhubs namespace create -g {rg} -n {ehns}') + result = self.cmd('az eventhubs eventhub create -g {rg} -n {eh} --namespace-name {ehns}').get_output_in_json() + self.kwargs["es_resource_id"] = result["id"] + result = self.cmd('az eventhubs namespace authorization-rule keys list -g {rg} --namespace-name {ehns} -n RootManageSharedAccessKey').get_output_in_json() + self.kwargs["shared_access_key"] = result["primaryKey"] + + # Test --timestamp-property-name is not given + self.cmd('az timeseriesinsights event-source eventhub create -g {rg} --environment-name {env} --name {es} ' + '--key-name RootManageSharedAccessKey ' + '--shared-access-key {shared_access_key} ' + '--event-source-resource-id {es_resource_id} ' + '--consumer-group-name $Default', + checks=[self.check('timestampPropertyName', None)]) + + self.cmd('az timeseriesinsights event-source eventhub create -g {rg} --environment-name {env} --name {es} ' + '--key-name RootManageSharedAccessKey ' + '--shared-access-key {shared_access_key} ' + '--event-source-resource-id {es_resource_id} ' + '--consumer-group-name $Default --timestamp-property-name timestampProp', + checks=[self.check('timestampPropertyName', 'timestampProp')]) + + self.cmd('az timeseriesinsights event-source eventhub update -g {rg} --environment-name {env} --name {es} ' + '--timestamp-property-name DeviceId1') + + # Currently only Embedded is supported + self.cmd('az timeseriesinsights event-source eventhub update -g {rg} --environment-name {env} --name {es} ' + '--local-timestamp-format Embedded') + + # Iana, TimeSpan + # self.cmd('az timeseriesinsights event-source eventhub update -g {rg} --environment-name {env} --name {es} ' + # '--local-timestamp-format Timespan --time-zone-offset-property-name Offset') + + # Renew a key + self.kwargs["shared_access_key"] = self.cmd('az eventhubs namespace authorization-rule keys renew -g {rg} --namespace-name {ehns} -n RootManageSharedAccessKey --key PrimaryKey --query primaryKey --output tsv').output + + self.cmd('az timeseriesinsights event-source eventhub update -g {rg} --environment-name {env} --name {es} --shared-access-key {shared_access_key}') + + # List + self.cmd('az timeseriesinsights event-source list -g {rg} --environment-name {env}', + checks=[self.check('length(@)', 1)]) + + # Show + self.cmd('az timeseriesinsights event-source show -g {rg} --environment-name {env} -n {es}') + + # Delete + self.cmd('az timeseriesinsights event-source delete -g {rg} --environment-name {env} -n {es} --yes') + + @ResourceGroupPreparer(name_prefix='cli_test_timeseriesinsights') + def test_timeseriesinsights_event_source_iothub(self): + self.kwargs.update({ + 'es': self.create_random_name('cli-test-tsi-es', 24), # time series insights event source + 'iothub': self.create_random_name('cli-test-tsi-iothub', 24), # iot hub + 'loc': 'westus' + }) + + self._create_timeseriesinsights_environment() + + # Create + # Prepare the iot hub + result = self.cmd('az iot hub create -g {rg} -n {iothub}').get_output_in_json() + self.kwargs["es_resource_id"] = result["id"] + self.kwargs["key_name"] = "iothubowner" + self.kwargs["shared_access_key"] = self.cmd("az iot hub policy list -g {rg} --hub-name {iothub} --query \"[?keyName=='iothubowner']\".primaryKey --output tsv").output + + # Test --timestamp-property-name is not given + self.cmd('az timeseriesinsights event-source iothub create -g {rg} --environment-name {env} --name {es} ' + '--consumer-group-name $Default ' + '--key-name {key_name} --shared-access-key {shared_access_key} ' + '--event-source-resource-id {es_resource_id}', + checks=[self.check('timestampPropertyName', None)]) + + self.cmd('az timeseriesinsights event-source iothub create -g {rg} --environment-name {env} --name {es} ' + '--consumer-group-name $Default ' + '--key-name {key_name} --shared-access-key {shared_access_key} ' + '--event-source-resource-id {es_resource_id} --timestamp-property-name timestampProp', + checks=[self.check('timestampPropertyName', 'timestampProp')]) + + self.cmd('az timeseriesinsights event-source iothub update -g {rg} --environment-name {env} --name {es} ' + '--timestamp-property-name DeviceId1') + + # Currently only Embedded is supported + self.cmd('az timeseriesinsights event-source iothub update -g {rg} --environment-name {env} --name {es} ' + '--local-timestamp-format Embedded') + + # Iana, TimeSpan + # self.cmd('az timeseriesinsights event-source iothub update -g {rg} --environment-name {env} --name {es} ' + # '--local-timestamp-format Timespan --time-zone-offset-property-name Offset') + + self.kwargs["shared_access_key"] = self.cmd('az iot hub policy renew-key -g {rg} --hub-name {iothub} -n {key_name} --renew-key primary --query primaryKey --output tsv').output + + self.cmd('az timeseriesinsights event-source iothub update -g {rg} --environment-name {env} --name {es} ' + '--shared-access-key {shared_access_key}') + + # List + self.cmd('az timeseriesinsights event-source list -g {rg} --environment-name {env}', + checks=[self.check('length(@)', 1)]) + + # Show + self.cmd('az timeseriesinsights event-source show -g {rg} --environment-name {env} -n {es}') + + # Delete + self.cmd('az timeseriesinsights event-source delete -g {rg} --environment-name {env} -n {es} --yes') + + @ResourceGroupPreparer(name_prefix='cli_test_timeseriesinsights') + def test_timeseriesinsights_reference_data_set(self): + self.kwargs.update({ + 'rds': self.create_random_name('clitesttsirds', 24), # time series insights event source + }) + + self._create_timeseriesinsights_environment() + + # Create + self.cmd('az timeseriesinsights reference-data-set create -g {rg} --environment-name {env} --name {rds} ' + '--key-properties DeviceId1 String DeviceFloor Double --data-string-comparison-behavior Ordinal') + + # Update + self.cmd('az timeseriesinsights reference-data-set update -g {rg} --environment-name {env} --name {rds} ' + '--tags mykey=myvalue') + + # List + self.cmd('az timeseriesinsights reference-data-set list -g {rg} --environment-name {env}', + checks=[self.check('length(@)', 1)]) + + # Show + self.cmd('az timeseriesinsights reference-data-set show -g {rg} --environment-name {env} -n {rds}') + + # Delete + self.cmd('az timeseriesinsights reference-data-set delete -g {rg} --environment-name {env} -n {rds} --yes') + + @ResourceGroupPreparer(name_prefix='cli_test_timeseriesinsights') + def test_timeseriesinsights_access_policy(self): + self.kwargs.update({ + }) + + self._create_timeseriesinsights_environment() + + # Create + self.cmd('az timeseriesinsights access-policy create -g {rg} --environment-name {env} --name ap1 --principal-object-id 001 --description "some description" --roles Contributor Reader', + checks=[]) + + # Update + self.cmd('az timeseriesinsights access-policy update -g {rg} --environment-name {env} --name ap1 --description "some description updated"', + checks=[]) + + self.cmd('az timeseriesinsights access-policy update -g {rg} --environment-name {env} --name ap1 --roles Contributor', + checks=[]) + + # Show + self.cmd('az timeseriesinsights access-policy show -g {rg} --environment-name {env} --name ap1', + checks=[]) + # List + self.cmd('az timeseriesinsights access-policy list -g {rg} --environment-name {env}', + checks=[self.check('length(@)', 1)]) + + # Delete + self.cmd('az timeseriesinsights access-policy delete -g {rg} --environment-name {env} --name ap1 --yes', + checks=[]) diff --git a/src/timeseriesinsights/azext_timeseriesinsights/vendored_sdks/__init__.py b/src/timeseriesinsights/azext_timeseriesinsights/vendored_sdks/__init__.py new file mode 100644 index 00000000000..0260537a02b --- /dev/null +++ b/src/timeseriesinsights/azext_timeseriesinsights/vendored_sdks/__init__.py @@ -0,0 +1 @@ +__path__ = __import__('pkgutil').extend_path(__path__, __name__) \ No newline at end of file diff --git a/src/timeseriesinsights/azext_timeseriesinsights/vendored_sdks/timeseriesinsights/__init__.py b/src/timeseriesinsights/azext_timeseriesinsights/vendored_sdks/timeseriesinsights/__init__.py new file mode 100644 index 00000000000..b0a15d3e7f0 --- /dev/null +++ b/src/timeseriesinsights/azext_timeseriesinsights/vendored_sdks/timeseriesinsights/__init__.py @@ -0,0 +1,19 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from ._configuration import TimeSeriesInsightsClientConfiguration +from ._time_series_insights_client import TimeSeriesInsightsClient +__all__ = ['TimeSeriesInsightsClient', 'TimeSeriesInsightsClientConfiguration'] + +from .version import VERSION + +__version__ = VERSION + diff --git a/src/timeseriesinsights/azext_timeseriesinsights/vendored_sdks/timeseriesinsights/_configuration.py b/src/timeseriesinsights/azext_timeseriesinsights/vendored_sdks/timeseriesinsights/_configuration.py new file mode 100644 index 00000000000..455a14ec7a5 --- /dev/null +++ b/src/timeseriesinsights/azext_timeseriesinsights/vendored_sdks/timeseriesinsights/_configuration.py @@ -0,0 +1,48 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +from msrestazure import AzureConfiguration + +from .version import VERSION + + +class TimeSeriesInsightsClientConfiguration(AzureConfiguration): + """Configuration for TimeSeriesInsightsClient + Note that all parameters used to create this instance are saved as instance + attributes. + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param subscription_id: Azure Subscription ID. + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=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 base_url: + base_url = 'https://management.azure.com' + + super(TimeSeriesInsightsClientConfiguration, self).__init__(base_url) + + # Starting Autorest.Python 4.0.64, make connection pool activated by default + self.keep_alive = True + + self.add_user_agent('azure-mgmt-timeseriesinsights/{}'.format(VERSION)) + self.add_user_agent('Azure-SDK-For-Python') + + self.credentials = credentials + self.subscription_id = subscription_id diff --git a/src/timeseriesinsights/azext_timeseriesinsights/vendored_sdks/timeseriesinsights/_time_series_insights_client.py b/src/timeseriesinsights/azext_timeseriesinsights/vendored_sdks/timeseriesinsights/_time_series_insights_client.py new file mode 100644 index 00000000000..4eafa141d25 --- /dev/null +++ b/src/timeseriesinsights/azext_timeseriesinsights/vendored_sdks/timeseriesinsights/_time_series_insights_client.py @@ -0,0 +1,69 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.service_client import SDKClient +from msrest import Serializer, Deserializer + +from ._configuration import TimeSeriesInsightsClientConfiguration +from .operations import Operations +from .operations import EnvironmentsOperations +from .operations import EventSourcesOperations +from .operations import ReferenceDataSetsOperations +from .operations import AccessPoliciesOperations +from . import models + + +class TimeSeriesInsightsClient(SDKClient): + """Time Series Insights client + + :ivar config: Configuration for client. + :vartype config: TimeSeriesInsightsClientConfiguration + + :ivar operations: Operations operations + :vartype operations: azure.mgmt.timeseriesinsights.operations.Operations + :ivar environments: Environments operations + :vartype environments: azure.mgmt.timeseriesinsights.operations.EnvironmentsOperations + :ivar event_sources: EventSources operations + :vartype event_sources: azure.mgmt.timeseriesinsights.operations.EventSourcesOperations + :ivar reference_data_sets: ReferenceDataSets operations + :vartype reference_data_sets: azure.mgmt.timeseriesinsights.operations.ReferenceDataSetsOperations + :ivar access_policies: AccessPolicies operations + :vartype access_policies: azure.mgmt.timeseriesinsights.operations.AccessPoliciesOperations + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param subscription_id: Azure Subscription ID. + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=None): + + self.config = TimeSeriesInsightsClientConfiguration(credentials, subscription_id, base_url) + super(TimeSeriesInsightsClient, self).__init__(self.config.credentials, self.config) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self.api_version = '2018-08-15-preview' + self._serialize = Serializer(client_models) + self._deserialize = Deserializer(client_models) + + self.operations = Operations( + self._client, self.config, self._serialize, self._deserialize) + self.environments = EnvironmentsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.event_sources = EventSourcesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.reference_data_sets = ReferenceDataSetsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.access_policies = AccessPoliciesOperations( + self._client, self.config, self._serialize, self._deserialize) diff --git a/src/timeseriesinsights/azext_timeseriesinsights/vendored_sdks/timeseriesinsights/models/__init__.py b/src/timeseriesinsights/azext_timeseriesinsights/vendored_sdks/timeseriesinsights/models/__init__.py new file mode 100644 index 00000000000..5e36e3b855a --- /dev/null +++ b/src/timeseriesinsights/azext_timeseriesinsights/vendored_sdks/timeseriesinsights/models/__init__.py @@ -0,0 +1,196 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +try: + from ._models_py3 import AccessPolicyCreateOrUpdateParameters + from ._models_py3 import AccessPolicyListResponse + from ._models_py3 import AccessPolicyResource + from ._models_py3 import AccessPolicyUpdateParameters + from ._models_py3 import AzureEventSourceProperties + from ._models_py3 import CreateOrUpdateTrackedResourceProperties + from ._models_py3 import EnvironmentCreateOrUpdateParameters + from ._models_py3 import EnvironmentListResponse + from ._models_py3 import EnvironmentResource + from ._models_py3 import EnvironmentResourceProperties + from ._models_py3 import EnvironmentStateDetails + from ._models_py3 import EnvironmentStatus + from ._models_py3 import EnvironmentUpdateParameters + from ._models_py3 import EventHubEventSourceCommonProperties + from ._models_py3 import EventHubEventSourceCreateOrUpdateParameters + from ._models_py3 import EventHubEventSourceResource + from ._models_py3 import EventHubEventSourceUpdateParameters + from ._models_py3 import EventSourceCommonProperties + from ._models_py3 import EventSourceCreateOrUpdateParameters + from ._models_py3 import EventSourceListResponse + from ._models_py3 import EventSourceMutableProperties + from ._models_py3 import EventSourceResource + from ._models_py3 import EventSourceUpdateParameters + from ._models_py3 import IngressEnvironmentStatus + from ._models_py3 import IoTHubEventSourceCommonProperties + from ._models_py3 import IoTHubEventSourceCreateOrUpdateParameters + from ._models_py3 import IoTHubEventSourceResource + from ._models_py3 import IoTHubEventSourceUpdateParameters + from ._models_py3 import LocalTimestamp + from ._models_py3 import LocalTimestampTimeZoneOffset + from ._models_py3 import LongTermEnvironmentCreateOrUpdateParameters + from ._models_py3 import LongTermEnvironmentResource + from ._models_py3 import LongTermEnvironmentUpdateParameters + from ._models_py3 import LongTermStorageConfigurationInput + from ._models_py3 import LongTermStorageConfigurationMutableProperties + from ._models_py3 import LongTermStorageConfigurationOutput + from ._models_py3 import Operation + from ._models_py3 import OperationDisplay + from ._models_py3 import ReferenceDataSetCreateOrUpdateParameters + from ._models_py3 import ReferenceDataSetKeyProperty + from ._models_py3 import ReferenceDataSetListResponse + from ._models_py3 import ReferenceDataSetResource + from ._models_py3 import ReferenceDataSetUpdateParameters + from ._models_py3 import Resource + from ._models_py3 import ResourceProperties + from ._models_py3 import Sku + from ._models_py3 import StandardEnvironmentCreateOrUpdateParameters + from ._models_py3 import StandardEnvironmentResource + from ._models_py3 import StandardEnvironmentUpdateParameters + from ._models_py3 import TimeSeriesIdProperty + from ._models_py3 import TrackedResource + from ._models_py3 import WarmStorageEnvironmentStatus +except (SyntaxError, ImportError): + from ._models import AccessPolicyCreateOrUpdateParameters + from ._models import AccessPolicyListResponse + from ._models import AccessPolicyResource + from ._models import AccessPolicyUpdateParameters + from ._models import AzureEventSourceProperties + from ._models import CreateOrUpdateTrackedResourceProperties + from ._models import EnvironmentCreateOrUpdateParameters + from ._models import EnvironmentListResponse + from ._models import EnvironmentResource + from ._models import EnvironmentResourceProperties + from ._models import EnvironmentStateDetails + from ._models import EnvironmentStatus + from ._models import EnvironmentUpdateParameters + from ._models import EventHubEventSourceCommonProperties + from ._models import EventHubEventSourceCreateOrUpdateParameters + from ._models import EventHubEventSourceResource + from ._models import EventHubEventSourceUpdateParameters + from ._models import EventSourceCommonProperties + from ._models import EventSourceCreateOrUpdateParameters + from ._models import EventSourceListResponse + from ._models import EventSourceMutableProperties + from ._models import EventSourceResource + from ._models import EventSourceUpdateParameters + from ._models import IngressEnvironmentStatus + from ._models import IoTHubEventSourceCommonProperties + from ._models import IoTHubEventSourceCreateOrUpdateParameters + from ._models import IoTHubEventSourceResource + from ._models import IoTHubEventSourceUpdateParameters + from ._models import LocalTimestamp + from ._models import LocalTimestampTimeZoneOffset + from ._models import LongTermEnvironmentCreateOrUpdateParameters + from ._models import LongTermEnvironmentResource + from ._models import LongTermEnvironmentUpdateParameters + from ._models import LongTermStorageConfigurationInput + from ._models import LongTermStorageConfigurationMutableProperties + from ._models import LongTermStorageConfigurationOutput + from ._models import Operation + from ._models import OperationDisplay + from ._models import ReferenceDataSetCreateOrUpdateParameters + from ._models import ReferenceDataSetKeyProperty + from ._models import ReferenceDataSetListResponse + from ._models import ReferenceDataSetResource + from ._models import ReferenceDataSetUpdateParameters + from ._models import Resource + from ._models import ResourceProperties + from ._models import Sku + from ._models import StandardEnvironmentCreateOrUpdateParameters + from ._models import StandardEnvironmentResource + from ._models import StandardEnvironmentUpdateParameters + from ._models import TimeSeriesIdProperty + from ._models import TrackedResource + from ._models import WarmStorageEnvironmentStatus +from ._paged_models import OperationPaged +from ._time_series_insights_client_enums import ( + ProvisioningState, + SkuName, + StorageLimitExceededBehavior, + PropertyType, + IngressState, + WarmStoragePropertiesState, + LocalTimestampFormat, + ReferenceDataKeyPropertyType, + DataStringComparisonBehavior, + AccessPolicyRole, +) + +__all__ = [ + 'AccessPolicyCreateOrUpdateParameters', + 'AccessPolicyListResponse', + 'AccessPolicyResource', + 'AccessPolicyUpdateParameters', + 'AzureEventSourceProperties', + 'CreateOrUpdateTrackedResourceProperties', + 'EnvironmentCreateOrUpdateParameters', + 'EnvironmentListResponse', + 'EnvironmentResource', + 'EnvironmentResourceProperties', + 'EnvironmentStateDetails', + 'EnvironmentStatus', + 'EnvironmentUpdateParameters', + 'EventHubEventSourceCommonProperties', + 'EventHubEventSourceCreateOrUpdateParameters', + 'EventHubEventSourceResource', + 'EventHubEventSourceUpdateParameters', + 'EventSourceCommonProperties', + 'EventSourceCreateOrUpdateParameters', + 'EventSourceListResponse', + 'EventSourceMutableProperties', + 'EventSourceResource', + 'EventSourceUpdateParameters', + 'IngressEnvironmentStatus', + 'IoTHubEventSourceCommonProperties', + 'IoTHubEventSourceCreateOrUpdateParameters', + 'IoTHubEventSourceResource', + 'IoTHubEventSourceUpdateParameters', + 'LocalTimestamp', + 'LocalTimestampTimeZoneOffset', + 'LongTermEnvironmentCreateOrUpdateParameters', + 'LongTermEnvironmentResource', + 'LongTermEnvironmentUpdateParameters', + 'LongTermStorageConfigurationInput', + 'LongTermStorageConfigurationMutableProperties', + 'LongTermStorageConfigurationOutput', + 'Operation', + 'OperationDisplay', + 'ReferenceDataSetCreateOrUpdateParameters', + 'ReferenceDataSetKeyProperty', + 'ReferenceDataSetListResponse', + 'ReferenceDataSetResource', + 'ReferenceDataSetUpdateParameters', + 'Resource', + 'ResourceProperties', + 'Sku', + 'StandardEnvironmentCreateOrUpdateParameters', + 'StandardEnvironmentResource', + 'StandardEnvironmentUpdateParameters', + 'TimeSeriesIdProperty', + 'TrackedResource', + 'WarmStorageEnvironmentStatus', + 'OperationPaged', + 'ProvisioningState', + 'SkuName', + 'StorageLimitExceededBehavior', + 'PropertyType', + 'IngressState', + 'WarmStoragePropertiesState', + 'LocalTimestampFormat', + 'ReferenceDataKeyPropertyType', + 'DataStringComparisonBehavior', + 'AccessPolicyRole', +] diff --git a/src/timeseriesinsights/azext_timeseriesinsights/vendored_sdks/timeseriesinsights/models/_models.py b/src/timeseriesinsights/azext_timeseriesinsights/vendored_sdks/timeseriesinsights/models/_models.py new file mode 100644 index 00000000000..2b70d8ff066 --- /dev/null +++ b/src/timeseriesinsights/azext_timeseriesinsights/vendored_sdks/timeseriesinsights/models/_models.py @@ -0,0 +1,2241 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model +from msrest.exceptions import HttpOperationError + + +class AccessPolicyCreateOrUpdateParameters(Model): + """AccessPolicyCreateOrUpdateParameters. + + :param principal_object_id: The objectId of the principal in Azure Active + Directory. + :type principal_object_id: str + :param description: An description of the access policy. + :type description: str + :param roles: The list of roles the principal is assigned on the + environment. + :type roles: list[str or + ~azure.mgmt.timeseriesinsights.models.AccessPolicyRole] + """ + + _attribute_map = { + 'principal_object_id': {'key': 'properties.principalObjectId', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'roles': {'key': 'properties.roles', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(AccessPolicyCreateOrUpdateParameters, self).__init__(**kwargs) + self.principal_object_id = kwargs.get('principal_object_id', None) + self.description = kwargs.get('description', None) + self.roles = kwargs.get('roles', None) + + +class AccessPolicyListResponse(Model): + """The response of the List access policies operation. + + :param value: Result of the List access policies operation. + :type value: + list[~azure.mgmt.timeseriesinsights.models.AccessPolicyResource] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[AccessPolicyResource]'}, + } + + def __init__(self, **kwargs): + super(AccessPolicyListResponse, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + + +class Resource(Model): + """Time Series Insights resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource Id + :vartype id: str + :ivar name: Resource name + :vartype name: str + :ivar type: Resource type + :vartype type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Resource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + + +class AccessPolicyResource(Resource): + """An access policy is used to grant users and applications access to the + environment. Roles are assigned to service principals in Azure Active + Directory. These roles define the actions the principal can perform through + the Time Series Insights data plane APIs. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource Id + :vartype id: str + :ivar name: Resource name + :vartype name: str + :ivar type: Resource type + :vartype type: str + :param principal_object_id: The objectId of the principal in Azure Active + Directory. + :type principal_object_id: str + :param description: An description of the access policy. + :type description: str + :param roles: The list of roles the principal is assigned on the + environment. + :type roles: list[str or + ~azure.mgmt.timeseriesinsights.models.AccessPolicyRole] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'principal_object_id': {'key': 'properties.principalObjectId', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'roles': {'key': 'properties.roles', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(AccessPolicyResource, self).__init__(**kwargs) + self.principal_object_id = kwargs.get('principal_object_id', None) + self.description = kwargs.get('description', None) + self.roles = kwargs.get('roles', None) + + +class AccessPolicyUpdateParameters(Model): + """AccessPolicyUpdateParameters. + + :param description: An description of the access policy. + :type description: str + :param roles: The list of roles the principal is assigned on the + environment. + :type roles: list[str or + ~azure.mgmt.timeseriesinsights.models.AccessPolicyRole] + """ + + _attribute_map = { + 'description': {'key': 'properties.description', 'type': 'str'}, + 'roles': {'key': 'properties.roles', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(AccessPolicyUpdateParameters, self).__init__(**kwargs) + self.description = kwargs.get('description', None) + self.roles = kwargs.get('roles', None) + + +class ResourceProperties(Model): + """Properties that are common to all tracked resources. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param provisioning_state: Provisioning state of the resource. Possible + values include: 'Accepted', 'Creating', 'Updating', 'Succeeded', 'Failed', + 'Deleting' + :type provisioning_state: str or + ~azure.mgmt.timeseriesinsights.models.ProvisioningState + :ivar creation_time: The time the resource was created. + :vartype creation_time: datetime + """ + + _validation = { + 'creation_time': {'readonly': True}, + } + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'creation_time': {'key': 'creationTime', 'type': 'iso-8601'}, + } + + def __init__(self, **kwargs): + super(ResourceProperties, self).__init__(**kwargs) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.creation_time = None + + +class EventSourceCommonProperties(ResourceProperties): + """Properties of the event source. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param provisioning_state: Provisioning state of the resource. Possible + values include: 'Accepted', 'Creating', 'Updating', 'Succeeded', 'Failed', + 'Deleting' + :type provisioning_state: str or + ~azure.mgmt.timeseriesinsights.models.ProvisioningState + :ivar creation_time: The time the resource was created. + :vartype creation_time: datetime + :param timestamp_property_name: The event property that will be used as + the event source's timestamp. If a value isn't specified for + timestampPropertyName, or if null or empty-string is specified, the event + creation time will be used. + :type timestamp_property_name: str + """ + + _validation = { + 'creation_time': {'readonly': True}, + } + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'creation_time': {'key': 'creationTime', 'type': 'iso-8601'}, + 'timestamp_property_name': {'key': 'timestampPropertyName', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(EventSourceCommonProperties, self).__init__(**kwargs) + self.timestamp_property_name = kwargs.get('timestamp_property_name', None) + + +class AzureEventSourceProperties(EventSourceCommonProperties): + """Properties of an event source that reads events from an event broker in + Azure. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param provisioning_state: Provisioning state of the resource. Possible + values include: 'Accepted', 'Creating', 'Updating', 'Succeeded', 'Failed', + 'Deleting' + :type provisioning_state: str or + ~azure.mgmt.timeseriesinsights.models.ProvisioningState + :ivar creation_time: The time the resource was created. + :vartype creation_time: datetime + :param timestamp_property_name: The event property that will be used as + the event source's timestamp. If a value isn't specified for + timestampPropertyName, or if null or empty-string is specified, the event + creation time will be used. + :type timestamp_property_name: str + :param event_source_resource_id: Required. The resource id of the event + source in Azure Resource Manager. + :type event_source_resource_id: str + """ + + _validation = { + 'creation_time': {'readonly': True}, + 'event_source_resource_id': {'required': True}, + } + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'creation_time': {'key': 'creationTime', 'type': 'iso-8601'}, + 'timestamp_property_name': {'key': 'timestampPropertyName', 'type': 'str'}, + 'event_source_resource_id': {'key': 'eventSourceResourceId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AzureEventSourceProperties, self).__init__(**kwargs) + self.event_source_resource_id = kwargs.get('event_source_resource_id', None) + + +class CloudError(Model): + """Contains information about an API error. + + :param error: Describes a particular API error with an error code and a + message. + :type error: ~azure.mgmt.timeseriesinsights.models.CloudErrorBody + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'CloudErrorBody'}, + } + + def __init__(self, **kwargs): + super(CloudError, self).__init__(**kwargs) + self.error = kwargs.get('error', None) + + +class CloudErrorException(HttpOperationError): + """Server responsed with exception of type: 'CloudError'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(CloudErrorException, self).__init__(deserialize, response, 'CloudError', *args) + + +class CloudErrorBody(Model): + """Describes a particular API error with an error code and a message. + + :param code: An error code that describes the error condition more + precisely than an HTTP status code. Can be used to programmatically handle + specific error cases. + :type code: str + :param message: A message that describes the error in detail and provides + debugging information. + :type message: str + :param target: The target of the particular error (for example, the name + of the property in error). + :type target: str + :param details: Contains nested errors that are related to this error. + :type details: list[~azure.mgmt.timeseriesinsights.models.CloudErrorBody] + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[CloudErrorBody]'}, + } + + def __init__(self, **kwargs): + super(CloudErrorBody, self).__init__(**kwargs) + self.code = kwargs.get('code', None) + self.message = kwargs.get('message', None) + self.target = kwargs.get('target', None) + self.details = kwargs.get('details', None) + + +class CreateOrUpdateTrackedResourceProperties(Model): + """Properties required to create any resource tracked by Azure Resource + Manager. + + All required parameters must be populated in order to send to Azure. + + :param location: Required. The location of the resource. + :type location: str + :param tags: Key-value pairs of additional properties for the resource. + :type tags: dict[str, str] + """ + + _validation = { + 'location': {'required': True}, + } + + _attribute_map = { + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, **kwargs): + super(CreateOrUpdateTrackedResourceProperties, self).__init__(**kwargs) + self.location = kwargs.get('location', None) + self.tags = kwargs.get('tags', None) + + +class EnvironmentCreateOrUpdateParameters(CreateOrUpdateTrackedResourceProperties): + """Parameters supplied to the CreateOrUpdate Environment operation. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: StandardEnvironmentCreateOrUpdateParameters, + LongTermEnvironmentCreateOrUpdateParameters + + All required parameters must be populated in order to send to Azure. + + :param location: Required. The location of the resource. + :type location: str + :param tags: Key-value pairs of additional properties for the resource. + :type tags: dict[str, str] + :param sku: Required. The sku determines the type of environment, either + standard (S1 or S2) or long-term (L1). For standard environments the sku + determines the capacity of the environment, the ingress rate, and the + billing rate. + :type sku: ~azure.mgmt.timeseriesinsights.models.Sku + :param kind: Required. Constant filled by server. + :type kind: str + """ + + _validation = { + 'location': {'required': True}, + 'sku': {'required': True}, + 'kind': {'required': True}, + } + + _attribute_map = { + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + 'kind': {'key': 'kind', 'type': 'str'}, + } + + _subtype_map = { + 'kind': {'Standard': 'StandardEnvironmentCreateOrUpdateParameters', 'LongTerm': 'LongTermEnvironmentCreateOrUpdateParameters'} + } + + def __init__(self, **kwargs): + super(EnvironmentCreateOrUpdateParameters, self).__init__(**kwargs) + self.sku = kwargs.get('sku', None) + self.kind = None + self.kind = 'EnvironmentCreateOrUpdateParameters' + + +class EnvironmentListResponse(Model): + """The response of the List Environments operation. + + :param value: Result of the List Environments operation. + :type value: + list[~azure.mgmt.timeseriesinsights.models.EnvironmentResource] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[EnvironmentResource]'}, + } + + def __init__(self, **kwargs): + super(EnvironmentListResponse, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + + +class TrackedResource(Resource): + """Time Series Insights resource that is tracked by Azure Resource Manager. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Resource Id + :vartype id: str + :ivar name: Resource name + :vartype name: str + :ivar type: Resource type + :vartype type: str + :param location: Required. Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, **kwargs): + super(TrackedResource, self).__init__(**kwargs) + self.location = kwargs.get('location', None) + self.tags = kwargs.get('tags', None) + + +class EnvironmentResource(TrackedResource): + """An environment is a set of time-series data available for query, and is the + top level Azure Time Series Insights resource. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: StandardEnvironmentResource, LongTermEnvironmentResource + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Resource Id + :vartype id: str + :ivar name: Resource name + :vartype name: str + :ivar type: Resource type + :vartype type: str + :param location: Required. Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + :param sku: Required. The sku determines the type of environment, either + standard (S1 or S2) or long-term (L1). For standard environments the sku + determines the capacity of the environment, the ingress rate, and the + billing rate. + :type sku: ~azure.mgmt.timeseriesinsights.models.Sku + :param kind: Required. Constant filled by server. + :type kind: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + 'sku': {'required': True}, + 'kind': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + 'kind': {'key': 'kind', 'type': 'str'}, + } + + _subtype_map = { + 'kind': {'Standard': 'StandardEnvironmentResource', 'LongTerm': 'LongTermEnvironmentResource'} + } + + def __init__(self, **kwargs): + super(EnvironmentResource, self).__init__(**kwargs) + self.sku = kwargs.get('sku', None) + self.kind = None + self.kind = 'EnvironmentResource' + + +class EnvironmentResourceProperties(ResourceProperties): + """Properties of the environment. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param provisioning_state: Provisioning state of the resource. Possible + values include: 'Accepted', 'Creating', 'Updating', 'Succeeded', 'Failed', + 'Deleting' + :type provisioning_state: str or + ~azure.mgmt.timeseriesinsights.models.ProvisioningState + :ivar creation_time: The time the resource was created. + :vartype creation_time: datetime + :ivar data_access_id: An id used to access the environment data, e.g. to + query the environment's events or upload reference data for the + environment. + :vartype data_access_id: str + :ivar data_access_fqdn: The fully qualified domain name used to access the + environment data, e.g. to query the environment's events or upload + reference data for the environment. + :vartype data_access_fqdn: str + :param status: An object that represents the status of the environment, + and its internal state in the Time Series Insights service. + :type status: ~azure.mgmt.timeseriesinsights.models.EnvironmentStatus + """ + + _validation = { + 'creation_time': {'readonly': True}, + 'data_access_id': {'readonly': True}, + 'data_access_fqdn': {'readonly': True}, + } + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'creation_time': {'key': 'creationTime', 'type': 'iso-8601'}, + 'data_access_id': {'key': 'dataAccessId', 'type': 'str'}, + 'data_access_fqdn': {'key': 'dataAccessFqdn', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'EnvironmentStatus'}, + } + + def __init__(self, **kwargs): + super(EnvironmentResourceProperties, self).__init__(**kwargs) + self.data_access_id = None + self.data_access_fqdn = None + self.status = kwargs.get('status', None) + + +class EnvironmentStateDetails(Model): + """An object that contains the details about an environment's state. + + :param code: Contains the code that represents the reason of an + environment being in a particular state. Can be used to programmatically + handle specific cases. + :type code: str + :param message: A message that describes the state in detail. + :type message: str + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(EnvironmentStateDetails, self).__init__(**kwargs) + self.code = kwargs.get('code', None) + self.message = kwargs.get('message', None) + + +class EnvironmentStatus(Model): + """An object that represents the status of the environment, and its internal + state in the Time Series Insights service. + + :param ingress: An object that represents the status of ingress on an + environment. + :type ingress: + ~azure.mgmt.timeseriesinsights.models.IngressEnvironmentStatus + :param warm_storage: An object that represents the status of warm storage + on an environment. + :type warm_storage: + ~azure.mgmt.timeseriesinsights.models.WarmStorageEnvironmentStatus + """ + + _attribute_map = { + 'ingress': {'key': 'ingress', 'type': 'IngressEnvironmentStatus'}, + 'warm_storage': {'key': 'warmStorage', 'type': 'WarmStorageEnvironmentStatus'}, + } + + def __init__(self, **kwargs): + super(EnvironmentStatus, self).__init__(**kwargs) + self.ingress = kwargs.get('ingress', None) + self.warm_storage = kwargs.get('warm_storage', None) + + +class EnvironmentUpdateParameters(Model): + """Parameters supplied to the Update Environment operation. + + :param tags: Key-value pairs of additional properties for the environment. + :type tags: dict[str, str] + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, **kwargs): + super(EnvironmentUpdateParameters, self).__init__(**kwargs) + self.tags = kwargs.get('tags', None) + + +class EventHubEventSourceCommonProperties(AzureEventSourceProperties): + """Properties of the EventHub event source. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param provisioning_state: Provisioning state of the resource. Possible + values include: 'Accepted', 'Creating', 'Updating', 'Succeeded', 'Failed', + 'Deleting' + :type provisioning_state: str or + ~azure.mgmt.timeseriesinsights.models.ProvisioningState + :ivar creation_time: The time the resource was created. + :vartype creation_time: datetime + :param timestamp_property_name: The event property that will be used as + the event source's timestamp. If a value isn't specified for + timestampPropertyName, or if null or empty-string is specified, the event + creation time will be used. + :type timestamp_property_name: str + :param event_source_resource_id: Required. The resource id of the event + source in Azure Resource Manager. + :type event_source_resource_id: str + :param service_bus_namespace: Required. The name of the service bus that + contains the event hub. + :type service_bus_namespace: str + :param event_hub_name: Required. The name of the event hub. + :type event_hub_name: str + :param consumer_group_name: Required. The name of the event hub's consumer + group that holds the partitions from which events will be read. + :type consumer_group_name: str + :param key_name: Required. The name of the SAS key that grants the Time + Series Insights service access to the event hub. The shared access + policies for this key must grant 'Listen' permissions to the event hub. + :type key_name: str + """ + + _validation = { + 'creation_time': {'readonly': True}, + 'event_source_resource_id': {'required': True}, + 'service_bus_namespace': {'required': True}, + 'event_hub_name': {'required': True}, + 'consumer_group_name': {'required': True}, + 'key_name': {'required': True}, + } + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'creation_time': {'key': 'creationTime', 'type': 'iso-8601'}, + 'timestamp_property_name': {'key': 'timestampPropertyName', 'type': 'str'}, + 'event_source_resource_id': {'key': 'eventSourceResourceId', 'type': 'str'}, + 'service_bus_namespace': {'key': 'serviceBusNamespace', 'type': 'str'}, + 'event_hub_name': {'key': 'eventHubName', 'type': 'str'}, + 'consumer_group_name': {'key': 'consumerGroupName', 'type': 'str'}, + 'key_name': {'key': 'keyName', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(EventHubEventSourceCommonProperties, self).__init__(**kwargs) + self.service_bus_namespace = kwargs.get('service_bus_namespace', None) + self.event_hub_name = kwargs.get('event_hub_name', None) + self.consumer_group_name = kwargs.get('consumer_group_name', None) + self.key_name = kwargs.get('key_name', None) + + +class EventSourceCreateOrUpdateParameters(CreateOrUpdateTrackedResourceProperties): + """Parameters supplied to the Create or Update Event Source operation. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: EventHubEventSourceCreateOrUpdateParameters, + IoTHubEventSourceCreateOrUpdateParameters + + All required parameters must be populated in order to send to Azure. + + :param location: Required. The location of the resource. + :type location: str + :param tags: Key-value pairs of additional properties for the resource. + :type tags: dict[str, str] + :param kind: Required. Constant filled by server. + :type kind: str + """ + + _validation = { + 'location': {'required': True}, + 'kind': {'required': True}, + } + + _attribute_map = { + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'kind': {'key': 'kind', 'type': 'str'}, + } + + _subtype_map = { + 'kind': {'Microsoft.EventHub': 'EventHubEventSourceCreateOrUpdateParameters', 'Microsoft.IoTHub': 'IoTHubEventSourceCreateOrUpdateParameters'} + } + + def __init__(self, **kwargs): + super(EventSourceCreateOrUpdateParameters, self).__init__(**kwargs) + self.kind = None + self.kind = 'EventSourceCreateOrUpdateParameters' + + +class EventHubEventSourceCreateOrUpdateParameters(EventSourceCreateOrUpdateParameters): + """Parameters supplied to the Create or Update Event Source operation for an + EventHub event source. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param location: Required. The location of the resource. + :type location: str + :param tags: Key-value pairs of additional properties for the resource. + :type tags: dict[str, str] + :param kind: Required. Constant filled by server. + :type kind: str + :param provisioning_state: Provisioning state of the resource. Possible + values include: 'Accepted', 'Creating', 'Updating', 'Succeeded', 'Failed', + 'Deleting' + :type provisioning_state: str or + ~azure.mgmt.timeseriesinsights.models.ProvisioningState + :ivar creation_time: The time the resource was created. + :vartype creation_time: datetime + :param timestamp_property_name: The event property that will be used as + the event source's timestamp. If a value isn't specified for + timestampPropertyName, or if null or empty-string is specified, the event + creation time will be used. + :type timestamp_property_name: str + :param event_source_resource_id: Required. The resource id of the event + source in Azure Resource Manager. + :type event_source_resource_id: str + :param service_bus_namespace: Required. The name of the service bus that + contains the event hub. + :type service_bus_namespace: str + :param event_hub_name: Required. The name of the event hub. + :type event_hub_name: str + :param consumer_group_name: Required. The name of the event hub's consumer + group that holds the partitions from which events will be read. + :type consumer_group_name: str + :param key_name: Required. The name of the SAS key that grants the Time + Series Insights service access to the event hub. The shared access + policies for this key must grant 'Listen' permissions to the event hub. + :type key_name: str + :param shared_access_key: Required. The value of the shared access key + that grants the Time Series Insights service read access to the event hub. + This property is not shown in event source responses. + :type shared_access_key: str + """ + + _validation = { + 'location': {'required': True}, + 'kind': {'required': True}, + 'creation_time': {'readonly': True}, + 'event_source_resource_id': {'required': True}, + 'service_bus_namespace': {'required': True}, + 'event_hub_name': {'required': True}, + 'consumer_group_name': {'required': True}, + 'key_name': {'required': True}, + 'shared_access_key': {'required': True}, + } + + _attribute_map = { + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'creation_time': {'key': 'properties.creationTime', 'type': 'iso-8601'}, + 'timestamp_property_name': {'key': 'properties.timestampPropertyName', 'type': 'str'}, + 'event_source_resource_id': {'key': 'properties.eventSourceResourceId', 'type': 'str'}, + 'service_bus_namespace': {'key': 'properties.serviceBusNamespace', 'type': 'str'}, + 'event_hub_name': {'key': 'properties.eventHubName', 'type': 'str'}, + 'consumer_group_name': {'key': 'properties.consumerGroupName', 'type': 'str'}, + 'key_name': {'key': 'properties.keyName', 'type': 'str'}, + 'shared_access_key': {'key': 'properties.sharedAccessKey', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(EventHubEventSourceCreateOrUpdateParameters, self).__init__(**kwargs) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.creation_time = None + self.timestamp_property_name = kwargs.get('timestamp_property_name', None) + self.event_source_resource_id = kwargs.get('event_source_resource_id', None) + self.service_bus_namespace = kwargs.get('service_bus_namespace', None) + self.event_hub_name = kwargs.get('event_hub_name', None) + self.consumer_group_name = kwargs.get('consumer_group_name', None) + self.key_name = kwargs.get('key_name', None) + self.shared_access_key = kwargs.get('shared_access_key', None) + self.kind = 'Microsoft.EventHub' + + +class EventSourceResource(TrackedResource): + """An environment receives data from one or more event sources. Each event + source has associated connection info that allows the Time Series Insights + ingress pipeline to connect to and pull data from the event source. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: EventHubEventSourceResource, IoTHubEventSourceResource + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Resource Id + :vartype id: str + :ivar name: Resource name + :vartype name: str + :ivar type: Resource type + :vartype type: str + :param location: Required. Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + :param kind: Required. Constant filled by server. + :type kind: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + 'kind': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'kind': {'key': 'kind', 'type': 'str'}, + } + + _subtype_map = { + 'kind': {'Microsoft.EventHub': 'EventHubEventSourceResource', 'Microsoft.IotHub': 'IoTHubEventSourceResource'} + } + + def __init__(self, **kwargs): + super(EventSourceResource, self).__init__(**kwargs) + self.kind = None + self.kind = 'EventSourceResource' + + +class EventHubEventSourceResource(EventSourceResource): + """An event source that receives its data from an Azure EventHub. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Resource Id + :vartype id: str + :ivar name: Resource name + :vartype name: str + :ivar type: Resource type + :vartype type: str + :param location: Required. Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + :param kind: Required. Constant filled by server. + :type kind: str + :param provisioning_state: Provisioning state of the resource. Possible + values include: 'Accepted', 'Creating', 'Updating', 'Succeeded', 'Failed', + 'Deleting' + :type provisioning_state: str or + ~azure.mgmt.timeseriesinsights.models.ProvisioningState + :ivar creation_time: The time the resource was created. + :vartype creation_time: datetime + :param timestamp_property_name: The event property that will be used as + the event source's timestamp. If a value isn't specified for + timestampPropertyName, or if null or empty-string is specified, the event + creation time will be used. + :type timestamp_property_name: str + :param event_source_resource_id: Required. The resource id of the event + source in Azure Resource Manager. + :type event_source_resource_id: str + :param service_bus_namespace: Required. The name of the service bus that + contains the event hub. + :type service_bus_namespace: str + :param event_hub_name: Required. The name of the event hub. + :type event_hub_name: str + :param consumer_group_name: Required. The name of the event hub's consumer + group that holds the partitions from which events will be read. + :type consumer_group_name: str + :param key_name: Required. The name of the SAS key that grants the Time + Series Insights service access to the event hub. The shared access + policies for this key must grant 'Listen' permissions to the event hub. + :type key_name: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + 'kind': {'required': True}, + 'creation_time': {'readonly': True}, + 'event_source_resource_id': {'required': True}, + 'service_bus_namespace': {'required': True}, + 'event_hub_name': {'required': True}, + 'consumer_group_name': {'required': True}, + 'key_name': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'creation_time': {'key': 'properties.creationTime', 'type': 'iso-8601'}, + 'timestamp_property_name': {'key': 'properties.timestampPropertyName', 'type': 'str'}, + 'event_source_resource_id': {'key': 'properties.eventSourceResourceId', 'type': 'str'}, + 'service_bus_namespace': {'key': 'properties.serviceBusNamespace', 'type': 'str'}, + 'event_hub_name': {'key': 'properties.eventHubName', 'type': 'str'}, + 'consumer_group_name': {'key': 'properties.consumerGroupName', 'type': 'str'}, + 'key_name': {'key': 'properties.keyName', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(EventHubEventSourceResource, self).__init__(**kwargs) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.creation_time = None + self.timestamp_property_name = kwargs.get('timestamp_property_name', None) + self.event_source_resource_id = kwargs.get('event_source_resource_id', None) + self.service_bus_namespace = kwargs.get('service_bus_namespace', None) + self.event_hub_name = kwargs.get('event_hub_name', None) + self.consumer_group_name = kwargs.get('consumer_group_name', None) + self.key_name = kwargs.get('key_name', None) + self.kind = 'Microsoft.EventHub' + + +class EventSourceUpdateParameters(Model): + """Parameters supplied to the Update Event Source operation. + + :param tags: Key-value pairs of additional properties for the event + source. + :type tags: dict[str, str] + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, **kwargs): + super(EventSourceUpdateParameters, self).__init__(**kwargs) + self.tags = kwargs.get('tags', None) + + +class EventHubEventSourceUpdateParameters(EventSourceUpdateParameters): + """Parameters supplied to the Update Event Source operation to update an + EventHub event source. + + :param tags: Key-value pairs of additional properties for the event + source. + :type tags: dict[str, str] + :param timestamp_property_name: The event property that will be used as + the event source's timestamp. If a value isn't specified for + timestampPropertyName, or if null or empty-string is specified, the event + creation time will be used. + :type timestamp_property_name: str + :param local_timestamp: An object that represents the local timestamp + property. It contains the format of local timestamp that needs to be used + and the corresponding timezone offset information. If a value isn't + specified for localTimestamp, or if null, then the local timestamp will + not be ingressed with the events. + :type local_timestamp: + ~azure.mgmt.timeseriesinsights.models.LocalTimestamp + :param shared_access_key: The value of the shared access key that grants + the Time Series Insights service read access to the event hub. This + property is not shown in event source responses. + :type shared_access_key: str + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + 'timestamp_property_name': {'key': 'properties.timestampPropertyName', 'type': 'str'}, + 'local_timestamp': {'key': 'properties.localTimestamp', 'type': 'LocalTimestamp'}, + 'shared_access_key': {'key': 'properties.sharedAccessKey', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(EventHubEventSourceUpdateParameters, self).__init__(**kwargs) + self.timestamp_property_name = kwargs.get('timestamp_property_name', None) + self.local_timestamp = kwargs.get('local_timestamp', None) + self.shared_access_key = kwargs.get('shared_access_key', None) + + +class EventSourceListResponse(Model): + """The response of the List EventSources operation. + + :param value: Result of the List EventSources operation. + :type value: + list[~azure.mgmt.timeseriesinsights.models.EventSourceResource] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[EventSourceResource]'}, + } + + def __init__(self, **kwargs): + super(EventSourceListResponse, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + + +class EventSourceMutableProperties(Model): + """An object that represents a set of mutable event source resource + properties. + + :param timestamp_property_name: The event property that will be used as + the event source's timestamp. If a value isn't specified for + timestampPropertyName, or if null or empty-string is specified, the event + creation time will be used. + :type timestamp_property_name: str + :param local_timestamp: An object that represents the local timestamp + property. It contains the format of local timestamp that needs to be used + and the corresponding timezone offset information. If a value isn't + specified for localTimestamp, or if null, then the local timestamp will + not be ingressed with the events. + :type local_timestamp: + ~azure.mgmt.timeseriesinsights.models.LocalTimestamp + """ + + _attribute_map = { + 'timestamp_property_name': {'key': 'timestampPropertyName', 'type': 'str'}, + 'local_timestamp': {'key': 'localTimestamp', 'type': 'LocalTimestamp'}, + } + + def __init__(self, **kwargs): + super(EventSourceMutableProperties, self).__init__(**kwargs) + self.timestamp_property_name = kwargs.get('timestamp_property_name', None) + self.local_timestamp = kwargs.get('local_timestamp', None) + + +class IngressEnvironmentStatus(Model): + """An object that represents the status of ingress on an environment. + + :param state: This string represents the state of ingress operations on an + environment. It can be "Disabled", "Ready", "Running", "Paused" or + "Unknown". Possible values include: 'Disabled', 'Ready', 'Running', + 'Paused', 'Unknown' + :type state: str or ~azure.mgmt.timeseriesinsights.models.IngressState + :param state_details: An object that contains the details about an + environment's state. + :type state_details: + ~azure.mgmt.timeseriesinsights.models.EnvironmentStateDetails + """ + + _attribute_map = { + 'state': {'key': 'state', 'type': 'str'}, + 'state_details': {'key': 'stateDetails', 'type': 'EnvironmentStateDetails'}, + } + + def __init__(self, **kwargs): + super(IngressEnvironmentStatus, self).__init__(**kwargs) + self.state = kwargs.get('state', None) + self.state_details = kwargs.get('state_details', None) + + +class IoTHubEventSourceCommonProperties(AzureEventSourceProperties): + """Properties of the IoTHub event source. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param provisioning_state: Provisioning state of the resource. Possible + values include: 'Accepted', 'Creating', 'Updating', 'Succeeded', 'Failed', + 'Deleting' + :type provisioning_state: str or + ~azure.mgmt.timeseriesinsights.models.ProvisioningState + :ivar creation_time: The time the resource was created. + :vartype creation_time: datetime + :param timestamp_property_name: The event property that will be used as + the event source's timestamp. If a value isn't specified for + timestampPropertyName, or if null or empty-string is specified, the event + creation time will be used. + :type timestamp_property_name: str + :param event_source_resource_id: Required. The resource id of the event + source in Azure Resource Manager. + :type event_source_resource_id: str + :param iot_hub_name: Required. The name of the iot hub. + :type iot_hub_name: str + :param consumer_group_name: Required. The name of the iot hub's consumer + group that holds the partitions from which events will be read. + :type consumer_group_name: str + :param key_name: Required. The name of the Shared Access Policy key that + grants the Time Series Insights service access to the iot hub. This shared + access policy key must grant 'service connect' permissions to the iot hub. + :type key_name: str + """ + + _validation = { + 'creation_time': {'readonly': True}, + 'event_source_resource_id': {'required': True}, + 'iot_hub_name': {'required': True}, + 'consumer_group_name': {'required': True}, + 'key_name': {'required': True}, + } + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'creation_time': {'key': 'creationTime', 'type': 'iso-8601'}, + 'timestamp_property_name': {'key': 'timestampPropertyName', 'type': 'str'}, + 'event_source_resource_id': {'key': 'eventSourceResourceId', 'type': 'str'}, + 'iot_hub_name': {'key': 'iotHubName', 'type': 'str'}, + 'consumer_group_name': {'key': 'consumerGroupName', 'type': 'str'}, + 'key_name': {'key': 'keyName', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(IoTHubEventSourceCommonProperties, self).__init__(**kwargs) + self.iot_hub_name = kwargs.get('iot_hub_name', None) + self.consumer_group_name = kwargs.get('consumer_group_name', None) + self.key_name = kwargs.get('key_name', None) + + +class IoTHubEventSourceCreateOrUpdateParameters(EventSourceCreateOrUpdateParameters): + """Parameters supplied to the Create or Update Event Source operation for an + IoTHub event source. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param location: Required. The location of the resource. + :type location: str + :param tags: Key-value pairs of additional properties for the resource. + :type tags: dict[str, str] + :param kind: Required. Constant filled by server. + :type kind: str + :param provisioning_state: Provisioning state of the resource. Possible + values include: 'Accepted', 'Creating', 'Updating', 'Succeeded', 'Failed', + 'Deleting' + :type provisioning_state: str or + ~azure.mgmt.timeseriesinsights.models.ProvisioningState + :ivar creation_time: The time the resource was created. + :vartype creation_time: datetime + :param timestamp_property_name: The event property that will be used as + the event source's timestamp. If a value isn't specified for + timestampPropertyName, or if null or empty-string is specified, the event + creation time will be used. + :type timestamp_property_name: str + :param event_source_resource_id: Required. The resource id of the event + source in Azure Resource Manager. + :type event_source_resource_id: str + :param iot_hub_name: Required. The name of the iot hub. + :type iot_hub_name: str + :param consumer_group_name: Required. The name of the iot hub's consumer + group that holds the partitions from which events will be read. + :type consumer_group_name: str + :param key_name: Required. The name of the Shared Access Policy key that + grants the Time Series Insights service access to the iot hub. This shared + access policy key must grant 'service connect' permissions to the iot hub. + :type key_name: str + :param shared_access_key: Required. The value of the Shared Access Policy + key that grants the Time Series Insights service read access to the iot + hub. This property is not shown in event source responses. + :type shared_access_key: str + """ + + _validation = { + 'location': {'required': True}, + 'kind': {'required': True}, + 'creation_time': {'readonly': True}, + 'event_source_resource_id': {'required': True}, + 'iot_hub_name': {'required': True}, + 'consumer_group_name': {'required': True}, + 'key_name': {'required': True}, + 'shared_access_key': {'required': True}, + } + + _attribute_map = { + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'creation_time': {'key': 'properties.creationTime', 'type': 'iso-8601'}, + 'timestamp_property_name': {'key': 'properties.timestampPropertyName', 'type': 'str'}, + 'event_source_resource_id': {'key': 'properties.eventSourceResourceId', 'type': 'str'}, + 'iot_hub_name': {'key': 'properties.iotHubName', 'type': 'str'}, + 'consumer_group_name': {'key': 'properties.consumerGroupName', 'type': 'str'}, + 'key_name': {'key': 'properties.keyName', 'type': 'str'}, + 'shared_access_key': {'key': 'properties.sharedAccessKey', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(IoTHubEventSourceCreateOrUpdateParameters, self).__init__(**kwargs) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.creation_time = None + self.timestamp_property_name = kwargs.get('timestamp_property_name', None) + self.event_source_resource_id = kwargs.get('event_source_resource_id', None) + self.iot_hub_name = kwargs.get('iot_hub_name', None) + self.consumer_group_name = kwargs.get('consumer_group_name', None) + self.key_name = kwargs.get('key_name', None) + self.shared_access_key = kwargs.get('shared_access_key', None) + self.kind = 'Microsoft.IoTHub' + + +class IoTHubEventSourceResource(EventSourceResource): + """An event source that receives its data from an Azure IoTHub. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Resource Id + :vartype id: str + :ivar name: Resource name + :vartype name: str + :ivar type: Resource type + :vartype type: str + :param location: Required. Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + :param kind: Required. Constant filled by server. + :type kind: str + :param provisioning_state: Provisioning state of the resource. Possible + values include: 'Accepted', 'Creating', 'Updating', 'Succeeded', 'Failed', + 'Deleting' + :type provisioning_state: str or + ~azure.mgmt.timeseriesinsights.models.ProvisioningState + :ivar creation_time: The time the resource was created. + :vartype creation_time: datetime + :param timestamp_property_name: The event property that will be used as + the event source's timestamp. If a value isn't specified for + timestampPropertyName, or if null or empty-string is specified, the event + creation time will be used. + :type timestamp_property_name: str + :param event_source_resource_id: Required. The resource id of the event + source in Azure Resource Manager. + :type event_source_resource_id: str + :param iot_hub_name: Required. The name of the iot hub. + :type iot_hub_name: str + :param consumer_group_name: Required. The name of the iot hub's consumer + group that holds the partitions from which events will be read. + :type consumer_group_name: str + :param key_name: Required. The name of the Shared Access Policy key that + grants the Time Series Insights service access to the iot hub. This shared + access policy key must grant 'service connect' permissions to the iot hub. + :type key_name: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + 'kind': {'required': True}, + 'creation_time': {'readonly': True}, + 'event_source_resource_id': {'required': True}, + 'iot_hub_name': {'required': True}, + 'consumer_group_name': {'required': True}, + 'key_name': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'creation_time': {'key': 'properties.creationTime', 'type': 'iso-8601'}, + 'timestamp_property_name': {'key': 'properties.timestampPropertyName', 'type': 'str'}, + 'event_source_resource_id': {'key': 'properties.eventSourceResourceId', 'type': 'str'}, + 'iot_hub_name': {'key': 'properties.iotHubName', 'type': 'str'}, + 'consumer_group_name': {'key': 'properties.consumerGroupName', 'type': 'str'}, + 'key_name': {'key': 'properties.keyName', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(IoTHubEventSourceResource, self).__init__(**kwargs) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.creation_time = None + self.timestamp_property_name = kwargs.get('timestamp_property_name', None) + self.event_source_resource_id = kwargs.get('event_source_resource_id', None) + self.iot_hub_name = kwargs.get('iot_hub_name', None) + self.consumer_group_name = kwargs.get('consumer_group_name', None) + self.key_name = kwargs.get('key_name', None) + self.kind = 'Microsoft.IotHub' + + +class IoTHubEventSourceUpdateParameters(EventSourceUpdateParameters): + """Parameters supplied to the Update Event Source operation to update an + IoTHub event source. + + :param tags: Key-value pairs of additional properties for the event + source. + :type tags: dict[str, str] + :param timestamp_property_name: The event property that will be used as + the event source's timestamp. If a value isn't specified for + timestampPropertyName, or if null or empty-string is specified, the event + creation time will be used. + :type timestamp_property_name: str + :param local_timestamp: An object that represents the local timestamp + property. It contains the format of local timestamp that needs to be used + and the corresponding timezone offset information. If a value isn't + specified for localTimestamp, or if null, then the local timestamp will + not be ingressed with the events. + :type local_timestamp: + ~azure.mgmt.timeseriesinsights.models.LocalTimestamp + :param shared_access_key: The value of the shared access key that grants + the Time Series Insights service read access to the iot hub. This property + is not shown in event source responses. + :type shared_access_key: str + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + 'timestamp_property_name': {'key': 'properties.timestampPropertyName', 'type': 'str'}, + 'local_timestamp': {'key': 'properties.localTimestamp', 'type': 'LocalTimestamp'}, + 'shared_access_key': {'key': 'properties.sharedAccessKey', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(IoTHubEventSourceUpdateParameters, self).__init__(**kwargs) + self.timestamp_property_name = kwargs.get('timestamp_property_name', None) + self.local_timestamp = kwargs.get('local_timestamp', None) + self.shared_access_key = kwargs.get('shared_access_key', None) + + +class LocalTimestamp(Model): + """An object that represents the local timestamp property. It contains the + format of local timestamp that needs to be used and the corresponding + timezone offset information. If a value isn't specified for localTimestamp, + or if null, then the local timestamp will not be ingressed with the events. + + :param format: An enum that represents the format of the local timestamp + property that needs to be set. Possible values include: 'Embedded', + 'Iana', 'TimeSpan' + :type format: str or + ~azure.mgmt.timeseriesinsights.models.LocalTimestampFormat + :param time_zone_offset: An object that represents the offset information + for the local timestamp format specified. Should not be specified for + LocalTimestampFormat - Embedded. + :type time_zone_offset: + ~azure.mgmt.timeseriesinsights.models.LocalTimestampTimeZoneOffset + """ + + _attribute_map = { + 'format': {'key': 'format', 'type': 'str'}, + 'time_zone_offset': {'key': 'timeZoneOffset', 'type': 'LocalTimestampTimeZoneOffset'}, + } + + def __init__(self, **kwargs): + super(LocalTimestamp, self).__init__(**kwargs) + self.format = kwargs.get('format', None) + self.time_zone_offset = kwargs.get('time_zone_offset', None) + + +class LocalTimestampTimeZoneOffset(Model): + """An object that represents the offset information for the local timestamp + format specified. Should not be specified for LocalTimestampFormat - + Embedded. + + :param property_name: The event property that will be contain the offset + information to calculate the local timestamp. When the + LocalTimestampFormat is Iana, the property name will contain the name of + the column which contains IANA Timezone Name (eg: Americas/Los Angeles). + When LocalTimestampFormat is Timespan, it contains the name of property + which contains values representing the offset (eg: P1D or 1.00:00:00) + :type property_name: str + """ + + _attribute_map = { + 'property_name': {'key': 'propertyName', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(LocalTimestampTimeZoneOffset, self).__init__(**kwargs) + self.property_name = kwargs.get('property_name', None) + + +class LongTermEnvironmentCreateOrUpdateParameters(EnvironmentCreateOrUpdateParameters): + """Parameters supplied to the Create or Update Environment operation for a + long-term environment. + + All required parameters must be populated in order to send to Azure. + + :param location: Required. The location of the resource. + :type location: str + :param tags: Key-value pairs of additional properties for the resource. + :type tags: dict[str, str] + :param sku: Required. The sku determines the type of environment, either + standard (S1 or S2) or long-term (L1). For standard environments the sku + determines the capacity of the environment, the ingress rate, and the + billing rate. + :type sku: ~azure.mgmt.timeseriesinsights.models.Sku + :param kind: Required. Constant filled by server. + :type kind: str + :param time_series_id_properties: Required. The list of event properties + which will be used to define the environment's time series id. + :type time_series_id_properties: + list[~azure.mgmt.timeseriesinsights.models.TimeSeriesIdProperty] + :param storage_configuration: Required. The storage configuration provides + the connection details that allows the Time Series Insights service to + connect to the customer storage account that is used to store the + environment's data. + :type storage_configuration: + ~azure.mgmt.timeseriesinsights.models.LongTermStorageConfigurationInput + :param data_retention: Required. ISO8601 timespan specifying the number of + days the environment's events will be available for query from the warm + store. + :type data_retention: timedelta + """ + + _validation = { + 'location': {'required': True}, + 'sku': {'required': True}, + 'kind': {'required': True}, + 'time_series_id_properties': {'required': True}, + 'storage_configuration': {'required': True}, + 'data_retention': {'required': True}, + } + + _attribute_map = { + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'time_series_id_properties': {'key': 'properties.timeSeriesIdProperties', 'type': '[TimeSeriesIdProperty]'}, + 'storage_configuration': {'key': 'properties.storageConfiguration', 'type': 'LongTermStorageConfigurationInput'}, + 'data_retention': {'key': 'properties.warmStoreConfiguration.dataRetention', 'type': 'duration'}, + } + + def __init__(self, **kwargs): + super(LongTermEnvironmentCreateOrUpdateParameters, self).__init__(**kwargs) + self.time_series_id_properties = kwargs.get('time_series_id_properties', None) + self.storage_configuration = kwargs.get('storage_configuration', None) + self.data_retention = kwargs.get('data_retention', None) + self.kind = 'LongTerm' + + +class LongTermEnvironmentResource(EnvironmentResource): + """An environment is a set of time-series data available for query, and is the + top level Azure Time Series Insights resource. LongTerm environments do not + have set data retention limits. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Resource Id + :vartype id: str + :ivar name: Resource name + :vartype name: str + :ivar type: Resource type + :vartype type: str + :param location: Required. Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + :param sku: Required. The sku determines the type of environment, either + standard (S1 or S2) or long-term (L1). For standard environments the sku + determines the capacity of the environment, the ingress rate, and the + billing rate. + :type sku: ~azure.mgmt.timeseriesinsights.models.Sku + :param kind: Required. Constant filled by server. + :type kind: str + :ivar data_access_id: An id used to access the environment data, e.g. to + query the environment's events or upload reference data for the + environment. + :vartype data_access_id: str + :ivar data_access_fqdn: The fully qualified domain name used to access the + environment data, e.g. to query the environment's events or upload + reference data for the environment. + :vartype data_access_fqdn: str + :param status: An object that represents the status of the environment, + and its internal state in the Time Series Insights service. + :type status: ~azure.mgmt.timeseriesinsights.models.EnvironmentStatus + :param provisioning_state: Provisioning state of the resource. Possible + values include: 'Accepted', 'Creating', 'Updating', 'Succeeded', 'Failed', + 'Deleting' + :type provisioning_state: str or + ~azure.mgmt.timeseriesinsights.models.ProvisioningState + :ivar creation_time: The time the resource was created. + :vartype creation_time: datetime + :param time_series_id_properties: Required. The list of event properties + which will be used to define the environment's time series id. + :type time_series_id_properties: + list[~azure.mgmt.timeseriesinsights.models.TimeSeriesIdProperty] + :param storage_configuration: Required. The storage configuration provides + the connection details that allows the Time Series Insights service to + connect to the customer storage account that is used to store the + environment's data. + :type storage_configuration: + ~azure.mgmt.timeseriesinsights.models.LongTermStorageConfigurationOutput + :param data_retention: Required. ISO8601 timespan specifying the number of + days the environment's events will be available for query from the warm + store. + :type data_retention: timedelta + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + 'sku': {'required': True}, + 'kind': {'required': True}, + 'data_access_id': {'readonly': True}, + 'data_access_fqdn': {'readonly': True}, + 'creation_time': {'readonly': True}, + 'time_series_id_properties': {'required': True}, + 'storage_configuration': {'required': True}, + 'data_retention': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'data_access_id': {'key': 'properties.dataAccessId', 'type': 'str'}, + 'data_access_fqdn': {'key': 'properties.dataAccessFqdn', 'type': 'str'}, + 'status': {'key': 'properties.status', 'type': 'EnvironmentStatus'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'creation_time': {'key': 'properties.creationTime', 'type': 'iso-8601'}, + 'time_series_id_properties': {'key': 'properties.timeSeriesIdProperties', 'type': '[TimeSeriesIdProperty]'}, + 'storage_configuration': {'key': 'properties.storageConfiguration', 'type': 'LongTermStorageConfigurationOutput'}, + 'data_retention': {'key': 'properties.warmStoreConfiguration.dataRetention', 'type': 'duration'}, + } + + def __init__(self, **kwargs): + super(LongTermEnvironmentResource, self).__init__(**kwargs) + self.data_access_id = None + self.data_access_fqdn = None + self.status = kwargs.get('status', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.creation_time = None + self.time_series_id_properties = kwargs.get('time_series_id_properties', None) + self.storage_configuration = kwargs.get('storage_configuration', None) + self.data_retention = kwargs.get('data_retention', None) + self.kind = 'LongTerm' + + +class LongTermEnvironmentUpdateParameters(EnvironmentUpdateParameters): + """Parameters supplied to the Update Environment operation to update a + long-term environment. + + All required parameters must be populated in order to send to Azure. + + :param tags: Key-value pairs of additional properties for the environment. + :type tags: dict[str, str] + :param storage_configuration: The storage configuration provides the + connection details that allows the Time Series Insights service to connect + to the customer storage account that is used to store the environment's + data. + :type storage_configuration: + ~azure.mgmt.timeseriesinsights.models.LongTermStorageConfigurationMutableProperties + :param data_retention: Required. ISO8601 timespan specifying the number of + days the environment's events will be available for query from the warm + store. + :type data_retention: timedelta + """ + + _validation = { + 'data_retention': {'required': True}, + } + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + 'storage_configuration': {'key': 'properties.storageConfiguration', 'type': 'LongTermStorageConfigurationMutableProperties'}, + 'data_retention': {'key': 'properties.warmStoreConfiguration.dataRetention', 'type': 'duration'}, + } + + def __init__(self, **kwargs): + super(LongTermEnvironmentUpdateParameters, self).__init__(**kwargs) + self.storage_configuration = kwargs.get('storage_configuration', None) + self.data_retention = kwargs.get('data_retention', None) + + +class LongTermStorageConfigurationInput(Model): + """The storage configuration provides the connection details that allows the + Time Series Insights service to connect to the customer storage account + that is used to store the environment's data. + + All required parameters must be populated in order to send to Azure. + + :param account_name: Required. The name of the storage account that will + hold the environment's long term data. + :type account_name: str + :param management_key: Required. The value of the management key that + grants the Time Series Insights service write access to the storage + account. This property is not shown in environment responses. + :type management_key: str + """ + + _validation = { + 'account_name': {'required': True}, + 'management_key': {'required': True}, + } + + _attribute_map = { + 'account_name': {'key': 'accountName', 'type': 'str'}, + 'management_key': {'key': 'managementKey', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(LongTermStorageConfigurationInput, self).__init__(**kwargs) + self.account_name = kwargs.get('account_name', None) + self.management_key = kwargs.get('management_key', None) + + +class LongTermStorageConfigurationMutableProperties(Model): + """The storage configuration provides the connection details that allows the + Time Series Insights service to connect to the customer storage account + that is used to store the environment's data. + + All required parameters must be populated in order to send to Azure. + + :param management_key: Required. The value of the management key that + grants the Time Series Insights service write access to the storage + account. This property is not shown in environment responses. + :type management_key: str + """ + + _validation = { + 'management_key': {'required': True}, + } + + _attribute_map = { + 'management_key': {'key': 'managementKey', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(LongTermStorageConfigurationMutableProperties, self).__init__(**kwargs) + self.management_key = kwargs.get('management_key', None) + + +class LongTermStorageConfigurationOutput(Model): + """The storage configuration provides the non-secret connection details about + the customer storage account that is used to store the environment's data. + + All required parameters must be populated in order to send to Azure. + + :param account_name: Required. The name of the storage account that will + hold the environment's long term data. + :type account_name: str + """ + + _validation = { + 'account_name': {'required': True}, + } + + _attribute_map = { + 'account_name': {'key': 'accountName', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(LongTermStorageConfigurationOutput, self).__init__(**kwargs) + self.account_name = kwargs.get('account_name', None) + + +class Operation(Model): + """A Time Series Insights REST API operation. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name: The name of the operation being performed on this particular + object. + :vartype name: str + :ivar display: Contains the localized display information for this + particular operation / action. + :vartype display: ~azure.mgmt.timeseriesinsights.models.OperationDisplay + """ + + _validation = { + 'name': {'readonly': True}, + 'display': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'OperationDisplay'}, + } + + def __init__(self, **kwargs): + super(Operation, self).__init__(**kwargs) + self.name = None + self.display = None + + +class OperationDisplay(Model): + """Contains the localized display information for this particular operation / + action. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar provider: The localized friendly form of the resource provider name. + :vartype provider: str + :ivar resource: The localized friendly form of the resource type related + to this action/operation. + :vartype resource: str + :ivar operation: The localized friendly name for the operation. + :vartype operation: str + :ivar description: The localized friendly description for the operation. + :vartype description: str + """ + + _validation = { + 'provider': {'readonly': True}, + 'resource': {'readonly': True}, + 'operation': {'readonly': True}, + 'description': {'readonly': True}, + } + + _attribute_map = { + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(OperationDisplay, self).__init__(**kwargs) + self.provider = None + self.resource = None + self.operation = None + self.description = None + + +class ReferenceDataSetCreateOrUpdateParameters(CreateOrUpdateTrackedResourceProperties): + """ReferenceDataSetCreateOrUpdateParameters. + + All required parameters must be populated in order to send to Azure. + + :param location: Required. The location of the resource. + :type location: str + :param tags: Key-value pairs of additional properties for the resource. + :type tags: dict[str, str] + :param key_properties: Required. The list of key properties for the + reference data set. + :type key_properties: + list[~azure.mgmt.timeseriesinsights.models.ReferenceDataSetKeyProperty] + :param data_string_comparison_behavior: The reference data set key + comparison behavior can be set using this property. By default, the value + is 'Ordinal' - which means case sensitive key comparison will be performed + while joining reference data with events or while adding new reference + data. When 'OrdinalIgnoreCase' is set, case insensitive comparison will be + used. Possible values include: 'Ordinal', 'OrdinalIgnoreCase' + :type data_string_comparison_behavior: str or + ~azure.mgmt.timeseriesinsights.models.DataStringComparisonBehavior + """ + + _validation = { + 'location': {'required': True}, + 'key_properties': {'required': True}, + } + + _attribute_map = { + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'key_properties': {'key': 'properties.keyProperties', 'type': '[ReferenceDataSetKeyProperty]'}, + 'data_string_comparison_behavior': {'key': 'properties.dataStringComparisonBehavior', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ReferenceDataSetCreateOrUpdateParameters, self).__init__(**kwargs) + self.key_properties = kwargs.get('key_properties', None) + self.data_string_comparison_behavior = kwargs.get('data_string_comparison_behavior', None) + + +class ReferenceDataSetKeyProperty(Model): + """A key property for the reference data set. A reference data set can have + multiple key properties. + + :param name: The name of the key property. + :type name: str + :param type: The type of the key property. Possible values include: + 'String', 'Double', 'Bool', 'DateTime' + :type type: str or + ~azure.mgmt.timeseriesinsights.models.ReferenceDataKeyPropertyType + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ReferenceDataSetKeyProperty, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.type = kwargs.get('type', None) + + +class ReferenceDataSetListResponse(Model): + """The response of the List Reference Data Sets operation. + + :param value: Result of the List Reference Data Sets operation. + :type value: + list[~azure.mgmt.timeseriesinsights.models.ReferenceDataSetResource] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ReferenceDataSetResource]'}, + } + + def __init__(self, **kwargs): + super(ReferenceDataSetListResponse, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + + +class ReferenceDataSetResource(TrackedResource): + """A reference data set provides metadata about the events in an environment. + Metadata in the reference data set will be joined with events as they are + read from event sources. The metadata that makes up the reference data set + is uploaded or modified through the Time Series Insights data plane APIs. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Resource Id + :vartype id: str + :ivar name: Resource name + :vartype name: str + :ivar type: Resource type + :vartype type: str + :param location: Required. Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + :param key_properties: Required. The list of key properties for the + reference data set. + :type key_properties: + list[~azure.mgmt.timeseriesinsights.models.ReferenceDataSetKeyProperty] + :param data_string_comparison_behavior: The reference data set key + comparison behavior can be set using this property. By default, the value + is 'Ordinal' - which means case sensitive key comparison will be performed + while joining reference data with events or while adding new reference + data. When 'OrdinalIgnoreCase' is set, case insensitive comparison will be + used. Possible values include: 'Ordinal', 'OrdinalIgnoreCase' + :type data_string_comparison_behavior: str or + ~azure.mgmt.timeseriesinsights.models.DataStringComparisonBehavior + :param provisioning_state: Provisioning state of the resource. Possible + values include: 'Accepted', 'Creating', 'Updating', 'Succeeded', 'Failed', + 'Deleting' + :type provisioning_state: str or + ~azure.mgmt.timeseriesinsights.models.ProvisioningState + :ivar creation_time: The time the resource was created. + :vartype creation_time: datetime + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + 'key_properties': {'required': True}, + 'creation_time': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'key_properties': {'key': 'properties.keyProperties', 'type': '[ReferenceDataSetKeyProperty]'}, + 'data_string_comparison_behavior': {'key': 'properties.dataStringComparisonBehavior', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'creation_time': {'key': 'properties.creationTime', 'type': 'iso-8601'}, + } + + def __init__(self, **kwargs): + super(ReferenceDataSetResource, self).__init__(**kwargs) + self.key_properties = kwargs.get('key_properties', None) + self.data_string_comparison_behavior = kwargs.get('data_string_comparison_behavior', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.creation_time = None + + +class ReferenceDataSetUpdateParameters(Model): + """Parameters supplied to the Update Reference Data Set operation. + + :param tags: Key-value pairs of additional properties for the reference + data set. + :type tags: dict[str, str] + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, **kwargs): + super(ReferenceDataSetUpdateParameters, self).__init__(**kwargs) + self.tags = kwargs.get('tags', None) + + +class Sku(Model): + """The sku determines the type of environment, either standard (S1 or S2) or + long-term (L1). For standard environments the sku determines the capacity + of the environment, the ingress rate, and the billing rate. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. The name of this SKU. Possible values include: + 'S1', 'S2', 'P1', 'L1' + :type name: str or ~azure.mgmt.timeseriesinsights.models.SkuName + :param capacity: Required. The capacity of the sku. For standard + environments, this value can be changed to support scale out of + environments after they have been created. + :type capacity: int + """ + + _validation = { + 'name': {'required': True}, + 'capacity': {'required': True, 'maximum': 10, 'minimum': 1}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'capacity': {'key': 'capacity', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(Sku, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.capacity = kwargs.get('capacity', None) + + +class StandardEnvironmentCreateOrUpdateParameters(EnvironmentCreateOrUpdateParameters): + """Parameters supplied to the Create or Update Environment operation for a + standard environment. + + All required parameters must be populated in order to send to Azure. + + :param location: Required. The location of the resource. + :type location: str + :param tags: Key-value pairs of additional properties for the resource. + :type tags: dict[str, str] + :param sku: Required. The sku determines the type of environment, either + standard (S1 or S2) or long-term (L1). For standard environments the sku + determines the capacity of the environment, the ingress rate, and the + billing rate. + :type sku: ~azure.mgmt.timeseriesinsights.models.Sku + :param kind: Required. Constant filled by server. + :type kind: str + :param data_retention_time: Required. ISO8601 timespan specifying the + minimum number of days the environment's events will be available for + query. + :type data_retention_time: timedelta + :param storage_limit_exceeded_behavior: The behavior the Time Series + Insights service should take when the environment's capacity has been + exceeded. If "PauseIngress" is specified, new events will not be read from + the event source. If "PurgeOldData" is specified, new events will continue + to be read and old events will be deleted from the environment. The + default behavior is PurgeOldData. Possible values include: 'PurgeOldData', + 'PauseIngress' + :type storage_limit_exceeded_behavior: str or + ~azure.mgmt.timeseriesinsights.models.StorageLimitExceededBehavior + :param partition_key_properties: The list of event properties which will + be used to partition data in the environment. + :type partition_key_properties: + list[~azure.mgmt.timeseriesinsights.models.TimeSeriesIdProperty] + """ + + _validation = { + 'location': {'required': True}, + 'sku': {'required': True}, + 'kind': {'required': True}, + 'data_retention_time': {'required': True}, + } + + _attribute_map = { + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'data_retention_time': {'key': 'properties.dataRetentionTime', 'type': 'duration'}, + 'storage_limit_exceeded_behavior': {'key': 'properties.storageLimitExceededBehavior', 'type': 'str'}, + 'partition_key_properties': {'key': 'properties.partitionKeyProperties', 'type': '[TimeSeriesIdProperty]'}, + } + + def __init__(self, **kwargs): + super(StandardEnvironmentCreateOrUpdateParameters, self).__init__(**kwargs) + self.data_retention_time = kwargs.get('data_retention_time', None) + self.storage_limit_exceeded_behavior = kwargs.get('storage_limit_exceeded_behavior', None) + self.partition_key_properties = kwargs.get('partition_key_properties', None) + self.kind = 'Standard' + + +class StandardEnvironmentResource(EnvironmentResource): + """An environment is a set of time-series data available for query, and is the + top level Azure Time Series Insights resource. Standard environments have + data retention limits. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Resource Id + :vartype id: str + :ivar name: Resource name + :vartype name: str + :ivar type: Resource type + :vartype type: str + :param location: Required. Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + :param sku: Required. The sku determines the type of environment, either + standard (S1 or S2) or long-term (L1). For standard environments the sku + determines the capacity of the environment, the ingress rate, and the + billing rate. + :type sku: ~azure.mgmt.timeseriesinsights.models.Sku + :param kind: Required. Constant filled by server. + :type kind: str + :param data_retention_time: Required. ISO8601 timespan specifying the + minimum number of days the environment's events will be available for + query. + :type data_retention_time: timedelta + :param storage_limit_exceeded_behavior: The behavior the Time Series + Insights service should take when the environment's capacity has been + exceeded. If "PauseIngress" is specified, new events will not be read from + the event source. If "PurgeOldData" is specified, new events will continue + to be read and old events will be deleted from the environment. The + default behavior is PurgeOldData. Possible values include: 'PurgeOldData', + 'PauseIngress' + :type storage_limit_exceeded_behavior: str or + ~azure.mgmt.timeseriesinsights.models.StorageLimitExceededBehavior + :param partition_key_properties: The list of event properties which will + be used to partition data in the environment. + :type partition_key_properties: + list[~azure.mgmt.timeseriesinsights.models.TimeSeriesIdProperty] + :ivar data_access_id: An id used to access the environment data, e.g. to + query the environment's events or upload reference data for the + environment. + :vartype data_access_id: str + :ivar data_access_fqdn: The fully qualified domain name used to access the + environment data, e.g. to query the environment's events or upload + reference data for the environment. + :vartype data_access_fqdn: str + :param status: An object that represents the status of the environment, + and its internal state in the Time Series Insights service. + :type status: ~azure.mgmt.timeseriesinsights.models.EnvironmentStatus + :param provisioning_state: Provisioning state of the resource. Possible + values include: 'Accepted', 'Creating', 'Updating', 'Succeeded', 'Failed', + 'Deleting' + :type provisioning_state: str or + ~azure.mgmt.timeseriesinsights.models.ProvisioningState + :ivar creation_time: The time the resource was created. + :vartype creation_time: datetime + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + 'sku': {'required': True}, + 'kind': {'required': True}, + 'data_retention_time': {'required': True}, + 'data_access_id': {'readonly': True}, + 'data_access_fqdn': {'readonly': True}, + 'creation_time': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'data_retention_time': {'key': 'properties.dataRetentionTime', 'type': 'duration'}, + 'storage_limit_exceeded_behavior': {'key': 'properties.storageLimitExceededBehavior', 'type': 'str'}, + 'partition_key_properties': {'key': 'properties.partitionKeyProperties', 'type': '[TimeSeriesIdProperty]'}, + 'data_access_id': {'key': 'properties.dataAccessId', 'type': 'str'}, + 'data_access_fqdn': {'key': 'properties.dataAccessFqdn', 'type': 'str'}, + 'status': {'key': 'properties.status', 'type': 'EnvironmentStatus'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'creation_time': {'key': 'properties.creationTime', 'type': 'iso-8601'}, + } + + def __init__(self, **kwargs): + super(StandardEnvironmentResource, self).__init__(**kwargs) + self.data_retention_time = kwargs.get('data_retention_time', None) + self.storage_limit_exceeded_behavior = kwargs.get('storage_limit_exceeded_behavior', None) + self.partition_key_properties = kwargs.get('partition_key_properties', None) + self.data_access_id = None + self.data_access_fqdn = None + self.status = kwargs.get('status', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.creation_time = None + self.kind = 'Standard' + + +class StandardEnvironmentUpdateParameters(EnvironmentUpdateParameters): + """Parameters supplied to the Update Environment operation to update a + standard environment. + + :param tags: Key-value pairs of additional properties for the environment. + :type tags: dict[str, str] + :param sku: The sku of the environment. + :type sku: ~azure.mgmt.timeseriesinsights.models.Sku + :param data_retention_time: ISO8601 timespan specifying the minimum number + of days the environment's events will be available for query. + :type data_retention_time: timedelta + :param storage_limit_exceeded_behavior: The behavior the Time Series + Insights service should take when the environment's capacity has been + exceeded. If "PauseIngress" is specified, new events will not be read from + the event source. If "PurgeOldData" is specified, new events will continue + to be read and old events will be deleted from the environment. The + default behavior is PurgeOldData. Possible values include: 'PurgeOldData', + 'PauseIngress' + :type storage_limit_exceeded_behavior: str or + ~azure.mgmt.timeseriesinsights.models.StorageLimitExceededBehavior + :param partition_key_properties: The list of event properties which will + be used to partition data in the environment. + :type partition_key_properties: + list[~azure.mgmt.timeseriesinsights.models.TimeSeriesIdProperty] + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + 'data_retention_time': {'key': 'properties.dataRetentionTime', 'type': 'duration'}, + 'storage_limit_exceeded_behavior': {'key': 'properties.storageLimitExceededBehavior', 'type': 'str'}, + 'partition_key_properties': {'key': 'properties.partitionKeyProperties', 'type': '[TimeSeriesIdProperty]'}, + } + + def __init__(self, **kwargs): + super(StandardEnvironmentUpdateParameters, self).__init__(**kwargs) + self.sku = kwargs.get('sku', None) + self.data_retention_time = kwargs.get('data_retention_time', None) + self.storage_limit_exceeded_behavior = kwargs.get('storage_limit_exceeded_behavior', None) + self.partition_key_properties = kwargs.get('partition_key_properties', None) + + +class TimeSeriesIdProperty(Model): + """The structure of the property that a time series id can have. An + environment can have multiple such properties. + + :param name: The name of the property. + :type name: str + :param type: The type of the property. Possible values include: 'String' + :type type: str or ~azure.mgmt.timeseriesinsights.models.PropertyType + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(TimeSeriesIdProperty, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.type = kwargs.get('type', None) + + +class WarmStorageEnvironmentStatus(Model): + """An object that represents the status of warm storage on an environment. + + :param state: This string represents the state of warm storage properties + usage. It can be "Ok", "Error", "Unknown". Possible values include: 'Ok', + 'Error', 'Unknown' + :type state: str or + ~azure.mgmt.timeseriesinsights.models.WarmStoragePropertiesState + :param current_count: A value that represents the number of properties + used by the environment for S1/S2 SKU and number of properties used by + Warm Store for PAYG SKU + :type current_count: int + :param max_count: A value that represents the maximum number of properties + used allowed by the environment for S1/S2 SKU and maximum number of + properties allowed by Warm Store for PAYG SKU. + :type max_count: int + """ + + _validation = { + 'current_count': {'maximum': 10, 'minimum': 1}, + 'max_count': {'maximum': 10, 'minimum': 1}, + } + + _attribute_map = { + 'state': {'key': 'propertiesUsage.state', 'type': 'str'}, + 'current_count': {'key': 'propertiesUsage.stateDetails.currentCount', 'type': 'int'}, + 'max_count': {'key': 'propertiesUsage.stateDetails.maxCount', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(WarmStorageEnvironmentStatus, self).__init__(**kwargs) + self.state = kwargs.get('state', None) + self.current_count = kwargs.get('current_count', None) + self.max_count = kwargs.get('max_count', None) diff --git a/src/timeseriesinsights/azext_timeseriesinsights/vendored_sdks/timeseriesinsights/models/_models_py3.py b/src/timeseriesinsights/azext_timeseriesinsights/vendored_sdks/timeseriesinsights/models/_models_py3.py new file mode 100644 index 00000000000..aee5221d81b --- /dev/null +++ b/src/timeseriesinsights/azext_timeseriesinsights/vendored_sdks/timeseriesinsights/models/_models_py3.py @@ -0,0 +1,2237 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model +from msrest.exceptions import HttpOperationError + + +class AccessPolicyCreateOrUpdateParameters(Model): + """AccessPolicyCreateOrUpdateParameters. + + :param principal_object_id: The objectId of the principal in Azure Active + Directory. + :type principal_object_id: str + :param description: An description of the access policy. + :type description: str + :param roles: The list of roles the principal is assigned on the + environment. + :type roles: list[str or + ~azure.mgmt.timeseriesinsights.models.AccessPolicyRole] + """ + + _attribute_map = { + 'principal_object_id': {'key': 'properties.principalObjectId', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'roles': {'key': 'properties.roles', 'type': '[str]'}, + } + + def __init__(self, *, principal_object_id: str=None, description: str=None, roles=None, **kwargs) -> None: + super(AccessPolicyCreateOrUpdateParameters, self).__init__(**kwargs) + self.principal_object_id = principal_object_id + self.description = description + self.roles = roles + + +class AccessPolicyListResponse(Model): + """The response of the List access policies operation. + + :param value: Result of the List access policies operation. + :type value: + list[~azure.mgmt.timeseriesinsights.models.AccessPolicyResource] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[AccessPolicyResource]'}, + } + + def __init__(self, *, value=None, **kwargs) -> None: + super(AccessPolicyListResponse, self).__init__(**kwargs) + self.value = value + + +class Resource(Model): + """Time Series Insights resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource Id + :vartype id: str + :ivar name: Resource name + :vartype name: str + :ivar type: Resource type + :vartype type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(Resource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + + +class AccessPolicyResource(Resource): + """An access policy is used to grant users and applications access to the + environment. Roles are assigned to service principals in Azure Active + Directory. These roles define the actions the principal can perform through + the Time Series Insights data plane APIs. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource Id + :vartype id: str + :ivar name: Resource name + :vartype name: str + :ivar type: Resource type + :vartype type: str + :param principal_object_id: The objectId of the principal in Azure Active + Directory. + :type principal_object_id: str + :param description: An description of the access policy. + :type description: str + :param roles: The list of roles the principal is assigned on the + environment. + :type roles: list[str or + ~azure.mgmt.timeseriesinsights.models.AccessPolicyRole] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'principal_object_id': {'key': 'properties.principalObjectId', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'roles': {'key': 'properties.roles', 'type': '[str]'}, + } + + def __init__(self, *, principal_object_id: str=None, description: str=None, roles=None, **kwargs) -> None: + super(AccessPolicyResource, self).__init__(**kwargs) + self.principal_object_id = principal_object_id + self.description = description + self.roles = roles + + +class AccessPolicyUpdateParameters(Model): + """AccessPolicyUpdateParameters. + + :param description: An description of the access policy. + :type description: str + :param roles: The list of roles the principal is assigned on the + environment. + :type roles: list[str or + ~azure.mgmt.timeseriesinsights.models.AccessPolicyRole] + """ + + _attribute_map = { + 'description': {'key': 'properties.description', 'type': 'str'}, + 'roles': {'key': 'properties.roles', 'type': '[str]'}, + } + + def __init__(self, *, description: str=None, roles=None, **kwargs) -> None: + super(AccessPolicyUpdateParameters, self).__init__(**kwargs) + self.description = description + self.roles = roles + + +class ResourceProperties(Model): + """Properties that are common to all tracked resources. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param provisioning_state: Provisioning state of the resource. Possible + values include: 'Accepted', 'Creating', 'Updating', 'Succeeded', 'Failed', + 'Deleting' + :type provisioning_state: str or + ~azure.mgmt.timeseriesinsights.models.ProvisioningState + :ivar creation_time: The time the resource was created. + :vartype creation_time: datetime + """ + + _validation = { + 'creation_time': {'readonly': True}, + } + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'creation_time': {'key': 'creationTime', 'type': 'iso-8601'}, + } + + def __init__(self, *, provisioning_state=None, **kwargs) -> None: + super(ResourceProperties, self).__init__(**kwargs) + self.provisioning_state = provisioning_state + self.creation_time = None + + +class EventSourceCommonProperties(ResourceProperties): + """Properties of the event source. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param provisioning_state: Provisioning state of the resource. Possible + values include: 'Accepted', 'Creating', 'Updating', 'Succeeded', 'Failed', + 'Deleting' + :type provisioning_state: str or + ~azure.mgmt.timeseriesinsights.models.ProvisioningState + :ivar creation_time: The time the resource was created. + :vartype creation_time: datetime + :param timestamp_property_name: The event property that will be used as + the event source's timestamp. If a value isn't specified for + timestampPropertyName, or if null or empty-string is specified, the event + creation time will be used. + :type timestamp_property_name: str + """ + + _validation = { + 'creation_time': {'readonly': True}, + } + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'creation_time': {'key': 'creationTime', 'type': 'iso-8601'}, + 'timestamp_property_name': {'key': 'timestampPropertyName', 'type': 'str'}, + } + + def __init__(self, *, provisioning_state=None, timestamp_property_name: str=None, **kwargs) -> None: + super(EventSourceCommonProperties, self).__init__(provisioning_state=provisioning_state, **kwargs) + self.timestamp_property_name = timestamp_property_name + + +class AzureEventSourceProperties(EventSourceCommonProperties): + """Properties of an event source that reads events from an event broker in + Azure. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param provisioning_state: Provisioning state of the resource. Possible + values include: 'Accepted', 'Creating', 'Updating', 'Succeeded', 'Failed', + 'Deleting' + :type provisioning_state: str or + ~azure.mgmt.timeseriesinsights.models.ProvisioningState + :ivar creation_time: The time the resource was created. + :vartype creation_time: datetime + :param timestamp_property_name: The event property that will be used as + the event source's timestamp. If a value isn't specified for + timestampPropertyName, or if null or empty-string is specified, the event + creation time will be used. + :type timestamp_property_name: str + :param event_source_resource_id: Required. The resource id of the event + source in Azure Resource Manager. + :type event_source_resource_id: str + """ + + _validation = { + 'creation_time': {'readonly': True}, + 'event_source_resource_id': {'required': True}, + } + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'creation_time': {'key': 'creationTime', 'type': 'iso-8601'}, + 'timestamp_property_name': {'key': 'timestampPropertyName', 'type': 'str'}, + 'event_source_resource_id': {'key': 'eventSourceResourceId', 'type': 'str'}, + } + + def __init__(self, *, event_source_resource_id: str, provisioning_state=None, timestamp_property_name: str=None, **kwargs) -> None: + super(AzureEventSourceProperties, self).__init__(provisioning_state=provisioning_state, timestamp_property_name=timestamp_property_name, **kwargs) + self.event_source_resource_id = event_source_resource_id + + +class CloudError(Model): + """Contains information about an API error. + + :param error: Describes a particular API error with an error code and a + message. + :type error: ~azure.mgmt.timeseriesinsights.models.CloudErrorBody + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'CloudErrorBody'}, + } + + def __init__(self, *, error=None, **kwargs) -> None: + super(CloudError, self).__init__(**kwargs) + self.error = error + + +class CloudErrorException(HttpOperationError): + """Server responsed with exception of type: 'CloudError'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(CloudErrorException, self).__init__(deserialize, response, 'CloudError', *args) + + +class CloudErrorBody(Model): + """Describes a particular API error with an error code and a message. + + :param code: An error code that describes the error condition more + precisely than an HTTP status code. Can be used to programmatically handle + specific error cases. + :type code: str + :param message: A message that describes the error in detail and provides + debugging information. + :type message: str + :param target: The target of the particular error (for example, the name + of the property in error). + :type target: str + :param details: Contains nested errors that are related to this error. + :type details: list[~azure.mgmt.timeseriesinsights.models.CloudErrorBody] + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[CloudErrorBody]'}, + } + + def __init__(self, *, code: str=None, message: str=None, target: str=None, details=None, **kwargs) -> None: + super(CloudErrorBody, self).__init__(**kwargs) + self.code = code + self.message = message + self.target = target + self.details = details + + +class CreateOrUpdateTrackedResourceProperties(Model): + """Properties required to create any resource tracked by Azure Resource + Manager. + + All required parameters must be populated in order to send to Azure. + + :param location: Required. The location of the resource. + :type location: str + :param tags: Key-value pairs of additional properties for the resource. + :type tags: dict[str, str] + """ + + _validation = { + 'location': {'required': True}, + } + + _attribute_map = { + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, *, location: str, tags=None, **kwargs) -> None: + super(CreateOrUpdateTrackedResourceProperties, self).__init__(**kwargs) + self.location = location + self.tags = tags + + +class EnvironmentCreateOrUpdateParameters(CreateOrUpdateTrackedResourceProperties): + """Parameters supplied to the CreateOrUpdate Environment operation. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: StandardEnvironmentCreateOrUpdateParameters, + LongTermEnvironmentCreateOrUpdateParameters + + All required parameters must be populated in order to send to Azure. + + :param location: Required. The location of the resource. + :type location: str + :param tags: Key-value pairs of additional properties for the resource. + :type tags: dict[str, str] + :param sku: Required. The sku determines the type of environment, either + standard (S1 or S2) or long-term (L1). For standard environments the sku + determines the capacity of the environment, the ingress rate, and the + billing rate. + :type sku: ~azure.mgmt.timeseriesinsights.models.Sku + :param kind: Required. Constant filled by server. + :type kind: str + """ + + _validation = { + 'location': {'required': True}, + 'sku': {'required': True}, + 'kind': {'required': True}, + } + + _attribute_map = { + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + 'kind': {'key': 'kind', 'type': 'str'}, + } + + _subtype_map = { + 'kind': {'Standard': 'StandardEnvironmentCreateOrUpdateParameters', 'LongTerm': 'LongTermEnvironmentCreateOrUpdateParameters'} + } + + def __init__(self, *, location: str, sku, tags=None, **kwargs) -> None: + super(EnvironmentCreateOrUpdateParameters, self).__init__(location=location, tags=tags, **kwargs) + self.sku = sku + self.kind = None + self.kind = 'EnvironmentCreateOrUpdateParameters' + + +class EnvironmentListResponse(Model): + """The response of the List Environments operation. + + :param value: Result of the List Environments operation. + :type value: + list[~azure.mgmt.timeseriesinsights.models.EnvironmentResource] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[EnvironmentResource]'}, + } + + def __init__(self, *, value=None, **kwargs) -> None: + super(EnvironmentListResponse, self).__init__(**kwargs) + self.value = value + + +class TrackedResource(Resource): + """Time Series Insights resource that is tracked by Azure Resource Manager. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Resource Id + :vartype id: str + :ivar name: Resource name + :vartype name: str + :ivar type: Resource type + :vartype type: str + :param location: Required. Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, *, location: str, tags=None, **kwargs) -> None: + super(TrackedResource, self).__init__(**kwargs) + self.location = location + self.tags = tags + + +class EnvironmentResource(TrackedResource): + """An environment is a set of time-series data available for query, and is the + top level Azure Time Series Insights resource. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: StandardEnvironmentResource, LongTermEnvironmentResource + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Resource Id + :vartype id: str + :ivar name: Resource name + :vartype name: str + :ivar type: Resource type + :vartype type: str + :param location: Required. Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + :param sku: Required. The sku determines the type of environment, either + standard (S1 or S2) or long-term (L1). For standard environments the sku + determines the capacity of the environment, the ingress rate, and the + billing rate. + :type sku: ~azure.mgmt.timeseriesinsights.models.Sku + :param kind: Required. Constant filled by server. + :type kind: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + 'sku': {'required': True}, + 'kind': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + 'kind': {'key': 'kind', 'type': 'str'}, + } + + _subtype_map = { + 'kind': {'Standard': 'StandardEnvironmentResource', 'LongTerm': 'LongTermEnvironmentResource'} + } + + def __init__(self, *, location: str, sku, tags=None, **kwargs) -> None: + super(EnvironmentResource, self).__init__(location=location, tags=tags, **kwargs) + self.sku = sku + self.kind = None + self.kind = 'EnvironmentResource' + + +class EnvironmentResourceProperties(ResourceProperties): + """Properties of the environment. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param provisioning_state: Provisioning state of the resource. Possible + values include: 'Accepted', 'Creating', 'Updating', 'Succeeded', 'Failed', + 'Deleting' + :type provisioning_state: str or + ~azure.mgmt.timeseriesinsights.models.ProvisioningState + :ivar creation_time: The time the resource was created. + :vartype creation_time: datetime + :ivar data_access_id: An id used to access the environment data, e.g. to + query the environment's events or upload reference data for the + environment. + :vartype data_access_id: str + :ivar data_access_fqdn: The fully qualified domain name used to access the + environment data, e.g. to query the environment's events or upload + reference data for the environment. + :vartype data_access_fqdn: str + :param status: An object that represents the status of the environment, + and its internal state in the Time Series Insights service. + :type status: ~azure.mgmt.timeseriesinsights.models.EnvironmentStatus + """ + + _validation = { + 'creation_time': {'readonly': True}, + 'data_access_id': {'readonly': True}, + 'data_access_fqdn': {'readonly': True}, + } + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'creation_time': {'key': 'creationTime', 'type': 'iso-8601'}, + 'data_access_id': {'key': 'dataAccessId', 'type': 'str'}, + 'data_access_fqdn': {'key': 'dataAccessFqdn', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'EnvironmentStatus'}, + } + + def __init__(self, *, provisioning_state=None, status=None, **kwargs) -> None: + super(EnvironmentResourceProperties, self).__init__(provisioning_state=provisioning_state, **kwargs) + self.data_access_id = None + self.data_access_fqdn = None + self.status = status + + +class EnvironmentStateDetails(Model): + """An object that contains the details about an environment's state. + + :param code: Contains the code that represents the reason of an + environment being in a particular state. Can be used to programmatically + handle specific cases. + :type code: str + :param message: A message that describes the state in detail. + :type message: str + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__(self, *, code: str=None, message: str=None, **kwargs) -> None: + super(EnvironmentStateDetails, self).__init__(**kwargs) + self.code = code + self.message = message + + +class EnvironmentStatus(Model): + """An object that represents the status of the environment, and its internal + state in the Time Series Insights service. + + :param ingress: An object that represents the status of ingress on an + environment. + :type ingress: + ~azure.mgmt.timeseriesinsights.models.IngressEnvironmentStatus + :param warm_storage: An object that represents the status of warm storage + on an environment. + :type warm_storage: + ~azure.mgmt.timeseriesinsights.models.WarmStorageEnvironmentStatus + """ + + _attribute_map = { + 'ingress': {'key': 'ingress', 'type': 'IngressEnvironmentStatus'}, + 'warm_storage': {'key': 'warmStorage', 'type': 'WarmStorageEnvironmentStatus'}, + } + + def __init__(self, *, ingress=None, warm_storage=None, **kwargs) -> None: + super(EnvironmentStatus, self).__init__(**kwargs) + self.ingress = ingress + self.warm_storage = warm_storage + + +class EnvironmentUpdateParameters(Model): + """Parameters supplied to the Update Environment operation. + + :param tags: Key-value pairs of additional properties for the environment. + :type tags: dict[str, str] + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, *, tags=None, **kwargs) -> None: + super(EnvironmentUpdateParameters, self).__init__(**kwargs) + self.tags = tags + + +class EventHubEventSourceCommonProperties(AzureEventSourceProperties): + """Properties of the EventHub event source. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param provisioning_state: Provisioning state of the resource. Possible + values include: 'Accepted', 'Creating', 'Updating', 'Succeeded', 'Failed', + 'Deleting' + :type provisioning_state: str or + ~azure.mgmt.timeseriesinsights.models.ProvisioningState + :ivar creation_time: The time the resource was created. + :vartype creation_time: datetime + :param timestamp_property_name: The event property that will be used as + the event source's timestamp. If a value isn't specified for + timestampPropertyName, or if null or empty-string is specified, the event + creation time will be used. + :type timestamp_property_name: str + :param event_source_resource_id: Required. The resource id of the event + source in Azure Resource Manager. + :type event_source_resource_id: str + :param service_bus_namespace: Required. The name of the service bus that + contains the event hub. + :type service_bus_namespace: str + :param event_hub_name: Required. The name of the event hub. + :type event_hub_name: str + :param consumer_group_name: Required. The name of the event hub's consumer + group that holds the partitions from which events will be read. + :type consumer_group_name: str + :param key_name: Required. The name of the SAS key that grants the Time + Series Insights service access to the event hub. The shared access + policies for this key must grant 'Listen' permissions to the event hub. + :type key_name: str + """ + + _validation = { + 'creation_time': {'readonly': True}, + 'event_source_resource_id': {'required': True}, + 'service_bus_namespace': {'required': True}, + 'event_hub_name': {'required': True}, + 'consumer_group_name': {'required': True}, + 'key_name': {'required': True}, + } + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'creation_time': {'key': 'creationTime', 'type': 'iso-8601'}, + 'timestamp_property_name': {'key': 'timestampPropertyName', 'type': 'str'}, + 'event_source_resource_id': {'key': 'eventSourceResourceId', 'type': 'str'}, + 'service_bus_namespace': {'key': 'serviceBusNamespace', 'type': 'str'}, + 'event_hub_name': {'key': 'eventHubName', 'type': 'str'}, + 'consumer_group_name': {'key': 'consumerGroupName', 'type': 'str'}, + 'key_name': {'key': 'keyName', 'type': 'str'}, + } + + def __init__(self, *, event_source_resource_id: str, service_bus_namespace: str, event_hub_name: str, consumer_group_name: str, key_name: str, provisioning_state=None, timestamp_property_name: str=None, **kwargs) -> None: + super(EventHubEventSourceCommonProperties, self).__init__(provisioning_state=provisioning_state, timestamp_property_name=timestamp_property_name, event_source_resource_id=event_source_resource_id, **kwargs) + self.service_bus_namespace = service_bus_namespace + self.event_hub_name = event_hub_name + self.consumer_group_name = consumer_group_name + self.key_name = key_name + + +class EventSourceCreateOrUpdateParameters(CreateOrUpdateTrackedResourceProperties): + """Parameters supplied to the Create or Update Event Source operation. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: EventHubEventSourceCreateOrUpdateParameters, + IoTHubEventSourceCreateOrUpdateParameters + + All required parameters must be populated in order to send to Azure. + + :param location: Required. The location of the resource. + :type location: str + :param tags: Key-value pairs of additional properties for the resource. + :type tags: dict[str, str] + :param kind: Required. Constant filled by server. + :type kind: str + """ + + _validation = { + 'location': {'required': True}, + 'kind': {'required': True}, + } + + _attribute_map = { + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'kind': {'key': 'kind', 'type': 'str'}, + } + + _subtype_map = { + 'kind': {'Microsoft.EventHub': 'EventHubEventSourceCreateOrUpdateParameters', 'Microsoft.IoTHub': 'IoTHubEventSourceCreateOrUpdateParameters'} + } + + def __init__(self, *, location: str, tags=None, **kwargs) -> None: + super(EventSourceCreateOrUpdateParameters, self).__init__(location=location, tags=tags, **kwargs) + self.kind = None + self.kind = 'EventSourceCreateOrUpdateParameters' + + +class EventHubEventSourceCreateOrUpdateParameters(EventSourceCreateOrUpdateParameters): + """Parameters supplied to the Create or Update Event Source operation for an + EventHub event source. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param location: Required. The location of the resource. + :type location: str + :param tags: Key-value pairs of additional properties for the resource. + :type tags: dict[str, str] + :param kind: Required. Constant filled by server. + :type kind: str + :param provisioning_state: Provisioning state of the resource. Possible + values include: 'Accepted', 'Creating', 'Updating', 'Succeeded', 'Failed', + 'Deleting' + :type provisioning_state: str or + ~azure.mgmt.timeseriesinsights.models.ProvisioningState + :ivar creation_time: The time the resource was created. + :vartype creation_time: datetime + :param timestamp_property_name: The event property that will be used as + the event source's timestamp. If a value isn't specified for + timestampPropertyName, or if null or empty-string is specified, the event + creation time will be used. + :type timestamp_property_name: str + :param event_source_resource_id: Required. The resource id of the event + source in Azure Resource Manager. + :type event_source_resource_id: str + :param service_bus_namespace: Required. The name of the service bus that + contains the event hub. + :type service_bus_namespace: str + :param event_hub_name: Required. The name of the event hub. + :type event_hub_name: str + :param consumer_group_name: Required. The name of the event hub's consumer + group that holds the partitions from which events will be read. + :type consumer_group_name: str + :param key_name: Required. The name of the SAS key that grants the Time + Series Insights service access to the event hub. The shared access + policies for this key must grant 'Listen' permissions to the event hub. + :type key_name: str + :param shared_access_key: Required. The value of the shared access key + that grants the Time Series Insights service read access to the event hub. + This property is not shown in event source responses. + :type shared_access_key: str + """ + + _validation = { + 'location': {'required': True}, + 'kind': {'required': True}, + 'creation_time': {'readonly': True}, + 'event_source_resource_id': {'required': True}, + 'service_bus_namespace': {'required': True}, + 'event_hub_name': {'required': True}, + 'consumer_group_name': {'required': True}, + 'key_name': {'required': True}, + 'shared_access_key': {'required': True}, + } + + _attribute_map = { + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'creation_time': {'key': 'properties.creationTime', 'type': 'iso-8601'}, + 'timestamp_property_name': {'key': 'properties.timestampPropertyName', 'type': 'str'}, + 'event_source_resource_id': {'key': 'properties.eventSourceResourceId', 'type': 'str'}, + 'service_bus_namespace': {'key': 'properties.serviceBusNamespace', 'type': 'str'}, + 'event_hub_name': {'key': 'properties.eventHubName', 'type': 'str'}, + 'consumer_group_name': {'key': 'properties.consumerGroupName', 'type': 'str'}, + 'key_name': {'key': 'properties.keyName', 'type': 'str'}, + 'shared_access_key': {'key': 'properties.sharedAccessKey', 'type': 'str'}, + } + + def __init__(self, *, location: str, event_source_resource_id: str, service_bus_namespace: str, event_hub_name: str, consumer_group_name: str, key_name: str, shared_access_key: str, tags=None, provisioning_state=None, timestamp_property_name: str=None, **kwargs) -> None: + super(EventHubEventSourceCreateOrUpdateParameters, self).__init__(location=location, tags=tags, **kwargs) + self.provisioning_state = provisioning_state + self.creation_time = None + self.timestamp_property_name = timestamp_property_name + self.event_source_resource_id = event_source_resource_id + self.service_bus_namespace = service_bus_namespace + self.event_hub_name = event_hub_name + self.consumer_group_name = consumer_group_name + self.key_name = key_name + self.shared_access_key = shared_access_key + self.kind = 'Microsoft.EventHub' + + +class EventSourceResource(TrackedResource): + """An environment receives data from one or more event sources. Each event + source has associated connection info that allows the Time Series Insights + ingress pipeline to connect to and pull data from the event source. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: EventHubEventSourceResource, IoTHubEventSourceResource + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Resource Id + :vartype id: str + :ivar name: Resource name + :vartype name: str + :ivar type: Resource type + :vartype type: str + :param location: Required. Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + :param kind: Required. Constant filled by server. + :type kind: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + 'kind': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'kind': {'key': 'kind', 'type': 'str'}, + } + + _subtype_map = { + 'kind': {'Microsoft.EventHub': 'EventHubEventSourceResource', 'Microsoft.IoTHub': 'IoTHubEventSourceResource'} + } + + def __init__(self, *, location: str, tags=None, **kwargs) -> None: + super(EventSourceResource, self).__init__(location=location, tags=tags, **kwargs) + self.kind = None + self.kind = 'EventSourceResource' + + +class EventHubEventSourceResource(EventSourceResource): + """An event source that receives its data from an Azure EventHub. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Resource Id + :vartype id: str + :ivar name: Resource name + :vartype name: str + :ivar type: Resource type + :vartype type: str + :param location: Required. Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + :param kind: Required. Constant filled by server. + :type kind: str + :param provisioning_state: Provisioning state of the resource. Possible + values include: 'Accepted', 'Creating', 'Updating', 'Succeeded', 'Failed', + 'Deleting' + :type provisioning_state: str or + ~azure.mgmt.timeseriesinsights.models.ProvisioningState + :ivar creation_time: The time the resource was created. + :vartype creation_time: datetime + :param timestamp_property_name: The event property that will be used as + the event source's timestamp. If a value isn't specified for + timestampPropertyName, or if null or empty-string is specified, the event + creation time will be used. + :type timestamp_property_name: str + :param event_source_resource_id: Required. The resource id of the event + source in Azure Resource Manager. + :type event_source_resource_id: str + :param service_bus_namespace: Required. The name of the service bus that + contains the event hub. + :type service_bus_namespace: str + :param event_hub_name: Required. The name of the event hub. + :type event_hub_name: str + :param consumer_group_name: Required. The name of the event hub's consumer + group that holds the partitions from which events will be read. + :type consumer_group_name: str + :param key_name: Required. The name of the SAS key that grants the Time + Series Insights service access to the event hub. The shared access + policies for this key must grant 'Listen' permissions to the event hub. + :type key_name: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + 'kind': {'required': True}, + 'creation_time': {'readonly': True}, + 'event_source_resource_id': {'required': True}, + 'service_bus_namespace': {'required': True}, + 'event_hub_name': {'required': True}, + 'consumer_group_name': {'required': True}, + 'key_name': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'creation_time': {'key': 'properties.creationTime', 'type': 'iso-8601'}, + 'timestamp_property_name': {'key': 'properties.timestampPropertyName', 'type': 'str'}, + 'event_source_resource_id': {'key': 'properties.eventSourceResourceId', 'type': 'str'}, + 'service_bus_namespace': {'key': 'properties.serviceBusNamespace', 'type': 'str'}, + 'event_hub_name': {'key': 'properties.eventHubName', 'type': 'str'}, + 'consumer_group_name': {'key': 'properties.consumerGroupName', 'type': 'str'}, + 'key_name': {'key': 'properties.keyName', 'type': 'str'}, + } + + def __init__(self, *, location: str, event_source_resource_id: str, service_bus_namespace: str, event_hub_name: str, consumer_group_name: str, key_name: str, tags=None, provisioning_state=None, timestamp_property_name: str=None, **kwargs) -> None: + super(EventHubEventSourceResource, self).__init__(location=location, tags=tags, **kwargs) + self.provisioning_state = provisioning_state + self.creation_time = None + self.timestamp_property_name = timestamp_property_name + self.event_source_resource_id = event_source_resource_id + self.service_bus_namespace = service_bus_namespace + self.event_hub_name = event_hub_name + self.consumer_group_name = consumer_group_name + self.key_name = key_name + self.kind = 'Microsoft.EventHub' + + +class EventSourceUpdateParameters(Model): + """Parameters supplied to the Update Event Source operation. + + :param tags: Key-value pairs of additional properties for the event + source. + :type tags: dict[str, str] + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, *, tags=None, **kwargs) -> None: + super(EventSourceUpdateParameters, self).__init__(**kwargs) + self.tags = tags + + +class EventHubEventSourceUpdateParameters(EventSourceUpdateParameters): + """Parameters supplied to the Update Event Source operation to update an + EventHub event source. + + :param tags: Key-value pairs of additional properties for the event + source. + :type tags: dict[str, str] + :param timestamp_property_name: The event property that will be used as + the event source's timestamp. If a value isn't specified for + timestampPropertyName, or if null or empty-string is specified, the event + creation time will be used. + :type timestamp_property_name: str + :param local_timestamp: An object that represents the local timestamp + property. It contains the format of local timestamp that needs to be used + and the corresponding timezone offset information. If a value isn't + specified for localTimestamp, or if null, then the local timestamp will + not be ingressed with the events. + :type local_timestamp: + ~azure.mgmt.timeseriesinsights.models.LocalTimestamp + :param shared_access_key: The value of the shared access key that grants + the Time Series Insights service read access to the event hub. This + property is not shown in event source responses. + :type shared_access_key: str + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + 'timestamp_property_name': {'key': 'properties.timestampPropertyName', 'type': 'str'}, + 'local_timestamp': {'key': 'properties.localTimestamp', 'type': 'LocalTimestamp'}, + 'shared_access_key': {'key': 'properties.sharedAccessKey', 'type': 'str'}, + } + + def __init__(self, *, tags=None, timestamp_property_name: str=None, local_timestamp=None, shared_access_key: str=None, **kwargs) -> None: + super(EventHubEventSourceUpdateParameters, self).__init__(tags=tags, **kwargs) + self.timestamp_property_name = timestamp_property_name + self.local_timestamp = local_timestamp + self.shared_access_key = shared_access_key + + +class EventSourceListResponse(Model): + """The response of the List EventSources operation. + + :param value: Result of the List EventSources operation. + :type value: + list[~azure.mgmt.timeseriesinsights.models.EventSourceResource] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[EventSourceResource]'}, + } + + def __init__(self, *, value=None, **kwargs) -> None: + super(EventSourceListResponse, self).__init__(**kwargs) + self.value = value + + +class EventSourceMutableProperties(Model): + """An object that represents a set of mutable event source resource + properties. + + :param timestamp_property_name: The event property that will be used as + the event source's timestamp. If a value isn't specified for + timestampPropertyName, or if null or empty-string is specified, the event + creation time will be used. + :type timestamp_property_name: str + :param local_timestamp: An object that represents the local timestamp + property. It contains the format of local timestamp that needs to be used + and the corresponding timezone offset information. If a value isn't + specified for localTimestamp, or if null, then the local timestamp will + not be ingressed with the events. + :type local_timestamp: + ~azure.mgmt.timeseriesinsights.models.LocalTimestamp + """ + + _attribute_map = { + 'timestamp_property_name': {'key': 'timestampPropertyName', 'type': 'str'}, + 'local_timestamp': {'key': 'localTimestamp', 'type': 'LocalTimestamp'}, + } + + def __init__(self, *, timestamp_property_name: str=None, local_timestamp=None, **kwargs) -> None: + super(EventSourceMutableProperties, self).__init__(**kwargs) + self.timestamp_property_name = timestamp_property_name + self.local_timestamp = local_timestamp + + +class IngressEnvironmentStatus(Model): + """An object that represents the status of ingress on an environment. + + :param state: This string represents the state of ingress operations on an + environment. It can be "Disabled", "Ready", "Running", "Paused" or + "Unknown". Possible values include: 'Disabled', 'Ready', 'Running', + 'Paused', 'Unknown' + :type state: str or ~azure.mgmt.timeseriesinsights.models.IngressState + :param state_details: An object that contains the details about an + environment's state. + :type state_details: + ~azure.mgmt.timeseriesinsights.models.EnvironmentStateDetails + """ + + _attribute_map = { + 'state': {'key': 'state', 'type': 'str'}, + 'state_details': {'key': 'stateDetails', 'type': 'EnvironmentStateDetails'}, + } + + def __init__(self, *, state=None, state_details=None, **kwargs) -> None: + super(IngressEnvironmentStatus, self).__init__(**kwargs) + self.state = state + self.state_details = state_details + + +class IoTHubEventSourceCommonProperties(AzureEventSourceProperties): + """Properties of the IoTHub event source. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param provisioning_state: Provisioning state of the resource. Possible + values include: 'Accepted', 'Creating', 'Updating', 'Succeeded', 'Failed', + 'Deleting' + :type provisioning_state: str or + ~azure.mgmt.timeseriesinsights.models.ProvisioningState + :ivar creation_time: The time the resource was created. + :vartype creation_time: datetime + :param timestamp_property_name: The event property that will be used as + the event source's timestamp. If a value isn't specified for + timestampPropertyName, or if null or empty-string is specified, the event + creation time will be used. + :type timestamp_property_name: str + :param event_source_resource_id: Required. The resource id of the event + source in Azure Resource Manager. + :type event_source_resource_id: str + :param iot_hub_name: Required. The name of the iot hub. + :type iot_hub_name: str + :param consumer_group_name: Required. The name of the iot hub's consumer + group that holds the partitions from which events will be read. + :type consumer_group_name: str + :param key_name: Required. The name of the Shared Access Policy key that + grants the Time Series Insights service access to the iot hub. This shared + access policy key must grant 'service connect' permissions to the iot hub. + :type key_name: str + """ + + _validation = { + 'creation_time': {'readonly': True}, + 'event_source_resource_id': {'required': True}, + 'iot_hub_name': {'required': True}, + 'consumer_group_name': {'required': True}, + 'key_name': {'required': True}, + } + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'creation_time': {'key': 'creationTime', 'type': 'iso-8601'}, + 'timestamp_property_name': {'key': 'timestampPropertyName', 'type': 'str'}, + 'event_source_resource_id': {'key': 'eventSourceResourceId', 'type': 'str'}, + 'iot_hub_name': {'key': 'iotHubName', 'type': 'str'}, + 'consumer_group_name': {'key': 'consumerGroupName', 'type': 'str'}, + 'key_name': {'key': 'keyName', 'type': 'str'}, + } + + def __init__(self, *, event_source_resource_id: str, iot_hub_name: str, consumer_group_name: str, key_name: str, provisioning_state=None, timestamp_property_name: str=None, **kwargs) -> None: + super(IoTHubEventSourceCommonProperties, self).__init__(provisioning_state=provisioning_state, timestamp_property_name=timestamp_property_name, event_source_resource_id=event_source_resource_id, **kwargs) + self.iot_hub_name = iot_hub_name + self.consumer_group_name = consumer_group_name + self.key_name = key_name + + +class IoTHubEventSourceCreateOrUpdateParameters(EventSourceCreateOrUpdateParameters): + """Parameters supplied to the Create or Update Event Source operation for an + IoTHub event source. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param location: Required. The location of the resource. + :type location: str + :param tags: Key-value pairs of additional properties for the resource. + :type tags: dict[str, str] + :param kind: Required. Constant filled by server. + :type kind: str + :param provisioning_state: Provisioning state of the resource. Possible + values include: 'Accepted', 'Creating', 'Updating', 'Succeeded', 'Failed', + 'Deleting' + :type provisioning_state: str or + ~azure.mgmt.timeseriesinsights.models.ProvisioningState + :ivar creation_time: The time the resource was created. + :vartype creation_time: datetime + :param timestamp_property_name: The event property that will be used as + the event source's timestamp. If a value isn't specified for + timestampPropertyName, or if null or empty-string is specified, the event + creation time will be used. + :type timestamp_property_name: str + :param event_source_resource_id: Required. The resource id of the event + source in Azure Resource Manager. + :type event_source_resource_id: str + :param iot_hub_name: Required. The name of the iot hub. + :type iot_hub_name: str + :param consumer_group_name: Required. The name of the iot hub's consumer + group that holds the partitions from which events will be read. + :type consumer_group_name: str + :param key_name: Required. The name of the Shared Access Policy key that + grants the Time Series Insights service access to the iot hub. This shared + access policy key must grant 'service connect' permissions to the iot hub. + :type key_name: str + :param shared_access_key: Required. The value of the Shared Access Policy + key that grants the Time Series Insights service read access to the iot + hub. This property is not shown in event source responses. + :type shared_access_key: str + """ + + _validation = { + 'location': {'required': True}, + 'kind': {'required': True}, + 'creation_time': {'readonly': True}, + 'event_source_resource_id': {'required': True}, + 'iot_hub_name': {'required': True}, + 'consumer_group_name': {'required': True}, + 'key_name': {'required': True}, + 'shared_access_key': {'required': True}, + } + + _attribute_map = { + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'creation_time': {'key': 'properties.creationTime', 'type': 'iso-8601'}, + 'timestamp_property_name': {'key': 'properties.timestampPropertyName', 'type': 'str'}, + 'event_source_resource_id': {'key': 'properties.eventSourceResourceId', 'type': 'str'}, + 'iot_hub_name': {'key': 'properties.iotHubName', 'type': 'str'}, + 'consumer_group_name': {'key': 'properties.consumerGroupName', 'type': 'str'}, + 'key_name': {'key': 'properties.keyName', 'type': 'str'}, + 'shared_access_key': {'key': 'properties.sharedAccessKey', 'type': 'str'}, + } + + def __init__(self, *, location: str, event_source_resource_id: str, iot_hub_name: str, consumer_group_name: str, key_name: str, shared_access_key: str, tags=None, provisioning_state=None, timestamp_property_name: str=None, **kwargs) -> None: + super(IoTHubEventSourceCreateOrUpdateParameters, self).__init__(location=location, tags=tags, **kwargs) + self.provisioning_state = provisioning_state + self.creation_time = None + self.timestamp_property_name = timestamp_property_name + self.event_source_resource_id = event_source_resource_id + self.iot_hub_name = iot_hub_name + self.consumer_group_name = consumer_group_name + self.key_name = key_name + self.shared_access_key = shared_access_key + self.kind = 'Microsoft.IoTHub' + + +class IoTHubEventSourceResource(EventSourceResource): + """An event source that receives its data from an Azure IoTHub. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Resource Id + :vartype id: str + :ivar name: Resource name + :vartype name: str + :ivar type: Resource type + :vartype type: str + :param location: Required. Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + :param kind: Required. Constant filled by server. + :type kind: str + :param provisioning_state: Provisioning state of the resource. Possible + values include: 'Accepted', 'Creating', 'Updating', 'Succeeded', 'Failed', + 'Deleting' + :type provisioning_state: str or + ~azure.mgmt.timeseriesinsights.models.ProvisioningState + :ivar creation_time: The time the resource was created. + :vartype creation_time: datetime + :param timestamp_property_name: The event property that will be used as + the event source's timestamp. If a value isn't specified for + timestampPropertyName, or if null or empty-string is specified, the event + creation time will be used. + :type timestamp_property_name: str + :param event_source_resource_id: Required. The resource id of the event + source in Azure Resource Manager. + :type event_source_resource_id: str + :param iot_hub_name: Required. The name of the iot hub. + :type iot_hub_name: str + :param consumer_group_name: Required. The name of the iot hub's consumer + group that holds the partitions from which events will be read. + :type consumer_group_name: str + :param key_name: Required. The name of the Shared Access Policy key that + grants the Time Series Insights service access to the iot hub. This shared + access policy key must grant 'service connect' permissions to the iot hub. + :type key_name: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + 'kind': {'required': True}, + 'creation_time': {'readonly': True}, + 'event_source_resource_id': {'required': True}, + 'iot_hub_name': {'required': True}, + 'consumer_group_name': {'required': True}, + 'key_name': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'creation_time': {'key': 'properties.creationTime', 'type': 'iso-8601'}, + 'timestamp_property_name': {'key': 'properties.timestampPropertyName', 'type': 'str'}, + 'event_source_resource_id': {'key': 'properties.eventSourceResourceId', 'type': 'str'}, + 'iot_hub_name': {'key': 'properties.iotHubName', 'type': 'str'}, + 'consumer_group_name': {'key': 'properties.consumerGroupName', 'type': 'str'}, + 'key_name': {'key': 'properties.keyName', 'type': 'str'}, + } + + def __init__(self, *, location: str, event_source_resource_id: str, iot_hub_name: str, consumer_group_name: str, key_name: str, tags=None, provisioning_state=None, timestamp_property_name: str=None, **kwargs) -> None: + super(IoTHubEventSourceResource, self).__init__(location=location, tags=tags, **kwargs) + self.provisioning_state = provisioning_state + self.creation_time = None + self.timestamp_property_name = timestamp_property_name + self.event_source_resource_id = event_source_resource_id + self.iot_hub_name = iot_hub_name + self.consumer_group_name = consumer_group_name + self.key_name = key_name + self.kind = 'Microsoft.IotHub' + + +class IoTHubEventSourceUpdateParameters(EventSourceUpdateParameters): + """Parameters supplied to the Update Event Source operation to update an + IoTHub event source. + + :param tags: Key-value pairs of additional properties for the event + source. + :type tags: dict[str, str] + :param timestamp_property_name: The event property that will be used as + the event source's timestamp. If a value isn't specified for + timestampPropertyName, or if null or empty-string is specified, the event + creation time will be used. + :type timestamp_property_name: str + :param local_timestamp: An object that represents the local timestamp + property. It contains the format of local timestamp that needs to be used + and the corresponding timezone offset information. If a value isn't + specified for localTimestamp, or if null, then the local timestamp will + not be ingressed with the events. + :type local_timestamp: + ~azure.mgmt.timeseriesinsights.models.LocalTimestamp + :param shared_access_key: The value of the shared access key that grants + the Time Series Insights service read access to the iot hub. This property + is not shown in event source responses. + :type shared_access_key: str + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + 'timestamp_property_name': {'key': 'properties.timestampPropertyName', 'type': 'str'}, + 'local_timestamp': {'key': 'properties.localTimestamp', 'type': 'LocalTimestamp'}, + 'shared_access_key': {'key': 'properties.sharedAccessKey', 'type': 'str'}, + } + + def __init__(self, *, tags=None, timestamp_property_name: str=None, local_timestamp=None, shared_access_key: str=None, **kwargs) -> None: + super(IoTHubEventSourceUpdateParameters, self).__init__(tags=tags, **kwargs) + self.timestamp_property_name = timestamp_property_name + self.local_timestamp = local_timestamp + self.shared_access_key = shared_access_key + + +class LocalTimestamp(Model): + """An object that represents the local timestamp property. It contains the + format of local timestamp that needs to be used and the corresponding + timezone offset information. If a value isn't specified for localTimestamp, + or if null, then the local timestamp will not be ingressed with the events. + + :param format: An enum that represents the format of the local timestamp + property that needs to be set. Possible values include: 'Embedded', + 'Iana', 'TimeSpan' + :type format: str or + ~azure.mgmt.timeseriesinsights.models.LocalTimestampFormat + :param time_zone_offset: An object that represents the offset information + for the local timestamp format specified. Should not be specified for + LocalTimestampFormat - Embedded. + :type time_zone_offset: + ~azure.mgmt.timeseriesinsights.models.LocalTimestampTimeZoneOffset + """ + + _attribute_map = { + 'format': {'key': 'format', 'type': 'str'}, + 'time_zone_offset': {'key': 'timeZoneOffset', 'type': 'LocalTimestampTimeZoneOffset'}, + } + + def __init__(self, *, format=None, time_zone_offset=None, **kwargs) -> None: + super(LocalTimestamp, self).__init__(**kwargs) + self.format = format + self.time_zone_offset = time_zone_offset + + +class LocalTimestampTimeZoneOffset(Model): + """An object that represents the offset information for the local timestamp + format specified. Should not be specified for LocalTimestampFormat - + Embedded. + + :param property_name: The event property that will be contain the offset + information to calculate the local timestamp. When the + LocalTimestampFormat is Iana, the property name will contain the name of + the column which contains IANA Timezone Name (eg: Americas/Los Angeles). + When LocalTimestampFormat is Timespan, it contains the name of property + which contains values representing the offset (eg: P1D or 1.00:00:00) + :type property_name: str + """ + + _attribute_map = { + 'property_name': {'key': 'propertyName', 'type': 'str'}, + } + + def __init__(self, *, property_name: str=None, **kwargs) -> None: + super(LocalTimestampTimeZoneOffset, self).__init__(**kwargs) + self.property_name = property_name + + +class LongTermEnvironmentCreateOrUpdateParameters(EnvironmentCreateOrUpdateParameters): + """Parameters supplied to the Create or Update Environment operation for a + long-term environment. + + All required parameters must be populated in order to send to Azure. + + :param location: Required. The location of the resource. + :type location: str + :param tags: Key-value pairs of additional properties for the resource. + :type tags: dict[str, str] + :param sku: Required. The sku determines the type of environment, either + standard (S1 or S2) or long-term (L1). For standard environments the sku + determines the capacity of the environment, the ingress rate, and the + billing rate. + :type sku: ~azure.mgmt.timeseriesinsights.models.Sku + :param kind: Required. Constant filled by server. + :type kind: str + :param time_series_id_properties: Required. The list of event properties + which will be used to define the environment's time series id. + :type time_series_id_properties: + list[~azure.mgmt.timeseriesinsights.models.TimeSeriesIdProperty] + :param storage_configuration: Required. The storage configuration provides + the connection details that allows the Time Series Insights service to + connect to the customer storage account that is used to store the + environment's data. + :type storage_configuration: + ~azure.mgmt.timeseriesinsights.models.LongTermStorageConfigurationInput + :param data_retention: Required. ISO8601 timespan specifying the number of + days the environment's events will be available for query from the warm + store. + :type data_retention: timedelta + """ + + _validation = { + 'location': {'required': True}, + 'sku': {'required': True}, + 'kind': {'required': True}, + 'time_series_id_properties': {'required': True}, + 'storage_configuration': {'required': True}, + 'data_retention': {'required': True}, + } + + _attribute_map = { + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'time_series_id_properties': {'key': 'properties.timeSeriesIdProperties', 'type': '[TimeSeriesIdProperty]'}, + 'storage_configuration': {'key': 'properties.storageConfiguration', 'type': 'LongTermStorageConfigurationInput'}, + 'data_retention': {'key': 'properties.warmStoreConfiguration.dataRetention', 'type': 'duration'}, + } + + def __init__(self, *, location: str, sku, time_series_id_properties, storage_configuration, data_retention, tags=None, **kwargs) -> None: + super(LongTermEnvironmentCreateOrUpdateParameters, self).__init__(location=location, tags=tags, sku=sku, **kwargs) + self.time_series_id_properties = time_series_id_properties + self.storage_configuration = storage_configuration + self.data_retention = data_retention + self.kind = 'LongTerm' + + +class LongTermEnvironmentResource(EnvironmentResource): + """An environment is a set of time-series data available for query, and is the + top level Azure Time Series Insights resource. LongTerm environments do not + have set data retention limits. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Resource Id + :vartype id: str + :ivar name: Resource name + :vartype name: str + :ivar type: Resource type + :vartype type: str + :param location: Required. Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + :param sku: Required. The sku determines the type of environment, either + standard (S1 or S2) or long-term (L1). For standard environments the sku + determines the capacity of the environment, the ingress rate, and the + billing rate. + :type sku: ~azure.mgmt.timeseriesinsights.models.Sku + :param kind: Required. Constant filled by server. + :type kind: str + :ivar data_access_id: An id used to access the environment data, e.g. to + query the environment's events or upload reference data for the + environment. + :vartype data_access_id: str + :ivar data_access_fqdn: The fully qualified domain name used to access the + environment data, e.g. to query the environment's events or upload + reference data for the environment. + :vartype data_access_fqdn: str + :param status: An object that represents the status of the environment, + and its internal state in the Time Series Insights service. + :type status: ~azure.mgmt.timeseriesinsights.models.EnvironmentStatus + :param provisioning_state: Provisioning state of the resource. Possible + values include: 'Accepted', 'Creating', 'Updating', 'Succeeded', 'Failed', + 'Deleting' + :type provisioning_state: str or + ~azure.mgmt.timeseriesinsights.models.ProvisioningState + :ivar creation_time: The time the resource was created. + :vartype creation_time: datetime + :param time_series_id_properties: Required. The list of event properties + which will be used to define the environment's time series id. + :type time_series_id_properties: + list[~azure.mgmt.timeseriesinsights.models.TimeSeriesIdProperty] + :param storage_configuration: Required. The storage configuration provides + the connection details that allows the Time Series Insights service to + connect to the customer storage account that is used to store the + environment's data. + :type storage_configuration: + ~azure.mgmt.timeseriesinsights.models.LongTermStorageConfigurationOutput + :param data_retention: Required. ISO8601 timespan specifying the number of + days the environment's events will be available for query from the warm + store. + :type data_retention: timedelta + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + 'sku': {'required': True}, + 'kind': {'required': True}, + 'data_access_id': {'readonly': True}, + 'data_access_fqdn': {'readonly': True}, + 'creation_time': {'readonly': True}, + 'time_series_id_properties': {'required': True}, + 'storage_configuration': {'required': True}, + 'data_retention': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'data_access_id': {'key': 'properties.dataAccessId', 'type': 'str'}, + 'data_access_fqdn': {'key': 'properties.dataAccessFqdn', 'type': 'str'}, + 'status': {'key': 'properties.status', 'type': 'EnvironmentStatus'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'creation_time': {'key': 'properties.creationTime', 'type': 'iso-8601'}, + 'time_series_id_properties': {'key': 'properties.timeSeriesIdProperties', 'type': '[TimeSeriesIdProperty]'}, + 'storage_configuration': {'key': 'properties.storageConfiguration', 'type': 'LongTermStorageConfigurationOutput'}, + 'data_retention': {'key': 'properties.warmStoreConfiguration.dataRetention', 'type': 'duration'}, + } + + def __init__(self, *, location: str, sku, time_series_id_properties, storage_configuration, data_retention, tags=None, status=None, provisioning_state=None, **kwargs) -> None: + super(LongTermEnvironmentResource, self).__init__(location=location, tags=tags, sku=sku, **kwargs) + self.data_access_id = None + self.data_access_fqdn = None + self.status = status + self.provisioning_state = provisioning_state + self.creation_time = None + self.time_series_id_properties = time_series_id_properties + self.storage_configuration = storage_configuration + self.data_retention = data_retention + self.kind = 'LongTerm' + + +class LongTermEnvironmentUpdateParameters(EnvironmentUpdateParameters): + """Parameters supplied to the Update Environment operation to update a + long-term environment. + + All required parameters must be populated in order to send to Azure. + + :param tags: Key-value pairs of additional properties for the environment. + :type tags: dict[str, str] + :param storage_configuration: The storage configuration provides the + connection details that allows the Time Series Insights service to connect + to the customer storage account that is used to store the environment's + data. + :type storage_configuration: + ~azure.mgmt.timeseriesinsights.models.LongTermStorageConfigurationMutableProperties + :param data_retention: Required. ISO8601 timespan specifying the number of + days the environment's events will be available for query from the warm + store. + :type data_retention: timedelta + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + 'storage_configuration': {'key': 'properties.storageConfiguration', 'type': 'LongTermStorageConfigurationMutableProperties'}, + 'data_retention': {'key': 'properties.warmStoreConfiguration.dataRetention', 'type': 'duration'}, + } + + def __init__(self, *, data_retention, tags=None, storage_configuration=None, **kwargs) -> None: + super(LongTermEnvironmentUpdateParameters, self).__init__(tags=tags, **kwargs) + self.storage_configuration = storage_configuration + self.data_retention = data_retention + + +class LongTermStorageConfigurationInput(Model): + """The storage configuration provides the connection details that allows the + Time Series Insights service to connect to the customer storage account + that is used to store the environment's data. + + All required parameters must be populated in order to send to Azure. + + :param account_name: Required. The name of the storage account that will + hold the environment's long term data. + :type account_name: str + :param management_key: Required. The value of the management key that + grants the Time Series Insights service write access to the storage + account. This property is not shown in environment responses. + :type management_key: str + """ + + _validation = { + 'account_name': {'required': True}, + 'management_key': {'required': True}, + } + + _attribute_map = { + 'account_name': {'key': 'accountName', 'type': 'str'}, + 'management_key': {'key': 'managementKey', 'type': 'str'}, + } + + def __init__(self, *, account_name: str, management_key: str, **kwargs) -> None: + super(LongTermStorageConfigurationInput, self).__init__(**kwargs) + self.account_name = account_name + self.management_key = management_key + + +class LongTermStorageConfigurationMutableProperties(Model): + """The storage configuration provides the connection details that allows the + Time Series Insights service to connect to the customer storage account + that is used to store the environment's data. + + All required parameters must be populated in order to send to Azure. + + :param management_key: Required. The value of the management key that + grants the Time Series Insights service write access to the storage + account. This property is not shown in environment responses. + :type management_key: str + """ + + _validation = { + 'management_key': {'required': True}, + } + + _attribute_map = { + 'management_key': {'key': 'managementKey', 'type': 'str'}, + } + + def __init__(self, *, management_key: str, **kwargs) -> None: + super(LongTermStorageConfigurationMutableProperties, self).__init__(**kwargs) + self.management_key = management_key + + +class LongTermStorageConfigurationOutput(Model): + """The storage configuration provides the non-secret connection details about + the customer storage account that is used to store the environment's data. + + All required parameters must be populated in order to send to Azure. + + :param account_name: Required. The name of the storage account that will + hold the environment's long term data. + :type account_name: str + """ + + _validation = { + 'account_name': {'required': True}, + } + + _attribute_map = { + 'account_name': {'key': 'accountName', 'type': 'str'}, + } + + def __init__(self, *, account_name: str, **kwargs) -> None: + super(LongTermStorageConfigurationOutput, self).__init__(**kwargs) + self.account_name = account_name + + +class Operation(Model): + """A Time Series Insights REST API operation. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name: The name of the operation being performed on this particular + object. + :vartype name: str + :ivar display: Contains the localized display information for this + particular operation / action. + :vartype display: ~azure.mgmt.timeseriesinsights.models.OperationDisplay + """ + + _validation = { + 'name': {'readonly': True}, + 'display': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'OperationDisplay'}, + } + + def __init__(self, **kwargs) -> None: + super(Operation, self).__init__(**kwargs) + self.name = None + self.display = None + + +class OperationDisplay(Model): + """Contains the localized display information for this particular operation / + action. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar provider: The localized friendly form of the resource provider name. + :vartype provider: str + :ivar resource: The localized friendly form of the resource type related + to this action/operation. + :vartype resource: str + :ivar operation: The localized friendly name for the operation. + :vartype operation: str + :ivar description: The localized friendly description for the operation. + :vartype description: str + """ + + _validation = { + 'provider': {'readonly': True}, + 'resource': {'readonly': True}, + 'operation': {'readonly': True}, + 'description': {'readonly': True}, + } + + _attribute_map = { + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(OperationDisplay, self).__init__(**kwargs) + self.provider = None + self.resource = None + self.operation = None + self.description = None + + +class ReferenceDataSetCreateOrUpdateParameters(CreateOrUpdateTrackedResourceProperties): + """ReferenceDataSetCreateOrUpdateParameters. + + All required parameters must be populated in order to send to Azure. + + :param location: Required. The location of the resource. + :type location: str + :param tags: Key-value pairs of additional properties for the resource. + :type tags: dict[str, str] + :param key_properties: Required. The list of key properties for the + reference data set. + :type key_properties: + list[~azure.mgmt.timeseriesinsights.models.ReferenceDataSetKeyProperty] + :param data_string_comparison_behavior: The reference data set key + comparison behavior can be set using this property. By default, the value + is 'Ordinal' - which means case sensitive key comparison will be performed + while joining reference data with events or while adding new reference + data. When 'OrdinalIgnoreCase' is set, case insensitive comparison will be + used. Possible values include: 'Ordinal', 'OrdinalIgnoreCase' + :type data_string_comparison_behavior: str or + ~azure.mgmt.timeseriesinsights.models.DataStringComparisonBehavior + """ + + _validation = { + 'location': {'required': True}, + 'key_properties': {'required': True}, + } + + _attribute_map = { + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'key_properties': {'key': 'properties.keyProperties', 'type': '[ReferenceDataSetKeyProperty]'}, + 'data_string_comparison_behavior': {'key': 'properties.dataStringComparisonBehavior', 'type': 'str'}, + } + + def __init__(self, *, location: str, key_properties, tags=None, data_string_comparison_behavior=None, **kwargs) -> None: + super(ReferenceDataSetCreateOrUpdateParameters, self).__init__(location=location, tags=tags, **kwargs) + self.key_properties = key_properties + self.data_string_comparison_behavior = data_string_comparison_behavior + + +class ReferenceDataSetKeyProperty(Model): + """A key property for the reference data set. A reference data set can have + multiple key properties. + + :param name: The name of the key property. + :type name: str + :param type: The type of the key property. Possible values include: + 'String', 'Double', 'Bool', 'DateTime' + :type type: str or + ~azure.mgmt.timeseriesinsights.models.ReferenceDataKeyPropertyType + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, type=None, **kwargs) -> None: + super(ReferenceDataSetKeyProperty, self).__init__(**kwargs) + self.name = name + self.type = type + + +class ReferenceDataSetListResponse(Model): + """The response of the List Reference Data Sets operation. + + :param value: Result of the List Reference Data Sets operation. + :type value: + list[~azure.mgmt.timeseriesinsights.models.ReferenceDataSetResource] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ReferenceDataSetResource]'}, + } + + def __init__(self, *, value=None, **kwargs) -> None: + super(ReferenceDataSetListResponse, self).__init__(**kwargs) + self.value = value + + +class ReferenceDataSetResource(TrackedResource): + """A reference data set provides metadata about the events in an environment. + Metadata in the reference data set will be joined with events as they are + read from event sources. The metadata that makes up the reference data set + is uploaded or modified through the Time Series Insights data plane APIs. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Resource Id + :vartype id: str + :ivar name: Resource name + :vartype name: str + :ivar type: Resource type + :vartype type: str + :param location: Required. Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + :param key_properties: Required. The list of key properties for the + reference data set. + :type key_properties: + list[~azure.mgmt.timeseriesinsights.models.ReferenceDataSetKeyProperty] + :param data_string_comparison_behavior: The reference data set key + comparison behavior can be set using this property. By default, the value + is 'Ordinal' - which means case sensitive key comparison will be performed + while joining reference data with events or while adding new reference + data. When 'OrdinalIgnoreCase' is set, case insensitive comparison will be + used. Possible values include: 'Ordinal', 'OrdinalIgnoreCase' + :type data_string_comparison_behavior: str or + ~azure.mgmt.timeseriesinsights.models.DataStringComparisonBehavior + :param provisioning_state: Provisioning state of the resource. Possible + values include: 'Accepted', 'Creating', 'Updating', 'Succeeded', 'Failed', + 'Deleting' + :type provisioning_state: str or + ~azure.mgmt.timeseriesinsights.models.ProvisioningState + :ivar creation_time: The time the resource was created. + :vartype creation_time: datetime + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + 'key_properties': {'required': True}, + 'creation_time': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'key_properties': {'key': 'properties.keyProperties', 'type': '[ReferenceDataSetKeyProperty]'}, + 'data_string_comparison_behavior': {'key': 'properties.dataStringComparisonBehavior', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'creation_time': {'key': 'properties.creationTime', 'type': 'iso-8601'}, + } + + def __init__(self, *, location: str, key_properties, tags=None, data_string_comparison_behavior=None, provisioning_state=None, **kwargs) -> None: + super(ReferenceDataSetResource, self).__init__(location=location, tags=tags, **kwargs) + self.key_properties = key_properties + self.data_string_comparison_behavior = data_string_comparison_behavior + self.provisioning_state = provisioning_state + self.creation_time = None + + +class ReferenceDataSetUpdateParameters(Model): + """Parameters supplied to the Update Reference Data Set operation. + + :param tags: Key-value pairs of additional properties for the reference + data set. + :type tags: dict[str, str] + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, *, tags=None, **kwargs) -> None: + super(ReferenceDataSetUpdateParameters, self).__init__(**kwargs) + self.tags = tags + + +class Sku(Model): + """The sku determines the type of environment, either standard (S1 or S2) or + long-term (L1). For standard environments the sku determines the capacity + of the environment, the ingress rate, and the billing rate. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. The name of this SKU. Possible values include: + 'S1', 'S2', 'P1', 'L1' + :type name: str or ~azure.mgmt.timeseriesinsights.models.SkuName + :param capacity: Required. The capacity of the sku. For standard + environments, this value can be changed to support scale out of + environments after they have been created. + :type capacity: int + """ + + _validation = { + 'name': {'required': True}, + 'capacity': {'required': True, 'maximum': 10, 'minimum': 1}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'capacity': {'key': 'capacity', 'type': 'int'}, + } + + def __init__(self, *, name, capacity: int, **kwargs) -> None: + super(Sku, self).__init__(**kwargs) + self.name = name + self.capacity = capacity + + +class StandardEnvironmentCreateOrUpdateParameters(EnvironmentCreateOrUpdateParameters): + """Parameters supplied to the Create or Update Environment operation for a + standard environment. + + All required parameters must be populated in order to send to Azure. + + :param location: Required. The location of the resource. + :type location: str + :param tags: Key-value pairs of additional properties for the resource. + :type tags: dict[str, str] + :param sku: Required. The sku determines the type of environment, either + standard (S1 or S2) or long-term (L1). For standard environments the sku + determines the capacity of the environment, the ingress rate, and the + billing rate. + :type sku: ~azure.mgmt.timeseriesinsights.models.Sku + :param kind: Required. Constant filled by server. + :type kind: str + :param data_retention_time: Required. ISO8601 timespan specifying the + minimum number of days the environment's events will be available for + query. + :type data_retention_time: timedelta + :param storage_limit_exceeded_behavior: The behavior the Time Series + Insights service should take when the environment's capacity has been + exceeded. If "PauseIngress" is specified, new events will not be read from + the event source. If "PurgeOldData" is specified, new events will continue + to be read and old events will be deleted from the environment. The + default behavior is PurgeOldData. Possible values include: 'PurgeOldData', + 'PauseIngress' + :type storage_limit_exceeded_behavior: str or + ~azure.mgmt.timeseriesinsights.models.StorageLimitExceededBehavior + :param partition_key_properties: The list of event properties which will + be used to partition data in the environment. + :type partition_key_properties: + list[~azure.mgmt.timeseriesinsights.models.TimeSeriesIdProperty] + """ + + _validation = { + 'location': {'required': True}, + 'sku': {'required': True}, + 'kind': {'required': True}, + 'data_retention_time': {'required': True}, + } + + _attribute_map = { + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'data_retention_time': {'key': 'properties.dataRetentionTime', 'type': 'duration'}, + 'storage_limit_exceeded_behavior': {'key': 'properties.storageLimitExceededBehavior', 'type': 'str'}, + 'partition_key_properties': {'key': 'properties.partitionKeyProperties', 'type': '[TimeSeriesIdProperty]'}, + } + + def __init__(self, *, location: str, sku, data_retention_time, tags=None, storage_limit_exceeded_behavior=None, partition_key_properties=None, **kwargs) -> None: + super(StandardEnvironmentCreateOrUpdateParameters, self).__init__(location=location, tags=tags, sku=sku, **kwargs) + self.data_retention_time = data_retention_time + self.storage_limit_exceeded_behavior = storage_limit_exceeded_behavior + self.partition_key_properties = partition_key_properties + self.kind = 'Standard' + + +class StandardEnvironmentResource(EnvironmentResource): + """An environment is a set of time-series data available for query, and is the + top level Azure Time Series Insights resource. Standard environments have + data retention limits. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Resource Id + :vartype id: str + :ivar name: Resource name + :vartype name: str + :ivar type: Resource type + :vartype type: str + :param location: Required. Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + :param sku: Required. The sku determines the type of environment, either + standard (S1 or S2) or long-term (L1). For standard environments the sku + determines the capacity of the environment, the ingress rate, and the + billing rate. + :type sku: ~azure.mgmt.timeseriesinsights.models.Sku + :param kind: Required. Constant filled by server. + :type kind: str + :param data_retention_time: Required. ISO8601 timespan specifying the + minimum number of days the environment's events will be available for + query. + :type data_retention_time: timedelta + :param storage_limit_exceeded_behavior: The behavior the Time Series + Insights service should take when the environment's capacity has been + exceeded. If "PauseIngress" is specified, new events will not be read from + the event source. If "PurgeOldData" is specified, new events will continue + to be read and old events will be deleted from the environment. The + default behavior is PurgeOldData. Possible values include: 'PurgeOldData', + 'PauseIngress' + :type storage_limit_exceeded_behavior: str or + ~azure.mgmt.timeseriesinsights.models.StorageLimitExceededBehavior + :param partition_key_properties: The list of event properties which will + be used to partition data in the environment. + :type partition_key_properties: + list[~azure.mgmt.timeseriesinsights.models.TimeSeriesIdProperty] + :ivar data_access_id: An id used to access the environment data, e.g. to + query the environment's events or upload reference data for the + environment. + :vartype data_access_id: str + :ivar data_access_fqdn: The fully qualified domain name used to access the + environment data, e.g. to query the environment's events or upload + reference data for the environment. + :vartype data_access_fqdn: str + :param status: An object that represents the status of the environment, + and its internal state in the Time Series Insights service. + :type status: ~azure.mgmt.timeseriesinsights.models.EnvironmentStatus + :param provisioning_state: Provisioning state of the resource. Possible + values include: 'Accepted', 'Creating', 'Updating', 'Succeeded', 'Failed', + 'Deleting' + :type provisioning_state: str or + ~azure.mgmt.timeseriesinsights.models.ProvisioningState + :ivar creation_time: The time the resource was created. + :vartype creation_time: datetime + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + 'sku': {'required': True}, + 'kind': {'required': True}, + 'data_retention_time': {'required': True}, + 'data_access_id': {'readonly': True}, + 'data_access_fqdn': {'readonly': True}, + 'creation_time': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'data_retention_time': {'key': 'properties.dataRetentionTime', 'type': 'duration'}, + 'storage_limit_exceeded_behavior': {'key': 'properties.storageLimitExceededBehavior', 'type': 'str'}, + 'partition_key_properties': {'key': 'properties.partitionKeyProperties', 'type': '[TimeSeriesIdProperty]'}, + 'data_access_id': {'key': 'properties.dataAccessId', 'type': 'str'}, + 'data_access_fqdn': {'key': 'properties.dataAccessFqdn', 'type': 'str'}, + 'status': {'key': 'properties.status', 'type': 'EnvironmentStatus'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'creation_time': {'key': 'properties.creationTime', 'type': 'iso-8601'}, + } + + def __init__(self, *, location: str, sku, data_retention_time, tags=None, storage_limit_exceeded_behavior=None, partition_key_properties=None, status=None, provisioning_state=None, **kwargs) -> None: + super(StandardEnvironmentResource, self).__init__(location=location, tags=tags, sku=sku, **kwargs) + self.data_retention_time = data_retention_time + self.storage_limit_exceeded_behavior = storage_limit_exceeded_behavior + self.partition_key_properties = partition_key_properties + self.data_access_id = None + self.data_access_fqdn = None + self.status = status + self.provisioning_state = provisioning_state + self.creation_time = None + self.kind = 'Standard' + + +class StandardEnvironmentUpdateParameters(EnvironmentUpdateParameters): + """Parameters supplied to the Update Environment operation to update a + standard environment. + + :param tags: Key-value pairs of additional properties for the environment. + :type tags: dict[str, str] + :param sku: The sku of the environment. + :type sku: ~azure.mgmt.timeseriesinsights.models.Sku + :param data_retention_time: ISO8601 timespan specifying the minimum number + of days the environment's events will be available for query. + :type data_retention_time: timedelta + :param storage_limit_exceeded_behavior: The behavior the Time Series + Insights service should take when the environment's capacity has been + exceeded. If "PauseIngress" is specified, new events will not be read from + the event source. If "PurgeOldData" is specified, new events will continue + to be read and old events will be deleted from the environment. The + default behavior is PurgeOldData. Possible values include: 'PurgeOldData', + 'PauseIngress' + :type storage_limit_exceeded_behavior: str or + ~azure.mgmt.timeseriesinsights.models.StorageLimitExceededBehavior + :param partition_key_properties: The list of event properties which will + be used to partition data in the environment. + :type partition_key_properties: + list[~azure.mgmt.timeseriesinsights.models.TimeSeriesIdProperty] + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + 'data_retention_time': {'key': 'properties.dataRetentionTime', 'type': 'duration'}, + 'storage_limit_exceeded_behavior': {'key': 'properties.storageLimitExceededBehavior', 'type': 'str'}, + 'partition_key_properties': {'key': 'properties.partitionKeyProperties', 'type': '[TimeSeriesIdProperty]'}, + } + + def __init__(self, *, tags=None, sku=None, data_retention_time=None, storage_limit_exceeded_behavior=None, partition_key_properties=None, **kwargs) -> None: + super(StandardEnvironmentUpdateParameters, self).__init__(tags=tags, **kwargs) + self.sku = sku + self.data_retention_time = data_retention_time + self.storage_limit_exceeded_behavior = storage_limit_exceeded_behavior + self.partition_key_properties = partition_key_properties + + +class TimeSeriesIdProperty(Model): + """The structure of the property that a time series id can have. An + environment can have multiple such properties. + + :param name: The name of the property. + :type name: str + :param type: The type of the property. Possible values include: 'String' + :type type: str or ~azure.mgmt.timeseriesinsights.models.PropertyType + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, type=None, **kwargs) -> None: + super(TimeSeriesIdProperty, self).__init__(**kwargs) + self.name = name + self.type = type + + +class WarmStorageEnvironmentStatus(Model): + """An object that represents the status of warm storage on an environment. + + :param state: This string represents the state of warm storage properties + usage. It can be "Ok", "Error", "Unknown". Possible values include: 'Ok', + 'Error', 'Unknown' + :type state: str or + ~azure.mgmt.timeseriesinsights.models.WarmStoragePropertiesState + :param current_count: A value that represents the number of properties + used by the environment for S1/S2 SKU and number of properties used by + Warm Store for PAYG SKU + :type current_count: int + :param max_count: A value that represents the maximum number of properties + used allowed by the environment for S1/S2 SKU and maximum number of + properties allowed by Warm Store for PAYG SKU. + :type max_count: int + """ + + _validation = { + 'current_count': {'maximum': 10, 'minimum': 1}, + 'max_count': {'maximum': 10, 'minimum': 1}, + } + + _attribute_map = { + 'state': {'key': 'propertiesUsage.state', 'type': 'str'}, + 'current_count': {'key': 'propertiesUsage.stateDetails.currentCount', 'type': 'int'}, + 'max_count': {'key': 'propertiesUsage.stateDetails.maxCount', 'type': 'int'}, + } + + def __init__(self, *, state=None, current_count: int=None, max_count: int=None, **kwargs) -> None: + super(WarmStorageEnvironmentStatus, self).__init__(**kwargs) + self.state = state + self.current_count = current_count + self.max_count = max_count diff --git a/src/timeseriesinsights/azext_timeseriesinsights/vendored_sdks/timeseriesinsights/models/_paged_models.py b/src/timeseriesinsights/azext_timeseriesinsights/vendored_sdks/timeseriesinsights/models/_paged_models.py new file mode 100644 index 00000000000..bbc646194ad --- /dev/null +++ b/src/timeseriesinsights/azext_timeseriesinsights/vendored_sdks/timeseriesinsights/models/_paged_models.py @@ -0,0 +1,27 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.paging import Paged + + +class OperationPaged(Paged): + """ + A paging container for iterating over a list of :class:`Operation ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[Operation]'} + } + + def __init__(self, *args, **kwargs): + + super(OperationPaged, self).__init__(*args, **kwargs) diff --git a/src/timeseriesinsights/azext_timeseriesinsights/vendored_sdks/timeseriesinsights/models/_time_series_insights_client_enums.py b/src/timeseriesinsights/azext_timeseriesinsights/vendored_sdks/timeseriesinsights/models/_time_series_insights_client_enums.py new file mode 100644 index 00000000000..361e35e738e --- /dev/null +++ b/src/timeseriesinsights/azext_timeseriesinsights/vendored_sdks/timeseriesinsights/models/_time_series_insights_client_enums.py @@ -0,0 +1,84 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from enum import Enum + + +class ProvisioningState(str, Enum): + + accepted = "Accepted" + creating = "Creating" + updating = "Updating" + succeeded = "Succeeded" + failed = "Failed" + deleting = "Deleting" + + +class SkuName(str, Enum): + + s1 = "S1" + s2 = "S2" + p1 = "P1" + l1 = "L1" + + +class StorageLimitExceededBehavior(str, Enum): + + purge_old_data = "PurgeOldData" + pause_ingress = "PauseIngress" + + +class PropertyType(str, Enum): + + string = "String" + + +class IngressState(str, Enum): + + disabled = "Disabled" + ready = "Ready" + running = "Running" + paused = "Paused" + unknown = "Unknown" + + +class WarmStoragePropertiesState(str, Enum): + + ok = "Ok" + error = "Error" + unknown = "Unknown" + + +class LocalTimestampFormat(str, Enum): + + embedded = "Embedded" + iana = "Iana" + time_span = "TimeSpan" + + +class ReferenceDataKeyPropertyType(str, Enum): + + string = "String" + double = "Double" + bool_enum = "Bool" + date_time_enum = "DateTime" + + +class DataStringComparisonBehavior(str, Enum): + + ordinal = "Ordinal" + ordinal_ignore_case = "OrdinalIgnoreCase" + + +class AccessPolicyRole(str, Enum): + + reader = "Reader" + contributor = "Contributor" diff --git a/src/timeseriesinsights/azext_timeseriesinsights/vendored_sdks/timeseriesinsights/operations/__init__.py b/src/timeseriesinsights/azext_timeseriesinsights/vendored_sdks/timeseriesinsights/operations/__init__.py new file mode 100644 index 00000000000..c5850384c34 --- /dev/null +++ b/src/timeseriesinsights/azext_timeseriesinsights/vendored_sdks/timeseriesinsights/operations/__init__.py @@ -0,0 +1,24 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from ._operations import Operations +from ._environments_operations import EnvironmentsOperations +from ._event_sources_operations import EventSourcesOperations +from ._reference_data_sets_operations import ReferenceDataSetsOperations +from ._access_policies_operations import AccessPoliciesOperations + +__all__ = [ + 'Operations', + 'EnvironmentsOperations', + 'EventSourcesOperations', + 'ReferenceDataSetsOperations', + 'AccessPoliciesOperations', +] diff --git a/src/timeseriesinsights/azext_timeseriesinsights/vendored_sdks/timeseriesinsights/operations/_access_policies_operations.py b/src/timeseriesinsights/azext_timeseriesinsights/vendored_sdks/timeseriesinsights/operations/_access_policies_operations.py new file mode 100644 index 00000000000..fb0b9da8c2b --- /dev/null +++ b/src/timeseriesinsights/azext_timeseriesinsights/vendored_sdks/timeseriesinsights/operations/_access_policies_operations.py @@ -0,0 +1,382 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class AccessPoliciesOperations(object): + """AccessPoliciesOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Version of the API to be used with the client request. Constant value: "2018-08-15-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-08-15-preview" + + self.config = config + + def create_or_update( + self, resource_group_name, environment_name, access_policy_name, parameters, custom_headers=None, raw=False, **operation_config): + """Create or update an access policy in the specified environment. + + :param resource_group_name: Name of an Azure Resource group. + :type resource_group_name: str + :param environment_name: The name of the Time Series Insights + environment associated with the specified resource group. + :type environment_name: str + :param access_policy_name: Name of the access policy. + :type access_policy_name: str + :param parameters: Parameters for creating an access policy. + :type parameters: + ~azure.mgmt.timeseriesinsights.models.AccessPolicyCreateOrUpdateParameters + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: AccessPolicyResource or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.timeseriesinsights.models.AccessPolicyResource or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'environmentName': self._serialize.url("environment_name", environment_name, 'str'), + 'accessPolicyName': self._serialize.url("access_policy_name", access_policy_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'AccessPolicyCreateOrUpdateParameters') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('AccessPolicyResource', response) + if response.status_code == 201: + deserialized = self._deserialize('AccessPolicyResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments/{environmentName}/accessPolicies/{accessPolicyName}'} + + def get( + self, resource_group_name, environment_name, access_policy_name, custom_headers=None, raw=False, **operation_config): + """Gets the access policy with the specified name in the specified + environment. + + :param resource_group_name: Name of an Azure Resource group. + :type resource_group_name: str + :param environment_name: The name of the Time Series Insights + environment associated with the specified resource group. + :type environment_name: str + :param access_policy_name: The name of the Time Series Insights access + policy associated with the specified environment. + :type access_policy_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: AccessPolicyResource or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.timeseriesinsights.models.AccessPolicyResource or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'environmentName': self._serialize.url("environment_name", environment_name, 'str'), + 'accessPolicyName': self._serialize.url("access_policy_name", access_policy_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('AccessPolicyResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments/{environmentName}/accessPolicies/{accessPolicyName}'} + + def update( + self, resource_group_name, environment_name, access_policy_name, description=None, roles=None, custom_headers=None, raw=False, **operation_config): + """Updates the access policy with the specified name in the specified + subscription, resource group, and environment. + + :param resource_group_name: Name of an Azure Resource group. + :type resource_group_name: str + :param environment_name: The name of the Time Series Insights + environment associated with the specified resource group. + :type environment_name: str + :param access_policy_name: The name of the Time Series Insights access + policy associated with the specified environment. + :type access_policy_name: str + :param description: An description of the access policy. + :type description: str + :param roles: The list of roles the principal is assigned on the + environment. + :type roles: list[str or + ~azure.mgmt.timeseriesinsights.models.AccessPolicyRole] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: AccessPolicyResource or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.timeseriesinsights.models.AccessPolicyResource or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + access_policy_update_parameters = models.AccessPolicyUpdateParameters(description=description, roles=roles) + + # Construct URL + url = self.update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'environmentName': self._serialize.url("environment_name", environment_name, 'str'), + 'accessPolicyName': self._serialize.url("access_policy_name", access_policy_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(access_policy_update_parameters, 'AccessPolicyUpdateParameters') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('AccessPolicyResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments/{environmentName}/accessPolicies/{accessPolicyName}'} + + def delete( + self, resource_group_name, environment_name, access_policy_name, custom_headers=None, raw=False, **operation_config): + """Deletes the access policy with the specified name in the specified + subscription, resource group, and environment. + + :param resource_group_name: Name of an Azure Resource group. + :type resource_group_name: str + :param environment_name: The name of the Time Series Insights + environment associated with the specified resource group. + :type environment_name: str + :param access_policy_name: The name of the Time Series Insights access + policy associated with the specified environment. + :type access_policy_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'environmentName': self._serialize.url("environment_name", environment_name, 'str'), + 'accessPolicyName': self._serialize.url("access_policy_name", access_policy_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments/{environmentName}/accessPolicies/{accessPolicyName}'} + + def list_by_environment( + self, resource_group_name, environment_name, custom_headers=None, raw=False, **operation_config): + """Lists all the available access policies associated with the + environment. + + :param resource_group_name: Name of an Azure Resource group. + :type resource_group_name: str + :param environment_name: The name of the Time Series Insights + environment associated with the specified resource group. + :type environment_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: AccessPolicyListResponse or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.timeseriesinsights.models.AccessPolicyListResponse + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.list_by_environment.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'environmentName': self._serialize.url("environment_name", environment_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('AccessPolicyListResponse', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list_by_environment.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments/{environmentName}/accessPolicies'} diff --git a/src/timeseriesinsights/azext_timeseriesinsights/vendored_sdks/timeseriesinsights/operations/_environments_operations.py b/src/timeseriesinsights/azext_timeseriesinsights/vendored_sdks/timeseriesinsights/operations/_environments_operations.py new file mode 100644 index 00000000000..8125a6efbdd --- /dev/null +++ b/src/timeseriesinsights/azext_timeseriesinsights/vendored_sdks/timeseriesinsights/operations/_environments_operations.py @@ -0,0 +1,489 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class EnvironmentsOperations(object): + """EnvironmentsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Version of the API to be used with the client request. Constant value: "2018-08-15-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-08-15-preview" + + self.config = config + + + def _create_or_update_initial( + self, resource_group_name, environment_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'environmentName': self._serialize.url("environment_name", environment_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'EnvironmentCreateOrUpdateParameters') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201, 404]: + 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('EnvironmentResource', response) + if response.status_code == 201: + deserialized = self._deserialize('EnvironmentResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, environment_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Create or update an environment in the specified subscription and + resource group. + + :param resource_group_name: Name of an Azure Resource group. + :type resource_group_name: str + :param environment_name: Name of the environment + :type environment_name: str + :param parameters: Parameters for creating an environment resource. + :type parameters: + ~azure.mgmt.timeseriesinsights.models.EnvironmentCreateOrUpdateParameters + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns EnvironmentResource or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.timeseriesinsights.models.EnvironmentResource] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.timeseriesinsights.models.EnvironmentResource]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + environment_name=environment_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('EnvironmentResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments/{environmentName}'} + + def get( + self, resource_group_name, environment_name, expand=None, custom_headers=None, raw=False, **operation_config): + """Gets the environment with the specified name in the specified + subscription and resource group. + + :param resource_group_name: Name of an Azure Resource group. + :type resource_group_name: str + :param environment_name: The name of the Time Series Insights + environment associated with the specified resource group. + :type environment_name: str + :param expand: Setting $expand=status will include the status of the + internal services of the environment in the Time Series Insights + service. + :type expand: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: EnvironmentResource or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.timeseriesinsights.models.EnvironmentResource or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'environmentName': self._serialize.url("environment_name", environment_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('EnvironmentResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments/{environmentName}'} + + + def _update_initial( + self, resource_group_name, environment_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'environmentName': self._serialize.url("environment_name", environment_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'EnvironmentUpdateParameters') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('EnvironmentResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def update( + self, resource_group_name, environment_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Updates the environment with the specified name in the specified + subscription and resource group. + + :param resource_group_name: Name of an Azure Resource group. + :type resource_group_name: str + :param environment_name: The name of the Time Series Insights + environment associated with the specified resource group. + :type environment_name: str + :param parameters: Request object that + contains the updated information for the environment. + :type parameters: + ~azure.mgmt.timeseriesinsights.models.StandardEnvironmentUpdateParameters + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns EnvironmentResource or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.timeseriesinsights.models.EnvironmentResource] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.timeseriesinsights.models.EnvironmentResource]] + :raises: :class:`CloudError` + """ + raw_result = self._update_initial( + resource_group_name=resource_group_name, + environment_name=environment_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('EnvironmentResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments/{environmentName}'} + + def delete( + self, resource_group_name, environment_name, custom_headers=None, raw=False, **operation_config): + """Deletes the environment with the specified name in the specified + subscription and resource group. + + :param resource_group_name: Name of an Azure Resource group. + :type resource_group_name: str + :param environment_name: The name of the Time Series Insights + environment associated with the specified resource group. + :type environment_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'environmentName': self._serialize.url("environment_name", environment_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments/{environmentName}'} + + def list_by_resource_group( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Lists all the available environments associated with the subscription + and within the specified resource group. + + :param resource_group_name: Name of an Azure Resource group. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: EnvironmentListResponse or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.timeseriesinsights.models.EnvironmentListResponse + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('EnvironmentListResponse', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments'} + + def list_by_subscription( + self, custom_headers=None, raw=False, **operation_config): + """Lists all the available environments within a subscription, + irrespective of the resource groups. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: EnvironmentListResponse or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.timeseriesinsights.models.EnvironmentListResponse + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.list_by_subscription.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('EnvironmentListResponse', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list_by_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.TimeSeriesInsights/environments'} diff --git a/src/timeseriesinsights/azext_timeseriesinsights/vendored_sdks/timeseriesinsights/operations/_event_sources_operations.py b/src/timeseriesinsights/azext_timeseriesinsights/vendored_sdks/timeseriesinsights/operations/_event_sources_operations.py new file mode 100644 index 00000000000..dde291dc09e --- /dev/null +++ b/src/timeseriesinsights/azext_timeseriesinsights/vendored_sdks/timeseriesinsights/operations/_event_sources_operations.py @@ -0,0 +1,379 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class EventSourcesOperations(object): + """EventSourcesOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Version of the API to be used with the client request. Constant value: "2018-08-15-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-08-15-preview" + + self.config = config + + def create_or_update( + self, resource_group_name, environment_name, event_source_name, parameters, custom_headers=None, raw=False, **operation_config): + """Create or update an event source under the specified environment. + + :param resource_group_name: Name of an Azure Resource group. + :type resource_group_name: str + :param environment_name: The name of the Time Series Insights + environment associated with the specified resource group. + :type environment_name: str + :param event_source_name: Name of the event source. + :type event_source_name: str + :param parameters: Parameters for creating an event source resource. + :type parameters: + ~azure.mgmt.timeseriesinsights.models.EventSourceCreateOrUpdateParameters + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: EventSourceResource or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.timeseriesinsights.models.EventSourceResource or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'environmentName': self._serialize.url("environment_name", environment_name, 'str'), + 'eventSourceName': self._serialize.url("event_source_name", event_source_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'EventSourceCreateOrUpdateParameters') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('EventSourceResource', response) + if response.status_code == 201: + deserialized = self._deserialize('EventSourceResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments/{environmentName}/eventSources/{eventSourceName}'} + + def get( + self, resource_group_name, environment_name, event_source_name, custom_headers=None, raw=False, **operation_config): + """Gets the event source with the specified name in the specified + environment. + + :param resource_group_name: Name of an Azure Resource group. + :type resource_group_name: str + :param environment_name: The name of the Time Series Insights + environment associated with the specified resource group. + :type environment_name: str + :param event_source_name: The name of the Time Series Insights event + source associated with the specified environment. + :type event_source_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: EventSourceResource or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.timeseriesinsights.models.EventSourceResource or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'environmentName': self._serialize.url("environment_name", environment_name, 'str'), + 'eventSourceName': self._serialize.url("event_source_name", event_source_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('EventSourceResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments/{environmentName}/eventSources/{eventSourceName}'} + + def update( + self, resource_group_name, environment_name, event_source_name, parameters, custom_headers=None, raw=False, **operation_config): + """Updates the event source with the specified name in the specified + subscription, resource group, and environment. + + :param resource_group_name: Name of an Azure Resource group. + :type resource_group_name: str + :param environment_name: The name of the Time Series Insights + environment associated with the specified resource group. + :type environment_name: str + :param event_source_name: The name of the Time Series Insights event + source associated with the specified environment. + :type event_source_name: str + :param tags: Key-value pairs of additional properties for the event + source. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: EventSourceResource or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.timeseriesinsights.models.EventSourceResource or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + event_source_update_parameters = parameters + + # Construct URL + url = self.update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'environmentName': self._serialize.url("environment_name", environment_name, 'str'), + 'eventSourceName': self._serialize.url("event_source_name", event_source_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(event_source_update_parameters, 'EventSourceUpdateParameters') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('EventSourceResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments/{environmentName}/eventSources/{eventSourceName}'} + + def delete( + self, resource_group_name, environment_name, event_source_name, custom_headers=None, raw=False, **operation_config): + """Deletes the event source with the specified name in the specified + subscription, resource group, and environment. + + :param resource_group_name: Name of an Azure Resource group. + :type resource_group_name: str + :param environment_name: The name of the Time Series Insights + environment associated with the specified resource group. + :type environment_name: str + :param event_source_name: The name of the Time Series Insights event + source associated with the specified environment. + :type event_source_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'environmentName': self._serialize.url("environment_name", environment_name, 'str'), + 'eventSourceName': self._serialize.url("event_source_name", event_source_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments/{environmentName}/eventSources/{eventSourceName}'} + + def list_by_environment( + self, resource_group_name, environment_name, custom_headers=None, raw=False, **operation_config): + """Lists all the available event sources associated with the subscription + and within the specified resource group and environment. + + :param resource_group_name: Name of an Azure Resource group. + :type resource_group_name: str + :param environment_name: The name of the Time Series Insights + environment associated with the specified resource group. + :type environment_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: EventSourceListResponse or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.timeseriesinsights.models.EventSourceListResponse + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.list_by_environment.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'environmentName': self._serialize.url("environment_name", environment_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('EventSourceListResponse', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list_by_environment.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments/{environmentName}/eventSources'} diff --git a/src/timeseriesinsights/azext_timeseriesinsights/vendored_sdks/timeseriesinsights/operations/_operations.py b/src/timeseriesinsights/azext_timeseriesinsights/vendored_sdks/timeseriesinsights/operations/_operations.py new file mode 100644 index 00000000000..dcd7df980be --- /dev/null +++ b/src/timeseriesinsights/azext_timeseriesinsights/vendored_sdks/timeseriesinsights/operations/_operations.py @@ -0,0 +1,102 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class Operations(object): + """Operations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Version of the API to be used with the client request. Constant value: "2018-08-15-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-08-15-preview" + + self.config = config + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Lists all of the available Time Series Insights related operations. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of Operation + :rtype: + ~azure.mgmt.timeseriesinsights.models.OperationPaged[~azure.mgmt.timeseriesinsights.models.Operation] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.OperationPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/providers/Microsoft.TimeSeriesInsights/operations'} diff --git a/src/timeseriesinsights/azext_timeseriesinsights/vendored_sdks/timeseriesinsights/operations/_reference_data_sets_operations.py b/src/timeseriesinsights/azext_timeseriesinsights/vendored_sdks/timeseriesinsights/operations/_reference_data_sets_operations.py new file mode 100644 index 00000000000..f1d46529b72 --- /dev/null +++ b/src/timeseriesinsights/azext_timeseriesinsights/vendored_sdks/timeseriesinsights/operations/_reference_data_sets_operations.py @@ -0,0 +1,380 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class ReferenceDataSetsOperations(object): + """ReferenceDataSetsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Version of the API to be used with the client request. Constant value: "2018-08-15-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-08-15-preview" + + self.config = config + + def create_or_update( + self, resource_group_name, environment_name, reference_data_set_name, parameters, custom_headers=None, raw=False, **operation_config): + """Create or update a reference data set in the specified environment. + + :param resource_group_name: Name of an Azure Resource group. + :type resource_group_name: str + :param environment_name: The name of the Time Series Insights + environment associated with the specified resource group. + :type environment_name: str + :param reference_data_set_name: Name of the reference data set. + :type reference_data_set_name: str + :param parameters: Parameters for creating a reference data set. + :type parameters: + ~azure.mgmt.timeseriesinsights.models.ReferenceDataSetCreateOrUpdateParameters + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ReferenceDataSetResource or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.timeseriesinsights.models.ReferenceDataSetResource + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'environmentName': self._serialize.url("environment_name", environment_name, 'str'), + 'referenceDataSetName': self._serialize.url("reference_data_set_name", reference_data_set_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'ReferenceDataSetCreateOrUpdateParameters') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('ReferenceDataSetResource', response) + if response.status_code == 201: + deserialized = self._deserialize('ReferenceDataSetResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments/{environmentName}/referenceDataSets/{referenceDataSetName}'} + + def get( + self, resource_group_name, environment_name, reference_data_set_name, custom_headers=None, raw=False, **operation_config): + """Gets the reference data set with the specified name in the specified + environment. + + :param resource_group_name: Name of an Azure Resource group. + :type resource_group_name: str + :param environment_name: The name of the Time Series Insights + environment associated with the specified resource group. + :type environment_name: str + :param reference_data_set_name: The name of the Time Series Insights + reference data set associated with the specified environment. + :type reference_data_set_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ReferenceDataSetResource or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.timeseriesinsights.models.ReferenceDataSetResource + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'environmentName': self._serialize.url("environment_name", environment_name, 'str'), + 'referenceDataSetName': self._serialize.url("reference_data_set_name", reference_data_set_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ReferenceDataSetResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments/{environmentName}/referenceDataSets/{referenceDataSetName}'} + + def update( + self, resource_group_name, environment_name, reference_data_set_name, tags=None, custom_headers=None, raw=False, **operation_config): + """Updates the reference data set with the specified name in the specified + subscription, resource group, and environment. + + :param resource_group_name: Name of an Azure Resource group. + :type resource_group_name: str + :param environment_name: The name of the Time Series Insights + environment associated with the specified resource group. + :type environment_name: str + :param reference_data_set_name: The name of the Time Series Insights + reference data set associated with the specified environment. + :type reference_data_set_name: str + :param tags: Key-value pairs of additional properties for the + reference data set. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ReferenceDataSetResource or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.timeseriesinsights.models.ReferenceDataSetResource + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + reference_data_set_update_parameters = models.ReferenceDataSetUpdateParameters(tags=tags) + + # Construct URL + url = self.update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'environmentName': self._serialize.url("environment_name", environment_name, 'str'), + 'referenceDataSetName': self._serialize.url("reference_data_set_name", reference_data_set_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(reference_data_set_update_parameters, 'ReferenceDataSetUpdateParameters') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ReferenceDataSetResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments/{environmentName}/referenceDataSets/{referenceDataSetName}'} + + def delete( + self, resource_group_name, environment_name, reference_data_set_name, custom_headers=None, raw=False, **operation_config): + """Deletes the reference data set with the specified name in the specified + subscription, resource group, and environment. + + :param resource_group_name: Name of an Azure Resource group. + :type resource_group_name: str + :param environment_name: The name of the Time Series Insights + environment associated with the specified resource group. + :type environment_name: str + :param reference_data_set_name: The name of the Time Series Insights + reference data set associated with the specified environment. + :type reference_data_set_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'environmentName': self._serialize.url("environment_name", environment_name, 'str'), + 'referenceDataSetName': self._serialize.url("reference_data_set_name", reference_data_set_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments/{environmentName}/referenceDataSets/{referenceDataSetName}'} + + def list_by_environment( + self, resource_group_name, environment_name, custom_headers=None, raw=False, **operation_config): + """Lists all the available reference data sets associated with the + subscription and within the specified resource group and environment. + + :param resource_group_name: Name of an Azure Resource group. + :type resource_group_name: str + :param environment_name: The name of the Time Series Insights + environment associated with the specified resource group. + :type environment_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ReferenceDataSetListResponse or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.timeseriesinsights.models.ReferenceDataSetListResponse or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.list_by_environment.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'environmentName': self._serialize.url("environment_name", environment_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ReferenceDataSetListResponse', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list_by_environment.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments/{environmentName}/referenceDataSets'} diff --git a/src/timeseriesinsights/azext_timeseriesinsights/vendored_sdks/timeseriesinsights/version.py b/src/timeseriesinsights/azext_timeseriesinsights/vendored_sdks/timeseriesinsights/version.py new file mode 100644 index 00000000000..9bd1dfac7ec --- /dev/null +++ b/src/timeseriesinsights/azext_timeseriesinsights/vendored_sdks/timeseriesinsights/version.py @@ -0,0 +1,13 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +VERSION = "0.2.0" + diff --git a/src/timeseriesinsights/setup.cfg b/src/timeseriesinsights/setup.cfg new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/timeseriesinsights/setup.py b/src/timeseriesinsights/setup.py new file mode 100644 index 00000000000..1829ebe6ec7 --- /dev/null +++ b/src/timeseriesinsights/setup.py @@ -0,0 +1,52 @@ +#!/usr/bin/env python + +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + + +from codecs import open +from setuptools import setup, find_packages +try: + from azure_bdist_wheel import cmdclass +except ImportError: + from distutils import log as logger + logger.warn("Wheel is not available, disabling bdist_wheel hook") + +VERSION = '0.1.2' + +# The full list of classifiers is available at +# https://pypi.python.org/pypi?%3Aaction=list_classifiers +CLASSIFIERS = [ + 'Development Status :: 4 - Beta', + 'Intended Audience :: Developers', + 'Intended Audience :: System Administrators', + 'Programming Language :: Python', + 'Programming Language :: Python :: 3.6', + 'Programming Language :: Python :: 3.7', + 'Programming Language :: Python :: 3.8', + 'License :: OSI Approved :: MIT License', +] + +DEPENDENCIES = [] + +with open('README.md', 'r', encoding='utf-8') as f: + README = f.read() +with open('HISTORY.rst', 'r', encoding='utf-8') as f: + HISTORY = f.read() + +setup( + name='timeseriesinsights', + version=VERSION, + description='Microsoft Azure Command-Line Tools TimeSeriesInsightsClient Extension', + author='Microsoft Corporation', + author_email='azpycli@microsoft.com', + url='https://github.com/Azure/azure-cli-extensions/src/timeseriesinsights', + long_description=README + '\n\n' + HISTORY, + license='MIT', + classifiers=CLASSIFIERS, + packages=find_packages(), + install_requires=DEPENDENCIES, + package_data={'azext_timeseriesinsights': ['azext_metadata.json']}, +) diff --git a/src/virtual-wan/azext_vwan/__init__.py b/src/virtual-wan/azext_vwan/__init__.py index 906100a3ce6..d693e5a2ec8 100644 --- a/src/virtual-wan/azext_vwan/__init__.py +++ b/src/virtual-wan/azext_vwan/__init__.py @@ -15,7 +15,7 @@ def __init__(self, cli_ctx=None): from azure.cli.core.commands import CliCommandType from .profiles import CUSTOM_VWAN, CUSTOM_VHUB_ROUTE_TABLE register_resource_type('latest', CUSTOM_VWAN, '2018-08-01') - register_resource_type('latest', CUSTOM_VHUB_ROUTE_TABLE, '2019-09-01') + register_resource_type('latest', CUSTOM_VHUB_ROUTE_TABLE, '2020-04-01') super(VirtualWanCommandsLoader, self).__init__( cli_ctx=cli_ctx, diff --git a/src/virtual-wan/azext_vwan/_client_factory.py b/src/virtual-wan/azext_vwan/_client_factory.py index cbed28f2d97..c07e8c0f7b6 100644 --- a/src/virtual-wan/azext_vwan/_client_factory.py +++ b/src/virtual-wan/azext_vwan/_client_factory.py @@ -15,7 +15,7 @@ def network_client_route_table_factory(cli_ctx, aux_subscriptions=None, **_): from azure.cli.core.commands.client_factory import get_mgmt_service_client from .profiles import CUSTOM_VHUB_ROUTE_TABLE return get_mgmt_service_client(cli_ctx, CUSTOM_VHUB_ROUTE_TABLE, aux_subscriptions=aux_subscriptions, - api_version='2019-09-01') + api_version='2020-04-01') def cf_virtual_wans(cli_ctx, _): @@ -30,6 +30,14 @@ def cf_virtual_hub_route_table_v2s(cli_ctx, _): return network_client_route_table_factory(cli_ctx).virtual_hub_route_table_v2s +def cf_vpn_server_config(cli_ctx, _): + return network_client_route_table_factory(cli_ctx).vpn_server_configurations + + +def cf_p2s_vpn_gateways(cli_ctx, _): + return network_client_route_table_factory(cli_ctx).p2s_vpn_gateways + + def cf_vpn_sites(cli_ctx, _): return network_client_factory(cli_ctx).vpn_sites diff --git a/src/virtual-wan/azext_vwan/_help.py b/src/virtual-wan/azext_vwan/_help.py index 78eaa036c71..66609febd52 100644 --- a/src/virtual-wan/azext_vwan/_help.py +++ b/src/virtual-wan/azext_vwan/_help.py @@ -91,18 +91,24 @@ type: command short-summary: Create a route table in the virtual hub. examples: - - name: Create a route table in the virtual hub. + - name: Create a v2 route table in the virtual hub. text: | az network vhub route-table create -n MyRouteTable -g MyResourceGroup --vhub-name MyVhub --connections All_Vnets --destination-type CIDR --destinations "10.4.0.0/16" "10.6.0.0/16" --next-hop-type IPAddress --next-hops "10.0.0.68" + - name: Create a v3 route table in the virtual hub. + text: | + az network vhub route-table create -n MyRouteTable -g MyResourceGroup --vhub-name MyVhub --route-name MyRoute --destination-type CIDR --destinations "10.4.0.0/16" "10.6.0.0/16" --next-hop-type ResourceId --next-hop /subscriptions/MySub/resourceGroups/MyResourceGroup/providers/Microsoft.Network/azureFirewalls/MyFirewall --labels label1 label2 """ helps['network vhub route-table update'] = """ type: command short-summary: Update a route table in the virtual hub. examples: - - name: Create a route table in the virtual hub. + - name: Update the connections for a v2 route table in the virtual hub. text: | az network vhub route-table update -n MyRouteTable -g MyResourceGroup --vhub-name MyVhub --connections All_Vnets All_Branches + - name: Update the labels for a v3 route table in the virtual hub. + text: | + az network vhub route-table update -n MyRouteTable -g MyResourceGroup --vhub-name MyVhub --labels label1 label2 """ helps['network vhub route-table delete'] = """ @@ -124,6 +130,14 @@ short-summary: List all route tables in the virtual hub. """ +helps['network vhub route-table wait'] = """ + type: command + short-summary: Place the CLI in a waiting state until a condition of the vhub route-table is met. + examples: + - name: Pause executing next line of CLI script until the route table is successfully provisioned. + text: az network vhub route-table wait -n MyRouteTable -g MyResourceGroup --vhub-name MyVhub --created +""" + helps['network vhub route-table route'] = """ type: group short-summary: Manage routes of route table in the virtual hub. @@ -133,12 +147,15 @@ type: command short-summary: Add a route into route table of the virtual hub. examples: - - name: Add a route with CIDR destination into route table of the virtual hub. + - name: Add a route with CIDR destination into route table of the virtual hub (route table v2). text: | az network vhub route-table route add -n MyRouteTable -g MyResourceGroup --vhub-name MyVhub --destination-type CIDR --destinations "10.4.0.0/16" "10.6.0.0/16" --next-hop-type IPAddress --next-hops "10.0.0.68" - - name: Add a route with Service destination into route table of the virtual hub. + - name: Add a route with Service destination into route table of the virtual hub (route table v2). text: | az network vhub route-table route add -n MyRouteTable -g MyResourceGroup --vhub-name MyVhub --destination-type Service --destinations Skype Sharepoint --next-hop-type IPAddress --next-hops "10.0.0.68" + - name: Add a route with firewall as next hop into route table of the virtual hub (route table v3). + text: | + az network vhub route-table route add -n MyRouteTable -g MyResourceGroup --vhub-name MyVhub --destination-type CIDR --destinations "10.4.0.0/16" "10.6.0.0/16" --next-hop-type ResourceId --next-hop /subscriptions/MySub/resourceGroups/MyResourceGroup/providers/Microsoft.Network/azureFirewalls/MyFirewall """ helps['network vhub route-table route list'] = """ @@ -297,3 +314,114 @@ short-summary: Provide a SAS-URL to download the configuration for a VPN site. """ # endregion + +# region VpnServerConfig +helps['network vpn-server-config'] = """ + type: group + short-summary: Manage VPN server configuration. +""" + +helps['network vpn-server-config create'] = """ + type: command + short-summary: Create a VPN server configuration. + examples: + - name: Create a VPN server configuration with VPN auth type + text: | + az network vpn-server-config create -n MyVPNServerConfig -g MyRG --vpn-client-root-certs "ApplicationGatewayAuthCert.cer" --vpn-client-revoked-certs "ApplicationGatewayAuthCert.pem" +""" + +helps['network vpn-server-config list'] = """ + type: command + short-summary: List all VPN server configuration. +""" + +helps['network vpn-server-config show'] = """ + type: command + short-summary: Show the details of a VPN server configuration. +""" + +helps['network vpn-server-config set'] = """ + type: command + short-summary: Set settings of a VPN server configuration. + examples: + - name: Set a VPN server configuration with Radius auth type + text: | + az network vpn-server-config set -n MyVPNServerConfig -g MyRG --radius-client-root-certs "ApplicationGatewayAuthCert.cer" --radius-server-root-certs "ApplicationGatewayAuthCert.pem" --radius-servers address=test1 secret=clitest score=10 --radius-servers address=test2 secret=clitest score=10 +""" + +helps['network vpn-server-config delete'] = """ + type: command + short-summary: Delete a VPN server configuration. +""" + +helps['network vpn-server-config wait'] = """ + type: command + short-summary: Place the CLI in a waiting state until a condition of the VPN server configuration is met. +""" + +helps['network vpn-server-config ipsec-policy'] = """ + type: group + short-summary: Manage VPN server configuration IPSec policies. +""" + +helps['network vpn-server-config ipsec-policy add'] = """ + type: command + short-summary: Add an IPSec policy to a VPN server configuration. +""" + +helps['network vpn-server-config ipsec-policy list'] = """ + type: command + short-summary: List VPN server configuration IPSec policies. +""" + +helps['network vpn-server-config ipsec-policy remove'] = """ + type: command + short-summary: Remove an IPSec policy from a VPN server configuration. +""" + +helps['network vpn-server-config ipsec-policy wait'] = """ + type: command + short-summary: Place the CLI in a waiting state until a condition of the IPSec policy of a VPN server configuration is met. +""" +# endregion + +# region VpnServerConfig +helps['network p2s-vpn-gateway'] = """ + type: group + short-summary: Manage point-to-site VPN gateway. +""" + +helps['network p2s-vpn-gateway create'] = """ + type: command + short-summary: Create a point-to-site VPN gateway. + examples: + - name: Create a point-to-site VPN gateway. + text: | + az network p2s-vpn-gateway create -g MyRG -n MyP2SVPNGateway --scale-unit 2 --vhub MyVhub --vpn-server-config MyVPNServerConfig --address-space 10.0.0.0/24 11.0.0.0/24 +""" + +helps['network p2s-vpn-gateway list'] = """ + type: command + short-summary: List all point-to-site VPN gateway. +""" + +helps['network p2s-vpn-gateway show'] = """ + type: command + short-summary: Show the details of a point-to-site VPN gateway. +""" + +helps['network p2s-vpn-gateway update'] = """ + type: command + short-summary: Update settings of a point-to-site VPN gateway. +""" + +helps['network p2s-vpn-gateway delete'] = """ + type: command + short-summary: Delete a point-to-site VPN gateway. +""" + +helps['network p2s-vpn-gateway wait'] = """ + type: command + short-summary: Place the CLI in a waiting state until a condition of the point-to-site VPN gateway is met. +""" +# endregion diff --git a/src/virtual-wan/azext_vwan/_params.py b/src/virtual-wan/azext_vwan/_params.py index 8228a360b98..28c8480d5ff 100644 --- a/src/virtual-wan/azext_vwan/_params.py +++ b/src/virtual-wan/azext_vwan/_params.py @@ -9,8 +9,9 @@ from azure.cli.core.commands.parameters import ( get_resource_name_completion_list, tags_type, get_location_type, get_three_state_flag, get_enum_type) from azure.cli.core.commands.validators import get_default_location_from_resource_group - from ._validators import get_network_resource_name_or_id +from .profiles import CUSTOM_VHUB_ROUTE_TABLE +from .action import RadiusServerAddAction # pylint: disable=too-many-locals, too-many-branches, too-many-statements @@ -21,6 +22,8 @@ def load_arguments(self, _): 'IpsecEncryption', 'IpsecIntegrity', 'IkeEncryption', 'IkeIntegrity', 'DhGroup', 'PfsGroup', 'VirtualNetworkGatewayConnectionProtocol') + (VpnGatewayTunnelingProtocol, VpnAuthenticationType) = self.get_models('VpnGatewayTunnelingProtocol', 'VpnAuthenticationType', resource_type=CUSTOM_VHUB_ROUTE_TABLE) + # region VirtualWAN vwan_name_type = CLIArgumentType(options_list='--vwan-name', metavar='NAME', help='Name of the virtual WAN.', id_part='name', completer=get_resource_name_completion_list('Microsoft.Network/virtualWANs')) vhub_name_type = CLIArgumentType(options_list='--vhub-name', metavar='NAME', help='Name of the virtual hub.', id_part='name', completer=get_resource_name_completion_list('Microsoft.Network/networkHubs')) @@ -62,7 +65,7 @@ def load_arguments(self, _): c.argument('remote_virtual_network', options_list='--remote-vnet', help='Name of ID of the remote VNet to connect to.', validator=get_network_resource_name_or_id('remote_virtual_network', 'virtualNetworks')) c.argument('allow_hub_to_remote_vnet_transit', arg_type=get_three_state_flag(), options_list='--remote-vnet-transit', help='Enable hub to remote VNet transit.') c.argument('allow_remote_vnet_to_use_hub_vnet_gateways', arg_type=get_three_state_flag(), options_list='--use-hub-vnet-gateways', help='Allow remote VNet to use hub\'s VNet gateways.') - c.argument('enable_internet_security', arg_type=get_three_state_flag(), options_list='--internet-security', help='Enable internet security.') + c.argument('enable_internet_security', arg_type=get_three_state_flag(), options_list='--internet-security', help='Enable internet security and default is enabled.', default=True) with self.argument_context('network vhub connection list') as c: c.argument('resource_name', vhub_name_type, id_part=None) @@ -73,15 +76,18 @@ def load_arguments(self, _): c.argument('next_hop_ip_address', options_list='--next-hop', help='IP address of the next hop.') c.argument('index', type=int, help='List index of the item (starting with 1).') - with self.argument_context('network vhub route-table') as c: + with self.argument_context('network vhub route-table', resource_type=CUSTOM_VHUB_ROUTE_TABLE) as c: c.argument('virtual_hub_name', vhub_name_type, id_part=None) c.argument('route_table_name', options_list=['--name', '-n'], help='Name of the virtual hub route table.') - c.argument('attached_connections', options_list='--connections', nargs='+', arg_type=get_enum_type(['All_Vnets', 'All_Branches']), help='List of all connections attached to this route table') - c.argument('destination_type', arg_type=get_enum_type(['Service', 'CIDR']), help='The type of destinations') + c.argument('attached_connections', options_list='--connections', nargs='+', arg_type=get_enum_type(['All_Vnets', 'All_Branches']), help='List of all connections attached to this route table', arg_group="route table v2") + c.argument('destination_type', arg_type=get_enum_type(['Service', 'CIDR', 'ResourceId']), help='The type of destinations') c.argument('destinations', nargs='+', help='Space-separated list of all destinations.') - c.argument('next_hop_type', arg_type=get_enum_type(['IPAddress']), help='The type of next hops. Currently it only supports IP Address.') - c.argument('next_hops', nargs='+', help='Space-separated list of IP address of the next hop.') + c.argument('next_hop_type', arg_type=get_enum_type(['IPAddress', 'ResourceId']), help='The type of next hop. If --next-hops (v2) is provided, it should be IPAddress; if --next-hop (v3) is provided, it should be ResourceId.') + c.argument('next_hops', nargs='+', help='Space-separated list of IP address of the next hop. Currently only one next hop is allowed for every route.', arg_group="route table v2") c.argument('index', type=int, help='List index of the item (starting with 1).') + c.argument('next_hop', help='The resource ID of the next hop.', arg_group="route table v3", min_api='2020-04-01') + c.argument('route_name', help='The name of the route.', arg_group="route table v3", min_api='2020-04-01') + c.argument('labels', nargs='+', help='Space-separated list of all labels associated with this route table.', arg_group="route table v3", min_api='2020-04-01') # endregion # region VpnGateways @@ -149,3 +155,44 @@ def load_arguments(self, _): c.argument('virtual_wan_name', vwan_name_type, id_part=None) c.argument('vpn_sites', help='Space-separated list of VPN site names or IDs.', nargs='+', validator=get_network_resource_name_or_id('vpn_sites', 'vpnSites')) # endregion + + # region VpnServerConfigurations + with self.argument_context('network vpn-server-config') as c: + c.argument('vpn_protocols', nargs='+', options_list=['--protocols'], arg_type=get_enum_type(VpnGatewayTunnelingProtocol), help='VPN protocols for the VpnServerConfiguration.') + c.argument('vpn_auth_types', nargs='+', options_list=['--auth-types'], arg_type=get_enum_type(VpnAuthenticationType), help='VPN authentication types for the VpnServerConfiguration.') + c.argument('location', get_location_type(self.cli_ctx), validator=get_default_location_from_resource_group) + c.argument('vpn_server_configuration_name', options_list=['--name', '-n'], help='Name of the Vpn server configuration.') + with self.argument_context('network vpn-server-config', arg_group='AAD Auth') as c: + c.argument('aad_tenant', help='AAD Vpn authentication parameter AAD tenant.') + c.argument('aad_audience', help='AAD Vpn authentication parameter AAD audience.') + c.argument('aad_issuer', help='AAD Vpn authentication parameter AAD issuer.') + with self.argument_context('network vpn-server-config', arg_group='Certificate Auth') as c: + c.argument('vpn_client_root_certs', help='List of VPN client root certificate file paths.', nargs='+') + c.argument('vpn_client_revoked_certs', help='List of VPN client revoked certificate file paths.', nargs='+') + with self.argument_context('network vpn-server-config', arg_group='Radius Auth') as c: + c.argument('radius_client_root_certs', help='List of Radius client root certificate file paths.', nargs='+') + c.argument('radius_server_root_certs', help='List of Radius server root certificate file paths.', nargs='+') + c.argument('radius_servers', nargs='+', action=RadiusServerAddAction, help='Radius Server configuration.') + + with self.argument_context('network vpn-server-config', arg_group='IP Security') as c: + c.argument('sa_life_time_seconds', options_list='--sa-lifetime', help='IPSec Security Association (also called Quick Mode or Phase 2 SA) lifetime in seconds for a site-to-site VPN tunnel.', type=int) + c.argument('sa_data_size_kilobytes', options_list='--sa-data-size', help='IPSec Security Association (also called Quick Mode or Phase 2 SA) payload size in KB for a site-to-site VPN tunnel.', type=int) + c.argument('ipsec_encryption', arg_type=get_enum_type(IpsecEncryption), help='IPSec encryption algorithm (IKE phase 1).') + c.argument('ipsec_integrity', arg_type=get_enum_type(IpsecIntegrity), help='IPSec integrity algorithm (IKE phase 1).') + c.argument('ike_encryption', arg_type=get_enum_type(IkeEncryption), help='IKE encryption algorithm (IKE phase 2).') + c.argument('ike_integrity', arg_type=get_enum_type(IkeIntegrity), help='IKE integrity algorithm (IKE phase 2).') + c.argument('dh_group', arg_type=get_enum_type(DhGroup), help='DH Groups used in IKE Phase 1 for initial SA.') + c.argument('pfs_group', arg_type=get_enum_type(PfsGroup), help='The Pfs Groups used in IKE Phase 2 for new child SA.') + c.argument('index', type=int, help='List index of the ipsec policy(starting with 0).') + # endregion + + # region P2SVpnGateways + with self.argument_context('network p2s-vpn-gateway') as c: + c.argument('address_space', nargs='+', help='Address space for P2S VpnClient. Space-separated list of IP address ranges.') + c.argument('p2s_conn_config_name', options_list=['--config-name'], help='Name or p2s connection configuration.') + c.argument('scale_unit', type=int, help='The scale unit for this VPN gateway.') + c.argument('gateway_name', options_list=['--name', '-n'], help='Name of the P2S Vpn Gateway.') + c.argument('virtual_hub', options_list='--vhub', help='Name or ID of a virtual hub.', validator=get_network_resource_name_or_id('virtual_hub', 'virtualHubs')) + c.argument('vpn_server_config', help='Name or ID of a vpn server configuration.', validator=get_network_resource_name_or_id('vpn_server_config', 'vpnServerConfigurations')) + c.argument('location', get_location_type(self.cli_ctx), validator=get_default_location_from_resource_group) + # endregion diff --git a/src/virtual-wan/azext_vwan/action.py b/src/virtual-wan/azext_vwan/action.py new file mode 100644 index 00000000000..262c7020b06 --- /dev/null +++ b/src/virtual-wan/azext_vwan/action.py @@ -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: disable=protected-access +# pylint: disable=line-too-long +# pylint: disable=too-few-public-methods +import argparse +from knack.util import CLIError +from .profiles import CUSTOM_VHUB_ROUTE_TABLE + + +class RadiusServerAddAction(argparse._AppendAction): + + def __call__(self, parser, namespace, values, keys=None, option_string=None): + RadiusServer = namespace._cmd.get_models('RadiusServer', resource_type=CUSTOM_VHUB_ROUTE_TABLE) + kwargs = {} + for item in values: + try: + key, value = item.split('=', 1) + kwargs['radius_server_' + key] = value + except ValueError: + raise CLIError('usage error: {} address=VALUE, score=VALUE, secret=VALUE'.format(option_string)) + action = RadiusServer(**kwargs) + super(RadiusServerAddAction, self).__call__(parser, namespace, action, option_string) diff --git a/src/virtual-wan/azext_vwan/commands.py b/src/virtual-wan/azext_vwan/commands.py index abfa5e85413..ef3d3e1204a 100644 --- a/src/virtual-wan/azext_vwan/commands.py +++ b/src/virtual-wan/azext_vwan/commands.py @@ -8,7 +8,9 @@ from .profiles import CUSTOM_VHUB_ROUTE_TABLE from ._client_factory import ( - cf_virtual_wans, cf_virtual_hubs, cf_vpn_sites, cf_vpn_site_configs, cf_vpn_gateways, cf_virtual_hub_route_table_v2s) + cf_virtual_wans, cf_virtual_hubs, cf_vpn_sites, cf_vpn_site_configs, + cf_vpn_gateways, cf_virtual_hub_route_table_v2s, cf_vpn_server_config, + cf_p2s_vpn_gateways) from ._util import ( list_network_resource_property, delete_network_resource_property_entry, get_network_resource_property_entry) @@ -17,21 +19,21 @@ def load_command_table(self, _): network_vhub_sdk = CliCommandType( - operations_tmpl='azext_vwan.vendored_sdks.v2019_09_01.operations#VirtualHubsOperations.{}', + operations_tmpl='azext_vwan.vendored_sdks.v2020_04_01.operations#VirtualHubsOperations.{}', client_factory=cf_virtual_hubs, resource_type=CUSTOM_VHUB_ROUTE_TABLE, min_api='2018-08-01' ) network_vhub_route_table_sdk = CliCommandType( - operations_tmpl='azext_vwan.vendored_sdks.v2019_09_01.operations#VirtualHubRouteTableV2sOperations.{}', + operations_tmpl='azext_vwan.vendored_sdks.v2020_04_01.operations#VirtualHubRouteTableV2sOperations.{}', client_factory=cf_virtual_hub_route_table_v2s, resource_type=CUSTOM_VHUB_ROUTE_TABLE, min_api='2019-09-01' ) network_vwan_sdk = CliCommandType( - operations_tmpl='azext_vwan.vendored_sdks.v2019_09_01.operations#VirtualWansOperations.{}', + operations_tmpl='azext_vwan.vendored_sdks.v2020_04_01.operations#VirtualWansOperations.{}', client_factory=cf_virtual_wans, resource_type=CUSTOM_VHUB_ROUTE_TABLE, min_api='2018-08-01' @@ -55,6 +57,20 @@ def load_command_table(self, _): min_api='2018-08-01' ) + network_vpn_server_config_sdk = CliCommandType( + operations_tmpl='azext_vwan.vendored_sdks.v2020_04_01.operations#VpnServerConfigurationsOperations.{}', + client_factory=cf_vpn_server_config, + resource_type=CUSTOM_VHUB_ROUTE_TABLE, + min_api='2020-03-01' + ) + + network_p2s_vpn_gateway_sdk = CliCommandType( + operations_tmpl='azext_vwan.vendored_sdks.v2020_04_01.operations#P2sVpnGatewaysOperations.{}', + client_factory=cf_p2s_vpn_gateways, + resource_type=CUSTOM_VHUB_ROUTE_TABLE, + min_api='2020-03-01' + ) + network_util = CliCommandType( operations_tmpl='azext_vwan._util#{}', client_factory=None @@ -94,10 +110,11 @@ def load_command_table(self, _): with self.command_group('network vhub route-table', network_vhub_route_table_sdk, resource_type=CUSTOM_VHUB_ROUTE_TABLE) as g: g.custom_command('create', 'create_vhub_route_table', supports_no_wait=True) - g.generic_update_command('update', custom_func_name='update_vhub_route_table', setter_arg_name='virtual_hub_route_table_v2_parameters', supports_no_wait=True) - g.show_command('show', 'get') - g.command('list', 'list') - g.command('delete', 'delete') + g.custom_command('update', 'update_vhub_route_table', supports_no_wait=True) + g.custom_show_command('show', 'get_vhub_route_table') + g.custom_command('list', 'list_vhub_route_tables') + g.custom_command('delete', 'delete_vhub_route_table') + g.wait_command('wait') with self.command_group('network vhub route-table route', network_vhub_route_table_sdk, resource_type=CUSTOM_VHUB_ROUTE_TABLE) as g: g.custom_command('add', 'add_hub_routetable_route', supports_no_wait=True) @@ -140,3 +157,29 @@ def load_command_table(self, _): with self.command_group('network vpn-site', network_vpn_site_config_sdk) as g: g.command('download', 'download') # endregion + + # region VpnServer + with self.command_group('network vpn-server-config', network_vpn_server_config_sdk, resource_type=CUSTOM_VHUB_ROUTE_TABLE) as g: + g.custom_command('create', 'create_vpn_server_config', supports_no_wait=True) + g.custom_command('set', 'create_vpn_server_config', supports_no_wait=True) + # due to service limitation, we cannot support update command right now. + # g.generic_update_command('update', custom_func_name='update_vpn_server_config', supports_no_wait=True, setter_arg_name='vpn_server_configuration_parameters') + g.show_command('show') + g.command('delete', 'delete', confirmation=True) + g.custom_command('list', 'list_vpn_server_config') + g.wait_command('wait') + + with self.command_group('network vpn-server-config ipsec-policy', network_vpn_server_config_sdk, resource_type=CUSTOM_VHUB_ROUTE_TABLE) as g: + g.custom_command('add', 'add_vpn_server_config_ipsec_policy', supports_no_wait=True) + g.custom_command('list', 'list_vpn_server_config_ipsec_policies') + g.custom_command('remove', 'remove_vpn_server_config_ipsec_policy', supports_no_wait=True) + g.wait_command('wait') + + with self.command_group('network p2s-vpn-gateway', network_p2s_vpn_gateway_sdk, resource_type=CUSTOM_VHUB_ROUTE_TABLE) as g: + g.custom_command('create', 'create_p2s_vpn_gateway', supports_no_wait=True) + g.command('delete', 'delete', confirmation=True) + g.custom_command('list', 'list_p2s_vpn_gateways') + g.show_command('show') + g.generic_update_command('update', custom_func_name='update_p2s_vpn_gateway', supports_no_wait=True, setter_arg_name='p2_svpn_gateway_parameters') + g.wait_command('wait') + # endregion diff --git a/src/virtual-wan/azext_vwan/custom.py b/src/virtual-wan/azext_vwan/custom.py index 6d14a64766b..960f4f5c66a 100644 --- a/src/virtual-wan/azext_vwan/custom.py +++ b/src/virtual-wan/azext_vwan/custom.py @@ -3,6 +3,12 @@ # Licensed under the MIT License. See License.txt in the project root for license information. # -------------------------------------------------------------------------------------------- + +import os +import re +import hashlib + +from OpenSSL import crypto from knack.util import CLIError from knack.log import get_logger @@ -11,7 +17,6 @@ from ._client_factory import network_client_factory, network_client_route_table_factory from ._util import _get_property - logger = get_logger(__name__) @@ -27,7 +32,7 @@ def __exit__(self, exc_type, exc_val, exc_tb): pass def update_param(self, prop, value, allow_clear): - if value == '' and allow_clear: + if value in ('', []) and allow_clear: setattr(self.instance, prop, None) elif value is not None: setattr(self.instance, prop, value) @@ -212,47 +217,125 @@ def remove_hub_route(cmd, resource_group_name, virtual_hub_name, index, no_wait= # pylint: disable=inconsistent-return-statements -def create_vhub_route_table(cmd, resource_group_name, virtual_hub_name, route_table_name, - attached_connections, destination_type, destinations, - next_hop_type, next_hops, - tags=None, no_wait=False, location=None): - VirtualHubRouteTableV2, VirtualHubRouteV2 = cmd.get_models('VirtualHubRouteTableV2', 'VirtualHubRouteV2') - client = network_client_route_table_factory(cmd.cli_ctx).virtual_hub_route_table_v2s - route = VirtualHubRouteV2(destination_type=destination_type, - destinations=destinations, - next_hop_type=next_hop_type, - next_hops=next_hops) - route_table = VirtualHubRouteTableV2(location=location, - tags=tags, - attached_connections=attached_connections, - routes=[route]) - poller = sdk_no_wait(no_wait, client.create_or_update, - resource_group_name, virtual_hub_name, route_table_name, route_table) +def create_vhub_route_table(cmd, resource_group_name, virtual_hub_name, route_table_name, destination_type, + destinations, next_hop_type, next_hops=None, attached_connections=None, next_hop=None, + route_name=None, labels=None, no_wait=False): + if attached_connections: # route table v2 + if next_hops is None: + raise CLIError('Usage error: --next-hops must be provided when --connections is provided.') + if labels is not None or route_name is not None or next_hop is not None: + raise CLIError( + 'Usage error: None of [--labels, --route-name, --next-hop] is supported when --connections is provided.' + ) + + VirtualHubRouteTableV2, VirtualHubRouteV2 = cmd.get_models('VirtualHubRouteTableV2', 'VirtualHubRouteV2') + client = _v2_route_table_client(cmd.cli_ctx) + route = VirtualHubRouteV2(destination_type=destination_type, + destinations=destinations, + next_hop_type=next_hop_type, + next_hops=next_hops) + route_table = VirtualHubRouteTableV2(attached_connections=attached_connections, routes=[route]) + else: # route table v3 + if next_hop is None or route_name is None: + raise CLIError( + 'Usage error: --next-hop and --route-name must be provided when --connections is not provided.') + if next_hops is not None: + raise CLIError('Usage error: --next-hops is not supported when --connections is not provided.') + + HubRouteTable, HubRoute = cmd.get_models('HubRouteTable', 'HubRoute') + client = _v3_route_table_client(cmd.cli_ctx) + route = HubRoute(name=route_name, + destination_type=destination_type, + destinations=destinations, + next_hop_type=next_hop_type, + next_hop=next_hop) + route_table = HubRouteTable(routes=[route], labels=labels) + + return sdk_no_wait(no_wait, client.create_or_update, resource_group_name, + virtual_hub_name, route_table_name, route_table) + + +def update_vhub_route_table(cmd, resource_group_name, virtual_hub_name, route_table_name, + attached_connections=None, labels=None, no_wait=False): + route_table = get_vhub_route_table(cmd, resource_group_name, virtual_hub_name, route_table_name) + if _is_v2_route_table(route_table): + if labels is not None: + raise CLIError('Usage error: --labels is not supported for this v2 route table.') + client = _v2_route_table_client(cmd.cli_ctx) + route_table.attached_connections = attached_connections + else: + if attached_connections is not None: + raise CLIError('Usage error: --connections is not supported for this v3 route table.') + client = _v3_route_table_client(cmd.cli_ctx) + route_table.labels = labels + + return sdk_no_wait(no_wait, client.create_or_update, resource_group_name, + virtual_hub_name, route_table_name, route_table) + + +def get_vhub_route_table(cmd, resource_group_name, virtual_hub_name, route_table_name): + from msrestazure.azure_exceptions import CloudError try: - return poller.result() - except AttributeError: - return + return _v3_route_table_client(cmd.cli_ctx)\ + .get(resource_group_name, virtual_hub_name, route_table_name) # Get v3 route table first. + except CloudError as ex: + if ex.status_code == 404: + return _v2_route_table_client(cmd.cli_ctx)\ + .get(resource_group_name, virtual_hub_name, route_table_name) # Get v2 route table. + raise -def update_vhub_route_table(instance, attached_connections=None, tags=None): - with UpdateContext(instance) as c: - c.update_param('tags', tags, True) - c.update_param('attached_connections', attached_connections, False) - return instance + +def delete_vhub_route_table(cmd, resource_group_name, virtual_hub_name, route_table_name, no_wait=False): + route_table = get_vhub_route_table(cmd, resource_group_name, virtual_hub_name, route_table_name) + client = _route_table_client(cmd.cli_ctx, route_table) + + return sdk_no_wait(no_wait, client.delete, resource_group_name, virtual_hub_name, route_table_name) + + +def list_vhub_route_tables(cmd, resource_group_name, virtual_hub_name): + v2_route_tables = _v2_route_table_client(cmd.cli_ctx).list(resource_group_name, virtual_hub_name) + v3_route_tables = _v3_route_table_client(cmd.cli_ctx).list(resource_group_name, virtual_hub_name) + + all_route_tables = list(v2_route_tables) + list(v3_route_tables) + return all_route_tables # pylint: disable=inconsistent-return-statements def add_hub_routetable_route(cmd, resource_group_name, virtual_hub_name, route_table_name, - destination_type, destinations, - next_hop_type, next_hops, no_wait=False): - VirtualHubRouteV2 = cmd.get_models('VirtualHubRouteV2') - client = network_client_route_table_factory(cmd.cli_ctx).virtual_hub_route_table_v2s - route_table = client.get(resource_group_name, virtual_hub_name, route_table_name) - route = VirtualHubRouteV2(destination_type=destination_type, - destinations=destinations, - next_hop_type=next_hop_type, - next_hops=next_hops) - route_table.routes.append(route) + destination_type, destinations, next_hop_type, + next_hops=None, next_hop=None, route_name=None, no_wait=False): + route_table = get_vhub_route_table(cmd, resource_group_name, virtual_hub_name, route_table_name) + if _is_v2_route_table(route_table): + if next_hops is None: + raise CLIError('Usage error: --next-hops must be provided as you are adding route to v2 route table.') + if route_name is not None or next_hop is not None: + raise CLIError( + 'Usage error: Neither --route-name nore --next-hop is not supported for this v2 route table.') + + client = _v2_route_table_client(cmd.cli_ctx) + VirtualHubRouteV2 = cmd.get_models('VirtualHubRouteV2') + route = VirtualHubRouteV2(destination_type=destination_type, + destinations=destinations, + next_hop_type=next_hop_type, + next_hops=next_hops) + route_table.routes.append(route) + else: + if next_hop is None or route_name is None: + raise CLIError( + 'Usage error: --next-hop and --route-name must be provided as you are adding route to v3 route table.') + if next_hops is not None: + raise CLIError('Usage error: --next-hops is not supported for this v3 route table.') + + client = _v3_route_table_client(cmd.cli_ctx) + HubRoute = cmd.get_models('HubRoute') + route = HubRoute(name=route_name, + destination_type=destination_type, + destinations=destinations, + next_hop_type=next_hop_type, + next_hop=next_hop) + route_table.routes.append(route) + poller = sdk_no_wait(no_wait, client.create_or_update, resource_group_name, virtual_hub_name, route_table_name, route_table) try: @@ -262,25 +345,44 @@ def add_hub_routetable_route(cmd, resource_group_name, virtual_hub_name, route_t def list_hub_routetable_route(cmd, resource_group_name, virtual_hub_name, route_table_name): - client = network_client_route_table_factory(cmd.cli_ctx).virtual_hub_route_table_v2s - route_table = client.get(resource_group_name, virtual_hub_name, route_table_name) + route_table = get_vhub_route_table(cmd, resource_group_name, virtual_hub_name, route_table_name) return route_table.routes # pylint: disable=inconsistent-return-statements def remove_hub_routetable_route(cmd, resource_group_name, virtual_hub_name, route_table_name, index, no_wait=False): - client = network_client_route_table_factory(cmd.cli_ctx).virtual_hub_route_table_v2s - route_table = client.get(resource_group_name, virtual_hub_name, route_table_name) + route_table = get_vhub_route_table(cmd, resource_group_name, virtual_hub_name, route_table_name) try: route_table.routes.pop(index - 1) except IndexError: raise CLIError('invalid index: {}. Index can range from 1 to {}'.format(index, len(route_table.routes))) + + client = _route_table_client(cmd.cli_ctx, route_table) poller = sdk_no_wait(no_wait, client.create_or_update, resource_group_name, virtual_hub_name, route_table_name, route_table) try: return poller.result().routes except AttributeError: return + + +def _is_v2_route_table(route_table): + return hasattr(route_table, 'attached_connections') + + +def _route_table_client(cli_ctx, route_table): + if _is_v2_route_table(route_table): + return _v2_route_table_client(cli_ctx) + + return _v3_route_table_client(cli_ctx) + + +def _v2_route_table_client(cli_ctx): + return network_client_route_table_factory(cli_ctx).virtual_hub_route_table_v2s + + +def _v3_route_table_client(cli_ctx): + return network_client_route_table_factory(cli_ctx).hub_route_tables # endregion @@ -402,6 +504,8 @@ def remove_vpn_conn_ipsec_policy(cmd, resource_group_name, gateway_name, connect return _get_property(poller.result().connections, connection_name) except AttributeError: return + + # endregion @@ -473,3 +577,239 @@ def update_vpn_site(instance, cmd, ip_address=None, virtual_wan=None, tags=None, def list_vpn_sites(cmd, resource_group_name=None): return _generic_list(cmd.cli_ctx, 'vpn_sites', resource_group_name) # endregion + + +# region VPN server configuarions +# pylint: disable=line-too-long +def create_vpn_server_config(cmd, resource_group_name, vpn_server_configuration_name, location=None, + vpn_protocols=None, vpn_auth_types=None, + vpn_client_root_certs=None, vpn_client_revoked_certs=None, + radius_servers=None, radius_client_root_certs=None, radius_server_root_certs=None, + aad_tenant=None, aad_audience=None, aad_issuer=None, no_wait=False): + client = network_client_route_table_factory(cmd.cli_ctx).vpn_server_configurations + (VpnServerConfiguration, + AadAuthenticationParameters, + VpnServerConfigVpnClientRootCertificate, + VpnServerConfigVpnClientRevokedCertificate, + VpnServerConfigRadiusServerRootCertificate, + VpnServerConfigRadiusClientRootCertificate) = cmd.get_models('VpnServerConfiguration', + 'AadAuthenticationParameters', + 'VpnServerConfigVpnClientRootCertificate', + 'VpnServerConfigVpnClientRevokedCertificate', + 'VpnServerConfigRadiusServerRootCertificate', + 'VpnServerConfigRadiusClientRootCertificate') + vpn_server_config = VpnServerConfiguration( + location=location, + vpn_protocols=vpn_protocols, + vpn_authentication_types=vpn_auth_types, + vpn_client_root_certificates=_load_certificates_and_build_name_and_public_cert_data(VpnServerConfigVpnClientRootCertificate, + vpn_client_root_certs), + vpn_client_revoked_certificates=_load_certificates_and_build_name_and_thumbprint(VpnServerConfigVpnClientRevokedCertificate, + vpn_client_revoked_certs), + radius_servers=radius_servers, + radius_client_root_certificates=_load_certificates_and_build_name_and_thumbprint(VpnServerConfigRadiusClientRootCertificate, + radius_client_root_certs), + radius_server_root_certificates=_load_certificates_and_build_name_and_public_cert_data(VpnServerConfigRadiusServerRootCertificate, + radius_server_root_certs), + aad_authentication_parameters=AadAuthenticationParameters( + aad_tenant=aad_tenant, + aad_audience=aad_audience, + aad_issuer=aad_issuer + ) + ) + + return sdk_no_wait(no_wait, client.create_or_update, + resource_group_name, vpn_server_configuration_name, vpn_server_config) + + +# pylint: disable=line-too-long +def update_vpn_server_config(instance, cmd, vpn_protocols=None, vpn_auth_types=None, + vpn_client_root_certs=None, vpn_client_revoked_certs=None, + radius_servers=None, radius_client_root_certs=None, radius_server_root_certs=None, + aad_tenant=None, aad_audience=None, aad_issuer=None): + (VpnServerConfigVpnClientRootCertificate, + VpnServerConfigVpnClientRevokedCertificate, + VpnServerConfigRadiusServerRootCertificate, + VpnServerConfigRadiusClientRootCertificate) = cmd.get_models('VpnServerConfigVpnClientRootCertificate', + 'VpnServerConfigVpnClientRevokedCertificate', + 'VpnServerConfigRadiusServerRootCertificate', + 'VpnServerConfigRadiusClientRootCertificate') + with UpdateContext(instance) as c: + c.update_param('vpn_protocols', vpn_protocols, False) + c.update_param('vpn_authentication_types', vpn_auth_types, False) + c.update_param('vpn_client_root_certificates', _load_certificates_and_build_name_and_public_cert_data(VpnServerConfigVpnClientRootCertificate, vpn_client_root_certs), True) + c.update_param('vpn_client_revoked_certificates', _load_certificates_and_build_name_and_thumbprint(VpnServerConfigVpnClientRevokedCertificate, vpn_client_revoked_certs), True) + c.update_param('radius_servers', radius_servers, True) + c.update_param('radius_client_root_certificates', _load_certificates_and_build_name_and_thumbprint(VpnServerConfigRadiusClientRootCertificate, radius_client_root_certs), True) + c.update_param('radius_server_root_certificates', _load_certificates_and_build_name_and_public_cert_data(VpnServerConfigRadiusServerRootCertificate, radius_server_root_certs), True) + + device_properties = instance.aad_authentication_parameters + with UpdateContext(device_properties) as c: + c.update_param('aad_tenant', aad_tenant, True) + c.update_param('aad_audience', aad_audience, True) + c.update_param('aad_issuer', aad_issuer, False) + + return instance + + +def list_vpn_server_config(cmd, resource_group_name=None): + client = network_client_route_table_factory(cmd.cli_ctx).vpn_server_configurations + if resource_group_name: + return client.list_by_resource_group(resource_group_name) + return client.list() + + +def add_vpn_server_config_ipsec_policy(cmd, resource_group_name, vpn_server_configuration_name, + sa_life_time_seconds, sa_data_size_kilobytes, ipsec_encryption, + ipsec_integrity, ike_encryption, ike_integrity, dh_group, pfs_group, + no_wait=False): + client = network_client_route_table_factory(cmd.cli_ctx).vpn_server_configurations + IpsecPolicy = cmd.get_models('IpsecPolicy') + vpn_server_config = client.get(resource_group_name, vpn_server_configuration_name) + vpn_server_config.vpn_client_ipsec_policies.append( + IpsecPolicy( + sa_life_time_seconds=sa_life_time_seconds, + sa_data_size_kilobytes=sa_data_size_kilobytes, + ipsec_encryption=ipsec_encryption, + ipsec_integrity=ipsec_integrity, + ike_encryption=ike_encryption, + ike_integrity=ike_integrity, + dh_group=dh_group, + pfs_group=pfs_group + ) + ) + poller = sdk_no_wait(no_wait, client.create_or_update, + resource_group_name, vpn_server_configuration_name, vpn_server_config) + if no_wait: + return poller + from azure.cli.core.commands import LongRunningOperation + return LongRunningOperation(cmd.cli_ctx)(poller).vpn_client_ipsec_policies + + +def list_vpn_server_config_ipsec_policies(cmd, resource_group_name, vpn_server_configuration_name): + client = network_client_route_table_factory(cmd.cli_ctx).vpn_server_configurations + vpn_server_config = client.get(resource_group_name, vpn_server_configuration_name) + return vpn_server_config.vpn_client_ipsec_policies + + +# pylint: disable=inconsistent-return-statements +def remove_vpn_server_config_ipsec_policy(cmd, resource_group_name, vpn_server_configuration_name, index, no_wait=False): + client = network_client_route_table_factory(cmd.cli_ctx).vpn_server_configurations + vpn_server_config = client.get(resource_group_name, vpn_server_configuration_name) + try: + vpn_server_config.vpn_client_ipsec_policies.pop(index) + except IndexError: + raise CLIError('invalid index: {}. Index can range from 0 to {}'.format(index, len(vpn_server_config.vpn_client_ipsec_policies) - 1)) + poller = sdk_no_wait(no_wait, client.create_or_update, + resource_group_name, vpn_server_configuration_name, vpn_server_config) + if no_wait: + return poller + from azure.cli.core.commands import LongRunningOperation + return LongRunningOperation(cmd.cli_ctx)(poller).vpn_client_ipsec_policies + + +def create_p2s_vpn_gateway(cmd, resource_group_name, gateway_name, virtual_hub, + scale_unit, location=None, tags=None, p2s_conn_config_name='P2SConnectionConfigDefault', + vpn_server_config=None, address_space=None, no_wait=False): + client = network_client_route_table_factory(cmd.cli_ctx).p2s_vpn_gateways + (P2SVpnGateway, + SubResource, + P2SConnectionConfiguration, + AddressSpace) = cmd.get_models('P2SVpnGateway', + 'SubResource', + 'P2SConnectionConfiguration', + 'AddressSpace') + gateway = P2SVpnGateway( + location=location, + tags=tags, + virtual_hub=SubResource(id=virtual_hub) if virtual_hub else None, + vpn_gateway_scale_unit=scale_unit, + vpn_server_configuration=SubResource(id=vpn_server_config) if vpn_server_config else None, + p2_sconnection_configurations=[ + P2SConnectionConfiguration( + vpn_client_address_pool=AddressSpace( + address_prefixes=address_space + ), + name=p2s_conn_config_name + ) + ] + ) + return sdk_no_wait(no_wait, client.create_or_update, + resource_group_name, gateway_name, gateway) + + +def update_p2s_vpn_gateway(instance, cmd, tags=None, scale_unit=None, + vpn_server_config=None, address_space=None, p2s_conn_config_name=None,): + (SubResource, + P2SConnectionConfiguration, + AddressSpace) = cmd.get_models('SubResource', + 'P2SConnectionConfiguration', + 'AddressSpace') + with UpdateContext(instance) as c: + c.update_param('tags', tags, True) + c.update_param('vpn_gateway_scale_unit', scale_unit, False) + c.update_param('vpn_server_configuration', SubResource(id=vpn_server_config) if vpn_server_config else None, True) + c.update_param('p2_sconnection_configurations', [ + P2SConnectionConfiguration( + vpn_client_address_pool=AddressSpace( + address_prefixes=address_space + ), + name=p2s_conn_config_name + ) + ], False) + + return instance + + +def list_p2s_vpn_gateways(cmd, resource_group_name=None): + client = network_client_route_table_factory(cmd.cli_ctx).p2s_vpn_gateways + if resource_group_name: + return client.list_by_resource_group(resource_group_name) + return client.list() + + +def _load_cert_file(file_path): + cer_data = None + pem_data = None + if os.path.splitext(file_path)[1] in ['.pem']: + with open(file_path, "rb") as f: + pem_data = f.read() + x509 = crypto.load_certificate(crypto.FILETYPE_PEM, pem_data) + cer_data = crypto.dump_certificate(crypto.FILETYPE_ASN1, x509) + elif os.path.splitext(file_path)[1] in ['.cer', '.cert']: + with open(file_path, "rb") as f: + cer_data = f.read() + x509 = crypto.load_certificate(crypto.FILETYPE_ASN1, cer_data) + pem_data = crypto.dump_certificate(crypto.FILETYPE_PEM, x509) + return cer_data, pem_data + + +def _load_certificates_and_build_name_and_thumbprint(model, file_paths_list): + if file_paths_list is None: + return None + certificates = [] + for file_path in file_paths_list: + kwargs = {} + cer_data, _ = _load_cert_file(file_path) + kwargs['name'] = os.path.splitext(os.path.basename(file_path))[0] + kwargs['thumbprint'] = hashlib.sha1(cer_data).hexdigest() + certificates.append(model(**kwargs)) + return certificates + + +def _load_certificates_and_build_name_and_public_cert_data(model, file_paths_list): + if file_paths_list is None: + return None + certificates = [] + for file_path in file_paths_list: + if not os.path.exists(file_path): + continue + kwargs = {} + _, pem_data = _load_cert_file(file_path) + kwargs['name'] = os.path.splitext(os.path.basename(file_path))[0] + match = re.search(r'\-+BEGIN CERTIFICATE.+\-+(?P[^-]+)\-+END CERTIFICATE.+\-+', + pem_data.decode(), re.I) + kwargs['public_cert_data'] = match.group('public').strip() + certificates.append(model(**kwargs)) + return certificates +# endregion diff --git a/src/virtual-wan/azext_vwan/profiles.py b/src/virtual-wan/azext_vwan/profiles.py index a8e171e7c10..60373e65760 100644 --- a/src/virtual-wan/azext_vwan/profiles.py +++ b/src/virtual-wan/azext_vwan/profiles.py @@ -6,4 +6,4 @@ from azure.cli.core.profiles import CustomResourceType CUSTOM_VWAN = CustomResourceType('azext_vwan.vendored_sdks.v2018_08_01', 'NetworkManagementClient') -CUSTOM_VHUB_ROUTE_TABLE = CustomResourceType('azext_vwan.vendored_sdks.v2019_09_01', 'NetworkManagementClient') +CUSTOM_VHUB_ROUTE_TABLE = CustomResourceType('azext_vwan.vendored_sdks.v2020_04_01', 'NetworkManagementClient') diff --git a/src/virtual-wan/azext_vwan/tests/latest/data/ApplicationGatewayAuthCert.cer b/src/virtual-wan/azext_vwan/tests/latest/data/ApplicationGatewayAuthCert.cer new file mode 100644 index 00000000000..2f7baf68562 Binary files /dev/null and b/src/virtual-wan/azext_vwan/tests/latest/data/ApplicationGatewayAuthCert.cer differ diff --git a/src/virtual-wan/azext_vwan/tests/latest/data/ApplicationGatewayAuthCert.pem b/src/virtual-wan/azext_vwan/tests/latest/data/ApplicationGatewayAuthCert.pem new file mode 100644 index 00000000000..533278815ac --- /dev/null +++ b/src/virtual-wan/azext_vwan/tests/latest/data/ApplicationGatewayAuthCert.pem @@ -0,0 +1,20 @@ +-----BEGIN CERTIFICATE----- +MIIDTzCCAjegAwIBAgIQj5oTlR6oyJ1NlX9Wb9aFyjANBgkqhkiG9w0BAQsFADAw +MS4wLAYDVQQDEyVBcHBsaWNhdGlvbkdhdGV3YXlTc2xDZXJ0LVVuaXRUZXN0LTAx +MB4XDTE2MDIxNzA3MDc1M1oXDTM5MTIzMTIzNTk1OVowMDEuMCwGA1UEAxMlQXBw +bGljYXRpb25HYXRld2F5U3NsQ2VydC1Vbml0VGVzdC0wMTCCASIwDQYJKoZIhvcN +AQEBBQADggEPADCCAQoCggEBANOUOFVmm+P4ht/qaiGZaiMzZSXwqGP8W/XWZRfJ +Sc1mS6B4zBm8MtndmO9NbPUeGetk3E4jI0egP7NufuTAtfZY5nG9/gsZh8Hp4o+x ++6F1wCUtK5pQ5Fne4Vwg0Q9k1CgUfQfK0zEoanOTEylcyp1nVpoGc3v4FZ9pQr8/ +xQ7+PSwgNpmGpU1gmgorDlXIO8jiKb+WfSoPAhHcavoPFg6DeGv30AK2m8ULFezO +qbprrozRxXaKzt8fBaDSP1XMakFaO6ffZU4uNgrehW4zMnpdgAjT5koymDKGAfl/ +7+5QpLxSKc2478J+PvTwy/rfWKJLbEImoM7WE3imWgrHUNMCAwEAAaNlMGMwYQYD +VR0BBFowWIAQxDXqD2PYxSlriJ6HuzZ+b6EyMDAxLjAsBgNVBAMTJUFwcGxpY2F0 +aW9uR2F0ZXdheVNzbENlcnQtVW5pdFRlc3QtMDGCEI+aE5UeqMidTZV/Vm/Whcow +DQYJKoZIhvcNAQELBQADggEBADSC6PHkVYmoVOyyW2g7q3GG3MmXa43/HQNTM+pT +3HENAlhGg8T9EFrOQ/0QAoEQbrtsP8Isj5u2Bd4MOlYA180ExyfL/NFb7QpXq/pR +LbePMQAQicdSvk/9RyrNRBfNjT2KNlBp3RZtCkJjQWlc5ylWydPy4JPUZxit/5yg +CRT+cmN1ioF469Ki8hzBlKmrDg8jkFUwFyD7B0fEfPP0gSZI3F6HqgCK2hzBTjuj +ZjddZyn2XxXlxLu57C83CNPP8fbsGW2CwolgmYvt+dJsdDnT7VKX5RS4cOPp/JGG +7QdhzqVBoK0vZP6gHEAOPoqBVUWf8SmlVuAVGmDl8EjLnK8= +-----END CERTIFICATE----- diff --git a/src/virtual-wan/azext_vwan/tests/latest/recordings/test_azure_p2s_vpn_gateway_basic_scenario.yaml b/src/virtual-wan/azext_vwan/tests/latest/recordings/test_azure_p2s_vpn_gateway_basic_scenario.yaml new file mode 100644 index 00000000000..269e578b6c8 --- /dev/null +++ b/src/virtual-wan/azext_vwan/tests/latest/recordings/test_azure_p2s_vpn_gateway_basic_scenario.yaml @@ -0,0 +1,18631 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vwan create + Connection: + - keep-alive + ParameterSetName: + - -n -g --type + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-resource/9.0.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_azure_vhub_connection000001?api-version=2019-07-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001","name":"cli_test_azure_vhub_connection000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2020-06-05T08:50:58Z","StorageType":"Standard_LRS","type":"test"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '471' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 08:51:04 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"location": "westus"}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vwan create + Connection: + - keep-alive + Content-Length: + - '22' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -n -g --type + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 networkmanagementclient/2.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualWans/clitestvwan?api-version=2018-08-01 + response: + body: + string: "{\r\n \"name\": \"clitestvwan\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualWans/clitestvwan\",\r\n + \ \"etag\": \"W/\\\"4aa14d5d-0ddf-4750-bfc9-d48c37a17d1b\\\"\",\r\n \"type\": + \"Microsoft.Network/virtualWans\",\r\n \"location\": \"westus\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Updating\",\r\n \"disableVpnEncryption\": + false,\r\n \"allowBranchToBranchTraffic\": true,\r\n \"allowVnetToVnetTraffic\": + true,\r\n \"office365LocalBreakoutCategory\": \"None\"\r\n }\r\n}" + headers: + azure-asyncnotification: + - Enabled + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/9bb1d2a0-7e99-4b4d-830a-a2774d532775?api-version=2018-08-01 + cache-control: + - no-cache + content-length: + - '585' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 08:51:07 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - d4b71207-a848-4a26-af34-19cc68afbdf6 + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vwan create + Connection: + - keep-alive + ParameterSetName: + - -n -g --type + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 networkmanagementclient/2.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/9bb1d2a0-7e99-4b4d-830a-a2774d532775?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"Succeeded\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '29' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 08:51:18 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - f98db6a2-2477-47b1-9535-3b984840b241 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vwan create + Connection: + - keep-alive + ParameterSetName: + - -n -g --type + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 networkmanagementclient/2.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualWans/clitestvwan?api-version=2018-08-01 + response: + body: + string: "{\r\n \"name\": \"clitestvwan\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualWans/clitestvwan\",\r\n + \ \"etag\": \"W/\\\"fbb37232-d872-4985-89cd-1573f5dbe70e\\\"\",\r\n \"type\": + \"Microsoft.Network/virtualWans\",\r\n \"location\": \"westus\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Succeeded\",\r\n \"disableVpnEncryption\": + false,\r\n \"allowBranchToBranchTraffic\": true,\r\n \"allowVnetToVnetTraffic\": + true,\r\n \"office365LocalBreakoutCategory\": \"None\"\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '586' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 08:51:19 GMT + etag: + - W/"fbb37232-d872-4985-89cd-1573f5dbe70e" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 6635d4ce-59c7-417a-931f-c274feea6e75 + status: + code: 200 + message: OK +- request: + body: 'b''{"location": "westus", "properties": {"virtualWan": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualWans/clitestvwan"}, + "addressPrefix": "10.5.0.0/16"}}''' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub create + Connection: + - keep-alive + Content-Length: + - '290' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -g -n --vwan --address-prefix -l --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 networkmanagementclient/2.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub?api-version=2018-08-01 + response: + body: + string: "{\r\n \"name\": \"clitestvhub\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub\",\r\n + \ \"etag\": \"W/\\\"703b3cfe-34c6-488d-8929-1d3952542dc2\\\"\",\r\n \"type\": + \"Microsoft.Network/virtualHubs\",\r\n \"location\": \"westus\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Updating\",\r\n \"virtualNetworkConnections\": + [],\r\n \"addressPrefix\": \"10.5.0.0/16\",\r\n \"virtualRouterIps\": + [],\r\n \"routeTable\": {\r\n \"routes\": []\r\n },\r\n \"virtualWan\": + {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualWans/clitestvwan\"\r\n + \ }\r\n }\r\n}" + headers: + azure-asyncnotification: + - Enabled + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/cb340e21-ffa9-4c0e-969c-341173228072?api-version=2018-08-01 + cache-control: + - no-cache + content-length: + - '816' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 08:51:24 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - ca7c6a2d-a721-4263-ba89-260073287477 + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vwan --address-prefix -l --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 networkmanagementclient/2.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/cb340e21-ffa9-4c0e-969c-341173228072?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 08:51:35 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - eaca07dc-e9c5-4a21-91f4-5a7a038dad7c + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vwan --address-prefix -l --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 networkmanagementclient/2.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/cb340e21-ffa9-4c0e-969c-341173228072?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 08:51:46 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 50cac6a9-db05-41ac-a3ee-8261b3000877 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vwan --address-prefix -l --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 networkmanagementclient/2.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/cb340e21-ffa9-4c0e-969c-341173228072?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 08:51:57 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - cf38121b-9de5-4cd9-aa16-4860eacbdbac + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vwan --address-prefix -l --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 networkmanagementclient/2.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/cb340e21-ffa9-4c0e-969c-341173228072?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 08:52:08 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 5d49d6f8-b26e-41b8-b53b-8c004372c3f4 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vwan --address-prefix -l --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 networkmanagementclient/2.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/cb340e21-ffa9-4c0e-969c-341173228072?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 08:52:19 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 8b9890bd-eff8-498a-a6dc-39c36e4ef0bc + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vwan --address-prefix -l --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 networkmanagementclient/2.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/cb340e21-ffa9-4c0e-969c-341173228072?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 08:52:30 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - a636ef0f-690f-4461-98a0-64861c305b7d + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vwan --address-prefix -l --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 networkmanagementclient/2.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/cb340e21-ffa9-4c0e-969c-341173228072?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 08:52:41 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - af06b391-1d08-4262-8bba-ce3a8ae1547b + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vwan --address-prefix -l --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 networkmanagementclient/2.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/cb340e21-ffa9-4c0e-969c-341173228072?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 08:52:52 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - f10b169b-4154-44e7-84d4-03f4180d82f6 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vwan --address-prefix -l --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 networkmanagementclient/2.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/cb340e21-ffa9-4c0e-969c-341173228072?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 08:53:03 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 71009816-a1ba-4532-9147-e79d3e1a6124 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vwan --address-prefix -l --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 networkmanagementclient/2.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/cb340e21-ffa9-4c0e-969c-341173228072?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 08:53:14 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 0e073db8-ade1-4542-aa60-e3c61efe45f8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vwan --address-prefix -l --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 networkmanagementclient/2.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/cb340e21-ffa9-4c0e-969c-341173228072?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 08:53:24 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 1732dbc6-6e93-413f-9df9-3c45f65d9410 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vwan --address-prefix -l --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 networkmanagementclient/2.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/cb340e21-ffa9-4c0e-969c-341173228072?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 08:53:36 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - e68c2fd7-1a6d-445a-b3bd-e17a7626c014 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vwan --address-prefix -l --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 networkmanagementclient/2.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/cb340e21-ffa9-4c0e-969c-341173228072?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 08:53:47 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 9a9a39a7-212a-485d-bcbd-5069c6e9a32a + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vwan --address-prefix -l --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 networkmanagementclient/2.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/cb340e21-ffa9-4c0e-969c-341173228072?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 08:53:58 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - d49fdd23-994e-465e-a6ad-c544fc26dcca + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vwan --address-prefix -l --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 networkmanagementclient/2.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/cb340e21-ffa9-4c0e-969c-341173228072?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 08:54:08 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 04cd41c9-be91-4f6b-905e-b624c05814b8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vwan --address-prefix -l --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 networkmanagementclient/2.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/cb340e21-ffa9-4c0e-969c-341173228072?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 08:54:20 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 5ba37a6f-abeb-4bb3-b63e-0966fa9b3072 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vwan --address-prefix -l --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 networkmanagementclient/2.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/cb340e21-ffa9-4c0e-969c-341173228072?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 08:54:30 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 0bd665d1-e9ed-4f02-a04f-8e0f0d12af30 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vwan --address-prefix -l --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 networkmanagementclient/2.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/cb340e21-ffa9-4c0e-969c-341173228072?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 08:54:42 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - fab939cb-d481-4fc4-be5b-ea841ce24e54 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vwan --address-prefix -l --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 networkmanagementclient/2.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/cb340e21-ffa9-4c0e-969c-341173228072?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"Succeeded\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '29' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 08:54:53 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 004267dc-1646-41d2-aaba-4d5bb462232c + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vwan --address-prefix -l --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 networkmanagementclient/2.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub?api-version=2018-08-01 + response: + body: + string: "{\r\n \"name\": \"clitestvhub\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub\",\r\n + \ \"etag\": \"W/\\\"2aa9ec87-24bf-4377-a790-bee1ae40a07f\\\"\",\r\n \"type\": + \"Microsoft.Network/virtualHubs\",\r\n \"location\": \"westus\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Succeeded\",\r\n \"virtualNetworkConnections\": + [],\r\n \"addressPrefix\": \"10.5.0.0/16\",\r\n \"virtualRouterIps\": + [],\r\n \"routeTable\": {\r\n \"routes\": []\r\n },\r\n \"virtualWan\": + {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualWans/clitestvwan\"\r\n + \ }\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '817' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 08:54:54 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - ff0369cf-e49d-4350-a455-7d93622a04ca + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-server-config create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vpn-client-root-certs --vpn-client-revoked-certs + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-resource/9.0.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_azure_vhub_connection000001?api-version=2019-07-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001","name":"cli_test_azure_vhub_connection000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2020-06-05T08:50:58Z","StorageType":"Standard_LRS","type":"test"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '471' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 08:54:55 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"location": "westus", "properties": {"vpnClientRootCertificates": [{"name": + "ApplicationGatewayAuthCert", "publicCertData": "MIIDTzCCAjegAwIBAgIQj5oTlR6oyJ1NlX9Wb9aFyjANBgkqhkiG9w0BAQsFADAw\nMS4wLAYDVQQDEyVBcHBsaWNhdGlvbkdhdGV3YXlTc2xDZXJ0LVVuaXRUZXN0LTAx\nMB4XDTE2MDIxNzA3MDc1M1oXDTM5MTIzMTIzNTk1OVowMDEuMCwGA1UEAxMlQXBw\nbGljYXRpb25HYXRld2F5U3NsQ2VydC1Vbml0VGVzdC0wMTCCASIwDQYJKoZIhvcN\nAQEBBQADggEPADCCAQoCggEBANOUOFVmm+P4ht/qaiGZaiMzZSXwqGP8W/XWZRfJ\nSc1mS6B4zBm8MtndmO9NbPUeGetk3E4jI0egP7NufuTAtfZY5nG9/gsZh8Hp4o+x\n+6F1wCUtK5pQ5Fne4Vwg0Q9k1CgUfQfK0zEoanOTEylcyp1nVpoGc3v4FZ9pQr8/\nxQ7+PSwgNpmGpU1gmgorDlXIO8jiKb+WfSoPAhHcavoPFg6DeGv30AK2m8ULFezO\nqbprrozRxXaKzt8fBaDSP1XMakFaO6ffZU4uNgrehW4zMnpdgAjT5koymDKGAfl/\n7+5QpLxSKc2478J+PvTwy/rfWKJLbEImoM7WE3imWgrHUNMCAwEAAaNlMGMwYQYD\nVR0BBFowWIAQxDXqD2PYxSlriJ6HuzZ+b6EyMDAxLjAsBgNVBAMTJUFwcGxpY2F0\naW9uR2F0ZXdheVNzbENlcnQtVW5pdFRlc3QtMDGCEI+aE5UeqMidTZV/Vm/Whcow\nDQYJKoZIhvcNAQELBQADggEBADSC6PHkVYmoVOyyW2g7q3GG3MmXa43/HQNTM+pT\n3HENAlhGg8T9EFrOQ/0QAoEQbrtsP8Isj5u2Bd4MOlYA180ExyfL/NFb7QpXq/pR\nLbePMQAQicdSvk/9RyrNRBfNjT2KNlBp3RZtCkJjQWlc5ylWydPy4JPUZxit/5yg\nCRT+cmN1ioF469Ki8hzBlKmrDg8jkFUwFyD7B0fEfPP0gSZI3F6HqgCK2hzBTjuj\nZjddZyn2XxXlxLu57C83CNPP8fbsGW2CwolgmYvt+dJsdDnT7VKX5RS4cOPp/JGG\n7QdhzqVBoK0vZP6gHEAOPoqBVUWf8SmlVuAVGmDl8EjLnK8="}], + "vpnClientRevokedCertificates": [{"name": "ApplicationGatewayAuthCert", "thumbprint": + "ef6c937b5935e25941f2ea271d38f90dfdb20953"}], "aadAuthenticationParameters": + {}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-server-config create + Connection: + - keep-alive + Content-Length: + - '1468' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -n -g --vpn-client-root-certs --vpn-client-revoked-certs + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"clitestserverconfig\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig\",\r\n + \ \"etag\": \"W/\\\"4e3e4e32-958b-4410-abeb-9f79f26720c0\\\"\",\r\n \"type\": + \"Microsoft.Network/vpnServerConfigurations\",\r\n \"location\": \"westus\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \"vpnProtocols\": + [\r\n \"OpenVPN\",\r\n \"IkeV2\"\r\n ],\r\n \"vpnAuthenticationTypes\": + [\r\n \"Certificate\"\r\n ],\r\n \"vpnClientRootCertificates\": + [\r\n {\r\n \"name\": \"ApplicationGatewayAuthCert\",\r\n \"publicCertData\": + \"MIIDTzCCAjegAwIBAgIQj5oTlR6oyJ1NlX9Wb9aFyjANBgkqhkiG9w0BAQsFADAw\\nMS4wLAYDVQQDEyVBcHBsaWNhdGlvbkdhdGV3YXlTc2xDZXJ0LVVuaXRUZXN0LTAx\\nMB4XDTE2MDIxNzA3MDc1M1oXDTM5MTIzMTIzNTk1OVowMDEuMCwGA1UEAxMlQXBw\\nbGljYXRpb25HYXRld2F5U3NsQ2VydC1Vbml0VGVzdC0wMTCCASIwDQYJKoZIhvcN\\nAQEBBQADggEPADCCAQoCggEBANOUOFVmm+P4ht/qaiGZaiMzZSXwqGP8W/XWZRfJ\\nSc1mS6B4zBm8MtndmO9NbPUeGetk3E4jI0egP7NufuTAtfZY5nG9/gsZh8Hp4o+x\\n+6F1wCUtK5pQ5Fne4Vwg0Q9k1CgUfQfK0zEoanOTEylcyp1nVpoGc3v4FZ9pQr8/\\nxQ7+PSwgNpmGpU1gmgorDlXIO8jiKb+WfSoPAhHcavoPFg6DeGv30AK2m8ULFezO\\nqbprrozRxXaKzt8fBaDSP1XMakFaO6ffZU4uNgrehW4zMnpdgAjT5koymDKGAfl/\\n7+5QpLxSKc2478J+PvTwy/rfWKJLbEImoM7WE3imWgrHUNMCAwEAAaNlMGMwYQYD\\nVR0BBFowWIAQxDXqD2PYxSlriJ6HuzZ+b6EyMDAxLjAsBgNVBAMTJUFwcGxpY2F0\\naW9uR2F0ZXdheVNzbENlcnQtVW5pdFRlc3QtMDGCEI+aE5UeqMidTZV/Vm/Whcow\\nDQYJKoZIhvcNAQELBQADggEBADSC6PHkVYmoVOyyW2g7q3GG3MmXa43/HQNTM+pT\\n3HENAlhGg8T9EFrOQ/0QAoEQbrtsP8Isj5u2Bd4MOlYA180ExyfL/NFb7QpXq/pR\\nLbePMQAQicdSvk/9RyrNRBfNjT2KNlBp3RZtCkJjQWlc5ylWydPy4JPUZxit/5yg\\nCRT+cmN1ioF469Ki8hzBlKmrDg8jkFUwFyD7B0fEfPP0gSZI3F6HqgCK2hzBTjuj\\nZjddZyn2XxXlxLu57C83CNPP8fbsGW2CwolgmYvt+dJsdDnT7VKX5RS4cOPp/JGG\\n7QdhzqVBoK0vZP6gHEAOPoqBVUWf8SmlVuAVGmDl8EjLnK8=\"\r\n + \ }\r\n ],\r\n \"vpnClientRevokedCertificates\": [\r\n {\r\n + \ \"name\": \"ApplicationGatewayAuthCert\",\r\n \"thumbprint\": + \"ef6c937b5935e25941f2ea271d38f90dfdb20953\"\r\n }\r\n ],\r\n \"radiusServers\": + [],\r\n \"radiusServerRootCertificates\": [],\r\n \"radiusClientRootCertificates\": + [],\r\n \"aadAuthenticationParameters\": {},\r\n \"vpnClientIpsecPolicies\": + []\r\n }\r\n}" + headers: + azure-asyncnotification: + - Enabled + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/3a162e1b-9079-4a17-bbfa-44880c414d14?api-version=2020-04-01 + cache-control: + - no-cache + content-length: + - '2260' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 08:54:58 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - aa9b3ca3-8cae-4b38-8a4f-6dea95b45d3e + x-ms-ratelimit-remaining-subscription-writes: + - '1197' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-server-config create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vpn-client-root-certs --vpn-client-revoked-certs + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/3a162e1b-9079-4a17-bbfa-44880c414d14?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"Succeeded\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '29' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 08:55:09 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 75011d02-8c35-4bef-b870-da57673a29cb + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-server-config create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vpn-client-root-certs --vpn-client-revoked-certs + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"clitestserverconfig\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig\",\r\n + \ \"etag\": \"W/\\\"7eee1532-1817-4699-9a2f-d650833a0b6f\\\"\",\r\n \"type\": + \"Microsoft.Network/vpnServerConfigurations\",\r\n \"location\": \"westus\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"vpnProtocols\": + [\r\n \"OpenVPN\",\r\n \"IkeV2\"\r\n ],\r\n \"vpnAuthenticationTypes\": + [\r\n \"Certificate\"\r\n ],\r\n \"vpnClientRootCertificates\": + [\r\n {\r\n \"name\": \"ApplicationGatewayAuthCert\",\r\n \"publicCertData\": + \"MIIDTzCCAjegAwIBAgIQj5oTlR6oyJ1NlX9Wb9aFyjANBgkqhkiG9w0BAQsFADAw\\nMS4wLAYDVQQDEyVBcHBsaWNhdGlvbkdhdGV3YXlTc2xDZXJ0LVVuaXRUZXN0LTAx\\nMB4XDTE2MDIxNzA3MDc1M1oXDTM5MTIzMTIzNTk1OVowMDEuMCwGA1UEAxMlQXBw\\nbGljYXRpb25HYXRld2F5U3NsQ2VydC1Vbml0VGVzdC0wMTCCASIwDQYJKoZIhvcN\\nAQEBBQADggEPADCCAQoCggEBANOUOFVmm+P4ht/qaiGZaiMzZSXwqGP8W/XWZRfJ\\nSc1mS6B4zBm8MtndmO9NbPUeGetk3E4jI0egP7NufuTAtfZY5nG9/gsZh8Hp4o+x\\n+6F1wCUtK5pQ5Fne4Vwg0Q9k1CgUfQfK0zEoanOTEylcyp1nVpoGc3v4FZ9pQr8/\\nxQ7+PSwgNpmGpU1gmgorDlXIO8jiKb+WfSoPAhHcavoPFg6DeGv30AK2m8ULFezO\\nqbprrozRxXaKzt8fBaDSP1XMakFaO6ffZU4uNgrehW4zMnpdgAjT5koymDKGAfl/\\n7+5QpLxSKc2478J+PvTwy/rfWKJLbEImoM7WE3imWgrHUNMCAwEAAaNlMGMwYQYD\\nVR0BBFowWIAQxDXqD2PYxSlriJ6HuzZ+b6EyMDAxLjAsBgNVBAMTJUFwcGxpY2F0\\naW9uR2F0ZXdheVNzbENlcnQtVW5pdFRlc3QtMDGCEI+aE5UeqMidTZV/Vm/Whcow\\nDQYJKoZIhvcNAQELBQADggEBADSC6PHkVYmoVOyyW2g7q3GG3MmXa43/HQNTM+pT\\n3HENAlhGg8T9EFrOQ/0QAoEQbrtsP8Isj5u2Bd4MOlYA180ExyfL/NFb7QpXq/pR\\nLbePMQAQicdSvk/9RyrNRBfNjT2KNlBp3RZtCkJjQWlc5ylWydPy4JPUZxit/5yg\\nCRT+cmN1ioF469Ki8hzBlKmrDg8jkFUwFyD7B0fEfPP0gSZI3F6HqgCK2hzBTjuj\\nZjddZyn2XxXlxLu57C83CNPP8fbsGW2CwolgmYvt+dJsdDnT7VKX5RS4cOPp/JGG\\n7QdhzqVBoK0vZP6gHEAOPoqBVUWf8SmlVuAVGmDl8EjLnK8=\"\r\n + \ }\r\n ],\r\n \"vpnClientRevokedCertificates\": [\r\n {\r\n + \ \"name\": \"ApplicationGatewayAuthCert\",\r\n \"thumbprint\": + \"ef6c937b5935e25941f2ea271d38f90dfdb20953\"\r\n }\r\n ],\r\n \"radiusServers\": + [],\r\n \"radiusServerRootCertificates\": [],\r\n \"radiusClientRootCertificates\": + [],\r\n \"aadAuthenticationParameters\": {},\r\n \"vpnClientIpsecPolicies\": + []\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '2261' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 08:55:09 GMT + etag: + - W/"7eee1532-1817-4699-9a2f-d650833a0b6f" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - b72b07fb-ad52-48b3-b318-917f37cbc0c0 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-server-config create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vpn-client-root-certs --vpn-client-revoked-certs + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-resource/9.0.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_azure_vhub_connection000001?api-version=2019-07-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001","name":"cli_test_azure_vhub_connection000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2020-06-05T08:50:58Z","StorageType":"Standard_LRS","type":"test"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '471' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 08:55:11 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"location": "westus", "properties": {"vpnClientRootCertificates": [{"name": + "ApplicationGatewayAuthCert", "publicCertData": "MIIDTzCCAjegAwIBAgIQj5oTlR6oyJ1NlX9Wb9aFyjANBgkqhkiG9w0BAQsFADAw\nMS4wLAYDVQQDEyVBcHBsaWNhdGlvbkdhdGV3YXlTc2xDZXJ0LVVuaXRUZXN0LTAx\nMB4XDTE2MDIxNzA3MDc1M1oXDTM5MTIzMTIzNTk1OVowMDEuMCwGA1UEAxMlQXBw\nbGljYXRpb25HYXRld2F5U3NsQ2VydC1Vbml0VGVzdC0wMTCCASIwDQYJKoZIhvcN\nAQEBBQADggEPADCCAQoCggEBANOUOFVmm+P4ht/qaiGZaiMzZSXwqGP8W/XWZRfJ\nSc1mS6B4zBm8MtndmO9NbPUeGetk3E4jI0egP7NufuTAtfZY5nG9/gsZh8Hp4o+x\n+6F1wCUtK5pQ5Fne4Vwg0Q9k1CgUfQfK0zEoanOTEylcyp1nVpoGc3v4FZ9pQr8/\nxQ7+PSwgNpmGpU1gmgorDlXIO8jiKb+WfSoPAhHcavoPFg6DeGv30AK2m8ULFezO\nqbprrozRxXaKzt8fBaDSP1XMakFaO6ffZU4uNgrehW4zMnpdgAjT5koymDKGAfl/\n7+5QpLxSKc2478J+PvTwy/rfWKJLbEImoM7WE3imWgrHUNMCAwEAAaNlMGMwYQYD\nVR0BBFowWIAQxDXqD2PYxSlriJ6HuzZ+b6EyMDAxLjAsBgNVBAMTJUFwcGxpY2F0\naW9uR2F0ZXdheVNzbENlcnQtVW5pdFRlc3QtMDGCEI+aE5UeqMidTZV/Vm/Whcow\nDQYJKoZIhvcNAQELBQADggEBADSC6PHkVYmoVOyyW2g7q3GG3MmXa43/HQNTM+pT\n3HENAlhGg8T9EFrOQ/0QAoEQbrtsP8Isj5u2Bd4MOlYA180ExyfL/NFb7QpXq/pR\nLbePMQAQicdSvk/9RyrNRBfNjT2KNlBp3RZtCkJjQWlc5ylWydPy4JPUZxit/5yg\nCRT+cmN1ioF469Ki8hzBlKmrDg8jkFUwFyD7B0fEfPP0gSZI3F6HqgCK2hzBTjuj\nZjddZyn2XxXlxLu57C83CNPP8fbsGW2CwolgmYvt+dJsdDnT7VKX5RS4cOPp/JGG\n7QdhzqVBoK0vZP6gHEAOPoqBVUWf8SmlVuAVGmDl8EjLnK8="}], + "vpnClientRevokedCertificates": [{"name": "ApplicationGatewayAuthCert", "thumbprint": + "ef6c937b5935e25941f2ea271d38f90dfdb20953"}], "aadAuthenticationParameters": + {}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-server-config create + Connection: + - keep-alive + Content-Length: + - '1468' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -n -g --vpn-client-root-certs --vpn-client-revoked-certs + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig2?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"clitestserverconfig2\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig2\",\r\n + \ \"etag\": \"W/\\\"d7713567-4715-4330-8587-5e91ca6532f7\\\"\",\r\n \"type\": + \"Microsoft.Network/vpnServerConfigurations\",\r\n \"location\": \"westus\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \"vpnProtocols\": + [\r\n \"OpenVPN\",\r\n \"IkeV2\"\r\n ],\r\n \"vpnAuthenticationTypes\": + [\r\n \"Certificate\"\r\n ],\r\n \"vpnClientRootCertificates\": + [\r\n {\r\n \"name\": \"ApplicationGatewayAuthCert\",\r\n \"publicCertData\": + \"MIIDTzCCAjegAwIBAgIQj5oTlR6oyJ1NlX9Wb9aFyjANBgkqhkiG9w0BAQsFADAw\\nMS4wLAYDVQQDEyVBcHBsaWNhdGlvbkdhdGV3YXlTc2xDZXJ0LVVuaXRUZXN0LTAx\\nMB4XDTE2MDIxNzA3MDc1M1oXDTM5MTIzMTIzNTk1OVowMDEuMCwGA1UEAxMlQXBw\\nbGljYXRpb25HYXRld2F5U3NsQ2VydC1Vbml0VGVzdC0wMTCCASIwDQYJKoZIhvcN\\nAQEBBQADggEPADCCAQoCggEBANOUOFVmm+P4ht/qaiGZaiMzZSXwqGP8W/XWZRfJ\\nSc1mS6B4zBm8MtndmO9NbPUeGetk3E4jI0egP7NufuTAtfZY5nG9/gsZh8Hp4o+x\\n+6F1wCUtK5pQ5Fne4Vwg0Q9k1CgUfQfK0zEoanOTEylcyp1nVpoGc3v4FZ9pQr8/\\nxQ7+PSwgNpmGpU1gmgorDlXIO8jiKb+WfSoPAhHcavoPFg6DeGv30AK2m8ULFezO\\nqbprrozRxXaKzt8fBaDSP1XMakFaO6ffZU4uNgrehW4zMnpdgAjT5koymDKGAfl/\\n7+5QpLxSKc2478J+PvTwy/rfWKJLbEImoM7WE3imWgrHUNMCAwEAAaNlMGMwYQYD\\nVR0BBFowWIAQxDXqD2PYxSlriJ6HuzZ+b6EyMDAxLjAsBgNVBAMTJUFwcGxpY2F0\\naW9uR2F0ZXdheVNzbENlcnQtVW5pdFRlc3QtMDGCEI+aE5UeqMidTZV/Vm/Whcow\\nDQYJKoZIhvcNAQELBQADggEBADSC6PHkVYmoVOyyW2g7q3GG3MmXa43/HQNTM+pT\\n3HENAlhGg8T9EFrOQ/0QAoEQbrtsP8Isj5u2Bd4MOlYA180ExyfL/NFb7QpXq/pR\\nLbePMQAQicdSvk/9RyrNRBfNjT2KNlBp3RZtCkJjQWlc5ylWydPy4JPUZxit/5yg\\nCRT+cmN1ioF469Ki8hzBlKmrDg8jkFUwFyD7B0fEfPP0gSZI3F6HqgCK2hzBTjuj\\nZjddZyn2XxXlxLu57C83CNPP8fbsGW2CwolgmYvt+dJsdDnT7VKX5RS4cOPp/JGG\\n7QdhzqVBoK0vZP6gHEAOPoqBVUWf8SmlVuAVGmDl8EjLnK8=\"\r\n + \ }\r\n ],\r\n \"vpnClientRevokedCertificates\": [\r\n {\r\n + \ \"name\": \"ApplicationGatewayAuthCert\",\r\n \"thumbprint\": + \"ef6c937b5935e25941f2ea271d38f90dfdb20953\"\r\n }\r\n ],\r\n \"radiusServers\": + [],\r\n \"radiusServerRootCertificates\": [],\r\n \"radiusClientRootCertificates\": + [],\r\n \"aadAuthenticationParameters\": {},\r\n \"vpnClientIpsecPolicies\": + []\r\n }\r\n}" + headers: + azure-asyncnotification: + - Enabled + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/e4df31d1-8398-4895-92cc-8368e9b9d243?api-version=2020-04-01 + cache-control: + - no-cache + content-length: + - '2262' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 08:55:13 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 9a2b8cbb-9984-4133-99eb-d228400b165e + x-ms-ratelimit-remaining-subscription-writes: + - '1196' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-server-config create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vpn-client-root-certs --vpn-client-revoked-certs + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/e4df31d1-8398-4895-92cc-8368e9b9d243?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"Succeeded\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '29' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 08:55:24 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 8f4bbb46-08e7-4b68-b6e1-f159006d08f5 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-server-config create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vpn-client-root-certs --vpn-client-revoked-certs + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig2?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"clitestserverconfig2\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig2\",\r\n + \ \"etag\": \"W/\\\"8fe654ef-4e18-46df-bf82-6f3a6b80683e\\\"\",\r\n \"type\": + \"Microsoft.Network/vpnServerConfigurations\",\r\n \"location\": \"westus\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"vpnProtocols\": + [\r\n \"OpenVPN\",\r\n \"IkeV2\"\r\n ],\r\n \"vpnAuthenticationTypes\": + [\r\n \"Certificate\"\r\n ],\r\n \"vpnClientRootCertificates\": + [\r\n {\r\n \"name\": \"ApplicationGatewayAuthCert\",\r\n \"publicCertData\": + \"MIIDTzCCAjegAwIBAgIQj5oTlR6oyJ1NlX9Wb9aFyjANBgkqhkiG9w0BAQsFADAw\\nMS4wLAYDVQQDEyVBcHBsaWNhdGlvbkdhdGV3YXlTc2xDZXJ0LVVuaXRUZXN0LTAx\\nMB4XDTE2MDIxNzA3MDc1M1oXDTM5MTIzMTIzNTk1OVowMDEuMCwGA1UEAxMlQXBw\\nbGljYXRpb25HYXRld2F5U3NsQ2VydC1Vbml0VGVzdC0wMTCCASIwDQYJKoZIhvcN\\nAQEBBQADggEPADCCAQoCggEBANOUOFVmm+P4ht/qaiGZaiMzZSXwqGP8W/XWZRfJ\\nSc1mS6B4zBm8MtndmO9NbPUeGetk3E4jI0egP7NufuTAtfZY5nG9/gsZh8Hp4o+x\\n+6F1wCUtK5pQ5Fne4Vwg0Q9k1CgUfQfK0zEoanOTEylcyp1nVpoGc3v4FZ9pQr8/\\nxQ7+PSwgNpmGpU1gmgorDlXIO8jiKb+WfSoPAhHcavoPFg6DeGv30AK2m8ULFezO\\nqbprrozRxXaKzt8fBaDSP1XMakFaO6ffZU4uNgrehW4zMnpdgAjT5koymDKGAfl/\\n7+5QpLxSKc2478J+PvTwy/rfWKJLbEImoM7WE3imWgrHUNMCAwEAAaNlMGMwYQYD\\nVR0BBFowWIAQxDXqD2PYxSlriJ6HuzZ+b6EyMDAxLjAsBgNVBAMTJUFwcGxpY2F0\\naW9uR2F0ZXdheVNzbENlcnQtVW5pdFRlc3QtMDGCEI+aE5UeqMidTZV/Vm/Whcow\\nDQYJKoZIhvcNAQELBQADggEBADSC6PHkVYmoVOyyW2g7q3GG3MmXa43/HQNTM+pT\\n3HENAlhGg8T9EFrOQ/0QAoEQbrtsP8Isj5u2Bd4MOlYA180ExyfL/NFb7QpXq/pR\\nLbePMQAQicdSvk/9RyrNRBfNjT2KNlBp3RZtCkJjQWlc5ylWydPy4JPUZxit/5yg\\nCRT+cmN1ioF469Ki8hzBlKmrDg8jkFUwFyD7B0fEfPP0gSZI3F6HqgCK2hzBTjuj\\nZjddZyn2XxXlxLu57C83CNPP8fbsGW2CwolgmYvt+dJsdDnT7VKX5RS4cOPp/JGG\\n7QdhzqVBoK0vZP6gHEAOPoqBVUWf8SmlVuAVGmDl8EjLnK8=\"\r\n + \ }\r\n ],\r\n \"vpnClientRevokedCertificates\": [\r\n {\r\n + \ \"name\": \"ApplicationGatewayAuthCert\",\r\n \"thumbprint\": + \"ef6c937b5935e25941f2ea271d38f90dfdb20953\"\r\n }\r\n ],\r\n \"radiusServers\": + [],\r\n \"radiusServerRootCertificates\": [],\r\n \"radiusClientRootCertificates\": + [],\r\n \"aadAuthenticationParameters\": {},\r\n \"vpnClientIpsecPolicies\": + []\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '2263' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 08:55:25 GMT + etag: + - W/"8fe654ef-4e18-46df-bf82-6f3a6b80683e" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - cab4391c-f443-439c-a1a6-019c72425d6d + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vhub --vpn-server-config --address-space --no-wait + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-resource/9.0.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_azure_vhub_connection000001?api-version=2019-07-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001","name":"cli_test_azure_vhub_connection000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2020-06-05T08:50:58Z","StorageType":"Standard_LRS","type":"test"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '471' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 08:55:26 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: 'b''{"location": "westus", "properties": {"virtualHub": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub"}, + "p2SConnectionConfigurations": [{"properties": {"vpnClientAddressPool": {"addressPrefixes": + ["10.0.0.0/24", "11.0.0.0/24"]}}, "name": "P2SConnectionConfigDefault"}], "vpnGatewayScaleUnit": + 2, "vpnServerConfiguration": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig"}}}''' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway create + Connection: + - keep-alive + Content-Length: + - '702' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -g -n --scale-unit --vhub --vpn-server-config --address-space --no-wait + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2svpnGateways/clitestvp2sgateway?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"clitestvp2sgateway\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n \"type\": + \"Microsoft.Network/p2sVpnGateways\",\r\n \"location\": \"westus\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Updating\",\r\n \"virtualHub\": {\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub\"\r\n + \ },\r\n \"vpnServerConfiguration\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig\"\r\n + \ },\r\n \"vpnServerConfigurationLocation\": \"westus\",\r\n \"p2SConnectionConfigurations\": + [\r\n {\r\n \"name\": \"P2SConnectionConfigDefault\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway/p2sConnectionConfigurations/P2SConnectionConfigDefault\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n + \ \"type\": \"Microsoft.Network/p2sVpnGateways/p2sConnectionConfigurations\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"routingConfiguration\": {\r\n \"propagatedRouteTables\": + {\r\n \"labels\": [],\r\n \"ids\": []\r\n },\r\n + \ \"vnetRoutes\": {\r\n \"staticRoutes\": []\r\n }\r\n + \ },\r\n \"vpnClientAddressPool\": {\r\n \"addressPrefixes\": + [\r\n \"10.0.0.0/24\",\r\n \"11.0.0.0/24\"\r\n ]\r\n + \ },\r\n \"enableInternetSecurity\": false\r\n }\r\n + \ }\r\n ],\r\n \"vpnGatewayScaleUnit\": 2,\r\n \"customDnsServers\": + []\r\n }\r\n}" + headers: + azure-asyncnotification: + - Enabled + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/d73b8505-fbd2-4262-be0c-fcc0639a39bb?api-version=2020-04-01 + cache-control: + - no-cache + content-length: + - '2117' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 08:55:30 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 9d6eac88-abc6-42dc-aa4e-7022999386a9 + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway wait + Connection: + - keep-alive + ParameterSetName: + - -g -n --created + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2svpnGateways/clitestvp2sgateway?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"clitestvp2sgateway\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n \"type\": + \"Microsoft.Network/p2sVpnGateways\",\r\n \"location\": \"westus\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Updating\",\r\n \"virtualHub\": {\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub\"\r\n + \ },\r\n \"vpnServerConfiguration\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig\"\r\n + \ },\r\n \"vpnServerConfigurationLocation\": \"westus\",\r\n \"p2SConnectionConfigurations\": + [\r\n {\r\n \"name\": \"P2SConnectionConfigDefault\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway/p2sConnectionConfigurations/P2SConnectionConfigDefault\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n + \ \"type\": \"Microsoft.Network/p2sVpnGateways/p2sConnectionConfigurations\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"routingConfiguration\": {\r\n \"propagatedRouteTables\": + {\r\n \"labels\": [],\r\n \"ids\": []\r\n },\r\n + \ \"vnetRoutes\": {\r\n \"staticRoutes\": []\r\n }\r\n + \ },\r\n \"vpnClientAddressPool\": {\r\n \"addressPrefixes\": + [\r\n \"10.0.0.0/24\",\r\n \"11.0.0.0/24\"\r\n ]\r\n + \ },\r\n \"enableInternetSecurity\": false\r\n }\r\n + \ }\r\n ],\r\n \"vpnGatewayScaleUnit\": 2,\r\n \"customDnsServers\": + []\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '2117' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 08:55:31 GMT + etag: + - W/"3a663d10-ecf7-4131-92f3-fd38571253d1" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - a6c9e3d8-ca3d-4318-9f53-217b520b73ee + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway wait + Connection: + - keep-alive + ParameterSetName: + - -g -n --created + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2svpnGateways/clitestvp2sgateway?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"clitestvp2sgateway\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n \"type\": + \"Microsoft.Network/p2sVpnGateways\",\r\n \"location\": \"westus\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Updating\",\r\n \"virtualHub\": {\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub\"\r\n + \ },\r\n \"vpnServerConfiguration\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig\"\r\n + \ },\r\n \"vpnServerConfigurationLocation\": \"westus\",\r\n \"p2SConnectionConfigurations\": + [\r\n {\r\n \"name\": \"P2SConnectionConfigDefault\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway/p2sConnectionConfigurations/P2SConnectionConfigDefault\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n + \ \"type\": \"Microsoft.Network/p2sVpnGateways/p2sConnectionConfigurations\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"routingConfiguration\": {\r\n \"propagatedRouteTables\": + {\r\n \"labels\": [],\r\n \"ids\": []\r\n },\r\n + \ \"vnetRoutes\": {\r\n \"staticRoutes\": []\r\n }\r\n + \ },\r\n \"vpnClientAddressPool\": {\r\n \"addressPrefixes\": + [\r\n \"10.0.0.0/24\",\r\n \"11.0.0.0/24\"\r\n ]\r\n + \ },\r\n \"enableInternetSecurity\": false\r\n }\r\n + \ }\r\n ],\r\n \"vpnGatewayScaleUnit\": 2,\r\n \"customDnsServers\": + []\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '2117' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 08:56:01 GMT + etag: + - W/"3a663d10-ecf7-4131-92f3-fd38571253d1" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 7ed75412-13b3-4c8a-8578-78efc0bd8bda + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway wait + Connection: + - keep-alive + ParameterSetName: + - -g -n --created + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2svpnGateways/clitestvp2sgateway?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"clitestvp2sgateway\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n \"type\": + \"Microsoft.Network/p2sVpnGateways\",\r\n \"location\": \"westus\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Updating\",\r\n \"virtualHub\": {\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub\"\r\n + \ },\r\n \"vpnServerConfiguration\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig\"\r\n + \ },\r\n \"vpnServerConfigurationLocation\": \"westus\",\r\n \"p2SConnectionConfigurations\": + [\r\n {\r\n \"name\": \"P2SConnectionConfigDefault\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway/p2sConnectionConfigurations/P2SConnectionConfigDefault\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n + \ \"type\": \"Microsoft.Network/p2sVpnGateways/p2sConnectionConfigurations\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"routingConfiguration\": {\r\n \"propagatedRouteTables\": + {\r\n \"labels\": [],\r\n \"ids\": []\r\n },\r\n + \ \"vnetRoutes\": {\r\n \"staticRoutes\": []\r\n }\r\n + \ },\r\n \"vpnClientAddressPool\": {\r\n \"addressPrefixes\": + [\r\n \"10.0.0.0/24\",\r\n \"11.0.0.0/24\"\r\n ]\r\n + \ },\r\n \"enableInternetSecurity\": false\r\n }\r\n + \ }\r\n ],\r\n \"vpnGatewayScaleUnit\": 2,\r\n \"customDnsServers\": + []\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '2117' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 08:56:32 GMT + etag: + - W/"3a663d10-ecf7-4131-92f3-fd38571253d1" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - cb603b1d-3ec0-40d3-a2a8-648c775f81b2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway wait + Connection: + - keep-alive + ParameterSetName: + - -g -n --created + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2svpnGateways/clitestvp2sgateway?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"clitestvp2sgateway\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n \"type\": + \"Microsoft.Network/p2sVpnGateways\",\r\n \"location\": \"westus\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Updating\",\r\n \"virtualHub\": {\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub\"\r\n + \ },\r\n \"vpnServerConfiguration\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig\"\r\n + \ },\r\n \"vpnServerConfigurationLocation\": \"westus\",\r\n \"p2SConnectionConfigurations\": + [\r\n {\r\n \"name\": \"P2SConnectionConfigDefault\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway/p2sConnectionConfigurations/P2SConnectionConfigDefault\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n + \ \"type\": \"Microsoft.Network/p2sVpnGateways/p2sConnectionConfigurations\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"routingConfiguration\": {\r\n \"propagatedRouteTables\": + {\r\n \"labels\": [],\r\n \"ids\": []\r\n },\r\n + \ \"vnetRoutes\": {\r\n \"staticRoutes\": []\r\n }\r\n + \ },\r\n \"vpnClientAddressPool\": {\r\n \"addressPrefixes\": + [\r\n \"10.0.0.0/24\",\r\n \"11.0.0.0/24\"\r\n ]\r\n + \ },\r\n \"enableInternetSecurity\": false\r\n }\r\n + \ }\r\n ],\r\n \"vpnGatewayScaleUnit\": 2,\r\n \"customDnsServers\": + []\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '2117' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 08:57:02 GMT + etag: + - W/"3a663d10-ecf7-4131-92f3-fd38571253d1" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 13403989-fbf5-453d-8f73-2441a5c8ab82 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway wait + Connection: + - keep-alive + ParameterSetName: + - -g -n --created + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2svpnGateways/clitestvp2sgateway?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"clitestvp2sgateway\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n \"type\": + \"Microsoft.Network/p2sVpnGateways\",\r\n \"location\": \"westus\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Updating\",\r\n \"virtualHub\": {\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub\"\r\n + \ },\r\n \"vpnServerConfiguration\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig\"\r\n + \ },\r\n \"vpnServerConfigurationLocation\": \"westus\",\r\n \"p2SConnectionConfigurations\": + [\r\n {\r\n \"name\": \"P2SConnectionConfigDefault\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway/p2sConnectionConfigurations/P2SConnectionConfigDefault\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n + \ \"type\": \"Microsoft.Network/p2sVpnGateways/p2sConnectionConfigurations\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"routingConfiguration\": {\r\n \"propagatedRouteTables\": + {\r\n \"labels\": [],\r\n \"ids\": []\r\n },\r\n + \ \"vnetRoutes\": {\r\n \"staticRoutes\": []\r\n }\r\n + \ },\r\n \"vpnClientAddressPool\": {\r\n \"addressPrefixes\": + [\r\n \"10.0.0.0/24\",\r\n \"11.0.0.0/24\"\r\n ]\r\n + \ },\r\n \"enableInternetSecurity\": false\r\n }\r\n + \ }\r\n ],\r\n \"vpnGatewayScaleUnit\": 2,\r\n \"customDnsServers\": + []\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '2117' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 08:57:33 GMT + etag: + - W/"3a663d10-ecf7-4131-92f3-fd38571253d1" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - d2ecd5c9-d42d-4f57-877e-ab8a10a740cc + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway wait + Connection: + - keep-alive + ParameterSetName: + - -g -n --created + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2svpnGateways/clitestvp2sgateway?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"clitestvp2sgateway\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n \"type\": + \"Microsoft.Network/p2sVpnGateways\",\r\n \"location\": \"westus\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Updating\",\r\n \"virtualHub\": {\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub\"\r\n + \ },\r\n \"vpnServerConfiguration\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig\"\r\n + \ },\r\n \"vpnServerConfigurationLocation\": \"westus\",\r\n \"p2SConnectionConfigurations\": + [\r\n {\r\n \"name\": \"P2SConnectionConfigDefault\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway/p2sConnectionConfigurations/P2SConnectionConfigDefault\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n + \ \"type\": \"Microsoft.Network/p2sVpnGateways/p2sConnectionConfigurations\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"routingConfiguration\": {\r\n \"propagatedRouteTables\": + {\r\n \"labels\": [],\r\n \"ids\": []\r\n },\r\n + \ \"vnetRoutes\": {\r\n \"staticRoutes\": []\r\n }\r\n + \ },\r\n \"vpnClientAddressPool\": {\r\n \"addressPrefixes\": + [\r\n \"10.0.0.0/24\",\r\n \"11.0.0.0/24\"\r\n ]\r\n + \ },\r\n \"enableInternetSecurity\": false\r\n }\r\n + \ }\r\n ],\r\n \"vpnGatewayScaleUnit\": 2,\r\n \"customDnsServers\": + []\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '2117' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 08:58:03 GMT + etag: + - W/"3a663d10-ecf7-4131-92f3-fd38571253d1" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - d7cf128e-9dd2-435e-b17d-e7139aa5f3d4 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway wait + Connection: + - keep-alive + ParameterSetName: + - -g -n --created + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2svpnGateways/clitestvp2sgateway?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"clitestvp2sgateway\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n \"type\": + \"Microsoft.Network/p2sVpnGateways\",\r\n \"location\": \"westus\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Updating\",\r\n \"virtualHub\": {\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub\"\r\n + \ },\r\n \"vpnServerConfiguration\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig\"\r\n + \ },\r\n \"vpnServerConfigurationLocation\": \"westus\",\r\n \"p2SConnectionConfigurations\": + [\r\n {\r\n \"name\": \"P2SConnectionConfigDefault\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway/p2sConnectionConfigurations/P2SConnectionConfigDefault\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n + \ \"type\": \"Microsoft.Network/p2sVpnGateways/p2sConnectionConfigurations\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"routingConfiguration\": {\r\n \"propagatedRouteTables\": + {\r\n \"labels\": [],\r\n \"ids\": []\r\n },\r\n + \ \"vnetRoutes\": {\r\n \"staticRoutes\": []\r\n }\r\n + \ },\r\n \"vpnClientAddressPool\": {\r\n \"addressPrefixes\": + [\r\n \"10.0.0.0/24\",\r\n \"11.0.0.0/24\"\r\n ]\r\n + \ },\r\n \"enableInternetSecurity\": false\r\n }\r\n + \ }\r\n ],\r\n \"vpnGatewayScaleUnit\": 2,\r\n \"customDnsServers\": + []\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '2117' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 08:58:33 GMT + etag: + - W/"3a663d10-ecf7-4131-92f3-fd38571253d1" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 627a1760-7bee-47b7-ba35-cec40a617224 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway wait + Connection: + - keep-alive + ParameterSetName: + - -g -n --created + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2svpnGateways/clitestvp2sgateway?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"clitestvp2sgateway\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n \"type\": + \"Microsoft.Network/p2sVpnGateways\",\r\n \"location\": \"westus\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Updating\",\r\n \"virtualHub\": {\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub\"\r\n + \ },\r\n \"vpnServerConfiguration\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig\"\r\n + \ },\r\n \"vpnServerConfigurationLocation\": \"westus\",\r\n \"p2SConnectionConfigurations\": + [\r\n {\r\n \"name\": \"P2SConnectionConfigDefault\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway/p2sConnectionConfigurations/P2SConnectionConfigDefault\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n + \ \"type\": \"Microsoft.Network/p2sVpnGateways/p2sConnectionConfigurations\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"routingConfiguration\": {\r\n \"propagatedRouteTables\": + {\r\n \"labels\": [],\r\n \"ids\": []\r\n },\r\n + \ \"vnetRoutes\": {\r\n \"staticRoutes\": []\r\n }\r\n + \ },\r\n \"vpnClientAddressPool\": {\r\n \"addressPrefixes\": + [\r\n \"10.0.0.0/24\",\r\n \"11.0.0.0/24\"\r\n ]\r\n + \ },\r\n \"enableInternetSecurity\": false\r\n }\r\n + \ }\r\n ],\r\n \"vpnGatewayScaleUnit\": 2,\r\n \"customDnsServers\": + []\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '2117' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 08:59:03 GMT + etag: + - W/"3a663d10-ecf7-4131-92f3-fd38571253d1" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 6eac7ba9-295b-470e-aaf0-7462df8226c3 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway wait + Connection: + - keep-alive + ParameterSetName: + - -g -n --created + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2svpnGateways/clitestvp2sgateway?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"clitestvp2sgateway\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n \"type\": + \"Microsoft.Network/p2sVpnGateways\",\r\n \"location\": \"westus\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Updating\",\r\n \"virtualHub\": {\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub\"\r\n + \ },\r\n \"vpnServerConfiguration\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig\"\r\n + \ },\r\n \"vpnServerConfigurationLocation\": \"westus\",\r\n \"p2SConnectionConfigurations\": + [\r\n {\r\n \"name\": \"P2SConnectionConfigDefault\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway/p2sConnectionConfigurations/P2SConnectionConfigDefault\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n + \ \"type\": \"Microsoft.Network/p2sVpnGateways/p2sConnectionConfigurations\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"routingConfiguration\": {\r\n \"propagatedRouteTables\": + {\r\n \"labels\": [],\r\n \"ids\": []\r\n },\r\n + \ \"vnetRoutes\": {\r\n \"staticRoutes\": []\r\n }\r\n + \ },\r\n \"vpnClientAddressPool\": {\r\n \"addressPrefixes\": + [\r\n \"10.0.0.0/24\",\r\n \"11.0.0.0/24\"\r\n ]\r\n + \ },\r\n \"enableInternetSecurity\": false\r\n }\r\n + \ }\r\n ],\r\n \"vpnGatewayScaleUnit\": 2,\r\n \"customDnsServers\": + []\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '2117' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 08:59:34 GMT + etag: + - W/"3a663d10-ecf7-4131-92f3-fd38571253d1" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 44c9a445-b360-4729-a0f2-44e6b3eedfa8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway wait + Connection: + - keep-alive + ParameterSetName: + - -g -n --created + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2svpnGateways/clitestvp2sgateway?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"clitestvp2sgateway\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n \"type\": + \"Microsoft.Network/p2sVpnGateways\",\r\n \"location\": \"westus\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Updating\",\r\n \"virtualHub\": {\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub\"\r\n + \ },\r\n \"vpnServerConfiguration\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig\"\r\n + \ },\r\n \"vpnServerConfigurationLocation\": \"westus\",\r\n \"p2SConnectionConfigurations\": + [\r\n {\r\n \"name\": \"P2SConnectionConfigDefault\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway/p2sConnectionConfigurations/P2SConnectionConfigDefault\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n + \ \"type\": \"Microsoft.Network/p2sVpnGateways/p2sConnectionConfigurations\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"routingConfiguration\": {\r\n \"propagatedRouteTables\": + {\r\n \"labels\": [],\r\n \"ids\": []\r\n },\r\n + \ \"vnetRoutes\": {\r\n \"staticRoutes\": []\r\n }\r\n + \ },\r\n \"vpnClientAddressPool\": {\r\n \"addressPrefixes\": + [\r\n \"10.0.0.0/24\",\r\n \"11.0.0.0/24\"\r\n ]\r\n + \ },\r\n \"enableInternetSecurity\": false\r\n }\r\n + \ }\r\n ],\r\n \"vpnGatewayScaleUnit\": 2,\r\n \"customDnsServers\": + []\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '2117' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:00:05 GMT + etag: + - W/"3a663d10-ecf7-4131-92f3-fd38571253d1" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 1c44b4f6-db01-4789-8206-288687c79554 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway wait + Connection: + - keep-alive + ParameterSetName: + - -g -n --created + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2svpnGateways/clitestvp2sgateway?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"clitestvp2sgateway\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n \"type\": + \"Microsoft.Network/p2sVpnGateways\",\r\n \"location\": \"westus\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Updating\",\r\n \"virtualHub\": {\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub\"\r\n + \ },\r\n \"vpnServerConfiguration\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig\"\r\n + \ },\r\n \"vpnServerConfigurationLocation\": \"westus\",\r\n \"p2SConnectionConfigurations\": + [\r\n {\r\n \"name\": \"P2SConnectionConfigDefault\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway/p2sConnectionConfigurations/P2SConnectionConfigDefault\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n + \ \"type\": \"Microsoft.Network/p2sVpnGateways/p2sConnectionConfigurations\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"routingConfiguration\": {\r\n \"propagatedRouteTables\": + {\r\n \"labels\": [],\r\n \"ids\": []\r\n },\r\n + \ \"vnetRoutes\": {\r\n \"staticRoutes\": []\r\n }\r\n + \ },\r\n \"vpnClientAddressPool\": {\r\n \"addressPrefixes\": + [\r\n \"10.0.0.0/24\",\r\n \"11.0.0.0/24\"\r\n ]\r\n + \ },\r\n \"enableInternetSecurity\": false\r\n }\r\n + \ }\r\n ],\r\n \"vpnGatewayScaleUnit\": 2,\r\n \"customDnsServers\": + []\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '2117' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:00:35 GMT + etag: + - W/"3a663d10-ecf7-4131-92f3-fd38571253d1" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - c94f166b-4293-4de9-a8e0-5b82c92e720a + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway wait + Connection: + - keep-alive + ParameterSetName: + - -g -n --created + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2svpnGateways/clitestvp2sgateway?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"clitestvp2sgateway\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n \"type\": + \"Microsoft.Network/p2sVpnGateways\",\r\n \"location\": \"westus\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Updating\",\r\n \"virtualHub\": {\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub\"\r\n + \ },\r\n \"vpnServerConfiguration\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig\"\r\n + \ },\r\n \"vpnServerConfigurationLocation\": \"westus\",\r\n \"p2SConnectionConfigurations\": + [\r\n {\r\n \"name\": \"P2SConnectionConfigDefault\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway/p2sConnectionConfigurations/P2SConnectionConfigDefault\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n + \ \"type\": \"Microsoft.Network/p2sVpnGateways/p2sConnectionConfigurations\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"routingConfiguration\": {\r\n \"propagatedRouteTables\": + {\r\n \"labels\": [],\r\n \"ids\": []\r\n },\r\n + \ \"vnetRoutes\": {\r\n \"staticRoutes\": []\r\n }\r\n + \ },\r\n \"vpnClientAddressPool\": {\r\n \"addressPrefixes\": + [\r\n \"10.0.0.0/24\",\r\n \"11.0.0.0/24\"\r\n ]\r\n + \ },\r\n \"enableInternetSecurity\": false\r\n }\r\n + \ }\r\n ],\r\n \"vpnGatewayScaleUnit\": 2,\r\n \"customDnsServers\": + []\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '2117' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:01:05 GMT + etag: + - W/"3a663d10-ecf7-4131-92f3-fd38571253d1" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - c74da4a1-c16f-4da8-a227-736f86cc5d6d + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway wait + Connection: + - keep-alive + ParameterSetName: + - -g -n --created + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2svpnGateways/clitestvp2sgateway?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"clitestvp2sgateway\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n \"type\": + \"Microsoft.Network/p2sVpnGateways\",\r\n \"location\": \"westus\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Updating\",\r\n \"virtualHub\": {\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub\"\r\n + \ },\r\n \"vpnServerConfiguration\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig\"\r\n + \ },\r\n \"vpnServerConfigurationLocation\": \"westus\",\r\n \"p2SConnectionConfigurations\": + [\r\n {\r\n \"name\": \"P2SConnectionConfigDefault\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway/p2sConnectionConfigurations/P2SConnectionConfigDefault\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n + \ \"type\": \"Microsoft.Network/p2sVpnGateways/p2sConnectionConfigurations\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"routingConfiguration\": {\r\n \"propagatedRouteTables\": + {\r\n \"labels\": [],\r\n \"ids\": []\r\n },\r\n + \ \"vnetRoutes\": {\r\n \"staticRoutes\": []\r\n }\r\n + \ },\r\n \"vpnClientAddressPool\": {\r\n \"addressPrefixes\": + [\r\n \"10.0.0.0/24\",\r\n \"11.0.0.0/24\"\r\n ]\r\n + \ },\r\n \"enableInternetSecurity\": false\r\n }\r\n + \ }\r\n ],\r\n \"vpnGatewayScaleUnit\": 2,\r\n \"customDnsServers\": + []\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '2117' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:01:36 GMT + etag: + - W/"3a663d10-ecf7-4131-92f3-fd38571253d1" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - e6a950e9-759e-4490-bec1-02c47e6fa5ff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway wait + Connection: + - keep-alive + ParameterSetName: + - -g -n --created + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2svpnGateways/clitestvp2sgateway?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"clitestvp2sgateway\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n \"type\": + \"Microsoft.Network/p2sVpnGateways\",\r\n \"location\": \"westus\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Updating\",\r\n \"virtualHub\": {\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub\"\r\n + \ },\r\n \"vpnServerConfiguration\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig\"\r\n + \ },\r\n \"vpnServerConfigurationLocation\": \"westus\",\r\n \"p2SConnectionConfigurations\": + [\r\n {\r\n \"name\": \"P2SConnectionConfigDefault\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway/p2sConnectionConfigurations/P2SConnectionConfigDefault\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n + \ \"type\": \"Microsoft.Network/p2sVpnGateways/p2sConnectionConfigurations\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"routingConfiguration\": {\r\n \"propagatedRouteTables\": + {\r\n \"labels\": [],\r\n \"ids\": []\r\n },\r\n + \ \"vnetRoutes\": {\r\n \"staticRoutes\": []\r\n }\r\n + \ },\r\n \"vpnClientAddressPool\": {\r\n \"addressPrefixes\": + [\r\n \"10.0.0.0/24\",\r\n \"11.0.0.0/24\"\r\n ]\r\n + \ },\r\n \"enableInternetSecurity\": false\r\n }\r\n + \ }\r\n ],\r\n \"vpnGatewayScaleUnit\": 2,\r\n \"customDnsServers\": + []\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '2117' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:02:06 GMT + etag: + - W/"3a663d10-ecf7-4131-92f3-fd38571253d1" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - d7214b58-835f-403e-8450-7e7c9a93a172 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway wait + Connection: + - keep-alive + ParameterSetName: + - -g -n --created + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2svpnGateways/clitestvp2sgateway?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"clitestvp2sgateway\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n \"type\": + \"Microsoft.Network/p2sVpnGateways\",\r\n \"location\": \"westus\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Updating\",\r\n \"virtualHub\": {\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub\"\r\n + \ },\r\n \"vpnServerConfiguration\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig\"\r\n + \ },\r\n \"vpnServerConfigurationLocation\": \"westus\",\r\n \"p2SConnectionConfigurations\": + [\r\n {\r\n \"name\": \"P2SConnectionConfigDefault\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway/p2sConnectionConfigurations/P2SConnectionConfigDefault\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n + \ \"type\": \"Microsoft.Network/p2sVpnGateways/p2sConnectionConfigurations\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"routingConfiguration\": {\r\n \"propagatedRouteTables\": + {\r\n \"labels\": [],\r\n \"ids\": []\r\n },\r\n + \ \"vnetRoutes\": {\r\n \"staticRoutes\": []\r\n }\r\n + \ },\r\n \"vpnClientAddressPool\": {\r\n \"addressPrefixes\": + [\r\n \"10.0.0.0/24\",\r\n \"11.0.0.0/24\"\r\n ]\r\n + \ },\r\n \"enableInternetSecurity\": false\r\n }\r\n + \ }\r\n ],\r\n \"vpnGatewayScaleUnit\": 2,\r\n \"customDnsServers\": + []\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '2117' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:02:36 GMT + etag: + - W/"3a663d10-ecf7-4131-92f3-fd38571253d1" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 2281e49f-7758-4cb7-9787-edf330c781a4 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway wait + Connection: + - keep-alive + ParameterSetName: + - -g -n --created + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2svpnGateways/clitestvp2sgateway?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"clitestvp2sgateway\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n \"type\": + \"Microsoft.Network/p2sVpnGateways\",\r\n \"location\": \"westus\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Updating\",\r\n \"virtualHub\": {\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub\"\r\n + \ },\r\n \"vpnServerConfiguration\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig\"\r\n + \ },\r\n \"vpnServerConfigurationLocation\": \"westus\",\r\n \"p2SConnectionConfigurations\": + [\r\n {\r\n \"name\": \"P2SConnectionConfigDefault\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway/p2sConnectionConfigurations/P2SConnectionConfigDefault\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n + \ \"type\": \"Microsoft.Network/p2sVpnGateways/p2sConnectionConfigurations\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"routingConfiguration\": {\r\n \"propagatedRouteTables\": + {\r\n \"labels\": [],\r\n \"ids\": []\r\n },\r\n + \ \"vnetRoutes\": {\r\n \"staticRoutes\": []\r\n }\r\n + \ },\r\n \"vpnClientAddressPool\": {\r\n \"addressPrefixes\": + [\r\n \"10.0.0.0/24\",\r\n \"11.0.0.0/24\"\r\n ]\r\n + \ },\r\n \"enableInternetSecurity\": false\r\n }\r\n + \ }\r\n ],\r\n \"vpnGatewayScaleUnit\": 2,\r\n \"customDnsServers\": + []\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '2117' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:03:07 GMT + etag: + - W/"3a663d10-ecf7-4131-92f3-fd38571253d1" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 8f770fa8-18d7-45ce-b352-16f41f7f7a75 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway wait + Connection: + - keep-alive + ParameterSetName: + - -g -n --created + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2svpnGateways/clitestvp2sgateway?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"clitestvp2sgateway\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n \"type\": + \"Microsoft.Network/p2sVpnGateways\",\r\n \"location\": \"westus\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Updating\",\r\n \"virtualHub\": {\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub\"\r\n + \ },\r\n \"vpnServerConfiguration\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig\"\r\n + \ },\r\n \"vpnServerConfigurationLocation\": \"westus\",\r\n \"p2SConnectionConfigurations\": + [\r\n {\r\n \"name\": \"P2SConnectionConfigDefault\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway/p2sConnectionConfigurations/P2SConnectionConfigDefault\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n + \ \"type\": \"Microsoft.Network/p2sVpnGateways/p2sConnectionConfigurations\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"routingConfiguration\": {\r\n \"propagatedRouteTables\": + {\r\n \"labels\": [],\r\n \"ids\": []\r\n },\r\n + \ \"vnetRoutes\": {\r\n \"staticRoutes\": []\r\n }\r\n + \ },\r\n \"vpnClientAddressPool\": {\r\n \"addressPrefixes\": + [\r\n \"10.0.0.0/24\",\r\n \"11.0.0.0/24\"\r\n ]\r\n + \ },\r\n \"enableInternetSecurity\": false\r\n }\r\n + \ }\r\n ],\r\n \"vpnGatewayScaleUnit\": 2,\r\n \"customDnsServers\": + []\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '2117' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:03:37 GMT + etag: + - W/"3a663d10-ecf7-4131-92f3-fd38571253d1" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - a77a4631-bf60-4712-8f28-302d1fcf46c9 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway wait + Connection: + - keep-alive + ParameterSetName: + - -g -n --created + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2svpnGateways/clitestvp2sgateway?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"clitestvp2sgateway\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n \"type\": + \"Microsoft.Network/p2sVpnGateways\",\r\n \"location\": \"westus\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Updating\",\r\n \"virtualHub\": {\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub\"\r\n + \ },\r\n \"vpnServerConfiguration\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig\"\r\n + \ },\r\n \"vpnServerConfigurationLocation\": \"westus\",\r\n \"p2SConnectionConfigurations\": + [\r\n {\r\n \"name\": \"P2SConnectionConfigDefault\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway/p2sConnectionConfigurations/P2SConnectionConfigDefault\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n + \ \"type\": \"Microsoft.Network/p2sVpnGateways/p2sConnectionConfigurations\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"routingConfiguration\": {\r\n \"propagatedRouteTables\": + {\r\n \"labels\": [],\r\n \"ids\": []\r\n },\r\n + \ \"vnetRoutes\": {\r\n \"staticRoutes\": []\r\n }\r\n + \ },\r\n \"vpnClientAddressPool\": {\r\n \"addressPrefixes\": + [\r\n \"10.0.0.0/24\",\r\n \"11.0.0.0/24\"\r\n ]\r\n + \ },\r\n \"enableInternetSecurity\": false\r\n }\r\n + \ }\r\n ],\r\n \"vpnGatewayScaleUnit\": 2,\r\n \"customDnsServers\": + []\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '2117' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:04:07 GMT + etag: + - W/"3a663d10-ecf7-4131-92f3-fd38571253d1" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 9279319c-12ff-4c4e-83d4-4dc14a7b22e9 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway wait + Connection: + - keep-alive + ParameterSetName: + - -g -n --created + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2svpnGateways/clitestvp2sgateway?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"clitestvp2sgateway\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n \"type\": + \"Microsoft.Network/p2sVpnGateways\",\r\n \"location\": \"westus\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Updating\",\r\n \"virtualHub\": {\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub\"\r\n + \ },\r\n \"vpnServerConfiguration\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig\"\r\n + \ },\r\n \"vpnServerConfigurationLocation\": \"westus\",\r\n \"p2SConnectionConfigurations\": + [\r\n {\r\n \"name\": \"P2SConnectionConfigDefault\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway/p2sConnectionConfigurations/P2SConnectionConfigDefault\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n + \ \"type\": \"Microsoft.Network/p2sVpnGateways/p2sConnectionConfigurations\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"routingConfiguration\": {\r\n \"propagatedRouteTables\": + {\r\n \"labels\": [],\r\n \"ids\": []\r\n },\r\n + \ \"vnetRoutes\": {\r\n \"staticRoutes\": []\r\n }\r\n + \ },\r\n \"vpnClientAddressPool\": {\r\n \"addressPrefixes\": + [\r\n \"10.0.0.0/24\",\r\n \"11.0.0.0/24\"\r\n ]\r\n + \ },\r\n \"enableInternetSecurity\": false\r\n }\r\n + \ }\r\n ],\r\n \"vpnGatewayScaleUnit\": 2,\r\n \"customDnsServers\": + []\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '2117' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:04:37 GMT + etag: + - W/"3a663d10-ecf7-4131-92f3-fd38571253d1" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - cb132c86-beec-4d54-994d-d8c197490850 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway wait + Connection: + - keep-alive + ParameterSetName: + - -g -n --created + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2svpnGateways/clitestvp2sgateway?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"clitestvp2sgateway\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n \"type\": + \"Microsoft.Network/p2sVpnGateways\",\r\n \"location\": \"westus\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Updating\",\r\n \"virtualHub\": {\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub\"\r\n + \ },\r\n \"vpnServerConfiguration\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig\"\r\n + \ },\r\n \"vpnServerConfigurationLocation\": \"westus\",\r\n \"p2SConnectionConfigurations\": + [\r\n {\r\n \"name\": \"P2SConnectionConfigDefault\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway/p2sConnectionConfigurations/P2SConnectionConfigDefault\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n + \ \"type\": \"Microsoft.Network/p2sVpnGateways/p2sConnectionConfigurations\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"routingConfiguration\": {\r\n \"propagatedRouteTables\": + {\r\n \"labels\": [],\r\n \"ids\": []\r\n },\r\n + \ \"vnetRoutes\": {\r\n \"staticRoutes\": []\r\n }\r\n + \ },\r\n \"vpnClientAddressPool\": {\r\n \"addressPrefixes\": + [\r\n \"10.0.0.0/24\",\r\n \"11.0.0.0/24\"\r\n ]\r\n + \ },\r\n \"enableInternetSecurity\": false\r\n }\r\n + \ }\r\n ],\r\n \"vpnGatewayScaleUnit\": 2,\r\n \"customDnsServers\": + []\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '2117' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:05:08 GMT + etag: + - W/"3a663d10-ecf7-4131-92f3-fd38571253d1" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - cd9fe7ed-df56-4ec7-a893-fe12c0e185b8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway wait + Connection: + - keep-alive + ParameterSetName: + - -g -n --created + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2svpnGateways/clitestvp2sgateway?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"clitestvp2sgateway\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n \"type\": + \"Microsoft.Network/p2sVpnGateways\",\r\n \"location\": \"westus\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Updating\",\r\n \"virtualHub\": {\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub\"\r\n + \ },\r\n \"vpnServerConfiguration\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig\"\r\n + \ },\r\n \"vpnServerConfigurationLocation\": \"westus\",\r\n \"p2SConnectionConfigurations\": + [\r\n {\r\n \"name\": \"P2SConnectionConfigDefault\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway/p2sConnectionConfigurations/P2SConnectionConfigDefault\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n + \ \"type\": \"Microsoft.Network/p2sVpnGateways/p2sConnectionConfigurations\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"routingConfiguration\": {\r\n \"propagatedRouteTables\": + {\r\n \"labels\": [],\r\n \"ids\": []\r\n },\r\n + \ \"vnetRoutes\": {\r\n \"staticRoutes\": []\r\n }\r\n + \ },\r\n \"vpnClientAddressPool\": {\r\n \"addressPrefixes\": + [\r\n \"10.0.0.0/24\",\r\n \"11.0.0.0/24\"\r\n ]\r\n + \ },\r\n \"enableInternetSecurity\": false\r\n }\r\n + \ }\r\n ],\r\n \"vpnGatewayScaleUnit\": 2,\r\n \"customDnsServers\": + []\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '2117' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:05:39 GMT + etag: + - W/"3a663d10-ecf7-4131-92f3-fd38571253d1" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - f631dfb5-69bb-439a-8a8f-3a29aa03a655 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway wait + Connection: + - keep-alive + ParameterSetName: + - -g -n --created + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2svpnGateways/clitestvp2sgateway?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"clitestvp2sgateway\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n \"type\": + \"Microsoft.Network/p2sVpnGateways\",\r\n \"location\": \"westus\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Updating\",\r\n \"virtualHub\": {\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub\"\r\n + \ },\r\n \"vpnServerConfiguration\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig\"\r\n + \ },\r\n \"vpnServerConfigurationLocation\": \"westus\",\r\n \"p2SConnectionConfigurations\": + [\r\n {\r\n \"name\": \"P2SConnectionConfigDefault\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway/p2sConnectionConfigurations/P2SConnectionConfigDefault\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n + \ \"type\": \"Microsoft.Network/p2sVpnGateways/p2sConnectionConfigurations\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"routingConfiguration\": {\r\n \"propagatedRouteTables\": + {\r\n \"labels\": [],\r\n \"ids\": []\r\n },\r\n + \ \"vnetRoutes\": {\r\n \"staticRoutes\": []\r\n }\r\n + \ },\r\n \"vpnClientAddressPool\": {\r\n \"addressPrefixes\": + [\r\n \"10.0.0.0/24\",\r\n \"11.0.0.0/24\"\r\n ]\r\n + \ },\r\n \"enableInternetSecurity\": false\r\n }\r\n + \ }\r\n ],\r\n \"vpnGatewayScaleUnit\": 2,\r\n \"customDnsServers\": + []\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '2117' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:06:09 GMT + etag: + - W/"3a663d10-ecf7-4131-92f3-fd38571253d1" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - cdc4e5c2-e4bb-4d5f-a392-1318139f6cd9 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway wait + Connection: + - keep-alive + ParameterSetName: + - -g -n --created + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2svpnGateways/clitestvp2sgateway?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"clitestvp2sgateway\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n \"type\": + \"Microsoft.Network/p2sVpnGateways\",\r\n \"location\": \"westus\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Updating\",\r\n \"virtualHub\": {\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub\"\r\n + \ },\r\n \"vpnServerConfiguration\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig\"\r\n + \ },\r\n \"vpnServerConfigurationLocation\": \"westus\",\r\n \"p2SConnectionConfigurations\": + [\r\n {\r\n \"name\": \"P2SConnectionConfigDefault\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway/p2sConnectionConfigurations/P2SConnectionConfigDefault\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n + \ \"type\": \"Microsoft.Network/p2sVpnGateways/p2sConnectionConfigurations\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"routingConfiguration\": {\r\n \"propagatedRouteTables\": + {\r\n \"labels\": [],\r\n \"ids\": []\r\n },\r\n + \ \"vnetRoutes\": {\r\n \"staticRoutes\": []\r\n }\r\n + \ },\r\n \"vpnClientAddressPool\": {\r\n \"addressPrefixes\": + [\r\n \"10.0.0.0/24\",\r\n \"11.0.0.0/24\"\r\n ]\r\n + \ },\r\n \"enableInternetSecurity\": false\r\n }\r\n + \ }\r\n ],\r\n \"vpnGatewayScaleUnit\": 2,\r\n \"customDnsServers\": + []\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '2117' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:06:39 GMT + etag: + - W/"3a663d10-ecf7-4131-92f3-fd38571253d1" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 4b6340d2-e531-4f47-a8fb-ab4c14338b19 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway wait + Connection: + - keep-alive + ParameterSetName: + - -g -n --created + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2svpnGateways/clitestvp2sgateway?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"clitestvp2sgateway\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n \"type\": + \"Microsoft.Network/p2sVpnGateways\",\r\n \"location\": \"westus\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Updating\",\r\n \"virtualHub\": {\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub\"\r\n + \ },\r\n \"vpnServerConfiguration\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig\"\r\n + \ },\r\n \"vpnServerConfigurationLocation\": \"westus\",\r\n \"p2SConnectionConfigurations\": + [\r\n {\r\n \"name\": \"P2SConnectionConfigDefault\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway/p2sConnectionConfigurations/P2SConnectionConfigDefault\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n + \ \"type\": \"Microsoft.Network/p2sVpnGateways/p2sConnectionConfigurations\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"routingConfiguration\": {\r\n \"propagatedRouteTables\": + {\r\n \"labels\": [],\r\n \"ids\": []\r\n },\r\n + \ \"vnetRoutes\": {\r\n \"staticRoutes\": []\r\n }\r\n + \ },\r\n \"vpnClientAddressPool\": {\r\n \"addressPrefixes\": + [\r\n \"10.0.0.0/24\",\r\n \"11.0.0.0/24\"\r\n ]\r\n + \ },\r\n \"enableInternetSecurity\": false\r\n }\r\n + \ }\r\n ],\r\n \"vpnGatewayScaleUnit\": 2,\r\n \"customDnsServers\": + []\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '2117' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:07:09 GMT + etag: + - W/"3a663d10-ecf7-4131-92f3-fd38571253d1" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - c584a7de-c0b4-46c0-ad59-79002d7219b3 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway wait + Connection: + - keep-alive + ParameterSetName: + - -g -n --created + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2svpnGateways/clitestvp2sgateway?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"clitestvp2sgateway\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n \"type\": + \"Microsoft.Network/p2sVpnGateways\",\r\n \"location\": \"westus\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Updating\",\r\n \"virtualHub\": {\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub\"\r\n + \ },\r\n \"vpnServerConfiguration\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig\"\r\n + \ },\r\n \"vpnServerConfigurationLocation\": \"westus\",\r\n \"p2SConnectionConfigurations\": + [\r\n {\r\n \"name\": \"P2SConnectionConfigDefault\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway/p2sConnectionConfigurations/P2SConnectionConfigDefault\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n + \ \"type\": \"Microsoft.Network/p2sVpnGateways/p2sConnectionConfigurations\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"routingConfiguration\": {\r\n \"propagatedRouteTables\": + {\r\n \"labels\": [],\r\n \"ids\": []\r\n },\r\n + \ \"vnetRoutes\": {\r\n \"staticRoutes\": []\r\n }\r\n + \ },\r\n \"vpnClientAddressPool\": {\r\n \"addressPrefixes\": + [\r\n \"10.0.0.0/24\",\r\n \"11.0.0.0/24\"\r\n ]\r\n + \ },\r\n \"enableInternetSecurity\": false\r\n }\r\n + \ }\r\n ],\r\n \"vpnGatewayScaleUnit\": 2,\r\n \"customDnsServers\": + []\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '2117' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:07:40 GMT + etag: + - W/"3a663d10-ecf7-4131-92f3-fd38571253d1" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - e482cfac-e535-411f-a559-bd8128ab5375 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway wait + Connection: + - keep-alive + ParameterSetName: + - -g -n --created + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2svpnGateways/clitestvp2sgateway?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"clitestvp2sgateway\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n \"type\": + \"Microsoft.Network/p2sVpnGateways\",\r\n \"location\": \"westus\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Updating\",\r\n \"virtualHub\": {\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub\"\r\n + \ },\r\n \"vpnServerConfiguration\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig\"\r\n + \ },\r\n \"vpnServerConfigurationLocation\": \"westus\",\r\n \"p2SConnectionConfigurations\": + [\r\n {\r\n \"name\": \"P2SConnectionConfigDefault\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway/p2sConnectionConfigurations/P2SConnectionConfigDefault\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n + \ \"type\": \"Microsoft.Network/p2sVpnGateways/p2sConnectionConfigurations\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"routingConfiguration\": {\r\n \"propagatedRouteTables\": + {\r\n \"labels\": [],\r\n \"ids\": []\r\n },\r\n + \ \"vnetRoutes\": {\r\n \"staticRoutes\": []\r\n }\r\n + \ },\r\n \"vpnClientAddressPool\": {\r\n \"addressPrefixes\": + [\r\n \"10.0.0.0/24\",\r\n \"11.0.0.0/24\"\r\n ]\r\n + \ },\r\n \"enableInternetSecurity\": false\r\n }\r\n + \ }\r\n ],\r\n \"vpnGatewayScaleUnit\": 2,\r\n \"customDnsServers\": + []\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '2117' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:08:10 GMT + etag: + - W/"3a663d10-ecf7-4131-92f3-fd38571253d1" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - cf411254-7285-4aac-adee-c7c4fc47d288 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway wait + Connection: + - keep-alive + ParameterSetName: + - -g -n --created + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2svpnGateways/clitestvp2sgateway?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"clitestvp2sgateway\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n \"type\": + \"Microsoft.Network/p2sVpnGateways\",\r\n \"location\": \"westus\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Updating\",\r\n \"virtualHub\": {\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub\"\r\n + \ },\r\n \"vpnServerConfiguration\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig\"\r\n + \ },\r\n \"vpnServerConfigurationLocation\": \"westus\",\r\n \"p2SConnectionConfigurations\": + [\r\n {\r\n \"name\": \"P2SConnectionConfigDefault\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway/p2sConnectionConfigurations/P2SConnectionConfigDefault\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n + \ \"type\": \"Microsoft.Network/p2sVpnGateways/p2sConnectionConfigurations\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"routingConfiguration\": {\r\n \"propagatedRouteTables\": + {\r\n \"labels\": [],\r\n \"ids\": []\r\n },\r\n + \ \"vnetRoutes\": {\r\n \"staticRoutes\": []\r\n }\r\n + \ },\r\n \"vpnClientAddressPool\": {\r\n \"addressPrefixes\": + [\r\n \"10.0.0.0/24\",\r\n \"11.0.0.0/24\"\r\n ]\r\n + \ },\r\n \"enableInternetSecurity\": false\r\n }\r\n + \ }\r\n ],\r\n \"vpnGatewayScaleUnit\": 2,\r\n \"customDnsServers\": + []\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '2117' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:08:40 GMT + etag: + - W/"3a663d10-ecf7-4131-92f3-fd38571253d1" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 2d6d14d1-5644-42c3-a5e8-d35e3c5d1b91 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway wait + Connection: + - keep-alive + ParameterSetName: + - -g -n --created + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2svpnGateways/clitestvp2sgateway?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"clitestvp2sgateway\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n \"type\": + \"Microsoft.Network/p2sVpnGateways\",\r\n \"location\": \"westus\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Updating\",\r\n \"virtualHub\": {\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub\"\r\n + \ },\r\n \"vpnServerConfiguration\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig\"\r\n + \ },\r\n \"vpnServerConfigurationLocation\": \"westus\",\r\n \"p2SConnectionConfigurations\": + [\r\n {\r\n \"name\": \"P2SConnectionConfigDefault\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway/p2sConnectionConfigurations/P2SConnectionConfigDefault\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n + \ \"type\": \"Microsoft.Network/p2sVpnGateways/p2sConnectionConfigurations\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"routingConfiguration\": {\r\n \"propagatedRouteTables\": + {\r\n \"labels\": [],\r\n \"ids\": []\r\n },\r\n + \ \"vnetRoutes\": {\r\n \"staticRoutes\": []\r\n }\r\n + \ },\r\n \"vpnClientAddressPool\": {\r\n \"addressPrefixes\": + [\r\n \"10.0.0.0/24\",\r\n \"11.0.0.0/24\"\r\n ]\r\n + \ },\r\n \"enableInternetSecurity\": false\r\n }\r\n + \ }\r\n ],\r\n \"vpnGatewayScaleUnit\": 2,\r\n \"customDnsServers\": + []\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '2117' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:09:12 GMT + etag: + - W/"3a663d10-ecf7-4131-92f3-fd38571253d1" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 1fb15402-76b0-4c82-8183-96a0d18ecbc3 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway wait + Connection: + - keep-alive + ParameterSetName: + - -g -n --created + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2svpnGateways/clitestvp2sgateway?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"clitestvp2sgateway\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n \"type\": + \"Microsoft.Network/p2sVpnGateways\",\r\n \"location\": \"westus\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Updating\",\r\n \"virtualHub\": {\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub\"\r\n + \ },\r\n \"vpnServerConfiguration\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig\"\r\n + \ },\r\n \"vpnServerConfigurationLocation\": \"westus\",\r\n \"p2SConnectionConfigurations\": + [\r\n {\r\n \"name\": \"P2SConnectionConfigDefault\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway/p2sConnectionConfigurations/P2SConnectionConfigDefault\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n + \ \"type\": \"Microsoft.Network/p2sVpnGateways/p2sConnectionConfigurations\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"routingConfiguration\": {\r\n \"propagatedRouteTables\": + {\r\n \"labels\": [],\r\n \"ids\": []\r\n },\r\n + \ \"vnetRoutes\": {\r\n \"staticRoutes\": []\r\n }\r\n + \ },\r\n \"vpnClientAddressPool\": {\r\n \"addressPrefixes\": + [\r\n \"10.0.0.0/24\",\r\n \"11.0.0.0/24\"\r\n ]\r\n + \ },\r\n \"enableInternetSecurity\": false\r\n }\r\n + \ }\r\n ],\r\n \"vpnGatewayScaleUnit\": 2,\r\n \"customDnsServers\": + []\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '2117' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:09:42 GMT + etag: + - W/"3a663d10-ecf7-4131-92f3-fd38571253d1" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - d6d76f8e-0fb2-491f-bddc-3793abf75b31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway wait + Connection: + - keep-alive + ParameterSetName: + - -g -n --created + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2svpnGateways/clitestvp2sgateway?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"clitestvp2sgateway\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n \"type\": + \"Microsoft.Network/p2sVpnGateways\",\r\n \"location\": \"westus\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Updating\",\r\n \"virtualHub\": {\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub\"\r\n + \ },\r\n \"vpnServerConfiguration\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig\"\r\n + \ },\r\n \"vpnServerConfigurationLocation\": \"westus\",\r\n \"p2SConnectionConfigurations\": + [\r\n {\r\n \"name\": \"P2SConnectionConfigDefault\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway/p2sConnectionConfigurations/P2SConnectionConfigDefault\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n + \ \"type\": \"Microsoft.Network/p2sVpnGateways/p2sConnectionConfigurations\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"routingConfiguration\": {\r\n \"propagatedRouteTables\": + {\r\n \"labels\": [],\r\n \"ids\": []\r\n },\r\n + \ \"vnetRoutes\": {\r\n \"staticRoutes\": []\r\n }\r\n + \ },\r\n \"vpnClientAddressPool\": {\r\n \"addressPrefixes\": + [\r\n \"10.0.0.0/24\",\r\n \"11.0.0.0/24\"\r\n ]\r\n + \ },\r\n \"enableInternetSecurity\": false\r\n }\r\n + \ }\r\n ],\r\n \"vpnGatewayScaleUnit\": 2,\r\n \"customDnsServers\": + []\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '2117' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:10:12 GMT + etag: + - W/"3a663d10-ecf7-4131-92f3-fd38571253d1" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - b9f67293-08a1-4f0f-a1d6-eca112d760e5 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway wait + Connection: + - keep-alive + ParameterSetName: + - -g -n --created + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2svpnGateways/clitestvp2sgateway?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"clitestvp2sgateway\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n \"type\": + \"Microsoft.Network/p2sVpnGateways\",\r\n \"location\": \"westus\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Updating\",\r\n \"virtualHub\": {\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub\"\r\n + \ },\r\n \"vpnServerConfiguration\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig\"\r\n + \ },\r\n \"vpnServerConfigurationLocation\": \"westus\",\r\n \"p2SConnectionConfigurations\": + [\r\n {\r\n \"name\": \"P2SConnectionConfigDefault\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway/p2sConnectionConfigurations/P2SConnectionConfigDefault\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n + \ \"type\": \"Microsoft.Network/p2sVpnGateways/p2sConnectionConfigurations\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"routingConfiguration\": {\r\n \"propagatedRouteTables\": + {\r\n \"labels\": [],\r\n \"ids\": []\r\n },\r\n + \ \"vnetRoutes\": {\r\n \"staticRoutes\": []\r\n }\r\n + \ },\r\n \"vpnClientAddressPool\": {\r\n \"addressPrefixes\": + [\r\n \"10.0.0.0/24\",\r\n \"11.0.0.0/24\"\r\n ]\r\n + \ },\r\n \"enableInternetSecurity\": false\r\n }\r\n + \ }\r\n ],\r\n \"vpnGatewayScaleUnit\": 2,\r\n \"customDnsServers\": + []\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '2117' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:10:42 GMT + etag: + - W/"3a663d10-ecf7-4131-92f3-fd38571253d1" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 555103b9-8c1c-409e-9993-719154c9403f + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway wait + Connection: + - keep-alive + ParameterSetName: + - -g -n --created + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2svpnGateways/clitestvp2sgateway?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"clitestvp2sgateway\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n \"type\": + \"Microsoft.Network/p2sVpnGateways\",\r\n \"location\": \"westus\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Updating\",\r\n \"virtualHub\": {\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub\"\r\n + \ },\r\n \"vpnServerConfiguration\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig\"\r\n + \ },\r\n \"vpnServerConfigurationLocation\": \"westus\",\r\n \"p2SConnectionConfigurations\": + [\r\n {\r\n \"name\": \"P2SConnectionConfigDefault\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway/p2sConnectionConfigurations/P2SConnectionConfigDefault\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n + \ \"type\": \"Microsoft.Network/p2sVpnGateways/p2sConnectionConfigurations\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"routingConfiguration\": {\r\n \"propagatedRouteTables\": + {\r\n \"labels\": [],\r\n \"ids\": []\r\n },\r\n + \ \"vnetRoutes\": {\r\n \"staticRoutes\": []\r\n }\r\n + \ },\r\n \"vpnClientAddressPool\": {\r\n \"addressPrefixes\": + [\r\n \"10.0.0.0/24\",\r\n \"11.0.0.0/24\"\r\n ]\r\n + \ },\r\n \"enableInternetSecurity\": false\r\n }\r\n + \ }\r\n ],\r\n \"vpnGatewayScaleUnit\": 2,\r\n \"customDnsServers\": + []\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '2117' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:11:12 GMT + etag: + - W/"3a663d10-ecf7-4131-92f3-fd38571253d1" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - fa45000b-1307-4871-82de-15e3978ca54a + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway wait + Connection: + - keep-alive + ParameterSetName: + - -g -n --created + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2svpnGateways/clitestvp2sgateway?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"clitestvp2sgateway\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n \"type\": + \"Microsoft.Network/p2sVpnGateways\",\r\n \"location\": \"westus\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Updating\",\r\n \"virtualHub\": {\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub\"\r\n + \ },\r\n \"vpnServerConfiguration\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig\"\r\n + \ },\r\n \"vpnServerConfigurationLocation\": \"westus\",\r\n \"p2SConnectionConfigurations\": + [\r\n {\r\n \"name\": \"P2SConnectionConfigDefault\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway/p2sConnectionConfigurations/P2SConnectionConfigDefault\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n + \ \"type\": \"Microsoft.Network/p2sVpnGateways/p2sConnectionConfigurations\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"routingConfiguration\": {\r\n \"propagatedRouteTables\": + {\r\n \"labels\": [],\r\n \"ids\": []\r\n },\r\n + \ \"vnetRoutes\": {\r\n \"staticRoutes\": []\r\n }\r\n + \ },\r\n \"vpnClientAddressPool\": {\r\n \"addressPrefixes\": + [\r\n \"10.0.0.0/24\",\r\n \"11.0.0.0/24\"\r\n ]\r\n + \ },\r\n \"enableInternetSecurity\": false\r\n }\r\n + \ }\r\n ],\r\n \"vpnGatewayScaleUnit\": 2,\r\n \"customDnsServers\": + []\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '2117' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:11:43 GMT + etag: + - W/"3a663d10-ecf7-4131-92f3-fd38571253d1" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - daf31d83-7fdc-4638-95fa-3ab5bc7e3c58 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway wait + Connection: + - keep-alive + ParameterSetName: + - -g -n --created + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2svpnGateways/clitestvp2sgateway?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"clitestvp2sgateway\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n \"type\": + \"Microsoft.Network/p2sVpnGateways\",\r\n \"location\": \"westus\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Updating\",\r\n \"virtualHub\": {\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub\"\r\n + \ },\r\n \"vpnServerConfiguration\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig\"\r\n + \ },\r\n \"vpnServerConfigurationLocation\": \"westus\",\r\n \"p2SConnectionConfigurations\": + [\r\n {\r\n \"name\": \"P2SConnectionConfigDefault\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway/p2sConnectionConfigurations/P2SConnectionConfigDefault\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n + \ \"type\": \"Microsoft.Network/p2sVpnGateways/p2sConnectionConfigurations\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"routingConfiguration\": {\r\n \"propagatedRouteTables\": + {\r\n \"labels\": [],\r\n \"ids\": []\r\n },\r\n + \ \"vnetRoutes\": {\r\n \"staticRoutes\": []\r\n }\r\n + \ },\r\n \"vpnClientAddressPool\": {\r\n \"addressPrefixes\": + [\r\n \"10.0.0.0/24\",\r\n \"11.0.0.0/24\"\r\n ]\r\n + \ },\r\n \"enableInternetSecurity\": false\r\n }\r\n + \ }\r\n ],\r\n \"vpnGatewayScaleUnit\": 2,\r\n \"customDnsServers\": + []\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '2117' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:12:13 GMT + etag: + - W/"3a663d10-ecf7-4131-92f3-fd38571253d1" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 191299f3-dce7-4be3-a309-825ab8d97269 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway wait + Connection: + - keep-alive + ParameterSetName: + - -g -n --created + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2svpnGateways/clitestvp2sgateway?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"clitestvp2sgateway\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n \"type\": + \"Microsoft.Network/p2sVpnGateways\",\r\n \"location\": \"westus\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Updating\",\r\n \"virtualHub\": {\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub\"\r\n + \ },\r\n \"vpnServerConfiguration\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig\"\r\n + \ },\r\n \"vpnServerConfigurationLocation\": \"westus\",\r\n \"p2SConnectionConfigurations\": + [\r\n {\r\n \"name\": \"P2SConnectionConfigDefault\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway/p2sConnectionConfigurations/P2SConnectionConfigDefault\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n + \ \"type\": \"Microsoft.Network/p2sVpnGateways/p2sConnectionConfigurations\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"routingConfiguration\": {\r\n \"propagatedRouteTables\": + {\r\n \"labels\": [],\r\n \"ids\": []\r\n },\r\n + \ \"vnetRoutes\": {\r\n \"staticRoutes\": []\r\n }\r\n + \ },\r\n \"vpnClientAddressPool\": {\r\n \"addressPrefixes\": + [\r\n \"10.0.0.0/24\",\r\n \"11.0.0.0/24\"\r\n ]\r\n + \ },\r\n \"enableInternetSecurity\": false\r\n }\r\n + \ }\r\n ],\r\n \"vpnGatewayScaleUnit\": 2,\r\n \"customDnsServers\": + []\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '2117' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:12:43 GMT + etag: + - W/"3a663d10-ecf7-4131-92f3-fd38571253d1" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - d29b4269-d0d0-4416-8896-2ecb3fe8fcfa + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway wait + Connection: + - keep-alive + ParameterSetName: + - -g -n --created + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2svpnGateways/clitestvp2sgateway?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"clitestvp2sgateway\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n \"type\": + \"Microsoft.Network/p2sVpnGateways\",\r\n \"location\": \"westus\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Updating\",\r\n \"virtualHub\": {\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub\"\r\n + \ },\r\n \"vpnServerConfiguration\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig\"\r\n + \ },\r\n \"vpnServerConfigurationLocation\": \"westus\",\r\n \"p2SConnectionConfigurations\": + [\r\n {\r\n \"name\": \"P2SConnectionConfigDefault\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway/p2sConnectionConfigurations/P2SConnectionConfigDefault\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n + \ \"type\": \"Microsoft.Network/p2sVpnGateways/p2sConnectionConfigurations\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"routingConfiguration\": {\r\n \"propagatedRouteTables\": + {\r\n \"labels\": [],\r\n \"ids\": []\r\n },\r\n + \ \"vnetRoutes\": {\r\n \"staticRoutes\": []\r\n }\r\n + \ },\r\n \"vpnClientAddressPool\": {\r\n \"addressPrefixes\": + [\r\n \"10.0.0.0/24\",\r\n \"11.0.0.0/24\"\r\n ]\r\n + \ },\r\n \"enableInternetSecurity\": false\r\n }\r\n + \ }\r\n ],\r\n \"vpnGatewayScaleUnit\": 2,\r\n \"customDnsServers\": + []\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '2117' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:13:14 GMT + etag: + - W/"3a663d10-ecf7-4131-92f3-fd38571253d1" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 8c771585-3942-4285-b43c-922ee0163103 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway wait + Connection: + - keep-alive + ParameterSetName: + - -g -n --created + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2svpnGateways/clitestvp2sgateway?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"clitestvp2sgateway\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n \"type\": + \"Microsoft.Network/p2sVpnGateways\",\r\n \"location\": \"westus\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Updating\",\r\n \"virtualHub\": {\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub\"\r\n + \ },\r\n \"vpnServerConfiguration\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig\"\r\n + \ },\r\n \"vpnServerConfigurationLocation\": \"westus\",\r\n \"p2SConnectionConfigurations\": + [\r\n {\r\n \"name\": \"P2SConnectionConfigDefault\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway/p2sConnectionConfigurations/P2SConnectionConfigDefault\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n + \ \"type\": \"Microsoft.Network/p2sVpnGateways/p2sConnectionConfigurations\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"routingConfiguration\": {\r\n \"propagatedRouteTables\": + {\r\n \"labels\": [],\r\n \"ids\": []\r\n },\r\n + \ \"vnetRoutes\": {\r\n \"staticRoutes\": []\r\n }\r\n + \ },\r\n \"vpnClientAddressPool\": {\r\n \"addressPrefixes\": + [\r\n \"10.0.0.0/24\",\r\n \"11.0.0.0/24\"\r\n ]\r\n + \ },\r\n \"enableInternetSecurity\": false\r\n }\r\n + \ }\r\n ],\r\n \"vpnGatewayScaleUnit\": 2,\r\n \"customDnsServers\": + []\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '2117' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:13:44 GMT + etag: + - W/"3a663d10-ecf7-4131-92f3-fd38571253d1" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 134b242c-b222-463e-9831-7eebf39f3248 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway wait + Connection: + - keep-alive + ParameterSetName: + - -g -n --created + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2svpnGateways/clitestvp2sgateway?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"clitestvp2sgateway\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n \"type\": + \"Microsoft.Network/p2sVpnGateways\",\r\n \"location\": \"westus\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Updating\",\r\n \"virtualHub\": {\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub\"\r\n + \ },\r\n \"vpnServerConfiguration\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig\"\r\n + \ },\r\n \"vpnServerConfigurationLocation\": \"westus\",\r\n \"p2SConnectionConfigurations\": + [\r\n {\r\n \"name\": \"P2SConnectionConfigDefault\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway/p2sConnectionConfigurations/P2SConnectionConfigDefault\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n + \ \"type\": \"Microsoft.Network/p2sVpnGateways/p2sConnectionConfigurations\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"routingConfiguration\": {\r\n \"propagatedRouteTables\": + {\r\n \"labels\": [],\r\n \"ids\": []\r\n },\r\n + \ \"vnetRoutes\": {\r\n \"staticRoutes\": []\r\n }\r\n + \ },\r\n \"vpnClientAddressPool\": {\r\n \"addressPrefixes\": + [\r\n \"10.0.0.0/24\",\r\n \"11.0.0.0/24\"\r\n ]\r\n + \ },\r\n \"enableInternetSecurity\": false\r\n }\r\n + \ }\r\n ],\r\n \"vpnGatewayScaleUnit\": 2,\r\n \"customDnsServers\": + []\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '2117' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:14:14 GMT + etag: + - W/"3a663d10-ecf7-4131-92f3-fd38571253d1" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - cf175694-1d10-4204-b0a7-a38131feeb04 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway wait + Connection: + - keep-alive + ParameterSetName: + - -g -n --created + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2svpnGateways/clitestvp2sgateway?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"clitestvp2sgateway\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n \"type\": + \"Microsoft.Network/p2sVpnGateways\",\r\n \"location\": \"westus\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Updating\",\r\n \"virtualHub\": {\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub\"\r\n + \ },\r\n \"vpnServerConfiguration\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig\"\r\n + \ },\r\n \"vpnServerConfigurationLocation\": \"westus\",\r\n \"p2SConnectionConfigurations\": + [\r\n {\r\n \"name\": \"P2SConnectionConfigDefault\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway/p2sConnectionConfigurations/P2SConnectionConfigDefault\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n + \ \"type\": \"Microsoft.Network/p2sVpnGateways/p2sConnectionConfigurations\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"routingConfiguration\": {\r\n \"propagatedRouteTables\": + {\r\n \"labels\": [],\r\n \"ids\": []\r\n },\r\n + \ \"vnetRoutes\": {\r\n \"staticRoutes\": []\r\n }\r\n + \ },\r\n \"vpnClientAddressPool\": {\r\n \"addressPrefixes\": + [\r\n \"10.0.0.0/24\",\r\n \"11.0.0.0/24\"\r\n ]\r\n + \ },\r\n \"enableInternetSecurity\": false\r\n }\r\n + \ }\r\n ],\r\n \"vpnGatewayScaleUnit\": 2,\r\n \"customDnsServers\": + []\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '2117' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:14:44 GMT + etag: + - W/"3a663d10-ecf7-4131-92f3-fd38571253d1" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 1e08509f-5d9b-4f2e-a628-b29dee0e0195 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway wait + Connection: + - keep-alive + ParameterSetName: + - -g -n --created + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2svpnGateways/clitestvp2sgateway?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"clitestvp2sgateway\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n \"type\": + \"Microsoft.Network/p2sVpnGateways\",\r\n \"location\": \"westus\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Updating\",\r\n \"virtualHub\": {\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub\"\r\n + \ },\r\n \"vpnServerConfiguration\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig\"\r\n + \ },\r\n \"vpnServerConfigurationLocation\": \"westus\",\r\n \"p2SConnectionConfigurations\": + [\r\n {\r\n \"name\": \"P2SConnectionConfigDefault\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway/p2sConnectionConfigurations/P2SConnectionConfigDefault\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n + \ \"type\": \"Microsoft.Network/p2sVpnGateways/p2sConnectionConfigurations\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"routingConfiguration\": {\r\n \"propagatedRouteTables\": + {\r\n \"labels\": [],\r\n \"ids\": []\r\n },\r\n + \ \"vnetRoutes\": {\r\n \"staticRoutes\": []\r\n }\r\n + \ },\r\n \"vpnClientAddressPool\": {\r\n \"addressPrefixes\": + [\r\n \"10.0.0.0/24\",\r\n \"11.0.0.0/24\"\r\n ]\r\n + \ },\r\n \"enableInternetSecurity\": false\r\n }\r\n + \ }\r\n ],\r\n \"vpnGatewayScaleUnit\": 2,\r\n \"customDnsServers\": + []\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '2117' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:15:15 GMT + etag: + - W/"3a663d10-ecf7-4131-92f3-fd38571253d1" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 854792bf-af73-495b-a9f2-23e3c3e60670 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway wait + Connection: + - keep-alive + ParameterSetName: + - -g -n --created + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2svpnGateways/clitestvp2sgateway?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"clitestvp2sgateway\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n \"type\": + \"Microsoft.Network/p2sVpnGateways\",\r\n \"location\": \"westus\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Updating\",\r\n \"virtualHub\": {\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub\"\r\n + \ },\r\n \"vpnServerConfiguration\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig\"\r\n + \ },\r\n \"vpnServerConfigurationLocation\": \"westus\",\r\n \"p2SConnectionConfigurations\": + [\r\n {\r\n \"name\": \"P2SConnectionConfigDefault\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway/p2sConnectionConfigurations/P2SConnectionConfigDefault\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n + \ \"type\": \"Microsoft.Network/p2sVpnGateways/p2sConnectionConfigurations\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"routingConfiguration\": {\r\n \"propagatedRouteTables\": + {\r\n \"labels\": [],\r\n \"ids\": []\r\n },\r\n + \ \"vnetRoutes\": {\r\n \"staticRoutes\": []\r\n }\r\n + \ },\r\n \"vpnClientAddressPool\": {\r\n \"addressPrefixes\": + [\r\n \"10.0.0.0/24\",\r\n \"11.0.0.0/24\"\r\n ]\r\n + \ },\r\n \"enableInternetSecurity\": false\r\n }\r\n + \ }\r\n ],\r\n \"vpnGatewayScaleUnit\": 2,\r\n \"customDnsServers\": + []\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '2117' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:15:46 GMT + etag: + - W/"3a663d10-ecf7-4131-92f3-fd38571253d1" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 51ad8ee5-c636-4012-b479-b5ca04947d68 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway wait + Connection: + - keep-alive + ParameterSetName: + - -g -n --created + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2svpnGateways/clitestvp2sgateway?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"clitestvp2sgateway\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n \"type\": + \"Microsoft.Network/p2sVpnGateways\",\r\n \"location\": \"westus\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Updating\",\r\n \"virtualHub\": {\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub\"\r\n + \ },\r\n \"vpnServerConfiguration\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig\"\r\n + \ },\r\n \"vpnServerConfigurationLocation\": \"westus\",\r\n \"p2SConnectionConfigurations\": + [\r\n {\r\n \"name\": \"P2SConnectionConfigDefault\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway/p2sConnectionConfigurations/P2SConnectionConfigDefault\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n + \ \"type\": \"Microsoft.Network/p2sVpnGateways/p2sConnectionConfigurations\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"routingConfiguration\": {\r\n \"propagatedRouteTables\": + {\r\n \"labels\": [],\r\n \"ids\": []\r\n },\r\n + \ \"vnetRoutes\": {\r\n \"staticRoutes\": []\r\n }\r\n + \ },\r\n \"vpnClientAddressPool\": {\r\n \"addressPrefixes\": + [\r\n \"10.0.0.0/24\",\r\n \"11.0.0.0/24\"\r\n ]\r\n + \ },\r\n \"enableInternetSecurity\": false\r\n }\r\n + \ }\r\n ],\r\n \"vpnGatewayScaleUnit\": 2,\r\n \"customDnsServers\": + []\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '2117' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:16:16 GMT + etag: + - W/"3a663d10-ecf7-4131-92f3-fd38571253d1" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - fdaed527-fedb-4b65-91e3-462bfd2f7486 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway wait + Connection: + - keep-alive + ParameterSetName: + - -g -n --created + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2svpnGateways/clitestvp2sgateway?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"clitestvp2sgateway\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n \"type\": + \"Microsoft.Network/p2sVpnGateways\",\r\n \"location\": \"westus\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Updating\",\r\n \"virtualHub\": {\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub\"\r\n + \ },\r\n \"vpnServerConfiguration\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig\"\r\n + \ },\r\n \"vpnServerConfigurationLocation\": \"westus\",\r\n \"p2SConnectionConfigurations\": + [\r\n {\r\n \"name\": \"P2SConnectionConfigDefault\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway/p2sConnectionConfigurations/P2SConnectionConfigDefault\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n + \ \"type\": \"Microsoft.Network/p2sVpnGateways/p2sConnectionConfigurations\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"routingConfiguration\": {\r\n \"propagatedRouteTables\": + {\r\n \"labels\": [],\r\n \"ids\": []\r\n },\r\n + \ \"vnetRoutes\": {\r\n \"staticRoutes\": []\r\n }\r\n + \ },\r\n \"vpnClientAddressPool\": {\r\n \"addressPrefixes\": + [\r\n \"10.0.0.0/24\",\r\n \"11.0.0.0/24\"\r\n ]\r\n + \ },\r\n \"enableInternetSecurity\": false\r\n }\r\n + \ }\r\n ],\r\n \"vpnGatewayScaleUnit\": 2,\r\n \"customDnsServers\": + []\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '2117' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:16:46 GMT + etag: + - W/"3a663d10-ecf7-4131-92f3-fd38571253d1" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 5efafbaa-859c-4918-a205-67f5080e7e08 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway wait + Connection: + - keep-alive + ParameterSetName: + - -g -n --created + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2svpnGateways/clitestvp2sgateway?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"clitestvp2sgateway\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n \"type\": + \"Microsoft.Network/p2sVpnGateways\",\r\n \"location\": \"westus\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Updating\",\r\n \"virtualHub\": {\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub\"\r\n + \ },\r\n \"vpnServerConfiguration\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig\"\r\n + \ },\r\n \"vpnServerConfigurationLocation\": \"westus\",\r\n \"p2SConnectionConfigurations\": + [\r\n {\r\n \"name\": \"P2SConnectionConfigDefault\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway/p2sConnectionConfigurations/P2SConnectionConfigDefault\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n + \ \"type\": \"Microsoft.Network/p2sVpnGateways/p2sConnectionConfigurations\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"routingConfiguration\": {\r\n \"propagatedRouteTables\": + {\r\n \"labels\": [],\r\n \"ids\": []\r\n },\r\n + \ \"vnetRoutes\": {\r\n \"staticRoutes\": []\r\n }\r\n + \ },\r\n \"vpnClientAddressPool\": {\r\n \"addressPrefixes\": + [\r\n \"10.0.0.0/24\",\r\n \"11.0.0.0/24\"\r\n ]\r\n + \ },\r\n \"enableInternetSecurity\": false\r\n }\r\n + \ }\r\n ],\r\n \"vpnGatewayScaleUnit\": 2,\r\n \"customDnsServers\": + []\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '2117' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:17:16 GMT + etag: + - W/"3a663d10-ecf7-4131-92f3-fd38571253d1" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - b7161c0e-3e46-4cf1-9eff-60fdcff929d9 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway wait + Connection: + - keep-alive + ParameterSetName: + - -g -n --created + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2svpnGateways/clitestvp2sgateway?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"clitestvp2sgateway\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n \"type\": + \"Microsoft.Network/p2sVpnGateways\",\r\n \"location\": \"westus\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Updating\",\r\n \"virtualHub\": {\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub\"\r\n + \ },\r\n \"vpnServerConfiguration\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig\"\r\n + \ },\r\n \"vpnServerConfigurationLocation\": \"westus\",\r\n \"p2SConnectionConfigurations\": + [\r\n {\r\n \"name\": \"P2SConnectionConfigDefault\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway/p2sConnectionConfigurations/P2SConnectionConfigDefault\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n + \ \"type\": \"Microsoft.Network/p2sVpnGateways/p2sConnectionConfigurations\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"routingConfiguration\": {\r\n \"propagatedRouteTables\": + {\r\n \"labels\": [],\r\n \"ids\": []\r\n },\r\n + \ \"vnetRoutes\": {\r\n \"staticRoutes\": []\r\n }\r\n + \ },\r\n \"vpnClientAddressPool\": {\r\n \"addressPrefixes\": + [\r\n \"10.0.0.0/24\",\r\n \"11.0.0.0/24\"\r\n ]\r\n + \ },\r\n \"enableInternetSecurity\": false\r\n }\r\n + \ }\r\n ],\r\n \"vpnGatewayScaleUnit\": 2,\r\n \"customDnsServers\": + []\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '2117' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:17:46 GMT + etag: + - W/"3a663d10-ecf7-4131-92f3-fd38571253d1" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - e9df2b83-a6a9-4535-8eca-5aacf66a1deb + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway wait + Connection: + - keep-alive + ParameterSetName: + - -g -n --created + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2svpnGateways/clitestvp2sgateway?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"clitestvp2sgateway\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n \"type\": + \"Microsoft.Network/p2sVpnGateways\",\r\n \"location\": \"westus\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Updating\",\r\n \"virtualHub\": {\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub\"\r\n + \ },\r\n \"vpnServerConfiguration\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig\"\r\n + \ },\r\n \"vpnServerConfigurationLocation\": \"westus\",\r\n \"p2SConnectionConfigurations\": + [\r\n {\r\n \"name\": \"P2SConnectionConfigDefault\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway/p2sConnectionConfigurations/P2SConnectionConfigDefault\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n + \ \"type\": \"Microsoft.Network/p2sVpnGateways/p2sConnectionConfigurations\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"routingConfiguration\": {\r\n \"propagatedRouteTables\": + {\r\n \"labels\": [],\r\n \"ids\": []\r\n },\r\n + \ \"vnetRoutes\": {\r\n \"staticRoutes\": []\r\n }\r\n + \ },\r\n \"vpnClientAddressPool\": {\r\n \"addressPrefixes\": + [\r\n \"10.0.0.0/24\",\r\n \"11.0.0.0/24\"\r\n ]\r\n + \ },\r\n \"enableInternetSecurity\": false\r\n }\r\n + \ }\r\n ],\r\n \"vpnGatewayScaleUnit\": 2,\r\n \"customDnsServers\": + []\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '2117' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:18:17 GMT + etag: + - W/"3a663d10-ecf7-4131-92f3-fd38571253d1" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 87e28a2a-a861-45d8-80ef-1b28c17b39e2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway wait + Connection: + - keep-alive + ParameterSetName: + - -g -n --created + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2svpnGateways/clitestvp2sgateway?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"clitestvp2sgateway\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n \"type\": + \"Microsoft.Network/p2sVpnGateways\",\r\n \"location\": \"westus\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Updating\",\r\n \"virtualHub\": {\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub\"\r\n + \ },\r\n \"vpnServerConfiguration\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig\"\r\n + \ },\r\n \"vpnServerConfigurationLocation\": \"westus\",\r\n \"p2SConnectionConfigurations\": + [\r\n {\r\n \"name\": \"P2SConnectionConfigDefault\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway/p2sConnectionConfigurations/P2SConnectionConfigDefault\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n + \ \"type\": \"Microsoft.Network/p2sVpnGateways/p2sConnectionConfigurations\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"routingConfiguration\": {\r\n \"propagatedRouteTables\": + {\r\n \"labels\": [],\r\n \"ids\": []\r\n },\r\n + \ \"vnetRoutes\": {\r\n \"staticRoutes\": []\r\n }\r\n + \ },\r\n \"vpnClientAddressPool\": {\r\n \"addressPrefixes\": + [\r\n \"10.0.0.0/24\",\r\n \"11.0.0.0/24\"\r\n ]\r\n + \ },\r\n \"enableInternetSecurity\": false\r\n }\r\n + \ }\r\n ],\r\n \"vpnGatewayScaleUnit\": 2,\r\n \"customDnsServers\": + []\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '2117' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:18:48 GMT + etag: + - W/"3a663d10-ecf7-4131-92f3-fd38571253d1" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - d9d64934-b732-4f8f-913f-557e6eb903c6 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway wait + Connection: + - keep-alive + ParameterSetName: + - -g -n --created + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2svpnGateways/clitestvp2sgateway?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"clitestvp2sgateway\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n \"type\": + \"Microsoft.Network/p2sVpnGateways\",\r\n \"location\": \"westus\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Updating\",\r\n \"virtualHub\": {\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub\"\r\n + \ },\r\n \"vpnServerConfiguration\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig\"\r\n + \ },\r\n \"vpnServerConfigurationLocation\": \"westus\",\r\n \"p2SConnectionConfigurations\": + [\r\n {\r\n \"name\": \"P2SConnectionConfigDefault\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway/p2sConnectionConfigurations/P2SConnectionConfigDefault\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n + \ \"type\": \"Microsoft.Network/p2sVpnGateways/p2sConnectionConfigurations\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"routingConfiguration\": {\r\n \"propagatedRouteTables\": + {\r\n \"labels\": [],\r\n \"ids\": []\r\n },\r\n + \ \"vnetRoutes\": {\r\n \"staticRoutes\": []\r\n }\r\n + \ },\r\n \"vpnClientAddressPool\": {\r\n \"addressPrefixes\": + [\r\n \"10.0.0.0/24\",\r\n \"11.0.0.0/24\"\r\n ]\r\n + \ },\r\n \"enableInternetSecurity\": false\r\n }\r\n + \ }\r\n ],\r\n \"vpnGatewayScaleUnit\": 2,\r\n \"customDnsServers\": + []\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '2117' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:19:18 GMT + etag: + - W/"3a663d10-ecf7-4131-92f3-fd38571253d1" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 83ecab5e-9c9f-49af-95f1-1664bcde452f + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway wait + Connection: + - keep-alive + ParameterSetName: + - -g -n --created + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2svpnGateways/clitestvp2sgateway?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"clitestvp2sgateway\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n \"type\": + \"Microsoft.Network/p2sVpnGateways\",\r\n \"location\": \"westus\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Updating\",\r\n \"virtualHub\": {\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub\"\r\n + \ },\r\n \"vpnServerConfiguration\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig\"\r\n + \ },\r\n \"vpnServerConfigurationLocation\": \"westus\",\r\n \"p2SConnectionConfigurations\": + [\r\n {\r\n \"name\": \"P2SConnectionConfigDefault\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway/p2sConnectionConfigurations/P2SConnectionConfigDefault\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n + \ \"type\": \"Microsoft.Network/p2sVpnGateways/p2sConnectionConfigurations\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"routingConfiguration\": {\r\n \"propagatedRouteTables\": + {\r\n \"labels\": [],\r\n \"ids\": []\r\n },\r\n + \ \"vnetRoutes\": {\r\n \"staticRoutes\": []\r\n }\r\n + \ },\r\n \"vpnClientAddressPool\": {\r\n \"addressPrefixes\": + [\r\n \"10.0.0.0/24\",\r\n \"11.0.0.0/24\"\r\n ]\r\n + \ },\r\n \"enableInternetSecurity\": false\r\n }\r\n + \ }\r\n ],\r\n \"vpnGatewayScaleUnit\": 2,\r\n \"customDnsServers\": + []\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '2117' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:19:49 GMT + etag: + - W/"3a663d10-ecf7-4131-92f3-fd38571253d1" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - b4a205d5-39fc-4098-a61c-11314a6611e2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway wait + Connection: + - keep-alive + ParameterSetName: + - -g -n --created + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2svpnGateways/clitestvp2sgateway?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"clitestvp2sgateway\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n \"type\": + \"Microsoft.Network/p2sVpnGateways\",\r\n \"location\": \"westus\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Updating\",\r\n \"virtualHub\": {\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub\"\r\n + \ },\r\n \"vpnServerConfiguration\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig\"\r\n + \ },\r\n \"vpnServerConfigurationLocation\": \"westus\",\r\n \"p2SConnectionConfigurations\": + [\r\n {\r\n \"name\": \"P2SConnectionConfigDefault\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway/p2sConnectionConfigurations/P2SConnectionConfigDefault\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n + \ \"type\": \"Microsoft.Network/p2sVpnGateways/p2sConnectionConfigurations\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"routingConfiguration\": {\r\n \"propagatedRouteTables\": + {\r\n \"labels\": [],\r\n \"ids\": []\r\n },\r\n + \ \"vnetRoutes\": {\r\n \"staticRoutes\": []\r\n }\r\n + \ },\r\n \"vpnClientAddressPool\": {\r\n \"addressPrefixes\": + [\r\n \"10.0.0.0/24\",\r\n \"11.0.0.0/24\"\r\n ]\r\n + \ },\r\n \"enableInternetSecurity\": false\r\n }\r\n + \ }\r\n ],\r\n \"vpnGatewayScaleUnit\": 2,\r\n \"customDnsServers\": + []\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '2117' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:20:20 GMT + etag: + - W/"3a663d10-ecf7-4131-92f3-fd38571253d1" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 602a448d-e76b-4597-801b-2a6087da3d65 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway wait + Connection: + - keep-alive + ParameterSetName: + - -g -n --created + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2svpnGateways/clitestvp2sgateway?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"clitestvp2sgateway\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n \"type\": + \"Microsoft.Network/p2sVpnGateways\",\r\n \"location\": \"westus\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Updating\",\r\n \"virtualHub\": {\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub\"\r\n + \ },\r\n \"vpnServerConfiguration\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig\"\r\n + \ },\r\n \"vpnServerConfigurationLocation\": \"westus\",\r\n \"p2SConnectionConfigurations\": + [\r\n {\r\n \"name\": \"P2SConnectionConfigDefault\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway/p2sConnectionConfigurations/P2SConnectionConfigDefault\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n + \ \"type\": \"Microsoft.Network/p2sVpnGateways/p2sConnectionConfigurations\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"routingConfiguration\": {\r\n \"propagatedRouteTables\": + {\r\n \"labels\": [],\r\n \"ids\": []\r\n },\r\n + \ \"vnetRoutes\": {\r\n \"staticRoutes\": []\r\n }\r\n + \ },\r\n \"vpnClientAddressPool\": {\r\n \"addressPrefixes\": + [\r\n \"10.0.0.0/24\",\r\n \"11.0.0.0/24\"\r\n ]\r\n + \ },\r\n \"enableInternetSecurity\": false\r\n }\r\n + \ }\r\n ],\r\n \"vpnGatewayScaleUnit\": 2,\r\n \"customDnsServers\": + []\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '2117' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:20:50 GMT + etag: + - W/"3a663d10-ecf7-4131-92f3-fd38571253d1" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 181987b0-5ee5-467b-b2a1-2d6e77f8a00e + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway wait + Connection: + - keep-alive + ParameterSetName: + - -g -n --created + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2svpnGateways/clitestvp2sgateway?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"clitestvp2sgateway\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n \"type\": + \"Microsoft.Network/p2sVpnGateways\",\r\n \"location\": \"westus\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Updating\",\r\n \"virtualHub\": {\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub\"\r\n + \ },\r\n \"vpnServerConfiguration\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig\"\r\n + \ },\r\n \"vpnServerConfigurationLocation\": \"westus\",\r\n \"p2SConnectionConfigurations\": + [\r\n {\r\n \"name\": \"P2SConnectionConfigDefault\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway/p2sConnectionConfigurations/P2SConnectionConfigDefault\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n + \ \"type\": \"Microsoft.Network/p2sVpnGateways/p2sConnectionConfigurations\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"routingConfiguration\": {\r\n \"propagatedRouteTables\": + {\r\n \"labels\": [],\r\n \"ids\": []\r\n },\r\n + \ \"vnetRoutes\": {\r\n \"staticRoutes\": []\r\n }\r\n + \ },\r\n \"vpnClientAddressPool\": {\r\n \"addressPrefixes\": + [\r\n \"10.0.0.0/24\",\r\n \"11.0.0.0/24\"\r\n ]\r\n + \ },\r\n \"enableInternetSecurity\": false\r\n }\r\n + \ }\r\n ],\r\n \"vpnGatewayScaleUnit\": 2,\r\n \"customDnsServers\": + []\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '2117' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:21:20 GMT + etag: + - W/"3a663d10-ecf7-4131-92f3-fd38571253d1" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 4f4b63ec-6009-4250-8d98-0415cd89be65 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway wait + Connection: + - keep-alive + ParameterSetName: + - -g -n --created + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2svpnGateways/clitestvp2sgateway?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"clitestvp2sgateway\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n \"type\": + \"Microsoft.Network/p2sVpnGateways\",\r\n \"location\": \"westus\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Updating\",\r\n \"virtualHub\": {\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub\"\r\n + \ },\r\n \"vpnServerConfiguration\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig\"\r\n + \ },\r\n \"vpnServerConfigurationLocation\": \"westus\",\r\n \"p2SConnectionConfigurations\": + [\r\n {\r\n \"name\": \"P2SConnectionConfigDefault\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway/p2sConnectionConfigurations/P2SConnectionConfigDefault\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n + \ \"type\": \"Microsoft.Network/p2sVpnGateways/p2sConnectionConfigurations\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"routingConfiguration\": {\r\n \"propagatedRouteTables\": + {\r\n \"labels\": [],\r\n \"ids\": []\r\n },\r\n + \ \"vnetRoutes\": {\r\n \"staticRoutes\": []\r\n }\r\n + \ },\r\n \"vpnClientAddressPool\": {\r\n \"addressPrefixes\": + [\r\n \"10.0.0.0/24\",\r\n \"11.0.0.0/24\"\r\n ]\r\n + \ },\r\n \"enableInternetSecurity\": false\r\n }\r\n + \ }\r\n ],\r\n \"vpnGatewayScaleUnit\": 2,\r\n \"customDnsServers\": + []\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '2117' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:21:50 GMT + etag: + - W/"3a663d10-ecf7-4131-92f3-fd38571253d1" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 0dc3215c-dedb-462c-b87a-793353989ac1 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway wait + Connection: + - keep-alive + ParameterSetName: + - -g -n --created + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2svpnGateways/clitestvp2sgateway?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"clitestvp2sgateway\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n \"type\": + \"Microsoft.Network/p2sVpnGateways\",\r\n \"location\": \"westus\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Updating\",\r\n \"virtualHub\": {\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub\"\r\n + \ },\r\n \"vpnServerConfiguration\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig\"\r\n + \ },\r\n \"vpnServerConfigurationLocation\": \"westus\",\r\n \"p2SConnectionConfigurations\": + [\r\n {\r\n \"name\": \"P2SConnectionConfigDefault\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway/p2sConnectionConfigurations/P2SConnectionConfigDefault\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n + \ \"type\": \"Microsoft.Network/p2sVpnGateways/p2sConnectionConfigurations\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"routingConfiguration\": {\r\n \"propagatedRouteTables\": + {\r\n \"labels\": [],\r\n \"ids\": []\r\n },\r\n + \ \"vnetRoutes\": {\r\n \"staticRoutes\": []\r\n }\r\n + \ },\r\n \"vpnClientAddressPool\": {\r\n \"addressPrefixes\": + [\r\n \"10.0.0.0/24\",\r\n \"11.0.0.0/24\"\r\n ]\r\n + \ },\r\n \"enableInternetSecurity\": false\r\n }\r\n + \ }\r\n ],\r\n \"vpnGatewayScaleUnit\": 2,\r\n \"customDnsServers\": + []\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '2117' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:22:21 GMT + etag: + - W/"3a663d10-ecf7-4131-92f3-fd38571253d1" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - d6b1ad6d-9ae4-4e9d-b7ee-042cbec520cb + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway wait + Connection: + - keep-alive + ParameterSetName: + - -g -n --created + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2svpnGateways/clitestvp2sgateway?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"clitestvp2sgateway\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n \"type\": + \"Microsoft.Network/p2sVpnGateways\",\r\n \"location\": \"westus\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Updating\",\r\n \"virtualHub\": {\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub\"\r\n + \ },\r\n \"vpnServerConfiguration\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig\"\r\n + \ },\r\n \"vpnServerConfigurationLocation\": \"westus\",\r\n \"p2SConnectionConfigurations\": + [\r\n {\r\n \"name\": \"P2SConnectionConfigDefault\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway/p2sConnectionConfigurations/P2SConnectionConfigDefault\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n + \ \"type\": \"Microsoft.Network/p2sVpnGateways/p2sConnectionConfigurations\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"routingConfiguration\": {\r\n \"propagatedRouteTables\": + {\r\n \"labels\": [],\r\n \"ids\": []\r\n },\r\n + \ \"vnetRoutes\": {\r\n \"staticRoutes\": []\r\n }\r\n + \ },\r\n \"vpnClientAddressPool\": {\r\n \"addressPrefixes\": + [\r\n \"10.0.0.0/24\",\r\n \"11.0.0.0/24\"\r\n ]\r\n + \ },\r\n \"enableInternetSecurity\": false\r\n }\r\n + \ }\r\n ],\r\n \"vpnGatewayScaleUnit\": 2,\r\n \"customDnsServers\": + []\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '2117' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:22:51 GMT + etag: + - W/"3a663d10-ecf7-4131-92f3-fd38571253d1" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 4a65886e-c117-46e5-ac63-3f67558d4a30 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway wait + Connection: + - keep-alive + ParameterSetName: + - -g -n --created + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2svpnGateways/clitestvp2sgateway?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"clitestvp2sgateway\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n \"type\": + \"Microsoft.Network/p2sVpnGateways\",\r\n \"location\": \"westus\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Updating\",\r\n \"virtualHub\": {\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub\"\r\n + \ },\r\n \"vpnServerConfiguration\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig\"\r\n + \ },\r\n \"vpnServerConfigurationLocation\": \"westus\",\r\n \"p2SConnectionConfigurations\": + [\r\n {\r\n \"name\": \"P2SConnectionConfigDefault\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway/p2sConnectionConfigurations/P2SConnectionConfigDefault\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n + \ \"type\": \"Microsoft.Network/p2sVpnGateways/p2sConnectionConfigurations\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"routingConfiguration\": {\r\n \"propagatedRouteTables\": + {\r\n \"labels\": [],\r\n \"ids\": []\r\n },\r\n + \ \"vnetRoutes\": {\r\n \"staticRoutes\": []\r\n }\r\n + \ },\r\n \"vpnClientAddressPool\": {\r\n \"addressPrefixes\": + [\r\n \"10.0.0.0/24\",\r\n \"11.0.0.0/24\"\r\n ]\r\n + \ },\r\n \"enableInternetSecurity\": false\r\n }\r\n + \ }\r\n ],\r\n \"vpnGatewayScaleUnit\": 2,\r\n \"customDnsServers\": + []\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '2117' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:23:21 GMT + etag: + - W/"3a663d10-ecf7-4131-92f3-fd38571253d1" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 82a4cee2-9d8a-43b7-b911-9ad5c735d287 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway wait + Connection: + - keep-alive + ParameterSetName: + - -g -n --created + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2svpnGateways/clitestvp2sgateway?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"clitestvp2sgateway\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n \"type\": + \"Microsoft.Network/p2sVpnGateways\",\r\n \"location\": \"westus\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Updating\",\r\n \"virtualHub\": {\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub\"\r\n + \ },\r\n \"vpnServerConfiguration\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig\"\r\n + \ },\r\n \"vpnServerConfigurationLocation\": \"westus\",\r\n \"p2SConnectionConfigurations\": + [\r\n {\r\n \"name\": \"P2SConnectionConfigDefault\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway/p2sConnectionConfigurations/P2SConnectionConfigDefault\",\r\n + \ \"etag\": \"W/\\\"3a663d10-ecf7-4131-92f3-fd38571253d1\\\"\",\r\n + \ \"type\": \"Microsoft.Network/p2sVpnGateways/p2sConnectionConfigurations\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"routingConfiguration\": {\r\n \"propagatedRouteTables\": + {\r\n \"labels\": [],\r\n \"ids\": []\r\n },\r\n + \ \"vnetRoutes\": {\r\n \"staticRoutes\": []\r\n }\r\n + \ },\r\n \"vpnClientAddressPool\": {\r\n \"addressPrefixes\": + [\r\n \"10.0.0.0/24\",\r\n \"11.0.0.0/24\"\r\n ]\r\n + \ },\r\n \"enableInternetSecurity\": false\r\n }\r\n + \ }\r\n ],\r\n \"vpnGatewayScaleUnit\": 2,\r\n \"customDnsServers\": + []\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '2117' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:23:52 GMT + etag: + - W/"3a663d10-ecf7-4131-92f3-fd38571253d1" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - b8bde5ff-8175-4598-87e9-1ef9d84277d4 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway wait + Connection: + - keep-alive + ParameterSetName: + - -g -n --created + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2svpnGateways/clitestvp2sgateway?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"clitestvp2sgateway\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway\",\r\n + \ \"etag\": \"W/\\\"e7081130-cfff-4628-8d11-4c37144b9161\\\"\",\r\n \"type\": + \"Microsoft.Network/p2sVpnGateways\",\r\n \"location\": \"westus\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Updating\",\r\n \"virtualHub\": {\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub\"\r\n + \ },\r\n \"vpnServerConfiguration\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig\"\r\n + \ },\r\n \"vpnServerConfigurationLocation\": \"westus\",\r\n \"p2SConnectionConfigurations\": + [\r\n {\r\n \"name\": \"P2SConnectionConfigDefault\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway/p2sConnectionConfigurations/P2SConnectionConfigDefault\",\r\n + \ \"etag\": \"W/\\\"e7081130-cfff-4628-8d11-4c37144b9161\\\"\",\r\n + \ \"type\": \"Microsoft.Network/p2sVpnGateways/p2sConnectionConfigurations\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"routingConfiguration\": {\r\n \"propagatedRouteTables\": + {\r\n \"labels\": [],\r\n \"ids\": []\r\n },\r\n + \ \"vnetRoutes\": {\r\n \"staticRoutes\": []\r\n }\r\n + \ },\r\n \"vpnClientAddressPool\": {\r\n \"addressPrefixes\": + [\r\n \"10.0.0.0/24\",\r\n \"11.0.0.0/24\"\r\n ]\r\n + \ },\r\n \"enableInternetSecurity\": false\r\n }\r\n + \ }\r\n ],\r\n \"vpnGatewayScaleUnit\": 2,\r\n \"customDnsServers\": + []\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '2117' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:24:23 GMT + etag: + - W/"e7081130-cfff-4628-8d11-4c37144b9161" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - e51ab430-8217-4b71-a509-40de28fbdf09 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway wait + Connection: + - keep-alive + ParameterSetName: + - -g -n --created + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2svpnGateways/clitestvp2sgateway?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"clitestvp2sgateway\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway\",\r\n + \ \"etag\": \"W/\\\"e7081130-cfff-4628-8d11-4c37144b9161\\\"\",\r\n \"type\": + \"Microsoft.Network/p2sVpnGateways\",\r\n \"location\": \"westus\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Updating\",\r\n \"virtualHub\": {\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub\"\r\n + \ },\r\n \"vpnServerConfiguration\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig\"\r\n + \ },\r\n \"vpnServerConfigurationLocation\": \"westus\",\r\n \"p2SConnectionConfigurations\": + [\r\n {\r\n \"name\": \"P2SConnectionConfigDefault\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway/p2sConnectionConfigurations/P2SConnectionConfigDefault\",\r\n + \ \"etag\": \"W/\\\"e7081130-cfff-4628-8d11-4c37144b9161\\\"\",\r\n + \ \"type\": \"Microsoft.Network/p2sVpnGateways/p2sConnectionConfigurations\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"routingConfiguration\": {\r\n \"propagatedRouteTables\": + {\r\n \"labels\": [],\r\n \"ids\": []\r\n },\r\n + \ \"vnetRoutes\": {\r\n \"staticRoutes\": []\r\n }\r\n + \ },\r\n \"vpnClientAddressPool\": {\r\n \"addressPrefixes\": + [\r\n \"10.0.0.0/24\",\r\n \"11.0.0.0/24\"\r\n ]\r\n + \ },\r\n \"enableInternetSecurity\": false\r\n }\r\n + \ }\r\n ],\r\n \"vpnGatewayScaleUnit\": 2,\r\n \"customDnsServers\": + []\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '2117' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:24:53 GMT + etag: + - W/"e7081130-cfff-4628-8d11-4c37144b9161" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - cfec369c-7515-4f95-9b8e-72141e5ed69d + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway wait + Connection: + - keep-alive + ParameterSetName: + - -g -n --created + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2svpnGateways/clitestvp2sgateway?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"clitestvp2sgateway\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway\",\r\n + \ \"etag\": \"W/\\\"e7081130-cfff-4628-8d11-4c37144b9161\\\"\",\r\n \"type\": + \"Microsoft.Network/p2sVpnGateways\",\r\n \"location\": \"westus\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Updating\",\r\n \"virtualHub\": {\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub\"\r\n + \ },\r\n \"vpnServerConfiguration\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig\"\r\n + \ },\r\n \"vpnServerConfigurationLocation\": \"westus\",\r\n \"p2SConnectionConfigurations\": + [\r\n {\r\n \"name\": \"P2SConnectionConfigDefault\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway/p2sConnectionConfigurations/P2SConnectionConfigDefault\",\r\n + \ \"etag\": \"W/\\\"e7081130-cfff-4628-8d11-4c37144b9161\\\"\",\r\n + \ \"type\": \"Microsoft.Network/p2sVpnGateways/p2sConnectionConfigurations\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"routingConfiguration\": {\r\n \"propagatedRouteTables\": + {\r\n \"labels\": [],\r\n \"ids\": []\r\n },\r\n + \ \"vnetRoutes\": {\r\n \"staticRoutes\": []\r\n }\r\n + \ },\r\n \"vpnClientAddressPool\": {\r\n \"addressPrefixes\": + [\r\n \"10.0.0.0/24\",\r\n \"11.0.0.0/24\"\r\n ]\r\n + \ },\r\n \"enableInternetSecurity\": false\r\n }\r\n + \ }\r\n ],\r\n \"vpnGatewayScaleUnit\": 2,\r\n \"customDnsServers\": + []\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '2117' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:25:23 GMT + etag: + - W/"e7081130-cfff-4628-8d11-4c37144b9161" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 32057e43-431b-4552-bf10-0b4de076aeb9 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway wait + Connection: + - keep-alive + ParameterSetName: + - -g -n --created + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2svpnGateways/clitestvp2sgateway?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"clitestvp2sgateway\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway\",\r\n + \ \"etag\": \"W/\\\"579b6fed-dc3e-4fec-be13-ac11747e33fa\\\"\",\r\n \"type\": + \"Microsoft.Network/p2sVpnGateways\",\r\n \"location\": \"westus\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Succeeded\",\r\n \"virtualHub\": {\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub\"\r\n + \ },\r\n \"vpnServerConfiguration\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig\"\r\n + \ },\r\n \"vpnServerConfigurationLocation\": \"westus\",\r\n \"p2SConnectionConfigurations\": + [\r\n {\r\n \"name\": \"P2SConnectionConfigDefault\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway/p2sConnectionConfigurations/P2SConnectionConfigDefault\",\r\n + \ \"etag\": \"W/\\\"579b6fed-dc3e-4fec-be13-ac11747e33fa\\\"\",\r\n + \ \"type\": \"Microsoft.Network/p2sVpnGateways/p2sConnectionConfigurations\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"routingConfiguration\": {\r\n \"propagatedRouteTables\": + {\r\n \"labels\": [],\r\n \"ids\": []\r\n },\r\n + \ \"vnetRoutes\": {\r\n \"staticRoutes\": []\r\n }\r\n + \ },\r\n \"vpnClientAddressPool\": {\r\n \"addressPrefixes\": + [\r\n \"10.0.0.0/24\",\r\n \"11.0.0.0/24\"\r\n ]\r\n + \ },\r\n \"enableInternetSecurity\": false\r\n }\r\n + \ }\r\n ],\r\n \"vpnGatewayScaleUnit\": 2,\r\n \"customDnsServers\": + []\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '2119' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:25:53 GMT + etag: + - W/"579b6fed-dc3e-4fec-be13-ac11747e33fa" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 2c8f1f1b-6e43-42c9-a3d2-77f0a5adf0b3 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2svpnGateways/clitestvp2sgateway?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"clitestvp2sgateway\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway\",\r\n + \ \"etag\": \"W/\\\"579b6fed-dc3e-4fec-be13-ac11747e33fa\\\"\",\r\n \"type\": + \"Microsoft.Network/p2sVpnGateways\",\r\n \"location\": \"westus\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Succeeded\",\r\n \"virtualHub\": {\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub\"\r\n + \ },\r\n \"vpnServerConfiguration\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig\"\r\n + \ },\r\n \"vpnServerConfigurationLocation\": \"westus\",\r\n \"p2SConnectionConfigurations\": + [\r\n {\r\n \"name\": \"P2SConnectionConfigDefault\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway/p2sConnectionConfigurations/P2SConnectionConfigDefault\",\r\n + \ \"etag\": \"W/\\\"579b6fed-dc3e-4fec-be13-ac11747e33fa\\\"\",\r\n + \ \"type\": \"Microsoft.Network/p2sVpnGateways/p2sConnectionConfigurations\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"routingConfiguration\": {\r\n \"propagatedRouteTables\": + {\r\n \"labels\": [],\r\n \"ids\": []\r\n },\r\n + \ \"vnetRoutes\": {\r\n \"staticRoutes\": []\r\n }\r\n + \ },\r\n \"vpnClientAddressPool\": {\r\n \"addressPrefixes\": + [\r\n \"10.0.0.0/24\",\r\n \"11.0.0.0/24\"\r\n ]\r\n + \ },\r\n \"enableInternetSecurity\": false\r\n }\r\n + \ }\r\n ],\r\n \"vpnGatewayScaleUnit\": 2,\r\n \"customDnsServers\": + []\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '2119' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:25:54 GMT + etag: + - W/"579b6fed-dc3e-4fec-be13-ac11747e33fa" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 2868002e-e135-46fb-91f4-ece2f9ca4fc9 + status: + code: 200 + message: OK +- request: + body: 'b''{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway", + "location": "westus", "properties": {"virtualHub": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub"}, + "p2SConnectionConfigurations": [{"properties": {"vpnClientAddressPool": {"addressPrefixes": + ["13.0.0.0/24", "12.0.0.0/24"]}}, "name": "False"}], "vpnGatewayScaleUnit": + 3, "vpnServerConfiguration": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig2"}}}''' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + Content-Length: + - '896' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2svpnGateways/clitestvp2sgateway?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"clitestvp2sgateway\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway\",\r\n + \ \"etag\": \"W/\\\"2d548292-6d36-4005-b271-3fc1026f2a1e\\\"\",\r\n \"type\": + \"Microsoft.Network/p2sVpnGateways\",\r\n \"location\": \"westus\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Updating\",\r\n \"virtualHub\": {\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub\"\r\n + \ },\r\n \"vpnServerConfiguration\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig2\"\r\n + \ },\r\n \"vpnServerConfigurationLocation\": \"westus\",\r\n \"p2SConnectionConfigurations\": + [\r\n {\r\n \"name\": \"False\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway/p2sConnectionConfigurations/False\",\r\n + \ \"etag\": \"W/\\\"2d548292-6d36-4005-b271-3fc1026f2a1e\\\"\",\r\n + \ \"type\": \"Microsoft.Network/p2sVpnGateways/p2sConnectionConfigurations\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"routingConfiguration\": {\r\n \"propagatedRouteTables\": + {\r\n \"labels\": [],\r\n \"ids\": []\r\n },\r\n + \ \"vnetRoutes\": {\r\n \"staticRoutes\": []\r\n }\r\n + \ },\r\n \"vpnClientAddressPool\": {\r\n \"addressPrefixes\": + [\r\n \"13.0.0.0/24\",\r\n \"12.0.0.0/24\"\r\n ]\r\n + \ },\r\n \"enableInternetSecurity\": false\r\n }\r\n + \ }\r\n ],\r\n \"vpnGatewayScaleUnit\": 3,\r\n \"customDnsServers\": + []\r\n }\r\n}" + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + cache-control: + - no-cache + content-length: + - '2076' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:25:55 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 9ddf594d-7e1c-4b9c-81ff-cea3ef43e685 + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:26:07 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - a12e9790-5d21-4c15-867d-287f80f68f59 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:26:17 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 70fb8b97-e2a7-4edf-84a3-8d7f5a64fad1 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:26:28 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 40b56563-2b13-40df-92db-43fdde91632c + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:26:38 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 1b1e17ff-16e6-43af-a9eb-c151b42ab42b + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:26:48 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - ed5989a1-57ef-4eb2-bf42-abc487f59ee4 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:26:58 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 26d9fb3e-8bdb-46df-a15c-4c238189c52e + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:27:08 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - e4a9ea67-7f0f-4b57-aa69-52a9636c2b56 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:27:18 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 3c4904f9-3ec1-422a-b1a7-7ddc870ea7de + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:27:30 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 97856593-1ebf-4cbe-a51d-ea58ed6ff9be + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:27:40 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 71fd7f2e-42cd-4fdf-a110-5608ab5384d6 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:27:50 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 32b61d6c-b6f0-49d9-8004-9a706d267505 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:28:00 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 91f66d20-8f55-4d51-b019-9be6c824193d + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:28:11 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 91cdf502-c996-4e8b-ad26-51f6a8309bbe + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:28:21 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 58dc538e-3b41-485e-9740-89ac08aff843 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:28:31 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - adc2513b-634d-44e7-8946-c5207cf1043f + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:28:41 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - ac421cad-5882-46de-9130-e784f1fbcb2a + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:28:51 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - bbbe8fba-85d1-4068-ac38-b5c4b6996101 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:29:03 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - b017dd2a-d427-4f97-93fe-b99599eb591a + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:29:13 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 3831747e-20ed-4f56-a586-c76f0b54f044 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:29:23 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 4056ba30-cdc6-460f-9d74-a3fdcf023ff4 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:29:33 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - ffab2163-914f-4e65-aa6a-bdb2734a2058 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:29:43 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 3b9cf658-0243-48c5-ad4e-83cdbf017caa + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:29:54 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 63e40782-bb8e-470b-9d75-7c76cfc960c7 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:30:04 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 8280ae8a-d6c6-4604-a4a5-42b7d88f6d6a + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:30:14 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 0ab74de9-11b4-409b-af55-c527ff5f14d0 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:30:25 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 3c98cd23-d23d-48b1-9b5e-eb7563763958 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:30:36 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 3329f18d-efaf-4e8b-9572-f47415fb3509 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:30:46 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - f4c58509-3f05-42be-8e53-7c9c9c7246b8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:30:56 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 41993ab4-b7fe-4743-9925-d4267249696b + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:31:06 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 25deb130-833b-493d-8316-b2096f81abb9 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:31:17 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - f501ef7f-5cb6-4407-a9d0-eb04b4a2d7e7 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:31:27 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 5f9b48cd-8d23-4b39-9cdc-af23b3526072 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:31:37 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 289b28cf-4956-42b1-9a3e-3dcd321f3bc7 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:31:47 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 688b0cb0-30f3-4a5a-8cf0-74e8b18b2bc6 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:31:57 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - e7509613-4a2c-43d2-adb1-82e78c92e06e + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:32:09 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 3cdfe7ed-bc22-466a-ac34-cb6af988fdab + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:32:19 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 35a70fbd-c67e-4bb9-8899-92f9cb7bad57 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:32:30 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - f2ed1fbf-feae-45a0-84b1-349523d9fe8a + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:32:40 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - aa0ec90e-7c15-46b6-9687-6ead796976d1 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:32:50 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 4db0e8e7-1741-4482-abae-53225251266a + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:33:00 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - dab5903a-cd0c-415f-857d-5ac5b595c260 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:33:11 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 3e9843cb-83a7-41a4-ae91-c00bbe44c15b + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:33:21 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - edfb77ee-5a38-4d76-bbbb-034815007491 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:33:32 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 20596bfc-1ec7-468d-8ce3-608a4431519e + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:33:42 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 1ef4c4c0-d161-4bc8-921a-0c10be01a3b1 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:33:52 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 239ab5a7-6275-4eb1-9d1f-8f3198e02426 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:34:03 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 7a1bd130-bb72-4797-b8f8-0971214b7dd8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:34:13 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - a8a60a6f-ab3d-49a0-bf49-c3116653d744 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:34:23 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - f28b9f68-f220-4164-8b17-d99de333e381 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:34:33 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - f0167530-3b2e-430d-8d21-7ff72ef8cb11 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:34:43 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 231492b9-b732-4921-87f9-4fbb5f469a40 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:34:55 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 2bd0c7ab-5f60-4955-b0f7-814a0da1ca94 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:35:05 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 18154fb8-dcbb-4427-9c52-acdf48a6fb90 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:35:15 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 2c319a8f-3a6f-4ea6-b691-ea151bbe1c82 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:35:25 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - f4e90ed1-52c8-46ac-a8f0-cb4e433a10b7 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:35:36 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 1c76cd39-7911-4b0c-9626-81dfa7aa19cc + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:35:46 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - bda9569b-da7d-40c7-9fec-cdaf356d047c + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:35:56 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 9a03bea1-fa4a-4760-84c9-e07933a25820 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:36:07 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 49468671-0a13-446a-a563-90b2410d578d + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:36:17 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 768b2e4a-2af1-40fc-b66b-5018cc1ba4d4 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:36:28 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 4145364f-9d2d-40ed-bcf5-2d68a058cac5 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:36:38 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 6ece3a7d-5423-41ce-b7d0-ce63594d0f11 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:36:48 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 50ffcea8-9658-471b-8989-99d2cbda2f35 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:36:58 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 0f397505-b344-4ca6-8c90-9e5ccf62f377 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:37:08 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 57a2f14d-ae05-4f02-9f98-3a519600cb1b + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:37:19 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 194eb105-c788-4b35-b872-554fe944a3ac + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:37:29 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 5b2b4069-8532-4128-b1d2-7ea49692202a + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:37:39 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 7adc3059-c369-446b-9ad5-cf8647f35cc4 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:37:50 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 9d494fa0-114c-4da8-8696-66311d588148 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:38:01 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 88d48128-d3a4-45a0-8fc6-5eb5eb74ee05 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:38:11 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 13db3d7e-cc92-47d5-babc-f31225c14b03 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:38:21 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 01cc4ab8-c7fb-4f6d-8e3e-18e6d528c322 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:38:32 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 7ee1255a-d263-4c85-8d73-8f0a1acadab9 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:38:43 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 42870399-d193-42fc-b39d-421aaeaa670d + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:38:53 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 4980f2e1-2d83-44b3-bbc4-b288c3d43b1b + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:39:03 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 0a713846-06e6-4e85-9016-f3f01d606f97 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:39:13 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 9086c48f-3429-4169-a859-2a8171c628a5 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:39:25 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - ad2cbad8-a7df-4d86-8d06-546d4660f9c3 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:39:35 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 9563b3c8-33f0-434f-8051-0a4fe4e47d0b + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:39:45 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 191524a5-789b-4801-8a4f-1d343bb21271 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:39:55 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 65ac136d-8fb6-4679-8db4-1df8a85ff651 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:40:05 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 691ea23e-1057-4435-acbe-9423ce64d8e5 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:40:16 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 5f85346e-4980-4348-86c6-8ea09a83daab + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:40:26 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - c75e8f24-69fe-41d2-967a-243dc42d98c0 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:40:36 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - f318242f-3c85-4f6a-80f2-21a9458e6dd5 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:40:47 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - be25c997-c108-40e8-8410-570b48ce0ff6 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:40:58 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - d6f5bb33-15c9-4b3f-9c3e-b9961bd60a17 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:41:08 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 694ccd76-169e-4f37-a06b-2022c31754fb + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:41:18 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 482056d1-bc71-47cf-8f91-f1f2d90d8a77 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:41:28 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - c01d6a44-a849-4e71-8215-614215673681 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:41:38 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - d0280536-d470-45dd-bbf5-13c0a974c58b + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:41:49 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 9239c521-0ae3-44c3-b018-053dfb60da6b + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:41:59 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 4d34be92-b77e-479f-9a65-968b86dca4b1 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:42:09 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 4f59561a-feef-4581-8364-a6bbc6d27672 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:42:20 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - d0e2f43f-d260-48b4-935e-a82040defd8b + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:42:31 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - cdd65ac5-13fd-49d2-b072-2bf290c080d0 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:42:41 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 2bfcd22a-56a4-4cf7-84de-4ccde0f2f5bc + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:42:51 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - ff83337f-0065-43f7-bde7-7f50e873973f + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:43:01 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 32ffade2-a66e-4ec7-8bf0-0c121f74dad3 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:43:12 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 1576ca27-1e00-4222-a67b-74984e0d4248 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:43:22 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 5774809f-bbe9-4891-8762-a190c098dd49 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:43:32 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 45568ff5-2ae0-42fb-9ebf-6f6757e9950f + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:43:42 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - f12b93c3-9c0a-443f-9e27-942b6cc4f917 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:43:54 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - b7587416-591f-4c02-9740-40b1697b7ef6 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:44:04 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - a881bd18-9489-43a2-a80c-fcd4489d1ac3 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:44:14 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 88daaa56-2fc5-40fa-b3df-f5af235a8623 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:44:24 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - d6004131-6ea7-40b3-b3c5-929cf079e4ee + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:44:34 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 4ebae267-4cbf-49bf-b6a1-cb56e4c3df16 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:44:45 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 42a8861d-7452-4dab-ae06-6929c4e2f5ce + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:44:55 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 3aa48b17-2f03-41de-8d50-1c651b6e0bb4 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:45:06 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 654d119c-d885-46fc-a461-01f51ba44554 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:45:16 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 3e442ca3-98f1-4e8c-b48c-07d029f03124 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:45:26 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - ce4181a9-ba79-488b-8612-212054ab396f + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:45:37 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 7bbf1849-2142-4830-9548-7300fd44af03 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:45:48 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 0b401ca6-d615-4389-a605-346238886adc + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:45:58 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 7faf9bd5-51b0-4a0a-a1ed-d8d4d2f5d6f9 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:46:10 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 76064559-b737-42aa-b44e-6f534cef656a + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:46:20 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - c2839d48-a1dc-4715-acc2-00ad0cb47791 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:46:31 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 58922595-73f2-48e8-ad16-64c12871471f + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:46:41 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 60e988e0-c150-46c9-a631-903153dd39ed + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:46:51 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - a4f155b2-4365-49fe-bd1e-11a04cc89789 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:47:01 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 69ff23e1-c6a9-4dbd-9763-57623eb85fcf + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:47:12 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 9a459f17-ac13-427e-bab8-d80ec12b93cd + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:47:23 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 5337ad3e-264b-4a2e-a161-ad57759f8dbd + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:47:33 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 7a28d156-04a9-47ba-9c5a-02dfda162f94 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:47:43 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - ab002db3-afd0-4041-9003-91474fb12058 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:47:53 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - a4dfa7f5-2e51-429b-bcf9-2df486b99f41 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:48:03 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - df586576-f738-4b31-8fc9-23817104e98d + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:48:14 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 4310585a-a3a0-4763-90e3-863045b25292 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:48:24 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 0f3906fd-2a6f-4b7e-8f8f-7e01782cf2e9 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:48:34 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 0c95421a-f295-4ddf-87eb-6e68504a2893 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:48:45 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 1bb24b66-6057-4f7a-bcde-c07141881b19 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:48:56 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - e11b7127-f512-4f1d-bcfc-a274125124c8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:49:06 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - f53a4bd8-14ba-49fa-9a95-1e8f1aca9f43 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:49:16 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - ad9116e4-f61d-409d-9816-cae14546ba30 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:49:26 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 897da0a5-595f-4ad1-afbd-5b10a1e9e4fc + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:49:36 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 3209b846-2816-4a08-bbe0-2f2b0802fc83 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:49:47 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - e015a78d-95de-4dc1-8884-e308ddf971eb + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:49:57 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 1a0ff300-501f-41b4-9ef5-f84337388cab + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:50:07 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 8a5c7d1e-3732-4aa8-9437-0cc65e4044e2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:50:18 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 38d13b6c-8b3c-43f6-a40b-a9ce49d07c67 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:50:28 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - eef86721-0221-43ce-af3e-39ddded9e551 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:50:39 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 4dc28660-0d6e-4ee8-a1d7-ad812d909e62 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:50:49 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 922e15f5-480c-4f2d-b05c-03557061ebe2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:50:59 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - b049b6dd-5909-4fbc-9dd2-00228098e44e + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:51:10 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - c029e188-55f8-4d98-bbc2-e40fce023015 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:51:20 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 0f194073-2944-4a70-91fc-672c164602d5 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:51:30 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 9cc56b0b-dcef-43b3-909c-48f4ec2893e5 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:51:40 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - e4333a97-1275-46a5-80d1-860bea6e0a17 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:51:50 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - e6a4b835-a421-473f-8e57-c2e46d1405ec + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:52:02 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 85795c09-d6d9-4d3f-b3a2-faad324b2089 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:52:12 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 62b134ff-3017-4d59-9e0e-7db2b2a3b097 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:52:22 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 97775975-f561-4455-ba13-8ad82845d499 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:52:32 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 2d772e36-35ac-40f1-ba87-d718d896879e + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:52:42 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 56884816-d2ca-4daa-9e29-b31b1decd1fb + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:52:52 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 0cb552d5-91b7-498b-9f4d-a6e4983ae2d1 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:53:03 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - ab509e17-8b02-4e66-923c-88d128650ea3 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:53:13 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 3f4f2c97-fadb-4678-b1e6-0928673149bd + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:53:24 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 0f2217f2-9dd6-4b5b-98c1-13e6d3123ddf + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:53:34 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 85a74d2a-5139-4c35-8687-5d169974414e + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:53:44 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 92e62447-49c2-4652-abb0-322cc97f673a + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8855dded-3dda-46b6-b6c1-026c496fd7aa?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"Succeeded\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '29' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:53:54 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 996b292e-f9b8-472b-83fa-c2d30a27d45b + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -n --scale-unit --vpn-server-config --address-space + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2svpnGateways/clitestvp2sgateway?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"clitestvp2sgateway\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway\",\r\n + \ \"etag\": \"W/\\\"3a9d26e4-a170-445a-b8dc-a521cc8ba79a\\\"\",\r\n \"type\": + \"Microsoft.Network/p2sVpnGateways\",\r\n \"location\": \"westus\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Succeeded\",\r\n \"virtualHub\": {\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub\"\r\n + \ },\r\n \"vpnServerConfiguration\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig2\"\r\n + \ },\r\n \"vpnServerConfigurationLocation\": \"westus\",\r\n \"p2SConnectionConfigurations\": + [\r\n {\r\n \"name\": \"False\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway/p2sConnectionConfigurations/False\",\r\n + \ \"etag\": \"W/\\\"3a9d26e4-a170-445a-b8dc-a521cc8ba79a\\\"\",\r\n + \ \"type\": \"Microsoft.Network/p2sVpnGateways/p2sConnectionConfigurations\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"routingConfiguration\": {\r\n \"propagatedRouteTables\": + {\r\n \"labels\": [],\r\n \"ids\": []\r\n },\r\n + \ \"vnetRoutes\": {\r\n \"staticRoutes\": []\r\n }\r\n + \ },\r\n \"vpnClientAddressPool\": {\r\n \"addressPrefixes\": + [\r\n \"13.0.0.0/24\",\r\n \"12.0.0.0/24\"\r\n ]\r\n + \ },\r\n \"enableInternetSecurity\": false\r\n }\r\n + \ }\r\n ],\r\n \"vpnGatewayScaleUnit\": 3,\r\n \"customDnsServers\": + []\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '2078' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:53:55 GMT + etag: + - W/"3a9d26e4-a170-445a-b8dc-a521cc8ba79a" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 93472a05-aa3a-4a6c-a5ea-3ed86b643200 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway list + Connection: + - keep-alive + ParameterSetName: + - -g + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2svpnGateways?api-version=2020-04-01 + response: + body: + string: "{\r\n \"value\": [\r\n {\r\n \"name\": \"clitestvp2sgateway\",\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway\",\r\n + \ \"etag\": \"W/\\\"3a9d26e4-a170-445a-b8dc-a521cc8ba79a\\\"\",\r\n \"type\": + \"Microsoft.Network/p2sVpnGateways\",\r\n \"location\": \"westus\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"virtualHub\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub\"\r\n + \ },\r\n \"vpnServerConfiguration\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig2\"\r\n + \ },\r\n \"vpnServerConfigurationLocation\": \"westus\",\r\n + \ \"p2SConnectionConfigurations\": [\r\n {\r\n \"name\": + \"False\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway/p2sConnectionConfigurations/False\",\r\n + \ \"etag\": \"W/\\\"3a9d26e4-a170-445a-b8dc-a521cc8ba79a\\\"\",\r\n + \ \"type\": \"Microsoft.Network/p2sVpnGateways/p2sConnectionConfigurations\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"routingConfiguration\": {\r\n \"propagatedRouteTables\": + {\r\n \"labels\": [],\r\n \"ids\": []\r\n + \ },\r\n \"vnetRoutes\": {\r\n \"staticRoutes\": + []\r\n }\r\n },\r\n \"vpnClientAddressPool\": + {\r\n \"addressPrefixes\": [\r\n \"13.0.0.0/24\",\r\n + \ \"12.0.0.0/24\"\r\n ]\r\n },\r\n + \ \"enableInternetSecurity\": false\r\n }\r\n }\r\n + \ ],\r\n \"vpnGatewayScaleUnit\": 3,\r\n \"customDnsServers\": + []\r\n }\r\n }\r\n ]\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '2287' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:53:56 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - cb39aed1-3df8-463a-b00c-e4c9a58c7c7b + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway list + Connection: + - keep-alive + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/p2svpnGateways?api-version=2020-04-01 + response: + body: + string: "{\r\n \"value\": [\r\n {\r\n \"name\": \"clitestvp2sgateway\",\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway\",\r\n + \ \"etag\": \"W/\\\"3a9d26e4-a170-445a-b8dc-a521cc8ba79a\\\"\",\r\n \"type\": + \"Microsoft.Network/p2sVpnGateways\",\r\n \"location\": \"westus\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"virtualHub\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub\"\r\n + \ },\r\n \"vpnServerConfiguration\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig2\"\r\n + \ },\r\n \"vpnServerConfigurationLocation\": \"westus\",\r\n + \ \"p2SConnectionConfigurations\": [\r\n {\r\n \"name\": + \"False\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway/p2sConnectionConfigurations/False\",\r\n + \ \"etag\": \"W/\\\"3a9d26e4-a170-445a-b8dc-a521cc8ba79a\\\"\",\r\n + \ \"type\": \"Microsoft.Network/p2sVpnGateways/p2sConnectionConfigurations\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"routingConfiguration\": {\r\n \"propagatedRouteTables\": + {\r\n \"labels\": [],\r\n \"ids\": []\r\n + \ },\r\n \"vnetRoutes\": {\r\n \"staticRoutes\": + []\r\n }\r\n },\r\n \"vpnClientAddressPool\": + {\r\n \"addressPrefixes\": [\r\n \"13.0.0.0/24\",\r\n + \ \"12.0.0.0/24\"\r\n ]\r\n },\r\n + \ \"enableInternetSecurity\": false\r\n }\r\n }\r\n + \ ],\r\n \"vpnGatewayScaleUnit\": 3,\r\n \"customDnsServers\": + []\r\n }\r\n }\r\n ]\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '2287' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:53:58 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - d2842608-6c1b-4a06-9016-cb18d4d1c9a3 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway show + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2svpnGateways/clitestvp2sgateway?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"clitestvp2sgateway\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway\",\r\n + \ \"etag\": \"W/\\\"3a9d26e4-a170-445a-b8dc-a521cc8ba79a\\\"\",\r\n \"type\": + \"Microsoft.Network/p2sVpnGateways\",\r\n \"location\": \"westus\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Succeeded\",\r\n \"virtualHub\": {\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub\"\r\n + \ },\r\n \"vpnServerConfiguration\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig2\"\r\n + \ },\r\n \"vpnServerConfigurationLocation\": \"westus\",\r\n \"p2SConnectionConfigurations\": + [\r\n {\r\n \"name\": \"False\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2sVpnGateways/clitestvp2sgateway/p2sConnectionConfigurations/False\",\r\n + \ \"etag\": \"W/\\\"3a9d26e4-a170-445a-b8dc-a521cc8ba79a\\\"\",\r\n + \ \"type\": \"Microsoft.Network/p2sVpnGateways/p2sConnectionConfigurations\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"routingConfiguration\": {\r\n \"propagatedRouteTables\": + {\r\n \"labels\": [],\r\n \"ids\": []\r\n },\r\n + \ \"vnetRoutes\": {\r\n \"staticRoutes\": []\r\n }\r\n + \ },\r\n \"vpnClientAddressPool\": {\r\n \"addressPrefixes\": + [\r\n \"13.0.0.0/24\",\r\n \"12.0.0.0/24\"\r\n ]\r\n + \ },\r\n \"enableInternetSecurity\": false\r\n }\r\n + \ }\r\n ],\r\n \"vpnGatewayScaleUnit\": 3,\r\n \"customDnsServers\": + []\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '2078' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:53:58 GMT + etag: + - W/"3a9d26e4-a170-445a-b8dc-a521cc8ba79a" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - dc802399-bcf5-4d52-b409-d4bb26afebb0 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g -n + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2svpnGateways/clitestvp2sgateway?api-version=2020-04-01 + response: + body: + string: '' + headers: + azure-asyncnotification: + - Enabled + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/94d4ccb8-d278-45f6-9c6b-cad9dfd83ebb?api-version=2020-04-01 + cache-control: + - no-cache + content-length: + - '0' + date: + - Fri, 05 Jun 2020 09:54:00 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operationResults/94d4ccb8-d278-45f6-9c6b-cad9dfd83ebb?api-version=2020-04-01 + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - d39da7a0-fd50-468c-bbee-5038d0ad27b7 + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway delete + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/94d4ccb8-d278-45f6-9c6b-cad9dfd83ebb?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:54:11 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 2d2fc6e6-393b-4e9f-a57b-020ba055c324 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway delete + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/94d4ccb8-d278-45f6-9c6b-cad9dfd83ebb?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:54:21 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 2186b994-0023-42c3-bf5c-ae4b525766f7 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway delete + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/94d4ccb8-d278-45f6-9c6b-cad9dfd83ebb?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:54:31 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 25b9dd83-e599-465d-918f-6df3654481c6 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway delete + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/94d4ccb8-d278-45f6-9c6b-cad9dfd83ebb?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:54:41 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 61b0a346-5b1f-44a4-8163-48dbe25cd8c5 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway delete + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/94d4ccb8-d278-45f6-9c6b-cad9dfd83ebb?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:54:52 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 94ffc316-8b35-459f-98f3-ea4a5d803b74 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway delete + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/94d4ccb8-d278-45f6-9c6b-cad9dfd83ebb?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:55:02 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 01f54bb9-84b1-4e0b-b999-610c638e88dd + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway delete + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/94d4ccb8-d278-45f6-9c6b-cad9dfd83ebb?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:55:12 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - af79f69d-021d-43cb-b6a4-f217efb160ff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway delete + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/94d4ccb8-d278-45f6-9c6b-cad9dfd83ebb?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:55:22 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - e0d14839-2c6a-402b-9965-c5119302a1a5 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway delete + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/94d4ccb8-d278-45f6-9c6b-cad9dfd83ebb?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:55:34 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - c038b9f9-a2c9-49ca-a86e-6c9952736b7a + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway delete + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/94d4ccb8-d278-45f6-9c6b-cad9dfd83ebb?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:55:44 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - b275bd2c-f293-4cda-af6e-b1a4978f2fc1 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway delete + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/94d4ccb8-d278-45f6-9c6b-cad9dfd83ebb?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:55:54 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 456c7064-9c89-473a-8624-cde3dfb921c0 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway delete + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/94d4ccb8-d278-45f6-9c6b-cad9dfd83ebb?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:56:04 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 2eb359e4-fa65-4090-b214-63ca5ab33414 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway delete + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/94d4ccb8-d278-45f6-9c6b-cad9dfd83ebb?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:56:15 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 52cc4765-378e-48e0-bdb9-d85019211535 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway delete + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/94d4ccb8-d278-45f6-9c6b-cad9dfd83ebb?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:56:25 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - ad938934-9828-4887-a608-cd292767773a + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway delete + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/94d4ccb8-d278-45f6-9c6b-cad9dfd83ebb?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:56:35 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 3c4755e6-0c0b-4b38-af62-2228a29af77f + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway delete + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/94d4ccb8-d278-45f6-9c6b-cad9dfd83ebb?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:56:45 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - a13c1996-4066-41bd-be0d-fc26e421f7fb + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway delete + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/94d4ccb8-d278-45f6-9c6b-cad9dfd83ebb?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:56:56 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 2c107f86-4e61-4a89-8fa5-fc06e1977005 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway delete + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/94d4ccb8-d278-45f6-9c6b-cad9dfd83ebb?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:57:06 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 2f79ebb7-feac-4ec2-a2f2-f4663b70b420 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway delete + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/94d4ccb8-d278-45f6-9c6b-cad9dfd83ebb?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:57:17 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 233cd4d4-db54-4f08-ac82-970e752a05f9 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway delete + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/94d4ccb8-d278-45f6-9c6b-cad9dfd83ebb?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:57:28 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 99bacfeb-6dd1-490f-8cc5-dc5b458e9d15 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway delete + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/94d4ccb8-d278-45f6-9c6b-cad9dfd83ebb?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:57:38 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - d99da4b1-0a69-4405-bfa5-cabe4c353349 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway delete + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/94d4ccb8-d278-45f6-9c6b-cad9dfd83ebb?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:57:48 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - f6108f9f-4d5f-4a8c-905a-5c8390f821ff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway delete + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/94d4ccb8-d278-45f6-9c6b-cad9dfd83ebb?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:57:58 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 8a87be52-c827-4c8d-9c83-ed255de959e5 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway delete + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/94d4ccb8-d278-45f6-9c6b-cad9dfd83ebb?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:58:09 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - d753549d-f6c7-42db-a1f1-814ca10aeb46 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway delete + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/94d4ccb8-d278-45f6-9c6b-cad9dfd83ebb?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:58:19 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 562bb95b-2917-4ac6-a0af-dbaaa62ed147 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway delete + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/94d4ccb8-d278-45f6-9c6b-cad9dfd83ebb?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:58:30 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 67ab0b50-0975-425c-b6fc-1c0a9df2691e + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway delete + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/94d4ccb8-d278-45f6-9c6b-cad9dfd83ebb?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:58:40 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 8e6e4426-baea-43d3-b347-5d89c90233f3 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway delete + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/94d4ccb8-d278-45f6-9c6b-cad9dfd83ebb?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:58:50 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - f9c60967-9a4c-4c20-a957-45eb5651351f + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway delete + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/94d4ccb8-d278-45f6-9c6b-cad9dfd83ebb?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:59:00 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - d860e7ca-d504-4bdb-b4d6-ed9c2412264f + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway delete + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/94d4ccb8-d278-45f6-9c6b-cad9dfd83ebb?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:59:11 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - cb27e7ad-f2e8-47b3-b65d-1f994c5c0a87 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway delete + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/94d4ccb8-d278-45f6-9c6b-cad9dfd83ebb?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:59:22 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 5e6c2c40-7968-4015-8502-507b8674bcfd + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway delete + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/94d4ccb8-d278-45f6-9c6b-cad9dfd83ebb?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:59:32 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 0d2028dd-b7d6-4e2f-b7d1-10d3885c4054 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway delete + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/94d4ccb8-d278-45f6-9c6b-cad9dfd83ebb?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:59:43 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 329d3153-5d0e-4afe-931b-5bd59d842382 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway delete + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/94d4ccb8-d278-45f6-9c6b-cad9dfd83ebb?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 09:59:53 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - ffab8a96-a56d-4bb4-8e5e-1d3d696487d0 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway delete + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/94d4ccb8-d278-45f6-9c6b-cad9dfd83ebb?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 10:00:03 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - a2d12041-e762-499c-aa56-a405c87783ac + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway delete + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/94d4ccb8-d278-45f6-9c6b-cad9dfd83ebb?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 10:00:13 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 449497ce-063f-4a84-921d-5c6eca5e6f3d + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway delete + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/94d4ccb8-d278-45f6-9c6b-cad9dfd83ebb?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 10:00:24 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - ef5b71e0-93cf-4498-ba74-eff729c7325e + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway delete + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/94d4ccb8-d278-45f6-9c6b-cad9dfd83ebb?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 10:00:34 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 0c74a3b0-8deb-4dbf-a1b8-3855da8fd6dd + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway delete + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/94d4ccb8-d278-45f6-9c6b-cad9dfd83ebb?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 10:00:44 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 1d96f7be-4846-4117-8e1c-ad35867789fd + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway delete + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/94d4ccb8-d278-45f6-9c6b-cad9dfd83ebb?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 10:00:54 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 654602c2-9bd9-4aad-8025-ece4c0640820 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway delete + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/94d4ccb8-d278-45f6-9c6b-cad9dfd83ebb?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 10:01:06 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - f2ebefe7-cb89-46ed-a4c1-f356b4012727 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway delete + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/94d4ccb8-d278-45f6-9c6b-cad9dfd83ebb?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 10:01:16 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 20cef252-6665-4b89-81d7-4664982df45c + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway delete + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/94d4ccb8-d278-45f6-9c6b-cad9dfd83ebb?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 10:01:26 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 9ab16f40-115b-47f1-ad55-1792c3a3b2df + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway delete + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/94d4ccb8-d278-45f6-9c6b-cad9dfd83ebb?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 10:01:36 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 4dd4d7df-8049-4a17-9f81-ab80b0b1953a + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway delete + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/94d4ccb8-d278-45f6-9c6b-cad9dfd83ebb?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 10:01:47 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - e15c31de-586e-4d21-8423-a3f8a0ca7592 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway delete + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/94d4ccb8-d278-45f6-9c6b-cad9dfd83ebb?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 10:01:57 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 61dd6fea-5892-4eb4-8b39-b0d86462e792 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway delete + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/94d4ccb8-d278-45f6-9c6b-cad9dfd83ebb?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 10:02:07 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 6a4aa127-49c6-473c-9293-734eb694019d + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway delete + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/94d4ccb8-d278-45f6-9c6b-cad9dfd83ebb?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 10:02:17 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - fe429e08-6aa1-4930-980b-224d8d9a920d + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway delete + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/94d4ccb8-d278-45f6-9c6b-cad9dfd83ebb?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 10:02:28 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - f81353e6-bf1a-4bc2-9ddd-b66de582b221 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway delete + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/94d4ccb8-d278-45f6-9c6b-cad9dfd83ebb?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 10:02:38 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 07855ddc-5666-4921-98d3-38d5c69ecea9 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway delete + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/94d4ccb8-d278-45f6-9c6b-cad9dfd83ebb?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 10:02:49 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 85619cc2-277a-47a4-b50e-001cd11482a8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway delete + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/94d4ccb8-d278-45f6-9c6b-cad9dfd83ebb?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 10:02:59 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 4375c19e-0308-40ac-8462-494e088ada77 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway delete + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/94d4ccb8-d278-45f6-9c6b-cad9dfd83ebb?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 10:03:10 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - b29ee1e3-2caf-4aa4-9aba-4f1f75ce125e + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway delete + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/94d4ccb8-d278-45f6-9c6b-cad9dfd83ebb?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 10:03:20 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 26a3155e-be2e-48b4-be8d-518bd5cb1a87 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway delete + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/94d4ccb8-d278-45f6-9c6b-cad9dfd83ebb?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 10:03:31 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 4ea60759-802e-4e65-a1e6-317978e64ce8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway delete + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/94d4ccb8-d278-45f6-9c6b-cad9dfd83ebb?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 10:03:41 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 7f411e00-f217-46ac-a2ba-5b02f4ea60a8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway delete + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/94d4ccb8-d278-45f6-9c6b-cad9dfd83ebb?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 10:03:51 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 3eb9fd63-042f-4d56-83dc-83b4f2e10186 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway delete + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/94d4ccb8-d278-45f6-9c6b-cad9dfd83ebb?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 10:04:01 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 5661affa-f124-4c5f-b691-25795bbea398 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway delete + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/94d4ccb8-d278-45f6-9c6b-cad9dfd83ebb?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 10:04:12 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 517b6c68-5011-494a-bc8e-2a422a2dc721 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway delete + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/94d4ccb8-d278-45f6-9c6b-cad9dfd83ebb?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 10:04:22 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 1631df6d-532f-47f4-b0e5-8348f9c19569 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway delete + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/94d4ccb8-d278-45f6-9c6b-cad9dfd83ebb?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 10:04:32 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 4c6679cc-7bf9-4796-9ce1-fc6e3c27d596 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway delete + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/94d4ccb8-d278-45f6-9c6b-cad9dfd83ebb?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 10:04:43 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - e275ecbb-2369-44d4-ab9c-73f8b27651b9 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway delete + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/94d4ccb8-d278-45f6-9c6b-cad9dfd83ebb?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 10:04:53 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 0fd9392a-d4ec-4307-88fb-ae2bbcfec06b + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway delete + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/94d4ccb8-d278-45f6-9c6b-cad9dfd83ebb?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 10:05:03 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - bc6c0603-15c3-4e8d-801a-6359198c7622 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway delete + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/94d4ccb8-d278-45f6-9c6b-cad9dfd83ebb?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 10:05:14 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - a4db65e8-249d-4ae5-b0ec-884004584c81 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway delete + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/94d4ccb8-d278-45f6-9c6b-cad9dfd83ebb?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 10:05:24 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 550cd1f3-dd7c-4bd9-8c26-5da8102754be + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway delete + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/94d4ccb8-d278-45f6-9c6b-cad9dfd83ebb?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 10:05:34 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 7bcb8875-214f-4944-8e9b-923ddc2d0422 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway delete + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/94d4ccb8-d278-45f6-9c6b-cad9dfd83ebb?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 10:05:44 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - ac29a2fc-6099-4b7b-8393-0c5e3331e878 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway delete + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/94d4ccb8-d278-45f6-9c6b-cad9dfd83ebb?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 10:05:54 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - f9f8fb26-c2a4-44a4-bd6a-513459442441 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway delete + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/94d4ccb8-d278-45f6-9c6b-cad9dfd83ebb?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 10:06:05 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - eb0a7204-a368-4793-9436-58ef9cc613dc + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway delete + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/94d4ccb8-d278-45f6-9c6b-cad9dfd83ebb?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 10:06:15 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 7b09e263-2ad5-434d-8a03-c2155542f4d5 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway delete + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/94d4ccb8-d278-45f6-9c6b-cad9dfd83ebb?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 10:06:26 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - afc9f1ab-7974-4239-8b71-b9e02822652d + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway delete + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/94d4ccb8-d278-45f6-9c6b-cad9dfd83ebb?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"Succeeded\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '29' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 10:06:36 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 994bc1d3-e323-43a5-8327-736729b07010 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network p2s-vpn-gateway show + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/p2svpnGateways/clitestvp2sgateway?api-version=2020-04-01 + response: + body: + string: '{"error":{"code":"ResourceNotFound","message":"The Resource ''Microsoft.Network/p2sVpnGateways/clitestvp2sgateway'' + under resource group ''cli_test_azure_vhub_connection000001'' was not found."}}' + headers: + cache-control: + - no-cache + content-length: + - '230' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 05 Jun 2020 10:06:38 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-failure-cause: + - gateway + status: + code: 404 + message: Not Found +version: 1 diff --git a/src/virtual-wan/azext_vwan/tests/latest/recordings/test_azure_vhub_connection_basic_scenario.yaml b/src/virtual-wan/azext_vwan/tests/latest/recordings/test_azure_vhub_connection_basic_scenario.yaml index cc1b8867487..a5efdb39cb5 100644 --- a/src/virtual-wan/azext_vwan/tests/latest/recordings/test_azure_vhub_connection_basic_scenario.yaml +++ b/src/virtual-wan/azext_vwan/tests/latest/recordings/test_azure_vhub_connection_basic_scenario.yaml @@ -13,15 +13,15 @@ interactions: ParameterSetName: - -g -n User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-resource/8.0.1 Azure-SDK-For-Python AZURECLI/2.2.0 + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-resource/9.0.0 + Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_azure_vhub_connection000001?api-version=2019-07-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001","name":"cli_test_azure_vhub_connection000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2020-03-25T13:13:46Z","StorageType":"Standard_LRS","type":"test"},"properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001","name":"cli_test_azure_vhub_connection000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2020-06-08T03:35:24Z","StorageType":"Standard_LRS","type":"test"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -30,7 +30,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 25 Mar 2020 13:13:56 GMT + - Mon, 08 Jun 2020 03:35:28 GMT expires: - '-1' pragma: @@ -63,19 +63,19 @@ interactions: ParameterSetName: - -g -n User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.2.0 + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualNetworks/clitestvnet?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualNetworks/clitestvnet?api-version=2020-04-01 response: body: string: "{\r\n \"name\": \"clitestvnet\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualNetworks/clitestvnet\",\r\n - \ \"etag\": \"W/\\\"5a1f58c8-49a5-45e0-8e27-ceae3f152573\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"7ae81f5c-5d02-4032-bb86-7ea33cb76112\\\"\",\r\n \"type\": \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"westus\",\r\n \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n - \ \"resourceGuid\": \"3e86f416-7b66-458b-a93b-6f70ffe266a1\",\r\n \"addressSpace\": + \ \"resourceGuid\": \"0c7ab228-c1e8-4bb9-8213-1944d0bc8822\",\r\n \"addressSpace\": {\r\n \"addressPrefixes\": [\r\n \"10.0.0.0/16\"\r\n ]\r\n \ },\r\n \"dhcpOptions\": {\r\n \"dnsServers\": []\r\n },\r\n \ \"subnets\": [],\r\n \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\": @@ -84,7 +84,7 @@ interactions: azure-asyncnotification: - Enabled azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/10258cbb-eadb-44d8-8b9c-3be622d84749?api-version=2019-11-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/f2da7bcb-e0d5-4aec-a155-eaaf030a1f45?api-version=2020-04-01 cache-control: - no-cache content-length: @@ -92,7 +92,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 25 Mar 2020 13:14:02 GMT + - Mon, 08 Jun 2020 03:35:35 GMT expires: - '-1' pragma: @@ -105,7 +105,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - e087a65f-ed52-4dc5-bca4-311f76f891c6 + - 0f1898d3-d6d8-4063-ad3d-adb3682d557a x-ms-ratelimit-remaining-subscription-writes: - '1199' status: @@ -125,10 +125,10 @@ interactions: ParameterSetName: - -g -n User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.2.0 + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/10258cbb-eadb-44d8-8b9c-3be622d84749?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/f2da7bcb-e0d5-4aec-a155-eaaf030a1f45?api-version=2020-04-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -140,7 +140,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 25 Mar 2020 13:14:07 GMT + - Mon, 08 Jun 2020 03:35:39 GMT expires: - '-1' pragma: @@ -157,7 +157,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 27fa74d2-3d20-441a-bd76-b0f956b2bd06 + - 901f028c-ec53-4b89-864b-e29cfbf72181 status: code: 200 message: OK @@ -175,110 +175,10 @@ interactions: ParameterSetName: - -g -n User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.2.0 + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/10258cbb-eadb-44d8-8b9c-3be622d84749?api-version=2019-11-01 - response: - body: - string: "{\r\n \"status\": \"InProgress\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '30' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 25 Mar 2020 13:14:17 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-arm-service-request-id: - - c1ccad82-e79c-46cb-bf05-bd2af578f2da - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network vnet create - Connection: - - keep-alive - ParameterSetName: - - -g -n - User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.2.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/10258cbb-eadb-44d8-8b9c-3be622d84749?api-version=2019-11-01 - response: - body: - string: "{\r\n \"status\": \"InProgress\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '30' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 25 Mar 2020 13:14:27 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-arm-service-request-id: - - 011d761b-8066-44e0-9c12-c809086dd7b1 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network vnet create - Connection: - - keep-alive - ParameterSetName: - - -g -n - User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.2.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/10258cbb-eadb-44d8-8b9c-3be622d84749?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/f2da7bcb-e0d5-4aec-a155-eaaf030a1f45?api-version=2020-04-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -290,7 +190,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 25 Mar 2020 13:14:38 GMT + - Mon, 08 Jun 2020 03:35:49 GMT expires: - '-1' pragma: @@ -307,7 +207,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - aecdb6b0-10fd-4654-9be8-4ee13a9bbc6d + - 5696d680-7ccf-44da-929c-7040e7fc5be0 status: code: 200 message: OK @@ -325,17 +225,17 @@ interactions: ParameterSetName: - -g -n User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.2.0 + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualNetworks/clitestvnet?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualNetworks/clitestvnet?api-version=2020-04-01 response: body: string: "{\r\n \"name\": \"clitestvnet\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualNetworks/clitestvnet\",\r\n - \ \"etag\": \"W/\\\"c7396ef6-dc9d-41c0-af66-782cc36628c3\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"3bb15293-060c-43a9-9a9d-0375930c88c9\\\"\",\r\n \"type\": \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"westus\",\r\n \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"resourceGuid\": \"3e86f416-7b66-458b-a93b-6f70ffe266a1\",\r\n \"addressSpace\": + \ \"resourceGuid\": \"0c7ab228-c1e8-4bb9-8213-1944d0bc8822\",\r\n \"addressSpace\": {\r\n \"addressPrefixes\": [\r\n \"10.0.0.0/16\"\r\n ]\r\n \ },\r\n \"dhcpOptions\": {\r\n \"dnsServers\": []\r\n },\r\n \ \"subnets\": [],\r\n \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\": @@ -348,9 +248,9 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 25 Mar 2020 13:14:38 GMT + - Mon, 08 Jun 2020 03:35:50 GMT etag: - - W/"c7396ef6-dc9d-41c0-af66-782cc36628c3" + - W/"3bb15293-060c-43a9-9a9d-0375930c88c9" expires: - '-1' pragma: @@ -367,7 +267,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - f041da6a-4c9f-4e68-9fd2-22dca2d50f7b + - 58987d91-2747-40cd-b890-7e0117214c7c status: code: 200 message: OK @@ -385,15 +285,15 @@ interactions: ParameterSetName: - -n -g --type User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-resource/8.0.1 Azure-SDK-For-Python AZURECLI/2.2.0 + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-resource/9.0.0 + Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_azure_vhub_connection000001?api-version=2019-07-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001","name":"cli_test_azure_vhub_connection000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2020-03-25T13:13:46Z","StorageType":"Standard_LRS","type":"test"},"properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001","name":"cli_test_azure_vhub_connection000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2020-06-08T03:35:24Z","StorageType":"Standard_LRS","type":"test"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -402,7 +302,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 25 Mar 2020 13:14:42 GMT + - Mon, 08 Jun 2020 03:35:51 GMT expires: - '-1' pragma: @@ -434,8 +334,8 @@ interactions: ParameterSetName: - -n -g --type User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.2.0 + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 networkmanagementclient/2.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: PUT @@ -443,24 +343,24 @@ interactions: response: body: string: "{\r\n \"name\": \"clitestvwan\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualWans/clitestvwan\",\r\n - \ \"etag\": \"W/\\\"0dfb4d66-d2d3-4cca-8ebd-067c6aba122f\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"6ea7ea00-0df2-42dd-af87-d8ad1883ab06\\\"\",\r\n \"type\": \"Microsoft.Network/virtualWans\",\r\n \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \"disableVpnEncryption\": false,\r\n \"allowBranchToBranchTraffic\": true,\r\n \"allowVnetToVnetTraffic\": - false,\r\n \"office365LocalBreakoutCategory\": \"None\"\r\n }\r\n}" + true,\r\n \"office365LocalBreakoutCategory\": \"None\"\r\n }\r\n}" headers: azure-asyncnotification: - Enabled azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/f3d04c00-f031-42f6-95ac-ebd166262e8a?api-version=2018-08-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/9bd3239b-6b57-46dc-b93a-93d8b412cbea?api-version=2018-08-01 cache-control: - no-cache content-length: - - '586' + - '585' content-type: - application/json; charset=utf-8 date: - - Wed, 25 Mar 2020 13:14:48 GMT + - Mon, 08 Jun 2020 03:35:58 GMT expires: - '-1' pragma: @@ -473,9 +373,9 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 1599b56a-7467-4a07-857a-96f7c2aff360 + - 23898834-bee5-4f13-be48-bd8c2eb217dc x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1198' status: code: 201 message: Created @@ -493,10 +393,10 @@ interactions: ParameterSetName: - -n -g --type User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.2.0 + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 networkmanagementclient/2.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/f3d04c00-f031-42f6-95ac-ebd166262e8a?api-version=2018-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/9bd3239b-6b57-46dc-b93a-93d8b412cbea?api-version=2018-08-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -508,7 +408,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 25 Mar 2020 13:15:00 GMT + - Mon, 08 Jun 2020 03:36:10 GMT expires: - '-1' pragma: @@ -525,7 +425,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 12b29d33-8764-4af8-8eb5-33366c82b9a7 + - 3c44161e-2b1d-4c4b-ac36-aba16e1d8081 status: code: 200 message: OK @@ -543,29 +443,29 @@ interactions: ParameterSetName: - -n -g --type User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.2.0 + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 networkmanagementclient/2.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualWans/clitestvwan?api-version=2018-08-01 response: body: string: "{\r\n \"name\": \"clitestvwan\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualWans/clitestvwan\",\r\n - \ \"etag\": \"W/\\\"7b1e8338-3195-4b36-a1b0-4006cf7eb65f\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"70a340d8-a2c7-4971-abf6-3b705c9a68d3\\\"\",\r\n \"type\": \"Microsoft.Network/virtualWans\",\r\n \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"disableVpnEncryption\": false,\r\n \"allowBranchToBranchTraffic\": true,\r\n \"allowVnetToVnetTraffic\": - false,\r\n \"office365LocalBreakoutCategory\": \"None\"\r\n }\r\n}" + true,\r\n \"office365LocalBreakoutCategory\": \"None\"\r\n }\r\n}" headers: cache-control: - no-cache content-length: - - '587' + - '586' content-type: - application/json; charset=utf-8 date: - - Wed, 25 Mar 2020 13:15:00 GMT + - Mon, 08 Jun 2020 03:36:11 GMT etag: - - W/"7b1e8338-3195-4b36-a1b0-4006cf7eb65f" + - W/"70a340d8-a2c7-4971-abf6-3b705c9a68d3" expires: - '-1' pragma: @@ -582,7 +482,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 22c679d3-4db5-44c4-9874-fce64abc0c5e + - bbcb431c-ab8e-481f-942e-d28db5f94532 status: code: 200 message: OK @@ -605,8 +505,8 @@ interactions: ParameterSetName: - -g -n --vwan --address-prefix -l --sku User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.2.0 + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 networkmanagementclient/2.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: PUT @@ -614,25 +514,26 @@ interactions: response: body: string: "{\r\n \"name\": \"clitestvhub\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub\",\r\n - \ \"etag\": \"W/\\\"12ac9589-27a3-4e02-8b81-77804ffd0c2e\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"9f9f73e4-28a0-4250-9023-4080e94a5442\\\"\",\r\n \"type\": \"Microsoft.Network/virtualHubs\",\r\n \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \"virtualNetworkConnections\": - [],\r\n \"addressPrefix\": \"10.5.0.0/16\",\r\n \"routeTable\": {\r\n - \ \"routes\": []\r\n },\r\n \"virtualWan\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualWans/clitestvwan\"\r\n + [],\r\n \"addressPrefix\": \"10.5.0.0/16\",\r\n \"virtualRouterIps\": + [],\r\n \"routeTable\": {\r\n \"routes\": []\r\n },\r\n \"virtualWan\": + {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualWans/clitestvwan\"\r\n \ }\r\n }\r\n}" headers: azure-asyncnotification: - Enabled azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/e0615438-6363-4d82-a11f-cdc164d91172?api-version=2018-08-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/98f2ed38-3d54-418c-a67a-399654b3eb0d?api-version=2018-08-01 cache-control: - no-cache content-length: - - '787' + - '816' content-type: - application/json; charset=utf-8 date: - - Wed, 25 Mar 2020 13:15:11 GMT + - Mon, 08 Jun 2020 03:36:17 GMT expires: - '-1' pragma: @@ -645,7 +546,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 28d3c741-be59-49db-9e67-8531d395a773 + - a1ce3928-5ca6-4b70-8e0f-dc9d6a6eedeb x-ms-ratelimit-remaining-subscription-writes: - '1197' status: @@ -665,10 +566,10 @@ interactions: ParameterSetName: - -g -n --vwan --address-prefix -l --sku User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.2.0 + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 networkmanagementclient/2.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/e0615438-6363-4d82-a11f-cdc164d91172?api-version=2018-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/98f2ed38-3d54-418c-a67a-399654b3eb0d?api-version=2018-08-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -680,7 +581,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 25 Mar 2020 13:15:22 GMT + - Mon, 08 Jun 2020 03:36:29 GMT expires: - '-1' pragma: @@ -697,7 +598,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 6c04ae7a-6ded-43f7-a603-525efe3f000d + - 040f7c01-0e15-4381-9396-bf3b538abe1e status: code: 200 message: OK @@ -715,10 +616,10 @@ interactions: ParameterSetName: - -g -n --vwan --address-prefix -l --sku User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.2.0 + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 networkmanagementclient/2.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/e0615438-6363-4d82-a11f-cdc164d91172?api-version=2018-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/98f2ed38-3d54-418c-a67a-399654b3eb0d?api-version=2018-08-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -730,7 +631,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 25 Mar 2020 13:15:33 GMT + - Mon, 08 Jun 2020 03:36:39 GMT expires: - '-1' pragma: @@ -747,7 +648,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - cf3be0de-f2e4-47b6-b689-8a60440e8360 + - 0e44e18d-0c44-4227-83ce-e8ab521d3c0c status: code: 200 message: OK @@ -765,10 +666,10 @@ interactions: ParameterSetName: - -g -n --vwan --address-prefix -l --sku User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.2.0 + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 networkmanagementclient/2.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/e0615438-6363-4d82-a11f-cdc164d91172?api-version=2018-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/98f2ed38-3d54-418c-a67a-399654b3eb0d?api-version=2018-08-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -780,7 +681,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 25 Mar 2020 13:15:44 GMT + - Mon, 08 Jun 2020 03:36:51 GMT expires: - '-1' pragma: @@ -797,7 +698,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - a5bd1b7e-ec8f-4c57-9794-46834a5de185 + - b9c6a612-8076-42cf-a9c1-05673b088dfa status: code: 200 message: OK @@ -815,10 +716,10 @@ interactions: ParameterSetName: - -g -n --vwan --address-prefix -l --sku User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.2.0 + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 networkmanagementclient/2.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/e0615438-6363-4d82-a11f-cdc164d91172?api-version=2018-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/98f2ed38-3d54-418c-a67a-399654b3eb0d?api-version=2018-08-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -830,7 +731,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 25 Mar 2020 13:15:56 GMT + - Mon, 08 Jun 2020 03:37:01 GMT expires: - '-1' pragma: @@ -847,7 +748,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 095dcf51-bfbe-49ad-9d90-bd3dcb1d2aeb + - 58c16cfa-64d7-4f5b-b93a-fd502db9d9c0 status: code: 200 message: OK @@ -865,10 +766,10 @@ interactions: ParameterSetName: - -g -n --vwan --address-prefix -l --sku User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.2.0 + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 networkmanagementclient/2.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/e0615438-6363-4d82-a11f-cdc164d91172?api-version=2018-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/98f2ed38-3d54-418c-a67a-399654b3eb0d?api-version=2018-08-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -880,7 +781,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 25 Mar 2020 13:16:07 GMT + - Mon, 08 Jun 2020 03:37:12 GMT expires: - '-1' pragma: @@ -897,7 +798,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - e22d426a-5799-49d3-9ec7-114d14a8588e + - 6b8868e5-2eb0-4eed-bf81-09eacea86af9 status: code: 200 message: OK @@ -915,10 +816,10 @@ interactions: ParameterSetName: - -g -n --vwan --address-prefix -l --sku User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.2.0 + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 networkmanagementclient/2.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/e0615438-6363-4d82-a11f-cdc164d91172?api-version=2018-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/98f2ed38-3d54-418c-a67a-399654b3eb0d?api-version=2018-08-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -930,7 +831,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 25 Mar 2020 13:16:19 GMT + - Mon, 08 Jun 2020 03:37:24 GMT expires: - '-1' pragma: @@ -947,7 +848,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 8457a370-6690-4ff5-8d38-e28062c4ac92 + - cceec2b2-8eb4-4cce-bbf5-dd9d0205c278 status: code: 200 message: OK @@ -965,10 +866,10 @@ interactions: ParameterSetName: - -g -n --vwan --address-prefix -l --sku User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.2.0 + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 networkmanagementclient/2.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/e0615438-6363-4d82-a11f-cdc164d91172?api-version=2018-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/98f2ed38-3d54-418c-a67a-399654b3eb0d?api-version=2018-08-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -980,7 +881,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 25 Mar 2020 13:16:31 GMT + - Mon, 08 Jun 2020 03:37:34 GMT expires: - '-1' pragma: @@ -997,7 +898,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 63802548-0adf-460e-84bb-e8d0364d112c + - 8392e8bc-7160-41ac-a3d4-cf4b8a85e79d status: code: 200 message: OK @@ -1015,10 +916,10 @@ interactions: ParameterSetName: - -g -n --vwan --address-prefix -l --sku User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.2.0 + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 networkmanagementclient/2.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/e0615438-6363-4d82-a11f-cdc164d91172?api-version=2018-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/98f2ed38-3d54-418c-a67a-399654b3eb0d?api-version=2018-08-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -1030,7 +931,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 25 Mar 2020 13:16:42 GMT + - Mon, 08 Jun 2020 03:37:45 GMT expires: - '-1' pragma: @@ -1047,7 +948,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - f20af206-1f85-4c71-a025-99d2ec96df08 + - c013b202-1b90-4106-a970-0ba36bf15217 status: code: 200 message: OK @@ -1065,10 +966,10 @@ interactions: ParameterSetName: - -g -n --vwan --address-prefix -l --sku User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.2.0 + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 networkmanagementclient/2.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/e0615438-6363-4d82-a11f-cdc164d91172?api-version=2018-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/98f2ed38-3d54-418c-a67a-399654b3eb0d?api-version=2018-08-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -1080,7 +981,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 25 Mar 2020 13:16:53 GMT + - Mon, 08 Jun 2020 03:37:56 GMT expires: - '-1' pragma: @@ -1097,7 +998,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 17c28f48-279d-4a6d-ab51-c02531d2c347 + - 24711774-8b8c-4a25-b33a-6e80ab520f29 status: code: 200 message: OK @@ -1115,10 +1016,10 @@ interactions: ParameterSetName: - -g -n --vwan --address-prefix -l --sku User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.2.0 + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 networkmanagementclient/2.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/e0615438-6363-4d82-a11f-cdc164d91172?api-version=2018-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/98f2ed38-3d54-418c-a67a-399654b3eb0d?api-version=2018-08-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -1130,7 +1031,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 25 Mar 2020 13:17:05 GMT + - Mon, 08 Jun 2020 03:38:07 GMT expires: - '-1' pragma: @@ -1147,7 +1048,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - effdf1df-33a7-409b-9d98-9fd1d8250db8 + - 3371b98f-9af1-4f64-8e0c-326e6ac6fe31 status: code: 200 message: OK @@ -1165,10 +1066,10 @@ interactions: ParameterSetName: - -g -n --vwan --address-prefix -l --sku User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.2.0 + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 networkmanagementclient/2.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/e0615438-6363-4d82-a11f-cdc164d91172?api-version=2018-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/98f2ed38-3d54-418c-a67a-399654b3eb0d?api-version=2018-08-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -1180,7 +1081,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 25 Mar 2020 13:17:15 GMT + - Mon, 08 Jun 2020 03:38:18 GMT expires: - '-1' pragma: @@ -1197,7 +1098,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 26150fab-c579-48b9-96c1-149ceae4d3d7 + - f4d13656-47cb-4ce5-a73a-e3a3ae95ef6e status: code: 200 message: OK @@ -1215,10 +1116,10 @@ interactions: ParameterSetName: - -g -n --vwan --address-prefix -l --sku User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.2.0 + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 networkmanagementclient/2.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/e0615438-6363-4d82-a11f-cdc164d91172?api-version=2018-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/98f2ed38-3d54-418c-a67a-399654b3eb0d?api-version=2018-08-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -1230,7 +1131,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 25 Mar 2020 13:17:27 GMT + - Mon, 08 Jun 2020 03:38:29 GMT expires: - '-1' pragma: @@ -1247,7 +1148,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - d0305977-17a5-4b7d-8297-0b5b10f53609 + - cd1205b2-b73f-4199-93cf-27ae5562a46f status: code: 200 message: OK @@ -1265,10 +1166,10 @@ interactions: ParameterSetName: - -g -n --vwan --address-prefix -l --sku User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.2.0 + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 networkmanagementclient/2.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/e0615438-6363-4d82-a11f-cdc164d91172?api-version=2018-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/98f2ed38-3d54-418c-a67a-399654b3eb0d?api-version=2018-08-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -1280,7 +1181,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 25 Mar 2020 13:17:38 GMT + - Mon, 08 Jun 2020 03:38:40 GMT expires: - '-1' pragma: @@ -1297,7 +1198,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - fe1b07ca-840e-4838-937e-3ffd053ef8f5 + - 7341e952-29c8-4c7a-a7fc-e51f41c0bae0 status: code: 200 message: OK @@ -1315,10 +1216,10 @@ interactions: ParameterSetName: - -g -n --vwan --address-prefix -l --sku User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.2.0 + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 networkmanagementclient/2.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/e0615438-6363-4d82-a11f-cdc164d91172?api-version=2018-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/98f2ed38-3d54-418c-a67a-399654b3eb0d?api-version=2018-08-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -1330,7 +1231,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 25 Mar 2020 13:17:50 GMT + - Mon, 08 Jun 2020 03:38:50 GMT expires: - '-1' pragma: @@ -1347,7 +1248,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - b7dbb014-7bdb-43a8-8b81-e494850efa32 + - 5154bdc2-68e1-4018-806c-67affe1a9311 status: code: 200 message: OK @@ -1365,10 +1266,10 @@ interactions: ParameterSetName: - -g -n --vwan --address-prefix -l --sku User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.2.0 + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 networkmanagementclient/2.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/e0615438-6363-4d82-a11f-cdc164d91172?api-version=2018-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/98f2ed38-3d54-418c-a67a-399654b3eb0d?api-version=2018-08-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -1380,7 +1281,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 25 Mar 2020 13:18:02 GMT + - Mon, 08 Jun 2020 03:39:02 GMT expires: - '-1' pragma: @@ -1397,7 +1298,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 66bf5ba4-2739-49cf-9b4d-3041c5c259ad + - ae59dee2-35ab-4b9c-8a95-c96334593ad2 status: code: 200 message: OK @@ -1415,10 +1316,10 @@ interactions: ParameterSetName: - -g -n --vwan --address-prefix -l --sku User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.2.0 + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 networkmanagementclient/2.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/e0615438-6363-4d82-a11f-cdc164d91172?api-version=2018-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/98f2ed38-3d54-418c-a67a-399654b3eb0d?api-version=2018-08-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -1430,7 +1331,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 25 Mar 2020 13:18:13 GMT + - Mon, 08 Jun 2020 03:39:12 GMT expires: - '-1' pragma: @@ -1447,7 +1348,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - d756616a-082b-470f-a381-8325219e9565 + - 6657b5fb-9b0d-4e86-a224-7e634835cc5e status: code: 200 message: OK @@ -1465,10 +1366,110 @@ interactions: ParameterSetName: - -g -n --vwan --address-prefix -l --sku User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.2.0 + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 networkmanagementclient/2.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/e0615438-6363-4d82-a11f-cdc164d91172?api-version=2018-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/98f2ed38-3d54-418c-a67a-399654b3eb0d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 08 Jun 2020 03:39:24 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 562f6fb1-5b24-4977-8fc7-e1f8651fb6cb + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vwan --address-prefix -l --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 networkmanagementclient/2.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/98f2ed38-3d54-418c-a67a-399654b3eb0d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 08 Jun 2020 03:39:34 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 65c88cb4-ac29-4058-b502-5e689dd25e65 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vwan --address-prefix -l --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 networkmanagementclient/2.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/98f2ed38-3d54-418c-a67a-399654b3eb0d?api-version=2018-08-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -1480,7 +1481,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 25 Mar 2020 13:18:24 GMT + - Mon, 08 Jun 2020 03:39:45 GMT expires: - '-1' pragma: @@ -1497,7 +1498,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 73f180ca-5bb9-43b2-b31c-37bdc9b62fc1 + - 7986c330-5037-4a9e-bfd0-145203b410c6 status: code: 200 message: OK @@ -1515,28 +1516,29 @@ interactions: ParameterSetName: - -g -n --vwan --address-prefix -l --sku User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.2.0 + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 networkmanagementclient/2.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub?api-version=2018-08-01 response: body: string: "{\r\n \"name\": \"clitestvhub\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub\",\r\n - \ \"etag\": \"W/\\\"9e571d37-39cc-4d87-a7c0-c960f8d39901\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"a34db681-3759-4710-b3f3-6f7c96fac7d3\\\"\",\r\n \"type\": \"Microsoft.Network/virtualHubs\",\r\n \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"virtualNetworkConnections\": - [],\r\n \"addressPrefix\": \"10.5.0.0/16\",\r\n \"routeTable\": {\r\n - \ \"routes\": []\r\n },\r\n \"virtualWan\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualWans/clitestvwan\"\r\n + [],\r\n \"addressPrefix\": \"10.5.0.0/16\",\r\n \"virtualRouterIps\": + [],\r\n \"routeTable\": {\r\n \"routes\": []\r\n },\r\n \"virtualWan\": + {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualWans/clitestvwan\"\r\n \ }\r\n }\r\n}" headers: cache-control: - no-cache content-length: - - '788' + - '817' content-type: - application/json; charset=utf-8 date: - - Wed, 25 Mar 2020 13:18:26 GMT + - Mon, 08 Jun 2020 03:39:46 GMT expires: - '-1' pragma: @@ -1553,7 +1555,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 7f07637c-78ea-424f-a4f0-b680db0c881e + - 20ff92a1-9ae5-4de2-b1c7-014f8580d79e status: code: 200 message: OK @@ -1571,8 +1573,8 @@ interactions: ParameterSetName: - --resource-group --vhub-name --name --remote-vnet User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.2.0 + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 networkmanagementclient/2.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: GET @@ -1580,21 +1582,22 @@ interactions: response: body: string: "{\r\n \"name\": \"clitestvhub\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub\",\r\n - \ \"etag\": \"W/\\\"9e571d37-39cc-4d87-a7c0-c960f8d39901\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"a34db681-3759-4710-b3f3-6f7c96fac7d3\\\"\",\r\n \"type\": \"Microsoft.Network/virtualHubs\",\r\n \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"virtualNetworkConnections\": - [],\r\n \"addressPrefix\": \"10.5.0.0/16\",\r\n \"routeTable\": {\r\n - \ \"routes\": []\r\n },\r\n \"virtualWan\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualWans/clitestvwan\"\r\n + [],\r\n \"addressPrefix\": \"10.5.0.0/16\",\r\n \"virtualRouterIps\": + [],\r\n \"routeTable\": {\r\n \"routes\": []\r\n },\r\n \"virtualWan\": + {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualWans/clitestvwan\"\r\n \ }\r\n }\r\n}" headers: cache-control: - no-cache content-length: - - '788' + - '817' content-type: - application/json; charset=utf-8 date: - - Wed, 25 Mar 2020 13:18:29 GMT + - Mon, 08 Jun 2020 03:39:48 GMT expires: - '-1' pragma: @@ -1611,7 +1614,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 48a9079e-7883-4d63-9bc8-e8038b118811 + - 4fb0ad01-b1a2-46fa-a817-d09f69218112 status: code: 200 message: OK @@ -1638,8 +1641,8 @@ interactions: ParameterSetName: - --resource-group --vhub-name --name --remote-vnet User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.2.0 + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 networkmanagementclient/2.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 accept-language: - en-US method: PUT @@ -1647,32 +1650,33 @@ interactions: response: body: string: "{\r\n \"name\": \"clitestvhub\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub\",\r\n - \ \"etag\": \"W/\\\"0f223698-e394-442f-927e-dac15029efeb\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"2a286b7a-c981-4eca-be48-54cc3c165ed3\\\"\",\r\n \"type\": \"Microsoft.Network/virtualHubs\",\r\n \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \"virtualNetworkConnections\": [\r\n {\r\n \"name\": \"clitestvhubconnection\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub/hubVirtualNetworkConnections/clitestvhubconnection\",\r\n - \ \"etag\": \"W/\\\"0f223698-e394-442f-927e-dac15029efeb\\\"\",\r\n + \ \"etag\": \"W/\\\"2a286b7a-c981-4eca-be48-54cc3c165ed3\\\"\",\r\n + \ \"type\": \"Microsoft.Network/virtualHubs/hubVirtualNetworkConnections\",\r\n \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"resourceGuid\": \"dfba125b-be71-4093-8c24-9ee321c1cdd5\",\r\n + \ \"resourceGuid\": \"9cd6c6e5-b161-4421-8058-3d7fd5bbf3e9\",\r\n \ \"remoteVirtualNetwork\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualNetworks/clitestvnet\"\r\n \ },\r\n \"allowHubToRemoteVnetTransit\": true,\r\n \"allowRemoteVnetToUseHubVnetGateways\": - false,\r\n \"enableInternetSecurity\": false\r\n },\r\n \"type\": - \"Microsoft.Network/virtualHubs/hubVirtualNetworkConnections\"\r\n }\r\n - \ ],\r\n \"addressPrefix\": \"10.5.0.0/16\",\r\n \"routeTable\": {\r\n - \ \"routes\": []\r\n },\r\n \"virtualWan\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualWans/clitestvwan\"\r\n + false,\r\n \"enableInternetSecurity\": false\r\n }\r\n }\r\n + \ ],\r\n \"addressPrefix\": \"10.5.0.0/16\",\r\n \"virtualRouterIps\": + [],\r\n \"routeTable\": {\r\n \"routes\": []\r\n },\r\n \"virtualWan\": + {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualWans/clitestvwan\"\r\n \ }\r\n }\r\n}" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/14cbf5fa-2655-4fbf-92b6-c55c866e379a?api-version=2018-08-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/18e76c1c-0b2c-4470-b0d5-259db96f7dc8?api-version=2018-08-01 cache-control: - no-cache content-length: - - '1826' + - '1855' content-type: - application/json; charset=utf-8 date: - - Wed, 25 Mar 2020 13:18:31 GMT + - Mon, 08 Jun 2020 03:39:49 GMT expires: - '-1' pragma: @@ -1689,9 +1693,309 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 1fd03157-8822-42cd-b29f-c61e28ea9004 + - 5bd2f8fe-2898-4a57-a56b-9bf64a14f7ba x-ms-ratelimit-remaining-subscription-writes: - - '1196' + - '1199' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub connection create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --vhub-name --name --remote-vnet + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 networkmanagementclient/2.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/18e76c1c-0b2c-4470-b0d5-259db96f7dc8?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 08 Jun 2020 03:39:59 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - e4e4b485-0aba-4ad3-8067-e54a38dc9df3 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub connection create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --vhub-name --name --remote-vnet + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 networkmanagementclient/2.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/18e76c1c-0b2c-4470-b0d5-259db96f7dc8?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 08 Jun 2020 03:40:11 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 9ba4c59c-8eeb-4f47-8854-e24f72787537 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub connection create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --vhub-name --name --remote-vnet + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 networkmanagementclient/2.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/18e76c1c-0b2c-4470-b0d5-259db96f7dc8?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 08 Jun 2020 03:40:21 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 4f773737-f6aa-4a8b-ae98-c28dd428aba8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub connection create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --vhub-name --name --remote-vnet + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 networkmanagementclient/2.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/18e76c1c-0b2c-4470-b0d5-259db96f7dc8?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 08 Jun 2020 03:40:32 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 173fc9e2-60ba-42da-bfc8-eea946067950 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub connection create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --vhub-name --name --remote-vnet + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 networkmanagementclient/2.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/18e76c1c-0b2c-4470-b0d5-259db96f7dc8?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 08 Jun 2020 03:40:43 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - b4b2a180-3939-427a-9d19-b56825ad74db + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub connection create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --vhub-name --name --remote-vnet + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 networkmanagementclient/2.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/18e76c1c-0b2c-4470-b0d5-259db96f7dc8?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 08 Jun 2020 03:40:54 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 0ed395f0-0f34-44a9-a838-129b8c650d93 status: code: 200 message: OK @@ -1709,10 +2013,10 @@ interactions: ParameterSetName: - --resource-group --vhub-name --name --remote-vnet User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.2.0 + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 networkmanagementclient/2.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/14cbf5fa-2655-4fbf-92b6-c55c866e379a?api-version=2018-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/18e76c1c-0b2c-4470-b0d5-259db96f7dc8?api-version=2018-08-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -1724,7 +2028,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 25 Mar 2020 13:18:42 GMT + - Mon, 08 Jun 2020 03:41:05 GMT expires: - '-1' pragma: @@ -1741,7 +2045,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - a795fa16-e444-4d86-b11f-089002a55c83 + - d8d1672d-ed5a-4eb9-8db1-68ae4e325db4 status: code: 200 message: OK @@ -1759,10 +2063,10 @@ interactions: ParameterSetName: - --resource-group --vhub-name --name --remote-vnet User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.2.0 + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 networkmanagementclient/2.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/14cbf5fa-2655-4fbf-92b6-c55c866e379a?api-version=2018-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/18e76c1c-0b2c-4470-b0d5-259db96f7dc8?api-version=2018-08-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -1774,7 +2078,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 25 Mar 2020 13:18:53 GMT + - Mon, 08 Jun 2020 03:41:17 GMT expires: - '-1' pragma: @@ -1791,7 +2095,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - ae4a8551-e223-4fb2-b28d-d8d9d1f24c10 + - 9d11ba5c-0352-4af4-b6dc-6621156edf27 status: code: 200 message: OK @@ -1809,10 +2113,10 @@ interactions: ParameterSetName: - --resource-group --vhub-name --name --remote-vnet User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.2.0 + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 networkmanagementclient/2.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/14cbf5fa-2655-4fbf-92b6-c55c866e379a?api-version=2018-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/18e76c1c-0b2c-4470-b0d5-259db96f7dc8?api-version=2018-08-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -1824,7 +2128,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 25 Mar 2020 13:19:05 GMT + - Mon, 08 Jun 2020 03:41:27 GMT expires: - '-1' pragma: @@ -1841,7 +2145,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 8f18d9b5-b63d-4f02-a6a4-91a56e121065 + - 8de7211a-00b6-4c26-9c5d-1c94d92bbfab status: code: 200 message: OK @@ -1859,10 +2163,10 @@ interactions: ParameterSetName: - --resource-group --vhub-name --name --remote-vnet User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.2.0 + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 networkmanagementclient/2.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/14cbf5fa-2655-4fbf-92b6-c55c866e379a?api-version=2018-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/18e76c1c-0b2c-4470-b0d5-259db96f7dc8?api-version=2018-08-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -1874,7 +2178,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 25 Mar 2020 13:19:17 GMT + - Mon, 08 Jun 2020 03:41:38 GMT expires: - '-1' pragma: @@ -1891,7 +2195,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 8e467961-00e2-4c6f-b6ef-9ebccf75c06e + - 5631da26-d727-4171-83a8-68bbc1c25b06 status: code: 200 message: OK @@ -1909,10 +2213,10 @@ interactions: ParameterSetName: - --resource-group --vhub-name --name --remote-vnet User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.2.0 + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 networkmanagementclient/2.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/14cbf5fa-2655-4fbf-92b6-c55c866e379a?api-version=2018-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/18e76c1c-0b2c-4470-b0d5-259db96f7dc8?api-version=2018-08-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -1924,7 +2228,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 25 Mar 2020 13:19:28 GMT + - Mon, 08 Jun 2020 03:41:50 GMT expires: - '-1' pragma: @@ -1941,7 +2245,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 35ad4f0a-bc4d-453b-96f9-0b0aff434380 + - b2cfb083-6abf-4f39-a401-af55ce51eb2a status: code: 200 message: OK @@ -1959,10 +2263,10 @@ interactions: ParameterSetName: - --resource-group --vhub-name --name --remote-vnet User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.2.0 + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 networkmanagementclient/2.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/14cbf5fa-2655-4fbf-92b6-c55c866e379a?api-version=2018-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/18e76c1c-0b2c-4470-b0d5-259db96f7dc8?api-version=2018-08-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -1974,7 +2278,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 25 Mar 2020 13:19:40 GMT + - Mon, 08 Jun 2020 03:42:00 GMT expires: - '-1' pragma: @@ -1991,7 +2295,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - d3f3587e-0da1-4598-a088-11b8e2541e52 + - 6911dc06-90fd-4635-8a46-9aac80390ba8 status: code: 200 message: OK @@ -2009,10 +2313,10 @@ interactions: ParameterSetName: - --resource-group --vhub-name --name --remote-vnet User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.2.0 + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 networkmanagementclient/2.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/14cbf5fa-2655-4fbf-92b6-c55c866e379a?api-version=2018-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/18e76c1c-0b2c-4470-b0d5-259db96f7dc8?api-version=2018-08-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -2024,7 +2328,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 25 Mar 2020 13:19:52 GMT + - Mon, 08 Jun 2020 03:42:11 GMT expires: - '-1' pragma: @@ -2041,7 +2345,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 494e4ada-4dca-422b-b436-4079c15ff2a1 + - 69f5b2f8-10ae-4c6f-8577-d0fdc9cb78a5 status: code: 200 message: OK @@ -2059,10 +2363,10 @@ interactions: ParameterSetName: - --resource-group --vhub-name --name --remote-vnet User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.2.0 + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 networkmanagementclient/2.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/14cbf5fa-2655-4fbf-92b6-c55c866e379a?api-version=2018-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/18e76c1c-0b2c-4470-b0d5-259db96f7dc8?api-version=2018-08-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -2074,7 +2378,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 25 Mar 2020 13:20:04 GMT + - Mon, 08 Jun 2020 03:42:22 GMT expires: - '-1' pragma: @@ -2091,7 +2395,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - c54b52ac-c71b-41b0-8fd7-c0a591841204 + - 563b5ac5-fb30-42d7-bd13-f1f8ac973cbe status: code: 200 message: OK @@ -2109,10 +2413,10 @@ interactions: ParameterSetName: - --resource-group --vhub-name --name --remote-vnet User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.2.0 + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 networkmanagementclient/2.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/14cbf5fa-2655-4fbf-92b6-c55c866e379a?api-version=2018-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/18e76c1c-0b2c-4470-b0d5-259db96f7dc8?api-version=2018-08-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -2124,7 +2428,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 25 Mar 2020 13:20:15 GMT + - Mon, 08 Jun 2020 03:42:33 GMT expires: - '-1' pragma: @@ -2141,7 +2445,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - e759fab8-885e-46d4-9f72-1677645459ca + - 504bdef9-d2c5-4897-8a89-e0bf7c2cf41a status: code: 200 message: OK @@ -2159,10 +2463,10 @@ interactions: ParameterSetName: - --resource-group --vhub-name --name --remote-vnet User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.2.0 + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 networkmanagementclient/2.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/14cbf5fa-2655-4fbf-92b6-c55c866e379a?api-version=2018-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/18e76c1c-0b2c-4470-b0d5-259db96f7dc8?api-version=2018-08-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -2174,7 +2478,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 25 Mar 2020 13:20:27 GMT + - Mon, 08 Jun 2020 03:42:44 GMT expires: - '-1' pragma: @@ -2191,7 +2495,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - bd51461e-5e1f-44ca-8ead-8dc9432adc6b + - e8ca574e-eb6b-4592-b5c6-841eadb272fc status: code: 200 message: OK @@ -2209,10 +2513,10 @@ interactions: ParameterSetName: - --resource-group --vhub-name --name --remote-vnet User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.2.0 + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 networkmanagementclient/2.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/14cbf5fa-2655-4fbf-92b6-c55c866e379a?api-version=2018-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/18e76c1c-0b2c-4470-b0d5-259db96f7dc8?api-version=2018-08-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -2224,7 +2528,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 25 Mar 2020 13:20:39 GMT + - Mon, 08 Jun 2020 03:42:56 GMT expires: - '-1' pragma: @@ -2241,7 +2545,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - cde6156d-f2a4-474a-bd2e-207da9dc617b + - fe923ee9-d9a8-40a3-92f5-ef33cc231ea5 status: code: 200 message: OK @@ -2259,10 +2563,10 @@ interactions: ParameterSetName: - --resource-group --vhub-name --name --remote-vnet User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.2.0 + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 networkmanagementclient/2.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/14cbf5fa-2655-4fbf-92b6-c55c866e379a?api-version=2018-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/18e76c1c-0b2c-4470-b0d5-259db96f7dc8?api-version=2018-08-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -2274,7 +2578,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 25 Mar 2020 13:20:50 GMT + - Mon, 08 Jun 2020 03:43:07 GMT expires: - '-1' pragma: @@ -2291,7 +2595,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - ad755e5c-8e6d-41a7-a026-ddef3798e056 + - 2d98d6b7-a35e-4783-a344-3fce070381dc status: code: 200 message: OK @@ -2309,37 +2613,38 @@ interactions: ParameterSetName: - --resource-group --vhub-name --name --remote-vnet User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.2.0 + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 networkmanagementclient/2.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub?api-version=2018-08-01 response: body: string: "{\r\n \"name\": \"clitestvhub\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub\",\r\n - \ \"etag\": \"W/\\\"4106ef9d-a491-4a3e-a597-7d763dddb3ec\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"f7bb80b6-98fc-4cbf-b9ce-3d3daf2555c9\\\"\",\r\n \"type\": \"Microsoft.Network/virtualHubs\",\r\n \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"virtualNetworkConnections\": [\r\n {\r\n \"name\": \"clitestvhubconnection\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub/hubVirtualNetworkConnections/clitestvhubconnection\",\r\n - \ \"etag\": \"W/\\\"4106ef9d-a491-4a3e-a597-7d763dddb3ec\\\"\",\r\n + \ \"etag\": \"W/\\\"f7bb80b6-98fc-4cbf-b9ce-3d3daf2555c9\\\"\",\r\n + \ \"type\": \"Microsoft.Network/virtualHubs/hubVirtualNetworkConnections\",\r\n \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"resourceGuid\": \"dfba125b-be71-4093-8c24-9ee321c1cdd5\",\r\n + \ \"resourceGuid\": \"9cd6c6e5-b161-4421-8058-3d7fd5bbf3e9\",\r\n \ \"remoteVirtualNetwork\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualNetworks/clitestvnet\"\r\n \ },\r\n \"allowHubToRemoteVnetTransit\": true,\r\n \"allowRemoteVnetToUseHubVnetGateways\": - false,\r\n \"enableInternetSecurity\": false\r\n },\r\n \"type\": - \"Microsoft.Network/virtualHubs/hubVirtualNetworkConnections\"\r\n }\r\n - \ ],\r\n \"addressPrefix\": \"10.5.0.0/16\",\r\n \"routeTable\": {\r\n - \ \"routes\": []\r\n },\r\n \"virtualWan\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualWans/clitestvwan\"\r\n + false,\r\n \"enableInternetSecurity\": false\r\n }\r\n }\r\n + \ ],\r\n \"addressPrefix\": \"10.5.0.0/16\",\r\n \"virtualRouterIps\": + [],\r\n \"routeTable\": {\r\n \"routes\": []\r\n },\r\n \"virtualWan\": + {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualWans/clitestvwan\"\r\n \ }\r\n }\r\n}" headers: cache-control: - no-cache content-length: - - '1827' + - '1856' content-type: - application/json; charset=utf-8 date: - - Wed, 25 Mar 2020 13:20:51 GMT + - Mon, 08 Jun 2020 03:43:07 GMT expires: - '-1' pragma: @@ -2356,7 +2661,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - aba7d67f-418c-4ac2-b973-6f68d9d77355 + - a4654675-a11c-44d9-9039-ae7f0c43890b status: code: 200 message: OK diff --git a/src/virtual-wan/azext_vwan/tests/latest/recordings/test_azure_vpn_server_config_basic_scenario.yaml b/src/virtual-wan/azext_vwan/tests/latest/recordings/test_azure_vpn_server_config_basic_scenario.yaml new file mode 100644 index 00000000000..6134dd024ca --- /dev/null +++ b/src/virtual-wan/azext_vwan/tests/latest/recordings/test_azure_vpn_server_config_basic_scenario.yaml @@ -0,0 +1,2092 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-server-config create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vpn-client-root-certs --vpn-client-revoked-certs + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-resource/9.0.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_azure_vpn_server_config000001?api-version=2019-07-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vpn_server_config000001","name":"cli_test_azure_vpn_server_config000001","type":"Microsoft.Resources/resourceGroups","location":"westcentralus","tags":{"product":"azurecli","cause":"automation","date":"2020-06-08T03:05:09Z","StorageType":"Standard_LRS","type":"test"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '478' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 08 Jun 2020 03:05:15 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"location": "westcentralus", "properties": {"vpnClientRootCertificates": + [{"name": "ApplicationGatewayAuthCert", "publicCertData": "MIIDTzCCAjegAwIBAgIQj5oTlR6oyJ1NlX9Wb9aFyjANBgkqhkiG9w0BAQsFADAw\nMS4wLAYDVQQDEyVBcHBsaWNhdGlvbkdhdGV3YXlTc2xDZXJ0LVVuaXRUZXN0LTAx\nMB4XDTE2MDIxNzA3MDc1M1oXDTM5MTIzMTIzNTk1OVowMDEuMCwGA1UEAxMlQXBw\nbGljYXRpb25HYXRld2F5U3NsQ2VydC1Vbml0VGVzdC0wMTCCASIwDQYJKoZIhvcN\nAQEBBQADggEPADCCAQoCggEBANOUOFVmm+P4ht/qaiGZaiMzZSXwqGP8W/XWZRfJ\nSc1mS6B4zBm8MtndmO9NbPUeGetk3E4jI0egP7NufuTAtfZY5nG9/gsZh8Hp4o+x\n+6F1wCUtK5pQ5Fne4Vwg0Q9k1CgUfQfK0zEoanOTEylcyp1nVpoGc3v4FZ9pQr8/\nxQ7+PSwgNpmGpU1gmgorDlXIO8jiKb+WfSoPAhHcavoPFg6DeGv30AK2m8ULFezO\nqbprrozRxXaKzt8fBaDSP1XMakFaO6ffZU4uNgrehW4zMnpdgAjT5koymDKGAfl/\n7+5QpLxSKc2478J+PvTwy/rfWKJLbEImoM7WE3imWgrHUNMCAwEAAaNlMGMwYQYD\nVR0BBFowWIAQxDXqD2PYxSlriJ6HuzZ+b6EyMDAxLjAsBgNVBAMTJUFwcGxpY2F0\naW9uR2F0ZXdheVNzbENlcnQtVW5pdFRlc3QtMDGCEI+aE5UeqMidTZV/Vm/Whcow\nDQYJKoZIhvcNAQELBQADggEBADSC6PHkVYmoVOyyW2g7q3GG3MmXa43/HQNTM+pT\n3HENAlhGg8T9EFrOQ/0QAoEQbrtsP8Isj5u2Bd4MOlYA180ExyfL/NFb7QpXq/pR\nLbePMQAQicdSvk/9RyrNRBfNjT2KNlBp3RZtCkJjQWlc5ylWydPy4JPUZxit/5yg\nCRT+cmN1ioF469Ki8hzBlKmrDg8jkFUwFyD7B0fEfPP0gSZI3F6HqgCK2hzBTjuj\nZjddZyn2XxXlxLu57C83CNPP8fbsGW2CwolgmYvt+dJsdDnT7VKX5RS4cOPp/JGG\n7QdhzqVBoK0vZP6gHEAOPoqBVUWf8SmlVuAVGmDl8EjLnK8="}], + "vpnClientRevokedCertificates": [{"name": "ApplicationGatewayAuthCert", "thumbprint": + "ef6c937b5935e25941f2ea271d38f90dfdb20953"}], "aadAuthenticationParameters": + {}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-server-config create + Connection: + - keep-alive + Content-Length: + - '1475' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -n -g --vpn-client-root-certs --vpn-client-revoked-certs + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vpn_server_config000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"clitestserverconfig\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vpn_server_config000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig\",\r\n + \ \"etag\": \"W/\\\"c04dc837-48f0-46a4-89c4-df63284e3213\\\"\",\r\n \"type\": + \"Microsoft.Network/vpnServerConfigurations\",\r\n \"location\": \"westcentralus\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \"vpnProtocols\": + [\r\n \"OpenVPN\",\r\n \"IkeV2\"\r\n ],\r\n \"vpnAuthenticationTypes\": + [\r\n \"Certificate\"\r\n ],\r\n \"vpnClientRootCertificates\": + [\r\n {\r\n \"name\": \"ApplicationGatewayAuthCert\",\r\n \"publicCertData\": + \"MIIDTzCCAjegAwIBAgIQj5oTlR6oyJ1NlX9Wb9aFyjANBgkqhkiG9w0BAQsFADAw\\nMS4wLAYDVQQDEyVBcHBsaWNhdGlvbkdhdGV3YXlTc2xDZXJ0LVVuaXRUZXN0LTAx\\nMB4XDTE2MDIxNzA3MDc1M1oXDTM5MTIzMTIzNTk1OVowMDEuMCwGA1UEAxMlQXBw\\nbGljYXRpb25HYXRld2F5U3NsQ2VydC1Vbml0VGVzdC0wMTCCASIwDQYJKoZIhvcN\\nAQEBBQADggEPADCCAQoCggEBANOUOFVmm+P4ht/qaiGZaiMzZSXwqGP8W/XWZRfJ\\nSc1mS6B4zBm8MtndmO9NbPUeGetk3E4jI0egP7NufuTAtfZY5nG9/gsZh8Hp4o+x\\n+6F1wCUtK5pQ5Fne4Vwg0Q9k1CgUfQfK0zEoanOTEylcyp1nVpoGc3v4FZ9pQr8/\\nxQ7+PSwgNpmGpU1gmgorDlXIO8jiKb+WfSoPAhHcavoPFg6DeGv30AK2m8ULFezO\\nqbprrozRxXaKzt8fBaDSP1XMakFaO6ffZU4uNgrehW4zMnpdgAjT5koymDKGAfl/\\n7+5QpLxSKc2478J+PvTwy/rfWKJLbEImoM7WE3imWgrHUNMCAwEAAaNlMGMwYQYD\\nVR0BBFowWIAQxDXqD2PYxSlriJ6HuzZ+b6EyMDAxLjAsBgNVBAMTJUFwcGxpY2F0\\naW9uR2F0ZXdheVNzbENlcnQtVW5pdFRlc3QtMDGCEI+aE5UeqMidTZV/Vm/Whcow\\nDQYJKoZIhvcNAQELBQADggEBADSC6PHkVYmoVOyyW2g7q3GG3MmXa43/HQNTM+pT\\n3HENAlhGg8T9EFrOQ/0QAoEQbrtsP8Isj5u2Bd4MOlYA180ExyfL/NFb7QpXq/pR\\nLbePMQAQicdSvk/9RyrNRBfNjT2KNlBp3RZtCkJjQWlc5ylWydPy4JPUZxit/5yg\\nCRT+cmN1ioF469Ki8hzBlKmrDg8jkFUwFyD7B0fEfPP0gSZI3F6HqgCK2hzBTjuj\\nZjddZyn2XxXlxLu57C83CNPP8fbsGW2CwolgmYvt+dJsdDnT7VKX5RS4cOPp/JGG\\n7QdhzqVBoK0vZP6gHEAOPoqBVUWf8SmlVuAVGmDl8EjLnK8=\"\r\n + \ }\r\n ],\r\n \"vpnClientRevokedCertificates\": [\r\n {\r\n + \ \"name\": \"ApplicationGatewayAuthCert\",\r\n \"thumbprint\": + \"ef6c937b5935e25941f2ea271d38f90dfdb20953\"\r\n }\r\n ],\r\n \"radiusServers\": + [],\r\n \"radiusServerRootCertificates\": [],\r\n \"radiusClientRootCertificates\": + [],\r\n \"aadAuthenticationParameters\": {},\r\n \"vpnClientIpsecPolicies\": + []\r\n }\r\n}" + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westcentralus/operations/8198a0e2-8e24-4bf7-b20f-55976a666c2e?api-version=2020-04-01 + cache-control: + - no-cache + content-length: + - '2267' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 08 Jun 2020 03:05:23 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 2391ec1c-2f3f-46ab-bb30-7a4998f438c7 + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-server-config create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vpn-client-root-certs --vpn-client-revoked-certs + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westcentralus/operations/8198a0e2-8e24-4bf7-b20f-55976a666c2e?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"Succeeded\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '29' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 08 Jun 2020 03:05:34 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 00f45945-3249-4fbe-871d-2f280f4f9cdb + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-server-config create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vpn-client-root-certs --vpn-client-revoked-certs + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vpn_server_config000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"clitestserverconfig\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vpn_server_config000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig\",\r\n + \ \"etag\": \"W/\\\"1066135f-cdbe-4558-bb4d-dd817ae2f605\\\"\",\r\n \"type\": + \"Microsoft.Network/vpnServerConfigurations\",\r\n \"location\": \"westcentralus\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"vpnProtocols\": + [\r\n \"OpenVPN\",\r\n \"IkeV2\"\r\n ],\r\n \"vpnAuthenticationTypes\": + [\r\n \"Certificate\"\r\n ],\r\n \"vpnClientRootCertificates\": + [\r\n {\r\n \"name\": \"ApplicationGatewayAuthCert\",\r\n \"publicCertData\": + \"MIIDTzCCAjegAwIBAgIQj5oTlR6oyJ1NlX9Wb9aFyjANBgkqhkiG9w0BAQsFADAw\\nMS4wLAYDVQQDEyVBcHBsaWNhdGlvbkdhdGV3YXlTc2xDZXJ0LVVuaXRUZXN0LTAx\\nMB4XDTE2MDIxNzA3MDc1M1oXDTM5MTIzMTIzNTk1OVowMDEuMCwGA1UEAxMlQXBw\\nbGljYXRpb25HYXRld2F5U3NsQ2VydC1Vbml0VGVzdC0wMTCCASIwDQYJKoZIhvcN\\nAQEBBQADggEPADCCAQoCggEBANOUOFVmm+P4ht/qaiGZaiMzZSXwqGP8W/XWZRfJ\\nSc1mS6B4zBm8MtndmO9NbPUeGetk3E4jI0egP7NufuTAtfZY5nG9/gsZh8Hp4o+x\\n+6F1wCUtK5pQ5Fne4Vwg0Q9k1CgUfQfK0zEoanOTEylcyp1nVpoGc3v4FZ9pQr8/\\nxQ7+PSwgNpmGpU1gmgorDlXIO8jiKb+WfSoPAhHcavoPFg6DeGv30AK2m8ULFezO\\nqbprrozRxXaKzt8fBaDSP1XMakFaO6ffZU4uNgrehW4zMnpdgAjT5koymDKGAfl/\\n7+5QpLxSKc2478J+PvTwy/rfWKJLbEImoM7WE3imWgrHUNMCAwEAAaNlMGMwYQYD\\nVR0BBFowWIAQxDXqD2PYxSlriJ6HuzZ+b6EyMDAxLjAsBgNVBAMTJUFwcGxpY2F0\\naW9uR2F0ZXdheVNzbENlcnQtVW5pdFRlc3QtMDGCEI+aE5UeqMidTZV/Vm/Whcow\\nDQYJKoZIhvcNAQELBQADggEBADSC6PHkVYmoVOyyW2g7q3GG3MmXa43/HQNTM+pT\\n3HENAlhGg8T9EFrOQ/0QAoEQbrtsP8Isj5u2Bd4MOlYA180ExyfL/NFb7QpXq/pR\\nLbePMQAQicdSvk/9RyrNRBfNjT2KNlBp3RZtCkJjQWlc5ylWydPy4JPUZxit/5yg\\nCRT+cmN1ioF469Ki8hzBlKmrDg8jkFUwFyD7B0fEfPP0gSZI3F6HqgCK2hzBTjuj\\nZjddZyn2XxXlxLu57C83CNPP8fbsGW2CwolgmYvt+dJsdDnT7VKX5RS4cOPp/JGG\\n7QdhzqVBoK0vZP6gHEAOPoqBVUWf8SmlVuAVGmDl8EjLnK8=\"\r\n + \ }\r\n ],\r\n \"vpnClientRevokedCertificates\": [\r\n {\r\n + \ \"name\": \"ApplicationGatewayAuthCert\",\r\n \"thumbprint\": + \"ef6c937b5935e25941f2ea271d38f90dfdb20953\"\r\n }\r\n ],\r\n \"radiusServers\": + [],\r\n \"radiusServerRootCertificates\": [],\r\n \"radiusClientRootCertificates\": + [],\r\n \"aadAuthenticationParameters\": {},\r\n \"vpnClientIpsecPolicies\": + []\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '2268' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 08 Jun 2020 03:05:34 GMT + etag: + - W/"1066135f-cdbe-4558-bb4d-dd817ae2f605" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 98fea745-641b-4b5a-b663-d0f8b966c7a6 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-server-config set + Connection: + - keep-alive + ParameterSetName: + - -n -g --auth-types --radius-client-root-certs --radius-server-root-certs --radius-servers + --radius-servers + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-resource/9.0.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_azure_vpn_server_config000001?api-version=2019-07-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vpn_server_config000001","name":"cli_test_azure_vpn_server_config000001","type":"Microsoft.Resources/resourceGroups","location":"westcentralus","tags":{"product":"azurecli","cause":"automation","date":"2020-06-08T03:05:09Z","StorageType":"Standard_LRS","type":"test"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '478' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 08 Jun 2020 03:05:36 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"location": "westcentralus", "properties": {"vpnAuthenticationTypes": + ["Radius"], "radiusServerRootCertificates": [{"name": "ApplicationGatewayAuthCert", + "publicCertData": "MIIDTzCCAjegAwIBAgIQj5oTlR6oyJ1NlX9Wb9aFyjANBgkqhkiG9w0BAQsFADAw\r\nMS4wLAYDVQQDEyVBcHBsaWNhdGlvbkdhdGV3YXlTc2xDZXJ0LVVuaXRUZXN0LTAx\r\nMB4XDTE2MDIxNzA3MDc1M1oXDTM5MTIzMTIzNTk1OVowMDEuMCwGA1UEAxMlQXBw\r\nbGljYXRpb25HYXRld2F5U3NsQ2VydC1Vbml0VGVzdC0wMTCCASIwDQYJKoZIhvcN\r\nAQEBBQADggEPADCCAQoCggEBANOUOFVmm+P4ht/qaiGZaiMzZSXwqGP8W/XWZRfJ\r\nSc1mS6B4zBm8MtndmO9NbPUeGetk3E4jI0egP7NufuTAtfZY5nG9/gsZh8Hp4o+x\r\n+6F1wCUtK5pQ5Fne4Vwg0Q9k1CgUfQfK0zEoanOTEylcyp1nVpoGc3v4FZ9pQr8/\r\nxQ7+PSwgNpmGpU1gmgorDlXIO8jiKb+WfSoPAhHcavoPFg6DeGv30AK2m8ULFezO\r\nqbprrozRxXaKzt8fBaDSP1XMakFaO6ffZU4uNgrehW4zMnpdgAjT5koymDKGAfl/\r\n7+5QpLxSKc2478J+PvTwy/rfWKJLbEImoM7WE3imWgrHUNMCAwEAAaNlMGMwYQYD\r\nVR0BBFowWIAQxDXqD2PYxSlriJ6HuzZ+b6EyMDAxLjAsBgNVBAMTJUFwcGxpY2F0\r\naW9uR2F0ZXdheVNzbENlcnQtVW5pdFRlc3QtMDGCEI+aE5UeqMidTZV/Vm/Whcow\r\nDQYJKoZIhvcNAQELBQADggEBADSC6PHkVYmoVOyyW2g7q3GG3MmXa43/HQNTM+pT\r\n3HENAlhGg8T9EFrOQ/0QAoEQbrtsP8Isj5u2Bd4MOlYA180ExyfL/NFb7QpXq/pR\r\nLbePMQAQicdSvk/9RyrNRBfNjT2KNlBp3RZtCkJjQWlc5ylWydPy4JPUZxit/5yg\r\nCRT+cmN1ioF469Ki8hzBlKmrDg8jkFUwFyD7B0fEfPP0gSZI3F6HqgCK2hzBTjuj\r\nZjddZyn2XxXlxLu57C83CNPP8fbsGW2CwolgmYvt+dJsdDnT7VKX5RS4cOPp/JGG\r\n7QdhzqVBoK0vZP6gHEAOPoqBVUWf8SmlVuAVGmDl8EjLnK8="}], + "radiusClientRootCertificates": [{"name": "ApplicationGatewayAuthCert", "thumbprint": + "ef6c937b5935e25941f2ea271d38f90dfdb20953"}], "radiusServers": [{"radiusServerAddress": + "test1", "radiusServerScore": 10, "radiusServerSecret": "clitest"}, {"radiusServerAddress": + "test2", "radiusServerScore": 10, "radiusServerSecret": "clitest"}], "aadAuthenticationParameters": + {}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-server-config set + Connection: + - keep-alive + Content-Length: + - '1753' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -n -g --auth-types --radius-client-root-certs --radius-server-root-certs --radius-servers + --radius-servers + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vpn_server_config000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"clitestserverconfig\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vpn_server_config000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig\",\r\n + \ \"etag\": \"W/\\\"924bcb4b-2e3e-43ab-9e2f-eff1d6be5e8c\\\"\",\r\n \"type\": + \"Microsoft.Network/vpnServerConfigurations\",\r\n \"location\": \"westcentralus\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \"vpnProtocols\": + [\r\n \"OpenVPN\",\r\n \"IkeV2\"\r\n ],\r\n \"vpnAuthenticationTypes\": + [\r\n \"Radius\"\r\n ],\r\n \"vpnClientRootCertificates\": [],\r\n + \ \"vpnClientRevokedCertificates\": [],\r\n \"radiusServers\": [\r\n + \ {\r\n \"radiusServerAddress\": \"test1\",\r\n \"radiusServerScore\": + 10,\r\n \"radiusServerSecret\": \"clitest\"\r\n },\r\n {\r\n + \ \"radiusServerAddress\": \"test2\",\r\n \"radiusServerScore\": + 10,\r\n \"radiusServerSecret\": \"clitest\"\r\n }\r\n ],\r\n + \ \"radiusServerRootCertificates\": [\r\n {\r\n \"name\": \"ApplicationGatewayAuthCert\",\r\n + \ \"publicCertData\": \"MIIDTzCCAjegAwIBAgIQj5oTlR6oyJ1NlX9Wb9aFyjANBgkqhkiG9w0BAQsFADAw\\r\\nMS4wLAYDVQQDEyVBcHBsaWNhdGlvbkdhdGV3YXlTc2xDZXJ0LVVuaXRUZXN0LTAx\\r\\nMB4XDTE2MDIxNzA3MDc1M1oXDTM5MTIzMTIzNTk1OVowMDEuMCwGA1UEAxMlQXBw\\r\\nbGljYXRpb25HYXRld2F5U3NsQ2VydC1Vbml0VGVzdC0wMTCCASIwDQYJKoZIhvcN\\r\\nAQEBBQADggEPADCCAQoCggEBANOUOFVmm+P4ht/qaiGZaiMzZSXwqGP8W/XWZRfJ\\r\\nSc1mS6B4zBm8MtndmO9NbPUeGetk3E4jI0egP7NufuTAtfZY5nG9/gsZh8Hp4o+x\\r\\n+6F1wCUtK5pQ5Fne4Vwg0Q9k1CgUfQfK0zEoanOTEylcyp1nVpoGc3v4FZ9pQr8/\\r\\nxQ7+PSwgNpmGpU1gmgorDlXIO8jiKb+WfSoPAhHcavoPFg6DeGv30AK2m8ULFezO\\r\\nqbprrozRxXaKzt8fBaDSP1XMakFaO6ffZU4uNgrehW4zMnpdgAjT5koymDKGAfl/\\r\\n7+5QpLxSKc2478J+PvTwy/rfWKJLbEImoM7WE3imWgrHUNMCAwEAAaNlMGMwYQYD\\r\\nVR0BBFowWIAQxDXqD2PYxSlriJ6HuzZ+b6EyMDAxLjAsBgNVBAMTJUFwcGxpY2F0\\r\\naW9uR2F0ZXdheVNzbENlcnQtVW5pdFRlc3QtMDGCEI+aE5UeqMidTZV/Vm/Whcow\\r\\nDQYJKoZIhvcNAQELBQADggEBADSC6PHkVYmoVOyyW2g7q3GG3MmXa43/HQNTM+pT\\r\\n3HENAlhGg8T9EFrOQ/0QAoEQbrtsP8Isj5u2Bd4MOlYA180ExyfL/NFb7QpXq/pR\\r\\nLbePMQAQicdSvk/9RyrNRBfNjT2KNlBp3RZtCkJjQWlc5ylWydPy4JPUZxit/5yg\\r\\nCRT+cmN1ioF469Ki8hzBlKmrDg8jkFUwFyD7B0fEfPP0gSZI3F6HqgCK2hzBTjuj\\r\\nZjddZyn2XxXlxLu57C83CNPP8fbsGW2CwolgmYvt+dJsdDnT7VKX5RS4cOPp/JGG\\r\\n7QdhzqVBoK0vZP6gHEAOPoqBVUWf8SmlVuAVGmDl8EjLnK8=\"\r\n + \ }\r\n ],\r\n \"radiusClientRootCertificates\": [\r\n {\r\n + \ \"name\": \"ApplicationGatewayAuthCert\",\r\n \"thumbprint\": + \"ef6c937b5935e25941f2ea271d38f90dfdb20953\"\r\n }\r\n ],\r\n \"aadAuthenticationParameters\": + {},\r\n \"vpnClientIpsecPolicies\": []\r\n }\r\n}" + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westcentralus/operations/3be43f32-14b0-45da-b43e-f2dac04b5357?api-version=2020-04-01 + cache-control: + - no-cache + content-length: + - '2571' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 08 Jun 2020 03:05:37 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - fa6b1e9c-0d4b-4411-9d5d-e0928641a8d7 + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-server-config set + Connection: + - keep-alive + ParameterSetName: + - -n -g --auth-types --radius-client-root-certs --radius-server-root-certs --radius-servers + --radius-servers + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westcentralus/operations/3be43f32-14b0-45da-b43e-f2dac04b5357?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"Succeeded\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '29' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 08 Jun 2020 03:05:48 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - f9c6f0c1-5c63-48bc-aa94-807df2d38730 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-server-config set + Connection: + - keep-alive + ParameterSetName: + - -n -g --auth-types --radius-client-root-certs --radius-server-root-certs --radius-servers + --radius-servers + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vpn_server_config000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"clitestserverconfig\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vpn_server_config000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig\",\r\n + \ \"etag\": \"W/\\\"2005588d-0ca2-4917-ac6c-6bb39fddb0dc\\\"\",\r\n \"type\": + \"Microsoft.Network/vpnServerConfigurations\",\r\n \"location\": \"westcentralus\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"vpnProtocols\": + [\r\n \"OpenVPN\",\r\n \"IkeV2\"\r\n ],\r\n \"vpnAuthenticationTypes\": + [\r\n \"Radius\"\r\n ],\r\n \"vpnClientRootCertificates\": [],\r\n + \ \"vpnClientRevokedCertificates\": [],\r\n \"radiusServers\": [\r\n + \ {\r\n \"radiusServerAddress\": \"test1\",\r\n \"radiusServerScore\": + 10,\r\n \"radiusServerSecret\": \"clitest\"\r\n },\r\n {\r\n + \ \"radiusServerAddress\": \"test2\",\r\n \"radiusServerScore\": + 10,\r\n \"radiusServerSecret\": \"clitest\"\r\n }\r\n ],\r\n + \ \"radiusServerRootCertificates\": [\r\n {\r\n \"name\": \"ApplicationGatewayAuthCert\",\r\n + \ \"publicCertData\": \"MIIDTzCCAjegAwIBAgIQj5oTlR6oyJ1NlX9Wb9aFyjANBgkqhkiG9w0BAQsFADAw\\r\\nMS4wLAYDVQQDEyVBcHBsaWNhdGlvbkdhdGV3YXlTc2xDZXJ0LVVuaXRUZXN0LTAx\\r\\nMB4XDTE2MDIxNzA3MDc1M1oXDTM5MTIzMTIzNTk1OVowMDEuMCwGA1UEAxMlQXBw\\r\\nbGljYXRpb25HYXRld2F5U3NsQ2VydC1Vbml0VGVzdC0wMTCCASIwDQYJKoZIhvcN\\r\\nAQEBBQADggEPADCCAQoCggEBANOUOFVmm+P4ht/qaiGZaiMzZSXwqGP8W/XWZRfJ\\r\\nSc1mS6B4zBm8MtndmO9NbPUeGetk3E4jI0egP7NufuTAtfZY5nG9/gsZh8Hp4o+x\\r\\n+6F1wCUtK5pQ5Fne4Vwg0Q9k1CgUfQfK0zEoanOTEylcyp1nVpoGc3v4FZ9pQr8/\\r\\nxQ7+PSwgNpmGpU1gmgorDlXIO8jiKb+WfSoPAhHcavoPFg6DeGv30AK2m8ULFezO\\r\\nqbprrozRxXaKzt8fBaDSP1XMakFaO6ffZU4uNgrehW4zMnpdgAjT5koymDKGAfl/\\r\\n7+5QpLxSKc2478J+PvTwy/rfWKJLbEImoM7WE3imWgrHUNMCAwEAAaNlMGMwYQYD\\r\\nVR0BBFowWIAQxDXqD2PYxSlriJ6HuzZ+b6EyMDAxLjAsBgNVBAMTJUFwcGxpY2F0\\r\\naW9uR2F0ZXdheVNzbENlcnQtVW5pdFRlc3QtMDGCEI+aE5UeqMidTZV/Vm/Whcow\\r\\nDQYJKoZIhvcNAQELBQADggEBADSC6PHkVYmoVOyyW2g7q3GG3MmXa43/HQNTM+pT\\r\\n3HENAlhGg8T9EFrOQ/0QAoEQbrtsP8Isj5u2Bd4MOlYA180ExyfL/NFb7QpXq/pR\\r\\nLbePMQAQicdSvk/9RyrNRBfNjT2KNlBp3RZtCkJjQWlc5ylWydPy4JPUZxit/5yg\\r\\nCRT+cmN1ioF469Ki8hzBlKmrDg8jkFUwFyD7B0fEfPP0gSZI3F6HqgCK2hzBTjuj\\r\\nZjddZyn2XxXlxLu57C83CNPP8fbsGW2CwolgmYvt+dJsdDnT7VKX5RS4cOPp/JGG\\r\\n7QdhzqVBoK0vZP6gHEAOPoqBVUWf8SmlVuAVGmDl8EjLnK8=\"\r\n + \ }\r\n ],\r\n \"radiusClientRootCertificates\": [\r\n {\r\n + \ \"name\": \"ApplicationGatewayAuthCert\",\r\n \"thumbprint\": + \"ef6c937b5935e25941f2ea271d38f90dfdb20953\"\r\n }\r\n ],\r\n \"aadAuthenticationParameters\": + {},\r\n \"vpnClientIpsecPolicies\": []\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '2572' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 08 Jun 2020 03:05:49 GMT + etag: + - W/"2005588d-0ca2-4917-ac6c-6bb39fddb0dc" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - d31d563d-f691-4bd1-bc6c-dc719de8183b + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-server-config wait + Connection: + - keep-alive + ParameterSetName: + - -n -g --created + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vpn_server_config000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"clitestserverconfig\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vpn_server_config000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig\",\r\n + \ \"etag\": \"W/\\\"2005588d-0ca2-4917-ac6c-6bb39fddb0dc\\\"\",\r\n \"type\": + \"Microsoft.Network/vpnServerConfigurations\",\r\n \"location\": \"westcentralus\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"vpnProtocols\": + [\r\n \"OpenVPN\",\r\n \"IkeV2\"\r\n ],\r\n \"vpnAuthenticationTypes\": + [\r\n \"Radius\"\r\n ],\r\n \"vpnClientRootCertificates\": [],\r\n + \ \"vpnClientRevokedCertificates\": [],\r\n \"radiusServers\": [\r\n + \ {\r\n \"radiusServerAddress\": \"test1\",\r\n \"radiusServerScore\": + 10,\r\n \"radiusServerSecret\": \"clitest\"\r\n },\r\n {\r\n + \ \"radiusServerAddress\": \"test2\",\r\n \"radiusServerScore\": + 10,\r\n \"radiusServerSecret\": \"clitest\"\r\n }\r\n ],\r\n + \ \"radiusServerRootCertificates\": [\r\n {\r\n \"name\": \"ApplicationGatewayAuthCert\",\r\n + \ \"publicCertData\": \"MIIDTzCCAjegAwIBAgIQj5oTlR6oyJ1NlX9Wb9aFyjANBgkqhkiG9w0BAQsFADAw\\r\\nMS4wLAYDVQQDEyVBcHBsaWNhdGlvbkdhdGV3YXlTc2xDZXJ0LVVuaXRUZXN0LTAx\\r\\nMB4XDTE2MDIxNzA3MDc1M1oXDTM5MTIzMTIzNTk1OVowMDEuMCwGA1UEAxMlQXBw\\r\\nbGljYXRpb25HYXRld2F5U3NsQ2VydC1Vbml0VGVzdC0wMTCCASIwDQYJKoZIhvcN\\r\\nAQEBBQADggEPADCCAQoCggEBANOUOFVmm+P4ht/qaiGZaiMzZSXwqGP8W/XWZRfJ\\r\\nSc1mS6B4zBm8MtndmO9NbPUeGetk3E4jI0egP7NufuTAtfZY5nG9/gsZh8Hp4o+x\\r\\n+6F1wCUtK5pQ5Fne4Vwg0Q9k1CgUfQfK0zEoanOTEylcyp1nVpoGc3v4FZ9pQr8/\\r\\nxQ7+PSwgNpmGpU1gmgorDlXIO8jiKb+WfSoPAhHcavoPFg6DeGv30AK2m8ULFezO\\r\\nqbprrozRxXaKzt8fBaDSP1XMakFaO6ffZU4uNgrehW4zMnpdgAjT5koymDKGAfl/\\r\\n7+5QpLxSKc2478J+PvTwy/rfWKJLbEImoM7WE3imWgrHUNMCAwEAAaNlMGMwYQYD\\r\\nVR0BBFowWIAQxDXqD2PYxSlriJ6HuzZ+b6EyMDAxLjAsBgNVBAMTJUFwcGxpY2F0\\r\\naW9uR2F0ZXdheVNzbENlcnQtVW5pdFRlc3QtMDGCEI+aE5UeqMidTZV/Vm/Whcow\\r\\nDQYJKoZIhvcNAQELBQADggEBADSC6PHkVYmoVOyyW2g7q3GG3MmXa43/HQNTM+pT\\r\\n3HENAlhGg8T9EFrOQ/0QAoEQbrtsP8Isj5u2Bd4MOlYA180ExyfL/NFb7QpXq/pR\\r\\nLbePMQAQicdSvk/9RyrNRBfNjT2KNlBp3RZtCkJjQWlc5ylWydPy4JPUZxit/5yg\\r\\nCRT+cmN1ioF469Ki8hzBlKmrDg8jkFUwFyD7B0fEfPP0gSZI3F6HqgCK2hzBTjuj\\r\\nZjddZyn2XxXlxLu57C83CNPP8fbsGW2CwolgmYvt+dJsdDnT7VKX5RS4cOPp/JGG\\r\\n7QdhzqVBoK0vZP6gHEAOPoqBVUWf8SmlVuAVGmDl8EjLnK8=\"\r\n + \ }\r\n ],\r\n \"radiusClientRootCertificates\": [\r\n {\r\n + \ \"name\": \"ApplicationGatewayAuthCert\",\r\n \"thumbprint\": + \"ef6c937b5935e25941f2ea271d38f90dfdb20953\"\r\n }\r\n ],\r\n \"aadAuthenticationParameters\": + {},\r\n \"vpnClientIpsecPolicies\": []\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '2572' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 08 Jun 2020 03:05:51 GMT + etag: + - W/"2005588d-0ca2-4917-ac6c-6bb39fddb0dc" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 192bdd29-d547-4bbe-902b-dba041ed7845 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-server-config set + Connection: + - keep-alive + ParameterSetName: + - -n -g --auth-types --aad-audience --aad-issuer --aad-tenant --no-wait + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-resource/9.0.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_azure_vpn_server_config000001?api-version=2019-07-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vpn_server_config000001","name":"cli_test_azure_vpn_server_config000001","type":"Microsoft.Resources/resourceGroups","location":"westcentralus","tags":{"product":"azurecli","cause":"automation","date":"2020-06-08T03:05:09Z","StorageType":"Standard_LRS","type":"test"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '478' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 08 Jun 2020 03:05:52 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"location": "westcentralus", "properties": {"vpnAuthenticationTypes": + ["AAD"], "aadAuthenticationParameters": {"aadTenant": "https://login.microsoftonline.com/0ab2c4f4-81e6-44cc-a0b2-b3a47a1443f4", + "aadAudience": "a21fce82-76af-45e6-8583-a08cb3b956f9", "aadIssuer": "https://sts.windows.net/0ab2c4f4-81e6-44cc-a0b2-b3a47a1443f4/"}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-server-config set + Connection: + - keep-alive + Content-Length: + - '333' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -n -g --auth-types --aad-audience --aad-issuer --aad-tenant --no-wait + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vpn_server_config000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"clitestserverconfig\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vpn_server_config000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig\",\r\n + \ \"etag\": \"W/\\\"536eee63-8b09-4f39-9a17-10b73a3accc9\\\"\",\r\n \"type\": + \"Microsoft.Network/vpnServerConfigurations\",\r\n \"location\": \"westcentralus\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \"vpnProtocols\": + [\r\n \"OpenVPN\",\r\n \"IkeV2\"\r\n ],\r\n \"vpnAuthenticationTypes\": + [\r\n \"AAD\"\r\n ],\r\n \"vpnClientRootCertificates\": [],\r\n + \ \"vpnClientRevokedCertificates\": [],\r\n \"radiusServers\": [],\r\n + \ \"radiusServerRootCertificates\": [],\r\n \"radiusClientRootCertificates\": + [],\r\n \"aadAuthenticationParameters\": {\r\n \"aadTenant\": \"https://login.microsoftonline.com/0ab2c4f4-81e6-44cc-a0b2-b3a47a1443f4\",\r\n + \ \"aadAudience\": \"a21fce82-76af-45e6-8583-a08cb3b956f9\",\r\n \"aadIssuer\": + \"https://sts.windows.net/0ab2c4f4-81e6-44cc-a0b2-b3a47a1443f4/\"\r\n },\r\n + \ \"vpnClientIpsecPolicies\": []\r\n }\r\n}" + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westcentralus/operations/bc7a4852-dfa5-4e80-a799-609e52059b49?api-version=2020-04-01 + cache-control: + - no-cache + content-length: + - '1097' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 08 Jun 2020 03:05:53 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - e39909d1-5c07-4a98-8690-da79fa8791c6 + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-server-config wait + Connection: + - keep-alive + ParameterSetName: + - -n -g --created + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vpn_server_config000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"clitestserverconfig\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vpn_server_config000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig\",\r\n + \ \"etag\": \"W/\\\"536eee63-8b09-4f39-9a17-10b73a3accc9\\\"\",\r\n \"type\": + \"Microsoft.Network/vpnServerConfigurations\",\r\n \"location\": \"westcentralus\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \"vpnProtocols\": + [\r\n \"OpenVPN\",\r\n \"IkeV2\"\r\n ],\r\n \"vpnAuthenticationTypes\": + [\r\n \"AAD\"\r\n ],\r\n \"vpnClientRootCertificates\": [],\r\n + \ \"vpnClientRevokedCertificates\": [],\r\n \"radiusServers\": [],\r\n + \ \"radiusServerRootCertificates\": [],\r\n \"radiusClientRootCertificates\": + [],\r\n \"aadAuthenticationParameters\": {\r\n \"aadTenant\": \"https://login.microsoftonline.com/0ab2c4f4-81e6-44cc-a0b2-b3a47a1443f4\",\r\n + \ \"aadAudience\": \"a21fce82-76af-45e6-8583-a08cb3b956f9\",\r\n \"aadIssuer\": + \"https://sts.windows.net/0ab2c4f4-81e6-44cc-a0b2-b3a47a1443f4/\"\r\n },\r\n + \ \"vpnClientIpsecPolicies\": []\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1097' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 08 Jun 2020 03:05:54 GMT + etag: + - W/"536eee63-8b09-4f39-9a17-10b73a3accc9" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - a78e47e7-6fa6-4a67-bf81-bf7fc7347e60 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-server-config wait + Connection: + - keep-alive + ParameterSetName: + - -n -g --created + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vpn_server_config000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"clitestserverconfig\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vpn_server_config000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig\",\r\n + \ \"etag\": \"W/\\\"2ea7f890-5aff-426e-a328-e9fb997d93cc\\\"\",\r\n \"type\": + \"Microsoft.Network/vpnServerConfigurations\",\r\n \"location\": \"westcentralus\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"vpnProtocols\": + [\r\n \"OpenVPN\",\r\n \"IkeV2\"\r\n ],\r\n \"vpnAuthenticationTypes\": + [\r\n \"AAD\"\r\n ],\r\n \"vpnClientRootCertificates\": [],\r\n + \ \"vpnClientRevokedCertificates\": [],\r\n \"radiusServers\": [],\r\n + \ \"radiusServerRootCertificates\": [],\r\n \"radiusClientRootCertificates\": + [],\r\n \"aadAuthenticationParameters\": {\r\n \"aadTenant\": \"https://login.microsoftonline.com/0ab2c4f4-81e6-44cc-a0b2-b3a47a1443f4\",\r\n + \ \"aadAudience\": \"a21fce82-76af-45e6-8583-a08cb3b956f9\",\r\n \"aadIssuer\": + \"https://sts.windows.net/0ab2c4f4-81e6-44cc-a0b2-b3a47a1443f4/\"\r\n },\r\n + \ \"vpnClientIpsecPolicies\": []\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1098' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 08 Jun 2020 03:06:24 GMT + etag: + - W/"2ea7f890-5aff-426e-a328-e9fb997d93cc" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 5fbab76d-333a-434a-aa79-83e224a69a4e + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-server-config show + Connection: + - keep-alive + ParameterSetName: + - -n -g + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vpn_server_config000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"clitestserverconfig\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vpn_server_config000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig\",\r\n + \ \"etag\": \"W/\\\"2ea7f890-5aff-426e-a328-e9fb997d93cc\\\"\",\r\n \"type\": + \"Microsoft.Network/vpnServerConfigurations\",\r\n \"location\": \"westcentralus\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"vpnProtocols\": + [\r\n \"OpenVPN\",\r\n \"IkeV2\"\r\n ],\r\n \"vpnAuthenticationTypes\": + [\r\n \"AAD\"\r\n ],\r\n \"vpnClientRootCertificates\": [],\r\n + \ \"vpnClientRevokedCertificates\": [],\r\n \"radiusServers\": [],\r\n + \ \"radiusServerRootCertificates\": [],\r\n \"radiusClientRootCertificates\": + [],\r\n \"aadAuthenticationParameters\": {\r\n \"aadTenant\": \"https://login.microsoftonline.com/0ab2c4f4-81e6-44cc-a0b2-b3a47a1443f4\",\r\n + \ \"aadAudience\": \"a21fce82-76af-45e6-8583-a08cb3b956f9\",\r\n \"aadIssuer\": + \"https://sts.windows.net/0ab2c4f4-81e6-44cc-a0b2-b3a47a1443f4/\"\r\n },\r\n + \ \"vpnClientIpsecPolicies\": []\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1098' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 08 Jun 2020 03:06:25 GMT + etag: + - W/"2ea7f890-5aff-426e-a328-e9fb997d93cc" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 25463422-6625-471a-b4a4-0e258ea53e35 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-server-config list + Connection: + - keep-alive + ParameterSetName: + - -g + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vpn_server_config000001/providers/Microsoft.Network/vpnServerConfigurations?api-version=2020-04-01 + response: + body: + string: "{\r\n \"value\": [\r\n {\r\n \"name\": \"clitestserverconfig\",\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vpn_server_config000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig\",\r\n + \ \"etag\": \"W/\\\"2ea7f890-5aff-426e-a328-e9fb997d93cc\\\"\",\r\n \"type\": + \"Microsoft.Network/vpnServerConfigurations\",\r\n \"location\": \"westcentralus\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"vpnProtocols\": [\r\n \"OpenVPN\",\r\n \"IkeV2\"\r\n + \ ],\r\n \"vpnAuthenticationTypes\": [\r\n \"AAD\"\r\n + \ ],\r\n \"vpnClientRootCertificates\": [],\r\n \"vpnClientRevokedCertificates\": + [],\r\n \"radiusServers\": [],\r\n \"radiusServerRootCertificates\": + [],\r\n \"radiusClientRootCertificates\": [],\r\n \"aadAuthenticationParameters\": + {\r\n \"aadTenant\": \"https://login.microsoftonline.com/0ab2c4f4-81e6-44cc-a0b2-b3a47a1443f4\",\r\n + \ \"aadAudience\": \"a21fce82-76af-45e6-8583-a08cb3b956f9\",\r\n \"aadIssuer\": + \"https://sts.windows.net/0ab2c4f4-81e6-44cc-a0b2-b3a47a1443f4/\"\r\n },\r\n + \ \"vpnClientIpsecPolicies\": []\r\n }\r\n }\r\n ]\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1235' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 08 Jun 2020 03:06:26 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 5a6a1e76-84cd-46e0-8dcd-e1a2f9bae4d0 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-server-config list + Connection: + - keep-alive + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/vpnServerConfigurations?api-version=2020-04-01 + response: + body: + string: "{\r\n \"value\": [\r\n {\r\n \"name\": \"clitestserverconfig\",\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vpn_server_config000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig\",\r\n + \ \"etag\": \"W/\\\"2ea7f890-5aff-426e-a328-e9fb997d93cc\\\"\",\r\n \"type\": + \"Microsoft.Network/vpnServerConfigurations\",\r\n \"location\": \"westcentralus\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"vpnProtocols\": [\r\n \"OpenVPN\",\r\n \"IkeV2\"\r\n + \ ],\r\n \"vpnAuthenticationTypes\": [\r\n \"AAD\"\r\n + \ ],\r\n \"vpnClientRootCertificates\": [],\r\n \"vpnClientRevokedCertificates\": + [],\r\n \"radiusServers\": [],\r\n \"radiusServerRootCertificates\": + [],\r\n \"radiusClientRootCertificates\": [],\r\n \"aadAuthenticationParameters\": + {\r\n \"aadTenant\": \"https://login.microsoftonline.com/0ab2c4f4-81e6-44cc-a0b2-b3a47a1443f4\",\r\n + \ \"aadAudience\": \"a21fce82-76af-45e6-8583-a08cb3b956f9\",\r\n \"aadIssuer\": + \"https://sts.windows.net/0ab2c4f4-81e6-44cc-a0b2-b3a47a1443f4/\"\r\n },\r\n + \ \"vpnClientIpsecPolicies\": []\r\n }\r\n }\r\n ]\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1235' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 08 Jun 2020 03:06:27 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 8defd46a-2aed-4da1-9df2-72cb4a02e69d + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-server-config ipsec-policy add + Connection: + - keep-alive + ParameterSetName: + - -n -g --ipsec-encryption --ipsec-integrity --sa-lifetime --sa-data-size --ike-encryption + --ike-integrity --dh-group --pfs-group + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vpn_server_config000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"clitestserverconfig\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vpn_server_config000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig\",\r\n + \ \"etag\": \"W/\\\"2ea7f890-5aff-426e-a328-e9fb997d93cc\\\"\",\r\n \"type\": + \"Microsoft.Network/vpnServerConfigurations\",\r\n \"location\": \"westcentralus\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"vpnProtocols\": + [\r\n \"OpenVPN\",\r\n \"IkeV2\"\r\n ],\r\n \"vpnAuthenticationTypes\": + [\r\n \"AAD\"\r\n ],\r\n \"vpnClientRootCertificates\": [],\r\n + \ \"vpnClientRevokedCertificates\": [],\r\n \"radiusServers\": [],\r\n + \ \"radiusServerRootCertificates\": [],\r\n \"radiusClientRootCertificates\": + [],\r\n \"aadAuthenticationParameters\": {\r\n \"aadTenant\": \"https://login.microsoftonline.com/0ab2c4f4-81e6-44cc-a0b2-b3a47a1443f4\",\r\n + \ \"aadAudience\": \"a21fce82-76af-45e6-8583-a08cb3b956f9\",\r\n \"aadIssuer\": + \"https://sts.windows.net/0ab2c4f4-81e6-44cc-a0b2-b3a47a1443f4/\"\r\n },\r\n + \ \"vpnClientIpsecPolicies\": []\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1098' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 08 Jun 2020 03:06:28 GMT + etag: + - W/"2ea7f890-5aff-426e-a328-e9fb997d93cc" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 06551728-49e5-4d0a-801b-c0005cd1c5bd + status: + code: 200 + message: OK +- request: + body: 'b''{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vpn_server_config000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig", + "location": "westcentralus", "properties": {"vpnProtocols": ["OpenVPN", "IkeV2"], + "vpnAuthenticationTypes": ["AAD"], "vpnClientRootCertificates": [], "vpnClientRevokedCertificates": + [], "radiusServerRootCertificates": [], "radiusClientRootCertificates": [], + "vpnClientIpsecPolicies": [{"saLifeTimeSeconds": 86471, "saDataSizeKilobytes": + 429496, "ipsecEncryption": "AES256", "ipsecIntegrity": "SHA256", "ikeEncryption": + "AES256", "ikeIntegrity": "SHA384", "dhGroup": "DHGroup14", "pfsGroup": "PFS14"}], + "radiusServers": [], "aadAuthenticationParameters": {"aadTenant": "https://login.microsoftonline.com/0ab2c4f4-81e6-44cc-a0b2-b3a47a1443f4", + "aadAudience": "a21fce82-76af-45e6-8583-a08cb3b956f9", "aadIssuer": "https://sts.windows.net/0ab2c4f4-81e6-44cc-a0b2-b3a47a1443f4/"}}}''' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-server-config ipsec-policy add + Connection: + - keep-alive + Content-Length: + - '1001' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -n -g --ipsec-encryption --ipsec-integrity --sa-lifetime --sa-data-size --ike-encryption + --ike-integrity --dh-group --pfs-group + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vpn_server_config000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"clitestserverconfig\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vpn_server_config000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig\",\r\n + \ \"etag\": \"W/\\\"414ba24b-ca85-4110-a165-95c2cb639132\\\"\",\r\n \"type\": + \"Microsoft.Network/vpnServerConfigurations\",\r\n \"location\": \"westcentralus\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \"vpnProtocols\": + [\r\n \"OpenVPN\",\r\n \"IkeV2\"\r\n ],\r\n \"vpnAuthenticationTypes\": + [\r\n \"AAD\"\r\n ],\r\n \"vpnClientRootCertificates\": [],\r\n + \ \"vpnClientRevokedCertificates\": [],\r\n \"radiusServers\": [],\r\n + \ \"radiusServerRootCertificates\": [],\r\n \"radiusClientRootCertificates\": + [],\r\n \"aadAuthenticationParameters\": {\r\n \"aadTenant\": \"https://login.microsoftonline.com/0ab2c4f4-81e6-44cc-a0b2-b3a47a1443f4\",\r\n + \ \"aadAudience\": \"a21fce82-76af-45e6-8583-a08cb3b956f9\",\r\n \"aadIssuer\": + \"https://sts.windows.net/0ab2c4f4-81e6-44cc-a0b2-b3a47a1443f4/\"\r\n },\r\n + \ \"vpnClientIpsecPolicies\": [\r\n {\r\n \"saLifeTimeSeconds\": + 86471,\r\n \"saDataSizeKilobytes\": 429496,\r\n \"ipsecEncryption\": + \"AES256\",\r\n \"ipsecIntegrity\": \"SHA256\",\r\n \"ikeEncryption\": + \"AES256\",\r\n \"ikeIntegrity\": \"SHA384\",\r\n \"dhGroup\": + \"DHGroup14\",\r\n \"pfsGroup\": \"PFS14\"\r\n }\r\n ]\r\n + \ }\r\n}" + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westcentralus/operations/2478d5bb-713b-48ba-8e06-086d0c9a9e81?api-version=2020-04-01 + cache-control: + - no-cache + content-length: + - '1406' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 08 Jun 2020 03:06:29 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 627ecadb-9fd0-4d7f-9667-34bfe5c8421f + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-server-config ipsec-policy add + Connection: + - keep-alive + ParameterSetName: + - -n -g --ipsec-encryption --ipsec-integrity --sa-lifetime --sa-data-size --ike-encryption + --ike-integrity --dh-group --pfs-group + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westcentralus/operations/2478d5bb-713b-48ba-8e06-086d0c9a9e81?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"Succeeded\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '29' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 08 Jun 2020 03:06:40 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - bb1afade-0cf9-46de-8600-397facc5d7ab + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-server-config ipsec-policy add + Connection: + - keep-alive + ParameterSetName: + - -n -g --ipsec-encryption --ipsec-integrity --sa-lifetime --sa-data-size --ike-encryption + --ike-integrity --dh-group --pfs-group + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vpn_server_config000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"clitestserverconfig\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vpn_server_config000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig\",\r\n + \ \"etag\": \"W/\\\"af6f905a-8402-4107-8f0c-22595ebaf132\\\"\",\r\n \"type\": + \"Microsoft.Network/vpnServerConfigurations\",\r\n \"location\": \"westcentralus\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"vpnProtocols\": + [\r\n \"OpenVPN\",\r\n \"IkeV2\"\r\n ],\r\n \"vpnAuthenticationTypes\": + [\r\n \"AAD\"\r\n ],\r\n \"vpnClientRootCertificates\": [],\r\n + \ \"vpnClientRevokedCertificates\": [],\r\n \"radiusServers\": [],\r\n + \ \"radiusServerRootCertificates\": [],\r\n \"radiusClientRootCertificates\": + [],\r\n \"aadAuthenticationParameters\": {\r\n \"aadTenant\": \"https://login.microsoftonline.com/0ab2c4f4-81e6-44cc-a0b2-b3a47a1443f4\",\r\n + \ \"aadAudience\": \"a21fce82-76af-45e6-8583-a08cb3b956f9\",\r\n \"aadIssuer\": + \"https://sts.windows.net/0ab2c4f4-81e6-44cc-a0b2-b3a47a1443f4/\"\r\n },\r\n + \ \"vpnClientIpsecPolicies\": [\r\n {\r\n \"saLifeTimeSeconds\": + 86471,\r\n \"saDataSizeKilobytes\": 429496,\r\n \"ipsecEncryption\": + \"AES256\",\r\n \"ipsecIntegrity\": \"SHA256\",\r\n \"ikeEncryption\": + \"AES256\",\r\n \"ikeIntegrity\": \"SHA384\",\r\n \"dhGroup\": + \"DHGroup14\",\r\n \"pfsGroup\": \"PFS14\"\r\n }\r\n ]\r\n + \ }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1407' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 08 Jun 2020 03:06:40 GMT + etag: + - W/"af6f905a-8402-4107-8f0c-22595ebaf132" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 42e4f512-13bc-4fe0-a227-48b3f73b600c + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-server-config ipsec-policy list + Connection: + - keep-alive + ParameterSetName: + - -n -g + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vpn_server_config000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"clitestserverconfig\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vpn_server_config000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig\",\r\n + \ \"etag\": \"W/\\\"af6f905a-8402-4107-8f0c-22595ebaf132\\\"\",\r\n \"type\": + \"Microsoft.Network/vpnServerConfigurations\",\r\n \"location\": \"westcentralus\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"vpnProtocols\": + [\r\n \"OpenVPN\",\r\n \"IkeV2\"\r\n ],\r\n \"vpnAuthenticationTypes\": + [\r\n \"AAD\"\r\n ],\r\n \"vpnClientRootCertificates\": [],\r\n + \ \"vpnClientRevokedCertificates\": [],\r\n \"radiusServers\": [],\r\n + \ \"radiusServerRootCertificates\": [],\r\n \"radiusClientRootCertificates\": + [],\r\n \"aadAuthenticationParameters\": {\r\n \"aadTenant\": \"https://login.microsoftonline.com/0ab2c4f4-81e6-44cc-a0b2-b3a47a1443f4\",\r\n + \ \"aadAudience\": \"a21fce82-76af-45e6-8583-a08cb3b956f9\",\r\n \"aadIssuer\": + \"https://sts.windows.net/0ab2c4f4-81e6-44cc-a0b2-b3a47a1443f4/\"\r\n },\r\n + \ \"vpnClientIpsecPolicies\": [\r\n {\r\n \"saLifeTimeSeconds\": + 86471,\r\n \"saDataSizeKilobytes\": 429496,\r\n \"ipsecEncryption\": + \"AES256\",\r\n \"ipsecIntegrity\": \"SHA256\",\r\n \"ikeEncryption\": + \"AES256\",\r\n \"ikeIntegrity\": \"SHA384\",\r\n \"dhGroup\": + \"DHGroup14\",\r\n \"pfsGroup\": \"PFS14\"\r\n }\r\n ]\r\n + \ }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1407' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 08 Jun 2020 03:06:42 GMT + etag: + - W/"af6f905a-8402-4107-8f0c-22595ebaf132" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - e26acf0b-d72c-4ef8-a978-27d92a87a3d5 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-server-config ipsec-policy remove + Connection: + - keep-alive + ParameterSetName: + - -n -g --index + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vpn_server_config000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"clitestserverconfig\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vpn_server_config000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig\",\r\n + \ \"etag\": \"W/\\\"af6f905a-8402-4107-8f0c-22595ebaf132\\\"\",\r\n \"type\": + \"Microsoft.Network/vpnServerConfigurations\",\r\n \"location\": \"westcentralus\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"vpnProtocols\": + [\r\n \"OpenVPN\",\r\n \"IkeV2\"\r\n ],\r\n \"vpnAuthenticationTypes\": + [\r\n \"AAD\"\r\n ],\r\n \"vpnClientRootCertificates\": [],\r\n + \ \"vpnClientRevokedCertificates\": [],\r\n \"radiusServers\": [],\r\n + \ \"radiusServerRootCertificates\": [],\r\n \"radiusClientRootCertificates\": + [],\r\n \"aadAuthenticationParameters\": {\r\n \"aadTenant\": \"https://login.microsoftonline.com/0ab2c4f4-81e6-44cc-a0b2-b3a47a1443f4\",\r\n + \ \"aadAudience\": \"a21fce82-76af-45e6-8583-a08cb3b956f9\",\r\n \"aadIssuer\": + \"https://sts.windows.net/0ab2c4f4-81e6-44cc-a0b2-b3a47a1443f4/\"\r\n },\r\n + \ \"vpnClientIpsecPolicies\": [\r\n {\r\n \"saLifeTimeSeconds\": + 86471,\r\n \"saDataSizeKilobytes\": 429496,\r\n \"ipsecEncryption\": + \"AES256\",\r\n \"ipsecIntegrity\": \"SHA256\",\r\n \"ikeEncryption\": + \"AES256\",\r\n \"ikeIntegrity\": \"SHA384\",\r\n \"dhGroup\": + \"DHGroup14\",\r\n \"pfsGroup\": \"PFS14\"\r\n }\r\n ]\r\n + \ }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1407' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 08 Jun 2020 03:06:43 GMT + etag: + - W/"af6f905a-8402-4107-8f0c-22595ebaf132" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - e6a13ca7-264d-45bf-bb65-a0f381dd2917 + status: + code: 200 + message: OK +- request: + body: 'b''{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vpn_server_config000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig", + "location": "westcentralus", "properties": {"vpnProtocols": ["OpenVPN", "IkeV2"], + "vpnAuthenticationTypes": ["AAD"], "vpnClientRootCertificates": [], "vpnClientRevokedCertificates": + [], "radiusServerRootCertificates": [], "radiusClientRootCertificates": [], + "vpnClientIpsecPolicies": [], "radiusServers": [], "aadAuthenticationParameters": + {"aadTenant": "https://login.microsoftonline.com/0ab2c4f4-81e6-44cc-a0b2-b3a47a1443f4", + "aadAudience": "a21fce82-76af-45e6-8583-a08cb3b956f9", "aadIssuer": "https://sts.windows.net/0ab2c4f4-81e6-44cc-a0b2-b3a47a1443f4/"}}}''' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-server-config ipsec-policy remove + Connection: + - keep-alive + Content-Length: + - '787' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -n -g --index + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vpn_server_config000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"clitestserverconfig\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vpn_server_config000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig\",\r\n + \ \"etag\": \"W/\\\"38be8c68-7be3-4e09-b67d-dabdb80dd960\\\"\",\r\n \"type\": + \"Microsoft.Network/vpnServerConfigurations\",\r\n \"location\": \"westcentralus\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \"vpnProtocols\": + [\r\n \"OpenVPN\",\r\n \"IkeV2\"\r\n ],\r\n \"vpnAuthenticationTypes\": + [\r\n \"AAD\"\r\n ],\r\n \"vpnClientRootCertificates\": [],\r\n + \ \"vpnClientRevokedCertificates\": [],\r\n \"radiusServers\": [],\r\n + \ \"radiusServerRootCertificates\": [],\r\n \"radiusClientRootCertificates\": + [],\r\n \"aadAuthenticationParameters\": {\r\n \"aadTenant\": \"https://login.microsoftonline.com/0ab2c4f4-81e6-44cc-a0b2-b3a47a1443f4\",\r\n + \ \"aadAudience\": \"a21fce82-76af-45e6-8583-a08cb3b956f9\",\r\n \"aadIssuer\": + \"https://sts.windows.net/0ab2c4f4-81e6-44cc-a0b2-b3a47a1443f4/\"\r\n },\r\n + \ \"vpnClientIpsecPolicies\": []\r\n }\r\n}" + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westcentralus/operations/cca17d5a-b7ea-4807-80c4-ad2f892bece8?api-version=2020-04-01 + cache-control: + - no-cache + content-length: + - '1097' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 08 Jun 2020 03:06:43 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 9ea82164-8040-4d91-a47b-c682b6333c13 + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-server-config ipsec-policy remove + Connection: + - keep-alive + ParameterSetName: + - -n -g --index + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westcentralus/operations/cca17d5a-b7ea-4807-80c4-ad2f892bece8?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"Succeeded\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '29' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 08 Jun 2020 03:06:54 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 3a206ec0-3043-44cc-96e9-a81ed504321a + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-server-config ipsec-policy remove + Connection: + - keep-alive + ParameterSetName: + - -n -g --index + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vpn_server_config000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"clitestserverconfig\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vpn_server_config000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig\",\r\n + \ \"etag\": \"W/\\\"876b58f8-b902-4271-8a69-4e8979aa0e17\\\"\",\r\n \"type\": + \"Microsoft.Network/vpnServerConfigurations\",\r\n \"location\": \"westcentralus\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"vpnProtocols\": + [\r\n \"OpenVPN\",\r\n \"IkeV2\"\r\n ],\r\n \"vpnAuthenticationTypes\": + [\r\n \"AAD\"\r\n ],\r\n \"vpnClientRootCertificates\": [],\r\n + \ \"vpnClientRevokedCertificates\": [],\r\n \"radiusServers\": [],\r\n + \ \"radiusServerRootCertificates\": [],\r\n \"radiusClientRootCertificates\": + [],\r\n \"aadAuthenticationParameters\": {\r\n \"aadTenant\": \"https://login.microsoftonline.com/0ab2c4f4-81e6-44cc-a0b2-b3a47a1443f4\",\r\n + \ \"aadAudience\": \"a21fce82-76af-45e6-8583-a08cb3b956f9\",\r\n \"aadIssuer\": + \"https://sts.windows.net/0ab2c4f4-81e6-44cc-a0b2-b3a47a1443f4/\"\r\n },\r\n + \ \"vpnClientIpsecPolicies\": []\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1098' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 08 Jun 2020 03:06:55 GMT + etag: + - W/"876b58f8-b902-4271-8a69-4e8979aa0e17" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - b657a236-39aa-4abc-856a-7c891c3d5b34 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-server-config ipsec-policy add + Connection: + - keep-alive + ParameterSetName: + - -n -g --ipsec-encryption --ipsec-integrity --sa-lifetime --sa-data-size --ike-encryption + --ike-integrity --dh-group --pfs-group + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vpn_server_config000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"clitestserverconfig\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vpn_server_config000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig\",\r\n + \ \"etag\": \"W/\\\"876b58f8-b902-4271-8a69-4e8979aa0e17\\\"\",\r\n \"type\": + \"Microsoft.Network/vpnServerConfigurations\",\r\n \"location\": \"westcentralus\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"vpnProtocols\": + [\r\n \"OpenVPN\",\r\n \"IkeV2\"\r\n ],\r\n \"vpnAuthenticationTypes\": + [\r\n \"AAD\"\r\n ],\r\n \"vpnClientRootCertificates\": [],\r\n + \ \"vpnClientRevokedCertificates\": [],\r\n \"radiusServers\": [],\r\n + \ \"radiusServerRootCertificates\": [],\r\n \"radiusClientRootCertificates\": + [],\r\n \"aadAuthenticationParameters\": {\r\n \"aadTenant\": \"https://login.microsoftonline.com/0ab2c4f4-81e6-44cc-a0b2-b3a47a1443f4\",\r\n + \ \"aadAudience\": \"a21fce82-76af-45e6-8583-a08cb3b956f9\",\r\n \"aadIssuer\": + \"https://sts.windows.net/0ab2c4f4-81e6-44cc-a0b2-b3a47a1443f4/\"\r\n },\r\n + \ \"vpnClientIpsecPolicies\": []\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1098' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 08 Jun 2020 03:06:56 GMT + etag: + - W/"876b58f8-b902-4271-8a69-4e8979aa0e17" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - b28b5219-110f-4dfd-9c50-226bec0b5444 + status: + code: 200 + message: OK +- request: + body: 'b''{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vpn_server_config000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig", + "location": "westcentralus", "properties": {"vpnProtocols": ["OpenVPN", "IkeV2"], + "vpnAuthenticationTypes": ["AAD"], "vpnClientRootCertificates": [], "vpnClientRevokedCertificates": + [], "radiusServerRootCertificates": [], "radiusClientRootCertificates": [], + "vpnClientIpsecPolicies": [{"saLifeTimeSeconds": 86471, "saDataSizeKilobytes": + 429496, "ipsecEncryption": "AES256", "ipsecIntegrity": "SHA256", "ikeEncryption": + "AES256", "ikeIntegrity": "SHA384", "dhGroup": "DHGroup14", "pfsGroup": "PFS14"}], + "radiusServers": [], "aadAuthenticationParameters": {"aadTenant": "https://login.microsoftonline.com/0ab2c4f4-81e6-44cc-a0b2-b3a47a1443f4", + "aadAudience": "a21fce82-76af-45e6-8583-a08cb3b956f9", "aadIssuer": "https://sts.windows.net/0ab2c4f4-81e6-44cc-a0b2-b3a47a1443f4/"}}}''' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-server-config ipsec-policy add + Connection: + - keep-alive + Content-Length: + - '1001' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -n -g --ipsec-encryption --ipsec-integrity --sa-lifetime --sa-data-size --ike-encryption + --ike-integrity --dh-group --pfs-group + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vpn_server_config000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"clitestserverconfig\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vpn_server_config000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig\",\r\n + \ \"etag\": \"W/\\\"cb004b1a-b698-4906-9b56-679aa0d3650c\\\"\",\r\n \"type\": + \"Microsoft.Network/vpnServerConfigurations\",\r\n \"location\": \"westcentralus\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \"vpnProtocols\": + [\r\n \"OpenVPN\",\r\n \"IkeV2\"\r\n ],\r\n \"vpnAuthenticationTypes\": + [\r\n \"AAD\"\r\n ],\r\n \"vpnClientRootCertificates\": [],\r\n + \ \"vpnClientRevokedCertificates\": [],\r\n \"radiusServers\": [],\r\n + \ \"radiusServerRootCertificates\": [],\r\n \"radiusClientRootCertificates\": + [],\r\n \"aadAuthenticationParameters\": {\r\n \"aadTenant\": \"https://login.microsoftonline.com/0ab2c4f4-81e6-44cc-a0b2-b3a47a1443f4\",\r\n + \ \"aadAudience\": \"a21fce82-76af-45e6-8583-a08cb3b956f9\",\r\n \"aadIssuer\": + \"https://sts.windows.net/0ab2c4f4-81e6-44cc-a0b2-b3a47a1443f4/\"\r\n },\r\n + \ \"vpnClientIpsecPolicies\": [\r\n {\r\n \"saLifeTimeSeconds\": + 86471,\r\n \"saDataSizeKilobytes\": 429496,\r\n \"ipsecEncryption\": + \"AES256\",\r\n \"ipsecIntegrity\": \"SHA256\",\r\n \"ikeEncryption\": + \"AES256\",\r\n \"ikeIntegrity\": \"SHA384\",\r\n \"dhGroup\": + \"DHGroup14\",\r\n \"pfsGroup\": \"PFS14\"\r\n }\r\n ]\r\n + \ }\r\n}" + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westcentralus/operations/c52dae72-1e8c-42db-a267-8372a474b25a?api-version=2020-04-01 + cache-control: + - no-cache + content-length: + - '1406' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 08 Jun 2020 03:06:57 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 6251eb9d-b1b4-4786-b6d1-33eea2068d43 + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-server-config ipsec-policy add + Connection: + - keep-alive + ParameterSetName: + - -n -g --ipsec-encryption --ipsec-integrity --sa-lifetime --sa-data-size --ike-encryption + --ike-integrity --dh-group --pfs-group + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westcentralus/operations/c52dae72-1e8c-42db-a267-8372a474b25a?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"Succeeded\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '29' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 08 Jun 2020 03:07:08 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - c3829816-43da-4280-a486-7874bbaa53e1 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-server-config ipsec-policy add + Connection: + - keep-alive + ParameterSetName: + - -n -g --ipsec-encryption --ipsec-integrity --sa-lifetime --sa-data-size --ike-encryption + --ike-integrity --dh-group --pfs-group + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vpn_server_config000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"clitestserverconfig\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vpn_server_config000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig\",\r\n + \ \"etag\": \"W/\\\"c8f01176-1372-43a8-ae83-95c0debf82d9\\\"\",\r\n \"type\": + \"Microsoft.Network/vpnServerConfigurations\",\r\n \"location\": \"westcentralus\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"vpnProtocols\": + [\r\n \"OpenVPN\",\r\n \"IkeV2\"\r\n ],\r\n \"vpnAuthenticationTypes\": + [\r\n \"AAD\"\r\n ],\r\n \"vpnClientRootCertificates\": [],\r\n + \ \"vpnClientRevokedCertificates\": [],\r\n \"radiusServers\": [],\r\n + \ \"radiusServerRootCertificates\": [],\r\n \"radiusClientRootCertificates\": + [],\r\n \"aadAuthenticationParameters\": {\r\n \"aadTenant\": \"https://login.microsoftonline.com/0ab2c4f4-81e6-44cc-a0b2-b3a47a1443f4\",\r\n + \ \"aadAudience\": \"a21fce82-76af-45e6-8583-a08cb3b956f9\",\r\n \"aadIssuer\": + \"https://sts.windows.net/0ab2c4f4-81e6-44cc-a0b2-b3a47a1443f4/\"\r\n },\r\n + \ \"vpnClientIpsecPolicies\": [\r\n {\r\n \"saLifeTimeSeconds\": + 86471,\r\n \"saDataSizeKilobytes\": 429496,\r\n \"ipsecEncryption\": + \"AES256\",\r\n \"ipsecIntegrity\": \"SHA256\",\r\n \"ikeEncryption\": + \"AES256\",\r\n \"ikeIntegrity\": \"SHA384\",\r\n \"dhGroup\": + \"DHGroup14\",\r\n \"pfsGroup\": \"PFS14\"\r\n }\r\n ]\r\n + \ }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1407' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 08 Jun 2020 03:07:09 GMT + etag: + - W/"c8f01176-1372-43a8-ae83-95c0debf82d9" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 23194d0d-d704-4ce4-b4a3-00187e124d77 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-server-config ipsec-policy list + Connection: + - keep-alive + ParameterSetName: + - -n -g + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vpn_server_config000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"clitestserverconfig\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vpn_server_config000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig\",\r\n + \ \"etag\": \"W/\\\"c8f01176-1372-43a8-ae83-95c0debf82d9\\\"\",\r\n \"type\": + \"Microsoft.Network/vpnServerConfigurations\",\r\n \"location\": \"westcentralus\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"vpnProtocols\": + [\r\n \"OpenVPN\",\r\n \"IkeV2\"\r\n ],\r\n \"vpnAuthenticationTypes\": + [\r\n \"AAD\"\r\n ],\r\n \"vpnClientRootCertificates\": [],\r\n + \ \"vpnClientRevokedCertificates\": [],\r\n \"radiusServers\": [],\r\n + \ \"radiusServerRootCertificates\": [],\r\n \"radiusClientRootCertificates\": + [],\r\n \"aadAuthenticationParameters\": {\r\n \"aadTenant\": \"https://login.microsoftonline.com/0ab2c4f4-81e6-44cc-a0b2-b3a47a1443f4\",\r\n + \ \"aadAudience\": \"a21fce82-76af-45e6-8583-a08cb3b956f9\",\r\n \"aadIssuer\": + \"https://sts.windows.net/0ab2c4f4-81e6-44cc-a0b2-b3a47a1443f4/\"\r\n },\r\n + \ \"vpnClientIpsecPolicies\": [\r\n {\r\n \"saLifeTimeSeconds\": + 86471,\r\n \"saDataSizeKilobytes\": 429496,\r\n \"ipsecEncryption\": + \"AES256\",\r\n \"ipsecIntegrity\": \"SHA256\",\r\n \"ikeEncryption\": + \"AES256\",\r\n \"ikeIntegrity\": \"SHA384\",\r\n \"dhGroup\": + \"DHGroup14\",\r\n \"pfsGroup\": \"PFS14\"\r\n }\r\n ]\r\n + \ }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1407' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 08 Jun 2020 03:07:10 GMT + etag: + - W/"c8f01176-1372-43a8-ae83-95c0debf82d9" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 8d934cf6-088a-4deb-b277-decd63bd4b48 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-server-config delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -n -g + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vpn_server_config000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig?api-version=2020-04-01 + response: + body: + string: '' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westcentralus/operations/cbde9af2-7d56-4a04-9e93-4b95f9ec56ea?api-version=2020-04-01 + cache-control: + - no-cache + content-length: + - '0' + date: + - Mon, 08 Jun 2020 03:07:11 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westcentralus/operationResults/cbde9af2-7d56-4a04-9e93-4b95f9ec56ea?api-version=2020-04-01 + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 6414f2e7-3014-4e37-9ecb-1a6c40efc2ec + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-server-config delete + Connection: + - keep-alive + ParameterSetName: + - -n -g + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westcentralus/operations/cbde9af2-7d56-4a04-9e93-4b95f9ec56ea?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"Succeeded\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '29' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 08 Jun 2020 03:07:23 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - d6111407-d685-446f-9001-bf0e69f678b6 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-server-config show + Connection: + - keep-alive + ParameterSetName: + - -n -g + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/10.2.0 + Azure-SDK-For-Python AZURECLI/2.7.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vpn_server_config000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig?api-version=2020-04-01 + response: + body: + string: "{\r\n \"error\": {\r\n \"code\": \"NotFound\",\r\n \"message\": + \"Resource /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vpn_server_config000001/providers/Microsoft.Network/vpnServerConfigurations/clitestserverconfig + not found.\",\r\n \"details\": []\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '321' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 08 Jun 2020 03:07:25 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - b958edee-fa00-4741-9925-b87b046fc652 + status: + code: 404 + message: Not Found +version: 1 diff --git a/src/virtual-wan/azext_vwan/tests/latest/recordings/test_azure_vwan_route_table.yaml b/src/virtual-wan/azext_vwan/tests/latest/recordings/test_azure_vwan_route_table.yaml index 70316dc8461..a2aaa980ed3 100644 --- a/src/virtual-wan/azext_vwan/tests/latest/recordings/test_azure_vwan_route_table.yaml +++ b/src/virtual-wan/azext_vwan/tests/latest/recordings/test_azure_vwan_route_table.yaml @@ -7,41 +7,11316 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - network vhub route-table create + - network vwan create + Connection: + - keep-alive + ParameterSetName: + - -n -g + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-resource/6.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_azure_vwan_route_table000001?api-version=2019-07-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table000001","name":"cli_test_azure_vwan_route_table000001","type":"Microsoft.Resources/resourceGroups","location":"eastus","tags":{"product":"azurecli","cause":"automation","date":"2020-06-10T06:02:45Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '428' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:02:51 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"location": "eastus"}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vwan create + Connection: + - keep-alive + Content-Length: + - '22' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -n -g + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table000001/providers/Microsoft.Network/virtualWans/testvwan?api-version=2018-08-01 + response: + body: + string: "{\r\n \"name\": \"testvwan\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table000001/providers/Microsoft.Network/virtualWans/testvwan\",\r\n + \ \"etag\": \"W/\\\"b3282752-e182-467f-8e4e-447c3aa2f19b\\\"\",\r\n \"type\": + \"Microsoft.Network/virtualWans\",\r\n \"location\": \"eastus\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Updating\",\r\n \"disableVpnEncryption\": + false,\r\n \"allowBranchToBranchTraffic\": true,\r\n \"allowVnetToVnetTraffic\": + true,\r\n \"office365LocalBreakoutCategory\": \"None\"\r\n }\r\n}" + headers: + azure-asyncnotification: + - Enabled + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/6a041484-0090-4990-9d19-bb181a8a0f1a?api-version=2018-08-01 + cache-control: + - no-cache + content-length: + - '579' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:02:58 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - f5133805-94dc-4f72-a9f7-42adbab81d07 + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vwan create + Connection: + - keep-alive + ParameterSetName: + - -n -g + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/6a041484-0090-4990-9d19-bb181a8a0f1a?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"Succeeded\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '29' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:03:09 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - e0d0aa5e-f309-4ecb-90c8-ea5c73c7cf5e + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vwan create + Connection: + - keep-alive + ParameterSetName: + - -n -g + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table000001/providers/Microsoft.Network/virtualWans/testvwan?api-version=2018-08-01 + response: + body: + string: "{\r\n \"name\": \"testvwan\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table000001/providers/Microsoft.Network/virtualWans/testvwan\",\r\n + \ \"etag\": \"W/\\\"e5b1feaa-5eae-494d-a186-f57f57938891\\\"\",\r\n \"type\": + \"Microsoft.Network/virtualWans\",\r\n \"location\": \"eastus\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Succeeded\",\r\n \"disableVpnEncryption\": + false,\r\n \"allowBranchToBranchTraffic\": true,\r\n \"allowVnetToVnetTraffic\": + true,\r\n \"office365LocalBreakoutCategory\": \"None\"\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '580' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:03:10 GMT + etag: + - W/"e5b1feaa-5eae-494d-a186-f57f57938891" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 527224b6-65e3-43e6-b10a-b82bc3a46832 + status: + code: 200 + message: OK +- request: + body: 'b''{"location": "eastus", "properties": {"virtualWan": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table000001/providers/Microsoft.Network/virtualWans/testvwan"}, + "addressPrefix": "10.0.0.0/24"}}''' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub create + Connection: + - keep-alive + Content-Length: + - '287' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -g -n --vwan --address-prefix -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table000001/providers/Microsoft.Network/virtualHubs/myclitestvhub?api-version=2018-08-01 + response: + body: + string: "{\r\n \"name\": \"myclitestvhub\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table000001/providers/Microsoft.Network/virtualHubs/myclitestvhub\",\r\n + \ \"etag\": \"W/\\\"8e7429f3-a61a-4fd3-b409-93925d246b39\\\"\",\r\n \"type\": + \"Microsoft.Network/virtualHubs\",\r\n \"location\": \"eastus\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Updating\",\r\n \"virtualNetworkConnections\": + [],\r\n \"addressPrefix\": \"10.0.0.0/24\",\r\n \"virtualRouterIps\": + [],\r\n \"routeTable\": {\r\n \"routes\": []\r\n },\r\n \"virtualWan\": + {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table000001/providers/Microsoft.Network/virtualWans/testvwan\"\r\n + \ }\r\n }\r\n}" + headers: + azure-asyncnotification: + - Enabled + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/d39b5bcb-c6d0-47c4-b402-b3359c80e033?api-version=2018-08-01 + cache-control: + - no-cache + content-length: + - '817' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:03:26 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 4d7722de-5602-4ccc-ae5b-d9ea3e3220c7 + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vwan --address-prefix -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/d39b5bcb-c6d0-47c4-b402-b3359c80e033?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:03:37 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - b2de0550-064d-4778-8619-edf327fe48a3 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vwan --address-prefix -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/d39b5bcb-c6d0-47c4-b402-b3359c80e033?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:03:48 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 78791ad3-8083-4764-b5bc-aa5e99e6716f + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vwan --address-prefix -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/d39b5bcb-c6d0-47c4-b402-b3359c80e033?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:03:59 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 8c715169-1cc1-48b7-acc5-e42829e3f45d + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vwan --address-prefix -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/d39b5bcb-c6d0-47c4-b402-b3359c80e033?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:04:10 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - b59f29e0-3158-43d0-b745-a6ec227e18d0 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vwan --address-prefix -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/d39b5bcb-c6d0-47c4-b402-b3359c80e033?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:04:21 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - d843b1db-d6e1-480e-b946-abd77716d725 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vwan --address-prefix -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/d39b5bcb-c6d0-47c4-b402-b3359c80e033?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:04:32 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 39827c19-d63c-4155-a93a-7e6556d6f13e + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vwan --address-prefix -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/d39b5bcb-c6d0-47c4-b402-b3359c80e033?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:04:43 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 8298c1a8-1160-4166-a387-f6f5b6db0f10 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vwan --address-prefix -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/d39b5bcb-c6d0-47c4-b402-b3359c80e033?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:04:54 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - ca727b29-7472-4d77-b8b2-780879cf59b8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vwan --address-prefix -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/d39b5bcb-c6d0-47c4-b402-b3359c80e033?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:05:05 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 02605f53-0a8f-4ce6-837e-01258406006c + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vwan --address-prefix -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/d39b5bcb-c6d0-47c4-b402-b3359c80e033?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:05:15 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 04561a61-cc5d-4a4b-96ef-900064a7fac6 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vwan --address-prefix -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/d39b5bcb-c6d0-47c4-b402-b3359c80e033?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:05:27 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 02265071-e251-4417-80cb-e1ebb10d57b0 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vwan --address-prefix -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/d39b5bcb-c6d0-47c4-b402-b3359c80e033?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:05:38 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - c1426b46-18a3-4ee1-9ccd-33a68887084b + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vwan --address-prefix -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/d39b5bcb-c6d0-47c4-b402-b3359c80e033?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:05:49 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 778e2db8-49ce-4f5c-807e-b67e38fa6ab0 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vwan --address-prefix -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/d39b5bcb-c6d0-47c4-b402-b3359c80e033?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:06:00 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 21e6558d-8fce-4c72-bbb7-8a5b38434bc7 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vwan --address-prefix -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/d39b5bcb-c6d0-47c4-b402-b3359c80e033?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:06:12 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 148fc246-d052-4189-b4bb-58e1dac11040 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vwan --address-prefix -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/d39b5bcb-c6d0-47c4-b402-b3359c80e033?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:06:23 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - d0265eaf-09a5-4af4-bc60-ca231cd0e0e6 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vwan --address-prefix -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/d39b5bcb-c6d0-47c4-b402-b3359c80e033?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"Succeeded\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '29' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:06:34 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 17c898dc-de63-473e-a6c1-333bc893a243 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vwan --address-prefix -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table000001/providers/Microsoft.Network/virtualHubs/myclitestvhub?api-version=2018-08-01 + response: + body: + string: "{\r\n \"name\": \"myclitestvhub\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table000001/providers/Microsoft.Network/virtualHubs/myclitestvhub\",\r\n + \ \"etag\": \"W/\\\"c15a3e4f-0291-423a-a15a-b8fa71d5ad89\\\"\",\r\n \"type\": + \"Microsoft.Network/virtualHubs\",\r\n \"location\": \"eastus\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Succeeded\",\r\n \"virtualNetworkConnections\": + [],\r\n \"addressPrefix\": \"10.0.0.0/24\",\r\n \"virtualRouterIps\": + [],\r\n \"routeTable\": {\r\n \"routes\": []\r\n },\r\n \"virtualWan\": + {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table000001/providers/Microsoft.Network/virtualWans/testvwan\"\r\n + \ }\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '818' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:06:35 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - fc53a30f-e43f-4fe1-b794-c1e917d6e1fb + status: + code: 200 + message: OK +- request: + body: 'b''{"location": "eastus", "properties": {"virtualHub": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table000001/providers/Microsoft.Network/virtualHubs/myclitestvhub"}, + "bgpSettings": {}}}''' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + Content-Length: + - '279' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table000001/providers/Microsoft.Network/vpnGateways/mycligateway?api-version=2018-08-01 + response: + body: + string: "{\r\n \"name\": \"mycligateway\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table000001/providers/Microsoft.Network/vpnGateways/mycligateway\",\r\n + \ \"etag\": \"W/\\\"74174aed-19cf-432a-9c9a-772b2db43a0a\\\"\",\r\n \"type\": + \"Microsoft.Network/vpnGateways\",\r\n \"location\": \"eastus\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Updating\",\r\n \"connections\": [],\r\n + \ \"virtualHub\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table000001/providers/Microsoft.Network/virtualHubs/myclitestvhub\"\r\n + \ },\r\n \"bgpSettings\": {\r\n \"asn\": 65515,\r\n \"peerWeight\": + 0\r\n },\r\n \"vpnGatewayScaleUnit\": 1,\r\n \"packetCaptureDiagnosticState\": + \"None\",\r\n \"ipConfigurations\": []\r\n }\r\n}" + headers: + azure-asyncnotification: + - Enabled + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + cache-control: + - no-cache + content-length: + - '870' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:06:40 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 10cb085c-c2a5-4230-b830-3552a6ab1a83 + x-ms-ratelimit-remaining-subscription-writes: + - '1197' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:06:51 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 6d57a013-1353-4a79-98a3-cf20290965d8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:07:01 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - ebde5cc7-b40c-45ab-b0d6-f2e8452ee244 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:07:13 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 05b8be78-0f33-407b-b475-934ffcc0012f + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:07:24 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 066ffa4f-1b1f-49d3-9dc6-750abe961f6e + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:07:34 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - e7275950-a0c7-4094-8cab-a57c7dbb982d + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:07:46 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 8c8c37af-6a2c-41cb-846b-351ef13ec69f + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:07:57 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 59d00f39-eb17-454a-b1e3-0a05457344d6 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:08:08 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 40242b9b-6498-41ae-98ba-655f415bf6c5 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:08:20 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 8cae5571-f8de-4a37-8b4a-453b29408b68 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:08:31 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 5240bd8d-15c1-4c2f-b43f-ec4774daedf5 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:08:41 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - b490c9fe-f532-4ad5-bc28-49621f8368f0 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:08:52 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - dc825be3-23b8-492c-90bc-591aedf8bb26 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:09:03 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - a5ca080d-26d5-4ee8-baff-0c740af7f660 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:09:14 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 3d88a742-76ff-4975-8f10-37c7b8b927be + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:09:25 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 151d361d-9932-4475-87b4-04e43a6b995b + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:09:37 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - e3a29b4f-1042-43de-8abb-86370164fab1 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:09:48 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 35d0a26c-e54b-40e0-a08f-46654fbf9b48 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:09:59 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - b4a191a1-41b8-4cce-bcf0-c14d4da106d9 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:10:10 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - d33391e8-e5ea-4c3c-92b4-77548e479165 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:10:21 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 428ed3e3-9ec9-4fda-9d9d-6fc2ec09461f + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:10:32 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - b186efbb-ddbf-4e46-b0bf-3d1083f11355 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:10:43 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 6884ef8e-9668-47a4-9439-26eb5db58313 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:10:55 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - af29f5e0-ebe6-4e7e-a255-013a311f4643 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:11:05 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 5a97642a-dd76-40a7-80de-7b97bc5304a0 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:11:16 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - b4d8631f-089f-4231-bf3d-0244cd24260f + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:11:28 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - adaecc62-236a-4cb7-891a-0b4328aa8c55 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:11:39 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 213f0bfe-a9fb-4a79-981f-6b5254df610c + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:11:51 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 5f0b433d-30e6-4097-aed7-826575efa811 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:12:01 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 561c88af-45d4-4b86-86e5-015fd0db767b + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:12:12 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - fdfc6f6c-cd14-433d-aeaf-2f2ac1a344dc + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:12:23 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - f84cc8fe-e3d4-421a-865e-bf1e47466ce5 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:12:34 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 9eeecdcb-592c-45fa-94f8-2c7a87703616 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:12:45 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - d26ea95e-51ef-4b59-bc2f-607d941ef57b + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:12:57 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 5154484a-2628-471f-8362-febbf937f680 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:13:08 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 8a0ce970-f482-445c-8b70-e87dfbce9949 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:13:19 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - bc9acc4b-11b9-4945-b6ee-5dfe13ce6869 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:13:30 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - be9b859d-1b4c-4f67-b678-4a690ef14924 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:13:41 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 24a97b94-06b1-4cb3-be21-235b64b20a2e + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:13:52 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - ce33f1f4-6e74-4e15-aa0c-f11bb3d29687 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:14:03 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - c14cebcd-f91c-4260-b867-8dfdc0b5e2cd + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:14:15 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 65736eae-ea1c-4c17-b363-9cfed71c7562 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:14:25 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 56f2a232-fb83-4462-ba7a-5d1cdbf986a7 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:14:37 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - ced2e706-c5c2-4e2c-bd1a-edc9f113fd5a + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:14:47 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - f9f18840-b51f-4e9c-ab84-e07a94c4e544 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:14:59 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - b11b8b88-f4fd-4b12-9e22-c4005ceaba35 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:15:11 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 9a8cfd98-6493-4d65-856c-a802b8f9c52e + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:15:22 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 451d5dfa-30cd-4720-ba77-6d50b9de7516 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:15:32 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 88c0656b-ef9f-4177-8810-61d720101c15 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:15:44 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - fb29c5c4-8df8-49bc-8052-2b317ae49480 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:15:54 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - ab45bccc-fa89-4cfe-b8ee-020011ef09f7 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:16:06 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 67d19445-2371-4651-bd2e-62ab9cad28fb + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:16:17 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - fccd44d7-f86d-473a-ba7b-e9da5fc516b0 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:16:29 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 938042c9-93b6-4f52-9282-b8a02f46e8bf + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:16:39 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 001ceb72-612b-4cd0-9822-637669e1e239 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:16:51 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 8ee9c577-cbca-4f1e-ac54-56ec1845053c + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:17:02 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - f810052d-a79e-4185-baf9-2c5b99580144 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:17:12 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 50d511dd-0e78-4550-931e-dc0afc8f89f4 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:17:23 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 5290a03b-7ff3-4165-9373-5499528105ed + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:17:34 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - cc0fd021-df4c-445a-95fa-ce7ab973b5ca + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:17:45 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 75c9b8fc-5811-4622-8c46-a30be7fd5330 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:17:56 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - dda60334-bc5c-4811-b8d3-a101737fb5f5 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:18:08 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 738f90a5-430f-4723-852d-3cb1e89deb60 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:18:18 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 6cbc0143-7437-4c16-af0f-c169605ecd23 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:18:30 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - cd5b983a-75f2-47b4-b3b9-88fb5dce86e7 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:18:41 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 23ff61f5-0ca1-4a36-9b7e-d43a917003bb + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:18:52 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 72d7168d-c39c-4d51-8ec5-8c0cdac77f05 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:19:03 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 16e91288-d7f2-48e5-92d9-8989d5ba444e + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:19:15 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - c8d718aa-3d33-448e-9898-942ee852b74d + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:19:25 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 8d6265ce-33a1-4e3a-b1df-95f5aaa67856 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:19:37 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 0c52506b-695b-44ee-9863-045cb90f1ae7 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:19:47 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 542c0971-604e-4a2e-bf02-5b63c6aa6920 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:19:59 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - fb3438b2-8ce2-4504-bb67-a66de41c11ec + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:20:10 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - c778630e-ec17-471d-bd2f-5e823c848c5b + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:20:21 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 41a636d4-2d5e-4edc-9ce6-ddd95ec0c2f9 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:20:32 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 6dcfd092-81d5-43ca-aa4d-24a6faa3a861 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:20:44 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 766b2d88-2a42-4a19-b493-5f87b0c746e6 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:20:55 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 6f410261-668d-49bf-a88f-5647319ecae8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:21:07 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 3fbdd729-4232-4ed7-9938-4003170097d3 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:21:18 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - c8ab1172-fdd3-496c-8718-147d725f5247 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:21:28 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 4908ad5f-2a61-4f25-8b81-ae7e6103275c + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:21:39 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 47db7e36-ae85-49e8-8cc2-752f0dab4971 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:21:50 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - fbdb38dc-6eee-4482-8e32-61e78dd879b6 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:22:01 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 34732ae3-f75d-4c32-99dd-38c9649eba19 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:22:12 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - c81c5cd9-1e86-458b-84f1-d96c1685b8dd + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:22:23 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 3af5182c-5042-41b2-a707-08a5d17d478d + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:22:35 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 723e6e8c-9b14-46f4-9caf-dc480f604b8f + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:22:46 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 595760c5-8439-4129-bdef-157f1d9222d1 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:22:58 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 8837be07-6816-480a-985e-07eee7073051 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:23:08 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 3942b3e1-b45f-4411-823f-637de69a3809 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:23:19 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 4558f2a9-d842-42ce-907e-0bf1e48a7629 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:23:31 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 1bdd60fa-8530-49b4-869a-c38c575c89e1 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:23:42 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 594784cb-5525-419e-8042-b1099dcd85dd + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:23:53 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - bf1bef21-5c98-4501-b47c-b6fdb7000e1a + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:24:04 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - b36f7f5b-e886-4805-b887-75b5adea7a26 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:24:14 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 9d8a5b72-1f21-422d-a02e-d015b5c78504 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:24:25 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - bdc9cbd6-a177-43f3-b44d-d652de504eef + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:24:36 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 5eacd079-4e98-4018-865d-8ea700a51d98 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:24:48 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 628e4b8d-145c-4d60-92aa-d7b397440055 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:24:59 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - fe08a36b-528d-4071-8a4f-5956ada1b9ad + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:25:10 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - cc9fcdee-5028-4c4b-8714-ece27d06320e + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:25:21 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - ad2bcfbf-ecc8-4323-b93b-05f87416f8ac + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:25:32 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 5734a84a-cb30-4004-8826-275cda716ec6 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:25:43 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 782002a6-e1b0-4bcf-a8ee-5ddef341792f + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:25:54 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - a7491f0c-a7b0-406a-a62d-689fd2855b7d + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:26:05 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - d03b756c-d96d-44ba-b9b3-4bafe0bc3523 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:26:16 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 9d501e83-4e8b-407c-b375-f54fa5776192 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:26:27 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 889b0723-ce66-4646-b3a3-ad4be953cb93 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:26:38 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - e624f2dc-f5a5-40a0-941e-fe9728d9f90c + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:26:48 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 460df498-2226-4e28-a9a8-71b0b5af1a33 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:26:59 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 80061bd6-99b2-4731-9d04-f68c5fc4506c + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:27:11 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 460bf1d9-b2f5-4e76-8404-6b9d1499c336 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:27:23 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - e9538f97-5181-4810-8737-5242c452442d + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:27:34 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - df3f8c35-7ba0-4c3e-93d4-8043131d536e + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:27:44 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 29b8a307-0ef9-4e0f-9a77-955c68f4d793 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:27:55 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - c141ce9d-0c06-4cf5-9334-3abb3a055c45 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:28:06 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - f133fe6d-00d7-4082-b48d-7e2eeac234dd + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:28:18 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 3d30152a-72e9-47e8-b0ad-d4760fd15edb + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:28:29 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 543cf8d3-b7c7-4fbc-acfd-782cbbc5c120 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:28:40 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 0030da4d-00d5-4196-bf14-968bb46de2c0 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:28:51 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - f05fc0c8-2945-4b28-b980-f304b441b730 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:29:02 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 33748e64-fe7a-4400-84f8-7ac3aac1375e + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:29:13 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 9756e6fb-5624-4c28-a1ed-0b84cd8d0bca + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:29:24 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 8e64d240-de7d-46c6-b5f6-61bb601219a4 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:29:35 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - b1e95770-ffef-4e95-bbce-54017895df38 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:29:47 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - d841fee3-af18-4540-9f90-b76b7754ef4f + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:29:58 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - daf835c6-0685-49d3-b847-215bec9ba32e + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:30:09 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - feb0058e-b07e-4012-9e79-f5008a9e978e + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:30:21 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 54d7b4bf-3c75-4131-87c2-5f9963a461db + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:30:30 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - fd90b9ee-397c-45dd-be3b-3f8b4b57f169 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:30:42 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - f70b84fd-1103-4acb-bbea-6946ba95ed19 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:30:53 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 5389cd94-0d48-48cd-a6f2-55ba96b23b31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:31:04 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 78df72a2-517b-44e7-8e3d-61ac20e63b6f + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:31:15 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 2ed39a84-2805-4380-b9b4-c33d22b0e8be + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:31:26 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - f9209a02-bfec-4ea6-b949-4b7d7de94933 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:31:38 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 470e3dfb-4dc9-43f1-8d3d-26b4539deae0 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:31:48 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 59df996b-acce-44b1-bff3-1c541931978f + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:32:00 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - eee4ada6-0d8f-4922-a232-cd836da38dbd + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:32:11 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 746a36fc-6fd3-4506-aaa0-28a814e466d8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:32:22 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 6cbbece1-893c-47f2-8d4e-cba9b49f3c93 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:32:33 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - d7072b69-941a-44ff-856c-b92c7c682283 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:32:44 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 8990eb38-ac30-4a38-b7f4-f65f63227f6b + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:32:56 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 71f3baf0-f1f8-4a82-94f4-08df94018881 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:33:06 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - d57af995-ccd1-4866-bd9a-5c5674fc033b + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:33:18 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - c6a6d657-aec3-4e71-85b5-aace5d111d3b + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:33:28 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 043ece36-1967-4273-b7bc-e290a3fb125e + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:33:40 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 3de856fd-d1fb-41fb-aec4-2f08c78d22cb + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:33:51 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 994dc6b7-7a65-4d95-a448-d911d6fa4fc4 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:34:02 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - f291d74c-ca3f-4bb7-b9ad-b7b1ae05f383 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:34:14 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - a0feff40-b279-4cf5-975e-3063f8283290 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:34:25 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 5e8f823b-03e8-49a6-a625-afdde5e83e27 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:34:35 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 222d4a73-128d-41a2-a255-ee0bb86ff0c6 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:34:47 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 77c72fcb-a2dd-425b-b7e9-d2800c9422b5 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:34:58 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 98efe5e1-2819-49ac-9ae3-144dbe56dd22 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:35:10 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 9abffb09-0aad-45c7-86fd-2d73e34cfbaa + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:35:21 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 1121ac5e-4f9d-4f3d-8f53-46eef5fb6a4a + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:35:32 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 0303e1d8-0320-48b5-ba52-7b5e0fea2cd8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:35:43 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - db9d656f-df47-4a02-b157-0d98768ec240 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:35:54 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - acf4e968-6864-491b-87fd-a346b2a2c627 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:36:04 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 532b88d6-de8c-4be1-b4b5-adb2d87cc5b0 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:36:15 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 094131cf-c06d-43f3-9ef9-26d72f733ae2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:36:26 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - e3be03c1-d9a7-41c8-827e-e5ab9f984285 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:36:37 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 70e54c13-d6d2-420a-a2b2-f48c1fd60b71 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:36:48 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - a917cdc4-eda2-4011-a030-6729bcf919cb + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:36:59 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 2b84a1a1-ec58-47d7-b4df-dec31eb08dfc + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:37:11 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - a2eec648-dd23-4abb-bde2-6b772d7e0e4d + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:37:22 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 0efddac8-e20d-4991-ba3b-3bb0821e1e85 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:37:33 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 166cdcb8-2183-45d8-a566-245d0a2334f5 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:37:44 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - a58006e0-6c3a-4ae2-befb-0541cc37a8ce + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:37:54 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 8c9cd701-8140-4147-827f-77f491121995 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:38:05 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - b06bde9b-18c5-435a-9176-36fd6823cb93 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:38:17 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - e055a767-d2c7-41c8-abfa-4dcbd74c2f5f + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:38:28 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 0bd4701f-d23a-4223-a075-bf2ed30dd487 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:38:39 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - df4cedfc-7c59-44ea-824c-decc4d84003f + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:38:50 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 59b2bd8f-82f4-48e3-b485-4666aeeb0713 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:39:01 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - c866895a-301e-4b8a-a006-d22d7861de7d + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:39:13 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 389f576d-87dd-4024-818c-5ae1ac0f76a3 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:39:23 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 5fa4edc9-0fdc-46a8-9121-6b2647a5af1a + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:39:34 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 5323ff38-06fd-4b67-b73a-4d111a48f07b + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:39:45 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - f7ece650-18fb-4d4e-ac51-5764a0a3ee1b + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:39:57 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 23af9c59-048f-4134-b5b6-42bdbdf4de37 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:40:09 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 05348ea4-d2ef-43b8-8a2c-a4c04a4c0f4d + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:40:19 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - dd6ee304-592e-49c9-bb39-035d608c4b44 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:40:30 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - f59807eb-38a9-4b82-920b-c4ebbca77935 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:40:42 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 96e78dee-ac9f-437f-823b-876b6072618c + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:40:53 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - f4765d8f-5d3c-4c93-8da7-c480b47b80a1 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:41:04 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 73d5352a-bc32-450f-bfb0-8ad914967fbd + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:41:15 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - cb1a64e3-3f5d-4516-a0bb-0e2d326393e6 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:41:26 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - ce11a414-82b5-4153-9715-65fa17779497 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:41:38 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - f3f7d0a4-e0f7-4670-8ddc-2b66ea88582f + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:41:48 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 9c1c2469-f0d2-4d6c-b7c2-975ef9730ef0 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:42:00 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 97314883-df50-4bf5-80ba-691e41dba166 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:42:10 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 90dcef48-0f65-4d46-a7ce-6a20d844842a + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:42:22 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - f185568f-4ed6-4d9f-8e82-b70e66a30d07 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:42:33 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 4685a89a-2b0f-461d-8cc8-17f88cbd3e08 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:42:43 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 4b7bfcca-cc60-4567-a778-5b94c1c2126c + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:42:57 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 91194cee-c581-4195-8d9e-948dae44de06 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:43:08 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - ced67bb6-bacc-4976-bee0-9bb2521f2033 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:43:18 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 43bbd3e5-6a65-4e35-a57a-42e5bed01b72 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create Connection: - keep-alive ParameterSetName: - - -n -g --vhub-name --connections --destination-type --destinations --next-hop-type - --next-hops + - -n -g --vhub -l User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-resource/4.0.0 Azure-SDK-For-Python AZURECLI/2.0.75 - accept-language: - - en-US + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:43:29 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - fca8918d-f3c8-4817-b3d8-1824326d7676 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/39cc82f8-e46d-427d-8d05-170f50f1401d?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"Succeeded\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '29' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:43:40 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - e2ed816c-3e8d-43df-b287-4b0effa4656d + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/1015?api-version=2019-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table000001/providers/Microsoft.Network/vpnGateways/mycligateway?api-version=2018-08-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/1015","name":"1015","type":"Microsoft.Resources/resourceGroups","location":"centralus","properties":{"provisioningState":"Succeeded"}}' + string: "{\r\n \"name\": \"mycligateway\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table000001/providers/Microsoft.Network/vpnGateways/mycligateway\",\r\n + \ \"etag\": \"W/\\\"1c48a613-ccfc-4504-b777-c4f917d09d18\\\"\",\r\n \"type\": + \"Microsoft.Network/vpnGateways\",\r\n \"location\": \"eastus\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Succeeded\",\r\n \"connections\": [],\r\n + \ \"virtualHub\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table000001/providers/Microsoft.Network/virtualHubs/myclitestvhub\"\r\n + \ },\r\n \"bgpSettings\": {\r\n \"asn\": 65515,\r\n \"peerWeight\": + 0,\r\n \"bgpPeeringAddresses\": [\r\n {\r\n \"ipconfigurationId\": + \"Instance0\",\r\n \"defaultBgpIpAddresses\": [\r\n \"10.0.0.13\"\r\n + \ ],\r\n \"customBgpIpAddresses\": [],\r\n \"tunnelIpAddresses\": + [\r\n \"52.188.26.240\"\r\n ]\r\n },\r\n {\r\n + \ \"ipconfigurationId\": \"Instance1\",\r\n \"defaultBgpIpAddresses\": + [\r\n \"10.0.0.12\"\r\n ],\r\n \"customBgpIpAddresses\": + [],\r\n \"tunnelIpAddresses\": [\r\n \"52.188.26.46\"\r\n + \ ]\r\n }\r\n ]\r\n },\r\n \"vpnGatewayScaleUnit\": + 1,\r\n \"packetCaptureDiagnosticState\": \"None\",\r\n \"ipConfigurations\": + [\r\n {\r\n \"id\": \"Instance0\",\r\n \"publicIpAddress\": + \"52.188.26.240\"\r\n },\r\n {\r\n \"id\": \"Instance1\",\r\n + \ \"publicIpAddress\": \"52.188.26.46\"\r\n }\r\n ]\r\n }\r\n}" headers: cache-control: - no-cache content-length: - - '208' + - '1617' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Oct 2019 07:27:29 GMT + - Wed, 10 Jun 2020 06:43:42 GMT expires: - '-1' pragma: - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 strict-transport-security: - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked vary: - Accept-Encoding x-content-type-options: - nosniff + x-ms-arm-service-request-id: + - 3c96f40f-c6f8-413f-bf65-824cd66f1c44 status: code: 200 message: OK @@ -67,15 +11342,15 @@ interactions: --next-hops User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/6.0.0 Azure-SDK-For-Python AZURECLI/2.0.75 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/1015/providers/Microsoft.Network/virtualHubs/myclitestvhub/routeTables/testroutetable?api-version=2019-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table000001/providers/Microsoft.Network/virtualHubs/myclitestvhub/routeTables/testroutetable?api-version=2020-04-01 response: body: - string: "{\r\n \"name\": \"testroutetable\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/1015/providers/Microsoft.Network/virtualHubs/myclitestvhub/routeTables/testroutetable\",\r\n - \ \"etag\": \"W/\\\"274447af-cf84-4eff-be8b-12499793e72b\\\"\",\r\n \"properties\": + string: "{\r\n \"name\": \"testroutetable\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table000001/providers/Microsoft.Network/virtualHubs/myclitestvhub/routeTables/testroutetable\",\r\n + \ \"etag\": \"W/\\\"21c07a45-1f3f-483a-ae99-f4f480a1fb10\\\"\",\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \"routes\": [\r\n {\r\n \ \"destinationType\": \"CIDR\",\r\n \"destinations\": [\r\n \ \"10.4.0.0/16\",\r\n \"10.6.0.0/16\"\r\n ],\r\n @@ -84,15 +11359,15 @@ interactions: \ ]\r\n },\r\n \"type\": \"Microsoft.Network/virtualHubs/routeTables\"\r\n}" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/southcentralus/operations/c5a361be-1bb5-4bf1-9d19-09fa39eedd66?api-version=2019-09-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/85d754f0-e5e8-4574-b311-67c1dd2601c4?api-version=2020-04-01 cache-control: - no-cache content-length: - - '692' + - '763' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Oct 2019 07:27:30 GMT + - Wed, 10 Jun 2020 06:43:44 GMT expires: - '-1' pragma: @@ -105,9 +11380,9 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 84e73248-52f0-44a5-9efd-b1593773e637 + - d83fd7f4-b7e2-43f4-b508-b58a6ecccf05 x-ms-ratelimit-remaining-subscription-writes: - - '1174' + - '1197' status: code: 201 message: Created @@ -127,9 +11402,60 @@ interactions: --next-hops User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/6.0.0 Azure-SDK-For-Python AZURECLI/2.0.75 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/85d754f0-e5e8-4574-b311-67c1dd2601c4?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:43:55 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 7cdaaf5a-8ca7-40d0-b271-95b7aaa712c7 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --connections --destination-type --destinations --next-hop-type + --next-hops + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/southcentralus/operations/c5a361be-1bb5-4bf1-9d19-09fa39eedd66?api-version=2019-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/85d754f0-e5e8-4574-b311-67c1dd2601c4?api-version=2020-04-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -141,7 +11467,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 24 Oct 2019 07:27:41 GMT + - Wed, 10 Jun 2020 06:44:05 GMT expires: - '-1' pragma: @@ -158,7 +11484,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 1b1207e2-db6b-4106-a142-4bfd816f9dad + - 6428510e-7b7a-452b-8704-7fb0c49df6ea status: code: 200 message: OK @@ -178,9 +11504,9 @@ interactions: --next-hops User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/6.0.0 Azure-SDK-For-Python AZURECLI/2.0.75 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/southcentralus/operations/c5a361be-1bb5-4bf1-9d19-09fa39eedd66?api-version=2019-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/85d754f0-e5e8-4574-b311-67c1dd2601c4?api-version=2020-04-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -192,7 +11518,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 24 Oct 2019 07:27:52 GMT + - Wed, 10 Jun 2020 06:44:15 GMT expires: - '-1' pragma: @@ -209,7 +11535,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 70c79be9-fd76-4e5d-803f-e075d4e47723 + - 2587e29a-27a5-4251-b444-ac42ee8c6968 status: code: 200 message: OK @@ -229,9 +11555,9 @@ interactions: --next-hops User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/6.0.0 Azure-SDK-For-Python AZURECLI/2.0.75 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/southcentralus/operations/c5a361be-1bb5-4bf1-9d19-09fa39eedd66?api-version=2019-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/85d754f0-e5e8-4574-b311-67c1dd2601c4?api-version=2020-04-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -243,7 +11569,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 24 Oct 2019 07:28:02 GMT + - Wed, 10 Jun 2020 06:44:27 GMT expires: - '-1' pragma: @@ -260,7 +11586,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - c7155d7e-d932-4523-a840-37bb4d95f2f3 + - 3138eb11-4f75-4f6c-9ef1-4be69628e9d6 status: code: 200 message: OK @@ -280,9 +11606,9 @@ interactions: --next-hops User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/6.0.0 Azure-SDK-For-Python AZURECLI/2.0.75 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/southcentralus/operations/c5a361be-1bb5-4bf1-9d19-09fa39eedd66?api-version=2019-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/85d754f0-e5e8-4574-b311-67c1dd2601c4?api-version=2020-04-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -294,7 +11620,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 24 Oct 2019 07:28:12 GMT + - Wed, 10 Jun 2020 06:44:37 GMT expires: - '-1' pragma: @@ -311,7 +11637,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 6212038d-070b-4514-9cf7-f258154d9ec1 + - b46352cb-b0b3-4714-957b-0aa343e5e101 status: code: 200 message: OK @@ -331,9 +11657,9 @@ interactions: --next-hops User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/6.0.0 Azure-SDK-For-Python AZURECLI/2.0.75 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/southcentralus/operations/c5a361be-1bb5-4bf1-9d19-09fa39eedd66?api-version=2019-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/85d754f0-e5e8-4574-b311-67c1dd2601c4?api-version=2020-04-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -341,11 +11667,120 @@ interactions: cache-control: - no-cache content-length: - - '30' + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:44:47 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 8cc1620d-71a6-471e-8fd0-b4cd03849c7d + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --connections --destination-type --destinations --next-hop-type + --next-hops + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/85d754f0-e5e8-4574-b311-67c1dd2601c4?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"Succeeded\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '29' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:44:57 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 62f4f14c-cc59-44cd-8913-848259e957ae + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --connections --destination-type --destinations --next-hop-type + --next-hops + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table000001/providers/Microsoft.Network/virtualHubs/myclitestvhub/routeTables/testroutetable?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"testroutetable\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table000001/providers/Microsoft.Network/virtualHubs/myclitestvhub/routeTables/testroutetable\",\r\n + \ \"etag\": \"W/\\\"70302f5f-4946-47f1-ade9-834e72b0a5f1\\\"\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Succeeded\",\r\n \"routes\": [\r\n {\r\n + \ \"destinationType\": \"CIDR\",\r\n \"destinations\": [\r\n + \ \"10.4.0.0/16\",\r\n \"10.6.0.0/16\"\r\n ],\r\n + \ \"nextHopType\": \"IPAddress\",\r\n \"nextHops\": [\r\n \"10.0.0.68\"\r\n + \ ]\r\n }\r\n ],\r\n \"attachedConnections\": [\r\n \"All_Vnets\"\r\n + \ ]\r\n },\r\n \"type\": \"Microsoft.Network/virtualHubs/routeTables\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '764' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Oct 2019 07:28:23 GMT + - Wed, 10 Jun 2020 06:44:58 GMT expires: - '-1' pragma: @@ -362,7 +11797,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 338322a8-35c1-412e-9948-3a25bf36fb77 + - 1ce7edba-8d3c-4055-bab0-255231ffe083 status: code: 200 message: OK @@ -374,29 +11809,32 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - network vhub route-table create + - network vhub route-table show Connection: - keep-alive ParameterSetName: - - -n -g --vhub-name --connections --destination-type --destinations --next-hop-type - --next-hops + - -n -g --vhub-name User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/6.0.0 Azure-SDK-For-Python AZURECLI/2.0.75 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + accept-language: + - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/southcentralus/operations/c5a361be-1bb5-4bf1-9d19-09fa39eedd66?api-version=2019-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table000001/providers/Microsoft.Network/virtualHubs/myclitestvhub/hubRouteTables/testroutetable?api-version=2020-04-01 response: body: - string: "{\r\n \"status\": \"InProgress\"\r\n}" + string: "{\r\n \"error\": {\r\n \"code\": \"NotFound\",\r\n \"message\": + \"Resource /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table000001/providers/Microsoft.Network/virtualHubs/myclitestvhub/hubRouteTables/testroutetable + not found.\",\r\n \"details\": []\r\n }\r\n}" headers: cache-control: - no-cache content-length: - - '30' + - '333' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Oct 2019 07:28:33 GMT + - Wed, 10 Jun 2020 06:44:59 GMT expires: - '-1' pragma: @@ -406,17 +11844,13 @@ interactions: - Microsoft-HTTPAPI/2.0 strict-transport-security: - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding x-content-type-options: - nosniff x-ms-arm-service-request-id: - - dcb45f1a-08c9-4f46-8085-a4a9ece1607e + - f23fe7ca-389e-4b6a-901c-a21dd71f05fc status: - code: 200 - message: OK + code: 404 + message: Not Found - request: body: null headers: @@ -425,29 +11859,37 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - network vhub route-table create + - network vhub route-table show Connection: - keep-alive ParameterSetName: - - -n -g --vhub-name --connections --destination-type --destinations --next-hop-type - --next-hops + - -n -g --vhub-name User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/6.0.0 Azure-SDK-For-Python AZURECLI/2.0.75 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + accept-language: + - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/southcentralus/operations/c5a361be-1bb5-4bf1-9d19-09fa39eedd66?api-version=2019-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table000001/providers/Microsoft.Network/virtualHubs/myclitestvhub/routeTables/testroutetable?api-version=2020-04-01 response: body: - string: "{\r\n \"status\": \"Succeeded\"\r\n}" + string: "{\r\n \"name\": \"testroutetable\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table000001/providers/Microsoft.Network/virtualHubs/myclitestvhub/routeTables/testroutetable\",\r\n + \ \"etag\": \"W/\\\"70302f5f-4946-47f1-ade9-834e72b0a5f1\\\"\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Succeeded\",\r\n \"routes\": [\r\n {\r\n + \ \"destinationType\": \"CIDR\",\r\n \"destinations\": [\r\n + \ \"10.4.0.0/16\",\r\n \"10.6.0.0/16\"\r\n ],\r\n + \ \"nextHopType\": \"IPAddress\",\r\n \"nextHops\": [\r\n \"10.0.0.68\"\r\n + \ ]\r\n }\r\n ],\r\n \"attachedConnections\": [\r\n \"All_Vnets\"\r\n + \ ]\r\n },\r\n \"type\": \"Microsoft.Network/virtualHubs/routeTables\"\r\n}" headers: cache-control: - no-cache content-length: - - '29' + - '764' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Oct 2019 07:28:44 GMT + - Wed, 10 Jun 2020 06:44:59 GMT expires: - '-1' pragma: @@ -464,7 +11906,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - c466294f-893e-4740-93bf-a20bcfa43ee8 + - a6f85dcd-e543-40b7-ace6-cacaa9b7cee2 status: code: 200 message: OK @@ -476,36 +11918,40 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - network vhub route-table create + - network vhub route-table list Connection: - keep-alive ParameterSetName: - - -n -g --vhub-name --connections --destination-type --destinations --next-hop-type - --next-hops + - -g --vhub-name User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/6.0.0 Azure-SDK-For-Python AZURECLI/2.0.75 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + accept-language: + - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/1015/providers/Microsoft.Network/virtualHubs/myclitestvhub/routeTables/testroutetable?api-version=2019-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table000001/providers/Microsoft.Network/virtualHubs/myclitestvhub/routeTables?api-version=2020-04-01 response: body: - string: "{\r\n \"name\": \"testroutetable\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/1015/providers/Microsoft.Network/virtualHubs/myclitestvhub/routeTables/testroutetable\",\r\n - \ \"etag\": \"W/\\\"e996d030-3c22-4a24-9021-e3e91a1edf17\\\"\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Succeeded\",\r\n \"routes\": [\r\n {\r\n - \ \"destinationType\": \"CIDR\",\r\n \"destinations\": [\r\n - \ \"10.4.0.0/16\",\r\n \"10.6.0.0/16\"\r\n ],\r\n - \ \"nextHopType\": \"IPAddress\",\r\n \"nextHops\": [\r\n \"10.0.0.68\"\r\n - \ ]\r\n }\r\n ],\r\n \"attachedConnections\": [\r\n \"All_Vnets\"\r\n - \ ]\r\n },\r\n \"type\": \"Microsoft.Network/virtualHubs/routeTables\"\r\n}" + string: "{\r\n \"value\": [\r\n {\r\n \"name\": \"testroutetable\",\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table000001/providers/Microsoft.Network/virtualHubs/myclitestvhub/routeTables/testroutetable\",\r\n + \ \"etag\": \"W/\\\"70302f5f-4946-47f1-ade9-834e72b0a5f1\\\"\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Succeeded\",\r\n \"routes\": + [\r\n {\r\n \"destinationType\": \"CIDR\",\r\n \"destinations\": + [\r\n \"10.4.0.0/16\",\r\n \"10.6.0.0/16\"\r\n ],\r\n + \ \"nextHopType\": \"IPAddress\",\r\n \"nextHops\": [\r\n + \ \"10.0.0.68\"\r\n ]\r\n }\r\n ],\r\n + \ \"attachedConnections\": [\r\n \"All_Vnets\"\r\n ]\r\n + \ },\r\n \"type\": \"Microsoft.Network/virtualHubs/routeTables\"\r\n + \ }\r\n ]\r\n}" headers: cache-control: - no-cache content-length: - - '693' + - '889' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Oct 2019 07:28:44 GMT + - Wed, 10 Jun 2020 06:45:02 GMT expires: - '-1' pragma: @@ -522,7 +11968,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 9e3ab6aa-05af-4316-8e42-e320582ef052 + - c11289f3-223c-4682-b895-da3f2b67a6a0 status: code: 200 message: OK @@ -534,37 +11980,30 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - network vhub route-table show + - network vhub route-table list Connection: - keep-alive ParameterSetName: - - -n -g --vhub-name + - -g --vhub-name User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/6.0.0 Azure-SDK-For-Python AZURECLI/2.0.75 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/1015/providers/Microsoft.Network/virtualHubs/myclitestvhub/routeTables/testroutetable?api-version=2019-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table000001/providers/Microsoft.Network/virtualHubs/myclitestvhub/hubRouteTables?api-version=2020-04-01 response: body: - string: "{\r\n \"name\": \"testroutetable\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/1015/providers/Microsoft.Network/virtualHubs/myclitestvhub/routeTables/testroutetable\",\r\n - \ \"etag\": \"W/\\\"e996d030-3c22-4a24-9021-e3e91a1edf17\\\"\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Succeeded\",\r\n \"routes\": [\r\n {\r\n - \ \"destinationType\": \"CIDR\",\r\n \"destinations\": [\r\n - \ \"10.4.0.0/16\",\r\n \"10.6.0.0/16\"\r\n ],\r\n - \ \"nextHopType\": \"IPAddress\",\r\n \"nextHops\": [\r\n \"10.0.0.68\"\r\n - \ ]\r\n }\r\n ],\r\n \"attachedConnections\": [\r\n \"All_Vnets\"\r\n - \ ]\r\n },\r\n \"type\": \"Microsoft.Network/virtualHubs/routeTables\"\r\n}" + string: "{\r\n \"value\": []\r\n}" headers: cache-control: - no-cache content-length: - - '693' + - '19' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Oct 2019 07:28:45 GMT + - Wed, 10 Jun 2020 06:45:02 GMT expires: - '-1' pragma: @@ -581,7 +12020,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 3ff49bf6-7ec3-41ee-838a-b863e108d10b + - 668c68ee-4842-4e7f-b552-cb2acb86415a status: code: 200 message: OK @@ -593,40 +12032,32 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - network vhub route-table list + - network vhub route-table update Connection: - keep-alive ParameterSetName: - - -g --vhub-name + - -n -g --vhub-name --connections User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/6.0.0 Azure-SDK-For-Python AZURECLI/2.0.75 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/1015/providers/Microsoft.Network/virtualHubs/myclitestvhub/routeTables?api-version=2019-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table000001/providers/Microsoft.Network/virtualHubs/myclitestvhub/hubRouteTables/testroutetable?api-version=2020-04-01 response: body: - string: "{\r\n \"value\": [\r\n {\r\n \"name\": \"testroutetable\",\r\n - \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/1015/providers/Microsoft.Network/virtualHubs/myclitestvhub/routeTables/testroutetable\",\r\n - \ \"etag\": \"W/\\\"e996d030-3c22-4a24-9021-e3e91a1edf17\\\"\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Succeeded\",\r\n \"routes\": - [\r\n {\r\n \"destinationType\": \"CIDR\",\r\n \"destinations\": - [\r\n \"10.4.0.0/16\",\r\n \"10.6.0.0/16\"\r\n ],\r\n - \ \"nextHopType\": \"IPAddress\",\r\n \"nextHops\": [\r\n - \ \"10.0.0.68\"\r\n ]\r\n }\r\n ],\r\n - \ \"attachedConnections\": [\r\n \"All_Vnets\"\r\n ]\r\n - \ },\r\n \"type\": \"Microsoft.Network/virtualHubs/routeTables\"\r\n - \ }\r\n ]\r\n}" + string: "{\r\n \"error\": {\r\n \"code\": \"NotFound\",\r\n \"message\": + \"Resource /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table000001/providers/Microsoft.Network/virtualHubs/myclitestvhub/hubRouteTables/testroutetable + not found.\",\r\n \"details\": []\r\n }\r\n}" headers: cache-control: - no-cache content-length: - - '818' + - '333' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Oct 2019 07:28:46 GMT + - Wed, 10 Jun 2020 06:45:03 GMT expires: - '-1' pragma: @@ -636,17 +12067,13 @@ interactions: - Microsoft-HTTPAPI/2.0 strict-transport-security: - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 89871797-aa51-41f4-9ec1-4b54be717124 + - e21da027-c10a-4077-a2a6-80aa1996851e status: - code: 200 - message: OK + code: 404 + message: Not Found - request: body: null headers: @@ -662,15 +12089,15 @@ interactions: - -n -g --vhub-name --connections User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/6.0.0 Azure-SDK-For-Python AZURECLI/2.0.75 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/1015/providers/Microsoft.Network/virtualHubs/myclitestvhub/routeTables/testroutetable?api-version=2019-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table000001/providers/Microsoft.Network/virtualHubs/myclitestvhub/routeTables/testroutetable?api-version=2020-04-01 response: body: - string: "{\r\n \"name\": \"testroutetable\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/1015/providers/Microsoft.Network/virtualHubs/myclitestvhub/routeTables/testroutetable\",\r\n - \ \"etag\": \"W/\\\"e996d030-3c22-4a24-9021-e3e91a1edf17\\\"\",\r\n \"properties\": + string: "{\r\n \"name\": \"testroutetable\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table000001/providers/Microsoft.Network/virtualHubs/myclitestvhub/routeTables/testroutetable\",\r\n + \ \"etag\": \"W/\\\"70302f5f-4946-47f1-ade9-834e72b0a5f1\\\"\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"routes\": [\r\n {\r\n \ \"destinationType\": \"CIDR\",\r\n \"destinations\": [\r\n \ \"10.4.0.0/16\",\r\n \"10.6.0.0/16\"\r\n ],\r\n @@ -681,11 +12108,11 @@ interactions: cache-control: - no-cache content-length: - - '693' + - '764' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Oct 2019 07:28:47 GMT + - Wed, 10 Jun 2020 06:45:04 GMT expires: - '-1' pragma: @@ -702,15 +12129,15 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 0fb33410-6904-484a-9951-b4744c83224a + - ad47cc00-d90b-44a2-bccf-688d7f5a6059 status: code: 200 message: OK - request: - body: '{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/1015/providers/Microsoft.Network/virtualHubs/myclitestvhub/routeTables/testroutetable", + body: 'b''{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table000001/providers/Microsoft.Network/virtualHubs/myclitestvhub/routeTables/testroutetable", "properties": {"routes": [{"destinationType": "CIDR", "destinations": ["10.4.0.0/16", "10.6.0.0/16"], "nextHopType": "IPAddress", "nextHops": ["10.0.0.68"]}], "attachedConnections": - ["All_Branches"]}, "name": "testroutetable"}' + ["All_Branches"]}, "name": "testroutetable"}''' headers: Accept: - application/json @@ -721,22 +12148,22 @@ interactions: Connection: - keep-alive Content-Length: - - '389' + - '460' Content-Type: - application/json; charset=utf-8 ParameterSetName: - -n -g --vhub-name --connections User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/6.0.0 Azure-SDK-For-Python AZURECLI/2.0.75 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/1015/providers/Microsoft.Network/virtualHubs/myclitestvhub/routeTables/testroutetable?api-version=2019-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table000001/providers/Microsoft.Network/virtualHubs/myclitestvhub/routeTables/testroutetable?api-version=2020-04-01 response: body: - string: "{\r\n \"name\": \"testroutetable\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/1015/providers/Microsoft.Network/virtualHubs/myclitestvhub/routeTables/testroutetable\",\r\n - \ \"etag\": \"W/\\\"9af17491-0f4c-4ce3-90bb-c727dd8d6c76\\\"\",\r\n \"properties\": + string: "{\r\n \"name\": \"testroutetable\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table000001/providers/Microsoft.Network/virtualHubs/myclitestvhub/routeTables/testroutetable\",\r\n + \ \"etag\": \"W/\\\"68f0e3fe-e5cf-45cc-8fc1-c62f299796a2\\\"\",\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \"routes\": [\r\n {\r\n \ \"destinationType\": \"CIDR\",\r\n \"destinations\": [\r\n \ \"10.4.0.0/16\",\r\n \"10.6.0.0/16\"\r\n ],\r\n @@ -745,15 +12172,15 @@ interactions: \ ]\r\n },\r\n \"type\": \"Microsoft.Network/virtualHubs/routeTables\"\r\n}" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/southcentralus/operations/2a3f0143-73c4-4b5d-9f40-d76121b0631b?api-version=2019-09-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/4ddd40c7-632f-462d-81a7-5cb647cce02e?api-version=2020-04-01 cache-control: - no-cache content-length: - - '695' + - '766' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Oct 2019 07:28:48 GMT + - Wed, 10 Jun 2020 06:45:05 GMT expires: - '-1' pragma: @@ -770,9 +12197,9 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 83701ee9-75c4-4080-bb19-6ade79ba5106 + - 07f517d8-370f-4572-8f0f-091b40872433 x-ms-ratelimit-remaining-subscription-writes: - - '1175' + - '1198' status: code: 200 message: OK @@ -791,9 +12218,9 @@ interactions: - -n -g --vhub-name --connections User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/6.0.0 Azure-SDK-For-Python AZURECLI/2.0.75 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/southcentralus/operations/2a3f0143-73c4-4b5d-9f40-d76121b0631b?api-version=2019-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/4ddd40c7-632f-462d-81a7-5cb647cce02e?api-version=2020-04-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -805,7 +12232,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 24 Oct 2019 07:28:59 GMT + - Wed, 10 Jun 2020 06:45:16 GMT expires: - '-1' pragma: @@ -822,7 +12249,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - cadaf49d-720a-4274-bd9a-4858e7af01a6 + - ab7c9dd1-d3c8-4102-8fb6-da651b07a63a status: code: 200 message: OK @@ -841,9 +12268,9 @@ interactions: - -n -g --vhub-name --connections User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/6.0.0 Azure-SDK-For-Python AZURECLI/2.0.75 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/southcentralus/operations/2a3f0143-73c4-4b5d-9f40-d76121b0631b?api-version=2019-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/4ddd40c7-632f-462d-81a7-5cb647cce02e?api-version=2020-04-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -855,7 +12282,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 24 Oct 2019 07:29:09 GMT + - Wed, 10 Jun 2020 06:45:27 GMT expires: - '-1' pragma: @@ -872,7 +12299,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - be88939c-e5cf-4c2f-a027-9cb47c654f8c + - bd127d49-c274-4337-b219-685920b31d26 status: code: 200 message: OK @@ -891,9 +12318,9 @@ interactions: - -n -g --vhub-name --connections User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/6.0.0 Azure-SDK-For-Python AZURECLI/2.0.75 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/southcentralus/operations/2a3f0143-73c4-4b5d-9f40-d76121b0631b?api-version=2019-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/4ddd40c7-632f-462d-81a7-5cb647cce02e?api-version=2020-04-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -905,7 +12332,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 24 Oct 2019 07:29:19 GMT + - Wed, 10 Jun 2020 06:45:37 GMT expires: - '-1' pragma: @@ -922,7 +12349,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - a0123cbf-1e14-40f6-b780-5105259bdf5a + - f5c14b5b-179f-4fee-ab1e-b37e07797d0e status: code: 200 message: OK @@ -941,9 +12368,9 @@ interactions: - -n -g --vhub-name --connections User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/6.0.0 Azure-SDK-For-Python AZURECLI/2.0.75 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/southcentralus/operations/2a3f0143-73c4-4b5d-9f40-d76121b0631b?api-version=2019-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/4ddd40c7-632f-462d-81a7-5cb647cce02e?api-version=2020-04-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -955,7 +12382,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 24 Oct 2019 07:29:29 GMT + - Wed, 10 Jun 2020 06:45:48 GMT expires: - '-1' pragma: @@ -972,7 +12399,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 236c8a9b-ae49-49e1-b659-1108d16aa42b + - f33645f1-d1c2-4150-9336-421492df7329 status: code: 200 message: OK @@ -991,9 +12418,9 @@ interactions: - -n -g --vhub-name --connections User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/6.0.0 Azure-SDK-For-Python AZURECLI/2.0.75 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/southcentralus/operations/2a3f0143-73c4-4b5d-9f40-d76121b0631b?api-version=2019-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/4ddd40c7-632f-462d-81a7-5cb647cce02e?api-version=2020-04-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -1005,7 +12432,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 24 Oct 2019 07:29:41 GMT + - Wed, 10 Jun 2020 06:45:58 GMT expires: - '-1' pragma: @@ -1022,7 +12449,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - b6fb9296-af92-44f7-92a5-0d5102d589c0 + - 33cfef4b-0f5b-4f41-ac01-1c91e502992b status: code: 200 message: OK @@ -1041,9 +12468,9 @@ interactions: - -n -g --vhub-name --connections User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/6.0.0 Azure-SDK-For-Python AZURECLI/2.0.75 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/southcentralus/operations/2a3f0143-73c4-4b5d-9f40-d76121b0631b?api-version=2019-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/4ddd40c7-632f-462d-81a7-5cb647cce02e?api-version=2020-04-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -1055,7 +12482,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 24 Oct 2019 07:29:51 GMT + - Wed, 10 Jun 2020 06:46:08 GMT expires: - '-1' pragma: @@ -1072,7 +12499,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 37e51395-edd4-4208-b4ff-011e3a733467 + - 3f63ff13-9f58-4f4d-958a-ff934098c3bf status: code: 200 message: OK @@ -1091,9 +12518,9 @@ interactions: - -n -g --vhub-name --connections User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/6.0.0 Azure-SDK-For-Python AZURECLI/2.0.75 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/southcentralus/operations/2a3f0143-73c4-4b5d-9f40-d76121b0631b?api-version=2019-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/4ddd40c7-632f-462d-81a7-5cb647cce02e?api-version=2020-04-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -1105,7 +12532,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 24 Oct 2019 07:30:01 GMT + - Wed, 10 Jun 2020 06:46:20 GMT expires: - '-1' pragma: @@ -1122,7 +12549,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - c92659d1-d095-48af-9cb7-db2ec794a859 + - f3d43f72-0fca-48d9-9bd6-058bb7c9e4d6 status: code: 200 message: OK @@ -1141,13 +12568,13 @@ interactions: - -n -g --vhub-name --connections User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/6.0.0 Azure-SDK-For-Python AZURECLI/2.0.75 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/1015/providers/Microsoft.Network/virtualHubs/myclitestvhub/routeTables/testroutetable?api-version=2019-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table000001/providers/Microsoft.Network/virtualHubs/myclitestvhub/routeTables/testroutetable?api-version=2020-04-01 response: body: - string: "{\r\n \"name\": \"testroutetable\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/1015/providers/Microsoft.Network/virtualHubs/myclitestvhub/routeTables/testroutetable\",\r\n - \ \"etag\": \"W/\\\"5d378e7c-6556-4805-8a8f-f4210b836b0e\\\"\",\r\n \"properties\": + string: "{\r\n \"name\": \"testroutetable\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table000001/providers/Microsoft.Network/virtualHubs/myclitestvhub/routeTables/testroutetable\",\r\n + \ \"etag\": \"W/\\\"0246a2e7-4471-4e06-8598-663deaadaefe\\\"\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"routes\": [\r\n {\r\n \ \"destinationType\": \"CIDR\",\r\n \"destinations\": [\r\n \ \"10.4.0.0/16\",\r\n \"10.6.0.0/16\"\r\n ],\r\n @@ -1158,11 +12585,11 @@ interactions: cache-control: - no-cache content-length: - - '696' + - '767' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Oct 2019 07:30:01 GMT + - Wed, 10 Jun 2020 06:46:20 GMT expires: - '-1' pragma: @@ -1179,7 +12606,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 9fce939f-ce0c-4372-9188-641be5c664f3 + - 16afc21d-9777-42a0-9793-e2bf388ff5f3 status: code: 200 message: OK @@ -1198,15 +12625,65 @@ interactions: - -n -g --vhub-name --destination-type --destinations --next-hop-type --next-hops User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/6.0.0 Azure-SDK-For-Python AZURECLI/2.0.75 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table000001/providers/Microsoft.Network/virtualHubs/myclitestvhub/hubRouteTables/testroutetable?api-version=2020-04-01 + response: + body: + string: "{\r\n \"error\": {\r\n \"code\": \"NotFound\",\r\n \"message\": + \"Resource /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table000001/providers/Microsoft.Network/virtualHubs/myclitestvhub/hubRouteTables/testroutetable + not found.\",\r\n \"details\": []\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '333' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:46:21 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 1ebb6309-de3b-4b97-a186-054d4319d526 + status: + code: 404 + message: Not Found +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table route add + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --destination-type --destinations --next-hop-type --next-hops + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/1015/providers/Microsoft.Network/virtualHubs/myclitestvhub/routeTables/testroutetable?api-version=2019-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table000001/providers/Microsoft.Network/virtualHubs/myclitestvhub/routeTables/testroutetable?api-version=2020-04-01 response: body: - string: "{\r\n \"name\": \"testroutetable\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/1015/providers/Microsoft.Network/virtualHubs/myclitestvhub/routeTables/testroutetable\",\r\n - \ \"etag\": \"W/\\\"5d378e7c-6556-4805-8a8f-f4210b836b0e\\\"\",\r\n \"properties\": + string: "{\r\n \"name\": \"testroutetable\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table000001/providers/Microsoft.Network/virtualHubs/myclitestvhub/routeTables/testroutetable\",\r\n + \ \"etag\": \"W/\\\"0246a2e7-4471-4e06-8598-663deaadaefe\\\"\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"routes\": [\r\n {\r\n \ \"destinationType\": \"CIDR\",\r\n \"destinations\": [\r\n \ \"10.4.0.0/16\",\r\n \"10.6.0.0/16\"\r\n ],\r\n @@ -1217,11 +12694,11 @@ interactions: cache-control: - no-cache content-length: - - '696' + - '767' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Oct 2019 07:30:02 GMT + - Wed, 10 Jun 2020 06:46:21 GMT expires: - '-1' pragma: @@ -1238,17 +12715,17 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 0c8c0b03-43ef-440d-87f1-9a2892e86879 + - 96da3dc2-e3cf-443f-96ff-0ec93e385cb3 status: code: 200 message: OK - request: - body: '{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/1015/providers/Microsoft.Network/virtualHubs/myclitestvhub/routeTables/testroutetable", + body: 'b''{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table000001/providers/Microsoft.Network/virtualHubs/myclitestvhub/routeTables/testroutetable", "properties": {"routes": [{"destinationType": "CIDR", "destinations": ["10.4.0.0/16", "10.6.0.0/16"], "nextHopType": "IPAddress", "nextHops": ["10.0.0.68"]}, {"destinationType": "Service", "destinations": ["Skype", "Sharepoint"], "nextHopType": "IPAddress", "nextHops": ["10.0.0.68"]}], "attachedConnections": ["All_Branches"]}, "name": - "testroutetable"}' + "testroutetable"}''' headers: Accept: - application/json @@ -1259,22 +12736,22 @@ interactions: Connection: - keep-alive Content-Length: - - '517' + - '588' Content-Type: - application/json; charset=utf-8 ParameterSetName: - -n -g --vhub-name --destination-type --destinations --next-hop-type --next-hops User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/6.0.0 Azure-SDK-For-Python AZURECLI/2.0.75 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/1015/providers/Microsoft.Network/virtualHubs/myclitestvhub/routeTables/testroutetable?api-version=2019-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table000001/providers/Microsoft.Network/virtualHubs/myclitestvhub/routeTables/testroutetable?api-version=2020-04-01 response: body: - string: "{\r\n \"name\": \"testroutetable\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/1015/providers/Microsoft.Network/virtualHubs/myclitestvhub/routeTables/testroutetable\",\r\n - \ \"etag\": \"W/\\\"cd9792bd-c99f-4d7e-a26c-b1f405ad0685\\\"\",\r\n \"properties\": + string: "{\r\n \"name\": \"testroutetable\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table000001/providers/Microsoft.Network/virtualHubs/myclitestvhub/routeTables/testroutetable\",\r\n + \ \"etag\": \"W/\\\"2bcb432b-6333-4b75-9f5f-d8e3ea05bd12\\\"\",\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \"routes\": [\r\n {\r\n \ \"destinationType\": \"CIDR\",\r\n \"destinations\": [\r\n \ \"10.4.0.0/16\",\r\n \"10.6.0.0/16\"\r\n ],\r\n @@ -1286,15 +12763,15 @@ interactions: [\r\n \"All_Branches\"\r\n ]\r\n },\r\n \"type\": \"Microsoft.Network/virtualHubs/routeTables\"\r\n}" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/southcentralus/operations/25ef247a-9fde-49c6-bd4b-34f8f6166471?api-version=2019-09-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/96beaa0b-855f-4e92-ba67-106fb21bc398?api-version=2020-04-01 cache-control: - no-cache content-length: - - '930' + - '1001' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Oct 2019 07:30:03 GMT + - Wed, 10 Jun 2020 06:46:23 GMT expires: - '-1' pragma: @@ -1311,9 +12788,9 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 67193c58-ea73-4ec0-b846-4ecd4699267b + - 96af9ca7-500d-443e-9c14-0f1c3ee70257 x-ms-ratelimit-remaining-subscription-writes: - - '1184' + - '1198' status: code: 200 message: OK @@ -1332,9 +12809,9 @@ interactions: - -n -g --vhub-name --destination-type --destinations --next-hop-type --next-hops User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/6.0.0 Azure-SDK-For-Python AZURECLI/2.0.75 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/southcentralus/operations/25ef247a-9fde-49c6-bd4b-34f8f6166471?api-version=2019-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/96beaa0b-855f-4e92-ba67-106fb21bc398?api-version=2020-04-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -1346,7 +12823,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 24 Oct 2019 07:30:14 GMT + - Wed, 10 Jun 2020 06:46:34 GMT expires: - '-1' pragma: @@ -1363,7 +12840,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 84f4a539-0e1f-48c4-a5af-4e367449edb2 + - fd0f4061-a61a-46ec-8fbf-f4f6fe82f353 status: code: 200 message: OK @@ -1382,9 +12859,9 @@ interactions: - -n -g --vhub-name --destination-type --destinations --next-hop-type --next-hops User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/6.0.0 Azure-SDK-For-Python AZURECLI/2.0.75 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/southcentralus/operations/25ef247a-9fde-49c6-bd4b-34f8f6166471?api-version=2019-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/96beaa0b-855f-4e92-ba67-106fb21bc398?api-version=2020-04-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -1396,7 +12873,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 24 Oct 2019 07:30:24 GMT + - Wed, 10 Jun 2020 06:46:44 GMT expires: - '-1' pragma: @@ -1413,7 +12890,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 1d6e1f14-4f33-499b-a190-f242ae82276a + - b840d8c7-8991-4f86-9f4b-41070640e995 status: code: 200 message: OK @@ -1432,9 +12909,9 @@ interactions: - -n -g --vhub-name --destination-type --destinations --next-hop-type --next-hops User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/6.0.0 Azure-SDK-For-Python AZURECLI/2.0.75 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/southcentralus/operations/25ef247a-9fde-49c6-bd4b-34f8f6166471?api-version=2019-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/96beaa0b-855f-4e92-ba67-106fb21bc398?api-version=2020-04-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -1446,7 +12923,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 24 Oct 2019 07:30:34 GMT + - Wed, 10 Jun 2020 06:46:54 GMT expires: - '-1' pragma: @@ -1463,7 +12940,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 41c2d001-3459-489f-b15e-926689758eab + - 8e7f6b40-31c7-4111-b4d5-8fc1d48ccc61 status: code: 200 message: OK @@ -1482,9 +12959,9 @@ interactions: - -n -g --vhub-name --destination-type --destinations --next-hop-type --next-hops User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/6.0.0 Azure-SDK-For-Python AZURECLI/2.0.75 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/southcentralus/operations/25ef247a-9fde-49c6-bd4b-34f8f6166471?api-version=2019-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/96beaa0b-855f-4e92-ba67-106fb21bc398?api-version=2020-04-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -1496,7 +12973,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 24 Oct 2019 07:30:45 GMT + - Wed, 10 Jun 2020 06:47:05 GMT expires: - '-1' pragma: @@ -1513,7 +12990,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - e42bde97-c37f-40d1-9f94-3f688f28b8bb + - 9437b060-5588-4f36-9460-cbbeba1270b5 status: code: 200 message: OK @@ -1532,9 +13009,9 @@ interactions: - -n -g --vhub-name --destination-type --destinations --next-hop-type --next-hops User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/6.0.0 Azure-SDK-For-Python AZURECLI/2.0.75 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/southcentralus/operations/25ef247a-9fde-49c6-bd4b-34f8f6166471?api-version=2019-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/96beaa0b-855f-4e92-ba67-106fb21bc398?api-version=2020-04-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -1546,7 +13023,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 24 Oct 2019 07:30:55 GMT + - Wed, 10 Jun 2020 06:47:15 GMT expires: - '-1' pragma: @@ -1563,7 +13040,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - f2984def-2d09-4127-8fe0-34f4a41436db + - 3ef99f68-390b-4387-9519-aef82a1078b8 status: code: 200 message: OK @@ -1582,9 +13059,9 @@ interactions: - -n -g --vhub-name --destination-type --destinations --next-hop-type --next-hops User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/6.0.0 Azure-SDK-For-Python AZURECLI/2.0.75 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/southcentralus/operations/25ef247a-9fde-49c6-bd4b-34f8f6166471?api-version=2019-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/96beaa0b-855f-4e92-ba67-106fb21bc398?api-version=2020-04-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -1596,7 +13073,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 24 Oct 2019 07:31:05 GMT + - Wed, 10 Jun 2020 06:47:25 GMT expires: - '-1' pragma: @@ -1613,7 +13090,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - b8005cfd-9118-4779-912c-1db7a512e03a + - ab5b3978-4885-4826-8f01-fc09b79cd6d3 status: code: 200 message: OK @@ -1632,9 +13109,9 @@ interactions: - -n -g --vhub-name --destination-type --destinations --next-hop-type --next-hops User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/6.0.0 Azure-SDK-For-Python AZURECLI/2.0.75 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/southcentralus/operations/25ef247a-9fde-49c6-bd4b-34f8f6166471?api-version=2019-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/96beaa0b-855f-4e92-ba67-106fb21bc398?api-version=2020-04-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -1646,7 +13123,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 24 Oct 2019 07:31:15 GMT + - Wed, 10 Jun 2020 06:47:36 GMT expires: - '-1' pragma: @@ -1663,7 +13140,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - c40d24ee-cd5a-4b32-b9fa-b2d8d8659e12 + - 1525db41-3d20-48b9-bdf3-ee120a464e57 status: code: 200 message: OK @@ -1682,13 +13159,13 @@ interactions: - -n -g --vhub-name --destination-type --destinations --next-hop-type --next-hops User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/6.0.0 Azure-SDK-For-Python AZURECLI/2.0.75 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/1015/providers/Microsoft.Network/virtualHubs/myclitestvhub/routeTables/testroutetable?api-version=2019-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table000001/providers/Microsoft.Network/virtualHubs/myclitestvhub/routeTables/testroutetable?api-version=2020-04-01 response: body: - string: "{\r\n \"name\": \"testroutetable\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/1015/providers/Microsoft.Network/virtualHubs/myclitestvhub/routeTables/testroutetable\",\r\n - \ \"etag\": \"W/\\\"1c0fb9e0-e9f2-442c-95f5-27ee9664c3b3\\\"\",\r\n \"properties\": + string: "{\r\n \"name\": \"testroutetable\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table000001/providers/Microsoft.Network/virtualHubs/myclitestvhub/routeTables/testroutetable\",\r\n + \ \"etag\": \"W/\\\"a8350c37-4b32-457b-8376-c2b3d0f12ef1\\\"\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"routes\": [\r\n {\r\n \ \"destinationType\": \"CIDR\",\r\n \"destinations\": [\r\n \ \"10.4.0.0/16\",\r\n \"10.6.0.0/16\"\r\n ],\r\n @@ -1702,11 +13179,11 @@ interactions: cache-control: - no-cache content-length: - - '931' + - '1002' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Oct 2019 07:31:16 GMT + - Wed, 10 Jun 2020 06:47:37 GMT expires: - '-1' pragma: @@ -1723,7 +13200,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - e1a76569-7501-410b-8cc5-f377b03133fc + - f0c3d7e7-3634-4679-a1e6-467bd739dd38 status: code: 200 message: OK @@ -1742,15 +13219,65 @@ interactions: - -n -g --vhub-name --index User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/6.0.0 Azure-SDK-For-Python AZURECLI/2.0.75 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table000001/providers/Microsoft.Network/virtualHubs/myclitestvhub/hubRouteTables/testroutetable?api-version=2020-04-01 + response: + body: + string: "{\r\n \"error\": {\r\n \"code\": \"NotFound\",\r\n \"message\": + \"Resource /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table000001/providers/Microsoft.Network/virtualHubs/myclitestvhub/hubRouteTables/testroutetable + not found.\",\r\n \"details\": []\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '333' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:47:38 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 76ef1e39-3681-4bd1-b01d-f9365a009e4d + status: + code: 404 + message: Not Found +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table route remove + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --index + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/1015/providers/Microsoft.Network/virtualHubs/myclitestvhub/routeTables/testroutetable?api-version=2019-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table000001/providers/Microsoft.Network/virtualHubs/myclitestvhub/routeTables/testroutetable?api-version=2020-04-01 response: body: - string: "{\r\n \"name\": \"testroutetable\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/1015/providers/Microsoft.Network/virtualHubs/myclitestvhub/routeTables/testroutetable\",\r\n - \ \"etag\": \"W/\\\"1c0fb9e0-e9f2-442c-95f5-27ee9664c3b3\\\"\",\r\n \"properties\": + string: "{\r\n \"name\": \"testroutetable\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table000001/providers/Microsoft.Network/virtualHubs/myclitestvhub/routeTables/testroutetable\",\r\n + \ \"etag\": \"W/\\\"a8350c37-4b32-457b-8376-c2b3d0f12ef1\\\"\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"routes\": [\r\n {\r\n \ \"destinationType\": \"CIDR\",\r\n \"destinations\": [\r\n \ \"10.4.0.0/16\",\r\n \"10.6.0.0/16\"\r\n ],\r\n @@ -1764,11 +13291,11 @@ interactions: cache-control: - no-cache content-length: - - '931' + - '1002' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Oct 2019 07:31:17 GMT + - Wed, 10 Jun 2020 06:47:38 GMT expires: - '-1' pragma: @@ -1785,15 +13312,15 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - d5461588-b30f-4469-9bb0-dac116224d2b + - adf3fd31-5f3b-46c4-a17c-fac1c6ce97d2 status: code: 200 message: OK - request: - body: '{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/1015/providers/Microsoft.Network/virtualHubs/myclitestvhub/routeTables/testroutetable", + body: 'b''{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table000001/providers/Microsoft.Network/virtualHubs/myclitestvhub/routeTables/testroutetable", "properties": {"routes": [{"destinationType": "Service", "destinations": ["Skype", "Sharepoint"], "nextHopType": "IPAddress", "nextHops": ["10.0.0.68"]}], "attachedConnections": - ["All_Branches"]}, "name": "testroutetable"}' + ["All_Branches"]}, "name": "testroutetable"}''' headers: Accept: - application/json @@ -1804,22 +13331,22 @@ interactions: Connection: - keep-alive Content-Length: - - '385' + - '456' Content-Type: - application/json; charset=utf-8 ParameterSetName: - -n -g --vhub-name --index User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/6.0.0 Azure-SDK-For-Python AZURECLI/2.0.75 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/1015/providers/Microsoft.Network/virtualHubs/myclitestvhub/routeTables/testroutetable?api-version=2019-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table000001/providers/Microsoft.Network/virtualHubs/myclitestvhub/routeTables/testroutetable?api-version=2020-04-01 response: body: - string: "{\r\n \"name\": \"testroutetable\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/1015/providers/Microsoft.Network/virtualHubs/myclitestvhub/routeTables/testroutetable\",\r\n - \ \"etag\": \"W/\\\"8a2631f3-ba9e-4eff-aa55-219f75301ec0\\\"\",\r\n \"properties\": + string: "{\r\n \"name\": \"testroutetable\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table000001/providers/Microsoft.Network/virtualHubs/myclitestvhub/routeTables/testroutetable\",\r\n + \ \"etag\": \"W/\\\"0b61bb3e-4b60-4f31-b257-538af359abde\\\"\",\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \"routes\": [\r\n {\r\n \ \"destinationType\": \"Service\",\r\n \"destinations\": [\r\n \ \"Skype\",\r\n \"Sharepoint\"\r\n ],\r\n \"nextHopType\": @@ -1828,15 +13355,15 @@ interactions: \ ]\r\n },\r\n \"type\": \"Microsoft.Network/virtualHubs/routeTables\"\r\n}" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/southcentralus/operations/73f88c7c-c5a9-42ce-9e8d-3b457429e87d?api-version=2019-09-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/af318216-2ca9-437e-9c7c-2fb1802bbac9?api-version=2020-04-01 cache-control: - no-cache content-length: - - '691' + - '762' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Oct 2019 07:31:17 GMT + - Wed, 10 Jun 2020 06:47:40 GMT expires: - '-1' pragma: @@ -1853,9 +13380,9 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - e2fd0802-7069-4a35-983d-3ea75a032688 + - b353276d-f3b1-4fb0-a1db-52f65e4987ed x-ms-ratelimit-remaining-subscription-writes: - - '1176' + - '1199' status: code: 200 message: OK @@ -1874,9 +13401,9 @@ interactions: - -n -g --vhub-name --index User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/6.0.0 Azure-SDK-For-Python AZURECLI/2.0.75 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/southcentralus/operations/73f88c7c-c5a9-42ce-9e8d-3b457429e87d?api-version=2019-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/af318216-2ca9-437e-9c7c-2fb1802bbac9?api-version=2020-04-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -1888,7 +13415,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 24 Oct 2019 07:31:29 GMT + - Wed, 10 Jun 2020 06:47:51 GMT expires: - '-1' pragma: @@ -1905,7 +13432,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - fb08d79e-7c2c-42f1-91bc-a0c96dfe0655 + - b6ea986d-f61b-457a-ad7b-dbcc8fff1023 status: code: 200 message: OK @@ -1924,9 +13451,9 @@ interactions: - -n -g --vhub-name --index User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/6.0.0 Azure-SDK-For-Python AZURECLI/2.0.75 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/southcentralus/operations/73f88c7c-c5a9-42ce-9e8d-3b457429e87d?api-version=2019-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/af318216-2ca9-437e-9c7c-2fb1802bbac9?api-version=2020-04-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -1938,7 +13465,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 24 Oct 2019 07:31:39 GMT + - Wed, 10 Jun 2020 06:48:01 GMT expires: - '-1' pragma: @@ -1955,7 +13482,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 1893f632-f9c2-4b85-8fae-d6313c6fc1d1 + - 8b05f966-921f-490d-a329-7784f421fef5 status: code: 200 message: OK @@ -1974,9 +13501,9 @@ interactions: - -n -g --vhub-name --index User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/6.0.0 Azure-SDK-For-Python AZURECLI/2.0.75 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/southcentralus/operations/73f88c7c-c5a9-42ce-9e8d-3b457429e87d?api-version=2019-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/af318216-2ca9-437e-9c7c-2fb1802bbac9?api-version=2020-04-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -1988,7 +13515,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 24 Oct 2019 07:31:49 GMT + - Wed, 10 Jun 2020 06:48:11 GMT expires: - '-1' pragma: @@ -2005,7 +13532,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 37c8c698-3111-4c77-8cee-f04a844c1b75 + - ef740622-30c6-4856-a347-c2a90129454f status: code: 200 message: OK @@ -2024,9 +13551,9 @@ interactions: - -n -g --vhub-name --index User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/6.0.0 Azure-SDK-For-Python AZURECLI/2.0.75 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/southcentralus/operations/73f88c7c-c5a9-42ce-9e8d-3b457429e87d?api-version=2019-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/af318216-2ca9-437e-9c7c-2fb1802bbac9?api-version=2020-04-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -2038,7 +13565,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 24 Oct 2019 07:32:00 GMT + - Wed, 10 Jun 2020 06:48:22 GMT expires: - '-1' pragma: @@ -2055,7 +13582,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 38657f48-eadf-434b-bed0-d9f21f4e5f87 + - b251e6e5-c304-4928-aeec-61dec3047e5e status: code: 200 message: OK @@ -2074,9 +13601,9 @@ interactions: - -n -g --vhub-name --index User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/6.0.0 Azure-SDK-For-Python AZURECLI/2.0.75 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/southcentralus/operations/73f88c7c-c5a9-42ce-9e8d-3b457429e87d?api-version=2019-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/af318216-2ca9-437e-9c7c-2fb1802bbac9?api-version=2020-04-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -2088,7 +13615,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 24 Oct 2019 07:32:10 GMT + - Wed, 10 Jun 2020 06:48:32 GMT expires: - '-1' pragma: @@ -2105,7 +13632,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 6d9979c0-f220-4eaf-b93a-0f9e99bd46d3 + - fc55f573-7e1e-4e38-b308-672789d7742c status: code: 200 message: OK @@ -2124,9 +13651,9 @@ interactions: - -n -g --vhub-name --index User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/6.0.0 Azure-SDK-For-Python AZURECLI/2.0.75 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/southcentralus/operations/73f88c7c-c5a9-42ce-9e8d-3b457429e87d?api-version=2019-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/af318216-2ca9-437e-9c7c-2fb1802bbac9?api-version=2020-04-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -2138,7 +13665,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 24 Oct 2019 07:32:20 GMT + - Wed, 10 Jun 2020 06:48:42 GMT expires: - '-1' pragma: @@ -2155,7 +13682,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 71ea2f67-9ada-430a-9e32-715edb5b89bf + - 4262ebb3-23a4-492b-8bba-2ab4c69ee52f status: code: 200 message: OK @@ -2174,9 +13701,9 @@ interactions: - -n -g --vhub-name --index User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/6.0.0 Azure-SDK-For-Python AZURECLI/2.0.75 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/southcentralus/operations/73f88c7c-c5a9-42ce-9e8d-3b457429e87d?api-version=2019-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/af318216-2ca9-437e-9c7c-2fb1802bbac9?api-version=2020-04-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -2188,7 +13715,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 24 Oct 2019 07:32:30 GMT + - Wed, 10 Jun 2020 06:48:53 GMT expires: - '-1' pragma: @@ -2205,7 +13732,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 83c7c72e-b6cc-4bf0-9322-6fb4c4e162ef + - 48769673-4681-4336-8060-7d27ddc2a3b4 status: code: 200 message: OK @@ -2224,13 +13751,122 @@ interactions: - -n -g --vhub-name --index User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/6.0.0 Azure-SDK-For-Python AZURECLI/2.0.75 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table000001/providers/Microsoft.Network/virtualHubs/myclitestvhub/routeTables/testroutetable?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"testroutetable\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table000001/providers/Microsoft.Network/virtualHubs/myclitestvhub/routeTables/testroutetable\",\r\n + \ \"etag\": \"W/\\\"c0d817f9-26a0-4a50-b4ae-36ad39117d76\\\"\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Succeeded\",\r\n \"routes\": [\r\n {\r\n + \ \"destinationType\": \"Service\",\r\n \"destinations\": [\r\n + \ \"Skype\",\r\n \"Sharepoint\"\r\n ],\r\n \"nextHopType\": + \"IPAddress\",\r\n \"nextHops\": [\r\n \"10.0.0.68\"\r\n ]\r\n + \ }\r\n ],\r\n \"attachedConnections\": [\r\n \"All_Branches\"\r\n + \ ]\r\n },\r\n \"type\": \"Microsoft.Network/virtualHubs/routeTables\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '763' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:48:54 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 9709d159-1209-4af8-921f-eac7a0eaf43d + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table000001/providers/Microsoft.Network/virtualHubs/myclitestvhub/hubRouteTables/testroutetable?api-version=2020-04-01 + response: + body: + string: "{\r\n \"error\": {\r\n \"code\": \"NotFound\",\r\n \"message\": + \"Resource /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table000001/providers/Microsoft.Network/virtualHubs/myclitestvhub/hubRouteTables/testroutetable + not found.\",\r\n \"details\": []\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '333' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 06:48:54 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 77d6d6aa-ba40-41b9-8cbc-46c824d2d481 + status: + code: 404 + message: Not Found +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + accept-language: + - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/1015/providers/Microsoft.Network/virtualHubs/myclitestvhub/routeTables/testroutetable?api-version=2019-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table000001/providers/Microsoft.Network/virtualHubs/myclitestvhub/routeTables/testroutetable?api-version=2020-04-01 response: body: - string: "{\r\n \"name\": \"testroutetable\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/1015/providers/Microsoft.Network/virtualHubs/myclitestvhub/routeTables/testroutetable\",\r\n - \ \"etag\": \"W/\\\"21b9e963-6981-47c1-8437-9fb5d51f4fea\\\"\",\r\n \"properties\": + string: "{\r\n \"name\": \"testroutetable\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table000001/providers/Microsoft.Network/virtualHubs/myclitestvhub/routeTables/testroutetable\",\r\n + \ \"etag\": \"W/\\\"c0d817f9-26a0-4a50-b4ae-36ad39117d76\\\"\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"routes\": [\r\n {\r\n \ \"destinationType\": \"Service\",\r\n \"destinations\": [\r\n \ \"Skype\",\r\n \"Sharepoint\"\r\n ],\r\n \"nextHopType\": @@ -2241,11 +13877,11 @@ interactions: cache-control: - no-cache content-length: - - '692' + - '763' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Oct 2019 07:32:30 GMT + - Wed, 10 Jun 2020 06:48:55 GMT expires: - '-1' pragma: @@ -2262,7 +13898,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - e30db8cc-9808-45a0-bdca-5469c5209bce + - 129788da-0359-4b28-886e-62c4ca07bb2c status: code: 200 message: OK @@ -2283,27 +13919,27 @@ interactions: - -n -g --vhub-name User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/6.0.0 Azure-SDK-For-Python AZURECLI/2.0.75 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 accept-language: - en-US method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/1015/providers/Microsoft.Network/virtualHubs/myclitestvhub/routeTables/testroutetable?api-version=2019-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table000001/providers/Microsoft.Network/virtualHubs/myclitestvhub/routeTables/testroutetable?api-version=2020-04-01 response: body: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/southcentralus/operations/cc3bc286-5074-4c0c-8861-70d1bddb48cc?api-version=2019-09-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1d938473-0343-4c12-b173-73a9d6f50f8d?api-version=2020-04-01 cache-control: - no-cache content-length: - '0' date: - - Thu, 24 Oct 2019 07:32:32 GMT + - Wed, 10 Jun 2020 06:48:56 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/southcentralus/operationResults/cc3bc286-5074-4c0c-8861-70d1bddb48cc?api-version=2019-09-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operationResults/1d938473-0343-4c12-b173-73a9d6f50f8d?api-version=2020-04-01 pragma: - no-cache server: @@ -2314,9 +13950,9 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - a3255e43-38bf-48c4-b699-4ca2575cfdc4 + - 167b061a-9822-4b17-a6a0-c566aaf64646 x-ms-ratelimit-remaining-subscription-deletes: - - '14996' + - '14999' status: code: 202 message: Accepted @@ -2335,9 +13971,9 @@ interactions: - -n -g --vhub-name User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/6.0.0 Azure-SDK-For-Python AZURECLI/2.0.75 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/southcentralus/operations/cc3bc286-5074-4c0c-8861-70d1bddb48cc?api-version=2019-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1d938473-0343-4c12-b173-73a9d6f50f8d?api-version=2020-04-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -2349,7 +13985,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 24 Oct 2019 07:32:44 GMT + - Wed, 10 Jun 2020 06:49:07 GMT expires: - '-1' pragma: @@ -2366,7 +14002,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - b787b415-3c2e-41ec-95ae-ce19877558f9 + - a2de7668-d66a-436c-b300-2a628ea32159 status: code: 200 message: OK @@ -2385,9 +14021,9 @@ interactions: - -n -g --vhub-name User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/6.0.0 Azure-SDK-For-Python AZURECLI/2.0.75 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/southcentralus/operations/cc3bc286-5074-4c0c-8861-70d1bddb48cc?api-version=2019-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1d938473-0343-4c12-b173-73a9d6f50f8d?api-version=2020-04-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -2399,7 +14035,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 24 Oct 2019 07:32:54 GMT + - Wed, 10 Jun 2020 06:49:17 GMT expires: - '-1' pragma: @@ -2416,7 +14052,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 3aad5f86-3b6b-444b-afea-3b0a5a4191fe + - f1f8e8de-d7a5-4863-85fd-1cf0fdc5abe1 status: code: 200 message: OK @@ -2435,9 +14071,9 @@ interactions: - -n -g --vhub-name User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/6.0.0 Azure-SDK-For-Python AZURECLI/2.0.75 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/southcentralus/operations/cc3bc286-5074-4c0c-8861-70d1bddb48cc?api-version=2019-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1d938473-0343-4c12-b173-73a9d6f50f8d?api-version=2020-04-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -2449,7 +14085,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 24 Oct 2019 07:33:04 GMT + - Wed, 10 Jun 2020 06:49:27 GMT expires: - '-1' pragma: @@ -2466,7 +14102,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 756530b3-0634-4e47-a3f9-d1fc4ca94493 + - 540a25cb-60e2-4af1-bfef-20c3685b6023 status: code: 200 message: OK @@ -2485,9 +14121,9 @@ interactions: - -n -g --vhub-name User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/6.0.0 Azure-SDK-For-Python AZURECLI/2.0.75 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/southcentralus/operations/cc3bc286-5074-4c0c-8861-70d1bddb48cc?api-version=2019-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1d938473-0343-4c12-b173-73a9d6f50f8d?api-version=2020-04-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -2499,7 +14135,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 24 Oct 2019 07:33:15 GMT + - Wed, 10 Jun 2020 06:49:39 GMT expires: - '-1' pragma: @@ -2516,7 +14152,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - bd1b8365-6888-4277-8688-6bee2fba91a2 + - db90d133-7556-45bc-be0b-445d00f7112f status: code: 200 message: OK @@ -2535,9 +14171,9 @@ interactions: - -n -g --vhub-name User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/6.0.0 Azure-SDK-For-Python AZURECLI/2.0.75 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/southcentralus/operations/cc3bc286-5074-4c0c-8861-70d1bddb48cc?api-version=2019-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1d938473-0343-4c12-b173-73a9d6f50f8d?api-version=2020-04-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -2549,7 +14185,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 24 Oct 2019 07:33:25 GMT + - Wed, 10 Jun 2020 06:49:49 GMT expires: - '-1' pragma: @@ -2566,7 +14202,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - c5ac218c-0a44-4ce5-b7df-6283befd03e3 + - 7ab63b12-65b3-4325-8edd-afc80b5228b2 status: code: 200 message: OK @@ -2585,9 +14221,9 @@ interactions: - -n -g --vhub-name User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/6.0.0 Azure-SDK-For-Python AZURECLI/2.0.75 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/southcentralus/operations/cc3bc286-5074-4c0c-8861-70d1bddb48cc?api-version=2019-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1d938473-0343-4c12-b173-73a9d6f50f8d?api-version=2020-04-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -2599,7 +14235,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 24 Oct 2019 07:33:35 GMT + - Wed, 10 Jun 2020 06:49:59 GMT expires: - '-1' pragma: @@ -2616,7 +14252,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - c6e9d5a5-c927-4a59-8436-391f93a30d56 + - 70ce9894-d0a5-4a9e-b88a-1a082a660981 status: code: 200 message: OK @@ -2635,9 +14271,9 @@ interactions: - -n -g --vhub-name User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/6.0.0 Azure-SDK-For-Python AZURECLI/2.0.75 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/southcentralus/operations/cc3bc286-5074-4c0c-8861-70d1bddb48cc?api-version=2019-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1d938473-0343-4c12-b173-73a9d6f50f8d?api-version=2020-04-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -2649,7 +14285,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 24 Oct 2019 07:33:45 GMT + - Wed, 10 Jun 2020 06:50:10 GMT expires: - '-1' pragma: @@ -2666,7 +14302,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 601e4a4b-bfcd-43a9-bdd2-2476f61bf953 + - e3032de8-2a64-45d3-a155-9b5d9ac075e5 status: code: 200 message: OK diff --git a/src/virtual-wan/azext_vwan/tests/latest/recordings/test_azure_vwan_route_table_v3.yaml b/src/virtual-wan/azext_vwan/tests/latest/recordings/test_azure_vwan_route_table_v3.yaml new file mode 100644 index 00000000000..579aa96c31a --- /dev/null +++ b/src/virtual-wan/azext_vwan/tests/latest/recordings/test_azure_vwan_route_table_v3.yaml @@ -0,0 +1,18923 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vwan create + Connection: + - keep-alive + ParameterSetName: + - -n -g + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-resource/6.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_azure_vwan_route_table_v3000001?api-version=2019-07-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table_v3000001","name":"cli_test_azure_vwan_route_table_v3000001","type":"Microsoft.Resources/resourceGroups","location":"eastus","tags":{"product":"azurecli","cause":"automation","date":"2020-06-10T07:19:02Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '428' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:19:06 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"location": "eastus"}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vwan create + Connection: + - keep-alive + Content-Length: + - '22' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -n -g + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table_v3000001/providers/Microsoft.Network/virtualWans/testvwan?api-version=2018-08-01 + response: + body: + string: "{\r\n \"name\": \"testvwan\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table_v3000001/providers/Microsoft.Network/virtualWans/testvwan\",\r\n + \ \"etag\": \"W/\\\"405f0faf-d3e8-40fd-9408-fe442b9ebe73\\\"\",\r\n \"type\": + \"Microsoft.Network/virtualWans\",\r\n \"location\": \"eastus\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Updating\",\r\n \"disableVpnEncryption\": + false,\r\n \"allowBranchToBranchTraffic\": true,\r\n \"allowVnetToVnetTraffic\": + true,\r\n \"office365LocalBreakoutCategory\": \"None\"\r\n }\r\n}" + headers: + azure-asyncnotification: + - Enabled + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/d6a921b0-37b4-479f-83bb-7e195bf7093a?api-version=2018-08-01 + cache-control: + - no-cache + content-length: + - '579' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:19:14 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 103a92f5-dcfe-47d8-86d2-857f6664796d + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vwan create + Connection: + - keep-alive + ParameterSetName: + - -n -g + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/d6a921b0-37b4-479f-83bb-7e195bf7093a?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"Succeeded\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '29' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:19:25 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 9e2a649c-3452-46c9-82f5-a710083cc4e7 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vwan create + Connection: + - keep-alive + ParameterSetName: + - -n -g + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table_v3000001/providers/Microsoft.Network/virtualWans/testvwan?api-version=2018-08-01 + response: + body: + string: "{\r\n \"name\": \"testvwan\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table_v3000001/providers/Microsoft.Network/virtualWans/testvwan\",\r\n + \ \"etag\": \"W/\\\"6a59c7ad-8582-420c-b243-10dce5286f37\\\"\",\r\n \"type\": + \"Microsoft.Network/virtualWans\",\r\n \"location\": \"eastus\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Succeeded\",\r\n \"disableVpnEncryption\": + false,\r\n \"allowBranchToBranchTraffic\": true,\r\n \"allowVnetToVnetTraffic\": + true,\r\n \"office365LocalBreakoutCategory\": \"None\"\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '580' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:19:25 GMT + etag: + - W/"6a59c7ad-8582-420c-b243-10dce5286f37" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 1895a627-8533-4835-9a0c-db7e4287173e + status: + code: 200 + message: OK +- request: + body: 'b''{"location": "eastus", "properties": {"virtualWan": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table_v3000001/providers/Microsoft.Network/virtualWans/testvwan"}, + "addressPrefix": "10.0.0.0/24"}}''' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub create + Connection: + - keep-alive + Content-Length: + - '287' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -g -n --vwan --address-prefix -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table_v3000001/providers/Microsoft.Network/virtualHubs/myclitestvhub?api-version=2018-08-01 + response: + body: + string: "{\r\n \"name\": \"myclitestvhub\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table_v3000001/providers/Microsoft.Network/virtualHubs/myclitestvhub\",\r\n + \ \"etag\": \"W/\\\"3ed7f3e4-ea6d-40d3-a6d4-e14a35248c01\\\"\",\r\n \"type\": + \"Microsoft.Network/virtualHubs\",\r\n \"location\": \"eastus\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Updating\",\r\n \"virtualNetworkConnections\": + [],\r\n \"addressPrefix\": \"10.0.0.0/24\",\r\n \"virtualRouterIps\": + [],\r\n \"routeTable\": {\r\n \"routes\": []\r\n },\r\n \"virtualWan\": + {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table_v3000001/providers/Microsoft.Network/virtualWans/testvwan\"\r\n + \ }\r\n }\r\n}" + headers: + azure-asyncnotification: + - Enabled + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/54a42701-cfb4-43ec-9df9-b468ebc3b01f?api-version=2018-08-01 + cache-control: + - no-cache + content-length: + - '817' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:19:35 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 22a5b018-04c7-444d-be95-55a611b1f71d + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vwan --address-prefix -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/54a42701-cfb4-43ec-9df9-b468ebc3b01f?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:19:46 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - c21db7b0-f14c-409a-a79a-24bb915cac90 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vwan --address-prefix -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/54a42701-cfb4-43ec-9df9-b468ebc3b01f?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:19:57 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 86c49916-8ffe-4d40-87a5-6e0bd10810fe + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vwan --address-prefix -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/54a42701-cfb4-43ec-9df9-b468ebc3b01f?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:20:08 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - f88b89da-4493-4727-a028-70c9cc728338 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vwan --address-prefix -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/54a42701-cfb4-43ec-9df9-b468ebc3b01f?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:20:19 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - b58eb698-92d7-43c5-9a0c-8044945d3454 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vwan --address-prefix -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/54a42701-cfb4-43ec-9df9-b468ebc3b01f?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:20:30 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 030060fa-0c48-4c54-8998-51cfd06f4206 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vwan --address-prefix -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/54a42701-cfb4-43ec-9df9-b468ebc3b01f?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:20:40 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 807cedf7-de64-4fa8-8742-387ba75f0760 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vwan --address-prefix -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/54a42701-cfb4-43ec-9df9-b468ebc3b01f?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:20:51 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 2f52c660-4294-4cd1-a909-03e40ba0578e + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vwan --address-prefix -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/54a42701-cfb4-43ec-9df9-b468ebc3b01f?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:21:02 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 3d09541e-6160-470c-b8ce-dd6c1e179de2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vwan --address-prefix -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/54a42701-cfb4-43ec-9df9-b468ebc3b01f?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:21:14 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 96f4d8b3-f71f-4bd0-9763-6b7d9ba444e5 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vwan --address-prefix -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/54a42701-cfb4-43ec-9df9-b468ebc3b01f?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:21:25 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 1cab95cd-fe81-4e4f-881f-982e55cba913 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vwan --address-prefix -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/54a42701-cfb4-43ec-9df9-b468ebc3b01f?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:21:36 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 4d63694d-02a0-4859-8c5f-a4bbf15b57c1 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vwan --address-prefix -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/54a42701-cfb4-43ec-9df9-b468ebc3b01f?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:21:48 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 0a84ea63-77cc-411d-bd65-269b9f15c31a + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vwan --address-prefix -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/54a42701-cfb4-43ec-9df9-b468ebc3b01f?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:21:58 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 49bf9292-0fac-44d2-9006-9b0c566b1dd5 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vwan --address-prefix -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/54a42701-cfb4-43ec-9df9-b468ebc3b01f?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:22:10 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 5030b555-398f-4b7b-a701-16a0d4565413 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vwan --address-prefix -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/54a42701-cfb4-43ec-9df9-b468ebc3b01f?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:22:21 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - a7bdfbca-fd94-4ece-adca-38218cecf267 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vwan --address-prefix -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/54a42701-cfb4-43ec-9df9-b468ebc3b01f?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:22:31 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 8478d28d-713a-4849-9007-4ab8f1c5e535 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vwan --address-prefix -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/54a42701-cfb4-43ec-9df9-b468ebc3b01f?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"Succeeded\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '29' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:22:42 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - b0ef4dd3-4df7-4f9e-b749-a915148a24d0 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vwan --address-prefix -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table_v3000001/providers/Microsoft.Network/virtualHubs/myclitestvhub?api-version=2018-08-01 + response: + body: + string: "{\r\n \"name\": \"myclitestvhub\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table_v3000001/providers/Microsoft.Network/virtualHubs/myclitestvhub\",\r\n + \ \"etag\": \"W/\\\"b7158d0a-8965-4a0b-85c0-a5b92616feed\\\"\",\r\n \"type\": + \"Microsoft.Network/virtualHubs\",\r\n \"location\": \"eastus\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Succeeded\",\r\n \"virtualNetworkConnections\": + [],\r\n \"addressPrefix\": \"10.0.0.0/24\",\r\n \"virtualRouterIps\": + [],\r\n \"routeTable\": {\r\n \"routes\": []\r\n },\r\n \"virtualWan\": + {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table_v3000001/providers/Microsoft.Network/virtualWans/testvwan\"\r\n + \ }\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '818' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:22:43 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - f9376b1f-5467-4351-aff8-bf4d91aa9b26 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-resource/6.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_azure_vwan_route_table_v3000001?api-version=2019-07-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table_v3000001","name":"cli_test_azure_vwan_route_table_v3000001","type":"Microsoft.Resources/resourceGroups","location":"eastus","tags":{"product":"azurecli","cause":"automation","date":"2020-06-10T07:19:02Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '428' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:22:45 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: 'b''{"location": "eastus", "properties": {"virtualHub": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table_v3000001/providers/Microsoft.Network/virtualHubs/myclitestvhub"}, + "sku": {"name": "AZFW_Hub", "tier": "Standard"}, "additionalProperties": {"DNSEnableProxy": + "False", "DNSRequireProxyForNetworkRules": "True", "DNSServer": null}}}''' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + Content-Length: + - '423' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table_v3000001/providers/Microsoft.Network/azureFirewalls/myfirewall?api-version=2019-11-01 + response: + body: + string: "{\r\n \"name\": \"myfirewall\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table_v3000001/providers/Microsoft.Network/azureFirewalls/myfirewall\",\r\n + \ \"etag\": \"W/\\\"830e7995-56b4-4edf-a432-1dc1f74a4f7d\\\"\",\r\n \"type\": + \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"eastus\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Updating\",\r\n \"sku\": {\r\n \"name\": + \"AZFW_Hub\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"additionalProperties\": + {\r\n \"DNSEnableProxy\": \"False\",\r\n \"DNSRequireProxyForNetworkRules\": + \"True\",\r\n \"DNSServer\": null\r\n },\r\n \"virtualHub\": {\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table_v3000001/providers/Microsoft.Network/virtualHubs/myclitestvhub\"\r\n + \ }\r\n }\r\n}" + headers: + azure-asyncnotification: + - Enabled + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + cache-control: + - no-cache + content-length: + - '891' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:22:49 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 00efba35-e29f-4a2f-8723-34e2a6e7b105 + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:23:00 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 06d1f34b-4513-4aab-b30e-553035dab435 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:23:10 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 1f37be36-8376-4867-9716-ab17a33a4ee9 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:23:21 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 1fde36e0-75f3-4367-b3d4-c732f85bb0df + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:23:31 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 311eb9cb-5a8a-49ce-8f09-0b1d9f5616d5 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:23:41 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 2aa3442a-e218-4fcc-b0de-58889f33ce0e + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:23:52 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 078bc4a1-e085-41a5-9a3a-a4b91e23ce24 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:24:02 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - feadf634-aa0e-4a19-b4e1-2c783d51f68b + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:24:12 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - cdf4b358-0f0e-4925-af2b-34d995c0ea9d + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:24:23 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 7973d087-b92c-450e-8226-37c22a0d1575 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:24:34 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 9ee2e3c4-c551-47de-a7c8-dbb8d61c5e92 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:24:44 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 95fae840-e357-4c7b-a155-dbd39e6d3493 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:24:54 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 65968f29-c6bb-4f6c-b38b-77ee3af0efdb + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:25:04 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 72b2f859-bfa2-4ac3-b06a-8acadbc4d6ab + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:25:15 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - e203264e-5ea1-4660-85a6-391b08f783a1 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:25:25 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - affe04a0-387d-4442-a6f8-2aaa7917ca47 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:25:35 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - f97c598e-ce95-4835-8b63-b5f8d3539e4d + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:25:45 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 79868904-55b0-4bdf-9121-d7fc1710370d + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:25:56 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 6191c8c6-f2b0-4563-882f-ed1f2da8f37d + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:26:06 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - be983dad-16bf-47d6-b945-7b16fb8bd0eb + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:26:16 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 5dd4ae97-b10b-43fa-a47d-5bf45342505d + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:26:26 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - de207b1b-33dd-48cd-b445-69c8a594e961 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:26:37 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 4f225cce-d91d-443d-a9c9-1300ab7eed53 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:26:48 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 90925e9a-9159-47cd-bb4f-47aa9ad892e7 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:26:58 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 5ffe9e48-fa6b-4aa3-9a1b-6b9bbefc073b + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:27:09 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - d270c072-9b88-44ca-b67c-eb9a7d2aa6a2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:27:19 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - cf4fe195-26b0-4c63-a14a-8ed8796146be + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:27:30 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 7a1baf47-ba7e-41c1-9762-d62233c138a4 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:27:40 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 631fc0ad-4ffd-4e2b-8531-69306452d55d + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:27:50 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - f1ee039e-d88d-45f8-87b8-cfba08bc0709 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:28:01 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 2dcb4502-7b3d-4f4d-8a3b-1c0f216dd509 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:28:11 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - e29bcbe1-fd08-4bf5-9e06-503544adb525 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:28:21 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - ad8898a7-f6ed-4421-b807-9b95a0c56792 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:28:31 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 5e42a359-f689-4a71-8dce-a0ca101799d8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:28:42 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 60fe158e-f4d4-4fad-a64d-ef36d70c10c8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:28:53 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 5ae8d9c5-1040-4103-b8e2-be67dd8896c5 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:29:03 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 8b1a777e-84f2-4b62-b6ac-0055c8500c82 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:29:13 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 8b17c2cd-35f7-482a-9c18-55965a3f4324 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:29:24 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 2b99837c-eab7-4f85-8b71-c75208aecc32 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:29:34 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 00126348-a304-4c87-97a1-4a91cc15c4a2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:29:44 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 352ecc8a-badc-448d-a874-0783ea18e57e + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:29:54 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - a89178bb-5fee-4625-ae72-5f750c076316 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:30:05 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - ffac8816-5b1b-4c9d-9005-3329436b332c + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:30:15 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 1d1fabb3-7867-4493-b0c0-0d182a3153a8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:30:25 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 4af29bc4-8015-4e65-b769-8e5f749aa837 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:30:35 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 6d7e5e59-4493-48e1-93a2-cd5bb892b396 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:30:46 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 0e1db0c9-414b-42e9-bc7f-e4ee1552d40f + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:30:56 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 861dfa21-f27d-49aa-b18f-c528663dfb4b + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:31:06 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 659635ba-9151-4581-ac61-97567c647b83 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:31:17 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 5089348d-00ea-43dd-bf73-4ad2a82c83a1 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:31:28 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 8b3b5d39-8cd8-47bd-b30f-e6fa4ecdda47 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:31:38 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 5d408a06-8058-40f4-b3a9-a5861f5d4aba + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:31:48 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 662a4b37-bdb0-48ce-8769-43ee4c1a74a7 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:31:58 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 7fd691fa-a902-43a2-b11a-e0f40ab913d3 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:32:09 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 0e942747-2d6e-4f13-ab6f-6fc2b0bda6bb + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:32:19 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - f11bef02-5476-4242-9ce7-2392a539440e + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:32:29 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - d3b8b730-c863-42d6-94ea-2fa90e1fe4b7 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:32:40 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 10999115-70af-4862-9a4d-60ca768bbf98 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:32:50 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - ae9bac98-7eef-4b50-b40a-cce98a9a6a24 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:33:00 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 7dfd47de-be81-47fd-aeda-f13668077683 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:33:10 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - e98aa07b-bf1a-4629-b10a-f2b4f3cb348b + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:33:22 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 7882ca17-591f-4940-bf57-ba9d0eefbe23 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:33:33 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 80f5f03e-7eed-4100-8d07-6b9f224b7875 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:33:43 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - df603957-efc5-4516-9e60-7046c9cbba82 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:33:53 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 5bf3452c-4be4-4ebb-878c-2d2640d1ab61 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:34:03 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 24696be0-dd57-4c6b-94ed-dae26d20600f + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:34:14 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 4bdfba9a-4fcc-4aff-9b68-3c446c3e7aca + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:34:24 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - af6948d8-ba76-4e5d-a740-f073b9498c67 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:34:34 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 0ca50d05-a3ff-481a-bf66-9213b2ffa4c0 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:34:44 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - ea195a83-6985-420d-90e4-f4a7df817085 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:34:55 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 67d155ff-f7d3-486f-b1cc-aba92a16466f + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:35:05 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 3bd82755-2c07-4c4b-8593-c0b665621d62 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:35:15 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - ffa1ac0d-9a0c-4c3d-94a0-1702ccd1bf4a + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:35:26 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - e230ec8c-b338-4ece-9499-2a8fb01b11d6 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:35:37 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - b0be3bb1-4fb8-417a-bf0c-1052b22b08e6 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:35:47 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 64d4e806-668c-4cf5-8a82-d9697ce4e447 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:35:57 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 204e292e-4b8b-4d2a-9f56-34c7eb8399f9 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:36:07 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - e3a3c277-4542-47c4-9edb-017c29995da3 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:36:18 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 477f2b0b-abd2-45be-b184-dde12c00caec + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:36:28 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 9139ea8a-2b22-440c-9c50-b68019545a5f + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:36:38 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 3b8c415c-9ea8-4816-b14a-6dcd0cec3513 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:36:48 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 76c714f6-fc42-41ba-889d-3dbca7b65de6 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:36:59 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 4638740e-9812-4e5d-b8d5-3bdbb49ac652 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:37:09 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - ee86a53c-8359-45ec-95f0-17cc4af695f9 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:37:20 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 5a7a2a5d-a23b-40bf-8a07-972279731cd7 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:37:30 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 81d0c448-a075-48cd-8980-d7a75591a69f + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:37:41 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 18f2504f-19a0-4952-adc9-32233de9750b + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:37:51 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 5f0385e2-46e0-45f0-b27b-16af3ecf50ad + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:38:04 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 2d2a1e53-fcbd-4d21-b4fc-fc057e3be971 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:38:14 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 4480a7ea-3b48-4b7b-afce-f1f7e348b68d + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:38:24 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - ebe25545-5392-4805-b46a-5b76c942fbdd + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:38:34 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 268f8199-f94b-43e1-839d-38f8501bf98a + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:38:45 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 892b9b6b-8645-4d89-a921-de06dc371ac7 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:38:55 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - f4e621d8-1242-4d3e-bab7-9ae0744b5ebc + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:39:05 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - ce2f8b3c-a109-474c-910d-06348a154f9a + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:39:17 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 88a7a5c5-254e-44fa-9507-0c1726e16644 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:39:27 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 55aea919-fcc1-4906-8f09-d672df61e566 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:39:37 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - c8f8ec0b-57e4-4ae1-af25-615ce71d7329 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:39:48 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 6ddd5c0a-c69d-440b-b59a-31fcb005fd8a + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:39:58 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - d76722bb-0216-4514-86b8-663d85a4c8b5 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:40:08 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 20221b27-49ba-490d-ab27-818e1b130387 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:40:18 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 72760aed-a744-4d1c-a9d9-6d8b34e3e3fa + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:40:29 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - a7b40c17-6cea-41df-9edd-513b98ff8cd7 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ce2e45ab-ba44-4a46-83e2-f20ed45443b8?api-version=2019-11-01 + response: + body: + string: "{\r\n \"status\": \"Succeeded\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '29' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:40:39 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - de794d38-b23e-4a4f-b9f3-39950f4ee7a5 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vhub --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/9.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table_v3000001/providers/Microsoft.Network/azureFirewalls/myfirewall?api-version=2019-11-01 + response: + body: + string: "{\r\n \"name\": \"myfirewall\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table_v3000001/providers/Microsoft.Network/azureFirewalls/myfirewall\",\r\n + \ \"etag\": \"W/\\\"8f70830a-5e4b-4ec5-adbc-1b7e348f05c8\\\"\",\r\n \"type\": + \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"eastus\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Succeeded\",\r\n \"sku\": {\r\n \"name\": + \"AZFW_Hub\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"additionalProperties\": + {\r\n \"DNSEnableProxy\": \"False\",\r\n \"DNSRequireProxyForNetworkRules\": + \"True\",\r\n \"DNSServer\": null\r\n },\r\n \"virtualHub\": {\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table_v3000001/providers/Microsoft.Network/virtualHubs/myclitestvhub\"\r\n + \ },\r\n \"hubIPAddresses\": {\r\n \"privateIPAddress\": \"10.0.0.132\",\r\n + \ \"publicIPAddresses\": [\r\n {\r\n \"address\": \"52.191.89.154\"\r\n + \ }\r\n ]\r\n }\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1065' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:40:40 GMT + etag: + - W/"8f70830a-5e4b-4ec5-adbc-1b7e348f05c8" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 0a6ab4ca-87fa-4ce5-8c32-c5697535f7da + status: + code: 200 + message: OK +- request: + body: 'b''{"location": "eastus", "properties": {"virtualHub": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table_v3000001/providers/Microsoft.Network/virtualHubs/myclitestvhub"}, + "bgpSettings": {}}}''' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + Content-Length: + - '279' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table_v3000001/providers/Microsoft.Network/vpnGateways/mycligateway?api-version=2018-08-01 + response: + body: + string: "{\r\n \"name\": \"mycligateway\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table_v3000001/providers/Microsoft.Network/vpnGateways/mycligateway\",\r\n + \ \"etag\": \"W/\\\"65d99d07-65df-4518-9cf8-8a27c5eb7458\\\"\",\r\n \"type\": + \"Microsoft.Network/vpnGateways\",\r\n \"location\": \"eastus\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Updating\",\r\n \"connections\": [],\r\n + \ \"virtualHub\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table_v3000001/providers/Microsoft.Network/virtualHubs/myclitestvhub\"\r\n + \ },\r\n \"bgpSettings\": {\r\n \"asn\": 65515,\r\n \"peerWeight\": + 0\r\n },\r\n \"vpnGatewayScaleUnit\": 1,\r\n \"packetCaptureDiagnosticState\": + \"None\",\r\n \"ipConfigurations\": []\r\n }\r\n}" + headers: + azure-asyncnotification: + - Enabled + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + cache-control: + - no-cache + content-length: + - '870' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:40:47 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - d52a88e9-b554-4c97-b76b-d88ed7f56932 + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:40:57 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 8d66b310-7a07-4d2e-8ba6-0e9a64178000 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:41:09 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - f3012f99-6a77-469f-acd9-35d3fb599b15 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:41:21 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 0ac157b5-73aa-4963-bc83-99f5b66c20a7 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:41:32 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - dfbf6942-fb4e-4619-b64c-bd81f1811cc8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:41:42 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - cf19f744-87e6-48b4-bfdc-66161f4f445f + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:41:52 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 95f07672-c39f-4f65-aa29-7138baeb737c + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:42:03 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 6d1a3960-9d6c-4045-8a2e-65b09c509caa + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:42:14 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 2afb424c-2107-4d99-aebc-6c0ec4fcf109 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:42:25 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 436d2f2c-2889-40cc-8635-7a577586c811 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:42:35 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 126d8c56-72ed-4d56-8bad-dac8dbd96186 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:42:47 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - a88dc5ae-1a4b-4b29-9f2c-656678da3829 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:42:59 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - af4df79f-b70c-4ced-abfc-015286b8b758 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:43:09 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 484cfb12-a7c0-430e-be91-bd352e296f77 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:43:20 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - fc9bb303-fdc3-48bf-8941-f7052115f895 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:43:31 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 9a8a6fc2-6014-458c-9cf1-7fb42c8f6b44 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:43:42 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 96f33386-8860-422b-880e-932434341c41 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:43:53 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - fc00c538-bcce-4efe-9b07-a6239007c079 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:44:04 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 1c741b25-c635-4277-a0b9-cb8dfad0f453 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:44:16 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - fcb7b7e6-5a0d-4d3a-b458-4bfd6759d534 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:44:28 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 06ee2570-e135-46fc-bbb7-2f881a9e32d2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:44:38 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - d3730c31-8fbf-4cb8-9d68-7a827ef9d88f + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:44:49 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 5741c5a7-9825-486b-9de4-e432b46ca89c + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:45:00 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 89a95df9-b946-496a-97ee-7f412e7ee8fb + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:45:11 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 8337cd59-0db7-4060-a7fc-a5ede27e9673 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:45:22 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - d3288923-02e7-461d-931b-3b2eae7cef0a + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:45:32 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 1bc4727f-dd10-4c8f-8737-7b6fd40f0177 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:45:44 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - a867643d-0834-44f0-9ca0-f883a49129ab + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:45:55 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - eadffbee-47c6-4abc-b43f-4919485088af + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:46:06 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - ad2af81c-ae0c-47eb-bdfe-e205a5531196 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:46:16 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 4675a804-6f39-45b4-844b-c7aa846cb2cc + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:46:28 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - c84acbf9-020e-48c1-af5a-445e5153735b + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:46:38 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - cd4002f2-88c6-47d1-97b0-b69d481dcca8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:46:50 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - a7bd5e10-e6a9-4851-b7ca-9ed406fb4a70 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:47:01 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 71c29fd1-dd37-4e09-973b-61fff093bbf3 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:47:12 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 7d37278e-9ec5-4074-93fe-6f8b28964619 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:47:23 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - b73c0c21-cf0f-4dae-adef-e37361e93376 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:47:35 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 9179728c-f0b2-4dd7-8cf5-4c987b7248c1 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:47:46 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 279758d7-343f-4100-a18a-6128c98cbe14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:47:56 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - ad9e8494-3f47-48eb-a1e4-36a64bc3b798 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:48:07 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 8cd9d7b1-7211-42f2-af64-4df15cd1f00f + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:48:18 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 477266c5-73f6-424b-86a1-9281413ccef6 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:48:30 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 17a4b1be-fafa-403d-a3ee-7c091695ed6e + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:48:39 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - d5384ea9-542a-4b44-b29f-871202ae282c + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:48:51 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 518893bb-676b-47a3-b124-77fea9173e58 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:49:02 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 795ee9a2-1838-4f41-a9e9-1e2106c72da8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:49:13 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 5ab2499c-fe75-4666-81ed-e57a18b040be + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:49:24 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 841e3a9f-821e-4261-8182-3e9632387507 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:49:36 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - f3457294-0e00-4fbc-98f3-679b598d387f + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:49:47 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 413befdd-494b-459e-b3f0-7e6be2393a4d + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:49:57 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 482f2bf0-bdaa-49a8-8b13-1389510e433b + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:50:09 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 86fdde9a-e0b8-4a2d-ad00-ae506c137d81 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:50:20 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - b4a4d1ed-5f5a-4c18-82bd-815e6ffbcf30 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:50:31 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - a3563d46-644b-45ff-8b72-a7ae03a8171d + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:50:42 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 00597bc0-4ce8-4320-a283-2ee7e66b64c5 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:50:52 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 996afd9c-4a36-442e-90f1-c3e85b4e2a91 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:51:03 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - f42b9284-fabf-4a10-9f74-453cdac9a0da + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:51:13 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - a7d73e67-9f92-4b2a-93ef-bb222b5c7d0c + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:51:24 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 706ac4ae-ee44-4f54-ab3f-6dbfabc6b6ed + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:51:36 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - f027585a-c5fb-4e9d-b0dc-1373b7a25efd + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:51:47 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - afe3b2f7-d438-4fd8-9b4b-556459f2486e + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:51:58 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 2876b15d-1c04-4fef-b1ec-35a814f598af + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:52:09 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 6d39901a-129c-4ec2-a562-5af106cbe64f + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:52:20 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 92a66d5b-ca7e-466c-8396-7bf74576d61c + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:52:30 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 4cc8726a-e329-4c7d-b018-bc2687667f95 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:52:42 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - b8ac8b95-589a-4cfb-9da7-fc85a361da46 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:52:53 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 87553ec8-bead-4ea6-b672-adba4744fe9f + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:53:04 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 3338a6a5-10ae-4f07-bfec-98d8225216d6 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:53:15 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - ee1f2fe2-75bd-4030-bfd6-5fe34ec6ff75 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:53:26 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 92bca2da-3633-4761-91d1-557d7aee6839 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:53:38 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 5c209da2-a182-48dd-8f5b-d4919bef68d8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:53:49 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 1f7b5740-2695-415d-aa5d-37627575c3ba + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:54:01 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 16b0edc7-623a-45c4-b454-6e4ed2fe82d6 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:54:12 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - e5c103fd-8449-48ec-9dc2-b8a3081138cd + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:54:23 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 4d55a0dd-7784-46be-8ccb-38deaa2aa2f4 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:54:33 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - a0f1c803-2cb6-41f7-89b0-2ffa40f9194f + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:54:44 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 8b6840e4-e82b-41b6-ab81-c055305840e8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:54:56 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 3473cafa-8d5e-4d9d-866b-49d98f37d335 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:55:06 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 180dc9ac-b634-4c4e-808d-bcee19f6019b + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:55:18 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - c39f927f-9e08-4e9f-b2d3-7f7a2c3282c8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:55:29 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 8d02b8fe-a3fa-4443-b53b-ffed4471d680 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:55:40 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - ce889ff9-19a3-4956-bf62-21a49d29392f + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:55:51 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - c983611d-4b32-49c0-ba58-3ac9b11d3b67 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:56:03 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 4c70fe41-4c6e-4df2-8a80-697c937b4ec8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:56:15 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - e70a472c-45a3-40d9-a163-fb43e32d1aad + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:56:25 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - b91c6642-c833-46de-badc-088c1fe9dfbd + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:56:36 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 0ff43afa-6798-4141-aa6c-67745c6c8e5f + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:56:46 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 1a5a5dca-f4cc-441a-a291-26946b30628d + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:56:58 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - b1719057-b24f-433b-9957-203d3d5b074e + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:57:09 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 63e564fd-e423-46b6-995b-9819a2542a50 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:57:20 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 18749f5d-ec76-4ac6-bf16-3d0a977aab97 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:57:31 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 3d1249da-a9c8-4e56-ae8c-449c0a488a87 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:57:42 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - cdb39713-dcb8-4ef9-ab4a-51a19ebf04dc + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:57:53 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - f52af193-6ad0-4fe7-8a09-6ce6315096a3 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:58:04 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - bed9576a-53c1-4cdc-921d-f6b4b281d922 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:58:15 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - d07f50a1-3ce3-4dd7-9092-7e1b24896707 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:58:26 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 08d8dd14-7564-4a50-8652-c53ac144656d + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:58:37 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - b241c132-4c9a-4f4f-aa45-c340300e6e67 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:58:47 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - d9e6ca7f-7e1f-4389-b056-b91acb5844af + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:58:59 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 20b2f180-be75-4e1a-afa3-6612000f9d5d + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:59:10 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 7fca5d84-c09d-4d74-840a-292ffcfb220d + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:59:21 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - be65dd27-b2f3-4d37-97cc-696dc5ad18ba + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:59:33 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 189843e2-c483-488c-a801-7429bcabc6f6 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:59:43 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - d22bdd92-7be6-43bb-a4ac-9750fa20f061 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 07:59:55 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - f4d46826-2cfa-4c1d-acd1-ad0bdb5ef574 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:00:06 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - ac67d583-f4c8-4ca4-add2-8aa48e389683 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:00:18 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 7c9a8c06-6e15-4018-bd98-76b1371b9fc7 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:00:29 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 8f45643f-bb67-4b7f-998b-59156854ce79 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:00:40 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - a3326c34-28f3-4cab-bbbc-120663b3e01f + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:00:51 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - c3c6f4a0-0e20-4eb8-8be6-a154c94bc65d + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:01:03 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 2096a861-05ef-41ec-b8c0-ca0a54851c16 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:01:14 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 7ed59f30-14f6-467f-a558-1c44b958f0e9 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:01:26 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - f7d01de0-9afb-4b71-b685-f8ef3584f8ee + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:01:36 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 0087e6e6-d37a-499e-b872-7644b7e1db5f + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:01:47 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - daa30bff-9068-4d6e-af77-35a3654cea63 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:01:58 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 7b433890-714b-47ab-9a63-e92078504c2d + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:02:09 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 560fad53-9936-4987-8f80-fe178c796d9d + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:02:19 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 241b9d6a-5bb4-4460-a75f-ffee924a9fd6 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:02:30 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 7ca0468c-210d-4e5b-8c57-c9e6101c8926 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:02:41 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - ebb0146e-8c60-4121-a552-b3369dd80adc + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:02:52 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 460a8f2b-f392-43fa-9647-d5f6005ae1b1 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:03:02 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 281bc836-4df0-401e-b171-803f7779239e + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:03:13 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 9f4dd7be-4e82-4849-b7ce-3084643bc318 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:03:24 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 6e7f51ac-3d2a-422c-83ff-266ef9eedf98 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:03:35 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - e3790631-70e6-4abc-bbe3-a7d17a3426ff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:03:46 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 99357fb9-fc75-42de-8e26-8dd743269a9d + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:03:57 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - e7fe5245-4058-4547-af18-ee9222d9a000 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:04:08 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 7639f80c-e303-465b-aff2-e4e525221459 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:04:18 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 97e2b780-f582-4904-878e-ac8994891a3a + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:04:29 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 5b604b4f-2555-4202-a596-7f2cb221f4e3 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:04:41 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - ac8fd20f-5d0a-431c-8ded-afe210834a7b + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:04:52 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - df301fe3-396c-4dd1-b0b0-ceca5173167d + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:05:04 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 901b35c3-26eb-49e0-81fc-131a6a60a6dd + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:05:15 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - ab7d6d4c-b506-4126-91ea-d891935df6b0 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:05:26 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - c273ec31-e2b9-4ca8-941c-259018217711 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/326ddd1d-73d2-4d7d-ad54-d2a25e7eee7b?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"Succeeded\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '29' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:05:38 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 71ae7f28-f9ca-4985-97f1-c5df305b9c64 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vpn-gateway create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub -l + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table_v3000001/providers/Microsoft.Network/vpnGateways/mycligateway?api-version=2018-08-01 + response: + body: + string: "{\r\n \"name\": \"mycligateway\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table_v3000001/providers/Microsoft.Network/vpnGateways/mycligateway\",\r\n + \ \"etag\": \"W/\\\"97f7be01-4bc9-45e1-9bf6-fdd0708f7b96\\\"\",\r\n \"type\": + \"Microsoft.Network/vpnGateways\",\r\n \"location\": \"eastus\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Succeeded\",\r\n \"connections\": [],\r\n + \ \"virtualHub\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table_v3000001/providers/Microsoft.Network/virtualHubs/myclitestvhub\"\r\n + \ },\r\n \"bgpSettings\": {\r\n \"asn\": 65515,\r\n \"peerWeight\": + 0,\r\n \"bgpPeeringAddresses\": [\r\n {\r\n \"ipconfigurationId\": + \"Instance0\",\r\n \"defaultBgpIpAddresses\": [\r\n \"10.0.0.13\"\r\n + \ ],\r\n \"customBgpIpAddresses\": [],\r\n \"tunnelIpAddresses\": + [\r\n \"52.191.100.193\"\r\n ]\r\n },\r\n {\r\n + \ \"ipconfigurationId\": \"Instance1\",\r\n \"defaultBgpIpAddresses\": + [\r\n \"10.0.0.12\"\r\n ],\r\n \"customBgpIpAddresses\": + [],\r\n \"tunnelIpAddresses\": [\r\n \"52.149.250.245\"\r\n + \ ]\r\n }\r\n ]\r\n },\r\n \"vpnGatewayScaleUnit\": + 1,\r\n \"packetCaptureDiagnosticState\": \"None\",\r\n \"ipConfigurations\": + [\r\n {\r\n \"id\": \"Instance0\",\r\n \"publicIpAddress\": + \"52.191.100.193\"\r\n },\r\n {\r\n \"id\": \"Instance1\",\r\n + \ \"publicIpAddress\": \"52.149.250.245\"\r\n }\r\n ]\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1623' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:05:38 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 7d344f66-04a1-400f-b9f5-1f080ea47b24 + status: + code: 200 + message: OK +- request: + body: 'b''{"properties": {"routes": [{"name": "myroute1", "destinationType": "CIDR", + "destinations": ["20.10.0.0/16", "20.20.0.0/16"], "nextHopType": "ResourceId", + "nextHop": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table_v3000001/providers/Microsoft.Network/azureFirewalls/myfirewall"}], + "labels": ["label1", "label2"]}}''' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table create + Connection: + - keep-alive + Content-Length: + - '399' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -n -g --vhub-name --route-name --destination-type --destinations --next-hop-type + --next-hop --labels + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table_v3000001/providers/Microsoft.Network/virtualHubs/myclitestvhub/hubRouteTables/testroutetable?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"testroutetable\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table_v3000001/providers/Microsoft.Network/virtualHubs/myclitestvhub/hubRouteTables/testroutetable\",\r\n + \ \"etag\": \"W/\\\"32d01d81-4e33-4395-a7aa-478ccf4c868e\\\"\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Updating\",\r\n \"routes\": [\r\n {\r\n + \ \"name\": \"myroute1\",\r\n \"destinationType\": \"CIDR\",\r\n + \ \"destinations\": [\r\n \"20.10.0.0/16\",\r\n \"20.20.0.0/16\"\r\n + \ ],\r\n \"nextHopType\": \"ResourceId\",\r\n \"nextHop\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table_v3000001/providers/Microsoft.Network/azureFirewalls/myfirewall\"\r\n + \ }\r\n ],\r\n \"labels\": [\r\n \"label1\",\r\n \"label2\"\r\n + \ ],\r\n \"associatedConnections\": [],\r\n \"propagatingConnections\": + []\r\n },\r\n \"type\": \"Microsoft.Network/virtualHubs/hubRouteTables\"\r\n}" + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/db9a358f-e49d-4b27-834a-a3adf403e90c?api-version=2020-04-01 + cache-control: + - no-cache + content-length: + - '1033' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:05:40 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 5cb5ad0a-ad2f-4502-ae7f-4126808f2160 + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --route-name --destination-type --destinations --next-hop-type + --next-hop --labels + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/db9a358f-e49d-4b27-834a-a3adf403e90c?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:05:52 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 6411e757-bb31-444a-a3ac-c0972223acfa + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --route-name --destination-type --destinations --next-hop-type + --next-hop --labels + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/db9a358f-e49d-4b27-834a-a3adf403e90c?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:06:02 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 570672ca-2d13-49fb-984e-5c8483227014 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --route-name --destination-type --destinations --next-hop-type + --next-hop --labels + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/db9a358f-e49d-4b27-834a-a3adf403e90c?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:06:13 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 0f62d9be-9861-4f0d-8ad1-72f25faa73a1 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --route-name --destination-type --destinations --next-hop-type + --next-hop --labels + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/db9a358f-e49d-4b27-834a-a3adf403e90c?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:06:23 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - e3b72484-ed55-4822-ae30-558bc4b32582 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --route-name --destination-type --destinations --next-hop-type + --next-hop --labels + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/db9a358f-e49d-4b27-834a-a3adf403e90c?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:06:33 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - c8c3bbdd-f998-4dd0-b189-6b2412f4146d + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --route-name --destination-type --destinations --next-hop-type + --next-hop --labels + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/db9a358f-e49d-4b27-834a-a3adf403e90c?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:06:45 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 0e565f5b-2dd4-4409-a95b-472cccc7ddfa + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --route-name --destination-type --destinations --next-hop-type + --next-hop --labels + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/db9a358f-e49d-4b27-834a-a3adf403e90c?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:06:55 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 6eeaa552-e788-4fc3-8d70-ed88a63580e1 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --route-name --destination-type --destinations --next-hop-type + --next-hop --labels + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/db9a358f-e49d-4b27-834a-a3adf403e90c?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:07:05 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 7f37ed6a-fa35-4f9f-b5af-3faa22f35102 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --route-name --destination-type --destinations --next-hop-type + --next-hop --labels + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/db9a358f-e49d-4b27-834a-a3adf403e90c?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:07:15 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 86498a6f-f822-45dd-8834-501811edf29b + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --route-name --destination-type --destinations --next-hop-type + --next-hop --labels + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/db9a358f-e49d-4b27-834a-a3adf403e90c?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:07:25 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 9484d909-3d04-44c2-91ea-c23e8b703363 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --route-name --destination-type --destinations --next-hop-type + --next-hop --labels + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/db9a358f-e49d-4b27-834a-a3adf403e90c?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:07:36 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 68224ed3-e0b8-4f89-82c4-e336cca0e133 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --route-name --destination-type --destinations --next-hop-type + --next-hop --labels + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/db9a358f-e49d-4b27-834a-a3adf403e90c?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:07:46 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 5111544a-79d9-42d3-83ce-37a037369704 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --route-name --destination-type --destinations --next-hop-type + --next-hop --labels + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/db9a358f-e49d-4b27-834a-a3adf403e90c?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:07:57 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - cd2ebdf5-cace-4b47-b9e7-1c3f9fd3c454 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --route-name --destination-type --destinations --next-hop-type + --next-hop --labels + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/db9a358f-e49d-4b27-834a-a3adf403e90c?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:08:07 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 6e4c4b98-0a45-4397-ba47-df39f32e81d7 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --route-name --destination-type --destinations --next-hop-type + --next-hop --labels + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/db9a358f-e49d-4b27-834a-a3adf403e90c?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:08:18 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 8591a860-d33b-4ecd-844d-bf6a172db52b + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --route-name --destination-type --destinations --next-hop-type + --next-hop --labels + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/db9a358f-e49d-4b27-834a-a3adf403e90c?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:08:28 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - a3cb5658-6cdd-4626-bdf0-0923773ace40 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --route-name --destination-type --destinations --next-hop-type + --next-hop --labels + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/db9a358f-e49d-4b27-834a-a3adf403e90c?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:08:38 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 96e40d03-63e5-442b-8c0c-adeefee87873 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --route-name --destination-type --destinations --next-hop-type + --next-hop --labels + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/db9a358f-e49d-4b27-834a-a3adf403e90c?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:08:49 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 4b901e8c-e44e-44fe-af81-9feada694895 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --route-name --destination-type --destinations --next-hop-type + --next-hop --labels + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/db9a358f-e49d-4b27-834a-a3adf403e90c?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:08:59 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 9b61f6d0-9b99-412f-b39b-cf0f1c776528 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --route-name --destination-type --destinations --next-hop-type + --next-hop --labels + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/db9a358f-e49d-4b27-834a-a3adf403e90c?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:09:09 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 72edfb2d-ebb0-4f73-91c5-88604a2c83b1 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --route-name --destination-type --destinations --next-hop-type + --next-hop --labels + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/db9a358f-e49d-4b27-834a-a3adf403e90c?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:09:19 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - e1eba184-f1ab-48ff-aaea-17543b22c5db + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --route-name --destination-type --destinations --next-hop-type + --next-hop --labels + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/db9a358f-e49d-4b27-834a-a3adf403e90c?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"Succeeded\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '29' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:09:30 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - ac6e29f3-6985-4f72-869f-b24bbe1a54ad + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table create + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --route-name --destination-type --destinations --next-hop-type + --next-hop --labels + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table_v3000001/providers/Microsoft.Network/virtualHubs/myclitestvhub/hubRouteTables/testroutetable?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"testroutetable\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table_v3000001/providers/Microsoft.Network/virtualHubs/myclitestvhub/hubRouteTables/testroutetable\",\r\n + \ \"etag\": \"W/\\\"ab6a7cac-c0f6-4029-b215-61a90b4d28c4\\\"\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Succeeded\",\r\n \"routes\": [\r\n {\r\n + \ \"name\": \"myroute1\",\r\n \"destinationType\": \"CIDR\",\r\n + \ \"destinations\": [\r\n \"20.10.0.0/16\",\r\n \"20.20.0.0/16\"\r\n + \ ],\r\n \"nextHopType\": \"ResourceId\",\r\n \"nextHop\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table_v3000001/providers/Microsoft.Network/azureFirewalls/myfirewall\"\r\n + \ }\r\n ],\r\n \"labels\": [\r\n \"label1\",\r\n \"label2\"\r\n + \ ],\r\n \"associatedConnections\": [],\r\n \"propagatingConnections\": + []\r\n },\r\n \"type\": \"Microsoft.Network/virtualHubs/hubRouteTables\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1034' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:09:30 GMT + etag: + - W/"ab6a7cac-c0f6-4029-b215-61a90b4d28c4" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - b8be75e8-e644-4a6e-b281-9cca2921ec25 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table show + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table_v3000001/providers/Microsoft.Network/virtualHubs/myclitestvhub/hubRouteTables/testroutetable?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"testroutetable\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table_v3000001/providers/Microsoft.Network/virtualHubs/myclitestvhub/hubRouteTables/testroutetable\",\r\n + \ \"etag\": \"W/\\\"ab6a7cac-c0f6-4029-b215-61a90b4d28c4\\\"\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Succeeded\",\r\n \"routes\": [\r\n {\r\n + \ \"name\": \"myroute1\",\r\n \"destinationType\": \"CIDR\",\r\n + \ \"destinations\": [\r\n \"20.10.0.0/16\",\r\n \"20.20.0.0/16\"\r\n + \ ],\r\n \"nextHopType\": \"ResourceId\",\r\n \"nextHop\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table_v3000001/providers/Microsoft.Network/azureFirewalls/myfirewall\"\r\n + \ }\r\n ],\r\n \"labels\": [\r\n \"label1\",\r\n \"label2\"\r\n + \ ],\r\n \"associatedConnections\": [],\r\n \"propagatingConnections\": + []\r\n },\r\n \"type\": \"Microsoft.Network/virtualHubs/hubRouteTables\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1034' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:09:32 GMT + etag: + - W/"ab6a7cac-c0f6-4029-b215-61a90b4d28c4" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 2b06334c-5968-4b46-96ea-deaafb2325c5 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table list + Connection: + - keep-alive + ParameterSetName: + - -g --vhub-name + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table_v3000001/providers/Microsoft.Network/virtualHubs/myclitestvhub/routeTables?api-version=2020-04-01 + response: + body: + string: "{\r\n \"value\": []\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '19' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:09:34 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - f5977b70-a3db-46be-b40f-178b62ee8ed1 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table list + Connection: + - keep-alive + ParameterSetName: + - -g --vhub-name + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table_v3000001/providers/Microsoft.Network/virtualHubs/myclitestvhub/hubRouteTables?api-version=2020-04-01 + response: + body: + string: "{\r\n \"value\": [\r\n {\r\n \"name\": \"testroutetable\",\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table_v3000001/providers/Microsoft.Network/virtualHubs/myclitestvhub/hubRouteTables/testroutetable\",\r\n + \ \"etag\": \"W/\\\"ab6a7cac-c0f6-4029-b215-61a90b4d28c4\\\"\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Succeeded\",\r\n \"routes\": + [\r\n {\r\n \"name\": \"myroute1\",\r\n \"destinationType\": + \"CIDR\",\r\n \"destinations\": [\r\n \"20.10.0.0/16\",\r\n + \ \"20.20.0.0/16\"\r\n ],\r\n \"nextHopType\": + \"ResourceId\",\r\n \"nextHop\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table_v3000001/providers/Microsoft.Network/azureFirewalls/myfirewall\"\r\n + \ }\r\n ],\r\n \"labels\": [\r\n \"label1\",\r\n + \ \"label2\"\r\n ],\r\n \"associatedConnections\": [],\r\n + \ \"propagatingConnections\": []\r\n },\r\n \"type\": \"Microsoft.Network/virtualHubs/hubRouteTables\"\r\n + \ }\r\n ]\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1167' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:09:35 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - da7c0a14-d835-495c-8fdb-48d3f3f044b6 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table update + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --labels + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table_v3000001/providers/Microsoft.Network/virtualHubs/myclitestvhub/hubRouteTables/testroutetable?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"testroutetable\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table_v3000001/providers/Microsoft.Network/virtualHubs/myclitestvhub/hubRouteTables/testroutetable\",\r\n + \ \"etag\": \"W/\\\"ab6a7cac-c0f6-4029-b215-61a90b4d28c4\\\"\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Succeeded\",\r\n \"routes\": [\r\n {\r\n + \ \"name\": \"myroute1\",\r\n \"destinationType\": \"CIDR\",\r\n + \ \"destinations\": [\r\n \"20.10.0.0/16\",\r\n \"20.20.0.0/16\"\r\n + \ ],\r\n \"nextHopType\": \"ResourceId\",\r\n \"nextHop\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table_v3000001/providers/Microsoft.Network/azureFirewalls/myfirewall\"\r\n + \ }\r\n ],\r\n \"labels\": [\r\n \"label1\",\r\n \"label2\"\r\n + \ ],\r\n \"associatedConnections\": [],\r\n \"propagatingConnections\": + []\r\n },\r\n \"type\": \"Microsoft.Network/virtualHubs/hubRouteTables\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1034' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:09:36 GMT + etag: + - W/"ab6a7cac-c0f6-4029-b215-61a90b4d28c4" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 42a780fd-fcbe-45ed-a1f2-935b9eeb91d2 + status: + code: 200 + message: OK +- request: + body: 'b''{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table_v3000001/providers/Microsoft.Network/virtualHubs/myclitestvhub/hubRouteTables/testroutetable", + "properties": {"routes": [{"name": "myroute1", "destinationType": "CIDR", "destinations": + ["20.10.0.0/16", "20.20.0.0/16"], "nextHopType": "ResourceId", "nextHop": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table_v3000001/providers/Microsoft.Network/azureFirewalls/myfirewall"}], + "labels": ["label3", "label4"]}, "name": "testroutetable"}''' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table update + Connection: + - keep-alive + Content-Length: + - '661' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -n -g --vhub-name --labels + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table_v3000001/providers/Microsoft.Network/virtualHubs/myclitestvhub/hubRouteTables/testroutetable?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"testroutetable\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table_v3000001/providers/Microsoft.Network/virtualHubs/myclitestvhub/hubRouteTables/testroutetable\",\r\n + \ \"etag\": \"W/\\\"e4f40b2d-d8b7-43aa-a2d6-d1b2eb135ccf\\\"\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Updating\",\r\n \"routes\": [\r\n {\r\n + \ \"name\": \"myroute1\",\r\n \"destinationType\": \"CIDR\",\r\n + \ \"destinations\": [\r\n \"20.10.0.0/16\",\r\n \"20.20.0.0/16\"\r\n + \ ],\r\n \"nextHopType\": \"ResourceId\",\r\n \"nextHop\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table_v3000001/providers/Microsoft.Network/azureFirewalls/myfirewall\"\r\n + \ }\r\n ],\r\n \"labels\": [\r\n \"label3\",\r\n \"label4\"\r\n + \ ],\r\n \"associatedConnections\": [],\r\n \"propagatingConnections\": + []\r\n },\r\n \"type\": \"Microsoft.Network/virtualHubs/hubRouteTables\"\r\n}" + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/da8337cb-a3bc-423e-9482-263420031708?api-version=2020-04-01 + cache-control: + - no-cache + content-length: + - '1033' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:09:37 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - b64aacab-bb8c-4edc-b21f-ba586c5241a6 + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table update + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --labels + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/da8337cb-a3bc-423e-9482-263420031708?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:09:48 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - f8b46acb-debc-4e68-a427-9ffacaed8026 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table update + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --labels + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/da8337cb-a3bc-423e-9482-263420031708?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:09:58 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 81450fa6-2d40-453a-b3b4-49e10716cf97 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table update + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --labels + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/da8337cb-a3bc-423e-9482-263420031708?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:10:09 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - f6d4eb0f-ef2f-4f96-944e-26e410ee8e3d + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table update + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --labels + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/da8337cb-a3bc-423e-9482-263420031708?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:10:20 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 17e14a55-c447-4d99-821f-b38ca0669fc9 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table update + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --labels + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/da8337cb-a3bc-423e-9482-263420031708?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:10:30 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 97e354d1-a23f-4442-8916-9bd8789e4d0b + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table update + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --labels + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/da8337cb-a3bc-423e-9482-263420031708?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:10:40 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - eb77a828-18b3-41b9-b1ea-af82e545d7ca + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table update + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --labels + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/da8337cb-a3bc-423e-9482-263420031708?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:10:51 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - a683c77c-1962-4906-a0a1-73b3c9dae665 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table update + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --labels + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/da8337cb-a3bc-423e-9482-263420031708?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:11:01 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 248c9b00-5782-4528-9eda-f38ce94c00eb + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table update + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --labels + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/da8337cb-a3bc-423e-9482-263420031708?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:11:12 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 1eb05ee1-8629-4491-9f4c-e1ea6b251ce7 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table update + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --labels + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/da8337cb-a3bc-423e-9482-263420031708?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:11:22 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - f33eed86-f848-4ef4-bcb5-dd65e02e92ee + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table update + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --labels + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/da8337cb-a3bc-423e-9482-263420031708?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:11:32 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - a07b177a-6b98-4c10-888d-1e7e4df0951e + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table update + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --labels + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/da8337cb-a3bc-423e-9482-263420031708?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:11:42 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - a387fbdd-109f-4ed3-ad82-ba924ee24a0b + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table update + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --labels + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/da8337cb-a3bc-423e-9482-263420031708?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:11:53 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - f1d9d94e-c744-418a-b075-23addd1612ec + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table update + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --labels + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/da8337cb-a3bc-423e-9482-263420031708?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:12:04 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - d2f6bd61-323b-41c9-9eae-50da14d5f35e + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table update + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --labels + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/da8337cb-a3bc-423e-9482-263420031708?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:12:14 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 30361aca-221d-4f0d-95ae-97843ef653d3 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table update + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --labels + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/da8337cb-a3bc-423e-9482-263420031708?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:12:24 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - e412f5e3-904a-486f-ae13-7640fef6f24b + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table update + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --labels + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/da8337cb-a3bc-423e-9482-263420031708?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:12:35 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 1d00b8ea-eb90-4bb2-a748-8eb2a40f5e45 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table update + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --labels + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/da8337cb-a3bc-423e-9482-263420031708?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:12:45 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 039e4bf1-4854-44a8-a834-69c716b8a318 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table update + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --labels + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/da8337cb-a3bc-423e-9482-263420031708?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:12:55 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 3755c3ff-760e-46ee-a48d-ffead0c10358 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table update + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --labels + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/da8337cb-a3bc-423e-9482-263420031708?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:13:06 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 711e6727-df86-4b3e-9ff0-ff8d298563ea + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table update + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --labels + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/da8337cb-a3bc-423e-9482-263420031708?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:13:16 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 82211da6-c2fe-472e-bb67-662ba6ad2bc3 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table update + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --labels + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/da8337cb-a3bc-423e-9482-263420031708?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"Succeeded\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '29' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:13:26 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 94d78d54-fb71-41ca-86c6-a3f13a3ced22 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table update + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --labels + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table_v3000001/providers/Microsoft.Network/virtualHubs/myclitestvhub/hubRouteTables/testroutetable?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"testroutetable\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table_v3000001/providers/Microsoft.Network/virtualHubs/myclitestvhub/hubRouteTables/testroutetable\",\r\n + \ \"etag\": \"W/\\\"8db4aecd-e3d6-4e40-a64d-0e1cfbcb1eda\\\"\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Succeeded\",\r\n \"routes\": [\r\n {\r\n + \ \"name\": \"myroute1\",\r\n \"destinationType\": \"CIDR\",\r\n + \ \"destinations\": [\r\n \"20.10.0.0/16\",\r\n \"20.20.0.0/16\"\r\n + \ ],\r\n \"nextHopType\": \"ResourceId\",\r\n \"nextHop\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table_v3000001/providers/Microsoft.Network/azureFirewalls/myfirewall\"\r\n + \ }\r\n ],\r\n \"labels\": [\r\n \"label3\",\r\n \"label4\"\r\n + \ ],\r\n \"associatedConnections\": [],\r\n \"propagatingConnections\": + []\r\n },\r\n \"type\": \"Microsoft.Network/virtualHubs/hubRouteTables\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1034' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:13:27 GMT + etag: + - W/"8db4aecd-e3d6-4e40-a64d-0e1cfbcb1eda" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 15c5c7f2-ddb8-4e2e-808a-6c93a76717d1 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table route add + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --route-name --destination-type --destinations --next-hop-type + --next-hop + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table_v3000001/providers/Microsoft.Network/virtualHubs/myclitestvhub/hubRouteTables/testroutetable?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"testroutetable\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table_v3000001/providers/Microsoft.Network/virtualHubs/myclitestvhub/hubRouteTables/testroutetable\",\r\n + \ \"etag\": \"W/\\\"8db4aecd-e3d6-4e40-a64d-0e1cfbcb1eda\\\"\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Succeeded\",\r\n \"routes\": [\r\n {\r\n + \ \"name\": \"myroute1\",\r\n \"destinationType\": \"CIDR\",\r\n + \ \"destinations\": [\r\n \"20.10.0.0/16\",\r\n \"20.20.0.0/16\"\r\n + \ ],\r\n \"nextHopType\": \"ResourceId\",\r\n \"nextHop\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table_v3000001/providers/Microsoft.Network/azureFirewalls/myfirewall\"\r\n + \ }\r\n ],\r\n \"labels\": [\r\n \"label3\",\r\n \"label4\"\r\n + \ ],\r\n \"associatedConnections\": [],\r\n \"propagatingConnections\": + []\r\n },\r\n \"type\": \"Microsoft.Network/virtualHubs/hubRouteTables\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1034' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:13:29 GMT + etag: + - W/"8db4aecd-e3d6-4e40-a64d-0e1cfbcb1eda" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 8be3b4de-8a00-4cc8-8b5f-a0aed19e8ba8 + status: + code: 200 + message: OK +- request: + body: 'b''{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table_v3000001/providers/Microsoft.Network/virtualHubs/myclitestvhub/hubRouteTables/testroutetable", + "properties": {"routes": [{"name": "myroute1", "destinationType": "CIDR", "destinations": + ["20.10.0.0/16", "20.20.0.0/16"], "nextHopType": "ResourceId", "nextHop": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table_v3000001/providers/Microsoft.Network/azureFirewalls/myfirewall"}, + {"name": "myroute2", "destinationType": "CIDR", "destinations": ["20.30.0.0/16", + "20.40.0.0/16"], "nextHopType": "ResourceId", "nextHop": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table_v3000001/providers/Microsoft.Network/azureFirewalls/myfirewall"}], + "labels": ["label3", "label4"]}, "name": "testroutetable"}''' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table route add + Connection: + - keep-alive + Content-Length: + - '1000' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -n -g --vhub-name --route-name --destination-type --destinations --next-hop-type + --next-hop + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table_v3000001/providers/Microsoft.Network/virtualHubs/myclitestvhub/hubRouteTables/testroutetable?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"testroutetable\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table_v3000001/providers/Microsoft.Network/virtualHubs/myclitestvhub/hubRouteTables/testroutetable\",\r\n + \ \"etag\": \"W/\\\"1514bfea-3ded-4e43-8b34-259a644d89ac\\\"\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Updating\",\r\n \"routes\": [\r\n {\r\n + \ \"name\": \"myroute1\",\r\n \"destinationType\": \"CIDR\",\r\n + \ \"destinations\": [\r\n \"20.10.0.0/16\",\r\n \"20.20.0.0/16\"\r\n + \ ],\r\n \"nextHopType\": \"ResourceId\",\r\n \"nextHop\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table_v3000001/providers/Microsoft.Network/azureFirewalls/myfirewall\"\r\n + \ },\r\n {\r\n \"name\": \"myroute2\",\r\n \"destinationType\": + \"CIDR\",\r\n \"destinations\": [\r\n \"20.30.0.0/16\",\r\n + \ \"20.40.0.0/16\"\r\n ],\r\n \"nextHopType\": \"ResourceId\",\r\n + \ \"nextHop\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table_v3000001/providers/Microsoft.Network/azureFirewalls/myfirewall\"\r\n + \ }\r\n ],\r\n \"labels\": [\r\n \"label3\",\r\n \"label4\"\r\n + \ ],\r\n \"associatedConnections\": [],\r\n \"propagatingConnections\": + []\r\n },\r\n \"type\": \"Microsoft.Network/virtualHubs/hubRouteTables\"\r\n}" + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/9d4367c0-bebe-46b3-81ef-c4793a4e34da?api-version=2020-04-01 + cache-control: + - no-cache + content-length: + - '1466' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:13:30 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - c9db963a-48ec-45ae-b4a2-db38a3eed6ca + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table route add + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --route-name --destination-type --destinations --next-hop-type + --next-hop + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/9d4367c0-bebe-46b3-81ef-c4793a4e34da?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:13:41 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 9389efb4-ab68-49a2-8525-0bb886178ce8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table route add + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --route-name --destination-type --destinations --next-hop-type + --next-hop + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/9d4367c0-bebe-46b3-81ef-c4793a4e34da?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:13:51 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 867438f3-76d6-4530-9d34-7fd7dc1d5982 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table route add + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --route-name --destination-type --destinations --next-hop-type + --next-hop + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/9d4367c0-bebe-46b3-81ef-c4793a4e34da?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:14:02 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - b7a91eb7-f8ed-4e66-aeda-f4149837e384 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table route add + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --route-name --destination-type --destinations --next-hop-type + --next-hop + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/9d4367c0-bebe-46b3-81ef-c4793a4e34da?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:14:12 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - d23c5e28-6f13-46f9-bea1-c33d7625df4f + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table route add + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --route-name --destination-type --destinations --next-hop-type + --next-hop + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/9d4367c0-bebe-46b3-81ef-c4793a4e34da?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:14:22 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - fb9b79c9-cfdd-4924-ab88-e3fe3704801a + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table route add + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --route-name --destination-type --destinations --next-hop-type + --next-hop + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/9d4367c0-bebe-46b3-81ef-c4793a4e34da?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:14:32 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 2928d45c-c6d4-4d67-b3ef-684319d334c7 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table route add + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --route-name --destination-type --destinations --next-hop-type + --next-hop + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/9d4367c0-bebe-46b3-81ef-c4793a4e34da?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:14:44 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - d1f63e0a-dea3-4b41-8862-2df09e6683d2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table route add + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --route-name --destination-type --destinations --next-hop-type + --next-hop + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/9d4367c0-bebe-46b3-81ef-c4793a4e34da?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:14:54 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 457c6877-f544-4605-b994-3ea64a2c39b8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table route add + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --route-name --destination-type --destinations --next-hop-type + --next-hop + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/9d4367c0-bebe-46b3-81ef-c4793a4e34da?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:15:04 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 58ce86b6-b12f-428b-a102-117643928ae7 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table route add + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --route-name --destination-type --destinations --next-hop-type + --next-hop + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/9d4367c0-bebe-46b3-81ef-c4793a4e34da?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:15:15 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - f63ed673-e910-4753-a4b6-f756fabdb9ec + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table route add + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --route-name --destination-type --destinations --next-hop-type + --next-hop + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/9d4367c0-bebe-46b3-81ef-c4793a4e34da?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:15:25 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 29c33ae1-72bc-46dd-8a80-be3744b576de + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table route add + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --route-name --destination-type --destinations --next-hop-type + --next-hop + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/9d4367c0-bebe-46b3-81ef-c4793a4e34da?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:15:35 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 315700ef-fa76-46d0-98e0-d07e18909933 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table route add + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --route-name --destination-type --destinations --next-hop-type + --next-hop + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/9d4367c0-bebe-46b3-81ef-c4793a4e34da?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:15:46 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 9d373b82-feb9-4f3f-b6d1-c14c4945a2fb + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table route add + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --route-name --destination-type --destinations --next-hop-type + --next-hop + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/9d4367c0-bebe-46b3-81ef-c4793a4e34da?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:15:56 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - b7c0e2d9-67de-48d7-804c-85860d28c822 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table route add + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --route-name --destination-type --destinations --next-hop-type + --next-hop + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/9d4367c0-bebe-46b3-81ef-c4793a4e34da?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:16:06 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 22f2f254-5b41-4af4-adfd-926ac11323e6 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table route add + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --route-name --destination-type --destinations --next-hop-type + --next-hop + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/9d4367c0-bebe-46b3-81ef-c4793a4e34da?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:16:16 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 600d733e-33cc-4799-8c50-8b86fabb397e + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table route add + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --route-name --destination-type --destinations --next-hop-type + --next-hop + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/9d4367c0-bebe-46b3-81ef-c4793a4e34da?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:16:28 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 2fda6e58-2d17-447f-8884-e3a857b9da83 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table route add + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --route-name --destination-type --destinations --next-hop-type + --next-hop + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/9d4367c0-bebe-46b3-81ef-c4793a4e34da?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:16:38 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - d684d7da-18ce-422d-ab64-10043dc52f47 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table route add + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --route-name --destination-type --destinations --next-hop-type + --next-hop + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/9d4367c0-bebe-46b3-81ef-c4793a4e34da?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:16:48 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 93c194e6-127f-438d-a799-8a4f3583706b + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table route add + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --route-name --destination-type --destinations --next-hop-type + --next-hop + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/9d4367c0-bebe-46b3-81ef-c4793a4e34da?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:16:58 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - ca183ba1-ba9a-4047-867a-6e203e60476c + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table route add + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --route-name --destination-type --destinations --next-hop-type + --next-hop + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/9d4367c0-bebe-46b3-81ef-c4793a4e34da?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:17:09 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 46a5b8fc-ee05-4b09-b531-1eb75e50edab + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table route add + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --route-name --destination-type --destinations --next-hop-type + --next-hop + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/9d4367c0-bebe-46b3-81ef-c4793a4e34da?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"Succeeded\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '29' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:17:19 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 07c2cb8e-14d6-4ec0-94a6-5f043162d42c + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table route add + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --route-name --destination-type --destinations --next-hop-type + --next-hop + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table_v3000001/providers/Microsoft.Network/virtualHubs/myclitestvhub/hubRouteTables/testroutetable?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"testroutetable\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table_v3000001/providers/Microsoft.Network/virtualHubs/myclitestvhub/hubRouteTables/testroutetable\",\r\n + \ \"etag\": \"W/\\\"34b830d1-2f9f-40b4-a6f3-74c8ea12891d\\\"\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Succeeded\",\r\n \"routes\": [\r\n {\r\n + \ \"name\": \"myroute1\",\r\n \"destinationType\": \"CIDR\",\r\n + \ \"destinations\": [\r\n \"20.10.0.0/16\",\r\n \"20.20.0.0/16\"\r\n + \ ],\r\n \"nextHopType\": \"ResourceId\",\r\n \"nextHop\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table_v3000001/providers/Microsoft.Network/azureFirewalls/myfirewall\"\r\n + \ },\r\n {\r\n \"name\": \"myroute2\",\r\n \"destinationType\": + \"CIDR\",\r\n \"destinations\": [\r\n \"20.30.0.0/16\",\r\n + \ \"20.40.0.0/16\"\r\n ],\r\n \"nextHopType\": \"ResourceId\",\r\n + \ \"nextHop\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table_v3000001/providers/Microsoft.Network/azureFirewalls/myfirewall\"\r\n + \ }\r\n ],\r\n \"labels\": [\r\n \"label3\",\r\n \"label4\"\r\n + \ ],\r\n \"associatedConnections\": [],\r\n \"propagatingConnections\": + []\r\n },\r\n \"type\": \"Microsoft.Network/virtualHubs/hubRouteTables\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1467' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:17:19 GMT + etag: + - W/"34b830d1-2f9f-40b4-a6f3-74c8ea12891d" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 9c6c9e5f-fd04-40cc-8691-bce1aacb8346 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table route remove + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --index + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table_v3000001/providers/Microsoft.Network/virtualHubs/myclitestvhub/hubRouteTables/testroutetable?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"testroutetable\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table_v3000001/providers/Microsoft.Network/virtualHubs/myclitestvhub/hubRouteTables/testroutetable\",\r\n + \ \"etag\": \"W/\\\"34b830d1-2f9f-40b4-a6f3-74c8ea12891d\\\"\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Succeeded\",\r\n \"routes\": [\r\n {\r\n + \ \"name\": \"myroute1\",\r\n \"destinationType\": \"CIDR\",\r\n + \ \"destinations\": [\r\n \"20.10.0.0/16\",\r\n \"20.20.0.0/16\"\r\n + \ ],\r\n \"nextHopType\": \"ResourceId\",\r\n \"nextHop\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table_v3000001/providers/Microsoft.Network/azureFirewalls/myfirewall\"\r\n + \ },\r\n {\r\n \"name\": \"myroute2\",\r\n \"destinationType\": + \"CIDR\",\r\n \"destinations\": [\r\n \"20.30.0.0/16\",\r\n + \ \"20.40.0.0/16\"\r\n ],\r\n \"nextHopType\": \"ResourceId\",\r\n + \ \"nextHop\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table_v3000001/providers/Microsoft.Network/azureFirewalls/myfirewall\"\r\n + \ }\r\n ],\r\n \"labels\": [\r\n \"label3\",\r\n \"label4\"\r\n + \ ],\r\n \"associatedConnections\": [],\r\n \"propagatingConnections\": + []\r\n },\r\n \"type\": \"Microsoft.Network/virtualHubs/hubRouteTables\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1467' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:17:21 GMT + etag: + - W/"34b830d1-2f9f-40b4-a6f3-74c8ea12891d" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 27dd289f-1fff-4301-838b-368a6a6359a9 + status: + code: 200 + message: OK +- request: + body: 'b''{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table_v3000001/providers/Microsoft.Network/virtualHubs/myclitestvhub/hubRouteTables/testroutetable", + "properties": {"routes": [{"name": "myroute2", "destinationType": "CIDR", "destinations": + ["20.30.0.0/16", "20.40.0.0/16"], "nextHopType": "ResourceId", "nextHop": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table_v3000001/providers/Microsoft.Network/azureFirewalls/myfirewall"}], + "labels": ["label3", "label4"]}, "name": "testroutetable"}''' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table route remove + Connection: + - keep-alive + Content-Length: + - '661' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -n -g --vhub-name --index + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table_v3000001/providers/Microsoft.Network/virtualHubs/myclitestvhub/hubRouteTables/testroutetable?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"testroutetable\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table_v3000001/providers/Microsoft.Network/virtualHubs/myclitestvhub/hubRouteTables/testroutetable\",\r\n + \ \"etag\": \"W/\\\"db989327-613b-42d0-bbdd-dbd95cf4feff\\\"\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Updating\",\r\n \"routes\": [\r\n {\r\n + \ \"name\": \"myroute2\",\r\n \"destinationType\": \"CIDR\",\r\n + \ \"destinations\": [\r\n \"20.30.0.0/16\",\r\n \"20.40.0.0/16\"\r\n + \ ],\r\n \"nextHopType\": \"ResourceId\",\r\n \"nextHop\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table_v3000001/providers/Microsoft.Network/azureFirewalls/myfirewall\"\r\n + \ }\r\n ],\r\n \"labels\": [\r\n \"label3\",\r\n \"label4\"\r\n + \ ],\r\n \"associatedConnections\": [],\r\n \"propagatingConnections\": + []\r\n },\r\n \"type\": \"Microsoft.Network/virtualHubs/hubRouteTables\"\r\n}" + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/e97050a9-d697-4cb8-b214-ef20cee54e8f?api-version=2020-04-01 + cache-control: + - no-cache + content-length: + - '1033' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:17:22 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - f0507f17-3c4f-4a1d-bc04-da44a816250c + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table route remove + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --index + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/e97050a9-d697-4cb8-b214-ef20cee54e8f?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:17:32 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 4edb93f1-ea0e-448a-85df-c72e912bf1f2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table route remove + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --index + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/e97050a9-d697-4cb8-b214-ef20cee54e8f?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:17:43 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - bc3d9a5e-05cd-4346-ab0e-99ae3d6928ae + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table route remove + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --index + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/e97050a9-d697-4cb8-b214-ef20cee54e8f?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:17:54 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - bc3ae0f5-b179-4006-8916-991b6576b2d9 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table route remove + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --index + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/e97050a9-d697-4cb8-b214-ef20cee54e8f?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:18:04 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - cc4df512-7f59-48bd-b96c-63c0200a1452 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table route remove + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --index + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/e97050a9-d697-4cb8-b214-ef20cee54e8f?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:18:14 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 242ed33e-0b75-4009-ad8f-a2d11faf0306 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table route remove + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --index + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/e97050a9-d697-4cb8-b214-ef20cee54e8f?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:18:25 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 01033e6b-98e1-4c82-9601-185f52831859 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table route remove + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --index + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/e97050a9-d697-4cb8-b214-ef20cee54e8f?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:18:35 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 5367906c-27d9-47a1-a248-fe1314310223 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table route remove + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --index + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/e97050a9-d697-4cb8-b214-ef20cee54e8f?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:18:45 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 00a18718-a2cd-4db2-af52-119e7672fd93 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table route remove + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --index + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/e97050a9-d697-4cb8-b214-ef20cee54e8f?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:18:56 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 6943c4eb-ae53-443b-b5f2-e71e06e1ad09 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table route remove + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --index + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/e97050a9-d697-4cb8-b214-ef20cee54e8f?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:19:06 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - b47233f7-63b4-4fb2-9074-1e1d6bcc56b4 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table route remove + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --index + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/e97050a9-d697-4cb8-b214-ef20cee54e8f?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:19:17 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - ba1e04d8-6fac-4c75-92c5-5eb460b313ea + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table route remove + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --index + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/e97050a9-d697-4cb8-b214-ef20cee54e8f?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:19:27 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - a30f6551-9360-4c02-90f2-e60d2b697c66 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table route remove + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --index + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/e97050a9-d697-4cb8-b214-ef20cee54e8f?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:19:38 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 2202e2d9-95f4-4851-b349-6d12b44d4910 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table route remove + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --index + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/e97050a9-d697-4cb8-b214-ef20cee54e8f?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:19:49 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 06546857-4dfd-4935-a0bc-e0d42b68e880 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table route remove + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --index + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/e97050a9-d697-4cb8-b214-ef20cee54e8f?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:19:59 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 696bb24d-3010-4613-825b-1b66382dae51 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table route remove + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --index + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/e97050a9-d697-4cb8-b214-ef20cee54e8f?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:20:09 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 81a7f57e-e214-4a12-8102-720dbe8c6393 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table route remove + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --index + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/e97050a9-d697-4cb8-b214-ef20cee54e8f?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:20:20 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - e6340323-512e-4eda-b3f9-1ab840065381 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table route remove + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --index + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/e97050a9-d697-4cb8-b214-ef20cee54e8f?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:20:30 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 08c7d176-acf8-4d43-b016-cfb17c2a7e2c + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table route remove + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --index + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/e97050a9-d697-4cb8-b214-ef20cee54e8f?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:20:40 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - fbcaa910-6195-4746-a5a2-6f3f3fe1d371 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table route remove + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --index + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/e97050a9-d697-4cb8-b214-ef20cee54e8f?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:20:50 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 48219206-bbf7-40fa-9e23-cd53b5698e46 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table route remove + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --index + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/e97050a9-d697-4cb8-b214-ef20cee54e8f?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:21:01 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 4ca0a359-0ecd-49ee-9ff7-1632238acfeb + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table route remove + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --index + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/e97050a9-d697-4cb8-b214-ef20cee54e8f?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"Succeeded\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '29' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:21:12 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - cb1c2b40-f944-4afc-8547-530717610d38 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table route remove + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name --index + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table_v3000001/providers/Microsoft.Network/virtualHubs/myclitestvhub/hubRouteTables/testroutetable?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"testroutetable\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table_v3000001/providers/Microsoft.Network/virtualHubs/myclitestvhub/hubRouteTables/testroutetable\",\r\n + \ \"etag\": \"W/\\\"da11cb28-781e-4394-9239-b225a0136fda\\\"\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Succeeded\",\r\n \"routes\": [\r\n {\r\n + \ \"name\": \"myroute2\",\r\n \"destinationType\": \"CIDR\",\r\n + \ \"destinations\": [\r\n \"20.30.0.0/16\",\r\n \"20.40.0.0/16\"\r\n + \ ],\r\n \"nextHopType\": \"ResourceId\",\r\n \"nextHop\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table_v3000001/providers/Microsoft.Network/azureFirewalls/myfirewall\"\r\n + \ }\r\n ],\r\n \"labels\": [\r\n \"label3\",\r\n \"label4\"\r\n + \ ],\r\n \"associatedConnections\": [],\r\n \"propagatingConnections\": + []\r\n },\r\n \"type\": \"Microsoft.Network/virtualHubs/hubRouteTables\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1034' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:21:12 GMT + etag: + - W/"da11cb28-781e-4394-9239-b225a0136fda" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 22ffa671-d5ab-4f55-85b1-031ca10e880d + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table_v3000001/providers/Microsoft.Network/virtualHubs/myclitestvhub/hubRouteTables/testroutetable?api-version=2020-04-01 + response: + body: + string: "{\r\n \"name\": \"testroutetable\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table_v3000001/providers/Microsoft.Network/virtualHubs/myclitestvhub/hubRouteTables/testroutetable\",\r\n + \ \"etag\": \"W/\\\"da11cb28-781e-4394-9239-b225a0136fda\\\"\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Succeeded\",\r\n \"routes\": [\r\n {\r\n + \ \"name\": \"myroute2\",\r\n \"destinationType\": \"CIDR\",\r\n + \ \"destinations\": [\r\n \"20.30.0.0/16\",\r\n \"20.40.0.0/16\"\r\n + \ ],\r\n \"nextHopType\": \"ResourceId\",\r\n \"nextHop\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table_v3000001/providers/Microsoft.Network/azureFirewalls/myfirewall\"\r\n + \ }\r\n ],\r\n \"labels\": [\r\n \"label3\",\r\n \"label4\"\r\n + \ ],\r\n \"associatedConnections\": [],\r\n \"propagatingConnections\": + []\r\n },\r\n \"type\": \"Microsoft.Network/virtualHubs/hubRouteTables\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1034' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:21:13 GMT + etag: + - W/"da11cb28-781e-4394-9239-b225a0136fda" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 9af8f2ad-b1e1-4d0a-98f5-2551c74b9ac2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -n -g --vhub-name + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + accept-language: + - en-US + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table_v3000001/providers/Microsoft.Network/virtualHubs/myclitestvhub/hubRouteTables/testroutetable?api-version=2020-04-01 + response: + body: + string: '' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/a7613f73-da4d-4d86-9be9-eb7e0b5d781b?api-version=2020-04-01 + cache-control: + - no-cache + content-length: + - '0' + date: + - Wed, 10 Jun 2020 08:21:13 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operationResults/a7613f73-da4d-4d86-9be9-eb7e0b5d781b?api-version=2020-04-01 + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - b1de72e0-8f5c-480f-bf89-5170df798d27 + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub route-table delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --vhub-name + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/a7613f73-da4d-4d86-9be9-eb7e0b5d781b?api-version=2020-04-01 + response: + body: + string: "{\r\n \"status\": \"Succeeded\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '29' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Jun 2020 08:21:25 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 29fbb15f-d100-46b2-99a4-b67d81e63d6a + status: + code: 200 + message: OK +version: 1 diff --git a/src/virtual-wan/azext_vwan/tests/latest/recordings/test_azure_vwan_vhub_basic_scenario.yaml b/src/virtual-wan/azext_vwan/tests/latest/recordings/test_azure_vwan_vhub_basic_scenario.yaml index a780eabe091..3079e0984af 100644 --- a/src/virtual-wan/azext_vwan/tests/latest/recordings/test_azure_vwan_vhub_basic_scenario.yaml +++ b/src/virtual-wan/azext_vwan/tests/latest/recordings/test_azure_vwan_vhub_basic_scenario.yaml @@ -14,23 +14,23 @@ interactions: - -n -g --type User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-resource/4.0.0 Azure-SDK-For-Python AZURECLI/2.0.76 + azure-mgmt-resource/6.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_azure_vwan_route_table000001?api-version=2019-07-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table000001","name":"cli_test_azure_vwan_route_table000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2019-11-12T05:42:27Z"},"properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table000001","name":"cli_test_azure_vwan_route_table000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2020-06-04T07:18:50Z","StorageType":"Standard_LRS","type":"test"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '428' + - '471' content-type: - application/json; charset=utf-8 date: - - Tue, 12 Nov 2019 05:42:33 GMT + - Thu, 04 Jun 2020 07:18:55 GMT expires: - '-1' pragma: @@ -63,7 +63,7 @@ interactions: - -n -g --type User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.76 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 accept-language: - en-US method: PUT @@ -71,22 +71,24 @@ interactions: response: body: string: "{\r\n \"name\": \"clitestvwan\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table000001/providers/Microsoft.Network/virtualWans/clitestvwan\",\r\n - \ \"etag\": \"W/\\\"14ba7863-8dc2-47d4-aa8e-3eafb7cac853\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"6c80fda2-1392-4f41-aed2-2ce2cd1dd923\\\"\",\r\n \"type\": \"Microsoft.Network/virtualWans\",\r\n \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \"disableVpnEncryption\": false,\r\n \"allowBranchToBranchTraffic\": true,\r\n \"allowVnetToVnetTraffic\": - false,\r\n \"office365LocalBreakoutCategory\": \"None\"\r\n }\r\n}" + true,\r\n \"office365LocalBreakoutCategory\": \"None\"\r\n }\r\n}" headers: + azure-asyncnotification: + - Enabled azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/fe74ad81-6189-4a83-a66c-f3c4a2791ad8?api-version=2018-08-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/b8b65b13-357f-4993-9aee-0411ee64491d?api-version=2018-08-01 cache-control: - no-cache content-length: - - '586' + - '585' content-type: - application/json; charset=utf-8 date: - - Tue, 12 Nov 2019 05:42:36 GMT + - Thu, 04 Jun 2020 07:19:00 GMT expires: - '-1' pragma: @@ -99,9 +101,9 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - bd51ed53-d7b8-4a10-a233-fa45a75d93ee + - 8a578ecf-4649-48e5-8eaa-eb175cabc13d x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1199' status: code: 201 message: Created @@ -120,9 +122,9 @@ interactions: - -n -g --type User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.76 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/fe74ad81-6189-4a83-a66c-f3c4a2791ad8?api-version=2018-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/b8b65b13-357f-4993-9aee-0411ee64491d?api-version=2018-08-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -134,7 +136,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 12 Nov 2019 05:42:47 GMT + - Thu, 04 Jun 2020 07:19:11 GMT expires: - '-1' pragma: @@ -151,7 +153,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 9ce9ad13-e5f6-4e67-bfe9-a4f4aae805e9 + - 5ec724bf-ce5e-40fb-a485-d3d8db3472e0 status: code: 200 message: OK @@ -170,28 +172,28 @@ interactions: - -n -g --type User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.76 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table000001/providers/Microsoft.Network/virtualWans/clitestvwan?api-version=2018-08-01 response: body: string: "{\r\n \"name\": \"clitestvwan\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table000001/providers/Microsoft.Network/virtualWans/clitestvwan\",\r\n - \ \"etag\": \"W/\\\"ccaa4b16-02fe-4465-85b0-2cbbc8e0e291\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"4b86403e-7bb3-455d-a9e0-7c93d0694885\\\"\",\r\n \"type\": \"Microsoft.Network/virtualWans\",\r\n \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"disableVpnEncryption\": false,\r\n \"allowBranchToBranchTraffic\": true,\r\n \"allowVnetToVnetTraffic\": - false,\r\n \"office365LocalBreakoutCategory\": \"None\"\r\n }\r\n}" + true,\r\n \"office365LocalBreakoutCategory\": \"None\"\r\n }\r\n}" headers: cache-control: - no-cache content-length: - - '587' + - '586' content-type: - application/json; charset=utf-8 date: - - Tue, 12 Nov 2019 05:42:48 GMT + - Thu, 04 Jun 2020 07:19:11 GMT etag: - - W/"ccaa4b16-02fe-4465-85b0-2cbbc8e0e291" + - W/"4b86403e-7bb3-455d-a9e0-7c93d0694885" expires: - '-1' pragma: @@ -208,7 +210,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 810ac7ea-674b-44e4-bf34-6cab919cebe1 + - b1270405-fa6f-4d1f-8dd4-49f5e7e8a4b6 status: code: 200 message: OK @@ -232,7 +234,7 @@ interactions: - -g -n --vwan --address-prefix -l --sku User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.76 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 accept-language: - en-US method: PUT @@ -240,23 +242,26 @@ interactions: response: body: string: "{\r\n \"name\": \"clitestvhub\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table000001/providers/Microsoft.Network/virtualHubs/clitestvhub\",\r\n - \ \"etag\": \"W/\\\"296fbad8-bb8b-40d7-9392-e577a091b8be\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"c58af4aa-3402-4fd7-b759-75d951e02d76\\\"\",\r\n \"type\": \"Microsoft.Network/virtualHubs\",\r\n \"location\": \"southcentralus\",\r\n \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \"virtualNetworkConnections\": - [],\r\n \"addressPrefix\": \"10.0.0.0/24\",\r\n \"routeTable\": {\r\n - \ \"routes\": []\r\n },\r\n \"virtualWan\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table000001/providers/Microsoft.Network/virtualWans/clitestvwan\"\r\n + [],\r\n \"addressPrefix\": \"10.0.0.0/24\",\r\n \"virtualRouterIps\": + [],\r\n \"routeTable\": {\r\n \"routes\": []\r\n },\r\n \"virtualWan\": + {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table000001/providers/Microsoft.Network/virtualWans/clitestvwan\"\r\n \ }\r\n }\r\n}" headers: + azure-asyncnotification: + - Enabled azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/southcentralus/operations/763e336c-0980-406e-a072-c38f52db6592?api-version=2018-08-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/southcentralus/operations/f60d89e5-d34d-456f-b476-54979b220871?api-version=2018-08-01 cache-control: - no-cache content-length: - - '795' + - '824' content-type: - application/json; charset=utf-8 date: - - Tue, 12 Nov 2019 05:42:52 GMT + - Thu, 04 Jun 2020 07:19:17 GMT expires: - '-1' pragma: @@ -269,9 +274,9 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 906f9372-f56b-40ea-8fff-670048b2e2d7 + - b17f0f60-8ad0-464f-b89b-9b5d8cc17ab2 x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1199' status: code: 201 message: Created @@ -290,9 +295,159 @@ interactions: - -g -n --vwan --address-prefix -l --sku User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.76 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/southcentralus/operations/f60d89e5-d34d-456f-b476-54979b220871?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 04 Jun 2020 07:19:28 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - de4054ee-24da-4e17-bf55-baa2c6813a59 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vwan --address-prefix -l --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/southcentralus/operations/f60d89e5-d34d-456f-b476-54979b220871?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 04 Jun 2020 07:19:39 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 7bae97bb-965c-4f2f-a1e9-efae90d0c767 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vwan --address-prefix -l --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/southcentralus/operations/f60d89e5-d34d-456f-b476-54979b220871?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 04 Jun 2020 07:19:50 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 497751d9-4da9-4b9a-888a-c4643b6b0a01 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vwan --address-prefix -l --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/southcentralus/operations/763e336c-0980-406e-a072-c38f52db6592?api-version=2018-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/southcentralus/operations/f60d89e5-d34d-456f-b476-54979b220871?api-version=2018-08-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -304,7 +459,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 12 Nov 2019 05:43:03 GMT + - Thu, 04 Jun 2020 07:20:01 GMT expires: - '-1' pragma: @@ -321,7 +476,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 3f60e56b-4068-4029-9f7c-ae9e9d8fd8ec + - 1725cfb0-cfbb-436b-890c-848f8c9e984a status: code: 200 message: OK @@ -340,9 +495,9 @@ interactions: - -g -n --vwan --address-prefix -l --sku User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.76 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/southcentralus/operations/763e336c-0980-406e-a072-c38f52db6592?api-version=2018-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/southcentralus/operations/f60d89e5-d34d-456f-b476-54979b220871?api-version=2018-08-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -354,7 +509,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 12 Nov 2019 05:43:13 GMT + - Thu, 04 Jun 2020 07:20:12 GMT expires: - '-1' pragma: @@ -371,7 +526,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - fdaaa9c7-23f9-4179-b6dd-4c2884b36722 + - 768d293c-67a9-4f74-88c2-e1c03e1270cc status: code: 200 message: OK @@ -390,9 +545,9 @@ interactions: - -g -n --vwan --address-prefix -l --sku User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.76 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/southcentralus/operations/763e336c-0980-406e-a072-c38f52db6592?api-version=2018-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/southcentralus/operations/f60d89e5-d34d-456f-b476-54979b220871?api-version=2018-08-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -404,7 +559,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 12 Nov 2019 05:43:25 GMT + - Thu, 04 Jun 2020 07:20:22 GMT expires: - '-1' pragma: @@ -421,7 +576,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 7b861677-20ae-47c8-bcf5-92b1d445ed55 + - 6218050b-3b6a-4614-becc-7550df6a2de2 status: code: 200 message: OK @@ -440,9 +595,9 @@ interactions: - -g -n --vwan --address-prefix -l --sku User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.76 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/southcentralus/operations/763e336c-0980-406e-a072-c38f52db6592?api-version=2018-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/southcentralus/operations/f60d89e5-d34d-456f-b476-54979b220871?api-version=2018-08-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -454,7 +609,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 12 Nov 2019 05:43:36 GMT + - Thu, 04 Jun 2020 07:20:33 GMT expires: - '-1' pragma: @@ -471,7 +626,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 7dc609c1-b348-45fb-b53a-7ed850cf26eb + - ad1a6c41-4096-4238-a077-524087fbe44b status: code: 200 message: OK @@ -490,9 +645,9 @@ interactions: - -g -n --vwan --address-prefix -l --sku User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.76 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/southcentralus/operations/763e336c-0980-406e-a072-c38f52db6592?api-version=2018-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/southcentralus/operations/f60d89e5-d34d-456f-b476-54979b220871?api-version=2018-08-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -504,7 +659,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 12 Nov 2019 05:43:46 GMT + - Thu, 04 Jun 2020 07:20:44 GMT expires: - '-1' pragma: @@ -521,7 +676,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 97985f81-9097-4534-b4d2-602450b883aa + - 50360c49-e8cb-47d7-b003-2aef635307cc status: code: 200 message: OK @@ -540,9 +695,9 @@ interactions: - -g -n --vwan --address-prefix -l --sku User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.76 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/southcentralus/operations/763e336c-0980-406e-a072-c38f52db6592?api-version=2018-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/southcentralus/operations/f60d89e5-d34d-456f-b476-54979b220871?api-version=2018-08-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -554,7 +709,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 12 Nov 2019 05:43:58 GMT + - Thu, 04 Jun 2020 07:20:55 GMT expires: - '-1' pragma: @@ -571,7 +726,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - e6637994-e088-45c6-9275-ea57603f8c23 + - 7c6a9663-7792-4363-baba-b7ac55936d5f status: code: 200 message: OK @@ -590,9 +745,9 @@ interactions: - -g -n --vwan --address-prefix -l --sku User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.76 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/southcentralus/operations/763e336c-0980-406e-a072-c38f52db6592?api-version=2018-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/southcentralus/operations/f60d89e5-d34d-456f-b476-54979b220871?api-version=2018-08-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -604,7 +759,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 12 Nov 2019 05:44:09 GMT + - Thu, 04 Jun 2020 07:21:06 GMT expires: - '-1' pragma: @@ -621,7 +776,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 44176069-3644-4708-8bbd-5b4d8cd0c38d + - c900f7b4-1a6d-462b-a2bc-39e1007d472b status: code: 200 message: OK @@ -640,9 +795,9 @@ interactions: - -g -n --vwan --address-prefix -l --sku User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.76 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/southcentralus/operations/763e336c-0980-406e-a072-c38f52db6592?api-version=2018-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/southcentralus/operations/f60d89e5-d34d-456f-b476-54979b220871?api-version=2018-08-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -654,7 +809,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 12 Nov 2019 05:44:20 GMT + - Thu, 04 Jun 2020 07:21:17 GMT expires: - '-1' pragma: @@ -671,7 +826,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - a34c367a-1dcb-4dfa-9320-c4cb5739e11e + - 7fffd038-7b41-45fb-9349-84b14c1bb8f5 status: code: 200 message: OK @@ -690,9 +845,9 @@ interactions: - -g -n --vwan --address-prefix -l --sku User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.76 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/southcentralus/operations/763e336c-0980-406e-a072-c38f52db6592?api-version=2018-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/southcentralus/operations/f60d89e5-d34d-456f-b476-54979b220871?api-version=2018-08-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -704,7 +859,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 12 Nov 2019 05:44:30 GMT + - Thu, 04 Jun 2020 07:21:28 GMT expires: - '-1' pragma: @@ -721,7 +876,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - d8c9b945-1b42-4705-b7c0-c1b2a942cc7e + - 6019e739-cae1-4683-b05e-1bde656baefc status: code: 200 message: OK @@ -740,9 +895,9 @@ interactions: - -g -n --vwan --address-prefix -l --sku User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.76 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/southcentralus/operations/763e336c-0980-406e-a072-c38f52db6592?api-version=2018-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/southcentralus/operations/f60d89e5-d34d-456f-b476-54979b220871?api-version=2018-08-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -754,7 +909,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 12 Nov 2019 05:44:42 GMT + - Thu, 04 Jun 2020 07:21:38 GMT expires: - '-1' pragma: @@ -771,7 +926,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 7a72b51c-473a-43bf-8492-3986d24b0485 + - cf089c6e-9a12-443b-adaa-7afa665618b7 status: code: 200 message: OK @@ -790,9 +945,9 @@ interactions: - -g -n --vwan --address-prefix -l --sku User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.76 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/southcentralus/operations/763e336c-0980-406e-a072-c38f52db6592?api-version=2018-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/southcentralus/operations/f60d89e5-d34d-456f-b476-54979b220871?api-version=2018-08-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -804,7 +959,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 12 Nov 2019 05:44:54 GMT + - Thu, 04 Jun 2020 07:21:50 GMT expires: - '-1' pragma: @@ -821,7 +976,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - ce619e5d-2ca6-4011-9dca-29d191b00d0d + - c54f43b5-fd05-48e1-afaf-a47bd1b6b202 status: code: 200 message: OK @@ -840,9 +995,9 @@ interactions: - -g -n --vwan --address-prefix -l --sku User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.76 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/southcentralus/operations/763e336c-0980-406e-a072-c38f52db6592?api-version=2018-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/southcentralus/operations/f60d89e5-d34d-456f-b476-54979b220871?api-version=2018-08-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -854,7 +1009,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 12 Nov 2019 05:45:04 GMT + - Thu, 04 Jun 2020 07:22:01 GMT expires: - '-1' pragma: @@ -871,7 +1026,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - ed72e1a4-c6c0-4ea8-9bc4-28746da2e126 + - 01e10318-8840-473a-b05d-f8390097d75b status: code: 200 message: OK @@ -890,9 +1045,9 @@ interactions: - -g -n --vwan --address-prefix -l --sku User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.76 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/southcentralus/operations/763e336c-0980-406e-a072-c38f52db6592?api-version=2018-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/southcentralus/operations/f60d89e5-d34d-456f-b476-54979b220871?api-version=2018-08-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -904,7 +1059,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 12 Nov 2019 05:45:16 GMT + - Thu, 04 Jun 2020 07:22:11 GMT expires: - '-1' pragma: @@ -921,7 +1076,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 1d069ee4-5ea5-4ccd-9503-62b8f483ffb8 + - 9e84a922-b948-4209-bc1a-9103050e117f status: code: 200 message: OK @@ -940,9 +1095,109 @@ interactions: - -g -n --vwan --address-prefix -l --sku User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.76 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/southcentralus/operations/763e336c-0980-406e-a072-c38f52db6592?api-version=2018-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/southcentralus/operations/f60d89e5-d34d-456f-b476-54979b220871?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 04 Jun 2020 07:22:22 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 057777cb-2948-42b9-8a1c-c27f47dff5d2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vwan --address-prefix -l --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/southcentralus/operations/f60d89e5-d34d-456f-b476-54979b220871?api-version=2018-08-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 04 Jun 2020 07:22:34 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - aedf21a4-77d3-4a8c-8d9b-269c6d646309 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vhub create + Connection: + - keep-alive + ParameterSetName: + - -g -n --vwan --address-prefix -l --sku + User-Agent: + - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/southcentralus/operations/f60d89e5-d34d-456f-b476-54979b220871?api-version=2018-08-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -954,7 +1209,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 12 Nov 2019 05:45:27 GMT + - Thu, 04 Jun 2020 07:22:45 GMT expires: - '-1' pragma: @@ -971,7 +1226,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 409435f2-8d02-4da4-924a-21616fd05311 + - dca82a27-b34a-4b8d-abe2-2446348f26e2 status: code: 200 message: OK @@ -990,27 +1245,28 @@ interactions: - -g -n --vwan --address-prefix -l --sku User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.76 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table000001/providers/Microsoft.Network/virtualHubs/clitestvhub?api-version=2018-08-01 response: body: string: "{\r\n \"name\": \"clitestvhub\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table000001/providers/Microsoft.Network/virtualHubs/clitestvhub\",\r\n - \ \"etag\": \"W/\\\"a7d2edc2-8fdf-4461-917a-935e29a76446\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"ade67656-0da8-4776-814a-5d2115726e8c\\\"\",\r\n \"type\": \"Microsoft.Network/virtualHubs\",\r\n \"location\": \"southcentralus\",\r\n \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"virtualNetworkConnections\": - [],\r\n \"addressPrefix\": \"10.0.0.0/24\",\r\n \"routeTable\": {\r\n - \ \"routes\": []\r\n },\r\n \"virtualWan\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table000001/providers/Microsoft.Network/virtualWans/clitestvwan\"\r\n + [],\r\n \"addressPrefix\": \"10.0.0.0/24\",\r\n \"virtualRouterIps\": + [],\r\n \"routeTable\": {\r\n \"routes\": []\r\n },\r\n \"virtualWan\": + {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table000001/providers/Microsoft.Network/virtualWans/clitestvwan\"\r\n \ }\r\n }\r\n}" headers: cache-control: - no-cache content-length: - - '796' + - '825' content-type: - application/json; charset=utf-8 date: - - Tue, 12 Nov 2019 05:45:28 GMT + - Thu, 04 Jun 2020 07:22:46 GMT expires: - '-1' pragma: @@ -1027,7 +1283,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - d35877a3-3883-4e98-9602-c0b9d97aa223 + - d7a31702-c0ed-43ca-93e3-acbfe9c33274 status: code: 200 message: OK @@ -1046,7 +1302,7 @@ interactions: - -g -n --sku User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.76 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 accept-language: - en-US method: GET @@ -1054,21 +1310,22 @@ interactions: response: body: string: "{\r\n \"name\": \"clitestvhub\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table000001/providers/Microsoft.Network/virtualHubs/clitestvhub\",\r\n - \ \"etag\": \"W/\\\"a7d2edc2-8fdf-4461-917a-935e29a76446\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"ade67656-0da8-4776-814a-5d2115726e8c\\\"\",\r\n \"type\": \"Microsoft.Network/virtualHubs\",\r\n \"location\": \"southcentralus\",\r\n \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"virtualNetworkConnections\": - [],\r\n \"addressPrefix\": \"10.0.0.0/24\",\r\n \"routeTable\": {\r\n - \ \"routes\": []\r\n },\r\n \"virtualWan\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table000001/providers/Microsoft.Network/virtualWans/clitestvwan\"\r\n + [],\r\n \"addressPrefix\": \"10.0.0.0/24\",\r\n \"virtualRouterIps\": + [],\r\n \"routeTable\": {\r\n \"routes\": []\r\n },\r\n \"virtualWan\": + {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table000001/providers/Microsoft.Network/virtualWans/clitestvwan\"\r\n \ }\r\n }\r\n}" headers: cache-control: - no-cache content-length: - - '796' + - '825' content-type: - application/json; charset=utf-8 date: - - Tue, 12 Nov 2019 05:45:30 GMT + - Thu, 04 Jun 2020 07:22:47 GMT expires: - '-1' pragma: @@ -1085,7 +1342,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 792ffbbd-e5d4-4acf-893d-2bb3c92a65d2 + - 223a1840-9a43-4a03-be50-890e40d081a7 status: code: 200 message: OK @@ -1111,7 +1368,7 @@ interactions: - -g -n --sku User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.76 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 accept-language: - en-US method: PUT @@ -1119,23 +1376,24 @@ interactions: response: body: string: "{\r\n \"name\": \"clitestvhub\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table000001/providers/Microsoft.Network/virtualHubs/clitestvhub\",\r\n - \ \"etag\": \"W/\\\"bfca48b8-8450-49dc-8988-750e61e5e80f\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"9af1f75b-7b67-4c1e-8f25-c3b3e418bc85\\\"\",\r\n \"type\": \"Microsoft.Network/virtualHubs\",\r\n \"location\": \"southcentralus\",\r\n \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"virtualNetworkConnections\": - [],\r\n \"addressPrefix\": \"10.0.0.0/24\",\r\n \"routeTable\": {\r\n - \ \"routes\": []\r\n },\r\n \"virtualWan\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table000001/providers/Microsoft.Network/virtualWans/clitestvwan\"\r\n + [],\r\n \"addressPrefix\": \"10.0.0.0/24\",\r\n \"virtualRouterIps\": + [],\r\n \"routeTable\": {\r\n \"routes\": []\r\n },\r\n \"virtualWan\": + {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table000001/providers/Microsoft.Network/virtualWans/clitestvwan\"\r\n \ }\r\n }\r\n}" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/southcentralus/operations/6b58c060-4788-4c18-a89b-e8cba70aecb0?api-version=2018-08-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/southcentralus/operations/e1e97478-df40-4659-ab20-79bed2cb456b?api-version=2018-08-01 cache-control: - no-cache content-length: - - '796' + - '825' content-type: - application/json; charset=utf-8 date: - - Tue, 12 Nov 2019 05:45:32 GMT + - Thu, 04 Jun 2020 07:22:48 GMT expires: - '-1' pragma: @@ -1152,9 +1410,9 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 5b96ad7d-5200-49c0-8d9b-a66a244bc4a9 + - 4e9079f1-bdab-4921-ac35-0c6691e346a2 x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1197' status: code: 200 message: OK @@ -1173,9 +1431,9 @@ interactions: - -g -n --sku User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.76 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/southcentralus/operations/6b58c060-4788-4c18-a89b-e8cba70aecb0?api-version=2018-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/southcentralus/operations/e1e97478-df40-4659-ab20-79bed2cb456b?api-version=2018-08-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -1187,7 +1445,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 12 Nov 2019 05:46:03 GMT + - Thu, 04 Jun 2020 07:23:19 GMT expires: - '-1' pragma: @@ -1204,7 +1462,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 6249149a-5918-46c7-95ba-5b24b4db78c2 + - 0d0a851e-3adc-49d6-97ed-e61858d4629d status: code: 200 message: OK @@ -1223,27 +1481,28 @@ interactions: - -g -n --sku User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.76 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table000001/providers/Microsoft.Network/virtualHubs/clitestvhub?api-version=2018-08-01 response: body: string: "{\r\n \"name\": \"clitestvhub\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table000001/providers/Microsoft.Network/virtualHubs/clitestvhub\",\r\n - \ \"etag\": \"W/\\\"bfca48b8-8450-49dc-8988-750e61e5e80f\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"9af1f75b-7b67-4c1e-8f25-c3b3e418bc85\\\"\",\r\n \"type\": \"Microsoft.Network/virtualHubs\",\r\n \"location\": \"southcentralus\",\r\n \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"virtualNetworkConnections\": - [],\r\n \"addressPrefix\": \"10.0.0.0/24\",\r\n \"routeTable\": {\r\n - \ \"routes\": []\r\n },\r\n \"virtualWan\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table000001/providers/Microsoft.Network/virtualWans/clitestvwan\"\r\n + [],\r\n \"addressPrefix\": \"10.0.0.0/24\",\r\n \"virtualRouterIps\": + [],\r\n \"routeTable\": {\r\n \"routes\": []\r\n },\r\n \"virtualWan\": + {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table000001/providers/Microsoft.Network/virtualWans/clitestvwan\"\r\n \ }\r\n }\r\n}" headers: cache-control: - no-cache content-length: - - '796' + - '825' content-type: - application/json; charset=utf-8 date: - - Tue, 12 Nov 2019 05:46:03 GMT + - Thu, 04 Jun 2020 07:23:20 GMT expires: - '-1' pragma: @@ -1260,7 +1519,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 444a44d0-89f6-48e2-8583-94778a498c50 + - 8deba9cc-55cd-4783-a5e7-678a480fbd5d status: code: 200 message: OK @@ -1279,7 +1538,7 @@ interactions: - -g -n --type User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.76 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 accept-language: - en-US method: GET @@ -1287,24 +1546,24 @@ interactions: response: body: string: "{\r\n \"name\": \"clitestvwan\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table000001/providers/Microsoft.Network/virtualWans/clitestvwan\",\r\n - \ \"etag\": \"W/\\\"0ec97c3b-eed0-4cb2-8775-b1edec0222ef\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"30952b1e-18f6-495f-bfd1-087449f1b948\\\"\",\r\n \"type\": \"Microsoft.Network/virtualWans\",\r\n \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"disableVpnEncryption\": false,\r\n \"allowBranchToBranchTraffic\": true,\r\n \"allowVnetToVnetTraffic\": - false,\r\n \"office365LocalBreakoutCategory\": \"None\",\r\n \"virtualHubs\": + true,\r\n \"office365LocalBreakoutCategory\": \"None\",\r\n \"virtualHubs\": [\r\n {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table000001/providers/Microsoft.Network/virtualHubs/clitestvhub\"\r\n \ }\r\n ]\r\n }\r\n}" headers: cache-control: - no-cache content-length: - - '847' + - '846' content-type: - application/json; charset=utf-8 date: - - Tue, 12 Nov 2019 05:46:05 GMT + - Thu, 04 Jun 2020 07:23:21 GMT etag: - - W/"0ec97c3b-eed0-4cb2-8775-b1edec0222ef" + - W/"30952b1e-18f6-495f-bfd1-087449f1b948" expires: - '-1' pragma: @@ -1321,14 +1580,14 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - d63336aa-c732-4f1f-a2c3-a62d18a62d32 + - c6c60607-61ed-4930-87c3-32386b58662b status: code: 200 message: OK - request: body: 'b''{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table000001/providers/Microsoft.Network/virtualWans/clitestvwan", "location": "westus", "properties": {"disableVpnEncryption": false, "allowBranchToBranchTraffic": - true, "allowVnetToVnetTraffic": false, "office365LocalBreakoutCategory": "None", + true, "allowVnetToVnetTraffic": true, "office365LocalBreakoutCategory": "None", "provisioningState": "Succeeded"}}''' headers: Accept: @@ -1340,14 +1599,14 @@ interactions: Connection: - keep-alive Content-Length: - - '418' + - '417' Content-Type: - application/json; charset=utf-8 ParameterSetName: - -g -n --type User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.76 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 accept-language: - en-US method: PUT @@ -1355,24 +1614,24 @@ interactions: response: body: string: "{\r\n \"name\": \"clitestvwan\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table000001/providers/Microsoft.Network/virtualWans/clitestvwan\",\r\n - \ \"etag\": \"W/\\\"f86513b8-f94e-41dd-9f22-8457c96f06ef\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"2e3d5114-f0d3-45c9-86d5-4e8dd3ab4cc1\\\"\",\r\n \"type\": \"Microsoft.Network/virtualWans\",\r\n \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"disableVpnEncryption\": false,\r\n \"allowBranchToBranchTraffic\": true,\r\n \"allowVnetToVnetTraffic\": - false,\r\n \"office365LocalBreakoutCategory\": \"None\",\r\n \"virtualHubs\": + true,\r\n \"office365LocalBreakoutCategory\": \"None\",\r\n \"virtualHubs\": [\r\n {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table000001/providers/Microsoft.Network/virtualHubs/clitestvhub\"\r\n \ }\r\n ]\r\n }\r\n}" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/f5e50ef3-dfcb-46b5-ba6f-ea1e33edc4f3?api-version=2018-08-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/2a96f4e9-f557-4fcb-8005-07c40d142a71?api-version=2018-08-01 cache-control: - no-cache content-length: - - '847' + - '846' content-type: - application/json; charset=utf-8 date: - - Tue, 12 Nov 2019 05:46:06 GMT + - Thu, 04 Jun 2020 07:23:22 GMT expires: - '-1' pragma: @@ -1389,7 +1648,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - e9872fad-296c-4e68-b634-7fb1508f4f9a + - 523cf2d0-ce17-4308-bff2-c62bf0f3ed2a x-ms-ratelimit-remaining-subscription-writes: - '1198' status: @@ -1410,9 +1669,9 @@ interactions: - -g -n --type User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.76 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/f5e50ef3-dfcb-46b5-ba6f-ea1e33edc4f3?api-version=2018-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/2a96f4e9-f557-4fcb-8005-07c40d142a71?api-version=2018-08-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -1424,7 +1683,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 12 Nov 2019 05:46:37 GMT + - Thu, 04 Jun 2020 07:23:52 GMT expires: - '-1' pragma: @@ -1441,7 +1700,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - eda466e3-4514-4d0e-a409-8976b14d5e5b + - d88cc3ee-30a0-4570-9f6c-56126bc2d360 status: code: 200 message: OK @@ -1460,30 +1719,30 @@ interactions: - -g -n --type User-Agent: - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.76 + networkmanagementclient/2.2.0 Azure-SDK-For-Python AZURECLI/2.0.79 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table000001/providers/Microsoft.Network/virtualWans/clitestvwan?api-version=2018-08-01 response: body: string: "{\r\n \"name\": \"clitestvwan\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table000001/providers/Microsoft.Network/virtualWans/clitestvwan\",\r\n - \ \"etag\": \"W/\\\"f86513b8-f94e-41dd-9f22-8457c96f06ef\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"2e3d5114-f0d3-45c9-86d5-4e8dd3ab4cc1\\\"\",\r\n \"type\": \"Microsoft.Network/virtualWans\",\r\n \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"disableVpnEncryption\": false,\r\n \"allowBranchToBranchTraffic\": true,\r\n \"allowVnetToVnetTraffic\": - false,\r\n \"office365LocalBreakoutCategory\": \"None\",\r\n \"virtualHubs\": + true,\r\n \"office365LocalBreakoutCategory\": \"None\",\r\n \"virtualHubs\": [\r\n {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vwan_route_table000001/providers/Microsoft.Network/virtualHubs/clitestvhub\"\r\n \ }\r\n ]\r\n }\r\n}" headers: cache-control: - no-cache content-length: - - '847' + - '846' content-type: - application/json; charset=utf-8 date: - - Tue, 12 Nov 2019 05:46:37 GMT + - Thu, 04 Jun 2020 07:23:53 GMT etag: - - W/"f86513b8-f94e-41dd-9f22-8457c96f06ef" + - W/"2e3d5114-f0d3-45c9-86d5-4e8dd3ab4cc1" expires: - '-1' pragma: @@ -1500,7 +1759,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 8c7c728e-d9d4-4495-9905-12a0c45f6db9 + - 1b55b296-7134-4933-9d4d-cf8c47d3deda status: code: 200 message: OK diff --git a/src/virtual-wan/azext_vwan/tests/latest/test_azure_vhub_route_table_scenario.py b/src/virtual-wan/azext_vwan/tests/latest/test_azure_vhub_route_table_scenario.py index 23e05965b0c..f1e6efe1f8c 100644 --- a/src/virtual-wan/azext_vwan/tests/latest/test_azure_vhub_route_table_scenario.py +++ b/src/virtual-wan/azext_vwan/tests/latest/test_azure_vhub_route_table_scenario.py @@ -3,25 +3,25 @@ # Licensed under the MIT License. See License.txt in the project root for license information. # -------------------------------------------------------------------------------------------- -from azure.cli.testsdk import (ScenarioTest, ResourceGroupPreparer, StorageAccountPreparer, JMESPathCheck, NoneCheck, - api_version_constraint) +from azure.cli.testsdk import (ScenarioTest, ResourceGroupPreparer) class AzureVWanRouteTableScenario(ScenarioTest): - @ResourceGroupPreparer(name_prefix='cli_test_azure_vwan_route_table') + @ResourceGroupPreparer(name_prefix='cli_test_azure_vwan_route_table', location='eastus') def test_azure_vwan_route_table(self, resource_group): self.kwargs.update({ 'vwan': 'testvwan', 'vhub': 'myclitestvhub', + 'vpngateway': 'mycligateway', 'routetable': 'testroutetable', - 'rg': 1015 + 'rg': resource_group }) - ''' + # workaround due to service limitation. It should be fixed in the future. self.cmd('network vwan create -n {vwan} -g {rg}') - self.cmd('network vhub create -g {rg} -n {vhub} --vwan {vwan} --address-prefix 10.0.0.0/24 -l SouthCentralUS') - ''' + self.cmd('network vhub create -g {rg} -n {vhub} --vwan {vwan} --address-prefix 10.0.0.0/24 -l eastus') + self.cmd('network vpn-gateway create -n {vpngateway} -g {rg} --vhub {vhub} -l eastus') self.cmd('network vhub route-table create -n {routetable} -g {rg} --vhub-name {vhub} --connections All_Vnets --destination-type CIDR --destinations 10.4.0.0/16 10.6.0.0/16 --next-hop-type IPAddress --next-hops 10.0.0.68', checks=[ self.check('name', self.kwargs['routetable']) @@ -49,3 +49,52 @@ def test_azure_vwan_route_table(self, resource_group): ]) self.cmd('network vhub route-table delete -n {routetable} -g {rg} --vhub-name {vhub}') + + @ResourceGroupPreparer(name_prefix='cli_test_azure_vwan_route_table_v3', location='eastus') + def test_azure_vwan_route_table_v3(self, resource_group): + self.kwargs.update({ + 'vwan': 'testvwan', + 'vhub': 'myclitestvhub', + 'firewall': 'myfirewall', + 'vpngateway': 'mycligateway', + 'routetable': 'testroutetable', + 'route1': 'myroute1', + 'route2': 'myroute2', + 'rg': resource_group + }) + + # workaround due to service limitation. It should be fixed in the future. + self.cmd('network vwan create -n {vwan} -g {rg}') + self.cmd('network vhub create -g {rg} -n {vhub} --vwan {vwan} --address-prefix 10.0.0.0/24 -l eastus') + firewall = self.cmd('network firewall create -g {rg} -n {firewall} --vhub {vhub} --sku AZFW_Hub').get_output_in_json() + self.cmd('network vpn-gateway create -n {vpngateway} -g {rg} --vhub {vhub} -l eastus') + + self.kwargs['firewall_id'] = firewall['id'] + self.cmd('network vhub route-table create -n {routetable} -g {rg} --vhub-name {vhub} --route-name {route1} --destination-type CIDR --destinations 20.10.0.0/16 20.20.0.0/16 --next-hop-type ResourceId --next-hop {firewall_id} --labels label1 label2', checks=[ + self.check('provisioningState', 'Succeeded'), + self.check('name', self.kwargs['routetable']) + ]) + + self.cmd('network vhub route-table show -n {routetable} -g {rg} --vhub-name {vhub}', checks=[ + self.check('name', self.kwargs['routetable']) + ]) + + self.cmd('network vhub route-table list -g {rg} --vhub-name {vhub}', checks=[ + self.check('@[0].name', self.kwargs['routetable']), + self.check('length(@)', 1) + ]) + + self.cmd('network vhub route-table update -n {routetable} -g {rg} --vhub-name {vhub} --labels label3 label4', checks=[ + self.check('labels[0]', 'label3'), + self.check('labels[1]', 'label4') + ]) + + self.cmd('network vhub route-table route add -n {routetable} -g {rg} --vhub-name {vhub} --route-name {route2} --destination-type CIDR --destinations 20.30.0.0/16 20.40.0.0/16 --next-hop-type ResourceId --next-hop {firewall_id}', checks=[ + self.check('length(@)', 2) + ]) + + self.cmd('network vhub route-table route remove -n {routetable} -g {rg} --vhub-name {vhub} --index 1', checks=[ + self.check('length(@)', 1) + ]) + + self.cmd('network vhub route-table delete -n {routetable} -g {rg} --vhub-name {vhub}') diff --git a/src/virtual-wan/azext_vwan/tests/latest/test_azure_vwan_vhub_commands.py b/src/virtual-wan/azext_vwan/tests/latest/test_azure_vwan_vhub_commands.py index 93a943548fd..a0a1b71e956 100644 --- a/src/virtual-wan/azext_vwan/tests/latest/test_azure_vwan_vhub_commands.py +++ b/src/virtual-wan/azext_vwan/tests/latest/test_azure_vwan_vhub_commands.py @@ -3,8 +3,13 @@ # Licensed under the MIT License. See License.txt in the project root for license information. # -------------------------------------------------------------------------------------------- -from azure.cli.testsdk import (ScenarioTest, ResourceGroupPreparer, StorageAccountPreparer, JMESPathCheck, NoneCheck, - api_version_constraint) +import os +import uuid +import mock +from azure.cli.testsdk import (ScenarioTest, ResourceGroupPreparer, StorageAccountPreparer, + JMESPathCheck, NoneCheck, api_version_constraint) + +TEST_DIR = os.path.abspath(os.path.join(os.path.abspath(__file__), '..')) class AzureVWanVHubScenario(ScenarioTest): @@ -40,3 +45,141 @@ def test_azure_vhub_connection_basic_scenario(self, resource_group): self.check('provisioningState', 'Succeeded'), self.check('name', self.kwargs.get('connection')) ]) + + @ResourceGroupPreparer(name_prefix='cli_test_azure_vpn_server_config', location='westcentralus') + def test_azure_vpn_server_config_basic_scenario(self, resource_group): + self.kwargs.update({ + 'vserverconfig': 'clitestserverconfig', + 'cert_file': os.path.join(TEST_DIR, 'data', 'ApplicationGatewayAuthCert.cer'), + 'pem_file': os.path.join(TEST_DIR, 'data', 'ApplicationGatewayAuthCert.pem'), + 'rg': resource_group, + 'aad_tenant': 'https://login.microsoftonline.com/0ab2c4f4-81e6-44cc-a0b2-b3a47a1443f4', + 'aad_issuer': 'https://sts.windows.net/0ab2c4f4-81e6-44cc-a0b2-b3a47a1443f4/', + 'aad_audience': 'a21fce82-76af-45e6-8583-a08cb3b956f9' + }) + + self.cmd('network vpn-server-config create -n {vserverconfig} -g {rg} ' + '--vpn-client-root-certs "{cert_file}" ' + '--vpn-client-revoked-certs "{pem_file}"', + checks=[ + self.check('name', '{vserverconfig}'), + self.exists('vpnClientRootCertificates[0].publicCertData'), + self.exists('vpnClientRevokedCertificates[0].thumbprint'), + self.check('vpnAuthenticationTypes[0]', 'Certificate') + ]) + + self.cmd('network vpn-server-config set -n {vserverconfig} -g {rg} --auth-types Radius ' + '--radius-client-root-certs "{cert_file}" ' + '--radius-server-root-certs "{pem_file}" ' + '--radius-servers address=test1 secret=clitest score=10 ' + '--radius-servers address=test2 secret=clitest score=10') + + self.cmd('network vpn-server-config wait -n {vserverconfig} -g {rg} --created') + self.cmd('network vpn-server-config set -n {vserverconfig} -g {rg} --auth-types AAD ' + '--aad-audience {aad_audience} ' + '--aad-issuer {aad_issuer} ' + '--aad-tenant {aad_tenant} ' + '--no-wait') + + self.cmd('network vpn-server-config wait -n {vserverconfig} -g {rg} --created') + + self.cmd('network vpn-server-config show -n {vserverconfig} -g {rg}', checks=[ + self.check('vpnAuthenticationTypes[0]', 'AAD'), + self.check('aadAuthenticationParameters.aadTenant', '{aad_tenant}'), + self.check('aadAuthenticationParameters.aadAudience', '{aad_audience}'), + self.check('aadAuthenticationParameters.aadIssuer', '{aad_issuer}') + ]) + + self.cmd('network vpn-server-config list -g {rg}', checks=[ + self.check('length(@)', 1) + ]) + + self.cmd('network vpn-server-config list', checks=[ + self.check('length(@)', 1) + ]) + + self.cmd('network vpn-server-config ipsec-policy add -n {vserverconfig} -g {rg} ' + '--ipsec-encryption AES256 --ipsec-integrity SHA256 ' + '--sa-lifetime 86471 --sa-data-size 429496 --ike-encryption AES256 ' + '--ike-integrity SHA384 --dh-group DHGroup14 --pfs-group PFS14', + checks=[ + self.check('@[0].saLifeTimeSeconds', 86471), + self.check('@[0].saDataSizeKilobytes', 429496), + self.check('@[0].ipsecEncryption', 'AES256'), + self.check('@[0].ipsecIntegrity', 'SHA256'), + self.check('@[0].ikeEncryption', 'AES256'), + self.check('@[0].ikeIntegrity', 'SHA384'), + self.check('@[0].dhGroup', 'DHGroup14'), + self.check('@[0].pfsGroup', 'PFS14') + ]) + + self.cmd('network vpn-server-config ipsec-policy list -n {vserverconfig} -g {rg}', checks=[ + self.check('length(@)', 1) + ]) + + self.cmd('network vpn-server-config ipsec-policy remove -n {vserverconfig} -g {rg} --index 0') + + self.cmd('network vpn-server-config ipsec-policy add -n {vserverconfig} -g {rg} ' + '--ipsec-encryption AES256 --ipsec-integrity SHA256 ' + '--sa-lifetime 86471 --sa-data-size 429496 --ike-encryption AES256 ' + '--ike-integrity SHA384 --dh-group DHGroup14 --pfs-group PFS14', + checks=[ + self.check('@[0].saLifeTimeSeconds', 86471), + self.check('@[0].saDataSizeKilobytes', 429496), + self.check('@[0].ipsecEncryption', 'AES256'), + self.check('@[0].ipsecIntegrity', 'SHA256'), + self.check('@[0].ikeEncryption', 'AES256'), + self.check('@[0].ikeIntegrity', 'SHA384'), + self.check('@[0].dhGroup', 'DHGroup14'), + self.check('@[0].pfsGroup', 'PFS14') + ]) + + self.cmd('network vpn-server-config ipsec-policy list -n {vserverconfig} -g {rg}', checks=[ + self.check('length(@)', 1) + ]) + + self.cmd('network vpn-server-config delete -n {vserverconfig} -g {rg} -y') + with self.assertRaisesRegexp(SystemExit, '3'): + self.cmd('network vpn-server-config show -n {vserverconfig} -g {rg}') + + @ResourceGroupPreparer(name_prefix='cli_test_azure_vhub_connection', location='westus') + def test_azure_p2s_vpn_gateway_basic_scenario(self, resource_group): + self.kwargs.update({ + 'vwan': 'clitestvwan', + 'vwan2': 'clitestvwan2', + 'vhub': 'clitestvhub', + 'vhub2': 'clitestvhub2', + 'cert_file': os.path.join(TEST_DIR, 'data', 'ApplicationGatewayAuthCert.cer'), + 'pem_file': os.path.join(TEST_DIR, 'data', 'ApplicationGatewayAuthCert.pem'), + 'vserverconfig': 'clitestserverconfig', + 'vserverconfig2': 'clitestserverconfig2', + 'vp2sgateway': 'clitestvp2sgateway', + 'rg': resource_group + }) + + self.cmd('network vwan create -n {vwan} -g {rg} --type Standard') + self.cmd('network vhub create -g {rg} -n {vhub} --vwan {vwan} --address-prefix 10.5.0.0/16 -l westus --sku Standard') + self.cmd('network vpn-server-config create -n {vserverconfig} -g {rg} ' + '--vpn-client-root-certs "{cert_file}" ' + '--vpn-client-revoked-certs "{pem_file}"') + self.cmd('network vpn-server-config create -n {vserverconfig2} -g {rg} ' + '--vpn-client-root-certs "{cert_file}" ' + '--vpn-client-revoked-certs "{pem_file}"') + self.cmd('az network p2s-vpn-gateway create -g {rg} -n {vp2sgateway} --scale-unit 2 ' + '--vhub {vhub} --vpn-server-config {vserverconfig} --address-space 10.0.0.0/24 11.0.0.0/24 --no-wait') + self.cmd('az network p2s-vpn-gateway wait -g {rg} -n {vp2sgateway} --created') + self.cmd('az network p2s-vpn-gateway update -g {rg} -n {vp2sgateway} --scale-unit 3 ' + '--vpn-server-config {vserverconfig2} --address-space 13.0.0.0/24 12.0.0.0/24') + self.cmd('az network p2s-vpn-gateway list -g {rg}', checks=[ + self.check('length(@)', 1) + ]) + self.cmd('az network p2s-vpn-gateway list', checks=[ + self.check('length(@)', 1) + ]) + self.cmd('az network p2s-vpn-gateway show -g {rg} -n {vp2sgateway}', checks=[ + self.check('length(p2SconnectionConfigurations[0].vpnClientAddressPool.addressPrefixes)', 2), + self.check('vpnGatewayScaleUnit', 3) + ]) + self.cmd('az network p2s-vpn-gateway delete -g {rg} -n {vp2sgateway} -y') + with self.assertRaisesRegexp(SystemExit, '3'): + self.cmd('az network p2s-vpn-gateway show -g {rg} -n {vp2sgateway}') diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/models.py b/src/virtual-wan/azext_vwan/vendored_sdks/models.py deleted file mode 100644 index 1ee2c295f51..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/models.py +++ /dev/null @@ -1,7 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -------------------------------------------------------------------------- -from .v2018_08_01.models import * \ No newline at end of file diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/network_management_client.py b/src/virtual-wan/azext_vwan/vendored_sdks/network_management_client.py deleted file mode 100644 index 1d13d18293f..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/network_management_client.py +++ /dev/null @@ -1,2518 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.service_client import SDKClient -from msrest import Serializer, Deserializer -from msrestazure import AzureConfiguration - -from azure.profiles import KnownProfiles, ProfileDefinition -from azure.profiles.multiapiclient import MultiApiClientMixin -from .version import VERSION - - -class NetworkManagementClientConfiguration(AzureConfiguration): - """Configuration for NetworkManagementClient - Note that all parameters used to create this instance are saved as instance - attributes. - - :param credentials: Credentials needed for the client to connect to Azure. - :type credentials: :mod:`A msrestazure Credentials - object` - :param subscription_id: The subscription credentials which uniquely - identify the Microsoft Azure subscription. The subscription ID forms part - of the URI for every service call. - :type subscription_id: str - :param str base_url: Service URL - """ - - def __init__(self, credentials, subscription_id, base_url=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 base_url: - base_url = 'https://management.azure.com' - - super(NetworkManagementClientConfiguration, self).__init__(base_url) - - self.add_user_agent('networkmanagementclient/{}'.format(VERSION)) - self.add_user_agent('Azure-SDK-For-Python') - - self.credentials = credentials - self.subscription_id = subscription_id - - -class NetworkManagementClient(MultiApiClientMixin, SDKClient): - """Network Client - - This ready contains multiple API versions, to help you deal with all Azure clouds - (Azure Stack, Azure Government, Azure China, etc.). - By default, uses latest API version available on public Azure. - For production, you should stick a particular api-version and/or profile. - The profile sets a mapping between the operation group and an API version. - The api-version parameter sets the default API version if the operation - group is not described in the profile. - - :ivar config: Configuration for client. - :vartype config: NetworkManagementClientConfiguration - - :param credentials: Credentials needed for the client to connect to Azure. - :type credentials: :mod:`A msrestazure Credentials - object` - :param subscription_id: 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 str api_version: API version to use if no profile is provided, or if - missing in profile. - :param str base_url: Service URL - :param profile: A profile definition, from KnownProfiles to dict. - :type profile: azure.profiles.KnownProfiles - """ - - DEFAULT_API_VERSION = '2018-08-01' - _PROFILE_TAG = "azure.mgmt.network.NetworkManagementClient" - LATEST_PROFILE = ProfileDefinition({ - _PROFILE_TAG: { - None: DEFAULT_API_VERSION - }}, - _PROFILE_TAG + " latest" - ) - - def __init__(self, credentials, subscription_id, api_version=None, base_url=None, profile=KnownProfiles.default): - self.config = NetworkManagementClientConfiguration(credentials, subscription_id, base_url) - super(NetworkManagementClient, self).__init__( - credentials, - self.config, - api_version=api_version, - profile=profile - ) - - def check_dns_name_availability( - self, location, domain_name_label, custom_headers=None, raw=False, **operation_config): - """Checks whether a domain name in the cloudapp.azure.com zone is - available for use. - - :param location: The location of the domain name. - :type location: str - :param domain_name_label: The domain name to be verified. It must - conform to the following regular expression: - ^[a-z][a-z0-9-]{1,61}[a-z0-9]$. - :type domain_name_label: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: :class:`DnsNameAvailabilityResult - ` or - :class:`ClientRawResponse` if - raw=true - :rtype: :class:`DnsNameAvailabilityResult - ` or - :class:`ClientRawResponse` - :raises: :class:`CloudError` - """ - api_version = self._get_api_version('check_dns_name_availability') - if api_version == '2018-08-01': - from .v2018_08_01 import NetworkManagementClient as ClientClass - elif api_version == '2018-07-01': - from .v2018_07_01 import NetworkManagementClient as ClientClass - elif api_version == '2018-06-01': - from .v2018_06_01 import NetworkManagementClient as ClientClass - elif api_version == '2018-04-01': - from .v2018_04_01 import NetworkManagementClient as ClientClass - elif api_version == '2018-02-01': - from .v2018_02_01 import NetworkManagementClient as ClientClass - elif api_version == '2018-01-01': - from .v2018_01_01 import NetworkManagementClient as ClientClass - elif api_version == '2017-11-01': - from .v2017_11_01 import NetworkManagementClient as ClientClass - elif api_version == '2017-10-01': - from .v2017_10_01 import NetworkManagementClient as ClientClass - elif api_version == '2017-09-01': - from .v2017_09_01 import NetworkManagementClient as ClientClass - elif api_version == '2017-08-01': - from .v2017_08_01 import NetworkManagementClient as ClientClass - elif api_version == '2017-06-01': - from .v2017_06_01 import NetworkManagementClient as ClientClass - elif api_version == '2017-03-01': - from .v2017_03_01 import NetworkManagementClient as ClientClass - elif api_version == '2016-12-01': - from .v2016_12_01 import NetworkManagementClient as ClientClass - elif api_version == '2016-09-01': - from .v2016_09_01 import NetworkManagementClient as ClientClass - elif api_version == '2015-06-15': - from .v2015_06_15 import NetworkManagementClient as ClientClass - localclient = ClientClass(self.config.credentials, - self.config.subscription_id, - self.config.base_url) - return localclient.check_dns_name_availability(location, - domain_name_label, - custom_headers, - raw, - **operation_config) - -############ Generated from here ############ - - @classmethod - def _models_dict(cls, api_version): - return {k: v for k, v in cls.models(api_version).__dict__.items() if isinstance(v, type)} - - @classmethod - def models(cls, api_version=DEFAULT_API_VERSION): - """Module depends on the API version: - - * 2015-06-15: :mod:`v2015_06_15.models` - * 2016-09-01: :mod:`v2016_09_01.models` - * 2016-12-01: :mod:`v2016_12_01.models` - * 2017-03-01: :mod:`v2017_03_01.models` - * 2017-06-01: :mod:`v2017_06_01.models` - * 2017-08-01: :mod:`v2017_08_01.models` - * 2017-09-01: :mod:`v2017_09_01.models` - * 2017-10-01: :mod:`v2017_10_01.models` - * 2017-11-01: :mod:`v2017_11_01.models` - * 2018-01-01: :mod:`v2018_01_01.models` - * 2018-02-01: :mod:`v2018_02_01.models` - * 2018-04-01: :mod:`v2018_04_01.models` - * 2018-06-01: :mod:`v2018_06_01.models` - * 2018-07-01: :mod:`v2018_07_01.models` - * 2018-08-01: :mod:`v2018_08_01.models` - """ - if api_version == '2015-06-15': - from .v2015_06_15 import models - return models - elif api_version == '2016-09-01': - from .v2016_09_01 import models - return models - elif api_version == '2016-12-01': - from .v2016_12_01 import models - return models - elif api_version == '2017-03-01': - from .v2017_03_01 import models - return models - elif api_version == '2017-06-01': - from .v2017_06_01 import models - return models - elif api_version == '2017-08-01': - from .v2017_08_01 import models - return models - elif api_version == '2017-09-01': - from .v2017_09_01 import models - return models - elif api_version == '2017-10-01': - from .v2017_10_01 import models - return models - elif api_version == '2017-11-01': - from .v2017_11_01 import models - return models - elif api_version == '2018-01-01': - from .v2018_01_01 import models - return models - elif api_version == '2018-02-01': - from .v2018_02_01 import models - return models - elif api_version == '2018-04-01': - from .v2018_04_01 import models - return models - elif api_version == '2018-06-01': - from .v2018_06_01 import models - return models - elif api_version == '2018-07-01': - from .v2018_07_01 import models - return models - elif api_version == '2018-08-01': - from .v2018_08_01 import models - return models - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - - @property - def application_gateways(self): - """Instance depends on the API version: - - * 2015-06-15: :class:`ApplicationGatewaysOperations` - * 2016-09-01: :class:`ApplicationGatewaysOperations` - * 2016-12-01: :class:`ApplicationGatewaysOperations` - * 2017-03-01: :class:`ApplicationGatewaysOperations` - * 2017-06-01: :class:`ApplicationGatewaysOperations` - * 2017-08-01: :class:`ApplicationGatewaysOperations` - * 2017-09-01: :class:`ApplicationGatewaysOperations` - * 2017-10-01: :class:`ApplicationGatewaysOperations` - * 2017-11-01: :class:`ApplicationGatewaysOperations` - * 2018-01-01: :class:`ApplicationGatewaysOperations` - * 2018-02-01: :class:`ApplicationGatewaysOperations` - * 2018-04-01: :class:`ApplicationGatewaysOperations` - * 2018-06-01: :class:`ApplicationGatewaysOperations` - * 2018-07-01: :class:`ApplicationGatewaysOperations` - * 2018-08-01: :class:`ApplicationGatewaysOperations` - """ - api_version = self._get_api_version('application_gateways') - if api_version == '2015-06-15': - from .v2015_06_15.operations import ApplicationGatewaysOperations as OperationClass - elif api_version == '2016-09-01': - from .v2016_09_01.operations import ApplicationGatewaysOperations as OperationClass - elif api_version == '2016-12-01': - from .v2016_12_01.operations import ApplicationGatewaysOperations as OperationClass - elif api_version == '2017-03-01': - from .v2017_03_01.operations import ApplicationGatewaysOperations as OperationClass - elif api_version == '2017-06-01': - from .v2017_06_01.operations import ApplicationGatewaysOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import ApplicationGatewaysOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import ApplicationGatewaysOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import ApplicationGatewaysOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import ApplicationGatewaysOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import ApplicationGatewaysOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import ApplicationGatewaysOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import ApplicationGatewaysOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import ApplicationGatewaysOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import ApplicationGatewaysOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import ApplicationGatewaysOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def application_security_groups(self): - """Instance depends on the API version: - - * 2017-09-01: :class:`ApplicationSecurityGroupsOperations` - * 2017-10-01: :class:`ApplicationSecurityGroupsOperations` - * 2017-11-01: :class:`ApplicationSecurityGroupsOperations` - * 2018-01-01: :class:`ApplicationSecurityGroupsOperations` - * 2018-02-01: :class:`ApplicationSecurityGroupsOperations` - * 2018-04-01: :class:`ApplicationSecurityGroupsOperations` - * 2018-06-01: :class:`ApplicationSecurityGroupsOperations` - * 2018-07-01: :class:`ApplicationSecurityGroupsOperations` - * 2018-08-01: :class:`ApplicationSecurityGroupsOperations` - """ - api_version = self._get_api_version('application_security_groups') - if api_version == '2017-09-01': - from .v2017_09_01.operations import ApplicationSecurityGroupsOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import ApplicationSecurityGroupsOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import ApplicationSecurityGroupsOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import ApplicationSecurityGroupsOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import ApplicationSecurityGroupsOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import ApplicationSecurityGroupsOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import ApplicationSecurityGroupsOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import ApplicationSecurityGroupsOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import ApplicationSecurityGroupsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def available_delegations(self): - """Instance depends on the API version: - - * 2018-08-01: :class:`AvailableDelegationsOperations` - """ - api_version = self._get_api_version('available_delegations') - if api_version == '2018-08-01': - from .v2018_08_01.operations import AvailableDelegationsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def available_endpoint_services(self): - """Instance depends on the API version: - - * 2017-06-01: :class:`AvailableEndpointServicesOperations` - * 2017-08-01: :class:`AvailableEndpointServicesOperations` - * 2017-09-01: :class:`AvailableEndpointServicesOperations` - * 2017-10-01: :class:`AvailableEndpointServicesOperations` - * 2017-11-01: :class:`AvailableEndpointServicesOperations` - * 2018-01-01: :class:`AvailableEndpointServicesOperations` - * 2018-02-01: :class:`AvailableEndpointServicesOperations` - * 2018-04-01: :class:`AvailableEndpointServicesOperations` - * 2018-06-01: :class:`AvailableEndpointServicesOperations` - * 2018-07-01: :class:`AvailableEndpointServicesOperations` - * 2018-08-01: :class:`AvailableEndpointServicesOperations` - """ - api_version = self._get_api_version('available_endpoint_services') - if api_version == '2017-06-01': - from .v2017_06_01.operations import AvailableEndpointServicesOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import AvailableEndpointServicesOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import AvailableEndpointServicesOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import AvailableEndpointServicesOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import AvailableEndpointServicesOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import AvailableEndpointServicesOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import AvailableEndpointServicesOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import AvailableEndpointServicesOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import AvailableEndpointServicesOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import AvailableEndpointServicesOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import AvailableEndpointServicesOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def available_resource_group_delegations(self): - """Instance depends on the API version: - - * 2018-08-01: :class:`AvailableResourceGroupDelegationsOperations` - """ - api_version = self._get_api_version('available_resource_group_delegations') - if api_version == '2018-08-01': - from .v2018_08_01.operations import AvailableResourceGroupDelegationsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def azure_firewall_fqdn_tags(self): - """Instance depends on the API version: - - * 2018-08-01: :class:`AzureFirewallFqdnTagsOperations` - """ - api_version = self._get_api_version('azure_firewall_fqdn_tags') - if api_version == '2018-08-01': - from .v2018_08_01.operations import AzureFirewallFqdnTagsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def azure_firewalls(self): - """Instance depends on the API version: - - * 2018-04-01: :class:`AzureFirewallsOperations` - * 2018-06-01: :class:`AzureFirewallsOperations` - * 2018-07-01: :class:`AzureFirewallsOperations` - * 2018-08-01: :class:`AzureFirewallsOperations` - """ - api_version = self._get_api_version('azure_firewalls') - if api_version == '2018-04-01': - from .v2018_04_01.operations import AzureFirewallsOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import AzureFirewallsOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import AzureFirewallsOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import AzureFirewallsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def bgp_service_communities(self): - """Instance depends on the API version: - - * 2016-12-01: :class:`BgpServiceCommunitiesOperations` - * 2017-03-01: :class:`BgpServiceCommunitiesOperations` - * 2017-06-01: :class:`BgpServiceCommunitiesOperations` - * 2017-08-01: :class:`BgpServiceCommunitiesOperations` - * 2017-09-01: :class:`BgpServiceCommunitiesOperations` - * 2017-10-01: :class:`BgpServiceCommunitiesOperations` - * 2017-11-01: :class:`BgpServiceCommunitiesOperations` - * 2018-01-01: :class:`BgpServiceCommunitiesOperations` - * 2018-02-01: :class:`BgpServiceCommunitiesOperations` - * 2018-04-01: :class:`BgpServiceCommunitiesOperations` - * 2018-06-01: :class:`BgpServiceCommunitiesOperations` - * 2018-07-01: :class:`BgpServiceCommunitiesOperations` - * 2018-08-01: :class:`BgpServiceCommunitiesOperations` - """ - api_version = self._get_api_version('bgp_service_communities') - if api_version == '2016-12-01': - from .v2016_12_01.operations import BgpServiceCommunitiesOperations as OperationClass - elif api_version == '2017-03-01': - from .v2017_03_01.operations import BgpServiceCommunitiesOperations as OperationClass - elif api_version == '2017-06-01': - from .v2017_06_01.operations import BgpServiceCommunitiesOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import BgpServiceCommunitiesOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import BgpServiceCommunitiesOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import BgpServiceCommunitiesOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import BgpServiceCommunitiesOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import BgpServiceCommunitiesOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import BgpServiceCommunitiesOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import BgpServiceCommunitiesOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import BgpServiceCommunitiesOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import BgpServiceCommunitiesOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import BgpServiceCommunitiesOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def connection_monitors(self): - """Instance depends on the API version: - - * 2017-10-01: :class:`ConnectionMonitorsOperations` - * 2017-11-01: :class:`ConnectionMonitorsOperations` - * 2018-01-01: :class:`ConnectionMonitorsOperations` - * 2018-02-01: :class:`ConnectionMonitorsOperations` - * 2018-04-01: :class:`ConnectionMonitorsOperations` - * 2018-06-01: :class:`ConnectionMonitorsOperations` - * 2018-07-01: :class:`ConnectionMonitorsOperations` - * 2018-08-01: :class:`ConnectionMonitorsOperations` - """ - api_version = self._get_api_version('connection_monitors') - if api_version == '2017-10-01': - from .v2017_10_01.operations import ConnectionMonitorsOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import ConnectionMonitorsOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import ConnectionMonitorsOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import ConnectionMonitorsOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import ConnectionMonitorsOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import ConnectionMonitorsOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import ConnectionMonitorsOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import ConnectionMonitorsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def ddos_protection_plans(self): - """Instance depends on the API version: - - * 2018-02-01: :class:`DdosProtectionPlansOperations` - * 2018-04-01: :class:`DdosProtectionPlansOperations` - * 2018-06-01: :class:`DdosProtectionPlansOperations` - * 2018-07-01: :class:`DdosProtectionPlansOperations` - * 2018-08-01: :class:`DdosProtectionPlansOperations` - """ - api_version = self._get_api_version('ddos_protection_plans') - if api_version == '2018-02-01': - from .v2018_02_01.operations import DdosProtectionPlansOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import DdosProtectionPlansOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import DdosProtectionPlansOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import DdosProtectionPlansOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import DdosProtectionPlansOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def default_security_rules(self): - """Instance depends on the API version: - - * 2017-06-01: :class:`DefaultSecurityRulesOperations` - * 2017-08-01: :class:`DefaultSecurityRulesOperations` - * 2017-09-01: :class:`DefaultSecurityRulesOperations` - * 2017-10-01: :class:`DefaultSecurityRulesOperations` - * 2017-11-01: :class:`DefaultSecurityRulesOperations` - * 2018-01-01: :class:`DefaultSecurityRulesOperations` - * 2018-02-01: :class:`DefaultSecurityRulesOperations` - * 2018-04-01: :class:`DefaultSecurityRulesOperations` - * 2018-06-01: :class:`DefaultSecurityRulesOperations` - * 2018-07-01: :class:`DefaultSecurityRulesOperations` - * 2018-08-01: :class:`DefaultSecurityRulesOperations` - """ - api_version = self._get_api_version('default_security_rules') - if api_version == '2017-06-01': - from .v2017_06_01.operations import DefaultSecurityRulesOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import DefaultSecurityRulesOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import DefaultSecurityRulesOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import DefaultSecurityRulesOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import DefaultSecurityRulesOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import DefaultSecurityRulesOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import DefaultSecurityRulesOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import DefaultSecurityRulesOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import DefaultSecurityRulesOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import DefaultSecurityRulesOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import DefaultSecurityRulesOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def express_route_circuit_authorizations(self): - """Instance depends on the API version: - - * 2015-06-15: :class:`ExpressRouteCircuitAuthorizationsOperations` - * 2016-09-01: :class:`ExpressRouteCircuitAuthorizationsOperations` - * 2016-12-01: :class:`ExpressRouteCircuitAuthorizationsOperations` - * 2017-03-01: :class:`ExpressRouteCircuitAuthorizationsOperations` - * 2017-06-01: :class:`ExpressRouteCircuitAuthorizationsOperations` - * 2017-08-01: :class:`ExpressRouteCircuitAuthorizationsOperations` - * 2017-09-01: :class:`ExpressRouteCircuitAuthorizationsOperations` - * 2017-10-01: :class:`ExpressRouteCircuitAuthorizationsOperations` - * 2017-11-01: :class:`ExpressRouteCircuitAuthorizationsOperations` - * 2018-01-01: :class:`ExpressRouteCircuitAuthorizationsOperations` - * 2018-02-01: :class:`ExpressRouteCircuitAuthorizationsOperations` - * 2018-04-01: :class:`ExpressRouteCircuitAuthorizationsOperations` - * 2018-06-01: :class:`ExpressRouteCircuitAuthorizationsOperations` - * 2018-07-01: :class:`ExpressRouteCircuitAuthorizationsOperations` - * 2018-08-01: :class:`ExpressRouteCircuitAuthorizationsOperations` - """ - api_version = self._get_api_version('express_route_circuit_authorizations') - if api_version == '2015-06-15': - from .v2015_06_15.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass - elif api_version == '2016-09-01': - from .v2016_09_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass - elif api_version == '2016-12-01': - from .v2016_12_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass - elif api_version == '2017-03-01': - from .v2017_03_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass - elif api_version == '2017-06-01': - from .v2017_06_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def express_route_circuit_connections(self): - """Instance depends on the API version: - - * 2018-02-01: :class:`ExpressRouteCircuitConnectionsOperations` - * 2018-04-01: :class:`ExpressRouteCircuitConnectionsOperations` - * 2018-06-01: :class:`ExpressRouteCircuitConnectionsOperations` - * 2018-07-01: :class:`ExpressRouteCircuitConnectionsOperations` - * 2018-08-01: :class:`ExpressRouteCircuitConnectionsOperations` - """ - api_version = self._get_api_version('express_route_circuit_connections') - if api_version == '2018-02-01': - from .v2018_02_01.operations import ExpressRouteCircuitConnectionsOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import ExpressRouteCircuitConnectionsOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import ExpressRouteCircuitConnectionsOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import ExpressRouteCircuitConnectionsOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import ExpressRouteCircuitConnectionsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def express_route_circuit_peerings(self): - """Instance depends on the API version: - - * 2015-06-15: :class:`ExpressRouteCircuitPeeringsOperations` - * 2016-09-01: :class:`ExpressRouteCircuitPeeringsOperations` - * 2016-12-01: :class:`ExpressRouteCircuitPeeringsOperations` - * 2017-03-01: :class:`ExpressRouteCircuitPeeringsOperations` - * 2017-06-01: :class:`ExpressRouteCircuitPeeringsOperations` - * 2017-08-01: :class:`ExpressRouteCircuitPeeringsOperations` - * 2017-09-01: :class:`ExpressRouteCircuitPeeringsOperations` - * 2017-10-01: :class:`ExpressRouteCircuitPeeringsOperations` - * 2017-11-01: :class:`ExpressRouteCircuitPeeringsOperations` - * 2018-01-01: :class:`ExpressRouteCircuitPeeringsOperations` - * 2018-02-01: :class:`ExpressRouteCircuitPeeringsOperations` - * 2018-04-01: :class:`ExpressRouteCircuitPeeringsOperations` - * 2018-06-01: :class:`ExpressRouteCircuitPeeringsOperations` - * 2018-07-01: :class:`ExpressRouteCircuitPeeringsOperations` - * 2018-08-01: :class:`ExpressRouteCircuitPeeringsOperations` - """ - api_version = self._get_api_version('express_route_circuit_peerings') - if api_version == '2015-06-15': - from .v2015_06_15.operations import ExpressRouteCircuitPeeringsOperations as OperationClass - elif api_version == '2016-09-01': - from .v2016_09_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass - elif api_version == '2016-12-01': - from .v2016_12_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass - elif api_version == '2017-03-01': - from .v2017_03_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass - elif api_version == '2017-06-01': - from .v2017_06_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def express_route_circuits(self): - """Instance depends on the API version: - - * 2015-06-15: :class:`ExpressRouteCircuitsOperations` - * 2016-09-01: :class:`ExpressRouteCircuitsOperations` - * 2016-12-01: :class:`ExpressRouteCircuitsOperations` - * 2017-03-01: :class:`ExpressRouteCircuitsOperations` - * 2017-06-01: :class:`ExpressRouteCircuitsOperations` - * 2017-08-01: :class:`ExpressRouteCircuitsOperations` - * 2017-09-01: :class:`ExpressRouteCircuitsOperations` - * 2017-10-01: :class:`ExpressRouteCircuitsOperations` - * 2017-11-01: :class:`ExpressRouteCircuitsOperations` - * 2018-01-01: :class:`ExpressRouteCircuitsOperations` - * 2018-02-01: :class:`ExpressRouteCircuitsOperations` - * 2018-04-01: :class:`ExpressRouteCircuitsOperations` - * 2018-06-01: :class:`ExpressRouteCircuitsOperations` - * 2018-07-01: :class:`ExpressRouteCircuitsOperations` - * 2018-08-01: :class:`ExpressRouteCircuitsOperations` - """ - api_version = self._get_api_version('express_route_circuits') - if api_version == '2015-06-15': - from .v2015_06_15.operations import ExpressRouteCircuitsOperations as OperationClass - elif api_version == '2016-09-01': - from .v2016_09_01.operations import ExpressRouteCircuitsOperations as OperationClass - elif api_version == '2016-12-01': - from .v2016_12_01.operations import ExpressRouteCircuitsOperations as OperationClass - elif api_version == '2017-03-01': - from .v2017_03_01.operations import ExpressRouteCircuitsOperations as OperationClass - elif api_version == '2017-06-01': - from .v2017_06_01.operations import ExpressRouteCircuitsOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import ExpressRouteCircuitsOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import ExpressRouteCircuitsOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import ExpressRouteCircuitsOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import ExpressRouteCircuitsOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import ExpressRouteCircuitsOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import ExpressRouteCircuitsOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import ExpressRouteCircuitsOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import ExpressRouteCircuitsOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import ExpressRouteCircuitsOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import ExpressRouteCircuitsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def express_route_connections(self): - """Instance depends on the API version: - - * 2018-08-01: :class:`ExpressRouteConnectionsOperations` - """ - api_version = self._get_api_version('express_route_connections') - if api_version == '2018-08-01': - from .v2018_08_01.operations import ExpressRouteConnectionsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def express_route_cross_connection_peerings(self): - """Instance depends on the API version: - - * 2018-02-01: :class:`ExpressRouteCrossConnectionPeeringsOperations` - * 2018-04-01: :class:`ExpressRouteCrossConnectionPeeringsOperations` - * 2018-06-01: :class:`ExpressRouteCrossConnectionPeeringsOperations` - * 2018-07-01: :class:`ExpressRouteCrossConnectionPeeringsOperations` - * 2018-08-01: :class:`ExpressRouteCrossConnectionPeeringsOperations` - """ - api_version = self._get_api_version('express_route_cross_connection_peerings') - if api_version == '2018-02-01': - from .v2018_02_01.operations import ExpressRouteCrossConnectionPeeringsOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import ExpressRouteCrossConnectionPeeringsOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import ExpressRouteCrossConnectionPeeringsOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import ExpressRouteCrossConnectionPeeringsOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import ExpressRouteCrossConnectionPeeringsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def express_route_cross_connections(self): - """Instance depends on the API version: - - * 2018-02-01: :class:`ExpressRouteCrossConnectionsOperations` - * 2018-04-01: :class:`ExpressRouteCrossConnectionsOperations` - * 2018-06-01: :class:`ExpressRouteCrossConnectionsOperations` - * 2018-07-01: :class:`ExpressRouteCrossConnectionsOperations` - * 2018-08-01: :class:`ExpressRouteCrossConnectionsOperations` - """ - api_version = self._get_api_version('express_route_cross_connections') - if api_version == '2018-02-01': - from .v2018_02_01.operations import ExpressRouteCrossConnectionsOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import ExpressRouteCrossConnectionsOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import ExpressRouteCrossConnectionsOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import ExpressRouteCrossConnectionsOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import ExpressRouteCrossConnectionsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def express_route_gateways(self): - """Instance depends on the API version: - - * 2018-08-01: :class:`ExpressRouteGatewaysOperations` - """ - api_version = self._get_api_version('express_route_gateways') - if api_version == '2018-08-01': - from .v2018_08_01.operations import ExpressRouteGatewaysOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def express_route_service_providers(self): - """Instance depends on the API version: - - * 2015-06-15: :class:`ExpressRouteServiceProvidersOperations` - * 2016-09-01: :class:`ExpressRouteServiceProvidersOperations` - * 2016-12-01: :class:`ExpressRouteServiceProvidersOperations` - * 2017-03-01: :class:`ExpressRouteServiceProvidersOperations` - * 2017-06-01: :class:`ExpressRouteServiceProvidersOperations` - * 2017-08-01: :class:`ExpressRouteServiceProvidersOperations` - * 2017-09-01: :class:`ExpressRouteServiceProvidersOperations` - * 2017-10-01: :class:`ExpressRouteServiceProvidersOperations` - * 2017-11-01: :class:`ExpressRouteServiceProvidersOperations` - * 2018-01-01: :class:`ExpressRouteServiceProvidersOperations` - * 2018-02-01: :class:`ExpressRouteServiceProvidersOperations` - * 2018-04-01: :class:`ExpressRouteServiceProvidersOperations` - * 2018-06-01: :class:`ExpressRouteServiceProvidersOperations` - * 2018-07-01: :class:`ExpressRouteServiceProvidersOperations` - * 2018-08-01: :class:`ExpressRouteServiceProvidersOperations` - """ - api_version = self._get_api_version('express_route_service_providers') - if api_version == '2015-06-15': - from .v2015_06_15.operations import ExpressRouteServiceProvidersOperations as OperationClass - elif api_version == '2016-09-01': - from .v2016_09_01.operations import ExpressRouteServiceProvidersOperations as OperationClass - elif api_version == '2016-12-01': - from .v2016_12_01.operations import ExpressRouteServiceProvidersOperations as OperationClass - elif api_version == '2017-03-01': - from .v2017_03_01.operations import ExpressRouteServiceProvidersOperations as OperationClass - elif api_version == '2017-06-01': - from .v2017_06_01.operations import ExpressRouteServiceProvidersOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import ExpressRouteServiceProvidersOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import ExpressRouteServiceProvidersOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import ExpressRouteServiceProvidersOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import ExpressRouteServiceProvidersOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import ExpressRouteServiceProvidersOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import ExpressRouteServiceProvidersOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import ExpressRouteServiceProvidersOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import ExpressRouteServiceProvidersOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import ExpressRouteServiceProvidersOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import ExpressRouteServiceProvidersOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def hub_virtual_network_connections(self): - """Instance depends on the API version: - - * 2018-04-01: :class:`HubVirtualNetworkConnectionsOperations` - * 2018-06-01: :class:`HubVirtualNetworkConnectionsOperations` - * 2018-07-01: :class:`HubVirtualNetworkConnectionsOperations` - * 2018-08-01: :class:`HubVirtualNetworkConnectionsOperations` - """ - api_version = self._get_api_version('hub_virtual_network_connections') - if api_version == '2018-04-01': - from .v2018_04_01.operations import HubVirtualNetworkConnectionsOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import HubVirtualNetworkConnectionsOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import HubVirtualNetworkConnectionsOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import HubVirtualNetworkConnectionsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def inbound_nat_rules(self): - """Instance depends on the API version: - - * 2017-06-01: :class:`InboundNatRulesOperations` - * 2017-08-01: :class:`InboundNatRulesOperations` - * 2017-09-01: :class:`InboundNatRulesOperations` - * 2017-10-01: :class:`InboundNatRulesOperations` - * 2017-11-01: :class:`InboundNatRulesOperations` - * 2018-01-01: :class:`InboundNatRulesOperations` - * 2018-02-01: :class:`InboundNatRulesOperations` - * 2018-04-01: :class:`InboundNatRulesOperations` - * 2018-06-01: :class:`InboundNatRulesOperations` - * 2018-07-01: :class:`InboundNatRulesOperations` - * 2018-08-01: :class:`InboundNatRulesOperations` - """ - api_version = self._get_api_version('inbound_nat_rules') - if api_version == '2017-06-01': - from .v2017_06_01.operations import InboundNatRulesOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import InboundNatRulesOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import InboundNatRulesOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import InboundNatRulesOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import InboundNatRulesOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import InboundNatRulesOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import InboundNatRulesOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import InboundNatRulesOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import InboundNatRulesOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import InboundNatRulesOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import InboundNatRulesOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def interface_endpoints(self): - """Instance depends on the API version: - - * 2018-08-01: :class:`InterfaceEndpointsOperations` - """ - api_version = self._get_api_version('interface_endpoints') - if api_version == '2018-08-01': - from .v2018_08_01.operations import InterfaceEndpointsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def load_balancer_backend_address_pools(self): - """Instance depends on the API version: - - * 2017-06-01: :class:`LoadBalancerBackendAddressPoolsOperations` - * 2017-08-01: :class:`LoadBalancerBackendAddressPoolsOperations` - * 2017-09-01: :class:`LoadBalancerBackendAddressPoolsOperations` - * 2017-10-01: :class:`LoadBalancerBackendAddressPoolsOperations` - * 2017-11-01: :class:`LoadBalancerBackendAddressPoolsOperations` - * 2018-01-01: :class:`LoadBalancerBackendAddressPoolsOperations` - * 2018-02-01: :class:`LoadBalancerBackendAddressPoolsOperations` - * 2018-04-01: :class:`LoadBalancerBackendAddressPoolsOperations` - * 2018-06-01: :class:`LoadBalancerBackendAddressPoolsOperations` - * 2018-07-01: :class:`LoadBalancerBackendAddressPoolsOperations` - * 2018-08-01: :class:`LoadBalancerBackendAddressPoolsOperations` - """ - api_version = self._get_api_version('load_balancer_backend_address_pools') - if api_version == '2017-06-01': - from .v2017_06_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def load_balancer_frontend_ip_configurations(self): - """Instance depends on the API version: - - * 2017-06-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` - * 2017-08-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` - * 2017-09-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` - * 2017-10-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` - * 2017-11-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` - * 2018-01-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` - * 2018-02-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` - * 2018-04-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` - * 2018-06-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` - * 2018-07-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` - * 2018-08-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` - """ - api_version = self._get_api_version('load_balancer_frontend_ip_configurations') - if api_version == '2017-06-01': - from .v2017_06_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def load_balancer_load_balancing_rules(self): - """Instance depends on the API version: - - * 2017-06-01: :class:`LoadBalancerLoadBalancingRulesOperations` - * 2017-08-01: :class:`LoadBalancerLoadBalancingRulesOperations` - * 2017-09-01: :class:`LoadBalancerLoadBalancingRulesOperations` - * 2017-10-01: :class:`LoadBalancerLoadBalancingRulesOperations` - * 2017-11-01: :class:`LoadBalancerLoadBalancingRulesOperations` - * 2018-01-01: :class:`LoadBalancerLoadBalancingRulesOperations` - * 2018-02-01: :class:`LoadBalancerLoadBalancingRulesOperations` - * 2018-04-01: :class:`LoadBalancerLoadBalancingRulesOperations` - * 2018-06-01: :class:`LoadBalancerLoadBalancingRulesOperations` - * 2018-07-01: :class:`LoadBalancerLoadBalancingRulesOperations` - * 2018-08-01: :class:`LoadBalancerLoadBalancingRulesOperations` - """ - api_version = self._get_api_version('load_balancer_load_balancing_rules') - if api_version == '2017-06-01': - from .v2017_06_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def load_balancer_network_interfaces(self): - """Instance depends on the API version: - - * 2017-06-01: :class:`LoadBalancerNetworkInterfacesOperations` - * 2017-08-01: :class:`LoadBalancerNetworkInterfacesOperations` - * 2017-09-01: :class:`LoadBalancerNetworkInterfacesOperations` - * 2017-10-01: :class:`LoadBalancerNetworkInterfacesOperations` - * 2017-11-01: :class:`LoadBalancerNetworkInterfacesOperations` - * 2018-01-01: :class:`LoadBalancerNetworkInterfacesOperations` - * 2018-02-01: :class:`LoadBalancerNetworkInterfacesOperations` - * 2018-04-01: :class:`LoadBalancerNetworkInterfacesOperations` - * 2018-06-01: :class:`LoadBalancerNetworkInterfacesOperations` - * 2018-07-01: :class:`LoadBalancerNetworkInterfacesOperations` - * 2018-08-01: :class:`LoadBalancerNetworkInterfacesOperations` - """ - api_version = self._get_api_version('load_balancer_network_interfaces') - if api_version == '2017-06-01': - from .v2017_06_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def load_balancer_probes(self): - """Instance depends on the API version: - - * 2017-06-01: :class:`LoadBalancerProbesOperations` - * 2017-08-01: :class:`LoadBalancerProbesOperations` - * 2017-09-01: :class:`LoadBalancerProbesOperations` - * 2017-10-01: :class:`LoadBalancerProbesOperations` - * 2017-11-01: :class:`LoadBalancerProbesOperations` - * 2018-01-01: :class:`LoadBalancerProbesOperations` - * 2018-02-01: :class:`LoadBalancerProbesOperations` - * 2018-04-01: :class:`LoadBalancerProbesOperations` - * 2018-06-01: :class:`LoadBalancerProbesOperations` - * 2018-07-01: :class:`LoadBalancerProbesOperations` - * 2018-08-01: :class:`LoadBalancerProbesOperations` - """ - api_version = self._get_api_version('load_balancer_probes') - if api_version == '2017-06-01': - from .v2017_06_01.operations import LoadBalancerProbesOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import LoadBalancerProbesOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import LoadBalancerProbesOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import LoadBalancerProbesOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import LoadBalancerProbesOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import LoadBalancerProbesOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import LoadBalancerProbesOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import LoadBalancerProbesOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import LoadBalancerProbesOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import LoadBalancerProbesOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import LoadBalancerProbesOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def load_balancers(self): - """Instance depends on the API version: - - * 2015-06-15: :class:`LoadBalancersOperations` - * 2016-09-01: :class:`LoadBalancersOperations` - * 2016-12-01: :class:`LoadBalancersOperations` - * 2017-03-01: :class:`LoadBalancersOperations` - * 2017-06-01: :class:`LoadBalancersOperations` - * 2017-08-01: :class:`LoadBalancersOperations` - * 2017-09-01: :class:`LoadBalancersOperations` - * 2017-10-01: :class:`LoadBalancersOperations` - * 2017-11-01: :class:`LoadBalancersOperations` - * 2018-01-01: :class:`LoadBalancersOperations` - * 2018-02-01: :class:`LoadBalancersOperations` - * 2018-04-01: :class:`LoadBalancersOperations` - * 2018-06-01: :class:`LoadBalancersOperations` - * 2018-07-01: :class:`LoadBalancersOperations` - * 2018-08-01: :class:`LoadBalancersOperations` - """ - api_version = self._get_api_version('load_balancers') - if api_version == '2015-06-15': - from .v2015_06_15.operations import LoadBalancersOperations as OperationClass - elif api_version == '2016-09-01': - from .v2016_09_01.operations import LoadBalancersOperations as OperationClass - elif api_version == '2016-12-01': - from .v2016_12_01.operations import LoadBalancersOperations as OperationClass - elif api_version == '2017-03-01': - from .v2017_03_01.operations import LoadBalancersOperations as OperationClass - elif api_version == '2017-06-01': - from .v2017_06_01.operations import LoadBalancersOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import LoadBalancersOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import LoadBalancersOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import LoadBalancersOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import LoadBalancersOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import LoadBalancersOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import LoadBalancersOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import LoadBalancersOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import LoadBalancersOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import LoadBalancersOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import LoadBalancersOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def local_network_gateways(self): - """Instance depends on the API version: - - * 2015-06-15: :class:`LocalNetworkGatewaysOperations` - * 2016-09-01: :class:`LocalNetworkGatewaysOperations` - * 2016-12-01: :class:`LocalNetworkGatewaysOperations` - * 2017-03-01: :class:`LocalNetworkGatewaysOperations` - * 2017-06-01: :class:`LocalNetworkGatewaysOperations` - * 2017-08-01: :class:`LocalNetworkGatewaysOperations` - * 2017-09-01: :class:`LocalNetworkGatewaysOperations` - * 2017-10-01: :class:`LocalNetworkGatewaysOperations` - * 2017-11-01: :class:`LocalNetworkGatewaysOperations` - * 2018-01-01: :class:`LocalNetworkGatewaysOperations` - * 2018-02-01: :class:`LocalNetworkGatewaysOperations` - * 2018-04-01: :class:`LocalNetworkGatewaysOperations` - * 2018-06-01: :class:`LocalNetworkGatewaysOperations` - * 2018-07-01: :class:`LocalNetworkGatewaysOperations` - * 2018-08-01: :class:`LocalNetworkGatewaysOperations` - """ - api_version = self._get_api_version('local_network_gateways') - if api_version == '2015-06-15': - from .v2015_06_15.operations import LocalNetworkGatewaysOperations as OperationClass - elif api_version == '2016-09-01': - from .v2016_09_01.operations import LocalNetworkGatewaysOperations as OperationClass - elif api_version == '2016-12-01': - from .v2016_12_01.operations import LocalNetworkGatewaysOperations as OperationClass - elif api_version == '2017-03-01': - from .v2017_03_01.operations import LocalNetworkGatewaysOperations as OperationClass - elif api_version == '2017-06-01': - from .v2017_06_01.operations import LocalNetworkGatewaysOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import LocalNetworkGatewaysOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import LocalNetworkGatewaysOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import LocalNetworkGatewaysOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import LocalNetworkGatewaysOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import LocalNetworkGatewaysOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import LocalNetworkGatewaysOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import LocalNetworkGatewaysOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import LocalNetworkGatewaysOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import LocalNetworkGatewaysOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import LocalNetworkGatewaysOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def network_interface_ip_configurations(self): - """Instance depends on the API version: - - * 2017-06-01: :class:`NetworkInterfaceIPConfigurationsOperations` - * 2017-08-01: :class:`NetworkInterfaceIPConfigurationsOperations` - * 2017-09-01: :class:`NetworkInterfaceIPConfigurationsOperations` - * 2017-10-01: :class:`NetworkInterfaceIPConfigurationsOperations` - * 2017-11-01: :class:`NetworkInterfaceIPConfigurationsOperations` - * 2018-01-01: :class:`NetworkInterfaceIPConfigurationsOperations` - * 2018-02-01: :class:`NetworkInterfaceIPConfigurationsOperations` - * 2018-04-01: :class:`NetworkInterfaceIPConfigurationsOperations` - * 2018-06-01: :class:`NetworkInterfaceIPConfigurationsOperations` - * 2018-07-01: :class:`NetworkInterfaceIPConfigurationsOperations` - * 2018-08-01: :class:`NetworkInterfaceIPConfigurationsOperations` - """ - api_version = self._get_api_version('network_interface_ip_configurations') - if api_version == '2017-06-01': - from .v2017_06_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def network_interface_load_balancers(self): - """Instance depends on the API version: - - * 2017-06-01: :class:`NetworkInterfaceLoadBalancersOperations` - * 2017-08-01: :class:`NetworkInterfaceLoadBalancersOperations` - * 2017-09-01: :class:`NetworkInterfaceLoadBalancersOperations` - * 2017-10-01: :class:`NetworkInterfaceLoadBalancersOperations` - * 2017-11-01: :class:`NetworkInterfaceLoadBalancersOperations` - * 2018-01-01: :class:`NetworkInterfaceLoadBalancersOperations` - * 2018-02-01: :class:`NetworkInterfaceLoadBalancersOperations` - * 2018-04-01: :class:`NetworkInterfaceLoadBalancersOperations` - * 2018-06-01: :class:`NetworkInterfaceLoadBalancersOperations` - * 2018-07-01: :class:`NetworkInterfaceLoadBalancersOperations` - * 2018-08-01: :class:`NetworkInterfaceLoadBalancersOperations` - """ - api_version = self._get_api_version('network_interface_load_balancers') - if api_version == '2017-06-01': - from .v2017_06_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def network_interface_tap_configurations(self): - """Instance depends on the API version: - - * 2018-08-01: :class:`NetworkInterfaceTapConfigurationsOperations` - """ - api_version = self._get_api_version('network_interface_tap_configurations') - if api_version == '2018-08-01': - from .v2018_08_01.operations import NetworkInterfaceTapConfigurationsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def network_interfaces(self): - """Instance depends on the API version: - - * 2015-06-15: :class:`NetworkInterfacesOperations` - * 2016-09-01: :class:`NetworkInterfacesOperations` - * 2016-12-01: :class:`NetworkInterfacesOperations` - * 2017-03-01: :class:`NetworkInterfacesOperations` - * 2017-06-01: :class:`NetworkInterfacesOperations` - * 2017-08-01: :class:`NetworkInterfacesOperations` - * 2017-09-01: :class:`NetworkInterfacesOperations` - * 2017-10-01: :class:`NetworkInterfacesOperations` - * 2017-11-01: :class:`NetworkInterfacesOperations` - * 2018-01-01: :class:`NetworkInterfacesOperations` - * 2018-02-01: :class:`NetworkInterfacesOperations` - * 2018-04-01: :class:`NetworkInterfacesOperations` - * 2018-06-01: :class:`NetworkInterfacesOperations` - * 2018-07-01: :class:`NetworkInterfacesOperations` - * 2018-08-01: :class:`NetworkInterfacesOperations` - """ - api_version = self._get_api_version('network_interfaces') - if api_version == '2015-06-15': - from .v2015_06_15.operations import NetworkInterfacesOperations as OperationClass - elif api_version == '2016-09-01': - from .v2016_09_01.operations import NetworkInterfacesOperations as OperationClass - elif api_version == '2016-12-01': - from .v2016_12_01.operations import NetworkInterfacesOperations as OperationClass - elif api_version == '2017-03-01': - from .v2017_03_01.operations import NetworkInterfacesOperations as OperationClass - elif api_version == '2017-06-01': - from .v2017_06_01.operations import NetworkInterfacesOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import NetworkInterfacesOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import NetworkInterfacesOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import NetworkInterfacesOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import NetworkInterfacesOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import NetworkInterfacesOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import NetworkInterfacesOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import NetworkInterfacesOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import NetworkInterfacesOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import NetworkInterfacesOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import NetworkInterfacesOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def network_profiles(self): - """Instance depends on the API version: - - * 2018-08-01: :class:`NetworkProfilesOperations` - """ - api_version = self._get_api_version('network_profiles') - if api_version == '2018-08-01': - from .v2018_08_01.operations import NetworkProfilesOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def network_security_groups(self): - """Instance depends on the API version: - - * 2015-06-15: :class:`NetworkSecurityGroupsOperations` - * 2016-09-01: :class:`NetworkSecurityGroupsOperations` - * 2016-12-01: :class:`NetworkSecurityGroupsOperations` - * 2017-03-01: :class:`NetworkSecurityGroupsOperations` - * 2017-06-01: :class:`NetworkSecurityGroupsOperations` - * 2017-08-01: :class:`NetworkSecurityGroupsOperations` - * 2017-09-01: :class:`NetworkSecurityGroupsOperations` - * 2017-10-01: :class:`NetworkSecurityGroupsOperations` - * 2017-11-01: :class:`NetworkSecurityGroupsOperations` - * 2018-01-01: :class:`NetworkSecurityGroupsOperations` - * 2018-02-01: :class:`NetworkSecurityGroupsOperations` - * 2018-04-01: :class:`NetworkSecurityGroupsOperations` - * 2018-06-01: :class:`NetworkSecurityGroupsOperations` - * 2018-07-01: :class:`NetworkSecurityGroupsOperations` - * 2018-08-01: :class:`NetworkSecurityGroupsOperations` - """ - api_version = self._get_api_version('network_security_groups') - if api_version == '2015-06-15': - from .v2015_06_15.operations import NetworkSecurityGroupsOperations as OperationClass - elif api_version == '2016-09-01': - from .v2016_09_01.operations import NetworkSecurityGroupsOperations as OperationClass - elif api_version == '2016-12-01': - from .v2016_12_01.operations import NetworkSecurityGroupsOperations as OperationClass - elif api_version == '2017-03-01': - from .v2017_03_01.operations import NetworkSecurityGroupsOperations as OperationClass - elif api_version == '2017-06-01': - from .v2017_06_01.operations import NetworkSecurityGroupsOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import NetworkSecurityGroupsOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import NetworkSecurityGroupsOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import NetworkSecurityGroupsOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import NetworkSecurityGroupsOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import NetworkSecurityGroupsOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import NetworkSecurityGroupsOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import NetworkSecurityGroupsOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import NetworkSecurityGroupsOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import NetworkSecurityGroupsOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import NetworkSecurityGroupsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def network_watchers(self): - """Instance depends on the API version: - - * 2016-09-01: :class:`NetworkWatchersOperations` - * 2016-12-01: :class:`NetworkWatchersOperations` - * 2017-03-01: :class:`NetworkWatchersOperations` - * 2017-06-01: :class:`NetworkWatchersOperations` - * 2017-08-01: :class:`NetworkWatchersOperations` - * 2017-09-01: :class:`NetworkWatchersOperations` - * 2017-10-01: :class:`NetworkWatchersOperations` - * 2017-11-01: :class:`NetworkWatchersOperations` - * 2018-01-01: :class:`NetworkWatchersOperations` - * 2018-02-01: :class:`NetworkWatchersOperations` - * 2018-04-01: :class:`NetworkWatchersOperations` - * 2018-06-01: :class:`NetworkWatchersOperations` - * 2018-07-01: :class:`NetworkWatchersOperations` - * 2018-08-01: :class:`NetworkWatchersOperations` - """ - api_version = self._get_api_version('network_watchers') - if api_version == '2016-09-01': - from .v2016_09_01.operations import NetworkWatchersOperations as OperationClass - elif api_version == '2016-12-01': - from .v2016_12_01.operations import NetworkWatchersOperations as OperationClass - elif api_version == '2017-03-01': - from .v2017_03_01.operations import NetworkWatchersOperations as OperationClass - elif api_version == '2017-06-01': - from .v2017_06_01.operations import NetworkWatchersOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import NetworkWatchersOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import NetworkWatchersOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import NetworkWatchersOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import NetworkWatchersOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import NetworkWatchersOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import NetworkWatchersOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import NetworkWatchersOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import NetworkWatchersOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import NetworkWatchersOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import NetworkWatchersOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def operations(self): - """Instance depends on the API version: - - * 2017-09-01: :class:`Operations` - * 2017-10-01: :class:`Operations` - * 2017-11-01: :class:`Operations` - * 2018-01-01: :class:`Operations` - * 2018-02-01: :class:`Operations` - * 2018-04-01: :class:`Operations` - * 2018-06-01: :class:`Operations` - * 2018-07-01: :class:`Operations` - * 2018-08-01: :class:`Operations` - """ - api_version = self._get_api_version('operations') - if api_version == '2017-09-01': - from .v2017_09_01.operations import Operations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import Operations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import Operations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import Operations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import Operations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import Operations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import Operations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import Operations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import Operations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def packet_captures(self): - """Instance depends on the API version: - - * 2016-09-01: :class:`PacketCapturesOperations` - * 2016-12-01: :class:`PacketCapturesOperations` - * 2017-03-01: :class:`PacketCapturesOperations` - * 2017-06-01: :class:`PacketCapturesOperations` - * 2017-08-01: :class:`PacketCapturesOperations` - * 2017-09-01: :class:`PacketCapturesOperations` - * 2017-10-01: :class:`PacketCapturesOperations` - * 2017-11-01: :class:`PacketCapturesOperations` - * 2018-01-01: :class:`PacketCapturesOperations` - * 2018-02-01: :class:`PacketCapturesOperations` - * 2018-04-01: :class:`PacketCapturesOperations` - * 2018-06-01: :class:`PacketCapturesOperations` - * 2018-07-01: :class:`PacketCapturesOperations` - * 2018-08-01: :class:`PacketCapturesOperations` - """ - api_version = self._get_api_version('packet_captures') - if api_version == '2016-09-01': - from .v2016_09_01.operations import PacketCapturesOperations as OperationClass - elif api_version == '2016-12-01': - from .v2016_12_01.operations import PacketCapturesOperations as OperationClass - elif api_version == '2017-03-01': - from .v2017_03_01.operations import PacketCapturesOperations as OperationClass - elif api_version == '2017-06-01': - from .v2017_06_01.operations import PacketCapturesOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import PacketCapturesOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import PacketCapturesOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import PacketCapturesOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import PacketCapturesOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import PacketCapturesOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import PacketCapturesOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import PacketCapturesOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import PacketCapturesOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import PacketCapturesOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import PacketCapturesOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def public_ip_addresses(self): - """Instance depends on the API version: - - * 2015-06-15: :class:`PublicIPAddressesOperations` - * 2016-09-01: :class:`PublicIPAddressesOperations` - * 2016-12-01: :class:`PublicIPAddressesOperations` - * 2017-03-01: :class:`PublicIPAddressesOperations` - * 2017-06-01: :class:`PublicIPAddressesOperations` - * 2017-08-01: :class:`PublicIPAddressesOperations` - * 2017-09-01: :class:`PublicIPAddressesOperations` - * 2017-10-01: :class:`PublicIPAddressesOperations` - * 2017-11-01: :class:`PublicIPAddressesOperations` - * 2018-01-01: :class:`PublicIPAddressesOperations` - * 2018-02-01: :class:`PublicIPAddressesOperations` - * 2018-04-01: :class:`PublicIPAddressesOperations` - * 2018-06-01: :class:`PublicIPAddressesOperations` - * 2018-07-01: :class:`PublicIPAddressesOperations` - * 2018-08-01: :class:`PublicIPAddressesOperations` - """ - api_version = self._get_api_version('public_ip_addresses') - if api_version == '2015-06-15': - from .v2015_06_15.operations import PublicIPAddressesOperations as OperationClass - elif api_version == '2016-09-01': - from .v2016_09_01.operations import PublicIPAddressesOperations as OperationClass - elif api_version == '2016-12-01': - from .v2016_12_01.operations import PublicIPAddressesOperations as OperationClass - elif api_version == '2017-03-01': - from .v2017_03_01.operations import PublicIPAddressesOperations as OperationClass - elif api_version == '2017-06-01': - from .v2017_06_01.operations import PublicIPAddressesOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import PublicIPAddressesOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import PublicIPAddressesOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import PublicIPAddressesOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import PublicIPAddressesOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import PublicIPAddressesOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import PublicIPAddressesOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import PublicIPAddressesOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import PublicIPAddressesOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import PublicIPAddressesOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import PublicIPAddressesOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def public_ip_prefixes(self): - """Instance depends on the API version: - - * 2018-07-01: :class:`PublicIPPrefixesOperations` - * 2018-08-01: :class:`PublicIPPrefixesOperations` - """ - api_version = self._get_api_version('public_ip_prefixes') - if api_version == '2018-07-01': - from .v2018_07_01.operations import PublicIPPrefixesOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import PublicIPPrefixesOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def route_filter_rules(self): - """Instance depends on the API version: - - * 2016-12-01: :class:`RouteFilterRulesOperations` - * 2017-03-01: :class:`RouteFilterRulesOperations` - * 2017-06-01: :class:`RouteFilterRulesOperations` - * 2017-08-01: :class:`RouteFilterRulesOperations` - * 2017-09-01: :class:`RouteFilterRulesOperations` - * 2017-10-01: :class:`RouteFilterRulesOperations` - * 2017-11-01: :class:`RouteFilterRulesOperations` - * 2018-01-01: :class:`RouteFilterRulesOperations` - * 2018-02-01: :class:`RouteFilterRulesOperations` - * 2018-04-01: :class:`RouteFilterRulesOperations` - * 2018-06-01: :class:`RouteFilterRulesOperations` - * 2018-07-01: :class:`RouteFilterRulesOperations` - * 2018-08-01: :class:`RouteFilterRulesOperations` - """ - api_version = self._get_api_version('route_filter_rules') - if api_version == '2016-12-01': - from .v2016_12_01.operations import RouteFilterRulesOperations as OperationClass - elif api_version == '2017-03-01': - from .v2017_03_01.operations import RouteFilterRulesOperations as OperationClass - elif api_version == '2017-06-01': - from .v2017_06_01.operations import RouteFilterRulesOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import RouteFilterRulesOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import RouteFilterRulesOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import RouteFilterRulesOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import RouteFilterRulesOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import RouteFilterRulesOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import RouteFilterRulesOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import RouteFilterRulesOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import RouteFilterRulesOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import RouteFilterRulesOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import RouteFilterRulesOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def route_filters(self): - """Instance depends on the API version: - - * 2016-12-01: :class:`RouteFiltersOperations` - * 2017-03-01: :class:`RouteFiltersOperations` - * 2017-06-01: :class:`RouteFiltersOperations` - * 2017-08-01: :class:`RouteFiltersOperations` - * 2017-09-01: :class:`RouteFiltersOperations` - * 2017-10-01: :class:`RouteFiltersOperations` - * 2017-11-01: :class:`RouteFiltersOperations` - * 2018-01-01: :class:`RouteFiltersOperations` - * 2018-02-01: :class:`RouteFiltersOperations` - * 2018-04-01: :class:`RouteFiltersOperations` - * 2018-06-01: :class:`RouteFiltersOperations` - * 2018-07-01: :class:`RouteFiltersOperations` - * 2018-08-01: :class:`RouteFiltersOperations` - """ - api_version = self._get_api_version('route_filters') - if api_version == '2016-12-01': - from .v2016_12_01.operations import RouteFiltersOperations as OperationClass - elif api_version == '2017-03-01': - from .v2017_03_01.operations import RouteFiltersOperations as OperationClass - elif api_version == '2017-06-01': - from .v2017_06_01.operations import RouteFiltersOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import RouteFiltersOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import RouteFiltersOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import RouteFiltersOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import RouteFiltersOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import RouteFiltersOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import RouteFiltersOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import RouteFiltersOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import RouteFiltersOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import RouteFiltersOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import RouteFiltersOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def route_tables(self): - """Instance depends on the API version: - - * 2015-06-15: :class:`RouteTablesOperations` - * 2016-09-01: :class:`RouteTablesOperations` - * 2016-12-01: :class:`RouteTablesOperations` - * 2017-03-01: :class:`RouteTablesOperations` - * 2017-06-01: :class:`RouteTablesOperations` - * 2017-08-01: :class:`RouteTablesOperations` - * 2017-09-01: :class:`RouteTablesOperations` - * 2017-10-01: :class:`RouteTablesOperations` - * 2017-11-01: :class:`RouteTablesOperations` - * 2018-01-01: :class:`RouteTablesOperations` - * 2018-02-01: :class:`RouteTablesOperations` - * 2018-04-01: :class:`RouteTablesOperations` - * 2018-06-01: :class:`RouteTablesOperations` - * 2018-07-01: :class:`RouteTablesOperations` - * 2018-08-01: :class:`RouteTablesOperations` - """ - api_version = self._get_api_version('route_tables') - if api_version == '2015-06-15': - from .v2015_06_15.operations import RouteTablesOperations as OperationClass - elif api_version == '2016-09-01': - from .v2016_09_01.operations import RouteTablesOperations as OperationClass - elif api_version == '2016-12-01': - from .v2016_12_01.operations import RouteTablesOperations as OperationClass - elif api_version == '2017-03-01': - from .v2017_03_01.operations import RouteTablesOperations as OperationClass - elif api_version == '2017-06-01': - from .v2017_06_01.operations import RouteTablesOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import RouteTablesOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import RouteTablesOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import RouteTablesOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import RouteTablesOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import RouteTablesOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import RouteTablesOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import RouteTablesOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import RouteTablesOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import RouteTablesOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import RouteTablesOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def routes(self): - """Instance depends on the API version: - - * 2015-06-15: :class:`RoutesOperations` - * 2016-09-01: :class:`RoutesOperations` - * 2016-12-01: :class:`RoutesOperations` - * 2017-03-01: :class:`RoutesOperations` - * 2017-06-01: :class:`RoutesOperations` - * 2017-08-01: :class:`RoutesOperations` - * 2017-09-01: :class:`RoutesOperations` - * 2017-10-01: :class:`RoutesOperations` - * 2017-11-01: :class:`RoutesOperations` - * 2018-01-01: :class:`RoutesOperations` - * 2018-02-01: :class:`RoutesOperations` - * 2018-04-01: :class:`RoutesOperations` - * 2018-06-01: :class:`RoutesOperations` - * 2018-07-01: :class:`RoutesOperations` - * 2018-08-01: :class:`RoutesOperations` - """ - api_version = self._get_api_version('routes') - if api_version == '2015-06-15': - from .v2015_06_15.operations import RoutesOperations as OperationClass - elif api_version == '2016-09-01': - from .v2016_09_01.operations import RoutesOperations as OperationClass - elif api_version == '2016-12-01': - from .v2016_12_01.operations import RoutesOperations as OperationClass - elif api_version == '2017-03-01': - from .v2017_03_01.operations import RoutesOperations as OperationClass - elif api_version == '2017-06-01': - from .v2017_06_01.operations import RoutesOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import RoutesOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import RoutesOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import RoutesOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import RoutesOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import RoutesOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import RoutesOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import RoutesOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import RoutesOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import RoutesOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import RoutesOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def security_rules(self): - """Instance depends on the API version: - - * 2015-06-15: :class:`SecurityRulesOperations` - * 2016-09-01: :class:`SecurityRulesOperations` - * 2016-12-01: :class:`SecurityRulesOperations` - * 2017-03-01: :class:`SecurityRulesOperations` - * 2017-06-01: :class:`SecurityRulesOperations` - * 2017-08-01: :class:`SecurityRulesOperations` - * 2017-09-01: :class:`SecurityRulesOperations` - * 2017-10-01: :class:`SecurityRulesOperations` - * 2017-11-01: :class:`SecurityRulesOperations` - * 2018-01-01: :class:`SecurityRulesOperations` - * 2018-02-01: :class:`SecurityRulesOperations` - * 2018-04-01: :class:`SecurityRulesOperations` - * 2018-06-01: :class:`SecurityRulesOperations` - * 2018-07-01: :class:`SecurityRulesOperations` - * 2018-08-01: :class:`SecurityRulesOperations` - """ - api_version = self._get_api_version('security_rules') - if api_version == '2015-06-15': - from .v2015_06_15.operations import SecurityRulesOperations as OperationClass - elif api_version == '2016-09-01': - from .v2016_09_01.operations import SecurityRulesOperations as OperationClass - elif api_version == '2016-12-01': - from .v2016_12_01.operations import SecurityRulesOperations as OperationClass - elif api_version == '2017-03-01': - from .v2017_03_01.operations import SecurityRulesOperations as OperationClass - elif api_version == '2017-06-01': - from .v2017_06_01.operations import SecurityRulesOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import SecurityRulesOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import SecurityRulesOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import SecurityRulesOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import SecurityRulesOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import SecurityRulesOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import SecurityRulesOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import SecurityRulesOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import SecurityRulesOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import SecurityRulesOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import SecurityRulesOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def service_endpoint_policies(self): - """Instance depends on the API version: - - * 2018-07-01: :class:`ServiceEndpointPoliciesOperations` - * 2018-08-01: :class:`ServiceEndpointPoliciesOperations` - """ - api_version = self._get_api_version('service_endpoint_policies') - if api_version == '2018-07-01': - from .v2018_07_01.operations import ServiceEndpointPoliciesOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import ServiceEndpointPoliciesOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def service_endpoint_policy_definitions(self): - """Instance depends on the API version: - - * 2018-07-01: :class:`ServiceEndpointPolicyDefinitionsOperations` - * 2018-08-01: :class:`ServiceEndpointPolicyDefinitionsOperations` - """ - api_version = self._get_api_version('service_endpoint_policy_definitions') - if api_version == '2018-07-01': - from .v2018_07_01.operations import ServiceEndpointPolicyDefinitionsOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import ServiceEndpointPolicyDefinitionsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def subnets(self): - """Instance depends on the API version: - - * 2015-06-15: :class:`SubnetsOperations` - * 2016-09-01: :class:`SubnetsOperations` - * 2016-12-01: :class:`SubnetsOperations` - * 2017-03-01: :class:`SubnetsOperations` - * 2017-06-01: :class:`SubnetsOperations` - * 2017-08-01: :class:`SubnetsOperations` - * 2017-09-01: :class:`SubnetsOperations` - * 2017-10-01: :class:`SubnetsOperations` - * 2017-11-01: :class:`SubnetsOperations` - * 2018-01-01: :class:`SubnetsOperations` - * 2018-02-01: :class:`SubnetsOperations` - * 2018-04-01: :class:`SubnetsOperations` - * 2018-06-01: :class:`SubnetsOperations` - * 2018-07-01: :class:`SubnetsOperations` - * 2018-08-01: :class:`SubnetsOperations` - """ - api_version = self._get_api_version('subnets') - if api_version == '2015-06-15': - from .v2015_06_15.operations import SubnetsOperations as OperationClass - elif api_version == '2016-09-01': - from .v2016_09_01.operations import SubnetsOperations as OperationClass - elif api_version == '2016-12-01': - from .v2016_12_01.operations import SubnetsOperations as OperationClass - elif api_version == '2017-03-01': - from .v2017_03_01.operations import SubnetsOperations as OperationClass - elif api_version == '2017-06-01': - from .v2017_06_01.operations import SubnetsOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import SubnetsOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import SubnetsOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import SubnetsOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import SubnetsOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import SubnetsOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import SubnetsOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import SubnetsOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import SubnetsOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import SubnetsOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import SubnetsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def usages(self): - """Instance depends on the API version: - - * 2015-06-15: :class:`UsagesOperations` - * 2016-09-01: :class:`UsagesOperations` - * 2016-12-01: :class:`UsagesOperations` - * 2017-03-01: :class:`UsagesOperations` - * 2017-06-01: :class:`UsagesOperations` - * 2017-08-01: :class:`UsagesOperations` - * 2017-09-01: :class:`UsagesOperations` - * 2017-10-01: :class:`UsagesOperations` - * 2017-11-01: :class:`UsagesOperations` - * 2018-01-01: :class:`UsagesOperations` - * 2018-02-01: :class:`UsagesOperations` - * 2018-04-01: :class:`UsagesOperations` - * 2018-06-01: :class:`UsagesOperations` - * 2018-07-01: :class:`UsagesOperations` - * 2018-08-01: :class:`UsagesOperations` - """ - api_version = self._get_api_version('usages') - if api_version == '2015-06-15': - from .v2015_06_15.operations import UsagesOperations as OperationClass - elif api_version == '2016-09-01': - from .v2016_09_01.operations import UsagesOperations as OperationClass - elif api_version == '2016-12-01': - from .v2016_12_01.operations import UsagesOperations as OperationClass - elif api_version == '2017-03-01': - from .v2017_03_01.operations import UsagesOperations as OperationClass - elif api_version == '2017-06-01': - from .v2017_06_01.operations import UsagesOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import UsagesOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import UsagesOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import UsagesOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import UsagesOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import UsagesOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import UsagesOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import UsagesOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import UsagesOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import UsagesOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import UsagesOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def virtual_hubs(self): - """Instance depends on the API version: - - * 2018-04-01: :class:`VirtualHubsOperations` - * 2018-06-01: :class:`VirtualHubsOperations` - * 2018-07-01: :class:`VirtualHubsOperations` - * 2018-08-01: :class:`VirtualHubsOperations` - """ - api_version = self._get_api_version('virtual_hubs') - if api_version == '2018-04-01': - from .v2018_04_01.operations import VirtualHubsOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import VirtualHubsOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import VirtualHubsOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import VirtualHubsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def virtual_network_gateway_connections(self): - """Instance depends on the API version: - - * 2015-06-15: :class:`VirtualNetworkGatewayConnectionsOperations` - * 2016-09-01: :class:`VirtualNetworkGatewayConnectionsOperations` - * 2016-12-01: :class:`VirtualNetworkGatewayConnectionsOperations` - * 2017-03-01: :class:`VirtualNetworkGatewayConnectionsOperations` - * 2017-06-01: :class:`VirtualNetworkGatewayConnectionsOperations` - * 2017-08-01: :class:`VirtualNetworkGatewayConnectionsOperations` - * 2017-09-01: :class:`VirtualNetworkGatewayConnectionsOperations` - * 2017-10-01: :class:`VirtualNetworkGatewayConnectionsOperations` - * 2017-11-01: :class:`VirtualNetworkGatewayConnectionsOperations` - * 2018-01-01: :class:`VirtualNetworkGatewayConnectionsOperations` - * 2018-02-01: :class:`VirtualNetworkGatewayConnectionsOperations` - * 2018-04-01: :class:`VirtualNetworkGatewayConnectionsOperations` - * 2018-06-01: :class:`VirtualNetworkGatewayConnectionsOperations` - * 2018-07-01: :class:`VirtualNetworkGatewayConnectionsOperations` - * 2018-08-01: :class:`VirtualNetworkGatewayConnectionsOperations` - """ - api_version = self._get_api_version('virtual_network_gateway_connections') - if api_version == '2015-06-15': - from .v2015_06_15.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass - elif api_version == '2016-09-01': - from .v2016_09_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass - elif api_version == '2016-12-01': - from .v2016_12_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass - elif api_version == '2017-03-01': - from .v2017_03_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass - elif api_version == '2017-06-01': - from .v2017_06_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def virtual_network_gateways(self): - """Instance depends on the API version: - - * 2015-06-15: :class:`VirtualNetworkGatewaysOperations` - * 2016-09-01: :class:`VirtualNetworkGatewaysOperations` - * 2016-12-01: :class:`VirtualNetworkGatewaysOperations` - * 2017-03-01: :class:`VirtualNetworkGatewaysOperations` - * 2017-06-01: :class:`VirtualNetworkGatewaysOperations` - * 2017-08-01: :class:`VirtualNetworkGatewaysOperations` - * 2017-09-01: :class:`VirtualNetworkGatewaysOperations` - * 2017-10-01: :class:`VirtualNetworkGatewaysOperations` - * 2017-11-01: :class:`VirtualNetworkGatewaysOperations` - * 2018-01-01: :class:`VirtualNetworkGatewaysOperations` - * 2018-02-01: :class:`VirtualNetworkGatewaysOperations` - * 2018-04-01: :class:`VirtualNetworkGatewaysOperations` - * 2018-06-01: :class:`VirtualNetworkGatewaysOperations` - * 2018-07-01: :class:`VirtualNetworkGatewaysOperations` - * 2018-08-01: :class:`VirtualNetworkGatewaysOperations` - """ - api_version = self._get_api_version('virtual_network_gateways') - if api_version == '2015-06-15': - from .v2015_06_15.operations import VirtualNetworkGatewaysOperations as OperationClass - elif api_version == '2016-09-01': - from .v2016_09_01.operations import VirtualNetworkGatewaysOperations as OperationClass - elif api_version == '2016-12-01': - from .v2016_12_01.operations import VirtualNetworkGatewaysOperations as OperationClass - elif api_version == '2017-03-01': - from .v2017_03_01.operations import VirtualNetworkGatewaysOperations as OperationClass - elif api_version == '2017-06-01': - from .v2017_06_01.operations import VirtualNetworkGatewaysOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import VirtualNetworkGatewaysOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import VirtualNetworkGatewaysOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import VirtualNetworkGatewaysOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import VirtualNetworkGatewaysOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import VirtualNetworkGatewaysOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import VirtualNetworkGatewaysOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import VirtualNetworkGatewaysOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import VirtualNetworkGatewaysOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import VirtualNetworkGatewaysOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import VirtualNetworkGatewaysOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def virtual_network_peerings(self): - """Instance depends on the API version: - - * 2016-09-01: :class:`VirtualNetworkPeeringsOperations` - * 2016-12-01: :class:`VirtualNetworkPeeringsOperations` - * 2017-03-01: :class:`VirtualNetworkPeeringsOperations` - * 2017-06-01: :class:`VirtualNetworkPeeringsOperations` - * 2017-08-01: :class:`VirtualNetworkPeeringsOperations` - * 2017-09-01: :class:`VirtualNetworkPeeringsOperations` - * 2017-10-01: :class:`VirtualNetworkPeeringsOperations` - * 2017-11-01: :class:`VirtualNetworkPeeringsOperations` - * 2018-01-01: :class:`VirtualNetworkPeeringsOperations` - * 2018-02-01: :class:`VirtualNetworkPeeringsOperations` - * 2018-04-01: :class:`VirtualNetworkPeeringsOperations` - * 2018-06-01: :class:`VirtualNetworkPeeringsOperations` - * 2018-07-01: :class:`VirtualNetworkPeeringsOperations` - * 2018-08-01: :class:`VirtualNetworkPeeringsOperations` - """ - api_version = self._get_api_version('virtual_network_peerings') - if api_version == '2016-09-01': - from .v2016_09_01.operations import VirtualNetworkPeeringsOperations as OperationClass - elif api_version == '2016-12-01': - from .v2016_12_01.operations import VirtualNetworkPeeringsOperations as OperationClass - elif api_version == '2017-03-01': - from .v2017_03_01.operations import VirtualNetworkPeeringsOperations as OperationClass - elif api_version == '2017-06-01': - from .v2017_06_01.operations import VirtualNetworkPeeringsOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import VirtualNetworkPeeringsOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import VirtualNetworkPeeringsOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import VirtualNetworkPeeringsOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import VirtualNetworkPeeringsOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import VirtualNetworkPeeringsOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import VirtualNetworkPeeringsOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import VirtualNetworkPeeringsOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import VirtualNetworkPeeringsOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import VirtualNetworkPeeringsOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import VirtualNetworkPeeringsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def virtual_network_taps(self): - """Instance depends on the API version: - - * 2018-08-01: :class:`VirtualNetworkTapsOperations` - """ - api_version = self._get_api_version('virtual_network_taps') - if api_version == '2018-08-01': - from .v2018_08_01.operations import VirtualNetworkTapsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def virtual_networks(self): - """Instance depends on the API version: - - * 2015-06-15: :class:`VirtualNetworksOperations` - * 2016-09-01: :class:`VirtualNetworksOperations` - * 2016-12-01: :class:`VirtualNetworksOperations` - * 2017-03-01: :class:`VirtualNetworksOperations` - * 2017-06-01: :class:`VirtualNetworksOperations` - * 2017-08-01: :class:`VirtualNetworksOperations` - * 2017-09-01: :class:`VirtualNetworksOperations` - * 2017-10-01: :class:`VirtualNetworksOperations` - * 2017-11-01: :class:`VirtualNetworksOperations` - * 2018-01-01: :class:`VirtualNetworksOperations` - * 2018-02-01: :class:`VirtualNetworksOperations` - * 2018-04-01: :class:`VirtualNetworksOperations` - * 2018-06-01: :class:`VirtualNetworksOperations` - * 2018-07-01: :class:`VirtualNetworksOperations` - * 2018-08-01: :class:`VirtualNetworksOperations` - """ - api_version = self._get_api_version('virtual_networks') - if api_version == '2015-06-15': - from .v2015_06_15.operations import VirtualNetworksOperations as OperationClass - elif api_version == '2016-09-01': - from .v2016_09_01.operations import VirtualNetworksOperations as OperationClass - elif api_version == '2016-12-01': - from .v2016_12_01.operations import VirtualNetworksOperations as OperationClass - elif api_version == '2017-03-01': - from .v2017_03_01.operations import VirtualNetworksOperations as OperationClass - elif api_version == '2017-06-01': - from .v2017_06_01.operations import VirtualNetworksOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import VirtualNetworksOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import VirtualNetworksOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import VirtualNetworksOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import VirtualNetworksOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import VirtualNetworksOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import VirtualNetworksOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import VirtualNetworksOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import VirtualNetworksOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import VirtualNetworksOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import VirtualNetworksOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def virtual_wa_ns(self): - """Instance depends on the API version: - - * 2018-04-01: :class:`VirtualWANsOperations` - * 2018-06-01: :class:`VirtualWANsOperations` - * 2018-07-01: :class:`VirtualWANsOperations` - """ - api_version = self._get_api_version('virtual_wa_ns') - if api_version == '2018-04-01': - from .v2018_04_01.operations import VirtualWANsOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import VirtualWANsOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import VirtualWANsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def virtual_wans(self): - """Instance depends on the API version: - - * 2018-08-01: :class:`VirtualWansOperations` - """ - api_version = self._get_api_version('virtual_wans') - if api_version == '2018-08-01': - from .v2018_08_01.operations import VirtualWansOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def vpn_connections(self): - """Instance depends on the API version: - - * 2018-04-01: :class:`VpnConnectionsOperations` - * 2018-06-01: :class:`VpnConnectionsOperations` - * 2018-07-01: :class:`VpnConnectionsOperations` - * 2018-08-01: :class:`VpnConnectionsOperations` - """ - api_version = self._get_api_version('vpn_connections') - if api_version == '2018-04-01': - from .v2018_04_01.operations import VpnConnectionsOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import VpnConnectionsOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import VpnConnectionsOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import VpnConnectionsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def vpn_gateways(self): - """Instance depends on the API version: - - * 2018-04-01: :class:`VpnGatewaysOperations` - * 2018-06-01: :class:`VpnGatewaysOperations` - * 2018-07-01: :class:`VpnGatewaysOperations` - * 2018-08-01: :class:`VpnGatewaysOperations` - """ - api_version = self._get_api_version('vpn_gateways') - if api_version == '2018-04-01': - from .v2018_04_01.operations import VpnGatewaysOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import VpnGatewaysOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import VpnGatewaysOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import VpnGatewaysOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def vpn_sites(self): - """Instance depends on the API version: - - * 2018-04-01: :class:`VpnSitesOperations` - * 2018-06-01: :class:`VpnSitesOperations` - * 2018-07-01: :class:`VpnSitesOperations` - * 2018-08-01: :class:`VpnSitesOperations` - """ - api_version = self._get_api_version('vpn_sites') - if api_version == '2018-04-01': - from .v2018_04_01.operations import VpnSitesOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import VpnSitesOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import VpnSitesOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import VpnSitesOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def vpn_sites_configuration(self): - """Instance depends on the API version: - - * 2018-04-01: :class:`VpnSitesConfigurationOperations` - * 2018-06-01: :class:`VpnSitesConfigurationOperations` - * 2018-07-01: :class:`VpnSitesConfigurationOperations` - * 2018-08-01: :class:`VpnSitesConfigurationOperations` - """ - api_version = self._get_api_version('vpn_sites_configuration') - if api_version == '2018-04-01': - from .v2018_04_01.operations import VpnSitesConfigurationOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import VpnSitesConfigurationOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import VpnSitesConfigurationOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import VpnSitesConfigurationOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/__init__.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/__init__.py deleted file mode 100644 index 4c5a7e5cb86..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/__init__.py +++ /dev/null @@ -1,1100 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -try: - from .network_interface_tap_configuration_py3 import NetworkInterfaceTapConfiguration - from .sub_resource_py3 import SubResource - from .application_security_group_py3 import ApplicationSecurityGroup - from .security_rule_py3 import SecurityRule - from .endpoint_service_py3 import EndpointService - from .interface_endpoint_py3 import InterfaceEndpoint - from .network_interface_dns_settings_py3 import NetworkInterfaceDnsSettings - from .network_interface_py3 import NetworkInterface - from .network_security_group_py3 import NetworkSecurityGroup - from .route_py3 import Route - from .route_table_py3 import RouteTable - from .service_endpoint_properties_format_py3 import ServiceEndpointPropertiesFormat - from .service_endpoint_policy_definition_py3 import ServiceEndpointPolicyDefinition - from .service_endpoint_policy_py3 import ServiceEndpointPolicy - from .public_ip_address_sku_py3 import PublicIPAddressSku - from .public_ip_address_dns_settings_py3 import PublicIPAddressDnsSettings - from .ip_tag_py3 import IpTag - from .public_ip_address_py3 import PublicIPAddress - from .ip_configuration_py3 import IPConfiguration - from .ip_configuration_profile_py3 import IPConfigurationProfile - from .resource_navigation_link_py3 import ResourceNavigationLink - from .service_association_link_py3 import ServiceAssociationLink - from .delegation_py3 import Delegation - from .subnet_py3 import Subnet - from .frontend_ip_configuration_py3 import FrontendIPConfiguration - from .virtual_network_tap_py3 import VirtualNetworkTap - from .backend_address_pool_py3 import BackendAddressPool - from .inbound_nat_rule_py3 import InboundNatRule - from .network_interface_ip_configuration_py3 import NetworkInterfaceIPConfiguration - from .application_gateway_backend_address_py3 import ApplicationGatewayBackendAddress - from .application_gateway_backend_address_pool_py3 import ApplicationGatewayBackendAddressPool - from .application_gateway_connection_draining_py3 import ApplicationGatewayConnectionDraining - from .application_gateway_backend_http_settings_py3 import ApplicationGatewayBackendHttpSettings - from .application_gateway_backend_health_server_py3 import ApplicationGatewayBackendHealthServer - from .application_gateway_backend_health_http_settings_py3 import ApplicationGatewayBackendHealthHttpSettings - from .application_gateway_backend_health_pool_py3 import ApplicationGatewayBackendHealthPool - from .application_gateway_backend_health_py3 import ApplicationGatewayBackendHealth - from .application_gateway_sku_py3 import ApplicationGatewaySku - from .application_gateway_ssl_policy_py3 import ApplicationGatewaySslPolicy - from .application_gateway_ip_configuration_py3 import ApplicationGatewayIPConfiguration - from .application_gateway_authentication_certificate_py3 import ApplicationGatewayAuthenticationCertificate - from .application_gateway_trusted_root_certificate_py3 import ApplicationGatewayTrustedRootCertificate - from .application_gateway_ssl_certificate_py3 import ApplicationGatewaySslCertificate - from .application_gateway_frontend_ip_configuration_py3 import ApplicationGatewayFrontendIPConfiguration - from .application_gateway_frontend_port_py3 import ApplicationGatewayFrontendPort - from .application_gateway_http_listener_py3 import ApplicationGatewayHttpListener - from .application_gateway_path_rule_py3 import ApplicationGatewayPathRule - from .application_gateway_probe_health_response_match_py3 import ApplicationGatewayProbeHealthResponseMatch - from .application_gateway_probe_py3 import ApplicationGatewayProbe - from .application_gateway_request_routing_rule_py3 import ApplicationGatewayRequestRoutingRule - from .application_gateway_redirect_configuration_py3 import ApplicationGatewayRedirectConfiguration - from .application_gateway_url_path_map_py3 import ApplicationGatewayUrlPathMap - from .application_gateway_firewall_disabled_rule_group_py3 import ApplicationGatewayFirewallDisabledRuleGroup - from .application_gateway_web_application_firewall_configuration_py3 import ApplicationGatewayWebApplicationFirewallConfiguration - from .application_gateway_autoscale_configuration_py3 import ApplicationGatewayAutoscaleConfiguration - from .application_gateway_py3 import ApplicationGateway - from .application_gateway_firewall_rule_py3 import ApplicationGatewayFirewallRule - from .application_gateway_firewall_rule_group_py3 import ApplicationGatewayFirewallRuleGroup - from .application_gateway_firewall_rule_set_py3 import ApplicationGatewayFirewallRuleSet - from .application_gateway_available_waf_rule_sets_result_py3 import ApplicationGatewayAvailableWafRuleSetsResult - from .application_gateway_available_ssl_options_py3 import ApplicationGatewayAvailableSslOptions - from .application_gateway_ssl_predefined_policy_py3 import ApplicationGatewaySslPredefinedPolicy - from .resource_py3 import Resource - from .tags_object_py3 import TagsObject - from .available_delegation_py3 import AvailableDelegation - from .azure_firewall_ip_configuration_py3 import AzureFirewallIPConfiguration - from .azure_firewall_rc_action_py3 import AzureFirewallRCAction - from .azure_firewall_application_rule_protocol_py3 import AzureFirewallApplicationRuleProtocol - from .azure_firewall_application_rule_py3 import AzureFirewallApplicationRule - from .azure_firewall_application_rule_collection_py3 import AzureFirewallApplicationRuleCollection - from .azure_firewall_nat_rc_action_py3 import AzureFirewallNatRCAction - from .azure_firewall_nat_rule_py3 import AzureFirewallNatRule - from .azure_firewall_nat_rule_collection_py3 import AzureFirewallNatRuleCollection - from .azure_firewall_network_rule_py3 import AzureFirewallNetworkRule - from .azure_firewall_network_rule_collection_py3 import AzureFirewallNetworkRuleCollection - from .azure_firewall_py3 import AzureFirewall - from .azure_firewall_fqdn_tag_py3 import AzureFirewallFqdnTag - from .dns_name_availability_result_py3 import DnsNameAvailabilityResult - from .ddos_protection_plan_py3 import DdosProtectionPlan - from .endpoint_service_result_py3 import EndpointServiceResult - from .express_route_circuit_authorization_py3 import ExpressRouteCircuitAuthorization - from .express_route_circuit_peering_config_py3 import ExpressRouteCircuitPeeringConfig - from .route_filter_rule_py3 import RouteFilterRule - from .express_route_circuit_stats_py3 import ExpressRouteCircuitStats - from .express_route_connection_id_py3 import ExpressRouteConnectionId - from .express_route_circuit_connection_py3 import ExpressRouteCircuitConnection - from .express_route_circuit_peering_py3 import ExpressRouteCircuitPeering - from .route_filter_py3 import RouteFilter - from .ipv6_express_route_circuit_peering_config_py3 import Ipv6ExpressRouteCircuitPeeringConfig - from .express_route_circuit_sku_py3 import ExpressRouteCircuitSku - from .express_route_circuit_service_provider_properties_py3 import ExpressRouteCircuitServiceProviderProperties - from .express_route_circuit_py3 import ExpressRouteCircuit - from .express_route_circuit_arp_table_py3 import ExpressRouteCircuitArpTable - from .express_route_circuits_arp_table_list_result_py3 import ExpressRouteCircuitsArpTableListResult - from .express_route_circuit_routes_table_py3 import ExpressRouteCircuitRoutesTable - from .express_route_circuits_routes_table_list_result_py3 import ExpressRouteCircuitsRoutesTableListResult - from .express_route_circuit_routes_table_summary_py3 import ExpressRouteCircuitRoutesTableSummary - from .express_route_circuits_routes_table_summary_list_result_py3 import ExpressRouteCircuitsRoutesTableSummaryListResult - from .express_route_service_provider_bandwidths_offered_py3 import ExpressRouteServiceProviderBandwidthsOffered - from .express_route_service_provider_py3 import ExpressRouteServiceProvider - from .express_route_cross_connection_routes_table_summary_py3 import ExpressRouteCrossConnectionRoutesTableSummary - from .express_route_cross_connections_routes_table_summary_list_result_py3 import ExpressRouteCrossConnectionsRoutesTableSummaryListResult - from .express_route_circuit_reference_py3 import ExpressRouteCircuitReference - from .express_route_cross_connection_peering_py3 import ExpressRouteCrossConnectionPeering - from .express_route_cross_connection_py3 import ExpressRouteCrossConnection - from .virtual_hub_id_py3 import VirtualHubId - from .express_route_circuit_peering_id_py3 import ExpressRouteCircuitPeeringId - from .express_route_gateway_properties_auto_scale_configuration_bounds_py3 import ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds - from .express_route_gateway_properties_auto_scale_configuration_py3 import ExpressRouteGatewayPropertiesAutoScaleConfiguration - from .express_route_connection_py3 import ExpressRouteConnection - from .express_route_gateway_py3 import ExpressRouteGateway - from .express_route_gateway_list_py3 import ExpressRouteGatewayList - from .express_route_connection_list_py3 import ExpressRouteConnectionList - from .load_balancer_sku_py3 import LoadBalancerSku - from .load_balancing_rule_py3 import LoadBalancingRule - from .probe_py3 import Probe - from .inbound_nat_pool_py3 import InboundNatPool - from .outbound_rule_py3 import OutboundRule - from .load_balancer_py3 import LoadBalancer - from .error_details_py3 import ErrorDetails - from .error_py3 import Error, ErrorException - from .azure_async_operation_result_py3 import AzureAsyncOperationResult - from .effective_network_security_group_association_py3 import EffectiveNetworkSecurityGroupAssociation - from .effective_network_security_rule_py3 import EffectiveNetworkSecurityRule - from .effective_network_security_group_py3 import EffectiveNetworkSecurityGroup - from .effective_network_security_group_list_result_py3 import EffectiveNetworkSecurityGroupListResult - from .effective_route_py3 import EffectiveRoute - from .effective_route_list_result_py3 import EffectiveRouteListResult - from .container_network_interface_configuration_py3 import ContainerNetworkInterfaceConfiguration - from .container_py3 import Container - from .container_network_interface_ip_configuration_py3 import ContainerNetworkInterfaceIpConfiguration - from .container_network_interface_py3 import ContainerNetworkInterface - from .network_profile_py3 import NetworkProfile - from .error_response_py3 import ErrorResponse, ErrorResponseException - from .network_watcher_py3 import NetworkWatcher - from .topology_parameters_py3 import TopologyParameters - from .topology_association_py3 import TopologyAssociation - from .topology_resource_py3 import TopologyResource - from .topology_py3 import Topology - from .verification_ip_flow_parameters_py3 import VerificationIPFlowParameters - from .verification_ip_flow_result_py3 import VerificationIPFlowResult - from .next_hop_parameters_py3 import NextHopParameters - from .next_hop_result_py3 import NextHopResult - from .security_group_view_parameters_py3 import SecurityGroupViewParameters - from .network_interface_association_py3 import NetworkInterfaceAssociation - from .subnet_association_py3 import SubnetAssociation - from .security_rule_associations_py3 import SecurityRuleAssociations - from .security_group_network_interface_py3 import SecurityGroupNetworkInterface - from .security_group_view_result_py3 import SecurityGroupViewResult - from .packet_capture_storage_location_py3 import PacketCaptureStorageLocation - from .packet_capture_filter_py3 import PacketCaptureFilter - from .packet_capture_parameters_py3 import PacketCaptureParameters - from .packet_capture_py3 import PacketCapture - from .packet_capture_result_py3 import PacketCaptureResult - from .packet_capture_query_status_result_py3 import PacketCaptureQueryStatusResult - from .troubleshooting_parameters_py3 import TroubleshootingParameters - from .query_troubleshooting_parameters_py3 import QueryTroubleshootingParameters - from .troubleshooting_recommended_actions_py3 import TroubleshootingRecommendedActions - from .troubleshooting_details_py3 import TroubleshootingDetails - from .troubleshooting_result_py3 import TroubleshootingResult - from .retention_policy_parameters_py3 import RetentionPolicyParameters - from .flow_log_status_parameters_py3 import FlowLogStatusParameters - from .traffic_analytics_configuration_properties_py3 import TrafficAnalyticsConfigurationProperties - from .traffic_analytics_properties_py3 import TrafficAnalyticsProperties - from .flow_log_information_py3 import FlowLogInformation - from .connectivity_source_py3 import ConnectivitySource - from .connectivity_destination_py3 import ConnectivityDestination - from .http_header_py3 import HTTPHeader - from .http_configuration_py3 import HTTPConfiguration - from .protocol_configuration_py3 import ProtocolConfiguration - from .connectivity_parameters_py3 import ConnectivityParameters - from .connectivity_issue_py3 import ConnectivityIssue - from .connectivity_hop_py3 import ConnectivityHop - from .connectivity_information_py3 import ConnectivityInformation - from .azure_reachability_report_location_py3 import AzureReachabilityReportLocation - from .azure_reachability_report_parameters_py3 import AzureReachabilityReportParameters - from .azure_reachability_report_latency_info_py3 import AzureReachabilityReportLatencyInfo - from .azure_reachability_report_item_py3 import AzureReachabilityReportItem - from .azure_reachability_report_py3 import AzureReachabilityReport - from .available_providers_list_parameters_py3 import AvailableProvidersListParameters - from .available_providers_list_city_py3 import AvailableProvidersListCity - from .available_providers_list_state_py3 import AvailableProvidersListState - from .available_providers_list_country_py3 import AvailableProvidersListCountry - from .available_providers_list_py3 import AvailableProvidersList - from .connection_monitor_source_py3 import ConnectionMonitorSource - from .connection_monitor_destination_py3 import ConnectionMonitorDestination - from .connection_monitor_parameters_py3 import ConnectionMonitorParameters - from .connection_monitor_py3 import ConnectionMonitor - from .connection_monitor_result_py3 import ConnectionMonitorResult - from .connection_state_snapshot_py3 import ConnectionStateSnapshot - from .connection_monitor_query_result_py3 import ConnectionMonitorQueryResult - from .traffic_query_py3 import TrafficQuery - from .network_configuration_diagnostic_parameters_py3 import NetworkConfigurationDiagnosticParameters - from .matched_rule_py3 import MatchedRule - from .network_security_rules_evaluation_result_py3 import NetworkSecurityRulesEvaluationResult - from .evaluated_network_security_group_py3 import EvaluatedNetworkSecurityGroup - from .network_security_group_result_py3 import NetworkSecurityGroupResult - from .network_configuration_diagnostic_result_py3 import NetworkConfigurationDiagnosticResult - from .network_configuration_diagnostic_response_py3 import NetworkConfigurationDiagnosticResponse - from .operation_display_py3 import OperationDisplay - from .availability_py3 import Availability - from .dimension_py3 import Dimension - from .metric_specification_py3 import MetricSpecification - from .log_specification_py3 import LogSpecification - from .operation_properties_format_service_specification_py3 import OperationPropertiesFormatServiceSpecification - from .operation_py3 import Operation - from .public_ip_prefix_sku_py3 import PublicIPPrefixSku - from .referenced_public_ip_address_py3 import ReferencedPublicIpAddress - from .public_ip_prefix_py3 import PublicIPPrefix - from .patch_route_filter_rule_py3 import PatchRouteFilterRule - from .patch_route_filter_py3 import PatchRouteFilter - from .bgp_community_py3 import BGPCommunity - from .bgp_service_community_py3 import BgpServiceCommunity - from .usage_name_py3 import UsageName - from .usage_py3 import Usage - from .address_space_py3 import AddressSpace - from .virtual_network_peering_py3 import VirtualNetworkPeering - from .dhcp_options_py3 import DhcpOptions - from .virtual_network_py3 import VirtualNetwork - from .ip_address_availability_result_py3 import IPAddressAvailabilityResult - from .virtual_network_usage_name_py3 import VirtualNetworkUsageName - from .virtual_network_usage_py3 import VirtualNetworkUsage - from .virtual_network_gateway_ip_configuration_py3 import VirtualNetworkGatewayIPConfiguration - from .virtual_network_gateway_sku_py3 import VirtualNetworkGatewaySku - from .vpn_client_root_certificate_py3 import VpnClientRootCertificate - from .vpn_client_revoked_certificate_py3 import VpnClientRevokedCertificate - from .ipsec_policy_py3 import IpsecPolicy - from .vpn_client_configuration_py3 import VpnClientConfiguration - from .bgp_settings_py3 import BgpSettings - from .bgp_peer_status_py3 import BgpPeerStatus - from .gateway_route_py3 import GatewayRoute - from .virtual_network_gateway_py3 import VirtualNetworkGateway - from .vpn_client_parameters_py3 import VpnClientParameters - from .bgp_peer_status_list_result_py3 import BgpPeerStatusListResult - from .gateway_route_list_result_py3 import GatewayRouteListResult - from .tunnel_connection_health_py3 import TunnelConnectionHealth - from .local_network_gateway_py3 import LocalNetworkGateway - from .virtual_network_gateway_connection_py3 import VirtualNetworkGatewayConnection - from .connection_reset_shared_key_py3 import ConnectionResetSharedKey - from .connection_shared_key_py3 import ConnectionSharedKey - from .vpn_client_ipsec_parameters_py3 import VpnClientIPsecParameters - from .virtual_network_connection_gateway_reference_py3 import VirtualNetworkConnectionGatewayReference - from .virtual_network_gateway_connection_list_entity_py3 import VirtualNetworkGatewayConnectionListEntity - from .vpn_device_script_parameters_py3 import VpnDeviceScriptParameters - from .p2_svpn_server_config_vpn_client_root_certificate_py3 import P2SVpnServerConfigVpnClientRootCertificate - from .p2_svpn_server_config_vpn_client_revoked_certificate_py3 import P2SVpnServerConfigVpnClientRevokedCertificate - from .p2_svpn_server_config_radius_server_root_certificate_py3 import P2SVpnServerConfigRadiusServerRootCertificate - from .p2_svpn_server_config_radius_client_root_certificate_py3 import P2SVpnServerConfigRadiusClientRootCertificate - from .p2_svpn_server_configuration_py3 import P2SVpnServerConfiguration - from .virtual_wan_py3 import VirtualWAN - from .device_properties_py3 import DeviceProperties - from .vpn_site_py3 import VpnSite - from .get_vpn_sites_configuration_request_py3 import GetVpnSitesConfigurationRequest - from .hub_virtual_network_connection_py3 import HubVirtualNetworkConnection - from .virtual_hub_route_py3 import VirtualHubRoute - from .virtual_hub_route_table_py3 import VirtualHubRouteTable - from .virtual_hub_py3 import VirtualHub - from .vpn_connection_py3 import VpnConnection - from .vpn_gateway_py3 import VpnGateway - from .vpn_site_id_py3 import VpnSiteId - from .virtual_wan_security_provider_py3 import VirtualWanSecurityProvider - from .virtual_wan_security_providers_py3 import VirtualWanSecurityProviders - from .vpn_client_connection_health_py3 import VpnClientConnectionHealth - from .p2_svpn_gateway_py3 import P2SVpnGateway - from .p2_svpn_profile_parameters_py3 import P2SVpnProfileParameters - from .vpn_profile_response_py3 import VpnProfileResponse -except (SyntaxError, ImportError): - from .network_interface_tap_configuration import NetworkInterfaceTapConfiguration - from .sub_resource import SubResource - from .application_security_group import ApplicationSecurityGroup - from .security_rule import SecurityRule - from .endpoint_service import EndpointService - from .interface_endpoint import InterfaceEndpoint - from .network_interface_dns_settings import NetworkInterfaceDnsSettings - from .network_interface import NetworkInterface - from .network_security_group import NetworkSecurityGroup - from .route import Route - from .route_table import RouteTable - from .service_endpoint_properties_format import ServiceEndpointPropertiesFormat - from .service_endpoint_policy_definition import ServiceEndpointPolicyDefinition - from .service_endpoint_policy import ServiceEndpointPolicy - from .public_ip_address_sku import PublicIPAddressSku - from .public_ip_address_dns_settings import PublicIPAddressDnsSettings - from .ip_tag import IpTag - from .public_ip_address import PublicIPAddress - from .ip_configuration import IPConfiguration - from .ip_configuration_profile import IPConfigurationProfile - from .resource_navigation_link import ResourceNavigationLink - from .service_association_link import ServiceAssociationLink - from .delegation import Delegation - from .subnet import Subnet - from .frontend_ip_configuration import FrontendIPConfiguration - from .virtual_network_tap import VirtualNetworkTap - from .backend_address_pool import BackendAddressPool - from .inbound_nat_rule import InboundNatRule - from .network_interface_ip_configuration import NetworkInterfaceIPConfiguration - from .application_gateway_backend_address import ApplicationGatewayBackendAddress - from .application_gateway_backend_address_pool import ApplicationGatewayBackendAddressPool - from .application_gateway_connection_draining import ApplicationGatewayConnectionDraining - from .application_gateway_backend_http_settings import ApplicationGatewayBackendHttpSettings - from .application_gateway_backend_health_server import ApplicationGatewayBackendHealthServer - from .application_gateway_backend_health_http_settings import ApplicationGatewayBackendHealthHttpSettings - from .application_gateway_backend_health_pool import ApplicationGatewayBackendHealthPool - from .application_gateway_backend_health import ApplicationGatewayBackendHealth - from .application_gateway_sku import ApplicationGatewaySku - from .application_gateway_ssl_policy import ApplicationGatewaySslPolicy - from .application_gateway_ip_configuration import ApplicationGatewayIPConfiguration - from .application_gateway_authentication_certificate import ApplicationGatewayAuthenticationCertificate - from .application_gateway_trusted_root_certificate import ApplicationGatewayTrustedRootCertificate - from .application_gateway_ssl_certificate import ApplicationGatewaySslCertificate - from .application_gateway_frontend_ip_configuration import ApplicationGatewayFrontendIPConfiguration - from .application_gateway_frontend_port import ApplicationGatewayFrontendPort - from .application_gateway_http_listener import ApplicationGatewayHttpListener - from .application_gateway_path_rule import ApplicationGatewayPathRule - from .application_gateway_probe_health_response_match import ApplicationGatewayProbeHealthResponseMatch - from .application_gateway_probe import ApplicationGatewayProbe - from .application_gateway_request_routing_rule import ApplicationGatewayRequestRoutingRule - from .application_gateway_redirect_configuration import ApplicationGatewayRedirectConfiguration - from .application_gateway_url_path_map import ApplicationGatewayUrlPathMap - from .application_gateway_firewall_disabled_rule_group import ApplicationGatewayFirewallDisabledRuleGroup - from .application_gateway_web_application_firewall_configuration import ApplicationGatewayWebApplicationFirewallConfiguration - from .application_gateway_autoscale_configuration import ApplicationGatewayAutoscaleConfiguration - from .application_gateway import ApplicationGateway - from .application_gateway_firewall_rule import ApplicationGatewayFirewallRule - from .application_gateway_firewall_rule_group import ApplicationGatewayFirewallRuleGroup - from .application_gateway_firewall_rule_set import ApplicationGatewayFirewallRuleSet - from .application_gateway_available_waf_rule_sets_result import ApplicationGatewayAvailableWafRuleSetsResult - from .application_gateway_available_ssl_options import ApplicationGatewayAvailableSslOptions - from .application_gateway_ssl_predefined_policy import ApplicationGatewaySslPredefinedPolicy - from .resource import Resource - from .tags_object import TagsObject - from .available_delegation import AvailableDelegation - from .azure_firewall_ip_configuration import AzureFirewallIPConfiguration - from .azure_firewall_rc_action import AzureFirewallRCAction - from .azure_firewall_application_rule_protocol import AzureFirewallApplicationRuleProtocol - from .azure_firewall_application_rule import AzureFirewallApplicationRule - from .azure_firewall_application_rule_collection import AzureFirewallApplicationRuleCollection - from .azure_firewall_nat_rc_action import AzureFirewallNatRCAction - from .azure_firewall_nat_rule import AzureFirewallNatRule - from .azure_firewall_nat_rule_collection import AzureFirewallNatRuleCollection - from .azure_firewall_network_rule import AzureFirewallNetworkRule - from .azure_firewall_network_rule_collection import AzureFirewallNetworkRuleCollection - from .azure_firewall import AzureFirewall - from .azure_firewall_fqdn_tag import AzureFirewallFqdnTag - from .dns_name_availability_result import DnsNameAvailabilityResult - from .ddos_protection_plan import DdosProtectionPlan - from .endpoint_service_result import EndpointServiceResult - from .express_route_circuit_authorization import ExpressRouteCircuitAuthorization - from .express_route_circuit_peering_config import ExpressRouteCircuitPeeringConfig - from .route_filter_rule import RouteFilterRule - from .express_route_circuit_stats import ExpressRouteCircuitStats - from .express_route_connection_id import ExpressRouteConnectionId - from .express_route_circuit_connection import ExpressRouteCircuitConnection - from .express_route_circuit_peering import ExpressRouteCircuitPeering - from .route_filter import RouteFilter - from .ipv6_express_route_circuit_peering_config import Ipv6ExpressRouteCircuitPeeringConfig - from .express_route_circuit_sku import ExpressRouteCircuitSku - from .express_route_circuit_service_provider_properties import ExpressRouteCircuitServiceProviderProperties - from .express_route_circuit import ExpressRouteCircuit - from .express_route_circuit_arp_table import ExpressRouteCircuitArpTable - from .express_route_circuits_arp_table_list_result import ExpressRouteCircuitsArpTableListResult - from .express_route_circuit_routes_table import ExpressRouteCircuitRoutesTable - from .express_route_circuits_routes_table_list_result import ExpressRouteCircuitsRoutesTableListResult - from .express_route_circuit_routes_table_summary import ExpressRouteCircuitRoutesTableSummary - from .express_route_circuits_routes_table_summary_list_result import ExpressRouteCircuitsRoutesTableSummaryListResult - from .express_route_service_provider_bandwidths_offered import ExpressRouteServiceProviderBandwidthsOffered - from .express_route_service_provider import ExpressRouteServiceProvider - from .express_route_cross_connection_routes_table_summary import ExpressRouteCrossConnectionRoutesTableSummary - from .express_route_cross_connections_routes_table_summary_list_result import ExpressRouteCrossConnectionsRoutesTableSummaryListResult - from .express_route_circuit_reference import ExpressRouteCircuitReference - from .express_route_cross_connection_peering import ExpressRouteCrossConnectionPeering - from .express_route_cross_connection import ExpressRouteCrossConnection - from .virtual_hub_id import VirtualHubId - from .express_route_circuit_peering_id import ExpressRouteCircuitPeeringId - from .express_route_gateway_properties_auto_scale_configuration_bounds import ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds - from .express_route_gateway_properties_auto_scale_configuration import ExpressRouteGatewayPropertiesAutoScaleConfiguration - from .express_route_connection import ExpressRouteConnection - from .express_route_gateway import ExpressRouteGateway - from .express_route_gateway_list import ExpressRouteGatewayList - from .express_route_connection_list import ExpressRouteConnectionList - from .load_balancer_sku import LoadBalancerSku - from .load_balancing_rule import LoadBalancingRule - from .probe import Probe - from .inbound_nat_pool import InboundNatPool - from .outbound_rule import OutboundRule - from .load_balancer import LoadBalancer - from .error_details import ErrorDetails - from .error import Error, ErrorException - from .azure_async_operation_result import AzureAsyncOperationResult - from .effective_network_security_group_association import EffectiveNetworkSecurityGroupAssociation - from .effective_network_security_rule import EffectiveNetworkSecurityRule - from .effective_network_security_group import EffectiveNetworkSecurityGroup - from .effective_network_security_group_list_result import EffectiveNetworkSecurityGroupListResult - from .effective_route import EffectiveRoute - from .effective_route_list_result import EffectiveRouteListResult - from .container_network_interface_configuration import ContainerNetworkInterfaceConfiguration - from .container import Container - from .container_network_interface_ip_configuration import ContainerNetworkInterfaceIpConfiguration - from .container_network_interface import ContainerNetworkInterface - from .network_profile import NetworkProfile - from .error_response import ErrorResponse, ErrorResponseException - from .network_watcher import NetworkWatcher - from .topology_parameters import TopologyParameters - from .topology_association import TopologyAssociation - from .topology_resource import TopologyResource - from .topology import Topology - from .verification_ip_flow_parameters import VerificationIPFlowParameters - from .verification_ip_flow_result import VerificationIPFlowResult - from .next_hop_parameters import NextHopParameters - from .next_hop_result import NextHopResult - from .security_group_view_parameters import SecurityGroupViewParameters - from .network_interface_association import NetworkInterfaceAssociation - from .subnet_association import SubnetAssociation - from .security_rule_associations import SecurityRuleAssociations - from .security_group_network_interface import SecurityGroupNetworkInterface - from .security_group_view_result import SecurityGroupViewResult - from .packet_capture_storage_location import PacketCaptureStorageLocation - from .packet_capture_filter import PacketCaptureFilter - from .packet_capture_parameters import PacketCaptureParameters - from .packet_capture import PacketCapture - from .packet_capture_result import PacketCaptureResult - from .packet_capture_query_status_result import PacketCaptureQueryStatusResult - from .troubleshooting_parameters import TroubleshootingParameters - from .query_troubleshooting_parameters import QueryTroubleshootingParameters - from .troubleshooting_recommended_actions import TroubleshootingRecommendedActions - from .troubleshooting_details import TroubleshootingDetails - from .troubleshooting_result import TroubleshootingResult - from .retention_policy_parameters import RetentionPolicyParameters - from .flow_log_status_parameters import FlowLogStatusParameters - from .traffic_analytics_configuration_properties import TrafficAnalyticsConfigurationProperties - from .traffic_analytics_properties import TrafficAnalyticsProperties - from .flow_log_information import FlowLogInformation - from .connectivity_source import ConnectivitySource - from .connectivity_destination import ConnectivityDestination - from .http_header import HTTPHeader - from .http_configuration import HTTPConfiguration - from .protocol_configuration import ProtocolConfiguration - from .connectivity_parameters import ConnectivityParameters - from .connectivity_issue import ConnectivityIssue - from .connectivity_hop import ConnectivityHop - from .connectivity_information import ConnectivityInformation - from .azure_reachability_report_location import AzureReachabilityReportLocation - from .azure_reachability_report_parameters import AzureReachabilityReportParameters - from .azure_reachability_report_latency_info import AzureReachabilityReportLatencyInfo - from .azure_reachability_report_item import AzureReachabilityReportItem - from .azure_reachability_report import AzureReachabilityReport - from .available_providers_list_parameters import AvailableProvidersListParameters - from .available_providers_list_city import AvailableProvidersListCity - from .available_providers_list_state import AvailableProvidersListState - from .available_providers_list_country import AvailableProvidersListCountry - from .available_providers_list import AvailableProvidersList - from .connection_monitor_source import ConnectionMonitorSource - from .connection_monitor_destination import ConnectionMonitorDestination - from .connection_monitor_parameters import ConnectionMonitorParameters - from .connection_monitor import ConnectionMonitor - from .connection_monitor_result import ConnectionMonitorResult - from .connection_state_snapshot import ConnectionStateSnapshot - from .connection_monitor_query_result import ConnectionMonitorQueryResult - from .traffic_query import TrafficQuery - from .network_configuration_diagnostic_parameters import NetworkConfigurationDiagnosticParameters - from .matched_rule import MatchedRule - from .network_security_rules_evaluation_result import NetworkSecurityRulesEvaluationResult - from .evaluated_network_security_group import EvaluatedNetworkSecurityGroup - from .network_security_group_result import NetworkSecurityGroupResult - from .network_configuration_diagnostic_result import NetworkConfigurationDiagnosticResult - from .network_configuration_diagnostic_response import NetworkConfigurationDiagnosticResponse - from .operation_display import OperationDisplay - from .availability import Availability - from .dimension import Dimension - from .metric_specification import MetricSpecification - from .log_specification import LogSpecification - from .operation_properties_format_service_specification import OperationPropertiesFormatServiceSpecification - from .operation import Operation - from .public_ip_prefix_sku import PublicIPPrefixSku - from .referenced_public_ip_address import ReferencedPublicIpAddress - from .public_ip_prefix import PublicIPPrefix - from .patch_route_filter_rule import PatchRouteFilterRule - from .patch_route_filter import PatchRouteFilter - from .bgp_community import BGPCommunity - from .bgp_service_community import BgpServiceCommunity - from .usage_name import UsageName - from .usage import Usage - from .address_space import AddressSpace - from .virtual_network_peering import VirtualNetworkPeering - from .dhcp_options import DhcpOptions - from .virtual_network import VirtualNetwork - from .ip_address_availability_result import IPAddressAvailabilityResult - from .virtual_network_usage_name import VirtualNetworkUsageName - from .virtual_network_usage import VirtualNetworkUsage - from .virtual_network_gateway_ip_configuration import VirtualNetworkGatewayIPConfiguration - from .virtual_network_gateway_sku import VirtualNetworkGatewaySku - from .vpn_client_root_certificate import VpnClientRootCertificate - from .vpn_client_revoked_certificate import VpnClientRevokedCertificate - from .ipsec_policy import IpsecPolicy - from .vpn_client_configuration import VpnClientConfiguration - from .bgp_settings import BgpSettings - from .bgp_peer_status import BgpPeerStatus - from .gateway_route import GatewayRoute - from .virtual_network_gateway import VirtualNetworkGateway - from .vpn_client_parameters import VpnClientParameters - from .bgp_peer_status_list_result import BgpPeerStatusListResult - from .gateway_route_list_result import GatewayRouteListResult - from .tunnel_connection_health import TunnelConnectionHealth - from .local_network_gateway import LocalNetworkGateway - from .virtual_network_gateway_connection import VirtualNetworkGatewayConnection - from .connection_reset_shared_key import ConnectionResetSharedKey - from .connection_shared_key import ConnectionSharedKey - from .vpn_client_ipsec_parameters import VpnClientIPsecParameters - from .virtual_network_connection_gateway_reference import VirtualNetworkConnectionGatewayReference - from .virtual_network_gateway_connection_list_entity import VirtualNetworkGatewayConnectionListEntity - from .vpn_device_script_parameters import VpnDeviceScriptParameters - from .p2_svpn_server_config_vpn_client_root_certificate import P2SVpnServerConfigVpnClientRootCertificate - from .p2_svpn_server_config_vpn_client_revoked_certificate import P2SVpnServerConfigVpnClientRevokedCertificate - from .p2_svpn_server_config_radius_server_root_certificate import P2SVpnServerConfigRadiusServerRootCertificate - from .p2_svpn_server_config_radius_client_root_certificate import P2SVpnServerConfigRadiusClientRootCertificate - from .p2_svpn_server_configuration import P2SVpnServerConfiguration - from .virtual_wan import VirtualWAN - from .device_properties import DeviceProperties - from .vpn_site import VpnSite - from .get_vpn_sites_configuration_request import GetVpnSitesConfigurationRequest - from .hub_virtual_network_connection import HubVirtualNetworkConnection - from .virtual_hub_route import VirtualHubRoute - from .virtual_hub_route_table import VirtualHubRouteTable - from .virtual_hub import VirtualHub - from .vpn_connection import VpnConnection - from .vpn_gateway import VpnGateway - from .vpn_site_id import VpnSiteId - from .virtual_wan_security_provider import VirtualWanSecurityProvider - from .virtual_wan_security_providers import VirtualWanSecurityProviders - from .vpn_client_connection_health import VpnClientConnectionHealth - from .p2_svpn_gateway import P2SVpnGateway - from .p2_svpn_profile_parameters import P2SVpnProfileParameters - from .vpn_profile_response import VpnProfileResponse -from .application_gateway_paged import ApplicationGatewayPaged -from .application_gateway_ssl_predefined_policy_paged import ApplicationGatewaySslPredefinedPolicyPaged -from .application_security_group_paged import ApplicationSecurityGroupPaged -from .available_delegation_paged import AvailableDelegationPaged -from .azure_firewall_paged import AzureFirewallPaged -from .azure_firewall_fqdn_tag_paged import AzureFirewallFqdnTagPaged -from .ddos_protection_plan_paged import DdosProtectionPlanPaged -from .endpoint_service_result_paged import EndpointServiceResultPaged -from .express_route_circuit_authorization_paged import ExpressRouteCircuitAuthorizationPaged -from .express_route_circuit_peering_paged import ExpressRouteCircuitPeeringPaged -from .express_route_circuit_paged import ExpressRouteCircuitPaged -from .express_route_service_provider_paged import ExpressRouteServiceProviderPaged -from .express_route_cross_connection_paged import ExpressRouteCrossConnectionPaged -from .express_route_cross_connection_peering_paged import ExpressRouteCrossConnectionPeeringPaged -from .interface_endpoint_paged import InterfaceEndpointPaged -from .load_balancer_paged import LoadBalancerPaged -from .backend_address_pool_paged import BackendAddressPoolPaged -from .frontend_ip_configuration_paged import FrontendIPConfigurationPaged -from .inbound_nat_rule_paged import InboundNatRulePaged -from .load_balancing_rule_paged import LoadBalancingRulePaged -from .network_interface_paged import NetworkInterfacePaged -from .probe_paged import ProbePaged -from .network_interface_ip_configuration_paged import NetworkInterfaceIPConfigurationPaged -from .network_interface_tap_configuration_paged import NetworkInterfaceTapConfigurationPaged -from .network_profile_paged import NetworkProfilePaged -from .network_security_group_paged import NetworkSecurityGroupPaged -from .security_rule_paged import SecurityRulePaged -from .network_watcher_paged import NetworkWatcherPaged -from .packet_capture_result_paged import PacketCaptureResultPaged -from .connection_monitor_result_paged import ConnectionMonitorResultPaged -from .operation_paged import OperationPaged -from .public_ip_address_paged import PublicIPAddressPaged -from .public_ip_prefix_paged import PublicIPPrefixPaged -from .route_filter_paged import RouteFilterPaged -from .route_filter_rule_paged import RouteFilterRulePaged -from .route_table_paged import RouteTablePaged -from .route_paged import RoutePaged -from .bgp_service_community_paged import BgpServiceCommunityPaged -from .service_endpoint_policy_paged import ServiceEndpointPolicyPaged -from .service_endpoint_policy_definition_paged import ServiceEndpointPolicyDefinitionPaged -from .usage_paged import UsagePaged -from .virtual_network_paged import VirtualNetworkPaged -from .virtual_network_usage_paged import VirtualNetworkUsagePaged -from .subnet_paged import SubnetPaged -from .virtual_network_peering_paged import VirtualNetworkPeeringPaged -from .virtual_network_tap_paged import VirtualNetworkTapPaged -from .virtual_network_gateway_paged import VirtualNetworkGatewayPaged -from .virtual_network_gateway_connection_list_entity_paged import VirtualNetworkGatewayConnectionListEntityPaged -from .virtual_network_gateway_connection_paged import VirtualNetworkGatewayConnectionPaged -from .local_network_gateway_paged import LocalNetworkGatewayPaged -from .virtual_wan_paged import VirtualWANPaged -from .vpn_site_paged import VpnSitePaged -from .virtual_hub_paged import VirtualHubPaged -from .hub_virtual_network_connection_paged import HubVirtualNetworkConnectionPaged -from .vpn_gateway_paged import VpnGatewayPaged -from .vpn_connection_paged import VpnConnectionPaged -from .p2_svpn_server_configuration_paged import P2SVpnServerConfigurationPaged -from .p2_svpn_gateway_paged import P2SVpnGatewayPaged -from .network_management_client_enums import ( - IPAllocationMethod, - SecurityRuleProtocol, - SecurityRuleAccess, - SecurityRuleDirection, - RouteNextHopType, - PublicIPAddressSkuName, - IPVersion, - TransportProtocol, - ApplicationGatewayProtocol, - ApplicationGatewayCookieBasedAffinity, - ApplicationGatewayBackendHealthServerHealth, - ApplicationGatewaySkuName, - ApplicationGatewayTier, - ApplicationGatewaySslProtocol, - ApplicationGatewaySslPolicyType, - ApplicationGatewaySslPolicyName, - ApplicationGatewaySslCipherSuite, - ApplicationGatewayRequestRoutingRuleType, - ApplicationGatewayRedirectType, - ApplicationGatewayOperationalState, - ApplicationGatewayFirewallMode, - ProvisioningState, - AzureFirewallRCActionType, - AzureFirewallApplicationRuleProtocolType, - AzureFirewallNatRCActionType, - AzureFirewallNetworkRuleProtocol, - AuthorizationUseStatus, - ExpressRouteCircuitPeeringAdvertisedPublicPrefixState, - Access, - ExpressRoutePeeringType, - ExpressRoutePeeringState, - CircuitConnectionStatus, - ExpressRouteCircuitPeeringState, - ExpressRouteCircuitSkuTier, - ExpressRouteCircuitSkuFamily, - ServiceProviderProvisioningState, - LoadBalancerSkuName, - LoadDistribution, - ProbeProtocol, - NetworkOperationStatus, - EffectiveSecurityRuleProtocol, - EffectiveRouteSource, - EffectiveRouteState, - AssociationType, - Direction, - IpFlowProtocol, - NextHopType, - PcProtocol, - PcStatus, - PcError, - Protocol, - HTTPMethod, - Origin, - Severity, - IssueType, - ConnectionStatus, - ConnectionMonitorSourceStatus, - ConnectionState, - EvaluationState, - PublicIPPrefixSkuName, - VirtualNetworkPeeringState, - VirtualNetworkGatewayType, - VpnType, - VirtualNetworkGatewaySkuName, - VirtualNetworkGatewaySkuTier, - VpnClientProtocol, - IpsecEncryption, - IpsecIntegrity, - IkeEncryption, - IkeIntegrity, - DhGroup, - PfsGroup, - BgpPeerState, - ProcessorArchitecture, - AuthenticationMethod, - VirtualNetworkGatewayConnectionStatus, - VirtualNetworkGatewayConnectionType, - VirtualNetworkGatewayConnectionProtocol, - OfficeTrafficCategory, - VpnGatewayTunnelingProtocol, - VpnConnectionStatus, - VirtualWanSecurityProviderType, - TunnelConnectionStatus, - HubVirtualNetworkConnectionStatus, -) - -__all__ = [ - 'NetworkInterfaceTapConfiguration', - 'SubResource', - 'ApplicationSecurityGroup', - 'SecurityRule', - 'EndpointService', - 'InterfaceEndpoint', - 'NetworkInterfaceDnsSettings', - 'NetworkInterface', - 'NetworkSecurityGroup', - 'Route', - 'RouteTable', - 'ServiceEndpointPropertiesFormat', - 'ServiceEndpointPolicyDefinition', - 'ServiceEndpointPolicy', - 'PublicIPAddressSku', - 'PublicIPAddressDnsSettings', - 'IpTag', - 'PublicIPAddress', - 'IPConfiguration', - 'IPConfigurationProfile', - 'ResourceNavigationLink', - 'ServiceAssociationLink', - 'Delegation', - 'Subnet', - 'FrontendIPConfiguration', - 'VirtualNetworkTap', - 'BackendAddressPool', - 'InboundNatRule', - 'NetworkInterfaceIPConfiguration', - 'ApplicationGatewayBackendAddress', - 'ApplicationGatewayBackendAddressPool', - 'ApplicationGatewayConnectionDraining', - 'ApplicationGatewayBackendHttpSettings', - 'ApplicationGatewayBackendHealthServer', - 'ApplicationGatewayBackendHealthHttpSettings', - 'ApplicationGatewayBackendHealthPool', - 'ApplicationGatewayBackendHealth', - 'ApplicationGatewaySku', - 'ApplicationGatewaySslPolicy', - 'ApplicationGatewayIPConfiguration', - 'ApplicationGatewayAuthenticationCertificate', - 'ApplicationGatewayTrustedRootCertificate', - 'ApplicationGatewaySslCertificate', - 'ApplicationGatewayFrontendIPConfiguration', - 'ApplicationGatewayFrontendPort', - 'ApplicationGatewayHttpListener', - 'ApplicationGatewayPathRule', - 'ApplicationGatewayProbeHealthResponseMatch', - 'ApplicationGatewayProbe', - 'ApplicationGatewayRequestRoutingRule', - 'ApplicationGatewayRedirectConfiguration', - 'ApplicationGatewayUrlPathMap', - 'ApplicationGatewayFirewallDisabledRuleGroup', - 'ApplicationGatewayWebApplicationFirewallConfiguration', - 'ApplicationGatewayAutoscaleConfiguration', - 'ApplicationGateway', - 'ApplicationGatewayFirewallRule', - 'ApplicationGatewayFirewallRuleGroup', - 'ApplicationGatewayFirewallRuleSet', - 'ApplicationGatewayAvailableWafRuleSetsResult', - 'ApplicationGatewayAvailableSslOptions', - 'ApplicationGatewaySslPredefinedPolicy', - 'Resource', - 'TagsObject', - 'AvailableDelegation', - 'AzureFirewallIPConfiguration', - 'AzureFirewallRCAction', - 'AzureFirewallApplicationRuleProtocol', - 'AzureFirewallApplicationRule', - 'AzureFirewallApplicationRuleCollection', - 'AzureFirewallNatRCAction', - 'AzureFirewallNatRule', - 'AzureFirewallNatRuleCollection', - 'AzureFirewallNetworkRule', - 'AzureFirewallNetworkRuleCollection', - 'AzureFirewall', - 'AzureFirewallFqdnTag', - 'DnsNameAvailabilityResult', - 'DdosProtectionPlan', - 'EndpointServiceResult', - 'ExpressRouteCircuitAuthorization', - 'ExpressRouteCircuitPeeringConfig', - 'RouteFilterRule', - 'ExpressRouteCircuitStats', - 'ExpressRouteConnectionId', - 'ExpressRouteCircuitConnection', - 'ExpressRouteCircuitPeering', - 'RouteFilter', - 'Ipv6ExpressRouteCircuitPeeringConfig', - 'ExpressRouteCircuitSku', - 'ExpressRouteCircuitServiceProviderProperties', - 'ExpressRouteCircuit', - 'ExpressRouteCircuitArpTable', - 'ExpressRouteCircuitsArpTableListResult', - 'ExpressRouteCircuitRoutesTable', - 'ExpressRouteCircuitsRoutesTableListResult', - 'ExpressRouteCircuitRoutesTableSummary', - 'ExpressRouteCircuitsRoutesTableSummaryListResult', - 'ExpressRouteServiceProviderBandwidthsOffered', - 'ExpressRouteServiceProvider', - 'ExpressRouteCrossConnectionRoutesTableSummary', - 'ExpressRouteCrossConnectionsRoutesTableSummaryListResult', - 'ExpressRouteCircuitReference', - 'ExpressRouteCrossConnectionPeering', - 'ExpressRouteCrossConnection', - 'VirtualHubId', - 'ExpressRouteCircuitPeeringId', - 'ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds', - 'ExpressRouteGatewayPropertiesAutoScaleConfiguration', - 'ExpressRouteConnection', - 'ExpressRouteGateway', - 'ExpressRouteGatewayList', - 'ExpressRouteConnectionList', - 'LoadBalancerSku', - 'LoadBalancingRule', - 'Probe', - 'InboundNatPool', - 'OutboundRule', - 'LoadBalancer', - 'ErrorDetails', - 'Error', 'ErrorException', - 'AzureAsyncOperationResult', - 'EffectiveNetworkSecurityGroupAssociation', - 'EffectiveNetworkSecurityRule', - 'EffectiveNetworkSecurityGroup', - 'EffectiveNetworkSecurityGroupListResult', - 'EffectiveRoute', - 'EffectiveRouteListResult', - 'ContainerNetworkInterfaceConfiguration', - 'Container', - 'ContainerNetworkInterfaceIpConfiguration', - 'ContainerNetworkInterface', - 'NetworkProfile', - 'ErrorResponse', 'ErrorResponseException', - 'NetworkWatcher', - 'TopologyParameters', - 'TopologyAssociation', - 'TopologyResource', - 'Topology', - 'VerificationIPFlowParameters', - 'VerificationIPFlowResult', - 'NextHopParameters', - 'NextHopResult', - 'SecurityGroupViewParameters', - 'NetworkInterfaceAssociation', - 'SubnetAssociation', - 'SecurityRuleAssociations', - 'SecurityGroupNetworkInterface', - 'SecurityGroupViewResult', - 'PacketCaptureStorageLocation', - 'PacketCaptureFilter', - 'PacketCaptureParameters', - 'PacketCapture', - 'PacketCaptureResult', - 'PacketCaptureQueryStatusResult', - 'TroubleshootingParameters', - 'QueryTroubleshootingParameters', - 'TroubleshootingRecommendedActions', - 'TroubleshootingDetails', - 'TroubleshootingResult', - 'RetentionPolicyParameters', - 'FlowLogStatusParameters', - 'TrafficAnalyticsConfigurationProperties', - 'TrafficAnalyticsProperties', - 'FlowLogInformation', - 'ConnectivitySource', - 'ConnectivityDestination', - 'HTTPHeader', - 'HTTPConfiguration', - 'ProtocolConfiguration', - 'ConnectivityParameters', - 'ConnectivityIssue', - 'ConnectivityHop', - 'ConnectivityInformation', - 'AzureReachabilityReportLocation', - 'AzureReachabilityReportParameters', - 'AzureReachabilityReportLatencyInfo', - 'AzureReachabilityReportItem', - 'AzureReachabilityReport', - 'AvailableProvidersListParameters', - 'AvailableProvidersListCity', - 'AvailableProvidersListState', - 'AvailableProvidersListCountry', - 'AvailableProvidersList', - 'ConnectionMonitorSource', - 'ConnectionMonitorDestination', - 'ConnectionMonitorParameters', - 'ConnectionMonitor', - 'ConnectionMonitorResult', - 'ConnectionStateSnapshot', - 'ConnectionMonitorQueryResult', - 'TrafficQuery', - 'NetworkConfigurationDiagnosticParameters', - 'MatchedRule', - 'NetworkSecurityRulesEvaluationResult', - 'EvaluatedNetworkSecurityGroup', - 'NetworkSecurityGroupResult', - 'NetworkConfigurationDiagnosticResult', - 'NetworkConfigurationDiagnosticResponse', - 'OperationDisplay', - 'Availability', - 'Dimension', - 'MetricSpecification', - 'LogSpecification', - 'OperationPropertiesFormatServiceSpecification', - 'Operation', - 'PublicIPPrefixSku', - 'ReferencedPublicIpAddress', - 'PublicIPPrefix', - 'PatchRouteFilterRule', - 'PatchRouteFilter', - 'BGPCommunity', - 'BgpServiceCommunity', - 'UsageName', - 'Usage', - 'AddressSpace', - 'VirtualNetworkPeering', - 'DhcpOptions', - 'VirtualNetwork', - 'IPAddressAvailabilityResult', - 'VirtualNetworkUsageName', - 'VirtualNetworkUsage', - 'VirtualNetworkGatewayIPConfiguration', - 'VirtualNetworkGatewaySku', - 'VpnClientRootCertificate', - 'VpnClientRevokedCertificate', - 'IpsecPolicy', - 'VpnClientConfiguration', - 'BgpSettings', - 'BgpPeerStatus', - 'GatewayRoute', - 'VirtualNetworkGateway', - 'VpnClientParameters', - 'BgpPeerStatusListResult', - 'GatewayRouteListResult', - 'TunnelConnectionHealth', - 'LocalNetworkGateway', - 'VirtualNetworkGatewayConnection', - 'ConnectionResetSharedKey', - 'ConnectionSharedKey', - 'VpnClientIPsecParameters', - 'VirtualNetworkConnectionGatewayReference', - 'VirtualNetworkGatewayConnectionListEntity', - 'VpnDeviceScriptParameters', - 'P2SVpnServerConfigVpnClientRootCertificate', - 'P2SVpnServerConfigVpnClientRevokedCertificate', - 'P2SVpnServerConfigRadiusServerRootCertificate', - 'P2SVpnServerConfigRadiusClientRootCertificate', - 'P2SVpnServerConfiguration', - 'VirtualWAN', - 'DeviceProperties', - 'VpnSite', - 'GetVpnSitesConfigurationRequest', - 'HubVirtualNetworkConnection', - 'VirtualHubRoute', - 'VirtualHubRouteTable', - 'VirtualHub', - 'VpnConnection', - 'VpnGateway', - 'VpnSiteId', - 'VirtualWanSecurityProvider', - 'VirtualWanSecurityProviders', - 'VpnClientConnectionHealth', - 'P2SVpnGateway', - 'P2SVpnProfileParameters', - 'VpnProfileResponse', - 'ApplicationGatewayPaged', - 'ApplicationGatewaySslPredefinedPolicyPaged', - 'ApplicationSecurityGroupPaged', - 'AvailableDelegationPaged', - 'AzureFirewallPaged', - 'AzureFirewallFqdnTagPaged', - 'DdosProtectionPlanPaged', - 'EndpointServiceResultPaged', - 'ExpressRouteCircuitAuthorizationPaged', - 'ExpressRouteCircuitPeeringPaged', - 'ExpressRouteCircuitPaged', - 'ExpressRouteServiceProviderPaged', - 'ExpressRouteCrossConnectionPaged', - 'ExpressRouteCrossConnectionPeeringPaged', - 'InterfaceEndpointPaged', - 'LoadBalancerPaged', - 'BackendAddressPoolPaged', - 'FrontendIPConfigurationPaged', - 'InboundNatRulePaged', - 'LoadBalancingRulePaged', - 'NetworkInterfacePaged', - 'ProbePaged', - 'NetworkInterfaceIPConfigurationPaged', - 'NetworkInterfaceTapConfigurationPaged', - 'NetworkProfilePaged', - 'NetworkSecurityGroupPaged', - 'SecurityRulePaged', - 'NetworkWatcherPaged', - 'PacketCaptureResultPaged', - 'ConnectionMonitorResultPaged', - 'OperationPaged', - 'PublicIPAddressPaged', - 'PublicIPPrefixPaged', - 'RouteFilterPaged', - 'RouteFilterRulePaged', - 'RouteTablePaged', - 'RoutePaged', - 'BgpServiceCommunityPaged', - 'ServiceEndpointPolicyPaged', - 'ServiceEndpointPolicyDefinitionPaged', - 'UsagePaged', - 'VirtualNetworkPaged', - 'VirtualNetworkUsagePaged', - 'SubnetPaged', - 'VirtualNetworkPeeringPaged', - 'VirtualNetworkTapPaged', - 'VirtualNetworkGatewayPaged', - 'VirtualNetworkGatewayConnectionListEntityPaged', - 'VirtualNetworkGatewayConnectionPaged', - 'LocalNetworkGatewayPaged', - 'VirtualWANPaged', - 'VpnSitePaged', - 'VirtualHubPaged', - 'HubVirtualNetworkConnectionPaged', - 'VpnGatewayPaged', - 'VpnConnectionPaged', - 'P2SVpnServerConfigurationPaged', - 'P2SVpnGatewayPaged', - 'IPAllocationMethod', - 'SecurityRuleProtocol', - 'SecurityRuleAccess', - 'SecurityRuleDirection', - 'RouteNextHopType', - 'PublicIPAddressSkuName', - 'IPVersion', - 'TransportProtocol', - 'ApplicationGatewayProtocol', - 'ApplicationGatewayCookieBasedAffinity', - 'ApplicationGatewayBackendHealthServerHealth', - 'ApplicationGatewaySkuName', - 'ApplicationGatewayTier', - 'ApplicationGatewaySslProtocol', - 'ApplicationGatewaySslPolicyType', - 'ApplicationGatewaySslPolicyName', - 'ApplicationGatewaySslCipherSuite', - 'ApplicationGatewayRequestRoutingRuleType', - 'ApplicationGatewayRedirectType', - 'ApplicationGatewayOperationalState', - 'ApplicationGatewayFirewallMode', - 'ProvisioningState', - 'AzureFirewallRCActionType', - 'AzureFirewallApplicationRuleProtocolType', - 'AzureFirewallNatRCActionType', - 'AzureFirewallNetworkRuleProtocol', - 'AuthorizationUseStatus', - 'ExpressRouteCircuitPeeringAdvertisedPublicPrefixState', - 'Access', - 'ExpressRoutePeeringType', - 'ExpressRoutePeeringState', - 'CircuitConnectionStatus', - 'ExpressRouteCircuitPeeringState', - 'ExpressRouteCircuitSkuTier', - 'ExpressRouteCircuitSkuFamily', - 'ServiceProviderProvisioningState', - 'LoadBalancerSkuName', - 'LoadDistribution', - 'ProbeProtocol', - 'NetworkOperationStatus', - 'EffectiveSecurityRuleProtocol', - 'EffectiveRouteSource', - 'EffectiveRouteState', - 'AssociationType', - 'Direction', - 'IpFlowProtocol', - 'NextHopType', - 'PcProtocol', - 'PcStatus', - 'PcError', - 'Protocol', - 'HTTPMethod', - 'Origin', - 'Severity', - 'IssueType', - 'ConnectionStatus', - 'ConnectionMonitorSourceStatus', - 'ConnectionState', - 'EvaluationState', - 'PublicIPPrefixSkuName', - 'VirtualNetworkPeeringState', - 'VirtualNetworkGatewayType', - 'VpnType', - 'VirtualNetworkGatewaySkuName', - 'VirtualNetworkGatewaySkuTier', - 'VpnClientProtocol', - 'IpsecEncryption', - 'IpsecIntegrity', - 'IkeEncryption', - 'IkeIntegrity', - 'DhGroup', - 'PfsGroup', - 'BgpPeerState', - 'ProcessorArchitecture', - 'AuthenticationMethod', - 'VirtualNetworkGatewayConnectionStatus', - 'VirtualNetworkGatewayConnectionType', - 'VirtualNetworkGatewayConnectionProtocol', - 'OfficeTrafficCategory', - 'VpnGatewayTunnelingProtocol', - 'VpnConnectionStatus', - 'VirtualWanSecurityProviderType', - 'TunnelConnectionStatus', - 'HubVirtualNetworkConnectionStatus', -] diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/address_space.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/address_space.py deleted file mode 100644 index fbf42c9e0ad..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/address_space.py +++ /dev/null @@ -1,30 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class AddressSpace(Model): - """AddressSpace contains an array of IP address ranges that can be used by - subnets of the virtual network. - - :param address_prefixes: A list of address blocks reserved for this - virtual network in CIDR notation. - :type address_prefixes: list[str] - """ - - _attribute_map = { - 'address_prefixes': {'key': 'addressPrefixes', 'type': '[str]'}, - } - - def __init__(self, **kwargs): - super(AddressSpace, self).__init__(**kwargs) - self.address_prefixes = kwargs.get('address_prefixes', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/address_space_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/address_space_py3.py deleted file mode 100644 index 9794cc805ef..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/address_space_py3.py +++ /dev/null @@ -1,30 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class AddressSpace(Model): - """AddressSpace contains an array of IP address ranges that can be used by - subnets of the virtual network. - - :param address_prefixes: A list of address blocks reserved for this - virtual network in CIDR notation. - :type address_prefixes: list[str] - """ - - _attribute_map = { - 'address_prefixes': {'key': 'addressPrefixes', 'type': '[str]'}, - } - - def __init__(self, *, address_prefixes=None, **kwargs) -> None: - super(AddressSpace, self).__init__(**kwargs) - self.address_prefixes = address_prefixes diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway.py deleted file mode 100644 index b0e63598a14..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway.py +++ /dev/null @@ -1,179 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .resource import Resource - - -class ApplicationGateway(Resource): - """Application gateway resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param sku: SKU of the application gateway resource. - :type sku: ~azure.mgmt.network.v2018_08_01.models.ApplicationGatewaySku - :param ssl_policy: SSL policy of the application gateway resource. - :type ssl_policy: - ~azure.mgmt.network.v2018_08_01.models.ApplicationGatewaySslPolicy - :ivar operational_state: Operational state of the application gateway - resource. Possible values include: 'Stopped', 'Starting', 'Running', - 'Stopping' - :vartype operational_state: str or - ~azure.mgmt.network.v2018_08_01.models.ApplicationGatewayOperationalState - :param gateway_ip_configurations: Subnets of application the gateway - resource. - :type gateway_ip_configurations: - list[~azure.mgmt.network.v2018_08_01.models.ApplicationGatewayIPConfiguration] - :param authentication_certificates: Authentication certificates of the - application gateway resource. - :type authentication_certificates: - list[~azure.mgmt.network.v2018_08_01.models.ApplicationGatewayAuthenticationCertificate] - :param trusted_root_certificates: Trusted Root certificates of the - application gateway resource. - :type trusted_root_certificates: - list[~azure.mgmt.network.v2018_08_01.models.ApplicationGatewayTrustedRootCertificate] - :param ssl_certificates: SSL certificates of the application gateway - resource. - :type ssl_certificates: - list[~azure.mgmt.network.v2018_08_01.models.ApplicationGatewaySslCertificate] - :param frontend_ip_configurations: Frontend IP addresses of the - application gateway resource. - :type frontend_ip_configurations: - list[~azure.mgmt.network.v2018_08_01.models.ApplicationGatewayFrontendIPConfiguration] - :param frontend_ports: Frontend ports of the application gateway resource. - :type frontend_ports: - list[~azure.mgmt.network.v2018_08_01.models.ApplicationGatewayFrontendPort] - :param probes: Probes of the application gateway resource. - :type probes: - list[~azure.mgmt.network.v2018_08_01.models.ApplicationGatewayProbe] - :param backend_address_pools: Backend address pool of the application - gateway resource. - :type backend_address_pools: - list[~azure.mgmt.network.v2018_08_01.models.ApplicationGatewayBackendAddressPool] - :param backend_http_settings_collection: Backend http settings of the - application gateway resource. - :type backend_http_settings_collection: - list[~azure.mgmt.network.v2018_08_01.models.ApplicationGatewayBackendHttpSettings] - :param http_listeners: Http listeners of the application gateway resource. - :type http_listeners: - list[~azure.mgmt.network.v2018_08_01.models.ApplicationGatewayHttpListener] - :param url_path_maps: URL path map of the application gateway resource. - :type url_path_maps: - list[~azure.mgmt.network.v2018_08_01.models.ApplicationGatewayUrlPathMap] - :param request_routing_rules: Request routing rules of the application - gateway resource. - :type request_routing_rules: - list[~azure.mgmt.network.v2018_08_01.models.ApplicationGatewayRequestRoutingRule] - :param redirect_configurations: Redirect configurations of the application - gateway resource. - :type redirect_configurations: - list[~azure.mgmt.network.v2018_08_01.models.ApplicationGatewayRedirectConfiguration] - :param web_application_firewall_configuration: Web application firewall - configuration. - :type web_application_firewall_configuration: - ~azure.mgmt.network.v2018_08_01.models.ApplicationGatewayWebApplicationFirewallConfiguration - :param enable_http2: Whether HTTP2 is enabled on the application gateway - resource. - :type enable_http2: bool - :param enable_fips: Whether FIPS is enabled on the application gateway - resource. - :type enable_fips: bool - :param autoscale_configuration: Autoscale Configuration. - :type autoscale_configuration: - ~azure.mgmt.network.v2018_08_01.models.ApplicationGatewayAutoscaleConfiguration - :param resource_guid: Resource GUID property of the application gateway - resource. - :type resource_guid: str - :param provisioning_state: Provisioning state of the application gateway - resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - :type provisioning_state: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - :param zones: A list of availability zones denoting where the resource - needs to come from. - :type zones: list[str] - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'operational_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'sku': {'key': 'properties.sku', 'type': 'ApplicationGatewaySku'}, - 'ssl_policy': {'key': 'properties.sslPolicy', 'type': 'ApplicationGatewaySslPolicy'}, - 'operational_state': {'key': 'properties.operationalState', 'type': 'str'}, - 'gateway_ip_configurations': {'key': 'properties.gatewayIPConfigurations', 'type': '[ApplicationGatewayIPConfiguration]'}, - 'authentication_certificates': {'key': 'properties.authenticationCertificates', 'type': '[ApplicationGatewayAuthenticationCertificate]'}, - 'trusted_root_certificates': {'key': 'properties.trustedRootCertificates', 'type': '[ApplicationGatewayTrustedRootCertificate]'}, - 'ssl_certificates': {'key': 'properties.sslCertificates', 'type': '[ApplicationGatewaySslCertificate]'}, - 'frontend_ip_configurations': {'key': 'properties.frontendIPConfigurations', 'type': '[ApplicationGatewayFrontendIPConfiguration]'}, - 'frontend_ports': {'key': 'properties.frontendPorts', 'type': '[ApplicationGatewayFrontendPort]'}, - 'probes': {'key': 'properties.probes', 'type': '[ApplicationGatewayProbe]'}, - 'backend_address_pools': {'key': 'properties.backendAddressPools', 'type': '[ApplicationGatewayBackendAddressPool]'}, - 'backend_http_settings_collection': {'key': 'properties.backendHttpSettingsCollection', 'type': '[ApplicationGatewayBackendHttpSettings]'}, - 'http_listeners': {'key': 'properties.httpListeners', 'type': '[ApplicationGatewayHttpListener]'}, - 'url_path_maps': {'key': 'properties.urlPathMaps', 'type': '[ApplicationGatewayUrlPathMap]'}, - 'request_routing_rules': {'key': 'properties.requestRoutingRules', 'type': '[ApplicationGatewayRequestRoutingRule]'}, - 'redirect_configurations': {'key': 'properties.redirectConfigurations', 'type': '[ApplicationGatewayRedirectConfiguration]'}, - 'web_application_firewall_configuration': {'key': 'properties.webApplicationFirewallConfiguration', 'type': 'ApplicationGatewayWebApplicationFirewallConfiguration'}, - 'enable_http2': {'key': 'properties.enableHttp2', 'type': 'bool'}, - 'enable_fips': {'key': 'properties.enableFips', 'type': 'bool'}, - 'autoscale_configuration': {'key': 'properties.autoscaleConfiguration', 'type': 'ApplicationGatewayAutoscaleConfiguration'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'zones': {'key': 'zones', 'type': '[str]'}, - } - - def __init__(self, **kwargs): - super(ApplicationGateway, self).__init__(**kwargs) - self.sku = kwargs.get('sku', None) - self.ssl_policy = kwargs.get('ssl_policy', None) - self.operational_state = None - self.gateway_ip_configurations = kwargs.get('gateway_ip_configurations', None) - self.authentication_certificates = kwargs.get('authentication_certificates', None) - self.trusted_root_certificates = kwargs.get('trusted_root_certificates', None) - self.ssl_certificates = kwargs.get('ssl_certificates', None) - self.frontend_ip_configurations = kwargs.get('frontend_ip_configurations', None) - self.frontend_ports = kwargs.get('frontend_ports', None) - self.probes = kwargs.get('probes', None) - self.backend_address_pools = kwargs.get('backend_address_pools', None) - self.backend_http_settings_collection = kwargs.get('backend_http_settings_collection', None) - self.http_listeners = kwargs.get('http_listeners', None) - self.url_path_maps = kwargs.get('url_path_maps', None) - self.request_routing_rules = kwargs.get('request_routing_rules', None) - self.redirect_configurations = kwargs.get('redirect_configurations', None) - self.web_application_firewall_configuration = kwargs.get('web_application_firewall_configuration', None) - self.enable_http2 = kwargs.get('enable_http2', None) - self.enable_fips = kwargs.get('enable_fips', None) - self.autoscale_configuration = kwargs.get('autoscale_configuration', None) - self.resource_guid = kwargs.get('resource_guid', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.etag = kwargs.get('etag', None) - self.zones = kwargs.get('zones', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_authentication_certificate.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_authentication_certificate.py deleted file mode 100644 index 3b766e657c6..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_authentication_certificate.py +++ /dev/null @@ -1,51 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource import SubResource - - -class ApplicationGatewayAuthenticationCertificate(SubResource): - """Authentication certificates of an application gateway. - - :param id: Resource ID. - :type id: str - :param data: Certificate public data. - :type data: str - :param provisioning_state: Provisioning state of the authentication - certificate resource. Possible values are: 'Updating', 'Deleting', and - 'Failed'. - :type provisioning_state: str - :param name: Name of the authentication certificate that is unique within - an Application Gateway. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - :param type: Type of the resource. - :type type: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'data': {'key': 'properties.data', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayAuthenticationCertificate, self).__init__(**kwargs) - self.data = kwargs.get('data', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.name = kwargs.get('name', None) - self.etag = kwargs.get('etag', None) - self.type = kwargs.get('type', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_authentication_certificate_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_authentication_certificate_py3.py deleted file mode 100644 index d0c7f378884..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_authentication_certificate_py3.py +++ /dev/null @@ -1,51 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource_py3 import SubResource - - -class ApplicationGatewayAuthenticationCertificate(SubResource): - """Authentication certificates of an application gateway. - - :param id: Resource ID. - :type id: str - :param data: Certificate public data. - :type data: str - :param provisioning_state: Provisioning state of the authentication - certificate resource. Possible values are: 'Updating', 'Deleting', and - 'Failed'. - :type provisioning_state: str - :param name: Name of the authentication certificate that is unique within - an Application Gateway. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - :param type: Type of the resource. - :type type: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'data': {'key': 'properties.data', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, data: str=None, provisioning_state: str=None, name: str=None, etag: str=None, type: str=None, **kwargs) -> None: - super(ApplicationGatewayAuthenticationCertificate, self).__init__(id=id, **kwargs) - self.data = data - self.provisioning_state = provisioning_state - self.name = name - self.etag = etag - self.type = type diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_autoscale_bounds.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_autoscale_bounds.py deleted file mode 100644 index f36b8744e51..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_autoscale_bounds.py +++ /dev/null @@ -1,42 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ApplicationGatewayAutoscaleBounds(Model): - """Application Gateway autoscale bounds on number of Application Gateway - instance. - - All required parameters must be populated in order to send to Azure. - - :param min: Required. Lower bound on number of Application Gateway - instances. - :type min: int - :param max: Required. Upper bound on number of Application Gateway - instances. - :type max: int - """ - - _validation = { - 'min': {'required': True}, - 'max': {'required': True}, - } - - _attribute_map = { - 'min': {'key': 'min', 'type': 'int'}, - 'max': {'key': 'max', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayAutoscaleBounds, self).__init__(**kwargs) - self.min = kwargs.get('min', None) - self.max = kwargs.get('max', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_autoscale_bounds_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_autoscale_bounds_py3.py deleted file mode 100644 index fd93bf10f8f..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_autoscale_bounds_py3.py +++ /dev/null @@ -1,42 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ApplicationGatewayAutoscaleBounds(Model): - """Application Gateway autoscale bounds on number of Application Gateway - instance. - - All required parameters must be populated in order to send to Azure. - - :param min: Required. Lower bound on number of Application Gateway - instances. - :type min: int - :param max: Required. Upper bound on number of Application Gateway - instances. - :type max: int - """ - - _validation = { - 'min': {'required': True}, - 'max': {'required': True}, - } - - _attribute_map = { - 'min': {'key': 'min', 'type': 'int'}, - 'max': {'key': 'max', 'type': 'int'}, - } - - def __init__(self, *, min: int, max: int, **kwargs) -> None: - super(ApplicationGatewayAutoscaleBounds, self).__init__(**kwargs) - self.min = min - self.max = max diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_autoscale_configuration.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_autoscale_configuration.py deleted file mode 100644 index ae12d7fb1ad..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_autoscale_configuration.py +++ /dev/null @@ -1,35 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ApplicationGatewayAutoscaleConfiguration(Model): - """Application Gateway autoscale configuration. - - All required parameters must be populated in order to send to Azure. - - :param min_capacity: Required. Lower bound on number of Application - Gateway instances - :type min_capacity: int - """ - - _validation = { - 'min_capacity': {'required': True, 'minimum': 2}, - } - - _attribute_map = { - 'min_capacity': {'key': 'minCapacity', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayAutoscaleConfiguration, self).__init__(**kwargs) - self.min_capacity = kwargs.get('min_capacity', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_autoscale_configuration_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_autoscale_configuration_py3.py deleted file mode 100644 index b5408acfde2..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_autoscale_configuration_py3.py +++ /dev/null @@ -1,35 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ApplicationGatewayAutoscaleConfiguration(Model): - """Application Gateway autoscale configuration. - - All required parameters must be populated in order to send to Azure. - - :param min_capacity: Required. Lower bound on number of Application - Gateway instances - :type min_capacity: int - """ - - _validation = { - 'min_capacity': {'required': True, 'minimum': 2}, - } - - _attribute_map = { - 'min_capacity': {'key': 'minCapacity', 'type': 'int'}, - } - - def __init__(self, *, min_capacity: int, **kwargs) -> None: - super(ApplicationGatewayAutoscaleConfiguration, self).__init__(**kwargs) - self.min_capacity = min_capacity diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_available_ssl_options.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_available_ssl_options.py deleted file mode 100644 index cf08d8a3c8e..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_available_ssl_options.py +++ /dev/null @@ -1,70 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .resource import Resource - - -class ApplicationGatewayAvailableSslOptions(Resource): - """Response for ApplicationGatewayAvailableSslOptions API service call. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param predefined_policies: List of available Ssl predefined policy. - :type predefined_policies: - list[~azure.mgmt.network.v2018_08_01.models.SubResource] - :param default_policy: Name of the Ssl predefined policy applied by - default to application gateway. Possible values include: - 'AppGwSslPolicy20150501', 'AppGwSslPolicy20170401', - 'AppGwSslPolicy20170401S' - :type default_policy: str or - ~azure.mgmt.network.v2018_08_01.models.ApplicationGatewaySslPolicyName - :param available_cipher_suites: List of available Ssl cipher suites. - :type available_cipher_suites: list[str or - ~azure.mgmt.network.v2018_08_01.models.ApplicationGatewaySslCipherSuite] - :param available_protocols: List of available Ssl protocols. - :type available_protocols: list[str or - ~azure.mgmt.network.v2018_08_01.models.ApplicationGatewaySslProtocol] - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'predefined_policies': {'key': 'properties.predefinedPolicies', 'type': '[SubResource]'}, - 'default_policy': {'key': 'properties.defaultPolicy', 'type': 'str'}, - 'available_cipher_suites': {'key': 'properties.availableCipherSuites', 'type': '[str]'}, - 'available_protocols': {'key': 'properties.availableProtocols', 'type': '[str]'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayAvailableSslOptions, self).__init__(**kwargs) - self.predefined_policies = kwargs.get('predefined_policies', None) - self.default_policy = kwargs.get('default_policy', None) - self.available_cipher_suites = kwargs.get('available_cipher_suites', None) - self.available_protocols = kwargs.get('available_protocols', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_available_ssl_options_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_available_ssl_options_py3.py deleted file mode 100644 index d4962067f6a..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_available_ssl_options_py3.py +++ /dev/null @@ -1,70 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .resource_py3 import Resource - - -class ApplicationGatewayAvailableSslOptions(Resource): - """Response for ApplicationGatewayAvailableSslOptions API service call. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param predefined_policies: List of available Ssl predefined policy. - :type predefined_policies: - list[~azure.mgmt.network.v2018_08_01.models.SubResource] - :param default_policy: Name of the Ssl predefined policy applied by - default to application gateway. Possible values include: - 'AppGwSslPolicy20150501', 'AppGwSslPolicy20170401', - 'AppGwSslPolicy20170401S' - :type default_policy: str or - ~azure.mgmt.network.v2018_08_01.models.ApplicationGatewaySslPolicyName - :param available_cipher_suites: List of available Ssl cipher suites. - :type available_cipher_suites: list[str or - ~azure.mgmt.network.v2018_08_01.models.ApplicationGatewaySslCipherSuite] - :param available_protocols: List of available Ssl protocols. - :type available_protocols: list[str or - ~azure.mgmt.network.v2018_08_01.models.ApplicationGatewaySslProtocol] - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'predefined_policies': {'key': 'properties.predefinedPolicies', 'type': '[SubResource]'}, - 'default_policy': {'key': 'properties.defaultPolicy', 'type': 'str'}, - 'available_cipher_suites': {'key': 'properties.availableCipherSuites', 'type': '[str]'}, - 'available_protocols': {'key': 'properties.availableProtocols', 'type': '[str]'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, predefined_policies=None, default_policy=None, available_cipher_suites=None, available_protocols=None, **kwargs) -> None: - super(ApplicationGatewayAvailableSslOptions, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.predefined_policies = predefined_policies - self.default_policy = default_policy - self.available_cipher_suites = available_cipher_suites - self.available_protocols = available_protocols diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_available_waf_rule_sets_result.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_available_waf_rule_sets_result.py deleted file mode 100644 index ccb1279fb89..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_available_waf_rule_sets_result.py +++ /dev/null @@ -1,29 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ApplicationGatewayAvailableWafRuleSetsResult(Model): - """Response for ApplicationGatewayAvailableWafRuleSets API service call. - - :param value: The list of application gateway rule sets. - :type value: - list[~azure.mgmt.network.v2018_08_01.models.ApplicationGatewayFirewallRuleSet] - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[ApplicationGatewayFirewallRuleSet]'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayAvailableWafRuleSetsResult, self).__init__(**kwargs) - self.value = kwargs.get('value', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_available_waf_rule_sets_result_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_available_waf_rule_sets_result_py3.py deleted file mode 100644 index 69c19902d62..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_available_waf_rule_sets_result_py3.py +++ /dev/null @@ -1,29 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ApplicationGatewayAvailableWafRuleSetsResult(Model): - """Response for ApplicationGatewayAvailableWafRuleSets API service call. - - :param value: The list of application gateway rule sets. - :type value: - list[~azure.mgmt.network.v2018_08_01.models.ApplicationGatewayFirewallRuleSet] - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[ApplicationGatewayFirewallRuleSet]'}, - } - - def __init__(self, *, value=None, **kwargs) -> None: - super(ApplicationGatewayAvailableWafRuleSetsResult, self).__init__(**kwargs) - self.value = value diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_backend_address.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_backend_address.py deleted file mode 100644 index e7a61fe1705..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_backend_address.py +++ /dev/null @@ -1,32 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ApplicationGatewayBackendAddress(Model): - """Backend address of an application gateway. - - :param fqdn: Fully qualified domain name (FQDN). - :type fqdn: str - :param ip_address: IP address - :type ip_address: str - """ - - _attribute_map = { - 'fqdn': {'key': 'fqdn', 'type': 'str'}, - 'ip_address': {'key': 'ipAddress', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayBackendAddress, self).__init__(**kwargs) - self.fqdn = kwargs.get('fqdn', None) - self.ip_address = kwargs.get('ip_address', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_backend_address_pool.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_backend_address_pool.py deleted file mode 100644 index 28b231006fa..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_backend_address_pool.py +++ /dev/null @@ -1,57 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource import SubResource - - -class ApplicationGatewayBackendAddressPool(SubResource): - """Backend Address Pool of an application gateway. - - :param id: Resource ID. - :type id: str - :param backend_ip_configurations: Collection of references to IPs defined - in network interfaces. - :type backend_ip_configurations: - list[~azure.mgmt.network.v2018_08_01.models.NetworkInterfaceIPConfiguration] - :param backend_addresses: Backend addresses - :type backend_addresses: - list[~azure.mgmt.network.v2018_08_01.models.ApplicationGatewayBackendAddress] - :param provisioning_state: Provisioning state of the backend address pool - resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - :type provisioning_state: str - :param name: Name of the backend address pool that is unique within an - Application Gateway. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - :param type: Type of the resource. - :type type: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'backend_ip_configurations': {'key': 'properties.backendIPConfigurations', 'type': '[NetworkInterfaceIPConfiguration]'}, - 'backend_addresses': {'key': 'properties.backendAddresses', 'type': '[ApplicationGatewayBackendAddress]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayBackendAddressPool, self).__init__(**kwargs) - self.backend_ip_configurations = kwargs.get('backend_ip_configurations', None) - self.backend_addresses = kwargs.get('backend_addresses', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.name = kwargs.get('name', None) - self.etag = kwargs.get('etag', None) - self.type = kwargs.get('type', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_backend_address_pool_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_backend_address_pool_py3.py deleted file mode 100644 index f6a6132c9ac..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_backend_address_pool_py3.py +++ /dev/null @@ -1,57 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource_py3 import SubResource - - -class ApplicationGatewayBackendAddressPool(SubResource): - """Backend Address Pool of an application gateway. - - :param id: Resource ID. - :type id: str - :param backend_ip_configurations: Collection of references to IPs defined - in network interfaces. - :type backend_ip_configurations: - list[~azure.mgmt.network.v2018_08_01.models.NetworkInterfaceIPConfiguration] - :param backend_addresses: Backend addresses - :type backend_addresses: - list[~azure.mgmt.network.v2018_08_01.models.ApplicationGatewayBackendAddress] - :param provisioning_state: Provisioning state of the backend address pool - resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - :type provisioning_state: str - :param name: Name of the backend address pool that is unique within an - Application Gateway. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - :param type: Type of the resource. - :type type: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'backend_ip_configurations': {'key': 'properties.backendIPConfigurations', 'type': '[NetworkInterfaceIPConfiguration]'}, - 'backend_addresses': {'key': 'properties.backendAddresses', 'type': '[ApplicationGatewayBackendAddress]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, backend_ip_configurations=None, backend_addresses=None, provisioning_state: str=None, name: str=None, etag: str=None, type: str=None, **kwargs) -> None: - super(ApplicationGatewayBackendAddressPool, self).__init__(id=id, **kwargs) - self.backend_ip_configurations = backend_ip_configurations - self.backend_addresses = backend_addresses - self.provisioning_state = provisioning_state - self.name = name - self.etag = etag - self.type = type diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_backend_address_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_backend_address_py3.py deleted file mode 100644 index d18e476244d..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_backend_address_py3.py +++ /dev/null @@ -1,32 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ApplicationGatewayBackendAddress(Model): - """Backend address of an application gateway. - - :param fqdn: Fully qualified domain name (FQDN). - :type fqdn: str - :param ip_address: IP address - :type ip_address: str - """ - - _attribute_map = { - 'fqdn': {'key': 'fqdn', 'type': 'str'}, - 'ip_address': {'key': 'ipAddress', 'type': 'str'}, - } - - def __init__(self, *, fqdn: str=None, ip_address: str=None, **kwargs) -> None: - super(ApplicationGatewayBackendAddress, self).__init__(**kwargs) - self.fqdn = fqdn - self.ip_address = ip_address diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_backend_health.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_backend_health.py deleted file mode 100644 index 91e07749257..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_backend_health.py +++ /dev/null @@ -1,29 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ApplicationGatewayBackendHealth(Model): - """List of ApplicationGatewayBackendHealthPool resources. - - :param backend_address_pools: - :type backend_address_pools: - list[~azure.mgmt.network.v2018_08_01.models.ApplicationGatewayBackendHealthPool] - """ - - _attribute_map = { - 'backend_address_pools': {'key': 'backendAddressPools', 'type': '[ApplicationGatewayBackendHealthPool]'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayBackendHealth, self).__init__(**kwargs) - self.backend_address_pools = kwargs.get('backend_address_pools', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_backend_health_http_settings.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_backend_health_http_settings.py deleted file mode 100644 index 9b3eae09eb0..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_backend_health_http_settings.py +++ /dev/null @@ -1,35 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ApplicationGatewayBackendHealthHttpSettings(Model): - """Application gateway BackendHealthHttp settings. - - :param backend_http_settings: Reference of an - ApplicationGatewayBackendHttpSettings resource. - :type backend_http_settings: - ~azure.mgmt.network.v2018_08_01.models.ApplicationGatewayBackendHttpSettings - :param servers: List of ApplicationGatewayBackendHealthServer resources. - :type servers: - list[~azure.mgmt.network.v2018_08_01.models.ApplicationGatewayBackendHealthServer] - """ - - _attribute_map = { - 'backend_http_settings': {'key': 'backendHttpSettings', 'type': 'ApplicationGatewayBackendHttpSettings'}, - 'servers': {'key': 'servers', 'type': '[ApplicationGatewayBackendHealthServer]'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayBackendHealthHttpSettings, self).__init__(**kwargs) - self.backend_http_settings = kwargs.get('backend_http_settings', None) - self.servers = kwargs.get('servers', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_backend_health_http_settings_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_backend_health_http_settings_py3.py deleted file mode 100644 index 2353eaf3f82..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_backend_health_http_settings_py3.py +++ /dev/null @@ -1,35 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ApplicationGatewayBackendHealthHttpSettings(Model): - """Application gateway BackendHealthHttp settings. - - :param backend_http_settings: Reference of an - ApplicationGatewayBackendHttpSettings resource. - :type backend_http_settings: - ~azure.mgmt.network.v2018_08_01.models.ApplicationGatewayBackendHttpSettings - :param servers: List of ApplicationGatewayBackendHealthServer resources. - :type servers: - list[~azure.mgmt.network.v2018_08_01.models.ApplicationGatewayBackendHealthServer] - """ - - _attribute_map = { - 'backend_http_settings': {'key': 'backendHttpSettings', 'type': 'ApplicationGatewayBackendHttpSettings'}, - 'servers': {'key': 'servers', 'type': '[ApplicationGatewayBackendHealthServer]'}, - } - - def __init__(self, *, backend_http_settings=None, servers=None, **kwargs) -> None: - super(ApplicationGatewayBackendHealthHttpSettings, self).__init__(**kwargs) - self.backend_http_settings = backend_http_settings - self.servers = servers diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_backend_health_pool.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_backend_health_pool.py deleted file mode 100644 index ec615c1d247..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_backend_health_pool.py +++ /dev/null @@ -1,36 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ApplicationGatewayBackendHealthPool(Model): - """Application gateway BackendHealth pool. - - :param backend_address_pool: Reference of an - ApplicationGatewayBackendAddressPool resource. - :type backend_address_pool: - ~azure.mgmt.network.v2018_08_01.models.ApplicationGatewayBackendAddressPool - :param backend_http_settings_collection: List of - ApplicationGatewayBackendHealthHttpSettings resources. - :type backend_http_settings_collection: - list[~azure.mgmt.network.v2018_08_01.models.ApplicationGatewayBackendHealthHttpSettings] - """ - - _attribute_map = { - 'backend_address_pool': {'key': 'backendAddressPool', 'type': 'ApplicationGatewayBackendAddressPool'}, - 'backend_http_settings_collection': {'key': 'backendHttpSettingsCollection', 'type': '[ApplicationGatewayBackendHealthHttpSettings]'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayBackendHealthPool, self).__init__(**kwargs) - self.backend_address_pool = kwargs.get('backend_address_pool', None) - self.backend_http_settings_collection = kwargs.get('backend_http_settings_collection', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_backend_health_pool_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_backend_health_pool_py3.py deleted file mode 100644 index fe90c559931..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_backend_health_pool_py3.py +++ /dev/null @@ -1,36 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ApplicationGatewayBackendHealthPool(Model): - """Application gateway BackendHealth pool. - - :param backend_address_pool: Reference of an - ApplicationGatewayBackendAddressPool resource. - :type backend_address_pool: - ~azure.mgmt.network.v2018_08_01.models.ApplicationGatewayBackendAddressPool - :param backend_http_settings_collection: List of - ApplicationGatewayBackendHealthHttpSettings resources. - :type backend_http_settings_collection: - list[~azure.mgmt.network.v2018_08_01.models.ApplicationGatewayBackendHealthHttpSettings] - """ - - _attribute_map = { - 'backend_address_pool': {'key': 'backendAddressPool', 'type': 'ApplicationGatewayBackendAddressPool'}, - 'backend_http_settings_collection': {'key': 'backendHttpSettingsCollection', 'type': '[ApplicationGatewayBackendHealthHttpSettings]'}, - } - - def __init__(self, *, backend_address_pool=None, backend_http_settings_collection=None, **kwargs) -> None: - super(ApplicationGatewayBackendHealthPool, self).__init__(**kwargs) - self.backend_address_pool = backend_address_pool - self.backend_http_settings_collection = backend_http_settings_collection diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_backend_health_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_backend_health_py3.py deleted file mode 100644 index d0d5f89b8c7..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_backend_health_py3.py +++ /dev/null @@ -1,29 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ApplicationGatewayBackendHealth(Model): - """List of ApplicationGatewayBackendHealthPool resources. - - :param backend_address_pools: - :type backend_address_pools: - list[~azure.mgmt.network.v2018_08_01.models.ApplicationGatewayBackendHealthPool] - """ - - _attribute_map = { - 'backend_address_pools': {'key': 'backendAddressPools', 'type': '[ApplicationGatewayBackendHealthPool]'}, - } - - def __init__(self, *, backend_address_pools=None, **kwargs) -> None: - super(ApplicationGatewayBackendHealth, self).__init__(**kwargs) - self.backend_address_pools = backend_address_pools diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_backend_health_server.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_backend_health_server.py deleted file mode 100644 index 1cee27552ad..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_backend_health_server.py +++ /dev/null @@ -1,39 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ApplicationGatewayBackendHealthServer(Model): - """Application gateway backendhealth http settings. - - :param address: IP address or FQDN of backend server. - :type address: str - :param ip_configuration: Reference of IP configuration of backend server. - :type ip_configuration: - ~azure.mgmt.network.v2018_08_01.models.NetworkInterfaceIPConfiguration - :param health: Health of backend server. Possible values include: - 'Unknown', 'Up', 'Down', 'Partial', 'Draining' - :type health: str or - ~azure.mgmt.network.v2018_08_01.models.ApplicationGatewayBackendHealthServerHealth - """ - - _attribute_map = { - 'address': {'key': 'address', 'type': 'str'}, - 'ip_configuration': {'key': 'ipConfiguration', 'type': 'NetworkInterfaceIPConfiguration'}, - 'health': {'key': 'health', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayBackendHealthServer, self).__init__(**kwargs) - self.address = kwargs.get('address', None) - self.ip_configuration = kwargs.get('ip_configuration', None) - self.health = kwargs.get('health', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_backend_health_server_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_backend_health_server_py3.py deleted file mode 100644 index 1160c3f09aa..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_backend_health_server_py3.py +++ /dev/null @@ -1,39 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ApplicationGatewayBackendHealthServer(Model): - """Application gateway backendhealth http settings. - - :param address: IP address or FQDN of backend server. - :type address: str - :param ip_configuration: Reference of IP configuration of backend server. - :type ip_configuration: - ~azure.mgmt.network.v2018_08_01.models.NetworkInterfaceIPConfiguration - :param health: Health of backend server. Possible values include: - 'Unknown', 'Up', 'Down', 'Partial', 'Draining' - :type health: str or - ~azure.mgmt.network.v2018_08_01.models.ApplicationGatewayBackendHealthServerHealth - """ - - _attribute_map = { - 'address': {'key': 'address', 'type': 'str'}, - 'ip_configuration': {'key': 'ipConfiguration', 'type': 'NetworkInterfaceIPConfiguration'}, - 'health': {'key': 'health', 'type': 'str'}, - } - - def __init__(self, *, address: str=None, ip_configuration=None, health=None, **kwargs) -> None: - super(ApplicationGatewayBackendHealthServer, self).__init__(**kwargs) - self.address = address - self.ip_configuration = ip_configuration - self.health = health diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_backend_http_settings.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_backend_http_settings.py deleted file mode 100644 index 80ca0d6f341..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_backend_http_settings.py +++ /dev/null @@ -1,115 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource import SubResource - - -class ApplicationGatewayBackendHttpSettings(SubResource): - """Backend address pool settings of an application gateway. - - :param id: Resource ID. - :type id: str - :param port: The destination port on the backend. - :type port: int - :param protocol: The protocol used to communicate with the backend. - Possible values are 'Http' and 'Https'. Possible values include: 'Http', - 'Https' - :type protocol: str or - ~azure.mgmt.network.v2018_08_01.models.ApplicationGatewayProtocol - :param cookie_based_affinity: Cookie based affinity. Possible values - include: 'Enabled', 'Disabled' - :type cookie_based_affinity: str or - ~azure.mgmt.network.v2018_08_01.models.ApplicationGatewayCookieBasedAffinity - :param request_timeout: Request timeout in seconds. Application Gateway - will fail the request if response is not received within RequestTimeout. - Acceptable values are from 1 second to 86400 seconds. - :type request_timeout: int - :param probe: Probe resource of an application gateway. - :type probe: ~azure.mgmt.network.v2018_08_01.models.SubResource - :param authentication_certificates: Array of references to application - gateway authentication certificates. - :type authentication_certificates: - list[~azure.mgmt.network.v2018_08_01.models.SubResource] - :param trusted_root_certificates: Array of references to application - gateway trusted root certificates. - :type trusted_root_certificates: - list[~azure.mgmt.network.v2018_08_01.models.SubResource] - :param connection_draining: Connection draining of the backend http - settings resource. - :type connection_draining: - ~azure.mgmt.network.v2018_08_01.models.ApplicationGatewayConnectionDraining - :param host_name: Host header to be sent to the backend servers. - :type host_name: str - :param pick_host_name_from_backend_address: Whether to pick host header - should be picked from the host name of the backend server. Default value - is false. - :type pick_host_name_from_backend_address: bool - :param affinity_cookie_name: Cookie name to use for the affinity cookie. - :type affinity_cookie_name: str - :param probe_enabled: Whether the probe is enabled. Default value is - false. - :type probe_enabled: bool - :param path: Path which should be used as a prefix for all HTTP requests. - Null means no path will be prefixed. Default value is null. - :type path: str - :param provisioning_state: Provisioning state of the backend http settings - resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - :type provisioning_state: str - :param name: Name of the backend http settings that is unique within an - Application Gateway. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - :param type: Type of the resource. - :type type: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'port': {'key': 'properties.port', 'type': 'int'}, - 'protocol': {'key': 'properties.protocol', 'type': 'str'}, - 'cookie_based_affinity': {'key': 'properties.cookieBasedAffinity', 'type': 'str'}, - 'request_timeout': {'key': 'properties.requestTimeout', 'type': 'int'}, - 'probe': {'key': 'properties.probe', 'type': 'SubResource'}, - 'authentication_certificates': {'key': 'properties.authenticationCertificates', 'type': '[SubResource]'}, - 'trusted_root_certificates': {'key': 'properties.trustedRootCertificates', 'type': '[SubResource]'}, - 'connection_draining': {'key': 'properties.connectionDraining', 'type': 'ApplicationGatewayConnectionDraining'}, - 'host_name': {'key': 'properties.hostName', 'type': 'str'}, - 'pick_host_name_from_backend_address': {'key': 'properties.pickHostNameFromBackendAddress', 'type': 'bool'}, - 'affinity_cookie_name': {'key': 'properties.affinityCookieName', 'type': 'str'}, - 'probe_enabled': {'key': 'properties.probeEnabled', 'type': 'bool'}, - 'path': {'key': 'properties.path', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayBackendHttpSettings, self).__init__(**kwargs) - self.port = kwargs.get('port', None) - self.protocol = kwargs.get('protocol', None) - self.cookie_based_affinity = kwargs.get('cookie_based_affinity', None) - self.request_timeout = kwargs.get('request_timeout', None) - self.probe = kwargs.get('probe', None) - self.authentication_certificates = kwargs.get('authentication_certificates', None) - self.trusted_root_certificates = kwargs.get('trusted_root_certificates', None) - self.connection_draining = kwargs.get('connection_draining', None) - self.host_name = kwargs.get('host_name', None) - self.pick_host_name_from_backend_address = kwargs.get('pick_host_name_from_backend_address', None) - self.affinity_cookie_name = kwargs.get('affinity_cookie_name', None) - self.probe_enabled = kwargs.get('probe_enabled', None) - self.path = kwargs.get('path', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.name = kwargs.get('name', None) - self.etag = kwargs.get('etag', None) - self.type = kwargs.get('type', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_backend_http_settings_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_backend_http_settings_py3.py deleted file mode 100644 index 7c216a9cd32..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_backend_http_settings_py3.py +++ /dev/null @@ -1,115 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource_py3 import SubResource - - -class ApplicationGatewayBackendHttpSettings(SubResource): - """Backend address pool settings of an application gateway. - - :param id: Resource ID. - :type id: str - :param port: The destination port on the backend. - :type port: int - :param protocol: The protocol used to communicate with the backend. - Possible values are 'Http' and 'Https'. Possible values include: 'Http', - 'Https' - :type protocol: str or - ~azure.mgmt.network.v2018_08_01.models.ApplicationGatewayProtocol - :param cookie_based_affinity: Cookie based affinity. Possible values - include: 'Enabled', 'Disabled' - :type cookie_based_affinity: str or - ~azure.mgmt.network.v2018_08_01.models.ApplicationGatewayCookieBasedAffinity - :param request_timeout: Request timeout in seconds. Application Gateway - will fail the request if response is not received within RequestTimeout. - Acceptable values are from 1 second to 86400 seconds. - :type request_timeout: int - :param probe: Probe resource of an application gateway. - :type probe: ~azure.mgmt.network.v2018_08_01.models.SubResource - :param authentication_certificates: Array of references to application - gateway authentication certificates. - :type authentication_certificates: - list[~azure.mgmt.network.v2018_08_01.models.SubResource] - :param trusted_root_certificates: Array of references to application - gateway trusted root certificates. - :type trusted_root_certificates: - list[~azure.mgmt.network.v2018_08_01.models.SubResource] - :param connection_draining: Connection draining of the backend http - settings resource. - :type connection_draining: - ~azure.mgmt.network.v2018_08_01.models.ApplicationGatewayConnectionDraining - :param host_name: Host header to be sent to the backend servers. - :type host_name: str - :param pick_host_name_from_backend_address: Whether to pick host header - should be picked from the host name of the backend server. Default value - is false. - :type pick_host_name_from_backend_address: bool - :param affinity_cookie_name: Cookie name to use for the affinity cookie. - :type affinity_cookie_name: str - :param probe_enabled: Whether the probe is enabled. Default value is - false. - :type probe_enabled: bool - :param path: Path which should be used as a prefix for all HTTP requests. - Null means no path will be prefixed. Default value is null. - :type path: str - :param provisioning_state: Provisioning state of the backend http settings - resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - :type provisioning_state: str - :param name: Name of the backend http settings that is unique within an - Application Gateway. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - :param type: Type of the resource. - :type type: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'port': {'key': 'properties.port', 'type': 'int'}, - 'protocol': {'key': 'properties.protocol', 'type': 'str'}, - 'cookie_based_affinity': {'key': 'properties.cookieBasedAffinity', 'type': 'str'}, - 'request_timeout': {'key': 'properties.requestTimeout', 'type': 'int'}, - 'probe': {'key': 'properties.probe', 'type': 'SubResource'}, - 'authentication_certificates': {'key': 'properties.authenticationCertificates', 'type': '[SubResource]'}, - 'trusted_root_certificates': {'key': 'properties.trustedRootCertificates', 'type': '[SubResource]'}, - 'connection_draining': {'key': 'properties.connectionDraining', 'type': 'ApplicationGatewayConnectionDraining'}, - 'host_name': {'key': 'properties.hostName', 'type': 'str'}, - 'pick_host_name_from_backend_address': {'key': 'properties.pickHostNameFromBackendAddress', 'type': 'bool'}, - 'affinity_cookie_name': {'key': 'properties.affinityCookieName', 'type': 'str'}, - 'probe_enabled': {'key': 'properties.probeEnabled', 'type': 'bool'}, - 'path': {'key': 'properties.path', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, port: int=None, protocol=None, cookie_based_affinity=None, request_timeout: int=None, probe=None, authentication_certificates=None, trusted_root_certificates=None, connection_draining=None, host_name: str=None, pick_host_name_from_backend_address: bool=None, affinity_cookie_name: str=None, probe_enabled: bool=None, path: str=None, provisioning_state: str=None, name: str=None, etag: str=None, type: str=None, **kwargs) -> None: - super(ApplicationGatewayBackendHttpSettings, self).__init__(id=id, **kwargs) - self.port = port - self.protocol = protocol - self.cookie_based_affinity = cookie_based_affinity - self.request_timeout = request_timeout - self.probe = probe - self.authentication_certificates = authentication_certificates - self.trusted_root_certificates = trusted_root_certificates - self.connection_draining = connection_draining - self.host_name = host_name - self.pick_host_name_from_backend_address = pick_host_name_from_backend_address - self.affinity_cookie_name = affinity_cookie_name - self.probe_enabled = probe_enabled - self.path = path - self.provisioning_state = provisioning_state - self.name = name - self.etag = etag - self.type = type diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_connection_draining.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_connection_draining.py deleted file mode 100644 index 531b3cb05dd..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_connection_draining.py +++ /dev/null @@ -1,42 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ApplicationGatewayConnectionDraining(Model): - """Connection draining allows open connections to a backend server to be - active for a specified time after the backend server got removed from the - configuration. - - All required parameters must be populated in order to send to Azure. - - :param enabled: Required. Whether connection draining is enabled or not. - :type enabled: bool - :param drain_timeout_in_sec: Required. The number of seconds connection - draining is active. Acceptable values are from 1 second to 3600 seconds. - :type drain_timeout_in_sec: int - """ - - _validation = { - 'enabled': {'required': True}, - 'drain_timeout_in_sec': {'required': True, 'maximum': 3600, 'minimum': 1}, - } - - _attribute_map = { - 'enabled': {'key': 'enabled', 'type': 'bool'}, - 'drain_timeout_in_sec': {'key': 'drainTimeoutInSec', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayConnectionDraining, self).__init__(**kwargs) - self.enabled = kwargs.get('enabled', None) - self.drain_timeout_in_sec = kwargs.get('drain_timeout_in_sec', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_connection_draining_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_connection_draining_py3.py deleted file mode 100644 index c46fb01cae7..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_connection_draining_py3.py +++ /dev/null @@ -1,42 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ApplicationGatewayConnectionDraining(Model): - """Connection draining allows open connections to a backend server to be - active for a specified time after the backend server got removed from the - configuration. - - All required parameters must be populated in order to send to Azure. - - :param enabled: Required. Whether connection draining is enabled or not. - :type enabled: bool - :param drain_timeout_in_sec: Required. The number of seconds connection - draining is active. Acceptable values are from 1 second to 3600 seconds. - :type drain_timeout_in_sec: int - """ - - _validation = { - 'enabled': {'required': True}, - 'drain_timeout_in_sec': {'required': True, 'maximum': 3600, 'minimum': 1}, - } - - _attribute_map = { - 'enabled': {'key': 'enabled', 'type': 'bool'}, - 'drain_timeout_in_sec': {'key': 'drainTimeoutInSec', 'type': 'int'}, - } - - def __init__(self, *, enabled: bool, drain_timeout_in_sec: int, **kwargs) -> None: - super(ApplicationGatewayConnectionDraining, self).__init__(**kwargs) - self.enabled = enabled - self.drain_timeout_in_sec = drain_timeout_in_sec diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_firewall_disabled_rule_group.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_firewall_disabled_rule_group.py deleted file mode 100644 index 085ae3d78c5..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_firewall_disabled_rule_group.py +++ /dev/null @@ -1,40 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ApplicationGatewayFirewallDisabledRuleGroup(Model): - """Allows to disable rules within a rule group or an entire rule group. - - All required parameters must be populated in order to send to Azure. - - :param rule_group_name: Required. The name of the rule group that will be - disabled. - :type rule_group_name: str - :param rules: The list of rules that will be disabled. If null, all rules - of the rule group will be disabled. - :type rules: list[int] - """ - - _validation = { - 'rule_group_name': {'required': True}, - } - - _attribute_map = { - 'rule_group_name': {'key': 'ruleGroupName', 'type': 'str'}, - 'rules': {'key': 'rules', 'type': '[int]'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayFirewallDisabledRuleGroup, self).__init__(**kwargs) - self.rule_group_name = kwargs.get('rule_group_name', None) - self.rules = kwargs.get('rules', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_firewall_disabled_rule_group_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_firewall_disabled_rule_group_py3.py deleted file mode 100644 index 44ac696b801..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_firewall_disabled_rule_group_py3.py +++ /dev/null @@ -1,40 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ApplicationGatewayFirewallDisabledRuleGroup(Model): - """Allows to disable rules within a rule group or an entire rule group. - - All required parameters must be populated in order to send to Azure. - - :param rule_group_name: Required. The name of the rule group that will be - disabled. - :type rule_group_name: str - :param rules: The list of rules that will be disabled. If null, all rules - of the rule group will be disabled. - :type rules: list[int] - """ - - _validation = { - 'rule_group_name': {'required': True}, - } - - _attribute_map = { - 'rule_group_name': {'key': 'ruleGroupName', 'type': 'str'}, - 'rules': {'key': 'rules', 'type': '[int]'}, - } - - def __init__(self, *, rule_group_name: str, rules=None, **kwargs) -> None: - super(ApplicationGatewayFirewallDisabledRuleGroup, self).__init__(**kwargs) - self.rule_group_name = rule_group_name - self.rules = rules diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_firewall_rule.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_firewall_rule.py deleted file mode 100644 index 661b0d146e1..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_firewall_rule.py +++ /dev/null @@ -1,39 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ApplicationGatewayFirewallRule(Model): - """A web application firewall rule. - - All required parameters must be populated in order to send to Azure. - - :param rule_id: Required. The identifier of the web application firewall - rule. - :type rule_id: int - :param description: The description of the web application firewall rule. - :type description: str - """ - - _validation = { - 'rule_id': {'required': True}, - } - - _attribute_map = { - 'rule_id': {'key': 'ruleId', 'type': 'int'}, - 'description': {'key': 'description', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayFirewallRule, self).__init__(**kwargs) - self.rule_id = kwargs.get('rule_id', None) - self.description = kwargs.get('description', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_firewall_rule_group.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_firewall_rule_group.py deleted file mode 100644 index 416cd6beab1..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_firewall_rule_group.py +++ /dev/null @@ -1,47 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ApplicationGatewayFirewallRuleGroup(Model): - """A web application firewall rule group. - - All required parameters must be populated in order to send to Azure. - - :param rule_group_name: Required. The name of the web application firewall - rule group. - :type rule_group_name: str - :param description: The description of the web application firewall rule - group. - :type description: str - :param rules: Required. The rules of the web application firewall rule - group. - :type rules: - list[~azure.mgmt.network.v2018_08_01.models.ApplicationGatewayFirewallRule] - """ - - _validation = { - 'rule_group_name': {'required': True}, - 'rules': {'required': True}, - } - - _attribute_map = { - 'rule_group_name': {'key': 'ruleGroupName', 'type': 'str'}, - 'description': {'key': 'description', 'type': 'str'}, - 'rules': {'key': 'rules', 'type': '[ApplicationGatewayFirewallRule]'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayFirewallRuleGroup, self).__init__(**kwargs) - self.rule_group_name = kwargs.get('rule_group_name', None) - self.description = kwargs.get('description', None) - self.rules = kwargs.get('rules', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_firewall_rule_group_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_firewall_rule_group_py3.py deleted file mode 100644 index 627d4559429..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_firewall_rule_group_py3.py +++ /dev/null @@ -1,47 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ApplicationGatewayFirewallRuleGroup(Model): - """A web application firewall rule group. - - All required parameters must be populated in order to send to Azure. - - :param rule_group_name: Required. The name of the web application firewall - rule group. - :type rule_group_name: str - :param description: The description of the web application firewall rule - group. - :type description: str - :param rules: Required. The rules of the web application firewall rule - group. - :type rules: - list[~azure.mgmt.network.v2018_08_01.models.ApplicationGatewayFirewallRule] - """ - - _validation = { - 'rule_group_name': {'required': True}, - 'rules': {'required': True}, - } - - _attribute_map = { - 'rule_group_name': {'key': 'ruleGroupName', 'type': 'str'}, - 'description': {'key': 'description', 'type': 'str'}, - 'rules': {'key': 'rules', 'type': '[ApplicationGatewayFirewallRule]'}, - } - - def __init__(self, *, rule_group_name: str, rules, description: str=None, **kwargs) -> None: - super(ApplicationGatewayFirewallRuleGroup, self).__init__(**kwargs) - self.rule_group_name = rule_group_name - self.description = description - self.rules = rules diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_firewall_rule_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_firewall_rule_py3.py deleted file mode 100644 index e332fbd1685..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_firewall_rule_py3.py +++ /dev/null @@ -1,39 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ApplicationGatewayFirewallRule(Model): - """A web application firewall rule. - - All required parameters must be populated in order to send to Azure. - - :param rule_id: Required. The identifier of the web application firewall - rule. - :type rule_id: int - :param description: The description of the web application firewall rule. - :type description: str - """ - - _validation = { - 'rule_id': {'required': True}, - } - - _attribute_map = { - 'rule_id': {'key': 'ruleId', 'type': 'int'}, - 'description': {'key': 'description', 'type': 'str'}, - } - - def __init__(self, *, rule_id: int, description: str=None, **kwargs) -> None: - super(ApplicationGatewayFirewallRule, self).__init__(**kwargs) - self.rule_id = rule_id - self.description = description diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_firewall_rule_set.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_firewall_rule_set.py deleted file mode 100644 index a2145cffcd0..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_firewall_rule_set.py +++ /dev/null @@ -1,73 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .resource import Resource - - -class ApplicationGatewayFirewallRuleSet(Resource): - """A web application firewall rule set. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param provisioning_state: The provisioning state of the web application - firewall rule set. - :type provisioning_state: str - :param rule_set_type: Required. The type of the web application firewall - rule set. - :type rule_set_type: str - :param rule_set_version: Required. The version of the web application - firewall rule set type. - :type rule_set_version: str - :param rule_groups: Required. The rule groups of the web application - firewall rule set. - :type rule_groups: - list[~azure.mgmt.network.v2018_08_01.models.ApplicationGatewayFirewallRuleGroup] - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'rule_set_type': {'required': True}, - 'rule_set_version': {'required': True}, - 'rule_groups': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'rule_set_type': {'key': 'properties.ruleSetType', 'type': 'str'}, - 'rule_set_version': {'key': 'properties.ruleSetVersion', 'type': 'str'}, - 'rule_groups': {'key': 'properties.ruleGroups', 'type': '[ApplicationGatewayFirewallRuleGroup]'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayFirewallRuleSet, self).__init__(**kwargs) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.rule_set_type = kwargs.get('rule_set_type', None) - self.rule_set_version = kwargs.get('rule_set_version', None) - self.rule_groups = kwargs.get('rule_groups', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_firewall_rule_set_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_firewall_rule_set_py3.py deleted file mode 100644 index 1b571bf0c71..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_firewall_rule_set_py3.py +++ /dev/null @@ -1,73 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .resource_py3 import Resource - - -class ApplicationGatewayFirewallRuleSet(Resource): - """A web application firewall rule set. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param provisioning_state: The provisioning state of the web application - firewall rule set. - :type provisioning_state: str - :param rule_set_type: Required. The type of the web application firewall - rule set. - :type rule_set_type: str - :param rule_set_version: Required. The version of the web application - firewall rule set type. - :type rule_set_version: str - :param rule_groups: Required. The rule groups of the web application - firewall rule set. - :type rule_groups: - list[~azure.mgmt.network.v2018_08_01.models.ApplicationGatewayFirewallRuleGroup] - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'rule_set_type': {'required': True}, - 'rule_set_version': {'required': True}, - 'rule_groups': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'rule_set_type': {'key': 'properties.ruleSetType', 'type': 'str'}, - 'rule_set_version': {'key': 'properties.ruleSetVersion', 'type': 'str'}, - 'rule_groups': {'key': 'properties.ruleGroups', 'type': '[ApplicationGatewayFirewallRuleGroup]'}, - } - - def __init__(self, *, rule_set_type: str, rule_set_version: str, rule_groups, id: str=None, location: str=None, tags=None, provisioning_state: str=None, **kwargs) -> None: - super(ApplicationGatewayFirewallRuleSet, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.provisioning_state = provisioning_state - self.rule_set_type = rule_set_type - self.rule_set_version = rule_set_version - self.rule_groups = rule_groups diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_frontend_ip_configuration.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_frontend_ip_configuration.py deleted file mode 100644 index 51b89de3063..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_frontend_ip_configuration.py +++ /dev/null @@ -1,66 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource import SubResource - - -class ApplicationGatewayFrontendIPConfiguration(SubResource): - """Frontend IP configuration of an application gateway. - - :param id: Resource ID. - :type id: str - :param private_ip_address: PrivateIPAddress of the network interface IP - Configuration. - :type private_ip_address: str - :param private_ip_allocation_method: PrivateIP allocation method. Possible - values include: 'Static', 'Dynamic' - :type private_ip_allocation_method: str or - ~azure.mgmt.network.v2018_08_01.models.IPAllocationMethod - :param subnet: Reference of the subnet resource. - :type subnet: ~azure.mgmt.network.v2018_08_01.models.SubResource - :param public_ip_address: Reference of the PublicIP resource. - :type public_ip_address: - ~azure.mgmt.network.v2018_08_01.models.SubResource - :param provisioning_state: Provisioning state of the public IP resource. - Possible values are: 'Updating', 'Deleting', and 'Failed'. - :type provisioning_state: str - :param name: Name of the frontend IP configuration that is unique within - an Application Gateway. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - :param type: Type of the resource. - :type type: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, - 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, - 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, - 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'SubResource'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayFrontendIPConfiguration, self).__init__(**kwargs) - self.private_ip_address = kwargs.get('private_ip_address', None) - self.private_ip_allocation_method = kwargs.get('private_ip_allocation_method', None) - self.subnet = kwargs.get('subnet', None) - self.public_ip_address = kwargs.get('public_ip_address', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.name = kwargs.get('name', None) - self.etag = kwargs.get('etag', None) - self.type = kwargs.get('type', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_frontend_ip_configuration_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_frontend_ip_configuration_py3.py deleted file mode 100644 index 81b61ce7255..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_frontend_ip_configuration_py3.py +++ /dev/null @@ -1,66 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource_py3 import SubResource - - -class ApplicationGatewayFrontendIPConfiguration(SubResource): - """Frontend IP configuration of an application gateway. - - :param id: Resource ID. - :type id: str - :param private_ip_address: PrivateIPAddress of the network interface IP - Configuration. - :type private_ip_address: str - :param private_ip_allocation_method: PrivateIP allocation method. Possible - values include: 'Static', 'Dynamic' - :type private_ip_allocation_method: str or - ~azure.mgmt.network.v2018_08_01.models.IPAllocationMethod - :param subnet: Reference of the subnet resource. - :type subnet: ~azure.mgmt.network.v2018_08_01.models.SubResource - :param public_ip_address: Reference of the PublicIP resource. - :type public_ip_address: - ~azure.mgmt.network.v2018_08_01.models.SubResource - :param provisioning_state: Provisioning state of the public IP resource. - Possible values are: 'Updating', 'Deleting', and 'Failed'. - :type provisioning_state: str - :param name: Name of the frontend IP configuration that is unique within - an Application Gateway. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - :param type: Type of the resource. - :type type: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, - 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, - 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, - 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'SubResource'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, private_ip_address: str=None, private_ip_allocation_method=None, subnet=None, public_ip_address=None, provisioning_state: str=None, name: str=None, etag: str=None, type: str=None, **kwargs) -> None: - super(ApplicationGatewayFrontendIPConfiguration, self).__init__(id=id, **kwargs) - self.private_ip_address = private_ip_address - self.private_ip_allocation_method = private_ip_allocation_method - self.subnet = subnet - self.public_ip_address = public_ip_address - self.provisioning_state = provisioning_state - self.name = name - self.etag = etag - self.type = type diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_frontend_port.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_frontend_port.py deleted file mode 100644 index b245c950f3e..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_frontend_port.py +++ /dev/null @@ -1,50 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource import SubResource - - -class ApplicationGatewayFrontendPort(SubResource): - """Frontend port of an application gateway. - - :param id: Resource ID. - :type id: str - :param port: Frontend port - :type port: int - :param provisioning_state: Provisioning state of the frontend port - resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - :type provisioning_state: str - :param name: Name of the frontend port that is unique within an - Application Gateway - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - :param type: Type of the resource. - :type type: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'port': {'key': 'properties.port', 'type': 'int'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayFrontendPort, self).__init__(**kwargs) - self.port = kwargs.get('port', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.name = kwargs.get('name', None) - self.etag = kwargs.get('etag', None) - self.type = kwargs.get('type', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_frontend_port_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_frontend_port_py3.py deleted file mode 100644 index a6bd3f7a360..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_frontend_port_py3.py +++ /dev/null @@ -1,50 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource_py3 import SubResource - - -class ApplicationGatewayFrontendPort(SubResource): - """Frontend port of an application gateway. - - :param id: Resource ID. - :type id: str - :param port: Frontend port - :type port: int - :param provisioning_state: Provisioning state of the frontend port - resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - :type provisioning_state: str - :param name: Name of the frontend port that is unique within an - Application Gateway - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - :param type: Type of the resource. - :type type: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'port': {'key': 'properties.port', 'type': 'int'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, port: int=None, provisioning_state: str=None, name: str=None, etag: str=None, type: str=None, **kwargs) -> None: - super(ApplicationGatewayFrontendPort, self).__init__(id=id, **kwargs) - self.port = port - self.provisioning_state = provisioning_state - self.name = name - self.etag = etag - self.type = type diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_http_listener.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_http_listener.py deleted file mode 100644 index 76292850ac5..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_http_listener.py +++ /dev/null @@ -1,76 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource import SubResource - - -class ApplicationGatewayHttpListener(SubResource): - """Http listener of an application gateway. - - :param id: Resource ID. - :type id: str - :param frontend_ip_configuration: Frontend IP configuration resource of an - application gateway. - :type frontend_ip_configuration: - ~azure.mgmt.network.v2018_08_01.models.SubResource - :param frontend_port: Frontend port resource of an application gateway. - :type frontend_port: ~azure.mgmt.network.v2018_08_01.models.SubResource - :param protocol: Protocol of the HTTP listener. Possible values are 'Http' - and 'Https'. Possible values include: 'Http', 'Https' - :type protocol: str or - ~azure.mgmt.network.v2018_08_01.models.ApplicationGatewayProtocol - :param host_name: Host name of HTTP listener. - :type host_name: str - :param ssl_certificate: SSL certificate resource of an application - gateway. - :type ssl_certificate: ~azure.mgmt.network.v2018_08_01.models.SubResource - :param require_server_name_indication: Applicable only if protocol is - https. Enables SNI for multi-hosting. - :type require_server_name_indication: bool - :param provisioning_state: Provisioning state of the HTTP listener - resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - :type provisioning_state: str - :param name: Name of the HTTP listener that is unique within an - Application Gateway. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - :param type: Type of the resource. - :type type: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'frontend_ip_configuration': {'key': 'properties.frontendIPConfiguration', 'type': 'SubResource'}, - 'frontend_port': {'key': 'properties.frontendPort', 'type': 'SubResource'}, - 'protocol': {'key': 'properties.protocol', 'type': 'str'}, - 'host_name': {'key': 'properties.hostName', 'type': 'str'}, - 'ssl_certificate': {'key': 'properties.sslCertificate', 'type': 'SubResource'}, - 'require_server_name_indication': {'key': 'properties.requireServerNameIndication', 'type': 'bool'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayHttpListener, self).__init__(**kwargs) - self.frontend_ip_configuration = kwargs.get('frontend_ip_configuration', None) - self.frontend_port = kwargs.get('frontend_port', None) - self.protocol = kwargs.get('protocol', None) - self.host_name = kwargs.get('host_name', None) - self.ssl_certificate = kwargs.get('ssl_certificate', None) - self.require_server_name_indication = kwargs.get('require_server_name_indication', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.name = kwargs.get('name', None) - self.etag = kwargs.get('etag', None) - self.type = kwargs.get('type', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_http_listener_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_http_listener_py3.py deleted file mode 100644 index 3961fb7637d..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_http_listener_py3.py +++ /dev/null @@ -1,76 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource_py3 import SubResource - - -class ApplicationGatewayHttpListener(SubResource): - """Http listener of an application gateway. - - :param id: Resource ID. - :type id: str - :param frontend_ip_configuration: Frontend IP configuration resource of an - application gateway. - :type frontend_ip_configuration: - ~azure.mgmt.network.v2018_08_01.models.SubResource - :param frontend_port: Frontend port resource of an application gateway. - :type frontend_port: ~azure.mgmt.network.v2018_08_01.models.SubResource - :param protocol: Protocol of the HTTP listener. Possible values are 'Http' - and 'Https'. Possible values include: 'Http', 'Https' - :type protocol: str or - ~azure.mgmt.network.v2018_08_01.models.ApplicationGatewayProtocol - :param host_name: Host name of HTTP listener. - :type host_name: str - :param ssl_certificate: SSL certificate resource of an application - gateway. - :type ssl_certificate: ~azure.mgmt.network.v2018_08_01.models.SubResource - :param require_server_name_indication: Applicable only if protocol is - https. Enables SNI for multi-hosting. - :type require_server_name_indication: bool - :param provisioning_state: Provisioning state of the HTTP listener - resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - :type provisioning_state: str - :param name: Name of the HTTP listener that is unique within an - Application Gateway. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - :param type: Type of the resource. - :type type: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'frontend_ip_configuration': {'key': 'properties.frontendIPConfiguration', 'type': 'SubResource'}, - 'frontend_port': {'key': 'properties.frontendPort', 'type': 'SubResource'}, - 'protocol': {'key': 'properties.protocol', 'type': 'str'}, - 'host_name': {'key': 'properties.hostName', 'type': 'str'}, - 'ssl_certificate': {'key': 'properties.sslCertificate', 'type': 'SubResource'}, - 'require_server_name_indication': {'key': 'properties.requireServerNameIndication', 'type': 'bool'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, frontend_ip_configuration=None, frontend_port=None, protocol=None, host_name: str=None, ssl_certificate=None, require_server_name_indication: bool=None, provisioning_state: str=None, name: str=None, etag: str=None, type: str=None, **kwargs) -> None: - super(ApplicationGatewayHttpListener, self).__init__(id=id, **kwargs) - self.frontend_ip_configuration = frontend_ip_configuration - self.frontend_port = frontend_port - self.protocol = protocol - self.host_name = host_name - self.ssl_certificate = ssl_certificate - self.require_server_name_indication = require_server_name_indication - self.provisioning_state = provisioning_state - self.name = name - self.etag = etag - self.type = type diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_ip_configuration.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_ip_configuration.py deleted file mode 100644 index 2cf3c3064e7..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_ip_configuration.py +++ /dev/null @@ -1,53 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource import SubResource - - -class ApplicationGatewayIPConfiguration(SubResource): - """IP configuration of an application gateway. Currently 1 public and 1 - private IP configuration is allowed. - - :param id: Resource ID. - :type id: str - :param subnet: Reference of the subnet resource. A subnet from where - application gateway gets its private address. - :type subnet: ~azure.mgmt.network.v2018_08_01.models.SubResource - :param provisioning_state: Provisioning state of the application gateway - subnet resource. Possible values are: 'Updating', 'Deleting', and - 'Failed'. - :type provisioning_state: str - :param name: Name of the IP configuration that is unique within an - Application Gateway. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - :param type: Type of the resource. - :type type: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayIPConfiguration, self).__init__(**kwargs) - self.subnet = kwargs.get('subnet', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.name = kwargs.get('name', None) - self.etag = kwargs.get('etag', None) - self.type = kwargs.get('type', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_ip_configuration_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_ip_configuration_py3.py deleted file mode 100644 index 12db8c16c07..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_ip_configuration_py3.py +++ /dev/null @@ -1,53 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource_py3 import SubResource - - -class ApplicationGatewayIPConfiguration(SubResource): - """IP configuration of an application gateway. Currently 1 public and 1 - private IP configuration is allowed. - - :param id: Resource ID. - :type id: str - :param subnet: Reference of the subnet resource. A subnet from where - application gateway gets its private address. - :type subnet: ~azure.mgmt.network.v2018_08_01.models.SubResource - :param provisioning_state: Provisioning state of the application gateway - subnet resource. Possible values are: 'Updating', 'Deleting', and - 'Failed'. - :type provisioning_state: str - :param name: Name of the IP configuration that is unique within an - Application Gateway. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - :param type: Type of the resource. - :type type: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, subnet=None, provisioning_state: str=None, name: str=None, etag: str=None, type: str=None, **kwargs) -> None: - super(ApplicationGatewayIPConfiguration, self).__init__(id=id, **kwargs) - self.subnet = subnet - self.provisioning_state = provisioning_state - self.name = name - self.etag = etag - self.type = type diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_paged.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_paged.py deleted file mode 100644 index 054e6059950..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.paging import Paged - - -class ApplicationGatewayPaged(Paged): - """ - A paging container for iterating over a list of :class:`ApplicationGateway ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[ApplicationGateway]'} - } - - def __init__(self, *args, **kwargs): - - super(ApplicationGatewayPaged, self).__init__(*args, **kwargs) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_path_rule.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_path_rule.py deleted file mode 100644 index dea8be8f64b..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_path_rule.py +++ /dev/null @@ -1,68 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource import SubResource - - -class ApplicationGatewayPathRule(SubResource): - """Path rule of URL path map of an application gateway. - - :param id: Resource ID. - :type id: str - :param paths: Path rules of URL path map. - :type paths: list[str] - :param backend_address_pool: Backend address pool resource of URL path map - path rule. - :type backend_address_pool: - ~azure.mgmt.network.v2018_08_01.models.SubResource - :param backend_http_settings: Backend http settings resource of URL path - map path rule. - :type backend_http_settings: - ~azure.mgmt.network.v2018_08_01.models.SubResource - :param redirect_configuration: Redirect configuration resource of URL path - map path rule. - :type redirect_configuration: - ~azure.mgmt.network.v2018_08_01.models.SubResource - :param provisioning_state: Path rule of URL path map resource. Possible - values are: 'Updating', 'Deleting', and 'Failed'. - :type provisioning_state: str - :param name: Name of the path rule that is unique within an Application - Gateway. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - :param type: Type of the resource. - :type type: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'paths': {'key': 'properties.paths', 'type': '[str]'}, - 'backend_address_pool': {'key': 'properties.backendAddressPool', 'type': 'SubResource'}, - 'backend_http_settings': {'key': 'properties.backendHttpSettings', 'type': 'SubResource'}, - 'redirect_configuration': {'key': 'properties.redirectConfiguration', 'type': 'SubResource'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayPathRule, self).__init__(**kwargs) - self.paths = kwargs.get('paths', None) - self.backend_address_pool = kwargs.get('backend_address_pool', None) - self.backend_http_settings = kwargs.get('backend_http_settings', None) - self.redirect_configuration = kwargs.get('redirect_configuration', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.name = kwargs.get('name', None) - self.etag = kwargs.get('etag', None) - self.type = kwargs.get('type', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_path_rule_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_path_rule_py3.py deleted file mode 100644 index 8b5cd20ec43..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_path_rule_py3.py +++ /dev/null @@ -1,68 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource_py3 import SubResource - - -class ApplicationGatewayPathRule(SubResource): - """Path rule of URL path map of an application gateway. - - :param id: Resource ID. - :type id: str - :param paths: Path rules of URL path map. - :type paths: list[str] - :param backend_address_pool: Backend address pool resource of URL path map - path rule. - :type backend_address_pool: - ~azure.mgmt.network.v2018_08_01.models.SubResource - :param backend_http_settings: Backend http settings resource of URL path - map path rule. - :type backend_http_settings: - ~azure.mgmt.network.v2018_08_01.models.SubResource - :param redirect_configuration: Redirect configuration resource of URL path - map path rule. - :type redirect_configuration: - ~azure.mgmt.network.v2018_08_01.models.SubResource - :param provisioning_state: Path rule of URL path map resource. Possible - values are: 'Updating', 'Deleting', and 'Failed'. - :type provisioning_state: str - :param name: Name of the path rule that is unique within an Application - Gateway. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - :param type: Type of the resource. - :type type: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'paths': {'key': 'properties.paths', 'type': '[str]'}, - 'backend_address_pool': {'key': 'properties.backendAddressPool', 'type': 'SubResource'}, - 'backend_http_settings': {'key': 'properties.backendHttpSettings', 'type': 'SubResource'}, - 'redirect_configuration': {'key': 'properties.redirectConfiguration', 'type': 'SubResource'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, paths=None, backend_address_pool=None, backend_http_settings=None, redirect_configuration=None, provisioning_state: str=None, name: str=None, etag: str=None, type: str=None, **kwargs) -> None: - super(ApplicationGatewayPathRule, self).__init__(id=id, **kwargs) - self.paths = paths - self.backend_address_pool = backend_address_pool - self.backend_http_settings = backend_http_settings - self.redirect_configuration = redirect_configuration - self.provisioning_state = provisioning_state - self.name = name - self.etag = etag - self.type = type diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_probe.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_probe.py deleted file mode 100644 index 31c1821a301..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_probe.py +++ /dev/null @@ -1,94 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource import SubResource - - -class ApplicationGatewayProbe(SubResource): - """Probe of the application gateway. - - :param id: Resource ID. - :type id: str - :param protocol: The protocol used for the probe. Possible values are - 'Http' and 'Https'. Possible values include: 'Http', 'Https' - :type protocol: str or - ~azure.mgmt.network.v2018_08_01.models.ApplicationGatewayProtocol - :param host: Host name to send the probe to. - :type host: str - :param path: Relative path of probe. Valid path starts from '/'. Probe is - sent to ://: - :type path: str - :param interval: The probing interval in seconds. This is the time - interval between two consecutive probes. Acceptable values are from 1 - second to 86400 seconds. - :type interval: int - :param timeout: the probe timeout in seconds. Probe marked as failed if - valid response is not received with this timeout period. Acceptable values - are from 1 second to 86400 seconds. - :type timeout: int - :param unhealthy_threshold: The probe retry count. Backend server is - marked down after consecutive probe failure count reaches - UnhealthyThreshold. Acceptable values are from 1 second to 20. - :type unhealthy_threshold: int - :param pick_host_name_from_backend_http_settings: Whether the host header - should be picked from the backend http settings. Default value is false. - :type pick_host_name_from_backend_http_settings: bool - :param min_servers: Minimum number of servers that are always marked - healthy. Default value is 0. - :type min_servers: int - :param match: Criterion for classifying a healthy probe response. - :type match: - ~azure.mgmt.network.v2018_08_01.models.ApplicationGatewayProbeHealthResponseMatch - :param provisioning_state: Provisioning state of the backend http settings - resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - :type provisioning_state: str - :param name: Name of the probe that is unique within an Application - Gateway. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - :param type: Type of the resource. - :type type: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'protocol': {'key': 'properties.protocol', 'type': 'str'}, - 'host': {'key': 'properties.host', 'type': 'str'}, - 'path': {'key': 'properties.path', 'type': 'str'}, - 'interval': {'key': 'properties.interval', 'type': 'int'}, - 'timeout': {'key': 'properties.timeout', 'type': 'int'}, - 'unhealthy_threshold': {'key': 'properties.unhealthyThreshold', 'type': 'int'}, - 'pick_host_name_from_backend_http_settings': {'key': 'properties.pickHostNameFromBackendHttpSettings', 'type': 'bool'}, - 'min_servers': {'key': 'properties.minServers', 'type': 'int'}, - 'match': {'key': 'properties.match', 'type': 'ApplicationGatewayProbeHealthResponseMatch'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayProbe, self).__init__(**kwargs) - self.protocol = kwargs.get('protocol', None) - self.host = kwargs.get('host', None) - self.path = kwargs.get('path', None) - self.interval = kwargs.get('interval', None) - self.timeout = kwargs.get('timeout', None) - self.unhealthy_threshold = kwargs.get('unhealthy_threshold', None) - self.pick_host_name_from_backend_http_settings = kwargs.get('pick_host_name_from_backend_http_settings', None) - self.min_servers = kwargs.get('min_servers', None) - self.match = kwargs.get('match', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.name = kwargs.get('name', None) - self.etag = kwargs.get('etag', None) - self.type = kwargs.get('type', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_probe_health_response_match.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_probe_health_response_match.py deleted file mode 100644 index b439b9677f8..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_probe_health_response_match.py +++ /dev/null @@ -1,34 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ApplicationGatewayProbeHealthResponseMatch(Model): - """Application gateway probe health response match. - - :param body: Body that must be contained in the health response. Default - value is empty. - :type body: str - :param status_codes: Allowed ranges of healthy status codes. Default range - of healthy status codes is 200-399. - :type status_codes: list[str] - """ - - _attribute_map = { - 'body': {'key': 'body', 'type': 'str'}, - 'status_codes': {'key': 'statusCodes', 'type': '[str]'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayProbeHealthResponseMatch, self).__init__(**kwargs) - self.body = kwargs.get('body', None) - self.status_codes = kwargs.get('status_codes', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_probe_health_response_match_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_probe_health_response_match_py3.py deleted file mode 100644 index 6ed2ee8c04e..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_probe_health_response_match_py3.py +++ /dev/null @@ -1,34 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ApplicationGatewayProbeHealthResponseMatch(Model): - """Application gateway probe health response match. - - :param body: Body that must be contained in the health response. Default - value is empty. - :type body: str - :param status_codes: Allowed ranges of healthy status codes. Default range - of healthy status codes is 200-399. - :type status_codes: list[str] - """ - - _attribute_map = { - 'body': {'key': 'body', 'type': 'str'}, - 'status_codes': {'key': 'statusCodes', 'type': '[str]'}, - } - - def __init__(self, *, body: str=None, status_codes=None, **kwargs) -> None: - super(ApplicationGatewayProbeHealthResponseMatch, self).__init__(**kwargs) - self.body = body - self.status_codes = status_codes diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_probe_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_probe_py3.py deleted file mode 100644 index 72b23b74482..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_probe_py3.py +++ /dev/null @@ -1,94 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource_py3 import SubResource - - -class ApplicationGatewayProbe(SubResource): - """Probe of the application gateway. - - :param id: Resource ID. - :type id: str - :param protocol: The protocol used for the probe. Possible values are - 'Http' and 'Https'. Possible values include: 'Http', 'Https' - :type protocol: str or - ~azure.mgmt.network.v2018_08_01.models.ApplicationGatewayProtocol - :param host: Host name to send the probe to. - :type host: str - :param path: Relative path of probe. Valid path starts from '/'. Probe is - sent to ://: - :type path: str - :param interval: The probing interval in seconds. This is the time - interval between two consecutive probes. Acceptable values are from 1 - second to 86400 seconds. - :type interval: int - :param timeout: the probe timeout in seconds. Probe marked as failed if - valid response is not received with this timeout period. Acceptable values - are from 1 second to 86400 seconds. - :type timeout: int - :param unhealthy_threshold: The probe retry count. Backend server is - marked down after consecutive probe failure count reaches - UnhealthyThreshold. Acceptable values are from 1 second to 20. - :type unhealthy_threshold: int - :param pick_host_name_from_backend_http_settings: Whether the host header - should be picked from the backend http settings. Default value is false. - :type pick_host_name_from_backend_http_settings: bool - :param min_servers: Minimum number of servers that are always marked - healthy. Default value is 0. - :type min_servers: int - :param match: Criterion for classifying a healthy probe response. - :type match: - ~azure.mgmt.network.v2018_08_01.models.ApplicationGatewayProbeHealthResponseMatch - :param provisioning_state: Provisioning state of the backend http settings - resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - :type provisioning_state: str - :param name: Name of the probe that is unique within an Application - Gateway. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - :param type: Type of the resource. - :type type: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'protocol': {'key': 'properties.protocol', 'type': 'str'}, - 'host': {'key': 'properties.host', 'type': 'str'}, - 'path': {'key': 'properties.path', 'type': 'str'}, - 'interval': {'key': 'properties.interval', 'type': 'int'}, - 'timeout': {'key': 'properties.timeout', 'type': 'int'}, - 'unhealthy_threshold': {'key': 'properties.unhealthyThreshold', 'type': 'int'}, - 'pick_host_name_from_backend_http_settings': {'key': 'properties.pickHostNameFromBackendHttpSettings', 'type': 'bool'}, - 'min_servers': {'key': 'properties.minServers', 'type': 'int'}, - 'match': {'key': 'properties.match', 'type': 'ApplicationGatewayProbeHealthResponseMatch'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, protocol=None, host: str=None, path: str=None, interval: int=None, timeout: int=None, unhealthy_threshold: int=None, pick_host_name_from_backend_http_settings: bool=None, min_servers: int=None, match=None, provisioning_state: str=None, name: str=None, etag: str=None, type: str=None, **kwargs) -> None: - super(ApplicationGatewayProbe, self).__init__(id=id, **kwargs) - self.protocol = protocol - self.host = host - self.path = path - self.interval = interval - self.timeout = timeout - self.unhealthy_threshold = unhealthy_threshold - self.pick_host_name_from_backend_http_settings = pick_host_name_from_backend_http_settings - self.min_servers = min_servers - self.match = match - self.provisioning_state = provisioning_state - self.name = name - self.etag = etag - self.type = type diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_py3.py deleted file mode 100644 index 894aae564b1..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_py3.py +++ /dev/null @@ -1,179 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .resource_py3 import Resource - - -class ApplicationGateway(Resource): - """Application gateway resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param sku: SKU of the application gateway resource. - :type sku: ~azure.mgmt.network.v2018_08_01.models.ApplicationGatewaySku - :param ssl_policy: SSL policy of the application gateway resource. - :type ssl_policy: - ~azure.mgmt.network.v2018_08_01.models.ApplicationGatewaySslPolicy - :ivar operational_state: Operational state of the application gateway - resource. Possible values include: 'Stopped', 'Starting', 'Running', - 'Stopping' - :vartype operational_state: str or - ~azure.mgmt.network.v2018_08_01.models.ApplicationGatewayOperationalState - :param gateway_ip_configurations: Subnets of application the gateway - resource. - :type gateway_ip_configurations: - list[~azure.mgmt.network.v2018_08_01.models.ApplicationGatewayIPConfiguration] - :param authentication_certificates: Authentication certificates of the - application gateway resource. - :type authentication_certificates: - list[~azure.mgmt.network.v2018_08_01.models.ApplicationGatewayAuthenticationCertificate] - :param trusted_root_certificates: Trusted Root certificates of the - application gateway resource. - :type trusted_root_certificates: - list[~azure.mgmt.network.v2018_08_01.models.ApplicationGatewayTrustedRootCertificate] - :param ssl_certificates: SSL certificates of the application gateway - resource. - :type ssl_certificates: - list[~azure.mgmt.network.v2018_08_01.models.ApplicationGatewaySslCertificate] - :param frontend_ip_configurations: Frontend IP addresses of the - application gateway resource. - :type frontend_ip_configurations: - list[~azure.mgmt.network.v2018_08_01.models.ApplicationGatewayFrontendIPConfiguration] - :param frontend_ports: Frontend ports of the application gateway resource. - :type frontend_ports: - list[~azure.mgmt.network.v2018_08_01.models.ApplicationGatewayFrontendPort] - :param probes: Probes of the application gateway resource. - :type probes: - list[~azure.mgmt.network.v2018_08_01.models.ApplicationGatewayProbe] - :param backend_address_pools: Backend address pool of the application - gateway resource. - :type backend_address_pools: - list[~azure.mgmt.network.v2018_08_01.models.ApplicationGatewayBackendAddressPool] - :param backend_http_settings_collection: Backend http settings of the - application gateway resource. - :type backend_http_settings_collection: - list[~azure.mgmt.network.v2018_08_01.models.ApplicationGatewayBackendHttpSettings] - :param http_listeners: Http listeners of the application gateway resource. - :type http_listeners: - list[~azure.mgmt.network.v2018_08_01.models.ApplicationGatewayHttpListener] - :param url_path_maps: URL path map of the application gateway resource. - :type url_path_maps: - list[~azure.mgmt.network.v2018_08_01.models.ApplicationGatewayUrlPathMap] - :param request_routing_rules: Request routing rules of the application - gateway resource. - :type request_routing_rules: - list[~azure.mgmt.network.v2018_08_01.models.ApplicationGatewayRequestRoutingRule] - :param redirect_configurations: Redirect configurations of the application - gateway resource. - :type redirect_configurations: - list[~azure.mgmt.network.v2018_08_01.models.ApplicationGatewayRedirectConfiguration] - :param web_application_firewall_configuration: Web application firewall - configuration. - :type web_application_firewall_configuration: - ~azure.mgmt.network.v2018_08_01.models.ApplicationGatewayWebApplicationFirewallConfiguration - :param enable_http2: Whether HTTP2 is enabled on the application gateway - resource. - :type enable_http2: bool - :param enable_fips: Whether FIPS is enabled on the application gateway - resource. - :type enable_fips: bool - :param autoscale_configuration: Autoscale Configuration. - :type autoscale_configuration: - ~azure.mgmt.network.v2018_08_01.models.ApplicationGatewayAutoscaleConfiguration - :param resource_guid: Resource GUID property of the application gateway - resource. - :type resource_guid: str - :param provisioning_state: Provisioning state of the application gateway - resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - :type provisioning_state: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - :param zones: A list of availability zones denoting where the resource - needs to come from. - :type zones: list[str] - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'operational_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'sku': {'key': 'properties.sku', 'type': 'ApplicationGatewaySku'}, - 'ssl_policy': {'key': 'properties.sslPolicy', 'type': 'ApplicationGatewaySslPolicy'}, - 'operational_state': {'key': 'properties.operationalState', 'type': 'str'}, - 'gateway_ip_configurations': {'key': 'properties.gatewayIPConfigurations', 'type': '[ApplicationGatewayIPConfiguration]'}, - 'authentication_certificates': {'key': 'properties.authenticationCertificates', 'type': '[ApplicationGatewayAuthenticationCertificate]'}, - 'trusted_root_certificates': {'key': 'properties.trustedRootCertificates', 'type': '[ApplicationGatewayTrustedRootCertificate]'}, - 'ssl_certificates': {'key': 'properties.sslCertificates', 'type': '[ApplicationGatewaySslCertificate]'}, - 'frontend_ip_configurations': {'key': 'properties.frontendIPConfigurations', 'type': '[ApplicationGatewayFrontendIPConfiguration]'}, - 'frontend_ports': {'key': 'properties.frontendPorts', 'type': '[ApplicationGatewayFrontendPort]'}, - 'probes': {'key': 'properties.probes', 'type': '[ApplicationGatewayProbe]'}, - 'backend_address_pools': {'key': 'properties.backendAddressPools', 'type': '[ApplicationGatewayBackendAddressPool]'}, - 'backend_http_settings_collection': {'key': 'properties.backendHttpSettingsCollection', 'type': '[ApplicationGatewayBackendHttpSettings]'}, - 'http_listeners': {'key': 'properties.httpListeners', 'type': '[ApplicationGatewayHttpListener]'}, - 'url_path_maps': {'key': 'properties.urlPathMaps', 'type': '[ApplicationGatewayUrlPathMap]'}, - 'request_routing_rules': {'key': 'properties.requestRoutingRules', 'type': '[ApplicationGatewayRequestRoutingRule]'}, - 'redirect_configurations': {'key': 'properties.redirectConfigurations', 'type': '[ApplicationGatewayRedirectConfiguration]'}, - 'web_application_firewall_configuration': {'key': 'properties.webApplicationFirewallConfiguration', 'type': 'ApplicationGatewayWebApplicationFirewallConfiguration'}, - 'enable_http2': {'key': 'properties.enableHttp2', 'type': 'bool'}, - 'enable_fips': {'key': 'properties.enableFips', 'type': 'bool'}, - 'autoscale_configuration': {'key': 'properties.autoscaleConfiguration', 'type': 'ApplicationGatewayAutoscaleConfiguration'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'zones': {'key': 'zones', 'type': '[str]'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, sku=None, ssl_policy=None, gateway_ip_configurations=None, authentication_certificates=None, trusted_root_certificates=None, ssl_certificates=None, frontend_ip_configurations=None, frontend_ports=None, probes=None, backend_address_pools=None, backend_http_settings_collection=None, http_listeners=None, url_path_maps=None, request_routing_rules=None, redirect_configurations=None, web_application_firewall_configuration=None, enable_http2: bool=None, enable_fips: bool=None, autoscale_configuration=None, resource_guid: str=None, provisioning_state: str=None, etag: str=None, zones=None, **kwargs) -> None: - super(ApplicationGateway, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.sku = sku - self.ssl_policy = ssl_policy - self.operational_state = None - self.gateway_ip_configurations = gateway_ip_configurations - self.authentication_certificates = authentication_certificates - self.trusted_root_certificates = trusted_root_certificates - self.ssl_certificates = ssl_certificates - self.frontend_ip_configurations = frontend_ip_configurations - self.frontend_ports = frontend_ports - self.probes = probes - self.backend_address_pools = backend_address_pools - self.backend_http_settings_collection = backend_http_settings_collection - self.http_listeners = http_listeners - self.url_path_maps = url_path_maps - self.request_routing_rules = request_routing_rules - self.redirect_configurations = redirect_configurations - self.web_application_firewall_configuration = web_application_firewall_configuration - self.enable_http2 = enable_http2 - self.enable_fips = enable_fips - self.autoscale_configuration = autoscale_configuration - self.resource_guid = resource_guid - self.provisioning_state = provisioning_state - self.etag = etag - self.zones = zones diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_redirect_configuration.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_redirect_configuration.py deleted file mode 100644 index 97c3f9df6de..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_redirect_configuration.py +++ /dev/null @@ -1,81 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource import SubResource - - -class ApplicationGatewayRedirectConfiguration(SubResource): - """Redirect configuration of an application gateway. - - :param id: Resource ID. - :type id: str - :param redirect_type: Supported http redirection types - Permanent, - Temporary, Found, SeeOther. Possible values include: 'Permanent', 'Found', - 'SeeOther', 'Temporary' - :type redirect_type: str or - ~azure.mgmt.network.v2018_08_01.models.ApplicationGatewayRedirectType - :param target_listener: Reference to a listener to redirect the request - to. - :type target_listener: ~azure.mgmt.network.v2018_08_01.models.SubResource - :param target_url: Url to redirect the request to. - :type target_url: str - :param include_path: Include path in the redirected url. - :type include_path: bool - :param include_query_string: Include query string in the redirected url. - :type include_query_string: bool - :param request_routing_rules: Request routing specifying redirect - configuration. - :type request_routing_rules: - list[~azure.mgmt.network.v2018_08_01.models.SubResource] - :param url_path_maps: Url path maps specifying default redirect - configuration. - :type url_path_maps: - list[~azure.mgmt.network.v2018_08_01.models.SubResource] - :param path_rules: Path rules specifying redirect configuration. - :type path_rules: list[~azure.mgmt.network.v2018_08_01.models.SubResource] - :param name: Name of the redirect configuration that is unique within an - Application Gateway. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - :param type: Type of the resource. - :type type: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'redirect_type': {'key': 'properties.redirectType', 'type': 'str'}, - 'target_listener': {'key': 'properties.targetListener', 'type': 'SubResource'}, - 'target_url': {'key': 'properties.targetUrl', 'type': 'str'}, - 'include_path': {'key': 'properties.includePath', 'type': 'bool'}, - 'include_query_string': {'key': 'properties.includeQueryString', 'type': 'bool'}, - 'request_routing_rules': {'key': 'properties.requestRoutingRules', 'type': '[SubResource]'}, - 'url_path_maps': {'key': 'properties.urlPathMaps', 'type': '[SubResource]'}, - 'path_rules': {'key': 'properties.pathRules', 'type': '[SubResource]'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayRedirectConfiguration, self).__init__(**kwargs) - self.redirect_type = kwargs.get('redirect_type', None) - self.target_listener = kwargs.get('target_listener', None) - self.target_url = kwargs.get('target_url', None) - self.include_path = kwargs.get('include_path', None) - self.include_query_string = kwargs.get('include_query_string', None) - self.request_routing_rules = kwargs.get('request_routing_rules', None) - self.url_path_maps = kwargs.get('url_path_maps', None) - self.path_rules = kwargs.get('path_rules', None) - self.name = kwargs.get('name', None) - self.etag = kwargs.get('etag', None) - self.type = kwargs.get('type', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_redirect_configuration_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_redirect_configuration_py3.py deleted file mode 100644 index aed6322f861..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_redirect_configuration_py3.py +++ /dev/null @@ -1,81 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource_py3 import SubResource - - -class ApplicationGatewayRedirectConfiguration(SubResource): - """Redirect configuration of an application gateway. - - :param id: Resource ID. - :type id: str - :param redirect_type: Supported http redirection types - Permanent, - Temporary, Found, SeeOther. Possible values include: 'Permanent', 'Found', - 'SeeOther', 'Temporary' - :type redirect_type: str or - ~azure.mgmt.network.v2018_08_01.models.ApplicationGatewayRedirectType - :param target_listener: Reference to a listener to redirect the request - to. - :type target_listener: ~azure.mgmt.network.v2018_08_01.models.SubResource - :param target_url: Url to redirect the request to. - :type target_url: str - :param include_path: Include path in the redirected url. - :type include_path: bool - :param include_query_string: Include query string in the redirected url. - :type include_query_string: bool - :param request_routing_rules: Request routing specifying redirect - configuration. - :type request_routing_rules: - list[~azure.mgmt.network.v2018_08_01.models.SubResource] - :param url_path_maps: Url path maps specifying default redirect - configuration. - :type url_path_maps: - list[~azure.mgmt.network.v2018_08_01.models.SubResource] - :param path_rules: Path rules specifying redirect configuration. - :type path_rules: list[~azure.mgmt.network.v2018_08_01.models.SubResource] - :param name: Name of the redirect configuration that is unique within an - Application Gateway. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - :param type: Type of the resource. - :type type: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'redirect_type': {'key': 'properties.redirectType', 'type': 'str'}, - 'target_listener': {'key': 'properties.targetListener', 'type': 'SubResource'}, - 'target_url': {'key': 'properties.targetUrl', 'type': 'str'}, - 'include_path': {'key': 'properties.includePath', 'type': 'bool'}, - 'include_query_string': {'key': 'properties.includeQueryString', 'type': 'bool'}, - 'request_routing_rules': {'key': 'properties.requestRoutingRules', 'type': '[SubResource]'}, - 'url_path_maps': {'key': 'properties.urlPathMaps', 'type': '[SubResource]'}, - 'path_rules': {'key': 'properties.pathRules', 'type': '[SubResource]'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, redirect_type=None, target_listener=None, target_url: str=None, include_path: bool=None, include_query_string: bool=None, request_routing_rules=None, url_path_maps=None, path_rules=None, name: str=None, etag: str=None, type: str=None, **kwargs) -> None: - super(ApplicationGatewayRedirectConfiguration, self).__init__(id=id, **kwargs) - self.redirect_type = redirect_type - self.target_listener = target_listener - self.target_url = target_url - self.include_path = include_path - self.include_query_string = include_query_string - self.request_routing_rules = request_routing_rules - self.url_path_maps = url_path_maps - self.path_rules = path_rules - self.name = name - self.etag = etag - self.type = type diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_request_routing_rule.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_request_routing_rule.py deleted file mode 100644 index 6e5c12e3ee4..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_request_routing_rule.py +++ /dev/null @@ -1,78 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource import SubResource - - -class ApplicationGatewayRequestRoutingRule(SubResource): - """Request routing rule of an application gateway. - - :param id: Resource ID. - :type id: str - :param rule_type: Rule type. Possible values include: 'Basic', - 'PathBasedRouting' - :type rule_type: str or - ~azure.mgmt.network.v2018_08_01.models.ApplicationGatewayRequestRoutingRuleType - :param backend_address_pool: Backend address pool resource of the - application gateway. - :type backend_address_pool: - ~azure.mgmt.network.v2018_08_01.models.SubResource - :param backend_http_settings: Backend http settings resource of the - application gateway. - :type backend_http_settings: - ~azure.mgmt.network.v2018_08_01.models.SubResource - :param http_listener: Http listener resource of the application gateway. - :type http_listener: ~azure.mgmt.network.v2018_08_01.models.SubResource - :param url_path_map: URL path map resource of the application gateway. - :type url_path_map: ~azure.mgmt.network.v2018_08_01.models.SubResource - :param redirect_configuration: Redirect configuration resource of the - application gateway. - :type redirect_configuration: - ~azure.mgmt.network.v2018_08_01.models.SubResource - :param provisioning_state: Provisioning state of the request routing rule - resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - :type provisioning_state: str - :param name: Name of the request routing rule that is unique within an - Application Gateway. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - :param type: Type of the resource. - :type type: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'rule_type': {'key': 'properties.ruleType', 'type': 'str'}, - 'backend_address_pool': {'key': 'properties.backendAddressPool', 'type': 'SubResource'}, - 'backend_http_settings': {'key': 'properties.backendHttpSettings', 'type': 'SubResource'}, - 'http_listener': {'key': 'properties.httpListener', 'type': 'SubResource'}, - 'url_path_map': {'key': 'properties.urlPathMap', 'type': 'SubResource'}, - 'redirect_configuration': {'key': 'properties.redirectConfiguration', 'type': 'SubResource'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayRequestRoutingRule, self).__init__(**kwargs) - self.rule_type = kwargs.get('rule_type', None) - self.backend_address_pool = kwargs.get('backend_address_pool', None) - self.backend_http_settings = kwargs.get('backend_http_settings', None) - self.http_listener = kwargs.get('http_listener', None) - self.url_path_map = kwargs.get('url_path_map', None) - self.redirect_configuration = kwargs.get('redirect_configuration', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.name = kwargs.get('name', None) - self.etag = kwargs.get('etag', None) - self.type = kwargs.get('type', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_request_routing_rule_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_request_routing_rule_py3.py deleted file mode 100644 index 10d703d35de..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_request_routing_rule_py3.py +++ /dev/null @@ -1,78 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource_py3 import SubResource - - -class ApplicationGatewayRequestRoutingRule(SubResource): - """Request routing rule of an application gateway. - - :param id: Resource ID. - :type id: str - :param rule_type: Rule type. Possible values include: 'Basic', - 'PathBasedRouting' - :type rule_type: str or - ~azure.mgmt.network.v2018_08_01.models.ApplicationGatewayRequestRoutingRuleType - :param backend_address_pool: Backend address pool resource of the - application gateway. - :type backend_address_pool: - ~azure.mgmt.network.v2018_08_01.models.SubResource - :param backend_http_settings: Backend http settings resource of the - application gateway. - :type backend_http_settings: - ~azure.mgmt.network.v2018_08_01.models.SubResource - :param http_listener: Http listener resource of the application gateway. - :type http_listener: ~azure.mgmt.network.v2018_08_01.models.SubResource - :param url_path_map: URL path map resource of the application gateway. - :type url_path_map: ~azure.mgmt.network.v2018_08_01.models.SubResource - :param redirect_configuration: Redirect configuration resource of the - application gateway. - :type redirect_configuration: - ~azure.mgmt.network.v2018_08_01.models.SubResource - :param provisioning_state: Provisioning state of the request routing rule - resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - :type provisioning_state: str - :param name: Name of the request routing rule that is unique within an - Application Gateway. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - :param type: Type of the resource. - :type type: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'rule_type': {'key': 'properties.ruleType', 'type': 'str'}, - 'backend_address_pool': {'key': 'properties.backendAddressPool', 'type': 'SubResource'}, - 'backend_http_settings': {'key': 'properties.backendHttpSettings', 'type': 'SubResource'}, - 'http_listener': {'key': 'properties.httpListener', 'type': 'SubResource'}, - 'url_path_map': {'key': 'properties.urlPathMap', 'type': 'SubResource'}, - 'redirect_configuration': {'key': 'properties.redirectConfiguration', 'type': 'SubResource'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, rule_type=None, backend_address_pool=None, backend_http_settings=None, http_listener=None, url_path_map=None, redirect_configuration=None, provisioning_state: str=None, name: str=None, etag: str=None, type: str=None, **kwargs) -> None: - super(ApplicationGatewayRequestRoutingRule, self).__init__(id=id, **kwargs) - self.rule_type = rule_type - self.backend_address_pool = backend_address_pool - self.backend_http_settings = backend_http_settings - self.http_listener = http_listener - self.url_path_map = url_path_map - self.redirect_configuration = redirect_configuration - self.provisioning_state = provisioning_state - self.name = name - self.etag = etag - self.type = type diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_sku.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_sku.py deleted file mode 100644 index 7424551f545..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_sku.py +++ /dev/null @@ -1,41 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ApplicationGatewaySku(Model): - """SKU of an application gateway. - - :param name: Name of an application gateway SKU. Possible values include: - 'Standard_Small', 'Standard_Medium', 'Standard_Large', 'WAF_Medium', - 'WAF_Large', 'Standard_v2', 'WAF_v2' - :type name: str or - ~azure.mgmt.network.v2018_08_01.models.ApplicationGatewaySkuName - :param tier: Tier of an application gateway. Possible values include: - 'Standard', 'WAF', 'Standard_v2', 'WAF_v2' - :type tier: str or - ~azure.mgmt.network.v2018_08_01.models.ApplicationGatewayTier - :param capacity: Capacity (instance count) of an application gateway. - :type capacity: int - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'tier': {'key': 'tier', 'type': 'str'}, - 'capacity': {'key': 'capacity', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewaySku, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.tier = kwargs.get('tier', None) - self.capacity = kwargs.get('capacity', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_sku_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_sku_py3.py deleted file mode 100644 index 0696d87600f..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_sku_py3.py +++ /dev/null @@ -1,41 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ApplicationGatewaySku(Model): - """SKU of an application gateway. - - :param name: Name of an application gateway SKU. Possible values include: - 'Standard_Small', 'Standard_Medium', 'Standard_Large', 'WAF_Medium', - 'WAF_Large', 'Standard_v2', 'WAF_v2' - :type name: str or - ~azure.mgmt.network.v2018_08_01.models.ApplicationGatewaySkuName - :param tier: Tier of an application gateway. Possible values include: - 'Standard', 'WAF', 'Standard_v2', 'WAF_v2' - :type tier: str or - ~azure.mgmt.network.v2018_08_01.models.ApplicationGatewayTier - :param capacity: Capacity (instance count) of an application gateway. - :type capacity: int - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'tier': {'key': 'tier', 'type': 'str'}, - 'capacity': {'key': 'capacity', 'type': 'int'}, - } - - def __init__(self, *, name=None, tier=None, capacity: int=None, **kwargs) -> None: - super(ApplicationGatewaySku, self).__init__(**kwargs) - self.name = name - self.tier = tier - self.capacity = capacity diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_ssl_certificate.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_ssl_certificate.py deleted file mode 100644 index 20c9614fe87..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_ssl_certificate.py +++ /dev/null @@ -1,61 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource import SubResource - - -class ApplicationGatewaySslCertificate(SubResource): - """SSL certificates of an application gateway. - - :param id: Resource ID. - :type id: str - :param data: Base-64 encoded pfx certificate. Only applicable in PUT - Request. - :type data: str - :param password: Password for the pfx file specified in data. Only - applicable in PUT request. - :type password: str - :param public_cert_data: Base-64 encoded Public cert data corresponding to - pfx specified in data. Only applicable in GET request. - :type public_cert_data: str - :param provisioning_state: Provisioning state of the SSL certificate - resource Possible values are: 'Updating', 'Deleting', and 'Failed'. - :type provisioning_state: str - :param name: Name of the SSL certificate that is unique within an - Application Gateway. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - :param type: Type of the resource. - :type type: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'data': {'key': 'properties.data', 'type': 'str'}, - 'password': {'key': 'properties.password', 'type': 'str'}, - 'public_cert_data': {'key': 'properties.publicCertData', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewaySslCertificate, self).__init__(**kwargs) - self.data = kwargs.get('data', None) - self.password = kwargs.get('password', None) - self.public_cert_data = kwargs.get('public_cert_data', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.name = kwargs.get('name', None) - self.etag = kwargs.get('etag', None) - self.type = kwargs.get('type', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_ssl_certificate_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_ssl_certificate_py3.py deleted file mode 100644 index 4ed572592e8..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_ssl_certificate_py3.py +++ /dev/null @@ -1,61 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource_py3 import SubResource - - -class ApplicationGatewaySslCertificate(SubResource): - """SSL certificates of an application gateway. - - :param id: Resource ID. - :type id: str - :param data: Base-64 encoded pfx certificate. Only applicable in PUT - Request. - :type data: str - :param password: Password for the pfx file specified in data. Only - applicable in PUT request. - :type password: str - :param public_cert_data: Base-64 encoded Public cert data corresponding to - pfx specified in data. Only applicable in GET request. - :type public_cert_data: str - :param provisioning_state: Provisioning state of the SSL certificate - resource Possible values are: 'Updating', 'Deleting', and 'Failed'. - :type provisioning_state: str - :param name: Name of the SSL certificate that is unique within an - Application Gateway. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - :param type: Type of the resource. - :type type: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'data': {'key': 'properties.data', 'type': 'str'}, - 'password': {'key': 'properties.password', 'type': 'str'}, - 'public_cert_data': {'key': 'properties.publicCertData', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, data: str=None, password: str=None, public_cert_data: str=None, provisioning_state: str=None, name: str=None, etag: str=None, type: str=None, **kwargs) -> None: - super(ApplicationGatewaySslCertificate, self).__init__(id=id, **kwargs) - self.data = data - self.password = password - self.public_cert_data = public_cert_data - self.provisioning_state = provisioning_state - self.name = name - self.etag = etag - self.type = type diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_ssl_policy.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_ssl_policy.py deleted file mode 100644 index a2d1b8d2d53..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_ssl_policy.py +++ /dev/null @@ -1,56 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ApplicationGatewaySslPolicy(Model): - """Application Gateway Ssl policy. - - :param disabled_ssl_protocols: Ssl protocols to be disabled on application - gateway. - :type disabled_ssl_protocols: list[str or - ~azure.mgmt.network.v2018_08_01.models.ApplicationGatewaySslProtocol] - :param policy_type: Type of Ssl Policy. Possible values include: - 'Predefined', 'Custom' - :type policy_type: str or - ~azure.mgmt.network.v2018_08_01.models.ApplicationGatewaySslPolicyType - :param policy_name: Name of Ssl predefined policy. Possible values - include: 'AppGwSslPolicy20150501', 'AppGwSslPolicy20170401', - 'AppGwSslPolicy20170401S' - :type policy_name: str or - ~azure.mgmt.network.v2018_08_01.models.ApplicationGatewaySslPolicyName - :param cipher_suites: Ssl cipher suites to be enabled in the specified - order to application gateway. - :type cipher_suites: list[str or - ~azure.mgmt.network.v2018_08_01.models.ApplicationGatewaySslCipherSuite] - :param min_protocol_version: Minimum version of Ssl protocol to be - supported on application gateway. Possible values include: 'TLSv1_0', - 'TLSv1_1', 'TLSv1_2' - :type min_protocol_version: str or - ~azure.mgmt.network.v2018_08_01.models.ApplicationGatewaySslProtocol - """ - - _attribute_map = { - 'disabled_ssl_protocols': {'key': 'disabledSslProtocols', 'type': '[str]'}, - 'policy_type': {'key': 'policyType', 'type': 'str'}, - 'policy_name': {'key': 'policyName', 'type': 'str'}, - 'cipher_suites': {'key': 'cipherSuites', 'type': '[str]'}, - 'min_protocol_version': {'key': 'minProtocolVersion', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewaySslPolicy, self).__init__(**kwargs) - self.disabled_ssl_protocols = kwargs.get('disabled_ssl_protocols', None) - self.policy_type = kwargs.get('policy_type', None) - self.policy_name = kwargs.get('policy_name', None) - self.cipher_suites = kwargs.get('cipher_suites', None) - self.min_protocol_version = kwargs.get('min_protocol_version', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_ssl_policy_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_ssl_policy_py3.py deleted file mode 100644 index 1bb4ef84b90..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_ssl_policy_py3.py +++ /dev/null @@ -1,56 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ApplicationGatewaySslPolicy(Model): - """Application Gateway Ssl policy. - - :param disabled_ssl_protocols: Ssl protocols to be disabled on application - gateway. - :type disabled_ssl_protocols: list[str or - ~azure.mgmt.network.v2018_08_01.models.ApplicationGatewaySslProtocol] - :param policy_type: Type of Ssl Policy. Possible values include: - 'Predefined', 'Custom' - :type policy_type: str or - ~azure.mgmt.network.v2018_08_01.models.ApplicationGatewaySslPolicyType - :param policy_name: Name of Ssl predefined policy. Possible values - include: 'AppGwSslPolicy20150501', 'AppGwSslPolicy20170401', - 'AppGwSslPolicy20170401S' - :type policy_name: str or - ~azure.mgmt.network.v2018_08_01.models.ApplicationGatewaySslPolicyName - :param cipher_suites: Ssl cipher suites to be enabled in the specified - order to application gateway. - :type cipher_suites: list[str or - ~azure.mgmt.network.v2018_08_01.models.ApplicationGatewaySslCipherSuite] - :param min_protocol_version: Minimum version of Ssl protocol to be - supported on application gateway. Possible values include: 'TLSv1_0', - 'TLSv1_1', 'TLSv1_2' - :type min_protocol_version: str or - ~azure.mgmt.network.v2018_08_01.models.ApplicationGatewaySslProtocol - """ - - _attribute_map = { - 'disabled_ssl_protocols': {'key': 'disabledSslProtocols', 'type': '[str]'}, - 'policy_type': {'key': 'policyType', 'type': 'str'}, - 'policy_name': {'key': 'policyName', 'type': 'str'}, - 'cipher_suites': {'key': 'cipherSuites', 'type': '[str]'}, - 'min_protocol_version': {'key': 'minProtocolVersion', 'type': 'str'}, - } - - def __init__(self, *, disabled_ssl_protocols=None, policy_type=None, policy_name=None, cipher_suites=None, min_protocol_version=None, **kwargs) -> None: - super(ApplicationGatewaySslPolicy, self).__init__(**kwargs) - self.disabled_ssl_protocols = disabled_ssl_protocols - self.policy_type = policy_type - self.policy_name = policy_name - self.cipher_suites = cipher_suites - self.min_protocol_version = min_protocol_version diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_ssl_predefined_policy.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_ssl_predefined_policy.py deleted file mode 100644 index b9102e61f8f..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_ssl_predefined_policy.py +++ /dev/null @@ -1,44 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource import SubResource - - -class ApplicationGatewaySslPredefinedPolicy(SubResource): - """An Ssl predefined policy. - - :param id: Resource ID. - :type id: str - :param name: Name of the Ssl predefined policy. - :type name: str - :param cipher_suites: Ssl cipher suites to be enabled in the specified - order for application gateway. - :type cipher_suites: list[str or - ~azure.mgmt.network.v2018_08_01.models.ApplicationGatewaySslCipherSuite] - :param min_protocol_version: Minimum version of Ssl protocol to be - supported on application gateway. Possible values include: 'TLSv1_0', - 'TLSv1_1', 'TLSv1_2' - :type min_protocol_version: str or - ~azure.mgmt.network.v2018_08_01.models.ApplicationGatewaySslProtocol - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'cipher_suites': {'key': 'properties.cipherSuites', 'type': '[str]'}, - 'min_protocol_version': {'key': 'properties.minProtocolVersion', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewaySslPredefinedPolicy, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.cipher_suites = kwargs.get('cipher_suites', None) - self.min_protocol_version = kwargs.get('min_protocol_version', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_ssl_predefined_policy_paged.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_ssl_predefined_policy_paged.py deleted file mode 100644 index 99edc2d41a5..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_ssl_predefined_policy_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.paging import Paged - - -class ApplicationGatewaySslPredefinedPolicyPaged(Paged): - """ - A paging container for iterating over a list of :class:`ApplicationGatewaySslPredefinedPolicy ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[ApplicationGatewaySslPredefinedPolicy]'} - } - - def __init__(self, *args, **kwargs): - - super(ApplicationGatewaySslPredefinedPolicyPaged, self).__init__(*args, **kwargs) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_ssl_predefined_policy_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_ssl_predefined_policy_py3.py deleted file mode 100644 index c27d3b8277e..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_ssl_predefined_policy_py3.py +++ /dev/null @@ -1,44 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource_py3 import SubResource - - -class ApplicationGatewaySslPredefinedPolicy(SubResource): - """An Ssl predefined policy. - - :param id: Resource ID. - :type id: str - :param name: Name of the Ssl predefined policy. - :type name: str - :param cipher_suites: Ssl cipher suites to be enabled in the specified - order for application gateway. - :type cipher_suites: list[str or - ~azure.mgmt.network.v2018_08_01.models.ApplicationGatewaySslCipherSuite] - :param min_protocol_version: Minimum version of Ssl protocol to be - supported on application gateway. Possible values include: 'TLSv1_0', - 'TLSv1_1', 'TLSv1_2' - :type min_protocol_version: str or - ~azure.mgmt.network.v2018_08_01.models.ApplicationGatewaySslProtocol - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'cipher_suites': {'key': 'properties.cipherSuites', 'type': '[str]'}, - 'min_protocol_version': {'key': 'properties.minProtocolVersion', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, name: str=None, cipher_suites=None, min_protocol_version=None, **kwargs) -> None: - super(ApplicationGatewaySslPredefinedPolicy, self).__init__(id=id, **kwargs) - self.name = name - self.cipher_suites = cipher_suites - self.min_protocol_version = min_protocol_version diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_trusted_root_certificate.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_trusted_root_certificate.py deleted file mode 100644 index 87739161a4c..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_trusted_root_certificate.py +++ /dev/null @@ -1,55 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource import SubResource - - -class ApplicationGatewayTrustedRootCertificate(SubResource): - """Trusted Root certificates of an application gateway. - - :param id: Resource ID. - :type id: str - :param data: Certificate public data. - :type data: str - :param keyvault_secret_id: KeyVault Secret Id for certificate. - :type keyvault_secret_id: str - :param provisioning_state: Provisioning state of the trusted root - certificate resource. Possible values are: 'Updating', 'Deleting', and - 'Failed'. - :type provisioning_state: str - :param name: Name of the trusted root certificate that is unique within an - Application Gateway. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - :param type: Type of the resource. - :type type: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'data': {'key': 'properties.data', 'type': 'str'}, - 'keyvault_secret_id': {'key': 'properties.keyvaultSecretId', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayTrustedRootCertificate, self).__init__(**kwargs) - self.data = kwargs.get('data', None) - self.keyvault_secret_id = kwargs.get('keyvault_secret_id', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.name = kwargs.get('name', None) - self.etag = kwargs.get('etag', None) - self.type = kwargs.get('type', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_trusted_root_certificate_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_trusted_root_certificate_py3.py deleted file mode 100644 index 9ce1b7ab11e..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_trusted_root_certificate_py3.py +++ /dev/null @@ -1,55 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource_py3 import SubResource - - -class ApplicationGatewayTrustedRootCertificate(SubResource): - """Trusted Root certificates of an application gateway. - - :param id: Resource ID. - :type id: str - :param data: Certificate public data. - :type data: str - :param keyvault_secret_id: KeyVault Secret Id for certificate. - :type keyvault_secret_id: str - :param provisioning_state: Provisioning state of the trusted root - certificate resource. Possible values are: 'Updating', 'Deleting', and - 'Failed'. - :type provisioning_state: str - :param name: Name of the trusted root certificate that is unique within an - Application Gateway. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - :param type: Type of the resource. - :type type: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'data': {'key': 'properties.data', 'type': 'str'}, - 'keyvault_secret_id': {'key': 'properties.keyvaultSecretId', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, data: str=None, keyvault_secret_id: str=None, provisioning_state: str=None, name: str=None, etag: str=None, type: str=None, **kwargs) -> None: - super(ApplicationGatewayTrustedRootCertificate, self).__init__(id=id, **kwargs) - self.data = data - self.keyvault_secret_id = keyvault_secret_id - self.provisioning_state = provisioning_state - self.name = name - self.etag = etag - self.type = type diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_url_path_map.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_url_path_map.py deleted file mode 100644 index 00f08832fed..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_url_path_map.py +++ /dev/null @@ -1,70 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource import SubResource - - -class ApplicationGatewayUrlPathMap(SubResource): - """UrlPathMaps give a url path to the backend mapping information for - PathBasedRouting. - - :param id: Resource ID. - :type id: str - :param default_backend_address_pool: Default backend address pool resource - of URL path map. - :type default_backend_address_pool: - ~azure.mgmt.network.v2018_08_01.models.SubResource - :param default_backend_http_settings: Default backend http settings - resource of URL path map. - :type default_backend_http_settings: - ~azure.mgmt.network.v2018_08_01.models.SubResource - :param default_redirect_configuration: Default redirect configuration - resource of URL path map. - :type default_redirect_configuration: - ~azure.mgmt.network.v2018_08_01.models.SubResource - :param path_rules: Path rule of URL path map resource. - :type path_rules: - list[~azure.mgmt.network.v2018_08_01.models.ApplicationGatewayPathRule] - :param provisioning_state: Provisioning state of the backend http settings - resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - :type provisioning_state: str - :param name: Name of the URL path map that is unique within an Application - Gateway. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - :param type: Type of the resource. - :type type: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'default_backend_address_pool': {'key': 'properties.defaultBackendAddressPool', 'type': 'SubResource'}, - 'default_backend_http_settings': {'key': 'properties.defaultBackendHttpSettings', 'type': 'SubResource'}, - 'default_redirect_configuration': {'key': 'properties.defaultRedirectConfiguration', 'type': 'SubResource'}, - 'path_rules': {'key': 'properties.pathRules', 'type': '[ApplicationGatewayPathRule]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayUrlPathMap, self).__init__(**kwargs) - self.default_backend_address_pool = kwargs.get('default_backend_address_pool', None) - self.default_backend_http_settings = kwargs.get('default_backend_http_settings', None) - self.default_redirect_configuration = kwargs.get('default_redirect_configuration', None) - self.path_rules = kwargs.get('path_rules', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.name = kwargs.get('name', None) - self.etag = kwargs.get('etag', None) - self.type = kwargs.get('type', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_url_path_map_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_url_path_map_py3.py deleted file mode 100644 index b51b9c65d1d..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_url_path_map_py3.py +++ /dev/null @@ -1,70 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource_py3 import SubResource - - -class ApplicationGatewayUrlPathMap(SubResource): - """UrlPathMaps give a url path to the backend mapping information for - PathBasedRouting. - - :param id: Resource ID. - :type id: str - :param default_backend_address_pool: Default backend address pool resource - of URL path map. - :type default_backend_address_pool: - ~azure.mgmt.network.v2018_08_01.models.SubResource - :param default_backend_http_settings: Default backend http settings - resource of URL path map. - :type default_backend_http_settings: - ~azure.mgmt.network.v2018_08_01.models.SubResource - :param default_redirect_configuration: Default redirect configuration - resource of URL path map. - :type default_redirect_configuration: - ~azure.mgmt.network.v2018_08_01.models.SubResource - :param path_rules: Path rule of URL path map resource. - :type path_rules: - list[~azure.mgmt.network.v2018_08_01.models.ApplicationGatewayPathRule] - :param provisioning_state: Provisioning state of the backend http settings - resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - :type provisioning_state: str - :param name: Name of the URL path map that is unique within an Application - Gateway. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - :param type: Type of the resource. - :type type: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'default_backend_address_pool': {'key': 'properties.defaultBackendAddressPool', 'type': 'SubResource'}, - 'default_backend_http_settings': {'key': 'properties.defaultBackendHttpSettings', 'type': 'SubResource'}, - 'default_redirect_configuration': {'key': 'properties.defaultRedirectConfiguration', 'type': 'SubResource'}, - 'path_rules': {'key': 'properties.pathRules', 'type': '[ApplicationGatewayPathRule]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, default_backend_address_pool=None, default_backend_http_settings=None, default_redirect_configuration=None, path_rules=None, provisioning_state: str=None, name: str=None, etag: str=None, type: str=None, **kwargs) -> None: - super(ApplicationGatewayUrlPathMap, self).__init__(id=id, **kwargs) - self.default_backend_address_pool = default_backend_address_pool - self.default_backend_http_settings = default_backend_http_settings - self.default_redirect_configuration = default_redirect_configuration - self.path_rules = path_rules - self.provisioning_state = provisioning_state - self.name = name - self.etag = etag - self.type = type diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_web_application_firewall_configuration.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_web_application_firewall_configuration.py deleted file mode 100644 index 4658d15fc1c..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_web_application_firewall_configuration.py +++ /dev/null @@ -1,67 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ApplicationGatewayWebApplicationFirewallConfiguration(Model): - """Application gateway web application firewall configuration. - - All required parameters must be populated in order to send to Azure. - - :param enabled: Required. Whether the web application firewall is enabled - or not. - :type enabled: bool - :param firewall_mode: Required. Web application firewall mode. Possible - values include: 'Detection', 'Prevention' - :type firewall_mode: str or - ~azure.mgmt.network.v2018_08_01.models.ApplicationGatewayFirewallMode - :param rule_set_type: Required. The type of the web application firewall - rule set. Possible values are: 'OWASP'. - :type rule_set_type: str - :param rule_set_version: Required. The version of the rule set type. - :type rule_set_version: str - :param disabled_rule_groups: The disabled rule groups. - :type disabled_rule_groups: - list[~azure.mgmt.network.v2018_08_01.models.ApplicationGatewayFirewallDisabledRuleGroup] - :param request_body_check: Whether allow WAF to check request Body. - :type request_body_check: bool - :param max_request_body_size: Maxium request body size for WAF. - :type max_request_body_size: int - """ - - _validation = { - 'enabled': {'required': True}, - 'firewall_mode': {'required': True}, - 'rule_set_type': {'required': True}, - 'rule_set_version': {'required': True}, - 'max_request_body_size': {'maximum': 128, 'minimum': 8}, - } - - _attribute_map = { - 'enabled': {'key': 'enabled', 'type': 'bool'}, - 'firewall_mode': {'key': 'firewallMode', 'type': 'str'}, - 'rule_set_type': {'key': 'ruleSetType', 'type': 'str'}, - 'rule_set_version': {'key': 'ruleSetVersion', 'type': 'str'}, - 'disabled_rule_groups': {'key': 'disabledRuleGroups', 'type': '[ApplicationGatewayFirewallDisabledRuleGroup]'}, - 'request_body_check': {'key': 'requestBodyCheck', 'type': 'bool'}, - 'max_request_body_size': {'key': 'maxRequestBodySize', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayWebApplicationFirewallConfiguration, self).__init__(**kwargs) - self.enabled = kwargs.get('enabled', None) - self.firewall_mode = kwargs.get('firewall_mode', None) - self.rule_set_type = kwargs.get('rule_set_type', None) - self.rule_set_version = kwargs.get('rule_set_version', None) - self.disabled_rule_groups = kwargs.get('disabled_rule_groups', None) - self.request_body_check = kwargs.get('request_body_check', None) - self.max_request_body_size = kwargs.get('max_request_body_size', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_web_application_firewall_configuration_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_web_application_firewall_configuration_py3.py deleted file mode 100644 index 55cd31b00be..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_gateway_web_application_firewall_configuration_py3.py +++ /dev/null @@ -1,67 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ApplicationGatewayWebApplicationFirewallConfiguration(Model): - """Application gateway web application firewall configuration. - - All required parameters must be populated in order to send to Azure. - - :param enabled: Required. Whether the web application firewall is enabled - or not. - :type enabled: bool - :param firewall_mode: Required. Web application firewall mode. Possible - values include: 'Detection', 'Prevention' - :type firewall_mode: str or - ~azure.mgmt.network.v2018_08_01.models.ApplicationGatewayFirewallMode - :param rule_set_type: Required. The type of the web application firewall - rule set. Possible values are: 'OWASP'. - :type rule_set_type: str - :param rule_set_version: Required. The version of the rule set type. - :type rule_set_version: str - :param disabled_rule_groups: The disabled rule groups. - :type disabled_rule_groups: - list[~azure.mgmt.network.v2018_08_01.models.ApplicationGatewayFirewallDisabledRuleGroup] - :param request_body_check: Whether allow WAF to check request Body. - :type request_body_check: bool - :param max_request_body_size: Maxium request body size for WAF. - :type max_request_body_size: int - """ - - _validation = { - 'enabled': {'required': True}, - 'firewall_mode': {'required': True}, - 'rule_set_type': {'required': True}, - 'rule_set_version': {'required': True}, - 'max_request_body_size': {'maximum': 128, 'minimum': 8}, - } - - _attribute_map = { - 'enabled': {'key': 'enabled', 'type': 'bool'}, - 'firewall_mode': {'key': 'firewallMode', 'type': 'str'}, - 'rule_set_type': {'key': 'ruleSetType', 'type': 'str'}, - 'rule_set_version': {'key': 'ruleSetVersion', 'type': 'str'}, - 'disabled_rule_groups': {'key': 'disabledRuleGroups', 'type': '[ApplicationGatewayFirewallDisabledRuleGroup]'}, - 'request_body_check': {'key': 'requestBodyCheck', 'type': 'bool'}, - 'max_request_body_size': {'key': 'maxRequestBodySize', 'type': 'int'}, - } - - def __init__(self, *, enabled: bool, firewall_mode, rule_set_type: str, rule_set_version: str, disabled_rule_groups=None, request_body_check: bool=None, max_request_body_size: int=None, **kwargs) -> None: - super(ApplicationGatewayWebApplicationFirewallConfiguration, self).__init__(**kwargs) - self.enabled = enabled - self.firewall_mode = firewall_mode - self.rule_set_type = rule_set_type - self.rule_set_version = rule_set_version - self.disabled_rule_groups = disabled_rule_groups - self.request_body_check = request_body_check - self.max_request_body_size = max_request_body_size diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_security_group.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_security_group.py deleted file mode 100644 index 1372f778ae6..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_security_group.py +++ /dev/null @@ -1,68 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .resource import Resource - - -class ApplicationSecurityGroup(Resource): - """An application security group in a resource group. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :ivar resource_guid: The resource GUID property of the application - security group resource. It uniquely identifies a resource, even if the - user changes its name or migrate the resource across subscriptions or - resource groups. - :vartype resource_guid: str - :ivar provisioning_state: The provisioning state of the application - security group resource. Possible values are: 'Succeeded', 'Updating', - 'Deleting', and 'Failed'. - :vartype provisioning_state: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'resource_guid': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ApplicationSecurityGroup, self).__init__(**kwargs) - self.resource_guid = None - self.provisioning_state = None - self.etag = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_security_group_paged.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_security_group_paged.py deleted file mode 100644 index 86a6171f37a..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_security_group_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.paging import Paged - - -class ApplicationSecurityGroupPaged(Paged): - """ - A paging container for iterating over a list of :class:`ApplicationSecurityGroup ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[ApplicationSecurityGroup]'} - } - - def __init__(self, *args, **kwargs): - - super(ApplicationSecurityGroupPaged, self).__init__(*args, **kwargs) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_security_group_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_security_group_py3.py deleted file mode 100644 index fba3b3a222a..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/application_security_group_py3.py +++ /dev/null @@ -1,68 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .resource_py3 import Resource - - -class ApplicationSecurityGroup(Resource): - """An application security group in a resource group. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :ivar resource_guid: The resource GUID property of the application - security group resource. It uniquely identifies a resource, even if the - user changes its name or migrate the resource across subscriptions or - resource groups. - :vartype resource_guid: str - :ivar provisioning_state: The provisioning state of the application - security group resource. Possible values are: 'Succeeded', 'Updating', - 'Deleting', and 'Failed'. - :vartype provisioning_state: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'resource_guid': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, **kwargs) -> None: - super(ApplicationSecurityGroup, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.resource_guid = None - self.provisioning_state = None - self.etag = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/availability.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/availability.py deleted file mode 100644 index 16b7cfa0495..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/availability.py +++ /dev/null @@ -1,36 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class Availability(Model): - """Availability of the metric. - - :param time_grain: The time grain of the availability. - :type time_grain: str - :param retention: The retention of the availability. - :type retention: str - :param blob_duration: Duration of the availability blob. - :type blob_duration: str - """ - - _attribute_map = { - 'time_grain': {'key': 'timeGrain', 'type': 'str'}, - 'retention': {'key': 'retention', 'type': 'str'}, - 'blob_duration': {'key': 'blobDuration', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(Availability, self).__init__(**kwargs) - self.time_grain = kwargs.get('time_grain', None) - self.retention = kwargs.get('retention', None) - self.blob_duration = kwargs.get('blob_duration', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/availability_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/availability_py3.py deleted file mode 100644 index 874d8878184..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/availability_py3.py +++ /dev/null @@ -1,36 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class Availability(Model): - """Availability of the metric. - - :param time_grain: The time grain of the availability. - :type time_grain: str - :param retention: The retention of the availability. - :type retention: str - :param blob_duration: Duration of the availability blob. - :type blob_duration: str - """ - - _attribute_map = { - 'time_grain': {'key': 'timeGrain', 'type': 'str'}, - 'retention': {'key': 'retention', 'type': 'str'}, - 'blob_duration': {'key': 'blobDuration', 'type': 'str'}, - } - - def __init__(self, *, time_grain: str=None, retention: str=None, blob_duration: str=None, **kwargs) -> None: - super(Availability, self).__init__(**kwargs) - self.time_grain = time_grain - self.retention = retention - self.blob_duration = blob_duration diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/available_delegation.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/available_delegation.py deleted file mode 100644 index 71c61ffa962..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/available_delegation.py +++ /dev/null @@ -1,46 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class AvailableDelegation(Model): - """The serviceName of an AvailableDelegation indicates a possible delegation - for a subnet. - - :param name: The name of the AvailableDelegation resource. - :type name: str - :param id: A unique identifier of the AvailableDelegation resource. - :type id: str - :param type: Resource type. - :type type: str - :param service_name: The name of the service and resource - :type service_name: str - :param actions: Describes the actions permitted to the service upon - delegation - :type actions: list[str] - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'id': {'key': 'id', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'service_name': {'key': 'serviceName', 'type': 'str'}, - 'actions': {'key': 'actions', 'type': '[str]'}, - } - - def __init__(self, **kwargs): - super(AvailableDelegation, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.id = kwargs.get('id', None) - self.type = kwargs.get('type', None) - self.service_name = kwargs.get('service_name', None) - self.actions = kwargs.get('actions', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/available_delegation_paged.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/available_delegation_paged.py deleted file mode 100644 index dbf7c781788..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/available_delegation_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.paging import Paged - - -class AvailableDelegationPaged(Paged): - """ - A paging container for iterating over a list of :class:`AvailableDelegation ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[AvailableDelegation]'} - } - - def __init__(self, *args, **kwargs): - - super(AvailableDelegationPaged, self).__init__(*args, **kwargs) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/available_delegation_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/available_delegation_py3.py deleted file mode 100644 index c5e8ae7405b..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/available_delegation_py3.py +++ /dev/null @@ -1,46 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class AvailableDelegation(Model): - """The serviceName of an AvailableDelegation indicates a possible delegation - for a subnet. - - :param name: The name of the AvailableDelegation resource. - :type name: str - :param id: A unique identifier of the AvailableDelegation resource. - :type id: str - :param type: Resource type. - :type type: str - :param service_name: The name of the service and resource - :type service_name: str - :param actions: Describes the actions permitted to the service upon - delegation - :type actions: list[str] - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'id': {'key': 'id', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'service_name': {'key': 'serviceName', 'type': 'str'}, - 'actions': {'key': 'actions', 'type': '[str]'}, - } - - def __init__(self, *, name: str=None, id: str=None, type: str=None, service_name: str=None, actions=None, **kwargs) -> None: - super(AvailableDelegation, self).__init__(**kwargs) - self.name = name - self.id = id - self.type = type - self.service_name = service_name - self.actions = actions diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/available_providers_list.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/available_providers_list.py deleted file mode 100644 index ee0f2ba874a..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/available_providers_list.py +++ /dev/null @@ -1,35 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class AvailableProvidersList(Model): - """List of available countries with details. - - All required parameters must be populated in order to send to Azure. - - :param countries: Required. List of available countries. - :type countries: - list[~azure.mgmt.network.v2018_08_01.models.AvailableProvidersListCountry] - """ - - _validation = { - 'countries': {'required': True}, - } - - _attribute_map = { - 'countries': {'key': 'countries', 'type': '[AvailableProvidersListCountry]'}, - } - - def __init__(self, **kwargs): - super(AvailableProvidersList, self).__init__(**kwargs) - self.countries = kwargs.get('countries', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/available_providers_list_city.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/available_providers_list_city.py deleted file mode 100644 index 5f9aa271b98..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/available_providers_list_city.py +++ /dev/null @@ -1,32 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class AvailableProvidersListCity(Model): - """City or town details. - - :param city_name: The city or town name. - :type city_name: str - :param providers: A list of Internet service providers. - :type providers: list[str] - """ - - _attribute_map = { - 'city_name': {'key': 'cityName', 'type': 'str'}, - 'providers': {'key': 'providers', 'type': '[str]'}, - } - - def __init__(self, **kwargs): - super(AvailableProvidersListCity, self).__init__(**kwargs) - self.city_name = kwargs.get('city_name', None) - self.providers = kwargs.get('providers', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/available_providers_list_city_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/available_providers_list_city_py3.py deleted file mode 100644 index 888aa46a7cf..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/available_providers_list_city_py3.py +++ /dev/null @@ -1,32 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class AvailableProvidersListCity(Model): - """City or town details. - - :param city_name: The city or town name. - :type city_name: str - :param providers: A list of Internet service providers. - :type providers: list[str] - """ - - _attribute_map = { - 'city_name': {'key': 'cityName', 'type': 'str'}, - 'providers': {'key': 'providers', 'type': '[str]'}, - } - - def __init__(self, *, city_name: str=None, providers=None, **kwargs) -> None: - super(AvailableProvidersListCity, self).__init__(**kwargs) - self.city_name = city_name - self.providers = providers diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/available_providers_list_country.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/available_providers_list_country.py deleted file mode 100644 index 8267d354134..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/available_providers_list_country.py +++ /dev/null @@ -1,37 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class AvailableProvidersListCountry(Model): - """Country details. - - :param country_name: The country name. - :type country_name: str - :param providers: A list of Internet service providers. - :type providers: list[str] - :param states: List of available states in the country. - :type states: - list[~azure.mgmt.network.v2018_08_01.models.AvailableProvidersListState] - """ - - _attribute_map = { - 'country_name': {'key': 'countryName', 'type': 'str'}, - 'providers': {'key': 'providers', 'type': '[str]'}, - 'states': {'key': 'states', 'type': '[AvailableProvidersListState]'}, - } - - def __init__(self, **kwargs): - super(AvailableProvidersListCountry, self).__init__(**kwargs) - self.country_name = kwargs.get('country_name', None) - self.providers = kwargs.get('providers', None) - self.states = kwargs.get('states', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/available_providers_list_country_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/available_providers_list_country_py3.py deleted file mode 100644 index 331c3ee276b..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/available_providers_list_country_py3.py +++ /dev/null @@ -1,37 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class AvailableProvidersListCountry(Model): - """Country details. - - :param country_name: The country name. - :type country_name: str - :param providers: A list of Internet service providers. - :type providers: list[str] - :param states: List of available states in the country. - :type states: - list[~azure.mgmt.network.v2018_08_01.models.AvailableProvidersListState] - """ - - _attribute_map = { - 'country_name': {'key': 'countryName', 'type': 'str'}, - 'providers': {'key': 'providers', 'type': '[str]'}, - 'states': {'key': 'states', 'type': '[AvailableProvidersListState]'}, - } - - def __init__(self, *, country_name: str=None, providers=None, states=None, **kwargs) -> None: - super(AvailableProvidersListCountry, self).__init__(**kwargs) - self.country_name = country_name - self.providers = providers - self.states = states diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/available_providers_list_parameters.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/available_providers_list_parameters.py deleted file mode 100644 index 152b3b787c2..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/available_providers_list_parameters.py +++ /dev/null @@ -1,41 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class AvailableProvidersListParameters(Model): - """Constraints that determine the list of available Internet service - providers. - - :param azure_locations: A list of Azure regions. - :type azure_locations: list[str] - :param country: The country for available providers list. - :type country: str - :param state: The state for available providers list. - :type state: str - :param city: The city or town for available providers list. - :type city: str - """ - - _attribute_map = { - 'azure_locations': {'key': 'azureLocations', 'type': '[str]'}, - 'country': {'key': 'country', 'type': 'str'}, - 'state': {'key': 'state', 'type': 'str'}, - 'city': {'key': 'city', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(AvailableProvidersListParameters, self).__init__(**kwargs) - self.azure_locations = kwargs.get('azure_locations', None) - self.country = kwargs.get('country', None) - self.state = kwargs.get('state', None) - self.city = kwargs.get('city', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/available_providers_list_parameters_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/available_providers_list_parameters_py3.py deleted file mode 100644 index d5c541a7fcb..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/available_providers_list_parameters_py3.py +++ /dev/null @@ -1,41 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class AvailableProvidersListParameters(Model): - """Constraints that determine the list of available Internet service - providers. - - :param azure_locations: A list of Azure regions. - :type azure_locations: list[str] - :param country: The country for available providers list. - :type country: str - :param state: The state for available providers list. - :type state: str - :param city: The city or town for available providers list. - :type city: str - """ - - _attribute_map = { - 'azure_locations': {'key': 'azureLocations', 'type': '[str]'}, - 'country': {'key': 'country', 'type': 'str'}, - 'state': {'key': 'state', 'type': 'str'}, - 'city': {'key': 'city', 'type': 'str'}, - } - - def __init__(self, *, azure_locations=None, country: str=None, state: str=None, city: str=None, **kwargs) -> None: - super(AvailableProvidersListParameters, self).__init__(**kwargs) - self.azure_locations = azure_locations - self.country = country - self.state = state - self.city = city diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/available_providers_list_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/available_providers_list_py3.py deleted file mode 100644 index 535abdb3382..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/available_providers_list_py3.py +++ /dev/null @@ -1,35 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class AvailableProvidersList(Model): - """List of available countries with details. - - All required parameters must be populated in order to send to Azure. - - :param countries: Required. List of available countries. - :type countries: - list[~azure.mgmt.network.v2018_08_01.models.AvailableProvidersListCountry] - """ - - _validation = { - 'countries': {'required': True}, - } - - _attribute_map = { - 'countries': {'key': 'countries', 'type': '[AvailableProvidersListCountry]'}, - } - - def __init__(self, *, countries, **kwargs) -> None: - super(AvailableProvidersList, self).__init__(**kwargs) - self.countries = countries diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/available_providers_list_state.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/available_providers_list_state.py deleted file mode 100644 index 86c8a7cc3a7..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/available_providers_list_state.py +++ /dev/null @@ -1,37 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class AvailableProvidersListState(Model): - """State details. - - :param state_name: The state name. - :type state_name: str - :param providers: A list of Internet service providers. - :type providers: list[str] - :param cities: List of available cities or towns in the state. - :type cities: - list[~azure.mgmt.network.v2018_08_01.models.AvailableProvidersListCity] - """ - - _attribute_map = { - 'state_name': {'key': 'stateName', 'type': 'str'}, - 'providers': {'key': 'providers', 'type': '[str]'}, - 'cities': {'key': 'cities', 'type': '[AvailableProvidersListCity]'}, - } - - def __init__(self, **kwargs): - super(AvailableProvidersListState, self).__init__(**kwargs) - self.state_name = kwargs.get('state_name', None) - self.providers = kwargs.get('providers', None) - self.cities = kwargs.get('cities', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/available_providers_list_state_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/available_providers_list_state_py3.py deleted file mode 100644 index 82f3c6a478e..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/available_providers_list_state_py3.py +++ /dev/null @@ -1,37 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class AvailableProvidersListState(Model): - """State details. - - :param state_name: The state name. - :type state_name: str - :param providers: A list of Internet service providers. - :type providers: list[str] - :param cities: List of available cities or towns in the state. - :type cities: - list[~azure.mgmt.network.v2018_08_01.models.AvailableProvidersListCity] - """ - - _attribute_map = { - 'state_name': {'key': 'stateName', 'type': 'str'}, - 'providers': {'key': 'providers', 'type': '[str]'}, - 'cities': {'key': 'cities', 'type': '[AvailableProvidersListCity]'}, - } - - def __init__(self, *, state_name: str=None, providers=None, cities=None, **kwargs) -> None: - super(AvailableProvidersListState, self).__init__(**kwargs) - self.state_name = state_name - self.providers = providers - self.cities = cities diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_async_operation_result.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_async_operation_result.py deleted file mode 100644 index 8fdca8f9f4d..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_async_operation_result.py +++ /dev/null @@ -1,42 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class AzureAsyncOperationResult(Model): - """The response body contains the status of the specified asynchronous - operation, indicating whether it has succeeded, is in progress, or has - failed. Note that this status is distinct from the HTTP status code - returned for the Get Operation Status operation itself. If the asynchronous - operation succeeded, the response body includes the HTTP status code for - the successful request. If the asynchronous operation failed, the response - body includes the HTTP status code for the failed request and error - information regarding the failure. - - :param status: Status of the Azure async operation. Possible values are: - 'InProgress', 'Succeeded', and 'Failed'. Possible values include: - 'InProgress', 'Succeeded', 'Failed' - :type status: str or - ~azure.mgmt.network.v2018_08_01.models.NetworkOperationStatus - :param error: - :type error: ~azure.mgmt.network.v2018_08_01.models.Error - """ - - _attribute_map = { - 'status': {'key': 'status', 'type': 'str'}, - 'error': {'key': 'error', 'type': 'Error'}, - } - - def __init__(self, **kwargs): - super(AzureAsyncOperationResult, self).__init__(**kwargs) - self.status = kwargs.get('status', None) - self.error = kwargs.get('error', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_async_operation_result_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_async_operation_result_py3.py deleted file mode 100644 index b7b4060f160..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_async_operation_result_py3.py +++ /dev/null @@ -1,42 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class AzureAsyncOperationResult(Model): - """The response body contains the status of the specified asynchronous - operation, indicating whether it has succeeded, is in progress, or has - failed. Note that this status is distinct from the HTTP status code - returned for the Get Operation Status operation itself. If the asynchronous - operation succeeded, the response body includes the HTTP status code for - the successful request. If the asynchronous operation failed, the response - body includes the HTTP status code for the failed request and error - information regarding the failure. - - :param status: Status of the Azure async operation. Possible values are: - 'InProgress', 'Succeeded', and 'Failed'. Possible values include: - 'InProgress', 'Succeeded', 'Failed' - :type status: str or - ~azure.mgmt.network.v2018_08_01.models.NetworkOperationStatus - :param error: - :type error: ~azure.mgmt.network.v2018_08_01.models.Error - """ - - _attribute_map = { - 'status': {'key': 'status', 'type': 'str'}, - 'error': {'key': 'error', 'type': 'Error'}, - } - - def __init__(self, *, status=None, error=None, **kwargs) -> None: - super(AzureAsyncOperationResult, self).__init__(**kwargs) - self.status = status - self.error = error diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_firewall.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_firewall.py deleted file mode 100644 index 721cf439f5c..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_firewall.py +++ /dev/null @@ -1,82 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .resource import Resource - - -class AzureFirewall(Resource): - """Azure Firewall resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param application_rule_collections: Collection of application rule - collections used by Azure Firewall. - :type application_rule_collections: - list[~azure.mgmt.network.v2018_08_01.models.AzureFirewallApplicationRuleCollection] - :param nat_rule_collections: Collection of NAT rule collections used by - Azure Firewall. - :type nat_rule_collections: - list[~azure.mgmt.network.v2018_08_01.models.AzureFirewallNatRuleCollection] - :param network_rule_collections: Collection of network rule collections - used by Azure Firewall. - :type network_rule_collections: - list[~azure.mgmt.network.v2018_08_01.models.AzureFirewallNetworkRuleCollection] - :param ip_configurations: IP configuration of the Azure Firewall resource. - :type ip_configurations: - list[~azure.mgmt.network.v2018_08_01.models.AzureFirewallIPConfiguration] - :param provisioning_state: The provisioning state of the resource. - Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2018_08_01.models.ProvisioningState - :ivar etag: Gets a unique read-only string that changes whenever the - resource is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'application_rule_collections': {'key': 'properties.applicationRuleCollections', 'type': '[AzureFirewallApplicationRuleCollection]'}, - 'nat_rule_collections': {'key': 'properties.natRuleCollections', 'type': '[AzureFirewallNatRuleCollection]'}, - 'network_rule_collections': {'key': 'properties.networkRuleCollections', 'type': '[AzureFirewallNetworkRuleCollection]'}, - 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[AzureFirewallIPConfiguration]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(AzureFirewall, self).__init__(**kwargs) - self.application_rule_collections = kwargs.get('application_rule_collections', None) - self.nat_rule_collections = kwargs.get('nat_rule_collections', None) - self.network_rule_collections = kwargs.get('network_rule_collections', None) - self.ip_configurations = kwargs.get('ip_configurations', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.etag = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_firewall_application_rule.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_firewall_application_rule.py deleted file mode 100644 index fde1a159d7c..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_firewall_application_rule.py +++ /dev/null @@ -1,49 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class AzureFirewallApplicationRule(Model): - """Properties of an application rule. - - :param name: Name of the application rule. - :type name: str - :param description: Description of the rule. - :type description: str - :param source_addresses: List of source IP addresses for this rule. - :type source_addresses: list[str] - :param protocols: Array of ApplicationRuleProtocols. - :type protocols: - list[~azure.mgmt.network.v2018_08_01.models.AzureFirewallApplicationRuleProtocol] - :param target_fqdns: List of FQDNs for this rule. - :type target_fqdns: list[str] - :param fqdn_tags: List of FQDN Tags for this rule. - :type fqdn_tags: list[str] - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'description': {'key': 'description', 'type': 'str'}, - 'source_addresses': {'key': 'sourceAddresses', 'type': '[str]'}, - 'protocols': {'key': 'protocols', 'type': '[AzureFirewallApplicationRuleProtocol]'}, - 'target_fqdns': {'key': 'targetFqdns', 'type': '[str]'}, - 'fqdn_tags': {'key': 'fqdnTags', 'type': '[str]'}, - } - - def __init__(self, **kwargs): - super(AzureFirewallApplicationRule, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.description = kwargs.get('description', None) - self.source_addresses = kwargs.get('source_addresses', None) - self.protocols = kwargs.get('protocols', None) - self.target_fqdns = kwargs.get('target_fqdns', None) - self.fqdn_tags = kwargs.get('fqdn_tags', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_firewall_application_rule_collection.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_firewall_application_rule_collection.py deleted file mode 100644 index 3f89fcaa6a0..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_firewall_application_rule_collection.py +++ /dev/null @@ -1,64 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource import SubResource - - -class AzureFirewallApplicationRuleCollection(SubResource): - """Application rule collection resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param priority: Priority of the application rule collection resource. - :type priority: int - :param action: The action type of a rule collection - :type action: ~azure.mgmt.network.v2018_08_01.models.AzureFirewallRCAction - :param rules: Collection of rules used by a application rule collection. - :type rules: - list[~azure.mgmt.network.v2018_08_01.models.AzureFirewallApplicationRule] - :param provisioning_state: The provisioning state of the resource. - Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2018_08_01.models.ProvisioningState - :param name: Gets name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar etag: Gets a unique read-only string that changes whenever the - resource is updated. - :vartype etag: str - """ - - _validation = { - 'priority': {'maximum': 65000, 'minimum': 100}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'priority': {'key': 'properties.priority', 'type': 'int'}, - 'action': {'key': 'properties.action', 'type': 'AzureFirewallRCAction'}, - 'rules': {'key': 'properties.rules', 'type': '[AzureFirewallApplicationRule]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(AzureFirewallApplicationRuleCollection, self).__init__(**kwargs) - self.priority = kwargs.get('priority', None) - self.action = kwargs.get('action', None) - self.rules = kwargs.get('rules', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.name = kwargs.get('name', None) - self.etag = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_firewall_application_rule_collection_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_firewall_application_rule_collection_py3.py deleted file mode 100644 index f95182d53ca..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_firewall_application_rule_collection_py3.py +++ /dev/null @@ -1,64 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource_py3 import SubResource - - -class AzureFirewallApplicationRuleCollection(SubResource): - """Application rule collection resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param priority: Priority of the application rule collection resource. - :type priority: int - :param action: The action type of a rule collection - :type action: ~azure.mgmt.network.v2018_08_01.models.AzureFirewallRCAction - :param rules: Collection of rules used by a application rule collection. - :type rules: - list[~azure.mgmt.network.v2018_08_01.models.AzureFirewallApplicationRule] - :param provisioning_state: The provisioning state of the resource. - Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2018_08_01.models.ProvisioningState - :param name: Gets name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar etag: Gets a unique read-only string that changes whenever the - resource is updated. - :vartype etag: str - """ - - _validation = { - 'priority': {'maximum': 65000, 'minimum': 100}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'priority': {'key': 'properties.priority', 'type': 'int'}, - 'action': {'key': 'properties.action', 'type': 'AzureFirewallRCAction'}, - 'rules': {'key': 'properties.rules', 'type': '[AzureFirewallApplicationRule]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, priority: int=None, action=None, rules=None, provisioning_state=None, name: str=None, **kwargs) -> None: - super(AzureFirewallApplicationRuleCollection, self).__init__(id=id, **kwargs) - self.priority = priority - self.action = action - self.rules = rules - self.provisioning_state = provisioning_state - self.name = name - self.etag = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_firewall_application_rule_protocol.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_firewall_application_rule_protocol.py deleted file mode 100644 index 1dd7160b3cc..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_firewall_application_rule_protocol.py +++ /dev/null @@ -1,39 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class AzureFirewallApplicationRuleProtocol(Model): - """Properties of the application rule protocol. - - :param protocol_type: Protocol type. Possible values include: 'Http', - 'Https' - :type protocol_type: str or - ~azure.mgmt.network.v2018_08_01.models.AzureFirewallApplicationRuleProtocolType - :param port: Port number for the protocol, cannot be greater than 64000. - This field is optional. - :type port: int - """ - - _validation = { - 'port': {'maximum': 64000, 'minimum': 0}, - } - - _attribute_map = { - 'protocol_type': {'key': 'protocolType', 'type': 'str'}, - 'port': {'key': 'port', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(AzureFirewallApplicationRuleProtocol, self).__init__(**kwargs) - self.protocol_type = kwargs.get('protocol_type', None) - self.port = kwargs.get('port', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_firewall_application_rule_protocol_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_firewall_application_rule_protocol_py3.py deleted file mode 100644 index dbea85adb1b..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_firewall_application_rule_protocol_py3.py +++ /dev/null @@ -1,39 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class AzureFirewallApplicationRuleProtocol(Model): - """Properties of the application rule protocol. - - :param protocol_type: Protocol type. Possible values include: 'Http', - 'Https' - :type protocol_type: str or - ~azure.mgmt.network.v2018_08_01.models.AzureFirewallApplicationRuleProtocolType - :param port: Port number for the protocol, cannot be greater than 64000. - This field is optional. - :type port: int - """ - - _validation = { - 'port': {'maximum': 64000, 'minimum': 0}, - } - - _attribute_map = { - 'protocol_type': {'key': 'protocolType', 'type': 'str'}, - 'port': {'key': 'port', 'type': 'int'}, - } - - def __init__(self, *, protocol_type=None, port: int=None, **kwargs) -> None: - super(AzureFirewallApplicationRuleProtocol, self).__init__(**kwargs) - self.protocol_type = protocol_type - self.port = port diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_firewall_application_rule_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_firewall_application_rule_py3.py deleted file mode 100644 index 8fb0e1b8ec3..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_firewall_application_rule_py3.py +++ /dev/null @@ -1,49 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class AzureFirewallApplicationRule(Model): - """Properties of an application rule. - - :param name: Name of the application rule. - :type name: str - :param description: Description of the rule. - :type description: str - :param source_addresses: List of source IP addresses for this rule. - :type source_addresses: list[str] - :param protocols: Array of ApplicationRuleProtocols. - :type protocols: - list[~azure.mgmt.network.v2018_08_01.models.AzureFirewallApplicationRuleProtocol] - :param target_fqdns: List of FQDNs for this rule. - :type target_fqdns: list[str] - :param fqdn_tags: List of FQDN Tags for this rule. - :type fqdn_tags: list[str] - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'description': {'key': 'description', 'type': 'str'}, - 'source_addresses': {'key': 'sourceAddresses', 'type': '[str]'}, - 'protocols': {'key': 'protocols', 'type': '[AzureFirewallApplicationRuleProtocol]'}, - 'target_fqdns': {'key': 'targetFqdns', 'type': '[str]'}, - 'fqdn_tags': {'key': 'fqdnTags', 'type': '[str]'}, - } - - def __init__(self, *, name: str=None, description: str=None, source_addresses=None, protocols=None, target_fqdns=None, fqdn_tags=None, **kwargs) -> None: - super(AzureFirewallApplicationRule, self).__init__(**kwargs) - self.name = name - self.description = description - self.source_addresses = source_addresses - self.protocols = protocols - self.target_fqdns = target_fqdns - self.fqdn_tags = fqdn_tags diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_firewall_fqdn_tag.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_firewall_fqdn_tag.py deleted file mode 100644 index bdcfb4d45e6..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_firewall_fqdn_tag.py +++ /dev/null @@ -1,63 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .resource import Resource - - -class AzureFirewallFqdnTag(Resource): - """Azure Firewall FQDN Tag Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :ivar provisioning_state: The provisioning state of the resource. - :vartype provisioning_state: str - :ivar fqdn_tag_name: The name of this FQDN Tag. - :vartype fqdn_tag_name: str - :ivar etag: Gets a unique read-only string that changes whenever the - resource is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'fqdn_tag_name': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'fqdn_tag_name': {'key': 'properties.fqdnTagName', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(AzureFirewallFqdnTag, self).__init__(**kwargs) - self.provisioning_state = None - self.fqdn_tag_name = None - self.etag = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_firewall_fqdn_tag_paged.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_firewall_fqdn_tag_paged.py deleted file mode 100644 index 6cc01a07ba2..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_firewall_fqdn_tag_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.paging import Paged - - -class AzureFirewallFqdnTagPaged(Paged): - """ - A paging container for iterating over a list of :class:`AzureFirewallFqdnTag ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[AzureFirewallFqdnTag]'} - } - - def __init__(self, *args, **kwargs): - - super(AzureFirewallFqdnTagPaged, self).__init__(*args, **kwargs) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_firewall_fqdn_tag_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_firewall_fqdn_tag_py3.py deleted file mode 100644 index cb9e4ca2158..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_firewall_fqdn_tag_py3.py +++ /dev/null @@ -1,63 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .resource_py3 import Resource - - -class AzureFirewallFqdnTag(Resource): - """Azure Firewall FQDN Tag Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :ivar provisioning_state: The provisioning state of the resource. - :vartype provisioning_state: str - :ivar fqdn_tag_name: The name of this FQDN Tag. - :vartype fqdn_tag_name: str - :ivar etag: Gets a unique read-only string that changes whenever the - resource is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'fqdn_tag_name': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'fqdn_tag_name': {'key': 'properties.fqdnTagName', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, **kwargs) -> None: - super(AzureFirewallFqdnTag, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.provisioning_state = None - self.fqdn_tag_name = None - self.etag = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_firewall_ip_configuration.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_firewall_ip_configuration.py deleted file mode 100644 index 92d83cd68df..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_firewall_ip_configuration.py +++ /dev/null @@ -1,66 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource import SubResource - - -class AzureFirewallIPConfiguration(SubResource): - """IP configuration of an Azure Firewall. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param private_ip_address: The Firewall Internal Load Balancer IP to be - used as the next hop in User Defined Routes. - :type private_ip_address: str - :param subnet: Reference of the subnet resource. This resource must be - named 'AzureFirewallSubnet'. - :type subnet: ~azure.mgmt.network.v2018_08_01.models.SubResource - :param public_ip_address: Reference of the PublicIP resource. This field - is a mandatory input if subnet is not null. - :type public_ip_address: - ~azure.mgmt.network.v2018_08_01.models.SubResource - :param provisioning_state: The provisioning state of the resource. - Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2018_08_01.models.ProvisioningState - :param name: Name of the resource that is unique within a resource group. - This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, - 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, - 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'SubResource'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(AzureFirewallIPConfiguration, self).__init__(**kwargs) - self.private_ip_address = kwargs.get('private_ip_address', None) - self.subnet = kwargs.get('subnet', None) - self.public_ip_address = kwargs.get('public_ip_address', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.name = kwargs.get('name', None) - self.etag = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_firewall_ip_configuration_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_firewall_ip_configuration_py3.py deleted file mode 100644 index d323072599b..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_firewall_ip_configuration_py3.py +++ /dev/null @@ -1,66 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource_py3 import SubResource - - -class AzureFirewallIPConfiguration(SubResource): - """IP configuration of an Azure Firewall. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param private_ip_address: The Firewall Internal Load Balancer IP to be - used as the next hop in User Defined Routes. - :type private_ip_address: str - :param subnet: Reference of the subnet resource. This resource must be - named 'AzureFirewallSubnet'. - :type subnet: ~azure.mgmt.network.v2018_08_01.models.SubResource - :param public_ip_address: Reference of the PublicIP resource. This field - is a mandatory input if subnet is not null. - :type public_ip_address: - ~azure.mgmt.network.v2018_08_01.models.SubResource - :param provisioning_state: The provisioning state of the resource. - Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2018_08_01.models.ProvisioningState - :param name: Name of the resource that is unique within a resource group. - This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, - 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, - 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'SubResource'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, private_ip_address: str=None, subnet=None, public_ip_address=None, provisioning_state=None, name: str=None, **kwargs) -> None: - super(AzureFirewallIPConfiguration, self).__init__(id=id, **kwargs) - self.private_ip_address = private_ip_address - self.subnet = subnet - self.public_ip_address = public_ip_address - self.provisioning_state = provisioning_state - self.name = name - self.etag = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_firewall_nat_rc_action.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_firewall_nat_rc_action.py deleted file mode 100644 index d88b34fa9b6..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_firewall_nat_rc_action.py +++ /dev/null @@ -1,29 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class AzureFirewallNatRCAction(Model): - """AzureFirewall NAT Rule Collection Action. - - :param type: The type of action. Possible values include: 'Snat', 'Dnat' - :type type: str or - ~azure.mgmt.network.v2018_08_01.models.AzureFirewallNatRCActionType - """ - - _attribute_map = { - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(AzureFirewallNatRCAction, self).__init__(**kwargs) - self.type = kwargs.get('type', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_firewall_nat_rc_action_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_firewall_nat_rc_action_py3.py deleted file mode 100644 index ec47f0f5460..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_firewall_nat_rc_action_py3.py +++ /dev/null @@ -1,29 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class AzureFirewallNatRCAction(Model): - """AzureFirewall NAT Rule Collection Action. - - :param type: The type of action. Possible values include: 'Snat', 'Dnat' - :type type: str or - ~azure.mgmt.network.v2018_08_01.models.AzureFirewallNatRCActionType - """ - - _attribute_map = { - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, type=None, **kwargs) -> None: - super(AzureFirewallNatRCAction, self).__init__(**kwargs) - self.type = type diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_firewall_nat_rule.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_firewall_nat_rule.py deleted file mode 100644 index 7e8ea912244..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_firewall_nat_rule.py +++ /dev/null @@ -1,59 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class AzureFirewallNatRule(Model): - """Properties of a NAT rule. - - :param name: Name of the NAT rule. - :type name: str - :param description: Description of the rule. - :type description: str - :param source_addresses: List of source IP addresses for this rule. - :type source_addresses: list[str] - :param destination_addresses: List of destination IP addresses for this - rule. - :type destination_addresses: list[str] - :param destination_ports: List of destination ports. - :type destination_ports: list[str] - :param protocols: Array of AzureFirewallNetworkRuleProtocols applicable to - this NAT rule. - :type protocols: list[str or - ~azure.mgmt.network.v2018_08_01.models.AzureFirewallNetworkRuleProtocol] - :param translated_address: The translated address for this NAT rule. - :type translated_address: str - :param translated_port: The translated port for this NAT rule. - :type translated_port: str - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'description': {'key': 'description', 'type': 'str'}, - 'source_addresses': {'key': 'sourceAddresses', 'type': '[str]'}, - 'destination_addresses': {'key': 'destinationAddresses', 'type': '[str]'}, - 'destination_ports': {'key': 'destinationPorts', 'type': '[str]'}, - 'protocols': {'key': 'protocols', 'type': '[str]'}, - 'translated_address': {'key': 'translatedAddress', 'type': 'str'}, - 'translated_port': {'key': 'translatedPort', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(AzureFirewallNatRule, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.description = kwargs.get('description', None) - self.source_addresses = kwargs.get('source_addresses', None) - self.destination_addresses = kwargs.get('destination_addresses', None) - self.destination_ports = kwargs.get('destination_ports', None) - self.protocols = kwargs.get('protocols', None) - self.translated_address = kwargs.get('translated_address', None) - self.translated_port = kwargs.get('translated_port', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_firewall_nat_rule_collection.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_firewall_nat_rule_collection.py deleted file mode 100644 index 5627fdb3af2..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_firewall_nat_rule_collection.py +++ /dev/null @@ -1,65 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource import SubResource - - -class AzureFirewallNatRuleCollection(SubResource): - """NAT rule collection resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param priority: Priority of the NAT rule collection resource. - :type priority: int - :param action: The action type of a NAT rule collection - :type action: - ~azure.mgmt.network.v2018_08_01.models.AzureFirewallNatRCAction - :param rules: Collection of rules used by a NAT rule collection. - :type rules: - list[~azure.mgmt.network.v2018_08_01.models.AzureFirewallNatRule] - :param provisioning_state: The provisioning state of the resource. - Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2018_08_01.models.ProvisioningState - :param name: Gets name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar etag: Gets a unique read-only string that changes whenever the - resource is updated. - :vartype etag: str - """ - - _validation = { - 'priority': {'maximum': 65000, 'minimum': 100}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'priority': {'key': 'properties.priority', 'type': 'int'}, - 'action': {'key': 'properties.action', 'type': 'AzureFirewallNatRCAction'}, - 'rules': {'key': 'properties.rules', 'type': '[AzureFirewallNatRule]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(AzureFirewallNatRuleCollection, self).__init__(**kwargs) - self.priority = kwargs.get('priority', None) - self.action = kwargs.get('action', None) - self.rules = kwargs.get('rules', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.name = kwargs.get('name', None) - self.etag = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_firewall_nat_rule_collection_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_firewall_nat_rule_collection_py3.py deleted file mode 100644 index e73c4abadc0..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_firewall_nat_rule_collection_py3.py +++ /dev/null @@ -1,65 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource_py3 import SubResource - - -class AzureFirewallNatRuleCollection(SubResource): - """NAT rule collection resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param priority: Priority of the NAT rule collection resource. - :type priority: int - :param action: The action type of a NAT rule collection - :type action: - ~azure.mgmt.network.v2018_08_01.models.AzureFirewallNatRCAction - :param rules: Collection of rules used by a NAT rule collection. - :type rules: - list[~azure.mgmt.network.v2018_08_01.models.AzureFirewallNatRule] - :param provisioning_state: The provisioning state of the resource. - Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2018_08_01.models.ProvisioningState - :param name: Gets name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar etag: Gets a unique read-only string that changes whenever the - resource is updated. - :vartype etag: str - """ - - _validation = { - 'priority': {'maximum': 65000, 'minimum': 100}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'priority': {'key': 'properties.priority', 'type': 'int'}, - 'action': {'key': 'properties.action', 'type': 'AzureFirewallNatRCAction'}, - 'rules': {'key': 'properties.rules', 'type': '[AzureFirewallNatRule]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, priority: int=None, action=None, rules=None, provisioning_state=None, name: str=None, **kwargs) -> None: - super(AzureFirewallNatRuleCollection, self).__init__(id=id, **kwargs) - self.priority = priority - self.action = action - self.rules = rules - self.provisioning_state = provisioning_state - self.name = name - self.etag = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_firewall_nat_rule_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_firewall_nat_rule_py3.py deleted file mode 100644 index ddc71574630..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_firewall_nat_rule_py3.py +++ /dev/null @@ -1,59 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class AzureFirewallNatRule(Model): - """Properties of a NAT rule. - - :param name: Name of the NAT rule. - :type name: str - :param description: Description of the rule. - :type description: str - :param source_addresses: List of source IP addresses for this rule. - :type source_addresses: list[str] - :param destination_addresses: List of destination IP addresses for this - rule. - :type destination_addresses: list[str] - :param destination_ports: List of destination ports. - :type destination_ports: list[str] - :param protocols: Array of AzureFirewallNetworkRuleProtocols applicable to - this NAT rule. - :type protocols: list[str or - ~azure.mgmt.network.v2018_08_01.models.AzureFirewallNetworkRuleProtocol] - :param translated_address: The translated address for this NAT rule. - :type translated_address: str - :param translated_port: The translated port for this NAT rule. - :type translated_port: str - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'description': {'key': 'description', 'type': 'str'}, - 'source_addresses': {'key': 'sourceAddresses', 'type': '[str]'}, - 'destination_addresses': {'key': 'destinationAddresses', 'type': '[str]'}, - 'destination_ports': {'key': 'destinationPorts', 'type': '[str]'}, - 'protocols': {'key': 'protocols', 'type': '[str]'}, - 'translated_address': {'key': 'translatedAddress', 'type': 'str'}, - 'translated_port': {'key': 'translatedPort', 'type': 'str'}, - } - - def __init__(self, *, name: str=None, description: str=None, source_addresses=None, destination_addresses=None, destination_ports=None, protocols=None, translated_address: str=None, translated_port: str=None, **kwargs) -> None: - super(AzureFirewallNatRule, self).__init__(**kwargs) - self.name = name - self.description = description - self.source_addresses = source_addresses - self.destination_addresses = destination_addresses - self.destination_ports = destination_ports - self.protocols = protocols - self.translated_address = translated_address - self.translated_port = translated_port diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_firewall_network_rule.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_firewall_network_rule.py deleted file mode 100644 index dc1bc0ac600..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_firewall_network_rule.py +++ /dev/null @@ -1,49 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class AzureFirewallNetworkRule(Model): - """Properties of the network rule. - - :param name: Name of the network rule. - :type name: str - :param description: Description of the rule. - :type description: str - :param protocols: Array of AzureFirewallNetworkRuleProtocols. - :type protocols: list[str or - ~azure.mgmt.network.v2018_08_01.models.AzureFirewallNetworkRuleProtocol] - :param source_addresses: List of source IP addresses for this rule. - :type source_addresses: list[str] - :param destination_addresses: List of destination IP addresses. - :type destination_addresses: list[str] - :param destination_ports: List of destination ports. - :type destination_ports: list[str] - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'description': {'key': 'description', 'type': 'str'}, - 'protocols': {'key': 'protocols', 'type': '[str]'}, - 'source_addresses': {'key': 'sourceAddresses', 'type': '[str]'}, - 'destination_addresses': {'key': 'destinationAddresses', 'type': '[str]'}, - 'destination_ports': {'key': 'destinationPorts', 'type': '[str]'}, - } - - def __init__(self, **kwargs): - super(AzureFirewallNetworkRule, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.description = kwargs.get('description', None) - self.protocols = kwargs.get('protocols', None) - self.source_addresses = kwargs.get('source_addresses', None) - self.destination_addresses = kwargs.get('destination_addresses', None) - self.destination_ports = kwargs.get('destination_ports', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_firewall_network_rule_collection.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_firewall_network_rule_collection.py deleted file mode 100644 index d4a1dd0f1c3..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_firewall_network_rule_collection.py +++ /dev/null @@ -1,64 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource import SubResource - - -class AzureFirewallNetworkRuleCollection(SubResource): - """Network rule collection resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param priority: Priority of the network rule collection resource. - :type priority: int - :param action: The action type of a rule collection - :type action: ~azure.mgmt.network.v2018_08_01.models.AzureFirewallRCAction - :param rules: Collection of rules used by a network rule collection. - :type rules: - list[~azure.mgmt.network.v2018_08_01.models.AzureFirewallNetworkRule] - :param provisioning_state: The provisioning state of the resource. - Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2018_08_01.models.ProvisioningState - :param name: Gets name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar etag: Gets a unique read-only string that changes whenever the - resource is updated. - :vartype etag: str - """ - - _validation = { - 'priority': {'maximum': 65000, 'minimum': 100}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'priority': {'key': 'properties.priority', 'type': 'int'}, - 'action': {'key': 'properties.action', 'type': 'AzureFirewallRCAction'}, - 'rules': {'key': 'properties.rules', 'type': '[AzureFirewallNetworkRule]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(AzureFirewallNetworkRuleCollection, self).__init__(**kwargs) - self.priority = kwargs.get('priority', None) - self.action = kwargs.get('action', None) - self.rules = kwargs.get('rules', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.name = kwargs.get('name', None) - self.etag = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_firewall_network_rule_collection_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_firewall_network_rule_collection_py3.py deleted file mode 100644 index 94a0845c25b..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_firewall_network_rule_collection_py3.py +++ /dev/null @@ -1,64 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource_py3 import SubResource - - -class AzureFirewallNetworkRuleCollection(SubResource): - """Network rule collection resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param priority: Priority of the network rule collection resource. - :type priority: int - :param action: The action type of a rule collection - :type action: ~azure.mgmt.network.v2018_08_01.models.AzureFirewallRCAction - :param rules: Collection of rules used by a network rule collection. - :type rules: - list[~azure.mgmt.network.v2018_08_01.models.AzureFirewallNetworkRule] - :param provisioning_state: The provisioning state of the resource. - Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2018_08_01.models.ProvisioningState - :param name: Gets name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar etag: Gets a unique read-only string that changes whenever the - resource is updated. - :vartype etag: str - """ - - _validation = { - 'priority': {'maximum': 65000, 'minimum': 100}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'priority': {'key': 'properties.priority', 'type': 'int'}, - 'action': {'key': 'properties.action', 'type': 'AzureFirewallRCAction'}, - 'rules': {'key': 'properties.rules', 'type': '[AzureFirewallNetworkRule]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, priority: int=None, action=None, rules=None, provisioning_state=None, name: str=None, **kwargs) -> None: - super(AzureFirewallNetworkRuleCollection, self).__init__(id=id, **kwargs) - self.priority = priority - self.action = action - self.rules = rules - self.provisioning_state = provisioning_state - self.name = name - self.etag = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_firewall_network_rule_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_firewall_network_rule_py3.py deleted file mode 100644 index e1f6620a773..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_firewall_network_rule_py3.py +++ /dev/null @@ -1,49 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class AzureFirewallNetworkRule(Model): - """Properties of the network rule. - - :param name: Name of the network rule. - :type name: str - :param description: Description of the rule. - :type description: str - :param protocols: Array of AzureFirewallNetworkRuleProtocols. - :type protocols: list[str or - ~azure.mgmt.network.v2018_08_01.models.AzureFirewallNetworkRuleProtocol] - :param source_addresses: List of source IP addresses for this rule. - :type source_addresses: list[str] - :param destination_addresses: List of destination IP addresses. - :type destination_addresses: list[str] - :param destination_ports: List of destination ports. - :type destination_ports: list[str] - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'description': {'key': 'description', 'type': 'str'}, - 'protocols': {'key': 'protocols', 'type': '[str]'}, - 'source_addresses': {'key': 'sourceAddresses', 'type': '[str]'}, - 'destination_addresses': {'key': 'destinationAddresses', 'type': '[str]'}, - 'destination_ports': {'key': 'destinationPorts', 'type': '[str]'}, - } - - def __init__(self, *, name: str=None, description: str=None, protocols=None, source_addresses=None, destination_addresses=None, destination_ports=None, **kwargs) -> None: - super(AzureFirewallNetworkRule, self).__init__(**kwargs) - self.name = name - self.description = description - self.protocols = protocols - self.source_addresses = source_addresses - self.destination_addresses = destination_addresses - self.destination_ports = destination_ports diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_firewall_paged.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_firewall_paged.py deleted file mode 100644 index 766a0bca742..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_firewall_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.paging import Paged - - -class AzureFirewallPaged(Paged): - """ - A paging container for iterating over a list of :class:`AzureFirewall ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[AzureFirewall]'} - } - - def __init__(self, *args, **kwargs): - - super(AzureFirewallPaged, self).__init__(*args, **kwargs) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_firewall_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_firewall_py3.py deleted file mode 100644 index f622bc7e701..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_firewall_py3.py +++ /dev/null @@ -1,82 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .resource_py3 import Resource - - -class AzureFirewall(Resource): - """Azure Firewall resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param application_rule_collections: Collection of application rule - collections used by Azure Firewall. - :type application_rule_collections: - list[~azure.mgmt.network.v2018_08_01.models.AzureFirewallApplicationRuleCollection] - :param nat_rule_collections: Collection of NAT rule collections used by - Azure Firewall. - :type nat_rule_collections: - list[~azure.mgmt.network.v2018_08_01.models.AzureFirewallNatRuleCollection] - :param network_rule_collections: Collection of network rule collections - used by Azure Firewall. - :type network_rule_collections: - list[~azure.mgmt.network.v2018_08_01.models.AzureFirewallNetworkRuleCollection] - :param ip_configurations: IP configuration of the Azure Firewall resource. - :type ip_configurations: - list[~azure.mgmt.network.v2018_08_01.models.AzureFirewallIPConfiguration] - :param provisioning_state: The provisioning state of the resource. - Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2018_08_01.models.ProvisioningState - :ivar etag: Gets a unique read-only string that changes whenever the - resource is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'application_rule_collections': {'key': 'properties.applicationRuleCollections', 'type': '[AzureFirewallApplicationRuleCollection]'}, - 'nat_rule_collections': {'key': 'properties.natRuleCollections', 'type': '[AzureFirewallNatRuleCollection]'}, - 'network_rule_collections': {'key': 'properties.networkRuleCollections', 'type': '[AzureFirewallNetworkRuleCollection]'}, - 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[AzureFirewallIPConfiguration]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, application_rule_collections=None, nat_rule_collections=None, network_rule_collections=None, ip_configurations=None, provisioning_state=None, **kwargs) -> None: - super(AzureFirewall, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.application_rule_collections = application_rule_collections - self.nat_rule_collections = nat_rule_collections - self.network_rule_collections = network_rule_collections - self.ip_configurations = ip_configurations - self.provisioning_state = provisioning_state - self.etag = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_firewall_rc_action.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_firewall_rc_action.py deleted file mode 100644 index 352b810f261..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_firewall_rc_action.py +++ /dev/null @@ -1,29 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class AzureFirewallRCAction(Model): - """Properties of the AzureFirewallRCAction. - - :param type: The type of action. Possible values include: 'Allow', 'Deny' - :type type: str or - ~azure.mgmt.network.v2018_08_01.models.AzureFirewallRCActionType - """ - - _attribute_map = { - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(AzureFirewallRCAction, self).__init__(**kwargs) - self.type = kwargs.get('type', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_firewall_rc_action_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_firewall_rc_action_py3.py deleted file mode 100644 index 91f33ba5544..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_firewall_rc_action_py3.py +++ /dev/null @@ -1,29 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class AzureFirewallRCAction(Model): - """Properties of the AzureFirewallRCAction. - - :param type: The type of action. Possible values include: 'Allow', 'Deny' - :type type: str or - ~azure.mgmt.network.v2018_08_01.models.AzureFirewallRCActionType - """ - - _attribute_map = { - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, type=None, **kwargs) -> None: - super(AzureFirewallRCAction, self).__init__(**kwargs) - self.type = type diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_reachability_report.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_reachability_report.py deleted file mode 100644 index 32cc33d6ae5..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_reachability_report.py +++ /dev/null @@ -1,48 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class AzureReachabilityReport(Model): - """Azure reachability report details. - - All required parameters must be populated in order to send to Azure. - - :param aggregation_level: Required. The aggregation level of Azure - reachability report. Can be Country, State or City. - :type aggregation_level: str - :param provider_location: Required. - :type provider_location: - ~azure.mgmt.network.v2018_08_01.models.AzureReachabilityReportLocation - :param reachability_report: Required. List of Azure reachability report - items. - :type reachability_report: - list[~azure.mgmt.network.v2018_08_01.models.AzureReachabilityReportItem] - """ - - _validation = { - 'aggregation_level': {'required': True}, - 'provider_location': {'required': True}, - 'reachability_report': {'required': True}, - } - - _attribute_map = { - 'aggregation_level': {'key': 'aggregationLevel', 'type': 'str'}, - 'provider_location': {'key': 'providerLocation', 'type': 'AzureReachabilityReportLocation'}, - 'reachability_report': {'key': 'reachabilityReport', 'type': '[AzureReachabilityReportItem]'}, - } - - def __init__(self, **kwargs): - super(AzureReachabilityReport, self).__init__(**kwargs) - self.aggregation_level = kwargs.get('aggregation_level', None) - self.provider_location = kwargs.get('provider_location', None) - self.reachability_report = kwargs.get('reachability_report', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_reachability_report_item.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_reachability_report_item.py deleted file mode 100644 index 6667ea91c41..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_reachability_report_item.py +++ /dev/null @@ -1,37 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class AzureReachabilityReportItem(Model): - """Azure reachability report details for a given provider location. - - :param provider: The Internet service provider. - :type provider: str - :param azure_location: The Azure region. - :type azure_location: str - :param latencies: List of latency details for each of the time series. - :type latencies: - list[~azure.mgmt.network.v2018_08_01.models.AzureReachabilityReportLatencyInfo] - """ - - _attribute_map = { - 'provider': {'key': 'provider', 'type': 'str'}, - 'azure_location': {'key': 'azureLocation', 'type': 'str'}, - 'latencies': {'key': 'latencies', 'type': '[AzureReachabilityReportLatencyInfo]'}, - } - - def __init__(self, **kwargs): - super(AzureReachabilityReportItem, self).__init__(**kwargs) - self.provider = kwargs.get('provider', None) - self.azure_location = kwargs.get('azure_location', None) - self.latencies = kwargs.get('latencies', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_reachability_report_item_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_reachability_report_item_py3.py deleted file mode 100644 index a8cde188ef6..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_reachability_report_item_py3.py +++ /dev/null @@ -1,37 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class AzureReachabilityReportItem(Model): - """Azure reachability report details for a given provider location. - - :param provider: The Internet service provider. - :type provider: str - :param azure_location: The Azure region. - :type azure_location: str - :param latencies: List of latency details for each of the time series. - :type latencies: - list[~azure.mgmt.network.v2018_08_01.models.AzureReachabilityReportLatencyInfo] - """ - - _attribute_map = { - 'provider': {'key': 'provider', 'type': 'str'}, - 'azure_location': {'key': 'azureLocation', 'type': 'str'}, - 'latencies': {'key': 'latencies', 'type': '[AzureReachabilityReportLatencyInfo]'}, - } - - def __init__(self, *, provider: str=None, azure_location: str=None, latencies=None, **kwargs) -> None: - super(AzureReachabilityReportItem, self).__init__(**kwargs) - self.provider = provider - self.azure_location = azure_location - self.latencies = latencies diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_reachability_report_latency_info.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_reachability_report_latency_info.py deleted file mode 100644 index e5f77641a13..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_reachability_report_latency_info.py +++ /dev/null @@ -1,37 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class AzureReachabilityReportLatencyInfo(Model): - """Details on latency for a time series. - - :param time_stamp: The time stamp. - :type time_stamp: datetime - :param score: The relative latency score between 1 and 100, higher values - indicating a faster connection. - :type score: int - """ - - _validation = { - 'score': {'maximum': 100, 'minimum': 1}, - } - - _attribute_map = { - 'time_stamp': {'key': 'timeStamp', 'type': 'iso-8601'}, - 'score': {'key': 'score', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(AzureReachabilityReportLatencyInfo, self).__init__(**kwargs) - self.time_stamp = kwargs.get('time_stamp', None) - self.score = kwargs.get('score', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_reachability_report_latency_info_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_reachability_report_latency_info_py3.py deleted file mode 100644 index dd9d8fda369..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_reachability_report_latency_info_py3.py +++ /dev/null @@ -1,37 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class AzureReachabilityReportLatencyInfo(Model): - """Details on latency for a time series. - - :param time_stamp: The time stamp. - :type time_stamp: datetime - :param score: The relative latency score between 1 and 100, higher values - indicating a faster connection. - :type score: int - """ - - _validation = { - 'score': {'maximum': 100, 'minimum': 1}, - } - - _attribute_map = { - 'time_stamp': {'key': 'timeStamp', 'type': 'iso-8601'}, - 'score': {'key': 'score', 'type': 'int'}, - } - - def __init__(self, *, time_stamp=None, score: int=None, **kwargs) -> None: - super(AzureReachabilityReportLatencyInfo, self).__init__(**kwargs) - self.time_stamp = time_stamp - self.score = score diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_reachability_report_location.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_reachability_report_location.py deleted file mode 100644 index 76c132e8957..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_reachability_report_location.py +++ /dev/null @@ -1,42 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class AzureReachabilityReportLocation(Model): - """Parameters that define a geographic location. - - All required parameters must be populated in order to send to Azure. - - :param country: Required. The name of the country. - :type country: str - :param state: The name of the state. - :type state: str - :param city: The name of the city or town. - :type city: str - """ - - _validation = { - 'country': {'required': True}, - } - - _attribute_map = { - 'country': {'key': 'country', 'type': 'str'}, - 'state': {'key': 'state', 'type': 'str'}, - 'city': {'key': 'city', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(AzureReachabilityReportLocation, self).__init__(**kwargs) - self.country = kwargs.get('country', None) - self.state = kwargs.get('state', None) - self.city = kwargs.get('city', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_reachability_report_location_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_reachability_report_location_py3.py deleted file mode 100644 index 1db868eab46..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_reachability_report_location_py3.py +++ /dev/null @@ -1,42 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class AzureReachabilityReportLocation(Model): - """Parameters that define a geographic location. - - All required parameters must be populated in order to send to Azure. - - :param country: Required. The name of the country. - :type country: str - :param state: The name of the state. - :type state: str - :param city: The name of the city or town. - :type city: str - """ - - _validation = { - 'country': {'required': True}, - } - - _attribute_map = { - 'country': {'key': 'country', 'type': 'str'}, - 'state': {'key': 'state', 'type': 'str'}, - 'city': {'key': 'city', 'type': 'str'}, - } - - def __init__(self, *, country: str, state: str=None, city: str=None, **kwargs) -> None: - super(AzureReachabilityReportLocation, self).__init__(**kwargs) - self.country = country - self.state = state - self.city = city diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_reachability_report_parameters.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_reachability_report_parameters.py deleted file mode 100644 index b2b32e741e9..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_reachability_report_parameters.py +++ /dev/null @@ -1,54 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class AzureReachabilityReportParameters(Model): - """Geographic and time constraints for Azure reachability report. - - All required parameters must be populated in order to send to Azure. - - :param provider_location: Required. - :type provider_location: - ~azure.mgmt.network.v2018_08_01.models.AzureReachabilityReportLocation - :param providers: List of Internet service providers. - :type providers: list[str] - :param azure_locations: Optional Azure regions to scope the query to. - :type azure_locations: list[str] - :param start_time: Required. The start time for the Azure reachability - report. - :type start_time: datetime - :param end_time: Required. The end time for the Azure reachability report. - :type end_time: datetime - """ - - _validation = { - 'provider_location': {'required': True}, - 'start_time': {'required': True}, - 'end_time': {'required': True}, - } - - _attribute_map = { - 'provider_location': {'key': 'providerLocation', 'type': 'AzureReachabilityReportLocation'}, - 'providers': {'key': 'providers', 'type': '[str]'}, - 'azure_locations': {'key': 'azureLocations', 'type': '[str]'}, - 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, - 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, - } - - def __init__(self, **kwargs): - super(AzureReachabilityReportParameters, self).__init__(**kwargs) - self.provider_location = kwargs.get('provider_location', None) - self.providers = kwargs.get('providers', None) - self.azure_locations = kwargs.get('azure_locations', None) - self.start_time = kwargs.get('start_time', None) - self.end_time = kwargs.get('end_time', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_reachability_report_parameters_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_reachability_report_parameters_py3.py deleted file mode 100644 index 0500c449a9d..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_reachability_report_parameters_py3.py +++ /dev/null @@ -1,54 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class AzureReachabilityReportParameters(Model): - """Geographic and time constraints for Azure reachability report. - - All required parameters must be populated in order to send to Azure. - - :param provider_location: Required. - :type provider_location: - ~azure.mgmt.network.v2018_08_01.models.AzureReachabilityReportLocation - :param providers: List of Internet service providers. - :type providers: list[str] - :param azure_locations: Optional Azure regions to scope the query to. - :type azure_locations: list[str] - :param start_time: Required. The start time for the Azure reachability - report. - :type start_time: datetime - :param end_time: Required. The end time for the Azure reachability report. - :type end_time: datetime - """ - - _validation = { - 'provider_location': {'required': True}, - 'start_time': {'required': True}, - 'end_time': {'required': True}, - } - - _attribute_map = { - 'provider_location': {'key': 'providerLocation', 'type': 'AzureReachabilityReportLocation'}, - 'providers': {'key': 'providers', 'type': '[str]'}, - 'azure_locations': {'key': 'azureLocations', 'type': '[str]'}, - 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, - 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, - } - - def __init__(self, *, provider_location, start_time, end_time, providers=None, azure_locations=None, **kwargs) -> None: - super(AzureReachabilityReportParameters, self).__init__(**kwargs) - self.provider_location = provider_location - self.providers = providers - self.azure_locations = azure_locations - self.start_time = start_time - self.end_time = end_time diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_reachability_report_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_reachability_report_py3.py deleted file mode 100644 index 00064909580..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/azure_reachability_report_py3.py +++ /dev/null @@ -1,48 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class AzureReachabilityReport(Model): - """Azure reachability report details. - - All required parameters must be populated in order to send to Azure. - - :param aggregation_level: Required. The aggregation level of Azure - reachability report. Can be Country, State or City. - :type aggregation_level: str - :param provider_location: Required. - :type provider_location: - ~azure.mgmt.network.v2018_08_01.models.AzureReachabilityReportLocation - :param reachability_report: Required. List of Azure reachability report - items. - :type reachability_report: - list[~azure.mgmt.network.v2018_08_01.models.AzureReachabilityReportItem] - """ - - _validation = { - 'aggregation_level': {'required': True}, - 'provider_location': {'required': True}, - 'reachability_report': {'required': True}, - } - - _attribute_map = { - 'aggregation_level': {'key': 'aggregationLevel', 'type': 'str'}, - 'provider_location': {'key': 'providerLocation', 'type': 'AzureReachabilityReportLocation'}, - 'reachability_report': {'key': 'reachabilityReport', 'type': '[AzureReachabilityReportItem]'}, - } - - def __init__(self, *, aggregation_level: str, provider_location, reachability_report, **kwargs) -> None: - super(AzureReachabilityReport, self).__init__(**kwargs) - self.aggregation_level = aggregation_level - self.provider_location = provider_location - self.reachability_report = reachability_report diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/backend_address_pool.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/backend_address_pool.py deleted file mode 100644 index fa18934e17a..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/backend_address_pool.py +++ /dev/null @@ -1,68 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource import SubResource - - -class BackendAddressPool(SubResource): - """Pool of backend IP addresses. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar backend_ip_configurations: Gets collection of references to IP - addresses defined in network interfaces. - :vartype backend_ip_configurations: - list[~azure.mgmt.network.v2018_08_01.models.NetworkInterfaceIPConfiguration] - :ivar load_balancing_rules: Gets load balancing rules that use this - backend address pool. - :vartype load_balancing_rules: - list[~azure.mgmt.network.v2018_08_01.models.SubResource] - :ivar outbound_rule: Gets outbound rules that use this backend address - pool. - :vartype outbound_rule: ~azure.mgmt.network.v2018_08_01.models.SubResource - :param provisioning_state: Get provisioning state of the public IP - resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - :type provisioning_state: str - :param name: Gets name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'backend_ip_configurations': {'readonly': True}, - 'load_balancing_rules': {'readonly': True}, - 'outbound_rule': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'backend_ip_configurations': {'key': 'properties.backendIPConfigurations', 'type': '[NetworkInterfaceIPConfiguration]'}, - 'load_balancing_rules': {'key': 'properties.loadBalancingRules', 'type': '[SubResource]'}, - 'outbound_rule': {'key': 'properties.outboundRule', 'type': 'SubResource'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(BackendAddressPool, self).__init__(**kwargs) - self.backend_ip_configurations = None - self.load_balancing_rules = None - self.outbound_rule = None - self.provisioning_state = kwargs.get('provisioning_state', None) - self.name = kwargs.get('name', None) - self.etag = kwargs.get('etag', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/backend_address_pool_paged.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/backend_address_pool_paged.py deleted file mode 100644 index c40df0fbe01..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/backend_address_pool_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.paging import Paged - - -class BackendAddressPoolPaged(Paged): - """ - A paging container for iterating over a list of :class:`BackendAddressPool ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[BackendAddressPool]'} - } - - def __init__(self, *args, **kwargs): - - super(BackendAddressPoolPaged, self).__init__(*args, **kwargs) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/backend_address_pool_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/backend_address_pool_py3.py deleted file mode 100644 index 8f64ed2dfa7..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/backend_address_pool_py3.py +++ /dev/null @@ -1,68 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource_py3 import SubResource - - -class BackendAddressPool(SubResource): - """Pool of backend IP addresses. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar backend_ip_configurations: Gets collection of references to IP - addresses defined in network interfaces. - :vartype backend_ip_configurations: - list[~azure.mgmt.network.v2018_08_01.models.NetworkInterfaceIPConfiguration] - :ivar load_balancing_rules: Gets load balancing rules that use this - backend address pool. - :vartype load_balancing_rules: - list[~azure.mgmt.network.v2018_08_01.models.SubResource] - :ivar outbound_rule: Gets outbound rules that use this backend address - pool. - :vartype outbound_rule: ~azure.mgmt.network.v2018_08_01.models.SubResource - :param provisioning_state: Get provisioning state of the public IP - resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - :type provisioning_state: str - :param name: Gets name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'backend_ip_configurations': {'readonly': True}, - 'load_balancing_rules': {'readonly': True}, - 'outbound_rule': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'backend_ip_configurations': {'key': 'properties.backendIPConfigurations', 'type': '[NetworkInterfaceIPConfiguration]'}, - 'load_balancing_rules': {'key': 'properties.loadBalancingRules', 'type': '[SubResource]'}, - 'outbound_rule': {'key': 'properties.outboundRule', 'type': 'SubResource'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, provisioning_state: str=None, name: str=None, etag: str=None, **kwargs) -> None: - super(BackendAddressPool, self).__init__(id=id, **kwargs) - self.backend_ip_configurations = None - self.load_balancing_rules = None - self.outbound_rule = None - self.provisioning_state = provisioning_state - self.name = name - self.etag = etag diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/bgp_community.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/bgp_community.py deleted file mode 100644 index 1203e83082b..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/bgp_community.py +++ /dev/null @@ -1,52 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class BGPCommunity(Model): - """Contains bgp community information offered in Service Community resources. - - :param service_supported_region: The region which the service support. - e.g. For O365, region is Global. - :type service_supported_region: str - :param community_name: The name of the bgp community. e.g. Skype. - :type community_name: str - :param community_value: The value of the bgp community. For more - information: - https://docs.microsoft.com/azure/expressroute/expressroute-routing. - :type community_value: str - :param community_prefixes: The prefixes that the bgp community contains. - :type community_prefixes: list[str] - :param is_authorized_to_use: Customer is authorized to use bgp community - or not. - :type is_authorized_to_use: bool - :param service_group: The service group of the bgp community contains. - :type service_group: str - """ - - _attribute_map = { - 'service_supported_region': {'key': 'serviceSupportedRegion', 'type': 'str'}, - 'community_name': {'key': 'communityName', 'type': 'str'}, - 'community_value': {'key': 'communityValue', 'type': 'str'}, - 'community_prefixes': {'key': 'communityPrefixes', 'type': '[str]'}, - 'is_authorized_to_use': {'key': 'isAuthorizedToUse', 'type': 'bool'}, - 'service_group': {'key': 'serviceGroup', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(BGPCommunity, self).__init__(**kwargs) - self.service_supported_region = kwargs.get('service_supported_region', None) - self.community_name = kwargs.get('community_name', None) - self.community_value = kwargs.get('community_value', None) - self.community_prefixes = kwargs.get('community_prefixes', None) - self.is_authorized_to_use = kwargs.get('is_authorized_to_use', None) - self.service_group = kwargs.get('service_group', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/bgp_community_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/bgp_community_py3.py deleted file mode 100644 index ffd1295874c..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/bgp_community_py3.py +++ /dev/null @@ -1,52 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class BGPCommunity(Model): - """Contains bgp community information offered in Service Community resources. - - :param service_supported_region: The region which the service support. - e.g. For O365, region is Global. - :type service_supported_region: str - :param community_name: The name of the bgp community. e.g. Skype. - :type community_name: str - :param community_value: The value of the bgp community. For more - information: - https://docs.microsoft.com/azure/expressroute/expressroute-routing. - :type community_value: str - :param community_prefixes: The prefixes that the bgp community contains. - :type community_prefixes: list[str] - :param is_authorized_to_use: Customer is authorized to use bgp community - or not. - :type is_authorized_to_use: bool - :param service_group: The service group of the bgp community contains. - :type service_group: str - """ - - _attribute_map = { - 'service_supported_region': {'key': 'serviceSupportedRegion', 'type': 'str'}, - 'community_name': {'key': 'communityName', 'type': 'str'}, - 'community_value': {'key': 'communityValue', 'type': 'str'}, - 'community_prefixes': {'key': 'communityPrefixes', 'type': '[str]'}, - 'is_authorized_to_use': {'key': 'isAuthorizedToUse', 'type': 'bool'}, - 'service_group': {'key': 'serviceGroup', 'type': 'str'}, - } - - def __init__(self, *, service_supported_region: str=None, community_name: str=None, community_value: str=None, community_prefixes=None, is_authorized_to_use: bool=None, service_group: str=None, **kwargs) -> None: - super(BGPCommunity, self).__init__(**kwargs) - self.service_supported_region = service_supported_region - self.community_name = community_name - self.community_value = community_value - self.community_prefixes = community_prefixes - self.is_authorized_to_use = is_authorized_to_use - self.service_group = service_group diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/bgp_peer_status.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/bgp_peer_status.py deleted file mode 100644 index b846d98a1bc..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/bgp_peer_status.py +++ /dev/null @@ -1,71 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class BgpPeerStatus(Model): - """BGP peer status details. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar local_address: The virtual network gateway's local address - :vartype local_address: str - :ivar neighbor: The remote BGP peer - :vartype neighbor: str - :ivar asn: The autonomous system number of the remote BGP peer - :vartype asn: int - :ivar state: The BGP peer state. Possible values include: 'Unknown', - 'Stopped', 'Idle', 'Connecting', 'Connected' - :vartype state: str or ~azure.mgmt.network.v2018_08_01.models.BgpPeerState - :ivar connected_duration: For how long the peering has been up - :vartype connected_duration: str - :ivar routes_received: The number of routes learned from this peer - :vartype routes_received: long - :ivar messages_sent: The number of BGP messages sent - :vartype messages_sent: long - :ivar messages_received: The number of BGP messages received - :vartype messages_received: long - """ - - _validation = { - 'local_address': {'readonly': True}, - 'neighbor': {'readonly': True}, - 'asn': {'readonly': True}, - 'state': {'readonly': True}, - 'connected_duration': {'readonly': True}, - 'routes_received': {'readonly': True}, - 'messages_sent': {'readonly': True}, - 'messages_received': {'readonly': True}, - } - - _attribute_map = { - 'local_address': {'key': 'localAddress', 'type': 'str'}, - 'neighbor': {'key': 'neighbor', 'type': 'str'}, - 'asn': {'key': 'asn', 'type': 'int'}, - 'state': {'key': 'state', 'type': 'str'}, - 'connected_duration': {'key': 'connectedDuration', 'type': 'str'}, - 'routes_received': {'key': 'routesReceived', 'type': 'long'}, - 'messages_sent': {'key': 'messagesSent', 'type': 'long'}, - 'messages_received': {'key': 'messagesReceived', 'type': 'long'}, - } - - def __init__(self, **kwargs): - super(BgpPeerStatus, self).__init__(**kwargs) - self.local_address = None - self.neighbor = None - self.asn = None - self.state = None - self.connected_duration = None - self.routes_received = None - self.messages_sent = None - self.messages_received = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/bgp_peer_status_list_result.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/bgp_peer_status_list_result.py deleted file mode 100644 index 7ebe2c7dc33..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/bgp_peer_status_list_result.py +++ /dev/null @@ -1,28 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class BgpPeerStatusListResult(Model): - """Response for list BGP peer status API service call. - - :param value: List of BGP peers - :type value: list[~azure.mgmt.network.v2018_08_01.models.BgpPeerStatus] - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[BgpPeerStatus]'}, - } - - def __init__(self, **kwargs): - super(BgpPeerStatusListResult, self).__init__(**kwargs) - self.value = kwargs.get('value', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/bgp_peer_status_list_result_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/bgp_peer_status_list_result_py3.py deleted file mode 100644 index 182bb454582..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/bgp_peer_status_list_result_py3.py +++ /dev/null @@ -1,28 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class BgpPeerStatusListResult(Model): - """Response for list BGP peer status API service call. - - :param value: List of BGP peers - :type value: list[~azure.mgmt.network.v2018_08_01.models.BgpPeerStatus] - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[BgpPeerStatus]'}, - } - - def __init__(self, *, value=None, **kwargs) -> None: - super(BgpPeerStatusListResult, self).__init__(**kwargs) - self.value = value diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/bgp_peer_status_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/bgp_peer_status_py3.py deleted file mode 100644 index 7515118503e..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/bgp_peer_status_py3.py +++ /dev/null @@ -1,71 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class BgpPeerStatus(Model): - """BGP peer status details. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar local_address: The virtual network gateway's local address - :vartype local_address: str - :ivar neighbor: The remote BGP peer - :vartype neighbor: str - :ivar asn: The autonomous system number of the remote BGP peer - :vartype asn: int - :ivar state: The BGP peer state. Possible values include: 'Unknown', - 'Stopped', 'Idle', 'Connecting', 'Connected' - :vartype state: str or ~azure.mgmt.network.v2018_08_01.models.BgpPeerState - :ivar connected_duration: For how long the peering has been up - :vartype connected_duration: str - :ivar routes_received: The number of routes learned from this peer - :vartype routes_received: long - :ivar messages_sent: The number of BGP messages sent - :vartype messages_sent: long - :ivar messages_received: The number of BGP messages received - :vartype messages_received: long - """ - - _validation = { - 'local_address': {'readonly': True}, - 'neighbor': {'readonly': True}, - 'asn': {'readonly': True}, - 'state': {'readonly': True}, - 'connected_duration': {'readonly': True}, - 'routes_received': {'readonly': True}, - 'messages_sent': {'readonly': True}, - 'messages_received': {'readonly': True}, - } - - _attribute_map = { - 'local_address': {'key': 'localAddress', 'type': 'str'}, - 'neighbor': {'key': 'neighbor', 'type': 'str'}, - 'asn': {'key': 'asn', 'type': 'int'}, - 'state': {'key': 'state', 'type': 'str'}, - 'connected_duration': {'key': 'connectedDuration', 'type': 'str'}, - 'routes_received': {'key': 'routesReceived', 'type': 'long'}, - 'messages_sent': {'key': 'messagesSent', 'type': 'long'}, - 'messages_received': {'key': 'messagesReceived', 'type': 'long'}, - } - - def __init__(self, **kwargs) -> None: - super(BgpPeerStatus, self).__init__(**kwargs) - self.local_address = None - self.neighbor = None - self.asn = None - self.state = None - self.connected_duration = None - self.routes_received = None - self.messages_sent = None - self.messages_received = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/bgp_service_community.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/bgp_service_community.py deleted file mode 100644 index aec1275700c..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/bgp_service_community.py +++ /dev/null @@ -1,56 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .resource import Resource - - -class BgpServiceCommunity(Resource): - """Service Community Properties. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param service_name: The name of the bgp community. e.g. Skype. - :type service_name: str - :param bgp_communities: Get a list of bgp communities. - :type bgp_communities: - list[~azure.mgmt.network.v2018_08_01.models.BGPCommunity] - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'service_name': {'key': 'properties.serviceName', 'type': 'str'}, - 'bgp_communities': {'key': 'properties.bgpCommunities', 'type': '[BGPCommunity]'}, - } - - def __init__(self, **kwargs): - super(BgpServiceCommunity, self).__init__(**kwargs) - self.service_name = kwargs.get('service_name', None) - self.bgp_communities = kwargs.get('bgp_communities', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/bgp_service_community_paged.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/bgp_service_community_paged.py deleted file mode 100644 index ce5739dda80..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/bgp_service_community_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.paging import Paged - - -class BgpServiceCommunityPaged(Paged): - """ - A paging container for iterating over a list of :class:`BgpServiceCommunity ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[BgpServiceCommunity]'} - } - - def __init__(self, *args, **kwargs): - - super(BgpServiceCommunityPaged, self).__init__(*args, **kwargs) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/bgp_service_community_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/bgp_service_community_py3.py deleted file mode 100644 index 30f2035b094..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/bgp_service_community_py3.py +++ /dev/null @@ -1,56 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .resource_py3 import Resource - - -class BgpServiceCommunity(Resource): - """Service Community Properties. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param service_name: The name of the bgp community. e.g. Skype. - :type service_name: str - :param bgp_communities: Get a list of bgp communities. - :type bgp_communities: - list[~azure.mgmt.network.v2018_08_01.models.BGPCommunity] - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'service_name': {'key': 'properties.serviceName', 'type': 'str'}, - 'bgp_communities': {'key': 'properties.bgpCommunities', 'type': '[BGPCommunity]'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, service_name: str=None, bgp_communities=None, **kwargs) -> None: - super(BgpServiceCommunity, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.service_name = service_name - self.bgp_communities = bgp_communities diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/bgp_settings.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/bgp_settings.py deleted file mode 100644 index e6e8d1b90aa..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/bgp_settings.py +++ /dev/null @@ -1,38 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class BgpSettings(Model): - """BGP settings details. - - :param asn: The BGP speaker's ASN. - :type asn: long - :param bgp_peering_address: The BGP peering address and BGP identifier of - this BGP speaker. - :type bgp_peering_address: str - :param peer_weight: The weight added to routes learned from this BGP - speaker. - :type peer_weight: int - """ - - _attribute_map = { - 'asn': {'key': 'asn', 'type': 'long'}, - 'bgp_peering_address': {'key': 'bgpPeeringAddress', 'type': 'str'}, - 'peer_weight': {'key': 'peerWeight', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(BgpSettings, self).__init__(**kwargs) - self.asn = kwargs.get('asn', None) - self.bgp_peering_address = kwargs.get('bgp_peering_address', None) - self.peer_weight = kwargs.get('peer_weight', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/bgp_settings_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/bgp_settings_py3.py deleted file mode 100644 index cb3b3e6795f..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/bgp_settings_py3.py +++ /dev/null @@ -1,38 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class BgpSettings(Model): - """BGP settings details. - - :param asn: The BGP speaker's ASN. - :type asn: long - :param bgp_peering_address: The BGP peering address and BGP identifier of - this BGP speaker. - :type bgp_peering_address: str - :param peer_weight: The weight added to routes learned from this BGP - speaker. - :type peer_weight: int - """ - - _attribute_map = { - 'asn': {'key': 'asn', 'type': 'long'}, - 'bgp_peering_address': {'key': 'bgpPeeringAddress', 'type': 'str'}, - 'peer_weight': {'key': 'peerWeight', 'type': 'int'}, - } - - def __init__(self, *, asn: int=None, bgp_peering_address: str=None, peer_weight: int=None, **kwargs) -> None: - super(BgpSettings, self).__init__(**kwargs) - self.asn = asn - self.bgp_peering_address = bgp_peering_address - self.peer_weight = peer_weight diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connection_monitor.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connection_monitor.py deleted file mode 100644 index fadf1575354..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connection_monitor.py +++ /dev/null @@ -1,59 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ConnectionMonitor(Model): - """Parameters that define the operation to create a connection monitor. - - All required parameters must be populated in order to send to Azure. - - :param location: Connection monitor location. - :type location: str - :param tags: Connection monitor tags. - :type tags: dict[str, str] - :param source: Required. - :type source: - ~azure.mgmt.network.v2018_08_01.models.ConnectionMonitorSource - :param destination: Required. - :type destination: - ~azure.mgmt.network.v2018_08_01.models.ConnectionMonitorDestination - :param auto_start: Determines if the connection monitor will start - automatically once created. Default value: True . - :type auto_start: bool - :param monitoring_interval_in_seconds: Monitoring interval in seconds. - Default value: 60 . - :type monitoring_interval_in_seconds: int - """ - - _validation = { - 'source': {'required': True}, - 'destination': {'required': True}, - } - - _attribute_map = { - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'source': {'key': 'properties.source', 'type': 'ConnectionMonitorSource'}, - 'destination': {'key': 'properties.destination', 'type': 'ConnectionMonitorDestination'}, - 'auto_start': {'key': 'properties.autoStart', 'type': 'bool'}, - 'monitoring_interval_in_seconds': {'key': 'properties.monitoringIntervalInSeconds', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(ConnectionMonitor, self).__init__(**kwargs) - self.location = kwargs.get('location', None) - self.tags = kwargs.get('tags', None) - self.source = kwargs.get('source', None) - self.destination = kwargs.get('destination', None) - self.auto_start = kwargs.get('auto_start', True) - self.monitoring_interval_in_seconds = kwargs.get('monitoring_interval_in_seconds', 60) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connection_monitor_destination.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connection_monitor_destination.py deleted file mode 100644 index 9d1e3885cb3..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connection_monitor_destination.py +++ /dev/null @@ -1,38 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ConnectionMonitorDestination(Model): - """Describes the destination of connection monitor. - - :param resource_id: The ID of the resource used as the destination by - connection monitor. - :type resource_id: str - :param address: Address of the connection monitor destination (IP or - domain name). - :type address: str - :param port: The destination port used by connection monitor. - :type port: int - """ - - _attribute_map = { - 'resource_id': {'key': 'resourceId', 'type': 'str'}, - 'address': {'key': 'address', 'type': 'str'}, - 'port': {'key': 'port', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(ConnectionMonitorDestination, self).__init__(**kwargs) - self.resource_id = kwargs.get('resource_id', None) - self.address = kwargs.get('address', None) - self.port = kwargs.get('port', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connection_monitor_destination_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connection_monitor_destination_py3.py deleted file mode 100644 index 59e7465804c..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connection_monitor_destination_py3.py +++ /dev/null @@ -1,38 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ConnectionMonitorDestination(Model): - """Describes the destination of connection monitor. - - :param resource_id: The ID of the resource used as the destination by - connection monitor. - :type resource_id: str - :param address: Address of the connection monitor destination (IP or - domain name). - :type address: str - :param port: The destination port used by connection monitor. - :type port: int - """ - - _attribute_map = { - 'resource_id': {'key': 'resourceId', 'type': 'str'}, - 'address': {'key': 'address', 'type': 'str'}, - 'port': {'key': 'port', 'type': 'int'}, - } - - def __init__(self, *, resource_id: str=None, address: str=None, port: int=None, **kwargs) -> None: - super(ConnectionMonitorDestination, self).__init__(**kwargs) - self.resource_id = resource_id - self.address = address - self.port = port diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connection_monitor_parameters.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connection_monitor_parameters.py deleted file mode 100644 index ed0e9a3a611..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connection_monitor_parameters.py +++ /dev/null @@ -1,51 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ConnectionMonitorParameters(Model): - """Parameters that define the operation to create a connection monitor. - - All required parameters must be populated in order to send to Azure. - - :param source: Required. - :type source: - ~azure.mgmt.network.v2018_08_01.models.ConnectionMonitorSource - :param destination: Required. - :type destination: - ~azure.mgmt.network.v2018_08_01.models.ConnectionMonitorDestination - :param auto_start: Determines if the connection monitor will start - automatically once created. Default value: True . - :type auto_start: bool - :param monitoring_interval_in_seconds: Monitoring interval in seconds. - Default value: 60 . - :type monitoring_interval_in_seconds: int - """ - - _validation = { - 'source': {'required': True}, - 'destination': {'required': True}, - } - - _attribute_map = { - 'source': {'key': 'source', 'type': 'ConnectionMonitorSource'}, - 'destination': {'key': 'destination', 'type': 'ConnectionMonitorDestination'}, - 'auto_start': {'key': 'autoStart', 'type': 'bool'}, - 'monitoring_interval_in_seconds': {'key': 'monitoringIntervalInSeconds', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(ConnectionMonitorParameters, self).__init__(**kwargs) - self.source = kwargs.get('source', None) - self.destination = kwargs.get('destination', None) - self.auto_start = kwargs.get('auto_start', True) - self.monitoring_interval_in_seconds = kwargs.get('monitoring_interval_in_seconds', 60) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connection_monitor_parameters_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connection_monitor_parameters_py3.py deleted file mode 100644 index 9bd397e0104..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connection_monitor_parameters_py3.py +++ /dev/null @@ -1,51 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ConnectionMonitorParameters(Model): - """Parameters that define the operation to create a connection monitor. - - All required parameters must be populated in order to send to Azure. - - :param source: Required. - :type source: - ~azure.mgmt.network.v2018_08_01.models.ConnectionMonitorSource - :param destination: Required. - :type destination: - ~azure.mgmt.network.v2018_08_01.models.ConnectionMonitorDestination - :param auto_start: Determines if the connection monitor will start - automatically once created. Default value: True . - :type auto_start: bool - :param monitoring_interval_in_seconds: Monitoring interval in seconds. - Default value: 60 . - :type monitoring_interval_in_seconds: int - """ - - _validation = { - 'source': {'required': True}, - 'destination': {'required': True}, - } - - _attribute_map = { - 'source': {'key': 'source', 'type': 'ConnectionMonitorSource'}, - 'destination': {'key': 'destination', 'type': 'ConnectionMonitorDestination'}, - 'auto_start': {'key': 'autoStart', 'type': 'bool'}, - 'monitoring_interval_in_seconds': {'key': 'monitoringIntervalInSeconds', 'type': 'int'}, - } - - def __init__(self, *, source, destination, auto_start: bool=True, monitoring_interval_in_seconds: int=60, **kwargs) -> None: - super(ConnectionMonitorParameters, self).__init__(**kwargs) - self.source = source - self.destination = destination - self.auto_start = auto_start - self.monitoring_interval_in_seconds = monitoring_interval_in_seconds diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connection_monitor_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connection_monitor_py3.py deleted file mode 100644 index 2f6984769c6..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connection_monitor_py3.py +++ /dev/null @@ -1,59 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ConnectionMonitor(Model): - """Parameters that define the operation to create a connection monitor. - - All required parameters must be populated in order to send to Azure. - - :param location: Connection monitor location. - :type location: str - :param tags: Connection monitor tags. - :type tags: dict[str, str] - :param source: Required. - :type source: - ~azure.mgmt.network.v2018_08_01.models.ConnectionMonitorSource - :param destination: Required. - :type destination: - ~azure.mgmt.network.v2018_08_01.models.ConnectionMonitorDestination - :param auto_start: Determines if the connection monitor will start - automatically once created. Default value: True . - :type auto_start: bool - :param monitoring_interval_in_seconds: Monitoring interval in seconds. - Default value: 60 . - :type monitoring_interval_in_seconds: int - """ - - _validation = { - 'source': {'required': True}, - 'destination': {'required': True}, - } - - _attribute_map = { - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'source': {'key': 'properties.source', 'type': 'ConnectionMonitorSource'}, - 'destination': {'key': 'properties.destination', 'type': 'ConnectionMonitorDestination'}, - 'auto_start': {'key': 'properties.autoStart', 'type': 'bool'}, - 'monitoring_interval_in_seconds': {'key': 'properties.monitoringIntervalInSeconds', 'type': 'int'}, - } - - def __init__(self, *, source, destination, location: str=None, tags=None, auto_start: bool=True, monitoring_interval_in_seconds: int=60, **kwargs) -> None: - super(ConnectionMonitor, self).__init__(**kwargs) - self.location = location - self.tags = tags - self.source = source - self.destination = destination - self.auto_start = auto_start - self.monitoring_interval_in_seconds = monitoring_interval_in_seconds diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connection_monitor_query_result.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connection_monitor_query_result.py deleted file mode 100644 index 8f6936ad688..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connection_monitor_query_result.py +++ /dev/null @@ -1,35 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ConnectionMonitorQueryResult(Model): - """List of connection states snaphots. - - :param source_status: Status of connection monitor source. Possible values - include: 'Uknown', 'Active', 'Inactive' - :type source_status: str or - ~azure.mgmt.network.v2018_08_01.models.ConnectionMonitorSourceStatus - :param states: Information about connection states. - :type states: - list[~azure.mgmt.network.v2018_08_01.models.ConnectionStateSnapshot] - """ - - _attribute_map = { - 'source_status': {'key': 'sourceStatus', 'type': 'str'}, - 'states': {'key': 'states', 'type': '[ConnectionStateSnapshot]'}, - } - - def __init__(self, **kwargs): - super(ConnectionMonitorQueryResult, self).__init__(**kwargs) - self.source_status = kwargs.get('source_status', None) - self.states = kwargs.get('states', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connection_monitor_query_result_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connection_monitor_query_result_py3.py deleted file mode 100644 index abf19f80455..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connection_monitor_query_result_py3.py +++ /dev/null @@ -1,35 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ConnectionMonitorQueryResult(Model): - """List of connection states snaphots. - - :param source_status: Status of connection monitor source. Possible values - include: 'Uknown', 'Active', 'Inactive' - :type source_status: str or - ~azure.mgmt.network.v2018_08_01.models.ConnectionMonitorSourceStatus - :param states: Information about connection states. - :type states: - list[~azure.mgmt.network.v2018_08_01.models.ConnectionStateSnapshot] - """ - - _attribute_map = { - 'source_status': {'key': 'sourceStatus', 'type': 'str'}, - 'states': {'key': 'states', 'type': '[ConnectionStateSnapshot]'}, - } - - def __init__(self, *, source_status=None, states=None, **kwargs) -> None: - super(ConnectionMonitorQueryResult, self).__init__(**kwargs) - self.source_status = source_status - self.states = states diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connection_monitor_result.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connection_monitor_result.py deleted file mode 100644 index fc0dc5eac79..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connection_monitor_result.py +++ /dev/null @@ -1,98 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ConnectionMonitorResult(Model): - """Information about the connection monitor. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :ivar name: Name of the connection monitor. - :vartype name: str - :ivar id: ID of the connection monitor. - :vartype id: str - :param etag: Default value: "A unique read-only string that changes - whenever the resource is updated." . - :type etag: str - :ivar type: Connection monitor type. - :vartype type: str - :param location: Connection monitor location. - :type location: str - :param tags: Connection monitor tags. - :type tags: dict[str, str] - :param source: Required. - :type source: - ~azure.mgmt.network.v2018_08_01.models.ConnectionMonitorSource - :param destination: Required. - :type destination: - ~azure.mgmt.network.v2018_08_01.models.ConnectionMonitorDestination - :param auto_start: Determines if the connection monitor will start - automatically once created. Default value: True . - :type auto_start: bool - :param monitoring_interval_in_seconds: Monitoring interval in seconds. - Default value: 60 . - :type monitoring_interval_in_seconds: int - :param provisioning_state: The provisioning state of the connection - monitor. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2018_08_01.models.ProvisioningState - :param start_time: The date and time when the connection monitor was - started. - :type start_time: datetime - :param monitoring_status: The monitoring status of the connection monitor. - :type monitoring_status: str - """ - - _validation = { - 'name': {'readonly': True}, - 'id': {'readonly': True}, - 'type': {'readonly': True}, - 'source': {'required': True}, - 'destination': {'required': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'id': {'key': 'id', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'source': {'key': 'properties.source', 'type': 'ConnectionMonitorSource'}, - 'destination': {'key': 'properties.destination', 'type': 'ConnectionMonitorDestination'}, - 'auto_start': {'key': 'properties.autoStart', 'type': 'bool'}, - 'monitoring_interval_in_seconds': {'key': 'properties.monitoringIntervalInSeconds', 'type': 'int'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'start_time': {'key': 'properties.startTime', 'type': 'iso-8601'}, - 'monitoring_status': {'key': 'properties.monitoringStatus', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ConnectionMonitorResult, self).__init__(**kwargs) - self.name = None - self.id = None - self.etag = kwargs.get('etag', "A unique read-only string that changes whenever the resource is updated.") - self.type = None - self.location = kwargs.get('location', None) - self.tags = kwargs.get('tags', None) - self.source = kwargs.get('source', None) - self.destination = kwargs.get('destination', None) - self.auto_start = kwargs.get('auto_start', True) - self.monitoring_interval_in_seconds = kwargs.get('monitoring_interval_in_seconds', 60) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.start_time = kwargs.get('start_time', None) - self.monitoring_status = kwargs.get('monitoring_status', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connection_monitor_result_paged.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connection_monitor_result_paged.py deleted file mode 100644 index 8a2ad228044..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connection_monitor_result_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.paging import Paged - - -class ConnectionMonitorResultPaged(Paged): - """ - A paging container for iterating over a list of :class:`ConnectionMonitorResult ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[ConnectionMonitorResult]'} - } - - def __init__(self, *args, **kwargs): - - super(ConnectionMonitorResultPaged, self).__init__(*args, **kwargs) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connection_monitor_result_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connection_monitor_result_py3.py deleted file mode 100644 index 097ee30d254..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connection_monitor_result_py3.py +++ /dev/null @@ -1,98 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ConnectionMonitorResult(Model): - """Information about the connection monitor. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :ivar name: Name of the connection monitor. - :vartype name: str - :ivar id: ID of the connection monitor. - :vartype id: str - :param etag: Default value: "A unique read-only string that changes - whenever the resource is updated." . - :type etag: str - :ivar type: Connection monitor type. - :vartype type: str - :param location: Connection monitor location. - :type location: str - :param tags: Connection monitor tags. - :type tags: dict[str, str] - :param source: Required. - :type source: - ~azure.mgmt.network.v2018_08_01.models.ConnectionMonitorSource - :param destination: Required. - :type destination: - ~azure.mgmt.network.v2018_08_01.models.ConnectionMonitorDestination - :param auto_start: Determines if the connection monitor will start - automatically once created. Default value: True . - :type auto_start: bool - :param monitoring_interval_in_seconds: Monitoring interval in seconds. - Default value: 60 . - :type monitoring_interval_in_seconds: int - :param provisioning_state: The provisioning state of the connection - monitor. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2018_08_01.models.ProvisioningState - :param start_time: The date and time when the connection monitor was - started. - :type start_time: datetime - :param monitoring_status: The monitoring status of the connection monitor. - :type monitoring_status: str - """ - - _validation = { - 'name': {'readonly': True}, - 'id': {'readonly': True}, - 'type': {'readonly': True}, - 'source': {'required': True}, - 'destination': {'required': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'id': {'key': 'id', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'source': {'key': 'properties.source', 'type': 'ConnectionMonitorSource'}, - 'destination': {'key': 'properties.destination', 'type': 'ConnectionMonitorDestination'}, - 'auto_start': {'key': 'properties.autoStart', 'type': 'bool'}, - 'monitoring_interval_in_seconds': {'key': 'properties.monitoringIntervalInSeconds', 'type': 'int'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'start_time': {'key': 'properties.startTime', 'type': 'iso-8601'}, - 'monitoring_status': {'key': 'properties.monitoringStatus', 'type': 'str'}, - } - - def __init__(self, *, source, destination, etag: str="A unique read-only string that changes whenever the resource is updated.", location: str=None, tags=None, auto_start: bool=True, monitoring_interval_in_seconds: int=60, provisioning_state=None, start_time=None, monitoring_status: str=None, **kwargs) -> None: - super(ConnectionMonitorResult, self).__init__(**kwargs) - self.name = None - self.id = None - self.etag = etag - self.type = None - self.location = location - self.tags = tags - self.source = source - self.destination = destination - self.auto_start = auto_start - self.monitoring_interval_in_seconds = monitoring_interval_in_seconds - self.provisioning_state = provisioning_state - self.start_time = start_time - self.monitoring_status = monitoring_status diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connection_monitor_source.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connection_monitor_source.py deleted file mode 100644 index 1425fa613ce..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connection_monitor_source.py +++ /dev/null @@ -1,39 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ConnectionMonitorSource(Model): - """Describes the source of connection monitor. - - All required parameters must be populated in order to send to Azure. - - :param resource_id: Required. The ID of the resource used as the source by - connection monitor. - :type resource_id: str - :param port: The source port used by connection monitor. - :type port: int - """ - - _validation = { - 'resource_id': {'required': True}, - } - - _attribute_map = { - 'resource_id': {'key': 'resourceId', 'type': 'str'}, - 'port': {'key': 'port', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(ConnectionMonitorSource, self).__init__(**kwargs) - self.resource_id = kwargs.get('resource_id', None) - self.port = kwargs.get('port', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connection_monitor_source_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connection_monitor_source_py3.py deleted file mode 100644 index 4d44fcaf8bf..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connection_monitor_source_py3.py +++ /dev/null @@ -1,39 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ConnectionMonitorSource(Model): - """Describes the source of connection monitor. - - All required parameters must be populated in order to send to Azure. - - :param resource_id: Required. The ID of the resource used as the source by - connection monitor. - :type resource_id: str - :param port: The source port used by connection monitor. - :type port: int - """ - - _validation = { - 'resource_id': {'required': True}, - } - - _attribute_map = { - 'resource_id': {'key': 'resourceId', 'type': 'str'}, - 'port': {'key': 'port', 'type': 'int'}, - } - - def __init__(self, *, resource_id: str, port: int=None, **kwargs) -> None: - super(ConnectionMonitorSource, self).__init__(**kwargs) - self.resource_id = resource_id - self.port = port diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connection_reset_shared_key.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connection_reset_shared_key.py deleted file mode 100644 index 1ade077795e..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connection_reset_shared_key.py +++ /dev/null @@ -1,35 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ConnectionResetSharedKey(Model): - """The virtual network connection reset shared key. - - All required parameters must be populated in order to send to Azure. - - :param key_length: Required. The virtual network connection reset shared - key length, should between 1 and 128. - :type key_length: int - """ - - _validation = { - 'key_length': {'required': True, 'maximum': 128, 'minimum': 1}, - } - - _attribute_map = { - 'key_length': {'key': 'keyLength', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(ConnectionResetSharedKey, self).__init__(**kwargs) - self.key_length = kwargs.get('key_length', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connection_reset_shared_key_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connection_reset_shared_key_py3.py deleted file mode 100644 index 47326d4c208..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connection_reset_shared_key_py3.py +++ /dev/null @@ -1,35 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ConnectionResetSharedKey(Model): - """The virtual network connection reset shared key. - - All required parameters must be populated in order to send to Azure. - - :param key_length: Required. The virtual network connection reset shared - key length, should between 1 and 128. - :type key_length: int - """ - - _validation = { - 'key_length': {'required': True, 'maximum': 128, 'minimum': 1}, - } - - _attribute_map = { - 'key_length': {'key': 'keyLength', 'type': 'int'}, - } - - def __init__(self, *, key_length: int, **kwargs) -> None: - super(ConnectionResetSharedKey, self).__init__(**kwargs) - self.key_length = key_length diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connection_shared_key.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connection_shared_key.py deleted file mode 100644 index f6d742dac00..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connection_shared_key.py +++ /dev/null @@ -1,37 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource import SubResource - - -class ConnectionSharedKey(SubResource): - """Response for GetConnectionSharedKey API service call. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :param value: Required. The virtual network connection shared key value. - :type value: str - """ - - _validation = { - 'value': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'value': {'key': 'value', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ConnectionSharedKey, self).__init__(**kwargs) - self.value = kwargs.get('value', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connection_shared_key_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connection_shared_key_py3.py deleted file mode 100644 index 819965ba3db..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connection_shared_key_py3.py +++ /dev/null @@ -1,37 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource_py3 import SubResource - - -class ConnectionSharedKey(SubResource): - """Response for GetConnectionSharedKey API service call. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :param value: Required. The virtual network connection shared key value. - :type value: str - """ - - _validation = { - 'value': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'value': {'key': 'value', 'type': 'str'}, - } - - def __init__(self, *, value: str, id: str=None, **kwargs) -> None: - super(ConnectionSharedKey, self).__init__(id=id, **kwargs) - self.value = value diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connection_state_snapshot.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connection_state_snapshot.py deleted file mode 100644 index 9f98c7910ac..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connection_state_snapshot.py +++ /dev/null @@ -1,76 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ConnectionStateSnapshot(Model): - """Connection state snapshot. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param connection_state: The connection state. Possible values include: - 'Reachable', 'Unreachable', 'Unknown' - :type connection_state: str or - ~azure.mgmt.network.v2018_08_01.models.ConnectionState - :param start_time: The start time of the connection snapshot. - :type start_time: datetime - :param end_time: The end time of the connection snapshot. - :type end_time: datetime - :param evaluation_state: Connectivity analysis evaluation state. Possible - values include: 'NotStarted', 'InProgress', 'Completed' - :type evaluation_state: str or - ~azure.mgmt.network.v2018_08_01.models.EvaluationState - :param avg_latency_in_ms: Average latency in ms. - :type avg_latency_in_ms: int - :param min_latency_in_ms: Minimum latency in ms. - :type min_latency_in_ms: int - :param max_latency_in_ms: Maximum latency in ms. - :type max_latency_in_ms: int - :param probes_sent: The number of sent probes. - :type probes_sent: int - :param probes_failed: The number of failed probes. - :type probes_failed: int - :ivar hops: List of hops between the source and the destination. - :vartype hops: - list[~azure.mgmt.network.v2018_08_01.models.ConnectivityHop] - """ - - _validation = { - 'hops': {'readonly': True}, - } - - _attribute_map = { - 'connection_state': {'key': 'connectionState', 'type': 'str'}, - 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, - 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, - 'evaluation_state': {'key': 'evaluationState', 'type': 'str'}, - 'avg_latency_in_ms': {'key': 'avgLatencyInMs', 'type': 'int'}, - 'min_latency_in_ms': {'key': 'minLatencyInMs', 'type': 'int'}, - 'max_latency_in_ms': {'key': 'maxLatencyInMs', 'type': 'int'}, - 'probes_sent': {'key': 'probesSent', 'type': 'int'}, - 'probes_failed': {'key': 'probesFailed', 'type': 'int'}, - 'hops': {'key': 'hops', 'type': '[ConnectivityHop]'}, - } - - def __init__(self, **kwargs): - super(ConnectionStateSnapshot, self).__init__(**kwargs) - self.connection_state = kwargs.get('connection_state', None) - self.start_time = kwargs.get('start_time', None) - self.end_time = kwargs.get('end_time', None) - self.evaluation_state = kwargs.get('evaluation_state', None) - self.avg_latency_in_ms = kwargs.get('avg_latency_in_ms', None) - self.min_latency_in_ms = kwargs.get('min_latency_in_ms', None) - self.max_latency_in_ms = kwargs.get('max_latency_in_ms', None) - self.probes_sent = kwargs.get('probes_sent', None) - self.probes_failed = kwargs.get('probes_failed', None) - self.hops = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connection_state_snapshot_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connection_state_snapshot_py3.py deleted file mode 100644 index 88758ebb1b9..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connection_state_snapshot_py3.py +++ /dev/null @@ -1,76 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ConnectionStateSnapshot(Model): - """Connection state snapshot. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param connection_state: The connection state. Possible values include: - 'Reachable', 'Unreachable', 'Unknown' - :type connection_state: str or - ~azure.mgmt.network.v2018_08_01.models.ConnectionState - :param start_time: The start time of the connection snapshot. - :type start_time: datetime - :param end_time: The end time of the connection snapshot. - :type end_time: datetime - :param evaluation_state: Connectivity analysis evaluation state. Possible - values include: 'NotStarted', 'InProgress', 'Completed' - :type evaluation_state: str or - ~azure.mgmt.network.v2018_08_01.models.EvaluationState - :param avg_latency_in_ms: Average latency in ms. - :type avg_latency_in_ms: int - :param min_latency_in_ms: Minimum latency in ms. - :type min_latency_in_ms: int - :param max_latency_in_ms: Maximum latency in ms. - :type max_latency_in_ms: int - :param probes_sent: The number of sent probes. - :type probes_sent: int - :param probes_failed: The number of failed probes. - :type probes_failed: int - :ivar hops: List of hops between the source and the destination. - :vartype hops: - list[~azure.mgmt.network.v2018_08_01.models.ConnectivityHop] - """ - - _validation = { - 'hops': {'readonly': True}, - } - - _attribute_map = { - 'connection_state': {'key': 'connectionState', 'type': 'str'}, - 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, - 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, - 'evaluation_state': {'key': 'evaluationState', 'type': 'str'}, - 'avg_latency_in_ms': {'key': 'avgLatencyInMs', 'type': 'int'}, - 'min_latency_in_ms': {'key': 'minLatencyInMs', 'type': 'int'}, - 'max_latency_in_ms': {'key': 'maxLatencyInMs', 'type': 'int'}, - 'probes_sent': {'key': 'probesSent', 'type': 'int'}, - 'probes_failed': {'key': 'probesFailed', 'type': 'int'}, - 'hops': {'key': 'hops', 'type': '[ConnectivityHop]'}, - } - - def __init__(self, *, connection_state=None, start_time=None, end_time=None, evaluation_state=None, avg_latency_in_ms: int=None, min_latency_in_ms: int=None, max_latency_in_ms: int=None, probes_sent: int=None, probes_failed: int=None, **kwargs) -> None: - super(ConnectionStateSnapshot, self).__init__(**kwargs) - self.connection_state = connection_state - self.start_time = start_time - self.end_time = end_time - self.evaluation_state = evaluation_state - self.avg_latency_in_ms = avg_latency_in_ms - self.min_latency_in_ms = min_latency_in_ms - self.max_latency_in_ms = max_latency_in_ms - self.probes_sent = probes_sent - self.probes_failed = probes_failed - self.hops = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connectivity_destination.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connectivity_destination.py deleted file mode 100644 index 964c425a29d..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connectivity_destination.py +++ /dev/null @@ -1,38 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ConnectivityDestination(Model): - """Parameters that define destination of connection. - - :param resource_id: The ID of the resource to which a connection attempt - will be made. - :type resource_id: str - :param address: The IP address or URI the resource to which a connection - attempt will be made. - :type address: str - :param port: Port on which check connectivity will be performed. - :type port: int - """ - - _attribute_map = { - 'resource_id': {'key': 'resourceId', 'type': 'str'}, - 'address': {'key': 'address', 'type': 'str'}, - 'port': {'key': 'port', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(ConnectivityDestination, self).__init__(**kwargs) - self.resource_id = kwargs.get('resource_id', None) - self.address = kwargs.get('address', None) - self.port = kwargs.get('port', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connectivity_destination_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connectivity_destination_py3.py deleted file mode 100644 index c51619081ed..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connectivity_destination_py3.py +++ /dev/null @@ -1,38 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ConnectivityDestination(Model): - """Parameters that define destination of connection. - - :param resource_id: The ID of the resource to which a connection attempt - will be made. - :type resource_id: str - :param address: The IP address or URI the resource to which a connection - attempt will be made. - :type address: str - :param port: Port on which check connectivity will be performed. - :type port: int - """ - - _attribute_map = { - 'resource_id': {'key': 'resourceId', 'type': 'str'}, - 'address': {'key': 'address', 'type': 'str'}, - 'port': {'key': 'port', 'type': 'int'}, - } - - def __init__(self, *, resource_id: str=None, address: str=None, port: int=None, **kwargs) -> None: - super(ConnectivityDestination, self).__init__(**kwargs) - self.resource_id = resource_id - self.address = address - self.port = port diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connectivity_hop.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connectivity_hop.py deleted file mode 100644 index 32ab7254229..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connectivity_hop.py +++ /dev/null @@ -1,61 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ConnectivityHop(Model): - """Information about a hop between the source and the destination. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar type: The type of the hop. - :vartype type: str - :ivar id: The ID of the hop. - :vartype id: str - :ivar address: The IP address of the hop. - :vartype address: str - :ivar resource_id: The ID of the resource corresponding to this hop. - :vartype resource_id: str - :ivar next_hop_ids: List of next hop identifiers. - :vartype next_hop_ids: list[str] - :ivar issues: List of issues. - :vartype issues: - list[~azure.mgmt.network.v2018_08_01.models.ConnectivityIssue] - """ - - _validation = { - 'type': {'readonly': True}, - 'id': {'readonly': True}, - 'address': {'readonly': True}, - 'resource_id': {'readonly': True}, - 'next_hop_ids': {'readonly': True}, - 'issues': {'readonly': True}, - } - - _attribute_map = { - 'type': {'key': 'type', 'type': 'str'}, - 'id': {'key': 'id', 'type': 'str'}, - 'address': {'key': 'address', 'type': 'str'}, - 'resource_id': {'key': 'resourceId', 'type': 'str'}, - 'next_hop_ids': {'key': 'nextHopIds', 'type': '[str]'}, - 'issues': {'key': 'issues', 'type': '[ConnectivityIssue]'}, - } - - def __init__(self, **kwargs): - super(ConnectivityHop, self).__init__(**kwargs) - self.type = None - self.id = None - self.address = None - self.resource_id = None - self.next_hop_ids = None - self.issues = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connectivity_hop_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connectivity_hop_py3.py deleted file mode 100644 index e8c38c6812e..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connectivity_hop_py3.py +++ /dev/null @@ -1,61 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ConnectivityHop(Model): - """Information about a hop between the source and the destination. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar type: The type of the hop. - :vartype type: str - :ivar id: The ID of the hop. - :vartype id: str - :ivar address: The IP address of the hop. - :vartype address: str - :ivar resource_id: The ID of the resource corresponding to this hop. - :vartype resource_id: str - :ivar next_hop_ids: List of next hop identifiers. - :vartype next_hop_ids: list[str] - :ivar issues: List of issues. - :vartype issues: - list[~azure.mgmt.network.v2018_08_01.models.ConnectivityIssue] - """ - - _validation = { - 'type': {'readonly': True}, - 'id': {'readonly': True}, - 'address': {'readonly': True}, - 'resource_id': {'readonly': True}, - 'next_hop_ids': {'readonly': True}, - 'issues': {'readonly': True}, - } - - _attribute_map = { - 'type': {'key': 'type', 'type': 'str'}, - 'id': {'key': 'id', 'type': 'str'}, - 'address': {'key': 'address', 'type': 'str'}, - 'resource_id': {'key': 'resourceId', 'type': 'str'}, - 'next_hop_ids': {'key': 'nextHopIds', 'type': '[str]'}, - 'issues': {'key': 'issues', 'type': '[ConnectivityIssue]'}, - } - - def __init__(self, **kwargs) -> None: - super(ConnectivityHop, self).__init__(**kwargs) - self.type = None - self.id = None - self.address = None - self.resource_id = None - self.next_hop_ids = None - self.issues = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connectivity_information.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connectivity_information.py deleted file mode 100644 index c75839ea6ea..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connectivity_information.py +++ /dev/null @@ -1,68 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ConnectivityInformation(Model): - """Information on the connectivity status. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar hops: List of hops between the source and the destination. - :vartype hops: - list[~azure.mgmt.network.v2018_08_01.models.ConnectivityHop] - :ivar connection_status: The connection status. Possible values include: - 'Unknown', 'Connected', 'Disconnected', 'Degraded' - :vartype connection_status: str or - ~azure.mgmt.network.v2018_08_01.models.ConnectionStatus - :ivar avg_latency_in_ms: Average latency in milliseconds. - :vartype avg_latency_in_ms: int - :ivar min_latency_in_ms: Minimum latency in milliseconds. - :vartype min_latency_in_ms: int - :ivar max_latency_in_ms: Maximum latency in milliseconds. - :vartype max_latency_in_ms: int - :ivar probes_sent: Total number of probes sent. - :vartype probes_sent: int - :ivar probes_failed: Number of failed probes. - :vartype probes_failed: int - """ - - _validation = { - 'hops': {'readonly': True}, - 'connection_status': {'readonly': True}, - 'avg_latency_in_ms': {'readonly': True}, - 'min_latency_in_ms': {'readonly': True}, - 'max_latency_in_ms': {'readonly': True}, - 'probes_sent': {'readonly': True}, - 'probes_failed': {'readonly': True}, - } - - _attribute_map = { - 'hops': {'key': 'hops', 'type': '[ConnectivityHop]'}, - 'connection_status': {'key': 'connectionStatus', 'type': 'str'}, - 'avg_latency_in_ms': {'key': 'avgLatencyInMs', 'type': 'int'}, - 'min_latency_in_ms': {'key': 'minLatencyInMs', 'type': 'int'}, - 'max_latency_in_ms': {'key': 'maxLatencyInMs', 'type': 'int'}, - 'probes_sent': {'key': 'probesSent', 'type': 'int'}, - 'probes_failed': {'key': 'probesFailed', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(ConnectivityInformation, self).__init__(**kwargs) - self.hops = None - self.connection_status = None - self.avg_latency_in_ms = None - self.min_latency_in_ms = None - self.max_latency_in_ms = None - self.probes_sent = None - self.probes_failed = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connectivity_information_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connectivity_information_py3.py deleted file mode 100644 index 40f060dc8ba..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connectivity_information_py3.py +++ /dev/null @@ -1,68 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ConnectivityInformation(Model): - """Information on the connectivity status. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar hops: List of hops between the source and the destination. - :vartype hops: - list[~azure.mgmt.network.v2018_08_01.models.ConnectivityHop] - :ivar connection_status: The connection status. Possible values include: - 'Unknown', 'Connected', 'Disconnected', 'Degraded' - :vartype connection_status: str or - ~azure.mgmt.network.v2018_08_01.models.ConnectionStatus - :ivar avg_latency_in_ms: Average latency in milliseconds. - :vartype avg_latency_in_ms: int - :ivar min_latency_in_ms: Minimum latency in milliseconds. - :vartype min_latency_in_ms: int - :ivar max_latency_in_ms: Maximum latency in milliseconds. - :vartype max_latency_in_ms: int - :ivar probes_sent: Total number of probes sent. - :vartype probes_sent: int - :ivar probes_failed: Number of failed probes. - :vartype probes_failed: int - """ - - _validation = { - 'hops': {'readonly': True}, - 'connection_status': {'readonly': True}, - 'avg_latency_in_ms': {'readonly': True}, - 'min_latency_in_ms': {'readonly': True}, - 'max_latency_in_ms': {'readonly': True}, - 'probes_sent': {'readonly': True}, - 'probes_failed': {'readonly': True}, - } - - _attribute_map = { - 'hops': {'key': 'hops', 'type': '[ConnectivityHop]'}, - 'connection_status': {'key': 'connectionStatus', 'type': 'str'}, - 'avg_latency_in_ms': {'key': 'avgLatencyInMs', 'type': 'int'}, - 'min_latency_in_ms': {'key': 'minLatencyInMs', 'type': 'int'}, - 'max_latency_in_ms': {'key': 'maxLatencyInMs', 'type': 'int'}, - 'probes_sent': {'key': 'probesSent', 'type': 'int'}, - 'probes_failed': {'key': 'probesFailed', 'type': 'int'}, - } - - def __init__(self, **kwargs) -> None: - super(ConnectivityInformation, self).__init__(**kwargs) - self.hops = None - self.connection_status = None - self.avg_latency_in_ms = None - self.min_latency_in_ms = None - self.max_latency_in_ms = None - self.probes_sent = None - self.probes_failed = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connectivity_issue.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connectivity_issue.py deleted file mode 100644 index c5c094c631f..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connectivity_issue.py +++ /dev/null @@ -1,55 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ConnectivityIssue(Model): - """Information about an issue encountered in the process of checking for - connectivity. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar origin: The origin of the issue. Possible values include: 'Local', - 'Inbound', 'Outbound' - :vartype origin: str or ~azure.mgmt.network.v2018_08_01.models.Origin - :ivar severity: The severity of the issue. Possible values include: - 'Error', 'Warning' - :vartype severity: str or ~azure.mgmt.network.v2018_08_01.models.Severity - :ivar type: The type of issue. Possible values include: 'Unknown', - 'AgentStopped', 'GuestFirewall', 'DnsResolution', 'SocketBind', - 'NetworkSecurityRule', 'UserDefinedRoute', 'PortThrottled', 'Platform' - :vartype type: str or ~azure.mgmt.network.v2018_08_01.models.IssueType - :ivar context: Provides additional context on the issue. - :vartype context: list[dict[str, str]] - """ - - _validation = { - 'origin': {'readonly': True}, - 'severity': {'readonly': True}, - 'type': {'readonly': True}, - 'context': {'readonly': True}, - } - - _attribute_map = { - 'origin': {'key': 'origin', 'type': 'str'}, - 'severity': {'key': 'severity', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'context': {'key': 'context', 'type': '[{str}]'}, - } - - def __init__(self, **kwargs): - super(ConnectivityIssue, self).__init__(**kwargs) - self.origin = None - self.severity = None - self.type = None - self.context = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connectivity_issue_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connectivity_issue_py3.py deleted file mode 100644 index db8fda9f6fd..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connectivity_issue_py3.py +++ /dev/null @@ -1,55 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ConnectivityIssue(Model): - """Information about an issue encountered in the process of checking for - connectivity. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar origin: The origin of the issue. Possible values include: 'Local', - 'Inbound', 'Outbound' - :vartype origin: str or ~azure.mgmt.network.v2018_08_01.models.Origin - :ivar severity: The severity of the issue. Possible values include: - 'Error', 'Warning' - :vartype severity: str or ~azure.mgmt.network.v2018_08_01.models.Severity - :ivar type: The type of issue. Possible values include: 'Unknown', - 'AgentStopped', 'GuestFirewall', 'DnsResolution', 'SocketBind', - 'NetworkSecurityRule', 'UserDefinedRoute', 'PortThrottled', 'Platform' - :vartype type: str or ~azure.mgmt.network.v2018_08_01.models.IssueType - :ivar context: Provides additional context on the issue. - :vartype context: list[dict[str, str]] - """ - - _validation = { - 'origin': {'readonly': True}, - 'severity': {'readonly': True}, - 'type': {'readonly': True}, - 'context': {'readonly': True}, - } - - _attribute_map = { - 'origin': {'key': 'origin', 'type': 'str'}, - 'severity': {'key': 'severity', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'context': {'key': 'context', 'type': '[{str}]'}, - } - - def __init__(self, **kwargs) -> None: - super(ConnectivityIssue, self).__init__(**kwargs) - self.origin = None - self.severity = None - self.type = None - self.context = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connectivity_parameters.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connectivity_parameters.py deleted file mode 100644 index e97830213cd..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connectivity_parameters.py +++ /dev/null @@ -1,50 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ConnectivityParameters(Model): - """Parameters that determine how the connectivity check will be performed. - - All required parameters must be populated in order to send to Azure. - - :param source: Required. - :type source: ~azure.mgmt.network.v2018_08_01.models.ConnectivitySource - :param destination: Required. - :type destination: - ~azure.mgmt.network.v2018_08_01.models.ConnectivityDestination - :param protocol: Network protocol. Possible values include: 'Tcp', 'Http', - 'Https', 'Icmp' - :type protocol: str or ~azure.mgmt.network.v2018_08_01.models.Protocol - :param protocol_configuration: - :type protocol_configuration: - ~azure.mgmt.network.v2018_08_01.models.ProtocolConfiguration - """ - - _validation = { - 'source': {'required': True}, - 'destination': {'required': True}, - } - - _attribute_map = { - 'source': {'key': 'source', 'type': 'ConnectivitySource'}, - 'destination': {'key': 'destination', 'type': 'ConnectivityDestination'}, - 'protocol': {'key': 'protocol', 'type': 'str'}, - 'protocol_configuration': {'key': 'protocolConfiguration', 'type': 'ProtocolConfiguration'}, - } - - def __init__(self, **kwargs): - super(ConnectivityParameters, self).__init__(**kwargs) - self.source = kwargs.get('source', None) - self.destination = kwargs.get('destination', None) - self.protocol = kwargs.get('protocol', None) - self.protocol_configuration = kwargs.get('protocol_configuration', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connectivity_parameters_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connectivity_parameters_py3.py deleted file mode 100644 index bbf3b4755f8..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connectivity_parameters_py3.py +++ /dev/null @@ -1,50 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ConnectivityParameters(Model): - """Parameters that determine how the connectivity check will be performed. - - All required parameters must be populated in order to send to Azure. - - :param source: Required. - :type source: ~azure.mgmt.network.v2018_08_01.models.ConnectivitySource - :param destination: Required. - :type destination: - ~azure.mgmt.network.v2018_08_01.models.ConnectivityDestination - :param protocol: Network protocol. Possible values include: 'Tcp', 'Http', - 'Https', 'Icmp' - :type protocol: str or ~azure.mgmt.network.v2018_08_01.models.Protocol - :param protocol_configuration: - :type protocol_configuration: - ~azure.mgmt.network.v2018_08_01.models.ProtocolConfiguration - """ - - _validation = { - 'source': {'required': True}, - 'destination': {'required': True}, - } - - _attribute_map = { - 'source': {'key': 'source', 'type': 'ConnectivitySource'}, - 'destination': {'key': 'destination', 'type': 'ConnectivityDestination'}, - 'protocol': {'key': 'protocol', 'type': 'str'}, - 'protocol_configuration': {'key': 'protocolConfiguration', 'type': 'ProtocolConfiguration'}, - } - - def __init__(self, *, source, destination, protocol=None, protocol_configuration=None, **kwargs) -> None: - super(ConnectivityParameters, self).__init__(**kwargs) - self.source = source - self.destination = destination - self.protocol = protocol - self.protocol_configuration = protocol_configuration diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connectivity_source.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connectivity_source.py deleted file mode 100644 index 3fd82793f8d..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connectivity_source.py +++ /dev/null @@ -1,40 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ConnectivitySource(Model): - """Parameters that define the source of the connection. - - All required parameters must be populated in order to send to Azure. - - :param resource_id: Required. The ID of the resource from which a - connectivity check will be initiated. - :type resource_id: str - :param port: The source port from which a connectivity check will be - performed. - :type port: int - """ - - _validation = { - 'resource_id': {'required': True}, - } - - _attribute_map = { - 'resource_id': {'key': 'resourceId', 'type': 'str'}, - 'port': {'key': 'port', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(ConnectivitySource, self).__init__(**kwargs) - self.resource_id = kwargs.get('resource_id', None) - self.port = kwargs.get('port', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connectivity_source_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connectivity_source_py3.py deleted file mode 100644 index f7833d1bef7..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/connectivity_source_py3.py +++ /dev/null @@ -1,40 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ConnectivitySource(Model): - """Parameters that define the source of the connection. - - All required parameters must be populated in order to send to Azure. - - :param resource_id: Required. The ID of the resource from which a - connectivity check will be initiated. - :type resource_id: str - :param port: The source port from which a connectivity check will be - performed. - :type port: int - """ - - _validation = { - 'resource_id': {'required': True}, - } - - _attribute_map = { - 'resource_id': {'key': 'resourceId', 'type': 'str'}, - 'port': {'key': 'port', 'type': 'int'}, - } - - def __init__(self, *, resource_id: str, port: int=None, **kwargs) -> None: - super(ConnectivitySource, self).__init__(**kwargs) - self.resource_id = resource_id - self.port = port diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/container.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/container.py deleted file mode 100644 index 4fa66f10688..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/container.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource import SubResource - - -class Container(SubResource): - """Reference to container resource in remote resource provider. - - :param id: Resource ID. - :type id: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(Container, self).__init__(**kwargs) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/container_network_interface.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/container_network_interface.py deleted file mode 100644 index 1f87ccf4198..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/container_network_interface.py +++ /dev/null @@ -1,71 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource import SubResource - - -class ContainerNetworkInterface(SubResource): - """Container network interface child resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param container_network_interface_configuration: Container network - interface configuration from which this container network interface is - created. - :type container_network_interface_configuration: - ~azure.mgmt.network.v2018_08_01.models.ContainerNetworkInterfaceConfiguration - :param container: Reference to the conatinaer to which this container - network interface is attached. - :type container: ~azure.mgmt.network.v2018_08_01.models.Container - :param ip_configurations: Reference to the ip configuration on this - container nic. - :type ip_configurations: - list[~azure.mgmt.network.v2018_08_01.models.ContainerNetworkInterfaceIpConfiguration] - :ivar provisioning_state: The provisioning state of the resource. - :vartype provisioning_state: str - :param name: The name of the resource. This name can be used to access the - resource. - :type name: str - :ivar type: Sub Resource type. - :vartype type: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'container_network_interface_configuration': {'key': 'properties.containerNetworkInterfaceConfiguration', 'type': 'ContainerNetworkInterfaceConfiguration'}, - 'container': {'key': 'properties.container', 'type': 'Container'}, - 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[ContainerNetworkInterfaceIpConfiguration]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ContainerNetworkInterface, self).__init__(**kwargs) - self.container_network_interface_configuration = kwargs.get('container_network_interface_configuration', None) - self.container = kwargs.get('container', None) - self.ip_configurations = kwargs.get('ip_configurations', None) - self.provisioning_state = None - self.name = kwargs.get('name', None) - self.type = None - self.etag = kwargs.get('etag', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/container_network_interface_configuration.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/container_network_interface_configuration.py deleted file mode 100644 index 3ec4f493583..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/container_network_interface_configuration.py +++ /dev/null @@ -1,65 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource import SubResource - - -class ContainerNetworkInterfaceConfiguration(SubResource): - """Container network interface configruation child resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param ip_configurations: A list of ip configurations of the container - network interface configuration. - :type ip_configurations: - list[~azure.mgmt.network.v2018_08_01.models.IPConfigurationProfile] - :param container_network_interfaces: A list of container network - interfaces created from this container network interface configuration. - :type container_network_interfaces: - list[~azure.mgmt.network.v2018_08_01.models.ContainerNetworkInterface] - :ivar provisioning_state: The provisioning state of the resource. - :vartype provisioning_state: str - :param name: The name of the resource. This name can be used to access the - resource. - :type name: str - :ivar type: Sub Resource type. - :vartype type: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[IPConfigurationProfile]'}, - 'container_network_interfaces': {'key': 'properties.containerNetworkInterfaces', 'type': '[ContainerNetworkInterface]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ContainerNetworkInterfaceConfiguration, self).__init__(**kwargs) - self.ip_configurations = kwargs.get('ip_configurations', None) - self.container_network_interfaces = kwargs.get('container_network_interfaces', None) - self.provisioning_state = None - self.name = kwargs.get('name', None) - self.type = None - self.etag = kwargs.get('etag', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/container_network_interface_configuration_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/container_network_interface_configuration_py3.py deleted file mode 100644 index 9f18bda7fc7..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/container_network_interface_configuration_py3.py +++ /dev/null @@ -1,65 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource_py3 import SubResource - - -class ContainerNetworkInterfaceConfiguration(SubResource): - """Container network interface configruation child resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param ip_configurations: A list of ip configurations of the container - network interface configuration. - :type ip_configurations: - list[~azure.mgmt.network.v2018_08_01.models.IPConfigurationProfile] - :param container_network_interfaces: A list of container network - interfaces created from this container network interface configuration. - :type container_network_interfaces: - list[~azure.mgmt.network.v2018_08_01.models.ContainerNetworkInterface] - :ivar provisioning_state: The provisioning state of the resource. - :vartype provisioning_state: str - :param name: The name of the resource. This name can be used to access the - resource. - :type name: str - :ivar type: Sub Resource type. - :vartype type: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[IPConfigurationProfile]'}, - 'container_network_interfaces': {'key': 'properties.containerNetworkInterfaces', 'type': '[ContainerNetworkInterface]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, ip_configurations=None, container_network_interfaces=None, name: str=None, etag: str=None, **kwargs) -> None: - super(ContainerNetworkInterfaceConfiguration, self).__init__(id=id, **kwargs) - self.ip_configurations = ip_configurations - self.container_network_interfaces = container_network_interfaces - self.provisioning_state = None - self.name = name - self.type = None - self.etag = etag diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/container_network_interface_ip_configuration.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/container_network_interface_ip_configuration.py deleted file mode 100644 index 457fc24a3f6..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/container_network_interface_ip_configuration.py +++ /dev/null @@ -1,50 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ContainerNetworkInterfaceIpConfiguration(Model): - """The ip configuration for a container network interface. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar provisioning_state: The provisioning state of the resource. - :vartype provisioning_state: str - :param name: The name of the resource. This name can be used to access the - resource. - :type name: str - :ivar type: Sub Resource type. - :vartype type: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ContainerNetworkInterfaceIpConfiguration, self).__init__(**kwargs) - self.provisioning_state = None - self.name = kwargs.get('name', None) - self.type = None - self.etag = kwargs.get('etag', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/container_network_interface_ip_configuration_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/container_network_interface_ip_configuration_py3.py deleted file mode 100644 index adea92da1db..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/container_network_interface_ip_configuration_py3.py +++ /dev/null @@ -1,50 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ContainerNetworkInterfaceIpConfiguration(Model): - """The ip configuration for a container network interface. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar provisioning_state: The provisioning state of the resource. - :vartype provisioning_state: str - :param name: The name of the resource. This name can be used to access the - resource. - :type name: str - :ivar type: Sub Resource type. - :vartype type: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, name: str=None, etag: str=None, **kwargs) -> None: - super(ContainerNetworkInterfaceIpConfiguration, self).__init__(**kwargs) - self.provisioning_state = None - self.name = name - self.type = None - self.etag = etag diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/container_network_interface_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/container_network_interface_py3.py deleted file mode 100644 index accf1a78f17..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/container_network_interface_py3.py +++ /dev/null @@ -1,71 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource_py3 import SubResource - - -class ContainerNetworkInterface(SubResource): - """Container network interface child resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param container_network_interface_configuration: Container network - interface configuration from which this container network interface is - created. - :type container_network_interface_configuration: - ~azure.mgmt.network.v2018_08_01.models.ContainerNetworkInterfaceConfiguration - :param container: Reference to the conatinaer to which this container - network interface is attached. - :type container: ~azure.mgmt.network.v2018_08_01.models.Container - :param ip_configurations: Reference to the ip configuration on this - container nic. - :type ip_configurations: - list[~azure.mgmt.network.v2018_08_01.models.ContainerNetworkInterfaceIpConfiguration] - :ivar provisioning_state: The provisioning state of the resource. - :vartype provisioning_state: str - :param name: The name of the resource. This name can be used to access the - resource. - :type name: str - :ivar type: Sub Resource type. - :vartype type: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'container_network_interface_configuration': {'key': 'properties.containerNetworkInterfaceConfiguration', 'type': 'ContainerNetworkInterfaceConfiguration'}, - 'container': {'key': 'properties.container', 'type': 'Container'}, - 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[ContainerNetworkInterfaceIpConfiguration]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, container_network_interface_configuration=None, container=None, ip_configurations=None, name: str=None, etag: str=None, **kwargs) -> None: - super(ContainerNetworkInterface, self).__init__(id=id, **kwargs) - self.container_network_interface_configuration = container_network_interface_configuration - self.container = container - self.ip_configurations = ip_configurations - self.provisioning_state = None - self.name = name - self.type = None - self.etag = etag diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/container_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/container_py3.py deleted file mode 100644 index cb5f7e24793..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/container_py3.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource_py3 import SubResource - - -class Container(SubResource): - """Reference to container resource in remote resource provider. - - :param id: Resource ID. - :type id: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, **kwargs) -> None: - super(Container, self).__init__(id=id, **kwargs) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/ddos_protection_plan.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/ddos_protection_plan.py deleted file mode 100644 index 683a9c8cfed..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/ddos_protection_plan.py +++ /dev/null @@ -1,81 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class DdosProtectionPlan(Model): - """A DDoS protection plan in a resource group. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar id: Resource ID. - :vartype id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :ivar resource_guid: The resource GUID property of the DDoS protection - plan resource. It uniquely identifies the resource, even if the user - changes its name or migrate the resource across subscriptions or resource - groups. - :vartype resource_guid: str - :ivar provisioning_state: The provisioning state of the DDoS protection - plan resource. Possible values are: 'Succeeded', 'Updating', 'Deleting', - and 'Failed'. - :vartype provisioning_state: str - :ivar virtual_networks: The list of virtual networks associated with the - DDoS protection plan resource. This list is read-only. - :vartype virtual_networks: - list[~azure.mgmt.network.v2018_08_01.models.SubResource] - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'resource_guid': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'virtual_networks': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'virtual_networks': {'key': 'properties.virtualNetworks', 'type': '[SubResource]'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(DdosProtectionPlan, self).__init__(**kwargs) - self.id = None - self.name = None - self.type = None - self.location = kwargs.get('location', None) - self.tags = kwargs.get('tags', None) - self.resource_guid = None - self.provisioning_state = None - self.virtual_networks = None - self.etag = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/ddos_protection_plan_paged.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/ddos_protection_plan_paged.py deleted file mode 100644 index 8e22c86c90c..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/ddos_protection_plan_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.paging import Paged - - -class DdosProtectionPlanPaged(Paged): - """ - A paging container for iterating over a list of :class:`DdosProtectionPlan ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[DdosProtectionPlan]'} - } - - def __init__(self, *args, **kwargs): - - super(DdosProtectionPlanPaged, self).__init__(*args, **kwargs) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/ddos_protection_plan_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/ddos_protection_plan_py3.py deleted file mode 100644 index 58902bf7118..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/ddos_protection_plan_py3.py +++ /dev/null @@ -1,81 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class DdosProtectionPlan(Model): - """A DDoS protection plan in a resource group. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar id: Resource ID. - :vartype id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :ivar resource_guid: The resource GUID property of the DDoS protection - plan resource. It uniquely identifies the resource, even if the user - changes its name or migrate the resource across subscriptions or resource - groups. - :vartype resource_guid: str - :ivar provisioning_state: The provisioning state of the DDoS protection - plan resource. Possible values are: 'Succeeded', 'Updating', 'Deleting', - and 'Failed'. - :vartype provisioning_state: str - :ivar virtual_networks: The list of virtual networks associated with the - DDoS protection plan resource. This list is read-only. - :vartype virtual_networks: - list[~azure.mgmt.network.v2018_08_01.models.SubResource] - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'resource_guid': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'virtual_networks': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'virtual_networks': {'key': 'properties.virtualNetworks', 'type': '[SubResource]'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, location: str=None, tags=None, **kwargs) -> None: - super(DdosProtectionPlan, self).__init__(**kwargs) - self.id = None - self.name = None - self.type = None - self.location = location - self.tags = tags - self.resource_guid = None - self.provisioning_state = None - self.virtual_networks = None - self.etag = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/delegation.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/delegation.py deleted file mode 100644 index b9db5da4add..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/delegation.py +++ /dev/null @@ -1,58 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource import SubResource - - -class Delegation(SubResource): - """Details the service to which the subnet is delegated. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param service_name: The name of the service to whom the subnet should be - delegated (e.g. Microsoft.Sql/servers) - :type service_name: str - :param actions: Describes the actions permitted to the service upon - delegation - :type actions: list[str] - :ivar provisioning_state: The provisioning state of the resource. - :vartype provisioning_state: str - :param name: The name of the resource that is unique within a subnet. This - name can be used to access the resource. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'service_name': {'key': 'properties.serviceName', 'type': 'str'}, - 'actions': {'key': 'properties.actions', 'type': '[str]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(Delegation, self).__init__(**kwargs) - self.service_name = kwargs.get('service_name', None) - self.actions = kwargs.get('actions', None) - self.provisioning_state = None - self.name = kwargs.get('name', None) - self.etag = kwargs.get('etag', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/delegation_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/delegation_py3.py deleted file mode 100644 index d374f9d4828..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/delegation_py3.py +++ /dev/null @@ -1,58 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource_py3 import SubResource - - -class Delegation(SubResource): - """Details the service to which the subnet is delegated. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param service_name: The name of the service to whom the subnet should be - delegated (e.g. Microsoft.Sql/servers) - :type service_name: str - :param actions: Describes the actions permitted to the service upon - delegation - :type actions: list[str] - :ivar provisioning_state: The provisioning state of the resource. - :vartype provisioning_state: str - :param name: The name of the resource that is unique within a subnet. This - name can be used to access the resource. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'service_name': {'key': 'properties.serviceName', 'type': 'str'}, - 'actions': {'key': 'properties.actions', 'type': '[str]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, service_name: str=None, actions=None, name: str=None, etag: str=None, **kwargs) -> None: - super(Delegation, self).__init__(id=id, **kwargs) - self.service_name = service_name - self.actions = actions - self.provisioning_state = None - self.name = name - self.etag = etag diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/device_properties.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/device_properties.py deleted file mode 100644 index 8a1653ad020..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/device_properties.py +++ /dev/null @@ -1,36 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class DeviceProperties(Model): - """List of properties of the device. - - :param device_vendor: Name of the device Vendor. - :type device_vendor: str - :param device_model: Model of the device. - :type device_model: str - :param link_speed_in_mbps: Link speed. - :type link_speed_in_mbps: int - """ - - _attribute_map = { - 'device_vendor': {'key': 'deviceVendor', 'type': 'str'}, - 'device_model': {'key': 'deviceModel', 'type': 'str'}, - 'link_speed_in_mbps': {'key': 'linkSpeedInMbps', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(DeviceProperties, self).__init__(**kwargs) - self.device_vendor = kwargs.get('device_vendor', None) - self.device_model = kwargs.get('device_model', None) - self.link_speed_in_mbps = kwargs.get('link_speed_in_mbps', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/device_properties_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/device_properties_py3.py deleted file mode 100644 index 03d9850cbf2..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/device_properties_py3.py +++ /dev/null @@ -1,36 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class DeviceProperties(Model): - """List of properties of the device. - - :param device_vendor: Name of the device Vendor. - :type device_vendor: str - :param device_model: Model of the device. - :type device_model: str - :param link_speed_in_mbps: Link speed. - :type link_speed_in_mbps: int - """ - - _attribute_map = { - 'device_vendor': {'key': 'deviceVendor', 'type': 'str'}, - 'device_model': {'key': 'deviceModel', 'type': 'str'}, - 'link_speed_in_mbps': {'key': 'linkSpeedInMbps', 'type': 'int'}, - } - - def __init__(self, *, device_vendor: str=None, device_model: str=None, link_speed_in_mbps: int=None, **kwargs) -> None: - super(DeviceProperties, self).__init__(**kwargs) - self.device_vendor = device_vendor - self.device_model = device_model - self.link_speed_in_mbps = link_speed_in_mbps diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/dhcp_options.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/dhcp_options.py deleted file mode 100644 index 93b68a7f037..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/dhcp_options.py +++ /dev/null @@ -1,30 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class DhcpOptions(Model): - """DhcpOptions contains an array of DNS servers available to VMs deployed in - the virtual network. Standard DHCP option for a subnet overrides VNET DHCP - options. - - :param dns_servers: The list of DNS servers IP addresses. - :type dns_servers: list[str] - """ - - _attribute_map = { - 'dns_servers': {'key': 'dnsServers', 'type': '[str]'}, - } - - def __init__(self, **kwargs): - super(DhcpOptions, self).__init__(**kwargs) - self.dns_servers = kwargs.get('dns_servers', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/dhcp_options_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/dhcp_options_py3.py deleted file mode 100644 index 7dc4651973a..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/dhcp_options_py3.py +++ /dev/null @@ -1,30 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class DhcpOptions(Model): - """DhcpOptions contains an array of DNS servers available to VMs deployed in - the virtual network. Standard DHCP option for a subnet overrides VNET DHCP - options. - - :param dns_servers: The list of DNS servers IP addresses. - :type dns_servers: list[str] - """ - - _attribute_map = { - 'dns_servers': {'key': 'dnsServers', 'type': '[str]'}, - } - - def __init__(self, *, dns_servers=None, **kwargs) -> None: - super(DhcpOptions, self).__init__(**kwargs) - self.dns_servers = dns_servers diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/dimension.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/dimension.py deleted file mode 100644 index e9c8cd977a5..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/dimension.py +++ /dev/null @@ -1,36 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class Dimension(Model): - """Dimension of the metric. - - :param name: The name of the dimension. - :type name: str - :param display_name: The display name of the dimension. - :type display_name: str - :param internal_name: The internal name of the dimension. - :type internal_name: str - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'display_name': {'key': 'displayName', 'type': 'str'}, - 'internal_name': {'key': 'internalName', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(Dimension, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.display_name = kwargs.get('display_name', None) - self.internal_name = kwargs.get('internal_name', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/dimension_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/dimension_py3.py deleted file mode 100644 index 20743b6424c..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/dimension_py3.py +++ /dev/null @@ -1,36 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class Dimension(Model): - """Dimension of the metric. - - :param name: The name of the dimension. - :type name: str - :param display_name: The display name of the dimension. - :type display_name: str - :param internal_name: The internal name of the dimension. - :type internal_name: str - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'display_name': {'key': 'displayName', 'type': 'str'}, - 'internal_name': {'key': 'internalName', 'type': 'str'}, - } - - def __init__(self, *, name: str=None, display_name: str=None, internal_name: str=None, **kwargs) -> None: - super(Dimension, self).__init__(**kwargs) - self.name = name - self.display_name = display_name - self.internal_name = internal_name diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/dns_name_availability_result.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/dns_name_availability_result.py deleted file mode 100644 index 86ba19eb407..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/dns_name_availability_result.py +++ /dev/null @@ -1,28 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class DnsNameAvailabilityResult(Model): - """Response for the CheckDnsNameAvailability API service call. - - :param available: Domain availability (True/False). - :type available: bool - """ - - _attribute_map = { - 'available': {'key': 'available', 'type': 'bool'}, - } - - def __init__(self, **kwargs): - super(DnsNameAvailabilityResult, self).__init__(**kwargs) - self.available = kwargs.get('available', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/dns_name_availability_result_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/dns_name_availability_result_py3.py deleted file mode 100644 index de0117c2771..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/dns_name_availability_result_py3.py +++ /dev/null @@ -1,28 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class DnsNameAvailabilityResult(Model): - """Response for the CheckDnsNameAvailability API service call. - - :param available: Domain availability (True/False). - :type available: bool - """ - - _attribute_map = { - 'available': {'key': 'available', 'type': 'bool'}, - } - - def __init__(self, *, available: bool=None, **kwargs) -> None: - super(DnsNameAvailabilityResult, self).__init__(**kwargs) - self.available = available diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/effective_network_security_group.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/effective_network_security_group.py deleted file mode 100644 index 70488db1186..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/effective_network_security_group.py +++ /dev/null @@ -1,45 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class EffectiveNetworkSecurityGroup(Model): - """Effective network security group. - - :param network_security_group: The ID of network security group that is - applied. - :type network_security_group: - ~azure.mgmt.network.v2018_08_01.models.SubResource - :param association: Associated resources. - :type association: - ~azure.mgmt.network.v2018_08_01.models.EffectiveNetworkSecurityGroupAssociation - :param effective_security_rules: A collection of effective security rules. - :type effective_security_rules: - list[~azure.mgmt.network.v2018_08_01.models.EffectiveNetworkSecurityRule] - :param tag_map: Mapping of tags to list of IP Addresses included within - the tag. - :type tag_map: dict[str, list[str]] - """ - - _attribute_map = { - 'network_security_group': {'key': 'networkSecurityGroup', 'type': 'SubResource'}, - 'association': {'key': 'association', 'type': 'EffectiveNetworkSecurityGroupAssociation'}, - 'effective_security_rules': {'key': 'effectiveSecurityRules', 'type': '[EffectiveNetworkSecurityRule]'}, - 'tag_map': {'key': 'tagMap', 'type': '{[str]}'}, - } - - def __init__(self, **kwargs): - super(EffectiveNetworkSecurityGroup, self).__init__(**kwargs) - self.network_security_group = kwargs.get('network_security_group', None) - self.association = kwargs.get('association', None) - self.effective_security_rules = kwargs.get('effective_security_rules', None) - self.tag_map = kwargs.get('tag_map', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/effective_network_security_group_association.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/effective_network_security_group_association.py deleted file mode 100644 index b26716109c7..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/effective_network_security_group_association.py +++ /dev/null @@ -1,33 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class EffectiveNetworkSecurityGroupAssociation(Model): - """The effective network security group association. - - :param subnet: The ID of the subnet if assigned. - :type subnet: ~azure.mgmt.network.v2018_08_01.models.SubResource - :param network_interface: The ID of the network interface if assigned. - :type network_interface: - ~azure.mgmt.network.v2018_08_01.models.SubResource - """ - - _attribute_map = { - 'subnet': {'key': 'subnet', 'type': 'SubResource'}, - 'network_interface': {'key': 'networkInterface', 'type': 'SubResource'}, - } - - def __init__(self, **kwargs): - super(EffectiveNetworkSecurityGroupAssociation, self).__init__(**kwargs) - self.subnet = kwargs.get('subnet', None) - self.network_interface = kwargs.get('network_interface', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/effective_network_security_group_association_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/effective_network_security_group_association_py3.py deleted file mode 100644 index 8b47e8c8dcc..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/effective_network_security_group_association_py3.py +++ /dev/null @@ -1,33 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class EffectiveNetworkSecurityGroupAssociation(Model): - """The effective network security group association. - - :param subnet: The ID of the subnet if assigned. - :type subnet: ~azure.mgmt.network.v2018_08_01.models.SubResource - :param network_interface: The ID of the network interface if assigned. - :type network_interface: - ~azure.mgmt.network.v2018_08_01.models.SubResource - """ - - _attribute_map = { - 'subnet': {'key': 'subnet', 'type': 'SubResource'}, - 'network_interface': {'key': 'networkInterface', 'type': 'SubResource'}, - } - - def __init__(self, *, subnet=None, network_interface=None, **kwargs) -> None: - super(EffectiveNetworkSecurityGroupAssociation, self).__init__(**kwargs) - self.subnet = subnet - self.network_interface = network_interface diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/effective_network_security_group_list_result.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/effective_network_security_group_list_result.py deleted file mode 100644 index 4745b0f5f7e..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/effective_network_security_group_list_result.py +++ /dev/null @@ -1,40 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class EffectiveNetworkSecurityGroupListResult(Model): - """Response for list effective network security groups API service call. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param value: A list of effective network security groups. - :type value: - list[~azure.mgmt.network.v2018_08_01.models.EffectiveNetworkSecurityGroup] - :ivar next_link: The URL to get the next set of results. - :vartype next_link: str - """ - - _validation = { - 'next_link': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[EffectiveNetworkSecurityGroup]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(EffectiveNetworkSecurityGroupListResult, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - self.next_link = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/effective_network_security_group_list_result_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/effective_network_security_group_list_result_py3.py deleted file mode 100644 index 9abeb5741cc..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/effective_network_security_group_list_result_py3.py +++ /dev/null @@ -1,40 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class EffectiveNetworkSecurityGroupListResult(Model): - """Response for list effective network security groups API service call. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param value: A list of effective network security groups. - :type value: - list[~azure.mgmt.network.v2018_08_01.models.EffectiveNetworkSecurityGroup] - :ivar next_link: The URL to get the next set of results. - :vartype next_link: str - """ - - _validation = { - 'next_link': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[EffectiveNetworkSecurityGroup]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__(self, *, value=None, **kwargs) -> None: - super(EffectiveNetworkSecurityGroupListResult, self).__init__(**kwargs) - self.value = value - self.next_link = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/effective_network_security_group_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/effective_network_security_group_py3.py deleted file mode 100644 index ccfd7a27134..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/effective_network_security_group_py3.py +++ /dev/null @@ -1,45 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class EffectiveNetworkSecurityGroup(Model): - """Effective network security group. - - :param network_security_group: The ID of network security group that is - applied. - :type network_security_group: - ~azure.mgmt.network.v2018_08_01.models.SubResource - :param association: Associated resources. - :type association: - ~azure.mgmt.network.v2018_08_01.models.EffectiveNetworkSecurityGroupAssociation - :param effective_security_rules: A collection of effective security rules. - :type effective_security_rules: - list[~azure.mgmt.network.v2018_08_01.models.EffectiveNetworkSecurityRule] - :param tag_map: Mapping of tags to list of IP Addresses included within - the tag. - :type tag_map: dict[str, list[str]] - """ - - _attribute_map = { - 'network_security_group': {'key': 'networkSecurityGroup', 'type': 'SubResource'}, - 'association': {'key': 'association', 'type': 'EffectiveNetworkSecurityGroupAssociation'}, - 'effective_security_rules': {'key': 'effectiveSecurityRules', 'type': '[EffectiveNetworkSecurityRule]'}, - 'tag_map': {'key': 'tagMap', 'type': '{[str]}'}, - } - - def __init__(self, *, network_security_group=None, association=None, effective_security_rules=None, tag_map=None, **kwargs) -> None: - super(EffectiveNetworkSecurityGroup, self).__init__(**kwargs) - self.network_security_group = network_security_group - self.association = association - self.effective_security_rules = effective_security_rules - self.tag_map = tag_map diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/effective_network_security_rule.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/effective_network_security_rule.py deleted file mode 100644 index c8f7549b730..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/effective_network_security_rule.py +++ /dev/null @@ -1,101 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class EffectiveNetworkSecurityRule(Model): - """Effective network security rules. - - :param name: The name of the security rule specified by the user (if - created by the user). - :type name: str - :param protocol: The network protocol this rule applies to. Possible - values are: 'Tcp', 'Udp', and 'All'. Possible values include: 'Tcp', - 'Udp', 'All' - :type protocol: str or - ~azure.mgmt.network.v2018_08_01.models.EffectiveSecurityRuleProtocol - :param source_port_range: The source port or range. - :type source_port_range: str - :param destination_port_range: The destination port or range. - :type destination_port_range: str - :param source_port_ranges: The source port ranges. Expected values include - a single integer between 0 and 65535, a range using '-' as seperator (e.g. - 100-400), or an asterix (*) - :type source_port_ranges: list[str] - :param destination_port_ranges: The destination port ranges. Expected - values include a single integer between 0 and 65535, a range using '-' as - seperator (e.g. 100-400), or an asterix (*) - :type destination_port_ranges: list[str] - :param source_address_prefix: The source address prefix. - :type source_address_prefix: str - :param destination_address_prefix: The destination address prefix. - :type destination_address_prefix: str - :param source_address_prefixes: The source address prefixes. Expected - values include CIDR IP ranges, Default Tags (VirtualNetwork, - AureLoadBalancer, Internet), System Tags, and the asterix (*). - :type source_address_prefixes: list[str] - :param destination_address_prefixes: The destination address prefixes. - Expected values include CIDR IP ranges, Default Tags (VirtualNetwork, - AureLoadBalancer, Internet), System Tags, and the asterix (*). - :type destination_address_prefixes: list[str] - :param expanded_source_address_prefix: The expanded source address prefix. - :type expanded_source_address_prefix: list[str] - :param expanded_destination_address_prefix: Expanded destination address - prefix. - :type expanded_destination_address_prefix: list[str] - :param access: Whether network traffic is allowed or denied. Possible - values are: 'Allow' and 'Deny'. Possible values include: 'Allow', 'Deny' - :type access: str or - ~azure.mgmt.network.v2018_08_01.models.SecurityRuleAccess - :param priority: The priority of the rule. - :type priority: int - :param direction: The direction of the rule. Possible values are: 'Inbound - and Outbound'. Possible values include: 'Inbound', 'Outbound' - :type direction: str or - ~azure.mgmt.network.v2018_08_01.models.SecurityRuleDirection - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'protocol': {'key': 'protocol', 'type': 'str'}, - 'source_port_range': {'key': 'sourcePortRange', 'type': 'str'}, - 'destination_port_range': {'key': 'destinationPortRange', 'type': 'str'}, - 'source_port_ranges': {'key': 'sourcePortRanges', 'type': '[str]'}, - 'destination_port_ranges': {'key': 'destinationPortRanges', 'type': '[str]'}, - 'source_address_prefix': {'key': 'sourceAddressPrefix', 'type': 'str'}, - 'destination_address_prefix': {'key': 'destinationAddressPrefix', 'type': 'str'}, - 'source_address_prefixes': {'key': 'sourceAddressPrefixes', 'type': '[str]'}, - 'destination_address_prefixes': {'key': 'destinationAddressPrefixes', 'type': '[str]'}, - 'expanded_source_address_prefix': {'key': 'expandedSourceAddressPrefix', 'type': '[str]'}, - 'expanded_destination_address_prefix': {'key': 'expandedDestinationAddressPrefix', 'type': '[str]'}, - 'access': {'key': 'access', 'type': 'str'}, - 'priority': {'key': 'priority', 'type': 'int'}, - 'direction': {'key': 'direction', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(EffectiveNetworkSecurityRule, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.protocol = kwargs.get('protocol', None) - self.source_port_range = kwargs.get('source_port_range', None) - self.destination_port_range = kwargs.get('destination_port_range', None) - self.source_port_ranges = kwargs.get('source_port_ranges', None) - self.destination_port_ranges = kwargs.get('destination_port_ranges', None) - self.source_address_prefix = kwargs.get('source_address_prefix', None) - self.destination_address_prefix = kwargs.get('destination_address_prefix', None) - self.source_address_prefixes = kwargs.get('source_address_prefixes', None) - self.destination_address_prefixes = kwargs.get('destination_address_prefixes', None) - self.expanded_source_address_prefix = kwargs.get('expanded_source_address_prefix', None) - self.expanded_destination_address_prefix = kwargs.get('expanded_destination_address_prefix', None) - self.access = kwargs.get('access', None) - self.priority = kwargs.get('priority', None) - self.direction = kwargs.get('direction', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/effective_network_security_rule_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/effective_network_security_rule_py3.py deleted file mode 100644 index 018279230e4..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/effective_network_security_rule_py3.py +++ /dev/null @@ -1,101 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class EffectiveNetworkSecurityRule(Model): - """Effective network security rules. - - :param name: The name of the security rule specified by the user (if - created by the user). - :type name: str - :param protocol: The network protocol this rule applies to. Possible - values are: 'Tcp', 'Udp', and 'All'. Possible values include: 'Tcp', - 'Udp', 'All' - :type protocol: str or - ~azure.mgmt.network.v2018_08_01.models.EffectiveSecurityRuleProtocol - :param source_port_range: The source port or range. - :type source_port_range: str - :param destination_port_range: The destination port or range. - :type destination_port_range: str - :param source_port_ranges: The source port ranges. Expected values include - a single integer between 0 and 65535, a range using '-' as seperator (e.g. - 100-400), or an asterix (*) - :type source_port_ranges: list[str] - :param destination_port_ranges: The destination port ranges. Expected - values include a single integer between 0 and 65535, a range using '-' as - seperator (e.g. 100-400), or an asterix (*) - :type destination_port_ranges: list[str] - :param source_address_prefix: The source address prefix. - :type source_address_prefix: str - :param destination_address_prefix: The destination address prefix. - :type destination_address_prefix: str - :param source_address_prefixes: The source address prefixes. Expected - values include CIDR IP ranges, Default Tags (VirtualNetwork, - AureLoadBalancer, Internet), System Tags, and the asterix (*). - :type source_address_prefixes: list[str] - :param destination_address_prefixes: The destination address prefixes. - Expected values include CIDR IP ranges, Default Tags (VirtualNetwork, - AureLoadBalancer, Internet), System Tags, and the asterix (*). - :type destination_address_prefixes: list[str] - :param expanded_source_address_prefix: The expanded source address prefix. - :type expanded_source_address_prefix: list[str] - :param expanded_destination_address_prefix: Expanded destination address - prefix. - :type expanded_destination_address_prefix: list[str] - :param access: Whether network traffic is allowed or denied. Possible - values are: 'Allow' and 'Deny'. Possible values include: 'Allow', 'Deny' - :type access: str or - ~azure.mgmt.network.v2018_08_01.models.SecurityRuleAccess - :param priority: The priority of the rule. - :type priority: int - :param direction: The direction of the rule. Possible values are: 'Inbound - and Outbound'. Possible values include: 'Inbound', 'Outbound' - :type direction: str or - ~azure.mgmt.network.v2018_08_01.models.SecurityRuleDirection - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'protocol': {'key': 'protocol', 'type': 'str'}, - 'source_port_range': {'key': 'sourcePortRange', 'type': 'str'}, - 'destination_port_range': {'key': 'destinationPortRange', 'type': 'str'}, - 'source_port_ranges': {'key': 'sourcePortRanges', 'type': '[str]'}, - 'destination_port_ranges': {'key': 'destinationPortRanges', 'type': '[str]'}, - 'source_address_prefix': {'key': 'sourceAddressPrefix', 'type': 'str'}, - 'destination_address_prefix': {'key': 'destinationAddressPrefix', 'type': 'str'}, - 'source_address_prefixes': {'key': 'sourceAddressPrefixes', 'type': '[str]'}, - 'destination_address_prefixes': {'key': 'destinationAddressPrefixes', 'type': '[str]'}, - 'expanded_source_address_prefix': {'key': 'expandedSourceAddressPrefix', 'type': '[str]'}, - 'expanded_destination_address_prefix': {'key': 'expandedDestinationAddressPrefix', 'type': '[str]'}, - 'access': {'key': 'access', 'type': 'str'}, - 'priority': {'key': 'priority', 'type': 'int'}, - 'direction': {'key': 'direction', 'type': 'str'}, - } - - def __init__(self, *, name: str=None, protocol=None, source_port_range: str=None, destination_port_range: str=None, source_port_ranges=None, destination_port_ranges=None, source_address_prefix: str=None, destination_address_prefix: str=None, source_address_prefixes=None, destination_address_prefixes=None, expanded_source_address_prefix=None, expanded_destination_address_prefix=None, access=None, priority: int=None, direction=None, **kwargs) -> None: - super(EffectiveNetworkSecurityRule, self).__init__(**kwargs) - self.name = name - self.protocol = protocol - self.source_port_range = source_port_range - self.destination_port_range = destination_port_range - self.source_port_ranges = source_port_ranges - self.destination_port_ranges = destination_port_ranges - self.source_address_prefix = source_address_prefix - self.destination_address_prefix = destination_address_prefix - self.source_address_prefixes = source_address_prefixes - self.destination_address_prefixes = destination_address_prefixes - self.expanded_source_address_prefix = expanded_source_address_prefix - self.expanded_destination_address_prefix = expanded_destination_address_prefix - self.access = access - self.priority = priority - self.direction = direction diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/effective_route.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/effective_route.py deleted file mode 100644 index 48a62e9712a..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/effective_route.py +++ /dev/null @@ -1,60 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class EffectiveRoute(Model): - """Effective Route. - - :param name: The name of the user defined route. This is optional. - :type name: str - :param source: Who created the route. Possible values are: 'Unknown', - 'User', 'VirtualNetworkGateway', and 'Default'. Possible values include: - 'Unknown', 'User', 'VirtualNetworkGateway', 'Default' - :type source: str or - ~azure.mgmt.network.v2018_08_01.models.EffectiveRouteSource - :param state: The value of effective route. Possible values are: 'Active' - and 'Invalid'. Possible values include: 'Active', 'Invalid' - :type state: str or - ~azure.mgmt.network.v2018_08_01.models.EffectiveRouteState - :param address_prefix: The address prefixes of the effective routes in - CIDR notation. - :type address_prefix: list[str] - :param next_hop_ip_address: The IP address of the next hop of the - effective route. - :type next_hop_ip_address: list[str] - :param next_hop_type: The type of Azure hop the packet should be sent to. - Possible values are: 'VirtualNetworkGateway', 'VnetLocal', 'Internet', - 'VirtualAppliance', and 'None'. Possible values include: - 'VirtualNetworkGateway', 'VnetLocal', 'Internet', 'VirtualAppliance', - 'None' - :type next_hop_type: str or - ~azure.mgmt.network.v2018_08_01.models.RouteNextHopType - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'source': {'key': 'source', 'type': 'str'}, - 'state': {'key': 'state', 'type': 'str'}, - 'address_prefix': {'key': 'addressPrefix', 'type': '[str]'}, - 'next_hop_ip_address': {'key': 'nextHopIpAddress', 'type': '[str]'}, - 'next_hop_type': {'key': 'nextHopType', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(EffectiveRoute, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.source = kwargs.get('source', None) - self.state = kwargs.get('state', None) - self.address_prefix = kwargs.get('address_prefix', None) - self.next_hop_ip_address = kwargs.get('next_hop_ip_address', None) - self.next_hop_type = kwargs.get('next_hop_type', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/effective_route_list_result.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/effective_route_list_result.py deleted file mode 100644 index 4246cc470b1..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/effective_route_list_result.py +++ /dev/null @@ -1,39 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class EffectiveRouteListResult(Model): - """Response for list effective route API service call. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param value: A list of effective routes. - :type value: list[~azure.mgmt.network.v2018_08_01.models.EffectiveRoute] - :ivar next_link: The URL to get the next set of results. - :vartype next_link: str - """ - - _validation = { - 'next_link': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[EffectiveRoute]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(EffectiveRouteListResult, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - self.next_link = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/effective_route_list_result_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/effective_route_list_result_py3.py deleted file mode 100644 index 81fba03a77c..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/effective_route_list_result_py3.py +++ /dev/null @@ -1,39 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class EffectiveRouteListResult(Model): - """Response for list effective route API service call. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param value: A list of effective routes. - :type value: list[~azure.mgmt.network.v2018_08_01.models.EffectiveRoute] - :ivar next_link: The URL to get the next set of results. - :vartype next_link: str - """ - - _validation = { - 'next_link': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[EffectiveRoute]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__(self, *, value=None, **kwargs) -> None: - super(EffectiveRouteListResult, self).__init__(**kwargs) - self.value = value - self.next_link = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/effective_route_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/effective_route_py3.py deleted file mode 100644 index 39011924bf6..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/effective_route_py3.py +++ /dev/null @@ -1,60 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class EffectiveRoute(Model): - """Effective Route. - - :param name: The name of the user defined route. This is optional. - :type name: str - :param source: Who created the route. Possible values are: 'Unknown', - 'User', 'VirtualNetworkGateway', and 'Default'. Possible values include: - 'Unknown', 'User', 'VirtualNetworkGateway', 'Default' - :type source: str or - ~azure.mgmt.network.v2018_08_01.models.EffectiveRouteSource - :param state: The value of effective route. Possible values are: 'Active' - and 'Invalid'. Possible values include: 'Active', 'Invalid' - :type state: str or - ~azure.mgmt.network.v2018_08_01.models.EffectiveRouteState - :param address_prefix: The address prefixes of the effective routes in - CIDR notation. - :type address_prefix: list[str] - :param next_hop_ip_address: The IP address of the next hop of the - effective route. - :type next_hop_ip_address: list[str] - :param next_hop_type: The type of Azure hop the packet should be sent to. - Possible values are: 'VirtualNetworkGateway', 'VnetLocal', 'Internet', - 'VirtualAppliance', and 'None'. Possible values include: - 'VirtualNetworkGateway', 'VnetLocal', 'Internet', 'VirtualAppliance', - 'None' - :type next_hop_type: str or - ~azure.mgmt.network.v2018_08_01.models.RouteNextHopType - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'source': {'key': 'source', 'type': 'str'}, - 'state': {'key': 'state', 'type': 'str'}, - 'address_prefix': {'key': 'addressPrefix', 'type': '[str]'}, - 'next_hop_ip_address': {'key': 'nextHopIpAddress', 'type': '[str]'}, - 'next_hop_type': {'key': 'nextHopType', 'type': 'str'}, - } - - def __init__(self, *, name: str=None, source=None, state=None, address_prefix=None, next_hop_ip_address=None, next_hop_type=None, **kwargs) -> None: - super(EffectiveRoute, self).__init__(**kwargs) - self.name = name - self.source = source - self.state = state - self.address_prefix = address_prefix - self.next_hop_ip_address = next_hop_ip_address - self.next_hop_type = next_hop_type diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/endpoint_service.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/endpoint_service.py deleted file mode 100644 index 988ccdb2060..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/endpoint_service.py +++ /dev/null @@ -1,29 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class EndpointService(Model): - """Identifies the service being brought into the virtual network. - - :param id: A unique identifier of the service being referenced by the - interface endpoint. - :type id: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(EndpointService, self).__init__(**kwargs) - self.id = kwargs.get('id', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/endpoint_service_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/endpoint_service_py3.py deleted file mode 100644 index 84a14658f0e..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/endpoint_service_py3.py +++ /dev/null @@ -1,29 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class EndpointService(Model): - """Identifies the service being brought into the virtual network. - - :param id: A unique identifier of the service being referenced by the - interface endpoint. - :type id: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, **kwargs) -> None: - super(EndpointService, self).__init__(**kwargs) - self.id = id diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/endpoint_service_result.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/endpoint_service_result.py deleted file mode 100644 index 9ca0e203a83..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/endpoint_service_result.py +++ /dev/null @@ -1,43 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource import SubResource - - -class EndpointServiceResult(SubResource): - """Endpoint service. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Name of the endpoint service. - :vartype name: str - :ivar type: Type of the endpoint service. - :vartype type: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(EndpointServiceResult, self).__init__(**kwargs) - self.name = None - self.type = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/endpoint_service_result_paged.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/endpoint_service_result_paged.py deleted file mode 100644 index d5275afc687..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/endpoint_service_result_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.paging import Paged - - -class EndpointServiceResultPaged(Paged): - """ - A paging container for iterating over a list of :class:`EndpointServiceResult ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[EndpointServiceResult]'} - } - - def __init__(self, *args, **kwargs): - - super(EndpointServiceResultPaged, self).__init__(*args, **kwargs) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/endpoint_service_result_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/endpoint_service_result_py3.py deleted file mode 100644 index 489a2a2681c..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/endpoint_service_result_py3.py +++ /dev/null @@ -1,43 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource_py3 import SubResource - - -class EndpointServiceResult(SubResource): - """Endpoint service. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Name of the endpoint service. - :vartype name: str - :ivar type: Type of the endpoint service. - :vartype type: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, **kwargs) -> None: - super(EndpointServiceResult, self).__init__(id=id, **kwargs) - self.name = None - self.type = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/error.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/error.py deleted file mode 100644 index 99f29d651c4..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/error.py +++ /dev/null @@ -1,57 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model -from msrest.exceptions import HttpOperationError - - -class Error(Model): - """Error. - - :param code: - :type code: str - :param message: - :type message: str - :param target: - :type target: str - :param details: - :type details: list[~azure.mgmt.network.v2018_08_01.models.ErrorDetails] - :param inner_error: - :type inner_error: str - """ - - _attribute_map = { - 'code': {'key': 'code', 'type': 'str'}, - 'message': {'key': 'message', 'type': 'str'}, - 'target': {'key': 'target', 'type': 'str'}, - 'details': {'key': 'details', 'type': '[ErrorDetails]'}, - 'inner_error': {'key': 'innerError', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(Error, self).__init__(**kwargs) - self.code = kwargs.get('code', None) - self.message = kwargs.get('message', None) - self.target = kwargs.get('target', None) - self.details = kwargs.get('details', None) - self.inner_error = kwargs.get('inner_error', None) - - -class ErrorException(HttpOperationError): - """Server responsed with exception of type: 'Error'. - - :param deserialize: A deserializer - :param response: Server response to be deserialized. - """ - - def __init__(self, deserialize, response, *args): - - super(ErrorException, self).__init__(deserialize, response, 'Error', *args) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/error_details.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/error_details.py deleted file mode 100644 index a8c4da6ba95..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/error_details.py +++ /dev/null @@ -1,36 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ErrorDetails(Model): - """ErrorDetails. - - :param code: - :type code: str - :param target: - :type target: str - :param message: - :type message: str - """ - - _attribute_map = { - 'code': {'key': 'code', 'type': 'str'}, - 'target': {'key': 'target', 'type': 'str'}, - 'message': {'key': 'message', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ErrorDetails, self).__init__(**kwargs) - self.code = kwargs.get('code', None) - self.target = kwargs.get('target', None) - self.message = kwargs.get('message', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/error_details_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/error_details_py3.py deleted file mode 100644 index d791f089534..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/error_details_py3.py +++ /dev/null @@ -1,36 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ErrorDetails(Model): - """ErrorDetails. - - :param code: - :type code: str - :param target: - :type target: str - :param message: - :type message: str - """ - - _attribute_map = { - 'code': {'key': 'code', 'type': 'str'}, - 'target': {'key': 'target', 'type': 'str'}, - 'message': {'key': 'message', 'type': 'str'}, - } - - def __init__(self, *, code: str=None, target: str=None, message: str=None, **kwargs) -> None: - super(ErrorDetails, self).__init__(**kwargs) - self.code = code - self.target = target - self.message = message diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/error_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/error_py3.py deleted file mode 100644 index 3451e27531c..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/error_py3.py +++ /dev/null @@ -1,57 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model -from msrest.exceptions import HttpOperationError - - -class Error(Model): - """Error. - - :param code: - :type code: str - :param message: - :type message: str - :param target: - :type target: str - :param details: - :type details: list[~azure.mgmt.network.v2018_08_01.models.ErrorDetails] - :param inner_error: - :type inner_error: str - """ - - _attribute_map = { - 'code': {'key': 'code', 'type': 'str'}, - 'message': {'key': 'message', 'type': 'str'}, - 'target': {'key': 'target', 'type': 'str'}, - 'details': {'key': 'details', 'type': '[ErrorDetails]'}, - 'inner_error': {'key': 'innerError', 'type': 'str'}, - } - - def __init__(self, *, code: str=None, message: str=None, target: str=None, details=None, inner_error: str=None, **kwargs) -> None: - super(Error, self).__init__(**kwargs) - self.code = code - self.message = message - self.target = target - self.details = details - self.inner_error = inner_error - - -class ErrorException(HttpOperationError): - """Server responsed with exception of type: 'Error'. - - :param deserialize: A deserializer - :param response: Server response to be deserialized. - """ - - def __init__(self, deserialize, response, *args): - - super(ErrorException, self).__init__(deserialize, response, 'Error', *args) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/error_response.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/error_response.py deleted file mode 100644 index b20c163c62a..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/error_response.py +++ /dev/null @@ -1,41 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model -from msrest.exceptions import HttpOperationError - - -class ErrorResponse(Model): - """The error object. - - :param error: Error. - :type error: ~azure.mgmt.network.v2018_08_01.models.ErrorDetails - """ - - _attribute_map = { - 'error': {'key': 'error', 'type': 'ErrorDetails'}, - } - - def __init__(self, **kwargs): - super(ErrorResponse, self).__init__(**kwargs) - self.error = kwargs.get('error', None) - - -class ErrorResponseException(HttpOperationError): - """Server responsed with exception of type: 'ErrorResponse'. - - :param deserialize: A deserializer - :param response: Server response to be deserialized. - """ - - def __init__(self, deserialize, response, *args): - - super(ErrorResponseException, self).__init__(deserialize, response, 'ErrorResponse', *args) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/error_response_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/error_response_py3.py deleted file mode 100644 index a08d2b6c5a9..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/error_response_py3.py +++ /dev/null @@ -1,41 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model -from msrest.exceptions import HttpOperationError - - -class ErrorResponse(Model): - """The error object. - - :param error: Error. - :type error: ~azure.mgmt.network.v2018_08_01.models.ErrorDetails - """ - - _attribute_map = { - 'error': {'key': 'error', 'type': 'ErrorDetails'}, - } - - def __init__(self, *, error=None, **kwargs) -> None: - super(ErrorResponse, self).__init__(**kwargs) - self.error = error - - -class ErrorResponseException(HttpOperationError): - """Server responsed with exception of type: 'ErrorResponse'. - - :param deserialize: A deserializer - :param response: Server response to be deserialized. - """ - - def __init__(self, deserialize, response, *args): - - super(ErrorResponseException, self).__init__(deserialize, response, 'ErrorResponse', *args) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/evaluated_network_security_group.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/evaluated_network_security_group.py deleted file mode 100644 index 22d13bc8557..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/evaluated_network_security_group.py +++ /dev/null @@ -1,45 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class EvaluatedNetworkSecurityGroup(Model): - """Results of network security group evaluation. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param network_security_group_id: Network security group ID. - :type network_security_group_id: str - :param matched_rule: - :type matched_rule: ~azure.mgmt.network.v2018_08_01.models.MatchedRule - :ivar rules_evaluation_result: List of network security rules evaluation - results. - :vartype rules_evaluation_result: - list[~azure.mgmt.network.v2018_08_01.models.NetworkSecurityRulesEvaluationResult] - """ - - _validation = { - 'rules_evaluation_result': {'readonly': True}, - } - - _attribute_map = { - 'network_security_group_id': {'key': 'networkSecurityGroupId', 'type': 'str'}, - 'matched_rule': {'key': 'matchedRule', 'type': 'MatchedRule'}, - 'rules_evaluation_result': {'key': 'rulesEvaluationResult', 'type': '[NetworkSecurityRulesEvaluationResult]'}, - } - - def __init__(self, **kwargs): - super(EvaluatedNetworkSecurityGroup, self).__init__(**kwargs) - self.network_security_group_id = kwargs.get('network_security_group_id', None) - self.matched_rule = kwargs.get('matched_rule', None) - self.rules_evaluation_result = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/evaluated_network_security_group_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/evaluated_network_security_group_py3.py deleted file mode 100644 index b29d2c935ad..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/evaluated_network_security_group_py3.py +++ /dev/null @@ -1,45 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class EvaluatedNetworkSecurityGroup(Model): - """Results of network security group evaluation. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param network_security_group_id: Network security group ID. - :type network_security_group_id: str - :param matched_rule: - :type matched_rule: ~azure.mgmt.network.v2018_08_01.models.MatchedRule - :ivar rules_evaluation_result: List of network security rules evaluation - results. - :vartype rules_evaluation_result: - list[~azure.mgmt.network.v2018_08_01.models.NetworkSecurityRulesEvaluationResult] - """ - - _validation = { - 'rules_evaluation_result': {'readonly': True}, - } - - _attribute_map = { - 'network_security_group_id': {'key': 'networkSecurityGroupId', 'type': 'str'}, - 'matched_rule': {'key': 'matchedRule', 'type': 'MatchedRule'}, - 'rules_evaluation_result': {'key': 'rulesEvaluationResult', 'type': '[NetworkSecurityRulesEvaluationResult]'}, - } - - def __init__(self, *, network_security_group_id: str=None, matched_rule=None, **kwargs) -> None: - super(EvaluatedNetworkSecurityGroup, self).__init__(**kwargs) - self.network_security_group_id = network_security_group_id - self.matched_rule = matched_rule - self.rules_evaluation_result = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuit.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuit.py deleted file mode 100644 index 3a8423be9f1..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuit.py +++ /dev/null @@ -1,111 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .resource import Resource - - -class ExpressRouteCircuit(Resource): - """ExpressRouteCircuit resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param sku: The SKU. - :type sku: ~azure.mgmt.network.v2018_08_01.models.ExpressRouteCircuitSku - :param allow_classic_operations: Allow classic operations - :type allow_classic_operations: bool - :param circuit_provisioning_state: The CircuitProvisioningState state of - the resource. - :type circuit_provisioning_state: str - :param service_provider_provisioning_state: The - ServiceProviderProvisioningState state of the resource. Possible values - are 'NotProvisioned', 'Provisioning', 'Provisioned', and 'Deprovisioning'. - Possible values include: 'NotProvisioned', 'Provisioning', 'Provisioned', - 'Deprovisioning' - :type service_provider_provisioning_state: str or - ~azure.mgmt.network.v2018_08_01.models.ServiceProviderProvisioningState - :param authorizations: The list of authorizations. - :type authorizations: - list[~azure.mgmt.network.v2018_08_01.models.ExpressRouteCircuitAuthorization] - :param peerings: The list of peerings. - :type peerings: - list[~azure.mgmt.network.v2018_08_01.models.ExpressRouteCircuitPeering] - :param service_key: The ServiceKey. - :type service_key: str - :param service_provider_notes: The ServiceProviderNotes. - :type service_provider_notes: str - :param service_provider_properties: The ServiceProviderProperties. - :type service_provider_properties: - ~azure.mgmt.network.v2018_08_01.models.ExpressRouteCircuitServiceProviderProperties - :param provisioning_state: Gets the provisioning state of the public IP - resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - :type provisioning_state: str - :param gateway_manager_etag: The GatewayManager Etag. - :type gateway_manager_etag: str - :param allow_global_reach: Flag to enable Global Reach on the circuit. - :type allow_global_reach: bool - :ivar etag: Gets a unique read-only string that changes whenever the - resource is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'sku': {'key': 'sku', 'type': 'ExpressRouteCircuitSku'}, - 'allow_classic_operations': {'key': 'properties.allowClassicOperations', 'type': 'bool'}, - 'circuit_provisioning_state': {'key': 'properties.circuitProvisioningState', 'type': 'str'}, - 'service_provider_provisioning_state': {'key': 'properties.serviceProviderProvisioningState', 'type': 'str'}, - 'authorizations': {'key': 'properties.authorizations', 'type': '[ExpressRouteCircuitAuthorization]'}, - 'peerings': {'key': 'properties.peerings', 'type': '[ExpressRouteCircuitPeering]'}, - 'service_key': {'key': 'properties.serviceKey', 'type': 'str'}, - 'service_provider_notes': {'key': 'properties.serviceProviderNotes', 'type': 'str'}, - 'service_provider_properties': {'key': 'properties.serviceProviderProperties', 'type': 'ExpressRouteCircuitServiceProviderProperties'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'gateway_manager_etag': {'key': 'properties.gatewayManagerEtag', 'type': 'str'}, - 'allow_global_reach': {'key': 'properties.allowGlobalReach', 'type': 'bool'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ExpressRouteCircuit, self).__init__(**kwargs) - self.sku = kwargs.get('sku', None) - self.allow_classic_operations = kwargs.get('allow_classic_operations', None) - self.circuit_provisioning_state = kwargs.get('circuit_provisioning_state', None) - self.service_provider_provisioning_state = kwargs.get('service_provider_provisioning_state', None) - self.authorizations = kwargs.get('authorizations', None) - self.peerings = kwargs.get('peerings', None) - self.service_key = kwargs.get('service_key', None) - self.service_provider_notes = kwargs.get('service_provider_notes', None) - self.service_provider_properties = kwargs.get('service_provider_properties', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.gateway_manager_etag = kwargs.get('gateway_manager_etag', None) - self.allow_global_reach = kwargs.get('allow_global_reach', None) - self.etag = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuit_arp_table.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuit_arp_table.py deleted file mode 100644 index ed7864d35e0..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuit_arp_table.py +++ /dev/null @@ -1,40 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ExpressRouteCircuitArpTable(Model): - """The ARP table associated with the ExpressRouteCircuit. - - :param age: Entry age in minutes - :type age: int - :param interface: Interface address - :type interface: str - :param ip_address: The IP address. - :type ip_address: str - :param mac_address: The MAC address. - :type mac_address: str - """ - - _attribute_map = { - 'age': {'key': 'age', 'type': 'int'}, - 'interface': {'key': 'interface', 'type': 'str'}, - 'ip_address': {'key': 'ipAddress', 'type': 'str'}, - 'mac_address': {'key': 'macAddress', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ExpressRouteCircuitArpTable, self).__init__(**kwargs) - self.age = kwargs.get('age', None) - self.interface = kwargs.get('interface', None) - self.ip_address = kwargs.get('ip_address', None) - self.mac_address = kwargs.get('mac_address', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuit_arp_table_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuit_arp_table_py3.py deleted file mode 100644 index e8c637a092d..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuit_arp_table_py3.py +++ /dev/null @@ -1,40 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ExpressRouteCircuitArpTable(Model): - """The ARP table associated with the ExpressRouteCircuit. - - :param age: Entry age in minutes - :type age: int - :param interface: Interface address - :type interface: str - :param ip_address: The IP address. - :type ip_address: str - :param mac_address: The MAC address. - :type mac_address: str - """ - - _attribute_map = { - 'age': {'key': 'age', 'type': 'int'}, - 'interface': {'key': 'interface', 'type': 'str'}, - 'ip_address': {'key': 'ipAddress', 'type': 'str'}, - 'mac_address': {'key': 'macAddress', 'type': 'str'}, - } - - def __init__(self, *, age: int=None, interface: str=None, ip_address: str=None, mac_address: str=None, **kwargs) -> None: - super(ExpressRouteCircuitArpTable, self).__init__(**kwargs) - self.age = age - self.interface = interface - self.ip_address = ip_address - self.mac_address = mac_address diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuit_authorization.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuit_authorization.py deleted file mode 100644 index 36adb386e19..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuit_authorization.py +++ /dev/null @@ -1,60 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource import SubResource - - -class ExpressRouteCircuitAuthorization(SubResource): - """Authorization in an ExpressRouteCircuit resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param authorization_key: The authorization key. - :type authorization_key: str - :param authorization_use_status: AuthorizationUseStatus. Possible values - are: 'Available' and 'InUse'. Possible values include: 'Available', - 'InUse' - :type authorization_use_status: str or - ~azure.mgmt.network.v2018_08_01.models.AuthorizationUseStatus - :param provisioning_state: Gets the provisioning state of the public IP - resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - :type provisioning_state: str - :param name: Gets name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'authorization_key': {'key': 'properties.authorizationKey', 'type': 'str'}, - 'authorization_use_status': {'key': 'properties.authorizationUseStatus', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ExpressRouteCircuitAuthorization, self).__init__(**kwargs) - self.authorization_key = kwargs.get('authorization_key', None) - self.authorization_use_status = kwargs.get('authorization_use_status', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.name = kwargs.get('name', None) - self.etag = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuit_authorization_paged.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuit_authorization_paged.py deleted file mode 100644 index df8cb700050..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuit_authorization_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.paging import Paged - - -class ExpressRouteCircuitAuthorizationPaged(Paged): - """ - A paging container for iterating over a list of :class:`ExpressRouteCircuitAuthorization ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[ExpressRouteCircuitAuthorization]'} - } - - def __init__(self, *args, **kwargs): - - super(ExpressRouteCircuitAuthorizationPaged, self).__init__(*args, **kwargs) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuit_authorization_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuit_authorization_py3.py deleted file mode 100644 index 24931d57a49..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuit_authorization_py3.py +++ /dev/null @@ -1,60 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource_py3 import SubResource - - -class ExpressRouteCircuitAuthorization(SubResource): - """Authorization in an ExpressRouteCircuit resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param authorization_key: The authorization key. - :type authorization_key: str - :param authorization_use_status: AuthorizationUseStatus. Possible values - are: 'Available' and 'InUse'. Possible values include: 'Available', - 'InUse' - :type authorization_use_status: str or - ~azure.mgmt.network.v2018_08_01.models.AuthorizationUseStatus - :param provisioning_state: Gets the provisioning state of the public IP - resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - :type provisioning_state: str - :param name: Gets name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'authorization_key': {'key': 'properties.authorizationKey', 'type': 'str'}, - 'authorization_use_status': {'key': 'properties.authorizationUseStatus', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, authorization_key: str=None, authorization_use_status=None, provisioning_state: str=None, name: str=None, **kwargs) -> None: - super(ExpressRouteCircuitAuthorization, self).__init__(id=id, **kwargs) - self.authorization_key = authorization_key - self.authorization_use_status = authorization_use_status - self.provisioning_state = provisioning_state - self.name = name - self.etag = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuit_connection.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuit_connection.py deleted file mode 100644 index 6ad78947363..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuit_connection.py +++ /dev/null @@ -1,80 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource import SubResource - - -class ExpressRouteCircuitConnection(SubResource): - """Express Route Circuit Connection in an ExpressRouteCircuitPeering resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param express_route_circuit_peering: Reference to Express Route Circuit - Private Peering Resource of the circuit initiating connection. - :type express_route_circuit_peering: - ~azure.mgmt.network.v2018_08_01.models.SubResource - :param peer_express_route_circuit_peering: Reference to Express Route - Circuit Private Peering Resource of the peered circuit. - :type peer_express_route_circuit_peering: - ~azure.mgmt.network.v2018_08_01.models.SubResource - :param address_prefix: /29 IP address space to carve out Customer - addresses for tunnels. - :type address_prefix: str - :param authorization_key: The authorization key. - :type authorization_key: str - :ivar circuit_connection_status: Express Route Circuit Connection State. - Possible values are: 'Connected' and 'Disconnected'. Possible values - include: 'Connected', 'Connecting', 'Disconnected' - :vartype circuit_connection_status: str or - ~azure.mgmt.network.v2018_08_01.models.CircuitConnectionStatus - :ivar provisioning_state: Provisioning state of the circuit connection - resource. Possible values are: 'Succeded', 'Updating', 'Deleting', and - 'Failed'. - :vartype provisioning_state: str - :param name: Gets name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'circuit_connection_status': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'express_route_circuit_peering': {'key': 'properties.expressRouteCircuitPeering', 'type': 'SubResource'}, - 'peer_express_route_circuit_peering': {'key': 'properties.peerExpressRouteCircuitPeering', 'type': 'SubResource'}, - 'address_prefix': {'key': 'properties.addressPrefix', 'type': 'str'}, - 'authorization_key': {'key': 'properties.authorizationKey', 'type': 'str'}, - 'circuit_connection_status': {'key': 'properties.circuitConnectionStatus', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ExpressRouteCircuitConnection, self).__init__(**kwargs) - self.express_route_circuit_peering = kwargs.get('express_route_circuit_peering', None) - self.peer_express_route_circuit_peering = kwargs.get('peer_express_route_circuit_peering', None) - self.address_prefix = kwargs.get('address_prefix', None) - self.authorization_key = kwargs.get('authorization_key', None) - self.circuit_connection_status = None - self.provisioning_state = None - self.name = kwargs.get('name', None) - self.etag = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuit_connection_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuit_connection_py3.py deleted file mode 100644 index a995b009ffc..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuit_connection_py3.py +++ /dev/null @@ -1,80 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource_py3 import SubResource - - -class ExpressRouteCircuitConnection(SubResource): - """Express Route Circuit Connection in an ExpressRouteCircuitPeering resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param express_route_circuit_peering: Reference to Express Route Circuit - Private Peering Resource of the circuit initiating connection. - :type express_route_circuit_peering: - ~azure.mgmt.network.v2018_08_01.models.SubResource - :param peer_express_route_circuit_peering: Reference to Express Route - Circuit Private Peering Resource of the peered circuit. - :type peer_express_route_circuit_peering: - ~azure.mgmt.network.v2018_08_01.models.SubResource - :param address_prefix: /29 IP address space to carve out Customer - addresses for tunnels. - :type address_prefix: str - :param authorization_key: The authorization key. - :type authorization_key: str - :ivar circuit_connection_status: Express Route Circuit Connection State. - Possible values are: 'Connected' and 'Disconnected'. Possible values - include: 'Connected', 'Connecting', 'Disconnected' - :vartype circuit_connection_status: str or - ~azure.mgmt.network.v2018_08_01.models.CircuitConnectionStatus - :ivar provisioning_state: Provisioning state of the circuit connection - resource. Possible values are: 'Succeded', 'Updating', 'Deleting', and - 'Failed'. - :vartype provisioning_state: str - :param name: Gets name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'circuit_connection_status': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'express_route_circuit_peering': {'key': 'properties.expressRouteCircuitPeering', 'type': 'SubResource'}, - 'peer_express_route_circuit_peering': {'key': 'properties.peerExpressRouteCircuitPeering', 'type': 'SubResource'}, - 'address_prefix': {'key': 'properties.addressPrefix', 'type': 'str'}, - 'authorization_key': {'key': 'properties.authorizationKey', 'type': 'str'}, - 'circuit_connection_status': {'key': 'properties.circuitConnectionStatus', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, express_route_circuit_peering=None, peer_express_route_circuit_peering=None, address_prefix: str=None, authorization_key: str=None, name: str=None, **kwargs) -> None: - super(ExpressRouteCircuitConnection, self).__init__(id=id, **kwargs) - self.express_route_circuit_peering = express_route_circuit_peering - self.peer_express_route_circuit_peering = peer_express_route_circuit_peering - self.address_prefix = address_prefix - self.authorization_key = authorization_key - self.circuit_connection_status = None - self.provisioning_state = None - self.name = name - self.etag = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuit_paged.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuit_paged.py deleted file mode 100644 index bcc6a9f0830..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuit_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.paging import Paged - - -class ExpressRouteCircuitPaged(Paged): - """ - A paging container for iterating over a list of :class:`ExpressRouteCircuit ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[ExpressRouteCircuit]'} - } - - def __init__(self, *args, **kwargs): - - super(ExpressRouteCircuitPaged, self).__init__(*args, **kwargs) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuit_peering.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuit_peering.py deleted file mode 100644 index 03307dbb600..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuit_peering.py +++ /dev/null @@ -1,133 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource import SubResource - - -class ExpressRouteCircuitPeering(SubResource): - """Peering in an ExpressRouteCircuit resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param peering_type: The peering type. Possible values include: - 'AzurePublicPeering', 'AzurePrivatePeering', 'MicrosoftPeering' - :type peering_type: str or - ~azure.mgmt.network.v2018_08_01.models.ExpressRoutePeeringType - :param state: The peering state. Possible values include: 'Disabled', - 'Enabled' - :type state: str or - ~azure.mgmt.network.v2018_08_01.models.ExpressRoutePeeringState - :param azure_asn: The Azure ASN. - :type azure_asn: int - :param peer_asn: The peer ASN. - :type peer_asn: long - :param primary_peer_address_prefix: The primary address prefix. - :type primary_peer_address_prefix: str - :param secondary_peer_address_prefix: The secondary address prefix. - :type secondary_peer_address_prefix: str - :param primary_azure_port: The primary port. - :type primary_azure_port: str - :param secondary_azure_port: The secondary port. - :type secondary_azure_port: str - :param shared_key: The shared key. - :type shared_key: str - :param vlan_id: The VLAN ID. - :type vlan_id: int - :param microsoft_peering_config: The Microsoft peering configuration. - :type microsoft_peering_config: - ~azure.mgmt.network.v2018_08_01.models.ExpressRouteCircuitPeeringConfig - :param stats: Gets peering stats. - :type stats: - ~azure.mgmt.network.v2018_08_01.models.ExpressRouteCircuitStats - :param provisioning_state: Gets the provisioning state of the public IP - resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - :type provisioning_state: str - :param gateway_manager_etag: The GatewayManager Etag. - :type gateway_manager_etag: str - :param last_modified_by: Gets whether the provider or the customer last - modified the peering. - :type last_modified_by: str - :param route_filter: The reference of the RouteFilter resource. - :type route_filter: ~azure.mgmt.network.v2018_08_01.models.RouteFilter - :param ipv6_peering_config: The IPv6 peering configuration. - :type ipv6_peering_config: - ~azure.mgmt.network.v2018_08_01.models.Ipv6ExpressRouteCircuitPeeringConfig - :param express_route_connection: The ExpressRoute connection. - :type express_route_connection: - ~azure.mgmt.network.v2018_08_01.models.ExpressRouteConnectionId - :param connections: The list of circuit connections associated with Azure - Private Peering for this circuit. - :type connections: - list[~azure.mgmt.network.v2018_08_01.models.ExpressRouteCircuitConnection] - :param name: Gets name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'peer_asn': {'maximum': 4294967295, 'minimum': 1}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'peering_type': {'key': 'properties.peeringType', 'type': 'str'}, - 'state': {'key': 'properties.state', 'type': 'str'}, - 'azure_asn': {'key': 'properties.azureASN', 'type': 'int'}, - 'peer_asn': {'key': 'properties.peerASN', 'type': 'long'}, - 'primary_peer_address_prefix': {'key': 'properties.primaryPeerAddressPrefix', 'type': 'str'}, - 'secondary_peer_address_prefix': {'key': 'properties.secondaryPeerAddressPrefix', 'type': 'str'}, - 'primary_azure_port': {'key': 'properties.primaryAzurePort', 'type': 'str'}, - 'secondary_azure_port': {'key': 'properties.secondaryAzurePort', 'type': 'str'}, - 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, - 'vlan_id': {'key': 'properties.vlanId', 'type': 'int'}, - 'microsoft_peering_config': {'key': 'properties.microsoftPeeringConfig', 'type': 'ExpressRouteCircuitPeeringConfig'}, - 'stats': {'key': 'properties.stats', 'type': 'ExpressRouteCircuitStats'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'gateway_manager_etag': {'key': 'properties.gatewayManagerEtag', 'type': 'str'}, - 'last_modified_by': {'key': 'properties.lastModifiedBy', 'type': 'str'}, - 'route_filter': {'key': 'properties.routeFilter', 'type': 'RouteFilter'}, - 'ipv6_peering_config': {'key': 'properties.ipv6PeeringConfig', 'type': 'Ipv6ExpressRouteCircuitPeeringConfig'}, - 'express_route_connection': {'key': 'properties.expressRouteConnection', 'type': 'ExpressRouteConnectionId'}, - 'connections': {'key': 'properties.connections', 'type': '[ExpressRouteCircuitConnection]'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ExpressRouteCircuitPeering, self).__init__(**kwargs) - self.peering_type = kwargs.get('peering_type', None) - self.state = kwargs.get('state', None) - self.azure_asn = kwargs.get('azure_asn', None) - self.peer_asn = kwargs.get('peer_asn', None) - self.primary_peer_address_prefix = kwargs.get('primary_peer_address_prefix', None) - self.secondary_peer_address_prefix = kwargs.get('secondary_peer_address_prefix', None) - self.primary_azure_port = kwargs.get('primary_azure_port', None) - self.secondary_azure_port = kwargs.get('secondary_azure_port', None) - self.shared_key = kwargs.get('shared_key', None) - self.vlan_id = kwargs.get('vlan_id', None) - self.microsoft_peering_config = kwargs.get('microsoft_peering_config', None) - self.stats = kwargs.get('stats', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.gateway_manager_etag = kwargs.get('gateway_manager_etag', None) - self.last_modified_by = kwargs.get('last_modified_by', None) - self.route_filter = kwargs.get('route_filter', None) - self.ipv6_peering_config = kwargs.get('ipv6_peering_config', None) - self.express_route_connection = kwargs.get('express_route_connection', None) - self.connections = kwargs.get('connections', None) - self.name = kwargs.get('name', None) - self.etag = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuit_peering_config.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuit_peering_config.py deleted file mode 100644 index ca8c3c06797..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuit_peering_config.py +++ /dev/null @@ -1,55 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ExpressRouteCircuitPeeringConfig(Model): - """Specifies the peering configuration. - - :param advertised_public_prefixes: The reference of - AdvertisedPublicPrefixes. - :type advertised_public_prefixes: list[str] - :param advertised_communities: The communities of bgp peering. Spepcified - for microsoft peering - :type advertised_communities: list[str] - :param advertised_public_prefixes_state: AdvertisedPublicPrefixState of - the Peering resource. Possible values are 'NotConfigured', 'Configuring', - 'Configured', and 'ValidationNeeded'. Possible values include: - 'NotConfigured', 'Configuring', 'Configured', 'ValidationNeeded' - :type advertised_public_prefixes_state: str or - ~azure.mgmt.network.v2018_08_01.models.ExpressRouteCircuitPeeringAdvertisedPublicPrefixState - :param legacy_mode: The legacy mode of the peering. - :type legacy_mode: int - :param customer_asn: The CustomerASN of the peering. - :type customer_asn: int - :param routing_registry_name: The RoutingRegistryName of the - configuration. - :type routing_registry_name: str - """ - - _attribute_map = { - 'advertised_public_prefixes': {'key': 'advertisedPublicPrefixes', 'type': '[str]'}, - 'advertised_communities': {'key': 'advertisedCommunities', 'type': '[str]'}, - 'advertised_public_prefixes_state': {'key': 'advertisedPublicPrefixesState', 'type': 'str'}, - 'legacy_mode': {'key': 'legacyMode', 'type': 'int'}, - 'customer_asn': {'key': 'customerASN', 'type': 'int'}, - 'routing_registry_name': {'key': 'routingRegistryName', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ExpressRouteCircuitPeeringConfig, self).__init__(**kwargs) - self.advertised_public_prefixes = kwargs.get('advertised_public_prefixes', None) - self.advertised_communities = kwargs.get('advertised_communities', None) - self.advertised_public_prefixes_state = kwargs.get('advertised_public_prefixes_state', None) - self.legacy_mode = kwargs.get('legacy_mode', None) - self.customer_asn = kwargs.get('customer_asn', None) - self.routing_registry_name = kwargs.get('routing_registry_name', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuit_peering_config_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuit_peering_config_py3.py deleted file mode 100644 index 25b26582f31..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuit_peering_config_py3.py +++ /dev/null @@ -1,55 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ExpressRouteCircuitPeeringConfig(Model): - """Specifies the peering configuration. - - :param advertised_public_prefixes: The reference of - AdvertisedPublicPrefixes. - :type advertised_public_prefixes: list[str] - :param advertised_communities: The communities of bgp peering. Spepcified - for microsoft peering - :type advertised_communities: list[str] - :param advertised_public_prefixes_state: AdvertisedPublicPrefixState of - the Peering resource. Possible values are 'NotConfigured', 'Configuring', - 'Configured', and 'ValidationNeeded'. Possible values include: - 'NotConfigured', 'Configuring', 'Configured', 'ValidationNeeded' - :type advertised_public_prefixes_state: str or - ~azure.mgmt.network.v2018_08_01.models.ExpressRouteCircuitPeeringAdvertisedPublicPrefixState - :param legacy_mode: The legacy mode of the peering. - :type legacy_mode: int - :param customer_asn: The CustomerASN of the peering. - :type customer_asn: int - :param routing_registry_name: The RoutingRegistryName of the - configuration. - :type routing_registry_name: str - """ - - _attribute_map = { - 'advertised_public_prefixes': {'key': 'advertisedPublicPrefixes', 'type': '[str]'}, - 'advertised_communities': {'key': 'advertisedCommunities', 'type': '[str]'}, - 'advertised_public_prefixes_state': {'key': 'advertisedPublicPrefixesState', 'type': 'str'}, - 'legacy_mode': {'key': 'legacyMode', 'type': 'int'}, - 'customer_asn': {'key': 'customerASN', 'type': 'int'}, - 'routing_registry_name': {'key': 'routingRegistryName', 'type': 'str'}, - } - - def __init__(self, *, advertised_public_prefixes=None, advertised_communities=None, advertised_public_prefixes_state=None, legacy_mode: int=None, customer_asn: int=None, routing_registry_name: str=None, **kwargs) -> None: - super(ExpressRouteCircuitPeeringConfig, self).__init__(**kwargs) - self.advertised_public_prefixes = advertised_public_prefixes - self.advertised_communities = advertised_communities - self.advertised_public_prefixes_state = advertised_public_prefixes_state - self.legacy_mode = legacy_mode - self.customer_asn = customer_asn - self.routing_registry_name = routing_registry_name diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuit_peering_id.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuit_peering_id.py deleted file mode 100644 index 8e20d23a582..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuit_peering_id.py +++ /dev/null @@ -1,28 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ExpressRouteCircuitPeeringId(Model): - """ExpressRoute circuit peering identifier. - - :param id: The ID of the ExpressRoute circuit peering. - :type id: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ExpressRouteCircuitPeeringId, self).__init__(**kwargs) - self.id = kwargs.get('id', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuit_peering_id_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuit_peering_id_py3.py deleted file mode 100644 index 0261435f5ec..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuit_peering_id_py3.py +++ /dev/null @@ -1,28 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ExpressRouteCircuitPeeringId(Model): - """ExpressRoute circuit peering identifier. - - :param id: The ID of the ExpressRoute circuit peering. - :type id: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, **kwargs) -> None: - super(ExpressRouteCircuitPeeringId, self).__init__(**kwargs) - self.id = id diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuit_peering_paged.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuit_peering_paged.py deleted file mode 100644 index 3c6254dcc9f..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuit_peering_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.paging import Paged - - -class ExpressRouteCircuitPeeringPaged(Paged): - """ - A paging container for iterating over a list of :class:`ExpressRouteCircuitPeering ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[ExpressRouteCircuitPeering]'} - } - - def __init__(self, *args, **kwargs): - - super(ExpressRouteCircuitPeeringPaged, self).__init__(*args, **kwargs) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuit_peering_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuit_peering_py3.py deleted file mode 100644 index 307b39452e2..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuit_peering_py3.py +++ /dev/null @@ -1,133 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource_py3 import SubResource - - -class ExpressRouteCircuitPeering(SubResource): - """Peering in an ExpressRouteCircuit resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param peering_type: The peering type. Possible values include: - 'AzurePublicPeering', 'AzurePrivatePeering', 'MicrosoftPeering' - :type peering_type: str or - ~azure.mgmt.network.v2018_08_01.models.ExpressRoutePeeringType - :param state: The peering state. Possible values include: 'Disabled', - 'Enabled' - :type state: str or - ~azure.mgmt.network.v2018_08_01.models.ExpressRoutePeeringState - :param azure_asn: The Azure ASN. - :type azure_asn: int - :param peer_asn: The peer ASN. - :type peer_asn: long - :param primary_peer_address_prefix: The primary address prefix. - :type primary_peer_address_prefix: str - :param secondary_peer_address_prefix: The secondary address prefix. - :type secondary_peer_address_prefix: str - :param primary_azure_port: The primary port. - :type primary_azure_port: str - :param secondary_azure_port: The secondary port. - :type secondary_azure_port: str - :param shared_key: The shared key. - :type shared_key: str - :param vlan_id: The VLAN ID. - :type vlan_id: int - :param microsoft_peering_config: The Microsoft peering configuration. - :type microsoft_peering_config: - ~azure.mgmt.network.v2018_08_01.models.ExpressRouteCircuitPeeringConfig - :param stats: Gets peering stats. - :type stats: - ~azure.mgmt.network.v2018_08_01.models.ExpressRouteCircuitStats - :param provisioning_state: Gets the provisioning state of the public IP - resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - :type provisioning_state: str - :param gateway_manager_etag: The GatewayManager Etag. - :type gateway_manager_etag: str - :param last_modified_by: Gets whether the provider or the customer last - modified the peering. - :type last_modified_by: str - :param route_filter: The reference of the RouteFilter resource. - :type route_filter: ~azure.mgmt.network.v2018_08_01.models.RouteFilter - :param ipv6_peering_config: The IPv6 peering configuration. - :type ipv6_peering_config: - ~azure.mgmt.network.v2018_08_01.models.Ipv6ExpressRouteCircuitPeeringConfig - :param express_route_connection: The ExpressRoute connection. - :type express_route_connection: - ~azure.mgmt.network.v2018_08_01.models.ExpressRouteConnectionId - :param connections: The list of circuit connections associated with Azure - Private Peering for this circuit. - :type connections: - list[~azure.mgmt.network.v2018_08_01.models.ExpressRouteCircuitConnection] - :param name: Gets name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'peer_asn': {'maximum': 4294967295, 'minimum': 1}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'peering_type': {'key': 'properties.peeringType', 'type': 'str'}, - 'state': {'key': 'properties.state', 'type': 'str'}, - 'azure_asn': {'key': 'properties.azureASN', 'type': 'int'}, - 'peer_asn': {'key': 'properties.peerASN', 'type': 'long'}, - 'primary_peer_address_prefix': {'key': 'properties.primaryPeerAddressPrefix', 'type': 'str'}, - 'secondary_peer_address_prefix': {'key': 'properties.secondaryPeerAddressPrefix', 'type': 'str'}, - 'primary_azure_port': {'key': 'properties.primaryAzurePort', 'type': 'str'}, - 'secondary_azure_port': {'key': 'properties.secondaryAzurePort', 'type': 'str'}, - 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, - 'vlan_id': {'key': 'properties.vlanId', 'type': 'int'}, - 'microsoft_peering_config': {'key': 'properties.microsoftPeeringConfig', 'type': 'ExpressRouteCircuitPeeringConfig'}, - 'stats': {'key': 'properties.stats', 'type': 'ExpressRouteCircuitStats'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'gateway_manager_etag': {'key': 'properties.gatewayManagerEtag', 'type': 'str'}, - 'last_modified_by': {'key': 'properties.lastModifiedBy', 'type': 'str'}, - 'route_filter': {'key': 'properties.routeFilter', 'type': 'RouteFilter'}, - 'ipv6_peering_config': {'key': 'properties.ipv6PeeringConfig', 'type': 'Ipv6ExpressRouteCircuitPeeringConfig'}, - 'express_route_connection': {'key': 'properties.expressRouteConnection', 'type': 'ExpressRouteConnectionId'}, - 'connections': {'key': 'properties.connections', 'type': '[ExpressRouteCircuitConnection]'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, peering_type=None, state=None, azure_asn: int=None, peer_asn: int=None, primary_peer_address_prefix: str=None, secondary_peer_address_prefix: str=None, primary_azure_port: str=None, secondary_azure_port: str=None, shared_key: str=None, vlan_id: int=None, microsoft_peering_config=None, stats=None, provisioning_state: str=None, gateway_manager_etag: str=None, last_modified_by: str=None, route_filter=None, ipv6_peering_config=None, express_route_connection=None, connections=None, name: str=None, **kwargs) -> None: - super(ExpressRouteCircuitPeering, self).__init__(id=id, **kwargs) - self.peering_type = peering_type - self.state = state - self.azure_asn = azure_asn - self.peer_asn = peer_asn - self.primary_peer_address_prefix = primary_peer_address_prefix - self.secondary_peer_address_prefix = secondary_peer_address_prefix - self.primary_azure_port = primary_azure_port - self.secondary_azure_port = secondary_azure_port - self.shared_key = shared_key - self.vlan_id = vlan_id - self.microsoft_peering_config = microsoft_peering_config - self.stats = stats - self.provisioning_state = provisioning_state - self.gateway_manager_etag = gateway_manager_etag - self.last_modified_by = last_modified_by - self.route_filter = route_filter - self.ipv6_peering_config = ipv6_peering_config - self.express_route_connection = express_route_connection - self.connections = connections - self.name = name - self.etag = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuit_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuit_py3.py deleted file mode 100644 index 06a104c8b45..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuit_py3.py +++ /dev/null @@ -1,111 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .resource_py3 import Resource - - -class ExpressRouteCircuit(Resource): - """ExpressRouteCircuit resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param sku: The SKU. - :type sku: ~azure.mgmt.network.v2018_08_01.models.ExpressRouteCircuitSku - :param allow_classic_operations: Allow classic operations - :type allow_classic_operations: bool - :param circuit_provisioning_state: The CircuitProvisioningState state of - the resource. - :type circuit_provisioning_state: str - :param service_provider_provisioning_state: The - ServiceProviderProvisioningState state of the resource. Possible values - are 'NotProvisioned', 'Provisioning', 'Provisioned', and 'Deprovisioning'. - Possible values include: 'NotProvisioned', 'Provisioning', 'Provisioned', - 'Deprovisioning' - :type service_provider_provisioning_state: str or - ~azure.mgmt.network.v2018_08_01.models.ServiceProviderProvisioningState - :param authorizations: The list of authorizations. - :type authorizations: - list[~azure.mgmt.network.v2018_08_01.models.ExpressRouteCircuitAuthorization] - :param peerings: The list of peerings. - :type peerings: - list[~azure.mgmt.network.v2018_08_01.models.ExpressRouteCircuitPeering] - :param service_key: The ServiceKey. - :type service_key: str - :param service_provider_notes: The ServiceProviderNotes. - :type service_provider_notes: str - :param service_provider_properties: The ServiceProviderProperties. - :type service_provider_properties: - ~azure.mgmt.network.v2018_08_01.models.ExpressRouteCircuitServiceProviderProperties - :param provisioning_state: Gets the provisioning state of the public IP - resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - :type provisioning_state: str - :param gateway_manager_etag: The GatewayManager Etag. - :type gateway_manager_etag: str - :param allow_global_reach: Flag to enable Global Reach on the circuit. - :type allow_global_reach: bool - :ivar etag: Gets a unique read-only string that changes whenever the - resource is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'sku': {'key': 'sku', 'type': 'ExpressRouteCircuitSku'}, - 'allow_classic_operations': {'key': 'properties.allowClassicOperations', 'type': 'bool'}, - 'circuit_provisioning_state': {'key': 'properties.circuitProvisioningState', 'type': 'str'}, - 'service_provider_provisioning_state': {'key': 'properties.serviceProviderProvisioningState', 'type': 'str'}, - 'authorizations': {'key': 'properties.authorizations', 'type': '[ExpressRouteCircuitAuthorization]'}, - 'peerings': {'key': 'properties.peerings', 'type': '[ExpressRouteCircuitPeering]'}, - 'service_key': {'key': 'properties.serviceKey', 'type': 'str'}, - 'service_provider_notes': {'key': 'properties.serviceProviderNotes', 'type': 'str'}, - 'service_provider_properties': {'key': 'properties.serviceProviderProperties', 'type': 'ExpressRouteCircuitServiceProviderProperties'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'gateway_manager_etag': {'key': 'properties.gatewayManagerEtag', 'type': 'str'}, - 'allow_global_reach': {'key': 'properties.allowGlobalReach', 'type': 'bool'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, sku=None, allow_classic_operations: bool=None, circuit_provisioning_state: str=None, service_provider_provisioning_state=None, authorizations=None, peerings=None, service_key: str=None, service_provider_notes: str=None, service_provider_properties=None, provisioning_state: str=None, gateway_manager_etag: str=None, allow_global_reach: bool=None, **kwargs) -> None: - super(ExpressRouteCircuit, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.sku = sku - self.allow_classic_operations = allow_classic_operations - self.circuit_provisioning_state = circuit_provisioning_state - self.service_provider_provisioning_state = service_provider_provisioning_state - self.authorizations = authorizations - self.peerings = peerings - self.service_key = service_key - self.service_provider_notes = service_provider_notes - self.service_provider_properties = service_provider_properties - self.provisioning_state = provisioning_state - self.gateway_manager_etag = gateway_manager_etag - self.allow_global_reach = allow_global_reach - self.etag = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuit_reference.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuit_reference.py deleted file mode 100644 index 63275cc1591..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuit_reference.py +++ /dev/null @@ -1,28 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ExpressRouteCircuitReference(Model): - """ExpressRouteCircuitReference. - - :param id: Corresponding Express Route Circuit Id. - :type id: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ExpressRouteCircuitReference, self).__init__(**kwargs) - self.id = kwargs.get('id', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuit_reference_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuit_reference_py3.py deleted file mode 100644 index 7f688055214..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuit_reference_py3.py +++ /dev/null @@ -1,28 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ExpressRouteCircuitReference(Model): - """ExpressRouteCircuitReference. - - :param id: Corresponding Express Route Circuit Id. - :type id: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, **kwargs) -> None: - super(ExpressRouteCircuitReference, self).__init__(**kwargs) - self.id = id diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuit_routes_table.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuit_routes_table.py deleted file mode 100644 index 5150924765f..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuit_routes_table.py +++ /dev/null @@ -1,45 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ExpressRouteCircuitRoutesTable(Model): - """The routes table associated with the ExpressRouteCircuit. - - :param network: IP address of a network entity - :type network: str - :param next_hop: NextHop address - :type next_hop: str - :param loc_prf: Local preference value as set with the set - local-preference route-map configuration command - :type loc_prf: str - :param weight: Route Weight. - :type weight: int - :param path: Autonomous system paths to the destination network. - :type path: str - """ - - _attribute_map = { - 'network': {'key': 'network', 'type': 'str'}, - 'next_hop': {'key': 'nextHop', 'type': 'str'}, - 'loc_prf': {'key': 'locPrf', 'type': 'str'}, - 'weight': {'key': 'weight', 'type': 'int'}, - 'path': {'key': 'path', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ExpressRouteCircuitRoutesTable, self).__init__(**kwargs) - self.network = kwargs.get('network', None) - self.next_hop = kwargs.get('next_hop', None) - self.loc_prf = kwargs.get('loc_prf', None) - self.weight = kwargs.get('weight', None) - self.path = kwargs.get('path', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuit_routes_table_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuit_routes_table_py3.py deleted file mode 100644 index 3b5829937b8..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuit_routes_table_py3.py +++ /dev/null @@ -1,45 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ExpressRouteCircuitRoutesTable(Model): - """The routes table associated with the ExpressRouteCircuit. - - :param network: IP address of a network entity - :type network: str - :param next_hop: NextHop address - :type next_hop: str - :param loc_prf: Local preference value as set with the set - local-preference route-map configuration command - :type loc_prf: str - :param weight: Route Weight. - :type weight: int - :param path: Autonomous system paths to the destination network. - :type path: str - """ - - _attribute_map = { - 'network': {'key': 'network', 'type': 'str'}, - 'next_hop': {'key': 'nextHop', 'type': 'str'}, - 'loc_prf': {'key': 'locPrf', 'type': 'str'}, - 'weight': {'key': 'weight', 'type': 'int'}, - 'path': {'key': 'path', 'type': 'str'}, - } - - def __init__(self, *, network: str=None, next_hop: str=None, loc_prf: str=None, weight: int=None, path: str=None, **kwargs) -> None: - super(ExpressRouteCircuitRoutesTable, self).__init__(**kwargs) - self.network = network - self.next_hop = next_hop - self.loc_prf = loc_prf - self.weight = weight - self.path = path diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuit_routes_table_summary.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuit_routes_table_summary.py deleted file mode 100644 index 1f398383a9f..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuit_routes_table_summary.py +++ /dev/null @@ -1,46 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ExpressRouteCircuitRoutesTableSummary(Model): - """The routes table associated with the ExpressRouteCircuit. - - :param neighbor: IP address of the neighbor. - :type neighbor: str - :param v: BGP version number spoken to the neighbor. - :type v: int - :param as_property: Autonomous system number. - :type as_property: int - :param up_down: The length of time that the BGP session has been in the - Established state, or the current status if not in the Established state. - :type up_down: str - :param state_pfx_rcd: Current state of the BGP session, and the number of - prefixes that have been received from a neighbor or peer group. - :type state_pfx_rcd: str - """ - - _attribute_map = { - 'neighbor': {'key': 'neighbor', 'type': 'str'}, - 'v': {'key': 'v', 'type': 'int'}, - 'as_property': {'key': 'as', 'type': 'int'}, - 'up_down': {'key': 'upDown', 'type': 'str'}, - 'state_pfx_rcd': {'key': 'statePfxRcd', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ExpressRouteCircuitRoutesTableSummary, self).__init__(**kwargs) - self.neighbor = kwargs.get('neighbor', None) - self.v = kwargs.get('v', None) - self.as_property = kwargs.get('as_property', None) - self.up_down = kwargs.get('up_down', None) - self.state_pfx_rcd = kwargs.get('state_pfx_rcd', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuit_routes_table_summary_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuit_routes_table_summary_py3.py deleted file mode 100644 index 13f52d9951f..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuit_routes_table_summary_py3.py +++ /dev/null @@ -1,46 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ExpressRouteCircuitRoutesTableSummary(Model): - """The routes table associated with the ExpressRouteCircuit. - - :param neighbor: IP address of the neighbor. - :type neighbor: str - :param v: BGP version number spoken to the neighbor. - :type v: int - :param as_property: Autonomous system number. - :type as_property: int - :param up_down: The length of time that the BGP session has been in the - Established state, or the current status if not in the Established state. - :type up_down: str - :param state_pfx_rcd: Current state of the BGP session, and the number of - prefixes that have been received from a neighbor or peer group. - :type state_pfx_rcd: str - """ - - _attribute_map = { - 'neighbor': {'key': 'neighbor', 'type': 'str'}, - 'v': {'key': 'v', 'type': 'int'}, - 'as_property': {'key': 'as', 'type': 'int'}, - 'up_down': {'key': 'upDown', 'type': 'str'}, - 'state_pfx_rcd': {'key': 'statePfxRcd', 'type': 'str'}, - } - - def __init__(self, *, neighbor: str=None, v: int=None, as_property: int=None, up_down: str=None, state_pfx_rcd: str=None, **kwargs) -> None: - super(ExpressRouteCircuitRoutesTableSummary, self).__init__(**kwargs) - self.neighbor = neighbor - self.v = v - self.as_property = as_property - self.up_down = up_down - self.state_pfx_rcd = state_pfx_rcd diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuit_service_provider_properties.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuit_service_provider_properties.py deleted file mode 100644 index c51e6d8d653..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuit_service_provider_properties.py +++ /dev/null @@ -1,36 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ExpressRouteCircuitServiceProviderProperties(Model): - """Contains ServiceProviderProperties in an ExpressRouteCircuit. - - :param service_provider_name: The serviceProviderName. - :type service_provider_name: str - :param peering_location: The peering location. - :type peering_location: str - :param bandwidth_in_mbps: The BandwidthInMbps. - :type bandwidth_in_mbps: int - """ - - _attribute_map = { - 'service_provider_name': {'key': 'serviceProviderName', 'type': 'str'}, - 'peering_location': {'key': 'peeringLocation', 'type': 'str'}, - 'bandwidth_in_mbps': {'key': 'bandwidthInMbps', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(ExpressRouteCircuitServiceProviderProperties, self).__init__(**kwargs) - self.service_provider_name = kwargs.get('service_provider_name', None) - self.peering_location = kwargs.get('peering_location', None) - self.bandwidth_in_mbps = kwargs.get('bandwidth_in_mbps', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuit_service_provider_properties_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuit_service_provider_properties_py3.py deleted file mode 100644 index ea701a54c3f..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuit_service_provider_properties_py3.py +++ /dev/null @@ -1,36 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ExpressRouteCircuitServiceProviderProperties(Model): - """Contains ServiceProviderProperties in an ExpressRouteCircuit. - - :param service_provider_name: The serviceProviderName. - :type service_provider_name: str - :param peering_location: The peering location. - :type peering_location: str - :param bandwidth_in_mbps: The BandwidthInMbps. - :type bandwidth_in_mbps: int - """ - - _attribute_map = { - 'service_provider_name': {'key': 'serviceProviderName', 'type': 'str'}, - 'peering_location': {'key': 'peeringLocation', 'type': 'str'}, - 'bandwidth_in_mbps': {'key': 'bandwidthInMbps', 'type': 'int'}, - } - - def __init__(self, *, service_provider_name: str=None, peering_location: str=None, bandwidth_in_mbps: int=None, **kwargs) -> None: - super(ExpressRouteCircuitServiceProviderProperties, self).__init__(**kwargs) - self.service_provider_name = service_provider_name - self.peering_location = peering_location - self.bandwidth_in_mbps = bandwidth_in_mbps diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuit_sku.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuit_sku.py deleted file mode 100644 index 27d030efe05..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuit_sku.py +++ /dev/null @@ -1,40 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ExpressRouteCircuitSku(Model): - """Contains SKU in an ExpressRouteCircuit. - - :param name: The name of the SKU. - :type name: str - :param tier: The tier of the SKU. Possible values are 'Standard' and - 'Premium'. Possible values include: 'Standard', 'Premium' - :type tier: str or - ~azure.mgmt.network.v2018_08_01.models.ExpressRouteCircuitSkuTier - :param family: The family of the SKU. Possible values are: 'UnlimitedData' - and 'MeteredData'. Possible values include: 'UnlimitedData', 'MeteredData' - :type family: str or - ~azure.mgmt.network.v2018_08_01.models.ExpressRouteCircuitSkuFamily - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'tier': {'key': 'tier', 'type': 'str'}, - 'family': {'key': 'family', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ExpressRouteCircuitSku, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.tier = kwargs.get('tier', None) - self.family = kwargs.get('family', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuit_sku_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuit_sku_py3.py deleted file mode 100644 index 565fc298dd0..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuit_sku_py3.py +++ /dev/null @@ -1,40 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ExpressRouteCircuitSku(Model): - """Contains SKU in an ExpressRouteCircuit. - - :param name: The name of the SKU. - :type name: str - :param tier: The tier of the SKU. Possible values are 'Standard' and - 'Premium'. Possible values include: 'Standard', 'Premium' - :type tier: str or - ~azure.mgmt.network.v2018_08_01.models.ExpressRouteCircuitSkuTier - :param family: The family of the SKU. Possible values are: 'UnlimitedData' - and 'MeteredData'. Possible values include: 'UnlimitedData', 'MeteredData' - :type family: str or - ~azure.mgmt.network.v2018_08_01.models.ExpressRouteCircuitSkuFamily - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'tier': {'key': 'tier', 'type': 'str'}, - 'family': {'key': 'family', 'type': 'str'}, - } - - def __init__(self, *, name: str=None, tier=None, family=None, **kwargs) -> None: - super(ExpressRouteCircuitSku, self).__init__(**kwargs) - self.name = name - self.tier = tier - self.family = family diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuit_stats.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuit_stats.py deleted file mode 100644 index 41c45ae2b19..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuit_stats.py +++ /dev/null @@ -1,40 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ExpressRouteCircuitStats(Model): - """Contains stats associated with the peering. - - :param primarybytes_in: Gets BytesIn of the peering. - :type primarybytes_in: long - :param primarybytes_out: Gets BytesOut of the peering. - :type primarybytes_out: long - :param secondarybytes_in: Gets BytesIn of the peering. - :type secondarybytes_in: long - :param secondarybytes_out: Gets BytesOut of the peering. - :type secondarybytes_out: long - """ - - _attribute_map = { - 'primarybytes_in': {'key': 'primarybytesIn', 'type': 'long'}, - 'primarybytes_out': {'key': 'primarybytesOut', 'type': 'long'}, - 'secondarybytes_in': {'key': 'secondarybytesIn', 'type': 'long'}, - 'secondarybytes_out': {'key': 'secondarybytesOut', 'type': 'long'}, - } - - def __init__(self, **kwargs): - super(ExpressRouteCircuitStats, self).__init__(**kwargs) - self.primarybytes_in = kwargs.get('primarybytes_in', None) - self.primarybytes_out = kwargs.get('primarybytes_out', None) - self.secondarybytes_in = kwargs.get('secondarybytes_in', None) - self.secondarybytes_out = kwargs.get('secondarybytes_out', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuit_stats_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuit_stats_py3.py deleted file mode 100644 index f7833534354..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuit_stats_py3.py +++ /dev/null @@ -1,40 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ExpressRouteCircuitStats(Model): - """Contains stats associated with the peering. - - :param primarybytes_in: Gets BytesIn of the peering. - :type primarybytes_in: long - :param primarybytes_out: Gets BytesOut of the peering. - :type primarybytes_out: long - :param secondarybytes_in: Gets BytesIn of the peering. - :type secondarybytes_in: long - :param secondarybytes_out: Gets BytesOut of the peering. - :type secondarybytes_out: long - """ - - _attribute_map = { - 'primarybytes_in': {'key': 'primarybytesIn', 'type': 'long'}, - 'primarybytes_out': {'key': 'primarybytesOut', 'type': 'long'}, - 'secondarybytes_in': {'key': 'secondarybytesIn', 'type': 'long'}, - 'secondarybytes_out': {'key': 'secondarybytesOut', 'type': 'long'}, - } - - def __init__(self, *, primarybytes_in: int=None, primarybytes_out: int=None, secondarybytes_in: int=None, secondarybytes_out: int=None, **kwargs) -> None: - super(ExpressRouteCircuitStats, self).__init__(**kwargs) - self.primarybytes_in = primarybytes_in - self.primarybytes_out = primarybytes_out - self.secondarybytes_in = secondarybytes_in - self.secondarybytes_out = secondarybytes_out diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuits_arp_table_list_result.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuits_arp_table_list_result.py deleted file mode 100644 index ebd151744ea..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuits_arp_table_list_result.py +++ /dev/null @@ -1,33 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ExpressRouteCircuitsArpTableListResult(Model): - """Response for ListArpTable associated with the Express Route Circuits API. - - :param value: Gets list of the ARP table. - :type value: - list[~azure.mgmt.network.v2018_08_01.models.ExpressRouteCircuitArpTable] - :param next_link: The URL to get the next set of results. - :type next_link: str - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[ExpressRouteCircuitArpTable]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ExpressRouteCircuitsArpTableListResult, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - self.next_link = kwargs.get('next_link', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuits_arp_table_list_result_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuits_arp_table_list_result_py3.py deleted file mode 100644 index 6a1891e6ea5..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuits_arp_table_list_result_py3.py +++ /dev/null @@ -1,33 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ExpressRouteCircuitsArpTableListResult(Model): - """Response for ListArpTable associated with the Express Route Circuits API. - - :param value: Gets list of the ARP table. - :type value: - list[~azure.mgmt.network.v2018_08_01.models.ExpressRouteCircuitArpTable] - :param next_link: The URL to get the next set of results. - :type next_link: str - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[ExpressRouteCircuitArpTable]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__(self, *, value=None, next_link: str=None, **kwargs) -> None: - super(ExpressRouteCircuitsArpTableListResult, self).__init__(**kwargs) - self.value = value - self.next_link = next_link diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuits_routes_table_list_result.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuits_routes_table_list_result.py deleted file mode 100644 index ea13c96f01b..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuits_routes_table_list_result.py +++ /dev/null @@ -1,34 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ExpressRouteCircuitsRoutesTableListResult(Model): - """Response for ListRoutesTable associated with the Express Route Circuits - API. - - :param value: The list of routes table. - :type value: - list[~azure.mgmt.network.v2018_08_01.models.ExpressRouteCircuitRoutesTable] - :param next_link: The URL to get the next set of results. - :type next_link: str - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[ExpressRouteCircuitRoutesTable]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ExpressRouteCircuitsRoutesTableListResult, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - self.next_link = kwargs.get('next_link', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuits_routes_table_list_result_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuits_routes_table_list_result_py3.py deleted file mode 100644 index b437d6cd9eb..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuits_routes_table_list_result_py3.py +++ /dev/null @@ -1,34 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ExpressRouteCircuitsRoutesTableListResult(Model): - """Response for ListRoutesTable associated with the Express Route Circuits - API. - - :param value: The list of routes table. - :type value: - list[~azure.mgmt.network.v2018_08_01.models.ExpressRouteCircuitRoutesTable] - :param next_link: The URL to get the next set of results. - :type next_link: str - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[ExpressRouteCircuitRoutesTable]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__(self, *, value=None, next_link: str=None, **kwargs) -> None: - super(ExpressRouteCircuitsRoutesTableListResult, self).__init__(**kwargs) - self.value = value - self.next_link = next_link diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuits_routes_table_summary_list_result.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuits_routes_table_summary_list_result.py deleted file mode 100644 index c050948c5bb..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuits_routes_table_summary_list_result.py +++ /dev/null @@ -1,34 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ExpressRouteCircuitsRoutesTableSummaryListResult(Model): - """Response for ListRoutesTable associated with the Express Route Circuits - API. - - :param value: A list of the routes table. - :type value: - list[~azure.mgmt.network.v2018_08_01.models.ExpressRouteCircuitRoutesTableSummary] - :param next_link: The URL to get the next set of results. - :type next_link: str - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[ExpressRouteCircuitRoutesTableSummary]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ExpressRouteCircuitsRoutesTableSummaryListResult, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - self.next_link = kwargs.get('next_link', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuits_routes_table_summary_list_result_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuits_routes_table_summary_list_result_py3.py deleted file mode 100644 index 0c81209a36b..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_circuits_routes_table_summary_list_result_py3.py +++ /dev/null @@ -1,34 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ExpressRouteCircuitsRoutesTableSummaryListResult(Model): - """Response for ListRoutesTable associated with the Express Route Circuits - API. - - :param value: A list of the routes table. - :type value: - list[~azure.mgmt.network.v2018_08_01.models.ExpressRouteCircuitRoutesTableSummary] - :param next_link: The URL to get the next set of results. - :type next_link: str - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[ExpressRouteCircuitRoutesTableSummary]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__(self, *, value=None, next_link: str=None, **kwargs) -> None: - super(ExpressRouteCircuitsRoutesTableSummaryListResult, self).__init__(**kwargs) - self.value = value - self.next_link = next_link diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_connection.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_connection.py deleted file mode 100644 index b8ab0ea3fd2..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_connection.py +++ /dev/null @@ -1,62 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource import SubResource - - -class ExpressRouteConnection(SubResource): - """ExpressRouteConnection resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :ivar provisioning_state: The provisioning state of the resource. Possible - values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2018_08_01.models.ProvisioningState - :param express_route_circuit_peering: Required. The ExpressRoute circuit - peering. - :type express_route_circuit_peering: - ~azure.mgmt.network.v2018_08_01.models.ExpressRouteCircuitPeeringId - :param authorization_key: Authorization key to establish the connection. - :type authorization_key: str - :param routing_weight: The routing weight associated to the connection. - :type routing_weight: int - :param name: Required. The name of the resource. - :type name: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'express_route_circuit_peering': {'required': True}, - 'name': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'express_route_circuit_peering': {'key': 'properties.expressRouteCircuitPeering', 'type': 'ExpressRouteCircuitPeeringId'}, - 'authorization_key': {'key': 'properties.authorizationKey', 'type': 'str'}, - 'routing_weight': {'key': 'properties.routingWeight', 'type': 'int'}, - 'name': {'key': 'name', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ExpressRouteConnection, self).__init__(**kwargs) - self.provisioning_state = None - self.express_route_circuit_peering = kwargs.get('express_route_circuit_peering', None) - self.authorization_key = kwargs.get('authorization_key', None) - self.routing_weight = kwargs.get('routing_weight', None) - self.name = kwargs.get('name', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_connection_id.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_connection_id.py deleted file mode 100644 index 05d8fb5b1d3..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_connection_id.py +++ /dev/null @@ -1,35 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ExpressRouteConnectionId(Model): - """The ID of the ExpressRouteConnection. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar id: The ID of the ExpressRouteConnection. - :vartype id: str - """ - - _validation = { - 'id': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ExpressRouteConnectionId, self).__init__(**kwargs) - self.id = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_connection_id_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_connection_id_py3.py deleted file mode 100644 index ac333107935..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_connection_id_py3.py +++ /dev/null @@ -1,35 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ExpressRouteConnectionId(Model): - """The ID of the ExpressRouteConnection. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar id: The ID of the ExpressRouteConnection. - :vartype id: str - """ - - _validation = { - 'id': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - } - - def __init__(self, **kwargs) -> None: - super(ExpressRouteConnectionId, self).__init__(**kwargs) - self.id = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_connection_list.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_connection_list.py deleted file mode 100644 index 5b282799dd7..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_connection_list.py +++ /dev/null @@ -1,29 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ExpressRouteConnectionList(Model): - """ExpressRouteConnection list. - - :param value: The list of ExpressRoute connections - :type value: - list[~azure.mgmt.network.v2018_08_01.models.ExpressRouteConnection] - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[ExpressRouteConnection]'}, - } - - def __init__(self, **kwargs): - super(ExpressRouteConnectionList, self).__init__(**kwargs) - self.value = kwargs.get('value', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_connection_list_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_connection_list_py3.py deleted file mode 100644 index bd063e3a7d8..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_connection_list_py3.py +++ /dev/null @@ -1,29 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ExpressRouteConnectionList(Model): - """ExpressRouteConnection list. - - :param value: The list of ExpressRoute connections - :type value: - list[~azure.mgmt.network.v2018_08_01.models.ExpressRouteConnection] - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[ExpressRouteConnection]'}, - } - - def __init__(self, *, value=None, **kwargs) -> None: - super(ExpressRouteConnectionList, self).__init__(**kwargs) - self.value = value diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_connection_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_connection_py3.py deleted file mode 100644 index 247cc748523..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_connection_py3.py +++ /dev/null @@ -1,62 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource_py3 import SubResource - - -class ExpressRouteConnection(SubResource): - """ExpressRouteConnection resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :ivar provisioning_state: The provisioning state of the resource. Possible - values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2018_08_01.models.ProvisioningState - :param express_route_circuit_peering: Required. The ExpressRoute circuit - peering. - :type express_route_circuit_peering: - ~azure.mgmt.network.v2018_08_01.models.ExpressRouteCircuitPeeringId - :param authorization_key: Authorization key to establish the connection. - :type authorization_key: str - :param routing_weight: The routing weight associated to the connection. - :type routing_weight: int - :param name: Required. The name of the resource. - :type name: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'express_route_circuit_peering': {'required': True}, - 'name': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'express_route_circuit_peering': {'key': 'properties.expressRouteCircuitPeering', 'type': 'ExpressRouteCircuitPeeringId'}, - 'authorization_key': {'key': 'properties.authorizationKey', 'type': 'str'}, - 'routing_weight': {'key': 'properties.routingWeight', 'type': 'int'}, - 'name': {'key': 'name', 'type': 'str'}, - } - - def __init__(self, *, express_route_circuit_peering, name: str, id: str=None, authorization_key: str=None, routing_weight: int=None, **kwargs) -> None: - super(ExpressRouteConnection, self).__init__(id=id, **kwargs) - self.provisioning_state = None - self.express_route_circuit_peering = express_route_circuit_peering - self.authorization_key = authorization_key - self.routing_weight = routing_weight - self.name = name diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_cross_connection.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_cross_connection.py deleted file mode 100644 index 4a1783e0309..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_cross_connection.py +++ /dev/null @@ -1,105 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .resource import Resource - - -class ExpressRouteCrossConnection(Resource): - """ExpressRouteCrossConnection resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :ivar primary_azure_port: The name of the primary port. - :vartype primary_azure_port: str - :ivar secondary_azure_port: The name of the secondary port. - :vartype secondary_azure_port: str - :ivar s_tag: The identifier of the circuit traffic. - :vartype s_tag: int - :param peering_location: The peering location of the ExpressRoute circuit. - :type peering_location: str - :param bandwidth_in_mbps: The circuit bandwidth In Mbps. - :type bandwidth_in_mbps: int - :param express_route_circuit: The ExpressRouteCircuit - :type express_route_circuit: - ~azure.mgmt.network.v2018_08_01.models.ExpressRouteCircuitReference - :param service_provider_provisioning_state: The provisioning state of the - circuit in the connectivity provider system. Possible values are - 'NotProvisioned', 'Provisioning', 'Provisioned'. Possible values include: - 'NotProvisioned', 'Provisioning', 'Provisioned', 'Deprovisioning' - :type service_provider_provisioning_state: str or - ~azure.mgmt.network.v2018_08_01.models.ServiceProviderProvisioningState - :param service_provider_notes: Additional read only notes set by the - connectivity provider. - :type service_provider_notes: str - :ivar provisioning_state: Gets the provisioning state of the public IP - resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - :vartype provisioning_state: str - :param peerings: The list of peerings. - :type peerings: - list[~azure.mgmt.network.v2018_08_01.models.ExpressRouteCrossConnectionPeering] - :ivar etag: Gets a unique read-only string that changes whenever the - resource is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'primary_azure_port': {'readonly': True}, - 'secondary_azure_port': {'readonly': True}, - 's_tag': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'primary_azure_port': {'key': 'properties.primaryAzurePort', 'type': 'str'}, - 'secondary_azure_port': {'key': 'properties.secondaryAzurePort', 'type': 'str'}, - 's_tag': {'key': 'properties.sTag', 'type': 'int'}, - 'peering_location': {'key': 'properties.peeringLocation', 'type': 'str'}, - 'bandwidth_in_mbps': {'key': 'properties.bandwidthInMbps', 'type': 'int'}, - 'express_route_circuit': {'key': 'properties.expressRouteCircuit', 'type': 'ExpressRouteCircuitReference'}, - 'service_provider_provisioning_state': {'key': 'properties.serviceProviderProvisioningState', 'type': 'str'}, - 'service_provider_notes': {'key': 'properties.serviceProviderNotes', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'peerings': {'key': 'properties.peerings', 'type': '[ExpressRouteCrossConnectionPeering]'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ExpressRouteCrossConnection, self).__init__(**kwargs) - self.primary_azure_port = None - self.secondary_azure_port = None - self.s_tag = None - self.peering_location = kwargs.get('peering_location', None) - self.bandwidth_in_mbps = kwargs.get('bandwidth_in_mbps', None) - self.express_route_circuit = kwargs.get('express_route_circuit', None) - self.service_provider_provisioning_state = kwargs.get('service_provider_provisioning_state', None) - self.service_provider_notes = kwargs.get('service_provider_notes', None) - self.provisioning_state = None - self.peerings = kwargs.get('peerings', None) - self.etag = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_cross_connection_paged.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_cross_connection_paged.py deleted file mode 100644 index 585bef2e384..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_cross_connection_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.paging import Paged - - -class ExpressRouteCrossConnectionPaged(Paged): - """ - A paging container for iterating over a list of :class:`ExpressRouteCrossConnection ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[ExpressRouteCrossConnection]'} - } - - def __init__(self, *args, **kwargs): - - super(ExpressRouteCrossConnectionPaged, self).__init__(*args, **kwargs) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_cross_connection_peering.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_cross_connection_peering.py deleted file mode 100644 index 6eb439457dc..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_cross_connection_peering.py +++ /dev/null @@ -1,117 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource import SubResource - - -class ExpressRouteCrossConnectionPeering(SubResource): - """Peering in an ExpressRoute Cross Connection resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param peering_type: The peering type. Possible values include: - 'AzurePublicPeering', 'AzurePrivatePeering', 'MicrosoftPeering' - :type peering_type: str or - ~azure.mgmt.network.v2018_08_01.models.ExpressRoutePeeringType - :param state: The peering state. Possible values include: 'Disabled', - 'Enabled' - :type state: str or - ~azure.mgmt.network.v2018_08_01.models.ExpressRoutePeeringState - :ivar azure_asn: The Azure ASN. - :vartype azure_asn: int - :param peer_asn: The peer ASN. - :type peer_asn: long - :param primary_peer_address_prefix: The primary address prefix. - :type primary_peer_address_prefix: str - :param secondary_peer_address_prefix: The secondary address prefix. - :type secondary_peer_address_prefix: str - :ivar primary_azure_port: The primary port. - :vartype primary_azure_port: str - :ivar secondary_azure_port: The secondary port. - :vartype secondary_azure_port: str - :param shared_key: The shared key. - :type shared_key: str - :param vlan_id: The VLAN ID. - :type vlan_id: int - :param microsoft_peering_config: The Microsoft peering configuration. - :type microsoft_peering_config: - ~azure.mgmt.network.v2018_08_01.models.ExpressRouteCircuitPeeringConfig - :ivar provisioning_state: Gets the provisioning state of the public IP - resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - :vartype provisioning_state: str - :param gateway_manager_etag: The GatewayManager Etag. - :type gateway_manager_etag: str - :param last_modified_by: Gets whether the provider or the customer last - modified the peering. - :type last_modified_by: str - :param ipv6_peering_config: The IPv6 peering configuration. - :type ipv6_peering_config: - ~azure.mgmt.network.v2018_08_01.models.Ipv6ExpressRouteCircuitPeeringConfig - :param name: Gets name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'azure_asn': {'readonly': True}, - 'peer_asn': {'maximum': 4294967295, 'minimum': 1}, - 'primary_azure_port': {'readonly': True}, - 'secondary_azure_port': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'peering_type': {'key': 'properties.peeringType', 'type': 'str'}, - 'state': {'key': 'properties.state', 'type': 'str'}, - 'azure_asn': {'key': 'properties.azureASN', 'type': 'int'}, - 'peer_asn': {'key': 'properties.peerASN', 'type': 'long'}, - 'primary_peer_address_prefix': {'key': 'properties.primaryPeerAddressPrefix', 'type': 'str'}, - 'secondary_peer_address_prefix': {'key': 'properties.secondaryPeerAddressPrefix', 'type': 'str'}, - 'primary_azure_port': {'key': 'properties.primaryAzurePort', 'type': 'str'}, - 'secondary_azure_port': {'key': 'properties.secondaryAzurePort', 'type': 'str'}, - 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, - 'vlan_id': {'key': 'properties.vlanId', 'type': 'int'}, - 'microsoft_peering_config': {'key': 'properties.microsoftPeeringConfig', 'type': 'ExpressRouteCircuitPeeringConfig'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'gateway_manager_etag': {'key': 'properties.gatewayManagerEtag', 'type': 'str'}, - 'last_modified_by': {'key': 'properties.lastModifiedBy', 'type': 'str'}, - 'ipv6_peering_config': {'key': 'properties.ipv6PeeringConfig', 'type': 'Ipv6ExpressRouteCircuitPeeringConfig'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ExpressRouteCrossConnectionPeering, self).__init__(**kwargs) - self.peering_type = kwargs.get('peering_type', None) - self.state = kwargs.get('state', None) - self.azure_asn = None - self.peer_asn = kwargs.get('peer_asn', None) - self.primary_peer_address_prefix = kwargs.get('primary_peer_address_prefix', None) - self.secondary_peer_address_prefix = kwargs.get('secondary_peer_address_prefix', None) - self.primary_azure_port = None - self.secondary_azure_port = None - self.shared_key = kwargs.get('shared_key', None) - self.vlan_id = kwargs.get('vlan_id', None) - self.microsoft_peering_config = kwargs.get('microsoft_peering_config', None) - self.provisioning_state = None - self.gateway_manager_etag = kwargs.get('gateway_manager_etag', None) - self.last_modified_by = kwargs.get('last_modified_by', None) - self.ipv6_peering_config = kwargs.get('ipv6_peering_config', None) - self.name = kwargs.get('name', None) - self.etag = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_cross_connection_peering_paged.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_cross_connection_peering_paged.py deleted file mode 100644 index 55e5bfc92f1..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_cross_connection_peering_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.paging import Paged - - -class ExpressRouteCrossConnectionPeeringPaged(Paged): - """ - A paging container for iterating over a list of :class:`ExpressRouteCrossConnectionPeering ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[ExpressRouteCrossConnectionPeering]'} - } - - def __init__(self, *args, **kwargs): - - super(ExpressRouteCrossConnectionPeeringPaged, self).__init__(*args, **kwargs) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_cross_connection_peering_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_cross_connection_peering_py3.py deleted file mode 100644 index 8232c26477a..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_cross_connection_peering_py3.py +++ /dev/null @@ -1,117 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource_py3 import SubResource - - -class ExpressRouteCrossConnectionPeering(SubResource): - """Peering in an ExpressRoute Cross Connection resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param peering_type: The peering type. Possible values include: - 'AzurePublicPeering', 'AzurePrivatePeering', 'MicrosoftPeering' - :type peering_type: str or - ~azure.mgmt.network.v2018_08_01.models.ExpressRoutePeeringType - :param state: The peering state. Possible values include: 'Disabled', - 'Enabled' - :type state: str or - ~azure.mgmt.network.v2018_08_01.models.ExpressRoutePeeringState - :ivar azure_asn: The Azure ASN. - :vartype azure_asn: int - :param peer_asn: The peer ASN. - :type peer_asn: long - :param primary_peer_address_prefix: The primary address prefix. - :type primary_peer_address_prefix: str - :param secondary_peer_address_prefix: The secondary address prefix. - :type secondary_peer_address_prefix: str - :ivar primary_azure_port: The primary port. - :vartype primary_azure_port: str - :ivar secondary_azure_port: The secondary port. - :vartype secondary_azure_port: str - :param shared_key: The shared key. - :type shared_key: str - :param vlan_id: The VLAN ID. - :type vlan_id: int - :param microsoft_peering_config: The Microsoft peering configuration. - :type microsoft_peering_config: - ~azure.mgmt.network.v2018_08_01.models.ExpressRouteCircuitPeeringConfig - :ivar provisioning_state: Gets the provisioning state of the public IP - resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - :vartype provisioning_state: str - :param gateway_manager_etag: The GatewayManager Etag. - :type gateway_manager_etag: str - :param last_modified_by: Gets whether the provider or the customer last - modified the peering. - :type last_modified_by: str - :param ipv6_peering_config: The IPv6 peering configuration. - :type ipv6_peering_config: - ~azure.mgmt.network.v2018_08_01.models.Ipv6ExpressRouteCircuitPeeringConfig - :param name: Gets name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'azure_asn': {'readonly': True}, - 'peer_asn': {'maximum': 4294967295, 'minimum': 1}, - 'primary_azure_port': {'readonly': True}, - 'secondary_azure_port': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'peering_type': {'key': 'properties.peeringType', 'type': 'str'}, - 'state': {'key': 'properties.state', 'type': 'str'}, - 'azure_asn': {'key': 'properties.azureASN', 'type': 'int'}, - 'peer_asn': {'key': 'properties.peerASN', 'type': 'long'}, - 'primary_peer_address_prefix': {'key': 'properties.primaryPeerAddressPrefix', 'type': 'str'}, - 'secondary_peer_address_prefix': {'key': 'properties.secondaryPeerAddressPrefix', 'type': 'str'}, - 'primary_azure_port': {'key': 'properties.primaryAzurePort', 'type': 'str'}, - 'secondary_azure_port': {'key': 'properties.secondaryAzurePort', 'type': 'str'}, - 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, - 'vlan_id': {'key': 'properties.vlanId', 'type': 'int'}, - 'microsoft_peering_config': {'key': 'properties.microsoftPeeringConfig', 'type': 'ExpressRouteCircuitPeeringConfig'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'gateway_manager_etag': {'key': 'properties.gatewayManagerEtag', 'type': 'str'}, - 'last_modified_by': {'key': 'properties.lastModifiedBy', 'type': 'str'}, - 'ipv6_peering_config': {'key': 'properties.ipv6PeeringConfig', 'type': 'Ipv6ExpressRouteCircuitPeeringConfig'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, peering_type=None, state=None, peer_asn: int=None, primary_peer_address_prefix: str=None, secondary_peer_address_prefix: str=None, shared_key: str=None, vlan_id: int=None, microsoft_peering_config=None, gateway_manager_etag: str=None, last_modified_by: str=None, ipv6_peering_config=None, name: str=None, **kwargs) -> None: - super(ExpressRouteCrossConnectionPeering, self).__init__(id=id, **kwargs) - self.peering_type = peering_type - self.state = state - self.azure_asn = None - self.peer_asn = peer_asn - self.primary_peer_address_prefix = primary_peer_address_prefix - self.secondary_peer_address_prefix = secondary_peer_address_prefix - self.primary_azure_port = None - self.secondary_azure_port = None - self.shared_key = shared_key - self.vlan_id = vlan_id - self.microsoft_peering_config = microsoft_peering_config - self.provisioning_state = None - self.gateway_manager_etag = gateway_manager_etag - self.last_modified_by = last_modified_by - self.ipv6_peering_config = ipv6_peering_config - self.name = name - self.etag = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_cross_connection_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_cross_connection_py3.py deleted file mode 100644 index 75a1afc119e..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_cross_connection_py3.py +++ /dev/null @@ -1,105 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .resource_py3 import Resource - - -class ExpressRouteCrossConnection(Resource): - """ExpressRouteCrossConnection resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :ivar primary_azure_port: The name of the primary port. - :vartype primary_azure_port: str - :ivar secondary_azure_port: The name of the secondary port. - :vartype secondary_azure_port: str - :ivar s_tag: The identifier of the circuit traffic. - :vartype s_tag: int - :param peering_location: The peering location of the ExpressRoute circuit. - :type peering_location: str - :param bandwidth_in_mbps: The circuit bandwidth In Mbps. - :type bandwidth_in_mbps: int - :param express_route_circuit: The ExpressRouteCircuit - :type express_route_circuit: - ~azure.mgmt.network.v2018_08_01.models.ExpressRouteCircuitReference - :param service_provider_provisioning_state: The provisioning state of the - circuit in the connectivity provider system. Possible values are - 'NotProvisioned', 'Provisioning', 'Provisioned'. Possible values include: - 'NotProvisioned', 'Provisioning', 'Provisioned', 'Deprovisioning' - :type service_provider_provisioning_state: str or - ~azure.mgmt.network.v2018_08_01.models.ServiceProviderProvisioningState - :param service_provider_notes: Additional read only notes set by the - connectivity provider. - :type service_provider_notes: str - :ivar provisioning_state: Gets the provisioning state of the public IP - resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - :vartype provisioning_state: str - :param peerings: The list of peerings. - :type peerings: - list[~azure.mgmt.network.v2018_08_01.models.ExpressRouteCrossConnectionPeering] - :ivar etag: Gets a unique read-only string that changes whenever the - resource is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'primary_azure_port': {'readonly': True}, - 'secondary_azure_port': {'readonly': True}, - 's_tag': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'primary_azure_port': {'key': 'properties.primaryAzurePort', 'type': 'str'}, - 'secondary_azure_port': {'key': 'properties.secondaryAzurePort', 'type': 'str'}, - 's_tag': {'key': 'properties.sTag', 'type': 'int'}, - 'peering_location': {'key': 'properties.peeringLocation', 'type': 'str'}, - 'bandwidth_in_mbps': {'key': 'properties.bandwidthInMbps', 'type': 'int'}, - 'express_route_circuit': {'key': 'properties.expressRouteCircuit', 'type': 'ExpressRouteCircuitReference'}, - 'service_provider_provisioning_state': {'key': 'properties.serviceProviderProvisioningState', 'type': 'str'}, - 'service_provider_notes': {'key': 'properties.serviceProviderNotes', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'peerings': {'key': 'properties.peerings', 'type': '[ExpressRouteCrossConnectionPeering]'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, peering_location: str=None, bandwidth_in_mbps: int=None, express_route_circuit=None, service_provider_provisioning_state=None, service_provider_notes: str=None, peerings=None, **kwargs) -> None: - super(ExpressRouteCrossConnection, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.primary_azure_port = None - self.secondary_azure_port = None - self.s_tag = None - self.peering_location = peering_location - self.bandwidth_in_mbps = bandwidth_in_mbps - self.express_route_circuit = express_route_circuit - self.service_provider_provisioning_state = service_provider_provisioning_state - self.service_provider_notes = service_provider_notes - self.provisioning_state = None - self.peerings = peerings - self.etag = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_cross_connection_routes_table_summary.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_cross_connection_routes_table_summary.py deleted file mode 100644 index f6f4ab63529..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_cross_connection_routes_table_summary.py +++ /dev/null @@ -1,43 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ExpressRouteCrossConnectionRoutesTableSummary(Model): - """The routes table associated with the ExpressRouteCircuit. - - :param neighbor: IP address of Neighbor router - :type neighbor: str - :param asn: Autonomous system number. - :type asn: int - :param up_down: The length of time that the BGP session has been in the - Established state, or the current status if not in the Established state. - :type up_down: str - :param state_or_prefixes_received: Current state of the BGP session, and - the number of prefixes that have been received from a neighbor or peer - group. - :type state_or_prefixes_received: str - """ - - _attribute_map = { - 'neighbor': {'key': 'neighbor', 'type': 'str'}, - 'asn': {'key': 'asn', 'type': 'int'}, - 'up_down': {'key': 'upDown', 'type': 'str'}, - 'state_or_prefixes_received': {'key': 'stateOrPrefixesReceived', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ExpressRouteCrossConnectionRoutesTableSummary, self).__init__(**kwargs) - self.neighbor = kwargs.get('neighbor', None) - self.asn = kwargs.get('asn', None) - self.up_down = kwargs.get('up_down', None) - self.state_or_prefixes_received = kwargs.get('state_or_prefixes_received', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_cross_connection_routes_table_summary_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_cross_connection_routes_table_summary_py3.py deleted file mode 100644 index cbf47398ba2..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_cross_connection_routes_table_summary_py3.py +++ /dev/null @@ -1,43 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ExpressRouteCrossConnectionRoutesTableSummary(Model): - """The routes table associated with the ExpressRouteCircuit. - - :param neighbor: IP address of Neighbor router - :type neighbor: str - :param asn: Autonomous system number. - :type asn: int - :param up_down: The length of time that the BGP session has been in the - Established state, or the current status if not in the Established state. - :type up_down: str - :param state_or_prefixes_received: Current state of the BGP session, and - the number of prefixes that have been received from a neighbor or peer - group. - :type state_or_prefixes_received: str - """ - - _attribute_map = { - 'neighbor': {'key': 'neighbor', 'type': 'str'}, - 'asn': {'key': 'asn', 'type': 'int'}, - 'up_down': {'key': 'upDown', 'type': 'str'}, - 'state_or_prefixes_received': {'key': 'stateOrPrefixesReceived', 'type': 'str'}, - } - - def __init__(self, *, neighbor: str=None, asn: int=None, up_down: str=None, state_or_prefixes_received: str=None, **kwargs) -> None: - super(ExpressRouteCrossConnectionRoutesTableSummary, self).__init__(**kwargs) - self.neighbor = neighbor - self.asn = asn - self.up_down = up_down - self.state_or_prefixes_received = state_or_prefixes_received diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_cross_connections_routes_table_summary_list_result.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_cross_connections_routes_table_summary_list_result.py deleted file mode 100644 index 23b760b3fae..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_cross_connections_routes_table_summary_list_result.py +++ /dev/null @@ -1,41 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ExpressRouteCrossConnectionsRoutesTableSummaryListResult(Model): - """Response for ListRoutesTable associated with the Express Route Cross - Connections. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param value: A list of the routes table. - :type value: - list[~azure.mgmt.network.v2018_08_01.models.ExpressRouteCrossConnectionRoutesTableSummary] - :ivar next_link: The URL to get the next set of results. - :vartype next_link: str - """ - - _validation = { - 'next_link': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[ExpressRouteCrossConnectionRoutesTableSummary]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ExpressRouteCrossConnectionsRoutesTableSummaryListResult, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - self.next_link = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_cross_connections_routes_table_summary_list_result_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_cross_connections_routes_table_summary_list_result_py3.py deleted file mode 100644 index 9e773a3cd44..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_cross_connections_routes_table_summary_list_result_py3.py +++ /dev/null @@ -1,41 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ExpressRouteCrossConnectionsRoutesTableSummaryListResult(Model): - """Response for ListRoutesTable associated with the Express Route Cross - Connections. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param value: A list of the routes table. - :type value: - list[~azure.mgmt.network.v2018_08_01.models.ExpressRouteCrossConnectionRoutesTableSummary] - :ivar next_link: The URL to get the next set of results. - :vartype next_link: str - """ - - _validation = { - 'next_link': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[ExpressRouteCrossConnectionRoutesTableSummary]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__(self, *, value=None, **kwargs) -> None: - super(ExpressRouteCrossConnectionsRoutesTableSummaryListResult, self).__init__(**kwargs) - self.value = value - self.next_link = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_gateway.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_gateway.py deleted file mode 100644 index 07d9850a9eb..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_gateway.py +++ /dev/null @@ -1,80 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .resource import Resource - - -class ExpressRouteGateway(Resource): - """ExpressRoute gateway resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param auto_scale_configuration: Configuration for auto scaling. - :type auto_scale_configuration: - ~azure.mgmt.network.v2018_08_01.models.ExpressRouteGatewayPropertiesAutoScaleConfiguration - :ivar express_route_connections: List of ExpressRoute connections to the - ExpressRoute gateway. - :vartype express_route_connections: - list[~azure.mgmt.network.v2018_08_01.models.ExpressRouteConnection] - :ivar provisioning_state: The provisioning state of the resource. Possible - values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2018_08_01.models.ProvisioningState - :param virtual_hub: Required. The Virtual Hub where the ExpressRoute - gateway is or will be deployed. - :type virtual_hub: ~azure.mgmt.network.v2018_08_01.models.VirtualHubId - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'express_route_connections': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'virtual_hub': {'required': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'auto_scale_configuration': {'key': 'properties.autoScaleConfiguration', 'type': 'ExpressRouteGatewayPropertiesAutoScaleConfiguration'}, - 'express_route_connections': {'key': 'properties.expressRouteConnections', 'type': '[ExpressRouteConnection]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'virtual_hub': {'key': 'properties.virtualHub', 'type': 'VirtualHubId'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ExpressRouteGateway, self).__init__(**kwargs) - self.auto_scale_configuration = kwargs.get('auto_scale_configuration', None) - self.express_route_connections = None - self.provisioning_state = None - self.virtual_hub = kwargs.get('virtual_hub', None) - self.etag = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_gateway_list.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_gateway_list.py deleted file mode 100644 index 1659678bdbd..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_gateway_list.py +++ /dev/null @@ -1,29 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ExpressRouteGatewayList(Model): - """List of ExpressRoute gateways. - - :param value: List of ExpressRoute gateways. - :type value: - list[~azure.mgmt.network.v2018_08_01.models.ExpressRouteGateway] - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[ExpressRouteGateway]'}, - } - - def __init__(self, **kwargs): - super(ExpressRouteGatewayList, self).__init__(**kwargs) - self.value = kwargs.get('value', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_gateway_list_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_gateway_list_py3.py deleted file mode 100644 index 5eac67191c5..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_gateway_list_py3.py +++ /dev/null @@ -1,29 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ExpressRouteGatewayList(Model): - """List of ExpressRoute gateways. - - :param value: List of ExpressRoute gateways. - :type value: - list[~azure.mgmt.network.v2018_08_01.models.ExpressRouteGateway] - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[ExpressRouteGateway]'}, - } - - def __init__(self, *, value=None, **kwargs) -> None: - super(ExpressRouteGatewayList, self).__init__(**kwargs) - self.value = value diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_gateway_properties_auto_scale_configuration.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_gateway_properties_auto_scale_configuration.py deleted file mode 100644 index 42f28cf5a96..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_gateway_properties_auto_scale_configuration.py +++ /dev/null @@ -1,29 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ExpressRouteGatewayPropertiesAutoScaleConfiguration(Model): - """Configuration for auto scaling. - - :param bounds: Minimum and maximum number of scale units to deploy. - :type bounds: - ~azure.mgmt.network.v2018_08_01.models.ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds - """ - - _attribute_map = { - 'bounds': {'key': 'bounds', 'type': 'ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds'}, - } - - def __init__(self, **kwargs): - super(ExpressRouteGatewayPropertiesAutoScaleConfiguration, self).__init__(**kwargs) - self.bounds = kwargs.get('bounds', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_gateway_properties_auto_scale_configuration_bounds.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_gateway_properties_auto_scale_configuration_bounds.py deleted file mode 100644 index 0f842805e11..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_gateway_properties_auto_scale_configuration_bounds.py +++ /dev/null @@ -1,34 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds(Model): - """Minimum and maximum number of scale units to deploy. - - :param min: Minimum number of scale units deployed for ExpressRoute - gateway. - :type min: int - :param max: Maximum number of scale units deployed for ExpressRoute - gateway. - :type max: int - """ - - _attribute_map = { - 'min': {'key': 'min', 'type': 'int'}, - 'max': {'key': 'max', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds, self).__init__(**kwargs) - self.min = kwargs.get('min', None) - self.max = kwargs.get('max', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_gateway_properties_auto_scale_configuration_bounds_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_gateway_properties_auto_scale_configuration_bounds_py3.py deleted file mode 100644 index 9ea3e23886e..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_gateway_properties_auto_scale_configuration_bounds_py3.py +++ /dev/null @@ -1,34 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds(Model): - """Minimum and maximum number of scale units to deploy. - - :param min: Minimum number of scale units deployed for ExpressRoute - gateway. - :type min: int - :param max: Maximum number of scale units deployed for ExpressRoute - gateway. - :type max: int - """ - - _attribute_map = { - 'min': {'key': 'min', 'type': 'int'}, - 'max': {'key': 'max', 'type': 'int'}, - } - - def __init__(self, *, min: int=None, max: int=None, **kwargs) -> None: - super(ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds, self).__init__(**kwargs) - self.min = min - self.max = max diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_gateway_properties_auto_scale_configuration_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_gateway_properties_auto_scale_configuration_py3.py deleted file mode 100644 index 0498c1bab0a..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_gateway_properties_auto_scale_configuration_py3.py +++ /dev/null @@ -1,29 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ExpressRouteGatewayPropertiesAutoScaleConfiguration(Model): - """Configuration for auto scaling. - - :param bounds: Minimum and maximum number of scale units to deploy. - :type bounds: - ~azure.mgmt.network.v2018_08_01.models.ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds - """ - - _attribute_map = { - 'bounds': {'key': 'bounds', 'type': 'ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds'}, - } - - def __init__(self, *, bounds=None, **kwargs) -> None: - super(ExpressRouteGatewayPropertiesAutoScaleConfiguration, self).__init__(**kwargs) - self.bounds = bounds diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_gateway_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_gateway_py3.py deleted file mode 100644 index 9154f326ddc..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_gateway_py3.py +++ /dev/null @@ -1,80 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .resource_py3 import Resource - - -class ExpressRouteGateway(Resource): - """ExpressRoute gateway resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param auto_scale_configuration: Configuration for auto scaling. - :type auto_scale_configuration: - ~azure.mgmt.network.v2018_08_01.models.ExpressRouteGatewayPropertiesAutoScaleConfiguration - :ivar express_route_connections: List of ExpressRoute connections to the - ExpressRoute gateway. - :vartype express_route_connections: - list[~azure.mgmt.network.v2018_08_01.models.ExpressRouteConnection] - :ivar provisioning_state: The provisioning state of the resource. Possible - values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2018_08_01.models.ProvisioningState - :param virtual_hub: Required. The Virtual Hub where the ExpressRoute - gateway is or will be deployed. - :type virtual_hub: ~azure.mgmt.network.v2018_08_01.models.VirtualHubId - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'express_route_connections': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'virtual_hub': {'required': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'auto_scale_configuration': {'key': 'properties.autoScaleConfiguration', 'type': 'ExpressRouteGatewayPropertiesAutoScaleConfiguration'}, - 'express_route_connections': {'key': 'properties.expressRouteConnections', 'type': '[ExpressRouteConnection]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'virtual_hub': {'key': 'properties.virtualHub', 'type': 'VirtualHubId'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, virtual_hub, id: str=None, location: str=None, tags=None, auto_scale_configuration=None, **kwargs) -> None: - super(ExpressRouteGateway, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.auto_scale_configuration = auto_scale_configuration - self.express_route_connections = None - self.provisioning_state = None - self.virtual_hub = virtual_hub - self.etag = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_service_provider.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_service_provider.py deleted file mode 100644 index 03c61d0ecac..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_service_provider.py +++ /dev/null @@ -1,60 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .resource import Resource - - -class ExpressRouteServiceProvider(Resource): - """A ExpressRouteResourceProvider object. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param peering_locations: Get a list of peering locations. - :type peering_locations: list[str] - :param bandwidths_offered: Gets bandwidths offered. - :type bandwidths_offered: - list[~azure.mgmt.network.v2018_08_01.models.ExpressRouteServiceProviderBandwidthsOffered] - :param provisioning_state: Gets the provisioning state of the resource. - :type provisioning_state: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'peering_locations': {'key': 'properties.peeringLocations', 'type': '[str]'}, - 'bandwidths_offered': {'key': 'properties.bandwidthsOffered', 'type': '[ExpressRouteServiceProviderBandwidthsOffered]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ExpressRouteServiceProvider, self).__init__(**kwargs) - self.peering_locations = kwargs.get('peering_locations', None) - self.bandwidths_offered = kwargs.get('bandwidths_offered', None) - self.provisioning_state = kwargs.get('provisioning_state', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_service_provider_bandwidths_offered.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_service_provider_bandwidths_offered.py deleted file mode 100644 index b27622af42d..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_service_provider_bandwidths_offered.py +++ /dev/null @@ -1,32 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ExpressRouteServiceProviderBandwidthsOffered(Model): - """Contains bandwidths offered in ExpressRouteServiceProvider resources. - - :param offer_name: The OfferName. - :type offer_name: str - :param value_in_mbps: The ValueInMbps. - :type value_in_mbps: int - """ - - _attribute_map = { - 'offer_name': {'key': 'offerName', 'type': 'str'}, - 'value_in_mbps': {'key': 'valueInMbps', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(ExpressRouteServiceProviderBandwidthsOffered, self).__init__(**kwargs) - self.offer_name = kwargs.get('offer_name', None) - self.value_in_mbps = kwargs.get('value_in_mbps', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_service_provider_bandwidths_offered_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_service_provider_bandwidths_offered_py3.py deleted file mode 100644 index 88516a0dfcf..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_service_provider_bandwidths_offered_py3.py +++ /dev/null @@ -1,32 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ExpressRouteServiceProviderBandwidthsOffered(Model): - """Contains bandwidths offered in ExpressRouteServiceProvider resources. - - :param offer_name: The OfferName. - :type offer_name: str - :param value_in_mbps: The ValueInMbps. - :type value_in_mbps: int - """ - - _attribute_map = { - 'offer_name': {'key': 'offerName', 'type': 'str'}, - 'value_in_mbps': {'key': 'valueInMbps', 'type': 'int'}, - } - - def __init__(self, *, offer_name: str=None, value_in_mbps: int=None, **kwargs) -> None: - super(ExpressRouteServiceProviderBandwidthsOffered, self).__init__(**kwargs) - self.offer_name = offer_name - self.value_in_mbps = value_in_mbps diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_service_provider_paged.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_service_provider_paged.py deleted file mode 100644 index 150daf64d45..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_service_provider_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.paging import Paged - - -class ExpressRouteServiceProviderPaged(Paged): - """ - A paging container for iterating over a list of :class:`ExpressRouteServiceProvider ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[ExpressRouteServiceProvider]'} - } - - def __init__(self, *args, **kwargs): - - super(ExpressRouteServiceProviderPaged, self).__init__(*args, **kwargs) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_service_provider_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_service_provider_py3.py deleted file mode 100644 index 8f5d0264dc8..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/express_route_service_provider_py3.py +++ /dev/null @@ -1,60 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .resource_py3 import Resource - - -class ExpressRouteServiceProvider(Resource): - """A ExpressRouteResourceProvider object. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param peering_locations: Get a list of peering locations. - :type peering_locations: list[str] - :param bandwidths_offered: Gets bandwidths offered. - :type bandwidths_offered: - list[~azure.mgmt.network.v2018_08_01.models.ExpressRouteServiceProviderBandwidthsOffered] - :param provisioning_state: Gets the provisioning state of the resource. - :type provisioning_state: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'peering_locations': {'key': 'properties.peeringLocations', 'type': '[str]'}, - 'bandwidths_offered': {'key': 'properties.bandwidthsOffered', 'type': '[ExpressRouteServiceProviderBandwidthsOffered]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, peering_locations=None, bandwidths_offered=None, provisioning_state: str=None, **kwargs) -> None: - super(ExpressRouteServiceProvider, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.peering_locations = peering_locations - self.bandwidths_offered = bandwidths_offered - self.provisioning_state = provisioning_state diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/flow_log_information.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/flow_log_information.py deleted file mode 100644 index 73a58e647e6..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/flow_log_information.py +++ /dev/null @@ -1,57 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class FlowLogInformation(Model): - """Information on the configuration of flow log and traffic analytics - (optional) . - - All required parameters must be populated in order to send to Azure. - - :param target_resource_id: Required. The ID of the resource to configure - for flow log and traffic analytics (optional) . - :type target_resource_id: str - :param storage_id: Required. ID of the storage account which is used to - store the flow log. - :type storage_id: str - :param enabled: Required. Flag to enable/disable flow logging. - :type enabled: bool - :param retention_policy: - :type retention_policy: - ~azure.mgmt.network.v2018_08_01.models.RetentionPolicyParameters - :param flow_analytics_configuration: - :type flow_analytics_configuration: - ~azure.mgmt.network.v2018_08_01.models.TrafficAnalyticsProperties - """ - - _validation = { - 'target_resource_id': {'required': True}, - 'storage_id': {'required': True}, - 'enabled': {'required': True}, - } - - _attribute_map = { - 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, - 'storage_id': {'key': 'properties.storageId', 'type': 'str'}, - 'enabled': {'key': 'properties.enabled', 'type': 'bool'}, - 'retention_policy': {'key': 'properties.retentionPolicy', 'type': 'RetentionPolicyParameters'}, - 'flow_analytics_configuration': {'key': 'flowAnalyticsConfiguration', 'type': 'TrafficAnalyticsProperties'}, - } - - def __init__(self, **kwargs): - super(FlowLogInformation, self).__init__(**kwargs) - self.target_resource_id = kwargs.get('target_resource_id', None) - self.storage_id = kwargs.get('storage_id', None) - self.enabled = kwargs.get('enabled', None) - self.retention_policy = kwargs.get('retention_policy', None) - self.flow_analytics_configuration = kwargs.get('flow_analytics_configuration', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/flow_log_information_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/flow_log_information_py3.py deleted file mode 100644 index c6179062cb7..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/flow_log_information_py3.py +++ /dev/null @@ -1,57 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class FlowLogInformation(Model): - """Information on the configuration of flow log and traffic analytics - (optional) . - - All required parameters must be populated in order to send to Azure. - - :param target_resource_id: Required. The ID of the resource to configure - for flow log and traffic analytics (optional) . - :type target_resource_id: str - :param storage_id: Required. ID of the storage account which is used to - store the flow log. - :type storage_id: str - :param enabled: Required. Flag to enable/disable flow logging. - :type enabled: bool - :param retention_policy: - :type retention_policy: - ~azure.mgmt.network.v2018_08_01.models.RetentionPolicyParameters - :param flow_analytics_configuration: - :type flow_analytics_configuration: - ~azure.mgmt.network.v2018_08_01.models.TrafficAnalyticsProperties - """ - - _validation = { - 'target_resource_id': {'required': True}, - 'storage_id': {'required': True}, - 'enabled': {'required': True}, - } - - _attribute_map = { - 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, - 'storage_id': {'key': 'properties.storageId', 'type': 'str'}, - 'enabled': {'key': 'properties.enabled', 'type': 'bool'}, - 'retention_policy': {'key': 'properties.retentionPolicy', 'type': 'RetentionPolicyParameters'}, - 'flow_analytics_configuration': {'key': 'flowAnalyticsConfiguration', 'type': 'TrafficAnalyticsProperties'}, - } - - def __init__(self, *, target_resource_id: str, storage_id: str, enabled: bool, retention_policy=None, flow_analytics_configuration=None, **kwargs) -> None: - super(FlowLogInformation, self).__init__(**kwargs) - self.target_resource_id = target_resource_id - self.storage_id = storage_id - self.enabled = enabled - self.retention_policy = retention_policy - self.flow_analytics_configuration = flow_analytics_configuration diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/flow_log_status_parameters.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/flow_log_status_parameters.py deleted file mode 100644 index 1e290526a28..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/flow_log_status_parameters.py +++ /dev/null @@ -1,36 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class FlowLogStatusParameters(Model): - """Parameters that define a resource to query flow log and traffic analytics - (optional) status. - - All required parameters must be populated in order to send to Azure. - - :param target_resource_id: Required. The target resource where getting the - flow log and traffic analytics (optional) status. - :type target_resource_id: str - """ - - _validation = { - 'target_resource_id': {'required': True}, - } - - _attribute_map = { - 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(FlowLogStatusParameters, self).__init__(**kwargs) - self.target_resource_id = kwargs.get('target_resource_id', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/flow_log_status_parameters_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/flow_log_status_parameters_py3.py deleted file mode 100644 index 89d079fdb71..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/flow_log_status_parameters_py3.py +++ /dev/null @@ -1,36 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class FlowLogStatusParameters(Model): - """Parameters that define a resource to query flow log and traffic analytics - (optional) status. - - All required parameters must be populated in order to send to Azure. - - :param target_resource_id: Required. The target resource where getting the - flow log and traffic analytics (optional) status. - :type target_resource_id: str - """ - - _validation = { - 'target_resource_id': {'required': True}, - } - - _attribute_map = { - 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, - } - - def __init__(self, *, target_resource_id: str, **kwargs) -> None: - super(FlowLogStatusParameters, self).__init__(**kwargs) - self.target_resource_id = target_resource_id diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/frontend_ip_configuration.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/frontend_ip_configuration.py deleted file mode 100644 index b501d663e8d..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/frontend_ip_configuration.py +++ /dev/null @@ -1,105 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource import SubResource - - -class FrontendIPConfiguration(SubResource): - """Frontend IP address of the load balancer. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar inbound_nat_rules: Read only. Inbound rules URIs that use this - frontend IP. - :vartype inbound_nat_rules: - list[~azure.mgmt.network.v2018_08_01.models.SubResource] - :ivar inbound_nat_pools: Read only. Inbound pools URIs that use this - frontend IP. - :vartype inbound_nat_pools: - list[~azure.mgmt.network.v2018_08_01.models.SubResource] - :ivar outbound_rules: Read only. Outbound rules URIs that use this - frontend IP. - :vartype outbound_rules: - list[~azure.mgmt.network.v2018_08_01.models.SubResource] - :ivar load_balancing_rules: Gets load balancing rules URIs that use this - frontend IP. - :vartype load_balancing_rules: - list[~azure.mgmt.network.v2018_08_01.models.SubResource] - :param private_ip_address: The private IP address of the IP configuration. - :type private_ip_address: str - :param private_ip_allocation_method: The Private IP allocation method. - Possible values are: 'Static' and 'Dynamic'. Possible values include: - 'Static', 'Dynamic' - :type private_ip_allocation_method: str or - ~azure.mgmt.network.v2018_08_01.models.IPAllocationMethod - :param subnet: The reference of the subnet resource. - :type subnet: ~azure.mgmt.network.v2018_08_01.models.Subnet - :param public_ip_address: The reference of the Public IP resource. - :type public_ip_address: - ~azure.mgmt.network.v2018_08_01.models.PublicIPAddress - :param public_ip_prefix: The reference of the Public IP Prefix resource. - :type public_ip_prefix: ~azure.mgmt.network.v2018_08_01.models.SubResource - :param provisioning_state: Gets the provisioning state of the public IP - resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - :type provisioning_state: str - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - :param zones: A list of availability zones denoting the IP allocated for - the resource needs to come from. - :type zones: list[str] - """ - - _validation = { - 'inbound_nat_rules': {'readonly': True}, - 'inbound_nat_pools': {'readonly': True}, - 'outbound_rules': {'readonly': True}, - 'load_balancing_rules': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'inbound_nat_rules': {'key': 'properties.inboundNatRules', 'type': '[SubResource]'}, - 'inbound_nat_pools': {'key': 'properties.inboundNatPools', 'type': '[SubResource]'}, - 'outbound_rules': {'key': 'properties.outboundRules', 'type': '[SubResource]'}, - 'load_balancing_rules': {'key': 'properties.loadBalancingRules', 'type': '[SubResource]'}, - 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, - 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, - 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, - 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'PublicIPAddress'}, - 'public_ip_prefix': {'key': 'properties.publicIPPrefix', 'type': 'SubResource'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'zones': {'key': 'zones', 'type': '[str]'}, - } - - def __init__(self, **kwargs): - super(FrontendIPConfiguration, self).__init__(**kwargs) - self.inbound_nat_rules = None - self.inbound_nat_pools = None - self.outbound_rules = None - self.load_balancing_rules = None - self.private_ip_address = kwargs.get('private_ip_address', None) - self.private_ip_allocation_method = kwargs.get('private_ip_allocation_method', None) - self.subnet = kwargs.get('subnet', None) - self.public_ip_address = kwargs.get('public_ip_address', None) - self.public_ip_prefix = kwargs.get('public_ip_prefix', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.name = kwargs.get('name', None) - self.etag = kwargs.get('etag', None) - self.zones = kwargs.get('zones', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/frontend_ip_configuration_paged.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/frontend_ip_configuration_paged.py deleted file mode 100644 index a67761020fa..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/frontend_ip_configuration_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.paging import Paged - - -class FrontendIPConfigurationPaged(Paged): - """ - A paging container for iterating over a list of :class:`FrontendIPConfiguration ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[FrontendIPConfiguration]'} - } - - def __init__(self, *args, **kwargs): - - super(FrontendIPConfigurationPaged, self).__init__(*args, **kwargs) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/frontend_ip_configuration_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/frontend_ip_configuration_py3.py deleted file mode 100644 index 4afe321bd40..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/frontend_ip_configuration_py3.py +++ /dev/null @@ -1,105 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource_py3 import SubResource - - -class FrontendIPConfiguration(SubResource): - """Frontend IP address of the load balancer. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar inbound_nat_rules: Read only. Inbound rules URIs that use this - frontend IP. - :vartype inbound_nat_rules: - list[~azure.mgmt.network.v2018_08_01.models.SubResource] - :ivar inbound_nat_pools: Read only. Inbound pools URIs that use this - frontend IP. - :vartype inbound_nat_pools: - list[~azure.mgmt.network.v2018_08_01.models.SubResource] - :ivar outbound_rules: Read only. Outbound rules URIs that use this - frontend IP. - :vartype outbound_rules: - list[~azure.mgmt.network.v2018_08_01.models.SubResource] - :ivar load_balancing_rules: Gets load balancing rules URIs that use this - frontend IP. - :vartype load_balancing_rules: - list[~azure.mgmt.network.v2018_08_01.models.SubResource] - :param private_ip_address: The private IP address of the IP configuration. - :type private_ip_address: str - :param private_ip_allocation_method: The Private IP allocation method. - Possible values are: 'Static' and 'Dynamic'. Possible values include: - 'Static', 'Dynamic' - :type private_ip_allocation_method: str or - ~azure.mgmt.network.v2018_08_01.models.IPAllocationMethod - :param subnet: The reference of the subnet resource. - :type subnet: ~azure.mgmt.network.v2018_08_01.models.Subnet - :param public_ip_address: The reference of the Public IP resource. - :type public_ip_address: - ~azure.mgmt.network.v2018_08_01.models.PublicIPAddress - :param public_ip_prefix: The reference of the Public IP Prefix resource. - :type public_ip_prefix: ~azure.mgmt.network.v2018_08_01.models.SubResource - :param provisioning_state: Gets the provisioning state of the public IP - resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - :type provisioning_state: str - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - :param zones: A list of availability zones denoting the IP allocated for - the resource needs to come from. - :type zones: list[str] - """ - - _validation = { - 'inbound_nat_rules': {'readonly': True}, - 'inbound_nat_pools': {'readonly': True}, - 'outbound_rules': {'readonly': True}, - 'load_balancing_rules': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'inbound_nat_rules': {'key': 'properties.inboundNatRules', 'type': '[SubResource]'}, - 'inbound_nat_pools': {'key': 'properties.inboundNatPools', 'type': '[SubResource]'}, - 'outbound_rules': {'key': 'properties.outboundRules', 'type': '[SubResource]'}, - 'load_balancing_rules': {'key': 'properties.loadBalancingRules', 'type': '[SubResource]'}, - 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, - 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, - 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, - 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'PublicIPAddress'}, - 'public_ip_prefix': {'key': 'properties.publicIPPrefix', 'type': 'SubResource'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'zones': {'key': 'zones', 'type': '[str]'}, - } - - def __init__(self, *, id: str=None, private_ip_address: str=None, private_ip_allocation_method=None, subnet=None, public_ip_address=None, public_ip_prefix=None, provisioning_state: str=None, name: str=None, etag: str=None, zones=None, **kwargs) -> None: - super(FrontendIPConfiguration, self).__init__(id=id, **kwargs) - self.inbound_nat_rules = None - self.inbound_nat_pools = None - self.outbound_rules = None - self.load_balancing_rules = None - self.private_ip_address = private_ip_address - self.private_ip_allocation_method = private_ip_allocation_method - self.subnet = subnet - self.public_ip_address = public_ip_address - self.public_ip_prefix = public_ip_prefix - self.provisioning_state = provisioning_state - self.name = name - self.etag = etag - self.zones = zones diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/gateway_route.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/gateway_route.py deleted file mode 100644 index 0b96cb661e7..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/gateway_route.py +++ /dev/null @@ -1,65 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class GatewayRoute(Model): - """Gateway routing details. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar local_address: The gateway's local address - :vartype local_address: str - :ivar network: The route's network prefix - :vartype network: str - :ivar next_hop: The route's next hop - :vartype next_hop: str - :ivar source_peer: The peer this route was learned from - :vartype source_peer: str - :ivar origin: The source this route was learned from - :vartype origin: str - :ivar as_path: The route's AS path sequence - :vartype as_path: str - :ivar weight: The route's weight - :vartype weight: int - """ - - _validation = { - 'local_address': {'readonly': True}, - 'network': {'readonly': True}, - 'next_hop': {'readonly': True}, - 'source_peer': {'readonly': True}, - 'origin': {'readonly': True}, - 'as_path': {'readonly': True}, - 'weight': {'readonly': True}, - } - - _attribute_map = { - 'local_address': {'key': 'localAddress', 'type': 'str'}, - 'network': {'key': 'network', 'type': 'str'}, - 'next_hop': {'key': 'nextHop', 'type': 'str'}, - 'source_peer': {'key': 'sourcePeer', 'type': 'str'}, - 'origin': {'key': 'origin', 'type': 'str'}, - 'as_path': {'key': 'asPath', 'type': 'str'}, - 'weight': {'key': 'weight', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(GatewayRoute, self).__init__(**kwargs) - self.local_address = None - self.network = None - self.next_hop = None - self.source_peer = None - self.origin = None - self.as_path = None - self.weight = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/gateway_route_list_result.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/gateway_route_list_result.py deleted file mode 100644 index 14eba8e631e..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/gateway_route_list_result.py +++ /dev/null @@ -1,28 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class GatewayRouteListResult(Model): - """List of virtual network gateway routes. - - :param value: List of gateway routes - :type value: list[~azure.mgmt.network.v2018_08_01.models.GatewayRoute] - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[GatewayRoute]'}, - } - - def __init__(self, **kwargs): - super(GatewayRouteListResult, self).__init__(**kwargs) - self.value = kwargs.get('value', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/gateway_route_list_result_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/gateway_route_list_result_py3.py deleted file mode 100644 index db8b7be2767..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/gateway_route_list_result_py3.py +++ /dev/null @@ -1,28 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class GatewayRouteListResult(Model): - """List of virtual network gateway routes. - - :param value: List of gateway routes - :type value: list[~azure.mgmt.network.v2018_08_01.models.GatewayRoute] - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[GatewayRoute]'}, - } - - def __init__(self, *, value=None, **kwargs) -> None: - super(GatewayRouteListResult, self).__init__(**kwargs) - self.value = value diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/gateway_route_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/gateway_route_py3.py deleted file mode 100644 index 1aa3ba60605..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/gateway_route_py3.py +++ /dev/null @@ -1,65 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class GatewayRoute(Model): - """Gateway routing details. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar local_address: The gateway's local address - :vartype local_address: str - :ivar network: The route's network prefix - :vartype network: str - :ivar next_hop: The route's next hop - :vartype next_hop: str - :ivar source_peer: The peer this route was learned from - :vartype source_peer: str - :ivar origin: The source this route was learned from - :vartype origin: str - :ivar as_path: The route's AS path sequence - :vartype as_path: str - :ivar weight: The route's weight - :vartype weight: int - """ - - _validation = { - 'local_address': {'readonly': True}, - 'network': {'readonly': True}, - 'next_hop': {'readonly': True}, - 'source_peer': {'readonly': True}, - 'origin': {'readonly': True}, - 'as_path': {'readonly': True}, - 'weight': {'readonly': True}, - } - - _attribute_map = { - 'local_address': {'key': 'localAddress', 'type': 'str'}, - 'network': {'key': 'network', 'type': 'str'}, - 'next_hop': {'key': 'nextHop', 'type': 'str'}, - 'source_peer': {'key': 'sourcePeer', 'type': 'str'}, - 'origin': {'key': 'origin', 'type': 'str'}, - 'as_path': {'key': 'asPath', 'type': 'str'}, - 'weight': {'key': 'weight', 'type': 'int'}, - } - - def __init__(self, **kwargs) -> None: - super(GatewayRoute, self).__init__(**kwargs) - self.local_address = None - self.network = None - self.next_hop = None - self.source_peer = None - self.origin = None - self.as_path = None - self.weight = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/get_vpn_sites_configuration_request.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/get_vpn_sites_configuration_request.py deleted file mode 100644 index 7c8732192d6..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/get_vpn_sites_configuration_request.py +++ /dev/null @@ -1,34 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class GetVpnSitesConfigurationRequest(Model): - """List of Vpn-Sites. - - :param vpn_sites: List of resource-ids of the vpn-sites for which config - is to be downloaded. - :type vpn_sites: list[str] - :param output_blob_sas_url: The sas-url to download the configurations for - vpn-sites - :type output_blob_sas_url: str - """ - - _attribute_map = { - 'vpn_sites': {'key': 'vpnSites', 'type': '[str]'}, - 'output_blob_sas_url': {'key': 'outputBlobSasUrl', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(GetVpnSitesConfigurationRequest, self).__init__(**kwargs) - self.vpn_sites = kwargs.get('vpn_sites', None) - self.output_blob_sas_url = kwargs.get('output_blob_sas_url', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/get_vpn_sites_configuration_request_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/get_vpn_sites_configuration_request_py3.py deleted file mode 100644 index f15efad67f0..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/get_vpn_sites_configuration_request_py3.py +++ /dev/null @@ -1,34 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class GetVpnSitesConfigurationRequest(Model): - """List of Vpn-Sites. - - :param vpn_sites: List of resource-ids of the vpn-sites for which config - is to be downloaded. - :type vpn_sites: list[str] - :param output_blob_sas_url: The sas-url to download the configurations for - vpn-sites - :type output_blob_sas_url: str - """ - - _attribute_map = { - 'vpn_sites': {'key': 'vpnSites', 'type': '[str]'}, - 'output_blob_sas_url': {'key': 'outputBlobSasUrl', 'type': 'str'}, - } - - def __init__(self, *, vpn_sites=None, output_blob_sas_url: str=None, **kwargs) -> None: - super(GetVpnSitesConfigurationRequest, self).__init__(**kwargs) - self.vpn_sites = vpn_sites - self.output_blob_sas_url = output_blob_sas_url diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/http_configuration.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/http_configuration.py deleted file mode 100644 index d014609162c..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/http_configuration.py +++ /dev/null @@ -1,36 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class HTTPConfiguration(Model): - """HTTP configuration of the connectivity check. - - :param method: HTTP method. Possible values include: 'Get' - :type method: str or ~azure.mgmt.network.v2018_08_01.models.HTTPMethod - :param headers: List of HTTP headers. - :type headers: list[~azure.mgmt.network.v2018_08_01.models.HTTPHeader] - :param valid_status_codes: Valid status codes. - :type valid_status_codes: list[int] - """ - - _attribute_map = { - 'method': {'key': 'method', 'type': 'str'}, - 'headers': {'key': 'headers', 'type': '[HTTPHeader]'}, - 'valid_status_codes': {'key': 'validStatusCodes', 'type': '[int]'}, - } - - def __init__(self, **kwargs): - super(HTTPConfiguration, self).__init__(**kwargs) - self.method = kwargs.get('method', None) - self.headers = kwargs.get('headers', None) - self.valid_status_codes = kwargs.get('valid_status_codes', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/http_configuration_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/http_configuration_py3.py deleted file mode 100644 index 0c0f7929b76..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/http_configuration_py3.py +++ /dev/null @@ -1,36 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class HTTPConfiguration(Model): - """HTTP configuration of the connectivity check. - - :param method: HTTP method. Possible values include: 'Get' - :type method: str or ~azure.mgmt.network.v2018_08_01.models.HTTPMethod - :param headers: List of HTTP headers. - :type headers: list[~azure.mgmt.network.v2018_08_01.models.HTTPHeader] - :param valid_status_codes: Valid status codes. - :type valid_status_codes: list[int] - """ - - _attribute_map = { - 'method': {'key': 'method', 'type': 'str'}, - 'headers': {'key': 'headers', 'type': '[HTTPHeader]'}, - 'valid_status_codes': {'key': 'validStatusCodes', 'type': '[int]'}, - } - - def __init__(self, *, method=None, headers=None, valid_status_codes=None, **kwargs) -> None: - super(HTTPConfiguration, self).__init__(**kwargs) - self.method = method - self.headers = headers - self.valid_status_codes = valid_status_codes diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/http_header.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/http_header.py deleted file mode 100644 index 0d0a9a93cd5..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/http_header.py +++ /dev/null @@ -1,32 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class HTTPHeader(Model): - """Describes the HTTP header. - - :param name: The name in HTTP header. - :type name: str - :param value: The value in HTTP header. - :type value: str - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'value': {'key': 'value', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(HTTPHeader, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.value = kwargs.get('value', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/http_header_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/http_header_py3.py deleted file mode 100644 index 366f1a2bf68..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/http_header_py3.py +++ /dev/null @@ -1,32 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class HTTPHeader(Model): - """Describes the HTTP header. - - :param name: The name in HTTP header. - :type name: str - :param value: The value in HTTP header. - :type value: str - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'value': {'key': 'value', 'type': 'str'}, - } - - def __init__(self, *, name: str=None, value: str=None, **kwargs) -> None: - super(HTTPHeader, self).__init__(**kwargs) - self.name = name - self.value = value diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/hub_virtual_network_connection.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/hub_virtual_network_connection.py deleted file mode 100644 index 946fa5bc42a..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/hub_virtual_network_connection.py +++ /dev/null @@ -1,69 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource import SubResource - - -class HubVirtualNetworkConnection(SubResource): - """HubVirtualNetworkConnection Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param remote_virtual_network: Reference to the remote virtual network. - :type remote_virtual_network: - ~azure.mgmt.network.v2018_08_01.models.SubResource - :param allow_hub_to_remote_vnet_transit: VirtualHub to RemoteVnet transit - to enabled or not. - :type allow_hub_to_remote_vnet_transit: bool - :param allow_remote_vnet_to_use_hub_vnet_gateways: Allow RemoteVnet to use - Virtual Hub's gateways. - :type allow_remote_vnet_to_use_hub_vnet_gateways: bool - :param enable_internet_security: Enable internet security - :type enable_internet_security: bool - :param provisioning_state: The provisioning state of the resource. - Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2018_08_01.models.ProvisioningState - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar etag: Gets a unique read-only string that changes whenever the - resource is updated. - :vartype etag: str - """ - - _validation = { - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'remote_virtual_network': {'key': 'properties.remoteVirtualNetwork', 'type': 'SubResource'}, - 'allow_hub_to_remote_vnet_transit': {'key': 'properties.allowHubToRemoteVnetTransit', 'type': 'bool'}, - 'allow_remote_vnet_to_use_hub_vnet_gateways': {'key': 'properties.allowRemoteVnetToUseHubVnetGateways', 'type': 'bool'}, - 'enable_internet_security': {'key': 'properties.enableInternetSecurity', 'type': 'bool'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(HubVirtualNetworkConnection, self).__init__(**kwargs) - self.remote_virtual_network = kwargs.get('remote_virtual_network', None) - self.allow_hub_to_remote_vnet_transit = kwargs.get('allow_hub_to_remote_vnet_transit', None) - self.allow_remote_vnet_to_use_hub_vnet_gateways = kwargs.get('allow_remote_vnet_to_use_hub_vnet_gateways', None) - self.enable_internet_security = kwargs.get('enable_internet_security', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.name = kwargs.get('name', None) - self.etag = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/hub_virtual_network_connection_paged.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/hub_virtual_network_connection_paged.py deleted file mode 100644 index f14680e0a98..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/hub_virtual_network_connection_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.paging import Paged - - -class HubVirtualNetworkConnectionPaged(Paged): - """ - A paging container for iterating over a list of :class:`HubVirtualNetworkConnection ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[HubVirtualNetworkConnection]'} - } - - def __init__(self, *args, **kwargs): - - super(HubVirtualNetworkConnectionPaged, self).__init__(*args, **kwargs) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/hub_virtual_network_connection_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/hub_virtual_network_connection_py3.py deleted file mode 100644 index d822fbb4303..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/hub_virtual_network_connection_py3.py +++ /dev/null @@ -1,69 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource_py3 import SubResource - - -class HubVirtualNetworkConnection(SubResource): - """HubVirtualNetworkConnection Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param remote_virtual_network: Reference to the remote virtual network. - :type remote_virtual_network: - ~azure.mgmt.network.v2018_08_01.models.SubResource - :param allow_hub_to_remote_vnet_transit: VirtualHub to RemoteVnet transit - to enabled or not. - :type allow_hub_to_remote_vnet_transit: bool - :param allow_remote_vnet_to_use_hub_vnet_gateways: Allow RemoteVnet to use - Virtual Hub's gateways. - :type allow_remote_vnet_to_use_hub_vnet_gateways: bool - :param enable_internet_security: Enable internet security - :type enable_internet_security: bool - :param provisioning_state: The provisioning state of the resource. - Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2018_08_01.models.ProvisioningState - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar etag: Gets a unique read-only string that changes whenever the - resource is updated. - :vartype etag: str - """ - - _validation = { - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'remote_virtual_network': {'key': 'properties.remoteVirtualNetwork', 'type': 'SubResource'}, - 'allow_hub_to_remote_vnet_transit': {'key': 'properties.allowHubToRemoteVnetTransit', 'type': 'bool'}, - 'allow_remote_vnet_to_use_hub_vnet_gateways': {'key': 'properties.allowRemoteVnetToUseHubVnetGateways', 'type': 'bool'}, - 'enable_internet_security': {'key': 'properties.enableInternetSecurity', 'type': 'bool'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, remote_virtual_network=None, allow_hub_to_remote_vnet_transit: bool=None, allow_remote_vnet_to_use_hub_vnet_gateways: bool=None, enable_internet_security: bool=None, provisioning_state=None, name: str=None, **kwargs) -> None: - super(HubVirtualNetworkConnection, self).__init__(id=id, **kwargs) - self.remote_virtual_network = remote_virtual_network - self.allow_hub_to_remote_vnet_transit = allow_hub_to_remote_vnet_transit - self.allow_remote_vnet_to_use_hub_vnet_gateways = allow_remote_vnet_to_use_hub_vnet_gateways - self.enable_internet_security = enable_internet_security - self.provisioning_state = provisioning_state - self.name = name - self.etag = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/inbound_nat_pool.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/inbound_nat_pool.py deleted file mode 100644 index 3df1ecb41a8..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/inbound_nat_pool.py +++ /dev/null @@ -1,100 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource import SubResource - - -class InboundNatPool(SubResource): - """Inbound NAT pool of the load balancer. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :param frontend_ip_configuration: A reference to frontend IP addresses. - :type frontend_ip_configuration: - ~azure.mgmt.network.v2018_08_01.models.SubResource - :param protocol: Required. Possible values include: 'Udp', 'Tcp', 'All' - :type protocol: str or - ~azure.mgmt.network.v2018_08_01.models.TransportProtocol - :param frontend_port_range_start: Required. The first port number in the - range of external ports that will be used to provide Inbound Nat to NICs - associated with a load balancer. Acceptable values range between 1 and - 65534. - :type frontend_port_range_start: int - :param frontend_port_range_end: Required. The last port number in the - range of external ports that will be used to provide Inbound Nat to NICs - associated with a load balancer. Acceptable values range between 1 and - 65535. - :type frontend_port_range_end: int - :param backend_port: Required. The port used for internal connections on - the endpoint. Acceptable values are between 1 and 65535. - :type backend_port: int - :param idle_timeout_in_minutes: The timeout for the TCP idle connection. - The value can be set between 4 and 30 minutes. The default value is 4 - minutes. This element is only used when the protocol is set to TCP. - :type idle_timeout_in_minutes: int - :param enable_floating_ip: Configures a virtual machine's endpoint for the - floating IP capability required to configure a SQL AlwaysOn Availability - Group. This setting is required when using the SQL AlwaysOn Availability - Groups in SQL server. This setting can't be changed after you create the - endpoint. - :type enable_floating_ip: bool - :param enable_tcp_reset: Receive bidirectional TCP Reset on TCP flow idle - timeout or unexpected connection termination. This element is only used - when the protocol is set to TCP. - :type enable_tcp_reset: bool - :param provisioning_state: Gets the provisioning state of the PublicIP - resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - :type provisioning_state: str - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'protocol': {'required': True}, - 'frontend_port_range_start': {'required': True}, - 'frontend_port_range_end': {'required': True}, - 'backend_port': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'frontend_ip_configuration': {'key': 'properties.frontendIPConfiguration', 'type': 'SubResource'}, - 'protocol': {'key': 'properties.protocol', 'type': 'str'}, - 'frontend_port_range_start': {'key': 'properties.frontendPortRangeStart', 'type': 'int'}, - 'frontend_port_range_end': {'key': 'properties.frontendPortRangeEnd', 'type': 'int'}, - 'backend_port': {'key': 'properties.backendPort', 'type': 'int'}, - 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, - 'enable_floating_ip': {'key': 'properties.enableFloatingIP', 'type': 'bool'}, - 'enable_tcp_reset': {'key': 'properties.enableTcpReset', 'type': 'bool'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(InboundNatPool, self).__init__(**kwargs) - self.frontend_ip_configuration = kwargs.get('frontend_ip_configuration', None) - self.protocol = kwargs.get('protocol', None) - self.frontend_port_range_start = kwargs.get('frontend_port_range_start', None) - self.frontend_port_range_end = kwargs.get('frontend_port_range_end', None) - self.backend_port = kwargs.get('backend_port', None) - self.idle_timeout_in_minutes = kwargs.get('idle_timeout_in_minutes', None) - self.enable_floating_ip = kwargs.get('enable_floating_ip', None) - self.enable_tcp_reset = kwargs.get('enable_tcp_reset', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.name = kwargs.get('name', None) - self.etag = kwargs.get('etag', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/inbound_nat_pool_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/inbound_nat_pool_py3.py deleted file mode 100644 index a738f9d04c7..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/inbound_nat_pool_py3.py +++ /dev/null @@ -1,100 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource_py3 import SubResource - - -class InboundNatPool(SubResource): - """Inbound NAT pool of the load balancer. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :param frontend_ip_configuration: A reference to frontend IP addresses. - :type frontend_ip_configuration: - ~azure.mgmt.network.v2018_08_01.models.SubResource - :param protocol: Required. Possible values include: 'Udp', 'Tcp', 'All' - :type protocol: str or - ~azure.mgmt.network.v2018_08_01.models.TransportProtocol - :param frontend_port_range_start: Required. The first port number in the - range of external ports that will be used to provide Inbound Nat to NICs - associated with a load balancer. Acceptable values range between 1 and - 65534. - :type frontend_port_range_start: int - :param frontend_port_range_end: Required. The last port number in the - range of external ports that will be used to provide Inbound Nat to NICs - associated with a load balancer. Acceptable values range between 1 and - 65535. - :type frontend_port_range_end: int - :param backend_port: Required. The port used for internal connections on - the endpoint. Acceptable values are between 1 and 65535. - :type backend_port: int - :param idle_timeout_in_minutes: The timeout for the TCP idle connection. - The value can be set between 4 and 30 minutes. The default value is 4 - minutes. This element is only used when the protocol is set to TCP. - :type idle_timeout_in_minutes: int - :param enable_floating_ip: Configures a virtual machine's endpoint for the - floating IP capability required to configure a SQL AlwaysOn Availability - Group. This setting is required when using the SQL AlwaysOn Availability - Groups in SQL server. This setting can't be changed after you create the - endpoint. - :type enable_floating_ip: bool - :param enable_tcp_reset: Receive bidirectional TCP Reset on TCP flow idle - timeout or unexpected connection termination. This element is only used - when the protocol is set to TCP. - :type enable_tcp_reset: bool - :param provisioning_state: Gets the provisioning state of the PublicIP - resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - :type provisioning_state: str - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'protocol': {'required': True}, - 'frontend_port_range_start': {'required': True}, - 'frontend_port_range_end': {'required': True}, - 'backend_port': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'frontend_ip_configuration': {'key': 'properties.frontendIPConfiguration', 'type': 'SubResource'}, - 'protocol': {'key': 'properties.protocol', 'type': 'str'}, - 'frontend_port_range_start': {'key': 'properties.frontendPortRangeStart', 'type': 'int'}, - 'frontend_port_range_end': {'key': 'properties.frontendPortRangeEnd', 'type': 'int'}, - 'backend_port': {'key': 'properties.backendPort', 'type': 'int'}, - 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, - 'enable_floating_ip': {'key': 'properties.enableFloatingIP', 'type': 'bool'}, - 'enable_tcp_reset': {'key': 'properties.enableTcpReset', 'type': 'bool'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, protocol, frontend_port_range_start: int, frontend_port_range_end: int, backend_port: int, id: str=None, frontend_ip_configuration=None, idle_timeout_in_minutes: int=None, enable_floating_ip: bool=None, enable_tcp_reset: bool=None, provisioning_state: str=None, name: str=None, etag: str=None, **kwargs) -> None: - super(InboundNatPool, self).__init__(id=id, **kwargs) - self.frontend_ip_configuration = frontend_ip_configuration - self.protocol = protocol - self.frontend_port_range_start = frontend_port_range_start - self.frontend_port_range_end = frontend_port_range_end - self.backend_port = backend_port - self.idle_timeout_in_minutes = idle_timeout_in_minutes - self.enable_floating_ip = enable_floating_ip - self.enable_tcp_reset = enable_tcp_reset - self.provisioning_state = provisioning_state - self.name = name - self.etag = etag diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/inbound_nat_rule.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/inbound_nat_rule.py deleted file mode 100644 index 471ac027b30..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/inbound_nat_rule.py +++ /dev/null @@ -1,97 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource import SubResource - - -class InboundNatRule(SubResource): - """Inbound NAT rule of the load balancer. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param frontend_ip_configuration: A reference to frontend IP addresses. - :type frontend_ip_configuration: - ~azure.mgmt.network.v2018_08_01.models.SubResource - :ivar backend_ip_configuration: A reference to a private IP address - defined on a network interface of a VM. Traffic sent to the frontend port - of each of the frontend IP configurations is forwarded to the backend IP. - :vartype backend_ip_configuration: - ~azure.mgmt.network.v2018_08_01.models.NetworkInterfaceIPConfiguration - :param protocol: Possible values include: 'Udp', 'Tcp', 'All' - :type protocol: str or - ~azure.mgmt.network.v2018_08_01.models.TransportProtocol - :param frontend_port: The port for the external endpoint. Port numbers for - each rule must be unique within the Load Balancer. Acceptable values range - from 1 to 65534. - :type frontend_port: int - :param backend_port: The port used for the internal endpoint. Acceptable - values range from 1 to 65535. - :type backend_port: int - :param idle_timeout_in_minutes: The timeout for the TCP idle connection. - The value can be set between 4 and 30 minutes. The default value is 4 - minutes. This element is only used when the protocol is set to TCP. - :type idle_timeout_in_minutes: int - :param enable_floating_ip: Configures a virtual machine's endpoint for the - floating IP capability required to configure a SQL AlwaysOn Availability - Group. This setting is required when using the SQL AlwaysOn Availability - Groups in SQL server. This setting can't be changed after you create the - endpoint. - :type enable_floating_ip: bool - :param enable_tcp_reset: Receive bidirectional TCP Reset on TCP flow idle - timeout or unexpected connection termination. This element is only used - when the protocol is set to TCP. - :type enable_tcp_reset: bool - :param provisioning_state: Gets the provisioning state of the public IP - resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - :type provisioning_state: str - :param name: Gets name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'backend_ip_configuration': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'frontend_ip_configuration': {'key': 'properties.frontendIPConfiguration', 'type': 'SubResource'}, - 'backend_ip_configuration': {'key': 'properties.backendIPConfiguration', 'type': 'NetworkInterfaceIPConfiguration'}, - 'protocol': {'key': 'properties.protocol', 'type': 'str'}, - 'frontend_port': {'key': 'properties.frontendPort', 'type': 'int'}, - 'backend_port': {'key': 'properties.backendPort', 'type': 'int'}, - 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, - 'enable_floating_ip': {'key': 'properties.enableFloatingIP', 'type': 'bool'}, - 'enable_tcp_reset': {'key': 'properties.enableTcpReset', 'type': 'bool'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(InboundNatRule, self).__init__(**kwargs) - self.frontend_ip_configuration = kwargs.get('frontend_ip_configuration', None) - self.backend_ip_configuration = None - self.protocol = kwargs.get('protocol', None) - self.frontend_port = kwargs.get('frontend_port', None) - self.backend_port = kwargs.get('backend_port', None) - self.idle_timeout_in_minutes = kwargs.get('idle_timeout_in_minutes', None) - self.enable_floating_ip = kwargs.get('enable_floating_ip', None) - self.enable_tcp_reset = kwargs.get('enable_tcp_reset', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.name = kwargs.get('name', None) - self.etag = kwargs.get('etag', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/inbound_nat_rule_paged.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/inbound_nat_rule_paged.py deleted file mode 100644 index 29d47d96b76..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/inbound_nat_rule_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.paging import Paged - - -class InboundNatRulePaged(Paged): - """ - A paging container for iterating over a list of :class:`InboundNatRule ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[InboundNatRule]'} - } - - def __init__(self, *args, **kwargs): - - super(InboundNatRulePaged, self).__init__(*args, **kwargs) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/inbound_nat_rule_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/inbound_nat_rule_py3.py deleted file mode 100644 index 635978451ad..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/inbound_nat_rule_py3.py +++ /dev/null @@ -1,97 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource_py3 import SubResource - - -class InboundNatRule(SubResource): - """Inbound NAT rule of the load balancer. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param frontend_ip_configuration: A reference to frontend IP addresses. - :type frontend_ip_configuration: - ~azure.mgmt.network.v2018_08_01.models.SubResource - :ivar backend_ip_configuration: A reference to a private IP address - defined on a network interface of a VM. Traffic sent to the frontend port - of each of the frontend IP configurations is forwarded to the backend IP. - :vartype backend_ip_configuration: - ~azure.mgmt.network.v2018_08_01.models.NetworkInterfaceIPConfiguration - :param protocol: Possible values include: 'Udp', 'Tcp', 'All' - :type protocol: str or - ~azure.mgmt.network.v2018_08_01.models.TransportProtocol - :param frontend_port: The port for the external endpoint. Port numbers for - each rule must be unique within the Load Balancer. Acceptable values range - from 1 to 65534. - :type frontend_port: int - :param backend_port: The port used for the internal endpoint. Acceptable - values range from 1 to 65535. - :type backend_port: int - :param idle_timeout_in_minutes: The timeout for the TCP idle connection. - The value can be set between 4 and 30 minutes. The default value is 4 - minutes. This element is only used when the protocol is set to TCP. - :type idle_timeout_in_minutes: int - :param enable_floating_ip: Configures a virtual machine's endpoint for the - floating IP capability required to configure a SQL AlwaysOn Availability - Group. This setting is required when using the SQL AlwaysOn Availability - Groups in SQL server. This setting can't be changed after you create the - endpoint. - :type enable_floating_ip: bool - :param enable_tcp_reset: Receive bidirectional TCP Reset on TCP flow idle - timeout or unexpected connection termination. This element is only used - when the protocol is set to TCP. - :type enable_tcp_reset: bool - :param provisioning_state: Gets the provisioning state of the public IP - resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - :type provisioning_state: str - :param name: Gets name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'backend_ip_configuration': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'frontend_ip_configuration': {'key': 'properties.frontendIPConfiguration', 'type': 'SubResource'}, - 'backend_ip_configuration': {'key': 'properties.backendIPConfiguration', 'type': 'NetworkInterfaceIPConfiguration'}, - 'protocol': {'key': 'properties.protocol', 'type': 'str'}, - 'frontend_port': {'key': 'properties.frontendPort', 'type': 'int'}, - 'backend_port': {'key': 'properties.backendPort', 'type': 'int'}, - 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, - 'enable_floating_ip': {'key': 'properties.enableFloatingIP', 'type': 'bool'}, - 'enable_tcp_reset': {'key': 'properties.enableTcpReset', 'type': 'bool'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, frontend_ip_configuration=None, protocol=None, frontend_port: int=None, backend_port: int=None, idle_timeout_in_minutes: int=None, enable_floating_ip: bool=None, enable_tcp_reset: bool=None, provisioning_state: str=None, name: str=None, etag: str=None, **kwargs) -> None: - super(InboundNatRule, self).__init__(id=id, **kwargs) - self.frontend_ip_configuration = frontend_ip_configuration - self.backend_ip_configuration = None - self.protocol = protocol - self.frontend_port = frontend_port - self.backend_port = backend_port - self.idle_timeout_in_minutes = idle_timeout_in_minutes - self.enable_floating_ip = enable_floating_ip - self.enable_tcp_reset = enable_tcp_reset - self.provisioning_state = provisioning_state - self.name = name - self.etag = etag diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/interface_endpoint.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/interface_endpoint.py deleted file mode 100644 index ed05bb1b903..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/interface_endpoint.py +++ /dev/null @@ -1,87 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .resource import Resource - - -class InterfaceEndpoint(Resource): - """Interface endpoint resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param fqdn: A first-party service's FQDN that is mapped to the private IP - allocated via this interface endpoint. - :type fqdn: str - :param endpoint_service: A reference to the service being brought into the - virtual network. - :type endpoint_service: - ~azure.mgmt.network.v2018_08_01.models.EndpointService - :param subnet: The ID of the subnet from which the private IP will be - allocated. - :type subnet: ~azure.mgmt.network.v2018_08_01.models.Subnet - :ivar network_interfaces: Gets an array of references to the network - interfaces created for this interface endpoint. - :vartype network_interfaces: - list[~azure.mgmt.network.v2018_08_01.models.NetworkInterface] - :ivar owner: A read-only property that identifies who created this - interface endpoint. - :vartype owner: str - :ivar provisioning_state: The provisioning state of the interface - endpoint. Possible values are: 'Updating', 'Deleting', and 'Failed'. - :vartype provisioning_state: str - :param etag: Gets a unique read-only string that changes whenever the - resource is updated. - :type etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'network_interfaces': {'readonly': True}, - 'owner': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'fqdn': {'key': 'properties.fqdn', 'type': 'str'}, - 'endpoint_service': {'key': 'properties.endpointService', 'type': 'EndpointService'}, - 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, - 'network_interfaces': {'key': 'properties.networkInterfaces', 'type': '[NetworkInterface]'}, - 'owner': {'key': 'properties.owner', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(InterfaceEndpoint, self).__init__(**kwargs) - self.fqdn = kwargs.get('fqdn', None) - self.endpoint_service = kwargs.get('endpoint_service', None) - self.subnet = kwargs.get('subnet', None) - self.network_interfaces = None - self.owner = None - self.provisioning_state = None - self.etag = kwargs.get('etag', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/interface_endpoint_paged.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/interface_endpoint_paged.py deleted file mode 100644 index 8150414b7fd..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/interface_endpoint_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.paging import Paged - - -class InterfaceEndpointPaged(Paged): - """ - A paging container for iterating over a list of :class:`InterfaceEndpoint ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[InterfaceEndpoint]'} - } - - def __init__(self, *args, **kwargs): - - super(InterfaceEndpointPaged, self).__init__(*args, **kwargs) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/interface_endpoint_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/interface_endpoint_py3.py deleted file mode 100644 index ae58dab272f..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/interface_endpoint_py3.py +++ /dev/null @@ -1,87 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .resource_py3 import Resource - - -class InterfaceEndpoint(Resource): - """Interface endpoint resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param fqdn: A first-party service's FQDN that is mapped to the private IP - allocated via this interface endpoint. - :type fqdn: str - :param endpoint_service: A reference to the service being brought into the - virtual network. - :type endpoint_service: - ~azure.mgmt.network.v2018_08_01.models.EndpointService - :param subnet: The ID of the subnet from which the private IP will be - allocated. - :type subnet: ~azure.mgmt.network.v2018_08_01.models.Subnet - :ivar network_interfaces: Gets an array of references to the network - interfaces created for this interface endpoint. - :vartype network_interfaces: - list[~azure.mgmt.network.v2018_08_01.models.NetworkInterface] - :ivar owner: A read-only property that identifies who created this - interface endpoint. - :vartype owner: str - :ivar provisioning_state: The provisioning state of the interface - endpoint. Possible values are: 'Updating', 'Deleting', and 'Failed'. - :vartype provisioning_state: str - :param etag: Gets a unique read-only string that changes whenever the - resource is updated. - :type etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'network_interfaces': {'readonly': True}, - 'owner': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'fqdn': {'key': 'properties.fqdn', 'type': 'str'}, - 'endpoint_service': {'key': 'properties.endpointService', 'type': 'EndpointService'}, - 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, - 'network_interfaces': {'key': 'properties.networkInterfaces', 'type': '[NetworkInterface]'}, - 'owner': {'key': 'properties.owner', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, fqdn: str=None, endpoint_service=None, subnet=None, etag: str=None, **kwargs) -> None: - super(InterfaceEndpoint, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.fqdn = fqdn - self.endpoint_service = endpoint_service - self.subnet = subnet - self.network_interfaces = None - self.owner = None - self.provisioning_state = None - self.etag = etag diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/ip_address_availability_result.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/ip_address_availability_result.py deleted file mode 100644 index 6bcf5227571..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/ip_address_availability_result.py +++ /dev/null @@ -1,33 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class IPAddressAvailabilityResult(Model): - """Response for CheckIPAddressAvailability API service call. - - :param available: Private IP address availability. - :type available: bool - :param available_ip_addresses: Contains other available private IP - addresses if the asked for address is taken. - :type available_ip_addresses: list[str] - """ - - _attribute_map = { - 'available': {'key': 'available', 'type': 'bool'}, - 'available_ip_addresses': {'key': 'availableIPAddresses', 'type': '[str]'}, - } - - def __init__(self, **kwargs): - super(IPAddressAvailabilityResult, self).__init__(**kwargs) - self.available = kwargs.get('available', None) - self.available_ip_addresses = kwargs.get('available_ip_addresses', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/ip_address_availability_result_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/ip_address_availability_result_py3.py deleted file mode 100644 index e5fc4340d37..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/ip_address_availability_result_py3.py +++ /dev/null @@ -1,33 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class IPAddressAvailabilityResult(Model): - """Response for CheckIPAddressAvailability API service call. - - :param available: Private IP address availability. - :type available: bool - :param available_ip_addresses: Contains other available private IP - addresses if the asked for address is taken. - :type available_ip_addresses: list[str] - """ - - _attribute_map = { - 'available': {'key': 'available', 'type': 'bool'}, - 'available_ip_addresses': {'key': 'availableIPAddresses', 'type': '[str]'}, - } - - def __init__(self, *, available: bool=None, available_ip_addresses=None, **kwargs) -> None: - super(IPAddressAvailabilityResult, self).__init__(**kwargs) - self.available = available - self.available_ip_addresses = available_ip_addresses diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/ip_configuration.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/ip_configuration.py deleted file mode 100644 index 42e29f5cfad..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/ip_configuration.py +++ /dev/null @@ -1,62 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource import SubResource - - -class IPConfiguration(SubResource): - """IP configuration. - - :param id: Resource ID. - :type id: str - :param private_ip_address: The private IP address of the IP configuration. - :type private_ip_address: str - :param private_ip_allocation_method: The private IP allocation method. - Possible values are 'Static' and 'Dynamic'. Possible values include: - 'Static', 'Dynamic' - :type private_ip_allocation_method: str or - ~azure.mgmt.network.v2018_08_01.models.IPAllocationMethod - :param subnet: The reference of the subnet resource. - :type subnet: ~azure.mgmt.network.v2018_08_01.models.Subnet - :param public_ip_address: The reference of the public IP resource. - :type public_ip_address: - ~azure.mgmt.network.v2018_08_01.models.PublicIPAddress - :param provisioning_state: Gets the provisioning state of the public IP - resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - :type provisioning_state: str - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, - 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, - 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, - 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'PublicIPAddress'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(IPConfiguration, self).__init__(**kwargs) - self.private_ip_address = kwargs.get('private_ip_address', None) - self.private_ip_allocation_method = kwargs.get('private_ip_allocation_method', None) - self.subnet = kwargs.get('subnet', None) - self.public_ip_address = kwargs.get('public_ip_address', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.name = kwargs.get('name', None) - self.etag = kwargs.get('etag', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/ip_configuration_profile.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/ip_configuration_profile.py deleted file mode 100644 index 6fdf21023fb..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/ip_configuration_profile.py +++ /dev/null @@ -1,58 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource import SubResource - - -class IPConfigurationProfile(SubResource): - """IP configuration profile child resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param subnet: The reference of the subnet resource to create a - contatainer network interface ip configruation. - :type subnet: ~azure.mgmt.network.v2018_08_01.models.Subnet - :ivar provisioning_state: The provisioning state of the resource. - :vartype provisioning_state: str - :param name: The name of the resource. This name can be used to access the - resource. - :type name: str - :ivar type: Sub Resource type. - :vartype type: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(IPConfigurationProfile, self).__init__(**kwargs) - self.subnet = kwargs.get('subnet', None) - self.provisioning_state = None - self.name = kwargs.get('name', None) - self.type = None - self.etag = kwargs.get('etag', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/ip_configuration_profile_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/ip_configuration_profile_py3.py deleted file mode 100644 index 4d6af84b55e..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/ip_configuration_profile_py3.py +++ /dev/null @@ -1,58 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource_py3 import SubResource - - -class IPConfigurationProfile(SubResource): - """IP configuration profile child resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param subnet: The reference of the subnet resource to create a - contatainer network interface ip configruation. - :type subnet: ~azure.mgmt.network.v2018_08_01.models.Subnet - :ivar provisioning_state: The provisioning state of the resource. - :vartype provisioning_state: str - :param name: The name of the resource. This name can be used to access the - resource. - :type name: str - :ivar type: Sub Resource type. - :vartype type: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, subnet=None, name: str=None, etag: str=None, **kwargs) -> None: - super(IPConfigurationProfile, self).__init__(id=id, **kwargs) - self.subnet = subnet - self.provisioning_state = None - self.name = name - self.type = None - self.etag = etag diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/ip_configuration_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/ip_configuration_py3.py deleted file mode 100644 index 1e81a11a54c..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/ip_configuration_py3.py +++ /dev/null @@ -1,62 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource_py3 import SubResource - - -class IPConfiguration(SubResource): - """IP configuration. - - :param id: Resource ID. - :type id: str - :param private_ip_address: The private IP address of the IP configuration. - :type private_ip_address: str - :param private_ip_allocation_method: The private IP allocation method. - Possible values are 'Static' and 'Dynamic'. Possible values include: - 'Static', 'Dynamic' - :type private_ip_allocation_method: str or - ~azure.mgmt.network.v2018_08_01.models.IPAllocationMethod - :param subnet: The reference of the subnet resource. - :type subnet: ~azure.mgmt.network.v2018_08_01.models.Subnet - :param public_ip_address: The reference of the public IP resource. - :type public_ip_address: - ~azure.mgmt.network.v2018_08_01.models.PublicIPAddress - :param provisioning_state: Gets the provisioning state of the public IP - resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - :type provisioning_state: str - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, - 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, - 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, - 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'PublicIPAddress'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, private_ip_address: str=None, private_ip_allocation_method=None, subnet=None, public_ip_address=None, provisioning_state: str=None, name: str=None, etag: str=None, **kwargs) -> None: - super(IPConfiguration, self).__init__(id=id, **kwargs) - self.private_ip_address = private_ip_address - self.private_ip_allocation_method = private_ip_allocation_method - self.subnet = subnet - self.public_ip_address = public_ip_address - self.provisioning_state = provisioning_state - self.name = name - self.etag = etag diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/ip_tag.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/ip_tag.py deleted file mode 100644 index 559dddc661d..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/ip_tag.py +++ /dev/null @@ -1,33 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class IpTag(Model): - """Contains the IpTag associated with the object. - - :param ip_tag_type: Gets or sets the ipTag type: Example FirstPartyUsage. - :type ip_tag_type: str - :param tag: Gets or sets value of the IpTag associated with the public IP. - Example SQL, Storage etc - :type tag: str - """ - - _attribute_map = { - 'ip_tag_type': {'key': 'ipTagType', 'type': 'str'}, - 'tag': {'key': 'tag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(IpTag, self).__init__(**kwargs) - self.ip_tag_type = kwargs.get('ip_tag_type', None) - self.tag = kwargs.get('tag', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/ip_tag_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/ip_tag_py3.py deleted file mode 100644 index 2370c408761..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/ip_tag_py3.py +++ /dev/null @@ -1,33 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class IpTag(Model): - """Contains the IpTag associated with the object. - - :param ip_tag_type: Gets or sets the ipTag type: Example FirstPartyUsage. - :type ip_tag_type: str - :param tag: Gets or sets value of the IpTag associated with the public IP. - Example SQL, Storage etc - :type tag: str - """ - - _attribute_map = { - 'ip_tag_type': {'key': 'ipTagType', 'type': 'str'}, - 'tag': {'key': 'tag', 'type': 'str'}, - } - - def __init__(self, *, ip_tag_type: str=None, tag: str=None, **kwargs) -> None: - super(IpTag, self).__init__(**kwargs) - self.ip_tag_type = ip_tag_type - self.tag = tag diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/ipsec_policy.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/ipsec_policy.py deleted file mode 100644 index 1c5c3b9289b..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/ipsec_policy.py +++ /dev/null @@ -1,89 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class IpsecPolicy(Model): - """An IPSec Policy configuration for a virtual network gateway connection. - - All required parameters must be populated in order to send to Azure. - - :param sa_life_time_seconds: Required. The IPSec Security Association - (also called Quick Mode or Phase 2 SA) lifetime in seconds for a site to - site VPN tunnel. - :type sa_life_time_seconds: int - :param sa_data_size_kilobytes: Required. The IPSec Security Association - (also called Quick Mode or Phase 2 SA) payload size in KB for a site to - site VPN tunnel. - :type sa_data_size_kilobytes: int - :param ipsec_encryption: Required. The IPSec encryption algorithm (IKE - phase 1). Possible values include: 'None', 'DES', 'DES3', 'AES128', - 'AES192', 'AES256', 'GCMAES128', 'GCMAES192', 'GCMAES256' - :type ipsec_encryption: str or - ~azure.mgmt.network.v2018_08_01.models.IpsecEncryption - :param ipsec_integrity: Required. The IPSec integrity algorithm (IKE phase - 1). Possible values include: 'MD5', 'SHA1', 'SHA256', 'GCMAES128', - 'GCMAES192', 'GCMAES256' - :type ipsec_integrity: str or - ~azure.mgmt.network.v2018_08_01.models.IpsecIntegrity - :param ike_encryption: Required. The IKE encryption algorithm (IKE phase - 2). Possible values include: 'DES', 'DES3', 'AES128', 'AES192', 'AES256', - 'GCMAES256', 'GCMAES128' - :type ike_encryption: str or - ~azure.mgmt.network.v2018_08_01.models.IkeEncryption - :param ike_integrity: Required. The IKE integrity algorithm (IKE phase 2). - Possible values include: 'MD5', 'SHA1', 'SHA256', 'SHA384', 'GCMAES256', - 'GCMAES128' - :type ike_integrity: str or - ~azure.mgmt.network.v2018_08_01.models.IkeIntegrity - :param dh_group: Required. The DH Groups used in IKE Phase 1 for initial - SA. Possible values include: 'None', 'DHGroup1', 'DHGroup2', 'DHGroup14', - 'DHGroup2048', 'ECP256', 'ECP384', 'DHGroup24' - :type dh_group: str or ~azure.mgmt.network.v2018_08_01.models.DhGroup - :param pfs_group: Required. The Pfs Groups used in IKE Phase 2 for new - child SA. Possible values include: 'None', 'PFS1', 'PFS2', 'PFS2048', - 'ECP256', 'ECP384', 'PFS24', 'PFS14', 'PFSMM' - :type pfs_group: str or ~azure.mgmt.network.v2018_08_01.models.PfsGroup - """ - - _validation = { - 'sa_life_time_seconds': {'required': True}, - 'sa_data_size_kilobytes': {'required': True}, - 'ipsec_encryption': {'required': True}, - 'ipsec_integrity': {'required': True}, - 'ike_encryption': {'required': True}, - 'ike_integrity': {'required': True}, - 'dh_group': {'required': True}, - 'pfs_group': {'required': True}, - } - - _attribute_map = { - 'sa_life_time_seconds': {'key': 'saLifeTimeSeconds', 'type': 'int'}, - 'sa_data_size_kilobytes': {'key': 'saDataSizeKilobytes', 'type': 'int'}, - 'ipsec_encryption': {'key': 'ipsecEncryption', 'type': 'str'}, - 'ipsec_integrity': {'key': 'ipsecIntegrity', 'type': 'str'}, - 'ike_encryption': {'key': 'ikeEncryption', 'type': 'str'}, - 'ike_integrity': {'key': 'ikeIntegrity', 'type': 'str'}, - 'dh_group': {'key': 'dhGroup', 'type': 'str'}, - 'pfs_group': {'key': 'pfsGroup', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(IpsecPolicy, self).__init__(**kwargs) - self.sa_life_time_seconds = kwargs.get('sa_life_time_seconds', None) - self.sa_data_size_kilobytes = kwargs.get('sa_data_size_kilobytes', None) - self.ipsec_encryption = kwargs.get('ipsec_encryption', None) - self.ipsec_integrity = kwargs.get('ipsec_integrity', None) - self.ike_encryption = kwargs.get('ike_encryption', None) - self.ike_integrity = kwargs.get('ike_integrity', None) - self.dh_group = kwargs.get('dh_group', None) - self.pfs_group = kwargs.get('pfs_group', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/ipsec_policy_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/ipsec_policy_py3.py deleted file mode 100644 index 629bf1f1031..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/ipsec_policy_py3.py +++ /dev/null @@ -1,89 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class IpsecPolicy(Model): - """An IPSec Policy configuration for a virtual network gateway connection. - - All required parameters must be populated in order to send to Azure. - - :param sa_life_time_seconds: Required. The IPSec Security Association - (also called Quick Mode or Phase 2 SA) lifetime in seconds for a site to - site VPN tunnel. - :type sa_life_time_seconds: int - :param sa_data_size_kilobytes: Required. The IPSec Security Association - (also called Quick Mode or Phase 2 SA) payload size in KB for a site to - site VPN tunnel. - :type sa_data_size_kilobytes: int - :param ipsec_encryption: Required. The IPSec encryption algorithm (IKE - phase 1). Possible values include: 'None', 'DES', 'DES3', 'AES128', - 'AES192', 'AES256', 'GCMAES128', 'GCMAES192', 'GCMAES256' - :type ipsec_encryption: str or - ~azure.mgmt.network.v2018_08_01.models.IpsecEncryption - :param ipsec_integrity: Required. The IPSec integrity algorithm (IKE phase - 1). Possible values include: 'MD5', 'SHA1', 'SHA256', 'GCMAES128', - 'GCMAES192', 'GCMAES256' - :type ipsec_integrity: str or - ~azure.mgmt.network.v2018_08_01.models.IpsecIntegrity - :param ike_encryption: Required. The IKE encryption algorithm (IKE phase - 2). Possible values include: 'DES', 'DES3', 'AES128', 'AES192', 'AES256', - 'GCMAES256', 'GCMAES128' - :type ike_encryption: str or - ~azure.mgmt.network.v2018_08_01.models.IkeEncryption - :param ike_integrity: Required. The IKE integrity algorithm (IKE phase 2). - Possible values include: 'MD5', 'SHA1', 'SHA256', 'SHA384', 'GCMAES256', - 'GCMAES128' - :type ike_integrity: str or - ~azure.mgmt.network.v2018_08_01.models.IkeIntegrity - :param dh_group: Required. The DH Groups used in IKE Phase 1 for initial - SA. Possible values include: 'None', 'DHGroup1', 'DHGroup2', 'DHGroup14', - 'DHGroup2048', 'ECP256', 'ECP384', 'DHGroup24' - :type dh_group: str or ~azure.mgmt.network.v2018_08_01.models.DhGroup - :param pfs_group: Required. The Pfs Groups used in IKE Phase 2 for new - child SA. Possible values include: 'None', 'PFS1', 'PFS2', 'PFS2048', - 'ECP256', 'ECP384', 'PFS24', 'PFS14', 'PFSMM' - :type pfs_group: str or ~azure.mgmt.network.v2018_08_01.models.PfsGroup - """ - - _validation = { - 'sa_life_time_seconds': {'required': True}, - 'sa_data_size_kilobytes': {'required': True}, - 'ipsec_encryption': {'required': True}, - 'ipsec_integrity': {'required': True}, - 'ike_encryption': {'required': True}, - 'ike_integrity': {'required': True}, - 'dh_group': {'required': True}, - 'pfs_group': {'required': True}, - } - - _attribute_map = { - 'sa_life_time_seconds': {'key': 'saLifeTimeSeconds', 'type': 'int'}, - 'sa_data_size_kilobytes': {'key': 'saDataSizeKilobytes', 'type': 'int'}, - 'ipsec_encryption': {'key': 'ipsecEncryption', 'type': 'str'}, - 'ipsec_integrity': {'key': 'ipsecIntegrity', 'type': 'str'}, - 'ike_encryption': {'key': 'ikeEncryption', 'type': 'str'}, - 'ike_integrity': {'key': 'ikeIntegrity', 'type': 'str'}, - 'dh_group': {'key': 'dhGroup', 'type': 'str'}, - 'pfs_group': {'key': 'pfsGroup', 'type': 'str'}, - } - - def __init__(self, *, sa_life_time_seconds: int, sa_data_size_kilobytes: int, ipsec_encryption, ipsec_integrity, ike_encryption, ike_integrity, dh_group, pfs_group, **kwargs) -> None: - super(IpsecPolicy, self).__init__(**kwargs) - self.sa_life_time_seconds = sa_life_time_seconds - self.sa_data_size_kilobytes = sa_data_size_kilobytes - self.ipsec_encryption = ipsec_encryption - self.ipsec_integrity = ipsec_integrity - self.ike_encryption = ike_encryption - self.ike_integrity = ike_integrity - self.dh_group = dh_group - self.pfs_group = pfs_group diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/ipv6_express_route_circuit_peering_config.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/ipv6_express_route_circuit_peering_config.py deleted file mode 100644 index 16cb3eba09b..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/ipv6_express_route_circuit_peering_config.py +++ /dev/null @@ -1,47 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class Ipv6ExpressRouteCircuitPeeringConfig(Model): - """Contains IPv6 peering config. - - :param primary_peer_address_prefix: The primary address prefix. - :type primary_peer_address_prefix: str - :param secondary_peer_address_prefix: The secondary address prefix. - :type secondary_peer_address_prefix: str - :param microsoft_peering_config: The Microsoft peering configuration. - :type microsoft_peering_config: - ~azure.mgmt.network.v2018_08_01.models.ExpressRouteCircuitPeeringConfig - :param route_filter: The reference of the RouteFilter resource. - :type route_filter: ~azure.mgmt.network.v2018_08_01.models.RouteFilter - :param state: The state of peering. Possible values are: 'Disabled' and - 'Enabled'. Possible values include: 'Disabled', 'Enabled' - :type state: str or - ~azure.mgmt.network.v2018_08_01.models.ExpressRouteCircuitPeeringState - """ - - _attribute_map = { - 'primary_peer_address_prefix': {'key': 'primaryPeerAddressPrefix', 'type': 'str'}, - 'secondary_peer_address_prefix': {'key': 'secondaryPeerAddressPrefix', 'type': 'str'}, - 'microsoft_peering_config': {'key': 'microsoftPeeringConfig', 'type': 'ExpressRouteCircuitPeeringConfig'}, - 'route_filter': {'key': 'routeFilter', 'type': 'RouteFilter'}, - 'state': {'key': 'state', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(Ipv6ExpressRouteCircuitPeeringConfig, self).__init__(**kwargs) - self.primary_peer_address_prefix = kwargs.get('primary_peer_address_prefix', None) - self.secondary_peer_address_prefix = kwargs.get('secondary_peer_address_prefix', None) - self.microsoft_peering_config = kwargs.get('microsoft_peering_config', None) - self.route_filter = kwargs.get('route_filter', None) - self.state = kwargs.get('state', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/ipv6_express_route_circuit_peering_config_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/ipv6_express_route_circuit_peering_config_py3.py deleted file mode 100644 index 01f7f85914b..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/ipv6_express_route_circuit_peering_config_py3.py +++ /dev/null @@ -1,47 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class Ipv6ExpressRouteCircuitPeeringConfig(Model): - """Contains IPv6 peering config. - - :param primary_peer_address_prefix: The primary address prefix. - :type primary_peer_address_prefix: str - :param secondary_peer_address_prefix: The secondary address prefix. - :type secondary_peer_address_prefix: str - :param microsoft_peering_config: The Microsoft peering configuration. - :type microsoft_peering_config: - ~azure.mgmt.network.v2018_08_01.models.ExpressRouteCircuitPeeringConfig - :param route_filter: The reference of the RouteFilter resource. - :type route_filter: ~azure.mgmt.network.v2018_08_01.models.RouteFilter - :param state: The state of peering. Possible values are: 'Disabled' and - 'Enabled'. Possible values include: 'Disabled', 'Enabled' - :type state: str or - ~azure.mgmt.network.v2018_08_01.models.ExpressRouteCircuitPeeringState - """ - - _attribute_map = { - 'primary_peer_address_prefix': {'key': 'primaryPeerAddressPrefix', 'type': 'str'}, - 'secondary_peer_address_prefix': {'key': 'secondaryPeerAddressPrefix', 'type': 'str'}, - 'microsoft_peering_config': {'key': 'microsoftPeeringConfig', 'type': 'ExpressRouteCircuitPeeringConfig'}, - 'route_filter': {'key': 'routeFilter', 'type': 'RouteFilter'}, - 'state': {'key': 'state', 'type': 'str'}, - } - - def __init__(self, *, primary_peer_address_prefix: str=None, secondary_peer_address_prefix: str=None, microsoft_peering_config=None, route_filter=None, state=None, **kwargs) -> None: - super(Ipv6ExpressRouteCircuitPeeringConfig, self).__init__(**kwargs) - self.primary_peer_address_prefix = primary_peer_address_prefix - self.secondary_peer_address_prefix = secondary_peer_address_prefix - self.microsoft_peering_config = microsoft_peering_config - self.route_filter = route_filter - self.state = state diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/load_balancer.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/load_balancer.py deleted file mode 100644 index b3555cc00eb..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/load_balancer.py +++ /dev/null @@ -1,115 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .resource import Resource - - -class LoadBalancer(Resource): - """LoadBalancer resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param sku: The load balancer SKU. - :type sku: ~azure.mgmt.network.v2018_08_01.models.LoadBalancerSku - :param frontend_ip_configurations: Object representing the frontend IPs to - be used for the load balancer - :type frontend_ip_configurations: - list[~azure.mgmt.network.v2018_08_01.models.FrontendIPConfiguration] - :param backend_address_pools: Collection of backend address pools used by - a load balancer - :type backend_address_pools: - list[~azure.mgmt.network.v2018_08_01.models.BackendAddressPool] - :param load_balancing_rules: Object collection representing the load - balancing rules Gets the provisioning - :type load_balancing_rules: - list[~azure.mgmt.network.v2018_08_01.models.LoadBalancingRule] - :param probes: Collection of probe objects used in the load balancer - :type probes: list[~azure.mgmt.network.v2018_08_01.models.Probe] - :param inbound_nat_rules: Collection of inbound NAT Rules used by a load - balancer. Defining inbound NAT rules on your load balancer is mutually - exclusive with defining an inbound NAT pool. Inbound NAT pools are - referenced from virtual machine scale sets. NICs that are associated with - individual virtual machines cannot reference an Inbound NAT pool. They - have to reference individual inbound NAT rules. - :type inbound_nat_rules: - list[~azure.mgmt.network.v2018_08_01.models.InboundNatRule] - :param inbound_nat_pools: Defines an external port range for inbound NAT - to a single backend port on NICs associated with a load balancer. Inbound - NAT rules are created automatically for each NIC associated with the Load - Balancer using an external port from this range. Defining an Inbound NAT - pool on your Load Balancer is mutually exclusive with defining inbound Nat - rules. Inbound NAT pools are referenced from virtual machine scale sets. - NICs that are associated with individual virtual machines cannot reference - an inbound NAT pool. They have to reference individual inbound NAT rules. - :type inbound_nat_pools: - list[~azure.mgmt.network.v2018_08_01.models.InboundNatPool] - :param outbound_rules: The outbound rules. - :type outbound_rules: - list[~azure.mgmt.network.v2018_08_01.models.OutboundRule] - :param resource_guid: The resource GUID property of the load balancer - resource. - :type resource_guid: str - :param provisioning_state: Gets the provisioning state of the PublicIP - resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - :type provisioning_state: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'sku': {'key': 'sku', 'type': 'LoadBalancerSku'}, - 'frontend_ip_configurations': {'key': 'properties.frontendIPConfigurations', 'type': '[FrontendIPConfiguration]'}, - 'backend_address_pools': {'key': 'properties.backendAddressPools', 'type': '[BackendAddressPool]'}, - 'load_balancing_rules': {'key': 'properties.loadBalancingRules', 'type': '[LoadBalancingRule]'}, - 'probes': {'key': 'properties.probes', 'type': '[Probe]'}, - 'inbound_nat_rules': {'key': 'properties.inboundNatRules', 'type': '[InboundNatRule]'}, - 'inbound_nat_pools': {'key': 'properties.inboundNatPools', 'type': '[InboundNatPool]'}, - 'outbound_rules': {'key': 'properties.outboundRules', 'type': '[OutboundRule]'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(LoadBalancer, self).__init__(**kwargs) - self.sku = kwargs.get('sku', None) - self.frontend_ip_configurations = kwargs.get('frontend_ip_configurations', None) - self.backend_address_pools = kwargs.get('backend_address_pools', None) - self.load_balancing_rules = kwargs.get('load_balancing_rules', None) - self.probes = kwargs.get('probes', None) - self.inbound_nat_rules = kwargs.get('inbound_nat_rules', None) - self.inbound_nat_pools = kwargs.get('inbound_nat_pools', None) - self.outbound_rules = kwargs.get('outbound_rules', None) - self.resource_guid = kwargs.get('resource_guid', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.etag = kwargs.get('etag', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/load_balancer_paged.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/load_balancer_paged.py deleted file mode 100644 index 8cc0bd2316a..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/load_balancer_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.paging import Paged - - -class LoadBalancerPaged(Paged): - """ - A paging container for iterating over a list of :class:`LoadBalancer ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[LoadBalancer]'} - } - - def __init__(self, *args, **kwargs): - - super(LoadBalancerPaged, self).__init__(*args, **kwargs) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/load_balancer_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/load_balancer_py3.py deleted file mode 100644 index 871934d5bf1..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/load_balancer_py3.py +++ /dev/null @@ -1,115 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .resource_py3 import Resource - - -class LoadBalancer(Resource): - """LoadBalancer resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param sku: The load balancer SKU. - :type sku: ~azure.mgmt.network.v2018_08_01.models.LoadBalancerSku - :param frontend_ip_configurations: Object representing the frontend IPs to - be used for the load balancer - :type frontend_ip_configurations: - list[~azure.mgmt.network.v2018_08_01.models.FrontendIPConfiguration] - :param backend_address_pools: Collection of backend address pools used by - a load balancer - :type backend_address_pools: - list[~azure.mgmt.network.v2018_08_01.models.BackendAddressPool] - :param load_balancing_rules: Object collection representing the load - balancing rules Gets the provisioning - :type load_balancing_rules: - list[~azure.mgmt.network.v2018_08_01.models.LoadBalancingRule] - :param probes: Collection of probe objects used in the load balancer - :type probes: list[~azure.mgmt.network.v2018_08_01.models.Probe] - :param inbound_nat_rules: Collection of inbound NAT Rules used by a load - balancer. Defining inbound NAT rules on your load balancer is mutually - exclusive with defining an inbound NAT pool. Inbound NAT pools are - referenced from virtual machine scale sets. NICs that are associated with - individual virtual machines cannot reference an Inbound NAT pool. They - have to reference individual inbound NAT rules. - :type inbound_nat_rules: - list[~azure.mgmt.network.v2018_08_01.models.InboundNatRule] - :param inbound_nat_pools: Defines an external port range for inbound NAT - to a single backend port on NICs associated with a load balancer. Inbound - NAT rules are created automatically for each NIC associated with the Load - Balancer using an external port from this range. Defining an Inbound NAT - pool on your Load Balancer is mutually exclusive with defining inbound Nat - rules. Inbound NAT pools are referenced from virtual machine scale sets. - NICs that are associated with individual virtual machines cannot reference - an inbound NAT pool. They have to reference individual inbound NAT rules. - :type inbound_nat_pools: - list[~azure.mgmt.network.v2018_08_01.models.InboundNatPool] - :param outbound_rules: The outbound rules. - :type outbound_rules: - list[~azure.mgmt.network.v2018_08_01.models.OutboundRule] - :param resource_guid: The resource GUID property of the load balancer - resource. - :type resource_guid: str - :param provisioning_state: Gets the provisioning state of the PublicIP - resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - :type provisioning_state: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'sku': {'key': 'sku', 'type': 'LoadBalancerSku'}, - 'frontend_ip_configurations': {'key': 'properties.frontendIPConfigurations', 'type': '[FrontendIPConfiguration]'}, - 'backend_address_pools': {'key': 'properties.backendAddressPools', 'type': '[BackendAddressPool]'}, - 'load_balancing_rules': {'key': 'properties.loadBalancingRules', 'type': '[LoadBalancingRule]'}, - 'probes': {'key': 'properties.probes', 'type': '[Probe]'}, - 'inbound_nat_rules': {'key': 'properties.inboundNatRules', 'type': '[InboundNatRule]'}, - 'inbound_nat_pools': {'key': 'properties.inboundNatPools', 'type': '[InboundNatPool]'}, - 'outbound_rules': {'key': 'properties.outboundRules', 'type': '[OutboundRule]'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, sku=None, frontend_ip_configurations=None, backend_address_pools=None, load_balancing_rules=None, probes=None, inbound_nat_rules=None, inbound_nat_pools=None, outbound_rules=None, resource_guid: str=None, provisioning_state: str=None, etag: str=None, **kwargs) -> None: - super(LoadBalancer, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.sku = sku - self.frontend_ip_configurations = frontend_ip_configurations - self.backend_address_pools = backend_address_pools - self.load_balancing_rules = load_balancing_rules - self.probes = probes - self.inbound_nat_rules = inbound_nat_rules - self.inbound_nat_pools = inbound_nat_pools - self.outbound_rules = outbound_rules - self.resource_guid = resource_guid - self.provisioning_state = provisioning_state - self.etag = etag diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/load_balancer_sku.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/load_balancer_sku.py deleted file mode 100644 index f744a48ddac..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/load_balancer_sku.py +++ /dev/null @@ -1,30 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class LoadBalancerSku(Model): - """SKU of a load balancer. - - :param name: Name of a load balancer SKU. Possible values include: - 'Basic', 'Standard' - :type name: str or - ~azure.mgmt.network.v2018_08_01.models.LoadBalancerSkuName - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(LoadBalancerSku, self).__init__(**kwargs) - self.name = kwargs.get('name', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/load_balancer_sku_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/load_balancer_sku_py3.py deleted file mode 100644 index d438afa32c9..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/load_balancer_sku_py3.py +++ /dev/null @@ -1,30 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class LoadBalancerSku(Model): - """SKU of a load balancer. - - :param name: Name of a load balancer SKU. Possible values include: - 'Basic', 'Standard' - :type name: str or - ~azure.mgmt.network.v2018_08_01.models.LoadBalancerSkuName - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - } - - def __init__(self, *, name=None, **kwargs) -> None: - super(LoadBalancerSku, self).__init__(**kwargs) - self.name = name diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/load_balancing_rule.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/load_balancing_rule.py deleted file mode 100644 index 23220ff6107..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/load_balancing_rule.py +++ /dev/null @@ -1,115 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource import SubResource - - -class LoadBalancingRule(SubResource): - """A load balancing rule for a load balancer. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :param frontend_ip_configuration: A reference to frontend IP addresses. - :type frontend_ip_configuration: - ~azure.mgmt.network.v2018_08_01.models.SubResource - :param backend_address_pool: A reference to a pool of DIPs. Inbound - traffic is randomly load balanced across IPs in the backend IPs. - :type backend_address_pool: - ~azure.mgmt.network.v2018_08_01.models.SubResource - :param probe: The reference of the load balancer probe used by the load - balancing rule. - :type probe: ~azure.mgmt.network.v2018_08_01.models.SubResource - :param protocol: Required. Possible values include: 'Udp', 'Tcp', 'All' - :type protocol: str or - ~azure.mgmt.network.v2018_08_01.models.TransportProtocol - :param load_distribution: The load distribution policy for this rule. - Possible values are 'Default', 'SourceIP', and 'SourceIPProtocol'. - Possible values include: 'Default', 'SourceIP', 'SourceIPProtocol' - :type load_distribution: str or - ~azure.mgmt.network.v2018_08_01.models.LoadDistribution - :param frontend_port: Required. The port for the external endpoint. Port - numbers for each rule must be unique within the Load Balancer. Acceptable - values are between 0 and 65534. Note that value 0 enables "Any Port" - :type frontend_port: int - :param backend_port: The port used for internal connections on the - endpoint. Acceptable values are between 0 and 65535. Note that value 0 - enables "Any Port" - :type backend_port: int - :param idle_timeout_in_minutes: The timeout for the TCP idle connection. - The value can be set between 4 and 30 minutes. The default value is 4 - minutes. This element is only used when the protocol is set to TCP. - :type idle_timeout_in_minutes: int - :param enable_floating_ip: Configures a virtual machine's endpoint for the - floating IP capability required to configure a SQL AlwaysOn Availability - Group. This setting is required when using the SQL AlwaysOn Availability - Groups in SQL server. This setting can't be changed after you create the - endpoint. - :type enable_floating_ip: bool - :param enable_tcp_reset: Receive bidirectional TCP Reset on TCP flow idle - timeout or unexpected connection termination. This element is only used - when the protocol is set to TCP. - :type enable_tcp_reset: bool - :param disable_outbound_snat: Configures SNAT for the VMs in the backend - pool to use the publicIP address specified in the frontend of the load - balancing rule. - :type disable_outbound_snat: bool - :param provisioning_state: Gets the provisioning state of the PublicIP - resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - :type provisioning_state: str - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'protocol': {'required': True}, - 'frontend_port': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'frontend_ip_configuration': {'key': 'properties.frontendIPConfiguration', 'type': 'SubResource'}, - 'backend_address_pool': {'key': 'properties.backendAddressPool', 'type': 'SubResource'}, - 'probe': {'key': 'properties.probe', 'type': 'SubResource'}, - 'protocol': {'key': 'properties.protocol', 'type': 'str'}, - 'load_distribution': {'key': 'properties.loadDistribution', 'type': 'str'}, - 'frontend_port': {'key': 'properties.frontendPort', 'type': 'int'}, - 'backend_port': {'key': 'properties.backendPort', 'type': 'int'}, - 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, - 'enable_floating_ip': {'key': 'properties.enableFloatingIP', 'type': 'bool'}, - 'enable_tcp_reset': {'key': 'properties.enableTcpReset', 'type': 'bool'}, - 'disable_outbound_snat': {'key': 'properties.disableOutboundSnat', 'type': 'bool'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(LoadBalancingRule, self).__init__(**kwargs) - self.frontend_ip_configuration = kwargs.get('frontend_ip_configuration', None) - self.backend_address_pool = kwargs.get('backend_address_pool', None) - self.probe = kwargs.get('probe', None) - self.protocol = kwargs.get('protocol', None) - self.load_distribution = kwargs.get('load_distribution', None) - self.frontend_port = kwargs.get('frontend_port', None) - self.backend_port = kwargs.get('backend_port', None) - self.idle_timeout_in_minutes = kwargs.get('idle_timeout_in_minutes', None) - self.enable_floating_ip = kwargs.get('enable_floating_ip', None) - self.enable_tcp_reset = kwargs.get('enable_tcp_reset', None) - self.disable_outbound_snat = kwargs.get('disable_outbound_snat', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.name = kwargs.get('name', None) - self.etag = kwargs.get('etag', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/load_balancing_rule_paged.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/load_balancing_rule_paged.py deleted file mode 100644 index a587ac9e33a..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/load_balancing_rule_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.paging import Paged - - -class LoadBalancingRulePaged(Paged): - """ - A paging container for iterating over a list of :class:`LoadBalancingRule ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[LoadBalancingRule]'} - } - - def __init__(self, *args, **kwargs): - - super(LoadBalancingRulePaged, self).__init__(*args, **kwargs) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/load_balancing_rule_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/load_balancing_rule_py3.py deleted file mode 100644 index 6b05948c240..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/load_balancing_rule_py3.py +++ /dev/null @@ -1,115 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource_py3 import SubResource - - -class LoadBalancingRule(SubResource): - """A load balancing rule for a load balancer. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :param frontend_ip_configuration: A reference to frontend IP addresses. - :type frontend_ip_configuration: - ~azure.mgmt.network.v2018_08_01.models.SubResource - :param backend_address_pool: A reference to a pool of DIPs. Inbound - traffic is randomly load balanced across IPs in the backend IPs. - :type backend_address_pool: - ~azure.mgmt.network.v2018_08_01.models.SubResource - :param probe: The reference of the load balancer probe used by the load - balancing rule. - :type probe: ~azure.mgmt.network.v2018_08_01.models.SubResource - :param protocol: Required. Possible values include: 'Udp', 'Tcp', 'All' - :type protocol: str or - ~azure.mgmt.network.v2018_08_01.models.TransportProtocol - :param load_distribution: The load distribution policy for this rule. - Possible values are 'Default', 'SourceIP', and 'SourceIPProtocol'. - Possible values include: 'Default', 'SourceIP', 'SourceIPProtocol' - :type load_distribution: str or - ~azure.mgmt.network.v2018_08_01.models.LoadDistribution - :param frontend_port: Required. The port for the external endpoint. Port - numbers for each rule must be unique within the Load Balancer. Acceptable - values are between 0 and 65534. Note that value 0 enables "Any Port" - :type frontend_port: int - :param backend_port: The port used for internal connections on the - endpoint. Acceptable values are between 0 and 65535. Note that value 0 - enables "Any Port" - :type backend_port: int - :param idle_timeout_in_minutes: The timeout for the TCP idle connection. - The value can be set between 4 and 30 minutes. The default value is 4 - minutes. This element is only used when the protocol is set to TCP. - :type idle_timeout_in_minutes: int - :param enable_floating_ip: Configures a virtual machine's endpoint for the - floating IP capability required to configure a SQL AlwaysOn Availability - Group. This setting is required when using the SQL AlwaysOn Availability - Groups in SQL server. This setting can't be changed after you create the - endpoint. - :type enable_floating_ip: bool - :param enable_tcp_reset: Receive bidirectional TCP Reset on TCP flow idle - timeout or unexpected connection termination. This element is only used - when the protocol is set to TCP. - :type enable_tcp_reset: bool - :param disable_outbound_snat: Configures SNAT for the VMs in the backend - pool to use the publicIP address specified in the frontend of the load - balancing rule. - :type disable_outbound_snat: bool - :param provisioning_state: Gets the provisioning state of the PublicIP - resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - :type provisioning_state: str - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'protocol': {'required': True}, - 'frontend_port': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'frontend_ip_configuration': {'key': 'properties.frontendIPConfiguration', 'type': 'SubResource'}, - 'backend_address_pool': {'key': 'properties.backendAddressPool', 'type': 'SubResource'}, - 'probe': {'key': 'properties.probe', 'type': 'SubResource'}, - 'protocol': {'key': 'properties.protocol', 'type': 'str'}, - 'load_distribution': {'key': 'properties.loadDistribution', 'type': 'str'}, - 'frontend_port': {'key': 'properties.frontendPort', 'type': 'int'}, - 'backend_port': {'key': 'properties.backendPort', 'type': 'int'}, - 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, - 'enable_floating_ip': {'key': 'properties.enableFloatingIP', 'type': 'bool'}, - 'enable_tcp_reset': {'key': 'properties.enableTcpReset', 'type': 'bool'}, - 'disable_outbound_snat': {'key': 'properties.disableOutboundSnat', 'type': 'bool'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, protocol, frontend_port: int, id: str=None, frontend_ip_configuration=None, backend_address_pool=None, probe=None, load_distribution=None, backend_port: int=None, idle_timeout_in_minutes: int=None, enable_floating_ip: bool=None, enable_tcp_reset: bool=None, disable_outbound_snat: bool=None, provisioning_state: str=None, name: str=None, etag: str=None, **kwargs) -> None: - super(LoadBalancingRule, self).__init__(id=id, **kwargs) - self.frontend_ip_configuration = frontend_ip_configuration - self.backend_address_pool = backend_address_pool - self.probe = probe - self.protocol = protocol - self.load_distribution = load_distribution - self.frontend_port = frontend_port - self.backend_port = backend_port - self.idle_timeout_in_minutes = idle_timeout_in_minutes - self.enable_floating_ip = enable_floating_ip - self.enable_tcp_reset = enable_tcp_reset - self.disable_outbound_snat = disable_outbound_snat - self.provisioning_state = provisioning_state - self.name = name - self.etag = etag diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/local_network_gateway.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/local_network_gateway.py deleted file mode 100644 index 3418355aad7..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/local_network_gateway.py +++ /dev/null @@ -1,77 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .resource import Resource - - -class LocalNetworkGateway(Resource): - """A common class for general resource information. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param local_network_address_space: Local network site address space. - :type local_network_address_space: - ~azure.mgmt.network.v2018_08_01.models.AddressSpace - :param gateway_ip_address: IP address of local network gateway. - :type gateway_ip_address: str - :param bgp_settings: Local network gateway's BGP speaker settings. - :type bgp_settings: ~azure.mgmt.network.v2018_08_01.models.BgpSettings - :param resource_guid: The resource GUID property of the - LocalNetworkGateway resource. - :type resource_guid: str - :ivar provisioning_state: The provisioning state of the - LocalNetworkGateway resource. Possible values are: 'Updating', 'Deleting', - and 'Failed'. - :vartype provisioning_state: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'local_network_address_space': {'key': 'properties.localNetworkAddressSpace', 'type': 'AddressSpace'}, - 'gateway_ip_address': {'key': 'properties.gatewayIpAddress', 'type': 'str'}, - 'bgp_settings': {'key': 'properties.bgpSettings', 'type': 'BgpSettings'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(LocalNetworkGateway, self).__init__(**kwargs) - self.local_network_address_space = kwargs.get('local_network_address_space', None) - self.gateway_ip_address = kwargs.get('gateway_ip_address', None) - self.bgp_settings = kwargs.get('bgp_settings', None) - self.resource_guid = kwargs.get('resource_guid', None) - self.provisioning_state = None - self.etag = kwargs.get('etag', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/local_network_gateway_paged.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/local_network_gateway_paged.py deleted file mode 100644 index 02302d8a572..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/local_network_gateway_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.paging import Paged - - -class LocalNetworkGatewayPaged(Paged): - """ - A paging container for iterating over a list of :class:`LocalNetworkGateway ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[LocalNetworkGateway]'} - } - - def __init__(self, *args, **kwargs): - - super(LocalNetworkGatewayPaged, self).__init__(*args, **kwargs) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/local_network_gateway_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/local_network_gateway_py3.py deleted file mode 100644 index 9b81be68f5f..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/local_network_gateway_py3.py +++ /dev/null @@ -1,77 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .resource_py3 import Resource - - -class LocalNetworkGateway(Resource): - """A common class for general resource information. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param local_network_address_space: Local network site address space. - :type local_network_address_space: - ~azure.mgmt.network.v2018_08_01.models.AddressSpace - :param gateway_ip_address: IP address of local network gateway. - :type gateway_ip_address: str - :param bgp_settings: Local network gateway's BGP speaker settings. - :type bgp_settings: ~azure.mgmt.network.v2018_08_01.models.BgpSettings - :param resource_guid: The resource GUID property of the - LocalNetworkGateway resource. - :type resource_guid: str - :ivar provisioning_state: The provisioning state of the - LocalNetworkGateway resource. Possible values are: 'Updating', 'Deleting', - and 'Failed'. - :vartype provisioning_state: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'local_network_address_space': {'key': 'properties.localNetworkAddressSpace', 'type': 'AddressSpace'}, - 'gateway_ip_address': {'key': 'properties.gatewayIpAddress', 'type': 'str'}, - 'bgp_settings': {'key': 'properties.bgpSettings', 'type': 'BgpSettings'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, local_network_address_space=None, gateway_ip_address: str=None, bgp_settings=None, resource_guid: str=None, etag: str=None, **kwargs) -> None: - super(LocalNetworkGateway, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.local_network_address_space = local_network_address_space - self.gateway_ip_address = gateway_ip_address - self.bgp_settings = bgp_settings - self.resource_guid = resource_guid - self.provisioning_state = None - self.etag = etag diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/log_specification.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/log_specification.py deleted file mode 100644 index ab592992d90..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/log_specification.py +++ /dev/null @@ -1,36 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class LogSpecification(Model): - """Description of logging specification. - - :param name: The name of the specification. - :type name: str - :param display_name: The display name of the specification. - :type display_name: str - :param blob_duration: Duration of the blob. - :type blob_duration: str - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'display_name': {'key': 'displayName', 'type': 'str'}, - 'blob_duration': {'key': 'blobDuration', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(LogSpecification, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.display_name = kwargs.get('display_name', None) - self.blob_duration = kwargs.get('blob_duration', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/log_specification_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/log_specification_py3.py deleted file mode 100644 index 6184811d393..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/log_specification_py3.py +++ /dev/null @@ -1,36 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class LogSpecification(Model): - """Description of logging specification. - - :param name: The name of the specification. - :type name: str - :param display_name: The display name of the specification. - :type display_name: str - :param blob_duration: Duration of the blob. - :type blob_duration: str - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'display_name': {'key': 'displayName', 'type': 'str'}, - 'blob_duration': {'key': 'blobDuration', 'type': 'str'}, - } - - def __init__(self, *, name: str=None, display_name: str=None, blob_duration: str=None, **kwargs) -> None: - super(LogSpecification, self).__init__(**kwargs) - self.name = name - self.display_name = display_name - self.blob_duration = blob_duration diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/matched_rule.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/matched_rule.py deleted file mode 100644 index ffa2f54f52f..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/matched_rule.py +++ /dev/null @@ -1,33 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class MatchedRule(Model): - """Matched rule. - - :param rule_name: Name of the matched network security rule. - :type rule_name: str - :param action: The network traffic is allowed or denied. Possible values - are 'Allow' and 'Deny'. - :type action: str - """ - - _attribute_map = { - 'rule_name': {'key': 'ruleName', 'type': 'str'}, - 'action': {'key': 'action', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(MatchedRule, self).__init__(**kwargs) - self.rule_name = kwargs.get('rule_name', None) - self.action = kwargs.get('action', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/matched_rule_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/matched_rule_py3.py deleted file mode 100644 index 67868d929d0..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/matched_rule_py3.py +++ /dev/null @@ -1,33 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class MatchedRule(Model): - """Matched rule. - - :param rule_name: Name of the matched network security rule. - :type rule_name: str - :param action: The network traffic is allowed or denied. Possible values - are 'Allow' and 'Deny'. - :type action: str - """ - - _attribute_map = { - 'rule_name': {'key': 'ruleName', 'type': 'str'}, - 'action': {'key': 'action', 'type': 'str'}, - } - - def __init__(self, *, rule_name: str=None, action: str=None, **kwargs) -> None: - super(MatchedRule, self).__init__(**kwargs) - self.rule_name = rule_name - self.action = action diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/metric_specification.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/metric_specification.py deleted file mode 100644 index 6bcdf1b5d10..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/metric_specification.py +++ /dev/null @@ -1,82 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class MetricSpecification(Model): - """Description of metrics specification. - - :param name: The name of the metric. - :type name: str - :param display_name: The display name of the metric. - :type display_name: str - :param display_description: The description of the metric. - :type display_description: str - :param unit: Units the metric to be displayed in. - :type unit: str - :param aggregation_type: The aggregation type. - :type aggregation_type: str - :param availabilities: List of availability. - :type availabilities: - list[~azure.mgmt.network.v2018_08_01.models.Availability] - :param enable_regional_mdm_account: Whether regional MDM account enabled. - :type enable_regional_mdm_account: bool - :param fill_gap_with_zero: Whether gaps would be filled with zeros. - :type fill_gap_with_zero: bool - :param metric_filter_pattern: Pattern for the filter of the metric. - :type metric_filter_pattern: str - :param dimensions: List of dimensions. - :type dimensions: list[~azure.mgmt.network.v2018_08_01.models.Dimension] - :param is_internal: Whether the metric is internal. - :type is_internal: bool - :param source_mdm_account: The source MDM account. - :type source_mdm_account: str - :param source_mdm_namespace: The source MDM namespace. - :type source_mdm_namespace: str - :param resource_id_dimension_name_override: The resource Id dimension name - override. - :type resource_id_dimension_name_override: str - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'display_name': {'key': 'displayName', 'type': 'str'}, - 'display_description': {'key': 'displayDescription', 'type': 'str'}, - 'unit': {'key': 'unit', 'type': 'str'}, - 'aggregation_type': {'key': 'aggregationType', 'type': 'str'}, - 'availabilities': {'key': 'availabilities', 'type': '[Availability]'}, - 'enable_regional_mdm_account': {'key': 'enableRegionalMdmAccount', 'type': 'bool'}, - 'fill_gap_with_zero': {'key': 'fillGapWithZero', 'type': 'bool'}, - 'metric_filter_pattern': {'key': 'metricFilterPattern', 'type': 'str'}, - 'dimensions': {'key': 'dimensions', 'type': '[Dimension]'}, - 'is_internal': {'key': 'isInternal', 'type': 'bool'}, - 'source_mdm_account': {'key': 'sourceMdmAccount', 'type': 'str'}, - 'source_mdm_namespace': {'key': 'sourceMdmNamespace', 'type': 'str'}, - 'resource_id_dimension_name_override': {'key': 'resourceIdDimensionNameOverride', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(MetricSpecification, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.display_name = kwargs.get('display_name', None) - self.display_description = kwargs.get('display_description', None) - self.unit = kwargs.get('unit', None) - self.aggregation_type = kwargs.get('aggregation_type', None) - self.availabilities = kwargs.get('availabilities', None) - self.enable_regional_mdm_account = kwargs.get('enable_regional_mdm_account', None) - self.fill_gap_with_zero = kwargs.get('fill_gap_with_zero', None) - self.metric_filter_pattern = kwargs.get('metric_filter_pattern', None) - self.dimensions = kwargs.get('dimensions', None) - self.is_internal = kwargs.get('is_internal', None) - self.source_mdm_account = kwargs.get('source_mdm_account', None) - self.source_mdm_namespace = kwargs.get('source_mdm_namespace', None) - self.resource_id_dimension_name_override = kwargs.get('resource_id_dimension_name_override', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/metric_specification_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/metric_specification_py3.py deleted file mode 100644 index 34100de7749..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/metric_specification_py3.py +++ /dev/null @@ -1,82 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class MetricSpecification(Model): - """Description of metrics specification. - - :param name: The name of the metric. - :type name: str - :param display_name: The display name of the metric. - :type display_name: str - :param display_description: The description of the metric. - :type display_description: str - :param unit: Units the metric to be displayed in. - :type unit: str - :param aggregation_type: The aggregation type. - :type aggregation_type: str - :param availabilities: List of availability. - :type availabilities: - list[~azure.mgmt.network.v2018_08_01.models.Availability] - :param enable_regional_mdm_account: Whether regional MDM account enabled. - :type enable_regional_mdm_account: bool - :param fill_gap_with_zero: Whether gaps would be filled with zeros. - :type fill_gap_with_zero: bool - :param metric_filter_pattern: Pattern for the filter of the metric. - :type metric_filter_pattern: str - :param dimensions: List of dimensions. - :type dimensions: list[~azure.mgmt.network.v2018_08_01.models.Dimension] - :param is_internal: Whether the metric is internal. - :type is_internal: bool - :param source_mdm_account: The source MDM account. - :type source_mdm_account: str - :param source_mdm_namespace: The source MDM namespace. - :type source_mdm_namespace: str - :param resource_id_dimension_name_override: The resource Id dimension name - override. - :type resource_id_dimension_name_override: str - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'display_name': {'key': 'displayName', 'type': 'str'}, - 'display_description': {'key': 'displayDescription', 'type': 'str'}, - 'unit': {'key': 'unit', 'type': 'str'}, - 'aggregation_type': {'key': 'aggregationType', 'type': 'str'}, - 'availabilities': {'key': 'availabilities', 'type': '[Availability]'}, - 'enable_regional_mdm_account': {'key': 'enableRegionalMdmAccount', 'type': 'bool'}, - 'fill_gap_with_zero': {'key': 'fillGapWithZero', 'type': 'bool'}, - 'metric_filter_pattern': {'key': 'metricFilterPattern', 'type': 'str'}, - 'dimensions': {'key': 'dimensions', 'type': '[Dimension]'}, - 'is_internal': {'key': 'isInternal', 'type': 'bool'}, - 'source_mdm_account': {'key': 'sourceMdmAccount', 'type': 'str'}, - 'source_mdm_namespace': {'key': 'sourceMdmNamespace', 'type': 'str'}, - 'resource_id_dimension_name_override': {'key': 'resourceIdDimensionNameOverride', 'type': 'str'}, - } - - def __init__(self, *, name: str=None, display_name: str=None, display_description: str=None, unit: str=None, aggregation_type: str=None, availabilities=None, enable_regional_mdm_account: bool=None, fill_gap_with_zero: bool=None, metric_filter_pattern: str=None, dimensions=None, is_internal: bool=None, source_mdm_account: str=None, source_mdm_namespace: str=None, resource_id_dimension_name_override: str=None, **kwargs) -> None: - super(MetricSpecification, self).__init__(**kwargs) - self.name = name - self.display_name = display_name - self.display_description = display_description - self.unit = unit - self.aggregation_type = aggregation_type - self.availabilities = availabilities - self.enable_regional_mdm_account = enable_regional_mdm_account - self.fill_gap_with_zero = fill_gap_with_zero - self.metric_filter_pattern = metric_filter_pattern - self.dimensions = dimensions - self.is_internal = is_internal - self.source_mdm_account = source_mdm_account - self.source_mdm_namespace = source_mdm_namespace - self.resource_id_dimension_name_override = resource_id_dimension_name_override diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_configuration_diagnostic_parameters.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_configuration_diagnostic_parameters.py deleted file mode 100644 index 6e10c5624a3..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_configuration_diagnostic_parameters.py +++ /dev/null @@ -1,41 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class NetworkConfigurationDiagnosticParameters(Model): - """Parameters to get network configuration diagnostic. - - All required parameters must be populated in order to send to Azure. - - :param target_resource_id: Required. The ID of the target resource to - perform network configuration diagnostic. Valid options are VM, - NetworkInterface, VMSS/NetworkInterface and Application Gateway. - :type target_resource_id: str - :param queries: Required. List of traffic queries. - :type queries: list[~azure.mgmt.network.v2018_08_01.models.TrafficQuery] - """ - - _validation = { - 'target_resource_id': {'required': True}, - 'queries': {'required': True}, - } - - _attribute_map = { - 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, - 'queries': {'key': 'queries', 'type': '[TrafficQuery]'}, - } - - def __init__(self, **kwargs): - super(NetworkConfigurationDiagnosticParameters, self).__init__(**kwargs) - self.target_resource_id = kwargs.get('target_resource_id', None) - self.queries = kwargs.get('queries', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_configuration_diagnostic_parameters_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_configuration_diagnostic_parameters_py3.py deleted file mode 100644 index 222296e26b9..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_configuration_diagnostic_parameters_py3.py +++ /dev/null @@ -1,41 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class NetworkConfigurationDiagnosticParameters(Model): - """Parameters to get network configuration diagnostic. - - All required parameters must be populated in order to send to Azure. - - :param target_resource_id: Required. The ID of the target resource to - perform network configuration diagnostic. Valid options are VM, - NetworkInterface, VMSS/NetworkInterface and Application Gateway. - :type target_resource_id: str - :param queries: Required. List of traffic queries. - :type queries: list[~azure.mgmt.network.v2018_08_01.models.TrafficQuery] - """ - - _validation = { - 'target_resource_id': {'required': True}, - 'queries': {'required': True}, - } - - _attribute_map = { - 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, - 'queries': {'key': 'queries', 'type': '[TrafficQuery]'}, - } - - def __init__(self, *, target_resource_id: str, queries, **kwargs) -> None: - super(NetworkConfigurationDiagnosticParameters, self).__init__(**kwargs) - self.target_resource_id = target_resource_id - self.queries = queries diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_configuration_diagnostic_response.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_configuration_diagnostic_response.py deleted file mode 100644 index 04a84f56dce..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_configuration_diagnostic_response.py +++ /dev/null @@ -1,36 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class NetworkConfigurationDiagnosticResponse(Model): - """Results of network configuration diagnostic on the target resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar results: List of network configuration diagnostic results. - :vartype results: - list[~azure.mgmt.network.v2018_08_01.models.NetworkConfigurationDiagnosticResult] - """ - - _validation = { - 'results': {'readonly': True}, - } - - _attribute_map = { - 'results': {'key': 'results', 'type': '[NetworkConfigurationDiagnosticResult]'}, - } - - def __init__(self, **kwargs): - super(NetworkConfigurationDiagnosticResponse, self).__init__(**kwargs) - self.results = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_configuration_diagnostic_response_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_configuration_diagnostic_response_py3.py deleted file mode 100644 index 0b020aa7db1..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_configuration_diagnostic_response_py3.py +++ /dev/null @@ -1,36 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class NetworkConfigurationDiagnosticResponse(Model): - """Results of network configuration diagnostic on the target resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar results: List of network configuration diagnostic results. - :vartype results: - list[~azure.mgmt.network.v2018_08_01.models.NetworkConfigurationDiagnosticResult] - """ - - _validation = { - 'results': {'readonly': True}, - } - - _attribute_map = { - 'results': {'key': 'results', 'type': '[NetworkConfigurationDiagnosticResult]'}, - } - - def __init__(self, **kwargs) -> None: - super(NetworkConfigurationDiagnosticResponse, self).__init__(**kwargs) - self.results = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_configuration_diagnostic_result.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_configuration_diagnostic_result.py deleted file mode 100644 index 7b8bc0ac12d..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_configuration_diagnostic_result.py +++ /dev/null @@ -1,34 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class NetworkConfigurationDiagnosticResult(Model): - """Network configuration diagnostic result corresponded to provided traffic - query. - - :param traffic_query: - :type traffic_query: ~azure.mgmt.network.v2018_08_01.models.TrafficQuery - :param network_security_group_result: - :type network_security_group_result: - ~azure.mgmt.network.v2018_08_01.models.NetworkSecurityGroupResult - """ - - _attribute_map = { - 'traffic_query': {'key': 'trafficQuery', 'type': 'TrafficQuery'}, - 'network_security_group_result': {'key': 'networkSecurityGroupResult', 'type': 'NetworkSecurityGroupResult'}, - } - - def __init__(self, **kwargs): - super(NetworkConfigurationDiagnosticResult, self).__init__(**kwargs) - self.traffic_query = kwargs.get('traffic_query', None) - self.network_security_group_result = kwargs.get('network_security_group_result', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_configuration_diagnostic_result_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_configuration_diagnostic_result_py3.py deleted file mode 100644 index e88307a490e..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_configuration_diagnostic_result_py3.py +++ /dev/null @@ -1,34 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class NetworkConfigurationDiagnosticResult(Model): - """Network configuration diagnostic result corresponded to provided traffic - query. - - :param traffic_query: - :type traffic_query: ~azure.mgmt.network.v2018_08_01.models.TrafficQuery - :param network_security_group_result: - :type network_security_group_result: - ~azure.mgmt.network.v2018_08_01.models.NetworkSecurityGroupResult - """ - - _attribute_map = { - 'traffic_query': {'key': 'trafficQuery', 'type': 'TrafficQuery'}, - 'network_security_group_result': {'key': 'networkSecurityGroupResult', 'type': 'NetworkSecurityGroupResult'}, - } - - def __init__(self, *, traffic_query=None, network_security_group_result=None, **kwargs) -> None: - super(NetworkConfigurationDiagnosticResult, self).__init__(**kwargs) - self.traffic_query = traffic_query - self.network_security_group_result = network_security_group_result diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_interface.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_interface.py deleted file mode 100644 index 0c17094c375..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_interface.py +++ /dev/null @@ -1,120 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .resource import Resource - - -class NetworkInterface(Resource): - """A network interface in a resource group. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param virtual_machine: The reference of a virtual machine. - :type virtual_machine: ~azure.mgmt.network.v2018_08_01.models.SubResource - :param network_security_group: The reference of the NetworkSecurityGroup - resource. - :type network_security_group: - ~azure.mgmt.network.v2018_08_01.models.NetworkSecurityGroup - :ivar interface_endpoint: A reference to the interface endpoint to which - the network interface is linked. - :vartype interface_endpoint: - ~azure.mgmt.network.v2018_08_01.models.InterfaceEndpoint - :param ip_configurations: A list of IPConfigurations of the network - interface. - :type ip_configurations: - list[~azure.mgmt.network.v2018_08_01.models.NetworkInterfaceIPConfiguration] - :param tap_configurations: A list of TapConfigurations of the network - interface. - :type tap_configurations: - list[~azure.mgmt.network.v2018_08_01.models.NetworkInterfaceTapConfiguration] - :param dns_settings: The DNS settings in network interface. - :type dns_settings: - ~azure.mgmt.network.v2018_08_01.models.NetworkInterfaceDnsSettings - :param mac_address: The MAC address of the network interface. - :type mac_address: str - :param primary: Gets whether this is a primary network interface on a - virtual machine. - :type primary: bool - :param enable_accelerated_networking: If the network interface is - accelerated networking enabled. - :type enable_accelerated_networking: bool - :param enable_ip_forwarding: Indicates whether IP forwarding is enabled on - this network interface. - :type enable_ip_forwarding: bool - :ivar hosted_workloads: A list of references to linked BareMetal resources - :vartype hosted_workloads: list[str] - :param resource_guid: The resource GUID property of the network interface - resource. - :type resource_guid: str - :param provisioning_state: The provisioning state of the public IP - resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - :type provisioning_state: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'interface_endpoint': {'readonly': True}, - 'hosted_workloads': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'virtual_machine': {'key': 'properties.virtualMachine', 'type': 'SubResource'}, - 'network_security_group': {'key': 'properties.networkSecurityGroup', 'type': 'NetworkSecurityGroup'}, - 'interface_endpoint': {'key': 'properties.interfaceEndpoint', 'type': 'InterfaceEndpoint'}, - 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[NetworkInterfaceIPConfiguration]'}, - 'tap_configurations': {'key': 'properties.tapConfigurations', 'type': '[NetworkInterfaceTapConfiguration]'}, - 'dns_settings': {'key': 'properties.dnsSettings', 'type': 'NetworkInterfaceDnsSettings'}, - 'mac_address': {'key': 'properties.macAddress', 'type': 'str'}, - 'primary': {'key': 'properties.primary', 'type': 'bool'}, - 'enable_accelerated_networking': {'key': 'properties.enableAcceleratedNetworking', 'type': 'bool'}, - 'enable_ip_forwarding': {'key': 'properties.enableIPForwarding', 'type': 'bool'}, - 'hosted_workloads': {'key': 'properties.hostedWorkloads', 'type': '[str]'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(NetworkInterface, self).__init__(**kwargs) - self.virtual_machine = kwargs.get('virtual_machine', None) - self.network_security_group = kwargs.get('network_security_group', None) - self.interface_endpoint = None - self.ip_configurations = kwargs.get('ip_configurations', None) - self.tap_configurations = kwargs.get('tap_configurations', None) - self.dns_settings = kwargs.get('dns_settings', None) - self.mac_address = kwargs.get('mac_address', None) - self.primary = kwargs.get('primary', None) - self.enable_accelerated_networking = kwargs.get('enable_accelerated_networking', None) - self.enable_ip_forwarding = kwargs.get('enable_ip_forwarding', None) - self.hosted_workloads = None - self.resource_guid = kwargs.get('resource_guid', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.etag = kwargs.get('etag', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_interface_association.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_interface_association.py deleted file mode 100644 index a75f6dec4b9..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_interface_association.py +++ /dev/null @@ -1,40 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class NetworkInterfaceAssociation(Model): - """Network interface and its custom security rules. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar id: Network interface ID. - :vartype id: str - :param security_rules: Collection of custom security rules. - :type security_rules: - list[~azure.mgmt.network.v2018_08_01.models.SecurityRule] - """ - - _validation = { - 'id': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'security_rules': {'key': 'securityRules', 'type': '[SecurityRule]'}, - } - - def __init__(self, **kwargs): - super(NetworkInterfaceAssociation, self).__init__(**kwargs) - self.id = None - self.security_rules = kwargs.get('security_rules', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_interface_association_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_interface_association_py3.py deleted file mode 100644 index d11d251b72a..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_interface_association_py3.py +++ /dev/null @@ -1,40 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class NetworkInterfaceAssociation(Model): - """Network interface and its custom security rules. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar id: Network interface ID. - :vartype id: str - :param security_rules: Collection of custom security rules. - :type security_rules: - list[~azure.mgmt.network.v2018_08_01.models.SecurityRule] - """ - - _validation = { - 'id': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'security_rules': {'key': 'securityRules', 'type': '[SecurityRule]'}, - } - - def __init__(self, *, security_rules=None, **kwargs) -> None: - super(NetworkInterfaceAssociation, self).__init__(**kwargs) - self.id = None - self.security_rules = security_rules diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_interface_dns_settings.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_interface_dns_settings.py deleted file mode 100644 index b6ee0ff40d5..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_interface_dns_settings.py +++ /dev/null @@ -1,55 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class NetworkInterfaceDnsSettings(Model): - """DNS settings of a network interface. - - :param dns_servers: List of DNS servers IP addresses. Use - 'AzureProvidedDNS' to switch to azure provided DNS resolution. - 'AzureProvidedDNS' value cannot be combined with other IPs, it must be the - only value in dnsServers collection. - :type dns_servers: list[str] - :param applied_dns_servers: If the VM that uses this NIC is part of an - Availability Set, then this list will have the union of all DNS servers - from all NICs that are part of the Availability Set. This property is what - is configured on each of those VMs. - :type applied_dns_servers: list[str] - :param internal_dns_name_label: Relative DNS name for this NIC used for - internal communications between VMs in the same virtual network. - :type internal_dns_name_label: str - :param internal_fqdn: Fully qualified DNS name supporting internal - communications between VMs in the same virtual network. - :type internal_fqdn: str - :param internal_domain_name_suffix: Even if internalDnsNameLabel is not - specified, a DNS entry is created for the primary NIC of the VM. This DNS - name can be constructed by concatenating the VM name with the value of - internalDomainNameSuffix. - :type internal_domain_name_suffix: str - """ - - _attribute_map = { - 'dns_servers': {'key': 'dnsServers', 'type': '[str]'}, - 'applied_dns_servers': {'key': 'appliedDnsServers', 'type': '[str]'}, - 'internal_dns_name_label': {'key': 'internalDnsNameLabel', 'type': 'str'}, - 'internal_fqdn': {'key': 'internalFqdn', 'type': 'str'}, - 'internal_domain_name_suffix': {'key': 'internalDomainNameSuffix', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(NetworkInterfaceDnsSettings, self).__init__(**kwargs) - self.dns_servers = kwargs.get('dns_servers', None) - self.applied_dns_servers = kwargs.get('applied_dns_servers', None) - self.internal_dns_name_label = kwargs.get('internal_dns_name_label', None) - self.internal_fqdn = kwargs.get('internal_fqdn', None) - self.internal_domain_name_suffix = kwargs.get('internal_domain_name_suffix', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_interface_dns_settings_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_interface_dns_settings_py3.py deleted file mode 100644 index ccdcc937def..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_interface_dns_settings_py3.py +++ /dev/null @@ -1,55 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class NetworkInterfaceDnsSettings(Model): - """DNS settings of a network interface. - - :param dns_servers: List of DNS servers IP addresses. Use - 'AzureProvidedDNS' to switch to azure provided DNS resolution. - 'AzureProvidedDNS' value cannot be combined with other IPs, it must be the - only value in dnsServers collection. - :type dns_servers: list[str] - :param applied_dns_servers: If the VM that uses this NIC is part of an - Availability Set, then this list will have the union of all DNS servers - from all NICs that are part of the Availability Set. This property is what - is configured on each of those VMs. - :type applied_dns_servers: list[str] - :param internal_dns_name_label: Relative DNS name for this NIC used for - internal communications between VMs in the same virtual network. - :type internal_dns_name_label: str - :param internal_fqdn: Fully qualified DNS name supporting internal - communications between VMs in the same virtual network. - :type internal_fqdn: str - :param internal_domain_name_suffix: Even if internalDnsNameLabel is not - specified, a DNS entry is created for the primary NIC of the VM. This DNS - name can be constructed by concatenating the VM name with the value of - internalDomainNameSuffix. - :type internal_domain_name_suffix: str - """ - - _attribute_map = { - 'dns_servers': {'key': 'dnsServers', 'type': '[str]'}, - 'applied_dns_servers': {'key': 'appliedDnsServers', 'type': '[str]'}, - 'internal_dns_name_label': {'key': 'internalDnsNameLabel', 'type': 'str'}, - 'internal_fqdn': {'key': 'internalFqdn', 'type': 'str'}, - 'internal_domain_name_suffix': {'key': 'internalDomainNameSuffix', 'type': 'str'}, - } - - def __init__(self, *, dns_servers=None, applied_dns_servers=None, internal_dns_name_label: str=None, internal_fqdn: str=None, internal_domain_name_suffix: str=None, **kwargs) -> None: - super(NetworkInterfaceDnsSettings, self).__init__(**kwargs) - self.dns_servers = dns_servers - self.applied_dns_servers = applied_dns_servers - self.internal_dns_name_label = internal_dns_name_label - self.internal_fqdn = internal_fqdn - self.internal_domain_name_suffix = internal_domain_name_suffix diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_interface_ip_configuration.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_interface_ip_configuration.py deleted file mode 100644 index 1e95a2fe410..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_interface_ip_configuration.py +++ /dev/null @@ -1,105 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource import SubResource - - -class NetworkInterfaceIPConfiguration(SubResource): - """IPConfiguration in a network interface. - - :param id: Resource ID. - :type id: str - :param virtual_network_taps: The reference to Virtual Network Taps. - :type virtual_network_taps: - list[~azure.mgmt.network.v2018_08_01.models.VirtualNetworkTap] - :param application_gateway_backend_address_pools: The reference of - ApplicationGatewayBackendAddressPool resource. - :type application_gateway_backend_address_pools: - list[~azure.mgmt.network.v2018_08_01.models.ApplicationGatewayBackendAddressPool] - :param load_balancer_backend_address_pools: The reference of - LoadBalancerBackendAddressPool resource. - :type load_balancer_backend_address_pools: - list[~azure.mgmt.network.v2018_08_01.models.BackendAddressPool] - :param load_balancer_inbound_nat_rules: A list of references of - LoadBalancerInboundNatRules. - :type load_balancer_inbound_nat_rules: - list[~azure.mgmt.network.v2018_08_01.models.InboundNatRule] - :param private_ip_address: Private IP address of the IP configuration. - :type private_ip_address: str - :param private_ip_allocation_method: Defines how a private IP address is - assigned. Possible values are: 'Static' and 'Dynamic'. Possible values - include: 'Static', 'Dynamic' - :type private_ip_allocation_method: str or - ~azure.mgmt.network.v2018_08_01.models.IPAllocationMethod - :param private_ip_address_version: Available from Api-Version 2016-03-30 - onwards, it represents whether the specific ipconfiguration is IPv4 or - IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'. - Possible values include: 'IPv4', 'IPv6' - :type private_ip_address_version: str or - ~azure.mgmt.network.v2018_08_01.models.IPVersion - :param subnet: Subnet bound to the IP configuration. - :type subnet: ~azure.mgmt.network.v2018_08_01.models.Subnet - :param primary: Gets whether this is a primary customer address on the - network interface. - :type primary: bool - :param public_ip_address: Public IP address bound to the IP configuration. - :type public_ip_address: - ~azure.mgmt.network.v2018_08_01.models.PublicIPAddress - :param application_security_groups: Application security groups in which - the IP configuration is included. - :type application_security_groups: - list[~azure.mgmt.network.v2018_08_01.models.ApplicationSecurityGroup] - :param provisioning_state: The provisioning state of the network interface - IP configuration. Possible values are: 'Updating', 'Deleting', and - 'Failed'. - :type provisioning_state: str - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'virtual_network_taps': {'key': 'properties.virtualNetworkTaps', 'type': '[VirtualNetworkTap]'}, - 'application_gateway_backend_address_pools': {'key': 'properties.applicationGatewayBackendAddressPools', 'type': '[ApplicationGatewayBackendAddressPool]'}, - 'load_balancer_backend_address_pools': {'key': 'properties.loadBalancerBackendAddressPools', 'type': '[BackendAddressPool]'}, - 'load_balancer_inbound_nat_rules': {'key': 'properties.loadBalancerInboundNatRules', 'type': '[InboundNatRule]'}, - 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, - 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, - 'private_ip_address_version': {'key': 'properties.privateIPAddressVersion', 'type': 'str'}, - 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, - 'primary': {'key': 'properties.primary', 'type': 'bool'}, - 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'PublicIPAddress'}, - 'application_security_groups': {'key': 'properties.applicationSecurityGroups', 'type': '[ApplicationSecurityGroup]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(NetworkInterfaceIPConfiguration, self).__init__(**kwargs) - self.virtual_network_taps = kwargs.get('virtual_network_taps', None) - self.application_gateway_backend_address_pools = kwargs.get('application_gateway_backend_address_pools', None) - self.load_balancer_backend_address_pools = kwargs.get('load_balancer_backend_address_pools', None) - self.load_balancer_inbound_nat_rules = kwargs.get('load_balancer_inbound_nat_rules', None) - self.private_ip_address = kwargs.get('private_ip_address', None) - self.private_ip_allocation_method = kwargs.get('private_ip_allocation_method', None) - self.private_ip_address_version = kwargs.get('private_ip_address_version', None) - self.subnet = kwargs.get('subnet', None) - self.primary = kwargs.get('primary', None) - self.public_ip_address = kwargs.get('public_ip_address', None) - self.application_security_groups = kwargs.get('application_security_groups', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.name = kwargs.get('name', None) - self.etag = kwargs.get('etag', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_interface_ip_configuration_paged.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_interface_ip_configuration_paged.py deleted file mode 100644 index 4571aebf772..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_interface_ip_configuration_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.paging import Paged - - -class NetworkInterfaceIPConfigurationPaged(Paged): - """ - A paging container for iterating over a list of :class:`NetworkInterfaceIPConfiguration ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[NetworkInterfaceIPConfiguration]'} - } - - def __init__(self, *args, **kwargs): - - super(NetworkInterfaceIPConfigurationPaged, self).__init__(*args, **kwargs) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_interface_ip_configuration_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_interface_ip_configuration_py3.py deleted file mode 100644 index f1fd7706aa8..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_interface_ip_configuration_py3.py +++ /dev/null @@ -1,105 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource_py3 import SubResource - - -class NetworkInterfaceIPConfiguration(SubResource): - """IPConfiguration in a network interface. - - :param id: Resource ID. - :type id: str - :param virtual_network_taps: The reference to Virtual Network Taps. - :type virtual_network_taps: - list[~azure.mgmt.network.v2018_08_01.models.VirtualNetworkTap] - :param application_gateway_backend_address_pools: The reference of - ApplicationGatewayBackendAddressPool resource. - :type application_gateway_backend_address_pools: - list[~azure.mgmt.network.v2018_08_01.models.ApplicationGatewayBackendAddressPool] - :param load_balancer_backend_address_pools: The reference of - LoadBalancerBackendAddressPool resource. - :type load_balancer_backend_address_pools: - list[~azure.mgmt.network.v2018_08_01.models.BackendAddressPool] - :param load_balancer_inbound_nat_rules: A list of references of - LoadBalancerInboundNatRules. - :type load_balancer_inbound_nat_rules: - list[~azure.mgmt.network.v2018_08_01.models.InboundNatRule] - :param private_ip_address: Private IP address of the IP configuration. - :type private_ip_address: str - :param private_ip_allocation_method: Defines how a private IP address is - assigned. Possible values are: 'Static' and 'Dynamic'. Possible values - include: 'Static', 'Dynamic' - :type private_ip_allocation_method: str or - ~azure.mgmt.network.v2018_08_01.models.IPAllocationMethod - :param private_ip_address_version: Available from Api-Version 2016-03-30 - onwards, it represents whether the specific ipconfiguration is IPv4 or - IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'. - Possible values include: 'IPv4', 'IPv6' - :type private_ip_address_version: str or - ~azure.mgmt.network.v2018_08_01.models.IPVersion - :param subnet: Subnet bound to the IP configuration. - :type subnet: ~azure.mgmt.network.v2018_08_01.models.Subnet - :param primary: Gets whether this is a primary customer address on the - network interface. - :type primary: bool - :param public_ip_address: Public IP address bound to the IP configuration. - :type public_ip_address: - ~azure.mgmt.network.v2018_08_01.models.PublicIPAddress - :param application_security_groups: Application security groups in which - the IP configuration is included. - :type application_security_groups: - list[~azure.mgmt.network.v2018_08_01.models.ApplicationSecurityGroup] - :param provisioning_state: The provisioning state of the network interface - IP configuration. Possible values are: 'Updating', 'Deleting', and - 'Failed'. - :type provisioning_state: str - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'virtual_network_taps': {'key': 'properties.virtualNetworkTaps', 'type': '[VirtualNetworkTap]'}, - 'application_gateway_backend_address_pools': {'key': 'properties.applicationGatewayBackendAddressPools', 'type': '[ApplicationGatewayBackendAddressPool]'}, - 'load_balancer_backend_address_pools': {'key': 'properties.loadBalancerBackendAddressPools', 'type': '[BackendAddressPool]'}, - 'load_balancer_inbound_nat_rules': {'key': 'properties.loadBalancerInboundNatRules', 'type': '[InboundNatRule]'}, - 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, - 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, - 'private_ip_address_version': {'key': 'properties.privateIPAddressVersion', 'type': 'str'}, - 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, - 'primary': {'key': 'properties.primary', 'type': 'bool'}, - 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'PublicIPAddress'}, - 'application_security_groups': {'key': 'properties.applicationSecurityGroups', 'type': '[ApplicationSecurityGroup]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, virtual_network_taps=None, application_gateway_backend_address_pools=None, load_balancer_backend_address_pools=None, load_balancer_inbound_nat_rules=None, private_ip_address: str=None, private_ip_allocation_method=None, private_ip_address_version=None, subnet=None, primary: bool=None, public_ip_address=None, application_security_groups=None, provisioning_state: str=None, name: str=None, etag: str=None, **kwargs) -> None: - super(NetworkInterfaceIPConfiguration, self).__init__(id=id, **kwargs) - self.virtual_network_taps = virtual_network_taps - self.application_gateway_backend_address_pools = application_gateway_backend_address_pools - self.load_balancer_backend_address_pools = load_balancer_backend_address_pools - self.load_balancer_inbound_nat_rules = load_balancer_inbound_nat_rules - self.private_ip_address = private_ip_address - self.private_ip_allocation_method = private_ip_allocation_method - self.private_ip_address_version = private_ip_address_version - self.subnet = subnet - self.primary = primary - self.public_ip_address = public_ip_address - self.application_security_groups = application_security_groups - self.provisioning_state = provisioning_state - self.name = name - self.etag = etag diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_interface_paged.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_interface_paged.py deleted file mode 100644 index b4e3f7645fa..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_interface_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.paging import Paged - - -class NetworkInterfacePaged(Paged): - """ - A paging container for iterating over a list of :class:`NetworkInterface ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[NetworkInterface]'} - } - - def __init__(self, *args, **kwargs): - - super(NetworkInterfacePaged, self).__init__(*args, **kwargs) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_interface_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_interface_py3.py deleted file mode 100644 index cb7f1e39b06..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_interface_py3.py +++ /dev/null @@ -1,120 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .resource_py3 import Resource - - -class NetworkInterface(Resource): - """A network interface in a resource group. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param virtual_machine: The reference of a virtual machine. - :type virtual_machine: ~azure.mgmt.network.v2018_08_01.models.SubResource - :param network_security_group: The reference of the NetworkSecurityGroup - resource. - :type network_security_group: - ~azure.mgmt.network.v2018_08_01.models.NetworkSecurityGroup - :ivar interface_endpoint: A reference to the interface endpoint to which - the network interface is linked. - :vartype interface_endpoint: - ~azure.mgmt.network.v2018_08_01.models.InterfaceEndpoint - :param ip_configurations: A list of IPConfigurations of the network - interface. - :type ip_configurations: - list[~azure.mgmt.network.v2018_08_01.models.NetworkInterfaceIPConfiguration] - :param tap_configurations: A list of TapConfigurations of the network - interface. - :type tap_configurations: - list[~azure.mgmt.network.v2018_08_01.models.NetworkInterfaceTapConfiguration] - :param dns_settings: The DNS settings in network interface. - :type dns_settings: - ~azure.mgmt.network.v2018_08_01.models.NetworkInterfaceDnsSettings - :param mac_address: The MAC address of the network interface. - :type mac_address: str - :param primary: Gets whether this is a primary network interface on a - virtual machine. - :type primary: bool - :param enable_accelerated_networking: If the network interface is - accelerated networking enabled. - :type enable_accelerated_networking: bool - :param enable_ip_forwarding: Indicates whether IP forwarding is enabled on - this network interface. - :type enable_ip_forwarding: bool - :ivar hosted_workloads: A list of references to linked BareMetal resources - :vartype hosted_workloads: list[str] - :param resource_guid: The resource GUID property of the network interface - resource. - :type resource_guid: str - :param provisioning_state: The provisioning state of the public IP - resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - :type provisioning_state: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'interface_endpoint': {'readonly': True}, - 'hosted_workloads': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'virtual_machine': {'key': 'properties.virtualMachine', 'type': 'SubResource'}, - 'network_security_group': {'key': 'properties.networkSecurityGroup', 'type': 'NetworkSecurityGroup'}, - 'interface_endpoint': {'key': 'properties.interfaceEndpoint', 'type': 'InterfaceEndpoint'}, - 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[NetworkInterfaceIPConfiguration]'}, - 'tap_configurations': {'key': 'properties.tapConfigurations', 'type': '[NetworkInterfaceTapConfiguration]'}, - 'dns_settings': {'key': 'properties.dnsSettings', 'type': 'NetworkInterfaceDnsSettings'}, - 'mac_address': {'key': 'properties.macAddress', 'type': 'str'}, - 'primary': {'key': 'properties.primary', 'type': 'bool'}, - 'enable_accelerated_networking': {'key': 'properties.enableAcceleratedNetworking', 'type': 'bool'}, - 'enable_ip_forwarding': {'key': 'properties.enableIPForwarding', 'type': 'bool'}, - 'hosted_workloads': {'key': 'properties.hostedWorkloads', 'type': '[str]'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, virtual_machine=None, network_security_group=None, ip_configurations=None, tap_configurations=None, dns_settings=None, mac_address: str=None, primary: bool=None, enable_accelerated_networking: bool=None, enable_ip_forwarding: bool=None, resource_guid: str=None, provisioning_state: str=None, etag: str=None, **kwargs) -> None: - super(NetworkInterface, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.virtual_machine = virtual_machine - self.network_security_group = network_security_group - self.interface_endpoint = None - self.ip_configurations = ip_configurations - self.tap_configurations = tap_configurations - self.dns_settings = dns_settings - self.mac_address = mac_address - self.primary = primary - self.enable_accelerated_networking = enable_accelerated_networking - self.enable_ip_forwarding = enable_ip_forwarding - self.hosted_workloads = None - self.resource_guid = resource_guid - self.provisioning_state = provisioning_state - self.etag = etag diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_interface_tap_configuration.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_interface_tap_configuration.py deleted file mode 100644 index a2dcf35f26a..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_interface_tap_configuration.py +++ /dev/null @@ -1,61 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource import SubResource - - -class NetworkInterfaceTapConfiguration(SubResource): - """Tap configuration in a Network Interface. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param virtual_network_tap: The reference of the Virtual Network Tap - resource. - :type virtual_network_tap: - ~azure.mgmt.network.v2018_08_01.models.VirtualNetworkTap - :ivar provisioning_state: The provisioning state of the network interface - tap configuration. Possible values are: 'Updating', 'Deleting', and - 'Failed'. - :vartype provisioning_state: str - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - :ivar type: Sub Resource type. - :vartype type: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'virtual_network_tap': {'key': 'properties.virtualNetworkTap', 'type': 'VirtualNetworkTap'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(NetworkInterfaceTapConfiguration, self).__init__(**kwargs) - self.virtual_network_tap = kwargs.get('virtual_network_tap', None) - self.provisioning_state = None - self.name = kwargs.get('name', None) - self.etag = kwargs.get('etag', None) - self.type = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_interface_tap_configuration_paged.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_interface_tap_configuration_paged.py deleted file mode 100644 index 155db4f86bd..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_interface_tap_configuration_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.paging import Paged - - -class NetworkInterfaceTapConfigurationPaged(Paged): - """ - A paging container for iterating over a list of :class:`NetworkInterfaceTapConfiguration ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[NetworkInterfaceTapConfiguration]'} - } - - def __init__(self, *args, **kwargs): - - super(NetworkInterfaceTapConfigurationPaged, self).__init__(*args, **kwargs) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_interface_tap_configuration_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_interface_tap_configuration_py3.py deleted file mode 100644 index 17fc8ee4a1d..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_interface_tap_configuration_py3.py +++ /dev/null @@ -1,61 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource_py3 import SubResource - - -class NetworkInterfaceTapConfiguration(SubResource): - """Tap configuration in a Network Interface. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param virtual_network_tap: The reference of the Virtual Network Tap - resource. - :type virtual_network_tap: - ~azure.mgmt.network.v2018_08_01.models.VirtualNetworkTap - :ivar provisioning_state: The provisioning state of the network interface - tap configuration. Possible values are: 'Updating', 'Deleting', and - 'Failed'. - :vartype provisioning_state: str - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - :ivar type: Sub Resource type. - :vartype type: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'virtual_network_tap': {'key': 'properties.virtualNetworkTap', 'type': 'VirtualNetworkTap'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, virtual_network_tap=None, name: str=None, etag: str=None, **kwargs) -> None: - super(NetworkInterfaceTapConfiguration, self).__init__(id=id, **kwargs) - self.virtual_network_tap = virtual_network_tap - self.provisioning_state = None - self.name = name - self.etag = etag - self.type = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_management_client_enums.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_management_client_enums.py deleted file mode 100644 index e443490e112..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_management_client_enums.py +++ /dev/null @@ -1,671 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from enum import Enum - - -class IPAllocationMethod(str, Enum): - - static = "Static" - dynamic = "Dynamic" - - -class SecurityRuleProtocol(str, Enum): - - tcp = "Tcp" - udp = "Udp" - asterisk = "*" - - -class SecurityRuleAccess(str, Enum): - - allow = "Allow" - deny = "Deny" - - -class SecurityRuleDirection(str, Enum): - - inbound = "Inbound" - outbound = "Outbound" - - -class RouteNextHopType(str, Enum): - - virtual_network_gateway = "VirtualNetworkGateway" - vnet_local = "VnetLocal" - internet = "Internet" - virtual_appliance = "VirtualAppliance" - none = "None" - - -class PublicIPAddressSkuName(str, Enum): - - basic = "Basic" - standard = "Standard" - - -class IPVersion(str, Enum): - - ipv4 = "IPv4" - ipv6 = "IPv6" - - -class TransportProtocol(str, Enum): - - udp = "Udp" - tcp = "Tcp" - all = "All" - - -class ApplicationGatewayProtocol(str, Enum): - - http = "Http" - https = "Https" - - -class ApplicationGatewayCookieBasedAffinity(str, Enum): - - enabled = "Enabled" - disabled = "Disabled" - - -class ApplicationGatewayBackendHealthServerHealth(str, Enum): - - unknown = "Unknown" - up = "Up" - down = "Down" - partial = "Partial" - draining = "Draining" - - -class ApplicationGatewaySkuName(str, Enum): - - standard_small = "Standard_Small" - standard_medium = "Standard_Medium" - standard_large = "Standard_Large" - waf_medium = "WAF_Medium" - waf_large = "WAF_Large" - standard_v2 = "Standard_v2" - waf_v2 = "WAF_v2" - - -class ApplicationGatewayTier(str, Enum): - - standard = "Standard" - waf = "WAF" - standard_v2 = "Standard_v2" - waf_v2 = "WAF_v2" - - -class ApplicationGatewaySslProtocol(str, Enum): - - tl_sv1_0 = "TLSv1_0" - tl_sv1_1 = "TLSv1_1" - tl_sv1_2 = "TLSv1_2" - - -class ApplicationGatewaySslPolicyType(str, Enum): - - predefined = "Predefined" - custom = "Custom" - - -class ApplicationGatewaySslPolicyName(str, Enum): - - app_gw_ssl_policy20150501 = "AppGwSslPolicy20150501" - app_gw_ssl_policy20170401 = "AppGwSslPolicy20170401" - app_gw_ssl_policy20170401_s = "AppGwSslPolicy20170401S" - - -class ApplicationGatewaySslCipherSuite(str, Enum): - - tls_ecdhe_rsa_with_aes_256_cbc_sha384 = "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384" - tls_ecdhe_rsa_with_aes_128_cbc_sha256 = "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256" - tls_ecdhe_rsa_with_aes_256_cbc_sha = "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA" - tls_ecdhe_rsa_with_aes_128_cbc_sha = "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA" - tls_dhe_rsa_with_aes_256_gcm_sha384 = "TLS_DHE_RSA_WITH_AES_256_GCM_SHA384" - tls_dhe_rsa_with_aes_128_gcm_sha256 = "TLS_DHE_RSA_WITH_AES_128_GCM_SHA256" - tls_dhe_rsa_with_aes_256_cbc_sha = "TLS_DHE_RSA_WITH_AES_256_CBC_SHA" - tls_dhe_rsa_with_aes_128_cbc_sha = "TLS_DHE_RSA_WITH_AES_128_CBC_SHA" - tls_rsa_with_aes_256_gcm_sha384 = "TLS_RSA_WITH_AES_256_GCM_SHA384" - tls_rsa_with_aes_128_gcm_sha256 = "TLS_RSA_WITH_AES_128_GCM_SHA256" - tls_rsa_with_aes_256_cbc_sha256 = "TLS_RSA_WITH_AES_256_CBC_SHA256" - tls_rsa_with_aes_128_cbc_sha256 = "TLS_RSA_WITH_AES_128_CBC_SHA256" - tls_rsa_with_aes_256_cbc_sha = "TLS_RSA_WITH_AES_256_CBC_SHA" - tls_rsa_with_aes_128_cbc_sha = "TLS_RSA_WITH_AES_128_CBC_SHA" - tls_ecdhe_ecdsa_with_aes_256_gcm_sha384 = "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384" - tls_ecdhe_ecdsa_with_aes_128_gcm_sha256 = "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256" - tls_ecdhe_ecdsa_with_aes_256_cbc_sha384 = "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384" - tls_ecdhe_ecdsa_with_aes_128_cbc_sha256 = "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256" - tls_ecdhe_ecdsa_with_aes_256_cbc_sha = "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA" - tls_ecdhe_ecdsa_with_aes_128_cbc_sha = "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA" - tls_dhe_dss_with_aes_256_cbc_sha256 = "TLS_DHE_DSS_WITH_AES_256_CBC_SHA256" - tls_dhe_dss_with_aes_128_cbc_sha256 = "TLS_DHE_DSS_WITH_AES_128_CBC_SHA256" - tls_dhe_dss_with_aes_256_cbc_sha = "TLS_DHE_DSS_WITH_AES_256_CBC_SHA" - tls_dhe_dss_with_aes_128_cbc_sha = "TLS_DHE_DSS_WITH_AES_128_CBC_SHA" - tls_rsa_with_3_des_ede_cbc_sha = "TLS_RSA_WITH_3DES_EDE_CBC_SHA" - - -class ApplicationGatewayRequestRoutingRuleType(str, Enum): - - basic = "Basic" - path_based_routing = "PathBasedRouting" - - -class ApplicationGatewayRedirectType(str, Enum): - - permanent = "Permanent" - found = "Found" - see_other = "SeeOther" - temporary = "Temporary" - - -class ApplicationGatewayOperationalState(str, Enum): - - stopped = "Stopped" - starting = "Starting" - running = "Running" - stopping = "Stopping" - - -class ApplicationGatewayFirewallMode(str, Enum): - - detection = "Detection" - prevention = "Prevention" - - -class ProvisioningState(str, Enum): - - succeeded = "Succeeded" - updating = "Updating" - deleting = "Deleting" - failed = "Failed" - - -class AzureFirewallRCActionType(str, Enum): - - allow = "Allow" - deny = "Deny" - - -class AzureFirewallApplicationRuleProtocolType(str, Enum): - - http = "Http" - https = "Https" - - -class AzureFirewallNatRCActionType(str, Enum): - - snat = "Snat" - dnat = "Dnat" - - -class AzureFirewallNetworkRuleProtocol(str, Enum): - - tcp = "TCP" - udp = "UDP" - any = "Any" - - -class AuthorizationUseStatus(str, Enum): - - available = "Available" - in_use = "InUse" - - -class ExpressRouteCircuitPeeringAdvertisedPublicPrefixState(str, Enum): - - not_configured = "NotConfigured" - configuring = "Configuring" - configured = "Configured" - validation_needed = "ValidationNeeded" - - -class Access(str, Enum): - - allow = "Allow" - deny = "Deny" - - -class ExpressRoutePeeringType(str, Enum): - - azure_public_peering = "AzurePublicPeering" - azure_private_peering = "AzurePrivatePeering" - microsoft_peering = "MicrosoftPeering" - - -class ExpressRoutePeeringState(str, Enum): - - disabled = "Disabled" - enabled = "Enabled" - - -class CircuitConnectionStatus(str, Enum): - - connected = "Connected" - connecting = "Connecting" - disconnected = "Disconnected" - - -class ExpressRouteCircuitPeeringState(str, Enum): - - disabled = "Disabled" - enabled = "Enabled" - - -class ExpressRouteCircuitSkuTier(str, Enum): - - standard = "Standard" - premium = "Premium" - - -class ExpressRouteCircuitSkuFamily(str, Enum): - - unlimited_data = "UnlimitedData" - metered_data = "MeteredData" - - -class ServiceProviderProvisioningState(str, Enum): - - not_provisioned = "NotProvisioned" - provisioning = "Provisioning" - provisioned = "Provisioned" - deprovisioning = "Deprovisioning" - - -class LoadBalancerSkuName(str, Enum): - - basic = "Basic" - standard = "Standard" - - -class LoadDistribution(str, Enum): - - default = "Default" - source_ip = "SourceIP" - source_ip_protocol = "SourceIPProtocol" - - -class ProbeProtocol(str, Enum): - - http = "Http" - tcp = "Tcp" - https = "Https" - - -class NetworkOperationStatus(str, Enum): - - in_progress = "InProgress" - succeeded = "Succeeded" - failed = "Failed" - - -class EffectiveSecurityRuleProtocol(str, Enum): - - tcp = "Tcp" - udp = "Udp" - all = "All" - - -class EffectiveRouteSource(str, Enum): - - unknown = "Unknown" - user = "User" - virtual_network_gateway = "VirtualNetworkGateway" - default = "Default" - - -class EffectiveRouteState(str, Enum): - - active = "Active" - invalid = "Invalid" - - -class AssociationType(str, Enum): - - associated = "Associated" - contains = "Contains" - - -class Direction(str, Enum): - - inbound = "Inbound" - outbound = "Outbound" - - -class IpFlowProtocol(str, Enum): - - tcp = "TCP" - udp = "UDP" - - -class NextHopType(str, Enum): - - internet = "Internet" - virtual_appliance = "VirtualAppliance" - virtual_network_gateway = "VirtualNetworkGateway" - vnet_local = "VnetLocal" - hyper_net_gateway = "HyperNetGateway" - none = "None" - - -class PcProtocol(str, Enum): - - tcp = "TCP" - udp = "UDP" - any = "Any" - - -class PcStatus(str, Enum): - - not_started = "NotStarted" - running = "Running" - stopped = "Stopped" - error = "Error" - unknown = "Unknown" - - -class PcError(str, Enum): - - internal_error = "InternalError" - agent_stopped = "AgentStopped" - capture_failed = "CaptureFailed" - local_file_failed = "LocalFileFailed" - storage_failed = "StorageFailed" - - -class Protocol(str, Enum): - - tcp = "Tcp" - http = "Http" - https = "Https" - icmp = "Icmp" - - -class HTTPMethod(str, Enum): - - get = "Get" - - -class Origin(str, Enum): - - local = "Local" - inbound = "Inbound" - outbound = "Outbound" - - -class Severity(str, Enum): - - error = "Error" - warning = "Warning" - - -class IssueType(str, Enum): - - unknown = "Unknown" - agent_stopped = "AgentStopped" - guest_firewall = "GuestFirewall" - dns_resolution = "DnsResolution" - socket_bind = "SocketBind" - network_security_rule = "NetworkSecurityRule" - user_defined_route = "UserDefinedRoute" - port_throttled = "PortThrottled" - platform = "Platform" - - -class ConnectionStatus(str, Enum): - - unknown = "Unknown" - connected = "Connected" - disconnected = "Disconnected" - degraded = "Degraded" - - -class ConnectionMonitorSourceStatus(str, Enum): - - uknown = "Uknown" - active = "Active" - inactive = "Inactive" - - -class ConnectionState(str, Enum): - - reachable = "Reachable" - unreachable = "Unreachable" - unknown = "Unknown" - - -class EvaluationState(str, Enum): - - not_started = "NotStarted" - in_progress = "InProgress" - completed = "Completed" - - -class PublicIPPrefixSkuName(str, Enum): - - standard = "Standard" - - -class VirtualNetworkPeeringState(str, Enum): - - initiated = "Initiated" - connected = "Connected" - disconnected = "Disconnected" - - -class VirtualNetworkGatewayType(str, Enum): - - vpn = "Vpn" - express_route = "ExpressRoute" - - -class VpnType(str, Enum): - - policy_based = "PolicyBased" - route_based = "RouteBased" - - -class VirtualNetworkGatewaySkuName(str, Enum): - - basic = "Basic" - high_performance = "HighPerformance" - standard = "Standard" - ultra_performance = "UltraPerformance" - vpn_gw1 = "VpnGw1" - vpn_gw2 = "VpnGw2" - vpn_gw3 = "VpnGw3" - vpn_gw1_az = "VpnGw1AZ" - vpn_gw2_az = "VpnGw2AZ" - vpn_gw3_az = "VpnGw3AZ" - er_gw1_az = "ErGw1AZ" - er_gw2_az = "ErGw2AZ" - er_gw3_az = "ErGw3AZ" - - -class VirtualNetworkGatewaySkuTier(str, Enum): - - basic = "Basic" - high_performance = "HighPerformance" - standard = "Standard" - ultra_performance = "UltraPerformance" - vpn_gw1 = "VpnGw1" - vpn_gw2 = "VpnGw2" - vpn_gw3 = "VpnGw3" - vpn_gw1_az = "VpnGw1AZ" - vpn_gw2_az = "VpnGw2AZ" - vpn_gw3_az = "VpnGw3AZ" - er_gw1_az = "ErGw1AZ" - er_gw2_az = "ErGw2AZ" - er_gw3_az = "ErGw3AZ" - - -class VpnClientProtocol(str, Enum): - - ike_v2 = "IkeV2" - sstp = "SSTP" - open_vpn = "OpenVPN" - - -class IpsecEncryption(str, Enum): - - none = "None" - des = "DES" - des3 = "DES3" - aes128 = "AES128" - aes192 = "AES192" - aes256 = "AES256" - gcmaes128 = "GCMAES128" - gcmaes192 = "GCMAES192" - gcmaes256 = "GCMAES256" - - -class IpsecIntegrity(str, Enum): - - md5 = "MD5" - sha1 = "SHA1" - sha256 = "SHA256" - gcmaes128 = "GCMAES128" - gcmaes192 = "GCMAES192" - gcmaes256 = "GCMAES256" - - -class IkeEncryption(str, Enum): - - des = "DES" - des3 = "DES3" - aes128 = "AES128" - aes192 = "AES192" - aes256 = "AES256" - gcmaes256 = "GCMAES256" - gcmaes128 = "GCMAES128" - - -class IkeIntegrity(str, Enum): - - md5 = "MD5" - sha1 = "SHA1" - sha256 = "SHA256" - sha384 = "SHA384" - gcmaes256 = "GCMAES256" - gcmaes128 = "GCMAES128" - - -class DhGroup(str, Enum): - - none = "None" - dh_group1 = "DHGroup1" - dh_group2 = "DHGroup2" - dh_group14 = "DHGroup14" - dh_group2048 = "DHGroup2048" - ecp256 = "ECP256" - ecp384 = "ECP384" - dh_group24 = "DHGroup24" - - -class PfsGroup(str, Enum): - - none = "None" - pfs1 = "PFS1" - pfs2 = "PFS2" - pfs2048 = "PFS2048" - ecp256 = "ECP256" - ecp384 = "ECP384" - pfs24 = "PFS24" - pfs14 = "PFS14" - pfsmm = "PFSMM" - - -class BgpPeerState(str, Enum): - - unknown = "Unknown" - stopped = "Stopped" - idle = "Idle" - connecting = "Connecting" - connected = "Connected" - - -class ProcessorArchitecture(str, Enum): - - amd64 = "Amd64" - x86 = "X86" - - -class AuthenticationMethod(str, Enum): - - eaptls = "EAPTLS" - eapmscha_pv2 = "EAPMSCHAPv2" - - -class VirtualNetworkGatewayConnectionStatus(str, Enum): - - unknown = "Unknown" - connecting = "Connecting" - connected = "Connected" - not_connected = "NotConnected" - - -class VirtualNetworkGatewayConnectionType(str, Enum): - - ipsec = "IPsec" - vnet2_vnet = "Vnet2Vnet" - express_route = "ExpressRoute" - vpn_client = "VPNClient" - - -class VirtualNetworkGatewayConnectionProtocol(str, Enum): - - ik_ev2 = "IKEv2" - ik_ev1 = "IKEv1" - - -class OfficeTrafficCategory(str, Enum): - - optimize = "Optimize" - optimize_and_allow = "OptimizeAndAllow" - all = "All" - none = "None" - - -class VpnGatewayTunnelingProtocol(str, Enum): - - ike_v2 = "IkeV2" - open_vpn = "OpenVPN" - - -class VpnConnectionStatus(str, Enum): - - unknown = "Unknown" - connecting = "Connecting" - connected = "Connected" - not_connected = "NotConnected" - - -class VirtualWanSecurityProviderType(str, Enum): - - external = "External" - native = "Native" - - -class TunnelConnectionStatus(str, Enum): - - unknown = "Unknown" - connecting = "Connecting" - connected = "Connected" - not_connected = "NotConnected" - - -class HubVirtualNetworkConnectionStatus(str, Enum): - - unknown = "Unknown" - connecting = "Connecting" - connected = "Connected" - not_connected = "NotConnected" diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_profile.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_profile.py deleted file mode 100644 index 2cb8ec27324..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_profile.py +++ /dev/null @@ -1,75 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .resource import Resource - - -class NetworkProfile(Resource): - """Network profile resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param container_network_interfaces: List of child container network - interfaces. - :type container_network_interfaces: - list[~azure.mgmt.network.v2018_08_01.models.ContainerNetworkInterface] - :param container_network_interface_configurations: List of chid container - network interface configurations. - :type container_network_interface_configurations: - list[~azure.mgmt.network.v2018_08_01.models.ContainerNetworkInterfaceConfiguration] - :ivar resource_guid: The resource GUID property of the network interface - resource. - :vartype resource_guid: str - :ivar provisioning_state: The provisioning state of the resource. - :vartype provisioning_state: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'resource_guid': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'container_network_interfaces': {'key': 'properties.containerNetworkInterfaces', 'type': '[ContainerNetworkInterface]'}, - 'container_network_interface_configurations': {'key': 'properties.containerNetworkInterfaceConfigurations', 'type': '[ContainerNetworkInterfaceConfiguration]'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(NetworkProfile, self).__init__(**kwargs) - self.container_network_interfaces = kwargs.get('container_network_interfaces', None) - self.container_network_interface_configurations = kwargs.get('container_network_interface_configurations', None) - self.resource_guid = None - self.provisioning_state = None - self.etag = kwargs.get('etag', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_profile_paged.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_profile_paged.py deleted file mode 100644 index 1e95ba3a03c..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_profile_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.paging import Paged - - -class NetworkProfilePaged(Paged): - """ - A paging container for iterating over a list of :class:`NetworkProfile ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[NetworkProfile]'} - } - - def __init__(self, *args, **kwargs): - - super(NetworkProfilePaged, self).__init__(*args, **kwargs) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_profile_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_profile_py3.py deleted file mode 100644 index e20879cd92e..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_profile_py3.py +++ /dev/null @@ -1,75 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .resource_py3 import Resource - - -class NetworkProfile(Resource): - """Network profile resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param container_network_interfaces: List of child container network - interfaces. - :type container_network_interfaces: - list[~azure.mgmt.network.v2018_08_01.models.ContainerNetworkInterface] - :param container_network_interface_configurations: List of chid container - network interface configurations. - :type container_network_interface_configurations: - list[~azure.mgmt.network.v2018_08_01.models.ContainerNetworkInterfaceConfiguration] - :ivar resource_guid: The resource GUID property of the network interface - resource. - :vartype resource_guid: str - :ivar provisioning_state: The provisioning state of the resource. - :vartype provisioning_state: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'resource_guid': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'container_network_interfaces': {'key': 'properties.containerNetworkInterfaces', 'type': '[ContainerNetworkInterface]'}, - 'container_network_interface_configurations': {'key': 'properties.containerNetworkInterfaceConfigurations', 'type': '[ContainerNetworkInterfaceConfiguration]'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, container_network_interfaces=None, container_network_interface_configurations=None, etag: str=None, **kwargs) -> None: - super(NetworkProfile, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.container_network_interfaces = container_network_interfaces - self.container_network_interface_configurations = container_network_interface_configurations - self.resource_guid = None - self.provisioning_state = None - self.etag = etag diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_security_group.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_security_group.py deleted file mode 100644 index 4791dd20779..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_security_group.py +++ /dev/null @@ -1,86 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .resource import Resource - - -class NetworkSecurityGroup(Resource): - """NetworkSecurityGroup resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param security_rules: A collection of security rules of the network - security group. - :type security_rules: - list[~azure.mgmt.network.v2018_08_01.models.SecurityRule] - :param default_security_rules: The default security rules of network - security group. - :type default_security_rules: - list[~azure.mgmt.network.v2018_08_01.models.SecurityRule] - :ivar network_interfaces: A collection of references to network - interfaces. - :vartype network_interfaces: - list[~azure.mgmt.network.v2018_08_01.models.NetworkInterface] - :ivar subnets: A collection of references to subnets. - :vartype subnets: list[~azure.mgmt.network.v2018_08_01.models.Subnet] - :param resource_guid: The resource GUID property of the network security - group resource. - :type resource_guid: str - :param provisioning_state: The provisioning state of the public IP - resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - :type provisioning_state: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'network_interfaces': {'readonly': True}, - 'subnets': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'security_rules': {'key': 'properties.securityRules', 'type': '[SecurityRule]'}, - 'default_security_rules': {'key': 'properties.defaultSecurityRules', 'type': '[SecurityRule]'}, - 'network_interfaces': {'key': 'properties.networkInterfaces', 'type': '[NetworkInterface]'}, - 'subnets': {'key': 'properties.subnets', 'type': '[Subnet]'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(NetworkSecurityGroup, self).__init__(**kwargs) - self.security_rules = kwargs.get('security_rules', None) - self.default_security_rules = kwargs.get('default_security_rules', None) - self.network_interfaces = None - self.subnets = None - self.resource_guid = kwargs.get('resource_guid', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.etag = kwargs.get('etag', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_security_group_paged.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_security_group_paged.py deleted file mode 100644 index 1f70c4130af..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_security_group_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.paging import Paged - - -class NetworkSecurityGroupPaged(Paged): - """ - A paging container for iterating over a list of :class:`NetworkSecurityGroup ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[NetworkSecurityGroup]'} - } - - def __init__(self, *args, **kwargs): - - super(NetworkSecurityGroupPaged, self).__init__(*args, **kwargs) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_security_group_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_security_group_py3.py deleted file mode 100644 index 540fd7d9fb0..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_security_group_py3.py +++ /dev/null @@ -1,86 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .resource_py3 import Resource - - -class NetworkSecurityGroup(Resource): - """NetworkSecurityGroup resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param security_rules: A collection of security rules of the network - security group. - :type security_rules: - list[~azure.mgmt.network.v2018_08_01.models.SecurityRule] - :param default_security_rules: The default security rules of network - security group. - :type default_security_rules: - list[~azure.mgmt.network.v2018_08_01.models.SecurityRule] - :ivar network_interfaces: A collection of references to network - interfaces. - :vartype network_interfaces: - list[~azure.mgmt.network.v2018_08_01.models.NetworkInterface] - :ivar subnets: A collection of references to subnets. - :vartype subnets: list[~azure.mgmt.network.v2018_08_01.models.Subnet] - :param resource_guid: The resource GUID property of the network security - group resource. - :type resource_guid: str - :param provisioning_state: The provisioning state of the public IP - resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - :type provisioning_state: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'network_interfaces': {'readonly': True}, - 'subnets': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'security_rules': {'key': 'properties.securityRules', 'type': '[SecurityRule]'}, - 'default_security_rules': {'key': 'properties.defaultSecurityRules', 'type': '[SecurityRule]'}, - 'network_interfaces': {'key': 'properties.networkInterfaces', 'type': '[NetworkInterface]'}, - 'subnets': {'key': 'properties.subnets', 'type': '[Subnet]'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, security_rules=None, default_security_rules=None, resource_guid: str=None, provisioning_state: str=None, etag: str=None, **kwargs) -> None: - super(NetworkSecurityGroup, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.security_rules = security_rules - self.default_security_rules = default_security_rules - self.network_interfaces = None - self.subnets = None - self.resource_guid = resource_guid - self.provisioning_state = provisioning_state - self.etag = etag diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_security_group_result.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_security_group_result.py deleted file mode 100644 index 9bcd86b7b1e..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_security_group_result.py +++ /dev/null @@ -1,45 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class NetworkSecurityGroupResult(Model): - """Network configuration diagnostic result corresponded provided traffic - query. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param security_rule_access_result: The network traffic is allowed or - denied. Possible values are 'Allow' and 'Deny'. Possible values include: - 'Allow', 'Deny' - :type security_rule_access_result: str or - ~azure.mgmt.network.v2018_08_01.models.SecurityRuleAccess - :ivar evaluated_network_security_groups: List of results network security - groups diagnostic. - :vartype evaluated_network_security_groups: - list[~azure.mgmt.network.v2018_08_01.models.EvaluatedNetworkSecurityGroup] - """ - - _validation = { - 'evaluated_network_security_groups': {'readonly': True}, - } - - _attribute_map = { - 'security_rule_access_result': {'key': 'securityRuleAccessResult', 'type': 'str'}, - 'evaluated_network_security_groups': {'key': 'evaluatedNetworkSecurityGroups', 'type': '[EvaluatedNetworkSecurityGroup]'}, - } - - def __init__(self, **kwargs): - super(NetworkSecurityGroupResult, self).__init__(**kwargs) - self.security_rule_access_result = kwargs.get('security_rule_access_result', None) - self.evaluated_network_security_groups = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_security_group_result_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_security_group_result_py3.py deleted file mode 100644 index e0add74d78b..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_security_group_result_py3.py +++ /dev/null @@ -1,45 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class NetworkSecurityGroupResult(Model): - """Network configuration diagnostic result corresponded provided traffic - query. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param security_rule_access_result: The network traffic is allowed or - denied. Possible values are 'Allow' and 'Deny'. Possible values include: - 'Allow', 'Deny' - :type security_rule_access_result: str or - ~azure.mgmt.network.v2018_08_01.models.SecurityRuleAccess - :ivar evaluated_network_security_groups: List of results network security - groups diagnostic. - :vartype evaluated_network_security_groups: - list[~azure.mgmt.network.v2018_08_01.models.EvaluatedNetworkSecurityGroup] - """ - - _validation = { - 'evaluated_network_security_groups': {'readonly': True}, - } - - _attribute_map = { - 'security_rule_access_result': {'key': 'securityRuleAccessResult', 'type': 'str'}, - 'evaluated_network_security_groups': {'key': 'evaluatedNetworkSecurityGroups', 'type': '[EvaluatedNetworkSecurityGroup]'}, - } - - def __init__(self, *, security_rule_access_result=None, **kwargs) -> None: - super(NetworkSecurityGroupResult, self).__init__(**kwargs) - self.security_rule_access_result = security_rule_access_result - self.evaluated_network_security_groups = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_security_rules_evaluation_result.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_security_rules_evaluation_result.py deleted file mode 100644 index 63c680f2093..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_security_rules_evaluation_result.py +++ /dev/null @@ -1,51 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class NetworkSecurityRulesEvaluationResult(Model): - """Network security rules evaluation result. - - :param name: Name of the network security rule. - :type name: str - :param protocol_matched: Value indicating whether protocol is matched. - :type protocol_matched: bool - :param source_matched: Value indicating whether source is matched. - :type source_matched: bool - :param source_port_matched: Value indicating whether source port is - matched. - :type source_port_matched: bool - :param destination_matched: Value indicating whether destination is - matched. - :type destination_matched: bool - :param destination_port_matched: Value indicating whether destination port - is matched. - :type destination_port_matched: bool - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'protocol_matched': {'key': 'protocolMatched', 'type': 'bool'}, - 'source_matched': {'key': 'sourceMatched', 'type': 'bool'}, - 'source_port_matched': {'key': 'sourcePortMatched', 'type': 'bool'}, - 'destination_matched': {'key': 'destinationMatched', 'type': 'bool'}, - 'destination_port_matched': {'key': 'destinationPortMatched', 'type': 'bool'}, - } - - def __init__(self, **kwargs): - super(NetworkSecurityRulesEvaluationResult, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.protocol_matched = kwargs.get('protocol_matched', None) - self.source_matched = kwargs.get('source_matched', None) - self.source_port_matched = kwargs.get('source_port_matched', None) - self.destination_matched = kwargs.get('destination_matched', None) - self.destination_port_matched = kwargs.get('destination_port_matched', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_security_rules_evaluation_result_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_security_rules_evaluation_result_py3.py deleted file mode 100644 index 3958fc34a17..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_security_rules_evaluation_result_py3.py +++ /dev/null @@ -1,51 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class NetworkSecurityRulesEvaluationResult(Model): - """Network security rules evaluation result. - - :param name: Name of the network security rule. - :type name: str - :param protocol_matched: Value indicating whether protocol is matched. - :type protocol_matched: bool - :param source_matched: Value indicating whether source is matched. - :type source_matched: bool - :param source_port_matched: Value indicating whether source port is - matched. - :type source_port_matched: bool - :param destination_matched: Value indicating whether destination is - matched. - :type destination_matched: bool - :param destination_port_matched: Value indicating whether destination port - is matched. - :type destination_port_matched: bool - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'protocol_matched': {'key': 'protocolMatched', 'type': 'bool'}, - 'source_matched': {'key': 'sourceMatched', 'type': 'bool'}, - 'source_port_matched': {'key': 'sourcePortMatched', 'type': 'bool'}, - 'destination_matched': {'key': 'destinationMatched', 'type': 'bool'}, - 'destination_port_matched': {'key': 'destinationPortMatched', 'type': 'bool'}, - } - - def __init__(self, *, name: str=None, protocol_matched: bool=None, source_matched: bool=None, source_port_matched: bool=None, destination_matched: bool=None, destination_port_matched: bool=None, **kwargs) -> None: - super(NetworkSecurityRulesEvaluationResult, self).__init__(**kwargs) - self.name = name - self.protocol_matched = protocol_matched - self.source_matched = source_matched - self.source_port_matched = source_port_matched - self.destination_matched = destination_matched - self.destination_port_matched = destination_port_matched diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_watcher.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_watcher.py deleted file mode 100644 index beb8fedb22b..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_watcher.py +++ /dev/null @@ -1,59 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .resource import Resource - - -class NetworkWatcher(Resource): - """Network watcher in a resource group. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - :ivar provisioning_state: The provisioning state of the resource. Possible - values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2018_08_01.models.ProvisioningState - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(NetworkWatcher, self).__init__(**kwargs) - self.etag = kwargs.get('etag', None) - self.provisioning_state = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_watcher_paged.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_watcher_paged.py deleted file mode 100644 index 7eae4443c61..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_watcher_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.paging import Paged - - -class NetworkWatcherPaged(Paged): - """ - A paging container for iterating over a list of :class:`NetworkWatcher ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[NetworkWatcher]'} - } - - def __init__(self, *args, **kwargs): - - super(NetworkWatcherPaged, self).__init__(*args, **kwargs) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_watcher_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_watcher_py3.py deleted file mode 100644 index 8ed4975c47d..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/network_watcher_py3.py +++ /dev/null @@ -1,59 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .resource_py3 import Resource - - -class NetworkWatcher(Resource): - """Network watcher in a resource group. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - :ivar provisioning_state: The provisioning state of the resource. Possible - values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2018_08_01.models.ProvisioningState - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, etag: str=None, **kwargs) -> None: - super(NetworkWatcher, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.etag = etag - self.provisioning_state = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/next_hop_parameters.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/next_hop_parameters.py deleted file mode 100644 index 54d8674c888..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/next_hop_parameters.py +++ /dev/null @@ -1,51 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class NextHopParameters(Model): - """Parameters that define the source and destination endpoint. - - All required parameters must be populated in order to send to Azure. - - :param target_resource_id: Required. The resource identifier of the target - resource against which the action is to be performed. - :type target_resource_id: str - :param source_ip_address: Required. The source IP address. - :type source_ip_address: str - :param destination_ip_address: Required. The destination IP address. - :type destination_ip_address: str - :param target_nic_resource_id: The NIC ID. (If VM has multiple NICs and IP - forwarding is enabled on any of the nics, then this parameter must be - specified. Otherwise optional). - :type target_nic_resource_id: str - """ - - _validation = { - 'target_resource_id': {'required': True}, - 'source_ip_address': {'required': True}, - 'destination_ip_address': {'required': True}, - } - - _attribute_map = { - 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, - 'source_ip_address': {'key': 'sourceIPAddress', 'type': 'str'}, - 'destination_ip_address': {'key': 'destinationIPAddress', 'type': 'str'}, - 'target_nic_resource_id': {'key': 'targetNicResourceId', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(NextHopParameters, self).__init__(**kwargs) - self.target_resource_id = kwargs.get('target_resource_id', None) - self.source_ip_address = kwargs.get('source_ip_address', None) - self.destination_ip_address = kwargs.get('destination_ip_address', None) - self.target_nic_resource_id = kwargs.get('target_nic_resource_id', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/next_hop_parameters_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/next_hop_parameters_py3.py deleted file mode 100644 index 50ee3d334e9..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/next_hop_parameters_py3.py +++ /dev/null @@ -1,51 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class NextHopParameters(Model): - """Parameters that define the source and destination endpoint. - - All required parameters must be populated in order to send to Azure. - - :param target_resource_id: Required. The resource identifier of the target - resource against which the action is to be performed. - :type target_resource_id: str - :param source_ip_address: Required. The source IP address. - :type source_ip_address: str - :param destination_ip_address: Required. The destination IP address. - :type destination_ip_address: str - :param target_nic_resource_id: The NIC ID. (If VM has multiple NICs and IP - forwarding is enabled on any of the nics, then this parameter must be - specified. Otherwise optional). - :type target_nic_resource_id: str - """ - - _validation = { - 'target_resource_id': {'required': True}, - 'source_ip_address': {'required': True}, - 'destination_ip_address': {'required': True}, - } - - _attribute_map = { - 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, - 'source_ip_address': {'key': 'sourceIPAddress', 'type': 'str'}, - 'destination_ip_address': {'key': 'destinationIPAddress', 'type': 'str'}, - 'target_nic_resource_id': {'key': 'targetNicResourceId', 'type': 'str'}, - } - - def __init__(self, *, target_resource_id: str, source_ip_address: str, destination_ip_address: str, target_nic_resource_id: str=None, **kwargs) -> None: - super(NextHopParameters, self).__init__(**kwargs) - self.target_resource_id = target_resource_id - self.source_ip_address = source_ip_address - self.destination_ip_address = destination_ip_address - self.target_nic_resource_id = target_nic_resource_id diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/next_hop_result.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/next_hop_result.py deleted file mode 100644 index f40e1bbe94e..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/next_hop_result.py +++ /dev/null @@ -1,42 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class NextHopResult(Model): - """The information about next hop from the specified VM. - - :param next_hop_type: Next hop type. Possible values include: 'Internet', - 'VirtualAppliance', 'VirtualNetworkGateway', 'VnetLocal', - 'HyperNetGateway', 'None' - :type next_hop_type: str or - ~azure.mgmt.network.v2018_08_01.models.NextHopType - :param next_hop_ip_address: Next hop IP Address - :type next_hop_ip_address: str - :param route_table_id: The resource identifier for the route table - associated with the route being returned. If the route being returned does - not correspond to any user created routes then this field will be the - string 'System Route'. - :type route_table_id: str - """ - - _attribute_map = { - 'next_hop_type': {'key': 'nextHopType', 'type': 'str'}, - 'next_hop_ip_address': {'key': 'nextHopIpAddress', 'type': 'str'}, - 'route_table_id': {'key': 'routeTableId', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(NextHopResult, self).__init__(**kwargs) - self.next_hop_type = kwargs.get('next_hop_type', None) - self.next_hop_ip_address = kwargs.get('next_hop_ip_address', None) - self.route_table_id = kwargs.get('route_table_id', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/next_hop_result_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/next_hop_result_py3.py deleted file mode 100644 index 22cd3f8cb95..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/next_hop_result_py3.py +++ /dev/null @@ -1,42 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class NextHopResult(Model): - """The information about next hop from the specified VM. - - :param next_hop_type: Next hop type. Possible values include: 'Internet', - 'VirtualAppliance', 'VirtualNetworkGateway', 'VnetLocal', - 'HyperNetGateway', 'None' - :type next_hop_type: str or - ~azure.mgmt.network.v2018_08_01.models.NextHopType - :param next_hop_ip_address: Next hop IP Address - :type next_hop_ip_address: str - :param route_table_id: The resource identifier for the route table - associated with the route being returned. If the route being returned does - not correspond to any user created routes then this field will be the - string 'System Route'. - :type route_table_id: str - """ - - _attribute_map = { - 'next_hop_type': {'key': 'nextHopType', 'type': 'str'}, - 'next_hop_ip_address': {'key': 'nextHopIpAddress', 'type': 'str'}, - 'route_table_id': {'key': 'routeTableId', 'type': 'str'}, - } - - def __init__(self, *, next_hop_type=None, next_hop_ip_address: str=None, route_table_id: str=None, **kwargs) -> None: - super(NextHopResult, self).__init__(**kwargs) - self.next_hop_type = next_hop_type - self.next_hop_ip_address = next_hop_ip_address - self.route_table_id = route_table_id diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/operation.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/operation.py deleted file mode 100644 index 1c886d927d5..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/operation.py +++ /dev/null @@ -1,41 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class Operation(Model): - """Network REST API operation definition. - - :param name: Operation name: {provider}/{resource}/{operation} - :type name: str - :param display: Display metadata associated with the operation. - :type display: ~azure.mgmt.network.v2018_08_01.models.OperationDisplay - :param origin: Origin of the operation. - :type origin: str - :param service_specification: Specification of the service. - :type service_specification: - ~azure.mgmt.network.v2018_08_01.models.OperationPropertiesFormatServiceSpecification - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'display': {'key': 'display', 'type': 'OperationDisplay'}, - 'origin': {'key': 'origin', 'type': 'str'}, - 'service_specification': {'key': 'properties.serviceSpecification', 'type': 'OperationPropertiesFormatServiceSpecification'}, - } - - def __init__(self, **kwargs): - super(Operation, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.display = kwargs.get('display', None) - self.origin = kwargs.get('origin', None) - self.service_specification = kwargs.get('service_specification', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/operation_display.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/operation_display.py deleted file mode 100644 index 6e37c2433f5..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/operation_display.py +++ /dev/null @@ -1,40 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class OperationDisplay(Model): - """Display metadata associated with the operation. - - :param provider: Service provider: Microsoft Network. - :type provider: str - :param resource: Resource on which the operation is performed. - :type resource: str - :param operation: Type of the operation: get, read, delete, etc. - :type operation: str - :param description: Description of the operation. - :type description: str - """ - - _attribute_map = { - 'provider': {'key': 'provider', 'type': 'str'}, - 'resource': {'key': 'resource', 'type': 'str'}, - 'operation': {'key': 'operation', 'type': 'str'}, - 'description': {'key': 'description', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(OperationDisplay, self).__init__(**kwargs) - self.provider = kwargs.get('provider', None) - self.resource = kwargs.get('resource', None) - self.operation = kwargs.get('operation', None) - self.description = kwargs.get('description', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/operation_display_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/operation_display_py3.py deleted file mode 100644 index c0508a41bd4..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/operation_display_py3.py +++ /dev/null @@ -1,40 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class OperationDisplay(Model): - """Display metadata associated with the operation. - - :param provider: Service provider: Microsoft Network. - :type provider: str - :param resource: Resource on which the operation is performed. - :type resource: str - :param operation: Type of the operation: get, read, delete, etc. - :type operation: str - :param description: Description of the operation. - :type description: str - """ - - _attribute_map = { - 'provider': {'key': 'provider', 'type': 'str'}, - 'resource': {'key': 'resource', 'type': 'str'}, - 'operation': {'key': 'operation', 'type': 'str'}, - 'description': {'key': 'description', 'type': 'str'}, - } - - def __init__(self, *, provider: str=None, resource: str=None, operation: str=None, description: str=None, **kwargs) -> None: - super(OperationDisplay, self).__init__(**kwargs) - self.provider = provider - self.resource = resource - self.operation = operation - self.description = description diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/operation_paged.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/operation_paged.py deleted file mode 100644 index 099320a9093..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/operation_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.paging import Paged - - -class OperationPaged(Paged): - """ - A paging container for iterating over a list of :class:`Operation ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[Operation]'} - } - - def __init__(self, *args, **kwargs): - - super(OperationPaged, self).__init__(*args, **kwargs) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/operation_properties_format_service_specification.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/operation_properties_format_service_specification.py deleted file mode 100644 index 001813fe189..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/operation_properties_format_service_specification.py +++ /dev/null @@ -1,34 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class OperationPropertiesFormatServiceSpecification(Model): - """Specification of the service. - - :param metric_specifications: Operation service specification. - :type metric_specifications: - list[~azure.mgmt.network.v2018_08_01.models.MetricSpecification] - :param log_specifications: Operation log specification. - :type log_specifications: - list[~azure.mgmt.network.v2018_08_01.models.LogSpecification] - """ - - _attribute_map = { - 'metric_specifications': {'key': 'metricSpecifications', 'type': '[MetricSpecification]'}, - 'log_specifications': {'key': 'logSpecifications', 'type': '[LogSpecification]'}, - } - - def __init__(self, **kwargs): - super(OperationPropertiesFormatServiceSpecification, self).__init__(**kwargs) - self.metric_specifications = kwargs.get('metric_specifications', None) - self.log_specifications = kwargs.get('log_specifications', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/operation_properties_format_service_specification_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/operation_properties_format_service_specification_py3.py deleted file mode 100644 index 6b30df2b02f..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/operation_properties_format_service_specification_py3.py +++ /dev/null @@ -1,34 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class OperationPropertiesFormatServiceSpecification(Model): - """Specification of the service. - - :param metric_specifications: Operation service specification. - :type metric_specifications: - list[~azure.mgmt.network.v2018_08_01.models.MetricSpecification] - :param log_specifications: Operation log specification. - :type log_specifications: - list[~azure.mgmt.network.v2018_08_01.models.LogSpecification] - """ - - _attribute_map = { - 'metric_specifications': {'key': 'metricSpecifications', 'type': '[MetricSpecification]'}, - 'log_specifications': {'key': 'logSpecifications', 'type': '[LogSpecification]'}, - } - - def __init__(self, *, metric_specifications=None, log_specifications=None, **kwargs) -> None: - super(OperationPropertiesFormatServiceSpecification, self).__init__(**kwargs) - self.metric_specifications = metric_specifications - self.log_specifications = log_specifications diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/operation_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/operation_py3.py deleted file mode 100644 index 22252f00fdc..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/operation_py3.py +++ /dev/null @@ -1,41 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class Operation(Model): - """Network REST API operation definition. - - :param name: Operation name: {provider}/{resource}/{operation} - :type name: str - :param display: Display metadata associated with the operation. - :type display: ~azure.mgmt.network.v2018_08_01.models.OperationDisplay - :param origin: Origin of the operation. - :type origin: str - :param service_specification: Specification of the service. - :type service_specification: - ~azure.mgmt.network.v2018_08_01.models.OperationPropertiesFormatServiceSpecification - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'display': {'key': 'display', 'type': 'OperationDisplay'}, - 'origin': {'key': 'origin', 'type': 'str'}, - 'service_specification': {'key': 'properties.serviceSpecification', 'type': 'OperationPropertiesFormatServiceSpecification'}, - } - - def __init__(self, *, name: str=None, display=None, origin: str=None, service_specification=None, **kwargs) -> None: - super(Operation, self).__init__(**kwargs) - self.name = name - self.display = display - self.origin = origin - self.service_specification = service_specification diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/outbound_rule.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/outbound_rule.py deleted file mode 100644 index a181c169586..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/outbound_rule.py +++ /dev/null @@ -1,82 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource import SubResource - - -class OutboundRule(SubResource): - """Outbound pool of the load balancer. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :param allocated_outbound_ports: The number of outbound ports to be used - for NAT. - :type allocated_outbound_ports: int - :param frontend_ip_configurations: Required. The Frontend IP addresses of - the load balancer. - :type frontend_ip_configurations: - list[~azure.mgmt.network.v2018_08_01.models.SubResource] - :param backend_address_pool: Required. A reference to a pool of DIPs. - Outbound traffic is randomly load balanced across IPs in the backend IPs. - :type backend_address_pool: - ~azure.mgmt.network.v2018_08_01.models.SubResource - :param provisioning_state: Gets the provisioning state of the PublicIP - resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - :type provisioning_state: str - :param protocol: Required. Protocol - TCP, UDP or All. Possible values - include: 'Tcp', 'Udp', 'All' - :type protocol: str or ~azure.mgmt.network.v2018_08_01.models.enum - :param enable_tcp_reset: Receive bidirectional TCP Reset on TCP flow idle - timeout or unexpected connection termination. This element is only used - when the protocol is set to TCP. - :type enable_tcp_reset: bool - :param idle_timeout_in_minutes: The timeout for the TCP idle connection - :type idle_timeout_in_minutes: int - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'frontend_ip_configurations': {'required': True}, - 'backend_address_pool': {'required': True}, - 'protocol': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'allocated_outbound_ports': {'key': 'properties.allocatedOutboundPorts', 'type': 'int'}, - 'frontend_ip_configurations': {'key': 'properties.frontendIPConfigurations', 'type': '[SubResource]'}, - 'backend_address_pool': {'key': 'properties.backendAddressPool', 'type': 'SubResource'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'protocol': {'key': 'properties.protocol', 'type': 'str'}, - 'enable_tcp_reset': {'key': 'properties.enableTcpReset', 'type': 'bool'}, - 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(OutboundRule, self).__init__(**kwargs) - self.allocated_outbound_ports = kwargs.get('allocated_outbound_ports', None) - self.frontend_ip_configurations = kwargs.get('frontend_ip_configurations', None) - self.backend_address_pool = kwargs.get('backend_address_pool', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.protocol = kwargs.get('protocol', None) - self.enable_tcp_reset = kwargs.get('enable_tcp_reset', None) - self.idle_timeout_in_minutes = kwargs.get('idle_timeout_in_minutes', None) - self.name = kwargs.get('name', None) - self.etag = kwargs.get('etag', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/outbound_rule_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/outbound_rule_py3.py deleted file mode 100644 index 98012f441c8..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/outbound_rule_py3.py +++ /dev/null @@ -1,82 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource_py3 import SubResource - - -class OutboundRule(SubResource): - """Outbound pool of the load balancer. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :param allocated_outbound_ports: The number of outbound ports to be used - for NAT. - :type allocated_outbound_ports: int - :param frontend_ip_configurations: Required. The Frontend IP addresses of - the load balancer. - :type frontend_ip_configurations: - list[~azure.mgmt.network.v2018_08_01.models.SubResource] - :param backend_address_pool: Required. A reference to a pool of DIPs. - Outbound traffic is randomly load balanced across IPs in the backend IPs. - :type backend_address_pool: - ~azure.mgmt.network.v2018_08_01.models.SubResource - :param provisioning_state: Gets the provisioning state of the PublicIP - resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - :type provisioning_state: str - :param protocol: Required. Protocol - TCP, UDP or All. Possible values - include: 'Tcp', 'Udp', 'All' - :type protocol: str or ~azure.mgmt.network.v2018_08_01.models.enum - :param enable_tcp_reset: Receive bidirectional TCP Reset on TCP flow idle - timeout or unexpected connection termination. This element is only used - when the protocol is set to TCP. - :type enable_tcp_reset: bool - :param idle_timeout_in_minutes: The timeout for the TCP idle connection - :type idle_timeout_in_minutes: int - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'frontend_ip_configurations': {'required': True}, - 'backend_address_pool': {'required': True}, - 'protocol': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'allocated_outbound_ports': {'key': 'properties.allocatedOutboundPorts', 'type': 'int'}, - 'frontend_ip_configurations': {'key': 'properties.frontendIPConfigurations', 'type': '[SubResource]'}, - 'backend_address_pool': {'key': 'properties.backendAddressPool', 'type': 'SubResource'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'protocol': {'key': 'properties.protocol', 'type': 'str'}, - 'enable_tcp_reset': {'key': 'properties.enableTcpReset', 'type': 'bool'}, - 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, frontend_ip_configurations, backend_address_pool, protocol, id: str=None, allocated_outbound_ports: int=None, provisioning_state: str=None, enable_tcp_reset: bool=None, idle_timeout_in_minutes: int=None, name: str=None, etag: str=None, **kwargs) -> None: - super(OutboundRule, self).__init__(id=id, **kwargs) - self.allocated_outbound_ports = allocated_outbound_ports - self.frontend_ip_configurations = frontend_ip_configurations - self.backend_address_pool = backend_address_pool - self.provisioning_state = provisioning_state - self.protocol = protocol - self.enable_tcp_reset = enable_tcp_reset - self.idle_timeout_in_minutes = idle_timeout_in_minutes - self.name = name - self.etag = etag diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/p2_svpn_gateway.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/p2_svpn_gateway.py deleted file mode 100644 index 2a0cc486f36..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/p2_svpn_gateway.py +++ /dev/null @@ -1,86 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .resource import Resource - - -class P2SVpnGateway(Resource): - """P2SVpnGateway Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param virtual_hub: The VirtualHub to which the gateway belongs - :type virtual_hub: ~azure.mgmt.network.v2018_08_01.models.SubResource - :param provisioning_state: The provisioning state of the resource. - Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2018_08_01.models.ProvisioningState - :param vpn_gateway_scale_unit: The scale unit for this p2s vpn gateway. - :type vpn_gateway_scale_unit: int - :param p2_svpn_server_configuration: The P2SVpnServerConfiguration to - which the p2sVpnGateway is attached to. - :type p2_svpn_server_configuration: - ~azure.mgmt.network.v2018_08_01.models.SubResource - :param vpn_client_address_pool: The reference of the address space - resource which represents Address space for P2S VpnClient. - :type vpn_client_address_pool: - ~azure.mgmt.network.v2018_08_01.models.AddressSpace - :ivar vpn_client_connection_health: All P2S vpnclients' connection health - status. - :vartype vpn_client_connection_health: - ~azure.mgmt.network.v2018_08_01.models.VpnClientConnectionHealth - :ivar etag: Gets a unique read-only string that changes whenever the - resource is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'vpn_client_connection_health': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'virtual_hub': {'key': 'properties.virtualHub', 'type': 'SubResource'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'vpn_gateway_scale_unit': {'key': 'properties.vpnGatewayScaleUnit', 'type': 'int'}, - 'p2_svpn_server_configuration': {'key': 'properties.p2SVpnServerConfiguration', 'type': 'SubResource'}, - 'vpn_client_address_pool': {'key': 'properties.vpnClientAddressPool', 'type': 'AddressSpace'}, - 'vpn_client_connection_health': {'key': 'properties.vpnClientConnectionHealth', 'type': 'VpnClientConnectionHealth'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(P2SVpnGateway, self).__init__(**kwargs) - self.virtual_hub = kwargs.get('virtual_hub', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.vpn_gateway_scale_unit = kwargs.get('vpn_gateway_scale_unit', None) - self.p2_svpn_server_configuration = kwargs.get('p2_svpn_server_configuration', None) - self.vpn_client_address_pool = kwargs.get('vpn_client_address_pool', None) - self.vpn_client_connection_health = None - self.etag = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/p2_svpn_gateway_paged.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/p2_svpn_gateway_paged.py deleted file mode 100644 index bcab3232c66..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/p2_svpn_gateway_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.paging import Paged - - -class P2SVpnGatewayPaged(Paged): - """ - A paging container for iterating over a list of :class:`P2SVpnGateway ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[P2SVpnGateway]'} - } - - def __init__(self, *args, **kwargs): - - super(P2SVpnGatewayPaged, self).__init__(*args, **kwargs) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/p2_svpn_gateway_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/p2_svpn_gateway_py3.py deleted file mode 100644 index 8ef097f8b9b..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/p2_svpn_gateway_py3.py +++ /dev/null @@ -1,86 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .resource_py3 import Resource - - -class P2SVpnGateway(Resource): - """P2SVpnGateway Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param virtual_hub: The VirtualHub to which the gateway belongs - :type virtual_hub: ~azure.mgmt.network.v2018_08_01.models.SubResource - :param provisioning_state: The provisioning state of the resource. - Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2018_08_01.models.ProvisioningState - :param vpn_gateway_scale_unit: The scale unit for this p2s vpn gateway. - :type vpn_gateway_scale_unit: int - :param p2_svpn_server_configuration: The P2SVpnServerConfiguration to - which the p2sVpnGateway is attached to. - :type p2_svpn_server_configuration: - ~azure.mgmt.network.v2018_08_01.models.SubResource - :param vpn_client_address_pool: The reference of the address space - resource which represents Address space for P2S VpnClient. - :type vpn_client_address_pool: - ~azure.mgmt.network.v2018_08_01.models.AddressSpace - :ivar vpn_client_connection_health: All P2S vpnclients' connection health - status. - :vartype vpn_client_connection_health: - ~azure.mgmt.network.v2018_08_01.models.VpnClientConnectionHealth - :ivar etag: Gets a unique read-only string that changes whenever the - resource is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'vpn_client_connection_health': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'virtual_hub': {'key': 'properties.virtualHub', 'type': 'SubResource'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'vpn_gateway_scale_unit': {'key': 'properties.vpnGatewayScaleUnit', 'type': 'int'}, - 'p2_svpn_server_configuration': {'key': 'properties.p2SVpnServerConfiguration', 'type': 'SubResource'}, - 'vpn_client_address_pool': {'key': 'properties.vpnClientAddressPool', 'type': 'AddressSpace'}, - 'vpn_client_connection_health': {'key': 'properties.vpnClientConnectionHealth', 'type': 'VpnClientConnectionHealth'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, virtual_hub=None, provisioning_state=None, vpn_gateway_scale_unit: int=None, p2_svpn_server_configuration=None, vpn_client_address_pool=None, **kwargs) -> None: - super(P2SVpnGateway, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.virtual_hub = virtual_hub - self.provisioning_state = provisioning_state - self.vpn_gateway_scale_unit = vpn_gateway_scale_unit - self.p2_svpn_server_configuration = p2_svpn_server_configuration - self.vpn_client_address_pool = vpn_client_address_pool - self.vpn_client_connection_health = None - self.etag = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/p2_svpn_profile_parameters.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/p2_svpn_profile_parameters.py deleted file mode 100644 index 9d5e8ac5f92..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/p2_svpn_profile_parameters.py +++ /dev/null @@ -1,31 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class P2SVpnProfileParameters(Model): - """Vpn Client Parameters for package generation. - - :param authentication_method: VPN client Authentication Method. Possible - values are: 'EAPTLS' and 'EAPMSCHAPv2'. Possible values include: 'EAPTLS', - 'EAPMSCHAPv2' - :type authentication_method: str or - ~azure.mgmt.network.v2018_08_01.models.AuthenticationMethod - """ - - _attribute_map = { - 'authentication_method': {'key': 'authenticationMethod', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(P2SVpnProfileParameters, self).__init__(**kwargs) - self.authentication_method = kwargs.get('authentication_method', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/p2_svpn_profile_parameters_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/p2_svpn_profile_parameters_py3.py deleted file mode 100644 index 855411734a9..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/p2_svpn_profile_parameters_py3.py +++ /dev/null @@ -1,31 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class P2SVpnProfileParameters(Model): - """Vpn Client Parameters for package generation. - - :param authentication_method: VPN client Authentication Method. Possible - values are: 'EAPTLS' and 'EAPMSCHAPv2'. Possible values include: 'EAPTLS', - 'EAPMSCHAPv2' - :type authentication_method: str or - ~azure.mgmt.network.v2018_08_01.models.AuthenticationMethod - """ - - _attribute_map = { - 'authentication_method': {'key': 'authenticationMethod', 'type': 'str'}, - } - - def __init__(self, *, authentication_method=None, **kwargs) -> None: - super(P2SVpnProfileParameters, self).__init__(**kwargs) - self.authentication_method = authentication_method diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/p2_svpn_server_config_radius_client_root_certificate.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/p2_svpn_server_config_radius_client_root_certificate.py deleted file mode 100644 index 673c6dfc00f..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/p2_svpn_server_config_radius_client_root_certificate.py +++ /dev/null @@ -1,54 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource import SubResource - - -class P2SVpnServerConfigRadiusClientRootCertificate(SubResource): - """Radius client root certificate of P2SVpnServerConfiguration. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param thumbprint: The Radius client root certificate thumbprint. - :type thumbprint: str - :ivar provisioning_state: The provisioning state of the Radius client root - certificate resource. Possible values are: 'Updating', 'Deleting', and - 'Failed'. - :vartype provisioning_state: str - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'thumbprint': {'key': 'properties.thumbprint', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(P2SVpnServerConfigRadiusClientRootCertificate, self).__init__(**kwargs) - self.thumbprint = kwargs.get('thumbprint', None) - self.provisioning_state = None - self.name = kwargs.get('name', None) - self.etag = kwargs.get('etag', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/p2_svpn_server_config_radius_client_root_certificate_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/p2_svpn_server_config_radius_client_root_certificate_py3.py deleted file mode 100644 index 32272e60c00..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/p2_svpn_server_config_radius_client_root_certificate_py3.py +++ /dev/null @@ -1,54 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource_py3 import SubResource - - -class P2SVpnServerConfigRadiusClientRootCertificate(SubResource): - """Radius client root certificate of P2SVpnServerConfiguration. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param thumbprint: The Radius client root certificate thumbprint. - :type thumbprint: str - :ivar provisioning_state: The provisioning state of the Radius client root - certificate resource. Possible values are: 'Updating', 'Deleting', and - 'Failed'. - :vartype provisioning_state: str - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'thumbprint': {'key': 'properties.thumbprint', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, thumbprint: str=None, name: str=None, etag: str=None, **kwargs) -> None: - super(P2SVpnServerConfigRadiusClientRootCertificate, self).__init__(id=id, **kwargs) - self.thumbprint = thumbprint - self.provisioning_state = None - self.name = name - self.etag = etag diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/p2_svpn_server_config_radius_server_root_certificate.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/p2_svpn_server_config_radius_server_root_certificate.py deleted file mode 100644 index 6b672a8a385..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/p2_svpn_server_config_radius_server_root_certificate.py +++ /dev/null @@ -1,57 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource import SubResource - - -class P2SVpnServerConfigRadiusServerRootCertificate(SubResource): - """Radius Server root certificate of P2SVpnServerConfiguration. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :param public_cert_data: Required. The certificate public data. - :type public_cert_data: str - :ivar provisioning_state: The provisioning state of the - P2SVpnServerConfiguration Radius Server root certificate resource. - Possible values are: 'Updating', 'Deleting', and 'Failed'. - :vartype provisioning_state: str - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'public_cert_data': {'required': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'public_cert_data': {'key': 'properties.publicCertData', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(P2SVpnServerConfigRadiusServerRootCertificate, self).__init__(**kwargs) - self.public_cert_data = kwargs.get('public_cert_data', None) - self.provisioning_state = None - self.name = kwargs.get('name', None) - self.etag = kwargs.get('etag', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/p2_svpn_server_config_radius_server_root_certificate_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/p2_svpn_server_config_radius_server_root_certificate_py3.py deleted file mode 100644 index e64cd1975c4..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/p2_svpn_server_config_radius_server_root_certificate_py3.py +++ /dev/null @@ -1,57 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource_py3 import SubResource - - -class P2SVpnServerConfigRadiusServerRootCertificate(SubResource): - """Radius Server root certificate of P2SVpnServerConfiguration. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :param public_cert_data: Required. The certificate public data. - :type public_cert_data: str - :ivar provisioning_state: The provisioning state of the - P2SVpnServerConfiguration Radius Server root certificate resource. - Possible values are: 'Updating', 'Deleting', and 'Failed'. - :vartype provisioning_state: str - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'public_cert_data': {'required': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'public_cert_data': {'key': 'properties.publicCertData', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, public_cert_data: str, id: str=None, name: str=None, etag: str=None, **kwargs) -> None: - super(P2SVpnServerConfigRadiusServerRootCertificate, self).__init__(id=id, **kwargs) - self.public_cert_data = public_cert_data - self.provisioning_state = None - self.name = name - self.etag = etag diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/p2_svpn_server_config_vpn_client_revoked_certificate.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/p2_svpn_server_config_vpn_client_revoked_certificate.py deleted file mode 100644 index d237930f2ce..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/p2_svpn_server_config_vpn_client_revoked_certificate.py +++ /dev/null @@ -1,54 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource import SubResource - - -class P2SVpnServerConfigVpnClientRevokedCertificate(SubResource): - """VPN client revoked certificate of P2SVpnServerConfiguration. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param thumbprint: The revoked VPN client certificate thumbprint. - :type thumbprint: str - :ivar provisioning_state: The provisioning state of the VPN client revoked - certificate resource. Possible values are: 'Updating', 'Deleting', and - 'Failed'. - :vartype provisioning_state: str - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'thumbprint': {'key': 'properties.thumbprint', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(P2SVpnServerConfigVpnClientRevokedCertificate, self).__init__(**kwargs) - self.thumbprint = kwargs.get('thumbprint', None) - self.provisioning_state = None - self.name = kwargs.get('name', None) - self.etag = kwargs.get('etag', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/p2_svpn_server_config_vpn_client_revoked_certificate_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/p2_svpn_server_config_vpn_client_revoked_certificate_py3.py deleted file mode 100644 index 90e200a44f8..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/p2_svpn_server_config_vpn_client_revoked_certificate_py3.py +++ /dev/null @@ -1,54 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource_py3 import SubResource - - -class P2SVpnServerConfigVpnClientRevokedCertificate(SubResource): - """VPN client revoked certificate of P2SVpnServerConfiguration. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param thumbprint: The revoked VPN client certificate thumbprint. - :type thumbprint: str - :ivar provisioning_state: The provisioning state of the VPN client revoked - certificate resource. Possible values are: 'Updating', 'Deleting', and - 'Failed'. - :vartype provisioning_state: str - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'thumbprint': {'key': 'properties.thumbprint', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, thumbprint: str=None, name: str=None, etag: str=None, **kwargs) -> None: - super(P2SVpnServerConfigVpnClientRevokedCertificate, self).__init__(id=id, **kwargs) - self.thumbprint = thumbprint - self.provisioning_state = None - self.name = name - self.etag = etag diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/p2_svpn_server_config_vpn_client_root_certificate.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/p2_svpn_server_config_vpn_client_root_certificate.py deleted file mode 100644 index 0f0dcc8042a..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/p2_svpn_server_config_vpn_client_root_certificate.py +++ /dev/null @@ -1,57 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource import SubResource - - -class P2SVpnServerConfigVpnClientRootCertificate(SubResource): - """VPN client root certificate of P2SVpnServerConfiguration. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :param public_cert_data: Required. The certificate public data. - :type public_cert_data: str - :ivar provisioning_state: The provisioning state of the - P2SVpnServerConfiguration VPN client root certificate resource. Possible - values are: 'Updating', 'Deleting', and 'Failed'. - :vartype provisioning_state: str - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'public_cert_data': {'required': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'public_cert_data': {'key': 'properties.publicCertData', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(P2SVpnServerConfigVpnClientRootCertificate, self).__init__(**kwargs) - self.public_cert_data = kwargs.get('public_cert_data', None) - self.provisioning_state = None - self.name = kwargs.get('name', None) - self.etag = kwargs.get('etag', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/p2_svpn_server_config_vpn_client_root_certificate_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/p2_svpn_server_config_vpn_client_root_certificate_py3.py deleted file mode 100644 index adc301b576a..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/p2_svpn_server_config_vpn_client_root_certificate_py3.py +++ /dev/null @@ -1,57 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource_py3 import SubResource - - -class P2SVpnServerConfigVpnClientRootCertificate(SubResource): - """VPN client root certificate of P2SVpnServerConfiguration. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :param public_cert_data: Required. The certificate public data. - :type public_cert_data: str - :ivar provisioning_state: The provisioning state of the - P2SVpnServerConfiguration VPN client root certificate resource. Possible - values are: 'Updating', 'Deleting', and 'Failed'. - :vartype provisioning_state: str - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'public_cert_data': {'required': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'public_cert_data': {'key': 'properties.publicCertData', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, public_cert_data: str, id: str=None, name: str=None, etag: str=None, **kwargs) -> None: - super(P2SVpnServerConfigVpnClientRootCertificate, self).__init__(id=id, **kwargs) - self.public_cert_data = public_cert_data - self.provisioning_state = None - self.name = name - self.etag = etag diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/p2_svpn_server_configuration.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/p2_svpn_server_configuration.py deleted file mode 100644 index d838ed3938c..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/p2_svpn_server_configuration.py +++ /dev/null @@ -1,115 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource import SubResource - - -class P2SVpnServerConfiguration(SubResource): - """P2SVpnServerConfiguration Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param p2_svpn_server_configuration_properties_name: The name of the - P2SVpnServerConfiguration that is unique within a VirtualWan in a resource - group. This name can be used to access the resource along with Paren - VirtualWan resource name. - :type p2_svpn_server_configuration_properties_name: str - :param vpn_protocols: vpnProtocols for the P2SVpnServerConfiguration. - :type vpn_protocols: list[str or - ~azure.mgmt.network.v2018_08_01.models.VpnGatewayTunnelingProtocol] - :param p2_svpn_server_config_vpn_client_root_certificates: VPN client root - certificate of P2SVpnServerConfiguration. - :type p2_svpn_server_config_vpn_client_root_certificates: - list[~azure.mgmt.network.v2018_08_01.models.P2SVpnServerConfigVpnClientRootCertificate] - :param p2_svpn_server_config_vpn_client_revoked_certificates: VPN client - revoked certificate of P2SVpnServerConfiguration. - :type p2_svpn_server_config_vpn_client_revoked_certificates: - list[~azure.mgmt.network.v2018_08_01.models.P2SVpnServerConfigVpnClientRevokedCertificate] - :param p2_svpn_server_config_radius_server_root_certificates: Radius - Server root certificate of P2SVpnServerConfiguration. - :type p2_svpn_server_config_radius_server_root_certificates: - list[~azure.mgmt.network.v2018_08_01.models.P2SVpnServerConfigRadiusServerRootCertificate] - :param p2_svpn_server_config_radius_client_root_certificates: Radius - client root certificate of P2SVpnServerConfiguration. - :type p2_svpn_server_config_radius_client_root_certificates: - list[~azure.mgmt.network.v2018_08_01.models.P2SVpnServerConfigRadiusClientRootCertificate] - :param vpn_client_ipsec_policies: VpnClientIpsecPolicies for - P2SVpnServerConfiguration. - :type vpn_client_ipsec_policies: - list[~azure.mgmt.network.v2018_08_01.models.IpsecPolicy] - :param radius_server_address: The radius server address property of the - P2SVpnServerConfiguration resource for point to site client connection. - :type radius_server_address: str - :param radius_server_secret: The radius secret property of the - P2SVpnServerConfiguration resource for for point to site client - connection. - :type radius_server_secret: str - :ivar provisioning_state: The provisioning state of the - P2SVpnServerConfiguration resource. Possible values are: 'Updating', - 'Deleting', and 'Failed'. - :vartype provisioning_state: str - :ivar p2_svpn_gateways: - :vartype p2_svpn_gateways: - list[~azure.mgmt.network.v2018_08_01.models.SubResource] - :param p2_svpn_server_configuration_properties_etag: A unique read-only - string that changes whenever the resource is updated. - :type p2_svpn_server_configuration_properties_etag: str - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar etag: Gets a unique read-only string that changes whenever the - resource is updated. - :vartype etag: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'p2_svpn_gateways': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'p2_svpn_server_configuration_properties_name': {'key': 'properties.name', 'type': 'str'}, - 'vpn_protocols': {'key': 'properties.vpnProtocols', 'type': '[str]'}, - 'p2_svpn_server_config_vpn_client_root_certificates': {'key': 'properties.p2SVpnServerConfigVpnClientRootCertificates', 'type': '[P2SVpnServerConfigVpnClientRootCertificate]'}, - 'p2_svpn_server_config_vpn_client_revoked_certificates': {'key': 'properties.p2SVpnServerConfigVpnClientRevokedCertificates', 'type': '[P2SVpnServerConfigVpnClientRevokedCertificate]'}, - 'p2_svpn_server_config_radius_server_root_certificates': {'key': 'properties.p2SVpnServerConfigRadiusServerRootCertificates', 'type': '[P2SVpnServerConfigRadiusServerRootCertificate]'}, - 'p2_svpn_server_config_radius_client_root_certificates': {'key': 'properties.p2SVpnServerConfigRadiusClientRootCertificates', 'type': '[P2SVpnServerConfigRadiusClientRootCertificate]'}, - 'vpn_client_ipsec_policies': {'key': 'properties.vpnClientIpsecPolicies', 'type': '[IpsecPolicy]'}, - 'radius_server_address': {'key': 'properties.radiusServerAddress', 'type': 'str'}, - 'radius_server_secret': {'key': 'properties.radiusServerSecret', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'p2_svpn_gateways': {'key': 'properties.p2SVpnGateways', 'type': '[SubResource]'}, - 'p2_svpn_server_configuration_properties_etag': {'key': 'properties.etag', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(P2SVpnServerConfiguration, self).__init__(**kwargs) - self.p2_svpn_server_configuration_properties_name = kwargs.get('p2_svpn_server_configuration_properties_name', None) - self.vpn_protocols = kwargs.get('vpn_protocols', None) - self.p2_svpn_server_config_vpn_client_root_certificates = kwargs.get('p2_svpn_server_config_vpn_client_root_certificates', None) - self.p2_svpn_server_config_vpn_client_revoked_certificates = kwargs.get('p2_svpn_server_config_vpn_client_revoked_certificates', None) - self.p2_svpn_server_config_radius_server_root_certificates = kwargs.get('p2_svpn_server_config_radius_server_root_certificates', None) - self.p2_svpn_server_config_radius_client_root_certificates = kwargs.get('p2_svpn_server_config_radius_client_root_certificates', None) - self.vpn_client_ipsec_policies = kwargs.get('vpn_client_ipsec_policies', None) - self.radius_server_address = kwargs.get('radius_server_address', None) - self.radius_server_secret = kwargs.get('radius_server_secret', None) - self.provisioning_state = None - self.p2_svpn_gateways = None - self.p2_svpn_server_configuration_properties_etag = kwargs.get('p2_svpn_server_configuration_properties_etag', None) - self.name = kwargs.get('name', None) - self.etag = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/p2_svpn_server_configuration_paged.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/p2_svpn_server_configuration_paged.py deleted file mode 100644 index aebfe8a54ec..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/p2_svpn_server_configuration_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.paging import Paged - - -class P2SVpnServerConfigurationPaged(Paged): - """ - A paging container for iterating over a list of :class:`P2SVpnServerConfiguration ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[P2SVpnServerConfiguration]'} - } - - def __init__(self, *args, **kwargs): - - super(P2SVpnServerConfigurationPaged, self).__init__(*args, **kwargs) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/p2_svpn_server_configuration_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/p2_svpn_server_configuration_py3.py deleted file mode 100644 index 8677f556bcf..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/p2_svpn_server_configuration_py3.py +++ /dev/null @@ -1,115 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource_py3 import SubResource - - -class P2SVpnServerConfiguration(SubResource): - """P2SVpnServerConfiguration Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param p2_svpn_server_configuration_properties_name: The name of the - P2SVpnServerConfiguration that is unique within a VirtualWan in a resource - group. This name can be used to access the resource along with Paren - VirtualWan resource name. - :type p2_svpn_server_configuration_properties_name: str - :param vpn_protocols: vpnProtocols for the P2SVpnServerConfiguration. - :type vpn_protocols: list[str or - ~azure.mgmt.network.v2018_08_01.models.VpnGatewayTunnelingProtocol] - :param p2_svpn_server_config_vpn_client_root_certificates: VPN client root - certificate of P2SVpnServerConfiguration. - :type p2_svpn_server_config_vpn_client_root_certificates: - list[~azure.mgmt.network.v2018_08_01.models.P2SVpnServerConfigVpnClientRootCertificate] - :param p2_svpn_server_config_vpn_client_revoked_certificates: VPN client - revoked certificate of P2SVpnServerConfiguration. - :type p2_svpn_server_config_vpn_client_revoked_certificates: - list[~azure.mgmt.network.v2018_08_01.models.P2SVpnServerConfigVpnClientRevokedCertificate] - :param p2_svpn_server_config_radius_server_root_certificates: Radius - Server root certificate of P2SVpnServerConfiguration. - :type p2_svpn_server_config_radius_server_root_certificates: - list[~azure.mgmt.network.v2018_08_01.models.P2SVpnServerConfigRadiusServerRootCertificate] - :param p2_svpn_server_config_radius_client_root_certificates: Radius - client root certificate of P2SVpnServerConfiguration. - :type p2_svpn_server_config_radius_client_root_certificates: - list[~azure.mgmt.network.v2018_08_01.models.P2SVpnServerConfigRadiusClientRootCertificate] - :param vpn_client_ipsec_policies: VpnClientIpsecPolicies for - P2SVpnServerConfiguration. - :type vpn_client_ipsec_policies: - list[~azure.mgmt.network.v2018_08_01.models.IpsecPolicy] - :param radius_server_address: The radius server address property of the - P2SVpnServerConfiguration resource for point to site client connection. - :type radius_server_address: str - :param radius_server_secret: The radius secret property of the - P2SVpnServerConfiguration resource for for point to site client - connection. - :type radius_server_secret: str - :ivar provisioning_state: The provisioning state of the - P2SVpnServerConfiguration resource. Possible values are: 'Updating', - 'Deleting', and 'Failed'. - :vartype provisioning_state: str - :ivar p2_svpn_gateways: - :vartype p2_svpn_gateways: - list[~azure.mgmt.network.v2018_08_01.models.SubResource] - :param p2_svpn_server_configuration_properties_etag: A unique read-only - string that changes whenever the resource is updated. - :type p2_svpn_server_configuration_properties_etag: str - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar etag: Gets a unique read-only string that changes whenever the - resource is updated. - :vartype etag: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'p2_svpn_gateways': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'p2_svpn_server_configuration_properties_name': {'key': 'properties.name', 'type': 'str'}, - 'vpn_protocols': {'key': 'properties.vpnProtocols', 'type': '[str]'}, - 'p2_svpn_server_config_vpn_client_root_certificates': {'key': 'properties.p2SVpnServerConfigVpnClientRootCertificates', 'type': '[P2SVpnServerConfigVpnClientRootCertificate]'}, - 'p2_svpn_server_config_vpn_client_revoked_certificates': {'key': 'properties.p2SVpnServerConfigVpnClientRevokedCertificates', 'type': '[P2SVpnServerConfigVpnClientRevokedCertificate]'}, - 'p2_svpn_server_config_radius_server_root_certificates': {'key': 'properties.p2SVpnServerConfigRadiusServerRootCertificates', 'type': '[P2SVpnServerConfigRadiusServerRootCertificate]'}, - 'p2_svpn_server_config_radius_client_root_certificates': {'key': 'properties.p2SVpnServerConfigRadiusClientRootCertificates', 'type': '[P2SVpnServerConfigRadiusClientRootCertificate]'}, - 'vpn_client_ipsec_policies': {'key': 'properties.vpnClientIpsecPolicies', 'type': '[IpsecPolicy]'}, - 'radius_server_address': {'key': 'properties.radiusServerAddress', 'type': 'str'}, - 'radius_server_secret': {'key': 'properties.radiusServerSecret', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'p2_svpn_gateways': {'key': 'properties.p2SVpnGateways', 'type': '[SubResource]'}, - 'p2_svpn_server_configuration_properties_etag': {'key': 'properties.etag', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, p2_svpn_server_configuration_properties_name: str=None, vpn_protocols=None, p2_svpn_server_config_vpn_client_root_certificates=None, p2_svpn_server_config_vpn_client_revoked_certificates=None, p2_svpn_server_config_radius_server_root_certificates=None, p2_svpn_server_config_radius_client_root_certificates=None, vpn_client_ipsec_policies=None, radius_server_address: str=None, radius_server_secret: str=None, p2_svpn_server_configuration_properties_etag: str=None, name: str=None, **kwargs) -> None: - super(P2SVpnServerConfiguration, self).__init__(id=id, **kwargs) - self.p2_svpn_server_configuration_properties_name = p2_svpn_server_configuration_properties_name - self.vpn_protocols = vpn_protocols - self.p2_svpn_server_config_vpn_client_root_certificates = p2_svpn_server_config_vpn_client_root_certificates - self.p2_svpn_server_config_vpn_client_revoked_certificates = p2_svpn_server_config_vpn_client_revoked_certificates - self.p2_svpn_server_config_radius_server_root_certificates = p2_svpn_server_config_radius_server_root_certificates - self.p2_svpn_server_config_radius_client_root_certificates = p2_svpn_server_config_radius_client_root_certificates - self.vpn_client_ipsec_policies = vpn_client_ipsec_policies - self.radius_server_address = radius_server_address - self.radius_server_secret = radius_server_secret - self.provisioning_state = None - self.p2_svpn_gateways = None - self.p2_svpn_server_configuration_properties_etag = p2_svpn_server_configuration_properties_etag - self.name = name - self.etag = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/packet_capture.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/packet_capture.py deleted file mode 100644 index 92cca0dc7cc..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/packet_capture.py +++ /dev/null @@ -1,61 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class PacketCapture(Model): - """Parameters that define the create packet capture operation. - - All required parameters must be populated in order to send to Azure. - - :param target: Required. The ID of the targeted resource, only VM is - currently supported. - :type target: str - :param bytes_to_capture_per_packet: Number of bytes captured per packet, - the remaining bytes are truncated. Default value: 0 . - :type bytes_to_capture_per_packet: int - :param total_bytes_per_session: Maximum size of the capture output. - Default value: 1073741824 . - :type total_bytes_per_session: int - :param time_limit_in_seconds: Maximum duration of the capture session in - seconds. Default value: 18000 . - :type time_limit_in_seconds: int - :param storage_location: Required. - :type storage_location: - ~azure.mgmt.network.v2018_08_01.models.PacketCaptureStorageLocation - :param filters: - :type filters: - list[~azure.mgmt.network.v2018_08_01.models.PacketCaptureFilter] - """ - - _validation = { - 'target': {'required': True}, - 'storage_location': {'required': True}, - } - - _attribute_map = { - 'target': {'key': 'properties.target', 'type': 'str'}, - 'bytes_to_capture_per_packet': {'key': 'properties.bytesToCapturePerPacket', 'type': 'int'}, - 'total_bytes_per_session': {'key': 'properties.totalBytesPerSession', 'type': 'int'}, - 'time_limit_in_seconds': {'key': 'properties.timeLimitInSeconds', 'type': 'int'}, - 'storage_location': {'key': 'properties.storageLocation', 'type': 'PacketCaptureStorageLocation'}, - 'filters': {'key': 'properties.filters', 'type': '[PacketCaptureFilter]'}, - } - - def __init__(self, **kwargs): - super(PacketCapture, self).__init__(**kwargs) - self.target = kwargs.get('target', None) - self.bytes_to_capture_per_packet = kwargs.get('bytes_to_capture_per_packet', 0) - self.total_bytes_per_session = kwargs.get('total_bytes_per_session', 1073741824) - self.time_limit_in_seconds = kwargs.get('time_limit_in_seconds', 18000) - self.storage_location = kwargs.get('storage_location', None) - self.filters = kwargs.get('filters', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/packet_capture_filter.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/packet_capture_filter.py deleted file mode 100644 index 9b51166a15e..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/packet_capture_filter.py +++ /dev/null @@ -1,60 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class PacketCaptureFilter(Model): - """Filter that is applied to packet capture request. Multiple filters can be - applied. - - :param protocol: Protocol to be filtered on. Possible values include: - 'TCP', 'UDP', 'Any'. Default value: "Any" . - :type protocol: str or ~azure.mgmt.network.v2018_08_01.models.PcProtocol - :param local_ip_address: Local IP Address to be filtered on. Notation: - "127.0.0.1" for single address entry. "127.0.0.1-127.0.0.255" for range. - "127.0.0.1;127.0.0.5"? for multiple entries. Multiple ranges not currently - supported. Mixing ranges with multiple entries not currently supported. - Default = null. - :type local_ip_address: str - :param remote_ip_address: Local IP Address to be filtered on. Notation: - "127.0.0.1" for single address entry. "127.0.0.1-127.0.0.255" for range. - "127.0.0.1;127.0.0.5;" for multiple entries. Multiple ranges not currently - supported. Mixing ranges with multiple entries not currently supported. - Default = null. - :type remote_ip_address: str - :param local_port: Local port to be filtered on. Notation: "80" for single - port entry."80-85" for range. "80;443;" for multiple entries. Multiple - ranges not currently supported. Mixing ranges with multiple entries not - currently supported. Default = null. - :type local_port: str - :param remote_port: Remote port to be filtered on. Notation: "80" for - single port entry."80-85" for range. "80;443;" for multiple entries. - Multiple ranges not currently supported. Mixing ranges with multiple - entries not currently supported. Default = null. - :type remote_port: str - """ - - _attribute_map = { - 'protocol': {'key': 'protocol', 'type': 'str'}, - 'local_ip_address': {'key': 'localIPAddress', 'type': 'str'}, - 'remote_ip_address': {'key': 'remoteIPAddress', 'type': 'str'}, - 'local_port': {'key': 'localPort', 'type': 'str'}, - 'remote_port': {'key': 'remotePort', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(PacketCaptureFilter, self).__init__(**kwargs) - self.protocol = kwargs.get('protocol', "Any") - self.local_ip_address = kwargs.get('local_ip_address', None) - self.remote_ip_address = kwargs.get('remote_ip_address', None) - self.local_port = kwargs.get('local_port', None) - self.remote_port = kwargs.get('remote_port', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/packet_capture_filter_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/packet_capture_filter_py3.py deleted file mode 100644 index 75a09611cfd..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/packet_capture_filter_py3.py +++ /dev/null @@ -1,60 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class PacketCaptureFilter(Model): - """Filter that is applied to packet capture request. Multiple filters can be - applied. - - :param protocol: Protocol to be filtered on. Possible values include: - 'TCP', 'UDP', 'Any'. Default value: "Any" . - :type protocol: str or ~azure.mgmt.network.v2018_08_01.models.PcProtocol - :param local_ip_address: Local IP Address to be filtered on. Notation: - "127.0.0.1" for single address entry. "127.0.0.1-127.0.0.255" for range. - "127.0.0.1;127.0.0.5"? for multiple entries. Multiple ranges not currently - supported. Mixing ranges with multiple entries not currently supported. - Default = null. - :type local_ip_address: str - :param remote_ip_address: Local IP Address to be filtered on. Notation: - "127.0.0.1" for single address entry. "127.0.0.1-127.0.0.255" for range. - "127.0.0.1;127.0.0.5;" for multiple entries. Multiple ranges not currently - supported. Mixing ranges with multiple entries not currently supported. - Default = null. - :type remote_ip_address: str - :param local_port: Local port to be filtered on. Notation: "80" for single - port entry."80-85" for range. "80;443;" for multiple entries. Multiple - ranges not currently supported. Mixing ranges with multiple entries not - currently supported. Default = null. - :type local_port: str - :param remote_port: Remote port to be filtered on. Notation: "80" for - single port entry."80-85" for range. "80;443;" for multiple entries. - Multiple ranges not currently supported. Mixing ranges with multiple - entries not currently supported. Default = null. - :type remote_port: str - """ - - _attribute_map = { - 'protocol': {'key': 'protocol', 'type': 'str'}, - 'local_ip_address': {'key': 'localIPAddress', 'type': 'str'}, - 'remote_ip_address': {'key': 'remoteIPAddress', 'type': 'str'}, - 'local_port': {'key': 'localPort', 'type': 'str'}, - 'remote_port': {'key': 'remotePort', 'type': 'str'}, - } - - def __init__(self, *, protocol="Any", local_ip_address: str=None, remote_ip_address: str=None, local_port: str=None, remote_port: str=None, **kwargs) -> None: - super(PacketCaptureFilter, self).__init__(**kwargs) - self.protocol = protocol - self.local_ip_address = local_ip_address - self.remote_ip_address = remote_ip_address - self.local_port = local_port - self.remote_port = remote_port diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/packet_capture_parameters.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/packet_capture_parameters.py deleted file mode 100644 index 4b36dc42b3c..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/packet_capture_parameters.py +++ /dev/null @@ -1,61 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class PacketCaptureParameters(Model): - """Parameters that define the create packet capture operation. - - All required parameters must be populated in order to send to Azure. - - :param target: Required. The ID of the targeted resource, only VM is - currently supported. - :type target: str - :param bytes_to_capture_per_packet: Number of bytes captured per packet, - the remaining bytes are truncated. Default value: 0 . - :type bytes_to_capture_per_packet: int - :param total_bytes_per_session: Maximum size of the capture output. - Default value: 1073741824 . - :type total_bytes_per_session: int - :param time_limit_in_seconds: Maximum duration of the capture session in - seconds. Default value: 18000 . - :type time_limit_in_seconds: int - :param storage_location: Required. - :type storage_location: - ~azure.mgmt.network.v2018_08_01.models.PacketCaptureStorageLocation - :param filters: - :type filters: - list[~azure.mgmt.network.v2018_08_01.models.PacketCaptureFilter] - """ - - _validation = { - 'target': {'required': True}, - 'storage_location': {'required': True}, - } - - _attribute_map = { - 'target': {'key': 'target', 'type': 'str'}, - 'bytes_to_capture_per_packet': {'key': 'bytesToCapturePerPacket', 'type': 'int'}, - 'total_bytes_per_session': {'key': 'totalBytesPerSession', 'type': 'int'}, - 'time_limit_in_seconds': {'key': 'timeLimitInSeconds', 'type': 'int'}, - 'storage_location': {'key': 'storageLocation', 'type': 'PacketCaptureStorageLocation'}, - 'filters': {'key': 'filters', 'type': '[PacketCaptureFilter]'}, - } - - def __init__(self, **kwargs): - super(PacketCaptureParameters, self).__init__(**kwargs) - self.target = kwargs.get('target', None) - self.bytes_to_capture_per_packet = kwargs.get('bytes_to_capture_per_packet', 0) - self.total_bytes_per_session = kwargs.get('total_bytes_per_session', 1073741824) - self.time_limit_in_seconds = kwargs.get('time_limit_in_seconds', 18000) - self.storage_location = kwargs.get('storage_location', None) - self.filters = kwargs.get('filters', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/packet_capture_parameters_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/packet_capture_parameters_py3.py deleted file mode 100644 index 996e33f331e..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/packet_capture_parameters_py3.py +++ /dev/null @@ -1,61 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class PacketCaptureParameters(Model): - """Parameters that define the create packet capture operation. - - All required parameters must be populated in order to send to Azure. - - :param target: Required. The ID of the targeted resource, only VM is - currently supported. - :type target: str - :param bytes_to_capture_per_packet: Number of bytes captured per packet, - the remaining bytes are truncated. Default value: 0 . - :type bytes_to_capture_per_packet: int - :param total_bytes_per_session: Maximum size of the capture output. - Default value: 1073741824 . - :type total_bytes_per_session: int - :param time_limit_in_seconds: Maximum duration of the capture session in - seconds. Default value: 18000 . - :type time_limit_in_seconds: int - :param storage_location: Required. - :type storage_location: - ~azure.mgmt.network.v2018_08_01.models.PacketCaptureStorageLocation - :param filters: - :type filters: - list[~azure.mgmt.network.v2018_08_01.models.PacketCaptureFilter] - """ - - _validation = { - 'target': {'required': True}, - 'storage_location': {'required': True}, - } - - _attribute_map = { - 'target': {'key': 'target', 'type': 'str'}, - 'bytes_to_capture_per_packet': {'key': 'bytesToCapturePerPacket', 'type': 'int'}, - 'total_bytes_per_session': {'key': 'totalBytesPerSession', 'type': 'int'}, - 'time_limit_in_seconds': {'key': 'timeLimitInSeconds', 'type': 'int'}, - 'storage_location': {'key': 'storageLocation', 'type': 'PacketCaptureStorageLocation'}, - 'filters': {'key': 'filters', 'type': '[PacketCaptureFilter]'}, - } - - def __init__(self, *, target: str, storage_location, bytes_to_capture_per_packet: int=0, total_bytes_per_session: int=1073741824, time_limit_in_seconds: int=18000, filters=None, **kwargs) -> None: - super(PacketCaptureParameters, self).__init__(**kwargs) - self.target = target - self.bytes_to_capture_per_packet = bytes_to_capture_per_packet - self.total_bytes_per_session = total_bytes_per_session - self.time_limit_in_seconds = time_limit_in_seconds - self.storage_location = storage_location - self.filters = filters diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/packet_capture_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/packet_capture_py3.py deleted file mode 100644 index 787e8dc96cf..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/packet_capture_py3.py +++ /dev/null @@ -1,61 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class PacketCapture(Model): - """Parameters that define the create packet capture operation. - - All required parameters must be populated in order to send to Azure. - - :param target: Required. The ID of the targeted resource, only VM is - currently supported. - :type target: str - :param bytes_to_capture_per_packet: Number of bytes captured per packet, - the remaining bytes are truncated. Default value: 0 . - :type bytes_to_capture_per_packet: int - :param total_bytes_per_session: Maximum size of the capture output. - Default value: 1073741824 . - :type total_bytes_per_session: int - :param time_limit_in_seconds: Maximum duration of the capture session in - seconds. Default value: 18000 . - :type time_limit_in_seconds: int - :param storage_location: Required. - :type storage_location: - ~azure.mgmt.network.v2018_08_01.models.PacketCaptureStorageLocation - :param filters: - :type filters: - list[~azure.mgmt.network.v2018_08_01.models.PacketCaptureFilter] - """ - - _validation = { - 'target': {'required': True}, - 'storage_location': {'required': True}, - } - - _attribute_map = { - 'target': {'key': 'properties.target', 'type': 'str'}, - 'bytes_to_capture_per_packet': {'key': 'properties.bytesToCapturePerPacket', 'type': 'int'}, - 'total_bytes_per_session': {'key': 'properties.totalBytesPerSession', 'type': 'int'}, - 'time_limit_in_seconds': {'key': 'properties.timeLimitInSeconds', 'type': 'int'}, - 'storage_location': {'key': 'properties.storageLocation', 'type': 'PacketCaptureStorageLocation'}, - 'filters': {'key': 'properties.filters', 'type': '[PacketCaptureFilter]'}, - } - - def __init__(self, *, target: str, storage_location, bytes_to_capture_per_packet: int=0, total_bytes_per_session: int=1073741824, time_limit_in_seconds: int=18000, filters=None, **kwargs) -> None: - super(PacketCapture, self).__init__(**kwargs) - self.target = target - self.bytes_to_capture_per_packet = bytes_to_capture_per_packet - self.total_bytes_per_session = total_bytes_per_session - self.time_limit_in_seconds = time_limit_in_seconds - self.storage_location = storage_location - self.filters = filters diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/packet_capture_query_status_result.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/packet_capture_query_status_result.py deleted file mode 100644 index 8990adc7c67..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/packet_capture_query_status_result.py +++ /dev/null @@ -1,53 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class PacketCaptureQueryStatusResult(Model): - """Status of packet capture session. - - :param name: The name of the packet capture resource. - :type name: str - :param id: The ID of the packet capture resource. - :type id: str - :param capture_start_time: The start time of the packet capture session. - :type capture_start_time: datetime - :param packet_capture_status: The status of the packet capture session. - Possible values include: 'NotStarted', 'Running', 'Stopped', 'Error', - 'Unknown' - :type packet_capture_status: str or - ~azure.mgmt.network.v2018_08_01.models.PcStatus - :param stop_reason: The reason the current packet capture session was - stopped. - :type stop_reason: str - :param packet_capture_error: List of errors of packet capture session. - :type packet_capture_error: list[str or - ~azure.mgmt.network.v2018_08_01.models.PcError] - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'id': {'key': 'id', 'type': 'str'}, - 'capture_start_time': {'key': 'captureStartTime', 'type': 'iso-8601'}, - 'packet_capture_status': {'key': 'packetCaptureStatus', 'type': 'str'}, - 'stop_reason': {'key': 'stopReason', 'type': 'str'}, - 'packet_capture_error': {'key': 'packetCaptureError', 'type': '[str]'}, - } - - def __init__(self, **kwargs): - super(PacketCaptureQueryStatusResult, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.id = kwargs.get('id', None) - self.capture_start_time = kwargs.get('capture_start_time', None) - self.packet_capture_status = kwargs.get('packet_capture_status', None) - self.stop_reason = kwargs.get('stop_reason', None) - self.packet_capture_error = kwargs.get('packet_capture_error', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/packet_capture_query_status_result_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/packet_capture_query_status_result_py3.py deleted file mode 100644 index 6387e05e455..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/packet_capture_query_status_result_py3.py +++ /dev/null @@ -1,53 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class PacketCaptureQueryStatusResult(Model): - """Status of packet capture session. - - :param name: The name of the packet capture resource. - :type name: str - :param id: The ID of the packet capture resource. - :type id: str - :param capture_start_time: The start time of the packet capture session. - :type capture_start_time: datetime - :param packet_capture_status: The status of the packet capture session. - Possible values include: 'NotStarted', 'Running', 'Stopped', 'Error', - 'Unknown' - :type packet_capture_status: str or - ~azure.mgmt.network.v2018_08_01.models.PcStatus - :param stop_reason: The reason the current packet capture session was - stopped. - :type stop_reason: str - :param packet_capture_error: List of errors of packet capture session. - :type packet_capture_error: list[str or - ~azure.mgmt.network.v2018_08_01.models.PcError] - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'id': {'key': 'id', 'type': 'str'}, - 'capture_start_time': {'key': 'captureStartTime', 'type': 'iso-8601'}, - 'packet_capture_status': {'key': 'packetCaptureStatus', 'type': 'str'}, - 'stop_reason': {'key': 'stopReason', 'type': 'str'}, - 'packet_capture_error': {'key': 'packetCaptureError', 'type': '[str]'}, - } - - def __init__(self, *, name: str=None, id: str=None, capture_start_time=None, packet_capture_status=None, stop_reason: str=None, packet_capture_error=None, **kwargs) -> None: - super(PacketCaptureQueryStatusResult, self).__init__(**kwargs) - self.name = name - self.id = id - self.capture_start_time = capture_start_time - self.packet_capture_status = packet_capture_status - self.stop_reason = stop_reason - self.packet_capture_error = packet_capture_error diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/packet_capture_result.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/packet_capture_result.py deleted file mode 100644 index 233d4ab103b..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/packet_capture_result.py +++ /dev/null @@ -1,86 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class PacketCaptureResult(Model): - """Information about packet capture session. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :ivar name: Name of the packet capture session. - :vartype name: str - :ivar id: ID of the packet capture operation. - :vartype id: str - :param etag: Default value: "A unique read-only string that changes - whenever the resource is updated." . - :type etag: str - :param target: Required. The ID of the targeted resource, only VM is - currently supported. - :type target: str - :param bytes_to_capture_per_packet: Number of bytes captured per packet, - the remaining bytes are truncated. Default value: 0 . - :type bytes_to_capture_per_packet: int - :param total_bytes_per_session: Maximum size of the capture output. - Default value: 1073741824 . - :type total_bytes_per_session: int - :param time_limit_in_seconds: Maximum duration of the capture session in - seconds. Default value: 18000 . - :type time_limit_in_seconds: int - :param storage_location: Required. - :type storage_location: - ~azure.mgmt.network.v2018_08_01.models.PacketCaptureStorageLocation - :param filters: - :type filters: - list[~azure.mgmt.network.v2018_08_01.models.PacketCaptureFilter] - :param provisioning_state: The provisioning state of the packet capture - session. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2018_08_01.models.ProvisioningState - """ - - _validation = { - 'name': {'readonly': True}, - 'id': {'readonly': True}, - 'target': {'required': True}, - 'storage_location': {'required': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'id': {'key': 'id', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'target': {'key': 'properties.target', 'type': 'str'}, - 'bytes_to_capture_per_packet': {'key': 'properties.bytesToCapturePerPacket', 'type': 'int'}, - 'total_bytes_per_session': {'key': 'properties.totalBytesPerSession', 'type': 'int'}, - 'time_limit_in_seconds': {'key': 'properties.timeLimitInSeconds', 'type': 'int'}, - 'storage_location': {'key': 'properties.storageLocation', 'type': 'PacketCaptureStorageLocation'}, - 'filters': {'key': 'properties.filters', 'type': '[PacketCaptureFilter]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(PacketCaptureResult, self).__init__(**kwargs) - self.name = None - self.id = None - self.etag = kwargs.get('etag', "A unique read-only string that changes whenever the resource is updated.") - self.target = kwargs.get('target', None) - self.bytes_to_capture_per_packet = kwargs.get('bytes_to_capture_per_packet', 0) - self.total_bytes_per_session = kwargs.get('total_bytes_per_session', 1073741824) - self.time_limit_in_seconds = kwargs.get('time_limit_in_seconds', 18000) - self.storage_location = kwargs.get('storage_location', None) - self.filters = kwargs.get('filters', None) - self.provisioning_state = kwargs.get('provisioning_state', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/packet_capture_result_paged.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/packet_capture_result_paged.py deleted file mode 100644 index ef2a79b1920..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/packet_capture_result_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.paging import Paged - - -class PacketCaptureResultPaged(Paged): - """ - A paging container for iterating over a list of :class:`PacketCaptureResult ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[PacketCaptureResult]'} - } - - def __init__(self, *args, **kwargs): - - super(PacketCaptureResultPaged, self).__init__(*args, **kwargs) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/packet_capture_result_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/packet_capture_result_py3.py deleted file mode 100644 index b09e325131f..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/packet_capture_result_py3.py +++ /dev/null @@ -1,86 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class PacketCaptureResult(Model): - """Information about packet capture session. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :ivar name: Name of the packet capture session. - :vartype name: str - :ivar id: ID of the packet capture operation. - :vartype id: str - :param etag: Default value: "A unique read-only string that changes - whenever the resource is updated." . - :type etag: str - :param target: Required. The ID of the targeted resource, only VM is - currently supported. - :type target: str - :param bytes_to_capture_per_packet: Number of bytes captured per packet, - the remaining bytes are truncated. Default value: 0 . - :type bytes_to_capture_per_packet: int - :param total_bytes_per_session: Maximum size of the capture output. - Default value: 1073741824 . - :type total_bytes_per_session: int - :param time_limit_in_seconds: Maximum duration of the capture session in - seconds. Default value: 18000 . - :type time_limit_in_seconds: int - :param storage_location: Required. - :type storage_location: - ~azure.mgmt.network.v2018_08_01.models.PacketCaptureStorageLocation - :param filters: - :type filters: - list[~azure.mgmt.network.v2018_08_01.models.PacketCaptureFilter] - :param provisioning_state: The provisioning state of the packet capture - session. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2018_08_01.models.ProvisioningState - """ - - _validation = { - 'name': {'readonly': True}, - 'id': {'readonly': True}, - 'target': {'required': True}, - 'storage_location': {'required': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'id': {'key': 'id', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'target': {'key': 'properties.target', 'type': 'str'}, - 'bytes_to_capture_per_packet': {'key': 'properties.bytesToCapturePerPacket', 'type': 'int'}, - 'total_bytes_per_session': {'key': 'properties.totalBytesPerSession', 'type': 'int'}, - 'time_limit_in_seconds': {'key': 'properties.timeLimitInSeconds', 'type': 'int'}, - 'storage_location': {'key': 'properties.storageLocation', 'type': 'PacketCaptureStorageLocation'}, - 'filters': {'key': 'properties.filters', 'type': '[PacketCaptureFilter]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - } - - def __init__(self, *, target: str, storage_location, etag: str="A unique read-only string that changes whenever the resource is updated.", bytes_to_capture_per_packet: int=0, total_bytes_per_session: int=1073741824, time_limit_in_seconds: int=18000, filters=None, provisioning_state=None, **kwargs) -> None: - super(PacketCaptureResult, self).__init__(**kwargs) - self.name = None - self.id = None - self.etag = etag - self.target = target - self.bytes_to_capture_per_packet = bytes_to_capture_per_packet - self.total_bytes_per_session = total_bytes_per_session - self.time_limit_in_seconds = time_limit_in_seconds - self.storage_location = storage_location - self.filters = filters - self.provisioning_state = provisioning_state diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/packet_capture_storage_location.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/packet_capture_storage_location.py deleted file mode 100644 index 62ed83d592b..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/packet_capture_storage_location.py +++ /dev/null @@ -1,42 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class PacketCaptureStorageLocation(Model): - """Describes the storage location for a packet capture session. - - :param storage_id: The ID of the storage account to save the packet - capture session. Required if no local file path is provided. - :type storage_id: str - :param storage_path: The URI of the storage path to save the packet - capture. Must be a well-formed URI describing the location to save the - packet capture. - :type storage_path: str - :param file_path: A valid local path on the targeting VM. Must include the - name of the capture file (*.cap). For linux virtual machine it must start - with /var/captures. Required if no storage ID is provided, otherwise - optional. - :type file_path: str - """ - - _attribute_map = { - 'storage_id': {'key': 'storageId', 'type': 'str'}, - 'storage_path': {'key': 'storagePath', 'type': 'str'}, - 'file_path': {'key': 'filePath', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(PacketCaptureStorageLocation, self).__init__(**kwargs) - self.storage_id = kwargs.get('storage_id', None) - self.storage_path = kwargs.get('storage_path', None) - self.file_path = kwargs.get('file_path', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/packet_capture_storage_location_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/packet_capture_storage_location_py3.py deleted file mode 100644 index 6925dd4f9bd..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/packet_capture_storage_location_py3.py +++ /dev/null @@ -1,42 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class PacketCaptureStorageLocation(Model): - """Describes the storage location for a packet capture session. - - :param storage_id: The ID of the storage account to save the packet - capture session. Required if no local file path is provided. - :type storage_id: str - :param storage_path: The URI of the storage path to save the packet - capture. Must be a well-formed URI describing the location to save the - packet capture. - :type storage_path: str - :param file_path: A valid local path on the targeting VM. Must include the - name of the capture file (*.cap). For linux virtual machine it must start - with /var/captures. Required if no storage ID is provided, otherwise - optional. - :type file_path: str - """ - - _attribute_map = { - 'storage_id': {'key': 'storageId', 'type': 'str'}, - 'storage_path': {'key': 'storagePath', 'type': 'str'}, - 'file_path': {'key': 'filePath', 'type': 'str'}, - } - - def __init__(self, *, storage_id: str=None, storage_path: str=None, file_path: str=None, **kwargs) -> None: - super(PacketCaptureStorageLocation, self).__init__(**kwargs) - self.storage_id = storage_id - self.storage_path = storage_path - self.file_path = file_path diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/patch_route_filter.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/patch_route_filter.py deleted file mode 100644 index bd211cc892e..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/patch_route_filter.py +++ /dev/null @@ -1,71 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource import SubResource - - -class PatchRouteFilter(SubResource): - """Route Filter Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param rules: Collection of RouteFilterRules contained within a route - filter. - :type rules: list[~azure.mgmt.network.v2018_08_01.models.RouteFilterRule] - :param peerings: A collection of references to express route circuit - peerings. - :type peerings: - list[~azure.mgmt.network.v2018_08_01.models.ExpressRouteCircuitPeering] - :ivar provisioning_state: The provisioning state of the resource. Possible - values are: 'Updating', 'Deleting', 'Succeeded' and 'Failed'. - :vartype provisioning_state: str - :ivar name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :vartype name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :ivar type: Resource type. - :vartype type: str - :param tags: Resource tags. - :type tags: dict[str, str] - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'name': {'readonly': True}, - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'rules': {'key': 'properties.rules', 'type': '[RouteFilterRule]'}, - 'peerings': {'key': 'properties.peerings', 'type': '[ExpressRouteCircuitPeering]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - } - - def __init__(self, **kwargs): - super(PatchRouteFilter, self).__init__(**kwargs) - self.rules = kwargs.get('rules', None) - self.peerings = kwargs.get('peerings', None) - self.provisioning_state = None - self.name = None - self.etag = None - self.type = None - self.tags = kwargs.get('tags', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/patch_route_filter_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/patch_route_filter_py3.py deleted file mode 100644 index b0cb1f3e964..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/patch_route_filter_py3.py +++ /dev/null @@ -1,71 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource_py3 import SubResource - - -class PatchRouteFilter(SubResource): - """Route Filter Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param rules: Collection of RouteFilterRules contained within a route - filter. - :type rules: list[~azure.mgmt.network.v2018_08_01.models.RouteFilterRule] - :param peerings: A collection of references to express route circuit - peerings. - :type peerings: - list[~azure.mgmt.network.v2018_08_01.models.ExpressRouteCircuitPeering] - :ivar provisioning_state: The provisioning state of the resource. Possible - values are: 'Updating', 'Deleting', 'Succeeded' and 'Failed'. - :vartype provisioning_state: str - :ivar name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :vartype name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :ivar type: Resource type. - :vartype type: str - :param tags: Resource tags. - :type tags: dict[str, str] - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'name': {'readonly': True}, - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'rules': {'key': 'properties.rules', 'type': '[RouteFilterRule]'}, - 'peerings': {'key': 'properties.peerings', 'type': '[ExpressRouteCircuitPeering]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - } - - def __init__(self, *, id: str=None, rules=None, peerings=None, tags=None, **kwargs) -> None: - super(PatchRouteFilter, self).__init__(id=id, **kwargs) - self.rules = rules - self.peerings = peerings - self.provisioning_state = None - self.name = None - self.etag = None - self.type = None - self.tags = tags diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/patch_route_filter_rule.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/patch_route_filter_rule.py deleted file mode 100644 index 8629e5573a5..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/patch_route_filter_rule.py +++ /dev/null @@ -1,72 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource import SubResource - - -class PatchRouteFilterRule(SubResource): - """Route Filter Rule Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :param access: Required. The access type of the rule. Valid values are: - 'Allow', 'Deny'. Possible values include: 'Allow', 'Deny' - :type access: str or ~azure.mgmt.network.v2018_08_01.models.Access - :ivar route_filter_rule_type: Required. The rule type of the rule. Valid - value is: 'Community'. Default value: "Community" . - :vartype route_filter_rule_type: str - :param communities: Required. The collection for bgp community values to - filter on. e.g. ['12076:5010','12076:5020'] - :type communities: list[str] - :ivar provisioning_state: The provisioning state of the resource. Possible - values are: 'Updating', 'Deleting', 'Succeeded' and 'Failed'. - :vartype provisioning_state: str - :ivar name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :vartype name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'access': {'required': True}, - 'route_filter_rule_type': {'required': True, 'constant': True}, - 'communities': {'required': True}, - 'provisioning_state': {'readonly': True}, - 'name': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'access': {'key': 'properties.access', 'type': 'str'}, - 'route_filter_rule_type': {'key': 'properties.routeFilterRuleType', 'type': 'str'}, - 'communities': {'key': 'properties.communities', 'type': '[str]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - route_filter_rule_type = "Community" - - def __init__(self, **kwargs): - super(PatchRouteFilterRule, self).__init__(**kwargs) - self.access = kwargs.get('access', None) - self.communities = kwargs.get('communities', None) - self.provisioning_state = None - self.name = None - self.etag = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/patch_route_filter_rule_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/patch_route_filter_rule_py3.py deleted file mode 100644 index 41ae43ffaa0..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/patch_route_filter_rule_py3.py +++ /dev/null @@ -1,72 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource_py3 import SubResource - - -class PatchRouteFilterRule(SubResource): - """Route Filter Rule Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :param access: Required. The access type of the rule. Valid values are: - 'Allow', 'Deny'. Possible values include: 'Allow', 'Deny' - :type access: str or ~azure.mgmt.network.v2018_08_01.models.Access - :ivar route_filter_rule_type: Required. The rule type of the rule. Valid - value is: 'Community'. Default value: "Community" . - :vartype route_filter_rule_type: str - :param communities: Required. The collection for bgp community values to - filter on. e.g. ['12076:5010','12076:5020'] - :type communities: list[str] - :ivar provisioning_state: The provisioning state of the resource. Possible - values are: 'Updating', 'Deleting', 'Succeeded' and 'Failed'. - :vartype provisioning_state: str - :ivar name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :vartype name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'access': {'required': True}, - 'route_filter_rule_type': {'required': True, 'constant': True}, - 'communities': {'required': True}, - 'provisioning_state': {'readonly': True}, - 'name': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'access': {'key': 'properties.access', 'type': 'str'}, - 'route_filter_rule_type': {'key': 'properties.routeFilterRuleType', 'type': 'str'}, - 'communities': {'key': 'properties.communities', 'type': '[str]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - route_filter_rule_type = "Community" - - def __init__(self, *, access, communities, id: str=None, **kwargs) -> None: - super(PatchRouteFilterRule, self).__init__(id=id, **kwargs) - self.access = access - self.communities = communities - self.provisioning_state = None - self.name = None - self.etag = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/policies.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/policies.py deleted file mode 100644 index 069d98b7c83..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/policies.py +++ /dev/null @@ -1,34 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class Policies(Model): - """Policies for vpn gateway. - - :param allow_branch_to_branch_traffic: True if branch to branch traffic is - allowed. - :type allow_branch_to_branch_traffic: bool - :param allow_vnet_to_vnet_traffic: True if Vnet to Vnet traffic is - allowed. - :type allow_vnet_to_vnet_traffic: bool - """ - - _attribute_map = { - 'allow_branch_to_branch_traffic': {'key': 'allowBranchToBranchTraffic', 'type': 'bool'}, - 'allow_vnet_to_vnet_traffic': {'key': 'allowVnetToVnetTraffic', 'type': 'bool'}, - } - - def __init__(self, **kwargs): - super(Policies, self).__init__(**kwargs) - self.allow_branch_to_branch_traffic = kwargs.get('allow_branch_to_branch_traffic', None) - self.allow_vnet_to_vnet_traffic = kwargs.get('allow_vnet_to_vnet_traffic', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/policies_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/policies_py3.py deleted file mode 100644 index 895c01fcd8a..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/policies_py3.py +++ /dev/null @@ -1,34 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class Policies(Model): - """Policies for vpn gateway. - - :param allow_branch_to_branch_traffic: True if branch to branch traffic is - allowed. - :type allow_branch_to_branch_traffic: bool - :param allow_vnet_to_vnet_traffic: True if Vnet to Vnet traffic is - allowed. - :type allow_vnet_to_vnet_traffic: bool - """ - - _attribute_map = { - 'allow_branch_to_branch_traffic': {'key': 'allowBranchToBranchTraffic', 'type': 'bool'}, - 'allow_vnet_to_vnet_traffic': {'key': 'allowVnetToVnetTraffic', 'type': 'bool'}, - } - - def __init__(self, *, allow_branch_to_branch_traffic: bool=None, allow_vnet_to_vnet_traffic: bool=None, **kwargs) -> None: - super(Policies, self).__init__(**kwargs) - self.allow_branch_to_branch_traffic = allow_branch_to_branch_traffic - self.allow_vnet_to_vnet_traffic = allow_vnet_to_vnet_traffic diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/probe.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/probe.py deleted file mode 100644 index 0896bcffb8d..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/probe.py +++ /dev/null @@ -1,93 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource import SubResource - - -class Probe(SubResource): - """A load balancer probe. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :ivar load_balancing_rules: The load balancer rules that use this probe. - :vartype load_balancing_rules: - list[~azure.mgmt.network.v2018_08_01.models.SubResource] - :param protocol: Required. The protocol of the end point. Possible values - are: 'Http', 'Tcp', or 'Https'. If 'Tcp' is specified, a received ACK is - required for the probe to be successful. If 'Http' or 'Https' is - specified, a 200 OK response from the specifies URI is required for the - probe to be successful. Possible values include: 'Http', 'Tcp', 'Https' - :type protocol: str or - ~azure.mgmt.network.v2018_08_01.models.ProbeProtocol - :param port: Required. The port for communicating the probe. Possible - values range from 1 to 65535, inclusive. - :type port: int - :param interval_in_seconds: The interval, in seconds, for how frequently - to probe the endpoint for health status. Typically, the interval is - slightly less than half the allocated timeout period (in seconds) which - allows two full probes before taking the instance out of rotation. The - default value is 15, the minimum value is 5. - :type interval_in_seconds: int - :param number_of_probes: The number of probes where if no response, will - result in stopping further traffic from being delivered to the endpoint. - This values allows endpoints to be taken out of rotation faster or slower - than the typical times used in Azure. - :type number_of_probes: int - :param request_path: The URI used for requesting health status from the - VM. Path is required if a protocol is set to http. Otherwise, it is not - allowed. There is no default value. - :type request_path: str - :param provisioning_state: Gets the provisioning state of the public IP - resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - :type provisioning_state: str - :param name: Gets name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'load_balancing_rules': {'readonly': True}, - 'protocol': {'required': True}, - 'port': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'load_balancing_rules': {'key': 'properties.loadBalancingRules', 'type': '[SubResource]'}, - 'protocol': {'key': 'properties.protocol', 'type': 'str'}, - 'port': {'key': 'properties.port', 'type': 'int'}, - 'interval_in_seconds': {'key': 'properties.intervalInSeconds', 'type': 'int'}, - 'number_of_probes': {'key': 'properties.numberOfProbes', 'type': 'int'}, - 'request_path': {'key': 'properties.requestPath', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(Probe, self).__init__(**kwargs) - self.load_balancing_rules = None - self.protocol = kwargs.get('protocol', None) - self.port = kwargs.get('port', None) - self.interval_in_seconds = kwargs.get('interval_in_seconds', None) - self.number_of_probes = kwargs.get('number_of_probes', None) - self.request_path = kwargs.get('request_path', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.name = kwargs.get('name', None) - self.etag = kwargs.get('etag', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/probe_paged.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/probe_paged.py deleted file mode 100644 index 865b0aa77a8..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/probe_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.paging import Paged - - -class ProbePaged(Paged): - """ - A paging container for iterating over a list of :class:`Probe ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[Probe]'} - } - - def __init__(self, *args, **kwargs): - - super(ProbePaged, self).__init__(*args, **kwargs) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/probe_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/probe_py3.py deleted file mode 100644 index 6887f44c543..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/probe_py3.py +++ /dev/null @@ -1,93 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource_py3 import SubResource - - -class Probe(SubResource): - """A load balancer probe. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :ivar load_balancing_rules: The load balancer rules that use this probe. - :vartype load_balancing_rules: - list[~azure.mgmt.network.v2018_08_01.models.SubResource] - :param protocol: Required. The protocol of the end point. Possible values - are: 'Http', 'Tcp', or 'Https'. If 'Tcp' is specified, a received ACK is - required for the probe to be successful. If 'Http' or 'Https' is - specified, a 200 OK response from the specifies URI is required for the - probe to be successful. Possible values include: 'Http', 'Tcp', 'Https' - :type protocol: str or - ~azure.mgmt.network.v2018_08_01.models.ProbeProtocol - :param port: Required. The port for communicating the probe. Possible - values range from 1 to 65535, inclusive. - :type port: int - :param interval_in_seconds: The interval, in seconds, for how frequently - to probe the endpoint for health status. Typically, the interval is - slightly less than half the allocated timeout period (in seconds) which - allows two full probes before taking the instance out of rotation. The - default value is 15, the minimum value is 5. - :type interval_in_seconds: int - :param number_of_probes: The number of probes where if no response, will - result in stopping further traffic from being delivered to the endpoint. - This values allows endpoints to be taken out of rotation faster or slower - than the typical times used in Azure. - :type number_of_probes: int - :param request_path: The URI used for requesting health status from the - VM. Path is required if a protocol is set to http. Otherwise, it is not - allowed. There is no default value. - :type request_path: str - :param provisioning_state: Gets the provisioning state of the public IP - resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - :type provisioning_state: str - :param name: Gets name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'load_balancing_rules': {'readonly': True}, - 'protocol': {'required': True}, - 'port': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'load_balancing_rules': {'key': 'properties.loadBalancingRules', 'type': '[SubResource]'}, - 'protocol': {'key': 'properties.protocol', 'type': 'str'}, - 'port': {'key': 'properties.port', 'type': 'int'}, - 'interval_in_seconds': {'key': 'properties.intervalInSeconds', 'type': 'int'}, - 'number_of_probes': {'key': 'properties.numberOfProbes', 'type': 'int'}, - 'request_path': {'key': 'properties.requestPath', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, protocol, port: int, id: str=None, interval_in_seconds: int=None, number_of_probes: int=None, request_path: str=None, provisioning_state: str=None, name: str=None, etag: str=None, **kwargs) -> None: - super(Probe, self).__init__(id=id, **kwargs) - self.load_balancing_rules = None - self.protocol = protocol - self.port = port - self.interval_in_seconds = interval_in_seconds - self.number_of_probes = number_of_probes - self.request_path = request_path - self.provisioning_state = provisioning_state - self.name = name - self.etag = etag diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/protocol_configuration.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/protocol_configuration.py deleted file mode 100644 index 4ddac620f43..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/protocol_configuration.py +++ /dev/null @@ -1,29 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ProtocolConfiguration(Model): - """Configuration of the protocol. - - :param http_configuration: - :type http_configuration: - ~azure.mgmt.network.v2018_08_01.models.HTTPConfiguration - """ - - _attribute_map = { - 'http_configuration': {'key': 'HTTPConfiguration', 'type': 'HTTPConfiguration'}, - } - - def __init__(self, **kwargs): - super(ProtocolConfiguration, self).__init__(**kwargs) - self.http_configuration = kwargs.get('http_configuration', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/protocol_configuration_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/protocol_configuration_py3.py deleted file mode 100644 index 4ca2f5e3cd0..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/protocol_configuration_py3.py +++ /dev/null @@ -1,29 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ProtocolConfiguration(Model): - """Configuration of the protocol. - - :param http_configuration: - :type http_configuration: - ~azure.mgmt.network.v2018_08_01.models.HTTPConfiguration - """ - - _attribute_map = { - 'http_configuration': {'key': 'HTTPConfiguration', 'type': 'HTTPConfiguration'}, - } - - def __init__(self, *, http_configuration=None, **kwargs) -> None: - super(ProtocolConfiguration, self).__init__(**kwargs) - self.http_configuration = http_configuration diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/public_ip_address.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/public_ip_address.py deleted file mode 100644 index 054e94a2e4f..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/public_ip_address.py +++ /dev/null @@ -1,115 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .resource import Resource - - -class PublicIPAddress(Resource): - """Public IP address resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param sku: The public IP address SKU. - :type sku: ~azure.mgmt.network.v2018_08_01.models.PublicIPAddressSku - :param public_ip_allocation_method: The public IP allocation method. - Possible values are: 'Static' and 'Dynamic'. Possible values include: - 'Static', 'Dynamic' - :type public_ip_allocation_method: str or - ~azure.mgmt.network.v2018_08_01.models.IPAllocationMethod - :param public_ip_address_version: The public IP address version. Possible - values are: 'IPv4' and 'IPv6'. Possible values include: 'IPv4', 'IPv6' - :type public_ip_address_version: str or - ~azure.mgmt.network.v2018_08_01.models.IPVersion - :ivar ip_configuration: The IP configuration associated with the public IP - address. - :vartype ip_configuration: - ~azure.mgmt.network.v2018_08_01.models.IPConfiguration - :param dns_settings: The FQDN of the DNS record associated with the public - IP address. - :type dns_settings: - ~azure.mgmt.network.v2018_08_01.models.PublicIPAddressDnsSettings - :param ip_tags: The list of tags associated with the public IP address. - :type ip_tags: list[~azure.mgmt.network.v2018_08_01.models.IpTag] - :param ip_address: The IP address associated with the public IP address - resource. - :type ip_address: str - :param public_ip_prefix: The Public IP Prefix this Public IP Address - should be allocated from. - :type public_ip_prefix: ~azure.mgmt.network.v2018_08_01.models.SubResource - :param idle_timeout_in_minutes: The idle timeout of the public IP address. - :type idle_timeout_in_minutes: int - :param resource_guid: The resource GUID property of the public IP - resource. - :type resource_guid: str - :param provisioning_state: The provisioning state of the PublicIP - resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - :type provisioning_state: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - :param zones: A list of availability zones denoting the IP allocated for - the resource needs to come from. - :type zones: list[str] - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'ip_configuration': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'sku': {'key': 'sku', 'type': 'PublicIPAddressSku'}, - 'public_ip_allocation_method': {'key': 'properties.publicIPAllocationMethod', 'type': 'str'}, - 'public_ip_address_version': {'key': 'properties.publicIPAddressVersion', 'type': 'str'}, - 'ip_configuration': {'key': 'properties.ipConfiguration', 'type': 'IPConfiguration'}, - 'dns_settings': {'key': 'properties.dnsSettings', 'type': 'PublicIPAddressDnsSettings'}, - 'ip_tags': {'key': 'properties.ipTags', 'type': '[IpTag]'}, - 'ip_address': {'key': 'properties.ipAddress', 'type': 'str'}, - 'public_ip_prefix': {'key': 'properties.publicIPPrefix', 'type': 'SubResource'}, - 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'zones': {'key': 'zones', 'type': '[str]'}, - } - - def __init__(self, **kwargs): - super(PublicIPAddress, self).__init__(**kwargs) - self.sku = kwargs.get('sku', None) - self.public_ip_allocation_method = kwargs.get('public_ip_allocation_method', None) - self.public_ip_address_version = kwargs.get('public_ip_address_version', None) - self.ip_configuration = None - self.dns_settings = kwargs.get('dns_settings', None) - self.ip_tags = kwargs.get('ip_tags', None) - self.ip_address = kwargs.get('ip_address', None) - self.public_ip_prefix = kwargs.get('public_ip_prefix', None) - self.idle_timeout_in_minutes = kwargs.get('idle_timeout_in_minutes', None) - self.resource_guid = kwargs.get('resource_guid', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.etag = kwargs.get('etag', None) - self.zones = kwargs.get('zones', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/public_ip_address_dns_settings.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/public_ip_address_dns_settings.py deleted file mode 100644 index 07dfe30433a..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/public_ip_address_dns_settings.py +++ /dev/null @@ -1,45 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class PublicIPAddressDnsSettings(Model): - """Contains FQDN of the DNS record associated with the public IP address. - - :param domain_name_label: Gets or sets the Domain name label.The - concatenation of the domain name label and the regionalized DNS zone make - up the fully qualified domain name associated with the public IP address. - If a domain name label is specified, an A DNS record is created for the - public IP in the Microsoft Azure DNS system. - :type domain_name_label: str - :param fqdn: Gets the FQDN, Fully qualified domain name of the A DNS - record associated with the public IP. This is the concatenation of the - domainNameLabel and the regionalized DNS zone. - :type fqdn: str - :param reverse_fqdn: Gets or Sets the Reverse FQDN. A user-visible, fully - qualified domain name that resolves to this public IP address. If the - reverseFqdn is specified, then a PTR DNS record is created pointing from - the IP address in the in-addr.arpa domain to the reverse FQDN. - :type reverse_fqdn: str - """ - - _attribute_map = { - 'domain_name_label': {'key': 'domainNameLabel', 'type': 'str'}, - 'fqdn': {'key': 'fqdn', 'type': 'str'}, - 'reverse_fqdn': {'key': 'reverseFqdn', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(PublicIPAddressDnsSettings, self).__init__(**kwargs) - self.domain_name_label = kwargs.get('domain_name_label', None) - self.fqdn = kwargs.get('fqdn', None) - self.reverse_fqdn = kwargs.get('reverse_fqdn', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/public_ip_address_dns_settings_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/public_ip_address_dns_settings_py3.py deleted file mode 100644 index e84aa9c10bf..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/public_ip_address_dns_settings_py3.py +++ /dev/null @@ -1,45 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class PublicIPAddressDnsSettings(Model): - """Contains FQDN of the DNS record associated with the public IP address. - - :param domain_name_label: Gets or sets the Domain name label.The - concatenation of the domain name label and the regionalized DNS zone make - up the fully qualified domain name associated with the public IP address. - If a domain name label is specified, an A DNS record is created for the - public IP in the Microsoft Azure DNS system. - :type domain_name_label: str - :param fqdn: Gets the FQDN, Fully qualified domain name of the A DNS - record associated with the public IP. This is the concatenation of the - domainNameLabel and the regionalized DNS zone. - :type fqdn: str - :param reverse_fqdn: Gets or Sets the Reverse FQDN. A user-visible, fully - qualified domain name that resolves to this public IP address. If the - reverseFqdn is specified, then a PTR DNS record is created pointing from - the IP address in the in-addr.arpa domain to the reverse FQDN. - :type reverse_fqdn: str - """ - - _attribute_map = { - 'domain_name_label': {'key': 'domainNameLabel', 'type': 'str'}, - 'fqdn': {'key': 'fqdn', 'type': 'str'}, - 'reverse_fqdn': {'key': 'reverseFqdn', 'type': 'str'}, - } - - def __init__(self, *, domain_name_label: str=None, fqdn: str=None, reverse_fqdn: str=None, **kwargs) -> None: - super(PublicIPAddressDnsSettings, self).__init__(**kwargs) - self.domain_name_label = domain_name_label - self.fqdn = fqdn - self.reverse_fqdn = reverse_fqdn diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/public_ip_address_paged.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/public_ip_address_paged.py deleted file mode 100644 index c5f8810dd1c..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/public_ip_address_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.paging import Paged - - -class PublicIPAddressPaged(Paged): - """ - A paging container for iterating over a list of :class:`PublicIPAddress ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[PublicIPAddress]'} - } - - def __init__(self, *args, **kwargs): - - super(PublicIPAddressPaged, self).__init__(*args, **kwargs) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/public_ip_address_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/public_ip_address_py3.py deleted file mode 100644 index 5facfa33f92..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/public_ip_address_py3.py +++ /dev/null @@ -1,115 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .resource_py3 import Resource - - -class PublicIPAddress(Resource): - """Public IP address resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param sku: The public IP address SKU. - :type sku: ~azure.mgmt.network.v2018_08_01.models.PublicIPAddressSku - :param public_ip_allocation_method: The public IP allocation method. - Possible values are: 'Static' and 'Dynamic'. Possible values include: - 'Static', 'Dynamic' - :type public_ip_allocation_method: str or - ~azure.mgmt.network.v2018_08_01.models.IPAllocationMethod - :param public_ip_address_version: The public IP address version. Possible - values are: 'IPv4' and 'IPv6'. Possible values include: 'IPv4', 'IPv6' - :type public_ip_address_version: str or - ~azure.mgmt.network.v2018_08_01.models.IPVersion - :ivar ip_configuration: The IP configuration associated with the public IP - address. - :vartype ip_configuration: - ~azure.mgmt.network.v2018_08_01.models.IPConfiguration - :param dns_settings: The FQDN of the DNS record associated with the public - IP address. - :type dns_settings: - ~azure.mgmt.network.v2018_08_01.models.PublicIPAddressDnsSettings - :param ip_tags: The list of tags associated with the public IP address. - :type ip_tags: list[~azure.mgmt.network.v2018_08_01.models.IpTag] - :param ip_address: The IP address associated with the public IP address - resource. - :type ip_address: str - :param public_ip_prefix: The Public IP Prefix this Public IP Address - should be allocated from. - :type public_ip_prefix: ~azure.mgmt.network.v2018_08_01.models.SubResource - :param idle_timeout_in_minutes: The idle timeout of the public IP address. - :type idle_timeout_in_minutes: int - :param resource_guid: The resource GUID property of the public IP - resource. - :type resource_guid: str - :param provisioning_state: The provisioning state of the PublicIP - resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - :type provisioning_state: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - :param zones: A list of availability zones denoting the IP allocated for - the resource needs to come from. - :type zones: list[str] - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'ip_configuration': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'sku': {'key': 'sku', 'type': 'PublicIPAddressSku'}, - 'public_ip_allocation_method': {'key': 'properties.publicIPAllocationMethod', 'type': 'str'}, - 'public_ip_address_version': {'key': 'properties.publicIPAddressVersion', 'type': 'str'}, - 'ip_configuration': {'key': 'properties.ipConfiguration', 'type': 'IPConfiguration'}, - 'dns_settings': {'key': 'properties.dnsSettings', 'type': 'PublicIPAddressDnsSettings'}, - 'ip_tags': {'key': 'properties.ipTags', 'type': '[IpTag]'}, - 'ip_address': {'key': 'properties.ipAddress', 'type': 'str'}, - 'public_ip_prefix': {'key': 'properties.publicIPPrefix', 'type': 'SubResource'}, - 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'zones': {'key': 'zones', 'type': '[str]'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, sku=None, public_ip_allocation_method=None, public_ip_address_version=None, dns_settings=None, ip_tags=None, ip_address: str=None, public_ip_prefix=None, idle_timeout_in_minutes: int=None, resource_guid: str=None, provisioning_state: str=None, etag: str=None, zones=None, **kwargs) -> None: - super(PublicIPAddress, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.sku = sku - self.public_ip_allocation_method = public_ip_allocation_method - self.public_ip_address_version = public_ip_address_version - self.ip_configuration = None - self.dns_settings = dns_settings - self.ip_tags = ip_tags - self.ip_address = ip_address - self.public_ip_prefix = public_ip_prefix - self.idle_timeout_in_minutes = idle_timeout_in_minutes - self.resource_guid = resource_guid - self.provisioning_state = provisioning_state - self.etag = etag - self.zones = zones diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/public_ip_address_sku.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/public_ip_address_sku.py deleted file mode 100644 index bca2e95b4ac..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/public_ip_address_sku.py +++ /dev/null @@ -1,30 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class PublicIPAddressSku(Model): - """SKU of a public IP address. - - :param name: Name of a public IP address SKU. Possible values include: - 'Basic', 'Standard' - :type name: str or - ~azure.mgmt.network.v2018_08_01.models.PublicIPAddressSkuName - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(PublicIPAddressSku, self).__init__(**kwargs) - self.name = kwargs.get('name', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/public_ip_address_sku_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/public_ip_address_sku_py3.py deleted file mode 100644 index ab8ec85843f..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/public_ip_address_sku_py3.py +++ /dev/null @@ -1,30 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class PublicIPAddressSku(Model): - """SKU of a public IP address. - - :param name: Name of a public IP address SKU. Possible values include: - 'Basic', 'Standard' - :type name: str or - ~azure.mgmt.network.v2018_08_01.models.PublicIPAddressSkuName - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - } - - def __init__(self, *, name=None, **kwargs) -> None: - super(PublicIPAddressSku, self).__init__(**kwargs) - self.name = name diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/public_ip_prefix.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/public_ip_prefix.py deleted file mode 100644 index 1ea57b4bef1..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/public_ip_prefix.py +++ /dev/null @@ -1,94 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .resource import Resource - - -class PublicIPPrefix(Resource): - """Public IP prefix resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param sku: The public IP prefix SKU. - :type sku: ~azure.mgmt.network.v2018_08_01.models.PublicIPPrefixSku - :param public_ip_address_version: The public IP address version. Possible - values are: 'IPv4' and 'IPv6'. Possible values include: 'IPv4', 'IPv6' - :type public_ip_address_version: str or - ~azure.mgmt.network.v2018_08_01.models.IPVersion - :param ip_tags: The list of tags associated with the public IP prefix. - :type ip_tags: list[~azure.mgmt.network.v2018_08_01.models.IpTag] - :param prefix_length: The Length of the Public IP Prefix. - :type prefix_length: int - :param ip_prefix: The allocated Prefix - :type ip_prefix: str - :param public_ip_addresses: The list of all referenced PublicIPAddresses - :type public_ip_addresses: - list[~azure.mgmt.network.v2018_08_01.models.ReferencedPublicIpAddress] - :param resource_guid: The resource GUID property of the public IP prefix - resource. - :type resource_guid: str - :param provisioning_state: The provisioning state of the Public IP prefix - resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - :type provisioning_state: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - :param zones: A list of availability zones denoting the IP allocated for - the resource needs to come from. - :type zones: list[str] - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'sku': {'key': 'sku', 'type': 'PublicIPPrefixSku'}, - 'public_ip_address_version': {'key': 'properties.publicIPAddressVersion', 'type': 'str'}, - 'ip_tags': {'key': 'properties.ipTags', 'type': '[IpTag]'}, - 'prefix_length': {'key': 'properties.prefixLength', 'type': 'int'}, - 'ip_prefix': {'key': 'properties.ipPrefix', 'type': 'str'}, - 'public_ip_addresses': {'key': 'properties.publicIPAddresses', 'type': '[ReferencedPublicIpAddress]'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'zones': {'key': 'zones', 'type': '[str]'}, - } - - def __init__(self, **kwargs): - super(PublicIPPrefix, self).__init__(**kwargs) - self.sku = kwargs.get('sku', None) - self.public_ip_address_version = kwargs.get('public_ip_address_version', None) - self.ip_tags = kwargs.get('ip_tags', None) - self.prefix_length = kwargs.get('prefix_length', None) - self.ip_prefix = kwargs.get('ip_prefix', None) - self.public_ip_addresses = kwargs.get('public_ip_addresses', None) - self.resource_guid = kwargs.get('resource_guid', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.etag = kwargs.get('etag', None) - self.zones = kwargs.get('zones', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/public_ip_prefix_paged.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/public_ip_prefix_paged.py deleted file mode 100644 index b6979fe2a2f..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/public_ip_prefix_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.paging import Paged - - -class PublicIPPrefixPaged(Paged): - """ - A paging container for iterating over a list of :class:`PublicIPPrefix ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[PublicIPPrefix]'} - } - - def __init__(self, *args, **kwargs): - - super(PublicIPPrefixPaged, self).__init__(*args, **kwargs) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/public_ip_prefix_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/public_ip_prefix_py3.py deleted file mode 100644 index e6448c9bbe9..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/public_ip_prefix_py3.py +++ /dev/null @@ -1,94 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .resource_py3 import Resource - - -class PublicIPPrefix(Resource): - """Public IP prefix resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param sku: The public IP prefix SKU. - :type sku: ~azure.mgmt.network.v2018_08_01.models.PublicIPPrefixSku - :param public_ip_address_version: The public IP address version. Possible - values are: 'IPv4' and 'IPv6'. Possible values include: 'IPv4', 'IPv6' - :type public_ip_address_version: str or - ~azure.mgmt.network.v2018_08_01.models.IPVersion - :param ip_tags: The list of tags associated with the public IP prefix. - :type ip_tags: list[~azure.mgmt.network.v2018_08_01.models.IpTag] - :param prefix_length: The Length of the Public IP Prefix. - :type prefix_length: int - :param ip_prefix: The allocated Prefix - :type ip_prefix: str - :param public_ip_addresses: The list of all referenced PublicIPAddresses - :type public_ip_addresses: - list[~azure.mgmt.network.v2018_08_01.models.ReferencedPublicIpAddress] - :param resource_guid: The resource GUID property of the public IP prefix - resource. - :type resource_guid: str - :param provisioning_state: The provisioning state of the Public IP prefix - resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - :type provisioning_state: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - :param zones: A list of availability zones denoting the IP allocated for - the resource needs to come from. - :type zones: list[str] - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'sku': {'key': 'sku', 'type': 'PublicIPPrefixSku'}, - 'public_ip_address_version': {'key': 'properties.publicIPAddressVersion', 'type': 'str'}, - 'ip_tags': {'key': 'properties.ipTags', 'type': '[IpTag]'}, - 'prefix_length': {'key': 'properties.prefixLength', 'type': 'int'}, - 'ip_prefix': {'key': 'properties.ipPrefix', 'type': 'str'}, - 'public_ip_addresses': {'key': 'properties.publicIPAddresses', 'type': '[ReferencedPublicIpAddress]'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'zones': {'key': 'zones', 'type': '[str]'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, sku=None, public_ip_address_version=None, ip_tags=None, prefix_length: int=None, ip_prefix: str=None, public_ip_addresses=None, resource_guid: str=None, provisioning_state: str=None, etag: str=None, zones=None, **kwargs) -> None: - super(PublicIPPrefix, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.sku = sku - self.public_ip_address_version = public_ip_address_version - self.ip_tags = ip_tags - self.prefix_length = prefix_length - self.ip_prefix = ip_prefix - self.public_ip_addresses = public_ip_addresses - self.resource_guid = resource_guid - self.provisioning_state = provisioning_state - self.etag = etag - self.zones = zones diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/public_ip_prefix_sku.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/public_ip_prefix_sku.py deleted file mode 100644 index 8f1ec570e0b..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/public_ip_prefix_sku.py +++ /dev/null @@ -1,30 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class PublicIPPrefixSku(Model): - """SKU of a public IP prefix. - - :param name: Name of a public IP prefix SKU. Possible values include: - 'Standard' - :type name: str or - ~azure.mgmt.network.v2018_08_01.models.PublicIPPrefixSkuName - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(PublicIPPrefixSku, self).__init__(**kwargs) - self.name = kwargs.get('name', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/public_ip_prefix_sku_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/public_ip_prefix_sku_py3.py deleted file mode 100644 index 8ade5d9a839..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/public_ip_prefix_sku_py3.py +++ /dev/null @@ -1,30 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class PublicIPPrefixSku(Model): - """SKU of a public IP prefix. - - :param name: Name of a public IP prefix SKU. Possible values include: - 'Standard' - :type name: str or - ~azure.mgmt.network.v2018_08_01.models.PublicIPPrefixSkuName - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - } - - def __init__(self, *, name=None, **kwargs) -> None: - super(PublicIPPrefixSku, self).__init__(**kwargs) - self.name = name diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/query_troubleshooting_parameters.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/query_troubleshooting_parameters.py deleted file mode 100644 index 6ae1924916c..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/query_troubleshooting_parameters.py +++ /dev/null @@ -1,35 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class QueryTroubleshootingParameters(Model): - """Parameters that define the resource to query the troubleshooting result. - - All required parameters must be populated in order to send to Azure. - - :param target_resource_id: Required. The target resource ID to query the - troubleshooting result. - :type target_resource_id: str - """ - - _validation = { - 'target_resource_id': {'required': True}, - } - - _attribute_map = { - 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(QueryTroubleshootingParameters, self).__init__(**kwargs) - self.target_resource_id = kwargs.get('target_resource_id', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/query_troubleshooting_parameters_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/query_troubleshooting_parameters_py3.py deleted file mode 100644 index b5fccb87857..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/query_troubleshooting_parameters_py3.py +++ /dev/null @@ -1,35 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class QueryTroubleshootingParameters(Model): - """Parameters that define the resource to query the troubleshooting result. - - All required parameters must be populated in order to send to Azure. - - :param target_resource_id: Required. The target resource ID to query the - troubleshooting result. - :type target_resource_id: str - """ - - _validation = { - 'target_resource_id': {'required': True}, - } - - _attribute_map = { - 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, - } - - def __init__(self, *, target_resource_id: str, **kwargs) -> None: - super(QueryTroubleshootingParameters, self).__init__(**kwargs) - self.target_resource_id = target_resource_id diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/referenced_public_ip_address.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/referenced_public_ip_address.py deleted file mode 100644 index 76807023de7..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/referenced_public_ip_address.py +++ /dev/null @@ -1,28 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ReferencedPublicIpAddress(Model): - """ReferencedPublicIpAddress. - - :param id: The PublicIPAddress Reference - :type id: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ReferencedPublicIpAddress, self).__init__(**kwargs) - self.id = kwargs.get('id', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/referenced_public_ip_address_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/referenced_public_ip_address_py3.py deleted file mode 100644 index 3d078b57123..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/referenced_public_ip_address_py3.py +++ /dev/null @@ -1,28 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ReferencedPublicIpAddress(Model): - """ReferencedPublicIpAddress. - - :param id: The PublicIPAddress Reference - :type id: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, **kwargs) -> None: - super(ReferencedPublicIpAddress, self).__init__(**kwargs) - self.id = id diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/resource.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/resource.py deleted file mode 100644 index 7dabab29ac9..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/resource.py +++ /dev/null @@ -1,52 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class Resource(Model): - """Common resource representation. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - } - - def __init__(self, **kwargs): - super(Resource, self).__init__(**kwargs) - self.id = kwargs.get('id', None) - self.name = None - self.type = None - self.location = kwargs.get('location', None) - self.tags = kwargs.get('tags', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/resource_navigation_link.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/resource_navigation_link.py deleted file mode 100644 index 705698f513f..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/resource_navigation_link.py +++ /dev/null @@ -1,58 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource import SubResource - - -class ResourceNavigationLink(SubResource): - """ResourceNavigationLink resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param linked_resource_type: Resource type of the linked resource. - :type linked_resource_type: str - :param link: Link to the external resource - :type link: str - :ivar provisioning_state: Provisioning state of the ResourceNavigationLink - resource. - :vartype provisioning_state: str - :param name: Name of the resource that is unique within a resource group. - This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'linked_resource_type': {'key': 'properties.linkedResourceType', 'type': 'str'}, - 'link': {'key': 'properties.link', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ResourceNavigationLink, self).__init__(**kwargs) - self.linked_resource_type = kwargs.get('linked_resource_type', None) - self.link = kwargs.get('link', None) - self.provisioning_state = None - self.name = kwargs.get('name', None) - self.etag = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/resource_navigation_link_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/resource_navigation_link_py3.py deleted file mode 100644 index ba7329e863a..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/resource_navigation_link_py3.py +++ /dev/null @@ -1,58 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource_py3 import SubResource - - -class ResourceNavigationLink(SubResource): - """ResourceNavigationLink resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param linked_resource_type: Resource type of the linked resource. - :type linked_resource_type: str - :param link: Link to the external resource - :type link: str - :ivar provisioning_state: Provisioning state of the ResourceNavigationLink - resource. - :vartype provisioning_state: str - :param name: Name of the resource that is unique within a resource group. - This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'linked_resource_type': {'key': 'properties.linkedResourceType', 'type': 'str'}, - 'link': {'key': 'properties.link', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, linked_resource_type: str=None, link: str=None, name: str=None, **kwargs) -> None: - super(ResourceNavigationLink, self).__init__(id=id, **kwargs) - self.linked_resource_type = linked_resource_type - self.link = link - self.provisioning_state = None - self.name = name - self.etag = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/resource_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/resource_py3.py deleted file mode 100644 index ae95b78b4f2..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/resource_py3.py +++ /dev/null @@ -1,52 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class Resource(Model): - """Common resource representation. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, **kwargs) -> None: - super(Resource, self).__init__(**kwargs) - self.id = id - self.name = None - self.type = None - self.location = location - self.tags = tags diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/retention_policy_parameters.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/retention_policy_parameters.py deleted file mode 100644 index 28cb43056d4..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/retention_policy_parameters.py +++ /dev/null @@ -1,32 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class RetentionPolicyParameters(Model): - """Parameters that define the retention policy for flow log. - - :param days: Number of days to retain flow log records. Default value: 0 . - :type days: int - :param enabled: Flag to enable/disable retention. Default value: False . - :type enabled: bool - """ - - _attribute_map = { - 'days': {'key': 'days', 'type': 'int'}, - 'enabled': {'key': 'enabled', 'type': 'bool'}, - } - - def __init__(self, **kwargs): - super(RetentionPolicyParameters, self).__init__(**kwargs) - self.days = kwargs.get('days', 0) - self.enabled = kwargs.get('enabled', False) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/retention_policy_parameters_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/retention_policy_parameters_py3.py deleted file mode 100644 index 3b2ffc5e741..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/retention_policy_parameters_py3.py +++ /dev/null @@ -1,32 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class RetentionPolicyParameters(Model): - """Parameters that define the retention policy for flow log. - - :param days: Number of days to retain flow log records. Default value: 0 . - :type days: int - :param enabled: Flag to enable/disable retention. Default value: False . - :type enabled: bool - """ - - _attribute_map = { - 'days': {'key': 'days', 'type': 'int'}, - 'enabled': {'key': 'enabled', 'type': 'bool'}, - } - - def __init__(self, *, days: int=0, enabled: bool=False, **kwargs) -> None: - super(RetentionPolicyParameters, self).__init__(**kwargs) - self.days = days - self.enabled = enabled diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/route.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/route.py deleted file mode 100644 index a29e6bc927e..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/route.py +++ /dev/null @@ -1,67 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource import SubResource - - -class Route(SubResource): - """Route resource. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :param address_prefix: The destination CIDR to which the route applies. - :type address_prefix: str - :param next_hop_type: Required. The type of Azure hop the packet should be - sent to. Possible values are: 'VirtualNetworkGateway', 'VnetLocal', - 'Internet', 'VirtualAppliance', and 'None'. Possible values include: - 'VirtualNetworkGateway', 'VnetLocal', 'Internet', 'VirtualAppliance', - 'None' - :type next_hop_type: str or - ~azure.mgmt.network.v2018_08_01.models.RouteNextHopType - :param next_hop_ip_address: The IP address packets should be forwarded to. - Next hop values are only allowed in routes where the next hop type is - VirtualAppliance. - :type next_hop_ip_address: str - :param provisioning_state: The provisioning state of the resource. - Possible values are: 'Updating', 'Deleting', and 'Failed'. - :type provisioning_state: str - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'next_hop_type': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'address_prefix': {'key': 'properties.addressPrefix', 'type': 'str'}, - 'next_hop_type': {'key': 'properties.nextHopType', 'type': 'str'}, - 'next_hop_ip_address': {'key': 'properties.nextHopIpAddress', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(Route, self).__init__(**kwargs) - self.address_prefix = kwargs.get('address_prefix', None) - self.next_hop_type = kwargs.get('next_hop_type', None) - self.next_hop_ip_address = kwargs.get('next_hop_ip_address', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.name = kwargs.get('name', None) - self.etag = kwargs.get('etag', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/route_filter.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/route_filter.py deleted file mode 100644 index 6579a20c4c7..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/route_filter.py +++ /dev/null @@ -1,70 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .resource import Resource - - -class RouteFilter(Resource): - """Route Filter Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param rules: Collection of RouteFilterRules contained within a route - filter. - :type rules: list[~azure.mgmt.network.v2018_08_01.models.RouteFilterRule] - :param peerings: A collection of references to express route circuit - peerings. - :type peerings: - list[~azure.mgmt.network.v2018_08_01.models.ExpressRouteCircuitPeering] - :ivar provisioning_state: The provisioning state of the resource. Possible - values are: 'Updating', 'Deleting', 'Succeeded' and 'Failed'. - :vartype provisioning_state: str - :ivar etag: Gets a unique read-only string that changes whenever the - resource is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'rules': {'key': 'properties.rules', 'type': '[RouteFilterRule]'}, - 'peerings': {'key': 'properties.peerings', 'type': '[ExpressRouteCircuitPeering]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(RouteFilter, self).__init__(**kwargs) - self.rules = kwargs.get('rules', None) - self.peerings = kwargs.get('peerings', None) - self.provisioning_state = None - self.etag = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/route_filter_paged.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/route_filter_paged.py deleted file mode 100644 index 7c94765a5aa..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/route_filter_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.paging import Paged - - -class RouteFilterPaged(Paged): - """ - A paging container for iterating over a list of :class:`RouteFilter ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[RouteFilter]'} - } - - def __init__(self, *args, **kwargs): - - super(RouteFilterPaged, self).__init__(*args, **kwargs) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/route_filter_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/route_filter_py3.py deleted file mode 100644 index 499c4f6cb83..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/route_filter_py3.py +++ /dev/null @@ -1,70 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .resource_py3 import Resource - - -class RouteFilter(Resource): - """Route Filter Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param rules: Collection of RouteFilterRules contained within a route - filter. - :type rules: list[~azure.mgmt.network.v2018_08_01.models.RouteFilterRule] - :param peerings: A collection of references to express route circuit - peerings. - :type peerings: - list[~azure.mgmt.network.v2018_08_01.models.ExpressRouteCircuitPeering] - :ivar provisioning_state: The provisioning state of the resource. Possible - values are: 'Updating', 'Deleting', 'Succeeded' and 'Failed'. - :vartype provisioning_state: str - :ivar etag: Gets a unique read-only string that changes whenever the - resource is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'rules': {'key': 'properties.rules', 'type': '[RouteFilterRule]'}, - 'peerings': {'key': 'properties.peerings', 'type': '[ExpressRouteCircuitPeering]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, rules=None, peerings=None, **kwargs) -> None: - super(RouteFilter, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.rules = rules - self.peerings = peerings - self.provisioning_state = None - self.etag = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/route_filter_rule.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/route_filter_rule.py deleted file mode 100644 index 3b2d9c9f628..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/route_filter_rule.py +++ /dev/null @@ -1,75 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource import SubResource - - -class RouteFilterRule(SubResource): - """Route Filter Rule Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :param access: Required. The access type of the rule. Valid values are: - 'Allow', 'Deny'. Possible values include: 'Allow', 'Deny' - :type access: str or ~azure.mgmt.network.v2018_08_01.models.Access - :ivar route_filter_rule_type: Required. The rule type of the rule. Valid - value is: 'Community'. Default value: "Community" . - :vartype route_filter_rule_type: str - :param communities: Required. The collection for bgp community values to - filter on. e.g. ['12076:5010','12076:5020'] - :type communities: list[str] - :ivar provisioning_state: The provisioning state of the resource. Possible - values are: 'Updating', 'Deleting', 'Succeeded' and 'Failed'. - :vartype provisioning_state: str - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :param location: Resource location. - :type location: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'access': {'required': True}, - 'route_filter_rule_type': {'required': True, 'constant': True}, - 'communities': {'required': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'access': {'key': 'properties.access', 'type': 'str'}, - 'route_filter_rule_type': {'key': 'properties.routeFilterRuleType', 'type': 'str'}, - 'communities': {'key': 'properties.communities', 'type': '[str]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - route_filter_rule_type = "Community" - - def __init__(self, **kwargs): - super(RouteFilterRule, self).__init__(**kwargs) - self.access = kwargs.get('access', None) - self.communities = kwargs.get('communities', None) - self.provisioning_state = None - self.name = kwargs.get('name', None) - self.location = kwargs.get('location', None) - self.etag = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/route_filter_rule_paged.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/route_filter_rule_paged.py deleted file mode 100644 index ba79918f8b9..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/route_filter_rule_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.paging import Paged - - -class RouteFilterRulePaged(Paged): - """ - A paging container for iterating over a list of :class:`RouteFilterRule ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[RouteFilterRule]'} - } - - def __init__(self, *args, **kwargs): - - super(RouteFilterRulePaged, self).__init__(*args, **kwargs) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/route_filter_rule_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/route_filter_rule_py3.py deleted file mode 100644 index fb76393bc73..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/route_filter_rule_py3.py +++ /dev/null @@ -1,75 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource_py3 import SubResource - - -class RouteFilterRule(SubResource): - """Route Filter Rule Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :param access: Required. The access type of the rule. Valid values are: - 'Allow', 'Deny'. Possible values include: 'Allow', 'Deny' - :type access: str or ~azure.mgmt.network.v2018_08_01.models.Access - :ivar route_filter_rule_type: Required. The rule type of the rule. Valid - value is: 'Community'. Default value: "Community" . - :vartype route_filter_rule_type: str - :param communities: Required. The collection for bgp community values to - filter on. e.g. ['12076:5010','12076:5020'] - :type communities: list[str] - :ivar provisioning_state: The provisioning state of the resource. Possible - values are: 'Updating', 'Deleting', 'Succeeded' and 'Failed'. - :vartype provisioning_state: str - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :param location: Resource location. - :type location: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'access': {'required': True}, - 'route_filter_rule_type': {'required': True, 'constant': True}, - 'communities': {'required': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'access': {'key': 'properties.access', 'type': 'str'}, - 'route_filter_rule_type': {'key': 'properties.routeFilterRuleType', 'type': 'str'}, - 'communities': {'key': 'properties.communities', 'type': '[str]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - route_filter_rule_type = "Community" - - def __init__(self, *, access, communities, id: str=None, name: str=None, location: str=None, **kwargs) -> None: - super(RouteFilterRule, self).__init__(id=id, **kwargs) - self.access = access - self.communities = communities - self.provisioning_state = None - self.name = name - self.location = location - self.etag = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/route_paged.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/route_paged.py deleted file mode 100644 index f0bebd9ca8f..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/route_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.paging import Paged - - -class RoutePaged(Paged): - """ - A paging container for iterating over a list of :class:`Route ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[Route]'} - } - - def __init__(self, *args, **kwargs): - - super(RoutePaged, self).__init__(*args, **kwargs) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/route_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/route_py3.py deleted file mode 100644 index e562701c25b..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/route_py3.py +++ /dev/null @@ -1,67 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource_py3 import SubResource - - -class Route(SubResource): - """Route resource. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :param address_prefix: The destination CIDR to which the route applies. - :type address_prefix: str - :param next_hop_type: Required. The type of Azure hop the packet should be - sent to. Possible values are: 'VirtualNetworkGateway', 'VnetLocal', - 'Internet', 'VirtualAppliance', and 'None'. Possible values include: - 'VirtualNetworkGateway', 'VnetLocal', 'Internet', 'VirtualAppliance', - 'None' - :type next_hop_type: str or - ~azure.mgmt.network.v2018_08_01.models.RouteNextHopType - :param next_hop_ip_address: The IP address packets should be forwarded to. - Next hop values are only allowed in routes where the next hop type is - VirtualAppliance. - :type next_hop_ip_address: str - :param provisioning_state: The provisioning state of the resource. - Possible values are: 'Updating', 'Deleting', and 'Failed'. - :type provisioning_state: str - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'next_hop_type': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'address_prefix': {'key': 'properties.addressPrefix', 'type': 'str'}, - 'next_hop_type': {'key': 'properties.nextHopType', 'type': 'str'}, - 'next_hop_ip_address': {'key': 'properties.nextHopIpAddress', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, next_hop_type, id: str=None, address_prefix: str=None, next_hop_ip_address: str=None, provisioning_state: str=None, name: str=None, etag: str=None, **kwargs) -> None: - super(Route, self).__init__(id=id, **kwargs) - self.address_prefix = address_prefix - self.next_hop_type = next_hop_type - self.next_hop_ip_address = next_hop_ip_address - self.provisioning_state = provisioning_state - self.name = name - self.etag = etag diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/route_table.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/route_table.py deleted file mode 100644 index 135cca0b9a0..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/route_table.py +++ /dev/null @@ -1,71 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .resource import Resource - - -class RouteTable(Resource): - """Route table resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param routes: Collection of routes contained within a route table. - :type routes: list[~azure.mgmt.network.v2018_08_01.models.Route] - :ivar subnets: A collection of references to subnets. - :vartype subnets: list[~azure.mgmt.network.v2018_08_01.models.Subnet] - :param disable_bgp_route_propagation: Gets or sets whether to disable the - routes learned by BGP on that route table. True means disable. - :type disable_bgp_route_propagation: bool - :param provisioning_state: The provisioning state of the resource. - Possible values are: 'Updating', 'Deleting', and 'Failed'. - :type provisioning_state: str - :param etag: Gets a unique read-only string that changes whenever the - resource is updated. - :type etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'subnets': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'routes': {'key': 'properties.routes', 'type': '[Route]'}, - 'subnets': {'key': 'properties.subnets', 'type': '[Subnet]'}, - 'disable_bgp_route_propagation': {'key': 'properties.disableBgpRoutePropagation', 'type': 'bool'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(RouteTable, self).__init__(**kwargs) - self.routes = kwargs.get('routes', None) - self.subnets = None - self.disable_bgp_route_propagation = kwargs.get('disable_bgp_route_propagation', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.etag = kwargs.get('etag', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/route_table_paged.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/route_table_paged.py deleted file mode 100644 index 7fc45791acc..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/route_table_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.paging import Paged - - -class RouteTablePaged(Paged): - """ - A paging container for iterating over a list of :class:`RouteTable ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[RouteTable]'} - } - - def __init__(self, *args, **kwargs): - - super(RouteTablePaged, self).__init__(*args, **kwargs) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/route_table_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/route_table_py3.py deleted file mode 100644 index 2152a90ac7b..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/route_table_py3.py +++ /dev/null @@ -1,71 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .resource_py3 import Resource - - -class RouteTable(Resource): - """Route table resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param routes: Collection of routes contained within a route table. - :type routes: list[~azure.mgmt.network.v2018_08_01.models.Route] - :ivar subnets: A collection of references to subnets. - :vartype subnets: list[~azure.mgmt.network.v2018_08_01.models.Subnet] - :param disable_bgp_route_propagation: Gets or sets whether to disable the - routes learned by BGP on that route table. True means disable. - :type disable_bgp_route_propagation: bool - :param provisioning_state: The provisioning state of the resource. - Possible values are: 'Updating', 'Deleting', and 'Failed'. - :type provisioning_state: str - :param etag: Gets a unique read-only string that changes whenever the - resource is updated. - :type etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'subnets': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'routes': {'key': 'properties.routes', 'type': '[Route]'}, - 'subnets': {'key': 'properties.subnets', 'type': '[Subnet]'}, - 'disable_bgp_route_propagation': {'key': 'properties.disableBgpRoutePropagation', 'type': 'bool'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, routes=None, disable_bgp_route_propagation: bool=None, provisioning_state: str=None, etag: str=None, **kwargs) -> None: - super(RouteTable, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.routes = routes - self.subnets = None - self.disable_bgp_route_propagation = disable_bgp_route_propagation - self.provisioning_state = provisioning_state - self.etag = etag diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/security_group_network_interface.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/security_group_network_interface.py deleted file mode 100644 index fe7b213594a..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/security_group_network_interface.py +++ /dev/null @@ -1,33 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class SecurityGroupNetworkInterface(Model): - """Network interface and all its associated security rules. - - :param id: ID of the network interface. - :type id: str - :param security_rule_associations: - :type security_rule_associations: - ~azure.mgmt.network.v2018_08_01.models.SecurityRuleAssociations - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'security_rule_associations': {'key': 'securityRuleAssociations', 'type': 'SecurityRuleAssociations'}, - } - - def __init__(self, **kwargs): - super(SecurityGroupNetworkInterface, self).__init__(**kwargs) - self.id = kwargs.get('id', None) - self.security_rule_associations = kwargs.get('security_rule_associations', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/security_group_network_interface_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/security_group_network_interface_py3.py deleted file mode 100644 index e0067dbe016..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/security_group_network_interface_py3.py +++ /dev/null @@ -1,33 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class SecurityGroupNetworkInterface(Model): - """Network interface and all its associated security rules. - - :param id: ID of the network interface. - :type id: str - :param security_rule_associations: - :type security_rule_associations: - ~azure.mgmt.network.v2018_08_01.models.SecurityRuleAssociations - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'security_rule_associations': {'key': 'securityRuleAssociations', 'type': 'SecurityRuleAssociations'}, - } - - def __init__(self, *, id: str=None, security_rule_associations=None, **kwargs) -> None: - super(SecurityGroupNetworkInterface, self).__init__(**kwargs) - self.id = id - self.security_rule_associations = security_rule_associations diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/security_group_view_parameters.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/security_group_view_parameters.py deleted file mode 100644 index 1d547b0b0e2..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/security_group_view_parameters.py +++ /dev/null @@ -1,34 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class SecurityGroupViewParameters(Model): - """Parameters that define the VM to check security groups for. - - All required parameters must be populated in order to send to Azure. - - :param target_resource_id: Required. ID of the target VM. - :type target_resource_id: str - """ - - _validation = { - 'target_resource_id': {'required': True}, - } - - _attribute_map = { - 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(SecurityGroupViewParameters, self).__init__(**kwargs) - self.target_resource_id = kwargs.get('target_resource_id', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/security_group_view_parameters_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/security_group_view_parameters_py3.py deleted file mode 100644 index 7ccc4801744..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/security_group_view_parameters_py3.py +++ /dev/null @@ -1,34 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class SecurityGroupViewParameters(Model): - """Parameters that define the VM to check security groups for. - - All required parameters must be populated in order to send to Azure. - - :param target_resource_id: Required. ID of the target VM. - :type target_resource_id: str - """ - - _validation = { - 'target_resource_id': {'required': True}, - } - - _attribute_map = { - 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, - } - - def __init__(self, *, target_resource_id: str, **kwargs) -> None: - super(SecurityGroupViewParameters, self).__init__(**kwargs) - self.target_resource_id = target_resource_id diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/security_group_view_result.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/security_group_view_result.py deleted file mode 100644 index fef9138f581..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/security_group_view_result.py +++ /dev/null @@ -1,29 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class SecurityGroupViewResult(Model): - """The information about security rules applied to the specified VM. - - :param network_interfaces: List of network interfaces on the specified VM. - :type network_interfaces: - list[~azure.mgmt.network.v2018_08_01.models.SecurityGroupNetworkInterface] - """ - - _attribute_map = { - 'network_interfaces': {'key': 'networkInterfaces', 'type': '[SecurityGroupNetworkInterface]'}, - } - - def __init__(self, **kwargs): - super(SecurityGroupViewResult, self).__init__(**kwargs) - self.network_interfaces = kwargs.get('network_interfaces', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/security_group_view_result_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/security_group_view_result_py3.py deleted file mode 100644 index 3baa994c0dc..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/security_group_view_result_py3.py +++ /dev/null @@ -1,29 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class SecurityGroupViewResult(Model): - """The information about security rules applied to the specified VM. - - :param network_interfaces: List of network interfaces on the specified VM. - :type network_interfaces: - list[~azure.mgmt.network.v2018_08_01.models.SecurityGroupNetworkInterface] - """ - - _attribute_map = { - 'network_interfaces': {'key': 'networkInterfaces', 'type': '[SecurityGroupNetworkInterface]'}, - } - - def __init__(self, *, network_interfaces=None, **kwargs) -> None: - super(SecurityGroupViewResult, self).__init__(**kwargs) - self.network_interfaces = network_interfaces diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/security_rule.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/security_rule.py deleted file mode 100644 index 786a7a3102e..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/security_rule.py +++ /dev/null @@ -1,137 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource import SubResource - - -class SecurityRule(SubResource): - """Network security rule. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :param description: A description for this rule. Restricted to 140 chars. - :type description: str - :param protocol: Required. Network protocol this rule applies to. Possible - values are 'Tcp', 'Udp', and '*'. Possible values include: 'Tcp', 'Udp', - '*' - :type protocol: str or - ~azure.mgmt.network.v2018_08_01.models.SecurityRuleProtocol - :param source_port_range: The source port or range. Integer or range - between 0 and 65535. Asterix '*' can also be used to match all ports. - :type source_port_range: str - :param destination_port_range: The destination port or range. Integer or - range between 0 and 65535. Asterix '*' can also be used to match all - ports. - :type destination_port_range: str - :param source_address_prefix: The CIDR or source IP range. Asterix '*' can - also be used to match all source IPs. Default tags such as - 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. If - this is an ingress rule, specifies where network traffic originates from. - :type source_address_prefix: str - :param source_address_prefixes: The CIDR or source IP ranges. - :type source_address_prefixes: list[str] - :param source_application_security_groups: The application security group - specified as source. - :type source_application_security_groups: - list[~azure.mgmt.network.v2018_08_01.models.ApplicationSecurityGroup] - :param destination_address_prefix: The destination address prefix. CIDR or - destination IP range. Asterix '*' can also be used to match all source - IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and - 'Internet' can also be used. - :type destination_address_prefix: str - :param destination_address_prefixes: The destination address prefixes. - CIDR or destination IP ranges. - :type destination_address_prefixes: list[str] - :param destination_application_security_groups: The application security - group specified as destination. - :type destination_application_security_groups: - list[~azure.mgmt.network.v2018_08_01.models.ApplicationSecurityGroup] - :param source_port_ranges: The source port ranges. - :type source_port_ranges: list[str] - :param destination_port_ranges: The destination port ranges. - :type destination_port_ranges: list[str] - :param access: Required. The network traffic is allowed or denied. - Possible values are: 'Allow' and 'Deny'. Possible values include: 'Allow', - 'Deny' - :type access: str or - ~azure.mgmt.network.v2018_08_01.models.SecurityRuleAccess - :param priority: The priority of the rule. The value can be between 100 - and 4096. The priority number must be unique for each rule in the - collection. The lower the priority number, the higher the priority of the - rule. - :type priority: int - :param direction: Required. The direction of the rule. The direction - specifies if rule will be evaluated on incoming or outcoming traffic. - Possible values are: 'Inbound' and 'Outbound'. Possible values include: - 'Inbound', 'Outbound' - :type direction: str or - ~azure.mgmt.network.v2018_08_01.models.SecurityRuleDirection - :param provisioning_state: The provisioning state of the public IP - resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - :type provisioning_state: str - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'protocol': {'required': True}, - 'access': {'required': True}, - 'direction': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'description': {'key': 'properties.description', 'type': 'str'}, - 'protocol': {'key': 'properties.protocol', 'type': 'str'}, - 'source_port_range': {'key': 'properties.sourcePortRange', 'type': 'str'}, - 'destination_port_range': {'key': 'properties.destinationPortRange', 'type': 'str'}, - 'source_address_prefix': {'key': 'properties.sourceAddressPrefix', 'type': 'str'}, - 'source_address_prefixes': {'key': 'properties.sourceAddressPrefixes', 'type': '[str]'}, - 'source_application_security_groups': {'key': 'properties.sourceApplicationSecurityGroups', 'type': '[ApplicationSecurityGroup]'}, - 'destination_address_prefix': {'key': 'properties.destinationAddressPrefix', 'type': 'str'}, - 'destination_address_prefixes': {'key': 'properties.destinationAddressPrefixes', 'type': '[str]'}, - 'destination_application_security_groups': {'key': 'properties.destinationApplicationSecurityGroups', 'type': '[ApplicationSecurityGroup]'}, - 'source_port_ranges': {'key': 'properties.sourcePortRanges', 'type': '[str]'}, - 'destination_port_ranges': {'key': 'properties.destinationPortRanges', 'type': '[str]'}, - 'access': {'key': 'properties.access', 'type': 'str'}, - 'priority': {'key': 'properties.priority', 'type': 'int'}, - 'direction': {'key': 'properties.direction', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(SecurityRule, self).__init__(**kwargs) - self.description = kwargs.get('description', None) - self.protocol = kwargs.get('protocol', None) - self.source_port_range = kwargs.get('source_port_range', None) - self.destination_port_range = kwargs.get('destination_port_range', None) - self.source_address_prefix = kwargs.get('source_address_prefix', None) - self.source_address_prefixes = kwargs.get('source_address_prefixes', None) - self.source_application_security_groups = kwargs.get('source_application_security_groups', None) - self.destination_address_prefix = kwargs.get('destination_address_prefix', None) - self.destination_address_prefixes = kwargs.get('destination_address_prefixes', None) - self.destination_application_security_groups = kwargs.get('destination_application_security_groups', None) - self.source_port_ranges = kwargs.get('source_port_ranges', None) - self.destination_port_ranges = kwargs.get('destination_port_ranges', None) - self.access = kwargs.get('access', None) - self.priority = kwargs.get('priority', None) - self.direction = kwargs.get('direction', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.name = kwargs.get('name', None) - self.etag = kwargs.get('etag', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/security_rule_associations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/security_rule_associations.py deleted file mode 100644 index c5949a8e4d8..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/security_rule_associations.py +++ /dev/null @@ -1,45 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class SecurityRuleAssociations(Model): - """All security rules associated with the network interface. - - :param network_interface_association: - :type network_interface_association: - ~azure.mgmt.network.v2018_08_01.models.NetworkInterfaceAssociation - :param subnet_association: - :type subnet_association: - ~azure.mgmt.network.v2018_08_01.models.SubnetAssociation - :param default_security_rules: Collection of default security rules of the - network security group. - :type default_security_rules: - list[~azure.mgmt.network.v2018_08_01.models.SecurityRule] - :param effective_security_rules: Collection of effective security rules. - :type effective_security_rules: - list[~azure.mgmt.network.v2018_08_01.models.EffectiveNetworkSecurityRule] - """ - - _attribute_map = { - 'network_interface_association': {'key': 'networkInterfaceAssociation', 'type': 'NetworkInterfaceAssociation'}, - 'subnet_association': {'key': 'subnetAssociation', 'type': 'SubnetAssociation'}, - 'default_security_rules': {'key': 'defaultSecurityRules', 'type': '[SecurityRule]'}, - 'effective_security_rules': {'key': 'effectiveSecurityRules', 'type': '[EffectiveNetworkSecurityRule]'}, - } - - def __init__(self, **kwargs): - super(SecurityRuleAssociations, self).__init__(**kwargs) - self.network_interface_association = kwargs.get('network_interface_association', None) - self.subnet_association = kwargs.get('subnet_association', None) - self.default_security_rules = kwargs.get('default_security_rules', None) - self.effective_security_rules = kwargs.get('effective_security_rules', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/security_rule_associations_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/security_rule_associations_py3.py deleted file mode 100644 index bbf8af57976..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/security_rule_associations_py3.py +++ /dev/null @@ -1,45 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class SecurityRuleAssociations(Model): - """All security rules associated with the network interface. - - :param network_interface_association: - :type network_interface_association: - ~azure.mgmt.network.v2018_08_01.models.NetworkInterfaceAssociation - :param subnet_association: - :type subnet_association: - ~azure.mgmt.network.v2018_08_01.models.SubnetAssociation - :param default_security_rules: Collection of default security rules of the - network security group. - :type default_security_rules: - list[~azure.mgmt.network.v2018_08_01.models.SecurityRule] - :param effective_security_rules: Collection of effective security rules. - :type effective_security_rules: - list[~azure.mgmt.network.v2018_08_01.models.EffectiveNetworkSecurityRule] - """ - - _attribute_map = { - 'network_interface_association': {'key': 'networkInterfaceAssociation', 'type': 'NetworkInterfaceAssociation'}, - 'subnet_association': {'key': 'subnetAssociation', 'type': 'SubnetAssociation'}, - 'default_security_rules': {'key': 'defaultSecurityRules', 'type': '[SecurityRule]'}, - 'effective_security_rules': {'key': 'effectiveSecurityRules', 'type': '[EffectiveNetworkSecurityRule]'}, - } - - def __init__(self, *, network_interface_association=None, subnet_association=None, default_security_rules=None, effective_security_rules=None, **kwargs) -> None: - super(SecurityRuleAssociations, self).__init__(**kwargs) - self.network_interface_association = network_interface_association - self.subnet_association = subnet_association - self.default_security_rules = default_security_rules - self.effective_security_rules = effective_security_rules diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/security_rule_paged.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/security_rule_paged.py deleted file mode 100644 index ad628fb0c62..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/security_rule_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.paging import Paged - - -class SecurityRulePaged(Paged): - """ - A paging container for iterating over a list of :class:`SecurityRule ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[SecurityRule]'} - } - - def __init__(self, *args, **kwargs): - - super(SecurityRulePaged, self).__init__(*args, **kwargs) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/security_rule_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/security_rule_py3.py deleted file mode 100644 index e7540ec3b34..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/security_rule_py3.py +++ /dev/null @@ -1,137 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource_py3 import SubResource - - -class SecurityRule(SubResource): - """Network security rule. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :param description: A description for this rule. Restricted to 140 chars. - :type description: str - :param protocol: Required. Network protocol this rule applies to. Possible - values are 'Tcp', 'Udp', and '*'. Possible values include: 'Tcp', 'Udp', - '*' - :type protocol: str or - ~azure.mgmt.network.v2018_08_01.models.SecurityRuleProtocol - :param source_port_range: The source port or range. Integer or range - between 0 and 65535. Asterix '*' can also be used to match all ports. - :type source_port_range: str - :param destination_port_range: The destination port or range. Integer or - range between 0 and 65535. Asterix '*' can also be used to match all - ports. - :type destination_port_range: str - :param source_address_prefix: The CIDR or source IP range. Asterix '*' can - also be used to match all source IPs. Default tags such as - 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. If - this is an ingress rule, specifies where network traffic originates from. - :type source_address_prefix: str - :param source_address_prefixes: The CIDR or source IP ranges. - :type source_address_prefixes: list[str] - :param source_application_security_groups: The application security group - specified as source. - :type source_application_security_groups: - list[~azure.mgmt.network.v2018_08_01.models.ApplicationSecurityGroup] - :param destination_address_prefix: The destination address prefix. CIDR or - destination IP range. Asterix '*' can also be used to match all source - IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and - 'Internet' can also be used. - :type destination_address_prefix: str - :param destination_address_prefixes: The destination address prefixes. - CIDR or destination IP ranges. - :type destination_address_prefixes: list[str] - :param destination_application_security_groups: The application security - group specified as destination. - :type destination_application_security_groups: - list[~azure.mgmt.network.v2018_08_01.models.ApplicationSecurityGroup] - :param source_port_ranges: The source port ranges. - :type source_port_ranges: list[str] - :param destination_port_ranges: The destination port ranges. - :type destination_port_ranges: list[str] - :param access: Required. The network traffic is allowed or denied. - Possible values are: 'Allow' and 'Deny'. Possible values include: 'Allow', - 'Deny' - :type access: str or - ~azure.mgmt.network.v2018_08_01.models.SecurityRuleAccess - :param priority: The priority of the rule. The value can be between 100 - and 4096. The priority number must be unique for each rule in the - collection. The lower the priority number, the higher the priority of the - rule. - :type priority: int - :param direction: Required. The direction of the rule. The direction - specifies if rule will be evaluated on incoming or outcoming traffic. - Possible values are: 'Inbound' and 'Outbound'. Possible values include: - 'Inbound', 'Outbound' - :type direction: str or - ~azure.mgmt.network.v2018_08_01.models.SecurityRuleDirection - :param provisioning_state: The provisioning state of the public IP - resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - :type provisioning_state: str - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'protocol': {'required': True}, - 'access': {'required': True}, - 'direction': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'description': {'key': 'properties.description', 'type': 'str'}, - 'protocol': {'key': 'properties.protocol', 'type': 'str'}, - 'source_port_range': {'key': 'properties.sourcePortRange', 'type': 'str'}, - 'destination_port_range': {'key': 'properties.destinationPortRange', 'type': 'str'}, - 'source_address_prefix': {'key': 'properties.sourceAddressPrefix', 'type': 'str'}, - 'source_address_prefixes': {'key': 'properties.sourceAddressPrefixes', 'type': '[str]'}, - 'source_application_security_groups': {'key': 'properties.sourceApplicationSecurityGroups', 'type': '[ApplicationSecurityGroup]'}, - 'destination_address_prefix': {'key': 'properties.destinationAddressPrefix', 'type': 'str'}, - 'destination_address_prefixes': {'key': 'properties.destinationAddressPrefixes', 'type': '[str]'}, - 'destination_application_security_groups': {'key': 'properties.destinationApplicationSecurityGroups', 'type': '[ApplicationSecurityGroup]'}, - 'source_port_ranges': {'key': 'properties.sourcePortRanges', 'type': '[str]'}, - 'destination_port_ranges': {'key': 'properties.destinationPortRanges', 'type': '[str]'}, - 'access': {'key': 'properties.access', 'type': 'str'}, - 'priority': {'key': 'properties.priority', 'type': 'int'}, - 'direction': {'key': 'properties.direction', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, protocol, access, direction, id: str=None, description: str=None, source_port_range: str=None, destination_port_range: str=None, source_address_prefix: str=None, source_address_prefixes=None, source_application_security_groups=None, destination_address_prefix: str=None, destination_address_prefixes=None, destination_application_security_groups=None, source_port_ranges=None, destination_port_ranges=None, priority: int=None, provisioning_state: str=None, name: str=None, etag: str=None, **kwargs) -> None: - super(SecurityRule, self).__init__(id=id, **kwargs) - self.description = description - self.protocol = protocol - self.source_port_range = source_port_range - self.destination_port_range = destination_port_range - self.source_address_prefix = source_address_prefix - self.source_address_prefixes = source_address_prefixes - self.source_application_security_groups = source_application_security_groups - self.destination_address_prefix = destination_address_prefix - self.destination_address_prefixes = destination_address_prefixes - self.destination_application_security_groups = destination_application_security_groups - self.source_port_ranges = source_port_ranges - self.destination_port_ranges = destination_port_ranges - self.access = access - self.priority = priority - self.direction = direction - self.provisioning_state = provisioning_state - self.name = name - self.etag = etag diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/service_association_link.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/service_association_link.py deleted file mode 100644 index b8d1818022d..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/service_association_link.py +++ /dev/null @@ -1,58 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource import SubResource - - -class ServiceAssociationLink(SubResource): - """ServiceAssociationLink resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param linked_resource_type: Resource type of the linked resource. - :type linked_resource_type: str - :param link: Link to the external resource. - :type link: str - :ivar provisioning_state: Provisioning state of the ServiceAssociationLink - resource. - :vartype provisioning_state: str - :param name: Name of the resource that is unique within a resource group. - This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'linked_resource_type': {'key': 'properties.linkedResourceType', 'type': 'str'}, - 'link': {'key': 'properties.link', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ServiceAssociationLink, self).__init__(**kwargs) - self.linked_resource_type = kwargs.get('linked_resource_type', None) - self.link = kwargs.get('link', None) - self.provisioning_state = None - self.name = kwargs.get('name', None) - self.etag = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/service_association_link_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/service_association_link_py3.py deleted file mode 100644 index 2e01412e05a..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/service_association_link_py3.py +++ /dev/null @@ -1,58 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource_py3 import SubResource - - -class ServiceAssociationLink(SubResource): - """ServiceAssociationLink resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param linked_resource_type: Resource type of the linked resource. - :type linked_resource_type: str - :param link: Link to the external resource. - :type link: str - :ivar provisioning_state: Provisioning state of the ServiceAssociationLink - resource. - :vartype provisioning_state: str - :param name: Name of the resource that is unique within a resource group. - This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'linked_resource_type': {'key': 'properties.linkedResourceType', 'type': 'str'}, - 'link': {'key': 'properties.link', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, linked_resource_type: str=None, link: str=None, name: str=None, **kwargs) -> None: - super(ServiceAssociationLink, self).__init__(id=id, **kwargs) - self.linked_resource_type = linked_resource_type - self.link = link - self.provisioning_state = None - self.name = name - self.etag = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/service_endpoint_policy.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/service_endpoint_policy.py deleted file mode 100644 index a711ba0da77..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/service_endpoint_policy.py +++ /dev/null @@ -1,75 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .resource import Resource - - -class ServiceEndpointPolicy(Resource): - """Service End point policy resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param service_endpoint_policy_definitions: A collection of service - endpoint policy definitions of the service endpoint policy. - :type service_endpoint_policy_definitions: - list[~azure.mgmt.network.v2018_08_01.models.ServiceEndpointPolicyDefinition] - :ivar subnets: A collection of references to subnets. - :vartype subnets: list[~azure.mgmt.network.v2018_08_01.models.Subnet] - :ivar resource_guid: The resource GUID property of the service endpoint - policy resource. - :vartype resource_guid: str - :ivar provisioning_state: The provisioning state of the service endpoint - policy. Possible values are: 'Updating', 'Deleting', and 'Failed'. - :vartype provisioning_state: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'subnets': {'readonly': True}, - 'resource_guid': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'service_endpoint_policy_definitions': {'key': 'properties.serviceEndpointPolicyDefinitions', 'type': '[ServiceEndpointPolicyDefinition]'}, - 'subnets': {'key': 'properties.subnets', 'type': '[Subnet]'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ServiceEndpointPolicy, self).__init__(**kwargs) - self.service_endpoint_policy_definitions = kwargs.get('service_endpoint_policy_definitions', None) - self.subnets = None - self.resource_guid = None - self.provisioning_state = None - self.etag = kwargs.get('etag', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/service_endpoint_policy_definition.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/service_endpoint_policy_definition.py deleted file mode 100644 index 45d6ab8ff55..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/service_endpoint_policy_definition.py +++ /dev/null @@ -1,62 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource import SubResource - - -class ServiceEndpointPolicyDefinition(SubResource): - """Service Endpoint policy definitions. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param description: A description for this rule. Restricted to 140 chars. - :type description: str - :param service: service endpoint name. - :type service: str - :param service_resources: A list of service resources. - :type service_resources: list[str] - :ivar provisioning_state: The provisioning state of the service end point - policy definition. Possible values are: 'Updating', 'Deleting', and - 'Failed'. - :vartype provisioning_state: str - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'description': {'key': 'properties.description', 'type': 'str'}, - 'service': {'key': 'properties.service', 'type': 'str'}, - 'service_resources': {'key': 'properties.serviceResources', 'type': '[str]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ServiceEndpointPolicyDefinition, self).__init__(**kwargs) - self.description = kwargs.get('description', None) - self.service = kwargs.get('service', None) - self.service_resources = kwargs.get('service_resources', None) - self.provisioning_state = None - self.name = kwargs.get('name', None) - self.etag = kwargs.get('etag', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/service_endpoint_policy_definition_paged.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/service_endpoint_policy_definition_paged.py deleted file mode 100644 index e8dbbd0d9a8..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/service_endpoint_policy_definition_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.paging import Paged - - -class ServiceEndpointPolicyDefinitionPaged(Paged): - """ - A paging container for iterating over a list of :class:`ServiceEndpointPolicyDefinition ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[ServiceEndpointPolicyDefinition]'} - } - - def __init__(self, *args, **kwargs): - - super(ServiceEndpointPolicyDefinitionPaged, self).__init__(*args, **kwargs) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/service_endpoint_policy_definition_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/service_endpoint_policy_definition_py3.py deleted file mode 100644 index e8c274a6a82..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/service_endpoint_policy_definition_py3.py +++ /dev/null @@ -1,62 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource_py3 import SubResource - - -class ServiceEndpointPolicyDefinition(SubResource): - """Service Endpoint policy definitions. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param description: A description for this rule. Restricted to 140 chars. - :type description: str - :param service: service endpoint name. - :type service: str - :param service_resources: A list of service resources. - :type service_resources: list[str] - :ivar provisioning_state: The provisioning state of the service end point - policy definition. Possible values are: 'Updating', 'Deleting', and - 'Failed'. - :vartype provisioning_state: str - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'description': {'key': 'properties.description', 'type': 'str'}, - 'service': {'key': 'properties.service', 'type': 'str'}, - 'service_resources': {'key': 'properties.serviceResources', 'type': '[str]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, description: str=None, service: str=None, service_resources=None, name: str=None, etag: str=None, **kwargs) -> None: - super(ServiceEndpointPolicyDefinition, self).__init__(id=id, **kwargs) - self.description = description - self.service = service - self.service_resources = service_resources - self.provisioning_state = None - self.name = name - self.etag = etag diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/service_endpoint_policy_paged.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/service_endpoint_policy_paged.py deleted file mode 100644 index 3312d08b51e..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/service_endpoint_policy_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.paging import Paged - - -class ServiceEndpointPolicyPaged(Paged): - """ - A paging container for iterating over a list of :class:`ServiceEndpointPolicy ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[ServiceEndpointPolicy]'} - } - - def __init__(self, *args, **kwargs): - - super(ServiceEndpointPolicyPaged, self).__init__(*args, **kwargs) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/service_endpoint_policy_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/service_endpoint_policy_py3.py deleted file mode 100644 index d67c88ea5ec..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/service_endpoint_policy_py3.py +++ /dev/null @@ -1,75 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .resource_py3 import Resource - - -class ServiceEndpointPolicy(Resource): - """Service End point policy resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param service_endpoint_policy_definitions: A collection of service - endpoint policy definitions of the service endpoint policy. - :type service_endpoint_policy_definitions: - list[~azure.mgmt.network.v2018_08_01.models.ServiceEndpointPolicyDefinition] - :ivar subnets: A collection of references to subnets. - :vartype subnets: list[~azure.mgmt.network.v2018_08_01.models.Subnet] - :ivar resource_guid: The resource GUID property of the service endpoint - policy resource. - :vartype resource_guid: str - :ivar provisioning_state: The provisioning state of the service endpoint - policy. Possible values are: 'Updating', 'Deleting', and 'Failed'. - :vartype provisioning_state: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'subnets': {'readonly': True}, - 'resource_guid': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'service_endpoint_policy_definitions': {'key': 'properties.serviceEndpointPolicyDefinitions', 'type': '[ServiceEndpointPolicyDefinition]'}, - 'subnets': {'key': 'properties.subnets', 'type': '[Subnet]'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, service_endpoint_policy_definitions=None, etag: str=None, **kwargs) -> None: - super(ServiceEndpointPolicy, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.service_endpoint_policy_definitions = service_endpoint_policy_definitions - self.subnets = None - self.resource_guid = None - self.provisioning_state = None - self.etag = etag diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/service_endpoint_properties_format.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/service_endpoint_properties_format.py deleted file mode 100644 index 87ca01e6454..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/service_endpoint_properties_format.py +++ /dev/null @@ -1,36 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ServiceEndpointPropertiesFormat(Model): - """The service endpoint properties. - - :param service: The type of the endpoint service. - :type service: str - :param locations: A list of locations. - :type locations: list[str] - :param provisioning_state: The provisioning state of the resource. - :type provisioning_state: str - """ - - _attribute_map = { - 'service': {'key': 'service', 'type': 'str'}, - 'locations': {'key': 'locations', 'type': '[str]'}, - 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ServiceEndpointPropertiesFormat, self).__init__(**kwargs) - self.service = kwargs.get('service', None) - self.locations = kwargs.get('locations', None) - self.provisioning_state = kwargs.get('provisioning_state', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/service_endpoint_properties_format_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/service_endpoint_properties_format_py3.py deleted file mode 100644 index 8d3d2e5e834..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/service_endpoint_properties_format_py3.py +++ /dev/null @@ -1,36 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ServiceEndpointPropertiesFormat(Model): - """The service endpoint properties. - - :param service: The type of the endpoint service. - :type service: str - :param locations: A list of locations. - :type locations: list[str] - :param provisioning_state: The provisioning state of the resource. - :type provisioning_state: str - """ - - _attribute_map = { - 'service': {'key': 'service', 'type': 'str'}, - 'locations': {'key': 'locations', 'type': '[str]'}, - 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, - } - - def __init__(self, *, service: str=None, locations=None, provisioning_state: str=None, **kwargs) -> None: - super(ServiceEndpointPropertiesFormat, self).__init__(**kwargs) - self.service = service - self.locations = locations - self.provisioning_state = provisioning_state diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/sub_resource.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/sub_resource.py deleted file mode 100644 index 6ab81f55f21..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/sub_resource.py +++ /dev/null @@ -1,28 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class SubResource(Model): - """Reference to another subresource. - - :param id: Resource ID. - :type id: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(SubResource, self).__init__(**kwargs) - self.id = kwargs.get('id', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/sub_resource_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/sub_resource_py3.py deleted file mode 100644 index 8f4c4c81606..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/sub_resource_py3.py +++ /dev/null @@ -1,28 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class SubResource(Model): - """Reference to another subresource. - - :param id: Resource ID. - :type id: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, **kwargs) -> None: - super(SubResource, self).__init__(**kwargs) - self.id = id diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/subnet.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/subnet.py deleted file mode 100644 index 880201b9346..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/subnet.py +++ /dev/null @@ -1,118 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource import SubResource - - -class Subnet(SubResource): - """Subnet in a virtual network resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param address_prefix: The address prefix for the subnet. - :type address_prefix: str - :param address_prefixes: List of address prefixes for the subnet. - :type address_prefixes: list[str] - :param network_security_group: The reference of the NetworkSecurityGroup - resource. - :type network_security_group: - ~azure.mgmt.network.v2018_08_01.models.NetworkSecurityGroup - :param route_table: The reference of the RouteTable resource. - :type route_table: ~azure.mgmt.network.v2018_08_01.models.RouteTable - :param service_endpoints: An array of service endpoints. - :type service_endpoints: - list[~azure.mgmt.network.v2018_08_01.models.ServiceEndpointPropertiesFormat] - :param service_endpoint_policies: An array of service endpoint policies. - :type service_endpoint_policies: - list[~azure.mgmt.network.v2018_08_01.models.ServiceEndpointPolicy] - :ivar interface_endpoints: An array of references to interface endpoints - :vartype interface_endpoints: - list[~azure.mgmt.network.v2018_08_01.models.InterfaceEndpoint] - :ivar ip_configurations: Gets an array of references to the network - interface IP configurations using subnet. - :vartype ip_configurations: - list[~azure.mgmt.network.v2018_08_01.models.IPConfiguration] - :ivar ip_configuration_profiles: Array of IP configuration profiles which - reference this subnet. - :vartype ip_configuration_profiles: - list[~azure.mgmt.network.v2018_08_01.models.IPConfigurationProfile] - :param resource_navigation_links: Gets an array of references to the - external resources using subnet. - :type resource_navigation_links: - list[~azure.mgmt.network.v2018_08_01.models.ResourceNavigationLink] - :param service_association_links: Gets an array of references to services - injecting into this subnet. - :type service_association_links: - list[~azure.mgmt.network.v2018_08_01.models.ServiceAssociationLink] - :param delegations: Gets an array of references to the delegations on the - subnet. - :type delegations: list[~azure.mgmt.network.v2018_08_01.models.Delegation] - :ivar purpose: A read-only string identifying the intention of use for - this subnet based on delegations and other user-defined properties. - :vartype purpose: str - :param provisioning_state: The provisioning state of the resource. - :type provisioning_state: str - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'interface_endpoints': {'readonly': True}, - 'ip_configurations': {'readonly': True}, - 'ip_configuration_profiles': {'readonly': True}, - 'purpose': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'address_prefix': {'key': 'properties.addressPrefix', 'type': 'str'}, - 'address_prefixes': {'key': 'properties.addressPrefixes', 'type': '[str]'}, - 'network_security_group': {'key': 'properties.networkSecurityGroup', 'type': 'NetworkSecurityGroup'}, - 'route_table': {'key': 'properties.routeTable', 'type': 'RouteTable'}, - 'service_endpoints': {'key': 'properties.serviceEndpoints', 'type': '[ServiceEndpointPropertiesFormat]'}, - 'service_endpoint_policies': {'key': 'properties.serviceEndpointPolicies', 'type': '[ServiceEndpointPolicy]'}, - 'interface_endpoints': {'key': 'properties.interfaceEndpoints', 'type': '[InterfaceEndpoint]'}, - 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[IPConfiguration]'}, - 'ip_configuration_profiles': {'key': 'properties.ipConfigurationProfiles', 'type': '[IPConfigurationProfile]'}, - 'resource_navigation_links': {'key': 'properties.resourceNavigationLinks', 'type': '[ResourceNavigationLink]'}, - 'service_association_links': {'key': 'properties.serviceAssociationLinks', 'type': '[ServiceAssociationLink]'}, - 'delegations': {'key': 'properties.delegations', 'type': '[Delegation]'}, - 'purpose': {'key': 'properties.purpose', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(Subnet, self).__init__(**kwargs) - self.address_prefix = kwargs.get('address_prefix', None) - self.address_prefixes = kwargs.get('address_prefixes', None) - self.network_security_group = kwargs.get('network_security_group', None) - self.route_table = kwargs.get('route_table', None) - self.service_endpoints = kwargs.get('service_endpoints', None) - self.service_endpoint_policies = kwargs.get('service_endpoint_policies', None) - self.interface_endpoints = None - self.ip_configurations = None - self.ip_configuration_profiles = None - self.resource_navigation_links = kwargs.get('resource_navigation_links', None) - self.service_association_links = kwargs.get('service_association_links', None) - self.delegations = kwargs.get('delegations', None) - self.purpose = None - self.provisioning_state = kwargs.get('provisioning_state', None) - self.name = kwargs.get('name', None) - self.etag = kwargs.get('etag', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/subnet_association.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/subnet_association.py deleted file mode 100644 index 790bdef2fee..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/subnet_association.py +++ /dev/null @@ -1,40 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class SubnetAssociation(Model): - """Network interface and its custom security rules. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar id: Subnet ID. - :vartype id: str - :param security_rules: Collection of custom security rules. - :type security_rules: - list[~azure.mgmt.network.v2018_08_01.models.SecurityRule] - """ - - _validation = { - 'id': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'security_rules': {'key': 'securityRules', 'type': '[SecurityRule]'}, - } - - def __init__(self, **kwargs): - super(SubnetAssociation, self).__init__(**kwargs) - self.id = None - self.security_rules = kwargs.get('security_rules', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/subnet_association_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/subnet_association_py3.py deleted file mode 100644 index e43e4e85d5e..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/subnet_association_py3.py +++ /dev/null @@ -1,40 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class SubnetAssociation(Model): - """Network interface and its custom security rules. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar id: Subnet ID. - :vartype id: str - :param security_rules: Collection of custom security rules. - :type security_rules: - list[~azure.mgmt.network.v2018_08_01.models.SecurityRule] - """ - - _validation = { - 'id': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'security_rules': {'key': 'securityRules', 'type': '[SecurityRule]'}, - } - - def __init__(self, *, security_rules=None, **kwargs) -> None: - super(SubnetAssociation, self).__init__(**kwargs) - self.id = None - self.security_rules = security_rules diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/subnet_paged.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/subnet_paged.py deleted file mode 100644 index d65b2ab00d6..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/subnet_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.paging import Paged - - -class SubnetPaged(Paged): - """ - A paging container for iterating over a list of :class:`Subnet ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[Subnet]'} - } - - def __init__(self, *args, **kwargs): - - super(SubnetPaged, self).__init__(*args, **kwargs) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/subnet_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/subnet_py3.py deleted file mode 100644 index 144f4007696..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/subnet_py3.py +++ /dev/null @@ -1,118 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource_py3 import SubResource - - -class Subnet(SubResource): - """Subnet in a virtual network resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param address_prefix: The address prefix for the subnet. - :type address_prefix: str - :param address_prefixes: List of address prefixes for the subnet. - :type address_prefixes: list[str] - :param network_security_group: The reference of the NetworkSecurityGroup - resource. - :type network_security_group: - ~azure.mgmt.network.v2018_08_01.models.NetworkSecurityGroup - :param route_table: The reference of the RouteTable resource. - :type route_table: ~azure.mgmt.network.v2018_08_01.models.RouteTable - :param service_endpoints: An array of service endpoints. - :type service_endpoints: - list[~azure.mgmt.network.v2018_08_01.models.ServiceEndpointPropertiesFormat] - :param service_endpoint_policies: An array of service endpoint policies. - :type service_endpoint_policies: - list[~azure.mgmt.network.v2018_08_01.models.ServiceEndpointPolicy] - :ivar interface_endpoints: An array of references to interface endpoints - :vartype interface_endpoints: - list[~azure.mgmt.network.v2018_08_01.models.InterfaceEndpoint] - :ivar ip_configurations: Gets an array of references to the network - interface IP configurations using subnet. - :vartype ip_configurations: - list[~azure.mgmt.network.v2018_08_01.models.IPConfiguration] - :ivar ip_configuration_profiles: Array of IP configuration profiles which - reference this subnet. - :vartype ip_configuration_profiles: - list[~azure.mgmt.network.v2018_08_01.models.IPConfigurationProfile] - :param resource_navigation_links: Gets an array of references to the - external resources using subnet. - :type resource_navigation_links: - list[~azure.mgmt.network.v2018_08_01.models.ResourceNavigationLink] - :param service_association_links: Gets an array of references to services - injecting into this subnet. - :type service_association_links: - list[~azure.mgmt.network.v2018_08_01.models.ServiceAssociationLink] - :param delegations: Gets an array of references to the delegations on the - subnet. - :type delegations: list[~azure.mgmt.network.v2018_08_01.models.Delegation] - :ivar purpose: A read-only string identifying the intention of use for - this subnet based on delegations and other user-defined properties. - :vartype purpose: str - :param provisioning_state: The provisioning state of the resource. - :type provisioning_state: str - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'interface_endpoints': {'readonly': True}, - 'ip_configurations': {'readonly': True}, - 'ip_configuration_profiles': {'readonly': True}, - 'purpose': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'address_prefix': {'key': 'properties.addressPrefix', 'type': 'str'}, - 'address_prefixes': {'key': 'properties.addressPrefixes', 'type': '[str]'}, - 'network_security_group': {'key': 'properties.networkSecurityGroup', 'type': 'NetworkSecurityGroup'}, - 'route_table': {'key': 'properties.routeTable', 'type': 'RouteTable'}, - 'service_endpoints': {'key': 'properties.serviceEndpoints', 'type': '[ServiceEndpointPropertiesFormat]'}, - 'service_endpoint_policies': {'key': 'properties.serviceEndpointPolicies', 'type': '[ServiceEndpointPolicy]'}, - 'interface_endpoints': {'key': 'properties.interfaceEndpoints', 'type': '[InterfaceEndpoint]'}, - 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[IPConfiguration]'}, - 'ip_configuration_profiles': {'key': 'properties.ipConfigurationProfiles', 'type': '[IPConfigurationProfile]'}, - 'resource_navigation_links': {'key': 'properties.resourceNavigationLinks', 'type': '[ResourceNavigationLink]'}, - 'service_association_links': {'key': 'properties.serviceAssociationLinks', 'type': '[ServiceAssociationLink]'}, - 'delegations': {'key': 'properties.delegations', 'type': '[Delegation]'}, - 'purpose': {'key': 'properties.purpose', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, address_prefix: str=None, address_prefixes=None, network_security_group=None, route_table=None, service_endpoints=None, service_endpoint_policies=None, resource_navigation_links=None, service_association_links=None, delegations=None, provisioning_state: str=None, name: str=None, etag: str=None, **kwargs) -> None: - super(Subnet, self).__init__(id=id, **kwargs) - self.address_prefix = address_prefix - self.address_prefixes = address_prefixes - self.network_security_group = network_security_group - self.route_table = route_table - self.service_endpoints = service_endpoints - self.service_endpoint_policies = service_endpoint_policies - self.interface_endpoints = None - self.ip_configurations = None - self.ip_configuration_profiles = None - self.resource_navigation_links = resource_navigation_links - self.service_association_links = service_association_links - self.delegations = delegations - self.purpose = None - self.provisioning_state = provisioning_state - self.name = name - self.etag = etag diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/tags_object.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/tags_object.py deleted file mode 100644 index 2966ec220f9..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/tags_object.py +++ /dev/null @@ -1,28 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class TagsObject(Model): - """Tags object for patch operations. - - :param tags: Resource tags. - :type tags: dict[str, str] - """ - - _attribute_map = { - 'tags': {'key': 'tags', 'type': '{str}'}, - } - - def __init__(self, **kwargs): - super(TagsObject, self).__init__(**kwargs) - self.tags = kwargs.get('tags', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/tags_object_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/tags_object_py3.py deleted file mode 100644 index 8be0bb4a15d..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/tags_object_py3.py +++ /dev/null @@ -1,28 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class TagsObject(Model): - """Tags object for patch operations. - - :param tags: Resource tags. - :type tags: dict[str, str] - """ - - _attribute_map = { - 'tags': {'key': 'tags', 'type': '{str}'}, - } - - def __init__(self, *, tags=None, **kwargs) -> None: - super(TagsObject, self).__init__(**kwargs) - self.tags = tags diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/topology.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/topology.py deleted file mode 100644 index 7dbc1eec960..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/topology.py +++ /dev/null @@ -1,51 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class Topology(Model): - """Topology of the specified resource group. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar id: GUID representing the operation id. - :vartype id: str - :ivar created_date_time: The datetime when the topology was initially - created for the resource group. - :vartype created_date_time: datetime - :ivar last_modified: The datetime when the topology was last modified. - :vartype last_modified: datetime - :param resources: - :type resources: - list[~azure.mgmt.network.v2018_08_01.models.TopologyResource] - """ - - _validation = { - 'id': {'readonly': True}, - 'created_date_time': {'readonly': True}, - 'last_modified': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'created_date_time': {'key': 'createdDateTime', 'type': 'iso-8601'}, - 'last_modified': {'key': 'lastModified', 'type': 'iso-8601'}, - 'resources': {'key': 'resources', 'type': '[TopologyResource]'}, - } - - def __init__(self, **kwargs): - super(Topology, self).__init__(**kwargs) - self.id = None - self.created_date_time = None - self.last_modified = None - self.resources = kwargs.get('resources', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/topology_association.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/topology_association.py deleted file mode 100644 index c6c67ae995c..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/topology_association.py +++ /dev/null @@ -1,40 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class TopologyAssociation(Model): - """Resources that have an association with the parent resource. - - :param name: The name of the resource that is associated with the parent - resource. - :type name: str - :param resource_id: The ID of the resource that is associated with the - parent resource. - :type resource_id: str - :param association_type: The association type of the child resource to the - parent resource. Possible values include: 'Associated', 'Contains' - :type association_type: str or - ~azure.mgmt.network.v2018_08_01.models.AssociationType - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'resource_id': {'key': 'resourceId', 'type': 'str'}, - 'association_type': {'key': 'associationType', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(TopologyAssociation, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.resource_id = kwargs.get('resource_id', None) - self.association_type = kwargs.get('association_type', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/topology_association_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/topology_association_py3.py deleted file mode 100644 index 27821e94c9f..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/topology_association_py3.py +++ /dev/null @@ -1,40 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class TopologyAssociation(Model): - """Resources that have an association with the parent resource. - - :param name: The name of the resource that is associated with the parent - resource. - :type name: str - :param resource_id: The ID of the resource that is associated with the - parent resource. - :type resource_id: str - :param association_type: The association type of the child resource to the - parent resource. Possible values include: 'Associated', 'Contains' - :type association_type: str or - ~azure.mgmt.network.v2018_08_01.models.AssociationType - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'resource_id': {'key': 'resourceId', 'type': 'str'}, - 'association_type': {'key': 'associationType', 'type': 'str'}, - } - - def __init__(self, *, name: str=None, resource_id: str=None, association_type=None, **kwargs) -> None: - super(TopologyAssociation, self).__init__(**kwargs) - self.name = name - self.resource_id = resource_id - self.association_type = association_type diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/topology_parameters.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/topology_parameters.py deleted file mode 100644 index 803e854461e..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/topology_parameters.py +++ /dev/null @@ -1,39 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class TopologyParameters(Model): - """Parameters that define the representation of topology. - - :param target_resource_group_name: The name of the target resource group - to perform topology on. - :type target_resource_group_name: str - :param target_virtual_network: The reference of the Virtual Network - resource. - :type target_virtual_network: - ~azure.mgmt.network.v2018_08_01.models.SubResource - :param target_subnet: The reference of the Subnet resource. - :type target_subnet: ~azure.mgmt.network.v2018_08_01.models.SubResource - """ - - _attribute_map = { - 'target_resource_group_name': {'key': 'targetResourceGroupName', 'type': 'str'}, - 'target_virtual_network': {'key': 'targetVirtualNetwork', 'type': 'SubResource'}, - 'target_subnet': {'key': 'targetSubnet', 'type': 'SubResource'}, - } - - def __init__(self, **kwargs): - super(TopologyParameters, self).__init__(**kwargs) - self.target_resource_group_name = kwargs.get('target_resource_group_name', None) - self.target_virtual_network = kwargs.get('target_virtual_network', None) - self.target_subnet = kwargs.get('target_subnet', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/topology_parameters_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/topology_parameters_py3.py deleted file mode 100644 index 8db9406e467..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/topology_parameters_py3.py +++ /dev/null @@ -1,39 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class TopologyParameters(Model): - """Parameters that define the representation of topology. - - :param target_resource_group_name: The name of the target resource group - to perform topology on. - :type target_resource_group_name: str - :param target_virtual_network: The reference of the Virtual Network - resource. - :type target_virtual_network: - ~azure.mgmt.network.v2018_08_01.models.SubResource - :param target_subnet: The reference of the Subnet resource. - :type target_subnet: ~azure.mgmt.network.v2018_08_01.models.SubResource - """ - - _attribute_map = { - 'target_resource_group_name': {'key': 'targetResourceGroupName', 'type': 'str'}, - 'target_virtual_network': {'key': 'targetVirtualNetwork', 'type': 'SubResource'}, - 'target_subnet': {'key': 'targetSubnet', 'type': 'SubResource'}, - } - - def __init__(self, *, target_resource_group_name: str=None, target_virtual_network=None, target_subnet=None, **kwargs) -> None: - super(TopologyParameters, self).__init__(**kwargs) - self.target_resource_group_name = target_resource_group_name - self.target_virtual_network = target_virtual_network - self.target_subnet = target_subnet diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/topology_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/topology_py3.py deleted file mode 100644 index d5bf5723969..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/topology_py3.py +++ /dev/null @@ -1,51 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class Topology(Model): - """Topology of the specified resource group. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar id: GUID representing the operation id. - :vartype id: str - :ivar created_date_time: The datetime when the topology was initially - created for the resource group. - :vartype created_date_time: datetime - :ivar last_modified: The datetime when the topology was last modified. - :vartype last_modified: datetime - :param resources: - :type resources: - list[~azure.mgmt.network.v2018_08_01.models.TopologyResource] - """ - - _validation = { - 'id': {'readonly': True}, - 'created_date_time': {'readonly': True}, - 'last_modified': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'created_date_time': {'key': 'createdDateTime', 'type': 'iso-8601'}, - 'last_modified': {'key': 'lastModified', 'type': 'iso-8601'}, - 'resources': {'key': 'resources', 'type': '[TopologyResource]'}, - } - - def __init__(self, *, resources=None, **kwargs) -> None: - super(Topology, self).__init__(**kwargs) - self.id = None - self.created_date_time = None - self.last_modified = None - self.resources = resources diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/topology_resource.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/topology_resource.py deleted file mode 100644 index a09d27a0e70..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/topology_resource.py +++ /dev/null @@ -1,42 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class TopologyResource(Model): - """The network resource topology information for the given resource group. - - :param name: Name of the resource. - :type name: str - :param id: ID of the resource. - :type id: str - :param location: Resource location. - :type location: str - :param associations: Holds the associations the resource has with other - resources in the resource group. - :type associations: - list[~azure.mgmt.network.v2018_08_01.models.TopologyAssociation] - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'id': {'key': 'id', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'associations': {'key': 'associations', 'type': '[TopologyAssociation]'}, - } - - def __init__(self, **kwargs): - super(TopologyResource, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.id = kwargs.get('id', None) - self.location = kwargs.get('location', None) - self.associations = kwargs.get('associations', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/topology_resource_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/topology_resource_py3.py deleted file mode 100644 index d341e6b76fa..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/topology_resource_py3.py +++ /dev/null @@ -1,42 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class TopologyResource(Model): - """The network resource topology information for the given resource group. - - :param name: Name of the resource. - :type name: str - :param id: ID of the resource. - :type id: str - :param location: Resource location. - :type location: str - :param associations: Holds the associations the resource has with other - resources in the resource group. - :type associations: - list[~azure.mgmt.network.v2018_08_01.models.TopologyAssociation] - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'id': {'key': 'id', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'associations': {'key': 'associations', 'type': '[TopologyAssociation]'}, - } - - def __init__(self, *, name: str=None, id: str=None, location: str=None, associations=None, **kwargs) -> None: - super(TopologyResource, self).__init__(**kwargs) - self.name = name - self.id = id - self.location = location - self.associations = associations diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/traffic_analytics_configuration_properties.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/traffic_analytics_configuration_properties.py deleted file mode 100644 index 07ec840d9ed..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/traffic_analytics_configuration_properties.py +++ /dev/null @@ -1,50 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class TrafficAnalyticsConfigurationProperties(Model): - """Parameters that define the configuration of traffic analytics. - - All required parameters must be populated in order to send to Azure. - - :param enabled: Required. Flag to enable/disable traffic analytics. - :type enabled: bool - :param workspace_id: Required. The resource guid of the attached workspace - :type workspace_id: str - :param workspace_region: Required. The location of the attached workspace - :type workspace_region: str - :param workspace_resource_id: Required. Resource Id of the attached - workspace - :type workspace_resource_id: str - """ - - _validation = { - 'enabled': {'required': True}, - 'workspace_id': {'required': True}, - 'workspace_region': {'required': True}, - 'workspace_resource_id': {'required': True}, - } - - _attribute_map = { - 'enabled': {'key': 'enabled', 'type': 'bool'}, - 'workspace_id': {'key': 'workspaceId', 'type': 'str'}, - 'workspace_region': {'key': 'workspaceRegion', 'type': 'str'}, - 'workspace_resource_id': {'key': 'workspaceResourceId', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(TrafficAnalyticsConfigurationProperties, self).__init__(**kwargs) - self.enabled = kwargs.get('enabled', None) - self.workspace_id = kwargs.get('workspace_id', None) - self.workspace_region = kwargs.get('workspace_region', None) - self.workspace_resource_id = kwargs.get('workspace_resource_id', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/traffic_analytics_configuration_properties_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/traffic_analytics_configuration_properties_py3.py deleted file mode 100644 index bbc5ad2372c..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/traffic_analytics_configuration_properties_py3.py +++ /dev/null @@ -1,50 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class TrafficAnalyticsConfigurationProperties(Model): - """Parameters that define the configuration of traffic analytics. - - All required parameters must be populated in order to send to Azure. - - :param enabled: Required. Flag to enable/disable traffic analytics. - :type enabled: bool - :param workspace_id: Required. The resource guid of the attached workspace - :type workspace_id: str - :param workspace_region: Required. The location of the attached workspace - :type workspace_region: str - :param workspace_resource_id: Required. Resource Id of the attached - workspace - :type workspace_resource_id: str - """ - - _validation = { - 'enabled': {'required': True}, - 'workspace_id': {'required': True}, - 'workspace_region': {'required': True}, - 'workspace_resource_id': {'required': True}, - } - - _attribute_map = { - 'enabled': {'key': 'enabled', 'type': 'bool'}, - 'workspace_id': {'key': 'workspaceId', 'type': 'str'}, - 'workspace_region': {'key': 'workspaceRegion', 'type': 'str'}, - 'workspace_resource_id': {'key': 'workspaceResourceId', 'type': 'str'}, - } - - def __init__(self, *, enabled: bool, workspace_id: str, workspace_region: str, workspace_resource_id: str, **kwargs) -> None: - super(TrafficAnalyticsConfigurationProperties, self).__init__(**kwargs) - self.enabled = enabled - self.workspace_id = workspace_id - self.workspace_region = workspace_region - self.workspace_resource_id = workspace_resource_id diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/traffic_analytics_properties.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/traffic_analytics_properties.py deleted file mode 100644 index cc28ea69561..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/traffic_analytics_properties.py +++ /dev/null @@ -1,35 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class TrafficAnalyticsProperties(Model): - """Parameters that define the configuration of traffic analytics. - - All required parameters must be populated in order to send to Azure. - - :param network_watcher_flow_analytics_configuration: Required. - :type network_watcher_flow_analytics_configuration: - ~azure.mgmt.network.v2018_08_01.models.TrafficAnalyticsConfigurationProperties - """ - - _validation = { - 'network_watcher_flow_analytics_configuration': {'required': True}, - } - - _attribute_map = { - 'network_watcher_flow_analytics_configuration': {'key': 'networkWatcherFlowAnalyticsConfiguration', 'type': 'TrafficAnalyticsConfigurationProperties'}, - } - - def __init__(self, **kwargs): - super(TrafficAnalyticsProperties, self).__init__(**kwargs) - self.network_watcher_flow_analytics_configuration = kwargs.get('network_watcher_flow_analytics_configuration', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/traffic_analytics_properties_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/traffic_analytics_properties_py3.py deleted file mode 100644 index 27e2dde067e..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/traffic_analytics_properties_py3.py +++ /dev/null @@ -1,35 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class TrafficAnalyticsProperties(Model): - """Parameters that define the configuration of traffic analytics. - - All required parameters must be populated in order to send to Azure. - - :param network_watcher_flow_analytics_configuration: Required. - :type network_watcher_flow_analytics_configuration: - ~azure.mgmt.network.v2018_08_01.models.TrafficAnalyticsConfigurationProperties - """ - - _validation = { - 'network_watcher_flow_analytics_configuration': {'required': True}, - } - - _attribute_map = { - 'network_watcher_flow_analytics_configuration': {'key': 'networkWatcherFlowAnalyticsConfiguration', 'type': 'TrafficAnalyticsConfigurationProperties'}, - } - - def __init__(self, *, network_watcher_flow_analytics_configuration, **kwargs) -> None: - super(TrafficAnalyticsProperties, self).__init__(**kwargs) - self.network_watcher_flow_analytics_configuration = network_watcher_flow_analytics_configuration diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/traffic_query.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/traffic_query.py deleted file mode 100644 index 1ba916ade14..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/traffic_query.py +++ /dev/null @@ -1,61 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class TrafficQuery(Model): - """Parameters to compare with network configuration. - - All required parameters must be populated in order to send to Azure. - - :param direction: Required. The direction of the traffic. Accepted values - are 'Inbound' and 'Outbound'. Possible values include: 'Inbound', - 'Outbound' - :type direction: str or ~azure.mgmt.network.v2018_08_01.models.Direction - :param protocol: Required. Protocol to be verified on. Accepted values are - '*', TCP, UDP. - :type protocol: str - :param source: Required. Traffic source. Accepted values are '*', IP - Address/CIDR, Service Tag. - :type source: str - :param destination: Required. Traffic destination. Accepted values are: - '*', IP Address/CIDR, Service Tag. - :type destination: str - :param destination_port: Required. Traffice destination port. Accepted - values are '*', port (for example, 3389) and port range (for example, - 80-100). - :type destination_port: str - """ - - _validation = { - 'direction': {'required': True}, - 'protocol': {'required': True}, - 'source': {'required': True}, - 'destination': {'required': True}, - 'destination_port': {'required': True}, - } - - _attribute_map = { - 'direction': {'key': 'direction', 'type': 'str'}, - 'protocol': {'key': 'protocol', 'type': 'str'}, - 'source': {'key': 'source', 'type': 'str'}, - 'destination': {'key': 'destination', 'type': 'str'}, - 'destination_port': {'key': 'destinationPort', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(TrafficQuery, self).__init__(**kwargs) - self.direction = kwargs.get('direction', None) - self.protocol = kwargs.get('protocol', None) - self.source = kwargs.get('source', None) - self.destination = kwargs.get('destination', None) - self.destination_port = kwargs.get('destination_port', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/traffic_query_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/traffic_query_py3.py deleted file mode 100644 index 1251b1d0079..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/traffic_query_py3.py +++ /dev/null @@ -1,61 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class TrafficQuery(Model): - """Parameters to compare with network configuration. - - All required parameters must be populated in order to send to Azure. - - :param direction: Required. The direction of the traffic. Accepted values - are 'Inbound' and 'Outbound'. Possible values include: 'Inbound', - 'Outbound' - :type direction: str or ~azure.mgmt.network.v2018_08_01.models.Direction - :param protocol: Required. Protocol to be verified on. Accepted values are - '*', TCP, UDP. - :type protocol: str - :param source: Required. Traffic source. Accepted values are '*', IP - Address/CIDR, Service Tag. - :type source: str - :param destination: Required. Traffic destination. Accepted values are: - '*', IP Address/CIDR, Service Tag. - :type destination: str - :param destination_port: Required. Traffice destination port. Accepted - values are '*', port (for example, 3389) and port range (for example, - 80-100). - :type destination_port: str - """ - - _validation = { - 'direction': {'required': True}, - 'protocol': {'required': True}, - 'source': {'required': True}, - 'destination': {'required': True}, - 'destination_port': {'required': True}, - } - - _attribute_map = { - 'direction': {'key': 'direction', 'type': 'str'}, - 'protocol': {'key': 'protocol', 'type': 'str'}, - 'source': {'key': 'source', 'type': 'str'}, - 'destination': {'key': 'destination', 'type': 'str'}, - 'destination_port': {'key': 'destinationPort', 'type': 'str'}, - } - - def __init__(self, *, direction, protocol: str, source: str, destination: str, destination_port: str, **kwargs) -> None: - super(TrafficQuery, self).__init__(**kwargs) - self.direction = direction - self.protocol = protocol - self.source = source - self.destination = destination - self.destination_port = destination_port diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/troubleshooting_details.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/troubleshooting_details.py deleted file mode 100644 index 2a346e430fb..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/troubleshooting_details.py +++ /dev/null @@ -1,45 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class TroubleshootingDetails(Model): - """Information gained from troubleshooting of specified resource. - - :param id: The id of the get troubleshoot operation. - :type id: str - :param reason_type: Reason type of failure. - :type reason_type: str - :param summary: A summary of troubleshooting. - :type summary: str - :param detail: Details on troubleshooting results. - :type detail: str - :param recommended_actions: List of recommended actions. - :type recommended_actions: - list[~azure.mgmt.network.v2018_08_01.models.TroubleshootingRecommendedActions] - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'reason_type': {'key': 'reasonType', 'type': 'str'}, - 'summary': {'key': 'summary', 'type': 'str'}, - 'detail': {'key': 'detail', 'type': 'str'}, - 'recommended_actions': {'key': 'recommendedActions', 'type': '[TroubleshootingRecommendedActions]'}, - } - - def __init__(self, **kwargs): - super(TroubleshootingDetails, self).__init__(**kwargs) - self.id = kwargs.get('id', None) - self.reason_type = kwargs.get('reason_type', None) - self.summary = kwargs.get('summary', None) - self.detail = kwargs.get('detail', None) - self.recommended_actions = kwargs.get('recommended_actions', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/troubleshooting_details_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/troubleshooting_details_py3.py deleted file mode 100644 index df13e0609e2..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/troubleshooting_details_py3.py +++ /dev/null @@ -1,45 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class TroubleshootingDetails(Model): - """Information gained from troubleshooting of specified resource. - - :param id: The id of the get troubleshoot operation. - :type id: str - :param reason_type: Reason type of failure. - :type reason_type: str - :param summary: A summary of troubleshooting. - :type summary: str - :param detail: Details on troubleshooting results. - :type detail: str - :param recommended_actions: List of recommended actions. - :type recommended_actions: - list[~azure.mgmt.network.v2018_08_01.models.TroubleshootingRecommendedActions] - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'reason_type': {'key': 'reasonType', 'type': 'str'}, - 'summary': {'key': 'summary', 'type': 'str'}, - 'detail': {'key': 'detail', 'type': 'str'}, - 'recommended_actions': {'key': 'recommendedActions', 'type': '[TroubleshootingRecommendedActions]'}, - } - - def __init__(self, *, id: str=None, reason_type: str=None, summary: str=None, detail: str=None, recommended_actions=None, **kwargs) -> None: - super(TroubleshootingDetails, self).__init__(**kwargs) - self.id = id - self.reason_type = reason_type - self.summary = summary - self.detail = detail - self.recommended_actions = recommended_actions diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/troubleshooting_parameters.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/troubleshooting_parameters.py deleted file mode 100644 index 6b11d3eb5ff..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/troubleshooting_parameters.py +++ /dev/null @@ -1,46 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class TroubleshootingParameters(Model): - """Parameters that define the resource to troubleshoot. - - All required parameters must be populated in order to send to Azure. - - :param target_resource_id: Required. The target resource to troubleshoot. - :type target_resource_id: str - :param storage_id: Required. The ID for the storage account to save the - troubleshoot result. - :type storage_id: str - :param storage_path: Required. The path to the blob to save the - troubleshoot result in. - :type storage_path: str - """ - - _validation = { - 'target_resource_id': {'required': True}, - 'storage_id': {'required': True}, - 'storage_path': {'required': True}, - } - - _attribute_map = { - 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, - 'storage_id': {'key': 'properties.storageId', 'type': 'str'}, - 'storage_path': {'key': 'properties.storagePath', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(TroubleshootingParameters, self).__init__(**kwargs) - self.target_resource_id = kwargs.get('target_resource_id', None) - self.storage_id = kwargs.get('storage_id', None) - self.storage_path = kwargs.get('storage_path', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/troubleshooting_parameters_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/troubleshooting_parameters_py3.py deleted file mode 100644 index e010b7bdc9d..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/troubleshooting_parameters_py3.py +++ /dev/null @@ -1,46 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class TroubleshootingParameters(Model): - """Parameters that define the resource to troubleshoot. - - All required parameters must be populated in order to send to Azure. - - :param target_resource_id: Required. The target resource to troubleshoot. - :type target_resource_id: str - :param storage_id: Required. The ID for the storage account to save the - troubleshoot result. - :type storage_id: str - :param storage_path: Required. The path to the blob to save the - troubleshoot result in. - :type storage_path: str - """ - - _validation = { - 'target_resource_id': {'required': True}, - 'storage_id': {'required': True}, - 'storage_path': {'required': True}, - } - - _attribute_map = { - 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, - 'storage_id': {'key': 'properties.storageId', 'type': 'str'}, - 'storage_path': {'key': 'properties.storagePath', 'type': 'str'}, - } - - def __init__(self, *, target_resource_id: str, storage_id: str, storage_path: str, **kwargs) -> None: - super(TroubleshootingParameters, self).__init__(**kwargs) - self.target_resource_id = target_resource_id - self.storage_id = storage_id - self.storage_path = storage_path diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/troubleshooting_recommended_actions.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/troubleshooting_recommended_actions.py deleted file mode 100644 index be395be4ad5..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/troubleshooting_recommended_actions.py +++ /dev/null @@ -1,42 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class TroubleshootingRecommendedActions(Model): - """Recommended actions based on discovered issues. - - :param action_id: ID of the recommended action. - :type action_id: str - :param action_text: Description of recommended actions. - :type action_text: str - :param action_uri: The uri linking to a documentation for the recommended - troubleshooting actions. - :type action_uri: str - :param action_uri_text: The information from the URI for the recommended - troubleshooting actions. - :type action_uri_text: str - """ - - _attribute_map = { - 'action_id': {'key': 'actionId', 'type': 'str'}, - 'action_text': {'key': 'actionText', 'type': 'str'}, - 'action_uri': {'key': 'actionUri', 'type': 'str'}, - 'action_uri_text': {'key': 'actionUriText', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(TroubleshootingRecommendedActions, self).__init__(**kwargs) - self.action_id = kwargs.get('action_id', None) - self.action_text = kwargs.get('action_text', None) - self.action_uri = kwargs.get('action_uri', None) - self.action_uri_text = kwargs.get('action_uri_text', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/troubleshooting_recommended_actions_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/troubleshooting_recommended_actions_py3.py deleted file mode 100644 index 05c3f654353..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/troubleshooting_recommended_actions_py3.py +++ /dev/null @@ -1,42 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class TroubleshootingRecommendedActions(Model): - """Recommended actions based on discovered issues. - - :param action_id: ID of the recommended action. - :type action_id: str - :param action_text: Description of recommended actions. - :type action_text: str - :param action_uri: The uri linking to a documentation for the recommended - troubleshooting actions. - :type action_uri: str - :param action_uri_text: The information from the URI for the recommended - troubleshooting actions. - :type action_uri_text: str - """ - - _attribute_map = { - 'action_id': {'key': 'actionId', 'type': 'str'}, - 'action_text': {'key': 'actionText', 'type': 'str'}, - 'action_uri': {'key': 'actionUri', 'type': 'str'}, - 'action_uri_text': {'key': 'actionUriText', 'type': 'str'}, - } - - def __init__(self, *, action_id: str=None, action_text: str=None, action_uri: str=None, action_uri_text: str=None, **kwargs) -> None: - super(TroubleshootingRecommendedActions, self).__init__(**kwargs) - self.action_id = action_id - self.action_text = action_text - self.action_uri = action_uri - self.action_uri_text = action_uri_text diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/troubleshooting_result.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/troubleshooting_result.py deleted file mode 100644 index 6ebdd124a37..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/troubleshooting_result.py +++ /dev/null @@ -1,41 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class TroubleshootingResult(Model): - """Troubleshooting information gained from specified resource. - - :param start_time: The start time of the troubleshooting. - :type start_time: datetime - :param end_time: The end time of the troubleshooting. - :type end_time: datetime - :param code: The result code of the troubleshooting. - :type code: str - :param results: Information from troubleshooting. - :type results: - list[~azure.mgmt.network.v2018_08_01.models.TroubleshootingDetails] - """ - - _attribute_map = { - 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, - 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, - 'code': {'key': 'code', 'type': 'str'}, - 'results': {'key': 'results', 'type': '[TroubleshootingDetails]'}, - } - - def __init__(self, **kwargs): - super(TroubleshootingResult, self).__init__(**kwargs) - self.start_time = kwargs.get('start_time', None) - self.end_time = kwargs.get('end_time', None) - self.code = kwargs.get('code', None) - self.results = kwargs.get('results', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/troubleshooting_result_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/troubleshooting_result_py3.py deleted file mode 100644 index 80e98338846..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/troubleshooting_result_py3.py +++ /dev/null @@ -1,41 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class TroubleshootingResult(Model): - """Troubleshooting information gained from specified resource. - - :param start_time: The start time of the troubleshooting. - :type start_time: datetime - :param end_time: The end time of the troubleshooting. - :type end_time: datetime - :param code: The result code of the troubleshooting. - :type code: str - :param results: Information from troubleshooting. - :type results: - list[~azure.mgmt.network.v2018_08_01.models.TroubleshootingDetails] - """ - - _attribute_map = { - 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, - 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, - 'code': {'key': 'code', 'type': 'str'}, - 'results': {'key': 'results', 'type': '[TroubleshootingDetails]'}, - } - - def __init__(self, *, start_time=None, end_time=None, code: str=None, results=None, **kwargs) -> None: - super(TroubleshootingResult, self).__init__(**kwargs) - self.start_time = start_time - self.end_time = end_time - self.code = code - self.results = results diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/tunnel_connection_health.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/tunnel_connection_health.py deleted file mode 100644 index a5af819f446..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/tunnel_connection_health.py +++ /dev/null @@ -1,61 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class TunnelConnectionHealth(Model): - """VirtualNetworkGatewayConnection properties. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar tunnel: Tunnel name. - :vartype tunnel: str - :ivar connection_status: Virtual network Gateway connection status. - Possible values include: 'Unknown', 'Connecting', 'Connected', - 'NotConnected' - :vartype connection_status: str or - ~azure.mgmt.network.v2018_08_01.models.VirtualNetworkGatewayConnectionStatus - :ivar ingress_bytes_transferred: The Ingress Bytes Transferred in this - connection - :vartype ingress_bytes_transferred: long - :ivar egress_bytes_transferred: The Egress Bytes Transferred in this - connection - :vartype egress_bytes_transferred: long - :ivar last_connection_established_utc_time: The time at which connection - was established in Utc format. - :vartype last_connection_established_utc_time: str - """ - - _validation = { - 'tunnel': {'readonly': True}, - 'connection_status': {'readonly': True}, - 'ingress_bytes_transferred': {'readonly': True}, - 'egress_bytes_transferred': {'readonly': True}, - 'last_connection_established_utc_time': {'readonly': True}, - } - - _attribute_map = { - 'tunnel': {'key': 'tunnel', 'type': 'str'}, - 'connection_status': {'key': 'connectionStatus', 'type': 'str'}, - 'ingress_bytes_transferred': {'key': 'ingressBytesTransferred', 'type': 'long'}, - 'egress_bytes_transferred': {'key': 'egressBytesTransferred', 'type': 'long'}, - 'last_connection_established_utc_time': {'key': 'lastConnectionEstablishedUtcTime', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(TunnelConnectionHealth, self).__init__(**kwargs) - self.tunnel = None - self.connection_status = None - self.ingress_bytes_transferred = None - self.egress_bytes_transferred = None - self.last_connection_established_utc_time = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/tunnel_connection_health_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/tunnel_connection_health_py3.py deleted file mode 100644 index 34ca2f858ee..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/tunnel_connection_health_py3.py +++ /dev/null @@ -1,61 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class TunnelConnectionHealth(Model): - """VirtualNetworkGatewayConnection properties. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar tunnel: Tunnel name. - :vartype tunnel: str - :ivar connection_status: Virtual network Gateway connection status. - Possible values include: 'Unknown', 'Connecting', 'Connected', - 'NotConnected' - :vartype connection_status: str or - ~azure.mgmt.network.v2018_08_01.models.VirtualNetworkGatewayConnectionStatus - :ivar ingress_bytes_transferred: The Ingress Bytes Transferred in this - connection - :vartype ingress_bytes_transferred: long - :ivar egress_bytes_transferred: The Egress Bytes Transferred in this - connection - :vartype egress_bytes_transferred: long - :ivar last_connection_established_utc_time: The time at which connection - was established in Utc format. - :vartype last_connection_established_utc_time: str - """ - - _validation = { - 'tunnel': {'readonly': True}, - 'connection_status': {'readonly': True}, - 'ingress_bytes_transferred': {'readonly': True}, - 'egress_bytes_transferred': {'readonly': True}, - 'last_connection_established_utc_time': {'readonly': True}, - } - - _attribute_map = { - 'tunnel': {'key': 'tunnel', 'type': 'str'}, - 'connection_status': {'key': 'connectionStatus', 'type': 'str'}, - 'ingress_bytes_transferred': {'key': 'ingressBytesTransferred', 'type': 'long'}, - 'egress_bytes_transferred': {'key': 'egressBytesTransferred', 'type': 'long'}, - 'last_connection_established_utc_time': {'key': 'lastConnectionEstablishedUtcTime', 'type': 'str'}, - } - - def __init__(self, **kwargs) -> None: - super(TunnelConnectionHealth, self).__init__(**kwargs) - self.tunnel = None - self.connection_status = None - self.ingress_bytes_transferred = None - self.egress_bytes_transferred = None - self.last_connection_established_utc_time = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/usage.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/usage.py deleted file mode 100644 index 331a3adc946..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/usage.py +++ /dev/null @@ -1,59 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class Usage(Model): - """Describes network resource usage. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :ivar id: Resource identifier. - :vartype id: str - :ivar unit: Required. An enum describing the unit of measurement. Default - value: "Count" . - :vartype unit: str - :param current_value: Required. The current value of the usage. - :type current_value: long - :param limit: Required. The limit of usage. - :type limit: long - :param name: Required. The name of the type of usage. - :type name: ~azure.mgmt.network.v2018_08_01.models.UsageName - """ - - _validation = { - 'id': {'readonly': True}, - 'unit': {'required': True, 'constant': True}, - 'current_value': {'required': True}, - 'limit': {'required': True}, - 'name': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'unit': {'key': 'unit', 'type': 'str'}, - 'current_value': {'key': 'currentValue', 'type': 'long'}, - 'limit': {'key': 'limit', 'type': 'long'}, - 'name': {'key': 'name', 'type': 'UsageName'}, - } - - unit = "Count" - - def __init__(self, **kwargs): - super(Usage, self).__init__(**kwargs) - self.id = None - self.current_value = kwargs.get('current_value', None) - self.limit = kwargs.get('limit', None) - self.name = kwargs.get('name', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/usage_name.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/usage_name.py deleted file mode 100644 index bd1813944fd..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/usage_name.py +++ /dev/null @@ -1,32 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class UsageName(Model): - """The usage names. - - :param value: A string describing the resource name. - :type value: str - :param localized_value: A localized string describing the resource name. - :type localized_value: str - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': 'str'}, - 'localized_value': {'key': 'localizedValue', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(UsageName, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - self.localized_value = kwargs.get('localized_value', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/usage_name_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/usage_name_py3.py deleted file mode 100644 index 4e5e3e10de1..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/usage_name_py3.py +++ /dev/null @@ -1,32 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class UsageName(Model): - """The usage names. - - :param value: A string describing the resource name. - :type value: str - :param localized_value: A localized string describing the resource name. - :type localized_value: str - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': 'str'}, - 'localized_value': {'key': 'localizedValue', 'type': 'str'}, - } - - def __init__(self, *, value: str=None, localized_value: str=None, **kwargs) -> None: - super(UsageName, self).__init__(**kwargs) - self.value = value - self.localized_value = localized_value diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/usage_paged.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/usage_paged.py deleted file mode 100644 index 41483a234b5..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/usage_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.paging import Paged - - -class UsagePaged(Paged): - """ - A paging container for iterating over a list of :class:`Usage ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[Usage]'} - } - - def __init__(self, *args, **kwargs): - - super(UsagePaged, self).__init__(*args, **kwargs) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/usage_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/usage_py3.py deleted file mode 100644 index 8c958ac9c55..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/usage_py3.py +++ /dev/null @@ -1,59 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class Usage(Model): - """Describes network resource usage. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :ivar id: Resource identifier. - :vartype id: str - :ivar unit: Required. An enum describing the unit of measurement. Default - value: "Count" . - :vartype unit: str - :param current_value: Required. The current value of the usage. - :type current_value: long - :param limit: Required. The limit of usage. - :type limit: long - :param name: Required. The name of the type of usage. - :type name: ~azure.mgmt.network.v2018_08_01.models.UsageName - """ - - _validation = { - 'id': {'readonly': True}, - 'unit': {'required': True, 'constant': True}, - 'current_value': {'required': True}, - 'limit': {'required': True}, - 'name': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'unit': {'key': 'unit', 'type': 'str'}, - 'current_value': {'key': 'currentValue', 'type': 'long'}, - 'limit': {'key': 'limit', 'type': 'long'}, - 'name': {'key': 'name', 'type': 'UsageName'}, - } - - unit = "Count" - - def __init__(self, *, current_value: int, limit: int, name, **kwargs) -> None: - super(Usage, self).__init__(**kwargs) - self.id = None - self.current_value = current_value - self.limit = limit - self.name = name diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/verification_ip_flow_parameters.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/verification_ip_flow_parameters.py deleted file mode 100644 index 097e81c2443..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/verification_ip_flow_parameters.py +++ /dev/null @@ -1,80 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class VerificationIPFlowParameters(Model): - """Parameters that define the IP flow to be verified. - - All required parameters must be populated in order to send to Azure. - - :param target_resource_id: Required. The ID of the target resource to - perform next-hop on. - :type target_resource_id: str - :param direction: Required. The direction of the packet represented as a - 5-tuple. Possible values include: 'Inbound', 'Outbound' - :type direction: str or ~azure.mgmt.network.v2018_08_01.models.Direction - :param protocol: Required. Protocol to be verified on. Possible values - include: 'TCP', 'UDP' - :type protocol: str or - ~azure.mgmt.network.v2018_08_01.models.IpFlowProtocol - :param local_port: Required. The local port. Acceptable values are a - single integer in the range (0-65535). Support for * for the source port, - which depends on the direction. - :type local_port: str - :param remote_port: Required. The remote port. Acceptable values are a - single integer in the range (0-65535). Support for * for the source port, - which depends on the direction. - :type remote_port: str - :param local_ip_address: Required. The local IP address. Acceptable values - are valid IPv4 addresses. - :type local_ip_address: str - :param remote_ip_address: Required. The remote IP address. Acceptable - values are valid IPv4 addresses. - :type remote_ip_address: str - :param target_nic_resource_id: The NIC ID. (If VM has multiple NICs and IP - forwarding is enabled on any of them, then this parameter must be - specified. Otherwise optional). - :type target_nic_resource_id: str - """ - - _validation = { - 'target_resource_id': {'required': True}, - 'direction': {'required': True}, - 'protocol': {'required': True}, - 'local_port': {'required': True}, - 'remote_port': {'required': True}, - 'local_ip_address': {'required': True}, - 'remote_ip_address': {'required': True}, - } - - _attribute_map = { - 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, - 'direction': {'key': 'direction', 'type': 'str'}, - 'protocol': {'key': 'protocol', 'type': 'str'}, - 'local_port': {'key': 'localPort', 'type': 'str'}, - 'remote_port': {'key': 'remotePort', 'type': 'str'}, - 'local_ip_address': {'key': 'localIPAddress', 'type': 'str'}, - 'remote_ip_address': {'key': 'remoteIPAddress', 'type': 'str'}, - 'target_nic_resource_id': {'key': 'targetNicResourceId', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VerificationIPFlowParameters, self).__init__(**kwargs) - self.target_resource_id = kwargs.get('target_resource_id', None) - self.direction = kwargs.get('direction', None) - self.protocol = kwargs.get('protocol', None) - self.local_port = kwargs.get('local_port', None) - self.remote_port = kwargs.get('remote_port', None) - self.local_ip_address = kwargs.get('local_ip_address', None) - self.remote_ip_address = kwargs.get('remote_ip_address', None) - self.target_nic_resource_id = kwargs.get('target_nic_resource_id', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/verification_ip_flow_parameters_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/verification_ip_flow_parameters_py3.py deleted file mode 100644 index f2ad541e78a..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/verification_ip_flow_parameters_py3.py +++ /dev/null @@ -1,80 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class VerificationIPFlowParameters(Model): - """Parameters that define the IP flow to be verified. - - All required parameters must be populated in order to send to Azure. - - :param target_resource_id: Required. The ID of the target resource to - perform next-hop on. - :type target_resource_id: str - :param direction: Required. The direction of the packet represented as a - 5-tuple. Possible values include: 'Inbound', 'Outbound' - :type direction: str or ~azure.mgmt.network.v2018_08_01.models.Direction - :param protocol: Required. Protocol to be verified on. Possible values - include: 'TCP', 'UDP' - :type protocol: str or - ~azure.mgmt.network.v2018_08_01.models.IpFlowProtocol - :param local_port: Required. The local port. Acceptable values are a - single integer in the range (0-65535). Support for * for the source port, - which depends on the direction. - :type local_port: str - :param remote_port: Required. The remote port. Acceptable values are a - single integer in the range (0-65535). Support for * for the source port, - which depends on the direction. - :type remote_port: str - :param local_ip_address: Required. The local IP address. Acceptable values - are valid IPv4 addresses. - :type local_ip_address: str - :param remote_ip_address: Required. The remote IP address. Acceptable - values are valid IPv4 addresses. - :type remote_ip_address: str - :param target_nic_resource_id: The NIC ID. (If VM has multiple NICs and IP - forwarding is enabled on any of them, then this parameter must be - specified. Otherwise optional). - :type target_nic_resource_id: str - """ - - _validation = { - 'target_resource_id': {'required': True}, - 'direction': {'required': True}, - 'protocol': {'required': True}, - 'local_port': {'required': True}, - 'remote_port': {'required': True}, - 'local_ip_address': {'required': True}, - 'remote_ip_address': {'required': True}, - } - - _attribute_map = { - 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, - 'direction': {'key': 'direction', 'type': 'str'}, - 'protocol': {'key': 'protocol', 'type': 'str'}, - 'local_port': {'key': 'localPort', 'type': 'str'}, - 'remote_port': {'key': 'remotePort', 'type': 'str'}, - 'local_ip_address': {'key': 'localIPAddress', 'type': 'str'}, - 'remote_ip_address': {'key': 'remoteIPAddress', 'type': 'str'}, - 'target_nic_resource_id': {'key': 'targetNicResourceId', 'type': 'str'}, - } - - def __init__(self, *, target_resource_id: str, direction, protocol, local_port: str, remote_port: str, local_ip_address: str, remote_ip_address: str, target_nic_resource_id: str=None, **kwargs) -> None: - super(VerificationIPFlowParameters, self).__init__(**kwargs) - self.target_resource_id = target_resource_id - self.direction = direction - self.protocol = protocol - self.local_port = local_port - self.remote_port = remote_port - self.local_ip_address = local_ip_address - self.remote_ip_address = remote_ip_address - self.target_nic_resource_id = target_nic_resource_id diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/verification_ip_flow_result.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/verification_ip_flow_result.py deleted file mode 100644 index 9ae863be7bc..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/verification_ip_flow_result.py +++ /dev/null @@ -1,34 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class VerificationIPFlowResult(Model): - """Results of IP flow verification on the target resource. - - :param access: Indicates whether the traffic is allowed or denied. - Possible values include: 'Allow', 'Deny' - :type access: str or ~azure.mgmt.network.v2018_08_01.models.Access - :param rule_name: Name of the rule. If input is not matched against any - security rule, it is not displayed. - :type rule_name: str - """ - - _attribute_map = { - 'access': {'key': 'access', 'type': 'str'}, - 'rule_name': {'key': 'ruleName', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VerificationIPFlowResult, self).__init__(**kwargs) - self.access = kwargs.get('access', None) - self.rule_name = kwargs.get('rule_name', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/verification_ip_flow_result_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/verification_ip_flow_result_py3.py deleted file mode 100644 index 35f7275cff7..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/verification_ip_flow_result_py3.py +++ /dev/null @@ -1,34 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class VerificationIPFlowResult(Model): - """Results of IP flow verification on the target resource. - - :param access: Indicates whether the traffic is allowed or denied. - Possible values include: 'Allow', 'Deny' - :type access: str or ~azure.mgmt.network.v2018_08_01.models.Access - :param rule_name: Name of the rule. If input is not matched against any - security rule, it is not displayed. - :type rule_name: str - """ - - _attribute_map = { - 'access': {'key': 'access', 'type': 'str'}, - 'rule_name': {'key': 'ruleName', 'type': 'str'}, - } - - def __init__(self, *, access=None, rule_name: str=None, **kwargs) -> None: - super(VerificationIPFlowResult, self).__init__(**kwargs) - self.access = access - self.rule_name = rule_name diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_hub.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_hub.py deleted file mode 100644 index 6abc530872b..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_hub.py +++ /dev/null @@ -1,92 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .resource import Resource - - -class VirtualHub(Resource): - """VirtualHub Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param virtual_wan: The VirtualWAN to which the VirtualHub belongs - :type virtual_wan: ~azure.mgmt.network.v2018_08_01.models.SubResource - :param vpn_gateway: The VpnGateway associated with this VirtualHub - :type vpn_gateway: ~azure.mgmt.network.v2018_08_01.models.SubResource - :param p2_svpn_gateway: The P2SVpnGateway associated with this VirtualHub - :type p2_svpn_gateway: ~azure.mgmt.network.v2018_08_01.models.SubResource - :param express_route_gateway: The expressRouteGateway associated with this - VirtualHub - :type express_route_gateway: - ~azure.mgmt.network.v2018_08_01.models.SubResource - :param virtual_network_connections: list of all vnet connections with this - VirtualHub. - :type virtual_network_connections: - list[~azure.mgmt.network.v2018_08_01.models.HubVirtualNetworkConnection] - :param address_prefix: Address-prefix for this VirtualHub. - :type address_prefix: str - :param route_table: The routeTable associated with this virtual hub. - :type route_table: - ~azure.mgmt.network.v2018_08_01.models.VirtualHubRouteTable - :param provisioning_state: The provisioning state of the resource. - Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2018_08_01.models.ProvisioningState - :ivar etag: Gets a unique read-only string that changes whenever the - resource is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'virtual_wan': {'key': 'properties.virtualWan', 'type': 'SubResource'}, - 'vpn_gateway': {'key': 'properties.vpnGateway', 'type': 'SubResource'}, - 'p2_svpn_gateway': {'key': 'properties.p2SVpnGateway', 'type': 'SubResource'}, - 'express_route_gateway': {'key': 'properties.expressRouteGateway', 'type': 'SubResource'}, - 'virtual_network_connections': {'key': 'properties.virtualNetworkConnections', 'type': '[HubVirtualNetworkConnection]'}, - 'address_prefix': {'key': 'properties.addressPrefix', 'type': 'str'}, - 'route_table': {'key': 'properties.routeTable', 'type': 'VirtualHubRouteTable'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VirtualHub, self).__init__(**kwargs) - self.virtual_wan = kwargs.get('virtual_wan', None) - self.vpn_gateway = kwargs.get('vpn_gateway', None) - self.p2_svpn_gateway = kwargs.get('p2_svpn_gateway', None) - self.express_route_gateway = kwargs.get('express_route_gateway', None) - self.virtual_network_connections = kwargs.get('virtual_network_connections', None) - self.address_prefix = kwargs.get('address_prefix', None) - self.route_table = kwargs.get('route_table', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.etag = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_hub_id.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_hub_id.py deleted file mode 100644 index 6754cbd3b4f..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_hub_id.py +++ /dev/null @@ -1,30 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class VirtualHubId(Model): - """Virtual Hub identifier. - - :param id: The resource URI for the Virtual Hub where the ExpressRoute - gateway is or will be deployed. The Virtual Hub resource and the - ExpressRoute gateway resource reside in the same subscription. - :type id: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VirtualHubId, self).__init__(**kwargs) - self.id = kwargs.get('id', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_hub_id_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_hub_id_py3.py deleted file mode 100644 index 730c061d5b7..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_hub_id_py3.py +++ /dev/null @@ -1,30 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class VirtualHubId(Model): - """Virtual Hub identifier. - - :param id: The resource URI for the Virtual Hub where the ExpressRoute - gateway is or will be deployed. The Virtual Hub resource and the - ExpressRoute gateway resource reside in the same subscription. - :type id: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, **kwargs) -> None: - super(VirtualHubId, self).__init__(**kwargs) - self.id = id diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_hub_paged.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_hub_paged.py deleted file mode 100644 index f5c9236ee13..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_hub_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.paging import Paged - - -class VirtualHubPaged(Paged): - """ - A paging container for iterating over a list of :class:`VirtualHub ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[VirtualHub]'} - } - - def __init__(self, *args, **kwargs): - - super(VirtualHubPaged, self).__init__(*args, **kwargs) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_hub_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_hub_py3.py deleted file mode 100644 index 971fb7e47ae..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_hub_py3.py +++ /dev/null @@ -1,92 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .resource_py3 import Resource - - -class VirtualHub(Resource): - """VirtualHub Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param virtual_wan: The VirtualWAN to which the VirtualHub belongs - :type virtual_wan: ~azure.mgmt.network.v2018_08_01.models.SubResource - :param vpn_gateway: The VpnGateway associated with this VirtualHub - :type vpn_gateway: ~azure.mgmt.network.v2018_08_01.models.SubResource - :param p2_svpn_gateway: The P2SVpnGateway associated with this VirtualHub - :type p2_svpn_gateway: ~azure.mgmt.network.v2018_08_01.models.SubResource - :param express_route_gateway: The expressRouteGateway associated with this - VirtualHub - :type express_route_gateway: - ~azure.mgmt.network.v2018_08_01.models.SubResource - :param virtual_network_connections: list of all vnet connections with this - VirtualHub. - :type virtual_network_connections: - list[~azure.mgmt.network.v2018_08_01.models.HubVirtualNetworkConnection] - :param address_prefix: Address-prefix for this VirtualHub. - :type address_prefix: str - :param route_table: The routeTable associated with this virtual hub. - :type route_table: - ~azure.mgmt.network.v2018_08_01.models.VirtualHubRouteTable - :param provisioning_state: The provisioning state of the resource. - Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2018_08_01.models.ProvisioningState - :ivar etag: Gets a unique read-only string that changes whenever the - resource is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'virtual_wan': {'key': 'properties.virtualWan', 'type': 'SubResource'}, - 'vpn_gateway': {'key': 'properties.vpnGateway', 'type': 'SubResource'}, - 'p2_svpn_gateway': {'key': 'properties.p2SVpnGateway', 'type': 'SubResource'}, - 'express_route_gateway': {'key': 'properties.expressRouteGateway', 'type': 'SubResource'}, - 'virtual_network_connections': {'key': 'properties.virtualNetworkConnections', 'type': '[HubVirtualNetworkConnection]'}, - 'address_prefix': {'key': 'properties.addressPrefix', 'type': 'str'}, - 'route_table': {'key': 'properties.routeTable', 'type': 'VirtualHubRouteTable'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, virtual_wan=None, vpn_gateway=None, p2_svpn_gateway=None, express_route_gateway=None, virtual_network_connections=None, address_prefix: str=None, route_table=None, provisioning_state=None, **kwargs) -> None: - super(VirtualHub, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.virtual_wan = virtual_wan - self.vpn_gateway = vpn_gateway - self.p2_svpn_gateway = p2_svpn_gateway - self.express_route_gateway = express_route_gateway - self.virtual_network_connections = virtual_network_connections - self.address_prefix = address_prefix - self.route_table = route_table - self.provisioning_state = provisioning_state - self.etag = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_hub_route.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_hub_route.py deleted file mode 100644 index d25fdb71ad6..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_hub_route.py +++ /dev/null @@ -1,32 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class VirtualHubRoute(Model): - """VirtualHub route. - - :param address_prefixes: list of all addressPrefixes. - :type address_prefixes: list[str] - :param next_hop_ip_address: NextHop ip address. - :type next_hop_ip_address: str - """ - - _attribute_map = { - 'address_prefixes': {'key': 'addressPrefixes', 'type': '[str]'}, - 'next_hop_ip_address': {'key': 'nextHopIpAddress', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VirtualHubRoute, self).__init__(**kwargs) - self.address_prefixes = kwargs.get('address_prefixes', None) - self.next_hop_ip_address = kwargs.get('next_hop_ip_address', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_hub_route_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_hub_route_py3.py deleted file mode 100644 index b5430f758c7..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_hub_route_py3.py +++ /dev/null @@ -1,32 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class VirtualHubRoute(Model): - """VirtualHub route. - - :param address_prefixes: list of all addressPrefixes. - :type address_prefixes: list[str] - :param next_hop_ip_address: NextHop ip address. - :type next_hop_ip_address: str - """ - - _attribute_map = { - 'address_prefixes': {'key': 'addressPrefixes', 'type': '[str]'}, - 'next_hop_ip_address': {'key': 'nextHopIpAddress', 'type': 'str'}, - } - - def __init__(self, *, address_prefixes=None, next_hop_ip_address: str=None, **kwargs) -> None: - super(VirtualHubRoute, self).__init__(**kwargs) - self.address_prefixes = address_prefixes - self.next_hop_ip_address = next_hop_ip_address diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_hub_route_table.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_hub_route_table.py deleted file mode 100644 index 79c1550f98a..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_hub_route_table.py +++ /dev/null @@ -1,28 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class VirtualHubRouteTable(Model): - """VirtualHub route table. - - :param routes: list of all routes. - :type routes: list[~azure.mgmt.network.v2018_08_01.models.VirtualHubRoute] - """ - - _attribute_map = { - 'routes': {'key': 'routes', 'type': '[VirtualHubRoute]'}, - } - - def __init__(self, **kwargs): - super(VirtualHubRouteTable, self).__init__(**kwargs) - self.routes = kwargs.get('routes', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_hub_route_table_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_hub_route_table_py3.py deleted file mode 100644 index 1d49b1563f4..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_hub_route_table_py3.py +++ /dev/null @@ -1,28 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class VirtualHubRouteTable(Model): - """VirtualHub route table. - - :param routes: list of all routes. - :type routes: list[~azure.mgmt.network.v2018_08_01.models.VirtualHubRoute] - """ - - _attribute_map = { - 'routes': {'key': 'routes', 'type': '[VirtualHubRoute]'}, - } - - def __init__(self, *, routes=None, **kwargs) -> None: - super(VirtualHubRouteTable, self).__init__(**kwargs) - self.routes = routes diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_network.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_network.py deleted file mode 100644 index 69b2d5254a4..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_network.py +++ /dev/null @@ -1,98 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .resource import Resource - - -class VirtualNetwork(Resource): - """Virtual Network resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param address_space: The AddressSpace that contains an array of IP - address ranges that can be used by subnets. - :type address_space: ~azure.mgmt.network.v2018_08_01.models.AddressSpace - :param dhcp_options: The dhcpOptions that contains an array of DNS servers - available to VMs deployed in the virtual network. - :type dhcp_options: ~azure.mgmt.network.v2018_08_01.models.DhcpOptions - :param subnets: A list of subnets in a Virtual Network. - :type subnets: list[~azure.mgmt.network.v2018_08_01.models.Subnet] - :param virtual_network_peerings: A list of peerings in a Virtual Network. - :type virtual_network_peerings: - list[~azure.mgmt.network.v2018_08_01.models.VirtualNetworkPeering] - :param resource_guid: The resourceGuid property of the Virtual Network - resource. - :type resource_guid: str - :param provisioning_state: The provisioning state of the PublicIP - resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - :type provisioning_state: str - :param enable_ddos_protection: Indicates if DDoS protection is enabled for - all the protected resources in the virtual network. It requires a DDoS - protection plan associated with the resource. Default value: False . - :type enable_ddos_protection: bool - :param enable_vm_protection: Indicates if VM protection is enabled for all - the subnets in the virtual network. Default value: False . - :type enable_vm_protection: bool - :param ddos_protection_plan: The DDoS protection plan associated with the - virtual network. - :type ddos_protection_plan: - ~azure.mgmt.network.v2018_08_01.models.SubResource - :param etag: Gets a unique read-only string that changes whenever the - resource is updated. - :type etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'address_space': {'key': 'properties.addressSpace', 'type': 'AddressSpace'}, - 'dhcp_options': {'key': 'properties.dhcpOptions', 'type': 'DhcpOptions'}, - 'subnets': {'key': 'properties.subnets', 'type': '[Subnet]'}, - 'virtual_network_peerings': {'key': 'properties.virtualNetworkPeerings', 'type': '[VirtualNetworkPeering]'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'enable_ddos_protection': {'key': 'properties.enableDdosProtection', 'type': 'bool'}, - 'enable_vm_protection': {'key': 'properties.enableVmProtection', 'type': 'bool'}, - 'ddos_protection_plan': {'key': 'properties.ddosProtectionPlan', 'type': 'SubResource'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VirtualNetwork, self).__init__(**kwargs) - self.address_space = kwargs.get('address_space', None) - self.dhcp_options = kwargs.get('dhcp_options', None) - self.subnets = kwargs.get('subnets', None) - self.virtual_network_peerings = kwargs.get('virtual_network_peerings', None) - self.resource_guid = kwargs.get('resource_guid', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.enable_ddos_protection = kwargs.get('enable_ddos_protection', False) - self.enable_vm_protection = kwargs.get('enable_vm_protection', False) - self.ddos_protection_plan = kwargs.get('ddos_protection_plan', None) - self.etag = kwargs.get('etag', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_network_connection_gateway_reference.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_network_connection_gateway_reference.py deleted file mode 100644 index aa10101778f..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_network_connection_gateway_reference.py +++ /dev/null @@ -1,35 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class VirtualNetworkConnectionGatewayReference(Model): - """A reference to VirtualNetworkGateway or LocalNetworkGateway resource. - - All required parameters must be populated in order to send to Azure. - - :param id: Required. The ID of VirtualNetworkGateway or - LocalNetworkGateway resource. - :type id: str - """ - - _validation = { - 'id': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VirtualNetworkConnectionGatewayReference, self).__init__(**kwargs) - self.id = kwargs.get('id', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_network_connection_gateway_reference_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_network_connection_gateway_reference_py3.py deleted file mode 100644 index b2d9734baf3..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_network_connection_gateway_reference_py3.py +++ /dev/null @@ -1,35 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class VirtualNetworkConnectionGatewayReference(Model): - """A reference to VirtualNetworkGateway or LocalNetworkGateway resource. - - All required parameters must be populated in order to send to Azure. - - :param id: Required. The ID of VirtualNetworkGateway or - LocalNetworkGateway resource. - :type id: str - """ - - _validation = { - 'id': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - } - - def __init__(self, *, id: str, **kwargs) -> None: - super(VirtualNetworkConnectionGatewayReference, self).__init__(**kwargs) - self.id = id diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_network_gateway.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_network_gateway.py deleted file mode 100644 index 6cfa77b7994..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_network_gateway.py +++ /dev/null @@ -1,114 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .resource import Resource - - -class VirtualNetworkGateway(Resource): - """A common class for general resource information. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param ip_configurations: IP configurations for virtual network gateway. - :type ip_configurations: - list[~azure.mgmt.network.v2018_08_01.models.VirtualNetworkGatewayIPConfiguration] - :param gateway_type: The type of this virtual network gateway. Possible - values are: 'Vpn' and 'ExpressRoute'. Possible values include: 'Vpn', - 'ExpressRoute' - :type gateway_type: str or - ~azure.mgmt.network.v2018_08_01.models.VirtualNetworkGatewayType - :param vpn_type: The type of this virtual network gateway. Possible values - are: 'PolicyBased' and 'RouteBased'. Possible values include: - 'PolicyBased', 'RouteBased' - :type vpn_type: str or ~azure.mgmt.network.v2018_08_01.models.VpnType - :param enable_bgp: Whether BGP is enabled for this virtual network gateway - or not. - :type enable_bgp: bool - :param active_active: ActiveActive flag - :type active_active: bool - :param gateway_default_site: The reference of the LocalNetworkGateway - resource which represents local network site having default routes. Assign - Null value in case of removing existing default site setting. - :type gateway_default_site: - ~azure.mgmt.network.v2018_08_01.models.SubResource - :param sku: The reference of the VirtualNetworkGatewaySku resource which - represents the SKU selected for Virtual network gateway. - :type sku: ~azure.mgmt.network.v2018_08_01.models.VirtualNetworkGatewaySku - :param vpn_client_configuration: The reference of the - VpnClientConfiguration resource which represents the P2S VpnClient - configurations. - :type vpn_client_configuration: - ~azure.mgmt.network.v2018_08_01.models.VpnClientConfiguration - :param bgp_settings: Virtual network gateway's BGP speaker settings. - :type bgp_settings: ~azure.mgmt.network.v2018_08_01.models.BgpSettings - :param resource_guid: The resource GUID property of the - VirtualNetworkGateway resource. - :type resource_guid: str - :ivar provisioning_state: The provisioning state of the - VirtualNetworkGateway resource. Possible values are: 'Updating', - 'Deleting', and 'Failed'. - :vartype provisioning_state: str - :param etag: Gets a unique read-only string that changes whenever the - resource is updated. - :type etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[VirtualNetworkGatewayIPConfiguration]'}, - 'gateway_type': {'key': 'properties.gatewayType', 'type': 'str'}, - 'vpn_type': {'key': 'properties.vpnType', 'type': 'str'}, - 'enable_bgp': {'key': 'properties.enableBgp', 'type': 'bool'}, - 'active_active': {'key': 'properties.activeActive', 'type': 'bool'}, - 'gateway_default_site': {'key': 'properties.gatewayDefaultSite', 'type': 'SubResource'}, - 'sku': {'key': 'properties.sku', 'type': 'VirtualNetworkGatewaySku'}, - 'vpn_client_configuration': {'key': 'properties.vpnClientConfiguration', 'type': 'VpnClientConfiguration'}, - 'bgp_settings': {'key': 'properties.bgpSettings', 'type': 'BgpSettings'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VirtualNetworkGateway, self).__init__(**kwargs) - self.ip_configurations = kwargs.get('ip_configurations', None) - self.gateway_type = kwargs.get('gateway_type', None) - self.vpn_type = kwargs.get('vpn_type', None) - self.enable_bgp = kwargs.get('enable_bgp', None) - self.active_active = kwargs.get('active_active', None) - self.gateway_default_site = kwargs.get('gateway_default_site', None) - self.sku = kwargs.get('sku', None) - self.vpn_client_configuration = kwargs.get('vpn_client_configuration', None) - self.bgp_settings = kwargs.get('bgp_settings', None) - self.resource_guid = kwargs.get('resource_guid', None) - self.provisioning_state = None - self.etag = kwargs.get('etag', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_network_gateway_connection.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_network_gateway_connection.py deleted file mode 100644 index 23978c600c0..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_network_gateway_connection.py +++ /dev/null @@ -1,163 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .resource import Resource - - -class VirtualNetworkGatewayConnection(Resource): - """A common class for general resource information. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param authorization_key: The authorizationKey. - :type authorization_key: str - :param virtual_network_gateway1: Required. The reference to virtual - network gateway resource. - :type virtual_network_gateway1: - ~azure.mgmt.network.v2018_08_01.models.VirtualNetworkGateway - :param virtual_network_gateway2: The reference to virtual network gateway - resource. - :type virtual_network_gateway2: - ~azure.mgmt.network.v2018_08_01.models.VirtualNetworkGateway - :param local_network_gateway2: The reference to local network gateway - resource. - :type local_network_gateway2: - ~azure.mgmt.network.v2018_08_01.models.LocalNetworkGateway - :param connection_type: Required. Gateway connection type. Possible values - are: 'Ipsec','Vnet2Vnet','ExpressRoute', and 'VPNClient. Possible values - include: 'IPsec', 'Vnet2Vnet', 'ExpressRoute', 'VPNClient' - :type connection_type: str or - ~azure.mgmt.network.v2018_08_01.models.VirtualNetworkGatewayConnectionType - :param connection_protocol: Connection protocol used for this connection. - Possible values include: 'IKEv2', 'IKEv1' - :type connection_protocol: str or - ~azure.mgmt.network.v2018_08_01.models.VirtualNetworkGatewayConnectionProtocol - :param routing_weight: The routing weight. - :type routing_weight: int - :param shared_key: The IPSec shared key. - :type shared_key: str - :ivar connection_status: Virtual network Gateway connection status. - Possible values are 'Unknown', 'Connecting', 'Connected' and - 'NotConnected'. Possible values include: 'Unknown', 'Connecting', - 'Connected', 'NotConnected' - :vartype connection_status: str or - ~azure.mgmt.network.v2018_08_01.models.VirtualNetworkGatewayConnectionStatus - :ivar tunnel_connection_status: Collection of all tunnels' connection - health status. - :vartype tunnel_connection_status: - list[~azure.mgmt.network.v2018_08_01.models.TunnelConnectionHealth] - :ivar egress_bytes_transferred: The egress bytes transferred in this - connection. - :vartype egress_bytes_transferred: long - :ivar ingress_bytes_transferred: The ingress bytes transferred in this - connection. - :vartype ingress_bytes_transferred: long - :param peer: The reference to peerings resource. - :type peer: ~azure.mgmt.network.v2018_08_01.models.SubResource - :param enable_bgp: EnableBgp flag - :type enable_bgp: bool - :param use_policy_based_traffic_selectors: Enable policy-based traffic - selectors. - :type use_policy_based_traffic_selectors: bool - :param ipsec_policies: The IPSec Policies to be considered by this - connection. - :type ipsec_policies: - list[~azure.mgmt.network.v2018_08_01.models.IpsecPolicy] - :param resource_guid: The resource GUID property of the - VirtualNetworkGatewayConnection resource. - :type resource_guid: str - :ivar provisioning_state: The provisioning state of the - VirtualNetworkGatewayConnection resource. Possible values are: 'Updating', - 'Deleting', and 'Failed'. - :vartype provisioning_state: str - :param express_route_gateway_bypass: Bypass ExpressRoute Gateway for data - forwarding - :type express_route_gateway_bypass: bool - :param etag: Gets a unique read-only string that changes whenever the - resource is updated. - :type etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'virtual_network_gateway1': {'required': True}, - 'connection_type': {'required': True}, - 'connection_status': {'readonly': True}, - 'tunnel_connection_status': {'readonly': True}, - 'egress_bytes_transferred': {'readonly': True}, - 'ingress_bytes_transferred': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'authorization_key': {'key': 'properties.authorizationKey', 'type': 'str'}, - 'virtual_network_gateway1': {'key': 'properties.virtualNetworkGateway1', 'type': 'VirtualNetworkGateway'}, - 'virtual_network_gateway2': {'key': 'properties.virtualNetworkGateway2', 'type': 'VirtualNetworkGateway'}, - 'local_network_gateway2': {'key': 'properties.localNetworkGateway2', 'type': 'LocalNetworkGateway'}, - 'connection_type': {'key': 'properties.connectionType', 'type': 'str'}, - 'connection_protocol': {'key': 'properties.connectionProtocol', 'type': 'str'}, - 'routing_weight': {'key': 'properties.routingWeight', 'type': 'int'}, - 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, - 'connection_status': {'key': 'properties.connectionStatus', 'type': 'str'}, - 'tunnel_connection_status': {'key': 'properties.tunnelConnectionStatus', 'type': '[TunnelConnectionHealth]'}, - 'egress_bytes_transferred': {'key': 'properties.egressBytesTransferred', 'type': 'long'}, - 'ingress_bytes_transferred': {'key': 'properties.ingressBytesTransferred', 'type': 'long'}, - 'peer': {'key': 'properties.peer', 'type': 'SubResource'}, - 'enable_bgp': {'key': 'properties.enableBgp', 'type': 'bool'}, - 'use_policy_based_traffic_selectors': {'key': 'properties.usePolicyBasedTrafficSelectors', 'type': 'bool'}, - 'ipsec_policies': {'key': 'properties.ipsecPolicies', 'type': '[IpsecPolicy]'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'express_route_gateway_bypass': {'key': 'properties.expressRouteGatewayBypass', 'type': 'bool'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VirtualNetworkGatewayConnection, self).__init__(**kwargs) - self.authorization_key = kwargs.get('authorization_key', None) - self.virtual_network_gateway1 = kwargs.get('virtual_network_gateway1', None) - self.virtual_network_gateway2 = kwargs.get('virtual_network_gateway2', None) - self.local_network_gateway2 = kwargs.get('local_network_gateway2', None) - self.connection_type = kwargs.get('connection_type', None) - self.connection_protocol = kwargs.get('connection_protocol', None) - self.routing_weight = kwargs.get('routing_weight', None) - self.shared_key = kwargs.get('shared_key', None) - self.connection_status = None - self.tunnel_connection_status = None - self.egress_bytes_transferred = None - self.ingress_bytes_transferred = None - self.peer = kwargs.get('peer', None) - self.enable_bgp = kwargs.get('enable_bgp', None) - self.use_policy_based_traffic_selectors = kwargs.get('use_policy_based_traffic_selectors', None) - self.ipsec_policies = kwargs.get('ipsec_policies', None) - self.resource_guid = kwargs.get('resource_guid', None) - self.provisioning_state = None - self.express_route_gateway_bypass = kwargs.get('express_route_gateway_bypass', None) - self.etag = kwargs.get('etag', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_network_gateway_connection_list_entity.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_network_gateway_connection_list_entity.py deleted file mode 100644 index 97a5f924d2d..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_network_gateway_connection_list_entity.py +++ /dev/null @@ -1,163 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .resource import Resource - - -class VirtualNetworkGatewayConnectionListEntity(Resource): - """A common class for general resource information. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param authorization_key: The authorizationKey. - :type authorization_key: str - :param virtual_network_gateway1: Required. The reference to virtual - network gateway resource. - :type virtual_network_gateway1: - ~azure.mgmt.network.v2018_08_01.models.VirtualNetworkConnectionGatewayReference - :param virtual_network_gateway2: The reference to virtual network gateway - resource. - :type virtual_network_gateway2: - ~azure.mgmt.network.v2018_08_01.models.VirtualNetworkConnectionGatewayReference - :param local_network_gateway2: The reference to local network gateway - resource. - :type local_network_gateway2: - ~azure.mgmt.network.v2018_08_01.models.VirtualNetworkConnectionGatewayReference - :param connection_type: Required. Gateway connection type. Possible values - are: 'Ipsec','Vnet2Vnet','ExpressRoute', and 'VPNClient. Possible values - include: 'IPsec', 'Vnet2Vnet', 'ExpressRoute', 'VPNClient' - :type connection_type: str or - ~azure.mgmt.network.v2018_08_01.models.VirtualNetworkGatewayConnectionType - :param connection_protocol: Connection protocol used for this connection. - Possible values include: 'IKEv2', 'IKEv1' - :type connection_protocol: str or - ~azure.mgmt.network.v2018_08_01.models.VirtualNetworkGatewayConnectionProtocol - :param routing_weight: The routing weight. - :type routing_weight: int - :param shared_key: The IPSec shared key. - :type shared_key: str - :ivar connection_status: Virtual network Gateway connection status. - Possible values are 'Unknown', 'Connecting', 'Connected' and - 'NotConnected'. Possible values include: 'Unknown', 'Connecting', - 'Connected', 'NotConnected' - :vartype connection_status: str or - ~azure.mgmt.network.v2018_08_01.models.VirtualNetworkGatewayConnectionStatus - :ivar tunnel_connection_status: Collection of all tunnels' connection - health status. - :vartype tunnel_connection_status: - list[~azure.mgmt.network.v2018_08_01.models.TunnelConnectionHealth] - :ivar egress_bytes_transferred: The egress bytes transferred in this - connection. - :vartype egress_bytes_transferred: long - :ivar ingress_bytes_transferred: The ingress bytes transferred in this - connection. - :vartype ingress_bytes_transferred: long - :param peer: The reference to peerings resource. - :type peer: ~azure.mgmt.network.v2018_08_01.models.SubResource - :param enable_bgp: EnableBgp flag - :type enable_bgp: bool - :param use_policy_based_traffic_selectors: Enable policy-based traffic - selectors. - :type use_policy_based_traffic_selectors: bool - :param ipsec_policies: The IPSec Policies to be considered by this - connection. - :type ipsec_policies: - list[~azure.mgmt.network.v2018_08_01.models.IpsecPolicy] - :param resource_guid: The resource GUID property of the - VirtualNetworkGatewayConnection resource. - :type resource_guid: str - :ivar provisioning_state: The provisioning state of the - VirtualNetworkGatewayConnection resource. Possible values are: 'Updating', - 'Deleting', and 'Failed'. - :vartype provisioning_state: str - :param express_route_gateway_bypass: Bypass ExpressRoute Gateway for data - forwarding - :type express_route_gateway_bypass: bool - :param etag: Gets a unique read-only string that changes whenever the - resource is updated. - :type etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'virtual_network_gateway1': {'required': True}, - 'connection_type': {'required': True}, - 'connection_status': {'readonly': True}, - 'tunnel_connection_status': {'readonly': True}, - 'egress_bytes_transferred': {'readonly': True}, - 'ingress_bytes_transferred': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'authorization_key': {'key': 'properties.authorizationKey', 'type': 'str'}, - 'virtual_network_gateway1': {'key': 'properties.virtualNetworkGateway1', 'type': 'VirtualNetworkConnectionGatewayReference'}, - 'virtual_network_gateway2': {'key': 'properties.virtualNetworkGateway2', 'type': 'VirtualNetworkConnectionGatewayReference'}, - 'local_network_gateway2': {'key': 'properties.localNetworkGateway2', 'type': 'VirtualNetworkConnectionGatewayReference'}, - 'connection_type': {'key': 'properties.connectionType', 'type': 'str'}, - 'connection_protocol': {'key': 'properties.connectionProtocol', 'type': 'str'}, - 'routing_weight': {'key': 'properties.routingWeight', 'type': 'int'}, - 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, - 'connection_status': {'key': 'properties.connectionStatus', 'type': 'str'}, - 'tunnel_connection_status': {'key': 'properties.tunnelConnectionStatus', 'type': '[TunnelConnectionHealth]'}, - 'egress_bytes_transferred': {'key': 'properties.egressBytesTransferred', 'type': 'long'}, - 'ingress_bytes_transferred': {'key': 'properties.ingressBytesTransferred', 'type': 'long'}, - 'peer': {'key': 'properties.peer', 'type': 'SubResource'}, - 'enable_bgp': {'key': 'properties.enableBgp', 'type': 'bool'}, - 'use_policy_based_traffic_selectors': {'key': 'properties.usePolicyBasedTrafficSelectors', 'type': 'bool'}, - 'ipsec_policies': {'key': 'properties.ipsecPolicies', 'type': '[IpsecPolicy]'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'express_route_gateway_bypass': {'key': 'properties.expressRouteGatewayBypass', 'type': 'bool'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VirtualNetworkGatewayConnectionListEntity, self).__init__(**kwargs) - self.authorization_key = kwargs.get('authorization_key', None) - self.virtual_network_gateway1 = kwargs.get('virtual_network_gateway1', None) - self.virtual_network_gateway2 = kwargs.get('virtual_network_gateway2', None) - self.local_network_gateway2 = kwargs.get('local_network_gateway2', None) - self.connection_type = kwargs.get('connection_type', None) - self.connection_protocol = kwargs.get('connection_protocol', None) - self.routing_weight = kwargs.get('routing_weight', None) - self.shared_key = kwargs.get('shared_key', None) - self.connection_status = None - self.tunnel_connection_status = None - self.egress_bytes_transferred = None - self.ingress_bytes_transferred = None - self.peer = kwargs.get('peer', None) - self.enable_bgp = kwargs.get('enable_bgp', None) - self.use_policy_based_traffic_selectors = kwargs.get('use_policy_based_traffic_selectors', None) - self.ipsec_policies = kwargs.get('ipsec_policies', None) - self.resource_guid = kwargs.get('resource_guid', None) - self.provisioning_state = None - self.express_route_gateway_bypass = kwargs.get('express_route_gateway_bypass', None) - self.etag = kwargs.get('etag', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_network_gateway_connection_list_entity_paged.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_network_gateway_connection_list_entity_paged.py deleted file mode 100644 index 299f8799d12..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_network_gateway_connection_list_entity_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.paging import Paged - - -class VirtualNetworkGatewayConnectionListEntityPaged(Paged): - """ - A paging container for iterating over a list of :class:`VirtualNetworkGatewayConnectionListEntity ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[VirtualNetworkGatewayConnectionListEntity]'} - } - - def __init__(self, *args, **kwargs): - - super(VirtualNetworkGatewayConnectionListEntityPaged, self).__init__(*args, **kwargs) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_network_gateway_connection_list_entity_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_network_gateway_connection_list_entity_py3.py deleted file mode 100644 index 248cdc63a1d..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_network_gateway_connection_list_entity_py3.py +++ /dev/null @@ -1,163 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .resource_py3 import Resource - - -class VirtualNetworkGatewayConnectionListEntity(Resource): - """A common class for general resource information. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param authorization_key: The authorizationKey. - :type authorization_key: str - :param virtual_network_gateway1: Required. The reference to virtual - network gateway resource. - :type virtual_network_gateway1: - ~azure.mgmt.network.v2018_08_01.models.VirtualNetworkConnectionGatewayReference - :param virtual_network_gateway2: The reference to virtual network gateway - resource. - :type virtual_network_gateway2: - ~azure.mgmt.network.v2018_08_01.models.VirtualNetworkConnectionGatewayReference - :param local_network_gateway2: The reference to local network gateway - resource. - :type local_network_gateway2: - ~azure.mgmt.network.v2018_08_01.models.VirtualNetworkConnectionGatewayReference - :param connection_type: Required. Gateway connection type. Possible values - are: 'Ipsec','Vnet2Vnet','ExpressRoute', and 'VPNClient. Possible values - include: 'IPsec', 'Vnet2Vnet', 'ExpressRoute', 'VPNClient' - :type connection_type: str or - ~azure.mgmt.network.v2018_08_01.models.VirtualNetworkGatewayConnectionType - :param connection_protocol: Connection protocol used for this connection. - Possible values include: 'IKEv2', 'IKEv1' - :type connection_protocol: str or - ~azure.mgmt.network.v2018_08_01.models.VirtualNetworkGatewayConnectionProtocol - :param routing_weight: The routing weight. - :type routing_weight: int - :param shared_key: The IPSec shared key. - :type shared_key: str - :ivar connection_status: Virtual network Gateway connection status. - Possible values are 'Unknown', 'Connecting', 'Connected' and - 'NotConnected'. Possible values include: 'Unknown', 'Connecting', - 'Connected', 'NotConnected' - :vartype connection_status: str or - ~azure.mgmt.network.v2018_08_01.models.VirtualNetworkGatewayConnectionStatus - :ivar tunnel_connection_status: Collection of all tunnels' connection - health status. - :vartype tunnel_connection_status: - list[~azure.mgmt.network.v2018_08_01.models.TunnelConnectionHealth] - :ivar egress_bytes_transferred: The egress bytes transferred in this - connection. - :vartype egress_bytes_transferred: long - :ivar ingress_bytes_transferred: The ingress bytes transferred in this - connection. - :vartype ingress_bytes_transferred: long - :param peer: The reference to peerings resource. - :type peer: ~azure.mgmt.network.v2018_08_01.models.SubResource - :param enable_bgp: EnableBgp flag - :type enable_bgp: bool - :param use_policy_based_traffic_selectors: Enable policy-based traffic - selectors. - :type use_policy_based_traffic_selectors: bool - :param ipsec_policies: The IPSec Policies to be considered by this - connection. - :type ipsec_policies: - list[~azure.mgmt.network.v2018_08_01.models.IpsecPolicy] - :param resource_guid: The resource GUID property of the - VirtualNetworkGatewayConnection resource. - :type resource_guid: str - :ivar provisioning_state: The provisioning state of the - VirtualNetworkGatewayConnection resource. Possible values are: 'Updating', - 'Deleting', and 'Failed'. - :vartype provisioning_state: str - :param express_route_gateway_bypass: Bypass ExpressRoute Gateway for data - forwarding - :type express_route_gateway_bypass: bool - :param etag: Gets a unique read-only string that changes whenever the - resource is updated. - :type etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'virtual_network_gateway1': {'required': True}, - 'connection_type': {'required': True}, - 'connection_status': {'readonly': True}, - 'tunnel_connection_status': {'readonly': True}, - 'egress_bytes_transferred': {'readonly': True}, - 'ingress_bytes_transferred': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'authorization_key': {'key': 'properties.authorizationKey', 'type': 'str'}, - 'virtual_network_gateway1': {'key': 'properties.virtualNetworkGateway1', 'type': 'VirtualNetworkConnectionGatewayReference'}, - 'virtual_network_gateway2': {'key': 'properties.virtualNetworkGateway2', 'type': 'VirtualNetworkConnectionGatewayReference'}, - 'local_network_gateway2': {'key': 'properties.localNetworkGateway2', 'type': 'VirtualNetworkConnectionGatewayReference'}, - 'connection_type': {'key': 'properties.connectionType', 'type': 'str'}, - 'connection_protocol': {'key': 'properties.connectionProtocol', 'type': 'str'}, - 'routing_weight': {'key': 'properties.routingWeight', 'type': 'int'}, - 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, - 'connection_status': {'key': 'properties.connectionStatus', 'type': 'str'}, - 'tunnel_connection_status': {'key': 'properties.tunnelConnectionStatus', 'type': '[TunnelConnectionHealth]'}, - 'egress_bytes_transferred': {'key': 'properties.egressBytesTransferred', 'type': 'long'}, - 'ingress_bytes_transferred': {'key': 'properties.ingressBytesTransferred', 'type': 'long'}, - 'peer': {'key': 'properties.peer', 'type': 'SubResource'}, - 'enable_bgp': {'key': 'properties.enableBgp', 'type': 'bool'}, - 'use_policy_based_traffic_selectors': {'key': 'properties.usePolicyBasedTrafficSelectors', 'type': 'bool'}, - 'ipsec_policies': {'key': 'properties.ipsecPolicies', 'type': '[IpsecPolicy]'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'express_route_gateway_bypass': {'key': 'properties.expressRouteGatewayBypass', 'type': 'bool'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, virtual_network_gateway1, connection_type, id: str=None, location: str=None, tags=None, authorization_key: str=None, virtual_network_gateway2=None, local_network_gateway2=None, connection_protocol=None, routing_weight: int=None, shared_key: str=None, peer=None, enable_bgp: bool=None, use_policy_based_traffic_selectors: bool=None, ipsec_policies=None, resource_guid: str=None, express_route_gateway_bypass: bool=None, etag: str=None, **kwargs) -> None: - super(VirtualNetworkGatewayConnectionListEntity, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.authorization_key = authorization_key - self.virtual_network_gateway1 = virtual_network_gateway1 - self.virtual_network_gateway2 = virtual_network_gateway2 - self.local_network_gateway2 = local_network_gateway2 - self.connection_type = connection_type - self.connection_protocol = connection_protocol - self.routing_weight = routing_weight - self.shared_key = shared_key - self.connection_status = None - self.tunnel_connection_status = None - self.egress_bytes_transferred = None - self.ingress_bytes_transferred = None - self.peer = peer - self.enable_bgp = enable_bgp - self.use_policy_based_traffic_selectors = use_policy_based_traffic_selectors - self.ipsec_policies = ipsec_policies - self.resource_guid = resource_guid - self.provisioning_state = None - self.express_route_gateway_bypass = express_route_gateway_bypass - self.etag = etag diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_network_gateway_connection_paged.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_network_gateway_connection_paged.py deleted file mode 100644 index 5233ae193c2..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_network_gateway_connection_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.paging import Paged - - -class VirtualNetworkGatewayConnectionPaged(Paged): - """ - A paging container for iterating over a list of :class:`VirtualNetworkGatewayConnection ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[VirtualNetworkGatewayConnection]'} - } - - def __init__(self, *args, **kwargs): - - super(VirtualNetworkGatewayConnectionPaged, self).__init__(*args, **kwargs) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_network_gateway_connection_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_network_gateway_connection_py3.py deleted file mode 100644 index f07637a1568..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_network_gateway_connection_py3.py +++ /dev/null @@ -1,163 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .resource_py3 import Resource - - -class VirtualNetworkGatewayConnection(Resource): - """A common class for general resource information. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param authorization_key: The authorizationKey. - :type authorization_key: str - :param virtual_network_gateway1: Required. The reference to virtual - network gateway resource. - :type virtual_network_gateway1: - ~azure.mgmt.network.v2018_08_01.models.VirtualNetworkGateway - :param virtual_network_gateway2: The reference to virtual network gateway - resource. - :type virtual_network_gateway2: - ~azure.mgmt.network.v2018_08_01.models.VirtualNetworkGateway - :param local_network_gateway2: The reference to local network gateway - resource. - :type local_network_gateway2: - ~azure.mgmt.network.v2018_08_01.models.LocalNetworkGateway - :param connection_type: Required. Gateway connection type. Possible values - are: 'Ipsec','Vnet2Vnet','ExpressRoute', and 'VPNClient. Possible values - include: 'IPsec', 'Vnet2Vnet', 'ExpressRoute', 'VPNClient' - :type connection_type: str or - ~azure.mgmt.network.v2018_08_01.models.VirtualNetworkGatewayConnectionType - :param connection_protocol: Connection protocol used for this connection. - Possible values include: 'IKEv2', 'IKEv1' - :type connection_protocol: str or - ~azure.mgmt.network.v2018_08_01.models.VirtualNetworkGatewayConnectionProtocol - :param routing_weight: The routing weight. - :type routing_weight: int - :param shared_key: The IPSec shared key. - :type shared_key: str - :ivar connection_status: Virtual network Gateway connection status. - Possible values are 'Unknown', 'Connecting', 'Connected' and - 'NotConnected'. Possible values include: 'Unknown', 'Connecting', - 'Connected', 'NotConnected' - :vartype connection_status: str or - ~azure.mgmt.network.v2018_08_01.models.VirtualNetworkGatewayConnectionStatus - :ivar tunnel_connection_status: Collection of all tunnels' connection - health status. - :vartype tunnel_connection_status: - list[~azure.mgmt.network.v2018_08_01.models.TunnelConnectionHealth] - :ivar egress_bytes_transferred: The egress bytes transferred in this - connection. - :vartype egress_bytes_transferred: long - :ivar ingress_bytes_transferred: The ingress bytes transferred in this - connection. - :vartype ingress_bytes_transferred: long - :param peer: The reference to peerings resource. - :type peer: ~azure.mgmt.network.v2018_08_01.models.SubResource - :param enable_bgp: EnableBgp flag - :type enable_bgp: bool - :param use_policy_based_traffic_selectors: Enable policy-based traffic - selectors. - :type use_policy_based_traffic_selectors: bool - :param ipsec_policies: The IPSec Policies to be considered by this - connection. - :type ipsec_policies: - list[~azure.mgmt.network.v2018_08_01.models.IpsecPolicy] - :param resource_guid: The resource GUID property of the - VirtualNetworkGatewayConnection resource. - :type resource_guid: str - :ivar provisioning_state: The provisioning state of the - VirtualNetworkGatewayConnection resource. Possible values are: 'Updating', - 'Deleting', and 'Failed'. - :vartype provisioning_state: str - :param express_route_gateway_bypass: Bypass ExpressRoute Gateway for data - forwarding - :type express_route_gateway_bypass: bool - :param etag: Gets a unique read-only string that changes whenever the - resource is updated. - :type etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'virtual_network_gateway1': {'required': True}, - 'connection_type': {'required': True}, - 'connection_status': {'readonly': True}, - 'tunnel_connection_status': {'readonly': True}, - 'egress_bytes_transferred': {'readonly': True}, - 'ingress_bytes_transferred': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'authorization_key': {'key': 'properties.authorizationKey', 'type': 'str'}, - 'virtual_network_gateway1': {'key': 'properties.virtualNetworkGateway1', 'type': 'VirtualNetworkGateway'}, - 'virtual_network_gateway2': {'key': 'properties.virtualNetworkGateway2', 'type': 'VirtualNetworkGateway'}, - 'local_network_gateway2': {'key': 'properties.localNetworkGateway2', 'type': 'LocalNetworkGateway'}, - 'connection_type': {'key': 'properties.connectionType', 'type': 'str'}, - 'connection_protocol': {'key': 'properties.connectionProtocol', 'type': 'str'}, - 'routing_weight': {'key': 'properties.routingWeight', 'type': 'int'}, - 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, - 'connection_status': {'key': 'properties.connectionStatus', 'type': 'str'}, - 'tunnel_connection_status': {'key': 'properties.tunnelConnectionStatus', 'type': '[TunnelConnectionHealth]'}, - 'egress_bytes_transferred': {'key': 'properties.egressBytesTransferred', 'type': 'long'}, - 'ingress_bytes_transferred': {'key': 'properties.ingressBytesTransferred', 'type': 'long'}, - 'peer': {'key': 'properties.peer', 'type': 'SubResource'}, - 'enable_bgp': {'key': 'properties.enableBgp', 'type': 'bool'}, - 'use_policy_based_traffic_selectors': {'key': 'properties.usePolicyBasedTrafficSelectors', 'type': 'bool'}, - 'ipsec_policies': {'key': 'properties.ipsecPolicies', 'type': '[IpsecPolicy]'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'express_route_gateway_bypass': {'key': 'properties.expressRouteGatewayBypass', 'type': 'bool'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, virtual_network_gateway1, connection_type, id: str=None, location: str=None, tags=None, authorization_key: str=None, virtual_network_gateway2=None, local_network_gateway2=None, connection_protocol=None, routing_weight: int=None, shared_key: str=None, peer=None, enable_bgp: bool=None, use_policy_based_traffic_selectors: bool=None, ipsec_policies=None, resource_guid: str=None, express_route_gateway_bypass: bool=None, etag: str=None, **kwargs) -> None: - super(VirtualNetworkGatewayConnection, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.authorization_key = authorization_key - self.virtual_network_gateway1 = virtual_network_gateway1 - self.virtual_network_gateway2 = virtual_network_gateway2 - self.local_network_gateway2 = local_network_gateway2 - self.connection_type = connection_type - self.connection_protocol = connection_protocol - self.routing_weight = routing_weight - self.shared_key = shared_key - self.connection_status = None - self.tunnel_connection_status = None - self.egress_bytes_transferred = None - self.ingress_bytes_transferred = None - self.peer = peer - self.enable_bgp = enable_bgp - self.use_policy_based_traffic_selectors = use_policy_based_traffic_selectors - self.ipsec_policies = ipsec_policies - self.resource_guid = resource_guid - self.provisioning_state = None - self.express_route_gateway_bypass = express_route_gateway_bypass - self.etag = etag diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_network_gateway_ip_configuration.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_network_gateway_ip_configuration.py deleted file mode 100644 index f1fbc98a7c1..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_network_gateway_ip_configuration.py +++ /dev/null @@ -1,65 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource import SubResource - - -class VirtualNetworkGatewayIPConfiguration(SubResource): - """IP configuration for virtual network gateway. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param private_ip_allocation_method: The private IP allocation method. - Possible values are: 'Static' and 'Dynamic'. Possible values include: - 'Static', 'Dynamic' - :type private_ip_allocation_method: str or - ~azure.mgmt.network.v2018_08_01.models.IPAllocationMethod - :param subnet: The reference of the subnet resource. - :type subnet: ~azure.mgmt.network.v2018_08_01.models.SubResource - :param public_ip_address: The reference of the public IP resource. - :type public_ip_address: - ~azure.mgmt.network.v2018_08_01.models.SubResource - :ivar provisioning_state: The provisioning state of the public IP - resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - :vartype provisioning_state: str - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, - 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, - 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'SubResource'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VirtualNetworkGatewayIPConfiguration, self).__init__(**kwargs) - self.private_ip_allocation_method = kwargs.get('private_ip_allocation_method', None) - self.subnet = kwargs.get('subnet', None) - self.public_ip_address = kwargs.get('public_ip_address', None) - self.provisioning_state = None - self.name = kwargs.get('name', None) - self.etag = kwargs.get('etag', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_network_gateway_ip_configuration_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_network_gateway_ip_configuration_py3.py deleted file mode 100644 index 3159f2f37e4..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_network_gateway_ip_configuration_py3.py +++ /dev/null @@ -1,65 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource_py3 import SubResource - - -class VirtualNetworkGatewayIPConfiguration(SubResource): - """IP configuration for virtual network gateway. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param private_ip_allocation_method: The private IP allocation method. - Possible values are: 'Static' and 'Dynamic'. Possible values include: - 'Static', 'Dynamic' - :type private_ip_allocation_method: str or - ~azure.mgmt.network.v2018_08_01.models.IPAllocationMethod - :param subnet: The reference of the subnet resource. - :type subnet: ~azure.mgmt.network.v2018_08_01.models.SubResource - :param public_ip_address: The reference of the public IP resource. - :type public_ip_address: - ~azure.mgmt.network.v2018_08_01.models.SubResource - :ivar provisioning_state: The provisioning state of the public IP - resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - :vartype provisioning_state: str - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, - 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, - 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'SubResource'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, private_ip_allocation_method=None, subnet=None, public_ip_address=None, name: str=None, etag: str=None, **kwargs) -> None: - super(VirtualNetworkGatewayIPConfiguration, self).__init__(id=id, **kwargs) - self.private_ip_allocation_method = private_ip_allocation_method - self.subnet = subnet - self.public_ip_address = public_ip_address - self.provisioning_state = None - self.name = name - self.etag = etag diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_network_gateway_paged.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_network_gateway_paged.py deleted file mode 100644 index a028be60dea..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_network_gateway_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.paging import Paged - - -class VirtualNetworkGatewayPaged(Paged): - """ - A paging container for iterating over a list of :class:`VirtualNetworkGateway ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[VirtualNetworkGateway]'} - } - - def __init__(self, *args, **kwargs): - - super(VirtualNetworkGatewayPaged, self).__init__(*args, **kwargs) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_network_gateway_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_network_gateway_py3.py deleted file mode 100644 index 43e26879533..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_network_gateway_py3.py +++ /dev/null @@ -1,114 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .resource_py3 import Resource - - -class VirtualNetworkGateway(Resource): - """A common class for general resource information. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param ip_configurations: IP configurations for virtual network gateway. - :type ip_configurations: - list[~azure.mgmt.network.v2018_08_01.models.VirtualNetworkGatewayIPConfiguration] - :param gateway_type: The type of this virtual network gateway. Possible - values are: 'Vpn' and 'ExpressRoute'. Possible values include: 'Vpn', - 'ExpressRoute' - :type gateway_type: str or - ~azure.mgmt.network.v2018_08_01.models.VirtualNetworkGatewayType - :param vpn_type: The type of this virtual network gateway. Possible values - are: 'PolicyBased' and 'RouteBased'. Possible values include: - 'PolicyBased', 'RouteBased' - :type vpn_type: str or ~azure.mgmt.network.v2018_08_01.models.VpnType - :param enable_bgp: Whether BGP is enabled for this virtual network gateway - or not. - :type enable_bgp: bool - :param active_active: ActiveActive flag - :type active_active: bool - :param gateway_default_site: The reference of the LocalNetworkGateway - resource which represents local network site having default routes. Assign - Null value in case of removing existing default site setting. - :type gateway_default_site: - ~azure.mgmt.network.v2018_08_01.models.SubResource - :param sku: The reference of the VirtualNetworkGatewaySku resource which - represents the SKU selected for Virtual network gateway. - :type sku: ~azure.mgmt.network.v2018_08_01.models.VirtualNetworkGatewaySku - :param vpn_client_configuration: The reference of the - VpnClientConfiguration resource which represents the P2S VpnClient - configurations. - :type vpn_client_configuration: - ~azure.mgmt.network.v2018_08_01.models.VpnClientConfiguration - :param bgp_settings: Virtual network gateway's BGP speaker settings. - :type bgp_settings: ~azure.mgmt.network.v2018_08_01.models.BgpSettings - :param resource_guid: The resource GUID property of the - VirtualNetworkGateway resource. - :type resource_guid: str - :ivar provisioning_state: The provisioning state of the - VirtualNetworkGateway resource. Possible values are: 'Updating', - 'Deleting', and 'Failed'. - :vartype provisioning_state: str - :param etag: Gets a unique read-only string that changes whenever the - resource is updated. - :type etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[VirtualNetworkGatewayIPConfiguration]'}, - 'gateway_type': {'key': 'properties.gatewayType', 'type': 'str'}, - 'vpn_type': {'key': 'properties.vpnType', 'type': 'str'}, - 'enable_bgp': {'key': 'properties.enableBgp', 'type': 'bool'}, - 'active_active': {'key': 'properties.activeActive', 'type': 'bool'}, - 'gateway_default_site': {'key': 'properties.gatewayDefaultSite', 'type': 'SubResource'}, - 'sku': {'key': 'properties.sku', 'type': 'VirtualNetworkGatewaySku'}, - 'vpn_client_configuration': {'key': 'properties.vpnClientConfiguration', 'type': 'VpnClientConfiguration'}, - 'bgp_settings': {'key': 'properties.bgpSettings', 'type': 'BgpSettings'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, ip_configurations=None, gateway_type=None, vpn_type=None, enable_bgp: bool=None, active_active: bool=None, gateway_default_site=None, sku=None, vpn_client_configuration=None, bgp_settings=None, resource_guid: str=None, etag: str=None, **kwargs) -> None: - super(VirtualNetworkGateway, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.ip_configurations = ip_configurations - self.gateway_type = gateway_type - self.vpn_type = vpn_type - self.enable_bgp = enable_bgp - self.active_active = active_active - self.gateway_default_site = gateway_default_site - self.sku = sku - self.vpn_client_configuration = vpn_client_configuration - self.bgp_settings = bgp_settings - self.resource_guid = resource_guid - self.provisioning_state = None - self.etag = etag diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_network_gateway_sku.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_network_gateway_sku.py deleted file mode 100644 index 7d4c5e9e145..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_network_gateway_sku.py +++ /dev/null @@ -1,44 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class VirtualNetworkGatewaySku(Model): - """VirtualNetworkGatewaySku details. - - :param name: Gateway SKU name. Possible values include: 'Basic', - 'HighPerformance', 'Standard', 'UltraPerformance', 'VpnGw1', 'VpnGw2', - 'VpnGw3', 'VpnGw1AZ', 'VpnGw2AZ', 'VpnGw3AZ', 'ErGw1AZ', 'ErGw2AZ', - 'ErGw3AZ' - :type name: str or - ~azure.mgmt.network.v2018_08_01.models.VirtualNetworkGatewaySkuName - :param tier: Gateway SKU tier. Possible values include: 'Basic', - 'HighPerformance', 'Standard', 'UltraPerformance', 'VpnGw1', 'VpnGw2', - 'VpnGw3', 'VpnGw1AZ', 'VpnGw2AZ', 'VpnGw3AZ', 'ErGw1AZ', 'ErGw2AZ', - 'ErGw3AZ' - :type tier: str or - ~azure.mgmt.network.v2018_08_01.models.VirtualNetworkGatewaySkuTier - :param capacity: The capacity. - :type capacity: int - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'tier': {'key': 'tier', 'type': 'str'}, - 'capacity': {'key': 'capacity', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(VirtualNetworkGatewaySku, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.tier = kwargs.get('tier', None) - self.capacity = kwargs.get('capacity', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_network_gateway_sku_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_network_gateway_sku_py3.py deleted file mode 100644 index 0150bfa65b9..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_network_gateway_sku_py3.py +++ /dev/null @@ -1,44 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class VirtualNetworkGatewaySku(Model): - """VirtualNetworkGatewaySku details. - - :param name: Gateway SKU name. Possible values include: 'Basic', - 'HighPerformance', 'Standard', 'UltraPerformance', 'VpnGw1', 'VpnGw2', - 'VpnGw3', 'VpnGw1AZ', 'VpnGw2AZ', 'VpnGw3AZ', 'ErGw1AZ', 'ErGw2AZ', - 'ErGw3AZ' - :type name: str or - ~azure.mgmt.network.v2018_08_01.models.VirtualNetworkGatewaySkuName - :param tier: Gateway SKU tier. Possible values include: 'Basic', - 'HighPerformance', 'Standard', 'UltraPerformance', 'VpnGw1', 'VpnGw2', - 'VpnGw3', 'VpnGw1AZ', 'VpnGw2AZ', 'VpnGw3AZ', 'ErGw1AZ', 'ErGw2AZ', - 'ErGw3AZ' - :type tier: str or - ~azure.mgmt.network.v2018_08_01.models.VirtualNetworkGatewaySkuTier - :param capacity: The capacity. - :type capacity: int - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'tier': {'key': 'tier', 'type': 'str'}, - 'capacity': {'key': 'capacity', 'type': 'int'}, - } - - def __init__(self, *, name=None, tier=None, capacity: int=None, **kwargs) -> None: - super(VirtualNetworkGatewaySku, self).__init__(**kwargs) - self.name = name - self.tier = tier - self.capacity = capacity diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_network_paged.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_network_paged.py deleted file mode 100644 index ad617cd55de..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_network_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.paging import Paged - - -class VirtualNetworkPaged(Paged): - """ - A paging container for iterating over a list of :class:`VirtualNetwork ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[VirtualNetwork]'} - } - - def __init__(self, *args, **kwargs): - - super(VirtualNetworkPaged, self).__init__(*args, **kwargs) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_network_peering.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_network_peering.py deleted file mode 100644 index 89e0b90aa23..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_network_peering.py +++ /dev/null @@ -1,86 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource import SubResource - - -class VirtualNetworkPeering(SubResource): - """Peerings in a virtual network resource. - - :param id: Resource ID. - :type id: str - :param allow_virtual_network_access: Whether the VMs in the linked virtual - network space would be able to access all the VMs in local Virtual network - space. - :type allow_virtual_network_access: bool - :param allow_forwarded_traffic: Whether the forwarded traffic from the VMs - in the remote virtual network will be allowed/disallowed. - :type allow_forwarded_traffic: bool - :param allow_gateway_transit: If gateway links can be used in remote - virtual networking to link to this virtual network. - :type allow_gateway_transit: bool - :param use_remote_gateways: If remote gateways can be used on this virtual - network. If the flag is set to true, and allowGatewayTransit on remote - peering is also true, virtual network will use gateways of remote virtual - network for transit. Only one peering can have this flag set to true. This - flag cannot be set if virtual network already has a gateway. - :type use_remote_gateways: bool - :param remote_virtual_network: The reference of the remote virtual - network. The remote virtual network can be in the same or different region - (preview). See here to register for the preview and learn more - (https://docs.microsoft.com/azure/virtual-network/virtual-network-create-peering). - :type remote_virtual_network: - ~azure.mgmt.network.v2018_08_01.models.SubResource - :param remote_address_space: The reference of the remote virtual network - address space. - :type remote_address_space: - ~azure.mgmt.network.v2018_08_01.models.AddressSpace - :param peering_state: The status of the virtual network peering. Possible - values are 'Initiated', 'Connected', and 'Disconnected'. Possible values - include: 'Initiated', 'Connected', 'Disconnected' - :type peering_state: str or - ~azure.mgmt.network.v2018_08_01.models.VirtualNetworkPeeringState - :param provisioning_state: The provisioning state of the resource. - :type provisioning_state: str - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'allow_virtual_network_access': {'key': 'properties.allowVirtualNetworkAccess', 'type': 'bool'}, - 'allow_forwarded_traffic': {'key': 'properties.allowForwardedTraffic', 'type': 'bool'}, - 'allow_gateway_transit': {'key': 'properties.allowGatewayTransit', 'type': 'bool'}, - 'use_remote_gateways': {'key': 'properties.useRemoteGateways', 'type': 'bool'}, - 'remote_virtual_network': {'key': 'properties.remoteVirtualNetwork', 'type': 'SubResource'}, - 'remote_address_space': {'key': 'properties.remoteAddressSpace', 'type': 'AddressSpace'}, - 'peering_state': {'key': 'properties.peeringState', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VirtualNetworkPeering, self).__init__(**kwargs) - self.allow_virtual_network_access = kwargs.get('allow_virtual_network_access', None) - self.allow_forwarded_traffic = kwargs.get('allow_forwarded_traffic', None) - self.allow_gateway_transit = kwargs.get('allow_gateway_transit', None) - self.use_remote_gateways = kwargs.get('use_remote_gateways', None) - self.remote_virtual_network = kwargs.get('remote_virtual_network', None) - self.remote_address_space = kwargs.get('remote_address_space', None) - self.peering_state = kwargs.get('peering_state', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.name = kwargs.get('name', None) - self.etag = kwargs.get('etag', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_network_peering_paged.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_network_peering_paged.py deleted file mode 100644 index b002f94a6ed..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_network_peering_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.paging import Paged - - -class VirtualNetworkPeeringPaged(Paged): - """ - A paging container for iterating over a list of :class:`VirtualNetworkPeering ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[VirtualNetworkPeering]'} - } - - def __init__(self, *args, **kwargs): - - super(VirtualNetworkPeeringPaged, self).__init__(*args, **kwargs) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_network_peering_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_network_peering_py3.py deleted file mode 100644 index b9e92b318e2..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_network_peering_py3.py +++ /dev/null @@ -1,86 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource_py3 import SubResource - - -class VirtualNetworkPeering(SubResource): - """Peerings in a virtual network resource. - - :param id: Resource ID. - :type id: str - :param allow_virtual_network_access: Whether the VMs in the linked virtual - network space would be able to access all the VMs in local Virtual network - space. - :type allow_virtual_network_access: bool - :param allow_forwarded_traffic: Whether the forwarded traffic from the VMs - in the remote virtual network will be allowed/disallowed. - :type allow_forwarded_traffic: bool - :param allow_gateway_transit: If gateway links can be used in remote - virtual networking to link to this virtual network. - :type allow_gateway_transit: bool - :param use_remote_gateways: If remote gateways can be used on this virtual - network. If the flag is set to true, and allowGatewayTransit on remote - peering is also true, virtual network will use gateways of remote virtual - network for transit. Only one peering can have this flag set to true. This - flag cannot be set if virtual network already has a gateway. - :type use_remote_gateways: bool - :param remote_virtual_network: The reference of the remote virtual - network. The remote virtual network can be in the same or different region - (preview). See here to register for the preview and learn more - (https://docs.microsoft.com/azure/virtual-network/virtual-network-create-peering). - :type remote_virtual_network: - ~azure.mgmt.network.v2018_08_01.models.SubResource - :param remote_address_space: The reference of the remote virtual network - address space. - :type remote_address_space: - ~azure.mgmt.network.v2018_08_01.models.AddressSpace - :param peering_state: The status of the virtual network peering. Possible - values are 'Initiated', 'Connected', and 'Disconnected'. Possible values - include: 'Initiated', 'Connected', 'Disconnected' - :type peering_state: str or - ~azure.mgmt.network.v2018_08_01.models.VirtualNetworkPeeringState - :param provisioning_state: The provisioning state of the resource. - :type provisioning_state: str - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'allow_virtual_network_access': {'key': 'properties.allowVirtualNetworkAccess', 'type': 'bool'}, - 'allow_forwarded_traffic': {'key': 'properties.allowForwardedTraffic', 'type': 'bool'}, - 'allow_gateway_transit': {'key': 'properties.allowGatewayTransit', 'type': 'bool'}, - 'use_remote_gateways': {'key': 'properties.useRemoteGateways', 'type': 'bool'}, - 'remote_virtual_network': {'key': 'properties.remoteVirtualNetwork', 'type': 'SubResource'}, - 'remote_address_space': {'key': 'properties.remoteAddressSpace', 'type': 'AddressSpace'}, - 'peering_state': {'key': 'properties.peeringState', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, allow_virtual_network_access: bool=None, allow_forwarded_traffic: bool=None, allow_gateway_transit: bool=None, use_remote_gateways: bool=None, remote_virtual_network=None, remote_address_space=None, peering_state=None, provisioning_state: str=None, name: str=None, etag: str=None, **kwargs) -> None: - super(VirtualNetworkPeering, self).__init__(id=id, **kwargs) - self.allow_virtual_network_access = allow_virtual_network_access - self.allow_forwarded_traffic = allow_forwarded_traffic - self.allow_gateway_transit = allow_gateway_transit - self.use_remote_gateways = use_remote_gateways - self.remote_virtual_network = remote_virtual_network - self.remote_address_space = remote_address_space - self.peering_state = peering_state - self.provisioning_state = provisioning_state - self.name = name - self.etag = etag diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_network_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_network_py3.py deleted file mode 100644 index 8e455fa58e6..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_network_py3.py +++ /dev/null @@ -1,98 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .resource_py3 import Resource - - -class VirtualNetwork(Resource): - """Virtual Network resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param address_space: The AddressSpace that contains an array of IP - address ranges that can be used by subnets. - :type address_space: ~azure.mgmt.network.v2018_08_01.models.AddressSpace - :param dhcp_options: The dhcpOptions that contains an array of DNS servers - available to VMs deployed in the virtual network. - :type dhcp_options: ~azure.mgmt.network.v2018_08_01.models.DhcpOptions - :param subnets: A list of subnets in a Virtual Network. - :type subnets: list[~azure.mgmt.network.v2018_08_01.models.Subnet] - :param virtual_network_peerings: A list of peerings in a Virtual Network. - :type virtual_network_peerings: - list[~azure.mgmt.network.v2018_08_01.models.VirtualNetworkPeering] - :param resource_guid: The resourceGuid property of the Virtual Network - resource. - :type resource_guid: str - :param provisioning_state: The provisioning state of the PublicIP - resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - :type provisioning_state: str - :param enable_ddos_protection: Indicates if DDoS protection is enabled for - all the protected resources in the virtual network. It requires a DDoS - protection plan associated with the resource. Default value: False . - :type enable_ddos_protection: bool - :param enable_vm_protection: Indicates if VM protection is enabled for all - the subnets in the virtual network. Default value: False . - :type enable_vm_protection: bool - :param ddos_protection_plan: The DDoS protection plan associated with the - virtual network. - :type ddos_protection_plan: - ~azure.mgmt.network.v2018_08_01.models.SubResource - :param etag: Gets a unique read-only string that changes whenever the - resource is updated. - :type etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'address_space': {'key': 'properties.addressSpace', 'type': 'AddressSpace'}, - 'dhcp_options': {'key': 'properties.dhcpOptions', 'type': 'DhcpOptions'}, - 'subnets': {'key': 'properties.subnets', 'type': '[Subnet]'}, - 'virtual_network_peerings': {'key': 'properties.virtualNetworkPeerings', 'type': '[VirtualNetworkPeering]'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'enable_ddos_protection': {'key': 'properties.enableDdosProtection', 'type': 'bool'}, - 'enable_vm_protection': {'key': 'properties.enableVmProtection', 'type': 'bool'}, - 'ddos_protection_plan': {'key': 'properties.ddosProtectionPlan', 'type': 'SubResource'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, address_space=None, dhcp_options=None, subnets=None, virtual_network_peerings=None, resource_guid: str=None, provisioning_state: str=None, enable_ddos_protection: bool=False, enable_vm_protection: bool=False, ddos_protection_plan=None, etag: str=None, **kwargs) -> None: - super(VirtualNetwork, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.address_space = address_space - self.dhcp_options = dhcp_options - self.subnets = subnets - self.virtual_network_peerings = virtual_network_peerings - self.resource_guid = resource_guid - self.provisioning_state = provisioning_state - self.enable_ddos_protection = enable_ddos_protection - self.enable_vm_protection = enable_vm_protection - self.ddos_protection_plan = ddos_protection_plan - self.etag = etag diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_network_tap.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_network_tap.py deleted file mode 100644 index 6f89b1a46ff..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_network_tap.py +++ /dev/null @@ -1,88 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .resource import Resource - - -class VirtualNetworkTap(Resource): - """Virtual Network Tap resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :ivar network_interface_tap_configurations: Specifies the list of resource - IDs for the network interface IP configuration that needs to be tapped. - :vartype network_interface_tap_configurations: - list[~azure.mgmt.network.v2018_08_01.models.NetworkInterfaceTapConfiguration] - :ivar resource_guid: The resourceGuid property of the virtual network tap. - :vartype resource_guid: str - :ivar provisioning_state: The provisioning state of the virtual network - tap. Possible values are: 'Updating', 'Deleting', and 'Failed'. - :vartype provisioning_state: str - :param destination_network_interface_ip_configuration: The reference to - the private IP Address of the collector nic that will receive the tap - :type destination_network_interface_ip_configuration: - ~azure.mgmt.network.v2018_08_01.models.NetworkInterfaceIPConfiguration - :param destination_load_balancer_front_end_ip_configuration: The reference - to the private IP address on the internal Load Balancer that will receive - the tap - :type destination_load_balancer_front_end_ip_configuration: - ~azure.mgmt.network.v2018_08_01.models.FrontendIPConfiguration - :param destination_port: The VXLAN destination port that will receive the - tapped traffic. - :type destination_port: int - :param etag: Gets a unique read-only string that changes whenever the - resource is updated. - :type etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'network_interface_tap_configurations': {'readonly': True}, - 'resource_guid': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'network_interface_tap_configurations': {'key': 'properties.networkInterfaceTapConfigurations', 'type': '[NetworkInterfaceTapConfiguration]'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'destination_network_interface_ip_configuration': {'key': 'properties.destinationNetworkInterfaceIPConfiguration', 'type': 'NetworkInterfaceIPConfiguration'}, - 'destination_load_balancer_front_end_ip_configuration': {'key': 'properties.destinationLoadBalancerFrontEndIPConfiguration', 'type': 'FrontendIPConfiguration'}, - 'destination_port': {'key': 'properties.destinationPort', 'type': 'int'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VirtualNetworkTap, self).__init__(**kwargs) - self.network_interface_tap_configurations = None - self.resource_guid = None - self.provisioning_state = None - self.destination_network_interface_ip_configuration = kwargs.get('destination_network_interface_ip_configuration', None) - self.destination_load_balancer_front_end_ip_configuration = kwargs.get('destination_load_balancer_front_end_ip_configuration', None) - self.destination_port = kwargs.get('destination_port', None) - self.etag = kwargs.get('etag', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_network_tap_paged.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_network_tap_paged.py deleted file mode 100644 index 3324c955872..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_network_tap_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.paging import Paged - - -class VirtualNetworkTapPaged(Paged): - """ - A paging container for iterating over a list of :class:`VirtualNetworkTap ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[VirtualNetworkTap]'} - } - - def __init__(self, *args, **kwargs): - - super(VirtualNetworkTapPaged, self).__init__(*args, **kwargs) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_network_tap_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_network_tap_py3.py deleted file mode 100644 index adf3e2a95f9..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_network_tap_py3.py +++ /dev/null @@ -1,88 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .resource_py3 import Resource - - -class VirtualNetworkTap(Resource): - """Virtual Network Tap resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :ivar network_interface_tap_configurations: Specifies the list of resource - IDs for the network interface IP configuration that needs to be tapped. - :vartype network_interface_tap_configurations: - list[~azure.mgmt.network.v2018_08_01.models.NetworkInterfaceTapConfiguration] - :ivar resource_guid: The resourceGuid property of the virtual network tap. - :vartype resource_guid: str - :ivar provisioning_state: The provisioning state of the virtual network - tap. Possible values are: 'Updating', 'Deleting', and 'Failed'. - :vartype provisioning_state: str - :param destination_network_interface_ip_configuration: The reference to - the private IP Address of the collector nic that will receive the tap - :type destination_network_interface_ip_configuration: - ~azure.mgmt.network.v2018_08_01.models.NetworkInterfaceIPConfiguration - :param destination_load_balancer_front_end_ip_configuration: The reference - to the private IP address on the internal Load Balancer that will receive - the tap - :type destination_load_balancer_front_end_ip_configuration: - ~azure.mgmt.network.v2018_08_01.models.FrontendIPConfiguration - :param destination_port: The VXLAN destination port that will receive the - tapped traffic. - :type destination_port: int - :param etag: Gets a unique read-only string that changes whenever the - resource is updated. - :type etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'network_interface_tap_configurations': {'readonly': True}, - 'resource_guid': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'network_interface_tap_configurations': {'key': 'properties.networkInterfaceTapConfigurations', 'type': '[NetworkInterfaceTapConfiguration]'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'destination_network_interface_ip_configuration': {'key': 'properties.destinationNetworkInterfaceIPConfiguration', 'type': 'NetworkInterfaceIPConfiguration'}, - 'destination_load_balancer_front_end_ip_configuration': {'key': 'properties.destinationLoadBalancerFrontEndIPConfiguration', 'type': 'FrontendIPConfiguration'}, - 'destination_port': {'key': 'properties.destinationPort', 'type': 'int'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, destination_network_interface_ip_configuration=None, destination_load_balancer_front_end_ip_configuration=None, destination_port: int=None, etag: str=None, **kwargs) -> None: - super(VirtualNetworkTap, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.network_interface_tap_configurations = None - self.resource_guid = None - self.provisioning_state = None - self.destination_network_interface_ip_configuration = destination_network_interface_ip_configuration - self.destination_load_balancer_front_end_ip_configuration = destination_load_balancer_front_end_ip_configuration - self.destination_port = destination_port - self.etag = etag diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_network_usage.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_network_usage.py deleted file mode 100644 index a22c247ab33..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_network_usage.py +++ /dev/null @@ -1,56 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class VirtualNetworkUsage(Model): - """Usage details for subnet. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar current_value: Indicates number of IPs used from the Subnet. - :vartype current_value: float - :ivar id: Subnet identifier. - :vartype id: str - :ivar limit: Indicates the size of the subnet. - :vartype limit: float - :ivar name: The name containing common and localized value for usage. - :vartype name: - ~azure.mgmt.network.v2018_08_01.models.VirtualNetworkUsageName - :ivar unit: Usage units. Returns 'Count' - :vartype unit: str - """ - - _validation = { - 'current_value': {'readonly': True}, - 'id': {'readonly': True}, - 'limit': {'readonly': True}, - 'name': {'readonly': True}, - 'unit': {'readonly': True}, - } - - _attribute_map = { - 'current_value': {'key': 'currentValue', 'type': 'float'}, - 'id': {'key': 'id', 'type': 'str'}, - 'limit': {'key': 'limit', 'type': 'float'}, - 'name': {'key': 'name', 'type': 'VirtualNetworkUsageName'}, - 'unit': {'key': 'unit', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VirtualNetworkUsage, self).__init__(**kwargs) - self.current_value = None - self.id = None - self.limit = None - self.name = None - self.unit = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_network_usage_name.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_network_usage_name.py deleted file mode 100644 index 607ccec3b96..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_network_usage_name.py +++ /dev/null @@ -1,40 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class VirtualNetworkUsageName(Model): - """Usage strings container. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar localized_value: Localized subnet size and usage string. - :vartype localized_value: str - :ivar value: Subnet size and usage string. - :vartype value: str - """ - - _validation = { - 'localized_value': {'readonly': True}, - 'value': {'readonly': True}, - } - - _attribute_map = { - 'localized_value': {'key': 'localizedValue', 'type': 'str'}, - 'value': {'key': 'value', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VirtualNetworkUsageName, self).__init__(**kwargs) - self.localized_value = None - self.value = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_network_usage_name_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_network_usage_name_py3.py deleted file mode 100644 index 1651ebda7e7..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_network_usage_name_py3.py +++ /dev/null @@ -1,40 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class VirtualNetworkUsageName(Model): - """Usage strings container. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar localized_value: Localized subnet size and usage string. - :vartype localized_value: str - :ivar value: Subnet size and usage string. - :vartype value: str - """ - - _validation = { - 'localized_value': {'readonly': True}, - 'value': {'readonly': True}, - } - - _attribute_map = { - 'localized_value': {'key': 'localizedValue', 'type': 'str'}, - 'value': {'key': 'value', 'type': 'str'}, - } - - def __init__(self, **kwargs) -> None: - super(VirtualNetworkUsageName, self).__init__(**kwargs) - self.localized_value = None - self.value = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_network_usage_paged.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_network_usage_paged.py deleted file mode 100644 index d4cc84bdd60..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_network_usage_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.paging import Paged - - -class VirtualNetworkUsagePaged(Paged): - """ - A paging container for iterating over a list of :class:`VirtualNetworkUsage ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[VirtualNetworkUsage]'} - } - - def __init__(self, *args, **kwargs): - - super(VirtualNetworkUsagePaged, self).__init__(*args, **kwargs) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_network_usage_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_network_usage_py3.py deleted file mode 100644 index 0475b0b9418..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_network_usage_py3.py +++ /dev/null @@ -1,56 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class VirtualNetworkUsage(Model): - """Usage details for subnet. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar current_value: Indicates number of IPs used from the Subnet. - :vartype current_value: float - :ivar id: Subnet identifier. - :vartype id: str - :ivar limit: Indicates the size of the subnet. - :vartype limit: float - :ivar name: The name containing common and localized value for usage. - :vartype name: - ~azure.mgmt.network.v2018_08_01.models.VirtualNetworkUsageName - :ivar unit: Usage units. Returns 'Count' - :vartype unit: str - """ - - _validation = { - 'current_value': {'readonly': True}, - 'id': {'readonly': True}, - 'limit': {'readonly': True}, - 'name': {'readonly': True}, - 'unit': {'readonly': True}, - } - - _attribute_map = { - 'current_value': {'key': 'currentValue', 'type': 'float'}, - 'id': {'key': 'id', 'type': 'str'}, - 'limit': {'key': 'limit', 'type': 'float'}, - 'name': {'key': 'name', 'type': 'VirtualNetworkUsageName'}, - 'unit': {'key': 'unit', 'type': 'str'}, - } - - def __init__(self, **kwargs) -> None: - super(VirtualNetworkUsage, self).__init__(**kwargs) - self.current_value = None - self.id = None - self.limit = None - self.name = None - self.unit = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_wan.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_wan.py deleted file mode 100644 index 536a0421456..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_wan.py +++ /dev/null @@ -1,102 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .resource import Resource - - -class VirtualWAN(Resource): - """VirtualWAN Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param disable_vpn_encryption: Vpn encryption to be disabled or not. - :type disable_vpn_encryption: bool - :ivar virtual_hubs: List of VirtualHubs in the VirtualWAN. - :vartype virtual_hubs: - list[~azure.mgmt.network.v2018_08_01.models.SubResource] - :ivar vpn_sites: - :vartype vpn_sites: - list[~azure.mgmt.network.v2018_08_01.models.SubResource] - :param security_provider_name: The Security Provider name. - :type security_provider_name: str - :param allow_branch_to_branch_traffic: True if branch to branch traffic is - allowed. - :type allow_branch_to_branch_traffic: bool - :param allow_vnet_to_vnet_traffic: True if Vnet to Vnet traffic is - allowed. - :type allow_vnet_to_vnet_traffic: bool - :param office365_local_breakout_category: The office local breakout - category. Possible values include: 'Optimize', 'OptimizeAndAllow', 'All', - 'None' - :type office365_local_breakout_category: str or - ~azure.mgmt.network.v2018_08_01.models.OfficeTrafficCategory - :param p2_svpn_server_configurations: list of all - P2SVpnServerConfigurations associated with the virtual wan. - :type p2_svpn_server_configurations: - list[~azure.mgmt.network.v2018_08_01.models.P2SVpnServerConfiguration] - :param provisioning_state: The provisioning state of the resource. - Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2018_08_01.models.ProvisioningState - :ivar etag: Gets a unique read-only string that changes whenever the - resource is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'virtual_hubs': {'readonly': True}, - 'vpn_sites': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'disable_vpn_encryption': {'key': 'properties.disableVpnEncryption', 'type': 'bool'}, - 'virtual_hubs': {'key': 'properties.virtualHubs', 'type': '[SubResource]'}, - 'vpn_sites': {'key': 'properties.vpnSites', 'type': '[SubResource]'}, - 'security_provider_name': {'key': 'properties.securityProviderName', 'type': 'str'}, - 'allow_branch_to_branch_traffic': {'key': 'properties.allowBranchToBranchTraffic', 'type': 'bool'}, - 'allow_vnet_to_vnet_traffic': {'key': 'properties.allowVnetToVnetTraffic', 'type': 'bool'}, - 'office365_local_breakout_category': {'key': 'properties.office365LocalBreakoutCategory', 'type': 'str'}, - 'p2_svpn_server_configurations': {'key': 'properties.p2SVpnServerConfigurations', 'type': '[P2SVpnServerConfiguration]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VirtualWAN, self).__init__(**kwargs) - self.disable_vpn_encryption = kwargs.get('disable_vpn_encryption', None) - self.virtual_hubs = None - self.vpn_sites = None - self.security_provider_name = kwargs.get('security_provider_name', None) - self.allow_branch_to_branch_traffic = kwargs.get('allow_branch_to_branch_traffic', None) - self.allow_vnet_to_vnet_traffic = kwargs.get('allow_vnet_to_vnet_traffic', None) - self.office365_local_breakout_category = kwargs.get('office365_local_breakout_category', None) - self.p2_svpn_server_configurations = kwargs.get('p2_svpn_server_configurations', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.etag = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_wan_paged.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_wan_paged.py deleted file mode 100644 index d617855ad69..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_wan_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.paging import Paged - - -class VirtualWANPaged(Paged): - """ - A paging container for iterating over a list of :class:`VirtualWAN ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[VirtualWAN]'} - } - - def __init__(self, *args, **kwargs): - - super(VirtualWANPaged, self).__init__(*args, **kwargs) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_wan_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_wan_py3.py deleted file mode 100644 index 41eb4b89c4c..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_wan_py3.py +++ /dev/null @@ -1,102 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .resource_py3 import Resource - - -class VirtualWAN(Resource): - """VirtualWAN Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param disable_vpn_encryption: Vpn encryption to be disabled or not. - :type disable_vpn_encryption: bool - :ivar virtual_hubs: List of VirtualHubs in the VirtualWAN. - :vartype virtual_hubs: - list[~azure.mgmt.network.v2018_08_01.models.SubResource] - :ivar vpn_sites: - :vartype vpn_sites: - list[~azure.mgmt.network.v2018_08_01.models.SubResource] - :param security_provider_name: The Security Provider name. - :type security_provider_name: str - :param allow_branch_to_branch_traffic: True if branch to branch traffic is - allowed. - :type allow_branch_to_branch_traffic: bool - :param allow_vnet_to_vnet_traffic: True if Vnet to Vnet traffic is - allowed. - :type allow_vnet_to_vnet_traffic: bool - :param office365_local_breakout_category: The office local breakout - category. Possible values include: 'Optimize', 'OptimizeAndAllow', 'All', - 'None' - :type office365_local_breakout_category: str or - ~azure.mgmt.network.v2018_08_01.models.OfficeTrafficCategory - :param p2_svpn_server_configurations: list of all - P2SVpnServerConfigurations associated with the virtual wan. - :type p2_svpn_server_configurations: - list[~azure.mgmt.network.v2018_08_01.models.P2SVpnServerConfiguration] - :param provisioning_state: The provisioning state of the resource. - Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2018_08_01.models.ProvisioningState - :ivar etag: Gets a unique read-only string that changes whenever the - resource is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'virtual_hubs': {'readonly': True}, - 'vpn_sites': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'disable_vpn_encryption': {'key': 'properties.disableVpnEncryption', 'type': 'bool'}, - 'virtual_hubs': {'key': 'properties.virtualHubs', 'type': '[SubResource]'}, - 'vpn_sites': {'key': 'properties.vpnSites', 'type': '[SubResource]'}, - 'security_provider_name': {'key': 'properties.securityProviderName', 'type': 'str'}, - 'allow_branch_to_branch_traffic': {'key': 'properties.allowBranchToBranchTraffic', 'type': 'bool'}, - 'allow_vnet_to_vnet_traffic': {'key': 'properties.allowVnetToVnetTraffic', 'type': 'bool'}, - 'office365_local_breakout_category': {'key': 'properties.office365LocalBreakoutCategory', 'type': 'str'}, - 'p2_svpn_server_configurations': {'key': 'properties.p2SVpnServerConfigurations', 'type': '[P2SVpnServerConfiguration]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, disable_vpn_encryption: bool=None, security_provider_name: str=None, allow_branch_to_branch_traffic: bool=None, allow_vnet_to_vnet_traffic: bool=None, office365_local_breakout_category=None, p2_svpn_server_configurations=None, provisioning_state=None, **kwargs) -> None: - super(VirtualWAN, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.disable_vpn_encryption = disable_vpn_encryption - self.virtual_hubs = None - self.vpn_sites = None - self.security_provider_name = security_provider_name - self.allow_branch_to_branch_traffic = allow_branch_to_branch_traffic - self.allow_vnet_to_vnet_traffic = allow_vnet_to_vnet_traffic - self.office365_local_breakout_category = office365_local_breakout_category - self.p2_svpn_server_configurations = p2_svpn_server_configurations - self.provisioning_state = provisioning_state - self.etag = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_wan_security_provider.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_wan_security_provider.py deleted file mode 100644 index d8173844247..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_wan_security_provider.py +++ /dev/null @@ -1,38 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class VirtualWanSecurityProvider(Model): - """Collection of SecurityProviders. - - :param name: Name of the security provider. - :type name: str - :param url: Url of the security provider. - :type url: str - :param type: Name of the security provider. Possible values include: - 'External', 'Native' - :type type: str or - ~azure.mgmt.network.v2018_08_01.models.VirtualWanSecurityProviderType - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'url': {'key': 'url', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VirtualWanSecurityProvider, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.url = kwargs.get('url', None) - self.type = kwargs.get('type', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_wan_security_provider_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_wan_security_provider_py3.py deleted file mode 100644 index 049088cd2f2..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_wan_security_provider_py3.py +++ /dev/null @@ -1,38 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class VirtualWanSecurityProvider(Model): - """Collection of SecurityProviders. - - :param name: Name of the security provider. - :type name: str - :param url: Url of the security provider. - :type url: str - :param type: Name of the security provider. Possible values include: - 'External', 'Native' - :type type: str or - ~azure.mgmt.network.v2018_08_01.models.VirtualWanSecurityProviderType - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'url': {'key': 'url', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, name: str=None, url: str=None, type=None, **kwargs) -> None: - super(VirtualWanSecurityProvider, self).__init__(**kwargs) - self.name = name - self.url = url - self.type = type diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_wan_security_providers.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_wan_security_providers.py deleted file mode 100644 index 706c93fce66..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_wan_security_providers.py +++ /dev/null @@ -1,29 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class VirtualWanSecurityProviders(Model): - """Collection of SecurityProviders. - - :param supported_providers: - :type supported_providers: - list[~azure.mgmt.network.v2018_08_01.models.VirtualWanSecurityProvider] - """ - - _attribute_map = { - 'supported_providers': {'key': 'supportedProviders', 'type': '[VirtualWanSecurityProvider]'}, - } - - def __init__(self, **kwargs): - super(VirtualWanSecurityProviders, self).__init__(**kwargs) - self.supported_providers = kwargs.get('supported_providers', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_wan_security_providers_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_wan_security_providers_py3.py deleted file mode 100644 index ea87fd73d97..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/virtual_wan_security_providers_py3.py +++ /dev/null @@ -1,29 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class VirtualWanSecurityProviders(Model): - """Collection of SecurityProviders. - - :param supported_providers: - :type supported_providers: - list[~azure.mgmt.network.v2018_08_01.models.VirtualWanSecurityProvider] - """ - - _attribute_map = { - 'supported_providers': {'key': 'supportedProviders', 'type': '[VirtualWanSecurityProvider]'}, - } - - def __init__(self, *, supported_providers=None, **kwargs) -> None: - super(VirtualWanSecurityProviders, self).__init__(**kwargs) - self.supported_providers = supported_providers diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/vpn_client_configuration.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/vpn_client_configuration.py deleted file mode 100644 index de6d9aeabb4..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/vpn_client_configuration.py +++ /dev/null @@ -1,64 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class VpnClientConfiguration(Model): - """VpnClientConfiguration for P2S client. - - :param vpn_client_address_pool: The reference of the address space - resource which represents Address space for P2S VpnClient. - :type vpn_client_address_pool: - ~azure.mgmt.network.v2018_08_01.models.AddressSpace - :param vpn_client_root_certificates: VpnClientRootCertificate for virtual - network gateway. - :type vpn_client_root_certificates: - list[~azure.mgmt.network.v2018_08_01.models.VpnClientRootCertificate] - :param vpn_client_revoked_certificates: VpnClientRevokedCertificate for - Virtual network gateway. - :type vpn_client_revoked_certificates: - list[~azure.mgmt.network.v2018_08_01.models.VpnClientRevokedCertificate] - :param vpn_client_protocols: VpnClientProtocols for Virtual network - gateway. - :type vpn_client_protocols: list[str or - ~azure.mgmt.network.v2018_08_01.models.VpnClientProtocol] - :param vpn_client_ipsec_policies: VpnClientIpsecPolicies for virtual - network gateway P2S client. - :type vpn_client_ipsec_policies: - list[~azure.mgmt.network.v2018_08_01.models.IpsecPolicy] - :param radius_server_address: The radius server address property of the - VirtualNetworkGateway resource for vpn client connection. - :type radius_server_address: str - :param radius_server_secret: The radius secret property of the - VirtualNetworkGateway resource for vpn client connection. - :type radius_server_secret: str - """ - - _attribute_map = { - 'vpn_client_address_pool': {'key': 'vpnClientAddressPool', 'type': 'AddressSpace'}, - 'vpn_client_root_certificates': {'key': 'vpnClientRootCertificates', 'type': '[VpnClientRootCertificate]'}, - 'vpn_client_revoked_certificates': {'key': 'vpnClientRevokedCertificates', 'type': '[VpnClientRevokedCertificate]'}, - 'vpn_client_protocols': {'key': 'vpnClientProtocols', 'type': '[str]'}, - 'vpn_client_ipsec_policies': {'key': 'vpnClientIpsecPolicies', 'type': '[IpsecPolicy]'}, - 'radius_server_address': {'key': 'radiusServerAddress', 'type': 'str'}, - 'radius_server_secret': {'key': 'radiusServerSecret', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VpnClientConfiguration, self).__init__(**kwargs) - self.vpn_client_address_pool = kwargs.get('vpn_client_address_pool', None) - self.vpn_client_root_certificates = kwargs.get('vpn_client_root_certificates', None) - self.vpn_client_revoked_certificates = kwargs.get('vpn_client_revoked_certificates', None) - self.vpn_client_protocols = kwargs.get('vpn_client_protocols', None) - self.vpn_client_ipsec_policies = kwargs.get('vpn_client_ipsec_policies', None) - self.radius_server_address = kwargs.get('radius_server_address', None) - self.radius_server_secret = kwargs.get('radius_server_secret', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/vpn_client_configuration_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/vpn_client_configuration_py3.py deleted file mode 100644 index 9a9a548960f..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/vpn_client_configuration_py3.py +++ /dev/null @@ -1,64 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class VpnClientConfiguration(Model): - """VpnClientConfiguration for P2S client. - - :param vpn_client_address_pool: The reference of the address space - resource which represents Address space for P2S VpnClient. - :type vpn_client_address_pool: - ~azure.mgmt.network.v2018_08_01.models.AddressSpace - :param vpn_client_root_certificates: VpnClientRootCertificate for virtual - network gateway. - :type vpn_client_root_certificates: - list[~azure.mgmt.network.v2018_08_01.models.VpnClientRootCertificate] - :param vpn_client_revoked_certificates: VpnClientRevokedCertificate for - Virtual network gateway. - :type vpn_client_revoked_certificates: - list[~azure.mgmt.network.v2018_08_01.models.VpnClientRevokedCertificate] - :param vpn_client_protocols: VpnClientProtocols for Virtual network - gateway. - :type vpn_client_protocols: list[str or - ~azure.mgmt.network.v2018_08_01.models.VpnClientProtocol] - :param vpn_client_ipsec_policies: VpnClientIpsecPolicies for virtual - network gateway P2S client. - :type vpn_client_ipsec_policies: - list[~azure.mgmt.network.v2018_08_01.models.IpsecPolicy] - :param radius_server_address: The radius server address property of the - VirtualNetworkGateway resource for vpn client connection. - :type radius_server_address: str - :param radius_server_secret: The radius secret property of the - VirtualNetworkGateway resource for vpn client connection. - :type radius_server_secret: str - """ - - _attribute_map = { - 'vpn_client_address_pool': {'key': 'vpnClientAddressPool', 'type': 'AddressSpace'}, - 'vpn_client_root_certificates': {'key': 'vpnClientRootCertificates', 'type': '[VpnClientRootCertificate]'}, - 'vpn_client_revoked_certificates': {'key': 'vpnClientRevokedCertificates', 'type': '[VpnClientRevokedCertificate]'}, - 'vpn_client_protocols': {'key': 'vpnClientProtocols', 'type': '[str]'}, - 'vpn_client_ipsec_policies': {'key': 'vpnClientIpsecPolicies', 'type': '[IpsecPolicy]'}, - 'radius_server_address': {'key': 'radiusServerAddress', 'type': 'str'}, - 'radius_server_secret': {'key': 'radiusServerSecret', 'type': 'str'}, - } - - def __init__(self, *, vpn_client_address_pool=None, vpn_client_root_certificates=None, vpn_client_revoked_certificates=None, vpn_client_protocols=None, vpn_client_ipsec_policies=None, radius_server_address: str=None, radius_server_secret: str=None, **kwargs) -> None: - super(VpnClientConfiguration, self).__init__(**kwargs) - self.vpn_client_address_pool = vpn_client_address_pool - self.vpn_client_root_certificates = vpn_client_root_certificates - self.vpn_client_revoked_certificates = vpn_client_revoked_certificates - self.vpn_client_protocols = vpn_client_protocols - self.vpn_client_ipsec_policies = vpn_client_ipsec_policies - self.radius_server_address = radius_server_address - self.radius_server_secret = radius_server_secret diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/vpn_client_connection_health.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/vpn_client_connection_health.py deleted file mode 100644 index ae4271c388f..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/vpn_client_connection_health.py +++ /dev/null @@ -1,52 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class VpnClientConnectionHealth(Model): - """VpnClientConnectionHealth properties. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar total_ingress_bytes_transferred: Total of the Ingress Bytes - Transferred in this P2S Vpn connection - :vartype total_ingress_bytes_transferred: long - :ivar total_egress_bytes_transferred: Total of the Egress Bytes - Transferred in this connection - :vartype total_egress_bytes_transferred: long - :param vpn_client_connections_count: The total of p2s vpn clients - connected at this time to this P2SVpnGateway. - :type vpn_client_connections_count: int - :param allocated_ip_addresses: List of allocated ip addresses to the - connected p2s vpn clients. - :type allocated_ip_addresses: list[str] - """ - - _validation = { - 'total_ingress_bytes_transferred': {'readonly': True}, - 'total_egress_bytes_transferred': {'readonly': True}, - } - - _attribute_map = { - 'total_ingress_bytes_transferred': {'key': 'totalIngressBytesTransferred', 'type': 'long'}, - 'total_egress_bytes_transferred': {'key': 'totalEgressBytesTransferred', 'type': 'long'}, - 'vpn_client_connections_count': {'key': 'vpnClientConnectionsCount', 'type': 'int'}, - 'allocated_ip_addresses': {'key': 'allocatedIpAddresses', 'type': '[str]'}, - } - - def __init__(self, **kwargs): - super(VpnClientConnectionHealth, self).__init__(**kwargs) - self.total_ingress_bytes_transferred = None - self.total_egress_bytes_transferred = None - self.vpn_client_connections_count = kwargs.get('vpn_client_connections_count', None) - self.allocated_ip_addresses = kwargs.get('allocated_ip_addresses', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/vpn_client_connection_health_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/vpn_client_connection_health_py3.py deleted file mode 100644 index 13a73f38380..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/vpn_client_connection_health_py3.py +++ /dev/null @@ -1,52 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class VpnClientConnectionHealth(Model): - """VpnClientConnectionHealth properties. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar total_ingress_bytes_transferred: Total of the Ingress Bytes - Transferred in this P2S Vpn connection - :vartype total_ingress_bytes_transferred: long - :ivar total_egress_bytes_transferred: Total of the Egress Bytes - Transferred in this connection - :vartype total_egress_bytes_transferred: long - :param vpn_client_connections_count: The total of p2s vpn clients - connected at this time to this P2SVpnGateway. - :type vpn_client_connections_count: int - :param allocated_ip_addresses: List of allocated ip addresses to the - connected p2s vpn clients. - :type allocated_ip_addresses: list[str] - """ - - _validation = { - 'total_ingress_bytes_transferred': {'readonly': True}, - 'total_egress_bytes_transferred': {'readonly': True}, - } - - _attribute_map = { - 'total_ingress_bytes_transferred': {'key': 'totalIngressBytesTransferred', 'type': 'long'}, - 'total_egress_bytes_transferred': {'key': 'totalEgressBytesTransferred', 'type': 'long'}, - 'vpn_client_connections_count': {'key': 'vpnClientConnectionsCount', 'type': 'int'}, - 'allocated_ip_addresses': {'key': 'allocatedIpAddresses', 'type': '[str]'}, - } - - def __init__(self, *, vpn_client_connections_count: int=None, allocated_ip_addresses=None, **kwargs) -> None: - super(VpnClientConnectionHealth, self).__init__(**kwargs) - self.total_ingress_bytes_transferred = None - self.total_egress_bytes_transferred = None - self.vpn_client_connections_count = vpn_client_connections_count - self.allocated_ip_addresses = allocated_ip_addresses diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/vpn_client_ipsec_parameters.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/vpn_client_ipsec_parameters.py deleted file mode 100644 index 593e2057823..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/vpn_client_ipsec_parameters.py +++ /dev/null @@ -1,87 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class VpnClientIPsecParameters(Model): - """An IPSec parameters for a virtual network gateway P2S connection. - - All required parameters must be populated in order to send to Azure. - - :param sa_life_time_seconds: Required. The IPSec Security Association - (also called Quick Mode or Phase 2 SA) lifetime in seconds for P2S client. - :type sa_life_time_seconds: int - :param sa_data_size_kilobytes: Required. The IPSec Security Association - (also called Quick Mode or Phase 2 SA) payload size in KB for P2S client.. - :type sa_data_size_kilobytes: int - :param ipsec_encryption: Required. The IPSec encryption algorithm (IKE - phase 1). Possible values include: 'None', 'DES', 'DES3', 'AES128', - 'AES192', 'AES256', 'GCMAES128', 'GCMAES192', 'GCMAES256' - :type ipsec_encryption: str or - ~azure.mgmt.network.v2018_08_01.models.IpsecEncryption - :param ipsec_integrity: Required. The IPSec integrity algorithm (IKE phase - 1). Possible values include: 'MD5', 'SHA1', 'SHA256', 'GCMAES128', - 'GCMAES192', 'GCMAES256' - :type ipsec_integrity: str or - ~azure.mgmt.network.v2018_08_01.models.IpsecIntegrity - :param ike_encryption: Required. The IKE encryption algorithm (IKE phase - 2). Possible values include: 'DES', 'DES3', 'AES128', 'AES192', 'AES256', - 'GCMAES256', 'GCMAES128' - :type ike_encryption: str or - ~azure.mgmt.network.v2018_08_01.models.IkeEncryption - :param ike_integrity: Required. The IKE integrity algorithm (IKE phase 2). - Possible values include: 'MD5', 'SHA1', 'SHA256', 'SHA384', 'GCMAES256', - 'GCMAES128' - :type ike_integrity: str or - ~azure.mgmt.network.v2018_08_01.models.IkeIntegrity - :param dh_group: Required. The DH Groups used in IKE Phase 1 for initial - SA. Possible values include: 'None', 'DHGroup1', 'DHGroup2', 'DHGroup14', - 'DHGroup2048', 'ECP256', 'ECP384', 'DHGroup24' - :type dh_group: str or ~azure.mgmt.network.v2018_08_01.models.DhGroup - :param pfs_group: Required. The Pfs Groups used in IKE Phase 2 for new - child SA. Possible values include: 'None', 'PFS1', 'PFS2', 'PFS2048', - 'ECP256', 'ECP384', 'PFS24', 'PFS14', 'PFSMM' - :type pfs_group: str or ~azure.mgmt.network.v2018_08_01.models.PfsGroup - """ - - _validation = { - 'sa_life_time_seconds': {'required': True}, - 'sa_data_size_kilobytes': {'required': True}, - 'ipsec_encryption': {'required': True}, - 'ipsec_integrity': {'required': True}, - 'ike_encryption': {'required': True}, - 'ike_integrity': {'required': True}, - 'dh_group': {'required': True}, - 'pfs_group': {'required': True}, - } - - _attribute_map = { - 'sa_life_time_seconds': {'key': 'saLifeTimeSeconds', 'type': 'int'}, - 'sa_data_size_kilobytes': {'key': 'saDataSizeKilobytes', 'type': 'int'}, - 'ipsec_encryption': {'key': 'ipsecEncryption', 'type': 'str'}, - 'ipsec_integrity': {'key': 'ipsecIntegrity', 'type': 'str'}, - 'ike_encryption': {'key': 'ikeEncryption', 'type': 'str'}, - 'ike_integrity': {'key': 'ikeIntegrity', 'type': 'str'}, - 'dh_group': {'key': 'dhGroup', 'type': 'str'}, - 'pfs_group': {'key': 'pfsGroup', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VpnClientIPsecParameters, self).__init__(**kwargs) - self.sa_life_time_seconds = kwargs.get('sa_life_time_seconds', None) - self.sa_data_size_kilobytes = kwargs.get('sa_data_size_kilobytes', None) - self.ipsec_encryption = kwargs.get('ipsec_encryption', None) - self.ipsec_integrity = kwargs.get('ipsec_integrity', None) - self.ike_encryption = kwargs.get('ike_encryption', None) - self.ike_integrity = kwargs.get('ike_integrity', None) - self.dh_group = kwargs.get('dh_group', None) - self.pfs_group = kwargs.get('pfs_group', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/vpn_client_ipsec_parameters_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/vpn_client_ipsec_parameters_py3.py deleted file mode 100644 index 8ebada3c77f..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/vpn_client_ipsec_parameters_py3.py +++ /dev/null @@ -1,87 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class VpnClientIPsecParameters(Model): - """An IPSec parameters for a virtual network gateway P2S connection. - - All required parameters must be populated in order to send to Azure. - - :param sa_life_time_seconds: Required. The IPSec Security Association - (also called Quick Mode or Phase 2 SA) lifetime in seconds for P2S client. - :type sa_life_time_seconds: int - :param sa_data_size_kilobytes: Required. The IPSec Security Association - (also called Quick Mode or Phase 2 SA) payload size in KB for P2S client.. - :type sa_data_size_kilobytes: int - :param ipsec_encryption: Required. The IPSec encryption algorithm (IKE - phase 1). Possible values include: 'None', 'DES', 'DES3', 'AES128', - 'AES192', 'AES256', 'GCMAES128', 'GCMAES192', 'GCMAES256' - :type ipsec_encryption: str or - ~azure.mgmt.network.v2018_08_01.models.IpsecEncryption - :param ipsec_integrity: Required. The IPSec integrity algorithm (IKE phase - 1). Possible values include: 'MD5', 'SHA1', 'SHA256', 'GCMAES128', - 'GCMAES192', 'GCMAES256' - :type ipsec_integrity: str or - ~azure.mgmt.network.v2018_08_01.models.IpsecIntegrity - :param ike_encryption: Required. The IKE encryption algorithm (IKE phase - 2). Possible values include: 'DES', 'DES3', 'AES128', 'AES192', 'AES256', - 'GCMAES256', 'GCMAES128' - :type ike_encryption: str or - ~azure.mgmt.network.v2018_08_01.models.IkeEncryption - :param ike_integrity: Required. The IKE integrity algorithm (IKE phase 2). - Possible values include: 'MD5', 'SHA1', 'SHA256', 'SHA384', 'GCMAES256', - 'GCMAES128' - :type ike_integrity: str or - ~azure.mgmt.network.v2018_08_01.models.IkeIntegrity - :param dh_group: Required. The DH Groups used in IKE Phase 1 for initial - SA. Possible values include: 'None', 'DHGroup1', 'DHGroup2', 'DHGroup14', - 'DHGroup2048', 'ECP256', 'ECP384', 'DHGroup24' - :type dh_group: str or ~azure.mgmt.network.v2018_08_01.models.DhGroup - :param pfs_group: Required. The Pfs Groups used in IKE Phase 2 for new - child SA. Possible values include: 'None', 'PFS1', 'PFS2', 'PFS2048', - 'ECP256', 'ECP384', 'PFS24', 'PFS14', 'PFSMM' - :type pfs_group: str or ~azure.mgmt.network.v2018_08_01.models.PfsGroup - """ - - _validation = { - 'sa_life_time_seconds': {'required': True}, - 'sa_data_size_kilobytes': {'required': True}, - 'ipsec_encryption': {'required': True}, - 'ipsec_integrity': {'required': True}, - 'ike_encryption': {'required': True}, - 'ike_integrity': {'required': True}, - 'dh_group': {'required': True}, - 'pfs_group': {'required': True}, - } - - _attribute_map = { - 'sa_life_time_seconds': {'key': 'saLifeTimeSeconds', 'type': 'int'}, - 'sa_data_size_kilobytes': {'key': 'saDataSizeKilobytes', 'type': 'int'}, - 'ipsec_encryption': {'key': 'ipsecEncryption', 'type': 'str'}, - 'ipsec_integrity': {'key': 'ipsecIntegrity', 'type': 'str'}, - 'ike_encryption': {'key': 'ikeEncryption', 'type': 'str'}, - 'ike_integrity': {'key': 'ikeIntegrity', 'type': 'str'}, - 'dh_group': {'key': 'dhGroup', 'type': 'str'}, - 'pfs_group': {'key': 'pfsGroup', 'type': 'str'}, - } - - def __init__(self, *, sa_life_time_seconds: int, sa_data_size_kilobytes: int, ipsec_encryption, ipsec_integrity, ike_encryption, ike_integrity, dh_group, pfs_group, **kwargs) -> None: - super(VpnClientIPsecParameters, self).__init__(**kwargs) - self.sa_life_time_seconds = sa_life_time_seconds - self.sa_data_size_kilobytes = sa_data_size_kilobytes - self.ipsec_encryption = ipsec_encryption - self.ipsec_integrity = ipsec_integrity - self.ike_encryption = ike_encryption - self.ike_integrity = ike_integrity - self.dh_group = dh_group - self.pfs_group = pfs_group diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/vpn_client_parameters.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/vpn_client_parameters.py deleted file mode 100644 index 323a68106e3..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/vpn_client_parameters.py +++ /dev/null @@ -1,50 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class VpnClientParameters(Model): - """Vpn Client Parameters for package generation. - - :param processor_architecture: VPN client Processor Architecture. Possible - values are: 'AMD64' and 'X86'. Possible values include: 'Amd64', 'X86' - :type processor_architecture: str or - ~azure.mgmt.network.v2018_08_01.models.ProcessorArchitecture - :param authentication_method: VPN client Authentication Method. Possible - values are: 'EAPTLS' and 'EAPMSCHAPv2'. Possible values include: 'EAPTLS', - 'EAPMSCHAPv2' - :type authentication_method: str or - ~azure.mgmt.network.v2018_08_01.models.AuthenticationMethod - :param radius_server_auth_certificate: The public certificate data for the - radius server authentication certificate as a Base-64 encoded string. - Required only if external radius authentication has been configured with - EAPTLS authentication. - :type radius_server_auth_certificate: str - :param client_root_certificates: A list of client root certificates public - certificate data encoded as Base-64 strings. Optional parameter for - external radius based authentication with EAPTLS. - :type client_root_certificates: list[str] - """ - - _attribute_map = { - 'processor_architecture': {'key': 'processorArchitecture', 'type': 'str'}, - 'authentication_method': {'key': 'authenticationMethod', 'type': 'str'}, - 'radius_server_auth_certificate': {'key': 'radiusServerAuthCertificate', 'type': 'str'}, - 'client_root_certificates': {'key': 'clientRootCertificates', 'type': '[str]'}, - } - - def __init__(self, **kwargs): - super(VpnClientParameters, self).__init__(**kwargs) - self.processor_architecture = kwargs.get('processor_architecture', None) - self.authentication_method = kwargs.get('authentication_method', None) - self.radius_server_auth_certificate = kwargs.get('radius_server_auth_certificate', None) - self.client_root_certificates = kwargs.get('client_root_certificates', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/vpn_client_parameters_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/vpn_client_parameters_py3.py deleted file mode 100644 index 951691f8c59..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/vpn_client_parameters_py3.py +++ /dev/null @@ -1,50 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class VpnClientParameters(Model): - """Vpn Client Parameters for package generation. - - :param processor_architecture: VPN client Processor Architecture. Possible - values are: 'AMD64' and 'X86'. Possible values include: 'Amd64', 'X86' - :type processor_architecture: str or - ~azure.mgmt.network.v2018_08_01.models.ProcessorArchitecture - :param authentication_method: VPN client Authentication Method. Possible - values are: 'EAPTLS' and 'EAPMSCHAPv2'. Possible values include: 'EAPTLS', - 'EAPMSCHAPv2' - :type authentication_method: str or - ~azure.mgmt.network.v2018_08_01.models.AuthenticationMethod - :param radius_server_auth_certificate: The public certificate data for the - radius server authentication certificate as a Base-64 encoded string. - Required only if external radius authentication has been configured with - EAPTLS authentication. - :type radius_server_auth_certificate: str - :param client_root_certificates: A list of client root certificates public - certificate data encoded as Base-64 strings. Optional parameter for - external radius based authentication with EAPTLS. - :type client_root_certificates: list[str] - """ - - _attribute_map = { - 'processor_architecture': {'key': 'processorArchitecture', 'type': 'str'}, - 'authentication_method': {'key': 'authenticationMethod', 'type': 'str'}, - 'radius_server_auth_certificate': {'key': 'radiusServerAuthCertificate', 'type': 'str'}, - 'client_root_certificates': {'key': 'clientRootCertificates', 'type': '[str]'}, - } - - def __init__(self, *, processor_architecture=None, authentication_method=None, radius_server_auth_certificate: str=None, client_root_certificates=None, **kwargs) -> None: - super(VpnClientParameters, self).__init__(**kwargs) - self.processor_architecture = processor_architecture - self.authentication_method = authentication_method - self.radius_server_auth_certificate = radius_server_auth_certificate - self.client_root_certificates = client_root_certificates diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/vpn_client_revoked_certificate.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/vpn_client_revoked_certificate.py deleted file mode 100644 index 1fa6f6a1ef2..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/vpn_client_revoked_certificate.py +++ /dev/null @@ -1,54 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource import SubResource - - -class VpnClientRevokedCertificate(SubResource): - """VPN client revoked certificate of virtual network gateway. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param thumbprint: The revoked VPN client certificate thumbprint. - :type thumbprint: str - :ivar provisioning_state: The provisioning state of the VPN client revoked - certificate resource. Possible values are: 'Updating', 'Deleting', and - 'Failed'. - :vartype provisioning_state: str - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'thumbprint': {'key': 'properties.thumbprint', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VpnClientRevokedCertificate, self).__init__(**kwargs) - self.thumbprint = kwargs.get('thumbprint', None) - self.provisioning_state = None - self.name = kwargs.get('name', None) - self.etag = kwargs.get('etag', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/vpn_client_revoked_certificate_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/vpn_client_revoked_certificate_py3.py deleted file mode 100644 index e540c5ff206..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/vpn_client_revoked_certificate_py3.py +++ /dev/null @@ -1,54 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource_py3 import SubResource - - -class VpnClientRevokedCertificate(SubResource): - """VPN client revoked certificate of virtual network gateway. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param thumbprint: The revoked VPN client certificate thumbprint. - :type thumbprint: str - :ivar provisioning_state: The provisioning state of the VPN client revoked - certificate resource. Possible values are: 'Updating', 'Deleting', and - 'Failed'. - :vartype provisioning_state: str - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'thumbprint': {'key': 'properties.thumbprint', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, thumbprint: str=None, name: str=None, etag: str=None, **kwargs) -> None: - super(VpnClientRevokedCertificate, self).__init__(id=id, **kwargs) - self.thumbprint = thumbprint - self.provisioning_state = None - self.name = name - self.etag = etag diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/vpn_client_root_certificate.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/vpn_client_root_certificate.py deleted file mode 100644 index 48c7033d42e..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/vpn_client_root_certificate.py +++ /dev/null @@ -1,57 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource import SubResource - - -class VpnClientRootCertificate(SubResource): - """VPN client root certificate of virtual network gateway. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :param public_cert_data: Required. The certificate public data. - :type public_cert_data: str - :ivar provisioning_state: The provisioning state of the VPN client root - certificate resource. Possible values are: 'Updating', 'Deleting', and - 'Failed'. - :vartype provisioning_state: str - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'public_cert_data': {'required': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'public_cert_data': {'key': 'properties.publicCertData', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VpnClientRootCertificate, self).__init__(**kwargs) - self.public_cert_data = kwargs.get('public_cert_data', None) - self.provisioning_state = None - self.name = kwargs.get('name', None) - self.etag = kwargs.get('etag', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/vpn_client_root_certificate_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/vpn_client_root_certificate_py3.py deleted file mode 100644 index 6567985eee0..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/vpn_client_root_certificate_py3.py +++ /dev/null @@ -1,57 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource_py3 import SubResource - - -class VpnClientRootCertificate(SubResource): - """VPN client root certificate of virtual network gateway. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :param public_cert_data: Required. The certificate public data. - :type public_cert_data: str - :ivar provisioning_state: The provisioning state of the VPN client root - certificate resource. Possible values are: 'Updating', 'Deleting', and - 'Failed'. - :vartype provisioning_state: str - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :param etag: A unique read-only string that changes whenever the resource - is updated. - :type etag: str - """ - - _validation = { - 'public_cert_data': {'required': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'public_cert_data': {'key': 'properties.publicCertData', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, public_cert_data: str, id: str=None, name: str=None, etag: str=None, **kwargs) -> None: - super(VpnClientRootCertificate, self).__init__(id=id, **kwargs) - self.public_cert_data = public_cert_data - self.provisioning_state = None - self.name = name - self.etag = etag diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/vpn_connection.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/vpn_connection.py deleted file mode 100644 index 535e4b1d257..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/vpn_connection.py +++ /dev/null @@ -1,106 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource import SubResource - - -class VpnConnection(SubResource): - """VpnConnection Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param remote_vpn_site: Id of the connected vpn site. - :type remote_vpn_site: ~azure.mgmt.network.v2018_08_01.models.SubResource - :param routing_weight: routing weight for vpn connection. - :type routing_weight: int - :param connection_status: The connection status. Possible values include: - 'Unknown', 'Connecting', 'Connected', 'NotConnected' - :type connection_status: str or - ~azure.mgmt.network.v2018_08_01.models.VpnConnectionStatus - :param vpn_connection_protocol_type: Connection protocol used for this - connection. Possible values include: 'IKEv2', 'IKEv1' - :type vpn_connection_protocol_type: str or - ~azure.mgmt.network.v2018_08_01.models.VirtualNetworkGatewayConnectionProtocol - :ivar ingress_bytes_transferred: Ingress bytes transferred. - :vartype ingress_bytes_transferred: long - :ivar egress_bytes_transferred: Egress bytes transferred. - :vartype egress_bytes_transferred: long - :param connection_bandwidth: Expected bandwidth in MBPS. - :type connection_bandwidth: int - :param shared_key: SharedKey for the vpn connection. - :type shared_key: str - :param enable_bgp: EnableBgp flag - :type enable_bgp: bool - :param ipsec_policies: The IPSec Policies to be considered by this - connection. - :type ipsec_policies: - list[~azure.mgmt.network.v2018_08_01.models.IpsecPolicy] - :param enable_rate_limiting: EnableBgp flag - :type enable_rate_limiting: bool - :param enable_internet_security: Enable internet security - :type enable_internet_security: bool - :param provisioning_state: The provisioning state of the resource. - Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2018_08_01.models.ProvisioningState - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar etag: Gets a unique read-only string that changes whenever the - resource is updated. - :vartype etag: str - """ - - _validation = { - 'ingress_bytes_transferred': {'readonly': True}, - 'egress_bytes_transferred': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'remote_vpn_site': {'key': 'properties.remoteVpnSite', 'type': 'SubResource'}, - 'routing_weight': {'key': 'properties.routingWeight', 'type': 'int'}, - 'connection_status': {'key': 'properties.connectionStatus', 'type': 'str'}, - 'vpn_connection_protocol_type': {'key': 'properties.vpnConnectionProtocolType', 'type': 'str'}, - 'ingress_bytes_transferred': {'key': 'properties.ingressBytesTransferred', 'type': 'long'}, - 'egress_bytes_transferred': {'key': 'properties.egressBytesTransferred', 'type': 'long'}, - 'connection_bandwidth': {'key': 'properties.connectionBandwidth', 'type': 'int'}, - 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, - 'enable_bgp': {'key': 'properties.enableBgp', 'type': 'bool'}, - 'ipsec_policies': {'key': 'properties.ipsecPolicies', 'type': '[IpsecPolicy]'}, - 'enable_rate_limiting': {'key': 'properties.enableRateLimiting', 'type': 'bool'}, - 'enable_internet_security': {'key': 'properties.enableInternetSecurity', 'type': 'bool'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VpnConnection, self).__init__(**kwargs) - self.remote_vpn_site = kwargs.get('remote_vpn_site', None) - self.routing_weight = kwargs.get('routing_weight', None) - self.connection_status = kwargs.get('connection_status', None) - self.vpn_connection_protocol_type = kwargs.get('vpn_connection_protocol_type', None) - self.ingress_bytes_transferred = None - self.egress_bytes_transferred = None - self.connection_bandwidth = kwargs.get('connection_bandwidth', None) - self.shared_key = kwargs.get('shared_key', None) - self.enable_bgp = kwargs.get('enable_bgp', None) - self.ipsec_policies = kwargs.get('ipsec_policies', None) - self.enable_rate_limiting = kwargs.get('enable_rate_limiting', None) - self.enable_internet_security = kwargs.get('enable_internet_security', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.name = kwargs.get('name', None) - self.etag = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/vpn_connection_paged.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/vpn_connection_paged.py deleted file mode 100644 index d113f728790..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/vpn_connection_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.paging import Paged - - -class VpnConnectionPaged(Paged): - """ - A paging container for iterating over a list of :class:`VpnConnection ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[VpnConnection]'} - } - - def __init__(self, *args, **kwargs): - - super(VpnConnectionPaged, self).__init__(*args, **kwargs) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/vpn_connection_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/vpn_connection_py3.py deleted file mode 100644 index 4b93dc0be0b..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/vpn_connection_py3.py +++ /dev/null @@ -1,106 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource_py3 import SubResource - - -class VpnConnection(SubResource): - """VpnConnection Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param remote_vpn_site: Id of the connected vpn site. - :type remote_vpn_site: ~azure.mgmt.network.v2018_08_01.models.SubResource - :param routing_weight: routing weight for vpn connection. - :type routing_weight: int - :param connection_status: The connection status. Possible values include: - 'Unknown', 'Connecting', 'Connected', 'NotConnected' - :type connection_status: str or - ~azure.mgmt.network.v2018_08_01.models.VpnConnectionStatus - :param vpn_connection_protocol_type: Connection protocol used for this - connection. Possible values include: 'IKEv2', 'IKEv1' - :type vpn_connection_protocol_type: str or - ~azure.mgmt.network.v2018_08_01.models.VirtualNetworkGatewayConnectionProtocol - :ivar ingress_bytes_transferred: Ingress bytes transferred. - :vartype ingress_bytes_transferred: long - :ivar egress_bytes_transferred: Egress bytes transferred. - :vartype egress_bytes_transferred: long - :param connection_bandwidth: Expected bandwidth in MBPS. - :type connection_bandwidth: int - :param shared_key: SharedKey for the vpn connection. - :type shared_key: str - :param enable_bgp: EnableBgp flag - :type enable_bgp: bool - :param ipsec_policies: The IPSec Policies to be considered by this - connection. - :type ipsec_policies: - list[~azure.mgmt.network.v2018_08_01.models.IpsecPolicy] - :param enable_rate_limiting: EnableBgp flag - :type enable_rate_limiting: bool - :param enable_internet_security: Enable internet security - :type enable_internet_security: bool - :param provisioning_state: The provisioning state of the resource. - Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2018_08_01.models.ProvisioningState - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar etag: Gets a unique read-only string that changes whenever the - resource is updated. - :vartype etag: str - """ - - _validation = { - 'ingress_bytes_transferred': {'readonly': True}, - 'egress_bytes_transferred': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'remote_vpn_site': {'key': 'properties.remoteVpnSite', 'type': 'SubResource'}, - 'routing_weight': {'key': 'properties.routingWeight', 'type': 'int'}, - 'connection_status': {'key': 'properties.connectionStatus', 'type': 'str'}, - 'vpn_connection_protocol_type': {'key': 'properties.vpnConnectionProtocolType', 'type': 'str'}, - 'ingress_bytes_transferred': {'key': 'properties.ingressBytesTransferred', 'type': 'long'}, - 'egress_bytes_transferred': {'key': 'properties.egressBytesTransferred', 'type': 'long'}, - 'connection_bandwidth': {'key': 'properties.connectionBandwidth', 'type': 'int'}, - 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, - 'enable_bgp': {'key': 'properties.enableBgp', 'type': 'bool'}, - 'ipsec_policies': {'key': 'properties.ipsecPolicies', 'type': '[IpsecPolicy]'}, - 'enable_rate_limiting': {'key': 'properties.enableRateLimiting', 'type': 'bool'}, - 'enable_internet_security': {'key': 'properties.enableInternetSecurity', 'type': 'bool'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, remote_vpn_site=None, routing_weight: int=None, connection_status=None, vpn_connection_protocol_type=None, connection_bandwidth: int=None, shared_key: str=None, enable_bgp: bool=None, ipsec_policies=None, enable_rate_limiting: bool=None, enable_internet_security: bool=None, provisioning_state=None, name: str=None, **kwargs) -> None: - super(VpnConnection, self).__init__(id=id, **kwargs) - self.remote_vpn_site = remote_vpn_site - self.routing_weight = routing_weight - self.connection_status = connection_status - self.vpn_connection_protocol_type = vpn_connection_protocol_type - self.ingress_bytes_transferred = None - self.egress_bytes_transferred = None - self.connection_bandwidth = connection_bandwidth - self.shared_key = shared_key - self.enable_bgp = enable_bgp - self.ipsec_policies = ipsec_policies - self.enable_rate_limiting = enable_rate_limiting - self.enable_internet_security = enable_internet_security - self.provisioning_state = provisioning_state - self.name = name - self.etag = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/vpn_device_script_parameters.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/vpn_device_script_parameters.py deleted file mode 100644 index e4f8f12701b..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/vpn_device_script_parameters.py +++ /dev/null @@ -1,36 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class VpnDeviceScriptParameters(Model): - """Vpn device configuration script generation parameters. - - :param vendor: The vendor for the vpn device. - :type vendor: str - :param device_family: The device family for the vpn device. - :type device_family: str - :param firmware_version: The firmware version for the vpn device. - :type firmware_version: str - """ - - _attribute_map = { - 'vendor': {'key': 'vendor', 'type': 'str'}, - 'device_family': {'key': 'deviceFamily', 'type': 'str'}, - 'firmware_version': {'key': 'firmwareVersion', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VpnDeviceScriptParameters, self).__init__(**kwargs) - self.vendor = kwargs.get('vendor', None) - self.device_family = kwargs.get('device_family', None) - self.firmware_version = kwargs.get('firmware_version', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/vpn_device_script_parameters_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/vpn_device_script_parameters_py3.py deleted file mode 100644 index e5520ffb5a1..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/vpn_device_script_parameters_py3.py +++ /dev/null @@ -1,36 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class VpnDeviceScriptParameters(Model): - """Vpn device configuration script generation parameters. - - :param vendor: The vendor for the vpn device. - :type vendor: str - :param device_family: The device family for the vpn device. - :type device_family: str - :param firmware_version: The firmware version for the vpn device. - :type firmware_version: str - """ - - _attribute_map = { - 'vendor': {'key': 'vendor', 'type': 'str'}, - 'device_family': {'key': 'deviceFamily', 'type': 'str'}, - 'firmware_version': {'key': 'firmwareVersion', 'type': 'str'}, - } - - def __init__(self, *, vendor: str=None, device_family: str=None, firmware_version: str=None, **kwargs) -> None: - super(VpnDeviceScriptParameters, self).__init__(**kwargs) - self.vendor = vendor - self.device_family = device_family - self.firmware_version = firmware_version diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/vpn_gateway.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/vpn_gateway.py deleted file mode 100644 index 43ee984e5f7..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/vpn_gateway.py +++ /dev/null @@ -1,76 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .resource import Resource - - -class VpnGateway(Resource): - """VpnGateway Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param virtual_hub: The VirtualHub to which the gateway belongs - :type virtual_hub: ~azure.mgmt.network.v2018_08_01.models.SubResource - :param connections: list of all vpn connections to the gateway. - :type connections: - list[~azure.mgmt.network.v2018_08_01.models.VpnConnection] - :param bgp_settings: Local network gateway's BGP speaker settings. - :type bgp_settings: ~azure.mgmt.network.v2018_08_01.models.BgpSettings - :param provisioning_state: The provisioning state of the resource. - Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2018_08_01.models.ProvisioningState - :param vpn_gateway_scale_unit: The scale unit for this vpn gateway. - :type vpn_gateway_scale_unit: int - :ivar etag: Gets a unique read-only string that changes whenever the - resource is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'virtual_hub': {'key': 'properties.virtualHub', 'type': 'SubResource'}, - 'connections': {'key': 'properties.connections', 'type': '[VpnConnection]'}, - 'bgp_settings': {'key': 'properties.bgpSettings', 'type': 'BgpSettings'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'vpn_gateway_scale_unit': {'key': 'properties.vpnGatewayScaleUnit', 'type': 'int'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VpnGateway, self).__init__(**kwargs) - self.virtual_hub = kwargs.get('virtual_hub', None) - self.connections = kwargs.get('connections', None) - self.bgp_settings = kwargs.get('bgp_settings', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.vpn_gateway_scale_unit = kwargs.get('vpn_gateway_scale_unit', None) - self.etag = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/vpn_gateway_paged.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/vpn_gateway_paged.py deleted file mode 100644 index ba64354208d..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/vpn_gateway_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.paging import Paged - - -class VpnGatewayPaged(Paged): - """ - A paging container for iterating over a list of :class:`VpnGateway ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[VpnGateway]'} - } - - def __init__(self, *args, **kwargs): - - super(VpnGatewayPaged, self).__init__(*args, **kwargs) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/vpn_gateway_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/vpn_gateway_py3.py deleted file mode 100644 index e478b830bc4..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/vpn_gateway_py3.py +++ /dev/null @@ -1,76 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .resource_py3 import Resource - - -class VpnGateway(Resource): - """VpnGateway Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param virtual_hub: The VirtualHub to which the gateway belongs - :type virtual_hub: ~azure.mgmt.network.v2018_08_01.models.SubResource - :param connections: list of all vpn connections to the gateway. - :type connections: - list[~azure.mgmt.network.v2018_08_01.models.VpnConnection] - :param bgp_settings: Local network gateway's BGP speaker settings. - :type bgp_settings: ~azure.mgmt.network.v2018_08_01.models.BgpSettings - :param provisioning_state: The provisioning state of the resource. - Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2018_08_01.models.ProvisioningState - :param vpn_gateway_scale_unit: The scale unit for this vpn gateway. - :type vpn_gateway_scale_unit: int - :ivar etag: Gets a unique read-only string that changes whenever the - resource is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'virtual_hub': {'key': 'properties.virtualHub', 'type': 'SubResource'}, - 'connections': {'key': 'properties.connections', 'type': '[VpnConnection]'}, - 'bgp_settings': {'key': 'properties.bgpSettings', 'type': 'BgpSettings'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'vpn_gateway_scale_unit': {'key': 'properties.vpnGatewayScaleUnit', 'type': 'int'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, virtual_hub=None, connections=None, bgp_settings=None, provisioning_state=None, vpn_gateway_scale_unit: int=None, **kwargs) -> None: - super(VpnGateway, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.virtual_hub = virtual_hub - self.connections = connections - self.bgp_settings = bgp_settings - self.provisioning_state = provisioning_state - self.vpn_gateway_scale_unit = vpn_gateway_scale_unit - self.etag = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/vpn_profile_response.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/vpn_profile_response.py deleted file mode 100644 index ec8320a2d0c..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/vpn_profile_response.py +++ /dev/null @@ -1,28 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class VpnProfileResponse(Model): - """Vpn Profile Response for package generation. - - :param profile_url: URL to the VPN profile - :type profile_url: str - """ - - _attribute_map = { - 'profile_url': {'key': 'profileUrl', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VpnProfileResponse, self).__init__(**kwargs) - self.profile_url = kwargs.get('profile_url', None) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/vpn_profile_response_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/vpn_profile_response_py3.py deleted file mode 100644 index 96fb208bf55..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/vpn_profile_response_py3.py +++ /dev/null @@ -1,28 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class VpnProfileResponse(Model): - """Vpn Profile Response for package generation. - - :param profile_url: URL to the VPN profile - :type profile_url: str - """ - - _attribute_map = { - 'profile_url': {'key': 'profileUrl', 'type': 'str'}, - } - - def __init__(self, *, profile_url: str=None, **kwargs) -> None: - super(VpnProfileResponse, self).__init__(**kwargs) - self.profile_url = profile_url diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/vpn_site.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/vpn_site.py deleted file mode 100644 index 9a55f2b4e4e..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/vpn_site.py +++ /dev/null @@ -1,89 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .resource import Resource - - -class VpnSite(Resource): - """VpnSite Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param virtual_wan: The VirtualWAN to which the vpnSite belongs - :type virtual_wan: ~azure.mgmt.network.v2018_08_01.models.SubResource - :param device_properties: The device properties - :type device_properties: - ~azure.mgmt.network.v2018_08_01.models.DeviceProperties - :param ip_address: The ip-address for the vpn-site. - :type ip_address: str - :param site_key: The key for vpn-site that can be used for connections. - :type site_key: str - :param address_space: The AddressSpace that contains an array of IP - address ranges. - :type address_space: ~azure.mgmt.network.v2018_08_01.models.AddressSpace - :param bgp_properties: The set of bgp properties. - :type bgp_properties: ~azure.mgmt.network.v2018_08_01.models.BgpSettings - :param provisioning_state: The provisioning state of the resource. - Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2018_08_01.models.ProvisioningState - :param is_security_site: IsSecuritySite flag - :type is_security_site: bool - :ivar etag: Gets a unique read-only string that changes whenever the - resource is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'virtual_wan': {'key': 'properties.virtualWan', 'type': 'SubResource'}, - 'device_properties': {'key': 'properties.deviceProperties', 'type': 'DeviceProperties'}, - 'ip_address': {'key': 'properties.ipAddress', 'type': 'str'}, - 'site_key': {'key': 'properties.siteKey', 'type': 'str'}, - 'address_space': {'key': 'properties.addressSpace', 'type': 'AddressSpace'}, - 'bgp_properties': {'key': 'properties.bgpProperties', 'type': 'BgpSettings'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'is_security_site': {'key': 'properties.isSecuritySite', 'type': 'bool'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VpnSite, self).__init__(**kwargs) - self.virtual_wan = kwargs.get('virtual_wan', None) - self.device_properties = kwargs.get('device_properties', None) - self.ip_address = kwargs.get('ip_address', None) - self.site_key = kwargs.get('site_key', None) - self.address_space = kwargs.get('address_space', None) - self.bgp_properties = kwargs.get('bgp_properties', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.is_security_site = kwargs.get('is_security_site', None) - self.etag = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/vpn_site_id.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/vpn_site_id.py deleted file mode 100644 index f033d813f34..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/vpn_site_id.py +++ /dev/null @@ -1,36 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class VpnSiteId(Model): - """VpnSite Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar vpn_site: The resource-uri of the vpn-site for which config is to be - fetched. - :vartype vpn_site: str - """ - - _validation = { - 'vpn_site': {'readonly': True}, - } - - _attribute_map = { - 'vpn_site': {'key': 'vpnSite', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VpnSiteId, self).__init__(**kwargs) - self.vpn_site = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/vpn_site_id_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/vpn_site_id_py3.py deleted file mode 100644 index 3a12683973e..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/vpn_site_id_py3.py +++ /dev/null @@ -1,36 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class VpnSiteId(Model): - """VpnSite Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar vpn_site: The resource-uri of the vpn-site for which config is to be - fetched. - :vartype vpn_site: str - """ - - _validation = { - 'vpn_site': {'readonly': True}, - } - - _attribute_map = { - 'vpn_site': {'key': 'vpnSite', 'type': 'str'}, - } - - def __init__(self, **kwargs) -> None: - super(VpnSiteId, self).__init__(**kwargs) - self.vpn_site = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/vpn_site_paged.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/vpn_site_paged.py deleted file mode 100644 index f3b4114068c..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/vpn_site_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.paging import Paged - - -class VpnSitePaged(Paged): - """ - A paging container for iterating over a list of :class:`VpnSite ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[VpnSite]'} - } - - def __init__(self, *args, **kwargs): - - super(VpnSitePaged, self).__init__(*args, **kwargs) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/vpn_site_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/vpn_site_py3.py deleted file mode 100644 index 4f11fddebe6..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/models/vpn_site_py3.py +++ /dev/null @@ -1,89 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .resource_py3 import Resource - - -class VpnSite(Resource): - """VpnSite Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param virtual_wan: The VirtualWAN to which the vpnSite belongs - :type virtual_wan: ~azure.mgmt.network.v2018_08_01.models.SubResource - :param device_properties: The device properties - :type device_properties: - ~azure.mgmt.network.v2018_08_01.models.DeviceProperties - :param ip_address: The ip-address for the vpn-site. - :type ip_address: str - :param site_key: The key for vpn-site that can be used for connections. - :type site_key: str - :param address_space: The AddressSpace that contains an array of IP - address ranges. - :type address_space: ~azure.mgmt.network.v2018_08_01.models.AddressSpace - :param bgp_properties: The set of bgp properties. - :type bgp_properties: ~azure.mgmt.network.v2018_08_01.models.BgpSettings - :param provisioning_state: The provisioning state of the resource. - Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2018_08_01.models.ProvisioningState - :param is_security_site: IsSecuritySite flag - :type is_security_site: bool - :ivar etag: Gets a unique read-only string that changes whenever the - resource is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'virtual_wan': {'key': 'properties.virtualWan', 'type': 'SubResource'}, - 'device_properties': {'key': 'properties.deviceProperties', 'type': 'DeviceProperties'}, - 'ip_address': {'key': 'properties.ipAddress', 'type': 'str'}, - 'site_key': {'key': 'properties.siteKey', 'type': 'str'}, - 'address_space': {'key': 'properties.addressSpace', 'type': 'AddressSpace'}, - 'bgp_properties': {'key': 'properties.bgpProperties', 'type': 'BgpSettings'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'is_security_site': {'key': 'properties.isSecuritySite', 'type': 'bool'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, virtual_wan=None, device_properties=None, ip_address: str=None, site_key: str=None, address_space=None, bgp_properties=None, provisioning_state=None, is_security_site: bool=None, **kwargs) -> None: - super(VpnSite, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.virtual_wan = virtual_wan - self.device_properties = device_properties - self.ip_address = ip_address - self.site_key = site_key - self.address_space = address_space - self.bgp_properties = bgp_properties - self.provisioning_state = provisioning_state - self.is_security_site = is_security_site - self.etag = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/__init__.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/__init__.py deleted file mode 100644 index 809521775ab..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/__init__.py +++ /dev/null @@ -1,140 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .application_gateways_operations import ApplicationGatewaysOperations -from .application_security_groups_operations import ApplicationSecurityGroupsOperations -from .available_delegations_operations import AvailableDelegationsOperations -from .available_resource_group_delegations_operations import AvailableResourceGroupDelegationsOperations -from .azure_firewalls_operations import AzureFirewallsOperations -from .azure_firewall_fqdn_tags_operations import AzureFirewallFqdnTagsOperations -from .ddos_protection_plans_operations import DdosProtectionPlansOperations -from .available_endpoint_services_operations import AvailableEndpointServicesOperations -from .express_route_circuit_authorizations_operations import ExpressRouteCircuitAuthorizationsOperations -from .express_route_circuit_peerings_operations import ExpressRouteCircuitPeeringsOperations -from .express_route_circuit_connections_operations import ExpressRouteCircuitConnectionsOperations -from .express_route_circuits_operations import ExpressRouteCircuitsOperations -from .express_route_service_providers_operations import ExpressRouteServiceProvidersOperations -from .express_route_cross_connections_operations import ExpressRouteCrossConnectionsOperations -from .express_route_cross_connection_peerings_operations import ExpressRouteCrossConnectionPeeringsOperations -from .express_route_gateways_operations import ExpressRouteGatewaysOperations -from .express_route_connections_operations import ExpressRouteConnectionsOperations -from .interface_endpoints_operations import InterfaceEndpointsOperations -from .load_balancers_operations import LoadBalancersOperations -from .load_balancer_backend_address_pools_operations import LoadBalancerBackendAddressPoolsOperations -from .load_balancer_frontend_ip_configurations_operations import LoadBalancerFrontendIPConfigurationsOperations -from .inbound_nat_rules_operations import InboundNatRulesOperations -from .load_balancer_load_balancing_rules_operations import LoadBalancerLoadBalancingRulesOperations -from .load_balancer_network_interfaces_operations import LoadBalancerNetworkInterfacesOperations -from .load_balancer_probes_operations import LoadBalancerProbesOperations -from .network_interfaces_operations import NetworkInterfacesOperations -from .network_interface_ip_configurations_operations import NetworkInterfaceIPConfigurationsOperations -from .network_interface_load_balancers_operations import NetworkInterfaceLoadBalancersOperations -from .network_interface_tap_configurations_operations import NetworkInterfaceTapConfigurationsOperations -from .network_profiles_operations import NetworkProfilesOperations -from .network_security_groups_operations import NetworkSecurityGroupsOperations -from .security_rules_operations import SecurityRulesOperations -from .default_security_rules_operations import DefaultSecurityRulesOperations -from .network_watchers_operations import NetworkWatchersOperations -from .packet_captures_operations import PacketCapturesOperations -from .connection_monitors_operations import ConnectionMonitorsOperations -from .operations import Operations -from .public_ip_addresses_operations import PublicIPAddressesOperations -from .public_ip_prefixes_operations import PublicIPPrefixesOperations -from .route_filters_operations import RouteFiltersOperations -from .route_filter_rules_operations import RouteFilterRulesOperations -from .route_tables_operations import RouteTablesOperations -from .routes_operations import RoutesOperations -from .bgp_service_communities_operations import BgpServiceCommunitiesOperations -from .service_endpoint_policies_operations import ServiceEndpointPoliciesOperations -from .service_endpoint_policy_definitions_operations import ServiceEndpointPolicyDefinitionsOperations -from .usages_operations import UsagesOperations -from .virtual_networks_operations import VirtualNetworksOperations -from .subnets_operations import SubnetsOperations -from .virtual_network_peerings_operations import VirtualNetworkPeeringsOperations -from .virtual_network_taps_operations import VirtualNetworkTapsOperations -from .virtual_network_gateways_operations import VirtualNetworkGatewaysOperations -from .virtual_network_gateway_connections_operations import VirtualNetworkGatewayConnectionsOperations -from .local_network_gateways_operations import LocalNetworkGatewaysOperations -from .virtual_wans_operations import VirtualWansOperations -from .vpn_sites_operations import VpnSitesOperations -from .vpn_sites_configuration_operations import VpnSitesConfigurationOperations -from .virtual_hubs_operations import VirtualHubsOperations -from .hub_virtual_network_connections_operations import HubVirtualNetworkConnectionsOperations -from .vpn_gateways_operations import VpnGatewaysOperations -from .vpn_connections_operations import VpnConnectionsOperations -from .p2s_vpn_server_configurations_operations import P2sVpnServerConfigurationsOperations -from .p2s_vpn_gateways_operations import P2sVpnGatewaysOperations - -__all__ = [ - 'ApplicationGatewaysOperations', - 'ApplicationSecurityGroupsOperations', - 'AvailableDelegationsOperations', - 'AvailableResourceGroupDelegationsOperations', - 'AzureFirewallsOperations', - 'AzureFirewallFqdnTagsOperations', - 'DdosProtectionPlansOperations', - 'AvailableEndpointServicesOperations', - 'ExpressRouteCircuitAuthorizationsOperations', - 'ExpressRouteCircuitPeeringsOperations', - 'ExpressRouteCircuitConnectionsOperations', - 'ExpressRouteCircuitsOperations', - 'ExpressRouteServiceProvidersOperations', - 'ExpressRouteCrossConnectionsOperations', - 'ExpressRouteCrossConnectionPeeringsOperations', - 'ExpressRouteGatewaysOperations', - 'ExpressRouteConnectionsOperations', - 'InterfaceEndpointsOperations', - 'LoadBalancersOperations', - 'LoadBalancerBackendAddressPoolsOperations', - 'LoadBalancerFrontendIPConfigurationsOperations', - 'InboundNatRulesOperations', - 'LoadBalancerLoadBalancingRulesOperations', - 'LoadBalancerNetworkInterfacesOperations', - 'LoadBalancerProbesOperations', - 'NetworkInterfacesOperations', - 'NetworkInterfaceIPConfigurationsOperations', - 'NetworkInterfaceLoadBalancersOperations', - 'NetworkInterfaceTapConfigurationsOperations', - 'NetworkProfilesOperations', - 'NetworkSecurityGroupsOperations', - 'SecurityRulesOperations', - 'DefaultSecurityRulesOperations', - 'NetworkWatchersOperations', - 'PacketCapturesOperations', - 'ConnectionMonitorsOperations', - 'Operations', - 'PublicIPAddressesOperations', - 'PublicIPPrefixesOperations', - 'RouteFiltersOperations', - 'RouteFilterRulesOperations', - 'RouteTablesOperations', - 'RoutesOperations', - 'BgpServiceCommunitiesOperations', - 'ServiceEndpointPoliciesOperations', - 'ServiceEndpointPolicyDefinitionsOperations', - 'UsagesOperations', - 'VirtualNetworksOperations', - 'SubnetsOperations', - 'VirtualNetworkPeeringsOperations', - 'VirtualNetworkTapsOperations', - 'VirtualNetworkGatewaysOperations', - 'VirtualNetworkGatewayConnectionsOperations', - 'LocalNetworkGatewaysOperations', - 'VirtualWansOperations', - 'VpnSitesOperations', - 'VpnSitesConfigurationOperations', - 'VirtualHubsOperations', - 'HubVirtualNetworkConnectionsOperations', - 'VpnGatewaysOperations', - 'VpnConnectionsOperations', - 'P2sVpnServerConfigurationsOperations', - 'P2sVpnGatewaysOperations', -] diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/application_gateways_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/application_gateways_operations.py deleted file mode 100644 index 7d98c738219..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/application_gateways_operations.py +++ /dev/null @@ -1,1019 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class ApplicationGatewaysOperations(object): - """ApplicationGatewaysOperations operations. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2018-08-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2018-08-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, application_gateway_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'applicationGatewayName': self._serialize.url("application_gateway_name", application_gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, application_gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified application gateway. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param application_gateway_name: The name of the application gateway. - :type application_gateway_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - application_gateway_name=application_gateway_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}'} - - def get( - self, resource_group_name, application_gateway_name, custom_headers=None, raw=False, **operation_config): - """Gets the specified application gateway. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param application_gateway_name: The name of the application gateway. - :type application_gateway_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ApplicationGateway or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2018_08_01.models.ApplicationGateway or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'applicationGatewayName': self._serialize.url("application_gateway_name", application_gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ApplicationGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}'} - - - def _create_or_update_initial( - self, resource_group_name, application_gateway_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'applicationGatewayName': self._serialize.url("application_gateway_name", application_gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'ApplicationGateway') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('ApplicationGateway', response) - if response.status_code == 201: - deserialized = self._deserialize('ApplicationGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, application_gateway_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates the specified application gateway. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param application_gateway_name: The name of the application gateway. - :type application_gateway_name: str - :param parameters: Parameters supplied to the create or update - application gateway operation. - :type parameters: - ~azure.mgmt.network.v2018_08_01.models.ApplicationGateway - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns ApplicationGateway or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.ApplicationGateway] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.ApplicationGateway]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - application_gateway_name=application_gateway_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ApplicationGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}'} - - - def _update_tags_initial( - self, resource_group_name, application_gateway_name, tags=None, custom_headers=None, raw=False, **operation_config): - parameters = models.TagsObject(tags=tags) - - # Construct URL - url = self.update_tags.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'applicationGatewayName': self._serialize.url("application_gateway_name", application_gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'TagsObject') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ApplicationGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def update_tags( - self, resource_group_name, application_gateway_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Updates the specified application gateway tags. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param application_gateway_name: The name of the application gateway. - :type application_gateway_name: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns ApplicationGateway or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.ApplicationGateway] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.ApplicationGateway]] - :raises: :class:`CloudError` - """ - raw_result = self._update_tags_initial( - resource_group_name=resource_group_name, - application_gateway_name=application_gateway_name, - tags=tags, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ApplicationGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}'} - - def list( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Lists all application gateways in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of ApplicationGateway - :rtype: - ~azure.mgmt.network.v2018_08_01.models.ApplicationGatewayPaged[~azure.mgmt.network.v2018_08_01.models.ApplicationGateway] - :raises: :class:`CloudError` - """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - deserialized = models.ApplicationGatewayPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.ApplicationGatewayPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways'} - - def list_all( - self, custom_headers=None, raw=False, **operation_config): - """Gets all the application gateways in a subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of ApplicationGateway - :rtype: - ~azure.mgmt.network.v2018_08_01.models.ApplicationGatewayPaged[~azure.mgmt.network.v2018_08_01.models.ApplicationGateway] - :raises: :class:`CloudError` - """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list_all.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - deserialized = models.ApplicationGatewayPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.ApplicationGatewayPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGateways'} - - - def _start_initial( - self, resource_group_name, application_gateway_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.start.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'applicationGatewayName': self._serialize.url("application_gateway_name", application_gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def start( - self, resource_group_name, application_gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Starts the specified application gateway. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param application_gateway_name: The name of the application gateway. - :type application_gateway_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._start_initial( - resource_group_name=resource_group_name, - application_gateway_name=application_gateway_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - start.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}/start'} - - - def _stop_initial( - self, resource_group_name, application_gateway_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.stop.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'applicationGatewayName': self._serialize.url("application_gateway_name", application_gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def stop( - self, resource_group_name, application_gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Stops the specified application gateway in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param application_gateway_name: The name of the application gateway. - :type application_gateway_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._stop_initial( - resource_group_name=resource_group_name, - application_gateway_name=application_gateway_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - stop.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}/stop'} - - - def _backend_health_initial( - self, resource_group_name, application_gateway_name, expand=None, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.backend_health.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'applicationGatewayName': self._serialize.url("application_gateway_name", application_gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - if expand is not None: - query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - 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('ApplicationGatewayBackendHealth', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def backend_health( - self, resource_group_name, application_gateway_name, expand=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Gets the backend health of the specified application gateway in a - resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param application_gateway_name: The name of the application gateway. - :type application_gateway_name: str - :param expand: Expands BackendAddressPool and BackendHttpSettings - referenced in backend health. - :type expand: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - ApplicationGatewayBackendHealth or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.ApplicationGatewayBackendHealth] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.ApplicationGatewayBackendHealth]] - :raises: :class:`CloudError` - """ - raw_result = self._backend_health_initial( - resource_group_name=resource_group_name, - application_gateway_name=application_gateway_name, - expand=expand, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ApplicationGatewayBackendHealth', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - backend_health.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}/backendhealth'} - - def list_available_waf_rule_sets( - self, custom_headers=None, raw=False, **operation_config): - """Lists all available web application firewall rule sets. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ApplicationGatewayAvailableWafRuleSetsResult or - ClientRawResponse if raw=true - :rtype: - ~azure.mgmt.network.v2018_08_01.models.ApplicationGatewayAvailableWafRuleSetsResult - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.list_available_waf_rule_sets.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ApplicationGatewayAvailableWafRuleSetsResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - list_available_waf_rule_sets.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableWafRuleSets'} - - def list_available_ssl_options( - self, custom_headers=None, raw=False, **operation_config): - """Lists available Ssl options for configuring Ssl policy. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ApplicationGatewayAvailableSslOptions or ClientRawResponse if - raw=true - :rtype: - ~azure.mgmt.network.v2018_08_01.models.ApplicationGatewayAvailableSslOptions - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.list_available_ssl_options.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ApplicationGatewayAvailableSslOptions', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - list_available_ssl_options.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableSslOptions/default'} - - def list_available_ssl_predefined_policies( - self, custom_headers=None, raw=False, **operation_config): - """Lists all SSL predefined policies for configuring Ssl policy. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of - ApplicationGatewaySslPredefinedPolicy - :rtype: - ~azure.mgmt.network.v2018_08_01.models.ApplicationGatewaySslPredefinedPolicyPaged[~azure.mgmt.network.v2018_08_01.models.ApplicationGatewaySslPredefinedPolicy] - :raises: :class:`CloudError` - """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list_available_ssl_predefined_policies.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - deserialized = models.ApplicationGatewaySslPredefinedPolicyPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.ApplicationGatewaySslPredefinedPolicyPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list_available_ssl_predefined_policies.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableSslOptions/default/predefinedPolicies'} - - def get_ssl_predefined_policy( - self, predefined_policy_name, custom_headers=None, raw=False, **operation_config): - """Gets Ssl predefined policy with the specified policy name. - - :param predefined_policy_name: Name of Ssl predefined policy. - :type predefined_policy_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ApplicationGatewaySslPredefinedPolicy or ClientRawResponse if - raw=true - :rtype: - ~azure.mgmt.network.v2018_08_01.models.ApplicationGatewaySslPredefinedPolicy - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get_ssl_predefined_policy.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'predefinedPolicyName': self._serialize.url("predefined_policy_name", predefined_policy_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ApplicationGatewaySslPredefinedPolicy', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get_ssl_predefined_policy.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableSslOptions/default/predefinedPolicies/{predefinedPolicyName}'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/application_security_groups_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/application_security_groups_operations.py deleted file mode 100644 index 9877b3ecdb5..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/application_security_groups_operations.py +++ /dev/null @@ -1,421 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class ApplicationSecurityGroupsOperations(object): - """ApplicationSecurityGroupsOperations operations. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2018-08-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2018-08-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, application_security_group_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'applicationSecurityGroupName': self._serialize.url("application_security_group_name", application_security_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, application_security_group_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified application security group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param application_security_group_name: The name of the application - security group. - :type application_security_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - application_security_group_name=application_security_group_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationSecurityGroups/{applicationSecurityGroupName}'} - - def get( - self, resource_group_name, application_security_group_name, custom_headers=None, raw=False, **operation_config): - """Gets information about the specified application security group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param application_security_group_name: The name of the application - security group. - :type application_security_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ApplicationSecurityGroup or ClientRawResponse if raw=true - :rtype: - ~azure.mgmt.network.v2018_08_01.models.ApplicationSecurityGroup or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'applicationSecurityGroupName': self._serialize.url("application_security_group_name", application_security_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ApplicationSecurityGroup', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationSecurityGroups/{applicationSecurityGroupName}'} - - - def _create_or_update_initial( - self, resource_group_name, application_security_group_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'applicationSecurityGroupName': self._serialize.url("application_security_group_name", application_security_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'ApplicationSecurityGroup') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('ApplicationSecurityGroup', response) - if response.status_code == 201: - deserialized = self._deserialize('ApplicationSecurityGroup', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, application_security_group_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates an application security group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param application_security_group_name: The name of the application - security group. - :type application_security_group_name: str - :param parameters: Parameters supplied to the create or update - ApplicationSecurityGroup operation. - :type parameters: - ~azure.mgmt.network.v2018_08_01.models.ApplicationSecurityGroup - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - ApplicationSecurityGroup or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.ApplicationSecurityGroup] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.ApplicationSecurityGroup]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - application_security_group_name=application_security_group_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ApplicationSecurityGroup', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationSecurityGroups/{applicationSecurityGroupName}'} - - def list_all( - self, custom_headers=None, raw=False, **operation_config): - """Gets all application security groups in a subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of ApplicationSecurityGroup - :rtype: - ~azure.mgmt.network.v2018_08_01.models.ApplicationSecurityGroupPaged[~azure.mgmt.network.v2018_08_01.models.ApplicationSecurityGroup] - :raises: :class:`CloudError` - """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list_all.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - deserialized = models.ApplicationSecurityGroupPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.ApplicationSecurityGroupPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationSecurityGroups'} - - def list( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Gets all the application security groups in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of ApplicationSecurityGroup - :rtype: - ~azure.mgmt.network.v2018_08_01.models.ApplicationSecurityGroupPaged[~azure.mgmt.network.v2018_08_01.models.ApplicationSecurityGroup] - :raises: :class:`CloudError` - """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - deserialized = models.ApplicationSecurityGroupPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.ApplicationSecurityGroupPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationSecurityGroups'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/available_delegations_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/available_delegations_operations.py deleted file mode 100644 index 157ae9cc950..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/available_delegations_operations.py +++ /dev/null @@ -1,106 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError - -from .. import models - - -class AvailableDelegationsOperations(object): - """AvailableDelegationsOperations operations. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2018-08-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2018-08-01" - - self.config = config - - def list( - self, location, custom_headers=None, raw=False, **operation_config): - """Gets all of the available subnet delegations for this subscription in - this region. - - :param location: The location of the subnet. - :type location: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of AvailableDelegation - :rtype: - ~azure.mgmt.network.v2018_08_01.models.AvailableDelegationPaged[~azure.mgmt.network.v2018_08_01.models.AvailableDelegation] - :raises: :class:`CloudError` - """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'location': self._serialize.url("location", location, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - deserialized = models.AvailableDelegationPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.AvailableDelegationPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/availableDelegations'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/available_endpoint_services_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/available_endpoint_services_operations.py deleted file mode 100644 index 831f87a34a3..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/available_endpoint_services_operations.py +++ /dev/null @@ -1,105 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError - -from .. import models - - -class AvailableEndpointServicesOperations(object): - """AvailableEndpointServicesOperations operations. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2018-08-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2018-08-01" - - self.config = config - - def list( - self, location, custom_headers=None, raw=False, **operation_config): - """List what values of endpoint services are available for use. - - :param location: The location to check available endpoint services. - :type location: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of EndpointServiceResult - :rtype: - ~azure.mgmt.network.v2018_08_01.models.EndpointServiceResultPaged[~azure.mgmt.network.v2018_08_01.models.EndpointServiceResult] - :raises: :class:`CloudError` - """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'location': self._serialize.url("location", location, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - deserialized = models.EndpointServiceResultPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.EndpointServiceResultPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/virtualNetworkAvailableEndpointServices'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/available_resource_group_delegations_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/available_resource_group_delegations_operations.py deleted file mode 100644 index 2b42c17a6d3..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/available_resource_group_delegations_operations.py +++ /dev/null @@ -1,109 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError - -from .. import models - - -class AvailableResourceGroupDelegationsOperations(object): - """AvailableResourceGroupDelegationsOperations operations. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2018-08-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2018-08-01" - - self.config = config - - def list( - self, location, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Gets all of the available subnet delegations for this resource group in - this region. - - :param location: The location of the domain name. - :type location: str - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of AvailableDelegation - :rtype: - ~azure.mgmt.network.v2018_08_01.models.AvailableDelegationPaged[~azure.mgmt.network.v2018_08_01.models.AvailableDelegation] - :raises: :class:`CloudError` - """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'location': self._serialize.url("location", location, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - deserialized = models.AvailableDelegationPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.AvailableDelegationPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/locations/{location}/availableDelegations'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/azure_firewall_fqdn_tags_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/azure_firewall_fqdn_tags_operations.py deleted file mode 100644 index 23267a67079..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/azure_firewall_fqdn_tags_operations.py +++ /dev/null @@ -1,102 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError - -from .. import models - - -class AzureFirewallFqdnTagsOperations(object): - """AzureFirewallFqdnTagsOperations operations. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2018-08-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2018-08-01" - - self.config = config - - def list_all( - self, custom_headers=None, raw=False, **operation_config): - """Gets all the Azure Firewall FQDN Tags in a subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of AzureFirewallFqdnTag - :rtype: - ~azure.mgmt.network.v2018_08_01.models.AzureFirewallFqdnTagPaged[~azure.mgmt.network.v2018_08_01.models.AzureFirewallFqdnTag] - :raises: :class:`CloudError` - """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list_all.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - deserialized = models.AzureFirewallFqdnTagPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.AzureFirewallFqdnTagPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/azureFirewallFqdnTags'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/azure_firewalls_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/azure_firewalls_operations.py deleted file mode 100644 index 998b9390478..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/azure_firewalls_operations.py +++ /dev/null @@ -1,415 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class AzureFirewallsOperations(object): - """AzureFirewallsOperations operations. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2018-08-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2018-08-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, azure_firewall_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'azureFirewallName': self._serialize.url("azure_firewall_name", azure_firewall_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, azure_firewall_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified Azure Firewall. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param azure_firewall_name: The name of the Azure Firewall. - :type azure_firewall_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - azure_firewall_name=azure_firewall_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/azureFirewalls/{azureFirewallName}'} - - def get( - self, resource_group_name, azure_firewall_name, custom_headers=None, raw=False, **operation_config): - """Gets the specified Azure Firewall. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param azure_firewall_name: The name of the Azure Firewall. - :type azure_firewall_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: AzureFirewall or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2018_08_01.models.AzureFirewall or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'azureFirewallName': self._serialize.url("azure_firewall_name", azure_firewall_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('AzureFirewall', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/azureFirewalls/{azureFirewallName}'} - - - def _create_or_update_initial( - self, resource_group_name, azure_firewall_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'azureFirewallName': self._serialize.url("azure_firewall_name", azure_firewall_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'AzureFirewall') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('AzureFirewall', response) - if response.status_code == 201: - deserialized = self._deserialize('AzureFirewall', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, azure_firewall_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates the specified Azure Firewall. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param azure_firewall_name: The name of the Azure Firewall. - :type azure_firewall_name: str - :param parameters: Parameters supplied to the create or update Azure - Firewall operation. - :type parameters: ~azure.mgmt.network.v2018_08_01.models.AzureFirewall - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns AzureFirewall or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.AzureFirewall] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.AzureFirewall]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - azure_firewall_name=azure_firewall_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('AzureFirewall', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/azureFirewalls/{azureFirewallName}'} - - def list( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Lists all Azure Firewalls in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of AzureFirewall - :rtype: - ~azure.mgmt.network.v2018_08_01.models.AzureFirewallPaged[~azure.mgmt.network.v2018_08_01.models.AzureFirewall] - :raises: :class:`CloudError` - """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - deserialized = models.AzureFirewallPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.AzureFirewallPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/azureFirewalls'} - - def list_all( - self, custom_headers=None, raw=False, **operation_config): - """Gets all the Azure Firewalls in a subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of AzureFirewall - :rtype: - ~azure.mgmt.network.v2018_08_01.models.AzureFirewallPaged[~azure.mgmt.network.v2018_08_01.models.AzureFirewall] - :raises: :class:`CloudError` - """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list_all.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - deserialized = models.AzureFirewallPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.AzureFirewallPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/azureFirewalls'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/bgp_service_communities_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/bgp_service_communities_operations.py deleted file mode 100644 index a83641436b9..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/bgp_service_communities_operations.py +++ /dev/null @@ -1,102 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError - -from .. import models - - -class BgpServiceCommunitiesOperations(object): - """BgpServiceCommunitiesOperations operations. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2018-08-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2018-08-01" - - self.config = config - - def list( - self, custom_headers=None, raw=False, **operation_config): - """Gets all the available bgp service communities. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of BgpServiceCommunity - :rtype: - ~azure.mgmt.network.v2018_08_01.models.BgpServiceCommunityPaged[~azure.mgmt.network.v2018_08_01.models.BgpServiceCommunity] - :raises: :class:`CloudError` - """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - deserialized = models.BgpServiceCommunityPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.BgpServiceCommunityPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/bgpServiceCommunities'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/connection_monitors_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/connection_monitors_operations.py deleted file mode 100644 index 458a08b4797..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/connection_monitors_operations.py +++ /dev/null @@ -1,632 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class ConnectionMonitorsOperations(object): - """ConnectionMonitorsOperations operations. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2018-08-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2018-08-01" - - self.config = config - - - def _create_or_update_initial( - self, resource_group_name, network_watcher_name, connection_monitor_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), - 'connectionMonitorName': self._serialize.url("connection_monitor_name", connection_monitor_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'ConnectionMonitor') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 201]: - raise models.ErrorResponseException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('ConnectionMonitorResult', response) - if response.status_code == 201: - deserialized = self._deserialize('ConnectionMonitorResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, network_watcher_name, connection_monitor_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Create or update a connection monitor. - - :param resource_group_name: The name of the resource group containing - Network Watcher. - :type resource_group_name: str - :param network_watcher_name: The name of the Network Watcher resource. - :type network_watcher_name: str - :param connection_monitor_name: The name of the connection monitor. - :type connection_monitor_name: str - :param parameters: Parameters that define the operation to create a - connection monitor. - :type parameters: - ~azure.mgmt.network.v2018_08_01.models.ConnectionMonitor - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns ConnectionMonitorResult - or ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.ConnectionMonitorResult] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.ConnectionMonitorResult]] - :raises: - :class:`ErrorResponseException` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - network_watcher_name=network_watcher_name, - connection_monitor_name=connection_monitor_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ConnectionMonitorResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}'} - - def get( - self, resource_group_name, network_watcher_name, connection_monitor_name, custom_headers=None, raw=False, **operation_config): - """Gets a connection monitor by name. - - :param resource_group_name: The name of the resource group containing - Network Watcher. - :type resource_group_name: str - :param network_watcher_name: The name of the Network Watcher resource. - :type network_watcher_name: str - :param connection_monitor_name: The name of the connection monitor. - :type connection_monitor_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ConnectionMonitorResult or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2018_08_01.models.ConnectionMonitorResult - or ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorResponseException` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), - 'connectionMonitorName': self._serialize.url("connection_monitor_name", connection_monitor_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorResponseException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('ConnectionMonitorResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}'} - - - def _delete_initial( - self, resource_group_name, network_watcher_name, connection_monitor_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), - 'connectionMonitorName': self._serialize.url("connection_monitor_name", connection_monitor_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [202, 204]: - raise models.ErrorResponseException(self._deserialize, response) - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, network_watcher_name, connection_monitor_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified connection monitor. - - :param resource_group_name: The name of the resource group containing - Network Watcher. - :type resource_group_name: str - :param network_watcher_name: The name of the Network Watcher resource. - :type network_watcher_name: str - :param connection_monitor_name: The name of the connection monitor. - :type connection_monitor_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: - :class:`ErrorResponseException` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - network_watcher_name=network_watcher_name, - connection_monitor_name=connection_monitor_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}'} - - - def _stop_initial( - self, resource_group_name, network_watcher_name, connection_monitor_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.stop.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), - 'connectionMonitorName': self._serialize.url("connection_monitor_name", connection_monitor_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - raise models.ErrorResponseException(self._deserialize, response) - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def stop( - self, resource_group_name, network_watcher_name, connection_monitor_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Stops the specified connection monitor. - - :param resource_group_name: The name of the resource group containing - Network Watcher. - :type resource_group_name: str - :param network_watcher_name: The name of the Network Watcher resource. - :type network_watcher_name: str - :param connection_monitor_name: The name of the connection monitor. - :type connection_monitor_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: - :class:`ErrorResponseException` - """ - raw_result = self._stop_initial( - resource_group_name=resource_group_name, - network_watcher_name=network_watcher_name, - connection_monitor_name=connection_monitor_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - stop.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}/stop'} - - - def _start_initial( - self, resource_group_name, network_watcher_name, connection_monitor_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.start.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), - 'connectionMonitorName': self._serialize.url("connection_monitor_name", connection_monitor_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - raise models.ErrorResponseException(self._deserialize, response) - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def start( - self, resource_group_name, network_watcher_name, connection_monitor_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Starts the specified connection monitor. - - :param resource_group_name: The name of the resource group containing - Network Watcher. - :type resource_group_name: str - :param network_watcher_name: The name of the Network Watcher resource. - :type network_watcher_name: str - :param connection_monitor_name: The name of the connection monitor. - :type connection_monitor_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: - :class:`ErrorResponseException` - """ - raw_result = self._start_initial( - resource_group_name=resource_group_name, - network_watcher_name=network_watcher_name, - connection_monitor_name=connection_monitor_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - start.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}/start'} - - - def _query_initial( - self, resource_group_name, network_watcher_name, connection_monitor_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.query.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), - 'connectionMonitorName': self._serialize.url("connection_monitor_name", connection_monitor_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - raise models.ErrorResponseException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('ConnectionMonitorQueryResult', response) - if response.status_code == 202: - deserialized = self._deserialize('ConnectionMonitorQueryResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def query( - self, resource_group_name, network_watcher_name, connection_monitor_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Query a snapshot of the most recent connection states. - - :param resource_group_name: The name of the resource group containing - Network Watcher. - :type resource_group_name: str - :param network_watcher_name: The name of the Network Watcher resource. - :type network_watcher_name: str - :param connection_monitor_name: The name given to the connection - monitor. - :type connection_monitor_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - ConnectionMonitorQueryResult or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.ConnectionMonitorQueryResult] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.ConnectionMonitorQueryResult]] - :raises: - :class:`ErrorResponseException` - """ - raw_result = self._query_initial( - resource_group_name=resource_group_name, - network_watcher_name=network_watcher_name, - connection_monitor_name=connection_monitor_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ConnectionMonitorQueryResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - query.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}/query'} - - def list( - self, resource_group_name, network_watcher_name, custom_headers=None, raw=False, **operation_config): - """Lists all connection monitors for the specified Network Watcher. - - :param resource_group_name: The name of the resource group containing - Network Watcher. - :type resource_group_name: str - :param network_watcher_name: The name of the Network Watcher resource. - :type network_watcher_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of ConnectionMonitorResult - :rtype: - ~azure.mgmt.network.v2018_08_01.models.ConnectionMonitorResultPaged[~azure.mgmt.network.v2018_08_01.models.ConnectionMonitorResult] - :raises: - :class:`ErrorResponseException` - """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorResponseException(self._deserialize, response) - - return response - - # Deserialize response - deserialized = models.ConnectionMonitorResultPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.ConnectionMonitorResultPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/ddos_protection_plans_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/ddos_protection_plans_operations.py deleted file mode 100644 index 320bbdbe87a..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/ddos_protection_plans_operations.py +++ /dev/null @@ -1,422 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class DdosProtectionPlansOperations(object): - """DdosProtectionPlansOperations operations. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2018-08-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2018-08-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, ddos_protection_plan_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'ddosProtectionPlanName': self._serialize.url("ddos_protection_plan_name", ddos_protection_plan_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, ddos_protection_plan_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified DDoS protection plan. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param ddos_protection_plan_name: The name of the DDoS protection - plan. - :type ddos_protection_plan_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - ddos_protection_plan_name=ddos_protection_plan_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosProtectionPlans/{ddosProtectionPlanName}'} - - def get( - self, resource_group_name, ddos_protection_plan_name, custom_headers=None, raw=False, **operation_config): - """Gets information about the specified DDoS protection plan. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param ddos_protection_plan_name: The name of the DDoS protection - plan. - :type ddos_protection_plan_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: DdosProtectionPlan or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2018_08_01.models.DdosProtectionPlan or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'ddosProtectionPlanName': self._serialize.url("ddos_protection_plan_name", ddos_protection_plan_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('DdosProtectionPlan', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosProtectionPlans/{ddosProtectionPlanName}'} - - - def _create_or_update_initial( - self, resource_group_name, ddos_protection_plan_name, location=None, tags=None, custom_headers=None, raw=False, **operation_config): - parameters = models.DdosProtectionPlan(location=location, tags=tags) - - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'ddosProtectionPlanName': self._serialize.url("ddos_protection_plan_name", ddos_protection_plan_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'DdosProtectionPlan') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('DdosProtectionPlan', response) - if response.status_code == 201: - deserialized = self._deserialize('DdosProtectionPlan', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, ddos_protection_plan_name, location=None, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates a DDoS protection plan. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param ddos_protection_plan_name: The name of the DDoS protection - plan. - :type ddos_protection_plan_name: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns DdosProtectionPlan or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.DdosProtectionPlan] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.DdosProtectionPlan]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - ddos_protection_plan_name=ddos_protection_plan_name, - location=location, - tags=tags, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('DdosProtectionPlan', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosProtectionPlans/{ddosProtectionPlanName}'} - - def list( - self, custom_headers=None, raw=False, **operation_config): - """Gets all DDoS protection plans in a subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of DdosProtectionPlan - :rtype: - ~azure.mgmt.network.v2018_08_01.models.DdosProtectionPlanPaged[~azure.mgmt.network.v2018_08_01.models.DdosProtectionPlan] - :raises: :class:`CloudError` - """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - deserialized = models.DdosProtectionPlanPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.DdosProtectionPlanPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/ddosProtectionPlans'} - - def list_by_resource_group( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Gets all the DDoS protection plans in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of DdosProtectionPlan - :rtype: - ~azure.mgmt.network.v2018_08_01.models.DdosProtectionPlanPaged[~azure.mgmt.network.v2018_08_01.models.DdosProtectionPlan] - :raises: :class:`CloudError` - """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list_by_resource_group.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - deserialized = models.DdosProtectionPlanPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.DdosProtectionPlanPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosProtectionPlans'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/default_security_rules_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/default_security_rules_operations.py deleted file mode 100644 index c0cf59ecccc..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/default_security_rules_operations.py +++ /dev/null @@ -1,176 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError - -from .. import models - - -class DefaultSecurityRulesOperations(object): - """DefaultSecurityRulesOperations operations. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2018-08-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2018-08-01" - - self.config = config - - def list( - self, resource_group_name, network_security_group_name, custom_headers=None, raw=False, **operation_config): - """Gets all default security rules in a network security group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_security_group_name: The name of the network security - group. - :type network_security_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of SecurityRule - :rtype: - ~azure.mgmt.network.v2018_08_01.models.SecurityRulePaged[~azure.mgmt.network.v2018_08_01.models.SecurityRule] - :raises: :class:`CloudError` - """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkSecurityGroupName': self._serialize.url("network_security_group_name", network_security_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - deserialized = models.SecurityRulePaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.SecurityRulePaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/defaultSecurityRules'} - - def get( - self, resource_group_name, network_security_group_name, default_security_rule_name, custom_headers=None, raw=False, **operation_config): - """Get the specified default network security rule. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_security_group_name: The name of the network security - group. - :type network_security_group_name: str - :param default_security_rule_name: The name of the default security - rule. - :type default_security_rule_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: SecurityRule or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2018_08_01.models.SecurityRule or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkSecurityGroupName': self._serialize.url("network_security_group_name", network_security_group_name, 'str'), - 'defaultSecurityRuleName': self._serialize.url("default_security_rule_name", default_security_rule_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('SecurityRule', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/defaultSecurityRules/{defaultSecurityRuleName}'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/express_route_circuit_authorizations_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/express_route_circuit_authorizations_operations.py deleted file mode 100644 index 82a5f2d2ba7..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/express_route_circuit_authorizations_operations.py +++ /dev/null @@ -1,372 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class ExpressRouteCircuitAuthorizationsOperations(object): - """ExpressRouteCircuitAuthorizationsOperations operations. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2018-08-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2018-08-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, circuit_name, authorization_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), - 'authorizationName': self._serialize.url("authorization_name", authorization_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, circuit_name, authorization_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified authorization from the specified express route - circuit. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param circuit_name: The name of the express route circuit. - :type circuit_name: str - :param authorization_name: The name of the authorization. - :type authorization_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - circuit_name=circuit_name, - authorization_name=authorization_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/authorizations/{authorizationName}'} - - def get( - self, resource_group_name, circuit_name, authorization_name, custom_headers=None, raw=False, **operation_config): - """Gets the specified authorization from the specified express route - circuit. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param circuit_name: The name of the express route circuit. - :type circuit_name: str - :param authorization_name: The name of the authorization. - :type authorization_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ExpressRouteCircuitAuthorization or ClientRawResponse if - raw=true - :rtype: - ~azure.mgmt.network.v2018_08_01.models.ExpressRouteCircuitAuthorization - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), - 'authorizationName': self._serialize.url("authorization_name", authorization_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ExpressRouteCircuitAuthorization', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/authorizations/{authorizationName}'} - - - def _create_or_update_initial( - self, resource_group_name, circuit_name, authorization_name, authorization_parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), - 'authorizationName': self._serialize.url("authorization_name", authorization_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(authorization_parameters, 'ExpressRouteCircuitAuthorization') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('ExpressRouteCircuitAuthorization', response) - if response.status_code == 201: - deserialized = self._deserialize('ExpressRouteCircuitAuthorization', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, circuit_name, authorization_name, authorization_parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates an authorization in the specified express route - circuit. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param circuit_name: The name of the express route circuit. - :type circuit_name: str - :param authorization_name: The name of the authorization. - :type authorization_name: str - :param authorization_parameters: Parameters supplied to the create or - update express route circuit authorization operation. - :type authorization_parameters: - ~azure.mgmt.network.v2018_08_01.models.ExpressRouteCircuitAuthorization - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - ExpressRouteCircuitAuthorization or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.ExpressRouteCircuitAuthorization] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.ExpressRouteCircuitAuthorization]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - circuit_name=circuit_name, - authorization_name=authorization_name, - authorization_parameters=authorization_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ExpressRouteCircuitAuthorization', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/authorizations/{authorizationName}'} - - def list( - self, resource_group_name, circuit_name, custom_headers=None, raw=False, **operation_config): - """Gets all authorizations in an express route circuit. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param circuit_name: The name of the circuit. - :type circuit_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of ExpressRouteCircuitAuthorization - :rtype: - ~azure.mgmt.network.v2018_08_01.models.ExpressRouteCircuitAuthorizationPaged[~azure.mgmt.network.v2018_08_01.models.ExpressRouteCircuitAuthorization] - :raises: :class:`CloudError` - """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - deserialized = models.ExpressRouteCircuitAuthorizationPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.ExpressRouteCircuitAuthorizationPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/authorizations'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/express_route_circuit_connections_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/express_route_circuit_connections_operations.py deleted file mode 100644 index c18565a28bd..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/express_route_circuit_connections_operations.py +++ /dev/null @@ -1,317 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class ExpressRouteCircuitConnectionsOperations(object): - """ExpressRouteCircuitConnectionsOperations operations. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2018-08-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2018-08-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, circuit_name, peering_name, connection_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), - 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), - 'connectionName': self._serialize.url("connection_name", connection_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, circuit_name, peering_name, connection_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified Express Route Circuit Connection from the - specified express route circuit. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param circuit_name: The name of the express route circuit. - :type circuit_name: str - :param peering_name: The name of the peering. - :type peering_name: str - :param connection_name: The name of the express route circuit - connection. - :type connection_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - circuit_name=circuit_name, - peering_name=peering_name, - connection_name=connection_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/connections/{connectionName}'} - - def get( - self, resource_group_name, circuit_name, peering_name, connection_name, custom_headers=None, raw=False, **operation_config): - """Gets the specified Express Route Circuit Connection from the specified - express route circuit. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param circuit_name: The name of the express route circuit. - :type circuit_name: str - :param peering_name: The name of the peering. - :type peering_name: str - :param connection_name: The name of the express route circuit - connection. - :type connection_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ExpressRouteCircuitConnection or ClientRawResponse if - raw=true - :rtype: - ~azure.mgmt.network.v2018_08_01.models.ExpressRouteCircuitConnection - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), - 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), - 'connectionName': self._serialize.url("connection_name", connection_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ExpressRouteCircuitConnection', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/connections/{connectionName}'} - - - def _create_or_update_initial( - self, resource_group_name, circuit_name, peering_name, connection_name, express_route_circuit_connection_parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), - 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), - 'connectionName': self._serialize.url("connection_name", connection_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(express_route_circuit_connection_parameters, 'ExpressRouteCircuitConnection') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('ExpressRouteCircuitConnection', response) - if response.status_code == 201: - deserialized = self._deserialize('ExpressRouteCircuitConnection', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, circuit_name, peering_name, connection_name, express_route_circuit_connection_parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates a Express Route Circuit Connection in the specified - express route circuits. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param circuit_name: The name of the express route circuit. - :type circuit_name: str - :param peering_name: The name of the peering. - :type peering_name: str - :param connection_name: The name of the express route circuit - connection. - :type connection_name: str - :param express_route_circuit_connection_parameters: Parameters - supplied to the create or update express route circuit circuit - connection operation. - :type express_route_circuit_connection_parameters: - ~azure.mgmt.network.v2018_08_01.models.ExpressRouteCircuitConnection - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - ExpressRouteCircuitConnection or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.ExpressRouteCircuitConnection] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.ExpressRouteCircuitConnection]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - circuit_name=circuit_name, - peering_name=peering_name, - connection_name=connection_name, - express_route_circuit_connection_parameters=express_route_circuit_connection_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ExpressRouteCircuitConnection', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/connections/{connectionName}'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/express_route_circuit_peerings_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/express_route_circuit_peerings_operations.py deleted file mode 100644 index d7969590a31..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/express_route_circuit_peerings_operations.py +++ /dev/null @@ -1,368 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class ExpressRouteCircuitPeeringsOperations(object): - """ExpressRouteCircuitPeeringsOperations operations. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2018-08-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2018-08-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, circuit_name, peering_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), - 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, circuit_name, peering_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified peering from the specified express route circuit. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param circuit_name: The name of the express route circuit. - :type circuit_name: str - :param peering_name: The name of the peering. - :type peering_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - circuit_name=circuit_name, - peering_name=peering_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}'} - - def get( - self, resource_group_name, circuit_name, peering_name, custom_headers=None, raw=False, **operation_config): - """Gets the specified peering for the express route circuit. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param circuit_name: The name of the express route circuit. - :type circuit_name: str - :param peering_name: The name of the peering. - :type peering_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ExpressRouteCircuitPeering or ClientRawResponse if raw=true - :rtype: - ~azure.mgmt.network.v2018_08_01.models.ExpressRouteCircuitPeering or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), - 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ExpressRouteCircuitPeering', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}'} - - - def _create_or_update_initial( - self, resource_group_name, circuit_name, peering_name, peering_parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), - 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(peering_parameters, 'ExpressRouteCircuitPeering') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('ExpressRouteCircuitPeering', response) - if response.status_code == 201: - deserialized = self._deserialize('ExpressRouteCircuitPeering', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, circuit_name, peering_name, peering_parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates a peering in the specified express route circuits. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param circuit_name: The name of the express route circuit. - :type circuit_name: str - :param peering_name: The name of the peering. - :type peering_name: str - :param peering_parameters: Parameters supplied to the create or update - express route circuit peering operation. - :type peering_parameters: - ~azure.mgmt.network.v2018_08_01.models.ExpressRouteCircuitPeering - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - ExpressRouteCircuitPeering or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.ExpressRouteCircuitPeering] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.ExpressRouteCircuitPeering]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - circuit_name=circuit_name, - peering_name=peering_name, - peering_parameters=peering_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ExpressRouteCircuitPeering', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}'} - - def list( - self, resource_group_name, circuit_name, custom_headers=None, raw=False, **operation_config): - """Gets all peerings in a specified express route circuit. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param circuit_name: The name of the express route circuit. - :type circuit_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of ExpressRouteCircuitPeering - :rtype: - ~azure.mgmt.network.v2018_08_01.models.ExpressRouteCircuitPeeringPaged[~azure.mgmt.network.v2018_08_01.models.ExpressRouteCircuitPeering] - :raises: :class:`CloudError` - """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - deserialized = models.ExpressRouteCircuitPeeringPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.ExpressRouteCircuitPeeringPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/express_route_circuits_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/express_route_circuits_operations.py deleted file mode 100644 index e0d60af9563..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/express_route_circuits_operations.py +++ /dev/null @@ -1,958 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class ExpressRouteCircuitsOperations(object): - """ExpressRouteCircuitsOperations operations. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2018-08-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2018-08-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, circuit_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, circuit_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified express route circuit. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param circuit_name: The name of the express route circuit. - :type circuit_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - circuit_name=circuit_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}'} - - def get( - self, resource_group_name, circuit_name, custom_headers=None, raw=False, **operation_config): - """Gets information about the specified express route circuit. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param circuit_name: The name of express route circuit. - :type circuit_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ExpressRouteCircuit or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2018_08_01.models.ExpressRouteCircuit or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ExpressRouteCircuit', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}'} - - - def _create_or_update_initial( - self, resource_group_name, circuit_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'ExpressRouteCircuit') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('ExpressRouteCircuit', response) - if response.status_code == 201: - deserialized = self._deserialize('ExpressRouteCircuit', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, circuit_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates an express route circuit. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param circuit_name: The name of the circuit. - :type circuit_name: str - :param parameters: Parameters supplied to the create or update express - route circuit operation. - :type parameters: - ~azure.mgmt.network.v2018_08_01.models.ExpressRouteCircuit - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns ExpressRouteCircuit or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.ExpressRouteCircuit] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.ExpressRouteCircuit]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - circuit_name=circuit_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ExpressRouteCircuit', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}'} - - - def _update_tags_initial( - self, resource_group_name, circuit_name, tags=None, custom_headers=None, raw=False, **operation_config): - parameters = models.TagsObject(tags=tags) - - # Construct URL - url = self.update_tags.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'TagsObject') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ExpressRouteCircuit', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def update_tags( - self, resource_group_name, circuit_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Updates an express route circuit tags. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param circuit_name: The name of the circuit. - :type circuit_name: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns ExpressRouteCircuit or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.ExpressRouteCircuit] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.ExpressRouteCircuit]] - :raises: :class:`CloudError` - """ - raw_result = self._update_tags_initial( - resource_group_name=resource_group_name, - circuit_name=circuit_name, - tags=tags, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ExpressRouteCircuit', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}'} - - - def _list_arp_table_initial( - self, resource_group_name, circuit_name, peering_name, device_path, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.list_arp_table.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), - 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), - 'devicePath': self._serialize.url("device_path", device_path, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - 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('ExpressRouteCircuitsArpTableListResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def list_arp_table( - self, resource_group_name, circuit_name, peering_name, device_path, custom_headers=None, raw=False, polling=True, **operation_config): - """Gets the currently advertised ARP table associated with the express - route circuit in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param circuit_name: The name of the express route circuit. - :type circuit_name: str - :param peering_name: The name of the peering. - :type peering_name: str - :param device_path: The path of the device. - :type device_path: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - ExpressRouteCircuitsArpTableListResult or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.ExpressRouteCircuitsArpTableListResult] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.ExpressRouteCircuitsArpTableListResult]] - :raises: :class:`CloudError` - """ - raw_result = self._list_arp_table_initial( - resource_group_name=resource_group_name, - circuit_name=circuit_name, - peering_name=peering_name, - device_path=device_path, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ExpressRouteCircuitsArpTableListResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - list_arp_table.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/arpTables/{devicePath}'} - - - def _list_routes_table_initial( - self, resource_group_name, circuit_name, peering_name, device_path, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.list_routes_table.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), - 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), - 'devicePath': self._serialize.url("device_path", device_path, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - 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('ExpressRouteCircuitsRoutesTableListResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def list_routes_table( - self, resource_group_name, circuit_name, peering_name, device_path, custom_headers=None, raw=False, polling=True, **operation_config): - """Gets the currently advertised routes table associated with the express - route circuit in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param circuit_name: The name of the express route circuit. - :type circuit_name: str - :param peering_name: The name of the peering. - :type peering_name: str - :param device_path: The path of the device. - :type device_path: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - ExpressRouteCircuitsRoutesTableListResult or - ClientRawResponse if - raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.ExpressRouteCircuitsRoutesTableListResult] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.ExpressRouteCircuitsRoutesTableListResult]] - :raises: :class:`CloudError` - """ - raw_result = self._list_routes_table_initial( - resource_group_name=resource_group_name, - circuit_name=circuit_name, - peering_name=peering_name, - device_path=device_path, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ExpressRouteCircuitsRoutesTableListResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - list_routes_table.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/routeTables/{devicePath}'} - - - def _list_routes_table_summary_initial( - self, resource_group_name, circuit_name, peering_name, device_path, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.list_routes_table_summary.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), - 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), - 'devicePath': self._serialize.url("device_path", device_path, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - 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('ExpressRouteCircuitsRoutesTableSummaryListResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def list_routes_table_summary( - self, resource_group_name, circuit_name, peering_name, device_path, custom_headers=None, raw=False, polling=True, **operation_config): - """Gets the currently advertised routes table summary associated with the - express route circuit in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param circuit_name: The name of the express route circuit. - :type circuit_name: str - :param peering_name: The name of the peering. - :type peering_name: str - :param device_path: The path of the device. - :type device_path: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - ExpressRouteCircuitsRoutesTableSummaryListResult or - ClientRawResponse if - raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.ExpressRouteCircuitsRoutesTableSummaryListResult] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.ExpressRouteCircuitsRoutesTableSummaryListResult]] - :raises: :class:`CloudError` - """ - raw_result = self._list_routes_table_summary_initial( - resource_group_name=resource_group_name, - circuit_name=circuit_name, - peering_name=peering_name, - device_path=device_path, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ExpressRouteCircuitsRoutesTableSummaryListResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - list_routes_table_summary.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/routeTablesSummary/{devicePath}'} - - def get_stats( - self, resource_group_name, circuit_name, custom_headers=None, raw=False, **operation_config): - """Gets all the stats from an express route circuit in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param circuit_name: The name of the express route circuit. - :type circuit_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ExpressRouteCircuitStats or ClientRawResponse if raw=true - :rtype: - ~azure.mgmt.network.v2018_08_01.models.ExpressRouteCircuitStats or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get_stats.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ExpressRouteCircuitStats', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get_stats.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/stats'} - - def get_peering_stats( - self, resource_group_name, circuit_name, peering_name, custom_headers=None, raw=False, **operation_config): - """Gets all stats from an express route circuit in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param circuit_name: The name of the express route circuit. - :type circuit_name: str - :param peering_name: The name of the peering. - :type peering_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ExpressRouteCircuitStats or ClientRawResponse if raw=true - :rtype: - ~azure.mgmt.network.v2018_08_01.models.ExpressRouteCircuitStats or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get_peering_stats.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), - 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ExpressRouteCircuitStats', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get_peering_stats.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/stats'} - - def list( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Gets all the express route circuits in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of ExpressRouteCircuit - :rtype: - ~azure.mgmt.network.v2018_08_01.models.ExpressRouteCircuitPaged[~azure.mgmt.network.v2018_08_01.models.ExpressRouteCircuit] - :raises: :class:`CloudError` - """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - deserialized = models.ExpressRouteCircuitPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.ExpressRouteCircuitPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits'} - - def list_all( - self, custom_headers=None, raw=False, **operation_config): - """Gets all the express route circuits in a subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of ExpressRouteCircuit - :rtype: - ~azure.mgmt.network.v2018_08_01.models.ExpressRouteCircuitPaged[~azure.mgmt.network.v2018_08_01.models.ExpressRouteCircuit] - :raises: :class:`CloudError` - """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list_all.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - deserialized = models.ExpressRouteCircuitPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.ExpressRouteCircuitPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/expressRouteCircuits'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/express_route_connections_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/express_route_connections_operations.py deleted file mode 100644 index bc04575bf61..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/express_route_connections_operations.py +++ /dev/null @@ -1,364 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class ExpressRouteConnectionsOperations(object): - """ExpressRouteConnectionsOperations operations. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2018-08-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2018-08-01" - - self.config = config - - - def _create_or_update_initial( - self, resource_group_name, express_route_gateway_name, connection_name, put_express_route_connection_parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'expressRouteGatewayName': self._serialize.url("express_route_gateway_name", express_route_gateway_name, 'str'), - 'connectionName': self._serialize.url("connection_name", connection_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(put_express_route_connection_parameters, 'ExpressRouteConnection') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('ExpressRouteConnection', response) - if response.status_code == 201: - deserialized = self._deserialize('ExpressRouteConnection', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, express_route_gateway_name, connection_name, put_express_route_connection_parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates a connection between an ExpressRoute gateway and an - ExpressRoute circuit. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param express_route_gateway_name: The name of the ExpressRoute - gateway. - :type express_route_gateway_name: str - :param connection_name: The name of the connection subresource. - :type connection_name: str - :param put_express_route_connection_parameters: Parameters required in - an ExpressRouteConnection PUT operation. - :type put_express_route_connection_parameters: - ~azure.mgmt.network.v2018_08_01.models.ExpressRouteConnection - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns ExpressRouteConnection - or ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.ExpressRouteConnection] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.ExpressRouteConnection]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - express_route_gateway_name=express_route_gateway_name, - connection_name=connection_name, - put_express_route_connection_parameters=put_express_route_connection_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ExpressRouteConnection', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteGateways/{expressRouteGatewayName}/expressRouteConnections/{connectionName}'} - - def get( - self, resource_group_name, express_route_gateway_name, connection_name, custom_headers=None, raw=False, **operation_config): - """Gets the specified ExpressRouteConnection. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param express_route_gateway_name: The name of the ExpressRoute - gateway. - :type express_route_gateway_name: str - :param connection_name: The name of the ExpressRoute connection. - :type connection_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ExpressRouteConnection or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2018_08_01.models.ExpressRouteConnection - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'expressRouteGatewayName': self._serialize.url("express_route_gateway_name", express_route_gateway_name, 'str'), - 'connectionName': self._serialize.url("connection_name", connection_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ExpressRouteConnection', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteGateways/{expressRouteGatewayName}/expressRouteConnections/{connectionName}'} - - - def _delete_initial( - self, resource_group_name, express_route_gateway_name, connection_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'expressRouteGatewayName': self._serialize.url("express_route_gateway_name", express_route_gateway_name, 'str'), - 'connectionName': self._serialize.url("connection_name", connection_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, express_route_gateway_name, connection_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes a connection to a ExpressRoute circuit. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param express_route_gateway_name: The name of the ExpressRoute - gateway. - :type express_route_gateway_name: str - :param connection_name: The name of the connection subresource. - :type connection_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - express_route_gateway_name=express_route_gateway_name, - connection_name=connection_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteGateways/{expressRouteGatewayName}/expressRouteConnections/{connectionName}'} - - def list( - self, resource_group_name, express_route_gateway_name, custom_headers=None, raw=False, **operation_config): - """Lists ExpressRouteConnections. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param express_route_gateway_name: The name of the ExpressRoute - gateway. - :type express_route_gateway_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ExpressRouteConnectionList or ClientRawResponse if raw=true - :rtype: - ~azure.mgmt.network.v2018_08_01.models.ExpressRouteConnectionList or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'expressRouteGatewayName': self._serialize.url("express_route_gateway_name", express_route_gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ExpressRouteConnectionList', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteGateways/{expressRouteGatewayName}/expressRouteConnections'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/express_route_cross_connection_peerings_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/express_route_cross_connection_peerings_operations.py deleted file mode 100644 index 33848a4f313..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/express_route_cross_connection_peerings_operations.py +++ /dev/null @@ -1,375 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class ExpressRouteCrossConnectionPeeringsOperations(object): - """ExpressRouteCrossConnectionPeeringsOperations operations. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2018-08-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2018-08-01" - - self.config = config - - def list( - self, resource_group_name, cross_connection_name, custom_headers=None, raw=False, **operation_config): - """Gets all peerings in a specified ExpressRouteCrossConnection. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param cross_connection_name: The name of the - ExpressRouteCrossConnection. - :type cross_connection_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of - ExpressRouteCrossConnectionPeering - :rtype: - ~azure.mgmt.network.v2018_08_01.models.ExpressRouteCrossConnectionPeeringPaged[~azure.mgmt.network.v2018_08_01.models.ExpressRouteCrossConnectionPeering] - :raises: :class:`CloudError` - """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'crossConnectionName': self._serialize.url("cross_connection_name", cross_connection_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - deserialized = models.ExpressRouteCrossConnectionPeeringPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.ExpressRouteCrossConnectionPeeringPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings'} - - - def _delete_initial( - self, resource_group_name, cross_connection_name, peering_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'crossConnectionName': self._serialize.url("cross_connection_name", cross_connection_name, 'str'), - 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, cross_connection_name, peering_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified peering from the ExpressRouteCrossConnection. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param cross_connection_name: The name of the - ExpressRouteCrossConnection. - :type cross_connection_name: str - :param peering_name: The name of the peering. - :type peering_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - cross_connection_name=cross_connection_name, - peering_name=peering_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}'} - - def get( - self, resource_group_name, cross_connection_name, peering_name, custom_headers=None, raw=False, **operation_config): - """Gets the specified peering for the ExpressRouteCrossConnection. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param cross_connection_name: The name of the - ExpressRouteCrossConnection. - :type cross_connection_name: str - :param peering_name: The name of the peering. - :type peering_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ExpressRouteCrossConnectionPeering or ClientRawResponse if - raw=true - :rtype: - ~azure.mgmt.network.v2018_08_01.models.ExpressRouteCrossConnectionPeering - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'crossConnectionName': self._serialize.url("cross_connection_name", cross_connection_name, 'str'), - 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ExpressRouteCrossConnectionPeering', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}'} - - - def _create_or_update_initial( - self, resource_group_name, cross_connection_name, peering_name, peering_parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'crossConnectionName': self._serialize.url("cross_connection_name", cross_connection_name, 'str'), - 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(peering_parameters, 'ExpressRouteCrossConnectionPeering') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('ExpressRouteCrossConnectionPeering', response) - if response.status_code == 201: - deserialized = self._deserialize('ExpressRouteCrossConnectionPeering', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, cross_connection_name, peering_name, peering_parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates a peering in the specified - ExpressRouteCrossConnection. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param cross_connection_name: The name of the - ExpressRouteCrossConnection. - :type cross_connection_name: str - :param peering_name: The name of the peering. - :type peering_name: str - :param peering_parameters: Parameters supplied to the create or update - ExpressRouteCrossConnection peering operation. - :type peering_parameters: - ~azure.mgmt.network.v2018_08_01.models.ExpressRouteCrossConnectionPeering - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - ExpressRouteCrossConnectionPeering or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.ExpressRouteCrossConnectionPeering] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.ExpressRouteCrossConnectionPeering]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - cross_connection_name=cross_connection_name, - peering_name=peering_name, - peering_parameters=peering_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ExpressRouteCrossConnectionPeering', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/express_route_cross_connections_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/express_route_cross_connections_operations.py deleted file mode 100644 index 1f5558348c7..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/express_route_cross_connections_operations.py +++ /dev/null @@ -1,757 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class ExpressRouteCrossConnectionsOperations(object): - """ExpressRouteCrossConnectionsOperations operations. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2018-08-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2018-08-01" - - self.config = config - - def list( - self, custom_headers=None, raw=False, **operation_config): - """Retrieves all the ExpressRouteCrossConnections in a subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of ExpressRouteCrossConnection - :rtype: - ~azure.mgmt.network.v2018_08_01.models.ExpressRouteCrossConnectionPaged[~azure.mgmt.network.v2018_08_01.models.ExpressRouteCrossConnection] - :raises: :class:`CloudError` - """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - deserialized = models.ExpressRouteCrossConnectionPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.ExpressRouteCrossConnectionPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/expressRouteCrossConnections'} - - def list_by_resource_group( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Retrieves all the ExpressRouteCrossConnections in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of ExpressRouteCrossConnection - :rtype: - ~azure.mgmt.network.v2018_08_01.models.ExpressRouteCrossConnectionPaged[~azure.mgmt.network.v2018_08_01.models.ExpressRouteCrossConnection] - :raises: :class:`CloudError` - """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list_by_resource_group.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - deserialized = models.ExpressRouteCrossConnectionPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.ExpressRouteCrossConnectionPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections'} - - def get( - self, resource_group_name, cross_connection_name, custom_headers=None, raw=False, **operation_config): - """Gets details about the specified ExpressRouteCrossConnection. - - :param resource_group_name: The name of the resource group (peering - location of the circuit). - :type resource_group_name: str - :param cross_connection_name: The name of the - ExpressRouteCrossConnection (service key of the circuit). - :type cross_connection_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ExpressRouteCrossConnection or ClientRawResponse if raw=true - :rtype: - ~azure.mgmt.network.v2018_08_01.models.ExpressRouteCrossConnection or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'crossConnectionName': self._serialize.url("cross_connection_name", cross_connection_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ExpressRouteCrossConnection', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}'} - - - def _create_or_update_initial( - self, resource_group_name, cross_connection_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'crossConnectionName': self._serialize.url("cross_connection_name", cross_connection_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'ExpressRouteCrossConnection') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ExpressRouteCrossConnection', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, cross_connection_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Update the specified ExpressRouteCrossConnection. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param cross_connection_name: The name of the - ExpressRouteCrossConnection. - :type cross_connection_name: str - :param parameters: Parameters supplied to the update express route - crossConnection operation. - :type parameters: - ~azure.mgmt.network.v2018_08_01.models.ExpressRouteCrossConnection - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - ExpressRouteCrossConnection or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.ExpressRouteCrossConnection] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.ExpressRouteCrossConnection]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - cross_connection_name=cross_connection_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ExpressRouteCrossConnection', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}'} - - - def _update_tags_initial( - self, resource_group_name, cross_connection_name, tags=None, custom_headers=None, raw=False, **operation_config): - cross_connection_parameters = models.TagsObject(tags=tags) - - # Construct URL - url = self.update_tags.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'crossConnectionName': self._serialize.url("cross_connection_name", cross_connection_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(cross_connection_parameters, 'TagsObject') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ExpressRouteCrossConnection', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def update_tags( - self, resource_group_name, cross_connection_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Updates an express route cross connection tags. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param cross_connection_name: The name of the cross connection. - :type cross_connection_name: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - ExpressRouteCrossConnection or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.ExpressRouteCrossConnection] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.ExpressRouteCrossConnection]] - :raises: :class:`CloudError` - """ - raw_result = self._update_tags_initial( - resource_group_name=resource_group_name, - cross_connection_name=cross_connection_name, - tags=tags, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ExpressRouteCrossConnection', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}'} - - - def _list_arp_table_initial( - self, resource_group_name, cross_connection_name, peering_name, device_path, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.list_arp_table.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'crossConnectionName': self._serialize.url("cross_connection_name", cross_connection_name, 'str'), - 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), - 'devicePath': self._serialize.url("device_path", device_path, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - 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('ExpressRouteCircuitsArpTableListResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def list_arp_table( - self, resource_group_name, cross_connection_name, peering_name, device_path, custom_headers=None, raw=False, polling=True, **operation_config): - """Gets the currently advertised ARP table associated with the express - route cross connection in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param cross_connection_name: The name of the - ExpressRouteCrossConnection. - :type cross_connection_name: str - :param peering_name: The name of the peering. - :type peering_name: str - :param device_path: The path of the device - :type device_path: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - ExpressRouteCircuitsArpTableListResult or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.ExpressRouteCircuitsArpTableListResult] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.ExpressRouteCircuitsArpTableListResult]] - :raises: :class:`CloudError` - """ - raw_result = self._list_arp_table_initial( - resource_group_name=resource_group_name, - cross_connection_name=cross_connection_name, - peering_name=peering_name, - device_path=device_path, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ExpressRouteCircuitsArpTableListResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - list_arp_table.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}/arpTables/{devicePath}'} - - - def _list_routes_table_summary_initial( - self, resource_group_name, cross_connection_name, peering_name, device_path, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.list_routes_table_summary.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'crossConnectionName': self._serialize.url("cross_connection_name", cross_connection_name, 'str'), - 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), - 'devicePath': self._serialize.url("device_path", device_path, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - 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('ExpressRouteCrossConnectionsRoutesTableSummaryListResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def list_routes_table_summary( - self, resource_group_name, cross_connection_name, peering_name, device_path, custom_headers=None, raw=False, polling=True, **operation_config): - """Gets the route table summary associated with the express route cross - connection in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param cross_connection_name: The name of the - ExpressRouteCrossConnection. - :type cross_connection_name: str - :param peering_name: The name of the peering. - :type peering_name: str - :param device_path: The path of the device. - :type device_path: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - ExpressRouteCrossConnectionsRoutesTableSummaryListResult or - ClientRawResponse - if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.ExpressRouteCrossConnectionsRoutesTableSummaryListResult] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.ExpressRouteCrossConnectionsRoutesTableSummaryListResult]] - :raises: :class:`CloudError` - """ - raw_result = self._list_routes_table_summary_initial( - resource_group_name=resource_group_name, - cross_connection_name=cross_connection_name, - peering_name=peering_name, - device_path=device_path, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ExpressRouteCrossConnectionsRoutesTableSummaryListResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - list_routes_table_summary.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}/routeTablesSummary/{devicePath}'} - - - def _list_routes_table_initial( - self, resource_group_name, cross_connection_name, peering_name, device_path, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.list_routes_table.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'crossConnectionName': self._serialize.url("cross_connection_name", cross_connection_name, 'str'), - 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), - 'devicePath': self._serialize.url("device_path", device_path, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - 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('ExpressRouteCircuitsRoutesTableListResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def list_routes_table( - self, resource_group_name, cross_connection_name, peering_name, device_path, custom_headers=None, raw=False, polling=True, **operation_config): - """Gets the currently advertised routes table associated with the express - route cross connection in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param cross_connection_name: The name of the - ExpressRouteCrossConnection. - :type cross_connection_name: str - :param peering_name: The name of the peering. - :type peering_name: str - :param device_path: The path of the device. - :type device_path: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - ExpressRouteCircuitsRoutesTableListResult or - ClientRawResponse if - raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.ExpressRouteCircuitsRoutesTableListResult] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.ExpressRouteCircuitsRoutesTableListResult]] - :raises: :class:`CloudError` - """ - raw_result = self._list_routes_table_initial( - resource_group_name=resource_group_name, - cross_connection_name=cross_connection_name, - peering_name=peering_name, - device_path=device_path, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ExpressRouteCircuitsRoutesTableListResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - list_routes_table.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}/routeTables/{devicePath}'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/express_route_gateways_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/express_route_gateways_operations.py deleted file mode 100644 index a8d5c40f9e0..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/express_route_gateways_operations.py +++ /dev/null @@ -1,406 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class ExpressRouteGatewaysOperations(object): - """ExpressRouteGatewaysOperations operations. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2018-08-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2018-08-01" - - self.config = config - - def list_by_subscription( - self, custom_headers=None, raw=False, **operation_config): - """Lists ExpressRoute gateways under a given subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ExpressRouteGatewayList or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2018_08_01.models.ExpressRouteGatewayList - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.list_by_subscription.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ExpressRouteGatewayList', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - list_by_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/expressRouteGateways'} - - def list_by_resource_group( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Lists ExpressRoute gateways in a given resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ExpressRouteGatewayList or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2018_08_01.models.ExpressRouteGatewayList - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.list_by_resource_group.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ExpressRouteGatewayList', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteGateways'} - - - def _create_or_update_initial( - self, resource_group_name, express_route_gateway_name, put_express_route_gateway_parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'expressRouteGatewayName': self._serialize.url("express_route_gateway_name", express_route_gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(put_express_route_gateway_parameters, 'ExpressRouteGateway') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('ExpressRouteGateway', response) - if response.status_code == 201: - deserialized = self._deserialize('ExpressRouteGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, express_route_gateway_name, put_express_route_gateway_parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates a ExpressRoute gateway in a specified resource - group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param express_route_gateway_name: The name of the ExpressRoute - gateway. - :type express_route_gateway_name: str - :param put_express_route_gateway_parameters: Parameters required in an - ExpressRoute gateway PUT operation. - :type put_express_route_gateway_parameters: - ~azure.mgmt.network.v2018_08_01.models.ExpressRouteGateway - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns ExpressRouteGateway or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.ExpressRouteGateway] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.ExpressRouteGateway]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - express_route_gateway_name=express_route_gateway_name, - put_express_route_gateway_parameters=put_express_route_gateway_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ExpressRouteGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteGateways/{expressRouteGatewayName}'} - - def get( - self, resource_group_name, express_route_gateway_name, custom_headers=None, raw=False, **operation_config): - """Fetches the details of a ExpressRoute gateway in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param express_route_gateway_name: The name of the ExpressRoute - gateway. - :type express_route_gateway_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ExpressRouteGateway or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2018_08_01.models.ExpressRouteGateway or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'expressRouteGatewayName': self._serialize.url("express_route_gateway_name", express_route_gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 404]: - 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('ExpressRouteGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteGateways/{expressRouteGatewayName}'} - - - def _delete_initial( - self, resource_group_name, express_route_gateway_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'expressRouteGatewayName': self._serialize.url("express_route_gateway_name", express_route_gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, express_route_gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified ExpressRoute gateway in a resource group. An - ExpressRoute gateway resource can only be deleted when there are no - connection subresources. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param express_route_gateway_name: The name of the ExpressRoute - gateway. - :type express_route_gateway_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - express_route_gateway_name=express_route_gateway_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteGateways/{expressRouteGatewayName}'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/express_route_service_providers_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/express_route_service_providers_operations.py deleted file mode 100644 index f0e81058782..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/express_route_service_providers_operations.py +++ /dev/null @@ -1,102 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError - -from .. import models - - -class ExpressRouteServiceProvidersOperations(object): - """ExpressRouteServiceProvidersOperations operations. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2018-08-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2018-08-01" - - self.config = config - - def list( - self, custom_headers=None, raw=False, **operation_config): - """Gets all the available express route service providers. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of ExpressRouteServiceProvider - :rtype: - ~azure.mgmt.network.v2018_08_01.models.ExpressRouteServiceProviderPaged[~azure.mgmt.network.v2018_08_01.models.ExpressRouteServiceProvider] - :raises: :class:`CloudError` - """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - deserialized = models.ExpressRouteServiceProviderPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.ExpressRouteServiceProviderPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/expressRouteServiceProviders'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/hub_virtual_network_connections_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/hub_virtual_network_connections_operations.py deleted file mode 100644 index c1e0dd07725..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/hub_virtual_network_connections_operations.py +++ /dev/null @@ -1,171 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse - -from .. import models - - -class HubVirtualNetworkConnectionsOperations(object): - """HubVirtualNetworkConnectionsOperations operations. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2018-08-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2018-08-01" - - self.config = config - - def get( - self, resource_group_name, virtual_hub_name, connection_name, custom_headers=None, raw=False, **operation_config): - """Retrieves the details of a HubVirtualNetworkConnection. - - :param resource_group_name: The resource group name of the VirtualHub. - :type resource_group_name: str - :param virtual_hub_name: The name of the VirtualHub. - :type virtual_hub_name: str - :param connection_name: The name of the vpn connection. - :type connection_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: HubVirtualNetworkConnection or ClientRawResponse if raw=true - :rtype: - ~azure.mgmt.network.v2018_08_01.models.HubVirtualNetworkConnection or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorException` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualHubName': self._serialize.url("virtual_hub_name", virtual_hub_name, 'str'), - 'connectionName': self._serialize.url("connection_name", connection_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('HubVirtualNetworkConnection', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}/hubVirtualNetworkConnections/{connectionName}'} - - def list( - self, resource_group_name, virtual_hub_name, custom_headers=None, raw=False, **operation_config): - """Retrieves the details of all HubVirtualNetworkConnections. - - :param resource_group_name: The resource group name of the VirtualHub. - :type resource_group_name: str - :param virtual_hub_name: The name of the VirtualHub. - :type virtual_hub_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of HubVirtualNetworkConnection - :rtype: - ~azure.mgmt.network.v2018_08_01.models.HubVirtualNetworkConnectionPaged[~azure.mgmt.network.v2018_08_01.models.HubVirtualNetworkConnection] - :raises: - :class:`ErrorException` - """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualHubName': self._serialize.url("virtual_hub_name", virtual_hub_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorException(self._deserialize, response) - - return response - - # Deserialize response - deserialized = models.HubVirtualNetworkConnectionPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.HubVirtualNetworkConnectionPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}/hubVirtualNetworkConnections'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/inbound_nat_rules_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/inbound_nat_rules_operations.py deleted file mode 100644 index 296ac294262..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/inbound_nat_rules_operations.py +++ /dev/null @@ -1,370 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class InboundNatRulesOperations(object): - """InboundNatRulesOperations operations. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2018-08-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2018-08-01" - - self.config = config - - def list( - self, resource_group_name, load_balancer_name, custom_headers=None, raw=False, **operation_config): - """Gets all the inbound nat rules in a load balancer. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param load_balancer_name: The name of the load balancer. - :type load_balancer_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of InboundNatRule - :rtype: - ~azure.mgmt.network.v2018_08_01.models.InboundNatRulePaged[~azure.mgmt.network.v2018_08_01.models.InboundNatRule] - :raises: :class:`CloudError` - """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - deserialized = models.InboundNatRulePaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.InboundNatRulePaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/inboundNatRules'} - - - def _delete_initial( - self, resource_group_name, load_balancer_name, inbound_nat_rule_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), - 'inboundNatRuleName': self._serialize.url("inbound_nat_rule_name", inbound_nat_rule_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, load_balancer_name, inbound_nat_rule_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified load balancer inbound nat rule. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param load_balancer_name: The name of the load balancer. - :type load_balancer_name: str - :param inbound_nat_rule_name: The name of the inbound nat rule. - :type inbound_nat_rule_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - load_balancer_name=load_balancer_name, - inbound_nat_rule_name=inbound_nat_rule_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/inboundNatRules/{inboundNatRuleName}'} - - def get( - self, resource_group_name, load_balancer_name, inbound_nat_rule_name, expand=None, custom_headers=None, raw=False, **operation_config): - """Gets the specified load balancer inbound nat rule. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param load_balancer_name: The name of the load balancer. - :type load_balancer_name: str - :param inbound_nat_rule_name: The name of the inbound nat rule. - :type inbound_nat_rule_name: str - :param expand: Expands referenced resources. - :type expand: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: InboundNatRule or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2018_08_01.models.InboundNatRule or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), - 'inboundNatRuleName': self._serialize.url("inbound_nat_rule_name", inbound_nat_rule_name, 'str'), - '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.api_version", self.api_version, 'str') - if expand is not None: - query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('InboundNatRule', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/inboundNatRules/{inboundNatRuleName}'} - - - def _create_or_update_initial( - self, resource_group_name, load_balancer_name, inbound_nat_rule_name, inbound_nat_rule_parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), - 'inboundNatRuleName': self._serialize.url("inbound_nat_rule_name", inbound_nat_rule_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(inbound_nat_rule_parameters, 'InboundNatRule') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('InboundNatRule', response) - if response.status_code == 201: - deserialized = self._deserialize('InboundNatRule', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, load_balancer_name, inbound_nat_rule_name, inbound_nat_rule_parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates a load balancer inbound nat rule. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param load_balancer_name: The name of the load balancer. - :type load_balancer_name: str - :param inbound_nat_rule_name: The name of the inbound nat rule. - :type inbound_nat_rule_name: str - :param inbound_nat_rule_parameters: Parameters supplied to the create - or update inbound nat rule operation. - :type inbound_nat_rule_parameters: - ~azure.mgmt.network.v2018_08_01.models.InboundNatRule - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns InboundNatRule or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.InboundNatRule] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.InboundNatRule]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - load_balancer_name=load_balancer_name, - inbound_nat_rule_name=inbound_nat_rule_name, - inbound_nat_rule_parameters=inbound_nat_rule_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('InboundNatRule', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/inboundNatRules/{inboundNatRuleName}'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/interface_endpoints_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/interface_endpoints_operations.py deleted file mode 100644 index e283f4ce6c7..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/interface_endpoints_operations.py +++ /dev/null @@ -1,421 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class InterfaceEndpointsOperations(object): - """InterfaceEndpointsOperations operations. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2018-08-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2018-08-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, interface_endpoint_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'interfaceEndpointName': self._serialize.url("interface_endpoint_name", interface_endpoint_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, interface_endpoint_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified interface endpoint. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param interface_endpoint_name: The name of the interface endpoint. - :type interface_endpoint_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - interface_endpoint_name=interface_endpoint_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/interfaceEndpoints/{interfaceEndpointName}'} - - def get( - self, resource_group_name, interface_endpoint_name, expand=None, custom_headers=None, raw=False, **operation_config): - """Gets the specified interface endpoint by resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param interface_endpoint_name: The name of the interface endpoint. - :type interface_endpoint_name: str - :param expand: Expands referenced resources. - :type expand: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: InterfaceEndpoint or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2018_08_01.models.InterfaceEndpoint or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'interfaceEndpointName': self._serialize.url("interface_endpoint_name", interface_endpoint_name, 'str'), - '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.api_version", self.api_version, 'str') - if expand is not None: - query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('InterfaceEndpoint', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/interfaceEndpoints/{interfaceEndpointName}'} - - - def _create_or_update_initial( - self, resource_group_name, interface_endpoint_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'interfaceEndpointName': self._serialize.url("interface_endpoint_name", interface_endpoint_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'InterfaceEndpoint') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('InterfaceEndpoint', response) - if response.status_code == 201: - deserialized = self._deserialize('InterfaceEndpoint', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, interface_endpoint_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates an interface endpoint in the specified resource - group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param interface_endpoint_name: The name of the interface endpoint. - :type interface_endpoint_name: str - :param parameters: Parameters supplied to the create or update - interface endpoint operation - :type parameters: - ~azure.mgmt.network.v2018_08_01.models.InterfaceEndpoint - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns InterfaceEndpoint or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.InterfaceEndpoint] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.InterfaceEndpoint]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - interface_endpoint_name=interface_endpoint_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('InterfaceEndpoint', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/interfaceEndpoints/{interfaceEndpointName}'} - - def list( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Gets all interface endpoints in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of InterfaceEndpoint - :rtype: - ~azure.mgmt.network.v2018_08_01.models.InterfaceEndpointPaged[~azure.mgmt.network.v2018_08_01.models.InterfaceEndpoint] - :raises: :class:`CloudError` - """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - deserialized = models.InterfaceEndpointPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.InterfaceEndpointPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/interfaceEndpoints'} - - def list_by_subscription( - self, custom_headers=None, raw=False, **operation_config): - """Gets all interface endpoints in a subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of InterfaceEndpoint - :rtype: - ~azure.mgmt.network.v2018_08_01.models.InterfaceEndpointPaged[~azure.mgmt.network.v2018_08_01.models.InterfaceEndpoint] - :raises: :class:`CloudError` - """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list_by_subscription.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - deserialized = models.InterfaceEndpointPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.InterfaceEndpointPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list_by_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/interfaceEndpoints'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/load_balancer_backend_address_pools_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/load_balancer_backend_address_pools_operations.py deleted file mode 100644 index 979c2e72552..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/load_balancer_backend_address_pools_operations.py +++ /dev/null @@ -1,174 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError - -from .. import models - - -class LoadBalancerBackendAddressPoolsOperations(object): - """LoadBalancerBackendAddressPoolsOperations operations. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2018-08-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2018-08-01" - - self.config = config - - def list( - self, resource_group_name, load_balancer_name, custom_headers=None, raw=False, **operation_config): - """Gets all the load balancer backed address pools. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param load_balancer_name: The name of the load balancer. - :type load_balancer_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of BackendAddressPool - :rtype: - ~azure.mgmt.network.v2018_08_01.models.BackendAddressPoolPaged[~azure.mgmt.network.v2018_08_01.models.BackendAddressPool] - :raises: :class:`CloudError` - """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - deserialized = models.BackendAddressPoolPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.BackendAddressPoolPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/backendAddressPools'} - - def get( - self, resource_group_name, load_balancer_name, backend_address_pool_name, custom_headers=None, raw=False, **operation_config): - """Gets load balancer backend address pool. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param load_balancer_name: The name of the load balancer. - :type load_balancer_name: str - :param backend_address_pool_name: The name of the backend address - pool. - :type backend_address_pool_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: BackendAddressPool or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2018_08_01.models.BackendAddressPool or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), - 'backendAddressPoolName': self._serialize.url("backend_address_pool_name", backend_address_pool_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('BackendAddressPool', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/backendAddressPools/{backendAddressPoolName}'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/load_balancer_frontend_ip_configurations_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/load_balancer_frontend_ip_configurations_operations.py deleted file mode 100644 index ce8d1ba442d..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/load_balancer_frontend_ip_configurations_operations.py +++ /dev/null @@ -1,174 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError - -from .. import models - - -class LoadBalancerFrontendIPConfigurationsOperations(object): - """LoadBalancerFrontendIPConfigurationsOperations operations. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2018-08-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2018-08-01" - - self.config = config - - def list( - self, resource_group_name, load_balancer_name, custom_headers=None, raw=False, **operation_config): - """Gets all the load balancer frontend IP configurations. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param load_balancer_name: The name of the load balancer. - :type load_balancer_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of FrontendIPConfiguration - :rtype: - ~azure.mgmt.network.v2018_08_01.models.FrontendIPConfigurationPaged[~azure.mgmt.network.v2018_08_01.models.FrontendIPConfiguration] - :raises: :class:`CloudError` - """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - deserialized = models.FrontendIPConfigurationPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.FrontendIPConfigurationPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/frontendIPConfigurations'} - - def get( - self, resource_group_name, load_balancer_name, frontend_ip_configuration_name, custom_headers=None, raw=False, **operation_config): - """Gets load balancer frontend IP configuration. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param load_balancer_name: The name of the load balancer. - :type load_balancer_name: str - :param frontend_ip_configuration_name: The name of the frontend IP - configuration. - :type frontend_ip_configuration_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: FrontendIPConfiguration or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2018_08_01.models.FrontendIPConfiguration - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), - 'frontendIPConfigurationName': self._serialize.url("frontend_ip_configuration_name", frontend_ip_configuration_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('FrontendIPConfiguration', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/frontendIPConfigurations/{frontendIPConfigurationName}'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/load_balancer_load_balancing_rules_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/load_balancer_load_balancing_rules_operations.py deleted file mode 100644 index 26435fe1776..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/load_balancer_load_balancing_rules_operations.py +++ /dev/null @@ -1,173 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError - -from .. import models - - -class LoadBalancerLoadBalancingRulesOperations(object): - """LoadBalancerLoadBalancingRulesOperations operations. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2018-08-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2018-08-01" - - self.config = config - - def list( - self, resource_group_name, load_balancer_name, custom_headers=None, raw=False, **operation_config): - """Gets all the load balancing rules in a load balancer. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param load_balancer_name: The name of the load balancer. - :type load_balancer_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of LoadBalancingRule - :rtype: - ~azure.mgmt.network.v2018_08_01.models.LoadBalancingRulePaged[~azure.mgmt.network.v2018_08_01.models.LoadBalancingRule] - :raises: :class:`CloudError` - """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - deserialized = models.LoadBalancingRulePaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.LoadBalancingRulePaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/loadBalancingRules'} - - def get( - self, resource_group_name, load_balancer_name, load_balancing_rule_name, custom_headers=None, raw=False, **operation_config): - """Gets the specified load balancer load balancing rule. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param load_balancer_name: The name of the load balancer. - :type load_balancer_name: str - :param load_balancing_rule_name: The name of the load balancing rule. - :type load_balancing_rule_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: LoadBalancingRule or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2018_08_01.models.LoadBalancingRule or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), - 'loadBalancingRuleName': self._serialize.url("load_balancing_rule_name", load_balancing_rule_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('LoadBalancingRule', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/loadBalancingRules/{loadBalancingRuleName}'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/load_balancer_network_interfaces_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/load_balancer_network_interfaces_operations.py deleted file mode 100644 index bf6c8c5e21b..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/load_balancer_network_interfaces_operations.py +++ /dev/null @@ -1,108 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError - -from .. import models - - -class LoadBalancerNetworkInterfacesOperations(object): - """LoadBalancerNetworkInterfacesOperations operations. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2018-08-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2018-08-01" - - self.config = config - - def list( - self, resource_group_name, load_balancer_name, custom_headers=None, raw=False, **operation_config): - """Gets associated load balancer network interfaces. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param load_balancer_name: The name of the load balancer. - :type load_balancer_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of NetworkInterface - :rtype: - ~azure.mgmt.network.v2018_08_01.models.NetworkInterfacePaged[~azure.mgmt.network.v2018_08_01.models.NetworkInterface] - :raises: :class:`CloudError` - """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - deserialized = models.NetworkInterfacePaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.NetworkInterfacePaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/networkInterfaces'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/load_balancer_probes_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/load_balancer_probes_operations.py deleted file mode 100644 index 9c1b26226ed..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/load_balancer_probes_operations.py +++ /dev/null @@ -1,173 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError - -from .. import models - - -class LoadBalancerProbesOperations(object): - """LoadBalancerProbesOperations operations. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2018-08-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2018-08-01" - - self.config = config - - def list( - self, resource_group_name, load_balancer_name, custom_headers=None, raw=False, **operation_config): - """Gets all the load balancer probes. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param load_balancer_name: The name of the load balancer. - :type load_balancer_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of Probe - :rtype: - ~azure.mgmt.network.v2018_08_01.models.ProbePaged[~azure.mgmt.network.v2018_08_01.models.Probe] - :raises: :class:`CloudError` - """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - deserialized = models.ProbePaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.ProbePaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes'} - - def get( - self, resource_group_name, load_balancer_name, probe_name, custom_headers=None, raw=False, **operation_config): - """Gets load balancer probe. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param load_balancer_name: The name of the load balancer. - :type load_balancer_name: str - :param probe_name: The name of the probe. - :type probe_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: Probe or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2018_08_01.models.Probe or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), - 'probeName': self._serialize.url("probe_name", probe_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('Probe', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes/{probeName}'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/load_balancers_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/load_balancers_operations.py deleted file mode 100644 index 600ec63c4ff..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/load_balancers_operations.py +++ /dev/null @@ -1,521 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class LoadBalancersOperations(object): - """LoadBalancersOperations operations. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2018-08-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2018-08-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, load_balancer_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, load_balancer_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified load balancer. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param load_balancer_name: The name of the load balancer. - :type load_balancer_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - load_balancer_name=load_balancer_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}'} - - def get( - self, resource_group_name, load_balancer_name, expand=None, custom_headers=None, raw=False, **operation_config): - """Gets the specified load balancer. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param load_balancer_name: The name of the load balancer. - :type load_balancer_name: str - :param expand: Expands referenced resources. - :type expand: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: LoadBalancer or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2018_08_01.models.LoadBalancer or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), - '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.api_version", self.api_version, 'str') - if expand is not None: - query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('LoadBalancer', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}'} - - - def _create_or_update_initial( - self, resource_group_name, load_balancer_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'LoadBalancer') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('LoadBalancer', response) - if response.status_code == 201: - deserialized = self._deserialize('LoadBalancer', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, load_balancer_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates a load balancer. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param load_balancer_name: The name of the load balancer. - :type load_balancer_name: str - :param parameters: Parameters supplied to the create or update load - balancer operation. - :type parameters: ~azure.mgmt.network.v2018_08_01.models.LoadBalancer - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns LoadBalancer or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.LoadBalancer] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.LoadBalancer]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - load_balancer_name=load_balancer_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('LoadBalancer', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}'} - - - def _update_tags_initial( - self, resource_group_name, load_balancer_name, tags=None, custom_headers=None, raw=False, **operation_config): - parameters = models.TagsObject(tags=tags) - - # Construct URL - url = self.update_tags.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'TagsObject') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('LoadBalancer', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def update_tags( - self, resource_group_name, load_balancer_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Updates a load balancer tags. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param load_balancer_name: The name of the load balancer. - :type load_balancer_name: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns LoadBalancer or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.LoadBalancer] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.LoadBalancer]] - :raises: :class:`CloudError` - """ - raw_result = self._update_tags_initial( - resource_group_name=resource_group_name, - load_balancer_name=load_balancer_name, - tags=tags, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('LoadBalancer', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}'} - - def list_all( - self, custom_headers=None, raw=False, **operation_config): - """Gets all the load balancers in a subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of LoadBalancer - :rtype: - ~azure.mgmt.network.v2018_08_01.models.LoadBalancerPaged[~azure.mgmt.network.v2018_08_01.models.LoadBalancer] - :raises: :class:`CloudError` - """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list_all.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - deserialized = models.LoadBalancerPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.LoadBalancerPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/loadBalancers'} - - def list( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Gets all the load balancers in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of LoadBalancer - :rtype: - ~azure.mgmt.network.v2018_08_01.models.LoadBalancerPaged[~azure.mgmt.network.v2018_08_01.models.LoadBalancer] - :raises: :class:`CloudError` - """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - deserialized = models.LoadBalancerPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.LoadBalancerPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/local_network_gateways_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/local_network_gateways_operations.py deleted file mode 100644 index cbcd0078512..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/local_network_gateways_operations.py +++ /dev/null @@ -1,459 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class LocalNetworkGatewaysOperations(object): - """LocalNetworkGatewaysOperations operations. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2018-08-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2018-08-01" - - self.config = config - - - def _create_or_update_initial( - self, resource_group_name, local_network_gateway_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'localNetworkGatewayName': self._serialize.url("local_network_gateway_name", local_network_gateway_name, 'str', min_length=1), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'LocalNetworkGateway') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('LocalNetworkGateway', response) - if response.status_code == 201: - deserialized = self._deserialize('LocalNetworkGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, local_network_gateway_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates a local network gateway in the specified resource - group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param local_network_gateway_name: The name of the local network - gateway. - :type local_network_gateway_name: str - :param parameters: Parameters supplied to the create or update local - network gateway operation. - :type parameters: - ~azure.mgmt.network.v2018_08_01.models.LocalNetworkGateway - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns LocalNetworkGateway or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.LocalNetworkGateway] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.LocalNetworkGateway]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - local_network_gateway_name=local_network_gateway_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('LocalNetworkGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/localNetworkGateways/{localNetworkGatewayName}'} - - def get( - self, resource_group_name, local_network_gateway_name, custom_headers=None, raw=False, **operation_config): - """Gets the specified local network gateway in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param local_network_gateway_name: The name of the local network - gateway. - :type local_network_gateway_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: LocalNetworkGateway or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2018_08_01.models.LocalNetworkGateway or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'localNetworkGatewayName': self._serialize.url("local_network_gateway_name", local_network_gateway_name, 'str', min_length=1), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('LocalNetworkGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/localNetworkGateways/{localNetworkGatewayName}'} - - - def _delete_initial( - self, resource_group_name, local_network_gateway_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'localNetworkGatewayName': self._serialize.url("local_network_gateway_name", local_network_gateway_name, 'str', min_length=1), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, local_network_gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified local network gateway. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param local_network_gateway_name: The name of the local network - gateway. - :type local_network_gateway_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - local_network_gateway_name=local_network_gateway_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/localNetworkGateways/{localNetworkGatewayName}'} - - - def _update_tags_initial( - self, resource_group_name, local_network_gateway_name, tags=None, custom_headers=None, raw=False, **operation_config): - parameters = models.TagsObject(tags=tags) - - # Construct URL - url = self.update_tags.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'localNetworkGatewayName': self._serialize.url("local_network_gateway_name", local_network_gateway_name, 'str', min_length=1), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'TagsObject') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('LocalNetworkGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def update_tags( - self, resource_group_name, local_network_gateway_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Updates a local network gateway tags. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param local_network_gateway_name: The name of the local network - gateway. - :type local_network_gateway_name: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns LocalNetworkGateway or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.LocalNetworkGateway] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.LocalNetworkGateway]] - :raises: :class:`CloudError` - """ - raw_result = self._update_tags_initial( - resource_group_name=resource_group_name, - local_network_gateway_name=local_network_gateway_name, - tags=tags, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('LocalNetworkGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/localNetworkGateways/{localNetworkGatewayName}'} - - def list( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Gets all the local network gateways in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of LocalNetworkGateway - :rtype: - ~azure.mgmt.network.v2018_08_01.models.LocalNetworkGatewayPaged[~azure.mgmt.network.v2018_08_01.models.LocalNetworkGateway] - :raises: :class:`CloudError` - """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - deserialized = models.LocalNetworkGatewayPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.LocalNetworkGatewayPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/localNetworkGateways'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/network_interface_ip_configurations_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/network_interface_ip_configurations_operations.py deleted file mode 100644 index 13c5253c259..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/network_interface_ip_configurations_operations.py +++ /dev/null @@ -1,175 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError - -from .. import models - - -class NetworkInterfaceIPConfigurationsOperations(object): - """NetworkInterfaceIPConfigurationsOperations operations. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2018-08-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2018-08-01" - - self.config = config - - def list( - self, resource_group_name, network_interface_name, custom_headers=None, raw=False, **operation_config): - """Get all ip configurations in a network interface. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_interface_name: The name of the network interface. - :type network_interface_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of NetworkInterfaceIPConfiguration - :rtype: - ~azure.mgmt.network.v2018_08_01.models.NetworkInterfaceIPConfigurationPaged[~azure.mgmt.network.v2018_08_01.models.NetworkInterfaceIPConfiguration] - :raises: :class:`CloudError` - """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - deserialized = models.NetworkInterfaceIPConfigurationPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.NetworkInterfaceIPConfigurationPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/ipConfigurations'} - - def get( - self, resource_group_name, network_interface_name, ip_configuration_name, custom_headers=None, raw=False, **operation_config): - """Gets the specified network interface ip configuration. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_interface_name: The name of the network interface. - :type network_interface_name: str - :param ip_configuration_name: The name of the ip configuration name. - :type ip_configuration_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: NetworkInterfaceIPConfiguration or ClientRawResponse if - raw=true - :rtype: - ~azure.mgmt.network.v2018_08_01.models.NetworkInterfaceIPConfiguration - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), - 'ipConfigurationName': self._serialize.url("ip_configuration_name", ip_configuration_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('NetworkInterfaceIPConfiguration', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/ipConfigurations/{ipConfigurationName}'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/network_interface_load_balancers_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/network_interface_load_balancers_operations.py deleted file mode 100644 index d6b1dcf3c15..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/network_interface_load_balancers_operations.py +++ /dev/null @@ -1,108 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError - -from .. import models - - -class NetworkInterfaceLoadBalancersOperations(object): - """NetworkInterfaceLoadBalancersOperations operations. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2018-08-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2018-08-01" - - self.config = config - - def list( - self, resource_group_name, network_interface_name, custom_headers=None, raw=False, **operation_config): - """List all load balancers in a network interface. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_interface_name: The name of the network interface. - :type network_interface_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of LoadBalancer - :rtype: - ~azure.mgmt.network.v2018_08_01.models.LoadBalancerPaged[~azure.mgmt.network.v2018_08_01.models.LoadBalancer] - :raises: :class:`CloudError` - """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - deserialized = models.LoadBalancerPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.LoadBalancerPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/loadBalancers'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/network_interface_tap_configurations_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/network_interface_tap_configurations_operations.py deleted file mode 100644 index 3b78d421df2..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/network_interface_tap_configurations_operations.py +++ /dev/null @@ -1,370 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class NetworkInterfaceTapConfigurationsOperations(object): - """NetworkInterfaceTapConfigurationsOperations operations. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2018-08-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2018-08-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, network_interface_name, tap_configuration_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), - 'tapConfigurationName': self._serialize.url("tap_configuration_name", tap_configuration_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, network_interface_name, tap_configuration_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified tap configuration from the NetworkInterface. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_interface_name: The name of the network interface. - :type network_interface_name: str - :param tap_configuration_name: The name of the tap configuration. - :type tap_configuration_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - network_interface_name=network_interface_name, - tap_configuration_name=tap_configuration_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/tapConfigurations/{tapConfigurationName}'} - - def get( - self, resource_group_name, network_interface_name, tap_configuration_name, custom_headers=None, raw=False, **operation_config): - """Get the specified tap configuration on a network interface. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_interface_name: The name of the network interface. - :type network_interface_name: str - :param tap_configuration_name: The name of the tap configuration. - :type tap_configuration_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: NetworkInterfaceTapConfiguration or ClientRawResponse if - raw=true - :rtype: - ~azure.mgmt.network.v2018_08_01.models.NetworkInterfaceTapConfiguration - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), - 'tapConfigurationName': self._serialize.url("tap_configuration_name", tap_configuration_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('NetworkInterfaceTapConfiguration', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/tapConfigurations/{tapConfigurationName}'} - - - def _create_or_update_initial( - self, resource_group_name, network_interface_name, tap_configuration_name, tap_configuration_parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), - 'tapConfigurationName': self._serialize.url("tap_configuration_name", tap_configuration_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(tap_configuration_parameters, 'NetworkInterfaceTapConfiguration') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('NetworkInterfaceTapConfiguration', response) - if response.status_code == 201: - deserialized = self._deserialize('NetworkInterfaceTapConfiguration', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, network_interface_name, tap_configuration_name, tap_configuration_parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates a Tap configuration in the specified - NetworkInterface. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_interface_name: The name of the network interface. - :type network_interface_name: str - :param tap_configuration_name: The name of the tap configuration. - :type tap_configuration_name: str - :param tap_configuration_parameters: Parameters supplied to the create - or update tap configuration operation. - :type tap_configuration_parameters: - ~azure.mgmt.network.v2018_08_01.models.NetworkInterfaceTapConfiguration - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - NetworkInterfaceTapConfiguration or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.NetworkInterfaceTapConfiguration] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.NetworkInterfaceTapConfiguration]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - network_interface_name=network_interface_name, - tap_configuration_name=tap_configuration_name, - tap_configuration_parameters=tap_configuration_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('NetworkInterfaceTapConfiguration', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/tapConfigurations/{tapConfigurationName}'} - - def list( - self, resource_group_name, network_interface_name, custom_headers=None, raw=False, **operation_config): - """Get all Tap configurations in a network interface. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_interface_name: The name of the network interface. - :type network_interface_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of NetworkInterfaceTapConfiguration - :rtype: - ~azure.mgmt.network.v2018_08_01.models.NetworkInterfaceTapConfigurationPaged[~azure.mgmt.network.v2018_08_01.models.NetworkInterfaceTapConfiguration] - :raises: :class:`CloudError` - """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - deserialized = models.NetworkInterfaceTapConfigurationPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.NetworkInterfaceTapConfigurationPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/tapConfigurations'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/network_interfaces_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/network_interfaces_operations.py deleted file mode 100644 index c2d8cb5091d..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/network_interfaces_operations.py +++ /dev/null @@ -1,1115 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class NetworkInterfacesOperations(object): - """NetworkInterfacesOperations operations. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - - self.config = config - - - def _delete_initial( - self, resource_group_name, network_interface_name, custom_headers=None, raw=False, **operation_config): - api_version = "2018-08-01" - - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), - '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("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, network_interface_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified network interface. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_interface_name: The name of the network interface. - :type network_interface_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - network_interface_name=network_interface_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}'} - - def get( - self, resource_group_name, network_interface_name, expand=None, custom_headers=None, raw=False, **operation_config): - """Gets information about the specified network interface. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_interface_name: The name of the network interface. - :type network_interface_name: str - :param expand: Expands referenced resources. - :type expand: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: NetworkInterface or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2018_08_01.models.NetworkInterface or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - api_version = "2018-08-01" - - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), - '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("api_version", api_version, 'str') - if expand is not None: - query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('NetworkInterface', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}'} - - - def _create_or_update_initial( - self, resource_group_name, network_interface_name, parameters, custom_headers=None, raw=False, **operation_config): - api_version = "2018-08-01" - - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), - '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("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'NetworkInterface') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('NetworkInterface', response) - if response.status_code == 201: - deserialized = self._deserialize('NetworkInterface', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, network_interface_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates a network interface. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_interface_name: The name of the network interface. - :type network_interface_name: str - :param parameters: Parameters supplied to the create or update network - interface operation. - :type parameters: - ~azure.mgmt.network.v2018_08_01.models.NetworkInterface - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns NetworkInterface or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.NetworkInterface] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.NetworkInterface]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - network_interface_name=network_interface_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('NetworkInterface', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}'} - - - def _update_tags_initial( - self, resource_group_name, network_interface_name, tags=None, custom_headers=None, raw=False, **operation_config): - parameters = models.TagsObject(tags=tags) - - api_version = "2018-08-01" - - # Construct URL - url = self.update_tags.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), - '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("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'TagsObject') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('NetworkInterface', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def update_tags( - self, resource_group_name, network_interface_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Updates a network interface tags. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_interface_name: The name of the network interface. - :type network_interface_name: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns NetworkInterface or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.NetworkInterface] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.NetworkInterface]] - :raises: :class:`CloudError` - """ - raw_result = self._update_tags_initial( - resource_group_name=resource_group_name, - network_interface_name=network_interface_name, - tags=tags, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('NetworkInterface', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}'} - - def list_all( - self, custom_headers=None, raw=False, **operation_config): - """Gets all network interfaces in a subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of NetworkInterface - :rtype: - ~azure.mgmt.network.v2018_08_01.models.NetworkInterfacePaged[~azure.mgmt.network.v2018_08_01.models.NetworkInterface] - :raises: :class:`CloudError` - """ - api_version = "2018-08-01" - - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list_all.metadata['url'] - path_format_arguments = { - '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("api_version", api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - deserialized = models.NetworkInterfacePaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.NetworkInterfacePaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkInterfaces'} - - def list( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Gets all network interfaces in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of NetworkInterface - :rtype: - ~azure.mgmt.network.v2018_08_01.models.NetworkInterfacePaged[~azure.mgmt.network.v2018_08_01.models.NetworkInterface] - :raises: :class:`CloudError` - """ - api_version = "2018-08-01" - - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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("api_version", api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - deserialized = models.NetworkInterfacePaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.NetworkInterfacePaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces'} - - - def _get_effective_route_table_initial( - self, resource_group_name, network_interface_name, custom_headers=None, raw=False, **operation_config): - api_version = "2018-08-01" - - # Construct URL - url = self.get_effective_route_table.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), - '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("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - 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('EffectiveRouteListResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def get_effective_route_table( - self, resource_group_name, network_interface_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Gets all route tables applied to a network interface. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_interface_name: The name of the network interface. - :type network_interface_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - EffectiveRouteListResult or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.EffectiveRouteListResult] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.EffectiveRouteListResult]] - :raises: :class:`CloudError` - """ - raw_result = self._get_effective_route_table_initial( - resource_group_name=resource_group_name, - network_interface_name=network_interface_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('EffectiveRouteListResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - get_effective_route_table.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/effectiveRouteTable'} - - - def _list_effective_network_security_groups_initial( - self, resource_group_name, network_interface_name, custom_headers=None, raw=False, **operation_config): - api_version = "2018-08-01" - - # Construct URL - url = self.list_effective_network_security_groups.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), - '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("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - 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('EffectiveNetworkSecurityGroupListResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def list_effective_network_security_groups( - self, resource_group_name, network_interface_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Gets all network security groups applied to a network interface. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_interface_name: The name of the network interface. - :type network_interface_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - EffectiveNetworkSecurityGroupListResult or - ClientRawResponse if - raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.EffectiveNetworkSecurityGroupListResult] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.EffectiveNetworkSecurityGroupListResult]] - :raises: :class:`CloudError` - """ - raw_result = self._list_effective_network_security_groups_initial( - resource_group_name=resource_group_name, - network_interface_name=network_interface_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('EffectiveNetworkSecurityGroupListResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - list_effective_network_security_groups.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/effectiveNetworkSecurityGroups'} - - def list_virtual_machine_scale_set_vm_network_interfaces( - self, resource_group_name, virtual_machine_scale_set_name, virtualmachine_index, custom_headers=None, raw=False, **operation_config): - """Gets information about all network interfaces in a virtual machine in a - virtual machine scale set. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_machine_scale_set_name: The name of the virtual machine - scale set. - :type virtual_machine_scale_set_name: str - :param virtualmachine_index: The virtual machine index. - :type virtualmachine_index: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of NetworkInterface - :rtype: - ~azure.mgmt.network.v2018_08_01.models.NetworkInterfacePaged[~azure.mgmt.network.v2018_08_01.models.NetworkInterface] - :raises: :class:`CloudError` - """ - api_version = "2017-03-30" - - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list_virtual_machine_scale_set_vm_network_interfaces.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualMachineScaleSetName': self._serialize.url("virtual_machine_scale_set_name", virtual_machine_scale_set_name, 'str'), - 'virtualmachineIndex': self._serialize.url("virtualmachine_index", virtualmachine_index, 'str'), - '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("api_version", api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - deserialized = models.NetworkInterfacePaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.NetworkInterfacePaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list_virtual_machine_scale_set_vm_network_interfaces.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces'} - - def list_virtual_machine_scale_set_network_interfaces( - self, resource_group_name, virtual_machine_scale_set_name, custom_headers=None, raw=False, **operation_config): - """Gets all network interfaces in a virtual machine scale set. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_machine_scale_set_name: The name of the virtual machine - scale set. - :type virtual_machine_scale_set_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of NetworkInterface - :rtype: - ~azure.mgmt.network.v2018_08_01.models.NetworkInterfacePaged[~azure.mgmt.network.v2018_08_01.models.NetworkInterface] - :raises: :class:`CloudError` - """ - api_version = "2017-03-30" - - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list_virtual_machine_scale_set_network_interfaces.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualMachineScaleSetName': self._serialize.url("virtual_machine_scale_set_name", virtual_machine_scale_set_name, 'str'), - '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("api_version", api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - deserialized = models.NetworkInterfacePaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.NetworkInterfacePaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list_virtual_machine_scale_set_network_interfaces.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/networkInterfaces'} - - def get_virtual_machine_scale_set_network_interface( - self, resource_group_name, virtual_machine_scale_set_name, virtualmachine_index, network_interface_name, expand=None, custom_headers=None, raw=False, **operation_config): - """Get the specified network interface in a virtual machine scale set. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_machine_scale_set_name: The name of the virtual machine - scale set. - :type virtual_machine_scale_set_name: str - :param virtualmachine_index: The virtual machine index. - :type virtualmachine_index: str - :param network_interface_name: The name of the network interface. - :type network_interface_name: str - :param expand: Expands referenced resources. - :type expand: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: NetworkInterface or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2018_08_01.models.NetworkInterface or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - api_version = "2017-03-30" - - # Construct URL - url = self.get_virtual_machine_scale_set_network_interface.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualMachineScaleSetName': self._serialize.url("virtual_machine_scale_set_name", virtual_machine_scale_set_name, 'str'), - 'virtualmachineIndex': self._serialize.url("virtualmachine_index", virtualmachine_index, 'str'), - 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), - '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("api_version", api_version, 'str') - if expand is not None: - query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('NetworkInterface', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get_virtual_machine_scale_set_network_interface.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}'} - - def list_virtual_machine_scale_set_ip_configurations( - self, resource_group_name, virtual_machine_scale_set_name, virtualmachine_index, network_interface_name, expand=None, custom_headers=None, raw=False, **operation_config): - """Get the specified network interface ip configuration in a virtual - machine scale set. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_machine_scale_set_name: The name of the virtual machine - scale set. - :type virtual_machine_scale_set_name: str - :param virtualmachine_index: The virtual machine index. - :type virtualmachine_index: str - :param network_interface_name: The name of the network interface. - :type network_interface_name: str - :param expand: Expands referenced resources. - :type expand: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of NetworkInterfaceIPConfiguration - :rtype: - ~azure.mgmt.network.v2018_08_01.models.NetworkInterfaceIPConfigurationPaged[~azure.mgmt.network.v2018_08_01.models.NetworkInterfaceIPConfiguration] - :raises: :class:`CloudError` - """ - api_version = "2017-03-30" - - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list_virtual_machine_scale_set_ip_configurations.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualMachineScaleSetName': self._serialize.url("virtual_machine_scale_set_name", virtual_machine_scale_set_name, 'str'), - 'virtualmachineIndex': self._serialize.url("virtualmachine_index", virtualmachine_index, 'str'), - 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), - '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("api_version", api_version, 'str') - if expand is not None: - query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - deserialized = models.NetworkInterfaceIPConfigurationPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.NetworkInterfaceIPConfigurationPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list_virtual_machine_scale_set_ip_configurations.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}/ipConfigurations'} - - def get_virtual_machine_scale_set_ip_configuration( - self, resource_group_name, virtual_machine_scale_set_name, virtualmachine_index, network_interface_name, ip_configuration_name, expand=None, custom_headers=None, raw=False, **operation_config): - """Get the specified network interface ip configuration in a virtual - machine scale set. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_machine_scale_set_name: The name of the virtual machine - scale set. - :type virtual_machine_scale_set_name: str - :param virtualmachine_index: The virtual machine index. - :type virtualmachine_index: str - :param network_interface_name: The name of the network interface. - :type network_interface_name: str - :param ip_configuration_name: The name of the ip configuration. - :type ip_configuration_name: str - :param expand: Expands referenced resources. - :type expand: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: NetworkInterfaceIPConfiguration or ClientRawResponse if - raw=true - :rtype: - ~azure.mgmt.network.v2018_08_01.models.NetworkInterfaceIPConfiguration - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - api_version = "2017-03-30" - - # Construct URL - url = self.get_virtual_machine_scale_set_ip_configuration.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualMachineScaleSetName': self._serialize.url("virtual_machine_scale_set_name", virtual_machine_scale_set_name, 'str'), - 'virtualmachineIndex': self._serialize.url("virtualmachine_index", virtualmachine_index, 'str'), - 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), - 'ipConfigurationName': self._serialize.url("ip_configuration_name", ip_configuration_name, 'str'), - '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("api_version", api_version, 'str') - if expand is not None: - query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('NetworkInterfaceIPConfiguration', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get_virtual_machine_scale_set_ip_configuration.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}/ipConfigurations/{ipConfigurationName}'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/network_profiles_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/network_profiles_operations.py deleted file mode 100644 index bd0f14eb804..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/network_profiles_operations.py +++ /dev/null @@ -1,522 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class NetworkProfilesOperations(object): - """NetworkProfilesOperations operations. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2018-08-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2018-08-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, network_profile_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkProfileName': self._serialize.url("network_profile_name", network_profile_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, network_profile_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified network profile. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_profile_name: The name of the NetworkProfile. - :type network_profile_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - network_profile_name=network_profile_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkProfiles/{networkProfileName}'} - - def get( - self, resource_group_name, network_profile_name, expand=None, custom_headers=None, raw=False, **operation_config): - """Gets the specified network profile in a specified resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_profile_name: The name of the PublicIPPrefx. - :type network_profile_name: str - :param expand: Expands referenced resources. - :type expand: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: NetworkProfile or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2018_08_01.models.NetworkProfile or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkProfileName': self._serialize.url("network_profile_name", network_profile_name, 'str'), - '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.api_version", self.api_version, 'str') - if expand is not None: - query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('NetworkProfile', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkProfiles/{networkProfileName}'} - - - def _create_or_update_initial( - self, resource_group_name, network_profile_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkProfileName': self._serialize.url("network_profile_name", network_profile_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'NetworkProfile') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('NetworkProfile', response) - if response.status_code == 201: - deserialized = self._deserialize('NetworkProfile', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, network_profile_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates a network profile. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_profile_name: The name of the network profile. - :type network_profile_name: str - :param parameters: Parameters supplied to the create or update network - profile operation. - :type parameters: - ~azure.mgmt.network.v2018_08_01.models.NetworkProfile - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns NetworkProfile or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.NetworkProfile] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.NetworkProfile]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - network_profile_name=network_profile_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('NetworkProfile', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkProfiles/{networkProfileName}'} - - - def _update_tags_initial( - self, resource_group_name, network_profile_name, tags=None, custom_headers=None, raw=False, **operation_config): - parameters = models.TagsObject(tags=tags) - - # Construct URL - url = self.update_tags.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkProfileName': self._serialize.url("network_profile_name", network_profile_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'TagsObject') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('NetworkProfile', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def update_tags( - self, resource_group_name, network_profile_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Updates network profile tags. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_profile_name: The name of the network profile. - :type network_profile_name: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns NetworkProfile or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.NetworkProfile] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.NetworkProfile]] - :raises: :class:`CloudError` - """ - raw_result = self._update_tags_initial( - resource_group_name=resource_group_name, - network_profile_name=network_profile_name, - tags=tags, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('NetworkProfile', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkProfiles/{networkProfileName}'} - - def list_all( - self, custom_headers=None, raw=False, **operation_config): - """Gets all the network profiles in a subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of NetworkProfile - :rtype: - ~azure.mgmt.network.v2018_08_01.models.NetworkProfilePaged[~azure.mgmt.network.v2018_08_01.models.NetworkProfile] - :raises: :class:`CloudError` - """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list_all.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - deserialized = models.NetworkProfilePaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.NetworkProfilePaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkProfiles'} - - def list( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Gets all network profiles in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of NetworkProfile - :rtype: - ~azure.mgmt.network.v2018_08_01.models.NetworkProfilePaged[~azure.mgmt.network.v2018_08_01.models.NetworkProfile] - :raises: :class:`CloudError` - """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - deserialized = models.NetworkProfilePaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.NetworkProfilePaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkProfiles'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/network_security_groups_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/network_security_groups_operations.py deleted file mode 100644 index 5fd79861f74..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/network_security_groups_operations.py +++ /dev/null @@ -1,527 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class NetworkSecurityGroupsOperations(object): - """NetworkSecurityGroupsOperations operations. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2018-08-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2018-08-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, network_security_group_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkSecurityGroupName': self._serialize.url("network_security_group_name", network_security_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, network_security_group_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified network security group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_security_group_name: The name of the network security - group. - :type network_security_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - network_security_group_name=network_security_group_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}'} - - def get( - self, resource_group_name, network_security_group_name, expand=None, custom_headers=None, raw=False, **operation_config): - """Gets the specified network security group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_security_group_name: The name of the network security - group. - :type network_security_group_name: str - :param expand: Expands referenced resources. - :type expand: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: NetworkSecurityGroup or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2018_08_01.models.NetworkSecurityGroup or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkSecurityGroupName': self._serialize.url("network_security_group_name", network_security_group_name, 'str'), - '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.api_version", self.api_version, 'str') - if expand is not None: - query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('NetworkSecurityGroup', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}'} - - - def _create_or_update_initial( - self, resource_group_name, network_security_group_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkSecurityGroupName': self._serialize.url("network_security_group_name", network_security_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'NetworkSecurityGroup') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('NetworkSecurityGroup', response) - if response.status_code == 201: - deserialized = self._deserialize('NetworkSecurityGroup', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, network_security_group_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates a network security group in the specified resource - group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_security_group_name: The name of the network security - group. - :type network_security_group_name: str - :param parameters: Parameters supplied to the create or update network - security group operation. - :type parameters: - ~azure.mgmt.network.v2018_08_01.models.NetworkSecurityGroup - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns NetworkSecurityGroup or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.NetworkSecurityGroup] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.NetworkSecurityGroup]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - network_security_group_name=network_security_group_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('NetworkSecurityGroup', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}'} - - - def _update_tags_initial( - self, resource_group_name, network_security_group_name, tags=None, custom_headers=None, raw=False, **operation_config): - parameters = models.TagsObject(tags=tags) - - # Construct URL - url = self.update_tags.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkSecurityGroupName': self._serialize.url("network_security_group_name", network_security_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'TagsObject') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('NetworkSecurityGroup', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def update_tags( - self, resource_group_name, network_security_group_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Updates a network security group tags. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_security_group_name: The name of the network security - group. - :type network_security_group_name: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns NetworkSecurityGroup or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.NetworkSecurityGroup] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.NetworkSecurityGroup]] - :raises: :class:`CloudError` - """ - raw_result = self._update_tags_initial( - resource_group_name=resource_group_name, - network_security_group_name=network_security_group_name, - tags=tags, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('NetworkSecurityGroup', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}'} - - def list_all( - self, custom_headers=None, raw=False, **operation_config): - """Gets all network security groups in a subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of NetworkSecurityGroup - :rtype: - ~azure.mgmt.network.v2018_08_01.models.NetworkSecurityGroupPaged[~azure.mgmt.network.v2018_08_01.models.NetworkSecurityGroup] - :raises: :class:`CloudError` - """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list_all.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - deserialized = models.NetworkSecurityGroupPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.NetworkSecurityGroupPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkSecurityGroups'} - - def list( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Gets all network security groups in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of NetworkSecurityGroup - :rtype: - ~azure.mgmt.network.v2018_08_01.models.NetworkSecurityGroupPaged[~azure.mgmt.network.v2018_08_01.models.NetworkSecurityGroup] - :raises: :class:`CloudError` - """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - deserialized = models.NetworkSecurityGroupPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.NetworkSecurityGroupPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/network_watchers_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/network_watchers_operations.py deleted file mode 100644 index 8e36dcf8d03..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/network_watchers_operations.py +++ /dev/null @@ -1,1671 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class NetworkWatchersOperations(object): - """NetworkWatchersOperations operations. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2018-08-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2018-08-01" - - self.config = config - - def create_or_update( - self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, **operation_config): - """Creates or updates a network watcher in the specified resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_watcher_name: The name of the network watcher. - :type network_watcher_name: str - :param parameters: Parameters that define the network watcher - resource. - :type parameters: - ~azure.mgmt.network.v2018_08_01.models.NetworkWatcher - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: NetworkWatcher or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2018_08_01.models.NetworkWatcher or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorResponseException` - """ - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'NetworkWatcher') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 201]: - raise models.ErrorResponseException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('NetworkWatcher', response) - if response.status_code == 201: - deserialized = self._deserialize('NetworkWatcher', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}'} - - def get( - self, resource_group_name, network_watcher_name, custom_headers=None, raw=False, **operation_config): - """Gets the specified network watcher by resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_watcher_name: The name of the network watcher. - :type network_watcher_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: NetworkWatcher or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2018_08_01.models.NetworkWatcher or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorResponseException` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorResponseException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('NetworkWatcher', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}'} - - - def _delete_initial( - self, resource_group_name, network_watcher_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [202, 204]: - raise models.ErrorResponseException(self._deserialize, response) - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, network_watcher_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified network watcher resource. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_watcher_name: The name of the network watcher. - :type network_watcher_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: - :class:`ErrorResponseException` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - network_watcher_name=network_watcher_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}'} - - def update_tags( - self, resource_group_name, network_watcher_name, tags=None, custom_headers=None, raw=False, **operation_config): - """Updates a network watcher tags. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_watcher_name: The name of the network watcher. - :type network_watcher_name: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: NetworkWatcher or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2018_08_01.models.NetworkWatcher or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorResponseException` - """ - parameters = models.TagsObject(tags=tags) - - # Construct URL - url = self.update_tags.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'TagsObject') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorResponseException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('NetworkWatcher', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}'} - - def list( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Gets all network watchers by resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of NetworkWatcher - :rtype: - ~azure.mgmt.network.v2018_08_01.models.NetworkWatcherPaged[~azure.mgmt.network.v2018_08_01.models.NetworkWatcher] - :raises: - :class:`ErrorResponseException` - """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorResponseException(self._deserialize, response) - - return response - - # Deserialize response - deserialized = models.NetworkWatcherPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.NetworkWatcherPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers'} - - def list_all( - self, custom_headers=None, raw=False, **operation_config): - """Gets all network watchers by subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of NetworkWatcher - :rtype: - ~azure.mgmt.network.v2018_08_01.models.NetworkWatcherPaged[~azure.mgmt.network.v2018_08_01.models.NetworkWatcher] - :raises: - :class:`ErrorResponseException` - """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list_all.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorResponseException(self._deserialize, response) - - return response - - # Deserialize response - deserialized = models.NetworkWatcherPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.NetworkWatcherPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkWatchers'} - - def get_topology( - self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, **operation_config): - """Gets the current network topology by resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_watcher_name: The name of the network watcher. - :type network_watcher_name: str - :param parameters: Parameters that define the representation of - topology. - :type parameters: - ~azure.mgmt.network.v2018_08_01.models.TopologyParameters - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: Topology or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2018_08_01.models.Topology or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorResponseException` - """ - # Construct URL - url = self.get_topology.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'TopologyParameters') - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorResponseException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('Topology', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get_topology.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/topology'} - - - def _verify_ip_flow_initial( - self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.verify_ip_flow.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'VerificationIPFlowParameters') - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - raise models.ErrorResponseException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('VerificationIPFlowResult', response) - if response.status_code == 202: - deserialized = self._deserialize('VerificationIPFlowResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def verify_ip_flow( - self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Verify IP flow from the specified VM to a location given the currently - configured NSG rules. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_watcher_name: The name of the network watcher. - :type network_watcher_name: str - :param parameters: Parameters that define the IP flow to be verified. - :type parameters: - ~azure.mgmt.network.v2018_08_01.models.VerificationIPFlowParameters - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - VerificationIPFlowResult or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.VerificationIPFlowResult] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.VerificationIPFlowResult]] - :raises: - :class:`ErrorResponseException` - """ - raw_result = self._verify_ip_flow_initial( - resource_group_name=resource_group_name, - network_watcher_name=network_watcher_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('VerificationIPFlowResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - verify_ip_flow.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/ipFlowVerify'} - - - def _get_next_hop_initial( - self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.get_next_hop.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'NextHopParameters') - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - raise models.ErrorResponseException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('NextHopResult', response) - if response.status_code == 202: - deserialized = self._deserialize('NextHopResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def get_next_hop( - self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Gets the next hop from the specified VM. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_watcher_name: The name of the network watcher. - :type network_watcher_name: str - :param parameters: Parameters that define the source and destination - endpoint. - :type parameters: - ~azure.mgmt.network.v2018_08_01.models.NextHopParameters - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns NextHopResult or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.NextHopResult] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.NextHopResult]] - :raises: - :class:`ErrorResponseException` - """ - raw_result = self._get_next_hop_initial( - resource_group_name=resource_group_name, - network_watcher_name=network_watcher_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('NextHopResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - get_next_hop.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/nextHop'} - - - def _get_vm_security_rules_initial( - self, resource_group_name, network_watcher_name, target_resource_id, custom_headers=None, raw=False, **operation_config): - parameters = models.SecurityGroupViewParameters(target_resource_id=target_resource_id) - - # Construct URL - url = self.get_vm_security_rules.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'SecurityGroupViewParameters') - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - raise models.ErrorResponseException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('SecurityGroupViewResult', response) - if response.status_code == 202: - deserialized = self._deserialize('SecurityGroupViewResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def get_vm_security_rules( - self, resource_group_name, network_watcher_name, target_resource_id, custom_headers=None, raw=False, polling=True, **operation_config): - """Gets the configured and effective security group rules on the specified - VM. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_watcher_name: The name of the network watcher. - :type network_watcher_name: str - :param target_resource_id: ID of the target VM. - :type target_resource_id: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns SecurityGroupViewResult - or ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.SecurityGroupViewResult] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.SecurityGroupViewResult]] - :raises: - :class:`ErrorResponseException` - """ - raw_result = self._get_vm_security_rules_initial( - resource_group_name=resource_group_name, - network_watcher_name=network_watcher_name, - target_resource_id=target_resource_id, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('SecurityGroupViewResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - get_vm_security_rules.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/securityGroupView'} - - - def _get_troubleshooting_initial( - self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.get_troubleshooting.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'TroubleshootingParameters') - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - raise models.ErrorResponseException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('TroubleshootingResult', response) - if response.status_code == 202: - deserialized = self._deserialize('TroubleshootingResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def get_troubleshooting( - self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Initiate troubleshooting on a specified resource. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_watcher_name: The name of the network watcher resource. - :type network_watcher_name: str - :param parameters: Parameters that define the resource to - troubleshoot. - :type parameters: - ~azure.mgmt.network.v2018_08_01.models.TroubleshootingParameters - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns TroubleshootingResult - or ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.TroubleshootingResult] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.TroubleshootingResult]] - :raises: - :class:`ErrorResponseException` - """ - raw_result = self._get_troubleshooting_initial( - resource_group_name=resource_group_name, - network_watcher_name=network_watcher_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('TroubleshootingResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - get_troubleshooting.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/troubleshoot'} - - - def _get_troubleshooting_result_initial( - self, resource_group_name, network_watcher_name, target_resource_id, custom_headers=None, raw=False, **operation_config): - parameters = models.QueryTroubleshootingParameters(target_resource_id=target_resource_id) - - # Construct URL - url = self.get_troubleshooting_result.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'QueryTroubleshootingParameters') - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - raise models.ErrorResponseException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('TroubleshootingResult', response) - if response.status_code == 202: - deserialized = self._deserialize('TroubleshootingResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def get_troubleshooting_result( - self, resource_group_name, network_watcher_name, target_resource_id, custom_headers=None, raw=False, polling=True, **operation_config): - """Get the last completed troubleshooting result on a specified resource. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_watcher_name: The name of the network watcher resource. - :type network_watcher_name: str - :param target_resource_id: The target resource ID to query the - troubleshooting result. - :type target_resource_id: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns TroubleshootingResult - or ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.TroubleshootingResult] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.TroubleshootingResult]] - :raises: - :class:`ErrorResponseException` - """ - raw_result = self._get_troubleshooting_result_initial( - resource_group_name=resource_group_name, - network_watcher_name=network_watcher_name, - target_resource_id=target_resource_id, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('TroubleshootingResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - get_troubleshooting_result.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/queryTroubleshootResult'} - - - def _set_flow_log_configuration_initial( - self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.set_flow_log_configuration.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'FlowLogInformation') - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - raise models.ErrorResponseException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('FlowLogInformation', response) - if response.status_code == 202: - deserialized = self._deserialize('FlowLogInformation', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def set_flow_log_configuration( - self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Configures flow log and traffic analytics (optional) on a specified - resource. - - :param resource_group_name: The name of the network watcher resource - group. - :type resource_group_name: str - :param network_watcher_name: The name of the network watcher resource. - :type network_watcher_name: str - :param parameters: Parameters that define the configuration of flow - log. - :type parameters: - ~azure.mgmt.network.v2018_08_01.models.FlowLogInformation - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns FlowLogInformation or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.FlowLogInformation] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.FlowLogInformation]] - :raises: - :class:`ErrorResponseException` - """ - raw_result = self._set_flow_log_configuration_initial( - resource_group_name=resource_group_name, - network_watcher_name=network_watcher_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('FlowLogInformation', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - set_flow_log_configuration.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/configureFlowLog'} - - - def _get_flow_log_status_initial( - self, resource_group_name, network_watcher_name, target_resource_id, custom_headers=None, raw=False, **operation_config): - parameters = models.FlowLogStatusParameters(target_resource_id=target_resource_id) - - # Construct URL - url = self.get_flow_log_status.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'FlowLogStatusParameters') - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - raise models.ErrorResponseException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('FlowLogInformation', response) - if response.status_code == 202: - deserialized = self._deserialize('FlowLogInformation', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def get_flow_log_status( - self, resource_group_name, network_watcher_name, target_resource_id, custom_headers=None, raw=False, polling=True, **operation_config): - """Queries status of flow log and traffic analytics (optional) on a - specified resource. - - :param resource_group_name: The name of the network watcher resource - group. - :type resource_group_name: str - :param network_watcher_name: The name of the network watcher resource. - :type network_watcher_name: str - :param target_resource_id: The target resource where getting the flow - log and traffic analytics (optional) status. - :type target_resource_id: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns FlowLogInformation or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.FlowLogInformation] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.FlowLogInformation]] - :raises: - :class:`ErrorResponseException` - """ - raw_result = self._get_flow_log_status_initial( - resource_group_name=resource_group_name, - network_watcher_name=network_watcher_name, - target_resource_id=target_resource_id, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('FlowLogInformation', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - get_flow_log_status.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/queryFlowLogStatus'} - - - def _check_connectivity_initial( - self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.check_connectivity.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'ConnectivityParameters') - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - raise models.ErrorResponseException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('ConnectivityInformation', response) - if response.status_code == 202: - deserialized = self._deserialize('ConnectivityInformation', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def check_connectivity( - self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Verifies the possibility of establishing a direct TCP connection from a - virtual machine to a given endpoint including another VM or an - arbitrary remote server. - - :param resource_group_name: The name of the network watcher resource - group. - :type resource_group_name: str - :param network_watcher_name: The name of the network watcher resource. - :type network_watcher_name: str - :param parameters: Parameters that determine how the connectivity - check will be performed. - :type parameters: - ~azure.mgmt.network.v2018_08_01.models.ConnectivityParameters - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns ConnectivityInformation - or ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.ConnectivityInformation] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.ConnectivityInformation]] - :raises: - :class:`ErrorResponseException` - """ - raw_result = self._check_connectivity_initial( - resource_group_name=resource_group_name, - network_watcher_name=network_watcher_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ConnectivityInformation', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - check_connectivity.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectivityCheck'} - - - def _get_azure_reachability_report_initial( - self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.get_azure_reachability_report.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'AzureReachabilityReportParameters') - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - raise models.ErrorResponseException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('AzureReachabilityReport', response) - if response.status_code == 202: - deserialized = self._deserialize('AzureReachabilityReport', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def get_azure_reachability_report( - self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Gets the relative latency score for internet service providers from a - specified location to Azure regions. - - :param resource_group_name: The name of the network watcher resource - group. - :type resource_group_name: str - :param network_watcher_name: The name of the network watcher resource. - :type network_watcher_name: str - :param parameters: Parameters that determine Azure reachability report - configuration. - :type parameters: - ~azure.mgmt.network.v2018_08_01.models.AzureReachabilityReportParameters - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns AzureReachabilityReport - or ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.AzureReachabilityReport] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.AzureReachabilityReport]] - :raises: - :class:`ErrorResponseException` - """ - raw_result = self._get_azure_reachability_report_initial( - resource_group_name=resource_group_name, - network_watcher_name=network_watcher_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('AzureReachabilityReport', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - get_azure_reachability_report.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/azureReachabilityReport'} - - - def _list_available_providers_initial( - self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.list_available_providers.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'AvailableProvidersListParameters') - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - raise models.ErrorResponseException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('AvailableProvidersList', response) - if response.status_code == 202: - deserialized = self._deserialize('AvailableProvidersList', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def list_available_providers( - self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Lists all available internet service providers for a specified Azure - region. - - :param resource_group_name: The name of the network watcher resource - group. - :type resource_group_name: str - :param network_watcher_name: The name of the network watcher resource. - :type network_watcher_name: str - :param parameters: Parameters that scope the list of available - providers. - :type parameters: - ~azure.mgmt.network.v2018_08_01.models.AvailableProvidersListParameters - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns AvailableProvidersList - or ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.AvailableProvidersList] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.AvailableProvidersList]] - :raises: - :class:`ErrorResponseException` - """ - raw_result = self._list_available_providers_initial( - resource_group_name=resource_group_name, - network_watcher_name=network_watcher_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('AvailableProvidersList', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - list_available_providers.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/availableProvidersList'} - - - def _get_network_configuration_diagnostic_initial( - self, resource_group_name, network_watcher_name, target_resource_id, queries, custom_headers=None, raw=False, **operation_config): - parameters = models.NetworkConfigurationDiagnosticParameters(target_resource_id=target_resource_id, queries=queries) - - # Construct URL - url = self.get_network_configuration_diagnostic.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'NetworkConfigurationDiagnosticParameters') - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - raise models.ErrorResponseException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('NetworkConfigurationDiagnosticResponse', response) - if response.status_code == 202: - deserialized = self._deserialize('NetworkConfigurationDiagnosticResponse', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def get_network_configuration_diagnostic( - self, resource_group_name, network_watcher_name, target_resource_id, queries, custom_headers=None, raw=False, polling=True, **operation_config): - """Get network configuration diagnostic. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_watcher_name: The name of the network watcher. - :type network_watcher_name: str - :param target_resource_id: The ID of the target resource to perform - network configuration diagnostic. Valid options are VM, - NetworkInterface, VMSS/NetworkInterface and Application Gateway. - :type target_resource_id: str - :param queries: List of traffic queries. - :type queries: - list[~azure.mgmt.network.v2018_08_01.models.TrafficQuery] - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - NetworkConfigurationDiagnosticResponse or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.NetworkConfigurationDiagnosticResponse] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.NetworkConfigurationDiagnosticResponse]] - :raises: - :class:`ErrorResponseException` - """ - raw_result = self._get_network_configuration_diagnostic_initial( - resource_group_name=resource_group_name, - network_watcher_name=network_watcher_name, - target_resource_id=target_resource_id, - queries=queries, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('NetworkConfigurationDiagnosticResponse', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - get_network_configuration_diagnostic.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/networkConfigurationDiagnostic'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/operations.py deleted file mode 100644 index 4739fcbf2b0..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/operations.py +++ /dev/null @@ -1,98 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError - -from .. import models - - -class Operations(object): - """Operations operations. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2018-08-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2018-08-01" - - self.config = config - - def list( - self, custom_headers=None, raw=False, **operation_config): - """Lists all of the available Network Rest API operations. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of Operation - :rtype: - ~azure.mgmt.network.v2018_08_01.models.OperationPaged[~azure.mgmt.network.v2018_08_01.models.Operation] - :raises: :class:`CloudError` - """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list.metadata['url'] - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - deserialized = models.OperationPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.OperationPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list.metadata = {'url': '/providers/Microsoft.Network/operations'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/p2s_vpn_gateways_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/p2s_vpn_gateways_operations.py deleted file mode 100644 index 1dc6e7d802f..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/p2s_vpn_gateways_operations.py +++ /dev/null @@ -1,626 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class P2sVpnGatewaysOperations(object): - """P2sVpnGatewaysOperations operations. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2018-08-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2018-08-01" - - self.config = config - - def get( - self, resource_group_name, gateway_name, custom_headers=None, raw=False, **operation_config): - """Retrieves the details of a virtual wan p2s vpn gateway. - - :param resource_group_name: The resource group name of the - P2SVpnGateway. - :type resource_group_name: str - :param gateway_name: The name of the gateway. - :type gateway_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: P2SVpnGateway or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2018_08_01.models.P2SVpnGateway or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorException` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('P2SVpnGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/p2svpnGateways/{gatewayName}'} - - - def _create_or_update_initial( - self, resource_group_name, gateway_name, p2_svpn_gateway_parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(p2_svpn_gateway_parameters, 'P2SVpnGateway') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 201]: - raise models.ErrorException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('P2SVpnGateway', response) - if response.status_code == 201: - deserialized = self._deserialize('P2SVpnGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, gateway_name, p2_svpn_gateway_parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates a virtual wan p2s vpn gateway if it doesn't exist else updates - the existing gateway. - - :param resource_group_name: The resource group name of the - P2SVpnGateway. - :type resource_group_name: str - :param gateway_name: The name of the gateway. - :type gateway_name: str - :param p2_svpn_gateway_parameters: Parameters supplied to create or - Update a virtual wan p2s vpn gateway. - :type p2_svpn_gateway_parameters: - ~azure.mgmt.network.v2018_08_01.models.P2SVpnGateway - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns P2SVpnGateway or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.P2SVpnGateway] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.P2SVpnGateway]] - :raises: - :class:`ErrorException` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - gateway_name=gateway_name, - p2_svpn_gateway_parameters=p2_svpn_gateway_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('P2SVpnGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/p2svpnGateways/{gatewayName}'} - - - def _update_tags_initial( - self, resource_group_name, gateway_name, tags=None, custom_headers=None, raw=False, **operation_config): - p2_svpn_gateway_parameters = models.TagsObject(tags=tags) - - # Construct URL - url = self.update_tags.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(p2_svpn_gateway_parameters, 'TagsObject') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 201]: - raise models.ErrorException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('P2SVpnGateway', response) - if response.status_code == 201: - deserialized = self._deserialize('P2SVpnGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def update_tags( - self, resource_group_name, gateway_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Updates virtual wan p2s vpn gateway tags. - - :param resource_group_name: The resource group name of the - P2SVpnGateway. - :type resource_group_name: str - :param gateway_name: The name of the gateway. - :type gateway_name: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns P2SVpnGateway or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.P2SVpnGateway] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.P2SVpnGateway]] - :raises: - :class:`ErrorException` - """ - raw_result = self._update_tags_initial( - resource_group_name=resource_group_name, - gateway_name=gateway_name, - tags=tags, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('P2SVpnGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/p2svpnGateways/{gatewayName}'} - - - def _delete_initial( - self, resource_group_name, gateway_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - raise models.ErrorException(self._deserialize, response) - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes a virtual wan p2s vpn gateway. - - :param resource_group_name: The resource group name of the - P2SVpnGateway. - :type resource_group_name: str - :param gateway_name: The name of the gateway. - :type gateway_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: - :class:`ErrorException` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - gateway_name=gateway_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/p2svpnGateways/{gatewayName}'} - - def list_by_resource_group( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Lists all the P2SVpnGateways in a resource group. - - :param resource_group_name: The resource group name of the - P2SVpnGateway. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of P2SVpnGateway - :rtype: - ~azure.mgmt.network.v2018_08_01.models.P2SVpnGatewayPaged[~azure.mgmt.network.v2018_08_01.models.P2SVpnGateway] - :raises: - :class:`ErrorException` - """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list_by_resource_group.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorException(self._deserialize, response) - - return response - - # Deserialize response - deserialized = models.P2SVpnGatewayPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.P2SVpnGatewayPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/p2svpnGateways'} - - def list( - self, custom_headers=None, raw=False, **operation_config): - """Lists all the P2SVpnGateways in a subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of P2SVpnGateway - :rtype: - ~azure.mgmt.network.v2018_08_01.models.P2SVpnGatewayPaged[~azure.mgmt.network.v2018_08_01.models.P2SVpnGateway] - :raises: - :class:`ErrorException` - """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorException(self._deserialize, response) - - return response - - # Deserialize response - deserialized = models.P2SVpnGatewayPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.P2SVpnGatewayPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/p2svpnGateways'} - - - def _generate_vpn_profile_initial( - self, resource_group_name, gateway_name, authentication_method=None, custom_headers=None, raw=False, **operation_config): - parameters = models.P2SVpnProfileParameters(authentication_method=authentication_method) - - # Construct URL - url = self.generate_vpn_profile.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'P2SVpnProfileParameters') - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - 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('VpnProfileResponse', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def generate_vpn_profile( - self, resource_group_name, gateway_name, authentication_method=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Generates VPN profile for P2S client of the P2SVpnGateway in the - specified resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param gateway_name: The name of the P2SVpnGateway. - :type gateway_name: str - :param authentication_method: VPN client Authentication Method. - Possible values are: 'EAPTLS' and 'EAPMSCHAPv2'. Possible values - include: 'EAPTLS', 'EAPMSCHAPv2' - :type authentication_method: str or - ~azure.mgmt.network.v2018_08_01.models.AuthenticationMethod - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns VpnProfileResponse or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.VpnProfileResponse] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.VpnProfileResponse]] - :raises: :class:`CloudError` - """ - raw_result = self._generate_vpn_profile_initial( - resource_group_name=resource_group_name, - gateway_name=gateway_name, - authentication_method=authentication_method, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('VpnProfileResponse', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - generate_vpn_profile.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/p2svpnGateways/{gatewayName}/generatevpnprofile'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/p2s_vpn_server_configurations_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/p2s_vpn_server_configurations_operations.py deleted file mode 100644 index 66b7515263b..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/p2s_vpn_server_configurations_operations.py +++ /dev/null @@ -1,369 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class P2sVpnServerConfigurationsOperations(object): - """P2sVpnServerConfigurationsOperations operations. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2018-08-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2018-08-01" - - self.config = config - - def get( - self, resource_group_name, virtual_wan_name, p2_svpn_server_configuration_name, custom_headers=None, raw=False, **operation_config): - """Retrieves the details of a P2SVpnServerConfiguration. - - :param resource_group_name: The resource group name of the - P2SVpnServerConfiguration. - :type resource_group_name: str - :param virtual_wan_name: The name of the VirtualWan. - :type virtual_wan_name: str - :param p2_svpn_server_configuration_name: The name of the - P2SVpnServerConfiguration. - :type p2_svpn_server_configuration_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: P2SVpnServerConfiguration or ClientRawResponse if raw=true - :rtype: - ~azure.mgmt.network.v2018_08_01.models.P2SVpnServerConfiguration or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorException` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualWanName': self._serialize.url("virtual_wan_name", virtual_wan_name, 'str'), - 'p2SVpnServerConfigurationName': self._serialize.url("p2_svpn_server_configuration_name", p2_svpn_server_configuration_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('P2SVpnServerConfiguration', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{virtualWanName}/p2sVpnServerConfigurations/{p2SVpnServerConfigurationName}'} - - - def _create_or_update_initial( - self, resource_group_name, virtual_wan_name, p2_svpn_server_configuration_name, p2_svpn_server_configuration_parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualWanName': self._serialize.url("virtual_wan_name", virtual_wan_name, 'str'), - 'p2SVpnServerConfigurationName': self._serialize.url("p2_svpn_server_configuration_name", p2_svpn_server_configuration_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(p2_svpn_server_configuration_parameters, 'P2SVpnServerConfiguration') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 201]: - raise models.ErrorException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('P2SVpnServerConfiguration', response) - if response.status_code == 201: - deserialized = self._deserialize('P2SVpnServerConfiguration', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, virtual_wan_name, p2_svpn_server_configuration_name, p2_svpn_server_configuration_parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates a P2SVpnServerConfiguration to associate with a VirtualWan if - it doesn't exist else updates the existing P2SVpnServerConfiguration. - - :param resource_group_name: The resource group name of the VirtualWan. - :type resource_group_name: str - :param virtual_wan_name: The name of the VirtualWan. - :type virtual_wan_name: str - :param p2_svpn_server_configuration_name: The name of the - P2SVpnServerConfiguration. - :type p2_svpn_server_configuration_name: str - :param p2_svpn_server_configuration_parameters: Parameters supplied to - create or Update a P2SVpnServerConfiguration. - :type p2_svpn_server_configuration_parameters: - ~azure.mgmt.network.v2018_08_01.models.P2SVpnServerConfiguration - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - P2SVpnServerConfiguration or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.P2SVpnServerConfiguration] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.P2SVpnServerConfiguration]] - :raises: - :class:`ErrorException` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - virtual_wan_name=virtual_wan_name, - p2_svpn_server_configuration_name=p2_svpn_server_configuration_name, - p2_svpn_server_configuration_parameters=p2_svpn_server_configuration_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('P2SVpnServerConfiguration', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{virtualWanName}/p2sVpnServerConfigurations/{p2SVpnServerConfigurationName}'} - - - def _delete_initial( - self, resource_group_name, virtual_wan_name, p2_svpn_server_configuration_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualWanName': self._serialize.url("virtual_wan_name", virtual_wan_name, 'str'), - 'p2SVpnServerConfigurationName': self._serialize.url("p2_svpn_server_configuration_name", p2_svpn_server_configuration_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - raise models.ErrorException(self._deserialize, response) - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, virtual_wan_name, p2_svpn_server_configuration_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes a P2SVpnServerConfiguration. - - :param resource_group_name: The resource group name of the - P2SVpnServerConfiguration. - :type resource_group_name: str - :param virtual_wan_name: The name of the VirtualWan. - :type virtual_wan_name: str - :param p2_svpn_server_configuration_name: The name of the - P2SVpnServerConfiguration. - :type p2_svpn_server_configuration_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: - :class:`ErrorException` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - virtual_wan_name=virtual_wan_name, - p2_svpn_server_configuration_name=p2_svpn_server_configuration_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{virtualWanName}/p2sVpnServerConfigurations/{p2SVpnServerConfigurationName}'} - - def list_by_virtual_wan( - self, resource_group_name, virtual_wan_name, custom_headers=None, raw=False, **operation_config): - """Retrieves all P2SVpnServerConfigurations for a particular VirtualWan. - - :param resource_group_name: The resource group name of the VirtualWan. - :type resource_group_name: str - :param virtual_wan_name: The name of the VirtualWan. - :type virtual_wan_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of P2SVpnServerConfiguration - :rtype: - ~azure.mgmt.network.v2018_08_01.models.P2SVpnServerConfigurationPaged[~azure.mgmt.network.v2018_08_01.models.P2SVpnServerConfiguration] - :raises: - :class:`ErrorException` - """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list_by_virtual_wan.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualWanName': self._serialize.url("virtual_wan_name", virtual_wan_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorException(self._deserialize, response) - - return response - - # Deserialize response - deserialized = models.P2SVpnServerConfigurationPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.P2SVpnServerConfigurationPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list_by_virtual_wan.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{virtualWanName}/p2sVpnServerConfigurations'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/packet_captures_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/packet_captures_operations.py deleted file mode 100644 index c1c2e75d31a..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/packet_captures_operations.py +++ /dev/null @@ -1,540 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class PacketCapturesOperations(object): - """PacketCapturesOperations operations. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2018-08-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2018-08-01" - - self.config = config - - - def _create_initial( - self, resource_group_name, network_watcher_name, packet_capture_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), - 'packetCaptureName': self._serialize.url("packet_capture_name", packet_capture_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'PacketCapture') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [201]: - raise models.ErrorResponseException(self._deserialize, response) - - deserialized = None - - if response.status_code == 201: - deserialized = self._deserialize('PacketCaptureResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create( - self, resource_group_name, network_watcher_name, packet_capture_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Create and start a packet capture on the specified VM. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_watcher_name: The name of the network watcher. - :type network_watcher_name: str - :param packet_capture_name: The name of the packet capture session. - :type packet_capture_name: str - :param parameters: Parameters that define the create packet capture - operation. - :type parameters: ~azure.mgmt.network.v2018_08_01.models.PacketCapture - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns PacketCaptureResult or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.PacketCaptureResult] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.PacketCaptureResult]] - :raises: - :class:`ErrorResponseException` - """ - raw_result = self._create_initial( - resource_group_name=resource_group_name, - network_watcher_name=network_watcher_name, - packet_capture_name=packet_capture_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('PacketCaptureResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures/{packetCaptureName}'} - - def get( - self, resource_group_name, network_watcher_name, packet_capture_name, custom_headers=None, raw=False, **operation_config): - """Gets a packet capture session by name. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_watcher_name: The name of the network watcher. - :type network_watcher_name: str - :param packet_capture_name: The name of the packet capture session. - :type packet_capture_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: PacketCaptureResult or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2018_08_01.models.PacketCaptureResult or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorResponseException` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), - 'packetCaptureName': self._serialize.url("packet_capture_name", packet_capture_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorResponseException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('PacketCaptureResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures/{packetCaptureName}'} - - - def _delete_initial( - self, resource_group_name, network_watcher_name, packet_capture_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), - 'packetCaptureName': self._serialize.url("packet_capture_name", packet_capture_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [202, 204]: - raise models.ErrorResponseException(self._deserialize, response) - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, network_watcher_name, packet_capture_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified packet capture session. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_watcher_name: The name of the network watcher. - :type network_watcher_name: str - :param packet_capture_name: The name of the packet capture session. - :type packet_capture_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: - :class:`ErrorResponseException` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - network_watcher_name=network_watcher_name, - packet_capture_name=packet_capture_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures/{packetCaptureName}'} - - - def _stop_initial( - self, resource_group_name, network_watcher_name, packet_capture_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.stop.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), - 'packetCaptureName': self._serialize.url("packet_capture_name", packet_capture_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - raise models.ErrorResponseException(self._deserialize, response) - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def stop( - self, resource_group_name, network_watcher_name, packet_capture_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Stops a specified packet capture session. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_watcher_name: The name of the network watcher. - :type network_watcher_name: str - :param packet_capture_name: The name of the packet capture session. - :type packet_capture_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: - :class:`ErrorResponseException` - """ - raw_result = self._stop_initial( - resource_group_name=resource_group_name, - network_watcher_name=network_watcher_name, - packet_capture_name=packet_capture_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - stop.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures/{packetCaptureName}/stop'} - - - def _get_status_initial( - self, resource_group_name, network_watcher_name, packet_capture_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.get_status.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), - 'packetCaptureName': self._serialize.url("packet_capture_name", packet_capture_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - raise models.ErrorResponseException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('PacketCaptureQueryStatusResult', response) - if response.status_code == 202: - deserialized = self._deserialize('PacketCaptureQueryStatusResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def get_status( - self, resource_group_name, network_watcher_name, packet_capture_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Query the status of a running packet capture session. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_watcher_name: The name of the Network Watcher resource. - :type network_watcher_name: str - :param packet_capture_name: The name given to the packet capture - session. - :type packet_capture_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - PacketCaptureQueryStatusResult or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.PacketCaptureQueryStatusResult] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.PacketCaptureQueryStatusResult]] - :raises: - :class:`ErrorResponseException` - """ - raw_result = self._get_status_initial( - resource_group_name=resource_group_name, - network_watcher_name=network_watcher_name, - packet_capture_name=packet_capture_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('PacketCaptureQueryStatusResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - get_status.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures/{packetCaptureName}/queryStatus'} - - def list( - self, resource_group_name, network_watcher_name, custom_headers=None, raw=False, **operation_config): - """Lists all packet capture sessions within the specified resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_watcher_name: The name of the Network Watcher resource. - :type network_watcher_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of PacketCaptureResult - :rtype: - ~azure.mgmt.network.v2018_08_01.models.PacketCaptureResultPaged[~azure.mgmt.network.v2018_08_01.models.PacketCaptureResult] - :raises: - :class:`ErrorResponseException` - """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorResponseException(self._deserialize, response) - - return response - - # Deserialize response - deserialized = models.PacketCaptureResultPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.PacketCaptureResultPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/public_ip_addresses_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/public_ip_addresses_operations.py deleted file mode 100644 index a3cd3ce4037..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/public_ip_addresses_operations.py +++ /dev/null @@ -1,770 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class PublicIPAddressesOperations(object): - """PublicIPAddressesOperations operations. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - - self.config = config - - - def _delete_initial( - self, resource_group_name, public_ip_address_name, custom_headers=None, raw=False, **operation_config): - api_version = "2018-08-01" - - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'publicIpAddressName': self._serialize.url("public_ip_address_name", public_ip_address_name, 'str'), - '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("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, public_ip_address_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified public IP address. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param public_ip_address_name: The name of the subnet. - :type public_ip_address_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - public_ip_address_name=public_ip_address_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses/{publicIpAddressName}'} - - def get( - self, resource_group_name, public_ip_address_name, expand=None, custom_headers=None, raw=False, **operation_config): - """Gets the specified public IP address in a specified resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param public_ip_address_name: The name of the subnet. - :type public_ip_address_name: str - :param expand: Expands referenced resources. - :type expand: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: PublicIPAddress or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2018_08_01.models.PublicIPAddress or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - api_version = "2018-08-01" - - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'publicIpAddressName': self._serialize.url("public_ip_address_name", public_ip_address_name, 'str'), - '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("api_version", api_version, 'str') - if expand is not None: - query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('PublicIPAddress', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses/{publicIpAddressName}'} - - - def _create_or_update_initial( - self, resource_group_name, public_ip_address_name, parameters, custom_headers=None, raw=False, **operation_config): - api_version = "2018-08-01" - - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'publicIpAddressName': self._serialize.url("public_ip_address_name", public_ip_address_name, 'str'), - '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("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'PublicIPAddress') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('PublicIPAddress', response) - if response.status_code == 201: - deserialized = self._deserialize('PublicIPAddress', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, public_ip_address_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates a static or dynamic public IP address. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param public_ip_address_name: The name of the public IP address. - :type public_ip_address_name: str - :param parameters: Parameters supplied to the create or update public - IP address operation. - :type parameters: - ~azure.mgmt.network.v2018_08_01.models.PublicIPAddress - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns PublicIPAddress or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.PublicIPAddress] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.PublicIPAddress]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - public_ip_address_name=public_ip_address_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('PublicIPAddress', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses/{publicIpAddressName}'} - - - def _update_tags_initial( - self, resource_group_name, public_ip_address_name, tags=None, custom_headers=None, raw=False, **operation_config): - parameters = models.TagsObject(tags=tags) - - api_version = "2018-08-01" - - # Construct URL - url = self.update_tags.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'publicIpAddressName': self._serialize.url("public_ip_address_name", public_ip_address_name, 'str'), - '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("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'TagsObject') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('PublicIPAddress', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def update_tags( - self, resource_group_name, public_ip_address_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Updates public IP address tags. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param public_ip_address_name: The name of the public IP address. - :type public_ip_address_name: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns PublicIPAddress or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.PublicIPAddress] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.PublicIPAddress]] - :raises: :class:`CloudError` - """ - raw_result = self._update_tags_initial( - resource_group_name=resource_group_name, - public_ip_address_name=public_ip_address_name, - tags=tags, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('PublicIPAddress', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses/{publicIpAddressName}'} - - def list_all( - self, custom_headers=None, raw=False, **operation_config): - """Gets all the public IP addresses in a subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of PublicIPAddress - :rtype: - ~azure.mgmt.network.v2018_08_01.models.PublicIPAddressPaged[~azure.mgmt.network.v2018_08_01.models.PublicIPAddress] - :raises: :class:`CloudError` - """ - api_version = "2018-08-01" - - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list_all.metadata['url'] - path_format_arguments = { - '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("api_version", api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - deserialized = models.PublicIPAddressPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.PublicIPAddressPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/publicIPAddresses'} - - def list( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Gets all public IP addresses in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of PublicIPAddress - :rtype: - ~azure.mgmt.network.v2018_08_01.models.PublicIPAddressPaged[~azure.mgmt.network.v2018_08_01.models.PublicIPAddress] - :raises: :class:`CloudError` - """ - api_version = "2018-08-01" - - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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("api_version", api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - deserialized = models.PublicIPAddressPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.PublicIPAddressPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses'} - - def list_virtual_machine_scale_set_public_ip_addresses( - self, resource_group_name, virtual_machine_scale_set_name, custom_headers=None, raw=False, **operation_config): - """Gets information about all public IP addresses on a virtual machine - scale set level. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_machine_scale_set_name: The name of the virtual machine - scale set. - :type virtual_machine_scale_set_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of PublicIPAddress - :rtype: - ~azure.mgmt.network.v2018_08_01.models.PublicIPAddressPaged[~azure.mgmt.network.v2018_08_01.models.PublicIPAddress] - :raises: :class:`CloudError` - """ - api_version = "2017-03-30" - - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list_virtual_machine_scale_set_public_ip_addresses.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualMachineScaleSetName': self._serialize.url("virtual_machine_scale_set_name", virtual_machine_scale_set_name, 'str'), - '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("api_version", api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - deserialized = models.PublicIPAddressPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.PublicIPAddressPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list_virtual_machine_scale_set_public_ip_addresses.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/publicipaddresses'} - - def list_virtual_machine_scale_set_vm_public_ip_addresses( - self, resource_group_name, virtual_machine_scale_set_name, virtualmachine_index, network_interface_name, ip_configuration_name, custom_headers=None, raw=False, **operation_config): - """Gets information about all public IP addresses in a virtual machine IP - configuration in a virtual machine scale set. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_machine_scale_set_name: The name of the virtual machine - scale set. - :type virtual_machine_scale_set_name: str - :param virtualmachine_index: The virtual machine index. - :type virtualmachine_index: str - :param network_interface_name: The network interface name. - :type network_interface_name: str - :param ip_configuration_name: The IP configuration name. - :type ip_configuration_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of PublicIPAddress - :rtype: - ~azure.mgmt.network.v2018_08_01.models.PublicIPAddressPaged[~azure.mgmt.network.v2018_08_01.models.PublicIPAddress] - :raises: :class:`CloudError` - """ - api_version = "2017-03-30" - - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list_virtual_machine_scale_set_vm_public_ip_addresses.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualMachineScaleSetName': self._serialize.url("virtual_machine_scale_set_name", virtual_machine_scale_set_name, 'str'), - 'virtualmachineIndex': self._serialize.url("virtualmachine_index", virtualmachine_index, 'str'), - 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), - 'ipConfigurationName': self._serialize.url("ip_configuration_name", ip_configuration_name, 'str'), - '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("api_version", api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - deserialized = models.PublicIPAddressPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.PublicIPAddressPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list_virtual_machine_scale_set_vm_public_ip_addresses.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}/ipconfigurations/{ipConfigurationName}/publicipaddresses'} - - def get_virtual_machine_scale_set_public_ip_address( - self, resource_group_name, virtual_machine_scale_set_name, virtualmachine_index, network_interface_name, ip_configuration_name, public_ip_address_name, expand=None, custom_headers=None, raw=False, **operation_config): - """Get the specified public IP address in a virtual machine scale set. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_machine_scale_set_name: The name of the virtual machine - scale set. - :type virtual_machine_scale_set_name: str - :param virtualmachine_index: The virtual machine index. - :type virtualmachine_index: str - :param network_interface_name: The name of the network interface. - :type network_interface_name: str - :param ip_configuration_name: The name of the IP configuration. - :type ip_configuration_name: str - :param public_ip_address_name: The name of the public IP Address. - :type public_ip_address_name: str - :param expand: Expands referenced resources. - :type expand: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: PublicIPAddress or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2018_08_01.models.PublicIPAddress or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - api_version = "2017-03-30" - - # Construct URL - url = self.get_virtual_machine_scale_set_public_ip_address.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualMachineScaleSetName': self._serialize.url("virtual_machine_scale_set_name", virtual_machine_scale_set_name, 'str'), - 'virtualmachineIndex': self._serialize.url("virtualmachine_index", virtualmachine_index, 'str'), - 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), - 'ipConfigurationName': self._serialize.url("ip_configuration_name", ip_configuration_name, 'str'), - 'publicIpAddressName': self._serialize.url("public_ip_address_name", public_ip_address_name, 'str'), - '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("api_version", api_version, 'str') - if expand is not None: - query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('PublicIPAddress', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get_virtual_machine_scale_set_public_ip_address.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}/ipconfigurations/{ipConfigurationName}/publicipaddresses/{publicIpAddressName}'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/public_ip_prefixes_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/public_ip_prefixes_operations.py deleted file mode 100644 index a19b266a18c..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/public_ip_prefixes_operations.py +++ /dev/null @@ -1,522 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class PublicIPPrefixesOperations(object): - """PublicIPPrefixesOperations operations. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2018-08-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2018-08-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, public_ip_prefix_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'publicIpPrefixName': self._serialize.url("public_ip_prefix_name", public_ip_prefix_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, public_ip_prefix_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified public IP prefix. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param public_ip_prefix_name: The name of the PublicIpPrefix. - :type public_ip_prefix_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - public_ip_prefix_name=public_ip_prefix_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIpPrefixName}'} - - def get( - self, resource_group_name, public_ip_prefix_name, expand=None, custom_headers=None, raw=False, **operation_config): - """Gets the specified public IP prefix in a specified resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param public_ip_prefix_name: The name of the PublicIPPrefx. - :type public_ip_prefix_name: str - :param expand: Expands referenced resources. - :type expand: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: PublicIPPrefix or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2018_08_01.models.PublicIPPrefix or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'publicIpPrefixName': self._serialize.url("public_ip_prefix_name", public_ip_prefix_name, 'str'), - '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.api_version", self.api_version, 'str') - if expand is not None: - query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('PublicIPPrefix', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIpPrefixName}'} - - - def _create_or_update_initial( - self, resource_group_name, public_ip_prefix_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'publicIpPrefixName': self._serialize.url("public_ip_prefix_name", public_ip_prefix_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'PublicIPPrefix') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('PublicIPPrefix', response) - if response.status_code == 201: - deserialized = self._deserialize('PublicIPPrefix', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, public_ip_prefix_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates a static or dynamic public IP prefix. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param public_ip_prefix_name: The name of the public IP prefix. - :type public_ip_prefix_name: str - :param parameters: Parameters supplied to the create or update public - IP prefix operation. - :type parameters: - ~azure.mgmt.network.v2018_08_01.models.PublicIPPrefix - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns PublicIPPrefix or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.PublicIPPrefix] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.PublicIPPrefix]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - public_ip_prefix_name=public_ip_prefix_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('PublicIPPrefix', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIpPrefixName}'} - - - def _update_tags_initial( - self, resource_group_name, public_ip_prefix_name, tags=None, custom_headers=None, raw=False, **operation_config): - parameters = models.TagsObject(tags=tags) - - # Construct URL - url = self.update_tags.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'publicIpPrefixName': self._serialize.url("public_ip_prefix_name", public_ip_prefix_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'TagsObject') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('PublicIPPrefix', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def update_tags( - self, resource_group_name, public_ip_prefix_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Updates public IP prefix tags. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param public_ip_prefix_name: The name of the public IP prefix. - :type public_ip_prefix_name: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns PublicIPPrefix or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.PublicIPPrefix] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.PublicIPPrefix]] - :raises: :class:`CloudError` - """ - raw_result = self._update_tags_initial( - resource_group_name=resource_group_name, - public_ip_prefix_name=public_ip_prefix_name, - tags=tags, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('PublicIPPrefix', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIpPrefixName}'} - - def list_all( - self, custom_headers=None, raw=False, **operation_config): - """Gets all the public IP prefixes in a subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of PublicIPPrefix - :rtype: - ~azure.mgmt.network.v2018_08_01.models.PublicIPPrefixPaged[~azure.mgmt.network.v2018_08_01.models.PublicIPPrefix] - :raises: :class:`CloudError` - """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list_all.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - deserialized = models.PublicIPPrefixPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.PublicIPPrefixPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/publicIPPrefixes'} - - def list( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Gets all public IP prefixes in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of PublicIPPrefix - :rtype: - ~azure.mgmt.network.v2018_08_01.models.PublicIPPrefixPaged[~azure.mgmt.network.v2018_08_01.models.PublicIPPrefix] - :raises: :class:`CloudError` - """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - deserialized = models.PublicIPPrefixPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.PublicIPPrefixPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/route_filter_rules_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/route_filter_rules_operations.py deleted file mode 100644 index e4a342a080a..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/route_filter_rules_operations.py +++ /dev/null @@ -1,472 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class RouteFilterRulesOperations(object): - """RouteFilterRulesOperations operations. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2018-08-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2018-08-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, route_filter_name, rule_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'routeFilterName': self._serialize.url("route_filter_name", route_filter_name, 'str'), - 'ruleName': self._serialize.url("rule_name", rule_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, route_filter_name, rule_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified rule from a route filter. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param route_filter_name: The name of the route filter. - :type route_filter_name: str - :param rule_name: The name of the rule. - :type rule_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - route_filter_name=route_filter_name, - rule_name=rule_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}/routeFilterRules/{ruleName}'} - - def get( - self, resource_group_name, route_filter_name, rule_name, custom_headers=None, raw=False, **operation_config): - """Gets the specified rule from a route filter. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param route_filter_name: The name of the route filter. - :type route_filter_name: str - :param rule_name: The name of the rule. - :type rule_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: RouteFilterRule or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2018_08_01.models.RouteFilterRule or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'routeFilterName': self._serialize.url("route_filter_name", route_filter_name, 'str'), - 'ruleName': self._serialize.url("rule_name", rule_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('RouteFilterRule', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}/routeFilterRules/{ruleName}'} - - - def _create_or_update_initial( - self, resource_group_name, route_filter_name, rule_name, route_filter_rule_parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'routeFilterName': self._serialize.url("route_filter_name", route_filter_name, 'str'), - 'ruleName': self._serialize.url("rule_name", rule_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(route_filter_rule_parameters, 'RouteFilterRule') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('RouteFilterRule', response) - if response.status_code == 201: - deserialized = self._deserialize('RouteFilterRule', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, route_filter_name, rule_name, route_filter_rule_parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates a route in the specified route filter. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param route_filter_name: The name of the route filter. - :type route_filter_name: str - :param rule_name: The name of the route filter rule. - :type rule_name: str - :param route_filter_rule_parameters: Parameters supplied to the create - or update route filter rule operation. - :type route_filter_rule_parameters: - ~azure.mgmt.network.v2018_08_01.models.RouteFilterRule - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns RouteFilterRule or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.RouteFilterRule] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.RouteFilterRule]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - route_filter_name=route_filter_name, - rule_name=rule_name, - route_filter_rule_parameters=route_filter_rule_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('RouteFilterRule', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}/routeFilterRules/{ruleName}'} - - - def _update_initial( - self, resource_group_name, route_filter_name, rule_name, route_filter_rule_parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'routeFilterName': self._serialize.url("route_filter_name", route_filter_name, 'str'), - 'ruleName': self._serialize.url("rule_name", rule_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(route_filter_rule_parameters, 'PatchRouteFilterRule') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('RouteFilterRule', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def update( - self, resource_group_name, route_filter_name, rule_name, route_filter_rule_parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Updates a route in the specified route filter. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param route_filter_name: The name of the route filter. - :type route_filter_name: str - :param rule_name: The name of the route filter rule. - :type rule_name: str - :param route_filter_rule_parameters: Parameters supplied to the update - route filter rule operation. - :type route_filter_rule_parameters: - ~azure.mgmt.network.v2018_08_01.models.PatchRouteFilterRule - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns RouteFilterRule or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.RouteFilterRule] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.RouteFilterRule]] - :raises: :class:`CloudError` - """ - raw_result = self._update_initial( - resource_group_name=resource_group_name, - route_filter_name=route_filter_name, - rule_name=rule_name, - route_filter_rule_parameters=route_filter_rule_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('RouteFilterRule', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}/routeFilterRules/{ruleName}'} - - def list_by_route_filter( - self, resource_group_name, route_filter_name, custom_headers=None, raw=False, **operation_config): - """Gets all RouteFilterRules in a route filter. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param route_filter_name: The name of the route filter. - :type route_filter_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of RouteFilterRule - :rtype: - ~azure.mgmt.network.v2018_08_01.models.RouteFilterRulePaged[~azure.mgmt.network.v2018_08_01.models.RouteFilterRule] - :raises: :class:`CloudError` - """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list_by_route_filter.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'routeFilterName': self._serialize.url("route_filter_name", route_filter_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - deserialized = models.RouteFilterRulePaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.RouteFilterRulePaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list_by_route_filter.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}/routeFilterRules'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/route_filters_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/route_filters_operations.py deleted file mode 100644 index c222f8d720e..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/route_filters_operations.py +++ /dev/null @@ -1,522 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class RouteFiltersOperations(object): - """RouteFiltersOperations operations. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2018-08-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2018-08-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, route_filter_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'routeFilterName': self._serialize.url("route_filter_name", route_filter_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, route_filter_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified route filter. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param route_filter_name: The name of the route filter. - :type route_filter_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - route_filter_name=route_filter_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}'} - - def get( - self, resource_group_name, route_filter_name, expand=None, custom_headers=None, raw=False, **operation_config): - """Gets the specified route filter. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param route_filter_name: The name of the route filter. - :type route_filter_name: str - :param expand: Expands referenced express route bgp peering resources. - :type expand: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: RouteFilter or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2018_08_01.models.RouteFilter or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'routeFilterName': self._serialize.url("route_filter_name", route_filter_name, 'str'), - '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.api_version", self.api_version, 'str') - if expand is not None: - query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('RouteFilter', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}'} - - - def _create_or_update_initial( - self, resource_group_name, route_filter_name, route_filter_parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'routeFilterName': self._serialize.url("route_filter_name", route_filter_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(route_filter_parameters, 'RouteFilter') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('RouteFilter', response) - if response.status_code == 201: - deserialized = self._deserialize('RouteFilter', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, route_filter_name, route_filter_parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates a route filter in a specified resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param route_filter_name: The name of the route filter. - :type route_filter_name: str - :param route_filter_parameters: Parameters supplied to the create or - update route filter operation. - :type route_filter_parameters: - ~azure.mgmt.network.v2018_08_01.models.RouteFilter - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns RouteFilter or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.RouteFilter] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.RouteFilter]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - route_filter_name=route_filter_name, - route_filter_parameters=route_filter_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('RouteFilter', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}'} - - - def _update_initial( - self, resource_group_name, route_filter_name, route_filter_parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'routeFilterName': self._serialize.url("route_filter_name", route_filter_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(route_filter_parameters, 'PatchRouteFilter') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('RouteFilter', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def update( - self, resource_group_name, route_filter_name, route_filter_parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Updates a route filter in a specified resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param route_filter_name: The name of the route filter. - :type route_filter_name: str - :param route_filter_parameters: Parameters supplied to the update - route filter operation. - :type route_filter_parameters: - ~azure.mgmt.network.v2018_08_01.models.PatchRouteFilter - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns RouteFilter or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.RouteFilter] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.RouteFilter]] - :raises: :class:`CloudError` - """ - raw_result = self._update_initial( - resource_group_name=resource_group_name, - route_filter_name=route_filter_name, - route_filter_parameters=route_filter_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('RouteFilter', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}'} - - def list_by_resource_group( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Gets all route filters in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of RouteFilter - :rtype: - ~azure.mgmt.network.v2018_08_01.models.RouteFilterPaged[~azure.mgmt.network.v2018_08_01.models.RouteFilter] - :raises: :class:`CloudError` - """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list_by_resource_group.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - deserialized = models.RouteFilterPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.RouteFilterPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters'} - - def list( - self, custom_headers=None, raw=False, **operation_config): - """Gets all route filters in a subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of RouteFilter - :rtype: - ~azure.mgmt.network.v2018_08_01.models.RouteFilterPaged[~azure.mgmt.network.v2018_08_01.models.RouteFilter] - :raises: :class:`CloudError` - """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - deserialized = models.RouteFilterPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.RouteFilterPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/routeFilters'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/route_tables_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/route_tables_operations.py deleted file mode 100644 index e4ca9c452a7..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/route_tables_operations.py +++ /dev/null @@ -1,521 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class RouteTablesOperations(object): - """RouteTablesOperations operations. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2018-08-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2018-08-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, route_table_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'routeTableName': self._serialize.url("route_table_name", route_table_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, route_table_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified route table. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param route_table_name: The name of the route table. - :type route_table_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - route_table_name=route_table_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}'} - - def get( - self, resource_group_name, route_table_name, expand=None, custom_headers=None, raw=False, **operation_config): - """Gets the specified route table. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param route_table_name: The name of the route table. - :type route_table_name: str - :param expand: Expands referenced resources. - :type expand: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: RouteTable or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2018_08_01.models.RouteTable or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'routeTableName': self._serialize.url("route_table_name", route_table_name, 'str'), - '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.api_version", self.api_version, 'str') - if expand is not None: - query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('RouteTable', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}'} - - - def _create_or_update_initial( - self, resource_group_name, route_table_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'routeTableName': self._serialize.url("route_table_name", route_table_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'RouteTable') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('RouteTable', response) - if response.status_code == 201: - deserialized = self._deserialize('RouteTable', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, route_table_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Create or updates a route table in a specified resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param route_table_name: The name of the route table. - :type route_table_name: str - :param parameters: Parameters supplied to the create or update route - table operation. - :type parameters: ~azure.mgmt.network.v2018_08_01.models.RouteTable - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns RouteTable or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.RouteTable] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.RouteTable]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - route_table_name=route_table_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('RouteTable', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}'} - - - def _update_tags_initial( - self, resource_group_name, route_table_name, tags=None, custom_headers=None, raw=False, **operation_config): - parameters = models.TagsObject(tags=tags) - - # Construct URL - url = self.update_tags.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'routeTableName': self._serialize.url("route_table_name", route_table_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'TagsObject') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('RouteTable', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def update_tags( - self, resource_group_name, route_table_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Updates a route table tags. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param route_table_name: The name of the route table. - :type route_table_name: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns RouteTable or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.RouteTable] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.RouteTable]] - :raises: :class:`CloudError` - """ - raw_result = self._update_tags_initial( - resource_group_name=resource_group_name, - route_table_name=route_table_name, - tags=tags, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('RouteTable', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}'} - - def list( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Gets all route tables in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of RouteTable - :rtype: - ~azure.mgmt.network.v2018_08_01.models.RouteTablePaged[~azure.mgmt.network.v2018_08_01.models.RouteTable] - :raises: :class:`CloudError` - """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - deserialized = models.RouteTablePaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.RouteTablePaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables'} - - def list_all( - self, custom_headers=None, raw=False, **operation_config): - """Gets all route tables in a subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of RouteTable - :rtype: - ~azure.mgmt.network.v2018_08_01.models.RouteTablePaged[~azure.mgmt.network.v2018_08_01.models.RouteTable] - :raises: :class:`CloudError` - """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list_all.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - deserialized = models.RouteTablePaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.RouteTablePaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/routeTables'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/routes_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/routes_operations.py deleted file mode 100644 index 1c8bd8d2d33..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/routes_operations.py +++ /dev/null @@ -1,365 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class RoutesOperations(object): - """RoutesOperations operations. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2018-08-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2018-08-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, route_table_name, route_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'routeTableName': self._serialize.url("route_table_name", route_table_name, 'str'), - 'routeName': self._serialize.url("route_name", route_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, route_table_name, route_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified route from a route table. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param route_table_name: The name of the route table. - :type route_table_name: str - :param route_name: The name of the route. - :type route_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - route_table_name=route_table_name, - route_name=route_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}/routes/{routeName}'} - - def get( - self, resource_group_name, route_table_name, route_name, custom_headers=None, raw=False, **operation_config): - """Gets the specified route from a route table. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param route_table_name: The name of the route table. - :type route_table_name: str - :param route_name: The name of the route. - :type route_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: Route or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2018_08_01.models.Route or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'routeTableName': self._serialize.url("route_table_name", route_table_name, 'str'), - 'routeName': self._serialize.url("route_name", route_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('Route', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}/routes/{routeName}'} - - - def _create_or_update_initial( - self, resource_group_name, route_table_name, route_name, route_parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'routeTableName': self._serialize.url("route_table_name", route_table_name, 'str'), - 'routeName': self._serialize.url("route_name", route_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(route_parameters, 'Route') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('Route', response) - if response.status_code == 201: - deserialized = self._deserialize('Route', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, route_table_name, route_name, route_parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates a route in the specified route table. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param route_table_name: The name of the route table. - :type route_table_name: str - :param route_name: The name of the route. - :type route_name: str - :param route_parameters: Parameters supplied to the create or update - route operation. - :type route_parameters: ~azure.mgmt.network.v2018_08_01.models.Route - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns Route or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.Route] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.Route]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - route_table_name=route_table_name, - route_name=route_name, - route_parameters=route_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('Route', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}/routes/{routeName}'} - - def list( - self, resource_group_name, route_table_name, custom_headers=None, raw=False, **operation_config): - """Gets all routes in a route table. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param route_table_name: The name of the route table. - :type route_table_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of Route - :rtype: - ~azure.mgmt.network.v2018_08_01.models.RoutePaged[~azure.mgmt.network.v2018_08_01.models.Route] - :raises: :class:`CloudError` - """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'routeTableName': self._serialize.url("route_table_name", route_table_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - deserialized = models.RoutePaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.RoutePaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}/routes'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/security_rules_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/security_rules_operations.py deleted file mode 100644 index 74a67526a4d..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/security_rules_operations.py +++ /dev/null @@ -1,371 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class SecurityRulesOperations(object): - """SecurityRulesOperations operations. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2018-08-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2018-08-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, network_security_group_name, security_rule_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkSecurityGroupName': self._serialize.url("network_security_group_name", network_security_group_name, 'str'), - 'securityRuleName': self._serialize.url("security_rule_name", security_rule_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, network_security_group_name, security_rule_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified network security rule. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_security_group_name: The name of the network security - group. - :type network_security_group_name: str - :param security_rule_name: The name of the security rule. - :type security_rule_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - network_security_group_name=network_security_group_name, - security_rule_name=security_rule_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/securityRules/{securityRuleName}'} - - def get( - self, resource_group_name, network_security_group_name, security_rule_name, custom_headers=None, raw=False, **operation_config): - """Get the specified network security rule. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_security_group_name: The name of the network security - group. - :type network_security_group_name: str - :param security_rule_name: The name of the security rule. - :type security_rule_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: SecurityRule or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2018_08_01.models.SecurityRule or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkSecurityGroupName': self._serialize.url("network_security_group_name", network_security_group_name, 'str'), - 'securityRuleName': self._serialize.url("security_rule_name", security_rule_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('SecurityRule', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/securityRules/{securityRuleName}'} - - - def _create_or_update_initial( - self, resource_group_name, network_security_group_name, security_rule_name, security_rule_parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkSecurityGroupName': self._serialize.url("network_security_group_name", network_security_group_name, 'str'), - 'securityRuleName': self._serialize.url("security_rule_name", security_rule_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(security_rule_parameters, 'SecurityRule') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('SecurityRule', response) - if response.status_code == 201: - deserialized = self._deserialize('SecurityRule', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, network_security_group_name, security_rule_name, security_rule_parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates a security rule in the specified network security - group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_security_group_name: The name of the network security - group. - :type network_security_group_name: str - :param security_rule_name: The name of the security rule. - :type security_rule_name: str - :param security_rule_parameters: Parameters supplied to the create or - update network security rule operation. - :type security_rule_parameters: - ~azure.mgmt.network.v2018_08_01.models.SecurityRule - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns SecurityRule or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.SecurityRule] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.SecurityRule]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - network_security_group_name=network_security_group_name, - security_rule_name=security_rule_name, - security_rule_parameters=security_rule_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('SecurityRule', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/securityRules/{securityRuleName}'} - - def list( - self, resource_group_name, network_security_group_name, custom_headers=None, raw=False, **operation_config): - """Gets all security rules in a network security group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_security_group_name: The name of the network security - group. - :type network_security_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of SecurityRule - :rtype: - ~azure.mgmt.network.v2018_08_01.models.SecurityRulePaged[~azure.mgmt.network.v2018_08_01.models.SecurityRule] - :raises: :class:`CloudError` - """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkSecurityGroupName': self._serialize.url("network_security_group_name", network_security_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - deserialized = models.SecurityRulePaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.SecurityRulePaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/securityRules'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/service_endpoint_policies_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/service_endpoint_policies_operations.py deleted file mode 100644 index 4eaf1e3c40e..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/service_endpoint_policies_operations.py +++ /dev/null @@ -1,527 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class ServiceEndpointPoliciesOperations(object): - """ServiceEndpointPoliciesOperations operations. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2018-08-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2018-08-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, service_endpoint_policy_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'serviceEndpointPolicyName': self._serialize.url("service_endpoint_policy_name", service_endpoint_policy_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, service_endpoint_policy_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified service endpoint policy. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param service_endpoint_policy_name: The name of the service endpoint - policy. - :type service_endpoint_policy_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - service_endpoint_policy_name=service_endpoint_policy_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/serviceEndpointPolicies/{serviceEndpointPolicyName}'} - - def get( - self, resource_group_name, service_endpoint_policy_name, expand=None, custom_headers=None, raw=False, **operation_config): - """Gets the specified service Endpoint Policies in a specified resource - group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param service_endpoint_policy_name: The name of the service endpoint - policy. - :type service_endpoint_policy_name: str - :param expand: Expands referenced resources. - :type expand: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ServiceEndpointPolicy or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2018_08_01.models.ServiceEndpointPolicy - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'serviceEndpointPolicyName': self._serialize.url("service_endpoint_policy_name", service_endpoint_policy_name, 'str'), - '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.api_version", self.api_version, 'str') - if expand is not None: - query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ServiceEndpointPolicy', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/serviceEndpointPolicies/{serviceEndpointPolicyName}'} - - - def _create_or_update_initial( - self, resource_group_name, service_endpoint_policy_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'serviceEndpointPolicyName': self._serialize.url("service_endpoint_policy_name", service_endpoint_policy_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'ServiceEndpointPolicy') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('ServiceEndpointPolicy', response) - if response.status_code == 201: - deserialized = self._deserialize('ServiceEndpointPolicy', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, service_endpoint_policy_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates a service Endpoint Policies. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param service_endpoint_policy_name: The name of the service endpoint - policy. - :type service_endpoint_policy_name: str - :param parameters: Parameters supplied to the create or update service - endpoint policy operation. - :type parameters: - ~azure.mgmt.network.v2018_08_01.models.ServiceEndpointPolicy - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns ServiceEndpointPolicy - or ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.ServiceEndpointPolicy] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.ServiceEndpointPolicy]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - service_endpoint_policy_name=service_endpoint_policy_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ServiceEndpointPolicy', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/serviceEndpointPolicies/{serviceEndpointPolicyName}'} - - - def _update_initial( - self, resource_group_name, service_endpoint_policy_name, tags=None, custom_headers=None, raw=False, **operation_config): - parameters = models.TagsObject(tags=tags) - - # Construct URL - url = self.update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'serviceEndpointPolicyName': self._serialize.url("service_endpoint_policy_name", service_endpoint_policy_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'TagsObject') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ServiceEndpointPolicy', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def update( - self, resource_group_name, service_endpoint_policy_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Updates service Endpoint Policies. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param service_endpoint_policy_name: The name of the service endpoint - policy. - :type service_endpoint_policy_name: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns ServiceEndpointPolicy - or ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.ServiceEndpointPolicy] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.ServiceEndpointPolicy]] - :raises: :class:`CloudError` - """ - raw_result = self._update_initial( - resource_group_name=resource_group_name, - service_endpoint_policy_name=service_endpoint_policy_name, - tags=tags, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ServiceEndpointPolicy', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/serviceEndpointPolicies/{serviceEndpointPolicyName}'} - - def list( - self, custom_headers=None, raw=False, **operation_config): - """Gets all the service endpoint policies in a subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of ServiceEndpointPolicy - :rtype: - ~azure.mgmt.network.v2018_08_01.models.ServiceEndpointPolicyPaged[~azure.mgmt.network.v2018_08_01.models.ServiceEndpointPolicy] - :raises: :class:`CloudError` - """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - deserialized = models.ServiceEndpointPolicyPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.ServiceEndpointPolicyPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/ServiceEndpointPolicies'} - - def list_by_resource_group( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Gets all service endpoint Policies in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of ServiceEndpointPolicy - :rtype: - ~azure.mgmt.network.v2018_08_01.models.ServiceEndpointPolicyPaged[~azure.mgmt.network.v2018_08_01.models.ServiceEndpointPolicy] - :raises: :class:`CloudError` - """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list_by_resource_group.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - deserialized = models.ServiceEndpointPolicyPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.ServiceEndpointPolicyPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/serviceEndpointPolicies'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/service_endpoint_policy_definitions_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/service_endpoint_policy_definitions_operations.py deleted file mode 100644 index 60a16a32230..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/service_endpoint_policy_definitions_operations.py +++ /dev/null @@ -1,379 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class ServiceEndpointPolicyDefinitionsOperations(object): - """ServiceEndpointPolicyDefinitionsOperations operations. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2018-08-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2018-08-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, service_endpoint_policy_name, service_endpoint_policy_definition_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'serviceEndpointPolicyName': self._serialize.url("service_endpoint_policy_name", service_endpoint_policy_name, 'str'), - 'serviceEndpointPolicyDefinitionName': self._serialize.url("service_endpoint_policy_definition_name", service_endpoint_policy_definition_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, service_endpoint_policy_name, service_endpoint_policy_definition_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified ServiceEndpoint policy definitions. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param service_endpoint_policy_name: The name of the Service Endpoint - Policy. - :type service_endpoint_policy_name: str - :param service_endpoint_policy_definition_name: The name of the - service endpoint policy definition. - :type service_endpoint_policy_definition_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - service_endpoint_policy_name=service_endpoint_policy_name, - service_endpoint_policy_definition_name=service_endpoint_policy_definition_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/serviceEndpointPolicies/{serviceEndpointPolicyName}/serviceEndpointPolicyDefinitions/{serviceEndpointPolicyDefinitionName}'} - - def get( - self, resource_group_name, service_endpoint_policy_name, service_endpoint_policy_definition_name, custom_headers=None, raw=False, **operation_config): - """Get the specified service endpoint policy definitions from service - endpoint policy. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param service_endpoint_policy_name: The name of the service endpoint - policy name. - :type service_endpoint_policy_name: str - :param service_endpoint_policy_definition_name: The name of the - service endpoint policy definition name. - :type service_endpoint_policy_definition_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ServiceEndpointPolicyDefinition or ClientRawResponse if - raw=true - :rtype: - ~azure.mgmt.network.v2018_08_01.models.ServiceEndpointPolicyDefinition - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'serviceEndpointPolicyName': self._serialize.url("service_endpoint_policy_name", service_endpoint_policy_name, 'str'), - 'serviceEndpointPolicyDefinitionName': self._serialize.url("service_endpoint_policy_definition_name", service_endpoint_policy_definition_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ServiceEndpointPolicyDefinition', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/serviceEndpointPolicies/{serviceEndpointPolicyName}/serviceEndpointPolicyDefinitions/{serviceEndpointPolicyDefinitionName}'} - - - def _create_or_update_initial( - self, resource_group_name, service_endpoint_policy_name, service_endpoint_policy_definition_name, service_endpoint_policy_definitions, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'serviceEndpointPolicyName': self._serialize.url("service_endpoint_policy_name", service_endpoint_policy_name, 'str'), - 'serviceEndpointPolicyDefinitionName': self._serialize.url("service_endpoint_policy_definition_name", service_endpoint_policy_definition_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(service_endpoint_policy_definitions, 'ServiceEndpointPolicyDefinition') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('ServiceEndpointPolicyDefinition', response) - if response.status_code == 201: - deserialized = self._deserialize('ServiceEndpointPolicyDefinition', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, service_endpoint_policy_name, service_endpoint_policy_definition_name, service_endpoint_policy_definitions, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates a service endpoint policy definition in the - specified service endpoint policy. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param service_endpoint_policy_name: The name of the service endpoint - policy. - :type service_endpoint_policy_name: str - :param service_endpoint_policy_definition_name: The name of the - service endpoint policy definition name. - :type service_endpoint_policy_definition_name: str - :param service_endpoint_policy_definitions: Parameters supplied to the - create or update service endpoint policy operation. - :type service_endpoint_policy_definitions: - ~azure.mgmt.network.v2018_08_01.models.ServiceEndpointPolicyDefinition - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - ServiceEndpointPolicyDefinition or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.ServiceEndpointPolicyDefinition] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.ServiceEndpointPolicyDefinition]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - service_endpoint_policy_name=service_endpoint_policy_name, - service_endpoint_policy_definition_name=service_endpoint_policy_definition_name, - service_endpoint_policy_definitions=service_endpoint_policy_definitions, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ServiceEndpointPolicyDefinition', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/serviceEndpointPolicies/{serviceEndpointPolicyName}/serviceEndpointPolicyDefinitions/{serviceEndpointPolicyDefinitionName}'} - - def list_by_resource_group( - self, resource_group_name, service_endpoint_policy_name, custom_headers=None, raw=False, **operation_config): - """Gets all service endpoint policy definitions in a service end point - policy. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param service_endpoint_policy_name: The name of the service endpoint - policy name. - :type service_endpoint_policy_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of ServiceEndpointPolicyDefinition - :rtype: - ~azure.mgmt.network.v2018_08_01.models.ServiceEndpointPolicyDefinitionPaged[~azure.mgmt.network.v2018_08_01.models.ServiceEndpointPolicyDefinition] - :raises: :class:`CloudError` - """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list_by_resource_group.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'serviceEndpointPolicyName': self._serialize.url("service_endpoint_policy_name", service_endpoint_policy_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - deserialized = models.ServiceEndpointPolicyDefinitionPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.ServiceEndpointPolicyDefinitionPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/serviceEndpointPolicies/{serviceEndpointPolicyName}/serviceEndpointPolicyDefinitions'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/subnets_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/subnets_operations.py deleted file mode 100644 index 62aaa11f6c5..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/subnets_operations.py +++ /dev/null @@ -1,369 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class SubnetsOperations(object): - """SubnetsOperations operations. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2018-08-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2018-08-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, virtual_network_name, subnet_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), - 'subnetName': self._serialize.url("subnet_name", subnet_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, virtual_network_name, subnet_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified subnet. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_name: The name of the virtual network. - :type virtual_network_name: str - :param subnet_name: The name of the subnet. - :type subnet_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - virtual_network_name=virtual_network_name, - subnet_name=subnet_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}'} - - def get( - self, resource_group_name, virtual_network_name, subnet_name, expand=None, custom_headers=None, raw=False, **operation_config): - """Gets the specified subnet by virtual network and resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_name: The name of the virtual network. - :type virtual_network_name: str - :param subnet_name: The name of the subnet. - :type subnet_name: str - :param expand: Expands referenced resources. - :type expand: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: Subnet or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2018_08_01.models.Subnet or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), - 'subnetName': self._serialize.url("subnet_name", subnet_name, 'str'), - '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.api_version", self.api_version, 'str') - if expand is not None: - query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('Subnet', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}'} - - - def _create_or_update_initial( - self, resource_group_name, virtual_network_name, subnet_name, subnet_parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), - 'subnetName': self._serialize.url("subnet_name", subnet_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(subnet_parameters, 'Subnet') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('Subnet', response) - if response.status_code == 201: - deserialized = self._deserialize('Subnet', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, virtual_network_name, subnet_name, subnet_parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates a subnet in the specified virtual network. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_name: The name of the virtual network. - :type virtual_network_name: str - :param subnet_name: The name of the subnet. - :type subnet_name: str - :param subnet_parameters: Parameters supplied to the create or update - subnet operation. - :type subnet_parameters: ~azure.mgmt.network.v2018_08_01.models.Subnet - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns Subnet or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.Subnet] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.Subnet]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - virtual_network_name=virtual_network_name, - subnet_name=subnet_name, - subnet_parameters=subnet_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('Subnet', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}'} - - def list( - self, resource_group_name, virtual_network_name, custom_headers=None, raw=False, **operation_config): - """Gets all subnets in a virtual network. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_name: The name of the virtual network. - :type virtual_network_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of Subnet - :rtype: - ~azure.mgmt.network.v2018_08_01.models.SubnetPaged[~azure.mgmt.network.v2018_08_01.models.Subnet] - :raises: :class:`CloudError` - """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - deserialized = models.SubnetPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.SubnetPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/usages_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/usages_operations.py deleted file mode 100644 index 38b473188d9..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/usages_operations.py +++ /dev/null @@ -1,105 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError - -from .. import models - - -class UsagesOperations(object): - """UsagesOperations operations. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2018-08-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2018-08-01" - - self.config = config - - def list( - self, location, custom_headers=None, raw=False, **operation_config): - """List network usages for a subscription. - - :param location: The location where resource usage is queried. - :type location: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of Usage - :rtype: - ~azure.mgmt.network.v2018_08_01.models.UsagePaged[~azure.mgmt.network.v2018_08_01.models.Usage] - :raises: :class:`CloudError` - """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'location': self._serialize.url("location", location, 'str', pattern=r'^[-\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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - deserialized = models.UsagePaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.UsagePaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/usages'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/virtual_hubs_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/virtual_hubs_operations.py deleted file mode 100644 index 077c7bbbcb8..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/virtual_hubs_operations.py +++ /dev/null @@ -1,514 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class VirtualHubsOperations(object): - """VirtualHubsOperations operations. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2018-08-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2018-08-01" - - self.config = config - - def get( - self, resource_group_name, virtual_hub_name, custom_headers=None, raw=False, **operation_config): - """Retrieves the details of a VirtualHub. - - :param resource_group_name: The resource group name of the VirtualHub. - :type resource_group_name: str - :param virtual_hub_name: The name of the VirtualHub. - :type virtual_hub_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: VirtualHub or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2018_08_01.models.VirtualHub or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorException` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualHubName': self._serialize.url("virtual_hub_name", virtual_hub_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('VirtualHub', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}'} - - - def _create_or_update_initial( - self, resource_group_name, virtual_hub_name, virtual_hub_parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualHubName': self._serialize.url("virtual_hub_name", virtual_hub_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(virtual_hub_parameters, 'VirtualHub') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 201]: - raise models.ErrorException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('VirtualHub', response) - if response.status_code == 201: - deserialized = self._deserialize('VirtualHub', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, virtual_hub_name, virtual_hub_parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates a VirtualHub resource if it doesn't exist else updates the - existing VirtualHub. - - :param resource_group_name: The resource group name of the VirtualHub. - :type resource_group_name: str - :param virtual_hub_name: The name of the VirtualHub. - :type virtual_hub_name: str - :param virtual_hub_parameters: Parameters supplied to create or update - VirtualHub. - :type virtual_hub_parameters: - ~azure.mgmt.network.v2018_08_01.models.VirtualHub - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns VirtualHub or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.VirtualHub] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.VirtualHub]] - :raises: - :class:`ErrorException` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - virtual_hub_name=virtual_hub_name, - virtual_hub_parameters=virtual_hub_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('VirtualHub', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}'} - - - def _update_tags_initial( - self, resource_group_name, virtual_hub_name, tags=None, custom_headers=None, raw=False, **operation_config): - virtual_hub_parameters = models.TagsObject(tags=tags) - - # Construct URL - url = self.update_tags.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualHubName': self._serialize.url("virtual_hub_name", virtual_hub_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(virtual_hub_parameters, 'TagsObject') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 201]: - raise models.ErrorException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('VirtualHub', response) - if response.status_code == 201: - deserialized = self._deserialize('VirtualHub', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def update_tags( - self, resource_group_name, virtual_hub_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Updates VirtualHub tags. - - :param resource_group_name: The resource group name of the VirtualHub. - :type resource_group_name: str - :param virtual_hub_name: The name of the VirtualHub. - :type virtual_hub_name: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns VirtualHub or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.VirtualHub] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.VirtualHub]] - :raises: - :class:`ErrorException` - """ - raw_result = self._update_tags_initial( - resource_group_name=resource_group_name, - virtual_hub_name=virtual_hub_name, - tags=tags, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('VirtualHub', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}'} - - - def _delete_initial( - self, resource_group_name, virtual_hub_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualHubName': self._serialize.url("virtual_hub_name", virtual_hub_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - raise models.ErrorException(self._deserialize, response) - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, virtual_hub_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes a VirtualHub. - - :param resource_group_name: The resource group name of the VirtualHub. - :type resource_group_name: str - :param virtual_hub_name: The name of the VirtualHub. - :type virtual_hub_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: - :class:`ErrorException` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - virtual_hub_name=virtual_hub_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}'} - - def list_by_resource_group( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Lists all the VirtualHubs in a resource group. - - :param resource_group_name: The resource group name of the VirtualHub. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of VirtualHub - :rtype: - ~azure.mgmt.network.v2018_08_01.models.VirtualHubPaged[~azure.mgmt.network.v2018_08_01.models.VirtualHub] - :raises: - :class:`ErrorException` - """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list_by_resource_group.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorException(self._deserialize, response) - - return response - - # Deserialize response - deserialized = models.VirtualHubPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.VirtualHubPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs'} - - def list( - self, custom_headers=None, raw=False, **operation_config): - """Lists all the VirtualHubs in a subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of VirtualHub - :rtype: - ~azure.mgmt.network.v2018_08_01.models.VirtualHubPaged[~azure.mgmt.network.v2018_08_01.models.VirtualHub] - :raises: - :class:`ErrorException` - """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorException(self._deserialize, response) - - return response - - # Deserialize response - deserialized = models.VirtualHubPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.VirtualHubPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/virtualHubs'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/virtual_network_gateway_connections_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/virtual_network_gateway_connections_operations.py deleted file mode 100644 index e78c167a119..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/virtual_network_gateway_connections_operations.py +++ /dev/null @@ -1,749 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class VirtualNetworkGatewayConnectionsOperations(object): - """VirtualNetworkGatewayConnectionsOperations operations. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2018-08-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2018-08-01" - - self.config = config - - - def _create_or_update_initial( - self, resource_group_name, virtual_network_gateway_connection_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkGatewayConnectionName': self._serialize.url("virtual_network_gateway_connection_name", virtual_network_gateway_connection_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'VirtualNetworkGatewayConnection') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('VirtualNetworkGatewayConnection', response) - if response.status_code == 201: - deserialized = self._deserialize('VirtualNetworkGatewayConnection', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, virtual_network_gateway_connection_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates a virtual network gateway connection in the - specified resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_gateway_connection_name: The name of the - virtual network gateway connection. - :type virtual_network_gateway_connection_name: str - :param parameters: Parameters supplied to the create or update virtual - network gateway connection operation. - :type parameters: - ~azure.mgmt.network.v2018_08_01.models.VirtualNetworkGatewayConnection - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - VirtualNetworkGatewayConnection or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.VirtualNetworkGatewayConnection] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.VirtualNetworkGatewayConnection]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - virtual_network_gateway_connection_name=virtual_network_gateway_connection_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('VirtualNetworkGatewayConnection', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}'} - - def get( - self, resource_group_name, virtual_network_gateway_connection_name, custom_headers=None, raw=False, **operation_config): - """Gets the specified virtual network gateway connection by resource - group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_gateway_connection_name: The name of the - virtual network gateway connection. - :type virtual_network_gateway_connection_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: VirtualNetworkGatewayConnection or ClientRawResponse if - raw=true - :rtype: - ~azure.mgmt.network.v2018_08_01.models.VirtualNetworkGatewayConnection - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkGatewayConnectionName': self._serialize.url("virtual_network_gateway_connection_name", virtual_network_gateway_connection_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('VirtualNetworkGatewayConnection', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}'} - - - def _delete_initial( - self, resource_group_name, virtual_network_gateway_connection_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkGatewayConnectionName': self._serialize.url("virtual_network_gateway_connection_name", virtual_network_gateway_connection_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, virtual_network_gateway_connection_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified virtual network Gateway connection. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_gateway_connection_name: The name of the - virtual network gateway connection. - :type virtual_network_gateway_connection_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - virtual_network_gateway_connection_name=virtual_network_gateway_connection_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}'} - - - def _update_tags_initial( - self, resource_group_name, virtual_network_gateway_connection_name, tags=None, custom_headers=None, raw=False, **operation_config): - parameters = models.TagsObject(tags=tags) - - # Construct URL - url = self.update_tags.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkGatewayConnectionName': self._serialize.url("virtual_network_gateway_connection_name", virtual_network_gateway_connection_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'TagsObject') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('VirtualNetworkGatewayConnection', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def update_tags( - self, resource_group_name, virtual_network_gateway_connection_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Updates a virtual network gateway connection tags. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_gateway_connection_name: The name of the - virtual network gateway connection. - :type virtual_network_gateway_connection_name: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - VirtualNetworkGatewayConnection or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.VirtualNetworkGatewayConnection] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.VirtualNetworkGatewayConnection]] - :raises: :class:`CloudError` - """ - raw_result = self._update_tags_initial( - resource_group_name=resource_group_name, - virtual_network_gateway_connection_name=virtual_network_gateway_connection_name, - tags=tags, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('VirtualNetworkGatewayConnection', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}'} - - - def _set_shared_key_initial( - self, resource_group_name, virtual_network_gateway_connection_name, value, id=None, custom_headers=None, raw=False, **operation_config): - parameters = models.ConnectionSharedKey(id=id, value=value) - - # Construct URL - url = self.set_shared_key.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkGatewayConnectionName': self._serialize.url("virtual_network_gateway_connection_name", virtual_network_gateway_connection_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'ConnectionSharedKey') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('ConnectionSharedKey', response) - if response.status_code == 201: - deserialized = self._deserialize('ConnectionSharedKey', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def set_shared_key( - self, resource_group_name, virtual_network_gateway_connection_name, value, id=None, custom_headers=None, raw=False, polling=True, **operation_config): - """The Put VirtualNetworkGatewayConnectionSharedKey operation sets the - virtual network gateway connection shared key for passed virtual - network gateway connection in the specified resource group through - Network resource provider. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_gateway_connection_name: The virtual network - gateway connection name. - :type virtual_network_gateway_connection_name: str - :param value: The virtual network connection shared key value. - :type value: str - :param id: Resource ID. - :type id: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns ConnectionSharedKey or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.ConnectionSharedKey] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.ConnectionSharedKey]] - :raises: :class:`CloudError` - """ - raw_result = self._set_shared_key_initial( - resource_group_name=resource_group_name, - virtual_network_gateway_connection_name=virtual_network_gateway_connection_name, - value=value, - id=id, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ConnectionSharedKey', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - set_shared_key.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/sharedkey'} - - def get_shared_key( - self, resource_group_name, virtual_network_gateway_connection_name, custom_headers=None, raw=False, **operation_config): - """The Get VirtualNetworkGatewayConnectionSharedKey operation retrieves - information about the specified virtual network gateway connection - shared key through Network resource provider. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_gateway_connection_name: The virtual network - gateway connection shared key name. - :type virtual_network_gateway_connection_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ConnectionSharedKey or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2018_08_01.models.ConnectionSharedKey or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get_shared_key.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkGatewayConnectionName': self._serialize.url("virtual_network_gateway_connection_name", virtual_network_gateway_connection_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ConnectionSharedKey', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get_shared_key.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/sharedkey'} - - def list( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """The List VirtualNetworkGatewayConnections operation retrieves all the - virtual network gateways connections created. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of VirtualNetworkGatewayConnection - :rtype: - ~azure.mgmt.network.v2018_08_01.models.VirtualNetworkGatewayConnectionPaged[~azure.mgmt.network.v2018_08_01.models.VirtualNetworkGatewayConnection] - :raises: :class:`CloudError` - """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - deserialized = models.VirtualNetworkGatewayConnectionPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.VirtualNetworkGatewayConnectionPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections'} - - - def _reset_shared_key_initial( - self, resource_group_name, virtual_network_gateway_connection_name, key_length, custom_headers=None, raw=False, **operation_config): - parameters = models.ConnectionResetSharedKey(key_length=key_length) - - # Construct URL - url = self.reset_shared_key.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkGatewayConnectionName': self._serialize.url("virtual_network_gateway_connection_name", virtual_network_gateway_connection_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'ConnectionResetSharedKey') - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - 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('ConnectionResetSharedKey', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def reset_shared_key( - self, resource_group_name, virtual_network_gateway_connection_name, key_length, custom_headers=None, raw=False, polling=True, **operation_config): - """The VirtualNetworkGatewayConnectionResetSharedKey operation resets the - virtual network gateway connection shared key for passed virtual - network gateway connection in the specified resource group through - Network resource provider. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_gateway_connection_name: The virtual network - gateway connection reset shared key Name. - :type virtual_network_gateway_connection_name: str - :param key_length: The virtual network connection reset shared key - length, should between 1 and 128. - :type key_length: int - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - ConnectionResetSharedKey or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.ConnectionResetSharedKey] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.ConnectionResetSharedKey]] - :raises: :class:`CloudError` - """ - raw_result = self._reset_shared_key_initial( - resource_group_name=resource_group_name, - virtual_network_gateway_connection_name=virtual_network_gateway_connection_name, - key_length=key_length, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ConnectionResetSharedKey', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - reset_shared_key.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/sharedkey/reset'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/virtual_network_gateways_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/virtual_network_gateways_operations.py deleted file mode 100644 index 4bf1f004652..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/virtual_network_gateways_operations.py +++ /dev/null @@ -1,1641 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class VirtualNetworkGatewaysOperations(object): - """VirtualNetworkGatewaysOperations operations. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2018-08-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2018-08-01" - - self.config = config - - - def _create_or_update_initial( - self, resource_group_name, virtual_network_gateway_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'VirtualNetworkGateway') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('VirtualNetworkGateway', response) - if response.status_code == 201: - deserialized = self._deserialize('VirtualNetworkGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, virtual_network_gateway_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates a virtual network gateway in the specified resource - group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_gateway_name: The name of the virtual network - gateway. - :type virtual_network_gateway_name: str - :param parameters: Parameters supplied to create or update virtual - network gateway operation. - :type parameters: - ~azure.mgmt.network.v2018_08_01.models.VirtualNetworkGateway - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns VirtualNetworkGateway - or ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.VirtualNetworkGateway] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.VirtualNetworkGateway]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - virtual_network_gateway_name=virtual_network_gateway_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('VirtualNetworkGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}'} - - def get( - self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, **operation_config): - """Gets the specified virtual network gateway by resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_gateway_name: The name of the virtual network - gateway. - :type virtual_network_gateway_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: VirtualNetworkGateway or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2018_08_01.models.VirtualNetworkGateway - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('VirtualNetworkGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}'} - - - def _delete_initial( - self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified virtual network gateway. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_gateway_name: The name of the virtual network - gateway. - :type virtual_network_gateway_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - virtual_network_gateway_name=virtual_network_gateway_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}'} - - - def _update_tags_initial( - self, resource_group_name, virtual_network_gateway_name, tags=None, custom_headers=None, raw=False, **operation_config): - parameters = models.TagsObject(tags=tags) - - # Construct URL - url = self.update_tags.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'TagsObject') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('VirtualNetworkGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def update_tags( - self, resource_group_name, virtual_network_gateway_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Updates a virtual network gateway tags. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_gateway_name: The name of the virtual network - gateway. - :type virtual_network_gateway_name: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns VirtualNetworkGateway - or ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.VirtualNetworkGateway] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.VirtualNetworkGateway]] - :raises: :class:`CloudError` - """ - raw_result = self._update_tags_initial( - resource_group_name=resource_group_name, - virtual_network_gateway_name=virtual_network_gateway_name, - tags=tags, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('VirtualNetworkGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}'} - - def list( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Gets all virtual network gateways by resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of VirtualNetworkGateway - :rtype: - ~azure.mgmt.network.v2018_08_01.models.VirtualNetworkGatewayPaged[~azure.mgmt.network.v2018_08_01.models.VirtualNetworkGateway] - :raises: :class:`CloudError` - """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - deserialized = models.VirtualNetworkGatewayPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.VirtualNetworkGatewayPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways'} - - def list_connections( - self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, **operation_config): - """Gets all the connections in a virtual network gateway. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_gateway_name: The name of the virtual network - gateway. - :type virtual_network_gateway_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of - VirtualNetworkGatewayConnectionListEntity - :rtype: - ~azure.mgmt.network.v2018_08_01.models.VirtualNetworkGatewayConnectionListEntityPaged[~azure.mgmt.network.v2018_08_01.models.VirtualNetworkGatewayConnectionListEntity] - :raises: :class:`CloudError` - """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list_connections.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - deserialized = models.VirtualNetworkGatewayConnectionListEntityPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.VirtualNetworkGatewayConnectionListEntityPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list_connections.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/connections'} - - - def _reset_initial( - self, resource_group_name, virtual_network_gateway_name, gateway_vip=None, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.reset.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str'), - '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 = {} - if gateway_vip is not None: - query_parameters['gatewayVip'] = self._serialize.query("gateway_vip", gateway_vip, 'str') - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - 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('VirtualNetworkGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def reset( - self, resource_group_name, virtual_network_gateway_name, gateway_vip=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Resets the primary of the virtual network gateway in the specified - resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_gateway_name: The name of the virtual network - gateway. - :type virtual_network_gateway_name: str - :param gateway_vip: Virtual network gateway vip address supplied to - the begin reset of the active-active feature enabled gateway. - :type gateway_vip: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns VirtualNetworkGateway - or ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.VirtualNetworkGateway] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.VirtualNetworkGateway]] - :raises: :class:`CloudError` - """ - raw_result = self._reset_initial( - resource_group_name=resource_group_name, - virtual_network_gateway_name=virtual_network_gateway_name, - gateway_vip=gateway_vip, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('VirtualNetworkGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - reset.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/reset'} - - - def _reset_vpn_client_shared_key_initial( - self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.reset_vpn_client_shared_key.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def reset_vpn_client_shared_key( - self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Resets the VPN client shared key of the virtual network gateway in the - specified resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_gateway_name: The name of the virtual network - gateway. - :type virtual_network_gateway_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._reset_vpn_client_shared_key_initial( - resource_group_name=resource_group_name, - virtual_network_gateway_name=virtual_network_gateway_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - reset_vpn_client_shared_key.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/resetvpnclientsharedkey'} - - - def _generatevpnclientpackage_initial( - self, resource_group_name, virtual_network_gateway_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.generatevpnclientpackage.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'VpnClientParameters') - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('str', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def generatevpnclientpackage( - self, resource_group_name, virtual_network_gateway_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Generates VPN client package for P2S client of the virtual network - gateway in the specified resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_gateway_name: The name of the virtual network - gateway. - :type virtual_network_gateway_name: str - :param parameters: Parameters supplied to the generate virtual network - gateway VPN client package operation. - :type parameters: - ~azure.mgmt.network.v2018_08_01.models.VpnClientParameters - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns str or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[str] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[str]] - :raises: :class:`CloudError` - """ - raw_result = self._generatevpnclientpackage_initial( - resource_group_name=resource_group_name, - virtual_network_gateway_name=virtual_network_gateway_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('str', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - generatevpnclientpackage.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/generatevpnclientpackage'} - - - def _generate_vpn_profile_initial( - self, resource_group_name, virtual_network_gateway_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.generate_vpn_profile.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'VpnClientParameters') - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - 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('str', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def generate_vpn_profile( - self, resource_group_name, virtual_network_gateway_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Generates VPN profile for P2S client of the virtual network gateway in - the specified resource group. Used for IKEV2 and radius based - authentication. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_gateway_name: The name of the virtual network - gateway. - :type virtual_network_gateway_name: str - :param parameters: Parameters supplied to the generate virtual network - gateway VPN client package operation. - :type parameters: - ~azure.mgmt.network.v2018_08_01.models.VpnClientParameters - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns str or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[str] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[str]] - :raises: :class:`CloudError` - """ - raw_result = self._generate_vpn_profile_initial( - resource_group_name=resource_group_name, - virtual_network_gateway_name=virtual_network_gateway_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('str', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - generate_vpn_profile.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/generatevpnprofile'} - - - def _get_vpn_profile_package_url_initial( - self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.get_vpn_profile_package_url.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - 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('str', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def get_vpn_profile_package_url( - self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Gets pre-generated VPN profile for P2S client of the virtual network - gateway in the specified resource group. The profile needs to be - generated first using generateVpnProfile. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_gateway_name: The name of the virtual network - gateway. - :type virtual_network_gateway_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns str or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[str] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[str]] - :raises: :class:`CloudError` - """ - raw_result = self._get_vpn_profile_package_url_initial( - resource_group_name=resource_group_name, - virtual_network_gateway_name=virtual_network_gateway_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('str', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - get_vpn_profile_package_url.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getvpnprofilepackageurl'} - - - def _get_bgp_peer_status_initial( - self, resource_group_name, virtual_network_gateway_name, peer=None, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.get_bgp_peer_status.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str'), - '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 = {} - if peer is not None: - query_parameters['peer'] = self._serialize.query("peer", peer, 'str') - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - 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('BgpPeerStatusListResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def get_bgp_peer_status( - self, resource_group_name, virtual_network_gateway_name, peer=None, custom_headers=None, raw=False, polling=True, **operation_config): - """The GetBgpPeerStatus operation retrieves the status of all BGP peers. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_gateway_name: The name of the virtual network - gateway. - :type virtual_network_gateway_name: str - :param peer: The IP address of the peer to retrieve the status of. - :type peer: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns BgpPeerStatusListResult - or ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.BgpPeerStatusListResult] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.BgpPeerStatusListResult]] - :raises: :class:`CloudError` - """ - raw_result = self._get_bgp_peer_status_initial( - resource_group_name=resource_group_name, - virtual_network_gateway_name=virtual_network_gateway_name, - peer=peer, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('BgpPeerStatusListResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - get_bgp_peer_status.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getBgpPeerStatus'} - - def supported_vpn_devices( - self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, **operation_config): - """Gets a xml format representation for supported vpn devices. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_gateway_name: The name of the virtual network - gateway. - :type virtual_network_gateway_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: str or ClientRawResponse if raw=true - :rtype: str or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.supported_vpn_devices.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('str', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - supported_vpn_devices.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/supportedvpndevices'} - - - def _get_learned_routes_initial( - self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.get_learned_routes.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - 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('GatewayRouteListResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def get_learned_routes( - self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): - """This operation retrieves a list of routes the virtual network gateway - has learned, including routes learned from BGP peers. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_gateway_name: The name of the virtual network - gateway. - :type virtual_network_gateway_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns GatewayRouteListResult - or ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.GatewayRouteListResult] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.GatewayRouteListResult]] - :raises: :class:`CloudError` - """ - raw_result = self._get_learned_routes_initial( - resource_group_name=resource_group_name, - virtual_network_gateway_name=virtual_network_gateway_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('GatewayRouteListResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - get_learned_routes.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getLearnedRoutes'} - - - def _get_advertised_routes_initial( - self, resource_group_name, virtual_network_gateway_name, peer, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.get_advertised_routes.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str'), - '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['peer'] = self._serialize.query("peer", peer, 'str') - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - 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('GatewayRouteListResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def get_advertised_routes( - self, resource_group_name, virtual_network_gateway_name, peer, custom_headers=None, raw=False, polling=True, **operation_config): - """This operation retrieves a list of routes the virtual network gateway - is advertising to the specified peer. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_gateway_name: The name of the virtual network - gateway. - :type virtual_network_gateway_name: str - :param peer: The IP address of the peer - :type peer: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns GatewayRouteListResult - or ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.GatewayRouteListResult] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.GatewayRouteListResult]] - :raises: :class:`CloudError` - """ - raw_result = self._get_advertised_routes_initial( - resource_group_name=resource_group_name, - virtual_network_gateway_name=virtual_network_gateway_name, - peer=peer, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('GatewayRouteListResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - get_advertised_routes.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getAdvertisedRoutes'} - - - def _set_vpnclient_ipsec_parameters_initial( - self, resource_group_name, virtual_network_gateway_name, vpnclient_ipsec_params, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.set_vpnclient_ipsec_parameters.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(vpnclient_ipsec_params, 'VpnClientIPsecParameters') - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - 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('VpnClientIPsecParameters', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def set_vpnclient_ipsec_parameters( - self, resource_group_name, virtual_network_gateway_name, vpnclient_ipsec_params, custom_headers=None, raw=False, polling=True, **operation_config): - """The Set VpnclientIpsecParameters operation sets the vpnclient ipsec - policy for P2S client of virtual network gateway in the specified - resource group through Network resource provider. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_gateway_name: The name of the virtual network - gateway. - :type virtual_network_gateway_name: str - :param vpnclient_ipsec_params: Parameters supplied to the Begin Set - vpnclient ipsec parameters of Virtual Network Gateway P2S client - operation through Network resource provider. - :type vpnclient_ipsec_params: - ~azure.mgmt.network.v2018_08_01.models.VpnClientIPsecParameters - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - VpnClientIPsecParameters or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.VpnClientIPsecParameters] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.VpnClientIPsecParameters]] - :raises: :class:`CloudError` - """ - raw_result = self._set_vpnclient_ipsec_parameters_initial( - resource_group_name=resource_group_name, - virtual_network_gateway_name=virtual_network_gateway_name, - vpnclient_ipsec_params=vpnclient_ipsec_params, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('VpnClientIPsecParameters', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - set_vpnclient_ipsec_parameters.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/setvpnclientipsecparameters'} - - - def _get_vpnclient_ipsec_parameters_initial( - self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.get_vpnclient_ipsec_parameters.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('VpnClientIPsecParameters', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def get_vpnclient_ipsec_parameters( - self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): - """The Get VpnclientIpsecParameters operation retrieves information about - the vpnclient ipsec policy for P2S client of virtual network gateway in - the specified resource group through Network resource provider. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_gateway_name: The virtual network gateway name. - :type virtual_network_gateway_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - VpnClientIPsecParameters or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.VpnClientIPsecParameters] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.VpnClientIPsecParameters]] - :raises: :class:`CloudError` - """ - raw_result = self._get_vpnclient_ipsec_parameters_initial( - resource_group_name=resource_group_name, - virtual_network_gateway_name=virtual_network_gateway_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('VpnClientIPsecParameters', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - get_vpnclient_ipsec_parameters.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getvpnclientipsecparameters'} - - def vpn_device_configuration_script( - self, resource_group_name, virtual_network_gateway_connection_name, parameters, custom_headers=None, raw=False, **operation_config): - """Gets a xml format representation for vpn device configuration script. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_gateway_connection_name: The name of the - virtual network gateway connection for which the configuration script - is generated. - :type virtual_network_gateway_connection_name: str - :param parameters: Parameters supplied to the generate vpn device - script operation. - :type parameters: - ~azure.mgmt.network.v2018_08_01.models.VpnDeviceScriptParameters - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: str or ClientRawResponse if raw=true - :rtype: str or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.vpn_device_configuration_script.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkGatewayConnectionName': self._serialize.url("virtual_network_gateway_connection_name", virtual_network_gateway_connection_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'VpnDeviceScriptParameters') - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('str', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - vpn_device_configuration_script.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/vpndeviceconfigurationscript'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/virtual_network_peerings_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/virtual_network_peerings_operations.py deleted file mode 100644 index 1f9b0e94717..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/virtual_network_peerings_operations.py +++ /dev/null @@ -1,368 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class VirtualNetworkPeeringsOperations(object): - """VirtualNetworkPeeringsOperations operations. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2018-08-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2018-08-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, virtual_network_name, virtual_network_peering_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), - 'virtualNetworkPeeringName': self._serialize.url("virtual_network_peering_name", virtual_network_peering_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, virtual_network_name, virtual_network_peering_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified virtual network peering. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_name: The name of the virtual network. - :type virtual_network_name: str - :param virtual_network_peering_name: The name of the virtual network - peering. - :type virtual_network_peering_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - virtual_network_name=virtual_network_name, - virtual_network_peering_name=virtual_network_peering_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/virtualNetworkPeerings/{virtualNetworkPeeringName}'} - - def get( - self, resource_group_name, virtual_network_name, virtual_network_peering_name, custom_headers=None, raw=False, **operation_config): - """Gets the specified virtual network peering. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_name: The name of the virtual network. - :type virtual_network_name: str - :param virtual_network_peering_name: The name of the virtual network - peering. - :type virtual_network_peering_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: VirtualNetworkPeering or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2018_08_01.models.VirtualNetworkPeering - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), - 'virtualNetworkPeeringName': self._serialize.url("virtual_network_peering_name", virtual_network_peering_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('VirtualNetworkPeering', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/virtualNetworkPeerings/{virtualNetworkPeeringName}'} - - - def _create_or_update_initial( - self, resource_group_name, virtual_network_name, virtual_network_peering_name, virtual_network_peering_parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), - 'virtualNetworkPeeringName': self._serialize.url("virtual_network_peering_name", virtual_network_peering_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(virtual_network_peering_parameters, 'VirtualNetworkPeering') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('VirtualNetworkPeering', response) - if response.status_code == 201: - deserialized = self._deserialize('VirtualNetworkPeering', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, virtual_network_name, virtual_network_peering_name, virtual_network_peering_parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates a peering in the specified virtual network. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_name: The name of the virtual network. - :type virtual_network_name: str - :param virtual_network_peering_name: The name of the peering. - :type virtual_network_peering_name: str - :param virtual_network_peering_parameters: Parameters supplied to the - create or update virtual network peering operation. - :type virtual_network_peering_parameters: - ~azure.mgmt.network.v2018_08_01.models.VirtualNetworkPeering - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns VirtualNetworkPeering - or ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.VirtualNetworkPeering] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.VirtualNetworkPeering]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - virtual_network_name=virtual_network_name, - virtual_network_peering_name=virtual_network_peering_name, - virtual_network_peering_parameters=virtual_network_peering_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('VirtualNetworkPeering', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/virtualNetworkPeerings/{virtualNetworkPeeringName}'} - - def list( - self, resource_group_name, virtual_network_name, custom_headers=None, raw=False, **operation_config): - """Gets all virtual network peerings in a virtual network. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_name: The name of the virtual network. - :type virtual_network_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of VirtualNetworkPeering - :rtype: - ~azure.mgmt.network.v2018_08_01.models.VirtualNetworkPeeringPaged[~azure.mgmt.network.v2018_08_01.models.VirtualNetworkPeering] - :raises: :class:`CloudError` - """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - deserialized = models.VirtualNetworkPeeringPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.VirtualNetworkPeeringPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/virtualNetworkPeerings'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/virtual_network_taps_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/virtual_network_taps_operations.py deleted file mode 100644 index 97864621c4d..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/virtual_network_taps_operations.py +++ /dev/null @@ -1,518 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class VirtualNetworkTapsOperations(object): - """VirtualNetworkTapsOperations operations. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2018-08-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2018-08-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, tap_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'tapName': self._serialize.url("tap_name", tap_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, tap_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified virtual network tap. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param tap_name: The name of the virtual network tap. - :type tap_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - tap_name=tap_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkTaps/{tapName}'} - - def get( - self, resource_group_name, tap_name, custom_headers=None, raw=False, **operation_config): - """Gets information about the specified virtual network tap. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param tap_name: The name of virtual network tap. - :type tap_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: VirtualNetworkTap or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2018_08_01.models.VirtualNetworkTap or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'tapName': self._serialize.url("tap_name", tap_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('VirtualNetworkTap', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkTaps/{tapName}'} - - - def _create_or_update_initial( - self, resource_group_name, tap_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'tapName': self._serialize.url("tap_name", tap_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'VirtualNetworkTap') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('VirtualNetworkTap', response) - if response.status_code == 201: - deserialized = self._deserialize('VirtualNetworkTap', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, tap_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates a Virtual Network Tap. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param tap_name: The name of the virtual network tap. - :type tap_name: str - :param parameters: Parameters supplied to the create or update virtual - network tap operation. - :type parameters: - ~azure.mgmt.network.v2018_08_01.models.VirtualNetworkTap - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns VirtualNetworkTap or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.VirtualNetworkTap] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.VirtualNetworkTap]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - tap_name=tap_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('VirtualNetworkTap', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkTaps/{tapName}'} - - - def _update_tags_initial( - self, resource_group_name, tap_name, tags=None, custom_headers=None, raw=False, **operation_config): - tap_parameters = models.TagsObject(tags=tags) - - # Construct URL - url = self.update_tags.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'tapName': self._serialize.url("tap_name", tap_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(tap_parameters, 'TagsObject') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('VirtualNetworkTap', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def update_tags( - self, resource_group_name, tap_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Updates an VirtualNetworkTap tags. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param tap_name: The name of the tap. - :type tap_name: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns VirtualNetworkTap or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.VirtualNetworkTap] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.VirtualNetworkTap]] - :raises: :class:`CloudError` - """ - raw_result = self._update_tags_initial( - resource_group_name=resource_group_name, - tap_name=tap_name, - tags=tags, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('VirtualNetworkTap', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkTaps/{tapName}'} - - def list_all( - self, custom_headers=None, raw=False, **operation_config): - """Gets all the VirtualNetworkTaps in a subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of VirtualNetworkTap - :rtype: - ~azure.mgmt.network.v2018_08_01.models.VirtualNetworkTapPaged[~azure.mgmt.network.v2018_08_01.models.VirtualNetworkTap] - :raises: :class:`CloudError` - """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list_all.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - deserialized = models.VirtualNetworkTapPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.VirtualNetworkTapPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/virtualNetworkTaps'} - - def list_by_resource_group( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Gets all the VirtualNetworkTaps in a subscription. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of VirtualNetworkTap - :rtype: - ~azure.mgmt.network.v2018_08_01.models.VirtualNetworkTapPaged[~azure.mgmt.network.v2018_08_01.models.VirtualNetworkTap] - :raises: :class:`CloudError` - """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list_by_resource_group.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - deserialized = models.VirtualNetworkTapPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.VirtualNetworkTapPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkTaps'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/virtual_networks_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/virtual_networks_operations.py deleted file mode 100644 index 01a8ef3d985..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/virtual_networks_operations.py +++ /dev/null @@ -1,659 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class VirtualNetworksOperations(object): - """VirtualNetworksOperations operations. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2018-08-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2018-08-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, virtual_network_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, virtual_network_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified virtual network. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_name: The name of the virtual network. - :type virtual_network_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - virtual_network_name=virtual_network_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}'} - - def get( - self, resource_group_name, virtual_network_name, expand=None, custom_headers=None, raw=False, **operation_config): - """Gets the specified virtual network by resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_name: The name of the virtual network. - :type virtual_network_name: str - :param expand: Expands referenced resources. - :type expand: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: VirtualNetwork or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2018_08_01.models.VirtualNetwork or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), - '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.api_version", self.api_version, 'str') - if expand is not None: - query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('VirtualNetwork', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}'} - - - def _create_or_update_initial( - self, resource_group_name, virtual_network_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'VirtualNetwork') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('VirtualNetwork', response) - if response.status_code == 201: - deserialized = self._deserialize('VirtualNetwork', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, virtual_network_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates a virtual network in the specified resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_name: The name of the virtual network. - :type virtual_network_name: str - :param parameters: Parameters supplied to the create or update virtual - network operation - :type parameters: - ~azure.mgmt.network.v2018_08_01.models.VirtualNetwork - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns VirtualNetwork or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.VirtualNetwork] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.VirtualNetwork]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - virtual_network_name=virtual_network_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('VirtualNetwork', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}'} - - - def _update_tags_initial( - self, resource_group_name, virtual_network_name, tags=None, custom_headers=None, raw=False, **operation_config): - parameters = models.TagsObject(tags=tags) - - # Construct URL - url = self.update_tags.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'TagsObject') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('VirtualNetwork', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def update_tags( - self, resource_group_name, virtual_network_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Updates a virtual network tags. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_name: The name of the virtual network. - :type virtual_network_name: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns VirtualNetwork or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.VirtualNetwork] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.VirtualNetwork]] - :raises: :class:`CloudError` - """ - raw_result = self._update_tags_initial( - resource_group_name=resource_group_name, - virtual_network_name=virtual_network_name, - tags=tags, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('VirtualNetwork', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}'} - - def list_all( - self, custom_headers=None, raw=False, **operation_config): - """Gets all virtual networks in a subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of VirtualNetwork - :rtype: - ~azure.mgmt.network.v2018_08_01.models.VirtualNetworkPaged[~azure.mgmt.network.v2018_08_01.models.VirtualNetwork] - :raises: :class:`CloudError` - """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list_all.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - deserialized = models.VirtualNetworkPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.VirtualNetworkPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/virtualNetworks'} - - def list( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Gets all virtual networks in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of VirtualNetwork - :rtype: - ~azure.mgmt.network.v2018_08_01.models.VirtualNetworkPaged[~azure.mgmt.network.v2018_08_01.models.VirtualNetwork] - :raises: :class:`CloudError` - """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - deserialized = models.VirtualNetworkPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.VirtualNetworkPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks'} - - def check_ip_address_availability( - self, resource_group_name, virtual_network_name, ip_address=None, custom_headers=None, raw=False, **operation_config): - """Checks whether a private IP address is available for use. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_name: The name of the virtual network. - :type virtual_network_name: str - :param ip_address: The private IP address to be verified. - :type ip_address: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: IPAddressAvailabilityResult or ClientRawResponse if raw=true - :rtype: - ~azure.mgmt.network.v2018_08_01.models.IPAddressAvailabilityResult or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.check_ip_address_availability.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), - '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 = {} - if ip_address is not None: - query_parameters['ipAddress'] = self._serialize.query("ip_address", ip_address, 'str') - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('IPAddressAvailabilityResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - check_ip_address_availability.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/CheckIPAddressAvailability'} - - def list_usage( - self, resource_group_name, virtual_network_name, custom_headers=None, raw=False, **operation_config): - """Lists usage stats. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_name: The name of the virtual network. - :type virtual_network_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of VirtualNetworkUsage - :rtype: - ~azure.mgmt.network.v2018_08_01.models.VirtualNetworkUsagePaged[~azure.mgmt.network.v2018_08_01.models.VirtualNetworkUsage] - :raises: :class:`CloudError` - """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list_usage.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - deserialized = models.VirtualNetworkUsagePaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.VirtualNetworkUsagePaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list_usage.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/usages'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/virtual_wans_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/virtual_wans_operations.py deleted file mode 100644 index df690490579..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/virtual_wans_operations.py +++ /dev/null @@ -1,515 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class VirtualWansOperations(object): - """VirtualWansOperations operations. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2018-08-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2018-08-01" - - self.config = config - - def get( - self, resource_group_name, virtual_wan_name, custom_headers=None, raw=False, **operation_config): - """Retrieves the details of a VirtualWAN. - - :param resource_group_name: The resource group name of the VirtualWan. - :type resource_group_name: str - :param virtual_wan_name: The name of the VirtualWAN being retrieved. - :type virtual_wan_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: VirtualWAN or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2018_08_01.models.VirtualWAN or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorException` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'VirtualWANName': self._serialize.url("virtual_wan_name", virtual_wan_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('VirtualWAN', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{VirtualWANName}'} - - - def _create_or_update_initial( - self, resource_group_name, virtual_wan_name, wan_parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'VirtualWANName': self._serialize.url("virtual_wan_name", virtual_wan_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(wan_parameters, 'VirtualWAN') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 201]: - raise models.ErrorException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('VirtualWAN', response) - if response.status_code == 201: - deserialized = self._deserialize('VirtualWAN', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, virtual_wan_name, wan_parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates a VirtualWAN resource if it doesn't exist else updates the - existing VirtualWAN. - - :param resource_group_name: The resource group name of the VirtualWan. - :type resource_group_name: str - :param virtual_wan_name: The name of the VirtualWAN being created or - updated. - :type virtual_wan_name: str - :param wan_parameters: Parameters supplied to create or update - VirtualWAN. - :type wan_parameters: - ~azure.mgmt.network.v2018_08_01.models.VirtualWAN - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns VirtualWAN or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.VirtualWAN] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.VirtualWAN]] - :raises: - :class:`ErrorException` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - virtual_wan_name=virtual_wan_name, - wan_parameters=wan_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('VirtualWAN', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{VirtualWANName}'} - - - def _update_tags_initial( - self, resource_group_name, virtual_wan_name, tags=None, custom_headers=None, raw=False, **operation_config): - wan_parameters = models.TagsObject(tags=tags) - - # Construct URL - url = self.update_tags.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'VirtualWANName': self._serialize.url("virtual_wan_name", virtual_wan_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(wan_parameters, 'TagsObject') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 201]: - raise models.ErrorException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('VirtualWAN', response) - if response.status_code == 201: - deserialized = self._deserialize('VirtualWAN', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def update_tags( - self, resource_group_name, virtual_wan_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Updates a VirtualWAN tags. - - :param resource_group_name: The resource group name of the VirtualWan. - :type resource_group_name: str - :param virtual_wan_name: The name of the VirtualWAN being updated. - :type virtual_wan_name: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns VirtualWAN or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.VirtualWAN] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.VirtualWAN]] - :raises: - :class:`ErrorException` - """ - raw_result = self._update_tags_initial( - resource_group_name=resource_group_name, - virtual_wan_name=virtual_wan_name, - tags=tags, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('VirtualWAN', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{VirtualWANName}'} - - - def _delete_initial( - self, resource_group_name, virtual_wan_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'VirtualWANName': self._serialize.url("virtual_wan_name", virtual_wan_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - raise models.ErrorException(self._deserialize, response) - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, virtual_wan_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes a VirtualWAN. - - :param resource_group_name: The resource group name of the VirtualWan. - :type resource_group_name: str - :param virtual_wan_name: The name of the VirtualWAN being deleted. - :type virtual_wan_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: - :class:`ErrorException` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - virtual_wan_name=virtual_wan_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{VirtualWANName}'} - - def list_by_resource_group( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Lists all the VirtualWANs in a resource group. - - :param resource_group_name: The resource group name of the VirtualWan. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of VirtualWAN - :rtype: - ~azure.mgmt.network.v2018_08_01.models.VirtualWANPaged[~azure.mgmt.network.v2018_08_01.models.VirtualWAN] - :raises: - :class:`ErrorException` - """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list_by_resource_group.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorException(self._deserialize, response) - - return response - - # Deserialize response - deserialized = models.VirtualWANPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.VirtualWANPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans'} - - def list( - self, custom_headers=None, raw=False, **operation_config): - """Lists all the VirtualWANs in a subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of VirtualWAN - :rtype: - ~azure.mgmt.network.v2018_08_01.models.VirtualWANPaged[~azure.mgmt.network.v2018_08_01.models.VirtualWAN] - :raises: - :class:`ErrorException` - """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorException(self._deserialize, response) - - return response - - # Deserialize response - deserialized = models.VirtualWANPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.VirtualWANPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/virtualWans'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/vpn_connections_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/vpn_connections_operations.py deleted file mode 100644 index 81a471a397c..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/vpn_connections_operations.py +++ /dev/null @@ -1,362 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class VpnConnectionsOperations(object): - """VpnConnectionsOperations operations. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2018-08-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2018-08-01" - - self.config = config - - def get( - self, resource_group_name, gateway_name, connection_name, custom_headers=None, raw=False, **operation_config): - """Retrieves the details of a vpn connection. - - :param resource_group_name: The resource group name of the VpnGateway. - :type resource_group_name: str - :param gateway_name: The name of the gateway. - :type gateway_name: str - :param connection_name: The name of the vpn connection. - :type connection_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: VpnConnection or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2018_08_01.models.VpnConnection or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorException` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str'), - 'connectionName': self._serialize.url("connection_name", connection_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('VpnConnection', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/vpnConnections/{connectionName}'} - - - def _create_or_update_initial( - self, resource_group_name, gateway_name, connection_name, vpn_connection_parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str'), - 'connectionName': self._serialize.url("connection_name", connection_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(vpn_connection_parameters, 'VpnConnection') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 201]: - raise models.ErrorException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('VpnConnection', response) - if response.status_code == 201: - deserialized = self._deserialize('VpnConnection', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, gateway_name, connection_name, vpn_connection_parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates a vpn connection to a scalable vpn gateway if it doesn't exist - else updates the existing connection. - - :param resource_group_name: The resource group name of the VpnGateway. - :type resource_group_name: str - :param gateway_name: The name of the gateway. - :type gateway_name: str - :param connection_name: The name of the connection. - :type connection_name: str - :param vpn_connection_parameters: Parameters supplied to create or - Update a VPN Connection. - :type vpn_connection_parameters: - ~azure.mgmt.network.v2018_08_01.models.VpnConnection - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns VpnConnection or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.VpnConnection] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.VpnConnection]] - :raises: - :class:`ErrorException` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - gateway_name=gateway_name, - connection_name=connection_name, - vpn_connection_parameters=vpn_connection_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('VpnConnection', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/vpnConnections/{connectionName}'} - - - def _delete_initial( - self, resource_group_name, gateway_name, connection_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str'), - 'connectionName': self._serialize.url("connection_name", connection_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - raise models.ErrorException(self._deserialize, response) - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, gateway_name, connection_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes a vpn connection. - - :param resource_group_name: The resource group name of the VpnGateway. - :type resource_group_name: str - :param gateway_name: The name of the gateway. - :type gateway_name: str - :param connection_name: The name of the connection. - :type connection_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: - :class:`ErrorException` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - gateway_name=gateway_name, - connection_name=connection_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/vpnConnections/{connectionName}'} - - def list_by_vpn_gateway( - self, resource_group_name, gateway_name, custom_headers=None, raw=False, **operation_config): - """Retrieves all vpn connections for a particular virtual wan vpn gateway. - - :param resource_group_name: The resource group name of the VpnGateway. - :type resource_group_name: str - :param gateway_name: The name of the gateway. - :type gateway_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of VpnConnection - :rtype: - ~azure.mgmt.network.v2018_08_01.models.VpnConnectionPaged[~azure.mgmt.network.v2018_08_01.models.VpnConnection] - :raises: - :class:`ErrorException` - """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list_by_vpn_gateway.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorException(self._deserialize, response) - - return response - - # Deserialize response - deserialized = models.VpnConnectionPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.VpnConnectionPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list_by_vpn_gateway.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/vpnConnections'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/vpn_gateways_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/vpn_gateways_operations.py deleted file mode 100644 index c29b8bd14ee..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/vpn_gateways_operations.py +++ /dev/null @@ -1,514 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class VpnGatewaysOperations(object): - """VpnGatewaysOperations operations. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2018-08-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2018-08-01" - - self.config = config - - def get( - self, resource_group_name, gateway_name, custom_headers=None, raw=False, **operation_config): - """Retrieves the details of a virtual wan vpn gateway. - - :param resource_group_name: The resource group name of the VpnGateway. - :type resource_group_name: str - :param gateway_name: The name of the gateway. - :type gateway_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: VpnGateway or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2018_08_01.models.VpnGateway or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorException` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('VpnGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}'} - - - def _create_or_update_initial( - self, resource_group_name, gateway_name, vpn_gateway_parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(vpn_gateway_parameters, 'VpnGateway') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 201]: - raise models.ErrorException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('VpnGateway', response) - if response.status_code == 201: - deserialized = self._deserialize('VpnGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, gateway_name, vpn_gateway_parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates a virtual wan vpn gateway if it doesn't exist else updates the - existing gateway. - - :param resource_group_name: The resource group name of the VpnGateway. - :type resource_group_name: str - :param gateway_name: The name of the gateway. - :type gateway_name: str - :param vpn_gateway_parameters: Parameters supplied to create or Update - a virtual wan vpn gateway. - :type vpn_gateway_parameters: - ~azure.mgmt.network.v2018_08_01.models.VpnGateway - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns VpnGateway or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.VpnGateway] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.VpnGateway]] - :raises: - :class:`ErrorException` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - gateway_name=gateway_name, - vpn_gateway_parameters=vpn_gateway_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('VpnGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}'} - - - def _update_tags_initial( - self, resource_group_name, gateway_name, tags=None, custom_headers=None, raw=False, **operation_config): - vpn_gateway_parameters = models.TagsObject(tags=tags) - - # Construct URL - url = self.update_tags.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(vpn_gateway_parameters, 'TagsObject') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 201]: - raise models.ErrorException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('VpnGateway', response) - if response.status_code == 201: - deserialized = self._deserialize('VpnGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def update_tags( - self, resource_group_name, gateway_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Updates virtual wan vpn gateway tags. - - :param resource_group_name: The resource group name of the VpnGateway. - :type resource_group_name: str - :param gateway_name: The name of the gateway. - :type gateway_name: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns VpnGateway or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.VpnGateway] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.VpnGateway]] - :raises: - :class:`ErrorException` - """ - raw_result = self._update_tags_initial( - resource_group_name=resource_group_name, - gateway_name=gateway_name, - tags=tags, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('VpnGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}'} - - - def _delete_initial( - self, resource_group_name, gateway_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - raise models.ErrorException(self._deserialize, response) - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes a virtual wan vpn gateway. - - :param resource_group_name: The resource group name of the VpnGateway. - :type resource_group_name: str - :param gateway_name: The name of the gateway. - :type gateway_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: - :class:`ErrorException` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - gateway_name=gateway_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}'} - - def list_by_resource_group( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Lists all the VpnGateways in a resource group. - - :param resource_group_name: The resource group name of the VpnGateway. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of VpnGateway - :rtype: - ~azure.mgmt.network.v2018_08_01.models.VpnGatewayPaged[~azure.mgmt.network.v2018_08_01.models.VpnGateway] - :raises: - :class:`ErrorException` - """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list_by_resource_group.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorException(self._deserialize, response) - - return response - - # Deserialize response - deserialized = models.VpnGatewayPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.VpnGatewayPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways'} - - def list( - self, custom_headers=None, raw=False, **operation_config): - """Lists all the VpnGateways in a subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of VpnGateway - :rtype: - ~azure.mgmt.network.v2018_08_01.models.VpnGatewayPaged[~azure.mgmt.network.v2018_08_01.models.VpnGateway] - :raises: - :class:`ErrorException` - """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorException(self._deserialize, response) - - return response - - # Deserialize response - deserialized = models.VpnGatewayPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.VpnGatewayPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/vpnGateways'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/vpn_sites_configuration_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/vpn_sites_configuration_operations.py deleted file mode 100644 index 2d325254f47..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/vpn_sites_configuration_operations.py +++ /dev/null @@ -1,133 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class VpnSitesConfigurationOperations(object): - """VpnSitesConfigurationOperations operations. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2018-08-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2018-08-01" - - self.config = config - - - def _download_initial( - self, resource_group_name, virtual_wan_name, vpn_sites=None, output_blob_sas_url=None, custom_headers=None, raw=False, **operation_config): - request = models.GetVpnSitesConfigurationRequest(vpn_sites=vpn_sites, output_blob_sas_url=output_blob_sas_url) - - # Construct URL - url = self.download.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualWANName': self._serialize.url("virtual_wan_name", virtual_wan_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.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(request, 'GetVpnSitesConfigurationRequest') - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - raise models.ErrorException(self._deserialize, response) - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def download( - self, resource_group_name, virtual_wan_name, vpn_sites=None, output_blob_sas_url=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Gives the sas-url to download the configurations for vpn-sites in a - resource group. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param virtual_wan_name: The name of the VirtualWAN for which - configuration of all vpn-sites is needed. - :type virtual_wan_name: str - :param vpn_sites: List of resource-ids of the vpn-sites for which - config is to be downloaded. - :type vpn_sites: list[str] - :param output_blob_sas_url: The sas-url to download the configurations - for vpn-sites - :type output_blob_sas_url: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: - :class:`ErrorException` - """ - raw_result = self._download_initial( - resource_group_name=resource_group_name, - virtual_wan_name=virtual_wan_name, - vpn_sites=vpn_sites, - output_blob_sas_url=output_blob_sas_url, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - download.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{virtualWANName}/vpnConfiguration'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/vpn_sites_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/vpn_sites_operations.py deleted file mode 100644 index fa9f7207d20..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2018_08_01/operations/vpn_sites_operations.py +++ /dev/null @@ -1,515 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class VpnSitesOperations(object): - """VpnSitesOperations operations. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2018-08-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2018-08-01" - - self.config = config - - def get( - self, resource_group_name, vpn_site_name, custom_headers=None, raw=False, **operation_config): - """Retrieves the details of a VPNsite. - - :param resource_group_name: The resource group name of the VpnSite. - :type resource_group_name: str - :param vpn_site_name: The name of the VpnSite being retrieved. - :type vpn_site_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: VpnSite or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2018_08_01.models.VpnSite or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorException` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'vpnSiteName': self._serialize.url("vpn_site_name", vpn_site_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('VpnSite', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnSites/{vpnSiteName}'} - - - def _create_or_update_initial( - self, resource_group_name, vpn_site_name, vpn_site_parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'vpnSiteName': self._serialize.url("vpn_site_name", vpn_site_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(vpn_site_parameters, 'VpnSite') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 201]: - raise models.ErrorException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('VpnSite', response) - if response.status_code == 201: - deserialized = self._deserialize('VpnSite', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, vpn_site_name, vpn_site_parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates a VpnSite resource if it doesn't exist else updates the - existing VpnSite. - - :param resource_group_name: The resource group name of the VpnSite. - :type resource_group_name: str - :param vpn_site_name: The name of the VpnSite being created or - updated. - :type vpn_site_name: str - :param vpn_site_parameters: Parameters supplied to create or update - VpnSite. - :type vpn_site_parameters: - ~azure.mgmt.network.v2018_08_01.models.VpnSite - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns VpnSite or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.VpnSite] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.VpnSite]] - :raises: - :class:`ErrorException` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - vpn_site_name=vpn_site_name, - vpn_site_parameters=vpn_site_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('VpnSite', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnSites/{vpnSiteName}'} - - - def _update_tags_initial( - self, resource_group_name, vpn_site_name, tags=None, custom_headers=None, raw=False, **operation_config): - vpn_site_parameters = models.TagsObject(tags=tags) - - # Construct URL - url = self.update_tags.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'vpnSiteName': self._serialize.url("vpn_site_name", vpn_site_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(vpn_site_parameters, 'TagsObject') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 201]: - raise models.ErrorException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('VpnSite', response) - if response.status_code == 201: - deserialized = self._deserialize('VpnSite', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def update_tags( - self, resource_group_name, vpn_site_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Updates VpnSite tags. - - :param resource_group_name: The resource group name of the VpnSite. - :type resource_group_name: str - :param vpn_site_name: The name of the VpnSite being updated. - :type vpn_site_name: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns VpnSite or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_08_01.models.VpnSite] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_08_01.models.VpnSite]] - :raises: - :class:`ErrorException` - """ - raw_result = self._update_tags_initial( - resource_group_name=resource_group_name, - vpn_site_name=vpn_site_name, - tags=tags, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('VpnSite', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnSites/{vpnSiteName}'} - - - def _delete_initial( - self, resource_group_name, vpn_site_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'vpnSiteName': self._serialize.url("vpn_site_name", vpn_site_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - raise models.ErrorException(self._deserialize, response) - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, vpn_site_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes a VpnSite. - - :param resource_group_name: The resource group name of the VpnSite. - :type resource_group_name: str - :param vpn_site_name: The name of the VpnSite being deleted. - :type vpn_site_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: - :class:`ErrorException` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - vpn_site_name=vpn_site_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnSites/{vpnSiteName}'} - - def list_by_resource_group( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Lists all the vpnSites in a resource group. - - :param resource_group_name: The resource group name of the VpnSite. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of VpnSite - :rtype: - ~azure.mgmt.network.v2018_08_01.models.VpnSitePaged[~azure.mgmt.network.v2018_08_01.models.VpnSite] - :raises: - :class:`ErrorException` - """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list_by_resource_group.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorException(self._deserialize, response) - - return response - - # Deserialize response - deserialized = models.VpnSitePaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.VpnSitePaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnSites'} - - def list( - self, custom_headers=None, raw=False, **operation_config): - """Lists all the VpnSites in a subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of VpnSite - :rtype: - ~azure.mgmt.network.v2018_08_01.models.VpnSitePaged[~azure.mgmt.network.v2018_08_01.models.VpnSite] - :raises: - :class:`ErrorException` - """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorException(self._deserialize, response) - - return response - - # Deserialize response - deserialized = models.VpnSitePaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.VpnSitePaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/vpnSites'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/_network_management_client.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/_network_management_client.py deleted file mode 100644 index a049c96b5d5..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/_network_management_client.py +++ /dev/null @@ -1,4850 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.service_client import SDKClient -from msrest import Serializer, Deserializer - -from azure.profiles import KnownProfiles, ProfileDefinition -from azure.profiles.multiapiclient import MultiApiClientMixin -from ._configuration import NetworkManagementClientConfiguration -from ._operations_mixin import NetworkManagementClientOperationsMixin - - -class NetworkManagementClient(NetworkManagementClientOperationsMixin, MultiApiClientMixin, SDKClient): - """Network Client - - This ready contains multiple API versions, to help you deal with all Azure clouds - (Azure Stack, Azure Government, Azure China, etc.). - By default, uses latest API version available on public Azure. - For production, you should stick a particular api-version and/or profile. - The profile sets a mapping between the operation group and an API version. - The api-version parameter sets the default API version if the operation - group is not described in the profile. - - :ivar config: Configuration for client. - :vartype config: NetworkManagementClientConfiguration - - :param credentials: Credentials needed for the client to connect to Azure. - :type credentials: :mod:`A msrestazure Credentials - object` - :param subscription_id: 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 str api_version: API version to use if no profile is provided, or if - missing in profile. - :param str base_url: Service URL - :param profile: A profile definition, from KnownProfiles to dict. - :type profile: azure.profiles.KnownProfiles - """ - - DEFAULT_API_VERSION = '2019-09-01' - _PROFILE_TAG = "azure.mgmt.network.NetworkManagementClient" - LATEST_PROFILE = ProfileDefinition({ - _PROFILE_TAG: { - None: DEFAULT_API_VERSION, - 'interface_endpoints': '2019-02-01', - 'p2s_vpn_server_configurations': '2019-07-01', - 'virtual_wa_ns': '2018-07-01', - }}, - _PROFILE_TAG + " latest" - ) - - def __init__(self, credentials, subscription_id, api_version=None, base_url=None, profile=KnownProfiles.default): - self.config = NetworkManagementClientConfiguration(credentials, subscription_id, base_url) - super(NetworkManagementClient, self).__init__( - credentials, - self.config, - api_version=api_version, - profile=profile - ) - - @classmethod - def _models_dict(cls, api_version): - return {k: v for k, v in cls.models(api_version).__dict__.items() if isinstance(v, type)} - - @classmethod - def models(cls, api_version=DEFAULT_API_VERSION): - """Module depends on the API version: - - * 2015-06-15: :mod:`v2015_06_15.models` - * 2016-09-01: :mod:`v2016_09_01.models` - * 2016-12-01: :mod:`v2016_12_01.models` - * 2017-03-01: :mod:`v2017_03_01.models` - * 2017-06-01: :mod:`v2017_06_01.models` - * 2017-08-01: :mod:`v2017_08_01.models` - * 2017-09-01: :mod:`v2017_09_01.models` - * 2017-10-01: :mod:`v2017_10_01.models` - * 2017-11-01: :mod:`v2017_11_01.models` - * 2018-01-01: :mod:`v2018_01_01.models` - * 2018-02-01: :mod:`v2018_02_01.models` - * 2018-04-01: :mod:`v2018_04_01.models` - * 2018-06-01: :mod:`v2018_06_01.models` - * 2018-07-01: :mod:`v2018_07_01.models` - * 2018-08-01: :mod:`v2018_08_01.models` - * 2018-10-01: :mod:`v2018_10_01.models` - * 2018-11-01: :mod:`v2018_11_01.models` - * 2018-12-01: :mod:`v2018_12_01.models` - * 2019-02-01: :mod:`v2019_02_01.models` - * 2019-04-01: :mod:`v2019_04_01.models` - * 2019-06-01: :mod:`v2019_06_01.models` - * 2019-07-01: :mod:`v2019_07_01.models` - * 2019-08-01: :mod:`v2019_08_01.models` - * 2019-09-01: :mod:`v2019_09_01.models` - """ - if api_version == '2015-06-15': - from .v2015_06_15 import models - return models - elif api_version == '2016-09-01': - from .v2016_09_01 import models - return models - elif api_version == '2016-12-01': - from .v2016_12_01 import models - return models - elif api_version == '2017-03-01': - from .v2017_03_01 import models - return models - elif api_version == '2017-06-01': - from .v2017_06_01 import models - return models - elif api_version == '2017-08-01': - from .v2017_08_01 import models - return models - elif api_version == '2017-09-01': - from .v2017_09_01 import models - return models - elif api_version == '2017-10-01': - from .v2017_10_01 import models - return models - elif api_version == '2017-11-01': - from .v2017_11_01 import models - return models - elif api_version == '2018-01-01': - from .v2018_01_01 import models - return models - elif api_version == '2018-02-01': - from .v2018_02_01 import models - return models - elif api_version == '2018-04-01': - from .v2018_04_01 import models - return models - elif api_version == '2018-06-01': - from .v2018_06_01 import models - return models - elif api_version == '2018-07-01': - from .v2018_07_01 import models - return models - elif api_version == '2018-08-01': - from .v2018_08_01 import models - return models - elif api_version == '2018-10-01': - from .v2018_10_01 import models - return models - elif api_version == '2018-11-01': - from .v2018_11_01 import models - return models - elif api_version == '2018-12-01': - from .v2018_12_01 import models - return models - elif api_version == '2019-02-01': - from .v2019_02_01 import models - return models - elif api_version == '2019-04-01': - from .v2019_04_01 import models - return models - elif api_version == '2019-06-01': - from .v2019_06_01 import models - return models - elif api_version == '2019-07-01': - from .v2019_07_01 import models - return models - elif api_version == '2019-08-01': - from .v2019_08_01 import models - return models - elif api_version == '2019-09-01': - from .v2019_09_01 import models - return models - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - - @property - def application_gateways(self): - """Instance depends on the API version: - - * 2015-06-15: :class:`ApplicationGatewaysOperations` - * 2016-09-01: :class:`ApplicationGatewaysOperations` - * 2016-12-01: :class:`ApplicationGatewaysOperations` - * 2017-03-01: :class:`ApplicationGatewaysOperations` - * 2017-06-01: :class:`ApplicationGatewaysOperations` - * 2017-08-01: :class:`ApplicationGatewaysOperations` - * 2017-09-01: :class:`ApplicationGatewaysOperations` - * 2017-10-01: :class:`ApplicationGatewaysOperations` - * 2017-11-01: :class:`ApplicationGatewaysOperations` - * 2018-01-01: :class:`ApplicationGatewaysOperations` - * 2018-02-01: :class:`ApplicationGatewaysOperations` - * 2018-04-01: :class:`ApplicationGatewaysOperations` - * 2018-06-01: :class:`ApplicationGatewaysOperations` - * 2018-07-01: :class:`ApplicationGatewaysOperations` - * 2018-08-01: :class:`ApplicationGatewaysOperations` - * 2018-10-01: :class:`ApplicationGatewaysOperations` - * 2018-11-01: :class:`ApplicationGatewaysOperations` - * 2018-12-01: :class:`ApplicationGatewaysOperations` - * 2019-02-01: :class:`ApplicationGatewaysOperations` - * 2019-04-01: :class:`ApplicationGatewaysOperations` - * 2019-06-01: :class:`ApplicationGatewaysOperations` - * 2019-07-01: :class:`ApplicationGatewaysOperations` - * 2019-08-01: :class:`ApplicationGatewaysOperations` - * 2019-09-01: :class:`ApplicationGatewaysOperations` - """ - api_version = self._get_api_version('application_gateways') - if api_version == '2015-06-15': - from .v2015_06_15.operations import ApplicationGatewaysOperations as OperationClass - elif api_version == '2016-09-01': - from .v2016_09_01.operations import ApplicationGatewaysOperations as OperationClass - elif api_version == '2016-12-01': - from .v2016_12_01.operations import ApplicationGatewaysOperations as OperationClass - elif api_version == '2017-03-01': - from .v2017_03_01.operations import ApplicationGatewaysOperations as OperationClass - elif api_version == '2017-06-01': - from .v2017_06_01.operations import ApplicationGatewaysOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import ApplicationGatewaysOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import ApplicationGatewaysOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import ApplicationGatewaysOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import ApplicationGatewaysOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import ApplicationGatewaysOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import ApplicationGatewaysOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import ApplicationGatewaysOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import ApplicationGatewaysOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import ApplicationGatewaysOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import ApplicationGatewaysOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import ApplicationGatewaysOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import ApplicationGatewaysOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import ApplicationGatewaysOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import ApplicationGatewaysOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import ApplicationGatewaysOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import ApplicationGatewaysOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import ApplicationGatewaysOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import ApplicationGatewaysOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import ApplicationGatewaysOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def application_security_groups(self): - """Instance depends on the API version: - - * 2017-09-01: :class:`ApplicationSecurityGroupsOperations` - * 2017-10-01: :class:`ApplicationSecurityGroupsOperations` - * 2017-11-01: :class:`ApplicationSecurityGroupsOperations` - * 2018-01-01: :class:`ApplicationSecurityGroupsOperations` - * 2018-02-01: :class:`ApplicationSecurityGroupsOperations` - * 2018-04-01: :class:`ApplicationSecurityGroupsOperations` - * 2018-06-01: :class:`ApplicationSecurityGroupsOperations` - * 2018-07-01: :class:`ApplicationSecurityGroupsOperations` - * 2018-08-01: :class:`ApplicationSecurityGroupsOperations` - * 2018-10-01: :class:`ApplicationSecurityGroupsOperations` - * 2018-11-01: :class:`ApplicationSecurityGroupsOperations` - * 2018-12-01: :class:`ApplicationSecurityGroupsOperations` - * 2019-02-01: :class:`ApplicationSecurityGroupsOperations` - * 2019-04-01: :class:`ApplicationSecurityGroupsOperations` - * 2019-06-01: :class:`ApplicationSecurityGroupsOperations` - * 2019-07-01: :class:`ApplicationSecurityGroupsOperations` - * 2019-08-01: :class:`ApplicationSecurityGroupsOperations` - * 2019-09-01: :class:`ApplicationSecurityGroupsOperations` - """ - api_version = self._get_api_version('application_security_groups') - if api_version == '2017-09-01': - from .v2017_09_01.operations import ApplicationSecurityGroupsOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import ApplicationSecurityGroupsOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import ApplicationSecurityGroupsOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import ApplicationSecurityGroupsOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import ApplicationSecurityGroupsOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import ApplicationSecurityGroupsOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import ApplicationSecurityGroupsOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import ApplicationSecurityGroupsOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import ApplicationSecurityGroupsOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import ApplicationSecurityGroupsOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import ApplicationSecurityGroupsOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import ApplicationSecurityGroupsOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import ApplicationSecurityGroupsOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import ApplicationSecurityGroupsOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import ApplicationSecurityGroupsOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import ApplicationSecurityGroupsOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import ApplicationSecurityGroupsOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import ApplicationSecurityGroupsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def available_delegations(self): - """Instance depends on the API version: - - * 2018-08-01: :class:`AvailableDelegationsOperations` - * 2018-10-01: :class:`AvailableDelegationsOperations` - * 2018-11-01: :class:`AvailableDelegationsOperations` - * 2018-12-01: :class:`AvailableDelegationsOperations` - * 2019-02-01: :class:`AvailableDelegationsOperations` - * 2019-04-01: :class:`AvailableDelegationsOperations` - * 2019-06-01: :class:`AvailableDelegationsOperations` - * 2019-07-01: :class:`AvailableDelegationsOperations` - * 2019-08-01: :class:`AvailableDelegationsOperations` - * 2019-09-01: :class:`AvailableDelegationsOperations` - """ - api_version = self._get_api_version('available_delegations') - if api_version == '2018-08-01': - from .v2018_08_01.operations import AvailableDelegationsOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import AvailableDelegationsOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import AvailableDelegationsOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import AvailableDelegationsOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import AvailableDelegationsOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import AvailableDelegationsOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import AvailableDelegationsOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import AvailableDelegationsOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import AvailableDelegationsOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import AvailableDelegationsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def available_endpoint_services(self): - """Instance depends on the API version: - - * 2017-06-01: :class:`AvailableEndpointServicesOperations` - * 2017-08-01: :class:`AvailableEndpointServicesOperations` - * 2017-09-01: :class:`AvailableEndpointServicesOperations` - * 2017-10-01: :class:`AvailableEndpointServicesOperations` - * 2017-11-01: :class:`AvailableEndpointServicesOperations` - * 2018-01-01: :class:`AvailableEndpointServicesOperations` - * 2018-02-01: :class:`AvailableEndpointServicesOperations` - * 2018-04-01: :class:`AvailableEndpointServicesOperations` - * 2018-06-01: :class:`AvailableEndpointServicesOperations` - * 2018-07-01: :class:`AvailableEndpointServicesOperations` - * 2018-08-01: :class:`AvailableEndpointServicesOperations` - * 2018-10-01: :class:`AvailableEndpointServicesOperations` - * 2018-11-01: :class:`AvailableEndpointServicesOperations` - * 2018-12-01: :class:`AvailableEndpointServicesOperations` - * 2019-02-01: :class:`AvailableEndpointServicesOperations` - * 2019-04-01: :class:`AvailableEndpointServicesOperations` - * 2019-06-01: :class:`AvailableEndpointServicesOperations` - * 2019-07-01: :class:`AvailableEndpointServicesOperations` - * 2019-08-01: :class:`AvailableEndpointServicesOperations` - * 2019-09-01: :class:`AvailableEndpointServicesOperations` - """ - api_version = self._get_api_version('available_endpoint_services') - if api_version == '2017-06-01': - from .v2017_06_01.operations import AvailableEndpointServicesOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import AvailableEndpointServicesOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import AvailableEndpointServicesOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import AvailableEndpointServicesOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import AvailableEndpointServicesOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import AvailableEndpointServicesOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import AvailableEndpointServicesOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import AvailableEndpointServicesOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import AvailableEndpointServicesOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import AvailableEndpointServicesOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import AvailableEndpointServicesOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import AvailableEndpointServicesOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import AvailableEndpointServicesOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import AvailableEndpointServicesOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import AvailableEndpointServicesOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import AvailableEndpointServicesOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import AvailableEndpointServicesOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import AvailableEndpointServicesOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import AvailableEndpointServicesOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import AvailableEndpointServicesOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def available_private_endpoint_types(self): - """Instance depends on the API version: - - * 2019-04-01: :class:`AvailablePrivateEndpointTypesOperations` - * 2019-06-01: :class:`AvailablePrivateEndpointTypesOperations` - * 2019-07-01: :class:`AvailablePrivateEndpointTypesOperations` - * 2019-08-01: :class:`AvailablePrivateEndpointTypesOperations` - * 2019-09-01: :class:`AvailablePrivateEndpointTypesOperations` - """ - api_version = self._get_api_version('available_private_endpoint_types') - if api_version == '2019-04-01': - from .v2019_04_01.operations import AvailablePrivateEndpointTypesOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import AvailablePrivateEndpointTypesOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import AvailablePrivateEndpointTypesOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import AvailablePrivateEndpointTypesOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import AvailablePrivateEndpointTypesOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def available_resource_group_delegations(self): - """Instance depends on the API version: - - * 2018-08-01: :class:`AvailableResourceGroupDelegationsOperations` - * 2018-10-01: :class:`AvailableResourceGroupDelegationsOperations` - * 2018-11-01: :class:`AvailableResourceGroupDelegationsOperations` - * 2018-12-01: :class:`AvailableResourceGroupDelegationsOperations` - * 2019-02-01: :class:`AvailableResourceGroupDelegationsOperations` - * 2019-04-01: :class:`AvailableResourceGroupDelegationsOperations` - * 2019-06-01: :class:`AvailableResourceGroupDelegationsOperations` - * 2019-07-01: :class:`AvailableResourceGroupDelegationsOperations` - * 2019-08-01: :class:`AvailableResourceGroupDelegationsOperations` - * 2019-09-01: :class:`AvailableResourceGroupDelegationsOperations` - """ - api_version = self._get_api_version('available_resource_group_delegations') - if api_version == '2018-08-01': - from .v2018_08_01.operations import AvailableResourceGroupDelegationsOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import AvailableResourceGroupDelegationsOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import AvailableResourceGroupDelegationsOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import AvailableResourceGroupDelegationsOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import AvailableResourceGroupDelegationsOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import AvailableResourceGroupDelegationsOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import AvailableResourceGroupDelegationsOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import AvailableResourceGroupDelegationsOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import AvailableResourceGroupDelegationsOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import AvailableResourceGroupDelegationsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def available_service_aliases(self): - """Instance depends on the API version: - - * 2019-08-01: :class:`AvailableServiceAliasesOperations` - * 2019-09-01: :class:`AvailableServiceAliasesOperations` - """ - api_version = self._get_api_version('available_service_aliases') - if api_version == '2019-08-01': - from .v2019_08_01.operations import AvailableServiceAliasesOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import AvailableServiceAliasesOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def azure_firewall_fqdn_tags(self): - """Instance depends on the API version: - - * 2018-08-01: :class:`AzureFirewallFqdnTagsOperations` - * 2018-10-01: :class:`AzureFirewallFqdnTagsOperations` - * 2018-11-01: :class:`AzureFirewallFqdnTagsOperations` - * 2018-12-01: :class:`AzureFirewallFqdnTagsOperations` - * 2019-02-01: :class:`AzureFirewallFqdnTagsOperations` - * 2019-04-01: :class:`AzureFirewallFqdnTagsOperations` - * 2019-06-01: :class:`AzureFirewallFqdnTagsOperations` - * 2019-07-01: :class:`AzureFirewallFqdnTagsOperations` - * 2019-08-01: :class:`AzureFirewallFqdnTagsOperations` - * 2019-09-01: :class:`AzureFirewallFqdnTagsOperations` - """ - api_version = self._get_api_version('azure_firewall_fqdn_tags') - if api_version == '2018-08-01': - from .v2018_08_01.operations import AzureFirewallFqdnTagsOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import AzureFirewallFqdnTagsOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import AzureFirewallFqdnTagsOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import AzureFirewallFqdnTagsOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import AzureFirewallFqdnTagsOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import AzureFirewallFqdnTagsOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import AzureFirewallFqdnTagsOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import AzureFirewallFqdnTagsOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import AzureFirewallFqdnTagsOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import AzureFirewallFqdnTagsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def azure_firewalls(self): - """Instance depends on the API version: - - * 2018-04-01: :class:`AzureFirewallsOperations` - * 2018-06-01: :class:`AzureFirewallsOperations` - * 2018-07-01: :class:`AzureFirewallsOperations` - * 2018-08-01: :class:`AzureFirewallsOperations` - * 2018-10-01: :class:`AzureFirewallsOperations` - * 2018-11-01: :class:`AzureFirewallsOperations` - * 2018-12-01: :class:`AzureFirewallsOperations` - * 2019-02-01: :class:`AzureFirewallsOperations` - * 2019-04-01: :class:`AzureFirewallsOperations` - * 2019-06-01: :class:`AzureFirewallsOperations` - * 2019-07-01: :class:`AzureFirewallsOperations` - * 2019-08-01: :class:`AzureFirewallsOperations` - * 2019-09-01: :class:`AzureFirewallsOperations` - """ - api_version = self._get_api_version('azure_firewalls') - if api_version == '2018-04-01': - from .v2018_04_01.operations import AzureFirewallsOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import AzureFirewallsOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import AzureFirewallsOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import AzureFirewallsOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import AzureFirewallsOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import AzureFirewallsOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import AzureFirewallsOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import AzureFirewallsOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import AzureFirewallsOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import AzureFirewallsOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import AzureFirewallsOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import AzureFirewallsOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import AzureFirewallsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def bastion_hosts(self): - """Instance depends on the API version: - - * 2019-04-01: :class:`BastionHostsOperations` - * 2019-06-01: :class:`BastionHostsOperations` - * 2019-07-01: :class:`BastionHostsOperations` - * 2019-08-01: :class:`BastionHostsOperations` - * 2019-09-01: :class:`BastionHostsOperations` - """ - api_version = self._get_api_version('bastion_hosts') - if api_version == '2019-04-01': - from .v2019_04_01.operations import BastionHostsOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import BastionHostsOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import BastionHostsOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import BastionHostsOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import BastionHostsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def bgp_service_communities(self): - """Instance depends on the API version: - - * 2016-12-01: :class:`BgpServiceCommunitiesOperations` - * 2017-03-01: :class:`BgpServiceCommunitiesOperations` - * 2017-06-01: :class:`BgpServiceCommunitiesOperations` - * 2017-08-01: :class:`BgpServiceCommunitiesOperations` - * 2017-09-01: :class:`BgpServiceCommunitiesOperations` - * 2017-10-01: :class:`BgpServiceCommunitiesOperations` - * 2017-11-01: :class:`BgpServiceCommunitiesOperations` - * 2018-01-01: :class:`BgpServiceCommunitiesOperations` - * 2018-02-01: :class:`BgpServiceCommunitiesOperations` - * 2018-04-01: :class:`BgpServiceCommunitiesOperations` - * 2018-06-01: :class:`BgpServiceCommunitiesOperations` - * 2018-07-01: :class:`BgpServiceCommunitiesOperations` - * 2018-08-01: :class:`BgpServiceCommunitiesOperations` - * 2018-10-01: :class:`BgpServiceCommunitiesOperations` - * 2018-11-01: :class:`BgpServiceCommunitiesOperations` - * 2018-12-01: :class:`BgpServiceCommunitiesOperations` - * 2019-02-01: :class:`BgpServiceCommunitiesOperations` - * 2019-04-01: :class:`BgpServiceCommunitiesOperations` - * 2019-06-01: :class:`BgpServiceCommunitiesOperations` - * 2019-07-01: :class:`BgpServiceCommunitiesOperations` - * 2019-08-01: :class:`BgpServiceCommunitiesOperations` - * 2019-09-01: :class:`BgpServiceCommunitiesOperations` - """ - api_version = self._get_api_version('bgp_service_communities') - if api_version == '2016-12-01': - from .v2016_12_01.operations import BgpServiceCommunitiesOperations as OperationClass - elif api_version == '2017-03-01': - from .v2017_03_01.operations import BgpServiceCommunitiesOperations as OperationClass - elif api_version == '2017-06-01': - from .v2017_06_01.operations import BgpServiceCommunitiesOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import BgpServiceCommunitiesOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import BgpServiceCommunitiesOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import BgpServiceCommunitiesOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import BgpServiceCommunitiesOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import BgpServiceCommunitiesOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import BgpServiceCommunitiesOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import BgpServiceCommunitiesOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import BgpServiceCommunitiesOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import BgpServiceCommunitiesOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import BgpServiceCommunitiesOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import BgpServiceCommunitiesOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import BgpServiceCommunitiesOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import BgpServiceCommunitiesOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import BgpServiceCommunitiesOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import BgpServiceCommunitiesOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import BgpServiceCommunitiesOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import BgpServiceCommunitiesOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import BgpServiceCommunitiesOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import BgpServiceCommunitiesOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def connection_monitors(self): - """Instance depends on the API version: - - * 2017-10-01: :class:`ConnectionMonitorsOperations` - * 2017-11-01: :class:`ConnectionMonitorsOperations` - * 2018-01-01: :class:`ConnectionMonitorsOperations` - * 2018-02-01: :class:`ConnectionMonitorsOperations` - * 2018-04-01: :class:`ConnectionMonitorsOperations` - * 2018-06-01: :class:`ConnectionMonitorsOperations` - * 2018-07-01: :class:`ConnectionMonitorsOperations` - * 2018-08-01: :class:`ConnectionMonitorsOperations` - * 2018-10-01: :class:`ConnectionMonitorsOperations` - * 2018-11-01: :class:`ConnectionMonitorsOperations` - * 2018-12-01: :class:`ConnectionMonitorsOperations` - * 2019-02-01: :class:`ConnectionMonitorsOperations` - * 2019-04-01: :class:`ConnectionMonitorsOperations` - * 2019-06-01: :class:`ConnectionMonitorsOperations` - * 2019-07-01: :class:`ConnectionMonitorsOperations` - * 2019-08-01: :class:`ConnectionMonitorsOperations` - * 2019-09-01: :class:`ConnectionMonitorsOperations` - """ - api_version = self._get_api_version('connection_monitors') - if api_version == '2017-10-01': - from .v2017_10_01.operations import ConnectionMonitorsOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import ConnectionMonitorsOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import ConnectionMonitorsOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import ConnectionMonitorsOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import ConnectionMonitorsOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import ConnectionMonitorsOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import ConnectionMonitorsOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import ConnectionMonitorsOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import ConnectionMonitorsOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import ConnectionMonitorsOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import ConnectionMonitorsOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import ConnectionMonitorsOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import ConnectionMonitorsOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import ConnectionMonitorsOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import ConnectionMonitorsOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import ConnectionMonitorsOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import ConnectionMonitorsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def ddos_custom_policies(self): - """Instance depends on the API version: - - * 2018-11-01: :class:`DdosCustomPoliciesOperations` - * 2018-12-01: :class:`DdosCustomPoliciesOperations` - * 2019-02-01: :class:`DdosCustomPoliciesOperations` - * 2019-04-01: :class:`DdosCustomPoliciesOperations` - * 2019-06-01: :class:`DdosCustomPoliciesOperations` - * 2019-07-01: :class:`DdosCustomPoliciesOperations` - * 2019-08-01: :class:`DdosCustomPoliciesOperations` - * 2019-09-01: :class:`DdosCustomPoliciesOperations` - """ - api_version = self._get_api_version('ddos_custom_policies') - if api_version == '2018-11-01': - from .v2018_11_01.operations import DdosCustomPoliciesOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import DdosCustomPoliciesOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import DdosCustomPoliciesOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import DdosCustomPoliciesOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import DdosCustomPoliciesOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import DdosCustomPoliciesOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import DdosCustomPoliciesOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import DdosCustomPoliciesOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def ddos_protection_plans(self): - """Instance depends on the API version: - - * 2018-02-01: :class:`DdosProtectionPlansOperations` - * 2018-04-01: :class:`DdosProtectionPlansOperations` - * 2018-06-01: :class:`DdosProtectionPlansOperations` - * 2018-07-01: :class:`DdosProtectionPlansOperations` - * 2018-08-01: :class:`DdosProtectionPlansOperations` - * 2018-10-01: :class:`DdosProtectionPlansOperations` - * 2018-11-01: :class:`DdosProtectionPlansOperations` - * 2018-12-01: :class:`DdosProtectionPlansOperations` - * 2019-02-01: :class:`DdosProtectionPlansOperations` - * 2019-04-01: :class:`DdosProtectionPlansOperations` - * 2019-06-01: :class:`DdosProtectionPlansOperations` - * 2019-07-01: :class:`DdosProtectionPlansOperations` - * 2019-08-01: :class:`DdosProtectionPlansOperations` - * 2019-09-01: :class:`DdosProtectionPlansOperations` - """ - api_version = self._get_api_version('ddos_protection_plans') - if api_version == '2018-02-01': - from .v2018_02_01.operations import DdosProtectionPlansOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import DdosProtectionPlansOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import DdosProtectionPlansOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import DdosProtectionPlansOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import DdosProtectionPlansOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import DdosProtectionPlansOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import DdosProtectionPlansOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import DdosProtectionPlansOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import DdosProtectionPlansOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import DdosProtectionPlansOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import DdosProtectionPlansOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import DdosProtectionPlansOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import DdosProtectionPlansOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import DdosProtectionPlansOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def default_security_rules(self): - """Instance depends on the API version: - - * 2017-06-01: :class:`DefaultSecurityRulesOperations` - * 2017-08-01: :class:`DefaultSecurityRulesOperations` - * 2017-09-01: :class:`DefaultSecurityRulesOperations` - * 2017-10-01: :class:`DefaultSecurityRulesOperations` - * 2017-11-01: :class:`DefaultSecurityRulesOperations` - * 2018-01-01: :class:`DefaultSecurityRulesOperations` - * 2018-02-01: :class:`DefaultSecurityRulesOperations` - * 2018-04-01: :class:`DefaultSecurityRulesOperations` - * 2018-06-01: :class:`DefaultSecurityRulesOperations` - * 2018-07-01: :class:`DefaultSecurityRulesOperations` - * 2018-08-01: :class:`DefaultSecurityRulesOperations` - * 2018-10-01: :class:`DefaultSecurityRulesOperations` - * 2018-11-01: :class:`DefaultSecurityRulesOperations` - * 2018-12-01: :class:`DefaultSecurityRulesOperations` - * 2019-02-01: :class:`DefaultSecurityRulesOperations` - * 2019-04-01: :class:`DefaultSecurityRulesOperations` - * 2019-06-01: :class:`DefaultSecurityRulesOperations` - * 2019-07-01: :class:`DefaultSecurityRulesOperations` - * 2019-08-01: :class:`DefaultSecurityRulesOperations` - * 2019-09-01: :class:`DefaultSecurityRulesOperations` - """ - api_version = self._get_api_version('default_security_rules') - if api_version == '2017-06-01': - from .v2017_06_01.operations import DefaultSecurityRulesOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import DefaultSecurityRulesOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import DefaultSecurityRulesOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import DefaultSecurityRulesOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import DefaultSecurityRulesOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import DefaultSecurityRulesOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import DefaultSecurityRulesOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import DefaultSecurityRulesOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import DefaultSecurityRulesOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import DefaultSecurityRulesOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import DefaultSecurityRulesOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import DefaultSecurityRulesOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import DefaultSecurityRulesOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import DefaultSecurityRulesOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import DefaultSecurityRulesOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import DefaultSecurityRulesOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import DefaultSecurityRulesOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import DefaultSecurityRulesOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import DefaultSecurityRulesOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import DefaultSecurityRulesOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def express_route_circuit_authorizations(self): - """Instance depends on the API version: - - * 2015-06-15: :class:`ExpressRouteCircuitAuthorizationsOperations` - * 2016-09-01: :class:`ExpressRouteCircuitAuthorizationsOperations` - * 2016-12-01: :class:`ExpressRouteCircuitAuthorizationsOperations` - * 2017-03-01: :class:`ExpressRouteCircuitAuthorizationsOperations` - * 2017-06-01: :class:`ExpressRouteCircuitAuthorizationsOperations` - * 2017-08-01: :class:`ExpressRouteCircuitAuthorizationsOperations` - * 2017-09-01: :class:`ExpressRouteCircuitAuthorizationsOperations` - * 2017-10-01: :class:`ExpressRouteCircuitAuthorizationsOperations` - * 2017-11-01: :class:`ExpressRouteCircuitAuthorizationsOperations` - * 2018-01-01: :class:`ExpressRouteCircuitAuthorizationsOperations` - * 2018-02-01: :class:`ExpressRouteCircuitAuthorizationsOperations` - * 2018-04-01: :class:`ExpressRouteCircuitAuthorizationsOperations` - * 2018-06-01: :class:`ExpressRouteCircuitAuthorizationsOperations` - * 2018-07-01: :class:`ExpressRouteCircuitAuthorizationsOperations` - * 2018-08-01: :class:`ExpressRouteCircuitAuthorizationsOperations` - * 2018-10-01: :class:`ExpressRouteCircuitAuthorizationsOperations` - * 2018-11-01: :class:`ExpressRouteCircuitAuthorizationsOperations` - * 2018-12-01: :class:`ExpressRouteCircuitAuthorizationsOperations` - * 2019-02-01: :class:`ExpressRouteCircuitAuthorizationsOperations` - * 2019-04-01: :class:`ExpressRouteCircuitAuthorizationsOperations` - * 2019-06-01: :class:`ExpressRouteCircuitAuthorizationsOperations` - * 2019-07-01: :class:`ExpressRouteCircuitAuthorizationsOperations` - * 2019-08-01: :class:`ExpressRouteCircuitAuthorizationsOperations` - * 2019-09-01: :class:`ExpressRouteCircuitAuthorizationsOperations` - """ - api_version = self._get_api_version('express_route_circuit_authorizations') - if api_version == '2015-06-15': - from .v2015_06_15.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass - elif api_version == '2016-09-01': - from .v2016_09_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass - elif api_version == '2016-12-01': - from .v2016_12_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass - elif api_version == '2017-03-01': - from .v2017_03_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass - elif api_version == '2017-06-01': - from .v2017_06_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def express_route_circuit_connections(self): - """Instance depends on the API version: - - * 2018-02-01: :class:`ExpressRouteCircuitConnectionsOperations` - * 2018-04-01: :class:`ExpressRouteCircuitConnectionsOperations` - * 2018-06-01: :class:`ExpressRouteCircuitConnectionsOperations` - * 2018-07-01: :class:`ExpressRouteCircuitConnectionsOperations` - * 2018-08-01: :class:`ExpressRouteCircuitConnectionsOperations` - * 2018-10-01: :class:`ExpressRouteCircuitConnectionsOperations` - * 2018-11-01: :class:`ExpressRouteCircuitConnectionsOperations` - * 2018-12-01: :class:`ExpressRouteCircuitConnectionsOperations` - * 2019-02-01: :class:`ExpressRouteCircuitConnectionsOperations` - * 2019-04-01: :class:`ExpressRouteCircuitConnectionsOperations` - * 2019-06-01: :class:`ExpressRouteCircuitConnectionsOperations` - * 2019-07-01: :class:`ExpressRouteCircuitConnectionsOperations` - * 2019-08-01: :class:`ExpressRouteCircuitConnectionsOperations` - * 2019-09-01: :class:`ExpressRouteCircuitConnectionsOperations` - """ - api_version = self._get_api_version('express_route_circuit_connections') - if api_version == '2018-02-01': - from .v2018_02_01.operations import ExpressRouteCircuitConnectionsOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import ExpressRouteCircuitConnectionsOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import ExpressRouteCircuitConnectionsOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import ExpressRouteCircuitConnectionsOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import ExpressRouteCircuitConnectionsOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import ExpressRouteCircuitConnectionsOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import ExpressRouteCircuitConnectionsOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import ExpressRouteCircuitConnectionsOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import ExpressRouteCircuitConnectionsOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import ExpressRouteCircuitConnectionsOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import ExpressRouteCircuitConnectionsOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import ExpressRouteCircuitConnectionsOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import ExpressRouteCircuitConnectionsOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import ExpressRouteCircuitConnectionsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def express_route_circuit_peerings(self): - """Instance depends on the API version: - - * 2015-06-15: :class:`ExpressRouteCircuitPeeringsOperations` - * 2016-09-01: :class:`ExpressRouteCircuitPeeringsOperations` - * 2016-12-01: :class:`ExpressRouteCircuitPeeringsOperations` - * 2017-03-01: :class:`ExpressRouteCircuitPeeringsOperations` - * 2017-06-01: :class:`ExpressRouteCircuitPeeringsOperations` - * 2017-08-01: :class:`ExpressRouteCircuitPeeringsOperations` - * 2017-09-01: :class:`ExpressRouteCircuitPeeringsOperations` - * 2017-10-01: :class:`ExpressRouteCircuitPeeringsOperations` - * 2017-11-01: :class:`ExpressRouteCircuitPeeringsOperations` - * 2018-01-01: :class:`ExpressRouteCircuitPeeringsOperations` - * 2018-02-01: :class:`ExpressRouteCircuitPeeringsOperations` - * 2018-04-01: :class:`ExpressRouteCircuitPeeringsOperations` - * 2018-06-01: :class:`ExpressRouteCircuitPeeringsOperations` - * 2018-07-01: :class:`ExpressRouteCircuitPeeringsOperations` - * 2018-08-01: :class:`ExpressRouteCircuitPeeringsOperations` - * 2018-10-01: :class:`ExpressRouteCircuitPeeringsOperations` - * 2018-11-01: :class:`ExpressRouteCircuitPeeringsOperations` - * 2018-12-01: :class:`ExpressRouteCircuitPeeringsOperations` - * 2019-02-01: :class:`ExpressRouteCircuitPeeringsOperations` - * 2019-04-01: :class:`ExpressRouteCircuitPeeringsOperations` - * 2019-06-01: :class:`ExpressRouteCircuitPeeringsOperations` - * 2019-07-01: :class:`ExpressRouteCircuitPeeringsOperations` - * 2019-08-01: :class:`ExpressRouteCircuitPeeringsOperations` - * 2019-09-01: :class:`ExpressRouteCircuitPeeringsOperations` - """ - api_version = self._get_api_version('express_route_circuit_peerings') - if api_version == '2015-06-15': - from .v2015_06_15.operations import ExpressRouteCircuitPeeringsOperations as OperationClass - elif api_version == '2016-09-01': - from .v2016_09_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass - elif api_version == '2016-12-01': - from .v2016_12_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass - elif api_version == '2017-03-01': - from .v2017_03_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass - elif api_version == '2017-06-01': - from .v2017_06_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def express_route_circuits(self): - """Instance depends on the API version: - - * 2015-06-15: :class:`ExpressRouteCircuitsOperations` - * 2016-09-01: :class:`ExpressRouteCircuitsOperations` - * 2016-12-01: :class:`ExpressRouteCircuitsOperations` - * 2017-03-01: :class:`ExpressRouteCircuitsOperations` - * 2017-06-01: :class:`ExpressRouteCircuitsOperations` - * 2017-08-01: :class:`ExpressRouteCircuitsOperations` - * 2017-09-01: :class:`ExpressRouteCircuitsOperations` - * 2017-10-01: :class:`ExpressRouteCircuitsOperations` - * 2017-11-01: :class:`ExpressRouteCircuitsOperations` - * 2018-01-01: :class:`ExpressRouteCircuitsOperations` - * 2018-02-01: :class:`ExpressRouteCircuitsOperations` - * 2018-04-01: :class:`ExpressRouteCircuitsOperations` - * 2018-06-01: :class:`ExpressRouteCircuitsOperations` - * 2018-07-01: :class:`ExpressRouteCircuitsOperations` - * 2018-08-01: :class:`ExpressRouteCircuitsOperations` - * 2018-10-01: :class:`ExpressRouteCircuitsOperations` - * 2018-11-01: :class:`ExpressRouteCircuitsOperations` - * 2018-12-01: :class:`ExpressRouteCircuitsOperations` - * 2019-02-01: :class:`ExpressRouteCircuitsOperations` - * 2019-04-01: :class:`ExpressRouteCircuitsOperations` - * 2019-06-01: :class:`ExpressRouteCircuitsOperations` - * 2019-07-01: :class:`ExpressRouteCircuitsOperations` - * 2019-08-01: :class:`ExpressRouteCircuitsOperations` - * 2019-09-01: :class:`ExpressRouteCircuitsOperations` - """ - api_version = self._get_api_version('express_route_circuits') - if api_version == '2015-06-15': - from .v2015_06_15.operations import ExpressRouteCircuitsOperations as OperationClass - elif api_version == '2016-09-01': - from .v2016_09_01.operations import ExpressRouteCircuitsOperations as OperationClass - elif api_version == '2016-12-01': - from .v2016_12_01.operations import ExpressRouteCircuitsOperations as OperationClass - elif api_version == '2017-03-01': - from .v2017_03_01.operations import ExpressRouteCircuitsOperations as OperationClass - elif api_version == '2017-06-01': - from .v2017_06_01.operations import ExpressRouteCircuitsOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import ExpressRouteCircuitsOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import ExpressRouteCircuitsOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import ExpressRouteCircuitsOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import ExpressRouteCircuitsOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import ExpressRouteCircuitsOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import ExpressRouteCircuitsOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import ExpressRouteCircuitsOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import ExpressRouteCircuitsOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import ExpressRouteCircuitsOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import ExpressRouteCircuitsOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import ExpressRouteCircuitsOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import ExpressRouteCircuitsOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import ExpressRouteCircuitsOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import ExpressRouteCircuitsOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import ExpressRouteCircuitsOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import ExpressRouteCircuitsOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import ExpressRouteCircuitsOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import ExpressRouteCircuitsOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import ExpressRouteCircuitsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def express_route_connections(self): - """Instance depends on the API version: - - * 2018-08-01: :class:`ExpressRouteConnectionsOperations` - * 2018-10-01: :class:`ExpressRouteConnectionsOperations` - * 2018-11-01: :class:`ExpressRouteConnectionsOperations` - * 2018-12-01: :class:`ExpressRouteConnectionsOperations` - * 2019-02-01: :class:`ExpressRouteConnectionsOperations` - * 2019-04-01: :class:`ExpressRouteConnectionsOperations` - * 2019-06-01: :class:`ExpressRouteConnectionsOperations` - * 2019-07-01: :class:`ExpressRouteConnectionsOperations` - * 2019-08-01: :class:`ExpressRouteConnectionsOperations` - * 2019-09-01: :class:`ExpressRouteConnectionsOperations` - """ - api_version = self._get_api_version('express_route_connections') - if api_version == '2018-08-01': - from .v2018_08_01.operations import ExpressRouteConnectionsOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import ExpressRouteConnectionsOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import ExpressRouteConnectionsOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import ExpressRouteConnectionsOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import ExpressRouteConnectionsOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import ExpressRouteConnectionsOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import ExpressRouteConnectionsOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import ExpressRouteConnectionsOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import ExpressRouteConnectionsOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import ExpressRouteConnectionsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def express_route_cross_connection_peerings(self): - """Instance depends on the API version: - - * 2018-02-01: :class:`ExpressRouteCrossConnectionPeeringsOperations` - * 2018-04-01: :class:`ExpressRouteCrossConnectionPeeringsOperations` - * 2018-06-01: :class:`ExpressRouteCrossConnectionPeeringsOperations` - * 2018-07-01: :class:`ExpressRouteCrossConnectionPeeringsOperations` - * 2018-08-01: :class:`ExpressRouteCrossConnectionPeeringsOperations` - * 2018-10-01: :class:`ExpressRouteCrossConnectionPeeringsOperations` - * 2018-11-01: :class:`ExpressRouteCrossConnectionPeeringsOperations` - * 2018-12-01: :class:`ExpressRouteCrossConnectionPeeringsOperations` - * 2019-02-01: :class:`ExpressRouteCrossConnectionPeeringsOperations` - * 2019-04-01: :class:`ExpressRouteCrossConnectionPeeringsOperations` - * 2019-06-01: :class:`ExpressRouteCrossConnectionPeeringsOperations` - * 2019-07-01: :class:`ExpressRouteCrossConnectionPeeringsOperations` - * 2019-08-01: :class:`ExpressRouteCrossConnectionPeeringsOperations` - * 2019-09-01: :class:`ExpressRouteCrossConnectionPeeringsOperations` - """ - api_version = self._get_api_version('express_route_cross_connection_peerings') - if api_version == '2018-02-01': - from .v2018_02_01.operations import ExpressRouteCrossConnectionPeeringsOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import ExpressRouteCrossConnectionPeeringsOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import ExpressRouteCrossConnectionPeeringsOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import ExpressRouteCrossConnectionPeeringsOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import ExpressRouteCrossConnectionPeeringsOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import ExpressRouteCrossConnectionPeeringsOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import ExpressRouteCrossConnectionPeeringsOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import ExpressRouteCrossConnectionPeeringsOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import ExpressRouteCrossConnectionPeeringsOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import ExpressRouteCrossConnectionPeeringsOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import ExpressRouteCrossConnectionPeeringsOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import ExpressRouteCrossConnectionPeeringsOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import ExpressRouteCrossConnectionPeeringsOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import ExpressRouteCrossConnectionPeeringsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def express_route_cross_connections(self): - """Instance depends on the API version: - - * 2018-02-01: :class:`ExpressRouteCrossConnectionsOperations` - * 2018-04-01: :class:`ExpressRouteCrossConnectionsOperations` - * 2018-06-01: :class:`ExpressRouteCrossConnectionsOperations` - * 2018-07-01: :class:`ExpressRouteCrossConnectionsOperations` - * 2018-08-01: :class:`ExpressRouteCrossConnectionsOperations` - * 2018-10-01: :class:`ExpressRouteCrossConnectionsOperations` - * 2018-11-01: :class:`ExpressRouteCrossConnectionsOperations` - * 2018-12-01: :class:`ExpressRouteCrossConnectionsOperations` - * 2019-02-01: :class:`ExpressRouteCrossConnectionsOperations` - * 2019-04-01: :class:`ExpressRouteCrossConnectionsOperations` - * 2019-06-01: :class:`ExpressRouteCrossConnectionsOperations` - * 2019-07-01: :class:`ExpressRouteCrossConnectionsOperations` - * 2019-08-01: :class:`ExpressRouteCrossConnectionsOperations` - * 2019-09-01: :class:`ExpressRouteCrossConnectionsOperations` - """ - api_version = self._get_api_version('express_route_cross_connections') - if api_version == '2018-02-01': - from .v2018_02_01.operations import ExpressRouteCrossConnectionsOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import ExpressRouteCrossConnectionsOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import ExpressRouteCrossConnectionsOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import ExpressRouteCrossConnectionsOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import ExpressRouteCrossConnectionsOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import ExpressRouteCrossConnectionsOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import ExpressRouteCrossConnectionsOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import ExpressRouteCrossConnectionsOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import ExpressRouteCrossConnectionsOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import ExpressRouteCrossConnectionsOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import ExpressRouteCrossConnectionsOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import ExpressRouteCrossConnectionsOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import ExpressRouteCrossConnectionsOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import ExpressRouteCrossConnectionsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def express_route_gateways(self): - """Instance depends on the API version: - - * 2018-08-01: :class:`ExpressRouteGatewaysOperations` - * 2018-10-01: :class:`ExpressRouteGatewaysOperations` - * 2018-11-01: :class:`ExpressRouteGatewaysOperations` - * 2018-12-01: :class:`ExpressRouteGatewaysOperations` - * 2019-02-01: :class:`ExpressRouteGatewaysOperations` - * 2019-04-01: :class:`ExpressRouteGatewaysOperations` - * 2019-06-01: :class:`ExpressRouteGatewaysOperations` - * 2019-07-01: :class:`ExpressRouteGatewaysOperations` - * 2019-08-01: :class:`ExpressRouteGatewaysOperations` - * 2019-09-01: :class:`ExpressRouteGatewaysOperations` - """ - api_version = self._get_api_version('express_route_gateways') - if api_version == '2018-08-01': - from .v2018_08_01.operations import ExpressRouteGatewaysOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import ExpressRouteGatewaysOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import ExpressRouteGatewaysOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import ExpressRouteGatewaysOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import ExpressRouteGatewaysOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import ExpressRouteGatewaysOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import ExpressRouteGatewaysOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import ExpressRouteGatewaysOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import ExpressRouteGatewaysOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import ExpressRouteGatewaysOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def express_route_links(self): - """Instance depends on the API version: - - * 2018-08-01: :class:`ExpressRouteLinksOperations` - * 2018-10-01: :class:`ExpressRouteLinksOperations` - * 2018-11-01: :class:`ExpressRouteLinksOperations` - * 2018-12-01: :class:`ExpressRouteLinksOperations` - * 2019-02-01: :class:`ExpressRouteLinksOperations` - * 2019-04-01: :class:`ExpressRouteLinksOperations` - * 2019-06-01: :class:`ExpressRouteLinksOperations` - * 2019-07-01: :class:`ExpressRouteLinksOperations` - * 2019-08-01: :class:`ExpressRouteLinksOperations` - * 2019-09-01: :class:`ExpressRouteLinksOperations` - """ - api_version = self._get_api_version('express_route_links') - if api_version == '2018-08-01': - from .v2018_08_01.operations import ExpressRouteLinksOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import ExpressRouteLinksOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import ExpressRouteLinksOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import ExpressRouteLinksOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import ExpressRouteLinksOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import ExpressRouteLinksOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import ExpressRouteLinksOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import ExpressRouteLinksOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import ExpressRouteLinksOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import ExpressRouteLinksOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def express_route_ports(self): - """Instance depends on the API version: - - * 2018-08-01: :class:`ExpressRoutePortsOperations` - * 2018-10-01: :class:`ExpressRoutePortsOperations` - * 2018-11-01: :class:`ExpressRoutePortsOperations` - * 2018-12-01: :class:`ExpressRoutePortsOperations` - * 2019-02-01: :class:`ExpressRoutePortsOperations` - * 2019-04-01: :class:`ExpressRoutePortsOperations` - * 2019-06-01: :class:`ExpressRoutePortsOperations` - * 2019-07-01: :class:`ExpressRoutePortsOperations` - * 2019-08-01: :class:`ExpressRoutePortsOperations` - * 2019-09-01: :class:`ExpressRoutePortsOperations` - """ - api_version = self._get_api_version('express_route_ports') - if api_version == '2018-08-01': - from .v2018_08_01.operations import ExpressRoutePortsOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import ExpressRoutePortsOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import ExpressRoutePortsOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import ExpressRoutePortsOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import ExpressRoutePortsOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import ExpressRoutePortsOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import ExpressRoutePortsOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import ExpressRoutePortsOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import ExpressRoutePortsOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import ExpressRoutePortsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def express_route_ports_locations(self): - """Instance depends on the API version: - - * 2018-08-01: :class:`ExpressRoutePortsLocationsOperations` - * 2018-10-01: :class:`ExpressRoutePortsLocationsOperations` - * 2018-11-01: :class:`ExpressRoutePortsLocationsOperations` - * 2018-12-01: :class:`ExpressRoutePortsLocationsOperations` - * 2019-02-01: :class:`ExpressRoutePortsLocationsOperations` - * 2019-04-01: :class:`ExpressRoutePortsLocationsOperations` - * 2019-06-01: :class:`ExpressRoutePortsLocationsOperations` - * 2019-07-01: :class:`ExpressRoutePortsLocationsOperations` - * 2019-08-01: :class:`ExpressRoutePortsLocationsOperations` - * 2019-09-01: :class:`ExpressRoutePortsLocationsOperations` - """ - api_version = self._get_api_version('express_route_ports_locations') - if api_version == '2018-08-01': - from .v2018_08_01.operations import ExpressRoutePortsLocationsOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import ExpressRoutePortsLocationsOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import ExpressRoutePortsLocationsOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import ExpressRoutePortsLocationsOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import ExpressRoutePortsLocationsOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import ExpressRoutePortsLocationsOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import ExpressRoutePortsLocationsOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import ExpressRoutePortsLocationsOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import ExpressRoutePortsLocationsOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import ExpressRoutePortsLocationsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def express_route_service_providers(self): - """Instance depends on the API version: - - * 2015-06-15: :class:`ExpressRouteServiceProvidersOperations` - * 2016-09-01: :class:`ExpressRouteServiceProvidersOperations` - * 2016-12-01: :class:`ExpressRouteServiceProvidersOperations` - * 2017-03-01: :class:`ExpressRouteServiceProvidersOperations` - * 2017-06-01: :class:`ExpressRouteServiceProvidersOperations` - * 2017-08-01: :class:`ExpressRouteServiceProvidersOperations` - * 2017-09-01: :class:`ExpressRouteServiceProvidersOperations` - * 2017-10-01: :class:`ExpressRouteServiceProvidersOperations` - * 2017-11-01: :class:`ExpressRouteServiceProvidersOperations` - * 2018-01-01: :class:`ExpressRouteServiceProvidersOperations` - * 2018-02-01: :class:`ExpressRouteServiceProvidersOperations` - * 2018-04-01: :class:`ExpressRouteServiceProvidersOperations` - * 2018-06-01: :class:`ExpressRouteServiceProvidersOperations` - * 2018-07-01: :class:`ExpressRouteServiceProvidersOperations` - * 2018-08-01: :class:`ExpressRouteServiceProvidersOperations` - * 2018-10-01: :class:`ExpressRouteServiceProvidersOperations` - * 2018-11-01: :class:`ExpressRouteServiceProvidersOperations` - * 2018-12-01: :class:`ExpressRouteServiceProvidersOperations` - * 2019-02-01: :class:`ExpressRouteServiceProvidersOperations` - * 2019-04-01: :class:`ExpressRouteServiceProvidersOperations` - * 2019-06-01: :class:`ExpressRouteServiceProvidersOperations` - * 2019-07-01: :class:`ExpressRouteServiceProvidersOperations` - * 2019-08-01: :class:`ExpressRouteServiceProvidersOperations` - * 2019-09-01: :class:`ExpressRouteServiceProvidersOperations` - """ - api_version = self._get_api_version('express_route_service_providers') - if api_version == '2015-06-15': - from .v2015_06_15.operations import ExpressRouteServiceProvidersOperations as OperationClass - elif api_version == '2016-09-01': - from .v2016_09_01.operations import ExpressRouteServiceProvidersOperations as OperationClass - elif api_version == '2016-12-01': - from .v2016_12_01.operations import ExpressRouteServiceProvidersOperations as OperationClass - elif api_version == '2017-03-01': - from .v2017_03_01.operations import ExpressRouteServiceProvidersOperations as OperationClass - elif api_version == '2017-06-01': - from .v2017_06_01.operations import ExpressRouteServiceProvidersOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import ExpressRouteServiceProvidersOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import ExpressRouteServiceProvidersOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import ExpressRouteServiceProvidersOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import ExpressRouteServiceProvidersOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import ExpressRouteServiceProvidersOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import ExpressRouteServiceProvidersOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import ExpressRouteServiceProvidersOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import ExpressRouteServiceProvidersOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import ExpressRouteServiceProvidersOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import ExpressRouteServiceProvidersOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import ExpressRouteServiceProvidersOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import ExpressRouteServiceProvidersOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import ExpressRouteServiceProvidersOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import ExpressRouteServiceProvidersOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import ExpressRouteServiceProvidersOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import ExpressRouteServiceProvidersOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import ExpressRouteServiceProvidersOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import ExpressRouteServiceProvidersOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import ExpressRouteServiceProvidersOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def firewall_policies(self): - """Instance depends on the API version: - - * 2019-06-01: :class:`FirewallPoliciesOperations` - * 2019-07-01: :class:`FirewallPoliciesOperations` - * 2019-08-01: :class:`FirewallPoliciesOperations` - * 2019-09-01: :class:`FirewallPoliciesOperations` - """ - api_version = self._get_api_version('firewall_policies') - if api_version == '2019-06-01': - from .v2019_06_01.operations import FirewallPoliciesOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import FirewallPoliciesOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import FirewallPoliciesOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import FirewallPoliciesOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def firewall_policy_rule_groups(self): - """Instance depends on the API version: - - * 2019-06-01: :class:`FirewallPolicyRuleGroupsOperations` - * 2019-07-01: :class:`FirewallPolicyRuleGroupsOperations` - * 2019-08-01: :class:`FirewallPolicyRuleGroupsOperations` - * 2019-09-01: :class:`FirewallPolicyRuleGroupsOperations` - """ - api_version = self._get_api_version('firewall_policy_rule_groups') - if api_version == '2019-06-01': - from .v2019_06_01.operations import FirewallPolicyRuleGroupsOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import FirewallPolicyRuleGroupsOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import FirewallPolicyRuleGroupsOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import FirewallPolicyRuleGroupsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def hub_virtual_network_connections(self): - """Instance depends on the API version: - - * 2018-04-01: :class:`HubVirtualNetworkConnectionsOperations` - * 2018-06-01: :class:`HubVirtualNetworkConnectionsOperations` - * 2018-07-01: :class:`HubVirtualNetworkConnectionsOperations` - * 2018-08-01: :class:`HubVirtualNetworkConnectionsOperations` - * 2018-10-01: :class:`HubVirtualNetworkConnectionsOperations` - * 2018-11-01: :class:`HubVirtualNetworkConnectionsOperations` - * 2018-12-01: :class:`HubVirtualNetworkConnectionsOperations` - * 2019-02-01: :class:`HubVirtualNetworkConnectionsOperations` - * 2019-04-01: :class:`HubVirtualNetworkConnectionsOperations` - * 2019-06-01: :class:`HubVirtualNetworkConnectionsOperations` - * 2019-07-01: :class:`HubVirtualNetworkConnectionsOperations` - * 2019-08-01: :class:`HubVirtualNetworkConnectionsOperations` - * 2019-09-01: :class:`HubVirtualNetworkConnectionsOperations` - """ - api_version = self._get_api_version('hub_virtual_network_connections') - if api_version == '2018-04-01': - from .v2018_04_01.operations import HubVirtualNetworkConnectionsOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import HubVirtualNetworkConnectionsOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import HubVirtualNetworkConnectionsOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import HubVirtualNetworkConnectionsOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import HubVirtualNetworkConnectionsOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import HubVirtualNetworkConnectionsOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import HubVirtualNetworkConnectionsOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import HubVirtualNetworkConnectionsOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import HubVirtualNetworkConnectionsOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import HubVirtualNetworkConnectionsOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import HubVirtualNetworkConnectionsOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import HubVirtualNetworkConnectionsOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import HubVirtualNetworkConnectionsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def inbound_nat_rules(self): - """Instance depends on the API version: - - * 2017-06-01: :class:`InboundNatRulesOperations` - * 2017-08-01: :class:`InboundNatRulesOperations` - * 2017-09-01: :class:`InboundNatRulesOperations` - * 2017-10-01: :class:`InboundNatRulesOperations` - * 2017-11-01: :class:`InboundNatRulesOperations` - * 2018-01-01: :class:`InboundNatRulesOperations` - * 2018-02-01: :class:`InboundNatRulesOperations` - * 2018-04-01: :class:`InboundNatRulesOperations` - * 2018-06-01: :class:`InboundNatRulesOperations` - * 2018-07-01: :class:`InboundNatRulesOperations` - * 2018-08-01: :class:`InboundNatRulesOperations` - * 2018-10-01: :class:`InboundNatRulesOperations` - * 2018-11-01: :class:`InboundNatRulesOperations` - * 2018-12-01: :class:`InboundNatRulesOperations` - * 2019-02-01: :class:`InboundNatRulesOperations` - * 2019-04-01: :class:`InboundNatRulesOperations` - * 2019-06-01: :class:`InboundNatRulesOperations` - * 2019-07-01: :class:`InboundNatRulesOperations` - * 2019-08-01: :class:`InboundNatRulesOperations` - * 2019-09-01: :class:`InboundNatRulesOperations` - """ - api_version = self._get_api_version('inbound_nat_rules') - if api_version == '2017-06-01': - from .v2017_06_01.operations import InboundNatRulesOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import InboundNatRulesOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import InboundNatRulesOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import InboundNatRulesOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import InboundNatRulesOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import InboundNatRulesOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import InboundNatRulesOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import InboundNatRulesOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import InboundNatRulesOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import InboundNatRulesOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import InboundNatRulesOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import InboundNatRulesOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import InboundNatRulesOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import InboundNatRulesOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import InboundNatRulesOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import InboundNatRulesOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import InboundNatRulesOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import InboundNatRulesOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import InboundNatRulesOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import InboundNatRulesOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def interface_endpoints(self): - """Instance depends on the API version: - - * 2018-08-01: :class:`InterfaceEndpointsOperations` - * 2018-10-01: :class:`InterfaceEndpointsOperations` - * 2018-11-01: :class:`InterfaceEndpointsOperations` - * 2018-12-01: :class:`InterfaceEndpointsOperations` - * 2019-02-01: :class:`InterfaceEndpointsOperations` - """ - api_version = self._get_api_version('interface_endpoints') - if api_version == '2018-08-01': - from .v2018_08_01.operations import InterfaceEndpointsOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import InterfaceEndpointsOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import InterfaceEndpointsOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import InterfaceEndpointsOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import InterfaceEndpointsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def ip_groups(self): - """Instance depends on the API version: - - * 2019-09-01: :class:`IpGroupsOperations` - """ - api_version = self._get_api_version('ip_groups') - if api_version == '2019-09-01': - from .v2019_09_01.operations import IpGroupsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def load_balancer_backend_address_pools(self): - """Instance depends on the API version: - - * 2017-06-01: :class:`LoadBalancerBackendAddressPoolsOperations` - * 2017-08-01: :class:`LoadBalancerBackendAddressPoolsOperations` - * 2017-09-01: :class:`LoadBalancerBackendAddressPoolsOperations` - * 2017-10-01: :class:`LoadBalancerBackendAddressPoolsOperations` - * 2017-11-01: :class:`LoadBalancerBackendAddressPoolsOperations` - * 2018-01-01: :class:`LoadBalancerBackendAddressPoolsOperations` - * 2018-02-01: :class:`LoadBalancerBackendAddressPoolsOperations` - * 2018-04-01: :class:`LoadBalancerBackendAddressPoolsOperations` - * 2018-06-01: :class:`LoadBalancerBackendAddressPoolsOperations` - * 2018-07-01: :class:`LoadBalancerBackendAddressPoolsOperations` - * 2018-08-01: :class:`LoadBalancerBackendAddressPoolsOperations` - * 2018-10-01: :class:`LoadBalancerBackendAddressPoolsOperations` - * 2018-11-01: :class:`LoadBalancerBackendAddressPoolsOperations` - * 2018-12-01: :class:`LoadBalancerBackendAddressPoolsOperations` - * 2019-02-01: :class:`LoadBalancerBackendAddressPoolsOperations` - * 2019-04-01: :class:`LoadBalancerBackendAddressPoolsOperations` - * 2019-06-01: :class:`LoadBalancerBackendAddressPoolsOperations` - * 2019-07-01: :class:`LoadBalancerBackendAddressPoolsOperations` - * 2019-08-01: :class:`LoadBalancerBackendAddressPoolsOperations` - * 2019-09-01: :class:`LoadBalancerBackendAddressPoolsOperations` - """ - api_version = self._get_api_version('load_balancer_backend_address_pools') - if api_version == '2017-06-01': - from .v2017_06_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def load_balancer_frontend_ip_configurations(self): - """Instance depends on the API version: - - * 2017-06-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` - * 2017-08-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` - * 2017-09-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` - * 2017-10-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` - * 2017-11-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` - * 2018-01-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` - * 2018-02-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` - * 2018-04-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` - * 2018-06-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` - * 2018-07-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` - * 2018-08-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` - * 2018-10-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` - * 2018-11-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` - * 2018-12-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` - * 2019-02-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` - * 2019-04-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` - * 2019-06-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` - * 2019-07-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` - * 2019-08-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` - * 2019-09-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` - """ - api_version = self._get_api_version('load_balancer_frontend_ip_configurations') - if api_version == '2017-06-01': - from .v2017_06_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def load_balancer_load_balancing_rules(self): - """Instance depends on the API version: - - * 2017-06-01: :class:`LoadBalancerLoadBalancingRulesOperations` - * 2017-08-01: :class:`LoadBalancerLoadBalancingRulesOperations` - * 2017-09-01: :class:`LoadBalancerLoadBalancingRulesOperations` - * 2017-10-01: :class:`LoadBalancerLoadBalancingRulesOperations` - * 2017-11-01: :class:`LoadBalancerLoadBalancingRulesOperations` - * 2018-01-01: :class:`LoadBalancerLoadBalancingRulesOperations` - * 2018-02-01: :class:`LoadBalancerLoadBalancingRulesOperations` - * 2018-04-01: :class:`LoadBalancerLoadBalancingRulesOperations` - * 2018-06-01: :class:`LoadBalancerLoadBalancingRulesOperations` - * 2018-07-01: :class:`LoadBalancerLoadBalancingRulesOperations` - * 2018-08-01: :class:`LoadBalancerLoadBalancingRulesOperations` - * 2018-10-01: :class:`LoadBalancerLoadBalancingRulesOperations` - * 2018-11-01: :class:`LoadBalancerLoadBalancingRulesOperations` - * 2018-12-01: :class:`LoadBalancerLoadBalancingRulesOperations` - * 2019-02-01: :class:`LoadBalancerLoadBalancingRulesOperations` - * 2019-04-01: :class:`LoadBalancerLoadBalancingRulesOperations` - * 2019-06-01: :class:`LoadBalancerLoadBalancingRulesOperations` - * 2019-07-01: :class:`LoadBalancerLoadBalancingRulesOperations` - * 2019-08-01: :class:`LoadBalancerLoadBalancingRulesOperations` - * 2019-09-01: :class:`LoadBalancerLoadBalancingRulesOperations` - """ - api_version = self._get_api_version('load_balancer_load_balancing_rules') - if api_version == '2017-06-01': - from .v2017_06_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def load_balancer_network_interfaces(self): - """Instance depends on the API version: - - * 2017-06-01: :class:`LoadBalancerNetworkInterfacesOperations` - * 2017-08-01: :class:`LoadBalancerNetworkInterfacesOperations` - * 2017-09-01: :class:`LoadBalancerNetworkInterfacesOperations` - * 2017-10-01: :class:`LoadBalancerNetworkInterfacesOperations` - * 2017-11-01: :class:`LoadBalancerNetworkInterfacesOperations` - * 2018-01-01: :class:`LoadBalancerNetworkInterfacesOperations` - * 2018-02-01: :class:`LoadBalancerNetworkInterfacesOperations` - * 2018-04-01: :class:`LoadBalancerNetworkInterfacesOperations` - * 2018-06-01: :class:`LoadBalancerNetworkInterfacesOperations` - * 2018-07-01: :class:`LoadBalancerNetworkInterfacesOperations` - * 2018-08-01: :class:`LoadBalancerNetworkInterfacesOperations` - * 2018-10-01: :class:`LoadBalancerNetworkInterfacesOperations` - * 2018-11-01: :class:`LoadBalancerNetworkInterfacesOperations` - * 2018-12-01: :class:`LoadBalancerNetworkInterfacesOperations` - * 2019-02-01: :class:`LoadBalancerNetworkInterfacesOperations` - * 2019-04-01: :class:`LoadBalancerNetworkInterfacesOperations` - * 2019-06-01: :class:`LoadBalancerNetworkInterfacesOperations` - * 2019-07-01: :class:`LoadBalancerNetworkInterfacesOperations` - * 2019-08-01: :class:`LoadBalancerNetworkInterfacesOperations` - * 2019-09-01: :class:`LoadBalancerNetworkInterfacesOperations` - """ - api_version = self._get_api_version('load_balancer_network_interfaces') - if api_version == '2017-06-01': - from .v2017_06_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def load_balancer_outbound_rules(self): - """Instance depends on the API version: - - * 2018-08-01: :class:`LoadBalancerOutboundRulesOperations` - * 2018-10-01: :class:`LoadBalancerOutboundRulesOperations` - * 2018-11-01: :class:`LoadBalancerOutboundRulesOperations` - * 2018-12-01: :class:`LoadBalancerOutboundRulesOperations` - * 2019-02-01: :class:`LoadBalancerOutboundRulesOperations` - * 2019-04-01: :class:`LoadBalancerOutboundRulesOperations` - * 2019-06-01: :class:`LoadBalancerOutboundRulesOperations` - * 2019-07-01: :class:`LoadBalancerOutboundRulesOperations` - * 2019-08-01: :class:`LoadBalancerOutboundRulesOperations` - * 2019-09-01: :class:`LoadBalancerOutboundRulesOperations` - """ - api_version = self._get_api_version('load_balancer_outbound_rules') - if api_version == '2018-08-01': - from .v2018_08_01.operations import LoadBalancerOutboundRulesOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import LoadBalancerOutboundRulesOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import LoadBalancerOutboundRulesOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import LoadBalancerOutboundRulesOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import LoadBalancerOutboundRulesOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import LoadBalancerOutboundRulesOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import LoadBalancerOutboundRulesOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import LoadBalancerOutboundRulesOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import LoadBalancerOutboundRulesOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import LoadBalancerOutboundRulesOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def load_balancer_probes(self): - """Instance depends on the API version: - - * 2017-06-01: :class:`LoadBalancerProbesOperations` - * 2017-08-01: :class:`LoadBalancerProbesOperations` - * 2017-09-01: :class:`LoadBalancerProbesOperations` - * 2017-10-01: :class:`LoadBalancerProbesOperations` - * 2017-11-01: :class:`LoadBalancerProbesOperations` - * 2018-01-01: :class:`LoadBalancerProbesOperations` - * 2018-02-01: :class:`LoadBalancerProbesOperations` - * 2018-04-01: :class:`LoadBalancerProbesOperations` - * 2018-06-01: :class:`LoadBalancerProbesOperations` - * 2018-07-01: :class:`LoadBalancerProbesOperations` - * 2018-08-01: :class:`LoadBalancerProbesOperations` - * 2018-10-01: :class:`LoadBalancerProbesOperations` - * 2018-11-01: :class:`LoadBalancerProbesOperations` - * 2018-12-01: :class:`LoadBalancerProbesOperations` - * 2019-02-01: :class:`LoadBalancerProbesOperations` - * 2019-04-01: :class:`LoadBalancerProbesOperations` - * 2019-06-01: :class:`LoadBalancerProbesOperations` - * 2019-07-01: :class:`LoadBalancerProbesOperations` - * 2019-08-01: :class:`LoadBalancerProbesOperations` - * 2019-09-01: :class:`LoadBalancerProbesOperations` - """ - api_version = self._get_api_version('load_balancer_probes') - if api_version == '2017-06-01': - from .v2017_06_01.operations import LoadBalancerProbesOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import LoadBalancerProbesOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import LoadBalancerProbesOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import LoadBalancerProbesOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import LoadBalancerProbesOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import LoadBalancerProbesOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import LoadBalancerProbesOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import LoadBalancerProbesOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import LoadBalancerProbesOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import LoadBalancerProbesOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import LoadBalancerProbesOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import LoadBalancerProbesOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import LoadBalancerProbesOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import LoadBalancerProbesOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import LoadBalancerProbesOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import LoadBalancerProbesOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import LoadBalancerProbesOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import LoadBalancerProbesOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import LoadBalancerProbesOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import LoadBalancerProbesOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def load_balancers(self): - """Instance depends on the API version: - - * 2015-06-15: :class:`LoadBalancersOperations` - * 2016-09-01: :class:`LoadBalancersOperations` - * 2016-12-01: :class:`LoadBalancersOperations` - * 2017-03-01: :class:`LoadBalancersOperations` - * 2017-06-01: :class:`LoadBalancersOperations` - * 2017-08-01: :class:`LoadBalancersOperations` - * 2017-09-01: :class:`LoadBalancersOperations` - * 2017-10-01: :class:`LoadBalancersOperations` - * 2017-11-01: :class:`LoadBalancersOperations` - * 2018-01-01: :class:`LoadBalancersOperations` - * 2018-02-01: :class:`LoadBalancersOperations` - * 2018-04-01: :class:`LoadBalancersOperations` - * 2018-06-01: :class:`LoadBalancersOperations` - * 2018-07-01: :class:`LoadBalancersOperations` - * 2018-08-01: :class:`LoadBalancersOperations` - * 2018-10-01: :class:`LoadBalancersOperations` - * 2018-11-01: :class:`LoadBalancersOperations` - * 2018-12-01: :class:`LoadBalancersOperations` - * 2019-02-01: :class:`LoadBalancersOperations` - * 2019-04-01: :class:`LoadBalancersOperations` - * 2019-06-01: :class:`LoadBalancersOperations` - * 2019-07-01: :class:`LoadBalancersOperations` - * 2019-08-01: :class:`LoadBalancersOperations` - * 2019-09-01: :class:`LoadBalancersOperations` - """ - api_version = self._get_api_version('load_balancers') - if api_version == '2015-06-15': - from .v2015_06_15.operations import LoadBalancersOperations as OperationClass - elif api_version == '2016-09-01': - from .v2016_09_01.operations import LoadBalancersOperations as OperationClass - elif api_version == '2016-12-01': - from .v2016_12_01.operations import LoadBalancersOperations as OperationClass - elif api_version == '2017-03-01': - from .v2017_03_01.operations import LoadBalancersOperations as OperationClass - elif api_version == '2017-06-01': - from .v2017_06_01.operations import LoadBalancersOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import LoadBalancersOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import LoadBalancersOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import LoadBalancersOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import LoadBalancersOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import LoadBalancersOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import LoadBalancersOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import LoadBalancersOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import LoadBalancersOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import LoadBalancersOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import LoadBalancersOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import LoadBalancersOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import LoadBalancersOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import LoadBalancersOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import LoadBalancersOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import LoadBalancersOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import LoadBalancersOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import LoadBalancersOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import LoadBalancersOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import LoadBalancersOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def local_network_gateways(self): - """Instance depends on the API version: - - * 2015-06-15: :class:`LocalNetworkGatewaysOperations` - * 2016-09-01: :class:`LocalNetworkGatewaysOperations` - * 2016-12-01: :class:`LocalNetworkGatewaysOperations` - * 2017-03-01: :class:`LocalNetworkGatewaysOperations` - * 2017-06-01: :class:`LocalNetworkGatewaysOperations` - * 2017-08-01: :class:`LocalNetworkGatewaysOperations` - * 2017-09-01: :class:`LocalNetworkGatewaysOperations` - * 2017-10-01: :class:`LocalNetworkGatewaysOperations` - * 2017-11-01: :class:`LocalNetworkGatewaysOperations` - * 2018-01-01: :class:`LocalNetworkGatewaysOperations` - * 2018-02-01: :class:`LocalNetworkGatewaysOperations` - * 2018-04-01: :class:`LocalNetworkGatewaysOperations` - * 2018-06-01: :class:`LocalNetworkGatewaysOperations` - * 2018-07-01: :class:`LocalNetworkGatewaysOperations` - * 2018-08-01: :class:`LocalNetworkGatewaysOperations` - * 2018-10-01: :class:`LocalNetworkGatewaysOperations` - * 2018-11-01: :class:`LocalNetworkGatewaysOperations` - * 2018-12-01: :class:`LocalNetworkGatewaysOperations` - * 2019-02-01: :class:`LocalNetworkGatewaysOperations` - * 2019-04-01: :class:`LocalNetworkGatewaysOperations` - * 2019-06-01: :class:`LocalNetworkGatewaysOperations` - * 2019-07-01: :class:`LocalNetworkGatewaysOperations` - * 2019-08-01: :class:`LocalNetworkGatewaysOperations` - * 2019-09-01: :class:`LocalNetworkGatewaysOperations` - """ - api_version = self._get_api_version('local_network_gateways') - if api_version == '2015-06-15': - from .v2015_06_15.operations import LocalNetworkGatewaysOperations as OperationClass - elif api_version == '2016-09-01': - from .v2016_09_01.operations import LocalNetworkGatewaysOperations as OperationClass - elif api_version == '2016-12-01': - from .v2016_12_01.operations import LocalNetworkGatewaysOperations as OperationClass - elif api_version == '2017-03-01': - from .v2017_03_01.operations import LocalNetworkGatewaysOperations as OperationClass - elif api_version == '2017-06-01': - from .v2017_06_01.operations import LocalNetworkGatewaysOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import LocalNetworkGatewaysOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import LocalNetworkGatewaysOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import LocalNetworkGatewaysOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import LocalNetworkGatewaysOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import LocalNetworkGatewaysOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import LocalNetworkGatewaysOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import LocalNetworkGatewaysOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import LocalNetworkGatewaysOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import LocalNetworkGatewaysOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import LocalNetworkGatewaysOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import LocalNetworkGatewaysOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import LocalNetworkGatewaysOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import LocalNetworkGatewaysOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import LocalNetworkGatewaysOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import LocalNetworkGatewaysOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import LocalNetworkGatewaysOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import LocalNetworkGatewaysOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import LocalNetworkGatewaysOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import LocalNetworkGatewaysOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def nat_gateways(self): - """Instance depends on the API version: - - * 2019-02-01: :class:`NatGatewaysOperations` - * 2019-04-01: :class:`NatGatewaysOperations` - * 2019-06-01: :class:`NatGatewaysOperations` - * 2019-07-01: :class:`NatGatewaysOperations` - * 2019-08-01: :class:`NatGatewaysOperations` - * 2019-09-01: :class:`NatGatewaysOperations` - """ - api_version = self._get_api_version('nat_gateways') - if api_version == '2019-02-01': - from .v2019_02_01.operations import NatGatewaysOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import NatGatewaysOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import NatGatewaysOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import NatGatewaysOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import NatGatewaysOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import NatGatewaysOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def network_interface_ip_configurations(self): - """Instance depends on the API version: - - * 2017-06-01: :class:`NetworkInterfaceIPConfigurationsOperations` - * 2017-08-01: :class:`NetworkInterfaceIPConfigurationsOperations` - * 2017-09-01: :class:`NetworkInterfaceIPConfigurationsOperations` - * 2017-10-01: :class:`NetworkInterfaceIPConfigurationsOperations` - * 2017-11-01: :class:`NetworkInterfaceIPConfigurationsOperations` - * 2018-01-01: :class:`NetworkInterfaceIPConfigurationsOperations` - * 2018-02-01: :class:`NetworkInterfaceIPConfigurationsOperations` - * 2018-04-01: :class:`NetworkInterfaceIPConfigurationsOperations` - * 2018-06-01: :class:`NetworkInterfaceIPConfigurationsOperations` - * 2018-07-01: :class:`NetworkInterfaceIPConfigurationsOperations` - * 2018-08-01: :class:`NetworkInterfaceIPConfigurationsOperations` - * 2018-10-01: :class:`NetworkInterfaceIPConfigurationsOperations` - * 2018-11-01: :class:`NetworkInterfaceIPConfigurationsOperations` - * 2018-12-01: :class:`NetworkInterfaceIPConfigurationsOperations` - * 2019-02-01: :class:`NetworkInterfaceIPConfigurationsOperations` - * 2019-04-01: :class:`NetworkInterfaceIPConfigurationsOperations` - * 2019-06-01: :class:`NetworkInterfaceIPConfigurationsOperations` - * 2019-07-01: :class:`NetworkInterfaceIPConfigurationsOperations` - * 2019-08-01: :class:`NetworkInterfaceIPConfigurationsOperations` - * 2019-09-01: :class:`NetworkInterfaceIPConfigurationsOperations` - """ - api_version = self._get_api_version('network_interface_ip_configurations') - if api_version == '2017-06-01': - from .v2017_06_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def network_interface_load_balancers(self): - """Instance depends on the API version: - - * 2017-06-01: :class:`NetworkInterfaceLoadBalancersOperations` - * 2017-08-01: :class:`NetworkInterfaceLoadBalancersOperations` - * 2017-09-01: :class:`NetworkInterfaceLoadBalancersOperations` - * 2017-10-01: :class:`NetworkInterfaceLoadBalancersOperations` - * 2017-11-01: :class:`NetworkInterfaceLoadBalancersOperations` - * 2018-01-01: :class:`NetworkInterfaceLoadBalancersOperations` - * 2018-02-01: :class:`NetworkInterfaceLoadBalancersOperations` - * 2018-04-01: :class:`NetworkInterfaceLoadBalancersOperations` - * 2018-06-01: :class:`NetworkInterfaceLoadBalancersOperations` - * 2018-07-01: :class:`NetworkInterfaceLoadBalancersOperations` - * 2018-08-01: :class:`NetworkInterfaceLoadBalancersOperations` - * 2018-10-01: :class:`NetworkInterfaceLoadBalancersOperations` - * 2018-11-01: :class:`NetworkInterfaceLoadBalancersOperations` - * 2018-12-01: :class:`NetworkInterfaceLoadBalancersOperations` - * 2019-02-01: :class:`NetworkInterfaceLoadBalancersOperations` - * 2019-04-01: :class:`NetworkInterfaceLoadBalancersOperations` - * 2019-06-01: :class:`NetworkInterfaceLoadBalancersOperations` - * 2019-07-01: :class:`NetworkInterfaceLoadBalancersOperations` - * 2019-08-01: :class:`NetworkInterfaceLoadBalancersOperations` - * 2019-09-01: :class:`NetworkInterfaceLoadBalancersOperations` - """ - api_version = self._get_api_version('network_interface_load_balancers') - if api_version == '2017-06-01': - from .v2017_06_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def network_interface_tap_configurations(self): - """Instance depends on the API version: - - * 2018-08-01: :class:`NetworkInterfaceTapConfigurationsOperations` - * 2018-10-01: :class:`NetworkInterfaceTapConfigurationsOperations` - * 2018-11-01: :class:`NetworkInterfaceTapConfigurationsOperations` - * 2018-12-01: :class:`NetworkInterfaceTapConfigurationsOperations` - * 2019-02-01: :class:`NetworkInterfaceTapConfigurationsOperations` - * 2019-04-01: :class:`NetworkInterfaceTapConfigurationsOperations` - * 2019-06-01: :class:`NetworkInterfaceTapConfigurationsOperations` - * 2019-07-01: :class:`NetworkInterfaceTapConfigurationsOperations` - * 2019-08-01: :class:`NetworkInterfaceTapConfigurationsOperations` - * 2019-09-01: :class:`NetworkInterfaceTapConfigurationsOperations` - """ - api_version = self._get_api_version('network_interface_tap_configurations') - if api_version == '2018-08-01': - from .v2018_08_01.operations import NetworkInterfaceTapConfigurationsOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import NetworkInterfaceTapConfigurationsOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import NetworkInterfaceTapConfigurationsOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import NetworkInterfaceTapConfigurationsOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import NetworkInterfaceTapConfigurationsOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import NetworkInterfaceTapConfigurationsOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import NetworkInterfaceTapConfigurationsOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import NetworkInterfaceTapConfigurationsOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import NetworkInterfaceTapConfigurationsOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import NetworkInterfaceTapConfigurationsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def network_interfaces(self): - """Instance depends on the API version: - - * 2015-06-15: :class:`NetworkInterfacesOperations` - * 2016-09-01: :class:`NetworkInterfacesOperations` - * 2016-12-01: :class:`NetworkInterfacesOperations` - * 2017-03-01: :class:`NetworkInterfacesOperations` - * 2017-06-01: :class:`NetworkInterfacesOperations` - * 2017-08-01: :class:`NetworkInterfacesOperations` - * 2017-09-01: :class:`NetworkInterfacesOperations` - * 2017-10-01: :class:`NetworkInterfacesOperations` - * 2017-11-01: :class:`NetworkInterfacesOperations` - * 2018-01-01: :class:`NetworkInterfacesOperations` - * 2018-02-01: :class:`NetworkInterfacesOperations` - * 2018-04-01: :class:`NetworkInterfacesOperations` - * 2018-06-01: :class:`NetworkInterfacesOperations` - * 2018-07-01: :class:`NetworkInterfacesOperations` - * 2018-08-01: :class:`NetworkInterfacesOperations` - * 2018-10-01: :class:`NetworkInterfacesOperations` - * 2018-11-01: :class:`NetworkInterfacesOperations` - * 2018-12-01: :class:`NetworkInterfacesOperations` - * 2019-02-01: :class:`NetworkInterfacesOperations` - * 2019-04-01: :class:`NetworkInterfacesOperations` - * 2019-06-01: :class:`NetworkInterfacesOperations` - * 2019-07-01: :class:`NetworkInterfacesOperations` - * 2019-08-01: :class:`NetworkInterfacesOperations` - * 2019-09-01: :class:`NetworkInterfacesOperations` - """ - api_version = self._get_api_version('network_interfaces') - if api_version == '2015-06-15': - from .v2015_06_15.operations import NetworkInterfacesOperations as OperationClass - elif api_version == '2016-09-01': - from .v2016_09_01.operations import NetworkInterfacesOperations as OperationClass - elif api_version == '2016-12-01': - from .v2016_12_01.operations import NetworkInterfacesOperations as OperationClass - elif api_version == '2017-03-01': - from .v2017_03_01.operations import NetworkInterfacesOperations as OperationClass - elif api_version == '2017-06-01': - from .v2017_06_01.operations import NetworkInterfacesOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import NetworkInterfacesOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import NetworkInterfacesOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import NetworkInterfacesOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import NetworkInterfacesOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import NetworkInterfacesOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import NetworkInterfacesOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import NetworkInterfacesOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import NetworkInterfacesOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import NetworkInterfacesOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import NetworkInterfacesOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import NetworkInterfacesOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import NetworkInterfacesOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import NetworkInterfacesOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import NetworkInterfacesOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import NetworkInterfacesOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import NetworkInterfacesOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import NetworkInterfacesOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import NetworkInterfacesOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import NetworkInterfacesOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def network_profiles(self): - """Instance depends on the API version: - - * 2018-08-01: :class:`NetworkProfilesOperations` - * 2018-10-01: :class:`NetworkProfilesOperations` - * 2018-11-01: :class:`NetworkProfilesOperations` - * 2018-12-01: :class:`NetworkProfilesOperations` - * 2019-02-01: :class:`NetworkProfilesOperations` - * 2019-04-01: :class:`NetworkProfilesOperations` - * 2019-06-01: :class:`NetworkProfilesOperations` - * 2019-07-01: :class:`NetworkProfilesOperations` - * 2019-08-01: :class:`NetworkProfilesOperations` - * 2019-09-01: :class:`NetworkProfilesOperations` - """ - api_version = self._get_api_version('network_profiles') - if api_version == '2018-08-01': - from .v2018_08_01.operations import NetworkProfilesOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import NetworkProfilesOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import NetworkProfilesOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import NetworkProfilesOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import NetworkProfilesOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import NetworkProfilesOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import NetworkProfilesOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import NetworkProfilesOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import NetworkProfilesOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import NetworkProfilesOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def network_security_groups(self): - """Instance depends on the API version: - - * 2015-06-15: :class:`NetworkSecurityGroupsOperations` - * 2016-09-01: :class:`NetworkSecurityGroupsOperations` - * 2016-12-01: :class:`NetworkSecurityGroupsOperations` - * 2017-03-01: :class:`NetworkSecurityGroupsOperations` - * 2017-06-01: :class:`NetworkSecurityGroupsOperations` - * 2017-08-01: :class:`NetworkSecurityGroupsOperations` - * 2017-09-01: :class:`NetworkSecurityGroupsOperations` - * 2017-10-01: :class:`NetworkSecurityGroupsOperations` - * 2017-11-01: :class:`NetworkSecurityGroupsOperations` - * 2018-01-01: :class:`NetworkSecurityGroupsOperations` - * 2018-02-01: :class:`NetworkSecurityGroupsOperations` - * 2018-04-01: :class:`NetworkSecurityGroupsOperations` - * 2018-06-01: :class:`NetworkSecurityGroupsOperations` - * 2018-07-01: :class:`NetworkSecurityGroupsOperations` - * 2018-08-01: :class:`NetworkSecurityGroupsOperations` - * 2018-10-01: :class:`NetworkSecurityGroupsOperations` - * 2018-11-01: :class:`NetworkSecurityGroupsOperations` - * 2018-12-01: :class:`NetworkSecurityGroupsOperations` - * 2019-02-01: :class:`NetworkSecurityGroupsOperations` - * 2019-04-01: :class:`NetworkSecurityGroupsOperations` - * 2019-06-01: :class:`NetworkSecurityGroupsOperations` - * 2019-07-01: :class:`NetworkSecurityGroupsOperations` - * 2019-08-01: :class:`NetworkSecurityGroupsOperations` - * 2019-09-01: :class:`NetworkSecurityGroupsOperations` - """ - api_version = self._get_api_version('network_security_groups') - if api_version == '2015-06-15': - from .v2015_06_15.operations import NetworkSecurityGroupsOperations as OperationClass - elif api_version == '2016-09-01': - from .v2016_09_01.operations import NetworkSecurityGroupsOperations as OperationClass - elif api_version == '2016-12-01': - from .v2016_12_01.operations import NetworkSecurityGroupsOperations as OperationClass - elif api_version == '2017-03-01': - from .v2017_03_01.operations import NetworkSecurityGroupsOperations as OperationClass - elif api_version == '2017-06-01': - from .v2017_06_01.operations import NetworkSecurityGroupsOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import NetworkSecurityGroupsOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import NetworkSecurityGroupsOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import NetworkSecurityGroupsOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import NetworkSecurityGroupsOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import NetworkSecurityGroupsOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import NetworkSecurityGroupsOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import NetworkSecurityGroupsOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import NetworkSecurityGroupsOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import NetworkSecurityGroupsOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import NetworkSecurityGroupsOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import NetworkSecurityGroupsOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import NetworkSecurityGroupsOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import NetworkSecurityGroupsOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import NetworkSecurityGroupsOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import NetworkSecurityGroupsOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import NetworkSecurityGroupsOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import NetworkSecurityGroupsOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import NetworkSecurityGroupsOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import NetworkSecurityGroupsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def network_watchers(self): - """Instance depends on the API version: - - * 2016-09-01: :class:`NetworkWatchersOperations` - * 2016-12-01: :class:`NetworkWatchersOperations` - * 2017-03-01: :class:`NetworkWatchersOperations` - * 2017-06-01: :class:`NetworkWatchersOperations` - * 2017-08-01: :class:`NetworkWatchersOperations` - * 2017-09-01: :class:`NetworkWatchersOperations` - * 2017-10-01: :class:`NetworkWatchersOperations` - * 2017-11-01: :class:`NetworkWatchersOperations` - * 2018-01-01: :class:`NetworkWatchersOperations` - * 2018-02-01: :class:`NetworkWatchersOperations` - * 2018-04-01: :class:`NetworkWatchersOperations` - * 2018-06-01: :class:`NetworkWatchersOperations` - * 2018-07-01: :class:`NetworkWatchersOperations` - * 2018-08-01: :class:`NetworkWatchersOperations` - * 2018-10-01: :class:`NetworkWatchersOperations` - * 2018-11-01: :class:`NetworkWatchersOperations` - * 2018-12-01: :class:`NetworkWatchersOperations` - * 2019-02-01: :class:`NetworkWatchersOperations` - * 2019-04-01: :class:`NetworkWatchersOperations` - * 2019-06-01: :class:`NetworkWatchersOperations` - * 2019-07-01: :class:`NetworkWatchersOperations` - * 2019-08-01: :class:`NetworkWatchersOperations` - * 2019-09-01: :class:`NetworkWatchersOperations` - """ - api_version = self._get_api_version('network_watchers') - if api_version == '2016-09-01': - from .v2016_09_01.operations import NetworkWatchersOperations as OperationClass - elif api_version == '2016-12-01': - from .v2016_12_01.operations import NetworkWatchersOperations as OperationClass - elif api_version == '2017-03-01': - from .v2017_03_01.operations import NetworkWatchersOperations as OperationClass - elif api_version == '2017-06-01': - from .v2017_06_01.operations import NetworkWatchersOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import NetworkWatchersOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import NetworkWatchersOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import NetworkWatchersOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import NetworkWatchersOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import NetworkWatchersOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import NetworkWatchersOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import NetworkWatchersOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import NetworkWatchersOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import NetworkWatchersOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import NetworkWatchersOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import NetworkWatchersOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import NetworkWatchersOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import NetworkWatchersOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import NetworkWatchersOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import NetworkWatchersOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import NetworkWatchersOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import NetworkWatchersOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import NetworkWatchersOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import NetworkWatchersOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def operations(self): - """Instance depends on the API version: - - * 2017-09-01: :class:`Operations` - * 2017-10-01: :class:`Operations` - * 2017-11-01: :class:`Operations` - * 2018-01-01: :class:`Operations` - * 2018-02-01: :class:`Operations` - * 2018-04-01: :class:`Operations` - * 2018-06-01: :class:`Operations` - * 2018-07-01: :class:`Operations` - * 2018-08-01: :class:`Operations` - * 2018-10-01: :class:`Operations` - * 2018-11-01: :class:`Operations` - * 2018-12-01: :class:`Operations` - * 2019-02-01: :class:`Operations` - * 2019-04-01: :class:`Operations` - * 2019-06-01: :class:`Operations` - * 2019-07-01: :class:`Operations` - * 2019-08-01: :class:`Operations` - * 2019-09-01: :class:`Operations` - """ - api_version = self._get_api_version('operations') - if api_version == '2017-09-01': - from .v2017_09_01.operations import Operations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import Operations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import Operations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import Operations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import Operations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import Operations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import Operations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import Operations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import Operations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import Operations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import Operations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import Operations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import Operations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import Operations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import Operations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import Operations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import Operations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import Operations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def p2s_vpn_gateways(self): - """Instance depends on the API version: - - * 2018-08-01: :class:`P2sVpnGatewaysOperations` - * 2018-10-01: :class:`P2sVpnGatewaysOperations` - * 2018-11-01: :class:`P2sVpnGatewaysOperations` - * 2018-12-01: :class:`P2sVpnGatewaysOperations` - * 2019-02-01: :class:`P2sVpnGatewaysOperations` - * 2019-04-01: :class:`P2sVpnGatewaysOperations` - * 2019-06-01: :class:`P2sVpnGatewaysOperations` - * 2019-07-01: :class:`P2sVpnGatewaysOperations` - * 2019-08-01: :class:`P2sVpnGatewaysOperations` - * 2019-09-01: :class:`P2sVpnGatewaysOperations` - """ - api_version = self._get_api_version('p2s_vpn_gateways') - if api_version == '2018-08-01': - from .v2018_08_01.operations import P2sVpnGatewaysOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import P2sVpnGatewaysOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import P2sVpnGatewaysOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import P2sVpnGatewaysOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import P2sVpnGatewaysOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import P2sVpnGatewaysOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import P2sVpnGatewaysOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import P2sVpnGatewaysOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import P2sVpnGatewaysOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import P2sVpnGatewaysOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def p2s_vpn_server_configurations(self): - """Instance depends on the API version: - - * 2018-08-01: :class:`P2sVpnServerConfigurationsOperations` - * 2018-10-01: :class:`P2sVpnServerConfigurationsOperations` - * 2018-11-01: :class:`P2sVpnServerConfigurationsOperations` - * 2018-12-01: :class:`P2sVpnServerConfigurationsOperations` - * 2019-02-01: :class:`P2sVpnServerConfigurationsOperations` - * 2019-04-01: :class:`P2sVpnServerConfigurationsOperations` - * 2019-06-01: :class:`P2sVpnServerConfigurationsOperations` - * 2019-07-01: :class:`P2sVpnServerConfigurationsOperations` - """ - api_version = self._get_api_version('p2s_vpn_server_configurations') - if api_version == '2018-08-01': - from .v2018_08_01.operations import P2sVpnServerConfigurationsOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import P2sVpnServerConfigurationsOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import P2sVpnServerConfigurationsOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import P2sVpnServerConfigurationsOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import P2sVpnServerConfigurationsOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import P2sVpnServerConfigurationsOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import P2sVpnServerConfigurationsOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import P2sVpnServerConfigurationsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def packet_captures(self): - """Instance depends on the API version: - - * 2016-09-01: :class:`PacketCapturesOperations` - * 2016-12-01: :class:`PacketCapturesOperations` - * 2017-03-01: :class:`PacketCapturesOperations` - * 2017-06-01: :class:`PacketCapturesOperations` - * 2017-08-01: :class:`PacketCapturesOperations` - * 2017-09-01: :class:`PacketCapturesOperations` - * 2017-10-01: :class:`PacketCapturesOperations` - * 2017-11-01: :class:`PacketCapturesOperations` - * 2018-01-01: :class:`PacketCapturesOperations` - * 2018-02-01: :class:`PacketCapturesOperations` - * 2018-04-01: :class:`PacketCapturesOperations` - * 2018-06-01: :class:`PacketCapturesOperations` - * 2018-07-01: :class:`PacketCapturesOperations` - * 2018-08-01: :class:`PacketCapturesOperations` - * 2018-10-01: :class:`PacketCapturesOperations` - * 2018-11-01: :class:`PacketCapturesOperations` - * 2018-12-01: :class:`PacketCapturesOperations` - * 2019-02-01: :class:`PacketCapturesOperations` - * 2019-04-01: :class:`PacketCapturesOperations` - * 2019-06-01: :class:`PacketCapturesOperations` - * 2019-07-01: :class:`PacketCapturesOperations` - * 2019-08-01: :class:`PacketCapturesOperations` - * 2019-09-01: :class:`PacketCapturesOperations` - """ - api_version = self._get_api_version('packet_captures') - if api_version == '2016-09-01': - from .v2016_09_01.operations import PacketCapturesOperations as OperationClass - elif api_version == '2016-12-01': - from .v2016_12_01.operations import PacketCapturesOperations as OperationClass - elif api_version == '2017-03-01': - from .v2017_03_01.operations import PacketCapturesOperations as OperationClass - elif api_version == '2017-06-01': - from .v2017_06_01.operations import PacketCapturesOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import PacketCapturesOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import PacketCapturesOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import PacketCapturesOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import PacketCapturesOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import PacketCapturesOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import PacketCapturesOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import PacketCapturesOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import PacketCapturesOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import PacketCapturesOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import PacketCapturesOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import PacketCapturesOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import PacketCapturesOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import PacketCapturesOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import PacketCapturesOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import PacketCapturesOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import PacketCapturesOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import PacketCapturesOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import PacketCapturesOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import PacketCapturesOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def peer_express_route_circuit_connections(self): - """Instance depends on the API version: - - * 2018-12-01: :class:`PeerExpressRouteCircuitConnectionsOperations` - * 2019-02-01: :class:`PeerExpressRouteCircuitConnectionsOperations` - * 2019-04-01: :class:`PeerExpressRouteCircuitConnectionsOperations` - * 2019-06-01: :class:`PeerExpressRouteCircuitConnectionsOperations` - * 2019-07-01: :class:`PeerExpressRouteCircuitConnectionsOperations` - * 2019-08-01: :class:`PeerExpressRouteCircuitConnectionsOperations` - * 2019-09-01: :class:`PeerExpressRouteCircuitConnectionsOperations` - """ - api_version = self._get_api_version('peer_express_route_circuit_connections') - if api_version == '2018-12-01': - from .v2018_12_01.operations import PeerExpressRouteCircuitConnectionsOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import PeerExpressRouteCircuitConnectionsOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import PeerExpressRouteCircuitConnectionsOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import PeerExpressRouteCircuitConnectionsOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import PeerExpressRouteCircuitConnectionsOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import PeerExpressRouteCircuitConnectionsOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import PeerExpressRouteCircuitConnectionsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def private_endpoints(self): - """Instance depends on the API version: - - * 2019-04-01: :class:`PrivateEndpointsOperations` - * 2019-06-01: :class:`PrivateEndpointsOperations` - * 2019-07-01: :class:`PrivateEndpointsOperations` - * 2019-08-01: :class:`PrivateEndpointsOperations` - * 2019-09-01: :class:`PrivateEndpointsOperations` - """ - api_version = self._get_api_version('private_endpoints') - if api_version == '2019-04-01': - from .v2019_04_01.operations import PrivateEndpointsOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import PrivateEndpointsOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import PrivateEndpointsOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import PrivateEndpointsOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import PrivateEndpointsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def private_link_services(self): - """Instance depends on the API version: - - * 2019-04-01: :class:`PrivateLinkServicesOperations` - * 2019-06-01: :class:`PrivateLinkServicesOperations` - * 2019-07-01: :class:`PrivateLinkServicesOperations` - * 2019-08-01: :class:`PrivateLinkServicesOperations` - * 2019-09-01: :class:`PrivateLinkServicesOperations` - """ - api_version = self._get_api_version('private_link_services') - if api_version == '2019-04-01': - from .v2019_04_01.operations import PrivateLinkServicesOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import PrivateLinkServicesOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import PrivateLinkServicesOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import PrivateLinkServicesOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import PrivateLinkServicesOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def public_ip_addresses(self): - """Instance depends on the API version: - - * 2015-06-15: :class:`PublicIPAddressesOperations` - * 2016-09-01: :class:`PublicIPAddressesOperations` - * 2016-12-01: :class:`PublicIPAddressesOperations` - * 2017-03-01: :class:`PublicIPAddressesOperations` - * 2017-06-01: :class:`PublicIPAddressesOperations` - * 2017-08-01: :class:`PublicIPAddressesOperations` - * 2017-09-01: :class:`PublicIPAddressesOperations` - * 2017-10-01: :class:`PublicIPAddressesOperations` - * 2017-11-01: :class:`PublicIPAddressesOperations` - * 2018-01-01: :class:`PublicIPAddressesOperations` - * 2018-02-01: :class:`PublicIPAddressesOperations` - * 2018-04-01: :class:`PublicIPAddressesOperations` - * 2018-06-01: :class:`PublicIPAddressesOperations` - * 2018-07-01: :class:`PublicIPAddressesOperations` - * 2018-08-01: :class:`PublicIPAddressesOperations` - * 2018-10-01: :class:`PublicIPAddressesOperations` - * 2018-11-01: :class:`PublicIPAddressesOperations` - * 2018-12-01: :class:`PublicIPAddressesOperations` - * 2019-02-01: :class:`PublicIPAddressesOperations` - * 2019-04-01: :class:`PublicIPAddressesOperations` - * 2019-06-01: :class:`PublicIPAddressesOperations` - * 2019-07-01: :class:`PublicIPAddressesOperations` - * 2019-08-01: :class:`PublicIPAddressesOperations` - * 2019-09-01: :class:`PublicIPAddressesOperations` - """ - api_version = self._get_api_version('public_ip_addresses') - if api_version == '2015-06-15': - from .v2015_06_15.operations import PublicIPAddressesOperations as OperationClass - elif api_version == '2016-09-01': - from .v2016_09_01.operations import PublicIPAddressesOperations as OperationClass - elif api_version == '2016-12-01': - from .v2016_12_01.operations import PublicIPAddressesOperations as OperationClass - elif api_version == '2017-03-01': - from .v2017_03_01.operations import PublicIPAddressesOperations as OperationClass - elif api_version == '2017-06-01': - from .v2017_06_01.operations import PublicIPAddressesOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import PublicIPAddressesOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import PublicIPAddressesOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import PublicIPAddressesOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import PublicIPAddressesOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import PublicIPAddressesOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import PublicIPAddressesOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import PublicIPAddressesOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import PublicIPAddressesOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import PublicIPAddressesOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import PublicIPAddressesOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import PublicIPAddressesOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import PublicIPAddressesOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import PublicIPAddressesOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import PublicIPAddressesOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import PublicIPAddressesOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import PublicIPAddressesOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import PublicIPAddressesOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import PublicIPAddressesOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import PublicIPAddressesOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def public_ip_prefixes(self): - """Instance depends on the API version: - - * 2018-07-01: :class:`PublicIPPrefixesOperations` - * 2018-08-01: :class:`PublicIPPrefixesOperations` - * 2018-10-01: :class:`PublicIPPrefixesOperations` - * 2018-11-01: :class:`PublicIPPrefixesOperations` - * 2018-12-01: :class:`PublicIPPrefixesOperations` - * 2019-02-01: :class:`PublicIPPrefixesOperations` - * 2019-04-01: :class:`PublicIPPrefixesOperations` - * 2019-06-01: :class:`PublicIPPrefixesOperations` - * 2019-07-01: :class:`PublicIPPrefixesOperations` - * 2019-08-01: :class:`PublicIPPrefixesOperations` - * 2019-09-01: :class:`PublicIPPrefixesOperations` - """ - api_version = self._get_api_version('public_ip_prefixes') - if api_version == '2018-07-01': - from .v2018_07_01.operations import PublicIPPrefixesOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import PublicIPPrefixesOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import PublicIPPrefixesOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import PublicIPPrefixesOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import PublicIPPrefixesOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import PublicIPPrefixesOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import PublicIPPrefixesOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import PublicIPPrefixesOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import PublicIPPrefixesOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import PublicIPPrefixesOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import PublicIPPrefixesOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def resource_navigation_links(self): - """Instance depends on the API version: - - * 2019-02-01: :class:`ResourceNavigationLinksOperations` - * 2019-04-01: :class:`ResourceNavigationLinksOperations` - * 2019-06-01: :class:`ResourceNavigationLinksOperations` - * 2019-07-01: :class:`ResourceNavigationLinksOperations` - * 2019-08-01: :class:`ResourceNavigationLinksOperations` - * 2019-09-01: :class:`ResourceNavigationLinksOperations` - """ - api_version = self._get_api_version('resource_navigation_links') - if api_version == '2019-02-01': - from .v2019_02_01.operations import ResourceNavigationLinksOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import ResourceNavigationLinksOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import ResourceNavigationLinksOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import ResourceNavigationLinksOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import ResourceNavigationLinksOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import ResourceNavigationLinksOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def route_filter_rules(self): - """Instance depends on the API version: - - * 2016-12-01: :class:`RouteFilterRulesOperations` - * 2017-03-01: :class:`RouteFilterRulesOperations` - * 2017-06-01: :class:`RouteFilterRulesOperations` - * 2017-08-01: :class:`RouteFilterRulesOperations` - * 2017-09-01: :class:`RouteFilterRulesOperations` - * 2017-10-01: :class:`RouteFilterRulesOperations` - * 2017-11-01: :class:`RouteFilterRulesOperations` - * 2018-01-01: :class:`RouteFilterRulesOperations` - * 2018-02-01: :class:`RouteFilterRulesOperations` - * 2018-04-01: :class:`RouteFilterRulesOperations` - * 2018-06-01: :class:`RouteFilterRulesOperations` - * 2018-07-01: :class:`RouteFilterRulesOperations` - * 2018-08-01: :class:`RouteFilterRulesOperations` - * 2018-10-01: :class:`RouteFilterRulesOperations` - * 2018-11-01: :class:`RouteFilterRulesOperations` - * 2018-12-01: :class:`RouteFilterRulesOperations` - * 2019-02-01: :class:`RouteFilterRulesOperations` - * 2019-04-01: :class:`RouteFilterRulesOperations` - * 2019-06-01: :class:`RouteFilterRulesOperations` - * 2019-07-01: :class:`RouteFilterRulesOperations` - * 2019-08-01: :class:`RouteFilterRulesOperations` - * 2019-09-01: :class:`RouteFilterRulesOperations` - """ - api_version = self._get_api_version('route_filter_rules') - if api_version == '2016-12-01': - from .v2016_12_01.operations import RouteFilterRulesOperations as OperationClass - elif api_version == '2017-03-01': - from .v2017_03_01.operations import RouteFilterRulesOperations as OperationClass - elif api_version == '2017-06-01': - from .v2017_06_01.operations import RouteFilterRulesOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import RouteFilterRulesOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import RouteFilterRulesOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import RouteFilterRulesOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import RouteFilterRulesOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import RouteFilterRulesOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import RouteFilterRulesOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import RouteFilterRulesOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import RouteFilterRulesOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import RouteFilterRulesOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import RouteFilterRulesOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import RouteFilterRulesOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import RouteFilterRulesOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import RouteFilterRulesOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import RouteFilterRulesOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import RouteFilterRulesOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import RouteFilterRulesOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import RouteFilterRulesOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import RouteFilterRulesOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import RouteFilterRulesOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def route_filters(self): - """Instance depends on the API version: - - * 2016-12-01: :class:`RouteFiltersOperations` - * 2017-03-01: :class:`RouteFiltersOperations` - * 2017-06-01: :class:`RouteFiltersOperations` - * 2017-08-01: :class:`RouteFiltersOperations` - * 2017-09-01: :class:`RouteFiltersOperations` - * 2017-10-01: :class:`RouteFiltersOperations` - * 2017-11-01: :class:`RouteFiltersOperations` - * 2018-01-01: :class:`RouteFiltersOperations` - * 2018-02-01: :class:`RouteFiltersOperations` - * 2018-04-01: :class:`RouteFiltersOperations` - * 2018-06-01: :class:`RouteFiltersOperations` - * 2018-07-01: :class:`RouteFiltersOperations` - * 2018-08-01: :class:`RouteFiltersOperations` - * 2018-10-01: :class:`RouteFiltersOperations` - * 2018-11-01: :class:`RouteFiltersOperations` - * 2018-12-01: :class:`RouteFiltersOperations` - * 2019-02-01: :class:`RouteFiltersOperations` - * 2019-04-01: :class:`RouteFiltersOperations` - * 2019-06-01: :class:`RouteFiltersOperations` - * 2019-07-01: :class:`RouteFiltersOperations` - * 2019-08-01: :class:`RouteFiltersOperations` - * 2019-09-01: :class:`RouteFiltersOperations` - """ - api_version = self._get_api_version('route_filters') - if api_version == '2016-12-01': - from .v2016_12_01.operations import RouteFiltersOperations as OperationClass - elif api_version == '2017-03-01': - from .v2017_03_01.operations import RouteFiltersOperations as OperationClass - elif api_version == '2017-06-01': - from .v2017_06_01.operations import RouteFiltersOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import RouteFiltersOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import RouteFiltersOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import RouteFiltersOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import RouteFiltersOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import RouteFiltersOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import RouteFiltersOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import RouteFiltersOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import RouteFiltersOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import RouteFiltersOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import RouteFiltersOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import RouteFiltersOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import RouteFiltersOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import RouteFiltersOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import RouteFiltersOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import RouteFiltersOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import RouteFiltersOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import RouteFiltersOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import RouteFiltersOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import RouteFiltersOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def route_tables(self): - """Instance depends on the API version: - - * 2015-06-15: :class:`RouteTablesOperations` - * 2016-09-01: :class:`RouteTablesOperations` - * 2016-12-01: :class:`RouteTablesOperations` - * 2017-03-01: :class:`RouteTablesOperations` - * 2017-06-01: :class:`RouteTablesOperations` - * 2017-08-01: :class:`RouteTablesOperations` - * 2017-09-01: :class:`RouteTablesOperations` - * 2017-10-01: :class:`RouteTablesOperations` - * 2017-11-01: :class:`RouteTablesOperations` - * 2018-01-01: :class:`RouteTablesOperations` - * 2018-02-01: :class:`RouteTablesOperations` - * 2018-04-01: :class:`RouteTablesOperations` - * 2018-06-01: :class:`RouteTablesOperations` - * 2018-07-01: :class:`RouteTablesOperations` - * 2018-08-01: :class:`RouteTablesOperations` - * 2018-10-01: :class:`RouteTablesOperations` - * 2018-11-01: :class:`RouteTablesOperations` - * 2018-12-01: :class:`RouteTablesOperations` - * 2019-02-01: :class:`RouteTablesOperations` - * 2019-04-01: :class:`RouteTablesOperations` - * 2019-06-01: :class:`RouteTablesOperations` - * 2019-07-01: :class:`RouteTablesOperations` - * 2019-08-01: :class:`RouteTablesOperations` - * 2019-09-01: :class:`RouteTablesOperations` - """ - api_version = self._get_api_version('route_tables') - if api_version == '2015-06-15': - from .v2015_06_15.operations import RouteTablesOperations as OperationClass - elif api_version == '2016-09-01': - from .v2016_09_01.operations import RouteTablesOperations as OperationClass - elif api_version == '2016-12-01': - from .v2016_12_01.operations import RouteTablesOperations as OperationClass - elif api_version == '2017-03-01': - from .v2017_03_01.operations import RouteTablesOperations as OperationClass - elif api_version == '2017-06-01': - from .v2017_06_01.operations import RouteTablesOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import RouteTablesOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import RouteTablesOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import RouteTablesOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import RouteTablesOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import RouteTablesOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import RouteTablesOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import RouteTablesOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import RouteTablesOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import RouteTablesOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import RouteTablesOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import RouteTablesOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import RouteTablesOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import RouteTablesOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import RouteTablesOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import RouteTablesOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import RouteTablesOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import RouteTablesOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import RouteTablesOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import RouteTablesOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def routes(self): - """Instance depends on the API version: - - * 2015-06-15: :class:`RoutesOperations` - * 2016-09-01: :class:`RoutesOperations` - * 2016-12-01: :class:`RoutesOperations` - * 2017-03-01: :class:`RoutesOperations` - * 2017-06-01: :class:`RoutesOperations` - * 2017-08-01: :class:`RoutesOperations` - * 2017-09-01: :class:`RoutesOperations` - * 2017-10-01: :class:`RoutesOperations` - * 2017-11-01: :class:`RoutesOperations` - * 2018-01-01: :class:`RoutesOperations` - * 2018-02-01: :class:`RoutesOperations` - * 2018-04-01: :class:`RoutesOperations` - * 2018-06-01: :class:`RoutesOperations` - * 2018-07-01: :class:`RoutesOperations` - * 2018-08-01: :class:`RoutesOperations` - * 2018-10-01: :class:`RoutesOperations` - * 2018-11-01: :class:`RoutesOperations` - * 2018-12-01: :class:`RoutesOperations` - * 2019-02-01: :class:`RoutesOperations` - * 2019-04-01: :class:`RoutesOperations` - * 2019-06-01: :class:`RoutesOperations` - * 2019-07-01: :class:`RoutesOperations` - * 2019-08-01: :class:`RoutesOperations` - * 2019-09-01: :class:`RoutesOperations` - """ - api_version = self._get_api_version('routes') - if api_version == '2015-06-15': - from .v2015_06_15.operations import RoutesOperations as OperationClass - elif api_version == '2016-09-01': - from .v2016_09_01.operations import RoutesOperations as OperationClass - elif api_version == '2016-12-01': - from .v2016_12_01.operations import RoutesOperations as OperationClass - elif api_version == '2017-03-01': - from .v2017_03_01.operations import RoutesOperations as OperationClass - elif api_version == '2017-06-01': - from .v2017_06_01.operations import RoutesOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import RoutesOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import RoutesOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import RoutesOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import RoutesOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import RoutesOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import RoutesOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import RoutesOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import RoutesOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import RoutesOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import RoutesOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import RoutesOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import RoutesOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import RoutesOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import RoutesOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import RoutesOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import RoutesOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import RoutesOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import RoutesOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import RoutesOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def security_rules(self): - """Instance depends on the API version: - - * 2015-06-15: :class:`SecurityRulesOperations` - * 2016-09-01: :class:`SecurityRulesOperations` - * 2016-12-01: :class:`SecurityRulesOperations` - * 2017-03-01: :class:`SecurityRulesOperations` - * 2017-06-01: :class:`SecurityRulesOperations` - * 2017-08-01: :class:`SecurityRulesOperations` - * 2017-09-01: :class:`SecurityRulesOperations` - * 2017-10-01: :class:`SecurityRulesOperations` - * 2017-11-01: :class:`SecurityRulesOperations` - * 2018-01-01: :class:`SecurityRulesOperations` - * 2018-02-01: :class:`SecurityRulesOperations` - * 2018-04-01: :class:`SecurityRulesOperations` - * 2018-06-01: :class:`SecurityRulesOperations` - * 2018-07-01: :class:`SecurityRulesOperations` - * 2018-08-01: :class:`SecurityRulesOperations` - * 2018-10-01: :class:`SecurityRulesOperations` - * 2018-11-01: :class:`SecurityRulesOperations` - * 2018-12-01: :class:`SecurityRulesOperations` - * 2019-02-01: :class:`SecurityRulesOperations` - * 2019-04-01: :class:`SecurityRulesOperations` - * 2019-06-01: :class:`SecurityRulesOperations` - * 2019-07-01: :class:`SecurityRulesOperations` - * 2019-08-01: :class:`SecurityRulesOperations` - * 2019-09-01: :class:`SecurityRulesOperations` - """ - api_version = self._get_api_version('security_rules') - if api_version == '2015-06-15': - from .v2015_06_15.operations import SecurityRulesOperations as OperationClass - elif api_version == '2016-09-01': - from .v2016_09_01.operations import SecurityRulesOperations as OperationClass - elif api_version == '2016-12-01': - from .v2016_12_01.operations import SecurityRulesOperations as OperationClass - elif api_version == '2017-03-01': - from .v2017_03_01.operations import SecurityRulesOperations as OperationClass - elif api_version == '2017-06-01': - from .v2017_06_01.operations import SecurityRulesOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import SecurityRulesOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import SecurityRulesOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import SecurityRulesOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import SecurityRulesOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import SecurityRulesOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import SecurityRulesOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import SecurityRulesOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import SecurityRulesOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import SecurityRulesOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import SecurityRulesOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import SecurityRulesOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import SecurityRulesOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import SecurityRulesOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import SecurityRulesOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import SecurityRulesOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import SecurityRulesOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import SecurityRulesOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import SecurityRulesOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import SecurityRulesOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def service_association_links(self): - """Instance depends on the API version: - - * 2019-02-01: :class:`ServiceAssociationLinksOperations` - * 2019-04-01: :class:`ServiceAssociationLinksOperations` - * 2019-06-01: :class:`ServiceAssociationLinksOperations` - * 2019-07-01: :class:`ServiceAssociationLinksOperations` - * 2019-08-01: :class:`ServiceAssociationLinksOperations` - * 2019-09-01: :class:`ServiceAssociationLinksOperations` - """ - api_version = self._get_api_version('service_association_links') - if api_version == '2019-02-01': - from .v2019_02_01.operations import ServiceAssociationLinksOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import ServiceAssociationLinksOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import ServiceAssociationLinksOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import ServiceAssociationLinksOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import ServiceAssociationLinksOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import ServiceAssociationLinksOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def service_endpoint_policies(self): - """Instance depends on the API version: - - * 2018-07-01: :class:`ServiceEndpointPoliciesOperations` - * 2018-08-01: :class:`ServiceEndpointPoliciesOperations` - * 2018-10-01: :class:`ServiceEndpointPoliciesOperations` - * 2018-11-01: :class:`ServiceEndpointPoliciesOperations` - * 2018-12-01: :class:`ServiceEndpointPoliciesOperations` - * 2019-02-01: :class:`ServiceEndpointPoliciesOperations` - * 2019-04-01: :class:`ServiceEndpointPoliciesOperations` - * 2019-06-01: :class:`ServiceEndpointPoliciesOperations` - * 2019-07-01: :class:`ServiceEndpointPoliciesOperations` - * 2019-08-01: :class:`ServiceEndpointPoliciesOperations` - * 2019-09-01: :class:`ServiceEndpointPoliciesOperations` - """ - api_version = self._get_api_version('service_endpoint_policies') - if api_version == '2018-07-01': - from .v2018_07_01.operations import ServiceEndpointPoliciesOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import ServiceEndpointPoliciesOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import ServiceEndpointPoliciesOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import ServiceEndpointPoliciesOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import ServiceEndpointPoliciesOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import ServiceEndpointPoliciesOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import ServiceEndpointPoliciesOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import ServiceEndpointPoliciesOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import ServiceEndpointPoliciesOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import ServiceEndpointPoliciesOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import ServiceEndpointPoliciesOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def service_endpoint_policy_definitions(self): - """Instance depends on the API version: - - * 2018-07-01: :class:`ServiceEndpointPolicyDefinitionsOperations` - * 2018-08-01: :class:`ServiceEndpointPolicyDefinitionsOperations` - * 2018-10-01: :class:`ServiceEndpointPolicyDefinitionsOperations` - * 2018-11-01: :class:`ServiceEndpointPolicyDefinitionsOperations` - * 2018-12-01: :class:`ServiceEndpointPolicyDefinitionsOperations` - * 2019-02-01: :class:`ServiceEndpointPolicyDefinitionsOperations` - * 2019-04-01: :class:`ServiceEndpointPolicyDefinitionsOperations` - * 2019-06-01: :class:`ServiceEndpointPolicyDefinitionsOperations` - * 2019-07-01: :class:`ServiceEndpointPolicyDefinitionsOperations` - * 2019-08-01: :class:`ServiceEndpointPolicyDefinitionsOperations` - * 2019-09-01: :class:`ServiceEndpointPolicyDefinitionsOperations` - """ - api_version = self._get_api_version('service_endpoint_policy_definitions') - if api_version == '2018-07-01': - from .v2018_07_01.operations import ServiceEndpointPolicyDefinitionsOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import ServiceEndpointPolicyDefinitionsOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import ServiceEndpointPolicyDefinitionsOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import ServiceEndpointPolicyDefinitionsOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import ServiceEndpointPolicyDefinitionsOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import ServiceEndpointPolicyDefinitionsOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import ServiceEndpointPolicyDefinitionsOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import ServiceEndpointPolicyDefinitionsOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import ServiceEndpointPolicyDefinitionsOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import ServiceEndpointPolicyDefinitionsOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import ServiceEndpointPolicyDefinitionsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def service_tags(self): - """Instance depends on the API version: - - * 2019-04-01: :class:`ServiceTagsOperations` - * 2019-06-01: :class:`ServiceTagsOperations` - * 2019-07-01: :class:`ServiceTagsOperations` - * 2019-08-01: :class:`ServiceTagsOperations` - * 2019-09-01: :class:`ServiceTagsOperations` - """ - api_version = self._get_api_version('service_tags') - if api_version == '2019-04-01': - from .v2019_04_01.operations import ServiceTagsOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import ServiceTagsOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import ServiceTagsOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import ServiceTagsOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import ServiceTagsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def subnets(self): - """Instance depends on the API version: - - * 2015-06-15: :class:`SubnetsOperations` - * 2016-09-01: :class:`SubnetsOperations` - * 2016-12-01: :class:`SubnetsOperations` - * 2017-03-01: :class:`SubnetsOperations` - * 2017-06-01: :class:`SubnetsOperations` - * 2017-08-01: :class:`SubnetsOperations` - * 2017-09-01: :class:`SubnetsOperations` - * 2017-10-01: :class:`SubnetsOperations` - * 2017-11-01: :class:`SubnetsOperations` - * 2018-01-01: :class:`SubnetsOperations` - * 2018-02-01: :class:`SubnetsOperations` - * 2018-04-01: :class:`SubnetsOperations` - * 2018-06-01: :class:`SubnetsOperations` - * 2018-07-01: :class:`SubnetsOperations` - * 2018-08-01: :class:`SubnetsOperations` - * 2018-10-01: :class:`SubnetsOperations` - * 2018-11-01: :class:`SubnetsOperations` - * 2018-12-01: :class:`SubnetsOperations` - * 2019-02-01: :class:`SubnetsOperations` - * 2019-04-01: :class:`SubnetsOperations` - * 2019-06-01: :class:`SubnetsOperations` - * 2019-07-01: :class:`SubnetsOperations` - * 2019-08-01: :class:`SubnetsOperations` - * 2019-09-01: :class:`SubnetsOperations` - """ - api_version = self._get_api_version('subnets') - if api_version == '2015-06-15': - from .v2015_06_15.operations import SubnetsOperations as OperationClass - elif api_version == '2016-09-01': - from .v2016_09_01.operations import SubnetsOperations as OperationClass - elif api_version == '2016-12-01': - from .v2016_12_01.operations import SubnetsOperations as OperationClass - elif api_version == '2017-03-01': - from .v2017_03_01.operations import SubnetsOperations as OperationClass - elif api_version == '2017-06-01': - from .v2017_06_01.operations import SubnetsOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import SubnetsOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import SubnetsOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import SubnetsOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import SubnetsOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import SubnetsOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import SubnetsOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import SubnetsOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import SubnetsOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import SubnetsOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import SubnetsOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import SubnetsOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import SubnetsOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import SubnetsOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import SubnetsOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import SubnetsOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import SubnetsOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import SubnetsOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import SubnetsOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import SubnetsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def usages(self): - """Instance depends on the API version: - - * 2015-06-15: :class:`UsagesOperations` - * 2016-09-01: :class:`UsagesOperations` - * 2016-12-01: :class:`UsagesOperations` - * 2017-03-01: :class:`UsagesOperations` - * 2017-06-01: :class:`UsagesOperations` - * 2017-08-01: :class:`UsagesOperations` - * 2017-09-01: :class:`UsagesOperations` - * 2017-10-01: :class:`UsagesOperations` - * 2017-11-01: :class:`UsagesOperations` - * 2018-01-01: :class:`UsagesOperations` - * 2018-02-01: :class:`UsagesOperations` - * 2018-04-01: :class:`UsagesOperations` - * 2018-06-01: :class:`UsagesOperations` - * 2018-07-01: :class:`UsagesOperations` - * 2018-08-01: :class:`UsagesOperations` - * 2018-10-01: :class:`UsagesOperations` - * 2018-11-01: :class:`UsagesOperations` - * 2018-12-01: :class:`UsagesOperations` - * 2019-02-01: :class:`UsagesOperations` - * 2019-04-01: :class:`UsagesOperations` - * 2019-06-01: :class:`UsagesOperations` - * 2019-07-01: :class:`UsagesOperations` - * 2019-08-01: :class:`UsagesOperations` - * 2019-09-01: :class:`UsagesOperations` - """ - api_version = self._get_api_version('usages') - if api_version == '2015-06-15': - from .v2015_06_15.operations import UsagesOperations as OperationClass - elif api_version == '2016-09-01': - from .v2016_09_01.operations import UsagesOperations as OperationClass - elif api_version == '2016-12-01': - from .v2016_12_01.operations import UsagesOperations as OperationClass - elif api_version == '2017-03-01': - from .v2017_03_01.operations import UsagesOperations as OperationClass - elif api_version == '2017-06-01': - from .v2017_06_01.operations import UsagesOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import UsagesOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import UsagesOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import UsagesOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import UsagesOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import UsagesOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import UsagesOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import UsagesOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import UsagesOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import UsagesOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import UsagesOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import UsagesOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import UsagesOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import UsagesOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import UsagesOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import UsagesOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import UsagesOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import UsagesOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import UsagesOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import UsagesOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def virtual_hub_route_table_v2s(self): - """Instance depends on the API version: - - * 2019-09-01: :class:`VirtualHubRouteTableV2sOperations` - """ - api_version = self._get_api_version('virtual_hub_route_table_v2s') - if api_version == '2019-09-01': - from .v2019_09_01.operations import VirtualHubRouteTableV2sOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def virtual_hubs(self): - """Instance depends on the API version: - - * 2018-04-01: :class:`VirtualHubsOperations` - * 2018-06-01: :class:`VirtualHubsOperations` - * 2018-07-01: :class:`VirtualHubsOperations` - * 2018-08-01: :class:`VirtualHubsOperations` - * 2018-10-01: :class:`VirtualHubsOperations` - * 2018-11-01: :class:`VirtualHubsOperations` - * 2018-12-01: :class:`VirtualHubsOperations` - * 2019-02-01: :class:`VirtualHubsOperations` - * 2019-04-01: :class:`VirtualHubsOperations` - * 2019-06-01: :class:`VirtualHubsOperations` - * 2019-07-01: :class:`VirtualHubsOperations` - * 2019-08-01: :class:`VirtualHubsOperations` - * 2019-09-01: :class:`VirtualHubsOperations` - """ - api_version = self._get_api_version('virtual_hubs') - if api_version == '2018-04-01': - from .v2018_04_01.operations import VirtualHubsOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import VirtualHubsOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import VirtualHubsOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import VirtualHubsOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import VirtualHubsOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import VirtualHubsOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import VirtualHubsOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import VirtualHubsOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import VirtualHubsOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import VirtualHubsOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import VirtualHubsOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import VirtualHubsOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import VirtualHubsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def virtual_network_gateway_connections(self): - """Instance depends on the API version: - - * 2015-06-15: :class:`VirtualNetworkGatewayConnectionsOperations` - * 2016-09-01: :class:`VirtualNetworkGatewayConnectionsOperations` - * 2016-12-01: :class:`VirtualNetworkGatewayConnectionsOperations` - * 2017-03-01: :class:`VirtualNetworkGatewayConnectionsOperations` - * 2017-06-01: :class:`VirtualNetworkGatewayConnectionsOperations` - * 2017-08-01: :class:`VirtualNetworkGatewayConnectionsOperations` - * 2017-09-01: :class:`VirtualNetworkGatewayConnectionsOperations` - * 2017-10-01: :class:`VirtualNetworkGatewayConnectionsOperations` - * 2017-11-01: :class:`VirtualNetworkGatewayConnectionsOperations` - * 2018-01-01: :class:`VirtualNetworkGatewayConnectionsOperations` - * 2018-02-01: :class:`VirtualNetworkGatewayConnectionsOperations` - * 2018-04-01: :class:`VirtualNetworkGatewayConnectionsOperations` - * 2018-06-01: :class:`VirtualNetworkGatewayConnectionsOperations` - * 2018-07-01: :class:`VirtualNetworkGatewayConnectionsOperations` - * 2018-08-01: :class:`VirtualNetworkGatewayConnectionsOperations` - * 2018-10-01: :class:`VirtualNetworkGatewayConnectionsOperations` - * 2018-11-01: :class:`VirtualNetworkGatewayConnectionsOperations` - * 2018-12-01: :class:`VirtualNetworkGatewayConnectionsOperations` - * 2019-02-01: :class:`VirtualNetworkGatewayConnectionsOperations` - * 2019-04-01: :class:`VirtualNetworkGatewayConnectionsOperations` - * 2019-06-01: :class:`VirtualNetworkGatewayConnectionsOperations` - * 2019-07-01: :class:`VirtualNetworkGatewayConnectionsOperations` - * 2019-08-01: :class:`VirtualNetworkGatewayConnectionsOperations` - * 2019-09-01: :class:`VirtualNetworkGatewayConnectionsOperations` - """ - api_version = self._get_api_version('virtual_network_gateway_connections') - if api_version == '2015-06-15': - from .v2015_06_15.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass - elif api_version == '2016-09-01': - from .v2016_09_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass - elif api_version == '2016-12-01': - from .v2016_12_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass - elif api_version == '2017-03-01': - from .v2017_03_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass - elif api_version == '2017-06-01': - from .v2017_06_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def virtual_network_gateways(self): - """Instance depends on the API version: - - * 2015-06-15: :class:`VirtualNetworkGatewaysOperations` - * 2016-09-01: :class:`VirtualNetworkGatewaysOperations` - * 2016-12-01: :class:`VirtualNetworkGatewaysOperations` - * 2017-03-01: :class:`VirtualNetworkGatewaysOperations` - * 2017-06-01: :class:`VirtualNetworkGatewaysOperations` - * 2017-08-01: :class:`VirtualNetworkGatewaysOperations` - * 2017-09-01: :class:`VirtualNetworkGatewaysOperations` - * 2017-10-01: :class:`VirtualNetworkGatewaysOperations` - * 2017-11-01: :class:`VirtualNetworkGatewaysOperations` - * 2018-01-01: :class:`VirtualNetworkGatewaysOperations` - * 2018-02-01: :class:`VirtualNetworkGatewaysOperations` - * 2018-04-01: :class:`VirtualNetworkGatewaysOperations` - * 2018-06-01: :class:`VirtualNetworkGatewaysOperations` - * 2018-07-01: :class:`VirtualNetworkGatewaysOperations` - * 2018-08-01: :class:`VirtualNetworkGatewaysOperations` - * 2018-10-01: :class:`VirtualNetworkGatewaysOperations` - * 2018-11-01: :class:`VirtualNetworkGatewaysOperations` - * 2018-12-01: :class:`VirtualNetworkGatewaysOperations` - * 2019-02-01: :class:`VirtualNetworkGatewaysOperations` - * 2019-04-01: :class:`VirtualNetworkGatewaysOperations` - * 2019-06-01: :class:`VirtualNetworkGatewaysOperations` - * 2019-07-01: :class:`VirtualNetworkGatewaysOperations` - * 2019-08-01: :class:`VirtualNetworkGatewaysOperations` - * 2019-09-01: :class:`VirtualNetworkGatewaysOperations` - """ - api_version = self._get_api_version('virtual_network_gateways') - if api_version == '2015-06-15': - from .v2015_06_15.operations import VirtualNetworkGatewaysOperations as OperationClass - elif api_version == '2016-09-01': - from .v2016_09_01.operations import VirtualNetworkGatewaysOperations as OperationClass - elif api_version == '2016-12-01': - from .v2016_12_01.operations import VirtualNetworkGatewaysOperations as OperationClass - elif api_version == '2017-03-01': - from .v2017_03_01.operations import VirtualNetworkGatewaysOperations as OperationClass - elif api_version == '2017-06-01': - from .v2017_06_01.operations import VirtualNetworkGatewaysOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import VirtualNetworkGatewaysOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import VirtualNetworkGatewaysOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import VirtualNetworkGatewaysOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import VirtualNetworkGatewaysOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import VirtualNetworkGatewaysOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import VirtualNetworkGatewaysOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import VirtualNetworkGatewaysOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import VirtualNetworkGatewaysOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import VirtualNetworkGatewaysOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import VirtualNetworkGatewaysOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import VirtualNetworkGatewaysOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import VirtualNetworkGatewaysOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import VirtualNetworkGatewaysOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import VirtualNetworkGatewaysOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import VirtualNetworkGatewaysOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import VirtualNetworkGatewaysOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import VirtualNetworkGatewaysOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import VirtualNetworkGatewaysOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import VirtualNetworkGatewaysOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def virtual_network_peerings(self): - """Instance depends on the API version: - - * 2016-09-01: :class:`VirtualNetworkPeeringsOperations` - * 2016-12-01: :class:`VirtualNetworkPeeringsOperations` - * 2017-03-01: :class:`VirtualNetworkPeeringsOperations` - * 2017-06-01: :class:`VirtualNetworkPeeringsOperations` - * 2017-08-01: :class:`VirtualNetworkPeeringsOperations` - * 2017-09-01: :class:`VirtualNetworkPeeringsOperations` - * 2017-10-01: :class:`VirtualNetworkPeeringsOperations` - * 2017-11-01: :class:`VirtualNetworkPeeringsOperations` - * 2018-01-01: :class:`VirtualNetworkPeeringsOperations` - * 2018-02-01: :class:`VirtualNetworkPeeringsOperations` - * 2018-04-01: :class:`VirtualNetworkPeeringsOperations` - * 2018-06-01: :class:`VirtualNetworkPeeringsOperations` - * 2018-07-01: :class:`VirtualNetworkPeeringsOperations` - * 2018-08-01: :class:`VirtualNetworkPeeringsOperations` - * 2018-10-01: :class:`VirtualNetworkPeeringsOperations` - * 2018-11-01: :class:`VirtualNetworkPeeringsOperations` - * 2018-12-01: :class:`VirtualNetworkPeeringsOperations` - * 2019-02-01: :class:`VirtualNetworkPeeringsOperations` - * 2019-04-01: :class:`VirtualNetworkPeeringsOperations` - * 2019-06-01: :class:`VirtualNetworkPeeringsOperations` - * 2019-07-01: :class:`VirtualNetworkPeeringsOperations` - * 2019-08-01: :class:`VirtualNetworkPeeringsOperations` - * 2019-09-01: :class:`VirtualNetworkPeeringsOperations` - """ - api_version = self._get_api_version('virtual_network_peerings') - if api_version == '2016-09-01': - from .v2016_09_01.operations import VirtualNetworkPeeringsOperations as OperationClass - elif api_version == '2016-12-01': - from .v2016_12_01.operations import VirtualNetworkPeeringsOperations as OperationClass - elif api_version == '2017-03-01': - from .v2017_03_01.operations import VirtualNetworkPeeringsOperations as OperationClass - elif api_version == '2017-06-01': - from .v2017_06_01.operations import VirtualNetworkPeeringsOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import VirtualNetworkPeeringsOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import VirtualNetworkPeeringsOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import VirtualNetworkPeeringsOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import VirtualNetworkPeeringsOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import VirtualNetworkPeeringsOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import VirtualNetworkPeeringsOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import VirtualNetworkPeeringsOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import VirtualNetworkPeeringsOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import VirtualNetworkPeeringsOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import VirtualNetworkPeeringsOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import VirtualNetworkPeeringsOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import VirtualNetworkPeeringsOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import VirtualNetworkPeeringsOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import VirtualNetworkPeeringsOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import VirtualNetworkPeeringsOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import VirtualNetworkPeeringsOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import VirtualNetworkPeeringsOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import VirtualNetworkPeeringsOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import VirtualNetworkPeeringsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def virtual_network_taps(self): - """Instance depends on the API version: - - * 2018-08-01: :class:`VirtualNetworkTapsOperations` - * 2018-10-01: :class:`VirtualNetworkTapsOperations` - * 2018-11-01: :class:`VirtualNetworkTapsOperations` - * 2018-12-01: :class:`VirtualNetworkTapsOperations` - * 2019-02-01: :class:`VirtualNetworkTapsOperations` - * 2019-04-01: :class:`VirtualNetworkTapsOperations` - * 2019-06-01: :class:`VirtualNetworkTapsOperations` - * 2019-07-01: :class:`VirtualNetworkTapsOperations` - * 2019-08-01: :class:`VirtualNetworkTapsOperations` - * 2019-09-01: :class:`VirtualNetworkTapsOperations` - """ - api_version = self._get_api_version('virtual_network_taps') - if api_version == '2018-08-01': - from .v2018_08_01.operations import VirtualNetworkTapsOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import VirtualNetworkTapsOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import VirtualNetworkTapsOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import VirtualNetworkTapsOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import VirtualNetworkTapsOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import VirtualNetworkTapsOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import VirtualNetworkTapsOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import VirtualNetworkTapsOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import VirtualNetworkTapsOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import VirtualNetworkTapsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def virtual_networks(self): - """Instance depends on the API version: - - * 2015-06-15: :class:`VirtualNetworksOperations` - * 2016-09-01: :class:`VirtualNetworksOperations` - * 2016-12-01: :class:`VirtualNetworksOperations` - * 2017-03-01: :class:`VirtualNetworksOperations` - * 2017-06-01: :class:`VirtualNetworksOperations` - * 2017-08-01: :class:`VirtualNetworksOperations` - * 2017-09-01: :class:`VirtualNetworksOperations` - * 2017-10-01: :class:`VirtualNetworksOperations` - * 2017-11-01: :class:`VirtualNetworksOperations` - * 2018-01-01: :class:`VirtualNetworksOperations` - * 2018-02-01: :class:`VirtualNetworksOperations` - * 2018-04-01: :class:`VirtualNetworksOperations` - * 2018-06-01: :class:`VirtualNetworksOperations` - * 2018-07-01: :class:`VirtualNetworksOperations` - * 2018-08-01: :class:`VirtualNetworksOperations` - * 2018-10-01: :class:`VirtualNetworksOperations` - * 2018-11-01: :class:`VirtualNetworksOperations` - * 2018-12-01: :class:`VirtualNetworksOperations` - * 2019-02-01: :class:`VirtualNetworksOperations` - * 2019-04-01: :class:`VirtualNetworksOperations` - * 2019-06-01: :class:`VirtualNetworksOperations` - * 2019-07-01: :class:`VirtualNetworksOperations` - * 2019-08-01: :class:`VirtualNetworksOperations` - * 2019-09-01: :class:`VirtualNetworksOperations` - """ - api_version = self._get_api_version('virtual_networks') - if api_version == '2015-06-15': - from .v2015_06_15.operations import VirtualNetworksOperations as OperationClass - elif api_version == '2016-09-01': - from .v2016_09_01.operations import VirtualNetworksOperations as OperationClass - elif api_version == '2016-12-01': - from .v2016_12_01.operations import VirtualNetworksOperations as OperationClass - elif api_version == '2017-03-01': - from .v2017_03_01.operations import VirtualNetworksOperations as OperationClass - elif api_version == '2017-06-01': - from .v2017_06_01.operations import VirtualNetworksOperations as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import VirtualNetworksOperations as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import VirtualNetworksOperations as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import VirtualNetworksOperations as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import VirtualNetworksOperations as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import VirtualNetworksOperations as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import VirtualNetworksOperations as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import VirtualNetworksOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import VirtualNetworksOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import VirtualNetworksOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import VirtualNetworksOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import VirtualNetworksOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import VirtualNetworksOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import VirtualNetworksOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import VirtualNetworksOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import VirtualNetworksOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import VirtualNetworksOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import VirtualNetworksOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import VirtualNetworksOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import VirtualNetworksOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def virtual_router_peerings(self): - """Instance depends on the API version: - - * 2019-07-01: :class:`VirtualRouterPeeringsOperations` - * 2019-08-01: :class:`VirtualRouterPeeringsOperations` - * 2019-09-01: :class:`VirtualRouterPeeringsOperations` - """ - api_version = self._get_api_version('virtual_router_peerings') - if api_version == '2019-07-01': - from .v2019_07_01.operations import VirtualRouterPeeringsOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import VirtualRouterPeeringsOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import VirtualRouterPeeringsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def virtual_routers(self): - """Instance depends on the API version: - - * 2019-07-01: :class:`VirtualRoutersOperations` - * 2019-08-01: :class:`VirtualRoutersOperations` - * 2019-09-01: :class:`VirtualRoutersOperations` - """ - api_version = self._get_api_version('virtual_routers') - if api_version == '2019-07-01': - from .v2019_07_01.operations import VirtualRoutersOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import VirtualRoutersOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import VirtualRoutersOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def virtual_wa_ns(self): - """Instance depends on the API version: - - * 2018-04-01: :class:`VirtualWANsOperations` - * 2018-06-01: :class:`VirtualWANsOperations` - * 2018-07-01: :class:`VirtualWANsOperations` - """ - api_version = self._get_api_version('virtual_wa_ns') - if api_version == '2018-04-01': - from .v2018_04_01.operations import VirtualWANsOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import VirtualWANsOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import VirtualWANsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def virtual_wans(self): - """Instance depends on the API version: - - * 2018-08-01: :class:`VirtualWansOperations` - * 2018-10-01: :class:`VirtualWansOperations` - * 2018-11-01: :class:`VirtualWansOperations` - * 2018-12-01: :class:`VirtualWansOperations` - * 2019-02-01: :class:`VirtualWansOperations` - * 2019-04-01: :class:`VirtualWansOperations` - * 2019-06-01: :class:`VirtualWansOperations` - * 2019-07-01: :class:`VirtualWansOperations` - * 2019-08-01: :class:`VirtualWansOperations` - * 2019-09-01: :class:`VirtualWansOperations` - """ - api_version = self._get_api_version('virtual_wans') - if api_version == '2018-08-01': - from .v2018_08_01.operations import VirtualWansOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import VirtualWansOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import VirtualWansOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import VirtualWansOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import VirtualWansOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import VirtualWansOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import VirtualWansOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import VirtualWansOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import VirtualWansOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import VirtualWansOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def vpn_connections(self): - """Instance depends on the API version: - - * 2018-04-01: :class:`VpnConnectionsOperations` - * 2018-06-01: :class:`VpnConnectionsOperations` - * 2018-07-01: :class:`VpnConnectionsOperations` - * 2018-08-01: :class:`VpnConnectionsOperations` - * 2018-10-01: :class:`VpnConnectionsOperations` - * 2018-11-01: :class:`VpnConnectionsOperations` - * 2018-12-01: :class:`VpnConnectionsOperations` - * 2019-02-01: :class:`VpnConnectionsOperations` - * 2019-04-01: :class:`VpnConnectionsOperations` - * 2019-06-01: :class:`VpnConnectionsOperations` - * 2019-07-01: :class:`VpnConnectionsOperations` - * 2019-08-01: :class:`VpnConnectionsOperations` - * 2019-09-01: :class:`VpnConnectionsOperations` - """ - api_version = self._get_api_version('vpn_connections') - if api_version == '2018-04-01': - from .v2018_04_01.operations import VpnConnectionsOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import VpnConnectionsOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import VpnConnectionsOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import VpnConnectionsOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import VpnConnectionsOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import VpnConnectionsOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import VpnConnectionsOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import VpnConnectionsOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import VpnConnectionsOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import VpnConnectionsOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import VpnConnectionsOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import VpnConnectionsOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import VpnConnectionsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def vpn_gateways(self): - """Instance depends on the API version: - - * 2018-04-01: :class:`VpnGatewaysOperations` - * 2018-06-01: :class:`VpnGatewaysOperations` - * 2018-07-01: :class:`VpnGatewaysOperations` - * 2018-08-01: :class:`VpnGatewaysOperations` - * 2018-10-01: :class:`VpnGatewaysOperations` - * 2018-11-01: :class:`VpnGatewaysOperations` - * 2018-12-01: :class:`VpnGatewaysOperations` - * 2019-02-01: :class:`VpnGatewaysOperations` - * 2019-04-01: :class:`VpnGatewaysOperations` - * 2019-06-01: :class:`VpnGatewaysOperations` - * 2019-07-01: :class:`VpnGatewaysOperations` - * 2019-08-01: :class:`VpnGatewaysOperations` - * 2019-09-01: :class:`VpnGatewaysOperations` - """ - api_version = self._get_api_version('vpn_gateways') - if api_version == '2018-04-01': - from .v2018_04_01.operations import VpnGatewaysOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import VpnGatewaysOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import VpnGatewaysOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import VpnGatewaysOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import VpnGatewaysOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import VpnGatewaysOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import VpnGatewaysOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import VpnGatewaysOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import VpnGatewaysOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import VpnGatewaysOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import VpnGatewaysOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import VpnGatewaysOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import VpnGatewaysOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def vpn_link_connections(self): - """Instance depends on the API version: - - * 2019-06-01: :class:`VpnLinkConnectionsOperations` - * 2019-07-01: :class:`VpnLinkConnectionsOperations` - * 2019-08-01: :class:`VpnLinkConnectionsOperations` - * 2019-09-01: :class:`VpnLinkConnectionsOperations` - """ - api_version = self._get_api_version('vpn_link_connections') - if api_version == '2019-06-01': - from .v2019_06_01.operations import VpnLinkConnectionsOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import VpnLinkConnectionsOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import VpnLinkConnectionsOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import VpnLinkConnectionsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def vpn_server_configurations(self): - """Instance depends on the API version: - - * 2019-08-01: :class:`VpnServerConfigurationsOperations` - * 2019-09-01: :class:`VpnServerConfigurationsOperations` - """ - api_version = self._get_api_version('vpn_server_configurations') - if api_version == '2019-08-01': - from .v2019_08_01.operations import VpnServerConfigurationsOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import VpnServerConfigurationsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def vpn_server_configurations_associated_with_virtual_wan(self): - """Instance depends on the API version: - - * 2019-08-01: :class:`VpnServerConfigurationsAssociatedWithVirtualWanOperations` - * 2019-09-01: :class:`VpnServerConfigurationsAssociatedWithVirtualWanOperations` - """ - api_version = self._get_api_version('vpn_server_configurations_associated_with_virtual_wan') - if api_version == '2019-08-01': - from .v2019_08_01.operations import VpnServerConfigurationsAssociatedWithVirtualWanOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import VpnServerConfigurationsAssociatedWithVirtualWanOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def vpn_site_link_connections(self): - """Instance depends on the API version: - - * 2019-06-01: :class:`VpnSiteLinkConnectionsOperations` - * 2019-07-01: :class:`VpnSiteLinkConnectionsOperations` - * 2019-08-01: :class:`VpnSiteLinkConnectionsOperations` - * 2019-09-01: :class:`VpnSiteLinkConnectionsOperations` - """ - api_version = self._get_api_version('vpn_site_link_connections') - if api_version == '2019-06-01': - from .v2019_06_01.operations import VpnSiteLinkConnectionsOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import VpnSiteLinkConnectionsOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import VpnSiteLinkConnectionsOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import VpnSiteLinkConnectionsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def vpn_site_links(self): - """Instance depends on the API version: - - * 2019-06-01: :class:`VpnSiteLinksOperations` - * 2019-07-01: :class:`VpnSiteLinksOperations` - * 2019-08-01: :class:`VpnSiteLinksOperations` - * 2019-09-01: :class:`VpnSiteLinksOperations` - """ - api_version = self._get_api_version('vpn_site_links') - if api_version == '2019-06-01': - from .v2019_06_01.operations import VpnSiteLinksOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import VpnSiteLinksOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import VpnSiteLinksOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import VpnSiteLinksOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def vpn_sites(self): - """Instance depends on the API version: - - * 2018-04-01: :class:`VpnSitesOperations` - * 2018-06-01: :class:`VpnSitesOperations` - * 2018-07-01: :class:`VpnSitesOperations` - * 2018-08-01: :class:`VpnSitesOperations` - * 2018-10-01: :class:`VpnSitesOperations` - * 2018-11-01: :class:`VpnSitesOperations` - * 2018-12-01: :class:`VpnSitesOperations` - * 2019-02-01: :class:`VpnSitesOperations` - * 2019-04-01: :class:`VpnSitesOperations` - * 2019-06-01: :class:`VpnSitesOperations` - * 2019-07-01: :class:`VpnSitesOperations` - * 2019-08-01: :class:`VpnSitesOperations` - * 2019-09-01: :class:`VpnSitesOperations` - """ - api_version = self._get_api_version('vpn_sites') - if api_version == '2018-04-01': - from .v2018_04_01.operations import VpnSitesOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import VpnSitesOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import VpnSitesOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import VpnSitesOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import VpnSitesOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import VpnSitesOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import VpnSitesOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import VpnSitesOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import VpnSitesOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import VpnSitesOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import VpnSitesOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import VpnSitesOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import VpnSitesOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def vpn_sites_configuration(self): - """Instance depends on the API version: - - * 2018-04-01: :class:`VpnSitesConfigurationOperations` - * 2018-06-01: :class:`VpnSitesConfigurationOperations` - * 2018-07-01: :class:`VpnSitesConfigurationOperations` - * 2018-08-01: :class:`VpnSitesConfigurationOperations` - * 2018-10-01: :class:`VpnSitesConfigurationOperations` - * 2018-11-01: :class:`VpnSitesConfigurationOperations` - * 2018-12-01: :class:`VpnSitesConfigurationOperations` - * 2019-02-01: :class:`VpnSitesConfigurationOperations` - * 2019-04-01: :class:`VpnSitesConfigurationOperations` - * 2019-06-01: :class:`VpnSitesConfigurationOperations` - * 2019-07-01: :class:`VpnSitesConfigurationOperations` - * 2019-08-01: :class:`VpnSitesConfigurationOperations` - * 2019-09-01: :class:`VpnSitesConfigurationOperations` - """ - api_version = self._get_api_version('vpn_sites_configuration') - if api_version == '2018-04-01': - from .v2018_04_01.operations import VpnSitesConfigurationOperations as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import VpnSitesConfigurationOperations as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import VpnSitesConfigurationOperations as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import VpnSitesConfigurationOperations as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import VpnSitesConfigurationOperations as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import VpnSitesConfigurationOperations as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import VpnSitesConfigurationOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import VpnSitesConfigurationOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import VpnSitesConfigurationOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import VpnSitesConfigurationOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import VpnSitesConfigurationOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import VpnSitesConfigurationOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import VpnSitesConfigurationOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) - - @property - def web_application_firewall_policies(self): - """Instance depends on the API version: - - * 2018-12-01: :class:`WebApplicationFirewallPoliciesOperations` - * 2019-02-01: :class:`WebApplicationFirewallPoliciesOperations` - * 2019-04-01: :class:`WebApplicationFirewallPoliciesOperations` - * 2019-06-01: :class:`WebApplicationFirewallPoliciesOperations` - * 2019-07-01: :class:`WebApplicationFirewallPoliciesOperations` - * 2019-08-01: :class:`WebApplicationFirewallPoliciesOperations` - * 2019-09-01: :class:`WebApplicationFirewallPoliciesOperations` - """ - api_version = self._get_api_version('web_application_firewall_policies') - if api_version == '2018-12-01': - from .v2018_12_01.operations import WebApplicationFirewallPoliciesOperations as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import WebApplicationFirewallPoliciesOperations as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import WebApplicationFirewallPoliciesOperations as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import WebApplicationFirewallPoliciesOperations as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import WebApplicationFirewallPoliciesOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import WebApplicationFirewallPoliciesOperations as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import WebApplicationFirewallPoliciesOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/_operations_mixin.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/_operations_mixin.py deleted file mode 100644 index b064f1de9b2..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/_operations_mixin.py +++ /dev/null @@ -1,190 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- -from msrest import Serializer, Deserializer - - -class NetworkManagementClientOperationsMixin(object): - - - def check_dns_name_availability(self, location, domain_name_label, custom_headers=None, raw=False, **operation_config): - """Checks whether a domain name in the cloudapp.azure.com zone is - available for use. - - :param location: The location of the domain name. - :type location: str - :param domain_name_label: The domain name to be verified. It must - conform to the following regular expression: - ^[a-z][a-z0-9-]{1,61}[a-z0-9]$. - :type domain_name_label: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: DnsNameAvailabilityResult or ClientRawResponse if raw=true - :rtype: - ~azure.mgmt.network.v2019_09_01.models.DnsNameAvailabilityResult or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - - """ - api_version = self._get_api_version('check_dns_name_availability') - if api_version == '2015-06-15': - from .v2015_06_15.operations import NetworkManagementClientOperationsMixin as OperationClass - elif api_version == '2016-09-01': - from .v2016_09_01.operations import NetworkManagementClientOperationsMixin as OperationClass - elif api_version == '2016-12-01': - from .v2016_12_01.operations import NetworkManagementClientOperationsMixin as OperationClass - elif api_version == '2017-03-01': - from .v2017_03_01.operations import NetworkManagementClientOperationsMixin as OperationClass - elif api_version == '2017-06-01': - from .v2017_06_01.operations import NetworkManagementClientOperationsMixin as OperationClass - elif api_version == '2017-08-01': - from .v2017_08_01.operations import NetworkManagementClientOperationsMixin as OperationClass - elif api_version == '2017-09-01': - from .v2017_09_01.operations import NetworkManagementClientOperationsMixin as OperationClass - elif api_version == '2017-10-01': - from .v2017_10_01.operations import NetworkManagementClientOperationsMixin as OperationClass - elif api_version == '2017-11-01': - from .v2017_11_01.operations import NetworkManagementClientOperationsMixin as OperationClass - elif api_version == '2018-01-01': - from .v2018_01_01.operations import NetworkManagementClientOperationsMixin as OperationClass - elif api_version == '2018-02-01': - from .v2018_02_01.operations import NetworkManagementClientOperationsMixin as OperationClass - elif api_version == '2018-04-01': - from .v2018_04_01.operations import NetworkManagementClientOperationsMixin as OperationClass - elif api_version == '2018-06-01': - from .v2018_06_01.operations import NetworkManagementClientOperationsMixin as OperationClass - elif api_version == '2018-07-01': - from .v2018_07_01.operations import NetworkManagementClientOperationsMixin as OperationClass - elif api_version == '2018-08-01': - from .v2018_08_01.operations import NetworkManagementClientOperationsMixin as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import NetworkManagementClientOperationsMixin as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import NetworkManagementClientOperationsMixin as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import NetworkManagementClientOperationsMixin as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import NetworkManagementClientOperationsMixin as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import NetworkManagementClientOperationsMixin as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import NetworkManagementClientOperationsMixin as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import NetworkManagementClientOperationsMixin as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import NetworkManagementClientOperationsMixin as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import NetworkManagementClientOperationsMixin as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - mixin_instance = OperationClass() - mixin_instance._client = self._client - mixin_instance.config = self.config - mixin_instance._serialize = Serializer(self._models_dict(api_version)) - mixin_instance._deserialize = Deserializer(self._models_dict(api_version)) - return mixin_instance.check_dns_name_availability(location, domain_name_label, custom_headers, raw, **operation_config) - - def generatevirtualwanvpnserverconfigurationvpnprofile(self, resource_group_name, virtual_wan_name, vpn_server_configuration_resource_id=None, authentication_method=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Generates a unique VPN profile for P2S clients for VirtualWan and - associated VpnServerConfiguration combination in the specified resource - group. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param virtual_wan_name: The name of the VirtualWAN whose associated - VpnServerConfigurations is needed. - :type virtual_wan_name: str - :param vpn_server_configuration_resource_id: VpnServerConfiguration - partial resource uri with which VirtualWan is associated to. - :type vpn_server_configuration_resource_id: str - :param authentication_method: VPN client authentication method. - Possible values include: 'EAPTLS', 'EAPMSCHAPv2' - :type authentication_method: str or - ~azure.mgmt.network.v2019_09_01.models.AuthenticationMethod - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns VpnProfileResponse or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.VpnProfileResponse] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.VpnProfileResponse]] - :raises: :class:`CloudError` - - """ - api_version = self._get_api_version('generatevirtualwanvpnserverconfigurationvpnprofile') - if api_version == '2019-08-01': - from .v2019_08_01.operations import NetworkManagementClientOperationsMixin as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import NetworkManagementClientOperationsMixin as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - mixin_instance = OperationClass() - mixin_instance._client = self._client - mixin_instance.config = self.config - mixin_instance._serialize = Serializer(self._models_dict(api_version)) - mixin_instance._deserialize = Deserializer(self._models_dict(api_version)) - return mixin_instance.generatevirtualwanvpnserverconfigurationvpnprofile(resource_group_name, virtual_wan_name, vpn_server_configuration_resource_id, authentication_method, custom_headers, raw, polling, **operation_config) - - def supported_security_providers(self, resource_group_name, virtual_wan_name, custom_headers=None, raw=False, **operation_config): - """Gives the supported security providers for the virtual wan. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param virtual_wan_name: The name of the VirtualWAN for which - supported security providers are needed. - :type virtual_wan_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: VirtualWanSecurityProviders or ClientRawResponse if raw=true - :rtype: - ~azure.mgmt.network.v2019_09_01.models.VirtualWanSecurityProviders or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - - """ - api_version = self._get_api_version('supported_security_providers') - if api_version == '2018-08-01': - from .v2018_08_01.operations import NetworkManagementClientOperationsMixin as OperationClass - elif api_version == '2018-10-01': - from .v2018_10_01.operations import NetworkManagementClientOperationsMixin as OperationClass - elif api_version == '2018-11-01': - from .v2018_11_01.operations import NetworkManagementClientOperationsMixin as OperationClass - elif api_version == '2018-12-01': - from .v2018_12_01.operations import NetworkManagementClientOperationsMixin as OperationClass - elif api_version == '2019-02-01': - from .v2019_02_01.operations import NetworkManagementClientOperationsMixin as OperationClass - elif api_version == '2019-04-01': - from .v2019_04_01.operations import NetworkManagementClientOperationsMixin as OperationClass - elif api_version == '2019-06-01': - from .v2019_06_01.operations import NetworkManagementClientOperationsMixin as OperationClass - elif api_version == '2019-07-01': - from .v2019_07_01.operations import NetworkManagementClientOperationsMixin as OperationClass - elif api_version == '2019-08-01': - from .v2019_08_01.operations import NetworkManagementClientOperationsMixin as OperationClass - elif api_version == '2019-09-01': - from .v2019_09_01.operations import NetworkManagementClientOperationsMixin as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - mixin_instance = OperationClass() - mixin_instance._client = self._client - mixin_instance.config = self.config - mixin_instance._serialize = Serializer(self._models_dict(api_version)) - mixin_instance._deserialize = Deserializer(self._models_dict(api_version)) - return mixin_instance.supported_security_providers(resource_group_name, virtual_wan_name, custom_headers, raw, **operation_config) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/models.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/models.py deleted file mode 100644 index 8206be69af7..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/models.py +++ /dev/null @@ -1,10 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -------------------------------------------------------------------------- -from .v2018_07_01.models import * -from .v2019_02_01.models import * -from .v2019_07_01.models import * -from .v2019_09_01.models import * diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/_network_management_client.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/_network_management_client.py deleted file mode 100644 index 0347c2db071..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/_network_management_client.py +++ /dev/null @@ -1,486 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.service_client import SDKClient -from msrest import Serializer, Deserializer - -from ._configuration import NetworkManagementClientConfiguration -from .operations import NetworkManagementClientOperationsMixin -from .operations import ApplicationGatewaysOperations -from .operations import ApplicationSecurityGroupsOperations -from .operations import AvailableDelegationsOperations -from .operations import AvailableResourceGroupDelegationsOperations -from .operations import AvailableServiceAliasesOperations -from .operations import AzureFirewallsOperations -from .operations import AzureFirewallFqdnTagsOperations -from .operations import BastionHostsOperations -from .operations import DdosCustomPoliciesOperations -from .operations import DdosProtectionPlansOperations -from .operations import AvailableEndpointServicesOperations -from .operations import ExpressRouteCircuitAuthorizationsOperations -from .operations import ExpressRouteCircuitPeeringsOperations -from .operations import ExpressRouteCircuitConnectionsOperations -from .operations import PeerExpressRouteCircuitConnectionsOperations -from .operations import ExpressRouteCircuitsOperations -from .operations import ExpressRouteServiceProvidersOperations -from .operations import ExpressRouteCrossConnectionsOperations -from .operations import ExpressRouteCrossConnectionPeeringsOperations -from .operations import ExpressRouteGatewaysOperations -from .operations import ExpressRouteConnectionsOperations -from .operations import ExpressRoutePortsLocationsOperations -from .operations import ExpressRoutePortsOperations -from .operations import ExpressRouteLinksOperations -from .operations import FirewallPoliciesOperations -from .operations import FirewallPolicyRuleGroupsOperations -from .operations import IpGroupsOperations -from .operations import LoadBalancersOperations -from .operations import LoadBalancerBackendAddressPoolsOperations -from .operations import LoadBalancerFrontendIPConfigurationsOperations -from .operations import InboundNatRulesOperations -from .operations import LoadBalancerLoadBalancingRulesOperations -from .operations import LoadBalancerOutboundRulesOperations -from .operations import LoadBalancerNetworkInterfacesOperations -from .operations import LoadBalancerProbesOperations -from .operations import NatGatewaysOperations -from .operations import NetworkInterfacesOperations -from .operations import NetworkInterfaceIPConfigurationsOperations -from .operations import NetworkInterfaceLoadBalancersOperations -from .operations import NetworkInterfaceTapConfigurationsOperations -from .operations import NetworkProfilesOperations -from .operations import NetworkSecurityGroupsOperations -from .operations import SecurityRulesOperations -from .operations import DefaultSecurityRulesOperations -from .operations import NetworkWatchersOperations -from .operations import PacketCapturesOperations -from .operations import ConnectionMonitorsOperations -from .operations import Operations -from .operations import PrivateEndpointsOperations -from .operations import AvailablePrivateEndpointTypesOperations -from .operations import PrivateLinkServicesOperations -from .operations import PublicIPAddressesOperations -from .operations import PublicIPPrefixesOperations -from .operations import RouteFiltersOperations -from .operations import RouteFilterRulesOperations -from .operations import RouteTablesOperations -from .operations import RoutesOperations -from .operations import BgpServiceCommunitiesOperations -from .operations import ServiceEndpointPoliciesOperations -from .operations import ServiceEndpointPolicyDefinitionsOperations -from .operations import ServiceTagsOperations -from .operations import UsagesOperations -from .operations import VirtualNetworksOperations -from .operations import SubnetsOperations -from .operations import ResourceNavigationLinksOperations -from .operations import ServiceAssociationLinksOperations -from .operations import VirtualNetworkPeeringsOperations -from .operations import VirtualNetworkGatewaysOperations -from .operations import VirtualNetworkGatewayConnectionsOperations -from .operations import LocalNetworkGatewaysOperations -from .operations import VirtualNetworkTapsOperations -from .operations import VirtualRoutersOperations -from .operations import VirtualRouterPeeringsOperations -from .operations import VirtualWansOperations -from .operations import VpnSitesOperations -from .operations import VpnSiteLinksOperations -from .operations import VpnSitesConfigurationOperations -from .operations import VpnServerConfigurationsOperations -from .operations import VirtualHubsOperations -from .operations import HubVirtualNetworkConnectionsOperations -from .operations import VpnGatewaysOperations -from .operations import VpnConnectionsOperations -from .operations import VpnSiteLinkConnectionsOperations -from .operations import VpnLinkConnectionsOperations -from .operations import P2sVpnGatewaysOperations -from .operations import VpnServerConfigurationsAssociatedWithVirtualWanOperations -from .operations import VirtualHubRouteTableV2sOperations -from .operations import WebApplicationFirewallPoliciesOperations -from . import models - - -class NetworkManagementClient(NetworkManagementClientOperationsMixin, SDKClient): - """Network Client - - :ivar config: Configuration for client. - :vartype config: NetworkManagementClientConfiguration - - :ivar application_gateways: ApplicationGateways operations - :vartype application_gateways: azure.mgmt.network.v2019_09_01.operations.ApplicationGatewaysOperations - :ivar application_security_groups: ApplicationSecurityGroups operations - :vartype application_security_groups: azure.mgmt.network.v2019_09_01.operations.ApplicationSecurityGroupsOperations - :ivar available_delegations: AvailableDelegations operations - :vartype available_delegations: azure.mgmt.network.v2019_09_01.operations.AvailableDelegationsOperations - :ivar available_resource_group_delegations: AvailableResourceGroupDelegations operations - :vartype available_resource_group_delegations: azure.mgmt.network.v2019_09_01.operations.AvailableResourceGroupDelegationsOperations - :ivar available_service_aliases: AvailableServiceAliases operations - :vartype available_service_aliases: azure.mgmt.network.v2019_09_01.operations.AvailableServiceAliasesOperations - :ivar azure_firewalls: AzureFirewalls operations - :vartype azure_firewalls: azure.mgmt.network.v2019_09_01.operations.AzureFirewallsOperations - :ivar azure_firewall_fqdn_tags: AzureFirewallFqdnTags operations - :vartype azure_firewall_fqdn_tags: azure.mgmt.network.v2019_09_01.operations.AzureFirewallFqdnTagsOperations - :ivar bastion_hosts: BastionHosts operations - :vartype bastion_hosts: azure.mgmt.network.v2019_09_01.operations.BastionHostsOperations - :ivar ddos_custom_policies: DdosCustomPolicies operations - :vartype ddos_custom_policies: azure.mgmt.network.v2019_09_01.operations.DdosCustomPoliciesOperations - :ivar ddos_protection_plans: DdosProtectionPlans operations - :vartype ddos_protection_plans: azure.mgmt.network.v2019_09_01.operations.DdosProtectionPlansOperations - :ivar available_endpoint_services: AvailableEndpointServices operations - :vartype available_endpoint_services: azure.mgmt.network.v2019_09_01.operations.AvailableEndpointServicesOperations - :ivar express_route_circuit_authorizations: ExpressRouteCircuitAuthorizations operations - :vartype express_route_circuit_authorizations: azure.mgmt.network.v2019_09_01.operations.ExpressRouteCircuitAuthorizationsOperations - :ivar express_route_circuit_peerings: ExpressRouteCircuitPeerings operations - :vartype express_route_circuit_peerings: azure.mgmt.network.v2019_09_01.operations.ExpressRouteCircuitPeeringsOperations - :ivar express_route_circuit_connections: ExpressRouteCircuitConnections operations - :vartype express_route_circuit_connections: azure.mgmt.network.v2019_09_01.operations.ExpressRouteCircuitConnectionsOperations - :ivar peer_express_route_circuit_connections: PeerExpressRouteCircuitConnections operations - :vartype peer_express_route_circuit_connections: azure.mgmt.network.v2019_09_01.operations.PeerExpressRouteCircuitConnectionsOperations - :ivar express_route_circuits: ExpressRouteCircuits operations - :vartype express_route_circuits: azure.mgmt.network.v2019_09_01.operations.ExpressRouteCircuitsOperations - :ivar express_route_service_providers: ExpressRouteServiceProviders operations - :vartype express_route_service_providers: azure.mgmt.network.v2019_09_01.operations.ExpressRouteServiceProvidersOperations - :ivar express_route_cross_connections: ExpressRouteCrossConnections operations - :vartype express_route_cross_connections: azure.mgmt.network.v2019_09_01.operations.ExpressRouteCrossConnectionsOperations - :ivar express_route_cross_connection_peerings: ExpressRouteCrossConnectionPeerings operations - :vartype express_route_cross_connection_peerings: azure.mgmt.network.v2019_09_01.operations.ExpressRouteCrossConnectionPeeringsOperations - :ivar express_route_gateways: ExpressRouteGateways operations - :vartype express_route_gateways: azure.mgmt.network.v2019_09_01.operations.ExpressRouteGatewaysOperations - :ivar express_route_connections: ExpressRouteConnections operations - :vartype express_route_connections: azure.mgmt.network.v2019_09_01.operations.ExpressRouteConnectionsOperations - :ivar express_route_ports_locations: ExpressRoutePortsLocations operations - :vartype express_route_ports_locations: azure.mgmt.network.v2019_09_01.operations.ExpressRoutePortsLocationsOperations - :ivar express_route_ports: ExpressRoutePorts operations - :vartype express_route_ports: azure.mgmt.network.v2019_09_01.operations.ExpressRoutePortsOperations - :ivar express_route_links: ExpressRouteLinks operations - :vartype express_route_links: azure.mgmt.network.v2019_09_01.operations.ExpressRouteLinksOperations - :ivar firewall_policies: FirewallPolicies operations - :vartype firewall_policies: azure.mgmt.network.v2019_09_01.operations.FirewallPoliciesOperations - :ivar firewall_policy_rule_groups: FirewallPolicyRuleGroups operations - :vartype firewall_policy_rule_groups: azure.mgmt.network.v2019_09_01.operations.FirewallPolicyRuleGroupsOperations - :ivar ip_groups: IpGroups operations - :vartype ip_groups: azure.mgmt.network.v2019_09_01.operations.IpGroupsOperations - :ivar load_balancers: LoadBalancers operations - :vartype load_balancers: azure.mgmt.network.v2019_09_01.operations.LoadBalancersOperations - :ivar load_balancer_backend_address_pools: LoadBalancerBackendAddressPools operations - :vartype load_balancer_backend_address_pools: azure.mgmt.network.v2019_09_01.operations.LoadBalancerBackendAddressPoolsOperations - :ivar load_balancer_frontend_ip_configurations: LoadBalancerFrontendIPConfigurations operations - :vartype load_balancer_frontend_ip_configurations: azure.mgmt.network.v2019_09_01.operations.LoadBalancerFrontendIPConfigurationsOperations - :ivar inbound_nat_rules: InboundNatRules operations - :vartype inbound_nat_rules: azure.mgmt.network.v2019_09_01.operations.InboundNatRulesOperations - :ivar load_balancer_load_balancing_rules: LoadBalancerLoadBalancingRules operations - :vartype load_balancer_load_balancing_rules: azure.mgmt.network.v2019_09_01.operations.LoadBalancerLoadBalancingRulesOperations - :ivar load_balancer_outbound_rules: LoadBalancerOutboundRules operations - :vartype load_balancer_outbound_rules: azure.mgmt.network.v2019_09_01.operations.LoadBalancerOutboundRulesOperations - :ivar load_balancer_network_interfaces: LoadBalancerNetworkInterfaces operations - :vartype load_balancer_network_interfaces: azure.mgmt.network.v2019_09_01.operations.LoadBalancerNetworkInterfacesOperations - :ivar load_balancer_probes: LoadBalancerProbes operations - :vartype load_balancer_probes: azure.mgmt.network.v2019_09_01.operations.LoadBalancerProbesOperations - :ivar nat_gateways: NatGateways operations - :vartype nat_gateways: azure.mgmt.network.v2019_09_01.operations.NatGatewaysOperations - :ivar network_interfaces: NetworkInterfaces operations - :vartype network_interfaces: azure.mgmt.network.v2019_09_01.operations.NetworkInterfacesOperations - :ivar network_interface_ip_configurations: NetworkInterfaceIPConfigurations operations - :vartype network_interface_ip_configurations: azure.mgmt.network.v2019_09_01.operations.NetworkInterfaceIPConfigurationsOperations - :ivar network_interface_load_balancers: NetworkInterfaceLoadBalancers operations - :vartype network_interface_load_balancers: azure.mgmt.network.v2019_09_01.operations.NetworkInterfaceLoadBalancersOperations - :ivar network_interface_tap_configurations: NetworkInterfaceTapConfigurations operations - :vartype network_interface_tap_configurations: azure.mgmt.network.v2019_09_01.operations.NetworkInterfaceTapConfigurationsOperations - :ivar network_profiles: NetworkProfiles operations - :vartype network_profiles: azure.mgmt.network.v2019_09_01.operations.NetworkProfilesOperations - :ivar network_security_groups: NetworkSecurityGroups operations - :vartype network_security_groups: azure.mgmt.network.v2019_09_01.operations.NetworkSecurityGroupsOperations - :ivar security_rules: SecurityRules operations - :vartype security_rules: azure.mgmt.network.v2019_09_01.operations.SecurityRulesOperations - :ivar default_security_rules: DefaultSecurityRules operations - :vartype default_security_rules: azure.mgmt.network.v2019_09_01.operations.DefaultSecurityRulesOperations - :ivar network_watchers: NetworkWatchers operations - :vartype network_watchers: azure.mgmt.network.v2019_09_01.operations.NetworkWatchersOperations - :ivar packet_captures: PacketCaptures operations - :vartype packet_captures: azure.mgmt.network.v2019_09_01.operations.PacketCapturesOperations - :ivar connection_monitors: ConnectionMonitors operations - :vartype connection_monitors: azure.mgmt.network.v2019_09_01.operations.ConnectionMonitorsOperations - :ivar operations: Operations operations - :vartype operations: azure.mgmt.network.v2019_09_01.operations.Operations - :ivar private_endpoints: PrivateEndpoints operations - :vartype private_endpoints: azure.mgmt.network.v2019_09_01.operations.PrivateEndpointsOperations - :ivar available_private_endpoint_types: AvailablePrivateEndpointTypes operations - :vartype available_private_endpoint_types: azure.mgmt.network.v2019_09_01.operations.AvailablePrivateEndpointTypesOperations - :ivar private_link_services: PrivateLinkServices operations - :vartype private_link_services: azure.mgmt.network.v2019_09_01.operations.PrivateLinkServicesOperations - :ivar public_ip_addresses: PublicIPAddresses operations - :vartype public_ip_addresses: azure.mgmt.network.v2019_09_01.operations.PublicIPAddressesOperations - :ivar public_ip_prefixes: PublicIPPrefixes operations - :vartype public_ip_prefixes: azure.mgmt.network.v2019_09_01.operations.PublicIPPrefixesOperations - :ivar route_filters: RouteFilters operations - :vartype route_filters: azure.mgmt.network.v2019_09_01.operations.RouteFiltersOperations - :ivar route_filter_rules: RouteFilterRules operations - :vartype route_filter_rules: azure.mgmt.network.v2019_09_01.operations.RouteFilterRulesOperations - :ivar route_tables: RouteTables operations - :vartype route_tables: azure.mgmt.network.v2019_09_01.operations.RouteTablesOperations - :ivar routes: Routes operations - :vartype routes: azure.mgmt.network.v2019_09_01.operations.RoutesOperations - :ivar bgp_service_communities: BgpServiceCommunities operations - :vartype bgp_service_communities: azure.mgmt.network.v2019_09_01.operations.BgpServiceCommunitiesOperations - :ivar service_endpoint_policies: ServiceEndpointPolicies operations - :vartype service_endpoint_policies: azure.mgmt.network.v2019_09_01.operations.ServiceEndpointPoliciesOperations - :ivar service_endpoint_policy_definitions: ServiceEndpointPolicyDefinitions operations - :vartype service_endpoint_policy_definitions: azure.mgmt.network.v2019_09_01.operations.ServiceEndpointPolicyDefinitionsOperations - :ivar service_tags: ServiceTags operations - :vartype service_tags: azure.mgmt.network.v2019_09_01.operations.ServiceTagsOperations - :ivar usages: Usages operations - :vartype usages: azure.mgmt.network.v2019_09_01.operations.UsagesOperations - :ivar virtual_networks: VirtualNetworks operations - :vartype virtual_networks: azure.mgmt.network.v2019_09_01.operations.VirtualNetworksOperations - :ivar subnets: Subnets operations - :vartype subnets: azure.mgmt.network.v2019_09_01.operations.SubnetsOperations - :ivar resource_navigation_links: ResourceNavigationLinks operations - :vartype resource_navigation_links: azure.mgmt.network.v2019_09_01.operations.ResourceNavigationLinksOperations - :ivar service_association_links: ServiceAssociationLinks operations - :vartype service_association_links: azure.mgmt.network.v2019_09_01.operations.ServiceAssociationLinksOperations - :ivar virtual_network_peerings: VirtualNetworkPeerings operations - :vartype virtual_network_peerings: azure.mgmt.network.v2019_09_01.operations.VirtualNetworkPeeringsOperations - :ivar virtual_network_gateways: VirtualNetworkGateways operations - :vartype virtual_network_gateways: azure.mgmt.network.v2019_09_01.operations.VirtualNetworkGatewaysOperations - :ivar virtual_network_gateway_connections: VirtualNetworkGatewayConnections operations - :vartype virtual_network_gateway_connections: azure.mgmt.network.v2019_09_01.operations.VirtualNetworkGatewayConnectionsOperations - :ivar local_network_gateways: LocalNetworkGateways operations - :vartype local_network_gateways: azure.mgmt.network.v2019_09_01.operations.LocalNetworkGatewaysOperations - :ivar virtual_network_taps: VirtualNetworkTaps operations - :vartype virtual_network_taps: azure.mgmt.network.v2019_09_01.operations.VirtualNetworkTapsOperations - :ivar virtual_routers: VirtualRouters operations - :vartype virtual_routers: azure.mgmt.network.v2019_09_01.operations.VirtualRoutersOperations - :ivar virtual_router_peerings: VirtualRouterPeerings operations - :vartype virtual_router_peerings: azure.mgmt.network.v2019_09_01.operations.VirtualRouterPeeringsOperations - :ivar virtual_wans: VirtualWans operations - :vartype virtual_wans: azure.mgmt.network.v2019_09_01.operations.VirtualWansOperations - :ivar vpn_sites: VpnSites operations - :vartype vpn_sites: azure.mgmt.network.v2019_09_01.operations.VpnSitesOperations - :ivar vpn_site_links: VpnSiteLinks operations - :vartype vpn_site_links: azure.mgmt.network.v2019_09_01.operations.VpnSiteLinksOperations - :ivar vpn_sites_configuration: VpnSitesConfiguration operations - :vartype vpn_sites_configuration: azure.mgmt.network.v2019_09_01.operations.VpnSitesConfigurationOperations - :ivar vpn_server_configurations: VpnServerConfigurations operations - :vartype vpn_server_configurations: azure.mgmt.network.v2019_09_01.operations.VpnServerConfigurationsOperations - :ivar virtual_hubs: VirtualHubs operations - :vartype virtual_hubs: azure.mgmt.network.v2019_09_01.operations.VirtualHubsOperations - :ivar hub_virtual_network_connections: HubVirtualNetworkConnections operations - :vartype hub_virtual_network_connections: azure.mgmt.network.v2019_09_01.operations.HubVirtualNetworkConnectionsOperations - :ivar vpn_gateways: VpnGateways operations - :vartype vpn_gateways: azure.mgmt.network.v2019_09_01.operations.VpnGatewaysOperations - :ivar vpn_connections: VpnConnections operations - :vartype vpn_connections: azure.mgmt.network.v2019_09_01.operations.VpnConnectionsOperations - :ivar vpn_site_link_connections: VpnSiteLinkConnections operations - :vartype vpn_site_link_connections: azure.mgmt.network.v2019_09_01.operations.VpnSiteLinkConnectionsOperations - :ivar vpn_link_connections: VpnLinkConnections operations - :vartype vpn_link_connections: azure.mgmt.network.v2019_09_01.operations.VpnLinkConnectionsOperations - :ivar p2s_vpn_gateways: P2sVpnGateways operations - :vartype p2s_vpn_gateways: azure.mgmt.network.v2019_09_01.operations.P2sVpnGatewaysOperations - :ivar vpn_server_configurations_associated_with_virtual_wan: VpnServerConfigurationsAssociatedWithVirtualWan operations - :vartype vpn_server_configurations_associated_with_virtual_wan: azure.mgmt.network.v2019_09_01.operations.VpnServerConfigurationsAssociatedWithVirtualWanOperations - :ivar virtual_hub_route_table_v2s: VirtualHubRouteTableV2s operations - :vartype virtual_hub_route_table_v2s: azure.mgmt.network.v2019_09_01.operations.VirtualHubRouteTableV2sOperations - :ivar web_application_firewall_policies: WebApplicationFirewallPolicies operations - :vartype web_application_firewall_policies: azure.mgmt.network.v2019_09_01.operations.WebApplicationFirewallPoliciesOperations - - :param credentials: Credentials needed for the client to connect to Azure. - :type credentials: :mod:`A msrestazure Credentials - object` - :param subscription_id: The subscription credentials which uniquely - identify the Microsoft Azure subscription. The subscription ID forms part - of the URI for every service call. - :type subscription_id: str - :param str base_url: Service URL - """ - - def __init__( - self, credentials, subscription_id, base_url=None): - - self.config = NetworkManagementClientConfiguration(credentials, subscription_id, base_url) - super(NetworkManagementClient, self).__init__(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.application_gateways = ApplicationGatewaysOperations( - self._client, self.config, self._serialize, self._deserialize) - self.application_security_groups = ApplicationSecurityGroupsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.available_delegations = AvailableDelegationsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.available_resource_group_delegations = AvailableResourceGroupDelegationsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.available_service_aliases = AvailableServiceAliasesOperations( - self._client, self.config, self._serialize, self._deserialize) - self.azure_firewalls = AzureFirewallsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.azure_firewall_fqdn_tags = AzureFirewallFqdnTagsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.bastion_hosts = BastionHostsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.ddos_custom_policies = DdosCustomPoliciesOperations( - self._client, self.config, self._serialize, self._deserialize) - self.ddos_protection_plans = DdosProtectionPlansOperations( - self._client, self.config, self._serialize, self._deserialize) - self.available_endpoint_services = AvailableEndpointServicesOperations( - self._client, self.config, self._serialize, self._deserialize) - self.express_route_circuit_authorizations = ExpressRouteCircuitAuthorizationsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.express_route_circuit_peerings = ExpressRouteCircuitPeeringsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.express_route_circuit_connections = ExpressRouteCircuitConnectionsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.peer_express_route_circuit_connections = PeerExpressRouteCircuitConnectionsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.express_route_circuits = ExpressRouteCircuitsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.express_route_service_providers = ExpressRouteServiceProvidersOperations( - self._client, self.config, self._serialize, self._deserialize) - self.express_route_cross_connections = ExpressRouteCrossConnectionsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.express_route_cross_connection_peerings = ExpressRouteCrossConnectionPeeringsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.express_route_gateways = ExpressRouteGatewaysOperations( - self._client, self.config, self._serialize, self._deserialize) - self.express_route_connections = ExpressRouteConnectionsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.express_route_ports_locations = ExpressRoutePortsLocationsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.express_route_ports = ExpressRoutePortsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.express_route_links = ExpressRouteLinksOperations( - self._client, self.config, self._serialize, self._deserialize) - self.firewall_policies = FirewallPoliciesOperations( - self._client, self.config, self._serialize, self._deserialize) - self.firewall_policy_rule_groups = FirewallPolicyRuleGroupsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.ip_groups = IpGroupsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.load_balancers = LoadBalancersOperations( - self._client, self.config, self._serialize, self._deserialize) - self.load_balancer_backend_address_pools = LoadBalancerBackendAddressPoolsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.load_balancer_frontend_ip_configurations = LoadBalancerFrontendIPConfigurationsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.inbound_nat_rules = InboundNatRulesOperations( - self._client, self.config, self._serialize, self._deserialize) - self.load_balancer_load_balancing_rules = LoadBalancerLoadBalancingRulesOperations( - self._client, self.config, self._serialize, self._deserialize) - self.load_balancer_outbound_rules = LoadBalancerOutboundRulesOperations( - self._client, self.config, self._serialize, self._deserialize) - self.load_balancer_network_interfaces = LoadBalancerNetworkInterfacesOperations( - self._client, self.config, self._serialize, self._deserialize) - self.load_balancer_probes = LoadBalancerProbesOperations( - self._client, self.config, self._serialize, self._deserialize) - self.nat_gateways = NatGatewaysOperations( - self._client, self.config, self._serialize, self._deserialize) - self.network_interfaces = NetworkInterfacesOperations( - self._client, self.config, self._serialize, self._deserialize) - self.network_interface_ip_configurations = NetworkInterfaceIPConfigurationsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.network_interface_load_balancers = NetworkInterfaceLoadBalancersOperations( - self._client, self.config, self._serialize, self._deserialize) - self.network_interface_tap_configurations = NetworkInterfaceTapConfigurationsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.network_profiles = NetworkProfilesOperations( - self._client, self.config, self._serialize, self._deserialize) - self.network_security_groups = NetworkSecurityGroupsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.security_rules = SecurityRulesOperations( - self._client, self.config, self._serialize, self._deserialize) - self.default_security_rules = DefaultSecurityRulesOperations( - self._client, self.config, self._serialize, self._deserialize) - self.network_watchers = NetworkWatchersOperations( - self._client, self.config, self._serialize, self._deserialize) - self.packet_captures = PacketCapturesOperations( - self._client, self.config, self._serialize, self._deserialize) - self.connection_monitors = ConnectionMonitorsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.operations = Operations( - self._client, self.config, self._serialize, self._deserialize) - self.private_endpoints = PrivateEndpointsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.available_private_endpoint_types = AvailablePrivateEndpointTypesOperations( - self._client, self.config, self._serialize, self._deserialize) - self.private_link_services = PrivateLinkServicesOperations( - self._client, self.config, self._serialize, self._deserialize) - self.public_ip_addresses = PublicIPAddressesOperations( - self._client, self.config, self._serialize, self._deserialize) - self.public_ip_prefixes = PublicIPPrefixesOperations( - self._client, self.config, self._serialize, self._deserialize) - self.route_filters = RouteFiltersOperations( - self._client, self.config, self._serialize, self._deserialize) - self.route_filter_rules = RouteFilterRulesOperations( - self._client, self.config, self._serialize, self._deserialize) - self.route_tables = RouteTablesOperations( - self._client, self.config, self._serialize, self._deserialize) - self.routes = RoutesOperations( - self._client, self.config, self._serialize, self._deserialize) - self.bgp_service_communities = BgpServiceCommunitiesOperations( - self._client, self.config, self._serialize, self._deserialize) - self.service_endpoint_policies = ServiceEndpointPoliciesOperations( - self._client, self.config, self._serialize, self._deserialize) - self.service_endpoint_policy_definitions = ServiceEndpointPolicyDefinitionsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.service_tags = ServiceTagsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.usages = UsagesOperations( - self._client, self.config, self._serialize, self._deserialize) - self.virtual_networks = VirtualNetworksOperations( - self._client, self.config, self._serialize, self._deserialize) - self.subnets = SubnetsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.resource_navigation_links = ResourceNavigationLinksOperations( - self._client, self.config, self._serialize, self._deserialize) - self.service_association_links = ServiceAssociationLinksOperations( - self._client, self.config, self._serialize, self._deserialize) - self.virtual_network_peerings = VirtualNetworkPeeringsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.virtual_network_gateways = VirtualNetworkGatewaysOperations( - self._client, self.config, self._serialize, self._deserialize) - self.virtual_network_gateway_connections = VirtualNetworkGatewayConnectionsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.local_network_gateways = LocalNetworkGatewaysOperations( - self._client, self.config, self._serialize, self._deserialize) - self.virtual_network_taps = VirtualNetworkTapsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.virtual_routers = VirtualRoutersOperations( - self._client, self.config, self._serialize, self._deserialize) - self.virtual_router_peerings = VirtualRouterPeeringsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.virtual_wans = VirtualWansOperations( - self._client, self.config, self._serialize, self._deserialize) - self.vpn_sites = VpnSitesOperations( - self._client, self.config, self._serialize, self._deserialize) - self.vpn_site_links = VpnSiteLinksOperations( - self._client, self.config, self._serialize, self._deserialize) - self.vpn_sites_configuration = VpnSitesConfigurationOperations( - self._client, self.config, self._serialize, self._deserialize) - self.vpn_server_configurations = VpnServerConfigurationsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.virtual_hubs = VirtualHubsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.hub_virtual_network_connections = HubVirtualNetworkConnectionsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.vpn_gateways = VpnGatewaysOperations( - self._client, self.config, self._serialize, self._deserialize) - self.vpn_connections = VpnConnectionsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.vpn_site_link_connections = VpnSiteLinkConnectionsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.vpn_link_connections = VpnLinkConnectionsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.p2s_vpn_gateways = P2sVpnGatewaysOperations( - self._client, self.config, self._serialize, self._deserialize) - self.vpn_server_configurations_associated_with_virtual_wan = VpnServerConfigurationsAssociatedWithVirtualWanOperations( - self._client, self.config, self._serialize, self._deserialize) - self.virtual_hub_route_table_v2s = VirtualHubRouteTableV2sOperations( - self._client, self.config, self._serialize, self._deserialize) - self.web_application_firewall_policies = WebApplicationFirewallPoliciesOperations( - self._client, self.config, self._serialize, self._deserialize) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/models/__init__.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/models/__init__.py deleted file mode 100644 index 0c8ebf4d246..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/models/__init__.py +++ /dev/null @@ -1,1486 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -try: - from ._models_py3 import AadAuthenticationParameters - from ._models_py3 import AddressSpace - from ._models_py3 import ApplicationGateway - from ._models_py3 import ApplicationGatewayAuthenticationCertificate - from ._models_py3 import ApplicationGatewayAutoscaleConfiguration - from ._models_py3 import ApplicationGatewayAvailableSslOptions - from ._models_py3 import ApplicationGatewayAvailableWafRuleSetsResult - from ._models_py3 import ApplicationGatewayBackendAddress - from ._models_py3 import ApplicationGatewayBackendAddressPool - from ._models_py3 import ApplicationGatewayBackendHealth - from ._models_py3 import ApplicationGatewayBackendHealthHttpSettings - from ._models_py3 import ApplicationGatewayBackendHealthOnDemand - from ._models_py3 import ApplicationGatewayBackendHealthPool - from ._models_py3 import ApplicationGatewayBackendHealthServer - from ._models_py3 import ApplicationGatewayBackendHttpSettings - from ._models_py3 import ApplicationGatewayConnectionDraining - from ._models_py3 import ApplicationGatewayCustomError - from ._models_py3 import ApplicationGatewayFirewallDisabledRuleGroup - from ._models_py3 import ApplicationGatewayFirewallExclusion - from ._models_py3 import ApplicationGatewayFirewallRule - from ._models_py3 import ApplicationGatewayFirewallRuleGroup - from ._models_py3 import ApplicationGatewayFirewallRuleSet - from ._models_py3 import ApplicationGatewayFrontendIPConfiguration - from ._models_py3 import ApplicationGatewayFrontendPort - from ._models_py3 import ApplicationGatewayHeaderConfiguration - from ._models_py3 import ApplicationGatewayHttpListener - from ._models_py3 import ApplicationGatewayIPConfiguration - from ._models_py3 import ApplicationGatewayOnDemandProbe - from ._models_py3 import ApplicationGatewayPathRule - from ._models_py3 import ApplicationGatewayProbe - from ._models_py3 import ApplicationGatewayProbeHealthResponseMatch - from ._models_py3 import ApplicationGatewayRedirectConfiguration - from ._models_py3 import ApplicationGatewayRequestRoutingRule - from ._models_py3 import ApplicationGatewayRewriteRule - from ._models_py3 import ApplicationGatewayRewriteRuleActionSet - from ._models_py3 import ApplicationGatewayRewriteRuleCondition - from ._models_py3 import ApplicationGatewayRewriteRuleSet - from ._models_py3 import ApplicationGatewaySku - from ._models_py3 import ApplicationGatewaySslCertificate - from ._models_py3 import ApplicationGatewaySslPolicy - from ._models_py3 import ApplicationGatewaySslPredefinedPolicy - from ._models_py3 import ApplicationGatewayTrustedRootCertificate - from ._models_py3 import ApplicationGatewayUrlPathMap - from ._models_py3 import ApplicationGatewayWebApplicationFirewallConfiguration - from ._models_py3 import ApplicationRuleCondition - from ._models_py3 import ApplicationSecurityGroup - from ._models_py3 import AutoApprovedPrivateLinkService - from ._models_py3 import Availability - from ._models_py3 import AvailableDelegation - from ._models_py3 import AvailablePrivateEndpointType - from ._models_py3 import AvailableProvidersList - from ._models_py3 import AvailableProvidersListCity - from ._models_py3 import AvailableProvidersListCountry - from ._models_py3 import AvailableProvidersListParameters - from ._models_py3 import AvailableProvidersListState - from ._models_py3 import AvailableServiceAlias - from ._models_py3 import AzureAsyncOperationResult - from ._models_py3 import AzureFirewall - from ._models_py3 import AzureFirewallApplicationRule - from ._models_py3 import AzureFirewallApplicationRuleCollection - from ._models_py3 import AzureFirewallApplicationRuleProtocol - from ._models_py3 import AzureFirewallFqdnTag - from ._models_py3 import AzureFirewallIPConfiguration - from ._models_py3 import AzureFirewallNatRCAction - from ._models_py3 import AzureFirewallNatRule - from ._models_py3 import AzureFirewallNatRuleCollection - from ._models_py3 import AzureFirewallNetworkRule - from ._models_py3 import AzureFirewallNetworkRuleCollection - from ._models_py3 import AzureFirewallPublicIPAddress - from ._models_py3 import AzureFirewallRCAction - from ._models_py3 import AzureFirewallSku - from ._models_py3 import AzureReachabilityReport - from ._models_py3 import AzureReachabilityReportItem - from ._models_py3 import AzureReachabilityReportLatencyInfo - from ._models_py3 import AzureReachabilityReportLocation - from ._models_py3 import AzureReachabilityReportParameters - from ._models_py3 import BackendAddressPool - from ._models_py3 import BastionHost - from ._models_py3 import BastionHostIPConfiguration - from ._models_py3 import BGPCommunity - from ._models_py3 import BgpPeerStatus - from ._models_py3 import BgpPeerStatusListResult - from ._models_py3 import BgpServiceCommunity - from ._models_py3 import BgpSettings - from ._models_py3 import CheckPrivateLinkServiceVisibilityRequest - from ._models_py3 import ConnectionMonitor - from ._models_py3 import ConnectionMonitorDestination - from ._models_py3 import ConnectionMonitorParameters - from ._models_py3 import ConnectionMonitorQueryResult - from ._models_py3 import ConnectionMonitorResult - from ._models_py3 import ConnectionMonitorSource - from ._models_py3 import ConnectionResetSharedKey - from ._models_py3 import ConnectionSharedKey - from ._models_py3 import ConnectionStateSnapshot - from ._models_py3 import ConnectivityDestination - from ._models_py3 import ConnectivityHop - from ._models_py3 import ConnectivityInformation - from ._models_py3 import ConnectivityIssue - from ._models_py3 import ConnectivityParameters - from ._models_py3 import ConnectivitySource - from ._models_py3 import Container - from ._models_py3 import ContainerNetworkInterface - from ._models_py3 import ContainerNetworkInterfaceConfiguration - from ._models_py3 import ContainerNetworkInterfaceIpConfiguration - from ._models_py3 import DdosCustomPolicy - from ._models_py3 import DdosProtectionPlan - from ._models_py3 import DdosSettings - from ._models_py3 import Delegation - from ._models_py3 import DeviceProperties - from ._models_py3 import DhcpOptions - from ._models_py3 import Dimension - from ._models_py3 import DnsNameAvailabilityResult - from ._models_py3 import EffectiveNetworkSecurityGroup - from ._models_py3 import EffectiveNetworkSecurityGroupAssociation - from ._models_py3 import EffectiveNetworkSecurityGroupListResult - from ._models_py3 import EffectiveNetworkSecurityRule - from ._models_py3 import EffectiveRoute - from ._models_py3 import EffectiveRouteListResult - from ._models_py3 import EndpointServiceResult - from ._models_py3 import Error, ErrorException - from ._models_py3 import ErrorDetails - from ._models_py3 import ErrorResponse, ErrorResponseException - from ._models_py3 import EvaluatedNetworkSecurityGroup - from ._models_py3 import ExpressRouteCircuit - from ._models_py3 import ExpressRouteCircuitArpTable - from ._models_py3 import ExpressRouteCircuitAuthorization - from ._models_py3 import ExpressRouteCircuitConnection - from ._models_py3 import ExpressRouteCircuitPeering - from ._models_py3 import ExpressRouteCircuitPeeringConfig - from ._models_py3 import ExpressRouteCircuitPeeringId - from ._models_py3 import ExpressRouteCircuitReference - from ._models_py3 import ExpressRouteCircuitRoutesTable - from ._models_py3 import ExpressRouteCircuitRoutesTableSummary - from ._models_py3 import ExpressRouteCircuitsArpTableListResult - from ._models_py3 import ExpressRouteCircuitServiceProviderProperties - from ._models_py3 import ExpressRouteCircuitSku - from ._models_py3 import ExpressRouteCircuitsRoutesTableListResult - from ._models_py3 import ExpressRouteCircuitsRoutesTableSummaryListResult - from ._models_py3 import ExpressRouteCircuitStats - from ._models_py3 import ExpressRouteConnection - from ._models_py3 import ExpressRouteConnectionId - from ._models_py3 import ExpressRouteConnectionList - from ._models_py3 import ExpressRouteCrossConnection - from ._models_py3 import ExpressRouteCrossConnectionPeering - from ._models_py3 import ExpressRouteCrossConnectionRoutesTableSummary - from ._models_py3 import ExpressRouteCrossConnectionsRoutesTableSummaryListResult - from ._models_py3 import ExpressRouteGateway - from ._models_py3 import ExpressRouteGatewayList - from ._models_py3 import ExpressRouteGatewayPropertiesAutoScaleConfiguration - from ._models_py3 import ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds - from ._models_py3 import ExpressRouteLink - from ._models_py3 import ExpressRouteLinkMacSecConfig - from ._models_py3 import ExpressRoutePort - from ._models_py3 import ExpressRoutePortsLocation - from ._models_py3 import ExpressRoutePortsLocationBandwidths - from ._models_py3 import ExpressRouteServiceProvider - from ._models_py3 import ExpressRouteServiceProviderBandwidthsOffered - from ._models_py3 import FirewallPolicy - from ._models_py3 import FirewallPolicyFilterRule - from ._models_py3 import FirewallPolicyFilterRuleAction - from ._models_py3 import FirewallPolicyNatRule - from ._models_py3 import FirewallPolicyNatRuleAction - from ._models_py3 import FirewallPolicyRule - from ._models_py3 import FirewallPolicyRuleCondition - from ._models_py3 import FirewallPolicyRuleConditionApplicationProtocol - from ._models_py3 import FirewallPolicyRuleGroup - from ._models_py3 import FlowLogFormatParameters - from ._models_py3 import FlowLogInformation - from ._models_py3 import FlowLogStatusParameters - from ._models_py3 import FrontendIPConfiguration - from ._models_py3 import GatewayRoute - from ._models_py3 import GatewayRouteListResult - from ._models_py3 import GetVpnSitesConfigurationRequest - from ._models_py3 import HTTPConfiguration - from ._models_py3 import HTTPHeader - from ._models_py3 import HubIPAddresses - from ._models_py3 import HubVirtualNetworkConnection - from ._models_py3 import InboundNatPool - from ._models_py3 import InboundNatRule - from ._models_py3 import IPAddressAvailabilityResult - from ._models_py3 import IPConfiguration - from ._models_py3 import IPConfigurationProfile - from ._models_py3 import IpGroup - from ._models_py3 import IpsecPolicy - from ._models_py3 import IpTag - from ._models_py3 import Ipv6ExpressRouteCircuitPeeringConfig - from ._models_py3 import LoadBalancer - from ._models_py3 import LoadBalancerSku - from ._models_py3 import LoadBalancingRule - from ._models_py3 import LocalNetworkGateway - from ._models_py3 import LogSpecification - from ._models_py3 import ManagedRuleGroupOverride - from ._models_py3 import ManagedRuleOverride - from ._models_py3 import ManagedRulesDefinition - from ._models_py3 import ManagedRuleSet - from ._models_py3 import ManagedServiceIdentity - from ._models_py3 import ManagedServiceIdentityUserAssignedIdentitiesValue - from ._models_py3 import MatchCondition - from ._models_py3 import MatchedRule - from ._models_py3 import MatchVariable - from ._models_py3 import MetricSpecification - from ._models_py3 import NatGateway - from ._models_py3 import NatGatewaySku - from ._models_py3 import NetworkConfigurationDiagnosticParameters - from ._models_py3 import NetworkConfigurationDiagnosticProfile - from ._models_py3 import NetworkConfigurationDiagnosticResponse - from ._models_py3 import NetworkConfigurationDiagnosticResult - from ._models_py3 import NetworkIntentPolicy - from ._models_py3 import NetworkIntentPolicyConfiguration - from ._models_py3 import NetworkInterface - from ._models_py3 import NetworkInterfaceAssociation - from ._models_py3 import NetworkInterfaceDnsSettings - from ._models_py3 import NetworkInterfaceIPConfiguration - from ._models_py3 import NetworkInterfaceIPConfigurationPrivateLinkConnectionProperties - from ._models_py3 import NetworkInterfaceTapConfiguration - from ._models_py3 import NetworkProfile - from ._models_py3 import NetworkRuleCondition - from ._models_py3 import NetworkSecurityGroup - from ._models_py3 import NetworkSecurityGroupResult - from ._models_py3 import NetworkSecurityRulesEvaluationResult - from ._models_py3 import NetworkWatcher - from ._models_py3 import NextHopParameters - from ._models_py3 import NextHopResult - from ._models_py3 import Operation - from ._models_py3 import OperationDisplay - from ._models_py3 import OperationPropertiesFormatServiceSpecification - from ._models_py3 import OutboundRule - from ._models_py3 import OwaspCrsExclusionEntry - from ._models_py3 import P2SConnectionConfiguration - from ._models_py3 import P2SVpnConnectionHealth - from ._models_py3 import P2SVpnConnectionHealthRequest - from ._models_py3 import P2SVpnGateway - from ._models_py3 import P2SVpnProfileParameters - from ._models_py3 import PacketCapture - from ._models_py3 import PacketCaptureFilter - from ._models_py3 import PacketCaptureParameters - from ._models_py3 import PacketCaptureQueryStatusResult - from ._models_py3 import PacketCaptureResult - from ._models_py3 import PacketCaptureStorageLocation - from ._models_py3 import PatchRouteFilter - from ._models_py3 import PatchRouteFilterRule - from ._models_py3 import PeerExpressRouteCircuitConnection - from ._models_py3 import PolicySettings - from ._models_py3 import PrepareNetworkPoliciesRequest - from ._models_py3 import PrivateEndpoint - from ._models_py3 import PrivateEndpointConnection - from ._models_py3 import PrivateLinkService - from ._models_py3 import PrivateLinkServiceConnection - from ._models_py3 import PrivateLinkServiceConnectionState - from ._models_py3 import PrivateLinkServiceIpConfiguration - from ._models_py3 import PrivateLinkServicePropertiesAutoApproval - from ._models_py3 import PrivateLinkServicePropertiesVisibility - from ._models_py3 import PrivateLinkServiceVisibility - from ._models_py3 import Probe - from ._models_py3 import ProtocolConfiguration - from ._models_py3 import ProtocolCustomSettingsFormat - from ._models_py3 import PublicIPAddress - from ._models_py3 import PublicIPAddressDnsSettings - from ._models_py3 import PublicIPAddressSku - from ._models_py3 import PublicIPPrefix - from ._models_py3 import PublicIPPrefixSku - from ._models_py3 import QueryTroubleshootingParameters - from ._models_py3 import ReferencedPublicIpAddress - from ._models_py3 import Resource - from ._models_py3 import ResourceNavigationLink - from ._models_py3 import ResourceNavigationLinksListResult - from ._models_py3 import ResourceSet - from ._models_py3 import RetentionPolicyParameters - from ._models_py3 import Route - from ._models_py3 import RouteFilter - from ._models_py3 import RouteFilterRule - from ._models_py3 import RouteTable - from ._models_py3 import SecurityGroupNetworkInterface - from ._models_py3 import SecurityGroupViewParameters - from ._models_py3 import SecurityGroupViewResult - from ._models_py3 import SecurityRule - from ._models_py3 import SecurityRuleAssociations - from ._models_py3 import ServiceAssociationLink - from ._models_py3 import ServiceAssociationLinksListResult - from ._models_py3 import ServiceEndpointPolicy - from ._models_py3 import ServiceEndpointPolicyDefinition - from ._models_py3 import ServiceEndpointPropertiesFormat - from ._models_py3 import ServiceTagInformation - from ._models_py3 import ServiceTagInformationPropertiesFormat - from ._models_py3 import ServiceTagsListResult - from ._models_py3 import Subnet - from ._models_py3 import SubnetAssociation - from ._models_py3 import SubResource - from ._models_py3 import TagsObject - from ._models_py3 import Topology - from ._models_py3 import TopologyAssociation - from ._models_py3 import TopologyParameters - from ._models_py3 import TopologyResource - from ._models_py3 import TrafficAnalyticsConfigurationProperties - from ._models_py3 import TrafficAnalyticsProperties - from ._models_py3 import TrafficSelectorPolicy - from ._models_py3 import TroubleshootingDetails - from ._models_py3 import TroubleshootingParameters - from ._models_py3 import TroubleshootingRecommendedActions - from ._models_py3 import TroubleshootingResult - from ._models_py3 import TunnelConnectionHealth - from ._models_py3 import UnprepareNetworkPoliciesRequest - from ._models_py3 import Usage - from ._models_py3 import UsageName - from ._models_py3 import VerificationIPFlowParameters - from ._models_py3 import VerificationIPFlowResult - from ._models_py3 import VirtualHub - from ._models_py3 import VirtualHubId - from ._models_py3 import VirtualHubRoute - from ._models_py3 import VirtualHubRouteTable - from ._models_py3 import VirtualHubRouteTableV2 - from ._models_py3 import VirtualHubRouteV2 - from ._models_py3 import VirtualNetwork - from ._models_py3 import VirtualNetworkBgpCommunities - from ._models_py3 import VirtualNetworkConnectionGatewayReference - from ._models_py3 import VirtualNetworkGateway - from ._models_py3 import VirtualNetworkGatewayConnection - from ._models_py3 import VirtualNetworkGatewayConnectionListEntity - from ._models_py3 import VirtualNetworkGatewayIPConfiguration - from ._models_py3 import VirtualNetworkGatewaySku - from ._models_py3 import VirtualNetworkPeering - from ._models_py3 import VirtualNetworkTap - from ._models_py3 import VirtualNetworkUsage - from ._models_py3 import VirtualNetworkUsageName - from ._models_py3 import VirtualRouter - from ._models_py3 import VirtualRouterPeering - from ._models_py3 import VirtualWAN - from ._models_py3 import VirtualWanSecurityProvider - from ._models_py3 import VirtualWanSecurityProviders - from ._models_py3 import VirtualWanVpnProfileParameters - from ._models_py3 import VpnClientConfiguration - from ._models_py3 import VpnClientConnectionHealth - from ._models_py3 import VpnClientConnectionHealthDetail - from ._models_py3 import VpnClientConnectionHealthDetailListResult - from ._models_py3 import VpnClientIPsecParameters - from ._models_py3 import VpnClientParameters - from ._models_py3 import VpnClientRevokedCertificate - from ._models_py3 import VpnClientRootCertificate - from ._models_py3 import VpnConnection - from ._models_py3 import VpnDeviceScriptParameters - from ._models_py3 import VpnGateway - from ._models_py3 import VpnLinkBgpSettings - from ._models_py3 import VpnLinkProviderProperties - from ._models_py3 import VpnPacketCaptureStartParameters - from ._models_py3 import VpnPacketCaptureStopParameters - from ._models_py3 import VpnProfileResponse - from ._models_py3 import VpnServerConfigRadiusClientRootCertificate - from ._models_py3 import VpnServerConfigRadiusServerRootCertificate - from ._models_py3 import VpnServerConfiguration - from ._models_py3 import VpnServerConfigurationsResponse - from ._models_py3 import VpnServerConfigVpnClientRevokedCertificate - from ._models_py3 import VpnServerConfigVpnClientRootCertificate - from ._models_py3 import VpnSite - from ._models_py3 import VpnSiteId - from ._models_py3 import VpnSiteLink - from ._models_py3 import VpnSiteLinkConnection - from ._models_py3 import WebApplicationFirewallCustomRule - from ._models_py3 import WebApplicationFirewallPolicy -except (SyntaxError, ImportError): - from ._models import AadAuthenticationParameters - from ._models import AddressSpace - from ._models import ApplicationGateway - from ._models import ApplicationGatewayAuthenticationCertificate - from ._models import ApplicationGatewayAutoscaleConfiguration - from ._models import ApplicationGatewayAvailableSslOptions - from ._models import ApplicationGatewayAvailableWafRuleSetsResult - from ._models import ApplicationGatewayBackendAddress - from ._models import ApplicationGatewayBackendAddressPool - from ._models import ApplicationGatewayBackendHealth - from ._models import ApplicationGatewayBackendHealthHttpSettings - from ._models import ApplicationGatewayBackendHealthOnDemand - from ._models import ApplicationGatewayBackendHealthPool - from ._models import ApplicationGatewayBackendHealthServer - from ._models import ApplicationGatewayBackendHttpSettings - from ._models import ApplicationGatewayConnectionDraining - from ._models import ApplicationGatewayCustomError - from ._models import ApplicationGatewayFirewallDisabledRuleGroup - from ._models import ApplicationGatewayFirewallExclusion - from ._models import ApplicationGatewayFirewallRule - from ._models import ApplicationGatewayFirewallRuleGroup - from ._models import ApplicationGatewayFirewallRuleSet - from ._models import ApplicationGatewayFrontendIPConfiguration - from ._models import ApplicationGatewayFrontendPort - from ._models import ApplicationGatewayHeaderConfiguration - from ._models import ApplicationGatewayHttpListener - from ._models import ApplicationGatewayIPConfiguration - from ._models import ApplicationGatewayOnDemandProbe - from ._models import ApplicationGatewayPathRule - from ._models import ApplicationGatewayProbe - from ._models import ApplicationGatewayProbeHealthResponseMatch - from ._models import ApplicationGatewayRedirectConfiguration - from ._models import ApplicationGatewayRequestRoutingRule - from ._models import ApplicationGatewayRewriteRule - from ._models import ApplicationGatewayRewriteRuleActionSet - from ._models import ApplicationGatewayRewriteRuleCondition - from ._models import ApplicationGatewayRewriteRuleSet - from ._models import ApplicationGatewaySku - from ._models import ApplicationGatewaySslCertificate - from ._models import ApplicationGatewaySslPolicy - from ._models import ApplicationGatewaySslPredefinedPolicy - from ._models import ApplicationGatewayTrustedRootCertificate - from ._models import ApplicationGatewayUrlPathMap - from ._models import ApplicationGatewayWebApplicationFirewallConfiguration - from ._models import ApplicationRuleCondition - from ._models import ApplicationSecurityGroup - from ._models import AutoApprovedPrivateLinkService - from ._models import Availability - from ._models import AvailableDelegation - from ._models import AvailablePrivateEndpointType - from ._models import AvailableProvidersList - from ._models import AvailableProvidersListCity - from ._models import AvailableProvidersListCountry - from ._models import AvailableProvidersListParameters - from ._models import AvailableProvidersListState - from ._models import AvailableServiceAlias - from ._models import AzureAsyncOperationResult - from ._models import AzureFirewall - from ._models import AzureFirewallApplicationRule - from ._models import AzureFirewallApplicationRuleCollection - from ._models import AzureFirewallApplicationRuleProtocol - from ._models import AzureFirewallFqdnTag - from ._models import AzureFirewallIPConfiguration - from ._models import AzureFirewallNatRCAction - from ._models import AzureFirewallNatRule - from ._models import AzureFirewallNatRuleCollection - from ._models import AzureFirewallNetworkRule - from ._models import AzureFirewallNetworkRuleCollection - from ._models import AzureFirewallPublicIPAddress - from ._models import AzureFirewallRCAction - from ._models import AzureFirewallSku - from ._models import AzureReachabilityReport - from ._models import AzureReachabilityReportItem - from ._models import AzureReachabilityReportLatencyInfo - from ._models import AzureReachabilityReportLocation - from ._models import AzureReachabilityReportParameters - from ._models import BackendAddressPool - from ._models import BastionHost - from ._models import BastionHostIPConfiguration - from ._models import BGPCommunity - from ._models import BgpPeerStatus - from ._models import BgpPeerStatusListResult - from ._models import BgpServiceCommunity - from ._models import BgpSettings - from ._models import CheckPrivateLinkServiceVisibilityRequest - from ._models import ConnectionMonitor - from ._models import ConnectionMonitorDestination - from ._models import ConnectionMonitorParameters - from ._models import ConnectionMonitorQueryResult - from ._models import ConnectionMonitorResult - from ._models import ConnectionMonitorSource - from ._models import ConnectionResetSharedKey - from ._models import ConnectionSharedKey - from ._models import ConnectionStateSnapshot - from ._models import ConnectivityDestination - from ._models import ConnectivityHop - from ._models import ConnectivityInformation - from ._models import ConnectivityIssue - from ._models import ConnectivityParameters - from ._models import ConnectivitySource - from ._models import Container - from ._models import ContainerNetworkInterface - from ._models import ContainerNetworkInterfaceConfiguration - from ._models import ContainerNetworkInterfaceIpConfiguration - from ._models import DdosCustomPolicy - from ._models import DdosProtectionPlan - from ._models import DdosSettings - from ._models import Delegation - from ._models import DeviceProperties - from ._models import DhcpOptions - from ._models import Dimension - from ._models import DnsNameAvailabilityResult - from ._models import EffectiveNetworkSecurityGroup - from ._models import EffectiveNetworkSecurityGroupAssociation - from ._models import EffectiveNetworkSecurityGroupListResult - from ._models import EffectiveNetworkSecurityRule - from ._models import EffectiveRoute - from ._models import EffectiveRouteListResult - from ._models import EndpointServiceResult - from ._models import Error, ErrorException - from ._models import ErrorDetails - from ._models import ErrorResponse, ErrorResponseException - from ._models import EvaluatedNetworkSecurityGroup - from ._models import ExpressRouteCircuit - from ._models import ExpressRouteCircuitArpTable - from ._models import ExpressRouteCircuitAuthorization - from ._models import ExpressRouteCircuitConnection - from ._models import ExpressRouteCircuitPeering - from ._models import ExpressRouteCircuitPeeringConfig - from ._models import ExpressRouteCircuitPeeringId - from ._models import ExpressRouteCircuitReference - from ._models import ExpressRouteCircuitRoutesTable - from ._models import ExpressRouteCircuitRoutesTableSummary - from ._models import ExpressRouteCircuitsArpTableListResult - from ._models import ExpressRouteCircuitServiceProviderProperties - from ._models import ExpressRouteCircuitSku - from ._models import ExpressRouteCircuitsRoutesTableListResult - from ._models import ExpressRouteCircuitsRoutesTableSummaryListResult - from ._models import ExpressRouteCircuitStats - from ._models import ExpressRouteConnection - from ._models import ExpressRouteConnectionId - from ._models import ExpressRouteConnectionList - from ._models import ExpressRouteCrossConnection - from ._models import ExpressRouteCrossConnectionPeering - from ._models import ExpressRouteCrossConnectionRoutesTableSummary - from ._models import ExpressRouteCrossConnectionsRoutesTableSummaryListResult - from ._models import ExpressRouteGateway - from ._models import ExpressRouteGatewayList - from ._models import ExpressRouteGatewayPropertiesAutoScaleConfiguration - from ._models import ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds - from ._models import ExpressRouteLink - from ._models import ExpressRouteLinkMacSecConfig - from ._models import ExpressRoutePort - from ._models import ExpressRoutePortsLocation - from ._models import ExpressRoutePortsLocationBandwidths - from ._models import ExpressRouteServiceProvider - from ._models import ExpressRouteServiceProviderBandwidthsOffered - from ._models import FirewallPolicy - from ._models import FirewallPolicyFilterRule - from ._models import FirewallPolicyFilterRuleAction - from ._models import FirewallPolicyNatRule - from ._models import FirewallPolicyNatRuleAction - from ._models import FirewallPolicyRule - from ._models import FirewallPolicyRuleCondition - from ._models import FirewallPolicyRuleConditionApplicationProtocol - from ._models import FirewallPolicyRuleGroup - from ._models import FlowLogFormatParameters - from ._models import FlowLogInformation - from ._models import FlowLogStatusParameters - from ._models import FrontendIPConfiguration - from ._models import GatewayRoute - from ._models import GatewayRouteListResult - from ._models import GetVpnSitesConfigurationRequest - from ._models import HTTPConfiguration - from ._models import HTTPHeader - from ._models import HubIPAddresses - from ._models import HubVirtualNetworkConnection - from ._models import InboundNatPool - from ._models import InboundNatRule - from ._models import IPAddressAvailabilityResult - from ._models import IPConfiguration - from ._models import IPConfigurationProfile - from ._models import IpGroup - from ._models import IpsecPolicy - from ._models import IpTag - from ._models import Ipv6ExpressRouteCircuitPeeringConfig - from ._models import LoadBalancer - from ._models import LoadBalancerSku - from ._models import LoadBalancingRule - from ._models import LocalNetworkGateway - from ._models import LogSpecification - from ._models import ManagedRuleGroupOverride - from ._models import ManagedRuleOverride - from ._models import ManagedRulesDefinition - from ._models import ManagedRuleSet - from ._models import ManagedServiceIdentity - from ._models import ManagedServiceIdentityUserAssignedIdentitiesValue - from ._models import MatchCondition - from ._models import MatchedRule - from ._models import MatchVariable - from ._models import MetricSpecification - from ._models import NatGateway - from ._models import NatGatewaySku - from ._models import NetworkConfigurationDiagnosticParameters - from ._models import NetworkConfigurationDiagnosticProfile - from ._models import NetworkConfigurationDiagnosticResponse - from ._models import NetworkConfigurationDiagnosticResult - from ._models import NetworkIntentPolicy - from ._models import NetworkIntentPolicyConfiguration - from ._models import NetworkInterface - from ._models import NetworkInterfaceAssociation - from ._models import NetworkInterfaceDnsSettings - from ._models import NetworkInterfaceIPConfiguration - from ._models import NetworkInterfaceIPConfigurationPrivateLinkConnectionProperties - from ._models import NetworkInterfaceTapConfiguration - from ._models import NetworkProfile - from ._models import NetworkRuleCondition - from ._models import NetworkSecurityGroup - from ._models import NetworkSecurityGroupResult - from ._models import NetworkSecurityRulesEvaluationResult - from ._models import NetworkWatcher - from ._models import NextHopParameters - from ._models import NextHopResult - from ._models import Operation - from ._models import OperationDisplay - from ._models import OperationPropertiesFormatServiceSpecification - from ._models import OutboundRule - from ._models import OwaspCrsExclusionEntry - from ._models import P2SConnectionConfiguration - from ._models import P2SVpnConnectionHealth - from ._models import P2SVpnConnectionHealthRequest - from ._models import P2SVpnGateway - from ._models import P2SVpnProfileParameters - from ._models import PacketCapture - from ._models import PacketCaptureFilter - from ._models import PacketCaptureParameters - from ._models import PacketCaptureQueryStatusResult - from ._models import PacketCaptureResult - from ._models import PacketCaptureStorageLocation - from ._models import PatchRouteFilter - from ._models import PatchRouteFilterRule - from ._models import PeerExpressRouteCircuitConnection - from ._models import PolicySettings - from ._models import PrepareNetworkPoliciesRequest - from ._models import PrivateEndpoint - from ._models import PrivateEndpointConnection - from ._models import PrivateLinkService - from ._models import PrivateLinkServiceConnection - from ._models import PrivateLinkServiceConnectionState - from ._models import PrivateLinkServiceIpConfiguration - from ._models import PrivateLinkServicePropertiesAutoApproval - from ._models import PrivateLinkServicePropertiesVisibility - from ._models import PrivateLinkServiceVisibility - from ._models import Probe - from ._models import ProtocolConfiguration - from ._models import ProtocolCustomSettingsFormat - from ._models import PublicIPAddress - from ._models import PublicIPAddressDnsSettings - from ._models import PublicIPAddressSku - from ._models import PublicIPPrefix - from ._models import PublicIPPrefixSku - from ._models import QueryTroubleshootingParameters - from ._models import ReferencedPublicIpAddress - from ._models import Resource - from ._models import ResourceNavigationLink - from ._models import ResourceNavigationLinksListResult - from ._models import ResourceSet - from ._models import RetentionPolicyParameters - from ._models import Route - from ._models import RouteFilter - from ._models import RouteFilterRule - from ._models import RouteTable - from ._models import SecurityGroupNetworkInterface - from ._models import SecurityGroupViewParameters - from ._models import SecurityGroupViewResult - from ._models import SecurityRule - from ._models import SecurityRuleAssociations - from ._models import ServiceAssociationLink - from ._models import ServiceAssociationLinksListResult - from ._models import ServiceEndpointPolicy - from ._models import ServiceEndpointPolicyDefinition - from ._models import ServiceEndpointPropertiesFormat - from ._models import ServiceTagInformation - from ._models import ServiceTagInformationPropertiesFormat - from ._models import ServiceTagsListResult - from ._models import Subnet - from ._models import SubnetAssociation - from ._models import SubResource - from ._models import TagsObject - from ._models import Topology - from ._models import TopologyAssociation - from ._models import TopologyParameters - from ._models import TopologyResource - from ._models import TrafficAnalyticsConfigurationProperties - from ._models import TrafficAnalyticsProperties - from ._models import TrafficSelectorPolicy - from ._models import TroubleshootingDetails - from ._models import TroubleshootingParameters - from ._models import TroubleshootingRecommendedActions - from ._models import TroubleshootingResult - from ._models import TunnelConnectionHealth - from ._models import UnprepareNetworkPoliciesRequest - from ._models import Usage - from ._models import UsageName - from ._models import VerificationIPFlowParameters - from ._models import VerificationIPFlowResult - from ._models import VirtualHub - from ._models import VirtualHubId - from ._models import VirtualHubRoute - from ._models import VirtualHubRouteTable - from ._models import VirtualHubRouteTableV2 - from ._models import VirtualHubRouteV2 - from ._models import VirtualNetwork - from ._models import VirtualNetworkBgpCommunities - from ._models import VirtualNetworkConnectionGatewayReference - from ._models import VirtualNetworkGateway - from ._models import VirtualNetworkGatewayConnection - from ._models import VirtualNetworkGatewayConnectionListEntity - from ._models import VirtualNetworkGatewayIPConfiguration - from ._models import VirtualNetworkGatewaySku - from ._models import VirtualNetworkPeering - from ._models import VirtualNetworkTap - from ._models import VirtualNetworkUsage - from ._models import VirtualNetworkUsageName - from ._models import VirtualRouter - from ._models import VirtualRouterPeering - from ._models import VirtualWAN - from ._models import VirtualWanSecurityProvider - from ._models import VirtualWanSecurityProviders - from ._models import VirtualWanVpnProfileParameters - from ._models import VpnClientConfiguration - from ._models import VpnClientConnectionHealth - from ._models import VpnClientConnectionHealthDetail - from ._models import VpnClientConnectionHealthDetailListResult - from ._models import VpnClientIPsecParameters - from ._models import VpnClientParameters - from ._models import VpnClientRevokedCertificate - from ._models import VpnClientRootCertificate - from ._models import VpnConnection - from ._models import VpnDeviceScriptParameters - from ._models import VpnGateway - from ._models import VpnLinkBgpSettings - from ._models import VpnLinkProviderProperties - from ._models import VpnPacketCaptureStartParameters - from ._models import VpnPacketCaptureStopParameters - from ._models import VpnProfileResponse - from ._models import VpnServerConfigRadiusClientRootCertificate - from ._models import VpnServerConfigRadiusServerRootCertificate - from ._models import VpnServerConfiguration - from ._models import VpnServerConfigurationsResponse - from ._models import VpnServerConfigVpnClientRevokedCertificate - from ._models import VpnServerConfigVpnClientRootCertificate - from ._models import VpnSite - from ._models import VpnSiteId - from ._models import VpnSiteLink - from ._models import VpnSiteLinkConnection - from ._models import WebApplicationFirewallCustomRule - from ._models import WebApplicationFirewallPolicy -from ._paged_models import ApplicationGatewayPaged -from ._paged_models import ApplicationGatewaySslPredefinedPolicyPaged -from ._paged_models import ApplicationSecurityGroupPaged -from ._paged_models import AutoApprovedPrivateLinkServicePaged -from ._paged_models import AvailableDelegationPaged -from ._paged_models import AvailablePrivateEndpointTypePaged -from ._paged_models import AvailableServiceAliasPaged -from ._paged_models import AzureFirewallFqdnTagPaged -from ._paged_models import AzureFirewallPaged -from ._paged_models import BackendAddressPoolPaged -from ._paged_models import BastionHostPaged -from ._paged_models import BgpServiceCommunityPaged -from ._paged_models import ConnectionMonitorResultPaged -from ._paged_models import DdosProtectionPlanPaged -from ._paged_models import EndpointServiceResultPaged -from ._paged_models import ExpressRouteCircuitAuthorizationPaged -from ._paged_models import ExpressRouteCircuitConnectionPaged -from ._paged_models import ExpressRouteCircuitPaged -from ._paged_models import ExpressRouteCircuitPeeringPaged -from ._paged_models import ExpressRouteCrossConnectionPaged -from ._paged_models import ExpressRouteCrossConnectionPeeringPaged -from ._paged_models import ExpressRouteLinkPaged -from ._paged_models import ExpressRoutePortPaged -from ._paged_models import ExpressRoutePortsLocationPaged -from ._paged_models import ExpressRouteServiceProviderPaged -from ._paged_models import FirewallPolicyPaged -from ._paged_models import FirewallPolicyRuleGroupPaged -from ._paged_models import FrontendIPConfigurationPaged -from ._paged_models import HubVirtualNetworkConnectionPaged -from ._paged_models import InboundNatRulePaged -from ._paged_models import IpGroupPaged -from ._paged_models import LoadBalancerPaged -from ._paged_models import LoadBalancingRulePaged -from ._paged_models import LocalNetworkGatewayPaged -from ._paged_models import NatGatewayPaged -from ._paged_models import NetworkInterfaceIPConfigurationPaged -from ._paged_models import NetworkInterfacePaged -from ._paged_models import NetworkInterfaceTapConfigurationPaged -from ._paged_models import NetworkProfilePaged -from ._paged_models import NetworkSecurityGroupPaged -from ._paged_models import NetworkWatcherPaged -from ._paged_models import OperationPaged -from ._paged_models import OutboundRulePaged -from ._paged_models import P2SVpnGatewayPaged -from ._paged_models import PacketCaptureResultPaged -from ._paged_models import PeerExpressRouteCircuitConnectionPaged -from ._paged_models import PrivateEndpointConnectionPaged -from ._paged_models import PrivateEndpointPaged -from ._paged_models import PrivateLinkServicePaged -from ._paged_models import ProbePaged -from ._paged_models import PublicIPAddressPaged -from ._paged_models import PublicIPPrefixPaged -from ._paged_models import RouteFilterPaged -from ._paged_models import RouteFilterRulePaged -from ._paged_models import RoutePaged -from ._paged_models import RouteTablePaged -from ._paged_models import SecurityRulePaged -from ._paged_models import ServiceEndpointPolicyDefinitionPaged -from ._paged_models import ServiceEndpointPolicyPaged -from ._paged_models import SubnetPaged -from ._paged_models import UsagePaged -from ._paged_models import VirtualHubPaged -from ._paged_models import VirtualHubRouteTableV2Paged -from ._paged_models import VirtualNetworkGatewayConnectionListEntityPaged -from ._paged_models import VirtualNetworkGatewayConnectionPaged -from ._paged_models import VirtualNetworkGatewayPaged -from ._paged_models import VirtualNetworkPaged -from ._paged_models import VirtualNetworkPeeringPaged -from ._paged_models import VirtualNetworkTapPaged -from ._paged_models import VirtualNetworkUsagePaged -from ._paged_models import VirtualRouterPaged -from ._paged_models import VirtualRouterPeeringPaged -from ._paged_models import VirtualWANPaged -from ._paged_models import VpnConnectionPaged -from ._paged_models import VpnGatewayPaged -from ._paged_models import VpnServerConfigurationPaged -from ._paged_models import VpnSiteLinkConnectionPaged -from ._paged_models import VpnSiteLinkPaged -from ._paged_models import VpnSitePaged -from ._paged_models import WebApplicationFirewallPolicyPaged -from ._network_management_client_enums import ( - ApplicationGatewayProtocol, - ProvisioningState, - IPAllocationMethod, - IPVersion, - SecurityRuleProtocol, - SecurityRuleAccess, - SecurityRuleDirection, - RouteNextHopType, - PublicIPAddressSkuName, - DdosSettingsProtectionCoverage, - TransportProtocol, - ApplicationGatewayCookieBasedAffinity, - ApplicationGatewayBackendHealthServerHealth, - ApplicationGatewaySkuName, - ApplicationGatewayTier, - ApplicationGatewaySslProtocol, - ApplicationGatewaySslPolicyType, - ApplicationGatewaySslPolicyName, - ApplicationGatewaySslCipherSuite, - ApplicationGatewayCustomErrorStatusCode, - ApplicationGatewayRequestRoutingRuleType, - ApplicationGatewayRedirectType, - ApplicationGatewayOperationalState, - ApplicationGatewayFirewallMode, - ResourceIdentityType, - AzureFirewallRCActionType, - AzureFirewallApplicationRuleProtocolType, - AzureFirewallNatRCActionType, - AzureFirewallNetworkRuleProtocol, - AzureFirewallThreatIntelMode, - AzureFirewallSkuName, - AzureFirewallSkuTier, - DdosCustomPolicyProtocol, - DdosCustomPolicyTriggerSensitivityOverride, - AuthorizationUseStatus, - ExpressRouteCircuitPeeringAdvertisedPublicPrefixState, - ExpressRouteCircuitPeeringState, - ExpressRoutePeeringType, - ExpressRoutePeeringState, - CircuitConnectionStatus, - ExpressRouteCircuitSkuTier, - ExpressRouteCircuitSkuFamily, - ServiceProviderProvisioningState, - ExpressRouteLinkMacSecCipher, - ExpressRouteLinkConnectorType, - ExpressRouteLinkAdminState, - ExpressRoutePortsEncapsulation, - FirewallPolicyNatRuleActionType, - FirewallPolicyFilterRuleActionType, - FirewallPolicyRuleConditionApplicationProtocolType, - FirewallPolicyRuleConditionNetworkProtocol, - LoadBalancerSkuName, - LoadDistribution, - ProbeProtocol, - LoadBalancerOutboundRuleProtocol, - NatGatewaySkuName, - NetworkOperationStatus, - Access, - AuthenticationMethod, - EffectiveSecurityRuleProtocol, - EffectiveRouteSource, - EffectiveRouteState, - AssociationType, - Direction, - IpFlowProtocol, - NextHopType, - PcProtocol, - PcStatus, - PcError, - FlowLogFormatType, - Protocol, - HTTPMethod, - Origin, - Severity, - IssueType, - ConnectionStatus, - VerbosityLevel, - ConnectionState, - EvaluationState, - ConnectionMonitorSourceStatus, - PublicIPPrefixSkuName, - VirtualNetworkPeeringState, - VirtualNetworkGatewayType, - VpnType, - VpnGatewayGeneration, - VirtualNetworkGatewaySkuName, - VirtualNetworkGatewaySkuTier, - VpnClientProtocol, - IpsecEncryption, - IpsecIntegrity, - IkeEncryption, - IkeIntegrity, - DhGroup, - PfsGroup, - BgpPeerState, - ProcessorArchitecture, - VirtualNetworkGatewayConnectionStatus, - VirtualNetworkGatewayConnectionType, - VirtualNetworkGatewayConnectionProtocol, - OfficeTrafficCategory, - VpnConnectionStatus, - VirtualWanSecurityProviderType, - TunnelConnectionStatus, - HubVirtualNetworkConnectionStatus, - VpnGatewayTunnelingProtocol, - VpnAuthenticationType, - WebApplicationFirewallEnabledState, - WebApplicationFirewallMode, - WebApplicationFirewallRuleType, - WebApplicationFirewallMatchVariable, - WebApplicationFirewallOperator, - WebApplicationFirewallTransform, - WebApplicationFirewallAction, - WebApplicationFirewallPolicyResourceState, - OwaspCrsExclusionEntryMatchVariable, - OwaspCrsExclusionEntrySelectorMatchOperator, - ManagedRuleEnabledState, -) - -__all__ = [ - 'AadAuthenticationParameters', - 'AddressSpace', - 'ApplicationGateway', - 'ApplicationGatewayAuthenticationCertificate', - 'ApplicationGatewayAutoscaleConfiguration', - 'ApplicationGatewayAvailableSslOptions', - 'ApplicationGatewayAvailableWafRuleSetsResult', - 'ApplicationGatewayBackendAddress', - 'ApplicationGatewayBackendAddressPool', - 'ApplicationGatewayBackendHealth', - 'ApplicationGatewayBackendHealthHttpSettings', - 'ApplicationGatewayBackendHealthOnDemand', - 'ApplicationGatewayBackendHealthPool', - 'ApplicationGatewayBackendHealthServer', - 'ApplicationGatewayBackendHttpSettings', - 'ApplicationGatewayConnectionDraining', - 'ApplicationGatewayCustomError', - 'ApplicationGatewayFirewallDisabledRuleGroup', - 'ApplicationGatewayFirewallExclusion', - 'ApplicationGatewayFirewallRule', - 'ApplicationGatewayFirewallRuleGroup', - 'ApplicationGatewayFirewallRuleSet', - 'ApplicationGatewayFrontendIPConfiguration', - 'ApplicationGatewayFrontendPort', - 'ApplicationGatewayHeaderConfiguration', - 'ApplicationGatewayHttpListener', - 'ApplicationGatewayIPConfiguration', - 'ApplicationGatewayOnDemandProbe', - 'ApplicationGatewayPathRule', - 'ApplicationGatewayProbe', - 'ApplicationGatewayProbeHealthResponseMatch', - 'ApplicationGatewayRedirectConfiguration', - 'ApplicationGatewayRequestRoutingRule', - 'ApplicationGatewayRewriteRule', - 'ApplicationGatewayRewriteRuleActionSet', - 'ApplicationGatewayRewriteRuleCondition', - 'ApplicationGatewayRewriteRuleSet', - 'ApplicationGatewaySku', - 'ApplicationGatewaySslCertificate', - 'ApplicationGatewaySslPolicy', - 'ApplicationGatewaySslPredefinedPolicy', - 'ApplicationGatewayTrustedRootCertificate', - 'ApplicationGatewayUrlPathMap', - 'ApplicationGatewayWebApplicationFirewallConfiguration', - 'ApplicationRuleCondition', - 'ApplicationSecurityGroup', - 'AutoApprovedPrivateLinkService', - 'Availability', - 'AvailableDelegation', - 'AvailablePrivateEndpointType', - 'AvailableProvidersList', - 'AvailableProvidersListCity', - 'AvailableProvidersListCountry', - 'AvailableProvidersListParameters', - 'AvailableProvidersListState', - 'AvailableServiceAlias', - 'AzureAsyncOperationResult', - 'AzureFirewall', - 'AzureFirewallApplicationRule', - 'AzureFirewallApplicationRuleCollection', - 'AzureFirewallApplicationRuleProtocol', - 'AzureFirewallFqdnTag', - 'AzureFirewallIPConfiguration', - 'AzureFirewallNatRCAction', - 'AzureFirewallNatRule', - 'AzureFirewallNatRuleCollection', - 'AzureFirewallNetworkRule', - 'AzureFirewallNetworkRuleCollection', - 'AzureFirewallPublicIPAddress', - 'AzureFirewallRCAction', - 'AzureFirewallSku', - 'AzureReachabilityReport', - 'AzureReachabilityReportItem', - 'AzureReachabilityReportLatencyInfo', - 'AzureReachabilityReportLocation', - 'AzureReachabilityReportParameters', - 'BackendAddressPool', - 'BastionHost', - 'BastionHostIPConfiguration', - 'BGPCommunity', - 'BgpPeerStatus', - 'BgpPeerStatusListResult', - 'BgpServiceCommunity', - 'BgpSettings', - 'CheckPrivateLinkServiceVisibilityRequest', - 'ConnectionMonitor', - 'ConnectionMonitorDestination', - 'ConnectionMonitorParameters', - 'ConnectionMonitorQueryResult', - 'ConnectionMonitorResult', - 'ConnectionMonitorSource', - 'ConnectionResetSharedKey', - 'ConnectionSharedKey', - 'ConnectionStateSnapshot', - 'ConnectivityDestination', - 'ConnectivityHop', - 'ConnectivityInformation', - 'ConnectivityIssue', - 'ConnectivityParameters', - 'ConnectivitySource', - 'Container', - 'ContainerNetworkInterface', - 'ContainerNetworkInterfaceConfiguration', - 'ContainerNetworkInterfaceIpConfiguration', - 'DdosCustomPolicy', - 'DdosProtectionPlan', - 'DdosSettings', - 'Delegation', - 'DeviceProperties', - 'DhcpOptions', - 'Dimension', - 'DnsNameAvailabilityResult', - 'EffectiveNetworkSecurityGroup', - 'EffectiveNetworkSecurityGroupAssociation', - 'EffectiveNetworkSecurityGroupListResult', - 'EffectiveNetworkSecurityRule', - 'EffectiveRoute', - 'EffectiveRouteListResult', - 'EndpointServiceResult', - 'Error', 'ErrorException', - 'ErrorDetails', - 'ErrorResponse', 'ErrorResponseException', - 'EvaluatedNetworkSecurityGroup', - 'ExpressRouteCircuit', - 'ExpressRouteCircuitArpTable', - 'ExpressRouteCircuitAuthorization', - 'ExpressRouteCircuitConnection', - 'ExpressRouteCircuitPeering', - 'ExpressRouteCircuitPeeringConfig', - 'ExpressRouteCircuitPeeringId', - 'ExpressRouteCircuitReference', - 'ExpressRouteCircuitRoutesTable', - 'ExpressRouteCircuitRoutesTableSummary', - 'ExpressRouteCircuitsArpTableListResult', - 'ExpressRouteCircuitServiceProviderProperties', - 'ExpressRouteCircuitSku', - 'ExpressRouteCircuitsRoutesTableListResult', - 'ExpressRouteCircuitsRoutesTableSummaryListResult', - 'ExpressRouteCircuitStats', - 'ExpressRouteConnection', - 'ExpressRouteConnectionId', - 'ExpressRouteConnectionList', - 'ExpressRouteCrossConnection', - 'ExpressRouteCrossConnectionPeering', - 'ExpressRouteCrossConnectionRoutesTableSummary', - 'ExpressRouteCrossConnectionsRoutesTableSummaryListResult', - 'ExpressRouteGateway', - 'ExpressRouteGatewayList', - 'ExpressRouteGatewayPropertiesAutoScaleConfiguration', - 'ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds', - 'ExpressRouteLink', - 'ExpressRouteLinkMacSecConfig', - 'ExpressRoutePort', - 'ExpressRoutePortsLocation', - 'ExpressRoutePortsLocationBandwidths', - 'ExpressRouteServiceProvider', - 'ExpressRouteServiceProviderBandwidthsOffered', - 'FirewallPolicy', - 'FirewallPolicyFilterRule', - 'FirewallPolicyFilterRuleAction', - 'FirewallPolicyNatRule', - 'FirewallPolicyNatRuleAction', - 'FirewallPolicyRule', - 'FirewallPolicyRuleCondition', - 'FirewallPolicyRuleConditionApplicationProtocol', - 'FirewallPolicyRuleGroup', - 'FlowLogFormatParameters', - 'FlowLogInformation', - 'FlowLogStatusParameters', - 'FrontendIPConfiguration', - 'GatewayRoute', - 'GatewayRouteListResult', - 'GetVpnSitesConfigurationRequest', - 'HTTPConfiguration', - 'HTTPHeader', - 'HubIPAddresses', - 'HubVirtualNetworkConnection', - 'InboundNatPool', - 'InboundNatRule', - 'IPAddressAvailabilityResult', - 'IPConfiguration', - 'IPConfigurationProfile', - 'IpGroup', - 'IpsecPolicy', - 'IpTag', - 'Ipv6ExpressRouteCircuitPeeringConfig', - 'LoadBalancer', - 'LoadBalancerSku', - 'LoadBalancingRule', - 'LocalNetworkGateway', - 'LogSpecification', - 'ManagedRuleGroupOverride', - 'ManagedRuleOverride', - 'ManagedRulesDefinition', - 'ManagedRuleSet', - 'ManagedServiceIdentity', - 'ManagedServiceIdentityUserAssignedIdentitiesValue', - 'MatchCondition', - 'MatchedRule', - 'MatchVariable', - 'MetricSpecification', - 'NatGateway', - 'NatGatewaySku', - 'NetworkConfigurationDiagnosticParameters', - 'NetworkConfigurationDiagnosticProfile', - 'NetworkConfigurationDiagnosticResponse', - 'NetworkConfigurationDiagnosticResult', - 'NetworkIntentPolicy', - 'NetworkIntentPolicyConfiguration', - 'NetworkInterface', - 'NetworkInterfaceAssociation', - 'NetworkInterfaceDnsSettings', - 'NetworkInterfaceIPConfiguration', - 'NetworkInterfaceIPConfigurationPrivateLinkConnectionProperties', - 'NetworkInterfaceTapConfiguration', - 'NetworkProfile', - 'NetworkRuleCondition', - 'NetworkSecurityGroup', - 'NetworkSecurityGroupResult', - 'NetworkSecurityRulesEvaluationResult', - 'NetworkWatcher', - 'NextHopParameters', - 'NextHopResult', - 'Operation', - 'OperationDisplay', - 'OperationPropertiesFormatServiceSpecification', - 'OutboundRule', - 'OwaspCrsExclusionEntry', - 'P2SConnectionConfiguration', - 'P2SVpnConnectionHealth', - 'P2SVpnConnectionHealthRequest', - 'P2SVpnGateway', - 'P2SVpnProfileParameters', - 'PacketCapture', - 'PacketCaptureFilter', - 'PacketCaptureParameters', - 'PacketCaptureQueryStatusResult', - 'PacketCaptureResult', - 'PacketCaptureStorageLocation', - 'PatchRouteFilter', - 'PatchRouteFilterRule', - 'PeerExpressRouteCircuitConnection', - 'PolicySettings', - 'PrepareNetworkPoliciesRequest', - 'PrivateEndpoint', - 'PrivateEndpointConnection', - 'PrivateLinkService', - 'PrivateLinkServiceConnection', - 'PrivateLinkServiceConnectionState', - 'PrivateLinkServiceIpConfiguration', - 'PrivateLinkServicePropertiesAutoApproval', - 'PrivateLinkServicePropertiesVisibility', - 'PrivateLinkServiceVisibility', - 'Probe', - 'ProtocolConfiguration', - 'ProtocolCustomSettingsFormat', - 'PublicIPAddress', - 'PublicIPAddressDnsSettings', - 'PublicIPAddressSku', - 'PublicIPPrefix', - 'PublicIPPrefixSku', - 'QueryTroubleshootingParameters', - 'ReferencedPublicIpAddress', - 'Resource', - 'ResourceNavigationLink', - 'ResourceNavigationLinksListResult', - 'ResourceSet', - 'RetentionPolicyParameters', - 'Route', - 'RouteFilter', - 'RouteFilterRule', - 'RouteTable', - 'SecurityGroupNetworkInterface', - 'SecurityGroupViewParameters', - 'SecurityGroupViewResult', - 'SecurityRule', - 'SecurityRuleAssociations', - 'ServiceAssociationLink', - 'ServiceAssociationLinksListResult', - 'ServiceEndpointPolicy', - 'ServiceEndpointPolicyDefinition', - 'ServiceEndpointPropertiesFormat', - 'ServiceTagInformation', - 'ServiceTagInformationPropertiesFormat', - 'ServiceTagsListResult', - 'Subnet', - 'SubnetAssociation', - 'SubResource', - 'TagsObject', - 'Topology', - 'TopologyAssociation', - 'TopologyParameters', - 'TopologyResource', - 'TrafficAnalyticsConfigurationProperties', - 'TrafficAnalyticsProperties', - 'TrafficSelectorPolicy', - 'TroubleshootingDetails', - 'TroubleshootingParameters', - 'TroubleshootingRecommendedActions', - 'TroubleshootingResult', - 'TunnelConnectionHealth', - 'UnprepareNetworkPoliciesRequest', - 'Usage', - 'UsageName', - 'VerificationIPFlowParameters', - 'VerificationIPFlowResult', - 'VirtualHub', - 'VirtualHubId', - 'VirtualHubRoute', - 'VirtualHubRouteTable', - 'VirtualHubRouteTableV2', - 'VirtualHubRouteV2', - 'VirtualNetwork', - 'VirtualNetworkBgpCommunities', - 'VirtualNetworkConnectionGatewayReference', - 'VirtualNetworkGateway', - 'VirtualNetworkGatewayConnection', - 'VirtualNetworkGatewayConnectionListEntity', - 'VirtualNetworkGatewayIPConfiguration', - 'VirtualNetworkGatewaySku', - 'VirtualNetworkPeering', - 'VirtualNetworkTap', - 'VirtualNetworkUsage', - 'VirtualNetworkUsageName', - 'VirtualRouter', - 'VirtualRouterPeering', - 'VirtualWAN', - 'VirtualWanSecurityProvider', - 'VirtualWanSecurityProviders', - 'VirtualWanVpnProfileParameters', - 'VpnClientConfiguration', - 'VpnClientConnectionHealth', - 'VpnClientConnectionHealthDetail', - 'VpnClientConnectionHealthDetailListResult', - 'VpnClientIPsecParameters', - 'VpnClientParameters', - 'VpnClientRevokedCertificate', - 'VpnClientRootCertificate', - 'VpnConnection', - 'VpnDeviceScriptParameters', - 'VpnGateway', - 'VpnLinkBgpSettings', - 'VpnLinkProviderProperties', - 'VpnPacketCaptureStartParameters', - 'VpnPacketCaptureStopParameters', - 'VpnProfileResponse', - 'VpnServerConfigRadiusClientRootCertificate', - 'VpnServerConfigRadiusServerRootCertificate', - 'VpnServerConfiguration', - 'VpnServerConfigurationsResponse', - 'VpnServerConfigVpnClientRevokedCertificate', - 'VpnServerConfigVpnClientRootCertificate', - 'VpnSite', - 'VpnSiteId', - 'VpnSiteLink', - 'VpnSiteLinkConnection', - 'WebApplicationFirewallCustomRule', - 'WebApplicationFirewallPolicy', - 'ApplicationGatewayPaged', - 'ApplicationGatewaySslPredefinedPolicyPaged', - 'ApplicationSecurityGroupPaged', - 'AvailableDelegationPaged', - 'AvailableServiceAliasPaged', - 'AzureFirewallPaged', - 'AzureFirewallFqdnTagPaged', - 'BastionHostPaged', - 'DdosProtectionPlanPaged', - 'EndpointServiceResultPaged', - 'ExpressRouteCircuitAuthorizationPaged', - 'ExpressRouteCircuitPeeringPaged', - 'ExpressRouteCircuitConnectionPaged', - 'PeerExpressRouteCircuitConnectionPaged', - 'ExpressRouteCircuitPaged', - 'ExpressRouteServiceProviderPaged', - 'ExpressRouteCrossConnectionPaged', - 'ExpressRouteCrossConnectionPeeringPaged', - 'ExpressRoutePortsLocationPaged', - 'ExpressRoutePortPaged', - 'ExpressRouteLinkPaged', - 'FirewallPolicyPaged', - 'FirewallPolicyRuleGroupPaged', - 'IpGroupPaged', - 'LoadBalancerPaged', - 'BackendAddressPoolPaged', - 'FrontendIPConfigurationPaged', - 'InboundNatRulePaged', - 'LoadBalancingRulePaged', - 'OutboundRulePaged', - 'NetworkInterfacePaged', - 'ProbePaged', - 'NatGatewayPaged', - 'NetworkInterfaceIPConfigurationPaged', - 'NetworkInterfaceTapConfigurationPaged', - 'NetworkProfilePaged', - 'NetworkSecurityGroupPaged', - 'SecurityRulePaged', - 'NetworkWatcherPaged', - 'PacketCaptureResultPaged', - 'ConnectionMonitorResultPaged', - 'OperationPaged', - 'PrivateEndpointPaged', - 'AvailablePrivateEndpointTypePaged', - 'PrivateLinkServicePaged', - 'PrivateEndpointConnectionPaged', - 'AutoApprovedPrivateLinkServicePaged', - 'PublicIPAddressPaged', - 'PublicIPPrefixPaged', - 'RouteFilterPaged', - 'RouteFilterRulePaged', - 'RouteTablePaged', - 'RoutePaged', - 'BgpServiceCommunityPaged', - 'ServiceEndpointPolicyPaged', - 'ServiceEndpointPolicyDefinitionPaged', - 'UsagePaged', - 'VirtualNetworkPaged', - 'VirtualNetworkUsagePaged', - 'SubnetPaged', - 'VirtualNetworkPeeringPaged', - 'VirtualNetworkGatewayPaged', - 'VirtualNetworkGatewayConnectionListEntityPaged', - 'VirtualNetworkGatewayConnectionPaged', - 'LocalNetworkGatewayPaged', - 'VirtualNetworkTapPaged', - 'VirtualRouterPaged', - 'VirtualRouterPeeringPaged', - 'VirtualWANPaged', - 'VpnSitePaged', - 'VpnSiteLinkPaged', - 'VpnServerConfigurationPaged', - 'VirtualHubPaged', - 'HubVirtualNetworkConnectionPaged', - 'VpnGatewayPaged', - 'VpnConnectionPaged', - 'VpnSiteLinkConnectionPaged', - 'P2SVpnGatewayPaged', - 'VirtualHubRouteTableV2Paged', - 'WebApplicationFirewallPolicyPaged', - 'ApplicationGatewayProtocol', - 'ProvisioningState', - 'IPAllocationMethod', - 'IPVersion', - 'SecurityRuleProtocol', - 'SecurityRuleAccess', - 'SecurityRuleDirection', - 'RouteNextHopType', - 'PublicIPAddressSkuName', - 'DdosSettingsProtectionCoverage', - 'TransportProtocol', - 'ApplicationGatewayCookieBasedAffinity', - 'ApplicationGatewayBackendHealthServerHealth', - 'ApplicationGatewaySkuName', - 'ApplicationGatewayTier', - 'ApplicationGatewaySslProtocol', - 'ApplicationGatewaySslPolicyType', - 'ApplicationGatewaySslPolicyName', - 'ApplicationGatewaySslCipherSuite', - 'ApplicationGatewayCustomErrorStatusCode', - 'ApplicationGatewayRequestRoutingRuleType', - 'ApplicationGatewayRedirectType', - 'ApplicationGatewayOperationalState', - 'ApplicationGatewayFirewallMode', - 'ResourceIdentityType', - 'AzureFirewallRCActionType', - 'AzureFirewallApplicationRuleProtocolType', - 'AzureFirewallNatRCActionType', - 'AzureFirewallNetworkRuleProtocol', - 'AzureFirewallThreatIntelMode', - 'AzureFirewallSkuName', - 'AzureFirewallSkuTier', - 'DdosCustomPolicyProtocol', - 'DdosCustomPolicyTriggerSensitivityOverride', - 'AuthorizationUseStatus', - 'ExpressRouteCircuitPeeringAdvertisedPublicPrefixState', - 'ExpressRouteCircuitPeeringState', - 'ExpressRoutePeeringType', - 'ExpressRoutePeeringState', - 'CircuitConnectionStatus', - 'ExpressRouteCircuitSkuTier', - 'ExpressRouteCircuitSkuFamily', - 'ServiceProviderProvisioningState', - 'ExpressRouteLinkMacSecCipher', - 'ExpressRouteLinkConnectorType', - 'ExpressRouteLinkAdminState', - 'ExpressRoutePortsEncapsulation', - 'FirewallPolicyNatRuleActionType', - 'FirewallPolicyFilterRuleActionType', - 'FirewallPolicyRuleConditionApplicationProtocolType', - 'FirewallPolicyRuleConditionNetworkProtocol', - 'LoadBalancerSkuName', - 'LoadDistribution', - 'ProbeProtocol', - 'LoadBalancerOutboundRuleProtocol', - 'NatGatewaySkuName', - 'NetworkOperationStatus', - 'Access', - 'AuthenticationMethod', - 'EffectiveSecurityRuleProtocol', - 'EffectiveRouteSource', - 'EffectiveRouteState', - 'AssociationType', - 'Direction', - 'IpFlowProtocol', - 'NextHopType', - 'PcProtocol', - 'PcStatus', - 'PcError', - 'FlowLogFormatType', - 'Protocol', - 'HTTPMethod', - 'Origin', - 'Severity', - 'IssueType', - 'ConnectionStatus', - 'VerbosityLevel', - 'ConnectionState', - 'EvaluationState', - 'ConnectionMonitorSourceStatus', - 'PublicIPPrefixSkuName', - 'VirtualNetworkPeeringState', - 'VirtualNetworkGatewayType', - 'VpnType', - 'VpnGatewayGeneration', - 'VirtualNetworkGatewaySkuName', - 'VirtualNetworkGatewaySkuTier', - 'VpnClientProtocol', - 'IpsecEncryption', - 'IpsecIntegrity', - 'IkeEncryption', - 'IkeIntegrity', - 'DhGroup', - 'PfsGroup', - 'BgpPeerState', - 'ProcessorArchitecture', - 'VirtualNetworkGatewayConnectionStatus', - 'VirtualNetworkGatewayConnectionType', - 'VirtualNetworkGatewayConnectionProtocol', - 'OfficeTrafficCategory', - 'VpnConnectionStatus', - 'VirtualWanSecurityProviderType', - 'TunnelConnectionStatus', - 'HubVirtualNetworkConnectionStatus', - 'VpnGatewayTunnelingProtocol', - 'VpnAuthenticationType', - 'WebApplicationFirewallEnabledState', - 'WebApplicationFirewallMode', - 'WebApplicationFirewallRuleType', - 'WebApplicationFirewallMatchVariable', - 'WebApplicationFirewallOperator', - 'WebApplicationFirewallTransform', - 'WebApplicationFirewallAction', - 'WebApplicationFirewallPolicyResourceState', - 'OwaspCrsExclusionEntryMatchVariable', - 'OwaspCrsExclusionEntrySelectorMatchOperator', - 'ManagedRuleEnabledState', -] diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/models/_models.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/models/_models.py deleted file mode 100644 index 963ae2ae589..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/models/_models.py +++ /dev/null @@ -1,16319 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model -from msrest.exceptions import HttpOperationError - - -class AadAuthenticationParameters(Model): - """AAD Vpn authentication type related parameters. - - :param aad_tenant: AAD Vpn authentication parameter AAD tenant. - :type aad_tenant: str - :param aad_audience: AAD Vpn authentication parameter AAD audience. - :type aad_audience: str - :param aad_issuer: AAD Vpn authentication parameter AAD issuer. - :type aad_issuer: str - """ - - _attribute_map = { - 'aad_tenant': {'key': 'aadTenant', 'type': 'str'}, - 'aad_audience': {'key': 'aadAudience', 'type': 'str'}, - 'aad_issuer': {'key': 'aadIssuer', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(AadAuthenticationParameters, self).__init__(**kwargs) - self.aad_tenant = kwargs.get('aad_tenant', None) - self.aad_audience = kwargs.get('aad_audience', None) - self.aad_issuer = kwargs.get('aad_issuer', None) - - -class AddressSpace(Model): - """AddressSpace contains an array of IP address ranges that can be used by - subnets of the virtual network. - - :param address_prefixes: A list of address blocks reserved for this - virtual network in CIDR notation. - :type address_prefixes: list[str] - """ - - _attribute_map = { - 'address_prefixes': {'key': 'addressPrefixes', 'type': '[str]'}, - } - - def __init__(self, **kwargs): - super(AddressSpace, self).__init__(**kwargs) - self.address_prefixes = kwargs.get('address_prefixes', None) - - -class Resource(Model): - """Common resource representation. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - } - - def __init__(self, **kwargs): - super(Resource, self).__init__(**kwargs) - self.id = kwargs.get('id', None) - self.name = None - self.type = None - self.location = kwargs.get('location', None) - self.tags = kwargs.get('tags', None) - - -class ApplicationGateway(Resource): - """Application gateway resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param sku: SKU of the application gateway resource. - :type sku: ~azure.mgmt.network.v2019_09_01.models.ApplicationGatewaySku - :param ssl_policy: SSL policy of the application gateway resource. - :type ssl_policy: - ~azure.mgmt.network.v2019_09_01.models.ApplicationGatewaySslPolicy - :ivar operational_state: Operational state of the application gateway - resource. Possible values include: 'Stopped', 'Starting', 'Running', - 'Stopping' - :vartype operational_state: str or - ~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayOperationalState - :param gateway_ip_configurations: Subnets of the application gateway - resource. For default limits, see [Application Gateway - limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). - :type gateway_ip_configurations: - list[~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayIPConfiguration] - :param authentication_certificates: Authentication certificates of the - application gateway resource. For default limits, see [Application Gateway - limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). - :type authentication_certificates: - list[~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayAuthenticationCertificate] - :param trusted_root_certificates: Trusted Root certificates of the - application gateway resource. For default limits, see [Application Gateway - limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). - :type trusted_root_certificates: - list[~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayTrustedRootCertificate] - :param ssl_certificates: SSL certificates of the application gateway - resource. For default limits, see [Application Gateway - limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). - :type ssl_certificates: - list[~azure.mgmt.network.v2019_09_01.models.ApplicationGatewaySslCertificate] - :param frontend_ip_configurations: Frontend IP addresses of the - application gateway resource. For default limits, see [Application Gateway - limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). - :type frontend_ip_configurations: - list[~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayFrontendIPConfiguration] - :param frontend_ports: Frontend ports of the application gateway resource. - For default limits, see [Application Gateway - limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). - :type frontend_ports: - list[~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayFrontendPort] - :param probes: Probes of the application gateway resource. - :type probes: - list[~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayProbe] - :param backend_address_pools: Backend address pool of the application - gateway resource. For default limits, see [Application Gateway - limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). - :type backend_address_pools: - list[~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayBackendAddressPool] - :param backend_http_settings_collection: Backend http settings of the - application gateway resource. For default limits, see [Application Gateway - limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). - :type backend_http_settings_collection: - list[~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayBackendHttpSettings] - :param http_listeners: Http listeners of the application gateway resource. - For default limits, see [Application Gateway - limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). - :type http_listeners: - list[~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayHttpListener] - :param url_path_maps: URL path map of the application gateway resource. - For default limits, see [Application Gateway - limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). - :type url_path_maps: - list[~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayUrlPathMap] - :param request_routing_rules: Request routing rules of the application - gateway resource. - :type request_routing_rules: - list[~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayRequestRoutingRule] - :param rewrite_rule_sets: Rewrite rules for the application gateway - resource. - :type rewrite_rule_sets: - list[~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayRewriteRuleSet] - :param redirect_configurations: Redirect configurations of the application - gateway resource. For default limits, see [Application Gateway - limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). - :type redirect_configurations: - list[~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayRedirectConfiguration] - :param web_application_firewall_configuration: Web application firewall - configuration. - :type web_application_firewall_configuration: - ~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayWebApplicationFirewallConfiguration - :param firewall_policy: Reference of the FirewallPolicy resource. - :type firewall_policy: ~azure.mgmt.network.v2019_09_01.models.SubResource - :param enable_http2: Whether HTTP2 is enabled on the application gateway - resource. - :type enable_http2: bool - :param enable_fips: Whether FIPS is enabled on the application gateway - resource. - :type enable_fips: bool - :param autoscale_configuration: Autoscale Configuration. - :type autoscale_configuration: - ~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayAutoscaleConfiguration - :ivar resource_guid: The resource GUID property of the application gateway - resource. - :vartype resource_guid: str - :ivar provisioning_state: The provisioning state of the application - gateway resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param custom_error_configurations: Custom error configurations of the - application gateway resource. - :type custom_error_configurations: - list[~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayCustomError] - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :param zones: A list of availability zones denoting where the resource - needs to come from. - :type zones: list[str] - :param identity: The identity of the application gateway, if configured. - :type identity: - ~azure.mgmt.network.v2019_09_01.models.ManagedServiceIdentity - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'operational_state': {'readonly': True}, - 'resource_guid': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'sku': {'key': 'properties.sku', 'type': 'ApplicationGatewaySku'}, - 'ssl_policy': {'key': 'properties.sslPolicy', 'type': 'ApplicationGatewaySslPolicy'}, - 'operational_state': {'key': 'properties.operationalState', 'type': 'str'}, - 'gateway_ip_configurations': {'key': 'properties.gatewayIPConfigurations', 'type': '[ApplicationGatewayIPConfiguration]'}, - 'authentication_certificates': {'key': 'properties.authenticationCertificates', 'type': '[ApplicationGatewayAuthenticationCertificate]'}, - 'trusted_root_certificates': {'key': 'properties.trustedRootCertificates', 'type': '[ApplicationGatewayTrustedRootCertificate]'}, - 'ssl_certificates': {'key': 'properties.sslCertificates', 'type': '[ApplicationGatewaySslCertificate]'}, - 'frontend_ip_configurations': {'key': 'properties.frontendIPConfigurations', 'type': '[ApplicationGatewayFrontendIPConfiguration]'}, - 'frontend_ports': {'key': 'properties.frontendPorts', 'type': '[ApplicationGatewayFrontendPort]'}, - 'probes': {'key': 'properties.probes', 'type': '[ApplicationGatewayProbe]'}, - 'backend_address_pools': {'key': 'properties.backendAddressPools', 'type': '[ApplicationGatewayBackendAddressPool]'}, - 'backend_http_settings_collection': {'key': 'properties.backendHttpSettingsCollection', 'type': '[ApplicationGatewayBackendHttpSettings]'}, - 'http_listeners': {'key': 'properties.httpListeners', 'type': '[ApplicationGatewayHttpListener]'}, - 'url_path_maps': {'key': 'properties.urlPathMaps', 'type': '[ApplicationGatewayUrlPathMap]'}, - 'request_routing_rules': {'key': 'properties.requestRoutingRules', 'type': '[ApplicationGatewayRequestRoutingRule]'}, - 'rewrite_rule_sets': {'key': 'properties.rewriteRuleSets', 'type': '[ApplicationGatewayRewriteRuleSet]'}, - 'redirect_configurations': {'key': 'properties.redirectConfigurations', 'type': '[ApplicationGatewayRedirectConfiguration]'}, - 'web_application_firewall_configuration': {'key': 'properties.webApplicationFirewallConfiguration', 'type': 'ApplicationGatewayWebApplicationFirewallConfiguration'}, - 'firewall_policy': {'key': 'properties.firewallPolicy', 'type': 'SubResource'}, - 'enable_http2': {'key': 'properties.enableHttp2', 'type': 'bool'}, - 'enable_fips': {'key': 'properties.enableFips', 'type': 'bool'}, - 'autoscale_configuration': {'key': 'properties.autoscaleConfiguration', 'type': 'ApplicationGatewayAutoscaleConfiguration'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'custom_error_configurations': {'key': 'properties.customErrorConfigurations', 'type': '[ApplicationGatewayCustomError]'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'zones': {'key': 'zones', 'type': '[str]'}, - 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, - } - - def __init__(self, **kwargs): - super(ApplicationGateway, self).__init__(**kwargs) - self.sku = kwargs.get('sku', None) - self.ssl_policy = kwargs.get('ssl_policy', None) - self.operational_state = None - self.gateway_ip_configurations = kwargs.get('gateway_ip_configurations', None) - self.authentication_certificates = kwargs.get('authentication_certificates', None) - self.trusted_root_certificates = kwargs.get('trusted_root_certificates', None) - self.ssl_certificates = kwargs.get('ssl_certificates', None) - self.frontend_ip_configurations = kwargs.get('frontend_ip_configurations', None) - self.frontend_ports = kwargs.get('frontend_ports', None) - self.probes = kwargs.get('probes', None) - self.backend_address_pools = kwargs.get('backend_address_pools', None) - self.backend_http_settings_collection = kwargs.get('backend_http_settings_collection', None) - self.http_listeners = kwargs.get('http_listeners', None) - self.url_path_maps = kwargs.get('url_path_maps', None) - self.request_routing_rules = kwargs.get('request_routing_rules', None) - self.rewrite_rule_sets = kwargs.get('rewrite_rule_sets', None) - self.redirect_configurations = kwargs.get('redirect_configurations', None) - self.web_application_firewall_configuration = kwargs.get('web_application_firewall_configuration', None) - self.firewall_policy = kwargs.get('firewall_policy', None) - self.enable_http2 = kwargs.get('enable_http2', None) - self.enable_fips = kwargs.get('enable_fips', None) - self.autoscale_configuration = kwargs.get('autoscale_configuration', None) - self.resource_guid = None - self.provisioning_state = None - self.custom_error_configurations = kwargs.get('custom_error_configurations', None) - self.etag = None - self.zones = kwargs.get('zones', None) - self.identity = kwargs.get('identity', None) - - -class SubResource(Model): - """Reference to another subresource. - - :param id: Resource ID. - :type id: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(SubResource, self).__init__(**kwargs) - self.id = kwargs.get('id', None) - - -class ApplicationGatewayAuthenticationCertificate(SubResource): - """Authentication certificates of an application gateway. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param data: Certificate public data. - :type data: str - :ivar provisioning_state: The provisioning state of the authentication - certificate resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param name: Name of the authentication certificate that is unique within - an Application Gateway. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :ivar type: Type of the resource. - :vartype type: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'data': {'key': 'properties.data', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayAuthenticationCertificate, self).__init__(**kwargs) - self.data = kwargs.get('data', None) - self.provisioning_state = None - self.name = kwargs.get('name', None) - self.etag = None - self.type = None - - -class ApplicationGatewayAutoscaleConfiguration(Model): - """Application Gateway autoscale configuration. - - All required parameters must be populated in order to send to Azure. - - :param min_capacity: Required. Lower bound on number of Application - Gateway capacity. - :type min_capacity: int - :param max_capacity: Upper bound on number of Application Gateway - capacity. - :type max_capacity: int - """ - - _validation = { - 'min_capacity': {'required': True, 'minimum': 0}, - 'max_capacity': {'minimum': 2}, - } - - _attribute_map = { - 'min_capacity': {'key': 'minCapacity', 'type': 'int'}, - 'max_capacity': {'key': 'maxCapacity', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayAutoscaleConfiguration, self).__init__(**kwargs) - self.min_capacity = kwargs.get('min_capacity', None) - self.max_capacity = kwargs.get('max_capacity', None) - - -class ApplicationGatewayAvailableSslOptions(Resource): - """Response for ApplicationGatewayAvailableSslOptions API service call. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param predefined_policies: List of available Ssl predefined policy. - :type predefined_policies: - list[~azure.mgmt.network.v2019_09_01.models.SubResource] - :param default_policy: Name of the Ssl predefined policy applied by - default to application gateway. Possible values include: - 'AppGwSslPolicy20150501', 'AppGwSslPolicy20170401', - 'AppGwSslPolicy20170401S' - :type default_policy: str or - ~azure.mgmt.network.v2019_09_01.models.ApplicationGatewaySslPolicyName - :param available_cipher_suites: List of available Ssl cipher suites. - :type available_cipher_suites: list[str or - ~azure.mgmt.network.v2019_09_01.models.ApplicationGatewaySslCipherSuite] - :param available_protocols: List of available Ssl protocols. - :type available_protocols: list[str or - ~azure.mgmt.network.v2019_09_01.models.ApplicationGatewaySslProtocol] - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'predefined_policies': {'key': 'properties.predefinedPolicies', 'type': '[SubResource]'}, - 'default_policy': {'key': 'properties.defaultPolicy', 'type': 'str'}, - 'available_cipher_suites': {'key': 'properties.availableCipherSuites', 'type': '[str]'}, - 'available_protocols': {'key': 'properties.availableProtocols', 'type': '[str]'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayAvailableSslOptions, self).__init__(**kwargs) - self.predefined_policies = kwargs.get('predefined_policies', None) - self.default_policy = kwargs.get('default_policy', None) - self.available_cipher_suites = kwargs.get('available_cipher_suites', None) - self.available_protocols = kwargs.get('available_protocols', None) - - -class ApplicationGatewayAvailableWafRuleSetsResult(Model): - """Response for ApplicationGatewayAvailableWafRuleSets API service call. - - :param value: The list of application gateway rule sets. - :type value: - list[~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayFirewallRuleSet] - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[ApplicationGatewayFirewallRuleSet]'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayAvailableWafRuleSetsResult, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - - -class ApplicationGatewayBackendAddress(Model): - """Backend address of an application gateway. - - :param fqdn: Fully qualified domain name (FQDN). - :type fqdn: str - :param ip_address: IP address. - :type ip_address: str - """ - - _attribute_map = { - 'fqdn': {'key': 'fqdn', 'type': 'str'}, - 'ip_address': {'key': 'ipAddress', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayBackendAddress, self).__init__(**kwargs) - self.fqdn = kwargs.get('fqdn', None) - self.ip_address = kwargs.get('ip_address', None) - - -class ApplicationGatewayBackendAddressPool(SubResource): - """Backend Address Pool of an application gateway. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar backend_ip_configurations: Collection of references to IPs defined - in network interfaces. - :vartype backend_ip_configurations: - list[~azure.mgmt.network.v2019_09_01.models.NetworkInterfaceIPConfiguration] - :param backend_addresses: Backend addresses. - :type backend_addresses: - list[~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayBackendAddress] - :ivar provisioning_state: The provisioning state of the backend address - pool resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param name: Name of the backend address pool that is unique within an - Application Gateway. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :ivar type: Type of the resource. - :vartype type: str - """ - - _validation = { - 'backend_ip_configurations': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'backend_ip_configurations': {'key': 'properties.backendIPConfigurations', 'type': '[NetworkInterfaceIPConfiguration]'}, - 'backend_addresses': {'key': 'properties.backendAddresses', 'type': '[ApplicationGatewayBackendAddress]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayBackendAddressPool, self).__init__(**kwargs) - self.backend_ip_configurations = None - self.backend_addresses = kwargs.get('backend_addresses', None) - self.provisioning_state = None - self.name = kwargs.get('name', None) - self.etag = None - self.type = None - - -class ApplicationGatewayBackendHealth(Model): - """Response for ApplicationGatewayBackendHealth API service call. - - :param backend_address_pools: A list of - ApplicationGatewayBackendHealthPool resources. - :type backend_address_pools: - list[~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayBackendHealthPool] - """ - - _attribute_map = { - 'backend_address_pools': {'key': 'backendAddressPools', 'type': '[ApplicationGatewayBackendHealthPool]'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayBackendHealth, self).__init__(**kwargs) - self.backend_address_pools = kwargs.get('backend_address_pools', None) - - -class ApplicationGatewayBackendHealthHttpSettings(Model): - """Application gateway BackendHealthHttp settings. - - :param backend_http_settings: Reference of an - ApplicationGatewayBackendHttpSettings resource. - :type backend_http_settings: - ~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayBackendHttpSettings - :param servers: List of ApplicationGatewayBackendHealthServer resources. - :type servers: - list[~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayBackendHealthServer] - """ - - _attribute_map = { - 'backend_http_settings': {'key': 'backendHttpSettings', 'type': 'ApplicationGatewayBackendHttpSettings'}, - 'servers': {'key': 'servers', 'type': '[ApplicationGatewayBackendHealthServer]'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayBackendHealthHttpSettings, self).__init__(**kwargs) - self.backend_http_settings = kwargs.get('backend_http_settings', None) - self.servers = kwargs.get('servers', None) - - -class ApplicationGatewayBackendHealthOnDemand(Model): - """Result of on demand test probe. - - :param backend_address_pool: Reference of an - ApplicationGatewayBackendAddressPool resource. - :type backend_address_pool: - ~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayBackendAddressPool - :param backend_health_http_settings: Application gateway BackendHealthHttp - settings. - :type backend_health_http_settings: - ~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayBackendHealthHttpSettings - """ - - _attribute_map = { - 'backend_address_pool': {'key': 'backendAddressPool', 'type': 'ApplicationGatewayBackendAddressPool'}, - 'backend_health_http_settings': {'key': 'backendHealthHttpSettings', 'type': 'ApplicationGatewayBackendHealthHttpSettings'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayBackendHealthOnDemand, self).__init__(**kwargs) - self.backend_address_pool = kwargs.get('backend_address_pool', None) - self.backend_health_http_settings = kwargs.get('backend_health_http_settings', None) - - -class ApplicationGatewayBackendHealthPool(Model): - """Application gateway BackendHealth pool. - - :param backend_address_pool: Reference of an - ApplicationGatewayBackendAddressPool resource. - :type backend_address_pool: - ~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayBackendAddressPool - :param backend_http_settings_collection: List of - ApplicationGatewayBackendHealthHttpSettings resources. - :type backend_http_settings_collection: - list[~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayBackendHealthHttpSettings] - """ - - _attribute_map = { - 'backend_address_pool': {'key': 'backendAddressPool', 'type': 'ApplicationGatewayBackendAddressPool'}, - 'backend_http_settings_collection': {'key': 'backendHttpSettingsCollection', 'type': '[ApplicationGatewayBackendHealthHttpSettings]'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayBackendHealthPool, self).__init__(**kwargs) - self.backend_address_pool = kwargs.get('backend_address_pool', None) - self.backend_http_settings_collection = kwargs.get('backend_http_settings_collection', None) - - -class ApplicationGatewayBackendHealthServer(Model): - """Application gateway backendhealth http settings. - - :param address: IP address or FQDN of backend server. - :type address: str - :param ip_configuration: Reference of IP configuration of backend server. - :type ip_configuration: - ~azure.mgmt.network.v2019_09_01.models.NetworkInterfaceIPConfiguration - :param health: Health of backend server. Possible values include: - 'Unknown', 'Up', 'Down', 'Partial', 'Draining' - :type health: str or - ~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayBackendHealthServerHealth - :param health_probe_log: Health Probe Log. - :type health_probe_log: str - """ - - _attribute_map = { - 'address': {'key': 'address', 'type': 'str'}, - 'ip_configuration': {'key': 'ipConfiguration', 'type': 'NetworkInterfaceIPConfiguration'}, - 'health': {'key': 'health', 'type': 'str'}, - 'health_probe_log': {'key': 'healthProbeLog', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayBackendHealthServer, self).__init__(**kwargs) - self.address = kwargs.get('address', None) - self.ip_configuration = kwargs.get('ip_configuration', None) - self.health = kwargs.get('health', None) - self.health_probe_log = kwargs.get('health_probe_log', None) - - -class ApplicationGatewayBackendHttpSettings(SubResource): - """Backend address pool settings of an application gateway. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param port: The destination port on the backend. - :type port: int - :param protocol: The protocol used to communicate with the backend. - Possible values include: 'Http', 'Https' - :type protocol: str or - ~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayProtocol - :param cookie_based_affinity: Cookie based affinity. Possible values - include: 'Enabled', 'Disabled' - :type cookie_based_affinity: str or - ~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayCookieBasedAffinity - :param request_timeout: Request timeout in seconds. Application Gateway - will fail the request if response is not received within RequestTimeout. - Acceptable values are from 1 second to 86400 seconds. - :type request_timeout: int - :param probe: Probe resource of an application gateway. - :type probe: ~azure.mgmt.network.v2019_09_01.models.SubResource - :param authentication_certificates: Array of references to application - gateway authentication certificates. - :type authentication_certificates: - list[~azure.mgmt.network.v2019_09_01.models.SubResource] - :param trusted_root_certificates: Array of references to application - gateway trusted root certificates. - :type trusted_root_certificates: - list[~azure.mgmt.network.v2019_09_01.models.SubResource] - :param connection_draining: Connection draining of the backend http - settings resource. - :type connection_draining: - ~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayConnectionDraining - :param host_name: Host header to be sent to the backend servers. - :type host_name: str - :param pick_host_name_from_backend_address: Whether to pick host header - should be picked from the host name of the backend server. Default value - is false. - :type pick_host_name_from_backend_address: bool - :param affinity_cookie_name: Cookie name to use for the affinity cookie. - :type affinity_cookie_name: str - :param probe_enabled: Whether the probe is enabled. Default value is - false. - :type probe_enabled: bool - :param path: Path which should be used as a prefix for all HTTP requests. - Null means no path will be prefixed. Default value is null. - :type path: str - :ivar provisioning_state: The provisioning state of the backend HTTP - settings resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param name: Name of the backend http settings that is unique within an - Application Gateway. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :ivar type: Type of the resource. - :vartype type: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'port': {'key': 'properties.port', 'type': 'int'}, - 'protocol': {'key': 'properties.protocol', 'type': 'str'}, - 'cookie_based_affinity': {'key': 'properties.cookieBasedAffinity', 'type': 'str'}, - 'request_timeout': {'key': 'properties.requestTimeout', 'type': 'int'}, - 'probe': {'key': 'properties.probe', 'type': 'SubResource'}, - 'authentication_certificates': {'key': 'properties.authenticationCertificates', 'type': '[SubResource]'}, - 'trusted_root_certificates': {'key': 'properties.trustedRootCertificates', 'type': '[SubResource]'}, - 'connection_draining': {'key': 'properties.connectionDraining', 'type': 'ApplicationGatewayConnectionDraining'}, - 'host_name': {'key': 'properties.hostName', 'type': 'str'}, - 'pick_host_name_from_backend_address': {'key': 'properties.pickHostNameFromBackendAddress', 'type': 'bool'}, - 'affinity_cookie_name': {'key': 'properties.affinityCookieName', 'type': 'str'}, - 'probe_enabled': {'key': 'properties.probeEnabled', 'type': 'bool'}, - 'path': {'key': 'properties.path', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayBackendHttpSettings, self).__init__(**kwargs) - self.port = kwargs.get('port', None) - self.protocol = kwargs.get('protocol', None) - self.cookie_based_affinity = kwargs.get('cookie_based_affinity', None) - self.request_timeout = kwargs.get('request_timeout', None) - self.probe = kwargs.get('probe', None) - self.authentication_certificates = kwargs.get('authentication_certificates', None) - self.trusted_root_certificates = kwargs.get('trusted_root_certificates', None) - self.connection_draining = kwargs.get('connection_draining', None) - self.host_name = kwargs.get('host_name', None) - self.pick_host_name_from_backend_address = kwargs.get('pick_host_name_from_backend_address', None) - self.affinity_cookie_name = kwargs.get('affinity_cookie_name', None) - self.probe_enabled = kwargs.get('probe_enabled', None) - self.path = kwargs.get('path', None) - self.provisioning_state = None - self.name = kwargs.get('name', None) - self.etag = None - self.type = None - - -class ApplicationGatewayConnectionDraining(Model): - """Connection draining allows open connections to a backend server to be - active for a specified time after the backend server got removed from the - configuration. - - All required parameters must be populated in order to send to Azure. - - :param enabled: Required. Whether connection draining is enabled or not. - :type enabled: bool - :param drain_timeout_in_sec: Required. The number of seconds connection - draining is active. Acceptable values are from 1 second to 3600 seconds. - :type drain_timeout_in_sec: int - """ - - _validation = { - 'enabled': {'required': True}, - 'drain_timeout_in_sec': {'required': True, 'maximum': 3600, 'minimum': 1}, - } - - _attribute_map = { - 'enabled': {'key': 'enabled', 'type': 'bool'}, - 'drain_timeout_in_sec': {'key': 'drainTimeoutInSec', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayConnectionDraining, self).__init__(**kwargs) - self.enabled = kwargs.get('enabled', None) - self.drain_timeout_in_sec = kwargs.get('drain_timeout_in_sec', None) - - -class ApplicationGatewayCustomError(Model): - """Customer error of an application gateway. - - :param status_code: Status code of the application gateway customer error. - Possible values include: 'HttpStatus403', 'HttpStatus502' - :type status_code: str or - ~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayCustomErrorStatusCode - :param custom_error_page_url: Error page URL of the application gateway - customer error. - :type custom_error_page_url: str - """ - - _attribute_map = { - 'status_code': {'key': 'statusCode', 'type': 'str'}, - 'custom_error_page_url': {'key': 'customErrorPageUrl', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayCustomError, self).__init__(**kwargs) - self.status_code = kwargs.get('status_code', None) - self.custom_error_page_url = kwargs.get('custom_error_page_url', None) - - -class ApplicationGatewayFirewallDisabledRuleGroup(Model): - """Allows to disable rules within a rule group or an entire rule group. - - All required parameters must be populated in order to send to Azure. - - :param rule_group_name: Required. The name of the rule group that will be - disabled. - :type rule_group_name: str - :param rules: The list of rules that will be disabled. If null, all rules - of the rule group will be disabled. - :type rules: list[int] - """ - - _validation = { - 'rule_group_name': {'required': True}, - } - - _attribute_map = { - 'rule_group_name': {'key': 'ruleGroupName', 'type': 'str'}, - 'rules': {'key': 'rules', 'type': '[int]'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayFirewallDisabledRuleGroup, self).__init__(**kwargs) - self.rule_group_name = kwargs.get('rule_group_name', None) - self.rules = kwargs.get('rules', None) - - -class ApplicationGatewayFirewallExclusion(Model): - """Allow to exclude some variable satisfy the condition for the WAF check. - - All required parameters must be populated in order to send to Azure. - - :param match_variable: Required. The variable to be excluded. - :type match_variable: str - :param selector_match_operator: Required. When matchVariable is a - collection, operate on the selector to specify which elements in the - collection this exclusion applies to. - :type selector_match_operator: str - :param selector: Required. When matchVariable is a collection, operator - used to specify which elements in the collection this exclusion applies - to. - :type selector: str - """ - - _validation = { - 'match_variable': {'required': True}, - 'selector_match_operator': {'required': True}, - 'selector': {'required': True}, - } - - _attribute_map = { - 'match_variable': {'key': 'matchVariable', 'type': 'str'}, - 'selector_match_operator': {'key': 'selectorMatchOperator', 'type': 'str'}, - 'selector': {'key': 'selector', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayFirewallExclusion, self).__init__(**kwargs) - self.match_variable = kwargs.get('match_variable', None) - self.selector_match_operator = kwargs.get('selector_match_operator', None) - self.selector = kwargs.get('selector', None) - - -class ApplicationGatewayFirewallRule(Model): - """A web application firewall rule. - - All required parameters must be populated in order to send to Azure. - - :param rule_id: Required. The identifier of the web application firewall - rule. - :type rule_id: int - :param description: The description of the web application firewall rule. - :type description: str - """ - - _validation = { - 'rule_id': {'required': True}, - } - - _attribute_map = { - 'rule_id': {'key': 'ruleId', 'type': 'int'}, - 'description': {'key': 'description', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayFirewallRule, self).__init__(**kwargs) - self.rule_id = kwargs.get('rule_id', None) - self.description = kwargs.get('description', None) - - -class ApplicationGatewayFirewallRuleGroup(Model): - """A web application firewall rule group. - - All required parameters must be populated in order to send to Azure. - - :param rule_group_name: Required. The name of the web application firewall - rule group. - :type rule_group_name: str - :param description: The description of the web application firewall rule - group. - :type description: str - :param rules: Required. The rules of the web application firewall rule - group. - :type rules: - list[~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayFirewallRule] - """ - - _validation = { - 'rule_group_name': {'required': True}, - 'rules': {'required': True}, - } - - _attribute_map = { - 'rule_group_name': {'key': 'ruleGroupName', 'type': 'str'}, - 'description': {'key': 'description', 'type': 'str'}, - 'rules': {'key': 'rules', 'type': '[ApplicationGatewayFirewallRule]'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayFirewallRuleGroup, self).__init__(**kwargs) - self.rule_group_name = kwargs.get('rule_group_name', None) - self.description = kwargs.get('description', None) - self.rules = kwargs.get('rules', None) - - -class ApplicationGatewayFirewallRuleSet(Resource): - """A web application firewall rule set. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :ivar provisioning_state: The provisioning state of the web application - firewall rule set. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param rule_set_type: Required. The type of the web application firewall - rule set. - :type rule_set_type: str - :param rule_set_version: Required. The version of the web application - firewall rule set type. - :type rule_set_version: str - :param rule_groups: Required. The rule groups of the web application - firewall rule set. - :type rule_groups: - list[~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayFirewallRuleGroup] - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'rule_set_type': {'required': True}, - 'rule_set_version': {'required': True}, - 'rule_groups': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'rule_set_type': {'key': 'properties.ruleSetType', 'type': 'str'}, - 'rule_set_version': {'key': 'properties.ruleSetVersion', 'type': 'str'}, - 'rule_groups': {'key': 'properties.ruleGroups', 'type': '[ApplicationGatewayFirewallRuleGroup]'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayFirewallRuleSet, self).__init__(**kwargs) - self.provisioning_state = None - self.rule_set_type = kwargs.get('rule_set_type', None) - self.rule_set_version = kwargs.get('rule_set_version', None) - self.rule_groups = kwargs.get('rule_groups', None) - - -class ApplicationGatewayFrontendIPConfiguration(SubResource): - """Frontend IP configuration of an application gateway. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param private_ip_address: PrivateIPAddress of the network interface IP - Configuration. - :type private_ip_address: str - :param private_ip_allocation_method: The private IP address allocation - method. Possible values include: 'Static', 'Dynamic' - :type private_ip_allocation_method: str or - ~azure.mgmt.network.v2019_09_01.models.IPAllocationMethod - :param subnet: Reference of the subnet resource. - :type subnet: ~azure.mgmt.network.v2019_09_01.models.SubResource - :param public_ip_address: Reference of the PublicIP resource. - :type public_ip_address: - ~azure.mgmt.network.v2019_09_01.models.SubResource - :ivar provisioning_state: The provisioning state of the frontend IP - configuration resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param name: Name of the frontend IP configuration that is unique within - an Application Gateway. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :ivar type: Type of the resource. - :vartype type: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, - 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, - 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, - 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'SubResource'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayFrontendIPConfiguration, self).__init__(**kwargs) - self.private_ip_address = kwargs.get('private_ip_address', None) - self.private_ip_allocation_method = kwargs.get('private_ip_allocation_method', None) - self.subnet = kwargs.get('subnet', None) - self.public_ip_address = kwargs.get('public_ip_address', None) - self.provisioning_state = None - self.name = kwargs.get('name', None) - self.etag = None - self.type = None - - -class ApplicationGatewayFrontendPort(SubResource): - """Frontend port of an application gateway. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param port: Frontend port. - :type port: int - :ivar provisioning_state: The provisioning state of the frontend port - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param name: Name of the frontend port that is unique within an - Application Gateway. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :ivar type: Type of the resource. - :vartype type: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'port': {'key': 'properties.port', 'type': 'int'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayFrontendPort, self).__init__(**kwargs) - self.port = kwargs.get('port', None) - self.provisioning_state = None - self.name = kwargs.get('name', None) - self.etag = None - self.type = None - - -class ApplicationGatewayHeaderConfiguration(Model): - """Header configuration of the Actions set in Application Gateway. - - :param header_name: Header name of the header configuration. - :type header_name: str - :param header_value: Header value of the header configuration. - :type header_value: str - """ - - _attribute_map = { - 'header_name': {'key': 'headerName', 'type': 'str'}, - 'header_value': {'key': 'headerValue', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayHeaderConfiguration, self).__init__(**kwargs) - self.header_name = kwargs.get('header_name', None) - self.header_value = kwargs.get('header_value', None) - - -class ApplicationGatewayHttpListener(SubResource): - """Http listener of an application gateway. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param frontend_ip_configuration: Frontend IP configuration resource of an - application gateway. - :type frontend_ip_configuration: - ~azure.mgmt.network.v2019_09_01.models.SubResource - :param frontend_port: Frontend port resource of an application gateway. - :type frontend_port: ~azure.mgmt.network.v2019_09_01.models.SubResource - :param protocol: Protocol of the HTTP listener. Possible values include: - 'Http', 'Https' - :type protocol: str or - ~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayProtocol - :param host_name: Host name of HTTP listener. - :type host_name: str - :param ssl_certificate: SSL certificate resource of an application - gateway. - :type ssl_certificate: ~azure.mgmt.network.v2019_09_01.models.SubResource - :param require_server_name_indication: Applicable only if protocol is - https. Enables SNI for multi-hosting. - :type require_server_name_indication: bool - :ivar provisioning_state: The provisioning state of the HTTP listener - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param custom_error_configurations: Custom error configurations of the - HTTP listener. - :type custom_error_configurations: - list[~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayCustomError] - :param firewall_policy: Reference to the FirewallPolicy resource. - :type firewall_policy: ~azure.mgmt.network.v2019_09_01.models.SubResource - :param hostnames: List of Host names for HTTP Listener that allows special - wildcard characters as well. - :type hostnames: list[str] - :param name: Name of the HTTP listener that is unique within an - Application Gateway. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :ivar type: Type of the resource. - :vartype type: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'frontend_ip_configuration': {'key': 'properties.frontendIPConfiguration', 'type': 'SubResource'}, - 'frontend_port': {'key': 'properties.frontendPort', 'type': 'SubResource'}, - 'protocol': {'key': 'properties.protocol', 'type': 'str'}, - 'host_name': {'key': 'properties.hostName', 'type': 'str'}, - 'ssl_certificate': {'key': 'properties.sslCertificate', 'type': 'SubResource'}, - 'require_server_name_indication': {'key': 'properties.requireServerNameIndication', 'type': 'bool'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'custom_error_configurations': {'key': 'properties.customErrorConfigurations', 'type': '[ApplicationGatewayCustomError]'}, - 'firewall_policy': {'key': 'properties.firewallPolicy', 'type': 'SubResource'}, - 'hostnames': {'key': 'properties.hostnames', 'type': '[str]'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayHttpListener, self).__init__(**kwargs) - self.frontend_ip_configuration = kwargs.get('frontend_ip_configuration', None) - self.frontend_port = kwargs.get('frontend_port', None) - self.protocol = kwargs.get('protocol', None) - self.host_name = kwargs.get('host_name', None) - self.ssl_certificate = kwargs.get('ssl_certificate', None) - self.require_server_name_indication = kwargs.get('require_server_name_indication', None) - self.provisioning_state = None - self.custom_error_configurations = kwargs.get('custom_error_configurations', None) - self.firewall_policy = kwargs.get('firewall_policy', None) - self.hostnames = kwargs.get('hostnames', None) - self.name = kwargs.get('name', None) - self.etag = None - self.type = None - - -class ApplicationGatewayIPConfiguration(SubResource): - """IP configuration of an application gateway. Currently 1 public and 1 - private IP configuration is allowed. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param subnet: Reference of the subnet resource. A subnet from where - application gateway gets its private address. - :type subnet: ~azure.mgmt.network.v2019_09_01.models.SubResource - :ivar provisioning_state: The provisioning state of the application - gateway IP configuration resource. Possible values include: 'Succeeded', - 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param name: Name of the IP configuration that is unique within an - Application Gateway. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :ivar type: Type of the resource. - :vartype type: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayIPConfiguration, self).__init__(**kwargs) - self.subnet = kwargs.get('subnet', None) - self.provisioning_state = None - self.name = kwargs.get('name', None) - self.etag = None - self.type = None - - -class ApplicationGatewayOnDemandProbe(Model): - """Details of on demand test probe request. - - :param protocol: The protocol used for the probe. Possible values include: - 'Http', 'Https' - :type protocol: str or - ~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayProtocol - :param host: Host name to send the probe to. - :type host: str - :param path: Relative path of probe. Valid path starts from '/'. Probe is - sent to ://:. - :type path: str - :param timeout: The probe timeout in seconds. Probe marked as failed if - valid response is not received with this timeout period. Acceptable values - are from 1 second to 86400 seconds. - :type timeout: int - :param pick_host_name_from_backend_http_settings: Whether the host header - should be picked from the backend http settings. Default value is false. - :type pick_host_name_from_backend_http_settings: bool - :param match: Criterion for classifying a healthy probe response. - :type match: - ~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayProbeHealthResponseMatch - :param backend_address_pool: Reference of backend pool of application - gateway to which probe request will be sent. - :type backend_address_pool: - ~azure.mgmt.network.v2019_09_01.models.SubResource - :param backend_http_settings: Reference of backend http setting of - application gateway to be used for test probe. - :type backend_http_settings: - ~azure.mgmt.network.v2019_09_01.models.SubResource - """ - - _attribute_map = { - 'protocol': {'key': 'protocol', 'type': 'str'}, - 'host': {'key': 'host', 'type': 'str'}, - 'path': {'key': 'path', 'type': 'str'}, - 'timeout': {'key': 'timeout', 'type': 'int'}, - 'pick_host_name_from_backend_http_settings': {'key': 'pickHostNameFromBackendHttpSettings', 'type': 'bool'}, - 'match': {'key': 'match', 'type': 'ApplicationGatewayProbeHealthResponseMatch'}, - 'backend_address_pool': {'key': 'backendAddressPool', 'type': 'SubResource'}, - 'backend_http_settings': {'key': 'backendHttpSettings', 'type': 'SubResource'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayOnDemandProbe, self).__init__(**kwargs) - self.protocol = kwargs.get('protocol', None) - self.host = kwargs.get('host', None) - self.path = kwargs.get('path', None) - self.timeout = kwargs.get('timeout', None) - self.pick_host_name_from_backend_http_settings = kwargs.get('pick_host_name_from_backend_http_settings', None) - self.match = kwargs.get('match', None) - self.backend_address_pool = kwargs.get('backend_address_pool', None) - self.backend_http_settings = kwargs.get('backend_http_settings', None) - - -class ApplicationGatewayPathRule(SubResource): - """Path rule of URL path map of an application gateway. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param paths: Path rules of URL path map. - :type paths: list[str] - :param backend_address_pool: Backend address pool resource of URL path map - path rule. - :type backend_address_pool: - ~azure.mgmt.network.v2019_09_01.models.SubResource - :param backend_http_settings: Backend http settings resource of URL path - map path rule. - :type backend_http_settings: - ~azure.mgmt.network.v2019_09_01.models.SubResource - :param redirect_configuration: Redirect configuration resource of URL path - map path rule. - :type redirect_configuration: - ~azure.mgmt.network.v2019_09_01.models.SubResource - :param rewrite_rule_set: Rewrite rule set resource of URL path map path - rule. - :type rewrite_rule_set: ~azure.mgmt.network.v2019_09_01.models.SubResource - :ivar provisioning_state: The provisioning state of the path rule - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param firewall_policy: Reference to the FirewallPolicy resource. - :type firewall_policy: ~azure.mgmt.network.v2019_09_01.models.SubResource - :param name: Name of the path rule that is unique within an Application - Gateway. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :ivar type: Type of the resource. - :vartype type: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'paths': {'key': 'properties.paths', 'type': '[str]'}, - 'backend_address_pool': {'key': 'properties.backendAddressPool', 'type': 'SubResource'}, - 'backend_http_settings': {'key': 'properties.backendHttpSettings', 'type': 'SubResource'}, - 'redirect_configuration': {'key': 'properties.redirectConfiguration', 'type': 'SubResource'}, - 'rewrite_rule_set': {'key': 'properties.rewriteRuleSet', 'type': 'SubResource'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'firewall_policy': {'key': 'properties.firewallPolicy', 'type': 'SubResource'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayPathRule, self).__init__(**kwargs) - self.paths = kwargs.get('paths', None) - self.backend_address_pool = kwargs.get('backend_address_pool', None) - self.backend_http_settings = kwargs.get('backend_http_settings', None) - self.redirect_configuration = kwargs.get('redirect_configuration', None) - self.rewrite_rule_set = kwargs.get('rewrite_rule_set', None) - self.provisioning_state = None - self.firewall_policy = kwargs.get('firewall_policy', None) - self.name = kwargs.get('name', None) - self.etag = None - self.type = None - - -class ApplicationGatewayProbe(SubResource): - """Probe of the application gateway. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param protocol: The protocol used for the probe. Possible values include: - 'Http', 'Https' - :type protocol: str or - ~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayProtocol - :param host: Host name to send the probe to. - :type host: str - :param path: Relative path of probe. Valid path starts from '/'. Probe is - sent to ://:. - :type path: str - :param interval: The probing interval in seconds. This is the time - interval between two consecutive probes. Acceptable values are from 1 - second to 86400 seconds. - :type interval: int - :param timeout: The probe timeout in seconds. Probe marked as failed if - valid response is not received with this timeout period. Acceptable values - are from 1 second to 86400 seconds. - :type timeout: int - :param unhealthy_threshold: The probe retry count. Backend server is - marked down after consecutive probe failure count reaches - UnhealthyThreshold. Acceptable values are from 1 second to 20. - :type unhealthy_threshold: int - :param pick_host_name_from_backend_http_settings: Whether the host header - should be picked from the backend http settings. Default value is false. - :type pick_host_name_from_backend_http_settings: bool - :param min_servers: Minimum number of servers that are always marked - healthy. Default value is 0. - :type min_servers: int - :param match: Criterion for classifying a healthy probe response. - :type match: - ~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayProbeHealthResponseMatch - :ivar provisioning_state: The provisioning state of the probe resource. - Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param port: Custom port which will be used for probing the backend - servers. The valid value ranges from 1 to 65535. In case not set, port - from http settings will be used. This property is valid for Standard_v2 - and WAF_v2 only. - :type port: int - :param name: Name of the probe that is unique within an Application - Gateway. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :ivar type: Type of the resource. - :vartype type: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'port': {'maximum': 65535, 'minimum': 1}, - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'protocol': {'key': 'properties.protocol', 'type': 'str'}, - 'host': {'key': 'properties.host', 'type': 'str'}, - 'path': {'key': 'properties.path', 'type': 'str'}, - 'interval': {'key': 'properties.interval', 'type': 'int'}, - 'timeout': {'key': 'properties.timeout', 'type': 'int'}, - 'unhealthy_threshold': {'key': 'properties.unhealthyThreshold', 'type': 'int'}, - 'pick_host_name_from_backend_http_settings': {'key': 'properties.pickHostNameFromBackendHttpSettings', 'type': 'bool'}, - 'min_servers': {'key': 'properties.minServers', 'type': 'int'}, - 'match': {'key': 'properties.match', 'type': 'ApplicationGatewayProbeHealthResponseMatch'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'port': {'key': 'properties.port', 'type': 'int'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayProbe, self).__init__(**kwargs) - self.protocol = kwargs.get('protocol', None) - self.host = kwargs.get('host', None) - self.path = kwargs.get('path', None) - self.interval = kwargs.get('interval', None) - self.timeout = kwargs.get('timeout', None) - self.unhealthy_threshold = kwargs.get('unhealthy_threshold', None) - self.pick_host_name_from_backend_http_settings = kwargs.get('pick_host_name_from_backend_http_settings', None) - self.min_servers = kwargs.get('min_servers', None) - self.match = kwargs.get('match', None) - self.provisioning_state = None - self.port = kwargs.get('port', None) - self.name = kwargs.get('name', None) - self.etag = None - self.type = None - - -class ApplicationGatewayProbeHealthResponseMatch(Model): - """Application gateway probe health response match. - - :param body: Body that must be contained in the health response. Default - value is empty. - :type body: str - :param status_codes: Allowed ranges of healthy status codes. Default range - of healthy status codes is 200-399. - :type status_codes: list[str] - """ - - _attribute_map = { - 'body': {'key': 'body', 'type': 'str'}, - 'status_codes': {'key': 'statusCodes', 'type': '[str]'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayProbeHealthResponseMatch, self).__init__(**kwargs) - self.body = kwargs.get('body', None) - self.status_codes = kwargs.get('status_codes', None) - - -class ApplicationGatewayRedirectConfiguration(SubResource): - """Redirect configuration of an application gateway. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param redirect_type: HTTP redirection type. Possible values include: - 'Permanent', 'Found', 'SeeOther', 'Temporary' - :type redirect_type: str or - ~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayRedirectType - :param target_listener: Reference to a listener to redirect the request - to. - :type target_listener: ~azure.mgmt.network.v2019_09_01.models.SubResource - :param target_url: Url to redirect the request to. - :type target_url: str - :param include_path: Include path in the redirected url. - :type include_path: bool - :param include_query_string: Include query string in the redirected url. - :type include_query_string: bool - :param request_routing_rules: Request routing specifying redirect - configuration. - :type request_routing_rules: - list[~azure.mgmt.network.v2019_09_01.models.SubResource] - :param url_path_maps: Url path maps specifying default redirect - configuration. - :type url_path_maps: - list[~azure.mgmt.network.v2019_09_01.models.SubResource] - :param path_rules: Path rules specifying redirect configuration. - :type path_rules: list[~azure.mgmt.network.v2019_09_01.models.SubResource] - :param name: Name of the redirect configuration that is unique within an - Application Gateway. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :ivar type: Type of the resource. - :vartype type: str - """ - - _validation = { - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'redirect_type': {'key': 'properties.redirectType', 'type': 'str'}, - 'target_listener': {'key': 'properties.targetListener', 'type': 'SubResource'}, - 'target_url': {'key': 'properties.targetUrl', 'type': 'str'}, - 'include_path': {'key': 'properties.includePath', 'type': 'bool'}, - 'include_query_string': {'key': 'properties.includeQueryString', 'type': 'bool'}, - 'request_routing_rules': {'key': 'properties.requestRoutingRules', 'type': '[SubResource]'}, - 'url_path_maps': {'key': 'properties.urlPathMaps', 'type': '[SubResource]'}, - 'path_rules': {'key': 'properties.pathRules', 'type': '[SubResource]'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayRedirectConfiguration, self).__init__(**kwargs) - self.redirect_type = kwargs.get('redirect_type', None) - self.target_listener = kwargs.get('target_listener', None) - self.target_url = kwargs.get('target_url', None) - self.include_path = kwargs.get('include_path', None) - self.include_query_string = kwargs.get('include_query_string', None) - self.request_routing_rules = kwargs.get('request_routing_rules', None) - self.url_path_maps = kwargs.get('url_path_maps', None) - self.path_rules = kwargs.get('path_rules', None) - self.name = kwargs.get('name', None) - self.etag = None - self.type = None - - -class ApplicationGatewayRequestRoutingRule(SubResource): - """Request routing rule of an application gateway. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param rule_type: Rule type. Possible values include: 'Basic', - 'PathBasedRouting' - :type rule_type: str or - ~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayRequestRoutingRuleType - :param priority: Priority of the request routing rule. - :type priority: int - :param backend_address_pool: Backend address pool resource of the - application gateway. - :type backend_address_pool: - ~azure.mgmt.network.v2019_09_01.models.SubResource - :param backend_http_settings: Backend http settings resource of the - application gateway. - :type backend_http_settings: - ~azure.mgmt.network.v2019_09_01.models.SubResource - :param http_listener: Http listener resource of the application gateway. - :type http_listener: ~azure.mgmt.network.v2019_09_01.models.SubResource - :param url_path_map: URL path map resource of the application gateway. - :type url_path_map: ~azure.mgmt.network.v2019_09_01.models.SubResource - :param rewrite_rule_set: Rewrite Rule Set resource in Basic rule of the - application gateway. - :type rewrite_rule_set: ~azure.mgmt.network.v2019_09_01.models.SubResource - :param redirect_configuration: Redirect configuration resource of the - application gateway. - :type redirect_configuration: - ~azure.mgmt.network.v2019_09_01.models.SubResource - :ivar provisioning_state: The provisioning state of the request routing - rule resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param name: Name of the request routing rule that is unique within an - Application Gateway. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :ivar type: Type of the resource. - :vartype type: str - """ - - _validation = { - 'priority': {'maximum': 20000, 'minimum': 1}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'rule_type': {'key': 'properties.ruleType', 'type': 'str'}, - 'priority': {'key': 'properties.priority', 'type': 'int'}, - 'backend_address_pool': {'key': 'properties.backendAddressPool', 'type': 'SubResource'}, - 'backend_http_settings': {'key': 'properties.backendHttpSettings', 'type': 'SubResource'}, - 'http_listener': {'key': 'properties.httpListener', 'type': 'SubResource'}, - 'url_path_map': {'key': 'properties.urlPathMap', 'type': 'SubResource'}, - 'rewrite_rule_set': {'key': 'properties.rewriteRuleSet', 'type': 'SubResource'}, - 'redirect_configuration': {'key': 'properties.redirectConfiguration', 'type': 'SubResource'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayRequestRoutingRule, self).__init__(**kwargs) - self.rule_type = kwargs.get('rule_type', None) - self.priority = kwargs.get('priority', None) - self.backend_address_pool = kwargs.get('backend_address_pool', None) - self.backend_http_settings = kwargs.get('backend_http_settings', None) - self.http_listener = kwargs.get('http_listener', None) - self.url_path_map = kwargs.get('url_path_map', None) - self.rewrite_rule_set = kwargs.get('rewrite_rule_set', None) - self.redirect_configuration = kwargs.get('redirect_configuration', None) - self.provisioning_state = None - self.name = kwargs.get('name', None) - self.etag = None - self.type = None - - -class ApplicationGatewayRewriteRule(Model): - """Rewrite rule of an application gateway. - - :param name: Name of the rewrite rule that is unique within an Application - Gateway. - :type name: str - :param rule_sequence: Rule Sequence of the rewrite rule that determines - the order of execution of a particular rule in a RewriteRuleSet. - :type rule_sequence: int - :param conditions: Conditions based on which the action set execution will - be evaluated. - :type conditions: - list[~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayRewriteRuleCondition] - :param action_set: Set of actions to be done as part of the rewrite Rule. - :type action_set: - ~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayRewriteRuleActionSet - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'rule_sequence': {'key': 'ruleSequence', 'type': 'int'}, - 'conditions': {'key': 'conditions', 'type': '[ApplicationGatewayRewriteRuleCondition]'}, - 'action_set': {'key': 'actionSet', 'type': 'ApplicationGatewayRewriteRuleActionSet'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayRewriteRule, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.rule_sequence = kwargs.get('rule_sequence', None) - self.conditions = kwargs.get('conditions', None) - self.action_set = kwargs.get('action_set', None) - - -class ApplicationGatewayRewriteRuleActionSet(Model): - """Set of actions in the Rewrite Rule in Application Gateway. - - :param request_header_configurations: Request Header Actions in the Action - Set. - :type request_header_configurations: - list[~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayHeaderConfiguration] - :param response_header_configurations: Response Header Actions in the - Action Set. - :type response_header_configurations: - list[~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayHeaderConfiguration] - """ - - _attribute_map = { - 'request_header_configurations': {'key': 'requestHeaderConfigurations', 'type': '[ApplicationGatewayHeaderConfiguration]'}, - 'response_header_configurations': {'key': 'responseHeaderConfigurations', 'type': '[ApplicationGatewayHeaderConfiguration]'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayRewriteRuleActionSet, self).__init__(**kwargs) - self.request_header_configurations = kwargs.get('request_header_configurations', None) - self.response_header_configurations = kwargs.get('response_header_configurations', None) - - -class ApplicationGatewayRewriteRuleCondition(Model): - """Set of conditions in the Rewrite Rule in Application Gateway. - - :param variable: The condition parameter of the RewriteRuleCondition. - :type variable: str - :param pattern: The pattern, either fixed string or regular expression, - that evaluates the truthfulness of the condition. - :type pattern: str - :param ignore_case: Setting this paramter to truth value with force the - pattern to do a case in-sensitive comparison. - :type ignore_case: bool - :param negate: Setting this value as truth will force to check the - negation of the condition given by the user. - :type negate: bool - """ - - _attribute_map = { - 'variable': {'key': 'variable', 'type': 'str'}, - 'pattern': {'key': 'pattern', 'type': 'str'}, - 'ignore_case': {'key': 'ignoreCase', 'type': 'bool'}, - 'negate': {'key': 'negate', 'type': 'bool'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayRewriteRuleCondition, self).__init__(**kwargs) - self.variable = kwargs.get('variable', None) - self.pattern = kwargs.get('pattern', None) - self.ignore_case = kwargs.get('ignore_case', None) - self.negate = kwargs.get('negate', None) - - -class ApplicationGatewayRewriteRuleSet(SubResource): - """Rewrite rule set of an application gateway. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param rewrite_rules: Rewrite rules in the rewrite rule set. - :type rewrite_rules: - list[~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayRewriteRule] - :ivar provisioning_state: The provisioning state of the rewrite rule set - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param name: Name of the rewrite rule set that is unique within an - Application Gateway. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'rewrite_rules': {'key': 'properties.rewriteRules', 'type': '[ApplicationGatewayRewriteRule]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayRewriteRuleSet, self).__init__(**kwargs) - self.rewrite_rules = kwargs.get('rewrite_rules', None) - self.provisioning_state = None - self.name = kwargs.get('name', None) - self.etag = None - - -class ApplicationGatewaySku(Model): - """SKU of an application gateway. - - :param name: Name of an application gateway SKU. Possible values include: - 'Standard_Small', 'Standard_Medium', 'Standard_Large', 'WAF_Medium', - 'WAF_Large', 'Standard_v2', 'WAF_v2' - :type name: str or - ~azure.mgmt.network.v2019_09_01.models.ApplicationGatewaySkuName - :param tier: Tier of an application gateway. Possible values include: - 'Standard', 'WAF', 'Standard_v2', 'WAF_v2' - :type tier: str or - ~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayTier - :param capacity: Capacity (instance count) of an application gateway. - :type capacity: int - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'tier': {'key': 'tier', 'type': 'str'}, - 'capacity': {'key': 'capacity', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewaySku, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.tier = kwargs.get('tier', None) - self.capacity = kwargs.get('capacity', None) - - -class ApplicationGatewaySslCertificate(SubResource): - """SSL certificates of an application gateway. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param data: Base-64 encoded pfx certificate. Only applicable in PUT - Request. - :type data: str - :param password: Password for the pfx file specified in data. Only - applicable in PUT request. - :type password: str - :ivar public_cert_data: Base-64 encoded Public cert data corresponding to - pfx specified in data. Only applicable in GET request. - :vartype public_cert_data: str - :param key_vault_secret_id: Secret Id of (base-64 encoded unencrypted pfx) - 'Secret' or 'Certificate' object stored in KeyVault. - :type key_vault_secret_id: str - :ivar provisioning_state: The provisioning state of the SSL certificate - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param name: Name of the SSL certificate that is unique within an - Application Gateway. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :ivar type: Type of the resource. - :vartype type: str - """ - - _validation = { - 'public_cert_data': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'data': {'key': 'properties.data', 'type': 'str'}, - 'password': {'key': 'properties.password', 'type': 'str'}, - 'public_cert_data': {'key': 'properties.publicCertData', 'type': 'str'}, - 'key_vault_secret_id': {'key': 'properties.keyVaultSecretId', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewaySslCertificate, self).__init__(**kwargs) - self.data = kwargs.get('data', None) - self.password = kwargs.get('password', None) - self.public_cert_data = None - self.key_vault_secret_id = kwargs.get('key_vault_secret_id', None) - self.provisioning_state = None - self.name = kwargs.get('name', None) - self.etag = None - self.type = None - - -class ApplicationGatewaySslPolicy(Model): - """Application Gateway Ssl policy. - - :param disabled_ssl_protocols: Ssl protocols to be disabled on application - gateway. - :type disabled_ssl_protocols: list[str or - ~azure.mgmt.network.v2019_09_01.models.ApplicationGatewaySslProtocol] - :param policy_type: Type of Ssl Policy. Possible values include: - 'Predefined', 'Custom' - :type policy_type: str or - ~azure.mgmt.network.v2019_09_01.models.ApplicationGatewaySslPolicyType - :param policy_name: Name of Ssl predefined policy. Possible values - include: 'AppGwSslPolicy20150501', 'AppGwSslPolicy20170401', - 'AppGwSslPolicy20170401S' - :type policy_name: str or - ~azure.mgmt.network.v2019_09_01.models.ApplicationGatewaySslPolicyName - :param cipher_suites: Ssl cipher suites to be enabled in the specified - order to application gateway. - :type cipher_suites: list[str or - ~azure.mgmt.network.v2019_09_01.models.ApplicationGatewaySslCipherSuite] - :param min_protocol_version: Minimum version of Ssl protocol to be - supported on application gateway. Possible values include: 'TLSv1_0', - 'TLSv1_1', 'TLSv1_2' - :type min_protocol_version: str or - ~azure.mgmt.network.v2019_09_01.models.ApplicationGatewaySslProtocol - """ - - _attribute_map = { - 'disabled_ssl_protocols': {'key': 'disabledSslProtocols', 'type': '[str]'}, - 'policy_type': {'key': 'policyType', 'type': 'str'}, - 'policy_name': {'key': 'policyName', 'type': 'str'}, - 'cipher_suites': {'key': 'cipherSuites', 'type': '[str]'}, - 'min_protocol_version': {'key': 'minProtocolVersion', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewaySslPolicy, self).__init__(**kwargs) - self.disabled_ssl_protocols = kwargs.get('disabled_ssl_protocols', None) - self.policy_type = kwargs.get('policy_type', None) - self.policy_name = kwargs.get('policy_name', None) - self.cipher_suites = kwargs.get('cipher_suites', None) - self.min_protocol_version = kwargs.get('min_protocol_version', None) - - -class ApplicationGatewaySslPredefinedPolicy(SubResource): - """An Ssl predefined policy. - - :param id: Resource ID. - :type id: str - :param name: Name of the Ssl predefined policy. - :type name: str - :param cipher_suites: Ssl cipher suites to be enabled in the specified - order for application gateway. - :type cipher_suites: list[str or - ~azure.mgmt.network.v2019_09_01.models.ApplicationGatewaySslCipherSuite] - :param min_protocol_version: Minimum version of Ssl protocol to be - supported on application gateway. Possible values include: 'TLSv1_0', - 'TLSv1_1', 'TLSv1_2' - :type min_protocol_version: str or - ~azure.mgmt.network.v2019_09_01.models.ApplicationGatewaySslProtocol - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'cipher_suites': {'key': 'properties.cipherSuites', 'type': '[str]'}, - 'min_protocol_version': {'key': 'properties.minProtocolVersion', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewaySslPredefinedPolicy, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.cipher_suites = kwargs.get('cipher_suites', None) - self.min_protocol_version = kwargs.get('min_protocol_version', None) - - -class ApplicationGatewayTrustedRootCertificate(SubResource): - """Trusted Root certificates of an application gateway. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param data: Certificate public data. - :type data: str - :param key_vault_secret_id: Secret Id of (base-64 encoded unencrypted pfx) - 'Secret' or 'Certificate' object stored in KeyVault. - :type key_vault_secret_id: str - :ivar provisioning_state: The provisioning state of the trusted root - certificate resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param name: Name of the trusted root certificate that is unique within an - Application Gateway. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :ivar type: Type of the resource. - :vartype type: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'data': {'key': 'properties.data', 'type': 'str'}, - 'key_vault_secret_id': {'key': 'properties.keyVaultSecretId', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayTrustedRootCertificate, self).__init__(**kwargs) - self.data = kwargs.get('data', None) - self.key_vault_secret_id = kwargs.get('key_vault_secret_id', None) - self.provisioning_state = None - self.name = kwargs.get('name', None) - self.etag = None - self.type = None - - -class ApplicationGatewayUrlPathMap(SubResource): - """UrlPathMaps give a url path to the backend mapping information for - PathBasedRouting. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param default_backend_address_pool: Default backend address pool resource - of URL path map. - :type default_backend_address_pool: - ~azure.mgmt.network.v2019_09_01.models.SubResource - :param default_backend_http_settings: Default backend http settings - resource of URL path map. - :type default_backend_http_settings: - ~azure.mgmt.network.v2019_09_01.models.SubResource - :param default_rewrite_rule_set: Default Rewrite rule set resource of URL - path map. - :type default_rewrite_rule_set: - ~azure.mgmt.network.v2019_09_01.models.SubResource - :param default_redirect_configuration: Default redirect configuration - resource of URL path map. - :type default_redirect_configuration: - ~azure.mgmt.network.v2019_09_01.models.SubResource - :param path_rules: Path rule of URL path map resource. - :type path_rules: - list[~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayPathRule] - :ivar provisioning_state: The provisioning state of the URL path map - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param name: Name of the URL path map that is unique within an Application - Gateway. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :ivar type: Type of the resource. - :vartype type: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'default_backend_address_pool': {'key': 'properties.defaultBackendAddressPool', 'type': 'SubResource'}, - 'default_backend_http_settings': {'key': 'properties.defaultBackendHttpSettings', 'type': 'SubResource'}, - 'default_rewrite_rule_set': {'key': 'properties.defaultRewriteRuleSet', 'type': 'SubResource'}, - 'default_redirect_configuration': {'key': 'properties.defaultRedirectConfiguration', 'type': 'SubResource'}, - 'path_rules': {'key': 'properties.pathRules', 'type': '[ApplicationGatewayPathRule]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayUrlPathMap, self).__init__(**kwargs) - self.default_backend_address_pool = kwargs.get('default_backend_address_pool', None) - self.default_backend_http_settings = kwargs.get('default_backend_http_settings', None) - self.default_rewrite_rule_set = kwargs.get('default_rewrite_rule_set', None) - self.default_redirect_configuration = kwargs.get('default_redirect_configuration', None) - self.path_rules = kwargs.get('path_rules', None) - self.provisioning_state = None - self.name = kwargs.get('name', None) - self.etag = None - self.type = None - - -class ApplicationGatewayWebApplicationFirewallConfiguration(Model): - """Application gateway web application firewall configuration. - - All required parameters must be populated in order to send to Azure. - - :param enabled: Required. Whether the web application firewall is enabled - or not. - :type enabled: bool - :param firewall_mode: Required. Web application firewall mode. Possible - values include: 'Detection', 'Prevention' - :type firewall_mode: str or - ~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayFirewallMode - :param rule_set_type: Required. The type of the web application firewall - rule set. Possible values are: 'OWASP'. - :type rule_set_type: str - :param rule_set_version: Required. The version of the rule set type. - :type rule_set_version: str - :param disabled_rule_groups: The disabled rule groups. - :type disabled_rule_groups: - list[~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayFirewallDisabledRuleGroup] - :param request_body_check: Whether allow WAF to check request Body. - :type request_body_check: bool - :param max_request_body_size: Maximum request body size for WAF. - :type max_request_body_size: int - :param max_request_body_size_in_kb: Maximum request body size in Kb for - WAF. - :type max_request_body_size_in_kb: int - :param file_upload_limit_in_mb: Maximum file upload size in Mb for WAF. - :type file_upload_limit_in_mb: int - :param exclusions: The exclusion list. - :type exclusions: - list[~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayFirewallExclusion] - """ - - _validation = { - 'enabled': {'required': True}, - 'firewall_mode': {'required': True}, - 'rule_set_type': {'required': True}, - 'rule_set_version': {'required': True}, - 'max_request_body_size': {'maximum': 128, 'minimum': 8}, - 'max_request_body_size_in_kb': {'maximum': 128, 'minimum': 8}, - 'file_upload_limit_in_mb': {'minimum': 0}, - } - - _attribute_map = { - 'enabled': {'key': 'enabled', 'type': 'bool'}, - 'firewall_mode': {'key': 'firewallMode', 'type': 'str'}, - 'rule_set_type': {'key': 'ruleSetType', 'type': 'str'}, - 'rule_set_version': {'key': 'ruleSetVersion', 'type': 'str'}, - 'disabled_rule_groups': {'key': 'disabledRuleGroups', 'type': '[ApplicationGatewayFirewallDisabledRuleGroup]'}, - 'request_body_check': {'key': 'requestBodyCheck', 'type': 'bool'}, - 'max_request_body_size': {'key': 'maxRequestBodySize', 'type': 'int'}, - 'max_request_body_size_in_kb': {'key': 'maxRequestBodySizeInKb', 'type': 'int'}, - 'file_upload_limit_in_mb': {'key': 'fileUploadLimitInMb', 'type': 'int'}, - 'exclusions': {'key': 'exclusions', 'type': '[ApplicationGatewayFirewallExclusion]'}, - } - - def __init__(self, **kwargs): - super(ApplicationGatewayWebApplicationFirewallConfiguration, self).__init__(**kwargs) - self.enabled = kwargs.get('enabled', None) - self.firewall_mode = kwargs.get('firewall_mode', None) - self.rule_set_type = kwargs.get('rule_set_type', None) - self.rule_set_version = kwargs.get('rule_set_version', None) - self.disabled_rule_groups = kwargs.get('disabled_rule_groups', None) - self.request_body_check = kwargs.get('request_body_check', None) - self.max_request_body_size = kwargs.get('max_request_body_size', None) - self.max_request_body_size_in_kb = kwargs.get('max_request_body_size_in_kb', None) - self.file_upload_limit_in_mb = kwargs.get('file_upload_limit_in_mb', None) - self.exclusions = kwargs.get('exclusions', None) - - -class FirewallPolicyRuleCondition(Model): - """Properties of a rule. - - You probably want to use the sub-classes and not this class directly. Known - sub-classes are: ApplicationRuleCondition, NetworkRuleCondition - - All required parameters must be populated in order to send to Azure. - - :param name: Name of the rule condition. - :type name: str - :param description: Description of the rule condition. - :type description: str - :param rule_condition_type: Required. Constant filled by server. - :type rule_condition_type: str - """ - - _validation = { - 'rule_condition_type': {'required': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'description': {'key': 'description', 'type': 'str'}, - 'rule_condition_type': {'key': 'ruleConditionType', 'type': 'str'}, - } - - _subtype_map = { - 'rule_condition_type': {'ApplicationRuleCondition': 'ApplicationRuleCondition', 'NetworkRuleCondition': 'NetworkRuleCondition'} - } - - def __init__(self, **kwargs): - super(FirewallPolicyRuleCondition, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.description = kwargs.get('description', None) - self.rule_condition_type = None - - -class ApplicationRuleCondition(FirewallPolicyRuleCondition): - """Rule condition of type application. - - All required parameters must be populated in order to send to Azure. - - :param name: Name of the rule condition. - :type name: str - :param description: Description of the rule condition. - :type description: str - :param rule_condition_type: Required. Constant filled by server. - :type rule_condition_type: str - :param source_addresses: List of source IP addresses for this rule. - :type source_addresses: list[str] - :param destination_addresses: List of destination IP addresses or Service - Tags. - :type destination_addresses: list[str] - :param protocols: Array of Application Protocols. - :type protocols: - list[~azure.mgmt.network.v2019_09_01.models.FirewallPolicyRuleConditionApplicationProtocol] - :param target_fqdns: List of FQDNs for this rule condition. - :type target_fqdns: list[str] - :param fqdn_tags: List of FQDN Tags for this rule condition. - :type fqdn_tags: list[str] - """ - - _validation = { - 'rule_condition_type': {'required': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'description': {'key': 'description', 'type': 'str'}, - 'rule_condition_type': {'key': 'ruleConditionType', 'type': 'str'}, - 'source_addresses': {'key': 'sourceAddresses', 'type': '[str]'}, - 'destination_addresses': {'key': 'destinationAddresses', 'type': '[str]'}, - 'protocols': {'key': 'protocols', 'type': '[FirewallPolicyRuleConditionApplicationProtocol]'}, - 'target_fqdns': {'key': 'targetFqdns', 'type': '[str]'}, - 'fqdn_tags': {'key': 'fqdnTags', 'type': '[str]'}, - } - - def __init__(self, **kwargs): - super(ApplicationRuleCondition, self).__init__(**kwargs) - self.source_addresses = kwargs.get('source_addresses', None) - self.destination_addresses = kwargs.get('destination_addresses', None) - self.protocols = kwargs.get('protocols', None) - self.target_fqdns = kwargs.get('target_fqdns', None) - self.fqdn_tags = kwargs.get('fqdn_tags', None) - self.rule_condition_type = 'ApplicationRuleCondition' - - -class ApplicationSecurityGroup(Resource): - """An application security group in a resource group. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :ivar resource_guid: The resource GUID property of the application - security group resource. It uniquely identifies a resource, even if the - user changes its name or migrate the resource across subscriptions or - resource groups. - :vartype resource_guid: str - :ivar provisioning_state: The provisioning state of the application - security group resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'resource_guid': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ApplicationSecurityGroup, self).__init__(**kwargs) - self.resource_guid = None - self.provisioning_state = None - self.etag = None - - -class AutoApprovedPrivateLinkService(Model): - """The information of an AutoApprovedPrivateLinkService. - - :param private_link_service: The id of the private link service resource. - :type private_link_service: str - """ - - _attribute_map = { - 'private_link_service': {'key': 'privateLinkService', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(AutoApprovedPrivateLinkService, self).__init__(**kwargs) - self.private_link_service = kwargs.get('private_link_service', None) - - -class Availability(Model): - """Availability of the metric. - - :param time_grain: The time grain of the availability. - :type time_grain: str - :param retention: The retention of the availability. - :type retention: str - :param blob_duration: Duration of the availability blob. - :type blob_duration: str - """ - - _attribute_map = { - 'time_grain': {'key': 'timeGrain', 'type': 'str'}, - 'retention': {'key': 'retention', 'type': 'str'}, - 'blob_duration': {'key': 'blobDuration', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(Availability, self).__init__(**kwargs) - self.time_grain = kwargs.get('time_grain', None) - self.retention = kwargs.get('retention', None) - self.blob_duration = kwargs.get('blob_duration', None) - - -class AvailableDelegation(Model): - """The serviceName of an AvailableDelegation indicates a possible delegation - for a subnet. - - :param name: The name of the AvailableDelegation resource. - :type name: str - :param id: A unique identifier of the AvailableDelegation resource. - :type id: str - :param type: Resource type. - :type type: str - :param service_name: The name of the service and resource. - :type service_name: str - :param actions: Describes the actions permitted to the service upon - delegation. - :type actions: list[str] - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'id': {'key': 'id', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'service_name': {'key': 'serviceName', 'type': 'str'}, - 'actions': {'key': 'actions', 'type': '[str]'}, - } - - def __init__(self, **kwargs): - super(AvailableDelegation, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.id = kwargs.get('id', None) - self.type = kwargs.get('type', None) - self.service_name = kwargs.get('service_name', None) - self.actions = kwargs.get('actions', None) - - -class AvailablePrivateEndpointType(Model): - """The information of an AvailablePrivateEndpointType. - - :param name: The name of the service and resource. - :type name: str - :param id: A unique identifier of the AvailablePrivateEndpoint Type - resource. - :type id: str - :param type: Resource type. - :type type: str - :param resource_name: The name of the service and resource. - :type resource_name: str - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'id': {'key': 'id', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'resource_name': {'key': 'resourceName', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(AvailablePrivateEndpointType, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.id = kwargs.get('id', None) - self.type = kwargs.get('type', None) - self.resource_name = kwargs.get('resource_name', None) - - -class AvailableProvidersList(Model): - """List of available countries with details. - - All required parameters must be populated in order to send to Azure. - - :param countries: Required. List of available countries. - :type countries: - list[~azure.mgmt.network.v2019_09_01.models.AvailableProvidersListCountry] - """ - - _validation = { - 'countries': {'required': True}, - } - - _attribute_map = { - 'countries': {'key': 'countries', 'type': '[AvailableProvidersListCountry]'}, - } - - def __init__(self, **kwargs): - super(AvailableProvidersList, self).__init__(**kwargs) - self.countries = kwargs.get('countries', None) - - -class AvailableProvidersListCity(Model): - """City or town details. - - :param city_name: The city or town name. - :type city_name: str - :param providers: A list of Internet service providers. - :type providers: list[str] - """ - - _attribute_map = { - 'city_name': {'key': 'cityName', 'type': 'str'}, - 'providers': {'key': 'providers', 'type': '[str]'}, - } - - def __init__(self, **kwargs): - super(AvailableProvidersListCity, self).__init__(**kwargs) - self.city_name = kwargs.get('city_name', None) - self.providers = kwargs.get('providers', None) - - -class AvailableProvidersListCountry(Model): - """Country details. - - :param country_name: The country name. - :type country_name: str - :param providers: A list of Internet service providers. - :type providers: list[str] - :param states: List of available states in the country. - :type states: - list[~azure.mgmt.network.v2019_09_01.models.AvailableProvidersListState] - """ - - _attribute_map = { - 'country_name': {'key': 'countryName', 'type': 'str'}, - 'providers': {'key': 'providers', 'type': '[str]'}, - 'states': {'key': 'states', 'type': '[AvailableProvidersListState]'}, - } - - def __init__(self, **kwargs): - super(AvailableProvidersListCountry, self).__init__(**kwargs) - self.country_name = kwargs.get('country_name', None) - self.providers = kwargs.get('providers', None) - self.states = kwargs.get('states', None) - - -class AvailableProvidersListParameters(Model): - """Constraints that determine the list of available Internet service - providers. - - :param azure_locations: A list of Azure regions. - :type azure_locations: list[str] - :param country: The country for available providers list. - :type country: str - :param state: The state for available providers list. - :type state: str - :param city: The city or town for available providers list. - :type city: str - """ - - _attribute_map = { - 'azure_locations': {'key': 'azureLocations', 'type': '[str]'}, - 'country': {'key': 'country', 'type': 'str'}, - 'state': {'key': 'state', 'type': 'str'}, - 'city': {'key': 'city', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(AvailableProvidersListParameters, self).__init__(**kwargs) - self.azure_locations = kwargs.get('azure_locations', None) - self.country = kwargs.get('country', None) - self.state = kwargs.get('state', None) - self.city = kwargs.get('city', None) - - -class AvailableProvidersListState(Model): - """State details. - - :param state_name: The state name. - :type state_name: str - :param providers: A list of Internet service providers. - :type providers: list[str] - :param cities: List of available cities or towns in the state. - :type cities: - list[~azure.mgmt.network.v2019_09_01.models.AvailableProvidersListCity] - """ - - _attribute_map = { - 'state_name': {'key': 'stateName', 'type': 'str'}, - 'providers': {'key': 'providers', 'type': '[str]'}, - 'cities': {'key': 'cities', 'type': '[AvailableProvidersListCity]'}, - } - - def __init__(self, **kwargs): - super(AvailableProvidersListState, self).__init__(**kwargs) - self.state_name = kwargs.get('state_name', None) - self.providers = kwargs.get('providers', None) - self.cities = kwargs.get('cities', None) - - -class AvailableServiceAlias(Model): - """The available service alias. - - :param name: The name of the service alias. - :type name: str - :param id: The ID of the service alias. - :type id: str - :param type: The type of the resource. - :type type: str - :param resource_name: The resource name of the service alias. - :type resource_name: str - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'id': {'key': 'id', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'resource_name': {'key': 'resourceName', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(AvailableServiceAlias, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.id = kwargs.get('id', None) - self.type = kwargs.get('type', None) - self.resource_name = kwargs.get('resource_name', None) - - -class AzureAsyncOperationResult(Model): - """The response body contains the status of the specified asynchronous - operation, indicating whether it has succeeded, is in progress, or has - failed. Note that this status is distinct from the HTTP status code - returned for the Get Operation Status operation itself. If the asynchronous - operation succeeded, the response body includes the HTTP status code for - the successful request. If the asynchronous operation failed, the response - body includes the HTTP status code for the failed request and error - information regarding the failure. - - :param status: Status of the Azure async operation. Possible values - include: 'InProgress', 'Succeeded', 'Failed' - :type status: str or - ~azure.mgmt.network.v2019_09_01.models.NetworkOperationStatus - :param error: Details of the error occurred during specified asynchronous - operation. - :type error: ~azure.mgmt.network.v2019_09_01.models.Error - """ - - _attribute_map = { - 'status': {'key': 'status', 'type': 'str'}, - 'error': {'key': 'error', 'type': 'Error'}, - } - - def __init__(self, **kwargs): - super(AzureAsyncOperationResult, self).__init__(**kwargs) - self.status = kwargs.get('status', None) - self.error = kwargs.get('error', None) - - -class AzureFirewall(Resource): - """Azure Firewall resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param application_rule_collections: Collection of application rule - collections used by Azure Firewall. - :type application_rule_collections: - list[~azure.mgmt.network.v2019_09_01.models.AzureFirewallApplicationRuleCollection] - :param nat_rule_collections: Collection of NAT rule collections used by - Azure Firewall. - :type nat_rule_collections: - list[~azure.mgmt.network.v2019_09_01.models.AzureFirewallNatRuleCollection] - :param network_rule_collections: Collection of network rule collections - used by Azure Firewall. - :type network_rule_collections: - list[~azure.mgmt.network.v2019_09_01.models.AzureFirewallNetworkRuleCollection] - :param ip_configurations: IP configuration of the Azure Firewall resource. - :type ip_configurations: - list[~azure.mgmt.network.v2019_09_01.models.AzureFirewallIPConfiguration] - :ivar provisioning_state: The provisioning state of the Azure firewall - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param threat_intel_mode: The operation mode for Threat Intelligence. - Possible values include: 'Alert', 'Deny', 'Off' - :type threat_intel_mode: str or - ~azure.mgmt.network.v2019_09_01.models.AzureFirewallThreatIntelMode - :param virtual_hub: The virtualHub to which the firewall belongs. - :type virtual_hub: ~azure.mgmt.network.v2019_09_01.models.SubResource - :param firewall_policy: The firewallPolicy associated with this azure - firewall. - :type firewall_policy: ~azure.mgmt.network.v2019_09_01.models.SubResource - :ivar hub_ip_addresses: IP addresses associated with AzureFirewall. - :vartype hub_ip_addresses: - ~azure.mgmt.network.v2019_09_01.models.HubIPAddresses - :param sku: The Azure Firewall Resource SKU. - :type sku: ~azure.mgmt.network.v2019_09_01.models.AzureFirewallSku - :param additional_properties: The additional properties used to further - config this azure firewall - :type additional_properties: dict[str, str] - :param zones: A list of availability zones denoting where the resource - needs to come from. - :type zones: list[str] - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'hub_ip_addresses': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'application_rule_collections': {'key': 'properties.applicationRuleCollections', 'type': '[AzureFirewallApplicationRuleCollection]'}, - 'nat_rule_collections': {'key': 'properties.natRuleCollections', 'type': '[AzureFirewallNatRuleCollection]'}, - 'network_rule_collections': {'key': 'properties.networkRuleCollections', 'type': '[AzureFirewallNetworkRuleCollection]'}, - 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[AzureFirewallIPConfiguration]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'threat_intel_mode': {'key': 'properties.threatIntelMode', 'type': 'str'}, - 'virtual_hub': {'key': 'properties.virtualHub', 'type': 'SubResource'}, - 'firewall_policy': {'key': 'properties.firewallPolicy', 'type': 'SubResource'}, - 'hub_ip_addresses': {'key': 'properties.hubIpAddresses', 'type': 'HubIPAddresses'}, - 'sku': {'key': 'properties.sku', 'type': 'AzureFirewallSku'}, - 'additional_properties': {'key': 'properties.additionalProperties', 'type': '{str}'}, - 'zones': {'key': 'zones', 'type': '[str]'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(AzureFirewall, self).__init__(**kwargs) - self.application_rule_collections = kwargs.get('application_rule_collections', None) - self.nat_rule_collections = kwargs.get('nat_rule_collections', None) - self.network_rule_collections = kwargs.get('network_rule_collections', None) - self.ip_configurations = kwargs.get('ip_configurations', None) - self.provisioning_state = None - self.threat_intel_mode = kwargs.get('threat_intel_mode', None) - self.virtual_hub = kwargs.get('virtual_hub', None) - self.firewall_policy = kwargs.get('firewall_policy', None) - self.hub_ip_addresses = None - self.sku = kwargs.get('sku', None) - self.additional_properties = kwargs.get('additional_properties', None) - self.zones = kwargs.get('zones', None) - self.etag = None - - -class AzureFirewallApplicationRule(Model): - """Properties of an application rule. - - :param name: Name of the application rule. - :type name: str - :param description: Description of the rule. - :type description: str - :param source_addresses: List of source IP addresses for this rule. - :type source_addresses: list[str] - :param protocols: Array of ApplicationRuleProtocols. - :type protocols: - list[~azure.mgmt.network.v2019_09_01.models.AzureFirewallApplicationRuleProtocol] - :param target_fqdns: List of FQDNs for this rule. - :type target_fqdns: list[str] - :param fqdn_tags: List of FQDN Tags for this rule. - :type fqdn_tags: list[str] - :param source_ip_groups: List of source IpGroups for this rule. - :type source_ip_groups: list[str] - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'description': {'key': 'description', 'type': 'str'}, - 'source_addresses': {'key': 'sourceAddresses', 'type': '[str]'}, - 'protocols': {'key': 'protocols', 'type': '[AzureFirewallApplicationRuleProtocol]'}, - 'target_fqdns': {'key': 'targetFqdns', 'type': '[str]'}, - 'fqdn_tags': {'key': 'fqdnTags', 'type': '[str]'}, - 'source_ip_groups': {'key': 'sourceIpGroups', 'type': '[str]'}, - } - - def __init__(self, **kwargs): - super(AzureFirewallApplicationRule, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.description = kwargs.get('description', None) - self.source_addresses = kwargs.get('source_addresses', None) - self.protocols = kwargs.get('protocols', None) - self.target_fqdns = kwargs.get('target_fqdns', None) - self.fqdn_tags = kwargs.get('fqdn_tags', None) - self.source_ip_groups = kwargs.get('source_ip_groups', None) - - -class AzureFirewallApplicationRuleCollection(SubResource): - """Application rule collection resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param priority: Priority of the application rule collection resource. - :type priority: int - :param action: The action type of a rule collection. - :type action: ~azure.mgmt.network.v2019_09_01.models.AzureFirewallRCAction - :param rules: Collection of rules used by a application rule collection. - :type rules: - list[~azure.mgmt.network.v2019_09_01.models.AzureFirewallApplicationRule] - :ivar provisioning_state: The provisioning state of the application rule - collection resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param name: The name of the resource that is unique within the Azure - firewall. This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'priority': {'maximum': 65000, 'minimum': 100}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'priority': {'key': 'properties.priority', 'type': 'int'}, - 'action': {'key': 'properties.action', 'type': 'AzureFirewallRCAction'}, - 'rules': {'key': 'properties.rules', 'type': '[AzureFirewallApplicationRule]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(AzureFirewallApplicationRuleCollection, self).__init__(**kwargs) - self.priority = kwargs.get('priority', None) - self.action = kwargs.get('action', None) - self.rules = kwargs.get('rules', None) - self.provisioning_state = None - self.name = kwargs.get('name', None) - self.etag = None - - -class AzureFirewallApplicationRuleProtocol(Model): - """Properties of the application rule protocol. - - :param protocol_type: Protocol type. Possible values include: 'Http', - 'Https', 'Mssql' - :type protocol_type: str or - ~azure.mgmt.network.v2019_09_01.models.AzureFirewallApplicationRuleProtocolType - :param port: Port number for the protocol, cannot be greater than 64000. - This field is optional. - :type port: int - """ - - _validation = { - 'port': {'maximum': 64000, 'minimum': 0}, - } - - _attribute_map = { - 'protocol_type': {'key': 'protocolType', 'type': 'str'}, - 'port': {'key': 'port', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(AzureFirewallApplicationRuleProtocol, self).__init__(**kwargs) - self.protocol_type = kwargs.get('protocol_type', None) - self.port = kwargs.get('port', None) - - -class AzureFirewallFqdnTag(Resource): - """Azure Firewall FQDN Tag Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :ivar provisioning_state: The provisioning state of the Azure firewall - FQDN tag resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :ivar fqdn_tag_name: The name of this FQDN Tag. - :vartype fqdn_tag_name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'fqdn_tag_name': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'fqdn_tag_name': {'key': 'properties.fqdnTagName', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(AzureFirewallFqdnTag, self).__init__(**kwargs) - self.provisioning_state = None - self.fqdn_tag_name = None - self.etag = None - - -class AzureFirewallIPConfiguration(SubResource): - """IP configuration of an Azure Firewall. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar private_ip_address: The Firewall Internal Load Balancer IP to be - used as the next hop in User Defined Routes. - :vartype private_ip_address: str - :param subnet: Reference of the subnet resource. This resource must be - named 'AzureFirewallSubnet'. - :type subnet: ~azure.mgmt.network.v2019_09_01.models.SubResource - :param public_ip_address: Reference of the PublicIP resource. This field - is a mandatory input if subnet is not null. - :type public_ip_address: - ~azure.mgmt.network.v2019_09_01.models.SubResource - :ivar provisioning_state: The provisioning state of the Azure firewall IP - configuration resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param name: Name of the resource that is unique within a resource group. - This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'private_ip_address': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, - 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, - 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'SubResource'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(AzureFirewallIPConfiguration, self).__init__(**kwargs) - self.private_ip_address = None - self.subnet = kwargs.get('subnet', None) - self.public_ip_address = kwargs.get('public_ip_address', None) - self.provisioning_state = None - self.name = kwargs.get('name', None) - self.etag = None - - -class AzureFirewallNatRCAction(Model): - """AzureFirewall NAT Rule Collection Action. - - :param type: The type of action. Possible values include: 'Snat', 'Dnat' - :type type: str or - ~azure.mgmt.network.v2019_09_01.models.AzureFirewallNatRCActionType - """ - - _attribute_map = { - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(AzureFirewallNatRCAction, self).__init__(**kwargs) - self.type = kwargs.get('type', None) - - -class AzureFirewallNatRule(Model): - """Properties of a NAT rule. - - :param name: Name of the NAT rule. - :type name: str - :param description: Description of the rule. - :type description: str - :param source_addresses: List of source IP addresses for this rule. - :type source_addresses: list[str] - :param destination_addresses: List of destination IP addresses for this - rule. Supports IP ranges, prefixes, and service tags. - :type destination_addresses: list[str] - :param destination_ports: List of destination ports. - :type destination_ports: list[str] - :param protocols: Array of AzureFirewallNetworkRuleProtocols applicable to - this NAT rule. - :type protocols: list[str or - ~azure.mgmt.network.v2019_09_01.models.AzureFirewallNetworkRuleProtocol] - :param translated_address: The translated address for this NAT rule. - :type translated_address: str - :param translated_port: The translated port for this NAT rule. - :type translated_port: str - :param translated_fqdn: The translated FQDN for this NAT rule. - :type translated_fqdn: str - :param source_ip_groups: List of source IpGroups for this rule. - :type source_ip_groups: list[str] - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'description': {'key': 'description', 'type': 'str'}, - 'source_addresses': {'key': 'sourceAddresses', 'type': '[str]'}, - 'destination_addresses': {'key': 'destinationAddresses', 'type': '[str]'}, - 'destination_ports': {'key': 'destinationPorts', 'type': '[str]'}, - 'protocols': {'key': 'protocols', 'type': '[str]'}, - 'translated_address': {'key': 'translatedAddress', 'type': 'str'}, - 'translated_port': {'key': 'translatedPort', 'type': 'str'}, - 'translated_fqdn': {'key': 'translatedFqdn', 'type': 'str'}, - 'source_ip_groups': {'key': 'sourceIpGroups', 'type': '[str]'}, - } - - def __init__(self, **kwargs): - super(AzureFirewallNatRule, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.description = kwargs.get('description', None) - self.source_addresses = kwargs.get('source_addresses', None) - self.destination_addresses = kwargs.get('destination_addresses', None) - self.destination_ports = kwargs.get('destination_ports', None) - self.protocols = kwargs.get('protocols', None) - self.translated_address = kwargs.get('translated_address', None) - self.translated_port = kwargs.get('translated_port', None) - self.translated_fqdn = kwargs.get('translated_fqdn', None) - self.source_ip_groups = kwargs.get('source_ip_groups', None) - - -class AzureFirewallNatRuleCollection(SubResource): - """NAT rule collection resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param priority: Priority of the NAT rule collection resource. - :type priority: int - :param action: The action type of a NAT rule collection. - :type action: - ~azure.mgmt.network.v2019_09_01.models.AzureFirewallNatRCAction - :param rules: Collection of rules used by a NAT rule collection. - :type rules: - list[~azure.mgmt.network.v2019_09_01.models.AzureFirewallNatRule] - :ivar provisioning_state: The provisioning state of the NAT rule - collection resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param name: The name of the resource that is unique within the Azure - firewall. This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'priority': {'maximum': 65000, 'minimum': 100}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'priority': {'key': 'properties.priority', 'type': 'int'}, - 'action': {'key': 'properties.action', 'type': 'AzureFirewallNatRCAction'}, - 'rules': {'key': 'properties.rules', 'type': '[AzureFirewallNatRule]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(AzureFirewallNatRuleCollection, self).__init__(**kwargs) - self.priority = kwargs.get('priority', None) - self.action = kwargs.get('action', None) - self.rules = kwargs.get('rules', None) - self.provisioning_state = None - self.name = kwargs.get('name', None) - self.etag = None - - -class AzureFirewallNetworkRule(Model): - """Properties of the network rule. - - :param name: Name of the network rule. - :type name: str - :param description: Description of the rule. - :type description: str - :param protocols: Array of AzureFirewallNetworkRuleProtocols. - :type protocols: list[str or - ~azure.mgmt.network.v2019_09_01.models.AzureFirewallNetworkRuleProtocol] - :param source_addresses: List of source IP addresses for this rule. - :type source_addresses: list[str] - :param destination_addresses: List of destination IP addresses. - :type destination_addresses: list[str] - :param destination_ports: List of destination ports. - :type destination_ports: list[str] - :param destination_fqdns: List of destination FQDNs. - :type destination_fqdns: list[str] - :param source_ip_groups: List of source IpGroups for this rule. - :type source_ip_groups: list[str] - :param destination_ip_groups: List of destination IpGroups for this rule. - :type destination_ip_groups: list[str] - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'description': {'key': 'description', 'type': 'str'}, - 'protocols': {'key': 'protocols', 'type': '[str]'}, - 'source_addresses': {'key': 'sourceAddresses', 'type': '[str]'}, - 'destination_addresses': {'key': 'destinationAddresses', 'type': '[str]'}, - 'destination_ports': {'key': 'destinationPorts', 'type': '[str]'}, - 'destination_fqdns': {'key': 'destinationFqdns', 'type': '[str]'}, - 'source_ip_groups': {'key': 'sourceIpGroups', 'type': '[str]'}, - 'destination_ip_groups': {'key': 'destinationIpGroups', 'type': '[str]'}, - } - - def __init__(self, **kwargs): - super(AzureFirewallNetworkRule, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.description = kwargs.get('description', None) - self.protocols = kwargs.get('protocols', None) - self.source_addresses = kwargs.get('source_addresses', None) - self.destination_addresses = kwargs.get('destination_addresses', None) - self.destination_ports = kwargs.get('destination_ports', None) - self.destination_fqdns = kwargs.get('destination_fqdns', None) - self.source_ip_groups = kwargs.get('source_ip_groups', None) - self.destination_ip_groups = kwargs.get('destination_ip_groups', None) - - -class AzureFirewallNetworkRuleCollection(SubResource): - """Network rule collection resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param priority: Priority of the network rule collection resource. - :type priority: int - :param action: The action type of a rule collection. - :type action: ~azure.mgmt.network.v2019_09_01.models.AzureFirewallRCAction - :param rules: Collection of rules used by a network rule collection. - :type rules: - list[~azure.mgmt.network.v2019_09_01.models.AzureFirewallNetworkRule] - :ivar provisioning_state: The provisioning state of the network rule - collection resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param name: The name of the resource that is unique within the Azure - firewall. This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'priority': {'maximum': 65000, 'minimum': 100}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'priority': {'key': 'properties.priority', 'type': 'int'}, - 'action': {'key': 'properties.action', 'type': 'AzureFirewallRCAction'}, - 'rules': {'key': 'properties.rules', 'type': '[AzureFirewallNetworkRule]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(AzureFirewallNetworkRuleCollection, self).__init__(**kwargs) - self.priority = kwargs.get('priority', None) - self.action = kwargs.get('action', None) - self.rules = kwargs.get('rules', None) - self.provisioning_state = None - self.name = kwargs.get('name', None) - self.etag = None - - -class AzureFirewallPublicIPAddress(Model): - """Public IP Address associated with azure firewall. - - :param address: Public IP Address value. - :type address: str - """ - - _attribute_map = { - 'address': {'key': 'address', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(AzureFirewallPublicIPAddress, self).__init__(**kwargs) - self.address = kwargs.get('address', None) - - -class AzureFirewallRCAction(Model): - """Properties of the AzureFirewallRCAction. - - :param type: The type of action. Possible values include: 'Allow', 'Deny' - :type type: str or - ~azure.mgmt.network.v2019_09_01.models.AzureFirewallRCActionType - """ - - _attribute_map = { - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(AzureFirewallRCAction, self).__init__(**kwargs) - self.type = kwargs.get('type', None) - - -class AzureFirewallSku(Model): - """SKU of an Azure Firewall. - - :param name: Name of an Azure Firewall SKU. Possible values include: - 'AZFW_VNet', 'AZFW_Hub' - :type name: str or - ~azure.mgmt.network.v2019_09_01.models.AzureFirewallSkuName - :param tier: Tier of an Azure Firewall. Possible values include: - 'Standard' - :type tier: str or - ~azure.mgmt.network.v2019_09_01.models.AzureFirewallSkuTier - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'tier': {'key': 'tier', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(AzureFirewallSku, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.tier = kwargs.get('tier', None) - - -class AzureReachabilityReport(Model): - """Azure reachability report details. - - All required parameters must be populated in order to send to Azure. - - :param aggregation_level: Required. The aggregation level of Azure - reachability report. Can be Country, State or City. - :type aggregation_level: str - :param provider_location: Required. Parameters that define a geographic - location. - :type provider_location: - ~azure.mgmt.network.v2019_09_01.models.AzureReachabilityReportLocation - :param reachability_report: Required. List of Azure reachability report - items. - :type reachability_report: - list[~azure.mgmt.network.v2019_09_01.models.AzureReachabilityReportItem] - """ - - _validation = { - 'aggregation_level': {'required': True}, - 'provider_location': {'required': True}, - 'reachability_report': {'required': True}, - } - - _attribute_map = { - 'aggregation_level': {'key': 'aggregationLevel', 'type': 'str'}, - 'provider_location': {'key': 'providerLocation', 'type': 'AzureReachabilityReportLocation'}, - 'reachability_report': {'key': 'reachabilityReport', 'type': '[AzureReachabilityReportItem]'}, - } - - def __init__(self, **kwargs): - super(AzureReachabilityReport, self).__init__(**kwargs) - self.aggregation_level = kwargs.get('aggregation_level', None) - self.provider_location = kwargs.get('provider_location', None) - self.reachability_report = kwargs.get('reachability_report', None) - - -class AzureReachabilityReportItem(Model): - """Azure reachability report details for a given provider location. - - :param provider: The Internet service provider. - :type provider: str - :param azure_location: The Azure region. - :type azure_location: str - :param latencies: List of latency details for each of the time series. - :type latencies: - list[~azure.mgmt.network.v2019_09_01.models.AzureReachabilityReportLatencyInfo] - """ - - _attribute_map = { - 'provider': {'key': 'provider', 'type': 'str'}, - 'azure_location': {'key': 'azureLocation', 'type': 'str'}, - 'latencies': {'key': 'latencies', 'type': '[AzureReachabilityReportLatencyInfo]'}, - } - - def __init__(self, **kwargs): - super(AzureReachabilityReportItem, self).__init__(**kwargs) - self.provider = kwargs.get('provider', None) - self.azure_location = kwargs.get('azure_location', None) - self.latencies = kwargs.get('latencies', None) - - -class AzureReachabilityReportLatencyInfo(Model): - """Details on latency for a time series. - - :param time_stamp: The time stamp. - :type time_stamp: datetime - :param score: The relative latency score between 1 and 100, higher values - indicating a faster connection. - :type score: int - """ - - _validation = { - 'score': {'maximum': 100, 'minimum': 1}, - } - - _attribute_map = { - 'time_stamp': {'key': 'timeStamp', 'type': 'iso-8601'}, - 'score': {'key': 'score', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(AzureReachabilityReportLatencyInfo, self).__init__(**kwargs) - self.time_stamp = kwargs.get('time_stamp', None) - self.score = kwargs.get('score', None) - - -class AzureReachabilityReportLocation(Model): - """Parameters that define a geographic location. - - All required parameters must be populated in order to send to Azure. - - :param country: Required. The name of the country. - :type country: str - :param state: The name of the state. - :type state: str - :param city: The name of the city or town. - :type city: str - """ - - _validation = { - 'country': {'required': True}, - } - - _attribute_map = { - 'country': {'key': 'country', 'type': 'str'}, - 'state': {'key': 'state', 'type': 'str'}, - 'city': {'key': 'city', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(AzureReachabilityReportLocation, self).__init__(**kwargs) - self.country = kwargs.get('country', None) - self.state = kwargs.get('state', None) - self.city = kwargs.get('city', None) - - -class AzureReachabilityReportParameters(Model): - """Geographic and time constraints for Azure reachability report. - - All required parameters must be populated in order to send to Azure. - - :param provider_location: Required. Parameters that define a geographic - location. - :type provider_location: - ~azure.mgmt.network.v2019_09_01.models.AzureReachabilityReportLocation - :param providers: List of Internet service providers. - :type providers: list[str] - :param azure_locations: Optional Azure regions to scope the query to. - :type azure_locations: list[str] - :param start_time: Required. The start time for the Azure reachability - report. - :type start_time: datetime - :param end_time: Required. The end time for the Azure reachability report. - :type end_time: datetime - """ - - _validation = { - 'provider_location': {'required': True}, - 'start_time': {'required': True}, - 'end_time': {'required': True}, - } - - _attribute_map = { - 'provider_location': {'key': 'providerLocation', 'type': 'AzureReachabilityReportLocation'}, - 'providers': {'key': 'providers', 'type': '[str]'}, - 'azure_locations': {'key': 'azureLocations', 'type': '[str]'}, - 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, - 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, - } - - def __init__(self, **kwargs): - super(AzureReachabilityReportParameters, self).__init__(**kwargs) - self.provider_location = kwargs.get('provider_location', None) - self.providers = kwargs.get('providers', None) - self.azure_locations = kwargs.get('azure_locations', None) - self.start_time = kwargs.get('start_time', None) - self.end_time = kwargs.get('end_time', None) - - -class BackendAddressPool(SubResource): - """Pool of backend IP addresses. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar backend_ip_configurations: An array of references to IP addresses - defined in network interfaces. - :vartype backend_ip_configurations: - list[~azure.mgmt.network.v2019_09_01.models.NetworkInterfaceIPConfiguration] - :ivar load_balancing_rules: An array of references to load balancing rules - that use this backend address pool. - :vartype load_balancing_rules: - list[~azure.mgmt.network.v2019_09_01.models.SubResource] - :ivar outbound_rule: A reference to an outbound rule that uses this - backend address pool. - :vartype outbound_rule: ~azure.mgmt.network.v2019_09_01.models.SubResource - :ivar outbound_rules: An array of references to outbound rules that use - this backend address pool. - :vartype outbound_rules: - list[~azure.mgmt.network.v2019_09_01.models.SubResource] - :ivar provisioning_state: The provisioning state of the backend address - pool resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param name: The name of the resource that is unique within the set of - backend address pools used by the load balancer. This name can be used to - access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :ivar type: Type of the resource. - :vartype type: str - """ - - _validation = { - 'backend_ip_configurations': {'readonly': True}, - 'load_balancing_rules': {'readonly': True}, - 'outbound_rule': {'readonly': True}, - 'outbound_rules': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'backend_ip_configurations': {'key': 'properties.backendIPConfigurations', 'type': '[NetworkInterfaceIPConfiguration]'}, - 'load_balancing_rules': {'key': 'properties.loadBalancingRules', 'type': '[SubResource]'}, - 'outbound_rule': {'key': 'properties.outboundRule', 'type': 'SubResource'}, - 'outbound_rules': {'key': 'properties.outboundRules', 'type': '[SubResource]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(BackendAddressPool, self).__init__(**kwargs) - self.backend_ip_configurations = None - self.load_balancing_rules = None - self.outbound_rule = None - self.outbound_rules = None - self.provisioning_state = None - self.name = kwargs.get('name', None) - self.etag = None - self.type = None - - -class BastionHost(Resource): - """Bastion Host resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param ip_configurations: IP configuration of the Bastion Host resource. - :type ip_configurations: - list[~azure.mgmt.network.v2019_09_01.models.BastionHostIPConfiguration] - :param dns_name: FQDN for the endpoint on which bastion host is - accessible. - :type dns_name: str - :ivar provisioning_state: The provisioning state of the bastion host - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[BastionHostIPConfiguration]'}, - 'dns_name': {'key': 'properties.dnsName', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(BastionHost, self).__init__(**kwargs) - self.ip_configurations = kwargs.get('ip_configurations', None) - self.dns_name = kwargs.get('dns_name', None) - self.provisioning_state = None - self.etag = None - - -class BastionHostIPConfiguration(SubResource): - """IP configuration of an Bastion Host. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :param subnet: Required. Reference of the subnet resource. - :type subnet: ~azure.mgmt.network.v2019_09_01.models.SubResource - :param public_ip_address: Required. Reference of the PublicIP resource. - :type public_ip_address: - ~azure.mgmt.network.v2019_09_01.models.SubResource - :ivar provisioning_state: The provisioning state of the bastion host IP - configuration resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param private_ip_allocation_method: Private IP allocation method. - Possible values include: 'Static', 'Dynamic' - :type private_ip_allocation_method: str or - ~azure.mgmt.network.v2019_09_01.models.IPAllocationMethod - :param name: Name of the resource that is unique within a resource group. - This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :ivar type: Ip configuration type. - :vartype type: str - """ - - _validation = { - 'subnet': {'required': True}, - 'public_ip_address': {'required': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, - 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'SubResource'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(BastionHostIPConfiguration, self).__init__(**kwargs) - self.subnet = kwargs.get('subnet', None) - self.public_ip_address = kwargs.get('public_ip_address', None) - self.provisioning_state = None - self.private_ip_allocation_method = kwargs.get('private_ip_allocation_method', None) - self.name = kwargs.get('name', None) - self.etag = None - self.type = None - - -class BGPCommunity(Model): - """Contains bgp community information offered in Service Community resources. - - :param service_supported_region: The region which the service support. - e.g. For O365, region is Global. - :type service_supported_region: str - :param community_name: The name of the bgp community. e.g. Skype. - :type community_name: str - :param community_value: The value of the bgp community. For more - information: - https://docs.microsoft.com/en-us/azure/expressroute/expressroute-routing. - :type community_value: str - :param community_prefixes: The prefixes that the bgp community contains. - :type community_prefixes: list[str] - :param is_authorized_to_use: Customer is authorized to use bgp community - or not. - :type is_authorized_to_use: bool - :param service_group: The service group of the bgp community contains. - :type service_group: str - """ - - _attribute_map = { - 'service_supported_region': {'key': 'serviceSupportedRegion', 'type': 'str'}, - 'community_name': {'key': 'communityName', 'type': 'str'}, - 'community_value': {'key': 'communityValue', 'type': 'str'}, - 'community_prefixes': {'key': 'communityPrefixes', 'type': '[str]'}, - 'is_authorized_to_use': {'key': 'isAuthorizedToUse', 'type': 'bool'}, - 'service_group': {'key': 'serviceGroup', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(BGPCommunity, self).__init__(**kwargs) - self.service_supported_region = kwargs.get('service_supported_region', None) - self.community_name = kwargs.get('community_name', None) - self.community_value = kwargs.get('community_value', None) - self.community_prefixes = kwargs.get('community_prefixes', None) - self.is_authorized_to_use = kwargs.get('is_authorized_to_use', None) - self.service_group = kwargs.get('service_group', None) - - -class BgpPeerStatus(Model): - """BGP peer status details. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar local_address: The virtual network gateway's local address. - :vartype local_address: str - :ivar neighbor: The remote BGP peer. - :vartype neighbor: str - :ivar asn: The autonomous system number of the remote BGP peer. - :vartype asn: int - :ivar state: The BGP peer state. Possible values include: 'Unknown', - 'Stopped', 'Idle', 'Connecting', 'Connected' - :vartype state: str or ~azure.mgmt.network.v2019_09_01.models.BgpPeerState - :ivar connected_duration: For how long the peering has been up. - :vartype connected_duration: str - :ivar routes_received: The number of routes learned from this peer. - :vartype routes_received: long - :ivar messages_sent: The number of BGP messages sent. - :vartype messages_sent: long - :ivar messages_received: The number of BGP messages received. - :vartype messages_received: long - """ - - _validation = { - 'local_address': {'readonly': True}, - 'neighbor': {'readonly': True}, - 'asn': {'readonly': True}, - 'state': {'readonly': True}, - 'connected_duration': {'readonly': True}, - 'routes_received': {'readonly': True}, - 'messages_sent': {'readonly': True}, - 'messages_received': {'readonly': True}, - } - - _attribute_map = { - 'local_address': {'key': 'localAddress', 'type': 'str'}, - 'neighbor': {'key': 'neighbor', 'type': 'str'}, - 'asn': {'key': 'asn', 'type': 'int'}, - 'state': {'key': 'state', 'type': 'str'}, - 'connected_duration': {'key': 'connectedDuration', 'type': 'str'}, - 'routes_received': {'key': 'routesReceived', 'type': 'long'}, - 'messages_sent': {'key': 'messagesSent', 'type': 'long'}, - 'messages_received': {'key': 'messagesReceived', 'type': 'long'}, - } - - def __init__(self, **kwargs): - super(BgpPeerStatus, self).__init__(**kwargs) - self.local_address = None - self.neighbor = None - self.asn = None - self.state = None - self.connected_duration = None - self.routes_received = None - self.messages_sent = None - self.messages_received = None - - -class BgpPeerStatusListResult(Model): - """Response for list BGP peer status API service call. - - :param value: List of BGP peers. - :type value: list[~azure.mgmt.network.v2019_09_01.models.BgpPeerStatus] - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[BgpPeerStatus]'}, - } - - def __init__(self, **kwargs): - super(BgpPeerStatusListResult, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - - -class BgpServiceCommunity(Resource): - """Service Community Properties. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param service_name: The name of the bgp community. e.g. Skype. - :type service_name: str - :param bgp_communities: A list of bgp communities. - :type bgp_communities: - list[~azure.mgmt.network.v2019_09_01.models.BGPCommunity] - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'service_name': {'key': 'properties.serviceName', 'type': 'str'}, - 'bgp_communities': {'key': 'properties.bgpCommunities', 'type': '[BGPCommunity]'}, - } - - def __init__(self, **kwargs): - super(BgpServiceCommunity, self).__init__(**kwargs) - self.service_name = kwargs.get('service_name', None) - self.bgp_communities = kwargs.get('bgp_communities', None) - - -class BgpSettings(Model): - """BGP settings details. - - :param asn: The BGP speaker's ASN. - :type asn: long - :param bgp_peering_address: The BGP peering address and BGP identifier of - this BGP speaker. - :type bgp_peering_address: str - :param peer_weight: The weight added to routes learned from this BGP - speaker. - :type peer_weight: int - """ - - _attribute_map = { - 'asn': {'key': 'asn', 'type': 'long'}, - 'bgp_peering_address': {'key': 'bgpPeeringAddress', 'type': 'str'}, - 'peer_weight': {'key': 'peerWeight', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(BgpSettings, self).__init__(**kwargs) - self.asn = kwargs.get('asn', None) - self.bgp_peering_address = kwargs.get('bgp_peering_address', None) - self.peer_weight = kwargs.get('peer_weight', None) - - -class CheckPrivateLinkServiceVisibilityRequest(Model): - """Request body of the CheckPrivateLinkServiceVisibility API service call. - - :param private_link_service_alias: The alias of the private link service. - :type private_link_service_alias: str - """ - - _attribute_map = { - 'private_link_service_alias': {'key': 'privateLinkServiceAlias', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(CheckPrivateLinkServiceVisibilityRequest, self).__init__(**kwargs) - self.private_link_service_alias = kwargs.get('private_link_service_alias', None) - - -class CloudError(Model): - """An error response from the Batch service. - - :param error: Cloud error body. - :type error: ~azure.mgmt.network.v2019_09_01.models.CloudErrorBody - """ - - _attribute_map = { - 'error': {'key': 'error', 'type': 'CloudErrorBody'}, - } - - def __init__(self, **kwargs): - super(CloudError, self).__init__(**kwargs) - self.error = kwargs.get('error', None) - - -class CloudErrorException(HttpOperationError): - """Server responsed with exception of type: 'CloudError'. - - :param deserialize: A deserializer - :param response: Server response to be deserialized. - """ - - def __init__(self, deserialize, response, *args): - - super(CloudErrorException, self).__init__(deserialize, response, 'CloudError', *args) - - -class CloudErrorBody(Model): - """An error response from the Batch service. - - :param code: An identifier for the error. Codes are invariant and are - intended to be consumed programmatically. - :type code: str - :param message: A message describing the error, intended to be suitable - for display in a user interface. - :type message: str - :param target: The target of the particular error. For example, the name - of the property in error. - :type target: str - :param details: A list of additional details about the error. - :type details: list[~azure.mgmt.network.v2019_09_01.models.CloudErrorBody] - """ - - _attribute_map = { - 'code': {'key': 'code', 'type': 'str'}, - 'message': {'key': 'message', 'type': 'str'}, - 'target': {'key': 'target', 'type': 'str'}, - 'details': {'key': 'details', 'type': '[CloudErrorBody]'}, - } - - def __init__(self, **kwargs): - super(CloudErrorBody, self).__init__(**kwargs) - self.code = kwargs.get('code', None) - self.message = kwargs.get('message', None) - self.target = kwargs.get('target', None) - self.details = kwargs.get('details', None) - - -class ConnectionMonitor(Model): - """Parameters that define the operation to create a connection monitor. - - All required parameters must be populated in order to send to Azure. - - :param location: Connection monitor location. - :type location: str - :param tags: Connection monitor tags. - :type tags: dict[str, str] - :param source: Required. Describes the source of connection monitor. - :type source: - ~azure.mgmt.network.v2019_09_01.models.ConnectionMonitorSource - :param destination: Required. Describes the destination of connection - monitor. - :type destination: - ~azure.mgmt.network.v2019_09_01.models.ConnectionMonitorDestination - :param auto_start: Determines if the connection monitor will start - automatically once created. Default value: True . - :type auto_start: bool - :param monitoring_interval_in_seconds: Monitoring interval in seconds. - Default value: 60 . - :type monitoring_interval_in_seconds: int - """ - - _validation = { - 'source': {'required': True}, - 'destination': {'required': True}, - } - - _attribute_map = { - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'source': {'key': 'properties.source', 'type': 'ConnectionMonitorSource'}, - 'destination': {'key': 'properties.destination', 'type': 'ConnectionMonitorDestination'}, - 'auto_start': {'key': 'properties.autoStart', 'type': 'bool'}, - 'monitoring_interval_in_seconds': {'key': 'properties.monitoringIntervalInSeconds', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(ConnectionMonitor, self).__init__(**kwargs) - self.location = kwargs.get('location', None) - self.tags = kwargs.get('tags', None) - self.source = kwargs.get('source', None) - self.destination = kwargs.get('destination', None) - self.auto_start = kwargs.get('auto_start', True) - self.monitoring_interval_in_seconds = kwargs.get('monitoring_interval_in_seconds', 60) - - -class ConnectionMonitorDestination(Model): - """Describes the destination of connection monitor. - - :param resource_id: The ID of the resource used as the destination by - connection monitor. - :type resource_id: str - :param address: Address of the connection monitor destination (IP or - domain name). - :type address: str - :param port: The destination port used by connection monitor. - :type port: int - """ - - _attribute_map = { - 'resource_id': {'key': 'resourceId', 'type': 'str'}, - 'address': {'key': 'address', 'type': 'str'}, - 'port': {'key': 'port', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(ConnectionMonitorDestination, self).__init__(**kwargs) - self.resource_id = kwargs.get('resource_id', None) - self.address = kwargs.get('address', None) - self.port = kwargs.get('port', None) - - -class ConnectionMonitorParameters(Model): - """Parameters that define the operation to create a connection monitor. - - All required parameters must be populated in order to send to Azure. - - :param source: Required. Describes the source of connection monitor. - :type source: - ~azure.mgmt.network.v2019_09_01.models.ConnectionMonitorSource - :param destination: Required. Describes the destination of connection - monitor. - :type destination: - ~azure.mgmt.network.v2019_09_01.models.ConnectionMonitorDestination - :param auto_start: Determines if the connection monitor will start - automatically once created. Default value: True . - :type auto_start: bool - :param monitoring_interval_in_seconds: Monitoring interval in seconds. - Default value: 60 . - :type monitoring_interval_in_seconds: int - """ - - _validation = { - 'source': {'required': True}, - 'destination': {'required': True}, - } - - _attribute_map = { - 'source': {'key': 'source', 'type': 'ConnectionMonitorSource'}, - 'destination': {'key': 'destination', 'type': 'ConnectionMonitorDestination'}, - 'auto_start': {'key': 'autoStart', 'type': 'bool'}, - 'monitoring_interval_in_seconds': {'key': 'monitoringIntervalInSeconds', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(ConnectionMonitorParameters, self).__init__(**kwargs) - self.source = kwargs.get('source', None) - self.destination = kwargs.get('destination', None) - self.auto_start = kwargs.get('auto_start', True) - self.monitoring_interval_in_seconds = kwargs.get('monitoring_interval_in_seconds', 60) - - -class ConnectionMonitorQueryResult(Model): - """List of connection states snapshots. - - :param source_status: Status of connection monitor source. Possible values - include: 'Unknown', 'Active', 'Inactive' - :type source_status: str or - ~azure.mgmt.network.v2019_09_01.models.ConnectionMonitorSourceStatus - :param states: Information about connection states. - :type states: - list[~azure.mgmt.network.v2019_09_01.models.ConnectionStateSnapshot] - """ - - _attribute_map = { - 'source_status': {'key': 'sourceStatus', 'type': 'str'}, - 'states': {'key': 'states', 'type': '[ConnectionStateSnapshot]'}, - } - - def __init__(self, **kwargs): - super(ConnectionMonitorQueryResult, self).__init__(**kwargs) - self.source_status = kwargs.get('source_status', None) - self.states = kwargs.get('states', None) - - -class ConnectionMonitorResult(Model): - """Information about the connection monitor. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :ivar name: Name of the connection monitor. - :vartype name: str - :ivar id: ID of the connection monitor. - :vartype id: str - :param etag: A unique read-only string that changes whenever the resource - is updated. Default value: "A unique read-only string that changes - whenever the resource is updated." . - :type etag: str - :ivar type: Connection monitor type. - :vartype type: str - :param location: Connection monitor location. - :type location: str - :param tags: Connection monitor tags. - :type tags: dict[str, str] - :param source: Required. Describes the source of connection monitor. - :type source: - ~azure.mgmt.network.v2019_09_01.models.ConnectionMonitorSource - :param destination: Required. Describes the destination of connection - monitor. - :type destination: - ~azure.mgmt.network.v2019_09_01.models.ConnectionMonitorDestination - :param auto_start: Determines if the connection monitor will start - automatically once created. Default value: True . - :type auto_start: bool - :param monitoring_interval_in_seconds: Monitoring interval in seconds. - Default value: 60 . - :type monitoring_interval_in_seconds: int - :param provisioning_state: The provisioning state of the connection - monitor. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param start_time: The date and time when the connection monitor was - started. - :type start_time: datetime - :param monitoring_status: The monitoring status of the connection monitor. - :type monitoring_status: str - """ - - _validation = { - 'name': {'readonly': True}, - 'id': {'readonly': True}, - 'type': {'readonly': True}, - 'source': {'required': True}, - 'destination': {'required': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'id': {'key': 'id', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'source': {'key': 'properties.source', 'type': 'ConnectionMonitorSource'}, - 'destination': {'key': 'properties.destination', 'type': 'ConnectionMonitorDestination'}, - 'auto_start': {'key': 'properties.autoStart', 'type': 'bool'}, - 'monitoring_interval_in_seconds': {'key': 'properties.monitoringIntervalInSeconds', 'type': 'int'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'start_time': {'key': 'properties.startTime', 'type': 'iso-8601'}, - 'monitoring_status': {'key': 'properties.monitoringStatus', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ConnectionMonitorResult, self).__init__(**kwargs) - self.name = None - self.id = None - self.etag = kwargs.get('etag', "A unique read-only string that changes whenever the resource is updated.") - self.type = None - self.location = kwargs.get('location', None) - self.tags = kwargs.get('tags', None) - self.source = kwargs.get('source', None) - self.destination = kwargs.get('destination', None) - self.auto_start = kwargs.get('auto_start', True) - self.monitoring_interval_in_seconds = kwargs.get('monitoring_interval_in_seconds', 60) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.start_time = kwargs.get('start_time', None) - self.monitoring_status = kwargs.get('monitoring_status', None) - - -class ConnectionMonitorSource(Model): - """Describes the source of connection monitor. - - All required parameters must be populated in order to send to Azure. - - :param resource_id: Required. The ID of the resource used as the source by - connection monitor. - :type resource_id: str - :param port: The source port used by connection monitor. - :type port: int - """ - - _validation = { - 'resource_id': {'required': True}, - } - - _attribute_map = { - 'resource_id': {'key': 'resourceId', 'type': 'str'}, - 'port': {'key': 'port', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(ConnectionMonitorSource, self).__init__(**kwargs) - self.resource_id = kwargs.get('resource_id', None) - self.port = kwargs.get('port', None) - - -class ConnectionResetSharedKey(Model): - """The virtual network connection reset shared key. - - All required parameters must be populated in order to send to Azure. - - :param key_length: Required. The virtual network connection reset shared - key length, should between 1 and 128. - :type key_length: int - """ - - _validation = { - 'key_length': {'required': True, 'maximum': 128, 'minimum': 1}, - } - - _attribute_map = { - 'key_length': {'key': 'keyLength', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(ConnectionResetSharedKey, self).__init__(**kwargs) - self.key_length = kwargs.get('key_length', None) - - -class ConnectionSharedKey(SubResource): - """Response for GetConnectionSharedKey API service call. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :param value: Required. The virtual network connection shared key value. - :type value: str - """ - - _validation = { - 'value': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'value': {'key': 'value', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ConnectionSharedKey, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - - -class ConnectionStateSnapshot(Model): - """Connection state snapshot. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param connection_state: The connection state. Possible values include: - 'Reachable', 'Unreachable', 'Unknown' - :type connection_state: str or - ~azure.mgmt.network.v2019_09_01.models.ConnectionState - :param start_time: The start time of the connection snapshot. - :type start_time: datetime - :param end_time: The end time of the connection snapshot. - :type end_time: datetime - :param evaluation_state: Connectivity analysis evaluation state. Possible - values include: 'NotStarted', 'InProgress', 'Completed' - :type evaluation_state: str or - ~azure.mgmt.network.v2019_09_01.models.EvaluationState - :param avg_latency_in_ms: Average latency in ms. - :type avg_latency_in_ms: int - :param min_latency_in_ms: Minimum latency in ms. - :type min_latency_in_ms: int - :param max_latency_in_ms: Maximum latency in ms. - :type max_latency_in_ms: int - :param probes_sent: The number of sent probes. - :type probes_sent: int - :param probes_failed: The number of failed probes. - :type probes_failed: int - :ivar hops: List of hops between the source and the destination. - :vartype hops: - list[~azure.mgmt.network.v2019_09_01.models.ConnectivityHop] - """ - - _validation = { - 'hops': {'readonly': True}, - } - - _attribute_map = { - 'connection_state': {'key': 'connectionState', 'type': 'str'}, - 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, - 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, - 'evaluation_state': {'key': 'evaluationState', 'type': 'str'}, - 'avg_latency_in_ms': {'key': 'avgLatencyInMs', 'type': 'int'}, - 'min_latency_in_ms': {'key': 'minLatencyInMs', 'type': 'int'}, - 'max_latency_in_ms': {'key': 'maxLatencyInMs', 'type': 'int'}, - 'probes_sent': {'key': 'probesSent', 'type': 'int'}, - 'probes_failed': {'key': 'probesFailed', 'type': 'int'}, - 'hops': {'key': 'hops', 'type': '[ConnectivityHop]'}, - } - - def __init__(self, **kwargs): - super(ConnectionStateSnapshot, self).__init__(**kwargs) - self.connection_state = kwargs.get('connection_state', None) - self.start_time = kwargs.get('start_time', None) - self.end_time = kwargs.get('end_time', None) - self.evaluation_state = kwargs.get('evaluation_state', None) - self.avg_latency_in_ms = kwargs.get('avg_latency_in_ms', None) - self.min_latency_in_ms = kwargs.get('min_latency_in_ms', None) - self.max_latency_in_ms = kwargs.get('max_latency_in_ms', None) - self.probes_sent = kwargs.get('probes_sent', None) - self.probes_failed = kwargs.get('probes_failed', None) - self.hops = None - - -class ConnectivityDestination(Model): - """Parameters that define destination of connection. - - :param resource_id: The ID of the resource to which a connection attempt - will be made. - :type resource_id: str - :param address: The IP address or URI the resource to which a connection - attempt will be made. - :type address: str - :param port: Port on which check connectivity will be performed. - :type port: int - """ - - _attribute_map = { - 'resource_id': {'key': 'resourceId', 'type': 'str'}, - 'address': {'key': 'address', 'type': 'str'}, - 'port': {'key': 'port', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(ConnectivityDestination, self).__init__(**kwargs) - self.resource_id = kwargs.get('resource_id', None) - self.address = kwargs.get('address', None) - self.port = kwargs.get('port', None) - - -class ConnectivityHop(Model): - """Information about a hop between the source and the destination. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar type: The type of the hop. - :vartype type: str - :ivar id: The ID of the hop. - :vartype id: str - :ivar address: The IP address of the hop. - :vartype address: str - :ivar resource_id: The ID of the resource corresponding to this hop. - :vartype resource_id: str - :ivar next_hop_ids: List of next hop identifiers. - :vartype next_hop_ids: list[str] - :ivar issues: List of issues. - :vartype issues: - list[~azure.mgmt.network.v2019_09_01.models.ConnectivityIssue] - """ - - _validation = { - 'type': {'readonly': True}, - 'id': {'readonly': True}, - 'address': {'readonly': True}, - 'resource_id': {'readonly': True}, - 'next_hop_ids': {'readonly': True}, - 'issues': {'readonly': True}, - } - - _attribute_map = { - 'type': {'key': 'type', 'type': 'str'}, - 'id': {'key': 'id', 'type': 'str'}, - 'address': {'key': 'address', 'type': 'str'}, - 'resource_id': {'key': 'resourceId', 'type': 'str'}, - 'next_hop_ids': {'key': 'nextHopIds', 'type': '[str]'}, - 'issues': {'key': 'issues', 'type': '[ConnectivityIssue]'}, - } - - def __init__(self, **kwargs): - super(ConnectivityHop, self).__init__(**kwargs) - self.type = None - self.id = None - self.address = None - self.resource_id = None - self.next_hop_ids = None - self.issues = None - - -class ConnectivityInformation(Model): - """Information on the connectivity status. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar hops: List of hops between the source and the destination. - :vartype hops: - list[~azure.mgmt.network.v2019_09_01.models.ConnectivityHop] - :ivar connection_status: The connection status. Possible values include: - 'Unknown', 'Connected', 'Disconnected', 'Degraded' - :vartype connection_status: str or - ~azure.mgmt.network.v2019_09_01.models.ConnectionStatus - :ivar avg_latency_in_ms: Average latency in milliseconds. - :vartype avg_latency_in_ms: int - :ivar min_latency_in_ms: Minimum latency in milliseconds. - :vartype min_latency_in_ms: int - :ivar max_latency_in_ms: Maximum latency in milliseconds. - :vartype max_latency_in_ms: int - :ivar probes_sent: Total number of probes sent. - :vartype probes_sent: int - :ivar probes_failed: Number of failed probes. - :vartype probes_failed: int - """ - - _validation = { - 'hops': {'readonly': True}, - 'connection_status': {'readonly': True}, - 'avg_latency_in_ms': {'readonly': True}, - 'min_latency_in_ms': {'readonly': True}, - 'max_latency_in_ms': {'readonly': True}, - 'probes_sent': {'readonly': True}, - 'probes_failed': {'readonly': True}, - } - - _attribute_map = { - 'hops': {'key': 'hops', 'type': '[ConnectivityHop]'}, - 'connection_status': {'key': 'connectionStatus', 'type': 'str'}, - 'avg_latency_in_ms': {'key': 'avgLatencyInMs', 'type': 'int'}, - 'min_latency_in_ms': {'key': 'minLatencyInMs', 'type': 'int'}, - 'max_latency_in_ms': {'key': 'maxLatencyInMs', 'type': 'int'}, - 'probes_sent': {'key': 'probesSent', 'type': 'int'}, - 'probes_failed': {'key': 'probesFailed', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(ConnectivityInformation, self).__init__(**kwargs) - self.hops = None - self.connection_status = None - self.avg_latency_in_ms = None - self.min_latency_in_ms = None - self.max_latency_in_ms = None - self.probes_sent = None - self.probes_failed = None - - -class ConnectivityIssue(Model): - """Information about an issue encountered in the process of checking for - connectivity. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar origin: The origin of the issue. Possible values include: 'Local', - 'Inbound', 'Outbound' - :vartype origin: str or ~azure.mgmt.network.v2019_09_01.models.Origin - :ivar severity: The severity of the issue. Possible values include: - 'Error', 'Warning' - :vartype severity: str or ~azure.mgmt.network.v2019_09_01.models.Severity - :ivar type: The type of issue. Possible values include: 'Unknown', - 'AgentStopped', 'GuestFirewall', 'DnsResolution', 'SocketBind', - 'NetworkSecurityRule', 'UserDefinedRoute', 'PortThrottled', 'Platform' - :vartype type: str or ~azure.mgmt.network.v2019_09_01.models.IssueType - :ivar context: Provides additional context on the issue. - :vartype context: list[dict[str, str]] - """ - - _validation = { - 'origin': {'readonly': True}, - 'severity': {'readonly': True}, - 'type': {'readonly': True}, - 'context': {'readonly': True}, - } - - _attribute_map = { - 'origin': {'key': 'origin', 'type': 'str'}, - 'severity': {'key': 'severity', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'context': {'key': 'context', 'type': '[{str}]'}, - } - - def __init__(self, **kwargs): - super(ConnectivityIssue, self).__init__(**kwargs) - self.origin = None - self.severity = None - self.type = None - self.context = None - - -class ConnectivityParameters(Model): - """Parameters that determine how the connectivity check will be performed. - - All required parameters must be populated in order to send to Azure. - - :param source: Required. Describes the source of the connection. - :type source: ~azure.mgmt.network.v2019_09_01.models.ConnectivitySource - :param destination: Required. Describes the destination of connection. - :type destination: - ~azure.mgmt.network.v2019_09_01.models.ConnectivityDestination - :param protocol: Network protocol. Possible values include: 'Tcp', 'Http', - 'Https', 'Icmp' - :type protocol: str or ~azure.mgmt.network.v2019_09_01.models.Protocol - :param protocol_configuration: Configuration of the protocol. - :type protocol_configuration: - ~azure.mgmt.network.v2019_09_01.models.ProtocolConfiguration - """ - - _validation = { - 'source': {'required': True}, - 'destination': {'required': True}, - } - - _attribute_map = { - 'source': {'key': 'source', 'type': 'ConnectivitySource'}, - 'destination': {'key': 'destination', 'type': 'ConnectivityDestination'}, - 'protocol': {'key': 'protocol', 'type': 'str'}, - 'protocol_configuration': {'key': 'protocolConfiguration', 'type': 'ProtocolConfiguration'}, - } - - def __init__(self, **kwargs): - super(ConnectivityParameters, self).__init__(**kwargs) - self.source = kwargs.get('source', None) - self.destination = kwargs.get('destination', None) - self.protocol = kwargs.get('protocol', None) - self.protocol_configuration = kwargs.get('protocol_configuration', None) - - -class ConnectivitySource(Model): - """Parameters that define the source of the connection. - - All required parameters must be populated in order to send to Azure. - - :param resource_id: Required. The ID of the resource from which a - connectivity check will be initiated. - :type resource_id: str - :param port: The source port from which a connectivity check will be - performed. - :type port: int - """ - - _validation = { - 'resource_id': {'required': True}, - } - - _attribute_map = { - 'resource_id': {'key': 'resourceId', 'type': 'str'}, - 'port': {'key': 'port', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(ConnectivitySource, self).__init__(**kwargs) - self.resource_id = kwargs.get('resource_id', None) - self.port = kwargs.get('port', None) - - -class Container(SubResource): - """Reference to container resource in remote resource provider. - - :param id: Resource ID. - :type id: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(Container, self).__init__(**kwargs) - - -class ContainerNetworkInterface(SubResource): - """Container network interface child resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar container_network_interface_configuration: Container network - interface configuration from which this container network interface is - created. - :vartype container_network_interface_configuration: - ~azure.mgmt.network.v2019_09_01.models.ContainerNetworkInterfaceConfiguration - :param container: Reference to the container to which this container - network interface is attached. - :type container: ~azure.mgmt.network.v2019_09_01.models.Container - :ivar ip_configurations: Reference to the ip configuration on this - container nic. - :vartype ip_configurations: - list[~azure.mgmt.network.v2019_09_01.models.ContainerNetworkInterfaceIpConfiguration] - :ivar provisioning_state: The provisioning state of the container network - interface resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param name: The name of the resource. This name can be used to access the - resource. - :type name: str - :ivar type: Sub Resource type. - :vartype type: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'container_network_interface_configuration': {'readonly': True}, - 'ip_configurations': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'type': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'container_network_interface_configuration': {'key': 'properties.containerNetworkInterfaceConfiguration', 'type': 'ContainerNetworkInterfaceConfiguration'}, - 'container': {'key': 'properties.container', 'type': 'Container'}, - 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[ContainerNetworkInterfaceIpConfiguration]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ContainerNetworkInterface, self).__init__(**kwargs) - self.container_network_interface_configuration = None - self.container = kwargs.get('container', None) - self.ip_configurations = None - self.provisioning_state = None - self.name = kwargs.get('name', None) - self.type = None - self.etag = None - - -class ContainerNetworkInterfaceConfiguration(SubResource): - """Container network interface configuration child resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param ip_configurations: A list of ip configurations of the container - network interface configuration. - :type ip_configurations: - list[~azure.mgmt.network.v2019_09_01.models.IPConfigurationProfile] - :param container_network_interfaces: A list of container network - interfaces created from this container network interface configuration. - :type container_network_interfaces: - list[~azure.mgmt.network.v2019_09_01.models.SubResource] - :ivar provisioning_state: The provisioning state of the container network - interface configuration resource. Possible values include: 'Succeeded', - 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param name: The name of the resource. This name can be used to access the - resource. - :type name: str - :ivar type: Sub Resource type. - :vartype type: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'type': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[IPConfigurationProfile]'}, - 'container_network_interfaces': {'key': 'properties.containerNetworkInterfaces', 'type': '[SubResource]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ContainerNetworkInterfaceConfiguration, self).__init__(**kwargs) - self.ip_configurations = kwargs.get('ip_configurations', None) - self.container_network_interfaces = kwargs.get('container_network_interfaces', None) - self.provisioning_state = None - self.name = kwargs.get('name', None) - self.type = None - self.etag = None - - -class ContainerNetworkInterfaceIpConfiguration(Model): - """The ip configuration for a container network interface. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar provisioning_state: The provisioning state of the container network - interface IP configuration resource. Possible values include: 'Succeeded', - 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param name: The name of the resource. This name can be used to access the - resource. - :type name: str - :ivar type: Sub Resource type. - :vartype type: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'type': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ContainerNetworkInterfaceIpConfiguration, self).__init__(**kwargs) - self.provisioning_state = None - self.name = kwargs.get('name', None) - self.type = None - self.etag = None - - -class DdosCustomPolicy(Resource): - """A DDoS custom policy in a resource group. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :ivar resource_guid: The resource GUID property of the DDoS custom policy - resource. It uniquely identifies the resource, even if the user changes - its name or migrate the resource across subscriptions or resource groups. - :vartype resource_guid: str - :ivar provisioning_state: The provisioning state of the DDoS custom policy - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :ivar public_ip_addresses: The list of public IPs associated with the DDoS - custom policy resource. This list is read-only. - :vartype public_ip_addresses: - list[~azure.mgmt.network.v2019_09_01.models.SubResource] - :param protocol_custom_settings: The protocol-specific DDoS policy - customization parameters. - :type protocol_custom_settings: - list[~azure.mgmt.network.v2019_09_01.models.ProtocolCustomSettingsFormat] - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'resource_guid': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'public_ip_addresses': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'public_ip_addresses': {'key': 'properties.publicIPAddresses', 'type': '[SubResource]'}, - 'protocol_custom_settings': {'key': 'properties.protocolCustomSettings', 'type': '[ProtocolCustomSettingsFormat]'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(DdosCustomPolicy, self).__init__(**kwargs) - self.resource_guid = None - self.provisioning_state = None - self.public_ip_addresses = None - self.protocol_custom_settings = kwargs.get('protocol_custom_settings', None) - self.etag = None - - -class DdosProtectionPlan(Model): - """A DDoS protection plan in a resource group. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar id: Resource ID. - :vartype id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :ivar resource_guid: The resource GUID property of the DDoS protection - plan resource. It uniquely identifies the resource, even if the user - changes its name or migrate the resource across subscriptions or resource - groups. - :vartype resource_guid: str - :ivar provisioning_state: The provisioning state of the DDoS protection - plan resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :ivar virtual_networks: The list of virtual networks associated with the - DDoS protection plan resource. This list is read-only. - :vartype virtual_networks: - list[~azure.mgmt.network.v2019_09_01.models.SubResource] - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'resource_guid': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'virtual_networks': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'virtual_networks': {'key': 'properties.virtualNetworks', 'type': '[SubResource]'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(DdosProtectionPlan, self).__init__(**kwargs) - self.id = None - self.name = None - self.type = None - self.location = kwargs.get('location', None) - self.tags = kwargs.get('tags', None) - self.resource_guid = None - self.provisioning_state = None - self.virtual_networks = None - self.etag = None - - -class DdosSettings(Model): - """Contains the DDoS protection settings of the public IP. - - :param ddos_custom_policy: The DDoS custom policy associated with the - public IP. - :type ddos_custom_policy: - ~azure.mgmt.network.v2019_09_01.models.SubResource - :param protection_coverage: The DDoS protection policy customizability of - the public IP. Only standard coverage will have the ability to be - customized. Possible values include: 'Basic', 'Standard' - :type protection_coverage: str or - ~azure.mgmt.network.v2019_09_01.models.DdosSettingsProtectionCoverage - """ - - _attribute_map = { - 'ddos_custom_policy': {'key': 'ddosCustomPolicy', 'type': 'SubResource'}, - 'protection_coverage': {'key': 'protectionCoverage', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(DdosSettings, self).__init__(**kwargs) - self.ddos_custom_policy = kwargs.get('ddos_custom_policy', None) - self.protection_coverage = kwargs.get('protection_coverage', None) - - -class Delegation(SubResource): - """Details the service to which the subnet is delegated. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param service_name: The name of the service to whom the subnet should be - delegated (e.g. Microsoft.Sql/servers). - :type service_name: str - :ivar actions: Describes the actions permitted to the service upon - delegation. - :vartype actions: list[str] - :ivar provisioning_state: The provisioning state of the service delegation - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param name: The name of the resource that is unique within a subnet. This - name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'actions': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'service_name': {'key': 'properties.serviceName', 'type': 'str'}, - 'actions': {'key': 'properties.actions', 'type': '[str]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(Delegation, self).__init__(**kwargs) - self.service_name = kwargs.get('service_name', None) - self.actions = None - self.provisioning_state = None - self.name = kwargs.get('name', None) - self.etag = None - - -class DeviceProperties(Model): - """List of properties of the device. - - :param device_vendor: Name of the device Vendor. - :type device_vendor: str - :param device_model: Model of the device. - :type device_model: str - :param link_speed_in_mbps: Link speed. - :type link_speed_in_mbps: int - """ - - _attribute_map = { - 'device_vendor': {'key': 'deviceVendor', 'type': 'str'}, - 'device_model': {'key': 'deviceModel', 'type': 'str'}, - 'link_speed_in_mbps': {'key': 'linkSpeedInMbps', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(DeviceProperties, self).__init__(**kwargs) - self.device_vendor = kwargs.get('device_vendor', None) - self.device_model = kwargs.get('device_model', None) - self.link_speed_in_mbps = kwargs.get('link_speed_in_mbps', None) - - -class DhcpOptions(Model): - """DhcpOptions contains an array of DNS servers available to VMs deployed in - the virtual network. Standard DHCP option for a subnet overrides VNET DHCP - options. - - :param dns_servers: The list of DNS servers IP addresses. - :type dns_servers: list[str] - """ - - _attribute_map = { - 'dns_servers': {'key': 'dnsServers', 'type': '[str]'}, - } - - def __init__(self, **kwargs): - super(DhcpOptions, self).__init__(**kwargs) - self.dns_servers = kwargs.get('dns_servers', None) - - -class Dimension(Model): - """Dimension of the metric. - - :param name: The name of the dimension. - :type name: str - :param display_name: The display name of the dimension. - :type display_name: str - :param internal_name: The internal name of the dimension. - :type internal_name: str - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'display_name': {'key': 'displayName', 'type': 'str'}, - 'internal_name': {'key': 'internalName', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(Dimension, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.display_name = kwargs.get('display_name', None) - self.internal_name = kwargs.get('internal_name', None) - - -class DnsNameAvailabilityResult(Model): - """Response for the CheckDnsNameAvailability API service call. - - :param available: Domain availability (True/False). - :type available: bool - """ - - _attribute_map = { - 'available': {'key': 'available', 'type': 'bool'}, - } - - def __init__(self, **kwargs): - super(DnsNameAvailabilityResult, self).__init__(**kwargs) - self.available = kwargs.get('available', None) - - -class EffectiveNetworkSecurityGroup(Model): - """Effective network security group. - - :param network_security_group: The ID of network security group that is - applied. - :type network_security_group: - ~azure.mgmt.network.v2019_09_01.models.SubResource - :param association: Associated resources. - :type association: - ~azure.mgmt.network.v2019_09_01.models.EffectiveNetworkSecurityGroupAssociation - :param effective_security_rules: A collection of effective security rules. - :type effective_security_rules: - list[~azure.mgmt.network.v2019_09_01.models.EffectiveNetworkSecurityRule] - :param tag_map: Mapping of tags to list of IP Addresses included within - the tag. - :type tag_map: dict[str, list[str]] - """ - - _attribute_map = { - 'network_security_group': {'key': 'networkSecurityGroup', 'type': 'SubResource'}, - 'association': {'key': 'association', 'type': 'EffectiveNetworkSecurityGroupAssociation'}, - 'effective_security_rules': {'key': 'effectiveSecurityRules', 'type': '[EffectiveNetworkSecurityRule]'}, - 'tag_map': {'key': 'tagMap', 'type': '{[str]}'}, - } - - def __init__(self, **kwargs): - super(EffectiveNetworkSecurityGroup, self).__init__(**kwargs) - self.network_security_group = kwargs.get('network_security_group', None) - self.association = kwargs.get('association', None) - self.effective_security_rules = kwargs.get('effective_security_rules', None) - self.tag_map = kwargs.get('tag_map', None) - - -class EffectiveNetworkSecurityGroupAssociation(Model): - """The effective network security group association. - - :param subnet: The ID of the subnet if assigned. - :type subnet: ~azure.mgmt.network.v2019_09_01.models.SubResource - :param network_interface: The ID of the network interface if assigned. - :type network_interface: - ~azure.mgmt.network.v2019_09_01.models.SubResource - """ - - _attribute_map = { - 'subnet': {'key': 'subnet', 'type': 'SubResource'}, - 'network_interface': {'key': 'networkInterface', 'type': 'SubResource'}, - } - - def __init__(self, **kwargs): - super(EffectiveNetworkSecurityGroupAssociation, self).__init__(**kwargs) - self.subnet = kwargs.get('subnet', None) - self.network_interface = kwargs.get('network_interface', None) - - -class EffectiveNetworkSecurityGroupListResult(Model): - """Response for list effective network security groups API service call. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param value: A list of effective network security groups. - :type value: - list[~azure.mgmt.network.v2019_09_01.models.EffectiveNetworkSecurityGroup] - :ivar next_link: The URL to get the next set of results. - :vartype next_link: str - """ - - _validation = { - 'next_link': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[EffectiveNetworkSecurityGroup]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(EffectiveNetworkSecurityGroupListResult, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - self.next_link = None - - -class EffectiveNetworkSecurityRule(Model): - """Effective network security rules. - - :param name: The name of the security rule specified by the user (if - created by the user). - :type name: str - :param protocol: The network protocol this rule applies to. Possible - values include: 'Tcp', 'Udp', 'All' - :type protocol: str or - ~azure.mgmt.network.v2019_09_01.models.EffectiveSecurityRuleProtocol - :param source_port_range: The source port or range. - :type source_port_range: str - :param destination_port_range: The destination port or range. - :type destination_port_range: str - :param source_port_ranges: The source port ranges. Expected values include - a single integer between 0 and 65535, a range using '-' as separator (e.g. - 100-400), or an asterisk (*). - :type source_port_ranges: list[str] - :param destination_port_ranges: The destination port ranges. Expected - values include a single integer between 0 and 65535, a range using '-' as - separator (e.g. 100-400), or an asterisk (*). - :type destination_port_ranges: list[str] - :param source_address_prefix: The source address prefix. - :type source_address_prefix: str - :param destination_address_prefix: The destination address prefix. - :type destination_address_prefix: str - :param source_address_prefixes: The source address prefixes. Expected - values include CIDR IP ranges, Default Tags (VirtualNetwork, - AzureLoadBalancer, Internet), System Tags, and the asterisk (*). - :type source_address_prefixes: list[str] - :param destination_address_prefixes: The destination address prefixes. - Expected values include CIDR IP ranges, Default Tags (VirtualNetwork, - AzureLoadBalancer, Internet), System Tags, and the asterisk (*). - :type destination_address_prefixes: list[str] - :param expanded_source_address_prefix: The expanded source address prefix. - :type expanded_source_address_prefix: list[str] - :param expanded_destination_address_prefix: Expanded destination address - prefix. - :type expanded_destination_address_prefix: list[str] - :param access: Whether network traffic is allowed or denied. Possible - values include: 'Allow', 'Deny' - :type access: str or - ~azure.mgmt.network.v2019_09_01.models.SecurityRuleAccess - :param priority: The priority of the rule. - :type priority: int - :param direction: The direction of the rule. Possible values include: - 'Inbound', 'Outbound' - :type direction: str or - ~azure.mgmt.network.v2019_09_01.models.SecurityRuleDirection - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'protocol': {'key': 'protocol', 'type': 'str'}, - 'source_port_range': {'key': 'sourcePortRange', 'type': 'str'}, - 'destination_port_range': {'key': 'destinationPortRange', 'type': 'str'}, - 'source_port_ranges': {'key': 'sourcePortRanges', 'type': '[str]'}, - 'destination_port_ranges': {'key': 'destinationPortRanges', 'type': '[str]'}, - 'source_address_prefix': {'key': 'sourceAddressPrefix', 'type': 'str'}, - 'destination_address_prefix': {'key': 'destinationAddressPrefix', 'type': 'str'}, - 'source_address_prefixes': {'key': 'sourceAddressPrefixes', 'type': '[str]'}, - 'destination_address_prefixes': {'key': 'destinationAddressPrefixes', 'type': '[str]'}, - 'expanded_source_address_prefix': {'key': 'expandedSourceAddressPrefix', 'type': '[str]'}, - 'expanded_destination_address_prefix': {'key': 'expandedDestinationAddressPrefix', 'type': '[str]'}, - 'access': {'key': 'access', 'type': 'str'}, - 'priority': {'key': 'priority', 'type': 'int'}, - 'direction': {'key': 'direction', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(EffectiveNetworkSecurityRule, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.protocol = kwargs.get('protocol', None) - self.source_port_range = kwargs.get('source_port_range', None) - self.destination_port_range = kwargs.get('destination_port_range', None) - self.source_port_ranges = kwargs.get('source_port_ranges', None) - self.destination_port_ranges = kwargs.get('destination_port_ranges', None) - self.source_address_prefix = kwargs.get('source_address_prefix', None) - self.destination_address_prefix = kwargs.get('destination_address_prefix', None) - self.source_address_prefixes = kwargs.get('source_address_prefixes', None) - self.destination_address_prefixes = kwargs.get('destination_address_prefixes', None) - self.expanded_source_address_prefix = kwargs.get('expanded_source_address_prefix', None) - self.expanded_destination_address_prefix = kwargs.get('expanded_destination_address_prefix', None) - self.access = kwargs.get('access', None) - self.priority = kwargs.get('priority', None) - self.direction = kwargs.get('direction', None) - - -class EffectiveRoute(Model): - """Effective Route. - - :param name: The name of the user defined route. This is optional. - :type name: str - :param disable_bgp_route_propagation: If true, on-premises routes are not - propagated to the network interfaces in the subnet. - :type disable_bgp_route_propagation: bool - :param source: Who created the route. Possible values include: 'Unknown', - 'User', 'VirtualNetworkGateway', 'Default' - :type source: str or - ~azure.mgmt.network.v2019_09_01.models.EffectiveRouteSource - :param state: The value of effective route. Possible values include: - 'Active', 'Invalid' - :type state: str or - ~azure.mgmt.network.v2019_09_01.models.EffectiveRouteState - :param address_prefix: The address prefixes of the effective routes in - CIDR notation. - :type address_prefix: list[str] - :param next_hop_ip_address: The IP address of the next hop of the - effective route. - :type next_hop_ip_address: list[str] - :param next_hop_type: The type of Azure hop the packet should be sent to. - Possible values include: 'VirtualNetworkGateway', 'VnetLocal', 'Internet', - 'VirtualAppliance', 'None' - :type next_hop_type: str or - ~azure.mgmt.network.v2019_09_01.models.RouteNextHopType - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'disable_bgp_route_propagation': {'key': 'disableBgpRoutePropagation', 'type': 'bool'}, - 'source': {'key': 'source', 'type': 'str'}, - 'state': {'key': 'state', 'type': 'str'}, - 'address_prefix': {'key': 'addressPrefix', 'type': '[str]'}, - 'next_hop_ip_address': {'key': 'nextHopIpAddress', 'type': '[str]'}, - 'next_hop_type': {'key': 'nextHopType', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(EffectiveRoute, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.disable_bgp_route_propagation = kwargs.get('disable_bgp_route_propagation', None) - self.source = kwargs.get('source', None) - self.state = kwargs.get('state', None) - self.address_prefix = kwargs.get('address_prefix', None) - self.next_hop_ip_address = kwargs.get('next_hop_ip_address', None) - self.next_hop_type = kwargs.get('next_hop_type', None) - - -class EffectiveRouteListResult(Model): - """Response for list effective route API service call. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param value: A list of effective routes. - :type value: list[~azure.mgmt.network.v2019_09_01.models.EffectiveRoute] - :ivar next_link: The URL to get the next set of results. - :vartype next_link: str - """ - - _validation = { - 'next_link': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[EffectiveRoute]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(EffectiveRouteListResult, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - self.next_link = None - - -class EndpointServiceResult(SubResource): - """Endpoint service. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Name of the endpoint service. - :vartype name: str - :ivar type: Type of the endpoint service. - :vartype type: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(EndpointServiceResult, self).__init__(**kwargs) - self.name = None - self.type = None - - -class Error(Model): - """Common error representation. - - :param code: Error code. - :type code: str - :param message: Error message. - :type message: str - :param target: Error target. - :type target: str - :param details: Error details. - :type details: list[~azure.mgmt.network.v2019_09_01.models.ErrorDetails] - :param inner_error: Inner error message. - :type inner_error: str - """ - - _attribute_map = { - 'code': {'key': 'code', 'type': 'str'}, - 'message': {'key': 'message', 'type': 'str'}, - 'target': {'key': 'target', 'type': 'str'}, - 'details': {'key': 'details', 'type': '[ErrorDetails]'}, - 'inner_error': {'key': 'innerError', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(Error, self).__init__(**kwargs) - self.code = kwargs.get('code', None) - self.message = kwargs.get('message', None) - self.target = kwargs.get('target', None) - self.details = kwargs.get('details', None) - self.inner_error = kwargs.get('inner_error', None) - - -class ErrorException(HttpOperationError): - """Server responsed with exception of type: 'Error'. - - :param deserialize: A deserializer - :param response: Server response to be deserialized. - """ - - def __init__(self, deserialize, response, *args): - - super(ErrorException, self).__init__(deserialize, response, 'Error', *args) - - -class ErrorDetails(Model): - """Common error details representation. - - :param code: Error code. - :type code: str - :param target: Error target. - :type target: str - :param message: Error message. - :type message: str - """ - - _attribute_map = { - 'code': {'key': 'code', 'type': 'str'}, - 'target': {'key': 'target', 'type': 'str'}, - 'message': {'key': 'message', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ErrorDetails, self).__init__(**kwargs) - self.code = kwargs.get('code', None) - self.target = kwargs.get('target', None) - self.message = kwargs.get('message', None) - - -class ErrorResponse(Model): - """The error object. - - :param error: Error. The error details object. - :type error: ~azure.mgmt.network.v2019_09_01.models.ErrorDetails - """ - - _attribute_map = { - 'error': {'key': 'error', 'type': 'ErrorDetails'}, - } - - def __init__(self, **kwargs): - super(ErrorResponse, self).__init__(**kwargs) - self.error = kwargs.get('error', None) - - -class ErrorResponseException(HttpOperationError): - """Server responsed with exception of type: 'ErrorResponse'. - - :param deserialize: A deserializer - :param response: Server response to be deserialized. - """ - - def __init__(self, deserialize, response, *args): - - super(ErrorResponseException, self).__init__(deserialize, response, 'ErrorResponse', *args) - - -class EvaluatedNetworkSecurityGroup(Model): - """Results of network security group evaluation. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param network_security_group_id: Network security group ID. - :type network_security_group_id: str - :param applied_to: Resource ID of nic or subnet to which network security - group is applied. - :type applied_to: str - :param matched_rule: Matched network security rule. - :type matched_rule: ~azure.mgmt.network.v2019_09_01.models.MatchedRule - :ivar rules_evaluation_result: List of network security rules evaluation - results. - :vartype rules_evaluation_result: - list[~azure.mgmt.network.v2019_09_01.models.NetworkSecurityRulesEvaluationResult] - """ - - _validation = { - 'rules_evaluation_result': {'readonly': True}, - } - - _attribute_map = { - 'network_security_group_id': {'key': 'networkSecurityGroupId', 'type': 'str'}, - 'applied_to': {'key': 'appliedTo', 'type': 'str'}, - 'matched_rule': {'key': 'matchedRule', 'type': 'MatchedRule'}, - 'rules_evaluation_result': {'key': 'rulesEvaluationResult', 'type': '[NetworkSecurityRulesEvaluationResult]'}, - } - - def __init__(self, **kwargs): - super(EvaluatedNetworkSecurityGroup, self).__init__(**kwargs) - self.network_security_group_id = kwargs.get('network_security_group_id', None) - self.applied_to = kwargs.get('applied_to', None) - self.matched_rule = kwargs.get('matched_rule', None) - self.rules_evaluation_result = None - - -class ExpressRouteCircuit(Resource): - """ExpressRouteCircuit resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param sku: The SKU. - :type sku: ~azure.mgmt.network.v2019_09_01.models.ExpressRouteCircuitSku - :param allow_classic_operations: Allow classic operations. - :type allow_classic_operations: bool - :ivar circuit_provisioning_state: The CircuitProvisioningState state of - the resource. - :vartype circuit_provisioning_state: str - :ivar service_provider_provisioning_state: The - ServiceProviderProvisioningState state of the resource. Possible values - include: 'NotProvisioned', 'Provisioning', 'Provisioned', 'Deprovisioning' - :vartype service_provider_provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ServiceProviderProvisioningState - :param authorizations: The list of authorizations. - :type authorizations: - list[~azure.mgmt.network.v2019_09_01.models.ExpressRouteCircuitAuthorization] - :param peerings: The list of peerings. - :type peerings: - list[~azure.mgmt.network.v2019_09_01.models.ExpressRouteCircuitPeering] - :ivar service_key: The ServiceKey. - :vartype service_key: str - :param service_provider_notes: The ServiceProviderNotes. - :type service_provider_notes: str - :param service_provider_properties: The ServiceProviderProperties. - :type service_provider_properties: - ~azure.mgmt.network.v2019_09_01.models.ExpressRouteCircuitServiceProviderProperties - :param express_route_port: The reference to the ExpressRoutePort resource - when the circuit is provisioned on an ExpressRoutePort resource. - :type express_route_port: - ~azure.mgmt.network.v2019_09_01.models.SubResource - :param bandwidth_in_gbps: The bandwidth of the circuit when the circuit is - provisioned on an ExpressRoutePort resource. - :type bandwidth_in_gbps: float - :ivar stag: The identifier of the circuit traffic. Outer tag for QinQ - encapsulation. - :vartype stag: int - :ivar provisioning_state: The provisioning state of the express route - circuit resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param gateway_manager_etag: The GatewayManager Etag. - :type gateway_manager_etag: str - :ivar global_reach_enabled: Flag denoting Global reach status. - :vartype global_reach_enabled: bool - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'circuit_provisioning_state': {'readonly': True}, - 'service_provider_provisioning_state': {'readonly': True}, - 'service_key': {'readonly': True}, - 'stag': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'global_reach_enabled': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'sku': {'key': 'sku', 'type': 'ExpressRouteCircuitSku'}, - 'allow_classic_operations': {'key': 'properties.allowClassicOperations', 'type': 'bool'}, - 'circuit_provisioning_state': {'key': 'properties.circuitProvisioningState', 'type': 'str'}, - 'service_provider_provisioning_state': {'key': 'properties.serviceProviderProvisioningState', 'type': 'str'}, - 'authorizations': {'key': 'properties.authorizations', 'type': '[ExpressRouteCircuitAuthorization]'}, - 'peerings': {'key': 'properties.peerings', 'type': '[ExpressRouteCircuitPeering]'}, - 'service_key': {'key': 'properties.serviceKey', 'type': 'str'}, - 'service_provider_notes': {'key': 'properties.serviceProviderNotes', 'type': 'str'}, - 'service_provider_properties': {'key': 'properties.serviceProviderProperties', 'type': 'ExpressRouteCircuitServiceProviderProperties'}, - 'express_route_port': {'key': 'properties.expressRoutePort', 'type': 'SubResource'}, - 'bandwidth_in_gbps': {'key': 'properties.bandwidthInGbps', 'type': 'float'}, - 'stag': {'key': 'properties.stag', 'type': 'int'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'gateway_manager_etag': {'key': 'properties.gatewayManagerEtag', 'type': 'str'}, - 'global_reach_enabled': {'key': 'properties.globalReachEnabled', 'type': 'bool'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ExpressRouteCircuit, self).__init__(**kwargs) - self.sku = kwargs.get('sku', None) - self.allow_classic_operations = kwargs.get('allow_classic_operations', None) - self.circuit_provisioning_state = None - self.service_provider_provisioning_state = None - self.authorizations = kwargs.get('authorizations', None) - self.peerings = kwargs.get('peerings', None) - self.service_key = None - self.service_provider_notes = kwargs.get('service_provider_notes', None) - self.service_provider_properties = kwargs.get('service_provider_properties', None) - self.express_route_port = kwargs.get('express_route_port', None) - self.bandwidth_in_gbps = kwargs.get('bandwidth_in_gbps', None) - self.stag = None - self.provisioning_state = None - self.gateway_manager_etag = kwargs.get('gateway_manager_etag', None) - self.global_reach_enabled = None - self.etag = None - - -class ExpressRouteCircuitArpTable(Model): - """The ARP table associated with the ExpressRouteCircuit. - - :param age: Entry age in minutes. - :type age: int - :param interface: Interface address. - :type interface: str - :param ip_address: The IP address. - :type ip_address: str - :param mac_address: The MAC address. - :type mac_address: str - """ - - _attribute_map = { - 'age': {'key': 'age', 'type': 'int'}, - 'interface': {'key': 'interface', 'type': 'str'}, - 'ip_address': {'key': 'ipAddress', 'type': 'str'}, - 'mac_address': {'key': 'macAddress', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ExpressRouteCircuitArpTable, self).__init__(**kwargs) - self.age = kwargs.get('age', None) - self.interface = kwargs.get('interface', None) - self.ip_address = kwargs.get('ip_address', None) - self.mac_address = kwargs.get('mac_address', None) - - -class ExpressRouteCircuitAuthorization(SubResource): - """Authorization in an ExpressRouteCircuit resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar authorization_key: The authorization key. - :vartype authorization_key: str - :ivar authorization_use_status: The authorization use status. Possible - values include: 'Available', 'InUse' - :vartype authorization_use_status: str or - ~azure.mgmt.network.v2019_09_01.models.AuthorizationUseStatus - :ivar provisioning_state: The provisioning state of the authorization - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :ivar type: Type of the resource. - :vartype type: str - """ - - _validation = { - 'authorization_key': {'readonly': True}, - 'authorization_use_status': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'authorization_key': {'key': 'properties.authorizationKey', 'type': 'str'}, - 'authorization_use_status': {'key': 'properties.authorizationUseStatus', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ExpressRouteCircuitAuthorization, self).__init__(**kwargs) - self.authorization_key = None - self.authorization_use_status = None - self.provisioning_state = None - self.name = kwargs.get('name', None) - self.etag = None - self.type = None - - -class ExpressRouteCircuitConnection(SubResource): - """Express Route Circuit Connection in an ExpressRouteCircuitPeering resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param express_route_circuit_peering: Reference to Express Route Circuit - Private Peering Resource of the circuit initiating connection. - :type express_route_circuit_peering: - ~azure.mgmt.network.v2019_09_01.models.SubResource - :param peer_express_route_circuit_peering: Reference to Express Route - Circuit Private Peering Resource of the peered circuit. - :type peer_express_route_circuit_peering: - ~azure.mgmt.network.v2019_09_01.models.SubResource - :param address_prefix: /29 IP address space to carve out Customer - addresses for tunnels. - :type address_prefix: str - :param authorization_key: The authorization key. - :type authorization_key: str - :ivar circuit_connection_status: Express Route Circuit connection state. - Possible values include: 'Connected', 'Connecting', 'Disconnected' - :vartype circuit_connection_status: str or - ~azure.mgmt.network.v2019_09_01.models.CircuitConnectionStatus - :ivar provisioning_state: The provisioning state of the express route - circuit connection resource. Possible values include: 'Succeeded', - 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :ivar type: Type of the resource. - :vartype type: str - """ - - _validation = { - 'circuit_connection_status': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'express_route_circuit_peering': {'key': 'properties.expressRouteCircuitPeering', 'type': 'SubResource'}, - 'peer_express_route_circuit_peering': {'key': 'properties.peerExpressRouteCircuitPeering', 'type': 'SubResource'}, - 'address_prefix': {'key': 'properties.addressPrefix', 'type': 'str'}, - 'authorization_key': {'key': 'properties.authorizationKey', 'type': 'str'}, - 'circuit_connection_status': {'key': 'properties.circuitConnectionStatus', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ExpressRouteCircuitConnection, self).__init__(**kwargs) - self.express_route_circuit_peering = kwargs.get('express_route_circuit_peering', None) - self.peer_express_route_circuit_peering = kwargs.get('peer_express_route_circuit_peering', None) - self.address_prefix = kwargs.get('address_prefix', None) - self.authorization_key = kwargs.get('authorization_key', None) - self.circuit_connection_status = None - self.provisioning_state = None - self.name = kwargs.get('name', None) - self.etag = None - self.type = None - - -class ExpressRouteCircuitPeering(SubResource): - """Peering in an ExpressRouteCircuit resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param peering_type: The peering type. Possible values include: - 'AzurePublicPeering', 'AzurePrivatePeering', 'MicrosoftPeering' - :type peering_type: str or - ~azure.mgmt.network.v2019_09_01.models.ExpressRoutePeeringType - :param state: The peering state. Possible values include: 'Disabled', - 'Enabled' - :type state: str or - ~azure.mgmt.network.v2019_09_01.models.ExpressRoutePeeringState - :ivar azure_asn: The Azure ASN. - :vartype azure_asn: int - :param peer_asn: The peer ASN. - :type peer_asn: long - :param primary_peer_address_prefix: The primary address prefix. - :type primary_peer_address_prefix: str - :param secondary_peer_address_prefix: The secondary address prefix. - :type secondary_peer_address_prefix: str - :ivar primary_azure_port: The primary port. - :vartype primary_azure_port: str - :ivar secondary_azure_port: The secondary port. - :vartype secondary_azure_port: str - :param shared_key: The shared key. - :type shared_key: str - :param vlan_id: The VLAN ID. - :type vlan_id: int - :param microsoft_peering_config: The Microsoft peering configuration. - :type microsoft_peering_config: - ~azure.mgmt.network.v2019_09_01.models.ExpressRouteCircuitPeeringConfig - :param stats: The peering stats of express route circuit. - :type stats: - ~azure.mgmt.network.v2019_09_01.models.ExpressRouteCircuitStats - :ivar provisioning_state: The provisioning state of the express route - circuit peering resource. Possible values include: 'Succeeded', - 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param gateway_manager_etag: The GatewayManager Etag. - :type gateway_manager_etag: str - :ivar last_modified_by: Who was the last to modify the peering. - :vartype last_modified_by: str - :param route_filter: The reference of the RouteFilter resource. - :type route_filter: ~azure.mgmt.network.v2019_09_01.models.SubResource - :param ipv6_peering_config: The IPv6 peering configuration. - :type ipv6_peering_config: - ~azure.mgmt.network.v2019_09_01.models.Ipv6ExpressRouteCircuitPeeringConfig - :param express_route_connection: The ExpressRoute connection. - :type express_route_connection: - ~azure.mgmt.network.v2019_09_01.models.ExpressRouteConnectionId - :ivar connections: The list of circuit connections associated with Azure - Private Peering for this circuit. - :vartype connections: - list[~azure.mgmt.network.v2019_09_01.models.ExpressRouteCircuitConnection] - :ivar peered_connections: The list of peered circuit connections - associated with Azure Private Peering for this circuit. - :vartype peered_connections: - list[~azure.mgmt.network.v2019_09_01.models.PeerExpressRouteCircuitConnection] - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :ivar type: Type of the resource. - :vartype type: str - """ - - _validation = { - 'azure_asn': {'readonly': True}, - 'peer_asn': {'maximum': 4294967295, 'minimum': 1}, - 'primary_azure_port': {'readonly': True}, - 'secondary_azure_port': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'last_modified_by': {'readonly': True}, - 'connections': {'readonly': True}, - 'peered_connections': {'readonly': True}, - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'peering_type': {'key': 'properties.peeringType', 'type': 'str'}, - 'state': {'key': 'properties.state', 'type': 'str'}, - 'azure_asn': {'key': 'properties.azureASN', 'type': 'int'}, - 'peer_asn': {'key': 'properties.peerASN', 'type': 'long'}, - 'primary_peer_address_prefix': {'key': 'properties.primaryPeerAddressPrefix', 'type': 'str'}, - 'secondary_peer_address_prefix': {'key': 'properties.secondaryPeerAddressPrefix', 'type': 'str'}, - 'primary_azure_port': {'key': 'properties.primaryAzurePort', 'type': 'str'}, - 'secondary_azure_port': {'key': 'properties.secondaryAzurePort', 'type': 'str'}, - 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, - 'vlan_id': {'key': 'properties.vlanId', 'type': 'int'}, - 'microsoft_peering_config': {'key': 'properties.microsoftPeeringConfig', 'type': 'ExpressRouteCircuitPeeringConfig'}, - 'stats': {'key': 'properties.stats', 'type': 'ExpressRouteCircuitStats'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'gateway_manager_etag': {'key': 'properties.gatewayManagerEtag', 'type': 'str'}, - 'last_modified_by': {'key': 'properties.lastModifiedBy', 'type': 'str'}, - 'route_filter': {'key': 'properties.routeFilter', 'type': 'SubResource'}, - 'ipv6_peering_config': {'key': 'properties.ipv6PeeringConfig', 'type': 'Ipv6ExpressRouteCircuitPeeringConfig'}, - 'express_route_connection': {'key': 'properties.expressRouteConnection', 'type': 'ExpressRouteConnectionId'}, - 'connections': {'key': 'properties.connections', 'type': '[ExpressRouteCircuitConnection]'}, - 'peered_connections': {'key': 'properties.peeredConnections', 'type': '[PeerExpressRouteCircuitConnection]'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ExpressRouteCircuitPeering, self).__init__(**kwargs) - self.peering_type = kwargs.get('peering_type', None) - self.state = kwargs.get('state', None) - self.azure_asn = None - self.peer_asn = kwargs.get('peer_asn', None) - self.primary_peer_address_prefix = kwargs.get('primary_peer_address_prefix', None) - self.secondary_peer_address_prefix = kwargs.get('secondary_peer_address_prefix', None) - self.primary_azure_port = None - self.secondary_azure_port = None - self.shared_key = kwargs.get('shared_key', None) - self.vlan_id = kwargs.get('vlan_id', None) - self.microsoft_peering_config = kwargs.get('microsoft_peering_config', None) - self.stats = kwargs.get('stats', None) - self.provisioning_state = None - self.gateway_manager_etag = kwargs.get('gateway_manager_etag', None) - self.last_modified_by = None - self.route_filter = kwargs.get('route_filter', None) - self.ipv6_peering_config = kwargs.get('ipv6_peering_config', None) - self.express_route_connection = kwargs.get('express_route_connection', None) - self.connections = None - self.peered_connections = None - self.name = kwargs.get('name', None) - self.etag = None - self.type = None - - -class ExpressRouteCircuitPeeringConfig(Model): - """Specifies the peering configuration. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param advertised_public_prefixes: The reference of - AdvertisedPublicPrefixes. - :type advertised_public_prefixes: list[str] - :param advertised_communities: The communities of bgp peering. Specified - for microsoft peering. - :type advertised_communities: list[str] - :ivar advertised_public_prefixes_state: The advertised public prefix state - of the Peering resource. Possible values include: 'NotConfigured', - 'Configuring', 'Configured', 'ValidationNeeded' - :vartype advertised_public_prefixes_state: str or - ~azure.mgmt.network.v2019_09_01.models.ExpressRouteCircuitPeeringAdvertisedPublicPrefixState - :param legacy_mode: The legacy mode of the peering. - :type legacy_mode: int - :param customer_asn: The CustomerASN of the peering. - :type customer_asn: int - :param routing_registry_name: The RoutingRegistryName of the - configuration. - :type routing_registry_name: str - """ - - _validation = { - 'advertised_public_prefixes_state': {'readonly': True}, - } - - _attribute_map = { - 'advertised_public_prefixes': {'key': 'advertisedPublicPrefixes', 'type': '[str]'}, - 'advertised_communities': {'key': 'advertisedCommunities', 'type': '[str]'}, - 'advertised_public_prefixes_state': {'key': 'advertisedPublicPrefixesState', 'type': 'str'}, - 'legacy_mode': {'key': 'legacyMode', 'type': 'int'}, - 'customer_asn': {'key': 'customerASN', 'type': 'int'}, - 'routing_registry_name': {'key': 'routingRegistryName', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ExpressRouteCircuitPeeringConfig, self).__init__(**kwargs) - self.advertised_public_prefixes = kwargs.get('advertised_public_prefixes', None) - self.advertised_communities = kwargs.get('advertised_communities', None) - self.advertised_public_prefixes_state = None - self.legacy_mode = kwargs.get('legacy_mode', None) - self.customer_asn = kwargs.get('customer_asn', None) - self.routing_registry_name = kwargs.get('routing_registry_name', None) - - -class ExpressRouteCircuitPeeringId(Model): - """ExpressRoute circuit peering identifier. - - :param id: The ID of the ExpressRoute circuit peering. - :type id: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ExpressRouteCircuitPeeringId, self).__init__(**kwargs) - self.id = kwargs.get('id', None) - - -class ExpressRouteCircuitReference(Model): - """Reference to an express route circuit. - - :param id: Corresponding Express Route Circuit Id. - :type id: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ExpressRouteCircuitReference, self).__init__(**kwargs) - self.id = kwargs.get('id', None) - - -class ExpressRouteCircuitRoutesTable(Model): - """The routes table associated with the ExpressRouteCircuit. - - :param network: IP address of a network entity. - :type network: str - :param next_hop: NextHop address. - :type next_hop: str - :param loc_prf: Local preference value as set with the set - local-preference route-map configuration command. - :type loc_prf: str - :param weight: Route Weight. - :type weight: int - :param path: Autonomous system paths to the destination network. - :type path: str - """ - - _attribute_map = { - 'network': {'key': 'network', 'type': 'str'}, - 'next_hop': {'key': 'nextHop', 'type': 'str'}, - 'loc_prf': {'key': 'locPrf', 'type': 'str'}, - 'weight': {'key': 'weight', 'type': 'int'}, - 'path': {'key': 'path', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ExpressRouteCircuitRoutesTable, self).__init__(**kwargs) - self.network = kwargs.get('network', None) - self.next_hop = kwargs.get('next_hop', None) - self.loc_prf = kwargs.get('loc_prf', None) - self.weight = kwargs.get('weight', None) - self.path = kwargs.get('path', None) - - -class ExpressRouteCircuitRoutesTableSummary(Model): - """The routes table associated with the ExpressRouteCircuit. - - :param neighbor: IP address of the neighbor. - :type neighbor: str - :param v: BGP version number spoken to the neighbor. - :type v: int - :param as_property: Autonomous system number. - :type as_property: int - :param up_down: The length of time that the BGP session has been in the - Established state, or the current status if not in the Established state. - :type up_down: str - :param state_pfx_rcd: Current state of the BGP session, and the number of - prefixes that have been received from a neighbor or peer group. - :type state_pfx_rcd: str - """ - - _attribute_map = { - 'neighbor': {'key': 'neighbor', 'type': 'str'}, - 'v': {'key': 'v', 'type': 'int'}, - 'as_property': {'key': 'as', 'type': 'int'}, - 'up_down': {'key': 'upDown', 'type': 'str'}, - 'state_pfx_rcd': {'key': 'statePfxRcd', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ExpressRouteCircuitRoutesTableSummary, self).__init__(**kwargs) - self.neighbor = kwargs.get('neighbor', None) - self.v = kwargs.get('v', None) - self.as_property = kwargs.get('as_property', None) - self.up_down = kwargs.get('up_down', None) - self.state_pfx_rcd = kwargs.get('state_pfx_rcd', None) - - -class ExpressRouteCircuitsArpTableListResult(Model): - """Response for ListArpTable associated with the Express Route Circuits API. - - :param value: A list of the ARP tables. - :type value: - list[~azure.mgmt.network.v2019_09_01.models.ExpressRouteCircuitArpTable] - :param next_link: The URL to get the next set of results. - :type next_link: str - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[ExpressRouteCircuitArpTable]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ExpressRouteCircuitsArpTableListResult, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - self.next_link = kwargs.get('next_link', None) - - -class ExpressRouteCircuitServiceProviderProperties(Model): - """Contains ServiceProviderProperties in an ExpressRouteCircuit. - - :param service_provider_name: The serviceProviderName. - :type service_provider_name: str - :param peering_location: The peering location. - :type peering_location: str - :param bandwidth_in_mbps: The BandwidthInMbps. - :type bandwidth_in_mbps: int - """ - - _attribute_map = { - 'service_provider_name': {'key': 'serviceProviderName', 'type': 'str'}, - 'peering_location': {'key': 'peeringLocation', 'type': 'str'}, - 'bandwidth_in_mbps': {'key': 'bandwidthInMbps', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(ExpressRouteCircuitServiceProviderProperties, self).__init__(**kwargs) - self.service_provider_name = kwargs.get('service_provider_name', None) - self.peering_location = kwargs.get('peering_location', None) - self.bandwidth_in_mbps = kwargs.get('bandwidth_in_mbps', None) - - -class ExpressRouteCircuitSku(Model): - """Contains SKU in an ExpressRouteCircuit. - - :param name: The name of the SKU. - :type name: str - :param tier: The tier of the SKU. Possible values include: 'Standard', - 'Premium', 'Basic', 'Local' - :type tier: str or - ~azure.mgmt.network.v2019_09_01.models.ExpressRouteCircuitSkuTier - :param family: The family of the SKU. Possible values include: - 'UnlimitedData', 'MeteredData' - :type family: str or - ~azure.mgmt.network.v2019_09_01.models.ExpressRouteCircuitSkuFamily - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'tier': {'key': 'tier', 'type': 'str'}, - 'family': {'key': 'family', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ExpressRouteCircuitSku, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.tier = kwargs.get('tier', None) - self.family = kwargs.get('family', None) - - -class ExpressRouteCircuitsRoutesTableListResult(Model): - """Response for ListRoutesTable associated with the Express Route Circuits - API. - - :param value: The list of routes table. - :type value: - list[~azure.mgmt.network.v2019_09_01.models.ExpressRouteCircuitRoutesTable] - :param next_link: The URL to get the next set of results. - :type next_link: str - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[ExpressRouteCircuitRoutesTable]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ExpressRouteCircuitsRoutesTableListResult, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - self.next_link = kwargs.get('next_link', None) - - -class ExpressRouteCircuitsRoutesTableSummaryListResult(Model): - """Response for ListRoutesTable associated with the Express Route Circuits - API. - - :param value: A list of the routes table. - :type value: - list[~azure.mgmt.network.v2019_09_01.models.ExpressRouteCircuitRoutesTableSummary] - :param next_link: The URL to get the next set of results. - :type next_link: str - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[ExpressRouteCircuitRoutesTableSummary]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ExpressRouteCircuitsRoutesTableSummaryListResult, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - self.next_link = kwargs.get('next_link', None) - - -class ExpressRouteCircuitStats(Model): - """Contains stats associated with the peering. - - :param primarybytes_in: The Primary BytesIn of the peering. - :type primarybytes_in: long - :param primarybytes_out: The primary BytesOut of the peering. - :type primarybytes_out: long - :param secondarybytes_in: The secondary BytesIn of the peering. - :type secondarybytes_in: long - :param secondarybytes_out: The secondary BytesOut of the peering. - :type secondarybytes_out: long - """ - - _attribute_map = { - 'primarybytes_in': {'key': 'primarybytesIn', 'type': 'long'}, - 'primarybytes_out': {'key': 'primarybytesOut', 'type': 'long'}, - 'secondarybytes_in': {'key': 'secondarybytesIn', 'type': 'long'}, - 'secondarybytes_out': {'key': 'secondarybytesOut', 'type': 'long'}, - } - - def __init__(self, **kwargs): - super(ExpressRouteCircuitStats, self).__init__(**kwargs) - self.primarybytes_in = kwargs.get('primarybytes_in', None) - self.primarybytes_out = kwargs.get('primarybytes_out', None) - self.secondarybytes_in = kwargs.get('secondarybytes_in', None) - self.secondarybytes_out = kwargs.get('secondarybytes_out', None) - - -class ExpressRouteConnection(SubResource): - """ExpressRouteConnection resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :ivar provisioning_state: The provisioning state of the express route - connection resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param express_route_circuit_peering: Required. The ExpressRoute circuit - peering. - :type express_route_circuit_peering: - ~azure.mgmt.network.v2019_09_01.models.ExpressRouteCircuitPeeringId - :param authorization_key: Authorization key to establish the connection. - :type authorization_key: str - :param routing_weight: The routing weight associated to the connection. - :type routing_weight: int - :param enable_internet_security: Enable internet security. - :type enable_internet_security: bool - :param name: Required. The name of the resource. - :type name: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'express_route_circuit_peering': {'required': True}, - 'name': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'express_route_circuit_peering': {'key': 'properties.expressRouteCircuitPeering', 'type': 'ExpressRouteCircuitPeeringId'}, - 'authorization_key': {'key': 'properties.authorizationKey', 'type': 'str'}, - 'routing_weight': {'key': 'properties.routingWeight', 'type': 'int'}, - 'enable_internet_security': {'key': 'properties.enableInternetSecurity', 'type': 'bool'}, - 'name': {'key': 'name', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ExpressRouteConnection, self).__init__(**kwargs) - self.provisioning_state = None - self.express_route_circuit_peering = kwargs.get('express_route_circuit_peering', None) - self.authorization_key = kwargs.get('authorization_key', None) - self.routing_weight = kwargs.get('routing_weight', None) - self.enable_internet_security = kwargs.get('enable_internet_security', None) - self.name = kwargs.get('name', None) - - -class ExpressRouteConnectionId(Model): - """The ID of the ExpressRouteConnection. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar id: The ID of the ExpressRouteConnection. - :vartype id: str - """ - - _validation = { - 'id': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ExpressRouteConnectionId, self).__init__(**kwargs) - self.id = None - - -class ExpressRouteConnectionList(Model): - """ExpressRouteConnection list. - - :param value: The list of ExpressRoute connections. - :type value: - list[~azure.mgmt.network.v2019_09_01.models.ExpressRouteConnection] - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[ExpressRouteConnection]'}, - } - - def __init__(self, **kwargs): - super(ExpressRouteConnectionList, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - - -class ExpressRouteCrossConnection(Resource): - """ExpressRouteCrossConnection resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :ivar primary_azure_port: The name of the primary port. - :vartype primary_azure_port: str - :ivar secondary_azure_port: The name of the secondary port. - :vartype secondary_azure_port: str - :ivar s_tag: The identifier of the circuit traffic. - :vartype s_tag: int - :param peering_location: The peering location of the ExpressRoute circuit. - :type peering_location: str - :param bandwidth_in_mbps: The circuit bandwidth In Mbps. - :type bandwidth_in_mbps: int - :param express_route_circuit: The ExpressRouteCircuit. - :type express_route_circuit: - ~azure.mgmt.network.v2019_09_01.models.ExpressRouteCircuitReference - :param service_provider_provisioning_state: The provisioning state of the - circuit in the connectivity provider system. Possible values include: - 'NotProvisioned', 'Provisioning', 'Provisioned', 'Deprovisioning' - :type service_provider_provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ServiceProviderProvisioningState - :param service_provider_notes: Additional read only notes set by the - connectivity provider. - :type service_provider_notes: str - :ivar provisioning_state: The provisioning state of the express route - cross connection resource. Possible values include: 'Succeeded', - 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param peerings: The list of peerings. - :type peerings: - list[~azure.mgmt.network.v2019_09_01.models.ExpressRouteCrossConnectionPeering] - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'primary_azure_port': {'readonly': True}, - 'secondary_azure_port': {'readonly': True}, - 's_tag': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'primary_azure_port': {'key': 'properties.primaryAzurePort', 'type': 'str'}, - 'secondary_azure_port': {'key': 'properties.secondaryAzurePort', 'type': 'str'}, - 's_tag': {'key': 'properties.sTag', 'type': 'int'}, - 'peering_location': {'key': 'properties.peeringLocation', 'type': 'str'}, - 'bandwidth_in_mbps': {'key': 'properties.bandwidthInMbps', 'type': 'int'}, - 'express_route_circuit': {'key': 'properties.expressRouteCircuit', 'type': 'ExpressRouteCircuitReference'}, - 'service_provider_provisioning_state': {'key': 'properties.serviceProviderProvisioningState', 'type': 'str'}, - 'service_provider_notes': {'key': 'properties.serviceProviderNotes', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'peerings': {'key': 'properties.peerings', 'type': '[ExpressRouteCrossConnectionPeering]'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ExpressRouteCrossConnection, self).__init__(**kwargs) - self.primary_azure_port = None - self.secondary_azure_port = None - self.s_tag = None - self.peering_location = kwargs.get('peering_location', None) - self.bandwidth_in_mbps = kwargs.get('bandwidth_in_mbps', None) - self.express_route_circuit = kwargs.get('express_route_circuit', None) - self.service_provider_provisioning_state = kwargs.get('service_provider_provisioning_state', None) - self.service_provider_notes = kwargs.get('service_provider_notes', None) - self.provisioning_state = None - self.peerings = kwargs.get('peerings', None) - self.etag = None - - -class ExpressRouteCrossConnectionPeering(SubResource): - """Peering in an ExpressRoute Cross Connection resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param peering_type: The peering type. Possible values include: - 'AzurePublicPeering', 'AzurePrivatePeering', 'MicrosoftPeering' - :type peering_type: str or - ~azure.mgmt.network.v2019_09_01.models.ExpressRoutePeeringType - :param state: The peering state. Possible values include: 'Disabled', - 'Enabled' - :type state: str or - ~azure.mgmt.network.v2019_09_01.models.ExpressRoutePeeringState - :ivar azure_asn: The Azure ASN. - :vartype azure_asn: int - :param peer_asn: The peer ASN. - :type peer_asn: long - :param primary_peer_address_prefix: The primary address prefix. - :type primary_peer_address_prefix: str - :param secondary_peer_address_prefix: The secondary address prefix. - :type secondary_peer_address_prefix: str - :ivar primary_azure_port: The primary port. - :vartype primary_azure_port: str - :ivar secondary_azure_port: The secondary port. - :vartype secondary_azure_port: str - :param shared_key: The shared key. - :type shared_key: str - :param vlan_id: The VLAN ID. - :type vlan_id: int - :param microsoft_peering_config: The Microsoft peering configuration. - :type microsoft_peering_config: - ~azure.mgmt.network.v2019_09_01.models.ExpressRouteCircuitPeeringConfig - :ivar provisioning_state: The provisioning state of the express route - cross connection peering resource. Possible values include: 'Succeeded', - 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param gateway_manager_etag: The GatewayManager Etag. - :type gateway_manager_etag: str - :ivar last_modified_by: Who was the last to modify the peering. - :vartype last_modified_by: str - :param ipv6_peering_config: The IPv6 peering configuration. - :type ipv6_peering_config: - ~azure.mgmt.network.v2019_09_01.models.Ipv6ExpressRouteCircuitPeeringConfig - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'azure_asn': {'readonly': True}, - 'peer_asn': {'maximum': 4294967295, 'minimum': 1}, - 'primary_azure_port': {'readonly': True}, - 'secondary_azure_port': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'last_modified_by': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'peering_type': {'key': 'properties.peeringType', 'type': 'str'}, - 'state': {'key': 'properties.state', 'type': 'str'}, - 'azure_asn': {'key': 'properties.azureASN', 'type': 'int'}, - 'peer_asn': {'key': 'properties.peerASN', 'type': 'long'}, - 'primary_peer_address_prefix': {'key': 'properties.primaryPeerAddressPrefix', 'type': 'str'}, - 'secondary_peer_address_prefix': {'key': 'properties.secondaryPeerAddressPrefix', 'type': 'str'}, - 'primary_azure_port': {'key': 'properties.primaryAzurePort', 'type': 'str'}, - 'secondary_azure_port': {'key': 'properties.secondaryAzurePort', 'type': 'str'}, - 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, - 'vlan_id': {'key': 'properties.vlanId', 'type': 'int'}, - 'microsoft_peering_config': {'key': 'properties.microsoftPeeringConfig', 'type': 'ExpressRouteCircuitPeeringConfig'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'gateway_manager_etag': {'key': 'properties.gatewayManagerEtag', 'type': 'str'}, - 'last_modified_by': {'key': 'properties.lastModifiedBy', 'type': 'str'}, - 'ipv6_peering_config': {'key': 'properties.ipv6PeeringConfig', 'type': 'Ipv6ExpressRouteCircuitPeeringConfig'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ExpressRouteCrossConnectionPeering, self).__init__(**kwargs) - self.peering_type = kwargs.get('peering_type', None) - self.state = kwargs.get('state', None) - self.azure_asn = None - self.peer_asn = kwargs.get('peer_asn', None) - self.primary_peer_address_prefix = kwargs.get('primary_peer_address_prefix', None) - self.secondary_peer_address_prefix = kwargs.get('secondary_peer_address_prefix', None) - self.primary_azure_port = None - self.secondary_azure_port = None - self.shared_key = kwargs.get('shared_key', None) - self.vlan_id = kwargs.get('vlan_id', None) - self.microsoft_peering_config = kwargs.get('microsoft_peering_config', None) - self.provisioning_state = None - self.gateway_manager_etag = kwargs.get('gateway_manager_etag', None) - self.last_modified_by = None - self.ipv6_peering_config = kwargs.get('ipv6_peering_config', None) - self.name = kwargs.get('name', None) - self.etag = None - - -class ExpressRouteCrossConnectionRoutesTableSummary(Model): - """The routes table associated with the ExpressRouteCircuit. - - :param neighbor: IP address of Neighbor router. - :type neighbor: str - :param asn: Autonomous system number. - :type asn: int - :param up_down: The length of time that the BGP session has been in the - Established state, or the current status if not in the Established state. - :type up_down: str - :param state_or_prefixes_received: Current state of the BGP session, and - the number of prefixes that have been received from a neighbor or peer - group. - :type state_or_prefixes_received: str - """ - - _attribute_map = { - 'neighbor': {'key': 'neighbor', 'type': 'str'}, - 'asn': {'key': 'asn', 'type': 'int'}, - 'up_down': {'key': 'upDown', 'type': 'str'}, - 'state_or_prefixes_received': {'key': 'stateOrPrefixesReceived', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ExpressRouteCrossConnectionRoutesTableSummary, self).__init__(**kwargs) - self.neighbor = kwargs.get('neighbor', None) - self.asn = kwargs.get('asn', None) - self.up_down = kwargs.get('up_down', None) - self.state_or_prefixes_received = kwargs.get('state_or_prefixes_received', None) - - -class ExpressRouteCrossConnectionsRoutesTableSummaryListResult(Model): - """Response for ListRoutesTable associated with the Express Route Cross - Connections. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param value: A list of the routes table. - :type value: - list[~azure.mgmt.network.v2019_09_01.models.ExpressRouteCrossConnectionRoutesTableSummary] - :ivar next_link: The URL to get the next set of results. - :vartype next_link: str - """ - - _validation = { - 'next_link': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[ExpressRouteCrossConnectionRoutesTableSummary]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ExpressRouteCrossConnectionsRoutesTableSummaryListResult, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - self.next_link = None - - -class ExpressRouteGateway(Resource): - """ExpressRoute gateway resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param auto_scale_configuration: Configuration for auto scaling. - :type auto_scale_configuration: - ~azure.mgmt.network.v2019_09_01.models.ExpressRouteGatewayPropertiesAutoScaleConfiguration - :ivar express_route_connections: List of ExpressRoute connections to the - ExpressRoute gateway. - :vartype express_route_connections: - list[~azure.mgmt.network.v2019_09_01.models.ExpressRouteConnection] - :ivar provisioning_state: The provisioning state of the express route - gateway resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param virtual_hub: Required. The Virtual Hub where the ExpressRoute - gateway is or will be deployed. - :type virtual_hub: ~azure.mgmt.network.v2019_09_01.models.VirtualHubId - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'express_route_connections': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'virtual_hub': {'required': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'auto_scale_configuration': {'key': 'properties.autoScaleConfiguration', 'type': 'ExpressRouteGatewayPropertiesAutoScaleConfiguration'}, - 'express_route_connections': {'key': 'properties.expressRouteConnections', 'type': '[ExpressRouteConnection]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'virtual_hub': {'key': 'properties.virtualHub', 'type': 'VirtualHubId'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ExpressRouteGateway, self).__init__(**kwargs) - self.auto_scale_configuration = kwargs.get('auto_scale_configuration', None) - self.express_route_connections = None - self.provisioning_state = None - self.virtual_hub = kwargs.get('virtual_hub', None) - self.etag = None - - -class ExpressRouteGatewayList(Model): - """List of ExpressRoute gateways. - - :param value: List of ExpressRoute gateways. - :type value: - list[~azure.mgmt.network.v2019_09_01.models.ExpressRouteGateway] - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[ExpressRouteGateway]'}, - } - - def __init__(self, **kwargs): - super(ExpressRouteGatewayList, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - - -class ExpressRouteGatewayPropertiesAutoScaleConfiguration(Model): - """Configuration for auto scaling. - - :param bounds: Minimum and maximum number of scale units to deploy. - :type bounds: - ~azure.mgmt.network.v2019_09_01.models.ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds - """ - - _attribute_map = { - 'bounds': {'key': 'bounds', 'type': 'ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds'}, - } - - def __init__(self, **kwargs): - super(ExpressRouteGatewayPropertiesAutoScaleConfiguration, self).__init__(**kwargs) - self.bounds = kwargs.get('bounds', None) - - -class ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds(Model): - """Minimum and maximum number of scale units to deploy. - - :param min: Minimum number of scale units deployed for ExpressRoute - gateway. - :type min: int - :param max: Maximum number of scale units deployed for ExpressRoute - gateway. - :type max: int - """ - - _attribute_map = { - 'min': {'key': 'min', 'type': 'int'}, - 'max': {'key': 'max', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds, self).__init__(**kwargs) - self.min = kwargs.get('min', None) - self.max = kwargs.get('max', None) - - -class ExpressRouteLink(SubResource): - """ExpressRouteLink. - - ExpressRouteLink child resource definition. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar router_name: Name of Azure router associated with physical port. - :vartype router_name: str - :ivar interface_name: Name of Azure router interface. - :vartype interface_name: str - :ivar patch_panel_id: Mapping between physical port to patch panel port. - :vartype patch_panel_id: str - :ivar rack_id: Mapping of physical patch panel to rack. - :vartype rack_id: str - :ivar connector_type: Physical fiber port type. Possible values include: - 'LC', 'SC' - :vartype connector_type: str or - ~azure.mgmt.network.v2019_09_01.models.ExpressRouteLinkConnectorType - :param admin_state: Administrative state of the physical port. Possible - values include: 'Enabled', 'Disabled' - :type admin_state: str or - ~azure.mgmt.network.v2019_09_01.models.ExpressRouteLinkAdminState - :ivar provisioning_state: The provisioning state of the express route link - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param mac_sec_config: MacSec configuration. - :type mac_sec_config: - ~azure.mgmt.network.v2019_09_01.models.ExpressRouteLinkMacSecConfig - :param name: Name of child port resource that is unique among child port - resources of the parent. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'router_name': {'readonly': True}, - 'interface_name': {'readonly': True}, - 'patch_panel_id': {'readonly': True}, - 'rack_id': {'readonly': True}, - 'connector_type': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'router_name': {'key': 'properties.routerName', 'type': 'str'}, - 'interface_name': {'key': 'properties.interfaceName', 'type': 'str'}, - 'patch_panel_id': {'key': 'properties.patchPanelId', 'type': 'str'}, - 'rack_id': {'key': 'properties.rackId', 'type': 'str'}, - 'connector_type': {'key': 'properties.connectorType', 'type': 'str'}, - 'admin_state': {'key': 'properties.adminState', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'mac_sec_config': {'key': 'properties.macSecConfig', 'type': 'ExpressRouteLinkMacSecConfig'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ExpressRouteLink, self).__init__(**kwargs) - self.router_name = None - self.interface_name = None - self.patch_panel_id = None - self.rack_id = None - self.connector_type = None - self.admin_state = kwargs.get('admin_state', None) - self.provisioning_state = None - self.mac_sec_config = kwargs.get('mac_sec_config', None) - self.name = kwargs.get('name', None) - self.etag = None - - -class ExpressRouteLinkMacSecConfig(Model): - """Definition of ExpressRouteLink Mac Security configuration. - - ExpressRouteLink Mac Security Configuration. - - :param ckn_secret_identifier: Keyvault Secret Identifier URL containing - Mac security CKN key. - :type ckn_secret_identifier: str - :param cak_secret_identifier: Keyvault Secret Identifier URL containing - Mac security CAK key. - :type cak_secret_identifier: str - :param cipher: Mac security cipher. Possible values include: - 'gcm-aes-128', 'gcm-aes-256' - :type cipher: str or - ~azure.mgmt.network.v2019_09_01.models.ExpressRouteLinkMacSecCipher - """ - - _attribute_map = { - 'ckn_secret_identifier': {'key': 'cknSecretIdentifier', 'type': 'str'}, - 'cak_secret_identifier': {'key': 'cakSecretIdentifier', 'type': 'str'}, - 'cipher': {'key': 'cipher', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ExpressRouteLinkMacSecConfig, self).__init__(**kwargs) - self.ckn_secret_identifier = kwargs.get('ckn_secret_identifier', None) - self.cak_secret_identifier = kwargs.get('cak_secret_identifier', None) - self.cipher = kwargs.get('cipher', None) - - -class ExpressRoutePort(Resource): - """ExpressRoute Port. - - ExpressRoutePort resource definition. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param peering_location: The name of the peering location that the - ExpressRoutePort is mapped to physically. - :type peering_location: str - :param bandwidth_in_gbps: Bandwidth of procured ports in Gbps. - :type bandwidth_in_gbps: int - :ivar provisioned_bandwidth_in_gbps: Aggregate Gbps of associated circuit - bandwidths. - :vartype provisioned_bandwidth_in_gbps: float - :ivar mtu: Maximum transmission unit of the physical port pair(s). - :vartype mtu: str - :param encapsulation: Encapsulation method on physical ports. Possible - values include: 'Dot1Q', 'QinQ' - :type encapsulation: str or - ~azure.mgmt.network.v2019_09_01.models.ExpressRoutePortsEncapsulation - :ivar ether_type: Ether type of the physical port. - :vartype ether_type: str - :ivar allocation_date: Date of the physical port allocation to be used in - Letter of Authorization. - :vartype allocation_date: str - :param links: ExpressRouteLink Sub-Resources. The set of physical links of - the ExpressRoutePort resource. - :type links: list[~azure.mgmt.network.v2019_09_01.models.ExpressRouteLink] - :ivar circuits: Reference the ExpressRoute circuit(s) that are provisioned - on this ExpressRoutePort resource. - :vartype circuits: - list[~azure.mgmt.network.v2019_09_01.models.SubResource] - :ivar provisioning_state: The provisioning state of the express route port - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :ivar resource_guid: The resource GUID property of the express route port - resource. - :vartype resource_guid: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :param identity: The identity of ExpressRoutePort, if configured. - :type identity: - ~azure.mgmt.network.v2019_09_01.models.ManagedServiceIdentity - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'provisioned_bandwidth_in_gbps': {'readonly': True}, - 'mtu': {'readonly': True}, - 'ether_type': {'readonly': True}, - 'allocation_date': {'readonly': True}, - 'circuits': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'resource_guid': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'peering_location': {'key': 'properties.peeringLocation', 'type': 'str'}, - 'bandwidth_in_gbps': {'key': 'properties.bandwidthInGbps', 'type': 'int'}, - 'provisioned_bandwidth_in_gbps': {'key': 'properties.provisionedBandwidthInGbps', 'type': 'float'}, - 'mtu': {'key': 'properties.mtu', 'type': 'str'}, - 'encapsulation': {'key': 'properties.encapsulation', 'type': 'str'}, - 'ether_type': {'key': 'properties.etherType', 'type': 'str'}, - 'allocation_date': {'key': 'properties.allocationDate', 'type': 'str'}, - 'links': {'key': 'properties.links', 'type': '[ExpressRouteLink]'}, - 'circuits': {'key': 'properties.circuits', 'type': '[SubResource]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, - } - - def __init__(self, **kwargs): - super(ExpressRoutePort, self).__init__(**kwargs) - self.peering_location = kwargs.get('peering_location', None) - self.bandwidth_in_gbps = kwargs.get('bandwidth_in_gbps', None) - self.provisioned_bandwidth_in_gbps = None - self.mtu = None - self.encapsulation = kwargs.get('encapsulation', None) - self.ether_type = None - self.allocation_date = None - self.links = kwargs.get('links', None) - self.circuits = None - self.provisioning_state = None - self.resource_guid = None - self.etag = None - self.identity = kwargs.get('identity', None) - - -class ExpressRoutePortsLocation(Resource): - """ExpressRoutePorts Peering Location. - - Definition of the ExpressRoutePorts peering location resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :ivar address: Address of peering location. - :vartype address: str - :ivar contact: Contact details of peering locations. - :vartype contact: str - :param available_bandwidths: The inventory of available ExpressRoutePort - bandwidths. - :type available_bandwidths: - list[~azure.mgmt.network.v2019_09_01.models.ExpressRoutePortsLocationBandwidths] - :ivar provisioning_state: The provisioning state of the express route port - location resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'address': {'readonly': True}, - 'contact': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'address': {'key': 'properties.address', 'type': 'str'}, - 'contact': {'key': 'properties.contact', 'type': 'str'}, - 'available_bandwidths': {'key': 'properties.availableBandwidths', 'type': '[ExpressRoutePortsLocationBandwidths]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ExpressRoutePortsLocation, self).__init__(**kwargs) - self.address = None - self.contact = None - self.available_bandwidths = kwargs.get('available_bandwidths', None) - self.provisioning_state = None - - -class ExpressRoutePortsLocationBandwidths(Model): - """ExpressRoutePorts Location Bandwidths. - - Real-time inventory of available ExpressRoute port bandwidths. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar offer_name: Bandwidth descriptive name. - :vartype offer_name: str - :ivar value_in_gbps: Bandwidth value in Gbps. - :vartype value_in_gbps: int - """ - - _validation = { - 'offer_name': {'readonly': True}, - 'value_in_gbps': {'readonly': True}, - } - - _attribute_map = { - 'offer_name': {'key': 'offerName', 'type': 'str'}, - 'value_in_gbps': {'key': 'valueInGbps', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(ExpressRoutePortsLocationBandwidths, self).__init__(**kwargs) - self.offer_name = None - self.value_in_gbps = None - - -class ExpressRouteServiceProvider(Resource): - """A ExpressRouteResourceProvider object. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param peering_locations: A list of peering locations. - :type peering_locations: list[str] - :param bandwidths_offered: A list of bandwidths offered. - :type bandwidths_offered: - list[~azure.mgmt.network.v2019_09_01.models.ExpressRouteServiceProviderBandwidthsOffered] - :ivar provisioning_state: The provisioning state of the express route - service provider resource. Possible values include: 'Succeeded', - 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'peering_locations': {'key': 'properties.peeringLocations', 'type': '[str]'}, - 'bandwidths_offered': {'key': 'properties.bandwidthsOffered', 'type': '[ExpressRouteServiceProviderBandwidthsOffered]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ExpressRouteServiceProvider, self).__init__(**kwargs) - self.peering_locations = kwargs.get('peering_locations', None) - self.bandwidths_offered = kwargs.get('bandwidths_offered', None) - self.provisioning_state = None - - -class ExpressRouteServiceProviderBandwidthsOffered(Model): - """Contains bandwidths offered in ExpressRouteServiceProvider resources. - - :param offer_name: The OfferName. - :type offer_name: str - :param value_in_mbps: The ValueInMbps. - :type value_in_mbps: int - """ - - _attribute_map = { - 'offer_name': {'key': 'offerName', 'type': 'str'}, - 'value_in_mbps': {'key': 'valueInMbps', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(ExpressRouteServiceProviderBandwidthsOffered, self).__init__(**kwargs) - self.offer_name = kwargs.get('offer_name', None) - self.value_in_mbps = kwargs.get('value_in_mbps', None) - - -class FirewallPolicy(Resource): - """FirewallPolicy Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :ivar rule_groups: List of references to FirewallPolicyRuleGroups. - :vartype rule_groups: - list[~azure.mgmt.network.v2019_09_01.models.SubResource] - :ivar provisioning_state: The provisioning state of the firewall policy - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param base_policy: The parent firewall policy from which rules are - inherited. - :type base_policy: ~azure.mgmt.network.v2019_09_01.models.SubResource - :ivar firewalls: List of references to Azure Firewalls that this Firewall - Policy is associated with. - :vartype firewalls: - list[~azure.mgmt.network.v2019_09_01.models.SubResource] - :ivar child_policies: List of references to Child Firewall Policies. - :vartype child_policies: - list[~azure.mgmt.network.v2019_09_01.models.SubResource] - :param threat_intel_mode: The operation mode for Threat Intelligence. - Possible values include: 'Alert', 'Deny', 'Off' - :type threat_intel_mode: str or - ~azure.mgmt.network.v2019_09_01.models.AzureFirewallThreatIntelMode - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'rule_groups': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'firewalls': {'readonly': True}, - 'child_policies': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'rule_groups': {'key': 'properties.ruleGroups', 'type': '[SubResource]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'base_policy': {'key': 'properties.basePolicy', 'type': 'SubResource'}, - 'firewalls': {'key': 'properties.firewalls', 'type': '[SubResource]'}, - 'child_policies': {'key': 'properties.childPolicies', 'type': '[SubResource]'}, - 'threat_intel_mode': {'key': 'properties.threatIntelMode', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(FirewallPolicy, self).__init__(**kwargs) - self.rule_groups = None - self.provisioning_state = None - self.base_policy = kwargs.get('base_policy', None) - self.firewalls = None - self.child_policies = None - self.threat_intel_mode = kwargs.get('threat_intel_mode', None) - self.etag = None - - -class FirewallPolicyRule(Model): - """Properties of the rule. - - You probably want to use the sub-classes and not this class directly. Known - sub-classes are: FirewallPolicyNatRule, FirewallPolicyFilterRule - - All required parameters must be populated in order to send to Azure. - - :param name: The name of the rule. - :type name: str - :param priority: Priority of the Firewall Policy Rule resource. - :type priority: int - :param rule_type: Required. Constant filled by server. - :type rule_type: str - """ - - _validation = { - 'priority': {'maximum': 65000, 'minimum': 100}, - 'rule_type': {'required': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'priority': {'key': 'priority', 'type': 'int'}, - 'rule_type': {'key': 'ruleType', 'type': 'str'}, - } - - _subtype_map = { - 'rule_type': {'FirewallPolicyNatRule': 'FirewallPolicyNatRule', 'FirewallPolicyFilterRule': 'FirewallPolicyFilterRule'} - } - - def __init__(self, **kwargs): - super(FirewallPolicyRule, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.priority = kwargs.get('priority', None) - self.rule_type = None - - -class FirewallPolicyFilterRule(FirewallPolicyRule): - """Firewall Policy Filter Rule. - - All required parameters must be populated in order to send to Azure. - - :param name: The name of the rule. - :type name: str - :param priority: Priority of the Firewall Policy Rule resource. - :type priority: int - :param rule_type: Required. Constant filled by server. - :type rule_type: str - :param action: The action type of a Filter rule. - :type action: - ~azure.mgmt.network.v2019_09_01.models.FirewallPolicyFilterRuleAction - :param rule_conditions: Collection of rule conditions used by a rule. - :type rule_conditions: - list[~azure.mgmt.network.v2019_09_01.models.FirewallPolicyRuleCondition] - """ - - _validation = { - 'priority': {'maximum': 65000, 'minimum': 100}, - 'rule_type': {'required': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'priority': {'key': 'priority', 'type': 'int'}, - 'rule_type': {'key': 'ruleType', 'type': 'str'}, - 'action': {'key': 'action', 'type': 'FirewallPolicyFilterRuleAction'}, - 'rule_conditions': {'key': 'ruleConditions', 'type': '[FirewallPolicyRuleCondition]'}, - } - - def __init__(self, **kwargs): - super(FirewallPolicyFilterRule, self).__init__(**kwargs) - self.action = kwargs.get('action', None) - self.rule_conditions = kwargs.get('rule_conditions', None) - self.rule_type = 'FirewallPolicyFilterRule' - - -class FirewallPolicyFilterRuleAction(Model): - """Properties of the FirewallPolicyFilterRuleAction. - - :param type: The type of action. Possible values include: 'Allow', 'Deny' - :type type: str or - ~azure.mgmt.network.v2019_09_01.models.FirewallPolicyFilterRuleActionType - """ - - _attribute_map = { - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(FirewallPolicyFilterRuleAction, self).__init__(**kwargs) - self.type = kwargs.get('type', None) - - -class FirewallPolicyNatRule(FirewallPolicyRule): - """Firewall Policy NAT Rule. - - All required parameters must be populated in order to send to Azure. - - :param name: The name of the rule. - :type name: str - :param priority: Priority of the Firewall Policy Rule resource. - :type priority: int - :param rule_type: Required. Constant filled by server. - :type rule_type: str - :param action: The action type of a Nat rule. - :type action: - ~azure.mgmt.network.v2019_09_01.models.FirewallPolicyNatRuleAction - :param translated_address: The translated address for this NAT rule. - :type translated_address: str - :param translated_port: The translated port for this NAT rule. - :type translated_port: str - :param rule_condition: The match conditions for incoming traffic. - :type rule_condition: - ~azure.mgmt.network.v2019_09_01.models.FirewallPolicyRuleCondition - """ - - _validation = { - 'priority': {'maximum': 65000, 'minimum': 100}, - 'rule_type': {'required': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'priority': {'key': 'priority', 'type': 'int'}, - 'rule_type': {'key': 'ruleType', 'type': 'str'}, - 'action': {'key': 'action', 'type': 'FirewallPolicyNatRuleAction'}, - 'translated_address': {'key': 'translatedAddress', 'type': 'str'}, - 'translated_port': {'key': 'translatedPort', 'type': 'str'}, - 'rule_condition': {'key': 'ruleCondition', 'type': 'FirewallPolicyRuleCondition'}, - } - - def __init__(self, **kwargs): - super(FirewallPolicyNatRule, self).__init__(**kwargs) - self.action = kwargs.get('action', None) - self.translated_address = kwargs.get('translated_address', None) - self.translated_port = kwargs.get('translated_port', None) - self.rule_condition = kwargs.get('rule_condition', None) - self.rule_type = 'FirewallPolicyNatRule' - - -class FirewallPolicyNatRuleAction(Model): - """Properties of the FirewallPolicyNatRuleAction. - - :param type: The type of action. Possible values include: 'DNAT' - :type type: str or - ~azure.mgmt.network.v2019_09_01.models.FirewallPolicyNatRuleActionType - """ - - _attribute_map = { - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(FirewallPolicyNatRuleAction, self).__init__(**kwargs) - self.type = kwargs.get('type', None) - - -class FirewallPolicyRuleConditionApplicationProtocol(Model): - """Properties of the application rule protocol. - - :param protocol_type: Protocol type. Possible values include: 'Http', - 'Https' - :type protocol_type: str or - ~azure.mgmt.network.v2019_09_01.models.FirewallPolicyRuleConditionApplicationProtocolType - :param port: Port number for the protocol, cannot be greater than 64000. - :type port: int - """ - - _validation = { - 'port': {'maximum': 64000, 'minimum': 0}, - } - - _attribute_map = { - 'protocol_type': {'key': 'protocolType', 'type': 'str'}, - 'port': {'key': 'port', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(FirewallPolicyRuleConditionApplicationProtocol, self).__init__(**kwargs) - self.protocol_type = kwargs.get('protocol_type', None) - self.port = kwargs.get('port', None) - - -class FirewallPolicyRuleGroup(SubResource): - """Rule Group resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param priority: Priority of the Firewall Policy Rule Group resource. - :type priority: int - :param rules: Group of Firewall Policy rules. - :type rules: - list[~azure.mgmt.network.v2019_09_01.models.FirewallPolicyRule] - :ivar provisioning_state: The provisioning state of the firewall policy - rule group resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :ivar type: Rule Group type. - :vartype type: str - """ - - _validation = { - 'priority': {'maximum': 65000, 'minimum': 100}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'priority': {'key': 'properties.priority', 'type': 'int'}, - 'rules': {'key': 'properties.rules', 'type': '[FirewallPolicyRule]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(FirewallPolicyRuleGroup, self).__init__(**kwargs) - self.priority = kwargs.get('priority', None) - self.rules = kwargs.get('rules', None) - self.provisioning_state = None - self.name = kwargs.get('name', None) - self.etag = None - self.type = None - - -class FlowLogFormatParameters(Model): - """Parameters that define the flow log format. - - :param type: The file type of flow log. Possible values include: 'JSON' - :type type: str or - ~azure.mgmt.network.v2019_09_01.models.FlowLogFormatType - :param version: The version (revision) of the flow log. Default value: 0 . - :type version: int - """ - - _attribute_map = { - 'type': {'key': 'type', 'type': 'str'}, - 'version': {'key': 'version', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(FlowLogFormatParameters, self).__init__(**kwargs) - self.type = kwargs.get('type', None) - self.version = kwargs.get('version', 0) - - -class FlowLogInformation(Model): - """Information on the configuration of flow log and traffic analytics - (optional) . - - All required parameters must be populated in order to send to Azure. - - :param target_resource_id: Required. The ID of the resource to configure - for flow log and traffic analytics (optional) . - :type target_resource_id: str - :param storage_id: Required. ID of the storage account which is used to - store the flow log. - :type storage_id: str - :param enabled: Required. Flag to enable/disable flow logging. - :type enabled: bool - :param retention_policy: Parameters that define the retention policy for - flow log. - :type retention_policy: - ~azure.mgmt.network.v2019_09_01.models.RetentionPolicyParameters - :param format: Parameters that define the flow log format. - :type format: - ~azure.mgmt.network.v2019_09_01.models.FlowLogFormatParameters - :param flow_analytics_configuration: Parameters that define the - configuration of traffic analytics. - :type flow_analytics_configuration: - ~azure.mgmt.network.v2019_09_01.models.TrafficAnalyticsProperties - """ - - _validation = { - 'target_resource_id': {'required': True}, - 'storage_id': {'required': True}, - 'enabled': {'required': True}, - } - - _attribute_map = { - 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, - 'storage_id': {'key': 'properties.storageId', 'type': 'str'}, - 'enabled': {'key': 'properties.enabled', 'type': 'bool'}, - 'retention_policy': {'key': 'properties.retentionPolicy', 'type': 'RetentionPolicyParameters'}, - 'format': {'key': 'properties.format', 'type': 'FlowLogFormatParameters'}, - 'flow_analytics_configuration': {'key': 'flowAnalyticsConfiguration', 'type': 'TrafficAnalyticsProperties'}, - } - - def __init__(self, **kwargs): - super(FlowLogInformation, self).__init__(**kwargs) - self.target_resource_id = kwargs.get('target_resource_id', None) - self.storage_id = kwargs.get('storage_id', None) - self.enabled = kwargs.get('enabled', None) - self.retention_policy = kwargs.get('retention_policy', None) - self.format = kwargs.get('format', None) - self.flow_analytics_configuration = kwargs.get('flow_analytics_configuration', None) - - -class FlowLogStatusParameters(Model): - """Parameters that define a resource to query flow log and traffic analytics - (optional) status. - - All required parameters must be populated in order to send to Azure. - - :param target_resource_id: Required. The target resource where getting the - flow log and traffic analytics (optional) status. - :type target_resource_id: str - """ - - _validation = { - 'target_resource_id': {'required': True}, - } - - _attribute_map = { - 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(FlowLogStatusParameters, self).__init__(**kwargs) - self.target_resource_id = kwargs.get('target_resource_id', None) - - -class FrontendIPConfiguration(SubResource): - """Frontend IP address of the load balancer. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar inbound_nat_rules: An array of references to inbound rules that use - this frontend IP. - :vartype inbound_nat_rules: - list[~azure.mgmt.network.v2019_09_01.models.SubResource] - :ivar inbound_nat_pools: An array of references to inbound pools that use - this frontend IP. - :vartype inbound_nat_pools: - list[~azure.mgmt.network.v2019_09_01.models.SubResource] - :ivar outbound_rules: An array of references to outbound rules that use - this frontend IP. - :vartype outbound_rules: - list[~azure.mgmt.network.v2019_09_01.models.SubResource] - :ivar load_balancing_rules: An array of references to load balancing rules - that use this frontend IP. - :vartype load_balancing_rules: - list[~azure.mgmt.network.v2019_09_01.models.SubResource] - :param private_ip_address: The private IP address of the IP configuration. - :type private_ip_address: str - :param private_ip_allocation_method: The Private IP allocation method. - Possible values include: 'Static', 'Dynamic' - :type private_ip_allocation_method: str or - ~azure.mgmt.network.v2019_09_01.models.IPAllocationMethod - :param private_ip_address_version: Whether the specific ipconfiguration is - IPv4 or IPv6. Default is taken as IPv4. Possible values include: 'IPv4', - 'IPv6' - :type private_ip_address_version: str or - ~azure.mgmt.network.v2019_09_01.models.IPVersion - :param subnet: The reference of the subnet resource. - :type subnet: ~azure.mgmt.network.v2019_09_01.models.Subnet - :param public_ip_address: The reference of the Public IP resource. - :type public_ip_address: - ~azure.mgmt.network.v2019_09_01.models.PublicIPAddress - :param public_ip_prefix: The reference of the Public IP Prefix resource. - :type public_ip_prefix: ~azure.mgmt.network.v2019_09_01.models.SubResource - :ivar provisioning_state: The provisioning state of the frontend IP - configuration resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param name: The name of the resource that is unique within the set of - frontend IP configurations used by the load balancer. This name can be - used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :ivar type: Type of the resource. - :vartype type: str - :param zones: A list of availability zones denoting the IP allocated for - the resource needs to come from. - :type zones: list[str] - """ - - _validation = { - 'inbound_nat_rules': {'readonly': True}, - 'inbound_nat_pools': {'readonly': True}, - 'outbound_rules': {'readonly': True}, - 'load_balancing_rules': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'inbound_nat_rules': {'key': 'properties.inboundNatRules', 'type': '[SubResource]'}, - 'inbound_nat_pools': {'key': 'properties.inboundNatPools', 'type': '[SubResource]'}, - 'outbound_rules': {'key': 'properties.outboundRules', 'type': '[SubResource]'}, - 'load_balancing_rules': {'key': 'properties.loadBalancingRules', 'type': '[SubResource]'}, - 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, - 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, - 'private_ip_address_version': {'key': 'properties.privateIPAddressVersion', 'type': 'str'}, - 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, - 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'PublicIPAddress'}, - 'public_ip_prefix': {'key': 'properties.publicIPPrefix', 'type': 'SubResource'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'zones': {'key': 'zones', 'type': '[str]'}, - } - - def __init__(self, **kwargs): - super(FrontendIPConfiguration, self).__init__(**kwargs) - self.inbound_nat_rules = None - self.inbound_nat_pools = None - self.outbound_rules = None - self.load_balancing_rules = None - self.private_ip_address = kwargs.get('private_ip_address', None) - self.private_ip_allocation_method = kwargs.get('private_ip_allocation_method', None) - self.private_ip_address_version = kwargs.get('private_ip_address_version', None) - self.subnet = kwargs.get('subnet', None) - self.public_ip_address = kwargs.get('public_ip_address', None) - self.public_ip_prefix = kwargs.get('public_ip_prefix', None) - self.provisioning_state = None - self.name = kwargs.get('name', None) - self.etag = None - self.type = None - self.zones = kwargs.get('zones', None) - - -class GatewayRoute(Model): - """Gateway routing details. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar local_address: The gateway's local address. - :vartype local_address: str - :ivar network: The route's network prefix. - :vartype network: str - :ivar next_hop: The route's next hop. - :vartype next_hop: str - :ivar source_peer: The peer this route was learned from. - :vartype source_peer: str - :ivar origin: The source this route was learned from. - :vartype origin: str - :ivar as_path: The route's AS path sequence. - :vartype as_path: str - :ivar weight: The route's weight. - :vartype weight: int - """ - - _validation = { - 'local_address': {'readonly': True}, - 'network': {'readonly': True}, - 'next_hop': {'readonly': True}, - 'source_peer': {'readonly': True}, - 'origin': {'readonly': True}, - 'as_path': {'readonly': True}, - 'weight': {'readonly': True}, - } - - _attribute_map = { - 'local_address': {'key': 'localAddress', 'type': 'str'}, - 'network': {'key': 'network', 'type': 'str'}, - 'next_hop': {'key': 'nextHop', 'type': 'str'}, - 'source_peer': {'key': 'sourcePeer', 'type': 'str'}, - 'origin': {'key': 'origin', 'type': 'str'}, - 'as_path': {'key': 'asPath', 'type': 'str'}, - 'weight': {'key': 'weight', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(GatewayRoute, self).__init__(**kwargs) - self.local_address = None - self.network = None - self.next_hop = None - self.source_peer = None - self.origin = None - self.as_path = None - self.weight = None - - -class GatewayRouteListResult(Model): - """List of virtual network gateway routes. - - :param value: List of gateway routes. - :type value: list[~azure.mgmt.network.v2019_09_01.models.GatewayRoute] - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[GatewayRoute]'}, - } - - def __init__(self, **kwargs): - super(GatewayRouteListResult, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - - -class GetVpnSitesConfigurationRequest(Model): - """List of Vpn-Sites. - - All required parameters must be populated in order to send to Azure. - - :param vpn_sites: List of resource-ids of the vpn-sites for which config - is to be downloaded. - :type vpn_sites: list[str] - :param output_blob_sas_url: Required. The sas-url to download the - configurations for vpn-sites. - :type output_blob_sas_url: str - """ - - _validation = { - 'output_blob_sas_url': {'required': True}, - } - - _attribute_map = { - 'vpn_sites': {'key': 'vpnSites', 'type': '[str]'}, - 'output_blob_sas_url': {'key': 'outputBlobSasUrl', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(GetVpnSitesConfigurationRequest, self).__init__(**kwargs) - self.vpn_sites = kwargs.get('vpn_sites', None) - self.output_blob_sas_url = kwargs.get('output_blob_sas_url', None) - - -class HTTPConfiguration(Model): - """HTTP configuration of the connectivity check. - - :param method: HTTP method. Possible values include: 'Get' - :type method: str or ~azure.mgmt.network.v2019_09_01.models.HTTPMethod - :param headers: List of HTTP headers. - :type headers: list[~azure.mgmt.network.v2019_09_01.models.HTTPHeader] - :param valid_status_codes: Valid status codes. - :type valid_status_codes: list[int] - """ - - _attribute_map = { - 'method': {'key': 'method', 'type': 'str'}, - 'headers': {'key': 'headers', 'type': '[HTTPHeader]'}, - 'valid_status_codes': {'key': 'validStatusCodes', 'type': '[int]'}, - } - - def __init__(self, **kwargs): - super(HTTPConfiguration, self).__init__(**kwargs) - self.method = kwargs.get('method', None) - self.headers = kwargs.get('headers', None) - self.valid_status_codes = kwargs.get('valid_status_codes', None) - - -class HTTPHeader(Model): - """Describes the HTTP header. - - :param name: The name in HTTP header. - :type name: str - :param value: The value in HTTP header. - :type value: str - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'value': {'key': 'value', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(HTTPHeader, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.value = kwargs.get('value', None) - - -class HubIPAddresses(Model): - """IP addresses associated with azure firewall. - - :param public_ip_addresses: List of Public IP addresses associated with - azure firewall. - :type public_ip_addresses: - list[~azure.mgmt.network.v2019_09_01.models.AzureFirewallPublicIPAddress] - :param private_ip_address: Private IP Address associated with azure - firewall. - :type private_ip_address: str - """ - - _attribute_map = { - 'public_ip_addresses': {'key': 'publicIPAddresses', 'type': '[AzureFirewallPublicIPAddress]'}, - 'private_ip_address': {'key': 'privateIPAddress', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(HubIPAddresses, self).__init__(**kwargs) - self.public_ip_addresses = kwargs.get('public_ip_addresses', None) - self.private_ip_address = kwargs.get('private_ip_address', None) - - -class HubVirtualNetworkConnection(SubResource): - """HubVirtualNetworkConnection Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param remote_virtual_network: Reference to the remote virtual network. - :type remote_virtual_network: - ~azure.mgmt.network.v2019_09_01.models.SubResource - :param allow_hub_to_remote_vnet_transit: VirtualHub to RemoteVnet transit - to enabled or not. - :type allow_hub_to_remote_vnet_transit: bool - :param allow_remote_vnet_to_use_hub_vnet_gateways: Allow RemoteVnet to use - Virtual Hub's gateways. - :type allow_remote_vnet_to_use_hub_vnet_gateways: bool - :param enable_internet_security: Enable internet security. - :type enable_internet_security: bool - :ivar provisioning_state: The provisioning state of the hub virtual - network connection resource. Possible values include: 'Succeeded', - 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'remote_virtual_network': {'key': 'properties.remoteVirtualNetwork', 'type': 'SubResource'}, - 'allow_hub_to_remote_vnet_transit': {'key': 'properties.allowHubToRemoteVnetTransit', 'type': 'bool'}, - 'allow_remote_vnet_to_use_hub_vnet_gateways': {'key': 'properties.allowRemoteVnetToUseHubVnetGateways', 'type': 'bool'}, - 'enable_internet_security': {'key': 'properties.enableInternetSecurity', 'type': 'bool'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(HubVirtualNetworkConnection, self).__init__(**kwargs) - self.remote_virtual_network = kwargs.get('remote_virtual_network', None) - self.allow_hub_to_remote_vnet_transit = kwargs.get('allow_hub_to_remote_vnet_transit', None) - self.allow_remote_vnet_to_use_hub_vnet_gateways = kwargs.get('allow_remote_vnet_to_use_hub_vnet_gateways', None) - self.enable_internet_security = kwargs.get('enable_internet_security', None) - self.provisioning_state = None - self.name = kwargs.get('name', None) - self.etag = None - - -class InboundNatPool(SubResource): - """Inbound NAT pool of the load balancer. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :param frontend_ip_configuration: A reference to frontend IP addresses. - :type frontend_ip_configuration: - ~azure.mgmt.network.v2019_09_01.models.SubResource - :param protocol: Required. The reference to the transport protocol used by - the inbound NAT pool. Possible values include: 'Udp', 'Tcp', 'All' - :type protocol: str or - ~azure.mgmt.network.v2019_09_01.models.TransportProtocol - :param frontend_port_range_start: Required. The first port number in the - range of external ports that will be used to provide Inbound Nat to NICs - associated with a load balancer. Acceptable values range between 1 and - 65534. - :type frontend_port_range_start: int - :param frontend_port_range_end: Required. The last port number in the - range of external ports that will be used to provide Inbound Nat to NICs - associated with a load balancer. Acceptable values range between 1 and - 65535. - :type frontend_port_range_end: int - :param backend_port: Required. The port used for internal connections on - the endpoint. Acceptable values are between 1 and 65535. - :type backend_port: int - :param idle_timeout_in_minutes: The timeout for the TCP idle connection. - The value can be set between 4 and 30 minutes. The default value is 4 - minutes. This element is only used when the protocol is set to TCP. - :type idle_timeout_in_minutes: int - :param enable_floating_ip: Configures a virtual machine's endpoint for the - floating IP capability required to configure a SQL AlwaysOn Availability - Group. This setting is required when using the SQL AlwaysOn Availability - Groups in SQL server. This setting can't be changed after you create the - endpoint. - :type enable_floating_ip: bool - :param enable_tcp_reset: Receive bidirectional TCP Reset on TCP flow idle - timeout or unexpected connection termination. This element is only used - when the protocol is set to TCP. - :type enable_tcp_reset: bool - :ivar provisioning_state: The provisioning state of the inbound NAT pool - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param name: The name of the resource that is unique within the set of - inbound NAT pools used by the load balancer. This name can be used to - access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :ivar type: Type of the resource. - :vartype type: str - """ - - _validation = { - 'protocol': {'required': True}, - 'frontend_port_range_start': {'required': True}, - 'frontend_port_range_end': {'required': True}, - 'backend_port': {'required': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'frontend_ip_configuration': {'key': 'properties.frontendIPConfiguration', 'type': 'SubResource'}, - 'protocol': {'key': 'properties.protocol', 'type': 'str'}, - 'frontend_port_range_start': {'key': 'properties.frontendPortRangeStart', 'type': 'int'}, - 'frontend_port_range_end': {'key': 'properties.frontendPortRangeEnd', 'type': 'int'}, - 'backend_port': {'key': 'properties.backendPort', 'type': 'int'}, - 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, - 'enable_floating_ip': {'key': 'properties.enableFloatingIP', 'type': 'bool'}, - 'enable_tcp_reset': {'key': 'properties.enableTcpReset', 'type': 'bool'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(InboundNatPool, self).__init__(**kwargs) - self.frontend_ip_configuration = kwargs.get('frontend_ip_configuration', None) - self.protocol = kwargs.get('protocol', None) - self.frontend_port_range_start = kwargs.get('frontend_port_range_start', None) - self.frontend_port_range_end = kwargs.get('frontend_port_range_end', None) - self.backend_port = kwargs.get('backend_port', None) - self.idle_timeout_in_minutes = kwargs.get('idle_timeout_in_minutes', None) - self.enable_floating_ip = kwargs.get('enable_floating_ip', None) - self.enable_tcp_reset = kwargs.get('enable_tcp_reset', None) - self.provisioning_state = None - self.name = kwargs.get('name', None) - self.etag = None - self.type = None - - -class InboundNatRule(SubResource): - """Inbound NAT rule of the load balancer. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param frontend_ip_configuration: A reference to frontend IP addresses. - :type frontend_ip_configuration: - ~azure.mgmt.network.v2019_09_01.models.SubResource - :ivar backend_ip_configuration: A reference to a private IP address - defined on a network interface of a VM. Traffic sent to the frontend port - of each of the frontend IP configurations is forwarded to the backend IP. - :vartype backend_ip_configuration: - ~azure.mgmt.network.v2019_09_01.models.NetworkInterfaceIPConfiguration - :param protocol: The reference to the transport protocol used by the load - balancing rule. Possible values include: 'Udp', 'Tcp', 'All' - :type protocol: str or - ~azure.mgmt.network.v2019_09_01.models.TransportProtocol - :param frontend_port: The port for the external endpoint. Port numbers for - each rule must be unique within the Load Balancer. Acceptable values range - from 1 to 65534. - :type frontend_port: int - :param backend_port: The port used for the internal endpoint. Acceptable - values range from 1 to 65535. - :type backend_port: int - :param idle_timeout_in_minutes: The timeout for the TCP idle connection. - The value can be set between 4 and 30 minutes. The default value is 4 - minutes. This element is only used when the protocol is set to TCP. - :type idle_timeout_in_minutes: int - :param enable_floating_ip: Configures a virtual machine's endpoint for the - floating IP capability required to configure a SQL AlwaysOn Availability - Group. This setting is required when using the SQL AlwaysOn Availability - Groups in SQL server. This setting can't be changed after you create the - endpoint. - :type enable_floating_ip: bool - :param enable_tcp_reset: Receive bidirectional TCP Reset on TCP flow idle - timeout or unexpected connection termination. This element is only used - when the protocol is set to TCP. - :type enable_tcp_reset: bool - :ivar provisioning_state: The provisioning state of the inbound NAT rule - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param name: The name of the resource that is unique within the set of - inbound NAT rules used by the load balancer. This name can be used to - access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :ivar type: Type of the resource. - :vartype type: str - """ - - _validation = { - 'backend_ip_configuration': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'frontend_ip_configuration': {'key': 'properties.frontendIPConfiguration', 'type': 'SubResource'}, - 'backend_ip_configuration': {'key': 'properties.backendIPConfiguration', 'type': 'NetworkInterfaceIPConfiguration'}, - 'protocol': {'key': 'properties.protocol', 'type': 'str'}, - 'frontend_port': {'key': 'properties.frontendPort', 'type': 'int'}, - 'backend_port': {'key': 'properties.backendPort', 'type': 'int'}, - 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, - 'enable_floating_ip': {'key': 'properties.enableFloatingIP', 'type': 'bool'}, - 'enable_tcp_reset': {'key': 'properties.enableTcpReset', 'type': 'bool'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(InboundNatRule, self).__init__(**kwargs) - self.frontend_ip_configuration = kwargs.get('frontend_ip_configuration', None) - self.backend_ip_configuration = None - self.protocol = kwargs.get('protocol', None) - self.frontend_port = kwargs.get('frontend_port', None) - self.backend_port = kwargs.get('backend_port', None) - self.idle_timeout_in_minutes = kwargs.get('idle_timeout_in_minutes', None) - self.enable_floating_ip = kwargs.get('enable_floating_ip', None) - self.enable_tcp_reset = kwargs.get('enable_tcp_reset', None) - self.provisioning_state = None - self.name = kwargs.get('name', None) - self.etag = None - self.type = None - - -class IPAddressAvailabilityResult(Model): - """Response for CheckIPAddressAvailability API service call. - - :param available: Private IP address availability. - :type available: bool - :param available_ip_addresses: Contains other available private IP - addresses if the asked for address is taken. - :type available_ip_addresses: list[str] - """ - - _attribute_map = { - 'available': {'key': 'available', 'type': 'bool'}, - 'available_ip_addresses': {'key': 'availableIPAddresses', 'type': '[str]'}, - } - - def __init__(self, **kwargs): - super(IPAddressAvailabilityResult, self).__init__(**kwargs) - self.available = kwargs.get('available', None) - self.available_ip_addresses = kwargs.get('available_ip_addresses', None) - - -class IPConfiguration(SubResource): - """IP configuration. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param private_ip_address: The private IP address of the IP configuration. - :type private_ip_address: str - :param private_ip_allocation_method: The private IP address allocation - method. Possible values include: 'Static', 'Dynamic' - :type private_ip_allocation_method: str or - ~azure.mgmt.network.v2019_09_01.models.IPAllocationMethod - :param subnet: The reference of the subnet resource. - :type subnet: ~azure.mgmt.network.v2019_09_01.models.Subnet - :param public_ip_address: The reference of the public IP resource. - :type public_ip_address: - ~azure.mgmt.network.v2019_09_01.models.PublicIPAddress - :ivar provisioning_state: The provisioning state of the IP configuration - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, - 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, - 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, - 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'PublicIPAddress'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(IPConfiguration, self).__init__(**kwargs) - self.private_ip_address = kwargs.get('private_ip_address', None) - self.private_ip_allocation_method = kwargs.get('private_ip_allocation_method', None) - self.subnet = kwargs.get('subnet', None) - self.public_ip_address = kwargs.get('public_ip_address', None) - self.provisioning_state = None - self.name = kwargs.get('name', None) - self.etag = None - - -class IPConfigurationProfile(SubResource): - """IP configuration profile child resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param subnet: The reference of the subnet resource to create a container - network interface ip configuration. - :type subnet: ~azure.mgmt.network.v2019_09_01.models.Subnet - :ivar provisioning_state: The provisioning state of the IP configuration - profile resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param name: The name of the resource. This name can be used to access the - resource. - :type name: str - :ivar type: Sub Resource type. - :vartype type: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'type': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(IPConfigurationProfile, self).__init__(**kwargs) - self.subnet = kwargs.get('subnet', None) - self.provisioning_state = None - self.name = kwargs.get('name', None) - self.type = None - self.etag = None - - -class IpGroup(Resource): - """The IpGroups resource information. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :ivar provisioning_state: The provisioning state of the IpGroups resource. - Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param ip_addresses: IpAddresses/IpAddressPrefixes in the IpGroups - resource. - :type ip_addresses: list[str] - :ivar firewalls: List of references to Azure resources that this IpGroups - is associated with - :vartype firewalls: - list[~azure.mgmt.network.v2019_09_01.models.SubResource] - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'firewalls': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'ip_addresses': {'key': 'properties.ipAddresses', 'type': '[str]'}, - 'firewalls': {'key': 'properties.firewalls', 'type': '[SubResource]'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(IpGroup, self).__init__(**kwargs) - self.provisioning_state = None - self.ip_addresses = kwargs.get('ip_addresses', None) - self.firewalls = None - self.etag = None - - -class IpsecPolicy(Model): - """An IPSec Policy configuration for a virtual network gateway connection. - - All required parameters must be populated in order to send to Azure. - - :param sa_life_time_seconds: Required. The IPSec Security Association - (also called Quick Mode or Phase 2 SA) lifetime in seconds for a site to - site VPN tunnel. - :type sa_life_time_seconds: int - :param sa_data_size_kilobytes: Required. The IPSec Security Association - (also called Quick Mode or Phase 2 SA) payload size in KB for a site to - site VPN tunnel. - :type sa_data_size_kilobytes: int - :param ipsec_encryption: Required. The IPSec encryption algorithm (IKE - phase 1). Possible values include: 'None', 'DES', 'DES3', 'AES128', - 'AES192', 'AES256', 'GCMAES128', 'GCMAES192', 'GCMAES256' - :type ipsec_encryption: str or - ~azure.mgmt.network.v2019_09_01.models.IpsecEncryption - :param ipsec_integrity: Required. The IPSec integrity algorithm (IKE phase - 1). Possible values include: 'MD5', 'SHA1', 'SHA256', 'GCMAES128', - 'GCMAES192', 'GCMAES256' - :type ipsec_integrity: str or - ~azure.mgmt.network.v2019_09_01.models.IpsecIntegrity - :param ike_encryption: Required. The IKE encryption algorithm (IKE phase - 2). Possible values include: 'DES', 'DES3', 'AES128', 'AES192', 'AES256', - 'GCMAES256', 'GCMAES128' - :type ike_encryption: str or - ~azure.mgmt.network.v2019_09_01.models.IkeEncryption - :param ike_integrity: Required. The IKE integrity algorithm (IKE phase 2). - Possible values include: 'MD5', 'SHA1', 'SHA256', 'SHA384', 'GCMAES256', - 'GCMAES128' - :type ike_integrity: str or - ~azure.mgmt.network.v2019_09_01.models.IkeIntegrity - :param dh_group: Required. The DH Group used in IKE Phase 1 for initial - SA. Possible values include: 'None', 'DHGroup1', 'DHGroup2', 'DHGroup14', - 'DHGroup2048', 'ECP256', 'ECP384', 'DHGroup24' - :type dh_group: str or ~azure.mgmt.network.v2019_09_01.models.DhGroup - :param pfs_group: Required. The Pfs Group used in IKE Phase 2 for new - child SA. Possible values include: 'None', 'PFS1', 'PFS2', 'PFS2048', - 'ECP256', 'ECP384', 'PFS24', 'PFS14', 'PFSMM' - :type pfs_group: str or ~azure.mgmt.network.v2019_09_01.models.PfsGroup - """ - - _validation = { - 'sa_life_time_seconds': {'required': True}, - 'sa_data_size_kilobytes': {'required': True}, - 'ipsec_encryption': {'required': True}, - 'ipsec_integrity': {'required': True}, - 'ike_encryption': {'required': True}, - 'ike_integrity': {'required': True}, - 'dh_group': {'required': True}, - 'pfs_group': {'required': True}, - } - - _attribute_map = { - 'sa_life_time_seconds': {'key': 'saLifeTimeSeconds', 'type': 'int'}, - 'sa_data_size_kilobytes': {'key': 'saDataSizeKilobytes', 'type': 'int'}, - 'ipsec_encryption': {'key': 'ipsecEncryption', 'type': 'str'}, - 'ipsec_integrity': {'key': 'ipsecIntegrity', 'type': 'str'}, - 'ike_encryption': {'key': 'ikeEncryption', 'type': 'str'}, - 'ike_integrity': {'key': 'ikeIntegrity', 'type': 'str'}, - 'dh_group': {'key': 'dhGroup', 'type': 'str'}, - 'pfs_group': {'key': 'pfsGroup', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(IpsecPolicy, self).__init__(**kwargs) - self.sa_life_time_seconds = kwargs.get('sa_life_time_seconds', None) - self.sa_data_size_kilobytes = kwargs.get('sa_data_size_kilobytes', None) - self.ipsec_encryption = kwargs.get('ipsec_encryption', None) - self.ipsec_integrity = kwargs.get('ipsec_integrity', None) - self.ike_encryption = kwargs.get('ike_encryption', None) - self.ike_integrity = kwargs.get('ike_integrity', None) - self.dh_group = kwargs.get('dh_group', None) - self.pfs_group = kwargs.get('pfs_group', None) - - -class IpTag(Model): - """Contains the IpTag associated with the object. - - :param ip_tag_type: The IP tag type. Example: FirstPartyUsage. - :type ip_tag_type: str - :param tag: The value of the IP tag associated with the public IP. - Example: SQL. - :type tag: str - """ - - _attribute_map = { - 'ip_tag_type': {'key': 'ipTagType', 'type': 'str'}, - 'tag': {'key': 'tag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(IpTag, self).__init__(**kwargs) - self.ip_tag_type = kwargs.get('ip_tag_type', None) - self.tag = kwargs.get('tag', None) - - -class Ipv6ExpressRouteCircuitPeeringConfig(Model): - """Contains IPv6 peering config. - - :param primary_peer_address_prefix: The primary address prefix. - :type primary_peer_address_prefix: str - :param secondary_peer_address_prefix: The secondary address prefix. - :type secondary_peer_address_prefix: str - :param microsoft_peering_config: The Microsoft peering configuration. - :type microsoft_peering_config: - ~azure.mgmt.network.v2019_09_01.models.ExpressRouteCircuitPeeringConfig - :param route_filter: The reference of the RouteFilter resource. - :type route_filter: ~azure.mgmt.network.v2019_09_01.models.SubResource - :param state: The state of peering. Possible values include: 'Disabled', - 'Enabled' - :type state: str or - ~azure.mgmt.network.v2019_09_01.models.ExpressRouteCircuitPeeringState - """ - - _attribute_map = { - 'primary_peer_address_prefix': {'key': 'primaryPeerAddressPrefix', 'type': 'str'}, - 'secondary_peer_address_prefix': {'key': 'secondaryPeerAddressPrefix', 'type': 'str'}, - 'microsoft_peering_config': {'key': 'microsoftPeeringConfig', 'type': 'ExpressRouteCircuitPeeringConfig'}, - 'route_filter': {'key': 'routeFilter', 'type': 'SubResource'}, - 'state': {'key': 'state', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(Ipv6ExpressRouteCircuitPeeringConfig, self).__init__(**kwargs) - self.primary_peer_address_prefix = kwargs.get('primary_peer_address_prefix', None) - self.secondary_peer_address_prefix = kwargs.get('secondary_peer_address_prefix', None) - self.microsoft_peering_config = kwargs.get('microsoft_peering_config', None) - self.route_filter = kwargs.get('route_filter', None) - self.state = kwargs.get('state', None) - - -class LoadBalancer(Resource): - """LoadBalancer resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param sku: The load balancer SKU. - :type sku: ~azure.mgmt.network.v2019_09_01.models.LoadBalancerSku - :param frontend_ip_configurations: Object representing the frontend IPs to - be used for the load balancer. - :type frontend_ip_configurations: - list[~azure.mgmt.network.v2019_09_01.models.FrontendIPConfiguration] - :param backend_address_pools: Collection of backend address pools used by - a load balancer. - :type backend_address_pools: - list[~azure.mgmt.network.v2019_09_01.models.BackendAddressPool] - :param load_balancing_rules: Object collection representing the load - balancing rules Gets the provisioning. - :type load_balancing_rules: - list[~azure.mgmt.network.v2019_09_01.models.LoadBalancingRule] - :param probes: Collection of probe objects used in the load balancer. - :type probes: list[~azure.mgmt.network.v2019_09_01.models.Probe] - :param inbound_nat_rules: Collection of inbound NAT Rules used by a load - balancer. Defining inbound NAT rules on your load balancer is mutually - exclusive with defining an inbound NAT pool. Inbound NAT pools are - referenced from virtual machine scale sets. NICs that are associated with - individual virtual machines cannot reference an Inbound NAT pool. They - have to reference individual inbound NAT rules. - :type inbound_nat_rules: - list[~azure.mgmt.network.v2019_09_01.models.InboundNatRule] - :param inbound_nat_pools: Defines an external port range for inbound NAT - to a single backend port on NICs associated with a load balancer. Inbound - NAT rules are created automatically for each NIC associated with the Load - Balancer using an external port from this range. Defining an Inbound NAT - pool on your Load Balancer is mutually exclusive with defining inbound Nat - rules. Inbound NAT pools are referenced from virtual machine scale sets. - NICs that are associated with individual virtual machines cannot reference - an inbound NAT pool. They have to reference individual inbound NAT rules. - :type inbound_nat_pools: - list[~azure.mgmt.network.v2019_09_01.models.InboundNatPool] - :param outbound_rules: The outbound rules. - :type outbound_rules: - list[~azure.mgmt.network.v2019_09_01.models.OutboundRule] - :ivar resource_guid: The resource GUID property of the load balancer - resource. - :vartype resource_guid: str - :ivar provisioning_state: The provisioning state of the load balancer - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'resource_guid': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'sku': {'key': 'sku', 'type': 'LoadBalancerSku'}, - 'frontend_ip_configurations': {'key': 'properties.frontendIPConfigurations', 'type': '[FrontendIPConfiguration]'}, - 'backend_address_pools': {'key': 'properties.backendAddressPools', 'type': '[BackendAddressPool]'}, - 'load_balancing_rules': {'key': 'properties.loadBalancingRules', 'type': '[LoadBalancingRule]'}, - 'probes': {'key': 'properties.probes', 'type': '[Probe]'}, - 'inbound_nat_rules': {'key': 'properties.inboundNatRules', 'type': '[InboundNatRule]'}, - 'inbound_nat_pools': {'key': 'properties.inboundNatPools', 'type': '[InboundNatPool]'}, - 'outbound_rules': {'key': 'properties.outboundRules', 'type': '[OutboundRule]'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(LoadBalancer, self).__init__(**kwargs) - self.sku = kwargs.get('sku', None) - self.frontend_ip_configurations = kwargs.get('frontend_ip_configurations', None) - self.backend_address_pools = kwargs.get('backend_address_pools', None) - self.load_balancing_rules = kwargs.get('load_balancing_rules', None) - self.probes = kwargs.get('probes', None) - self.inbound_nat_rules = kwargs.get('inbound_nat_rules', None) - self.inbound_nat_pools = kwargs.get('inbound_nat_pools', None) - self.outbound_rules = kwargs.get('outbound_rules', None) - self.resource_guid = None - self.provisioning_state = None - self.etag = None - - -class LoadBalancerSku(Model): - """SKU of a load balancer. - - :param name: Name of a load balancer SKU. Possible values include: - 'Basic', 'Standard' - :type name: str or - ~azure.mgmt.network.v2019_09_01.models.LoadBalancerSkuName - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(LoadBalancerSku, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - - -class LoadBalancingRule(SubResource): - """A load balancing rule for a load balancer. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :param frontend_ip_configuration: A reference to frontend IP addresses. - :type frontend_ip_configuration: - ~azure.mgmt.network.v2019_09_01.models.SubResource - :param backend_address_pool: A reference to a pool of DIPs. Inbound - traffic is randomly load balanced across IPs in the backend IPs. - :type backend_address_pool: - ~azure.mgmt.network.v2019_09_01.models.SubResource - :param probe: The reference of the load balancer probe used by the load - balancing rule. - :type probe: ~azure.mgmt.network.v2019_09_01.models.SubResource - :param protocol: Required. The reference to the transport protocol used by - the load balancing rule. Possible values include: 'Udp', 'Tcp', 'All' - :type protocol: str or - ~azure.mgmt.network.v2019_09_01.models.TransportProtocol - :param load_distribution: The load distribution policy for this rule. - Possible values include: 'Default', 'SourceIP', 'SourceIPProtocol' - :type load_distribution: str or - ~azure.mgmt.network.v2019_09_01.models.LoadDistribution - :param frontend_port: Required. The port for the external endpoint. Port - numbers for each rule must be unique within the Load Balancer. Acceptable - values are between 0 and 65534. Note that value 0 enables "Any Port". - :type frontend_port: int - :param backend_port: The port used for internal connections on the - endpoint. Acceptable values are between 0 and 65535. Note that value 0 - enables "Any Port". - :type backend_port: int - :param idle_timeout_in_minutes: The timeout for the TCP idle connection. - The value can be set between 4 and 30 minutes. The default value is 4 - minutes. This element is only used when the protocol is set to TCP. - :type idle_timeout_in_minutes: int - :param enable_floating_ip: Configures a virtual machine's endpoint for the - floating IP capability required to configure a SQL AlwaysOn Availability - Group. This setting is required when using the SQL AlwaysOn Availability - Groups in SQL server. This setting can't be changed after you create the - endpoint. - :type enable_floating_ip: bool - :param enable_tcp_reset: Receive bidirectional TCP Reset on TCP flow idle - timeout or unexpected connection termination. This element is only used - when the protocol is set to TCP. - :type enable_tcp_reset: bool - :param disable_outbound_snat: Configures SNAT for the VMs in the backend - pool to use the publicIP address specified in the frontend of the load - balancing rule. - :type disable_outbound_snat: bool - :ivar provisioning_state: The provisioning state of the load balancing - rule resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param name: The name of the resource that is unique within the set of - load balancing rules used by the load balancer. This name can be used to - access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :ivar type: Type of the resource. - :vartype type: str - """ - - _validation = { - 'protocol': {'required': True}, - 'frontend_port': {'required': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'frontend_ip_configuration': {'key': 'properties.frontendIPConfiguration', 'type': 'SubResource'}, - 'backend_address_pool': {'key': 'properties.backendAddressPool', 'type': 'SubResource'}, - 'probe': {'key': 'properties.probe', 'type': 'SubResource'}, - 'protocol': {'key': 'properties.protocol', 'type': 'str'}, - 'load_distribution': {'key': 'properties.loadDistribution', 'type': 'str'}, - 'frontend_port': {'key': 'properties.frontendPort', 'type': 'int'}, - 'backend_port': {'key': 'properties.backendPort', 'type': 'int'}, - 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, - 'enable_floating_ip': {'key': 'properties.enableFloatingIP', 'type': 'bool'}, - 'enable_tcp_reset': {'key': 'properties.enableTcpReset', 'type': 'bool'}, - 'disable_outbound_snat': {'key': 'properties.disableOutboundSnat', 'type': 'bool'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(LoadBalancingRule, self).__init__(**kwargs) - self.frontend_ip_configuration = kwargs.get('frontend_ip_configuration', None) - self.backend_address_pool = kwargs.get('backend_address_pool', None) - self.probe = kwargs.get('probe', None) - self.protocol = kwargs.get('protocol', None) - self.load_distribution = kwargs.get('load_distribution', None) - self.frontend_port = kwargs.get('frontend_port', None) - self.backend_port = kwargs.get('backend_port', None) - self.idle_timeout_in_minutes = kwargs.get('idle_timeout_in_minutes', None) - self.enable_floating_ip = kwargs.get('enable_floating_ip', None) - self.enable_tcp_reset = kwargs.get('enable_tcp_reset', None) - self.disable_outbound_snat = kwargs.get('disable_outbound_snat', None) - self.provisioning_state = None - self.name = kwargs.get('name', None) - self.etag = None - self.type = None - - -class LocalNetworkGateway(Resource): - """A common class for general resource information. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param local_network_address_space: Local network site address space. - :type local_network_address_space: - ~azure.mgmt.network.v2019_09_01.models.AddressSpace - :param gateway_ip_address: IP address of local network gateway. - :type gateway_ip_address: str - :param bgp_settings: Local network gateway's BGP speaker settings. - :type bgp_settings: ~azure.mgmt.network.v2019_09_01.models.BgpSettings - :ivar resource_guid: The resource GUID property of the local network - gateway resource. - :vartype resource_guid: str - :ivar provisioning_state: The provisioning state of the local network - gateway resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'resource_guid': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'local_network_address_space': {'key': 'properties.localNetworkAddressSpace', 'type': 'AddressSpace'}, - 'gateway_ip_address': {'key': 'properties.gatewayIpAddress', 'type': 'str'}, - 'bgp_settings': {'key': 'properties.bgpSettings', 'type': 'BgpSettings'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(LocalNetworkGateway, self).__init__(**kwargs) - self.local_network_address_space = kwargs.get('local_network_address_space', None) - self.gateway_ip_address = kwargs.get('gateway_ip_address', None) - self.bgp_settings = kwargs.get('bgp_settings', None) - self.resource_guid = None - self.provisioning_state = None - self.etag = None - - -class LogSpecification(Model): - """Description of logging specification. - - :param name: The name of the specification. - :type name: str - :param display_name: The display name of the specification. - :type display_name: str - :param blob_duration: Duration of the blob. - :type blob_duration: str - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'display_name': {'key': 'displayName', 'type': 'str'}, - 'blob_duration': {'key': 'blobDuration', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(LogSpecification, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.display_name = kwargs.get('display_name', None) - self.blob_duration = kwargs.get('blob_duration', None) - - -class ManagedRuleGroupOverride(Model): - """Defines a managed rule group override setting. - - All required parameters must be populated in order to send to Azure. - - :param rule_group_name: Required. Describes the managed rule group to - override. - :type rule_group_name: str - :param rules: List of rules that will be disabled. If none specified, all - rules in the group will be disabled. - :type rules: - list[~azure.mgmt.network.v2019_09_01.models.ManagedRuleOverride] - """ - - _validation = { - 'rule_group_name': {'required': True}, - } - - _attribute_map = { - 'rule_group_name': {'key': 'ruleGroupName', 'type': 'str'}, - 'rules': {'key': 'rules', 'type': '[ManagedRuleOverride]'}, - } - - def __init__(self, **kwargs): - super(ManagedRuleGroupOverride, self).__init__(**kwargs) - self.rule_group_name = kwargs.get('rule_group_name', None) - self.rules = kwargs.get('rules', None) - - -class ManagedRuleOverride(Model): - """Defines a managed rule group override setting. - - All required parameters must be populated in order to send to Azure. - - :param rule_id: Required. Identifier for the managed rule. - :type rule_id: str - :param state: Describes the state of the managed rule. Defaults to - Disabled if not specified. Possible values include: 'Disabled' - :type state: str or - ~azure.mgmt.network.v2019_09_01.models.ManagedRuleEnabledState - """ - - _validation = { - 'rule_id': {'required': True}, - } - - _attribute_map = { - 'rule_id': {'key': 'ruleId', 'type': 'str'}, - 'state': {'key': 'state', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ManagedRuleOverride, self).__init__(**kwargs) - self.rule_id = kwargs.get('rule_id', None) - self.state = kwargs.get('state', None) - - -class ManagedRulesDefinition(Model): - """Allow to exclude some variable satisfy the condition for the WAF check. - - All required parameters must be populated in order to send to Azure. - - :param exclusions: Describes the Exclusions that are applied on the - policy. - :type exclusions: - list[~azure.mgmt.network.v2019_09_01.models.OwaspCrsExclusionEntry] - :param managed_rule_sets: Required. Describes the ruleSets that are - associated with the policy. - :type managed_rule_sets: - list[~azure.mgmt.network.v2019_09_01.models.ManagedRuleSet] - """ - - _validation = { - 'managed_rule_sets': {'required': True}, - } - - _attribute_map = { - 'exclusions': {'key': 'exclusions', 'type': '[OwaspCrsExclusionEntry]'}, - 'managed_rule_sets': {'key': 'managedRuleSets', 'type': '[ManagedRuleSet]'}, - } - - def __init__(self, **kwargs): - super(ManagedRulesDefinition, self).__init__(**kwargs) - self.exclusions = kwargs.get('exclusions', None) - self.managed_rule_sets = kwargs.get('managed_rule_sets', None) - - -class ManagedRuleSet(Model): - """Defines a managed rule set. - - All required parameters must be populated in order to send to Azure. - - :param rule_set_type: Required. Defines the rule set type to use. - :type rule_set_type: str - :param rule_set_version: Required. Defines the version of the rule set to - use. - :type rule_set_version: str - :param rule_group_overrides: Defines the rule group overrides to apply to - the rule set. - :type rule_group_overrides: - list[~azure.mgmt.network.v2019_09_01.models.ManagedRuleGroupOverride] - """ - - _validation = { - 'rule_set_type': {'required': True}, - 'rule_set_version': {'required': True}, - } - - _attribute_map = { - 'rule_set_type': {'key': 'ruleSetType', 'type': 'str'}, - 'rule_set_version': {'key': 'ruleSetVersion', 'type': 'str'}, - 'rule_group_overrides': {'key': 'ruleGroupOverrides', 'type': '[ManagedRuleGroupOverride]'}, - } - - def __init__(self, **kwargs): - super(ManagedRuleSet, self).__init__(**kwargs) - self.rule_set_type = kwargs.get('rule_set_type', None) - self.rule_set_version = kwargs.get('rule_set_version', None) - self.rule_group_overrides = kwargs.get('rule_group_overrides', None) - - -class ManagedServiceIdentity(Model): - """Identity for the resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar principal_id: The principal id of the system assigned identity. This - property will only be provided for a system assigned identity. - :vartype principal_id: str - :ivar tenant_id: The tenant id of the system assigned identity. This - property will only be provided for a system assigned identity. - :vartype tenant_id: str - :param type: The type of identity used for the resource. The type - 'SystemAssigned, UserAssigned' includes both an implicitly created - identity and a set of user assigned identities. The type 'None' will - remove any identities from the virtual machine. Possible values include: - 'SystemAssigned', 'UserAssigned', 'SystemAssigned, UserAssigned', 'None' - :type type: str or - ~azure.mgmt.network.v2019_09_01.models.ResourceIdentityType - :param user_assigned_identities: The list of user identities associated - with resource. The user identity dictionary key references will be ARM - resource ids in the form: - '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. - :type user_assigned_identities: dict[str, - ~azure.mgmt.network.v2019_09_01.models.ManagedServiceIdentityUserAssignedIdentitiesValue] - """ - - _validation = { - 'principal_id': {'readonly': True}, - 'tenant_id': {'readonly': True}, - } - - _attribute_map = { - 'principal_id': {'key': 'principalId', 'type': 'str'}, - 'tenant_id': {'key': 'tenantId', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'ResourceIdentityType'}, - 'user_assigned_identities': {'key': 'userAssignedIdentities', 'type': '{ManagedServiceIdentityUserAssignedIdentitiesValue}'}, - } - - def __init__(self, **kwargs): - super(ManagedServiceIdentity, self).__init__(**kwargs) - self.principal_id = None - self.tenant_id = None - self.type = kwargs.get('type', None) - self.user_assigned_identities = kwargs.get('user_assigned_identities', None) - - -class ManagedServiceIdentityUserAssignedIdentitiesValue(Model): - """ManagedServiceIdentityUserAssignedIdentitiesValue. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar principal_id: The principal id of user assigned identity. - :vartype principal_id: str - :ivar client_id: The client id of user assigned identity. - :vartype client_id: str - """ - - _validation = { - 'principal_id': {'readonly': True}, - 'client_id': {'readonly': True}, - } - - _attribute_map = { - 'principal_id': {'key': 'principalId', 'type': 'str'}, - 'client_id': {'key': 'clientId', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ManagedServiceIdentityUserAssignedIdentitiesValue, self).__init__(**kwargs) - self.principal_id = None - self.client_id = None - - -class MatchCondition(Model): - """Define match conditions. - - All required parameters must be populated in order to send to Azure. - - :param match_variables: Required. List of match variables. - :type match_variables: - list[~azure.mgmt.network.v2019_09_01.models.MatchVariable] - :param operator: Required. Describes operator to be matched. Possible - values include: 'IPMatch', 'Equal', 'Contains', 'LessThan', 'GreaterThan', - 'LessThanOrEqual', 'GreaterThanOrEqual', 'BeginsWith', 'EndsWith', - 'Regex', 'GeoMatch' - :type operator: str or - ~azure.mgmt.network.v2019_09_01.models.WebApplicationFirewallOperator - :param negation_conditon: Describes if this is negate condition or not. - :type negation_conditon: bool - :param match_values: Required. Match value. - :type match_values: list[str] - :param transforms: List of transforms. - :type transforms: list[str or - ~azure.mgmt.network.v2019_09_01.models.WebApplicationFirewallTransform] - """ - - _validation = { - 'match_variables': {'required': True}, - 'operator': {'required': True}, - 'match_values': {'required': True}, - } - - _attribute_map = { - 'match_variables': {'key': 'matchVariables', 'type': '[MatchVariable]'}, - 'operator': {'key': 'operator', 'type': 'str'}, - 'negation_conditon': {'key': 'negationConditon', 'type': 'bool'}, - 'match_values': {'key': 'matchValues', 'type': '[str]'}, - 'transforms': {'key': 'transforms', 'type': '[str]'}, - } - - def __init__(self, **kwargs): - super(MatchCondition, self).__init__(**kwargs) - self.match_variables = kwargs.get('match_variables', None) - self.operator = kwargs.get('operator', None) - self.negation_conditon = kwargs.get('negation_conditon', None) - self.match_values = kwargs.get('match_values', None) - self.transforms = kwargs.get('transforms', None) - - -class MatchedRule(Model): - """Matched rule. - - :param rule_name: Name of the matched network security rule. - :type rule_name: str - :param action: The network traffic is allowed or denied. Possible values - are 'Allow' and 'Deny'. - :type action: str - """ - - _attribute_map = { - 'rule_name': {'key': 'ruleName', 'type': 'str'}, - 'action': {'key': 'action', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(MatchedRule, self).__init__(**kwargs) - self.rule_name = kwargs.get('rule_name', None) - self.action = kwargs.get('action', None) - - -class MatchVariable(Model): - """Define match variables. - - All required parameters must be populated in order to send to Azure. - - :param variable_name: Required. Match Variable. Possible values include: - 'RemoteAddr', 'RequestMethod', 'QueryString', 'PostArgs', 'RequestUri', - 'RequestHeaders', 'RequestBody', 'RequestCookies' - :type variable_name: str or - ~azure.mgmt.network.v2019_09_01.models.WebApplicationFirewallMatchVariable - :param selector: Describes field of the matchVariable collection. - :type selector: str - """ - - _validation = { - 'variable_name': {'required': True}, - } - - _attribute_map = { - 'variable_name': {'key': 'variableName', 'type': 'str'}, - 'selector': {'key': 'selector', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(MatchVariable, self).__init__(**kwargs) - self.variable_name = kwargs.get('variable_name', None) - self.selector = kwargs.get('selector', None) - - -class MetricSpecification(Model): - """Description of metrics specification. - - :param name: The name of the metric. - :type name: str - :param display_name: The display name of the metric. - :type display_name: str - :param display_description: The description of the metric. - :type display_description: str - :param unit: Units the metric to be displayed in. - :type unit: str - :param aggregation_type: The aggregation type. - :type aggregation_type: str - :param availabilities: List of availability. - :type availabilities: - list[~azure.mgmt.network.v2019_09_01.models.Availability] - :param enable_regional_mdm_account: Whether regional MDM account enabled. - :type enable_regional_mdm_account: bool - :param fill_gap_with_zero: Whether gaps would be filled with zeros. - :type fill_gap_with_zero: bool - :param metric_filter_pattern: Pattern for the filter of the metric. - :type metric_filter_pattern: str - :param dimensions: List of dimensions. - :type dimensions: list[~azure.mgmt.network.v2019_09_01.models.Dimension] - :param is_internal: Whether the metric is internal. - :type is_internal: bool - :param source_mdm_account: The source MDM account. - :type source_mdm_account: str - :param source_mdm_namespace: The source MDM namespace. - :type source_mdm_namespace: str - :param resource_id_dimension_name_override: The resource Id dimension name - override. - :type resource_id_dimension_name_override: str - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'display_name': {'key': 'displayName', 'type': 'str'}, - 'display_description': {'key': 'displayDescription', 'type': 'str'}, - 'unit': {'key': 'unit', 'type': 'str'}, - 'aggregation_type': {'key': 'aggregationType', 'type': 'str'}, - 'availabilities': {'key': 'availabilities', 'type': '[Availability]'}, - 'enable_regional_mdm_account': {'key': 'enableRegionalMdmAccount', 'type': 'bool'}, - 'fill_gap_with_zero': {'key': 'fillGapWithZero', 'type': 'bool'}, - 'metric_filter_pattern': {'key': 'metricFilterPattern', 'type': 'str'}, - 'dimensions': {'key': 'dimensions', 'type': '[Dimension]'}, - 'is_internal': {'key': 'isInternal', 'type': 'bool'}, - 'source_mdm_account': {'key': 'sourceMdmAccount', 'type': 'str'}, - 'source_mdm_namespace': {'key': 'sourceMdmNamespace', 'type': 'str'}, - 'resource_id_dimension_name_override': {'key': 'resourceIdDimensionNameOverride', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(MetricSpecification, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.display_name = kwargs.get('display_name', None) - self.display_description = kwargs.get('display_description', None) - self.unit = kwargs.get('unit', None) - self.aggregation_type = kwargs.get('aggregation_type', None) - self.availabilities = kwargs.get('availabilities', None) - self.enable_regional_mdm_account = kwargs.get('enable_regional_mdm_account', None) - self.fill_gap_with_zero = kwargs.get('fill_gap_with_zero', None) - self.metric_filter_pattern = kwargs.get('metric_filter_pattern', None) - self.dimensions = kwargs.get('dimensions', None) - self.is_internal = kwargs.get('is_internal', None) - self.source_mdm_account = kwargs.get('source_mdm_account', None) - self.source_mdm_namespace = kwargs.get('source_mdm_namespace', None) - self.resource_id_dimension_name_override = kwargs.get('resource_id_dimension_name_override', None) - - -class NatGateway(Resource): - """Nat Gateway resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param sku: The nat gateway SKU. - :type sku: ~azure.mgmt.network.v2019_09_01.models.NatGatewaySku - :param idle_timeout_in_minutes: The idle timeout of the nat gateway. - :type idle_timeout_in_minutes: int - :param public_ip_addresses: An array of public ip addresses associated - with the nat gateway resource. - :type public_ip_addresses: - list[~azure.mgmt.network.v2019_09_01.models.SubResource] - :param public_ip_prefixes: An array of public ip prefixes associated with - the nat gateway resource. - :type public_ip_prefixes: - list[~azure.mgmt.network.v2019_09_01.models.SubResource] - :ivar subnets: An array of references to the subnets using this nat - gateway resource. - :vartype subnets: list[~azure.mgmt.network.v2019_09_01.models.SubResource] - :ivar resource_guid: The resource GUID property of the NAT gateway - resource. - :vartype resource_guid: str - :ivar provisioning_state: The provisioning state of the NAT gateway - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param zones: A list of availability zones denoting the zone in which Nat - Gateway should be deployed. - :type zones: list[str] - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'subnets': {'readonly': True}, - 'resource_guid': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'sku': {'key': 'sku', 'type': 'NatGatewaySku'}, - 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, - 'public_ip_addresses': {'key': 'properties.publicIpAddresses', 'type': '[SubResource]'}, - 'public_ip_prefixes': {'key': 'properties.publicIpPrefixes', 'type': '[SubResource]'}, - 'subnets': {'key': 'properties.subnets', 'type': '[SubResource]'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'zones': {'key': 'zones', 'type': '[str]'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(NatGateway, self).__init__(**kwargs) - self.sku = kwargs.get('sku', None) - self.idle_timeout_in_minutes = kwargs.get('idle_timeout_in_minutes', None) - self.public_ip_addresses = kwargs.get('public_ip_addresses', None) - self.public_ip_prefixes = kwargs.get('public_ip_prefixes', None) - self.subnets = None - self.resource_guid = None - self.provisioning_state = None - self.zones = kwargs.get('zones', None) - self.etag = None - - -class NatGatewaySku(Model): - """SKU of nat gateway. - - :param name: Name of Nat Gateway SKU. Possible values include: 'Standard' - :type name: str or - ~azure.mgmt.network.v2019_09_01.models.NatGatewaySkuName - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(NatGatewaySku, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - - -class NetworkConfigurationDiagnosticParameters(Model): - """Parameters to get network configuration diagnostic. - - All required parameters must be populated in order to send to Azure. - - :param target_resource_id: Required. The ID of the target resource to - perform network configuration diagnostic. Valid options are VM, - NetworkInterface, VMSS/NetworkInterface and Application Gateway. - :type target_resource_id: str - :param verbosity_level: Verbosity level. Possible values include: - 'Normal', 'Minimum', 'Full' - :type verbosity_level: str or - ~azure.mgmt.network.v2019_09_01.models.VerbosityLevel - :param profiles: Required. List of network configuration diagnostic - profiles. - :type profiles: - list[~azure.mgmt.network.v2019_09_01.models.NetworkConfigurationDiagnosticProfile] - """ - - _validation = { - 'target_resource_id': {'required': True}, - 'profiles': {'required': True}, - } - - _attribute_map = { - 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, - 'verbosity_level': {'key': 'verbosityLevel', 'type': 'str'}, - 'profiles': {'key': 'profiles', 'type': '[NetworkConfigurationDiagnosticProfile]'}, - } - - def __init__(self, **kwargs): - super(NetworkConfigurationDiagnosticParameters, self).__init__(**kwargs) - self.target_resource_id = kwargs.get('target_resource_id', None) - self.verbosity_level = kwargs.get('verbosity_level', None) - self.profiles = kwargs.get('profiles', None) - - -class NetworkConfigurationDiagnosticProfile(Model): - """Parameters to compare with network configuration. - - All required parameters must be populated in order to send to Azure. - - :param direction: Required. The direction of the traffic. Possible values - include: 'Inbound', 'Outbound' - :type direction: str or ~azure.mgmt.network.v2019_09_01.models.Direction - :param protocol: Required. Protocol to be verified on. Accepted values are - '*', TCP, UDP. - :type protocol: str - :param source: Required. Traffic source. Accepted values are '*', IP - Address/CIDR, Service Tag. - :type source: str - :param destination: Required. Traffic destination. Accepted values are: - '*', IP Address/CIDR, Service Tag. - :type destination: str - :param destination_port: Required. Traffic destination port. Accepted - values are '*' and a single port in the range (0 - 65535). - :type destination_port: str - """ - - _validation = { - 'direction': {'required': True}, - 'protocol': {'required': True}, - 'source': {'required': True}, - 'destination': {'required': True}, - 'destination_port': {'required': True}, - } - - _attribute_map = { - 'direction': {'key': 'direction', 'type': 'str'}, - 'protocol': {'key': 'protocol', 'type': 'str'}, - 'source': {'key': 'source', 'type': 'str'}, - 'destination': {'key': 'destination', 'type': 'str'}, - 'destination_port': {'key': 'destinationPort', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(NetworkConfigurationDiagnosticProfile, self).__init__(**kwargs) - self.direction = kwargs.get('direction', None) - self.protocol = kwargs.get('protocol', None) - self.source = kwargs.get('source', None) - self.destination = kwargs.get('destination', None) - self.destination_port = kwargs.get('destination_port', None) - - -class NetworkConfigurationDiagnosticResponse(Model): - """Results of network configuration diagnostic on the target resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar results: List of network configuration diagnostic results. - :vartype results: - list[~azure.mgmt.network.v2019_09_01.models.NetworkConfigurationDiagnosticResult] - """ - - _validation = { - 'results': {'readonly': True}, - } - - _attribute_map = { - 'results': {'key': 'results', 'type': '[NetworkConfigurationDiagnosticResult]'}, - } - - def __init__(self, **kwargs): - super(NetworkConfigurationDiagnosticResponse, self).__init__(**kwargs) - self.results = None - - -class NetworkConfigurationDiagnosticResult(Model): - """Network configuration diagnostic result corresponded to provided traffic - query. - - :param profile: Network configuration diagnostic profile. - :type profile: - ~azure.mgmt.network.v2019_09_01.models.NetworkConfigurationDiagnosticProfile - :param network_security_group_result: Network security group result. - :type network_security_group_result: - ~azure.mgmt.network.v2019_09_01.models.NetworkSecurityGroupResult - """ - - _attribute_map = { - 'profile': {'key': 'profile', 'type': 'NetworkConfigurationDiagnosticProfile'}, - 'network_security_group_result': {'key': 'networkSecurityGroupResult', 'type': 'NetworkSecurityGroupResult'}, - } - - def __init__(self, **kwargs): - super(NetworkConfigurationDiagnosticResult, self).__init__(**kwargs) - self.profile = kwargs.get('profile', None) - self.network_security_group_result = kwargs.get('network_security_group_result', None) - - -class NetworkIntentPolicy(Resource): - """Network Intent Policy resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(NetworkIntentPolicy, self).__init__(**kwargs) - self.etag = None - - -class NetworkIntentPolicyConfiguration(Model): - """Details of NetworkIntentPolicyConfiguration for - PrepareNetworkPoliciesRequest. - - :param network_intent_policy_name: The name of the Network Intent Policy - for storing in target subscription. - :type network_intent_policy_name: str - :param source_network_intent_policy: Source network intent policy. - :type source_network_intent_policy: - ~azure.mgmt.network.v2019_09_01.models.NetworkIntentPolicy - """ - - _attribute_map = { - 'network_intent_policy_name': {'key': 'networkIntentPolicyName', 'type': 'str'}, - 'source_network_intent_policy': {'key': 'sourceNetworkIntentPolicy', 'type': 'NetworkIntentPolicy'}, - } - - def __init__(self, **kwargs): - super(NetworkIntentPolicyConfiguration, self).__init__(**kwargs) - self.network_intent_policy_name = kwargs.get('network_intent_policy_name', None) - self.source_network_intent_policy = kwargs.get('source_network_intent_policy', None) - - -class NetworkInterface(Resource): - """A network interface in a resource group. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :ivar virtual_machine: The reference of a virtual machine. - :vartype virtual_machine: - ~azure.mgmt.network.v2019_09_01.models.SubResource - :param network_security_group: The reference of the NetworkSecurityGroup - resource. - :type network_security_group: - ~azure.mgmt.network.v2019_09_01.models.NetworkSecurityGroup - :ivar private_endpoint: A reference to the private endpoint to which the - network interface is linked. - :vartype private_endpoint: - ~azure.mgmt.network.v2019_09_01.models.PrivateEndpoint - :param ip_configurations: A list of IPConfigurations of the network - interface. - :type ip_configurations: - list[~azure.mgmt.network.v2019_09_01.models.NetworkInterfaceIPConfiguration] - :ivar tap_configurations: A list of TapConfigurations of the network - interface. - :vartype tap_configurations: - list[~azure.mgmt.network.v2019_09_01.models.NetworkInterfaceTapConfiguration] - :param dns_settings: The DNS settings in network interface. - :type dns_settings: - ~azure.mgmt.network.v2019_09_01.models.NetworkInterfaceDnsSettings - :ivar mac_address: The MAC address of the network interface. - :vartype mac_address: str - :ivar primary: Whether this is a primary network interface on a virtual - machine. - :vartype primary: bool - :param enable_accelerated_networking: If the network interface is - accelerated networking enabled. - :type enable_accelerated_networking: bool - :param enable_ip_forwarding: Indicates whether IP forwarding is enabled on - this network interface. - :type enable_ip_forwarding: bool - :ivar hosted_workloads: A list of references to linked BareMetal - resources. - :vartype hosted_workloads: list[str] - :ivar resource_guid: The resource GUID property of the network interface - resource. - :vartype resource_guid: str - :ivar provisioning_state: The provisioning state of the network interface - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'virtual_machine': {'readonly': True}, - 'private_endpoint': {'readonly': True}, - 'tap_configurations': {'readonly': True}, - 'mac_address': {'readonly': True}, - 'primary': {'readonly': True}, - 'hosted_workloads': {'readonly': True}, - 'resource_guid': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'virtual_machine': {'key': 'properties.virtualMachine', 'type': 'SubResource'}, - 'network_security_group': {'key': 'properties.networkSecurityGroup', 'type': 'NetworkSecurityGroup'}, - 'private_endpoint': {'key': 'properties.privateEndpoint', 'type': 'PrivateEndpoint'}, - 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[NetworkInterfaceIPConfiguration]'}, - 'tap_configurations': {'key': 'properties.tapConfigurations', 'type': '[NetworkInterfaceTapConfiguration]'}, - 'dns_settings': {'key': 'properties.dnsSettings', 'type': 'NetworkInterfaceDnsSettings'}, - 'mac_address': {'key': 'properties.macAddress', 'type': 'str'}, - 'primary': {'key': 'properties.primary', 'type': 'bool'}, - 'enable_accelerated_networking': {'key': 'properties.enableAcceleratedNetworking', 'type': 'bool'}, - 'enable_ip_forwarding': {'key': 'properties.enableIPForwarding', 'type': 'bool'}, - 'hosted_workloads': {'key': 'properties.hostedWorkloads', 'type': '[str]'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(NetworkInterface, self).__init__(**kwargs) - self.virtual_machine = None - self.network_security_group = kwargs.get('network_security_group', None) - self.private_endpoint = None - self.ip_configurations = kwargs.get('ip_configurations', None) - self.tap_configurations = None - self.dns_settings = kwargs.get('dns_settings', None) - self.mac_address = None - self.primary = None - self.enable_accelerated_networking = kwargs.get('enable_accelerated_networking', None) - self.enable_ip_forwarding = kwargs.get('enable_ip_forwarding', None) - self.hosted_workloads = None - self.resource_guid = None - self.provisioning_state = None - self.etag = None - - -class NetworkInterfaceAssociation(Model): - """Network interface and its custom security rules. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar id: Network interface ID. - :vartype id: str - :param security_rules: Collection of custom security rules. - :type security_rules: - list[~azure.mgmt.network.v2019_09_01.models.SecurityRule] - """ - - _validation = { - 'id': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'security_rules': {'key': 'securityRules', 'type': '[SecurityRule]'}, - } - - def __init__(self, **kwargs): - super(NetworkInterfaceAssociation, self).__init__(**kwargs) - self.id = None - self.security_rules = kwargs.get('security_rules', None) - - -class NetworkInterfaceDnsSettings(Model): - """DNS settings of a network interface. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param dns_servers: List of DNS servers IP addresses. Use - 'AzureProvidedDNS' to switch to azure provided DNS resolution. - 'AzureProvidedDNS' value cannot be combined with other IPs, it must be the - only value in dnsServers collection. - :type dns_servers: list[str] - :ivar applied_dns_servers: If the VM that uses this NIC is part of an - Availability Set, then this list will have the union of all DNS servers - from all NICs that are part of the Availability Set. This property is what - is configured on each of those VMs. - :vartype applied_dns_servers: list[str] - :param internal_dns_name_label: Relative DNS name for this NIC used for - internal communications between VMs in the same virtual network. - :type internal_dns_name_label: str - :ivar internal_fqdn: Fully qualified DNS name supporting internal - communications between VMs in the same virtual network. - :vartype internal_fqdn: str - :ivar internal_domain_name_suffix: Even if internalDnsNameLabel is not - specified, a DNS entry is created for the primary NIC of the VM. This DNS - name can be constructed by concatenating the VM name with the value of - internalDomainNameSuffix. - :vartype internal_domain_name_suffix: str - """ - - _validation = { - 'applied_dns_servers': {'readonly': True}, - 'internal_fqdn': {'readonly': True}, - 'internal_domain_name_suffix': {'readonly': True}, - } - - _attribute_map = { - 'dns_servers': {'key': 'dnsServers', 'type': '[str]'}, - 'applied_dns_servers': {'key': 'appliedDnsServers', 'type': '[str]'}, - 'internal_dns_name_label': {'key': 'internalDnsNameLabel', 'type': 'str'}, - 'internal_fqdn': {'key': 'internalFqdn', 'type': 'str'}, - 'internal_domain_name_suffix': {'key': 'internalDomainNameSuffix', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(NetworkInterfaceDnsSettings, self).__init__(**kwargs) - self.dns_servers = kwargs.get('dns_servers', None) - self.applied_dns_servers = None - self.internal_dns_name_label = kwargs.get('internal_dns_name_label', None) - self.internal_fqdn = None - self.internal_domain_name_suffix = None - - -class NetworkInterfaceIPConfiguration(SubResource): - """IPConfiguration in a network interface. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param virtual_network_taps: The reference to Virtual Network Taps. - :type virtual_network_taps: - list[~azure.mgmt.network.v2019_09_01.models.VirtualNetworkTap] - :param application_gateway_backend_address_pools: The reference of - ApplicationGatewayBackendAddressPool resource. - :type application_gateway_backend_address_pools: - list[~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayBackendAddressPool] - :param load_balancer_backend_address_pools: The reference of - LoadBalancerBackendAddressPool resource. - :type load_balancer_backend_address_pools: - list[~azure.mgmt.network.v2019_09_01.models.BackendAddressPool] - :param load_balancer_inbound_nat_rules: A list of references of - LoadBalancerInboundNatRules. - :type load_balancer_inbound_nat_rules: - list[~azure.mgmt.network.v2019_09_01.models.InboundNatRule] - :param private_ip_address: Private IP address of the IP configuration. - :type private_ip_address: str - :param private_ip_allocation_method: The private IP address allocation - method. Possible values include: 'Static', 'Dynamic' - :type private_ip_allocation_method: str or - ~azure.mgmt.network.v2019_09_01.models.IPAllocationMethod - :param private_ip_address_version: Whether the specific IP configuration - is IPv4 or IPv6. Default is IPv4. Possible values include: 'IPv4', 'IPv6' - :type private_ip_address_version: str or - ~azure.mgmt.network.v2019_09_01.models.IPVersion - :param subnet: Subnet bound to the IP configuration. - :type subnet: ~azure.mgmt.network.v2019_09_01.models.Subnet - :param primary: Whether this is a primary customer address on the network - interface. - :type primary: bool - :param public_ip_address: Public IP address bound to the IP configuration. - :type public_ip_address: - ~azure.mgmt.network.v2019_09_01.models.PublicIPAddress - :param application_security_groups: Application security groups in which - the IP configuration is included. - :type application_security_groups: - list[~azure.mgmt.network.v2019_09_01.models.ApplicationSecurityGroup] - :ivar provisioning_state: The provisioning state of the network interface - IP configuration. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :ivar private_link_connection_properties: PrivateLinkConnection properties - for the network interface. - :vartype private_link_connection_properties: - ~azure.mgmt.network.v2019_09_01.models.NetworkInterfaceIPConfigurationPrivateLinkConnectionProperties - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'private_link_connection_properties': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'virtual_network_taps': {'key': 'properties.virtualNetworkTaps', 'type': '[VirtualNetworkTap]'}, - 'application_gateway_backend_address_pools': {'key': 'properties.applicationGatewayBackendAddressPools', 'type': '[ApplicationGatewayBackendAddressPool]'}, - 'load_balancer_backend_address_pools': {'key': 'properties.loadBalancerBackendAddressPools', 'type': '[BackendAddressPool]'}, - 'load_balancer_inbound_nat_rules': {'key': 'properties.loadBalancerInboundNatRules', 'type': '[InboundNatRule]'}, - 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, - 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, - 'private_ip_address_version': {'key': 'properties.privateIPAddressVersion', 'type': 'str'}, - 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, - 'primary': {'key': 'properties.primary', 'type': 'bool'}, - 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'PublicIPAddress'}, - 'application_security_groups': {'key': 'properties.applicationSecurityGroups', 'type': '[ApplicationSecurityGroup]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'private_link_connection_properties': {'key': 'properties.privateLinkConnectionProperties', 'type': 'NetworkInterfaceIPConfigurationPrivateLinkConnectionProperties'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(NetworkInterfaceIPConfiguration, self).__init__(**kwargs) - self.virtual_network_taps = kwargs.get('virtual_network_taps', None) - self.application_gateway_backend_address_pools = kwargs.get('application_gateway_backend_address_pools', None) - self.load_balancer_backend_address_pools = kwargs.get('load_balancer_backend_address_pools', None) - self.load_balancer_inbound_nat_rules = kwargs.get('load_balancer_inbound_nat_rules', None) - self.private_ip_address = kwargs.get('private_ip_address', None) - self.private_ip_allocation_method = kwargs.get('private_ip_allocation_method', None) - self.private_ip_address_version = kwargs.get('private_ip_address_version', None) - self.subnet = kwargs.get('subnet', None) - self.primary = kwargs.get('primary', None) - self.public_ip_address = kwargs.get('public_ip_address', None) - self.application_security_groups = kwargs.get('application_security_groups', None) - self.provisioning_state = None - self.private_link_connection_properties = None - self.name = kwargs.get('name', None) - self.etag = None - - -class NetworkInterfaceIPConfigurationPrivateLinkConnectionProperties(Model): - """PrivateLinkConnection properties for the network interface. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar group_id: The group ID for current private link connection. - :vartype group_id: str - :ivar required_member_name: The required member name for current private - link connection. - :vartype required_member_name: str - :ivar fqdns: List of FQDNs for current private link connection. - :vartype fqdns: list[str] - """ - - _validation = { - 'group_id': {'readonly': True}, - 'required_member_name': {'readonly': True}, - 'fqdns': {'readonly': True}, - } - - _attribute_map = { - 'group_id': {'key': 'groupId', 'type': 'str'}, - 'required_member_name': {'key': 'requiredMemberName', 'type': 'str'}, - 'fqdns': {'key': 'fqdns', 'type': '[str]'}, - } - - def __init__(self, **kwargs): - super(NetworkInterfaceIPConfigurationPrivateLinkConnectionProperties, self).__init__(**kwargs) - self.group_id = None - self.required_member_name = None - self.fqdns = None - - -class NetworkInterfaceTapConfiguration(SubResource): - """Tap configuration in a Network Interface. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param virtual_network_tap: The reference of the Virtual Network Tap - resource. - :type virtual_network_tap: - ~azure.mgmt.network.v2019_09_01.models.VirtualNetworkTap - :ivar provisioning_state: The provisioning state of the network interface - tap configuration resource. Possible values include: 'Succeeded', - 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :ivar type: Sub Resource type. - :vartype type: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'virtual_network_tap': {'key': 'properties.virtualNetworkTap', 'type': 'VirtualNetworkTap'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(NetworkInterfaceTapConfiguration, self).__init__(**kwargs) - self.virtual_network_tap = kwargs.get('virtual_network_tap', None) - self.provisioning_state = None - self.name = kwargs.get('name', None) - self.etag = None - self.type = None - - -class NetworkProfile(Resource): - """Network profile resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :ivar container_network_interfaces: List of child container network - interfaces. - :vartype container_network_interfaces: - list[~azure.mgmt.network.v2019_09_01.models.ContainerNetworkInterface] - :param container_network_interface_configurations: List of chid container - network interface configurations. - :type container_network_interface_configurations: - list[~azure.mgmt.network.v2019_09_01.models.ContainerNetworkInterfaceConfiguration] - :ivar resource_guid: The resource GUID property of the network profile - resource. - :vartype resource_guid: str - :ivar provisioning_state: The provisioning state of the network profile - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'container_network_interfaces': {'readonly': True}, - 'resource_guid': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'container_network_interfaces': {'key': 'properties.containerNetworkInterfaces', 'type': '[ContainerNetworkInterface]'}, - 'container_network_interface_configurations': {'key': 'properties.containerNetworkInterfaceConfigurations', 'type': '[ContainerNetworkInterfaceConfiguration]'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(NetworkProfile, self).__init__(**kwargs) - self.container_network_interfaces = None - self.container_network_interface_configurations = kwargs.get('container_network_interface_configurations', None) - self.resource_guid = None - self.provisioning_state = None - self.etag = None - - -class NetworkRuleCondition(FirewallPolicyRuleCondition): - """Rule condition of type network. - - All required parameters must be populated in order to send to Azure. - - :param name: Name of the rule condition. - :type name: str - :param description: Description of the rule condition. - :type description: str - :param rule_condition_type: Required. Constant filled by server. - :type rule_condition_type: str - :param ip_protocols: Array of FirewallPolicyRuleConditionNetworkProtocols. - :type ip_protocols: list[str or - ~azure.mgmt.network.v2019_09_01.models.FirewallPolicyRuleConditionNetworkProtocol] - :param source_addresses: List of source IP addresses for this rule. - :type source_addresses: list[str] - :param destination_addresses: List of destination IP addresses or Service - Tags. - :type destination_addresses: list[str] - :param destination_ports: List of destination ports. - :type destination_ports: list[str] - """ - - _validation = { - 'rule_condition_type': {'required': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'description': {'key': 'description', 'type': 'str'}, - 'rule_condition_type': {'key': 'ruleConditionType', 'type': 'str'}, - 'ip_protocols': {'key': 'ipProtocols', 'type': '[str]'}, - 'source_addresses': {'key': 'sourceAddresses', 'type': '[str]'}, - 'destination_addresses': {'key': 'destinationAddresses', 'type': '[str]'}, - 'destination_ports': {'key': 'destinationPorts', 'type': '[str]'}, - } - - def __init__(self, **kwargs): - super(NetworkRuleCondition, self).__init__(**kwargs) - self.ip_protocols = kwargs.get('ip_protocols', None) - self.source_addresses = kwargs.get('source_addresses', None) - self.destination_addresses = kwargs.get('destination_addresses', None) - self.destination_ports = kwargs.get('destination_ports', None) - self.rule_condition_type = 'NetworkRuleCondition' - - -class NetworkSecurityGroup(Resource): - """NetworkSecurityGroup resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param security_rules: A collection of security rules of the network - security group. - :type security_rules: - list[~azure.mgmt.network.v2019_09_01.models.SecurityRule] - :ivar default_security_rules: The default security rules of network - security group. - :vartype default_security_rules: - list[~azure.mgmt.network.v2019_09_01.models.SecurityRule] - :ivar network_interfaces: A collection of references to network - interfaces. - :vartype network_interfaces: - list[~azure.mgmt.network.v2019_09_01.models.NetworkInterface] - :ivar subnets: A collection of references to subnets. - :vartype subnets: list[~azure.mgmt.network.v2019_09_01.models.Subnet] - :ivar resource_guid: The resource GUID property of the network security - group resource. - :vartype resource_guid: str - :ivar provisioning_state: The provisioning state of the network security - group resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'default_security_rules': {'readonly': True}, - 'network_interfaces': {'readonly': True}, - 'subnets': {'readonly': True}, - 'resource_guid': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'security_rules': {'key': 'properties.securityRules', 'type': '[SecurityRule]'}, - 'default_security_rules': {'key': 'properties.defaultSecurityRules', 'type': '[SecurityRule]'}, - 'network_interfaces': {'key': 'properties.networkInterfaces', 'type': '[NetworkInterface]'}, - 'subnets': {'key': 'properties.subnets', 'type': '[Subnet]'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(NetworkSecurityGroup, self).__init__(**kwargs) - self.security_rules = kwargs.get('security_rules', None) - self.default_security_rules = None - self.network_interfaces = None - self.subnets = None - self.resource_guid = None - self.provisioning_state = None - self.etag = None - - -class NetworkSecurityGroupResult(Model): - """Network configuration diagnostic result corresponded provided traffic - query. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param security_rule_access_result: The network traffic is allowed or - denied. Possible values include: 'Allow', 'Deny' - :type security_rule_access_result: str or - ~azure.mgmt.network.v2019_09_01.models.SecurityRuleAccess - :ivar evaluated_network_security_groups: List of results network security - groups diagnostic. - :vartype evaluated_network_security_groups: - list[~azure.mgmt.network.v2019_09_01.models.EvaluatedNetworkSecurityGroup] - """ - - _validation = { - 'evaluated_network_security_groups': {'readonly': True}, - } - - _attribute_map = { - 'security_rule_access_result': {'key': 'securityRuleAccessResult', 'type': 'str'}, - 'evaluated_network_security_groups': {'key': 'evaluatedNetworkSecurityGroups', 'type': '[EvaluatedNetworkSecurityGroup]'}, - } - - def __init__(self, **kwargs): - super(NetworkSecurityGroupResult, self).__init__(**kwargs) - self.security_rule_access_result = kwargs.get('security_rule_access_result', None) - self.evaluated_network_security_groups = None - - -class NetworkSecurityRulesEvaluationResult(Model): - """Network security rules evaluation result. - - :param name: Name of the network security rule. - :type name: str - :param protocol_matched: Value indicating whether protocol is matched. - :type protocol_matched: bool - :param source_matched: Value indicating whether source is matched. - :type source_matched: bool - :param source_port_matched: Value indicating whether source port is - matched. - :type source_port_matched: bool - :param destination_matched: Value indicating whether destination is - matched. - :type destination_matched: bool - :param destination_port_matched: Value indicating whether destination port - is matched. - :type destination_port_matched: bool - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'protocol_matched': {'key': 'protocolMatched', 'type': 'bool'}, - 'source_matched': {'key': 'sourceMatched', 'type': 'bool'}, - 'source_port_matched': {'key': 'sourcePortMatched', 'type': 'bool'}, - 'destination_matched': {'key': 'destinationMatched', 'type': 'bool'}, - 'destination_port_matched': {'key': 'destinationPortMatched', 'type': 'bool'}, - } - - def __init__(self, **kwargs): - super(NetworkSecurityRulesEvaluationResult, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.protocol_matched = kwargs.get('protocol_matched', None) - self.source_matched = kwargs.get('source_matched', None) - self.source_port_matched = kwargs.get('source_port_matched', None) - self.destination_matched = kwargs.get('destination_matched', None) - self.destination_port_matched = kwargs.get('destination_port_matched', None) - - -class NetworkWatcher(Resource): - """Network watcher in a resource group. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :ivar provisioning_state: The provisioning state of the network watcher - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'etag': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(NetworkWatcher, self).__init__(**kwargs) - self.etag = None - self.provisioning_state = None - - -class NextHopParameters(Model): - """Parameters that define the source and destination endpoint. - - All required parameters must be populated in order to send to Azure. - - :param target_resource_id: Required. The resource identifier of the target - resource against which the action is to be performed. - :type target_resource_id: str - :param source_ip_address: Required. The source IP address. - :type source_ip_address: str - :param destination_ip_address: Required. The destination IP address. - :type destination_ip_address: str - :param target_nic_resource_id: The NIC ID. (If VM has multiple NICs and IP - forwarding is enabled on any of the nics, then this parameter must be - specified. Otherwise optional). - :type target_nic_resource_id: str - """ - - _validation = { - 'target_resource_id': {'required': True}, - 'source_ip_address': {'required': True}, - 'destination_ip_address': {'required': True}, - } - - _attribute_map = { - 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, - 'source_ip_address': {'key': 'sourceIPAddress', 'type': 'str'}, - 'destination_ip_address': {'key': 'destinationIPAddress', 'type': 'str'}, - 'target_nic_resource_id': {'key': 'targetNicResourceId', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(NextHopParameters, self).__init__(**kwargs) - self.target_resource_id = kwargs.get('target_resource_id', None) - self.source_ip_address = kwargs.get('source_ip_address', None) - self.destination_ip_address = kwargs.get('destination_ip_address', None) - self.target_nic_resource_id = kwargs.get('target_nic_resource_id', None) - - -class NextHopResult(Model): - """The information about next hop from the specified VM. - - :param next_hop_type: Next hop type. Possible values include: 'Internet', - 'VirtualAppliance', 'VirtualNetworkGateway', 'VnetLocal', - 'HyperNetGateway', 'None' - :type next_hop_type: str or - ~azure.mgmt.network.v2019_09_01.models.NextHopType - :param next_hop_ip_address: Next hop IP Address. - :type next_hop_ip_address: str - :param route_table_id: The resource identifier for the route table - associated with the route being returned. If the route being returned does - not correspond to any user created routes then this field will be the - string 'System Route'. - :type route_table_id: str - """ - - _attribute_map = { - 'next_hop_type': {'key': 'nextHopType', 'type': 'str'}, - 'next_hop_ip_address': {'key': 'nextHopIpAddress', 'type': 'str'}, - 'route_table_id': {'key': 'routeTableId', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(NextHopResult, self).__init__(**kwargs) - self.next_hop_type = kwargs.get('next_hop_type', None) - self.next_hop_ip_address = kwargs.get('next_hop_ip_address', None) - self.route_table_id = kwargs.get('route_table_id', None) - - -class Operation(Model): - """Network REST API operation definition. - - :param name: Operation name: {provider}/{resource}/{operation}. - :type name: str - :param display: Display metadata associated with the operation. - :type display: ~azure.mgmt.network.v2019_09_01.models.OperationDisplay - :param origin: Origin of the operation. - :type origin: str - :param service_specification: Specification of the service. - :type service_specification: - ~azure.mgmt.network.v2019_09_01.models.OperationPropertiesFormatServiceSpecification - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'display': {'key': 'display', 'type': 'OperationDisplay'}, - 'origin': {'key': 'origin', 'type': 'str'}, - 'service_specification': {'key': 'properties.serviceSpecification', 'type': 'OperationPropertiesFormatServiceSpecification'}, - } - - def __init__(self, **kwargs): - super(Operation, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.display = kwargs.get('display', None) - self.origin = kwargs.get('origin', None) - self.service_specification = kwargs.get('service_specification', None) - - -class OperationDisplay(Model): - """Display metadata associated with the operation. - - :param provider: Service provider: Microsoft Network. - :type provider: str - :param resource: Resource on which the operation is performed. - :type resource: str - :param operation: Type of the operation: get, read, delete, etc. - :type operation: str - :param description: Description of the operation. - :type description: str - """ - - _attribute_map = { - 'provider': {'key': 'provider', 'type': 'str'}, - 'resource': {'key': 'resource', 'type': 'str'}, - 'operation': {'key': 'operation', 'type': 'str'}, - 'description': {'key': 'description', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(OperationDisplay, self).__init__(**kwargs) - self.provider = kwargs.get('provider', None) - self.resource = kwargs.get('resource', None) - self.operation = kwargs.get('operation', None) - self.description = kwargs.get('description', None) - - -class OperationPropertiesFormatServiceSpecification(Model): - """Specification of the service. - - :param metric_specifications: Operation service specification. - :type metric_specifications: - list[~azure.mgmt.network.v2019_09_01.models.MetricSpecification] - :param log_specifications: Operation log specification. - :type log_specifications: - list[~azure.mgmt.network.v2019_09_01.models.LogSpecification] - """ - - _attribute_map = { - 'metric_specifications': {'key': 'metricSpecifications', 'type': '[MetricSpecification]'}, - 'log_specifications': {'key': 'logSpecifications', 'type': '[LogSpecification]'}, - } - - def __init__(self, **kwargs): - super(OperationPropertiesFormatServiceSpecification, self).__init__(**kwargs) - self.metric_specifications = kwargs.get('metric_specifications', None) - self.log_specifications = kwargs.get('log_specifications', None) - - -class OutboundRule(SubResource): - """Outbound rule of the load balancer. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :param allocated_outbound_ports: The number of outbound ports to be used - for NAT. - :type allocated_outbound_ports: int - :param frontend_ip_configurations: Required. The Frontend IP addresses of - the load balancer. - :type frontend_ip_configurations: - list[~azure.mgmt.network.v2019_09_01.models.SubResource] - :param backend_address_pool: Required. A reference to a pool of DIPs. - Outbound traffic is randomly load balanced across IPs in the backend IPs. - :type backend_address_pool: - ~azure.mgmt.network.v2019_09_01.models.SubResource - :ivar provisioning_state: The provisioning state of the outbound rule - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param protocol: Required. The protocol for the outbound rule in load - balancer. Possible values include: 'Tcp', 'Udp', 'All' - :type protocol: str or - ~azure.mgmt.network.v2019_09_01.models.LoadBalancerOutboundRuleProtocol - :param enable_tcp_reset: Receive bidirectional TCP Reset on TCP flow idle - timeout or unexpected connection termination. This element is only used - when the protocol is set to TCP. - :type enable_tcp_reset: bool - :param idle_timeout_in_minutes: The timeout for the TCP idle connection. - :type idle_timeout_in_minutes: int - :param name: The name of the resource that is unique within the set of - outbound rules used by the load balancer. This name can be used to access - the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :ivar type: Type of the resource. - :vartype type: str - """ - - _validation = { - 'frontend_ip_configurations': {'required': True}, - 'backend_address_pool': {'required': True}, - 'provisioning_state': {'readonly': True}, - 'protocol': {'required': True}, - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'allocated_outbound_ports': {'key': 'properties.allocatedOutboundPorts', 'type': 'int'}, - 'frontend_ip_configurations': {'key': 'properties.frontendIPConfigurations', 'type': '[SubResource]'}, - 'backend_address_pool': {'key': 'properties.backendAddressPool', 'type': 'SubResource'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'protocol': {'key': 'properties.protocol', 'type': 'str'}, - 'enable_tcp_reset': {'key': 'properties.enableTcpReset', 'type': 'bool'}, - 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(OutboundRule, self).__init__(**kwargs) - self.allocated_outbound_ports = kwargs.get('allocated_outbound_ports', None) - self.frontend_ip_configurations = kwargs.get('frontend_ip_configurations', None) - self.backend_address_pool = kwargs.get('backend_address_pool', None) - self.provisioning_state = None - self.protocol = kwargs.get('protocol', None) - self.enable_tcp_reset = kwargs.get('enable_tcp_reset', None) - self.idle_timeout_in_minutes = kwargs.get('idle_timeout_in_minutes', None) - self.name = kwargs.get('name', None) - self.etag = None - self.type = None - - -class OwaspCrsExclusionEntry(Model): - """Allow to exclude some variable satisfy the condition for the WAF check. - - All required parameters must be populated in order to send to Azure. - - :param match_variable: Required. The variable to be excluded. Possible - values include: 'RequestHeaderNames', 'RequestCookieNames', - 'RequestArgNames' - :type match_variable: str or - ~azure.mgmt.network.v2019_09_01.models.OwaspCrsExclusionEntryMatchVariable - :param selector_match_operator: Required. When matchVariable is a - collection, operate on the selector to specify which elements in the - collection this exclusion applies to. Possible values include: 'Equals', - 'Contains', 'StartsWith', 'EndsWith', 'EqualsAny' - :type selector_match_operator: str or - ~azure.mgmt.network.v2019_09_01.models.OwaspCrsExclusionEntrySelectorMatchOperator - :param selector: Required. When matchVariable is a collection, operator - used to specify which elements in the collection this exclusion applies - to. - :type selector: str - """ - - _validation = { - 'match_variable': {'required': True}, - 'selector_match_operator': {'required': True}, - 'selector': {'required': True}, - } - - _attribute_map = { - 'match_variable': {'key': 'matchVariable', 'type': 'str'}, - 'selector_match_operator': {'key': 'selectorMatchOperator', 'type': 'str'}, - 'selector': {'key': 'selector', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(OwaspCrsExclusionEntry, self).__init__(**kwargs) - self.match_variable = kwargs.get('match_variable', None) - self.selector_match_operator = kwargs.get('selector_match_operator', None) - self.selector = kwargs.get('selector', None) - - -class P2SConnectionConfiguration(SubResource): - """P2SConnectionConfiguration Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param vpn_client_address_pool: The reference of the address space - resource which represents Address space for P2S VpnClient. - :type vpn_client_address_pool: - ~azure.mgmt.network.v2019_09_01.models.AddressSpace - :ivar provisioning_state: The provisioning state of the - P2SConnectionConfiguration resource. Possible values include: 'Succeeded', - 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'vpn_client_address_pool': {'key': 'properties.vpnClientAddressPool', 'type': 'AddressSpace'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(P2SConnectionConfiguration, self).__init__(**kwargs) - self.vpn_client_address_pool = kwargs.get('vpn_client_address_pool', None) - self.provisioning_state = None - self.name = kwargs.get('name', None) - self.etag = None - - -class P2SVpnConnectionHealth(Model): - """P2S Vpn connection detailed health written to sas url. - - :param sas_url: Returned sas url of the blob to which the p2s vpn - connection detailed health will be written. - :type sas_url: str - """ - - _attribute_map = { - 'sas_url': {'key': 'sasUrl', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(P2SVpnConnectionHealth, self).__init__(**kwargs) - self.sas_url = kwargs.get('sas_url', None) - - -class P2SVpnConnectionHealthRequest(Model): - """List of P2S Vpn connection health request. - - :param vpn_user_names_filter: The list of p2s vpn user names whose p2s vpn - connection detailed health to retrieve for. - :type vpn_user_names_filter: list[str] - :param output_blob_sas_url: The sas-url to download the P2S Vpn connection - health detail. - :type output_blob_sas_url: str - """ - - _attribute_map = { - 'vpn_user_names_filter': {'key': 'vpnUserNamesFilter', 'type': '[str]'}, - 'output_blob_sas_url': {'key': 'outputBlobSasUrl', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(P2SVpnConnectionHealthRequest, self).__init__(**kwargs) - self.vpn_user_names_filter = kwargs.get('vpn_user_names_filter', None) - self.output_blob_sas_url = kwargs.get('output_blob_sas_url', None) - - -class P2SVpnGateway(Resource): - """P2SVpnGateway Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param virtual_hub: The VirtualHub to which the gateway belongs. - :type virtual_hub: ~azure.mgmt.network.v2019_09_01.models.SubResource - :param p2_sconnection_configurations: List of all p2s connection - configurations of the gateway. - :type p2_sconnection_configurations: - list[~azure.mgmt.network.v2019_09_01.models.P2SConnectionConfiguration] - :ivar provisioning_state: The provisioning state of the P2S VPN gateway - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param vpn_gateway_scale_unit: The scale unit for this p2s vpn gateway. - :type vpn_gateway_scale_unit: int - :param vpn_server_configuration: The VpnServerConfiguration to which the - p2sVpnGateway is attached to. - :type vpn_server_configuration: - ~azure.mgmt.network.v2019_09_01.models.SubResource - :ivar vpn_client_connection_health: All P2S VPN clients' connection health - status. - :vartype vpn_client_connection_health: - ~azure.mgmt.network.v2019_09_01.models.VpnClientConnectionHealth - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'vpn_client_connection_health': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'virtual_hub': {'key': 'properties.virtualHub', 'type': 'SubResource'}, - 'p2_sconnection_configurations': {'key': 'properties.p2SConnectionConfigurations', 'type': '[P2SConnectionConfiguration]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'vpn_gateway_scale_unit': {'key': 'properties.vpnGatewayScaleUnit', 'type': 'int'}, - 'vpn_server_configuration': {'key': 'properties.vpnServerConfiguration', 'type': 'SubResource'}, - 'vpn_client_connection_health': {'key': 'properties.vpnClientConnectionHealth', 'type': 'VpnClientConnectionHealth'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(P2SVpnGateway, self).__init__(**kwargs) - self.virtual_hub = kwargs.get('virtual_hub', None) - self.p2_sconnection_configurations = kwargs.get('p2_sconnection_configurations', None) - self.provisioning_state = None - self.vpn_gateway_scale_unit = kwargs.get('vpn_gateway_scale_unit', None) - self.vpn_server_configuration = kwargs.get('vpn_server_configuration', None) - self.vpn_client_connection_health = None - self.etag = None - - -class P2SVpnProfileParameters(Model): - """Vpn Client Parameters for package generation. - - :param authentication_method: VPN client authentication method. Possible - values include: 'EAPTLS', 'EAPMSCHAPv2' - :type authentication_method: str or - ~azure.mgmt.network.v2019_09_01.models.AuthenticationMethod - """ - - _attribute_map = { - 'authentication_method': {'key': 'authenticationMethod', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(P2SVpnProfileParameters, self).__init__(**kwargs) - self.authentication_method = kwargs.get('authentication_method', None) - - -class PacketCapture(Model): - """Parameters that define the create packet capture operation. - - All required parameters must be populated in order to send to Azure. - - :param target: Required. The ID of the targeted resource, only VM is - currently supported. - :type target: str - :param bytes_to_capture_per_packet: Number of bytes captured per packet, - the remaining bytes are truncated. Default value: 0 . - :type bytes_to_capture_per_packet: int - :param total_bytes_per_session: Maximum size of the capture output. - Default value: 1073741824 . - :type total_bytes_per_session: int - :param time_limit_in_seconds: Maximum duration of the capture session in - seconds. Default value: 18000 . - :type time_limit_in_seconds: int - :param storage_location: Required. Describes the storage location for a - packet capture session. - :type storage_location: - ~azure.mgmt.network.v2019_09_01.models.PacketCaptureStorageLocation - :param filters: A list of packet capture filters. - :type filters: - list[~azure.mgmt.network.v2019_09_01.models.PacketCaptureFilter] - """ - - _validation = { - 'target': {'required': True}, - 'storage_location': {'required': True}, - } - - _attribute_map = { - 'target': {'key': 'properties.target', 'type': 'str'}, - 'bytes_to_capture_per_packet': {'key': 'properties.bytesToCapturePerPacket', 'type': 'int'}, - 'total_bytes_per_session': {'key': 'properties.totalBytesPerSession', 'type': 'int'}, - 'time_limit_in_seconds': {'key': 'properties.timeLimitInSeconds', 'type': 'int'}, - 'storage_location': {'key': 'properties.storageLocation', 'type': 'PacketCaptureStorageLocation'}, - 'filters': {'key': 'properties.filters', 'type': '[PacketCaptureFilter]'}, - } - - def __init__(self, **kwargs): - super(PacketCapture, self).__init__(**kwargs) - self.target = kwargs.get('target', None) - self.bytes_to_capture_per_packet = kwargs.get('bytes_to_capture_per_packet', 0) - self.total_bytes_per_session = kwargs.get('total_bytes_per_session', 1073741824) - self.time_limit_in_seconds = kwargs.get('time_limit_in_seconds', 18000) - self.storage_location = kwargs.get('storage_location', None) - self.filters = kwargs.get('filters', None) - - -class PacketCaptureFilter(Model): - """Filter that is applied to packet capture request. Multiple filters can be - applied. - - :param protocol: Protocol to be filtered on. Possible values include: - 'TCP', 'UDP', 'Any'. Default value: "Any" . - :type protocol: str or ~azure.mgmt.network.v2019_09_01.models.PcProtocol - :param local_ip_address: Local IP Address to be filtered on. Notation: - "127.0.0.1" for single address entry. "127.0.0.1-127.0.0.255" for range. - "127.0.0.1;127.0.0.5"? for multiple entries. Multiple ranges not currently - supported. Mixing ranges with multiple entries not currently supported. - Default = null. - :type local_ip_address: str - :param remote_ip_address: Local IP Address to be filtered on. Notation: - "127.0.0.1" for single address entry. "127.0.0.1-127.0.0.255" for range. - "127.0.0.1;127.0.0.5;" for multiple entries. Multiple ranges not currently - supported. Mixing ranges with multiple entries not currently supported. - Default = null. - :type remote_ip_address: str - :param local_port: Local port to be filtered on. Notation: "80" for single - port entry."80-85" for range. "80;443;" for multiple entries. Multiple - ranges not currently supported. Mixing ranges with multiple entries not - currently supported. Default = null. - :type local_port: str - :param remote_port: Remote port to be filtered on. Notation: "80" for - single port entry."80-85" for range. "80;443;" for multiple entries. - Multiple ranges not currently supported. Mixing ranges with multiple - entries not currently supported. Default = null. - :type remote_port: str - """ - - _attribute_map = { - 'protocol': {'key': 'protocol', 'type': 'str'}, - 'local_ip_address': {'key': 'localIPAddress', 'type': 'str'}, - 'remote_ip_address': {'key': 'remoteIPAddress', 'type': 'str'}, - 'local_port': {'key': 'localPort', 'type': 'str'}, - 'remote_port': {'key': 'remotePort', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(PacketCaptureFilter, self).__init__(**kwargs) - self.protocol = kwargs.get('protocol', "Any") - self.local_ip_address = kwargs.get('local_ip_address', None) - self.remote_ip_address = kwargs.get('remote_ip_address', None) - self.local_port = kwargs.get('local_port', None) - self.remote_port = kwargs.get('remote_port', None) - - -class PacketCaptureParameters(Model): - """Parameters that define the create packet capture operation. - - All required parameters must be populated in order to send to Azure. - - :param target: Required. The ID of the targeted resource, only VM is - currently supported. - :type target: str - :param bytes_to_capture_per_packet: Number of bytes captured per packet, - the remaining bytes are truncated. Default value: 0 . - :type bytes_to_capture_per_packet: int - :param total_bytes_per_session: Maximum size of the capture output. - Default value: 1073741824 . - :type total_bytes_per_session: int - :param time_limit_in_seconds: Maximum duration of the capture session in - seconds. Default value: 18000 . - :type time_limit_in_seconds: int - :param storage_location: Required. Describes the storage location for a - packet capture session. - :type storage_location: - ~azure.mgmt.network.v2019_09_01.models.PacketCaptureStorageLocation - :param filters: A list of packet capture filters. - :type filters: - list[~azure.mgmt.network.v2019_09_01.models.PacketCaptureFilter] - """ - - _validation = { - 'target': {'required': True}, - 'storage_location': {'required': True}, - } - - _attribute_map = { - 'target': {'key': 'target', 'type': 'str'}, - 'bytes_to_capture_per_packet': {'key': 'bytesToCapturePerPacket', 'type': 'int'}, - 'total_bytes_per_session': {'key': 'totalBytesPerSession', 'type': 'int'}, - 'time_limit_in_seconds': {'key': 'timeLimitInSeconds', 'type': 'int'}, - 'storage_location': {'key': 'storageLocation', 'type': 'PacketCaptureStorageLocation'}, - 'filters': {'key': 'filters', 'type': '[PacketCaptureFilter]'}, - } - - def __init__(self, **kwargs): - super(PacketCaptureParameters, self).__init__(**kwargs) - self.target = kwargs.get('target', None) - self.bytes_to_capture_per_packet = kwargs.get('bytes_to_capture_per_packet', 0) - self.total_bytes_per_session = kwargs.get('total_bytes_per_session', 1073741824) - self.time_limit_in_seconds = kwargs.get('time_limit_in_seconds', 18000) - self.storage_location = kwargs.get('storage_location', None) - self.filters = kwargs.get('filters', None) - - -class PacketCaptureQueryStatusResult(Model): - """Status of packet capture session. - - :param name: The name of the packet capture resource. - :type name: str - :param id: The ID of the packet capture resource. - :type id: str - :param capture_start_time: The start time of the packet capture session. - :type capture_start_time: datetime - :param packet_capture_status: The status of the packet capture session. - Possible values include: 'NotStarted', 'Running', 'Stopped', 'Error', - 'Unknown' - :type packet_capture_status: str or - ~azure.mgmt.network.v2019_09_01.models.PcStatus - :param stop_reason: The reason the current packet capture session was - stopped. - :type stop_reason: str - :param packet_capture_error: List of errors of packet capture session. - :type packet_capture_error: list[str or - ~azure.mgmt.network.v2019_09_01.models.PcError] - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'id': {'key': 'id', 'type': 'str'}, - 'capture_start_time': {'key': 'captureStartTime', 'type': 'iso-8601'}, - 'packet_capture_status': {'key': 'packetCaptureStatus', 'type': 'str'}, - 'stop_reason': {'key': 'stopReason', 'type': 'str'}, - 'packet_capture_error': {'key': 'packetCaptureError', 'type': '[str]'}, - } - - def __init__(self, **kwargs): - super(PacketCaptureQueryStatusResult, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.id = kwargs.get('id', None) - self.capture_start_time = kwargs.get('capture_start_time', None) - self.packet_capture_status = kwargs.get('packet_capture_status', None) - self.stop_reason = kwargs.get('stop_reason', None) - self.packet_capture_error = kwargs.get('packet_capture_error', None) - - -class PacketCaptureResult(Model): - """Information about packet capture session. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :ivar name: Name of the packet capture session. - :vartype name: str - :ivar id: ID of the packet capture operation. - :vartype id: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :param target: Required. The ID of the targeted resource, only VM is - currently supported. - :type target: str - :param bytes_to_capture_per_packet: Number of bytes captured per packet, - the remaining bytes are truncated. Default value: 0 . - :type bytes_to_capture_per_packet: int - :param total_bytes_per_session: Maximum size of the capture output. - Default value: 1073741824 . - :type total_bytes_per_session: int - :param time_limit_in_seconds: Maximum duration of the capture session in - seconds. Default value: 18000 . - :type time_limit_in_seconds: int - :param storage_location: Required. Describes the storage location for a - packet capture session. - :type storage_location: - ~azure.mgmt.network.v2019_09_01.models.PacketCaptureStorageLocation - :param filters: A list of packet capture filters. - :type filters: - list[~azure.mgmt.network.v2019_09_01.models.PacketCaptureFilter] - :ivar provisioning_state: The provisioning state of the packet capture - session. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - """ - - _validation = { - 'name': {'readonly': True}, - 'id': {'readonly': True}, - 'etag': {'readonly': True}, - 'target': {'required': True}, - 'storage_location': {'required': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'id': {'key': 'id', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'target': {'key': 'properties.target', 'type': 'str'}, - 'bytes_to_capture_per_packet': {'key': 'properties.bytesToCapturePerPacket', 'type': 'int'}, - 'total_bytes_per_session': {'key': 'properties.totalBytesPerSession', 'type': 'int'}, - 'time_limit_in_seconds': {'key': 'properties.timeLimitInSeconds', 'type': 'int'}, - 'storage_location': {'key': 'properties.storageLocation', 'type': 'PacketCaptureStorageLocation'}, - 'filters': {'key': 'properties.filters', 'type': '[PacketCaptureFilter]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(PacketCaptureResult, self).__init__(**kwargs) - self.name = None - self.id = None - self.etag = None - self.target = kwargs.get('target', None) - self.bytes_to_capture_per_packet = kwargs.get('bytes_to_capture_per_packet', 0) - self.total_bytes_per_session = kwargs.get('total_bytes_per_session', 1073741824) - self.time_limit_in_seconds = kwargs.get('time_limit_in_seconds', 18000) - self.storage_location = kwargs.get('storage_location', None) - self.filters = kwargs.get('filters', None) - self.provisioning_state = None - - -class PacketCaptureStorageLocation(Model): - """Describes the storage location for a packet capture session. - - :param storage_id: The ID of the storage account to save the packet - capture session. Required if no local file path is provided. - :type storage_id: str - :param storage_path: The URI of the storage path to save the packet - capture. Must be a well-formed URI describing the location to save the - packet capture. - :type storage_path: str - :param file_path: A valid local path on the targeting VM. Must include the - name of the capture file (*.cap). For linux virtual machine it must start - with /var/captures. Required if no storage ID is provided, otherwise - optional. - :type file_path: str - """ - - _attribute_map = { - 'storage_id': {'key': 'storageId', 'type': 'str'}, - 'storage_path': {'key': 'storagePath', 'type': 'str'}, - 'file_path': {'key': 'filePath', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(PacketCaptureStorageLocation, self).__init__(**kwargs) - self.storage_id = kwargs.get('storage_id', None) - self.storage_path = kwargs.get('storage_path', None) - self.file_path = kwargs.get('file_path', None) - - -class PatchRouteFilter(SubResource): - """Route Filter Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param rules: Collection of RouteFilterRules contained within a route - filter. - :type rules: list[~azure.mgmt.network.v2019_09_01.models.RouteFilterRule] - :ivar peerings: A collection of references to express route circuit - peerings. - :vartype peerings: - list[~azure.mgmt.network.v2019_09_01.models.ExpressRouteCircuitPeering] - :ivar ipv6_peerings: A collection of references to express route circuit - ipv6 peerings. - :vartype ipv6_peerings: - list[~azure.mgmt.network.v2019_09_01.models.ExpressRouteCircuitPeering] - :ivar provisioning_state: The provisioning state of the route filter - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :ivar name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :vartype name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :ivar type: Resource type. - :vartype type: str - :param tags: Resource tags. - :type tags: dict[str, str] - """ - - _validation = { - 'peerings': {'readonly': True}, - 'ipv6_peerings': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'name': {'readonly': True}, - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'rules': {'key': 'properties.rules', 'type': '[RouteFilterRule]'}, - 'peerings': {'key': 'properties.peerings', 'type': '[ExpressRouteCircuitPeering]'}, - 'ipv6_peerings': {'key': 'properties.ipv6Peerings', 'type': '[ExpressRouteCircuitPeering]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - } - - def __init__(self, **kwargs): - super(PatchRouteFilter, self).__init__(**kwargs) - self.rules = kwargs.get('rules', None) - self.peerings = None - self.ipv6_peerings = None - self.provisioning_state = None - self.name = None - self.etag = None - self.type = None - self.tags = kwargs.get('tags', None) - - -class PatchRouteFilterRule(SubResource): - """Route Filter Rule Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :param access: Required. The access type of the rule. Possible values - include: 'Allow', 'Deny' - :type access: str or ~azure.mgmt.network.v2019_09_01.models.Access - :ivar route_filter_rule_type: Required. The rule type of the rule. Default - value: "Community" . - :vartype route_filter_rule_type: str - :param communities: Required. The collection for bgp community values to - filter on. e.g. ['12076:5010','12076:5020']. - :type communities: list[str] - :ivar provisioning_state: The provisioning state of the route filter rule - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :ivar name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :vartype name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'access': {'required': True}, - 'route_filter_rule_type': {'required': True, 'constant': True}, - 'communities': {'required': True}, - 'provisioning_state': {'readonly': True}, - 'name': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'access': {'key': 'properties.access', 'type': 'str'}, - 'route_filter_rule_type': {'key': 'properties.routeFilterRuleType', 'type': 'str'}, - 'communities': {'key': 'properties.communities', 'type': '[str]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - route_filter_rule_type = "Community" - - def __init__(self, **kwargs): - super(PatchRouteFilterRule, self).__init__(**kwargs) - self.access = kwargs.get('access', None) - self.communities = kwargs.get('communities', None) - self.provisioning_state = None - self.name = None - self.etag = None - - -class PeerExpressRouteCircuitConnection(SubResource): - """Peer Express Route Circuit Connection in an ExpressRouteCircuitPeering - resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param express_route_circuit_peering: Reference to Express Route Circuit - Private Peering Resource of the circuit. - :type express_route_circuit_peering: - ~azure.mgmt.network.v2019_09_01.models.SubResource - :param peer_express_route_circuit_peering: Reference to Express Route - Circuit Private Peering Resource of the peered circuit. - :type peer_express_route_circuit_peering: - ~azure.mgmt.network.v2019_09_01.models.SubResource - :param address_prefix: /29 IP address space to carve out Customer - addresses for tunnels. - :type address_prefix: str - :param circuit_connection_status: Express Route Circuit connection state. - Possible values include: 'Connected', 'Connecting', 'Disconnected' - :type circuit_connection_status: str or - ~azure.mgmt.network.v2019_09_01.models.CircuitConnectionStatus - :param connection_name: The name of the express route circuit connection - resource. - :type connection_name: str - :param auth_resource_guid: The resource guid of the authorization used for - the express route circuit connection. - :type auth_resource_guid: str - :ivar provisioning_state: The provisioning state of the peer express route - circuit connection resource. Possible values include: 'Succeeded', - 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :ivar type: Type of the resource. - :vartype type: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'express_route_circuit_peering': {'key': 'properties.expressRouteCircuitPeering', 'type': 'SubResource'}, - 'peer_express_route_circuit_peering': {'key': 'properties.peerExpressRouteCircuitPeering', 'type': 'SubResource'}, - 'address_prefix': {'key': 'properties.addressPrefix', 'type': 'str'}, - 'circuit_connection_status': {'key': 'properties.circuitConnectionStatus', 'type': 'str'}, - 'connection_name': {'key': 'properties.connectionName', 'type': 'str'}, - 'auth_resource_guid': {'key': 'properties.authResourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(PeerExpressRouteCircuitConnection, self).__init__(**kwargs) - self.express_route_circuit_peering = kwargs.get('express_route_circuit_peering', None) - self.peer_express_route_circuit_peering = kwargs.get('peer_express_route_circuit_peering', None) - self.address_prefix = kwargs.get('address_prefix', None) - self.circuit_connection_status = kwargs.get('circuit_connection_status', None) - self.connection_name = kwargs.get('connection_name', None) - self.auth_resource_guid = kwargs.get('auth_resource_guid', None) - self.provisioning_state = None - self.name = kwargs.get('name', None) - self.etag = None - self.type = None - - -class PolicySettings(Model): - """Defines contents of a web application firewall global configuration. - - :param state: Describes if the policy is in enabled state or disabled - state. Possible values include: 'Disabled', 'Enabled' - :type state: str or - ~azure.mgmt.network.v2019_09_01.models.WebApplicationFirewallEnabledState - :param mode: Describes if it is in detection mode or prevention mode at - policy level. Possible values include: 'Prevention', 'Detection' - :type mode: str or - ~azure.mgmt.network.v2019_09_01.models.WebApplicationFirewallMode - :param request_body_check: Whether to allow WAF to check request Body. - :type request_body_check: bool - :param max_request_body_size_in_kb: Maximum request body size in Kb for - WAF. - :type max_request_body_size_in_kb: int - :param file_upload_limit_in_mb: Maximum file upload size in Mb for WAF. - :type file_upload_limit_in_mb: int - """ - - _validation = { - 'max_request_body_size_in_kb': {'maximum': 128, 'minimum': 8}, - 'file_upload_limit_in_mb': {'minimum': 0}, - } - - _attribute_map = { - 'state': {'key': 'state', 'type': 'str'}, - 'mode': {'key': 'mode', 'type': 'str'}, - 'request_body_check': {'key': 'requestBodyCheck', 'type': 'bool'}, - 'max_request_body_size_in_kb': {'key': 'maxRequestBodySizeInKb', 'type': 'int'}, - 'file_upload_limit_in_mb': {'key': 'fileUploadLimitInMb', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(PolicySettings, self).__init__(**kwargs) - self.state = kwargs.get('state', None) - self.mode = kwargs.get('mode', None) - self.request_body_check = kwargs.get('request_body_check', None) - self.max_request_body_size_in_kb = kwargs.get('max_request_body_size_in_kb', None) - self.file_upload_limit_in_mb = kwargs.get('file_upload_limit_in_mb', None) - - -class PrepareNetworkPoliciesRequest(Model): - """Details of PrepareNetworkPolicies for Subnet. - - :param service_name: The name of the service for which subnet is being - prepared for. - :type service_name: str - :param network_intent_policy_configurations: A list of - NetworkIntentPolicyConfiguration. - :type network_intent_policy_configurations: - list[~azure.mgmt.network.v2019_09_01.models.NetworkIntentPolicyConfiguration] - """ - - _attribute_map = { - 'service_name': {'key': 'serviceName', 'type': 'str'}, - 'network_intent_policy_configurations': {'key': 'networkIntentPolicyConfigurations', 'type': '[NetworkIntentPolicyConfiguration]'}, - } - - def __init__(self, **kwargs): - super(PrepareNetworkPoliciesRequest, self).__init__(**kwargs) - self.service_name = kwargs.get('service_name', None) - self.network_intent_policy_configurations = kwargs.get('network_intent_policy_configurations', None) - - -class PrivateEndpoint(Resource): - """Private endpoint resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param subnet: The ID of the subnet from which the private IP will be - allocated. - :type subnet: ~azure.mgmt.network.v2019_09_01.models.Subnet - :ivar network_interfaces: An array of references to the network interfaces - created for this private endpoint. - :vartype network_interfaces: - list[~azure.mgmt.network.v2019_09_01.models.NetworkInterface] - :ivar provisioning_state: The provisioning state of the private endpoint - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param private_link_service_connections: A grouping of information about - the connection to the remote resource. - :type private_link_service_connections: - list[~azure.mgmt.network.v2019_09_01.models.PrivateLinkServiceConnection] - :param manual_private_link_service_connections: A grouping of information - about the connection to the remote resource. Used when the network admin - does not have access to approve connections to the remote resource. - :type manual_private_link_service_connections: - list[~azure.mgmt.network.v2019_09_01.models.PrivateLinkServiceConnection] - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'network_interfaces': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, - 'network_interfaces': {'key': 'properties.networkInterfaces', 'type': '[NetworkInterface]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'private_link_service_connections': {'key': 'properties.privateLinkServiceConnections', 'type': '[PrivateLinkServiceConnection]'}, - 'manual_private_link_service_connections': {'key': 'properties.manualPrivateLinkServiceConnections', 'type': '[PrivateLinkServiceConnection]'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(PrivateEndpoint, self).__init__(**kwargs) - self.subnet = kwargs.get('subnet', None) - self.network_interfaces = None - self.provisioning_state = None - self.private_link_service_connections = kwargs.get('private_link_service_connections', None) - self.manual_private_link_service_connections = kwargs.get('manual_private_link_service_connections', None) - self.etag = None - - -class PrivateEndpointConnection(SubResource): - """PrivateEndpointConnection resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar private_endpoint: The resource of private end point. - :vartype private_endpoint: - ~azure.mgmt.network.v2019_09_01.models.PrivateEndpoint - :param private_link_service_connection_state: A collection of information - about the state of the connection between service consumer and provider. - :type private_link_service_connection_state: - ~azure.mgmt.network.v2019_09_01.models.PrivateLinkServiceConnectionState - :ivar provisioning_state: The provisioning state of the private endpoint - connection resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :ivar link_identifier: The consumer link id. - :vartype link_identifier: str - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar type: The resource type. - :vartype type: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'private_endpoint': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'link_identifier': {'readonly': True}, - 'type': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'private_endpoint': {'key': 'properties.privateEndpoint', 'type': 'PrivateEndpoint'}, - 'private_link_service_connection_state': {'key': 'properties.privateLinkServiceConnectionState', 'type': 'PrivateLinkServiceConnectionState'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'link_identifier': {'key': 'properties.linkIdentifier', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(PrivateEndpointConnection, self).__init__(**kwargs) - self.private_endpoint = None - self.private_link_service_connection_state = kwargs.get('private_link_service_connection_state', None) - self.provisioning_state = None - self.link_identifier = None - self.name = kwargs.get('name', None) - self.type = None - self.etag = None - - -class PrivateLinkService(Resource): - """Private link service resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param load_balancer_frontend_ip_configurations: An array of references to - the load balancer IP configurations. - :type load_balancer_frontend_ip_configurations: - list[~azure.mgmt.network.v2019_09_01.models.FrontendIPConfiguration] - :param ip_configurations: An array of private link service IP - configurations. - :type ip_configurations: - list[~azure.mgmt.network.v2019_09_01.models.PrivateLinkServiceIpConfiguration] - :ivar network_interfaces: An array of references to the network interfaces - created for this private link service. - :vartype network_interfaces: - list[~azure.mgmt.network.v2019_09_01.models.NetworkInterface] - :ivar provisioning_state: The provisioning state of the private link - service resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :ivar private_endpoint_connections: An array of list about connections to - the private endpoint. - :vartype private_endpoint_connections: - list[~azure.mgmt.network.v2019_09_01.models.PrivateEndpointConnection] - :param visibility: The visibility list of the private link service. - :type visibility: - ~azure.mgmt.network.v2019_09_01.models.PrivateLinkServicePropertiesVisibility - :param auto_approval: The auto-approval list of the private link service. - :type auto_approval: - ~azure.mgmt.network.v2019_09_01.models.PrivateLinkServicePropertiesAutoApproval - :param fqdns: The list of Fqdn. - :type fqdns: list[str] - :ivar alias: The alias of the private link service. - :vartype alias: str - :param enable_proxy_protocol: Whether the private link service is enabled - for proxy protocol or not. - :type enable_proxy_protocol: bool - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'network_interfaces': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'private_endpoint_connections': {'readonly': True}, - 'alias': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'load_balancer_frontend_ip_configurations': {'key': 'properties.loadBalancerFrontendIpConfigurations', 'type': '[FrontendIPConfiguration]'}, - 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[PrivateLinkServiceIpConfiguration]'}, - 'network_interfaces': {'key': 'properties.networkInterfaces', 'type': '[NetworkInterface]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'private_endpoint_connections': {'key': 'properties.privateEndpointConnections', 'type': '[PrivateEndpointConnection]'}, - 'visibility': {'key': 'properties.visibility', 'type': 'PrivateLinkServicePropertiesVisibility'}, - 'auto_approval': {'key': 'properties.autoApproval', 'type': 'PrivateLinkServicePropertiesAutoApproval'}, - 'fqdns': {'key': 'properties.fqdns', 'type': '[str]'}, - 'alias': {'key': 'properties.alias', 'type': 'str'}, - 'enable_proxy_protocol': {'key': 'properties.enableProxyProtocol', 'type': 'bool'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(PrivateLinkService, self).__init__(**kwargs) - self.load_balancer_frontend_ip_configurations = kwargs.get('load_balancer_frontend_ip_configurations', None) - self.ip_configurations = kwargs.get('ip_configurations', None) - self.network_interfaces = None - self.provisioning_state = None - self.private_endpoint_connections = None - self.visibility = kwargs.get('visibility', None) - self.auto_approval = kwargs.get('auto_approval', None) - self.fqdns = kwargs.get('fqdns', None) - self.alias = None - self.enable_proxy_protocol = kwargs.get('enable_proxy_protocol', None) - self.etag = None - - -class PrivateLinkServiceConnection(SubResource): - """PrivateLinkServiceConnection resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar provisioning_state: The provisioning state of the private link - service connection resource. Possible values include: 'Succeeded', - 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param private_link_service_id: The resource id of private link service. - :type private_link_service_id: str - :param group_ids: The ID(s) of the group(s) obtained from the remote - resource that this private endpoint should connect to. - :type group_ids: list[str] - :param request_message: A message passed to the owner of the remote - resource with this connection request. Restricted to 140 chars. - :type request_message: str - :param private_link_service_connection_state: A collection of read-only - information about the state of the connection to the remote resource. - :type private_link_service_connection_state: - ~azure.mgmt.network.v2019_09_01.models.PrivateLinkServiceConnectionState - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar type: The resource type. - :vartype type: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'type': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'private_link_service_id': {'key': 'properties.privateLinkServiceId', 'type': 'str'}, - 'group_ids': {'key': 'properties.groupIds', 'type': '[str]'}, - 'request_message': {'key': 'properties.requestMessage', 'type': 'str'}, - 'private_link_service_connection_state': {'key': 'properties.privateLinkServiceConnectionState', 'type': 'PrivateLinkServiceConnectionState'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(PrivateLinkServiceConnection, self).__init__(**kwargs) - self.provisioning_state = None - self.private_link_service_id = kwargs.get('private_link_service_id', None) - self.group_ids = kwargs.get('group_ids', None) - self.request_message = kwargs.get('request_message', None) - self.private_link_service_connection_state = kwargs.get('private_link_service_connection_state', None) - self.name = kwargs.get('name', None) - self.type = None - self.etag = None - - -class PrivateLinkServiceConnectionState(Model): - """A collection of information about the state of the connection between - service consumer and provider. - - :param status: Indicates whether the connection has been - Approved/Rejected/Removed by the owner of the service. - :type status: str - :param description: The reason for approval/rejection of the connection. - :type description: str - :param action_required: A message indicating if changes on the service - provider require any updates on the consumer. - :type action_required: str - """ - - _attribute_map = { - 'status': {'key': 'status', 'type': 'str'}, - 'description': {'key': 'description', 'type': 'str'}, - 'action_required': {'key': 'actionRequired', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(PrivateLinkServiceConnectionState, self).__init__(**kwargs) - self.status = kwargs.get('status', None) - self.description = kwargs.get('description', None) - self.action_required = kwargs.get('action_required', None) - - -class PrivateLinkServiceIpConfiguration(SubResource): - """The private link service ip configuration. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param private_ip_address: The private IP address of the IP configuration. - :type private_ip_address: str - :param private_ip_allocation_method: The private IP address allocation - method. Possible values include: 'Static', 'Dynamic' - :type private_ip_allocation_method: str or - ~azure.mgmt.network.v2019_09_01.models.IPAllocationMethod - :param subnet: The reference to the subnet resource. - :type subnet: ~azure.mgmt.network.v2019_09_01.models.Subnet - :param primary: Whether the ip configuration is primary or not. - :type primary: bool - :ivar provisioning_state: The provisioning state of the private link - service IP configuration resource. Possible values include: 'Succeeded', - 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param private_ip_address_version: Whether the specific IP configuration - is IPv4 or IPv6. Default is IPv4. Possible values include: 'IPv4', 'IPv6' - :type private_ip_address_version: str or - ~azure.mgmt.network.v2019_09_01.models.IPVersion - :param name: The name of private link service ip configuration. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :ivar type: The resource type. - :vartype type: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, - 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, - 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, - 'primary': {'key': 'properties.primary', 'type': 'bool'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'private_ip_address_version': {'key': 'properties.privateIPAddressVersion', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(PrivateLinkServiceIpConfiguration, self).__init__(**kwargs) - self.private_ip_address = kwargs.get('private_ip_address', None) - self.private_ip_allocation_method = kwargs.get('private_ip_allocation_method', None) - self.subnet = kwargs.get('subnet', None) - self.primary = kwargs.get('primary', None) - self.provisioning_state = None - self.private_ip_address_version = kwargs.get('private_ip_address_version', None) - self.name = kwargs.get('name', None) - self.etag = None - self.type = None - - -class ResourceSet(Model): - """The base resource set for visibility and auto-approval. - - :param subscriptions: The list of subscriptions. - :type subscriptions: list[str] - """ - - _attribute_map = { - 'subscriptions': {'key': 'subscriptions', 'type': '[str]'}, - } - - def __init__(self, **kwargs): - super(ResourceSet, self).__init__(**kwargs) - self.subscriptions = kwargs.get('subscriptions', None) - - -class PrivateLinkServicePropertiesAutoApproval(ResourceSet): - """The auto-approval list of the private link service. - - :param subscriptions: The list of subscriptions. - :type subscriptions: list[str] - """ - - _attribute_map = { - 'subscriptions': {'key': 'subscriptions', 'type': '[str]'}, - } - - def __init__(self, **kwargs): - super(PrivateLinkServicePropertiesAutoApproval, self).__init__(**kwargs) - - -class PrivateLinkServicePropertiesVisibility(ResourceSet): - """The visibility list of the private link service. - - :param subscriptions: The list of subscriptions. - :type subscriptions: list[str] - """ - - _attribute_map = { - 'subscriptions': {'key': 'subscriptions', 'type': '[str]'}, - } - - def __init__(self, **kwargs): - super(PrivateLinkServicePropertiesVisibility, self).__init__(**kwargs) - - -class PrivateLinkServiceVisibility(Model): - """Response for the CheckPrivateLinkServiceVisibility API service call. - - :param visible: Private Link Service Visibility (True/False). - :type visible: bool - """ - - _attribute_map = { - 'visible': {'key': 'visible', 'type': 'bool'}, - } - - def __init__(self, **kwargs): - super(PrivateLinkServiceVisibility, self).__init__(**kwargs) - self.visible = kwargs.get('visible', None) - - -class Probe(SubResource): - """A load balancer probe. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :ivar load_balancing_rules: The load balancer rules that use this probe. - :vartype load_balancing_rules: - list[~azure.mgmt.network.v2019_09_01.models.SubResource] - :param protocol: Required. The protocol of the end point. If 'Tcp' is - specified, a received ACK is required for the probe to be successful. If - 'Http' or 'Https' is specified, a 200 OK response from the specifies URI - is required for the probe to be successful. Possible values include: - 'Http', 'Tcp', 'Https' - :type protocol: str or - ~azure.mgmt.network.v2019_09_01.models.ProbeProtocol - :param port: Required. The port for communicating the probe. Possible - values range from 1 to 65535, inclusive. - :type port: int - :param interval_in_seconds: The interval, in seconds, for how frequently - to probe the endpoint for health status. Typically, the interval is - slightly less than half the allocated timeout period (in seconds) which - allows two full probes before taking the instance out of rotation. The - default value is 15, the minimum value is 5. - :type interval_in_seconds: int - :param number_of_probes: The number of probes where if no response, will - result in stopping further traffic from being delivered to the endpoint. - This values allows endpoints to be taken out of rotation faster or slower - than the typical times used in Azure. - :type number_of_probes: int - :param request_path: The URI used for requesting health status from the - VM. Path is required if a protocol is set to http. Otherwise, it is not - allowed. There is no default value. - :type request_path: str - :ivar provisioning_state: The provisioning state of the probe resource. - Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param name: The name of the resource that is unique within the set of - probes used by the load balancer. This name can be used to access the - resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :ivar type: Type of the resource. - :vartype type: str - """ - - _validation = { - 'load_balancing_rules': {'readonly': True}, - 'protocol': {'required': True}, - 'port': {'required': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'load_balancing_rules': {'key': 'properties.loadBalancingRules', 'type': '[SubResource]'}, - 'protocol': {'key': 'properties.protocol', 'type': 'str'}, - 'port': {'key': 'properties.port', 'type': 'int'}, - 'interval_in_seconds': {'key': 'properties.intervalInSeconds', 'type': 'int'}, - 'number_of_probes': {'key': 'properties.numberOfProbes', 'type': 'int'}, - 'request_path': {'key': 'properties.requestPath', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(Probe, self).__init__(**kwargs) - self.load_balancing_rules = None - self.protocol = kwargs.get('protocol', None) - self.port = kwargs.get('port', None) - self.interval_in_seconds = kwargs.get('interval_in_seconds', None) - self.number_of_probes = kwargs.get('number_of_probes', None) - self.request_path = kwargs.get('request_path', None) - self.provisioning_state = None - self.name = kwargs.get('name', None) - self.etag = None - self.type = None - - -class ProtocolConfiguration(Model): - """Configuration of the protocol. - - :param http_configuration: HTTP configuration of the connectivity check. - :type http_configuration: - ~azure.mgmt.network.v2019_09_01.models.HTTPConfiguration - """ - - _attribute_map = { - 'http_configuration': {'key': 'HTTPConfiguration', 'type': 'HTTPConfiguration'}, - } - - def __init__(self, **kwargs): - super(ProtocolConfiguration, self).__init__(**kwargs) - self.http_configuration = kwargs.get('http_configuration', None) - - -class ProtocolCustomSettingsFormat(Model): - """DDoS custom policy properties. - - :param protocol: The protocol for which the DDoS protection policy is - being customized. Possible values include: 'Tcp', 'Udp', 'Syn' - :type protocol: str or - ~azure.mgmt.network.v2019_09_01.models.DdosCustomPolicyProtocol - :param trigger_rate_override: The customized DDoS protection trigger rate. - :type trigger_rate_override: str - :param source_rate_override: The customized DDoS protection source rate. - :type source_rate_override: str - :param trigger_sensitivity_override: The customized DDoS protection - trigger rate sensitivity degrees. High: Trigger rate set with most - sensitivity w.r.t. normal traffic. Default: Trigger rate set with moderate - sensitivity w.r.t. normal traffic. Low: Trigger rate set with less - sensitivity w.r.t. normal traffic. Relaxed: Trigger rate set with least - sensitivity w.r.t. normal traffic. Possible values include: 'Relaxed', - 'Low', 'Default', 'High' - :type trigger_sensitivity_override: str or - ~azure.mgmt.network.v2019_09_01.models.DdosCustomPolicyTriggerSensitivityOverride - """ - - _attribute_map = { - 'protocol': {'key': 'protocol', 'type': 'str'}, - 'trigger_rate_override': {'key': 'triggerRateOverride', 'type': 'str'}, - 'source_rate_override': {'key': 'sourceRateOverride', 'type': 'str'}, - 'trigger_sensitivity_override': {'key': 'triggerSensitivityOverride', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ProtocolCustomSettingsFormat, self).__init__(**kwargs) - self.protocol = kwargs.get('protocol', None) - self.trigger_rate_override = kwargs.get('trigger_rate_override', None) - self.source_rate_override = kwargs.get('source_rate_override', None) - self.trigger_sensitivity_override = kwargs.get('trigger_sensitivity_override', None) - - -class PublicIPAddress(Resource): - """Public IP address resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param sku: The public IP address SKU. - :type sku: ~azure.mgmt.network.v2019_09_01.models.PublicIPAddressSku - :param public_ip_allocation_method: The public IP address allocation - method. Possible values include: 'Static', 'Dynamic' - :type public_ip_allocation_method: str or - ~azure.mgmt.network.v2019_09_01.models.IPAllocationMethod - :param public_ip_address_version: The public IP address version. Possible - values include: 'IPv4', 'IPv6' - :type public_ip_address_version: str or - ~azure.mgmt.network.v2019_09_01.models.IPVersion - :ivar ip_configuration: The IP configuration associated with the public IP - address. - :vartype ip_configuration: - ~azure.mgmt.network.v2019_09_01.models.IPConfiguration - :param dns_settings: The FQDN of the DNS record associated with the public - IP address. - :type dns_settings: - ~azure.mgmt.network.v2019_09_01.models.PublicIPAddressDnsSettings - :param ddos_settings: The DDoS protection custom policy associated with - the public IP address. - :type ddos_settings: ~azure.mgmt.network.v2019_09_01.models.DdosSettings - :param ip_tags: The list of tags associated with the public IP address. - :type ip_tags: list[~azure.mgmt.network.v2019_09_01.models.IpTag] - :param ip_address: The IP address associated with the public IP address - resource. - :type ip_address: str - :param public_ip_prefix: The Public IP Prefix this Public IP Address - should be allocated from. - :type public_ip_prefix: ~azure.mgmt.network.v2019_09_01.models.SubResource - :param idle_timeout_in_minutes: The idle timeout of the public IP address. - :type idle_timeout_in_minutes: int - :ivar resource_guid: The resource GUID property of the public IP address - resource. - :vartype resource_guid: str - :ivar provisioning_state: The provisioning state of the public IP address - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :param zones: A list of availability zones denoting the IP allocated for - the resource needs to come from. - :type zones: list[str] - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'ip_configuration': {'readonly': True}, - 'resource_guid': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'sku': {'key': 'sku', 'type': 'PublicIPAddressSku'}, - 'public_ip_allocation_method': {'key': 'properties.publicIPAllocationMethod', 'type': 'str'}, - 'public_ip_address_version': {'key': 'properties.publicIPAddressVersion', 'type': 'str'}, - 'ip_configuration': {'key': 'properties.ipConfiguration', 'type': 'IPConfiguration'}, - 'dns_settings': {'key': 'properties.dnsSettings', 'type': 'PublicIPAddressDnsSettings'}, - 'ddos_settings': {'key': 'properties.ddosSettings', 'type': 'DdosSettings'}, - 'ip_tags': {'key': 'properties.ipTags', 'type': '[IpTag]'}, - 'ip_address': {'key': 'properties.ipAddress', 'type': 'str'}, - 'public_ip_prefix': {'key': 'properties.publicIPPrefix', 'type': 'SubResource'}, - 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'zones': {'key': 'zones', 'type': '[str]'}, - } - - def __init__(self, **kwargs): - super(PublicIPAddress, self).__init__(**kwargs) - self.sku = kwargs.get('sku', None) - self.public_ip_allocation_method = kwargs.get('public_ip_allocation_method', None) - self.public_ip_address_version = kwargs.get('public_ip_address_version', None) - self.ip_configuration = None - self.dns_settings = kwargs.get('dns_settings', None) - self.ddos_settings = kwargs.get('ddos_settings', None) - self.ip_tags = kwargs.get('ip_tags', None) - self.ip_address = kwargs.get('ip_address', None) - self.public_ip_prefix = kwargs.get('public_ip_prefix', None) - self.idle_timeout_in_minutes = kwargs.get('idle_timeout_in_minutes', None) - self.resource_guid = None - self.provisioning_state = None - self.etag = None - self.zones = kwargs.get('zones', None) - - -class PublicIPAddressDnsSettings(Model): - """Contains FQDN of the DNS record associated with the public IP address. - - :param domain_name_label: The domain name label. The concatenation of the - domain name label and the regionalized DNS zone make up the fully - qualified domain name associated with the public IP address. If a domain - name label is specified, an A DNS record is created for the public IP in - the Microsoft Azure DNS system. - :type domain_name_label: str - :param fqdn: The Fully Qualified Domain Name of the A DNS record - associated with the public IP. This is the concatenation of the - domainNameLabel and the regionalized DNS zone. - :type fqdn: str - :param reverse_fqdn: The reverse FQDN. A user-visible, fully qualified - domain name that resolves to this public IP address. If the reverseFqdn is - specified, then a PTR DNS record is created pointing from the IP address - in the in-addr.arpa domain to the reverse FQDN. - :type reverse_fqdn: str - """ - - _attribute_map = { - 'domain_name_label': {'key': 'domainNameLabel', 'type': 'str'}, - 'fqdn': {'key': 'fqdn', 'type': 'str'}, - 'reverse_fqdn': {'key': 'reverseFqdn', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(PublicIPAddressDnsSettings, self).__init__(**kwargs) - self.domain_name_label = kwargs.get('domain_name_label', None) - self.fqdn = kwargs.get('fqdn', None) - self.reverse_fqdn = kwargs.get('reverse_fqdn', None) - - -class PublicIPAddressSku(Model): - """SKU of a public IP address. - - :param name: Name of a public IP address SKU. Possible values include: - 'Basic', 'Standard' - :type name: str or - ~azure.mgmt.network.v2019_09_01.models.PublicIPAddressSkuName - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(PublicIPAddressSku, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - - -class PublicIPPrefix(Resource): - """Public IP prefix resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param sku: The public IP prefix SKU. - :type sku: ~azure.mgmt.network.v2019_09_01.models.PublicIPPrefixSku - :param public_ip_address_version: The public IP address version. Possible - values include: 'IPv4', 'IPv6' - :type public_ip_address_version: str or - ~azure.mgmt.network.v2019_09_01.models.IPVersion - :param ip_tags: The list of tags associated with the public IP prefix. - :type ip_tags: list[~azure.mgmt.network.v2019_09_01.models.IpTag] - :param prefix_length: The Length of the Public IP Prefix. - :type prefix_length: int - :ivar ip_prefix: The allocated Prefix. - :vartype ip_prefix: str - :ivar public_ip_addresses: The list of all referenced PublicIPAddresses. - :vartype public_ip_addresses: - list[~azure.mgmt.network.v2019_09_01.models.ReferencedPublicIpAddress] - :ivar load_balancer_frontend_ip_configuration: The reference to load - balancer frontend IP configuration associated with the public IP prefix. - :vartype load_balancer_frontend_ip_configuration: - ~azure.mgmt.network.v2019_09_01.models.SubResource - :ivar resource_guid: The resource GUID property of the public IP prefix - resource. - :vartype resource_guid: str - :ivar provisioning_state: The provisioning state of the public IP prefix - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :param zones: A list of availability zones denoting the IP allocated for - the resource needs to come from. - :type zones: list[str] - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'ip_prefix': {'readonly': True}, - 'public_ip_addresses': {'readonly': True}, - 'load_balancer_frontend_ip_configuration': {'readonly': True}, - 'resource_guid': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'sku': {'key': 'sku', 'type': 'PublicIPPrefixSku'}, - 'public_ip_address_version': {'key': 'properties.publicIPAddressVersion', 'type': 'str'}, - 'ip_tags': {'key': 'properties.ipTags', 'type': '[IpTag]'}, - 'prefix_length': {'key': 'properties.prefixLength', 'type': 'int'}, - 'ip_prefix': {'key': 'properties.ipPrefix', 'type': 'str'}, - 'public_ip_addresses': {'key': 'properties.publicIPAddresses', 'type': '[ReferencedPublicIpAddress]'}, - 'load_balancer_frontend_ip_configuration': {'key': 'properties.loadBalancerFrontendIpConfiguration', 'type': 'SubResource'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'zones': {'key': 'zones', 'type': '[str]'}, - } - - def __init__(self, **kwargs): - super(PublicIPPrefix, self).__init__(**kwargs) - self.sku = kwargs.get('sku', None) - self.public_ip_address_version = kwargs.get('public_ip_address_version', None) - self.ip_tags = kwargs.get('ip_tags', None) - self.prefix_length = kwargs.get('prefix_length', None) - self.ip_prefix = None - self.public_ip_addresses = None - self.load_balancer_frontend_ip_configuration = None - self.resource_guid = None - self.provisioning_state = None - self.etag = None - self.zones = kwargs.get('zones', None) - - -class PublicIPPrefixSku(Model): - """SKU of a public IP prefix. - - :param name: Name of a public IP prefix SKU. Possible values include: - 'Standard' - :type name: str or - ~azure.mgmt.network.v2019_09_01.models.PublicIPPrefixSkuName - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(PublicIPPrefixSku, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - - -class QueryTroubleshootingParameters(Model): - """Parameters that define the resource to query the troubleshooting result. - - All required parameters must be populated in order to send to Azure. - - :param target_resource_id: Required. The target resource ID to query the - troubleshooting result. - :type target_resource_id: str - """ - - _validation = { - 'target_resource_id': {'required': True}, - } - - _attribute_map = { - 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(QueryTroubleshootingParameters, self).__init__(**kwargs) - self.target_resource_id = kwargs.get('target_resource_id', None) - - -class ReferencedPublicIpAddress(Model): - """Reference to a public IP address. - - :param id: The PublicIPAddress Reference. - :type id: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ReferencedPublicIpAddress, self).__init__(**kwargs) - self.id = kwargs.get('id', None) - - -class ResourceNavigationLink(SubResource): - """ResourceNavigationLink resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param linked_resource_type: Resource type of the linked resource. - :type linked_resource_type: str - :param link: Link to the external resource. - :type link: str - :ivar provisioning_state: The provisioning state of the resource - navigation link resource. Possible values include: 'Succeeded', - 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param name: Name of the resource that is unique within a resource group. - This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :ivar type: Resource type. - :vartype type: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'linked_resource_type': {'key': 'properties.linkedResourceType', 'type': 'str'}, - 'link': {'key': 'properties.link', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ResourceNavigationLink, self).__init__(**kwargs) - self.linked_resource_type = kwargs.get('linked_resource_type', None) - self.link = kwargs.get('link', None) - self.provisioning_state = None - self.name = kwargs.get('name', None) - self.etag = None - self.type = None - - -class ResourceNavigationLinksListResult(Model): - """Response for ResourceNavigationLinks_List operation. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param value: The resource navigation links in a subnet. - :type value: - list[~azure.mgmt.network.v2019_09_01.models.ResourceNavigationLink] - :ivar next_link: The URL to get the next set of results. - :vartype next_link: str - """ - - _validation = { - 'next_link': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[ResourceNavigationLink]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ResourceNavigationLinksListResult, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - self.next_link = None - - -class RetentionPolicyParameters(Model): - """Parameters that define the retention policy for flow log. - - :param days: Number of days to retain flow log records. Default value: 0 . - :type days: int - :param enabled: Flag to enable/disable retention. Default value: False . - :type enabled: bool - """ - - _attribute_map = { - 'days': {'key': 'days', 'type': 'int'}, - 'enabled': {'key': 'enabled', 'type': 'bool'}, - } - - def __init__(self, **kwargs): - super(RetentionPolicyParameters, self).__init__(**kwargs) - self.days = kwargs.get('days', 0) - self.enabled = kwargs.get('enabled', False) - - -class Route(SubResource): - """Route resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :param address_prefix: The destination CIDR to which the route applies. - :type address_prefix: str - :param next_hop_type: Required. The type of Azure hop the packet should be - sent to. Possible values include: 'VirtualNetworkGateway', 'VnetLocal', - 'Internet', 'VirtualAppliance', 'None' - :type next_hop_type: str or - ~azure.mgmt.network.v2019_09_01.models.RouteNextHopType - :param next_hop_ip_address: The IP address packets should be forwarded to. - Next hop values are only allowed in routes where the next hop type is - VirtualAppliance. - :type next_hop_ip_address: str - :ivar provisioning_state: The provisioning state of the route resource. - Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'next_hop_type': {'required': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'address_prefix': {'key': 'properties.addressPrefix', 'type': 'str'}, - 'next_hop_type': {'key': 'properties.nextHopType', 'type': 'str'}, - 'next_hop_ip_address': {'key': 'properties.nextHopIpAddress', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(Route, self).__init__(**kwargs) - self.address_prefix = kwargs.get('address_prefix', None) - self.next_hop_type = kwargs.get('next_hop_type', None) - self.next_hop_ip_address = kwargs.get('next_hop_ip_address', None) - self.provisioning_state = None - self.name = kwargs.get('name', None) - self.etag = None - - -class RouteFilter(Resource): - """Route Filter Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param rules: Collection of RouteFilterRules contained within a route - filter. - :type rules: list[~azure.mgmt.network.v2019_09_01.models.RouteFilterRule] - :ivar peerings: A collection of references to express route circuit - peerings. - :vartype peerings: - list[~azure.mgmt.network.v2019_09_01.models.ExpressRouteCircuitPeering] - :ivar ipv6_peerings: A collection of references to express route circuit - ipv6 peerings. - :vartype ipv6_peerings: - list[~azure.mgmt.network.v2019_09_01.models.ExpressRouteCircuitPeering] - :ivar provisioning_state: The provisioning state of the route filter - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'peerings': {'readonly': True}, - 'ipv6_peerings': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'rules': {'key': 'properties.rules', 'type': '[RouteFilterRule]'}, - 'peerings': {'key': 'properties.peerings', 'type': '[ExpressRouteCircuitPeering]'}, - 'ipv6_peerings': {'key': 'properties.ipv6Peerings', 'type': '[ExpressRouteCircuitPeering]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(RouteFilter, self).__init__(**kwargs) - self.rules = kwargs.get('rules', None) - self.peerings = None - self.ipv6_peerings = None - self.provisioning_state = None - self.etag = None - - -class RouteFilterRule(SubResource): - """Route Filter Rule Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :param access: Required. The access type of the rule. Possible values - include: 'Allow', 'Deny' - :type access: str or ~azure.mgmt.network.v2019_09_01.models.Access - :ivar route_filter_rule_type: Required. The rule type of the rule. Default - value: "Community" . - :vartype route_filter_rule_type: str - :param communities: Required. The collection for bgp community values to - filter on. e.g. ['12076:5010','12076:5020']. - :type communities: list[str] - :ivar provisioning_state: The provisioning state of the route filter rule - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :param location: Resource location. - :type location: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'access': {'required': True}, - 'route_filter_rule_type': {'required': True, 'constant': True}, - 'communities': {'required': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'access': {'key': 'properties.access', 'type': 'str'}, - 'route_filter_rule_type': {'key': 'properties.routeFilterRuleType', 'type': 'str'}, - 'communities': {'key': 'properties.communities', 'type': '[str]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - route_filter_rule_type = "Community" - - def __init__(self, **kwargs): - super(RouteFilterRule, self).__init__(**kwargs) - self.access = kwargs.get('access', None) - self.communities = kwargs.get('communities', None) - self.provisioning_state = None - self.name = kwargs.get('name', None) - self.location = kwargs.get('location', None) - self.etag = None - - -class RouteTable(Resource): - """Route table resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param routes: Collection of routes contained within a route table. - :type routes: list[~azure.mgmt.network.v2019_09_01.models.Route] - :ivar subnets: A collection of references to subnets. - :vartype subnets: list[~azure.mgmt.network.v2019_09_01.models.Subnet] - :param disable_bgp_route_propagation: Whether to disable the routes - learned by BGP on that route table. True means disable. - :type disable_bgp_route_propagation: bool - :ivar provisioning_state: The provisioning state of the route table - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'subnets': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'routes': {'key': 'properties.routes', 'type': '[Route]'}, - 'subnets': {'key': 'properties.subnets', 'type': '[Subnet]'}, - 'disable_bgp_route_propagation': {'key': 'properties.disableBgpRoutePropagation', 'type': 'bool'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(RouteTable, self).__init__(**kwargs) - self.routes = kwargs.get('routes', None) - self.subnets = None - self.disable_bgp_route_propagation = kwargs.get('disable_bgp_route_propagation', None) - self.provisioning_state = None - self.etag = None - - -class SecurityGroupNetworkInterface(Model): - """Network interface and all its associated security rules. - - :param id: ID of the network interface. - :type id: str - :param security_rule_associations: All security rules associated with the - network interface. - :type security_rule_associations: - ~azure.mgmt.network.v2019_09_01.models.SecurityRuleAssociations - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'security_rule_associations': {'key': 'securityRuleAssociations', 'type': 'SecurityRuleAssociations'}, - } - - def __init__(self, **kwargs): - super(SecurityGroupNetworkInterface, self).__init__(**kwargs) - self.id = kwargs.get('id', None) - self.security_rule_associations = kwargs.get('security_rule_associations', None) - - -class SecurityGroupViewParameters(Model): - """Parameters that define the VM to check security groups for. - - All required parameters must be populated in order to send to Azure. - - :param target_resource_id: Required. ID of the target VM. - :type target_resource_id: str - """ - - _validation = { - 'target_resource_id': {'required': True}, - } - - _attribute_map = { - 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(SecurityGroupViewParameters, self).__init__(**kwargs) - self.target_resource_id = kwargs.get('target_resource_id', None) - - -class SecurityGroupViewResult(Model): - """The information about security rules applied to the specified VM. - - :param network_interfaces: List of network interfaces on the specified VM. - :type network_interfaces: - list[~azure.mgmt.network.v2019_09_01.models.SecurityGroupNetworkInterface] - """ - - _attribute_map = { - 'network_interfaces': {'key': 'networkInterfaces', 'type': '[SecurityGroupNetworkInterface]'}, - } - - def __init__(self, **kwargs): - super(SecurityGroupViewResult, self).__init__(**kwargs) - self.network_interfaces = kwargs.get('network_interfaces', None) - - -class SecurityRule(SubResource): - """Network security rule. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :param description: A description for this rule. Restricted to 140 chars. - :type description: str - :param protocol: Required. Network protocol this rule applies to. Possible - values include: 'Tcp', 'Udp', 'Icmp', 'Esp', '*', 'Ah' - :type protocol: str or - ~azure.mgmt.network.v2019_09_01.models.SecurityRuleProtocol - :param source_port_range: The source port or range. Integer or range - between 0 and 65535. Asterisk '*' can also be used to match all ports. - :type source_port_range: str - :param destination_port_range: The destination port or range. Integer or - range between 0 and 65535. Asterisk '*' can also be used to match all - ports. - :type destination_port_range: str - :param source_address_prefix: The CIDR or source IP range. Asterisk '*' - can also be used to match all source IPs. Default tags such as - 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. If - this is an ingress rule, specifies where network traffic originates from. - :type source_address_prefix: str - :param source_address_prefixes: The CIDR or source IP ranges. - :type source_address_prefixes: list[str] - :param source_application_security_groups: The application security group - specified as source. - :type source_application_security_groups: - list[~azure.mgmt.network.v2019_09_01.models.ApplicationSecurityGroup] - :param destination_address_prefix: The destination address prefix. CIDR or - destination IP range. Asterisk '*' can also be used to match all source - IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and - 'Internet' can also be used. - :type destination_address_prefix: str - :param destination_address_prefixes: The destination address prefixes. - CIDR or destination IP ranges. - :type destination_address_prefixes: list[str] - :param destination_application_security_groups: The application security - group specified as destination. - :type destination_application_security_groups: - list[~azure.mgmt.network.v2019_09_01.models.ApplicationSecurityGroup] - :param source_port_ranges: The source port ranges. - :type source_port_ranges: list[str] - :param destination_port_ranges: The destination port ranges. - :type destination_port_ranges: list[str] - :param access: Required. The network traffic is allowed or denied. - Possible values include: 'Allow', 'Deny' - :type access: str or - ~azure.mgmt.network.v2019_09_01.models.SecurityRuleAccess - :param priority: The priority of the rule. The value can be between 100 - and 4096. The priority number must be unique for each rule in the - collection. The lower the priority number, the higher the priority of the - rule. - :type priority: int - :param direction: Required. The direction of the rule. The direction - specifies if rule will be evaluated on incoming or outgoing traffic. - Possible values include: 'Inbound', 'Outbound' - :type direction: str or - ~azure.mgmt.network.v2019_09_01.models.SecurityRuleDirection - :ivar provisioning_state: The provisioning state of the security rule - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'protocol': {'required': True}, - 'access': {'required': True}, - 'direction': {'required': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'description': {'key': 'properties.description', 'type': 'str'}, - 'protocol': {'key': 'properties.protocol', 'type': 'str'}, - 'source_port_range': {'key': 'properties.sourcePortRange', 'type': 'str'}, - 'destination_port_range': {'key': 'properties.destinationPortRange', 'type': 'str'}, - 'source_address_prefix': {'key': 'properties.sourceAddressPrefix', 'type': 'str'}, - 'source_address_prefixes': {'key': 'properties.sourceAddressPrefixes', 'type': '[str]'}, - 'source_application_security_groups': {'key': 'properties.sourceApplicationSecurityGroups', 'type': '[ApplicationSecurityGroup]'}, - 'destination_address_prefix': {'key': 'properties.destinationAddressPrefix', 'type': 'str'}, - 'destination_address_prefixes': {'key': 'properties.destinationAddressPrefixes', 'type': '[str]'}, - 'destination_application_security_groups': {'key': 'properties.destinationApplicationSecurityGroups', 'type': '[ApplicationSecurityGroup]'}, - 'source_port_ranges': {'key': 'properties.sourcePortRanges', 'type': '[str]'}, - 'destination_port_ranges': {'key': 'properties.destinationPortRanges', 'type': '[str]'}, - 'access': {'key': 'properties.access', 'type': 'str'}, - 'priority': {'key': 'properties.priority', 'type': 'int'}, - 'direction': {'key': 'properties.direction', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(SecurityRule, self).__init__(**kwargs) - self.description = kwargs.get('description', None) - self.protocol = kwargs.get('protocol', None) - self.source_port_range = kwargs.get('source_port_range', None) - self.destination_port_range = kwargs.get('destination_port_range', None) - self.source_address_prefix = kwargs.get('source_address_prefix', None) - self.source_address_prefixes = kwargs.get('source_address_prefixes', None) - self.source_application_security_groups = kwargs.get('source_application_security_groups', None) - self.destination_address_prefix = kwargs.get('destination_address_prefix', None) - self.destination_address_prefixes = kwargs.get('destination_address_prefixes', None) - self.destination_application_security_groups = kwargs.get('destination_application_security_groups', None) - self.source_port_ranges = kwargs.get('source_port_ranges', None) - self.destination_port_ranges = kwargs.get('destination_port_ranges', None) - self.access = kwargs.get('access', None) - self.priority = kwargs.get('priority', None) - self.direction = kwargs.get('direction', None) - self.provisioning_state = None - self.name = kwargs.get('name', None) - self.etag = None - - -class SecurityRuleAssociations(Model): - """All security rules associated with the network interface. - - :param network_interface_association: Network interface and it's custom - security rules. - :type network_interface_association: - ~azure.mgmt.network.v2019_09_01.models.NetworkInterfaceAssociation - :param subnet_association: Subnet and it's custom security rules. - :type subnet_association: - ~azure.mgmt.network.v2019_09_01.models.SubnetAssociation - :param default_security_rules: Collection of default security rules of the - network security group. - :type default_security_rules: - list[~azure.mgmt.network.v2019_09_01.models.SecurityRule] - :param effective_security_rules: Collection of effective security rules. - :type effective_security_rules: - list[~azure.mgmt.network.v2019_09_01.models.EffectiveNetworkSecurityRule] - """ - - _attribute_map = { - 'network_interface_association': {'key': 'networkInterfaceAssociation', 'type': 'NetworkInterfaceAssociation'}, - 'subnet_association': {'key': 'subnetAssociation', 'type': 'SubnetAssociation'}, - 'default_security_rules': {'key': 'defaultSecurityRules', 'type': '[SecurityRule]'}, - 'effective_security_rules': {'key': 'effectiveSecurityRules', 'type': '[EffectiveNetworkSecurityRule]'}, - } - - def __init__(self, **kwargs): - super(SecurityRuleAssociations, self).__init__(**kwargs) - self.network_interface_association = kwargs.get('network_interface_association', None) - self.subnet_association = kwargs.get('subnet_association', None) - self.default_security_rules = kwargs.get('default_security_rules', None) - self.effective_security_rules = kwargs.get('effective_security_rules', None) - - -class ServiceAssociationLink(SubResource): - """ServiceAssociationLink resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param linked_resource_type: Resource type of the linked resource. - :type linked_resource_type: str - :param link: Link to the external resource. - :type link: str - :ivar provisioning_state: The provisioning state of the service - association link resource. Possible values include: 'Succeeded', - 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param allow_delete: If true, the resource can be deleted. - :type allow_delete: bool - :param locations: A list of locations. - :type locations: list[str] - :param name: Name of the resource that is unique within a resource group. - This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :ivar type: Resource type. - :vartype type: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'linked_resource_type': {'key': 'properties.linkedResourceType', 'type': 'str'}, - 'link': {'key': 'properties.link', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'allow_delete': {'key': 'properties.allowDelete', 'type': 'bool'}, - 'locations': {'key': 'properties.locations', 'type': '[str]'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ServiceAssociationLink, self).__init__(**kwargs) - self.linked_resource_type = kwargs.get('linked_resource_type', None) - self.link = kwargs.get('link', None) - self.provisioning_state = None - self.allow_delete = kwargs.get('allow_delete', None) - self.locations = kwargs.get('locations', None) - self.name = kwargs.get('name', None) - self.etag = None - self.type = None - - -class ServiceAssociationLinksListResult(Model): - """Response for ServiceAssociationLinks_List operation. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param value: The service association links in a subnet. - :type value: - list[~azure.mgmt.network.v2019_09_01.models.ServiceAssociationLink] - :ivar next_link: The URL to get the next set of results. - :vartype next_link: str - """ - - _validation = { - 'next_link': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[ServiceAssociationLink]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ServiceAssociationLinksListResult, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - self.next_link = None - - -class ServiceEndpointPolicy(Resource): - """Service End point policy resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param service_endpoint_policy_definitions: A collection of service - endpoint policy definitions of the service endpoint policy. - :type service_endpoint_policy_definitions: - list[~azure.mgmt.network.v2019_09_01.models.ServiceEndpointPolicyDefinition] - :ivar subnets: A collection of references to subnets. - :vartype subnets: list[~azure.mgmt.network.v2019_09_01.models.Subnet] - :ivar resource_guid: The resource GUID property of the service endpoint - policy resource. - :vartype resource_guid: str - :ivar provisioning_state: The provisioning state of the service endpoint - policy resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'subnets': {'readonly': True}, - 'resource_guid': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'service_endpoint_policy_definitions': {'key': 'properties.serviceEndpointPolicyDefinitions', 'type': '[ServiceEndpointPolicyDefinition]'}, - 'subnets': {'key': 'properties.subnets', 'type': '[Subnet]'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ServiceEndpointPolicy, self).__init__(**kwargs) - self.service_endpoint_policy_definitions = kwargs.get('service_endpoint_policy_definitions', None) - self.subnets = None - self.resource_guid = None - self.provisioning_state = None - self.etag = None - - -class ServiceEndpointPolicyDefinition(SubResource): - """Service Endpoint policy definitions. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param description: A description for this rule. Restricted to 140 chars. - :type description: str - :param service: Service endpoint name. - :type service: str - :param service_resources: A list of service resources. - :type service_resources: list[str] - :ivar provisioning_state: The provisioning state of the service endpoint - policy definition resource. Possible values include: 'Succeeded', - 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'description': {'key': 'properties.description', 'type': 'str'}, - 'service': {'key': 'properties.service', 'type': 'str'}, - 'service_resources': {'key': 'properties.serviceResources', 'type': '[str]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ServiceEndpointPolicyDefinition, self).__init__(**kwargs) - self.description = kwargs.get('description', None) - self.service = kwargs.get('service', None) - self.service_resources = kwargs.get('service_resources', None) - self.provisioning_state = None - self.name = kwargs.get('name', None) - self.etag = None - - -class ServiceEndpointPropertiesFormat(Model): - """The service endpoint properties. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param service: The type of the endpoint service. - :type service: str - :param locations: A list of locations. - :type locations: list[str] - :ivar provisioning_state: The provisioning state of the service endpoint - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'service': {'key': 'service', 'type': 'str'}, - 'locations': {'key': 'locations', 'type': '[str]'}, - 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ServiceEndpointPropertiesFormat, self).__init__(**kwargs) - self.service = kwargs.get('service', None) - self.locations = kwargs.get('locations', None) - self.provisioning_state = None - - -class ServiceTagInformation(Model): - """The service tag information. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar properties: Properties of the service tag information. - :vartype properties: - ~azure.mgmt.network.v2019_09_01.models.ServiceTagInformationPropertiesFormat - :ivar name: The name of service tag. - :vartype name: str - :ivar id: The ID of service tag. - :vartype id: str - """ - - _validation = { - 'properties': {'readonly': True}, - 'name': {'readonly': True}, - 'id': {'readonly': True}, - } - - _attribute_map = { - 'properties': {'key': 'properties', 'type': 'ServiceTagInformationPropertiesFormat'}, - 'name': {'key': 'name', 'type': 'str'}, - 'id': {'key': 'id', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ServiceTagInformation, self).__init__(**kwargs) - self.properties = None - self.name = None - self.id = None - - -class ServiceTagInformationPropertiesFormat(Model): - """Properties of the service tag information. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar change_number: The iteration number of service tag. - :vartype change_number: str - :ivar region: The region of service tag. - :vartype region: str - :ivar system_service: The name of system service. - :vartype system_service: str - :ivar address_prefixes: The list of IP address prefixes. - :vartype address_prefixes: list[str] - """ - - _validation = { - 'change_number': {'readonly': True}, - 'region': {'readonly': True}, - 'system_service': {'readonly': True}, - 'address_prefixes': {'readonly': True}, - } - - _attribute_map = { - 'change_number': {'key': 'changeNumber', 'type': 'str'}, - 'region': {'key': 'region', 'type': 'str'}, - 'system_service': {'key': 'systemService', 'type': 'str'}, - 'address_prefixes': {'key': 'addressPrefixes', 'type': '[str]'}, - } - - def __init__(self, **kwargs): - super(ServiceTagInformationPropertiesFormat, self).__init__(**kwargs) - self.change_number = None - self.region = None - self.system_service = None - self.address_prefixes = None - - -class ServiceTagsListResult(Model): - """Response for the ListServiceTags API service call. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar name: The name of the cloud. - :vartype name: str - :ivar id: The ID of the cloud. - :vartype id: str - :ivar type: The azure resource type. - :vartype type: str - :ivar change_number: The iteration number. - :vartype change_number: str - :ivar cloud: The name of the cloud. - :vartype cloud: str - :ivar values: The list of service tag information resources. - :vartype values: - list[~azure.mgmt.network.v2019_09_01.models.ServiceTagInformation] - """ - - _validation = { - 'name': {'readonly': True}, - 'id': {'readonly': True}, - 'type': {'readonly': True}, - 'change_number': {'readonly': True}, - 'cloud': {'readonly': True}, - 'values': {'readonly': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'id': {'key': 'id', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'change_number': {'key': 'changeNumber', 'type': 'str'}, - 'cloud': {'key': 'cloud', 'type': 'str'}, - 'values': {'key': 'values', 'type': '[ServiceTagInformation]'}, - } - - def __init__(self, **kwargs): - super(ServiceTagsListResult, self).__init__(**kwargs) - self.name = None - self.id = None - self.type = None - self.change_number = None - self.cloud = None - self.values = None - - -class Subnet(SubResource): - """Subnet in a virtual network resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param address_prefix: The address prefix for the subnet. - :type address_prefix: str - :param address_prefixes: List of address prefixes for the subnet. - :type address_prefixes: list[str] - :param network_security_group: The reference of the NetworkSecurityGroup - resource. - :type network_security_group: - ~azure.mgmt.network.v2019_09_01.models.NetworkSecurityGroup - :param route_table: The reference of the RouteTable resource. - :type route_table: ~azure.mgmt.network.v2019_09_01.models.RouteTable - :param nat_gateway: Nat gateway associated with this subnet. - :type nat_gateway: ~azure.mgmt.network.v2019_09_01.models.SubResource - :param service_endpoints: An array of service endpoints. - :type service_endpoints: - list[~azure.mgmt.network.v2019_09_01.models.ServiceEndpointPropertiesFormat] - :param service_endpoint_policies: An array of service endpoint policies. - :type service_endpoint_policies: - list[~azure.mgmt.network.v2019_09_01.models.ServiceEndpointPolicy] - :ivar private_endpoints: An array of references to private endpoints. - :vartype private_endpoints: - list[~azure.mgmt.network.v2019_09_01.models.PrivateEndpoint] - :ivar ip_configurations: An array of references to the network interface - IP configurations using subnet. - :vartype ip_configurations: - list[~azure.mgmt.network.v2019_09_01.models.IPConfiguration] - :ivar ip_configuration_profiles: Array of IP configuration profiles which - reference this subnet. - :vartype ip_configuration_profiles: - list[~azure.mgmt.network.v2019_09_01.models.IPConfigurationProfile] - :ivar resource_navigation_links: An array of references to the external - resources using subnet. - :vartype resource_navigation_links: - list[~azure.mgmt.network.v2019_09_01.models.ResourceNavigationLink] - :ivar service_association_links: An array of references to services - injecting into this subnet. - :vartype service_association_links: - list[~azure.mgmt.network.v2019_09_01.models.ServiceAssociationLink] - :param delegations: An array of references to the delegations on the - subnet. - :type delegations: list[~azure.mgmt.network.v2019_09_01.models.Delegation] - :ivar purpose: A read-only string identifying the intention of use for - this subnet based on delegations and other user-defined properties. - :vartype purpose: str - :ivar provisioning_state: The provisioning state of the subnet resource. - Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param private_endpoint_network_policies: Enable or Disable apply network - policies on private end point in the subnet. - :type private_endpoint_network_policies: str - :param private_link_service_network_policies: Enable or Disable apply - network policies on private link service in the subnet. - :type private_link_service_network_policies: str - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'private_endpoints': {'readonly': True}, - 'ip_configurations': {'readonly': True}, - 'ip_configuration_profiles': {'readonly': True}, - 'resource_navigation_links': {'readonly': True}, - 'service_association_links': {'readonly': True}, - 'purpose': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'address_prefix': {'key': 'properties.addressPrefix', 'type': 'str'}, - 'address_prefixes': {'key': 'properties.addressPrefixes', 'type': '[str]'}, - 'network_security_group': {'key': 'properties.networkSecurityGroup', 'type': 'NetworkSecurityGroup'}, - 'route_table': {'key': 'properties.routeTable', 'type': 'RouteTable'}, - 'nat_gateway': {'key': 'properties.natGateway', 'type': 'SubResource'}, - 'service_endpoints': {'key': 'properties.serviceEndpoints', 'type': '[ServiceEndpointPropertiesFormat]'}, - 'service_endpoint_policies': {'key': 'properties.serviceEndpointPolicies', 'type': '[ServiceEndpointPolicy]'}, - 'private_endpoints': {'key': 'properties.privateEndpoints', 'type': '[PrivateEndpoint]'}, - 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[IPConfiguration]'}, - 'ip_configuration_profiles': {'key': 'properties.ipConfigurationProfiles', 'type': '[IPConfigurationProfile]'}, - 'resource_navigation_links': {'key': 'properties.resourceNavigationLinks', 'type': '[ResourceNavigationLink]'}, - 'service_association_links': {'key': 'properties.serviceAssociationLinks', 'type': '[ServiceAssociationLink]'}, - 'delegations': {'key': 'properties.delegations', 'type': '[Delegation]'}, - 'purpose': {'key': 'properties.purpose', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'private_endpoint_network_policies': {'key': 'properties.privateEndpointNetworkPolicies', 'type': 'str'}, - 'private_link_service_network_policies': {'key': 'properties.privateLinkServiceNetworkPolicies', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(Subnet, self).__init__(**kwargs) - self.address_prefix = kwargs.get('address_prefix', None) - self.address_prefixes = kwargs.get('address_prefixes', None) - self.network_security_group = kwargs.get('network_security_group', None) - self.route_table = kwargs.get('route_table', None) - self.nat_gateway = kwargs.get('nat_gateway', None) - self.service_endpoints = kwargs.get('service_endpoints', None) - self.service_endpoint_policies = kwargs.get('service_endpoint_policies', None) - self.private_endpoints = None - self.ip_configurations = None - self.ip_configuration_profiles = None - self.resource_navigation_links = None - self.service_association_links = None - self.delegations = kwargs.get('delegations', None) - self.purpose = None - self.provisioning_state = None - self.private_endpoint_network_policies = kwargs.get('private_endpoint_network_policies', None) - self.private_link_service_network_policies = kwargs.get('private_link_service_network_policies', None) - self.name = kwargs.get('name', None) - self.etag = None - - -class SubnetAssociation(Model): - """Subnet and it's custom security rules. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar id: Subnet ID. - :vartype id: str - :param security_rules: Collection of custom security rules. - :type security_rules: - list[~azure.mgmt.network.v2019_09_01.models.SecurityRule] - """ - - _validation = { - 'id': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'security_rules': {'key': 'securityRules', 'type': '[SecurityRule]'}, - } - - def __init__(self, **kwargs): - super(SubnetAssociation, self).__init__(**kwargs) - self.id = None - self.security_rules = kwargs.get('security_rules', None) - - -class TagsObject(Model): - """Tags object for patch operations. - - :param tags: Resource tags. - :type tags: dict[str, str] - """ - - _attribute_map = { - 'tags': {'key': 'tags', 'type': '{str}'}, - } - - def __init__(self, **kwargs): - super(TagsObject, self).__init__(**kwargs) - self.tags = kwargs.get('tags', None) - - -class Topology(Model): - """Topology of the specified resource group. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar id: GUID representing the operation id. - :vartype id: str - :ivar created_date_time: The datetime when the topology was initially - created for the resource group. - :vartype created_date_time: datetime - :ivar last_modified: The datetime when the topology was last modified. - :vartype last_modified: datetime - :param resources: A list of topology resources. - :type resources: - list[~azure.mgmt.network.v2019_09_01.models.TopologyResource] - """ - - _validation = { - 'id': {'readonly': True}, - 'created_date_time': {'readonly': True}, - 'last_modified': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'created_date_time': {'key': 'createdDateTime', 'type': 'iso-8601'}, - 'last_modified': {'key': 'lastModified', 'type': 'iso-8601'}, - 'resources': {'key': 'resources', 'type': '[TopologyResource]'}, - } - - def __init__(self, **kwargs): - super(Topology, self).__init__(**kwargs) - self.id = None - self.created_date_time = None - self.last_modified = None - self.resources = kwargs.get('resources', None) - - -class TopologyAssociation(Model): - """Resources that have an association with the parent resource. - - :param name: The name of the resource that is associated with the parent - resource. - :type name: str - :param resource_id: The ID of the resource that is associated with the - parent resource. - :type resource_id: str - :param association_type: The association type of the child resource to the - parent resource. Possible values include: 'Associated', 'Contains' - :type association_type: str or - ~azure.mgmt.network.v2019_09_01.models.AssociationType - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'resource_id': {'key': 'resourceId', 'type': 'str'}, - 'association_type': {'key': 'associationType', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(TopologyAssociation, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.resource_id = kwargs.get('resource_id', None) - self.association_type = kwargs.get('association_type', None) - - -class TopologyParameters(Model): - """Parameters that define the representation of topology. - - :param target_resource_group_name: The name of the target resource group - to perform topology on. - :type target_resource_group_name: str - :param target_virtual_network: The reference of the Virtual Network - resource. - :type target_virtual_network: - ~azure.mgmt.network.v2019_09_01.models.SubResource - :param target_subnet: The reference of the Subnet resource. - :type target_subnet: ~azure.mgmt.network.v2019_09_01.models.SubResource - """ - - _attribute_map = { - 'target_resource_group_name': {'key': 'targetResourceGroupName', 'type': 'str'}, - 'target_virtual_network': {'key': 'targetVirtualNetwork', 'type': 'SubResource'}, - 'target_subnet': {'key': 'targetSubnet', 'type': 'SubResource'}, - } - - def __init__(self, **kwargs): - super(TopologyParameters, self).__init__(**kwargs) - self.target_resource_group_name = kwargs.get('target_resource_group_name', None) - self.target_virtual_network = kwargs.get('target_virtual_network', None) - self.target_subnet = kwargs.get('target_subnet', None) - - -class TopologyResource(Model): - """The network resource topology information for the given resource group. - - :param name: Name of the resource. - :type name: str - :param id: ID of the resource. - :type id: str - :param location: Resource location. - :type location: str - :param associations: Holds the associations the resource has with other - resources in the resource group. - :type associations: - list[~azure.mgmt.network.v2019_09_01.models.TopologyAssociation] - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'id': {'key': 'id', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'associations': {'key': 'associations', 'type': '[TopologyAssociation]'}, - } - - def __init__(self, **kwargs): - super(TopologyResource, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.id = kwargs.get('id', None) - self.location = kwargs.get('location', None) - self.associations = kwargs.get('associations', None) - - -class TrafficAnalyticsConfigurationProperties(Model): - """Parameters that define the configuration of traffic analytics. - - All required parameters must be populated in order to send to Azure. - - :param enabled: Required. Flag to enable/disable traffic analytics. - :type enabled: bool - :param workspace_id: The resource guid of the attached workspace. - :type workspace_id: str - :param workspace_region: The location of the attached workspace. - :type workspace_region: str - :param workspace_resource_id: Resource Id of the attached workspace. - :type workspace_resource_id: str - :param traffic_analytics_interval: The interval in minutes which would - decide how frequently TA service should do flow analytics. - :type traffic_analytics_interval: int - """ - - _validation = { - 'enabled': {'required': True}, - } - - _attribute_map = { - 'enabled': {'key': 'enabled', 'type': 'bool'}, - 'workspace_id': {'key': 'workspaceId', 'type': 'str'}, - 'workspace_region': {'key': 'workspaceRegion', 'type': 'str'}, - 'workspace_resource_id': {'key': 'workspaceResourceId', 'type': 'str'}, - 'traffic_analytics_interval': {'key': 'trafficAnalyticsInterval', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(TrafficAnalyticsConfigurationProperties, self).__init__(**kwargs) - self.enabled = kwargs.get('enabled', None) - self.workspace_id = kwargs.get('workspace_id', None) - self.workspace_region = kwargs.get('workspace_region', None) - self.workspace_resource_id = kwargs.get('workspace_resource_id', None) - self.traffic_analytics_interval = kwargs.get('traffic_analytics_interval', None) - - -class TrafficAnalyticsProperties(Model): - """Parameters that define the configuration of traffic analytics. - - All required parameters must be populated in order to send to Azure. - - :param network_watcher_flow_analytics_configuration: Required. Parameters - that define the configuration of traffic analytics. - :type network_watcher_flow_analytics_configuration: - ~azure.mgmt.network.v2019_09_01.models.TrafficAnalyticsConfigurationProperties - """ - - _validation = { - 'network_watcher_flow_analytics_configuration': {'required': True}, - } - - _attribute_map = { - 'network_watcher_flow_analytics_configuration': {'key': 'networkWatcherFlowAnalyticsConfiguration', 'type': 'TrafficAnalyticsConfigurationProperties'}, - } - - def __init__(self, **kwargs): - super(TrafficAnalyticsProperties, self).__init__(**kwargs) - self.network_watcher_flow_analytics_configuration = kwargs.get('network_watcher_flow_analytics_configuration', None) - - -class TrafficSelectorPolicy(Model): - """An traffic selector policy for a virtual network gateway connection. - - All required parameters must be populated in order to send to Azure. - - :param local_address_ranges: Required. A collection of local address - spaces in CIDR format - :type local_address_ranges: list[str] - :param remote_address_ranges: Required. A collection of remote address - spaces in CIDR format - :type remote_address_ranges: list[str] - """ - - _validation = { - 'local_address_ranges': {'required': True}, - 'remote_address_ranges': {'required': True}, - } - - _attribute_map = { - 'local_address_ranges': {'key': 'localAddressRanges', 'type': '[str]'}, - 'remote_address_ranges': {'key': 'remoteAddressRanges', 'type': '[str]'}, - } - - def __init__(self, **kwargs): - super(TrafficSelectorPolicy, self).__init__(**kwargs) - self.local_address_ranges = kwargs.get('local_address_ranges', None) - self.remote_address_ranges = kwargs.get('remote_address_ranges', None) - - -class TroubleshootingDetails(Model): - """Information gained from troubleshooting of specified resource. - - :param id: The id of the get troubleshoot operation. - :type id: str - :param reason_type: Reason type of failure. - :type reason_type: str - :param summary: A summary of troubleshooting. - :type summary: str - :param detail: Details on troubleshooting results. - :type detail: str - :param recommended_actions: List of recommended actions. - :type recommended_actions: - list[~azure.mgmt.network.v2019_09_01.models.TroubleshootingRecommendedActions] - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'reason_type': {'key': 'reasonType', 'type': 'str'}, - 'summary': {'key': 'summary', 'type': 'str'}, - 'detail': {'key': 'detail', 'type': 'str'}, - 'recommended_actions': {'key': 'recommendedActions', 'type': '[TroubleshootingRecommendedActions]'}, - } - - def __init__(self, **kwargs): - super(TroubleshootingDetails, self).__init__(**kwargs) - self.id = kwargs.get('id', None) - self.reason_type = kwargs.get('reason_type', None) - self.summary = kwargs.get('summary', None) - self.detail = kwargs.get('detail', None) - self.recommended_actions = kwargs.get('recommended_actions', None) - - -class TroubleshootingParameters(Model): - """Parameters that define the resource to troubleshoot. - - All required parameters must be populated in order to send to Azure. - - :param target_resource_id: Required. The target resource to troubleshoot. - :type target_resource_id: str - :param storage_id: Required. The ID for the storage account to save the - troubleshoot result. - :type storage_id: str - :param storage_path: Required. The path to the blob to save the - troubleshoot result in. - :type storage_path: str - """ - - _validation = { - 'target_resource_id': {'required': True}, - 'storage_id': {'required': True}, - 'storage_path': {'required': True}, - } - - _attribute_map = { - 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, - 'storage_id': {'key': 'properties.storageId', 'type': 'str'}, - 'storage_path': {'key': 'properties.storagePath', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(TroubleshootingParameters, self).__init__(**kwargs) - self.target_resource_id = kwargs.get('target_resource_id', None) - self.storage_id = kwargs.get('storage_id', None) - self.storage_path = kwargs.get('storage_path', None) - - -class TroubleshootingRecommendedActions(Model): - """Recommended actions based on discovered issues. - - :param action_id: ID of the recommended action. - :type action_id: str - :param action_text: Description of recommended actions. - :type action_text: str - :param action_uri: The uri linking to a documentation for the recommended - troubleshooting actions. - :type action_uri: str - :param action_uri_text: The information from the URI for the recommended - troubleshooting actions. - :type action_uri_text: str - """ - - _attribute_map = { - 'action_id': {'key': 'actionId', 'type': 'str'}, - 'action_text': {'key': 'actionText', 'type': 'str'}, - 'action_uri': {'key': 'actionUri', 'type': 'str'}, - 'action_uri_text': {'key': 'actionUriText', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(TroubleshootingRecommendedActions, self).__init__(**kwargs) - self.action_id = kwargs.get('action_id', None) - self.action_text = kwargs.get('action_text', None) - self.action_uri = kwargs.get('action_uri', None) - self.action_uri_text = kwargs.get('action_uri_text', None) - - -class TroubleshootingResult(Model): - """Troubleshooting information gained from specified resource. - - :param start_time: The start time of the troubleshooting. - :type start_time: datetime - :param end_time: The end time of the troubleshooting. - :type end_time: datetime - :param code: The result code of the troubleshooting. - :type code: str - :param results: Information from troubleshooting. - :type results: - list[~azure.mgmt.network.v2019_09_01.models.TroubleshootingDetails] - """ - - _attribute_map = { - 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, - 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, - 'code': {'key': 'code', 'type': 'str'}, - 'results': {'key': 'results', 'type': '[TroubleshootingDetails]'}, - } - - def __init__(self, **kwargs): - super(TroubleshootingResult, self).__init__(**kwargs) - self.start_time = kwargs.get('start_time', None) - self.end_time = kwargs.get('end_time', None) - self.code = kwargs.get('code', None) - self.results = kwargs.get('results', None) - - -class TunnelConnectionHealth(Model): - """VirtualNetworkGatewayConnection properties. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar tunnel: Tunnel name. - :vartype tunnel: str - :ivar connection_status: Virtual Network Gateway connection status. - Possible values include: 'Unknown', 'Connecting', 'Connected', - 'NotConnected' - :vartype connection_status: str or - ~azure.mgmt.network.v2019_09_01.models.VirtualNetworkGatewayConnectionStatus - :ivar ingress_bytes_transferred: The Ingress Bytes Transferred in this - connection. - :vartype ingress_bytes_transferred: long - :ivar egress_bytes_transferred: The Egress Bytes Transferred in this - connection. - :vartype egress_bytes_transferred: long - :ivar last_connection_established_utc_time: The time at which connection - was established in Utc format. - :vartype last_connection_established_utc_time: str - """ - - _validation = { - 'tunnel': {'readonly': True}, - 'connection_status': {'readonly': True}, - 'ingress_bytes_transferred': {'readonly': True}, - 'egress_bytes_transferred': {'readonly': True}, - 'last_connection_established_utc_time': {'readonly': True}, - } - - _attribute_map = { - 'tunnel': {'key': 'tunnel', 'type': 'str'}, - 'connection_status': {'key': 'connectionStatus', 'type': 'str'}, - 'ingress_bytes_transferred': {'key': 'ingressBytesTransferred', 'type': 'long'}, - 'egress_bytes_transferred': {'key': 'egressBytesTransferred', 'type': 'long'}, - 'last_connection_established_utc_time': {'key': 'lastConnectionEstablishedUtcTime', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(TunnelConnectionHealth, self).__init__(**kwargs) - self.tunnel = None - self.connection_status = None - self.ingress_bytes_transferred = None - self.egress_bytes_transferred = None - self.last_connection_established_utc_time = None - - -class UnprepareNetworkPoliciesRequest(Model): - """Details of UnprepareNetworkPolicies for Subnet. - - :param service_name: The name of the service for which subnet is being - unprepared for. - :type service_name: str - """ - - _attribute_map = { - 'service_name': {'key': 'serviceName', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(UnprepareNetworkPoliciesRequest, self).__init__(**kwargs) - self.service_name = kwargs.get('service_name', None) - - -class Usage(Model): - """Describes network resource usage. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :ivar id: Resource identifier. - :vartype id: str - :ivar unit: Required. An enum describing the unit of measurement. Default - value: "Count" . - :vartype unit: str - :param current_value: Required. The current value of the usage. - :type current_value: long - :param limit: Required. The limit of usage. - :type limit: long - :param name: Required. The name of the type of usage. - :type name: ~azure.mgmt.network.v2019_09_01.models.UsageName - """ - - _validation = { - 'id': {'readonly': True}, - 'unit': {'required': True, 'constant': True}, - 'current_value': {'required': True}, - 'limit': {'required': True}, - 'name': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'unit': {'key': 'unit', 'type': 'str'}, - 'current_value': {'key': 'currentValue', 'type': 'long'}, - 'limit': {'key': 'limit', 'type': 'long'}, - 'name': {'key': 'name', 'type': 'UsageName'}, - } - - unit = "Count" - - def __init__(self, **kwargs): - super(Usage, self).__init__(**kwargs) - self.id = None - self.current_value = kwargs.get('current_value', None) - self.limit = kwargs.get('limit', None) - self.name = kwargs.get('name', None) - - -class UsageName(Model): - """The usage names. - - :param value: A string describing the resource name. - :type value: str - :param localized_value: A localized string describing the resource name. - :type localized_value: str - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': 'str'}, - 'localized_value': {'key': 'localizedValue', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(UsageName, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - self.localized_value = kwargs.get('localized_value', None) - - -class VerificationIPFlowParameters(Model): - """Parameters that define the IP flow to be verified. - - All required parameters must be populated in order to send to Azure. - - :param target_resource_id: Required. The ID of the target resource to - perform next-hop on. - :type target_resource_id: str - :param direction: Required. The direction of the packet represented as a - 5-tuple. Possible values include: 'Inbound', 'Outbound' - :type direction: str or ~azure.mgmt.network.v2019_09_01.models.Direction - :param protocol: Required. Protocol to be verified on. Possible values - include: 'TCP', 'UDP' - :type protocol: str or - ~azure.mgmt.network.v2019_09_01.models.IpFlowProtocol - :param local_port: Required. The local port. Acceptable values are a - single integer in the range (0-65535). Support for * for the source port, - which depends on the direction. - :type local_port: str - :param remote_port: Required. The remote port. Acceptable values are a - single integer in the range (0-65535). Support for * for the source port, - which depends on the direction. - :type remote_port: str - :param local_ip_address: Required. The local IP address. Acceptable values - are valid IPv4 addresses. - :type local_ip_address: str - :param remote_ip_address: Required. The remote IP address. Acceptable - values are valid IPv4 addresses. - :type remote_ip_address: str - :param target_nic_resource_id: The NIC ID. (If VM has multiple NICs and IP - forwarding is enabled on any of them, then this parameter must be - specified. Otherwise optional). - :type target_nic_resource_id: str - """ - - _validation = { - 'target_resource_id': {'required': True}, - 'direction': {'required': True}, - 'protocol': {'required': True}, - 'local_port': {'required': True}, - 'remote_port': {'required': True}, - 'local_ip_address': {'required': True}, - 'remote_ip_address': {'required': True}, - } - - _attribute_map = { - 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, - 'direction': {'key': 'direction', 'type': 'str'}, - 'protocol': {'key': 'protocol', 'type': 'str'}, - 'local_port': {'key': 'localPort', 'type': 'str'}, - 'remote_port': {'key': 'remotePort', 'type': 'str'}, - 'local_ip_address': {'key': 'localIPAddress', 'type': 'str'}, - 'remote_ip_address': {'key': 'remoteIPAddress', 'type': 'str'}, - 'target_nic_resource_id': {'key': 'targetNicResourceId', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VerificationIPFlowParameters, self).__init__(**kwargs) - self.target_resource_id = kwargs.get('target_resource_id', None) - self.direction = kwargs.get('direction', None) - self.protocol = kwargs.get('protocol', None) - self.local_port = kwargs.get('local_port', None) - self.remote_port = kwargs.get('remote_port', None) - self.local_ip_address = kwargs.get('local_ip_address', None) - self.remote_ip_address = kwargs.get('remote_ip_address', None) - self.target_nic_resource_id = kwargs.get('target_nic_resource_id', None) - - -class VerificationIPFlowResult(Model): - """Results of IP flow verification on the target resource. - - :param access: Indicates whether the traffic is allowed or denied. - Possible values include: 'Allow', 'Deny' - :type access: str or ~azure.mgmt.network.v2019_09_01.models.Access - :param rule_name: Name of the rule. If input is not matched against any - security rule, it is not displayed. - :type rule_name: str - """ - - _attribute_map = { - 'access': {'key': 'access', 'type': 'str'}, - 'rule_name': {'key': 'ruleName', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VerificationIPFlowResult, self).__init__(**kwargs) - self.access = kwargs.get('access', None) - self.rule_name = kwargs.get('rule_name', None) - - -class VirtualHub(Resource): - """VirtualHub Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param virtual_wan: The VirtualWAN to which the VirtualHub belongs. - :type virtual_wan: ~azure.mgmt.network.v2019_09_01.models.SubResource - :param vpn_gateway: The VpnGateway associated with this VirtualHub. - :type vpn_gateway: ~azure.mgmt.network.v2019_09_01.models.SubResource - :param p2_svpn_gateway: The P2SVpnGateway associated with this VirtualHub. - :type p2_svpn_gateway: ~azure.mgmt.network.v2019_09_01.models.SubResource - :param express_route_gateway: The expressRouteGateway associated with this - VirtualHub. - :type express_route_gateway: - ~azure.mgmt.network.v2019_09_01.models.SubResource - :param azure_firewall: The azureFirewall associated with this VirtualHub. - :type azure_firewall: ~azure.mgmt.network.v2019_09_01.models.SubResource - :param virtual_network_connections: List of all vnet connections with this - VirtualHub. - :type virtual_network_connections: - list[~azure.mgmt.network.v2019_09_01.models.HubVirtualNetworkConnection] - :param address_prefix: Address-prefix for this VirtualHub. - :type address_prefix: str - :param route_table: The routeTable associated with this virtual hub. - :type route_table: - ~azure.mgmt.network.v2019_09_01.models.VirtualHubRouteTable - :ivar provisioning_state: The provisioning state of the virtual hub - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param security_provider_name: The Security Provider name. - :type security_provider_name: str - :param virtual_hub_route_table_v2s: List of all virtual hub route table - v2s associated with this VirtualHub. - :type virtual_hub_route_table_v2s: - list[~azure.mgmt.network.v2019_09_01.models.VirtualHubRouteTableV2] - :param sku: The sku of this VirtualHub. - :type sku: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'virtual_wan': {'key': 'properties.virtualWan', 'type': 'SubResource'}, - 'vpn_gateway': {'key': 'properties.vpnGateway', 'type': 'SubResource'}, - 'p2_svpn_gateway': {'key': 'properties.p2SVpnGateway', 'type': 'SubResource'}, - 'express_route_gateway': {'key': 'properties.expressRouteGateway', 'type': 'SubResource'}, - 'azure_firewall': {'key': 'properties.azureFirewall', 'type': 'SubResource'}, - 'virtual_network_connections': {'key': 'properties.virtualNetworkConnections', 'type': '[HubVirtualNetworkConnection]'}, - 'address_prefix': {'key': 'properties.addressPrefix', 'type': 'str'}, - 'route_table': {'key': 'properties.routeTable', 'type': 'VirtualHubRouteTable'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'security_provider_name': {'key': 'properties.securityProviderName', 'type': 'str'}, - 'virtual_hub_route_table_v2s': {'key': 'properties.virtualHubRouteTableV2s', 'type': '[VirtualHubRouteTableV2]'}, - 'sku': {'key': 'properties.sku', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VirtualHub, self).__init__(**kwargs) - self.virtual_wan = kwargs.get('virtual_wan', None) - self.vpn_gateway = kwargs.get('vpn_gateway', None) - self.p2_svpn_gateway = kwargs.get('p2_svpn_gateway', None) - self.express_route_gateway = kwargs.get('express_route_gateway', None) - self.azure_firewall = kwargs.get('azure_firewall', None) - self.virtual_network_connections = kwargs.get('virtual_network_connections', None) - self.address_prefix = kwargs.get('address_prefix', None) - self.route_table = kwargs.get('route_table', None) - self.provisioning_state = None - self.security_provider_name = kwargs.get('security_provider_name', None) - self.virtual_hub_route_table_v2s = kwargs.get('virtual_hub_route_table_v2s', None) - self.sku = kwargs.get('sku', None) - self.etag = None - - -class VirtualHubId(Model): - """Virtual Hub identifier. - - :param id: The resource URI for the Virtual Hub where the ExpressRoute - gateway is or will be deployed. The Virtual Hub resource and the - ExpressRoute gateway resource reside in the same subscription. - :type id: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VirtualHubId, self).__init__(**kwargs) - self.id = kwargs.get('id', None) - - -class VirtualHubRoute(Model): - """VirtualHub route. - - :param address_prefixes: List of all addressPrefixes. - :type address_prefixes: list[str] - :param next_hop_ip_address: NextHop ip address. - :type next_hop_ip_address: str - """ - - _attribute_map = { - 'address_prefixes': {'key': 'addressPrefixes', 'type': '[str]'}, - 'next_hop_ip_address': {'key': 'nextHopIpAddress', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VirtualHubRoute, self).__init__(**kwargs) - self.address_prefixes = kwargs.get('address_prefixes', None) - self.next_hop_ip_address = kwargs.get('next_hop_ip_address', None) - - -class VirtualHubRouteTable(Model): - """VirtualHub route table. - - :param routes: List of all routes. - :type routes: list[~azure.mgmt.network.v2019_09_01.models.VirtualHubRoute] - """ - - _attribute_map = { - 'routes': {'key': 'routes', 'type': '[VirtualHubRoute]'}, - } - - def __init__(self, **kwargs): - super(VirtualHubRouteTable, self).__init__(**kwargs) - self.routes = kwargs.get('routes', None) - - -class VirtualHubRouteTableV2(SubResource): - """VirtualHubRouteTableV2 Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param routes: List of all routes. - :type routes: - list[~azure.mgmt.network.v2019_09_01.models.VirtualHubRouteV2] - :param attached_connections: List of all connections attached to this - route table v2. - :type attached_connections: list[str] - :ivar provisioning_state: The provisioning state of the virtual hub route - table v2 resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'routes': {'key': 'properties.routes', 'type': '[VirtualHubRouteV2]'}, - 'attached_connections': {'key': 'properties.attachedConnections', 'type': '[str]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VirtualHubRouteTableV2, self).__init__(**kwargs) - self.routes = kwargs.get('routes', None) - self.attached_connections = kwargs.get('attached_connections', None) - self.provisioning_state = None - self.name = kwargs.get('name', None) - self.etag = None - - -class VirtualHubRouteV2(Model): - """VirtualHubRouteTableV2 route. - - :param destination_type: The type of destinations - :type destination_type: str - :param destinations: List of all destinations. - :type destinations: list[str] - :param next_hop_type: The type of next hops - :type next_hop_type: str - :param next_hops: NextHops ip address. - :type next_hops: list[str] - """ - - _attribute_map = { - 'destination_type': {'key': 'destinationType', 'type': 'str'}, - 'destinations': {'key': 'destinations', 'type': '[str]'}, - 'next_hop_type': {'key': 'nextHopType', 'type': 'str'}, - 'next_hops': {'key': 'nextHops', 'type': '[str]'}, - } - - def __init__(self, **kwargs): - super(VirtualHubRouteV2, self).__init__(**kwargs) - self.destination_type = kwargs.get('destination_type', None) - self.destinations = kwargs.get('destinations', None) - self.next_hop_type = kwargs.get('next_hop_type', None) - self.next_hops = kwargs.get('next_hops', None) - - -class VirtualNetwork(Resource): - """Virtual Network resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param address_space: The AddressSpace that contains an array of IP - address ranges that can be used by subnets. - :type address_space: ~azure.mgmt.network.v2019_09_01.models.AddressSpace - :param dhcp_options: The dhcpOptions that contains an array of DNS servers - available to VMs deployed in the virtual network. - :type dhcp_options: ~azure.mgmt.network.v2019_09_01.models.DhcpOptions - :param subnets: A list of subnets in a Virtual Network. - :type subnets: list[~azure.mgmt.network.v2019_09_01.models.Subnet] - :param virtual_network_peerings: A list of peerings in a Virtual Network. - :type virtual_network_peerings: - list[~azure.mgmt.network.v2019_09_01.models.VirtualNetworkPeering] - :ivar resource_guid: The resourceGuid property of the Virtual Network - resource. - :vartype resource_guid: str - :ivar provisioning_state: The provisioning state of the virtual network - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param enable_ddos_protection: Indicates if DDoS protection is enabled for - all the protected resources in the virtual network. It requires a DDoS - protection plan associated with the resource. Default value: False . - :type enable_ddos_protection: bool - :param enable_vm_protection: Indicates if VM protection is enabled for all - the subnets in the virtual network. Default value: False . - :type enable_vm_protection: bool - :param ddos_protection_plan: The DDoS protection plan associated with the - virtual network. - :type ddos_protection_plan: - ~azure.mgmt.network.v2019_09_01.models.SubResource - :param bgp_communities: Bgp Communities sent over ExpressRoute with each - route corresponding to a prefix in this VNET. - :type bgp_communities: - ~azure.mgmt.network.v2019_09_01.models.VirtualNetworkBgpCommunities - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'resource_guid': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'address_space': {'key': 'properties.addressSpace', 'type': 'AddressSpace'}, - 'dhcp_options': {'key': 'properties.dhcpOptions', 'type': 'DhcpOptions'}, - 'subnets': {'key': 'properties.subnets', 'type': '[Subnet]'}, - 'virtual_network_peerings': {'key': 'properties.virtualNetworkPeerings', 'type': '[VirtualNetworkPeering]'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'enable_ddos_protection': {'key': 'properties.enableDdosProtection', 'type': 'bool'}, - 'enable_vm_protection': {'key': 'properties.enableVmProtection', 'type': 'bool'}, - 'ddos_protection_plan': {'key': 'properties.ddosProtectionPlan', 'type': 'SubResource'}, - 'bgp_communities': {'key': 'properties.bgpCommunities', 'type': 'VirtualNetworkBgpCommunities'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VirtualNetwork, self).__init__(**kwargs) - self.address_space = kwargs.get('address_space', None) - self.dhcp_options = kwargs.get('dhcp_options', None) - self.subnets = kwargs.get('subnets', None) - self.virtual_network_peerings = kwargs.get('virtual_network_peerings', None) - self.resource_guid = None - self.provisioning_state = None - self.enable_ddos_protection = kwargs.get('enable_ddos_protection', False) - self.enable_vm_protection = kwargs.get('enable_vm_protection', False) - self.ddos_protection_plan = kwargs.get('ddos_protection_plan', None) - self.bgp_communities = kwargs.get('bgp_communities', None) - self.etag = None - - -class VirtualNetworkBgpCommunities(Model): - """Bgp Communities sent over ExpressRoute with each route corresponding to a - prefix in this VNET. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :param virtual_network_community: Required. The BGP community associated - with the virtual network - :type virtual_network_community: str - :ivar regional_community: The BGP community associated with the region of - the virtual network - :vartype regional_community: str - """ - - _validation = { - 'virtual_network_community': {'required': True}, - 'regional_community': {'readonly': True}, - } - - _attribute_map = { - 'virtual_network_community': {'key': 'virtualNetworkCommunity', 'type': 'str'}, - 'regional_community': {'key': 'regionalCommunity', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VirtualNetworkBgpCommunities, self).__init__(**kwargs) - self.virtual_network_community = kwargs.get('virtual_network_community', None) - self.regional_community = None - - -class VirtualNetworkConnectionGatewayReference(Model): - """A reference to VirtualNetworkGateway or LocalNetworkGateway resource. - - All required parameters must be populated in order to send to Azure. - - :param id: Required. The ID of VirtualNetworkGateway or - LocalNetworkGateway resource. - :type id: str - """ - - _validation = { - 'id': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VirtualNetworkConnectionGatewayReference, self).__init__(**kwargs) - self.id = kwargs.get('id', None) - - -class VirtualNetworkGateway(Resource): - """A common class for general resource information. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param ip_configurations: IP configurations for virtual network gateway. - :type ip_configurations: - list[~azure.mgmt.network.v2019_09_01.models.VirtualNetworkGatewayIPConfiguration] - :param gateway_type: The type of this virtual network gateway. Possible - values include: 'Vpn', 'ExpressRoute' - :type gateway_type: str or - ~azure.mgmt.network.v2019_09_01.models.VirtualNetworkGatewayType - :param vpn_type: The type of this virtual network gateway. Possible values - include: 'PolicyBased', 'RouteBased' - :type vpn_type: str or ~azure.mgmt.network.v2019_09_01.models.VpnType - :param vpn_gateway_generation: The generation for this - VirtualNetworkGateway. Must be None if gatewayType is not VPN. Possible - values include: 'None', 'Generation1', 'Generation2' - :type vpn_gateway_generation: str or - ~azure.mgmt.network.v2019_09_01.models.VpnGatewayGeneration - :param enable_bgp: Whether BGP is enabled for this virtual network gateway - or not. - :type enable_bgp: bool - :param active_active: ActiveActive flag. - :type active_active: bool - :param gateway_default_site: The reference of the LocalNetworkGateway - resource which represents local network site having default routes. Assign - Null value in case of removing existing default site setting. - :type gateway_default_site: - ~azure.mgmt.network.v2019_09_01.models.SubResource - :param sku: The reference of the VirtualNetworkGatewaySku resource which - represents the SKU selected for Virtual network gateway. - :type sku: ~azure.mgmt.network.v2019_09_01.models.VirtualNetworkGatewaySku - :param vpn_client_configuration: The reference of the - VpnClientConfiguration resource which represents the P2S VpnClient - configurations. - :type vpn_client_configuration: - ~azure.mgmt.network.v2019_09_01.models.VpnClientConfiguration - :param bgp_settings: Virtual network gateway's BGP speaker settings. - :type bgp_settings: ~azure.mgmt.network.v2019_09_01.models.BgpSettings - :param custom_routes: The reference of the address space resource which - represents the custom routes address space specified by the customer for - virtual network gateway and VpnClient. - :type custom_routes: ~azure.mgmt.network.v2019_09_01.models.AddressSpace - :ivar resource_guid: The resource GUID property of the virtual network - gateway resource. - :vartype resource_guid: str - :ivar provisioning_state: The provisioning state of the virtual network - gateway resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param enable_dns_forwarding: Whether dns forwarding is enabled or not. - :type enable_dns_forwarding: bool - :ivar inbound_dns_forwarding_endpoint: The IP address allocated by the - gateway to which dns requests can be sent. - :vartype inbound_dns_forwarding_endpoint: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'resource_guid': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'inbound_dns_forwarding_endpoint': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[VirtualNetworkGatewayIPConfiguration]'}, - 'gateway_type': {'key': 'properties.gatewayType', 'type': 'str'}, - 'vpn_type': {'key': 'properties.vpnType', 'type': 'str'}, - 'vpn_gateway_generation': {'key': 'properties.vpnGatewayGeneration', 'type': 'str'}, - 'enable_bgp': {'key': 'properties.enableBgp', 'type': 'bool'}, - 'active_active': {'key': 'properties.activeActive', 'type': 'bool'}, - 'gateway_default_site': {'key': 'properties.gatewayDefaultSite', 'type': 'SubResource'}, - 'sku': {'key': 'properties.sku', 'type': 'VirtualNetworkGatewaySku'}, - 'vpn_client_configuration': {'key': 'properties.vpnClientConfiguration', 'type': 'VpnClientConfiguration'}, - 'bgp_settings': {'key': 'properties.bgpSettings', 'type': 'BgpSettings'}, - 'custom_routes': {'key': 'properties.customRoutes', 'type': 'AddressSpace'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'enable_dns_forwarding': {'key': 'properties.enableDnsForwarding', 'type': 'bool'}, - 'inbound_dns_forwarding_endpoint': {'key': 'properties.inboundDnsForwardingEndpoint', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VirtualNetworkGateway, self).__init__(**kwargs) - self.ip_configurations = kwargs.get('ip_configurations', None) - self.gateway_type = kwargs.get('gateway_type', None) - self.vpn_type = kwargs.get('vpn_type', None) - self.vpn_gateway_generation = kwargs.get('vpn_gateway_generation', None) - self.enable_bgp = kwargs.get('enable_bgp', None) - self.active_active = kwargs.get('active_active', None) - self.gateway_default_site = kwargs.get('gateway_default_site', None) - self.sku = kwargs.get('sku', None) - self.vpn_client_configuration = kwargs.get('vpn_client_configuration', None) - self.bgp_settings = kwargs.get('bgp_settings', None) - self.custom_routes = kwargs.get('custom_routes', None) - self.resource_guid = None - self.provisioning_state = None - self.enable_dns_forwarding = kwargs.get('enable_dns_forwarding', None) - self.inbound_dns_forwarding_endpoint = None - self.etag = None - - -class VirtualNetworkGatewayConnection(Resource): - """A common class for general resource information. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param authorization_key: The authorizationKey. - :type authorization_key: str - :param virtual_network_gateway1: Required. The reference to virtual - network gateway resource. - :type virtual_network_gateway1: - ~azure.mgmt.network.v2019_09_01.models.VirtualNetworkGateway - :param virtual_network_gateway2: The reference to virtual network gateway - resource. - :type virtual_network_gateway2: - ~azure.mgmt.network.v2019_09_01.models.VirtualNetworkGateway - :param local_network_gateway2: The reference to local network gateway - resource. - :type local_network_gateway2: - ~azure.mgmt.network.v2019_09_01.models.LocalNetworkGateway - :param connection_type: Required. Gateway connection type. Possible values - include: 'IPsec', 'Vnet2Vnet', 'ExpressRoute', 'VPNClient' - :type connection_type: str or - ~azure.mgmt.network.v2019_09_01.models.VirtualNetworkGatewayConnectionType - :param connection_protocol: Connection protocol used for this connection. - Possible values include: 'IKEv2', 'IKEv1' - :type connection_protocol: str or - ~azure.mgmt.network.v2019_09_01.models.VirtualNetworkGatewayConnectionProtocol - :param routing_weight: The routing weight. - :type routing_weight: int - :param shared_key: The IPSec shared key. - :type shared_key: str - :ivar connection_status: Virtual Network Gateway connection status. - Possible values include: 'Unknown', 'Connecting', 'Connected', - 'NotConnected' - :vartype connection_status: str or - ~azure.mgmt.network.v2019_09_01.models.VirtualNetworkGatewayConnectionStatus - :ivar tunnel_connection_status: Collection of all tunnels' connection - health status. - :vartype tunnel_connection_status: - list[~azure.mgmt.network.v2019_09_01.models.TunnelConnectionHealth] - :ivar egress_bytes_transferred: The egress bytes transferred in this - connection. - :vartype egress_bytes_transferred: long - :ivar ingress_bytes_transferred: The ingress bytes transferred in this - connection. - :vartype ingress_bytes_transferred: long - :param peer: The reference to peerings resource. - :type peer: ~azure.mgmt.network.v2019_09_01.models.SubResource - :param enable_bgp: EnableBgp flag. - :type enable_bgp: bool - :param use_policy_based_traffic_selectors: Enable policy-based traffic - selectors. - :type use_policy_based_traffic_selectors: bool - :param ipsec_policies: The IPSec Policies to be considered by this - connection. - :type ipsec_policies: - list[~azure.mgmt.network.v2019_09_01.models.IpsecPolicy] - :param traffic_selector_policies: The Traffic Selector Policies to be - considered by this connection. - :type traffic_selector_policies: - list[~azure.mgmt.network.v2019_09_01.models.TrafficSelectorPolicy] - :ivar resource_guid: The resource GUID property of the virtual network - gateway connection resource. - :vartype resource_guid: str - :ivar provisioning_state: The provisioning state of the virtual network - gateway connection resource. Possible values include: 'Succeeded', - 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param express_route_gateway_bypass: Bypass ExpressRoute Gateway for data - forwarding. - :type express_route_gateway_bypass: bool - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'virtual_network_gateway1': {'required': True}, - 'connection_type': {'required': True}, - 'connection_status': {'readonly': True}, - 'tunnel_connection_status': {'readonly': True}, - 'egress_bytes_transferred': {'readonly': True}, - 'ingress_bytes_transferred': {'readonly': True}, - 'resource_guid': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'authorization_key': {'key': 'properties.authorizationKey', 'type': 'str'}, - 'virtual_network_gateway1': {'key': 'properties.virtualNetworkGateway1', 'type': 'VirtualNetworkGateway'}, - 'virtual_network_gateway2': {'key': 'properties.virtualNetworkGateway2', 'type': 'VirtualNetworkGateway'}, - 'local_network_gateway2': {'key': 'properties.localNetworkGateway2', 'type': 'LocalNetworkGateway'}, - 'connection_type': {'key': 'properties.connectionType', 'type': 'str'}, - 'connection_protocol': {'key': 'properties.connectionProtocol', 'type': 'str'}, - 'routing_weight': {'key': 'properties.routingWeight', 'type': 'int'}, - 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, - 'connection_status': {'key': 'properties.connectionStatus', 'type': 'str'}, - 'tunnel_connection_status': {'key': 'properties.tunnelConnectionStatus', 'type': '[TunnelConnectionHealth]'}, - 'egress_bytes_transferred': {'key': 'properties.egressBytesTransferred', 'type': 'long'}, - 'ingress_bytes_transferred': {'key': 'properties.ingressBytesTransferred', 'type': 'long'}, - 'peer': {'key': 'properties.peer', 'type': 'SubResource'}, - 'enable_bgp': {'key': 'properties.enableBgp', 'type': 'bool'}, - 'use_policy_based_traffic_selectors': {'key': 'properties.usePolicyBasedTrafficSelectors', 'type': 'bool'}, - 'ipsec_policies': {'key': 'properties.ipsecPolicies', 'type': '[IpsecPolicy]'}, - 'traffic_selector_policies': {'key': 'properties.trafficSelectorPolicies', 'type': '[TrafficSelectorPolicy]'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'express_route_gateway_bypass': {'key': 'properties.expressRouteGatewayBypass', 'type': 'bool'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VirtualNetworkGatewayConnection, self).__init__(**kwargs) - self.authorization_key = kwargs.get('authorization_key', None) - self.virtual_network_gateway1 = kwargs.get('virtual_network_gateway1', None) - self.virtual_network_gateway2 = kwargs.get('virtual_network_gateway2', None) - self.local_network_gateway2 = kwargs.get('local_network_gateway2', None) - self.connection_type = kwargs.get('connection_type', None) - self.connection_protocol = kwargs.get('connection_protocol', None) - self.routing_weight = kwargs.get('routing_weight', None) - self.shared_key = kwargs.get('shared_key', None) - self.connection_status = None - self.tunnel_connection_status = None - self.egress_bytes_transferred = None - self.ingress_bytes_transferred = None - self.peer = kwargs.get('peer', None) - self.enable_bgp = kwargs.get('enable_bgp', None) - self.use_policy_based_traffic_selectors = kwargs.get('use_policy_based_traffic_selectors', None) - self.ipsec_policies = kwargs.get('ipsec_policies', None) - self.traffic_selector_policies = kwargs.get('traffic_selector_policies', None) - self.resource_guid = None - self.provisioning_state = None - self.express_route_gateway_bypass = kwargs.get('express_route_gateway_bypass', None) - self.etag = None - - -class VirtualNetworkGatewayConnectionListEntity(Resource): - """A common class for general resource information. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param authorization_key: The authorizationKey. - :type authorization_key: str - :param virtual_network_gateway1: Required. The reference to virtual - network gateway resource. - :type virtual_network_gateway1: - ~azure.mgmt.network.v2019_09_01.models.VirtualNetworkConnectionGatewayReference - :param virtual_network_gateway2: The reference to virtual network gateway - resource. - :type virtual_network_gateway2: - ~azure.mgmt.network.v2019_09_01.models.VirtualNetworkConnectionGatewayReference - :param local_network_gateway2: The reference to local network gateway - resource. - :type local_network_gateway2: - ~azure.mgmt.network.v2019_09_01.models.VirtualNetworkConnectionGatewayReference - :param connection_type: Required. Gateway connection type. Possible values - include: 'IPsec', 'Vnet2Vnet', 'ExpressRoute', 'VPNClient' - :type connection_type: str or - ~azure.mgmt.network.v2019_09_01.models.VirtualNetworkGatewayConnectionType - :param connection_protocol: Connection protocol used for this connection. - Possible values include: 'IKEv2', 'IKEv1' - :type connection_protocol: str or - ~azure.mgmt.network.v2019_09_01.models.VirtualNetworkGatewayConnectionProtocol - :param routing_weight: The routing weight. - :type routing_weight: int - :param shared_key: The IPSec shared key. - :type shared_key: str - :ivar connection_status: Virtual Network Gateway connection status. - Possible values include: 'Unknown', 'Connecting', 'Connected', - 'NotConnected' - :vartype connection_status: str or - ~azure.mgmt.network.v2019_09_01.models.VirtualNetworkGatewayConnectionStatus - :ivar tunnel_connection_status: Collection of all tunnels' connection - health status. - :vartype tunnel_connection_status: - list[~azure.mgmt.network.v2019_09_01.models.TunnelConnectionHealth] - :ivar egress_bytes_transferred: The egress bytes transferred in this - connection. - :vartype egress_bytes_transferred: long - :ivar ingress_bytes_transferred: The ingress bytes transferred in this - connection. - :vartype ingress_bytes_transferred: long - :param peer: The reference to peerings resource. - :type peer: ~azure.mgmt.network.v2019_09_01.models.SubResource - :param enable_bgp: EnableBgp flag. - :type enable_bgp: bool - :param use_policy_based_traffic_selectors: Enable policy-based traffic - selectors. - :type use_policy_based_traffic_selectors: bool - :param ipsec_policies: The IPSec Policies to be considered by this - connection. - :type ipsec_policies: - list[~azure.mgmt.network.v2019_09_01.models.IpsecPolicy] - :param traffic_selector_policies: The Traffic Selector Policies to be - considered by this connection. - :type traffic_selector_policies: - list[~azure.mgmt.network.v2019_09_01.models.TrafficSelectorPolicy] - :ivar resource_guid: The resource GUID property of the virtual network - gateway connection resource. - :vartype resource_guid: str - :ivar provisioning_state: The provisioning state of the virtual network - gateway connection resource. Possible values include: 'Succeeded', - 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param express_route_gateway_bypass: Bypass ExpressRoute Gateway for data - forwarding. - :type express_route_gateway_bypass: bool - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'virtual_network_gateway1': {'required': True}, - 'connection_type': {'required': True}, - 'connection_status': {'readonly': True}, - 'tunnel_connection_status': {'readonly': True}, - 'egress_bytes_transferred': {'readonly': True}, - 'ingress_bytes_transferred': {'readonly': True}, - 'resource_guid': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'authorization_key': {'key': 'properties.authorizationKey', 'type': 'str'}, - 'virtual_network_gateway1': {'key': 'properties.virtualNetworkGateway1', 'type': 'VirtualNetworkConnectionGatewayReference'}, - 'virtual_network_gateway2': {'key': 'properties.virtualNetworkGateway2', 'type': 'VirtualNetworkConnectionGatewayReference'}, - 'local_network_gateway2': {'key': 'properties.localNetworkGateway2', 'type': 'VirtualNetworkConnectionGatewayReference'}, - 'connection_type': {'key': 'properties.connectionType', 'type': 'str'}, - 'connection_protocol': {'key': 'properties.connectionProtocol', 'type': 'str'}, - 'routing_weight': {'key': 'properties.routingWeight', 'type': 'int'}, - 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, - 'connection_status': {'key': 'properties.connectionStatus', 'type': 'str'}, - 'tunnel_connection_status': {'key': 'properties.tunnelConnectionStatus', 'type': '[TunnelConnectionHealth]'}, - 'egress_bytes_transferred': {'key': 'properties.egressBytesTransferred', 'type': 'long'}, - 'ingress_bytes_transferred': {'key': 'properties.ingressBytesTransferred', 'type': 'long'}, - 'peer': {'key': 'properties.peer', 'type': 'SubResource'}, - 'enable_bgp': {'key': 'properties.enableBgp', 'type': 'bool'}, - 'use_policy_based_traffic_selectors': {'key': 'properties.usePolicyBasedTrafficSelectors', 'type': 'bool'}, - 'ipsec_policies': {'key': 'properties.ipsecPolicies', 'type': '[IpsecPolicy]'}, - 'traffic_selector_policies': {'key': 'properties.trafficSelectorPolicies', 'type': '[TrafficSelectorPolicy]'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'express_route_gateway_bypass': {'key': 'properties.expressRouteGatewayBypass', 'type': 'bool'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VirtualNetworkGatewayConnectionListEntity, self).__init__(**kwargs) - self.authorization_key = kwargs.get('authorization_key', None) - self.virtual_network_gateway1 = kwargs.get('virtual_network_gateway1', None) - self.virtual_network_gateway2 = kwargs.get('virtual_network_gateway2', None) - self.local_network_gateway2 = kwargs.get('local_network_gateway2', None) - self.connection_type = kwargs.get('connection_type', None) - self.connection_protocol = kwargs.get('connection_protocol', None) - self.routing_weight = kwargs.get('routing_weight', None) - self.shared_key = kwargs.get('shared_key', None) - self.connection_status = None - self.tunnel_connection_status = None - self.egress_bytes_transferred = None - self.ingress_bytes_transferred = None - self.peer = kwargs.get('peer', None) - self.enable_bgp = kwargs.get('enable_bgp', None) - self.use_policy_based_traffic_selectors = kwargs.get('use_policy_based_traffic_selectors', None) - self.ipsec_policies = kwargs.get('ipsec_policies', None) - self.traffic_selector_policies = kwargs.get('traffic_selector_policies', None) - self.resource_guid = None - self.provisioning_state = None - self.express_route_gateway_bypass = kwargs.get('express_route_gateway_bypass', None) - self.etag = None - - -class VirtualNetworkGatewayIPConfiguration(SubResource): - """IP configuration for virtual network gateway. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param private_ip_allocation_method: The private IP address allocation - method. Possible values include: 'Static', 'Dynamic' - :type private_ip_allocation_method: str or - ~azure.mgmt.network.v2019_09_01.models.IPAllocationMethod - :param subnet: The reference of the subnet resource. - :type subnet: ~azure.mgmt.network.v2019_09_01.models.SubResource - :param public_ip_address: The reference of the public IP resource. - :type public_ip_address: - ~azure.mgmt.network.v2019_09_01.models.SubResource - :ivar provisioning_state: The provisioning state of the virtual network - gateway IP configuration resource. Possible values include: 'Succeeded', - 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, - 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, - 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'SubResource'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VirtualNetworkGatewayIPConfiguration, self).__init__(**kwargs) - self.private_ip_allocation_method = kwargs.get('private_ip_allocation_method', None) - self.subnet = kwargs.get('subnet', None) - self.public_ip_address = kwargs.get('public_ip_address', None) - self.provisioning_state = None - self.name = kwargs.get('name', None) - self.etag = None - - -class VirtualNetworkGatewaySku(Model): - """VirtualNetworkGatewaySku details. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param name: Gateway SKU name. Possible values include: 'Basic', - 'HighPerformance', 'Standard', 'UltraPerformance', 'VpnGw1', 'VpnGw2', - 'VpnGw3', 'VpnGw4', 'VpnGw5', 'VpnGw1AZ', 'VpnGw2AZ', 'VpnGw3AZ', - 'VpnGw4AZ', 'VpnGw5AZ', 'ErGw1AZ', 'ErGw2AZ', 'ErGw3AZ' - :type name: str or - ~azure.mgmt.network.v2019_09_01.models.VirtualNetworkGatewaySkuName - :param tier: Gateway SKU tier. Possible values include: 'Basic', - 'HighPerformance', 'Standard', 'UltraPerformance', 'VpnGw1', 'VpnGw2', - 'VpnGw3', 'VpnGw4', 'VpnGw5', 'VpnGw1AZ', 'VpnGw2AZ', 'VpnGw3AZ', - 'VpnGw4AZ', 'VpnGw5AZ', 'ErGw1AZ', 'ErGw2AZ', 'ErGw3AZ' - :type tier: str or - ~azure.mgmt.network.v2019_09_01.models.VirtualNetworkGatewaySkuTier - :ivar capacity: The capacity. - :vartype capacity: int - """ - - _validation = { - 'capacity': {'readonly': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'tier': {'key': 'tier', 'type': 'str'}, - 'capacity': {'key': 'capacity', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(VirtualNetworkGatewaySku, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.tier = kwargs.get('tier', None) - self.capacity = None - - -class VirtualNetworkPeering(SubResource): - """Peerings in a virtual network resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param allow_virtual_network_access: Whether the VMs in the local virtual - network space would be able to access the VMs in remote virtual network - space. - :type allow_virtual_network_access: bool - :param allow_forwarded_traffic: Whether the forwarded traffic from the VMs - in the local virtual network will be allowed/disallowed in remote virtual - network. - :type allow_forwarded_traffic: bool - :param allow_gateway_transit: If gateway links can be used in remote - virtual networking to link to this virtual network. - :type allow_gateway_transit: bool - :param use_remote_gateways: If remote gateways can be used on this virtual - network. If the flag is set to true, and allowGatewayTransit on remote - peering is also true, virtual network will use gateways of remote virtual - network for transit. Only one peering can have this flag set to true. This - flag cannot be set if virtual network already has a gateway. - :type use_remote_gateways: bool - :param remote_virtual_network: The reference of the remote virtual - network. The remote virtual network can be in the same or different region - (preview). See here to register for the preview and learn more - (https://docs.microsoft.com/en-us/azure/virtual-network/virtual-network-create-peering). - :type remote_virtual_network: - ~azure.mgmt.network.v2019_09_01.models.SubResource - :param remote_address_space: The reference of the remote virtual network - address space. - :type remote_address_space: - ~azure.mgmt.network.v2019_09_01.models.AddressSpace - :param peering_state: The status of the virtual network peering. Possible - values include: 'Initiated', 'Connected', 'Disconnected' - :type peering_state: str or - ~azure.mgmt.network.v2019_09_01.models.VirtualNetworkPeeringState - :ivar provisioning_state: The provisioning state of the virtual network - peering resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'allow_virtual_network_access': {'key': 'properties.allowVirtualNetworkAccess', 'type': 'bool'}, - 'allow_forwarded_traffic': {'key': 'properties.allowForwardedTraffic', 'type': 'bool'}, - 'allow_gateway_transit': {'key': 'properties.allowGatewayTransit', 'type': 'bool'}, - 'use_remote_gateways': {'key': 'properties.useRemoteGateways', 'type': 'bool'}, - 'remote_virtual_network': {'key': 'properties.remoteVirtualNetwork', 'type': 'SubResource'}, - 'remote_address_space': {'key': 'properties.remoteAddressSpace', 'type': 'AddressSpace'}, - 'peering_state': {'key': 'properties.peeringState', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VirtualNetworkPeering, self).__init__(**kwargs) - self.allow_virtual_network_access = kwargs.get('allow_virtual_network_access', None) - self.allow_forwarded_traffic = kwargs.get('allow_forwarded_traffic', None) - self.allow_gateway_transit = kwargs.get('allow_gateway_transit', None) - self.use_remote_gateways = kwargs.get('use_remote_gateways', None) - self.remote_virtual_network = kwargs.get('remote_virtual_network', None) - self.remote_address_space = kwargs.get('remote_address_space', None) - self.peering_state = kwargs.get('peering_state', None) - self.provisioning_state = None - self.name = kwargs.get('name', None) - self.etag = None - - -class VirtualNetworkTap(Resource): - """Virtual Network Tap resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :ivar network_interface_tap_configurations: Specifies the list of resource - IDs for the network interface IP configuration that needs to be tapped. - :vartype network_interface_tap_configurations: - list[~azure.mgmt.network.v2019_09_01.models.NetworkInterfaceTapConfiguration] - :ivar resource_guid: The resource GUID property of the virtual network tap - resource. - :vartype resource_guid: str - :ivar provisioning_state: The provisioning state of the virtual network - tap resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param destination_network_interface_ip_configuration: The reference to - the private IP Address of the collector nic that will receive the tap. - :type destination_network_interface_ip_configuration: - ~azure.mgmt.network.v2019_09_01.models.NetworkInterfaceIPConfiguration - :param destination_load_balancer_front_end_ip_configuration: The reference - to the private IP address on the internal Load Balancer that will receive - the tap. - :type destination_load_balancer_front_end_ip_configuration: - ~azure.mgmt.network.v2019_09_01.models.FrontendIPConfiguration - :param destination_port: The VXLAN destination port that will receive the - tapped traffic. - :type destination_port: int - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'network_interface_tap_configurations': {'readonly': True}, - 'resource_guid': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'network_interface_tap_configurations': {'key': 'properties.networkInterfaceTapConfigurations', 'type': '[NetworkInterfaceTapConfiguration]'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'destination_network_interface_ip_configuration': {'key': 'properties.destinationNetworkInterfaceIPConfiguration', 'type': 'NetworkInterfaceIPConfiguration'}, - 'destination_load_balancer_front_end_ip_configuration': {'key': 'properties.destinationLoadBalancerFrontEndIPConfiguration', 'type': 'FrontendIPConfiguration'}, - 'destination_port': {'key': 'properties.destinationPort', 'type': 'int'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VirtualNetworkTap, self).__init__(**kwargs) - self.network_interface_tap_configurations = None - self.resource_guid = None - self.provisioning_state = None - self.destination_network_interface_ip_configuration = kwargs.get('destination_network_interface_ip_configuration', None) - self.destination_load_balancer_front_end_ip_configuration = kwargs.get('destination_load_balancer_front_end_ip_configuration', None) - self.destination_port = kwargs.get('destination_port', None) - self.etag = None - - -class VirtualNetworkUsage(Model): - """Usage details for subnet. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar current_value: Indicates number of IPs used from the Subnet. - :vartype current_value: float - :ivar id: Subnet identifier. - :vartype id: str - :ivar limit: Indicates the size of the subnet. - :vartype limit: float - :ivar name: The name containing common and localized value for usage. - :vartype name: - ~azure.mgmt.network.v2019_09_01.models.VirtualNetworkUsageName - :ivar unit: Usage units. Returns 'Count'. - :vartype unit: str - """ - - _validation = { - 'current_value': {'readonly': True}, - 'id': {'readonly': True}, - 'limit': {'readonly': True}, - 'name': {'readonly': True}, - 'unit': {'readonly': True}, - } - - _attribute_map = { - 'current_value': {'key': 'currentValue', 'type': 'float'}, - 'id': {'key': 'id', 'type': 'str'}, - 'limit': {'key': 'limit', 'type': 'float'}, - 'name': {'key': 'name', 'type': 'VirtualNetworkUsageName'}, - 'unit': {'key': 'unit', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VirtualNetworkUsage, self).__init__(**kwargs) - self.current_value = None - self.id = None - self.limit = None - self.name = None - self.unit = None - - -class VirtualNetworkUsageName(Model): - """Usage strings container. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar localized_value: Localized subnet size and usage string. - :vartype localized_value: str - :ivar value: Subnet size and usage string. - :vartype value: str - """ - - _validation = { - 'localized_value': {'readonly': True}, - 'value': {'readonly': True}, - } - - _attribute_map = { - 'localized_value': {'key': 'localizedValue', 'type': 'str'}, - 'value': {'key': 'value', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VirtualNetworkUsageName, self).__init__(**kwargs) - self.localized_value = None - self.value = None - - -class VirtualRouter(Resource): - """VirtualRouter Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param virtual_router_asn: VirtualRouter ASN. - :type virtual_router_asn: long - :param virtual_router_ips: VirtualRouter IPs - :type virtual_router_ips: list[str] - :param hosted_subnet: The Subnet on which VirtualRouter is hosted. - :type hosted_subnet: ~azure.mgmt.network.v2019_09_01.models.SubResource - :param hosted_gateway: The Gateway on which VirtualRouter is hosted. - :type hosted_gateway: ~azure.mgmt.network.v2019_09_01.models.SubResource - :ivar peerings: List of references to VirtualRouterPeerings - :vartype peerings: - list[~azure.mgmt.network.v2019_09_01.models.SubResource] - :ivar provisioning_state: The provisioning state of the resource. Possible - values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :ivar etag: Gets a unique read-only string that changes whenever the - resource is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'virtual_router_asn': {'maximum': 4294967295, 'minimum': 0}, - 'peerings': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'virtual_router_asn': {'key': 'properties.virtualRouterAsn', 'type': 'long'}, - 'virtual_router_ips': {'key': 'properties.virtualRouterIps', 'type': '[str]'}, - 'hosted_subnet': {'key': 'properties.hostedSubnet', 'type': 'SubResource'}, - 'hosted_gateway': {'key': 'properties.hostedGateway', 'type': 'SubResource'}, - 'peerings': {'key': 'properties.peerings', 'type': '[SubResource]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VirtualRouter, self).__init__(**kwargs) - self.virtual_router_asn = kwargs.get('virtual_router_asn', None) - self.virtual_router_ips = kwargs.get('virtual_router_ips', None) - self.hosted_subnet = kwargs.get('hosted_subnet', None) - self.hosted_gateway = kwargs.get('hosted_gateway', None) - self.peerings = None - self.provisioning_state = None - self.etag = None - - -class VirtualRouterPeering(SubResource): - """Virtual Router Peering resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param peer_asn: Peer ASN. - :type peer_asn: long - :param peer_ip: Peer IP. - :type peer_ip: str - :ivar provisioning_state: The provisioning state of the resource. Possible - values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param name: Gets name of the peering unique to VirtualRouter. This name - can be used to access the resource. - :type name: str - :ivar etag: Gets a unique read-only string that changes whenever the - resource is updated. - :vartype etag: str - :ivar type: Peering type. - :vartype type: str - """ - - _validation = { - 'peer_asn': {'maximum': 4294967295, 'minimum': 0}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'peer_asn': {'key': 'properties.peerAsn', 'type': 'long'}, - 'peer_ip': {'key': 'properties.peerIp', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VirtualRouterPeering, self).__init__(**kwargs) - self.peer_asn = kwargs.get('peer_asn', None) - self.peer_ip = kwargs.get('peer_ip', None) - self.provisioning_state = None - self.name = kwargs.get('name', None) - self.etag = None - self.type = None - - -class VirtualWAN(Resource): - """VirtualWAN Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param disable_vpn_encryption: Vpn encryption to be disabled or not. - :type disable_vpn_encryption: bool - :ivar virtual_hubs: List of VirtualHubs in the VirtualWAN. - :vartype virtual_hubs: - list[~azure.mgmt.network.v2019_09_01.models.SubResource] - :ivar vpn_sites: List of VpnSites in the VirtualWAN. - :vartype vpn_sites: - list[~azure.mgmt.network.v2019_09_01.models.SubResource] - :param allow_branch_to_branch_traffic: True if branch to branch traffic is - allowed. - :type allow_branch_to_branch_traffic: bool - :param allow_vnet_to_vnet_traffic: True if Vnet to Vnet traffic is - allowed. - :type allow_vnet_to_vnet_traffic: bool - :param office365_local_breakout_category: The office local breakout - category. Possible values include: 'Optimize', 'OptimizeAndAllow', 'All', - 'None' - :type office365_local_breakout_category: str or - ~azure.mgmt.network.v2019_09_01.models.OfficeTrafficCategory - :ivar provisioning_state: The provisioning state of the virtual WAN - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param virtual_wan_type: The type of the VirtualWAN. - :type virtual_wan_type: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'virtual_hubs': {'readonly': True}, - 'vpn_sites': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'disable_vpn_encryption': {'key': 'properties.disableVpnEncryption', 'type': 'bool'}, - 'virtual_hubs': {'key': 'properties.virtualHubs', 'type': '[SubResource]'}, - 'vpn_sites': {'key': 'properties.vpnSites', 'type': '[SubResource]'}, - 'allow_branch_to_branch_traffic': {'key': 'properties.allowBranchToBranchTraffic', 'type': 'bool'}, - 'allow_vnet_to_vnet_traffic': {'key': 'properties.allowVnetToVnetTraffic', 'type': 'bool'}, - 'office365_local_breakout_category': {'key': 'properties.office365LocalBreakoutCategory', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'virtual_wan_type': {'key': 'properties.type', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VirtualWAN, self).__init__(**kwargs) - self.disable_vpn_encryption = kwargs.get('disable_vpn_encryption', None) - self.virtual_hubs = None - self.vpn_sites = None - self.allow_branch_to_branch_traffic = kwargs.get('allow_branch_to_branch_traffic', None) - self.allow_vnet_to_vnet_traffic = kwargs.get('allow_vnet_to_vnet_traffic', None) - self.office365_local_breakout_category = kwargs.get('office365_local_breakout_category', None) - self.provisioning_state = None - self.virtual_wan_type = kwargs.get('virtual_wan_type', None) - self.etag = None - - -class VirtualWanSecurityProvider(Model): - """Collection of SecurityProviders. - - :param name: Name of the security provider. - :type name: str - :param url: Url of the security provider. - :type url: str - :param type: Name of the security provider. Possible values include: - 'External', 'Native' - :type type: str or - ~azure.mgmt.network.v2019_09_01.models.VirtualWanSecurityProviderType - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'url': {'key': 'url', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VirtualWanSecurityProvider, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.url = kwargs.get('url', None) - self.type = kwargs.get('type', None) - - -class VirtualWanSecurityProviders(Model): - """Collection of SecurityProviders. - - :param supported_providers: List of VirtualWAN security providers. - :type supported_providers: - list[~azure.mgmt.network.v2019_09_01.models.VirtualWanSecurityProvider] - """ - - _attribute_map = { - 'supported_providers': {'key': 'supportedProviders', 'type': '[VirtualWanSecurityProvider]'}, - } - - def __init__(self, **kwargs): - super(VirtualWanSecurityProviders, self).__init__(**kwargs) - self.supported_providers = kwargs.get('supported_providers', None) - - -class VirtualWanVpnProfileParameters(Model): - """Virtual Wan Vpn profile parameters Vpn profile generation. - - :param vpn_server_configuration_resource_id: VpnServerConfiguration - partial resource uri with which VirtualWan is associated to. - :type vpn_server_configuration_resource_id: str - :param authentication_method: VPN client authentication method. Possible - values include: 'EAPTLS', 'EAPMSCHAPv2' - :type authentication_method: str or - ~azure.mgmt.network.v2019_09_01.models.AuthenticationMethod - """ - - _attribute_map = { - 'vpn_server_configuration_resource_id': {'key': 'vpnServerConfigurationResourceId', 'type': 'str'}, - 'authentication_method': {'key': 'authenticationMethod', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VirtualWanVpnProfileParameters, self).__init__(**kwargs) - self.vpn_server_configuration_resource_id = kwargs.get('vpn_server_configuration_resource_id', None) - self.authentication_method = kwargs.get('authentication_method', None) - - -class VpnClientConfiguration(Model): - """VpnClientConfiguration for P2S client. - - :param vpn_client_address_pool: The reference of the address space - resource which represents Address space for P2S VpnClient. - :type vpn_client_address_pool: - ~azure.mgmt.network.v2019_09_01.models.AddressSpace - :param vpn_client_root_certificates: VpnClientRootCertificate for virtual - network gateway. - :type vpn_client_root_certificates: - list[~azure.mgmt.network.v2019_09_01.models.VpnClientRootCertificate] - :param vpn_client_revoked_certificates: VpnClientRevokedCertificate for - Virtual network gateway. - :type vpn_client_revoked_certificates: - list[~azure.mgmt.network.v2019_09_01.models.VpnClientRevokedCertificate] - :param vpn_client_protocols: VpnClientProtocols for Virtual network - gateway. - :type vpn_client_protocols: list[str or - ~azure.mgmt.network.v2019_09_01.models.VpnClientProtocol] - :param vpn_client_ipsec_policies: VpnClientIpsecPolicies for virtual - network gateway P2S client. - :type vpn_client_ipsec_policies: - list[~azure.mgmt.network.v2019_09_01.models.IpsecPolicy] - :param radius_server_address: The radius server address property of the - VirtualNetworkGateway resource for vpn client connection. - :type radius_server_address: str - :param radius_server_secret: The radius secret property of the - VirtualNetworkGateway resource for vpn client connection. - :type radius_server_secret: str - :param aad_tenant: The AADTenant property of the VirtualNetworkGateway - resource for vpn client connection used for AAD authentication. - :type aad_tenant: str - :param aad_audience: The AADAudience property of the VirtualNetworkGateway - resource for vpn client connection used for AAD authentication. - :type aad_audience: str - :param aad_issuer: The AADIssuer property of the VirtualNetworkGateway - resource for vpn client connection used for AAD authentication. - :type aad_issuer: str - """ - - _attribute_map = { - 'vpn_client_address_pool': {'key': 'vpnClientAddressPool', 'type': 'AddressSpace'}, - 'vpn_client_root_certificates': {'key': 'vpnClientRootCertificates', 'type': '[VpnClientRootCertificate]'}, - 'vpn_client_revoked_certificates': {'key': 'vpnClientRevokedCertificates', 'type': '[VpnClientRevokedCertificate]'}, - 'vpn_client_protocols': {'key': 'vpnClientProtocols', 'type': '[str]'}, - 'vpn_client_ipsec_policies': {'key': 'vpnClientIpsecPolicies', 'type': '[IpsecPolicy]'}, - 'radius_server_address': {'key': 'radiusServerAddress', 'type': 'str'}, - 'radius_server_secret': {'key': 'radiusServerSecret', 'type': 'str'}, - 'aad_tenant': {'key': 'aadTenant', 'type': 'str'}, - 'aad_audience': {'key': 'aadAudience', 'type': 'str'}, - 'aad_issuer': {'key': 'aadIssuer', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VpnClientConfiguration, self).__init__(**kwargs) - self.vpn_client_address_pool = kwargs.get('vpn_client_address_pool', None) - self.vpn_client_root_certificates = kwargs.get('vpn_client_root_certificates', None) - self.vpn_client_revoked_certificates = kwargs.get('vpn_client_revoked_certificates', None) - self.vpn_client_protocols = kwargs.get('vpn_client_protocols', None) - self.vpn_client_ipsec_policies = kwargs.get('vpn_client_ipsec_policies', None) - self.radius_server_address = kwargs.get('radius_server_address', None) - self.radius_server_secret = kwargs.get('radius_server_secret', None) - self.aad_tenant = kwargs.get('aad_tenant', None) - self.aad_audience = kwargs.get('aad_audience', None) - self.aad_issuer = kwargs.get('aad_issuer', None) - - -class VpnClientConnectionHealth(Model): - """VpnClientConnectionHealth properties. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar total_ingress_bytes_transferred: Total of the Ingress Bytes - Transferred in this P2S Vpn connection. - :vartype total_ingress_bytes_transferred: long - :ivar total_egress_bytes_transferred: Total of the Egress Bytes - Transferred in this connection. - :vartype total_egress_bytes_transferred: long - :param vpn_client_connections_count: The total of p2s vpn clients - connected at this time to this P2SVpnGateway. - :type vpn_client_connections_count: int - :param allocated_ip_addresses: List of allocated ip addresses to the - connected p2s vpn clients. - :type allocated_ip_addresses: list[str] - """ - - _validation = { - 'total_ingress_bytes_transferred': {'readonly': True}, - 'total_egress_bytes_transferred': {'readonly': True}, - } - - _attribute_map = { - 'total_ingress_bytes_transferred': {'key': 'totalIngressBytesTransferred', 'type': 'long'}, - 'total_egress_bytes_transferred': {'key': 'totalEgressBytesTransferred', 'type': 'long'}, - 'vpn_client_connections_count': {'key': 'vpnClientConnectionsCount', 'type': 'int'}, - 'allocated_ip_addresses': {'key': 'allocatedIpAddresses', 'type': '[str]'}, - } - - def __init__(self, **kwargs): - super(VpnClientConnectionHealth, self).__init__(**kwargs) - self.total_ingress_bytes_transferred = None - self.total_egress_bytes_transferred = None - self.vpn_client_connections_count = kwargs.get('vpn_client_connections_count', None) - self.allocated_ip_addresses = kwargs.get('allocated_ip_addresses', None) - - -class VpnClientConnectionHealthDetail(Model): - """VPN client connection health detail. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar vpn_connection_id: The vpn client Id. - :vartype vpn_connection_id: str - :ivar vpn_connection_duration: The duration time of a connected vpn - client. - :vartype vpn_connection_duration: long - :ivar vpn_connection_time: The start time of a connected vpn client. - :vartype vpn_connection_time: str - :ivar public_ip_address: The public Ip of a connected vpn client. - :vartype public_ip_address: str - :ivar private_ip_address: The assigned private Ip of a connected vpn - client. - :vartype private_ip_address: str - :ivar vpn_user_name: The user name of a connected vpn client. - :vartype vpn_user_name: str - :ivar max_bandwidth: The max band width. - :vartype max_bandwidth: long - :ivar egress_packets_transferred: The egress packets per second. - :vartype egress_packets_transferred: long - :ivar egress_bytes_transferred: The egress bytes per second. - :vartype egress_bytes_transferred: long - :ivar ingress_packets_transferred: The ingress packets per second. - :vartype ingress_packets_transferred: long - :ivar ingress_bytes_transferred: The ingress bytes per second. - :vartype ingress_bytes_transferred: long - :ivar max_packets_per_second: The max packets transferred per second. - :vartype max_packets_per_second: long - """ - - _validation = { - 'vpn_connection_id': {'readonly': True}, - 'vpn_connection_duration': {'readonly': True}, - 'vpn_connection_time': {'readonly': True}, - 'public_ip_address': {'readonly': True}, - 'private_ip_address': {'readonly': True}, - 'vpn_user_name': {'readonly': True}, - 'max_bandwidth': {'readonly': True}, - 'egress_packets_transferred': {'readonly': True}, - 'egress_bytes_transferred': {'readonly': True}, - 'ingress_packets_transferred': {'readonly': True}, - 'ingress_bytes_transferred': {'readonly': True}, - 'max_packets_per_second': {'readonly': True}, - } - - _attribute_map = { - 'vpn_connection_id': {'key': 'vpnConnectionId', 'type': 'str'}, - 'vpn_connection_duration': {'key': 'vpnConnectionDuration', 'type': 'long'}, - 'vpn_connection_time': {'key': 'vpnConnectionTime', 'type': 'str'}, - 'public_ip_address': {'key': 'publicIpAddress', 'type': 'str'}, - 'private_ip_address': {'key': 'privateIpAddress', 'type': 'str'}, - 'vpn_user_name': {'key': 'vpnUserName', 'type': 'str'}, - 'max_bandwidth': {'key': 'maxBandwidth', 'type': 'long'}, - 'egress_packets_transferred': {'key': 'egressPacketsTransferred', 'type': 'long'}, - 'egress_bytes_transferred': {'key': 'egressBytesTransferred', 'type': 'long'}, - 'ingress_packets_transferred': {'key': 'ingressPacketsTransferred', 'type': 'long'}, - 'ingress_bytes_transferred': {'key': 'ingressBytesTransferred', 'type': 'long'}, - 'max_packets_per_second': {'key': 'maxPacketsPerSecond', 'type': 'long'}, - } - - def __init__(self, **kwargs): - super(VpnClientConnectionHealthDetail, self).__init__(**kwargs) - self.vpn_connection_id = None - self.vpn_connection_duration = None - self.vpn_connection_time = None - self.public_ip_address = None - self.private_ip_address = None - self.vpn_user_name = None - self.max_bandwidth = None - self.egress_packets_transferred = None - self.egress_bytes_transferred = None - self.ingress_packets_transferred = None - self.ingress_bytes_transferred = None - self.max_packets_per_second = None - - -class VpnClientConnectionHealthDetailListResult(Model): - """List of virtual network gateway vpn client connection health. - - :param value: List of vpn client connection health. - :type value: - list[~azure.mgmt.network.v2019_09_01.models.VpnClientConnectionHealthDetail] - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[VpnClientConnectionHealthDetail]'}, - } - - def __init__(self, **kwargs): - super(VpnClientConnectionHealthDetailListResult, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - - -class VpnClientIPsecParameters(Model): - """An IPSec parameters for a virtual network gateway P2S connection. - - All required parameters must be populated in order to send to Azure. - - :param sa_life_time_seconds: Required. The IPSec Security Association - (also called Quick Mode or Phase 2 SA) lifetime in seconds for P2S client. - :type sa_life_time_seconds: int - :param sa_data_size_kilobytes: Required. The IPSec Security Association - (also called Quick Mode or Phase 2 SA) payload size in KB for P2S client.. - :type sa_data_size_kilobytes: int - :param ipsec_encryption: Required. The IPSec encryption algorithm (IKE - phase 1). Possible values include: 'None', 'DES', 'DES3', 'AES128', - 'AES192', 'AES256', 'GCMAES128', 'GCMAES192', 'GCMAES256' - :type ipsec_encryption: str or - ~azure.mgmt.network.v2019_09_01.models.IpsecEncryption - :param ipsec_integrity: Required. The IPSec integrity algorithm (IKE phase - 1). Possible values include: 'MD5', 'SHA1', 'SHA256', 'GCMAES128', - 'GCMAES192', 'GCMAES256' - :type ipsec_integrity: str or - ~azure.mgmt.network.v2019_09_01.models.IpsecIntegrity - :param ike_encryption: Required. The IKE encryption algorithm (IKE phase - 2). Possible values include: 'DES', 'DES3', 'AES128', 'AES192', 'AES256', - 'GCMAES256', 'GCMAES128' - :type ike_encryption: str or - ~azure.mgmt.network.v2019_09_01.models.IkeEncryption - :param ike_integrity: Required. The IKE integrity algorithm (IKE phase 2). - Possible values include: 'MD5', 'SHA1', 'SHA256', 'SHA384', 'GCMAES256', - 'GCMAES128' - :type ike_integrity: str or - ~azure.mgmt.network.v2019_09_01.models.IkeIntegrity - :param dh_group: Required. The DH Group used in IKE Phase 1 for initial - SA. Possible values include: 'None', 'DHGroup1', 'DHGroup2', 'DHGroup14', - 'DHGroup2048', 'ECP256', 'ECP384', 'DHGroup24' - :type dh_group: str or ~azure.mgmt.network.v2019_09_01.models.DhGroup - :param pfs_group: Required. The Pfs Group used in IKE Phase 2 for new - child SA. Possible values include: 'None', 'PFS1', 'PFS2', 'PFS2048', - 'ECP256', 'ECP384', 'PFS24', 'PFS14', 'PFSMM' - :type pfs_group: str or ~azure.mgmt.network.v2019_09_01.models.PfsGroup - """ - - _validation = { - 'sa_life_time_seconds': {'required': True}, - 'sa_data_size_kilobytes': {'required': True}, - 'ipsec_encryption': {'required': True}, - 'ipsec_integrity': {'required': True}, - 'ike_encryption': {'required': True}, - 'ike_integrity': {'required': True}, - 'dh_group': {'required': True}, - 'pfs_group': {'required': True}, - } - - _attribute_map = { - 'sa_life_time_seconds': {'key': 'saLifeTimeSeconds', 'type': 'int'}, - 'sa_data_size_kilobytes': {'key': 'saDataSizeKilobytes', 'type': 'int'}, - 'ipsec_encryption': {'key': 'ipsecEncryption', 'type': 'str'}, - 'ipsec_integrity': {'key': 'ipsecIntegrity', 'type': 'str'}, - 'ike_encryption': {'key': 'ikeEncryption', 'type': 'str'}, - 'ike_integrity': {'key': 'ikeIntegrity', 'type': 'str'}, - 'dh_group': {'key': 'dhGroup', 'type': 'str'}, - 'pfs_group': {'key': 'pfsGroup', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VpnClientIPsecParameters, self).__init__(**kwargs) - self.sa_life_time_seconds = kwargs.get('sa_life_time_seconds', None) - self.sa_data_size_kilobytes = kwargs.get('sa_data_size_kilobytes', None) - self.ipsec_encryption = kwargs.get('ipsec_encryption', None) - self.ipsec_integrity = kwargs.get('ipsec_integrity', None) - self.ike_encryption = kwargs.get('ike_encryption', None) - self.ike_integrity = kwargs.get('ike_integrity', None) - self.dh_group = kwargs.get('dh_group', None) - self.pfs_group = kwargs.get('pfs_group', None) - - -class VpnClientParameters(Model): - """Vpn Client Parameters for package generation. - - :param processor_architecture: VPN client Processor Architecture. Possible - values include: 'Amd64', 'X86' - :type processor_architecture: str or - ~azure.mgmt.network.v2019_09_01.models.ProcessorArchitecture - :param authentication_method: VPN client authentication method. Possible - values include: 'EAPTLS', 'EAPMSCHAPv2' - :type authentication_method: str or - ~azure.mgmt.network.v2019_09_01.models.AuthenticationMethod - :param radius_server_auth_certificate: The public certificate data for the - radius server authentication certificate as a Base-64 encoded string. - Required only if external radius authentication has been configured with - EAPTLS authentication. - :type radius_server_auth_certificate: str - :param client_root_certificates: A list of client root certificates public - certificate data encoded as Base-64 strings. Optional parameter for - external radius based authentication with EAPTLS. - :type client_root_certificates: list[str] - """ - - _attribute_map = { - 'processor_architecture': {'key': 'processorArchitecture', 'type': 'str'}, - 'authentication_method': {'key': 'authenticationMethod', 'type': 'str'}, - 'radius_server_auth_certificate': {'key': 'radiusServerAuthCertificate', 'type': 'str'}, - 'client_root_certificates': {'key': 'clientRootCertificates', 'type': '[str]'}, - } - - def __init__(self, **kwargs): - super(VpnClientParameters, self).__init__(**kwargs) - self.processor_architecture = kwargs.get('processor_architecture', None) - self.authentication_method = kwargs.get('authentication_method', None) - self.radius_server_auth_certificate = kwargs.get('radius_server_auth_certificate', None) - self.client_root_certificates = kwargs.get('client_root_certificates', None) - - -class VpnClientRevokedCertificate(SubResource): - """VPN client revoked certificate of virtual network gateway. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param thumbprint: The revoked VPN client certificate thumbprint. - :type thumbprint: str - :ivar provisioning_state: The provisioning state of the VPN client revoked - certificate resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'thumbprint': {'key': 'properties.thumbprint', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VpnClientRevokedCertificate, self).__init__(**kwargs) - self.thumbprint = kwargs.get('thumbprint', None) - self.provisioning_state = None - self.name = kwargs.get('name', None) - self.etag = None - - -class VpnClientRootCertificate(SubResource): - """VPN client root certificate of virtual network gateway. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :param public_cert_data: Required. The certificate public data. - :type public_cert_data: str - :ivar provisioning_state: The provisioning state of the VPN client root - certificate resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'public_cert_data': {'required': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'public_cert_data': {'key': 'properties.publicCertData', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VpnClientRootCertificate, self).__init__(**kwargs) - self.public_cert_data = kwargs.get('public_cert_data', None) - self.provisioning_state = None - self.name = kwargs.get('name', None) - self.etag = None - - -class VpnConnection(SubResource): - """VpnConnection Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param remote_vpn_site: Id of the connected vpn site. - :type remote_vpn_site: ~azure.mgmt.network.v2019_09_01.models.SubResource - :param routing_weight: Routing weight for vpn connection. - :type routing_weight: int - :param connection_status: The connection status. Possible values include: - 'Unknown', 'Connecting', 'Connected', 'NotConnected' - :type connection_status: str or - ~azure.mgmt.network.v2019_09_01.models.VpnConnectionStatus - :param vpn_connection_protocol_type: Connection protocol used for this - connection. Possible values include: 'IKEv2', 'IKEv1' - :type vpn_connection_protocol_type: str or - ~azure.mgmt.network.v2019_09_01.models.VirtualNetworkGatewayConnectionProtocol - :ivar ingress_bytes_transferred: Ingress bytes transferred. - :vartype ingress_bytes_transferred: long - :ivar egress_bytes_transferred: Egress bytes transferred. - :vartype egress_bytes_transferred: long - :param connection_bandwidth: Expected bandwidth in MBPS. - :type connection_bandwidth: int - :param shared_key: SharedKey for the vpn connection. - :type shared_key: str - :param enable_bgp: EnableBgp flag. - :type enable_bgp: bool - :param use_policy_based_traffic_selectors: Enable policy-based traffic - selectors. - :type use_policy_based_traffic_selectors: bool - :param ipsec_policies: The IPSec Policies to be considered by this - connection. - :type ipsec_policies: - list[~azure.mgmt.network.v2019_09_01.models.IpsecPolicy] - :param enable_rate_limiting: EnableBgp flag. - :type enable_rate_limiting: bool - :param enable_internet_security: Enable internet security. - :type enable_internet_security: bool - :param use_local_azure_ip_address: Use local azure ip to initiate - connection. - :type use_local_azure_ip_address: bool - :ivar provisioning_state: The provisioning state of the VPN connection - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param vpn_link_connections: List of all vpn site link connections to the - gateway. - :type vpn_link_connections: - list[~azure.mgmt.network.v2019_09_01.models.VpnSiteLinkConnection] - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'ingress_bytes_transferred': {'readonly': True}, - 'egress_bytes_transferred': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'remote_vpn_site': {'key': 'properties.remoteVpnSite', 'type': 'SubResource'}, - 'routing_weight': {'key': 'properties.routingWeight', 'type': 'int'}, - 'connection_status': {'key': 'properties.connectionStatus', 'type': 'str'}, - 'vpn_connection_protocol_type': {'key': 'properties.vpnConnectionProtocolType', 'type': 'str'}, - 'ingress_bytes_transferred': {'key': 'properties.ingressBytesTransferred', 'type': 'long'}, - 'egress_bytes_transferred': {'key': 'properties.egressBytesTransferred', 'type': 'long'}, - 'connection_bandwidth': {'key': 'properties.connectionBandwidth', 'type': 'int'}, - 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, - 'enable_bgp': {'key': 'properties.enableBgp', 'type': 'bool'}, - 'use_policy_based_traffic_selectors': {'key': 'properties.usePolicyBasedTrafficSelectors', 'type': 'bool'}, - 'ipsec_policies': {'key': 'properties.ipsecPolicies', 'type': '[IpsecPolicy]'}, - 'enable_rate_limiting': {'key': 'properties.enableRateLimiting', 'type': 'bool'}, - 'enable_internet_security': {'key': 'properties.enableInternetSecurity', 'type': 'bool'}, - 'use_local_azure_ip_address': {'key': 'properties.useLocalAzureIpAddress', 'type': 'bool'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'vpn_link_connections': {'key': 'properties.vpnLinkConnections', 'type': '[VpnSiteLinkConnection]'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VpnConnection, self).__init__(**kwargs) - self.remote_vpn_site = kwargs.get('remote_vpn_site', None) - self.routing_weight = kwargs.get('routing_weight', None) - self.connection_status = kwargs.get('connection_status', None) - self.vpn_connection_protocol_type = kwargs.get('vpn_connection_protocol_type', None) - self.ingress_bytes_transferred = None - self.egress_bytes_transferred = None - self.connection_bandwidth = kwargs.get('connection_bandwidth', None) - self.shared_key = kwargs.get('shared_key', None) - self.enable_bgp = kwargs.get('enable_bgp', None) - self.use_policy_based_traffic_selectors = kwargs.get('use_policy_based_traffic_selectors', None) - self.ipsec_policies = kwargs.get('ipsec_policies', None) - self.enable_rate_limiting = kwargs.get('enable_rate_limiting', None) - self.enable_internet_security = kwargs.get('enable_internet_security', None) - self.use_local_azure_ip_address = kwargs.get('use_local_azure_ip_address', None) - self.provisioning_state = None - self.vpn_link_connections = kwargs.get('vpn_link_connections', None) - self.name = kwargs.get('name', None) - self.etag = None - - -class VpnDeviceScriptParameters(Model): - """Vpn device configuration script generation parameters. - - :param vendor: The vendor for the vpn device. - :type vendor: str - :param device_family: The device family for the vpn device. - :type device_family: str - :param firmware_version: The firmware version for the vpn device. - :type firmware_version: str - """ - - _attribute_map = { - 'vendor': {'key': 'vendor', 'type': 'str'}, - 'device_family': {'key': 'deviceFamily', 'type': 'str'}, - 'firmware_version': {'key': 'firmwareVersion', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VpnDeviceScriptParameters, self).__init__(**kwargs) - self.vendor = kwargs.get('vendor', None) - self.device_family = kwargs.get('device_family', None) - self.firmware_version = kwargs.get('firmware_version', None) - - -class VpnGateway(Resource): - """VpnGateway Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param virtual_hub: The VirtualHub to which the gateway belongs. - :type virtual_hub: ~azure.mgmt.network.v2019_09_01.models.SubResource - :param connections: List of all vpn connections to the gateway. - :type connections: - list[~azure.mgmt.network.v2019_09_01.models.VpnConnection] - :param bgp_settings: Local network gateway's BGP speaker settings. - :type bgp_settings: ~azure.mgmt.network.v2019_09_01.models.BgpSettings - :ivar provisioning_state: The provisioning state of the VPN gateway - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param vpn_gateway_scale_unit: The scale unit for this vpn gateway. - :type vpn_gateway_scale_unit: int - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'virtual_hub': {'key': 'properties.virtualHub', 'type': 'SubResource'}, - 'connections': {'key': 'properties.connections', 'type': '[VpnConnection]'}, - 'bgp_settings': {'key': 'properties.bgpSettings', 'type': 'BgpSettings'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'vpn_gateway_scale_unit': {'key': 'properties.vpnGatewayScaleUnit', 'type': 'int'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VpnGateway, self).__init__(**kwargs) - self.virtual_hub = kwargs.get('virtual_hub', None) - self.connections = kwargs.get('connections', None) - self.bgp_settings = kwargs.get('bgp_settings', None) - self.provisioning_state = None - self.vpn_gateway_scale_unit = kwargs.get('vpn_gateway_scale_unit', None) - self.etag = None - - -class VpnLinkBgpSettings(Model): - """BGP settings details for a link. - - :param asn: The BGP speaker's ASN. - :type asn: long - :param bgp_peering_address: The BGP peering address and BGP identifier of - this BGP speaker. - :type bgp_peering_address: str - """ - - _attribute_map = { - 'asn': {'key': 'asn', 'type': 'long'}, - 'bgp_peering_address': {'key': 'bgpPeeringAddress', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VpnLinkBgpSettings, self).__init__(**kwargs) - self.asn = kwargs.get('asn', None) - self.bgp_peering_address = kwargs.get('bgp_peering_address', None) - - -class VpnLinkProviderProperties(Model): - """List of properties of a link provider. - - :param link_provider_name: Name of the link provider. - :type link_provider_name: str - :param link_speed_in_mbps: Link speed. - :type link_speed_in_mbps: int - """ - - _attribute_map = { - 'link_provider_name': {'key': 'linkProviderName', 'type': 'str'}, - 'link_speed_in_mbps': {'key': 'linkSpeedInMbps', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(VpnLinkProviderProperties, self).__init__(**kwargs) - self.link_provider_name = kwargs.get('link_provider_name', None) - self.link_speed_in_mbps = kwargs.get('link_speed_in_mbps', None) - - -class VpnPacketCaptureStartParameters(Model): - """Start packet capture parameters on virtual network gateway. - - :param filter_data: Start Packet capture parameters. - :type filter_data: str - """ - - _attribute_map = { - 'filter_data': {'key': 'filterData', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VpnPacketCaptureStartParameters, self).__init__(**kwargs) - self.filter_data = kwargs.get('filter_data', None) - - -class VpnPacketCaptureStopParameters(Model): - """Stop packet capture parameters. - - :param sas_url: SAS url for packet capture on virtual network gateway. - :type sas_url: str - """ - - _attribute_map = { - 'sas_url': {'key': 'sasUrl', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VpnPacketCaptureStopParameters, self).__init__(**kwargs) - self.sas_url = kwargs.get('sas_url', None) - - -class VpnProfileResponse(Model): - """Vpn Profile Response for package generation. - - :param profile_url: URL to the VPN profile. - :type profile_url: str - """ - - _attribute_map = { - 'profile_url': {'key': 'profileUrl', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VpnProfileResponse, self).__init__(**kwargs) - self.profile_url = kwargs.get('profile_url', None) - - -class VpnServerConfigRadiusClientRootCertificate(Model): - """Properties of the Radius client root certificate of VpnServerConfiguration. - - :param name: The certificate name. - :type name: str - :param thumbprint: The Radius client root certificate thumbprint. - :type thumbprint: str - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'thumbprint': {'key': 'thumbprint', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VpnServerConfigRadiusClientRootCertificate, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.thumbprint = kwargs.get('thumbprint', None) - - -class VpnServerConfigRadiusServerRootCertificate(Model): - """Properties of Radius Server root certificate of VpnServerConfiguration. - - :param name: The certificate name. - :type name: str - :param public_cert_data: The certificate public data. - :type public_cert_data: str - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'public_cert_data': {'key': 'publicCertData', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VpnServerConfigRadiusServerRootCertificate, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.public_cert_data = kwargs.get('public_cert_data', None) - - -class VpnServerConfiguration(Resource): - """VpnServerConfiguration Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param vpn_server_configuration_name: The name of the - VpnServerConfiguration that is unique within a resource group. - :type vpn_server_configuration_name: str - :param vpn_protocols: VPN protocols for the VpnServerConfiguration. - :type vpn_protocols: list[str or - ~azure.mgmt.network.v2019_09_01.models.VpnGatewayTunnelingProtocol] - :param vpn_authentication_types: VPN authentication types for the - VpnServerConfiguration. - :type vpn_authentication_types: list[str or - ~azure.mgmt.network.v2019_09_01.models.VpnAuthenticationType] - :param vpn_client_root_certificates: VPN client root certificate of - VpnServerConfiguration. - :type vpn_client_root_certificates: - list[~azure.mgmt.network.v2019_09_01.models.VpnServerConfigVpnClientRootCertificate] - :param vpn_client_revoked_certificates: VPN client revoked certificate of - VpnServerConfiguration. - :type vpn_client_revoked_certificates: - list[~azure.mgmt.network.v2019_09_01.models.VpnServerConfigVpnClientRevokedCertificate] - :param radius_server_root_certificates: Radius Server root certificate of - VpnServerConfiguration. - :type radius_server_root_certificates: - list[~azure.mgmt.network.v2019_09_01.models.VpnServerConfigRadiusServerRootCertificate] - :param radius_client_root_certificates: Radius client root certificate of - VpnServerConfiguration. - :type radius_client_root_certificates: - list[~azure.mgmt.network.v2019_09_01.models.VpnServerConfigRadiusClientRootCertificate] - :param vpn_client_ipsec_policies: VpnClientIpsecPolicies for - VpnServerConfiguration. - :type vpn_client_ipsec_policies: - list[~azure.mgmt.network.v2019_09_01.models.IpsecPolicy] - :param radius_server_address: The radius server address property of the - VpnServerConfiguration resource for point to site client connection. - :type radius_server_address: str - :param radius_server_secret: The radius secret property of the - VpnServerConfiguration resource for point to site client connection. - :type radius_server_secret: str - :param aad_authentication_parameters: The set of aad vpn authentication - parameters. - :type aad_authentication_parameters: - ~azure.mgmt.network.v2019_09_01.models.AadAuthenticationParameters - :ivar provisioning_state: The provisioning state of the - VpnServerConfiguration resource. Possible values are: 'Updating', - 'Deleting', and 'Failed'. - :vartype provisioning_state: str - :ivar p2_svpn_gateways: List of references to P2SVpnGateways. - :vartype p2_svpn_gateways: - list[~azure.mgmt.network.v2019_09_01.models.P2SVpnGateway] - :ivar vpn_server_configuration_properties_etag: A unique read-only string - that changes whenever the resource is updated. - :vartype vpn_server_configuration_properties_etag: str - :ivar etag: Gets a unique read-only string that changes whenever the - resource is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'p2_svpn_gateways': {'readonly': True}, - 'vpn_server_configuration_properties_etag': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'vpn_server_configuration_name': {'key': 'properties.name', 'type': 'str'}, - 'vpn_protocols': {'key': 'properties.vpnProtocols', 'type': '[str]'}, - 'vpn_authentication_types': {'key': 'properties.vpnAuthenticationTypes', 'type': '[str]'}, - 'vpn_client_root_certificates': {'key': 'properties.vpnClientRootCertificates', 'type': '[VpnServerConfigVpnClientRootCertificate]'}, - 'vpn_client_revoked_certificates': {'key': 'properties.vpnClientRevokedCertificates', 'type': '[VpnServerConfigVpnClientRevokedCertificate]'}, - 'radius_server_root_certificates': {'key': 'properties.radiusServerRootCertificates', 'type': '[VpnServerConfigRadiusServerRootCertificate]'}, - 'radius_client_root_certificates': {'key': 'properties.radiusClientRootCertificates', 'type': '[VpnServerConfigRadiusClientRootCertificate]'}, - 'vpn_client_ipsec_policies': {'key': 'properties.vpnClientIpsecPolicies', 'type': '[IpsecPolicy]'}, - 'radius_server_address': {'key': 'properties.radiusServerAddress', 'type': 'str'}, - 'radius_server_secret': {'key': 'properties.radiusServerSecret', 'type': 'str'}, - 'aad_authentication_parameters': {'key': 'properties.aadAuthenticationParameters', 'type': 'AadAuthenticationParameters'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'p2_svpn_gateways': {'key': 'properties.p2SVpnGateways', 'type': '[P2SVpnGateway]'}, - 'vpn_server_configuration_properties_etag': {'key': 'properties.etag', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VpnServerConfiguration, self).__init__(**kwargs) - self.vpn_server_configuration_name = kwargs.get('vpn_server_configuration_name', None) - self.vpn_protocols = kwargs.get('vpn_protocols', None) - self.vpn_authentication_types = kwargs.get('vpn_authentication_types', None) - self.vpn_client_root_certificates = kwargs.get('vpn_client_root_certificates', None) - self.vpn_client_revoked_certificates = kwargs.get('vpn_client_revoked_certificates', None) - self.radius_server_root_certificates = kwargs.get('radius_server_root_certificates', None) - self.radius_client_root_certificates = kwargs.get('radius_client_root_certificates', None) - self.vpn_client_ipsec_policies = kwargs.get('vpn_client_ipsec_policies', None) - self.radius_server_address = kwargs.get('radius_server_address', None) - self.radius_server_secret = kwargs.get('radius_server_secret', None) - self.aad_authentication_parameters = kwargs.get('aad_authentication_parameters', None) - self.provisioning_state = None - self.p2_svpn_gateways = None - self.vpn_server_configuration_properties_etag = None - self.etag = None - - -class VpnServerConfigurationsResponse(Model): - """VpnServerConfigurations list associated with VirtualWan Response. - - :param vpn_server_configuration_resource_ids: List of - VpnServerConfigurations associated with VirtualWan. - :type vpn_server_configuration_resource_ids: list[str] - """ - - _attribute_map = { - 'vpn_server_configuration_resource_ids': {'key': 'vpnServerConfigurationResourceIds', 'type': '[str]'}, - } - - def __init__(self, **kwargs): - super(VpnServerConfigurationsResponse, self).__init__(**kwargs) - self.vpn_server_configuration_resource_ids = kwargs.get('vpn_server_configuration_resource_ids', None) - - -class VpnServerConfigVpnClientRevokedCertificate(Model): - """Properties of the revoked VPN client certificate of VpnServerConfiguration. - - :param name: The certificate name. - :type name: str - :param thumbprint: The revoked VPN client certificate thumbprint. - :type thumbprint: str - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'thumbprint': {'key': 'thumbprint', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VpnServerConfigVpnClientRevokedCertificate, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.thumbprint = kwargs.get('thumbprint', None) - - -class VpnServerConfigVpnClientRootCertificate(Model): - """Properties of VPN client root certificate of VpnServerConfiguration. - - :param name: The certificate name. - :type name: str - :param public_cert_data: The certificate public data. - :type public_cert_data: str - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'public_cert_data': {'key': 'publicCertData', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VpnServerConfigVpnClientRootCertificate, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.public_cert_data = kwargs.get('public_cert_data', None) - - -class VpnSite(Resource): - """VpnSite Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param virtual_wan: The VirtualWAN to which the vpnSite belongs. - :type virtual_wan: ~azure.mgmt.network.v2019_09_01.models.SubResource - :param device_properties: The device properties. - :type device_properties: - ~azure.mgmt.network.v2019_09_01.models.DeviceProperties - :param ip_address: The ip-address for the vpn-site. - :type ip_address: str - :param site_key: The key for vpn-site that can be used for connections. - :type site_key: str - :param address_space: The AddressSpace that contains an array of IP - address ranges. - :type address_space: ~azure.mgmt.network.v2019_09_01.models.AddressSpace - :param bgp_properties: The set of bgp properties. - :type bgp_properties: ~azure.mgmt.network.v2019_09_01.models.BgpSettings - :ivar provisioning_state: The provisioning state of the VPN site resource. - Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param is_security_site: IsSecuritySite flag. - :type is_security_site: bool - :param vpn_site_links: List of all vpn site links. - :type vpn_site_links: - list[~azure.mgmt.network.v2019_09_01.models.VpnSiteLink] - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'virtual_wan': {'key': 'properties.virtualWan', 'type': 'SubResource'}, - 'device_properties': {'key': 'properties.deviceProperties', 'type': 'DeviceProperties'}, - 'ip_address': {'key': 'properties.ipAddress', 'type': 'str'}, - 'site_key': {'key': 'properties.siteKey', 'type': 'str'}, - 'address_space': {'key': 'properties.addressSpace', 'type': 'AddressSpace'}, - 'bgp_properties': {'key': 'properties.bgpProperties', 'type': 'BgpSettings'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'is_security_site': {'key': 'properties.isSecuritySite', 'type': 'bool'}, - 'vpn_site_links': {'key': 'properties.vpnSiteLinks', 'type': '[VpnSiteLink]'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VpnSite, self).__init__(**kwargs) - self.virtual_wan = kwargs.get('virtual_wan', None) - self.device_properties = kwargs.get('device_properties', None) - self.ip_address = kwargs.get('ip_address', None) - self.site_key = kwargs.get('site_key', None) - self.address_space = kwargs.get('address_space', None) - self.bgp_properties = kwargs.get('bgp_properties', None) - self.provisioning_state = None - self.is_security_site = kwargs.get('is_security_site', None) - self.vpn_site_links = kwargs.get('vpn_site_links', None) - self.etag = None - - -class VpnSiteId(Model): - """VpnSite Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar vpn_site: The resource-uri of the vpn-site for which config is to be - fetched. - :vartype vpn_site: str - """ - - _validation = { - 'vpn_site': {'readonly': True}, - } - - _attribute_map = { - 'vpn_site': {'key': 'vpnSite', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VpnSiteId, self).__init__(**kwargs) - self.vpn_site = None - - -class VpnSiteLink(SubResource): - """VpnSiteLink Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param link_properties: The link provider properties. - :type link_properties: - ~azure.mgmt.network.v2019_09_01.models.VpnLinkProviderProperties - :param ip_address: The ip-address for the vpn-site-link. - :type ip_address: str - :param bgp_properties: The set of bgp properties. - :type bgp_properties: - ~azure.mgmt.network.v2019_09_01.models.VpnLinkBgpSettings - :ivar provisioning_state: The provisioning state of the VPN site link - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar type: Resource type. - :vartype type: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'link_properties': {'key': 'properties.linkProperties', 'type': 'VpnLinkProviderProperties'}, - 'ip_address': {'key': 'properties.ipAddress', 'type': 'str'}, - 'bgp_properties': {'key': 'properties.bgpProperties', 'type': 'VpnLinkBgpSettings'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VpnSiteLink, self).__init__(**kwargs) - self.link_properties = kwargs.get('link_properties', None) - self.ip_address = kwargs.get('ip_address', None) - self.bgp_properties = kwargs.get('bgp_properties', None) - self.provisioning_state = None - self.etag = None - self.name = kwargs.get('name', None) - self.type = None - - -class VpnSiteLinkConnection(SubResource): - """VpnSiteLinkConnection Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param vpn_site_link: Id of the connected vpn site link. - :type vpn_site_link: ~azure.mgmt.network.v2019_09_01.models.SubResource - :param routing_weight: Routing weight for vpn connection. - :type routing_weight: int - :param connection_status: The connection status. Possible values include: - 'Unknown', 'Connecting', 'Connected', 'NotConnected' - :type connection_status: str or - ~azure.mgmt.network.v2019_09_01.models.VpnConnectionStatus - :param vpn_connection_protocol_type: Connection protocol used for this - connection. Possible values include: 'IKEv2', 'IKEv1' - :type vpn_connection_protocol_type: str or - ~azure.mgmt.network.v2019_09_01.models.VirtualNetworkGatewayConnectionProtocol - :ivar ingress_bytes_transferred: Ingress bytes transferred. - :vartype ingress_bytes_transferred: long - :ivar egress_bytes_transferred: Egress bytes transferred. - :vartype egress_bytes_transferred: long - :param connection_bandwidth: Expected bandwidth in MBPS. - :type connection_bandwidth: int - :param shared_key: SharedKey for the vpn connection. - :type shared_key: str - :param enable_bgp: EnableBgp flag. - :type enable_bgp: bool - :param use_policy_based_traffic_selectors: Enable policy-based traffic - selectors. - :type use_policy_based_traffic_selectors: bool - :param ipsec_policies: The IPSec Policies to be considered by this - connection. - :type ipsec_policies: - list[~azure.mgmt.network.v2019_09_01.models.IpsecPolicy] - :param enable_rate_limiting: EnableBgp flag. - :type enable_rate_limiting: bool - :param use_local_azure_ip_address: Use local azure ip to initiate - connection. - :type use_local_azure_ip_address: bool - :ivar provisioning_state: The provisioning state of the VPN site link - connection resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :ivar type: Resource type. - :vartype type: str - """ - - _validation = { - 'ingress_bytes_transferred': {'readonly': True}, - 'egress_bytes_transferred': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'vpn_site_link': {'key': 'properties.vpnSiteLink', 'type': 'SubResource'}, - 'routing_weight': {'key': 'properties.routingWeight', 'type': 'int'}, - 'connection_status': {'key': 'properties.connectionStatus', 'type': 'str'}, - 'vpn_connection_protocol_type': {'key': 'properties.vpnConnectionProtocolType', 'type': 'str'}, - 'ingress_bytes_transferred': {'key': 'properties.ingressBytesTransferred', 'type': 'long'}, - 'egress_bytes_transferred': {'key': 'properties.egressBytesTransferred', 'type': 'long'}, - 'connection_bandwidth': {'key': 'properties.connectionBandwidth', 'type': 'int'}, - 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, - 'enable_bgp': {'key': 'properties.enableBgp', 'type': 'bool'}, - 'use_policy_based_traffic_selectors': {'key': 'properties.usePolicyBasedTrafficSelectors', 'type': 'bool'}, - 'ipsec_policies': {'key': 'properties.ipsecPolicies', 'type': '[IpsecPolicy]'}, - 'enable_rate_limiting': {'key': 'properties.enableRateLimiting', 'type': 'bool'}, - 'use_local_azure_ip_address': {'key': 'properties.useLocalAzureIpAddress', 'type': 'bool'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VpnSiteLinkConnection, self).__init__(**kwargs) - self.vpn_site_link = kwargs.get('vpn_site_link', None) - self.routing_weight = kwargs.get('routing_weight', None) - self.connection_status = kwargs.get('connection_status', None) - self.vpn_connection_protocol_type = kwargs.get('vpn_connection_protocol_type', None) - self.ingress_bytes_transferred = None - self.egress_bytes_transferred = None - self.connection_bandwidth = kwargs.get('connection_bandwidth', None) - self.shared_key = kwargs.get('shared_key', None) - self.enable_bgp = kwargs.get('enable_bgp', None) - self.use_policy_based_traffic_selectors = kwargs.get('use_policy_based_traffic_selectors', None) - self.ipsec_policies = kwargs.get('ipsec_policies', None) - self.enable_rate_limiting = kwargs.get('enable_rate_limiting', None) - self.use_local_azure_ip_address = kwargs.get('use_local_azure_ip_address', None) - self.provisioning_state = None - self.name = kwargs.get('name', None) - self.etag = None - self.type = None - - -class WebApplicationFirewallCustomRule(Model): - """Defines contents of a web application rule. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :param name: The name of the resource that is unique within a policy. This - name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :param priority: Required. Describes priority of the rule. Rules with a - lower value will be evaluated before rules with a higher value. - :type priority: int - :param rule_type: Required. Describes type of rule. Possible values - include: 'MatchRule', 'Invalid' - :type rule_type: str or - ~azure.mgmt.network.v2019_09_01.models.WebApplicationFirewallRuleType - :param match_conditions: Required. List of match conditions. - :type match_conditions: - list[~azure.mgmt.network.v2019_09_01.models.MatchCondition] - :param action: Required. Type of Actions. Possible values include: - 'Allow', 'Block', 'Log' - :type action: str or - ~azure.mgmt.network.v2019_09_01.models.WebApplicationFirewallAction - """ - - _validation = { - 'name': {'max_length': 128}, - 'etag': {'readonly': True}, - 'priority': {'required': True}, - 'rule_type': {'required': True}, - 'match_conditions': {'required': True}, - 'action': {'required': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'priority': {'key': 'priority', 'type': 'int'}, - 'rule_type': {'key': 'ruleType', 'type': 'str'}, - 'match_conditions': {'key': 'matchConditions', 'type': '[MatchCondition]'}, - 'action': {'key': 'action', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(WebApplicationFirewallCustomRule, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.etag = None - self.priority = kwargs.get('priority', None) - self.rule_type = kwargs.get('rule_type', None) - self.match_conditions = kwargs.get('match_conditions', None) - self.action = kwargs.get('action', None) - - -class WebApplicationFirewallPolicy(Resource): - """Defines web application firewall policy. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param policy_settings: Describes policySettings for policy. - :type policy_settings: - ~azure.mgmt.network.v2019_09_01.models.PolicySettings - :param custom_rules: Describes custom rules inside the policy. - :type custom_rules: - list[~azure.mgmt.network.v2019_09_01.models.WebApplicationFirewallCustomRule] - :ivar application_gateways: A collection of references to application - gateways. - :vartype application_gateways: - list[~azure.mgmt.network.v2019_09_01.models.ApplicationGateway] - :ivar provisioning_state: The provisioning state of the web application - firewall policy resource. Possible values include: 'Succeeded', - 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :ivar resource_state: Resource status of the policy. Resource status of - the policy. Possible values include: 'Creating', 'Enabling', 'Enabled', - 'Disabling', 'Disabled', 'Deleting' - :vartype resource_state: str or - ~azure.mgmt.network.v2019_09_01.models.WebApplicationFirewallPolicyResourceState - :param managed_rules: Required. Describes the managedRules structure - :type managed_rules: - ~azure.mgmt.network.v2019_09_01.models.ManagedRulesDefinition - :ivar http_listeners: A collection of references to application gateway - http listeners. - :vartype http_listeners: - list[~azure.mgmt.network.v2019_09_01.models.SubResource] - :ivar path_based_rules: A collection of references to application gateway - path rules. - :vartype path_based_rules: - list[~azure.mgmt.network.v2019_09_01.models.SubResource] - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'application_gateways': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'resource_state': {'readonly': True}, - 'managed_rules': {'required': True}, - 'http_listeners': {'readonly': True}, - 'path_based_rules': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'policy_settings': {'key': 'properties.policySettings', 'type': 'PolicySettings'}, - 'custom_rules': {'key': 'properties.customRules', 'type': '[WebApplicationFirewallCustomRule]'}, - 'application_gateways': {'key': 'properties.applicationGateways', 'type': '[ApplicationGateway]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'resource_state': {'key': 'properties.resourceState', 'type': 'str'}, - 'managed_rules': {'key': 'properties.managedRules', 'type': 'ManagedRulesDefinition'}, - 'http_listeners': {'key': 'properties.httpListeners', 'type': '[SubResource]'}, - 'path_based_rules': {'key': 'properties.pathBasedRules', 'type': '[SubResource]'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(WebApplicationFirewallPolicy, self).__init__(**kwargs) - self.policy_settings = kwargs.get('policy_settings', None) - self.custom_rules = kwargs.get('custom_rules', None) - self.application_gateways = None - self.provisioning_state = None - self.resource_state = None - self.managed_rules = kwargs.get('managed_rules', None) - self.http_listeners = None - self.path_based_rules = None - self.etag = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/models/_models_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/models/_models_py3.py deleted file mode 100644 index c3eb6b21de9..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/models/_models_py3.py +++ /dev/null @@ -1,16319 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model -from msrest.exceptions import HttpOperationError - - -class AadAuthenticationParameters(Model): - """AAD Vpn authentication type related parameters. - - :param aad_tenant: AAD Vpn authentication parameter AAD tenant. - :type aad_tenant: str - :param aad_audience: AAD Vpn authentication parameter AAD audience. - :type aad_audience: str - :param aad_issuer: AAD Vpn authentication parameter AAD issuer. - :type aad_issuer: str - """ - - _attribute_map = { - 'aad_tenant': {'key': 'aadTenant', 'type': 'str'}, - 'aad_audience': {'key': 'aadAudience', 'type': 'str'}, - 'aad_issuer': {'key': 'aadIssuer', 'type': 'str'}, - } - - def __init__(self, *, aad_tenant: str=None, aad_audience: str=None, aad_issuer: str=None, **kwargs) -> None: - super(AadAuthenticationParameters, self).__init__(**kwargs) - self.aad_tenant = aad_tenant - self.aad_audience = aad_audience - self.aad_issuer = aad_issuer - - -class AddressSpace(Model): - """AddressSpace contains an array of IP address ranges that can be used by - subnets of the virtual network. - - :param address_prefixes: A list of address blocks reserved for this - virtual network in CIDR notation. - :type address_prefixes: list[str] - """ - - _attribute_map = { - 'address_prefixes': {'key': 'addressPrefixes', 'type': '[str]'}, - } - - def __init__(self, *, address_prefixes=None, **kwargs) -> None: - super(AddressSpace, self).__init__(**kwargs) - self.address_prefixes = address_prefixes - - -class Resource(Model): - """Common resource representation. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, **kwargs) -> None: - super(Resource, self).__init__(**kwargs) - self.id = id - self.name = None - self.type = None - self.location = location - self.tags = tags - - -class ApplicationGateway(Resource): - """Application gateway resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param sku: SKU of the application gateway resource. - :type sku: ~azure.mgmt.network.v2019_09_01.models.ApplicationGatewaySku - :param ssl_policy: SSL policy of the application gateway resource. - :type ssl_policy: - ~azure.mgmt.network.v2019_09_01.models.ApplicationGatewaySslPolicy - :ivar operational_state: Operational state of the application gateway - resource. Possible values include: 'Stopped', 'Starting', 'Running', - 'Stopping' - :vartype operational_state: str or - ~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayOperationalState - :param gateway_ip_configurations: Subnets of the application gateway - resource. For default limits, see [Application Gateway - limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). - :type gateway_ip_configurations: - list[~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayIPConfiguration] - :param authentication_certificates: Authentication certificates of the - application gateway resource. For default limits, see [Application Gateway - limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). - :type authentication_certificates: - list[~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayAuthenticationCertificate] - :param trusted_root_certificates: Trusted Root certificates of the - application gateway resource. For default limits, see [Application Gateway - limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). - :type trusted_root_certificates: - list[~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayTrustedRootCertificate] - :param ssl_certificates: SSL certificates of the application gateway - resource. For default limits, see [Application Gateway - limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). - :type ssl_certificates: - list[~azure.mgmt.network.v2019_09_01.models.ApplicationGatewaySslCertificate] - :param frontend_ip_configurations: Frontend IP addresses of the - application gateway resource. For default limits, see [Application Gateway - limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). - :type frontend_ip_configurations: - list[~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayFrontendIPConfiguration] - :param frontend_ports: Frontend ports of the application gateway resource. - For default limits, see [Application Gateway - limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). - :type frontend_ports: - list[~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayFrontendPort] - :param probes: Probes of the application gateway resource. - :type probes: - list[~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayProbe] - :param backend_address_pools: Backend address pool of the application - gateway resource. For default limits, see [Application Gateway - limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). - :type backend_address_pools: - list[~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayBackendAddressPool] - :param backend_http_settings_collection: Backend http settings of the - application gateway resource. For default limits, see [Application Gateway - limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). - :type backend_http_settings_collection: - list[~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayBackendHttpSettings] - :param http_listeners: Http listeners of the application gateway resource. - For default limits, see [Application Gateway - limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). - :type http_listeners: - list[~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayHttpListener] - :param url_path_maps: URL path map of the application gateway resource. - For default limits, see [Application Gateway - limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). - :type url_path_maps: - list[~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayUrlPathMap] - :param request_routing_rules: Request routing rules of the application - gateway resource. - :type request_routing_rules: - list[~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayRequestRoutingRule] - :param rewrite_rule_sets: Rewrite rules for the application gateway - resource. - :type rewrite_rule_sets: - list[~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayRewriteRuleSet] - :param redirect_configurations: Redirect configurations of the application - gateway resource. For default limits, see [Application Gateway - limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). - :type redirect_configurations: - list[~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayRedirectConfiguration] - :param web_application_firewall_configuration: Web application firewall - configuration. - :type web_application_firewall_configuration: - ~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayWebApplicationFirewallConfiguration - :param firewall_policy: Reference of the FirewallPolicy resource. - :type firewall_policy: ~azure.mgmt.network.v2019_09_01.models.SubResource - :param enable_http2: Whether HTTP2 is enabled on the application gateway - resource. - :type enable_http2: bool - :param enable_fips: Whether FIPS is enabled on the application gateway - resource. - :type enable_fips: bool - :param autoscale_configuration: Autoscale Configuration. - :type autoscale_configuration: - ~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayAutoscaleConfiguration - :ivar resource_guid: The resource GUID property of the application gateway - resource. - :vartype resource_guid: str - :ivar provisioning_state: The provisioning state of the application - gateway resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param custom_error_configurations: Custom error configurations of the - application gateway resource. - :type custom_error_configurations: - list[~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayCustomError] - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :param zones: A list of availability zones denoting where the resource - needs to come from. - :type zones: list[str] - :param identity: The identity of the application gateway, if configured. - :type identity: - ~azure.mgmt.network.v2019_09_01.models.ManagedServiceIdentity - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'operational_state': {'readonly': True}, - 'resource_guid': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'sku': {'key': 'properties.sku', 'type': 'ApplicationGatewaySku'}, - 'ssl_policy': {'key': 'properties.sslPolicy', 'type': 'ApplicationGatewaySslPolicy'}, - 'operational_state': {'key': 'properties.operationalState', 'type': 'str'}, - 'gateway_ip_configurations': {'key': 'properties.gatewayIPConfigurations', 'type': '[ApplicationGatewayIPConfiguration]'}, - 'authentication_certificates': {'key': 'properties.authenticationCertificates', 'type': '[ApplicationGatewayAuthenticationCertificate]'}, - 'trusted_root_certificates': {'key': 'properties.trustedRootCertificates', 'type': '[ApplicationGatewayTrustedRootCertificate]'}, - 'ssl_certificates': {'key': 'properties.sslCertificates', 'type': '[ApplicationGatewaySslCertificate]'}, - 'frontend_ip_configurations': {'key': 'properties.frontendIPConfigurations', 'type': '[ApplicationGatewayFrontendIPConfiguration]'}, - 'frontend_ports': {'key': 'properties.frontendPorts', 'type': '[ApplicationGatewayFrontendPort]'}, - 'probes': {'key': 'properties.probes', 'type': '[ApplicationGatewayProbe]'}, - 'backend_address_pools': {'key': 'properties.backendAddressPools', 'type': '[ApplicationGatewayBackendAddressPool]'}, - 'backend_http_settings_collection': {'key': 'properties.backendHttpSettingsCollection', 'type': '[ApplicationGatewayBackendHttpSettings]'}, - 'http_listeners': {'key': 'properties.httpListeners', 'type': '[ApplicationGatewayHttpListener]'}, - 'url_path_maps': {'key': 'properties.urlPathMaps', 'type': '[ApplicationGatewayUrlPathMap]'}, - 'request_routing_rules': {'key': 'properties.requestRoutingRules', 'type': '[ApplicationGatewayRequestRoutingRule]'}, - 'rewrite_rule_sets': {'key': 'properties.rewriteRuleSets', 'type': '[ApplicationGatewayRewriteRuleSet]'}, - 'redirect_configurations': {'key': 'properties.redirectConfigurations', 'type': '[ApplicationGatewayRedirectConfiguration]'}, - 'web_application_firewall_configuration': {'key': 'properties.webApplicationFirewallConfiguration', 'type': 'ApplicationGatewayWebApplicationFirewallConfiguration'}, - 'firewall_policy': {'key': 'properties.firewallPolicy', 'type': 'SubResource'}, - 'enable_http2': {'key': 'properties.enableHttp2', 'type': 'bool'}, - 'enable_fips': {'key': 'properties.enableFips', 'type': 'bool'}, - 'autoscale_configuration': {'key': 'properties.autoscaleConfiguration', 'type': 'ApplicationGatewayAutoscaleConfiguration'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'custom_error_configurations': {'key': 'properties.customErrorConfigurations', 'type': '[ApplicationGatewayCustomError]'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'zones': {'key': 'zones', 'type': '[str]'}, - 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, sku=None, ssl_policy=None, gateway_ip_configurations=None, authentication_certificates=None, trusted_root_certificates=None, ssl_certificates=None, frontend_ip_configurations=None, frontend_ports=None, probes=None, backend_address_pools=None, backend_http_settings_collection=None, http_listeners=None, url_path_maps=None, request_routing_rules=None, rewrite_rule_sets=None, redirect_configurations=None, web_application_firewall_configuration=None, firewall_policy=None, enable_http2: bool=None, enable_fips: bool=None, autoscale_configuration=None, custom_error_configurations=None, zones=None, identity=None, **kwargs) -> None: - super(ApplicationGateway, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.sku = sku - self.ssl_policy = ssl_policy - self.operational_state = None - self.gateway_ip_configurations = gateway_ip_configurations - self.authentication_certificates = authentication_certificates - self.trusted_root_certificates = trusted_root_certificates - self.ssl_certificates = ssl_certificates - self.frontend_ip_configurations = frontend_ip_configurations - self.frontend_ports = frontend_ports - self.probes = probes - self.backend_address_pools = backend_address_pools - self.backend_http_settings_collection = backend_http_settings_collection - self.http_listeners = http_listeners - self.url_path_maps = url_path_maps - self.request_routing_rules = request_routing_rules - self.rewrite_rule_sets = rewrite_rule_sets - self.redirect_configurations = redirect_configurations - self.web_application_firewall_configuration = web_application_firewall_configuration - self.firewall_policy = firewall_policy - self.enable_http2 = enable_http2 - self.enable_fips = enable_fips - self.autoscale_configuration = autoscale_configuration - self.resource_guid = None - self.provisioning_state = None - self.custom_error_configurations = custom_error_configurations - self.etag = None - self.zones = zones - self.identity = identity - - -class SubResource(Model): - """Reference to another subresource. - - :param id: Resource ID. - :type id: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, **kwargs) -> None: - super(SubResource, self).__init__(**kwargs) - self.id = id - - -class ApplicationGatewayAuthenticationCertificate(SubResource): - """Authentication certificates of an application gateway. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param data: Certificate public data. - :type data: str - :ivar provisioning_state: The provisioning state of the authentication - certificate resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param name: Name of the authentication certificate that is unique within - an Application Gateway. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :ivar type: Type of the resource. - :vartype type: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'data': {'key': 'properties.data', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, data: str=None, name: str=None, **kwargs) -> None: - super(ApplicationGatewayAuthenticationCertificate, self).__init__(id=id, **kwargs) - self.data = data - self.provisioning_state = None - self.name = name - self.etag = None - self.type = None - - -class ApplicationGatewayAutoscaleConfiguration(Model): - """Application Gateway autoscale configuration. - - All required parameters must be populated in order to send to Azure. - - :param min_capacity: Required. Lower bound on number of Application - Gateway capacity. - :type min_capacity: int - :param max_capacity: Upper bound on number of Application Gateway - capacity. - :type max_capacity: int - """ - - _validation = { - 'min_capacity': {'required': True, 'minimum': 0}, - 'max_capacity': {'minimum': 2}, - } - - _attribute_map = { - 'min_capacity': {'key': 'minCapacity', 'type': 'int'}, - 'max_capacity': {'key': 'maxCapacity', 'type': 'int'}, - } - - def __init__(self, *, min_capacity: int, max_capacity: int=None, **kwargs) -> None: - super(ApplicationGatewayAutoscaleConfiguration, self).__init__(**kwargs) - self.min_capacity = min_capacity - self.max_capacity = max_capacity - - -class ApplicationGatewayAvailableSslOptions(Resource): - """Response for ApplicationGatewayAvailableSslOptions API service call. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param predefined_policies: List of available Ssl predefined policy. - :type predefined_policies: - list[~azure.mgmt.network.v2019_09_01.models.SubResource] - :param default_policy: Name of the Ssl predefined policy applied by - default to application gateway. Possible values include: - 'AppGwSslPolicy20150501', 'AppGwSslPolicy20170401', - 'AppGwSslPolicy20170401S' - :type default_policy: str or - ~azure.mgmt.network.v2019_09_01.models.ApplicationGatewaySslPolicyName - :param available_cipher_suites: List of available Ssl cipher suites. - :type available_cipher_suites: list[str or - ~azure.mgmt.network.v2019_09_01.models.ApplicationGatewaySslCipherSuite] - :param available_protocols: List of available Ssl protocols. - :type available_protocols: list[str or - ~azure.mgmt.network.v2019_09_01.models.ApplicationGatewaySslProtocol] - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'predefined_policies': {'key': 'properties.predefinedPolicies', 'type': '[SubResource]'}, - 'default_policy': {'key': 'properties.defaultPolicy', 'type': 'str'}, - 'available_cipher_suites': {'key': 'properties.availableCipherSuites', 'type': '[str]'}, - 'available_protocols': {'key': 'properties.availableProtocols', 'type': '[str]'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, predefined_policies=None, default_policy=None, available_cipher_suites=None, available_protocols=None, **kwargs) -> None: - super(ApplicationGatewayAvailableSslOptions, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.predefined_policies = predefined_policies - self.default_policy = default_policy - self.available_cipher_suites = available_cipher_suites - self.available_protocols = available_protocols - - -class ApplicationGatewayAvailableWafRuleSetsResult(Model): - """Response for ApplicationGatewayAvailableWafRuleSets API service call. - - :param value: The list of application gateway rule sets. - :type value: - list[~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayFirewallRuleSet] - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[ApplicationGatewayFirewallRuleSet]'}, - } - - def __init__(self, *, value=None, **kwargs) -> None: - super(ApplicationGatewayAvailableWafRuleSetsResult, self).__init__(**kwargs) - self.value = value - - -class ApplicationGatewayBackendAddress(Model): - """Backend address of an application gateway. - - :param fqdn: Fully qualified domain name (FQDN). - :type fqdn: str - :param ip_address: IP address. - :type ip_address: str - """ - - _attribute_map = { - 'fqdn': {'key': 'fqdn', 'type': 'str'}, - 'ip_address': {'key': 'ipAddress', 'type': 'str'}, - } - - def __init__(self, *, fqdn: str=None, ip_address: str=None, **kwargs) -> None: - super(ApplicationGatewayBackendAddress, self).__init__(**kwargs) - self.fqdn = fqdn - self.ip_address = ip_address - - -class ApplicationGatewayBackendAddressPool(SubResource): - """Backend Address Pool of an application gateway. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar backend_ip_configurations: Collection of references to IPs defined - in network interfaces. - :vartype backend_ip_configurations: - list[~azure.mgmt.network.v2019_09_01.models.NetworkInterfaceIPConfiguration] - :param backend_addresses: Backend addresses. - :type backend_addresses: - list[~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayBackendAddress] - :ivar provisioning_state: The provisioning state of the backend address - pool resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param name: Name of the backend address pool that is unique within an - Application Gateway. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :ivar type: Type of the resource. - :vartype type: str - """ - - _validation = { - 'backend_ip_configurations': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'backend_ip_configurations': {'key': 'properties.backendIPConfigurations', 'type': '[NetworkInterfaceIPConfiguration]'}, - 'backend_addresses': {'key': 'properties.backendAddresses', 'type': '[ApplicationGatewayBackendAddress]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, backend_addresses=None, name: str=None, **kwargs) -> None: - super(ApplicationGatewayBackendAddressPool, self).__init__(id=id, **kwargs) - self.backend_ip_configurations = None - self.backend_addresses = backend_addresses - self.provisioning_state = None - self.name = name - self.etag = None - self.type = None - - -class ApplicationGatewayBackendHealth(Model): - """Response for ApplicationGatewayBackendHealth API service call. - - :param backend_address_pools: A list of - ApplicationGatewayBackendHealthPool resources. - :type backend_address_pools: - list[~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayBackendHealthPool] - """ - - _attribute_map = { - 'backend_address_pools': {'key': 'backendAddressPools', 'type': '[ApplicationGatewayBackendHealthPool]'}, - } - - def __init__(self, *, backend_address_pools=None, **kwargs) -> None: - super(ApplicationGatewayBackendHealth, self).__init__(**kwargs) - self.backend_address_pools = backend_address_pools - - -class ApplicationGatewayBackendHealthHttpSettings(Model): - """Application gateway BackendHealthHttp settings. - - :param backend_http_settings: Reference of an - ApplicationGatewayBackendHttpSettings resource. - :type backend_http_settings: - ~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayBackendHttpSettings - :param servers: List of ApplicationGatewayBackendHealthServer resources. - :type servers: - list[~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayBackendHealthServer] - """ - - _attribute_map = { - 'backend_http_settings': {'key': 'backendHttpSettings', 'type': 'ApplicationGatewayBackendHttpSettings'}, - 'servers': {'key': 'servers', 'type': '[ApplicationGatewayBackendHealthServer]'}, - } - - def __init__(self, *, backend_http_settings=None, servers=None, **kwargs) -> None: - super(ApplicationGatewayBackendHealthHttpSettings, self).__init__(**kwargs) - self.backend_http_settings = backend_http_settings - self.servers = servers - - -class ApplicationGatewayBackendHealthOnDemand(Model): - """Result of on demand test probe. - - :param backend_address_pool: Reference of an - ApplicationGatewayBackendAddressPool resource. - :type backend_address_pool: - ~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayBackendAddressPool - :param backend_health_http_settings: Application gateway BackendHealthHttp - settings. - :type backend_health_http_settings: - ~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayBackendHealthHttpSettings - """ - - _attribute_map = { - 'backend_address_pool': {'key': 'backendAddressPool', 'type': 'ApplicationGatewayBackendAddressPool'}, - 'backend_health_http_settings': {'key': 'backendHealthHttpSettings', 'type': 'ApplicationGatewayBackendHealthHttpSettings'}, - } - - def __init__(self, *, backend_address_pool=None, backend_health_http_settings=None, **kwargs) -> None: - super(ApplicationGatewayBackendHealthOnDemand, self).__init__(**kwargs) - self.backend_address_pool = backend_address_pool - self.backend_health_http_settings = backend_health_http_settings - - -class ApplicationGatewayBackendHealthPool(Model): - """Application gateway BackendHealth pool. - - :param backend_address_pool: Reference of an - ApplicationGatewayBackendAddressPool resource. - :type backend_address_pool: - ~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayBackendAddressPool - :param backend_http_settings_collection: List of - ApplicationGatewayBackendHealthHttpSettings resources. - :type backend_http_settings_collection: - list[~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayBackendHealthHttpSettings] - """ - - _attribute_map = { - 'backend_address_pool': {'key': 'backendAddressPool', 'type': 'ApplicationGatewayBackendAddressPool'}, - 'backend_http_settings_collection': {'key': 'backendHttpSettingsCollection', 'type': '[ApplicationGatewayBackendHealthHttpSettings]'}, - } - - def __init__(self, *, backend_address_pool=None, backend_http_settings_collection=None, **kwargs) -> None: - super(ApplicationGatewayBackendHealthPool, self).__init__(**kwargs) - self.backend_address_pool = backend_address_pool - self.backend_http_settings_collection = backend_http_settings_collection - - -class ApplicationGatewayBackendHealthServer(Model): - """Application gateway backendhealth http settings. - - :param address: IP address or FQDN of backend server. - :type address: str - :param ip_configuration: Reference of IP configuration of backend server. - :type ip_configuration: - ~azure.mgmt.network.v2019_09_01.models.NetworkInterfaceIPConfiguration - :param health: Health of backend server. Possible values include: - 'Unknown', 'Up', 'Down', 'Partial', 'Draining' - :type health: str or - ~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayBackendHealthServerHealth - :param health_probe_log: Health Probe Log. - :type health_probe_log: str - """ - - _attribute_map = { - 'address': {'key': 'address', 'type': 'str'}, - 'ip_configuration': {'key': 'ipConfiguration', 'type': 'NetworkInterfaceIPConfiguration'}, - 'health': {'key': 'health', 'type': 'str'}, - 'health_probe_log': {'key': 'healthProbeLog', 'type': 'str'}, - } - - def __init__(self, *, address: str=None, ip_configuration=None, health=None, health_probe_log: str=None, **kwargs) -> None: - super(ApplicationGatewayBackendHealthServer, self).__init__(**kwargs) - self.address = address - self.ip_configuration = ip_configuration - self.health = health - self.health_probe_log = health_probe_log - - -class ApplicationGatewayBackendHttpSettings(SubResource): - """Backend address pool settings of an application gateway. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param port: The destination port on the backend. - :type port: int - :param protocol: The protocol used to communicate with the backend. - Possible values include: 'Http', 'Https' - :type protocol: str or - ~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayProtocol - :param cookie_based_affinity: Cookie based affinity. Possible values - include: 'Enabled', 'Disabled' - :type cookie_based_affinity: str or - ~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayCookieBasedAffinity - :param request_timeout: Request timeout in seconds. Application Gateway - will fail the request if response is not received within RequestTimeout. - Acceptable values are from 1 second to 86400 seconds. - :type request_timeout: int - :param probe: Probe resource of an application gateway. - :type probe: ~azure.mgmt.network.v2019_09_01.models.SubResource - :param authentication_certificates: Array of references to application - gateway authentication certificates. - :type authentication_certificates: - list[~azure.mgmt.network.v2019_09_01.models.SubResource] - :param trusted_root_certificates: Array of references to application - gateway trusted root certificates. - :type trusted_root_certificates: - list[~azure.mgmt.network.v2019_09_01.models.SubResource] - :param connection_draining: Connection draining of the backend http - settings resource. - :type connection_draining: - ~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayConnectionDraining - :param host_name: Host header to be sent to the backend servers. - :type host_name: str - :param pick_host_name_from_backend_address: Whether to pick host header - should be picked from the host name of the backend server. Default value - is false. - :type pick_host_name_from_backend_address: bool - :param affinity_cookie_name: Cookie name to use for the affinity cookie. - :type affinity_cookie_name: str - :param probe_enabled: Whether the probe is enabled. Default value is - false. - :type probe_enabled: bool - :param path: Path which should be used as a prefix for all HTTP requests. - Null means no path will be prefixed. Default value is null. - :type path: str - :ivar provisioning_state: The provisioning state of the backend HTTP - settings resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param name: Name of the backend http settings that is unique within an - Application Gateway. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :ivar type: Type of the resource. - :vartype type: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'port': {'key': 'properties.port', 'type': 'int'}, - 'protocol': {'key': 'properties.protocol', 'type': 'str'}, - 'cookie_based_affinity': {'key': 'properties.cookieBasedAffinity', 'type': 'str'}, - 'request_timeout': {'key': 'properties.requestTimeout', 'type': 'int'}, - 'probe': {'key': 'properties.probe', 'type': 'SubResource'}, - 'authentication_certificates': {'key': 'properties.authenticationCertificates', 'type': '[SubResource]'}, - 'trusted_root_certificates': {'key': 'properties.trustedRootCertificates', 'type': '[SubResource]'}, - 'connection_draining': {'key': 'properties.connectionDraining', 'type': 'ApplicationGatewayConnectionDraining'}, - 'host_name': {'key': 'properties.hostName', 'type': 'str'}, - 'pick_host_name_from_backend_address': {'key': 'properties.pickHostNameFromBackendAddress', 'type': 'bool'}, - 'affinity_cookie_name': {'key': 'properties.affinityCookieName', 'type': 'str'}, - 'probe_enabled': {'key': 'properties.probeEnabled', 'type': 'bool'}, - 'path': {'key': 'properties.path', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, port: int=None, protocol=None, cookie_based_affinity=None, request_timeout: int=None, probe=None, authentication_certificates=None, trusted_root_certificates=None, connection_draining=None, host_name: str=None, pick_host_name_from_backend_address: bool=None, affinity_cookie_name: str=None, probe_enabled: bool=None, path: str=None, name: str=None, **kwargs) -> None: - super(ApplicationGatewayBackendHttpSettings, self).__init__(id=id, **kwargs) - self.port = port - self.protocol = protocol - self.cookie_based_affinity = cookie_based_affinity - self.request_timeout = request_timeout - self.probe = probe - self.authentication_certificates = authentication_certificates - self.trusted_root_certificates = trusted_root_certificates - self.connection_draining = connection_draining - self.host_name = host_name - self.pick_host_name_from_backend_address = pick_host_name_from_backend_address - self.affinity_cookie_name = affinity_cookie_name - self.probe_enabled = probe_enabled - self.path = path - self.provisioning_state = None - self.name = name - self.etag = None - self.type = None - - -class ApplicationGatewayConnectionDraining(Model): - """Connection draining allows open connections to a backend server to be - active for a specified time after the backend server got removed from the - configuration. - - All required parameters must be populated in order to send to Azure. - - :param enabled: Required. Whether connection draining is enabled or not. - :type enabled: bool - :param drain_timeout_in_sec: Required. The number of seconds connection - draining is active. Acceptable values are from 1 second to 3600 seconds. - :type drain_timeout_in_sec: int - """ - - _validation = { - 'enabled': {'required': True}, - 'drain_timeout_in_sec': {'required': True, 'maximum': 3600, 'minimum': 1}, - } - - _attribute_map = { - 'enabled': {'key': 'enabled', 'type': 'bool'}, - 'drain_timeout_in_sec': {'key': 'drainTimeoutInSec', 'type': 'int'}, - } - - def __init__(self, *, enabled: bool, drain_timeout_in_sec: int, **kwargs) -> None: - super(ApplicationGatewayConnectionDraining, self).__init__(**kwargs) - self.enabled = enabled - self.drain_timeout_in_sec = drain_timeout_in_sec - - -class ApplicationGatewayCustomError(Model): - """Customer error of an application gateway. - - :param status_code: Status code of the application gateway customer error. - Possible values include: 'HttpStatus403', 'HttpStatus502' - :type status_code: str or - ~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayCustomErrorStatusCode - :param custom_error_page_url: Error page URL of the application gateway - customer error. - :type custom_error_page_url: str - """ - - _attribute_map = { - 'status_code': {'key': 'statusCode', 'type': 'str'}, - 'custom_error_page_url': {'key': 'customErrorPageUrl', 'type': 'str'}, - } - - def __init__(self, *, status_code=None, custom_error_page_url: str=None, **kwargs) -> None: - super(ApplicationGatewayCustomError, self).__init__(**kwargs) - self.status_code = status_code - self.custom_error_page_url = custom_error_page_url - - -class ApplicationGatewayFirewallDisabledRuleGroup(Model): - """Allows to disable rules within a rule group or an entire rule group. - - All required parameters must be populated in order to send to Azure. - - :param rule_group_name: Required. The name of the rule group that will be - disabled. - :type rule_group_name: str - :param rules: The list of rules that will be disabled. If null, all rules - of the rule group will be disabled. - :type rules: list[int] - """ - - _validation = { - 'rule_group_name': {'required': True}, - } - - _attribute_map = { - 'rule_group_name': {'key': 'ruleGroupName', 'type': 'str'}, - 'rules': {'key': 'rules', 'type': '[int]'}, - } - - def __init__(self, *, rule_group_name: str, rules=None, **kwargs) -> None: - super(ApplicationGatewayFirewallDisabledRuleGroup, self).__init__(**kwargs) - self.rule_group_name = rule_group_name - self.rules = rules - - -class ApplicationGatewayFirewallExclusion(Model): - """Allow to exclude some variable satisfy the condition for the WAF check. - - All required parameters must be populated in order to send to Azure. - - :param match_variable: Required. The variable to be excluded. - :type match_variable: str - :param selector_match_operator: Required. When matchVariable is a - collection, operate on the selector to specify which elements in the - collection this exclusion applies to. - :type selector_match_operator: str - :param selector: Required. When matchVariable is a collection, operator - used to specify which elements in the collection this exclusion applies - to. - :type selector: str - """ - - _validation = { - 'match_variable': {'required': True}, - 'selector_match_operator': {'required': True}, - 'selector': {'required': True}, - } - - _attribute_map = { - 'match_variable': {'key': 'matchVariable', 'type': 'str'}, - 'selector_match_operator': {'key': 'selectorMatchOperator', 'type': 'str'}, - 'selector': {'key': 'selector', 'type': 'str'}, - } - - def __init__(self, *, match_variable: str, selector_match_operator: str, selector: str, **kwargs) -> None: - super(ApplicationGatewayFirewallExclusion, self).__init__(**kwargs) - self.match_variable = match_variable - self.selector_match_operator = selector_match_operator - self.selector = selector - - -class ApplicationGatewayFirewallRule(Model): - """A web application firewall rule. - - All required parameters must be populated in order to send to Azure. - - :param rule_id: Required. The identifier of the web application firewall - rule. - :type rule_id: int - :param description: The description of the web application firewall rule. - :type description: str - """ - - _validation = { - 'rule_id': {'required': True}, - } - - _attribute_map = { - 'rule_id': {'key': 'ruleId', 'type': 'int'}, - 'description': {'key': 'description', 'type': 'str'}, - } - - def __init__(self, *, rule_id: int, description: str=None, **kwargs) -> None: - super(ApplicationGatewayFirewallRule, self).__init__(**kwargs) - self.rule_id = rule_id - self.description = description - - -class ApplicationGatewayFirewallRuleGroup(Model): - """A web application firewall rule group. - - All required parameters must be populated in order to send to Azure. - - :param rule_group_name: Required. The name of the web application firewall - rule group. - :type rule_group_name: str - :param description: The description of the web application firewall rule - group. - :type description: str - :param rules: Required. The rules of the web application firewall rule - group. - :type rules: - list[~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayFirewallRule] - """ - - _validation = { - 'rule_group_name': {'required': True}, - 'rules': {'required': True}, - } - - _attribute_map = { - 'rule_group_name': {'key': 'ruleGroupName', 'type': 'str'}, - 'description': {'key': 'description', 'type': 'str'}, - 'rules': {'key': 'rules', 'type': '[ApplicationGatewayFirewallRule]'}, - } - - def __init__(self, *, rule_group_name: str, rules, description: str=None, **kwargs) -> None: - super(ApplicationGatewayFirewallRuleGroup, self).__init__(**kwargs) - self.rule_group_name = rule_group_name - self.description = description - self.rules = rules - - -class ApplicationGatewayFirewallRuleSet(Resource): - """A web application firewall rule set. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :ivar provisioning_state: The provisioning state of the web application - firewall rule set. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param rule_set_type: Required. The type of the web application firewall - rule set. - :type rule_set_type: str - :param rule_set_version: Required. The version of the web application - firewall rule set type. - :type rule_set_version: str - :param rule_groups: Required. The rule groups of the web application - firewall rule set. - :type rule_groups: - list[~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayFirewallRuleGroup] - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'rule_set_type': {'required': True}, - 'rule_set_version': {'required': True}, - 'rule_groups': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'rule_set_type': {'key': 'properties.ruleSetType', 'type': 'str'}, - 'rule_set_version': {'key': 'properties.ruleSetVersion', 'type': 'str'}, - 'rule_groups': {'key': 'properties.ruleGroups', 'type': '[ApplicationGatewayFirewallRuleGroup]'}, - } - - def __init__(self, *, rule_set_type: str, rule_set_version: str, rule_groups, id: str=None, location: str=None, tags=None, **kwargs) -> None: - super(ApplicationGatewayFirewallRuleSet, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.provisioning_state = None - self.rule_set_type = rule_set_type - self.rule_set_version = rule_set_version - self.rule_groups = rule_groups - - -class ApplicationGatewayFrontendIPConfiguration(SubResource): - """Frontend IP configuration of an application gateway. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param private_ip_address: PrivateIPAddress of the network interface IP - Configuration. - :type private_ip_address: str - :param private_ip_allocation_method: The private IP address allocation - method. Possible values include: 'Static', 'Dynamic' - :type private_ip_allocation_method: str or - ~azure.mgmt.network.v2019_09_01.models.IPAllocationMethod - :param subnet: Reference of the subnet resource. - :type subnet: ~azure.mgmt.network.v2019_09_01.models.SubResource - :param public_ip_address: Reference of the PublicIP resource. - :type public_ip_address: - ~azure.mgmt.network.v2019_09_01.models.SubResource - :ivar provisioning_state: The provisioning state of the frontend IP - configuration resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param name: Name of the frontend IP configuration that is unique within - an Application Gateway. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :ivar type: Type of the resource. - :vartype type: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, - 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, - 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, - 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'SubResource'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, private_ip_address: str=None, private_ip_allocation_method=None, subnet=None, public_ip_address=None, name: str=None, **kwargs) -> None: - super(ApplicationGatewayFrontendIPConfiguration, self).__init__(id=id, **kwargs) - self.private_ip_address = private_ip_address - self.private_ip_allocation_method = private_ip_allocation_method - self.subnet = subnet - self.public_ip_address = public_ip_address - self.provisioning_state = None - self.name = name - self.etag = None - self.type = None - - -class ApplicationGatewayFrontendPort(SubResource): - """Frontend port of an application gateway. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param port: Frontend port. - :type port: int - :ivar provisioning_state: The provisioning state of the frontend port - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param name: Name of the frontend port that is unique within an - Application Gateway. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :ivar type: Type of the resource. - :vartype type: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'port': {'key': 'properties.port', 'type': 'int'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, port: int=None, name: str=None, **kwargs) -> None: - super(ApplicationGatewayFrontendPort, self).__init__(id=id, **kwargs) - self.port = port - self.provisioning_state = None - self.name = name - self.etag = None - self.type = None - - -class ApplicationGatewayHeaderConfiguration(Model): - """Header configuration of the Actions set in Application Gateway. - - :param header_name: Header name of the header configuration. - :type header_name: str - :param header_value: Header value of the header configuration. - :type header_value: str - """ - - _attribute_map = { - 'header_name': {'key': 'headerName', 'type': 'str'}, - 'header_value': {'key': 'headerValue', 'type': 'str'}, - } - - def __init__(self, *, header_name: str=None, header_value: str=None, **kwargs) -> None: - super(ApplicationGatewayHeaderConfiguration, self).__init__(**kwargs) - self.header_name = header_name - self.header_value = header_value - - -class ApplicationGatewayHttpListener(SubResource): - """Http listener of an application gateway. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param frontend_ip_configuration: Frontend IP configuration resource of an - application gateway. - :type frontend_ip_configuration: - ~azure.mgmt.network.v2019_09_01.models.SubResource - :param frontend_port: Frontend port resource of an application gateway. - :type frontend_port: ~azure.mgmt.network.v2019_09_01.models.SubResource - :param protocol: Protocol of the HTTP listener. Possible values include: - 'Http', 'Https' - :type protocol: str or - ~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayProtocol - :param host_name: Host name of HTTP listener. - :type host_name: str - :param ssl_certificate: SSL certificate resource of an application - gateway. - :type ssl_certificate: ~azure.mgmt.network.v2019_09_01.models.SubResource - :param require_server_name_indication: Applicable only if protocol is - https. Enables SNI for multi-hosting. - :type require_server_name_indication: bool - :ivar provisioning_state: The provisioning state of the HTTP listener - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param custom_error_configurations: Custom error configurations of the - HTTP listener. - :type custom_error_configurations: - list[~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayCustomError] - :param firewall_policy: Reference to the FirewallPolicy resource. - :type firewall_policy: ~azure.mgmt.network.v2019_09_01.models.SubResource - :param hostnames: List of Host names for HTTP Listener that allows special - wildcard characters as well. - :type hostnames: list[str] - :param name: Name of the HTTP listener that is unique within an - Application Gateway. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :ivar type: Type of the resource. - :vartype type: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'frontend_ip_configuration': {'key': 'properties.frontendIPConfiguration', 'type': 'SubResource'}, - 'frontend_port': {'key': 'properties.frontendPort', 'type': 'SubResource'}, - 'protocol': {'key': 'properties.protocol', 'type': 'str'}, - 'host_name': {'key': 'properties.hostName', 'type': 'str'}, - 'ssl_certificate': {'key': 'properties.sslCertificate', 'type': 'SubResource'}, - 'require_server_name_indication': {'key': 'properties.requireServerNameIndication', 'type': 'bool'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'custom_error_configurations': {'key': 'properties.customErrorConfigurations', 'type': '[ApplicationGatewayCustomError]'}, - 'firewall_policy': {'key': 'properties.firewallPolicy', 'type': 'SubResource'}, - 'hostnames': {'key': 'properties.hostnames', 'type': '[str]'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, frontend_ip_configuration=None, frontend_port=None, protocol=None, host_name: str=None, ssl_certificate=None, require_server_name_indication: bool=None, custom_error_configurations=None, firewall_policy=None, hostnames=None, name: str=None, **kwargs) -> None: - super(ApplicationGatewayHttpListener, self).__init__(id=id, **kwargs) - self.frontend_ip_configuration = frontend_ip_configuration - self.frontend_port = frontend_port - self.protocol = protocol - self.host_name = host_name - self.ssl_certificate = ssl_certificate - self.require_server_name_indication = require_server_name_indication - self.provisioning_state = None - self.custom_error_configurations = custom_error_configurations - self.firewall_policy = firewall_policy - self.hostnames = hostnames - self.name = name - self.etag = None - self.type = None - - -class ApplicationGatewayIPConfiguration(SubResource): - """IP configuration of an application gateway. Currently 1 public and 1 - private IP configuration is allowed. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param subnet: Reference of the subnet resource. A subnet from where - application gateway gets its private address. - :type subnet: ~azure.mgmt.network.v2019_09_01.models.SubResource - :ivar provisioning_state: The provisioning state of the application - gateway IP configuration resource. Possible values include: 'Succeeded', - 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param name: Name of the IP configuration that is unique within an - Application Gateway. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :ivar type: Type of the resource. - :vartype type: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, subnet=None, name: str=None, **kwargs) -> None: - super(ApplicationGatewayIPConfiguration, self).__init__(id=id, **kwargs) - self.subnet = subnet - self.provisioning_state = None - self.name = name - self.etag = None - self.type = None - - -class ApplicationGatewayOnDemandProbe(Model): - """Details of on demand test probe request. - - :param protocol: The protocol used for the probe. Possible values include: - 'Http', 'Https' - :type protocol: str or - ~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayProtocol - :param host: Host name to send the probe to. - :type host: str - :param path: Relative path of probe. Valid path starts from '/'. Probe is - sent to ://:. - :type path: str - :param timeout: The probe timeout in seconds. Probe marked as failed if - valid response is not received with this timeout period. Acceptable values - are from 1 second to 86400 seconds. - :type timeout: int - :param pick_host_name_from_backend_http_settings: Whether the host header - should be picked from the backend http settings. Default value is false. - :type pick_host_name_from_backend_http_settings: bool - :param match: Criterion for classifying a healthy probe response. - :type match: - ~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayProbeHealthResponseMatch - :param backend_address_pool: Reference of backend pool of application - gateway to which probe request will be sent. - :type backend_address_pool: - ~azure.mgmt.network.v2019_09_01.models.SubResource - :param backend_http_settings: Reference of backend http setting of - application gateway to be used for test probe. - :type backend_http_settings: - ~azure.mgmt.network.v2019_09_01.models.SubResource - """ - - _attribute_map = { - 'protocol': {'key': 'protocol', 'type': 'str'}, - 'host': {'key': 'host', 'type': 'str'}, - 'path': {'key': 'path', 'type': 'str'}, - 'timeout': {'key': 'timeout', 'type': 'int'}, - 'pick_host_name_from_backend_http_settings': {'key': 'pickHostNameFromBackendHttpSettings', 'type': 'bool'}, - 'match': {'key': 'match', 'type': 'ApplicationGatewayProbeHealthResponseMatch'}, - 'backend_address_pool': {'key': 'backendAddressPool', 'type': 'SubResource'}, - 'backend_http_settings': {'key': 'backendHttpSettings', 'type': 'SubResource'}, - } - - def __init__(self, *, protocol=None, host: str=None, path: str=None, timeout: int=None, pick_host_name_from_backend_http_settings: bool=None, match=None, backend_address_pool=None, backend_http_settings=None, **kwargs) -> None: - super(ApplicationGatewayOnDemandProbe, self).__init__(**kwargs) - self.protocol = protocol - self.host = host - self.path = path - self.timeout = timeout - self.pick_host_name_from_backend_http_settings = pick_host_name_from_backend_http_settings - self.match = match - self.backend_address_pool = backend_address_pool - self.backend_http_settings = backend_http_settings - - -class ApplicationGatewayPathRule(SubResource): - """Path rule of URL path map of an application gateway. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param paths: Path rules of URL path map. - :type paths: list[str] - :param backend_address_pool: Backend address pool resource of URL path map - path rule. - :type backend_address_pool: - ~azure.mgmt.network.v2019_09_01.models.SubResource - :param backend_http_settings: Backend http settings resource of URL path - map path rule. - :type backend_http_settings: - ~azure.mgmt.network.v2019_09_01.models.SubResource - :param redirect_configuration: Redirect configuration resource of URL path - map path rule. - :type redirect_configuration: - ~azure.mgmt.network.v2019_09_01.models.SubResource - :param rewrite_rule_set: Rewrite rule set resource of URL path map path - rule. - :type rewrite_rule_set: ~azure.mgmt.network.v2019_09_01.models.SubResource - :ivar provisioning_state: The provisioning state of the path rule - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param firewall_policy: Reference to the FirewallPolicy resource. - :type firewall_policy: ~azure.mgmt.network.v2019_09_01.models.SubResource - :param name: Name of the path rule that is unique within an Application - Gateway. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :ivar type: Type of the resource. - :vartype type: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'paths': {'key': 'properties.paths', 'type': '[str]'}, - 'backend_address_pool': {'key': 'properties.backendAddressPool', 'type': 'SubResource'}, - 'backend_http_settings': {'key': 'properties.backendHttpSettings', 'type': 'SubResource'}, - 'redirect_configuration': {'key': 'properties.redirectConfiguration', 'type': 'SubResource'}, - 'rewrite_rule_set': {'key': 'properties.rewriteRuleSet', 'type': 'SubResource'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'firewall_policy': {'key': 'properties.firewallPolicy', 'type': 'SubResource'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, paths=None, backend_address_pool=None, backend_http_settings=None, redirect_configuration=None, rewrite_rule_set=None, firewall_policy=None, name: str=None, **kwargs) -> None: - super(ApplicationGatewayPathRule, self).__init__(id=id, **kwargs) - self.paths = paths - self.backend_address_pool = backend_address_pool - self.backend_http_settings = backend_http_settings - self.redirect_configuration = redirect_configuration - self.rewrite_rule_set = rewrite_rule_set - self.provisioning_state = None - self.firewall_policy = firewall_policy - self.name = name - self.etag = None - self.type = None - - -class ApplicationGatewayProbe(SubResource): - """Probe of the application gateway. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param protocol: The protocol used for the probe. Possible values include: - 'Http', 'Https' - :type protocol: str or - ~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayProtocol - :param host: Host name to send the probe to. - :type host: str - :param path: Relative path of probe. Valid path starts from '/'. Probe is - sent to ://:. - :type path: str - :param interval: The probing interval in seconds. This is the time - interval between two consecutive probes. Acceptable values are from 1 - second to 86400 seconds. - :type interval: int - :param timeout: The probe timeout in seconds. Probe marked as failed if - valid response is not received with this timeout period. Acceptable values - are from 1 second to 86400 seconds. - :type timeout: int - :param unhealthy_threshold: The probe retry count. Backend server is - marked down after consecutive probe failure count reaches - UnhealthyThreshold. Acceptable values are from 1 second to 20. - :type unhealthy_threshold: int - :param pick_host_name_from_backend_http_settings: Whether the host header - should be picked from the backend http settings. Default value is false. - :type pick_host_name_from_backend_http_settings: bool - :param min_servers: Minimum number of servers that are always marked - healthy. Default value is 0. - :type min_servers: int - :param match: Criterion for classifying a healthy probe response. - :type match: - ~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayProbeHealthResponseMatch - :ivar provisioning_state: The provisioning state of the probe resource. - Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param port: Custom port which will be used for probing the backend - servers. The valid value ranges from 1 to 65535. In case not set, port - from http settings will be used. This property is valid for Standard_v2 - and WAF_v2 only. - :type port: int - :param name: Name of the probe that is unique within an Application - Gateway. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :ivar type: Type of the resource. - :vartype type: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'port': {'maximum': 65535, 'minimum': 1}, - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'protocol': {'key': 'properties.protocol', 'type': 'str'}, - 'host': {'key': 'properties.host', 'type': 'str'}, - 'path': {'key': 'properties.path', 'type': 'str'}, - 'interval': {'key': 'properties.interval', 'type': 'int'}, - 'timeout': {'key': 'properties.timeout', 'type': 'int'}, - 'unhealthy_threshold': {'key': 'properties.unhealthyThreshold', 'type': 'int'}, - 'pick_host_name_from_backend_http_settings': {'key': 'properties.pickHostNameFromBackendHttpSettings', 'type': 'bool'}, - 'min_servers': {'key': 'properties.minServers', 'type': 'int'}, - 'match': {'key': 'properties.match', 'type': 'ApplicationGatewayProbeHealthResponseMatch'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'port': {'key': 'properties.port', 'type': 'int'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, protocol=None, host: str=None, path: str=None, interval: int=None, timeout: int=None, unhealthy_threshold: int=None, pick_host_name_from_backend_http_settings: bool=None, min_servers: int=None, match=None, port: int=None, name: str=None, **kwargs) -> None: - super(ApplicationGatewayProbe, self).__init__(id=id, **kwargs) - self.protocol = protocol - self.host = host - self.path = path - self.interval = interval - self.timeout = timeout - self.unhealthy_threshold = unhealthy_threshold - self.pick_host_name_from_backend_http_settings = pick_host_name_from_backend_http_settings - self.min_servers = min_servers - self.match = match - self.provisioning_state = None - self.port = port - self.name = name - self.etag = None - self.type = None - - -class ApplicationGatewayProbeHealthResponseMatch(Model): - """Application gateway probe health response match. - - :param body: Body that must be contained in the health response. Default - value is empty. - :type body: str - :param status_codes: Allowed ranges of healthy status codes. Default range - of healthy status codes is 200-399. - :type status_codes: list[str] - """ - - _attribute_map = { - 'body': {'key': 'body', 'type': 'str'}, - 'status_codes': {'key': 'statusCodes', 'type': '[str]'}, - } - - def __init__(self, *, body: str=None, status_codes=None, **kwargs) -> None: - super(ApplicationGatewayProbeHealthResponseMatch, self).__init__(**kwargs) - self.body = body - self.status_codes = status_codes - - -class ApplicationGatewayRedirectConfiguration(SubResource): - """Redirect configuration of an application gateway. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param redirect_type: HTTP redirection type. Possible values include: - 'Permanent', 'Found', 'SeeOther', 'Temporary' - :type redirect_type: str or - ~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayRedirectType - :param target_listener: Reference to a listener to redirect the request - to. - :type target_listener: ~azure.mgmt.network.v2019_09_01.models.SubResource - :param target_url: Url to redirect the request to. - :type target_url: str - :param include_path: Include path in the redirected url. - :type include_path: bool - :param include_query_string: Include query string in the redirected url. - :type include_query_string: bool - :param request_routing_rules: Request routing specifying redirect - configuration. - :type request_routing_rules: - list[~azure.mgmt.network.v2019_09_01.models.SubResource] - :param url_path_maps: Url path maps specifying default redirect - configuration. - :type url_path_maps: - list[~azure.mgmt.network.v2019_09_01.models.SubResource] - :param path_rules: Path rules specifying redirect configuration. - :type path_rules: list[~azure.mgmt.network.v2019_09_01.models.SubResource] - :param name: Name of the redirect configuration that is unique within an - Application Gateway. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :ivar type: Type of the resource. - :vartype type: str - """ - - _validation = { - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'redirect_type': {'key': 'properties.redirectType', 'type': 'str'}, - 'target_listener': {'key': 'properties.targetListener', 'type': 'SubResource'}, - 'target_url': {'key': 'properties.targetUrl', 'type': 'str'}, - 'include_path': {'key': 'properties.includePath', 'type': 'bool'}, - 'include_query_string': {'key': 'properties.includeQueryString', 'type': 'bool'}, - 'request_routing_rules': {'key': 'properties.requestRoutingRules', 'type': '[SubResource]'}, - 'url_path_maps': {'key': 'properties.urlPathMaps', 'type': '[SubResource]'}, - 'path_rules': {'key': 'properties.pathRules', 'type': '[SubResource]'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, redirect_type=None, target_listener=None, target_url: str=None, include_path: bool=None, include_query_string: bool=None, request_routing_rules=None, url_path_maps=None, path_rules=None, name: str=None, **kwargs) -> None: - super(ApplicationGatewayRedirectConfiguration, self).__init__(id=id, **kwargs) - self.redirect_type = redirect_type - self.target_listener = target_listener - self.target_url = target_url - self.include_path = include_path - self.include_query_string = include_query_string - self.request_routing_rules = request_routing_rules - self.url_path_maps = url_path_maps - self.path_rules = path_rules - self.name = name - self.etag = None - self.type = None - - -class ApplicationGatewayRequestRoutingRule(SubResource): - """Request routing rule of an application gateway. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param rule_type: Rule type. Possible values include: 'Basic', - 'PathBasedRouting' - :type rule_type: str or - ~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayRequestRoutingRuleType - :param priority: Priority of the request routing rule. - :type priority: int - :param backend_address_pool: Backend address pool resource of the - application gateway. - :type backend_address_pool: - ~azure.mgmt.network.v2019_09_01.models.SubResource - :param backend_http_settings: Backend http settings resource of the - application gateway. - :type backend_http_settings: - ~azure.mgmt.network.v2019_09_01.models.SubResource - :param http_listener: Http listener resource of the application gateway. - :type http_listener: ~azure.mgmt.network.v2019_09_01.models.SubResource - :param url_path_map: URL path map resource of the application gateway. - :type url_path_map: ~azure.mgmt.network.v2019_09_01.models.SubResource - :param rewrite_rule_set: Rewrite Rule Set resource in Basic rule of the - application gateway. - :type rewrite_rule_set: ~azure.mgmt.network.v2019_09_01.models.SubResource - :param redirect_configuration: Redirect configuration resource of the - application gateway. - :type redirect_configuration: - ~azure.mgmt.network.v2019_09_01.models.SubResource - :ivar provisioning_state: The provisioning state of the request routing - rule resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param name: Name of the request routing rule that is unique within an - Application Gateway. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :ivar type: Type of the resource. - :vartype type: str - """ - - _validation = { - 'priority': {'maximum': 20000, 'minimum': 1}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'rule_type': {'key': 'properties.ruleType', 'type': 'str'}, - 'priority': {'key': 'properties.priority', 'type': 'int'}, - 'backend_address_pool': {'key': 'properties.backendAddressPool', 'type': 'SubResource'}, - 'backend_http_settings': {'key': 'properties.backendHttpSettings', 'type': 'SubResource'}, - 'http_listener': {'key': 'properties.httpListener', 'type': 'SubResource'}, - 'url_path_map': {'key': 'properties.urlPathMap', 'type': 'SubResource'}, - 'rewrite_rule_set': {'key': 'properties.rewriteRuleSet', 'type': 'SubResource'}, - 'redirect_configuration': {'key': 'properties.redirectConfiguration', 'type': 'SubResource'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, rule_type=None, priority: int=None, backend_address_pool=None, backend_http_settings=None, http_listener=None, url_path_map=None, rewrite_rule_set=None, redirect_configuration=None, name: str=None, **kwargs) -> None: - super(ApplicationGatewayRequestRoutingRule, self).__init__(id=id, **kwargs) - self.rule_type = rule_type - self.priority = priority - self.backend_address_pool = backend_address_pool - self.backend_http_settings = backend_http_settings - self.http_listener = http_listener - self.url_path_map = url_path_map - self.rewrite_rule_set = rewrite_rule_set - self.redirect_configuration = redirect_configuration - self.provisioning_state = None - self.name = name - self.etag = None - self.type = None - - -class ApplicationGatewayRewriteRule(Model): - """Rewrite rule of an application gateway. - - :param name: Name of the rewrite rule that is unique within an Application - Gateway. - :type name: str - :param rule_sequence: Rule Sequence of the rewrite rule that determines - the order of execution of a particular rule in a RewriteRuleSet. - :type rule_sequence: int - :param conditions: Conditions based on which the action set execution will - be evaluated. - :type conditions: - list[~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayRewriteRuleCondition] - :param action_set: Set of actions to be done as part of the rewrite Rule. - :type action_set: - ~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayRewriteRuleActionSet - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'rule_sequence': {'key': 'ruleSequence', 'type': 'int'}, - 'conditions': {'key': 'conditions', 'type': '[ApplicationGatewayRewriteRuleCondition]'}, - 'action_set': {'key': 'actionSet', 'type': 'ApplicationGatewayRewriteRuleActionSet'}, - } - - def __init__(self, *, name: str=None, rule_sequence: int=None, conditions=None, action_set=None, **kwargs) -> None: - super(ApplicationGatewayRewriteRule, self).__init__(**kwargs) - self.name = name - self.rule_sequence = rule_sequence - self.conditions = conditions - self.action_set = action_set - - -class ApplicationGatewayRewriteRuleActionSet(Model): - """Set of actions in the Rewrite Rule in Application Gateway. - - :param request_header_configurations: Request Header Actions in the Action - Set. - :type request_header_configurations: - list[~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayHeaderConfiguration] - :param response_header_configurations: Response Header Actions in the - Action Set. - :type response_header_configurations: - list[~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayHeaderConfiguration] - """ - - _attribute_map = { - 'request_header_configurations': {'key': 'requestHeaderConfigurations', 'type': '[ApplicationGatewayHeaderConfiguration]'}, - 'response_header_configurations': {'key': 'responseHeaderConfigurations', 'type': '[ApplicationGatewayHeaderConfiguration]'}, - } - - def __init__(self, *, request_header_configurations=None, response_header_configurations=None, **kwargs) -> None: - super(ApplicationGatewayRewriteRuleActionSet, self).__init__(**kwargs) - self.request_header_configurations = request_header_configurations - self.response_header_configurations = response_header_configurations - - -class ApplicationGatewayRewriteRuleCondition(Model): - """Set of conditions in the Rewrite Rule in Application Gateway. - - :param variable: The condition parameter of the RewriteRuleCondition. - :type variable: str - :param pattern: The pattern, either fixed string or regular expression, - that evaluates the truthfulness of the condition. - :type pattern: str - :param ignore_case: Setting this paramter to truth value with force the - pattern to do a case in-sensitive comparison. - :type ignore_case: bool - :param negate: Setting this value as truth will force to check the - negation of the condition given by the user. - :type negate: bool - """ - - _attribute_map = { - 'variable': {'key': 'variable', 'type': 'str'}, - 'pattern': {'key': 'pattern', 'type': 'str'}, - 'ignore_case': {'key': 'ignoreCase', 'type': 'bool'}, - 'negate': {'key': 'negate', 'type': 'bool'}, - } - - def __init__(self, *, variable: str=None, pattern: str=None, ignore_case: bool=None, negate: bool=None, **kwargs) -> None: - super(ApplicationGatewayRewriteRuleCondition, self).__init__(**kwargs) - self.variable = variable - self.pattern = pattern - self.ignore_case = ignore_case - self.negate = negate - - -class ApplicationGatewayRewriteRuleSet(SubResource): - """Rewrite rule set of an application gateway. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param rewrite_rules: Rewrite rules in the rewrite rule set. - :type rewrite_rules: - list[~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayRewriteRule] - :ivar provisioning_state: The provisioning state of the rewrite rule set - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param name: Name of the rewrite rule set that is unique within an - Application Gateway. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'rewrite_rules': {'key': 'properties.rewriteRules', 'type': '[ApplicationGatewayRewriteRule]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, rewrite_rules=None, name: str=None, **kwargs) -> None: - super(ApplicationGatewayRewriteRuleSet, self).__init__(id=id, **kwargs) - self.rewrite_rules = rewrite_rules - self.provisioning_state = None - self.name = name - self.etag = None - - -class ApplicationGatewaySku(Model): - """SKU of an application gateway. - - :param name: Name of an application gateway SKU. Possible values include: - 'Standard_Small', 'Standard_Medium', 'Standard_Large', 'WAF_Medium', - 'WAF_Large', 'Standard_v2', 'WAF_v2' - :type name: str or - ~azure.mgmt.network.v2019_09_01.models.ApplicationGatewaySkuName - :param tier: Tier of an application gateway. Possible values include: - 'Standard', 'WAF', 'Standard_v2', 'WAF_v2' - :type tier: str or - ~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayTier - :param capacity: Capacity (instance count) of an application gateway. - :type capacity: int - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'tier': {'key': 'tier', 'type': 'str'}, - 'capacity': {'key': 'capacity', 'type': 'int'}, - } - - def __init__(self, *, name=None, tier=None, capacity: int=None, **kwargs) -> None: - super(ApplicationGatewaySku, self).__init__(**kwargs) - self.name = name - self.tier = tier - self.capacity = capacity - - -class ApplicationGatewaySslCertificate(SubResource): - """SSL certificates of an application gateway. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param data: Base-64 encoded pfx certificate. Only applicable in PUT - Request. - :type data: str - :param password: Password for the pfx file specified in data. Only - applicable in PUT request. - :type password: str - :ivar public_cert_data: Base-64 encoded Public cert data corresponding to - pfx specified in data. Only applicable in GET request. - :vartype public_cert_data: str - :param key_vault_secret_id: Secret Id of (base-64 encoded unencrypted pfx) - 'Secret' or 'Certificate' object stored in KeyVault. - :type key_vault_secret_id: str - :ivar provisioning_state: The provisioning state of the SSL certificate - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param name: Name of the SSL certificate that is unique within an - Application Gateway. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :ivar type: Type of the resource. - :vartype type: str - """ - - _validation = { - 'public_cert_data': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'data': {'key': 'properties.data', 'type': 'str'}, - 'password': {'key': 'properties.password', 'type': 'str'}, - 'public_cert_data': {'key': 'properties.publicCertData', 'type': 'str'}, - 'key_vault_secret_id': {'key': 'properties.keyVaultSecretId', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, data: str=None, password: str=None, key_vault_secret_id: str=None, name: str=None, **kwargs) -> None: - super(ApplicationGatewaySslCertificate, self).__init__(id=id, **kwargs) - self.data = data - self.password = password - self.public_cert_data = None - self.key_vault_secret_id = key_vault_secret_id - self.provisioning_state = None - self.name = name - self.etag = None - self.type = None - - -class ApplicationGatewaySslPolicy(Model): - """Application Gateway Ssl policy. - - :param disabled_ssl_protocols: Ssl protocols to be disabled on application - gateway. - :type disabled_ssl_protocols: list[str or - ~azure.mgmt.network.v2019_09_01.models.ApplicationGatewaySslProtocol] - :param policy_type: Type of Ssl Policy. Possible values include: - 'Predefined', 'Custom' - :type policy_type: str or - ~azure.mgmt.network.v2019_09_01.models.ApplicationGatewaySslPolicyType - :param policy_name: Name of Ssl predefined policy. Possible values - include: 'AppGwSslPolicy20150501', 'AppGwSslPolicy20170401', - 'AppGwSslPolicy20170401S' - :type policy_name: str or - ~azure.mgmt.network.v2019_09_01.models.ApplicationGatewaySslPolicyName - :param cipher_suites: Ssl cipher suites to be enabled in the specified - order to application gateway. - :type cipher_suites: list[str or - ~azure.mgmt.network.v2019_09_01.models.ApplicationGatewaySslCipherSuite] - :param min_protocol_version: Minimum version of Ssl protocol to be - supported on application gateway. Possible values include: 'TLSv1_0', - 'TLSv1_1', 'TLSv1_2' - :type min_protocol_version: str or - ~azure.mgmt.network.v2019_09_01.models.ApplicationGatewaySslProtocol - """ - - _attribute_map = { - 'disabled_ssl_protocols': {'key': 'disabledSslProtocols', 'type': '[str]'}, - 'policy_type': {'key': 'policyType', 'type': 'str'}, - 'policy_name': {'key': 'policyName', 'type': 'str'}, - 'cipher_suites': {'key': 'cipherSuites', 'type': '[str]'}, - 'min_protocol_version': {'key': 'minProtocolVersion', 'type': 'str'}, - } - - def __init__(self, *, disabled_ssl_protocols=None, policy_type=None, policy_name=None, cipher_suites=None, min_protocol_version=None, **kwargs) -> None: - super(ApplicationGatewaySslPolicy, self).__init__(**kwargs) - self.disabled_ssl_protocols = disabled_ssl_protocols - self.policy_type = policy_type - self.policy_name = policy_name - self.cipher_suites = cipher_suites - self.min_protocol_version = min_protocol_version - - -class ApplicationGatewaySslPredefinedPolicy(SubResource): - """An Ssl predefined policy. - - :param id: Resource ID. - :type id: str - :param name: Name of the Ssl predefined policy. - :type name: str - :param cipher_suites: Ssl cipher suites to be enabled in the specified - order for application gateway. - :type cipher_suites: list[str or - ~azure.mgmt.network.v2019_09_01.models.ApplicationGatewaySslCipherSuite] - :param min_protocol_version: Minimum version of Ssl protocol to be - supported on application gateway. Possible values include: 'TLSv1_0', - 'TLSv1_1', 'TLSv1_2' - :type min_protocol_version: str or - ~azure.mgmt.network.v2019_09_01.models.ApplicationGatewaySslProtocol - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'cipher_suites': {'key': 'properties.cipherSuites', 'type': '[str]'}, - 'min_protocol_version': {'key': 'properties.minProtocolVersion', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, name: str=None, cipher_suites=None, min_protocol_version=None, **kwargs) -> None: - super(ApplicationGatewaySslPredefinedPolicy, self).__init__(id=id, **kwargs) - self.name = name - self.cipher_suites = cipher_suites - self.min_protocol_version = min_protocol_version - - -class ApplicationGatewayTrustedRootCertificate(SubResource): - """Trusted Root certificates of an application gateway. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param data: Certificate public data. - :type data: str - :param key_vault_secret_id: Secret Id of (base-64 encoded unencrypted pfx) - 'Secret' or 'Certificate' object stored in KeyVault. - :type key_vault_secret_id: str - :ivar provisioning_state: The provisioning state of the trusted root - certificate resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param name: Name of the trusted root certificate that is unique within an - Application Gateway. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :ivar type: Type of the resource. - :vartype type: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'data': {'key': 'properties.data', 'type': 'str'}, - 'key_vault_secret_id': {'key': 'properties.keyVaultSecretId', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, data: str=None, key_vault_secret_id: str=None, name: str=None, **kwargs) -> None: - super(ApplicationGatewayTrustedRootCertificate, self).__init__(id=id, **kwargs) - self.data = data - self.key_vault_secret_id = key_vault_secret_id - self.provisioning_state = None - self.name = name - self.etag = None - self.type = None - - -class ApplicationGatewayUrlPathMap(SubResource): - """UrlPathMaps give a url path to the backend mapping information for - PathBasedRouting. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param default_backend_address_pool: Default backend address pool resource - of URL path map. - :type default_backend_address_pool: - ~azure.mgmt.network.v2019_09_01.models.SubResource - :param default_backend_http_settings: Default backend http settings - resource of URL path map. - :type default_backend_http_settings: - ~azure.mgmt.network.v2019_09_01.models.SubResource - :param default_rewrite_rule_set: Default Rewrite rule set resource of URL - path map. - :type default_rewrite_rule_set: - ~azure.mgmt.network.v2019_09_01.models.SubResource - :param default_redirect_configuration: Default redirect configuration - resource of URL path map. - :type default_redirect_configuration: - ~azure.mgmt.network.v2019_09_01.models.SubResource - :param path_rules: Path rule of URL path map resource. - :type path_rules: - list[~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayPathRule] - :ivar provisioning_state: The provisioning state of the URL path map - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param name: Name of the URL path map that is unique within an Application - Gateway. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :ivar type: Type of the resource. - :vartype type: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'default_backend_address_pool': {'key': 'properties.defaultBackendAddressPool', 'type': 'SubResource'}, - 'default_backend_http_settings': {'key': 'properties.defaultBackendHttpSettings', 'type': 'SubResource'}, - 'default_rewrite_rule_set': {'key': 'properties.defaultRewriteRuleSet', 'type': 'SubResource'}, - 'default_redirect_configuration': {'key': 'properties.defaultRedirectConfiguration', 'type': 'SubResource'}, - 'path_rules': {'key': 'properties.pathRules', 'type': '[ApplicationGatewayPathRule]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, default_backend_address_pool=None, default_backend_http_settings=None, default_rewrite_rule_set=None, default_redirect_configuration=None, path_rules=None, name: str=None, **kwargs) -> None: - super(ApplicationGatewayUrlPathMap, self).__init__(id=id, **kwargs) - self.default_backend_address_pool = default_backend_address_pool - self.default_backend_http_settings = default_backend_http_settings - self.default_rewrite_rule_set = default_rewrite_rule_set - self.default_redirect_configuration = default_redirect_configuration - self.path_rules = path_rules - self.provisioning_state = None - self.name = name - self.etag = None - self.type = None - - -class ApplicationGatewayWebApplicationFirewallConfiguration(Model): - """Application gateway web application firewall configuration. - - All required parameters must be populated in order to send to Azure. - - :param enabled: Required. Whether the web application firewall is enabled - or not. - :type enabled: bool - :param firewall_mode: Required. Web application firewall mode. Possible - values include: 'Detection', 'Prevention' - :type firewall_mode: str or - ~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayFirewallMode - :param rule_set_type: Required. The type of the web application firewall - rule set. Possible values are: 'OWASP'. - :type rule_set_type: str - :param rule_set_version: Required. The version of the rule set type. - :type rule_set_version: str - :param disabled_rule_groups: The disabled rule groups. - :type disabled_rule_groups: - list[~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayFirewallDisabledRuleGroup] - :param request_body_check: Whether allow WAF to check request Body. - :type request_body_check: bool - :param max_request_body_size: Maximum request body size for WAF. - :type max_request_body_size: int - :param max_request_body_size_in_kb: Maximum request body size in Kb for - WAF. - :type max_request_body_size_in_kb: int - :param file_upload_limit_in_mb: Maximum file upload size in Mb for WAF. - :type file_upload_limit_in_mb: int - :param exclusions: The exclusion list. - :type exclusions: - list[~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayFirewallExclusion] - """ - - _validation = { - 'enabled': {'required': True}, - 'firewall_mode': {'required': True}, - 'rule_set_type': {'required': True}, - 'rule_set_version': {'required': True}, - 'max_request_body_size': {'maximum': 128, 'minimum': 8}, - 'max_request_body_size_in_kb': {'maximum': 128, 'minimum': 8}, - 'file_upload_limit_in_mb': {'minimum': 0}, - } - - _attribute_map = { - 'enabled': {'key': 'enabled', 'type': 'bool'}, - 'firewall_mode': {'key': 'firewallMode', 'type': 'str'}, - 'rule_set_type': {'key': 'ruleSetType', 'type': 'str'}, - 'rule_set_version': {'key': 'ruleSetVersion', 'type': 'str'}, - 'disabled_rule_groups': {'key': 'disabledRuleGroups', 'type': '[ApplicationGatewayFirewallDisabledRuleGroup]'}, - 'request_body_check': {'key': 'requestBodyCheck', 'type': 'bool'}, - 'max_request_body_size': {'key': 'maxRequestBodySize', 'type': 'int'}, - 'max_request_body_size_in_kb': {'key': 'maxRequestBodySizeInKb', 'type': 'int'}, - 'file_upload_limit_in_mb': {'key': 'fileUploadLimitInMb', 'type': 'int'}, - 'exclusions': {'key': 'exclusions', 'type': '[ApplicationGatewayFirewallExclusion]'}, - } - - def __init__(self, *, enabled: bool, firewall_mode, rule_set_type: str, rule_set_version: str, disabled_rule_groups=None, request_body_check: bool=None, max_request_body_size: int=None, max_request_body_size_in_kb: int=None, file_upload_limit_in_mb: int=None, exclusions=None, **kwargs) -> None: - super(ApplicationGatewayWebApplicationFirewallConfiguration, self).__init__(**kwargs) - self.enabled = enabled - self.firewall_mode = firewall_mode - self.rule_set_type = rule_set_type - self.rule_set_version = rule_set_version - self.disabled_rule_groups = disabled_rule_groups - self.request_body_check = request_body_check - self.max_request_body_size = max_request_body_size - self.max_request_body_size_in_kb = max_request_body_size_in_kb - self.file_upload_limit_in_mb = file_upload_limit_in_mb - self.exclusions = exclusions - - -class FirewallPolicyRuleCondition(Model): - """Properties of a rule. - - You probably want to use the sub-classes and not this class directly. Known - sub-classes are: ApplicationRuleCondition, NetworkRuleCondition - - All required parameters must be populated in order to send to Azure. - - :param name: Name of the rule condition. - :type name: str - :param description: Description of the rule condition. - :type description: str - :param rule_condition_type: Required. Constant filled by server. - :type rule_condition_type: str - """ - - _validation = { - 'rule_condition_type': {'required': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'description': {'key': 'description', 'type': 'str'}, - 'rule_condition_type': {'key': 'ruleConditionType', 'type': 'str'}, - } - - _subtype_map = { - 'rule_condition_type': {'ApplicationRuleCondition': 'ApplicationRuleCondition', 'NetworkRuleCondition': 'NetworkRuleCondition'} - } - - def __init__(self, *, name: str=None, description: str=None, **kwargs) -> None: - super(FirewallPolicyRuleCondition, self).__init__(**kwargs) - self.name = name - self.description = description - self.rule_condition_type = None - - -class ApplicationRuleCondition(FirewallPolicyRuleCondition): - """Rule condition of type application. - - All required parameters must be populated in order to send to Azure. - - :param name: Name of the rule condition. - :type name: str - :param description: Description of the rule condition. - :type description: str - :param rule_condition_type: Required. Constant filled by server. - :type rule_condition_type: str - :param source_addresses: List of source IP addresses for this rule. - :type source_addresses: list[str] - :param destination_addresses: List of destination IP addresses or Service - Tags. - :type destination_addresses: list[str] - :param protocols: Array of Application Protocols. - :type protocols: - list[~azure.mgmt.network.v2019_09_01.models.FirewallPolicyRuleConditionApplicationProtocol] - :param target_fqdns: List of FQDNs for this rule condition. - :type target_fqdns: list[str] - :param fqdn_tags: List of FQDN Tags for this rule condition. - :type fqdn_tags: list[str] - """ - - _validation = { - 'rule_condition_type': {'required': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'description': {'key': 'description', 'type': 'str'}, - 'rule_condition_type': {'key': 'ruleConditionType', 'type': 'str'}, - 'source_addresses': {'key': 'sourceAddresses', 'type': '[str]'}, - 'destination_addresses': {'key': 'destinationAddresses', 'type': '[str]'}, - 'protocols': {'key': 'protocols', 'type': '[FirewallPolicyRuleConditionApplicationProtocol]'}, - 'target_fqdns': {'key': 'targetFqdns', 'type': '[str]'}, - 'fqdn_tags': {'key': 'fqdnTags', 'type': '[str]'}, - } - - def __init__(self, *, name: str=None, description: str=None, source_addresses=None, destination_addresses=None, protocols=None, target_fqdns=None, fqdn_tags=None, **kwargs) -> None: - super(ApplicationRuleCondition, self).__init__(name=name, description=description, **kwargs) - self.source_addresses = source_addresses - self.destination_addresses = destination_addresses - self.protocols = protocols - self.target_fqdns = target_fqdns - self.fqdn_tags = fqdn_tags - self.rule_condition_type = 'ApplicationRuleCondition' - - -class ApplicationSecurityGroup(Resource): - """An application security group in a resource group. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :ivar resource_guid: The resource GUID property of the application - security group resource. It uniquely identifies a resource, even if the - user changes its name or migrate the resource across subscriptions or - resource groups. - :vartype resource_guid: str - :ivar provisioning_state: The provisioning state of the application - security group resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'resource_guid': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, **kwargs) -> None: - super(ApplicationSecurityGroup, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.resource_guid = None - self.provisioning_state = None - self.etag = None - - -class AutoApprovedPrivateLinkService(Model): - """The information of an AutoApprovedPrivateLinkService. - - :param private_link_service: The id of the private link service resource. - :type private_link_service: str - """ - - _attribute_map = { - 'private_link_service': {'key': 'privateLinkService', 'type': 'str'}, - } - - def __init__(self, *, private_link_service: str=None, **kwargs) -> None: - super(AutoApprovedPrivateLinkService, self).__init__(**kwargs) - self.private_link_service = private_link_service - - -class Availability(Model): - """Availability of the metric. - - :param time_grain: The time grain of the availability. - :type time_grain: str - :param retention: The retention of the availability. - :type retention: str - :param blob_duration: Duration of the availability blob. - :type blob_duration: str - """ - - _attribute_map = { - 'time_grain': {'key': 'timeGrain', 'type': 'str'}, - 'retention': {'key': 'retention', 'type': 'str'}, - 'blob_duration': {'key': 'blobDuration', 'type': 'str'}, - } - - def __init__(self, *, time_grain: str=None, retention: str=None, blob_duration: str=None, **kwargs) -> None: - super(Availability, self).__init__(**kwargs) - self.time_grain = time_grain - self.retention = retention - self.blob_duration = blob_duration - - -class AvailableDelegation(Model): - """The serviceName of an AvailableDelegation indicates a possible delegation - for a subnet. - - :param name: The name of the AvailableDelegation resource. - :type name: str - :param id: A unique identifier of the AvailableDelegation resource. - :type id: str - :param type: Resource type. - :type type: str - :param service_name: The name of the service and resource. - :type service_name: str - :param actions: Describes the actions permitted to the service upon - delegation. - :type actions: list[str] - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'id': {'key': 'id', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'service_name': {'key': 'serviceName', 'type': 'str'}, - 'actions': {'key': 'actions', 'type': '[str]'}, - } - - def __init__(self, *, name: str=None, id: str=None, type: str=None, service_name: str=None, actions=None, **kwargs) -> None: - super(AvailableDelegation, self).__init__(**kwargs) - self.name = name - self.id = id - self.type = type - self.service_name = service_name - self.actions = actions - - -class AvailablePrivateEndpointType(Model): - """The information of an AvailablePrivateEndpointType. - - :param name: The name of the service and resource. - :type name: str - :param id: A unique identifier of the AvailablePrivateEndpoint Type - resource. - :type id: str - :param type: Resource type. - :type type: str - :param resource_name: The name of the service and resource. - :type resource_name: str - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'id': {'key': 'id', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'resource_name': {'key': 'resourceName', 'type': 'str'}, - } - - def __init__(self, *, name: str=None, id: str=None, type: str=None, resource_name: str=None, **kwargs) -> None: - super(AvailablePrivateEndpointType, self).__init__(**kwargs) - self.name = name - self.id = id - self.type = type - self.resource_name = resource_name - - -class AvailableProvidersList(Model): - """List of available countries with details. - - All required parameters must be populated in order to send to Azure. - - :param countries: Required. List of available countries. - :type countries: - list[~azure.mgmt.network.v2019_09_01.models.AvailableProvidersListCountry] - """ - - _validation = { - 'countries': {'required': True}, - } - - _attribute_map = { - 'countries': {'key': 'countries', 'type': '[AvailableProvidersListCountry]'}, - } - - def __init__(self, *, countries, **kwargs) -> None: - super(AvailableProvidersList, self).__init__(**kwargs) - self.countries = countries - - -class AvailableProvidersListCity(Model): - """City or town details. - - :param city_name: The city or town name. - :type city_name: str - :param providers: A list of Internet service providers. - :type providers: list[str] - """ - - _attribute_map = { - 'city_name': {'key': 'cityName', 'type': 'str'}, - 'providers': {'key': 'providers', 'type': '[str]'}, - } - - def __init__(self, *, city_name: str=None, providers=None, **kwargs) -> None: - super(AvailableProvidersListCity, self).__init__(**kwargs) - self.city_name = city_name - self.providers = providers - - -class AvailableProvidersListCountry(Model): - """Country details. - - :param country_name: The country name. - :type country_name: str - :param providers: A list of Internet service providers. - :type providers: list[str] - :param states: List of available states in the country. - :type states: - list[~azure.mgmt.network.v2019_09_01.models.AvailableProvidersListState] - """ - - _attribute_map = { - 'country_name': {'key': 'countryName', 'type': 'str'}, - 'providers': {'key': 'providers', 'type': '[str]'}, - 'states': {'key': 'states', 'type': '[AvailableProvidersListState]'}, - } - - def __init__(self, *, country_name: str=None, providers=None, states=None, **kwargs) -> None: - super(AvailableProvidersListCountry, self).__init__(**kwargs) - self.country_name = country_name - self.providers = providers - self.states = states - - -class AvailableProvidersListParameters(Model): - """Constraints that determine the list of available Internet service - providers. - - :param azure_locations: A list of Azure regions. - :type azure_locations: list[str] - :param country: The country for available providers list. - :type country: str - :param state: The state for available providers list. - :type state: str - :param city: The city or town for available providers list. - :type city: str - """ - - _attribute_map = { - 'azure_locations': {'key': 'azureLocations', 'type': '[str]'}, - 'country': {'key': 'country', 'type': 'str'}, - 'state': {'key': 'state', 'type': 'str'}, - 'city': {'key': 'city', 'type': 'str'}, - } - - def __init__(self, *, azure_locations=None, country: str=None, state: str=None, city: str=None, **kwargs) -> None: - super(AvailableProvidersListParameters, self).__init__(**kwargs) - self.azure_locations = azure_locations - self.country = country - self.state = state - self.city = city - - -class AvailableProvidersListState(Model): - """State details. - - :param state_name: The state name. - :type state_name: str - :param providers: A list of Internet service providers. - :type providers: list[str] - :param cities: List of available cities or towns in the state. - :type cities: - list[~azure.mgmt.network.v2019_09_01.models.AvailableProvidersListCity] - """ - - _attribute_map = { - 'state_name': {'key': 'stateName', 'type': 'str'}, - 'providers': {'key': 'providers', 'type': '[str]'}, - 'cities': {'key': 'cities', 'type': '[AvailableProvidersListCity]'}, - } - - def __init__(self, *, state_name: str=None, providers=None, cities=None, **kwargs) -> None: - super(AvailableProvidersListState, self).__init__(**kwargs) - self.state_name = state_name - self.providers = providers - self.cities = cities - - -class AvailableServiceAlias(Model): - """The available service alias. - - :param name: The name of the service alias. - :type name: str - :param id: The ID of the service alias. - :type id: str - :param type: The type of the resource. - :type type: str - :param resource_name: The resource name of the service alias. - :type resource_name: str - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'id': {'key': 'id', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'resource_name': {'key': 'resourceName', 'type': 'str'}, - } - - def __init__(self, *, name: str=None, id: str=None, type: str=None, resource_name: str=None, **kwargs) -> None: - super(AvailableServiceAlias, self).__init__(**kwargs) - self.name = name - self.id = id - self.type = type - self.resource_name = resource_name - - -class AzureAsyncOperationResult(Model): - """The response body contains the status of the specified asynchronous - operation, indicating whether it has succeeded, is in progress, or has - failed. Note that this status is distinct from the HTTP status code - returned for the Get Operation Status operation itself. If the asynchronous - operation succeeded, the response body includes the HTTP status code for - the successful request. If the asynchronous operation failed, the response - body includes the HTTP status code for the failed request and error - information regarding the failure. - - :param status: Status of the Azure async operation. Possible values - include: 'InProgress', 'Succeeded', 'Failed' - :type status: str or - ~azure.mgmt.network.v2019_09_01.models.NetworkOperationStatus - :param error: Details of the error occurred during specified asynchronous - operation. - :type error: ~azure.mgmt.network.v2019_09_01.models.Error - """ - - _attribute_map = { - 'status': {'key': 'status', 'type': 'str'}, - 'error': {'key': 'error', 'type': 'Error'}, - } - - def __init__(self, *, status=None, error=None, **kwargs) -> None: - super(AzureAsyncOperationResult, self).__init__(**kwargs) - self.status = status - self.error = error - - -class AzureFirewall(Resource): - """Azure Firewall resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param application_rule_collections: Collection of application rule - collections used by Azure Firewall. - :type application_rule_collections: - list[~azure.mgmt.network.v2019_09_01.models.AzureFirewallApplicationRuleCollection] - :param nat_rule_collections: Collection of NAT rule collections used by - Azure Firewall. - :type nat_rule_collections: - list[~azure.mgmt.network.v2019_09_01.models.AzureFirewallNatRuleCollection] - :param network_rule_collections: Collection of network rule collections - used by Azure Firewall. - :type network_rule_collections: - list[~azure.mgmt.network.v2019_09_01.models.AzureFirewallNetworkRuleCollection] - :param ip_configurations: IP configuration of the Azure Firewall resource. - :type ip_configurations: - list[~azure.mgmt.network.v2019_09_01.models.AzureFirewallIPConfiguration] - :ivar provisioning_state: The provisioning state of the Azure firewall - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param threat_intel_mode: The operation mode for Threat Intelligence. - Possible values include: 'Alert', 'Deny', 'Off' - :type threat_intel_mode: str or - ~azure.mgmt.network.v2019_09_01.models.AzureFirewallThreatIntelMode - :param virtual_hub: The virtualHub to which the firewall belongs. - :type virtual_hub: ~azure.mgmt.network.v2019_09_01.models.SubResource - :param firewall_policy: The firewallPolicy associated with this azure - firewall. - :type firewall_policy: ~azure.mgmt.network.v2019_09_01.models.SubResource - :ivar hub_ip_addresses: IP addresses associated with AzureFirewall. - :vartype hub_ip_addresses: - ~azure.mgmt.network.v2019_09_01.models.HubIPAddresses - :param sku: The Azure Firewall Resource SKU. - :type sku: ~azure.mgmt.network.v2019_09_01.models.AzureFirewallSku - :param additional_properties: The additional properties used to further - config this azure firewall - :type additional_properties: dict[str, str] - :param zones: A list of availability zones denoting where the resource - needs to come from. - :type zones: list[str] - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'hub_ip_addresses': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'application_rule_collections': {'key': 'properties.applicationRuleCollections', 'type': '[AzureFirewallApplicationRuleCollection]'}, - 'nat_rule_collections': {'key': 'properties.natRuleCollections', 'type': '[AzureFirewallNatRuleCollection]'}, - 'network_rule_collections': {'key': 'properties.networkRuleCollections', 'type': '[AzureFirewallNetworkRuleCollection]'}, - 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[AzureFirewallIPConfiguration]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'threat_intel_mode': {'key': 'properties.threatIntelMode', 'type': 'str'}, - 'virtual_hub': {'key': 'properties.virtualHub', 'type': 'SubResource'}, - 'firewall_policy': {'key': 'properties.firewallPolicy', 'type': 'SubResource'}, - 'hub_ip_addresses': {'key': 'properties.hubIpAddresses', 'type': 'HubIPAddresses'}, - 'sku': {'key': 'properties.sku', 'type': 'AzureFirewallSku'}, - 'additional_properties': {'key': 'properties.additionalProperties', 'type': '{str}'}, - 'zones': {'key': 'zones', 'type': '[str]'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, application_rule_collections=None, nat_rule_collections=None, network_rule_collections=None, ip_configurations=None, threat_intel_mode=None, virtual_hub=None, firewall_policy=None, sku=None, additional_properties=None, zones=None, **kwargs) -> None: - super(AzureFirewall, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.application_rule_collections = application_rule_collections - self.nat_rule_collections = nat_rule_collections - self.network_rule_collections = network_rule_collections - self.ip_configurations = ip_configurations - self.provisioning_state = None - self.threat_intel_mode = threat_intel_mode - self.virtual_hub = virtual_hub - self.firewall_policy = firewall_policy - self.hub_ip_addresses = None - self.sku = sku - self.additional_properties = additional_properties - self.zones = zones - self.etag = None - - -class AzureFirewallApplicationRule(Model): - """Properties of an application rule. - - :param name: Name of the application rule. - :type name: str - :param description: Description of the rule. - :type description: str - :param source_addresses: List of source IP addresses for this rule. - :type source_addresses: list[str] - :param protocols: Array of ApplicationRuleProtocols. - :type protocols: - list[~azure.mgmt.network.v2019_09_01.models.AzureFirewallApplicationRuleProtocol] - :param target_fqdns: List of FQDNs for this rule. - :type target_fqdns: list[str] - :param fqdn_tags: List of FQDN Tags for this rule. - :type fqdn_tags: list[str] - :param source_ip_groups: List of source IpGroups for this rule. - :type source_ip_groups: list[str] - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'description': {'key': 'description', 'type': 'str'}, - 'source_addresses': {'key': 'sourceAddresses', 'type': '[str]'}, - 'protocols': {'key': 'protocols', 'type': '[AzureFirewallApplicationRuleProtocol]'}, - 'target_fqdns': {'key': 'targetFqdns', 'type': '[str]'}, - 'fqdn_tags': {'key': 'fqdnTags', 'type': '[str]'}, - 'source_ip_groups': {'key': 'sourceIpGroups', 'type': '[str]'}, - } - - def __init__(self, *, name: str=None, description: str=None, source_addresses=None, protocols=None, target_fqdns=None, fqdn_tags=None, source_ip_groups=None, **kwargs) -> None: - super(AzureFirewallApplicationRule, self).__init__(**kwargs) - self.name = name - self.description = description - self.source_addresses = source_addresses - self.protocols = protocols - self.target_fqdns = target_fqdns - self.fqdn_tags = fqdn_tags - self.source_ip_groups = source_ip_groups - - -class AzureFirewallApplicationRuleCollection(SubResource): - """Application rule collection resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param priority: Priority of the application rule collection resource. - :type priority: int - :param action: The action type of a rule collection. - :type action: ~azure.mgmt.network.v2019_09_01.models.AzureFirewallRCAction - :param rules: Collection of rules used by a application rule collection. - :type rules: - list[~azure.mgmt.network.v2019_09_01.models.AzureFirewallApplicationRule] - :ivar provisioning_state: The provisioning state of the application rule - collection resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param name: The name of the resource that is unique within the Azure - firewall. This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'priority': {'maximum': 65000, 'minimum': 100}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'priority': {'key': 'properties.priority', 'type': 'int'}, - 'action': {'key': 'properties.action', 'type': 'AzureFirewallRCAction'}, - 'rules': {'key': 'properties.rules', 'type': '[AzureFirewallApplicationRule]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, priority: int=None, action=None, rules=None, name: str=None, **kwargs) -> None: - super(AzureFirewallApplicationRuleCollection, self).__init__(id=id, **kwargs) - self.priority = priority - self.action = action - self.rules = rules - self.provisioning_state = None - self.name = name - self.etag = None - - -class AzureFirewallApplicationRuleProtocol(Model): - """Properties of the application rule protocol. - - :param protocol_type: Protocol type. Possible values include: 'Http', - 'Https', 'Mssql' - :type protocol_type: str or - ~azure.mgmt.network.v2019_09_01.models.AzureFirewallApplicationRuleProtocolType - :param port: Port number for the protocol, cannot be greater than 64000. - This field is optional. - :type port: int - """ - - _validation = { - 'port': {'maximum': 64000, 'minimum': 0}, - } - - _attribute_map = { - 'protocol_type': {'key': 'protocolType', 'type': 'str'}, - 'port': {'key': 'port', 'type': 'int'}, - } - - def __init__(self, *, protocol_type=None, port: int=None, **kwargs) -> None: - super(AzureFirewallApplicationRuleProtocol, self).__init__(**kwargs) - self.protocol_type = protocol_type - self.port = port - - -class AzureFirewallFqdnTag(Resource): - """Azure Firewall FQDN Tag Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :ivar provisioning_state: The provisioning state of the Azure firewall - FQDN tag resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :ivar fqdn_tag_name: The name of this FQDN Tag. - :vartype fqdn_tag_name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'fqdn_tag_name': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'fqdn_tag_name': {'key': 'properties.fqdnTagName', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, **kwargs) -> None: - super(AzureFirewallFqdnTag, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.provisioning_state = None - self.fqdn_tag_name = None - self.etag = None - - -class AzureFirewallIPConfiguration(SubResource): - """IP configuration of an Azure Firewall. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar private_ip_address: The Firewall Internal Load Balancer IP to be - used as the next hop in User Defined Routes. - :vartype private_ip_address: str - :param subnet: Reference of the subnet resource. This resource must be - named 'AzureFirewallSubnet'. - :type subnet: ~azure.mgmt.network.v2019_09_01.models.SubResource - :param public_ip_address: Reference of the PublicIP resource. This field - is a mandatory input if subnet is not null. - :type public_ip_address: - ~azure.mgmt.network.v2019_09_01.models.SubResource - :ivar provisioning_state: The provisioning state of the Azure firewall IP - configuration resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param name: Name of the resource that is unique within a resource group. - This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'private_ip_address': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, - 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, - 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'SubResource'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, subnet=None, public_ip_address=None, name: str=None, **kwargs) -> None: - super(AzureFirewallIPConfiguration, self).__init__(id=id, **kwargs) - self.private_ip_address = None - self.subnet = subnet - self.public_ip_address = public_ip_address - self.provisioning_state = None - self.name = name - self.etag = None - - -class AzureFirewallNatRCAction(Model): - """AzureFirewall NAT Rule Collection Action. - - :param type: The type of action. Possible values include: 'Snat', 'Dnat' - :type type: str or - ~azure.mgmt.network.v2019_09_01.models.AzureFirewallNatRCActionType - """ - - _attribute_map = { - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, type=None, **kwargs) -> None: - super(AzureFirewallNatRCAction, self).__init__(**kwargs) - self.type = type - - -class AzureFirewallNatRule(Model): - """Properties of a NAT rule. - - :param name: Name of the NAT rule. - :type name: str - :param description: Description of the rule. - :type description: str - :param source_addresses: List of source IP addresses for this rule. - :type source_addresses: list[str] - :param destination_addresses: List of destination IP addresses for this - rule. Supports IP ranges, prefixes, and service tags. - :type destination_addresses: list[str] - :param destination_ports: List of destination ports. - :type destination_ports: list[str] - :param protocols: Array of AzureFirewallNetworkRuleProtocols applicable to - this NAT rule. - :type protocols: list[str or - ~azure.mgmt.network.v2019_09_01.models.AzureFirewallNetworkRuleProtocol] - :param translated_address: The translated address for this NAT rule. - :type translated_address: str - :param translated_port: The translated port for this NAT rule. - :type translated_port: str - :param translated_fqdn: The translated FQDN for this NAT rule. - :type translated_fqdn: str - :param source_ip_groups: List of source IpGroups for this rule. - :type source_ip_groups: list[str] - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'description': {'key': 'description', 'type': 'str'}, - 'source_addresses': {'key': 'sourceAddresses', 'type': '[str]'}, - 'destination_addresses': {'key': 'destinationAddresses', 'type': '[str]'}, - 'destination_ports': {'key': 'destinationPorts', 'type': '[str]'}, - 'protocols': {'key': 'protocols', 'type': '[str]'}, - 'translated_address': {'key': 'translatedAddress', 'type': 'str'}, - 'translated_port': {'key': 'translatedPort', 'type': 'str'}, - 'translated_fqdn': {'key': 'translatedFqdn', 'type': 'str'}, - 'source_ip_groups': {'key': 'sourceIpGroups', 'type': '[str]'}, - } - - def __init__(self, *, name: str=None, description: str=None, source_addresses=None, destination_addresses=None, destination_ports=None, protocols=None, translated_address: str=None, translated_port: str=None, translated_fqdn: str=None, source_ip_groups=None, **kwargs) -> None: - super(AzureFirewallNatRule, self).__init__(**kwargs) - self.name = name - self.description = description - self.source_addresses = source_addresses - self.destination_addresses = destination_addresses - self.destination_ports = destination_ports - self.protocols = protocols - self.translated_address = translated_address - self.translated_port = translated_port - self.translated_fqdn = translated_fqdn - self.source_ip_groups = source_ip_groups - - -class AzureFirewallNatRuleCollection(SubResource): - """NAT rule collection resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param priority: Priority of the NAT rule collection resource. - :type priority: int - :param action: The action type of a NAT rule collection. - :type action: - ~azure.mgmt.network.v2019_09_01.models.AzureFirewallNatRCAction - :param rules: Collection of rules used by a NAT rule collection. - :type rules: - list[~azure.mgmt.network.v2019_09_01.models.AzureFirewallNatRule] - :ivar provisioning_state: The provisioning state of the NAT rule - collection resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param name: The name of the resource that is unique within the Azure - firewall. This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'priority': {'maximum': 65000, 'minimum': 100}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'priority': {'key': 'properties.priority', 'type': 'int'}, - 'action': {'key': 'properties.action', 'type': 'AzureFirewallNatRCAction'}, - 'rules': {'key': 'properties.rules', 'type': '[AzureFirewallNatRule]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, priority: int=None, action=None, rules=None, name: str=None, **kwargs) -> None: - super(AzureFirewallNatRuleCollection, self).__init__(id=id, **kwargs) - self.priority = priority - self.action = action - self.rules = rules - self.provisioning_state = None - self.name = name - self.etag = None - - -class AzureFirewallNetworkRule(Model): - """Properties of the network rule. - - :param name: Name of the network rule. - :type name: str - :param description: Description of the rule. - :type description: str - :param protocols: Array of AzureFirewallNetworkRuleProtocols. - :type protocols: list[str or - ~azure.mgmt.network.v2019_09_01.models.AzureFirewallNetworkRuleProtocol] - :param source_addresses: List of source IP addresses for this rule. - :type source_addresses: list[str] - :param destination_addresses: List of destination IP addresses. - :type destination_addresses: list[str] - :param destination_ports: List of destination ports. - :type destination_ports: list[str] - :param destination_fqdns: List of destination FQDNs. - :type destination_fqdns: list[str] - :param source_ip_groups: List of source IpGroups for this rule. - :type source_ip_groups: list[str] - :param destination_ip_groups: List of destination IpGroups for this rule. - :type destination_ip_groups: list[str] - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'description': {'key': 'description', 'type': 'str'}, - 'protocols': {'key': 'protocols', 'type': '[str]'}, - 'source_addresses': {'key': 'sourceAddresses', 'type': '[str]'}, - 'destination_addresses': {'key': 'destinationAddresses', 'type': '[str]'}, - 'destination_ports': {'key': 'destinationPorts', 'type': '[str]'}, - 'destination_fqdns': {'key': 'destinationFqdns', 'type': '[str]'}, - 'source_ip_groups': {'key': 'sourceIpGroups', 'type': '[str]'}, - 'destination_ip_groups': {'key': 'destinationIpGroups', 'type': '[str]'}, - } - - def __init__(self, *, name: str=None, description: str=None, protocols=None, source_addresses=None, destination_addresses=None, destination_ports=None, destination_fqdns=None, source_ip_groups=None, destination_ip_groups=None, **kwargs) -> None: - super(AzureFirewallNetworkRule, self).__init__(**kwargs) - self.name = name - self.description = description - self.protocols = protocols - self.source_addresses = source_addresses - self.destination_addresses = destination_addresses - self.destination_ports = destination_ports - self.destination_fqdns = destination_fqdns - self.source_ip_groups = source_ip_groups - self.destination_ip_groups = destination_ip_groups - - -class AzureFirewallNetworkRuleCollection(SubResource): - """Network rule collection resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param priority: Priority of the network rule collection resource. - :type priority: int - :param action: The action type of a rule collection. - :type action: ~azure.mgmt.network.v2019_09_01.models.AzureFirewallRCAction - :param rules: Collection of rules used by a network rule collection. - :type rules: - list[~azure.mgmt.network.v2019_09_01.models.AzureFirewallNetworkRule] - :ivar provisioning_state: The provisioning state of the network rule - collection resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param name: The name of the resource that is unique within the Azure - firewall. This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'priority': {'maximum': 65000, 'minimum': 100}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'priority': {'key': 'properties.priority', 'type': 'int'}, - 'action': {'key': 'properties.action', 'type': 'AzureFirewallRCAction'}, - 'rules': {'key': 'properties.rules', 'type': '[AzureFirewallNetworkRule]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, priority: int=None, action=None, rules=None, name: str=None, **kwargs) -> None: - super(AzureFirewallNetworkRuleCollection, self).__init__(id=id, **kwargs) - self.priority = priority - self.action = action - self.rules = rules - self.provisioning_state = None - self.name = name - self.etag = None - - -class AzureFirewallPublicIPAddress(Model): - """Public IP Address associated with azure firewall. - - :param address: Public IP Address value. - :type address: str - """ - - _attribute_map = { - 'address': {'key': 'address', 'type': 'str'}, - } - - def __init__(self, *, address: str=None, **kwargs) -> None: - super(AzureFirewallPublicIPAddress, self).__init__(**kwargs) - self.address = address - - -class AzureFirewallRCAction(Model): - """Properties of the AzureFirewallRCAction. - - :param type: The type of action. Possible values include: 'Allow', 'Deny' - :type type: str or - ~azure.mgmt.network.v2019_09_01.models.AzureFirewallRCActionType - """ - - _attribute_map = { - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, type=None, **kwargs) -> None: - super(AzureFirewallRCAction, self).__init__(**kwargs) - self.type = type - - -class AzureFirewallSku(Model): - """SKU of an Azure Firewall. - - :param name: Name of an Azure Firewall SKU. Possible values include: - 'AZFW_VNet', 'AZFW_Hub' - :type name: str or - ~azure.mgmt.network.v2019_09_01.models.AzureFirewallSkuName - :param tier: Tier of an Azure Firewall. Possible values include: - 'Standard' - :type tier: str or - ~azure.mgmt.network.v2019_09_01.models.AzureFirewallSkuTier - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'tier': {'key': 'tier', 'type': 'str'}, - } - - def __init__(self, *, name=None, tier=None, **kwargs) -> None: - super(AzureFirewallSku, self).__init__(**kwargs) - self.name = name - self.tier = tier - - -class AzureReachabilityReport(Model): - """Azure reachability report details. - - All required parameters must be populated in order to send to Azure. - - :param aggregation_level: Required. The aggregation level of Azure - reachability report. Can be Country, State or City. - :type aggregation_level: str - :param provider_location: Required. Parameters that define a geographic - location. - :type provider_location: - ~azure.mgmt.network.v2019_09_01.models.AzureReachabilityReportLocation - :param reachability_report: Required. List of Azure reachability report - items. - :type reachability_report: - list[~azure.mgmt.network.v2019_09_01.models.AzureReachabilityReportItem] - """ - - _validation = { - 'aggregation_level': {'required': True}, - 'provider_location': {'required': True}, - 'reachability_report': {'required': True}, - } - - _attribute_map = { - 'aggregation_level': {'key': 'aggregationLevel', 'type': 'str'}, - 'provider_location': {'key': 'providerLocation', 'type': 'AzureReachabilityReportLocation'}, - 'reachability_report': {'key': 'reachabilityReport', 'type': '[AzureReachabilityReportItem]'}, - } - - def __init__(self, *, aggregation_level: str, provider_location, reachability_report, **kwargs) -> None: - super(AzureReachabilityReport, self).__init__(**kwargs) - self.aggregation_level = aggregation_level - self.provider_location = provider_location - self.reachability_report = reachability_report - - -class AzureReachabilityReportItem(Model): - """Azure reachability report details for a given provider location. - - :param provider: The Internet service provider. - :type provider: str - :param azure_location: The Azure region. - :type azure_location: str - :param latencies: List of latency details for each of the time series. - :type latencies: - list[~azure.mgmt.network.v2019_09_01.models.AzureReachabilityReportLatencyInfo] - """ - - _attribute_map = { - 'provider': {'key': 'provider', 'type': 'str'}, - 'azure_location': {'key': 'azureLocation', 'type': 'str'}, - 'latencies': {'key': 'latencies', 'type': '[AzureReachabilityReportLatencyInfo]'}, - } - - def __init__(self, *, provider: str=None, azure_location: str=None, latencies=None, **kwargs) -> None: - super(AzureReachabilityReportItem, self).__init__(**kwargs) - self.provider = provider - self.azure_location = azure_location - self.latencies = latencies - - -class AzureReachabilityReportLatencyInfo(Model): - """Details on latency for a time series. - - :param time_stamp: The time stamp. - :type time_stamp: datetime - :param score: The relative latency score between 1 and 100, higher values - indicating a faster connection. - :type score: int - """ - - _validation = { - 'score': {'maximum': 100, 'minimum': 1}, - } - - _attribute_map = { - 'time_stamp': {'key': 'timeStamp', 'type': 'iso-8601'}, - 'score': {'key': 'score', 'type': 'int'}, - } - - def __init__(self, *, time_stamp=None, score: int=None, **kwargs) -> None: - super(AzureReachabilityReportLatencyInfo, self).__init__(**kwargs) - self.time_stamp = time_stamp - self.score = score - - -class AzureReachabilityReportLocation(Model): - """Parameters that define a geographic location. - - All required parameters must be populated in order to send to Azure. - - :param country: Required. The name of the country. - :type country: str - :param state: The name of the state. - :type state: str - :param city: The name of the city or town. - :type city: str - """ - - _validation = { - 'country': {'required': True}, - } - - _attribute_map = { - 'country': {'key': 'country', 'type': 'str'}, - 'state': {'key': 'state', 'type': 'str'}, - 'city': {'key': 'city', 'type': 'str'}, - } - - def __init__(self, *, country: str, state: str=None, city: str=None, **kwargs) -> None: - super(AzureReachabilityReportLocation, self).__init__(**kwargs) - self.country = country - self.state = state - self.city = city - - -class AzureReachabilityReportParameters(Model): - """Geographic and time constraints for Azure reachability report. - - All required parameters must be populated in order to send to Azure. - - :param provider_location: Required. Parameters that define a geographic - location. - :type provider_location: - ~azure.mgmt.network.v2019_09_01.models.AzureReachabilityReportLocation - :param providers: List of Internet service providers. - :type providers: list[str] - :param azure_locations: Optional Azure regions to scope the query to. - :type azure_locations: list[str] - :param start_time: Required. The start time for the Azure reachability - report. - :type start_time: datetime - :param end_time: Required. The end time for the Azure reachability report. - :type end_time: datetime - """ - - _validation = { - 'provider_location': {'required': True}, - 'start_time': {'required': True}, - 'end_time': {'required': True}, - } - - _attribute_map = { - 'provider_location': {'key': 'providerLocation', 'type': 'AzureReachabilityReportLocation'}, - 'providers': {'key': 'providers', 'type': '[str]'}, - 'azure_locations': {'key': 'azureLocations', 'type': '[str]'}, - 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, - 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, - } - - def __init__(self, *, provider_location, start_time, end_time, providers=None, azure_locations=None, **kwargs) -> None: - super(AzureReachabilityReportParameters, self).__init__(**kwargs) - self.provider_location = provider_location - self.providers = providers - self.azure_locations = azure_locations - self.start_time = start_time - self.end_time = end_time - - -class BackendAddressPool(SubResource): - """Pool of backend IP addresses. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar backend_ip_configurations: An array of references to IP addresses - defined in network interfaces. - :vartype backend_ip_configurations: - list[~azure.mgmt.network.v2019_09_01.models.NetworkInterfaceIPConfiguration] - :ivar load_balancing_rules: An array of references to load balancing rules - that use this backend address pool. - :vartype load_balancing_rules: - list[~azure.mgmt.network.v2019_09_01.models.SubResource] - :ivar outbound_rule: A reference to an outbound rule that uses this - backend address pool. - :vartype outbound_rule: ~azure.mgmt.network.v2019_09_01.models.SubResource - :ivar outbound_rules: An array of references to outbound rules that use - this backend address pool. - :vartype outbound_rules: - list[~azure.mgmt.network.v2019_09_01.models.SubResource] - :ivar provisioning_state: The provisioning state of the backend address - pool resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param name: The name of the resource that is unique within the set of - backend address pools used by the load balancer. This name can be used to - access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :ivar type: Type of the resource. - :vartype type: str - """ - - _validation = { - 'backend_ip_configurations': {'readonly': True}, - 'load_balancing_rules': {'readonly': True}, - 'outbound_rule': {'readonly': True}, - 'outbound_rules': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'backend_ip_configurations': {'key': 'properties.backendIPConfigurations', 'type': '[NetworkInterfaceIPConfiguration]'}, - 'load_balancing_rules': {'key': 'properties.loadBalancingRules', 'type': '[SubResource]'}, - 'outbound_rule': {'key': 'properties.outboundRule', 'type': 'SubResource'}, - 'outbound_rules': {'key': 'properties.outboundRules', 'type': '[SubResource]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, name: str=None, **kwargs) -> None: - super(BackendAddressPool, self).__init__(id=id, **kwargs) - self.backend_ip_configurations = None - self.load_balancing_rules = None - self.outbound_rule = None - self.outbound_rules = None - self.provisioning_state = None - self.name = name - self.etag = None - self.type = None - - -class BastionHost(Resource): - """Bastion Host resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param ip_configurations: IP configuration of the Bastion Host resource. - :type ip_configurations: - list[~azure.mgmt.network.v2019_09_01.models.BastionHostIPConfiguration] - :param dns_name: FQDN for the endpoint on which bastion host is - accessible. - :type dns_name: str - :ivar provisioning_state: The provisioning state of the bastion host - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[BastionHostIPConfiguration]'}, - 'dns_name': {'key': 'properties.dnsName', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, ip_configurations=None, dns_name: str=None, **kwargs) -> None: - super(BastionHost, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.ip_configurations = ip_configurations - self.dns_name = dns_name - self.provisioning_state = None - self.etag = None - - -class BastionHostIPConfiguration(SubResource): - """IP configuration of an Bastion Host. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :param subnet: Required. Reference of the subnet resource. - :type subnet: ~azure.mgmt.network.v2019_09_01.models.SubResource - :param public_ip_address: Required. Reference of the PublicIP resource. - :type public_ip_address: - ~azure.mgmt.network.v2019_09_01.models.SubResource - :ivar provisioning_state: The provisioning state of the bastion host IP - configuration resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param private_ip_allocation_method: Private IP allocation method. - Possible values include: 'Static', 'Dynamic' - :type private_ip_allocation_method: str or - ~azure.mgmt.network.v2019_09_01.models.IPAllocationMethod - :param name: Name of the resource that is unique within a resource group. - This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :ivar type: Ip configuration type. - :vartype type: str - """ - - _validation = { - 'subnet': {'required': True}, - 'public_ip_address': {'required': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, - 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'SubResource'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, subnet, public_ip_address, id: str=None, private_ip_allocation_method=None, name: str=None, **kwargs) -> None: - super(BastionHostIPConfiguration, self).__init__(id=id, **kwargs) - self.subnet = subnet - self.public_ip_address = public_ip_address - self.provisioning_state = None - self.private_ip_allocation_method = private_ip_allocation_method - self.name = name - self.etag = None - self.type = None - - -class BGPCommunity(Model): - """Contains bgp community information offered in Service Community resources. - - :param service_supported_region: The region which the service support. - e.g. For O365, region is Global. - :type service_supported_region: str - :param community_name: The name of the bgp community. e.g. Skype. - :type community_name: str - :param community_value: The value of the bgp community. For more - information: - https://docs.microsoft.com/en-us/azure/expressroute/expressroute-routing. - :type community_value: str - :param community_prefixes: The prefixes that the bgp community contains. - :type community_prefixes: list[str] - :param is_authorized_to_use: Customer is authorized to use bgp community - or not. - :type is_authorized_to_use: bool - :param service_group: The service group of the bgp community contains. - :type service_group: str - """ - - _attribute_map = { - 'service_supported_region': {'key': 'serviceSupportedRegion', 'type': 'str'}, - 'community_name': {'key': 'communityName', 'type': 'str'}, - 'community_value': {'key': 'communityValue', 'type': 'str'}, - 'community_prefixes': {'key': 'communityPrefixes', 'type': '[str]'}, - 'is_authorized_to_use': {'key': 'isAuthorizedToUse', 'type': 'bool'}, - 'service_group': {'key': 'serviceGroup', 'type': 'str'}, - } - - def __init__(self, *, service_supported_region: str=None, community_name: str=None, community_value: str=None, community_prefixes=None, is_authorized_to_use: bool=None, service_group: str=None, **kwargs) -> None: - super(BGPCommunity, self).__init__(**kwargs) - self.service_supported_region = service_supported_region - self.community_name = community_name - self.community_value = community_value - self.community_prefixes = community_prefixes - self.is_authorized_to_use = is_authorized_to_use - self.service_group = service_group - - -class BgpPeerStatus(Model): - """BGP peer status details. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar local_address: The virtual network gateway's local address. - :vartype local_address: str - :ivar neighbor: The remote BGP peer. - :vartype neighbor: str - :ivar asn: The autonomous system number of the remote BGP peer. - :vartype asn: int - :ivar state: The BGP peer state. Possible values include: 'Unknown', - 'Stopped', 'Idle', 'Connecting', 'Connected' - :vartype state: str or ~azure.mgmt.network.v2019_09_01.models.BgpPeerState - :ivar connected_duration: For how long the peering has been up. - :vartype connected_duration: str - :ivar routes_received: The number of routes learned from this peer. - :vartype routes_received: long - :ivar messages_sent: The number of BGP messages sent. - :vartype messages_sent: long - :ivar messages_received: The number of BGP messages received. - :vartype messages_received: long - """ - - _validation = { - 'local_address': {'readonly': True}, - 'neighbor': {'readonly': True}, - 'asn': {'readonly': True}, - 'state': {'readonly': True}, - 'connected_duration': {'readonly': True}, - 'routes_received': {'readonly': True}, - 'messages_sent': {'readonly': True}, - 'messages_received': {'readonly': True}, - } - - _attribute_map = { - 'local_address': {'key': 'localAddress', 'type': 'str'}, - 'neighbor': {'key': 'neighbor', 'type': 'str'}, - 'asn': {'key': 'asn', 'type': 'int'}, - 'state': {'key': 'state', 'type': 'str'}, - 'connected_duration': {'key': 'connectedDuration', 'type': 'str'}, - 'routes_received': {'key': 'routesReceived', 'type': 'long'}, - 'messages_sent': {'key': 'messagesSent', 'type': 'long'}, - 'messages_received': {'key': 'messagesReceived', 'type': 'long'}, - } - - def __init__(self, **kwargs) -> None: - super(BgpPeerStatus, self).__init__(**kwargs) - self.local_address = None - self.neighbor = None - self.asn = None - self.state = None - self.connected_duration = None - self.routes_received = None - self.messages_sent = None - self.messages_received = None - - -class BgpPeerStatusListResult(Model): - """Response for list BGP peer status API service call. - - :param value: List of BGP peers. - :type value: list[~azure.mgmt.network.v2019_09_01.models.BgpPeerStatus] - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[BgpPeerStatus]'}, - } - - def __init__(self, *, value=None, **kwargs) -> None: - super(BgpPeerStatusListResult, self).__init__(**kwargs) - self.value = value - - -class BgpServiceCommunity(Resource): - """Service Community Properties. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param service_name: The name of the bgp community. e.g. Skype. - :type service_name: str - :param bgp_communities: A list of bgp communities. - :type bgp_communities: - list[~azure.mgmt.network.v2019_09_01.models.BGPCommunity] - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'service_name': {'key': 'properties.serviceName', 'type': 'str'}, - 'bgp_communities': {'key': 'properties.bgpCommunities', 'type': '[BGPCommunity]'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, service_name: str=None, bgp_communities=None, **kwargs) -> None: - super(BgpServiceCommunity, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.service_name = service_name - self.bgp_communities = bgp_communities - - -class BgpSettings(Model): - """BGP settings details. - - :param asn: The BGP speaker's ASN. - :type asn: long - :param bgp_peering_address: The BGP peering address and BGP identifier of - this BGP speaker. - :type bgp_peering_address: str - :param peer_weight: The weight added to routes learned from this BGP - speaker. - :type peer_weight: int - """ - - _attribute_map = { - 'asn': {'key': 'asn', 'type': 'long'}, - 'bgp_peering_address': {'key': 'bgpPeeringAddress', 'type': 'str'}, - 'peer_weight': {'key': 'peerWeight', 'type': 'int'}, - } - - def __init__(self, *, asn: int=None, bgp_peering_address: str=None, peer_weight: int=None, **kwargs) -> None: - super(BgpSettings, self).__init__(**kwargs) - self.asn = asn - self.bgp_peering_address = bgp_peering_address - self.peer_weight = peer_weight - - -class CheckPrivateLinkServiceVisibilityRequest(Model): - """Request body of the CheckPrivateLinkServiceVisibility API service call. - - :param private_link_service_alias: The alias of the private link service. - :type private_link_service_alias: str - """ - - _attribute_map = { - 'private_link_service_alias': {'key': 'privateLinkServiceAlias', 'type': 'str'}, - } - - def __init__(self, *, private_link_service_alias: str=None, **kwargs) -> None: - super(CheckPrivateLinkServiceVisibilityRequest, self).__init__(**kwargs) - self.private_link_service_alias = private_link_service_alias - - -class CloudError(Model): - """An error response from the Batch service. - - :param error: Cloud error body. - :type error: ~azure.mgmt.network.v2019_09_01.models.CloudErrorBody - """ - - _attribute_map = { - 'error': {'key': 'error', 'type': 'CloudErrorBody'}, - } - - def __init__(self, *, error=None, **kwargs) -> None: - super(CloudError, self).__init__(**kwargs) - self.error = error - - -class CloudErrorException(HttpOperationError): - """Server responsed with exception of type: 'CloudError'. - - :param deserialize: A deserializer - :param response: Server response to be deserialized. - """ - - def __init__(self, deserialize, response, *args): - - super(CloudErrorException, self).__init__(deserialize, response, 'CloudError', *args) - - -class CloudErrorBody(Model): - """An error response from the Batch service. - - :param code: An identifier for the error. Codes are invariant and are - intended to be consumed programmatically. - :type code: str - :param message: A message describing the error, intended to be suitable - for display in a user interface. - :type message: str - :param target: The target of the particular error. For example, the name - of the property in error. - :type target: str - :param details: A list of additional details about the error. - :type details: list[~azure.mgmt.network.v2019_09_01.models.CloudErrorBody] - """ - - _attribute_map = { - 'code': {'key': 'code', 'type': 'str'}, - 'message': {'key': 'message', 'type': 'str'}, - 'target': {'key': 'target', 'type': 'str'}, - 'details': {'key': 'details', 'type': '[CloudErrorBody]'}, - } - - def __init__(self, *, code: str=None, message: str=None, target: str=None, details=None, **kwargs) -> None: - super(CloudErrorBody, self).__init__(**kwargs) - self.code = code - self.message = message - self.target = target - self.details = details - - -class ConnectionMonitor(Model): - """Parameters that define the operation to create a connection monitor. - - All required parameters must be populated in order to send to Azure. - - :param location: Connection monitor location. - :type location: str - :param tags: Connection monitor tags. - :type tags: dict[str, str] - :param source: Required. Describes the source of connection monitor. - :type source: - ~azure.mgmt.network.v2019_09_01.models.ConnectionMonitorSource - :param destination: Required. Describes the destination of connection - monitor. - :type destination: - ~azure.mgmt.network.v2019_09_01.models.ConnectionMonitorDestination - :param auto_start: Determines if the connection monitor will start - automatically once created. Default value: True . - :type auto_start: bool - :param monitoring_interval_in_seconds: Monitoring interval in seconds. - Default value: 60 . - :type monitoring_interval_in_seconds: int - """ - - _validation = { - 'source': {'required': True}, - 'destination': {'required': True}, - } - - _attribute_map = { - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'source': {'key': 'properties.source', 'type': 'ConnectionMonitorSource'}, - 'destination': {'key': 'properties.destination', 'type': 'ConnectionMonitorDestination'}, - 'auto_start': {'key': 'properties.autoStart', 'type': 'bool'}, - 'monitoring_interval_in_seconds': {'key': 'properties.monitoringIntervalInSeconds', 'type': 'int'}, - } - - def __init__(self, *, source, destination, location: str=None, tags=None, auto_start: bool=True, monitoring_interval_in_seconds: int=60, **kwargs) -> None: - super(ConnectionMonitor, self).__init__(**kwargs) - self.location = location - self.tags = tags - self.source = source - self.destination = destination - self.auto_start = auto_start - self.monitoring_interval_in_seconds = monitoring_interval_in_seconds - - -class ConnectionMonitorDestination(Model): - """Describes the destination of connection monitor. - - :param resource_id: The ID of the resource used as the destination by - connection monitor. - :type resource_id: str - :param address: Address of the connection monitor destination (IP or - domain name). - :type address: str - :param port: The destination port used by connection monitor. - :type port: int - """ - - _attribute_map = { - 'resource_id': {'key': 'resourceId', 'type': 'str'}, - 'address': {'key': 'address', 'type': 'str'}, - 'port': {'key': 'port', 'type': 'int'}, - } - - def __init__(self, *, resource_id: str=None, address: str=None, port: int=None, **kwargs) -> None: - super(ConnectionMonitorDestination, self).__init__(**kwargs) - self.resource_id = resource_id - self.address = address - self.port = port - - -class ConnectionMonitorParameters(Model): - """Parameters that define the operation to create a connection monitor. - - All required parameters must be populated in order to send to Azure. - - :param source: Required. Describes the source of connection monitor. - :type source: - ~azure.mgmt.network.v2019_09_01.models.ConnectionMonitorSource - :param destination: Required. Describes the destination of connection - monitor. - :type destination: - ~azure.mgmt.network.v2019_09_01.models.ConnectionMonitorDestination - :param auto_start: Determines if the connection monitor will start - automatically once created. Default value: True . - :type auto_start: bool - :param monitoring_interval_in_seconds: Monitoring interval in seconds. - Default value: 60 . - :type monitoring_interval_in_seconds: int - """ - - _validation = { - 'source': {'required': True}, - 'destination': {'required': True}, - } - - _attribute_map = { - 'source': {'key': 'source', 'type': 'ConnectionMonitorSource'}, - 'destination': {'key': 'destination', 'type': 'ConnectionMonitorDestination'}, - 'auto_start': {'key': 'autoStart', 'type': 'bool'}, - 'monitoring_interval_in_seconds': {'key': 'monitoringIntervalInSeconds', 'type': 'int'}, - } - - def __init__(self, *, source, destination, auto_start: bool=True, monitoring_interval_in_seconds: int=60, **kwargs) -> None: - super(ConnectionMonitorParameters, self).__init__(**kwargs) - self.source = source - self.destination = destination - self.auto_start = auto_start - self.monitoring_interval_in_seconds = monitoring_interval_in_seconds - - -class ConnectionMonitorQueryResult(Model): - """List of connection states snapshots. - - :param source_status: Status of connection monitor source. Possible values - include: 'Unknown', 'Active', 'Inactive' - :type source_status: str or - ~azure.mgmt.network.v2019_09_01.models.ConnectionMonitorSourceStatus - :param states: Information about connection states. - :type states: - list[~azure.mgmt.network.v2019_09_01.models.ConnectionStateSnapshot] - """ - - _attribute_map = { - 'source_status': {'key': 'sourceStatus', 'type': 'str'}, - 'states': {'key': 'states', 'type': '[ConnectionStateSnapshot]'}, - } - - def __init__(self, *, source_status=None, states=None, **kwargs) -> None: - super(ConnectionMonitorQueryResult, self).__init__(**kwargs) - self.source_status = source_status - self.states = states - - -class ConnectionMonitorResult(Model): - """Information about the connection monitor. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :ivar name: Name of the connection monitor. - :vartype name: str - :ivar id: ID of the connection monitor. - :vartype id: str - :param etag: A unique read-only string that changes whenever the resource - is updated. Default value: "A unique read-only string that changes - whenever the resource is updated." . - :type etag: str - :ivar type: Connection monitor type. - :vartype type: str - :param location: Connection monitor location. - :type location: str - :param tags: Connection monitor tags. - :type tags: dict[str, str] - :param source: Required. Describes the source of connection monitor. - :type source: - ~azure.mgmt.network.v2019_09_01.models.ConnectionMonitorSource - :param destination: Required. Describes the destination of connection - monitor. - :type destination: - ~azure.mgmt.network.v2019_09_01.models.ConnectionMonitorDestination - :param auto_start: Determines if the connection monitor will start - automatically once created. Default value: True . - :type auto_start: bool - :param monitoring_interval_in_seconds: Monitoring interval in seconds. - Default value: 60 . - :type monitoring_interval_in_seconds: int - :param provisioning_state: The provisioning state of the connection - monitor. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :type provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param start_time: The date and time when the connection monitor was - started. - :type start_time: datetime - :param monitoring_status: The monitoring status of the connection monitor. - :type monitoring_status: str - """ - - _validation = { - 'name': {'readonly': True}, - 'id': {'readonly': True}, - 'type': {'readonly': True}, - 'source': {'required': True}, - 'destination': {'required': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'id': {'key': 'id', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'source': {'key': 'properties.source', 'type': 'ConnectionMonitorSource'}, - 'destination': {'key': 'properties.destination', 'type': 'ConnectionMonitorDestination'}, - 'auto_start': {'key': 'properties.autoStart', 'type': 'bool'}, - 'monitoring_interval_in_seconds': {'key': 'properties.monitoringIntervalInSeconds', 'type': 'int'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'start_time': {'key': 'properties.startTime', 'type': 'iso-8601'}, - 'monitoring_status': {'key': 'properties.monitoringStatus', 'type': 'str'}, - } - - def __init__(self, *, source, destination, etag: str="A unique read-only string that changes whenever the resource is updated.", location: str=None, tags=None, auto_start: bool=True, monitoring_interval_in_seconds: int=60, provisioning_state=None, start_time=None, monitoring_status: str=None, **kwargs) -> None: - super(ConnectionMonitorResult, self).__init__(**kwargs) - self.name = None - self.id = None - self.etag = etag - self.type = None - self.location = location - self.tags = tags - self.source = source - self.destination = destination - self.auto_start = auto_start - self.monitoring_interval_in_seconds = monitoring_interval_in_seconds - self.provisioning_state = provisioning_state - self.start_time = start_time - self.monitoring_status = monitoring_status - - -class ConnectionMonitorSource(Model): - """Describes the source of connection monitor. - - All required parameters must be populated in order to send to Azure. - - :param resource_id: Required. The ID of the resource used as the source by - connection monitor. - :type resource_id: str - :param port: The source port used by connection monitor. - :type port: int - """ - - _validation = { - 'resource_id': {'required': True}, - } - - _attribute_map = { - 'resource_id': {'key': 'resourceId', 'type': 'str'}, - 'port': {'key': 'port', 'type': 'int'}, - } - - def __init__(self, *, resource_id: str, port: int=None, **kwargs) -> None: - super(ConnectionMonitorSource, self).__init__(**kwargs) - self.resource_id = resource_id - self.port = port - - -class ConnectionResetSharedKey(Model): - """The virtual network connection reset shared key. - - All required parameters must be populated in order to send to Azure. - - :param key_length: Required. The virtual network connection reset shared - key length, should between 1 and 128. - :type key_length: int - """ - - _validation = { - 'key_length': {'required': True, 'maximum': 128, 'minimum': 1}, - } - - _attribute_map = { - 'key_length': {'key': 'keyLength', 'type': 'int'}, - } - - def __init__(self, *, key_length: int, **kwargs) -> None: - super(ConnectionResetSharedKey, self).__init__(**kwargs) - self.key_length = key_length - - -class ConnectionSharedKey(SubResource): - """Response for GetConnectionSharedKey API service call. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :param value: Required. The virtual network connection shared key value. - :type value: str - """ - - _validation = { - 'value': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'value': {'key': 'value', 'type': 'str'}, - } - - def __init__(self, *, value: str, id: str=None, **kwargs) -> None: - super(ConnectionSharedKey, self).__init__(id=id, **kwargs) - self.value = value - - -class ConnectionStateSnapshot(Model): - """Connection state snapshot. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param connection_state: The connection state. Possible values include: - 'Reachable', 'Unreachable', 'Unknown' - :type connection_state: str or - ~azure.mgmt.network.v2019_09_01.models.ConnectionState - :param start_time: The start time of the connection snapshot. - :type start_time: datetime - :param end_time: The end time of the connection snapshot. - :type end_time: datetime - :param evaluation_state: Connectivity analysis evaluation state. Possible - values include: 'NotStarted', 'InProgress', 'Completed' - :type evaluation_state: str or - ~azure.mgmt.network.v2019_09_01.models.EvaluationState - :param avg_latency_in_ms: Average latency in ms. - :type avg_latency_in_ms: int - :param min_latency_in_ms: Minimum latency in ms. - :type min_latency_in_ms: int - :param max_latency_in_ms: Maximum latency in ms. - :type max_latency_in_ms: int - :param probes_sent: The number of sent probes. - :type probes_sent: int - :param probes_failed: The number of failed probes. - :type probes_failed: int - :ivar hops: List of hops between the source and the destination. - :vartype hops: - list[~azure.mgmt.network.v2019_09_01.models.ConnectivityHop] - """ - - _validation = { - 'hops': {'readonly': True}, - } - - _attribute_map = { - 'connection_state': {'key': 'connectionState', 'type': 'str'}, - 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, - 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, - 'evaluation_state': {'key': 'evaluationState', 'type': 'str'}, - 'avg_latency_in_ms': {'key': 'avgLatencyInMs', 'type': 'int'}, - 'min_latency_in_ms': {'key': 'minLatencyInMs', 'type': 'int'}, - 'max_latency_in_ms': {'key': 'maxLatencyInMs', 'type': 'int'}, - 'probes_sent': {'key': 'probesSent', 'type': 'int'}, - 'probes_failed': {'key': 'probesFailed', 'type': 'int'}, - 'hops': {'key': 'hops', 'type': '[ConnectivityHop]'}, - } - - def __init__(self, *, connection_state=None, start_time=None, end_time=None, evaluation_state=None, avg_latency_in_ms: int=None, min_latency_in_ms: int=None, max_latency_in_ms: int=None, probes_sent: int=None, probes_failed: int=None, **kwargs) -> None: - super(ConnectionStateSnapshot, self).__init__(**kwargs) - self.connection_state = connection_state - self.start_time = start_time - self.end_time = end_time - self.evaluation_state = evaluation_state - self.avg_latency_in_ms = avg_latency_in_ms - self.min_latency_in_ms = min_latency_in_ms - self.max_latency_in_ms = max_latency_in_ms - self.probes_sent = probes_sent - self.probes_failed = probes_failed - self.hops = None - - -class ConnectivityDestination(Model): - """Parameters that define destination of connection. - - :param resource_id: The ID of the resource to which a connection attempt - will be made. - :type resource_id: str - :param address: The IP address or URI the resource to which a connection - attempt will be made. - :type address: str - :param port: Port on which check connectivity will be performed. - :type port: int - """ - - _attribute_map = { - 'resource_id': {'key': 'resourceId', 'type': 'str'}, - 'address': {'key': 'address', 'type': 'str'}, - 'port': {'key': 'port', 'type': 'int'}, - } - - def __init__(self, *, resource_id: str=None, address: str=None, port: int=None, **kwargs) -> None: - super(ConnectivityDestination, self).__init__(**kwargs) - self.resource_id = resource_id - self.address = address - self.port = port - - -class ConnectivityHop(Model): - """Information about a hop between the source and the destination. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar type: The type of the hop. - :vartype type: str - :ivar id: The ID of the hop. - :vartype id: str - :ivar address: The IP address of the hop. - :vartype address: str - :ivar resource_id: The ID of the resource corresponding to this hop. - :vartype resource_id: str - :ivar next_hop_ids: List of next hop identifiers. - :vartype next_hop_ids: list[str] - :ivar issues: List of issues. - :vartype issues: - list[~azure.mgmt.network.v2019_09_01.models.ConnectivityIssue] - """ - - _validation = { - 'type': {'readonly': True}, - 'id': {'readonly': True}, - 'address': {'readonly': True}, - 'resource_id': {'readonly': True}, - 'next_hop_ids': {'readonly': True}, - 'issues': {'readonly': True}, - } - - _attribute_map = { - 'type': {'key': 'type', 'type': 'str'}, - 'id': {'key': 'id', 'type': 'str'}, - 'address': {'key': 'address', 'type': 'str'}, - 'resource_id': {'key': 'resourceId', 'type': 'str'}, - 'next_hop_ids': {'key': 'nextHopIds', 'type': '[str]'}, - 'issues': {'key': 'issues', 'type': '[ConnectivityIssue]'}, - } - - def __init__(self, **kwargs) -> None: - super(ConnectivityHop, self).__init__(**kwargs) - self.type = None - self.id = None - self.address = None - self.resource_id = None - self.next_hop_ids = None - self.issues = None - - -class ConnectivityInformation(Model): - """Information on the connectivity status. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar hops: List of hops between the source and the destination. - :vartype hops: - list[~azure.mgmt.network.v2019_09_01.models.ConnectivityHop] - :ivar connection_status: The connection status. Possible values include: - 'Unknown', 'Connected', 'Disconnected', 'Degraded' - :vartype connection_status: str or - ~azure.mgmt.network.v2019_09_01.models.ConnectionStatus - :ivar avg_latency_in_ms: Average latency in milliseconds. - :vartype avg_latency_in_ms: int - :ivar min_latency_in_ms: Minimum latency in milliseconds. - :vartype min_latency_in_ms: int - :ivar max_latency_in_ms: Maximum latency in milliseconds. - :vartype max_latency_in_ms: int - :ivar probes_sent: Total number of probes sent. - :vartype probes_sent: int - :ivar probes_failed: Number of failed probes. - :vartype probes_failed: int - """ - - _validation = { - 'hops': {'readonly': True}, - 'connection_status': {'readonly': True}, - 'avg_latency_in_ms': {'readonly': True}, - 'min_latency_in_ms': {'readonly': True}, - 'max_latency_in_ms': {'readonly': True}, - 'probes_sent': {'readonly': True}, - 'probes_failed': {'readonly': True}, - } - - _attribute_map = { - 'hops': {'key': 'hops', 'type': '[ConnectivityHop]'}, - 'connection_status': {'key': 'connectionStatus', 'type': 'str'}, - 'avg_latency_in_ms': {'key': 'avgLatencyInMs', 'type': 'int'}, - 'min_latency_in_ms': {'key': 'minLatencyInMs', 'type': 'int'}, - 'max_latency_in_ms': {'key': 'maxLatencyInMs', 'type': 'int'}, - 'probes_sent': {'key': 'probesSent', 'type': 'int'}, - 'probes_failed': {'key': 'probesFailed', 'type': 'int'}, - } - - def __init__(self, **kwargs) -> None: - super(ConnectivityInformation, self).__init__(**kwargs) - self.hops = None - self.connection_status = None - self.avg_latency_in_ms = None - self.min_latency_in_ms = None - self.max_latency_in_ms = None - self.probes_sent = None - self.probes_failed = None - - -class ConnectivityIssue(Model): - """Information about an issue encountered in the process of checking for - connectivity. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar origin: The origin of the issue. Possible values include: 'Local', - 'Inbound', 'Outbound' - :vartype origin: str or ~azure.mgmt.network.v2019_09_01.models.Origin - :ivar severity: The severity of the issue. Possible values include: - 'Error', 'Warning' - :vartype severity: str or ~azure.mgmt.network.v2019_09_01.models.Severity - :ivar type: The type of issue. Possible values include: 'Unknown', - 'AgentStopped', 'GuestFirewall', 'DnsResolution', 'SocketBind', - 'NetworkSecurityRule', 'UserDefinedRoute', 'PortThrottled', 'Platform' - :vartype type: str or ~azure.mgmt.network.v2019_09_01.models.IssueType - :ivar context: Provides additional context on the issue. - :vartype context: list[dict[str, str]] - """ - - _validation = { - 'origin': {'readonly': True}, - 'severity': {'readonly': True}, - 'type': {'readonly': True}, - 'context': {'readonly': True}, - } - - _attribute_map = { - 'origin': {'key': 'origin', 'type': 'str'}, - 'severity': {'key': 'severity', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'context': {'key': 'context', 'type': '[{str}]'}, - } - - def __init__(self, **kwargs) -> None: - super(ConnectivityIssue, self).__init__(**kwargs) - self.origin = None - self.severity = None - self.type = None - self.context = None - - -class ConnectivityParameters(Model): - """Parameters that determine how the connectivity check will be performed. - - All required parameters must be populated in order to send to Azure. - - :param source: Required. Describes the source of the connection. - :type source: ~azure.mgmt.network.v2019_09_01.models.ConnectivitySource - :param destination: Required. Describes the destination of connection. - :type destination: - ~azure.mgmt.network.v2019_09_01.models.ConnectivityDestination - :param protocol: Network protocol. Possible values include: 'Tcp', 'Http', - 'Https', 'Icmp' - :type protocol: str or ~azure.mgmt.network.v2019_09_01.models.Protocol - :param protocol_configuration: Configuration of the protocol. - :type protocol_configuration: - ~azure.mgmt.network.v2019_09_01.models.ProtocolConfiguration - """ - - _validation = { - 'source': {'required': True}, - 'destination': {'required': True}, - } - - _attribute_map = { - 'source': {'key': 'source', 'type': 'ConnectivitySource'}, - 'destination': {'key': 'destination', 'type': 'ConnectivityDestination'}, - 'protocol': {'key': 'protocol', 'type': 'str'}, - 'protocol_configuration': {'key': 'protocolConfiguration', 'type': 'ProtocolConfiguration'}, - } - - def __init__(self, *, source, destination, protocol=None, protocol_configuration=None, **kwargs) -> None: - super(ConnectivityParameters, self).__init__(**kwargs) - self.source = source - self.destination = destination - self.protocol = protocol - self.protocol_configuration = protocol_configuration - - -class ConnectivitySource(Model): - """Parameters that define the source of the connection. - - All required parameters must be populated in order to send to Azure. - - :param resource_id: Required. The ID of the resource from which a - connectivity check will be initiated. - :type resource_id: str - :param port: The source port from which a connectivity check will be - performed. - :type port: int - """ - - _validation = { - 'resource_id': {'required': True}, - } - - _attribute_map = { - 'resource_id': {'key': 'resourceId', 'type': 'str'}, - 'port': {'key': 'port', 'type': 'int'}, - } - - def __init__(self, *, resource_id: str, port: int=None, **kwargs) -> None: - super(ConnectivitySource, self).__init__(**kwargs) - self.resource_id = resource_id - self.port = port - - -class Container(SubResource): - """Reference to container resource in remote resource provider. - - :param id: Resource ID. - :type id: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, **kwargs) -> None: - super(Container, self).__init__(id=id, **kwargs) - - -class ContainerNetworkInterface(SubResource): - """Container network interface child resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar container_network_interface_configuration: Container network - interface configuration from which this container network interface is - created. - :vartype container_network_interface_configuration: - ~azure.mgmt.network.v2019_09_01.models.ContainerNetworkInterfaceConfiguration - :param container: Reference to the container to which this container - network interface is attached. - :type container: ~azure.mgmt.network.v2019_09_01.models.Container - :ivar ip_configurations: Reference to the ip configuration on this - container nic. - :vartype ip_configurations: - list[~azure.mgmt.network.v2019_09_01.models.ContainerNetworkInterfaceIpConfiguration] - :ivar provisioning_state: The provisioning state of the container network - interface resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param name: The name of the resource. This name can be used to access the - resource. - :type name: str - :ivar type: Sub Resource type. - :vartype type: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'container_network_interface_configuration': {'readonly': True}, - 'ip_configurations': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'type': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'container_network_interface_configuration': {'key': 'properties.containerNetworkInterfaceConfiguration', 'type': 'ContainerNetworkInterfaceConfiguration'}, - 'container': {'key': 'properties.container', 'type': 'Container'}, - 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[ContainerNetworkInterfaceIpConfiguration]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, container=None, name: str=None, **kwargs) -> None: - super(ContainerNetworkInterface, self).__init__(id=id, **kwargs) - self.container_network_interface_configuration = None - self.container = container - self.ip_configurations = None - self.provisioning_state = None - self.name = name - self.type = None - self.etag = None - - -class ContainerNetworkInterfaceConfiguration(SubResource): - """Container network interface configuration child resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param ip_configurations: A list of ip configurations of the container - network interface configuration. - :type ip_configurations: - list[~azure.mgmt.network.v2019_09_01.models.IPConfigurationProfile] - :param container_network_interfaces: A list of container network - interfaces created from this container network interface configuration. - :type container_network_interfaces: - list[~azure.mgmt.network.v2019_09_01.models.SubResource] - :ivar provisioning_state: The provisioning state of the container network - interface configuration resource. Possible values include: 'Succeeded', - 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param name: The name of the resource. This name can be used to access the - resource. - :type name: str - :ivar type: Sub Resource type. - :vartype type: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'type': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[IPConfigurationProfile]'}, - 'container_network_interfaces': {'key': 'properties.containerNetworkInterfaces', 'type': '[SubResource]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, ip_configurations=None, container_network_interfaces=None, name: str=None, **kwargs) -> None: - super(ContainerNetworkInterfaceConfiguration, self).__init__(id=id, **kwargs) - self.ip_configurations = ip_configurations - self.container_network_interfaces = container_network_interfaces - self.provisioning_state = None - self.name = name - self.type = None - self.etag = None - - -class ContainerNetworkInterfaceIpConfiguration(Model): - """The ip configuration for a container network interface. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar provisioning_state: The provisioning state of the container network - interface IP configuration resource. Possible values include: 'Succeeded', - 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param name: The name of the resource. This name can be used to access the - resource. - :type name: str - :ivar type: Sub Resource type. - :vartype type: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'type': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, name: str=None, **kwargs) -> None: - super(ContainerNetworkInterfaceIpConfiguration, self).__init__(**kwargs) - self.provisioning_state = None - self.name = name - self.type = None - self.etag = None - - -class DdosCustomPolicy(Resource): - """A DDoS custom policy in a resource group. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :ivar resource_guid: The resource GUID property of the DDoS custom policy - resource. It uniquely identifies the resource, even if the user changes - its name or migrate the resource across subscriptions or resource groups. - :vartype resource_guid: str - :ivar provisioning_state: The provisioning state of the DDoS custom policy - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :ivar public_ip_addresses: The list of public IPs associated with the DDoS - custom policy resource. This list is read-only. - :vartype public_ip_addresses: - list[~azure.mgmt.network.v2019_09_01.models.SubResource] - :param protocol_custom_settings: The protocol-specific DDoS policy - customization parameters. - :type protocol_custom_settings: - list[~azure.mgmt.network.v2019_09_01.models.ProtocolCustomSettingsFormat] - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'resource_guid': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'public_ip_addresses': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'public_ip_addresses': {'key': 'properties.publicIPAddresses', 'type': '[SubResource]'}, - 'protocol_custom_settings': {'key': 'properties.protocolCustomSettings', 'type': '[ProtocolCustomSettingsFormat]'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, protocol_custom_settings=None, **kwargs) -> None: - super(DdosCustomPolicy, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.resource_guid = None - self.provisioning_state = None - self.public_ip_addresses = None - self.protocol_custom_settings = protocol_custom_settings - self.etag = None - - -class DdosProtectionPlan(Model): - """A DDoS protection plan in a resource group. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar id: Resource ID. - :vartype id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :ivar resource_guid: The resource GUID property of the DDoS protection - plan resource. It uniquely identifies the resource, even if the user - changes its name or migrate the resource across subscriptions or resource - groups. - :vartype resource_guid: str - :ivar provisioning_state: The provisioning state of the DDoS protection - plan resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :ivar virtual_networks: The list of virtual networks associated with the - DDoS protection plan resource. This list is read-only. - :vartype virtual_networks: - list[~azure.mgmt.network.v2019_09_01.models.SubResource] - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'resource_guid': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'virtual_networks': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'virtual_networks': {'key': 'properties.virtualNetworks', 'type': '[SubResource]'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, location: str=None, tags=None, **kwargs) -> None: - super(DdosProtectionPlan, self).__init__(**kwargs) - self.id = None - self.name = None - self.type = None - self.location = location - self.tags = tags - self.resource_guid = None - self.provisioning_state = None - self.virtual_networks = None - self.etag = None - - -class DdosSettings(Model): - """Contains the DDoS protection settings of the public IP. - - :param ddos_custom_policy: The DDoS custom policy associated with the - public IP. - :type ddos_custom_policy: - ~azure.mgmt.network.v2019_09_01.models.SubResource - :param protection_coverage: The DDoS protection policy customizability of - the public IP. Only standard coverage will have the ability to be - customized. Possible values include: 'Basic', 'Standard' - :type protection_coverage: str or - ~azure.mgmt.network.v2019_09_01.models.DdosSettingsProtectionCoverage - """ - - _attribute_map = { - 'ddos_custom_policy': {'key': 'ddosCustomPolicy', 'type': 'SubResource'}, - 'protection_coverage': {'key': 'protectionCoverage', 'type': 'str'}, - } - - def __init__(self, *, ddos_custom_policy=None, protection_coverage=None, **kwargs) -> None: - super(DdosSettings, self).__init__(**kwargs) - self.ddos_custom_policy = ddos_custom_policy - self.protection_coverage = protection_coverage - - -class Delegation(SubResource): - """Details the service to which the subnet is delegated. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param service_name: The name of the service to whom the subnet should be - delegated (e.g. Microsoft.Sql/servers). - :type service_name: str - :ivar actions: Describes the actions permitted to the service upon - delegation. - :vartype actions: list[str] - :ivar provisioning_state: The provisioning state of the service delegation - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param name: The name of the resource that is unique within a subnet. This - name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'actions': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'service_name': {'key': 'properties.serviceName', 'type': 'str'}, - 'actions': {'key': 'properties.actions', 'type': '[str]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, service_name: str=None, name: str=None, **kwargs) -> None: - super(Delegation, self).__init__(id=id, **kwargs) - self.service_name = service_name - self.actions = None - self.provisioning_state = None - self.name = name - self.etag = None - - -class DeviceProperties(Model): - """List of properties of the device. - - :param device_vendor: Name of the device Vendor. - :type device_vendor: str - :param device_model: Model of the device. - :type device_model: str - :param link_speed_in_mbps: Link speed. - :type link_speed_in_mbps: int - """ - - _attribute_map = { - 'device_vendor': {'key': 'deviceVendor', 'type': 'str'}, - 'device_model': {'key': 'deviceModel', 'type': 'str'}, - 'link_speed_in_mbps': {'key': 'linkSpeedInMbps', 'type': 'int'}, - } - - def __init__(self, *, device_vendor: str=None, device_model: str=None, link_speed_in_mbps: int=None, **kwargs) -> None: - super(DeviceProperties, self).__init__(**kwargs) - self.device_vendor = device_vendor - self.device_model = device_model - self.link_speed_in_mbps = link_speed_in_mbps - - -class DhcpOptions(Model): - """DhcpOptions contains an array of DNS servers available to VMs deployed in - the virtual network. Standard DHCP option for a subnet overrides VNET DHCP - options. - - :param dns_servers: The list of DNS servers IP addresses. - :type dns_servers: list[str] - """ - - _attribute_map = { - 'dns_servers': {'key': 'dnsServers', 'type': '[str]'}, - } - - def __init__(self, *, dns_servers=None, **kwargs) -> None: - super(DhcpOptions, self).__init__(**kwargs) - self.dns_servers = dns_servers - - -class Dimension(Model): - """Dimension of the metric. - - :param name: The name of the dimension. - :type name: str - :param display_name: The display name of the dimension. - :type display_name: str - :param internal_name: The internal name of the dimension. - :type internal_name: str - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'display_name': {'key': 'displayName', 'type': 'str'}, - 'internal_name': {'key': 'internalName', 'type': 'str'}, - } - - def __init__(self, *, name: str=None, display_name: str=None, internal_name: str=None, **kwargs) -> None: - super(Dimension, self).__init__(**kwargs) - self.name = name - self.display_name = display_name - self.internal_name = internal_name - - -class DnsNameAvailabilityResult(Model): - """Response for the CheckDnsNameAvailability API service call. - - :param available: Domain availability (True/False). - :type available: bool - """ - - _attribute_map = { - 'available': {'key': 'available', 'type': 'bool'}, - } - - def __init__(self, *, available: bool=None, **kwargs) -> None: - super(DnsNameAvailabilityResult, self).__init__(**kwargs) - self.available = available - - -class EffectiveNetworkSecurityGroup(Model): - """Effective network security group. - - :param network_security_group: The ID of network security group that is - applied. - :type network_security_group: - ~azure.mgmt.network.v2019_09_01.models.SubResource - :param association: Associated resources. - :type association: - ~azure.mgmt.network.v2019_09_01.models.EffectiveNetworkSecurityGroupAssociation - :param effective_security_rules: A collection of effective security rules. - :type effective_security_rules: - list[~azure.mgmt.network.v2019_09_01.models.EffectiveNetworkSecurityRule] - :param tag_map: Mapping of tags to list of IP Addresses included within - the tag. - :type tag_map: dict[str, list[str]] - """ - - _attribute_map = { - 'network_security_group': {'key': 'networkSecurityGroup', 'type': 'SubResource'}, - 'association': {'key': 'association', 'type': 'EffectiveNetworkSecurityGroupAssociation'}, - 'effective_security_rules': {'key': 'effectiveSecurityRules', 'type': '[EffectiveNetworkSecurityRule]'}, - 'tag_map': {'key': 'tagMap', 'type': '{[str]}'}, - } - - def __init__(self, *, network_security_group=None, association=None, effective_security_rules=None, tag_map=None, **kwargs) -> None: - super(EffectiveNetworkSecurityGroup, self).__init__(**kwargs) - self.network_security_group = network_security_group - self.association = association - self.effective_security_rules = effective_security_rules - self.tag_map = tag_map - - -class EffectiveNetworkSecurityGroupAssociation(Model): - """The effective network security group association. - - :param subnet: The ID of the subnet if assigned. - :type subnet: ~azure.mgmt.network.v2019_09_01.models.SubResource - :param network_interface: The ID of the network interface if assigned. - :type network_interface: - ~azure.mgmt.network.v2019_09_01.models.SubResource - """ - - _attribute_map = { - 'subnet': {'key': 'subnet', 'type': 'SubResource'}, - 'network_interface': {'key': 'networkInterface', 'type': 'SubResource'}, - } - - def __init__(self, *, subnet=None, network_interface=None, **kwargs) -> None: - super(EffectiveNetworkSecurityGroupAssociation, self).__init__(**kwargs) - self.subnet = subnet - self.network_interface = network_interface - - -class EffectiveNetworkSecurityGroupListResult(Model): - """Response for list effective network security groups API service call. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param value: A list of effective network security groups. - :type value: - list[~azure.mgmt.network.v2019_09_01.models.EffectiveNetworkSecurityGroup] - :ivar next_link: The URL to get the next set of results. - :vartype next_link: str - """ - - _validation = { - 'next_link': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[EffectiveNetworkSecurityGroup]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__(self, *, value=None, **kwargs) -> None: - super(EffectiveNetworkSecurityGroupListResult, self).__init__(**kwargs) - self.value = value - self.next_link = None - - -class EffectiveNetworkSecurityRule(Model): - """Effective network security rules. - - :param name: The name of the security rule specified by the user (if - created by the user). - :type name: str - :param protocol: The network protocol this rule applies to. Possible - values include: 'Tcp', 'Udp', 'All' - :type protocol: str or - ~azure.mgmt.network.v2019_09_01.models.EffectiveSecurityRuleProtocol - :param source_port_range: The source port or range. - :type source_port_range: str - :param destination_port_range: The destination port or range. - :type destination_port_range: str - :param source_port_ranges: The source port ranges. Expected values include - a single integer between 0 and 65535, a range using '-' as separator (e.g. - 100-400), or an asterisk (*). - :type source_port_ranges: list[str] - :param destination_port_ranges: The destination port ranges. Expected - values include a single integer between 0 and 65535, a range using '-' as - separator (e.g. 100-400), or an asterisk (*). - :type destination_port_ranges: list[str] - :param source_address_prefix: The source address prefix. - :type source_address_prefix: str - :param destination_address_prefix: The destination address prefix. - :type destination_address_prefix: str - :param source_address_prefixes: The source address prefixes. Expected - values include CIDR IP ranges, Default Tags (VirtualNetwork, - AzureLoadBalancer, Internet), System Tags, and the asterisk (*). - :type source_address_prefixes: list[str] - :param destination_address_prefixes: The destination address prefixes. - Expected values include CIDR IP ranges, Default Tags (VirtualNetwork, - AzureLoadBalancer, Internet), System Tags, and the asterisk (*). - :type destination_address_prefixes: list[str] - :param expanded_source_address_prefix: The expanded source address prefix. - :type expanded_source_address_prefix: list[str] - :param expanded_destination_address_prefix: Expanded destination address - prefix. - :type expanded_destination_address_prefix: list[str] - :param access: Whether network traffic is allowed or denied. Possible - values include: 'Allow', 'Deny' - :type access: str or - ~azure.mgmt.network.v2019_09_01.models.SecurityRuleAccess - :param priority: The priority of the rule. - :type priority: int - :param direction: The direction of the rule. Possible values include: - 'Inbound', 'Outbound' - :type direction: str or - ~azure.mgmt.network.v2019_09_01.models.SecurityRuleDirection - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'protocol': {'key': 'protocol', 'type': 'str'}, - 'source_port_range': {'key': 'sourcePortRange', 'type': 'str'}, - 'destination_port_range': {'key': 'destinationPortRange', 'type': 'str'}, - 'source_port_ranges': {'key': 'sourcePortRanges', 'type': '[str]'}, - 'destination_port_ranges': {'key': 'destinationPortRanges', 'type': '[str]'}, - 'source_address_prefix': {'key': 'sourceAddressPrefix', 'type': 'str'}, - 'destination_address_prefix': {'key': 'destinationAddressPrefix', 'type': 'str'}, - 'source_address_prefixes': {'key': 'sourceAddressPrefixes', 'type': '[str]'}, - 'destination_address_prefixes': {'key': 'destinationAddressPrefixes', 'type': '[str]'}, - 'expanded_source_address_prefix': {'key': 'expandedSourceAddressPrefix', 'type': '[str]'}, - 'expanded_destination_address_prefix': {'key': 'expandedDestinationAddressPrefix', 'type': '[str]'}, - 'access': {'key': 'access', 'type': 'str'}, - 'priority': {'key': 'priority', 'type': 'int'}, - 'direction': {'key': 'direction', 'type': 'str'}, - } - - def __init__(self, *, name: str=None, protocol=None, source_port_range: str=None, destination_port_range: str=None, source_port_ranges=None, destination_port_ranges=None, source_address_prefix: str=None, destination_address_prefix: str=None, source_address_prefixes=None, destination_address_prefixes=None, expanded_source_address_prefix=None, expanded_destination_address_prefix=None, access=None, priority: int=None, direction=None, **kwargs) -> None: - super(EffectiveNetworkSecurityRule, self).__init__(**kwargs) - self.name = name - self.protocol = protocol - self.source_port_range = source_port_range - self.destination_port_range = destination_port_range - self.source_port_ranges = source_port_ranges - self.destination_port_ranges = destination_port_ranges - self.source_address_prefix = source_address_prefix - self.destination_address_prefix = destination_address_prefix - self.source_address_prefixes = source_address_prefixes - self.destination_address_prefixes = destination_address_prefixes - self.expanded_source_address_prefix = expanded_source_address_prefix - self.expanded_destination_address_prefix = expanded_destination_address_prefix - self.access = access - self.priority = priority - self.direction = direction - - -class EffectiveRoute(Model): - """Effective Route. - - :param name: The name of the user defined route. This is optional. - :type name: str - :param disable_bgp_route_propagation: If true, on-premises routes are not - propagated to the network interfaces in the subnet. - :type disable_bgp_route_propagation: bool - :param source: Who created the route. Possible values include: 'Unknown', - 'User', 'VirtualNetworkGateway', 'Default' - :type source: str or - ~azure.mgmt.network.v2019_09_01.models.EffectiveRouteSource - :param state: The value of effective route. Possible values include: - 'Active', 'Invalid' - :type state: str or - ~azure.mgmt.network.v2019_09_01.models.EffectiveRouteState - :param address_prefix: The address prefixes of the effective routes in - CIDR notation. - :type address_prefix: list[str] - :param next_hop_ip_address: The IP address of the next hop of the - effective route. - :type next_hop_ip_address: list[str] - :param next_hop_type: The type of Azure hop the packet should be sent to. - Possible values include: 'VirtualNetworkGateway', 'VnetLocal', 'Internet', - 'VirtualAppliance', 'None' - :type next_hop_type: str or - ~azure.mgmt.network.v2019_09_01.models.RouteNextHopType - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'disable_bgp_route_propagation': {'key': 'disableBgpRoutePropagation', 'type': 'bool'}, - 'source': {'key': 'source', 'type': 'str'}, - 'state': {'key': 'state', 'type': 'str'}, - 'address_prefix': {'key': 'addressPrefix', 'type': '[str]'}, - 'next_hop_ip_address': {'key': 'nextHopIpAddress', 'type': '[str]'}, - 'next_hop_type': {'key': 'nextHopType', 'type': 'str'}, - } - - def __init__(self, *, name: str=None, disable_bgp_route_propagation: bool=None, source=None, state=None, address_prefix=None, next_hop_ip_address=None, next_hop_type=None, **kwargs) -> None: - super(EffectiveRoute, self).__init__(**kwargs) - self.name = name - self.disable_bgp_route_propagation = disable_bgp_route_propagation - self.source = source - self.state = state - self.address_prefix = address_prefix - self.next_hop_ip_address = next_hop_ip_address - self.next_hop_type = next_hop_type - - -class EffectiveRouteListResult(Model): - """Response for list effective route API service call. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param value: A list of effective routes. - :type value: list[~azure.mgmt.network.v2019_09_01.models.EffectiveRoute] - :ivar next_link: The URL to get the next set of results. - :vartype next_link: str - """ - - _validation = { - 'next_link': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[EffectiveRoute]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__(self, *, value=None, **kwargs) -> None: - super(EffectiveRouteListResult, self).__init__(**kwargs) - self.value = value - self.next_link = None - - -class EndpointServiceResult(SubResource): - """Endpoint service. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Name of the endpoint service. - :vartype name: str - :ivar type: Type of the endpoint service. - :vartype type: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, **kwargs) -> None: - super(EndpointServiceResult, self).__init__(id=id, **kwargs) - self.name = None - self.type = None - - -class Error(Model): - """Common error representation. - - :param code: Error code. - :type code: str - :param message: Error message. - :type message: str - :param target: Error target. - :type target: str - :param details: Error details. - :type details: list[~azure.mgmt.network.v2019_09_01.models.ErrorDetails] - :param inner_error: Inner error message. - :type inner_error: str - """ - - _attribute_map = { - 'code': {'key': 'code', 'type': 'str'}, - 'message': {'key': 'message', 'type': 'str'}, - 'target': {'key': 'target', 'type': 'str'}, - 'details': {'key': 'details', 'type': '[ErrorDetails]'}, - 'inner_error': {'key': 'innerError', 'type': 'str'}, - } - - def __init__(self, *, code: str=None, message: str=None, target: str=None, details=None, inner_error: str=None, **kwargs) -> None: - super(Error, self).__init__(**kwargs) - self.code = code - self.message = message - self.target = target - self.details = details - self.inner_error = inner_error - - -class ErrorException(HttpOperationError): - """Server responsed with exception of type: 'Error'. - - :param deserialize: A deserializer - :param response: Server response to be deserialized. - """ - - def __init__(self, deserialize, response, *args): - - super(ErrorException, self).__init__(deserialize, response, 'Error', *args) - - -class ErrorDetails(Model): - """Common error details representation. - - :param code: Error code. - :type code: str - :param target: Error target. - :type target: str - :param message: Error message. - :type message: str - """ - - _attribute_map = { - 'code': {'key': 'code', 'type': 'str'}, - 'target': {'key': 'target', 'type': 'str'}, - 'message': {'key': 'message', 'type': 'str'}, - } - - def __init__(self, *, code: str=None, target: str=None, message: str=None, **kwargs) -> None: - super(ErrorDetails, self).__init__(**kwargs) - self.code = code - self.target = target - self.message = message - - -class ErrorResponse(Model): - """The error object. - - :param error: Error. The error details object. - :type error: ~azure.mgmt.network.v2019_09_01.models.ErrorDetails - """ - - _attribute_map = { - 'error': {'key': 'error', 'type': 'ErrorDetails'}, - } - - def __init__(self, *, error=None, **kwargs) -> None: - super(ErrorResponse, self).__init__(**kwargs) - self.error = error - - -class ErrorResponseException(HttpOperationError): - """Server responsed with exception of type: 'ErrorResponse'. - - :param deserialize: A deserializer - :param response: Server response to be deserialized. - """ - - def __init__(self, deserialize, response, *args): - - super(ErrorResponseException, self).__init__(deserialize, response, 'ErrorResponse', *args) - - -class EvaluatedNetworkSecurityGroup(Model): - """Results of network security group evaluation. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param network_security_group_id: Network security group ID. - :type network_security_group_id: str - :param applied_to: Resource ID of nic or subnet to which network security - group is applied. - :type applied_to: str - :param matched_rule: Matched network security rule. - :type matched_rule: ~azure.mgmt.network.v2019_09_01.models.MatchedRule - :ivar rules_evaluation_result: List of network security rules evaluation - results. - :vartype rules_evaluation_result: - list[~azure.mgmt.network.v2019_09_01.models.NetworkSecurityRulesEvaluationResult] - """ - - _validation = { - 'rules_evaluation_result': {'readonly': True}, - } - - _attribute_map = { - 'network_security_group_id': {'key': 'networkSecurityGroupId', 'type': 'str'}, - 'applied_to': {'key': 'appliedTo', 'type': 'str'}, - 'matched_rule': {'key': 'matchedRule', 'type': 'MatchedRule'}, - 'rules_evaluation_result': {'key': 'rulesEvaluationResult', 'type': '[NetworkSecurityRulesEvaluationResult]'}, - } - - def __init__(self, *, network_security_group_id: str=None, applied_to: str=None, matched_rule=None, **kwargs) -> None: - super(EvaluatedNetworkSecurityGroup, self).__init__(**kwargs) - self.network_security_group_id = network_security_group_id - self.applied_to = applied_to - self.matched_rule = matched_rule - self.rules_evaluation_result = None - - -class ExpressRouteCircuit(Resource): - """ExpressRouteCircuit resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param sku: The SKU. - :type sku: ~azure.mgmt.network.v2019_09_01.models.ExpressRouteCircuitSku - :param allow_classic_operations: Allow classic operations. - :type allow_classic_operations: bool - :ivar circuit_provisioning_state: The CircuitProvisioningState state of - the resource. - :vartype circuit_provisioning_state: str - :ivar service_provider_provisioning_state: The - ServiceProviderProvisioningState state of the resource. Possible values - include: 'NotProvisioned', 'Provisioning', 'Provisioned', 'Deprovisioning' - :vartype service_provider_provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ServiceProviderProvisioningState - :param authorizations: The list of authorizations. - :type authorizations: - list[~azure.mgmt.network.v2019_09_01.models.ExpressRouteCircuitAuthorization] - :param peerings: The list of peerings. - :type peerings: - list[~azure.mgmt.network.v2019_09_01.models.ExpressRouteCircuitPeering] - :ivar service_key: The ServiceKey. - :vartype service_key: str - :param service_provider_notes: The ServiceProviderNotes. - :type service_provider_notes: str - :param service_provider_properties: The ServiceProviderProperties. - :type service_provider_properties: - ~azure.mgmt.network.v2019_09_01.models.ExpressRouteCircuitServiceProviderProperties - :param express_route_port: The reference to the ExpressRoutePort resource - when the circuit is provisioned on an ExpressRoutePort resource. - :type express_route_port: - ~azure.mgmt.network.v2019_09_01.models.SubResource - :param bandwidth_in_gbps: The bandwidth of the circuit when the circuit is - provisioned on an ExpressRoutePort resource. - :type bandwidth_in_gbps: float - :ivar stag: The identifier of the circuit traffic. Outer tag for QinQ - encapsulation. - :vartype stag: int - :ivar provisioning_state: The provisioning state of the express route - circuit resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param gateway_manager_etag: The GatewayManager Etag. - :type gateway_manager_etag: str - :ivar global_reach_enabled: Flag denoting Global reach status. - :vartype global_reach_enabled: bool - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'circuit_provisioning_state': {'readonly': True}, - 'service_provider_provisioning_state': {'readonly': True}, - 'service_key': {'readonly': True}, - 'stag': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'global_reach_enabled': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'sku': {'key': 'sku', 'type': 'ExpressRouteCircuitSku'}, - 'allow_classic_operations': {'key': 'properties.allowClassicOperations', 'type': 'bool'}, - 'circuit_provisioning_state': {'key': 'properties.circuitProvisioningState', 'type': 'str'}, - 'service_provider_provisioning_state': {'key': 'properties.serviceProviderProvisioningState', 'type': 'str'}, - 'authorizations': {'key': 'properties.authorizations', 'type': '[ExpressRouteCircuitAuthorization]'}, - 'peerings': {'key': 'properties.peerings', 'type': '[ExpressRouteCircuitPeering]'}, - 'service_key': {'key': 'properties.serviceKey', 'type': 'str'}, - 'service_provider_notes': {'key': 'properties.serviceProviderNotes', 'type': 'str'}, - 'service_provider_properties': {'key': 'properties.serviceProviderProperties', 'type': 'ExpressRouteCircuitServiceProviderProperties'}, - 'express_route_port': {'key': 'properties.expressRoutePort', 'type': 'SubResource'}, - 'bandwidth_in_gbps': {'key': 'properties.bandwidthInGbps', 'type': 'float'}, - 'stag': {'key': 'properties.stag', 'type': 'int'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'gateway_manager_etag': {'key': 'properties.gatewayManagerEtag', 'type': 'str'}, - 'global_reach_enabled': {'key': 'properties.globalReachEnabled', 'type': 'bool'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, sku=None, allow_classic_operations: bool=None, authorizations=None, peerings=None, service_provider_notes: str=None, service_provider_properties=None, express_route_port=None, bandwidth_in_gbps: float=None, gateway_manager_etag: str=None, **kwargs) -> None: - super(ExpressRouteCircuit, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.sku = sku - self.allow_classic_operations = allow_classic_operations - self.circuit_provisioning_state = None - self.service_provider_provisioning_state = None - self.authorizations = authorizations - self.peerings = peerings - self.service_key = None - self.service_provider_notes = service_provider_notes - self.service_provider_properties = service_provider_properties - self.express_route_port = express_route_port - self.bandwidth_in_gbps = bandwidth_in_gbps - self.stag = None - self.provisioning_state = None - self.gateway_manager_etag = gateway_manager_etag - self.global_reach_enabled = None - self.etag = None - - -class ExpressRouteCircuitArpTable(Model): - """The ARP table associated with the ExpressRouteCircuit. - - :param age: Entry age in minutes. - :type age: int - :param interface: Interface address. - :type interface: str - :param ip_address: The IP address. - :type ip_address: str - :param mac_address: The MAC address. - :type mac_address: str - """ - - _attribute_map = { - 'age': {'key': 'age', 'type': 'int'}, - 'interface': {'key': 'interface', 'type': 'str'}, - 'ip_address': {'key': 'ipAddress', 'type': 'str'}, - 'mac_address': {'key': 'macAddress', 'type': 'str'}, - } - - def __init__(self, *, age: int=None, interface: str=None, ip_address: str=None, mac_address: str=None, **kwargs) -> None: - super(ExpressRouteCircuitArpTable, self).__init__(**kwargs) - self.age = age - self.interface = interface - self.ip_address = ip_address - self.mac_address = mac_address - - -class ExpressRouteCircuitAuthorization(SubResource): - """Authorization in an ExpressRouteCircuit resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar authorization_key: The authorization key. - :vartype authorization_key: str - :ivar authorization_use_status: The authorization use status. Possible - values include: 'Available', 'InUse' - :vartype authorization_use_status: str or - ~azure.mgmt.network.v2019_09_01.models.AuthorizationUseStatus - :ivar provisioning_state: The provisioning state of the authorization - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :ivar type: Type of the resource. - :vartype type: str - """ - - _validation = { - 'authorization_key': {'readonly': True}, - 'authorization_use_status': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'authorization_key': {'key': 'properties.authorizationKey', 'type': 'str'}, - 'authorization_use_status': {'key': 'properties.authorizationUseStatus', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, name: str=None, **kwargs) -> None: - super(ExpressRouteCircuitAuthorization, self).__init__(id=id, **kwargs) - self.authorization_key = None - self.authorization_use_status = None - self.provisioning_state = None - self.name = name - self.etag = None - self.type = None - - -class ExpressRouteCircuitConnection(SubResource): - """Express Route Circuit Connection in an ExpressRouteCircuitPeering resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param express_route_circuit_peering: Reference to Express Route Circuit - Private Peering Resource of the circuit initiating connection. - :type express_route_circuit_peering: - ~azure.mgmt.network.v2019_09_01.models.SubResource - :param peer_express_route_circuit_peering: Reference to Express Route - Circuit Private Peering Resource of the peered circuit. - :type peer_express_route_circuit_peering: - ~azure.mgmt.network.v2019_09_01.models.SubResource - :param address_prefix: /29 IP address space to carve out Customer - addresses for tunnels. - :type address_prefix: str - :param authorization_key: The authorization key. - :type authorization_key: str - :ivar circuit_connection_status: Express Route Circuit connection state. - Possible values include: 'Connected', 'Connecting', 'Disconnected' - :vartype circuit_connection_status: str or - ~azure.mgmt.network.v2019_09_01.models.CircuitConnectionStatus - :ivar provisioning_state: The provisioning state of the express route - circuit connection resource. Possible values include: 'Succeeded', - 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :ivar type: Type of the resource. - :vartype type: str - """ - - _validation = { - 'circuit_connection_status': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'express_route_circuit_peering': {'key': 'properties.expressRouteCircuitPeering', 'type': 'SubResource'}, - 'peer_express_route_circuit_peering': {'key': 'properties.peerExpressRouteCircuitPeering', 'type': 'SubResource'}, - 'address_prefix': {'key': 'properties.addressPrefix', 'type': 'str'}, - 'authorization_key': {'key': 'properties.authorizationKey', 'type': 'str'}, - 'circuit_connection_status': {'key': 'properties.circuitConnectionStatus', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, express_route_circuit_peering=None, peer_express_route_circuit_peering=None, address_prefix: str=None, authorization_key: str=None, name: str=None, **kwargs) -> None: - super(ExpressRouteCircuitConnection, self).__init__(id=id, **kwargs) - self.express_route_circuit_peering = express_route_circuit_peering - self.peer_express_route_circuit_peering = peer_express_route_circuit_peering - self.address_prefix = address_prefix - self.authorization_key = authorization_key - self.circuit_connection_status = None - self.provisioning_state = None - self.name = name - self.etag = None - self.type = None - - -class ExpressRouteCircuitPeering(SubResource): - """Peering in an ExpressRouteCircuit resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param peering_type: The peering type. Possible values include: - 'AzurePublicPeering', 'AzurePrivatePeering', 'MicrosoftPeering' - :type peering_type: str or - ~azure.mgmt.network.v2019_09_01.models.ExpressRoutePeeringType - :param state: The peering state. Possible values include: 'Disabled', - 'Enabled' - :type state: str or - ~azure.mgmt.network.v2019_09_01.models.ExpressRoutePeeringState - :ivar azure_asn: The Azure ASN. - :vartype azure_asn: int - :param peer_asn: The peer ASN. - :type peer_asn: long - :param primary_peer_address_prefix: The primary address prefix. - :type primary_peer_address_prefix: str - :param secondary_peer_address_prefix: The secondary address prefix. - :type secondary_peer_address_prefix: str - :ivar primary_azure_port: The primary port. - :vartype primary_azure_port: str - :ivar secondary_azure_port: The secondary port. - :vartype secondary_azure_port: str - :param shared_key: The shared key. - :type shared_key: str - :param vlan_id: The VLAN ID. - :type vlan_id: int - :param microsoft_peering_config: The Microsoft peering configuration. - :type microsoft_peering_config: - ~azure.mgmt.network.v2019_09_01.models.ExpressRouteCircuitPeeringConfig - :param stats: The peering stats of express route circuit. - :type stats: - ~azure.mgmt.network.v2019_09_01.models.ExpressRouteCircuitStats - :ivar provisioning_state: The provisioning state of the express route - circuit peering resource. Possible values include: 'Succeeded', - 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param gateway_manager_etag: The GatewayManager Etag. - :type gateway_manager_etag: str - :ivar last_modified_by: Who was the last to modify the peering. - :vartype last_modified_by: str - :param route_filter: The reference of the RouteFilter resource. - :type route_filter: ~azure.mgmt.network.v2019_09_01.models.SubResource - :param ipv6_peering_config: The IPv6 peering configuration. - :type ipv6_peering_config: - ~azure.mgmt.network.v2019_09_01.models.Ipv6ExpressRouteCircuitPeeringConfig - :param express_route_connection: The ExpressRoute connection. - :type express_route_connection: - ~azure.mgmt.network.v2019_09_01.models.ExpressRouteConnectionId - :ivar connections: The list of circuit connections associated with Azure - Private Peering for this circuit. - :vartype connections: - list[~azure.mgmt.network.v2019_09_01.models.ExpressRouteCircuitConnection] - :ivar peered_connections: The list of peered circuit connections - associated with Azure Private Peering for this circuit. - :vartype peered_connections: - list[~azure.mgmt.network.v2019_09_01.models.PeerExpressRouteCircuitConnection] - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :ivar type: Type of the resource. - :vartype type: str - """ - - _validation = { - 'azure_asn': {'readonly': True}, - 'peer_asn': {'maximum': 4294967295, 'minimum': 1}, - 'primary_azure_port': {'readonly': True}, - 'secondary_azure_port': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'last_modified_by': {'readonly': True}, - 'connections': {'readonly': True}, - 'peered_connections': {'readonly': True}, - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'peering_type': {'key': 'properties.peeringType', 'type': 'str'}, - 'state': {'key': 'properties.state', 'type': 'str'}, - 'azure_asn': {'key': 'properties.azureASN', 'type': 'int'}, - 'peer_asn': {'key': 'properties.peerASN', 'type': 'long'}, - 'primary_peer_address_prefix': {'key': 'properties.primaryPeerAddressPrefix', 'type': 'str'}, - 'secondary_peer_address_prefix': {'key': 'properties.secondaryPeerAddressPrefix', 'type': 'str'}, - 'primary_azure_port': {'key': 'properties.primaryAzurePort', 'type': 'str'}, - 'secondary_azure_port': {'key': 'properties.secondaryAzurePort', 'type': 'str'}, - 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, - 'vlan_id': {'key': 'properties.vlanId', 'type': 'int'}, - 'microsoft_peering_config': {'key': 'properties.microsoftPeeringConfig', 'type': 'ExpressRouteCircuitPeeringConfig'}, - 'stats': {'key': 'properties.stats', 'type': 'ExpressRouteCircuitStats'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'gateway_manager_etag': {'key': 'properties.gatewayManagerEtag', 'type': 'str'}, - 'last_modified_by': {'key': 'properties.lastModifiedBy', 'type': 'str'}, - 'route_filter': {'key': 'properties.routeFilter', 'type': 'SubResource'}, - 'ipv6_peering_config': {'key': 'properties.ipv6PeeringConfig', 'type': 'Ipv6ExpressRouteCircuitPeeringConfig'}, - 'express_route_connection': {'key': 'properties.expressRouteConnection', 'type': 'ExpressRouteConnectionId'}, - 'connections': {'key': 'properties.connections', 'type': '[ExpressRouteCircuitConnection]'}, - 'peered_connections': {'key': 'properties.peeredConnections', 'type': '[PeerExpressRouteCircuitConnection]'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, peering_type=None, state=None, peer_asn: int=None, primary_peer_address_prefix: str=None, secondary_peer_address_prefix: str=None, shared_key: str=None, vlan_id: int=None, microsoft_peering_config=None, stats=None, gateway_manager_etag: str=None, route_filter=None, ipv6_peering_config=None, express_route_connection=None, name: str=None, **kwargs) -> None: - super(ExpressRouteCircuitPeering, self).__init__(id=id, **kwargs) - self.peering_type = peering_type - self.state = state - self.azure_asn = None - self.peer_asn = peer_asn - self.primary_peer_address_prefix = primary_peer_address_prefix - self.secondary_peer_address_prefix = secondary_peer_address_prefix - self.primary_azure_port = None - self.secondary_azure_port = None - self.shared_key = shared_key - self.vlan_id = vlan_id - self.microsoft_peering_config = microsoft_peering_config - self.stats = stats - self.provisioning_state = None - self.gateway_manager_etag = gateway_manager_etag - self.last_modified_by = None - self.route_filter = route_filter - self.ipv6_peering_config = ipv6_peering_config - self.express_route_connection = express_route_connection - self.connections = None - self.peered_connections = None - self.name = name - self.etag = None - self.type = None - - -class ExpressRouteCircuitPeeringConfig(Model): - """Specifies the peering configuration. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param advertised_public_prefixes: The reference of - AdvertisedPublicPrefixes. - :type advertised_public_prefixes: list[str] - :param advertised_communities: The communities of bgp peering. Specified - for microsoft peering. - :type advertised_communities: list[str] - :ivar advertised_public_prefixes_state: The advertised public prefix state - of the Peering resource. Possible values include: 'NotConfigured', - 'Configuring', 'Configured', 'ValidationNeeded' - :vartype advertised_public_prefixes_state: str or - ~azure.mgmt.network.v2019_09_01.models.ExpressRouteCircuitPeeringAdvertisedPublicPrefixState - :param legacy_mode: The legacy mode of the peering. - :type legacy_mode: int - :param customer_asn: The CustomerASN of the peering. - :type customer_asn: int - :param routing_registry_name: The RoutingRegistryName of the - configuration. - :type routing_registry_name: str - """ - - _validation = { - 'advertised_public_prefixes_state': {'readonly': True}, - } - - _attribute_map = { - 'advertised_public_prefixes': {'key': 'advertisedPublicPrefixes', 'type': '[str]'}, - 'advertised_communities': {'key': 'advertisedCommunities', 'type': '[str]'}, - 'advertised_public_prefixes_state': {'key': 'advertisedPublicPrefixesState', 'type': 'str'}, - 'legacy_mode': {'key': 'legacyMode', 'type': 'int'}, - 'customer_asn': {'key': 'customerASN', 'type': 'int'}, - 'routing_registry_name': {'key': 'routingRegistryName', 'type': 'str'}, - } - - def __init__(self, *, advertised_public_prefixes=None, advertised_communities=None, legacy_mode: int=None, customer_asn: int=None, routing_registry_name: str=None, **kwargs) -> None: - super(ExpressRouteCircuitPeeringConfig, self).__init__(**kwargs) - self.advertised_public_prefixes = advertised_public_prefixes - self.advertised_communities = advertised_communities - self.advertised_public_prefixes_state = None - self.legacy_mode = legacy_mode - self.customer_asn = customer_asn - self.routing_registry_name = routing_registry_name - - -class ExpressRouteCircuitPeeringId(Model): - """ExpressRoute circuit peering identifier. - - :param id: The ID of the ExpressRoute circuit peering. - :type id: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, **kwargs) -> None: - super(ExpressRouteCircuitPeeringId, self).__init__(**kwargs) - self.id = id - - -class ExpressRouteCircuitReference(Model): - """Reference to an express route circuit. - - :param id: Corresponding Express Route Circuit Id. - :type id: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, **kwargs) -> None: - super(ExpressRouteCircuitReference, self).__init__(**kwargs) - self.id = id - - -class ExpressRouteCircuitRoutesTable(Model): - """The routes table associated with the ExpressRouteCircuit. - - :param network: IP address of a network entity. - :type network: str - :param next_hop: NextHop address. - :type next_hop: str - :param loc_prf: Local preference value as set with the set - local-preference route-map configuration command. - :type loc_prf: str - :param weight: Route Weight. - :type weight: int - :param path: Autonomous system paths to the destination network. - :type path: str - """ - - _attribute_map = { - 'network': {'key': 'network', 'type': 'str'}, - 'next_hop': {'key': 'nextHop', 'type': 'str'}, - 'loc_prf': {'key': 'locPrf', 'type': 'str'}, - 'weight': {'key': 'weight', 'type': 'int'}, - 'path': {'key': 'path', 'type': 'str'}, - } - - def __init__(self, *, network: str=None, next_hop: str=None, loc_prf: str=None, weight: int=None, path: str=None, **kwargs) -> None: - super(ExpressRouteCircuitRoutesTable, self).__init__(**kwargs) - self.network = network - self.next_hop = next_hop - self.loc_prf = loc_prf - self.weight = weight - self.path = path - - -class ExpressRouteCircuitRoutesTableSummary(Model): - """The routes table associated with the ExpressRouteCircuit. - - :param neighbor: IP address of the neighbor. - :type neighbor: str - :param v: BGP version number spoken to the neighbor. - :type v: int - :param as_property: Autonomous system number. - :type as_property: int - :param up_down: The length of time that the BGP session has been in the - Established state, or the current status if not in the Established state. - :type up_down: str - :param state_pfx_rcd: Current state of the BGP session, and the number of - prefixes that have been received from a neighbor or peer group. - :type state_pfx_rcd: str - """ - - _attribute_map = { - 'neighbor': {'key': 'neighbor', 'type': 'str'}, - 'v': {'key': 'v', 'type': 'int'}, - 'as_property': {'key': 'as', 'type': 'int'}, - 'up_down': {'key': 'upDown', 'type': 'str'}, - 'state_pfx_rcd': {'key': 'statePfxRcd', 'type': 'str'}, - } - - def __init__(self, *, neighbor: str=None, v: int=None, as_property: int=None, up_down: str=None, state_pfx_rcd: str=None, **kwargs) -> None: - super(ExpressRouteCircuitRoutesTableSummary, self).__init__(**kwargs) - self.neighbor = neighbor - self.v = v - self.as_property = as_property - self.up_down = up_down - self.state_pfx_rcd = state_pfx_rcd - - -class ExpressRouteCircuitsArpTableListResult(Model): - """Response for ListArpTable associated with the Express Route Circuits API. - - :param value: A list of the ARP tables. - :type value: - list[~azure.mgmt.network.v2019_09_01.models.ExpressRouteCircuitArpTable] - :param next_link: The URL to get the next set of results. - :type next_link: str - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[ExpressRouteCircuitArpTable]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__(self, *, value=None, next_link: str=None, **kwargs) -> None: - super(ExpressRouteCircuitsArpTableListResult, self).__init__(**kwargs) - self.value = value - self.next_link = next_link - - -class ExpressRouteCircuitServiceProviderProperties(Model): - """Contains ServiceProviderProperties in an ExpressRouteCircuit. - - :param service_provider_name: The serviceProviderName. - :type service_provider_name: str - :param peering_location: The peering location. - :type peering_location: str - :param bandwidth_in_mbps: The BandwidthInMbps. - :type bandwidth_in_mbps: int - """ - - _attribute_map = { - 'service_provider_name': {'key': 'serviceProviderName', 'type': 'str'}, - 'peering_location': {'key': 'peeringLocation', 'type': 'str'}, - 'bandwidth_in_mbps': {'key': 'bandwidthInMbps', 'type': 'int'}, - } - - def __init__(self, *, service_provider_name: str=None, peering_location: str=None, bandwidth_in_mbps: int=None, **kwargs) -> None: - super(ExpressRouteCircuitServiceProviderProperties, self).__init__(**kwargs) - self.service_provider_name = service_provider_name - self.peering_location = peering_location - self.bandwidth_in_mbps = bandwidth_in_mbps - - -class ExpressRouteCircuitSku(Model): - """Contains SKU in an ExpressRouteCircuit. - - :param name: The name of the SKU. - :type name: str - :param tier: The tier of the SKU. Possible values include: 'Standard', - 'Premium', 'Basic', 'Local' - :type tier: str or - ~azure.mgmt.network.v2019_09_01.models.ExpressRouteCircuitSkuTier - :param family: The family of the SKU. Possible values include: - 'UnlimitedData', 'MeteredData' - :type family: str or - ~azure.mgmt.network.v2019_09_01.models.ExpressRouteCircuitSkuFamily - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'tier': {'key': 'tier', 'type': 'str'}, - 'family': {'key': 'family', 'type': 'str'}, - } - - def __init__(self, *, name: str=None, tier=None, family=None, **kwargs) -> None: - super(ExpressRouteCircuitSku, self).__init__(**kwargs) - self.name = name - self.tier = tier - self.family = family - - -class ExpressRouteCircuitsRoutesTableListResult(Model): - """Response for ListRoutesTable associated with the Express Route Circuits - API. - - :param value: The list of routes table. - :type value: - list[~azure.mgmt.network.v2019_09_01.models.ExpressRouteCircuitRoutesTable] - :param next_link: The URL to get the next set of results. - :type next_link: str - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[ExpressRouteCircuitRoutesTable]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__(self, *, value=None, next_link: str=None, **kwargs) -> None: - super(ExpressRouteCircuitsRoutesTableListResult, self).__init__(**kwargs) - self.value = value - self.next_link = next_link - - -class ExpressRouteCircuitsRoutesTableSummaryListResult(Model): - """Response for ListRoutesTable associated with the Express Route Circuits - API. - - :param value: A list of the routes table. - :type value: - list[~azure.mgmt.network.v2019_09_01.models.ExpressRouteCircuitRoutesTableSummary] - :param next_link: The URL to get the next set of results. - :type next_link: str - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[ExpressRouteCircuitRoutesTableSummary]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__(self, *, value=None, next_link: str=None, **kwargs) -> None: - super(ExpressRouteCircuitsRoutesTableSummaryListResult, self).__init__(**kwargs) - self.value = value - self.next_link = next_link - - -class ExpressRouteCircuitStats(Model): - """Contains stats associated with the peering. - - :param primarybytes_in: The Primary BytesIn of the peering. - :type primarybytes_in: long - :param primarybytes_out: The primary BytesOut of the peering. - :type primarybytes_out: long - :param secondarybytes_in: The secondary BytesIn of the peering. - :type secondarybytes_in: long - :param secondarybytes_out: The secondary BytesOut of the peering. - :type secondarybytes_out: long - """ - - _attribute_map = { - 'primarybytes_in': {'key': 'primarybytesIn', 'type': 'long'}, - 'primarybytes_out': {'key': 'primarybytesOut', 'type': 'long'}, - 'secondarybytes_in': {'key': 'secondarybytesIn', 'type': 'long'}, - 'secondarybytes_out': {'key': 'secondarybytesOut', 'type': 'long'}, - } - - def __init__(self, *, primarybytes_in: int=None, primarybytes_out: int=None, secondarybytes_in: int=None, secondarybytes_out: int=None, **kwargs) -> None: - super(ExpressRouteCircuitStats, self).__init__(**kwargs) - self.primarybytes_in = primarybytes_in - self.primarybytes_out = primarybytes_out - self.secondarybytes_in = secondarybytes_in - self.secondarybytes_out = secondarybytes_out - - -class ExpressRouteConnection(SubResource): - """ExpressRouteConnection resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :ivar provisioning_state: The provisioning state of the express route - connection resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param express_route_circuit_peering: Required. The ExpressRoute circuit - peering. - :type express_route_circuit_peering: - ~azure.mgmt.network.v2019_09_01.models.ExpressRouteCircuitPeeringId - :param authorization_key: Authorization key to establish the connection. - :type authorization_key: str - :param routing_weight: The routing weight associated to the connection. - :type routing_weight: int - :param enable_internet_security: Enable internet security. - :type enable_internet_security: bool - :param name: Required. The name of the resource. - :type name: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'express_route_circuit_peering': {'required': True}, - 'name': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'express_route_circuit_peering': {'key': 'properties.expressRouteCircuitPeering', 'type': 'ExpressRouteCircuitPeeringId'}, - 'authorization_key': {'key': 'properties.authorizationKey', 'type': 'str'}, - 'routing_weight': {'key': 'properties.routingWeight', 'type': 'int'}, - 'enable_internet_security': {'key': 'properties.enableInternetSecurity', 'type': 'bool'}, - 'name': {'key': 'name', 'type': 'str'}, - } - - def __init__(self, *, express_route_circuit_peering, name: str, id: str=None, authorization_key: str=None, routing_weight: int=None, enable_internet_security: bool=None, **kwargs) -> None: - super(ExpressRouteConnection, self).__init__(id=id, **kwargs) - self.provisioning_state = None - self.express_route_circuit_peering = express_route_circuit_peering - self.authorization_key = authorization_key - self.routing_weight = routing_weight - self.enable_internet_security = enable_internet_security - self.name = name - - -class ExpressRouteConnectionId(Model): - """The ID of the ExpressRouteConnection. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar id: The ID of the ExpressRouteConnection. - :vartype id: str - """ - - _validation = { - 'id': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - } - - def __init__(self, **kwargs) -> None: - super(ExpressRouteConnectionId, self).__init__(**kwargs) - self.id = None - - -class ExpressRouteConnectionList(Model): - """ExpressRouteConnection list. - - :param value: The list of ExpressRoute connections. - :type value: - list[~azure.mgmt.network.v2019_09_01.models.ExpressRouteConnection] - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[ExpressRouteConnection]'}, - } - - def __init__(self, *, value=None, **kwargs) -> None: - super(ExpressRouteConnectionList, self).__init__(**kwargs) - self.value = value - - -class ExpressRouteCrossConnection(Resource): - """ExpressRouteCrossConnection resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :ivar primary_azure_port: The name of the primary port. - :vartype primary_azure_port: str - :ivar secondary_azure_port: The name of the secondary port. - :vartype secondary_azure_port: str - :ivar s_tag: The identifier of the circuit traffic. - :vartype s_tag: int - :param peering_location: The peering location of the ExpressRoute circuit. - :type peering_location: str - :param bandwidth_in_mbps: The circuit bandwidth In Mbps. - :type bandwidth_in_mbps: int - :param express_route_circuit: The ExpressRouteCircuit. - :type express_route_circuit: - ~azure.mgmt.network.v2019_09_01.models.ExpressRouteCircuitReference - :param service_provider_provisioning_state: The provisioning state of the - circuit in the connectivity provider system. Possible values include: - 'NotProvisioned', 'Provisioning', 'Provisioned', 'Deprovisioning' - :type service_provider_provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ServiceProviderProvisioningState - :param service_provider_notes: Additional read only notes set by the - connectivity provider. - :type service_provider_notes: str - :ivar provisioning_state: The provisioning state of the express route - cross connection resource. Possible values include: 'Succeeded', - 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param peerings: The list of peerings. - :type peerings: - list[~azure.mgmt.network.v2019_09_01.models.ExpressRouteCrossConnectionPeering] - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'primary_azure_port': {'readonly': True}, - 'secondary_azure_port': {'readonly': True}, - 's_tag': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'primary_azure_port': {'key': 'properties.primaryAzurePort', 'type': 'str'}, - 'secondary_azure_port': {'key': 'properties.secondaryAzurePort', 'type': 'str'}, - 's_tag': {'key': 'properties.sTag', 'type': 'int'}, - 'peering_location': {'key': 'properties.peeringLocation', 'type': 'str'}, - 'bandwidth_in_mbps': {'key': 'properties.bandwidthInMbps', 'type': 'int'}, - 'express_route_circuit': {'key': 'properties.expressRouteCircuit', 'type': 'ExpressRouteCircuitReference'}, - 'service_provider_provisioning_state': {'key': 'properties.serviceProviderProvisioningState', 'type': 'str'}, - 'service_provider_notes': {'key': 'properties.serviceProviderNotes', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'peerings': {'key': 'properties.peerings', 'type': '[ExpressRouteCrossConnectionPeering]'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, peering_location: str=None, bandwidth_in_mbps: int=None, express_route_circuit=None, service_provider_provisioning_state=None, service_provider_notes: str=None, peerings=None, **kwargs) -> None: - super(ExpressRouteCrossConnection, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.primary_azure_port = None - self.secondary_azure_port = None - self.s_tag = None - self.peering_location = peering_location - self.bandwidth_in_mbps = bandwidth_in_mbps - self.express_route_circuit = express_route_circuit - self.service_provider_provisioning_state = service_provider_provisioning_state - self.service_provider_notes = service_provider_notes - self.provisioning_state = None - self.peerings = peerings - self.etag = None - - -class ExpressRouteCrossConnectionPeering(SubResource): - """Peering in an ExpressRoute Cross Connection resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param peering_type: The peering type. Possible values include: - 'AzurePublicPeering', 'AzurePrivatePeering', 'MicrosoftPeering' - :type peering_type: str or - ~azure.mgmt.network.v2019_09_01.models.ExpressRoutePeeringType - :param state: The peering state. Possible values include: 'Disabled', - 'Enabled' - :type state: str or - ~azure.mgmt.network.v2019_09_01.models.ExpressRoutePeeringState - :ivar azure_asn: The Azure ASN. - :vartype azure_asn: int - :param peer_asn: The peer ASN. - :type peer_asn: long - :param primary_peer_address_prefix: The primary address prefix. - :type primary_peer_address_prefix: str - :param secondary_peer_address_prefix: The secondary address prefix. - :type secondary_peer_address_prefix: str - :ivar primary_azure_port: The primary port. - :vartype primary_azure_port: str - :ivar secondary_azure_port: The secondary port. - :vartype secondary_azure_port: str - :param shared_key: The shared key. - :type shared_key: str - :param vlan_id: The VLAN ID. - :type vlan_id: int - :param microsoft_peering_config: The Microsoft peering configuration. - :type microsoft_peering_config: - ~azure.mgmt.network.v2019_09_01.models.ExpressRouteCircuitPeeringConfig - :ivar provisioning_state: The provisioning state of the express route - cross connection peering resource. Possible values include: 'Succeeded', - 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param gateway_manager_etag: The GatewayManager Etag. - :type gateway_manager_etag: str - :ivar last_modified_by: Who was the last to modify the peering. - :vartype last_modified_by: str - :param ipv6_peering_config: The IPv6 peering configuration. - :type ipv6_peering_config: - ~azure.mgmt.network.v2019_09_01.models.Ipv6ExpressRouteCircuitPeeringConfig - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'azure_asn': {'readonly': True}, - 'peer_asn': {'maximum': 4294967295, 'minimum': 1}, - 'primary_azure_port': {'readonly': True}, - 'secondary_azure_port': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'last_modified_by': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'peering_type': {'key': 'properties.peeringType', 'type': 'str'}, - 'state': {'key': 'properties.state', 'type': 'str'}, - 'azure_asn': {'key': 'properties.azureASN', 'type': 'int'}, - 'peer_asn': {'key': 'properties.peerASN', 'type': 'long'}, - 'primary_peer_address_prefix': {'key': 'properties.primaryPeerAddressPrefix', 'type': 'str'}, - 'secondary_peer_address_prefix': {'key': 'properties.secondaryPeerAddressPrefix', 'type': 'str'}, - 'primary_azure_port': {'key': 'properties.primaryAzurePort', 'type': 'str'}, - 'secondary_azure_port': {'key': 'properties.secondaryAzurePort', 'type': 'str'}, - 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, - 'vlan_id': {'key': 'properties.vlanId', 'type': 'int'}, - 'microsoft_peering_config': {'key': 'properties.microsoftPeeringConfig', 'type': 'ExpressRouteCircuitPeeringConfig'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'gateway_manager_etag': {'key': 'properties.gatewayManagerEtag', 'type': 'str'}, - 'last_modified_by': {'key': 'properties.lastModifiedBy', 'type': 'str'}, - 'ipv6_peering_config': {'key': 'properties.ipv6PeeringConfig', 'type': 'Ipv6ExpressRouteCircuitPeeringConfig'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, peering_type=None, state=None, peer_asn: int=None, primary_peer_address_prefix: str=None, secondary_peer_address_prefix: str=None, shared_key: str=None, vlan_id: int=None, microsoft_peering_config=None, gateway_manager_etag: str=None, ipv6_peering_config=None, name: str=None, **kwargs) -> None: - super(ExpressRouteCrossConnectionPeering, self).__init__(id=id, **kwargs) - self.peering_type = peering_type - self.state = state - self.azure_asn = None - self.peer_asn = peer_asn - self.primary_peer_address_prefix = primary_peer_address_prefix - self.secondary_peer_address_prefix = secondary_peer_address_prefix - self.primary_azure_port = None - self.secondary_azure_port = None - self.shared_key = shared_key - self.vlan_id = vlan_id - self.microsoft_peering_config = microsoft_peering_config - self.provisioning_state = None - self.gateway_manager_etag = gateway_manager_etag - self.last_modified_by = None - self.ipv6_peering_config = ipv6_peering_config - self.name = name - self.etag = None - - -class ExpressRouteCrossConnectionRoutesTableSummary(Model): - """The routes table associated with the ExpressRouteCircuit. - - :param neighbor: IP address of Neighbor router. - :type neighbor: str - :param asn: Autonomous system number. - :type asn: int - :param up_down: The length of time that the BGP session has been in the - Established state, or the current status if not in the Established state. - :type up_down: str - :param state_or_prefixes_received: Current state of the BGP session, and - the number of prefixes that have been received from a neighbor or peer - group. - :type state_or_prefixes_received: str - """ - - _attribute_map = { - 'neighbor': {'key': 'neighbor', 'type': 'str'}, - 'asn': {'key': 'asn', 'type': 'int'}, - 'up_down': {'key': 'upDown', 'type': 'str'}, - 'state_or_prefixes_received': {'key': 'stateOrPrefixesReceived', 'type': 'str'}, - } - - def __init__(self, *, neighbor: str=None, asn: int=None, up_down: str=None, state_or_prefixes_received: str=None, **kwargs) -> None: - super(ExpressRouteCrossConnectionRoutesTableSummary, self).__init__(**kwargs) - self.neighbor = neighbor - self.asn = asn - self.up_down = up_down - self.state_or_prefixes_received = state_or_prefixes_received - - -class ExpressRouteCrossConnectionsRoutesTableSummaryListResult(Model): - """Response for ListRoutesTable associated with the Express Route Cross - Connections. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param value: A list of the routes table. - :type value: - list[~azure.mgmt.network.v2019_09_01.models.ExpressRouteCrossConnectionRoutesTableSummary] - :ivar next_link: The URL to get the next set of results. - :vartype next_link: str - """ - - _validation = { - 'next_link': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[ExpressRouteCrossConnectionRoutesTableSummary]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__(self, *, value=None, **kwargs) -> None: - super(ExpressRouteCrossConnectionsRoutesTableSummaryListResult, self).__init__(**kwargs) - self.value = value - self.next_link = None - - -class ExpressRouteGateway(Resource): - """ExpressRoute gateway resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param auto_scale_configuration: Configuration for auto scaling. - :type auto_scale_configuration: - ~azure.mgmt.network.v2019_09_01.models.ExpressRouteGatewayPropertiesAutoScaleConfiguration - :ivar express_route_connections: List of ExpressRoute connections to the - ExpressRoute gateway. - :vartype express_route_connections: - list[~azure.mgmt.network.v2019_09_01.models.ExpressRouteConnection] - :ivar provisioning_state: The provisioning state of the express route - gateway resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param virtual_hub: Required. The Virtual Hub where the ExpressRoute - gateway is or will be deployed. - :type virtual_hub: ~azure.mgmt.network.v2019_09_01.models.VirtualHubId - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'express_route_connections': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'virtual_hub': {'required': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'auto_scale_configuration': {'key': 'properties.autoScaleConfiguration', 'type': 'ExpressRouteGatewayPropertiesAutoScaleConfiguration'}, - 'express_route_connections': {'key': 'properties.expressRouteConnections', 'type': '[ExpressRouteConnection]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'virtual_hub': {'key': 'properties.virtualHub', 'type': 'VirtualHubId'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, virtual_hub, id: str=None, location: str=None, tags=None, auto_scale_configuration=None, **kwargs) -> None: - super(ExpressRouteGateway, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.auto_scale_configuration = auto_scale_configuration - self.express_route_connections = None - self.provisioning_state = None - self.virtual_hub = virtual_hub - self.etag = None - - -class ExpressRouteGatewayList(Model): - """List of ExpressRoute gateways. - - :param value: List of ExpressRoute gateways. - :type value: - list[~azure.mgmt.network.v2019_09_01.models.ExpressRouteGateway] - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[ExpressRouteGateway]'}, - } - - def __init__(self, *, value=None, **kwargs) -> None: - super(ExpressRouteGatewayList, self).__init__(**kwargs) - self.value = value - - -class ExpressRouteGatewayPropertiesAutoScaleConfiguration(Model): - """Configuration for auto scaling. - - :param bounds: Minimum and maximum number of scale units to deploy. - :type bounds: - ~azure.mgmt.network.v2019_09_01.models.ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds - """ - - _attribute_map = { - 'bounds': {'key': 'bounds', 'type': 'ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds'}, - } - - def __init__(self, *, bounds=None, **kwargs) -> None: - super(ExpressRouteGatewayPropertiesAutoScaleConfiguration, self).__init__(**kwargs) - self.bounds = bounds - - -class ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds(Model): - """Minimum and maximum number of scale units to deploy. - - :param min: Minimum number of scale units deployed for ExpressRoute - gateway. - :type min: int - :param max: Maximum number of scale units deployed for ExpressRoute - gateway. - :type max: int - """ - - _attribute_map = { - 'min': {'key': 'min', 'type': 'int'}, - 'max': {'key': 'max', 'type': 'int'}, - } - - def __init__(self, *, min: int=None, max: int=None, **kwargs) -> None: - super(ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds, self).__init__(**kwargs) - self.min = min - self.max = max - - -class ExpressRouteLink(SubResource): - """ExpressRouteLink. - - ExpressRouteLink child resource definition. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar router_name: Name of Azure router associated with physical port. - :vartype router_name: str - :ivar interface_name: Name of Azure router interface. - :vartype interface_name: str - :ivar patch_panel_id: Mapping between physical port to patch panel port. - :vartype patch_panel_id: str - :ivar rack_id: Mapping of physical patch panel to rack. - :vartype rack_id: str - :ivar connector_type: Physical fiber port type. Possible values include: - 'LC', 'SC' - :vartype connector_type: str or - ~azure.mgmt.network.v2019_09_01.models.ExpressRouteLinkConnectorType - :param admin_state: Administrative state of the physical port. Possible - values include: 'Enabled', 'Disabled' - :type admin_state: str or - ~azure.mgmt.network.v2019_09_01.models.ExpressRouteLinkAdminState - :ivar provisioning_state: The provisioning state of the express route link - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param mac_sec_config: MacSec configuration. - :type mac_sec_config: - ~azure.mgmt.network.v2019_09_01.models.ExpressRouteLinkMacSecConfig - :param name: Name of child port resource that is unique among child port - resources of the parent. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'router_name': {'readonly': True}, - 'interface_name': {'readonly': True}, - 'patch_panel_id': {'readonly': True}, - 'rack_id': {'readonly': True}, - 'connector_type': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'router_name': {'key': 'properties.routerName', 'type': 'str'}, - 'interface_name': {'key': 'properties.interfaceName', 'type': 'str'}, - 'patch_panel_id': {'key': 'properties.patchPanelId', 'type': 'str'}, - 'rack_id': {'key': 'properties.rackId', 'type': 'str'}, - 'connector_type': {'key': 'properties.connectorType', 'type': 'str'}, - 'admin_state': {'key': 'properties.adminState', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'mac_sec_config': {'key': 'properties.macSecConfig', 'type': 'ExpressRouteLinkMacSecConfig'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, admin_state=None, mac_sec_config=None, name: str=None, **kwargs) -> None: - super(ExpressRouteLink, self).__init__(id=id, **kwargs) - self.router_name = None - self.interface_name = None - self.patch_panel_id = None - self.rack_id = None - self.connector_type = None - self.admin_state = admin_state - self.provisioning_state = None - self.mac_sec_config = mac_sec_config - self.name = name - self.etag = None - - -class ExpressRouteLinkMacSecConfig(Model): - """Definition of ExpressRouteLink Mac Security configuration. - - ExpressRouteLink Mac Security Configuration. - - :param ckn_secret_identifier: Keyvault Secret Identifier URL containing - Mac security CKN key. - :type ckn_secret_identifier: str - :param cak_secret_identifier: Keyvault Secret Identifier URL containing - Mac security CAK key. - :type cak_secret_identifier: str - :param cipher: Mac security cipher. Possible values include: - 'gcm-aes-128', 'gcm-aes-256' - :type cipher: str or - ~azure.mgmt.network.v2019_09_01.models.ExpressRouteLinkMacSecCipher - """ - - _attribute_map = { - 'ckn_secret_identifier': {'key': 'cknSecretIdentifier', 'type': 'str'}, - 'cak_secret_identifier': {'key': 'cakSecretIdentifier', 'type': 'str'}, - 'cipher': {'key': 'cipher', 'type': 'str'}, - } - - def __init__(self, *, ckn_secret_identifier: str=None, cak_secret_identifier: str=None, cipher=None, **kwargs) -> None: - super(ExpressRouteLinkMacSecConfig, self).__init__(**kwargs) - self.ckn_secret_identifier = ckn_secret_identifier - self.cak_secret_identifier = cak_secret_identifier - self.cipher = cipher - - -class ExpressRoutePort(Resource): - """ExpressRoute Port. - - ExpressRoutePort resource definition. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param peering_location: The name of the peering location that the - ExpressRoutePort is mapped to physically. - :type peering_location: str - :param bandwidth_in_gbps: Bandwidth of procured ports in Gbps. - :type bandwidth_in_gbps: int - :ivar provisioned_bandwidth_in_gbps: Aggregate Gbps of associated circuit - bandwidths. - :vartype provisioned_bandwidth_in_gbps: float - :ivar mtu: Maximum transmission unit of the physical port pair(s). - :vartype mtu: str - :param encapsulation: Encapsulation method on physical ports. Possible - values include: 'Dot1Q', 'QinQ' - :type encapsulation: str or - ~azure.mgmt.network.v2019_09_01.models.ExpressRoutePortsEncapsulation - :ivar ether_type: Ether type of the physical port. - :vartype ether_type: str - :ivar allocation_date: Date of the physical port allocation to be used in - Letter of Authorization. - :vartype allocation_date: str - :param links: ExpressRouteLink Sub-Resources. The set of physical links of - the ExpressRoutePort resource. - :type links: list[~azure.mgmt.network.v2019_09_01.models.ExpressRouteLink] - :ivar circuits: Reference the ExpressRoute circuit(s) that are provisioned - on this ExpressRoutePort resource. - :vartype circuits: - list[~azure.mgmt.network.v2019_09_01.models.SubResource] - :ivar provisioning_state: The provisioning state of the express route port - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :ivar resource_guid: The resource GUID property of the express route port - resource. - :vartype resource_guid: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :param identity: The identity of ExpressRoutePort, if configured. - :type identity: - ~azure.mgmt.network.v2019_09_01.models.ManagedServiceIdentity - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'provisioned_bandwidth_in_gbps': {'readonly': True}, - 'mtu': {'readonly': True}, - 'ether_type': {'readonly': True}, - 'allocation_date': {'readonly': True}, - 'circuits': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'resource_guid': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'peering_location': {'key': 'properties.peeringLocation', 'type': 'str'}, - 'bandwidth_in_gbps': {'key': 'properties.bandwidthInGbps', 'type': 'int'}, - 'provisioned_bandwidth_in_gbps': {'key': 'properties.provisionedBandwidthInGbps', 'type': 'float'}, - 'mtu': {'key': 'properties.mtu', 'type': 'str'}, - 'encapsulation': {'key': 'properties.encapsulation', 'type': 'str'}, - 'ether_type': {'key': 'properties.etherType', 'type': 'str'}, - 'allocation_date': {'key': 'properties.allocationDate', 'type': 'str'}, - 'links': {'key': 'properties.links', 'type': '[ExpressRouteLink]'}, - 'circuits': {'key': 'properties.circuits', 'type': '[SubResource]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, peering_location: str=None, bandwidth_in_gbps: int=None, encapsulation=None, links=None, identity=None, **kwargs) -> None: - super(ExpressRoutePort, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.peering_location = peering_location - self.bandwidth_in_gbps = bandwidth_in_gbps - self.provisioned_bandwidth_in_gbps = None - self.mtu = None - self.encapsulation = encapsulation - self.ether_type = None - self.allocation_date = None - self.links = links - self.circuits = None - self.provisioning_state = None - self.resource_guid = None - self.etag = None - self.identity = identity - - -class ExpressRoutePortsLocation(Resource): - """ExpressRoutePorts Peering Location. - - Definition of the ExpressRoutePorts peering location resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :ivar address: Address of peering location. - :vartype address: str - :ivar contact: Contact details of peering locations. - :vartype contact: str - :param available_bandwidths: The inventory of available ExpressRoutePort - bandwidths. - :type available_bandwidths: - list[~azure.mgmt.network.v2019_09_01.models.ExpressRoutePortsLocationBandwidths] - :ivar provisioning_state: The provisioning state of the express route port - location resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'address': {'readonly': True}, - 'contact': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'address': {'key': 'properties.address', 'type': 'str'}, - 'contact': {'key': 'properties.contact', 'type': 'str'}, - 'available_bandwidths': {'key': 'properties.availableBandwidths', 'type': '[ExpressRoutePortsLocationBandwidths]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, available_bandwidths=None, **kwargs) -> None: - super(ExpressRoutePortsLocation, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.address = None - self.contact = None - self.available_bandwidths = available_bandwidths - self.provisioning_state = None - - -class ExpressRoutePortsLocationBandwidths(Model): - """ExpressRoutePorts Location Bandwidths. - - Real-time inventory of available ExpressRoute port bandwidths. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar offer_name: Bandwidth descriptive name. - :vartype offer_name: str - :ivar value_in_gbps: Bandwidth value in Gbps. - :vartype value_in_gbps: int - """ - - _validation = { - 'offer_name': {'readonly': True}, - 'value_in_gbps': {'readonly': True}, - } - - _attribute_map = { - 'offer_name': {'key': 'offerName', 'type': 'str'}, - 'value_in_gbps': {'key': 'valueInGbps', 'type': 'int'}, - } - - def __init__(self, **kwargs) -> None: - super(ExpressRoutePortsLocationBandwidths, self).__init__(**kwargs) - self.offer_name = None - self.value_in_gbps = None - - -class ExpressRouteServiceProvider(Resource): - """A ExpressRouteResourceProvider object. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param peering_locations: A list of peering locations. - :type peering_locations: list[str] - :param bandwidths_offered: A list of bandwidths offered. - :type bandwidths_offered: - list[~azure.mgmt.network.v2019_09_01.models.ExpressRouteServiceProviderBandwidthsOffered] - :ivar provisioning_state: The provisioning state of the express route - service provider resource. Possible values include: 'Succeeded', - 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'peering_locations': {'key': 'properties.peeringLocations', 'type': '[str]'}, - 'bandwidths_offered': {'key': 'properties.bandwidthsOffered', 'type': '[ExpressRouteServiceProviderBandwidthsOffered]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, peering_locations=None, bandwidths_offered=None, **kwargs) -> None: - super(ExpressRouteServiceProvider, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.peering_locations = peering_locations - self.bandwidths_offered = bandwidths_offered - self.provisioning_state = None - - -class ExpressRouteServiceProviderBandwidthsOffered(Model): - """Contains bandwidths offered in ExpressRouteServiceProvider resources. - - :param offer_name: The OfferName. - :type offer_name: str - :param value_in_mbps: The ValueInMbps. - :type value_in_mbps: int - """ - - _attribute_map = { - 'offer_name': {'key': 'offerName', 'type': 'str'}, - 'value_in_mbps': {'key': 'valueInMbps', 'type': 'int'}, - } - - def __init__(self, *, offer_name: str=None, value_in_mbps: int=None, **kwargs) -> None: - super(ExpressRouteServiceProviderBandwidthsOffered, self).__init__(**kwargs) - self.offer_name = offer_name - self.value_in_mbps = value_in_mbps - - -class FirewallPolicy(Resource): - """FirewallPolicy Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :ivar rule_groups: List of references to FirewallPolicyRuleGroups. - :vartype rule_groups: - list[~azure.mgmt.network.v2019_09_01.models.SubResource] - :ivar provisioning_state: The provisioning state of the firewall policy - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param base_policy: The parent firewall policy from which rules are - inherited. - :type base_policy: ~azure.mgmt.network.v2019_09_01.models.SubResource - :ivar firewalls: List of references to Azure Firewalls that this Firewall - Policy is associated with. - :vartype firewalls: - list[~azure.mgmt.network.v2019_09_01.models.SubResource] - :ivar child_policies: List of references to Child Firewall Policies. - :vartype child_policies: - list[~azure.mgmt.network.v2019_09_01.models.SubResource] - :param threat_intel_mode: The operation mode for Threat Intelligence. - Possible values include: 'Alert', 'Deny', 'Off' - :type threat_intel_mode: str or - ~azure.mgmt.network.v2019_09_01.models.AzureFirewallThreatIntelMode - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'rule_groups': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'firewalls': {'readonly': True}, - 'child_policies': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'rule_groups': {'key': 'properties.ruleGroups', 'type': '[SubResource]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'base_policy': {'key': 'properties.basePolicy', 'type': 'SubResource'}, - 'firewalls': {'key': 'properties.firewalls', 'type': '[SubResource]'}, - 'child_policies': {'key': 'properties.childPolicies', 'type': '[SubResource]'}, - 'threat_intel_mode': {'key': 'properties.threatIntelMode', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, base_policy=None, threat_intel_mode=None, **kwargs) -> None: - super(FirewallPolicy, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.rule_groups = None - self.provisioning_state = None - self.base_policy = base_policy - self.firewalls = None - self.child_policies = None - self.threat_intel_mode = threat_intel_mode - self.etag = None - - -class FirewallPolicyRule(Model): - """Properties of the rule. - - You probably want to use the sub-classes and not this class directly. Known - sub-classes are: FirewallPolicyNatRule, FirewallPolicyFilterRule - - All required parameters must be populated in order to send to Azure. - - :param name: The name of the rule. - :type name: str - :param priority: Priority of the Firewall Policy Rule resource. - :type priority: int - :param rule_type: Required. Constant filled by server. - :type rule_type: str - """ - - _validation = { - 'priority': {'maximum': 65000, 'minimum': 100}, - 'rule_type': {'required': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'priority': {'key': 'priority', 'type': 'int'}, - 'rule_type': {'key': 'ruleType', 'type': 'str'}, - } - - _subtype_map = { - 'rule_type': {'FirewallPolicyNatRule': 'FirewallPolicyNatRule', 'FirewallPolicyFilterRule': 'FirewallPolicyFilterRule'} - } - - def __init__(self, *, name: str=None, priority: int=None, **kwargs) -> None: - super(FirewallPolicyRule, self).__init__(**kwargs) - self.name = name - self.priority = priority - self.rule_type = None - - -class FirewallPolicyFilterRule(FirewallPolicyRule): - """Firewall Policy Filter Rule. - - All required parameters must be populated in order to send to Azure. - - :param name: The name of the rule. - :type name: str - :param priority: Priority of the Firewall Policy Rule resource. - :type priority: int - :param rule_type: Required. Constant filled by server. - :type rule_type: str - :param action: The action type of a Filter rule. - :type action: - ~azure.mgmt.network.v2019_09_01.models.FirewallPolicyFilterRuleAction - :param rule_conditions: Collection of rule conditions used by a rule. - :type rule_conditions: - list[~azure.mgmt.network.v2019_09_01.models.FirewallPolicyRuleCondition] - """ - - _validation = { - 'priority': {'maximum': 65000, 'minimum': 100}, - 'rule_type': {'required': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'priority': {'key': 'priority', 'type': 'int'}, - 'rule_type': {'key': 'ruleType', 'type': 'str'}, - 'action': {'key': 'action', 'type': 'FirewallPolicyFilterRuleAction'}, - 'rule_conditions': {'key': 'ruleConditions', 'type': '[FirewallPolicyRuleCondition]'}, - } - - def __init__(self, *, name: str=None, priority: int=None, action=None, rule_conditions=None, **kwargs) -> None: - super(FirewallPolicyFilterRule, self).__init__(name=name, priority=priority, **kwargs) - self.action = action - self.rule_conditions = rule_conditions - self.rule_type = 'FirewallPolicyFilterRule' - - -class FirewallPolicyFilterRuleAction(Model): - """Properties of the FirewallPolicyFilterRuleAction. - - :param type: The type of action. Possible values include: 'Allow', 'Deny' - :type type: str or - ~azure.mgmt.network.v2019_09_01.models.FirewallPolicyFilterRuleActionType - """ - - _attribute_map = { - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, type=None, **kwargs) -> None: - super(FirewallPolicyFilterRuleAction, self).__init__(**kwargs) - self.type = type - - -class FirewallPolicyNatRule(FirewallPolicyRule): - """Firewall Policy NAT Rule. - - All required parameters must be populated in order to send to Azure. - - :param name: The name of the rule. - :type name: str - :param priority: Priority of the Firewall Policy Rule resource. - :type priority: int - :param rule_type: Required. Constant filled by server. - :type rule_type: str - :param action: The action type of a Nat rule. - :type action: - ~azure.mgmt.network.v2019_09_01.models.FirewallPolicyNatRuleAction - :param translated_address: The translated address for this NAT rule. - :type translated_address: str - :param translated_port: The translated port for this NAT rule. - :type translated_port: str - :param rule_condition: The match conditions for incoming traffic. - :type rule_condition: - ~azure.mgmt.network.v2019_09_01.models.FirewallPolicyRuleCondition - """ - - _validation = { - 'priority': {'maximum': 65000, 'minimum': 100}, - 'rule_type': {'required': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'priority': {'key': 'priority', 'type': 'int'}, - 'rule_type': {'key': 'ruleType', 'type': 'str'}, - 'action': {'key': 'action', 'type': 'FirewallPolicyNatRuleAction'}, - 'translated_address': {'key': 'translatedAddress', 'type': 'str'}, - 'translated_port': {'key': 'translatedPort', 'type': 'str'}, - 'rule_condition': {'key': 'ruleCondition', 'type': 'FirewallPolicyRuleCondition'}, - } - - def __init__(self, *, name: str=None, priority: int=None, action=None, translated_address: str=None, translated_port: str=None, rule_condition=None, **kwargs) -> None: - super(FirewallPolicyNatRule, self).__init__(name=name, priority=priority, **kwargs) - self.action = action - self.translated_address = translated_address - self.translated_port = translated_port - self.rule_condition = rule_condition - self.rule_type = 'FirewallPolicyNatRule' - - -class FirewallPolicyNatRuleAction(Model): - """Properties of the FirewallPolicyNatRuleAction. - - :param type: The type of action. Possible values include: 'DNAT' - :type type: str or - ~azure.mgmt.network.v2019_09_01.models.FirewallPolicyNatRuleActionType - """ - - _attribute_map = { - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, type=None, **kwargs) -> None: - super(FirewallPolicyNatRuleAction, self).__init__(**kwargs) - self.type = type - - -class FirewallPolicyRuleConditionApplicationProtocol(Model): - """Properties of the application rule protocol. - - :param protocol_type: Protocol type. Possible values include: 'Http', - 'Https' - :type protocol_type: str or - ~azure.mgmt.network.v2019_09_01.models.FirewallPolicyRuleConditionApplicationProtocolType - :param port: Port number for the protocol, cannot be greater than 64000. - :type port: int - """ - - _validation = { - 'port': {'maximum': 64000, 'minimum': 0}, - } - - _attribute_map = { - 'protocol_type': {'key': 'protocolType', 'type': 'str'}, - 'port': {'key': 'port', 'type': 'int'}, - } - - def __init__(self, *, protocol_type=None, port: int=None, **kwargs) -> None: - super(FirewallPolicyRuleConditionApplicationProtocol, self).__init__(**kwargs) - self.protocol_type = protocol_type - self.port = port - - -class FirewallPolicyRuleGroup(SubResource): - """Rule Group resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param priority: Priority of the Firewall Policy Rule Group resource. - :type priority: int - :param rules: Group of Firewall Policy rules. - :type rules: - list[~azure.mgmt.network.v2019_09_01.models.FirewallPolicyRule] - :ivar provisioning_state: The provisioning state of the firewall policy - rule group resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :ivar type: Rule Group type. - :vartype type: str - """ - - _validation = { - 'priority': {'maximum': 65000, 'minimum': 100}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'priority': {'key': 'properties.priority', 'type': 'int'}, - 'rules': {'key': 'properties.rules', 'type': '[FirewallPolicyRule]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, priority: int=None, rules=None, name: str=None, **kwargs) -> None: - super(FirewallPolicyRuleGroup, self).__init__(id=id, **kwargs) - self.priority = priority - self.rules = rules - self.provisioning_state = None - self.name = name - self.etag = None - self.type = None - - -class FlowLogFormatParameters(Model): - """Parameters that define the flow log format. - - :param type: The file type of flow log. Possible values include: 'JSON' - :type type: str or - ~azure.mgmt.network.v2019_09_01.models.FlowLogFormatType - :param version: The version (revision) of the flow log. Default value: 0 . - :type version: int - """ - - _attribute_map = { - 'type': {'key': 'type', 'type': 'str'}, - 'version': {'key': 'version', 'type': 'int'}, - } - - def __init__(self, *, type=None, version: int=0, **kwargs) -> None: - super(FlowLogFormatParameters, self).__init__(**kwargs) - self.type = type - self.version = version - - -class FlowLogInformation(Model): - """Information on the configuration of flow log and traffic analytics - (optional) . - - All required parameters must be populated in order to send to Azure. - - :param target_resource_id: Required. The ID of the resource to configure - for flow log and traffic analytics (optional) . - :type target_resource_id: str - :param storage_id: Required. ID of the storage account which is used to - store the flow log. - :type storage_id: str - :param enabled: Required. Flag to enable/disable flow logging. - :type enabled: bool - :param retention_policy: Parameters that define the retention policy for - flow log. - :type retention_policy: - ~azure.mgmt.network.v2019_09_01.models.RetentionPolicyParameters - :param format: Parameters that define the flow log format. - :type format: - ~azure.mgmt.network.v2019_09_01.models.FlowLogFormatParameters - :param flow_analytics_configuration: Parameters that define the - configuration of traffic analytics. - :type flow_analytics_configuration: - ~azure.mgmt.network.v2019_09_01.models.TrafficAnalyticsProperties - """ - - _validation = { - 'target_resource_id': {'required': True}, - 'storage_id': {'required': True}, - 'enabled': {'required': True}, - } - - _attribute_map = { - 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, - 'storage_id': {'key': 'properties.storageId', 'type': 'str'}, - 'enabled': {'key': 'properties.enabled', 'type': 'bool'}, - 'retention_policy': {'key': 'properties.retentionPolicy', 'type': 'RetentionPolicyParameters'}, - 'format': {'key': 'properties.format', 'type': 'FlowLogFormatParameters'}, - 'flow_analytics_configuration': {'key': 'flowAnalyticsConfiguration', 'type': 'TrafficAnalyticsProperties'}, - } - - def __init__(self, *, target_resource_id: str, storage_id: str, enabled: bool, retention_policy=None, format=None, flow_analytics_configuration=None, **kwargs) -> None: - super(FlowLogInformation, self).__init__(**kwargs) - self.target_resource_id = target_resource_id - self.storage_id = storage_id - self.enabled = enabled - self.retention_policy = retention_policy - self.format = format - self.flow_analytics_configuration = flow_analytics_configuration - - -class FlowLogStatusParameters(Model): - """Parameters that define a resource to query flow log and traffic analytics - (optional) status. - - All required parameters must be populated in order to send to Azure. - - :param target_resource_id: Required. The target resource where getting the - flow log and traffic analytics (optional) status. - :type target_resource_id: str - """ - - _validation = { - 'target_resource_id': {'required': True}, - } - - _attribute_map = { - 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, - } - - def __init__(self, *, target_resource_id: str, **kwargs) -> None: - super(FlowLogStatusParameters, self).__init__(**kwargs) - self.target_resource_id = target_resource_id - - -class FrontendIPConfiguration(SubResource): - """Frontend IP address of the load balancer. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar inbound_nat_rules: An array of references to inbound rules that use - this frontend IP. - :vartype inbound_nat_rules: - list[~azure.mgmt.network.v2019_09_01.models.SubResource] - :ivar inbound_nat_pools: An array of references to inbound pools that use - this frontend IP. - :vartype inbound_nat_pools: - list[~azure.mgmt.network.v2019_09_01.models.SubResource] - :ivar outbound_rules: An array of references to outbound rules that use - this frontend IP. - :vartype outbound_rules: - list[~azure.mgmt.network.v2019_09_01.models.SubResource] - :ivar load_balancing_rules: An array of references to load balancing rules - that use this frontend IP. - :vartype load_balancing_rules: - list[~azure.mgmt.network.v2019_09_01.models.SubResource] - :param private_ip_address: The private IP address of the IP configuration. - :type private_ip_address: str - :param private_ip_allocation_method: The Private IP allocation method. - Possible values include: 'Static', 'Dynamic' - :type private_ip_allocation_method: str or - ~azure.mgmt.network.v2019_09_01.models.IPAllocationMethod - :param private_ip_address_version: Whether the specific ipconfiguration is - IPv4 or IPv6. Default is taken as IPv4. Possible values include: 'IPv4', - 'IPv6' - :type private_ip_address_version: str or - ~azure.mgmt.network.v2019_09_01.models.IPVersion - :param subnet: The reference of the subnet resource. - :type subnet: ~azure.mgmt.network.v2019_09_01.models.Subnet - :param public_ip_address: The reference of the Public IP resource. - :type public_ip_address: - ~azure.mgmt.network.v2019_09_01.models.PublicIPAddress - :param public_ip_prefix: The reference of the Public IP Prefix resource. - :type public_ip_prefix: ~azure.mgmt.network.v2019_09_01.models.SubResource - :ivar provisioning_state: The provisioning state of the frontend IP - configuration resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param name: The name of the resource that is unique within the set of - frontend IP configurations used by the load balancer. This name can be - used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :ivar type: Type of the resource. - :vartype type: str - :param zones: A list of availability zones denoting the IP allocated for - the resource needs to come from. - :type zones: list[str] - """ - - _validation = { - 'inbound_nat_rules': {'readonly': True}, - 'inbound_nat_pools': {'readonly': True}, - 'outbound_rules': {'readonly': True}, - 'load_balancing_rules': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'inbound_nat_rules': {'key': 'properties.inboundNatRules', 'type': '[SubResource]'}, - 'inbound_nat_pools': {'key': 'properties.inboundNatPools', 'type': '[SubResource]'}, - 'outbound_rules': {'key': 'properties.outboundRules', 'type': '[SubResource]'}, - 'load_balancing_rules': {'key': 'properties.loadBalancingRules', 'type': '[SubResource]'}, - 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, - 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, - 'private_ip_address_version': {'key': 'properties.privateIPAddressVersion', 'type': 'str'}, - 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, - 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'PublicIPAddress'}, - 'public_ip_prefix': {'key': 'properties.publicIPPrefix', 'type': 'SubResource'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'zones': {'key': 'zones', 'type': '[str]'}, - } - - def __init__(self, *, id: str=None, private_ip_address: str=None, private_ip_allocation_method=None, private_ip_address_version=None, subnet=None, public_ip_address=None, public_ip_prefix=None, name: str=None, zones=None, **kwargs) -> None: - super(FrontendIPConfiguration, self).__init__(id=id, **kwargs) - self.inbound_nat_rules = None - self.inbound_nat_pools = None - self.outbound_rules = None - self.load_balancing_rules = None - self.private_ip_address = private_ip_address - self.private_ip_allocation_method = private_ip_allocation_method - self.private_ip_address_version = private_ip_address_version - self.subnet = subnet - self.public_ip_address = public_ip_address - self.public_ip_prefix = public_ip_prefix - self.provisioning_state = None - self.name = name - self.etag = None - self.type = None - self.zones = zones - - -class GatewayRoute(Model): - """Gateway routing details. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar local_address: The gateway's local address. - :vartype local_address: str - :ivar network: The route's network prefix. - :vartype network: str - :ivar next_hop: The route's next hop. - :vartype next_hop: str - :ivar source_peer: The peer this route was learned from. - :vartype source_peer: str - :ivar origin: The source this route was learned from. - :vartype origin: str - :ivar as_path: The route's AS path sequence. - :vartype as_path: str - :ivar weight: The route's weight. - :vartype weight: int - """ - - _validation = { - 'local_address': {'readonly': True}, - 'network': {'readonly': True}, - 'next_hop': {'readonly': True}, - 'source_peer': {'readonly': True}, - 'origin': {'readonly': True}, - 'as_path': {'readonly': True}, - 'weight': {'readonly': True}, - } - - _attribute_map = { - 'local_address': {'key': 'localAddress', 'type': 'str'}, - 'network': {'key': 'network', 'type': 'str'}, - 'next_hop': {'key': 'nextHop', 'type': 'str'}, - 'source_peer': {'key': 'sourcePeer', 'type': 'str'}, - 'origin': {'key': 'origin', 'type': 'str'}, - 'as_path': {'key': 'asPath', 'type': 'str'}, - 'weight': {'key': 'weight', 'type': 'int'}, - } - - def __init__(self, **kwargs) -> None: - super(GatewayRoute, self).__init__(**kwargs) - self.local_address = None - self.network = None - self.next_hop = None - self.source_peer = None - self.origin = None - self.as_path = None - self.weight = None - - -class GatewayRouteListResult(Model): - """List of virtual network gateway routes. - - :param value: List of gateway routes. - :type value: list[~azure.mgmt.network.v2019_09_01.models.GatewayRoute] - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[GatewayRoute]'}, - } - - def __init__(self, *, value=None, **kwargs) -> None: - super(GatewayRouteListResult, self).__init__(**kwargs) - self.value = value - - -class GetVpnSitesConfigurationRequest(Model): - """List of Vpn-Sites. - - All required parameters must be populated in order to send to Azure. - - :param vpn_sites: List of resource-ids of the vpn-sites for which config - is to be downloaded. - :type vpn_sites: list[str] - :param output_blob_sas_url: Required. The sas-url to download the - configurations for vpn-sites. - :type output_blob_sas_url: str - """ - - _validation = { - 'output_blob_sas_url': {'required': True}, - } - - _attribute_map = { - 'vpn_sites': {'key': 'vpnSites', 'type': '[str]'}, - 'output_blob_sas_url': {'key': 'outputBlobSasUrl', 'type': 'str'}, - } - - def __init__(self, *, output_blob_sas_url: str, vpn_sites=None, **kwargs) -> None: - super(GetVpnSitesConfigurationRequest, self).__init__(**kwargs) - self.vpn_sites = vpn_sites - self.output_blob_sas_url = output_blob_sas_url - - -class HTTPConfiguration(Model): - """HTTP configuration of the connectivity check. - - :param method: HTTP method. Possible values include: 'Get' - :type method: str or ~azure.mgmt.network.v2019_09_01.models.HTTPMethod - :param headers: List of HTTP headers. - :type headers: list[~azure.mgmt.network.v2019_09_01.models.HTTPHeader] - :param valid_status_codes: Valid status codes. - :type valid_status_codes: list[int] - """ - - _attribute_map = { - 'method': {'key': 'method', 'type': 'str'}, - 'headers': {'key': 'headers', 'type': '[HTTPHeader]'}, - 'valid_status_codes': {'key': 'validStatusCodes', 'type': '[int]'}, - } - - def __init__(self, *, method=None, headers=None, valid_status_codes=None, **kwargs) -> None: - super(HTTPConfiguration, self).__init__(**kwargs) - self.method = method - self.headers = headers - self.valid_status_codes = valid_status_codes - - -class HTTPHeader(Model): - """Describes the HTTP header. - - :param name: The name in HTTP header. - :type name: str - :param value: The value in HTTP header. - :type value: str - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'value': {'key': 'value', 'type': 'str'}, - } - - def __init__(self, *, name: str=None, value: str=None, **kwargs) -> None: - super(HTTPHeader, self).__init__(**kwargs) - self.name = name - self.value = value - - -class HubIPAddresses(Model): - """IP addresses associated with azure firewall. - - :param public_ip_addresses: List of Public IP addresses associated with - azure firewall. - :type public_ip_addresses: - list[~azure.mgmt.network.v2019_09_01.models.AzureFirewallPublicIPAddress] - :param private_ip_address: Private IP Address associated with azure - firewall. - :type private_ip_address: str - """ - - _attribute_map = { - 'public_ip_addresses': {'key': 'publicIPAddresses', 'type': '[AzureFirewallPublicIPAddress]'}, - 'private_ip_address': {'key': 'privateIPAddress', 'type': 'str'}, - } - - def __init__(self, *, public_ip_addresses=None, private_ip_address: str=None, **kwargs) -> None: - super(HubIPAddresses, self).__init__(**kwargs) - self.public_ip_addresses = public_ip_addresses - self.private_ip_address = private_ip_address - - -class HubVirtualNetworkConnection(SubResource): - """HubVirtualNetworkConnection Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param remote_virtual_network: Reference to the remote virtual network. - :type remote_virtual_network: - ~azure.mgmt.network.v2019_09_01.models.SubResource - :param allow_hub_to_remote_vnet_transit: VirtualHub to RemoteVnet transit - to enabled or not. - :type allow_hub_to_remote_vnet_transit: bool - :param allow_remote_vnet_to_use_hub_vnet_gateways: Allow RemoteVnet to use - Virtual Hub's gateways. - :type allow_remote_vnet_to_use_hub_vnet_gateways: bool - :param enable_internet_security: Enable internet security. - :type enable_internet_security: bool - :ivar provisioning_state: The provisioning state of the hub virtual - network connection resource. Possible values include: 'Succeeded', - 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'remote_virtual_network': {'key': 'properties.remoteVirtualNetwork', 'type': 'SubResource'}, - 'allow_hub_to_remote_vnet_transit': {'key': 'properties.allowHubToRemoteVnetTransit', 'type': 'bool'}, - 'allow_remote_vnet_to_use_hub_vnet_gateways': {'key': 'properties.allowRemoteVnetToUseHubVnetGateways', 'type': 'bool'}, - 'enable_internet_security': {'key': 'properties.enableInternetSecurity', 'type': 'bool'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, remote_virtual_network=None, allow_hub_to_remote_vnet_transit: bool=None, allow_remote_vnet_to_use_hub_vnet_gateways: bool=None, enable_internet_security: bool=None, name: str=None, **kwargs) -> None: - super(HubVirtualNetworkConnection, self).__init__(id=id, **kwargs) - self.remote_virtual_network = remote_virtual_network - self.allow_hub_to_remote_vnet_transit = allow_hub_to_remote_vnet_transit - self.allow_remote_vnet_to_use_hub_vnet_gateways = allow_remote_vnet_to_use_hub_vnet_gateways - self.enable_internet_security = enable_internet_security - self.provisioning_state = None - self.name = name - self.etag = None - - -class InboundNatPool(SubResource): - """Inbound NAT pool of the load balancer. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :param frontend_ip_configuration: A reference to frontend IP addresses. - :type frontend_ip_configuration: - ~azure.mgmt.network.v2019_09_01.models.SubResource - :param protocol: Required. The reference to the transport protocol used by - the inbound NAT pool. Possible values include: 'Udp', 'Tcp', 'All' - :type protocol: str or - ~azure.mgmt.network.v2019_09_01.models.TransportProtocol - :param frontend_port_range_start: Required. The first port number in the - range of external ports that will be used to provide Inbound Nat to NICs - associated with a load balancer. Acceptable values range between 1 and - 65534. - :type frontend_port_range_start: int - :param frontend_port_range_end: Required. The last port number in the - range of external ports that will be used to provide Inbound Nat to NICs - associated with a load balancer. Acceptable values range between 1 and - 65535. - :type frontend_port_range_end: int - :param backend_port: Required. The port used for internal connections on - the endpoint. Acceptable values are between 1 and 65535. - :type backend_port: int - :param idle_timeout_in_minutes: The timeout for the TCP idle connection. - The value can be set between 4 and 30 minutes. The default value is 4 - minutes. This element is only used when the protocol is set to TCP. - :type idle_timeout_in_minutes: int - :param enable_floating_ip: Configures a virtual machine's endpoint for the - floating IP capability required to configure a SQL AlwaysOn Availability - Group. This setting is required when using the SQL AlwaysOn Availability - Groups in SQL server. This setting can't be changed after you create the - endpoint. - :type enable_floating_ip: bool - :param enable_tcp_reset: Receive bidirectional TCP Reset on TCP flow idle - timeout or unexpected connection termination. This element is only used - when the protocol is set to TCP. - :type enable_tcp_reset: bool - :ivar provisioning_state: The provisioning state of the inbound NAT pool - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param name: The name of the resource that is unique within the set of - inbound NAT pools used by the load balancer. This name can be used to - access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :ivar type: Type of the resource. - :vartype type: str - """ - - _validation = { - 'protocol': {'required': True}, - 'frontend_port_range_start': {'required': True}, - 'frontend_port_range_end': {'required': True}, - 'backend_port': {'required': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'frontend_ip_configuration': {'key': 'properties.frontendIPConfiguration', 'type': 'SubResource'}, - 'protocol': {'key': 'properties.protocol', 'type': 'str'}, - 'frontend_port_range_start': {'key': 'properties.frontendPortRangeStart', 'type': 'int'}, - 'frontend_port_range_end': {'key': 'properties.frontendPortRangeEnd', 'type': 'int'}, - 'backend_port': {'key': 'properties.backendPort', 'type': 'int'}, - 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, - 'enable_floating_ip': {'key': 'properties.enableFloatingIP', 'type': 'bool'}, - 'enable_tcp_reset': {'key': 'properties.enableTcpReset', 'type': 'bool'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, protocol, frontend_port_range_start: int, frontend_port_range_end: int, backend_port: int, id: str=None, frontend_ip_configuration=None, idle_timeout_in_minutes: int=None, enable_floating_ip: bool=None, enable_tcp_reset: bool=None, name: str=None, **kwargs) -> None: - super(InboundNatPool, self).__init__(id=id, **kwargs) - self.frontend_ip_configuration = frontend_ip_configuration - self.protocol = protocol - self.frontend_port_range_start = frontend_port_range_start - self.frontend_port_range_end = frontend_port_range_end - self.backend_port = backend_port - self.idle_timeout_in_minutes = idle_timeout_in_minutes - self.enable_floating_ip = enable_floating_ip - self.enable_tcp_reset = enable_tcp_reset - self.provisioning_state = None - self.name = name - self.etag = None - self.type = None - - -class InboundNatRule(SubResource): - """Inbound NAT rule of the load balancer. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param frontend_ip_configuration: A reference to frontend IP addresses. - :type frontend_ip_configuration: - ~azure.mgmt.network.v2019_09_01.models.SubResource - :ivar backend_ip_configuration: A reference to a private IP address - defined on a network interface of a VM. Traffic sent to the frontend port - of each of the frontend IP configurations is forwarded to the backend IP. - :vartype backend_ip_configuration: - ~azure.mgmt.network.v2019_09_01.models.NetworkInterfaceIPConfiguration - :param protocol: The reference to the transport protocol used by the load - balancing rule. Possible values include: 'Udp', 'Tcp', 'All' - :type protocol: str or - ~azure.mgmt.network.v2019_09_01.models.TransportProtocol - :param frontend_port: The port for the external endpoint. Port numbers for - each rule must be unique within the Load Balancer. Acceptable values range - from 1 to 65534. - :type frontend_port: int - :param backend_port: The port used for the internal endpoint. Acceptable - values range from 1 to 65535. - :type backend_port: int - :param idle_timeout_in_minutes: The timeout for the TCP idle connection. - The value can be set between 4 and 30 minutes. The default value is 4 - minutes. This element is only used when the protocol is set to TCP. - :type idle_timeout_in_minutes: int - :param enable_floating_ip: Configures a virtual machine's endpoint for the - floating IP capability required to configure a SQL AlwaysOn Availability - Group. This setting is required when using the SQL AlwaysOn Availability - Groups in SQL server. This setting can't be changed after you create the - endpoint. - :type enable_floating_ip: bool - :param enable_tcp_reset: Receive bidirectional TCP Reset on TCP flow idle - timeout or unexpected connection termination. This element is only used - when the protocol is set to TCP. - :type enable_tcp_reset: bool - :ivar provisioning_state: The provisioning state of the inbound NAT rule - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param name: The name of the resource that is unique within the set of - inbound NAT rules used by the load balancer. This name can be used to - access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :ivar type: Type of the resource. - :vartype type: str - """ - - _validation = { - 'backend_ip_configuration': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'frontend_ip_configuration': {'key': 'properties.frontendIPConfiguration', 'type': 'SubResource'}, - 'backend_ip_configuration': {'key': 'properties.backendIPConfiguration', 'type': 'NetworkInterfaceIPConfiguration'}, - 'protocol': {'key': 'properties.protocol', 'type': 'str'}, - 'frontend_port': {'key': 'properties.frontendPort', 'type': 'int'}, - 'backend_port': {'key': 'properties.backendPort', 'type': 'int'}, - 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, - 'enable_floating_ip': {'key': 'properties.enableFloatingIP', 'type': 'bool'}, - 'enable_tcp_reset': {'key': 'properties.enableTcpReset', 'type': 'bool'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, frontend_ip_configuration=None, protocol=None, frontend_port: int=None, backend_port: int=None, idle_timeout_in_minutes: int=None, enable_floating_ip: bool=None, enable_tcp_reset: bool=None, name: str=None, **kwargs) -> None: - super(InboundNatRule, self).__init__(id=id, **kwargs) - self.frontend_ip_configuration = frontend_ip_configuration - self.backend_ip_configuration = None - self.protocol = protocol - self.frontend_port = frontend_port - self.backend_port = backend_port - self.idle_timeout_in_minutes = idle_timeout_in_minutes - self.enable_floating_ip = enable_floating_ip - self.enable_tcp_reset = enable_tcp_reset - self.provisioning_state = None - self.name = name - self.etag = None - self.type = None - - -class IPAddressAvailabilityResult(Model): - """Response for CheckIPAddressAvailability API service call. - - :param available: Private IP address availability. - :type available: bool - :param available_ip_addresses: Contains other available private IP - addresses if the asked for address is taken. - :type available_ip_addresses: list[str] - """ - - _attribute_map = { - 'available': {'key': 'available', 'type': 'bool'}, - 'available_ip_addresses': {'key': 'availableIPAddresses', 'type': '[str]'}, - } - - def __init__(self, *, available: bool=None, available_ip_addresses=None, **kwargs) -> None: - super(IPAddressAvailabilityResult, self).__init__(**kwargs) - self.available = available - self.available_ip_addresses = available_ip_addresses - - -class IPConfiguration(SubResource): - """IP configuration. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param private_ip_address: The private IP address of the IP configuration. - :type private_ip_address: str - :param private_ip_allocation_method: The private IP address allocation - method. Possible values include: 'Static', 'Dynamic' - :type private_ip_allocation_method: str or - ~azure.mgmt.network.v2019_09_01.models.IPAllocationMethod - :param subnet: The reference of the subnet resource. - :type subnet: ~azure.mgmt.network.v2019_09_01.models.Subnet - :param public_ip_address: The reference of the public IP resource. - :type public_ip_address: - ~azure.mgmt.network.v2019_09_01.models.PublicIPAddress - :ivar provisioning_state: The provisioning state of the IP configuration - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, - 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, - 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, - 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'PublicIPAddress'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, private_ip_address: str=None, private_ip_allocation_method=None, subnet=None, public_ip_address=None, name: str=None, **kwargs) -> None: - super(IPConfiguration, self).__init__(id=id, **kwargs) - self.private_ip_address = private_ip_address - self.private_ip_allocation_method = private_ip_allocation_method - self.subnet = subnet - self.public_ip_address = public_ip_address - self.provisioning_state = None - self.name = name - self.etag = None - - -class IPConfigurationProfile(SubResource): - """IP configuration profile child resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param subnet: The reference of the subnet resource to create a container - network interface ip configuration. - :type subnet: ~azure.mgmt.network.v2019_09_01.models.Subnet - :ivar provisioning_state: The provisioning state of the IP configuration - profile resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param name: The name of the resource. This name can be used to access the - resource. - :type name: str - :ivar type: Sub Resource type. - :vartype type: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'type': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, subnet=None, name: str=None, **kwargs) -> None: - super(IPConfigurationProfile, self).__init__(id=id, **kwargs) - self.subnet = subnet - self.provisioning_state = None - self.name = name - self.type = None - self.etag = None - - -class IpGroup(Resource): - """The IpGroups resource information. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :ivar provisioning_state: The provisioning state of the IpGroups resource. - Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param ip_addresses: IpAddresses/IpAddressPrefixes in the IpGroups - resource. - :type ip_addresses: list[str] - :ivar firewalls: List of references to Azure resources that this IpGroups - is associated with - :vartype firewalls: - list[~azure.mgmt.network.v2019_09_01.models.SubResource] - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'firewalls': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'ip_addresses': {'key': 'properties.ipAddresses', 'type': '[str]'}, - 'firewalls': {'key': 'properties.firewalls', 'type': '[SubResource]'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, ip_addresses=None, **kwargs) -> None: - super(IpGroup, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.provisioning_state = None - self.ip_addresses = ip_addresses - self.firewalls = None - self.etag = None - - -class IpsecPolicy(Model): - """An IPSec Policy configuration for a virtual network gateway connection. - - All required parameters must be populated in order to send to Azure. - - :param sa_life_time_seconds: Required. The IPSec Security Association - (also called Quick Mode or Phase 2 SA) lifetime in seconds for a site to - site VPN tunnel. - :type sa_life_time_seconds: int - :param sa_data_size_kilobytes: Required. The IPSec Security Association - (also called Quick Mode or Phase 2 SA) payload size in KB for a site to - site VPN tunnel. - :type sa_data_size_kilobytes: int - :param ipsec_encryption: Required. The IPSec encryption algorithm (IKE - phase 1). Possible values include: 'None', 'DES', 'DES3', 'AES128', - 'AES192', 'AES256', 'GCMAES128', 'GCMAES192', 'GCMAES256' - :type ipsec_encryption: str or - ~azure.mgmt.network.v2019_09_01.models.IpsecEncryption - :param ipsec_integrity: Required. The IPSec integrity algorithm (IKE phase - 1). Possible values include: 'MD5', 'SHA1', 'SHA256', 'GCMAES128', - 'GCMAES192', 'GCMAES256' - :type ipsec_integrity: str or - ~azure.mgmt.network.v2019_09_01.models.IpsecIntegrity - :param ike_encryption: Required. The IKE encryption algorithm (IKE phase - 2). Possible values include: 'DES', 'DES3', 'AES128', 'AES192', 'AES256', - 'GCMAES256', 'GCMAES128' - :type ike_encryption: str or - ~azure.mgmt.network.v2019_09_01.models.IkeEncryption - :param ike_integrity: Required. The IKE integrity algorithm (IKE phase 2). - Possible values include: 'MD5', 'SHA1', 'SHA256', 'SHA384', 'GCMAES256', - 'GCMAES128' - :type ike_integrity: str or - ~azure.mgmt.network.v2019_09_01.models.IkeIntegrity - :param dh_group: Required. The DH Group used in IKE Phase 1 for initial - SA. Possible values include: 'None', 'DHGroup1', 'DHGroup2', 'DHGroup14', - 'DHGroup2048', 'ECP256', 'ECP384', 'DHGroup24' - :type dh_group: str or ~azure.mgmt.network.v2019_09_01.models.DhGroup - :param pfs_group: Required. The Pfs Group used in IKE Phase 2 for new - child SA. Possible values include: 'None', 'PFS1', 'PFS2', 'PFS2048', - 'ECP256', 'ECP384', 'PFS24', 'PFS14', 'PFSMM' - :type pfs_group: str or ~azure.mgmt.network.v2019_09_01.models.PfsGroup - """ - - _validation = { - 'sa_life_time_seconds': {'required': True}, - 'sa_data_size_kilobytes': {'required': True}, - 'ipsec_encryption': {'required': True}, - 'ipsec_integrity': {'required': True}, - 'ike_encryption': {'required': True}, - 'ike_integrity': {'required': True}, - 'dh_group': {'required': True}, - 'pfs_group': {'required': True}, - } - - _attribute_map = { - 'sa_life_time_seconds': {'key': 'saLifeTimeSeconds', 'type': 'int'}, - 'sa_data_size_kilobytes': {'key': 'saDataSizeKilobytes', 'type': 'int'}, - 'ipsec_encryption': {'key': 'ipsecEncryption', 'type': 'str'}, - 'ipsec_integrity': {'key': 'ipsecIntegrity', 'type': 'str'}, - 'ike_encryption': {'key': 'ikeEncryption', 'type': 'str'}, - 'ike_integrity': {'key': 'ikeIntegrity', 'type': 'str'}, - 'dh_group': {'key': 'dhGroup', 'type': 'str'}, - 'pfs_group': {'key': 'pfsGroup', 'type': 'str'}, - } - - def __init__(self, *, sa_life_time_seconds: int, sa_data_size_kilobytes: int, ipsec_encryption, ipsec_integrity, ike_encryption, ike_integrity, dh_group, pfs_group, **kwargs) -> None: - super(IpsecPolicy, self).__init__(**kwargs) - self.sa_life_time_seconds = sa_life_time_seconds - self.sa_data_size_kilobytes = sa_data_size_kilobytes - self.ipsec_encryption = ipsec_encryption - self.ipsec_integrity = ipsec_integrity - self.ike_encryption = ike_encryption - self.ike_integrity = ike_integrity - self.dh_group = dh_group - self.pfs_group = pfs_group - - -class IpTag(Model): - """Contains the IpTag associated with the object. - - :param ip_tag_type: The IP tag type. Example: FirstPartyUsage. - :type ip_tag_type: str - :param tag: The value of the IP tag associated with the public IP. - Example: SQL. - :type tag: str - """ - - _attribute_map = { - 'ip_tag_type': {'key': 'ipTagType', 'type': 'str'}, - 'tag': {'key': 'tag', 'type': 'str'}, - } - - def __init__(self, *, ip_tag_type: str=None, tag: str=None, **kwargs) -> None: - super(IpTag, self).__init__(**kwargs) - self.ip_tag_type = ip_tag_type - self.tag = tag - - -class Ipv6ExpressRouteCircuitPeeringConfig(Model): - """Contains IPv6 peering config. - - :param primary_peer_address_prefix: The primary address prefix. - :type primary_peer_address_prefix: str - :param secondary_peer_address_prefix: The secondary address prefix. - :type secondary_peer_address_prefix: str - :param microsoft_peering_config: The Microsoft peering configuration. - :type microsoft_peering_config: - ~azure.mgmt.network.v2019_09_01.models.ExpressRouteCircuitPeeringConfig - :param route_filter: The reference of the RouteFilter resource. - :type route_filter: ~azure.mgmt.network.v2019_09_01.models.SubResource - :param state: The state of peering. Possible values include: 'Disabled', - 'Enabled' - :type state: str or - ~azure.mgmt.network.v2019_09_01.models.ExpressRouteCircuitPeeringState - """ - - _attribute_map = { - 'primary_peer_address_prefix': {'key': 'primaryPeerAddressPrefix', 'type': 'str'}, - 'secondary_peer_address_prefix': {'key': 'secondaryPeerAddressPrefix', 'type': 'str'}, - 'microsoft_peering_config': {'key': 'microsoftPeeringConfig', 'type': 'ExpressRouteCircuitPeeringConfig'}, - 'route_filter': {'key': 'routeFilter', 'type': 'SubResource'}, - 'state': {'key': 'state', 'type': 'str'}, - } - - def __init__(self, *, primary_peer_address_prefix: str=None, secondary_peer_address_prefix: str=None, microsoft_peering_config=None, route_filter=None, state=None, **kwargs) -> None: - super(Ipv6ExpressRouteCircuitPeeringConfig, self).__init__(**kwargs) - self.primary_peer_address_prefix = primary_peer_address_prefix - self.secondary_peer_address_prefix = secondary_peer_address_prefix - self.microsoft_peering_config = microsoft_peering_config - self.route_filter = route_filter - self.state = state - - -class LoadBalancer(Resource): - """LoadBalancer resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param sku: The load balancer SKU. - :type sku: ~azure.mgmt.network.v2019_09_01.models.LoadBalancerSku - :param frontend_ip_configurations: Object representing the frontend IPs to - be used for the load balancer. - :type frontend_ip_configurations: - list[~azure.mgmt.network.v2019_09_01.models.FrontendIPConfiguration] - :param backend_address_pools: Collection of backend address pools used by - a load balancer. - :type backend_address_pools: - list[~azure.mgmt.network.v2019_09_01.models.BackendAddressPool] - :param load_balancing_rules: Object collection representing the load - balancing rules Gets the provisioning. - :type load_balancing_rules: - list[~azure.mgmt.network.v2019_09_01.models.LoadBalancingRule] - :param probes: Collection of probe objects used in the load balancer. - :type probes: list[~azure.mgmt.network.v2019_09_01.models.Probe] - :param inbound_nat_rules: Collection of inbound NAT Rules used by a load - balancer. Defining inbound NAT rules on your load balancer is mutually - exclusive with defining an inbound NAT pool. Inbound NAT pools are - referenced from virtual machine scale sets. NICs that are associated with - individual virtual machines cannot reference an Inbound NAT pool. They - have to reference individual inbound NAT rules. - :type inbound_nat_rules: - list[~azure.mgmt.network.v2019_09_01.models.InboundNatRule] - :param inbound_nat_pools: Defines an external port range for inbound NAT - to a single backend port on NICs associated with a load balancer. Inbound - NAT rules are created automatically for each NIC associated with the Load - Balancer using an external port from this range. Defining an Inbound NAT - pool on your Load Balancer is mutually exclusive with defining inbound Nat - rules. Inbound NAT pools are referenced from virtual machine scale sets. - NICs that are associated with individual virtual machines cannot reference - an inbound NAT pool. They have to reference individual inbound NAT rules. - :type inbound_nat_pools: - list[~azure.mgmt.network.v2019_09_01.models.InboundNatPool] - :param outbound_rules: The outbound rules. - :type outbound_rules: - list[~azure.mgmt.network.v2019_09_01.models.OutboundRule] - :ivar resource_guid: The resource GUID property of the load balancer - resource. - :vartype resource_guid: str - :ivar provisioning_state: The provisioning state of the load balancer - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'resource_guid': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'sku': {'key': 'sku', 'type': 'LoadBalancerSku'}, - 'frontend_ip_configurations': {'key': 'properties.frontendIPConfigurations', 'type': '[FrontendIPConfiguration]'}, - 'backend_address_pools': {'key': 'properties.backendAddressPools', 'type': '[BackendAddressPool]'}, - 'load_balancing_rules': {'key': 'properties.loadBalancingRules', 'type': '[LoadBalancingRule]'}, - 'probes': {'key': 'properties.probes', 'type': '[Probe]'}, - 'inbound_nat_rules': {'key': 'properties.inboundNatRules', 'type': '[InboundNatRule]'}, - 'inbound_nat_pools': {'key': 'properties.inboundNatPools', 'type': '[InboundNatPool]'}, - 'outbound_rules': {'key': 'properties.outboundRules', 'type': '[OutboundRule]'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, sku=None, frontend_ip_configurations=None, backend_address_pools=None, load_balancing_rules=None, probes=None, inbound_nat_rules=None, inbound_nat_pools=None, outbound_rules=None, **kwargs) -> None: - super(LoadBalancer, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.sku = sku - self.frontend_ip_configurations = frontend_ip_configurations - self.backend_address_pools = backend_address_pools - self.load_balancing_rules = load_balancing_rules - self.probes = probes - self.inbound_nat_rules = inbound_nat_rules - self.inbound_nat_pools = inbound_nat_pools - self.outbound_rules = outbound_rules - self.resource_guid = None - self.provisioning_state = None - self.etag = None - - -class LoadBalancerSku(Model): - """SKU of a load balancer. - - :param name: Name of a load balancer SKU. Possible values include: - 'Basic', 'Standard' - :type name: str or - ~azure.mgmt.network.v2019_09_01.models.LoadBalancerSkuName - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - } - - def __init__(self, *, name=None, **kwargs) -> None: - super(LoadBalancerSku, self).__init__(**kwargs) - self.name = name - - -class LoadBalancingRule(SubResource): - """A load balancing rule for a load balancer. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :param frontend_ip_configuration: A reference to frontend IP addresses. - :type frontend_ip_configuration: - ~azure.mgmt.network.v2019_09_01.models.SubResource - :param backend_address_pool: A reference to a pool of DIPs. Inbound - traffic is randomly load balanced across IPs in the backend IPs. - :type backend_address_pool: - ~azure.mgmt.network.v2019_09_01.models.SubResource - :param probe: The reference of the load balancer probe used by the load - balancing rule. - :type probe: ~azure.mgmt.network.v2019_09_01.models.SubResource - :param protocol: Required. The reference to the transport protocol used by - the load balancing rule. Possible values include: 'Udp', 'Tcp', 'All' - :type protocol: str or - ~azure.mgmt.network.v2019_09_01.models.TransportProtocol - :param load_distribution: The load distribution policy for this rule. - Possible values include: 'Default', 'SourceIP', 'SourceIPProtocol' - :type load_distribution: str or - ~azure.mgmt.network.v2019_09_01.models.LoadDistribution - :param frontend_port: Required. The port for the external endpoint. Port - numbers for each rule must be unique within the Load Balancer. Acceptable - values are between 0 and 65534. Note that value 0 enables "Any Port". - :type frontend_port: int - :param backend_port: The port used for internal connections on the - endpoint. Acceptable values are between 0 and 65535. Note that value 0 - enables "Any Port". - :type backend_port: int - :param idle_timeout_in_minutes: The timeout for the TCP idle connection. - The value can be set between 4 and 30 minutes. The default value is 4 - minutes. This element is only used when the protocol is set to TCP. - :type idle_timeout_in_minutes: int - :param enable_floating_ip: Configures a virtual machine's endpoint for the - floating IP capability required to configure a SQL AlwaysOn Availability - Group. This setting is required when using the SQL AlwaysOn Availability - Groups in SQL server. This setting can't be changed after you create the - endpoint. - :type enable_floating_ip: bool - :param enable_tcp_reset: Receive bidirectional TCP Reset on TCP flow idle - timeout or unexpected connection termination. This element is only used - when the protocol is set to TCP. - :type enable_tcp_reset: bool - :param disable_outbound_snat: Configures SNAT for the VMs in the backend - pool to use the publicIP address specified in the frontend of the load - balancing rule. - :type disable_outbound_snat: bool - :ivar provisioning_state: The provisioning state of the load balancing - rule resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param name: The name of the resource that is unique within the set of - load balancing rules used by the load balancer. This name can be used to - access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :ivar type: Type of the resource. - :vartype type: str - """ - - _validation = { - 'protocol': {'required': True}, - 'frontend_port': {'required': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'frontend_ip_configuration': {'key': 'properties.frontendIPConfiguration', 'type': 'SubResource'}, - 'backend_address_pool': {'key': 'properties.backendAddressPool', 'type': 'SubResource'}, - 'probe': {'key': 'properties.probe', 'type': 'SubResource'}, - 'protocol': {'key': 'properties.protocol', 'type': 'str'}, - 'load_distribution': {'key': 'properties.loadDistribution', 'type': 'str'}, - 'frontend_port': {'key': 'properties.frontendPort', 'type': 'int'}, - 'backend_port': {'key': 'properties.backendPort', 'type': 'int'}, - 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, - 'enable_floating_ip': {'key': 'properties.enableFloatingIP', 'type': 'bool'}, - 'enable_tcp_reset': {'key': 'properties.enableTcpReset', 'type': 'bool'}, - 'disable_outbound_snat': {'key': 'properties.disableOutboundSnat', 'type': 'bool'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, protocol, frontend_port: int, id: str=None, frontend_ip_configuration=None, backend_address_pool=None, probe=None, load_distribution=None, backend_port: int=None, idle_timeout_in_minutes: int=None, enable_floating_ip: bool=None, enable_tcp_reset: bool=None, disable_outbound_snat: bool=None, name: str=None, **kwargs) -> None: - super(LoadBalancingRule, self).__init__(id=id, **kwargs) - self.frontend_ip_configuration = frontend_ip_configuration - self.backend_address_pool = backend_address_pool - self.probe = probe - self.protocol = protocol - self.load_distribution = load_distribution - self.frontend_port = frontend_port - self.backend_port = backend_port - self.idle_timeout_in_minutes = idle_timeout_in_minutes - self.enable_floating_ip = enable_floating_ip - self.enable_tcp_reset = enable_tcp_reset - self.disable_outbound_snat = disable_outbound_snat - self.provisioning_state = None - self.name = name - self.etag = None - self.type = None - - -class LocalNetworkGateway(Resource): - """A common class for general resource information. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param local_network_address_space: Local network site address space. - :type local_network_address_space: - ~azure.mgmt.network.v2019_09_01.models.AddressSpace - :param gateway_ip_address: IP address of local network gateway. - :type gateway_ip_address: str - :param bgp_settings: Local network gateway's BGP speaker settings. - :type bgp_settings: ~azure.mgmt.network.v2019_09_01.models.BgpSettings - :ivar resource_guid: The resource GUID property of the local network - gateway resource. - :vartype resource_guid: str - :ivar provisioning_state: The provisioning state of the local network - gateway resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'resource_guid': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'local_network_address_space': {'key': 'properties.localNetworkAddressSpace', 'type': 'AddressSpace'}, - 'gateway_ip_address': {'key': 'properties.gatewayIpAddress', 'type': 'str'}, - 'bgp_settings': {'key': 'properties.bgpSettings', 'type': 'BgpSettings'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, local_network_address_space=None, gateway_ip_address: str=None, bgp_settings=None, **kwargs) -> None: - super(LocalNetworkGateway, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.local_network_address_space = local_network_address_space - self.gateway_ip_address = gateway_ip_address - self.bgp_settings = bgp_settings - self.resource_guid = None - self.provisioning_state = None - self.etag = None - - -class LogSpecification(Model): - """Description of logging specification. - - :param name: The name of the specification. - :type name: str - :param display_name: The display name of the specification. - :type display_name: str - :param blob_duration: Duration of the blob. - :type blob_duration: str - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'display_name': {'key': 'displayName', 'type': 'str'}, - 'blob_duration': {'key': 'blobDuration', 'type': 'str'}, - } - - def __init__(self, *, name: str=None, display_name: str=None, blob_duration: str=None, **kwargs) -> None: - super(LogSpecification, self).__init__(**kwargs) - self.name = name - self.display_name = display_name - self.blob_duration = blob_duration - - -class ManagedRuleGroupOverride(Model): - """Defines a managed rule group override setting. - - All required parameters must be populated in order to send to Azure. - - :param rule_group_name: Required. Describes the managed rule group to - override. - :type rule_group_name: str - :param rules: List of rules that will be disabled. If none specified, all - rules in the group will be disabled. - :type rules: - list[~azure.mgmt.network.v2019_09_01.models.ManagedRuleOverride] - """ - - _validation = { - 'rule_group_name': {'required': True}, - } - - _attribute_map = { - 'rule_group_name': {'key': 'ruleGroupName', 'type': 'str'}, - 'rules': {'key': 'rules', 'type': '[ManagedRuleOverride]'}, - } - - def __init__(self, *, rule_group_name: str, rules=None, **kwargs) -> None: - super(ManagedRuleGroupOverride, self).__init__(**kwargs) - self.rule_group_name = rule_group_name - self.rules = rules - - -class ManagedRuleOverride(Model): - """Defines a managed rule group override setting. - - All required parameters must be populated in order to send to Azure. - - :param rule_id: Required. Identifier for the managed rule. - :type rule_id: str - :param state: Describes the state of the managed rule. Defaults to - Disabled if not specified. Possible values include: 'Disabled' - :type state: str or - ~azure.mgmt.network.v2019_09_01.models.ManagedRuleEnabledState - """ - - _validation = { - 'rule_id': {'required': True}, - } - - _attribute_map = { - 'rule_id': {'key': 'ruleId', 'type': 'str'}, - 'state': {'key': 'state', 'type': 'str'}, - } - - def __init__(self, *, rule_id: str, state=None, **kwargs) -> None: - super(ManagedRuleOverride, self).__init__(**kwargs) - self.rule_id = rule_id - self.state = state - - -class ManagedRulesDefinition(Model): - """Allow to exclude some variable satisfy the condition for the WAF check. - - All required parameters must be populated in order to send to Azure. - - :param exclusions: Describes the Exclusions that are applied on the - policy. - :type exclusions: - list[~azure.mgmt.network.v2019_09_01.models.OwaspCrsExclusionEntry] - :param managed_rule_sets: Required. Describes the ruleSets that are - associated with the policy. - :type managed_rule_sets: - list[~azure.mgmt.network.v2019_09_01.models.ManagedRuleSet] - """ - - _validation = { - 'managed_rule_sets': {'required': True}, - } - - _attribute_map = { - 'exclusions': {'key': 'exclusions', 'type': '[OwaspCrsExclusionEntry]'}, - 'managed_rule_sets': {'key': 'managedRuleSets', 'type': '[ManagedRuleSet]'}, - } - - def __init__(self, *, managed_rule_sets, exclusions=None, **kwargs) -> None: - super(ManagedRulesDefinition, self).__init__(**kwargs) - self.exclusions = exclusions - self.managed_rule_sets = managed_rule_sets - - -class ManagedRuleSet(Model): - """Defines a managed rule set. - - All required parameters must be populated in order to send to Azure. - - :param rule_set_type: Required. Defines the rule set type to use. - :type rule_set_type: str - :param rule_set_version: Required. Defines the version of the rule set to - use. - :type rule_set_version: str - :param rule_group_overrides: Defines the rule group overrides to apply to - the rule set. - :type rule_group_overrides: - list[~azure.mgmt.network.v2019_09_01.models.ManagedRuleGroupOverride] - """ - - _validation = { - 'rule_set_type': {'required': True}, - 'rule_set_version': {'required': True}, - } - - _attribute_map = { - 'rule_set_type': {'key': 'ruleSetType', 'type': 'str'}, - 'rule_set_version': {'key': 'ruleSetVersion', 'type': 'str'}, - 'rule_group_overrides': {'key': 'ruleGroupOverrides', 'type': '[ManagedRuleGroupOverride]'}, - } - - def __init__(self, *, rule_set_type: str, rule_set_version: str, rule_group_overrides=None, **kwargs) -> None: - super(ManagedRuleSet, self).__init__(**kwargs) - self.rule_set_type = rule_set_type - self.rule_set_version = rule_set_version - self.rule_group_overrides = rule_group_overrides - - -class ManagedServiceIdentity(Model): - """Identity for the resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar principal_id: The principal id of the system assigned identity. This - property will only be provided for a system assigned identity. - :vartype principal_id: str - :ivar tenant_id: The tenant id of the system assigned identity. This - property will only be provided for a system assigned identity. - :vartype tenant_id: str - :param type: The type of identity used for the resource. The type - 'SystemAssigned, UserAssigned' includes both an implicitly created - identity and a set of user assigned identities. The type 'None' will - remove any identities from the virtual machine. Possible values include: - 'SystemAssigned', 'UserAssigned', 'SystemAssigned, UserAssigned', 'None' - :type type: str or - ~azure.mgmt.network.v2019_09_01.models.ResourceIdentityType - :param user_assigned_identities: The list of user identities associated - with resource. The user identity dictionary key references will be ARM - resource ids in the form: - '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. - :type user_assigned_identities: dict[str, - ~azure.mgmt.network.v2019_09_01.models.ManagedServiceIdentityUserAssignedIdentitiesValue] - """ - - _validation = { - 'principal_id': {'readonly': True}, - 'tenant_id': {'readonly': True}, - } - - _attribute_map = { - 'principal_id': {'key': 'principalId', 'type': 'str'}, - 'tenant_id': {'key': 'tenantId', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'ResourceIdentityType'}, - 'user_assigned_identities': {'key': 'userAssignedIdentities', 'type': '{ManagedServiceIdentityUserAssignedIdentitiesValue}'}, - } - - def __init__(self, *, type=None, user_assigned_identities=None, **kwargs) -> None: - super(ManagedServiceIdentity, self).__init__(**kwargs) - self.principal_id = None - self.tenant_id = None - self.type = type - self.user_assigned_identities = user_assigned_identities - - -class ManagedServiceIdentityUserAssignedIdentitiesValue(Model): - """ManagedServiceIdentityUserAssignedIdentitiesValue. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar principal_id: The principal id of user assigned identity. - :vartype principal_id: str - :ivar client_id: The client id of user assigned identity. - :vartype client_id: str - """ - - _validation = { - 'principal_id': {'readonly': True}, - 'client_id': {'readonly': True}, - } - - _attribute_map = { - 'principal_id': {'key': 'principalId', 'type': 'str'}, - 'client_id': {'key': 'clientId', 'type': 'str'}, - } - - def __init__(self, **kwargs) -> None: - super(ManagedServiceIdentityUserAssignedIdentitiesValue, self).__init__(**kwargs) - self.principal_id = None - self.client_id = None - - -class MatchCondition(Model): - """Define match conditions. - - All required parameters must be populated in order to send to Azure. - - :param match_variables: Required. List of match variables. - :type match_variables: - list[~azure.mgmt.network.v2019_09_01.models.MatchVariable] - :param operator: Required. Describes operator to be matched. Possible - values include: 'IPMatch', 'Equal', 'Contains', 'LessThan', 'GreaterThan', - 'LessThanOrEqual', 'GreaterThanOrEqual', 'BeginsWith', 'EndsWith', - 'Regex', 'GeoMatch' - :type operator: str or - ~azure.mgmt.network.v2019_09_01.models.WebApplicationFirewallOperator - :param negation_conditon: Describes if this is negate condition or not. - :type negation_conditon: bool - :param match_values: Required. Match value. - :type match_values: list[str] - :param transforms: List of transforms. - :type transforms: list[str or - ~azure.mgmt.network.v2019_09_01.models.WebApplicationFirewallTransform] - """ - - _validation = { - 'match_variables': {'required': True}, - 'operator': {'required': True}, - 'match_values': {'required': True}, - } - - _attribute_map = { - 'match_variables': {'key': 'matchVariables', 'type': '[MatchVariable]'}, - 'operator': {'key': 'operator', 'type': 'str'}, - 'negation_conditon': {'key': 'negationConditon', 'type': 'bool'}, - 'match_values': {'key': 'matchValues', 'type': '[str]'}, - 'transforms': {'key': 'transforms', 'type': '[str]'}, - } - - def __init__(self, *, match_variables, operator, match_values, negation_conditon: bool=None, transforms=None, **kwargs) -> None: - super(MatchCondition, self).__init__(**kwargs) - self.match_variables = match_variables - self.operator = operator - self.negation_conditon = negation_conditon - self.match_values = match_values - self.transforms = transforms - - -class MatchedRule(Model): - """Matched rule. - - :param rule_name: Name of the matched network security rule. - :type rule_name: str - :param action: The network traffic is allowed or denied. Possible values - are 'Allow' and 'Deny'. - :type action: str - """ - - _attribute_map = { - 'rule_name': {'key': 'ruleName', 'type': 'str'}, - 'action': {'key': 'action', 'type': 'str'}, - } - - def __init__(self, *, rule_name: str=None, action: str=None, **kwargs) -> None: - super(MatchedRule, self).__init__(**kwargs) - self.rule_name = rule_name - self.action = action - - -class MatchVariable(Model): - """Define match variables. - - All required parameters must be populated in order to send to Azure. - - :param variable_name: Required. Match Variable. Possible values include: - 'RemoteAddr', 'RequestMethod', 'QueryString', 'PostArgs', 'RequestUri', - 'RequestHeaders', 'RequestBody', 'RequestCookies' - :type variable_name: str or - ~azure.mgmt.network.v2019_09_01.models.WebApplicationFirewallMatchVariable - :param selector: Describes field of the matchVariable collection. - :type selector: str - """ - - _validation = { - 'variable_name': {'required': True}, - } - - _attribute_map = { - 'variable_name': {'key': 'variableName', 'type': 'str'}, - 'selector': {'key': 'selector', 'type': 'str'}, - } - - def __init__(self, *, variable_name, selector: str=None, **kwargs) -> None: - super(MatchVariable, self).__init__(**kwargs) - self.variable_name = variable_name - self.selector = selector - - -class MetricSpecification(Model): - """Description of metrics specification. - - :param name: The name of the metric. - :type name: str - :param display_name: The display name of the metric. - :type display_name: str - :param display_description: The description of the metric. - :type display_description: str - :param unit: Units the metric to be displayed in. - :type unit: str - :param aggregation_type: The aggregation type. - :type aggregation_type: str - :param availabilities: List of availability. - :type availabilities: - list[~azure.mgmt.network.v2019_09_01.models.Availability] - :param enable_regional_mdm_account: Whether regional MDM account enabled. - :type enable_regional_mdm_account: bool - :param fill_gap_with_zero: Whether gaps would be filled with zeros. - :type fill_gap_with_zero: bool - :param metric_filter_pattern: Pattern for the filter of the metric. - :type metric_filter_pattern: str - :param dimensions: List of dimensions. - :type dimensions: list[~azure.mgmt.network.v2019_09_01.models.Dimension] - :param is_internal: Whether the metric is internal. - :type is_internal: bool - :param source_mdm_account: The source MDM account. - :type source_mdm_account: str - :param source_mdm_namespace: The source MDM namespace. - :type source_mdm_namespace: str - :param resource_id_dimension_name_override: The resource Id dimension name - override. - :type resource_id_dimension_name_override: str - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'display_name': {'key': 'displayName', 'type': 'str'}, - 'display_description': {'key': 'displayDescription', 'type': 'str'}, - 'unit': {'key': 'unit', 'type': 'str'}, - 'aggregation_type': {'key': 'aggregationType', 'type': 'str'}, - 'availabilities': {'key': 'availabilities', 'type': '[Availability]'}, - 'enable_regional_mdm_account': {'key': 'enableRegionalMdmAccount', 'type': 'bool'}, - 'fill_gap_with_zero': {'key': 'fillGapWithZero', 'type': 'bool'}, - 'metric_filter_pattern': {'key': 'metricFilterPattern', 'type': 'str'}, - 'dimensions': {'key': 'dimensions', 'type': '[Dimension]'}, - 'is_internal': {'key': 'isInternal', 'type': 'bool'}, - 'source_mdm_account': {'key': 'sourceMdmAccount', 'type': 'str'}, - 'source_mdm_namespace': {'key': 'sourceMdmNamespace', 'type': 'str'}, - 'resource_id_dimension_name_override': {'key': 'resourceIdDimensionNameOverride', 'type': 'str'}, - } - - def __init__(self, *, name: str=None, display_name: str=None, display_description: str=None, unit: str=None, aggregation_type: str=None, availabilities=None, enable_regional_mdm_account: bool=None, fill_gap_with_zero: bool=None, metric_filter_pattern: str=None, dimensions=None, is_internal: bool=None, source_mdm_account: str=None, source_mdm_namespace: str=None, resource_id_dimension_name_override: str=None, **kwargs) -> None: - super(MetricSpecification, self).__init__(**kwargs) - self.name = name - self.display_name = display_name - self.display_description = display_description - self.unit = unit - self.aggregation_type = aggregation_type - self.availabilities = availabilities - self.enable_regional_mdm_account = enable_regional_mdm_account - self.fill_gap_with_zero = fill_gap_with_zero - self.metric_filter_pattern = metric_filter_pattern - self.dimensions = dimensions - self.is_internal = is_internal - self.source_mdm_account = source_mdm_account - self.source_mdm_namespace = source_mdm_namespace - self.resource_id_dimension_name_override = resource_id_dimension_name_override - - -class NatGateway(Resource): - """Nat Gateway resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param sku: The nat gateway SKU. - :type sku: ~azure.mgmt.network.v2019_09_01.models.NatGatewaySku - :param idle_timeout_in_minutes: The idle timeout of the nat gateway. - :type idle_timeout_in_minutes: int - :param public_ip_addresses: An array of public ip addresses associated - with the nat gateway resource. - :type public_ip_addresses: - list[~azure.mgmt.network.v2019_09_01.models.SubResource] - :param public_ip_prefixes: An array of public ip prefixes associated with - the nat gateway resource. - :type public_ip_prefixes: - list[~azure.mgmt.network.v2019_09_01.models.SubResource] - :ivar subnets: An array of references to the subnets using this nat - gateway resource. - :vartype subnets: list[~azure.mgmt.network.v2019_09_01.models.SubResource] - :ivar resource_guid: The resource GUID property of the NAT gateway - resource. - :vartype resource_guid: str - :ivar provisioning_state: The provisioning state of the NAT gateway - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param zones: A list of availability zones denoting the zone in which Nat - Gateway should be deployed. - :type zones: list[str] - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'subnets': {'readonly': True}, - 'resource_guid': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'sku': {'key': 'sku', 'type': 'NatGatewaySku'}, - 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, - 'public_ip_addresses': {'key': 'properties.publicIpAddresses', 'type': '[SubResource]'}, - 'public_ip_prefixes': {'key': 'properties.publicIpPrefixes', 'type': '[SubResource]'}, - 'subnets': {'key': 'properties.subnets', 'type': '[SubResource]'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'zones': {'key': 'zones', 'type': '[str]'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, sku=None, idle_timeout_in_minutes: int=None, public_ip_addresses=None, public_ip_prefixes=None, zones=None, **kwargs) -> None: - super(NatGateway, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.sku = sku - self.idle_timeout_in_minutes = idle_timeout_in_minutes - self.public_ip_addresses = public_ip_addresses - self.public_ip_prefixes = public_ip_prefixes - self.subnets = None - self.resource_guid = None - self.provisioning_state = None - self.zones = zones - self.etag = None - - -class NatGatewaySku(Model): - """SKU of nat gateway. - - :param name: Name of Nat Gateway SKU. Possible values include: 'Standard' - :type name: str or - ~azure.mgmt.network.v2019_09_01.models.NatGatewaySkuName - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - } - - def __init__(self, *, name=None, **kwargs) -> None: - super(NatGatewaySku, self).__init__(**kwargs) - self.name = name - - -class NetworkConfigurationDiagnosticParameters(Model): - """Parameters to get network configuration diagnostic. - - All required parameters must be populated in order to send to Azure. - - :param target_resource_id: Required. The ID of the target resource to - perform network configuration diagnostic. Valid options are VM, - NetworkInterface, VMSS/NetworkInterface and Application Gateway. - :type target_resource_id: str - :param verbosity_level: Verbosity level. Possible values include: - 'Normal', 'Minimum', 'Full' - :type verbosity_level: str or - ~azure.mgmt.network.v2019_09_01.models.VerbosityLevel - :param profiles: Required. List of network configuration diagnostic - profiles. - :type profiles: - list[~azure.mgmt.network.v2019_09_01.models.NetworkConfigurationDiagnosticProfile] - """ - - _validation = { - 'target_resource_id': {'required': True}, - 'profiles': {'required': True}, - } - - _attribute_map = { - 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, - 'verbosity_level': {'key': 'verbosityLevel', 'type': 'str'}, - 'profiles': {'key': 'profiles', 'type': '[NetworkConfigurationDiagnosticProfile]'}, - } - - def __init__(self, *, target_resource_id: str, profiles, verbosity_level=None, **kwargs) -> None: - super(NetworkConfigurationDiagnosticParameters, self).__init__(**kwargs) - self.target_resource_id = target_resource_id - self.verbosity_level = verbosity_level - self.profiles = profiles - - -class NetworkConfigurationDiagnosticProfile(Model): - """Parameters to compare with network configuration. - - All required parameters must be populated in order to send to Azure. - - :param direction: Required. The direction of the traffic. Possible values - include: 'Inbound', 'Outbound' - :type direction: str or ~azure.mgmt.network.v2019_09_01.models.Direction - :param protocol: Required. Protocol to be verified on. Accepted values are - '*', TCP, UDP. - :type protocol: str - :param source: Required. Traffic source. Accepted values are '*', IP - Address/CIDR, Service Tag. - :type source: str - :param destination: Required. Traffic destination. Accepted values are: - '*', IP Address/CIDR, Service Tag. - :type destination: str - :param destination_port: Required. Traffic destination port. Accepted - values are '*' and a single port in the range (0 - 65535). - :type destination_port: str - """ - - _validation = { - 'direction': {'required': True}, - 'protocol': {'required': True}, - 'source': {'required': True}, - 'destination': {'required': True}, - 'destination_port': {'required': True}, - } - - _attribute_map = { - 'direction': {'key': 'direction', 'type': 'str'}, - 'protocol': {'key': 'protocol', 'type': 'str'}, - 'source': {'key': 'source', 'type': 'str'}, - 'destination': {'key': 'destination', 'type': 'str'}, - 'destination_port': {'key': 'destinationPort', 'type': 'str'}, - } - - def __init__(self, *, direction, protocol: str, source: str, destination: str, destination_port: str, **kwargs) -> None: - super(NetworkConfigurationDiagnosticProfile, self).__init__(**kwargs) - self.direction = direction - self.protocol = protocol - self.source = source - self.destination = destination - self.destination_port = destination_port - - -class NetworkConfigurationDiagnosticResponse(Model): - """Results of network configuration diagnostic on the target resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar results: List of network configuration diagnostic results. - :vartype results: - list[~azure.mgmt.network.v2019_09_01.models.NetworkConfigurationDiagnosticResult] - """ - - _validation = { - 'results': {'readonly': True}, - } - - _attribute_map = { - 'results': {'key': 'results', 'type': '[NetworkConfigurationDiagnosticResult]'}, - } - - def __init__(self, **kwargs) -> None: - super(NetworkConfigurationDiagnosticResponse, self).__init__(**kwargs) - self.results = None - - -class NetworkConfigurationDiagnosticResult(Model): - """Network configuration diagnostic result corresponded to provided traffic - query. - - :param profile: Network configuration diagnostic profile. - :type profile: - ~azure.mgmt.network.v2019_09_01.models.NetworkConfigurationDiagnosticProfile - :param network_security_group_result: Network security group result. - :type network_security_group_result: - ~azure.mgmt.network.v2019_09_01.models.NetworkSecurityGroupResult - """ - - _attribute_map = { - 'profile': {'key': 'profile', 'type': 'NetworkConfigurationDiagnosticProfile'}, - 'network_security_group_result': {'key': 'networkSecurityGroupResult', 'type': 'NetworkSecurityGroupResult'}, - } - - def __init__(self, *, profile=None, network_security_group_result=None, **kwargs) -> None: - super(NetworkConfigurationDiagnosticResult, self).__init__(**kwargs) - self.profile = profile - self.network_security_group_result = network_security_group_result - - -class NetworkIntentPolicy(Resource): - """Network Intent Policy resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, **kwargs) -> None: - super(NetworkIntentPolicy, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.etag = None - - -class NetworkIntentPolicyConfiguration(Model): - """Details of NetworkIntentPolicyConfiguration for - PrepareNetworkPoliciesRequest. - - :param network_intent_policy_name: The name of the Network Intent Policy - for storing in target subscription. - :type network_intent_policy_name: str - :param source_network_intent_policy: Source network intent policy. - :type source_network_intent_policy: - ~azure.mgmt.network.v2019_09_01.models.NetworkIntentPolicy - """ - - _attribute_map = { - 'network_intent_policy_name': {'key': 'networkIntentPolicyName', 'type': 'str'}, - 'source_network_intent_policy': {'key': 'sourceNetworkIntentPolicy', 'type': 'NetworkIntentPolicy'}, - } - - def __init__(self, *, network_intent_policy_name: str=None, source_network_intent_policy=None, **kwargs) -> None: - super(NetworkIntentPolicyConfiguration, self).__init__(**kwargs) - self.network_intent_policy_name = network_intent_policy_name - self.source_network_intent_policy = source_network_intent_policy - - -class NetworkInterface(Resource): - """A network interface in a resource group. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :ivar virtual_machine: The reference of a virtual machine. - :vartype virtual_machine: - ~azure.mgmt.network.v2019_09_01.models.SubResource - :param network_security_group: The reference of the NetworkSecurityGroup - resource. - :type network_security_group: - ~azure.mgmt.network.v2019_09_01.models.NetworkSecurityGroup - :ivar private_endpoint: A reference to the private endpoint to which the - network interface is linked. - :vartype private_endpoint: - ~azure.mgmt.network.v2019_09_01.models.PrivateEndpoint - :param ip_configurations: A list of IPConfigurations of the network - interface. - :type ip_configurations: - list[~azure.mgmt.network.v2019_09_01.models.NetworkInterfaceIPConfiguration] - :ivar tap_configurations: A list of TapConfigurations of the network - interface. - :vartype tap_configurations: - list[~azure.mgmt.network.v2019_09_01.models.NetworkInterfaceTapConfiguration] - :param dns_settings: The DNS settings in network interface. - :type dns_settings: - ~azure.mgmt.network.v2019_09_01.models.NetworkInterfaceDnsSettings - :ivar mac_address: The MAC address of the network interface. - :vartype mac_address: str - :ivar primary: Whether this is a primary network interface on a virtual - machine. - :vartype primary: bool - :param enable_accelerated_networking: If the network interface is - accelerated networking enabled. - :type enable_accelerated_networking: bool - :param enable_ip_forwarding: Indicates whether IP forwarding is enabled on - this network interface. - :type enable_ip_forwarding: bool - :ivar hosted_workloads: A list of references to linked BareMetal - resources. - :vartype hosted_workloads: list[str] - :ivar resource_guid: The resource GUID property of the network interface - resource. - :vartype resource_guid: str - :ivar provisioning_state: The provisioning state of the network interface - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'virtual_machine': {'readonly': True}, - 'private_endpoint': {'readonly': True}, - 'tap_configurations': {'readonly': True}, - 'mac_address': {'readonly': True}, - 'primary': {'readonly': True}, - 'hosted_workloads': {'readonly': True}, - 'resource_guid': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'virtual_machine': {'key': 'properties.virtualMachine', 'type': 'SubResource'}, - 'network_security_group': {'key': 'properties.networkSecurityGroup', 'type': 'NetworkSecurityGroup'}, - 'private_endpoint': {'key': 'properties.privateEndpoint', 'type': 'PrivateEndpoint'}, - 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[NetworkInterfaceIPConfiguration]'}, - 'tap_configurations': {'key': 'properties.tapConfigurations', 'type': '[NetworkInterfaceTapConfiguration]'}, - 'dns_settings': {'key': 'properties.dnsSettings', 'type': 'NetworkInterfaceDnsSettings'}, - 'mac_address': {'key': 'properties.macAddress', 'type': 'str'}, - 'primary': {'key': 'properties.primary', 'type': 'bool'}, - 'enable_accelerated_networking': {'key': 'properties.enableAcceleratedNetworking', 'type': 'bool'}, - 'enable_ip_forwarding': {'key': 'properties.enableIPForwarding', 'type': 'bool'}, - 'hosted_workloads': {'key': 'properties.hostedWorkloads', 'type': '[str]'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, network_security_group=None, ip_configurations=None, dns_settings=None, enable_accelerated_networking: bool=None, enable_ip_forwarding: bool=None, **kwargs) -> None: - super(NetworkInterface, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.virtual_machine = None - self.network_security_group = network_security_group - self.private_endpoint = None - self.ip_configurations = ip_configurations - self.tap_configurations = None - self.dns_settings = dns_settings - self.mac_address = None - self.primary = None - self.enable_accelerated_networking = enable_accelerated_networking - self.enable_ip_forwarding = enable_ip_forwarding - self.hosted_workloads = None - self.resource_guid = None - self.provisioning_state = None - self.etag = None - - -class NetworkInterfaceAssociation(Model): - """Network interface and its custom security rules. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar id: Network interface ID. - :vartype id: str - :param security_rules: Collection of custom security rules. - :type security_rules: - list[~azure.mgmt.network.v2019_09_01.models.SecurityRule] - """ - - _validation = { - 'id': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'security_rules': {'key': 'securityRules', 'type': '[SecurityRule]'}, - } - - def __init__(self, *, security_rules=None, **kwargs) -> None: - super(NetworkInterfaceAssociation, self).__init__(**kwargs) - self.id = None - self.security_rules = security_rules - - -class NetworkInterfaceDnsSettings(Model): - """DNS settings of a network interface. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param dns_servers: List of DNS servers IP addresses. Use - 'AzureProvidedDNS' to switch to azure provided DNS resolution. - 'AzureProvidedDNS' value cannot be combined with other IPs, it must be the - only value in dnsServers collection. - :type dns_servers: list[str] - :ivar applied_dns_servers: If the VM that uses this NIC is part of an - Availability Set, then this list will have the union of all DNS servers - from all NICs that are part of the Availability Set. This property is what - is configured on each of those VMs. - :vartype applied_dns_servers: list[str] - :param internal_dns_name_label: Relative DNS name for this NIC used for - internal communications between VMs in the same virtual network. - :type internal_dns_name_label: str - :ivar internal_fqdn: Fully qualified DNS name supporting internal - communications between VMs in the same virtual network. - :vartype internal_fqdn: str - :ivar internal_domain_name_suffix: Even if internalDnsNameLabel is not - specified, a DNS entry is created for the primary NIC of the VM. This DNS - name can be constructed by concatenating the VM name with the value of - internalDomainNameSuffix. - :vartype internal_domain_name_suffix: str - """ - - _validation = { - 'applied_dns_servers': {'readonly': True}, - 'internal_fqdn': {'readonly': True}, - 'internal_domain_name_suffix': {'readonly': True}, - } - - _attribute_map = { - 'dns_servers': {'key': 'dnsServers', 'type': '[str]'}, - 'applied_dns_servers': {'key': 'appliedDnsServers', 'type': '[str]'}, - 'internal_dns_name_label': {'key': 'internalDnsNameLabel', 'type': 'str'}, - 'internal_fqdn': {'key': 'internalFqdn', 'type': 'str'}, - 'internal_domain_name_suffix': {'key': 'internalDomainNameSuffix', 'type': 'str'}, - } - - def __init__(self, *, dns_servers=None, internal_dns_name_label: str=None, **kwargs) -> None: - super(NetworkInterfaceDnsSettings, self).__init__(**kwargs) - self.dns_servers = dns_servers - self.applied_dns_servers = None - self.internal_dns_name_label = internal_dns_name_label - self.internal_fqdn = None - self.internal_domain_name_suffix = None - - -class NetworkInterfaceIPConfiguration(SubResource): - """IPConfiguration in a network interface. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param virtual_network_taps: The reference to Virtual Network Taps. - :type virtual_network_taps: - list[~azure.mgmt.network.v2019_09_01.models.VirtualNetworkTap] - :param application_gateway_backend_address_pools: The reference of - ApplicationGatewayBackendAddressPool resource. - :type application_gateway_backend_address_pools: - list[~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayBackendAddressPool] - :param load_balancer_backend_address_pools: The reference of - LoadBalancerBackendAddressPool resource. - :type load_balancer_backend_address_pools: - list[~azure.mgmt.network.v2019_09_01.models.BackendAddressPool] - :param load_balancer_inbound_nat_rules: A list of references of - LoadBalancerInboundNatRules. - :type load_balancer_inbound_nat_rules: - list[~azure.mgmt.network.v2019_09_01.models.InboundNatRule] - :param private_ip_address: Private IP address of the IP configuration. - :type private_ip_address: str - :param private_ip_allocation_method: The private IP address allocation - method. Possible values include: 'Static', 'Dynamic' - :type private_ip_allocation_method: str or - ~azure.mgmt.network.v2019_09_01.models.IPAllocationMethod - :param private_ip_address_version: Whether the specific IP configuration - is IPv4 or IPv6. Default is IPv4. Possible values include: 'IPv4', 'IPv6' - :type private_ip_address_version: str or - ~azure.mgmt.network.v2019_09_01.models.IPVersion - :param subnet: Subnet bound to the IP configuration. - :type subnet: ~azure.mgmt.network.v2019_09_01.models.Subnet - :param primary: Whether this is a primary customer address on the network - interface. - :type primary: bool - :param public_ip_address: Public IP address bound to the IP configuration. - :type public_ip_address: - ~azure.mgmt.network.v2019_09_01.models.PublicIPAddress - :param application_security_groups: Application security groups in which - the IP configuration is included. - :type application_security_groups: - list[~azure.mgmt.network.v2019_09_01.models.ApplicationSecurityGroup] - :ivar provisioning_state: The provisioning state of the network interface - IP configuration. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :ivar private_link_connection_properties: PrivateLinkConnection properties - for the network interface. - :vartype private_link_connection_properties: - ~azure.mgmt.network.v2019_09_01.models.NetworkInterfaceIPConfigurationPrivateLinkConnectionProperties - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'private_link_connection_properties': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'virtual_network_taps': {'key': 'properties.virtualNetworkTaps', 'type': '[VirtualNetworkTap]'}, - 'application_gateway_backend_address_pools': {'key': 'properties.applicationGatewayBackendAddressPools', 'type': '[ApplicationGatewayBackendAddressPool]'}, - 'load_balancer_backend_address_pools': {'key': 'properties.loadBalancerBackendAddressPools', 'type': '[BackendAddressPool]'}, - 'load_balancer_inbound_nat_rules': {'key': 'properties.loadBalancerInboundNatRules', 'type': '[InboundNatRule]'}, - 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, - 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, - 'private_ip_address_version': {'key': 'properties.privateIPAddressVersion', 'type': 'str'}, - 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, - 'primary': {'key': 'properties.primary', 'type': 'bool'}, - 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'PublicIPAddress'}, - 'application_security_groups': {'key': 'properties.applicationSecurityGroups', 'type': '[ApplicationSecurityGroup]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'private_link_connection_properties': {'key': 'properties.privateLinkConnectionProperties', 'type': 'NetworkInterfaceIPConfigurationPrivateLinkConnectionProperties'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, virtual_network_taps=None, application_gateway_backend_address_pools=None, load_balancer_backend_address_pools=None, load_balancer_inbound_nat_rules=None, private_ip_address: str=None, private_ip_allocation_method=None, private_ip_address_version=None, subnet=None, primary: bool=None, public_ip_address=None, application_security_groups=None, name: str=None, **kwargs) -> None: - super(NetworkInterfaceIPConfiguration, self).__init__(id=id, **kwargs) - self.virtual_network_taps = virtual_network_taps - self.application_gateway_backend_address_pools = application_gateway_backend_address_pools - self.load_balancer_backend_address_pools = load_balancer_backend_address_pools - self.load_balancer_inbound_nat_rules = load_balancer_inbound_nat_rules - self.private_ip_address = private_ip_address - self.private_ip_allocation_method = private_ip_allocation_method - self.private_ip_address_version = private_ip_address_version - self.subnet = subnet - self.primary = primary - self.public_ip_address = public_ip_address - self.application_security_groups = application_security_groups - self.provisioning_state = None - self.private_link_connection_properties = None - self.name = name - self.etag = None - - -class NetworkInterfaceIPConfigurationPrivateLinkConnectionProperties(Model): - """PrivateLinkConnection properties for the network interface. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar group_id: The group ID for current private link connection. - :vartype group_id: str - :ivar required_member_name: The required member name for current private - link connection. - :vartype required_member_name: str - :ivar fqdns: List of FQDNs for current private link connection. - :vartype fqdns: list[str] - """ - - _validation = { - 'group_id': {'readonly': True}, - 'required_member_name': {'readonly': True}, - 'fqdns': {'readonly': True}, - } - - _attribute_map = { - 'group_id': {'key': 'groupId', 'type': 'str'}, - 'required_member_name': {'key': 'requiredMemberName', 'type': 'str'}, - 'fqdns': {'key': 'fqdns', 'type': '[str]'}, - } - - def __init__(self, **kwargs) -> None: - super(NetworkInterfaceIPConfigurationPrivateLinkConnectionProperties, self).__init__(**kwargs) - self.group_id = None - self.required_member_name = None - self.fqdns = None - - -class NetworkInterfaceTapConfiguration(SubResource): - """Tap configuration in a Network Interface. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param virtual_network_tap: The reference of the Virtual Network Tap - resource. - :type virtual_network_tap: - ~azure.mgmt.network.v2019_09_01.models.VirtualNetworkTap - :ivar provisioning_state: The provisioning state of the network interface - tap configuration resource. Possible values include: 'Succeeded', - 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :ivar type: Sub Resource type. - :vartype type: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'virtual_network_tap': {'key': 'properties.virtualNetworkTap', 'type': 'VirtualNetworkTap'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, virtual_network_tap=None, name: str=None, **kwargs) -> None: - super(NetworkInterfaceTapConfiguration, self).__init__(id=id, **kwargs) - self.virtual_network_tap = virtual_network_tap - self.provisioning_state = None - self.name = name - self.etag = None - self.type = None - - -class NetworkProfile(Resource): - """Network profile resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :ivar container_network_interfaces: List of child container network - interfaces. - :vartype container_network_interfaces: - list[~azure.mgmt.network.v2019_09_01.models.ContainerNetworkInterface] - :param container_network_interface_configurations: List of chid container - network interface configurations. - :type container_network_interface_configurations: - list[~azure.mgmt.network.v2019_09_01.models.ContainerNetworkInterfaceConfiguration] - :ivar resource_guid: The resource GUID property of the network profile - resource. - :vartype resource_guid: str - :ivar provisioning_state: The provisioning state of the network profile - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'container_network_interfaces': {'readonly': True}, - 'resource_guid': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'container_network_interfaces': {'key': 'properties.containerNetworkInterfaces', 'type': '[ContainerNetworkInterface]'}, - 'container_network_interface_configurations': {'key': 'properties.containerNetworkInterfaceConfigurations', 'type': '[ContainerNetworkInterfaceConfiguration]'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, container_network_interface_configurations=None, **kwargs) -> None: - super(NetworkProfile, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.container_network_interfaces = None - self.container_network_interface_configurations = container_network_interface_configurations - self.resource_guid = None - self.provisioning_state = None - self.etag = None - - -class NetworkRuleCondition(FirewallPolicyRuleCondition): - """Rule condition of type network. - - All required parameters must be populated in order to send to Azure. - - :param name: Name of the rule condition. - :type name: str - :param description: Description of the rule condition. - :type description: str - :param rule_condition_type: Required. Constant filled by server. - :type rule_condition_type: str - :param ip_protocols: Array of FirewallPolicyRuleConditionNetworkProtocols. - :type ip_protocols: list[str or - ~azure.mgmt.network.v2019_09_01.models.FirewallPolicyRuleConditionNetworkProtocol] - :param source_addresses: List of source IP addresses for this rule. - :type source_addresses: list[str] - :param destination_addresses: List of destination IP addresses or Service - Tags. - :type destination_addresses: list[str] - :param destination_ports: List of destination ports. - :type destination_ports: list[str] - """ - - _validation = { - 'rule_condition_type': {'required': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'description': {'key': 'description', 'type': 'str'}, - 'rule_condition_type': {'key': 'ruleConditionType', 'type': 'str'}, - 'ip_protocols': {'key': 'ipProtocols', 'type': '[str]'}, - 'source_addresses': {'key': 'sourceAddresses', 'type': '[str]'}, - 'destination_addresses': {'key': 'destinationAddresses', 'type': '[str]'}, - 'destination_ports': {'key': 'destinationPorts', 'type': '[str]'}, - } - - def __init__(self, *, name: str=None, description: str=None, ip_protocols=None, source_addresses=None, destination_addresses=None, destination_ports=None, **kwargs) -> None: - super(NetworkRuleCondition, self).__init__(name=name, description=description, **kwargs) - self.ip_protocols = ip_protocols - self.source_addresses = source_addresses - self.destination_addresses = destination_addresses - self.destination_ports = destination_ports - self.rule_condition_type = 'NetworkRuleCondition' - - -class NetworkSecurityGroup(Resource): - """NetworkSecurityGroup resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param security_rules: A collection of security rules of the network - security group. - :type security_rules: - list[~azure.mgmt.network.v2019_09_01.models.SecurityRule] - :ivar default_security_rules: The default security rules of network - security group. - :vartype default_security_rules: - list[~azure.mgmt.network.v2019_09_01.models.SecurityRule] - :ivar network_interfaces: A collection of references to network - interfaces. - :vartype network_interfaces: - list[~azure.mgmt.network.v2019_09_01.models.NetworkInterface] - :ivar subnets: A collection of references to subnets. - :vartype subnets: list[~azure.mgmt.network.v2019_09_01.models.Subnet] - :ivar resource_guid: The resource GUID property of the network security - group resource. - :vartype resource_guid: str - :ivar provisioning_state: The provisioning state of the network security - group resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'default_security_rules': {'readonly': True}, - 'network_interfaces': {'readonly': True}, - 'subnets': {'readonly': True}, - 'resource_guid': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'security_rules': {'key': 'properties.securityRules', 'type': '[SecurityRule]'}, - 'default_security_rules': {'key': 'properties.defaultSecurityRules', 'type': '[SecurityRule]'}, - 'network_interfaces': {'key': 'properties.networkInterfaces', 'type': '[NetworkInterface]'}, - 'subnets': {'key': 'properties.subnets', 'type': '[Subnet]'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, security_rules=None, **kwargs) -> None: - super(NetworkSecurityGroup, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.security_rules = security_rules - self.default_security_rules = None - self.network_interfaces = None - self.subnets = None - self.resource_guid = None - self.provisioning_state = None - self.etag = None - - -class NetworkSecurityGroupResult(Model): - """Network configuration diagnostic result corresponded provided traffic - query. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param security_rule_access_result: The network traffic is allowed or - denied. Possible values include: 'Allow', 'Deny' - :type security_rule_access_result: str or - ~azure.mgmt.network.v2019_09_01.models.SecurityRuleAccess - :ivar evaluated_network_security_groups: List of results network security - groups diagnostic. - :vartype evaluated_network_security_groups: - list[~azure.mgmt.network.v2019_09_01.models.EvaluatedNetworkSecurityGroup] - """ - - _validation = { - 'evaluated_network_security_groups': {'readonly': True}, - } - - _attribute_map = { - 'security_rule_access_result': {'key': 'securityRuleAccessResult', 'type': 'str'}, - 'evaluated_network_security_groups': {'key': 'evaluatedNetworkSecurityGroups', 'type': '[EvaluatedNetworkSecurityGroup]'}, - } - - def __init__(self, *, security_rule_access_result=None, **kwargs) -> None: - super(NetworkSecurityGroupResult, self).__init__(**kwargs) - self.security_rule_access_result = security_rule_access_result - self.evaluated_network_security_groups = None - - -class NetworkSecurityRulesEvaluationResult(Model): - """Network security rules evaluation result. - - :param name: Name of the network security rule. - :type name: str - :param protocol_matched: Value indicating whether protocol is matched. - :type protocol_matched: bool - :param source_matched: Value indicating whether source is matched. - :type source_matched: bool - :param source_port_matched: Value indicating whether source port is - matched. - :type source_port_matched: bool - :param destination_matched: Value indicating whether destination is - matched. - :type destination_matched: bool - :param destination_port_matched: Value indicating whether destination port - is matched. - :type destination_port_matched: bool - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'protocol_matched': {'key': 'protocolMatched', 'type': 'bool'}, - 'source_matched': {'key': 'sourceMatched', 'type': 'bool'}, - 'source_port_matched': {'key': 'sourcePortMatched', 'type': 'bool'}, - 'destination_matched': {'key': 'destinationMatched', 'type': 'bool'}, - 'destination_port_matched': {'key': 'destinationPortMatched', 'type': 'bool'}, - } - - def __init__(self, *, name: str=None, protocol_matched: bool=None, source_matched: bool=None, source_port_matched: bool=None, destination_matched: bool=None, destination_port_matched: bool=None, **kwargs) -> None: - super(NetworkSecurityRulesEvaluationResult, self).__init__(**kwargs) - self.name = name - self.protocol_matched = protocol_matched - self.source_matched = source_matched - self.source_port_matched = source_port_matched - self.destination_matched = destination_matched - self.destination_port_matched = destination_port_matched - - -class NetworkWatcher(Resource): - """Network watcher in a resource group. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :ivar provisioning_state: The provisioning state of the network watcher - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'etag': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, **kwargs) -> None: - super(NetworkWatcher, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.etag = None - self.provisioning_state = None - - -class NextHopParameters(Model): - """Parameters that define the source and destination endpoint. - - All required parameters must be populated in order to send to Azure. - - :param target_resource_id: Required. The resource identifier of the target - resource against which the action is to be performed. - :type target_resource_id: str - :param source_ip_address: Required. The source IP address. - :type source_ip_address: str - :param destination_ip_address: Required. The destination IP address. - :type destination_ip_address: str - :param target_nic_resource_id: The NIC ID. (If VM has multiple NICs and IP - forwarding is enabled on any of the nics, then this parameter must be - specified. Otherwise optional). - :type target_nic_resource_id: str - """ - - _validation = { - 'target_resource_id': {'required': True}, - 'source_ip_address': {'required': True}, - 'destination_ip_address': {'required': True}, - } - - _attribute_map = { - 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, - 'source_ip_address': {'key': 'sourceIPAddress', 'type': 'str'}, - 'destination_ip_address': {'key': 'destinationIPAddress', 'type': 'str'}, - 'target_nic_resource_id': {'key': 'targetNicResourceId', 'type': 'str'}, - } - - def __init__(self, *, target_resource_id: str, source_ip_address: str, destination_ip_address: str, target_nic_resource_id: str=None, **kwargs) -> None: - super(NextHopParameters, self).__init__(**kwargs) - self.target_resource_id = target_resource_id - self.source_ip_address = source_ip_address - self.destination_ip_address = destination_ip_address - self.target_nic_resource_id = target_nic_resource_id - - -class NextHopResult(Model): - """The information about next hop from the specified VM. - - :param next_hop_type: Next hop type. Possible values include: 'Internet', - 'VirtualAppliance', 'VirtualNetworkGateway', 'VnetLocal', - 'HyperNetGateway', 'None' - :type next_hop_type: str or - ~azure.mgmt.network.v2019_09_01.models.NextHopType - :param next_hop_ip_address: Next hop IP Address. - :type next_hop_ip_address: str - :param route_table_id: The resource identifier for the route table - associated with the route being returned. If the route being returned does - not correspond to any user created routes then this field will be the - string 'System Route'. - :type route_table_id: str - """ - - _attribute_map = { - 'next_hop_type': {'key': 'nextHopType', 'type': 'str'}, - 'next_hop_ip_address': {'key': 'nextHopIpAddress', 'type': 'str'}, - 'route_table_id': {'key': 'routeTableId', 'type': 'str'}, - } - - def __init__(self, *, next_hop_type=None, next_hop_ip_address: str=None, route_table_id: str=None, **kwargs) -> None: - super(NextHopResult, self).__init__(**kwargs) - self.next_hop_type = next_hop_type - self.next_hop_ip_address = next_hop_ip_address - self.route_table_id = route_table_id - - -class Operation(Model): - """Network REST API operation definition. - - :param name: Operation name: {provider}/{resource}/{operation}. - :type name: str - :param display: Display metadata associated with the operation. - :type display: ~azure.mgmt.network.v2019_09_01.models.OperationDisplay - :param origin: Origin of the operation. - :type origin: str - :param service_specification: Specification of the service. - :type service_specification: - ~azure.mgmt.network.v2019_09_01.models.OperationPropertiesFormatServiceSpecification - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'display': {'key': 'display', 'type': 'OperationDisplay'}, - 'origin': {'key': 'origin', 'type': 'str'}, - 'service_specification': {'key': 'properties.serviceSpecification', 'type': 'OperationPropertiesFormatServiceSpecification'}, - } - - def __init__(self, *, name: str=None, display=None, origin: str=None, service_specification=None, **kwargs) -> None: - super(Operation, self).__init__(**kwargs) - self.name = name - self.display = display - self.origin = origin - self.service_specification = service_specification - - -class OperationDisplay(Model): - """Display metadata associated with the operation. - - :param provider: Service provider: Microsoft Network. - :type provider: str - :param resource: Resource on which the operation is performed. - :type resource: str - :param operation: Type of the operation: get, read, delete, etc. - :type operation: str - :param description: Description of the operation. - :type description: str - """ - - _attribute_map = { - 'provider': {'key': 'provider', 'type': 'str'}, - 'resource': {'key': 'resource', 'type': 'str'}, - 'operation': {'key': 'operation', 'type': 'str'}, - 'description': {'key': 'description', 'type': 'str'}, - } - - def __init__(self, *, provider: str=None, resource: str=None, operation: str=None, description: str=None, **kwargs) -> None: - super(OperationDisplay, self).__init__(**kwargs) - self.provider = provider - self.resource = resource - self.operation = operation - self.description = description - - -class OperationPropertiesFormatServiceSpecification(Model): - """Specification of the service. - - :param metric_specifications: Operation service specification. - :type metric_specifications: - list[~azure.mgmt.network.v2019_09_01.models.MetricSpecification] - :param log_specifications: Operation log specification. - :type log_specifications: - list[~azure.mgmt.network.v2019_09_01.models.LogSpecification] - """ - - _attribute_map = { - 'metric_specifications': {'key': 'metricSpecifications', 'type': '[MetricSpecification]'}, - 'log_specifications': {'key': 'logSpecifications', 'type': '[LogSpecification]'}, - } - - def __init__(self, *, metric_specifications=None, log_specifications=None, **kwargs) -> None: - super(OperationPropertiesFormatServiceSpecification, self).__init__(**kwargs) - self.metric_specifications = metric_specifications - self.log_specifications = log_specifications - - -class OutboundRule(SubResource): - """Outbound rule of the load balancer. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :param allocated_outbound_ports: The number of outbound ports to be used - for NAT. - :type allocated_outbound_ports: int - :param frontend_ip_configurations: Required. The Frontend IP addresses of - the load balancer. - :type frontend_ip_configurations: - list[~azure.mgmt.network.v2019_09_01.models.SubResource] - :param backend_address_pool: Required. A reference to a pool of DIPs. - Outbound traffic is randomly load balanced across IPs in the backend IPs. - :type backend_address_pool: - ~azure.mgmt.network.v2019_09_01.models.SubResource - :ivar provisioning_state: The provisioning state of the outbound rule - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param protocol: Required. The protocol for the outbound rule in load - balancer. Possible values include: 'Tcp', 'Udp', 'All' - :type protocol: str or - ~azure.mgmt.network.v2019_09_01.models.LoadBalancerOutboundRuleProtocol - :param enable_tcp_reset: Receive bidirectional TCP Reset on TCP flow idle - timeout or unexpected connection termination. This element is only used - when the protocol is set to TCP. - :type enable_tcp_reset: bool - :param idle_timeout_in_minutes: The timeout for the TCP idle connection. - :type idle_timeout_in_minutes: int - :param name: The name of the resource that is unique within the set of - outbound rules used by the load balancer. This name can be used to access - the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :ivar type: Type of the resource. - :vartype type: str - """ - - _validation = { - 'frontend_ip_configurations': {'required': True}, - 'backend_address_pool': {'required': True}, - 'provisioning_state': {'readonly': True}, - 'protocol': {'required': True}, - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'allocated_outbound_ports': {'key': 'properties.allocatedOutboundPorts', 'type': 'int'}, - 'frontend_ip_configurations': {'key': 'properties.frontendIPConfigurations', 'type': '[SubResource]'}, - 'backend_address_pool': {'key': 'properties.backendAddressPool', 'type': 'SubResource'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'protocol': {'key': 'properties.protocol', 'type': 'str'}, - 'enable_tcp_reset': {'key': 'properties.enableTcpReset', 'type': 'bool'}, - 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, frontend_ip_configurations, backend_address_pool, protocol, id: str=None, allocated_outbound_ports: int=None, enable_tcp_reset: bool=None, idle_timeout_in_minutes: int=None, name: str=None, **kwargs) -> None: - super(OutboundRule, self).__init__(id=id, **kwargs) - self.allocated_outbound_ports = allocated_outbound_ports - self.frontend_ip_configurations = frontend_ip_configurations - self.backend_address_pool = backend_address_pool - self.provisioning_state = None - self.protocol = protocol - self.enable_tcp_reset = enable_tcp_reset - self.idle_timeout_in_minutes = idle_timeout_in_minutes - self.name = name - self.etag = None - self.type = None - - -class OwaspCrsExclusionEntry(Model): - """Allow to exclude some variable satisfy the condition for the WAF check. - - All required parameters must be populated in order to send to Azure. - - :param match_variable: Required. The variable to be excluded. Possible - values include: 'RequestHeaderNames', 'RequestCookieNames', - 'RequestArgNames' - :type match_variable: str or - ~azure.mgmt.network.v2019_09_01.models.OwaspCrsExclusionEntryMatchVariable - :param selector_match_operator: Required. When matchVariable is a - collection, operate on the selector to specify which elements in the - collection this exclusion applies to. Possible values include: 'Equals', - 'Contains', 'StartsWith', 'EndsWith', 'EqualsAny' - :type selector_match_operator: str or - ~azure.mgmt.network.v2019_09_01.models.OwaspCrsExclusionEntrySelectorMatchOperator - :param selector: Required. When matchVariable is a collection, operator - used to specify which elements in the collection this exclusion applies - to. - :type selector: str - """ - - _validation = { - 'match_variable': {'required': True}, - 'selector_match_operator': {'required': True}, - 'selector': {'required': True}, - } - - _attribute_map = { - 'match_variable': {'key': 'matchVariable', 'type': 'str'}, - 'selector_match_operator': {'key': 'selectorMatchOperator', 'type': 'str'}, - 'selector': {'key': 'selector', 'type': 'str'}, - } - - def __init__(self, *, match_variable, selector_match_operator, selector: str, **kwargs) -> None: - super(OwaspCrsExclusionEntry, self).__init__(**kwargs) - self.match_variable = match_variable - self.selector_match_operator = selector_match_operator - self.selector = selector - - -class P2SConnectionConfiguration(SubResource): - """P2SConnectionConfiguration Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param vpn_client_address_pool: The reference of the address space - resource which represents Address space for P2S VpnClient. - :type vpn_client_address_pool: - ~azure.mgmt.network.v2019_09_01.models.AddressSpace - :ivar provisioning_state: The provisioning state of the - P2SConnectionConfiguration resource. Possible values include: 'Succeeded', - 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'vpn_client_address_pool': {'key': 'properties.vpnClientAddressPool', 'type': 'AddressSpace'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, vpn_client_address_pool=None, name: str=None, **kwargs) -> None: - super(P2SConnectionConfiguration, self).__init__(id=id, **kwargs) - self.vpn_client_address_pool = vpn_client_address_pool - self.provisioning_state = None - self.name = name - self.etag = None - - -class P2SVpnConnectionHealth(Model): - """P2S Vpn connection detailed health written to sas url. - - :param sas_url: Returned sas url of the blob to which the p2s vpn - connection detailed health will be written. - :type sas_url: str - """ - - _attribute_map = { - 'sas_url': {'key': 'sasUrl', 'type': 'str'}, - } - - def __init__(self, *, sas_url: str=None, **kwargs) -> None: - super(P2SVpnConnectionHealth, self).__init__(**kwargs) - self.sas_url = sas_url - - -class P2SVpnConnectionHealthRequest(Model): - """List of P2S Vpn connection health request. - - :param vpn_user_names_filter: The list of p2s vpn user names whose p2s vpn - connection detailed health to retrieve for. - :type vpn_user_names_filter: list[str] - :param output_blob_sas_url: The sas-url to download the P2S Vpn connection - health detail. - :type output_blob_sas_url: str - """ - - _attribute_map = { - 'vpn_user_names_filter': {'key': 'vpnUserNamesFilter', 'type': '[str]'}, - 'output_blob_sas_url': {'key': 'outputBlobSasUrl', 'type': 'str'}, - } - - def __init__(self, *, vpn_user_names_filter=None, output_blob_sas_url: str=None, **kwargs) -> None: - super(P2SVpnConnectionHealthRequest, self).__init__(**kwargs) - self.vpn_user_names_filter = vpn_user_names_filter - self.output_blob_sas_url = output_blob_sas_url - - -class P2SVpnGateway(Resource): - """P2SVpnGateway Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param virtual_hub: The VirtualHub to which the gateway belongs. - :type virtual_hub: ~azure.mgmt.network.v2019_09_01.models.SubResource - :param p2_sconnection_configurations: List of all p2s connection - configurations of the gateway. - :type p2_sconnection_configurations: - list[~azure.mgmt.network.v2019_09_01.models.P2SConnectionConfiguration] - :ivar provisioning_state: The provisioning state of the P2S VPN gateway - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param vpn_gateway_scale_unit: The scale unit for this p2s vpn gateway. - :type vpn_gateway_scale_unit: int - :param vpn_server_configuration: The VpnServerConfiguration to which the - p2sVpnGateway is attached to. - :type vpn_server_configuration: - ~azure.mgmt.network.v2019_09_01.models.SubResource - :ivar vpn_client_connection_health: All P2S VPN clients' connection health - status. - :vartype vpn_client_connection_health: - ~azure.mgmt.network.v2019_09_01.models.VpnClientConnectionHealth - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'vpn_client_connection_health': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'virtual_hub': {'key': 'properties.virtualHub', 'type': 'SubResource'}, - 'p2_sconnection_configurations': {'key': 'properties.p2SConnectionConfigurations', 'type': '[P2SConnectionConfiguration]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'vpn_gateway_scale_unit': {'key': 'properties.vpnGatewayScaleUnit', 'type': 'int'}, - 'vpn_server_configuration': {'key': 'properties.vpnServerConfiguration', 'type': 'SubResource'}, - 'vpn_client_connection_health': {'key': 'properties.vpnClientConnectionHealth', 'type': 'VpnClientConnectionHealth'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, virtual_hub=None, p2_sconnection_configurations=None, vpn_gateway_scale_unit: int=None, vpn_server_configuration=None, **kwargs) -> None: - super(P2SVpnGateway, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.virtual_hub = virtual_hub - self.p2_sconnection_configurations = p2_sconnection_configurations - self.provisioning_state = None - self.vpn_gateway_scale_unit = vpn_gateway_scale_unit - self.vpn_server_configuration = vpn_server_configuration - self.vpn_client_connection_health = None - self.etag = None - - -class P2SVpnProfileParameters(Model): - """Vpn Client Parameters for package generation. - - :param authentication_method: VPN client authentication method. Possible - values include: 'EAPTLS', 'EAPMSCHAPv2' - :type authentication_method: str or - ~azure.mgmt.network.v2019_09_01.models.AuthenticationMethod - """ - - _attribute_map = { - 'authentication_method': {'key': 'authenticationMethod', 'type': 'str'}, - } - - def __init__(self, *, authentication_method=None, **kwargs) -> None: - super(P2SVpnProfileParameters, self).__init__(**kwargs) - self.authentication_method = authentication_method - - -class PacketCapture(Model): - """Parameters that define the create packet capture operation. - - All required parameters must be populated in order to send to Azure. - - :param target: Required. The ID of the targeted resource, only VM is - currently supported. - :type target: str - :param bytes_to_capture_per_packet: Number of bytes captured per packet, - the remaining bytes are truncated. Default value: 0 . - :type bytes_to_capture_per_packet: int - :param total_bytes_per_session: Maximum size of the capture output. - Default value: 1073741824 . - :type total_bytes_per_session: int - :param time_limit_in_seconds: Maximum duration of the capture session in - seconds. Default value: 18000 . - :type time_limit_in_seconds: int - :param storage_location: Required. Describes the storage location for a - packet capture session. - :type storage_location: - ~azure.mgmt.network.v2019_09_01.models.PacketCaptureStorageLocation - :param filters: A list of packet capture filters. - :type filters: - list[~azure.mgmt.network.v2019_09_01.models.PacketCaptureFilter] - """ - - _validation = { - 'target': {'required': True}, - 'storage_location': {'required': True}, - } - - _attribute_map = { - 'target': {'key': 'properties.target', 'type': 'str'}, - 'bytes_to_capture_per_packet': {'key': 'properties.bytesToCapturePerPacket', 'type': 'int'}, - 'total_bytes_per_session': {'key': 'properties.totalBytesPerSession', 'type': 'int'}, - 'time_limit_in_seconds': {'key': 'properties.timeLimitInSeconds', 'type': 'int'}, - 'storage_location': {'key': 'properties.storageLocation', 'type': 'PacketCaptureStorageLocation'}, - 'filters': {'key': 'properties.filters', 'type': '[PacketCaptureFilter]'}, - } - - def __init__(self, *, target: str, storage_location, bytes_to_capture_per_packet: int=0, total_bytes_per_session: int=1073741824, time_limit_in_seconds: int=18000, filters=None, **kwargs) -> None: - super(PacketCapture, self).__init__(**kwargs) - self.target = target - self.bytes_to_capture_per_packet = bytes_to_capture_per_packet - self.total_bytes_per_session = total_bytes_per_session - self.time_limit_in_seconds = time_limit_in_seconds - self.storage_location = storage_location - self.filters = filters - - -class PacketCaptureFilter(Model): - """Filter that is applied to packet capture request. Multiple filters can be - applied. - - :param protocol: Protocol to be filtered on. Possible values include: - 'TCP', 'UDP', 'Any'. Default value: "Any" . - :type protocol: str or ~azure.mgmt.network.v2019_09_01.models.PcProtocol - :param local_ip_address: Local IP Address to be filtered on. Notation: - "127.0.0.1" for single address entry. "127.0.0.1-127.0.0.255" for range. - "127.0.0.1;127.0.0.5"? for multiple entries. Multiple ranges not currently - supported. Mixing ranges with multiple entries not currently supported. - Default = null. - :type local_ip_address: str - :param remote_ip_address: Local IP Address to be filtered on. Notation: - "127.0.0.1" for single address entry. "127.0.0.1-127.0.0.255" for range. - "127.0.0.1;127.0.0.5;" for multiple entries. Multiple ranges not currently - supported. Mixing ranges with multiple entries not currently supported. - Default = null. - :type remote_ip_address: str - :param local_port: Local port to be filtered on. Notation: "80" for single - port entry."80-85" for range. "80;443;" for multiple entries. Multiple - ranges not currently supported. Mixing ranges with multiple entries not - currently supported. Default = null. - :type local_port: str - :param remote_port: Remote port to be filtered on. Notation: "80" for - single port entry."80-85" for range. "80;443;" for multiple entries. - Multiple ranges not currently supported. Mixing ranges with multiple - entries not currently supported. Default = null. - :type remote_port: str - """ - - _attribute_map = { - 'protocol': {'key': 'protocol', 'type': 'str'}, - 'local_ip_address': {'key': 'localIPAddress', 'type': 'str'}, - 'remote_ip_address': {'key': 'remoteIPAddress', 'type': 'str'}, - 'local_port': {'key': 'localPort', 'type': 'str'}, - 'remote_port': {'key': 'remotePort', 'type': 'str'}, - } - - def __init__(self, *, protocol="Any", local_ip_address: str=None, remote_ip_address: str=None, local_port: str=None, remote_port: str=None, **kwargs) -> None: - super(PacketCaptureFilter, self).__init__(**kwargs) - self.protocol = protocol - self.local_ip_address = local_ip_address - self.remote_ip_address = remote_ip_address - self.local_port = local_port - self.remote_port = remote_port - - -class PacketCaptureParameters(Model): - """Parameters that define the create packet capture operation. - - All required parameters must be populated in order to send to Azure. - - :param target: Required. The ID of the targeted resource, only VM is - currently supported. - :type target: str - :param bytes_to_capture_per_packet: Number of bytes captured per packet, - the remaining bytes are truncated. Default value: 0 . - :type bytes_to_capture_per_packet: int - :param total_bytes_per_session: Maximum size of the capture output. - Default value: 1073741824 . - :type total_bytes_per_session: int - :param time_limit_in_seconds: Maximum duration of the capture session in - seconds. Default value: 18000 . - :type time_limit_in_seconds: int - :param storage_location: Required. Describes the storage location for a - packet capture session. - :type storage_location: - ~azure.mgmt.network.v2019_09_01.models.PacketCaptureStorageLocation - :param filters: A list of packet capture filters. - :type filters: - list[~azure.mgmt.network.v2019_09_01.models.PacketCaptureFilter] - """ - - _validation = { - 'target': {'required': True}, - 'storage_location': {'required': True}, - } - - _attribute_map = { - 'target': {'key': 'target', 'type': 'str'}, - 'bytes_to_capture_per_packet': {'key': 'bytesToCapturePerPacket', 'type': 'int'}, - 'total_bytes_per_session': {'key': 'totalBytesPerSession', 'type': 'int'}, - 'time_limit_in_seconds': {'key': 'timeLimitInSeconds', 'type': 'int'}, - 'storage_location': {'key': 'storageLocation', 'type': 'PacketCaptureStorageLocation'}, - 'filters': {'key': 'filters', 'type': '[PacketCaptureFilter]'}, - } - - def __init__(self, *, target: str, storage_location, bytes_to_capture_per_packet: int=0, total_bytes_per_session: int=1073741824, time_limit_in_seconds: int=18000, filters=None, **kwargs) -> None: - super(PacketCaptureParameters, self).__init__(**kwargs) - self.target = target - self.bytes_to_capture_per_packet = bytes_to_capture_per_packet - self.total_bytes_per_session = total_bytes_per_session - self.time_limit_in_seconds = time_limit_in_seconds - self.storage_location = storage_location - self.filters = filters - - -class PacketCaptureQueryStatusResult(Model): - """Status of packet capture session. - - :param name: The name of the packet capture resource. - :type name: str - :param id: The ID of the packet capture resource. - :type id: str - :param capture_start_time: The start time of the packet capture session. - :type capture_start_time: datetime - :param packet_capture_status: The status of the packet capture session. - Possible values include: 'NotStarted', 'Running', 'Stopped', 'Error', - 'Unknown' - :type packet_capture_status: str or - ~azure.mgmt.network.v2019_09_01.models.PcStatus - :param stop_reason: The reason the current packet capture session was - stopped. - :type stop_reason: str - :param packet_capture_error: List of errors of packet capture session. - :type packet_capture_error: list[str or - ~azure.mgmt.network.v2019_09_01.models.PcError] - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'id': {'key': 'id', 'type': 'str'}, - 'capture_start_time': {'key': 'captureStartTime', 'type': 'iso-8601'}, - 'packet_capture_status': {'key': 'packetCaptureStatus', 'type': 'str'}, - 'stop_reason': {'key': 'stopReason', 'type': 'str'}, - 'packet_capture_error': {'key': 'packetCaptureError', 'type': '[str]'}, - } - - def __init__(self, *, name: str=None, id: str=None, capture_start_time=None, packet_capture_status=None, stop_reason: str=None, packet_capture_error=None, **kwargs) -> None: - super(PacketCaptureQueryStatusResult, self).__init__(**kwargs) - self.name = name - self.id = id - self.capture_start_time = capture_start_time - self.packet_capture_status = packet_capture_status - self.stop_reason = stop_reason - self.packet_capture_error = packet_capture_error - - -class PacketCaptureResult(Model): - """Information about packet capture session. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :ivar name: Name of the packet capture session. - :vartype name: str - :ivar id: ID of the packet capture operation. - :vartype id: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :param target: Required. The ID of the targeted resource, only VM is - currently supported. - :type target: str - :param bytes_to_capture_per_packet: Number of bytes captured per packet, - the remaining bytes are truncated. Default value: 0 . - :type bytes_to_capture_per_packet: int - :param total_bytes_per_session: Maximum size of the capture output. - Default value: 1073741824 . - :type total_bytes_per_session: int - :param time_limit_in_seconds: Maximum duration of the capture session in - seconds. Default value: 18000 . - :type time_limit_in_seconds: int - :param storage_location: Required. Describes the storage location for a - packet capture session. - :type storage_location: - ~azure.mgmt.network.v2019_09_01.models.PacketCaptureStorageLocation - :param filters: A list of packet capture filters. - :type filters: - list[~azure.mgmt.network.v2019_09_01.models.PacketCaptureFilter] - :ivar provisioning_state: The provisioning state of the packet capture - session. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - """ - - _validation = { - 'name': {'readonly': True}, - 'id': {'readonly': True}, - 'etag': {'readonly': True}, - 'target': {'required': True}, - 'storage_location': {'required': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'id': {'key': 'id', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'target': {'key': 'properties.target', 'type': 'str'}, - 'bytes_to_capture_per_packet': {'key': 'properties.bytesToCapturePerPacket', 'type': 'int'}, - 'total_bytes_per_session': {'key': 'properties.totalBytesPerSession', 'type': 'int'}, - 'time_limit_in_seconds': {'key': 'properties.timeLimitInSeconds', 'type': 'int'}, - 'storage_location': {'key': 'properties.storageLocation', 'type': 'PacketCaptureStorageLocation'}, - 'filters': {'key': 'properties.filters', 'type': '[PacketCaptureFilter]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - } - - def __init__(self, *, target: str, storage_location, bytes_to_capture_per_packet: int=0, total_bytes_per_session: int=1073741824, time_limit_in_seconds: int=18000, filters=None, **kwargs) -> None: - super(PacketCaptureResult, self).__init__(**kwargs) - self.name = None - self.id = None - self.etag = None - self.target = target - self.bytes_to_capture_per_packet = bytes_to_capture_per_packet - self.total_bytes_per_session = total_bytes_per_session - self.time_limit_in_seconds = time_limit_in_seconds - self.storage_location = storage_location - self.filters = filters - self.provisioning_state = None - - -class PacketCaptureStorageLocation(Model): - """Describes the storage location for a packet capture session. - - :param storage_id: The ID of the storage account to save the packet - capture session. Required if no local file path is provided. - :type storage_id: str - :param storage_path: The URI of the storage path to save the packet - capture. Must be a well-formed URI describing the location to save the - packet capture. - :type storage_path: str - :param file_path: A valid local path on the targeting VM. Must include the - name of the capture file (*.cap). For linux virtual machine it must start - with /var/captures. Required if no storage ID is provided, otherwise - optional. - :type file_path: str - """ - - _attribute_map = { - 'storage_id': {'key': 'storageId', 'type': 'str'}, - 'storage_path': {'key': 'storagePath', 'type': 'str'}, - 'file_path': {'key': 'filePath', 'type': 'str'}, - } - - def __init__(self, *, storage_id: str=None, storage_path: str=None, file_path: str=None, **kwargs) -> None: - super(PacketCaptureStorageLocation, self).__init__(**kwargs) - self.storage_id = storage_id - self.storage_path = storage_path - self.file_path = file_path - - -class PatchRouteFilter(SubResource): - """Route Filter Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param rules: Collection of RouteFilterRules contained within a route - filter. - :type rules: list[~azure.mgmt.network.v2019_09_01.models.RouteFilterRule] - :ivar peerings: A collection of references to express route circuit - peerings. - :vartype peerings: - list[~azure.mgmt.network.v2019_09_01.models.ExpressRouteCircuitPeering] - :ivar ipv6_peerings: A collection of references to express route circuit - ipv6 peerings. - :vartype ipv6_peerings: - list[~azure.mgmt.network.v2019_09_01.models.ExpressRouteCircuitPeering] - :ivar provisioning_state: The provisioning state of the route filter - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :ivar name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :vartype name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :ivar type: Resource type. - :vartype type: str - :param tags: Resource tags. - :type tags: dict[str, str] - """ - - _validation = { - 'peerings': {'readonly': True}, - 'ipv6_peerings': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'name': {'readonly': True}, - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'rules': {'key': 'properties.rules', 'type': '[RouteFilterRule]'}, - 'peerings': {'key': 'properties.peerings', 'type': '[ExpressRouteCircuitPeering]'}, - 'ipv6_peerings': {'key': 'properties.ipv6Peerings', 'type': '[ExpressRouteCircuitPeering]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - } - - def __init__(self, *, id: str=None, rules=None, tags=None, **kwargs) -> None: - super(PatchRouteFilter, self).__init__(id=id, **kwargs) - self.rules = rules - self.peerings = None - self.ipv6_peerings = None - self.provisioning_state = None - self.name = None - self.etag = None - self.type = None - self.tags = tags - - -class PatchRouteFilterRule(SubResource): - """Route Filter Rule Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :param access: Required. The access type of the rule. Possible values - include: 'Allow', 'Deny' - :type access: str or ~azure.mgmt.network.v2019_09_01.models.Access - :ivar route_filter_rule_type: Required. The rule type of the rule. Default - value: "Community" . - :vartype route_filter_rule_type: str - :param communities: Required. The collection for bgp community values to - filter on. e.g. ['12076:5010','12076:5020']. - :type communities: list[str] - :ivar provisioning_state: The provisioning state of the route filter rule - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :ivar name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :vartype name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'access': {'required': True}, - 'route_filter_rule_type': {'required': True, 'constant': True}, - 'communities': {'required': True}, - 'provisioning_state': {'readonly': True}, - 'name': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'access': {'key': 'properties.access', 'type': 'str'}, - 'route_filter_rule_type': {'key': 'properties.routeFilterRuleType', 'type': 'str'}, - 'communities': {'key': 'properties.communities', 'type': '[str]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - route_filter_rule_type = "Community" - - def __init__(self, *, access, communities, id: str=None, **kwargs) -> None: - super(PatchRouteFilterRule, self).__init__(id=id, **kwargs) - self.access = access - self.communities = communities - self.provisioning_state = None - self.name = None - self.etag = None - - -class PeerExpressRouteCircuitConnection(SubResource): - """Peer Express Route Circuit Connection in an ExpressRouteCircuitPeering - resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param express_route_circuit_peering: Reference to Express Route Circuit - Private Peering Resource of the circuit. - :type express_route_circuit_peering: - ~azure.mgmt.network.v2019_09_01.models.SubResource - :param peer_express_route_circuit_peering: Reference to Express Route - Circuit Private Peering Resource of the peered circuit. - :type peer_express_route_circuit_peering: - ~azure.mgmt.network.v2019_09_01.models.SubResource - :param address_prefix: /29 IP address space to carve out Customer - addresses for tunnels. - :type address_prefix: str - :param circuit_connection_status: Express Route Circuit connection state. - Possible values include: 'Connected', 'Connecting', 'Disconnected' - :type circuit_connection_status: str or - ~azure.mgmt.network.v2019_09_01.models.CircuitConnectionStatus - :param connection_name: The name of the express route circuit connection - resource. - :type connection_name: str - :param auth_resource_guid: The resource guid of the authorization used for - the express route circuit connection. - :type auth_resource_guid: str - :ivar provisioning_state: The provisioning state of the peer express route - circuit connection resource. Possible values include: 'Succeeded', - 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :ivar type: Type of the resource. - :vartype type: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'express_route_circuit_peering': {'key': 'properties.expressRouteCircuitPeering', 'type': 'SubResource'}, - 'peer_express_route_circuit_peering': {'key': 'properties.peerExpressRouteCircuitPeering', 'type': 'SubResource'}, - 'address_prefix': {'key': 'properties.addressPrefix', 'type': 'str'}, - 'circuit_connection_status': {'key': 'properties.circuitConnectionStatus', 'type': 'str'}, - 'connection_name': {'key': 'properties.connectionName', 'type': 'str'}, - 'auth_resource_guid': {'key': 'properties.authResourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, express_route_circuit_peering=None, peer_express_route_circuit_peering=None, address_prefix: str=None, circuit_connection_status=None, connection_name: str=None, auth_resource_guid: str=None, name: str=None, **kwargs) -> None: - super(PeerExpressRouteCircuitConnection, self).__init__(id=id, **kwargs) - self.express_route_circuit_peering = express_route_circuit_peering - self.peer_express_route_circuit_peering = peer_express_route_circuit_peering - self.address_prefix = address_prefix - self.circuit_connection_status = circuit_connection_status - self.connection_name = connection_name - self.auth_resource_guid = auth_resource_guid - self.provisioning_state = None - self.name = name - self.etag = None - self.type = None - - -class PolicySettings(Model): - """Defines contents of a web application firewall global configuration. - - :param state: Describes if the policy is in enabled state or disabled - state. Possible values include: 'Disabled', 'Enabled' - :type state: str or - ~azure.mgmt.network.v2019_09_01.models.WebApplicationFirewallEnabledState - :param mode: Describes if it is in detection mode or prevention mode at - policy level. Possible values include: 'Prevention', 'Detection' - :type mode: str or - ~azure.mgmt.network.v2019_09_01.models.WebApplicationFirewallMode - :param request_body_check: Whether to allow WAF to check request Body. - :type request_body_check: bool - :param max_request_body_size_in_kb: Maximum request body size in Kb for - WAF. - :type max_request_body_size_in_kb: int - :param file_upload_limit_in_mb: Maximum file upload size in Mb for WAF. - :type file_upload_limit_in_mb: int - """ - - _validation = { - 'max_request_body_size_in_kb': {'maximum': 128, 'minimum': 8}, - 'file_upload_limit_in_mb': {'minimum': 0}, - } - - _attribute_map = { - 'state': {'key': 'state', 'type': 'str'}, - 'mode': {'key': 'mode', 'type': 'str'}, - 'request_body_check': {'key': 'requestBodyCheck', 'type': 'bool'}, - 'max_request_body_size_in_kb': {'key': 'maxRequestBodySizeInKb', 'type': 'int'}, - 'file_upload_limit_in_mb': {'key': 'fileUploadLimitInMb', 'type': 'int'}, - } - - def __init__(self, *, state=None, mode=None, request_body_check: bool=None, max_request_body_size_in_kb: int=None, file_upload_limit_in_mb: int=None, **kwargs) -> None: - super(PolicySettings, self).__init__(**kwargs) - self.state = state - self.mode = mode - self.request_body_check = request_body_check - self.max_request_body_size_in_kb = max_request_body_size_in_kb - self.file_upload_limit_in_mb = file_upload_limit_in_mb - - -class PrepareNetworkPoliciesRequest(Model): - """Details of PrepareNetworkPolicies for Subnet. - - :param service_name: The name of the service for which subnet is being - prepared for. - :type service_name: str - :param network_intent_policy_configurations: A list of - NetworkIntentPolicyConfiguration. - :type network_intent_policy_configurations: - list[~azure.mgmt.network.v2019_09_01.models.NetworkIntentPolicyConfiguration] - """ - - _attribute_map = { - 'service_name': {'key': 'serviceName', 'type': 'str'}, - 'network_intent_policy_configurations': {'key': 'networkIntentPolicyConfigurations', 'type': '[NetworkIntentPolicyConfiguration]'}, - } - - def __init__(self, *, service_name: str=None, network_intent_policy_configurations=None, **kwargs) -> None: - super(PrepareNetworkPoliciesRequest, self).__init__(**kwargs) - self.service_name = service_name - self.network_intent_policy_configurations = network_intent_policy_configurations - - -class PrivateEndpoint(Resource): - """Private endpoint resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param subnet: The ID of the subnet from which the private IP will be - allocated. - :type subnet: ~azure.mgmt.network.v2019_09_01.models.Subnet - :ivar network_interfaces: An array of references to the network interfaces - created for this private endpoint. - :vartype network_interfaces: - list[~azure.mgmt.network.v2019_09_01.models.NetworkInterface] - :ivar provisioning_state: The provisioning state of the private endpoint - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param private_link_service_connections: A grouping of information about - the connection to the remote resource. - :type private_link_service_connections: - list[~azure.mgmt.network.v2019_09_01.models.PrivateLinkServiceConnection] - :param manual_private_link_service_connections: A grouping of information - about the connection to the remote resource. Used when the network admin - does not have access to approve connections to the remote resource. - :type manual_private_link_service_connections: - list[~azure.mgmt.network.v2019_09_01.models.PrivateLinkServiceConnection] - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'network_interfaces': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, - 'network_interfaces': {'key': 'properties.networkInterfaces', 'type': '[NetworkInterface]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'private_link_service_connections': {'key': 'properties.privateLinkServiceConnections', 'type': '[PrivateLinkServiceConnection]'}, - 'manual_private_link_service_connections': {'key': 'properties.manualPrivateLinkServiceConnections', 'type': '[PrivateLinkServiceConnection]'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, subnet=None, private_link_service_connections=None, manual_private_link_service_connections=None, **kwargs) -> None: - super(PrivateEndpoint, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.subnet = subnet - self.network_interfaces = None - self.provisioning_state = None - self.private_link_service_connections = private_link_service_connections - self.manual_private_link_service_connections = manual_private_link_service_connections - self.etag = None - - -class PrivateEndpointConnection(SubResource): - """PrivateEndpointConnection resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar private_endpoint: The resource of private end point. - :vartype private_endpoint: - ~azure.mgmt.network.v2019_09_01.models.PrivateEndpoint - :param private_link_service_connection_state: A collection of information - about the state of the connection between service consumer and provider. - :type private_link_service_connection_state: - ~azure.mgmt.network.v2019_09_01.models.PrivateLinkServiceConnectionState - :ivar provisioning_state: The provisioning state of the private endpoint - connection resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :ivar link_identifier: The consumer link id. - :vartype link_identifier: str - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar type: The resource type. - :vartype type: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'private_endpoint': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'link_identifier': {'readonly': True}, - 'type': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'private_endpoint': {'key': 'properties.privateEndpoint', 'type': 'PrivateEndpoint'}, - 'private_link_service_connection_state': {'key': 'properties.privateLinkServiceConnectionState', 'type': 'PrivateLinkServiceConnectionState'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'link_identifier': {'key': 'properties.linkIdentifier', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, private_link_service_connection_state=None, name: str=None, **kwargs) -> None: - super(PrivateEndpointConnection, self).__init__(id=id, **kwargs) - self.private_endpoint = None - self.private_link_service_connection_state = private_link_service_connection_state - self.provisioning_state = None - self.link_identifier = None - self.name = name - self.type = None - self.etag = None - - -class PrivateLinkService(Resource): - """Private link service resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param load_balancer_frontend_ip_configurations: An array of references to - the load balancer IP configurations. - :type load_balancer_frontend_ip_configurations: - list[~azure.mgmt.network.v2019_09_01.models.FrontendIPConfiguration] - :param ip_configurations: An array of private link service IP - configurations. - :type ip_configurations: - list[~azure.mgmt.network.v2019_09_01.models.PrivateLinkServiceIpConfiguration] - :ivar network_interfaces: An array of references to the network interfaces - created for this private link service. - :vartype network_interfaces: - list[~azure.mgmt.network.v2019_09_01.models.NetworkInterface] - :ivar provisioning_state: The provisioning state of the private link - service resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :ivar private_endpoint_connections: An array of list about connections to - the private endpoint. - :vartype private_endpoint_connections: - list[~azure.mgmt.network.v2019_09_01.models.PrivateEndpointConnection] - :param visibility: The visibility list of the private link service. - :type visibility: - ~azure.mgmt.network.v2019_09_01.models.PrivateLinkServicePropertiesVisibility - :param auto_approval: The auto-approval list of the private link service. - :type auto_approval: - ~azure.mgmt.network.v2019_09_01.models.PrivateLinkServicePropertiesAutoApproval - :param fqdns: The list of Fqdn. - :type fqdns: list[str] - :ivar alias: The alias of the private link service. - :vartype alias: str - :param enable_proxy_protocol: Whether the private link service is enabled - for proxy protocol or not. - :type enable_proxy_protocol: bool - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'network_interfaces': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'private_endpoint_connections': {'readonly': True}, - 'alias': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'load_balancer_frontend_ip_configurations': {'key': 'properties.loadBalancerFrontendIpConfigurations', 'type': '[FrontendIPConfiguration]'}, - 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[PrivateLinkServiceIpConfiguration]'}, - 'network_interfaces': {'key': 'properties.networkInterfaces', 'type': '[NetworkInterface]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'private_endpoint_connections': {'key': 'properties.privateEndpointConnections', 'type': '[PrivateEndpointConnection]'}, - 'visibility': {'key': 'properties.visibility', 'type': 'PrivateLinkServicePropertiesVisibility'}, - 'auto_approval': {'key': 'properties.autoApproval', 'type': 'PrivateLinkServicePropertiesAutoApproval'}, - 'fqdns': {'key': 'properties.fqdns', 'type': '[str]'}, - 'alias': {'key': 'properties.alias', 'type': 'str'}, - 'enable_proxy_protocol': {'key': 'properties.enableProxyProtocol', 'type': 'bool'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, load_balancer_frontend_ip_configurations=None, ip_configurations=None, visibility=None, auto_approval=None, fqdns=None, enable_proxy_protocol: bool=None, **kwargs) -> None: - super(PrivateLinkService, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.load_balancer_frontend_ip_configurations = load_balancer_frontend_ip_configurations - self.ip_configurations = ip_configurations - self.network_interfaces = None - self.provisioning_state = None - self.private_endpoint_connections = None - self.visibility = visibility - self.auto_approval = auto_approval - self.fqdns = fqdns - self.alias = None - self.enable_proxy_protocol = enable_proxy_protocol - self.etag = None - - -class PrivateLinkServiceConnection(SubResource): - """PrivateLinkServiceConnection resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar provisioning_state: The provisioning state of the private link - service connection resource. Possible values include: 'Succeeded', - 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param private_link_service_id: The resource id of private link service. - :type private_link_service_id: str - :param group_ids: The ID(s) of the group(s) obtained from the remote - resource that this private endpoint should connect to. - :type group_ids: list[str] - :param request_message: A message passed to the owner of the remote - resource with this connection request. Restricted to 140 chars. - :type request_message: str - :param private_link_service_connection_state: A collection of read-only - information about the state of the connection to the remote resource. - :type private_link_service_connection_state: - ~azure.mgmt.network.v2019_09_01.models.PrivateLinkServiceConnectionState - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar type: The resource type. - :vartype type: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'type': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'private_link_service_id': {'key': 'properties.privateLinkServiceId', 'type': 'str'}, - 'group_ids': {'key': 'properties.groupIds', 'type': '[str]'}, - 'request_message': {'key': 'properties.requestMessage', 'type': 'str'}, - 'private_link_service_connection_state': {'key': 'properties.privateLinkServiceConnectionState', 'type': 'PrivateLinkServiceConnectionState'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, private_link_service_id: str=None, group_ids=None, request_message: str=None, private_link_service_connection_state=None, name: str=None, **kwargs) -> None: - super(PrivateLinkServiceConnection, self).__init__(id=id, **kwargs) - self.provisioning_state = None - self.private_link_service_id = private_link_service_id - self.group_ids = group_ids - self.request_message = request_message - self.private_link_service_connection_state = private_link_service_connection_state - self.name = name - self.type = None - self.etag = None - - -class PrivateLinkServiceConnectionState(Model): - """A collection of information about the state of the connection between - service consumer and provider. - - :param status: Indicates whether the connection has been - Approved/Rejected/Removed by the owner of the service. - :type status: str - :param description: The reason for approval/rejection of the connection. - :type description: str - :param action_required: A message indicating if changes on the service - provider require any updates on the consumer. - :type action_required: str - """ - - _attribute_map = { - 'status': {'key': 'status', 'type': 'str'}, - 'description': {'key': 'description', 'type': 'str'}, - 'action_required': {'key': 'actionRequired', 'type': 'str'}, - } - - def __init__(self, *, status: str=None, description: str=None, action_required: str=None, **kwargs) -> None: - super(PrivateLinkServiceConnectionState, self).__init__(**kwargs) - self.status = status - self.description = description - self.action_required = action_required - - -class PrivateLinkServiceIpConfiguration(SubResource): - """The private link service ip configuration. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param private_ip_address: The private IP address of the IP configuration. - :type private_ip_address: str - :param private_ip_allocation_method: The private IP address allocation - method. Possible values include: 'Static', 'Dynamic' - :type private_ip_allocation_method: str or - ~azure.mgmt.network.v2019_09_01.models.IPAllocationMethod - :param subnet: The reference to the subnet resource. - :type subnet: ~azure.mgmt.network.v2019_09_01.models.Subnet - :param primary: Whether the ip configuration is primary or not. - :type primary: bool - :ivar provisioning_state: The provisioning state of the private link - service IP configuration resource. Possible values include: 'Succeeded', - 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param private_ip_address_version: Whether the specific IP configuration - is IPv4 or IPv6. Default is IPv4. Possible values include: 'IPv4', 'IPv6' - :type private_ip_address_version: str or - ~azure.mgmt.network.v2019_09_01.models.IPVersion - :param name: The name of private link service ip configuration. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :ivar type: The resource type. - :vartype type: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, - 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, - 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, - 'primary': {'key': 'properties.primary', 'type': 'bool'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'private_ip_address_version': {'key': 'properties.privateIPAddressVersion', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, private_ip_address: str=None, private_ip_allocation_method=None, subnet=None, primary: bool=None, private_ip_address_version=None, name: str=None, **kwargs) -> None: - super(PrivateLinkServiceIpConfiguration, self).__init__(id=id, **kwargs) - self.private_ip_address = private_ip_address - self.private_ip_allocation_method = private_ip_allocation_method - self.subnet = subnet - self.primary = primary - self.provisioning_state = None - self.private_ip_address_version = private_ip_address_version - self.name = name - self.etag = None - self.type = None - - -class ResourceSet(Model): - """The base resource set for visibility and auto-approval. - - :param subscriptions: The list of subscriptions. - :type subscriptions: list[str] - """ - - _attribute_map = { - 'subscriptions': {'key': 'subscriptions', 'type': '[str]'}, - } - - def __init__(self, *, subscriptions=None, **kwargs) -> None: - super(ResourceSet, self).__init__(**kwargs) - self.subscriptions = subscriptions - - -class PrivateLinkServicePropertiesAutoApproval(ResourceSet): - """The auto-approval list of the private link service. - - :param subscriptions: The list of subscriptions. - :type subscriptions: list[str] - """ - - _attribute_map = { - 'subscriptions': {'key': 'subscriptions', 'type': '[str]'}, - } - - def __init__(self, *, subscriptions=None, **kwargs) -> None: - super(PrivateLinkServicePropertiesAutoApproval, self).__init__(subscriptions=subscriptions, **kwargs) - - -class PrivateLinkServicePropertiesVisibility(ResourceSet): - """The visibility list of the private link service. - - :param subscriptions: The list of subscriptions. - :type subscriptions: list[str] - """ - - _attribute_map = { - 'subscriptions': {'key': 'subscriptions', 'type': '[str]'}, - } - - def __init__(self, *, subscriptions=None, **kwargs) -> None: - super(PrivateLinkServicePropertiesVisibility, self).__init__(subscriptions=subscriptions, **kwargs) - - -class PrivateLinkServiceVisibility(Model): - """Response for the CheckPrivateLinkServiceVisibility API service call. - - :param visible: Private Link Service Visibility (True/False). - :type visible: bool - """ - - _attribute_map = { - 'visible': {'key': 'visible', 'type': 'bool'}, - } - - def __init__(self, *, visible: bool=None, **kwargs) -> None: - super(PrivateLinkServiceVisibility, self).__init__(**kwargs) - self.visible = visible - - -class Probe(SubResource): - """A load balancer probe. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :ivar load_balancing_rules: The load balancer rules that use this probe. - :vartype load_balancing_rules: - list[~azure.mgmt.network.v2019_09_01.models.SubResource] - :param protocol: Required. The protocol of the end point. If 'Tcp' is - specified, a received ACK is required for the probe to be successful. If - 'Http' or 'Https' is specified, a 200 OK response from the specifies URI - is required for the probe to be successful. Possible values include: - 'Http', 'Tcp', 'Https' - :type protocol: str or - ~azure.mgmt.network.v2019_09_01.models.ProbeProtocol - :param port: Required. The port for communicating the probe. Possible - values range from 1 to 65535, inclusive. - :type port: int - :param interval_in_seconds: The interval, in seconds, for how frequently - to probe the endpoint for health status. Typically, the interval is - slightly less than half the allocated timeout period (in seconds) which - allows two full probes before taking the instance out of rotation. The - default value is 15, the minimum value is 5. - :type interval_in_seconds: int - :param number_of_probes: The number of probes where if no response, will - result in stopping further traffic from being delivered to the endpoint. - This values allows endpoints to be taken out of rotation faster or slower - than the typical times used in Azure. - :type number_of_probes: int - :param request_path: The URI used for requesting health status from the - VM. Path is required if a protocol is set to http. Otherwise, it is not - allowed. There is no default value. - :type request_path: str - :ivar provisioning_state: The provisioning state of the probe resource. - Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param name: The name of the resource that is unique within the set of - probes used by the load balancer. This name can be used to access the - resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :ivar type: Type of the resource. - :vartype type: str - """ - - _validation = { - 'load_balancing_rules': {'readonly': True}, - 'protocol': {'required': True}, - 'port': {'required': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'load_balancing_rules': {'key': 'properties.loadBalancingRules', 'type': '[SubResource]'}, - 'protocol': {'key': 'properties.protocol', 'type': 'str'}, - 'port': {'key': 'properties.port', 'type': 'int'}, - 'interval_in_seconds': {'key': 'properties.intervalInSeconds', 'type': 'int'}, - 'number_of_probes': {'key': 'properties.numberOfProbes', 'type': 'int'}, - 'request_path': {'key': 'properties.requestPath', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, protocol, port: int, id: str=None, interval_in_seconds: int=None, number_of_probes: int=None, request_path: str=None, name: str=None, **kwargs) -> None: - super(Probe, self).__init__(id=id, **kwargs) - self.load_balancing_rules = None - self.protocol = protocol - self.port = port - self.interval_in_seconds = interval_in_seconds - self.number_of_probes = number_of_probes - self.request_path = request_path - self.provisioning_state = None - self.name = name - self.etag = None - self.type = None - - -class ProtocolConfiguration(Model): - """Configuration of the protocol. - - :param http_configuration: HTTP configuration of the connectivity check. - :type http_configuration: - ~azure.mgmt.network.v2019_09_01.models.HTTPConfiguration - """ - - _attribute_map = { - 'http_configuration': {'key': 'HTTPConfiguration', 'type': 'HTTPConfiguration'}, - } - - def __init__(self, *, http_configuration=None, **kwargs) -> None: - super(ProtocolConfiguration, self).__init__(**kwargs) - self.http_configuration = http_configuration - - -class ProtocolCustomSettingsFormat(Model): - """DDoS custom policy properties. - - :param protocol: The protocol for which the DDoS protection policy is - being customized. Possible values include: 'Tcp', 'Udp', 'Syn' - :type protocol: str or - ~azure.mgmt.network.v2019_09_01.models.DdosCustomPolicyProtocol - :param trigger_rate_override: The customized DDoS protection trigger rate. - :type trigger_rate_override: str - :param source_rate_override: The customized DDoS protection source rate. - :type source_rate_override: str - :param trigger_sensitivity_override: The customized DDoS protection - trigger rate sensitivity degrees. High: Trigger rate set with most - sensitivity w.r.t. normal traffic. Default: Trigger rate set with moderate - sensitivity w.r.t. normal traffic. Low: Trigger rate set with less - sensitivity w.r.t. normal traffic. Relaxed: Trigger rate set with least - sensitivity w.r.t. normal traffic. Possible values include: 'Relaxed', - 'Low', 'Default', 'High' - :type trigger_sensitivity_override: str or - ~azure.mgmt.network.v2019_09_01.models.DdosCustomPolicyTriggerSensitivityOverride - """ - - _attribute_map = { - 'protocol': {'key': 'protocol', 'type': 'str'}, - 'trigger_rate_override': {'key': 'triggerRateOverride', 'type': 'str'}, - 'source_rate_override': {'key': 'sourceRateOverride', 'type': 'str'}, - 'trigger_sensitivity_override': {'key': 'triggerSensitivityOverride', 'type': 'str'}, - } - - def __init__(self, *, protocol=None, trigger_rate_override: str=None, source_rate_override: str=None, trigger_sensitivity_override=None, **kwargs) -> None: - super(ProtocolCustomSettingsFormat, self).__init__(**kwargs) - self.protocol = protocol - self.trigger_rate_override = trigger_rate_override - self.source_rate_override = source_rate_override - self.trigger_sensitivity_override = trigger_sensitivity_override - - -class PublicIPAddress(Resource): - """Public IP address resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param sku: The public IP address SKU. - :type sku: ~azure.mgmt.network.v2019_09_01.models.PublicIPAddressSku - :param public_ip_allocation_method: The public IP address allocation - method. Possible values include: 'Static', 'Dynamic' - :type public_ip_allocation_method: str or - ~azure.mgmt.network.v2019_09_01.models.IPAllocationMethod - :param public_ip_address_version: The public IP address version. Possible - values include: 'IPv4', 'IPv6' - :type public_ip_address_version: str or - ~azure.mgmt.network.v2019_09_01.models.IPVersion - :ivar ip_configuration: The IP configuration associated with the public IP - address. - :vartype ip_configuration: - ~azure.mgmt.network.v2019_09_01.models.IPConfiguration - :param dns_settings: The FQDN of the DNS record associated with the public - IP address. - :type dns_settings: - ~azure.mgmt.network.v2019_09_01.models.PublicIPAddressDnsSettings - :param ddos_settings: The DDoS protection custom policy associated with - the public IP address. - :type ddos_settings: ~azure.mgmt.network.v2019_09_01.models.DdosSettings - :param ip_tags: The list of tags associated with the public IP address. - :type ip_tags: list[~azure.mgmt.network.v2019_09_01.models.IpTag] - :param ip_address: The IP address associated with the public IP address - resource. - :type ip_address: str - :param public_ip_prefix: The Public IP Prefix this Public IP Address - should be allocated from. - :type public_ip_prefix: ~azure.mgmt.network.v2019_09_01.models.SubResource - :param idle_timeout_in_minutes: The idle timeout of the public IP address. - :type idle_timeout_in_minutes: int - :ivar resource_guid: The resource GUID property of the public IP address - resource. - :vartype resource_guid: str - :ivar provisioning_state: The provisioning state of the public IP address - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :param zones: A list of availability zones denoting the IP allocated for - the resource needs to come from. - :type zones: list[str] - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'ip_configuration': {'readonly': True}, - 'resource_guid': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'sku': {'key': 'sku', 'type': 'PublicIPAddressSku'}, - 'public_ip_allocation_method': {'key': 'properties.publicIPAllocationMethod', 'type': 'str'}, - 'public_ip_address_version': {'key': 'properties.publicIPAddressVersion', 'type': 'str'}, - 'ip_configuration': {'key': 'properties.ipConfiguration', 'type': 'IPConfiguration'}, - 'dns_settings': {'key': 'properties.dnsSettings', 'type': 'PublicIPAddressDnsSettings'}, - 'ddos_settings': {'key': 'properties.ddosSettings', 'type': 'DdosSettings'}, - 'ip_tags': {'key': 'properties.ipTags', 'type': '[IpTag]'}, - 'ip_address': {'key': 'properties.ipAddress', 'type': 'str'}, - 'public_ip_prefix': {'key': 'properties.publicIPPrefix', 'type': 'SubResource'}, - 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'zones': {'key': 'zones', 'type': '[str]'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, sku=None, public_ip_allocation_method=None, public_ip_address_version=None, dns_settings=None, ddos_settings=None, ip_tags=None, ip_address: str=None, public_ip_prefix=None, idle_timeout_in_minutes: int=None, zones=None, **kwargs) -> None: - super(PublicIPAddress, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.sku = sku - self.public_ip_allocation_method = public_ip_allocation_method - self.public_ip_address_version = public_ip_address_version - self.ip_configuration = None - self.dns_settings = dns_settings - self.ddos_settings = ddos_settings - self.ip_tags = ip_tags - self.ip_address = ip_address - self.public_ip_prefix = public_ip_prefix - self.idle_timeout_in_minutes = idle_timeout_in_minutes - self.resource_guid = None - self.provisioning_state = None - self.etag = None - self.zones = zones - - -class PublicIPAddressDnsSettings(Model): - """Contains FQDN of the DNS record associated with the public IP address. - - :param domain_name_label: The domain name label. The concatenation of the - domain name label and the regionalized DNS zone make up the fully - qualified domain name associated with the public IP address. If a domain - name label is specified, an A DNS record is created for the public IP in - the Microsoft Azure DNS system. - :type domain_name_label: str - :param fqdn: The Fully Qualified Domain Name of the A DNS record - associated with the public IP. This is the concatenation of the - domainNameLabel and the regionalized DNS zone. - :type fqdn: str - :param reverse_fqdn: The reverse FQDN. A user-visible, fully qualified - domain name that resolves to this public IP address. If the reverseFqdn is - specified, then a PTR DNS record is created pointing from the IP address - in the in-addr.arpa domain to the reverse FQDN. - :type reverse_fqdn: str - """ - - _attribute_map = { - 'domain_name_label': {'key': 'domainNameLabel', 'type': 'str'}, - 'fqdn': {'key': 'fqdn', 'type': 'str'}, - 'reverse_fqdn': {'key': 'reverseFqdn', 'type': 'str'}, - } - - def __init__(self, *, domain_name_label: str=None, fqdn: str=None, reverse_fqdn: str=None, **kwargs) -> None: - super(PublicIPAddressDnsSettings, self).__init__(**kwargs) - self.domain_name_label = domain_name_label - self.fqdn = fqdn - self.reverse_fqdn = reverse_fqdn - - -class PublicIPAddressSku(Model): - """SKU of a public IP address. - - :param name: Name of a public IP address SKU. Possible values include: - 'Basic', 'Standard' - :type name: str or - ~azure.mgmt.network.v2019_09_01.models.PublicIPAddressSkuName - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - } - - def __init__(self, *, name=None, **kwargs) -> None: - super(PublicIPAddressSku, self).__init__(**kwargs) - self.name = name - - -class PublicIPPrefix(Resource): - """Public IP prefix resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param sku: The public IP prefix SKU. - :type sku: ~azure.mgmt.network.v2019_09_01.models.PublicIPPrefixSku - :param public_ip_address_version: The public IP address version. Possible - values include: 'IPv4', 'IPv6' - :type public_ip_address_version: str or - ~azure.mgmt.network.v2019_09_01.models.IPVersion - :param ip_tags: The list of tags associated with the public IP prefix. - :type ip_tags: list[~azure.mgmt.network.v2019_09_01.models.IpTag] - :param prefix_length: The Length of the Public IP Prefix. - :type prefix_length: int - :ivar ip_prefix: The allocated Prefix. - :vartype ip_prefix: str - :ivar public_ip_addresses: The list of all referenced PublicIPAddresses. - :vartype public_ip_addresses: - list[~azure.mgmt.network.v2019_09_01.models.ReferencedPublicIpAddress] - :ivar load_balancer_frontend_ip_configuration: The reference to load - balancer frontend IP configuration associated with the public IP prefix. - :vartype load_balancer_frontend_ip_configuration: - ~azure.mgmt.network.v2019_09_01.models.SubResource - :ivar resource_guid: The resource GUID property of the public IP prefix - resource. - :vartype resource_guid: str - :ivar provisioning_state: The provisioning state of the public IP prefix - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :param zones: A list of availability zones denoting the IP allocated for - the resource needs to come from. - :type zones: list[str] - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'ip_prefix': {'readonly': True}, - 'public_ip_addresses': {'readonly': True}, - 'load_balancer_frontend_ip_configuration': {'readonly': True}, - 'resource_guid': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'sku': {'key': 'sku', 'type': 'PublicIPPrefixSku'}, - 'public_ip_address_version': {'key': 'properties.publicIPAddressVersion', 'type': 'str'}, - 'ip_tags': {'key': 'properties.ipTags', 'type': '[IpTag]'}, - 'prefix_length': {'key': 'properties.prefixLength', 'type': 'int'}, - 'ip_prefix': {'key': 'properties.ipPrefix', 'type': 'str'}, - 'public_ip_addresses': {'key': 'properties.publicIPAddresses', 'type': '[ReferencedPublicIpAddress]'}, - 'load_balancer_frontend_ip_configuration': {'key': 'properties.loadBalancerFrontendIpConfiguration', 'type': 'SubResource'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'zones': {'key': 'zones', 'type': '[str]'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, sku=None, public_ip_address_version=None, ip_tags=None, prefix_length: int=None, zones=None, **kwargs) -> None: - super(PublicIPPrefix, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.sku = sku - self.public_ip_address_version = public_ip_address_version - self.ip_tags = ip_tags - self.prefix_length = prefix_length - self.ip_prefix = None - self.public_ip_addresses = None - self.load_balancer_frontend_ip_configuration = None - self.resource_guid = None - self.provisioning_state = None - self.etag = None - self.zones = zones - - -class PublicIPPrefixSku(Model): - """SKU of a public IP prefix. - - :param name: Name of a public IP prefix SKU. Possible values include: - 'Standard' - :type name: str or - ~azure.mgmt.network.v2019_09_01.models.PublicIPPrefixSkuName - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - } - - def __init__(self, *, name=None, **kwargs) -> None: - super(PublicIPPrefixSku, self).__init__(**kwargs) - self.name = name - - -class QueryTroubleshootingParameters(Model): - """Parameters that define the resource to query the troubleshooting result. - - All required parameters must be populated in order to send to Azure. - - :param target_resource_id: Required. The target resource ID to query the - troubleshooting result. - :type target_resource_id: str - """ - - _validation = { - 'target_resource_id': {'required': True}, - } - - _attribute_map = { - 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, - } - - def __init__(self, *, target_resource_id: str, **kwargs) -> None: - super(QueryTroubleshootingParameters, self).__init__(**kwargs) - self.target_resource_id = target_resource_id - - -class ReferencedPublicIpAddress(Model): - """Reference to a public IP address. - - :param id: The PublicIPAddress Reference. - :type id: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, **kwargs) -> None: - super(ReferencedPublicIpAddress, self).__init__(**kwargs) - self.id = id - - -class ResourceNavigationLink(SubResource): - """ResourceNavigationLink resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param linked_resource_type: Resource type of the linked resource. - :type linked_resource_type: str - :param link: Link to the external resource. - :type link: str - :ivar provisioning_state: The provisioning state of the resource - navigation link resource. Possible values include: 'Succeeded', - 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param name: Name of the resource that is unique within a resource group. - This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :ivar type: Resource type. - :vartype type: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'linked_resource_type': {'key': 'properties.linkedResourceType', 'type': 'str'}, - 'link': {'key': 'properties.link', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, linked_resource_type: str=None, link: str=None, name: str=None, **kwargs) -> None: - super(ResourceNavigationLink, self).__init__(id=id, **kwargs) - self.linked_resource_type = linked_resource_type - self.link = link - self.provisioning_state = None - self.name = name - self.etag = None - self.type = None - - -class ResourceNavigationLinksListResult(Model): - """Response for ResourceNavigationLinks_List operation. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param value: The resource navigation links in a subnet. - :type value: - list[~azure.mgmt.network.v2019_09_01.models.ResourceNavigationLink] - :ivar next_link: The URL to get the next set of results. - :vartype next_link: str - """ - - _validation = { - 'next_link': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[ResourceNavigationLink]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__(self, *, value=None, **kwargs) -> None: - super(ResourceNavigationLinksListResult, self).__init__(**kwargs) - self.value = value - self.next_link = None - - -class RetentionPolicyParameters(Model): - """Parameters that define the retention policy for flow log. - - :param days: Number of days to retain flow log records. Default value: 0 . - :type days: int - :param enabled: Flag to enable/disable retention. Default value: False . - :type enabled: bool - """ - - _attribute_map = { - 'days': {'key': 'days', 'type': 'int'}, - 'enabled': {'key': 'enabled', 'type': 'bool'}, - } - - def __init__(self, *, days: int=0, enabled: bool=False, **kwargs) -> None: - super(RetentionPolicyParameters, self).__init__(**kwargs) - self.days = days - self.enabled = enabled - - -class Route(SubResource): - """Route resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :param address_prefix: The destination CIDR to which the route applies. - :type address_prefix: str - :param next_hop_type: Required. The type of Azure hop the packet should be - sent to. Possible values include: 'VirtualNetworkGateway', 'VnetLocal', - 'Internet', 'VirtualAppliance', 'None' - :type next_hop_type: str or - ~azure.mgmt.network.v2019_09_01.models.RouteNextHopType - :param next_hop_ip_address: The IP address packets should be forwarded to. - Next hop values are only allowed in routes where the next hop type is - VirtualAppliance. - :type next_hop_ip_address: str - :ivar provisioning_state: The provisioning state of the route resource. - Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'next_hop_type': {'required': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'address_prefix': {'key': 'properties.addressPrefix', 'type': 'str'}, - 'next_hop_type': {'key': 'properties.nextHopType', 'type': 'str'}, - 'next_hop_ip_address': {'key': 'properties.nextHopIpAddress', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, next_hop_type, id: str=None, address_prefix: str=None, next_hop_ip_address: str=None, name: str=None, **kwargs) -> None: - super(Route, self).__init__(id=id, **kwargs) - self.address_prefix = address_prefix - self.next_hop_type = next_hop_type - self.next_hop_ip_address = next_hop_ip_address - self.provisioning_state = None - self.name = name - self.etag = None - - -class RouteFilter(Resource): - """Route Filter Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param rules: Collection of RouteFilterRules contained within a route - filter. - :type rules: list[~azure.mgmt.network.v2019_09_01.models.RouteFilterRule] - :ivar peerings: A collection of references to express route circuit - peerings. - :vartype peerings: - list[~azure.mgmt.network.v2019_09_01.models.ExpressRouteCircuitPeering] - :ivar ipv6_peerings: A collection of references to express route circuit - ipv6 peerings. - :vartype ipv6_peerings: - list[~azure.mgmt.network.v2019_09_01.models.ExpressRouteCircuitPeering] - :ivar provisioning_state: The provisioning state of the route filter - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'peerings': {'readonly': True}, - 'ipv6_peerings': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'rules': {'key': 'properties.rules', 'type': '[RouteFilterRule]'}, - 'peerings': {'key': 'properties.peerings', 'type': '[ExpressRouteCircuitPeering]'}, - 'ipv6_peerings': {'key': 'properties.ipv6Peerings', 'type': '[ExpressRouteCircuitPeering]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, rules=None, **kwargs) -> None: - super(RouteFilter, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.rules = rules - self.peerings = None - self.ipv6_peerings = None - self.provisioning_state = None - self.etag = None - - -class RouteFilterRule(SubResource): - """Route Filter Rule Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :param access: Required. The access type of the rule. Possible values - include: 'Allow', 'Deny' - :type access: str or ~azure.mgmt.network.v2019_09_01.models.Access - :ivar route_filter_rule_type: Required. The rule type of the rule. Default - value: "Community" . - :vartype route_filter_rule_type: str - :param communities: Required. The collection for bgp community values to - filter on. e.g. ['12076:5010','12076:5020']. - :type communities: list[str] - :ivar provisioning_state: The provisioning state of the route filter rule - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :param location: Resource location. - :type location: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'access': {'required': True}, - 'route_filter_rule_type': {'required': True, 'constant': True}, - 'communities': {'required': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'access': {'key': 'properties.access', 'type': 'str'}, - 'route_filter_rule_type': {'key': 'properties.routeFilterRuleType', 'type': 'str'}, - 'communities': {'key': 'properties.communities', 'type': '[str]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - route_filter_rule_type = "Community" - - def __init__(self, *, access, communities, id: str=None, name: str=None, location: str=None, **kwargs) -> None: - super(RouteFilterRule, self).__init__(id=id, **kwargs) - self.access = access - self.communities = communities - self.provisioning_state = None - self.name = name - self.location = location - self.etag = None - - -class RouteTable(Resource): - """Route table resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param routes: Collection of routes contained within a route table. - :type routes: list[~azure.mgmt.network.v2019_09_01.models.Route] - :ivar subnets: A collection of references to subnets. - :vartype subnets: list[~azure.mgmt.network.v2019_09_01.models.Subnet] - :param disable_bgp_route_propagation: Whether to disable the routes - learned by BGP on that route table. True means disable. - :type disable_bgp_route_propagation: bool - :ivar provisioning_state: The provisioning state of the route table - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'subnets': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'routes': {'key': 'properties.routes', 'type': '[Route]'}, - 'subnets': {'key': 'properties.subnets', 'type': '[Subnet]'}, - 'disable_bgp_route_propagation': {'key': 'properties.disableBgpRoutePropagation', 'type': 'bool'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, routes=None, disable_bgp_route_propagation: bool=None, **kwargs) -> None: - super(RouteTable, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.routes = routes - self.subnets = None - self.disable_bgp_route_propagation = disable_bgp_route_propagation - self.provisioning_state = None - self.etag = None - - -class SecurityGroupNetworkInterface(Model): - """Network interface and all its associated security rules. - - :param id: ID of the network interface. - :type id: str - :param security_rule_associations: All security rules associated with the - network interface. - :type security_rule_associations: - ~azure.mgmt.network.v2019_09_01.models.SecurityRuleAssociations - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'security_rule_associations': {'key': 'securityRuleAssociations', 'type': 'SecurityRuleAssociations'}, - } - - def __init__(self, *, id: str=None, security_rule_associations=None, **kwargs) -> None: - super(SecurityGroupNetworkInterface, self).__init__(**kwargs) - self.id = id - self.security_rule_associations = security_rule_associations - - -class SecurityGroupViewParameters(Model): - """Parameters that define the VM to check security groups for. - - All required parameters must be populated in order to send to Azure. - - :param target_resource_id: Required. ID of the target VM. - :type target_resource_id: str - """ - - _validation = { - 'target_resource_id': {'required': True}, - } - - _attribute_map = { - 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, - } - - def __init__(self, *, target_resource_id: str, **kwargs) -> None: - super(SecurityGroupViewParameters, self).__init__(**kwargs) - self.target_resource_id = target_resource_id - - -class SecurityGroupViewResult(Model): - """The information about security rules applied to the specified VM. - - :param network_interfaces: List of network interfaces on the specified VM. - :type network_interfaces: - list[~azure.mgmt.network.v2019_09_01.models.SecurityGroupNetworkInterface] - """ - - _attribute_map = { - 'network_interfaces': {'key': 'networkInterfaces', 'type': '[SecurityGroupNetworkInterface]'}, - } - - def __init__(self, *, network_interfaces=None, **kwargs) -> None: - super(SecurityGroupViewResult, self).__init__(**kwargs) - self.network_interfaces = network_interfaces - - -class SecurityRule(SubResource): - """Network security rule. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :param description: A description for this rule. Restricted to 140 chars. - :type description: str - :param protocol: Required. Network protocol this rule applies to. Possible - values include: 'Tcp', 'Udp', 'Icmp', 'Esp', '*', 'Ah' - :type protocol: str or - ~azure.mgmt.network.v2019_09_01.models.SecurityRuleProtocol - :param source_port_range: The source port or range. Integer or range - between 0 and 65535. Asterisk '*' can also be used to match all ports. - :type source_port_range: str - :param destination_port_range: The destination port or range. Integer or - range between 0 and 65535. Asterisk '*' can also be used to match all - ports. - :type destination_port_range: str - :param source_address_prefix: The CIDR or source IP range. Asterisk '*' - can also be used to match all source IPs. Default tags such as - 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. If - this is an ingress rule, specifies where network traffic originates from. - :type source_address_prefix: str - :param source_address_prefixes: The CIDR or source IP ranges. - :type source_address_prefixes: list[str] - :param source_application_security_groups: The application security group - specified as source. - :type source_application_security_groups: - list[~azure.mgmt.network.v2019_09_01.models.ApplicationSecurityGroup] - :param destination_address_prefix: The destination address prefix. CIDR or - destination IP range. Asterisk '*' can also be used to match all source - IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and - 'Internet' can also be used. - :type destination_address_prefix: str - :param destination_address_prefixes: The destination address prefixes. - CIDR or destination IP ranges. - :type destination_address_prefixes: list[str] - :param destination_application_security_groups: The application security - group specified as destination. - :type destination_application_security_groups: - list[~azure.mgmt.network.v2019_09_01.models.ApplicationSecurityGroup] - :param source_port_ranges: The source port ranges. - :type source_port_ranges: list[str] - :param destination_port_ranges: The destination port ranges. - :type destination_port_ranges: list[str] - :param access: Required. The network traffic is allowed or denied. - Possible values include: 'Allow', 'Deny' - :type access: str or - ~azure.mgmt.network.v2019_09_01.models.SecurityRuleAccess - :param priority: The priority of the rule. The value can be between 100 - and 4096. The priority number must be unique for each rule in the - collection. The lower the priority number, the higher the priority of the - rule. - :type priority: int - :param direction: Required. The direction of the rule. The direction - specifies if rule will be evaluated on incoming or outgoing traffic. - Possible values include: 'Inbound', 'Outbound' - :type direction: str or - ~azure.mgmt.network.v2019_09_01.models.SecurityRuleDirection - :ivar provisioning_state: The provisioning state of the security rule - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'protocol': {'required': True}, - 'access': {'required': True}, - 'direction': {'required': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'description': {'key': 'properties.description', 'type': 'str'}, - 'protocol': {'key': 'properties.protocol', 'type': 'str'}, - 'source_port_range': {'key': 'properties.sourcePortRange', 'type': 'str'}, - 'destination_port_range': {'key': 'properties.destinationPortRange', 'type': 'str'}, - 'source_address_prefix': {'key': 'properties.sourceAddressPrefix', 'type': 'str'}, - 'source_address_prefixes': {'key': 'properties.sourceAddressPrefixes', 'type': '[str]'}, - 'source_application_security_groups': {'key': 'properties.sourceApplicationSecurityGroups', 'type': '[ApplicationSecurityGroup]'}, - 'destination_address_prefix': {'key': 'properties.destinationAddressPrefix', 'type': 'str'}, - 'destination_address_prefixes': {'key': 'properties.destinationAddressPrefixes', 'type': '[str]'}, - 'destination_application_security_groups': {'key': 'properties.destinationApplicationSecurityGroups', 'type': '[ApplicationSecurityGroup]'}, - 'source_port_ranges': {'key': 'properties.sourcePortRanges', 'type': '[str]'}, - 'destination_port_ranges': {'key': 'properties.destinationPortRanges', 'type': '[str]'}, - 'access': {'key': 'properties.access', 'type': 'str'}, - 'priority': {'key': 'properties.priority', 'type': 'int'}, - 'direction': {'key': 'properties.direction', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, protocol, access, direction, id: str=None, description: str=None, source_port_range: str=None, destination_port_range: str=None, source_address_prefix: str=None, source_address_prefixes=None, source_application_security_groups=None, destination_address_prefix: str=None, destination_address_prefixes=None, destination_application_security_groups=None, source_port_ranges=None, destination_port_ranges=None, priority: int=None, name: str=None, **kwargs) -> None: - super(SecurityRule, self).__init__(id=id, **kwargs) - self.description = description - self.protocol = protocol - self.source_port_range = source_port_range - self.destination_port_range = destination_port_range - self.source_address_prefix = source_address_prefix - self.source_address_prefixes = source_address_prefixes - self.source_application_security_groups = source_application_security_groups - self.destination_address_prefix = destination_address_prefix - self.destination_address_prefixes = destination_address_prefixes - self.destination_application_security_groups = destination_application_security_groups - self.source_port_ranges = source_port_ranges - self.destination_port_ranges = destination_port_ranges - self.access = access - self.priority = priority - self.direction = direction - self.provisioning_state = None - self.name = name - self.etag = None - - -class SecurityRuleAssociations(Model): - """All security rules associated with the network interface. - - :param network_interface_association: Network interface and it's custom - security rules. - :type network_interface_association: - ~azure.mgmt.network.v2019_09_01.models.NetworkInterfaceAssociation - :param subnet_association: Subnet and it's custom security rules. - :type subnet_association: - ~azure.mgmt.network.v2019_09_01.models.SubnetAssociation - :param default_security_rules: Collection of default security rules of the - network security group. - :type default_security_rules: - list[~azure.mgmt.network.v2019_09_01.models.SecurityRule] - :param effective_security_rules: Collection of effective security rules. - :type effective_security_rules: - list[~azure.mgmt.network.v2019_09_01.models.EffectiveNetworkSecurityRule] - """ - - _attribute_map = { - 'network_interface_association': {'key': 'networkInterfaceAssociation', 'type': 'NetworkInterfaceAssociation'}, - 'subnet_association': {'key': 'subnetAssociation', 'type': 'SubnetAssociation'}, - 'default_security_rules': {'key': 'defaultSecurityRules', 'type': '[SecurityRule]'}, - 'effective_security_rules': {'key': 'effectiveSecurityRules', 'type': '[EffectiveNetworkSecurityRule]'}, - } - - def __init__(self, *, network_interface_association=None, subnet_association=None, default_security_rules=None, effective_security_rules=None, **kwargs) -> None: - super(SecurityRuleAssociations, self).__init__(**kwargs) - self.network_interface_association = network_interface_association - self.subnet_association = subnet_association - self.default_security_rules = default_security_rules - self.effective_security_rules = effective_security_rules - - -class ServiceAssociationLink(SubResource): - """ServiceAssociationLink resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param linked_resource_type: Resource type of the linked resource. - :type linked_resource_type: str - :param link: Link to the external resource. - :type link: str - :ivar provisioning_state: The provisioning state of the service - association link resource. Possible values include: 'Succeeded', - 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param allow_delete: If true, the resource can be deleted. - :type allow_delete: bool - :param locations: A list of locations. - :type locations: list[str] - :param name: Name of the resource that is unique within a resource group. - This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :ivar type: Resource type. - :vartype type: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'linked_resource_type': {'key': 'properties.linkedResourceType', 'type': 'str'}, - 'link': {'key': 'properties.link', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'allow_delete': {'key': 'properties.allowDelete', 'type': 'bool'}, - 'locations': {'key': 'properties.locations', 'type': '[str]'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, linked_resource_type: str=None, link: str=None, allow_delete: bool=None, locations=None, name: str=None, **kwargs) -> None: - super(ServiceAssociationLink, self).__init__(id=id, **kwargs) - self.linked_resource_type = linked_resource_type - self.link = link - self.provisioning_state = None - self.allow_delete = allow_delete - self.locations = locations - self.name = name - self.etag = None - self.type = None - - -class ServiceAssociationLinksListResult(Model): - """Response for ServiceAssociationLinks_List operation. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param value: The service association links in a subnet. - :type value: - list[~azure.mgmt.network.v2019_09_01.models.ServiceAssociationLink] - :ivar next_link: The URL to get the next set of results. - :vartype next_link: str - """ - - _validation = { - 'next_link': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[ServiceAssociationLink]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__(self, *, value=None, **kwargs) -> None: - super(ServiceAssociationLinksListResult, self).__init__(**kwargs) - self.value = value - self.next_link = None - - -class ServiceEndpointPolicy(Resource): - """Service End point policy resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param service_endpoint_policy_definitions: A collection of service - endpoint policy definitions of the service endpoint policy. - :type service_endpoint_policy_definitions: - list[~azure.mgmt.network.v2019_09_01.models.ServiceEndpointPolicyDefinition] - :ivar subnets: A collection of references to subnets. - :vartype subnets: list[~azure.mgmt.network.v2019_09_01.models.Subnet] - :ivar resource_guid: The resource GUID property of the service endpoint - policy resource. - :vartype resource_guid: str - :ivar provisioning_state: The provisioning state of the service endpoint - policy resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'subnets': {'readonly': True}, - 'resource_guid': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'service_endpoint_policy_definitions': {'key': 'properties.serviceEndpointPolicyDefinitions', 'type': '[ServiceEndpointPolicyDefinition]'}, - 'subnets': {'key': 'properties.subnets', 'type': '[Subnet]'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, service_endpoint_policy_definitions=None, **kwargs) -> None: - super(ServiceEndpointPolicy, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.service_endpoint_policy_definitions = service_endpoint_policy_definitions - self.subnets = None - self.resource_guid = None - self.provisioning_state = None - self.etag = None - - -class ServiceEndpointPolicyDefinition(SubResource): - """Service Endpoint policy definitions. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param description: A description for this rule. Restricted to 140 chars. - :type description: str - :param service: Service endpoint name. - :type service: str - :param service_resources: A list of service resources. - :type service_resources: list[str] - :ivar provisioning_state: The provisioning state of the service endpoint - policy definition resource. Possible values include: 'Succeeded', - 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'description': {'key': 'properties.description', 'type': 'str'}, - 'service': {'key': 'properties.service', 'type': 'str'}, - 'service_resources': {'key': 'properties.serviceResources', 'type': '[str]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, description: str=None, service: str=None, service_resources=None, name: str=None, **kwargs) -> None: - super(ServiceEndpointPolicyDefinition, self).__init__(id=id, **kwargs) - self.description = description - self.service = service - self.service_resources = service_resources - self.provisioning_state = None - self.name = name - self.etag = None - - -class ServiceEndpointPropertiesFormat(Model): - """The service endpoint properties. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param service: The type of the endpoint service. - :type service: str - :param locations: A list of locations. - :type locations: list[str] - :ivar provisioning_state: The provisioning state of the service endpoint - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'service': {'key': 'service', 'type': 'str'}, - 'locations': {'key': 'locations', 'type': '[str]'}, - 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, - } - - def __init__(self, *, service: str=None, locations=None, **kwargs) -> None: - super(ServiceEndpointPropertiesFormat, self).__init__(**kwargs) - self.service = service - self.locations = locations - self.provisioning_state = None - - -class ServiceTagInformation(Model): - """The service tag information. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar properties: Properties of the service tag information. - :vartype properties: - ~azure.mgmt.network.v2019_09_01.models.ServiceTagInformationPropertiesFormat - :ivar name: The name of service tag. - :vartype name: str - :ivar id: The ID of service tag. - :vartype id: str - """ - - _validation = { - 'properties': {'readonly': True}, - 'name': {'readonly': True}, - 'id': {'readonly': True}, - } - - _attribute_map = { - 'properties': {'key': 'properties', 'type': 'ServiceTagInformationPropertiesFormat'}, - 'name': {'key': 'name', 'type': 'str'}, - 'id': {'key': 'id', 'type': 'str'}, - } - - def __init__(self, **kwargs) -> None: - super(ServiceTagInformation, self).__init__(**kwargs) - self.properties = None - self.name = None - self.id = None - - -class ServiceTagInformationPropertiesFormat(Model): - """Properties of the service tag information. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar change_number: The iteration number of service tag. - :vartype change_number: str - :ivar region: The region of service tag. - :vartype region: str - :ivar system_service: The name of system service. - :vartype system_service: str - :ivar address_prefixes: The list of IP address prefixes. - :vartype address_prefixes: list[str] - """ - - _validation = { - 'change_number': {'readonly': True}, - 'region': {'readonly': True}, - 'system_service': {'readonly': True}, - 'address_prefixes': {'readonly': True}, - } - - _attribute_map = { - 'change_number': {'key': 'changeNumber', 'type': 'str'}, - 'region': {'key': 'region', 'type': 'str'}, - 'system_service': {'key': 'systemService', 'type': 'str'}, - 'address_prefixes': {'key': 'addressPrefixes', 'type': '[str]'}, - } - - def __init__(self, **kwargs) -> None: - super(ServiceTagInformationPropertiesFormat, self).__init__(**kwargs) - self.change_number = None - self.region = None - self.system_service = None - self.address_prefixes = None - - -class ServiceTagsListResult(Model): - """Response for the ListServiceTags API service call. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar name: The name of the cloud. - :vartype name: str - :ivar id: The ID of the cloud. - :vartype id: str - :ivar type: The azure resource type. - :vartype type: str - :ivar change_number: The iteration number. - :vartype change_number: str - :ivar cloud: The name of the cloud. - :vartype cloud: str - :ivar values: The list of service tag information resources. - :vartype values: - list[~azure.mgmt.network.v2019_09_01.models.ServiceTagInformation] - """ - - _validation = { - 'name': {'readonly': True}, - 'id': {'readonly': True}, - 'type': {'readonly': True}, - 'change_number': {'readonly': True}, - 'cloud': {'readonly': True}, - 'values': {'readonly': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'id': {'key': 'id', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'change_number': {'key': 'changeNumber', 'type': 'str'}, - 'cloud': {'key': 'cloud', 'type': 'str'}, - 'values': {'key': 'values', 'type': '[ServiceTagInformation]'}, - } - - def __init__(self, **kwargs) -> None: - super(ServiceTagsListResult, self).__init__(**kwargs) - self.name = None - self.id = None - self.type = None - self.change_number = None - self.cloud = None - self.values = None - - -class Subnet(SubResource): - """Subnet in a virtual network resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param address_prefix: The address prefix for the subnet. - :type address_prefix: str - :param address_prefixes: List of address prefixes for the subnet. - :type address_prefixes: list[str] - :param network_security_group: The reference of the NetworkSecurityGroup - resource. - :type network_security_group: - ~azure.mgmt.network.v2019_09_01.models.NetworkSecurityGroup - :param route_table: The reference of the RouteTable resource. - :type route_table: ~azure.mgmt.network.v2019_09_01.models.RouteTable - :param nat_gateway: Nat gateway associated with this subnet. - :type nat_gateway: ~azure.mgmt.network.v2019_09_01.models.SubResource - :param service_endpoints: An array of service endpoints. - :type service_endpoints: - list[~azure.mgmt.network.v2019_09_01.models.ServiceEndpointPropertiesFormat] - :param service_endpoint_policies: An array of service endpoint policies. - :type service_endpoint_policies: - list[~azure.mgmt.network.v2019_09_01.models.ServiceEndpointPolicy] - :ivar private_endpoints: An array of references to private endpoints. - :vartype private_endpoints: - list[~azure.mgmt.network.v2019_09_01.models.PrivateEndpoint] - :ivar ip_configurations: An array of references to the network interface - IP configurations using subnet. - :vartype ip_configurations: - list[~azure.mgmt.network.v2019_09_01.models.IPConfiguration] - :ivar ip_configuration_profiles: Array of IP configuration profiles which - reference this subnet. - :vartype ip_configuration_profiles: - list[~azure.mgmt.network.v2019_09_01.models.IPConfigurationProfile] - :ivar resource_navigation_links: An array of references to the external - resources using subnet. - :vartype resource_navigation_links: - list[~azure.mgmt.network.v2019_09_01.models.ResourceNavigationLink] - :ivar service_association_links: An array of references to services - injecting into this subnet. - :vartype service_association_links: - list[~azure.mgmt.network.v2019_09_01.models.ServiceAssociationLink] - :param delegations: An array of references to the delegations on the - subnet. - :type delegations: list[~azure.mgmt.network.v2019_09_01.models.Delegation] - :ivar purpose: A read-only string identifying the intention of use for - this subnet based on delegations and other user-defined properties. - :vartype purpose: str - :ivar provisioning_state: The provisioning state of the subnet resource. - Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param private_endpoint_network_policies: Enable or Disable apply network - policies on private end point in the subnet. - :type private_endpoint_network_policies: str - :param private_link_service_network_policies: Enable or Disable apply - network policies on private link service in the subnet. - :type private_link_service_network_policies: str - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'private_endpoints': {'readonly': True}, - 'ip_configurations': {'readonly': True}, - 'ip_configuration_profiles': {'readonly': True}, - 'resource_navigation_links': {'readonly': True}, - 'service_association_links': {'readonly': True}, - 'purpose': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'address_prefix': {'key': 'properties.addressPrefix', 'type': 'str'}, - 'address_prefixes': {'key': 'properties.addressPrefixes', 'type': '[str]'}, - 'network_security_group': {'key': 'properties.networkSecurityGroup', 'type': 'NetworkSecurityGroup'}, - 'route_table': {'key': 'properties.routeTable', 'type': 'RouteTable'}, - 'nat_gateway': {'key': 'properties.natGateway', 'type': 'SubResource'}, - 'service_endpoints': {'key': 'properties.serviceEndpoints', 'type': '[ServiceEndpointPropertiesFormat]'}, - 'service_endpoint_policies': {'key': 'properties.serviceEndpointPolicies', 'type': '[ServiceEndpointPolicy]'}, - 'private_endpoints': {'key': 'properties.privateEndpoints', 'type': '[PrivateEndpoint]'}, - 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[IPConfiguration]'}, - 'ip_configuration_profiles': {'key': 'properties.ipConfigurationProfiles', 'type': '[IPConfigurationProfile]'}, - 'resource_navigation_links': {'key': 'properties.resourceNavigationLinks', 'type': '[ResourceNavigationLink]'}, - 'service_association_links': {'key': 'properties.serviceAssociationLinks', 'type': '[ServiceAssociationLink]'}, - 'delegations': {'key': 'properties.delegations', 'type': '[Delegation]'}, - 'purpose': {'key': 'properties.purpose', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'private_endpoint_network_policies': {'key': 'properties.privateEndpointNetworkPolicies', 'type': 'str'}, - 'private_link_service_network_policies': {'key': 'properties.privateLinkServiceNetworkPolicies', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, address_prefix: str=None, address_prefixes=None, network_security_group=None, route_table=None, nat_gateway=None, service_endpoints=None, service_endpoint_policies=None, delegations=None, private_endpoint_network_policies: str=None, private_link_service_network_policies: str=None, name: str=None, **kwargs) -> None: - super(Subnet, self).__init__(id=id, **kwargs) - self.address_prefix = address_prefix - self.address_prefixes = address_prefixes - self.network_security_group = network_security_group - self.route_table = route_table - self.nat_gateway = nat_gateway - self.service_endpoints = service_endpoints - self.service_endpoint_policies = service_endpoint_policies - self.private_endpoints = None - self.ip_configurations = None - self.ip_configuration_profiles = None - self.resource_navigation_links = None - self.service_association_links = None - self.delegations = delegations - self.purpose = None - self.provisioning_state = None - self.private_endpoint_network_policies = private_endpoint_network_policies - self.private_link_service_network_policies = private_link_service_network_policies - self.name = name - self.etag = None - - -class SubnetAssociation(Model): - """Subnet and it's custom security rules. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar id: Subnet ID. - :vartype id: str - :param security_rules: Collection of custom security rules. - :type security_rules: - list[~azure.mgmt.network.v2019_09_01.models.SecurityRule] - """ - - _validation = { - 'id': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'security_rules': {'key': 'securityRules', 'type': '[SecurityRule]'}, - } - - def __init__(self, *, security_rules=None, **kwargs) -> None: - super(SubnetAssociation, self).__init__(**kwargs) - self.id = None - self.security_rules = security_rules - - -class TagsObject(Model): - """Tags object for patch operations. - - :param tags: Resource tags. - :type tags: dict[str, str] - """ - - _attribute_map = { - 'tags': {'key': 'tags', 'type': '{str}'}, - } - - def __init__(self, *, tags=None, **kwargs) -> None: - super(TagsObject, self).__init__(**kwargs) - self.tags = tags - - -class Topology(Model): - """Topology of the specified resource group. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar id: GUID representing the operation id. - :vartype id: str - :ivar created_date_time: The datetime when the topology was initially - created for the resource group. - :vartype created_date_time: datetime - :ivar last_modified: The datetime when the topology was last modified. - :vartype last_modified: datetime - :param resources: A list of topology resources. - :type resources: - list[~azure.mgmt.network.v2019_09_01.models.TopologyResource] - """ - - _validation = { - 'id': {'readonly': True}, - 'created_date_time': {'readonly': True}, - 'last_modified': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'created_date_time': {'key': 'createdDateTime', 'type': 'iso-8601'}, - 'last_modified': {'key': 'lastModified', 'type': 'iso-8601'}, - 'resources': {'key': 'resources', 'type': '[TopologyResource]'}, - } - - def __init__(self, *, resources=None, **kwargs) -> None: - super(Topology, self).__init__(**kwargs) - self.id = None - self.created_date_time = None - self.last_modified = None - self.resources = resources - - -class TopologyAssociation(Model): - """Resources that have an association with the parent resource. - - :param name: The name of the resource that is associated with the parent - resource. - :type name: str - :param resource_id: The ID of the resource that is associated with the - parent resource. - :type resource_id: str - :param association_type: The association type of the child resource to the - parent resource. Possible values include: 'Associated', 'Contains' - :type association_type: str or - ~azure.mgmt.network.v2019_09_01.models.AssociationType - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'resource_id': {'key': 'resourceId', 'type': 'str'}, - 'association_type': {'key': 'associationType', 'type': 'str'}, - } - - def __init__(self, *, name: str=None, resource_id: str=None, association_type=None, **kwargs) -> None: - super(TopologyAssociation, self).__init__(**kwargs) - self.name = name - self.resource_id = resource_id - self.association_type = association_type - - -class TopologyParameters(Model): - """Parameters that define the representation of topology. - - :param target_resource_group_name: The name of the target resource group - to perform topology on. - :type target_resource_group_name: str - :param target_virtual_network: The reference of the Virtual Network - resource. - :type target_virtual_network: - ~azure.mgmt.network.v2019_09_01.models.SubResource - :param target_subnet: The reference of the Subnet resource. - :type target_subnet: ~azure.mgmt.network.v2019_09_01.models.SubResource - """ - - _attribute_map = { - 'target_resource_group_name': {'key': 'targetResourceGroupName', 'type': 'str'}, - 'target_virtual_network': {'key': 'targetVirtualNetwork', 'type': 'SubResource'}, - 'target_subnet': {'key': 'targetSubnet', 'type': 'SubResource'}, - } - - def __init__(self, *, target_resource_group_name: str=None, target_virtual_network=None, target_subnet=None, **kwargs) -> None: - super(TopologyParameters, self).__init__(**kwargs) - self.target_resource_group_name = target_resource_group_name - self.target_virtual_network = target_virtual_network - self.target_subnet = target_subnet - - -class TopologyResource(Model): - """The network resource topology information for the given resource group. - - :param name: Name of the resource. - :type name: str - :param id: ID of the resource. - :type id: str - :param location: Resource location. - :type location: str - :param associations: Holds the associations the resource has with other - resources in the resource group. - :type associations: - list[~azure.mgmt.network.v2019_09_01.models.TopologyAssociation] - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'id': {'key': 'id', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'associations': {'key': 'associations', 'type': '[TopologyAssociation]'}, - } - - def __init__(self, *, name: str=None, id: str=None, location: str=None, associations=None, **kwargs) -> None: - super(TopologyResource, self).__init__(**kwargs) - self.name = name - self.id = id - self.location = location - self.associations = associations - - -class TrafficAnalyticsConfigurationProperties(Model): - """Parameters that define the configuration of traffic analytics. - - All required parameters must be populated in order to send to Azure. - - :param enabled: Required. Flag to enable/disable traffic analytics. - :type enabled: bool - :param workspace_id: The resource guid of the attached workspace. - :type workspace_id: str - :param workspace_region: The location of the attached workspace. - :type workspace_region: str - :param workspace_resource_id: Resource Id of the attached workspace. - :type workspace_resource_id: str - :param traffic_analytics_interval: The interval in minutes which would - decide how frequently TA service should do flow analytics. - :type traffic_analytics_interval: int - """ - - _validation = { - 'enabled': {'required': True}, - } - - _attribute_map = { - 'enabled': {'key': 'enabled', 'type': 'bool'}, - 'workspace_id': {'key': 'workspaceId', 'type': 'str'}, - 'workspace_region': {'key': 'workspaceRegion', 'type': 'str'}, - 'workspace_resource_id': {'key': 'workspaceResourceId', 'type': 'str'}, - 'traffic_analytics_interval': {'key': 'trafficAnalyticsInterval', 'type': 'int'}, - } - - def __init__(self, *, enabled: bool, workspace_id: str=None, workspace_region: str=None, workspace_resource_id: str=None, traffic_analytics_interval: int=None, **kwargs) -> None: - super(TrafficAnalyticsConfigurationProperties, self).__init__(**kwargs) - self.enabled = enabled - self.workspace_id = workspace_id - self.workspace_region = workspace_region - self.workspace_resource_id = workspace_resource_id - self.traffic_analytics_interval = traffic_analytics_interval - - -class TrafficAnalyticsProperties(Model): - """Parameters that define the configuration of traffic analytics. - - All required parameters must be populated in order to send to Azure. - - :param network_watcher_flow_analytics_configuration: Required. Parameters - that define the configuration of traffic analytics. - :type network_watcher_flow_analytics_configuration: - ~azure.mgmt.network.v2019_09_01.models.TrafficAnalyticsConfigurationProperties - """ - - _validation = { - 'network_watcher_flow_analytics_configuration': {'required': True}, - } - - _attribute_map = { - 'network_watcher_flow_analytics_configuration': {'key': 'networkWatcherFlowAnalyticsConfiguration', 'type': 'TrafficAnalyticsConfigurationProperties'}, - } - - def __init__(self, *, network_watcher_flow_analytics_configuration, **kwargs) -> None: - super(TrafficAnalyticsProperties, self).__init__(**kwargs) - self.network_watcher_flow_analytics_configuration = network_watcher_flow_analytics_configuration - - -class TrafficSelectorPolicy(Model): - """An traffic selector policy for a virtual network gateway connection. - - All required parameters must be populated in order to send to Azure. - - :param local_address_ranges: Required. A collection of local address - spaces in CIDR format - :type local_address_ranges: list[str] - :param remote_address_ranges: Required. A collection of remote address - spaces in CIDR format - :type remote_address_ranges: list[str] - """ - - _validation = { - 'local_address_ranges': {'required': True}, - 'remote_address_ranges': {'required': True}, - } - - _attribute_map = { - 'local_address_ranges': {'key': 'localAddressRanges', 'type': '[str]'}, - 'remote_address_ranges': {'key': 'remoteAddressRanges', 'type': '[str]'}, - } - - def __init__(self, *, local_address_ranges, remote_address_ranges, **kwargs) -> None: - super(TrafficSelectorPolicy, self).__init__(**kwargs) - self.local_address_ranges = local_address_ranges - self.remote_address_ranges = remote_address_ranges - - -class TroubleshootingDetails(Model): - """Information gained from troubleshooting of specified resource. - - :param id: The id of the get troubleshoot operation. - :type id: str - :param reason_type: Reason type of failure. - :type reason_type: str - :param summary: A summary of troubleshooting. - :type summary: str - :param detail: Details on troubleshooting results. - :type detail: str - :param recommended_actions: List of recommended actions. - :type recommended_actions: - list[~azure.mgmt.network.v2019_09_01.models.TroubleshootingRecommendedActions] - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'reason_type': {'key': 'reasonType', 'type': 'str'}, - 'summary': {'key': 'summary', 'type': 'str'}, - 'detail': {'key': 'detail', 'type': 'str'}, - 'recommended_actions': {'key': 'recommendedActions', 'type': '[TroubleshootingRecommendedActions]'}, - } - - def __init__(self, *, id: str=None, reason_type: str=None, summary: str=None, detail: str=None, recommended_actions=None, **kwargs) -> None: - super(TroubleshootingDetails, self).__init__(**kwargs) - self.id = id - self.reason_type = reason_type - self.summary = summary - self.detail = detail - self.recommended_actions = recommended_actions - - -class TroubleshootingParameters(Model): - """Parameters that define the resource to troubleshoot. - - All required parameters must be populated in order to send to Azure. - - :param target_resource_id: Required. The target resource to troubleshoot. - :type target_resource_id: str - :param storage_id: Required. The ID for the storage account to save the - troubleshoot result. - :type storage_id: str - :param storage_path: Required. The path to the blob to save the - troubleshoot result in. - :type storage_path: str - """ - - _validation = { - 'target_resource_id': {'required': True}, - 'storage_id': {'required': True}, - 'storage_path': {'required': True}, - } - - _attribute_map = { - 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, - 'storage_id': {'key': 'properties.storageId', 'type': 'str'}, - 'storage_path': {'key': 'properties.storagePath', 'type': 'str'}, - } - - def __init__(self, *, target_resource_id: str, storage_id: str, storage_path: str, **kwargs) -> None: - super(TroubleshootingParameters, self).__init__(**kwargs) - self.target_resource_id = target_resource_id - self.storage_id = storage_id - self.storage_path = storage_path - - -class TroubleshootingRecommendedActions(Model): - """Recommended actions based on discovered issues. - - :param action_id: ID of the recommended action. - :type action_id: str - :param action_text: Description of recommended actions. - :type action_text: str - :param action_uri: The uri linking to a documentation for the recommended - troubleshooting actions. - :type action_uri: str - :param action_uri_text: The information from the URI for the recommended - troubleshooting actions. - :type action_uri_text: str - """ - - _attribute_map = { - 'action_id': {'key': 'actionId', 'type': 'str'}, - 'action_text': {'key': 'actionText', 'type': 'str'}, - 'action_uri': {'key': 'actionUri', 'type': 'str'}, - 'action_uri_text': {'key': 'actionUriText', 'type': 'str'}, - } - - def __init__(self, *, action_id: str=None, action_text: str=None, action_uri: str=None, action_uri_text: str=None, **kwargs) -> None: - super(TroubleshootingRecommendedActions, self).__init__(**kwargs) - self.action_id = action_id - self.action_text = action_text - self.action_uri = action_uri - self.action_uri_text = action_uri_text - - -class TroubleshootingResult(Model): - """Troubleshooting information gained from specified resource. - - :param start_time: The start time of the troubleshooting. - :type start_time: datetime - :param end_time: The end time of the troubleshooting. - :type end_time: datetime - :param code: The result code of the troubleshooting. - :type code: str - :param results: Information from troubleshooting. - :type results: - list[~azure.mgmt.network.v2019_09_01.models.TroubleshootingDetails] - """ - - _attribute_map = { - 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, - 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, - 'code': {'key': 'code', 'type': 'str'}, - 'results': {'key': 'results', 'type': '[TroubleshootingDetails]'}, - } - - def __init__(self, *, start_time=None, end_time=None, code: str=None, results=None, **kwargs) -> None: - super(TroubleshootingResult, self).__init__(**kwargs) - self.start_time = start_time - self.end_time = end_time - self.code = code - self.results = results - - -class TunnelConnectionHealth(Model): - """VirtualNetworkGatewayConnection properties. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar tunnel: Tunnel name. - :vartype tunnel: str - :ivar connection_status: Virtual Network Gateway connection status. - Possible values include: 'Unknown', 'Connecting', 'Connected', - 'NotConnected' - :vartype connection_status: str or - ~azure.mgmt.network.v2019_09_01.models.VirtualNetworkGatewayConnectionStatus - :ivar ingress_bytes_transferred: The Ingress Bytes Transferred in this - connection. - :vartype ingress_bytes_transferred: long - :ivar egress_bytes_transferred: The Egress Bytes Transferred in this - connection. - :vartype egress_bytes_transferred: long - :ivar last_connection_established_utc_time: The time at which connection - was established in Utc format. - :vartype last_connection_established_utc_time: str - """ - - _validation = { - 'tunnel': {'readonly': True}, - 'connection_status': {'readonly': True}, - 'ingress_bytes_transferred': {'readonly': True}, - 'egress_bytes_transferred': {'readonly': True}, - 'last_connection_established_utc_time': {'readonly': True}, - } - - _attribute_map = { - 'tunnel': {'key': 'tunnel', 'type': 'str'}, - 'connection_status': {'key': 'connectionStatus', 'type': 'str'}, - 'ingress_bytes_transferred': {'key': 'ingressBytesTransferred', 'type': 'long'}, - 'egress_bytes_transferred': {'key': 'egressBytesTransferred', 'type': 'long'}, - 'last_connection_established_utc_time': {'key': 'lastConnectionEstablishedUtcTime', 'type': 'str'}, - } - - def __init__(self, **kwargs) -> None: - super(TunnelConnectionHealth, self).__init__(**kwargs) - self.tunnel = None - self.connection_status = None - self.ingress_bytes_transferred = None - self.egress_bytes_transferred = None - self.last_connection_established_utc_time = None - - -class UnprepareNetworkPoliciesRequest(Model): - """Details of UnprepareNetworkPolicies for Subnet. - - :param service_name: The name of the service for which subnet is being - unprepared for. - :type service_name: str - """ - - _attribute_map = { - 'service_name': {'key': 'serviceName', 'type': 'str'}, - } - - def __init__(self, *, service_name: str=None, **kwargs) -> None: - super(UnprepareNetworkPoliciesRequest, self).__init__(**kwargs) - self.service_name = service_name - - -class Usage(Model): - """Describes network resource usage. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :ivar id: Resource identifier. - :vartype id: str - :ivar unit: Required. An enum describing the unit of measurement. Default - value: "Count" . - :vartype unit: str - :param current_value: Required. The current value of the usage. - :type current_value: long - :param limit: Required. The limit of usage. - :type limit: long - :param name: Required. The name of the type of usage. - :type name: ~azure.mgmt.network.v2019_09_01.models.UsageName - """ - - _validation = { - 'id': {'readonly': True}, - 'unit': {'required': True, 'constant': True}, - 'current_value': {'required': True}, - 'limit': {'required': True}, - 'name': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'unit': {'key': 'unit', 'type': 'str'}, - 'current_value': {'key': 'currentValue', 'type': 'long'}, - 'limit': {'key': 'limit', 'type': 'long'}, - 'name': {'key': 'name', 'type': 'UsageName'}, - } - - unit = "Count" - - def __init__(self, *, current_value: int, limit: int, name, **kwargs) -> None: - super(Usage, self).__init__(**kwargs) - self.id = None - self.current_value = current_value - self.limit = limit - self.name = name - - -class UsageName(Model): - """The usage names. - - :param value: A string describing the resource name. - :type value: str - :param localized_value: A localized string describing the resource name. - :type localized_value: str - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': 'str'}, - 'localized_value': {'key': 'localizedValue', 'type': 'str'}, - } - - def __init__(self, *, value: str=None, localized_value: str=None, **kwargs) -> None: - super(UsageName, self).__init__(**kwargs) - self.value = value - self.localized_value = localized_value - - -class VerificationIPFlowParameters(Model): - """Parameters that define the IP flow to be verified. - - All required parameters must be populated in order to send to Azure. - - :param target_resource_id: Required. The ID of the target resource to - perform next-hop on. - :type target_resource_id: str - :param direction: Required. The direction of the packet represented as a - 5-tuple. Possible values include: 'Inbound', 'Outbound' - :type direction: str or ~azure.mgmt.network.v2019_09_01.models.Direction - :param protocol: Required. Protocol to be verified on. Possible values - include: 'TCP', 'UDP' - :type protocol: str or - ~azure.mgmt.network.v2019_09_01.models.IpFlowProtocol - :param local_port: Required. The local port. Acceptable values are a - single integer in the range (0-65535). Support for * for the source port, - which depends on the direction. - :type local_port: str - :param remote_port: Required. The remote port. Acceptable values are a - single integer in the range (0-65535). Support for * for the source port, - which depends on the direction. - :type remote_port: str - :param local_ip_address: Required. The local IP address. Acceptable values - are valid IPv4 addresses. - :type local_ip_address: str - :param remote_ip_address: Required. The remote IP address. Acceptable - values are valid IPv4 addresses. - :type remote_ip_address: str - :param target_nic_resource_id: The NIC ID. (If VM has multiple NICs and IP - forwarding is enabled on any of them, then this parameter must be - specified. Otherwise optional). - :type target_nic_resource_id: str - """ - - _validation = { - 'target_resource_id': {'required': True}, - 'direction': {'required': True}, - 'protocol': {'required': True}, - 'local_port': {'required': True}, - 'remote_port': {'required': True}, - 'local_ip_address': {'required': True}, - 'remote_ip_address': {'required': True}, - } - - _attribute_map = { - 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, - 'direction': {'key': 'direction', 'type': 'str'}, - 'protocol': {'key': 'protocol', 'type': 'str'}, - 'local_port': {'key': 'localPort', 'type': 'str'}, - 'remote_port': {'key': 'remotePort', 'type': 'str'}, - 'local_ip_address': {'key': 'localIPAddress', 'type': 'str'}, - 'remote_ip_address': {'key': 'remoteIPAddress', 'type': 'str'}, - 'target_nic_resource_id': {'key': 'targetNicResourceId', 'type': 'str'}, - } - - def __init__(self, *, target_resource_id: str, direction, protocol, local_port: str, remote_port: str, local_ip_address: str, remote_ip_address: str, target_nic_resource_id: str=None, **kwargs) -> None: - super(VerificationIPFlowParameters, self).__init__(**kwargs) - self.target_resource_id = target_resource_id - self.direction = direction - self.protocol = protocol - self.local_port = local_port - self.remote_port = remote_port - self.local_ip_address = local_ip_address - self.remote_ip_address = remote_ip_address - self.target_nic_resource_id = target_nic_resource_id - - -class VerificationIPFlowResult(Model): - """Results of IP flow verification on the target resource. - - :param access: Indicates whether the traffic is allowed or denied. - Possible values include: 'Allow', 'Deny' - :type access: str or ~azure.mgmt.network.v2019_09_01.models.Access - :param rule_name: Name of the rule. If input is not matched against any - security rule, it is not displayed. - :type rule_name: str - """ - - _attribute_map = { - 'access': {'key': 'access', 'type': 'str'}, - 'rule_name': {'key': 'ruleName', 'type': 'str'}, - } - - def __init__(self, *, access=None, rule_name: str=None, **kwargs) -> None: - super(VerificationIPFlowResult, self).__init__(**kwargs) - self.access = access - self.rule_name = rule_name - - -class VirtualHub(Resource): - """VirtualHub Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param virtual_wan: The VirtualWAN to which the VirtualHub belongs. - :type virtual_wan: ~azure.mgmt.network.v2019_09_01.models.SubResource - :param vpn_gateway: The VpnGateway associated with this VirtualHub. - :type vpn_gateway: ~azure.mgmt.network.v2019_09_01.models.SubResource - :param p2_svpn_gateway: The P2SVpnGateway associated with this VirtualHub. - :type p2_svpn_gateway: ~azure.mgmt.network.v2019_09_01.models.SubResource - :param express_route_gateway: The expressRouteGateway associated with this - VirtualHub. - :type express_route_gateway: - ~azure.mgmt.network.v2019_09_01.models.SubResource - :param azure_firewall: The azureFirewall associated with this VirtualHub. - :type azure_firewall: ~azure.mgmt.network.v2019_09_01.models.SubResource - :param virtual_network_connections: List of all vnet connections with this - VirtualHub. - :type virtual_network_connections: - list[~azure.mgmt.network.v2019_09_01.models.HubVirtualNetworkConnection] - :param address_prefix: Address-prefix for this VirtualHub. - :type address_prefix: str - :param route_table: The routeTable associated with this virtual hub. - :type route_table: - ~azure.mgmt.network.v2019_09_01.models.VirtualHubRouteTable - :ivar provisioning_state: The provisioning state of the virtual hub - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param security_provider_name: The Security Provider name. - :type security_provider_name: str - :param virtual_hub_route_table_v2s: List of all virtual hub route table - v2s associated with this VirtualHub. - :type virtual_hub_route_table_v2s: - list[~azure.mgmt.network.v2019_09_01.models.VirtualHubRouteTableV2] - :param sku: The sku of this VirtualHub. - :type sku: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'virtual_wan': {'key': 'properties.virtualWan', 'type': 'SubResource'}, - 'vpn_gateway': {'key': 'properties.vpnGateway', 'type': 'SubResource'}, - 'p2_svpn_gateway': {'key': 'properties.p2SVpnGateway', 'type': 'SubResource'}, - 'express_route_gateway': {'key': 'properties.expressRouteGateway', 'type': 'SubResource'}, - 'azure_firewall': {'key': 'properties.azureFirewall', 'type': 'SubResource'}, - 'virtual_network_connections': {'key': 'properties.virtualNetworkConnections', 'type': '[HubVirtualNetworkConnection]'}, - 'address_prefix': {'key': 'properties.addressPrefix', 'type': 'str'}, - 'route_table': {'key': 'properties.routeTable', 'type': 'VirtualHubRouteTable'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'security_provider_name': {'key': 'properties.securityProviderName', 'type': 'str'}, - 'virtual_hub_route_table_v2s': {'key': 'properties.virtualHubRouteTableV2s', 'type': '[VirtualHubRouteTableV2]'}, - 'sku': {'key': 'properties.sku', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, virtual_wan=None, vpn_gateway=None, p2_svpn_gateway=None, express_route_gateway=None, azure_firewall=None, virtual_network_connections=None, address_prefix: str=None, route_table=None, security_provider_name: str=None, virtual_hub_route_table_v2s=None, sku: str=None, **kwargs) -> None: - super(VirtualHub, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.virtual_wan = virtual_wan - self.vpn_gateway = vpn_gateway - self.p2_svpn_gateway = p2_svpn_gateway - self.express_route_gateway = express_route_gateway - self.azure_firewall = azure_firewall - self.virtual_network_connections = virtual_network_connections - self.address_prefix = address_prefix - self.route_table = route_table - self.provisioning_state = None - self.security_provider_name = security_provider_name - self.virtual_hub_route_table_v2s = virtual_hub_route_table_v2s - self.sku = sku - self.etag = None - - -class VirtualHubId(Model): - """Virtual Hub identifier. - - :param id: The resource URI for the Virtual Hub where the ExpressRoute - gateway is or will be deployed. The Virtual Hub resource and the - ExpressRoute gateway resource reside in the same subscription. - :type id: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, **kwargs) -> None: - super(VirtualHubId, self).__init__(**kwargs) - self.id = id - - -class VirtualHubRoute(Model): - """VirtualHub route. - - :param address_prefixes: List of all addressPrefixes. - :type address_prefixes: list[str] - :param next_hop_ip_address: NextHop ip address. - :type next_hop_ip_address: str - """ - - _attribute_map = { - 'address_prefixes': {'key': 'addressPrefixes', 'type': '[str]'}, - 'next_hop_ip_address': {'key': 'nextHopIpAddress', 'type': 'str'}, - } - - def __init__(self, *, address_prefixes=None, next_hop_ip_address: str=None, **kwargs) -> None: - super(VirtualHubRoute, self).__init__(**kwargs) - self.address_prefixes = address_prefixes - self.next_hop_ip_address = next_hop_ip_address - - -class VirtualHubRouteTable(Model): - """VirtualHub route table. - - :param routes: List of all routes. - :type routes: list[~azure.mgmt.network.v2019_09_01.models.VirtualHubRoute] - """ - - _attribute_map = { - 'routes': {'key': 'routes', 'type': '[VirtualHubRoute]'}, - } - - def __init__(self, *, routes=None, **kwargs) -> None: - super(VirtualHubRouteTable, self).__init__(**kwargs) - self.routes = routes - - -class VirtualHubRouteTableV2(SubResource): - """VirtualHubRouteTableV2 Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param routes: List of all routes. - :type routes: - list[~azure.mgmt.network.v2019_09_01.models.VirtualHubRouteV2] - :param attached_connections: List of all connections attached to this - route table v2. - :type attached_connections: list[str] - :ivar provisioning_state: The provisioning state of the virtual hub route - table v2 resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'routes': {'key': 'properties.routes', 'type': '[VirtualHubRouteV2]'}, - 'attached_connections': {'key': 'properties.attachedConnections', 'type': '[str]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, routes=None, attached_connections=None, name: str=None, **kwargs) -> None: - super(VirtualHubRouteTableV2, self).__init__(id=id, **kwargs) - self.routes = routes - self.attached_connections = attached_connections - self.provisioning_state = None - self.name = name - self.etag = None - - -class VirtualHubRouteV2(Model): - """VirtualHubRouteTableV2 route. - - :param destination_type: The type of destinations - :type destination_type: str - :param destinations: List of all destinations. - :type destinations: list[str] - :param next_hop_type: The type of next hops - :type next_hop_type: str - :param next_hops: NextHops ip address. - :type next_hops: list[str] - """ - - _attribute_map = { - 'destination_type': {'key': 'destinationType', 'type': 'str'}, - 'destinations': {'key': 'destinations', 'type': '[str]'}, - 'next_hop_type': {'key': 'nextHopType', 'type': 'str'}, - 'next_hops': {'key': 'nextHops', 'type': '[str]'}, - } - - def __init__(self, *, destination_type: str=None, destinations=None, next_hop_type: str=None, next_hops=None, **kwargs) -> None: - super(VirtualHubRouteV2, self).__init__(**kwargs) - self.destination_type = destination_type - self.destinations = destinations - self.next_hop_type = next_hop_type - self.next_hops = next_hops - - -class VirtualNetwork(Resource): - """Virtual Network resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param address_space: The AddressSpace that contains an array of IP - address ranges that can be used by subnets. - :type address_space: ~azure.mgmt.network.v2019_09_01.models.AddressSpace - :param dhcp_options: The dhcpOptions that contains an array of DNS servers - available to VMs deployed in the virtual network. - :type dhcp_options: ~azure.mgmt.network.v2019_09_01.models.DhcpOptions - :param subnets: A list of subnets in a Virtual Network. - :type subnets: list[~azure.mgmt.network.v2019_09_01.models.Subnet] - :param virtual_network_peerings: A list of peerings in a Virtual Network. - :type virtual_network_peerings: - list[~azure.mgmt.network.v2019_09_01.models.VirtualNetworkPeering] - :ivar resource_guid: The resourceGuid property of the Virtual Network - resource. - :vartype resource_guid: str - :ivar provisioning_state: The provisioning state of the virtual network - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param enable_ddos_protection: Indicates if DDoS protection is enabled for - all the protected resources in the virtual network. It requires a DDoS - protection plan associated with the resource. Default value: False . - :type enable_ddos_protection: bool - :param enable_vm_protection: Indicates if VM protection is enabled for all - the subnets in the virtual network. Default value: False . - :type enable_vm_protection: bool - :param ddos_protection_plan: The DDoS protection plan associated with the - virtual network. - :type ddos_protection_plan: - ~azure.mgmt.network.v2019_09_01.models.SubResource - :param bgp_communities: Bgp Communities sent over ExpressRoute with each - route corresponding to a prefix in this VNET. - :type bgp_communities: - ~azure.mgmt.network.v2019_09_01.models.VirtualNetworkBgpCommunities - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'resource_guid': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'address_space': {'key': 'properties.addressSpace', 'type': 'AddressSpace'}, - 'dhcp_options': {'key': 'properties.dhcpOptions', 'type': 'DhcpOptions'}, - 'subnets': {'key': 'properties.subnets', 'type': '[Subnet]'}, - 'virtual_network_peerings': {'key': 'properties.virtualNetworkPeerings', 'type': '[VirtualNetworkPeering]'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'enable_ddos_protection': {'key': 'properties.enableDdosProtection', 'type': 'bool'}, - 'enable_vm_protection': {'key': 'properties.enableVmProtection', 'type': 'bool'}, - 'ddos_protection_plan': {'key': 'properties.ddosProtectionPlan', 'type': 'SubResource'}, - 'bgp_communities': {'key': 'properties.bgpCommunities', 'type': 'VirtualNetworkBgpCommunities'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, address_space=None, dhcp_options=None, subnets=None, virtual_network_peerings=None, enable_ddos_protection: bool=False, enable_vm_protection: bool=False, ddos_protection_plan=None, bgp_communities=None, **kwargs) -> None: - super(VirtualNetwork, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.address_space = address_space - self.dhcp_options = dhcp_options - self.subnets = subnets - self.virtual_network_peerings = virtual_network_peerings - self.resource_guid = None - self.provisioning_state = None - self.enable_ddos_protection = enable_ddos_protection - self.enable_vm_protection = enable_vm_protection - self.ddos_protection_plan = ddos_protection_plan - self.bgp_communities = bgp_communities - self.etag = None - - -class VirtualNetworkBgpCommunities(Model): - """Bgp Communities sent over ExpressRoute with each route corresponding to a - prefix in this VNET. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :param virtual_network_community: Required. The BGP community associated - with the virtual network - :type virtual_network_community: str - :ivar regional_community: The BGP community associated with the region of - the virtual network - :vartype regional_community: str - """ - - _validation = { - 'virtual_network_community': {'required': True}, - 'regional_community': {'readonly': True}, - } - - _attribute_map = { - 'virtual_network_community': {'key': 'virtualNetworkCommunity', 'type': 'str'}, - 'regional_community': {'key': 'regionalCommunity', 'type': 'str'}, - } - - def __init__(self, *, virtual_network_community: str, **kwargs) -> None: - super(VirtualNetworkBgpCommunities, self).__init__(**kwargs) - self.virtual_network_community = virtual_network_community - self.regional_community = None - - -class VirtualNetworkConnectionGatewayReference(Model): - """A reference to VirtualNetworkGateway or LocalNetworkGateway resource. - - All required parameters must be populated in order to send to Azure. - - :param id: Required. The ID of VirtualNetworkGateway or - LocalNetworkGateway resource. - :type id: str - """ - - _validation = { - 'id': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - } - - def __init__(self, *, id: str, **kwargs) -> None: - super(VirtualNetworkConnectionGatewayReference, self).__init__(**kwargs) - self.id = id - - -class VirtualNetworkGateway(Resource): - """A common class for general resource information. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param ip_configurations: IP configurations for virtual network gateway. - :type ip_configurations: - list[~azure.mgmt.network.v2019_09_01.models.VirtualNetworkGatewayIPConfiguration] - :param gateway_type: The type of this virtual network gateway. Possible - values include: 'Vpn', 'ExpressRoute' - :type gateway_type: str or - ~azure.mgmt.network.v2019_09_01.models.VirtualNetworkGatewayType - :param vpn_type: The type of this virtual network gateway. Possible values - include: 'PolicyBased', 'RouteBased' - :type vpn_type: str or ~azure.mgmt.network.v2019_09_01.models.VpnType - :param vpn_gateway_generation: The generation for this - VirtualNetworkGateway. Must be None if gatewayType is not VPN. Possible - values include: 'None', 'Generation1', 'Generation2' - :type vpn_gateway_generation: str or - ~azure.mgmt.network.v2019_09_01.models.VpnGatewayGeneration - :param enable_bgp: Whether BGP is enabled for this virtual network gateway - or not. - :type enable_bgp: bool - :param active_active: ActiveActive flag. - :type active_active: bool - :param gateway_default_site: The reference of the LocalNetworkGateway - resource which represents local network site having default routes. Assign - Null value in case of removing existing default site setting. - :type gateway_default_site: - ~azure.mgmt.network.v2019_09_01.models.SubResource - :param sku: The reference of the VirtualNetworkGatewaySku resource which - represents the SKU selected for Virtual network gateway. - :type sku: ~azure.mgmt.network.v2019_09_01.models.VirtualNetworkGatewaySku - :param vpn_client_configuration: The reference of the - VpnClientConfiguration resource which represents the P2S VpnClient - configurations. - :type vpn_client_configuration: - ~azure.mgmt.network.v2019_09_01.models.VpnClientConfiguration - :param bgp_settings: Virtual network gateway's BGP speaker settings. - :type bgp_settings: ~azure.mgmt.network.v2019_09_01.models.BgpSettings - :param custom_routes: The reference of the address space resource which - represents the custom routes address space specified by the customer for - virtual network gateway and VpnClient. - :type custom_routes: ~azure.mgmt.network.v2019_09_01.models.AddressSpace - :ivar resource_guid: The resource GUID property of the virtual network - gateway resource. - :vartype resource_guid: str - :ivar provisioning_state: The provisioning state of the virtual network - gateway resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param enable_dns_forwarding: Whether dns forwarding is enabled or not. - :type enable_dns_forwarding: bool - :ivar inbound_dns_forwarding_endpoint: The IP address allocated by the - gateway to which dns requests can be sent. - :vartype inbound_dns_forwarding_endpoint: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'resource_guid': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'inbound_dns_forwarding_endpoint': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[VirtualNetworkGatewayIPConfiguration]'}, - 'gateway_type': {'key': 'properties.gatewayType', 'type': 'str'}, - 'vpn_type': {'key': 'properties.vpnType', 'type': 'str'}, - 'vpn_gateway_generation': {'key': 'properties.vpnGatewayGeneration', 'type': 'str'}, - 'enable_bgp': {'key': 'properties.enableBgp', 'type': 'bool'}, - 'active_active': {'key': 'properties.activeActive', 'type': 'bool'}, - 'gateway_default_site': {'key': 'properties.gatewayDefaultSite', 'type': 'SubResource'}, - 'sku': {'key': 'properties.sku', 'type': 'VirtualNetworkGatewaySku'}, - 'vpn_client_configuration': {'key': 'properties.vpnClientConfiguration', 'type': 'VpnClientConfiguration'}, - 'bgp_settings': {'key': 'properties.bgpSettings', 'type': 'BgpSettings'}, - 'custom_routes': {'key': 'properties.customRoutes', 'type': 'AddressSpace'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'enable_dns_forwarding': {'key': 'properties.enableDnsForwarding', 'type': 'bool'}, - 'inbound_dns_forwarding_endpoint': {'key': 'properties.inboundDnsForwardingEndpoint', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, ip_configurations=None, gateway_type=None, vpn_type=None, vpn_gateway_generation=None, enable_bgp: bool=None, active_active: bool=None, gateway_default_site=None, sku=None, vpn_client_configuration=None, bgp_settings=None, custom_routes=None, enable_dns_forwarding: bool=None, **kwargs) -> None: - super(VirtualNetworkGateway, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.ip_configurations = ip_configurations - self.gateway_type = gateway_type - self.vpn_type = vpn_type - self.vpn_gateway_generation = vpn_gateway_generation - self.enable_bgp = enable_bgp - self.active_active = active_active - self.gateway_default_site = gateway_default_site - self.sku = sku - self.vpn_client_configuration = vpn_client_configuration - self.bgp_settings = bgp_settings - self.custom_routes = custom_routes - self.resource_guid = None - self.provisioning_state = None - self.enable_dns_forwarding = enable_dns_forwarding - self.inbound_dns_forwarding_endpoint = None - self.etag = None - - -class VirtualNetworkGatewayConnection(Resource): - """A common class for general resource information. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param authorization_key: The authorizationKey. - :type authorization_key: str - :param virtual_network_gateway1: Required. The reference to virtual - network gateway resource. - :type virtual_network_gateway1: - ~azure.mgmt.network.v2019_09_01.models.VirtualNetworkGateway - :param virtual_network_gateway2: The reference to virtual network gateway - resource. - :type virtual_network_gateway2: - ~azure.mgmt.network.v2019_09_01.models.VirtualNetworkGateway - :param local_network_gateway2: The reference to local network gateway - resource. - :type local_network_gateway2: - ~azure.mgmt.network.v2019_09_01.models.LocalNetworkGateway - :param connection_type: Required. Gateway connection type. Possible values - include: 'IPsec', 'Vnet2Vnet', 'ExpressRoute', 'VPNClient' - :type connection_type: str or - ~azure.mgmt.network.v2019_09_01.models.VirtualNetworkGatewayConnectionType - :param connection_protocol: Connection protocol used for this connection. - Possible values include: 'IKEv2', 'IKEv1' - :type connection_protocol: str or - ~azure.mgmt.network.v2019_09_01.models.VirtualNetworkGatewayConnectionProtocol - :param routing_weight: The routing weight. - :type routing_weight: int - :param shared_key: The IPSec shared key. - :type shared_key: str - :ivar connection_status: Virtual Network Gateway connection status. - Possible values include: 'Unknown', 'Connecting', 'Connected', - 'NotConnected' - :vartype connection_status: str or - ~azure.mgmt.network.v2019_09_01.models.VirtualNetworkGatewayConnectionStatus - :ivar tunnel_connection_status: Collection of all tunnels' connection - health status. - :vartype tunnel_connection_status: - list[~azure.mgmt.network.v2019_09_01.models.TunnelConnectionHealth] - :ivar egress_bytes_transferred: The egress bytes transferred in this - connection. - :vartype egress_bytes_transferred: long - :ivar ingress_bytes_transferred: The ingress bytes transferred in this - connection. - :vartype ingress_bytes_transferred: long - :param peer: The reference to peerings resource. - :type peer: ~azure.mgmt.network.v2019_09_01.models.SubResource - :param enable_bgp: EnableBgp flag. - :type enable_bgp: bool - :param use_policy_based_traffic_selectors: Enable policy-based traffic - selectors. - :type use_policy_based_traffic_selectors: bool - :param ipsec_policies: The IPSec Policies to be considered by this - connection. - :type ipsec_policies: - list[~azure.mgmt.network.v2019_09_01.models.IpsecPolicy] - :param traffic_selector_policies: The Traffic Selector Policies to be - considered by this connection. - :type traffic_selector_policies: - list[~azure.mgmt.network.v2019_09_01.models.TrafficSelectorPolicy] - :ivar resource_guid: The resource GUID property of the virtual network - gateway connection resource. - :vartype resource_guid: str - :ivar provisioning_state: The provisioning state of the virtual network - gateway connection resource. Possible values include: 'Succeeded', - 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param express_route_gateway_bypass: Bypass ExpressRoute Gateway for data - forwarding. - :type express_route_gateway_bypass: bool - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'virtual_network_gateway1': {'required': True}, - 'connection_type': {'required': True}, - 'connection_status': {'readonly': True}, - 'tunnel_connection_status': {'readonly': True}, - 'egress_bytes_transferred': {'readonly': True}, - 'ingress_bytes_transferred': {'readonly': True}, - 'resource_guid': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'authorization_key': {'key': 'properties.authorizationKey', 'type': 'str'}, - 'virtual_network_gateway1': {'key': 'properties.virtualNetworkGateway1', 'type': 'VirtualNetworkGateway'}, - 'virtual_network_gateway2': {'key': 'properties.virtualNetworkGateway2', 'type': 'VirtualNetworkGateway'}, - 'local_network_gateway2': {'key': 'properties.localNetworkGateway2', 'type': 'LocalNetworkGateway'}, - 'connection_type': {'key': 'properties.connectionType', 'type': 'str'}, - 'connection_protocol': {'key': 'properties.connectionProtocol', 'type': 'str'}, - 'routing_weight': {'key': 'properties.routingWeight', 'type': 'int'}, - 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, - 'connection_status': {'key': 'properties.connectionStatus', 'type': 'str'}, - 'tunnel_connection_status': {'key': 'properties.tunnelConnectionStatus', 'type': '[TunnelConnectionHealth]'}, - 'egress_bytes_transferred': {'key': 'properties.egressBytesTransferred', 'type': 'long'}, - 'ingress_bytes_transferred': {'key': 'properties.ingressBytesTransferred', 'type': 'long'}, - 'peer': {'key': 'properties.peer', 'type': 'SubResource'}, - 'enable_bgp': {'key': 'properties.enableBgp', 'type': 'bool'}, - 'use_policy_based_traffic_selectors': {'key': 'properties.usePolicyBasedTrafficSelectors', 'type': 'bool'}, - 'ipsec_policies': {'key': 'properties.ipsecPolicies', 'type': '[IpsecPolicy]'}, - 'traffic_selector_policies': {'key': 'properties.trafficSelectorPolicies', 'type': '[TrafficSelectorPolicy]'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'express_route_gateway_bypass': {'key': 'properties.expressRouteGatewayBypass', 'type': 'bool'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, virtual_network_gateway1, connection_type, id: str=None, location: str=None, tags=None, authorization_key: str=None, virtual_network_gateway2=None, local_network_gateway2=None, connection_protocol=None, routing_weight: int=None, shared_key: str=None, peer=None, enable_bgp: bool=None, use_policy_based_traffic_selectors: bool=None, ipsec_policies=None, traffic_selector_policies=None, express_route_gateway_bypass: bool=None, **kwargs) -> None: - super(VirtualNetworkGatewayConnection, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.authorization_key = authorization_key - self.virtual_network_gateway1 = virtual_network_gateway1 - self.virtual_network_gateway2 = virtual_network_gateway2 - self.local_network_gateway2 = local_network_gateway2 - self.connection_type = connection_type - self.connection_protocol = connection_protocol - self.routing_weight = routing_weight - self.shared_key = shared_key - self.connection_status = None - self.tunnel_connection_status = None - self.egress_bytes_transferred = None - self.ingress_bytes_transferred = None - self.peer = peer - self.enable_bgp = enable_bgp - self.use_policy_based_traffic_selectors = use_policy_based_traffic_selectors - self.ipsec_policies = ipsec_policies - self.traffic_selector_policies = traffic_selector_policies - self.resource_guid = None - self.provisioning_state = None - self.express_route_gateway_bypass = express_route_gateway_bypass - self.etag = None - - -class VirtualNetworkGatewayConnectionListEntity(Resource): - """A common class for general resource information. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param authorization_key: The authorizationKey. - :type authorization_key: str - :param virtual_network_gateway1: Required. The reference to virtual - network gateway resource. - :type virtual_network_gateway1: - ~azure.mgmt.network.v2019_09_01.models.VirtualNetworkConnectionGatewayReference - :param virtual_network_gateway2: The reference to virtual network gateway - resource. - :type virtual_network_gateway2: - ~azure.mgmt.network.v2019_09_01.models.VirtualNetworkConnectionGatewayReference - :param local_network_gateway2: The reference to local network gateway - resource. - :type local_network_gateway2: - ~azure.mgmt.network.v2019_09_01.models.VirtualNetworkConnectionGatewayReference - :param connection_type: Required. Gateway connection type. Possible values - include: 'IPsec', 'Vnet2Vnet', 'ExpressRoute', 'VPNClient' - :type connection_type: str or - ~azure.mgmt.network.v2019_09_01.models.VirtualNetworkGatewayConnectionType - :param connection_protocol: Connection protocol used for this connection. - Possible values include: 'IKEv2', 'IKEv1' - :type connection_protocol: str or - ~azure.mgmt.network.v2019_09_01.models.VirtualNetworkGatewayConnectionProtocol - :param routing_weight: The routing weight. - :type routing_weight: int - :param shared_key: The IPSec shared key. - :type shared_key: str - :ivar connection_status: Virtual Network Gateway connection status. - Possible values include: 'Unknown', 'Connecting', 'Connected', - 'NotConnected' - :vartype connection_status: str or - ~azure.mgmt.network.v2019_09_01.models.VirtualNetworkGatewayConnectionStatus - :ivar tunnel_connection_status: Collection of all tunnels' connection - health status. - :vartype tunnel_connection_status: - list[~azure.mgmt.network.v2019_09_01.models.TunnelConnectionHealth] - :ivar egress_bytes_transferred: The egress bytes transferred in this - connection. - :vartype egress_bytes_transferred: long - :ivar ingress_bytes_transferred: The ingress bytes transferred in this - connection. - :vartype ingress_bytes_transferred: long - :param peer: The reference to peerings resource. - :type peer: ~azure.mgmt.network.v2019_09_01.models.SubResource - :param enable_bgp: EnableBgp flag. - :type enable_bgp: bool - :param use_policy_based_traffic_selectors: Enable policy-based traffic - selectors. - :type use_policy_based_traffic_selectors: bool - :param ipsec_policies: The IPSec Policies to be considered by this - connection. - :type ipsec_policies: - list[~azure.mgmt.network.v2019_09_01.models.IpsecPolicy] - :param traffic_selector_policies: The Traffic Selector Policies to be - considered by this connection. - :type traffic_selector_policies: - list[~azure.mgmt.network.v2019_09_01.models.TrafficSelectorPolicy] - :ivar resource_guid: The resource GUID property of the virtual network - gateway connection resource. - :vartype resource_guid: str - :ivar provisioning_state: The provisioning state of the virtual network - gateway connection resource. Possible values include: 'Succeeded', - 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param express_route_gateway_bypass: Bypass ExpressRoute Gateway for data - forwarding. - :type express_route_gateway_bypass: bool - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'virtual_network_gateway1': {'required': True}, - 'connection_type': {'required': True}, - 'connection_status': {'readonly': True}, - 'tunnel_connection_status': {'readonly': True}, - 'egress_bytes_transferred': {'readonly': True}, - 'ingress_bytes_transferred': {'readonly': True}, - 'resource_guid': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'authorization_key': {'key': 'properties.authorizationKey', 'type': 'str'}, - 'virtual_network_gateway1': {'key': 'properties.virtualNetworkGateway1', 'type': 'VirtualNetworkConnectionGatewayReference'}, - 'virtual_network_gateway2': {'key': 'properties.virtualNetworkGateway2', 'type': 'VirtualNetworkConnectionGatewayReference'}, - 'local_network_gateway2': {'key': 'properties.localNetworkGateway2', 'type': 'VirtualNetworkConnectionGatewayReference'}, - 'connection_type': {'key': 'properties.connectionType', 'type': 'str'}, - 'connection_protocol': {'key': 'properties.connectionProtocol', 'type': 'str'}, - 'routing_weight': {'key': 'properties.routingWeight', 'type': 'int'}, - 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, - 'connection_status': {'key': 'properties.connectionStatus', 'type': 'str'}, - 'tunnel_connection_status': {'key': 'properties.tunnelConnectionStatus', 'type': '[TunnelConnectionHealth]'}, - 'egress_bytes_transferred': {'key': 'properties.egressBytesTransferred', 'type': 'long'}, - 'ingress_bytes_transferred': {'key': 'properties.ingressBytesTransferred', 'type': 'long'}, - 'peer': {'key': 'properties.peer', 'type': 'SubResource'}, - 'enable_bgp': {'key': 'properties.enableBgp', 'type': 'bool'}, - 'use_policy_based_traffic_selectors': {'key': 'properties.usePolicyBasedTrafficSelectors', 'type': 'bool'}, - 'ipsec_policies': {'key': 'properties.ipsecPolicies', 'type': '[IpsecPolicy]'}, - 'traffic_selector_policies': {'key': 'properties.trafficSelectorPolicies', 'type': '[TrafficSelectorPolicy]'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'express_route_gateway_bypass': {'key': 'properties.expressRouteGatewayBypass', 'type': 'bool'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, virtual_network_gateway1, connection_type, id: str=None, location: str=None, tags=None, authorization_key: str=None, virtual_network_gateway2=None, local_network_gateway2=None, connection_protocol=None, routing_weight: int=None, shared_key: str=None, peer=None, enable_bgp: bool=None, use_policy_based_traffic_selectors: bool=None, ipsec_policies=None, traffic_selector_policies=None, express_route_gateway_bypass: bool=None, **kwargs) -> None: - super(VirtualNetworkGatewayConnectionListEntity, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.authorization_key = authorization_key - self.virtual_network_gateway1 = virtual_network_gateway1 - self.virtual_network_gateway2 = virtual_network_gateway2 - self.local_network_gateway2 = local_network_gateway2 - self.connection_type = connection_type - self.connection_protocol = connection_protocol - self.routing_weight = routing_weight - self.shared_key = shared_key - self.connection_status = None - self.tunnel_connection_status = None - self.egress_bytes_transferred = None - self.ingress_bytes_transferred = None - self.peer = peer - self.enable_bgp = enable_bgp - self.use_policy_based_traffic_selectors = use_policy_based_traffic_selectors - self.ipsec_policies = ipsec_policies - self.traffic_selector_policies = traffic_selector_policies - self.resource_guid = None - self.provisioning_state = None - self.express_route_gateway_bypass = express_route_gateway_bypass - self.etag = None - - -class VirtualNetworkGatewayIPConfiguration(SubResource): - """IP configuration for virtual network gateway. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param private_ip_allocation_method: The private IP address allocation - method. Possible values include: 'Static', 'Dynamic' - :type private_ip_allocation_method: str or - ~azure.mgmt.network.v2019_09_01.models.IPAllocationMethod - :param subnet: The reference of the subnet resource. - :type subnet: ~azure.mgmt.network.v2019_09_01.models.SubResource - :param public_ip_address: The reference of the public IP resource. - :type public_ip_address: - ~azure.mgmt.network.v2019_09_01.models.SubResource - :ivar provisioning_state: The provisioning state of the virtual network - gateway IP configuration resource. Possible values include: 'Succeeded', - 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, - 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, - 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'SubResource'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, private_ip_allocation_method=None, subnet=None, public_ip_address=None, name: str=None, **kwargs) -> None: - super(VirtualNetworkGatewayIPConfiguration, self).__init__(id=id, **kwargs) - self.private_ip_allocation_method = private_ip_allocation_method - self.subnet = subnet - self.public_ip_address = public_ip_address - self.provisioning_state = None - self.name = name - self.etag = None - - -class VirtualNetworkGatewaySku(Model): - """VirtualNetworkGatewaySku details. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param name: Gateway SKU name. Possible values include: 'Basic', - 'HighPerformance', 'Standard', 'UltraPerformance', 'VpnGw1', 'VpnGw2', - 'VpnGw3', 'VpnGw4', 'VpnGw5', 'VpnGw1AZ', 'VpnGw2AZ', 'VpnGw3AZ', - 'VpnGw4AZ', 'VpnGw5AZ', 'ErGw1AZ', 'ErGw2AZ', 'ErGw3AZ' - :type name: str or - ~azure.mgmt.network.v2019_09_01.models.VirtualNetworkGatewaySkuName - :param tier: Gateway SKU tier. Possible values include: 'Basic', - 'HighPerformance', 'Standard', 'UltraPerformance', 'VpnGw1', 'VpnGw2', - 'VpnGw3', 'VpnGw4', 'VpnGw5', 'VpnGw1AZ', 'VpnGw2AZ', 'VpnGw3AZ', - 'VpnGw4AZ', 'VpnGw5AZ', 'ErGw1AZ', 'ErGw2AZ', 'ErGw3AZ' - :type tier: str or - ~azure.mgmt.network.v2019_09_01.models.VirtualNetworkGatewaySkuTier - :ivar capacity: The capacity. - :vartype capacity: int - """ - - _validation = { - 'capacity': {'readonly': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'tier': {'key': 'tier', 'type': 'str'}, - 'capacity': {'key': 'capacity', 'type': 'int'}, - } - - def __init__(self, *, name=None, tier=None, **kwargs) -> None: - super(VirtualNetworkGatewaySku, self).__init__(**kwargs) - self.name = name - self.tier = tier - self.capacity = None - - -class VirtualNetworkPeering(SubResource): - """Peerings in a virtual network resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param allow_virtual_network_access: Whether the VMs in the local virtual - network space would be able to access the VMs in remote virtual network - space. - :type allow_virtual_network_access: bool - :param allow_forwarded_traffic: Whether the forwarded traffic from the VMs - in the local virtual network will be allowed/disallowed in remote virtual - network. - :type allow_forwarded_traffic: bool - :param allow_gateway_transit: If gateway links can be used in remote - virtual networking to link to this virtual network. - :type allow_gateway_transit: bool - :param use_remote_gateways: If remote gateways can be used on this virtual - network. If the flag is set to true, and allowGatewayTransit on remote - peering is also true, virtual network will use gateways of remote virtual - network for transit. Only one peering can have this flag set to true. This - flag cannot be set if virtual network already has a gateway. - :type use_remote_gateways: bool - :param remote_virtual_network: The reference of the remote virtual - network. The remote virtual network can be in the same or different region - (preview). See here to register for the preview and learn more - (https://docs.microsoft.com/en-us/azure/virtual-network/virtual-network-create-peering). - :type remote_virtual_network: - ~azure.mgmt.network.v2019_09_01.models.SubResource - :param remote_address_space: The reference of the remote virtual network - address space. - :type remote_address_space: - ~azure.mgmt.network.v2019_09_01.models.AddressSpace - :param peering_state: The status of the virtual network peering. Possible - values include: 'Initiated', 'Connected', 'Disconnected' - :type peering_state: str or - ~azure.mgmt.network.v2019_09_01.models.VirtualNetworkPeeringState - :ivar provisioning_state: The provisioning state of the virtual network - peering resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'allow_virtual_network_access': {'key': 'properties.allowVirtualNetworkAccess', 'type': 'bool'}, - 'allow_forwarded_traffic': {'key': 'properties.allowForwardedTraffic', 'type': 'bool'}, - 'allow_gateway_transit': {'key': 'properties.allowGatewayTransit', 'type': 'bool'}, - 'use_remote_gateways': {'key': 'properties.useRemoteGateways', 'type': 'bool'}, - 'remote_virtual_network': {'key': 'properties.remoteVirtualNetwork', 'type': 'SubResource'}, - 'remote_address_space': {'key': 'properties.remoteAddressSpace', 'type': 'AddressSpace'}, - 'peering_state': {'key': 'properties.peeringState', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, allow_virtual_network_access: bool=None, allow_forwarded_traffic: bool=None, allow_gateway_transit: bool=None, use_remote_gateways: bool=None, remote_virtual_network=None, remote_address_space=None, peering_state=None, name: str=None, **kwargs) -> None: - super(VirtualNetworkPeering, self).__init__(id=id, **kwargs) - self.allow_virtual_network_access = allow_virtual_network_access - self.allow_forwarded_traffic = allow_forwarded_traffic - self.allow_gateway_transit = allow_gateway_transit - self.use_remote_gateways = use_remote_gateways - self.remote_virtual_network = remote_virtual_network - self.remote_address_space = remote_address_space - self.peering_state = peering_state - self.provisioning_state = None - self.name = name - self.etag = None - - -class VirtualNetworkTap(Resource): - """Virtual Network Tap resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :ivar network_interface_tap_configurations: Specifies the list of resource - IDs for the network interface IP configuration that needs to be tapped. - :vartype network_interface_tap_configurations: - list[~azure.mgmt.network.v2019_09_01.models.NetworkInterfaceTapConfiguration] - :ivar resource_guid: The resource GUID property of the virtual network tap - resource. - :vartype resource_guid: str - :ivar provisioning_state: The provisioning state of the virtual network - tap resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param destination_network_interface_ip_configuration: The reference to - the private IP Address of the collector nic that will receive the tap. - :type destination_network_interface_ip_configuration: - ~azure.mgmt.network.v2019_09_01.models.NetworkInterfaceIPConfiguration - :param destination_load_balancer_front_end_ip_configuration: The reference - to the private IP address on the internal Load Balancer that will receive - the tap. - :type destination_load_balancer_front_end_ip_configuration: - ~azure.mgmt.network.v2019_09_01.models.FrontendIPConfiguration - :param destination_port: The VXLAN destination port that will receive the - tapped traffic. - :type destination_port: int - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'network_interface_tap_configurations': {'readonly': True}, - 'resource_guid': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'network_interface_tap_configurations': {'key': 'properties.networkInterfaceTapConfigurations', 'type': '[NetworkInterfaceTapConfiguration]'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'destination_network_interface_ip_configuration': {'key': 'properties.destinationNetworkInterfaceIPConfiguration', 'type': 'NetworkInterfaceIPConfiguration'}, - 'destination_load_balancer_front_end_ip_configuration': {'key': 'properties.destinationLoadBalancerFrontEndIPConfiguration', 'type': 'FrontendIPConfiguration'}, - 'destination_port': {'key': 'properties.destinationPort', 'type': 'int'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, destination_network_interface_ip_configuration=None, destination_load_balancer_front_end_ip_configuration=None, destination_port: int=None, **kwargs) -> None: - super(VirtualNetworkTap, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.network_interface_tap_configurations = None - self.resource_guid = None - self.provisioning_state = None - self.destination_network_interface_ip_configuration = destination_network_interface_ip_configuration - self.destination_load_balancer_front_end_ip_configuration = destination_load_balancer_front_end_ip_configuration - self.destination_port = destination_port - self.etag = None - - -class VirtualNetworkUsage(Model): - """Usage details for subnet. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar current_value: Indicates number of IPs used from the Subnet. - :vartype current_value: float - :ivar id: Subnet identifier. - :vartype id: str - :ivar limit: Indicates the size of the subnet. - :vartype limit: float - :ivar name: The name containing common and localized value for usage. - :vartype name: - ~azure.mgmt.network.v2019_09_01.models.VirtualNetworkUsageName - :ivar unit: Usage units. Returns 'Count'. - :vartype unit: str - """ - - _validation = { - 'current_value': {'readonly': True}, - 'id': {'readonly': True}, - 'limit': {'readonly': True}, - 'name': {'readonly': True}, - 'unit': {'readonly': True}, - } - - _attribute_map = { - 'current_value': {'key': 'currentValue', 'type': 'float'}, - 'id': {'key': 'id', 'type': 'str'}, - 'limit': {'key': 'limit', 'type': 'float'}, - 'name': {'key': 'name', 'type': 'VirtualNetworkUsageName'}, - 'unit': {'key': 'unit', 'type': 'str'}, - } - - def __init__(self, **kwargs) -> None: - super(VirtualNetworkUsage, self).__init__(**kwargs) - self.current_value = None - self.id = None - self.limit = None - self.name = None - self.unit = None - - -class VirtualNetworkUsageName(Model): - """Usage strings container. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar localized_value: Localized subnet size and usage string. - :vartype localized_value: str - :ivar value: Subnet size and usage string. - :vartype value: str - """ - - _validation = { - 'localized_value': {'readonly': True}, - 'value': {'readonly': True}, - } - - _attribute_map = { - 'localized_value': {'key': 'localizedValue', 'type': 'str'}, - 'value': {'key': 'value', 'type': 'str'}, - } - - def __init__(self, **kwargs) -> None: - super(VirtualNetworkUsageName, self).__init__(**kwargs) - self.localized_value = None - self.value = None - - -class VirtualRouter(Resource): - """VirtualRouter Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param virtual_router_asn: VirtualRouter ASN. - :type virtual_router_asn: long - :param virtual_router_ips: VirtualRouter IPs - :type virtual_router_ips: list[str] - :param hosted_subnet: The Subnet on which VirtualRouter is hosted. - :type hosted_subnet: ~azure.mgmt.network.v2019_09_01.models.SubResource - :param hosted_gateway: The Gateway on which VirtualRouter is hosted. - :type hosted_gateway: ~azure.mgmt.network.v2019_09_01.models.SubResource - :ivar peerings: List of references to VirtualRouterPeerings - :vartype peerings: - list[~azure.mgmt.network.v2019_09_01.models.SubResource] - :ivar provisioning_state: The provisioning state of the resource. Possible - values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :ivar etag: Gets a unique read-only string that changes whenever the - resource is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'virtual_router_asn': {'maximum': 4294967295, 'minimum': 0}, - 'peerings': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'virtual_router_asn': {'key': 'properties.virtualRouterAsn', 'type': 'long'}, - 'virtual_router_ips': {'key': 'properties.virtualRouterIps', 'type': '[str]'}, - 'hosted_subnet': {'key': 'properties.hostedSubnet', 'type': 'SubResource'}, - 'hosted_gateway': {'key': 'properties.hostedGateway', 'type': 'SubResource'}, - 'peerings': {'key': 'properties.peerings', 'type': '[SubResource]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, virtual_router_asn: int=None, virtual_router_ips=None, hosted_subnet=None, hosted_gateway=None, **kwargs) -> None: - super(VirtualRouter, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.virtual_router_asn = virtual_router_asn - self.virtual_router_ips = virtual_router_ips - self.hosted_subnet = hosted_subnet - self.hosted_gateway = hosted_gateway - self.peerings = None - self.provisioning_state = None - self.etag = None - - -class VirtualRouterPeering(SubResource): - """Virtual Router Peering resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param peer_asn: Peer ASN. - :type peer_asn: long - :param peer_ip: Peer IP. - :type peer_ip: str - :ivar provisioning_state: The provisioning state of the resource. Possible - values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param name: Gets name of the peering unique to VirtualRouter. This name - can be used to access the resource. - :type name: str - :ivar etag: Gets a unique read-only string that changes whenever the - resource is updated. - :vartype etag: str - :ivar type: Peering type. - :vartype type: str - """ - - _validation = { - 'peer_asn': {'maximum': 4294967295, 'minimum': 0}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'peer_asn': {'key': 'properties.peerAsn', 'type': 'long'}, - 'peer_ip': {'key': 'properties.peerIp', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, peer_asn: int=None, peer_ip: str=None, name: str=None, **kwargs) -> None: - super(VirtualRouterPeering, self).__init__(id=id, **kwargs) - self.peer_asn = peer_asn - self.peer_ip = peer_ip - self.provisioning_state = None - self.name = name - self.etag = None - self.type = None - - -class VirtualWAN(Resource): - """VirtualWAN Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param disable_vpn_encryption: Vpn encryption to be disabled or not. - :type disable_vpn_encryption: bool - :ivar virtual_hubs: List of VirtualHubs in the VirtualWAN. - :vartype virtual_hubs: - list[~azure.mgmt.network.v2019_09_01.models.SubResource] - :ivar vpn_sites: List of VpnSites in the VirtualWAN. - :vartype vpn_sites: - list[~azure.mgmt.network.v2019_09_01.models.SubResource] - :param allow_branch_to_branch_traffic: True if branch to branch traffic is - allowed. - :type allow_branch_to_branch_traffic: bool - :param allow_vnet_to_vnet_traffic: True if Vnet to Vnet traffic is - allowed. - :type allow_vnet_to_vnet_traffic: bool - :param office365_local_breakout_category: The office local breakout - category. Possible values include: 'Optimize', 'OptimizeAndAllow', 'All', - 'None' - :type office365_local_breakout_category: str or - ~azure.mgmt.network.v2019_09_01.models.OfficeTrafficCategory - :ivar provisioning_state: The provisioning state of the virtual WAN - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param virtual_wan_type: The type of the VirtualWAN. - :type virtual_wan_type: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'virtual_hubs': {'readonly': True}, - 'vpn_sites': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'disable_vpn_encryption': {'key': 'properties.disableVpnEncryption', 'type': 'bool'}, - 'virtual_hubs': {'key': 'properties.virtualHubs', 'type': '[SubResource]'}, - 'vpn_sites': {'key': 'properties.vpnSites', 'type': '[SubResource]'}, - 'allow_branch_to_branch_traffic': {'key': 'properties.allowBranchToBranchTraffic', 'type': 'bool'}, - 'allow_vnet_to_vnet_traffic': {'key': 'properties.allowVnetToVnetTraffic', 'type': 'bool'}, - 'office365_local_breakout_category': {'key': 'properties.office365LocalBreakoutCategory', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'virtual_wan_type': {'key': 'properties.type', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, disable_vpn_encryption: bool=None, allow_branch_to_branch_traffic: bool=None, allow_vnet_to_vnet_traffic: bool=None, office365_local_breakout_category=None, virtual_wan_type: str=None, **kwargs) -> None: - super(VirtualWAN, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.disable_vpn_encryption = disable_vpn_encryption - self.virtual_hubs = None - self.vpn_sites = None - self.allow_branch_to_branch_traffic = allow_branch_to_branch_traffic - self.allow_vnet_to_vnet_traffic = allow_vnet_to_vnet_traffic - self.office365_local_breakout_category = office365_local_breakout_category - self.provisioning_state = None - self.virtual_wan_type = virtual_wan_type - self.etag = None - - -class VirtualWanSecurityProvider(Model): - """Collection of SecurityProviders. - - :param name: Name of the security provider. - :type name: str - :param url: Url of the security provider. - :type url: str - :param type: Name of the security provider. Possible values include: - 'External', 'Native' - :type type: str or - ~azure.mgmt.network.v2019_09_01.models.VirtualWanSecurityProviderType - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'url': {'key': 'url', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, name: str=None, url: str=None, type=None, **kwargs) -> None: - super(VirtualWanSecurityProvider, self).__init__(**kwargs) - self.name = name - self.url = url - self.type = type - - -class VirtualWanSecurityProviders(Model): - """Collection of SecurityProviders. - - :param supported_providers: List of VirtualWAN security providers. - :type supported_providers: - list[~azure.mgmt.network.v2019_09_01.models.VirtualWanSecurityProvider] - """ - - _attribute_map = { - 'supported_providers': {'key': 'supportedProviders', 'type': '[VirtualWanSecurityProvider]'}, - } - - def __init__(self, *, supported_providers=None, **kwargs) -> None: - super(VirtualWanSecurityProviders, self).__init__(**kwargs) - self.supported_providers = supported_providers - - -class VirtualWanVpnProfileParameters(Model): - """Virtual Wan Vpn profile parameters Vpn profile generation. - - :param vpn_server_configuration_resource_id: VpnServerConfiguration - partial resource uri with which VirtualWan is associated to. - :type vpn_server_configuration_resource_id: str - :param authentication_method: VPN client authentication method. Possible - values include: 'EAPTLS', 'EAPMSCHAPv2' - :type authentication_method: str or - ~azure.mgmt.network.v2019_09_01.models.AuthenticationMethod - """ - - _attribute_map = { - 'vpn_server_configuration_resource_id': {'key': 'vpnServerConfigurationResourceId', 'type': 'str'}, - 'authentication_method': {'key': 'authenticationMethod', 'type': 'str'}, - } - - def __init__(self, *, vpn_server_configuration_resource_id: str=None, authentication_method=None, **kwargs) -> None: - super(VirtualWanVpnProfileParameters, self).__init__(**kwargs) - self.vpn_server_configuration_resource_id = vpn_server_configuration_resource_id - self.authentication_method = authentication_method - - -class VpnClientConfiguration(Model): - """VpnClientConfiguration for P2S client. - - :param vpn_client_address_pool: The reference of the address space - resource which represents Address space for P2S VpnClient. - :type vpn_client_address_pool: - ~azure.mgmt.network.v2019_09_01.models.AddressSpace - :param vpn_client_root_certificates: VpnClientRootCertificate for virtual - network gateway. - :type vpn_client_root_certificates: - list[~azure.mgmt.network.v2019_09_01.models.VpnClientRootCertificate] - :param vpn_client_revoked_certificates: VpnClientRevokedCertificate for - Virtual network gateway. - :type vpn_client_revoked_certificates: - list[~azure.mgmt.network.v2019_09_01.models.VpnClientRevokedCertificate] - :param vpn_client_protocols: VpnClientProtocols for Virtual network - gateway. - :type vpn_client_protocols: list[str or - ~azure.mgmt.network.v2019_09_01.models.VpnClientProtocol] - :param vpn_client_ipsec_policies: VpnClientIpsecPolicies for virtual - network gateway P2S client. - :type vpn_client_ipsec_policies: - list[~azure.mgmt.network.v2019_09_01.models.IpsecPolicy] - :param radius_server_address: The radius server address property of the - VirtualNetworkGateway resource for vpn client connection. - :type radius_server_address: str - :param radius_server_secret: The radius secret property of the - VirtualNetworkGateway resource for vpn client connection. - :type radius_server_secret: str - :param aad_tenant: The AADTenant property of the VirtualNetworkGateway - resource for vpn client connection used for AAD authentication. - :type aad_tenant: str - :param aad_audience: The AADAudience property of the VirtualNetworkGateway - resource for vpn client connection used for AAD authentication. - :type aad_audience: str - :param aad_issuer: The AADIssuer property of the VirtualNetworkGateway - resource for vpn client connection used for AAD authentication. - :type aad_issuer: str - """ - - _attribute_map = { - 'vpn_client_address_pool': {'key': 'vpnClientAddressPool', 'type': 'AddressSpace'}, - 'vpn_client_root_certificates': {'key': 'vpnClientRootCertificates', 'type': '[VpnClientRootCertificate]'}, - 'vpn_client_revoked_certificates': {'key': 'vpnClientRevokedCertificates', 'type': '[VpnClientRevokedCertificate]'}, - 'vpn_client_protocols': {'key': 'vpnClientProtocols', 'type': '[str]'}, - 'vpn_client_ipsec_policies': {'key': 'vpnClientIpsecPolicies', 'type': '[IpsecPolicy]'}, - 'radius_server_address': {'key': 'radiusServerAddress', 'type': 'str'}, - 'radius_server_secret': {'key': 'radiusServerSecret', 'type': 'str'}, - 'aad_tenant': {'key': 'aadTenant', 'type': 'str'}, - 'aad_audience': {'key': 'aadAudience', 'type': 'str'}, - 'aad_issuer': {'key': 'aadIssuer', 'type': 'str'}, - } - - def __init__(self, *, vpn_client_address_pool=None, vpn_client_root_certificates=None, vpn_client_revoked_certificates=None, vpn_client_protocols=None, vpn_client_ipsec_policies=None, radius_server_address: str=None, radius_server_secret: str=None, aad_tenant: str=None, aad_audience: str=None, aad_issuer: str=None, **kwargs) -> None: - super(VpnClientConfiguration, self).__init__(**kwargs) - self.vpn_client_address_pool = vpn_client_address_pool - self.vpn_client_root_certificates = vpn_client_root_certificates - self.vpn_client_revoked_certificates = vpn_client_revoked_certificates - self.vpn_client_protocols = vpn_client_protocols - self.vpn_client_ipsec_policies = vpn_client_ipsec_policies - self.radius_server_address = radius_server_address - self.radius_server_secret = radius_server_secret - self.aad_tenant = aad_tenant - self.aad_audience = aad_audience - self.aad_issuer = aad_issuer - - -class VpnClientConnectionHealth(Model): - """VpnClientConnectionHealth properties. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar total_ingress_bytes_transferred: Total of the Ingress Bytes - Transferred in this P2S Vpn connection. - :vartype total_ingress_bytes_transferred: long - :ivar total_egress_bytes_transferred: Total of the Egress Bytes - Transferred in this connection. - :vartype total_egress_bytes_transferred: long - :param vpn_client_connections_count: The total of p2s vpn clients - connected at this time to this P2SVpnGateway. - :type vpn_client_connections_count: int - :param allocated_ip_addresses: List of allocated ip addresses to the - connected p2s vpn clients. - :type allocated_ip_addresses: list[str] - """ - - _validation = { - 'total_ingress_bytes_transferred': {'readonly': True}, - 'total_egress_bytes_transferred': {'readonly': True}, - } - - _attribute_map = { - 'total_ingress_bytes_transferred': {'key': 'totalIngressBytesTransferred', 'type': 'long'}, - 'total_egress_bytes_transferred': {'key': 'totalEgressBytesTransferred', 'type': 'long'}, - 'vpn_client_connections_count': {'key': 'vpnClientConnectionsCount', 'type': 'int'}, - 'allocated_ip_addresses': {'key': 'allocatedIpAddresses', 'type': '[str]'}, - } - - def __init__(self, *, vpn_client_connections_count: int=None, allocated_ip_addresses=None, **kwargs) -> None: - super(VpnClientConnectionHealth, self).__init__(**kwargs) - self.total_ingress_bytes_transferred = None - self.total_egress_bytes_transferred = None - self.vpn_client_connections_count = vpn_client_connections_count - self.allocated_ip_addresses = allocated_ip_addresses - - -class VpnClientConnectionHealthDetail(Model): - """VPN client connection health detail. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar vpn_connection_id: The vpn client Id. - :vartype vpn_connection_id: str - :ivar vpn_connection_duration: The duration time of a connected vpn - client. - :vartype vpn_connection_duration: long - :ivar vpn_connection_time: The start time of a connected vpn client. - :vartype vpn_connection_time: str - :ivar public_ip_address: The public Ip of a connected vpn client. - :vartype public_ip_address: str - :ivar private_ip_address: The assigned private Ip of a connected vpn - client. - :vartype private_ip_address: str - :ivar vpn_user_name: The user name of a connected vpn client. - :vartype vpn_user_name: str - :ivar max_bandwidth: The max band width. - :vartype max_bandwidth: long - :ivar egress_packets_transferred: The egress packets per second. - :vartype egress_packets_transferred: long - :ivar egress_bytes_transferred: The egress bytes per second. - :vartype egress_bytes_transferred: long - :ivar ingress_packets_transferred: The ingress packets per second. - :vartype ingress_packets_transferred: long - :ivar ingress_bytes_transferred: The ingress bytes per second. - :vartype ingress_bytes_transferred: long - :ivar max_packets_per_second: The max packets transferred per second. - :vartype max_packets_per_second: long - """ - - _validation = { - 'vpn_connection_id': {'readonly': True}, - 'vpn_connection_duration': {'readonly': True}, - 'vpn_connection_time': {'readonly': True}, - 'public_ip_address': {'readonly': True}, - 'private_ip_address': {'readonly': True}, - 'vpn_user_name': {'readonly': True}, - 'max_bandwidth': {'readonly': True}, - 'egress_packets_transferred': {'readonly': True}, - 'egress_bytes_transferred': {'readonly': True}, - 'ingress_packets_transferred': {'readonly': True}, - 'ingress_bytes_transferred': {'readonly': True}, - 'max_packets_per_second': {'readonly': True}, - } - - _attribute_map = { - 'vpn_connection_id': {'key': 'vpnConnectionId', 'type': 'str'}, - 'vpn_connection_duration': {'key': 'vpnConnectionDuration', 'type': 'long'}, - 'vpn_connection_time': {'key': 'vpnConnectionTime', 'type': 'str'}, - 'public_ip_address': {'key': 'publicIpAddress', 'type': 'str'}, - 'private_ip_address': {'key': 'privateIpAddress', 'type': 'str'}, - 'vpn_user_name': {'key': 'vpnUserName', 'type': 'str'}, - 'max_bandwidth': {'key': 'maxBandwidth', 'type': 'long'}, - 'egress_packets_transferred': {'key': 'egressPacketsTransferred', 'type': 'long'}, - 'egress_bytes_transferred': {'key': 'egressBytesTransferred', 'type': 'long'}, - 'ingress_packets_transferred': {'key': 'ingressPacketsTransferred', 'type': 'long'}, - 'ingress_bytes_transferred': {'key': 'ingressBytesTransferred', 'type': 'long'}, - 'max_packets_per_second': {'key': 'maxPacketsPerSecond', 'type': 'long'}, - } - - def __init__(self, **kwargs) -> None: - super(VpnClientConnectionHealthDetail, self).__init__(**kwargs) - self.vpn_connection_id = None - self.vpn_connection_duration = None - self.vpn_connection_time = None - self.public_ip_address = None - self.private_ip_address = None - self.vpn_user_name = None - self.max_bandwidth = None - self.egress_packets_transferred = None - self.egress_bytes_transferred = None - self.ingress_packets_transferred = None - self.ingress_bytes_transferred = None - self.max_packets_per_second = None - - -class VpnClientConnectionHealthDetailListResult(Model): - """List of virtual network gateway vpn client connection health. - - :param value: List of vpn client connection health. - :type value: - list[~azure.mgmt.network.v2019_09_01.models.VpnClientConnectionHealthDetail] - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[VpnClientConnectionHealthDetail]'}, - } - - def __init__(self, *, value=None, **kwargs) -> None: - super(VpnClientConnectionHealthDetailListResult, self).__init__(**kwargs) - self.value = value - - -class VpnClientIPsecParameters(Model): - """An IPSec parameters for a virtual network gateway P2S connection. - - All required parameters must be populated in order to send to Azure. - - :param sa_life_time_seconds: Required. The IPSec Security Association - (also called Quick Mode or Phase 2 SA) lifetime in seconds for P2S client. - :type sa_life_time_seconds: int - :param sa_data_size_kilobytes: Required. The IPSec Security Association - (also called Quick Mode or Phase 2 SA) payload size in KB for P2S client.. - :type sa_data_size_kilobytes: int - :param ipsec_encryption: Required. The IPSec encryption algorithm (IKE - phase 1). Possible values include: 'None', 'DES', 'DES3', 'AES128', - 'AES192', 'AES256', 'GCMAES128', 'GCMAES192', 'GCMAES256' - :type ipsec_encryption: str or - ~azure.mgmt.network.v2019_09_01.models.IpsecEncryption - :param ipsec_integrity: Required. The IPSec integrity algorithm (IKE phase - 1). Possible values include: 'MD5', 'SHA1', 'SHA256', 'GCMAES128', - 'GCMAES192', 'GCMAES256' - :type ipsec_integrity: str or - ~azure.mgmt.network.v2019_09_01.models.IpsecIntegrity - :param ike_encryption: Required. The IKE encryption algorithm (IKE phase - 2). Possible values include: 'DES', 'DES3', 'AES128', 'AES192', 'AES256', - 'GCMAES256', 'GCMAES128' - :type ike_encryption: str or - ~azure.mgmt.network.v2019_09_01.models.IkeEncryption - :param ike_integrity: Required. The IKE integrity algorithm (IKE phase 2). - Possible values include: 'MD5', 'SHA1', 'SHA256', 'SHA384', 'GCMAES256', - 'GCMAES128' - :type ike_integrity: str or - ~azure.mgmt.network.v2019_09_01.models.IkeIntegrity - :param dh_group: Required. The DH Group used in IKE Phase 1 for initial - SA. Possible values include: 'None', 'DHGroup1', 'DHGroup2', 'DHGroup14', - 'DHGroup2048', 'ECP256', 'ECP384', 'DHGroup24' - :type dh_group: str or ~azure.mgmt.network.v2019_09_01.models.DhGroup - :param pfs_group: Required. The Pfs Group used in IKE Phase 2 for new - child SA. Possible values include: 'None', 'PFS1', 'PFS2', 'PFS2048', - 'ECP256', 'ECP384', 'PFS24', 'PFS14', 'PFSMM' - :type pfs_group: str or ~azure.mgmt.network.v2019_09_01.models.PfsGroup - """ - - _validation = { - 'sa_life_time_seconds': {'required': True}, - 'sa_data_size_kilobytes': {'required': True}, - 'ipsec_encryption': {'required': True}, - 'ipsec_integrity': {'required': True}, - 'ike_encryption': {'required': True}, - 'ike_integrity': {'required': True}, - 'dh_group': {'required': True}, - 'pfs_group': {'required': True}, - } - - _attribute_map = { - 'sa_life_time_seconds': {'key': 'saLifeTimeSeconds', 'type': 'int'}, - 'sa_data_size_kilobytes': {'key': 'saDataSizeKilobytes', 'type': 'int'}, - 'ipsec_encryption': {'key': 'ipsecEncryption', 'type': 'str'}, - 'ipsec_integrity': {'key': 'ipsecIntegrity', 'type': 'str'}, - 'ike_encryption': {'key': 'ikeEncryption', 'type': 'str'}, - 'ike_integrity': {'key': 'ikeIntegrity', 'type': 'str'}, - 'dh_group': {'key': 'dhGroup', 'type': 'str'}, - 'pfs_group': {'key': 'pfsGroup', 'type': 'str'}, - } - - def __init__(self, *, sa_life_time_seconds: int, sa_data_size_kilobytes: int, ipsec_encryption, ipsec_integrity, ike_encryption, ike_integrity, dh_group, pfs_group, **kwargs) -> None: - super(VpnClientIPsecParameters, self).__init__(**kwargs) - self.sa_life_time_seconds = sa_life_time_seconds - self.sa_data_size_kilobytes = sa_data_size_kilobytes - self.ipsec_encryption = ipsec_encryption - self.ipsec_integrity = ipsec_integrity - self.ike_encryption = ike_encryption - self.ike_integrity = ike_integrity - self.dh_group = dh_group - self.pfs_group = pfs_group - - -class VpnClientParameters(Model): - """Vpn Client Parameters for package generation. - - :param processor_architecture: VPN client Processor Architecture. Possible - values include: 'Amd64', 'X86' - :type processor_architecture: str or - ~azure.mgmt.network.v2019_09_01.models.ProcessorArchitecture - :param authentication_method: VPN client authentication method. Possible - values include: 'EAPTLS', 'EAPMSCHAPv2' - :type authentication_method: str or - ~azure.mgmt.network.v2019_09_01.models.AuthenticationMethod - :param radius_server_auth_certificate: The public certificate data for the - radius server authentication certificate as a Base-64 encoded string. - Required only if external radius authentication has been configured with - EAPTLS authentication. - :type radius_server_auth_certificate: str - :param client_root_certificates: A list of client root certificates public - certificate data encoded as Base-64 strings. Optional parameter for - external radius based authentication with EAPTLS. - :type client_root_certificates: list[str] - """ - - _attribute_map = { - 'processor_architecture': {'key': 'processorArchitecture', 'type': 'str'}, - 'authentication_method': {'key': 'authenticationMethod', 'type': 'str'}, - 'radius_server_auth_certificate': {'key': 'radiusServerAuthCertificate', 'type': 'str'}, - 'client_root_certificates': {'key': 'clientRootCertificates', 'type': '[str]'}, - } - - def __init__(self, *, processor_architecture=None, authentication_method=None, radius_server_auth_certificate: str=None, client_root_certificates=None, **kwargs) -> None: - super(VpnClientParameters, self).__init__(**kwargs) - self.processor_architecture = processor_architecture - self.authentication_method = authentication_method - self.radius_server_auth_certificate = radius_server_auth_certificate - self.client_root_certificates = client_root_certificates - - -class VpnClientRevokedCertificate(SubResource): - """VPN client revoked certificate of virtual network gateway. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param thumbprint: The revoked VPN client certificate thumbprint. - :type thumbprint: str - :ivar provisioning_state: The provisioning state of the VPN client revoked - certificate resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'thumbprint': {'key': 'properties.thumbprint', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, thumbprint: str=None, name: str=None, **kwargs) -> None: - super(VpnClientRevokedCertificate, self).__init__(id=id, **kwargs) - self.thumbprint = thumbprint - self.provisioning_state = None - self.name = name - self.etag = None - - -class VpnClientRootCertificate(SubResource): - """VPN client root certificate of virtual network gateway. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :param public_cert_data: Required. The certificate public data. - :type public_cert_data: str - :ivar provisioning_state: The provisioning state of the VPN client root - certificate resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'public_cert_data': {'required': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'public_cert_data': {'key': 'properties.publicCertData', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, public_cert_data: str, id: str=None, name: str=None, **kwargs) -> None: - super(VpnClientRootCertificate, self).__init__(id=id, **kwargs) - self.public_cert_data = public_cert_data - self.provisioning_state = None - self.name = name - self.etag = None - - -class VpnConnection(SubResource): - """VpnConnection Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param remote_vpn_site: Id of the connected vpn site. - :type remote_vpn_site: ~azure.mgmt.network.v2019_09_01.models.SubResource - :param routing_weight: Routing weight for vpn connection. - :type routing_weight: int - :param connection_status: The connection status. Possible values include: - 'Unknown', 'Connecting', 'Connected', 'NotConnected' - :type connection_status: str or - ~azure.mgmt.network.v2019_09_01.models.VpnConnectionStatus - :param vpn_connection_protocol_type: Connection protocol used for this - connection. Possible values include: 'IKEv2', 'IKEv1' - :type vpn_connection_protocol_type: str or - ~azure.mgmt.network.v2019_09_01.models.VirtualNetworkGatewayConnectionProtocol - :ivar ingress_bytes_transferred: Ingress bytes transferred. - :vartype ingress_bytes_transferred: long - :ivar egress_bytes_transferred: Egress bytes transferred. - :vartype egress_bytes_transferred: long - :param connection_bandwidth: Expected bandwidth in MBPS. - :type connection_bandwidth: int - :param shared_key: SharedKey for the vpn connection. - :type shared_key: str - :param enable_bgp: EnableBgp flag. - :type enable_bgp: bool - :param use_policy_based_traffic_selectors: Enable policy-based traffic - selectors. - :type use_policy_based_traffic_selectors: bool - :param ipsec_policies: The IPSec Policies to be considered by this - connection. - :type ipsec_policies: - list[~azure.mgmt.network.v2019_09_01.models.IpsecPolicy] - :param enable_rate_limiting: EnableBgp flag. - :type enable_rate_limiting: bool - :param enable_internet_security: Enable internet security. - :type enable_internet_security: bool - :param use_local_azure_ip_address: Use local azure ip to initiate - connection. - :type use_local_azure_ip_address: bool - :ivar provisioning_state: The provisioning state of the VPN connection - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param vpn_link_connections: List of all vpn site link connections to the - gateway. - :type vpn_link_connections: - list[~azure.mgmt.network.v2019_09_01.models.VpnSiteLinkConnection] - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'ingress_bytes_transferred': {'readonly': True}, - 'egress_bytes_transferred': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'remote_vpn_site': {'key': 'properties.remoteVpnSite', 'type': 'SubResource'}, - 'routing_weight': {'key': 'properties.routingWeight', 'type': 'int'}, - 'connection_status': {'key': 'properties.connectionStatus', 'type': 'str'}, - 'vpn_connection_protocol_type': {'key': 'properties.vpnConnectionProtocolType', 'type': 'str'}, - 'ingress_bytes_transferred': {'key': 'properties.ingressBytesTransferred', 'type': 'long'}, - 'egress_bytes_transferred': {'key': 'properties.egressBytesTransferred', 'type': 'long'}, - 'connection_bandwidth': {'key': 'properties.connectionBandwidth', 'type': 'int'}, - 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, - 'enable_bgp': {'key': 'properties.enableBgp', 'type': 'bool'}, - 'use_policy_based_traffic_selectors': {'key': 'properties.usePolicyBasedTrafficSelectors', 'type': 'bool'}, - 'ipsec_policies': {'key': 'properties.ipsecPolicies', 'type': '[IpsecPolicy]'}, - 'enable_rate_limiting': {'key': 'properties.enableRateLimiting', 'type': 'bool'}, - 'enable_internet_security': {'key': 'properties.enableInternetSecurity', 'type': 'bool'}, - 'use_local_azure_ip_address': {'key': 'properties.useLocalAzureIpAddress', 'type': 'bool'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'vpn_link_connections': {'key': 'properties.vpnLinkConnections', 'type': '[VpnSiteLinkConnection]'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, remote_vpn_site=None, routing_weight: int=None, connection_status=None, vpn_connection_protocol_type=None, connection_bandwidth: int=None, shared_key: str=None, enable_bgp: bool=None, use_policy_based_traffic_selectors: bool=None, ipsec_policies=None, enable_rate_limiting: bool=None, enable_internet_security: bool=None, use_local_azure_ip_address: bool=None, vpn_link_connections=None, name: str=None, **kwargs) -> None: - super(VpnConnection, self).__init__(id=id, **kwargs) - self.remote_vpn_site = remote_vpn_site - self.routing_weight = routing_weight - self.connection_status = connection_status - self.vpn_connection_protocol_type = vpn_connection_protocol_type - self.ingress_bytes_transferred = None - self.egress_bytes_transferred = None - self.connection_bandwidth = connection_bandwidth - self.shared_key = shared_key - self.enable_bgp = enable_bgp - self.use_policy_based_traffic_selectors = use_policy_based_traffic_selectors - self.ipsec_policies = ipsec_policies - self.enable_rate_limiting = enable_rate_limiting - self.enable_internet_security = enable_internet_security - self.use_local_azure_ip_address = use_local_azure_ip_address - self.provisioning_state = None - self.vpn_link_connections = vpn_link_connections - self.name = name - self.etag = None - - -class VpnDeviceScriptParameters(Model): - """Vpn device configuration script generation parameters. - - :param vendor: The vendor for the vpn device. - :type vendor: str - :param device_family: The device family for the vpn device. - :type device_family: str - :param firmware_version: The firmware version for the vpn device. - :type firmware_version: str - """ - - _attribute_map = { - 'vendor': {'key': 'vendor', 'type': 'str'}, - 'device_family': {'key': 'deviceFamily', 'type': 'str'}, - 'firmware_version': {'key': 'firmwareVersion', 'type': 'str'}, - } - - def __init__(self, *, vendor: str=None, device_family: str=None, firmware_version: str=None, **kwargs) -> None: - super(VpnDeviceScriptParameters, self).__init__(**kwargs) - self.vendor = vendor - self.device_family = device_family - self.firmware_version = firmware_version - - -class VpnGateway(Resource): - """VpnGateway Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param virtual_hub: The VirtualHub to which the gateway belongs. - :type virtual_hub: ~azure.mgmt.network.v2019_09_01.models.SubResource - :param connections: List of all vpn connections to the gateway. - :type connections: - list[~azure.mgmt.network.v2019_09_01.models.VpnConnection] - :param bgp_settings: Local network gateway's BGP speaker settings. - :type bgp_settings: ~azure.mgmt.network.v2019_09_01.models.BgpSettings - :ivar provisioning_state: The provisioning state of the VPN gateway - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param vpn_gateway_scale_unit: The scale unit for this vpn gateway. - :type vpn_gateway_scale_unit: int - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'virtual_hub': {'key': 'properties.virtualHub', 'type': 'SubResource'}, - 'connections': {'key': 'properties.connections', 'type': '[VpnConnection]'}, - 'bgp_settings': {'key': 'properties.bgpSettings', 'type': 'BgpSettings'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'vpn_gateway_scale_unit': {'key': 'properties.vpnGatewayScaleUnit', 'type': 'int'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, virtual_hub=None, connections=None, bgp_settings=None, vpn_gateway_scale_unit: int=None, **kwargs) -> None: - super(VpnGateway, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.virtual_hub = virtual_hub - self.connections = connections - self.bgp_settings = bgp_settings - self.provisioning_state = None - self.vpn_gateway_scale_unit = vpn_gateway_scale_unit - self.etag = None - - -class VpnLinkBgpSettings(Model): - """BGP settings details for a link. - - :param asn: The BGP speaker's ASN. - :type asn: long - :param bgp_peering_address: The BGP peering address and BGP identifier of - this BGP speaker. - :type bgp_peering_address: str - """ - - _attribute_map = { - 'asn': {'key': 'asn', 'type': 'long'}, - 'bgp_peering_address': {'key': 'bgpPeeringAddress', 'type': 'str'}, - } - - def __init__(self, *, asn: int=None, bgp_peering_address: str=None, **kwargs) -> None: - super(VpnLinkBgpSettings, self).__init__(**kwargs) - self.asn = asn - self.bgp_peering_address = bgp_peering_address - - -class VpnLinkProviderProperties(Model): - """List of properties of a link provider. - - :param link_provider_name: Name of the link provider. - :type link_provider_name: str - :param link_speed_in_mbps: Link speed. - :type link_speed_in_mbps: int - """ - - _attribute_map = { - 'link_provider_name': {'key': 'linkProviderName', 'type': 'str'}, - 'link_speed_in_mbps': {'key': 'linkSpeedInMbps', 'type': 'int'}, - } - - def __init__(self, *, link_provider_name: str=None, link_speed_in_mbps: int=None, **kwargs) -> None: - super(VpnLinkProviderProperties, self).__init__(**kwargs) - self.link_provider_name = link_provider_name - self.link_speed_in_mbps = link_speed_in_mbps - - -class VpnPacketCaptureStartParameters(Model): - """Start packet capture parameters on virtual network gateway. - - :param filter_data: Start Packet capture parameters. - :type filter_data: str - """ - - _attribute_map = { - 'filter_data': {'key': 'filterData', 'type': 'str'}, - } - - def __init__(self, *, filter_data: str=None, **kwargs) -> None: - super(VpnPacketCaptureStartParameters, self).__init__(**kwargs) - self.filter_data = filter_data - - -class VpnPacketCaptureStopParameters(Model): - """Stop packet capture parameters. - - :param sas_url: SAS url for packet capture on virtual network gateway. - :type sas_url: str - """ - - _attribute_map = { - 'sas_url': {'key': 'sasUrl', 'type': 'str'}, - } - - def __init__(self, *, sas_url: str=None, **kwargs) -> None: - super(VpnPacketCaptureStopParameters, self).__init__(**kwargs) - self.sas_url = sas_url - - -class VpnProfileResponse(Model): - """Vpn Profile Response for package generation. - - :param profile_url: URL to the VPN profile. - :type profile_url: str - """ - - _attribute_map = { - 'profile_url': {'key': 'profileUrl', 'type': 'str'}, - } - - def __init__(self, *, profile_url: str=None, **kwargs) -> None: - super(VpnProfileResponse, self).__init__(**kwargs) - self.profile_url = profile_url - - -class VpnServerConfigRadiusClientRootCertificate(Model): - """Properties of the Radius client root certificate of VpnServerConfiguration. - - :param name: The certificate name. - :type name: str - :param thumbprint: The Radius client root certificate thumbprint. - :type thumbprint: str - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'thumbprint': {'key': 'thumbprint', 'type': 'str'}, - } - - def __init__(self, *, name: str=None, thumbprint: str=None, **kwargs) -> None: - super(VpnServerConfigRadiusClientRootCertificate, self).__init__(**kwargs) - self.name = name - self.thumbprint = thumbprint - - -class VpnServerConfigRadiusServerRootCertificate(Model): - """Properties of Radius Server root certificate of VpnServerConfiguration. - - :param name: The certificate name. - :type name: str - :param public_cert_data: The certificate public data. - :type public_cert_data: str - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'public_cert_data': {'key': 'publicCertData', 'type': 'str'}, - } - - def __init__(self, *, name: str=None, public_cert_data: str=None, **kwargs) -> None: - super(VpnServerConfigRadiusServerRootCertificate, self).__init__(**kwargs) - self.name = name - self.public_cert_data = public_cert_data - - -class VpnServerConfiguration(Resource): - """VpnServerConfiguration Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param vpn_server_configuration_name: The name of the - VpnServerConfiguration that is unique within a resource group. - :type vpn_server_configuration_name: str - :param vpn_protocols: VPN protocols for the VpnServerConfiguration. - :type vpn_protocols: list[str or - ~azure.mgmt.network.v2019_09_01.models.VpnGatewayTunnelingProtocol] - :param vpn_authentication_types: VPN authentication types for the - VpnServerConfiguration. - :type vpn_authentication_types: list[str or - ~azure.mgmt.network.v2019_09_01.models.VpnAuthenticationType] - :param vpn_client_root_certificates: VPN client root certificate of - VpnServerConfiguration. - :type vpn_client_root_certificates: - list[~azure.mgmt.network.v2019_09_01.models.VpnServerConfigVpnClientRootCertificate] - :param vpn_client_revoked_certificates: VPN client revoked certificate of - VpnServerConfiguration. - :type vpn_client_revoked_certificates: - list[~azure.mgmt.network.v2019_09_01.models.VpnServerConfigVpnClientRevokedCertificate] - :param radius_server_root_certificates: Radius Server root certificate of - VpnServerConfiguration. - :type radius_server_root_certificates: - list[~azure.mgmt.network.v2019_09_01.models.VpnServerConfigRadiusServerRootCertificate] - :param radius_client_root_certificates: Radius client root certificate of - VpnServerConfiguration. - :type radius_client_root_certificates: - list[~azure.mgmt.network.v2019_09_01.models.VpnServerConfigRadiusClientRootCertificate] - :param vpn_client_ipsec_policies: VpnClientIpsecPolicies for - VpnServerConfiguration. - :type vpn_client_ipsec_policies: - list[~azure.mgmt.network.v2019_09_01.models.IpsecPolicy] - :param radius_server_address: The radius server address property of the - VpnServerConfiguration resource for point to site client connection. - :type radius_server_address: str - :param radius_server_secret: The radius secret property of the - VpnServerConfiguration resource for point to site client connection. - :type radius_server_secret: str - :param aad_authentication_parameters: The set of aad vpn authentication - parameters. - :type aad_authentication_parameters: - ~azure.mgmt.network.v2019_09_01.models.AadAuthenticationParameters - :ivar provisioning_state: The provisioning state of the - VpnServerConfiguration resource. Possible values are: 'Updating', - 'Deleting', and 'Failed'. - :vartype provisioning_state: str - :ivar p2_svpn_gateways: List of references to P2SVpnGateways. - :vartype p2_svpn_gateways: - list[~azure.mgmt.network.v2019_09_01.models.P2SVpnGateway] - :ivar vpn_server_configuration_properties_etag: A unique read-only string - that changes whenever the resource is updated. - :vartype vpn_server_configuration_properties_etag: str - :ivar etag: Gets a unique read-only string that changes whenever the - resource is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'p2_svpn_gateways': {'readonly': True}, - 'vpn_server_configuration_properties_etag': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'vpn_server_configuration_name': {'key': 'properties.name', 'type': 'str'}, - 'vpn_protocols': {'key': 'properties.vpnProtocols', 'type': '[str]'}, - 'vpn_authentication_types': {'key': 'properties.vpnAuthenticationTypes', 'type': '[str]'}, - 'vpn_client_root_certificates': {'key': 'properties.vpnClientRootCertificates', 'type': '[VpnServerConfigVpnClientRootCertificate]'}, - 'vpn_client_revoked_certificates': {'key': 'properties.vpnClientRevokedCertificates', 'type': '[VpnServerConfigVpnClientRevokedCertificate]'}, - 'radius_server_root_certificates': {'key': 'properties.radiusServerRootCertificates', 'type': '[VpnServerConfigRadiusServerRootCertificate]'}, - 'radius_client_root_certificates': {'key': 'properties.radiusClientRootCertificates', 'type': '[VpnServerConfigRadiusClientRootCertificate]'}, - 'vpn_client_ipsec_policies': {'key': 'properties.vpnClientIpsecPolicies', 'type': '[IpsecPolicy]'}, - 'radius_server_address': {'key': 'properties.radiusServerAddress', 'type': 'str'}, - 'radius_server_secret': {'key': 'properties.radiusServerSecret', 'type': 'str'}, - 'aad_authentication_parameters': {'key': 'properties.aadAuthenticationParameters', 'type': 'AadAuthenticationParameters'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'p2_svpn_gateways': {'key': 'properties.p2SVpnGateways', 'type': '[P2SVpnGateway]'}, - 'vpn_server_configuration_properties_etag': {'key': 'properties.etag', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, vpn_server_configuration_name: str=None, vpn_protocols=None, vpn_authentication_types=None, vpn_client_root_certificates=None, vpn_client_revoked_certificates=None, radius_server_root_certificates=None, radius_client_root_certificates=None, vpn_client_ipsec_policies=None, radius_server_address: str=None, radius_server_secret: str=None, aad_authentication_parameters=None, **kwargs) -> None: - super(VpnServerConfiguration, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.vpn_server_configuration_name = vpn_server_configuration_name - self.vpn_protocols = vpn_protocols - self.vpn_authentication_types = vpn_authentication_types - self.vpn_client_root_certificates = vpn_client_root_certificates - self.vpn_client_revoked_certificates = vpn_client_revoked_certificates - self.radius_server_root_certificates = radius_server_root_certificates - self.radius_client_root_certificates = radius_client_root_certificates - self.vpn_client_ipsec_policies = vpn_client_ipsec_policies - self.radius_server_address = radius_server_address - self.radius_server_secret = radius_server_secret - self.aad_authentication_parameters = aad_authentication_parameters - self.provisioning_state = None - self.p2_svpn_gateways = None - self.vpn_server_configuration_properties_etag = None - self.etag = None - - -class VpnServerConfigurationsResponse(Model): - """VpnServerConfigurations list associated with VirtualWan Response. - - :param vpn_server_configuration_resource_ids: List of - VpnServerConfigurations associated with VirtualWan. - :type vpn_server_configuration_resource_ids: list[str] - """ - - _attribute_map = { - 'vpn_server_configuration_resource_ids': {'key': 'vpnServerConfigurationResourceIds', 'type': '[str]'}, - } - - def __init__(self, *, vpn_server_configuration_resource_ids=None, **kwargs) -> None: - super(VpnServerConfigurationsResponse, self).__init__(**kwargs) - self.vpn_server_configuration_resource_ids = vpn_server_configuration_resource_ids - - -class VpnServerConfigVpnClientRevokedCertificate(Model): - """Properties of the revoked VPN client certificate of VpnServerConfiguration. - - :param name: The certificate name. - :type name: str - :param thumbprint: The revoked VPN client certificate thumbprint. - :type thumbprint: str - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'thumbprint': {'key': 'thumbprint', 'type': 'str'}, - } - - def __init__(self, *, name: str=None, thumbprint: str=None, **kwargs) -> None: - super(VpnServerConfigVpnClientRevokedCertificate, self).__init__(**kwargs) - self.name = name - self.thumbprint = thumbprint - - -class VpnServerConfigVpnClientRootCertificate(Model): - """Properties of VPN client root certificate of VpnServerConfiguration. - - :param name: The certificate name. - :type name: str - :param public_cert_data: The certificate public data. - :type public_cert_data: str - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'public_cert_data': {'key': 'publicCertData', 'type': 'str'}, - } - - def __init__(self, *, name: str=None, public_cert_data: str=None, **kwargs) -> None: - super(VpnServerConfigVpnClientRootCertificate, self).__init__(**kwargs) - self.name = name - self.public_cert_data = public_cert_data - - -class VpnSite(Resource): - """VpnSite Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param virtual_wan: The VirtualWAN to which the vpnSite belongs. - :type virtual_wan: ~azure.mgmt.network.v2019_09_01.models.SubResource - :param device_properties: The device properties. - :type device_properties: - ~azure.mgmt.network.v2019_09_01.models.DeviceProperties - :param ip_address: The ip-address for the vpn-site. - :type ip_address: str - :param site_key: The key for vpn-site that can be used for connections. - :type site_key: str - :param address_space: The AddressSpace that contains an array of IP - address ranges. - :type address_space: ~azure.mgmt.network.v2019_09_01.models.AddressSpace - :param bgp_properties: The set of bgp properties. - :type bgp_properties: ~azure.mgmt.network.v2019_09_01.models.BgpSettings - :ivar provisioning_state: The provisioning state of the VPN site resource. - Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param is_security_site: IsSecuritySite flag. - :type is_security_site: bool - :param vpn_site_links: List of all vpn site links. - :type vpn_site_links: - list[~azure.mgmt.network.v2019_09_01.models.VpnSiteLink] - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'virtual_wan': {'key': 'properties.virtualWan', 'type': 'SubResource'}, - 'device_properties': {'key': 'properties.deviceProperties', 'type': 'DeviceProperties'}, - 'ip_address': {'key': 'properties.ipAddress', 'type': 'str'}, - 'site_key': {'key': 'properties.siteKey', 'type': 'str'}, - 'address_space': {'key': 'properties.addressSpace', 'type': 'AddressSpace'}, - 'bgp_properties': {'key': 'properties.bgpProperties', 'type': 'BgpSettings'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'is_security_site': {'key': 'properties.isSecuritySite', 'type': 'bool'}, - 'vpn_site_links': {'key': 'properties.vpnSiteLinks', 'type': '[VpnSiteLink]'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, location: str=None, tags=None, virtual_wan=None, device_properties=None, ip_address: str=None, site_key: str=None, address_space=None, bgp_properties=None, is_security_site: bool=None, vpn_site_links=None, **kwargs) -> None: - super(VpnSite, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.virtual_wan = virtual_wan - self.device_properties = device_properties - self.ip_address = ip_address - self.site_key = site_key - self.address_space = address_space - self.bgp_properties = bgp_properties - self.provisioning_state = None - self.is_security_site = is_security_site - self.vpn_site_links = vpn_site_links - self.etag = None - - -class VpnSiteId(Model): - """VpnSite Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar vpn_site: The resource-uri of the vpn-site for which config is to be - fetched. - :vartype vpn_site: str - """ - - _validation = { - 'vpn_site': {'readonly': True}, - } - - _attribute_map = { - 'vpn_site': {'key': 'vpnSite', 'type': 'str'}, - } - - def __init__(self, **kwargs) -> None: - super(VpnSiteId, self).__init__(**kwargs) - self.vpn_site = None - - -class VpnSiteLink(SubResource): - """VpnSiteLink Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param link_properties: The link provider properties. - :type link_properties: - ~azure.mgmt.network.v2019_09_01.models.VpnLinkProviderProperties - :param ip_address: The ip-address for the vpn-site-link. - :type ip_address: str - :param bgp_properties: The set of bgp properties. - :type bgp_properties: - ~azure.mgmt.network.v2019_09_01.models.VpnLinkBgpSettings - :ivar provisioning_state: The provisioning state of the VPN site link - resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar type: Resource type. - :vartype type: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'link_properties': {'key': 'properties.linkProperties', 'type': 'VpnLinkProviderProperties'}, - 'ip_address': {'key': 'properties.ipAddress', 'type': 'str'}, - 'bgp_properties': {'key': 'properties.bgpProperties', 'type': 'VpnLinkBgpSettings'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, link_properties=None, ip_address: str=None, bgp_properties=None, name: str=None, **kwargs) -> None: - super(VpnSiteLink, self).__init__(id=id, **kwargs) - self.link_properties = link_properties - self.ip_address = ip_address - self.bgp_properties = bgp_properties - self.provisioning_state = None - self.etag = None - self.name = name - self.type = None - - -class VpnSiteLinkConnection(SubResource): - """VpnSiteLinkConnection Resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param vpn_site_link: Id of the connected vpn site link. - :type vpn_site_link: ~azure.mgmt.network.v2019_09_01.models.SubResource - :param routing_weight: Routing weight for vpn connection. - :type routing_weight: int - :param connection_status: The connection status. Possible values include: - 'Unknown', 'Connecting', 'Connected', 'NotConnected' - :type connection_status: str or - ~azure.mgmt.network.v2019_09_01.models.VpnConnectionStatus - :param vpn_connection_protocol_type: Connection protocol used for this - connection. Possible values include: 'IKEv2', 'IKEv1' - :type vpn_connection_protocol_type: str or - ~azure.mgmt.network.v2019_09_01.models.VirtualNetworkGatewayConnectionProtocol - :ivar ingress_bytes_transferred: Ingress bytes transferred. - :vartype ingress_bytes_transferred: long - :ivar egress_bytes_transferred: Egress bytes transferred. - :vartype egress_bytes_transferred: long - :param connection_bandwidth: Expected bandwidth in MBPS. - :type connection_bandwidth: int - :param shared_key: SharedKey for the vpn connection. - :type shared_key: str - :param enable_bgp: EnableBgp flag. - :type enable_bgp: bool - :param use_policy_based_traffic_selectors: Enable policy-based traffic - selectors. - :type use_policy_based_traffic_selectors: bool - :param ipsec_policies: The IPSec Policies to be considered by this - connection. - :type ipsec_policies: - list[~azure.mgmt.network.v2019_09_01.models.IpsecPolicy] - :param enable_rate_limiting: EnableBgp flag. - :type enable_rate_limiting: bool - :param use_local_azure_ip_address: Use local azure ip to initiate - connection. - :type use_local_azure_ip_address: bool - :ivar provisioning_state: The provisioning state of the VPN site link - connection resource. Possible values include: 'Succeeded', 'Updating', - 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :ivar type: Resource type. - :vartype type: str - """ - - _validation = { - 'ingress_bytes_transferred': {'readonly': True}, - 'egress_bytes_transferred': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'etag': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'vpn_site_link': {'key': 'properties.vpnSiteLink', 'type': 'SubResource'}, - 'routing_weight': {'key': 'properties.routingWeight', 'type': 'int'}, - 'connection_status': {'key': 'properties.connectionStatus', 'type': 'str'}, - 'vpn_connection_protocol_type': {'key': 'properties.vpnConnectionProtocolType', 'type': 'str'}, - 'ingress_bytes_transferred': {'key': 'properties.ingressBytesTransferred', 'type': 'long'}, - 'egress_bytes_transferred': {'key': 'properties.egressBytesTransferred', 'type': 'long'}, - 'connection_bandwidth': {'key': 'properties.connectionBandwidth', 'type': 'int'}, - 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, - 'enable_bgp': {'key': 'properties.enableBgp', 'type': 'bool'}, - 'use_policy_based_traffic_selectors': {'key': 'properties.usePolicyBasedTrafficSelectors', 'type': 'bool'}, - 'ipsec_policies': {'key': 'properties.ipsecPolicies', 'type': '[IpsecPolicy]'}, - 'enable_rate_limiting': {'key': 'properties.enableRateLimiting', 'type': 'bool'}, - 'use_local_azure_ip_address': {'key': 'properties.useLocalAzureIpAddress', 'type': 'bool'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, vpn_site_link=None, routing_weight: int=None, connection_status=None, vpn_connection_protocol_type=None, connection_bandwidth: int=None, shared_key: str=None, enable_bgp: bool=None, use_policy_based_traffic_selectors: bool=None, ipsec_policies=None, enable_rate_limiting: bool=None, use_local_azure_ip_address: bool=None, name: str=None, **kwargs) -> None: - super(VpnSiteLinkConnection, self).__init__(id=id, **kwargs) - self.vpn_site_link = vpn_site_link - self.routing_weight = routing_weight - self.connection_status = connection_status - self.vpn_connection_protocol_type = vpn_connection_protocol_type - self.ingress_bytes_transferred = None - self.egress_bytes_transferred = None - self.connection_bandwidth = connection_bandwidth - self.shared_key = shared_key - self.enable_bgp = enable_bgp - self.use_policy_based_traffic_selectors = use_policy_based_traffic_selectors - self.ipsec_policies = ipsec_policies - self.enable_rate_limiting = enable_rate_limiting - self.use_local_azure_ip_address = use_local_azure_ip_address - self.provisioning_state = None - self.name = name - self.etag = None - self.type = None - - -class WebApplicationFirewallCustomRule(Model): - """Defines contents of a web application rule. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :param name: The name of the resource that is unique within a policy. This - name can be used to access the resource. - :type name: str - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - :param priority: Required. Describes priority of the rule. Rules with a - lower value will be evaluated before rules with a higher value. - :type priority: int - :param rule_type: Required. Describes type of rule. Possible values - include: 'MatchRule', 'Invalid' - :type rule_type: str or - ~azure.mgmt.network.v2019_09_01.models.WebApplicationFirewallRuleType - :param match_conditions: Required. List of match conditions. - :type match_conditions: - list[~azure.mgmt.network.v2019_09_01.models.MatchCondition] - :param action: Required. Type of Actions. Possible values include: - 'Allow', 'Block', 'Log' - :type action: str or - ~azure.mgmt.network.v2019_09_01.models.WebApplicationFirewallAction - """ - - _validation = { - 'name': {'max_length': 128}, - 'etag': {'readonly': True}, - 'priority': {'required': True}, - 'rule_type': {'required': True}, - 'match_conditions': {'required': True}, - 'action': {'required': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'priority': {'key': 'priority', 'type': 'int'}, - 'rule_type': {'key': 'ruleType', 'type': 'str'}, - 'match_conditions': {'key': 'matchConditions', 'type': '[MatchCondition]'}, - 'action': {'key': 'action', 'type': 'str'}, - } - - def __init__(self, *, priority: int, rule_type, match_conditions, action, name: str=None, **kwargs) -> None: - super(WebApplicationFirewallCustomRule, self).__init__(**kwargs) - self.name = name - self.etag = None - self.priority = priority - self.rule_type = rule_type - self.match_conditions = match_conditions - self.action = action - - -class WebApplicationFirewallPolicy(Resource): - """Defines web application firewall policy. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param policy_settings: Describes policySettings for policy. - :type policy_settings: - ~azure.mgmt.network.v2019_09_01.models.PolicySettings - :param custom_rules: Describes custom rules inside the policy. - :type custom_rules: - list[~azure.mgmt.network.v2019_09_01.models.WebApplicationFirewallCustomRule] - :ivar application_gateways: A collection of references to application - gateways. - :vartype application_gateways: - list[~azure.mgmt.network.v2019_09_01.models.ApplicationGateway] - :ivar provisioning_state: The provisioning state of the web application - firewall policy resource. Possible values include: 'Succeeded', - 'Updating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.network.v2019_09_01.models.ProvisioningState - :ivar resource_state: Resource status of the policy. Resource status of - the policy. Possible values include: 'Creating', 'Enabling', 'Enabled', - 'Disabling', 'Disabled', 'Deleting' - :vartype resource_state: str or - ~azure.mgmt.network.v2019_09_01.models.WebApplicationFirewallPolicyResourceState - :param managed_rules: Required. Describes the managedRules structure - :type managed_rules: - ~azure.mgmt.network.v2019_09_01.models.ManagedRulesDefinition - :ivar http_listeners: A collection of references to application gateway - http listeners. - :vartype http_listeners: - list[~azure.mgmt.network.v2019_09_01.models.SubResource] - :ivar path_based_rules: A collection of references to application gateway - path rules. - :vartype path_based_rules: - list[~azure.mgmt.network.v2019_09_01.models.SubResource] - :ivar etag: A unique read-only string that changes whenever the resource - is updated. - :vartype etag: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'application_gateways': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'resource_state': {'readonly': True}, - 'managed_rules': {'required': True}, - 'http_listeners': {'readonly': True}, - 'path_based_rules': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'policy_settings': {'key': 'properties.policySettings', 'type': 'PolicySettings'}, - 'custom_rules': {'key': 'properties.customRules', 'type': '[WebApplicationFirewallCustomRule]'}, - 'application_gateways': {'key': 'properties.applicationGateways', 'type': '[ApplicationGateway]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'resource_state': {'key': 'properties.resourceState', 'type': 'str'}, - 'managed_rules': {'key': 'properties.managedRules', 'type': 'ManagedRulesDefinition'}, - 'http_listeners': {'key': 'properties.httpListeners', 'type': '[SubResource]'}, - 'path_based_rules': {'key': 'properties.pathBasedRules', 'type': '[SubResource]'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, managed_rules, id: str=None, location: str=None, tags=None, policy_settings=None, custom_rules=None, **kwargs) -> None: - super(WebApplicationFirewallPolicy, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.policy_settings = policy_settings - self.custom_rules = custom_rules - self.application_gateways = None - self.provisioning_state = None - self.resource_state = None - self.managed_rules = managed_rules - self.http_listeners = None - self.path_based_rules = None - self.etag = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/models/_network_management_client_enums.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/models/_network_management_client_enums.py deleted file mode 100644 index 449ff3a2cd6..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/models/_network_management_client_enums.py +++ /dev/null @@ -1,922 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from enum import Enum - - -class ApplicationGatewayProtocol(str, Enum): - - http = "Http" - https = "Https" - - -class ProvisioningState(str, Enum): - - succeeded = "Succeeded" - updating = "Updating" - deleting = "Deleting" - failed = "Failed" - - -class IPAllocationMethod(str, Enum): - - static = "Static" - dynamic = "Dynamic" - - -class IPVersion(str, Enum): - - ipv4 = "IPv4" - ipv6 = "IPv6" - - -class SecurityRuleProtocol(str, Enum): - - tcp = "Tcp" - udp = "Udp" - icmp = "Icmp" - esp = "Esp" - asterisk = "*" - ah = "Ah" - - -class SecurityRuleAccess(str, Enum): - - allow = "Allow" - deny = "Deny" - - -class SecurityRuleDirection(str, Enum): - - inbound = "Inbound" - outbound = "Outbound" - - -class RouteNextHopType(str, Enum): - - virtual_network_gateway = "VirtualNetworkGateway" - vnet_local = "VnetLocal" - internet = "Internet" - virtual_appliance = "VirtualAppliance" - none = "None" - - -class PublicIPAddressSkuName(str, Enum): - - basic = "Basic" - standard = "Standard" - - -class DdosSettingsProtectionCoverage(str, Enum): - - basic = "Basic" - standard = "Standard" - - -class TransportProtocol(str, Enum): - - udp = "Udp" - tcp = "Tcp" - all = "All" - - -class ApplicationGatewayCookieBasedAffinity(str, Enum): - - enabled = "Enabled" - disabled = "Disabled" - - -class ApplicationGatewayBackendHealthServerHealth(str, Enum): - - unknown = "Unknown" - up = "Up" - down = "Down" - partial = "Partial" - draining = "Draining" - - -class ApplicationGatewaySkuName(str, Enum): - - standard_small = "Standard_Small" - standard_medium = "Standard_Medium" - standard_large = "Standard_Large" - waf_medium = "WAF_Medium" - waf_large = "WAF_Large" - standard_v2 = "Standard_v2" - waf_v2 = "WAF_v2" - - -class ApplicationGatewayTier(str, Enum): - - standard = "Standard" - waf = "WAF" - standard_v2 = "Standard_v2" - waf_v2 = "WAF_v2" - - -class ApplicationGatewaySslProtocol(str, Enum): - - tl_sv1_0 = "TLSv1_0" - tl_sv1_1 = "TLSv1_1" - tl_sv1_2 = "TLSv1_2" - - -class ApplicationGatewaySslPolicyType(str, Enum): - - predefined = "Predefined" - custom = "Custom" - - -class ApplicationGatewaySslPolicyName(str, Enum): - - app_gw_ssl_policy20150501 = "AppGwSslPolicy20150501" - app_gw_ssl_policy20170401 = "AppGwSslPolicy20170401" - app_gw_ssl_policy20170401_s = "AppGwSslPolicy20170401S" - - -class ApplicationGatewaySslCipherSuite(str, Enum): - - tls_ecdhe_rsa_with_aes_256_cbc_sha384 = "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384" - tls_ecdhe_rsa_with_aes_128_cbc_sha256 = "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256" - tls_ecdhe_rsa_with_aes_256_cbc_sha = "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA" - tls_ecdhe_rsa_with_aes_128_cbc_sha = "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA" - tls_dhe_rsa_with_aes_256_gcm_sha384 = "TLS_DHE_RSA_WITH_AES_256_GCM_SHA384" - tls_dhe_rsa_with_aes_128_gcm_sha256 = "TLS_DHE_RSA_WITH_AES_128_GCM_SHA256" - tls_dhe_rsa_with_aes_256_cbc_sha = "TLS_DHE_RSA_WITH_AES_256_CBC_SHA" - tls_dhe_rsa_with_aes_128_cbc_sha = "TLS_DHE_RSA_WITH_AES_128_CBC_SHA" - tls_rsa_with_aes_256_gcm_sha384 = "TLS_RSA_WITH_AES_256_GCM_SHA384" - tls_rsa_with_aes_128_gcm_sha256 = "TLS_RSA_WITH_AES_128_GCM_SHA256" - tls_rsa_with_aes_256_cbc_sha256 = "TLS_RSA_WITH_AES_256_CBC_SHA256" - tls_rsa_with_aes_128_cbc_sha256 = "TLS_RSA_WITH_AES_128_CBC_SHA256" - tls_rsa_with_aes_256_cbc_sha = "TLS_RSA_WITH_AES_256_CBC_SHA" - tls_rsa_with_aes_128_cbc_sha = "TLS_RSA_WITH_AES_128_CBC_SHA" - tls_ecdhe_ecdsa_with_aes_256_gcm_sha384 = "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384" - tls_ecdhe_ecdsa_with_aes_128_gcm_sha256 = "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256" - tls_ecdhe_ecdsa_with_aes_256_cbc_sha384 = "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384" - tls_ecdhe_ecdsa_with_aes_128_cbc_sha256 = "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256" - tls_ecdhe_ecdsa_with_aes_256_cbc_sha = "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA" - tls_ecdhe_ecdsa_with_aes_128_cbc_sha = "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA" - tls_dhe_dss_with_aes_256_cbc_sha256 = "TLS_DHE_DSS_WITH_AES_256_CBC_SHA256" - tls_dhe_dss_with_aes_128_cbc_sha256 = "TLS_DHE_DSS_WITH_AES_128_CBC_SHA256" - tls_dhe_dss_with_aes_256_cbc_sha = "TLS_DHE_DSS_WITH_AES_256_CBC_SHA" - tls_dhe_dss_with_aes_128_cbc_sha = "TLS_DHE_DSS_WITH_AES_128_CBC_SHA" - tls_rsa_with_3_des_ede_cbc_sha = "TLS_RSA_WITH_3DES_EDE_CBC_SHA" - tls_dhe_dss_with_3_des_ede_cbc_sha = "TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA" - tls_ecdhe_rsa_with_aes_128_gcm_sha256 = "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256" - tls_ecdhe_rsa_with_aes_256_gcm_sha384 = "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384" - - -class ApplicationGatewayCustomErrorStatusCode(str, Enum): - - http_status403 = "HttpStatus403" - http_status502 = "HttpStatus502" - - -class ApplicationGatewayRequestRoutingRuleType(str, Enum): - - basic = "Basic" - path_based_routing = "PathBasedRouting" - - -class ApplicationGatewayRedirectType(str, Enum): - - permanent = "Permanent" - found = "Found" - see_other = "SeeOther" - temporary = "Temporary" - - -class ApplicationGatewayOperationalState(str, Enum): - - stopped = "Stopped" - starting = "Starting" - running = "Running" - stopping = "Stopping" - - -class ApplicationGatewayFirewallMode(str, Enum): - - detection = "Detection" - prevention = "Prevention" - - -class ResourceIdentityType(str, Enum): - - system_assigned = "SystemAssigned" - user_assigned = "UserAssigned" - system_assigned_user_assigned = "SystemAssigned, UserAssigned" - none = "None" - - -class AzureFirewallRCActionType(str, Enum): - - allow = "Allow" - deny = "Deny" - - -class AzureFirewallApplicationRuleProtocolType(str, Enum): - - http = "Http" - https = "Https" - mssql = "Mssql" - - -class AzureFirewallNatRCActionType(str, Enum): - - snat = "Snat" - dnat = "Dnat" - - -class AzureFirewallNetworkRuleProtocol(str, Enum): - - tcp = "TCP" - udp = "UDP" - any = "Any" - icmp = "ICMP" - - -class AzureFirewallThreatIntelMode(str, Enum): - - alert = "Alert" - deny = "Deny" - off = "Off" - - -class AzureFirewallSkuName(str, Enum): - - azfw_vnet = "AZFW_VNet" - azfw_hub = "AZFW_Hub" - - -class AzureFirewallSkuTier(str, Enum): - - standard = "Standard" - - -class DdosCustomPolicyProtocol(str, Enum): - - tcp = "Tcp" - udp = "Udp" - syn = "Syn" - - -class DdosCustomPolicyTriggerSensitivityOverride(str, Enum): - - relaxed = "Relaxed" - low = "Low" - default = "Default" - high = "High" - - -class AuthorizationUseStatus(str, Enum): - - available = "Available" - in_use = "InUse" - - -class ExpressRouteCircuitPeeringAdvertisedPublicPrefixState(str, Enum): - - not_configured = "NotConfigured" - configuring = "Configuring" - configured = "Configured" - validation_needed = "ValidationNeeded" - - -class ExpressRouteCircuitPeeringState(str, Enum): - - disabled = "Disabled" - enabled = "Enabled" - - -class ExpressRoutePeeringType(str, Enum): - - azure_public_peering = "AzurePublicPeering" - azure_private_peering = "AzurePrivatePeering" - microsoft_peering = "MicrosoftPeering" - - -class ExpressRoutePeeringState(str, Enum): - - disabled = "Disabled" - enabled = "Enabled" - - -class CircuitConnectionStatus(str, Enum): - - connected = "Connected" - connecting = "Connecting" - disconnected = "Disconnected" - - -class ExpressRouteCircuitSkuTier(str, Enum): - - standard = "Standard" - premium = "Premium" - basic = "Basic" - local = "Local" - - -class ExpressRouteCircuitSkuFamily(str, Enum): - - unlimited_data = "UnlimitedData" - metered_data = "MeteredData" - - -class ServiceProviderProvisioningState(str, Enum): - - not_provisioned = "NotProvisioned" - provisioning = "Provisioning" - provisioned = "Provisioned" - deprovisioning = "Deprovisioning" - - -class ExpressRouteLinkMacSecCipher(str, Enum): - - gcm_aes_128 = "gcm-aes-128" - gcm_aes_256 = "gcm-aes-256" - - -class ExpressRouteLinkConnectorType(str, Enum): - - lc = "LC" - sc = "SC" - - -class ExpressRouteLinkAdminState(str, Enum): - - enabled = "Enabled" - disabled = "Disabled" - - -class ExpressRoutePortsEncapsulation(str, Enum): - - dot1_q = "Dot1Q" - qin_q = "QinQ" - - -class FirewallPolicyNatRuleActionType(str, Enum): - - dnat = "DNAT" - - -class FirewallPolicyFilterRuleActionType(str, Enum): - - allow = "Allow" - deny = "Deny" - - -class FirewallPolicyRuleConditionApplicationProtocolType(str, Enum): - - http = "Http" - https = "Https" - - -class FirewallPolicyRuleConditionNetworkProtocol(str, Enum): - - tcp = "TCP" - udp = "UDP" - any = "Any" - icmp = "ICMP" - - -class LoadBalancerSkuName(str, Enum): - - basic = "Basic" - standard = "Standard" - - -class LoadDistribution(str, Enum): - - default = "Default" - source_ip = "SourceIP" - source_ip_protocol = "SourceIPProtocol" - - -class ProbeProtocol(str, Enum): - - http = "Http" - tcp = "Tcp" - https = "Https" - - -class LoadBalancerOutboundRuleProtocol(str, Enum): - - tcp = "Tcp" - udp = "Udp" - all = "All" - - -class NatGatewaySkuName(str, Enum): - - standard = "Standard" - - -class NetworkOperationStatus(str, Enum): - - in_progress = "InProgress" - succeeded = "Succeeded" - failed = "Failed" - - -class Access(str, Enum): - - allow = "Allow" - deny = "Deny" - - -class AuthenticationMethod(str, Enum): - - eaptls = "EAPTLS" - eapmscha_pv2 = "EAPMSCHAPv2" - - -class EffectiveSecurityRuleProtocol(str, Enum): - - tcp = "Tcp" - udp = "Udp" - all = "All" - - -class EffectiveRouteSource(str, Enum): - - unknown = "Unknown" - user = "User" - virtual_network_gateway = "VirtualNetworkGateway" - default = "Default" - - -class EffectiveRouteState(str, Enum): - - active = "Active" - invalid = "Invalid" - - -class AssociationType(str, Enum): - - associated = "Associated" - contains = "Contains" - - -class Direction(str, Enum): - - inbound = "Inbound" - outbound = "Outbound" - - -class IpFlowProtocol(str, Enum): - - tcp = "TCP" - udp = "UDP" - - -class NextHopType(str, Enum): - - internet = "Internet" - virtual_appliance = "VirtualAppliance" - virtual_network_gateway = "VirtualNetworkGateway" - vnet_local = "VnetLocal" - hyper_net_gateway = "HyperNetGateway" - none = "None" - - -class PcProtocol(str, Enum): - - tcp = "TCP" - udp = "UDP" - any = "Any" - - -class PcStatus(str, Enum): - - not_started = "NotStarted" - running = "Running" - stopped = "Stopped" - error = "Error" - unknown = "Unknown" - - -class PcError(str, Enum): - - internal_error = "InternalError" - agent_stopped = "AgentStopped" - capture_failed = "CaptureFailed" - local_file_failed = "LocalFileFailed" - storage_failed = "StorageFailed" - - -class FlowLogFormatType(str, Enum): - - json = "JSON" - - -class Protocol(str, Enum): - - tcp = "Tcp" - http = "Http" - https = "Https" - icmp = "Icmp" - - -class HTTPMethod(str, Enum): - - get = "Get" - - -class Origin(str, Enum): - - local = "Local" - inbound = "Inbound" - outbound = "Outbound" - - -class Severity(str, Enum): - - error = "Error" - warning = "Warning" - - -class IssueType(str, Enum): - - unknown = "Unknown" - agent_stopped = "AgentStopped" - guest_firewall = "GuestFirewall" - dns_resolution = "DnsResolution" - socket_bind = "SocketBind" - network_security_rule = "NetworkSecurityRule" - user_defined_route = "UserDefinedRoute" - port_throttled = "PortThrottled" - platform = "Platform" - - -class ConnectionStatus(str, Enum): - - unknown = "Unknown" - connected = "Connected" - disconnected = "Disconnected" - degraded = "Degraded" - - -class VerbosityLevel(str, Enum): - - normal = "Normal" - minimum = "Minimum" - full = "Full" - - -class ConnectionState(str, Enum): - - reachable = "Reachable" - unreachable = "Unreachable" - unknown = "Unknown" - - -class EvaluationState(str, Enum): - - not_started = "NotStarted" - in_progress = "InProgress" - completed = "Completed" - - -class ConnectionMonitorSourceStatus(str, Enum): - - unknown = "Unknown" - active = "Active" - inactive = "Inactive" - - -class PublicIPPrefixSkuName(str, Enum): - - standard = "Standard" - - -class VirtualNetworkPeeringState(str, Enum): - - initiated = "Initiated" - connected = "Connected" - disconnected = "Disconnected" - - -class VirtualNetworkGatewayType(str, Enum): - - vpn = "Vpn" - express_route = "ExpressRoute" - - -class VpnType(str, Enum): - - policy_based = "PolicyBased" - route_based = "RouteBased" - - -class VpnGatewayGeneration(str, Enum): - - none = "None" - generation1 = "Generation1" - generation2 = "Generation2" - - -class VirtualNetworkGatewaySkuName(str, Enum): - - basic = "Basic" - high_performance = "HighPerformance" - standard = "Standard" - ultra_performance = "UltraPerformance" - vpn_gw1 = "VpnGw1" - vpn_gw2 = "VpnGw2" - vpn_gw3 = "VpnGw3" - vpn_gw4 = "VpnGw4" - vpn_gw5 = "VpnGw5" - vpn_gw1_az = "VpnGw1AZ" - vpn_gw2_az = "VpnGw2AZ" - vpn_gw3_az = "VpnGw3AZ" - vpn_gw4_az = "VpnGw4AZ" - vpn_gw5_az = "VpnGw5AZ" - er_gw1_az = "ErGw1AZ" - er_gw2_az = "ErGw2AZ" - er_gw3_az = "ErGw3AZ" - - -class VirtualNetworkGatewaySkuTier(str, Enum): - - basic = "Basic" - high_performance = "HighPerformance" - standard = "Standard" - ultra_performance = "UltraPerformance" - vpn_gw1 = "VpnGw1" - vpn_gw2 = "VpnGw2" - vpn_gw3 = "VpnGw3" - vpn_gw4 = "VpnGw4" - vpn_gw5 = "VpnGw5" - vpn_gw1_az = "VpnGw1AZ" - vpn_gw2_az = "VpnGw2AZ" - vpn_gw3_az = "VpnGw3AZ" - vpn_gw4_az = "VpnGw4AZ" - vpn_gw5_az = "VpnGw5AZ" - er_gw1_az = "ErGw1AZ" - er_gw2_az = "ErGw2AZ" - er_gw3_az = "ErGw3AZ" - - -class VpnClientProtocol(str, Enum): - - ike_v2 = "IkeV2" - sstp = "SSTP" - open_vpn = "OpenVPN" - - -class IpsecEncryption(str, Enum): - - none = "None" - des = "DES" - des3 = "DES3" - aes128 = "AES128" - aes192 = "AES192" - aes256 = "AES256" - gcmaes128 = "GCMAES128" - gcmaes192 = "GCMAES192" - gcmaes256 = "GCMAES256" - - -class IpsecIntegrity(str, Enum): - - md5 = "MD5" - sha1 = "SHA1" - sha256 = "SHA256" - gcmaes128 = "GCMAES128" - gcmaes192 = "GCMAES192" - gcmaes256 = "GCMAES256" - - -class IkeEncryption(str, Enum): - - des = "DES" - des3 = "DES3" - aes128 = "AES128" - aes192 = "AES192" - aes256 = "AES256" - gcmaes256 = "GCMAES256" - gcmaes128 = "GCMAES128" - - -class IkeIntegrity(str, Enum): - - md5 = "MD5" - sha1 = "SHA1" - sha256 = "SHA256" - sha384 = "SHA384" - gcmaes256 = "GCMAES256" - gcmaes128 = "GCMAES128" - - -class DhGroup(str, Enum): - - none = "None" - dh_group1 = "DHGroup1" - dh_group2 = "DHGroup2" - dh_group14 = "DHGroup14" - dh_group2048 = "DHGroup2048" - ecp256 = "ECP256" - ecp384 = "ECP384" - dh_group24 = "DHGroup24" - - -class PfsGroup(str, Enum): - - none = "None" - pfs1 = "PFS1" - pfs2 = "PFS2" - pfs2048 = "PFS2048" - ecp256 = "ECP256" - ecp384 = "ECP384" - pfs24 = "PFS24" - pfs14 = "PFS14" - pfsmm = "PFSMM" - - -class BgpPeerState(str, Enum): - - unknown = "Unknown" - stopped = "Stopped" - idle = "Idle" - connecting = "Connecting" - connected = "Connected" - - -class ProcessorArchitecture(str, Enum): - - amd64 = "Amd64" - x86 = "X86" - - -class VirtualNetworkGatewayConnectionStatus(str, Enum): - - unknown = "Unknown" - connecting = "Connecting" - connected = "Connected" - not_connected = "NotConnected" - - -class VirtualNetworkGatewayConnectionType(str, Enum): - - ipsec = "IPsec" - vnet2_vnet = "Vnet2Vnet" - express_route = "ExpressRoute" - vpn_client = "VPNClient" - - -class VirtualNetworkGatewayConnectionProtocol(str, Enum): - - ik_ev2 = "IKEv2" - ik_ev1 = "IKEv1" - - -class OfficeTrafficCategory(str, Enum): - - optimize = "Optimize" - optimize_and_allow = "OptimizeAndAllow" - all = "All" - none = "None" - - -class VpnConnectionStatus(str, Enum): - - unknown = "Unknown" - connecting = "Connecting" - connected = "Connected" - not_connected = "NotConnected" - - -class VirtualWanSecurityProviderType(str, Enum): - - external = "External" - native = "Native" - - -class TunnelConnectionStatus(str, Enum): - - unknown = "Unknown" - connecting = "Connecting" - connected = "Connected" - not_connected = "NotConnected" - - -class HubVirtualNetworkConnectionStatus(str, Enum): - - unknown = "Unknown" - connecting = "Connecting" - connected = "Connected" - not_connected = "NotConnected" - - -class VpnGatewayTunnelingProtocol(str, Enum): - - ike_v2 = "IkeV2" - open_vpn = "OpenVPN" - - -class VpnAuthenticationType(str, Enum): - - certificate = "Certificate" - radius = "Radius" - aad = "AAD" - - -class WebApplicationFirewallEnabledState(str, Enum): - - disabled = "Disabled" - enabled = "Enabled" - - -class WebApplicationFirewallMode(str, Enum): - - prevention = "Prevention" - detection = "Detection" - - -class WebApplicationFirewallRuleType(str, Enum): - - match_rule = "MatchRule" - invalid = "Invalid" - - -class WebApplicationFirewallMatchVariable(str, Enum): - - remote_addr = "RemoteAddr" - request_method = "RequestMethod" - query_string = "QueryString" - post_args = "PostArgs" - request_uri = "RequestUri" - request_headers = "RequestHeaders" - request_body = "RequestBody" - request_cookies = "RequestCookies" - - -class WebApplicationFirewallOperator(str, Enum): - - ip_match = "IPMatch" - equal = "Equal" - contains = "Contains" - less_than = "LessThan" - greater_than = "GreaterThan" - less_than_or_equal = "LessThanOrEqual" - greater_than_or_equal = "GreaterThanOrEqual" - begins_with = "BeginsWith" - ends_with = "EndsWith" - regex = "Regex" - geo_match = "GeoMatch" - - -class WebApplicationFirewallTransform(str, Enum): - - lowercase = "Lowercase" - trim = "Trim" - url_decode = "UrlDecode" - url_encode = "UrlEncode" - remove_nulls = "RemoveNulls" - html_entity_decode = "HtmlEntityDecode" - - -class WebApplicationFirewallAction(str, Enum): - - allow = "Allow" - block = "Block" - log = "Log" - - -class WebApplicationFirewallPolicyResourceState(str, Enum): - - creating = "Creating" - enabling = "Enabling" - enabled = "Enabled" - disabling = "Disabling" - disabled = "Disabled" - deleting = "Deleting" - - -class OwaspCrsExclusionEntryMatchVariable(str, Enum): - - request_header_names = "RequestHeaderNames" - request_cookie_names = "RequestCookieNames" - request_arg_names = "RequestArgNames" - - -class OwaspCrsExclusionEntrySelectorMatchOperator(str, Enum): - - equals = "Equals" - contains = "Contains" - starts_with = "StartsWith" - ends_with = "EndsWith" - equals_any = "EqualsAny" - - -class ManagedRuleEnabledState(str, Enum): - - disabled = "Disabled" diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/models/_paged_models.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/models/_paged_models.py deleted file mode 100644 index 240e7e91be3..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/models/_paged_models.py +++ /dev/null @@ -1,1054 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.paging import Paged - - -class ApplicationGatewayPaged(Paged): - """ - A paging container for iterating over a list of :class:`ApplicationGateway ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[ApplicationGateway]'} - } - - def __init__(self, *args, **kwargs): - - super(ApplicationGatewayPaged, self).__init__(*args, **kwargs) -class ApplicationGatewaySslPredefinedPolicyPaged(Paged): - """ - A paging container for iterating over a list of :class:`ApplicationGatewaySslPredefinedPolicy ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[ApplicationGatewaySslPredefinedPolicy]'} - } - - def __init__(self, *args, **kwargs): - - super(ApplicationGatewaySslPredefinedPolicyPaged, self).__init__(*args, **kwargs) -class ApplicationSecurityGroupPaged(Paged): - """ - A paging container for iterating over a list of :class:`ApplicationSecurityGroup ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[ApplicationSecurityGroup]'} - } - - def __init__(self, *args, **kwargs): - - super(ApplicationSecurityGroupPaged, self).__init__(*args, **kwargs) -class AvailableDelegationPaged(Paged): - """ - A paging container for iterating over a list of :class:`AvailableDelegation ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[AvailableDelegation]'} - } - - def __init__(self, *args, **kwargs): - - super(AvailableDelegationPaged, self).__init__(*args, **kwargs) -class AvailableServiceAliasPaged(Paged): - """ - A paging container for iterating over a list of :class:`AvailableServiceAlias ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[AvailableServiceAlias]'} - } - - def __init__(self, *args, **kwargs): - - super(AvailableServiceAliasPaged, self).__init__(*args, **kwargs) -class AzureFirewallPaged(Paged): - """ - A paging container for iterating over a list of :class:`AzureFirewall ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[AzureFirewall]'} - } - - def __init__(self, *args, **kwargs): - - super(AzureFirewallPaged, self).__init__(*args, **kwargs) -class AzureFirewallFqdnTagPaged(Paged): - """ - A paging container for iterating over a list of :class:`AzureFirewallFqdnTag ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[AzureFirewallFqdnTag]'} - } - - def __init__(self, *args, **kwargs): - - super(AzureFirewallFqdnTagPaged, self).__init__(*args, **kwargs) -class BastionHostPaged(Paged): - """ - A paging container for iterating over a list of :class:`BastionHost ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[BastionHost]'} - } - - def __init__(self, *args, **kwargs): - - super(BastionHostPaged, self).__init__(*args, **kwargs) -class DdosProtectionPlanPaged(Paged): - """ - A paging container for iterating over a list of :class:`DdosProtectionPlan ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[DdosProtectionPlan]'} - } - - def __init__(self, *args, **kwargs): - - super(DdosProtectionPlanPaged, self).__init__(*args, **kwargs) -class EndpointServiceResultPaged(Paged): - """ - A paging container for iterating over a list of :class:`EndpointServiceResult ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[EndpointServiceResult]'} - } - - def __init__(self, *args, **kwargs): - - super(EndpointServiceResultPaged, self).__init__(*args, **kwargs) -class ExpressRouteCircuitAuthorizationPaged(Paged): - """ - A paging container for iterating over a list of :class:`ExpressRouteCircuitAuthorization ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[ExpressRouteCircuitAuthorization]'} - } - - def __init__(self, *args, **kwargs): - - super(ExpressRouteCircuitAuthorizationPaged, self).__init__(*args, **kwargs) -class ExpressRouteCircuitPeeringPaged(Paged): - """ - A paging container for iterating over a list of :class:`ExpressRouteCircuitPeering ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[ExpressRouteCircuitPeering]'} - } - - def __init__(self, *args, **kwargs): - - super(ExpressRouteCircuitPeeringPaged, self).__init__(*args, **kwargs) -class ExpressRouteCircuitConnectionPaged(Paged): - """ - A paging container for iterating over a list of :class:`ExpressRouteCircuitConnection ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[ExpressRouteCircuitConnection]'} - } - - def __init__(self, *args, **kwargs): - - super(ExpressRouteCircuitConnectionPaged, self).__init__(*args, **kwargs) -class PeerExpressRouteCircuitConnectionPaged(Paged): - """ - A paging container for iterating over a list of :class:`PeerExpressRouteCircuitConnection ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[PeerExpressRouteCircuitConnection]'} - } - - def __init__(self, *args, **kwargs): - - super(PeerExpressRouteCircuitConnectionPaged, self).__init__(*args, **kwargs) -class ExpressRouteCircuitPaged(Paged): - """ - A paging container for iterating over a list of :class:`ExpressRouteCircuit ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[ExpressRouteCircuit]'} - } - - def __init__(self, *args, **kwargs): - - super(ExpressRouteCircuitPaged, self).__init__(*args, **kwargs) -class ExpressRouteServiceProviderPaged(Paged): - """ - A paging container for iterating over a list of :class:`ExpressRouteServiceProvider ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[ExpressRouteServiceProvider]'} - } - - def __init__(self, *args, **kwargs): - - super(ExpressRouteServiceProviderPaged, self).__init__(*args, **kwargs) -class ExpressRouteCrossConnectionPaged(Paged): - """ - A paging container for iterating over a list of :class:`ExpressRouteCrossConnection ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[ExpressRouteCrossConnection]'} - } - - def __init__(self, *args, **kwargs): - - super(ExpressRouteCrossConnectionPaged, self).__init__(*args, **kwargs) -class ExpressRouteCrossConnectionPeeringPaged(Paged): - """ - A paging container for iterating over a list of :class:`ExpressRouteCrossConnectionPeering ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[ExpressRouteCrossConnectionPeering]'} - } - - def __init__(self, *args, **kwargs): - - super(ExpressRouteCrossConnectionPeeringPaged, self).__init__(*args, **kwargs) -class ExpressRoutePortsLocationPaged(Paged): - """ - A paging container for iterating over a list of :class:`ExpressRoutePortsLocation ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[ExpressRoutePortsLocation]'} - } - - def __init__(self, *args, **kwargs): - - super(ExpressRoutePortsLocationPaged, self).__init__(*args, **kwargs) -class ExpressRoutePortPaged(Paged): - """ - A paging container for iterating over a list of :class:`ExpressRoutePort ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[ExpressRoutePort]'} - } - - def __init__(self, *args, **kwargs): - - super(ExpressRoutePortPaged, self).__init__(*args, **kwargs) -class ExpressRouteLinkPaged(Paged): - """ - A paging container for iterating over a list of :class:`ExpressRouteLink ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[ExpressRouteLink]'} - } - - def __init__(self, *args, **kwargs): - - super(ExpressRouteLinkPaged, self).__init__(*args, **kwargs) -class FirewallPolicyPaged(Paged): - """ - A paging container for iterating over a list of :class:`FirewallPolicy ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[FirewallPolicy]'} - } - - def __init__(self, *args, **kwargs): - - super(FirewallPolicyPaged, self).__init__(*args, **kwargs) -class FirewallPolicyRuleGroupPaged(Paged): - """ - A paging container for iterating over a list of :class:`FirewallPolicyRuleGroup ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[FirewallPolicyRuleGroup]'} - } - - def __init__(self, *args, **kwargs): - - super(FirewallPolicyRuleGroupPaged, self).__init__(*args, **kwargs) -class IpGroupPaged(Paged): - """ - A paging container for iterating over a list of :class:`IpGroup ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[IpGroup]'} - } - - def __init__(self, *args, **kwargs): - - super(IpGroupPaged, self).__init__(*args, **kwargs) -class LoadBalancerPaged(Paged): - """ - A paging container for iterating over a list of :class:`LoadBalancer ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[LoadBalancer]'} - } - - def __init__(self, *args, **kwargs): - - super(LoadBalancerPaged, self).__init__(*args, **kwargs) -class BackendAddressPoolPaged(Paged): - """ - A paging container for iterating over a list of :class:`BackendAddressPool ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[BackendAddressPool]'} - } - - def __init__(self, *args, **kwargs): - - super(BackendAddressPoolPaged, self).__init__(*args, **kwargs) -class FrontendIPConfigurationPaged(Paged): - """ - A paging container for iterating over a list of :class:`FrontendIPConfiguration ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[FrontendIPConfiguration]'} - } - - def __init__(self, *args, **kwargs): - - super(FrontendIPConfigurationPaged, self).__init__(*args, **kwargs) -class InboundNatRulePaged(Paged): - """ - A paging container for iterating over a list of :class:`InboundNatRule ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[InboundNatRule]'} - } - - def __init__(self, *args, **kwargs): - - super(InboundNatRulePaged, self).__init__(*args, **kwargs) -class LoadBalancingRulePaged(Paged): - """ - A paging container for iterating over a list of :class:`LoadBalancingRule ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[LoadBalancingRule]'} - } - - def __init__(self, *args, **kwargs): - - super(LoadBalancingRulePaged, self).__init__(*args, **kwargs) -class OutboundRulePaged(Paged): - """ - A paging container for iterating over a list of :class:`OutboundRule ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[OutboundRule]'} - } - - def __init__(self, *args, **kwargs): - - super(OutboundRulePaged, self).__init__(*args, **kwargs) -class NetworkInterfacePaged(Paged): - """ - A paging container for iterating over a list of :class:`NetworkInterface ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[NetworkInterface]'} - } - - def __init__(self, *args, **kwargs): - - super(NetworkInterfacePaged, self).__init__(*args, **kwargs) -class ProbePaged(Paged): - """ - A paging container for iterating over a list of :class:`Probe ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[Probe]'} - } - - def __init__(self, *args, **kwargs): - - super(ProbePaged, self).__init__(*args, **kwargs) -class NatGatewayPaged(Paged): - """ - A paging container for iterating over a list of :class:`NatGateway ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[NatGateway]'} - } - - def __init__(self, *args, **kwargs): - - super(NatGatewayPaged, self).__init__(*args, **kwargs) -class NetworkInterfaceIPConfigurationPaged(Paged): - """ - A paging container for iterating over a list of :class:`NetworkInterfaceIPConfiguration ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[NetworkInterfaceIPConfiguration]'} - } - - def __init__(self, *args, **kwargs): - - super(NetworkInterfaceIPConfigurationPaged, self).__init__(*args, **kwargs) -class NetworkInterfaceTapConfigurationPaged(Paged): - """ - A paging container for iterating over a list of :class:`NetworkInterfaceTapConfiguration ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[NetworkInterfaceTapConfiguration]'} - } - - def __init__(self, *args, **kwargs): - - super(NetworkInterfaceTapConfigurationPaged, self).__init__(*args, **kwargs) -class NetworkProfilePaged(Paged): - """ - A paging container for iterating over a list of :class:`NetworkProfile ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[NetworkProfile]'} - } - - def __init__(self, *args, **kwargs): - - super(NetworkProfilePaged, self).__init__(*args, **kwargs) -class NetworkSecurityGroupPaged(Paged): - """ - A paging container for iterating over a list of :class:`NetworkSecurityGroup ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[NetworkSecurityGroup]'} - } - - def __init__(self, *args, **kwargs): - - super(NetworkSecurityGroupPaged, self).__init__(*args, **kwargs) -class SecurityRulePaged(Paged): - """ - A paging container for iterating over a list of :class:`SecurityRule ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[SecurityRule]'} - } - - def __init__(self, *args, **kwargs): - - super(SecurityRulePaged, self).__init__(*args, **kwargs) -class NetworkWatcherPaged(Paged): - """ - A paging container for iterating over a list of :class:`NetworkWatcher ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[NetworkWatcher]'} - } - - def __init__(self, *args, **kwargs): - - super(NetworkWatcherPaged, self).__init__(*args, **kwargs) -class PacketCaptureResultPaged(Paged): - """ - A paging container for iterating over a list of :class:`PacketCaptureResult ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[PacketCaptureResult]'} - } - - def __init__(self, *args, **kwargs): - - super(PacketCaptureResultPaged, self).__init__(*args, **kwargs) -class ConnectionMonitorResultPaged(Paged): - """ - A paging container for iterating over a list of :class:`ConnectionMonitorResult ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[ConnectionMonitorResult]'} - } - - def __init__(self, *args, **kwargs): - - super(ConnectionMonitorResultPaged, self).__init__(*args, **kwargs) -class OperationPaged(Paged): - """ - A paging container for iterating over a list of :class:`Operation ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[Operation]'} - } - - def __init__(self, *args, **kwargs): - - super(OperationPaged, self).__init__(*args, **kwargs) -class PrivateEndpointPaged(Paged): - """ - A paging container for iterating over a list of :class:`PrivateEndpoint ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[PrivateEndpoint]'} - } - - def __init__(self, *args, **kwargs): - - super(PrivateEndpointPaged, self).__init__(*args, **kwargs) -class AvailablePrivateEndpointTypePaged(Paged): - """ - A paging container for iterating over a list of :class:`AvailablePrivateEndpointType ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[AvailablePrivateEndpointType]'} - } - - def __init__(self, *args, **kwargs): - - super(AvailablePrivateEndpointTypePaged, self).__init__(*args, **kwargs) -class PrivateLinkServicePaged(Paged): - """ - A paging container for iterating over a list of :class:`PrivateLinkService ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[PrivateLinkService]'} - } - - def __init__(self, *args, **kwargs): - - super(PrivateLinkServicePaged, self).__init__(*args, **kwargs) -class PrivateEndpointConnectionPaged(Paged): - """ - A paging container for iterating over a list of :class:`PrivateEndpointConnection ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[PrivateEndpointConnection]'} - } - - def __init__(self, *args, **kwargs): - - super(PrivateEndpointConnectionPaged, self).__init__(*args, **kwargs) -class AutoApprovedPrivateLinkServicePaged(Paged): - """ - A paging container for iterating over a list of :class:`AutoApprovedPrivateLinkService ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[AutoApprovedPrivateLinkService]'} - } - - def __init__(self, *args, **kwargs): - - super(AutoApprovedPrivateLinkServicePaged, self).__init__(*args, **kwargs) -class PublicIPAddressPaged(Paged): - """ - A paging container for iterating over a list of :class:`PublicIPAddress ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[PublicIPAddress]'} - } - - def __init__(self, *args, **kwargs): - - super(PublicIPAddressPaged, self).__init__(*args, **kwargs) -class PublicIPPrefixPaged(Paged): - """ - A paging container for iterating over a list of :class:`PublicIPPrefix ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[PublicIPPrefix]'} - } - - def __init__(self, *args, **kwargs): - - super(PublicIPPrefixPaged, self).__init__(*args, **kwargs) -class RouteFilterPaged(Paged): - """ - A paging container for iterating over a list of :class:`RouteFilter ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[RouteFilter]'} - } - - def __init__(self, *args, **kwargs): - - super(RouteFilterPaged, self).__init__(*args, **kwargs) -class RouteFilterRulePaged(Paged): - """ - A paging container for iterating over a list of :class:`RouteFilterRule ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[RouteFilterRule]'} - } - - def __init__(self, *args, **kwargs): - - super(RouteFilterRulePaged, self).__init__(*args, **kwargs) -class RouteTablePaged(Paged): - """ - A paging container for iterating over a list of :class:`RouteTable ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[RouteTable]'} - } - - def __init__(self, *args, **kwargs): - - super(RouteTablePaged, self).__init__(*args, **kwargs) -class RoutePaged(Paged): - """ - A paging container for iterating over a list of :class:`Route ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[Route]'} - } - - def __init__(self, *args, **kwargs): - - super(RoutePaged, self).__init__(*args, **kwargs) -class BgpServiceCommunityPaged(Paged): - """ - A paging container for iterating over a list of :class:`BgpServiceCommunity ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[BgpServiceCommunity]'} - } - - def __init__(self, *args, **kwargs): - - super(BgpServiceCommunityPaged, self).__init__(*args, **kwargs) -class ServiceEndpointPolicyPaged(Paged): - """ - A paging container for iterating over a list of :class:`ServiceEndpointPolicy ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[ServiceEndpointPolicy]'} - } - - def __init__(self, *args, **kwargs): - - super(ServiceEndpointPolicyPaged, self).__init__(*args, **kwargs) -class ServiceEndpointPolicyDefinitionPaged(Paged): - """ - A paging container for iterating over a list of :class:`ServiceEndpointPolicyDefinition ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[ServiceEndpointPolicyDefinition]'} - } - - def __init__(self, *args, **kwargs): - - super(ServiceEndpointPolicyDefinitionPaged, self).__init__(*args, **kwargs) -class UsagePaged(Paged): - """ - A paging container for iterating over a list of :class:`Usage ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[Usage]'} - } - - def __init__(self, *args, **kwargs): - - super(UsagePaged, self).__init__(*args, **kwargs) -class VirtualNetworkPaged(Paged): - """ - A paging container for iterating over a list of :class:`VirtualNetwork ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[VirtualNetwork]'} - } - - def __init__(self, *args, **kwargs): - - super(VirtualNetworkPaged, self).__init__(*args, **kwargs) -class VirtualNetworkUsagePaged(Paged): - """ - A paging container for iterating over a list of :class:`VirtualNetworkUsage ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[VirtualNetworkUsage]'} - } - - def __init__(self, *args, **kwargs): - - super(VirtualNetworkUsagePaged, self).__init__(*args, **kwargs) -class SubnetPaged(Paged): - """ - A paging container for iterating over a list of :class:`Subnet ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[Subnet]'} - } - - def __init__(self, *args, **kwargs): - - super(SubnetPaged, self).__init__(*args, **kwargs) -class VirtualNetworkPeeringPaged(Paged): - """ - A paging container for iterating over a list of :class:`VirtualNetworkPeering ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[VirtualNetworkPeering]'} - } - - def __init__(self, *args, **kwargs): - - super(VirtualNetworkPeeringPaged, self).__init__(*args, **kwargs) -class VirtualNetworkGatewayPaged(Paged): - """ - A paging container for iterating over a list of :class:`VirtualNetworkGateway ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[VirtualNetworkGateway]'} - } - - def __init__(self, *args, **kwargs): - - super(VirtualNetworkGatewayPaged, self).__init__(*args, **kwargs) -class VirtualNetworkGatewayConnectionListEntityPaged(Paged): - """ - A paging container for iterating over a list of :class:`VirtualNetworkGatewayConnectionListEntity ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[VirtualNetworkGatewayConnectionListEntity]'} - } - - def __init__(self, *args, **kwargs): - - super(VirtualNetworkGatewayConnectionListEntityPaged, self).__init__(*args, **kwargs) -class VirtualNetworkGatewayConnectionPaged(Paged): - """ - A paging container for iterating over a list of :class:`VirtualNetworkGatewayConnection ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[VirtualNetworkGatewayConnection]'} - } - - def __init__(self, *args, **kwargs): - - super(VirtualNetworkGatewayConnectionPaged, self).__init__(*args, **kwargs) -class LocalNetworkGatewayPaged(Paged): - """ - A paging container for iterating over a list of :class:`LocalNetworkGateway ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[LocalNetworkGateway]'} - } - - def __init__(self, *args, **kwargs): - - super(LocalNetworkGatewayPaged, self).__init__(*args, **kwargs) -class VirtualNetworkTapPaged(Paged): - """ - A paging container for iterating over a list of :class:`VirtualNetworkTap ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[VirtualNetworkTap]'} - } - - def __init__(self, *args, **kwargs): - - super(VirtualNetworkTapPaged, self).__init__(*args, **kwargs) -class VirtualRouterPaged(Paged): - """ - A paging container for iterating over a list of :class:`VirtualRouter ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[VirtualRouter]'} - } - - def __init__(self, *args, **kwargs): - - super(VirtualRouterPaged, self).__init__(*args, **kwargs) -class VirtualRouterPeeringPaged(Paged): - """ - A paging container for iterating over a list of :class:`VirtualRouterPeering ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[VirtualRouterPeering]'} - } - - def __init__(self, *args, **kwargs): - - super(VirtualRouterPeeringPaged, self).__init__(*args, **kwargs) -class VirtualWANPaged(Paged): - """ - A paging container for iterating over a list of :class:`VirtualWAN ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[VirtualWAN]'} - } - - def __init__(self, *args, **kwargs): - - super(VirtualWANPaged, self).__init__(*args, **kwargs) -class VpnSitePaged(Paged): - """ - A paging container for iterating over a list of :class:`VpnSite ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[VpnSite]'} - } - - def __init__(self, *args, **kwargs): - - super(VpnSitePaged, self).__init__(*args, **kwargs) -class VpnSiteLinkPaged(Paged): - """ - A paging container for iterating over a list of :class:`VpnSiteLink ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[VpnSiteLink]'} - } - - def __init__(self, *args, **kwargs): - - super(VpnSiteLinkPaged, self).__init__(*args, **kwargs) -class VpnServerConfigurationPaged(Paged): - """ - A paging container for iterating over a list of :class:`VpnServerConfiguration ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[VpnServerConfiguration]'} - } - - def __init__(self, *args, **kwargs): - - super(VpnServerConfigurationPaged, self).__init__(*args, **kwargs) -class VirtualHubPaged(Paged): - """ - A paging container for iterating over a list of :class:`VirtualHub ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[VirtualHub]'} - } - - def __init__(self, *args, **kwargs): - - super(VirtualHubPaged, self).__init__(*args, **kwargs) -class HubVirtualNetworkConnectionPaged(Paged): - """ - A paging container for iterating over a list of :class:`HubVirtualNetworkConnection ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[HubVirtualNetworkConnection]'} - } - - def __init__(self, *args, **kwargs): - - super(HubVirtualNetworkConnectionPaged, self).__init__(*args, **kwargs) -class VpnGatewayPaged(Paged): - """ - A paging container for iterating over a list of :class:`VpnGateway ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[VpnGateway]'} - } - - def __init__(self, *args, **kwargs): - - super(VpnGatewayPaged, self).__init__(*args, **kwargs) -class VpnConnectionPaged(Paged): - """ - A paging container for iterating over a list of :class:`VpnConnection ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[VpnConnection]'} - } - - def __init__(self, *args, **kwargs): - - super(VpnConnectionPaged, self).__init__(*args, **kwargs) -class VpnSiteLinkConnectionPaged(Paged): - """ - A paging container for iterating over a list of :class:`VpnSiteLinkConnection ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[VpnSiteLinkConnection]'} - } - - def __init__(self, *args, **kwargs): - - super(VpnSiteLinkConnectionPaged, self).__init__(*args, **kwargs) -class P2SVpnGatewayPaged(Paged): - """ - A paging container for iterating over a list of :class:`P2SVpnGateway ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[P2SVpnGateway]'} - } - - def __init__(self, *args, **kwargs): - - super(P2SVpnGatewayPaged, self).__init__(*args, **kwargs) -class VirtualHubRouteTableV2Paged(Paged): - """ - A paging container for iterating over a list of :class:`VirtualHubRouteTableV2 ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[VirtualHubRouteTableV2]'} - } - - def __init__(self, *args, **kwargs): - - super(VirtualHubRouteTableV2Paged, self).__init__(*args, **kwargs) -class WebApplicationFirewallPolicyPaged(Paged): - """ - A paging container for iterating over a list of :class:`WebApplicationFirewallPolicy ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[WebApplicationFirewallPolicy]'} - } - - def __init__(self, *args, **kwargs): - - super(WebApplicationFirewallPolicyPaged, self).__init__(*args, **kwargs) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/__init__.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/__init__.py deleted file mode 100644 index 92b9c5c07c3..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/__init__.py +++ /dev/null @@ -1,192 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from ._application_gateways_operations import ApplicationGatewaysOperations -from ._application_security_groups_operations import ApplicationSecurityGroupsOperations -from ._available_delegations_operations import AvailableDelegationsOperations -from ._available_resource_group_delegations_operations import AvailableResourceGroupDelegationsOperations -from ._available_service_aliases_operations import AvailableServiceAliasesOperations -from ._azure_firewalls_operations import AzureFirewallsOperations -from ._azure_firewall_fqdn_tags_operations import AzureFirewallFqdnTagsOperations -from ._bastion_hosts_operations import BastionHostsOperations -from ._ddos_custom_policies_operations import DdosCustomPoliciesOperations -from ._ddos_protection_plans_operations import DdosProtectionPlansOperations -from ._available_endpoint_services_operations import AvailableEndpointServicesOperations -from ._express_route_circuit_authorizations_operations import ExpressRouteCircuitAuthorizationsOperations -from ._express_route_circuit_peerings_operations import ExpressRouteCircuitPeeringsOperations -from ._express_route_circuit_connections_operations import ExpressRouteCircuitConnectionsOperations -from ._peer_express_route_circuit_connections_operations import PeerExpressRouteCircuitConnectionsOperations -from ._express_route_circuits_operations import ExpressRouteCircuitsOperations -from ._express_route_service_providers_operations import ExpressRouteServiceProvidersOperations -from ._express_route_cross_connections_operations import ExpressRouteCrossConnectionsOperations -from ._express_route_cross_connection_peerings_operations import ExpressRouteCrossConnectionPeeringsOperations -from ._express_route_gateways_operations import ExpressRouteGatewaysOperations -from ._express_route_connections_operations import ExpressRouteConnectionsOperations -from ._express_route_ports_locations_operations import ExpressRoutePortsLocationsOperations -from ._express_route_ports_operations import ExpressRoutePortsOperations -from ._express_route_links_operations import ExpressRouteLinksOperations -from ._firewall_policies_operations import FirewallPoliciesOperations -from ._firewall_policy_rule_groups_operations import FirewallPolicyRuleGroupsOperations -from ._ip_groups_operations import IpGroupsOperations -from ._load_balancers_operations import LoadBalancersOperations -from ._load_balancer_backend_address_pools_operations import LoadBalancerBackendAddressPoolsOperations -from ._load_balancer_frontend_ip_configurations_operations import LoadBalancerFrontendIPConfigurationsOperations -from ._inbound_nat_rules_operations import InboundNatRulesOperations -from ._load_balancer_load_balancing_rules_operations import LoadBalancerLoadBalancingRulesOperations -from ._load_balancer_outbound_rules_operations import LoadBalancerOutboundRulesOperations -from ._load_balancer_network_interfaces_operations import LoadBalancerNetworkInterfacesOperations -from ._load_balancer_probes_operations import LoadBalancerProbesOperations -from ._nat_gateways_operations import NatGatewaysOperations -from ._network_interfaces_operations import NetworkInterfacesOperations -from ._network_interface_ip_configurations_operations import NetworkInterfaceIPConfigurationsOperations -from ._network_interface_load_balancers_operations import NetworkInterfaceLoadBalancersOperations -from ._network_interface_tap_configurations_operations import NetworkInterfaceTapConfigurationsOperations -from ._network_profiles_operations import NetworkProfilesOperations -from ._network_security_groups_operations import NetworkSecurityGroupsOperations -from ._security_rules_operations import SecurityRulesOperations -from ._default_security_rules_operations import DefaultSecurityRulesOperations -from ._network_watchers_operations import NetworkWatchersOperations -from ._packet_captures_operations import PacketCapturesOperations -from ._connection_monitors_operations import ConnectionMonitorsOperations -from ._operations import Operations -from ._private_endpoints_operations import PrivateEndpointsOperations -from ._available_private_endpoint_types_operations import AvailablePrivateEndpointTypesOperations -from ._private_link_services_operations import PrivateLinkServicesOperations -from ._public_ip_addresses_operations import PublicIPAddressesOperations -from ._public_ip_prefixes_operations import PublicIPPrefixesOperations -from ._route_filters_operations import RouteFiltersOperations -from ._route_filter_rules_operations import RouteFilterRulesOperations -from ._route_tables_operations import RouteTablesOperations -from ._routes_operations import RoutesOperations -from ._bgp_service_communities_operations import BgpServiceCommunitiesOperations -from ._service_endpoint_policies_operations import ServiceEndpointPoliciesOperations -from ._service_endpoint_policy_definitions_operations import ServiceEndpointPolicyDefinitionsOperations -from ._service_tags_operations import ServiceTagsOperations -from ._usages_operations import UsagesOperations -from ._virtual_networks_operations import VirtualNetworksOperations -from ._subnets_operations import SubnetsOperations -from ._resource_navigation_links_operations import ResourceNavigationLinksOperations -from ._service_association_links_operations import ServiceAssociationLinksOperations -from ._virtual_network_peerings_operations import VirtualNetworkPeeringsOperations -from ._virtual_network_gateways_operations import VirtualNetworkGatewaysOperations -from ._virtual_network_gateway_connections_operations import VirtualNetworkGatewayConnectionsOperations -from ._local_network_gateways_operations import LocalNetworkGatewaysOperations -from ._virtual_network_taps_operations import VirtualNetworkTapsOperations -from ._virtual_routers_operations import VirtualRoutersOperations -from ._virtual_router_peerings_operations import VirtualRouterPeeringsOperations -from ._virtual_wans_operations import VirtualWansOperations -from ._vpn_sites_operations import VpnSitesOperations -from ._vpn_site_links_operations import VpnSiteLinksOperations -from ._vpn_sites_configuration_operations import VpnSitesConfigurationOperations -from ._vpn_server_configurations_operations import VpnServerConfigurationsOperations -from ._virtual_hubs_operations import VirtualHubsOperations -from ._hub_virtual_network_connections_operations import HubVirtualNetworkConnectionsOperations -from ._vpn_gateways_operations import VpnGatewaysOperations -from ._vpn_connections_operations import VpnConnectionsOperations -from ._vpn_site_link_connections_operations import VpnSiteLinkConnectionsOperations -from ._vpn_link_connections_operations import VpnLinkConnectionsOperations -from ._p2s_vpn_gateways_operations import P2sVpnGatewaysOperations -from ._vpn_server_configurations_associated_with_virtual_wan_operations import VpnServerConfigurationsAssociatedWithVirtualWanOperations -from ._virtual_hub_route_table_v2s_operations import VirtualHubRouteTableV2sOperations -from ._web_application_firewall_policies_operations import WebApplicationFirewallPoliciesOperations -from ._network_management_client_operations import NetworkManagementClientOperationsMixin - -__all__ = [ - 'ApplicationGatewaysOperations', - 'ApplicationSecurityGroupsOperations', - 'AvailableDelegationsOperations', - 'AvailableResourceGroupDelegationsOperations', - 'AvailableServiceAliasesOperations', - 'AzureFirewallsOperations', - 'AzureFirewallFqdnTagsOperations', - 'BastionHostsOperations', - 'DdosCustomPoliciesOperations', - 'DdosProtectionPlansOperations', - 'AvailableEndpointServicesOperations', - 'ExpressRouteCircuitAuthorizationsOperations', - 'ExpressRouteCircuitPeeringsOperations', - 'ExpressRouteCircuitConnectionsOperations', - 'PeerExpressRouteCircuitConnectionsOperations', - 'ExpressRouteCircuitsOperations', - 'ExpressRouteServiceProvidersOperations', - 'ExpressRouteCrossConnectionsOperations', - 'ExpressRouteCrossConnectionPeeringsOperations', - 'ExpressRouteGatewaysOperations', - 'ExpressRouteConnectionsOperations', - 'ExpressRoutePortsLocationsOperations', - 'ExpressRoutePortsOperations', - 'ExpressRouteLinksOperations', - 'FirewallPoliciesOperations', - 'FirewallPolicyRuleGroupsOperations', - 'IpGroupsOperations', - 'LoadBalancersOperations', - 'LoadBalancerBackendAddressPoolsOperations', - 'LoadBalancerFrontendIPConfigurationsOperations', - 'InboundNatRulesOperations', - 'LoadBalancerLoadBalancingRulesOperations', - 'LoadBalancerOutboundRulesOperations', - 'LoadBalancerNetworkInterfacesOperations', - 'LoadBalancerProbesOperations', - 'NatGatewaysOperations', - 'NetworkInterfacesOperations', - 'NetworkInterfaceIPConfigurationsOperations', - 'NetworkInterfaceLoadBalancersOperations', - 'NetworkInterfaceTapConfigurationsOperations', - 'NetworkProfilesOperations', - 'NetworkSecurityGroupsOperations', - 'SecurityRulesOperations', - 'DefaultSecurityRulesOperations', - 'NetworkWatchersOperations', - 'PacketCapturesOperations', - 'ConnectionMonitorsOperations', - 'Operations', - 'PrivateEndpointsOperations', - 'AvailablePrivateEndpointTypesOperations', - 'PrivateLinkServicesOperations', - 'PublicIPAddressesOperations', - 'PublicIPPrefixesOperations', - 'RouteFiltersOperations', - 'RouteFilterRulesOperations', - 'RouteTablesOperations', - 'RoutesOperations', - 'BgpServiceCommunitiesOperations', - 'ServiceEndpointPoliciesOperations', - 'ServiceEndpointPolicyDefinitionsOperations', - 'ServiceTagsOperations', - 'UsagesOperations', - 'VirtualNetworksOperations', - 'SubnetsOperations', - 'ResourceNavigationLinksOperations', - 'ServiceAssociationLinksOperations', - 'VirtualNetworkPeeringsOperations', - 'VirtualNetworkGatewaysOperations', - 'VirtualNetworkGatewayConnectionsOperations', - 'LocalNetworkGatewaysOperations', - 'VirtualNetworkTapsOperations', - 'VirtualRoutersOperations', - 'VirtualRouterPeeringsOperations', - 'VirtualWansOperations', - 'VpnSitesOperations', - 'VpnSiteLinksOperations', - 'VpnSitesConfigurationOperations', - 'VpnServerConfigurationsOperations', - 'VirtualHubsOperations', - 'HubVirtualNetworkConnectionsOperations', - 'VpnGatewaysOperations', - 'VpnConnectionsOperations', - 'VpnSiteLinkConnectionsOperations', - 'VpnLinkConnectionsOperations', - 'P2sVpnGatewaysOperations', - 'VpnServerConfigurationsAssociatedWithVirtualWanOperations', - 'VirtualHubRouteTableV2sOperations', - 'WebApplicationFirewallPoliciesOperations', - 'NetworkManagementClientOperationsMixin', -] diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_application_gateways_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_application_gateways_operations.py deleted file mode 100644 index 958f730b060..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_application_gateways_operations.py +++ /dev/null @@ -1,1292 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class ApplicationGatewaysOperations(object): - """ApplicationGatewaysOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, application_gateway_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'applicationGatewayName': self._serialize.url("application_gateway_name", application_gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, application_gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified application gateway. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param application_gateway_name: The name of the application gateway. - :type application_gateway_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - application_gateway_name=application_gateway_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}'} - - def get( - self, resource_group_name, application_gateway_name, custom_headers=None, raw=False, **operation_config): - """Gets the specified application gateway. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param application_gateway_name: The name of the application gateway. - :type application_gateway_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ApplicationGateway or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_09_01.models.ApplicationGateway or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'applicationGatewayName': self._serialize.url("application_gateway_name", application_gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ApplicationGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}'} - - - def _create_or_update_initial( - self, resource_group_name, application_gateway_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'applicationGatewayName': self._serialize.url("application_gateway_name", application_gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'ApplicationGateway') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('ApplicationGateway', response) - if response.status_code == 201: - deserialized = self._deserialize('ApplicationGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, application_gateway_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates the specified application gateway. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param application_gateway_name: The name of the application gateway. - :type application_gateway_name: str - :param parameters: Parameters supplied to the create or update - application gateway operation. - :type parameters: - ~azure.mgmt.network.v2019_09_01.models.ApplicationGateway - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns ApplicationGateway or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.ApplicationGateway] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.ApplicationGateway]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - application_gateway_name=application_gateway_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ApplicationGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}'} - - - def _update_tags_initial( - self, resource_group_name, application_gateway_name, tags=None, custom_headers=None, raw=False, **operation_config): - parameters = models.TagsObject(tags=tags) - - # Construct URL - url = self.update_tags.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'applicationGatewayName': self._serialize.url("application_gateway_name", application_gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'TagsObject') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ApplicationGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def update_tags( - self, resource_group_name, application_gateway_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Updates the specified application gateway tags. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param application_gateway_name: The name of the application gateway. - :type application_gateway_name: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns ApplicationGateway or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.ApplicationGateway] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.ApplicationGateway]] - :raises: :class:`CloudError` - """ - raw_result = self._update_tags_initial( - resource_group_name=resource_group_name, - application_gateway_name=application_gateway_name, - tags=tags, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ApplicationGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}'} - - def list( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Lists all application gateways in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of ApplicationGateway - :rtype: - ~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayPaged[~azure.mgmt.network.v2019_09_01.models.ApplicationGateway] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.ApplicationGatewayPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways'} - - def list_all( - self, custom_headers=None, raw=False, **operation_config): - """Gets all the application gateways in a subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of ApplicationGateway - :rtype: - ~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayPaged[~azure.mgmt.network.v2019_09_01.models.ApplicationGateway] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_all.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.ApplicationGatewayPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGateways'} - - - def _start_initial( - self, resource_group_name, application_gateway_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.start.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'applicationGatewayName': self._serialize.url("application_gateway_name", application_gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def start( - self, resource_group_name, application_gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Starts the specified application gateway. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param application_gateway_name: The name of the application gateway. - :type application_gateway_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._start_initial( - resource_group_name=resource_group_name, - application_gateway_name=application_gateway_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - start.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}/start'} - - - def _stop_initial( - self, resource_group_name, application_gateway_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.stop.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'applicationGatewayName': self._serialize.url("application_gateway_name", application_gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def stop( - self, resource_group_name, application_gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Stops the specified application gateway in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param application_gateway_name: The name of the application gateway. - :type application_gateway_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._stop_initial( - resource_group_name=resource_group_name, - application_gateway_name=application_gateway_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - stop.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}/stop'} - - - def _backend_health_initial( - self, resource_group_name, application_gateway_name, expand=None, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.backend_health.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'applicationGatewayName': self._serialize.url("application_gateway_name", application_gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - if expand is not None: - query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - 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('ApplicationGatewayBackendHealth', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def backend_health( - self, resource_group_name, application_gateway_name, expand=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Gets the backend health of the specified application gateway in a - resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param application_gateway_name: The name of the application gateway. - :type application_gateway_name: str - :param expand: Expands BackendAddressPool and BackendHttpSettings - referenced in backend health. - :type expand: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - ApplicationGatewayBackendHealth or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayBackendHealth] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayBackendHealth]] - :raises: :class:`CloudError` - """ - raw_result = self._backend_health_initial( - resource_group_name=resource_group_name, - application_gateway_name=application_gateway_name, - expand=expand, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ApplicationGatewayBackendHealth', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - backend_health.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}/backendhealth'} - - - def _backend_health_on_demand_initial( - self, resource_group_name, application_gateway_name, probe_request, expand=None, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.backend_health_on_demand.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'applicationGatewayName': self._serialize.url("application_gateway_name", application_gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - if expand is not None: - query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(probe_request, 'ApplicationGatewayOnDemandProbe') - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - 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('ApplicationGatewayBackendHealthOnDemand', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def backend_health_on_demand( - self, resource_group_name, application_gateway_name, probe_request, expand=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Gets the backend health for given combination of backend pool and http - setting of the specified application gateway in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param application_gateway_name: The name of the application gateway. - :type application_gateway_name: str - :param probe_request: Request body for on-demand test probe operation. - :type probe_request: - ~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayOnDemandProbe - :param expand: Expands BackendAddressPool and BackendHttpSettings - referenced in backend health. - :type expand: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - ApplicationGatewayBackendHealthOnDemand or - ClientRawResponse if - raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayBackendHealthOnDemand] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayBackendHealthOnDemand]] - :raises: :class:`CloudError` - """ - raw_result = self._backend_health_on_demand_initial( - resource_group_name=resource_group_name, - application_gateway_name=application_gateway_name, - probe_request=probe_request, - expand=expand, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ApplicationGatewayBackendHealthOnDemand', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - backend_health_on_demand.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}/getBackendHealthOnDemand'} - - def list_available_server_variables( - self, custom_headers=None, raw=False, **operation_config): - """Lists all available server variables. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: list or ClientRawResponse if raw=true - :rtype: list[str] or ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorException` - """ - # Construct URL - url = self.list_available_server_variables.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorException(self._deserialize, response) - - deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('[str]', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - list_available_server_variables.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableServerVariables'} - - def list_available_request_headers( - self, custom_headers=None, raw=False, **operation_config): - """Lists all available request headers. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: list or ClientRawResponse if raw=true - :rtype: list[str] or ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorException` - """ - # Construct URL - url = self.list_available_request_headers.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorException(self._deserialize, response) - - deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('[str]', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - list_available_request_headers.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableRequestHeaders'} - - def list_available_response_headers( - self, custom_headers=None, raw=False, **operation_config): - """Lists all available response headers. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: list or ClientRawResponse if raw=true - :rtype: list[str] or ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorException` - """ - # Construct URL - url = self.list_available_response_headers.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorException(self._deserialize, response) - - deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('[str]', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - list_available_response_headers.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableResponseHeaders'} - - def list_available_waf_rule_sets( - self, custom_headers=None, raw=False, **operation_config): - """Lists all available web application firewall rule sets. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ApplicationGatewayAvailableWafRuleSetsResult or - ClientRawResponse if raw=true - :rtype: - ~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayAvailableWafRuleSetsResult - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.list_available_waf_rule_sets.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ApplicationGatewayAvailableWafRuleSetsResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - list_available_waf_rule_sets.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableWafRuleSets'} - - def list_available_ssl_options( - self, custom_headers=None, raw=False, **operation_config): - """Lists available Ssl options for configuring Ssl policy. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ApplicationGatewayAvailableSslOptions or ClientRawResponse if - raw=true - :rtype: - ~azure.mgmt.network.v2019_09_01.models.ApplicationGatewayAvailableSslOptions - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.list_available_ssl_options.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ApplicationGatewayAvailableSslOptions', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - list_available_ssl_options.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableSslOptions/default'} - - def list_available_ssl_predefined_policies( - self, custom_headers=None, raw=False, **operation_config): - """Lists all SSL predefined policies for configuring Ssl policy. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of - ApplicationGatewaySslPredefinedPolicy - :rtype: - ~azure.mgmt.network.v2019_09_01.models.ApplicationGatewaySslPredefinedPolicyPaged[~azure.mgmt.network.v2019_09_01.models.ApplicationGatewaySslPredefinedPolicy] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_available_ssl_predefined_policies.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.ApplicationGatewaySslPredefinedPolicyPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_available_ssl_predefined_policies.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableSslOptions/default/predefinedPolicies'} - - def get_ssl_predefined_policy( - self, predefined_policy_name, custom_headers=None, raw=False, **operation_config): - """Gets Ssl predefined policy with the specified policy name. - - :param predefined_policy_name: Name of Ssl predefined policy. - :type predefined_policy_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ApplicationGatewaySslPredefinedPolicy or ClientRawResponse if - raw=true - :rtype: - ~azure.mgmt.network.v2019_09_01.models.ApplicationGatewaySslPredefinedPolicy - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get_ssl_predefined_policy.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'predefinedPolicyName': self._serialize.url("predefined_policy_name", predefined_policy_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ApplicationGatewaySslPredefinedPolicy', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get_ssl_predefined_policy.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableSslOptions/default/predefinedPolicies/{predefinedPolicyName}'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_application_security_groups_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_application_security_groups_operations.py deleted file mode 100644 index 4dd917553ca..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_application_security_groups_operations.py +++ /dev/null @@ -1,530 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class ApplicationSecurityGroupsOperations(object): - """ApplicationSecurityGroupsOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, application_security_group_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'applicationSecurityGroupName': self._serialize.url("application_security_group_name", application_security_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, application_security_group_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified application security group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param application_security_group_name: The name of the application - security group. - :type application_security_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - application_security_group_name=application_security_group_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationSecurityGroups/{applicationSecurityGroupName}'} - - def get( - self, resource_group_name, application_security_group_name, custom_headers=None, raw=False, **operation_config): - """Gets information about the specified application security group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param application_security_group_name: The name of the application - security group. - :type application_security_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ApplicationSecurityGroup or ClientRawResponse if raw=true - :rtype: - ~azure.mgmt.network.v2019_09_01.models.ApplicationSecurityGroup or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'applicationSecurityGroupName': self._serialize.url("application_security_group_name", application_security_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ApplicationSecurityGroup', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationSecurityGroups/{applicationSecurityGroupName}'} - - - def _create_or_update_initial( - self, resource_group_name, application_security_group_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'applicationSecurityGroupName': self._serialize.url("application_security_group_name", application_security_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'ApplicationSecurityGroup') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('ApplicationSecurityGroup', response) - if response.status_code == 201: - deserialized = self._deserialize('ApplicationSecurityGroup', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, application_security_group_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates an application security group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param application_security_group_name: The name of the application - security group. - :type application_security_group_name: str - :param parameters: Parameters supplied to the create or update - ApplicationSecurityGroup operation. - :type parameters: - ~azure.mgmt.network.v2019_09_01.models.ApplicationSecurityGroup - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - ApplicationSecurityGroup or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.ApplicationSecurityGroup] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.ApplicationSecurityGroup]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - application_security_group_name=application_security_group_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ApplicationSecurityGroup', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationSecurityGroups/{applicationSecurityGroupName}'} - - - def _update_tags_initial( - self, resource_group_name, application_security_group_name, tags=None, custom_headers=None, raw=False, **operation_config): - parameters = models.TagsObject(tags=tags) - - # Construct URL - url = self.update_tags.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'applicationSecurityGroupName': self._serialize.url("application_security_group_name", application_security_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'TagsObject') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ApplicationSecurityGroup', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def update_tags( - self, resource_group_name, application_security_group_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Updates an application security group's tags. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param application_security_group_name: The name of the application - security group. - :type application_security_group_name: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - ApplicationSecurityGroup or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.ApplicationSecurityGroup] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.ApplicationSecurityGroup]] - :raises: :class:`CloudError` - """ - raw_result = self._update_tags_initial( - resource_group_name=resource_group_name, - application_security_group_name=application_security_group_name, - tags=tags, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ApplicationSecurityGroup', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationSecurityGroups/{applicationSecurityGroupName}'} - - def list_all( - self, custom_headers=None, raw=False, **operation_config): - """Gets all application security groups in a subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of ApplicationSecurityGroup - :rtype: - ~azure.mgmt.network.v2019_09_01.models.ApplicationSecurityGroupPaged[~azure.mgmt.network.v2019_09_01.models.ApplicationSecurityGroup] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_all.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.ApplicationSecurityGroupPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationSecurityGroups'} - - def list( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Gets all the application security groups in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of ApplicationSecurityGroup - :rtype: - ~azure.mgmt.network.v2019_09_01.models.ApplicationSecurityGroupPaged[~azure.mgmt.network.v2019_09_01.models.ApplicationSecurityGroup] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.ApplicationSecurityGroupPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationSecurityGroups'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_available_delegations_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_available_delegations_operations.py deleted file mode 100644 index a6b970467c8..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_available_delegations_operations.py +++ /dev/null @@ -1,110 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError - -from .. import models - - -class AvailableDelegationsOperations(object): - """AvailableDelegationsOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01" - - self.config = config - - def list( - self, location, custom_headers=None, raw=False, **operation_config): - """Gets all of the available subnet delegations for this subscription in - this region. - - :param location: The location of the subnet. - :type location: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of AvailableDelegation - :rtype: - ~azure.mgmt.network.v2019_09_01.models.AvailableDelegationPaged[~azure.mgmt.network.v2019_09_01.models.AvailableDelegation] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'location': self._serialize.url("location", location, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.AvailableDelegationPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/availableDelegations'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_available_endpoint_services_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_available_endpoint_services_operations.py deleted file mode 100644 index 2c0f3ec8b4b..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_available_endpoint_services_operations.py +++ /dev/null @@ -1,109 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError - -from .. import models - - -class AvailableEndpointServicesOperations(object): - """AvailableEndpointServicesOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01" - - self.config = config - - def list( - self, location, custom_headers=None, raw=False, **operation_config): - """List what values of endpoint services are available for use. - - :param location: The location to check available endpoint services. - :type location: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of EndpointServiceResult - :rtype: - ~azure.mgmt.network.v2019_09_01.models.EndpointServiceResultPaged[~azure.mgmt.network.v2019_09_01.models.EndpointServiceResult] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'location': self._serialize.url("location", location, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.EndpointServiceResultPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/virtualNetworkAvailableEndpointServices'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_available_private_endpoint_types_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_available_private_endpoint_types_operations.py deleted file mode 100644 index b42d50f0890..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_available_private_endpoint_types_operations.py +++ /dev/null @@ -1,183 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError - -from .. import models - - -class AvailablePrivateEndpointTypesOperations(object): - """AvailablePrivateEndpointTypesOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01" - - self.config = config - - def list( - self, location, custom_headers=None, raw=False, **operation_config): - """Returns all of the resource types that can be linked to a Private - Endpoint in this subscription in this region. - - :param location: The location of the domain name. - :type location: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of AvailablePrivateEndpointType - :rtype: - ~azure.mgmt.network.v2019_09_01.models.AvailablePrivateEndpointTypePaged[~azure.mgmt.network.v2019_09_01.models.AvailablePrivateEndpointType] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'location': self._serialize.url("location", location, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.AvailablePrivateEndpointTypePaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/availablePrivateEndpointTypes'} - - def list_by_resource_group( - self, location, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Returns all of the resource types that can be linked to a Private - Endpoint in this subscription in this region. - - :param location: The location of the domain name. - :type location: str - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of AvailablePrivateEndpointType - :rtype: - ~azure.mgmt.network.v2019_09_01.models.AvailablePrivateEndpointTypePaged[~azure.mgmt.network.v2019_09_01.models.AvailablePrivateEndpointType] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_by_resource_group.metadata['url'] - path_format_arguments = { - 'location': self._serialize.url("location", location, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.AvailablePrivateEndpointTypePaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/locations/{location}/availablePrivateEndpointTypes'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_available_resource_group_delegations_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_available_resource_group_delegations_operations.py deleted file mode 100644 index 35b33b5efb5..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_available_resource_group_delegations_operations.py +++ /dev/null @@ -1,113 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError - -from .. import models - - -class AvailableResourceGroupDelegationsOperations(object): - """AvailableResourceGroupDelegationsOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01" - - self.config = config - - def list( - self, location, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Gets all of the available subnet delegations for this resource group in - this region. - - :param location: The location of the domain name. - :type location: str - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of AvailableDelegation - :rtype: - ~azure.mgmt.network.v2019_09_01.models.AvailableDelegationPaged[~azure.mgmt.network.v2019_09_01.models.AvailableDelegation] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'location': self._serialize.url("location", location, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.AvailableDelegationPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/locations/{location}/availableDelegations'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_available_service_aliases_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_available_service_aliases_operations.py deleted file mode 100644 index 819397943ef..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_available_service_aliases_operations.py +++ /dev/null @@ -1,183 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError - -from .. import models - - -class AvailableServiceAliasesOperations(object): - """AvailableServiceAliasesOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01" - - self.config = config - - def list( - self, location, custom_headers=None, raw=False, **operation_config): - """Gets all available service aliases for this subscription in this - region. - - :param location: The location. - :type location: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of AvailableServiceAlias - :rtype: - ~azure.mgmt.network.v2019_09_01.models.AvailableServiceAliasPaged[~azure.mgmt.network.v2019_09_01.models.AvailableServiceAlias] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'location': self._serialize.url("location", location, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.AvailableServiceAliasPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/availableServiceAliases'} - - def list_by_resource_group( - self, resource_group_name, location, custom_headers=None, raw=False, **operation_config): - """Gets all available service aliases for this resource group in this - region. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param location: The location. - :type location: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of AvailableServiceAlias - :rtype: - ~azure.mgmt.network.v2019_09_01.models.AvailableServiceAliasPaged[~azure.mgmt.network.v2019_09_01.models.AvailableServiceAlias] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_by_resource_group.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'location': self._serialize.url("location", location, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.AvailableServiceAliasPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/locations/{location}/availableServiceAliases'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_azure_firewall_fqdn_tags_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_azure_firewall_fqdn_tags_operations.py deleted file mode 100644 index 08e26ffa6e9..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_azure_firewall_fqdn_tags_operations.py +++ /dev/null @@ -1,106 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError - -from .. import models - - -class AzureFirewallFqdnTagsOperations(object): - """AzureFirewallFqdnTagsOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01" - - self.config = config - - def list_all( - self, custom_headers=None, raw=False, **operation_config): - """Gets all the Azure Firewall FQDN Tags in a subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of AzureFirewallFqdnTag - :rtype: - ~azure.mgmt.network.v2019_09_01.models.AzureFirewallFqdnTagPaged[~azure.mgmt.network.v2019_09_01.models.AzureFirewallFqdnTag] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_all.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.AzureFirewallFqdnTagPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/azureFirewallFqdnTags'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_azure_firewalls_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_azure_firewalls_operations.py deleted file mode 100644 index 50576852a55..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_azure_firewalls_operations.py +++ /dev/null @@ -1,488 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class AzureFirewallsOperations(object): - """AzureFirewallsOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, azure_firewall_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'azureFirewallName': self._serialize.url("azure_firewall_name", azure_firewall_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, azure_firewall_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified Azure Firewall. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param azure_firewall_name: The name of the Azure Firewall. - :type azure_firewall_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - azure_firewall_name=azure_firewall_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/azureFirewalls/{azureFirewallName}'} - - def get( - self, resource_group_name, azure_firewall_name, custom_headers=None, raw=False, **operation_config): - """Gets the specified Azure Firewall. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param azure_firewall_name: The name of the Azure Firewall. - :type azure_firewall_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: AzureFirewall or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_09_01.models.AzureFirewall or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'azureFirewallName': self._serialize.url("azure_firewall_name", azure_firewall_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('AzureFirewall', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/azureFirewalls/{azureFirewallName}'} - - - def _create_or_update_initial( - self, resource_group_name, azure_firewall_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'azureFirewallName': self._serialize.url("azure_firewall_name", azure_firewall_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'AzureFirewall') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('AzureFirewall', response) - if response.status_code == 201: - deserialized = self._deserialize('AzureFirewall', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, azure_firewall_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates the specified Azure Firewall. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param azure_firewall_name: The name of the Azure Firewall. - :type azure_firewall_name: str - :param parameters: Parameters supplied to the create or update Azure - Firewall operation. - :type parameters: ~azure.mgmt.network.v2019_09_01.models.AzureFirewall - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns AzureFirewall or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.AzureFirewall] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.AzureFirewall]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - azure_firewall_name=azure_firewall_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('AzureFirewall', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/azureFirewalls/{azureFirewallName}'} - - def update_tags( - self, resource_group_name, azure_firewall_name, parameters, custom_headers=None, raw=False, **operation_config): - """Updates tags for an Azure Firewall resource. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param azure_firewall_name: The name of the Azure Firewall. - :type azure_firewall_name: str - :param parameters: Parameters supplied to the create or update Azure - Firewall operation. - :type parameters: ~azure.mgmt.network.v2019_09_01.models.AzureFirewall - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: AzureFirewall or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_09_01.models.AzureFirewall or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.update_tags.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'azureFirewallName': self._serialize.url("azure_firewall_name", azure_firewall_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'AzureFirewall') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('AzureFirewall', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/azureFirewalls/{azureFirewallName}'} - - def list( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Lists all Azure Firewalls in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of AzureFirewall - :rtype: - ~azure.mgmt.network.v2019_09_01.models.AzureFirewallPaged[~azure.mgmt.network.v2019_09_01.models.AzureFirewall] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.AzureFirewallPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/azureFirewalls'} - - def list_all( - self, custom_headers=None, raw=False, **operation_config): - """Gets all the Azure Firewalls in a subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of AzureFirewall - :rtype: - ~azure.mgmt.network.v2019_09_01.models.AzureFirewallPaged[~azure.mgmt.network.v2019_09_01.models.AzureFirewall] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_all.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.AzureFirewallPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/azureFirewalls'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_bastion_hosts_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_bastion_hosts_operations.py deleted file mode 100644 index 481a8303225..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_bastion_hosts_operations.py +++ /dev/null @@ -1,420 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class BastionHostsOperations(object): - """BastionHostsOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, bastion_host_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'bastionHostName': self._serialize.url("bastion_host_name", bastion_host_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, bastion_host_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified Bastion Host. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param bastion_host_name: The name of the Bastion Host. - :type bastion_host_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - bastion_host_name=bastion_host_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts/{bastionHostName}'} - - def get( - self, resource_group_name, bastion_host_name, custom_headers=None, raw=False, **operation_config): - """Gets the specified Bastion Host. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param bastion_host_name: The name of the Bastion Host. - :type bastion_host_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: BastionHost or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_09_01.models.BastionHost or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'bastionHostName': self._serialize.url("bastion_host_name", bastion_host_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('BastionHost', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts/{bastionHostName}'} - - - def _create_or_update_initial( - self, resource_group_name, bastion_host_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'bastionHostName': self._serialize.url("bastion_host_name", bastion_host_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'BastionHost') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('BastionHost', response) - if response.status_code == 201: - deserialized = self._deserialize('BastionHost', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, bastion_host_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates the specified Bastion Host. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param bastion_host_name: The name of the Bastion Host. - :type bastion_host_name: str - :param parameters: Parameters supplied to the create or update Bastion - Host operation. - :type parameters: ~azure.mgmt.network.v2019_09_01.models.BastionHost - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns BastionHost or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.BastionHost] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.BastionHost]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - bastion_host_name=bastion_host_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('BastionHost', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts/{bastionHostName}'} - - def list( - self, custom_headers=None, raw=False, **operation_config): - """Lists all Bastion Hosts in a subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of BastionHost - :rtype: - ~azure.mgmt.network.v2019_09_01.models.BastionHostPaged[~azure.mgmt.network.v2019_09_01.models.BastionHost] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.BastionHostPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/bastionHosts'} - - def list_by_resource_group( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Lists all Bastion Hosts in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of BastionHost - :rtype: - ~azure.mgmt.network.v2019_09_01.models.BastionHostPaged[~azure.mgmt.network.v2019_09_01.models.BastionHost] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_by_resource_group.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.BastionHostPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_bgp_service_communities_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_bgp_service_communities_operations.py deleted file mode 100644 index db933a78b58..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_bgp_service_communities_operations.py +++ /dev/null @@ -1,106 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError - -from .. import models - - -class BgpServiceCommunitiesOperations(object): - """BgpServiceCommunitiesOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01" - - self.config = config - - def list( - self, custom_headers=None, raw=False, **operation_config): - """Gets all the available bgp service communities. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of BgpServiceCommunity - :rtype: - ~azure.mgmt.network.v2019_09_01.models.BgpServiceCommunityPaged[~azure.mgmt.network.v2019_09_01.models.BgpServiceCommunity] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.BgpServiceCommunityPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/bgpServiceCommunities'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_connection_monitors_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_connection_monitors_operations.py deleted file mode 100644 index 6d65de4fcc6..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_connection_monitors_operations.py +++ /dev/null @@ -1,706 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class ConnectionMonitorsOperations(object): - """ConnectionMonitorsOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-06-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-06-01" - - self.config = config - - - def _create_or_update_initial( - self, resource_group_name, network_watcher_name, connection_monitor_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), - 'connectionMonitorName': self._serialize.url("connection_monitor_name", connection_monitor_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'ConnectionMonitor') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 201]: - raise models.ErrorResponseException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('ConnectionMonitorResult', response) - if response.status_code == 201: - deserialized = self._deserialize('ConnectionMonitorResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, network_watcher_name, connection_monitor_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Create or update a connection monitor. - - :param resource_group_name: The name of the resource group containing - Network Watcher. - :type resource_group_name: str - :param network_watcher_name: The name of the Network Watcher resource. - :type network_watcher_name: str - :param connection_monitor_name: The name of the connection monitor. - :type connection_monitor_name: str - :param parameters: Parameters that define the operation to create a - connection monitor. - :type parameters: - ~azure.mgmt.network.v2019_09_01.models.ConnectionMonitor - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns ConnectionMonitorResult - or ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.ConnectionMonitorResult] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.ConnectionMonitorResult]] - :raises: - :class:`ErrorResponseException` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - network_watcher_name=network_watcher_name, - connection_monitor_name=connection_monitor_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ConnectionMonitorResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}'} - - def get( - self, resource_group_name, network_watcher_name, connection_monitor_name, custom_headers=None, raw=False, **operation_config): - """Gets a connection monitor by name. - - :param resource_group_name: The name of the resource group containing - Network Watcher. - :type resource_group_name: str - :param network_watcher_name: The name of the Network Watcher resource. - :type network_watcher_name: str - :param connection_monitor_name: The name of the connection monitor. - :type connection_monitor_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ConnectionMonitorResult or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_09_01.models.ConnectionMonitorResult - or ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorResponseException` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), - 'connectionMonitorName': self._serialize.url("connection_monitor_name", connection_monitor_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorResponseException(self._deserialize, response) - - deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('ConnectionMonitorResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}'} - - - def _delete_initial( - self, resource_group_name, network_watcher_name, connection_monitor_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), - 'connectionMonitorName': self._serialize.url("connection_monitor_name", connection_monitor_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [202, 204]: - raise models.ErrorResponseException(self._deserialize, response) - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, network_watcher_name, connection_monitor_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified connection monitor. - - :param resource_group_name: The name of the resource group containing - Network Watcher. - :type resource_group_name: str - :param network_watcher_name: The name of the Network Watcher resource. - :type network_watcher_name: str - :param connection_monitor_name: The name of the connection monitor. - :type connection_monitor_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: - :class:`ErrorResponseException` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - network_watcher_name=network_watcher_name, - connection_monitor_name=connection_monitor_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}'} - - def update_tags( - self, resource_group_name, network_watcher_name, connection_monitor_name, tags=None, custom_headers=None, raw=False, **operation_config): - """Update tags of the specified connection monitor. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_watcher_name: The name of the network watcher. - :type network_watcher_name: str - :param connection_monitor_name: The name of the connection monitor. - :type connection_monitor_name: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ConnectionMonitorResult or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_09_01.models.ConnectionMonitorResult - or ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorResponseException` - """ - parameters = models.TagsObject(tags=tags) - - # Construct URL - url = self.update_tags.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), - 'connectionMonitorName': self._serialize.url("connection_monitor_name", connection_monitor_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'TagsObject') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorResponseException(self._deserialize, response) - - deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('ConnectionMonitorResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}'} - - - def _stop_initial( - self, resource_group_name, network_watcher_name, connection_monitor_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.stop.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), - 'connectionMonitorName': self._serialize.url("connection_monitor_name", connection_monitor_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - raise models.ErrorResponseException(self._deserialize, response) - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def stop( - self, resource_group_name, network_watcher_name, connection_monitor_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Stops the specified connection monitor. - - :param resource_group_name: The name of the resource group containing - Network Watcher. - :type resource_group_name: str - :param network_watcher_name: The name of the Network Watcher resource. - :type network_watcher_name: str - :param connection_monitor_name: The name of the connection monitor. - :type connection_monitor_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: - :class:`ErrorResponseException` - """ - raw_result = self._stop_initial( - resource_group_name=resource_group_name, - network_watcher_name=network_watcher_name, - connection_monitor_name=connection_monitor_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - stop.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}/stop'} - - - def _start_initial( - self, resource_group_name, network_watcher_name, connection_monitor_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.start.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), - 'connectionMonitorName': self._serialize.url("connection_monitor_name", connection_monitor_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - raise models.ErrorResponseException(self._deserialize, response) - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def start( - self, resource_group_name, network_watcher_name, connection_monitor_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Starts the specified connection monitor. - - :param resource_group_name: The name of the resource group containing - Network Watcher. - :type resource_group_name: str - :param network_watcher_name: The name of the Network Watcher resource. - :type network_watcher_name: str - :param connection_monitor_name: The name of the connection monitor. - :type connection_monitor_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: - :class:`ErrorResponseException` - """ - raw_result = self._start_initial( - resource_group_name=resource_group_name, - network_watcher_name=network_watcher_name, - connection_monitor_name=connection_monitor_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - start.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}/start'} - - - def _query_initial( - self, resource_group_name, network_watcher_name, connection_monitor_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.query.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), - 'connectionMonitorName': self._serialize.url("connection_monitor_name", connection_monitor_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - raise models.ErrorResponseException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('ConnectionMonitorQueryResult', response) - if response.status_code == 202: - deserialized = self._deserialize('ConnectionMonitorQueryResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def query( - self, resource_group_name, network_watcher_name, connection_monitor_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Query a snapshot of the most recent connection states. - - :param resource_group_name: The name of the resource group containing - Network Watcher. - :type resource_group_name: str - :param network_watcher_name: The name of the Network Watcher resource. - :type network_watcher_name: str - :param connection_monitor_name: The name given to the connection - monitor. - :type connection_monitor_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - ConnectionMonitorQueryResult or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.ConnectionMonitorQueryResult] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.ConnectionMonitorQueryResult]] - :raises: - :class:`ErrorResponseException` - """ - raw_result = self._query_initial( - resource_group_name=resource_group_name, - network_watcher_name=network_watcher_name, - connection_monitor_name=connection_monitor_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ConnectionMonitorQueryResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - query.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}/query'} - - def list( - self, resource_group_name, network_watcher_name, custom_headers=None, raw=False, **operation_config): - """Lists all connection monitors for the specified Network Watcher. - - :param resource_group_name: The name of the resource group containing - Network Watcher. - :type resource_group_name: str - :param network_watcher_name: The name of the Network Watcher resource. - :type network_watcher_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of ConnectionMonitorResult - :rtype: - ~azure.mgmt.network.v2019_09_01.models.ConnectionMonitorResultPaged[~azure.mgmt.network.v2019_09_01.models.ConnectionMonitorResult] - :raises: - :class:`ErrorResponseException` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorResponseException(self._deserialize, response) - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.ConnectionMonitorResultPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_ddos_custom_policies_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_ddos_custom_policies_operations.py deleted file mode 100644 index 3e242c045d6..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_ddos_custom_policies_operations.py +++ /dev/null @@ -1,388 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class DdosCustomPoliciesOperations(object): - """DdosCustomPoliciesOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, ddos_custom_policy_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'ddosCustomPolicyName': self._serialize.url("ddos_custom_policy_name", ddos_custom_policy_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, ddos_custom_policy_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified DDoS custom policy. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param ddos_custom_policy_name: The name of the DDoS custom policy. - :type ddos_custom_policy_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - ddos_custom_policy_name=ddos_custom_policy_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosCustomPolicies/{ddosCustomPolicyName}'} - - def get( - self, resource_group_name, ddos_custom_policy_name, custom_headers=None, raw=False, **operation_config): - """Gets information about the specified DDoS custom policy. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param ddos_custom_policy_name: The name of the DDoS custom policy. - :type ddos_custom_policy_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: DdosCustomPolicy or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_09_01.models.DdosCustomPolicy or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'ddosCustomPolicyName': self._serialize.url("ddos_custom_policy_name", ddos_custom_policy_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('DdosCustomPolicy', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosCustomPolicies/{ddosCustomPolicyName}'} - - - def _create_or_update_initial( - self, resource_group_name, ddos_custom_policy_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'ddosCustomPolicyName': self._serialize.url("ddos_custom_policy_name", ddos_custom_policy_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'DdosCustomPolicy') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('DdosCustomPolicy', response) - if response.status_code == 201: - deserialized = self._deserialize('DdosCustomPolicy', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, ddos_custom_policy_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates a DDoS custom policy. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param ddos_custom_policy_name: The name of the DDoS custom policy. - :type ddos_custom_policy_name: str - :param parameters: Parameters supplied to the create or update - operation. - :type parameters: - ~azure.mgmt.network.v2019_09_01.models.DdosCustomPolicy - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns DdosCustomPolicy or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.DdosCustomPolicy] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.DdosCustomPolicy]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - ddos_custom_policy_name=ddos_custom_policy_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('DdosCustomPolicy', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosCustomPolicies/{ddosCustomPolicyName}'} - - - def _update_tags_initial( - self, resource_group_name, ddos_custom_policy_name, tags=None, custom_headers=None, raw=False, **operation_config): - parameters = models.TagsObject(tags=tags) - - # Construct URL - url = self.update_tags.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'ddosCustomPolicyName': self._serialize.url("ddos_custom_policy_name", ddos_custom_policy_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'TagsObject') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('DdosCustomPolicy', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def update_tags( - self, resource_group_name, ddos_custom_policy_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Update a DDoS custom policy tags. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param ddos_custom_policy_name: The name of the DDoS custom policy. - :type ddos_custom_policy_name: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns DdosCustomPolicy or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.DdosCustomPolicy] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.DdosCustomPolicy]] - :raises: :class:`CloudError` - """ - raw_result = self._update_tags_initial( - resource_group_name=resource_group_name, - ddos_custom_policy_name=ddos_custom_policy_name, - tags=tags, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('DdosCustomPolicy', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosCustomPolicies/{ddosCustomPolicyName}'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_ddos_protection_plans_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_ddos_protection_plans_operations.py deleted file mode 100644 index da9871bb4d0..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_ddos_protection_plans_operations.py +++ /dev/null @@ -1,530 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class DdosProtectionPlansOperations(object): - """DdosProtectionPlansOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, ddos_protection_plan_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'ddosProtectionPlanName': self._serialize.url("ddos_protection_plan_name", ddos_protection_plan_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, ddos_protection_plan_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified DDoS protection plan. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param ddos_protection_plan_name: The name of the DDoS protection - plan. - :type ddos_protection_plan_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - ddos_protection_plan_name=ddos_protection_plan_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosProtectionPlans/{ddosProtectionPlanName}'} - - def get( - self, resource_group_name, ddos_protection_plan_name, custom_headers=None, raw=False, **operation_config): - """Gets information about the specified DDoS protection plan. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param ddos_protection_plan_name: The name of the DDoS protection - plan. - :type ddos_protection_plan_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: DdosProtectionPlan or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_09_01.models.DdosProtectionPlan or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'ddosProtectionPlanName': self._serialize.url("ddos_protection_plan_name", ddos_protection_plan_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('DdosProtectionPlan', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosProtectionPlans/{ddosProtectionPlanName}'} - - - def _create_or_update_initial( - self, resource_group_name, ddos_protection_plan_name, location=None, tags=None, custom_headers=None, raw=False, **operation_config): - parameters = models.DdosProtectionPlan(location=location, tags=tags) - - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'ddosProtectionPlanName': self._serialize.url("ddos_protection_plan_name", ddos_protection_plan_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'DdosProtectionPlan') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('DdosProtectionPlan', response) - if response.status_code == 201: - deserialized = self._deserialize('DdosProtectionPlan', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, ddos_protection_plan_name, location=None, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates a DDoS protection plan. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param ddos_protection_plan_name: The name of the DDoS protection - plan. - :type ddos_protection_plan_name: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns DdosProtectionPlan or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.DdosProtectionPlan] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.DdosProtectionPlan]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - ddos_protection_plan_name=ddos_protection_plan_name, - location=location, - tags=tags, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('DdosProtectionPlan', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosProtectionPlans/{ddosProtectionPlanName}'} - - - def _update_tags_initial( - self, resource_group_name, ddos_protection_plan_name, tags=None, custom_headers=None, raw=False, **operation_config): - parameters = models.TagsObject(tags=tags) - - # Construct URL - url = self.update_tags.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'ddosProtectionPlanName': self._serialize.url("ddos_protection_plan_name", ddos_protection_plan_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'TagsObject') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('DdosProtectionPlan', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def update_tags( - self, resource_group_name, ddos_protection_plan_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Update a DDoS protection plan tags. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param ddos_protection_plan_name: The name of the DDoS protection - plan. - :type ddos_protection_plan_name: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns DdosProtectionPlan or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.DdosProtectionPlan] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.DdosProtectionPlan]] - :raises: :class:`CloudError` - """ - raw_result = self._update_tags_initial( - resource_group_name=resource_group_name, - ddos_protection_plan_name=ddos_protection_plan_name, - tags=tags, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('DdosProtectionPlan', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosProtectionPlans/{ddosProtectionPlanName}'} - - def list( - self, custom_headers=None, raw=False, **operation_config): - """Gets all DDoS protection plans in a subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of DdosProtectionPlan - :rtype: - ~azure.mgmt.network.v2019_09_01.models.DdosProtectionPlanPaged[~azure.mgmt.network.v2019_09_01.models.DdosProtectionPlan] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.DdosProtectionPlanPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/ddosProtectionPlans'} - - def list_by_resource_group( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Gets all the DDoS protection plans in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of DdosProtectionPlan - :rtype: - ~azure.mgmt.network.v2019_09_01.models.DdosProtectionPlanPaged[~azure.mgmt.network.v2019_09_01.models.DdosProtectionPlan] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_by_resource_group.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.DdosProtectionPlanPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosProtectionPlans'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_default_security_rules_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_default_security_rules_operations.py deleted file mode 100644 index af762535cc8..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_default_security_rules_operations.py +++ /dev/null @@ -1,179 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError - -from .. import models - - -class DefaultSecurityRulesOperations(object): - """DefaultSecurityRulesOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01" - - self.config = config - - def list( - self, resource_group_name, network_security_group_name, custom_headers=None, raw=False, **operation_config): - """Gets all default security rules in a network security group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_security_group_name: The name of the network security - group. - :type network_security_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of SecurityRule - :rtype: - ~azure.mgmt.network.v2019_09_01.models.SecurityRulePaged[~azure.mgmt.network.v2019_09_01.models.SecurityRule] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkSecurityGroupName': self._serialize.url("network_security_group_name", network_security_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.SecurityRulePaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/defaultSecurityRules'} - - def get( - self, resource_group_name, network_security_group_name, default_security_rule_name, custom_headers=None, raw=False, **operation_config): - """Get the specified default network security rule. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_security_group_name: The name of the network security - group. - :type network_security_group_name: str - :param default_security_rule_name: The name of the default security - rule. - :type default_security_rule_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: SecurityRule or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_09_01.models.SecurityRule or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkSecurityGroupName': self._serialize.url("network_security_group_name", network_security_group_name, 'str'), - 'defaultSecurityRuleName': self._serialize.url("default_security_rule_name", default_security_rule_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('SecurityRule', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/defaultSecurityRules/{defaultSecurityRuleName}'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_express_route_circuit_authorizations_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_express_route_circuit_authorizations_operations.py deleted file mode 100644 index f9b0ab4b8c3..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_express_route_circuit_authorizations_operations.py +++ /dev/null @@ -1,379 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class ExpressRouteCircuitAuthorizationsOperations(object): - """ExpressRouteCircuitAuthorizationsOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, circuit_name, authorization_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), - 'authorizationName': self._serialize.url("authorization_name", authorization_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, circuit_name, authorization_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified authorization from the specified express route - circuit. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param circuit_name: The name of the express route circuit. - :type circuit_name: str - :param authorization_name: The name of the authorization. - :type authorization_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - circuit_name=circuit_name, - authorization_name=authorization_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/authorizations/{authorizationName}'} - - def get( - self, resource_group_name, circuit_name, authorization_name, custom_headers=None, raw=False, **operation_config): - """Gets the specified authorization from the specified express route - circuit. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param circuit_name: The name of the express route circuit. - :type circuit_name: str - :param authorization_name: The name of the authorization. - :type authorization_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ExpressRouteCircuitAuthorization or ClientRawResponse if - raw=true - :rtype: - ~azure.mgmt.network.v2019_09_01.models.ExpressRouteCircuitAuthorization - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), - 'authorizationName': self._serialize.url("authorization_name", authorization_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ExpressRouteCircuitAuthorization', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/authorizations/{authorizationName}'} - - - def _create_or_update_initial( - self, resource_group_name, circuit_name, authorization_name, id=None, name=None, custom_headers=None, raw=False, **operation_config): - authorization_parameters = models.ExpressRouteCircuitAuthorization(id=id, name=name) - - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), - 'authorizationName': self._serialize.url("authorization_name", authorization_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(authorization_parameters, 'ExpressRouteCircuitAuthorization') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('ExpressRouteCircuitAuthorization', response) - if response.status_code == 201: - deserialized = self._deserialize('ExpressRouteCircuitAuthorization', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, circuit_name, authorization_name, id=None, name=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates an authorization in the specified express route - circuit. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param circuit_name: The name of the express route circuit. - :type circuit_name: str - :param authorization_name: The name of the authorization. - :type authorization_name: str - :param id: Resource ID. - :type id: str - :param name: The name of the resource that is unique within a resource - group. This name can be used to access the resource. - :type name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - ExpressRouteCircuitAuthorization or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.ExpressRouteCircuitAuthorization] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.ExpressRouteCircuitAuthorization]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - circuit_name=circuit_name, - authorization_name=authorization_name, - id=id, - name=name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ExpressRouteCircuitAuthorization', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/authorizations/{authorizationName}'} - - def list( - self, resource_group_name, circuit_name, custom_headers=None, raw=False, **operation_config): - """Gets all authorizations in an express route circuit. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param circuit_name: The name of the circuit. - :type circuit_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of ExpressRouteCircuitAuthorization - :rtype: - ~azure.mgmt.network.v2019_09_01.models.ExpressRouteCircuitAuthorizationPaged[~azure.mgmt.network.v2019_09_01.models.ExpressRouteCircuitAuthorization] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.ExpressRouteCircuitAuthorizationPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/authorizations'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_express_route_circuit_connections_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_express_route_circuit_connections_operations.py deleted file mode 100644 index 4503e319ae3..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_express_route_circuit_connections_operations.py +++ /dev/null @@ -1,394 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class ExpressRouteCircuitConnectionsOperations(object): - """ExpressRouteCircuitConnectionsOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, circuit_name, peering_name, connection_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), - 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), - 'connectionName': self._serialize.url("connection_name", connection_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, circuit_name, peering_name, connection_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified Express Route Circuit Connection from the - specified express route circuit. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param circuit_name: The name of the express route circuit. - :type circuit_name: str - :param peering_name: The name of the peering. - :type peering_name: str - :param connection_name: The name of the express route circuit - connection. - :type connection_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - circuit_name=circuit_name, - peering_name=peering_name, - connection_name=connection_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/connections/{connectionName}'} - - def get( - self, resource_group_name, circuit_name, peering_name, connection_name, custom_headers=None, raw=False, **operation_config): - """Gets the specified Express Route Circuit Connection from the specified - express route circuit. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param circuit_name: The name of the express route circuit. - :type circuit_name: str - :param peering_name: The name of the peering. - :type peering_name: str - :param connection_name: The name of the express route circuit - connection. - :type connection_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ExpressRouteCircuitConnection or ClientRawResponse if - raw=true - :rtype: - ~azure.mgmt.network.v2019_09_01.models.ExpressRouteCircuitConnection - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), - 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), - 'connectionName': self._serialize.url("connection_name", connection_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ExpressRouteCircuitConnection', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/connections/{connectionName}'} - - - def _create_or_update_initial( - self, resource_group_name, circuit_name, peering_name, connection_name, express_route_circuit_connection_parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), - 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), - 'connectionName': self._serialize.url("connection_name", connection_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(express_route_circuit_connection_parameters, 'ExpressRouteCircuitConnection') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('ExpressRouteCircuitConnection', response) - if response.status_code == 201: - deserialized = self._deserialize('ExpressRouteCircuitConnection', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, circuit_name, peering_name, connection_name, express_route_circuit_connection_parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates a Express Route Circuit Connection in the specified - express route circuits. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param circuit_name: The name of the express route circuit. - :type circuit_name: str - :param peering_name: The name of the peering. - :type peering_name: str - :param connection_name: The name of the express route circuit - connection. - :type connection_name: str - :param express_route_circuit_connection_parameters: Parameters - supplied to the create or update express route circuit connection - operation. - :type express_route_circuit_connection_parameters: - ~azure.mgmt.network.v2019_09_01.models.ExpressRouteCircuitConnection - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - ExpressRouteCircuitConnection or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.ExpressRouteCircuitConnection] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.ExpressRouteCircuitConnection]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - circuit_name=circuit_name, - peering_name=peering_name, - connection_name=connection_name, - express_route_circuit_connection_parameters=express_route_circuit_connection_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ExpressRouteCircuitConnection', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/connections/{connectionName}'} - - def list( - self, resource_group_name, circuit_name, peering_name, custom_headers=None, raw=False, **operation_config): - """Gets all global reach connections associated with a private peering in - an express route circuit. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param circuit_name: The name of the circuit. - :type circuit_name: str - :param peering_name: The name of the peering. - :type peering_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of ExpressRouteCircuitConnection - :rtype: - ~azure.mgmt.network.v2019_09_01.models.ExpressRouteCircuitConnectionPaged[~azure.mgmt.network.v2019_09_01.models.ExpressRouteCircuitConnection] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), - 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.ExpressRouteCircuitConnectionPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/connections'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_express_route_circuit_peerings_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_express_route_circuit_peerings_operations.py deleted file mode 100644 index 6fd3d23ecca..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_express_route_circuit_peerings_operations.py +++ /dev/null @@ -1,371 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class ExpressRouteCircuitPeeringsOperations(object): - """ExpressRouteCircuitPeeringsOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, circuit_name, peering_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), - 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, circuit_name, peering_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified peering from the specified express route circuit. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param circuit_name: The name of the express route circuit. - :type circuit_name: str - :param peering_name: The name of the peering. - :type peering_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - circuit_name=circuit_name, - peering_name=peering_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}'} - - def get( - self, resource_group_name, circuit_name, peering_name, custom_headers=None, raw=False, **operation_config): - """Gets the specified peering for the express route circuit. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param circuit_name: The name of the express route circuit. - :type circuit_name: str - :param peering_name: The name of the peering. - :type peering_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ExpressRouteCircuitPeering or ClientRawResponse if raw=true - :rtype: - ~azure.mgmt.network.v2019_09_01.models.ExpressRouteCircuitPeering or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), - 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ExpressRouteCircuitPeering', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}'} - - - def _create_or_update_initial( - self, resource_group_name, circuit_name, peering_name, peering_parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), - 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(peering_parameters, 'ExpressRouteCircuitPeering') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('ExpressRouteCircuitPeering', response) - if response.status_code == 201: - deserialized = self._deserialize('ExpressRouteCircuitPeering', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, circuit_name, peering_name, peering_parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates a peering in the specified express route circuits. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param circuit_name: The name of the express route circuit. - :type circuit_name: str - :param peering_name: The name of the peering. - :type peering_name: str - :param peering_parameters: Parameters supplied to the create or update - express route circuit peering operation. - :type peering_parameters: - ~azure.mgmt.network.v2019_09_01.models.ExpressRouteCircuitPeering - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - ExpressRouteCircuitPeering or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.ExpressRouteCircuitPeering] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.ExpressRouteCircuitPeering]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - circuit_name=circuit_name, - peering_name=peering_name, - peering_parameters=peering_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ExpressRouteCircuitPeering', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}'} - - def list( - self, resource_group_name, circuit_name, custom_headers=None, raw=False, **operation_config): - """Gets all peerings in a specified express route circuit. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param circuit_name: The name of the express route circuit. - :type circuit_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of ExpressRouteCircuitPeering - :rtype: - ~azure.mgmt.network.v2019_09_01.models.ExpressRouteCircuitPeeringPaged[~azure.mgmt.network.v2019_09_01.models.ExpressRouteCircuitPeering] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.ExpressRouteCircuitPeeringPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_express_route_circuits_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_express_route_circuits_operations.py deleted file mode 100644 index 2a76139e24f..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_express_route_circuits_operations.py +++ /dev/null @@ -1,961 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class ExpressRouteCircuitsOperations(object): - """ExpressRouteCircuitsOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, circuit_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, circuit_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified express route circuit. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param circuit_name: The name of the express route circuit. - :type circuit_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - circuit_name=circuit_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}'} - - def get( - self, resource_group_name, circuit_name, custom_headers=None, raw=False, **operation_config): - """Gets information about the specified express route circuit. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param circuit_name: The name of express route circuit. - :type circuit_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ExpressRouteCircuit or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_09_01.models.ExpressRouteCircuit or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ExpressRouteCircuit', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}'} - - - def _create_or_update_initial( - self, resource_group_name, circuit_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'ExpressRouteCircuit') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('ExpressRouteCircuit', response) - if response.status_code == 201: - deserialized = self._deserialize('ExpressRouteCircuit', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, circuit_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates an express route circuit. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param circuit_name: The name of the circuit. - :type circuit_name: str - :param parameters: Parameters supplied to the create or update express - route circuit operation. - :type parameters: - ~azure.mgmt.network.v2019_09_01.models.ExpressRouteCircuit - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns ExpressRouteCircuit or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.ExpressRouteCircuit] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.ExpressRouteCircuit]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - circuit_name=circuit_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ExpressRouteCircuit', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}'} - - - def _update_tags_initial( - self, resource_group_name, circuit_name, tags=None, custom_headers=None, raw=False, **operation_config): - parameters = models.TagsObject(tags=tags) - - # Construct URL - url = self.update_tags.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'TagsObject') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ExpressRouteCircuit', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def update_tags( - self, resource_group_name, circuit_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Updates an express route circuit tags. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param circuit_name: The name of the circuit. - :type circuit_name: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns ExpressRouteCircuit or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.ExpressRouteCircuit] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.ExpressRouteCircuit]] - :raises: :class:`CloudError` - """ - raw_result = self._update_tags_initial( - resource_group_name=resource_group_name, - circuit_name=circuit_name, - tags=tags, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ExpressRouteCircuit', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}'} - - - def _list_arp_table_initial( - self, resource_group_name, circuit_name, peering_name, device_path, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.list_arp_table.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), - 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), - 'devicePath': self._serialize.url("device_path", device_path, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - 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('ExpressRouteCircuitsArpTableListResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def list_arp_table( - self, resource_group_name, circuit_name, peering_name, device_path, custom_headers=None, raw=False, polling=True, **operation_config): - """Gets the currently advertised ARP table associated with the express - route circuit in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param circuit_name: The name of the express route circuit. - :type circuit_name: str - :param peering_name: The name of the peering. - :type peering_name: str - :param device_path: The path of the device. - :type device_path: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - ExpressRouteCircuitsArpTableListResult or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.ExpressRouteCircuitsArpTableListResult] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.ExpressRouteCircuitsArpTableListResult]] - :raises: :class:`CloudError` - """ - raw_result = self._list_arp_table_initial( - resource_group_name=resource_group_name, - circuit_name=circuit_name, - peering_name=peering_name, - device_path=device_path, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ExpressRouteCircuitsArpTableListResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - list_arp_table.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/arpTables/{devicePath}'} - - - def _list_routes_table_initial( - self, resource_group_name, circuit_name, peering_name, device_path, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.list_routes_table.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), - 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), - 'devicePath': self._serialize.url("device_path", device_path, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - 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('ExpressRouteCircuitsRoutesTableListResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def list_routes_table( - self, resource_group_name, circuit_name, peering_name, device_path, custom_headers=None, raw=False, polling=True, **operation_config): - """Gets the currently advertised routes table associated with the express - route circuit in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param circuit_name: The name of the express route circuit. - :type circuit_name: str - :param peering_name: The name of the peering. - :type peering_name: str - :param device_path: The path of the device. - :type device_path: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - ExpressRouteCircuitsRoutesTableListResult or - ClientRawResponse if - raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.ExpressRouteCircuitsRoutesTableListResult] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.ExpressRouteCircuitsRoutesTableListResult]] - :raises: :class:`CloudError` - """ - raw_result = self._list_routes_table_initial( - resource_group_name=resource_group_name, - circuit_name=circuit_name, - peering_name=peering_name, - device_path=device_path, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ExpressRouteCircuitsRoutesTableListResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - list_routes_table.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/routeTables/{devicePath}'} - - - def _list_routes_table_summary_initial( - self, resource_group_name, circuit_name, peering_name, device_path, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.list_routes_table_summary.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), - 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), - 'devicePath': self._serialize.url("device_path", device_path, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - 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('ExpressRouteCircuitsRoutesTableSummaryListResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def list_routes_table_summary( - self, resource_group_name, circuit_name, peering_name, device_path, custom_headers=None, raw=False, polling=True, **operation_config): - """Gets the currently advertised routes table summary associated with the - express route circuit in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param circuit_name: The name of the express route circuit. - :type circuit_name: str - :param peering_name: The name of the peering. - :type peering_name: str - :param device_path: The path of the device. - :type device_path: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - ExpressRouteCircuitsRoutesTableSummaryListResult or - ClientRawResponse if - raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.ExpressRouteCircuitsRoutesTableSummaryListResult] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.ExpressRouteCircuitsRoutesTableSummaryListResult]] - :raises: :class:`CloudError` - """ - raw_result = self._list_routes_table_summary_initial( - resource_group_name=resource_group_name, - circuit_name=circuit_name, - peering_name=peering_name, - device_path=device_path, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ExpressRouteCircuitsRoutesTableSummaryListResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - list_routes_table_summary.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/routeTablesSummary/{devicePath}'} - - def get_stats( - self, resource_group_name, circuit_name, custom_headers=None, raw=False, **operation_config): - """Gets all the stats from an express route circuit in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param circuit_name: The name of the express route circuit. - :type circuit_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ExpressRouteCircuitStats or ClientRawResponse if raw=true - :rtype: - ~azure.mgmt.network.v2019_09_01.models.ExpressRouteCircuitStats or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get_stats.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ExpressRouteCircuitStats', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get_stats.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/stats'} - - def get_peering_stats( - self, resource_group_name, circuit_name, peering_name, custom_headers=None, raw=False, **operation_config): - """Gets all stats from an express route circuit in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param circuit_name: The name of the express route circuit. - :type circuit_name: str - :param peering_name: The name of the peering. - :type peering_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ExpressRouteCircuitStats or ClientRawResponse if raw=true - :rtype: - ~azure.mgmt.network.v2019_09_01.models.ExpressRouteCircuitStats or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get_peering_stats.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), - 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ExpressRouteCircuitStats', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get_peering_stats.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/stats'} - - def list( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Gets all the express route circuits in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of ExpressRouteCircuit - :rtype: - ~azure.mgmt.network.v2019_09_01.models.ExpressRouteCircuitPaged[~azure.mgmt.network.v2019_09_01.models.ExpressRouteCircuit] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.ExpressRouteCircuitPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits'} - - def list_all( - self, custom_headers=None, raw=False, **operation_config): - """Gets all the express route circuits in a subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of ExpressRouteCircuit - :rtype: - ~azure.mgmt.network.v2019_09_01.models.ExpressRouteCircuitPaged[~azure.mgmt.network.v2019_09_01.models.ExpressRouteCircuit] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_all.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.ExpressRouteCircuitPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/expressRouteCircuits'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_express_route_connections_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_express_route_connections_operations.py deleted file mode 100644 index d1130ae3a58..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_express_route_connections_operations.py +++ /dev/null @@ -1,364 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class ExpressRouteConnectionsOperations(object): - """ExpressRouteConnectionsOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01" - - self.config = config - - - def _create_or_update_initial( - self, resource_group_name, express_route_gateway_name, connection_name, put_express_route_connection_parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'expressRouteGatewayName': self._serialize.url("express_route_gateway_name", express_route_gateway_name, 'str'), - 'connectionName': self._serialize.url("connection_name", connection_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(put_express_route_connection_parameters, 'ExpressRouteConnection') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('ExpressRouteConnection', response) - if response.status_code == 201: - deserialized = self._deserialize('ExpressRouteConnection', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, express_route_gateway_name, connection_name, put_express_route_connection_parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates a connection between an ExpressRoute gateway and an - ExpressRoute circuit. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param express_route_gateway_name: The name of the ExpressRoute - gateway. - :type express_route_gateway_name: str - :param connection_name: The name of the connection subresource. - :type connection_name: str - :param put_express_route_connection_parameters: Parameters required in - an ExpressRouteConnection PUT operation. - :type put_express_route_connection_parameters: - ~azure.mgmt.network.v2019_09_01.models.ExpressRouteConnection - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns ExpressRouteConnection - or ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.ExpressRouteConnection] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.ExpressRouteConnection]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - express_route_gateway_name=express_route_gateway_name, - connection_name=connection_name, - put_express_route_connection_parameters=put_express_route_connection_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ExpressRouteConnection', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteGateways/{expressRouteGatewayName}/expressRouteConnections/{connectionName}'} - - def get( - self, resource_group_name, express_route_gateway_name, connection_name, custom_headers=None, raw=False, **operation_config): - """Gets the specified ExpressRouteConnection. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param express_route_gateway_name: The name of the ExpressRoute - gateway. - :type express_route_gateway_name: str - :param connection_name: The name of the ExpressRoute connection. - :type connection_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ExpressRouteConnection or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_09_01.models.ExpressRouteConnection - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'expressRouteGatewayName': self._serialize.url("express_route_gateway_name", express_route_gateway_name, 'str'), - 'connectionName': self._serialize.url("connection_name", connection_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ExpressRouteConnection', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteGateways/{expressRouteGatewayName}/expressRouteConnections/{connectionName}'} - - - def _delete_initial( - self, resource_group_name, express_route_gateway_name, connection_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'expressRouteGatewayName': self._serialize.url("express_route_gateway_name", express_route_gateway_name, 'str'), - 'connectionName': self._serialize.url("connection_name", connection_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, express_route_gateway_name, connection_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes a connection to a ExpressRoute circuit. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param express_route_gateway_name: The name of the ExpressRoute - gateway. - :type express_route_gateway_name: str - :param connection_name: The name of the connection subresource. - :type connection_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - express_route_gateway_name=express_route_gateway_name, - connection_name=connection_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteGateways/{expressRouteGatewayName}/expressRouteConnections/{connectionName}'} - - def list( - self, resource_group_name, express_route_gateway_name, custom_headers=None, raw=False, **operation_config): - """Lists ExpressRouteConnections. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param express_route_gateway_name: The name of the ExpressRoute - gateway. - :type express_route_gateway_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ExpressRouteConnectionList or ClientRawResponse if raw=true - :rtype: - ~azure.mgmt.network.v2019_09_01.models.ExpressRouteConnectionList or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'expressRouteGatewayName': self._serialize.url("express_route_gateway_name", express_route_gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ExpressRouteConnectionList', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteGateways/{expressRouteGatewayName}/expressRouteConnections'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_express_route_cross_connection_peerings_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_express_route_cross_connection_peerings_operations.py deleted file mode 100644 index fe1c2f8cd05..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_express_route_cross_connection_peerings_operations.py +++ /dev/null @@ -1,378 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class ExpressRouteCrossConnectionPeeringsOperations(object): - """ExpressRouteCrossConnectionPeeringsOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01" - - self.config = config - - def list( - self, resource_group_name, cross_connection_name, custom_headers=None, raw=False, **operation_config): - """Gets all peerings in a specified ExpressRouteCrossConnection. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param cross_connection_name: The name of the - ExpressRouteCrossConnection. - :type cross_connection_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of - ExpressRouteCrossConnectionPeering - :rtype: - ~azure.mgmt.network.v2019_09_01.models.ExpressRouteCrossConnectionPeeringPaged[~azure.mgmt.network.v2019_09_01.models.ExpressRouteCrossConnectionPeering] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'crossConnectionName': self._serialize.url("cross_connection_name", cross_connection_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.ExpressRouteCrossConnectionPeeringPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings'} - - - def _delete_initial( - self, resource_group_name, cross_connection_name, peering_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'crossConnectionName': self._serialize.url("cross_connection_name", cross_connection_name, 'str'), - 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, cross_connection_name, peering_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified peering from the ExpressRouteCrossConnection. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param cross_connection_name: The name of the - ExpressRouteCrossConnection. - :type cross_connection_name: str - :param peering_name: The name of the peering. - :type peering_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - cross_connection_name=cross_connection_name, - peering_name=peering_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}'} - - def get( - self, resource_group_name, cross_connection_name, peering_name, custom_headers=None, raw=False, **operation_config): - """Gets the specified peering for the ExpressRouteCrossConnection. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param cross_connection_name: The name of the - ExpressRouteCrossConnection. - :type cross_connection_name: str - :param peering_name: The name of the peering. - :type peering_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ExpressRouteCrossConnectionPeering or ClientRawResponse if - raw=true - :rtype: - ~azure.mgmt.network.v2019_09_01.models.ExpressRouteCrossConnectionPeering - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'crossConnectionName': self._serialize.url("cross_connection_name", cross_connection_name, 'str'), - 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ExpressRouteCrossConnectionPeering', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}'} - - - def _create_or_update_initial( - self, resource_group_name, cross_connection_name, peering_name, peering_parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'crossConnectionName': self._serialize.url("cross_connection_name", cross_connection_name, 'str'), - 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(peering_parameters, 'ExpressRouteCrossConnectionPeering') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('ExpressRouteCrossConnectionPeering', response) - if response.status_code == 201: - deserialized = self._deserialize('ExpressRouteCrossConnectionPeering', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, cross_connection_name, peering_name, peering_parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates a peering in the specified - ExpressRouteCrossConnection. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param cross_connection_name: The name of the - ExpressRouteCrossConnection. - :type cross_connection_name: str - :param peering_name: The name of the peering. - :type peering_name: str - :param peering_parameters: Parameters supplied to the create or update - ExpressRouteCrossConnection peering operation. - :type peering_parameters: - ~azure.mgmt.network.v2019_09_01.models.ExpressRouteCrossConnectionPeering - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - ExpressRouteCrossConnectionPeering or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.ExpressRouteCrossConnectionPeering] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.ExpressRouteCrossConnectionPeering]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - cross_connection_name=cross_connection_name, - peering_name=peering_name, - peering_parameters=peering_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ExpressRouteCrossConnectionPeering', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_express_route_cross_connections_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_express_route_cross_connections_operations.py deleted file mode 100644 index 12f205d4378..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_express_route_cross_connections_operations.py +++ /dev/null @@ -1,762 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class ExpressRouteCrossConnectionsOperations(object): - """ExpressRouteCrossConnectionsOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01" - - self.config = config - - def list( - self, custom_headers=None, raw=False, **operation_config): - """Retrieves all the ExpressRouteCrossConnections in a subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of ExpressRouteCrossConnection - :rtype: - ~azure.mgmt.network.v2019_09_01.models.ExpressRouteCrossConnectionPaged[~azure.mgmt.network.v2019_09_01.models.ExpressRouteCrossConnection] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.ExpressRouteCrossConnectionPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/expressRouteCrossConnections'} - - def list_by_resource_group( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Retrieves all the ExpressRouteCrossConnections in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of ExpressRouteCrossConnection - :rtype: - ~azure.mgmt.network.v2019_09_01.models.ExpressRouteCrossConnectionPaged[~azure.mgmt.network.v2019_09_01.models.ExpressRouteCrossConnection] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_by_resource_group.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.ExpressRouteCrossConnectionPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections'} - - def get( - self, resource_group_name, cross_connection_name, custom_headers=None, raw=False, **operation_config): - """Gets details about the specified ExpressRouteCrossConnection. - - :param resource_group_name: The name of the resource group (peering - location of the circuit). - :type resource_group_name: str - :param cross_connection_name: The name of the - ExpressRouteCrossConnection (service key of the circuit). - :type cross_connection_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ExpressRouteCrossConnection or ClientRawResponse if raw=true - :rtype: - ~azure.mgmt.network.v2019_09_01.models.ExpressRouteCrossConnection or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'crossConnectionName': self._serialize.url("cross_connection_name", cross_connection_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ExpressRouteCrossConnection', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}'} - - - def _create_or_update_initial( - self, resource_group_name, cross_connection_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'crossConnectionName': self._serialize.url("cross_connection_name", cross_connection_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'ExpressRouteCrossConnection') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ExpressRouteCrossConnection', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, cross_connection_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Update the specified ExpressRouteCrossConnection. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param cross_connection_name: The name of the - ExpressRouteCrossConnection. - :type cross_connection_name: str - :param parameters: Parameters supplied to the update express route - crossConnection operation. - :type parameters: - ~azure.mgmt.network.v2019_09_01.models.ExpressRouteCrossConnection - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - ExpressRouteCrossConnection or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.ExpressRouteCrossConnection] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.ExpressRouteCrossConnection]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - cross_connection_name=cross_connection_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ExpressRouteCrossConnection', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}'} - - - def _update_tags_initial( - self, resource_group_name, cross_connection_name, tags=None, custom_headers=None, raw=False, **operation_config): - cross_connection_parameters = models.TagsObject(tags=tags) - - # Construct URL - url = self.update_tags.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'crossConnectionName': self._serialize.url("cross_connection_name", cross_connection_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(cross_connection_parameters, 'TagsObject') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ExpressRouteCrossConnection', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def update_tags( - self, resource_group_name, cross_connection_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Updates an express route cross connection tags. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param cross_connection_name: The name of the cross connection. - :type cross_connection_name: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - ExpressRouteCrossConnection or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.ExpressRouteCrossConnection] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.ExpressRouteCrossConnection]] - :raises: :class:`CloudError` - """ - raw_result = self._update_tags_initial( - resource_group_name=resource_group_name, - cross_connection_name=cross_connection_name, - tags=tags, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ExpressRouteCrossConnection', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}'} - - - def _list_arp_table_initial( - self, resource_group_name, cross_connection_name, peering_name, device_path, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.list_arp_table.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'crossConnectionName': self._serialize.url("cross_connection_name", cross_connection_name, 'str'), - 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), - 'devicePath': self._serialize.url("device_path", device_path, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - 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('ExpressRouteCircuitsArpTableListResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def list_arp_table( - self, resource_group_name, cross_connection_name, peering_name, device_path, custom_headers=None, raw=False, polling=True, **operation_config): - """Gets the currently advertised ARP table associated with the express - route cross connection in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param cross_connection_name: The name of the - ExpressRouteCrossConnection. - :type cross_connection_name: str - :param peering_name: The name of the peering. - :type peering_name: str - :param device_path: The path of the device. - :type device_path: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - ExpressRouteCircuitsArpTableListResult or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.ExpressRouteCircuitsArpTableListResult] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.ExpressRouteCircuitsArpTableListResult]] - :raises: :class:`CloudError` - """ - raw_result = self._list_arp_table_initial( - resource_group_name=resource_group_name, - cross_connection_name=cross_connection_name, - peering_name=peering_name, - device_path=device_path, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ExpressRouteCircuitsArpTableListResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - list_arp_table.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}/arpTables/{devicePath}'} - - - def _list_routes_table_summary_initial( - self, resource_group_name, cross_connection_name, peering_name, device_path, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.list_routes_table_summary.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'crossConnectionName': self._serialize.url("cross_connection_name", cross_connection_name, 'str'), - 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), - 'devicePath': self._serialize.url("device_path", device_path, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - 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('ExpressRouteCrossConnectionsRoutesTableSummaryListResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def list_routes_table_summary( - self, resource_group_name, cross_connection_name, peering_name, device_path, custom_headers=None, raw=False, polling=True, **operation_config): - """Gets the route table summary associated with the express route cross - connection in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param cross_connection_name: The name of the - ExpressRouteCrossConnection. - :type cross_connection_name: str - :param peering_name: The name of the peering. - :type peering_name: str - :param device_path: The path of the device. - :type device_path: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - ExpressRouteCrossConnectionsRoutesTableSummaryListResult or - ClientRawResponse - if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.ExpressRouteCrossConnectionsRoutesTableSummaryListResult] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.ExpressRouteCrossConnectionsRoutesTableSummaryListResult]] - :raises: :class:`CloudError` - """ - raw_result = self._list_routes_table_summary_initial( - resource_group_name=resource_group_name, - cross_connection_name=cross_connection_name, - peering_name=peering_name, - device_path=device_path, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ExpressRouteCrossConnectionsRoutesTableSummaryListResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - list_routes_table_summary.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}/routeTablesSummary/{devicePath}'} - - - def _list_routes_table_initial( - self, resource_group_name, cross_connection_name, peering_name, device_path, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.list_routes_table.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'crossConnectionName': self._serialize.url("cross_connection_name", cross_connection_name, 'str'), - 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), - 'devicePath': self._serialize.url("device_path", device_path, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - 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('ExpressRouteCircuitsRoutesTableListResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def list_routes_table( - self, resource_group_name, cross_connection_name, peering_name, device_path, custom_headers=None, raw=False, polling=True, **operation_config): - """Gets the currently advertised routes table associated with the express - route cross connection in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param cross_connection_name: The name of the - ExpressRouteCrossConnection. - :type cross_connection_name: str - :param peering_name: The name of the peering. - :type peering_name: str - :param device_path: The path of the device. - :type device_path: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - ExpressRouteCircuitsRoutesTableListResult or - ClientRawResponse if - raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.ExpressRouteCircuitsRoutesTableListResult] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.ExpressRouteCircuitsRoutesTableListResult]] - :raises: :class:`CloudError` - """ - raw_result = self._list_routes_table_initial( - resource_group_name=resource_group_name, - cross_connection_name=cross_connection_name, - peering_name=peering_name, - device_path=device_path, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ExpressRouteCircuitsRoutesTableListResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - list_routes_table.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}/routeTables/{devicePath}'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_express_route_gateways_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_express_route_gateways_operations.py deleted file mode 100644 index d38d01dbc65..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_express_route_gateways_operations.py +++ /dev/null @@ -1,405 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class ExpressRouteGatewaysOperations(object): - """ExpressRouteGatewaysOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01" - - self.config = config - - def list_by_subscription( - self, custom_headers=None, raw=False, **operation_config): - """Lists ExpressRoute gateways under a given subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ExpressRouteGatewayList or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_09_01.models.ExpressRouteGatewayList - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.list_by_subscription.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ExpressRouteGatewayList', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - list_by_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/expressRouteGateways'} - - def list_by_resource_group( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Lists ExpressRoute gateways in a given resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ExpressRouteGatewayList or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_09_01.models.ExpressRouteGatewayList - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.list_by_resource_group.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ExpressRouteGatewayList', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteGateways'} - - - def _create_or_update_initial( - self, resource_group_name, express_route_gateway_name, put_express_route_gateway_parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'expressRouteGatewayName': self._serialize.url("express_route_gateway_name", express_route_gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(put_express_route_gateway_parameters, 'ExpressRouteGateway') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('ExpressRouteGateway', response) - if response.status_code == 201: - deserialized = self._deserialize('ExpressRouteGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, express_route_gateway_name, put_express_route_gateway_parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates a ExpressRoute gateway in a specified resource - group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param express_route_gateway_name: The name of the ExpressRoute - gateway. - :type express_route_gateway_name: str - :param put_express_route_gateway_parameters: Parameters required in an - ExpressRoute gateway PUT operation. - :type put_express_route_gateway_parameters: - ~azure.mgmt.network.v2019_09_01.models.ExpressRouteGateway - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns ExpressRouteGateway or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.ExpressRouteGateway] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.ExpressRouteGateway]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - express_route_gateway_name=express_route_gateway_name, - put_express_route_gateway_parameters=put_express_route_gateway_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ExpressRouteGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteGateways/{expressRouteGatewayName}'} - - def get( - self, resource_group_name, express_route_gateway_name, custom_headers=None, raw=False, **operation_config): - """Fetches the details of a ExpressRoute gateway in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param express_route_gateway_name: The name of the ExpressRoute - gateway. - :type express_route_gateway_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ExpressRouteGateway or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_09_01.models.ExpressRouteGateway or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'expressRouteGatewayName': self._serialize.url("express_route_gateway_name", express_route_gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ExpressRouteGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteGateways/{expressRouteGatewayName}'} - - - def _delete_initial( - self, resource_group_name, express_route_gateway_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'expressRouteGatewayName': self._serialize.url("express_route_gateway_name", express_route_gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, express_route_gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified ExpressRoute gateway in a resource group. An - ExpressRoute gateway resource can only be deleted when there are no - connection subresources. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param express_route_gateway_name: The name of the ExpressRoute - gateway. - :type express_route_gateway_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - express_route_gateway_name=express_route_gateway_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteGateways/{expressRouteGatewayName}'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_express_route_links_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_express_route_links_operations.py deleted file mode 100644 index 689345f8705..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_express_route_links_operations.py +++ /dev/null @@ -1,179 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError - -from .. import models - - -class ExpressRouteLinksOperations(object): - """ExpressRouteLinksOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01" - - self.config = config - - def get( - self, resource_group_name, express_route_port_name, link_name, custom_headers=None, raw=False, **operation_config): - """Retrieves the specified ExpressRouteLink resource. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param express_route_port_name: The name of the ExpressRoutePort - resource. - :type express_route_port_name: str - :param link_name: The name of the ExpressRouteLink resource. - :type link_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ExpressRouteLink or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_09_01.models.ExpressRouteLink or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'expressRoutePortName': self._serialize.url("express_route_port_name", express_route_port_name, 'str'), - 'linkName': self._serialize.url("link_name", link_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ExpressRouteLink', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ExpressRoutePorts/{expressRoutePortName}/links/{linkName}'} - - def list( - self, resource_group_name, express_route_port_name, custom_headers=None, raw=False, **operation_config): - """Retrieve the ExpressRouteLink sub-resources of the specified - ExpressRoutePort resource. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param express_route_port_name: The name of the ExpressRoutePort - resource. - :type express_route_port_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of ExpressRouteLink - :rtype: - ~azure.mgmt.network.v2019_09_01.models.ExpressRouteLinkPaged[~azure.mgmt.network.v2019_09_01.models.ExpressRouteLink] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'expressRoutePortName': self._serialize.url("express_route_port_name", express_route_port_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.ExpressRouteLinkPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ExpressRoutePorts/{expressRoutePortName}/links'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_express_route_ports_locations_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_express_route_ports_locations_operations.py deleted file mode 100644 index b914b2a1b14..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_express_route_ports_locations_operations.py +++ /dev/null @@ -1,169 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError - -from .. import models - - -class ExpressRoutePortsLocationsOperations(object): - """ExpressRoutePortsLocationsOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01" - - self.config = config - - def list( - self, custom_headers=None, raw=False, **operation_config): - """Retrieves all ExpressRoutePort peering locations. Does not return - available bandwidths for each location. Available bandwidths can only - be obtained when retrieving a specific peering location. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of ExpressRoutePortsLocation - :rtype: - ~azure.mgmt.network.v2019_09_01.models.ExpressRoutePortsLocationPaged[~azure.mgmt.network.v2019_09_01.models.ExpressRoutePortsLocation] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.ExpressRoutePortsLocationPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/ExpressRoutePortsLocations'} - - def get( - self, location_name, custom_headers=None, raw=False, **operation_config): - """Retrieves a single ExpressRoutePort peering location, including the - list of available bandwidths available at said peering location. - - :param location_name: Name of the requested ExpressRoutePort peering - location. - :type location_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ExpressRoutePortsLocation or ClientRawResponse if raw=true - :rtype: - ~azure.mgmt.network.v2019_09_01.models.ExpressRoutePortsLocation or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'locationName': self._serialize.url("location_name", location_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ExpressRoutePortsLocation', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/ExpressRoutePortsLocations/{locationName}'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_express_route_ports_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_express_route_ports_operations.py deleted file mode 100644 index 96b19df68d1..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_express_route_ports_operations.py +++ /dev/null @@ -1,527 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class ExpressRoutePortsOperations(object): - """ExpressRoutePortsOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, express_route_port_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'expressRoutePortName': self._serialize.url("express_route_port_name", express_route_port_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, express_route_port_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified ExpressRoutePort resource. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param express_route_port_name: The name of the ExpressRoutePort - resource. - :type express_route_port_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - express_route_port_name=express_route_port_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ExpressRoutePorts/{expressRoutePortName}'} - - def get( - self, resource_group_name, express_route_port_name, custom_headers=None, raw=False, **operation_config): - """Retrieves the requested ExpressRoutePort resource. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param express_route_port_name: The name of ExpressRoutePort. - :type express_route_port_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ExpressRoutePort or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_09_01.models.ExpressRoutePort or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'expressRoutePortName': self._serialize.url("express_route_port_name", express_route_port_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ExpressRoutePort', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ExpressRoutePorts/{expressRoutePortName}'} - - - def _create_or_update_initial( - self, resource_group_name, express_route_port_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'expressRoutePortName': self._serialize.url("express_route_port_name", express_route_port_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'ExpressRoutePort') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('ExpressRoutePort', response) - if response.status_code == 201: - deserialized = self._deserialize('ExpressRoutePort', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, express_route_port_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates the specified ExpressRoutePort resource. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param express_route_port_name: The name of the ExpressRoutePort - resource. - :type express_route_port_name: str - :param parameters: Parameters supplied to the create ExpressRoutePort - operation. - :type parameters: - ~azure.mgmt.network.v2019_09_01.models.ExpressRoutePort - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns ExpressRoutePort or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.ExpressRoutePort] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.ExpressRoutePort]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - express_route_port_name=express_route_port_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ExpressRoutePort', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ExpressRoutePorts/{expressRoutePortName}'} - - - def _update_tags_initial( - self, resource_group_name, express_route_port_name, tags=None, custom_headers=None, raw=False, **operation_config): - parameters = models.TagsObject(tags=tags) - - # Construct URL - url = self.update_tags.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'expressRoutePortName': self._serialize.url("express_route_port_name", express_route_port_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'TagsObject') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ExpressRoutePort', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def update_tags( - self, resource_group_name, express_route_port_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Update ExpressRoutePort tags. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param express_route_port_name: The name of the ExpressRoutePort - resource. - :type express_route_port_name: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns ExpressRoutePort or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.ExpressRoutePort] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.ExpressRoutePort]] - :raises: :class:`CloudError` - """ - raw_result = self._update_tags_initial( - resource_group_name=resource_group_name, - express_route_port_name=express_route_port_name, - tags=tags, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ExpressRoutePort', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ExpressRoutePorts/{expressRoutePortName}'} - - def list_by_resource_group( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """List all the ExpressRoutePort resources in the specified resource - group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of ExpressRoutePort - :rtype: - ~azure.mgmt.network.v2019_09_01.models.ExpressRoutePortPaged[~azure.mgmt.network.v2019_09_01.models.ExpressRoutePort] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_by_resource_group.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.ExpressRoutePortPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ExpressRoutePorts'} - - def list( - self, custom_headers=None, raw=False, **operation_config): - """List all the ExpressRoutePort resources in the specified subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of ExpressRoutePort - :rtype: - ~azure.mgmt.network.v2019_09_01.models.ExpressRoutePortPaged[~azure.mgmt.network.v2019_09_01.models.ExpressRoutePort] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.ExpressRoutePortPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/ExpressRoutePorts'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_express_route_service_providers_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_express_route_service_providers_operations.py deleted file mode 100644 index 8ce77c9eb1e..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_express_route_service_providers_operations.py +++ /dev/null @@ -1,106 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError - -from .. import models - - -class ExpressRouteServiceProvidersOperations(object): - """ExpressRouteServiceProvidersOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01" - - self.config = config - - def list( - self, custom_headers=None, raw=False, **operation_config): - """Gets all the available express route service providers. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of ExpressRouteServiceProvider - :rtype: - ~azure.mgmt.network.v2019_09_01.models.ExpressRouteServiceProviderPaged[~azure.mgmt.network.v2019_09_01.models.ExpressRouteServiceProvider] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.ExpressRouteServiceProviderPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/expressRouteServiceProviders'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_firewall_policies_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_firewall_policies_operations.py deleted file mode 100644 index d244b5ec412..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_firewall_policies_operations.py +++ /dev/null @@ -1,495 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class FirewallPoliciesOperations(object): - """FirewallPoliciesOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, firewall_policy_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'firewallPolicyName': self._serialize.url("firewall_policy_name", firewall_policy_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, firewall_policy_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified Firewall Policy. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param firewall_policy_name: The name of the Firewall Policy. - :type firewall_policy_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - firewall_policy_name=firewall_policy_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies/{firewallPolicyName}'} - - def get( - self, resource_group_name, firewall_policy_name, expand=None, custom_headers=None, raw=False, **operation_config): - """Gets the specified Firewall Policy. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param firewall_policy_name: The name of the Firewall Policy. - :type firewall_policy_name: str - :param expand: Expands referenced resources. - :type expand: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: FirewallPolicy or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_09_01.models.FirewallPolicy or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'firewallPolicyName': self._serialize.url("firewall_policy_name", firewall_policy_name, 'str'), - '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.api_version", self.api_version, 'str') - if expand is not None: - query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('FirewallPolicy', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies/{firewallPolicyName}'} - - def update_tags( - self, resource_group_name, firewall_policy_name, tags=None, custom_headers=None, raw=False, **operation_config): - """Updates a Firewall Policy Tags. - - :param resource_group_name: The resource group name of the Firewall - Policy. - :type resource_group_name: str - :param firewall_policy_name: The name of the Firewall Policy being - updated. - :type firewall_policy_name: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: FirewallPolicy or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_09_01.models.FirewallPolicy or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorException` - """ - firewall_policy_parameters = models.TagsObject(tags=tags) - - # Construct URL - url = self.update_tags.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'firewallPolicyName': self._serialize.url("firewall_policy_name", firewall_policy_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(firewall_policy_parameters, 'TagsObject') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorException(self._deserialize, response) - - deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('FirewallPolicy', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies/{firewallPolicyName}'} - - - def _create_or_update_initial( - self, resource_group_name, firewall_policy_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'firewallPolicyName': self._serialize.url("firewall_policy_name", firewall_policy_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'FirewallPolicy') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('FirewallPolicy', response) - if response.status_code == 201: - deserialized = self._deserialize('FirewallPolicy', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, firewall_policy_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates the specified Firewall Policy. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param firewall_policy_name: The name of the Firewall Policy. - :type firewall_policy_name: str - :param parameters: Parameters supplied to the create or update - Firewall Policy operation. - :type parameters: - ~azure.mgmt.network.v2019_09_01.models.FirewallPolicy - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns FirewallPolicy or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.FirewallPolicy] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.FirewallPolicy]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - firewall_policy_name=firewall_policy_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('FirewallPolicy', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies/{firewallPolicyName}'} - - def list( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Lists all Firewall Policies in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of FirewallPolicy - :rtype: - ~azure.mgmt.network.v2019_09_01.models.FirewallPolicyPaged[~azure.mgmt.network.v2019_09_01.models.FirewallPolicy] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.FirewallPolicyPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies'} - - def list_all( - self, custom_headers=None, raw=False, **operation_config): - """Gets all the Firewall Policies in a subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of FirewallPolicy - :rtype: - ~azure.mgmt.network.v2019_09_01.models.FirewallPolicyPaged[~azure.mgmt.network.v2019_09_01.models.FirewallPolicy] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_all.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.FirewallPolicyPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/firewallPolicies'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_firewall_policy_rule_groups_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_firewall_policy_rule_groups_operations.py deleted file mode 100644 index ba0df7f216a..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_firewall_policy_rule_groups_operations.py +++ /dev/null @@ -1,369 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class FirewallPolicyRuleGroupsOperations(object): - """FirewallPolicyRuleGroupsOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, firewall_policy_name, rule_group_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'firewallPolicyName': self._serialize.url("firewall_policy_name", firewall_policy_name, 'str'), - 'ruleGroupName': self._serialize.url("rule_group_name", rule_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, firewall_policy_name, rule_group_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified FirewallPolicyRuleGroup. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param firewall_policy_name: The name of the Firewall Policy. - :type firewall_policy_name: str - :param rule_group_name: The name of the FirewallPolicyRuleGroup. - :type rule_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - firewall_policy_name=firewall_policy_name, - rule_group_name=rule_group_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies/{firewallPolicyName}/ruleGroups/{ruleGroupName}'} - - def get( - self, resource_group_name, firewall_policy_name, rule_group_name, custom_headers=None, raw=False, **operation_config): - """Gets the specified FirewallPolicyRuleGroup. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param firewall_policy_name: The name of the Firewall Policy. - :type firewall_policy_name: str - :param rule_group_name: The name of the FirewallPolicyRuleGroup. - :type rule_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: FirewallPolicyRuleGroup or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_09_01.models.FirewallPolicyRuleGroup - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'firewallPolicyName': self._serialize.url("firewall_policy_name", firewall_policy_name, 'str'), - 'ruleGroupName': self._serialize.url("rule_group_name", rule_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('FirewallPolicyRuleGroup', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies/{firewallPolicyName}/ruleGroups/{ruleGroupName}'} - - - def _create_or_update_initial( - self, resource_group_name, firewall_policy_name, rule_group_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'firewallPolicyName': self._serialize.url("firewall_policy_name", firewall_policy_name, 'str'), - 'ruleGroupName': self._serialize.url("rule_group_name", rule_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'FirewallPolicyRuleGroup') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('FirewallPolicyRuleGroup', response) - if response.status_code == 201: - deserialized = self._deserialize('FirewallPolicyRuleGroup', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, firewall_policy_name, rule_group_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates the specified FirewallPolicyRuleGroup. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param firewall_policy_name: The name of the Firewall Policy. - :type firewall_policy_name: str - :param rule_group_name: The name of the FirewallPolicyRuleGroup. - :type rule_group_name: str - :param parameters: Parameters supplied to the create or update - FirewallPolicyRuleGroup operation. - :type parameters: - ~azure.mgmt.network.v2019_09_01.models.FirewallPolicyRuleGroup - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns FirewallPolicyRuleGroup - or ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.FirewallPolicyRuleGroup] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.FirewallPolicyRuleGroup]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - firewall_policy_name=firewall_policy_name, - rule_group_name=rule_group_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('FirewallPolicyRuleGroup', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies/{firewallPolicyName}/ruleGroups/{ruleGroupName}'} - - def list( - self, resource_group_name, firewall_policy_name, custom_headers=None, raw=False, **operation_config): - """Lists all FirewallPolicyRuleGroups in a FirewallPolicy resource. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param firewall_policy_name: The name of the Firewall Policy. - :type firewall_policy_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of FirewallPolicyRuleGroup - :rtype: - ~azure.mgmt.network.v2019_09_01.models.FirewallPolicyRuleGroupPaged[~azure.mgmt.network.v2019_09_01.models.FirewallPolicyRuleGroup] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'firewallPolicyName': self._serialize.url("firewall_policy_name", firewall_policy_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.FirewallPolicyRuleGroupPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies/{firewallPolicyName}/ruleGroups'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_hub_virtual_network_connections_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_hub_virtual_network_connections_operations.py deleted file mode 100644 index 78b9fbbc4e3..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_hub_virtual_network_connections_operations.py +++ /dev/null @@ -1,177 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError - -from .. import models - - -class HubVirtualNetworkConnectionsOperations(object): - """HubVirtualNetworkConnectionsOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01" - - self.config = config - - def get( - self, resource_group_name, virtual_hub_name, connection_name, custom_headers=None, raw=False, **operation_config): - """Retrieves the details of a HubVirtualNetworkConnection. - - :param resource_group_name: The resource group name of the VirtualHub. - :type resource_group_name: str - :param virtual_hub_name: The name of the VirtualHub. - :type virtual_hub_name: str - :param connection_name: The name of the vpn connection. - :type connection_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: HubVirtualNetworkConnection or ClientRawResponse if raw=true - :rtype: - ~azure.mgmt.network.v2019_09_01.models.HubVirtualNetworkConnection or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualHubName': self._serialize.url("virtual_hub_name", virtual_hub_name, 'str'), - 'connectionName': self._serialize.url("connection_name", connection_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('HubVirtualNetworkConnection', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}/hubVirtualNetworkConnections/{connectionName}'} - - def list( - self, resource_group_name, virtual_hub_name, custom_headers=None, raw=False, **operation_config): - """Retrieves the details of all HubVirtualNetworkConnections. - - :param resource_group_name: The resource group name of the VirtualHub. - :type resource_group_name: str - :param virtual_hub_name: The name of the VirtualHub. - :type virtual_hub_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of HubVirtualNetworkConnection - :rtype: - ~azure.mgmt.network.v2019_09_01.models.HubVirtualNetworkConnectionPaged[~azure.mgmt.network.v2019_09_01.models.HubVirtualNetworkConnection] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualHubName': self._serialize.url("virtual_hub_name", virtual_hub_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.HubVirtualNetworkConnectionPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}/hubVirtualNetworkConnections'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_inbound_nat_rules_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_inbound_nat_rules_operations.py deleted file mode 100644 index 6e9b750e2a5..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_inbound_nat_rules_operations.py +++ /dev/null @@ -1,373 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class InboundNatRulesOperations(object): - """InboundNatRulesOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01" - - self.config = config - - def list( - self, resource_group_name, load_balancer_name, custom_headers=None, raw=False, **operation_config): - """Gets all the inbound nat rules in a load balancer. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param load_balancer_name: The name of the load balancer. - :type load_balancer_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of InboundNatRule - :rtype: - ~azure.mgmt.network.v2019_09_01.models.InboundNatRulePaged[~azure.mgmt.network.v2019_09_01.models.InboundNatRule] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.InboundNatRulePaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/inboundNatRules'} - - - def _delete_initial( - self, resource_group_name, load_balancer_name, inbound_nat_rule_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), - 'inboundNatRuleName': self._serialize.url("inbound_nat_rule_name", inbound_nat_rule_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, load_balancer_name, inbound_nat_rule_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified load balancer inbound nat rule. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param load_balancer_name: The name of the load balancer. - :type load_balancer_name: str - :param inbound_nat_rule_name: The name of the inbound nat rule. - :type inbound_nat_rule_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - load_balancer_name=load_balancer_name, - inbound_nat_rule_name=inbound_nat_rule_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/inboundNatRules/{inboundNatRuleName}'} - - def get( - self, resource_group_name, load_balancer_name, inbound_nat_rule_name, expand=None, custom_headers=None, raw=False, **operation_config): - """Gets the specified load balancer inbound nat rule. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param load_balancer_name: The name of the load balancer. - :type load_balancer_name: str - :param inbound_nat_rule_name: The name of the inbound nat rule. - :type inbound_nat_rule_name: str - :param expand: Expands referenced resources. - :type expand: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: InboundNatRule or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_09_01.models.InboundNatRule or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), - 'inboundNatRuleName': self._serialize.url("inbound_nat_rule_name", inbound_nat_rule_name, 'str'), - '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.api_version", self.api_version, 'str') - if expand is not None: - query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('InboundNatRule', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/inboundNatRules/{inboundNatRuleName}'} - - - def _create_or_update_initial( - self, resource_group_name, load_balancer_name, inbound_nat_rule_name, inbound_nat_rule_parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), - 'inboundNatRuleName': self._serialize.url("inbound_nat_rule_name", inbound_nat_rule_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(inbound_nat_rule_parameters, 'InboundNatRule') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('InboundNatRule', response) - if response.status_code == 201: - deserialized = self._deserialize('InboundNatRule', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, load_balancer_name, inbound_nat_rule_name, inbound_nat_rule_parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates a load balancer inbound nat rule. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param load_balancer_name: The name of the load balancer. - :type load_balancer_name: str - :param inbound_nat_rule_name: The name of the inbound nat rule. - :type inbound_nat_rule_name: str - :param inbound_nat_rule_parameters: Parameters supplied to the create - or update inbound nat rule operation. - :type inbound_nat_rule_parameters: - ~azure.mgmt.network.v2019_09_01.models.InboundNatRule - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns InboundNatRule or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.InboundNatRule] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.InboundNatRule]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - load_balancer_name=load_balancer_name, - inbound_nat_rule_name=inbound_nat_rule_name, - inbound_nat_rule_parameters=inbound_nat_rule_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('InboundNatRule', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/inboundNatRules/{inboundNatRuleName}'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_ip_groups_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_ip_groups_operations.py deleted file mode 100644 index a03d9bd5d6d..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_ip_groups_operations.py +++ /dev/null @@ -1,487 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class IpGroupsOperations(object): - """IpGroupsOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01" - - self.config = config - - def get( - self, resource_group_name, ip_groups_name, expand=None, custom_headers=None, raw=False, **operation_config): - """Gets the specified ipGroups. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param ip_groups_name: The name of the ipGroups. - :type ip_groups_name: str - :param expand: Expands resourceIds (of Firewalls/Network Security - Groups etc.) back referenced by the IpGroups resource. - :type expand: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: IpGroup or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_09_01.models.IpGroup or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorException` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'ipGroupsName': self._serialize.url("ip_groups_name", ip_groups_name, 'str'), - '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.api_version", self.api_version, 'str') - if expand is not None: - query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorException(self._deserialize, response) - - deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('IpGroup', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ipGroups/{ipGroupsName}'} - - - def _create_or_update_initial( - self, resource_group_name, ip_groups_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'ipGroupsName': self._serialize.url("ip_groups_name", ip_groups_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'IpGroup') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 201]: - raise models.ErrorException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('IpGroup', response) - if response.status_code == 201: - deserialized = self._deserialize('IpGroup', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, ip_groups_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates an ipGroups in a specified resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param ip_groups_name: The name of the ipGroups. - :type ip_groups_name: str - :param parameters: Parameters supplied to the create or update - IpGroups operation. - :type parameters: ~azure.mgmt.network.v2019_09_01.models.IpGroup - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns IpGroup or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.IpGroup] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.IpGroup]] - :raises: - :class:`ErrorException` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - ip_groups_name=ip_groups_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('IpGroup', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ipGroups/{ipGroupsName}'} - - def update_groups( - self, resource_group_name, ip_groups_name, tags=None, custom_headers=None, raw=False, **operation_config): - """Updates an IpGroups. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param ip_groups_name: The name of the ipGroups. - :type ip_groups_name: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: IpGroup or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_09_01.models.IpGroup or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorException` - """ - parameters = models.TagsObject(tags=tags) - - # Construct URL - url = self.update_groups.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'ipGroupsName': self._serialize.url("ip_groups_name", ip_groups_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'TagsObject') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorException(self._deserialize, response) - - deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('IpGroup', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - update_groups.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ipGroups/{ipGroupsName}'} - - - def _delete_initial( - self, resource_group_name, ip_groups_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'ipGroupsName': self._serialize.url("ip_groups_name", ip_groups_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - raise models.ErrorException(self._deserialize, response) - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, ip_groups_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified ipGroups. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param ip_groups_name: The name of the ipGroups. - :type ip_groups_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: - :class:`ErrorException` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - ip_groups_name=ip_groups_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ipGroups/{ipGroupsName}'} - - def list_by_resource_group( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Gets all IpGroups in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of IpGroup - :rtype: - ~azure.mgmt.network.v2019_09_01.models.IpGroupPaged[~azure.mgmt.network.v2019_09_01.models.IpGroup] - :raises: - :class:`ErrorException` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_by_resource_group.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorException(self._deserialize, response) - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.IpGroupPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ipGroups'} - - def list( - self, custom_headers=None, raw=False, **operation_config): - """Gets all IpGroups in a subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of IpGroup - :rtype: - ~azure.mgmt.network.v2019_09_01.models.IpGroupPaged[~azure.mgmt.network.v2019_09_01.models.IpGroup] - :raises: - :class:`ErrorException` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorException(self._deserialize, response) - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.IpGroupPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/ipGroups'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_load_balancer_backend_address_pools_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_load_balancer_backend_address_pools_operations.py deleted file mode 100644 index 7bced9b2e70..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_load_balancer_backend_address_pools_operations.py +++ /dev/null @@ -1,177 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError - -from .. import models - - -class LoadBalancerBackendAddressPoolsOperations(object): - """LoadBalancerBackendAddressPoolsOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01" - - self.config = config - - def list( - self, resource_group_name, load_balancer_name, custom_headers=None, raw=False, **operation_config): - """Gets all the load balancer backed address pools. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param load_balancer_name: The name of the load balancer. - :type load_balancer_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of BackendAddressPool - :rtype: - ~azure.mgmt.network.v2019_09_01.models.BackendAddressPoolPaged[~azure.mgmt.network.v2019_09_01.models.BackendAddressPool] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.BackendAddressPoolPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/backendAddressPools'} - - def get( - self, resource_group_name, load_balancer_name, backend_address_pool_name, custom_headers=None, raw=False, **operation_config): - """Gets load balancer backend address pool. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param load_balancer_name: The name of the load balancer. - :type load_balancer_name: str - :param backend_address_pool_name: The name of the backend address - pool. - :type backend_address_pool_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: BackendAddressPool or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_09_01.models.BackendAddressPool or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), - 'backendAddressPoolName': self._serialize.url("backend_address_pool_name", backend_address_pool_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('BackendAddressPool', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/backendAddressPools/{backendAddressPoolName}'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_load_balancer_frontend_ip_configurations_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_load_balancer_frontend_ip_configurations_operations.py deleted file mode 100644 index 90aa9aca7ef..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_load_balancer_frontend_ip_configurations_operations.py +++ /dev/null @@ -1,177 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError - -from .. import models - - -class LoadBalancerFrontendIPConfigurationsOperations(object): - """LoadBalancerFrontendIPConfigurationsOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01" - - self.config = config - - def list( - self, resource_group_name, load_balancer_name, custom_headers=None, raw=False, **operation_config): - """Gets all the load balancer frontend IP configurations. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param load_balancer_name: The name of the load balancer. - :type load_balancer_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of FrontendIPConfiguration - :rtype: - ~azure.mgmt.network.v2019_09_01.models.FrontendIPConfigurationPaged[~azure.mgmt.network.v2019_09_01.models.FrontendIPConfiguration] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.FrontendIPConfigurationPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/frontendIPConfigurations'} - - def get( - self, resource_group_name, load_balancer_name, frontend_ip_configuration_name, custom_headers=None, raw=False, **operation_config): - """Gets load balancer frontend IP configuration. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param load_balancer_name: The name of the load balancer. - :type load_balancer_name: str - :param frontend_ip_configuration_name: The name of the frontend IP - configuration. - :type frontend_ip_configuration_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: FrontendIPConfiguration or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_09_01.models.FrontendIPConfiguration - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), - 'frontendIPConfigurationName': self._serialize.url("frontend_ip_configuration_name", frontend_ip_configuration_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('FrontendIPConfiguration', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/frontendIPConfigurations/{frontendIPConfigurationName}'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_load_balancer_load_balancing_rules_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_load_balancer_load_balancing_rules_operations.py deleted file mode 100644 index d2b8cb70d5c..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_load_balancer_load_balancing_rules_operations.py +++ /dev/null @@ -1,176 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError - -from .. import models - - -class LoadBalancerLoadBalancingRulesOperations(object): - """LoadBalancerLoadBalancingRulesOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01" - - self.config = config - - def list( - self, resource_group_name, load_balancer_name, custom_headers=None, raw=False, **operation_config): - """Gets all the load balancing rules in a load balancer. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param load_balancer_name: The name of the load balancer. - :type load_balancer_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of LoadBalancingRule - :rtype: - ~azure.mgmt.network.v2019_09_01.models.LoadBalancingRulePaged[~azure.mgmt.network.v2019_09_01.models.LoadBalancingRule] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.LoadBalancingRulePaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/loadBalancingRules'} - - def get( - self, resource_group_name, load_balancer_name, load_balancing_rule_name, custom_headers=None, raw=False, **operation_config): - """Gets the specified load balancer load balancing rule. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param load_balancer_name: The name of the load balancer. - :type load_balancer_name: str - :param load_balancing_rule_name: The name of the load balancing rule. - :type load_balancing_rule_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: LoadBalancingRule or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_09_01.models.LoadBalancingRule or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), - 'loadBalancingRuleName': self._serialize.url("load_balancing_rule_name", load_balancing_rule_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('LoadBalancingRule', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/loadBalancingRules/{loadBalancingRuleName}'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_load_balancer_network_interfaces_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_load_balancer_network_interfaces_operations.py deleted file mode 100644 index 1016df6cc2c..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_load_balancer_network_interfaces_operations.py +++ /dev/null @@ -1,112 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError - -from .. import models - - -class LoadBalancerNetworkInterfacesOperations(object): - """LoadBalancerNetworkInterfacesOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01" - - self.config = config - - def list( - self, resource_group_name, load_balancer_name, custom_headers=None, raw=False, **operation_config): - """Gets associated load balancer network interfaces. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param load_balancer_name: The name of the load balancer. - :type load_balancer_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of NetworkInterface - :rtype: - ~azure.mgmt.network.v2019_09_01.models.NetworkInterfacePaged[~azure.mgmt.network.v2019_09_01.models.NetworkInterface] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.NetworkInterfacePaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/networkInterfaces'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_load_balancer_outbound_rules_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_load_balancer_outbound_rules_operations.py deleted file mode 100644 index f276af95cb0..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_load_balancer_outbound_rules_operations.py +++ /dev/null @@ -1,176 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError - -from .. import models - - -class LoadBalancerOutboundRulesOperations(object): - """LoadBalancerOutboundRulesOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01" - - self.config = config - - def list( - self, resource_group_name, load_balancer_name, custom_headers=None, raw=False, **operation_config): - """Gets all the outbound rules in a load balancer. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param load_balancer_name: The name of the load balancer. - :type load_balancer_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of OutboundRule - :rtype: - ~azure.mgmt.network.v2019_09_01.models.OutboundRulePaged[~azure.mgmt.network.v2019_09_01.models.OutboundRule] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.OutboundRulePaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/outboundRules'} - - def get( - self, resource_group_name, load_balancer_name, outbound_rule_name, custom_headers=None, raw=False, **operation_config): - """Gets the specified load balancer outbound rule. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param load_balancer_name: The name of the load balancer. - :type load_balancer_name: str - :param outbound_rule_name: The name of the outbound rule. - :type outbound_rule_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: OutboundRule or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_09_01.models.OutboundRule or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), - 'outboundRuleName': self._serialize.url("outbound_rule_name", outbound_rule_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('OutboundRule', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/outboundRules/{outboundRuleName}'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_load_balancer_probes_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_load_balancer_probes_operations.py deleted file mode 100644 index 88a1b975454..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_load_balancer_probes_operations.py +++ /dev/null @@ -1,176 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError - -from .. import models - - -class LoadBalancerProbesOperations(object): - """LoadBalancerProbesOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01" - - self.config = config - - def list( - self, resource_group_name, load_balancer_name, custom_headers=None, raw=False, **operation_config): - """Gets all the load balancer probes. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param load_balancer_name: The name of the load balancer. - :type load_balancer_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of Probe - :rtype: - ~azure.mgmt.network.v2019_09_01.models.ProbePaged[~azure.mgmt.network.v2019_09_01.models.Probe] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.ProbePaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes'} - - def get( - self, resource_group_name, load_balancer_name, probe_name, custom_headers=None, raw=False, **operation_config): - """Gets load balancer probe. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param load_balancer_name: The name of the load balancer. - :type load_balancer_name: str - :param probe_name: The name of the probe. - :type probe_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: Probe or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_09_01.models.Probe or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), - 'probeName': self._serialize.url("probe_name", probe_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('Probe', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes/{probeName}'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_load_balancers_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_load_balancers_operations.py deleted file mode 100644 index 5aa86e10fd3..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_load_balancers_operations.py +++ /dev/null @@ -1,526 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class LoadBalancersOperations(object): - """LoadBalancersOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, load_balancer_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, load_balancer_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified load balancer. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param load_balancer_name: The name of the load balancer. - :type load_balancer_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - load_balancer_name=load_balancer_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}'} - - def get( - self, resource_group_name, load_balancer_name, expand=None, custom_headers=None, raw=False, **operation_config): - """Gets the specified load balancer. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param load_balancer_name: The name of the load balancer. - :type load_balancer_name: str - :param expand: Expands referenced resources. - :type expand: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: LoadBalancer or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_09_01.models.LoadBalancer or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), - '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.api_version", self.api_version, 'str') - if expand is not None: - query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('LoadBalancer', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}'} - - - def _create_or_update_initial( - self, resource_group_name, load_balancer_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'LoadBalancer') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('LoadBalancer', response) - if response.status_code == 201: - deserialized = self._deserialize('LoadBalancer', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, load_balancer_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates a load balancer. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param load_balancer_name: The name of the load balancer. - :type load_balancer_name: str - :param parameters: Parameters supplied to the create or update load - balancer operation. - :type parameters: ~azure.mgmt.network.v2019_09_01.models.LoadBalancer - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns LoadBalancer or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.LoadBalancer] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.LoadBalancer]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - load_balancer_name=load_balancer_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('LoadBalancer', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}'} - - - def _update_tags_initial( - self, resource_group_name, load_balancer_name, tags=None, custom_headers=None, raw=False, **operation_config): - parameters = models.TagsObject(tags=tags) - - # Construct URL - url = self.update_tags.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'TagsObject') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('LoadBalancer', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def update_tags( - self, resource_group_name, load_balancer_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Updates a load balancer tags. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param load_balancer_name: The name of the load balancer. - :type load_balancer_name: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns LoadBalancer or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.LoadBalancer] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.LoadBalancer]] - :raises: :class:`CloudError` - """ - raw_result = self._update_tags_initial( - resource_group_name=resource_group_name, - load_balancer_name=load_balancer_name, - tags=tags, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('LoadBalancer', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}'} - - def list_all( - self, custom_headers=None, raw=False, **operation_config): - """Gets all the load balancers in a subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of LoadBalancer - :rtype: - ~azure.mgmt.network.v2019_09_01.models.LoadBalancerPaged[~azure.mgmt.network.v2019_09_01.models.LoadBalancer] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_all.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.LoadBalancerPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/loadBalancers'} - - def list( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Gets all the load balancers in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of LoadBalancer - :rtype: - ~azure.mgmt.network.v2019_09_01.models.LoadBalancerPaged[~azure.mgmt.network.v2019_09_01.models.LoadBalancer] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.LoadBalancerPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_local_network_gateways_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_local_network_gateways_operations.py deleted file mode 100644 index b9052a66126..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_local_network_gateways_operations.py +++ /dev/null @@ -1,462 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class LocalNetworkGatewaysOperations(object): - """LocalNetworkGatewaysOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01" - - self.config = config - - - def _create_or_update_initial( - self, resource_group_name, local_network_gateway_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'localNetworkGatewayName': self._serialize.url("local_network_gateway_name", local_network_gateway_name, 'str', min_length=1), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'LocalNetworkGateway') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('LocalNetworkGateway', response) - if response.status_code == 201: - deserialized = self._deserialize('LocalNetworkGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, local_network_gateway_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates a local network gateway in the specified resource - group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param local_network_gateway_name: The name of the local network - gateway. - :type local_network_gateway_name: str - :param parameters: Parameters supplied to the create or update local - network gateway operation. - :type parameters: - ~azure.mgmt.network.v2019_09_01.models.LocalNetworkGateway - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns LocalNetworkGateway or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.LocalNetworkGateway] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.LocalNetworkGateway]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - local_network_gateway_name=local_network_gateway_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('LocalNetworkGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/localNetworkGateways/{localNetworkGatewayName}'} - - def get( - self, resource_group_name, local_network_gateway_name, custom_headers=None, raw=False, **operation_config): - """Gets the specified local network gateway in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param local_network_gateway_name: The name of the local network - gateway. - :type local_network_gateway_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: LocalNetworkGateway or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_09_01.models.LocalNetworkGateway or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'localNetworkGatewayName': self._serialize.url("local_network_gateway_name", local_network_gateway_name, 'str', min_length=1), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('LocalNetworkGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/localNetworkGateways/{localNetworkGatewayName}'} - - - def _delete_initial( - self, resource_group_name, local_network_gateway_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'localNetworkGatewayName': self._serialize.url("local_network_gateway_name", local_network_gateway_name, 'str', min_length=1), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, local_network_gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified local network gateway. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param local_network_gateway_name: The name of the local network - gateway. - :type local_network_gateway_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - local_network_gateway_name=local_network_gateway_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/localNetworkGateways/{localNetworkGatewayName}'} - - - def _update_tags_initial( - self, resource_group_name, local_network_gateway_name, tags=None, custom_headers=None, raw=False, **operation_config): - parameters = models.TagsObject(tags=tags) - - # Construct URL - url = self.update_tags.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'localNetworkGatewayName': self._serialize.url("local_network_gateway_name", local_network_gateway_name, 'str', min_length=1), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'TagsObject') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('LocalNetworkGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def update_tags( - self, resource_group_name, local_network_gateway_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Updates a local network gateway tags. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param local_network_gateway_name: The name of the local network - gateway. - :type local_network_gateway_name: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns LocalNetworkGateway or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.LocalNetworkGateway] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.LocalNetworkGateway]] - :raises: :class:`CloudError` - """ - raw_result = self._update_tags_initial( - resource_group_name=resource_group_name, - local_network_gateway_name=local_network_gateway_name, - tags=tags, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('LocalNetworkGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/localNetworkGateways/{localNetworkGatewayName}'} - - def list( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Gets all the local network gateways in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of LocalNetworkGateway - :rtype: - ~azure.mgmt.network.v2019_09_01.models.LocalNetworkGatewayPaged[~azure.mgmt.network.v2019_09_01.models.LocalNetworkGateway] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.LocalNetworkGatewayPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/localNetworkGateways'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_nat_gateways_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_nat_gateways_operations.py deleted file mode 100644 index 399ac6e1f22..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_nat_gateways_operations.py +++ /dev/null @@ -1,495 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class NatGatewaysOperations(object): - """NatGatewaysOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, nat_gateway_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'natGatewayName': self._serialize.url("nat_gateway_name", nat_gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, nat_gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified nat gateway. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param nat_gateway_name: The name of the nat gateway. - :type nat_gateway_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - nat_gateway_name=nat_gateway_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/natGateways/{natGatewayName}'} - - def get( - self, resource_group_name, nat_gateway_name, expand=None, custom_headers=None, raw=False, **operation_config): - """Gets the specified nat gateway in a specified resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param nat_gateway_name: The name of the nat gateway. - :type nat_gateway_name: str - :param expand: Expands referenced resources. - :type expand: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: NatGateway or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_09_01.models.NatGateway or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'natGatewayName': self._serialize.url("nat_gateway_name", nat_gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - if expand is not None: - query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('NatGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/natGateways/{natGatewayName}'} - - - def _create_or_update_initial( - self, resource_group_name, nat_gateway_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'natGatewayName': self._serialize.url("nat_gateway_name", nat_gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'NatGateway') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 201, 202]: - 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('NatGateway', response) - if response.status_code == 201: - deserialized = self._deserialize('NatGateway', response) - if response.status_code == 202: - deserialized = self._deserialize('NatGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, nat_gateway_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates a nat gateway. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param nat_gateway_name: The name of the nat gateway. - :type nat_gateway_name: str - :param parameters: Parameters supplied to the create or update nat - gateway operation. - :type parameters: ~azure.mgmt.network.v2019_09_01.models.NatGateway - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns NatGateway or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.NatGateway] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.NatGateway]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - nat_gateway_name=nat_gateway_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('NatGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/natGateways/{natGatewayName}'} - - def update_tags( - self, resource_group_name, nat_gateway_name, tags=None, custom_headers=None, raw=False, **operation_config): - """Updates nat gateway tags. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param nat_gateway_name: The name of the nat gateway. - :type nat_gateway_name: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: NatGateway or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_09_01.models.NatGateway or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - parameters = models.TagsObject(tags=tags) - - # Construct URL - url = self.update_tags.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'natGatewayName': self._serialize.url("nat_gateway_name", nat_gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'TagsObject') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('NatGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/natGateways/{natGatewayName}'} - - def list_all( - self, custom_headers=None, raw=False, **operation_config): - """Gets all the Nat Gateways in a subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of NatGateway - :rtype: - ~azure.mgmt.network.v2019_09_01.models.NatGatewayPaged[~azure.mgmt.network.v2019_09_01.models.NatGateway] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_all.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.NatGatewayPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/natGateways'} - - def list( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Gets all nat gateways in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of NatGateway - :rtype: - ~azure.mgmt.network.v2019_09_01.models.NatGatewayPaged[~azure.mgmt.network.v2019_09_01.models.NatGateway] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.NatGatewayPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/natGateways'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_network_interface_ip_configurations_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_network_interface_ip_configurations_operations.py deleted file mode 100644 index c48fbdb141e..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_network_interface_ip_configurations_operations.py +++ /dev/null @@ -1,178 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError - -from .. import models - - -class NetworkInterfaceIPConfigurationsOperations(object): - """NetworkInterfaceIPConfigurationsOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01" - - self.config = config - - def list( - self, resource_group_name, network_interface_name, custom_headers=None, raw=False, **operation_config): - """Get all ip configurations in a network interface. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_interface_name: The name of the network interface. - :type network_interface_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of NetworkInterfaceIPConfiguration - :rtype: - ~azure.mgmt.network.v2019_09_01.models.NetworkInterfaceIPConfigurationPaged[~azure.mgmt.network.v2019_09_01.models.NetworkInterfaceIPConfiguration] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.NetworkInterfaceIPConfigurationPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/ipConfigurations'} - - def get( - self, resource_group_name, network_interface_name, ip_configuration_name, custom_headers=None, raw=False, **operation_config): - """Gets the specified network interface ip configuration. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_interface_name: The name of the network interface. - :type network_interface_name: str - :param ip_configuration_name: The name of the ip configuration name. - :type ip_configuration_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: NetworkInterfaceIPConfiguration or ClientRawResponse if - raw=true - :rtype: - ~azure.mgmt.network.v2019_09_01.models.NetworkInterfaceIPConfiguration - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), - 'ipConfigurationName': self._serialize.url("ip_configuration_name", ip_configuration_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('NetworkInterfaceIPConfiguration', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/ipConfigurations/{ipConfigurationName}'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_network_interface_load_balancers_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_network_interface_load_balancers_operations.py deleted file mode 100644 index 977d4d287eb..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_network_interface_load_balancers_operations.py +++ /dev/null @@ -1,112 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError - -from .. import models - - -class NetworkInterfaceLoadBalancersOperations(object): - """NetworkInterfaceLoadBalancersOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01" - - self.config = config - - def list( - self, resource_group_name, network_interface_name, custom_headers=None, raw=False, **operation_config): - """List all load balancers in a network interface. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_interface_name: The name of the network interface. - :type network_interface_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of LoadBalancer - :rtype: - ~azure.mgmt.network.v2019_09_01.models.LoadBalancerPaged[~azure.mgmt.network.v2019_09_01.models.LoadBalancer] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.LoadBalancerPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/loadBalancers'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_network_interface_tap_configurations_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_network_interface_tap_configurations_operations.py deleted file mode 100644 index 37f71362222..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_network_interface_tap_configurations_operations.py +++ /dev/null @@ -1,373 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class NetworkInterfaceTapConfigurationsOperations(object): - """NetworkInterfaceTapConfigurationsOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, network_interface_name, tap_configuration_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), - 'tapConfigurationName': self._serialize.url("tap_configuration_name", tap_configuration_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, network_interface_name, tap_configuration_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified tap configuration from the NetworkInterface. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_interface_name: The name of the network interface. - :type network_interface_name: str - :param tap_configuration_name: The name of the tap configuration. - :type tap_configuration_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - network_interface_name=network_interface_name, - tap_configuration_name=tap_configuration_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/tapConfigurations/{tapConfigurationName}'} - - def get( - self, resource_group_name, network_interface_name, tap_configuration_name, custom_headers=None, raw=False, **operation_config): - """Get the specified tap configuration on a network interface. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_interface_name: The name of the network interface. - :type network_interface_name: str - :param tap_configuration_name: The name of the tap configuration. - :type tap_configuration_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: NetworkInterfaceTapConfiguration or ClientRawResponse if - raw=true - :rtype: - ~azure.mgmt.network.v2019_09_01.models.NetworkInterfaceTapConfiguration - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), - 'tapConfigurationName': self._serialize.url("tap_configuration_name", tap_configuration_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('NetworkInterfaceTapConfiguration', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/tapConfigurations/{tapConfigurationName}'} - - - def _create_or_update_initial( - self, resource_group_name, network_interface_name, tap_configuration_name, tap_configuration_parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), - 'tapConfigurationName': self._serialize.url("tap_configuration_name", tap_configuration_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(tap_configuration_parameters, 'NetworkInterfaceTapConfiguration') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('NetworkInterfaceTapConfiguration', response) - if response.status_code == 201: - deserialized = self._deserialize('NetworkInterfaceTapConfiguration', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, network_interface_name, tap_configuration_name, tap_configuration_parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates a Tap configuration in the specified - NetworkInterface. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_interface_name: The name of the network interface. - :type network_interface_name: str - :param tap_configuration_name: The name of the tap configuration. - :type tap_configuration_name: str - :param tap_configuration_parameters: Parameters supplied to the create - or update tap configuration operation. - :type tap_configuration_parameters: - ~azure.mgmt.network.v2019_09_01.models.NetworkInterfaceTapConfiguration - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - NetworkInterfaceTapConfiguration or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.NetworkInterfaceTapConfiguration] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.NetworkInterfaceTapConfiguration]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - network_interface_name=network_interface_name, - tap_configuration_name=tap_configuration_name, - tap_configuration_parameters=tap_configuration_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('NetworkInterfaceTapConfiguration', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/tapConfigurations/{tapConfigurationName}'} - - def list( - self, resource_group_name, network_interface_name, custom_headers=None, raw=False, **operation_config): - """Get all Tap configurations in a network interface. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_interface_name: The name of the network interface. - :type network_interface_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of NetworkInterfaceTapConfiguration - :rtype: - ~azure.mgmt.network.v2019_09_01.models.NetworkInterfaceTapConfigurationPaged[~azure.mgmt.network.v2019_09_01.models.NetworkInterfaceTapConfiguration] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.NetworkInterfaceTapConfigurationPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/tapConfigurations'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_network_interfaces_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_network_interfaces_operations.py deleted file mode 100644 index 74bbcf4065d..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_network_interfaces_operations.py +++ /dev/null @@ -1,1124 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class NetworkInterfacesOperations(object): - """NetworkInterfacesOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - - self.config = config - - - def _delete_initial( - self, resource_group_name, network_interface_name, custom_headers=None, raw=False, **operation_config): - api_version = "2019-09-01" - - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), - '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("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, network_interface_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified network interface. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_interface_name: The name of the network interface. - :type network_interface_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - network_interface_name=network_interface_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}'} - - def get( - self, resource_group_name, network_interface_name, expand=None, custom_headers=None, raw=False, **operation_config): - """Gets information about the specified network interface. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_interface_name: The name of the network interface. - :type network_interface_name: str - :param expand: Expands referenced resources. - :type expand: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: NetworkInterface or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_09_01.models.NetworkInterface or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - api_version = "2019-09-01" - - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), - '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("api_version", api_version, 'str') - if expand is not None: - query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('NetworkInterface', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}'} - - - def _create_or_update_initial( - self, resource_group_name, network_interface_name, parameters, custom_headers=None, raw=False, **operation_config): - api_version = "2019-09-01" - - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), - '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("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'NetworkInterface') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('NetworkInterface', response) - if response.status_code == 201: - deserialized = self._deserialize('NetworkInterface', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, network_interface_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates a network interface. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_interface_name: The name of the network interface. - :type network_interface_name: str - :param parameters: Parameters supplied to the create or update network - interface operation. - :type parameters: - ~azure.mgmt.network.v2019_09_01.models.NetworkInterface - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns NetworkInterface or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.NetworkInterface] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.NetworkInterface]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - network_interface_name=network_interface_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('NetworkInterface', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}'} - - - def _update_tags_initial( - self, resource_group_name, network_interface_name, tags=None, custom_headers=None, raw=False, **operation_config): - parameters = models.TagsObject(tags=tags) - - api_version = "2019-09-01" - - # Construct URL - url = self.update_tags.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), - '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("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'TagsObject') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('NetworkInterface', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def update_tags( - self, resource_group_name, network_interface_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Updates a network interface tags. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_interface_name: The name of the network interface. - :type network_interface_name: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns NetworkInterface or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.NetworkInterface] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.NetworkInterface]] - :raises: :class:`CloudError` - """ - raw_result = self._update_tags_initial( - resource_group_name=resource_group_name, - network_interface_name=network_interface_name, - tags=tags, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('NetworkInterface', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}'} - - def list_all( - self, custom_headers=None, raw=False, **operation_config): - """Gets all network interfaces in a subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of NetworkInterface - :rtype: - ~azure.mgmt.network.v2019_09_01.models.NetworkInterfacePaged[~azure.mgmt.network.v2019_09_01.models.NetworkInterface] - :raises: :class:`CloudError` - """ - api_version = "2019-09-01" - - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_all.metadata['url'] - path_format_arguments = { - '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("api_version", api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.NetworkInterfacePaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkInterfaces'} - - def list( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Gets all network interfaces in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of NetworkInterface - :rtype: - ~azure.mgmt.network.v2019_09_01.models.NetworkInterfacePaged[~azure.mgmt.network.v2019_09_01.models.NetworkInterface] - :raises: :class:`CloudError` - """ - api_version = "2019-09-01" - - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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("api_version", api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.NetworkInterfacePaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces'} - - - def _get_effective_route_table_initial( - self, resource_group_name, network_interface_name, custom_headers=None, raw=False, **operation_config): - api_version = "2019-09-01" - - # Construct URL - url = self.get_effective_route_table.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), - '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("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - 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('EffectiveRouteListResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def get_effective_route_table( - self, resource_group_name, network_interface_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Gets all route tables applied to a network interface. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_interface_name: The name of the network interface. - :type network_interface_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - EffectiveRouteListResult or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.EffectiveRouteListResult] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.EffectiveRouteListResult]] - :raises: :class:`CloudError` - """ - raw_result = self._get_effective_route_table_initial( - resource_group_name=resource_group_name, - network_interface_name=network_interface_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('EffectiveRouteListResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - get_effective_route_table.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/effectiveRouteTable'} - - - def _list_effective_network_security_groups_initial( - self, resource_group_name, network_interface_name, custom_headers=None, raw=False, **operation_config): - api_version = "2019-09-01" - - # Construct URL - url = self.list_effective_network_security_groups.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), - '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("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - 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('EffectiveNetworkSecurityGroupListResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def list_effective_network_security_groups( - self, resource_group_name, network_interface_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Gets all network security groups applied to a network interface. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_interface_name: The name of the network interface. - :type network_interface_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - EffectiveNetworkSecurityGroupListResult or - ClientRawResponse if - raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.EffectiveNetworkSecurityGroupListResult] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.EffectiveNetworkSecurityGroupListResult]] - :raises: :class:`CloudError` - """ - raw_result = self._list_effective_network_security_groups_initial( - resource_group_name=resource_group_name, - network_interface_name=network_interface_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('EffectiveNetworkSecurityGroupListResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - list_effective_network_security_groups.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/effectiveNetworkSecurityGroups'} - - def list_virtual_machine_scale_set_vm_network_interfaces( - self, resource_group_name, virtual_machine_scale_set_name, virtualmachine_index, custom_headers=None, raw=False, **operation_config): - """Gets information about all network interfaces in a virtual machine in a - virtual machine scale set. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_machine_scale_set_name: The name of the virtual machine - scale set. - :type virtual_machine_scale_set_name: str - :param virtualmachine_index: The virtual machine index. - :type virtualmachine_index: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of NetworkInterface - :rtype: - ~azure.mgmt.network.v2019_09_01.models.NetworkInterfacePaged[~azure.mgmt.network.v2019_09_01.models.NetworkInterface] - :raises: :class:`CloudError` - """ - api_version = "2018-10-01" - - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_virtual_machine_scale_set_vm_network_interfaces.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualMachineScaleSetName': self._serialize.url("virtual_machine_scale_set_name", virtual_machine_scale_set_name, 'str'), - 'virtualmachineIndex': self._serialize.url("virtualmachine_index", virtualmachine_index, 'str'), - '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("api_version", api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.NetworkInterfacePaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_virtual_machine_scale_set_vm_network_interfaces.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces'} - - def list_virtual_machine_scale_set_network_interfaces( - self, resource_group_name, virtual_machine_scale_set_name, custom_headers=None, raw=False, **operation_config): - """Gets all network interfaces in a virtual machine scale set. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_machine_scale_set_name: The name of the virtual machine - scale set. - :type virtual_machine_scale_set_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of NetworkInterface - :rtype: - ~azure.mgmt.network.v2019_09_01.models.NetworkInterfacePaged[~azure.mgmt.network.v2019_09_01.models.NetworkInterface] - :raises: :class:`CloudError` - """ - api_version = "2018-10-01" - - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_virtual_machine_scale_set_network_interfaces.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualMachineScaleSetName': self._serialize.url("virtual_machine_scale_set_name", virtual_machine_scale_set_name, 'str'), - '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("api_version", api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.NetworkInterfacePaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_virtual_machine_scale_set_network_interfaces.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/networkInterfaces'} - - def get_virtual_machine_scale_set_network_interface( - self, resource_group_name, virtual_machine_scale_set_name, virtualmachine_index, network_interface_name, expand=None, custom_headers=None, raw=False, **operation_config): - """Get the specified network interface in a virtual machine scale set. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_machine_scale_set_name: The name of the virtual machine - scale set. - :type virtual_machine_scale_set_name: str - :param virtualmachine_index: The virtual machine index. - :type virtualmachine_index: str - :param network_interface_name: The name of the network interface. - :type network_interface_name: str - :param expand: Expands referenced resources. - :type expand: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: NetworkInterface or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_09_01.models.NetworkInterface or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - api_version = "2018-10-01" - - # Construct URL - url = self.get_virtual_machine_scale_set_network_interface.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualMachineScaleSetName': self._serialize.url("virtual_machine_scale_set_name", virtual_machine_scale_set_name, 'str'), - 'virtualmachineIndex': self._serialize.url("virtualmachine_index", virtualmachine_index, 'str'), - 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), - '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("api_version", api_version, 'str') - if expand is not None: - query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('NetworkInterface', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get_virtual_machine_scale_set_network_interface.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}'} - - def list_virtual_machine_scale_set_ip_configurations( - self, resource_group_name, virtual_machine_scale_set_name, virtualmachine_index, network_interface_name, expand=None, custom_headers=None, raw=False, **operation_config): - """Get the specified network interface ip configuration in a virtual - machine scale set. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_machine_scale_set_name: The name of the virtual machine - scale set. - :type virtual_machine_scale_set_name: str - :param virtualmachine_index: The virtual machine index. - :type virtualmachine_index: str - :param network_interface_name: The name of the network interface. - :type network_interface_name: str - :param expand: Expands referenced resources. - :type expand: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of NetworkInterfaceIPConfiguration - :rtype: - ~azure.mgmt.network.v2019_09_01.models.NetworkInterfaceIPConfigurationPaged[~azure.mgmt.network.v2019_09_01.models.NetworkInterfaceIPConfiguration] - :raises: :class:`CloudError` - """ - api_version = "2018-10-01" - - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_virtual_machine_scale_set_ip_configurations.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualMachineScaleSetName': self._serialize.url("virtual_machine_scale_set_name", virtual_machine_scale_set_name, 'str'), - 'virtualmachineIndex': self._serialize.url("virtualmachine_index", virtualmachine_index, 'str'), - 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), - '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("api_version", api_version, 'str') - if expand is not None: - query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.NetworkInterfaceIPConfigurationPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_virtual_machine_scale_set_ip_configurations.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}/ipConfigurations'} - - def get_virtual_machine_scale_set_ip_configuration( - self, resource_group_name, virtual_machine_scale_set_name, virtualmachine_index, network_interface_name, ip_configuration_name, expand=None, custom_headers=None, raw=False, **operation_config): - """Get the specified network interface ip configuration in a virtual - machine scale set. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_machine_scale_set_name: The name of the virtual machine - scale set. - :type virtual_machine_scale_set_name: str - :param virtualmachine_index: The virtual machine index. - :type virtualmachine_index: str - :param network_interface_name: The name of the network interface. - :type network_interface_name: str - :param ip_configuration_name: The name of the ip configuration. - :type ip_configuration_name: str - :param expand: Expands referenced resources. - :type expand: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: NetworkInterfaceIPConfiguration or ClientRawResponse if - raw=true - :rtype: - ~azure.mgmt.network.v2019_09_01.models.NetworkInterfaceIPConfiguration - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - api_version = "2018-10-01" - - # Construct URL - url = self.get_virtual_machine_scale_set_ip_configuration.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualMachineScaleSetName': self._serialize.url("virtual_machine_scale_set_name", virtual_machine_scale_set_name, 'str'), - 'virtualmachineIndex': self._serialize.url("virtualmachine_index", virtualmachine_index, 'str'), - 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), - 'ipConfigurationName': self._serialize.url("ip_configuration_name", ip_configuration_name, 'str'), - '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("api_version", api_version, 'str') - if expand is not None: - query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('NetworkInterfaceIPConfiguration', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get_virtual_machine_scale_set_ip_configuration.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}/ipConfigurations/{ipConfigurationName}'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_network_management_client_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_network_management_client_operations.py deleted file mode 100644 index 0bd380289f5..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_network_management_client_operations.py +++ /dev/null @@ -1,265 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# 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 msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling -from .. import models -import uuid - - -class NetworkManagementClientOperationsMixin(object): - - def check_dns_name_availability( - self, location, domain_name_label, custom_headers=None, raw=False, **operation_config): - """Checks whether a domain name in the cloudapp.azure.com zone is - available for use. - - :param location: The location of the domain name. - :type location: str - :param domain_name_label: The domain name to be verified. It must - conform to the following regular expression: - ^[a-z][a-z0-9-]{1,61}[a-z0-9]$. - :type domain_name_label: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: DnsNameAvailabilityResult or ClientRawResponse if raw=true - :rtype: - ~azure.mgmt.network.v2019_09_01.models.DnsNameAvailabilityResult or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - api_version = "2019-09-01" - - # Construct URL - url = self.check_dns_name_availability.metadata['url'] - path_format_arguments = { - 'location': self._serialize.url("location", location, 'str'), - '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['domainNameLabel'] = self._serialize.query("domain_name_label", domain_name_label, 'str') - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('DnsNameAvailabilityResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - check_dns_name_availability.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/CheckDnsNameAvailability'} - - def supported_security_providers( - self, resource_group_name, virtual_wan_name, custom_headers=None, raw=False, **operation_config): - """Gives the supported security providers for the virtual wan. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param virtual_wan_name: The name of the VirtualWAN for which - supported security providers are needed. - :type virtual_wan_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: VirtualWanSecurityProviders or ClientRawResponse if raw=true - :rtype: - ~azure.mgmt.network.v2019_09_01.models.VirtualWanSecurityProviders or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - api_version = "2019-09-01" - - # Construct URL - url = self.supported_security_providers.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualWANName': self._serialize.url("virtual_wan_name", virtual_wan_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('VirtualWanSecurityProviders', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - supported_security_providers.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{virtualWANName}/supportedSecurityProviders'} - - - def _generatevirtualwanvpnserverconfigurationvpnprofile_initial( - self, resource_group_name, virtual_wan_name, vpn_server_configuration_resource_id=None, authentication_method=None, custom_headers=None, raw=False, **operation_config): - vpn_client_params = models.VirtualWanVpnProfileParameters(vpn_server_configuration_resource_id=vpn_server_configuration_resource_id, authentication_method=authentication_method) - - api_version = "2019-09-01" - - # Construct URL - url = self.generatevirtualwanvpnserverconfigurationvpnprofile.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualWANName': self._serialize.url("virtual_wan_name", virtual_wan_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(vpn_client_params, 'VirtualWanVpnProfileParameters') - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - 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('VpnProfileResponse', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def generatevirtualwanvpnserverconfigurationvpnprofile( - self, resource_group_name, virtual_wan_name, vpn_server_configuration_resource_id=None, authentication_method=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Generates a unique VPN profile for P2S clients for VirtualWan and - associated VpnServerConfiguration combination in the specified resource - group. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param virtual_wan_name: The name of the VirtualWAN whose associated - VpnServerConfigurations is needed. - :type virtual_wan_name: str - :param vpn_server_configuration_resource_id: VpnServerConfiguration - partial resource uri with which VirtualWan is associated to. - :type vpn_server_configuration_resource_id: str - :param authentication_method: VPN client authentication method. - Possible values include: 'EAPTLS', 'EAPMSCHAPv2' - :type authentication_method: str or - ~azure.mgmt.network.v2019_09_01.models.AuthenticationMethod - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns VpnProfileResponse or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.VpnProfileResponse] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.VpnProfileResponse]] - :raises: :class:`CloudError` - """ - raw_result = self._generatevirtualwanvpnserverconfigurationvpnprofile_initial( - resource_group_name=resource_group_name, - virtual_wan_name=virtual_wan_name, - vpn_server_configuration_resource_id=vpn_server_configuration_resource_id, - authentication_method=authentication_method, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('VpnProfileResponse', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - generatevirtualwanvpnserverconfigurationvpnprofile.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{virtualWANName}/GenerateVpnProfile'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_network_profiles_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_network_profiles_operations.py deleted file mode 100644 index 3de1522ed01..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_network_profiles_operations.py +++ /dev/null @@ -1,527 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class NetworkProfilesOperations(object): - """NetworkProfilesOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, network_profile_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkProfileName': self._serialize.url("network_profile_name", network_profile_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, network_profile_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified network profile. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_profile_name: The name of the NetworkProfile. - :type network_profile_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - network_profile_name=network_profile_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkProfiles/{networkProfileName}'} - - def get( - self, resource_group_name, network_profile_name, expand=None, custom_headers=None, raw=False, **operation_config): - """Gets the specified network profile in a specified resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_profile_name: The name of the public IP prefix. - :type network_profile_name: str - :param expand: Expands referenced resources. - :type expand: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: NetworkProfile or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_09_01.models.NetworkProfile or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkProfileName': self._serialize.url("network_profile_name", network_profile_name, 'str'), - '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.api_version", self.api_version, 'str') - if expand is not None: - query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('NetworkProfile', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkProfiles/{networkProfileName}'} - - - def _create_or_update_initial( - self, resource_group_name, network_profile_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkProfileName': self._serialize.url("network_profile_name", network_profile_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'NetworkProfile') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('NetworkProfile', response) - if response.status_code == 201: - deserialized = self._deserialize('NetworkProfile', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, network_profile_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates a network profile. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_profile_name: The name of the network profile. - :type network_profile_name: str - :param parameters: Parameters supplied to the create or update network - profile operation. - :type parameters: - ~azure.mgmt.network.v2019_09_01.models.NetworkProfile - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns NetworkProfile or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.NetworkProfile] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.NetworkProfile]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - network_profile_name=network_profile_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('NetworkProfile', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkProfiles/{networkProfileName}'} - - - def _update_tags_initial( - self, resource_group_name, network_profile_name, tags=None, custom_headers=None, raw=False, **operation_config): - parameters = models.TagsObject(tags=tags) - - # Construct URL - url = self.update_tags.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkProfileName': self._serialize.url("network_profile_name", network_profile_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'TagsObject') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('NetworkProfile', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def update_tags( - self, resource_group_name, network_profile_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Updates network profile tags. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_profile_name: The name of the network profile. - :type network_profile_name: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns NetworkProfile or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.NetworkProfile] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.NetworkProfile]] - :raises: :class:`CloudError` - """ - raw_result = self._update_tags_initial( - resource_group_name=resource_group_name, - network_profile_name=network_profile_name, - tags=tags, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('NetworkProfile', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkProfiles/{networkProfileName}'} - - def list_all( - self, custom_headers=None, raw=False, **operation_config): - """Gets all the network profiles in a subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of NetworkProfile - :rtype: - ~azure.mgmt.network.v2019_09_01.models.NetworkProfilePaged[~azure.mgmt.network.v2019_09_01.models.NetworkProfile] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_all.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.NetworkProfilePaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkProfiles'} - - def list( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Gets all network profiles in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of NetworkProfile - :rtype: - ~azure.mgmt.network.v2019_09_01.models.NetworkProfilePaged[~azure.mgmt.network.v2019_09_01.models.NetworkProfile] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.NetworkProfilePaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkProfiles'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_network_security_groups_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_network_security_groups_operations.py deleted file mode 100644 index 93b9349b462..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_network_security_groups_operations.py +++ /dev/null @@ -1,532 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class NetworkSecurityGroupsOperations(object): - """NetworkSecurityGroupsOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, network_security_group_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkSecurityGroupName': self._serialize.url("network_security_group_name", network_security_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, network_security_group_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified network security group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_security_group_name: The name of the network security - group. - :type network_security_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - network_security_group_name=network_security_group_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}'} - - def get( - self, resource_group_name, network_security_group_name, expand=None, custom_headers=None, raw=False, **operation_config): - """Gets the specified network security group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_security_group_name: The name of the network security - group. - :type network_security_group_name: str - :param expand: Expands referenced resources. - :type expand: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: NetworkSecurityGroup or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_09_01.models.NetworkSecurityGroup or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkSecurityGroupName': self._serialize.url("network_security_group_name", network_security_group_name, 'str'), - '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.api_version", self.api_version, 'str') - if expand is not None: - query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('NetworkSecurityGroup', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}'} - - - def _create_or_update_initial( - self, resource_group_name, network_security_group_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkSecurityGroupName': self._serialize.url("network_security_group_name", network_security_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'NetworkSecurityGroup') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('NetworkSecurityGroup', response) - if response.status_code == 201: - deserialized = self._deserialize('NetworkSecurityGroup', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, network_security_group_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates a network security group in the specified resource - group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_security_group_name: The name of the network security - group. - :type network_security_group_name: str - :param parameters: Parameters supplied to the create or update network - security group operation. - :type parameters: - ~azure.mgmt.network.v2019_09_01.models.NetworkSecurityGroup - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns NetworkSecurityGroup or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.NetworkSecurityGroup] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.NetworkSecurityGroup]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - network_security_group_name=network_security_group_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('NetworkSecurityGroup', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}'} - - - def _update_tags_initial( - self, resource_group_name, network_security_group_name, tags=None, custom_headers=None, raw=False, **operation_config): - parameters = models.TagsObject(tags=tags) - - # Construct URL - url = self.update_tags.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkSecurityGroupName': self._serialize.url("network_security_group_name", network_security_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'TagsObject') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('NetworkSecurityGroup', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def update_tags( - self, resource_group_name, network_security_group_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Updates a network security group tags. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_security_group_name: The name of the network security - group. - :type network_security_group_name: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns NetworkSecurityGroup or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.NetworkSecurityGroup] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.NetworkSecurityGroup]] - :raises: :class:`CloudError` - """ - raw_result = self._update_tags_initial( - resource_group_name=resource_group_name, - network_security_group_name=network_security_group_name, - tags=tags, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('NetworkSecurityGroup', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}'} - - def list_all( - self, custom_headers=None, raw=False, **operation_config): - """Gets all network security groups in a subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of NetworkSecurityGroup - :rtype: - ~azure.mgmt.network.v2019_09_01.models.NetworkSecurityGroupPaged[~azure.mgmt.network.v2019_09_01.models.NetworkSecurityGroup] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_all.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.NetworkSecurityGroupPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkSecurityGroups'} - - def list( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Gets all network security groups in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of NetworkSecurityGroup - :rtype: - ~azure.mgmt.network.v2019_09_01.models.NetworkSecurityGroupPaged[~azure.mgmt.network.v2019_09_01.models.NetworkSecurityGroup] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.NetworkSecurityGroupPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_network_watchers_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_network_watchers_operations.py deleted file mode 100644 index 153abd7b26c..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_network_watchers_operations.py +++ /dev/null @@ -1,1672 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class NetworkWatchersOperations(object): - """NetworkWatchersOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01" - - self.config = config - - def create_or_update( - self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, **operation_config): - """Creates or updates a network watcher in the specified resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_watcher_name: The name of the network watcher. - :type network_watcher_name: str - :param parameters: Parameters that define the network watcher - resource. - :type parameters: - ~azure.mgmt.network.v2019_09_01.models.NetworkWatcher - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: NetworkWatcher or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_09_01.models.NetworkWatcher or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorResponseException` - """ - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'NetworkWatcher') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 201]: - raise models.ErrorResponseException(self._deserialize, response) - - deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('NetworkWatcher', response) - if response.status_code == 201: - deserialized = self._deserialize('NetworkWatcher', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}'} - - def get( - self, resource_group_name, network_watcher_name, custom_headers=None, raw=False, **operation_config): - """Gets the specified network watcher by resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_watcher_name: The name of the network watcher. - :type network_watcher_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: NetworkWatcher or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_09_01.models.NetworkWatcher or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorResponseException` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorResponseException(self._deserialize, response) - - deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('NetworkWatcher', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}'} - - - def _delete_initial( - self, resource_group_name, network_watcher_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [202, 204]: - raise models.ErrorResponseException(self._deserialize, response) - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, network_watcher_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified network watcher resource. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_watcher_name: The name of the network watcher. - :type network_watcher_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: - :class:`ErrorResponseException` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - network_watcher_name=network_watcher_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}'} - - def update_tags( - self, resource_group_name, network_watcher_name, tags=None, custom_headers=None, raw=False, **operation_config): - """Updates a network watcher tags. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_watcher_name: The name of the network watcher. - :type network_watcher_name: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: NetworkWatcher or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_09_01.models.NetworkWatcher or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorResponseException` - """ - parameters = models.TagsObject(tags=tags) - - # Construct URL - url = self.update_tags.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'TagsObject') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorResponseException(self._deserialize, response) - - deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('NetworkWatcher', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}'} - - def list( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Gets all network watchers by resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of NetworkWatcher - :rtype: - ~azure.mgmt.network.v2019_09_01.models.NetworkWatcherPaged[~azure.mgmt.network.v2019_09_01.models.NetworkWatcher] - :raises: - :class:`ErrorResponseException` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorResponseException(self._deserialize, response) - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.NetworkWatcherPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers'} - - def list_all( - self, custom_headers=None, raw=False, **operation_config): - """Gets all network watchers by subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of NetworkWatcher - :rtype: - ~azure.mgmt.network.v2019_09_01.models.NetworkWatcherPaged[~azure.mgmt.network.v2019_09_01.models.NetworkWatcher] - :raises: - :class:`ErrorResponseException` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_all.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorResponseException(self._deserialize, response) - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.NetworkWatcherPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkWatchers'} - - def get_topology( - self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, **operation_config): - """Gets the current network topology by resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_watcher_name: The name of the network watcher. - :type network_watcher_name: str - :param parameters: Parameters that define the representation of - topology. - :type parameters: - ~azure.mgmt.network.v2019_09_01.models.TopologyParameters - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: Topology or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_09_01.models.Topology or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorResponseException` - """ - # Construct URL - url = self.get_topology.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'TopologyParameters') - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorResponseException(self._deserialize, response) - - deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('Topology', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get_topology.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/topology'} - - - def _verify_ip_flow_initial( - self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.verify_ip_flow.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'VerificationIPFlowParameters') - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - raise models.ErrorResponseException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('VerificationIPFlowResult', response) - if response.status_code == 202: - deserialized = self._deserialize('VerificationIPFlowResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def verify_ip_flow( - self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Verify IP flow from the specified VM to a location given the currently - configured NSG rules. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_watcher_name: The name of the network watcher. - :type network_watcher_name: str - :param parameters: Parameters that define the IP flow to be verified. - :type parameters: - ~azure.mgmt.network.v2019_09_01.models.VerificationIPFlowParameters - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - VerificationIPFlowResult or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.VerificationIPFlowResult] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.VerificationIPFlowResult]] - :raises: - :class:`ErrorResponseException` - """ - raw_result = self._verify_ip_flow_initial( - resource_group_name=resource_group_name, - network_watcher_name=network_watcher_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('VerificationIPFlowResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - verify_ip_flow.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/ipFlowVerify'} - - - def _get_next_hop_initial( - self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.get_next_hop.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'NextHopParameters') - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - raise models.ErrorResponseException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('NextHopResult', response) - if response.status_code == 202: - deserialized = self._deserialize('NextHopResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def get_next_hop( - self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Gets the next hop from the specified VM. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_watcher_name: The name of the network watcher. - :type network_watcher_name: str - :param parameters: Parameters that define the source and destination - endpoint. - :type parameters: - ~azure.mgmt.network.v2019_09_01.models.NextHopParameters - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns NextHopResult or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.NextHopResult] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.NextHopResult]] - :raises: - :class:`ErrorResponseException` - """ - raw_result = self._get_next_hop_initial( - resource_group_name=resource_group_name, - network_watcher_name=network_watcher_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('NextHopResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - get_next_hop.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/nextHop'} - - - def _get_vm_security_rules_initial( - self, resource_group_name, network_watcher_name, target_resource_id, custom_headers=None, raw=False, **operation_config): - parameters = models.SecurityGroupViewParameters(target_resource_id=target_resource_id) - - # Construct URL - url = self.get_vm_security_rules.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'SecurityGroupViewParameters') - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - raise models.ErrorResponseException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('SecurityGroupViewResult', response) - if response.status_code == 202: - deserialized = self._deserialize('SecurityGroupViewResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def get_vm_security_rules( - self, resource_group_name, network_watcher_name, target_resource_id, custom_headers=None, raw=False, polling=True, **operation_config): - """Gets the configured and effective security group rules on the specified - VM. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_watcher_name: The name of the network watcher. - :type network_watcher_name: str - :param target_resource_id: ID of the target VM. - :type target_resource_id: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns SecurityGroupViewResult - or ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.SecurityGroupViewResult] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.SecurityGroupViewResult]] - :raises: - :class:`ErrorResponseException` - """ - raw_result = self._get_vm_security_rules_initial( - resource_group_name=resource_group_name, - network_watcher_name=network_watcher_name, - target_resource_id=target_resource_id, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('SecurityGroupViewResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - get_vm_security_rules.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/securityGroupView'} - - - def _get_troubleshooting_initial( - self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.get_troubleshooting.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'TroubleshootingParameters') - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - raise models.ErrorResponseException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('TroubleshootingResult', response) - if response.status_code == 202: - deserialized = self._deserialize('TroubleshootingResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def get_troubleshooting( - self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Initiate troubleshooting on a specified resource. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_watcher_name: The name of the network watcher resource. - :type network_watcher_name: str - :param parameters: Parameters that define the resource to - troubleshoot. - :type parameters: - ~azure.mgmt.network.v2019_09_01.models.TroubleshootingParameters - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns TroubleshootingResult - or ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.TroubleshootingResult] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.TroubleshootingResult]] - :raises: - :class:`ErrorResponseException` - """ - raw_result = self._get_troubleshooting_initial( - resource_group_name=resource_group_name, - network_watcher_name=network_watcher_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('TroubleshootingResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - get_troubleshooting.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/troubleshoot'} - - - def _get_troubleshooting_result_initial( - self, resource_group_name, network_watcher_name, target_resource_id, custom_headers=None, raw=False, **operation_config): - parameters = models.QueryTroubleshootingParameters(target_resource_id=target_resource_id) - - # Construct URL - url = self.get_troubleshooting_result.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'QueryTroubleshootingParameters') - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - raise models.ErrorResponseException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('TroubleshootingResult', response) - if response.status_code == 202: - deserialized = self._deserialize('TroubleshootingResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def get_troubleshooting_result( - self, resource_group_name, network_watcher_name, target_resource_id, custom_headers=None, raw=False, polling=True, **operation_config): - """Get the last completed troubleshooting result on a specified resource. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_watcher_name: The name of the network watcher resource. - :type network_watcher_name: str - :param target_resource_id: The target resource ID to query the - troubleshooting result. - :type target_resource_id: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns TroubleshootingResult - or ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.TroubleshootingResult] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.TroubleshootingResult]] - :raises: - :class:`ErrorResponseException` - """ - raw_result = self._get_troubleshooting_result_initial( - resource_group_name=resource_group_name, - network_watcher_name=network_watcher_name, - target_resource_id=target_resource_id, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('TroubleshootingResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - get_troubleshooting_result.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/queryTroubleshootResult'} - - - def _set_flow_log_configuration_initial( - self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.set_flow_log_configuration.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'FlowLogInformation') - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - raise models.ErrorResponseException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('FlowLogInformation', response) - if response.status_code == 202: - deserialized = self._deserialize('FlowLogInformation', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def set_flow_log_configuration( - self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Configures flow log and traffic analytics (optional) on a specified - resource. - - :param resource_group_name: The name of the network watcher resource - group. - :type resource_group_name: str - :param network_watcher_name: The name of the network watcher resource. - :type network_watcher_name: str - :param parameters: Parameters that define the configuration of flow - log. - :type parameters: - ~azure.mgmt.network.v2019_09_01.models.FlowLogInformation - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns FlowLogInformation or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.FlowLogInformation] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.FlowLogInformation]] - :raises: - :class:`ErrorResponseException` - """ - raw_result = self._set_flow_log_configuration_initial( - resource_group_name=resource_group_name, - network_watcher_name=network_watcher_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('FlowLogInformation', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - set_flow_log_configuration.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/configureFlowLog'} - - - def _get_flow_log_status_initial( - self, resource_group_name, network_watcher_name, target_resource_id, custom_headers=None, raw=False, **operation_config): - parameters = models.FlowLogStatusParameters(target_resource_id=target_resource_id) - - # Construct URL - url = self.get_flow_log_status.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'FlowLogStatusParameters') - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - raise models.ErrorResponseException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('FlowLogInformation', response) - if response.status_code == 202: - deserialized = self._deserialize('FlowLogInformation', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def get_flow_log_status( - self, resource_group_name, network_watcher_name, target_resource_id, custom_headers=None, raw=False, polling=True, **operation_config): - """Queries status of flow log and traffic analytics (optional) on a - specified resource. - - :param resource_group_name: The name of the network watcher resource - group. - :type resource_group_name: str - :param network_watcher_name: The name of the network watcher resource. - :type network_watcher_name: str - :param target_resource_id: The target resource where getting the flow - log and traffic analytics (optional) status. - :type target_resource_id: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns FlowLogInformation or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.FlowLogInformation] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.FlowLogInformation]] - :raises: - :class:`ErrorResponseException` - """ - raw_result = self._get_flow_log_status_initial( - resource_group_name=resource_group_name, - network_watcher_name=network_watcher_name, - target_resource_id=target_resource_id, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('FlowLogInformation', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - get_flow_log_status.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/queryFlowLogStatus'} - - - def _check_connectivity_initial( - self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.check_connectivity.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'ConnectivityParameters') - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - raise models.ErrorResponseException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('ConnectivityInformation', response) - if response.status_code == 202: - deserialized = self._deserialize('ConnectivityInformation', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def check_connectivity( - self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Verifies the possibility of establishing a direct TCP connection from a - virtual machine to a given endpoint including another VM or an - arbitrary remote server. - - :param resource_group_name: The name of the network watcher resource - group. - :type resource_group_name: str - :param network_watcher_name: The name of the network watcher resource. - :type network_watcher_name: str - :param parameters: Parameters that determine how the connectivity - check will be performed. - :type parameters: - ~azure.mgmt.network.v2019_09_01.models.ConnectivityParameters - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns ConnectivityInformation - or ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.ConnectivityInformation] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.ConnectivityInformation]] - :raises: - :class:`ErrorResponseException` - """ - raw_result = self._check_connectivity_initial( - resource_group_name=resource_group_name, - network_watcher_name=network_watcher_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ConnectivityInformation', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - check_connectivity.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectivityCheck'} - - - def _get_azure_reachability_report_initial( - self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.get_azure_reachability_report.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'AzureReachabilityReportParameters') - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - raise models.ErrorResponseException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('AzureReachabilityReport', response) - if response.status_code == 202: - deserialized = self._deserialize('AzureReachabilityReport', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def get_azure_reachability_report( - self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Gets the relative latency score for internet service providers from a - specified location to Azure regions. - - :param resource_group_name: The name of the network watcher resource - group. - :type resource_group_name: str - :param network_watcher_name: The name of the network watcher resource. - :type network_watcher_name: str - :param parameters: Parameters that determine Azure reachability report - configuration. - :type parameters: - ~azure.mgmt.network.v2019_09_01.models.AzureReachabilityReportParameters - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns AzureReachabilityReport - or ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.AzureReachabilityReport] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.AzureReachabilityReport]] - :raises: - :class:`ErrorResponseException` - """ - raw_result = self._get_azure_reachability_report_initial( - resource_group_name=resource_group_name, - network_watcher_name=network_watcher_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('AzureReachabilityReport', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - get_azure_reachability_report.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/azureReachabilityReport'} - - - def _list_available_providers_initial( - self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.list_available_providers.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'AvailableProvidersListParameters') - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - raise models.ErrorResponseException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('AvailableProvidersList', response) - if response.status_code == 202: - deserialized = self._deserialize('AvailableProvidersList', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def list_available_providers( - self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Lists all available internet service providers for a specified Azure - region. - - :param resource_group_name: The name of the network watcher resource - group. - :type resource_group_name: str - :param network_watcher_name: The name of the network watcher resource. - :type network_watcher_name: str - :param parameters: Parameters that scope the list of available - providers. - :type parameters: - ~azure.mgmt.network.v2019_09_01.models.AvailableProvidersListParameters - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns AvailableProvidersList - or ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.AvailableProvidersList] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.AvailableProvidersList]] - :raises: - :class:`ErrorResponseException` - """ - raw_result = self._list_available_providers_initial( - resource_group_name=resource_group_name, - network_watcher_name=network_watcher_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('AvailableProvidersList', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - list_available_providers.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/availableProvidersList'} - - - def _get_network_configuration_diagnostic_initial( - self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.get_network_configuration_diagnostic.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'NetworkConfigurationDiagnosticParameters') - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - raise models.ErrorResponseException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('NetworkConfigurationDiagnosticResponse', response) - if response.status_code == 202: - deserialized = self._deserialize('NetworkConfigurationDiagnosticResponse', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def get_network_configuration_diagnostic( - self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Gets Network Configuration Diagnostic data to help customers understand - and debug network behavior. It provides detailed information on what - security rules were applied to a specified traffic flow and the result - of evaluating these rules. Customers must provide details of a flow - like source, destination, protocol, etc. The API returns whether - traffic was allowed or denied, the rules evaluated for the specified - flow and the evaluation results. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_watcher_name: The name of the network watcher. - :type network_watcher_name: str - :param parameters: Parameters to get network configuration diagnostic. - :type parameters: - ~azure.mgmt.network.v2019_09_01.models.NetworkConfigurationDiagnosticParameters - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - NetworkConfigurationDiagnosticResponse or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.NetworkConfigurationDiagnosticResponse] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.NetworkConfigurationDiagnosticResponse]] - :raises: - :class:`ErrorResponseException` - """ - raw_result = self._get_network_configuration_diagnostic_initial( - resource_group_name=resource_group_name, - network_watcher_name=network_watcher_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('NetworkConfigurationDiagnosticResponse', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - get_network_configuration_diagnostic.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/networkConfigurationDiagnostic'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_operations.py deleted file mode 100644 index 2d04105db29..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_operations.py +++ /dev/null @@ -1,102 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError - -from .. import models - - -class Operations(object): - """Operations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01" - - self.config = config - - def list( - self, custom_headers=None, raw=False, **operation_config): - """Lists all of the available Network Rest API operations. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of Operation - :rtype: - ~azure.mgmt.network.v2019_09_01.models.OperationPaged[~azure.mgmt.network.v2019_09_01.models.Operation] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.OperationPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/providers/Microsoft.Network/operations'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_p2s_vpn_gateways_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_p2s_vpn_gateways_operations.py deleted file mode 100644 index 28fa137c03e..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_p2s_vpn_gateways_operations.py +++ /dev/null @@ -1,838 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class P2sVpnGatewaysOperations(object): - """P2sVpnGatewaysOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01" - - self.config = config - - def get( - self, resource_group_name, gateway_name, custom_headers=None, raw=False, **operation_config): - """Retrieves the details of a virtual wan p2s vpn gateway. - - :param resource_group_name: The resource group name of the - P2SVpnGateway. - :type resource_group_name: str - :param gateway_name: The name of the gateway. - :type gateway_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: P2SVpnGateway or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_09_01.models.P2SVpnGateway or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('P2SVpnGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/p2svpnGateways/{gatewayName}'} - - - def _create_or_update_initial( - self, resource_group_name, gateway_name, p2_svpn_gateway_parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(p2_svpn_gateway_parameters, 'P2SVpnGateway') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('P2SVpnGateway', response) - if response.status_code == 201: - deserialized = self._deserialize('P2SVpnGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, gateway_name, p2_svpn_gateway_parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates a virtual wan p2s vpn gateway if it doesn't exist else updates - the existing gateway. - - :param resource_group_name: The resource group name of the - P2SVpnGateway. - :type resource_group_name: str - :param gateway_name: The name of the gateway. - :type gateway_name: str - :param p2_svpn_gateway_parameters: Parameters supplied to create or - Update a virtual wan p2s vpn gateway. - :type p2_svpn_gateway_parameters: - ~azure.mgmt.network.v2019_09_01.models.P2SVpnGateway - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns P2SVpnGateway or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.P2SVpnGateway] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.P2SVpnGateway]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - gateway_name=gateway_name, - p2_svpn_gateway_parameters=p2_svpn_gateway_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('P2SVpnGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/p2svpnGateways/{gatewayName}'} - - - def _update_tags_initial( - self, resource_group_name, gateway_name, tags=None, custom_headers=None, raw=False, **operation_config): - p2_svpn_gateway_parameters = models.TagsObject(tags=tags) - - # Construct URL - url = self.update_tags.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(p2_svpn_gateway_parameters, 'TagsObject') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('P2SVpnGateway', response) - if response.status_code == 201: - deserialized = self._deserialize('P2SVpnGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def update_tags( - self, resource_group_name, gateway_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Updates virtual wan p2s vpn gateway tags. - - :param resource_group_name: The resource group name of the - P2SVpnGateway. - :type resource_group_name: str - :param gateway_name: The name of the gateway. - :type gateway_name: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns P2SVpnGateway or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.P2SVpnGateway] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.P2SVpnGateway]] - :raises: :class:`CloudError` - """ - raw_result = self._update_tags_initial( - resource_group_name=resource_group_name, - gateway_name=gateway_name, - tags=tags, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('P2SVpnGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/p2svpnGateways/{gatewayName}'} - - - def _delete_initial( - self, resource_group_name, gateway_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes a virtual wan p2s vpn gateway. - - :param resource_group_name: The resource group name of the - P2SVpnGateway. - :type resource_group_name: str - :param gateway_name: The name of the gateway. - :type gateway_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - gateway_name=gateway_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/p2svpnGateways/{gatewayName}'} - - def list_by_resource_group( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Lists all the P2SVpnGateways in a resource group. - - :param resource_group_name: The resource group name of the - P2SVpnGateway. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of P2SVpnGateway - :rtype: - ~azure.mgmt.network.v2019_09_01.models.P2SVpnGatewayPaged[~azure.mgmt.network.v2019_09_01.models.P2SVpnGateway] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_by_resource_group.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.P2SVpnGatewayPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/p2svpnGateways'} - - def list( - self, custom_headers=None, raw=False, **operation_config): - """Lists all the P2SVpnGateways in a subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of P2SVpnGateway - :rtype: - ~azure.mgmt.network.v2019_09_01.models.P2SVpnGatewayPaged[~azure.mgmt.network.v2019_09_01.models.P2SVpnGateway] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.P2SVpnGatewayPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/p2svpnGateways'} - - - def _generate_vpn_profile_initial( - self, resource_group_name, gateway_name, authentication_method=None, custom_headers=None, raw=False, **operation_config): - parameters = models.P2SVpnProfileParameters(authentication_method=authentication_method) - - # Construct URL - url = self.generate_vpn_profile.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'P2SVpnProfileParameters') - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - 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('VpnProfileResponse', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def generate_vpn_profile( - self, resource_group_name, gateway_name, authentication_method=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Generates VPN profile for P2S client of the P2SVpnGateway in the - specified resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param gateway_name: The name of the P2SVpnGateway. - :type gateway_name: str - :param authentication_method: VPN client authentication method. - Possible values include: 'EAPTLS', 'EAPMSCHAPv2' - :type authentication_method: str or - ~azure.mgmt.network.v2019_09_01.models.AuthenticationMethod - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns VpnProfileResponse or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.VpnProfileResponse] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.VpnProfileResponse]] - :raises: :class:`CloudError` - """ - raw_result = self._generate_vpn_profile_initial( - resource_group_name=resource_group_name, - gateway_name=gateway_name, - authentication_method=authentication_method, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('VpnProfileResponse', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - generate_vpn_profile.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/p2svpnGateways/{gatewayName}/generatevpnprofile'} - - - def _get_p2s_vpn_connection_health_initial( - self, resource_group_name, gateway_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.get_p2s_vpn_connection_health.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - 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('P2SVpnGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def get_p2s_vpn_connection_health( - self, resource_group_name, gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Gets the connection health of P2S clients of the virtual wan - P2SVpnGateway in the specified resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param gateway_name: The name of the P2SVpnGateway. - :type gateway_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns P2SVpnGateway or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.P2SVpnGateway] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.P2SVpnGateway]] - :raises: :class:`CloudError` - """ - raw_result = self._get_p2s_vpn_connection_health_initial( - resource_group_name=resource_group_name, - gateway_name=gateway_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('P2SVpnGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - get_p2s_vpn_connection_health.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/p2svpnGateways/{gatewayName}/getP2sVpnConnectionHealth'} - - - def _get_p2s_vpn_connection_health_detailed_initial( - self, resource_group_name, gateway_name, vpn_user_names_filter=None, output_blob_sas_url=None, custom_headers=None, raw=False, **operation_config): - request = models.P2SVpnConnectionHealthRequest(vpn_user_names_filter=vpn_user_names_filter, output_blob_sas_url=output_blob_sas_url) - - # Construct URL - url = self.get_p2s_vpn_connection_health_detailed.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(request, 'P2SVpnConnectionHealthRequest') - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - 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('P2SVpnConnectionHealth', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def get_p2s_vpn_connection_health_detailed( - self, resource_group_name, gateway_name, vpn_user_names_filter=None, output_blob_sas_url=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Gets the sas url to get the connection health detail of P2S clients of - the virtual wan P2SVpnGateway in the specified resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param gateway_name: The name of the P2SVpnGateway. - :type gateway_name: str - :param vpn_user_names_filter: The list of p2s vpn user names whose p2s - vpn connection detailed health to retrieve for. - :type vpn_user_names_filter: list[str] - :param output_blob_sas_url: The sas-url to download the P2S Vpn - connection health detail. - :type output_blob_sas_url: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns P2SVpnConnectionHealth - or ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.P2SVpnConnectionHealth] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.P2SVpnConnectionHealth]] - :raises: :class:`CloudError` - """ - raw_result = self._get_p2s_vpn_connection_health_detailed_initial( - resource_group_name=resource_group_name, - gateway_name=gateway_name, - vpn_user_names_filter=vpn_user_names_filter, - output_blob_sas_url=output_blob_sas_url, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('P2SVpnConnectionHealth', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - get_p2s_vpn_connection_health_detailed.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/p2svpnGateways/{gatewayName}/getP2sVpnConnectionHealthDetailed'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_packet_captures_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_packet_captures_operations.py deleted file mode 100644 index 022e05c4831..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_packet_captures_operations.py +++ /dev/null @@ -1,543 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class PacketCapturesOperations(object): - """PacketCapturesOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01" - - self.config = config - - - def _create_initial( - self, resource_group_name, network_watcher_name, packet_capture_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), - 'packetCaptureName': self._serialize.url("packet_capture_name", packet_capture_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'PacketCapture') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [201]: - raise models.ErrorResponseException(self._deserialize, response) - - deserialized = None - - if response.status_code == 201: - deserialized = self._deserialize('PacketCaptureResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create( - self, resource_group_name, network_watcher_name, packet_capture_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Create and start a packet capture on the specified VM. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_watcher_name: The name of the network watcher. - :type network_watcher_name: str - :param packet_capture_name: The name of the packet capture session. - :type packet_capture_name: str - :param parameters: Parameters that define the create packet capture - operation. - :type parameters: ~azure.mgmt.network.v2019_09_01.models.PacketCapture - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns PacketCaptureResult or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.PacketCaptureResult] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.PacketCaptureResult]] - :raises: - :class:`ErrorResponseException` - """ - raw_result = self._create_initial( - resource_group_name=resource_group_name, - network_watcher_name=network_watcher_name, - packet_capture_name=packet_capture_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('PacketCaptureResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures/{packetCaptureName}'} - - def get( - self, resource_group_name, network_watcher_name, packet_capture_name, custom_headers=None, raw=False, **operation_config): - """Gets a packet capture session by name. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_watcher_name: The name of the network watcher. - :type network_watcher_name: str - :param packet_capture_name: The name of the packet capture session. - :type packet_capture_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: PacketCaptureResult or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_09_01.models.PacketCaptureResult or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorResponseException` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), - 'packetCaptureName': self._serialize.url("packet_capture_name", packet_capture_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorResponseException(self._deserialize, response) - - deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('PacketCaptureResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures/{packetCaptureName}'} - - - def _delete_initial( - self, resource_group_name, network_watcher_name, packet_capture_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), - 'packetCaptureName': self._serialize.url("packet_capture_name", packet_capture_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [202, 204]: - raise models.ErrorResponseException(self._deserialize, response) - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, network_watcher_name, packet_capture_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified packet capture session. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_watcher_name: The name of the network watcher. - :type network_watcher_name: str - :param packet_capture_name: The name of the packet capture session. - :type packet_capture_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: - :class:`ErrorResponseException` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - network_watcher_name=network_watcher_name, - packet_capture_name=packet_capture_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures/{packetCaptureName}'} - - - def _stop_initial( - self, resource_group_name, network_watcher_name, packet_capture_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.stop.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), - 'packetCaptureName': self._serialize.url("packet_capture_name", packet_capture_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - raise models.ErrorResponseException(self._deserialize, response) - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def stop( - self, resource_group_name, network_watcher_name, packet_capture_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Stops a specified packet capture session. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_watcher_name: The name of the network watcher. - :type network_watcher_name: str - :param packet_capture_name: The name of the packet capture session. - :type packet_capture_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: - :class:`ErrorResponseException` - """ - raw_result = self._stop_initial( - resource_group_name=resource_group_name, - network_watcher_name=network_watcher_name, - packet_capture_name=packet_capture_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - stop.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures/{packetCaptureName}/stop'} - - - def _get_status_initial( - self, resource_group_name, network_watcher_name, packet_capture_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.get_status.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), - 'packetCaptureName': self._serialize.url("packet_capture_name", packet_capture_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - raise models.ErrorResponseException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('PacketCaptureQueryStatusResult', response) - if response.status_code == 202: - deserialized = self._deserialize('PacketCaptureQueryStatusResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def get_status( - self, resource_group_name, network_watcher_name, packet_capture_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Query the status of a running packet capture session. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_watcher_name: The name of the Network Watcher resource. - :type network_watcher_name: str - :param packet_capture_name: The name given to the packet capture - session. - :type packet_capture_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - PacketCaptureQueryStatusResult or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.PacketCaptureQueryStatusResult] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.PacketCaptureQueryStatusResult]] - :raises: - :class:`ErrorResponseException` - """ - raw_result = self._get_status_initial( - resource_group_name=resource_group_name, - network_watcher_name=network_watcher_name, - packet_capture_name=packet_capture_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('PacketCaptureQueryStatusResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - get_status.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures/{packetCaptureName}/queryStatus'} - - def list( - self, resource_group_name, network_watcher_name, custom_headers=None, raw=False, **operation_config): - """Lists all packet capture sessions within the specified resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_watcher_name: The name of the Network Watcher resource. - :type network_watcher_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of PacketCaptureResult - :rtype: - ~azure.mgmt.network.v2019_09_01.models.PacketCaptureResultPaged[~azure.mgmt.network.v2019_09_01.models.PacketCaptureResult] - :raises: - :class:`ErrorResponseException` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorResponseException(self._deserialize, response) - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.PacketCaptureResultPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_peer_express_route_circuit_connections_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_peer_express_route_circuit_connections_operations.py deleted file mode 100644 index ea4335a10bc..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_peer_express_route_circuit_connections_operations.py +++ /dev/null @@ -1,188 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError - -from .. import models - - -class PeerExpressRouteCircuitConnectionsOperations(object): - """PeerExpressRouteCircuitConnectionsOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01" - - self.config = config - - def get( - self, resource_group_name, circuit_name, peering_name, connection_name, custom_headers=None, raw=False, **operation_config): - """Gets the specified Peer Express Route Circuit Connection from the - specified express route circuit. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param circuit_name: The name of the express route circuit. - :type circuit_name: str - :param peering_name: The name of the peering. - :type peering_name: str - :param connection_name: The name of the peer express route circuit - connection. - :type connection_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: PeerExpressRouteCircuitConnection or ClientRawResponse if - raw=true - :rtype: - ~azure.mgmt.network.v2019_09_01.models.PeerExpressRouteCircuitConnection - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), - 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), - 'connectionName': self._serialize.url("connection_name", connection_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('PeerExpressRouteCircuitConnection', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/peerConnections/{connectionName}'} - - def list( - self, resource_group_name, circuit_name, peering_name, custom_headers=None, raw=False, **operation_config): - """Gets all global reach peer connections associated with a private - peering in an express route circuit. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param circuit_name: The name of the circuit. - :type circuit_name: str - :param peering_name: The name of the peering. - :type peering_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of - PeerExpressRouteCircuitConnection - :rtype: - ~azure.mgmt.network.v2019_09_01.models.PeerExpressRouteCircuitConnectionPaged[~azure.mgmt.network.v2019_09_01.models.PeerExpressRouteCircuitConnection] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), - 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.PeerExpressRouteCircuitConnectionPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/peerConnections'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_private_endpoints_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_private_endpoints_operations.py deleted file mode 100644 index a1049704093..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_private_endpoints_operations.py +++ /dev/null @@ -1,419 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class PrivateEndpointsOperations(object): - """PrivateEndpointsOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, private_endpoint_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'privateEndpointName': self._serialize.url("private_endpoint_name", private_endpoint_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - raise models.ErrorException(self._deserialize, response) - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, private_endpoint_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified private endpoint. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param private_endpoint_name: The name of the private endpoint. - :type private_endpoint_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: - :class:`ErrorException` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - private_endpoint_name=private_endpoint_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints/{privateEndpointName}'} - - def get( - self, resource_group_name, private_endpoint_name, expand=None, custom_headers=None, raw=False, **operation_config): - """Gets the specified private endpoint by resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param private_endpoint_name: The name of the private endpoint. - :type private_endpoint_name: str - :param expand: Expands referenced resources. - :type expand: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: PrivateEndpoint or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_09_01.models.PrivateEndpoint or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorException` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'privateEndpointName': self._serialize.url("private_endpoint_name", private_endpoint_name, 'str'), - '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.api_version", self.api_version, 'str') - if expand is not None: - query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorException(self._deserialize, response) - - deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('PrivateEndpoint', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints/{privateEndpointName}'} - - - def _create_or_update_initial( - self, resource_group_name, private_endpoint_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'privateEndpointName': self._serialize.url("private_endpoint_name", private_endpoint_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'PrivateEndpoint') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 201]: - raise models.ErrorException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('PrivateEndpoint', response) - if response.status_code == 201: - deserialized = self._deserialize('PrivateEndpoint', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, private_endpoint_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates an private endpoint in the specified resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param private_endpoint_name: The name of the private endpoint. - :type private_endpoint_name: str - :param parameters: Parameters supplied to the create or update private - endpoint operation. - :type parameters: - ~azure.mgmt.network.v2019_09_01.models.PrivateEndpoint - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns PrivateEndpoint or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.PrivateEndpoint] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.PrivateEndpoint]] - :raises: - :class:`ErrorException` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - private_endpoint_name=private_endpoint_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('PrivateEndpoint', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints/{privateEndpointName}'} - - def list( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Gets all private endpoints in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of PrivateEndpoint - :rtype: - ~azure.mgmt.network.v2019_09_01.models.PrivateEndpointPaged[~azure.mgmt.network.v2019_09_01.models.PrivateEndpoint] - :raises: - :class:`ErrorException` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorException(self._deserialize, response) - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.PrivateEndpointPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints'} - - def list_by_subscription( - self, custom_headers=None, raw=False, **operation_config): - """Gets all private endpoints in a subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of PrivateEndpoint - :rtype: - ~azure.mgmt.network.v2019_09_01.models.PrivateEndpointPaged[~azure.mgmt.network.v2019_09_01.models.PrivateEndpoint] - :raises: - :class:`ErrorException` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_by_subscription.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorException(self._deserialize, response) - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.PrivateEndpointPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_by_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/privateEndpoints'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_private_link_services_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_private_link_services_operations.py deleted file mode 100644 index 855159310af..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_private_link_services_operations.py +++ /dev/null @@ -1,1006 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class PrivateLinkServicesOperations(object): - """PrivateLinkServicesOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, service_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'serviceName': self._serialize.url("service_name", service_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - raise models.ErrorException(self._deserialize, response) - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, service_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified private link service. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param service_name: The name of the private link service. - :type service_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: - :class:`ErrorException` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - service_name=service_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateLinkServices/{serviceName}'} - - def get( - self, resource_group_name, service_name, expand=None, custom_headers=None, raw=False, **operation_config): - """Gets the specified private link service by resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param service_name: The name of the private link service. - :type service_name: str - :param expand: Expands referenced resources. - :type expand: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: PrivateLinkService or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_09_01.models.PrivateLinkService or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorException` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'serviceName': self._serialize.url("service_name", service_name, 'str'), - '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.api_version", self.api_version, 'str') - if expand is not None: - query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorException(self._deserialize, response) - - deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('PrivateLinkService', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateLinkServices/{serviceName}'} - - - def _create_or_update_initial( - self, resource_group_name, service_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'serviceName': self._serialize.url("service_name", service_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'PrivateLinkService') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 201]: - raise models.ErrorException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('PrivateLinkService', response) - if response.status_code == 201: - deserialized = self._deserialize('PrivateLinkService', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, service_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates an private link service in the specified resource - group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param service_name: The name of the private link service. - :type service_name: str - :param parameters: Parameters supplied to the create or update private - link service operation. - :type parameters: - ~azure.mgmt.network.v2019_09_01.models.PrivateLinkService - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns PrivateLinkService or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.PrivateLinkService] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.PrivateLinkService]] - :raises: - :class:`ErrorException` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - service_name=service_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('PrivateLinkService', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateLinkServices/{serviceName}'} - - def list( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Gets all private link services in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of PrivateLinkService - :rtype: - ~azure.mgmt.network.v2019_09_01.models.PrivateLinkServicePaged[~azure.mgmt.network.v2019_09_01.models.PrivateLinkService] - :raises: - :class:`ErrorException` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorException(self._deserialize, response) - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.PrivateLinkServicePaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateLinkServices'} - - def list_by_subscription( - self, custom_headers=None, raw=False, **operation_config): - """Gets all private link service in a subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of PrivateLinkService - :rtype: - ~azure.mgmt.network.v2019_09_01.models.PrivateLinkServicePaged[~azure.mgmt.network.v2019_09_01.models.PrivateLinkService] - :raises: - :class:`ErrorException` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_by_subscription.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorException(self._deserialize, response) - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.PrivateLinkServicePaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_by_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/privateLinkServices'} - - def get_private_endpoint_connection( - self, resource_group_name, service_name, pe_connection_name, expand=None, custom_headers=None, raw=False, **operation_config): - """Get the specific private end point connection by specific private link - service in the resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param service_name: The name of the private link service. - :type service_name: str - :param pe_connection_name: The name of the private end point - connection. - :type pe_connection_name: str - :param expand: Expands referenced resources. - :type expand: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: PrivateEndpointConnection or ClientRawResponse if raw=true - :rtype: - ~azure.mgmt.network.v2019_09_01.models.PrivateEndpointConnection or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorException` - """ - # Construct URL - url = self.get_private_endpoint_connection.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'serviceName': self._serialize.url("service_name", service_name, 'str'), - 'peConnectionName': self._serialize.url("pe_connection_name", pe_connection_name, 'str'), - '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.api_version", self.api_version, 'str') - if expand is not None: - query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorException(self._deserialize, response) - - deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('PrivateEndpointConnection', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get_private_endpoint_connection.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateLinkServices/{serviceName}/privateEndpointConnections/{peConnectionName}'} - - def update_private_endpoint_connection( - self, resource_group_name, service_name, pe_connection_name, parameters, custom_headers=None, raw=False, **operation_config): - """Approve or reject private end point connection for a private link - service in a subscription. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param service_name: The name of the private link service. - :type service_name: str - :param pe_connection_name: The name of the private end point - connection. - :type pe_connection_name: str - :param parameters: Parameters supplied to approve or reject the - private end point connection. - :type parameters: - ~azure.mgmt.network.v2019_09_01.models.PrivateEndpointConnection - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: PrivateEndpointConnection or ClientRawResponse if raw=true - :rtype: - ~azure.mgmt.network.v2019_09_01.models.PrivateEndpointConnection or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorException` - """ - # Construct URL - url = self.update_private_endpoint_connection.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'serviceName': self._serialize.url("service_name", service_name, 'str'), - 'peConnectionName': self._serialize.url("pe_connection_name", pe_connection_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'PrivateEndpointConnection') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorException(self._deserialize, response) - - deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('PrivateEndpointConnection', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - update_private_endpoint_connection.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateLinkServices/{serviceName}/privateEndpointConnections/{peConnectionName}'} - - - def _delete_private_endpoint_connection_initial( - self, resource_group_name, service_name, pe_connection_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete_private_endpoint_connection.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'serviceName': self._serialize.url("service_name", service_name, 'str'), - 'peConnectionName': self._serialize.url("pe_connection_name", pe_connection_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - raise models.ErrorException(self._deserialize, response) - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete_private_endpoint_connection( - self, resource_group_name, service_name, pe_connection_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Delete private end point connection for a private link service in a - subscription. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param service_name: The name of the private link service. - :type service_name: str - :param pe_connection_name: The name of the private end point - connection. - :type pe_connection_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: - :class:`ErrorException` - """ - raw_result = self._delete_private_endpoint_connection_initial( - resource_group_name=resource_group_name, - service_name=service_name, - pe_connection_name=pe_connection_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete_private_endpoint_connection.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateLinkServices/{serviceName}/privateEndpointConnections/{peConnectionName}'} - - def list_private_endpoint_connections( - self, resource_group_name, service_name, custom_headers=None, raw=False, **operation_config): - """Gets all private end point connections for a specific private link - service. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param service_name: The name of the private link service. - :type service_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of PrivateEndpointConnection - :rtype: - ~azure.mgmt.network.v2019_09_01.models.PrivateEndpointConnectionPaged[~azure.mgmt.network.v2019_09_01.models.PrivateEndpointConnection] - :raises: - :class:`ErrorException` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_private_endpoint_connections.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'serviceName': self._serialize.url("service_name", service_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorException(self._deserialize, response) - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.PrivateEndpointConnectionPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_private_endpoint_connections.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateLinkServices/{serviceName}/privateEndpointConnections'} - - def check_private_link_service_visibility( - self, location, private_link_service_alias=None, custom_headers=None, raw=False, **operation_config): - """Checks whether the subscription is visible to private link service. - - :param location: The location of the domain name. - :type location: str - :param private_link_service_alias: The alias of the private link - service. - :type private_link_service_alias: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: PrivateLinkServiceVisibility or ClientRawResponse if raw=true - :rtype: - ~azure.mgmt.network.v2019_09_01.models.PrivateLinkServiceVisibility or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - parameters = models.CheckPrivateLinkServiceVisibilityRequest(private_link_service_alias=private_link_service_alias) - - # Construct URL - url = self.check_private_link_service_visibility.metadata['url'] - path_format_arguments = { - 'location': self._serialize.url("location", location, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'CheckPrivateLinkServiceVisibilityRequest') - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('PrivateLinkServiceVisibility', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - check_private_link_service_visibility.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/checkPrivateLinkServiceVisibility'} - - def check_private_link_service_visibility_by_resource_group( - self, location, resource_group_name, private_link_service_alias=None, custom_headers=None, raw=False, **operation_config): - """Checks whether the subscription is visible to private link service in - the specified resource group. - - :param location: The location of the domain name. - :type location: str - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param private_link_service_alias: The alias of the private link - service. - :type private_link_service_alias: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: PrivateLinkServiceVisibility or ClientRawResponse if raw=true - :rtype: - ~azure.mgmt.network.v2019_09_01.models.PrivateLinkServiceVisibility or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - parameters = models.CheckPrivateLinkServiceVisibilityRequest(private_link_service_alias=private_link_service_alias) - - # Construct URL - url = self.check_private_link_service_visibility_by_resource_group.metadata['url'] - path_format_arguments = { - 'location': self._serialize.url("location", location, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'CheckPrivateLinkServiceVisibilityRequest') - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('PrivateLinkServiceVisibility', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - check_private_link_service_visibility_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/locations/{location}/checkPrivateLinkServiceVisibility'} - - def list_auto_approved_private_link_services( - self, location, custom_headers=None, raw=False, **operation_config): - """Returns all of the private link service ids that can be linked to a - Private Endpoint with auto approved in this subscription in this - region. - - :param location: The location of the domain name. - :type location: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of AutoApprovedPrivateLinkService - :rtype: - ~azure.mgmt.network.v2019_09_01.models.AutoApprovedPrivateLinkServicePaged[~azure.mgmt.network.v2019_09_01.models.AutoApprovedPrivateLinkService] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_auto_approved_private_link_services.metadata['url'] - path_format_arguments = { - 'location': self._serialize.url("location", location, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.AutoApprovedPrivateLinkServicePaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_auto_approved_private_link_services.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/autoApprovedPrivateLinkServices'} - - def list_auto_approved_private_link_services_by_resource_group( - self, location, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Returns all of the private link service ids that can be linked to a - Private Endpoint with auto approved in this subscription in this - region. - - :param location: The location of the domain name. - :type location: str - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of AutoApprovedPrivateLinkService - :rtype: - ~azure.mgmt.network.v2019_09_01.models.AutoApprovedPrivateLinkServicePaged[~azure.mgmt.network.v2019_09_01.models.AutoApprovedPrivateLinkService] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_auto_approved_private_link_services_by_resource_group.metadata['url'] - path_format_arguments = { - 'location': self._serialize.url("location", location, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.AutoApprovedPrivateLinkServicePaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_auto_approved_private_link_services_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/locations/{location}/autoApprovedPrivateLinkServices'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_public_ip_addresses_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_public_ip_addresses_operations.py deleted file mode 100644 index d71205f7e2c..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_public_ip_addresses_operations.py +++ /dev/null @@ -1,778 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class PublicIPAddressesOperations(object): - """PublicIPAddressesOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - - self.config = config - - - def _delete_initial( - self, resource_group_name, public_ip_address_name, custom_headers=None, raw=False, **operation_config): - api_version = "2019-09-01" - - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'publicIpAddressName': self._serialize.url("public_ip_address_name", public_ip_address_name, 'str'), - '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("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, public_ip_address_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified public IP address. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param public_ip_address_name: The name of the subnet. - :type public_ip_address_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - public_ip_address_name=public_ip_address_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses/{publicIpAddressName}'} - - def get( - self, resource_group_name, public_ip_address_name, expand=None, custom_headers=None, raw=False, **operation_config): - """Gets the specified public IP address in a specified resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param public_ip_address_name: The name of the subnet. - :type public_ip_address_name: str - :param expand: Expands referenced resources. - :type expand: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: PublicIPAddress or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_09_01.models.PublicIPAddress or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - api_version = "2019-09-01" - - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'publicIpAddressName': self._serialize.url("public_ip_address_name", public_ip_address_name, 'str'), - '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("api_version", api_version, 'str') - if expand is not None: - query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('PublicIPAddress', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses/{publicIpAddressName}'} - - - def _create_or_update_initial( - self, resource_group_name, public_ip_address_name, parameters, custom_headers=None, raw=False, **operation_config): - api_version = "2019-09-01" - - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'publicIpAddressName': self._serialize.url("public_ip_address_name", public_ip_address_name, 'str'), - '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("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'PublicIPAddress') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('PublicIPAddress', response) - if response.status_code == 201: - deserialized = self._deserialize('PublicIPAddress', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, public_ip_address_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates a static or dynamic public IP address. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param public_ip_address_name: The name of the public IP address. - :type public_ip_address_name: str - :param parameters: Parameters supplied to the create or update public - IP address operation. - :type parameters: - ~azure.mgmt.network.v2019_09_01.models.PublicIPAddress - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns PublicIPAddress or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.PublicIPAddress] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.PublicIPAddress]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - public_ip_address_name=public_ip_address_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('PublicIPAddress', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses/{publicIpAddressName}'} - - - def _update_tags_initial( - self, resource_group_name, public_ip_address_name, tags=None, custom_headers=None, raw=False, **operation_config): - parameters = models.TagsObject(tags=tags) - - api_version = "2019-09-01" - - # Construct URL - url = self.update_tags.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'publicIpAddressName': self._serialize.url("public_ip_address_name", public_ip_address_name, 'str'), - '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("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'TagsObject') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('PublicIPAddress', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def update_tags( - self, resource_group_name, public_ip_address_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Updates public IP address tags. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param public_ip_address_name: The name of the public IP address. - :type public_ip_address_name: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns PublicIPAddress or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.PublicIPAddress] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.PublicIPAddress]] - :raises: :class:`CloudError` - """ - raw_result = self._update_tags_initial( - resource_group_name=resource_group_name, - public_ip_address_name=public_ip_address_name, - tags=tags, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('PublicIPAddress', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses/{publicIpAddressName}'} - - def list_all( - self, custom_headers=None, raw=False, **operation_config): - """Gets all the public IP addresses in a subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of PublicIPAddress - :rtype: - ~azure.mgmt.network.v2019_09_01.models.PublicIPAddressPaged[~azure.mgmt.network.v2019_09_01.models.PublicIPAddress] - :raises: :class:`CloudError` - """ - api_version = "2019-09-01" - - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_all.metadata['url'] - path_format_arguments = { - '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("api_version", api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.PublicIPAddressPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/publicIPAddresses'} - - def list( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Gets all public IP addresses in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of PublicIPAddress - :rtype: - ~azure.mgmt.network.v2019_09_01.models.PublicIPAddressPaged[~azure.mgmt.network.v2019_09_01.models.PublicIPAddress] - :raises: :class:`CloudError` - """ - api_version = "2019-09-01" - - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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("api_version", api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.PublicIPAddressPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses'} - - def list_virtual_machine_scale_set_public_ip_addresses( - self, resource_group_name, virtual_machine_scale_set_name, custom_headers=None, raw=False, **operation_config): - """Gets information about all public IP addresses on a virtual machine - scale set level. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_machine_scale_set_name: The name of the virtual machine - scale set. - :type virtual_machine_scale_set_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of PublicIPAddress - :rtype: - ~azure.mgmt.network.v2019_09_01.models.PublicIPAddressPaged[~azure.mgmt.network.v2019_09_01.models.PublicIPAddress] - :raises: :class:`CloudError` - """ - api_version = "2018-10-01" - - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_virtual_machine_scale_set_public_ip_addresses.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualMachineScaleSetName': self._serialize.url("virtual_machine_scale_set_name", virtual_machine_scale_set_name, 'str'), - '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("api_version", api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.PublicIPAddressPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_virtual_machine_scale_set_public_ip_addresses.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/publicipaddresses'} - - def list_virtual_machine_scale_set_vm_public_ip_addresses( - self, resource_group_name, virtual_machine_scale_set_name, virtualmachine_index, network_interface_name, ip_configuration_name, custom_headers=None, raw=False, **operation_config): - """Gets information about all public IP addresses in a virtual machine IP - configuration in a virtual machine scale set. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_machine_scale_set_name: The name of the virtual machine - scale set. - :type virtual_machine_scale_set_name: str - :param virtualmachine_index: The virtual machine index. - :type virtualmachine_index: str - :param network_interface_name: The network interface name. - :type network_interface_name: str - :param ip_configuration_name: The IP configuration name. - :type ip_configuration_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of PublicIPAddress - :rtype: - ~azure.mgmt.network.v2019_09_01.models.PublicIPAddressPaged[~azure.mgmt.network.v2019_09_01.models.PublicIPAddress] - :raises: :class:`CloudError` - """ - api_version = "2018-10-01" - - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_virtual_machine_scale_set_vm_public_ip_addresses.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualMachineScaleSetName': self._serialize.url("virtual_machine_scale_set_name", virtual_machine_scale_set_name, 'str'), - 'virtualmachineIndex': self._serialize.url("virtualmachine_index", virtualmachine_index, 'str'), - 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), - 'ipConfigurationName': self._serialize.url("ip_configuration_name", ip_configuration_name, 'str'), - '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("api_version", api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.PublicIPAddressPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_virtual_machine_scale_set_vm_public_ip_addresses.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}/ipconfigurations/{ipConfigurationName}/publicipaddresses'} - - def get_virtual_machine_scale_set_public_ip_address( - self, resource_group_name, virtual_machine_scale_set_name, virtualmachine_index, network_interface_name, ip_configuration_name, public_ip_address_name, expand=None, custom_headers=None, raw=False, **operation_config): - """Get the specified public IP address in a virtual machine scale set. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_machine_scale_set_name: The name of the virtual machine - scale set. - :type virtual_machine_scale_set_name: str - :param virtualmachine_index: The virtual machine index. - :type virtualmachine_index: str - :param network_interface_name: The name of the network interface. - :type network_interface_name: str - :param ip_configuration_name: The name of the IP configuration. - :type ip_configuration_name: str - :param public_ip_address_name: The name of the public IP Address. - :type public_ip_address_name: str - :param expand: Expands referenced resources. - :type expand: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: PublicIPAddress or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_09_01.models.PublicIPAddress or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - api_version = "2018-10-01" - - # Construct URL - url = self.get_virtual_machine_scale_set_public_ip_address.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualMachineScaleSetName': self._serialize.url("virtual_machine_scale_set_name", virtual_machine_scale_set_name, 'str'), - 'virtualmachineIndex': self._serialize.url("virtualmachine_index", virtualmachine_index, 'str'), - 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), - 'ipConfigurationName': self._serialize.url("ip_configuration_name", ip_configuration_name, 'str'), - 'publicIpAddressName': self._serialize.url("public_ip_address_name", public_ip_address_name, 'str'), - '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("api_version", api_version, 'str') - if expand is not None: - query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('PublicIPAddress', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get_virtual_machine_scale_set_public_ip_address.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}/ipconfigurations/{ipConfigurationName}/publicipaddresses/{publicIpAddressName}'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_public_ip_prefixes_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_public_ip_prefixes_operations.py deleted file mode 100644 index c920a1be193..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_public_ip_prefixes_operations.py +++ /dev/null @@ -1,527 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class PublicIPPrefixesOperations(object): - """PublicIPPrefixesOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, public_ip_prefix_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'publicIpPrefixName': self._serialize.url("public_ip_prefix_name", public_ip_prefix_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, public_ip_prefix_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified public IP prefix. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param public_ip_prefix_name: The name of the PublicIpPrefix. - :type public_ip_prefix_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - public_ip_prefix_name=public_ip_prefix_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIpPrefixName}'} - - def get( - self, resource_group_name, public_ip_prefix_name, expand=None, custom_headers=None, raw=False, **operation_config): - """Gets the specified public IP prefix in a specified resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param public_ip_prefix_name: The name of the public IP prefix. - :type public_ip_prefix_name: str - :param expand: Expands referenced resources. - :type expand: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: PublicIPPrefix or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_09_01.models.PublicIPPrefix or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'publicIpPrefixName': self._serialize.url("public_ip_prefix_name", public_ip_prefix_name, 'str'), - '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.api_version", self.api_version, 'str') - if expand is not None: - query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('PublicIPPrefix', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIpPrefixName}'} - - - def _create_or_update_initial( - self, resource_group_name, public_ip_prefix_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'publicIpPrefixName': self._serialize.url("public_ip_prefix_name", public_ip_prefix_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'PublicIPPrefix') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('PublicIPPrefix', response) - if response.status_code == 201: - deserialized = self._deserialize('PublicIPPrefix', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, public_ip_prefix_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates a static or dynamic public IP prefix. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param public_ip_prefix_name: The name of the public IP prefix. - :type public_ip_prefix_name: str - :param parameters: Parameters supplied to the create or update public - IP prefix operation. - :type parameters: - ~azure.mgmt.network.v2019_09_01.models.PublicIPPrefix - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns PublicIPPrefix or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.PublicIPPrefix] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.PublicIPPrefix]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - public_ip_prefix_name=public_ip_prefix_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('PublicIPPrefix', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIpPrefixName}'} - - - def _update_tags_initial( - self, resource_group_name, public_ip_prefix_name, tags=None, custom_headers=None, raw=False, **operation_config): - parameters = models.TagsObject(tags=tags) - - # Construct URL - url = self.update_tags.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'publicIpPrefixName': self._serialize.url("public_ip_prefix_name", public_ip_prefix_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'TagsObject') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('PublicIPPrefix', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def update_tags( - self, resource_group_name, public_ip_prefix_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Updates public IP prefix tags. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param public_ip_prefix_name: The name of the public IP prefix. - :type public_ip_prefix_name: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns PublicIPPrefix or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.PublicIPPrefix] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.PublicIPPrefix]] - :raises: :class:`CloudError` - """ - raw_result = self._update_tags_initial( - resource_group_name=resource_group_name, - public_ip_prefix_name=public_ip_prefix_name, - tags=tags, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('PublicIPPrefix', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIpPrefixName}'} - - def list_all( - self, custom_headers=None, raw=False, **operation_config): - """Gets all the public IP prefixes in a subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of PublicIPPrefix - :rtype: - ~azure.mgmt.network.v2019_09_01.models.PublicIPPrefixPaged[~azure.mgmt.network.v2019_09_01.models.PublicIPPrefix] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_all.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.PublicIPPrefixPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/publicIPPrefixes'} - - def list( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Gets all public IP prefixes in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of PublicIPPrefix - :rtype: - ~azure.mgmt.network.v2019_09_01.models.PublicIPPrefixPaged[~azure.mgmt.network.v2019_09_01.models.PublicIPPrefix] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.PublicIPPrefixPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_resource_navigation_links_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_resource_navigation_links_operations.py deleted file mode 100644 index 593b2d383b5..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_resource_navigation_links_operations.py +++ /dev/null @@ -1,106 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError - -from .. import models - - -class ResourceNavigationLinksOperations(object): - """ResourceNavigationLinksOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01" - - self.config = config - - def list( - self, resource_group_name, virtual_network_name, subnet_name, custom_headers=None, raw=False, **operation_config): - """Gets a list of resource navigation links for a subnet. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_name: The name of the virtual network. - :type virtual_network_name: str - :param subnet_name: The name of the subnet. - :type subnet_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ResourceNavigationLinksListResult or ClientRawResponse if - raw=true - :rtype: - ~azure.mgmt.network.v2019_09_01.models.ResourceNavigationLinksListResult - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), - 'subnetName': self._serialize.url("subnet_name", subnet_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ResourceNavigationLinksListResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}/ResourceNavigationLinks'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_route_filter_rules_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_route_filter_rules_operations.py deleted file mode 100644 index 216df8c7082..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_route_filter_rules_operations.py +++ /dev/null @@ -1,475 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class RouteFilterRulesOperations(object): - """RouteFilterRulesOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, route_filter_name, rule_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'routeFilterName': self._serialize.url("route_filter_name", route_filter_name, 'str'), - 'ruleName': self._serialize.url("rule_name", rule_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, route_filter_name, rule_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified rule from a route filter. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param route_filter_name: The name of the route filter. - :type route_filter_name: str - :param rule_name: The name of the rule. - :type rule_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - route_filter_name=route_filter_name, - rule_name=rule_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}/routeFilterRules/{ruleName}'} - - def get( - self, resource_group_name, route_filter_name, rule_name, custom_headers=None, raw=False, **operation_config): - """Gets the specified rule from a route filter. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param route_filter_name: The name of the route filter. - :type route_filter_name: str - :param rule_name: The name of the rule. - :type rule_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: RouteFilterRule or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_09_01.models.RouteFilterRule or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'routeFilterName': self._serialize.url("route_filter_name", route_filter_name, 'str'), - 'ruleName': self._serialize.url("rule_name", rule_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('RouteFilterRule', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}/routeFilterRules/{ruleName}'} - - - def _create_or_update_initial( - self, resource_group_name, route_filter_name, rule_name, route_filter_rule_parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'routeFilterName': self._serialize.url("route_filter_name", route_filter_name, 'str'), - 'ruleName': self._serialize.url("rule_name", rule_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(route_filter_rule_parameters, 'RouteFilterRule') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('RouteFilterRule', response) - if response.status_code == 201: - deserialized = self._deserialize('RouteFilterRule', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, route_filter_name, rule_name, route_filter_rule_parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates a route in the specified route filter. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param route_filter_name: The name of the route filter. - :type route_filter_name: str - :param rule_name: The name of the route filter rule. - :type rule_name: str - :param route_filter_rule_parameters: Parameters supplied to the create - or update route filter rule operation. - :type route_filter_rule_parameters: - ~azure.mgmt.network.v2019_09_01.models.RouteFilterRule - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns RouteFilterRule or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.RouteFilterRule] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.RouteFilterRule]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - route_filter_name=route_filter_name, - rule_name=rule_name, - route_filter_rule_parameters=route_filter_rule_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('RouteFilterRule', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}/routeFilterRules/{ruleName}'} - - - def _update_initial( - self, resource_group_name, route_filter_name, rule_name, route_filter_rule_parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'routeFilterName': self._serialize.url("route_filter_name", route_filter_name, 'str'), - 'ruleName': self._serialize.url("rule_name", rule_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(route_filter_rule_parameters, 'PatchRouteFilterRule') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('RouteFilterRule', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def update( - self, resource_group_name, route_filter_name, rule_name, route_filter_rule_parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Updates a route in the specified route filter. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param route_filter_name: The name of the route filter. - :type route_filter_name: str - :param rule_name: The name of the route filter rule. - :type rule_name: str - :param route_filter_rule_parameters: Parameters supplied to the update - route filter rule operation. - :type route_filter_rule_parameters: - ~azure.mgmt.network.v2019_09_01.models.PatchRouteFilterRule - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns RouteFilterRule or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.RouteFilterRule] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.RouteFilterRule]] - :raises: :class:`CloudError` - """ - raw_result = self._update_initial( - resource_group_name=resource_group_name, - route_filter_name=route_filter_name, - rule_name=rule_name, - route_filter_rule_parameters=route_filter_rule_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('RouteFilterRule', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}/routeFilterRules/{ruleName}'} - - def list_by_route_filter( - self, resource_group_name, route_filter_name, custom_headers=None, raw=False, **operation_config): - """Gets all RouteFilterRules in a route filter. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param route_filter_name: The name of the route filter. - :type route_filter_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of RouteFilterRule - :rtype: - ~azure.mgmt.network.v2019_09_01.models.RouteFilterRulePaged[~azure.mgmt.network.v2019_09_01.models.RouteFilterRule] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_by_route_filter.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'routeFilterName': self._serialize.url("route_filter_name", route_filter_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.RouteFilterRulePaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_by_route_filter.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}/routeFilterRules'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_route_filters_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_route_filters_operations.py deleted file mode 100644 index 54eed96694e..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_route_filters_operations.py +++ /dev/null @@ -1,527 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class RouteFiltersOperations(object): - """RouteFiltersOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, route_filter_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'routeFilterName': self._serialize.url("route_filter_name", route_filter_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, route_filter_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified route filter. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param route_filter_name: The name of the route filter. - :type route_filter_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - route_filter_name=route_filter_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}'} - - def get( - self, resource_group_name, route_filter_name, expand=None, custom_headers=None, raw=False, **operation_config): - """Gets the specified route filter. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param route_filter_name: The name of the route filter. - :type route_filter_name: str - :param expand: Expands referenced express route bgp peering resources. - :type expand: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: RouteFilter or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_09_01.models.RouteFilter or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'routeFilterName': self._serialize.url("route_filter_name", route_filter_name, 'str'), - '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.api_version", self.api_version, 'str') - if expand is not None: - query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('RouteFilter', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}'} - - - def _create_or_update_initial( - self, resource_group_name, route_filter_name, route_filter_parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'routeFilterName': self._serialize.url("route_filter_name", route_filter_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(route_filter_parameters, 'RouteFilter') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('RouteFilter', response) - if response.status_code == 201: - deserialized = self._deserialize('RouteFilter', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, route_filter_name, route_filter_parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates a route filter in a specified resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param route_filter_name: The name of the route filter. - :type route_filter_name: str - :param route_filter_parameters: Parameters supplied to the create or - update route filter operation. - :type route_filter_parameters: - ~azure.mgmt.network.v2019_09_01.models.RouteFilter - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns RouteFilter or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.RouteFilter] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.RouteFilter]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - route_filter_name=route_filter_name, - route_filter_parameters=route_filter_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('RouteFilter', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}'} - - - def _update_initial( - self, resource_group_name, route_filter_name, route_filter_parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'routeFilterName': self._serialize.url("route_filter_name", route_filter_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(route_filter_parameters, 'PatchRouteFilter') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('RouteFilter', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def update( - self, resource_group_name, route_filter_name, route_filter_parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Updates a route filter in a specified resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param route_filter_name: The name of the route filter. - :type route_filter_name: str - :param route_filter_parameters: Parameters supplied to the update - route filter operation. - :type route_filter_parameters: - ~azure.mgmt.network.v2019_09_01.models.PatchRouteFilter - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns RouteFilter or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.RouteFilter] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.RouteFilter]] - :raises: :class:`CloudError` - """ - raw_result = self._update_initial( - resource_group_name=resource_group_name, - route_filter_name=route_filter_name, - route_filter_parameters=route_filter_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('RouteFilter', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}'} - - def list_by_resource_group( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Gets all route filters in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of RouteFilter - :rtype: - ~azure.mgmt.network.v2019_09_01.models.RouteFilterPaged[~azure.mgmt.network.v2019_09_01.models.RouteFilter] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_by_resource_group.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.RouteFilterPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters'} - - def list( - self, custom_headers=None, raw=False, **operation_config): - """Gets all route filters in a subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of RouteFilter - :rtype: - ~azure.mgmt.network.v2019_09_01.models.RouteFilterPaged[~azure.mgmt.network.v2019_09_01.models.RouteFilter] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.RouteFilterPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/routeFilters'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_route_tables_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_route_tables_operations.py deleted file mode 100644 index bc29952f232..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_route_tables_operations.py +++ /dev/null @@ -1,526 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class RouteTablesOperations(object): - """RouteTablesOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, route_table_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'routeTableName': self._serialize.url("route_table_name", route_table_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, route_table_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified route table. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param route_table_name: The name of the route table. - :type route_table_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - route_table_name=route_table_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}'} - - def get( - self, resource_group_name, route_table_name, expand=None, custom_headers=None, raw=False, **operation_config): - """Gets the specified route table. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param route_table_name: The name of the route table. - :type route_table_name: str - :param expand: Expands referenced resources. - :type expand: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: RouteTable or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_09_01.models.RouteTable or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'routeTableName': self._serialize.url("route_table_name", route_table_name, 'str'), - '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.api_version", self.api_version, 'str') - if expand is not None: - query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('RouteTable', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}'} - - - def _create_or_update_initial( - self, resource_group_name, route_table_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'routeTableName': self._serialize.url("route_table_name", route_table_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'RouteTable') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('RouteTable', response) - if response.status_code == 201: - deserialized = self._deserialize('RouteTable', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, route_table_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Create or updates a route table in a specified resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param route_table_name: The name of the route table. - :type route_table_name: str - :param parameters: Parameters supplied to the create or update route - table operation. - :type parameters: ~azure.mgmt.network.v2019_09_01.models.RouteTable - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns RouteTable or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.RouteTable] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.RouteTable]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - route_table_name=route_table_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('RouteTable', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}'} - - - def _update_tags_initial( - self, resource_group_name, route_table_name, tags=None, custom_headers=None, raw=False, **operation_config): - parameters = models.TagsObject(tags=tags) - - # Construct URL - url = self.update_tags.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'routeTableName': self._serialize.url("route_table_name", route_table_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'TagsObject') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('RouteTable', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def update_tags( - self, resource_group_name, route_table_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Updates a route table tags. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param route_table_name: The name of the route table. - :type route_table_name: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns RouteTable or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.RouteTable] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.RouteTable]] - :raises: :class:`CloudError` - """ - raw_result = self._update_tags_initial( - resource_group_name=resource_group_name, - route_table_name=route_table_name, - tags=tags, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('RouteTable', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}'} - - def list( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Gets all route tables in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of RouteTable - :rtype: - ~azure.mgmt.network.v2019_09_01.models.RouteTablePaged[~azure.mgmt.network.v2019_09_01.models.RouteTable] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.RouteTablePaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables'} - - def list_all( - self, custom_headers=None, raw=False, **operation_config): - """Gets all route tables in a subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of RouteTable - :rtype: - ~azure.mgmt.network.v2019_09_01.models.RouteTablePaged[~azure.mgmt.network.v2019_09_01.models.RouteTable] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_all.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.RouteTablePaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/routeTables'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_routes_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_routes_operations.py deleted file mode 100644 index 1f22e783dc7..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_routes_operations.py +++ /dev/null @@ -1,368 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class RoutesOperations(object): - """RoutesOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, route_table_name, route_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'routeTableName': self._serialize.url("route_table_name", route_table_name, 'str'), - 'routeName': self._serialize.url("route_name", route_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, route_table_name, route_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified route from a route table. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param route_table_name: The name of the route table. - :type route_table_name: str - :param route_name: The name of the route. - :type route_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - route_table_name=route_table_name, - route_name=route_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}/routes/{routeName}'} - - def get( - self, resource_group_name, route_table_name, route_name, custom_headers=None, raw=False, **operation_config): - """Gets the specified route from a route table. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param route_table_name: The name of the route table. - :type route_table_name: str - :param route_name: The name of the route. - :type route_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: Route or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_09_01.models.Route or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'routeTableName': self._serialize.url("route_table_name", route_table_name, 'str'), - 'routeName': self._serialize.url("route_name", route_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('Route', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}/routes/{routeName}'} - - - def _create_or_update_initial( - self, resource_group_name, route_table_name, route_name, route_parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'routeTableName': self._serialize.url("route_table_name", route_table_name, 'str'), - 'routeName': self._serialize.url("route_name", route_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(route_parameters, 'Route') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('Route', response) - if response.status_code == 201: - deserialized = self._deserialize('Route', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, route_table_name, route_name, route_parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates a route in the specified route table. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param route_table_name: The name of the route table. - :type route_table_name: str - :param route_name: The name of the route. - :type route_name: str - :param route_parameters: Parameters supplied to the create or update - route operation. - :type route_parameters: ~azure.mgmt.network.v2019_09_01.models.Route - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns Route or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.Route] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.Route]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - route_table_name=route_table_name, - route_name=route_name, - route_parameters=route_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('Route', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}/routes/{routeName}'} - - def list( - self, resource_group_name, route_table_name, custom_headers=None, raw=False, **operation_config): - """Gets all routes in a route table. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param route_table_name: The name of the route table. - :type route_table_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of Route - :rtype: - ~azure.mgmt.network.v2019_09_01.models.RoutePaged[~azure.mgmt.network.v2019_09_01.models.Route] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'routeTableName': self._serialize.url("route_table_name", route_table_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.RoutePaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}/routes'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_security_rules_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_security_rules_operations.py deleted file mode 100644 index f3123894b8d..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_security_rules_operations.py +++ /dev/null @@ -1,374 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class SecurityRulesOperations(object): - """SecurityRulesOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, network_security_group_name, security_rule_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkSecurityGroupName': self._serialize.url("network_security_group_name", network_security_group_name, 'str'), - 'securityRuleName': self._serialize.url("security_rule_name", security_rule_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, network_security_group_name, security_rule_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified network security rule. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_security_group_name: The name of the network security - group. - :type network_security_group_name: str - :param security_rule_name: The name of the security rule. - :type security_rule_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - network_security_group_name=network_security_group_name, - security_rule_name=security_rule_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/securityRules/{securityRuleName}'} - - def get( - self, resource_group_name, network_security_group_name, security_rule_name, custom_headers=None, raw=False, **operation_config): - """Get the specified network security rule. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_security_group_name: The name of the network security - group. - :type network_security_group_name: str - :param security_rule_name: The name of the security rule. - :type security_rule_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: SecurityRule or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_09_01.models.SecurityRule or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkSecurityGroupName': self._serialize.url("network_security_group_name", network_security_group_name, 'str'), - 'securityRuleName': self._serialize.url("security_rule_name", security_rule_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('SecurityRule', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/securityRules/{securityRuleName}'} - - - def _create_or_update_initial( - self, resource_group_name, network_security_group_name, security_rule_name, security_rule_parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkSecurityGroupName': self._serialize.url("network_security_group_name", network_security_group_name, 'str'), - 'securityRuleName': self._serialize.url("security_rule_name", security_rule_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(security_rule_parameters, 'SecurityRule') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('SecurityRule', response) - if response.status_code == 201: - deserialized = self._deserialize('SecurityRule', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, network_security_group_name, security_rule_name, security_rule_parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates a security rule in the specified network security - group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_security_group_name: The name of the network security - group. - :type network_security_group_name: str - :param security_rule_name: The name of the security rule. - :type security_rule_name: str - :param security_rule_parameters: Parameters supplied to the create or - update network security rule operation. - :type security_rule_parameters: - ~azure.mgmt.network.v2019_09_01.models.SecurityRule - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns SecurityRule or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.SecurityRule] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.SecurityRule]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - network_security_group_name=network_security_group_name, - security_rule_name=security_rule_name, - security_rule_parameters=security_rule_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('SecurityRule', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/securityRules/{securityRuleName}'} - - def list( - self, resource_group_name, network_security_group_name, custom_headers=None, raw=False, **operation_config): - """Gets all security rules in a network security group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_security_group_name: The name of the network security - group. - :type network_security_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of SecurityRule - :rtype: - ~azure.mgmt.network.v2019_09_01.models.SecurityRulePaged[~azure.mgmt.network.v2019_09_01.models.SecurityRule] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkSecurityGroupName': self._serialize.url("network_security_group_name", network_security_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.SecurityRulePaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/securityRules'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_service_association_links_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_service_association_links_operations.py deleted file mode 100644 index f35ff18e046..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_service_association_links_operations.py +++ /dev/null @@ -1,106 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError - -from .. import models - - -class ServiceAssociationLinksOperations(object): - """ServiceAssociationLinksOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01" - - self.config = config - - def list( - self, resource_group_name, virtual_network_name, subnet_name, custom_headers=None, raw=False, **operation_config): - """Gets a list of service association links for a subnet. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_name: The name of the virtual network. - :type virtual_network_name: str - :param subnet_name: The name of the subnet. - :type subnet_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ServiceAssociationLinksListResult or ClientRawResponse if - raw=true - :rtype: - ~azure.mgmt.network.v2019_09_01.models.ServiceAssociationLinksListResult - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), - 'subnetName': self._serialize.url("subnet_name", subnet_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ServiceAssociationLinksListResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}/ServiceAssociationLinks'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_service_endpoint_policies_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_service_endpoint_policies_operations.py deleted file mode 100644 index 4f928f518c3..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_service_endpoint_policies_operations.py +++ /dev/null @@ -1,532 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class ServiceEndpointPoliciesOperations(object): - """ServiceEndpointPoliciesOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, service_endpoint_policy_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'serviceEndpointPolicyName': self._serialize.url("service_endpoint_policy_name", service_endpoint_policy_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, service_endpoint_policy_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified service endpoint policy. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param service_endpoint_policy_name: The name of the service endpoint - policy. - :type service_endpoint_policy_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - service_endpoint_policy_name=service_endpoint_policy_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/serviceEndpointPolicies/{serviceEndpointPolicyName}'} - - def get( - self, resource_group_name, service_endpoint_policy_name, expand=None, custom_headers=None, raw=False, **operation_config): - """Gets the specified service Endpoint Policies in a specified resource - group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param service_endpoint_policy_name: The name of the service endpoint - policy. - :type service_endpoint_policy_name: str - :param expand: Expands referenced resources. - :type expand: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ServiceEndpointPolicy or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_09_01.models.ServiceEndpointPolicy - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'serviceEndpointPolicyName': self._serialize.url("service_endpoint_policy_name", service_endpoint_policy_name, 'str'), - '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.api_version", self.api_version, 'str') - if expand is not None: - query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ServiceEndpointPolicy', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/serviceEndpointPolicies/{serviceEndpointPolicyName}'} - - - def _create_or_update_initial( - self, resource_group_name, service_endpoint_policy_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'serviceEndpointPolicyName': self._serialize.url("service_endpoint_policy_name", service_endpoint_policy_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'ServiceEndpointPolicy') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('ServiceEndpointPolicy', response) - if response.status_code == 201: - deserialized = self._deserialize('ServiceEndpointPolicy', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, service_endpoint_policy_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates a service Endpoint Policies. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param service_endpoint_policy_name: The name of the service endpoint - policy. - :type service_endpoint_policy_name: str - :param parameters: Parameters supplied to the create or update service - endpoint policy operation. - :type parameters: - ~azure.mgmt.network.v2019_09_01.models.ServiceEndpointPolicy - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns ServiceEndpointPolicy - or ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.ServiceEndpointPolicy] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.ServiceEndpointPolicy]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - service_endpoint_policy_name=service_endpoint_policy_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ServiceEndpointPolicy', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/serviceEndpointPolicies/{serviceEndpointPolicyName}'} - - - def _update_initial( - self, resource_group_name, service_endpoint_policy_name, tags=None, custom_headers=None, raw=False, **operation_config): - parameters = models.TagsObject(tags=tags) - - # Construct URL - url = self.update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'serviceEndpointPolicyName': self._serialize.url("service_endpoint_policy_name", service_endpoint_policy_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'TagsObject') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ServiceEndpointPolicy', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def update( - self, resource_group_name, service_endpoint_policy_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Updates service Endpoint Policies. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param service_endpoint_policy_name: The name of the service endpoint - policy. - :type service_endpoint_policy_name: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns ServiceEndpointPolicy - or ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.ServiceEndpointPolicy] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.ServiceEndpointPolicy]] - :raises: :class:`CloudError` - """ - raw_result = self._update_initial( - resource_group_name=resource_group_name, - service_endpoint_policy_name=service_endpoint_policy_name, - tags=tags, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ServiceEndpointPolicy', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/serviceEndpointPolicies/{serviceEndpointPolicyName}'} - - def list( - self, custom_headers=None, raw=False, **operation_config): - """Gets all the service endpoint policies in a subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of ServiceEndpointPolicy - :rtype: - ~azure.mgmt.network.v2019_09_01.models.ServiceEndpointPolicyPaged[~azure.mgmt.network.v2019_09_01.models.ServiceEndpointPolicy] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.ServiceEndpointPolicyPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/ServiceEndpointPolicies'} - - def list_by_resource_group( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Gets all service endpoint Policies in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of ServiceEndpointPolicy - :rtype: - ~azure.mgmt.network.v2019_09_01.models.ServiceEndpointPolicyPaged[~azure.mgmt.network.v2019_09_01.models.ServiceEndpointPolicy] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_by_resource_group.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.ServiceEndpointPolicyPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/serviceEndpointPolicies'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_service_endpoint_policy_definitions_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_service_endpoint_policy_definitions_operations.py deleted file mode 100644 index 242bc295f42..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_service_endpoint_policy_definitions_operations.py +++ /dev/null @@ -1,382 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class ServiceEndpointPolicyDefinitionsOperations(object): - """ServiceEndpointPolicyDefinitionsOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, service_endpoint_policy_name, service_endpoint_policy_definition_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'serviceEndpointPolicyName': self._serialize.url("service_endpoint_policy_name", service_endpoint_policy_name, 'str'), - 'serviceEndpointPolicyDefinitionName': self._serialize.url("service_endpoint_policy_definition_name", service_endpoint_policy_definition_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, service_endpoint_policy_name, service_endpoint_policy_definition_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified ServiceEndpoint policy definitions. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param service_endpoint_policy_name: The name of the Service Endpoint - Policy. - :type service_endpoint_policy_name: str - :param service_endpoint_policy_definition_name: The name of the - service endpoint policy definition. - :type service_endpoint_policy_definition_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - service_endpoint_policy_name=service_endpoint_policy_name, - service_endpoint_policy_definition_name=service_endpoint_policy_definition_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/serviceEndpointPolicies/{serviceEndpointPolicyName}/serviceEndpointPolicyDefinitions/{serviceEndpointPolicyDefinitionName}'} - - def get( - self, resource_group_name, service_endpoint_policy_name, service_endpoint_policy_definition_name, custom_headers=None, raw=False, **operation_config): - """Get the specified service endpoint policy definitions from service - endpoint policy. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param service_endpoint_policy_name: The name of the service endpoint - policy name. - :type service_endpoint_policy_name: str - :param service_endpoint_policy_definition_name: The name of the - service endpoint policy definition name. - :type service_endpoint_policy_definition_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ServiceEndpointPolicyDefinition or ClientRawResponse if - raw=true - :rtype: - ~azure.mgmt.network.v2019_09_01.models.ServiceEndpointPolicyDefinition - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'serviceEndpointPolicyName': self._serialize.url("service_endpoint_policy_name", service_endpoint_policy_name, 'str'), - 'serviceEndpointPolicyDefinitionName': self._serialize.url("service_endpoint_policy_definition_name", service_endpoint_policy_definition_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ServiceEndpointPolicyDefinition', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/serviceEndpointPolicies/{serviceEndpointPolicyName}/serviceEndpointPolicyDefinitions/{serviceEndpointPolicyDefinitionName}'} - - - def _create_or_update_initial( - self, resource_group_name, service_endpoint_policy_name, service_endpoint_policy_definition_name, service_endpoint_policy_definitions, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'serviceEndpointPolicyName': self._serialize.url("service_endpoint_policy_name", service_endpoint_policy_name, 'str'), - 'serviceEndpointPolicyDefinitionName': self._serialize.url("service_endpoint_policy_definition_name", service_endpoint_policy_definition_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(service_endpoint_policy_definitions, 'ServiceEndpointPolicyDefinition') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('ServiceEndpointPolicyDefinition', response) - if response.status_code == 201: - deserialized = self._deserialize('ServiceEndpointPolicyDefinition', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, service_endpoint_policy_name, service_endpoint_policy_definition_name, service_endpoint_policy_definitions, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates a service endpoint policy definition in the - specified service endpoint policy. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param service_endpoint_policy_name: The name of the service endpoint - policy. - :type service_endpoint_policy_name: str - :param service_endpoint_policy_definition_name: The name of the - service endpoint policy definition name. - :type service_endpoint_policy_definition_name: str - :param service_endpoint_policy_definitions: Parameters supplied to the - create or update service endpoint policy operation. - :type service_endpoint_policy_definitions: - ~azure.mgmt.network.v2019_09_01.models.ServiceEndpointPolicyDefinition - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - ServiceEndpointPolicyDefinition or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.ServiceEndpointPolicyDefinition] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.ServiceEndpointPolicyDefinition]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - service_endpoint_policy_name=service_endpoint_policy_name, - service_endpoint_policy_definition_name=service_endpoint_policy_definition_name, - service_endpoint_policy_definitions=service_endpoint_policy_definitions, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ServiceEndpointPolicyDefinition', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/serviceEndpointPolicies/{serviceEndpointPolicyName}/serviceEndpointPolicyDefinitions/{serviceEndpointPolicyDefinitionName}'} - - def list_by_resource_group( - self, resource_group_name, service_endpoint_policy_name, custom_headers=None, raw=False, **operation_config): - """Gets all service endpoint policy definitions in a service end point - policy. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param service_endpoint_policy_name: The name of the service endpoint - policy name. - :type service_endpoint_policy_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of ServiceEndpointPolicyDefinition - :rtype: - ~azure.mgmt.network.v2019_09_01.models.ServiceEndpointPolicyDefinitionPaged[~azure.mgmt.network.v2019_09_01.models.ServiceEndpointPolicyDefinition] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_by_resource_group.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'serviceEndpointPolicyName': self._serialize.url("service_endpoint_policy_name", service_endpoint_policy_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.ServiceEndpointPolicyDefinitionPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/serviceEndpointPolicies/{serviceEndpointPolicyName}/serviceEndpointPolicyDefinitions'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_service_tags_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_service_tags_operations.py deleted file mode 100644 index 849e538c203..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_service_tags_operations.py +++ /dev/null @@ -1,101 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError - -from .. import models - - -class ServiceTagsOperations(object): - """ServiceTagsOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01" - - self.config = config - - def list( - self, location, custom_headers=None, raw=False, **operation_config): - """Gets a list of service tag information resources. - - :param location: The location that will be used as a reference for - version (not as a filter based on location, you will get the list of - service tags with prefix details across all regions but limited to the - cloud that your subscription belongs to). - :type location: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ServiceTagsListResult or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_09_01.models.ServiceTagsListResult - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'location': self._serialize.url("location", location, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ServiceTagsListResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/serviceTags'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_subnets_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_subnets_operations.py deleted file mode 100644 index 798b9cc118c..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_subnets_operations.py +++ /dev/null @@ -1,563 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class SubnetsOperations(object): - """SubnetsOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, virtual_network_name, subnet_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), - 'subnetName': self._serialize.url("subnet_name", subnet_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, virtual_network_name, subnet_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified subnet. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_name: The name of the virtual network. - :type virtual_network_name: str - :param subnet_name: The name of the subnet. - :type subnet_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - virtual_network_name=virtual_network_name, - subnet_name=subnet_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}'} - - def get( - self, resource_group_name, virtual_network_name, subnet_name, expand=None, custom_headers=None, raw=False, **operation_config): - """Gets the specified subnet by virtual network and resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_name: The name of the virtual network. - :type virtual_network_name: str - :param subnet_name: The name of the subnet. - :type subnet_name: str - :param expand: Expands referenced resources. - :type expand: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: Subnet or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_09_01.models.Subnet or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), - 'subnetName': self._serialize.url("subnet_name", subnet_name, 'str'), - '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.api_version", self.api_version, 'str') - if expand is not None: - query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('Subnet', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}'} - - - def _create_or_update_initial( - self, resource_group_name, virtual_network_name, subnet_name, subnet_parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), - 'subnetName': self._serialize.url("subnet_name", subnet_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(subnet_parameters, 'Subnet') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('Subnet', response) - if response.status_code == 201: - deserialized = self._deserialize('Subnet', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, virtual_network_name, subnet_name, subnet_parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates a subnet in the specified virtual network. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_name: The name of the virtual network. - :type virtual_network_name: str - :param subnet_name: The name of the subnet. - :type subnet_name: str - :param subnet_parameters: Parameters supplied to the create or update - subnet operation. - :type subnet_parameters: ~azure.mgmt.network.v2019_09_01.models.Subnet - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns Subnet or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.Subnet] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.Subnet]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - virtual_network_name=virtual_network_name, - subnet_name=subnet_name, - subnet_parameters=subnet_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('Subnet', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}'} - - - def _prepare_network_policies_initial( - self, resource_group_name, virtual_network_name, subnet_name, service_name=None, network_intent_policy_configurations=None, custom_headers=None, raw=False, **operation_config): - prepare_network_policies_request_parameters = models.PrepareNetworkPoliciesRequest(service_name=service_name, network_intent_policy_configurations=network_intent_policy_configurations) - - # Construct URL - url = self.prepare_network_policies.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), - 'subnetName': self._serialize.url("subnet_name", subnet_name, 'str'), - '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.api_version", self.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(prepare_network_policies_request_parameters, 'PrepareNetworkPoliciesRequest') - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def prepare_network_policies( - self, resource_group_name, virtual_network_name, subnet_name, service_name=None, network_intent_policy_configurations=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Prepares a subnet by applying network intent policies. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_name: The name of the virtual network. - :type virtual_network_name: str - :param subnet_name: The name of the subnet. - :type subnet_name: str - :param service_name: The name of the service for which subnet is being - prepared for. - :type service_name: str - :param network_intent_policy_configurations: A list of - NetworkIntentPolicyConfiguration. - :type network_intent_policy_configurations: - list[~azure.mgmt.network.v2019_09_01.models.NetworkIntentPolicyConfiguration] - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._prepare_network_policies_initial( - resource_group_name=resource_group_name, - virtual_network_name=virtual_network_name, - subnet_name=subnet_name, - service_name=service_name, - network_intent_policy_configurations=network_intent_policy_configurations, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - prepare_network_policies.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}/PrepareNetworkPolicies'} - - - def _unprepare_network_policies_initial( - self, resource_group_name, virtual_network_name, subnet_name, service_name=None, custom_headers=None, raw=False, **operation_config): - unprepare_network_policies_request_parameters = models.UnprepareNetworkPoliciesRequest(service_name=service_name) - - # Construct URL - url = self.unprepare_network_policies.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), - 'subnetName': self._serialize.url("subnet_name", subnet_name, 'str'), - '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.api_version", self.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(unprepare_network_policies_request_parameters, 'UnprepareNetworkPoliciesRequest') - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def unprepare_network_policies( - self, resource_group_name, virtual_network_name, subnet_name, service_name=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Unprepares a subnet by removing network intent policies. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_name: The name of the virtual network. - :type virtual_network_name: str - :param subnet_name: The name of the subnet. - :type subnet_name: str - :param service_name: The name of the service for which subnet is being - unprepared for. - :type service_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._unprepare_network_policies_initial( - resource_group_name=resource_group_name, - virtual_network_name=virtual_network_name, - subnet_name=subnet_name, - service_name=service_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - unprepare_network_policies.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}/UnprepareNetworkPolicies'} - - def list( - self, resource_group_name, virtual_network_name, custom_headers=None, raw=False, **operation_config): - """Gets all subnets in a virtual network. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_name: The name of the virtual network. - :type virtual_network_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of Subnet - :rtype: - ~azure.mgmt.network.v2019_09_01.models.SubnetPaged[~azure.mgmt.network.v2019_09_01.models.Subnet] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.SubnetPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_usages_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_usages_operations.py deleted file mode 100644 index 0b4a8d673eb..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_usages_operations.py +++ /dev/null @@ -1,109 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError - -from .. import models - - -class UsagesOperations(object): - """UsagesOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01" - - self.config = config - - def list( - self, location, custom_headers=None, raw=False, **operation_config): - """List network usages for a subscription. - - :param location: The location where resource usage is queried. - :type location: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of Usage - :rtype: - ~azure.mgmt.network.v2019_09_01.models.UsagePaged[~azure.mgmt.network.v2019_09_01.models.Usage] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'location': self._serialize.url("location", location, 'str', pattern=r'^[-\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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.UsagePaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/usages'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_virtual_hub_route_table_v2s_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_virtual_hub_route_table_v2s_operations.py deleted file mode 100644 index cbdb52935d3..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_virtual_hub_route_table_v2s_operations.py +++ /dev/null @@ -1,369 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class VirtualHubRouteTableV2sOperations(object): - """VirtualHubRouteTableV2sOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01" - - self.config = config - - def get( - self, resource_group_name, virtual_hub_name, route_table_name, custom_headers=None, raw=False, **operation_config): - """Retrieves the details of a VirtualHubRouteTableV2. - - :param resource_group_name: The resource group name of the - VirtualHubRouteTableV2. - :type resource_group_name: str - :param virtual_hub_name: The name of the VirtualHub. - :type virtual_hub_name: str - :param route_table_name: The name of the VirtualHubRouteTableV2. - :type route_table_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: VirtualHubRouteTableV2 or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_09_01.models.VirtualHubRouteTableV2 - or ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorException` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualHubName': self._serialize.url("virtual_hub_name", virtual_hub_name, 'str'), - 'routeTableName': self._serialize.url("route_table_name", route_table_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorException(self._deserialize, response) - - deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('VirtualHubRouteTableV2', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}/routeTables/{routeTableName}'} - - - def _create_or_update_initial( - self, resource_group_name, virtual_hub_name, route_table_name, virtual_hub_route_table_v2_parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualHubName': self._serialize.url("virtual_hub_name", virtual_hub_name, 'str'), - 'routeTableName': self._serialize.url("route_table_name", route_table_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(virtual_hub_route_table_v2_parameters, 'VirtualHubRouteTableV2') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 201]: - raise models.ErrorException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('VirtualHubRouteTableV2', response) - if response.status_code == 201: - deserialized = self._deserialize('VirtualHubRouteTableV2', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, virtual_hub_name, route_table_name, virtual_hub_route_table_v2_parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates a VirtualHubRouteTableV2 resource if it doesn't exist else - updates the existing VirtualHubRouteTableV2. - - :param resource_group_name: The resource group name of the VirtualHub. - :type resource_group_name: str - :param virtual_hub_name: The name of the VirtualHub. - :type virtual_hub_name: str - :param route_table_name: The name of the VirtualHubRouteTableV2. - :type route_table_name: str - :param virtual_hub_route_table_v2_parameters: Parameters supplied to - create or update VirtualHubRouteTableV2. - :type virtual_hub_route_table_v2_parameters: - ~azure.mgmt.network.v2019_09_01.models.VirtualHubRouteTableV2 - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns VirtualHubRouteTableV2 - or ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.VirtualHubRouteTableV2] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.VirtualHubRouteTableV2]] - :raises: - :class:`ErrorException` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - virtual_hub_name=virtual_hub_name, - route_table_name=route_table_name, - virtual_hub_route_table_v2_parameters=virtual_hub_route_table_v2_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('VirtualHubRouteTableV2', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}/routeTables/{routeTableName}'} - - - def _delete_initial( - self, resource_group_name, virtual_hub_name, route_table_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualHubName': self._serialize.url("virtual_hub_name", virtual_hub_name, 'str'), - 'routeTableName': self._serialize.url("route_table_name", route_table_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - raise models.ErrorException(self._deserialize, response) - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, virtual_hub_name, route_table_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes a VirtualHubRouteTableV2. - - :param resource_group_name: The resource group name of the - VirtualHubRouteTableV2. - :type resource_group_name: str - :param virtual_hub_name: The name of the VirtualHub. - :type virtual_hub_name: str - :param route_table_name: The name of the VirtualHubRouteTableV2. - :type route_table_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: - :class:`ErrorException` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - virtual_hub_name=virtual_hub_name, - route_table_name=route_table_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}/routeTables/{routeTableName}'} - - def list( - self, resource_group_name, virtual_hub_name, custom_headers=None, raw=False, **operation_config): - """Retrieves the details of all VirtualHubRouteTableV2s. - - :param resource_group_name: The resource group name of the VirtualHub. - :type resource_group_name: str - :param virtual_hub_name: The name of the VirtualHub. - :type virtual_hub_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of VirtualHubRouteTableV2 - :rtype: - ~azure.mgmt.network.v2019_09_01.models.VirtualHubRouteTableV2Paged[~azure.mgmt.network.v2019_09_01.models.VirtualHubRouteTableV2] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualHubName': self._serialize.url("virtual_hub_name", virtual_hub_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.VirtualHubRouteTableV2Paged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}/routeTables'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_virtual_hubs_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_virtual_hubs_operations.py deleted file mode 100644 index 22532e3b929..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_virtual_hubs_operations.py +++ /dev/null @@ -1,526 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class VirtualHubsOperations(object): - """VirtualHubsOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01" - - self.config = config - - def get( - self, resource_group_name, virtual_hub_name, custom_headers=None, raw=False, **operation_config): - """Retrieves the details of a VirtualHub. - - :param resource_group_name: The resource group name of the VirtualHub. - :type resource_group_name: str - :param virtual_hub_name: The name of the VirtualHub. - :type virtual_hub_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: VirtualHub or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_09_01.models.VirtualHub or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualHubName': self._serialize.url("virtual_hub_name", virtual_hub_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('VirtualHub', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}'} - - - def _create_or_update_initial( - self, resource_group_name, virtual_hub_name, virtual_hub_parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualHubName': self._serialize.url("virtual_hub_name", virtual_hub_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(virtual_hub_parameters, 'VirtualHub') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('VirtualHub', response) - if response.status_code == 201: - deserialized = self._deserialize('VirtualHub', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, virtual_hub_name, virtual_hub_parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates a VirtualHub resource if it doesn't exist else updates the - existing VirtualHub. - - :param resource_group_name: The resource group name of the VirtualHub. - :type resource_group_name: str - :param virtual_hub_name: The name of the VirtualHub. - :type virtual_hub_name: str - :param virtual_hub_parameters: Parameters supplied to create or update - VirtualHub. - :type virtual_hub_parameters: - ~azure.mgmt.network.v2019_09_01.models.VirtualHub - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns VirtualHub or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.VirtualHub] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.VirtualHub]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - virtual_hub_name=virtual_hub_name, - virtual_hub_parameters=virtual_hub_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('VirtualHub', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}'} - - - def _update_tags_initial( - self, resource_group_name, virtual_hub_name, tags=None, custom_headers=None, raw=False, **operation_config): - virtual_hub_parameters = models.TagsObject(tags=tags) - - # Construct URL - url = self.update_tags.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualHubName': self._serialize.url("virtual_hub_name", virtual_hub_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(virtual_hub_parameters, 'TagsObject') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('VirtualHub', response) - if response.status_code == 201: - deserialized = self._deserialize('VirtualHub', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def update_tags( - self, resource_group_name, virtual_hub_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Updates VirtualHub tags. - - :param resource_group_name: The resource group name of the VirtualHub. - :type resource_group_name: str - :param virtual_hub_name: The name of the VirtualHub. - :type virtual_hub_name: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns VirtualHub or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.VirtualHub] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.VirtualHub]] - :raises: :class:`CloudError` - """ - raw_result = self._update_tags_initial( - resource_group_name=resource_group_name, - virtual_hub_name=virtual_hub_name, - tags=tags, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('VirtualHub', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}'} - - - def _delete_initial( - self, resource_group_name, virtual_hub_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualHubName': self._serialize.url("virtual_hub_name", virtual_hub_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, virtual_hub_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes a VirtualHub. - - :param resource_group_name: The resource group name of the VirtualHub. - :type resource_group_name: str - :param virtual_hub_name: The name of the VirtualHub. - :type virtual_hub_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - virtual_hub_name=virtual_hub_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}'} - - def list_by_resource_group( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Lists all the VirtualHubs in a resource group. - - :param resource_group_name: The resource group name of the VirtualHub. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of VirtualHub - :rtype: - ~azure.mgmt.network.v2019_09_01.models.VirtualHubPaged[~azure.mgmt.network.v2019_09_01.models.VirtualHub] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_by_resource_group.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.VirtualHubPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs'} - - def list( - self, custom_headers=None, raw=False, **operation_config): - """Lists all the VirtualHubs in a subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of VirtualHub - :rtype: - ~azure.mgmt.network.v2019_09_01.models.VirtualHubPaged[~azure.mgmt.network.v2019_09_01.models.VirtualHub] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.VirtualHubPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/virtualHubs'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_virtual_network_gateway_connections_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_virtual_network_gateway_connections_operations.py deleted file mode 100644 index 85f24dc73c9..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_virtual_network_gateway_connections_operations.py +++ /dev/null @@ -1,958 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class VirtualNetworkGatewayConnectionsOperations(object): - """VirtualNetworkGatewayConnectionsOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01" - - self.config = config - - - def _create_or_update_initial( - self, resource_group_name, virtual_network_gateway_connection_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkGatewayConnectionName': self._serialize.url("virtual_network_gateway_connection_name", virtual_network_gateway_connection_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'VirtualNetworkGatewayConnection') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('VirtualNetworkGatewayConnection', response) - if response.status_code == 201: - deserialized = self._deserialize('VirtualNetworkGatewayConnection', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, virtual_network_gateway_connection_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates a virtual network gateway connection in the - specified resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_gateway_connection_name: The name of the - virtual network gateway connection. - :type virtual_network_gateway_connection_name: str - :param parameters: Parameters supplied to the create or update virtual - network gateway connection operation. - :type parameters: - ~azure.mgmt.network.v2019_09_01.models.VirtualNetworkGatewayConnection - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - VirtualNetworkGatewayConnection or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.VirtualNetworkGatewayConnection] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.VirtualNetworkGatewayConnection]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - virtual_network_gateway_connection_name=virtual_network_gateway_connection_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('VirtualNetworkGatewayConnection', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}'} - - def get( - self, resource_group_name, virtual_network_gateway_connection_name, custom_headers=None, raw=False, **operation_config): - """Gets the specified virtual network gateway connection by resource - group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_gateway_connection_name: The name of the - virtual network gateway connection. - :type virtual_network_gateway_connection_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: VirtualNetworkGatewayConnection or ClientRawResponse if - raw=true - :rtype: - ~azure.mgmt.network.v2019_09_01.models.VirtualNetworkGatewayConnection - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkGatewayConnectionName': self._serialize.url("virtual_network_gateway_connection_name", virtual_network_gateway_connection_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('VirtualNetworkGatewayConnection', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}'} - - - def _delete_initial( - self, resource_group_name, virtual_network_gateway_connection_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkGatewayConnectionName': self._serialize.url("virtual_network_gateway_connection_name", virtual_network_gateway_connection_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, virtual_network_gateway_connection_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified virtual network Gateway connection. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_gateway_connection_name: The name of the - virtual network gateway connection. - :type virtual_network_gateway_connection_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - virtual_network_gateway_connection_name=virtual_network_gateway_connection_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}'} - - - def _update_tags_initial( - self, resource_group_name, virtual_network_gateway_connection_name, tags=None, custom_headers=None, raw=False, **operation_config): - parameters = models.TagsObject(tags=tags) - - # Construct URL - url = self.update_tags.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkGatewayConnectionName': self._serialize.url("virtual_network_gateway_connection_name", virtual_network_gateway_connection_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'TagsObject') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - 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('VirtualNetworkGatewayConnection', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def update_tags( - self, resource_group_name, virtual_network_gateway_connection_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Updates a virtual network gateway connection tags. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_gateway_connection_name: The name of the - virtual network gateway connection. - :type virtual_network_gateway_connection_name: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - VirtualNetworkGatewayConnection or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.VirtualNetworkGatewayConnection] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.VirtualNetworkGatewayConnection]] - :raises: :class:`CloudError` - """ - raw_result = self._update_tags_initial( - resource_group_name=resource_group_name, - virtual_network_gateway_connection_name=virtual_network_gateway_connection_name, - tags=tags, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('VirtualNetworkGatewayConnection', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}'} - - - def _set_shared_key_initial( - self, resource_group_name, virtual_network_gateway_connection_name, value, id=None, custom_headers=None, raw=False, **operation_config): - parameters = models.ConnectionSharedKey(id=id, value=value) - - # Construct URL - url = self.set_shared_key.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkGatewayConnectionName': self._serialize.url("virtual_network_gateway_connection_name", virtual_network_gateway_connection_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'ConnectionSharedKey') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('ConnectionSharedKey', response) - if response.status_code == 201: - deserialized = self._deserialize('ConnectionSharedKey', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def set_shared_key( - self, resource_group_name, virtual_network_gateway_connection_name, value, id=None, custom_headers=None, raw=False, polling=True, **operation_config): - """The Put VirtualNetworkGatewayConnectionSharedKey operation sets the - virtual network gateway connection shared key for passed virtual - network gateway connection in the specified resource group through - Network resource provider. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_gateway_connection_name: The virtual network - gateway connection name. - :type virtual_network_gateway_connection_name: str - :param value: The virtual network connection shared key value. - :type value: str - :param id: Resource ID. - :type id: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns ConnectionSharedKey or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.ConnectionSharedKey] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.ConnectionSharedKey]] - :raises: :class:`CloudError` - """ - raw_result = self._set_shared_key_initial( - resource_group_name=resource_group_name, - virtual_network_gateway_connection_name=virtual_network_gateway_connection_name, - value=value, - id=id, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ConnectionSharedKey', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - set_shared_key.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/sharedkey'} - - def get_shared_key( - self, resource_group_name, virtual_network_gateway_connection_name, custom_headers=None, raw=False, **operation_config): - """The Get VirtualNetworkGatewayConnectionSharedKey operation retrieves - information about the specified virtual network gateway connection - shared key through Network resource provider. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_gateway_connection_name: The virtual network - gateway connection shared key name. - :type virtual_network_gateway_connection_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ConnectionSharedKey or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_09_01.models.ConnectionSharedKey or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get_shared_key.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkGatewayConnectionName': self._serialize.url("virtual_network_gateway_connection_name", virtual_network_gateway_connection_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('ConnectionSharedKey', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get_shared_key.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/sharedkey'} - - def list( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """The List VirtualNetworkGatewayConnections operation retrieves all the - virtual network gateways connections created. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of VirtualNetworkGatewayConnection - :rtype: - ~azure.mgmt.network.v2019_09_01.models.VirtualNetworkGatewayConnectionPaged[~azure.mgmt.network.v2019_09_01.models.VirtualNetworkGatewayConnection] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.VirtualNetworkGatewayConnectionPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections'} - - - def _reset_shared_key_initial( - self, resource_group_name, virtual_network_gateway_connection_name, key_length, custom_headers=None, raw=False, **operation_config): - parameters = models.ConnectionResetSharedKey(key_length=key_length) - - # Construct URL - url = self.reset_shared_key.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkGatewayConnectionName': self._serialize.url("virtual_network_gateway_connection_name", virtual_network_gateway_connection_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'ConnectionResetSharedKey') - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - 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('ConnectionResetSharedKey', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def reset_shared_key( - self, resource_group_name, virtual_network_gateway_connection_name, key_length, custom_headers=None, raw=False, polling=True, **operation_config): - """The VirtualNetworkGatewayConnectionResetSharedKey operation resets the - virtual network gateway connection shared key for passed virtual - network gateway connection in the specified resource group through - Network resource provider. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_gateway_connection_name: The virtual network - gateway connection reset shared key Name. - :type virtual_network_gateway_connection_name: str - :param key_length: The virtual network connection reset shared key - length, should between 1 and 128. - :type key_length: int - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - ConnectionResetSharedKey or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.ConnectionResetSharedKey] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.ConnectionResetSharedKey]] - :raises: :class:`CloudError` - """ - raw_result = self._reset_shared_key_initial( - resource_group_name=resource_group_name, - virtual_network_gateway_connection_name=virtual_network_gateway_connection_name, - key_length=key_length, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ConnectionResetSharedKey', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - reset_shared_key.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/sharedkey/reset'} - - - def _start_packet_capture_initial( - self, resource_group_name, virtual_network_gateway_connection_name, filter_data=None, custom_headers=None, raw=False, **operation_config): - parameters = None - if filter_data is not None: - parameters = models.VpnPacketCaptureStartParameters(filter_data=filter_data) - - # Construct URL - url = self.start_packet_capture.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkGatewayConnectionName': self._serialize.url("virtual_network_gateway_connection_name", virtual_network_gateway_connection_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 - if parameters is not None: - body_content = self._serialize.body(parameters, 'VpnPacketCaptureStartParameters') - else: - body_content = None - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - raise models.ErrorException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('str', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def start_packet_capture( - self, resource_group_name, virtual_network_gateway_connection_name, filter_data=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Starts packet capture on virtual network gateway connection in the - specified resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_gateway_connection_name: The name of the - virtual network gateway connection. - :type virtual_network_gateway_connection_name: str - :param filter_data: Start Packet capture parameters. - :type filter_data: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns str or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[str] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[str]] - :raises: - :class:`ErrorException` - """ - raw_result = self._start_packet_capture_initial( - resource_group_name=resource_group_name, - virtual_network_gateway_connection_name=virtual_network_gateway_connection_name, - filter_data=filter_data, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('str', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - start_packet_capture.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/startPacketCapture'} - - - def _stop_packet_capture_initial( - self, resource_group_name, virtual_network_gateway_connection_name, sas_url=None, custom_headers=None, raw=False, **operation_config): - parameters = models.VpnPacketCaptureStopParameters(sas_url=sas_url) - - # Construct URL - url = self.stop_packet_capture.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkGatewayConnectionName': self._serialize.url("virtual_network_gateway_connection_name", virtual_network_gateway_connection_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'VpnPacketCaptureStopParameters') - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - raise models.ErrorException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('str', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def stop_packet_capture( - self, resource_group_name, virtual_network_gateway_connection_name, sas_url=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Stops packet capture on virtual network gateway connection in the - specified resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_gateway_connection_name: The name of the - virtual network gateway Connection. - :type virtual_network_gateway_connection_name: str - :param sas_url: SAS url for packet capture on virtual network gateway. - :type sas_url: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns str or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[str] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[str]] - :raises: - :class:`ErrorException` - """ - raw_result = self._stop_packet_capture_initial( - resource_group_name=resource_group_name, - virtual_network_gateway_connection_name=virtual_network_gateway_connection_name, - sas_url=sas_url, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('str', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - stop_packet_capture.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/stopPacketCapture'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_virtual_network_gateways_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_virtual_network_gateways_operations.py deleted file mode 100644 index fb103515a8e..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_virtual_network_gateways_operations.py +++ /dev/null @@ -1,1948 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class VirtualNetworkGatewaysOperations(object): - """VirtualNetworkGatewaysOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01" - - self.config = config - - - def _create_or_update_initial( - self, resource_group_name, virtual_network_gateway_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'VirtualNetworkGateway') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('VirtualNetworkGateway', response) - if response.status_code == 201: - deserialized = self._deserialize('VirtualNetworkGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, virtual_network_gateway_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates a virtual network gateway in the specified resource - group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_gateway_name: The name of the virtual network - gateway. - :type virtual_network_gateway_name: str - :param parameters: Parameters supplied to create or update virtual - network gateway operation. - :type parameters: - ~azure.mgmt.network.v2019_09_01.models.VirtualNetworkGateway - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns VirtualNetworkGateway - or ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.VirtualNetworkGateway] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.VirtualNetworkGateway]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - virtual_network_gateway_name=virtual_network_gateway_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('VirtualNetworkGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}'} - - def get( - self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, **operation_config): - """Gets the specified virtual network gateway by resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_gateway_name: The name of the virtual network - gateway. - :type virtual_network_gateway_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: VirtualNetworkGateway or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_09_01.models.VirtualNetworkGateway - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('VirtualNetworkGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}'} - - - def _delete_initial( - self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified virtual network gateway. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_gateway_name: The name of the virtual network - gateway. - :type virtual_network_gateway_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - virtual_network_gateway_name=virtual_network_gateway_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}'} - - - def _update_tags_initial( - self, resource_group_name, virtual_network_gateway_name, tags=None, custom_headers=None, raw=False, **operation_config): - parameters = models.TagsObject(tags=tags) - - # Construct URL - url = self.update_tags.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'TagsObject') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - 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('VirtualNetworkGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def update_tags( - self, resource_group_name, virtual_network_gateway_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Updates a virtual network gateway tags. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_gateway_name: The name of the virtual network - gateway. - :type virtual_network_gateway_name: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns VirtualNetworkGateway - or ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.VirtualNetworkGateway] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.VirtualNetworkGateway]] - :raises: :class:`CloudError` - """ - raw_result = self._update_tags_initial( - resource_group_name=resource_group_name, - virtual_network_gateway_name=virtual_network_gateway_name, - tags=tags, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('VirtualNetworkGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}'} - - def list( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Gets all virtual network gateways by resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of VirtualNetworkGateway - :rtype: - ~azure.mgmt.network.v2019_09_01.models.VirtualNetworkGatewayPaged[~azure.mgmt.network.v2019_09_01.models.VirtualNetworkGateway] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.VirtualNetworkGatewayPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways'} - - def list_connections( - self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, **operation_config): - """Gets all the connections in a virtual network gateway. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_gateway_name: The name of the virtual network - gateway. - :type virtual_network_gateway_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of - VirtualNetworkGatewayConnectionListEntity - :rtype: - ~azure.mgmt.network.v2019_09_01.models.VirtualNetworkGatewayConnectionListEntityPaged[~azure.mgmt.network.v2019_09_01.models.VirtualNetworkGatewayConnectionListEntity] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_connections.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.VirtualNetworkGatewayConnectionListEntityPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_connections.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/connections'} - - - def _reset_initial( - self, resource_group_name, virtual_network_gateway_name, gateway_vip=None, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.reset.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str'), - '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 = {} - if gateway_vip is not None: - query_parameters['gatewayVip'] = self._serialize.query("gateway_vip", gateway_vip, 'str') - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - 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('VirtualNetworkGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def reset( - self, resource_group_name, virtual_network_gateway_name, gateway_vip=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Resets the primary of the virtual network gateway in the specified - resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_gateway_name: The name of the virtual network - gateway. - :type virtual_network_gateway_name: str - :param gateway_vip: Virtual network gateway vip address supplied to - the begin reset of the active-active feature enabled gateway. - :type gateway_vip: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns VirtualNetworkGateway - or ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.VirtualNetworkGateway] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.VirtualNetworkGateway]] - :raises: :class:`CloudError` - """ - raw_result = self._reset_initial( - resource_group_name=resource_group_name, - virtual_network_gateway_name=virtual_network_gateway_name, - gateway_vip=gateway_vip, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('VirtualNetworkGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - reset.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/reset'} - - - def _reset_vpn_client_shared_key_initial( - self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.reset_vpn_client_shared_key.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def reset_vpn_client_shared_key( - self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Resets the VPN client shared key of the virtual network gateway in the - specified resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_gateway_name: The name of the virtual network - gateway. - :type virtual_network_gateway_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._reset_vpn_client_shared_key_initial( - resource_group_name=resource_group_name, - virtual_network_gateway_name=virtual_network_gateway_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - reset_vpn_client_shared_key.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/resetvpnclientsharedkey'} - - - def _generatevpnclientpackage_initial( - self, resource_group_name, virtual_network_gateway_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.generatevpnclientpackage.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'VpnClientParameters') - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - 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('str', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def generatevpnclientpackage( - self, resource_group_name, virtual_network_gateway_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Generates VPN client package for P2S client of the virtual network - gateway in the specified resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_gateway_name: The name of the virtual network - gateway. - :type virtual_network_gateway_name: str - :param parameters: Parameters supplied to the generate virtual network - gateway VPN client package operation. - :type parameters: - ~azure.mgmt.network.v2019_09_01.models.VpnClientParameters - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns str or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[str] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[str]] - :raises: :class:`CloudError` - """ - raw_result = self._generatevpnclientpackage_initial( - resource_group_name=resource_group_name, - virtual_network_gateway_name=virtual_network_gateway_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('str', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - generatevpnclientpackage.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/generatevpnclientpackage'} - - - def _generate_vpn_profile_initial( - self, resource_group_name, virtual_network_gateway_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.generate_vpn_profile.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'VpnClientParameters') - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - 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('str', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def generate_vpn_profile( - self, resource_group_name, virtual_network_gateway_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Generates VPN profile for P2S client of the virtual network gateway in - the specified resource group. Used for IKEV2 and radius based - authentication. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_gateway_name: The name of the virtual network - gateway. - :type virtual_network_gateway_name: str - :param parameters: Parameters supplied to the generate virtual network - gateway VPN client package operation. - :type parameters: - ~azure.mgmt.network.v2019_09_01.models.VpnClientParameters - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns str or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[str] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[str]] - :raises: :class:`CloudError` - """ - raw_result = self._generate_vpn_profile_initial( - resource_group_name=resource_group_name, - virtual_network_gateway_name=virtual_network_gateway_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('str', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - generate_vpn_profile.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/generatevpnprofile'} - - - def _get_vpn_profile_package_url_initial( - self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.get_vpn_profile_package_url.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - 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('str', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def get_vpn_profile_package_url( - self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Gets pre-generated VPN profile for P2S client of the virtual network - gateway in the specified resource group. The profile needs to be - generated first using generateVpnProfile. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_gateway_name: The name of the virtual network - gateway. - :type virtual_network_gateway_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns str or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[str] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[str]] - :raises: :class:`CloudError` - """ - raw_result = self._get_vpn_profile_package_url_initial( - resource_group_name=resource_group_name, - virtual_network_gateway_name=virtual_network_gateway_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('str', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - get_vpn_profile_package_url.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getvpnprofilepackageurl'} - - - def _get_bgp_peer_status_initial( - self, resource_group_name, virtual_network_gateway_name, peer=None, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.get_bgp_peer_status.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str'), - '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 = {} - if peer is not None: - query_parameters['peer'] = self._serialize.query("peer", peer, 'str') - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - 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('BgpPeerStatusListResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def get_bgp_peer_status( - self, resource_group_name, virtual_network_gateway_name, peer=None, custom_headers=None, raw=False, polling=True, **operation_config): - """The GetBgpPeerStatus operation retrieves the status of all BGP peers. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_gateway_name: The name of the virtual network - gateway. - :type virtual_network_gateway_name: str - :param peer: The IP address of the peer to retrieve the status of. - :type peer: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns BgpPeerStatusListResult - or ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.BgpPeerStatusListResult] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.BgpPeerStatusListResult]] - :raises: :class:`CloudError` - """ - raw_result = self._get_bgp_peer_status_initial( - resource_group_name=resource_group_name, - virtual_network_gateway_name=virtual_network_gateway_name, - peer=peer, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('BgpPeerStatusListResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - get_bgp_peer_status.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getBgpPeerStatus'} - - def supported_vpn_devices( - self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, **operation_config): - """Gets a xml format representation for supported vpn devices. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_gateway_name: The name of the virtual network - gateway. - :type virtual_network_gateway_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: str or ClientRawResponse if raw=true - :rtype: str or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.supported_vpn_devices.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('str', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - supported_vpn_devices.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/supportedvpndevices'} - - - def _get_learned_routes_initial( - self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.get_learned_routes.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - 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('GatewayRouteListResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def get_learned_routes( - self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): - """This operation retrieves a list of routes the virtual network gateway - has learned, including routes learned from BGP peers. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_gateway_name: The name of the virtual network - gateway. - :type virtual_network_gateway_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns GatewayRouteListResult - or ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.GatewayRouteListResult] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.GatewayRouteListResult]] - :raises: :class:`CloudError` - """ - raw_result = self._get_learned_routes_initial( - resource_group_name=resource_group_name, - virtual_network_gateway_name=virtual_network_gateway_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('GatewayRouteListResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - get_learned_routes.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getLearnedRoutes'} - - - def _get_advertised_routes_initial( - self, resource_group_name, virtual_network_gateway_name, peer, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.get_advertised_routes.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str'), - '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['peer'] = self._serialize.query("peer", peer, 'str') - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - 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('GatewayRouteListResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def get_advertised_routes( - self, resource_group_name, virtual_network_gateway_name, peer, custom_headers=None, raw=False, polling=True, **operation_config): - """This operation retrieves a list of routes the virtual network gateway - is advertising to the specified peer. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_gateway_name: The name of the virtual network - gateway. - :type virtual_network_gateway_name: str - :param peer: The IP address of the peer. - :type peer: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns GatewayRouteListResult - or ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.GatewayRouteListResult] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.GatewayRouteListResult]] - :raises: :class:`CloudError` - """ - raw_result = self._get_advertised_routes_initial( - resource_group_name=resource_group_name, - virtual_network_gateway_name=virtual_network_gateway_name, - peer=peer, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('GatewayRouteListResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - get_advertised_routes.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getAdvertisedRoutes'} - - - def _set_vpnclient_ipsec_parameters_initial( - self, resource_group_name, virtual_network_gateway_name, vpnclient_ipsec_params, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.set_vpnclient_ipsec_parameters.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(vpnclient_ipsec_params, 'VpnClientIPsecParameters') - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - 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('VpnClientIPsecParameters', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def set_vpnclient_ipsec_parameters( - self, resource_group_name, virtual_network_gateway_name, vpnclient_ipsec_params, custom_headers=None, raw=False, polling=True, **operation_config): - """The Set VpnclientIpsecParameters operation sets the vpnclient ipsec - policy for P2S client of virtual network gateway in the specified - resource group through Network resource provider. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_gateway_name: The name of the virtual network - gateway. - :type virtual_network_gateway_name: str - :param vpnclient_ipsec_params: Parameters supplied to the Begin Set - vpnclient ipsec parameters of Virtual Network Gateway P2S client - operation through Network resource provider. - :type vpnclient_ipsec_params: - ~azure.mgmt.network.v2019_09_01.models.VpnClientIPsecParameters - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - VpnClientIPsecParameters or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.VpnClientIPsecParameters] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.VpnClientIPsecParameters]] - :raises: :class:`CloudError` - """ - raw_result = self._set_vpnclient_ipsec_parameters_initial( - resource_group_name=resource_group_name, - virtual_network_gateway_name=virtual_network_gateway_name, - vpnclient_ipsec_params=vpnclient_ipsec_params, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('VpnClientIPsecParameters', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - set_vpnclient_ipsec_parameters.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/setvpnclientipsecparameters'} - - - def _get_vpnclient_ipsec_parameters_initial( - self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.get_vpnclient_ipsec_parameters.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('VpnClientIPsecParameters', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def get_vpnclient_ipsec_parameters( - self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): - """The Get VpnclientIpsecParameters operation retrieves information about - the vpnclient ipsec policy for P2S client of virtual network gateway in - the specified resource group through Network resource provider. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_gateway_name: The virtual network gateway name. - :type virtual_network_gateway_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - VpnClientIPsecParameters or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.VpnClientIPsecParameters] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.VpnClientIPsecParameters]] - :raises: :class:`CloudError` - """ - raw_result = self._get_vpnclient_ipsec_parameters_initial( - resource_group_name=resource_group_name, - virtual_network_gateway_name=virtual_network_gateway_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('VpnClientIPsecParameters', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - get_vpnclient_ipsec_parameters.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getvpnclientipsecparameters'} - - def vpn_device_configuration_script( - self, resource_group_name, virtual_network_gateway_connection_name, parameters, custom_headers=None, raw=False, **operation_config): - """Gets a xml format representation for vpn device configuration script. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_gateway_connection_name: The name of the - virtual network gateway connection for which the configuration script - is generated. - :type virtual_network_gateway_connection_name: str - :param parameters: Parameters supplied to the generate vpn device - script operation. - :type parameters: - ~azure.mgmt.network.v2019_09_01.models.VpnDeviceScriptParameters - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: str or ClientRawResponse if raw=true - :rtype: str or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.vpn_device_configuration_script.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkGatewayConnectionName': self._serialize.url("virtual_network_gateway_connection_name", virtual_network_gateway_connection_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'VpnDeviceScriptParameters') - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('str', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - vpn_device_configuration_script.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/vpndeviceconfigurationscript'} - - - def _start_packet_capture_initial( - self, resource_group_name, virtual_network_gateway_name, filter_data=None, custom_headers=None, raw=False, **operation_config): - parameters = None - if filter_data is not None: - parameters = models.VpnPacketCaptureStartParameters(filter_data=filter_data) - - # Construct URL - url = self.start_packet_capture.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 - if parameters is not None: - body_content = self._serialize.body(parameters, 'VpnPacketCaptureStartParameters') - else: - body_content = None - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - raise models.ErrorException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('str', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def start_packet_capture( - self, resource_group_name, virtual_network_gateway_name, filter_data=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Starts packet capture on virtual network gateway in the specified - resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_gateway_name: The name of the virtual network - gateway. - :type virtual_network_gateway_name: str - :param filter_data: Start Packet capture parameters. - :type filter_data: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns str or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[str] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[str]] - :raises: - :class:`ErrorException` - """ - raw_result = self._start_packet_capture_initial( - resource_group_name=resource_group_name, - virtual_network_gateway_name=virtual_network_gateway_name, - filter_data=filter_data, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('str', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - start_packet_capture.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/startPacketCapture'} - - - def _stop_packet_capture_initial( - self, resource_group_name, virtual_network_gateway_name, sas_url=None, custom_headers=None, raw=False, **operation_config): - parameters = models.VpnPacketCaptureStopParameters(sas_url=sas_url) - - # Construct URL - url = self.stop_packet_capture.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'VpnPacketCaptureStopParameters') - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - raise models.ErrorException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('str', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def stop_packet_capture( - self, resource_group_name, virtual_network_gateway_name, sas_url=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Stops packet capture on virtual network gateway in the specified - resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_gateway_name: The name of the virtual network - gateway. - :type virtual_network_gateway_name: str - :param sas_url: SAS url for packet capture on virtual network gateway. - :type sas_url: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns str or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[str] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[str]] - :raises: - :class:`ErrorException` - """ - raw_result = self._stop_packet_capture_initial( - resource_group_name=resource_group_name, - virtual_network_gateway_name=virtual_network_gateway_name, - sas_url=sas_url, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('str', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - stop_packet_capture.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/stopPacketCapture'} - - - def _get_vpnclient_connection_health_initial( - self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.get_vpnclient_connection_health.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - 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('VpnClientConnectionHealthDetailListResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def get_vpnclient_connection_health( - self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Get VPN client connection health detail per P2S client connection of - the virtual network gateway in the specified resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_gateway_name: The name of the virtual network - gateway. - :type virtual_network_gateway_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - VpnClientConnectionHealthDetailListResult or - ClientRawResponse if - raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.VpnClientConnectionHealthDetailListResult] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.VpnClientConnectionHealthDetailListResult]] - :raises: :class:`CloudError` - """ - raw_result = self._get_vpnclient_connection_health_initial( - resource_group_name=resource_group_name, - virtual_network_gateway_name=virtual_network_gateway_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('VpnClientConnectionHealthDetailListResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - get_vpnclient_connection_health.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getVpnClientConnectionHealth'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_virtual_network_peerings_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_virtual_network_peerings_operations.py deleted file mode 100644 index 58bee572687..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_virtual_network_peerings_operations.py +++ /dev/null @@ -1,371 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class VirtualNetworkPeeringsOperations(object): - """VirtualNetworkPeeringsOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, virtual_network_name, virtual_network_peering_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), - 'virtualNetworkPeeringName': self._serialize.url("virtual_network_peering_name", virtual_network_peering_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, virtual_network_name, virtual_network_peering_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified virtual network peering. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_name: The name of the virtual network. - :type virtual_network_name: str - :param virtual_network_peering_name: The name of the virtual network - peering. - :type virtual_network_peering_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - virtual_network_name=virtual_network_name, - virtual_network_peering_name=virtual_network_peering_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/virtualNetworkPeerings/{virtualNetworkPeeringName}'} - - def get( - self, resource_group_name, virtual_network_name, virtual_network_peering_name, custom_headers=None, raw=False, **operation_config): - """Gets the specified virtual network peering. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_name: The name of the virtual network. - :type virtual_network_name: str - :param virtual_network_peering_name: The name of the virtual network - peering. - :type virtual_network_peering_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: VirtualNetworkPeering or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_09_01.models.VirtualNetworkPeering - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), - 'virtualNetworkPeeringName': self._serialize.url("virtual_network_peering_name", virtual_network_peering_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('VirtualNetworkPeering', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/virtualNetworkPeerings/{virtualNetworkPeeringName}'} - - - def _create_or_update_initial( - self, resource_group_name, virtual_network_name, virtual_network_peering_name, virtual_network_peering_parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), - 'virtualNetworkPeeringName': self._serialize.url("virtual_network_peering_name", virtual_network_peering_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(virtual_network_peering_parameters, 'VirtualNetworkPeering') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('VirtualNetworkPeering', response) - if response.status_code == 201: - deserialized = self._deserialize('VirtualNetworkPeering', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, virtual_network_name, virtual_network_peering_name, virtual_network_peering_parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates a peering in the specified virtual network. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_name: The name of the virtual network. - :type virtual_network_name: str - :param virtual_network_peering_name: The name of the peering. - :type virtual_network_peering_name: str - :param virtual_network_peering_parameters: Parameters supplied to the - create or update virtual network peering operation. - :type virtual_network_peering_parameters: - ~azure.mgmt.network.v2019_09_01.models.VirtualNetworkPeering - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns VirtualNetworkPeering - or ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.VirtualNetworkPeering] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.VirtualNetworkPeering]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - virtual_network_name=virtual_network_name, - virtual_network_peering_name=virtual_network_peering_name, - virtual_network_peering_parameters=virtual_network_peering_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('VirtualNetworkPeering', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/virtualNetworkPeerings/{virtualNetworkPeeringName}'} - - def list( - self, resource_group_name, virtual_network_name, custom_headers=None, raw=False, **operation_config): - """Gets all virtual network peerings in a virtual network. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_name: The name of the virtual network. - :type virtual_network_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of VirtualNetworkPeering - :rtype: - ~azure.mgmt.network.v2019_09_01.models.VirtualNetworkPeeringPaged[~azure.mgmt.network.v2019_09_01.models.VirtualNetworkPeering] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.VirtualNetworkPeeringPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/virtualNetworkPeerings'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_virtual_network_taps_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_virtual_network_taps_operations.py deleted file mode 100644 index a6aaa937e18..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_virtual_network_taps_operations.py +++ /dev/null @@ -1,523 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class VirtualNetworkTapsOperations(object): - """VirtualNetworkTapsOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, tap_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'tapName': self._serialize.url("tap_name", tap_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, tap_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified virtual network tap. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param tap_name: The name of the virtual network tap. - :type tap_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - tap_name=tap_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkTaps/{tapName}'} - - def get( - self, resource_group_name, tap_name, custom_headers=None, raw=False, **operation_config): - """Gets information about the specified virtual network tap. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param tap_name: The name of virtual network tap. - :type tap_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: VirtualNetworkTap or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_09_01.models.VirtualNetworkTap or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'tapName': self._serialize.url("tap_name", tap_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('VirtualNetworkTap', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkTaps/{tapName}'} - - - def _create_or_update_initial( - self, resource_group_name, tap_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'tapName': self._serialize.url("tap_name", tap_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'VirtualNetworkTap') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('VirtualNetworkTap', response) - if response.status_code == 201: - deserialized = self._deserialize('VirtualNetworkTap', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, tap_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates a Virtual Network Tap. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param tap_name: The name of the virtual network tap. - :type tap_name: str - :param parameters: Parameters supplied to the create or update virtual - network tap operation. - :type parameters: - ~azure.mgmt.network.v2019_09_01.models.VirtualNetworkTap - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns VirtualNetworkTap or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.VirtualNetworkTap] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.VirtualNetworkTap]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - tap_name=tap_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('VirtualNetworkTap', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkTaps/{tapName}'} - - - def _update_tags_initial( - self, resource_group_name, tap_name, tags=None, custom_headers=None, raw=False, **operation_config): - tap_parameters = models.TagsObject(tags=tags) - - # Construct URL - url = self.update_tags.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'tapName': self._serialize.url("tap_name", tap_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(tap_parameters, 'TagsObject') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('VirtualNetworkTap', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def update_tags( - self, resource_group_name, tap_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Updates an VirtualNetworkTap tags. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param tap_name: The name of the tap. - :type tap_name: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns VirtualNetworkTap or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.VirtualNetworkTap] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.VirtualNetworkTap]] - :raises: :class:`CloudError` - """ - raw_result = self._update_tags_initial( - resource_group_name=resource_group_name, - tap_name=tap_name, - tags=tags, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('VirtualNetworkTap', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkTaps/{tapName}'} - - def list_all( - self, custom_headers=None, raw=False, **operation_config): - """Gets all the VirtualNetworkTaps in a subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of VirtualNetworkTap - :rtype: - ~azure.mgmt.network.v2019_09_01.models.VirtualNetworkTapPaged[~azure.mgmt.network.v2019_09_01.models.VirtualNetworkTap] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_all.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.VirtualNetworkTapPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/virtualNetworkTaps'} - - def list_by_resource_group( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Gets all the VirtualNetworkTaps in a subscription. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of VirtualNetworkTap - :rtype: - ~azure.mgmt.network.v2019_09_01.models.VirtualNetworkTapPaged[~azure.mgmt.network.v2019_09_01.models.VirtualNetworkTap] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_by_resource_group.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.VirtualNetworkTapPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkTaps'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_virtual_networks_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_virtual_networks_operations.py deleted file mode 100644 index 6061c4c6144..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_virtual_networks_operations.py +++ /dev/null @@ -1,664 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class VirtualNetworksOperations(object): - """VirtualNetworksOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, virtual_network_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, virtual_network_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified virtual network. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_name: The name of the virtual network. - :type virtual_network_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - virtual_network_name=virtual_network_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}'} - - def get( - self, resource_group_name, virtual_network_name, expand=None, custom_headers=None, raw=False, **operation_config): - """Gets the specified virtual network by resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_name: The name of the virtual network. - :type virtual_network_name: str - :param expand: Expands referenced resources. - :type expand: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: VirtualNetwork or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_09_01.models.VirtualNetwork or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), - '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.api_version", self.api_version, 'str') - if expand is not None: - query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('VirtualNetwork', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}'} - - - def _create_or_update_initial( - self, resource_group_name, virtual_network_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'VirtualNetwork') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('VirtualNetwork', response) - if response.status_code == 201: - deserialized = self._deserialize('VirtualNetwork', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, virtual_network_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates a virtual network in the specified resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_name: The name of the virtual network. - :type virtual_network_name: str - :param parameters: Parameters supplied to the create or update virtual - network operation. - :type parameters: - ~azure.mgmt.network.v2019_09_01.models.VirtualNetwork - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns VirtualNetwork or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.VirtualNetwork] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.VirtualNetwork]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - virtual_network_name=virtual_network_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('VirtualNetwork', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}'} - - - def _update_tags_initial( - self, resource_group_name, virtual_network_name, tags=None, custom_headers=None, raw=False, **operation_config): - parameters = models.TagsObject(tags=tags) - - # Construct URL - url = self.update_tags.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'TagsObject') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('VirtualNetwork', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def update_tags( - self, resource_group_name, virtual_network_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Updates a virtual network tags. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_name: The name of the virtual network. - :type virtual_network_name: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns VirtualNetwork or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.VirtualNetwork] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.VirtualNetwork]] - :raises: :class:`CloudError` - """ - raw_result = self._update_tags_initial( - resource_group_name=resource_group_name, - virtual_network_name=virtual_network_name, - tags=tags, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('VirtualNetwork', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}'} - - def list_all( - self, custom_headers=None, raw=False, **operation_config): - """Gets all virtual networks in a subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of VirtualNetwork - :rtype: - ~azure.mgmt.network.v2019_09_01.models.VirtualNetworkPaged[~azure.mgmt.network.v2019_09_01.models.VirtualNetwork] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_all.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.VirtualNetworkPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/virtualNetworks'} - - def list( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Gets all virtual networks in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of VirtualNetwork - :rtype: - ~azure.mgmt.network.v2019_09_01.models.VirtualNetworkPaged[~azure.mgmt.network.v2019_09_01.models.VirtualNetwork] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.VirtualNetworkPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks'} - - def check_ip_address_availability( - self, resource_group_name, virtual_network_name, ip_address, custom_headers=None, raw=False, **operation_config): - """Checks whether a private IP address is available for use. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_name: The name of the virtual network. - :type virtual_network_name: str - :param ip_address: The private IP address to be verified. - :type ip_address: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: IPAddressAvailabilityResult or ClientRawResponse if raw=true - :rtype: - ~azure.mgmt.network.v2019_09_01.models.IPAddressAvailabilityResult or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.check_ip_address_availability.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), - '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['ipAddress'] = self._serialize.query("ip_address", ip_address, 'str') - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('IPAddressAvailabilityResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - check_ip_address_availability.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/CheckIPAddressAvailability'} - - def list_usage( - self, resource_group_name, virtual_network_name, custom_headers=None, raw=False, **operation_config): - """Lists usage stats. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_name: The name of the virtual network. - :type virtual_network_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of VirtualNetworkUsage - :rtype: - ~azure.mgmt.network.v2019_09_01.models.VirtualNetworkUsagePaged[~azure.mgmt.network.v2019_09_01.models.VirtualNetworkUsage] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_usage.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.VirtualNetworkUsagePaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_usage.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/usages'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_virtual_router_peerings_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_virtual_router_peerings_operations.py deleted file mode 100644 index 643ab66dfd5..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_virtual_router_peerings_operations.py +++ /dev/null @@ -1,437 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class VirtualRouterPeeringsOperations(object): - """VirtualRouterPeeringsOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, virtual_router_name, peering_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualRouterName': self._serialize.url("virtual_router_name", virtual_router_name, 'str'), - 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - raise models.ErrorException(self._deserialize, response) - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, virtual_router_name, peering_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified peering from a Virtual Router. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_router_name: The name of the Virtual Router. - :type virtual_router_name: str - :param peering_name: The name of the peering. - :type peering_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: - :class:`ErrorException` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - virtual_router_name=virtual_router_name, - peering_name=peering_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualRouters/{virtualRouterName}/peerings/{peeringName}'} - - def get( - self, resource_group_name, virtual_router_name, peering_name, custom_headers=None, raw=False, **operation_config): - """Gets the specified Virtual Router Peering. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_router_name: The name of the Virtual Router. - :type virtual_router_name: str - :param peering_name: The name of the Virtual Router Peering. - :type peering_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: VirtualRouterPeering or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_09_01.models.VirtualRouterPeering or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorException` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualRouterName': self._serialize.url("virtual_router_name", virtual_router_name, 'str'), - 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorException(self._deserialize, response) - - deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('VirtualRouterPeering', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualRouters/{virtualRouterName}/peerings/{peeringName}'} - - def update( - self, resource_group_name, virtual_router_name, peering_name, parameters, custom_headers=None, raw=False, **operation_config): - """Updates a Virtual Router Peering. - - :param resource_group_name: The resource group name of the Virtual - Router Peering. - :type resource_group_name: str - :param virtual_router_name: The name of the Virtual Router. - :type virtual_router_name: str - :param peering_name: The name of the Virtual Router Peering being - updated. - :type peering_name: str - :param parameters: Parameters supplied to update Virtual Router - Peering operation. - :type parameters: - ~azure.mgmt.network.v2019_09_01.models.VirtualRouterPeering - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: VirtualRouterPeering or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_09_01.models.VirtualRouterPeering or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorException` - """ - # Construct URL - url = self.update.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualRouterName': self._serialize.url("virtual_router_name", virtual_router_name, 'str'), - 'peeringName': self._serialize.url("peering_name", peering_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'VirtualRouterPeering') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorException(self._deserialize, response) - - deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('VirtualRouterPeering', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualRouters/{virtualRouterName}/peerings/{peeringName}'} - - - def _create_or_update_initial( - self, resource_group_name, virtual_router_name, peering_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualRouterName': self._serialize.url("virtual_router_name", virtual_router_name, 'str'), - 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'VirtualRouterPeering') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 201]: - raise models.ErrorException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('VirtualRouterPeering', response) - if response.status_code == 201: - deserialized = self._deserialize('VirtualRouterPeering', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, virtual_router_name, peering_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates the specified Virtual Router Peering. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_router_name: The name of the Virtual Router. - :type virtual_router_name: str - :param peering_name: The name of the Virtual Router Peering. - :type peering_name: str - :param parameters: Parameters supplied to the create or update Virtual - Router Peering operation. - :type parameters: - ~azure.mgmt.network.v2019_09_01.models.VirtualRouterPeering - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns VirtualRouterPeering or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.VirtualRouterPeering] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.VirtualRouterPeering]] - :raises: - :class:`ErrorException` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - virtual_router_name=virtual_router_name, - peering_name=peering_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('VirtualRouterPeering', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualRouters/{virtualRouterName}/peerings/{peeringName}'} - - def list( - self, resource_group_name, virtual_router_name, custom_headers=None, raw=False, **operation_config): - """Lists all Virtual Router Peerings in a Virtual Router resource. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_router_name: The name of the Virtual Router. - :type virtual_router_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of VirtualRouterPeering - :rtype: - ~azure.mgmt.network.v2019_09_01.models.VirtualRouterPeeringPaged[~azure.mgmt.network.v2019_09_01.models.VirtualRouterPeering] - :raises: - :class:`ErrorException` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualRouterName': self._serialize.url("virtual_router_name", virtual_router_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorException(self._deserialize, response) - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.VirtualRouterPeeringPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualRouters/{virtualRouterName}/peerings'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_virtual_routers_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_virtual_routers_operations.py deleted file mode 100644 index 9a00976033b..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_virtual_routers_operations.py +++ /dev/null @@ -1,488 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class VirtualRoutersOperations(object): - """VirtualRoutersOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01" - - self.config = config - - - def _delete_initial( - self, resource_group_name, virtual_router_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualRouterName': self._serialize.url("virtual_router_name", virtual_router_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - raise models.ErrorException(self._deserialize, response) - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, virtual_router_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified Virtual Router. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_router_name: The name of the Virtual Router. - :type virtual_router_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: - :class:`ErrorException` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - virtual_router_name=virtual_router_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualRouters/{virtualRouterName}'} - - def get( - self, resource_group_name, virtual_router_name, expand=None, custom_headers=None, raw=False, **operation_config): - """Gets the specified Virtual Router. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_router_name: The name of the Virtual Router. - :type virtual_router_name: str - :param expand: Expands referenced resources. - :type expand: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: VirtualRouter or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_09_01.models.VirtualRouter or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorException` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualRouterName': self._serialize.url("virtual_router_name", virtual_router_name, 'str'), - '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.api_version", self.api_version, 'str') - if expand is not None: - query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorException(self._deserialize, response) - - deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('VirtualRouter', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualRouters/{virtualRouterName}'} - - def update( - self, resource_group_name, virtual_router_name, tags=None, custom_headers=None, raw=False, **operation_config): - """Updates a Virtual Router. - - :param resource_group_name: The resource group name of the Virtual - Router. - :type resource_group_name: str - :param virtual_router_name: The name of the Virtual Router being - updated. - :type virtual_router_name: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: VirtualRouter or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_09_01.models.VirtualRouter or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorException` - """ - parameters = models.TagsObject(tags=tags) - - # Construct URL - url = self.update.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualRouterName': self._serialize.url("virtual_router_name", virtual_router_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'TagsObject') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorException(self._deserialize, response) - - deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('VirtualRouter', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualRouters/{virtualRouterName}'} - - - def _create_or_update_initial( - self, resource_group_name, virtual_router_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualRouterName': self._serialize.url("virtual_router_name", virtual_router_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'VirtualRouter') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 201]: - raise models.ErrorException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('VirtualRouter', response) - if response.status_code == 201: - deserialized = self._deserialize('VirtualRouter', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, virtual_router_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates the specified Virtual Router. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_router_name: The name of the Virtual Router. - :type virtual_router_name: str - :param parameters: Parameters supplied to the create or update Virtual - Router. - :type parameters: ~azure.mgmt.network.v2019_09_01.models.VirtualRouter - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns VirtualRouter or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.VirtualRouter] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.VirtualRouter]] - :raises: - :class:`ErrorException` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - virtual_router_name=virtual_router_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('VirtualRouter', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualRouters/{virtualRouterName}'} - - def list_by_resource_group( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Lists all Virtual Routers in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of VirtualRouter - :rtype: - ~azure.mgmt.network.v2019_09_01.models.VirtualRouterPaged[~azure.mgmt.network.v2019_09_01.models.VirtualRouter] - :raises: - :class:`ErrorException` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_by_resource_group.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorException(self._deserialize, response) - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.VirtualRouterPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualRouters'} - - def list( - self, custom_headers=None, raw=False, **operation_config): - """Gets all the Virtual Routers in a subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of VirtualRouter - :rtype: - ~azure.mgmt.network.v2019_09_01.models.VirtualRouterPaged[~azure.mgmt.network.v2019_09_01.models.VirtualRouter] - :raises: - :class:`ErrorException` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorException(self._deserialize, response) - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.VirtualRouterPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/virtualRouters'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_virtual_wans_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_virtual_wans_operations.py deleted file mode 100644 index afaefadf57b..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_virtual_wans_operations.py +++ /dev/null @@ -1,527 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class VirtualWansOperations(object): - """VirtualWansOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01" - - self.config = config - - def get( - self, resource_group_name, virtual_wan_name, custom_headers=None, raw=False, **operation_config): - """Retrieves the details of a VirtualWAN. - - :param resource_group_name: The resource group name of the VirtualWan. - :type resource_group_name: str - :param virtual_wan_name: The name of the VirtualWAN being retrieved. - :type virtual_wan_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: VirtualWAN or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_09_01.models.VirtualWAN or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'VirtualWANName': self._serialize.url("virtual_wan_name", virtual_wan_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('VirtualWAN', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{VirtualWANName}'} - - - def _create_or_update_initial( - self, resource_group_name, virtual_wan_name, wan_parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'VirtualWANName': self._serialize.url("virtual_wan_name", virtual_wan_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(wan_parameters, 'VirtualWAN') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('VirtualWAN', response) - if response.status_code == 201: - deserialized = self._deserialize('VirtualWAN', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, virtual_wan_name, wan_parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates a VirtualWAN resource if it doesn't exist else updates the - existing VirtualWAN. - - :param resource_group_name: The resource group name of the VirtualWan. - :type resource_group_name: str - :param virtual_wan_name: The name of the VirtualWAN being created or - updated. - :type virtual_wan_name: str - :param wan_parameters: Parameters supplied to create or update - VirtualWAN. - :type wan_parameters: - ~azure.mgmt.network.v2019_09_01.models.VirtualWAN - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns VirtualWAN or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.VirtualWAN] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.VirtualWAN]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - virtual_wan_name=virtual_wan_name, - wan_parameters=wan_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('VirtualWAN', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{VirtualWANName}'} - - - def _update_tags_initial( - self, resource_group_name, virtual_wan_name, tags=None, custom_headers=None, raw=False, **operation_config): - wan_parameters = models.TagsObject(tags=tags) - - # Construct URL - url = self.update_tags.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'VirtualWANName': self._serialize.url("virtual_wan_name", virtual_wan_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(wan_parameters, 'TagsObject') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('VirtualWAN', response) - if response.status_code == 201: - deserialized = self._deserialize('VirtualWAN', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def update_tags( - self, resource_group_name, virtual_wan_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Updates a VirtualWAN tags. - - :param resource_group_name: The resource group name of the VirtualWan. - :type resource_group_name: str - :param virtual_wan_name: The name of the VirtualWAN being updated. - :type virtual_wan_name: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns VirtualWAN or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.VirtualWAN] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.VirtualWAN]] - :raises: :class:`CloudError` - """ - raw_result = self._update_tags_initial( - resource_group_name=resource_group_name, - virtual_wan_name=virtual_wan_name, - tags=tags, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('VirtualWAN', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{VirtualWANName}'} - - - def _delete_initial( - self, resource_group_name, virtual_wan_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'VirtualWANName': self._serialize.url("virtual_wan_name", virtual_wan_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, virtual_wan_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes a VirtualWAN. - - :param resource_group_name: The resource group name of the VirtualWan. - :type resource_group_name: str - :param virtual_wan_name: The name of the VirtualWAN being deleted. - :type virtual_wan_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - virtual_wan_name=virtual_wan_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{VirtualWANName}'} - - def list_by_resource_group( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Lists all the VirtualWANs in a resource group. - - :param resource_group_name: The resource group name of the VirtualWan. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of VirtualWAN - :rtype: - ~azure.mgmt.network.v2019_09_01.models.VirtualWANPaged[~azure.mgmt.network.v2019_09_01.models.VirtualWAN] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_by_resource_group.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.VirtualWANPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans'} - - def list( - self, custom_headers=None, raw=False, **operation_config): - """Lists all the VirtualWANs in a subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of VirtualWAN - :rtype: - ~azure.mgmt.network.v2019_09_01.models.VirtualWANPaged[~azure.mgmt.network.v2019_09_01.models.VirtualWAN] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.VirtualWANPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/virtualWans'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_vpn_connections_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_vpn_connections_operations.py deleted file mode 100644 index f7e2fae4912..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_vpn_connections_operations.py +++ /dev/null @@ -1,370 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class VpnConnectionsOperations(object): - """VpnConnectionsOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01" - - self.config = config - - def get( - self, resource_group_name, gateway_name, connection_name, custom_headers=None, raw=False, **operation_config): - """Retrieves the details of a vpn connection. - - :param resource_group_name: The resource group name of the VpnGateway. - :type resource_group_name: str - :param gateway_name: The name of the gateway. - :type gateway_name: str - :param connection_name: The name of the vpn connection. - :type connection_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: VpnConnection or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_09_01.models.VpnConnection or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str'), - 'connectionName': self._serialize.url("connection_name", connection_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('VpnConnection', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/vpnConnections/{connectionName}'} - - - def _create_or_update_initial( - self, resource_group_name, gateway_name, connection_name, vpn_connection_parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str'), - 'connectionName': self._serialize.url("connection_name", connection_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(vpn_connection_parameters, 'VpnConnection') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('VpnConnection', response) - if response.status_code == 201: - deserialized = self._deserialize('VpnConnection', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, gateway_name, connection_name, vpn_connection_parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates a vpn connection to a scalable vpn gateway if it doesn't exist - else updates the existing connection. - - :param resource_group_name: The resource group name of the VpnGateway. - :type resource_group_name: str - :param gateway_name: The name of the gateway. - :type gateway_name: str - :param connection_name: The name of the connection. - :type connection_name: str - :param vpn_connection_parameters: Parameters supplied to create or - Update a VPN Connection. - :type vpn_connection_parameters: - ~azure.mgmt.network.v2019_09_01.models.VpnConnection - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns VpnConnection or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.VpnConnection] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.VpnConnection]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - gateway_name=gateway_name, - connection_name=connection_name, - vpn_connection_parameters=vpn_connection_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('VpnConnection', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/vpnConnections/{connectionName}'} - - - def _delete_initial( - self, resource_group_name, gateway_name, connection_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str'), - 'connectionName': self._serialize.url("connection_name", connection_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, gateway_name, connection_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes a vpn connection. - - :param resource_group_name: The resource group name of the VpnGateway. - :type resource_group_name: str - :param gateway_name: The name of the gateway. - :type gateway_name: str - :param connection_name: The name of the connection. - :type connection_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - gateway_name=gateway_name, - connection_name=connection_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/vpnConnections/{connectionName}'} - - def list_by_vpn_gateway( - self, resource_group_name, gateway_name, custom_headers=None, raw=False, **operation_config): - """Retrieves all vpn connections for a particular virtual wan vpn gateway. - - :param resource_group_name: The resource group name of the VpnGateway. - :type resource_group_name: str - :param gateway_name: The name of the gateway. - :type gateway_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of VpnConnection - :rtype: - ~azure.mgmt.network.v2019_09_01.models.VpnConnectionPaged[~azure.mgmt.network.v2019_09_01.models.VpnConnection] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_by_vpn_gateway.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.VpnConnectionPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_by_vpn_gateway.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/vpnConnections'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_vpn_gateways_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_vpn_gateways_operations.py deleted file mode 100644 index f4411093519..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_vpn_gateways_operations.py +++ /dev/null @@ -1,619 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class VpnGatewaysOperations(object): - """VpnGatewaysOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01" - - self.config = config - - def get( - self, resource_group_name, gateway_name, custom_headers=None, raw=False, **operation_config): - """Retrieves the details of a virtual wan vpn gateway. - - :param resource_group_name: The resource group name of the VpnGateway. - :type resource_group_name: str - :param gateway_name: The name of the gateway. - :type gateway_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: VpnGateway or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_09_01.models.VpnGateway or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('VpnGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}'} - - - def _create_or_update_initial( - self, resource_group_name, gateway_name, vpn_gateway_parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(vpn_gateway_parameters, 'VpnGateway') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('VpnGateway', response) - if response.status_code == 201: - deserialized = self._deserialize('VpnGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, gateway_name, vpn_gateway_parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates a virtual wan vpn gateway if it doesn't exist else updates the - existing gateway. - - :param resource_group_name: The resource group name of the VpnGateway. - :type resource_group_name: str - :param gateway_name: The name of the gateway. - :type gateway_name: str - :param vpn_gateway_parameters: Parameters supplied to create or Update - a virtual wan vpn gateway. - :type vpn_gateway_parameters: - ~azure.mgmt.network.v2019_09_01.models.VpnGateway - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns VpnGateway or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.VpnGateway] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.VpnGateway]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - gateway_name=gateway_name, - vpn_gateway_parameters=vpn_gateway_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('VpnGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}'} - - - def _update_tags_initial( - self, resource_group_name, gateway_name, tags=None, custom_headers=None, raw=False, **operation_config): - vpn_gateway_parameters = models.TagsObject(tags=tags) - - # Construct URL - url = self.update_tags.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(vpn_gateway_parameters, 'TagsObject') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('VpnGateway', response) - if response.status_code == 201: - deserialized = self._deserialize('VpnGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def update_tags( - self, resource_group_name, gateway_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Updates virtual wan vpn gateway tags. - - :param resource_group_name: The resource group name of the VpnGateway. - :type resource_group_name: str - :param gateway_name: The name of the gateway. - :type gateway_name: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns VpnGateway or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.VpnGateway] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.VpnGateway]] - :raises: :class:`CloudError` - """ - raw_result = self._update_tags_initial( - resource_group_name=resource_group_name, - gateway_name=gateway_name, - tags=tags, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('VpnGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}'} - - - def _delete_initial( - self, resource_group_name, gateway_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes a virtual wan vpn gateway. - - :param resource_group_name: The resource group name of the VpnGateway. - :type resource_group_name: str - :param gateway_name: The name of the gateway. - :type gateway_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - gateway_name=gateway_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}'} - - - def _reset_initial( - self, resource_group_name, gateway_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.reset.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str'), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - 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('VpnGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def reset( - self, resource_group_name, gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Resets the primary of the vpn gateway in the specified resource group. - - :param resource_group_name: The resource group name of the VpnGateway. - :type resource_group_name: str - :param gateway_name: The name of the gateway. - :type gateway_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns VpnGateway or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.VpnGateway] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.VpnGateway]] - :raises: :class:`CloudError` - """ - raw_result = self._reset_initial( - resource_group_name=resource_group_name, - gateway_name=gateway_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('VpnGateway', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - reset.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/reset'} - - def list_by_resource_group( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Lists all the VpnGateways in a resource group. - - :param resource_group_name: The resource group name of the VpnGateway. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of VpnGateway - :rtype: - ~azure.mgmt.network.v2019_09_01.models.VpnGatewayPaged[~azure.mgmt.network.v2019_09_01.models.VpnGateway] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_by_resource_group.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.VpnGatewayPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways'} - - def list( - self, custom_headers=None, raw=False, **operation_config): - """Lists all the VpnGateways in a subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of VpnGateway - :rtype: - ~azure.mgmt.network.v2019_09_01.models.VpnGatewayPaged[~azure.mgmt.network.v2019_09_01.models.VpnGateway] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.VpnGatewayPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/vpnGateways'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_vpn_link_connections_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_vpn_link_connections_operations.py deleted file mode 100644 index 9da6238a80a..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_vpn_link_connections_operations.py +++ /dev/null @@ -1,116 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError - -from .. import models - - -class VpnLinkConnectionsOperations(object): - """VpnLinkConnectionsOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01" - - self.config = config - - def list_by_vpn_connection( - self, resource_group_name, gateway_name, connection_name, custom_headers=None, raw=False, **operation_config): - """Retrieves all vpn site link connections for a particular virtual wan - vpn gateway vpn connection. - - :param resource_group_name: The resource group name of the VpnGateway. - :type resource_group_name: str - :param gateway_name: The name of the gateway. - :type gateway_name: str - :param connection_name: The name of the vpn connection. - :type connection_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of VpnSiteLinkConnection - :rtype: - ~azure.mgmt.network.v2019_09_01.models.VpnSiteLinkConnectionPaged[~azure.mgmt.network.v2019_09_01.models.VpnSiteLinkConnection] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_by_vpn_connection.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str'), - 'connectionName': self._serialize.url("connection_name", connection_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.VpnSiteLinkConnectionPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_by_vpn_connection.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/vpnConnections/{connectionName}/vpnLinkConnections'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_vpn_server_configurations_associated_with_virtual_wan_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_vpn_server_configurations_associated_with_virtual_wan_operations.py deleted file mode 100644 index ecae741ff24..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_vpn_server_configurations_associated_with_virtual_wan_operations.py +++ /dev/null @@ -1,138 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class VpnServerConfigurationsAssociatedWithVirtualWanOperations(object): - """VpnServerConfigurationsAssociatedWithVirtualWanOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01" - - self.config = config - - - def _list_initial( - self, resource_group_name, virtual_wan_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualWANName': self._serialize.url("virtual_wan_name", virtual_wan_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - 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('VpnServerConfigurationsResponse', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def list( - self, resource_group_name, virtual_wan_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Gives the list of VpnServerConfigurations associated with Virtual Wan - in a resource group. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param virtual_wan_name: The name of the VirtualWAN whose associated - VpnServerConfigurations is needed. - :type virtual_wan_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - VpnServerConfigurationsResponse or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.VpnServerConfigurationsResponse] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.VpnServerConfigurationsResponse]] - :raises: :class:`CloudError` - """ - raw_result = self._list_initial( - resource_group_name=resource_group_name, - virtual_wan_name=virtual_wan_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('VpnServerConfigurationsResponse', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{virtualWANName}/vpnServerConfigurations'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_vpn_server_configurations_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_vpn_server_configurations_operations.py deleted file mode 100644 index 084d2392bd2..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_vpn_server_configurations_operations.py +++ /dev/null @@ -1,535 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class VpnServerConfigurationsOperations(object): - """VpnServerConfigurationsOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01" - - self.config = config - - def get( - self, resource_group_name, vpn_server_configuration_name, custom_headers=None, raw=False, **operation_config): - """Retrieves the details of a VpnServerConfiguration. - - :param resource_group_name: The resource group name of the - VpnServerConfiguration. - :type resource_group_name: str - :param vpn_server_configuration_name: The name of the - VpnServerConfiguration being retrieved. - :type vpn_server_configuration_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: VpnServerConfiguration or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_09_01.models.VpnServerConfiguration - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'vpnServerConfigurationName': self._serialize.url("vpn_server_configuration_name", vpn_server_configuration_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('VpnServerConfiguration', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnServerConfigurations/{vpnServerConfigurationName}'} - - - def _create_or_update_initial( - self, resource_group_name, vpn_server_configuration_name, vpn_server_configuration_parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'vpnServerConfigurationName': self._serialize.url("vpn_server_configuration_name", vpn_server_configuration_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(vpn_server_configuration_parameters, 'VpnServerConfiguration') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('VpnServerConfiguration', response) - if response.status_code == 201: - deserialized = self._deserialize('VpnServerConfiguration', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, vpn_server_configuration_name, vpn_server_configuration_parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates a VpnServerConfiguration resource if it doesn't exist else - updates the existing VpnServerConfiguration. - - :param resource_group_name: The resource group name of the - VpnServerConfiguration. - :type resource_group_name: str - :param vpn_server_configuration_name: The name of the - VpnServerConfiguration being created or updated. - :type vpn_server_configuration_name: str - :param vpn_server_configuration_parameters: Parameters supplied to - create or update VpnServerConfiguration. - :type vpn_server_configuration_parameters: - ~azure.mgmt.network.v2019_09_01.models.VpnServerConfiguration - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns VpnServerConfiguration - or ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.VpnServerConfiguration] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.VpnServerConfiguration]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - vpn_server_configuration_name=vpn_server_configuration_name, - vpn_server_configuration_parameters=vpn_server_configuration_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('VpnServerConfiguration', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnServerConfigurations/{vpnServerConfigurationName}'} - - - def _update_tags_initial( - self, resource_group_name, vpn_server_configuration_name, tags=None, custom_headers=None, raw=False, **operation_config): - vpn_server_configuration_parameters = models.TagsObject(tags=tags) - - # Construct URL - url = self.update_tags.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'vpnServerConfigurationName': self._serialize.url("vpn_server_configuration_name", vpn_server_configuration_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(vpn_server_configuration_parameters, 'TagsObject') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('VpnServerConfiguration', response) - if response.status_code == 201: - deserialized = self._deserialize('VpnServerConfiguration', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def update_tags( - self, resource_group_name, vpn_server_configuration_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Updates VpnServerConfiguration tags. - - :param resource_group_name: The resource group name of the - VpnServerConfiguration. - :type resource_group_name: str - :param vpn_server_configuration_name: The name of the - VpnServerConfiguration being updated. - :type vpn_server_configuration_name: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns VpnServerConfiguration - or ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.VpnServerConfiguration] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.VpnServerConfiguration]] - :raises: :class:`CloudError` - """ - raw_result = self._update_tags_initial( - resource_group_name=resource_group_name, - vpn_server_configuration_name=vpn_server_configuration_name, - tags=tags, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('VpnServerConfiguration', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnServerConfigurations/{vpnServerConfigurationName}'} - - - def _delete_initial( - self, resource_group_name, vpn_server_configuration_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'vpnServerConfigurationName': self._serialize.url("vpn_server_configuration_name", vpn_server_configuration_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, vpn_server_configuration_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes a VpnServerConfiguration. - - :param resource_group_name: The resource group name of the - VpnServerConfiguration. - :type resource_group_name: str - :param vpn_server_configuration_name: The name of the - VpnServerConfiguration being deleted. - :type vpn_server_configuration_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - vpn_server_configuration_name=vpn_server_configuration_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnServerConfigurations/{vpnServerConfigurationName}'} - - def list_by_resource_group( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Lists all the vpnServerConfigurations in a resource group. - - :param resource_group_name: The resource group name of the - VpnServerConfiguration. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of VpnServerConfiguration - :rtype: - ~azure.mgmt.network.v2019_09_01.models.VpnServerConfigurationPaged[~azure.mgmt.network.v2019_09_01.models.VpnServerConfiguration] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_by_resource_group.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.VpnServerConfigurationPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnServerConfigurations'} - - def list( - self, custom_headers=None, raw=False, **operation_config): - """Lists all the VpnServerConfigurations in a subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of VpnServerConfiguration - :rtype: - ~azure.mgmt.network.v2019_09_01.models.VpnServerConfigurationPaged[~azure.mgmt.network.v2019_09_01.models.VpnServerConfiguration] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.VpnServerConfigurationPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/vpnServerConfigurations'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_vpn_site_link_connections_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_vpn_site_link_connections_operations.py deleted file mode 100644 index b7ddb72cfc7..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_vpn_site_link_connections_operations.py +++ /dev/null @@ -1,107 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError - -from .. import models - - -class VpnSiteLinkConnectionsOperations(object): - """VpnSiteLinkConnectionsOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01" - - self.config = config - - def get( - self, resource_group_name, gateway_name, connection_name, link_connection_name, custom_headers=None, raw=False, **operation_config): - """Retrieves the details of a vpn site link connection. - - :param resource_group_name: The resource group name of the VpnGateway. - :type resource_group_name: str - :param gateway_name: The name of the gateway. - :type gateway_name: str - :param connection_name: The name of the vpn connection. - :type connection_name: str - :param link_connection_name: The name of the vpn connection. - :type link_connection_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: VpnSiteLinkConnection or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_09_01.models.VpnSiteLinkConnection - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str'), - 'connectionName': self._serialize.url("connection_name", connection_name, 'str'), - 'linkConnectionName': self._serialize.url("link_connection_name", link_connection_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('VpnSiteLinkConnection', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/vpnConnections/{connectionName}/vpnLinkConnections/{linkConnectionName}'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_vpn_site_links_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_vpn_site_links_operations.py deleted file mode 100644 index 6b122d627fc..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_vpn_site_links_operations.py +++ /dev/null @@ -1,177 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError - -from .. import models - - -class VpnSiteLinksOperations(object): - """VpnSiteLinksOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01" - - self.config = config - - def get( - self, resource_group_name, vpn_site_name, vpn_site_link_name, custom_headers=None, raw=False, **operation_config): - """Retrieves the details of a VPN site link. - - :param resource_group_name: The resource group name of the VpnSite. - :type resource_group_name: str - :param vpn_site_name: The name of the VpnSite. - :type vpn_site_name: str - :param vpn_site_link_name: The name of the VpnSiteLink being - retrieved. - :type vpn_site_link_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: VpnSiteLink or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_09_01.models.VpnSiteLink or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'vpnSiteName': self._serialize.url("vpn_site_name", vpn_site_name, 'str'), - 'vpnSiteLinkName': self._serialize.url("vpn_site_link_name", vpn_site_link_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('VpnSiteLink', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnSites/{vpnSiteName}/vpnSiteLinks/{vpnSiteLinkName}'} - - def list_by_vpn_site( - self, resource_group_name, vpn_site_name, custom_headers=None, raw=False, **operation_config): - """Lists all the vpnSiteLinks in a resource group for a vpn site. - - :param resource_group_name: The resource group name of the VpnSite. - :type resource_group_name: str - :param vpn_site_name: The name of the VpnSite. - :type vpn_site_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of VpnSiteLink - :rtype: - ~azure.mgmt.network.v2019_09_01.models.VpnSiteLinkPaged[~azure.mgmt.network.v2019_09_01.models.VpnSiteLink] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_by_vpn_site.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'vpnSiteName': self._serialize.url("vpn_site_name", vpn_site_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.VpnSiteLinkPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_by_vpn_site.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnSites/{vpnSiteName}/vpnSiteLinks'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_vpn_sites_configuration_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_vpn_sites_configuration_operations.py deleted file mode 100644 index 2e60281ecb7..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_vpn_sites_configuration_operations.py +++ /dev/null @@ -1,137 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class VpnSitesConfigurationOperations(object): - """VpnSitesConfigurationOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01" - - self.config = config - - - def _download_initial( - self, resource_group_name, virtual_wan_name, output_blob_sas_url, vpn_sites=None, custom_headers=None, raw=False, **operation_config): - request = models.GetVpnSitesConfigurationRequest(vpn_sites=vpn_sites, output_blob_sas_url=output_blob_sas_url) - - # Construct URL - url = self.download.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'virtualWANName': self._serialize.url("virtual_wan_name", virtual_wan_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.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(request, 'GetVpnSitesConfigurationRequest') - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def download( - self, resource_group_name, virtual_wan_name, output_blob_sas_url, vpn_sites=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Gives the sas-url to download the configurations for vpn-sites in a - resource group. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param virtual_wan_name: The name of the VirtualWAN for which - configuration of all vpn-sites is needed. - :type virtual_wan_name: str - :param output_blob_sas_url: The sas-url to download the configurations - for vpn-sites. - :type output_blob_sas_url: str - :param vpn_sites: List of resource-ids of the vpn-sites for which - config is to be downloaded. - :type vpn_sites: list[str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._download_initial( - resource_group_name=resource_group_name, - virtual_wan_name=virtual_wan_name, - output_blob_sas_url=output_blob_sas_url, - vpn_sites=vpn_sites, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - download.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{virtualWANName}/vpnConfiguration'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_vpn_sites_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_vpn_sites_operations.py deleted file mode 100644 index 504a2462a2e..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_vpn_sites_operations.py +++ /dev/null @@ -1,527 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class VpnSitesOperations(object): - """VpnSitesOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01" - - self.config = config - - def get( - self, resource_group_name, vpn_site_name, custom_headers=None, raw=False, **operation_config): - """Retrieves the details of a VPN site. - - :param resource_group_name: The resource group name of the VpnSite. - :type resource_group_name: str - :param vpn_site_name: The name of the VpnSite being retrieved. - :type vpn_site_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: VpnSite or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.network.v2019_09_01.models.VpnSite or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'vpnSiteName': self._serialize.url("vpn_site_name", vpn_site_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('VpnSite', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnSites/{vpnSiteName}'} - - - def _create_or_update_initial( - self, resource_group_name, vpn_site_name, vpn_site_parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'vpnSiteName': self._serialize.url("vpn_site_name", vpn_site_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(vpn_site_parameters, 'VpnSite') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('VpnSite', response) - if response.status_code == 201: - deserialized = self._deserialize('VpnSite', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, vpn_site_name, vpn_site_parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates a VpnSite resource if it doesn't exist else updates the - existing VpnSite. - - :param resource_group_name: The resource group name of the VpnSite. - :type resource_group_name: str - :param vpn_site_name: The name of the VpnSite being created or - updated. - :type vpn_site_name: str - :param vpn_site_parameters: Parameters supplied to create or update - VpnSite. - :type vpn_site_parameters: - ~azure.mgmt.network.v2019_09_01.models.VpnSite - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns VpnSite or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.VpnSite] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.VpnSite]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - vpn_site_name=vpn_site_name, - vpn_site_parameters=vpn_site_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('VpnSite', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnSites/{vpnSiteName}'} - - - def _update_tags_initial( - self, resource_group_name, vpn_site_name, tags=None, custom_headers=None, raw=False, **operation_config): - vpn_site_parameters = models.TagsObject(tags=tags) - - # Construct URL - url = self.update_tags.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'vpnSiteName': self._serialize.url("vpn_site_name", vpn_site_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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(vpn_site_parameters, 'TagsObject') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('VpnSite', response) - if response.status_code == 201: - deserialized = self._deserialize('VpnSite', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def update_tags( - self, resource_group_name, vpn_site_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Updates VpnSite tags. - - :param resource_group_name: The resource group name of the VpnSite. - :type resource_group_name: str - :param vpn_site_name: The name of the VpnSite being updated. - :type vpn_site_name: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns VpnSite or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2019_09_01.models.VpnSite] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2019_09_01.models.VpnSite]] - :raises: :class:`CloudError` - """ - raw_result = self._update_tags_initial( - resource_group_name=resource_group_name, - vpn_site_name=vpn_site_name, - tags=tags, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('VpnSite', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnSites/{vpnSiteName}'} - - - def _delete_initial( - self, resource_group_name, vpn_site_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'vpnSiteName': self._serialize.url("vpn_site_name", vpn_site_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, vpn_site_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes a VpnSite. - - :param resource_group_name: The resource group name of the VpnSite. - :type resource_group_name: str - :param vpn_site_name: The name of the VpnSite being deleted. - :type vpn_site_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - vpn_site_name=vpn_site_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnSites/{vpnSiteName}'} - - def list_by_resource_group( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Lists all the vpnSites in a resource group. - - :param resource_group_name: The resource group name of the VpnSite. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of VpnSite - :rtype: - ~azure.mgmt.network.v2019_09_01.models.VpnSitePaged[~azure.mgmt.network.v2019_09_01.models.VpnSite] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_by_resource_group.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.VpnSitePaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnSites'} - - def list( - self, custom_headers=None, raw=False, **operation_config): - """Lists all the VpnSites in a subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of VpnSite - :rtype: - ~azure.mgmt.network.v2019_09_01.models.VpnSitePaged[~azure.mgmt.network.v2019_09_01.models.VpnSite] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.VpnSitePaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/vpnSites'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_web_application_firewall_policies_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_web_application_firewall_policies_operations.py deleted file mode 100644 index 4a448030043..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/operations/_web_application_firewall_policies_operations.py +++ /dev/null @@ -1,390 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class WebApplicationFirewallPoliciesOperations(object): - """WebApplicationFirewallPoliciesOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01" - - self.config = config - - def list( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Lists all of the protection policies within a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of WebApplicationFirewallPolicy - :rtype: - ~azure.mgmt.network.v2019_09_01.models.WebApplicationFirewallPolicyPaged[~azure.mgmt.network.v2019_09_01.models.WebApplicationFirewallPolicy] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.WebApplicationFirewallPolicyPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies'} - - def list_all( - self, custom_headers=None, raw=False, **operation_config): - """Gets all the WAF policies in a subscription. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of WebApplicationFirewallPolicy - :rtype: - ~azure.mgmt.network.v2019_09_01.models.WebApplicationFirewallPolicyPaged[~azure.mgmt.network.v2019_09_01.models.WebApplicationFirewallPolicy] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_all.metadata['url'] - path_format_arguments = { - '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.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.WebApplicationFirewallPolicyPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies'} - - def get( - self, resource_group_name, policy_name, custom_headers=None, raw=False, **operation_config): - """Retrieve protection policy with specified name within a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param policy_name: The name of the policy. - :type policy_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: WebApplicationFirewallPolicy or ClientRawResponse if raw=true - :rtype: - ~azure.mgmt.network.v2019_09_01.models.WebApplicationFirewallPolicy or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'policyName': self._serialize.url("policy_name", policy_name, 'str', max_length=128), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - 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('WebApplicationFirewallPolicy', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies/{policyName}'} - - def create_or_update( - self, resource_group_name, policy_name, parameters, custom_headers=None, raw=False, **operation_config): - """Creates or update policy with specified rule set name within a resource - group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param policy_name: The name of the policy. - :type policy_name: str - :param parameters: Policy to be created. - :type parameters: - ~azure.mgmt.network.v2019_09_01.models.WebApplicationFirewallPolicy - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: WebApplicationFirewallPolicy or ClientRawResponse if raw=true - :rtype: - ~azure.mgmt.network.v2019_09_01.models.WebApplicationFirewallPolicy or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'policyName': self._serialize.url("policy_name", policy_name, 'str', max_length=128), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'WebApplicationFirewallPolicy') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - 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('WebApplicationFirewallPolicy', response) - if response.status_code == 201: - deserialized = self._deserialize('WebApplicationFirewallPolicy', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies/{policyName}'} - - - def _delete_initial( - self, resource_group_name, policy_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'policyName': self._serialize.url("policy_name", policy_name, 'str', max_length=128), - '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.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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 and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, policy_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes Policy. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param policy_name: The name of the policy. - :type policy_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - policy_name=policy_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies/{policyName}'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/version.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/version.py deleted file mode 100644 index d15d41e4399..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/version.py +++ /dev/null @@ -1,8 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -------------------------------------------------------------------------- - -VERSION = "6.0.0" diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/__init__.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/__init__.py similarity index 100% rename from src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/__init__.py rename to src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/__init__.py diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/_configuration.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/_configuration.py similarity index 100% rename from src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/_configuration.py rename to src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/_configuration.py diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/_network_management_client.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/_network_management_client.py new file mode 100644 index 00000000000..558c63edf9b --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/_network_management_client.py @@ -0,0 +1,6024 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.service_client import SDKClient +from msrest import Serializer, Deserializer + +from azure.profiles import KnownProfiles, ProfileDefinition +from azure.profiles.multiapiclient import MultiApiClientMixin +from ._configuration import NetworkManagementClientConfiguration +from ._operations_mixin import NetworkManagementClientOperationsMixin + + +class NetworkManagementClient(NetworkManagementClientOperationsMixin, MultiApiClientMixin, SDKClient): + """Network Client + + This ready contains multiple API versions, to help you deal with all Azure clouds + (Azure Stack, Azure Government, Azure China, etc.). + By default, uses latest API version available on public Azure. + For production, you should stick a particular api-version and/or profile. + The profile sets a mapping between the operation group and an API version. + The api-version parameter sets the default API version if the operation + group is not described in the profile. + + :ivar config: Configuration for client. + :vartype config: NetworkManagementClientConfiguration + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param subscription_id: 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 str api_version: API version to use if no profile is provided, or if + missing in profile. + :param str base_url: Service URL + :param profile: A profile definition, from KnownProfiles to dict. + :type profile: azure.profiles.KnownProfiles + """ + + DEFAULT_API_VERSION = '2020-04-01' + _PROFILE_TAG = "azure.mgmt.network.NetworkManagementClient" + LATEST_PROFILE = ProfileDefinition({ + _PROFILE_TAG: { + None: DEFAULT_API_VERSION, + 'interface_endpoints': '2019-02-01', + 'p2s_vpn_server_configurations': '2019-07-01', + 'virtual_wa_ns': '2018-07-01', + }}, + _PROFILE_TAG + " latest" + ) + + def __init__(self, credentials, subscription_id, api_version=None, base_url=None, profile=KnownProfiles.default): + self.config = NetworkManagementClientConfiguration(credentials, subscription_id, base_url) + super(NetworkManagementClient, self).__init__( + credentials, + self.config, + api_version=api_version, + profile=profile + ) + + @classmethod + def _models_dict(cls, api_version): + return {k: v for k, v in cls.models(api_version).__dict__.items() if isinstance(v, type)} + + @classmethod + def models(cls, api_version=DEFAULT_API_VERSION): + """Module depends on the API version: + + * 2015-06-15: :mod:`v2015_06_15.models` + * 2016-09-01: :mod:`v2016_09_01.models` + * 2016-12-01: :mod:`v2016_12_01.models` + * 2017-03-01: :mod:`v2017_03_01.models` + * 2017-06-01: :mod:`v2017_06_01.models` + * 2017-08-01: :mod:`v2017_08_01.models` + * 2017-09-01: :mod:`v2017_09_01.models` + * 2017-10-01: :mod:`v2017_10_01.models` + * 2017-11-01: :mod:`v2017_11_01.models` + * 2018-01-01: :mod:`v2018_01_01.models` + * 2018-02-01: :mod:`v2018_02_01.models` + * 2018-04-01: :mod:`v2018_04_01.models` + * 2018-06-01: :mod:`v2018_06_01.models` + * 2018-07-01: :mod:`v2018_07_01.models` + * 2018-08-01: :mod:`v2018_08_01.models` + * 2018-10-01: :mod:`v2018_10_01.models` + * 2018-11-01: :mod:`v2018_11_01.models` + * 2018-12-01: :mod:`v2018_12_01.models` + * 2019-02-01: :mod:`v2019_02_01.models` + * 2019-04-01: :mod:`v2019_04_01.models` + * 2019-06-01: :mod:`v2019_06_01.models` + * 2019-07-01: :mod:`v2019_07_01.models` + * 2019-08-01: :mod:`v2019_08_01.models` + * 2019-09-01: :mod:`v2019_09_01.models` + * 2019-11-01: :mod:`v2019_11_01.models` + * 2019-12-01: :mod:`v2019_12_01.models` + * 2020-03-01: :mod:`v2020_03_01.models` + * 2020-04-01: :mod:`v2020_04_01.models` + """ + if api_version == '2015-06-15': + from .v2015_06_15 import models + return models + elif api_version == '2016-09-01': + from .v2016_09_01 import models + return models + elif api_version == '2016-12-01': + from .v2016_12_01 import models + return models + elif api_version == '2017-03-01': + from .v2017_03_01 import models + return models + elif api_version == '2017-06-01': + from .v2017_06_01 import models + return models + elif api_version == '2017-08-01': + from .v2017_08_01 import models + return models + elif api_version == '2017-09-01': + from .v2017_09_01 import models + return models + elif api_version == '2017-10-01': + from .v2017_10_01 import models + return models + elif api_version == '2017-11-01': + from .v2017_11_01 import models + return models + elif api_version == '2018-01-01': + from .v2018_01_01 import models + return models + elif api_version == '2018-02-01': + from .v2018_02_01 import models + return models + elif api_version == '2018-04-01': + from .v2018_04_01 import models + return models + elif api_version == '2018-06-01': + from .v2018_06_01 import models + return models + elif api_version == '2018-07-01': + from .v2018_07_01 import models + return models + elif api_version == '2018-08-01': + from .v2018_08_01 import models + return models + elif api_version == '2018-10-01': + from .v2018_10_01 import models + return models + elif api_version == '2018-11-01': + from .v2018_11_01 import models + return models + elif api_version == '2018-12-01': + from .v2018_12_01 import models + return models + elif api_version == '2019-02-01': + from .v2019_02_01 import models + return models + elif api_version == '2019-04-01': + from .v2019_04_01 import models + return models + elif api_version == '2019-06-01': + from .v2019_06_01 import models + return models + elif api_version == '2019-07-01': + from .v2019_07_01 import models + return models + elif api_version == '2019-08-01': + from .v2019_08_01 import models + return models + elif api_version == '2019-09-01': + from .v2019_09_01 import models + return models + elif api_version == '2019-11-01': + from .v2019_11_01 import models + return models + elif api_version == '2019-12-01': + from .v2019_12_01 import models + return models + elif api_version == '2020-03-01': + from .v2020_03_01 import models + return models + elif api_version == '2020-04-01': + from .v2020_04_01 import models + return models + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + + @property + def application_gateways(self): + """Instance depends on the API version: + + * 2015-06-15: :class:`ApplicationGatewaysOperations` + * 2016-09-01: :class:`ApplicationGatewaysOperations` + * 2016-12-01: :class:`ApplicationGatewaysOperations` + * 2017-03-01: :class:`ApplicationGatewaysOperations` + * 2017-06-01: :class:`ApplicationGatewaysOperations` + * 2017-08-01: :class:`ApplicationGatewaysOperations` + * 2017-09-01: :class:`ApplicationGatewaysOperations` + * 2017-10-01: :class:`ApplicationGatewaysOperations` + * 2017-11-01: :class:`ApplicationGatewaysOperations` + * 2018-01-01: :class:`ApplicationGatewaysOperations` + * 2018-02-01: :class:`ApplicationGatewaysOperations` + * 2018-04-01: :class:`ApplicationGatewaysOperations` + * 2018-06-01: :class:`ApplicationGatewaysOperations` + * 2018-07-01: :class:`ApplicationGatewaysOperations` + * 2018-08-01: :class:`ApplicationGatewaysOperations` + * 2018-10-01: :class:`ApplicationGatewaysOperations` + * 2018-11-01: :class:`ApplicationGatewaysOperations` + * 2018-12-01: :class:`ApplicationGatewaysOperations` + * 2019-02-01: :class:`ApplicationGatewaysOperations` + * 2019-04-01: :class:`ApplicationGatewaysOperations` + * 2019-06-01: :class:`ApplicationGatewaysOperations` + * 2019-07-01: :class:`ApplicationGatewaysOperations` + * 2019-08-01: :class:`ApplicationGatewaysOperations` + * 2019-09-01: :class:`ApplicationGatewaysOperations` + * 2019-11-01: :class:`ApplicationGatewaysOperations` + * 2019-12-01: :class:`ApplicationGatewaysOperations` + * 2020-03-01: :class:`ApplicationGatewaysOperations` + * 2020-04-01: :class:`ApplicationGatewaysOperations` + """ + api_version = self._get_api_version('application_gateways') + if api_version == '2015-06-15': + from .v2015_06_15.operations import ApplicationGatewaysOperations as OperationClass + elif api_version == '2016-09-01': + from .v2016_09_01.operations import ApplicationGatewaysOperations as OperationClass + elif api_version == '2016-12-01': + from .v2016_12_01.operations import ApplicationGatewaysOperations as OperationClass + elif api_version == '2017-03-01': + from .v2017_03_01.operations import ApplicationGatewaysOperations as OperationClass + elif api_version == '2017-06-01': + from .v2017_06_01.operations import ApplicationGatewaysOperations as OperationClass + elif api_version == '2017-08-01': + from .v2017_08_01.operations import ApplicationGatewaysOperations as OperationClass + elif api_version == '2017-09-01': + from .v2017_09_01.operations import ApplicationGatewaysOperations as OperationClass + elif api_version == '2017-10-01': + from .v2017_10_01.operations import ApplicationGatewaysOperations as OperationClass + elif api_version == '2017-11-01': + from .v2017_11_01.operations import ApplicationGatewaysOperations as OperationClass + elif api_version == '2018-01-01': + from .v2018_01_01.operations import ApplicationGatewaysOperations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import ApplicationGatewaysOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import ApplicationGatewaysOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import ApplicationGatewaysOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import ApplicationGatewaysOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import ApplicationGatewaysOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import ApplicationGatewaysOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import ApplicationGatewaysOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import ApplicationGatewaysOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import ApplicationGatewaysOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import ApplicationGatewaysOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import ApplicationGatewaysOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import ApplicationGatewaysOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import ApplicationGatewaysOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import ApplicationGatewaysOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import ApplicationGatewaysOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import ApplicationGatewaysOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import ApplicationGatewaysOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import ApplicationGatewaysOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def application_security_groups(self): + """Instance depends on the API version: + + * 2017-09-01: :class:`ApplicationSecurityGroupsOperations` + * 2017-10-01: :class:`ApplicationSecurityGroupsOperations` + * 2017-11-01: :class:`ApplicationSecurityGroupsOperations` + * 2018-01-01: :class:`ApplicationSecurityGroupsOperations` + * 2018-02-01: :class:`ApplicationSecurityGroupsOperations` + * 2018-04-01: :class:`ApplicationSecurityGroupsOperations` + * 2018-06-01: :class:`ApplicationSecurityGroupsOperations` + * 2018-07-01: :class:`ApplicationSecurityGroupsOperations` + * 2018-08-01: :class:`ApplicationSecurityGroupsOperations` + * 2018-10-01: :class:`ApplicationSecurityGroupsOperations` + * 2018-11-01: :class:`ApplicationSecurityGroupsOperations` + * 2018-12-01: :class:`ApplicationSecurityGroupsOperations` + * 2019-02-01: :class:`ApplicationSecurityGroupsOperations` + * 2019-04-01: :class:`ApplicationSecurityGroupsOperations` + * 2019-06-01: :class:`ApplicationSecurityGroupsOperations` + * 2019-07-01: :class:`ApplicationSecurityGroupsOperations` + * 2019-08-01: :class:`ApplicationSecurityGroupsOperations` + * 2019-09-01: :class:`ApplicationSecurityGroupsOperations` + * 2019-11-01: :class:`ApplicationSecurityGroupsOperations` + * 2019-12-01: :class:`ApplicationSecurityGroupsOperations` + * 2020-03-01: :class:`ApplicationSecurityGroupsOperations` + * 2020-04-01: :class:`ApplicationSecurityGroupsOperations` + """ + api_version = self._get_api_version('application_security_groups') + if api_version == '2017-09-01': + from .v2017_09_01.operations import ApplicationSecurityGroupsOperations as OperationClass + elif api_version == '2017-10-01': + from .v2017_10_01.operations import ApplicationSecurityGroupsOperations as OperationClass + elif api_version == '2017-11-01': + from .v2017_11_01.operations import ApplicationSecurityGroupsOperations as OperationClass + elif api_version == '2018-01-01': + from .v2018_01_01.operations import ApplicationSecurityGroupsOperations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import ApplicationSecurityGroupsOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import ApplicationSecurityGroupsOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import ApplicationSecurityGroupsOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import ApplicationSecurityGroupsOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import ApplicationSecurityGroupsOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import ApplicationSecurityGroupsOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import ApplicationSecurityGroupsOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import ApplicationSecurityGroupsOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import ApplicationSecurityGroupsOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import ApplicationSecurityGroupsOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import ApplicationSecurityGroupsOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import ApplicationSecurityGroupsOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import ApplicationSecurityGroupsOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import ApplicationSecurityGroupsOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import ApplicationSecurityGroupsOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import ApplicationSecurityGroupsOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import ApplicationSecurityGroupsOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import ApplicationSecurityGroupsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def available_delegations(self): + """Instance depends on the API version: + + * 2018-08-01: :class:`AvailableDelegationsOperations` + * 2018-10-01: :class:`AvailableDelegationsOperations` + * 2018-11-01: :class:`AvailableDelegationsOperations` + * 2018-12-01: :class:`AvailableDelegationsOperations` + * 2019-02-01: :class:`AvailableDelegationsOperations` + * 2019-04-01: :class:`AvailableDelegationsOperations` + * 2019-06-01: :class:`AvailableDelegationsOperations` + * 2019-07-01: :class:`AvailableDelegationsOperations` + * 2019-08-01: :class:`AvailableDelegationsOperations` + * 2019-09-01: :class:`AvailableDelegationsOperations` + * 2019-11-01: :class:`AvailableDelegationsOperations` + * 2019-12-01: :class:`AvailableDelegationsOperations` + * 2020-03-01: :class:`AvailableDelegationsOperations` + * 2020-04-01: :class:`AvailableDelegationsOperations` + """ + api_version = self._get_api_version('available_delegations') + if api_version == '2018-08-01': + from .v2018_08_01.operations import AvailableDelegationsOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import AvailableDelegationsOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import AvailableDelegationsOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import AvailableDelegationsOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import AvailableDelegationsOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import AvailableDelegationsOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import AvailableDelegationsOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import AvailableDelegationsOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import AvailableDelegationsOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import AvailableDelegationsOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import AvailableDelegationsOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import AvailableDelegationsOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import AvailableDelegationsOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import AvailableDelegationsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def available_endpoint_services(self): + """Instance depends on the API version: + + * 2017-06-01: :class:`AvailableEndpointServicesOperations` + * 2017-08-01: :class:`AvailableEndpointServicesOperations` + * 2017-09-01: :class:`AvailableEndpointServicesOperations` + * 2017-10-01: :class:`AvailableEndpointServicesOperations` + * 2017-11-01: :class:`AvailableEndpointServicesOperations` + * 2018-01-01: :class:`AvailableEndpointServicesOperations` + * 2018-02-01: :class:`AvailableEndpointServicesOperations` + * 2018-04-01: :class:`AvailableEndpointServicesOperations` + * 2018-06-01: :class:`AvailableEndpointServicesOperations` + * 2018-07-01: :class:`AvailableEndpointServicesOperations` + * 2018-08-01: :class:`AvailableEndpointServicesOperations` + * 2018-10-01: :class:`AvailableEndpointServicesOperations` + * 2018-11-01: :class:`AvailableEndpointServicesOperations` + * 2018-12-01: :class:`AvailableEndpointServicesOperations` + * 2019-02-01: :class:`AvailableEndpointServicesOperations` + * 2019-04-01: :class:`AvailableEndpointServicesOperations` + * 2019-06-01: :class:`AvailableEndpointServicesOperations` + * 2019-07-01: :class:`AvailableEndpointServicesOperations` + * 2019-08-01: :class:`AvailableEndpointServicesOperations` + * 2019-09-01: :class:`AvailableEndpointServicesOperations` + * 2019-11-01: :class:`AvailableEndpointServicesOperations` + * 2019-12-01: :class:`AvailableEndpointServicesOperations` + * 2020-03-01: :class:`AvailableEndpointServicesOperations` + * 2020-04-01: :class:`AvailableEndpointServicesOperations` + """ + api_version = self._get_api_version('available_endpoint_services') + if api_version == '2017-06-01': + from .v2017_06_01.operations import AvailableEndpointServicesOperations as OperationClass + elif api_version == '2017-08-01': + from .v2017_08_01.operations import AvailableEndpointServicesOperations as OperationClass + elif api_version == '2017-09-01': + from .v2017_09_01.operations import AvailableEndpointServicesOperations as OperationClass + elif api_version == '2017-10-01': + from .v2017_10_01.operations import AvailableEndpointServicesOperations as OperationClass + elif api_version == '2017-11-01': + from .v2017_11_01.operations import AvailableEndpointServicesOperations as OperationClass + elif api_version == '2018-01-01': + from .v2018_01_01.operations import AvailableEndpointServicesOperations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import AvailableEndpointServicesOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import AvailableEndpointServicesOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import AvailableEndpointServicesOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import AvailableEndpointServicesOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import AvailableEndpointServicesOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import AvailableEndpointServicesOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import AvailableEndpointServicesOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import AvailableEndpointServicesOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import AvailableEndpointServicesOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import AvailableEndpointServicesOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import AvailableEndpointServicesOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import AvailableEndpointServicesOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import AvailableEndpointServicesOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import AvailableEndpointServicesOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import AvailableEndpointServicesOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import AvailableEndpointServicesOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import AvailableEndpointServicesOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import AvailableEndpointServicesOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def available_private_endpoint_types(self): + """Instance depends on the API version: + + * 2019-04-01: :class:`AvailablePrivateEndpointTypesOperations` + * 2019-06-01: :class:`AvailablePrivateEndpointTypesOperations` + * 2019-07-01: :class:`AvailablePrivateEndpointTypesOperations` + * 2019-08-01: :class:`AvailablePrivateEndpointTypesOperations` + * 2019-09-01: :class:`AvailablePrivateEndpointTypesOperations` + * 2019-11-01: :class:`AvailablePrivateEndpointTypesOperations` + * 2019-12-01: :class:`AvailablePrivateEndpointTypesOperations` + * 2020-03-01: :class:`AvailablePrivateEndpointTypesOperations` + * 2020-04-01: :class:`AvailablePrivateEndpointTypesOperations` + """ + api_version = self._get_api_version('available_private_endpoint_types') + if api_version == '2019-04-01': + from .v2019_04_01.operations import AvailablePrivateEndpointTypesOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import AvailablePrivateEndpointTypesOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import AvailablePrivateEndpointTypesOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import AvailablePrivateEndpointTypesOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import AvailablePrivateEndpointTypesOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import AvailablePrivateEndpointTypesOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import AvailablePrivateEndpointTypesOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import AvailablePrivateEndpointTypesOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import AvailablePrivateEndpointTypesOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def available_resource_group_delegations(self): + """Instance depends on the API version: + + * 2018-08-01: :class:`AvailableResourceGroupDelegationsOperations` + * 2018-10-01: :class:`AvailableResourceGroupDelegationsOperations` + * 2018-11-01: :class:`AvailableResourceGroupDelegationsOperations` + * 2018-12-01: :class:`AvailableResourceGroupDelegationsOperations` + * 2019-02-01: :class:`AvailableResourceGroupDelegationsOperations` + * 2019-04-01: :class:`AvailableResourceGroupDelegationsOperations` + * 2019-06-01: :class:`AvailableResourceGroupDelegationsOperations` + * 2019-07-01: :class:`AvailableResourceGroupDelegationsOperations` + * 2019-08-01: :class:`AvailableResourceGroupDelegationsOperations` + * 2019-09-01: :class:`AvailableResourceGroupDelegationsOperations` + * 2019-11-01: :class:`AvailableResourceGroupDelegationsOperations` + * 2019-12-01: :class:`AvailableResourceGroupDelegationsOperations` + * 2020-03-01: :class:`AvailableResourceGroupDelegationsOperations` + * 2020-04-01: :class:`AvailableResourceGroupDelegationsOperations` + """ + api_version = self._get_api_version('available_resource_group_delegations') + if api_version == '2018-08-01': + from .v2018_08_01.operations import AvailableResourceGroupDelegationsOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import AvailableResourceGroupDelegationsOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import AvailableResourceGroupDelegationsOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import AvailableResourceGroupDelegationsOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import AvailableResourceGroupDelegationsOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import AvailableResourceGroupDelegationsOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import AvailableResourceGroupDelegationsOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import AvailableResourceGroupDelegationsOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import AvailableResourceGroupDelegationsOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import AvailableResourceGroupDelegationsOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import AvailableResourceGroupDelegationsOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import AvailableResourceGroupDelegationsOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import AvailableResourceGroupDelegationsOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import AvailableResourceGroupDelegationsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def available_service_aliases(self): + """Instance depends on the API version: + + * 2019-08-01: :class:`AvailableServiceAliasesOperations` + * 2019-09-01: :class:`AvailableServiceAliasesOperations` + * 2019-11-01: :class:`AvailableServiceAliasesOperations` + * 2019-12-01: :class:`AvailableServiceAliasesOperations` + * 2020-03-01: :class:`AvailableServiceAliasesOperations` + * 2020-04-01: :class:`AvailableServiceAliasesOperations` + """ + api_version = self._get_api_version('available_service_aliases') + if api_version == '2019-08-01': + from .v2019_08_01.operations import AvailableServiceAliasesOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import AvailableServiceAliasesOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import AvailableServiceAliasesOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import AvailableServiceAliasesOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import AvailableServiceAliasesOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import AvailableServiceAliasesOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def azure_firewall_fqdn_tags(self): + """Instance depends on the API version: + + * 2018-08-01: :class:`AzureFirewallFqdnTagsOperations` + * 2018-10-01: :class:`AzureFirewallFqdnTagsOperations` + * 2018-11-01: :class:`AzureFirewallFqdnTagsOperations` + * 2018-12-01: :class:`AzureFirewallFqdnTagsOperations` + * 2019-02-01: :class:`AzureFirewallFqdnTagsOperations` + * 2019-04-01: :class:`AzureFirewallFqdnTagsOperations` + * 2019-06-01: :class:`AzureFirewallFqdnTagsOperations` + * 2019-07-01: :class:`AzureFirewallFqdnTagsOperations` + * 2019-08-01: :class:`AzureFirewallFqdnTagsOperations` + * 2019-09-01: :class:`AzureFirewallFqdnTagsOperations` + * 2019-11-01: :class:`AzureFirewallFqdnTagsOperations` + * 2019-12-01: :class:`AzureFirewallFqdnTagsOperations` + * 2020-03-01: :class:`AzureFirewallFqdnTagsOperations` + * 2020-04-01: :class:`AzureFirewallFqdnTagsOperations` + """ + api_version = self._get_api_version('azure_firewall_fqdn_tags') + if api_version == '2018-08-01': + from .v2018_08_01.operations import AzureFirewallFqdnTagsOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import AzureFirewallFqdnTagsOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import AzureFirewallFqdnTagsOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import AzureFirewallFqdnTagsOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import AzureFirewallFqdnTagsOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import AzureFirewallFqdnTagsOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import AzureFirewallFqdnTagsOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import AzureFirewallFqdnTagsOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import AzureFirewallFqdnTagsOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import AzureFirewallFqdnTagsOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import AzureFirewallFqdnTagsOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import AzureFirewallFqdnTagsOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import AzureFirewallFqdnTagsOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import AzureFirewallFqdnTagsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def azure_firewalls(self): + """Instance depends on the API version: + + * 2018-04-01: :class:`AzureFirewallsOperations` + * 2018-06-01: :class:`AzureFirewallsOperations` + * 2018-07-01: :class:`AzureFirewallsOperations` + * 2018-08-01: :class:`AzureFirewallsOperations` + * 2018-10-01: :class:`AzureFirewallsOperations` + * 2018-11-01: :class:`AzureFirewallsOperations` + * 2018-12-01: :class:`AzureFirewallsOperations` + * 2019-02-01: :class:`AzureFirewallsOperations` + * 2019-04-01: :class:`AzureFirewallsOperations` + * 2019-06-01: :class:`AzureFirewallsOperations` + * 2019-07-01: :class:`AzureFirewallsOperations` + * 2019-08-01: :class:`AzureFirewallsOperations` + * 2019-09-01: :class:`AzureFirewallsOperations` + * 2019-11-01: :class:`AzureFirewallsOperations` + * 2019-12-01: :class:`AzureFirewallsOperations` + * 2020-03-01: :class:`AzureFirewallsOperations` + * 2020-04-01: :class:`AzureFirewallsOperations` + """ + api_version = self._get_api_version('azure_firewalls') + if api_version == '2018-04-01': + from .v2018_04_01.operations import AzureFirewallsOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import AzureFirewallsOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import AzureFirewallsOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import AzureFirewallsOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import AzureFirewallsOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import AzureFirewallsOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import AzureFirewallsOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import AzureFirewallsOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import AzureFirewallsOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import AzureFirewallsOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import AzureFirewallsOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import AzureFirewallsOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import AzureFirewallsOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import AzureFirewallsOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import AzureFirewallsOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import AzureFirewallsOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import AzureFirewallsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def bastion_hosts(self): + """Instance depends on the API version: + + * 2019-04-01: :class:`BastionHostsOperations` + * 2019-06-01: :class:`BastionHostsOperations` + * 2019-07-01: :class:`BastionHostsOperations` + * 2019-08-01: :class:`BastionHostsOperations` + * 2019-09-01: :class:`BastionHostsOperations` + * 2019-11-01: :class:`BastionHostsOperations` + * 2019-12-01: :class:`BastionHostsOperations` + * 2020-03-01: :class:`BastionHostsOperations` + * 2020-04-01: :class:`BastionHostsOperations` + """ + api_version = self._get_api_version('bastion_hosts') + if api_version == '2019-04-01': + from .v2019_04_01.operations import BastionHostsOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import BastionHostsOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import BastionHostsOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import BastionHostsOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import BastionHostsOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import BastionHostsOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import BastionHostsOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import BastionHostsOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import BastionHostsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def bgp_service_communities(self): + """Instance depends on the API version: + + * 2016-12-01: :class:`BgpServiceCommunitiesOperations` + * 2017-03-01: :class:`BgpServiceCommunitiesOperations` + * 2017-06-01: :class:`BgpServiceCommunitiesOperations` + * 2017-08-01: :class:`BgpServiceCommunitiesOperations` + * 2017-09-01: :class:`BgpServiceCommunitiesOperations` + * 2017-10-01: :class:`BgpServiceCommunitiesOperations` + * 2017-11-01: :class:`BgpServiceCommunitiesOperations` + * 2018-01-01: :class:`BgpServiceCommunitiesOperations` + * 2018-02-01: :class:`BgpServiceCommunitiesOperations` + * 2018-04-01: :class:`BgpServiceCommunitiesOperations` + * 2018-06-01: :class:`BgpServiceCommunitiesOperations` + * 2018-07-01: :class:`BgpServiceCommunitiesOperations` + * 2018-08-01: :class:`BgpServiceCommunitiesOperations` + * 2018-10-01: :class:`BgpServiceCommunitiesOperations` + * 2018-11-01: :class:`BgpServiceCommunitiesOperations` + * 2018-12-01: :class:`BgpServiceCommunitiesOperations` + * 2019-02-01: :class:`BgpServiceCommunitiesOperations` + * 2019-04-01: :class:`BgpServiceCommunitiesOperations` + * 2019-06-01: :class:`BgpServiceCommunitiesOperations` + * 2019-07-01: :class:`BgpServiceCommunitiesOperations` + * 2019-08-01: :class:`BgpServiceCommunitiesOperations` + * 2019-09-01: :class:`BgpServiceCommunitiesOperations` + * 2019-11-01: :class:`BgpServiceCommunitiesOperations` + * 2019-12-01: :class:`BgpServiceCommunitiesOperations` + * 2020-03-01: :class:`BgpServiceCommunitiesOperations` + * 2020-04-01: :class:`BgpServiceCommunitiesOperations` + """ + api_version = self._get_api_version('bgp_service_communities') + if api_version == '2016-12-01': + from .v2016_12_01.operations import BgpServiceCommunitiesOperations as OperationClass + elif api_version == '2017-03-01': + from .v2017_03_01.operations import BgpServiceCommunitiesOperations as OperationClass + elif api_version == '2017-06-01': + from .v2017_06_01.operations import BgpServiceCommunitiesOperations as OperationClass + elif api_version == '2017-08-01': + from .v2017_08_01.operations import BgpServiceCommunitiesOperations as OperationClass + elif api_version == '2017-09-01': + from .v2017_09_01.operations import BgpServiceCommunitiesOperations as OperationClass + elif api_version == '2017-10-01': + from .v2017_10_01.operations import BgpServiceCommunitiesOperations as OperationClass + elif api_version == '2017-11-01': + from .v2017_11_01.operations import BgpServiceCommunitiesOperations as OperationClass + elif api_version == '2018-01-01': + from .v2018_01_01.operations import BgpServiceCommunitiesOperations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import BgpServiceCommunitiesOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import BgpServiceCommunitiesOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import BgpServiceCommunitiesOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import BgpServiceCommunitiesOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import BgpServiceCommunitiesOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import BgpServiceCommunitiesOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import BgpServiceCommunitiesOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import BgpServiceCommunitiesOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import BgpServiceCommunitiesOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import BgpServiceCommunitiesOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import BgpServiceCommunitiesOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import BgpServiceCommunitiesOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import BgpServiceCommunitiesOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import BgpServiceCommunitiesOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import BgpServiceCommunitiesOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import BgpServiceCommunitiesOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import BgpServiceCommunitiesOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import BgpServiceCommunitiesOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def connection_monitors(self): + """Instance depends on the API version: + + * 2017-10-01: :class:`ConnectionMonitorsOperations` + * 2017-11-01: :class:`ConnectionMonitorsOperations` + * 2018-01-01: :class:`ConnectionMonitorsOperations` + * 2018-02-01: :class:`ConnectionMonitorsOperations` + * 2018-04-01: :class:`ConnectionMonitorsOperations` + * 2018-06-01: :class:`ConnectionMonitorsOperations` + * 2018-07-01: :class:`ConnectionMonitorsOperations` + * 2018-08-01: :class:`ConnectionMonitorsOperations` + * 2018-10-01: :class:`ConnectionMonitorsOperations` + * 2018-11-01: :class:`ConnectionMonitorsOperations` + * 2018-12-01: :class:`ConnectionMonitorsOperations` + * 2019-02-01: :class:`ConnectionMonitorsOperations` + * 2019-04-01: :class:`ConnectionMonitorsOperations` + * 2019-06-01: :class:`ConnectionMonitorsOperations` + * 2019-07-01: :class:`ConnectionMonitorsOperations` + * 2019-08-01: :class:`ConnectionMonitorsOperations` + * 2019-09-01: :class:`ConnectionMonitorsOperations` + * 2019-11-01: :class:`ConnectionMonitorsOperations` + * 2019-12-01: :class:`ConnectionMonitorsOperations` + * 2020-03-01: :class:`ConnectionMonitorsOperations` + * 2020-04-01: :class:`ConnectionMonitorsOperations` + """ + api_version = self._get_api_version('connection_monitors') + if api_version == '2017-10-01': + from .v2017_10_01.operations import ConnectionMonitorsOperations as OperationClass + elif api_version == '2017-11-01': + from .v2017_11_01.operations import ConnectionMonitorsOperations as OperationClass + elif api_version == '2018-01-01': + from .v2018_01_01.operations import ConnectionMonitorsOperations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import ConnectionMonitorsOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import ConnectionMonitorsOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import ConnectionMonitorsOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import ConnectionMonitorsOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import ConnectionMonitorsOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import ConnectionMonitorsOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import ConnectionMonitorsOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import ConnectionMonitorsOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import ConnectionMonitorsOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import ConnectionMonitorsOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import ConnectionMonitorsOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import ConnectionMonitorsOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import ConnectionMonitorsOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import ConnectionMonitorsOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import ConnectionMonitorsOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import ConnectionMonitorsOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import ConnectionMonitorsOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import ConnectionMonitorsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def ddos_custom_policies(self): + """Instance depends on the API version: + + * 2018-11-01: :class:`DdosCustomPoliciesOperations` + * 2018-12-01: :class:`DdosCustomPoliciesOperations` + * 2019-02-01: :class:`DdosCustomPoliciesOperations` + * 2019-04-01: :class:`DdosCustomPoliciesOperations` + * 2019-06-01: :class:`DdosCustomPoliciesOperations` + * 2019-07-01: :class:`DdosCustomPoliciesOperations` + * 2019-08-01: :class:`DdosCustomPoliciesOperations` + * 2019-09-01: :class:`DdosCustomPoliciesOperations` + * 2019-11-01: :class:`DdosCustomPoliciesOperations` + * 2019-12-01: :class:`DdosCustomPoliciesOperations` + * 2020-03-01: :class:`DdosCustomPoliciesOperations` + * 2020-04-01: :class:`DdosCustomPoliciesOperations` + """ + api_version = self._get_api_version('ddos_custom_policies') + if api_version == '2018-11-01': + from .v2018_11_01.operations import DdosCustomPoliciesOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import DdosCustomPoliciesOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import DdosCustomPoliciesOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import DdosCustomPoliciesOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import DdosCustomPoliciesOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import DdosCustomPoliciesOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import DdosCustomPoliciesOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import DdosCustomPoliciesOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import DdosCustomPoliciesOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import DdosCustomPoliciesOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import DdosCustomPoliciesOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import DdosCustomPoliciesOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def ddos_protection_plans(self): + """Instance depends on the API version: + + * 2018-02-01: :class:`DdosProtectionPlansOperations` + * 2018-04-01: :class:`DdosProtectionPlansOperations` + * 2018-06-01: :class:`DdosProtectionPlansOperations` + * 2018-07-01: :class:`DdosProtectionPlansOperations` + * 2018-08-01: :class:`DdosProtectionPlansOperations` + * 2018-10-01: :class:`DdosProtectionPlansOperations` + * 2018-11-01: :class:`DdosProtectionPlansOperations` + * 2018-12-01: :class:`DdosProtectionPlansOperations` + * 2019-02-01: :class:`DdosProtectionPlansOperations` + * 2019-04-01: :class:`DdosProtectionPlansOperations` + * 2019-06-01: :class:`DdosProtectionPlansOperations` + * 2019-07-01: :class:`DdosProtectionPlansOperations` + * 2019-08-01: :class:`DdosProtectionPlansOperations` + * 2019-09-01: :class:`DdosProtectionPlansOperations` + * 2019-11-01: :class:`DdosProtectionPlansOperations` + * 2019-12-01: :class:`DdosProtectionPlansOperations` + * 2020-03-01: :class:`DdosProtectionPlansOperations` + * 2020-04-01: :class:`DdosProtectionPlansOperations` + """ + api_version = self._get_api_version('ddos_protection_plans') + if api_version == '2018-02-01': + from .v2018_02_01.operations import DdosProtectionPlansOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import DdosProtectionPlansOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import DdosProtectionPlansOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import DdosProtectionPlansOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import DdosProtectionPlansOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import DdosProtectionPlansOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import DdosProtectionPlansOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import DdosProtectionPlansOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import DdosProtectionPlansOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import DdosProtectionPlansOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import DdosProtectionPlansOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import DdosProtectionPlansOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import DdosProtectionPlansOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import DdosProtectionPlansOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import DdosProtectionPlansOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import DdosProtectionPlansOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import DdosProtectionPlansOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import DdosProtectionPlansOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def default_security_rules(self): + """Instance depends on the API version: + + * 2017-06-01: :class:`DefaultSecurityRulesOperations` + * 2017-08-01: :class:`DefaultSecurityRulesOperations` + * 2017-09-01: :class:`DefaultSecurityRulesOperations` + * 2017-10-01: :class:`DefaultSecurityRulesOperations` + * 2017-11-01: :class:`DefaultSecurityRulesOperations` + * 2018-01-01: :class:`DefaultSecurityRulesOperations` + * 2018-02-01: :class:`DefaultSecurityRulesOperations` + * 2018-04-01: :class:`DefaultSecurityRulesOperations` + * 2018-06-01: :class:`DefaultSecurityRulesOperations` + * 2018-07-01: :class:`DefaultSecurityRulesOperations` + * 2018-08-01: :class:`DefaultSecurityRulesOperations` + * 2018-10-01: :class:`DefaultSecurityRulesOperations` + * 2018-11-01: :class:`DefaultSecurityRulesOperations` + * 2018-12-01: :class:`DefaultSecurityRulesOperations` + * 2019-02-01: :class:`DefaultSecurityRulesOperations` + * 2019-04-01: :class:`DefaultSecurityRulesOperations` + * 2019-06-01: :class:`DefaultSecurityRulesOperations` + * 2019-07-01: :class:`DefaultSecurityRulesOperations` + * 2019-08-01: :class:`DefaultSecurityRulesOperations` + * 2019-09-01: :class:`DefaultSecurityRulesOperations` + * 2019-11-01: :class:`DefaultSecurityRulesOperations` + * 2019-12-01: :class:`DefaultSecurityRulesOperations` + * 2020-03-01: :class:`DefaultSecurityRulesOperations` + * 2020-04-01: :class:`DefaultSecurityRulesOperations` + """ + api_version = self._get_api_version('default_security_rules') + if api_version == '2017-06-01': + from .v2017_06_01.operations import DefaultSecurityRulesOperations as OperationClass + elif api_version == '2017-08-01': + from .v2017_08_01.operations import DefaultSecurityRulesOperations as OperationClass + elif api_version == '2017-09-01': + from .v2017_09_01.operations import DefaultSecurityRulesOperations as OperationClass + elif api_version == '2017-10-01': + from .v2017_10_01.operations import DefaultSecurityRulesOperations as OperationClass + elif api_version == '2017-11-01': + from .v2017_11_01.operations import DefaultSecurityRulesOperations as OperationClass + elif api_version == '2018-01-01': + from .v2018_01_01.operations import DefaultSecurityRulesOperations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import DefaultSecurityRulesOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import DefaultSecurityRulesOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import DefaultSecurityRulesOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import DefaultSecurityRulesOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import DefaultSecurityRulesOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import DefaultSecurityRulesOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import DefaultSecurityRulesOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import DefaultSecurityRulesOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import DefaultSecurityRulesOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import DefaultSecurityRulesOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import DefaultSecurityRulesOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import DefaultSecurityRulesOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import DefaultSecurityRulesOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import DefaultSecurityRulesOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import DefaultSecurityRulesOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import DefaultSecurityRulesOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import DefaultSecurityRulesOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import DefaultSecurityRulesOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def express_route_circuit_authorizations(self): + """Instance depends on the API version: + + * 2015-06-15: :class:`ExpressRouteCircuitAuthorizationsOperations` + * 2016-09-01: :class:`ExpressRouteCircuitAuthorizationsOperations` + * 2016-12-01: :class:`ExpressRouteCircuitAuthorizationsOperations` + * 2017-03-01: :class:`ExpressRouteCircuitAuthorizationsOperations` + * 2017-06-01: :class:`ExpressRouteCircuitAuthorizationsOperations` + * 2017-08-01: :class:`ExpressRouteCircuitAuthorizationsOperations` + * 2017-09-01: :class:`ExpressRouteCircuitAuthorizationsOperations` + * 2017-10-01: :class:`ExpressRouteCircuitAuthorizationsOperations` + * 2017-11-01: :class:`ExpressRouteCircuitAuthorizationsOperations` + * 2018-01-01: :class:`ExpressRouteCircuitAuthorizationsOperations` + * 2018-02-01: :class:`ExpressRouteCircuitAuthorizationsOperations` + * 2018-04-01: :class:`ExpressRouteCircuitAuthorizationsOperations` + * 2018-06-01: :class:`ExpressRouteCircuitAuthorizationsOperations` + * 2018-07-01: :class:`ExpressRouteCircuitAuthorizationsOperations` + * 2018-08-01: :class:`ExpressRouteCircuitAuthorizationsOperations` + * 2018-10-01: :class:`ExpressRouteCircuitAuthorizationsOperations` + * 2018-11-01: :class:`ExpressRouteCircuitAuthorizationsOperations` + * 2018-12-01: :class:`ExpressRouteCircuitAuthorizationsOperations` + * 2019-02-01: :class:`ExpressRouteCircuitAuthorizationsOperations` + * 2019-04-01: :class:`ExpressRouteCircuitAuthorizationsOperations` + * 2019-06-01: :class:`ExpressRouteCircuitAuthorizationsOperations` + * 2019-07-01: :class:`ExpressRouteCircuitAuthorizationsOperations` + * 2019-08-01: :class:`ExpressRouteCircuitAuthorizationsOperations` + * 2019-09-01: :class:`ExpressRouteCircuitAuthorizationsOperations` + * 2019-11-01: :class:`ExpressRouteCircuitAuthorizationsOperations` + * 2019-12-01: :class:`ExpressRouteCircuitAuthorizationsOperations` + * 2020-03-01: :class:`ExpressRouteCircuitAuthorizationsOperations` + * 2020-04-01: :class:`ExpressRouteCircuitAuthorizationsOperations` + """ + api_version = self._get_api_version('express_route_circuit_authorizations') + if api_version == '2015-06-15': + from .v2015_06_15.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass + elif api_version == '2016-09-01': + from .v2016_09_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass + elif api_version == '2016-12-01': + from .v2016_12_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass + elif api_version == '2017-03-01': + from .v2017_03_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass + elif api_version == '2017-06-01': + from .v2017_06_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass + elif api_version == '2017-08-01': + from .v2017_08_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass + elif api_version == '2017-09-01': + from .v2017_09_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass + elif api_version == '2017-10-01': + from .v2017_10_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass + elif api_version == '2017-11-01': + from .v2017_11_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass + elif api_version == '2018-01-01': + from .v2018_01_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def express_route_circuit_connections(self): + """Instance depends on the API version: + + * 2018-02-01: :class:`ExpressRouteCircuitConnectionsOperations` + * 2018-04-01: :class:`ExpressRouteCircuitConnectionsOperations` + * 2018-06-01: :class:`ExpressRouteCircuitConnectionsOperations` + * 2018-07-01: :class:`ExpressRouteCircuitConnectionsOperations` + * 2018-08-01: :class:`ExpressRouteCircuitConnectionsOperations` + * 2018-10-01: :class:`ExpressRouteCircuitConnectionsOperations` + * 2018-11-01: :class:`ExpressRouteCircuitConnectionsOperations` + * 2018-12-01: :class:`ExpressRouteCircuitConnectionsOperations` + * 2019-02-01: :class:`ExpressRouteCircuitConnectionsOperations` + * 2019-04-01: :class:`ExpressRouteCircuitConnectionsOperations` + * 2019-06-01: :class:`ExpressRouteCircuitConnectionsOperations` + * 2019-07-01: :class:`ExpressRouteCircuitConnectionsOperations` + * 2019-08-01: :class:`ExpressRouteCircuitConnectionsOperations` + * 2019-09-01: :class:`ExpressRouteCircuitConnectionsOperations` + * 2019-11-01: :class:`ExpressRouteCircuitConnectionsOperations` + * 2019-12-01: :class:`ExpressRouteCircuitConnectionsOperations` + * 2020-03-01: :class:`ExpressRouteCircuitConnectionsOperations` + * 2020-04-01: :class:`ExpressRouteCircuitConnectionsOperations` + """ + api_version = self._get_api_version('express_route_circuit_connections') + if api_version == '2018-02-01': + from .v2018_02_01.operations import ExpressRouteCircuitConnectionsOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import ExpressRouteCircuitConnectionsOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import ExpressRouteCircuitConnectionsOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import ExpressRouteCircuitConnectionsOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import ExpressRouteCircuitConnectionsOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import ExpressRouteCircuitConnectionsOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import ExpressRouteCircuitConnectionsOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import ExpressRouteCircuitConnectionsOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import ExpressRouteCircuitConnectionsOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import ExpressRouteCircuitConnectionsOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import ExpressRouteCircuitConnectionsOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import ExpressRouteCircuitConnectionsOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import ExpressRouteCircuitConnectionsOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import ExpressRouteCircuitConnectionsOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import ExpressRouteCircuitConnectionsOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import ExpressRouteCircuitConnectionsOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import ExpressRouteCircuitConnectionsOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import ExpressRouteCircuitConnectionsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def express_route_circuit_peerings(self): + """Instance depends on the API version: + + * 2015-06-15: :class:`ExpressRouteCircuitPeeringsOperations` + * 2016-09-01: :class:`ExpressRouteCircuitPeeringsOperations` + * 2016-12-01: :class:`ExpressRouteCircuitPeeringsOperations` + * 2017-03-01: :class:`ExpressRouteCircuitPeeringsOperations` + * 2017-06-01: :class:`ExpressRouteCircuitPeeringsOperations` + * 2017-08-01: :class:`ExpressRouteCircuitPeeringsOperations` + * 2017-09-01: :class:`ExpressRouteCircuitPeeringsOperations` + * 2017-10-01: :class:`ExpressRouteCircuitPeeringsOperations` + * 2017-11-01: :class:`ExpressRouteCircuitPeeringsOperations` + * 2018-01-01: :class:`ExpressRouteCircuitPeeringsOperations` + * 2018-02-01: :class:`ExpressRouteCircuitPeeringsOperations` + * 2018-04-01: :class:`ExpressRouteCircuitPeeringsOperations` + * 2018-06-01: :class:`ExpressRouteCircuitPeeringsOperations` + * 2018-07-01: :class:`ExpressRouteCircuitPeeringsOperations` + * 2018-08-01: :class:`ExpressRouteCircuitPeeringsOperations` + * 2018-10-01: :class:`ExpressRouteCircuitPeeringsOperations` + * 2018-11-01: :class:`ExpressRouteCircuitPeeringsOperations` + * 2018-12-01: :class:`ExpressRouteCircuitPeeringsOperations` + * 2019-02-01: :class:`ExpressRouteCircuitPeeringsOperations` + * 2019-04-01: :class:`ExpressRouteCircuitPeeringsOperations` + * 2019-06-01: :class:`ExpressRouteCircuitPeeringsOperations` + * 2019-07-01: :class:`ExpressRouteCircuitPeeringsOperations` + * 2019-08-01: :class:`ExpressRouteCircuitPeeringsOperations` + * 2019-09-01: :class:`ExpressRouteCircuitPeeringsOperations` + * 2019-11-01: :class:`ExpressRouteCircuitPeeringsOperations` + * 2019-12-01: :class:`ExpressRouteCircuitPeeringsOperations` + * 2020-03-01: :class:`ExpressRouteCircuitPeeringsOperations` + * 2020-04-01: :class:`ExpressRouteCircuitPeeringsOperations` + """ + api_version = self._get_api_version('express_route_circuit_peerings') + if api_version == '2015-06-15': + from .v2015_06_15.operations import ExpressRouteCircuitPeeringsOperations as OperationClass + elif api_version == '2016-09-01': + from .v2016_09_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass + elif api_version == '2016-12-01': + from .v2016_12_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass + elif api_version == '2017-03-01': + from .v2017_03_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass + elif api_version == '2017-06-01': + from .v2017_06_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass + elif api_version == '2017-08-01': + from .v2017_08_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass + elif api_version == '2017-09-01': + from .v2017_09_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass + elif api_version == '2017-10-01': + from .v2017_10_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass + elif api_version == '2017-11-01': + from .v2017_11_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass + elif api_version == '2018-01-01': + from .v2018_01_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def express_route_circuits(self): + """Instance depends on the API version: + + * 2015-06-15: :class:`ExpressRouteCircuitsOperations` + * 2016-09-01: :class:`ExpressRouteCircuitsOperations` + * 2016-12-01: :class:`ExpressRouteCircuitsOperations` + * 2017-03-01: :class:`ExpressRouteCircuitsOperations` + * 2017-06-01: :class:`ExpressRouteCircuitsOperations` + * 2017-08-01: :class:`ExpressRouteCircuitsOperations` + * 2017-09-01: :class:`ExpressRouteCircuitsOperations` + * 2017-10-01: :class:`ExpressRouteCircuitsOperations` + * 2017-11-01: :class:`ExpressRouteCircuitsOperations` + * 2018-01-01: :class:`ExpressRouteCircuitsOperations` + * 2018-02-01: :class:`ExpressRouteCircuitsOperations` + * 2018-04-01: :class:`ExpressRouteCircuitsOperations` + * 2018-06-01: :class:`ExpressRouteCircuitsOperations` + * 2018-07-01: :class:`ExpressRouteCircuitsOperations` + * 2018-08-01: :class:`ExpressRouteCircuitsOperations` + * 2018-10-01: :class:`ExpressRouteCircuitsOperations` + * 2018-11-01: :class:`ExpressRouteCircuitsOperations` + * 2018-12-01: :class:`ExpressRouteCircuitsOperations` + * 2019-02-01: :class:`ExpressRouteCircuitsOperations` + * 2019-04-01: :class:`ExpressRouteCircuitsOperations` + * 2019-06-01: :class:`ExpressRouteCircuitsOperations` + * 2019-07-01: :class:`ExpressRouteCircuitsOperations` + * 2019-08-01: :class:`ExpressRouteCircuitsOperations` + * 2019-09-01: :class:`ExpressRouteCircuitsOperations` + * 2019-11-01: :class:`ExpressRouteCircuitsOperations` + * 2019-12-01: :class:`ExpressRouteCircuitsOperations` + * 2020-03-01: :class:`ExpressRouteCircuitsOperations` + * 2020-04-01: :class:`ExpressRouteCircuitsOperations` + """ + api_version = self._get_api_version('express_route_circuits') + if api_version == '2015-06-15': + from .v2015_06_15.operations import ExpressRouteCircuitsOperations as OperationClass + elif api_version == '2016-09-01': + from .v2016_09_01.operations import ExpressRouteCircuitsOperations as OperationClass + elif api_version == '2016-12-01': + from .v2016_12_01.operations import ExpressRouteCircuitsOperations as OperationClass + elif api_version == '2017-03-01': + from .v2017_03_01.operations import ExpressRouteCircuitsOperations as OperationClass + elif api_version == '2017-06-01': + from .v2017_06_01.operations import ExpressRouteCircuitsOperations as OperationClass + elif api_version == '2017-08-01': + from .v2017_08_01.operations import ExpressRouteCircuitsOperations as OperationClass + elif api_version == '2017-09-01': + from .v2017_09_01.operations import ExpressRouteCircuitsOperations as OperationClass + elif api_version == '2017-10-01': + from .v2017_10_01.operations import ExpressRouteCircuitsOperations as OperationClass + elif api_version == '2017-11-01': + from .v2017_11_01.operations import ExpressRouteCircuitsOperations as OperationClass + elif api_version == '2018-01-01': + from .v2018_01_01.operations import ExpressRouteCircuitsOperations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import ExpressRouteCircuitsOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import ExpressRouteCircuitsOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import ExpressRouteCircuitsOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import ExpressRouteCircuitsOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import ExpressRouteCircuitsOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import ExpressRouteCircuitsOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import ExpressRouteCircuitsOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import ExpressRouteCircuitsOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import ExpressRouteCircuitsOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import ExpressRouteCircuitsOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import ExpressRouteCircuitsOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import ExpressRouteCircuitsOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import ExpressRouteCircuitsOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import ExpressRouteCircuitsOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import ExpressRouteCircuitsOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import ExpressRouteCircuitsOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import ExpressRouteCircuitsOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import ExpressRouteCircuitsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def express_route_connections(self): + """Instance depends on the API version: + + * 2018-08-01: :class:`ExpressRouteConnectionsOperations` + * 2018-10-01: :class:`ExpressRouteConnectionsOperations` + * 2018-11-01: :class:`ExpressRouteConnectionsOperations` + * 2018-12-01: :class:`ExpressRouteConnectionsOperations` + * 2019-02-01: :class:`ExpressRouteConnectionsOperations` + * 2019-04-01: :class:`ExpressRouteConnectionsOperations` + * 2019-06-01: :class:`ExpressRouteConnectionsOperations` + * 2019-07-01: :class:`ExpressRouteConnectionsOperations` + * 2019-08-01: :class:`ExpressRouteConnectionsOperations` + * 2019-09-01: :class:`ExpressRouteConnectionsOperations` + * 2019-11-01: :class:`ExpressRouteConnectionsOperations` + * 2019-12-01: :class:`ExpressRouteConnectionsOperations` + * 2020-03-01: :class:`ExpressRouteConnectionsOperations` + * 2020-04-01: :class:`ExpressRouteConnectionsOperations` + """ + api_version = self._get_api_version('express_route_connections') + if api_version == '2018-08-01': + from .v2018_08_01.operations import ExpressRouteConnectionsOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import ExpressRouteConnectionsOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import ExpressRouteConnectionsOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import ExpressRouteConnectionsOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import ExpressRouteConnectionsOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import ExpressRouteConnectionsOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import ExpressRouteConnectionsOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import ExpressRouteConnectionsOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import ExpressRouteConnectionsOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import ExpressRouteConnectionsOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import ExpressRouteConnectionsOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import ExpressRouteConnectionsOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import ExpressRouteConnectionsOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import ExpressRouteConnectionsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def express_route_cross_connection_peerings(self): + """Instance depends on the API version: + + * 2018-02-01: :class:`ExpressRouteCrossConnectionPeeringsOperations` + * 2018-04-01: :class:`ExpressRouteCrossConnectionPeeringsOperations` + * 2018-06-01: :class:`ExpressRouteCrossConnectionPeeringsOperations` + * 2018-07-01: :class:`ExpressRouteCrossConnectionPeeringsOperations` + * 2018-08-01: :class:`ExpressRouteCrossConnectionPeeringsOperations` + * 2018-10-01: :class:`ExpressRouteCrossConnectionPeeringsOperations` + * 2018-11-01: :class:`ExpressRouteCrossConnectionPeeringsOperations` + * 2018-12-01: :class:`ExpressRouteCrossConnectionPeeringsOperations` + * 2019-02-01: :class:`ExpressRouteCrossConnectionPeeringsOperations` + * 2019-04-01: :class:`ExpressRouteCrossConnectionPeeringsOperations` + * 2019-06-01: :class:`ExpressRouteCrossConnectionPeeringsOperations` + * 2019-07-01: :class:`ExpressRouteCrossConnectionPeeringsOperations` + * 2019-08-01: :class:`ExpressRouteCrossConnectionPeeringsOperations` + * 2019-09-01: :class:`ExpressRouteCrossConnectionPeeringsOperations` + * 2019-11-01: :class:`ExpressRouteCrossConnectionPeeringsOperations` + * 2019-12-01: :class:`ExpressRouteCrossConnectionPeeringsOperations` + * 2020-03-01: :class:`ExpressRouteCrossConnectionPeeringsOperations` + * 2020-04-01: :class:`ExpressRouteCrossConnectionPeeringsOperations` + """ + api_version = self._get_api_version('express_route_cross_connection_peerings') + if api_version == '2018-02-01': + from .v2018_02_01.operations import ExpressRouteCrossConnectionPeeringsOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import ExpressRouteCrossConnectionPeeringsOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import ExpressRouteCrossConnectionPeeringsOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import ExpressRouteCrossConnectionPeeringsOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import ExpressRouteCrossConnectionPeeringsOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import ExpressRouteCrossConnectionPeeringsOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import ExpressRouteCrossConnectionPeeringsOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import ExpressRouteCrossConnectionPeeringsOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import ExpressRouteCrossConnectionPeeringsOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import ExpressRouteCrossConnectionPeeringsOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import ExpressRouteCrossConnectionPeeringsOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import ExpressRouteCrossConnectionPeeringsOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import ExpressRouteCrossConnectionPeeringsOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import ExpressRouteCrossConnectionPeeringsOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import ExpressRouteCrossConnectionPeeringsOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import ExpressRouteCrossConnectionPeeringsOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import ExpressRouteCrossConnectionPeeringsOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import ExpressRouteCrossConnectionPeeringsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def express_route_cross_connections(self): + """Instance depends on the API version: + + * 2018-02-01: :class:`ExpressRouteCrossConnectionsOperations` + * 2018-04-01: :class:`ExpressRouteCrossConnectionsOperations` + * 2018-06-01: :class:`ExpressRouteCrossConnectionsOperations` + * 2018-07-01: :class:`ExpressRouteCrossConnectionsOperations` + * 2018-08-01: :class:`ExpressRouteCrossConnectionsOperations` + * 2018-10-01: :class:`ExpressRouteCrossConnectionsOperations` + * 2018-11-01: :class:`ExpressRouteCrossConnectionsOperations` + * 2018-12-01: :class:`ExpressRouteCrossConnectionsOperations` + * 2019-02-01: :class:`ExpressRouteCrossConnectionsOperations` + * 2019-04-01: :class:`ExpressRouteCrossConnectionsOperations` + * 2019-06-01: :class:`ExpressRouteCrossConnectionsOperations` + * 2019-07-01: :class:`ExpressRouteCrossConnectionsOperations` + * 2019-08-01: :class:`ExpressRouteCrossConnectionsOperations` + * 2019-09-01: :class:`ExpressRouteCrossConnectionsOperations` + * 2019-11-01: :class:`ExpressRouteCrossConnectionsOperations` + * 2019-12-01: :class:`ExpressRouteCrossConnectionsOperations` + * 2020-03-01: :class:`ExpressRouteCrossConnectionsOperations` + * 2020-04-01: :class:`ExpressRouteCrossConnectionsOperations` + """ + api_version = self._get_api_version('express_route_cross_connections') + if api_version == '2018-02-01': + from .v2018_02_01.operations import ExpressRouteCrossConnectionsOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import ExpressRouteCrossConnectionsOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import ExpressRouteCrossConnectionsOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import ExpressRouteCrossConnectionsOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import ExpressRouteCrossConnectionsOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import ExpressRouteCrossConnectionsOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import ExpressRouteCrossConnectionsOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import ExpressRouteCrossConnectionsOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import ExpressRouteCrossConnectionsOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import ExpressRouteCrossConnectionsOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import ExpressRouteCrossConnectionsOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import ExpressRouteCrossConnectionsOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import ExpressRouteCrossConnectionsOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import ExpressRouteCrossConnectionsOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import ExpressRouteCrossConnectionsOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import ExpressRouteCrossConnectionsOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import ExpressRouteCrossConnectionsOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import ExpressRouteCrossConnectionsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def express_route_gateways(self): + """Instance depends on the API version: + + * 2018-08-01: :class:`ExpressRouteGatewaysOperations` + * 2018-10-01: :class:`ExpressRouteGatewaysOperations` + * 2018-11-01: :class:`ExpressRouteGatewaysOperations` + * 2018-12-01: :class:`ExpressRouteGatewaysOperations` + * 2019-02-01: :class:`ExpressRouteGatewaysOperations` + * 2019-04-01: :class:`ExpressRouteGatewaysOperations` + * 2019-06-01: :class:`ExpressRouteGatewaysOperations` + * 2019-07-01: :class:`ExpressRouteGatewaysOperations` + * 2019-08-01: :class:`ExpressRouteGatewaysOperations` + * 2019-09-01: :class:`ExpressRouteGatewaysOperations` + * 2019-11-01: :class:`ExpressRouteGatewaysOperations` + * 2019-12-01: :class:`ExpressRouteGatewaysOperations` + * 2020-03-01: :class:`ExpressRouteGatewaysOperations` + * 2020-04-01: :class:`ExpressRouteGatewaysOperations` + """ + api_version = self._get_api_version('express_route_gateways') + if api_version == '2018-08-01': + from .v2018_08_01.operations import ExpressRouteGatewaysOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import ExpressRouteGatewaysOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import ExpressRouteGatewaysOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import ExpressRouteGatewaysOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import ExpressRouteGatewaysOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import ExpressRouteGatewaysOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import ExpressRouteGatewaysOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import ExpressRouteGatewaysOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import ExpressRouteGatewaysOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import ExpressRouteGatewaysOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import ExpressRouteGatewaysOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import ExpressRouteGatewaysOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import ExpressRouteGatewaysOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import ExpressRouteGatewaysOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def express_route_links(self): + """Instance depends on the API version: + + * 2018-08-01: :class:`ExpressRouteLinksOperations` + * 2018-10-01: :class:`ExpressRouteLinksOperations` + * 2018-11-01: :class:`ExpressRouteLinksOperations` + * 2018-12-01: :class:`ExpressRouteLinksOperations` + * 2019-02-01: :class:`ExpressRouteLinksOperations` + * 2019-04-01: :class:`ExpressRouteLinksOperations` + * 2019-06-01: :class:`ExpressRouteLinksOperations` + * 2019-07-01: :class:`ExpressRouteLinksOperations` + * 2019-08-01: :class:`ExpressRouteLinksOperations` + * 2019-09-01: :class:`ExpressRouteLinksOperations` + * 2019-11-01: :class:`ExpressRouteLinksOperations` + * 2019-12-01: :class:`ExpressRouteLinksOperations` + * 2020-03-01: :class:`ExpressRouteLinksOperations` + * 2020-04-01: :class:`ExpressRouteLinksOperations` + """ + api_version = self._get_api_version('express_route_links') + if api_version == '2018-08-01': + from .v2018_08_01.operations import ExpressRouteLinksOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import ExpressRouteLinksOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import ExpressRouteLinksOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import ExpressRouteLinksOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import ExpressRouteLinksOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import ExpressRouteLinksOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import ExpressRouteLinksOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import ExpressRouteLinksOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import ExpressRouteLinksOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import ExpressRouteLinksOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import ExpressRouteLinksOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import ExpressRouteLinksOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import ExpressRouteLinksOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import ExpressRouteLinksOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def express_route_ports(self): + """Instance depends on the API version: + + * 2018-08-01: :class:`ExpressRoutePortsOperations` + * 2018-10-01: :class:`ExpressRoutePortsOperations` + * 2018-11-01: :class:`ExpressRoutePortsOperations` + * 2018-12-01: :class:`ExpressRoutePortsOperations` + * 2019-02-01: :class:`ExpressRoutePortsOperations` + * 2019-04-01: :class:`ExpressRoutePortsOperations` + * 2019-06-01: :class:`ExpressRoutePortsOperations` + * 2019-07-01: :class:`ExpressRoutePortsOperations` + * 2019-08-01: :class:`ExpressRoutePortsOperations` + * 2019-09-01: :class:`ExpressRoutePortsOperations` + * 2019-11-01: :class:`ExpressRoutePortsOperations` + * 2019-12-01: :class:`ExpressRoutePortsOperations` + * 2020-03-01: :class:`ExpressRoutePortsOperations` + * 2020-04-01: :class:`ExpressRoutePortsOperations` + """ + api_version = self._get_api_version('express_route_ports') + if api_version == '2018-08-01': + from .v2018_08_01.operations import ExpressRoutePortsOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import ExpressRoutePortsOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import ExpressRoutePortsOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import ExpressRoutePortsOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import ExpressRoutePortsOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import ExpressRoutePortsOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import ExpressRoutePortsOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import ExpressRoutePortsOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import ExpressRoutePortsOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import ExpressRoutePortsOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import ExpressRoutePortsOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import ExpressRoutePortsOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import ExpressRoutePortsOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import ExpressRoutePortsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def express_route_ports_locations(self): + """Instance depends on the API version: + + * 2018-08-01: :class:`ExpressRoutePortsLocationsOperations` + * 2018-10-01: :class:`ExpressRoutePortsLocationsOperations` + * 2018-11-01: :class:`ExpressRoutePortsLocationsOperations` + * 2018-12-01: :class:`ExpressRoutePortsLocationsOperations` + * 2019-02-01: :class:`ExpressRoutePortsLocationsOperations` + * 2019-04-01: :class:`ExpressRoutePortsLocationsOperations` + * 2019-06-01: :class:`ExpressRoutePortsLocationsOperations` + * 2019-07-01: :class:`ExpressRoutePortsLocationsOperations` + * 2019-08-01: :class:`ExpressRoutePortsLocationsOperations` + * 2019-09-01: :class:`ExpressRoutePortsLocationsOperations` + * 2019-11-01: :class:`ExpressRoutePortsLocationsOperations` + * 2019-12-01: :class:`ExpressRoutePortsLocationsOperations` + * 2020-03-01: :class:`ExpressRoutePortsLocationsOperations` + * 2020-04-01: :class:`ExpressRoutePortsLocationsOperations` + """ + api_version = self._get_api_version('express_route_ports_locations') + if api_version == '2018-08-01': + from .v2018_08_01.operations import ExpressRoutePortsLocationsOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import ExpressRoutePortsLocationsOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import ExpressRoutePortsLocationsOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import ExpressRoutePortsLocationsOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import ExpressRoutePortsLocationsOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import ExpressRoutePortsLocationsOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import ExpressRoutePortsLocationsOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import ExpressRoutePortsLocationsOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import ExpressRoutePortsLocationsOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import ExpressRoutePortsLocationsOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import ExpressRoutePortsLocationsOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import ExpressRoutePortsLocationsOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import ExpressRoutePortsLocationsOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import ExpressRoutePortsLocationsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def express_route_service_providers(self): + """Instance depends on the API version: + + * 2015-06-15: :class:`ExpressRouteServiceProvidersOperations` + * 2016-09-01: :class:`ExpressRouteServiceProvidersOperations` + * 2016-12-01: :class:`ExpressRouteServiceProvidersOperations` + * 2017-03-01: :class:`ExpressRouteServiceProvidersOperations` + * 2017-06-01: :class:`ExpressRouteServiceProvidersOperations` + * 2017-08-01: :class:`ExpressRouteServiceProvidersOperations` + * 2017-09-01: :class:`ExpressRouteServiceProvidersOperations` + * 2017-10-01: :class:`ExpressRouteServiceProvidersOperations` + * 2017-11-01: :class:`ExpressRouteServiceProvidersOperations` + * 2018-01-01: :class:`ExpressRouteServiceProvidersOperations` + * 2018-02-01: :class:`ExpressRouteServiceProvidersOperations` + * 2018-04-01: :class:`ExpressRouteServiceProvidersOperations` + * 2018-06-01: :class:`ExpressRouteServiceProvidersOperations` + * 2018-07-01: :class:`ExpressRouteServiceProvidersOperations` + * 2018-08-01: :class:`ExpressRouteServiceProvidersOperations` + * 2018-10-01: :class:`ExpressRouteServiceProvidersOperations` + * 2018-11-01: :class:`ExpressRouteServiceProvidersOperations` + * 2018-12-01: :class:`ExpressRouteServiceProvidersOperations` + * 2019-02-01: :class:`ExpressRouteServiceProvidersOperations` + * 2019-04-01: :class:`ExpressRouteServiceProvidersOperations` + * 2019-06-01: :class:`ExpressRouteServiceProvidersOperations` + * 2019-07-01: :class:`ExpressRouteServiceProvidersOperations` + * 2019-08-01: :class:`ExpressRouteServiceProvidersOperations` + * 2019-09-01: :class:`ExpressRouteServiceProvidersOperations` + * 2019-11-01: :class:`ExpressRouteServiceProvidersOperations` + * 2019-12-01: :class:`ExpressRouteServiceProvidersOperations` + * 2020-03-01: :class:`ExpressRouteServiceProvidersOperations` + * 2020-04-01: :class:`ExpressRouteServiceProvidersOperations` + """ + api_version = self._get_api_version('express_route_service_providers') + if api_version == '2015-06-15': + from .v2015_06_15.operations import ExpressRouteServiceProvidersOperations as OperationClass + elif api_version == '2016-09-01': + from .v2016_09_01.operations import ExpressRouteServiceProvidersOperations as OperationClass + elif api_version == '2016-12-01': + from .v2016_12_01.operations import ExpressRouteServiceProvidersOperations as OperationClass + elif api_version == '2017-03-01': + from .v2017_03_01.operations import ExpressRouteServiceProvidersOperations as OperationClass + elif api_version == '2017-06-01': + from .v2017_06_01.operations import ExpressRouteServiceProvidersOperations as OperationClass + elif api_version == '2017-08-01': + from .v2017_08_01.operations import ExpressRouteServiceProvidersOperations as OperationClass + elif api_version == '2017-09-01': + from .v2017_09_01.operations import ExpressRouteServiceProvidersOperations as OperationClass + elif api_version == '2017-10-01': + from .v2017_10_01.operations import ExpressRouteServiceProvidersOperations as OperationClass + elif api_version == '2017-11-01': + from .v2017_11_01.operations import ExpressRouteServiceProvidersOperations as OperationClass + elif api_version == '2018-01-01': + from .v2018_01_01.operations import ExpressRouteServiceProvidersOperations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import ExpressRouteServiceProvidersOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import ExpressRouteServiceProvidersOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import ExpressRouteServiceProvidersOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import ExpressRouteServiceProvidersOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import ExpressRouteServiceProvidersOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import ExpressRouteServiceProvidersOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import ExpressRouteServiceProvidersOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import ExpressRouteServiceProvidersOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import ExpressRouteServiceProvidersOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import ExpressRouteServiceProvidersOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import ExpressRouteServiceProvidersOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import ExpressRouteServiceProvidersOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import ExpressRouteServiceProvidersOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import ExpressRouteServiceProvidersOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import ExpressRouteServiceProvidersOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import ExpressRouteServiceProvidersOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import ExpressRouteServiceProvidersOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import ExpressRouteServiceProvidersOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def firewall_policies(self): + """Instance depends on the API version: + + * 2019-06-01: :class:`FirewallPoliciesOperations` + * 2019-07-01: :class:`FirewallPoliciesOperations` + * 2019-08-01: :class:`FirewallPoliciesOperations` + * 2019-09-01: :class:`FirewallPoliciesOperations` + * 2019-11-01: :class:`FirewallPoliciesOperations` + * 2019-12-01: :class:`FirewallPoliciesOperations` + * 2020-03-01: :class:`FirewallPoliciesOperations` + * 2020-04-01: :class:`FirewallPoliciesOperations` + """ + api_version = self._get_api_version('firewall_policies') + if api_version == '2019-06-01': + from .v2019_06_01.operations import FirewallPoliciesOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import FirewallPoliciesOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import FirewallPoliciesOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import FirewallPoliciesOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import FirewallPoliciesOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import FirewallPoliciesOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import FirewallPoliciesOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import FirewallPoliciesOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def firewall_policy_rule_groups(self): + """Instance depends on the API version: + + * 2019-06-01: :class:`FirewallPolicyRuleGroupsOperations` + * 2019-07-01: :class:`FirewallPolicyRuleGroupsOperations` + * 2019-08-01: :class:`FirewallPolicyRuleGroupsOperations` + * 2019-09-01: :class:`FirewallPolicyRuleGroupsOperations` + * 2019-11-01: :class:`FirewallPolicyRuleGroupsOperations` + * 2019-12-01: :class:`FirewallPolicyRuleGroupsOperations` + * 2020-03-01: :class:`FirewallPolicyRuleGroupsOperations` + * 2020-04-01: :class:`FirewallPolicyRuleGroupsOperations` + """ + api_version = self._get_api_version('firewall_policy_rule_groups') + if api_version == '2019-06-01': + from .v2019_06_01.operations import FirewallPolicyRuleGroupsOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import FirewallPolicyRuleGroupsOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import FirewallPolicyRuleGroupsOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import FirewallPolicyRuleGroupsOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import FirewallPolicyRuleGroupsOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import FirewallPolicyRuleGroupsOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import FirewallPolicyRuleGroupsOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import FirewallPolicyRuleGroupsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def flow_logs(self): + """Instance depends on the API version: + + * 2019-11-01: :class:`FlowLogsOperations` + * 2019-12-01: :class:`FlowLogsOperations` + * 2020-03-01: :class:`FlowLogsOperations` + * 2020-04-01: :class:`FlowLogsOperations` + """ + api_version = self._get_api_version('flow_logs') + if api_version == '2019-11-01': + from .v2019_11_01.operations import FlowLogsOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import FlowLogsOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import FlowLogsOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import FlowLogsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def hub_route_tables(self): + """Instance depends on the API version: + + * 2020-04-01: :class:`HubRouteTablesOperations` + """ + api_version = self._get_api_version('hub_route_tables') + if api_version == '2020-04-01': + from .v2020_04_01.operations import HubRouteTablesOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def hub_virtual_network_connections(self): + """Instance depends on the API version: + + * 2018-04-01: :class:`HubVirtualNetworkConnectionsOperations` + * 2018-06-01: :class:`HubVirtualNetworkConnectionsOperations` + * 2018-07-01: :class:`HubVirtualNetworkConnectionsOperations` + * 2018-08-01: :class:`HubVirtualNetworkConnectionsOperations` + * 2018-10-01: :class:`HubVirtualNetworkConnectionsOperations` + * 2018-11-01: :class:`HubVirtualNetworkConnectionsOperations` + * 2018-12-01: :class:`HubVirtualNetworkConnectionsOperations` + * 2019-02-01: :class:`HubVirtualNetworkConnectionsOperations` + * 2019-04-01: :class:`HubVirtualNetworkConnectionsOperations` + * 2019-06-01: :class:`HubVirtualNetworkConnectionsOperations` + * 2019-07-01: :class:`HubVirtualNetworkConnectionsOperations` + * 2019-08-01: :class:`HubVirtualNetworkConnectionsOperations` + * 2019-09-01: :class:`HubVirtualNetworkConnectionsOperations` + * 2019-11-01: :class:`HubVirtualNetworkConnectionsOperations` + * 2019-12-01: :class:`HubVirtualNetworkConnectionsOperations` + * 2020-03-01: :class:`HubVirtualNetworkConnectionsOperations` + * 2020-04-01: :class:`HubVirtualNetworkConnectionsOperations` + """ + api_version = self._get_api_version('hub_virtual_network_connections') + if api_version == '2018-04-01': + from .v2018_04_01.operations import HubVirtualNetworkConnectionsOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import HubVirtualNetworkConnectionsOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import HubVirtualNetworkConnectionsOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import HubVirtualNetworkConnectionsOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import HubVirtualNetworkConnectionsOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import HubVirtualNetworkConnectionsOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import HubVirtualNetworkConnectionsOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import HubVirtualNetworkConnectionsOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import HubVirtualNetworkConnectionsOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import HubVirtualNetworkConnectionsOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import HubVirtualNetworkConnectionsOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import HubVirtualNetworkConnectionsOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import HubVirtualNetworkConnectionsOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import HubVirtualNetworkConnectionsOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import HubVirtualNetworkConnectionsOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import HubVirtualNetworkConnectionsOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import HubVirtualNetworkConnectionsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def inbound_nat_rules(self): + """Instance depends on the API version: + + * 2017-06-01: :class:`InboundNatRulesOperations` + * 2017-08-01: :class:`InboundNatRulesOperations` + * 2017-09-01: :class:`InboundNatRulesOperations` + * 2017-10-01: :class:`InboundNatRulesOperations` + * 2017-11-01: :class:`InboundNatRulesOperations` + * 2018-01-01: :class:`InboundNatRulesOperations` + * 2018-02-01: :class:`InboundNatRulesOperations` + * 2018-04-01: :class:`InboundNatRulesOperations` + * 2018-06-01: :class:`InboundNatRulesOperations` + * 2018-07-01: :class:`InboundNatRulesOperations` + * 2018-08-01: :class:`InboundNatRulesOperations` + * 2018-10-01: :class:`InboundNatRulesOperations` + * 2018-11-01: :class:`InboundNatRulesOperations` + * 2018-12-01: :class:`InboundNatRulesOperations` + * 2019-02-01: :class:`InboundNatRulesOperations` + * 2019-04-01: :class:`InboundNatRulesOperations` + * 2019-06-01: :class:`InboundNatRulesOperations` + * 2019-07-01: :class:`InboundNatRulesOperations` + * 2019-08-01: :class:`InboundNatRulesOperations` + * 2019-09-01: :class:`InboundNatRulesOperations` + * 2019-11-01: :class:`InboundNatRulesOperations` + * 2019-12-01: :class:`InboundNatRulesOperations` + * 2020-03-01: :class:`InboundNatRulesOperations` + * 2020-04-01: :class:`InboundNatRulesOperations` + """ + api_version = self._get_api_version('inbound_nat_rules') + if api_version == '2017-06-01': + from .v2017_06_01.operations import InboundNatRulesOperations as OperationClass + elif api_version == '2017-08-01': + from .v2017_08_01.operations import InboundNatRulesOperations as OperationClass + elif api_version == '2017-09-01': + from .v2017_09_01.operations import InboundNatRulesOperations as OperationClass + elif api_version == '2017-10-01': + from .v2017_10_01.operations import InboundNatRulesOperations as OperationClass + elif api_version == '2017-11-01': + from .v2017_11_01.operations import InboundNatRulesOperations as OperationClass + elif api_version == '2018-01-01': + from .v2018_01_01.operations import InboundNatRulesOperations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import InboundNatRulesOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import InboundNatRulesOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import InboundNatRulesOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import InboundNatRulesOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import InboundNatRulesOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import InboundNatRulesOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import InboundNatRulesOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import InboundNatRulesOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import InboundNatRulesOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import InboundNatRulesOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import InboundNatRulesOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import InboundNatRulesOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import InboundNatRulesOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import InboundNatRulesOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import InboundNatRulesOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import InboundNatRulesOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import InboundNatRulesOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import InboundNatRulesOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def interface_endpoints(self): + """Instance depends on the API version: + + * 2018-08-01: :class:`InterfaceEndpointsOperations` + * 2018-10-01: :class:`InterfaceEndpointsOperations` + * 2018-11-01: :class:`InterfaceEndpointsOperations` + * 2018-12-01: :class:`InterfaceEndpointsOperations` + * 2019-02-01: :class:`InterfaceEndpointsOperations` + """ + api_version = self._get_api_version('interface_endpoints') + if api_version == '2018-08-01': + from .v2018_08_01.operations import InterfaceEndpointsOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import InterfaceEndpointsOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import InterfaceEndpointsOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import InterfaceEndpointsOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import InterfaceEndpointsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def ip_allocations(self): + """Instance depends on the API version: + + * 2020-03-01: :class:`IpAllocationsOperations` + * 2020-04-01: :class:`IpAllocationsOperations` + """ + api_version = self._get_api_version('ip_allocations') + if api_version == '2020-03-01': + from .v2020_03_01.operations import IpAllocationsOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import IpAllocationsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def ip_groups(self): + """Instance depends on the API version: + + * 2019-09-01: :class:`IpGroupsOperations` + * 2019-11-01: :class:`IpGroupsOperations` + * 2019-12-01: :class:`IpGroupsOperations` + * 2020-03-01: :class:`IpGroupsOperations` + * 2020-04-01: :class:`IpGroupsOperations` + """ + api_version = self._get_api_version('ip_groups') + if api_version == '2019-09-01': + from .v2019_09_01.operations import IpGroupsOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import IpGroupsOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import IpGroupsOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import IpGroupsOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import IpGroupsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def load_balancer_backend_address_pools(self): + """Instance depends on the API version: + + * 2017-06-01: :class:`LoadBalancerBackendAddressPoolsOperations` + * 2017-08-01: :class:`LoadBalancerBackendAddressPoolsOperations` + * 2017-09-01: :class:`LoadBalancerBackendAddressPoolsOperations` + * 2017-10-01: :class:`LoadBalancerBackendAddressPoolsOperations` + * 2017-11-01: :class:`LoadBalancerBackendAddressPoolsOperations` + * 2018-01-01: :class:`LoadBalancerBackendAddressPoolsOperations` + * 2018-02-01: :class:`LoadBalancerBackendAddressPoolsOperations` + * 2018-04-01: :class:`LoadBalancerBackendAddressPoolsOperations` + * 2018-06-01: :class:`LoadBalancerBackendAddressPoolsOperations` + * 2018-07-01: :class:`LoadBalancerBackendAddressPoolsOperations` + * 2018-08-01: :class:`LoadBalancerBackendAddressPoolsOperations` + * 2018-10-01: :class:`LoadBalancerBackendAddressPoolsOperations` + * 2018-11-01: :class:`LoadBalancerBackendAddressPoolsOperations` + * 2018-12-01: :class:`LoadBalancerBackendAddressPoolsOperations` + * 2019-02-01: :class:`LoadBalancerBackendAddressPoolsOperations` + * 2019-04-01: :class:`LoadBalancerBackendAddressPoolsOperations` + * 2019-06-01: :class:`LoadBalancerBackendAddressPoolsOperations` + * 2019-07-01: :class:`LoadBalancerBackendAddressPoolsOperations` + * 2019-08-01: :class:`LoadBalancerBackendAddressPoolsOperations` + * 2019-09-01: :class:`LoadBalancerBackendAddressPoolsOperations` + * 2019-11-01: :class:`LoadBalancerBackendAddressPoolsOperations` + * 2019-12-01: :class:`LoadBalancerBackendAddressPoolsOperations` + * 2020-03-01: :class:`LoadBalancerBackendAddressPoolsOperations` + * 2020-04-01: :class:`LoadBalancerBackendAddressPoolsOperations` + """ + api_version = self._get_api_version('load_balancer_backend_address_pools') + if api_version == '2017-06-01': + from .v2017_06_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass + elif api_version == '2017-08-01': + from .v2017_08_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass + elif api_version == '2017-09-01': + from .v2017_09_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass + elif api_version == '2017-10-01': + from .v2017_10_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass + elif api_version == '2017-11-01': + from .v2017_11_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass + elif api_version == '2018-01-01': + from .v2018_01_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def load_balancer_frontend_ip_configurations(self): + """Instance depends on the API version: + + * 2017-06-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` + * 2017-08-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` + * 2017-09-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` + * 2017-10-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` + * 2017-11-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` + * 2018-01-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` + * 2018-02-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` + * 2018-04-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` + * 2018-06-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` + * 2018-07-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` + * 2018-08-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` + * 2018-10-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` + * 2018-11-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` + * 2018-12-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` + * 2019-02-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` + * 2019-04-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` + * 2019-06-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` + * 2019-07-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` + * 2019-08-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` + * 2019-09-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` + * 2019-11-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` + * 2019-12-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` + * 2020-03-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` + * 2020-04-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` + """ + api_version = self._get_api_version('load_balancer_frontend_ip_configurations') + if api_version == '2017-06-01': + from .v2017_06_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass + elif api_version == '2017-08-01': + from .v2017_08_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass + elif api_version == '2017-09-01': + from .v2017_09_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass + elif api_version == '2017-10-01': + from .v2017_10_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass + elif api_version == '2017-11-01': + from .v2017_11_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass + elif api_version == '2018-01-01': + from .v2018_01_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def load_balancer_load_balancing_rules(self): + """Instance depends on the API version: + + * 2017-06-01: :class:`LoadBalancerLoadBalancingRulesOperations` + * 2017-08-01: :class:`LoadBalancerLoadBalancingRulesOperations` + * 2017-09-01: :class:`LoadBalancerLoadBalancingRulesOperations` + * 2017-10-01: :class:`LoadBalancerLoadBalancingRulesOperations` + * 2017-11-01: :class:`LoadBalancerLoadBalancingRulesOperations` + * 2018-01-01: :class:`LoadBalancerLoadBalancingRulesOperations` + * 2018-02-01: :class:`LoadBalancerLoadBalancingRulesOperations` + * 2018-04-01: :class:`LoadBalancerLoadBalancingRulesOperations` + * 2018-06-01: :class:`LoadBalancerLoadBalancingRulesOperations` + * 2018-07-01: :class:`LoadBalancerLoadBalancingRulesOperations` + * 2018-08-01: :class:`LoadBalancerLoadBalancingRulesOperations` + * 2018-10-01: :class:`LoadBalancerLoadBalancingRulesOperations` + * 2018-11-01: :class:`LoadBalancerLoadBalancingRulesOperations` + * 2018-12-01: :class:`LoadBalancerLoadBalancingRulesOperations` + * 2019-02-01: :class:`LoadBalancerLoadBalancingRulesOperations` + * 2019-04-01: :class:`LoadBalancerLoadBalancingRulesOperations` + * 2019-06-01: :class:`LoadBalancerLoadBalancingRulesOperations` + * 2019-07-01: :class:`LoadBalancerLoadBalancingRulesOperations` + * 2019-08-01: :class:`LoadBalancerLoadBalancingRulesOperations` + * 2019-09-01: :class:`LoadBalancerLoadBalancingRulesOperations` + * 2019-11-01: :class:`LoadBalancerLoadBalancingRulesOperations` + * 2019-12-01: :class:`LoadBalancerLoadBalancingRulesOperations` + * 2020-03-01: :class:`LoadBalancerLoadBalancingRulesOperations` + * 2020-04-01: :class:`LoadBalancerLoadBalancingRulesOperations` + """ + api_version = self._get_api_version('load_balancer_load_balancing_rules') + if api_version == '2017-06-01': + from .v2017_06_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass + elif api_version == '2017-08-01': + from .v2017_08_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass + elif api_version == '2017-09-01': + from .v2017_09_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass + elif api_version == '2017-10-01': + from .v2017_10_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass + elif api_version == '2017-11-01': + from .v2017_11_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass + elif api_version == '2018-01-01': + from .v2018_01_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def load_balancer_network_interfaces(self): + """Instance depends on the API version: + + * 2017-06-01: :class:`LoadBalancerNetworkInterfacesOperations` + * 2017-08-01: :class:`LoadBalancerNetworkInterfacesOperations` + * 2017-09-01: :class:`LoadBalancerNetworkInterfacesOperations` + * 2017-10-01: :class:`LoadBalancerNetworkInterfacesOperations` + * 2017-11-01: :class:`LoadBalancerNetworkInterfacesOperations` + * 2018-01-01: :class:`LoadBalancerNetworkInterfacesOperations` + * 2018-02-01: :class:`LoadBalancerNetworkInterfacesOperations` + * 2018-04-01: :class:`LoadBalancerNetworkInterfacesOperations` + * 2018-06-01: :class:`LoadBalancerNetworkInterfacesOperations` + * 2018-07-01: :class:`LoadBalancerNetworkInterfacesOperations` + * 2018-08-01: :class:`LoadBalancerNetworkInterfacesOperations` + * 2018-10-01: :class:`LoadBalancerNetworkInterfacesOperations` + * 2018-11-01: :class:`LoadBalancerNetworkInterfacesOperations` + * 2018-12-01: :class:`LoadBalancerNetworkInterfacesOperations` + * 2019-02-01: :class:`LoadBalancerNetworkInterfacesOperations` + * 2019-04-01: :class:`LoadBalancerNetworkInterfacesOperations` + * 2019-06-01: :class:`LoadBalancerNetworkInterfacesOperations` + * 2019-07-01: :class:`LoadBalancerNetworkInterfacesOperations` + * 2019-08-01: :class:`LoadBalancerNetworkInterfacesOperations` + * 2019-09-01: :class:`LoadBalancerNetworkInterfacesOperations` + * 2019-11-01: :class:`LoadBalancerNetworkInterfacesOperations` + * 2019-12-01: :class:`LoadBalancerNetworkInterfacesOperations` + * 2020-03-01: :class:`LoadBalancerNetworkInterfacesOperations` + * 2020-04-01: :class:`LoadBalancerNetworkInterfacesOperations` + """ + api_version = self._get_api_version('load_balancer_network_interfaces') + if api_version == '2017-06-01': + from .v2017_06_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass + elif api_version == '2017-08-01': + from .v2017_08_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass + elif api_version == '2017-09-01': + from .v2017_09_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass + elif api_version == '2017-10-01': + from .v2017_10_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass + elif api_version == '2017-11-01': + from .v2017_11_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass + elif api_version == '2018-01-01': + from .v2018_01_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def load_balancer_outbound_rules(self): + """Instance depends on the API version: + + * 2018-08-01: :class:`LoadBalancerOutboundRulesOperations` + * 2018-10-01: :class:`LoadBalancerOutboundRulesOperations` + * 2018-11-01: :class:`LoadBalancerOutboundRulesOperations` + * 2018-12-01: :class:`LoadBalancerOutboundRulesOperations` + * 2019-02-01: :class:`LoadBalancerOutboundRulesOperations` + * 2019-04-01: :class:`LoadBalancerOutboundRulesOperations` + * 2019-06-01: :class:`LoadBalancerOutboundRulesOperations` + * 2019-07-01: :class:`LoadBalancerOutboundRulesOperations` + * 2019-08-01: :class:`LoadBalancerOutboundRulesOperations` + * 2019-09-01: :class:`LoadBalancerOutboundRulesOperations` + * 2019-11-01: :class:`LoadBalancerOutboundRulesOperations` + * 2019-12-01: :class:`LoadBalancerOutboundRulesOperations` + * 2020-03-01: :class:`LoadBalancerOutboundRulesOperations` + * 2020-04-01: :class:`LoadBalancerOutboundRulesOperations` + """ + api_version = self._get_api_version('load_balancer_outbound_rules') + if api_version == '2018-08-01': + from .v2018_08_01.operations import LoadBalancerOutboundRulesOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import LoadBalancerOutboundRulesOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import LoadBalancerOutboundRulesOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import LoadBalancerOutboundRulesOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import LoadBalancerOutboundRulesOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import LoadBalancerOutboundRulesOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import LoadBalancerOutboundRulesOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import LoadBalancerOutboundRulesOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import LoadBalancerOutboundRulesOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import LoadBalancerOutboundRulesOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import LoadBalancerOutboundRulesOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import LoadBalancerOutboundRulesOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import LoadBalancerOutboundRulesOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import LoadBalancerOutboundRulesOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def load_balancer_probes(self): + """Instance depends on the API version: + + * 2017-06-01: :class:`LoadBalancerProbesOperations` + * 2017-08-01: :class:`LoadBalancerProbesOperations` + * 2017-09-01: :class:`LoadBalancerProbesOperations` + * 2017-10-01: :class:`LoadBalancerProbesOperations` + * 2017-11-01: :class:`LoadBalancerProbesOperations` + * 2018-01-01: :class:`LoadBalancerProbesOperations` + * 2018-02-01: :class:`LoadBalancerProbesOperations` + * 2018-04-01: :class:`LoadBalancerProbesOperations` + * 2018-06-01: :class:`LoadBalancerProbesOperations` + * 2018-07-01: :class:`LoadBalancerProbesOperations` + * 2018-08-01: :class:`LoadBalancerProbesOperations` + * 2018-10-01: :class:`LoadBalancerProbesOperations` + * 2018-11-01: :class:`LoadBalancerProbesOperations` + * 2018-12-01: :class:`LoadBalancerProbesOperations` + * 2019-02-01: :class:`LoadBalancerProbesOperations` + * 2019-04-01: :class:`LoadBalancerProbesOperations` + * 2019-06-01: :class:`LoadBalancerProbesOperations` + * 2019-07-01: :class:`LoadBalancerProbesOperations` + * 2019-08-01: :class:`LoadBalancerProbesOperations` + * 2019-09-01: :class:`LoadBalancerProbesOperations` + * 2019-11-01: :class:`LoadBalancerProbesOperations` + * 2019-12-01: :class:`LoadBalancerProbesOperations` + * 2020-03-01: :class:`LoadBalancerProbesOperations` + * 2020-04-01: :class:`LoadBalancerProbesOperations` + """ + api_version = self._get_api_version('load_balancer_probes') + if api_version == '2017-06-01': + from .v2017_06_01.operations import LoadBalancerProbesOperations as OperationClass + elif api_version == '2017-08-01': + from .v2017_08_01.operations import LoadBalancerProbesOperations as OperationClass + elif api_version == '2017-09-01': + from .v2017_09_01.operations import LoadBalancerProbesOperations as OperationClass + elif api_version == '2017-10-01': + from .v2017_10_01.operations import LoadBalancerProbesOperations as OperationClass + elif api_version == '2017-11-01': + from .v2017_11_01.operations import LoadBalancerProbesOperations as OperationClass + elif api_version == '2018-01-01': + from .v2018_01_01.operations import LoadBalancerProbesOperations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import LoadBalancerProbesOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import LoadBalancerProbesOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import LoadBalancerProbesOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import LoadBalancerProbesOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import LoadBalancerProbesOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import LoadBalancerProbesOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import LoadBalancerProbesOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import LoadBalancerProbesOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import LoadBalancerProbesOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import LoadBalancerProbesOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import LoadBalancerProbesOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import LoadBalancerProbesOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import LoadBalancerProbesOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import LoadBalancerProbesOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import LoadBalancerProbesOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import LoadBalancerProbesOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import LoadBalancerProbesOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import LoadBalancerProbesOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def load_balancers(self): + """Instance depends on the API version: + + * 2015-06-15: :class:`LoadBalancersOperations` + * 2016-09-01: :class:`LoadBalancersOperations` + * 2016-12-01: :class:`LoadBalancersOperations` + * 2017-03-01: :class:`LoadBalancersOperations` + * 2017-06-01: :class:`LoadBalancersOperations` + * 2017-08-01: :class:`LoadBalancersOperations` + * 2017-09-01: :class:`LoadBalancersOperations` + * 2017-10-01: :class:`LoadBalancersOperations` + * 2017-11-01: :class:`LoadBalancersOperations` + * 2018-01-01: :class:`LoadBalancersOperations` + * 2018-02-01: :class:`LoadBalancersOperations` + * 2018-04-01: :class:`LoadBalancersOperations` + * 2018-06-01: :class:`LoadBalancersOperations` + * 2018-07-01: :class:`LoadBalancersOperations` + * 2018-08-01: :class:`LoadBalancersOperations` + * 2018-10-01: :class:`LoadBalancersOperations` + * 2018-11-01: :class:`LoadBalancersOperations` + * 2018-12-01: :class:`LoadBalancersOperations` + * 2019-02-01: :class:`LoadBalancersOperations` + * 2019-04-01: :class:`LoadBalancersOperations` + * 2019-06-01: :class:`LoadBalancersOperations` + * 2019-07-01: :class:`LoadBalancersOperations` + * 2019-08-01: :class:`LoadBalancersOperations` + * 2019-09-01: :class:`LoadBalancersOperations` + * 2019-11-01: :class:`LoadBalancersOperations` + * 2019-12-01: :class:`LoadBalancersOperations` + * 2020-03-01: :class:`LoadBalancersOperations` + * 2020-04-01: :class:`LoadBalancersOperations` + """ + api_version = self._get_api_version('load_balancers') + if api_version == '2015-06-15': + from .v2015_06_15.operations import LoadBalancersOperations as OperationClass + elif api_version == '2016-09-01': + from .v2016_09_01.operations import LoadBalancersOperations as OperationClass + elif api_version == '2016-12-01': + from .v2016_12_01.operations import LoadBalancersOperations as OperationClass + elif api_version == '2017-03-01': + from .v2017_03_01.operations import LoadBalancersOperations as OperationClass + elif api_version == '2017-06-01': + from .v2017_06_01.operations import LoadBalancersOperations as OperationClass + elif api_version == '2017-08-01': + from .v2017_08_01.operations import LoadBalancersOperations as OperationClass + elif api_version == '2017-09-01': + from .v2017_09_01.operations import LoadBalancersOperations as OperationClass + elif api_version == '2017-10-01': + from .v2017_10_01.operations import LoadBalancersOperations as OperationClass + elif api_version == '2017-11-01': + from .v2017_11_01.operations import LoadBalancersOperations as OperationClass + elif api_version == '2018-01-01': + from .v2018_01_01.operations import LoadBalancersOperations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import LoadBalancersOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import LoadBalancersOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import LoadBalancersOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import LoadBalancersOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import LoadBalancersOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import LoadBalancersOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import LoadBalancersOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import LoadBalancersOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import LoadBalancersOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import LoadBalancersOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import LoadBalancersOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import LoadBalancersOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import LoadBalancersOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import LoadBalancersOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import LoadBalancersOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import LoadBalancersOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import LoadBalancersOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import LoadBalancersOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def local_network_gateways(self): + """Instance depends on the API version: + + * 2015-06-15: :class:`LocalNetworkGatewaysOperations` + * 2016-09-01: :class:`LocalNetworkGatewaysOperations` + * 2016-12-01: :class:`LocalNetworkGatewaysOperations` + * 2017-03-01: :class:`LocalNetworkGatewaysOperations` + * 2017-06-01: :class:`LocalNetworkGatewaysOperations` + * 2017-08-01: :class:`LocalNetworkGatewaysOperations` + * 2017-09-01: :class:`LocalNetworkGatewaysOperations` + * 2017-10-01: :class:`LocalNetworkGatewaysOperations` + * 2017-11-01: :class:`LocalNetworkGatewaysOperations` + * 2018-01-01: :class:`LocalNetworkGatewaysOperations` + * 2018-02-01: :class:`LocalNetworkGatewaysOperations` + * 2018-04-01: :class:`LocalNetworkGatewaysOperations` + * 2018-06-01: :class:`LocalNetworkGatewaysOperations` + * 2018-07-01: :class:`LocalNetworkGatewaysOperations` + * 2018-08-01: :class:`LocalNetworkGatewaysOperations` + * 2018-10-01: :class:`LocalNetworkGatewaysOperations` + * 2018-11-01: :class:`LocalNetworkGatewaysOperations` + * 2018-12-01: :class:`LocalNetworkGatewaysOperations` + * 2019-02-01: :class:`LocalNetworkGatewaysOperations` + * 2019-04-01: :class:`LocalNetworkGatewaysOperations` + * 2019-06-01: :class:`LocalNetworkGatewaysOperations` + * 2019-07-01: :class:`LocalNetworkGatewaysOperations` + * 2019-08-01: :class:`LocalNetworkGatewaysOperations` + * 2019-09-01: :class:`LocalNetworkGatewaysOperations` + * 2019-11-01: :class:`LocalNetworkGatewaysOperations` + * 2019-12-01: :class:`LocalNetworkGatewaysOperations` + * 2020-03-01: :class:`LocalNetworkGatewaysOperations` + * 2020-04-01: :class:`LocalNetworkGatewaysOperations` + """ + api_version = self._get_api_version('local_network_gateways') + if api_version == '2015-06-15': + from .v2015_06_15.operations import LocalNetworkGatewaysOperations as OperationClass + elif api_version == '2016-09-01': + from .v2016_09_01.operations import LocalNetworkGatewaysOperations as OperationClass + elif api_version == '2016-12-01': + from .v2016_12_01.operations import LocalNetworkGatewaysOperations as OperationClass + elif api_version == '2017-03-01': + from .v2017_03_01.operations import LocalNetworkGatewaysOperations as OperationClass + elif api_version == '2017-06-01': + from .v2017_06_01.operations import LocalNetworkGatewaysOperations as OperationClass + elif api_version == '2017-08-01': + from .v2017_08_01.operations import LocalNetworkGatewaysOperations as OperationClass + elif api_version == '2017-09-01': + from .v2017_09_01.operations import LocalNetworkGatewaysOperations as OperationClass + elif api_version == '2017-10-01': + from .v2017_10_01.operations import LocalNetworkGatewaysOperations as OperationClass + elif api_version == '2017-11-01': + from .v2017_11_01.operations import LocalNetworkGatewaysOperations as OperationClass + elif api_version == '2018-01-01': + from .v2018_01_01.operations import LocalNetworkGatewaysOperations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import LocalNetworkGatewaysOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import LocalNetworkGatewaysOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import LocalNetworkGatewaysOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import LocalNetworkGatewaysOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import LocalNetworkGatewaysOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import LocalNetworkGatewaysOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import LocalNetworkGatewaysOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import LocalNetworkGatewaysOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import LocalNetworkGatewaysOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import LocalNetworkGatewaysOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import LocalNetworkGatewaysOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import LocalNetworkGatewaysOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import LocalNetworkGatewaysOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import LocalNetworkGatewaysOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import LocalNetworkGatewaysOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import LocalNetworkGatewaysOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import LocalNetworkGatewaysOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import LocalNetworkGatewaysOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def nat_gateways(self): + """Instance depends on the API version: + + * 2019-02-01: :class:`NatGatewaysOperations` + * 2019-04-01: :class:`NatGatewaysOperations` + * 2019-06-01: :class:`NatGatewaysOperations` + * 2019-07-01: :class:`NatGatewaysOperations` + * 2019-08-01: :class:`NatGatewaysOperations` + * 2019-09-01: :class:`NatGatewaysOperations` + * 2019-11-01: :class:`NatGatewaysOperations` + * 2019-12-01: :class:`NatGatewaysOperations` + * 2020-03-01: :class:`NatGatewaysOperations` + * 2020-04-01: :class:`NatGatewaysOperations` + """ + api_version = self._get_api_version('nat_gateways') + if api_version == '2019-02-01': + from .v2019_02_01.operations import NatGatewaysOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import NatGatewaysOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import NatGatewaysOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import NatGatewaysOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import NatGatewaysOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import NatGatewaysOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import NatGatewaysOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import NatGatewaysOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import NatGatewaysOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import NatGatewaysOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def network_interface_ip_configurations(self): + """Instance depends on the API version: + + * 2017-06-01: :class:`NetworkInterfaceIPConfigurationsOperations` + * 2017-08-01: :class:`NetworkInterfaceIPConfigurationsOperations` + * 2017-09-01: :class:`NetworkInterfaceIPConfigurationsOperations` + * 2017-10-01: :class:`NetworkInterfaceIPConfigurationsOperations` + * 2017-11-01: :class:`NetworkInterfaceIPConfigurationsOperations` + * 2018-01-01: :class:`NetworkInterfaceIPConfigurationsOperations` + * 2018-02-01: :class:`NetworkInterfaceIPConfigurationsOperations` + * 2018-04-01: :class:`NetworkInterfaceIPConfigurationsOperations` + * 2018-06-01: :class:`NetworkInterfaceIPConfigurationsOperations` + * 2018-07-01: :class:`NetworkInterfaceIPConfigurationsOperations` + * 2018-08-01: :class:`NetworkInterfaceIPConfigurationsOperations` + * 2018-10-01: :class:`NetworkInterfaceIPConfigurationsOperations` + * 2018-11-01: :class:`NetworkInterfaceIPConfigurationsOperations` + * 2018-12-01: :class:`NetworkInterfaceIPConfigurationsOperations` + * 2019-02-01: :class:`NetworkInterfaceIPConfigurationsOperations` + * 2019-04-01: :class:`NetworkInterfaceIPConfigurationsOperations` + * 2019-06-01: :class:`NetworkInterfaceIPConfigurationsOperations` + * 2019-07-01: :class:`NetworkInterfaceIPConfigurationsOperations` + * 2019-08-01: :class:`NetworkInterfaceIPConfigurationsOperations` + * 2019-09-01: :class:`NetworkInterfaceIPConfigurationsOperations` + * 2019-11-01: :class:`NetworkInterfaceIPConfigurationsOperations` + * 2019-12-01: :class:`NetworkInterfaceIPConfigurationsOperations` + * 2020-03-01: :class:`NetworkInterfaceIPConfigurationsOperations` + * 2020-04-01: :class:`NetworkInterfaceIPConfigurationsOperations` + """ + api_version = self._get_api_version('network_interface_ip_configurations') + if api_version == '2017-06-01': + from .v2017_06_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass + elif api_version == '2017-08-01': + from .v2017_08_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass + elif api_version == '2017-09-01': + from .v2017_09_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass + elif api_version == '2017-10-01': + from .v2017_10_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass + elif api_version == '2017-11-01': + from .v2017_11_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass + elif api_version == '2018-01-01': + from .v2018_01_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def network_interface_load_balancers(self): + """Instance depends on the API version: + + * 2017-06-01: :class:`NetworkInterfaceLoadBalancersOperations` + * 2017-08-01: :class:`NetworkInterfaceLoadBalancersOperations` + * 2017-09-01: :class:`NetworkInterfaceLoadBalancersOperations` + * 2017-10-01: :class:`NetworkInterfaceLoadBalancersOperations` + * 2017-11-01: :class:`NetworkInterfaceLoadBalancersOperations` + * 2018-01-01: :class:`NetworkInterfaceLoadBalancersOperations` + * 2018-02-01: :class:`NetworkInterfaceLoadBalancersOperations` + * 2018-04-01: :class:`NetworkInterfaceLoadBalancersOperations` + * 2018-06-01: :class:`NetworkInterfaceLoadBalancersOperations` + * 2018-07-01: :class:`NetworkInterfaceLoadBalancersOperations` + * 2018-08-01: :class:`NetworkInterfaceLoadBalancersOperations` + * 2018-10-01: :class:`NetworkInterfaceLoadBalancersOperations` + * 2018-11-01: :class:`NetworkInterfaceLoadBalancersOperations` + * 2018-12-01: :class:`NetworkInterfaceLoadBalancersOperations` + * 2019-02-01: :class:`NetworkInterfaceLoadBalancersOperations` + * 2019-04-01: :class:`NetworkInterfaceLoadBalancersOperations` + * 2019-06-01: :class:`NetworkInterfaceLoadBalancersOperations` + * 2019-07-01: :class:`NetworkInterfaceLoadBalancersOperations` + * 2019-08-01: :class:`NetworkInterfaceLoadBalancersOperations` + * 2019-09-01: :class:`NetworkInterfaceLoadBalancersOperations` + * 2019-11-01: :class:`NetworkInterfaceLoadBalancersOperations` + * 2019-12-01: :class:`NetworkInterfaceLoadBalancersOperations` + * 2020-03-01: :class:`NetworkInterfaceLoadBalancersOperations` + * 2020-04-01: :class:`NetworkInterfaceLoadBalancersOperations` + """ + api_version = self._get_api_version('network_interface_load_balancers') + if api_version == '2017-06-01': + from .v2017_06_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass + elif api_version == '2017-08-01': + from .v2017_08_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass + elif api_version == '2017-09-01': + from .v2017_09_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass + elif api_version == '2017-10-01': + from .v2017_10_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass + elif api_version == '2017-11-01': + from .v2017_11_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass + elif api_version == '2018-01-01': + from .v2018_01_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def network_interface_tap_configurations(self): + """Instance depends on the API version: + + * 2018-08-01: :class:`NetworkInterfaceTapConfigurationsOperations` + * 2018-10-01: :class:`NetworkInterfaceTapConfigurationsOperations` + * 2018-11-01: :class:`NetworkInterfaceTapConfigurationsOperations` + * 2018-12-01: :class:`NetworkInterfaceTapConfigurationsOperations` + * 2019-02-01: :class:`NetworkInterfaceTapConfigurationsOperations` + * 2019-04-01: :class:`NetworkInterfaceTapConfigurationsOperations` + * 2019-06-01: :class:`NetworkInterfaceTapConfigurationsOperations` + * 2019-07-01: :class:`NetworkInterfaceTapConfigurationsOperations` + * 2019-08-01: :class:`NetworkInterfaceTapConfigurationsOperations` + * 2019-09-01: :class:`NetworkInterfaceTapConfigurationsOperations` + * 2019-11-01: :class:`NetworkInterfaceTapConfigurationsOperations` + * 2019-12-01: :class:`NetworkInterfaceTapConfigurationsOperations` + * 2020-03-01: :class:`NetworkInterfaceTapConfigurationsOperations` + * 2020-04-01: :class:`NetworkInterfaceTapConfigurationsOperations` + """ + api_version = self._get_api_version('network_interface_tap_configurations') + if api_version == '2018-08-01': + from .v2018_08_01.operations import NetworkInterfaceTapConfigurationsOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import NetworkInterfaceTapConfigurationsOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import NetworkInterfaceTapConfigurationsOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import NetworkInterfaceTapConfigurationsOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import NetworkInterfaceTapConfigurationsOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import NetworkInterfaceTapConfigurationsOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import NetworkInterfaceTapConfigurationsOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import NetworkInterfaceTapConfigurationsOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import NetworkInterfaceTapConfigurationsOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import NetworkInterfaceTapConfigurationsOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import NetworkInterfaceTapConfigurationsOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import NetworkInterfaceTapConfigurationsOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import NetworkInterfaceTapConfigurationsOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import NetworkInterfaceTapConfigurationsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def network_interfaces(self): + """Instance depends on the API version: + + * 2015-06-15: :class:`NetworkInterfacesOperations` + * 2016-09-01: :class:`NetworkInterfacesOperations` + * 2016-12-01: :class:`NetworkInterfacesOperations` + * 2017-03-01: :class:`NetworkInterfacesOperations` + * 2017-06-01: :class:`NetworkInterfacesOperations` + * 2017-08-01: :class:`NetworkInterfacesOperations` + * 2017-09-01: :class:`NetworkInterfacesOperations` + * 2017-10-01: :class:`NetworkInterfacesOperations` + * 2017-11-01: :class:`NetworkInterfacesOperations` + * 2018-01-01: :class:`NetworkInterfacesOperations` + * 2018-02-01: :class:`NetworkInterfacesOperations` + * 2018-04-01: :class:`NetworkInterfacesOperations` + * 2018-06-01: :class:`NetworkInterfacesOperations` + * 2018-07-01: :class:`NetworkInterfacesOperations` + * 2018-08-01: :class:`NetworkInterfacesOperations` + * 2018-10-01: :class:`NetworkInterfacesOperations` + * 2018-11-01: :class:`NetworkInterfacesOperations` + * 2018-12-01: :class:`NetworkInterfacesOperations` + * 2019-02-01: :class:`NetworkInterfacesOperations` + * 2019-04-01: :class:`NetworkInterfacesOperations` + * 2019-06-01: :class:`NetworkInterfacesOperations` + * 2019-07-01: :class:`NetworkInterfacesOperations` + * 2019-08-01: :class:`NetworkInterfacesOperations` + * 2019-09-01: :class:`NetworkInterfacesOperations` + * 2019-11-01: :class:`NetworkInterfacesOperations` + * 2019-12-01: :class:`NetworkInterfacesOperations` + * 2020-03-01: :class:`NetworkInterfacesOperations` + * 2020-04-01: :class:`NetworkInterfacesOperations` + """ + api_version = self._get_api_version('network_interfaces') + if api_version == '2015-06-15': + from .v2015_06_15.operations import NetworkInterfacesOperations as OperationClass + elif api_version == '2016-09-01': + from .v2016_09_01.operations import NetworkInterfacesOperations as OperationClass + elif api_version == '2016-12-01': + from .v2016_12_01.operations import NetworkInterfacesOperations as OperationClass + elif api_version == '2017-03-01': + from .v2017_03_01.operations import NetworkInterfacesOperations as OperationClass + elif api_version == '2017-06-01': + from .v2017_06_01.operations import NetworkInterfacesOperations as OperationClass + elif api_version == '2017-08-01': + from .v2017_08_01.operations import NetworkInterfacesOperations as OperationClass + elif api_version == '2017-09-01': + from .v2017_09_01.operations import NetworkInterfacesOperations as OperationClass + elif api_version == '2017-10-01': + from .v2017_10_01.operations import NetworkInterfacesOperations as OperationClass + elif api_version == '2017-11-01': + from .v2017_11_01.operations import NetworkInterfacesOperations as OperationClass + elif api_version == '2018-01-01': + from .v2018_01_01.operations import NetworkInterfacesOperations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import NetworkInterfacesOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import NetworkInterfacesOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import NetworkInterfacesOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import NetworkInterfacesOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import NetworkInterfacesOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import NetworkInterfacesOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import NetworkInterfacesOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import NetworkInterfacesOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import NetworkInterfacesOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import NetworkInterfacesOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import NetworkInterfacesOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import NetworkInterfacesOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import NetworkInterfacesOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import NetworkInterfacesOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import NetworkInterfacesOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import NetworkInterfacesOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import NetworkInterfacesOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import NetworkInterfacesOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def network_profiles(self): + """Instance depends on the API version: + + * 2018-08-01: :class:`NetworkProfilesOperations` + * 2018-10-01: :class:`NetworkProfilesOperations` + * 2018-11-01: :class:`NetworkProfilesOperations` + * 2018-12-01: :class:`NetworkProfilesOperations` + * 2019-02-01: :class:`NetworkProfilesOperations` + * 2019-04-01: :class:`NetworkProfilesOperations` + * 2019-06-01: :class:`NetworkProfilesOperations` + * 2019-07-01: :class:`NetworkProfilesOperations` + * 2019-08-01: :class:`NetworkProfilesOperations` + * 2019-09-01: :class:`NetworkProfilesOperations` + * 2019-11-01: :class:`NetworkProfilesOperations` + * 2019-12-01: :class:`NetworkProfilesOperations` + * 2020-03-01: :class:`NetworkProfilesOperations` + * 2020-04-01: :class:`NetworkProfilesOperations` + """ + api_version = self._get_api_version('network_profiles') + if api_version == '2018-08-01': + from .v2018_08_01.operations import NetworkProfilesOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import NetworkProfilesOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import NetworkProfilesOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import NetworkProfilesOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import NetworkProfilesOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import NetworkProfilesOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import NetworkProfilesOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import NetworkProfilesOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import NetworkProfilesOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import NetworkProfilesOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import NetworkProfilesOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import NetworkProfilesOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import NetworkProfilesOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import NetworkProfilesOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def network_security_groups(self): + """Instance depends on the API version: + + * 2015-06-15: :class:`NetworkSecurityGroupsOperations` + * 2016-09-01: :class:`NetworkSecurityGroupsOperations` + * 2016-12-01: :class:`NetworkSecurityGroupsOperations` + * 2017-03-01: :class:`NetworkSecurityGroupsOperations` + * 2017-06-01: :class:`NetworkSecurityGroupsOperations` + * 2017-08-01: :class:`NetworkSecurityGroupsOperations` + * 2017-09-01: :class:`NetworkSecurityGroupsOperations` + * 2017-10-01: :class:`NetworkSecurityGroupsOperations` + * 2017-11-01: :class:`NetworkSecurityGroupsOperations` + * 2018-01-01: :class:`NetworkSecurityGroupsOperations` + * 2018-02-01: :class:`NetworkSecurityGroupsOperations` + * 2018-04-01: :class:`NetworkSecurityGroupsOperations` + * 2018-06-01: :class:`NetworkSecurityGroupsOperations` + * 2018-07-01: :class:`NetworkSecurityGroupsOperations` + * 2018-08-01: :class:`NetworkSecurityGroupsOperations` + * 2018-10-01: :class:`NetworkSecurityGroupsOperations` + * 2018-11-01: :class:`NetworkSecurityGroupsOperations` + * 2018-12-01: :class:`NetworkSecurityGroupsOperations` + * 2019-02-01: :class:`NetworkSecurityGroupsOperations` + * 2019-04-01: :class:`NetworkSecurityGroupsOperations` + * 2019-06-01: :class:`NetworkSecurityGroupsOperations` + * 2019-07-01: :class:`NetworkSecurityGroupsOperations` + * 2019-08-01: :class:`NetworkSecurityGroupsOperations` + * 2019-09-01: :class:`NetworkSecurityGroupsOperations` + * 2019-11-01: :class:`NetworkSecurityGroupsOperations` + * 2019-12-01: :class:`NetworkSecurityGroupsOperations` + * 2020-03-01: :class:`NetworkSecurityGroupsOperations` + * 2020-04-01: :class:`NetworkSecurityGroupsOperations` + """ + api_version = self._get_api_version('network_security_groups') + if api_version == '2015-06-15': + from .v2015_06_15.operations import NetworkSecurityGroupsOperations as OperationClass + elif api_version == '2016-09-01': + from .v2016_09_01.operations import NetworkSecurityGroupsOperations as OperationClass + elif api_version == '2016-12-01': + from .v2016_12_01.operations import NetworkSecurityGroupsOperations as OperationClass + elif api_version == '2017-03-01': + from .v2017_03_01.operations import NetworkSecurityGroupsOperations as OperationClass + elif api_version == '2017-06-01': + from .v2017_06_01.operations import NetworkSecurityGroupsOperations as OperationClass + elif api_version == '2017-08-01': + from .v2017_08_01.operations import NetworkSecurityGroupsOperations as OperationClass + elif api_version == '2017-09-01': + from .v2017_09_01.operations import NetworkSecurityGroupsOperations as OperationClass + elif api_version == '2017-10-01': + from .v2017_10_01.operations import NetworkSecurityGroupsOperations as OperationClass + elif api_version == '2017-11-01': + from .v2017_11_01.operations import NetworkSecurityGroupsOperations as OperationClass + elif api_version == '2018-01-01': + from .v2018_01_01.operations import NetworkSecurityGroupsOperations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import NetworkSecurityGroupsOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import NetworkSecurityGroupsOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import NetworkSecurityGroupsOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import NetworkSecurityGroupsOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import NetworkSecurityGroupsOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import NetworkSecurityGroupsOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import NetworkSecurityGroupsOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import NetworkSecurityGroupsOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import NetworkSecurityGroupsOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import NetworkSecurityGroupsOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import NetworkSecurityGroupsOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import NetworkSecurityGroupsOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import NetworkSecurityGroupsOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import NetworkSecurityGroupsOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import NetworkSecurityGroupsOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import NetworkSecurityGroupsOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import NetworkSecurityGroupsOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import NetworkSecurityGroupsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def network_virtual_appliances(self): + """Instance depends on the API version: + + * 2019-12-01: :class:`NetworkVirtualAppliancesOperations` + * 2020-03-01: :class:`NetworkVirtualAppliancesOperations` + * 2020-04-01: :class:`NetworkVirtualAppliancesOperations` + """ + api_version = self._get_api_version('network_virtual_appliances') + if api_version == '2019-12-01': + from .v2019_12_01.operations import NetworkVirtualAppliancesOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import NetworkVirtualAppliancesOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import NetworkVirtualAppliancesOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def network_watchers(self): + """Instance depends on the API version: + + * 2016-09-01: :class:`NetworkWatchersOperations` + * 2016-12-01: :class:`NetworkWatchersOperations` + * 2017-03-01: :class:`NetworkWatchersOperations` + * 2017-06-01: :class:`NetworkWatchersOperations` + * 2017-08-01: :class:`NetworkWatchersOperations` + * 2017-09-01: :class:`NetworkWatchersOperations` + * 2017-10-01: :class:`NetworkWatchersOperations` + * 2017-11-01: :class:`NetworkWatchersOperations` + * 2018-01-01: :class:`NetworkWatchersOperations` + * 2018-02-01: :class:`NetworkWatchersOperations` + * 2018-04-01: :class:`NetworkWatchersOperations` + * 2018-06-01: :class:`NetworkWatchersOperations` + * 2018-07-01: :class:`NetworkWatchersOperations` + * 2018-08-01: :class:`NetworkWatchersOperations` + * 2018-10-01: :class:`NetworkWatchersOperations` + * 2018-11-01: :class:`NetworkWatchersOperations` + * 2018-12-01: :class:`NetworkWatchersOperations` + * 2019-02-01: :class:`NetworkWatchersOperations` + * 2019-04-01: :class:`NetworkWatchersOperations` + * 2019-06-01: :class:`NetworkWatchersOperations` + * 2019-07-01: :class:`NetworkWatchersOperations` + * 2019-08-01: :class:`NetworkWatchersOperations` + * 2019-09-01: :class:`NetworkWatchersOperations` + * 2019-11-01: :class:`NetworkWatchersOperations` + * 2019-12-01: :class:`NetworkWatchersOperations` + * 2020-03-01: :class:`NetworkWatchersOperations` + * 2020-04-01: :class:`NetworkWatchersOperations` + """ + api_version = self._get_api_version('network_watchers') + if api_version == '2016-09-01': + from .v2016_09_01.operations import NetworkWatchersOperations as OperationClass + elif api_version == '2016-12-01': + from .v2016_12_01.operations import NetworkWatchersOperations as OperationClass + elif api_version == '2017-03-01': + from .v2017_03_01.operations import NetworkWatchersOperations as OperationClass + elif api_version == '2017-06-01': + from .v2017_06_01.operations import NetworkWatchersOperations as OperationClass + elif api_version == '2017-08-01': + from .v2017_08_01.operations import NetworkWatchersOperations as OperationClass + elif api_version == '2017-09-01': + from .v2017_09_01.operations import NetworkWatchersOperations as OperationClass + elif api_version == '2017-10-01': + from .v2017_10_01.operations import NetworkWatchersOperations as OperationClass + elif api_version == '2017-11-01': + from .v2017_11_01.operations import NetworkWatchersOperations as OperationClass + elif api_version == '2018-01-01': + from .v2018_01_01.operations import NetworkWatchersOperations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import NetworkWatchersOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import NetworkWatchersOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import NetworkWatchersOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import NetworkWatchersOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import NetworkWatchersOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import NetworkWatchersOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import NetworkWatchersOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import NetworkWatchersOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import NetworkWatchersOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import NetworkWatchersOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import NetworkWatchersOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import NetworkWatchersOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import NetworkWatchersOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import NetworkWatchersOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import NetworkWatchersOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import NetworkWatchersOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import NetworkWatchersOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import NetworkWatchersOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def operations(self): + """Instance depends on the API version: + + * 2017-09-01: :class:`Operations` + * 2017-10-01: :class:`Operations` + * 2017-11-01: :class:`Operations` + * 2018-01-01: :class:`Operations` + * 2018-02-01: :class:`Operations` + * 2018-04-01: :class:`Operations` + * 2018-06-01: :class:`Operations` + * 2018-07-01: :class:`Operations` + * 2018-08-01: :class:`Operations` + * 2018-10-01: :class:`Operations` + * 2018-11-01: :class:`Operations` + * 2018-12-01: :class:`Operations` + * 2019-02-01: :class:`Operations` + * 2019-04-01: :class:`Operations` + * 2019-06-01: :class:`Operations` + * 2019-07-01: :class:`Operations` + * 2019-08-01: :class:`Operations` + * 2019-09-01: :class:`Operations` + * 2019-11-01: :class:`Operations` + * 2019-12-01: :class:`Operations` + * 2020-03-01: :class:`Operations` + * 2020-04-01: :class:`Operations` + """ + api_version = self._get_api_version('operations') + if api_version == '2017-09-01': + from .v2017_09_01.operations import Operations as OperationClass + elif api_version == '2017-10-01': + from .v2017_10_01.operations import Operations as OperationClass + elif api_version == '2017-11-01': + from .v2017_11_01.operations import Operations as OperationClass + elif api_version == '2018-01-01': + from .v2018_01_01.operations import Operations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import Operations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import Operations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import Operations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import Operations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import Operations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import Operations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import Operations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import Operations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import Operations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import Operations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import Operations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import Operations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import Operations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import Operations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import Operations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import Operations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import Operations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import Operations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def p2s_vpn_gateways(self): + """Instance depends on the API version: + + * 2018-08-01: :class:`P2sVpnGatewaysOperations` + * 2018-10-01: :class:`P2sVpnGatewaysOperations` + * 2018-11-01: :class:`P2sVpnGatewaysOperations` + * 2018-12-01: :class:`P2sVpnGatewaysOperations` + * 2019-02-01: :class:`P2sVpnGatewaysOperations` + * 2019-04-01: :class:`P2sVpnGatewaysOperations` + * 2019-06-01: :class:`P2sVpnGatewaysOperations` + * 2019-07-01: :class:`P2sVpnGatewaysOperations` + * 2019-08-01: :class:`P2sVpnGatewaysOperations` + * 2019-09-01: :class:`P2sVpnGatewaysOperations` + * 2019-11-01: :class:`P2sVpnGatewaysOperations` + * 2019-12-01: :class:`P2sVpnGatewaysOperations` + * 2020-03-01: :class:`P2sVpnGatewaysOperations` + * 2020-04-01: :class:`P2sVpnGatewaysOperations` + """ + api_version = self._get_api_version('p2s_vpn_gateways') + if api_version == '2018-08-01': + from .v2018_08_01.operations import P2sVpnGatewaysOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import P2sVpnGatewaysOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import P2sVpnGatewaysOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import P2sVpnGatewaysOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import P2sVpnGatewaysOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import P2sVpnGatewaysOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import P2sVpnGatewaysOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import P2sVpnGatewaysOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import P2sVpnGatewaysOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import P2sVpnGatewaysOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import P2sVpnGatewaysOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import P2sVpnGatewaysOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import P2sVpnGatewaysOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import P2sVpnGatewaysOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def p2s_vpn_server_configurations(self): + """Instance depends on the API version: + + * 2018-08-01: :class:`P2sVpnServerConfigurationsOperations` + * 2018-10-01: :class:`P2sVpnServerConfigurationsOperations` + * 2018-11-01: :class:`P2sVpnServerConfigurationsOperations` + * 2018-12-01: :class:`P2sVpnServerConfigurationsOperations` + * 2019-02-01: :class:`P2sVpnServerConfigurationsOperations` + * 2019-04-01: :class:`P2sVpnServerConfigurationsOperations` + * 2019-06-01: :class:`P2sVpnServerConfigurationsOperations` + * 2019-07-01: :class:`P2sVpnServerConfigurationsOperations` + """ + api_version = self._get_api_version('p2s_vpn_server_configurations') + if api_version == '2018-08-01': + from .v2018_08_01.operations import P2sVpnServerConfigurationsOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import P2sVpnServerConfigurationsOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import P2sVpnServerConfigurationsOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import P2sVpnServerConfigurationsOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import P2sVpnServerConfigurationsOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import P2sVpnServerConfigurationsOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import P2sVpnServerConfigurationsOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import P2sVpnServerConfigurationsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def packet_captures(self): + """Instance depends on the API version: + + * 2016-09-01: :class:`PacketCapturesOperations` + * 2016-12-01: :class:`PacketCapturesOperations` + * 2017-03-01: :class:`PacketCapturesOperations` + * 2017-06-01: :class:`PacketCapturesOperations` + * 2017-08-01: :class:`PacketCapturesOperations` + * 2017-09-01: :class:`PacketCapturesOperations` + * 2017-10-01: :class:`PacketCapturesOperations` + * 2017-11-01: :class:`PacketCapturesOperations` + * 2018-01-01: :class:`PacketCapturesOperations` + * 2018-02-01: :class:`PacketCapturesOperations` + * 2018-04-01: :class:`PacketCapturesOperations` + * 2018-06-01: :class:`PacketCapturesOperations` + * 2018-07-01: :class:`PacketCapturesOperations` + * 2018-08-01: :class:`PacketCapturesOperations` + * 2018-10-01: :class:`PacketCapturesOperations` + * 2018-11-01: :class:`PacketCapturesOperations` + * 2018-12-01: :class:`PacketCapturesOperations` + * 2019-02-01: :class:`PacketCapturesOperations` + * 2019-04-01: :class:`PacketCapturesOperations` + * 2019-06-01: :class:`PacketCapturesOperations` + * 2019-07-01: :class:`PacketCapturesOperations` + * 2019-08-01: :class:`PacketCapturesOperations` + * 2019-09-01: :class:`PacketCapturesOperations` + * 2019-11-01: :class:`PacketCapturesOperations` + * 2019-12-01: :class:`PacketCapturesOperations` + * 2020-03-01: :class:`PacketCapturesOperations` + * 2020-04-01: :class:`PacketCapturesOperations` + """ + api_version = self._get_api_version('packet_captures') + if api_version == '2016-09-01': + from .v2016_09_01.operations import PacketCapturesOperations as OperationClass + elif api_version == '2016-12-01': + from .v2016_12_01.operations import PacketCapturesOperations as OperationClass + elif api_version == '2017-03-01': + from .v2017_03_01.operations import PacketCapturesOperations as OperationClass + elif api_version == '2017-06-01': + from .v2017_06_01.operations import PacketCapturesOperations as OperationClass + elif api_version == '2017-08-01': + from .v2017_08_01.operations import PacketCapturesOperations as OperationClass + elif api_version == '2017-09-01': + from .v2017_09_01.operations import PacketCapturesOperations as OperationClass + elif api_version == '2017-10-01': + from .v2017_10_01.operations import PacketCapturesOperations as OperationClass + elif api_version == '2017-11-01': + from .v2017_11_01.operations import PacketCapturesOperations as OperationClass + elif api_version == '2018-01-01': + from .v2018_01_01.operations import PacketCapturesOperations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import PacketCapturesOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import PacketCapturesOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import PacketCapturesOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import PacketCapturesOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import PacketCapturesOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import PacketCapturesOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import PacketCapturesOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import PacketCapturesOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import PacketCapturesOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import PacketCapturesOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import PacketCapturesOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import PacketCapturesOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import PacketCapturesOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import PacketCapturesOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import PacketCapturesOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import PacketCapturesOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import PacketCapturesOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import PacketCapturesOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def peer_express_route_circuit_connections(self): + """Instance depends on the API version: + + * 2018-12-01: :class:`PeerExpressRouteCircuitConnectionsOperations` + * 2019-02-01: :class:`PeerExpressRouteCircuitConnectionsOperations` + * 2019-04-01: :class:`PeerExpressRouteCircuitConnectionsOperations` + * 2019-06-01: :class:`PeerExpressRouteCircuitConnectionsOperations` + * 2019-07-01: :class:`PeerExpressRouteCircuitConnectionsOperations` + * 2019-08-01: :class:`PeerExpressRouteCircuitConnectionsOperations` + * 2019-09-01: :class:`PeerExpressRouteCircuitConnectionsOperations` + * 2019-11-01: :class:`PeerExpressRouteCircuitConnectionsOperations` + * 2019-12-01: :class:`PeerExpressRouteCircuitConnectionsOperations` + * 2020-03-01: :class:`PeerExpressRouteCircuitConnectionsOperations` + * 2020-04-01: :class:`PeerExpressRouteCircuitConnectionsOperations` + """ + api_version = self._get_api_version('peer_express_route_circuit_connections') + if api_version == '2018-12-01': + from .v2018_12_01.operations import PeerExpressRouteCircuitConnectionsOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import PeerExpressRouteCircuitConnectionsOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import PeerExpressRouteCircuitConnectionsOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import PeerExpressRouteCircuitConnectionsOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import PeerExpressRouteCircuitConnectionsOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import PeerExpressRouteCircuitConnectionsOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import PeerExpressRouteCircuitConnectionsOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import PeerExpressRouteCircuitConnectionsOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import PeerExpressRouteCircuitConnectionsOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import PeerExpressRouteCircuitConnectionsOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import PeerExpressRouteCircuitConnectionsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def private_dns_zone_groups(self): + """Instance depends on the API version: + + * 2020-03-01: :class:`PrivateDnsZoneGroupsOperations` + * 2020-04-01: :class:`PrivateDnsZoneGroupsOperations` + """ + api_version = self._get_api_version('private_dns_zone_groups') + if api_version == '2020-03-01': + from .v2020_03_01.operations import PrivateDnsZoneGroupsOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import PrivateDnsZoneGroupsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def private_endpoints(self): + """Instance depends on the API version: + + * 2019-04-01: :class:`PrivateEndpointsOperations` + * 2019-06-01: :class:`PrivateEndpointsOperations` + * 2019-07-01: :class:`PrivateEndpointsOperations` + * 2019-08-01: :class:`PrivateEndpointsOperations` + * 2019-09-01: :class:`PrivateEndpointsOperations` + * 2019-11-01: :class:`PrivateEndpointsOperations` + * 2019-12-01: :class:`PrivateEndpointsOperations` + * 2020-03-01: :class:`PrivateEndpointsOperations` + * 2020-04-01: :class:`PrivateEndpointsOperations` + """ + api_version = self._get_api_version('private_endpoints') + if api_version == '2019-04-01': + from .v2019_04_01.operations import PrivateEndpointsOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import PrivateEndpointsOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import PrivateEndpointsOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import PrivateEndpointsOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import PrivateEndpointsOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import PrivateEndpointsOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import PrivateEndpointsOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import PrivateEndpointsOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import PrivateEndpointsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def private_link_services(self): + """Instance depends on the API version: + + * 2019-04-01: :class:`PrivateLinkServicesOperations` + * 2019-06-01: :class:`PrivateLinkServicesOperations` + * 2019-07-01: :class:`PrivateLinkServicesOperations` + * 2019-08-01: :class:`PrivateLinkServicesOperations` + * 2019-09-01: :class:`PrivateLinkServicesOperations` + * 2019-11-01: :class:`PrivateLinkServicesOperations` + * 2019-12-01: :class:`PrivateLinkServicesOperations` + * 2020-03-01: :class:`PrivateLinkServicesOperations` + * 2020-04-01: :class:`PrivateLinkServicesOperations` + """ + api_version = self._get_api_version('private_link_services') + if api_version == '2019-04-01': + from .v2019_04_01.operations import PrivateLinkServicesOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import PrivateLinkServicesOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import PrivateLinkServicesOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import PrivateLinkServicesOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import PrivateLinkServicesOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import PrivateLinkServicesOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import PrivateLinkServicesOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import PrivateLinkServicesOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import PrivateLinkServicesOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def public_ip_addresses(self): + """Instance depends on the API version: + + * 2015-06-15: :class:`PublicIPAddressesOperations` + * 2016-09-01: :class:`PublicIPAddressesOperations` + * 2016-12-01: :class:`PublicIPAddressesOperations` + * 2017-03-01: :class:`PublicIPAddressesOperations` + * 2017-06-01: :class:`PublicIPAddressesOperations` + * 2017-08-01: :class:`PublicIPAddressesOperations` + * 2017-09-01: :class:`PublicIPAddressesOperations` + * 2017-10-01: :class:`PublicIPAddressesOperations` + * 2017-11-01: :class:`PublicIPAddressesOperations` + * 2018-01-01: :class:`PublicIPAddressesOperations` + * 2018-02-01: :class:`PublicIPAddressesOperations` + * 2018-04-01: :class:`PublicIPAddressesOperations` + * 2018-06-01: :class:`PublicIPAddressesOperations` + * 2018-07-01: :class:`PublicIPAddressesOperations` + * 2018-08-01: :class:`PublicIPAddressesOperations` + * 2018-10-01: :class:`PublicIPAddressesOperations` + * 2018-11-01: :class:`PublicIPAddressesOperations` + * 2018-12-01: :class:`PublicIPAddressesOperations` + * 2019-02-01: :class:`PublicIPAddressesOperations` + * 2019-04-01: :class:`PublicIPAddressesOperations` + * 2019-06-01: :class:`PublicIPAddressesOperations` + * 2019-07-01: :class:`PublicIPAddressesOperations` + * 2019-08-01: :class:`PublicIPAddressesOperations` + * 2019-09-01: :class:`PublicIPAddressesOperations` + * 2019-11-01: :class:`PublicIPAddressesOperations` + * 2019-12-01: :class:`PublicIPAddressesOperations` + * 2020-03-01: :class:`PublicIPAddressesOperations` + * 2020-04-01: :class:`PublicIPAddressesOperations` + """ + api_version = self._get_api_version('public_ip_addresses') + if api_version == '2015-06-15': + from .v2015_06_15.operations import PublicIPAddressesOperations as OperationClass + elif api_version == '2016-09-01': + from .v2016_09_01.operations import PublicIPAddressesOperations as OperationClass + elif api_version == '2016-12-01': + from .v2016_12_01.operations import PublicIPAddressesOperations as OperationClass + elif api_version == '2017-03-01': + from .v2017_03_01.operations import PublicIPAddressesOperations as OperationClass + elif api_version == '2017-06-01': + from .v2017_06_01.operations import PublicIPAddressesOperations as OperationClass + elif api_version == '2017-08-01': + from .v2017_08_01.operations import PublicIPAddressesOperations as OperationClass + elif api_version == '2017-09-01': + from .v2017_09_01.operations import PublicIPAddressesOperations as OperationClass + elif api_version == '2017-10-01': + from .v2017_10_01.operations import PublicIPAddressesOperations as OperationClass + elif api_version == '2017-11-01': + from .v2017_11_01.operations import PublicIPAddressesOperations as OperationClass + elif api_version == '2018-01-01': + from .v2018_01_01.operations import PublicIPAddressesOperations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import PublicIPAddressesOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import PublicIPAddressesOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import PublicIPAddressesOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import PublicIPAddressesOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import PublicIPAddressesOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import PublicIPAddressesOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import PublicIPAddressesOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import PublicIPAddressesOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import PublicIPAddressesOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import PublicIPAddressesOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import PublicIPAddressesOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import PublicIPAddressesOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import PublicIPAddressesOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import PublicIPAddressesOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import PublicIPAddressesOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import PublicIPAddressesOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import PublicIPAddressesOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import PublicIPAddressesOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def public_ip_prefixes(self): + """Instance depends on the API version: + + * 2018-07-01: :class:`PublicIPPrefixesOperations` + * 2018-08-01: :class:`PublicIPPrefixesOperations` + * 2018-10-01: :class:`PublicIPPrefixesOperations` + * 2018-11-01: :class:`PublicIPPrefixesOperations` + * 2018-12-01: :class:`PublicIPPrefixesOperations` + * 2019-02-01: :class:`PublicIPPrefixesOperations` + * 2019-04-01: :class:`PublicIPPrefixesOperations` + * 2019-06-01: :class:`PublicIPPrefixesOperations` + * 2019-07-01: :class:`PublicIPPrefixesOperations` + * 2019-08-01: :class:`PublicIPPrefixesOperations` + * 2019-09-01: :class:`PublicIPPrefixesOperations` + * 2019-11-01: :class:`PublicIPPrefixesOperations` + * 2019-12-01: :class:`PublicIPPrefixesOperations` + * 2020-03-01: :class:`PublicIPPrefixesOperations` + * 2020-04-01: :class:`PublicIPPrefixesOperations` + """ + api_version = self._get_api_version('public_ip_prefixes') + if api_version == '2018-07-01': + from .v2018_07_01.operations import PublicIPPrefixesOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import PublicIPPrefixesOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import PublicIPPrefixesOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import PublicIPPrefixesOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import PublicIPPrefixesOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import PublicIPPrefixesOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import PublicIPPrefixesOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import PublicIPPrefixesOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import PublicIPPrefixesOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import PublicIPPrefixesOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import PublicIPPrefixesOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import PublicIPPrefixesOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import PublicIPPrefixesOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import PublicIPPrefixesOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import PublicIPPrefixesOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def resource_navigation_links(self): + """Instance depends on the API version: + + * 2019-02-01: :class:`ResourceNavigationLinksOperations` + * 2019-04-01: :class:`ResourceNavigationLinksOperations` + * 2019-06-01: :class:`ResourceNavigationLinksOperations` + * 2019-07-01: :class:`ResourceNavigationLinksOperations` + * 2019-08-01: :class:`ResourceNavigationLinksOperations` + * 2019-09-01: :class:`ResourceNavigationLinksOperations` + * 2019-11-01: :class:`ResourceNavigationLinksOperations` + * 2019-12-01: :class:`ResourceNavigationLinksOperations` + * 2020-03-01: :class:`ResourceNavigationLinksOperations` + * 2020-04-01: :class:`ResourceNavigationLinksOperations` + """ + api_version = self._get_api_version('resource_navigation_links') + if api_version == '2019-02-01': + from .v2019_02_01.operations import ResourceNavigationLinksOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import ResourceNavigationLinksOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import ResourceNavigationLinksOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import ResourceNavigationLinksOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import ResourceNavigationLinksOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import ResourceNavigationLinksOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import ResourceNavigationLinksOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import ResourceNavigationLinksOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import ResourceNavigationLinksOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import ResourceNavigationLinksOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def route_filter_rules(self): + """Instance depends on the API version: + + * 2016-12-01: :class:`RouteFilterRulesOperations` + * 2017-03-01: :class:`RouteFilterRulesOperations` + * 2017-06-01: :class:`RouteFilterRulesOperations` + * 2017-08-01: :class:`RouteFilterRulesOperations` + * 2017-09-01: :class:`RouteFilterRulesOperations` + * 2017-10-01: :class:`RouteFilterRulesOperations` + * 2017-11-01: :class:`RouteFilterRulesOperations` + * 2018-01-01: :class:`RouteFilterRulesOperations` + * 2018-02-01: :class:`RouteFilterRulesOperations` + * 2018-04-01: :class:`RouteFilterRulesOperations` + * 2018-06-01: :class:`RouteFilterRulesOperations` + * 2018-07-01: :class:`RouteFilterRulesOperations` + * 2018-08-01: :class:`RouteFilterRulesOperations` + * 2018-10-01: :class:`RouteFilterRulesOperations` + * 2018-11-01: :class:`RouteFilterRulesOperations` + * 2018-12-01: :class:`RouteFilterRulesOperations` + * 2019-02-01: :class:`RouteFilterRulesOperations` + * 2019-04-01: :class:`RouteFilterRulesOperations` + * 2019-06-01: :class:`RouteFilterRulesOperations` + * 2019-07-01: :class:`RouteFilterRulesOperations` + * 2019-08-01: :class:`RouteFilterRulesOperations` + * 2019-09-01: :class:`RouteFilterRulesOperations` + * 2019-11-01: :class:`RouteFilterRulesOperations` + * 2019-12-01: :class:`RouteFilterRulesOperations` + * 2020-03-01: :class:`RouteFilterRulesOperations` + * 2020-04-01: :class:`RouteFilterRulesOperations` + """ + api_version = self._get_api_version('route_filter_rules') + if api_version == '2016-12-01': + from .v2016_12_01.operations import RouteFilterRulesOperations as OperationClass + elif api_version == '2017-03-01': + from .v2017_03_01.operations import RouteFilterRulesOperations as OperationClass + elif api_version == '2017-06-01': + from .v2017_06_01.operations import RouteFilterRulesOperations as OperationClass + elif api_version == '2017-08-01': + from .v2017_08_01.operations import RouteFilterRulesOperations as OperationClass + elif api_version == '2017-09-01': + from .v2017_09_01.operations import RouteFilterRulesOperations as OperationClass + elif api_version == '2017-10-01': + from .v2017_10_01.operations import RouteFilterRulesOperations as OperationClass + elif api_version == '2017-11-01': + from .v2017_11_01.operations import RouteFilterRulesOperations as OperationClass + elif api_version == '2018-01-01': + from .v2018_01_01.operations import RouteFilterRulesOperations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import RouteFilterRulesOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import RouteFilterRulesOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import RouteFilterRulesOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import RouteFilterRulesOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import RouteFilterRulesOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import RouteFilterRulesOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import RouteFilterRulesOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import RouteFilterRulesOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import RouteFilterRulesOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import RouteFilterRulesOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import RouteFilterRulesOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import RouteFilterRulesOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import RouteFilterRulesOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import RouteFilterRulesOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import RouteFilterRulesOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import RouteFilterRulesOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import RouteFilterRulesOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import RouteFilterRulesOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def route_filters(self): + """Instance depends on the API version: + + * 2016-12-01: :class:`RouteFiltersOperations` + * 2017-03-01: :class:`RouteFiltersOperations` + * 2017-06-01: :class:`RouteFiltersOperations` + * 2017-08-01: :class:`RouteFiltersOperations` + * 2017-09-01: :class:`RouteFiltersOperations` + * 2017-10-01: :class:`RouteFiltersOperations` + * 2017-11-01: :class:`RouteFiltersOperations` + * 2018-01-01: :class:`RouteFiltersOperations` + * 2018-02-01: :class:`RouteFiltersOperations` + * 2018-04-01: :class:`RouteFiltersOperations` + * 2018-06-01: :class:`RouteFiltersOperations` + * 2018-07-01: :class:`RouteFiltersOperations` + * 2018-08-01: :class:`RouteFiltersOperations` + * 2018-10-01: :class:`RouteFiltersOperations` + * 2018-11-01: :class:`RouteFiltersOperations` + * 2018-12-01: :class:`RouteFiltersOperations` + * 2019-02-01: :class:`RouteFiltersOperations` + * 2019-04-01: :class:`RouteFiltersOperations` + * 2019-06-01: :class:`RouteFiltersOperations` + * 2019-07-01: :class:`RouteFiltersOperations` + * 2019-08-01: :class:`RouteFiltersOperations` + * 2019-09-01: :class:`RouteFiltersOperations` + * 2019-11-01: :class:`RouteFiltersOperations` + * 2019-12-01: :class:`RouteFiltersOperations` + * 2020-03-01: :class:`RouteFiltersOperations` + * 2020-04-01: :class:`RouteFiltersOperations` + """ + api_version = self._get_api_version('route_filters') + if api_version == '2016-12-01': + from .v2016_12_01.operations import RouteFiltersOperations as OperationClass + elif api_version == '2017-03-01': + from .v2017_03_01.operations import RouteFiltersOperations as OperationClass + elif api_version == '2017-06-01': + from .v2017_06_01.operations import RouteFiltersOperations as OperationClass + elif api_version == '2017-08-01': + from .v2017_08_01.operations import RouteFiltersOperations as OperationClass + elif api_version == '2017-09-01': + from .v2017_09_01.operations import RouteFiltersOperations as OperationClass + elif api_version == '2017-10-01': + from .v2017_10_01.operations import RouteFiltersOperations as OperationClass + elif api_version == '2017-11-01': + from .v2017_11_01.operations import RouteFiltersOperations as OperationClass + elif api_version == '2018-01-01': + from .v2018_01_01.operations import RouteFiltersOperations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import RouteFiltersOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import RouteFiltersOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import RouteFiltersOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import RouteFiltersOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import RouteFiltersOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import RouteFiltersOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import RouteFiltersOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import RouteFiltersOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import RouteFiltersOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import RouteFiltersOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import RouteFiltersOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import RouteFiltersOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import RouteFiltersOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import RouteFiltersOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import RouteFiltersOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import RouteFiltersOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import RouteFiltersOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import RouteFiltersOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def route_tables(self): + """Instance depends on the API version: + + * 2015-06-15: :class:`RouteTablesOperations` + * 2016-09-01: :class:`RouteTablesOperations` + * 2016-12-01: :class:`RouteTablesOperations` + * 2017-03-01: :class:`RouteTablesOperations` + * 2017-06-01: :class:`RouteTablesOperations` + * 2017-08-01: :class:`RouteTablesOperations` + * 2017-09-01: :class:`RouteTablesOperations` + * 2017-10-01: :class:`RouteTablesOperations` + * 2017-11-01: :class:`RouteTablesOperations` + * 2018-01-01: :class:`RouteTablesOperations` + * 2018-02-01: :class:`RouteTablesOperations` + * 2018-04-01: :class:`RouteTablesOperations` + * 2018-06-01: :class:`RouteTablesOperations` + * 2018-07-01: :class:`RouteTablesOperations` + * 2018-08-01: :class:`RouteTablesOperations` + * 2018-10-01: :class:`RouteTablesOperations` + * 2018-11-01: :class:`RouteTablesOperations` + * 2018-12-01: :class:`RouteTablesOperations` + * 2019-02-01: :class:`RouteTablesOperations` + * 2019-04-01: :class:`RouteTablesOperations` + * 2019-06-01: :class:`RouteTablesOperations` + * 2019-07-01: :class:`RouteTablesOperations` + * 2019-08-01: :class:`RouteTablesOperations` + * 2019-09-01: :class:`RouteTablesOperations` + * 2019-11-01: :class:`RouteTablesOperations` + * 2019-12-01: :class:`RouteTablesOperations` + * 2020-03-01: :class:`RouteTablesOperations` + * 2020-04-01: :class:`RouteTablesOperations` + """ + api_version = self._get_api_version('route_tables') + if api_version == '2015-06-15': + from .v2015_06_15.operations import RouteTablesOperations as OperationClass + elif api_version == '2016-09-01': + from .v2016_09_01.operations import RouteTablesOperations as OperationClass + elif api_version == '2016-12-01': + from .v2016_12_01.operations import RouteTablesOperations as OperationClass + elif api_version == '2017-03-01': + from .v2017_03_01.operations import RouteTablesOperations as OperationClass + elif api_version == '2017-06-01': + from .v2017_06_01.operations import RouteTablesOperations as OperationClass + elif api_version == '2017-08-01': + from .v2017_08_01.operations import RouteTablesOperations as OperationClass + elif api_version == '2017-09-01': + from .v2017_09_01.operations import RouteTablesOperations as OperationClass + elif api_version == '2017-10-01': + from .v2017_10_01.operations import RouteTablesOperations as OperationClass + elif api_version == '2017-11-01': + from .v2017_11_01.operations import RouteTablesOperations as OperationClass + elif api_version == '2018-01-01': + from .v2018_01_01.operations import RouteTablesOperations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import RouteTablesOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import RouteTablesOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import RouteTablesOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import RouteTablesOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import RouteTablesOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import RouteTablesOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import RouteTablesOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import RouteTablesOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import RouteTablesOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import RouteTablesOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import RouteTablesOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import RouteTablesOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import RouteTablesOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import RouteTablesOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import RouteTablesOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import RouteTablesOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import RouteTablesOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import RouteTablesOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def routes(self): + """Instance depends on the API version: + + * 2015-06-15: :class:`RoutesOperations` + * 2016-09-01: :class:`RoutesOperations` + * 2016-12-01: :class:`RoutesOperations` + * 2017-03-01: :class:`RoutesOperations` + * 2017-06-01: :class:`RoutesOperations` + * 2017-08-01: :class:`RoutesOperations` + * 2017-09-01: :class:`RoutesOperations` + * 2017-10-01: :class:`RoutesOperations` + * 2017-11-01: :class:`RoutesOperations` + * 2018-01-01: :class:`RoutesOperations` + * 2018-02-01: :class:`RoutesOperations` + * 2018-04-01: :class:`RoutesOperations` + * 2018-06-01: :class:`RoutesOperations` + * 2018-07-01: :class:`RoutesOperations` + * 2018-08-01: :class:`RoutesOperations` + * 2018-10-01: :class:`RoutesOperations` + * 2018-11-01: :class:`RoutesOperations` + * 2018-12-01: :class:`RoutesOperations` + * 2019-02-01: :class:`RoutesOperations` + * 2019-04-01: :class:`RoutesOperations` + * 2019-06-01: :class:`RoutesOperations` + * 2019-07-01: :class:`RoutesOperations` + * 2019-08-01: :class:`RoutesOperations` + * 2019-09-01: :class:`RoutesOperations` + * 2019-11-01: :class:`RoutesOperations` + * 2019-12-01: :class:`RoutesOperations` + * 2020-03-01: :class:`RoutesOperations` + * 2020-04-01: :class:`RoutesOperations` + """ + api_version = self._get_api_version('routes') + if api_version == '2015-06-15': + from .v2015_06_15.operations import RoutesOperations as OperationClass + elif api_version == '2016-09-01': + from .v2016_09_01.operations import RoutesOperations as OperationClass + elif api_version == '2016-12-01': + from .v2016_12_01.operations import RoutesOperations as OperationClass + elif api_version == '2017-03-01': + from .v2017_03_01.operations import RoutesOperations as OperationClass + elif api_version == '2017-06-01': + from .v2017_06_01.operations import RoutesOperations as OperationClass + elif api_version == '2017-08-01': + from .v2017_08_01.operations import RoutesOperations as OperationClass + elif api_version == '2017-09-01': + from .v2017_09_01.operations import RoutesOperations as OperationClass + elif api_version == '2017-10-01': + from .v2017_10_01.operations import RoutesOperations as OperationClass + elif api_version == '2017-11-01': + from .v2017_11_01.operations import RoutesOperations as OperationClass + elif api_version == '2018-01-01': + from .v2018_01_01.operations import RoutesOperations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import RoutesOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import RoutesOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import RoutesOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import RoutesOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import RoutesOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import RoutesOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import RoutesOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import RoutesOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import RoutesOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import RoutesOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import RoutesOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import RoutesOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import RoutesOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import RoutesOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import RoutesOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import RoutesOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import RoutesOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import RoutesOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def security_partner_providers(self): + """Instance depends on the API version: + + * 2020-03-01: :class:`SecurityPartnerProvidersOperations` + * 2020-04-01: :class:`SecurityPartnerProvidersOperations` + """ + api_version = self._get_api_version('security_partner_providers') + if api_version == '2020-03-01': + from .v2020_03_01.operations import SecurityPartnerProvidersOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import SecurityPartnerProvidersOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def security_rules(self): + """Instance depends on the API version: + + * 2015-06-15: :class:`SecurityRulesOperations` + * 2016-09-01: :class:`SecurityRulesOperations` + * 2016-12-01: :class:`SecurityRulesOperations` + * 2017-03-01: :class:`SecurityRulesOperations` + * 2017-06-01: :class:`SecurityRulesOperations` + * 2017-08-01: :class:`SecurityRulesOperations` + * 2017-09-01: :class:`SecurityRulesOperations` + * 2017-10-01: :class:`SecurityRulesOperations` + * 2017-11-01: :class:`SecurityRulesOperations` + * 2018-01-01: :class:`SecurityRulesOperations` + * 2018-02-01: :class:`SecurityRulesOperations` + * 2018-04-01: :class:`SecurityRulesOperations` + * 2018-06-01: :class:`SecurityRulesOperations` + * 2018-07-01: :class:`SecurityRulesOperations` + * 2018-08-01: :class:`SecurityRulesOperations` + * 2018-10-01: :class:`SecurityRulesOperations` + * 2018-11-01: :class:`SecurityRulesOperations` + * 2018-12-01: :class:`SecurityRulesOperations` + * 2019-02-01: :class:`SecurityRulesOperations` + * 2019-04-01: :class:`SecurityRulesOperations` + * 2019-06-01: :class:`SecurityRulesOperations` + * 2019-07-01: :class:`SecurityRulesOperations` + * 2019-08-01: :class:`SecurityRulesOperations` + * 2019-09-01: :class:`SecurityRulesOperations` + * 2019-11-01: :class:`SecurityRulesOperations` + * 2019-12-01: :class:`SecurityRulesOperations` + * 2020-03-01: :class:`SecurityRulesOperations` + * 2020-04-01: :class:`SecurityRulesOperations` + """ + api_version = self._get_api_version('security_rules') + if api_version == '2015-06-15': + from .v2015_06_15.operations import SecurityRulesOperations as OperationClass + elif api_version == '2016-09-01': + from .v2016_09_01.operations import SecurityRulesOperations as OperationClass + elif api_version == '2016-12-01': + from .v2016_12_01.operations import SecurityRulesOperations as OperationClass + elif api_version == '2017-03-01': + from .v2017_03_01.operations import SecurityRulesOperations as OperationClass + elif api_version == '2017-06-01': + from .v2017_06_01.operations import SecurityRulesOperations as OperationClass + elif api_version == '2017-08-01': + from .v2017_08_01.operations import SecurityRulesOperations as OperationClass + elif api_version == '2017-09-01': + from .v2017_09_01.operations import SecurityRulesOperations as OperationClass + elif api_version == '2017-10-01': + from .v2017_10_01.operations import SecurityRulesOperations as OperationClass + elif api_version == '2017-11-01': + from .v2017_11_01.operations import SecurityRulesOperations as OperationClass + elif api_version == '2018-01-01': + from .v2018_01_01.operations import SecurityRulesOperations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import SecurityRulesOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import SecurityRulesOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import SecurityRulesOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import SecurityRulesOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import SecurityRulesOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import SecurityRulesOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import SecurityRulesOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import SecurityRulesOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import SecurityRulesOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import SecurityRulesOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import SecurityRulesOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import SecurityRulesOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import SecurityRulesOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import SecurityRulesOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import SecurityRulesOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import SecurityRulesOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import SecurityRulesOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import SecurityRulesOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def service_association_links(self): + """Instance depends on the API version: + + * 2019-02-01: :class:`ServiceAssociationLinksOperations` + * 2019-04-01: :class:`ServiceAssociationLinksOperations` + * 2019-06-01: :class:`ServiceAssociationLinksOperations` + * 2019-07-01: :class:`ServiceAssociationLinksOperations` + * 2019-08-01: :class:`ServiceAssociationLinksOperations` + * 2019-09-01: :class:`ServiceAssociationLinksOperations` + * 2019-11-01: :class:`ServiceAssociationLinksOperations` + * 2019-12-01: :class:`ServiceAssociationLinksOperations` + * 2020-03-01: :class:`ServiceAssociationLinksOperations` + * 2020-04-01: :class:`ServiceAssociationLinksOperations` + """ + api_version = self._get_api_version('service_association_links') + if api_version == '2019-02-01': + from .v2019_02_01.operations import ServiceAssociationLinksOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import ServiceAssociationLinksOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import ServiceAssociationLinksOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import ServiceAssociationLinksOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import ServiceAssociationLinksOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import ServiceAssociationLinksOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import ServiceAssociationLinksOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import ServiceAssociationLinksOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import ServiceAssociationLinksOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import ServiceAssociationLinksOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def service_endpoint_policies(self): + """Instance depends on the API version: + + * 2018-07-01: :class:`ServiceEndpointPoliciesOperations` + * 2018-08-01: :class:`ServiceEndpointPoliciesOperations` + * 2018-10-01: :class:`ServiceEndpointPoliciesOperations` + * 2018-11-01: :class:`ServiceEndpointPoliciesOperations` + * 2018-12-01: :class:`ServiceEndpointPoliciesOperations` + * 2019-02-01: :class:`ServiceEndpointPoliciesOperations` + * 2019-04-01: :class:`ServiceEndpointPoliciesOperations` + * 2019-06-01: :class:`ServiceEndpointPoliciesOperations` + * 2019-07-01: :class:`ServiceEndpointPoliciesOperations` + * 2019-08-01: :class:`ServiceEndpointPoliciesOperations` + * 2019-09-01: :class:`ServiceEndpointPoliciesOperations` + * 2019-11-01: :class:`ServiceEndpointPoliciesOperations` + * 2019-12-01: :class:`ServiceEndpointPoliciesOperations` + * 2020-03-01: :class:`ServiceEndpointPoliciesOperations` + * 2020-04-01: :class:`ServiceEndpointPoliciesOperations` + """ + api_version = self._get_api_version('service_endpoint_policies') + if api_version == '2018-07-01': + from .v2018_07_01.operations import ServiceEndpointPoliciesOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import ServiceEndpointPoliciesOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import ServiceEndpointPoliciesOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import ServiceEndpointPoliciesOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import ServiceEndpointPoliciesOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import ServiceEndpointPoliciesOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import ServiceEndpointPoliciesOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import ServiceEndpointPoliciesOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import ServiceEndpointPoliciesOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import ServiceEndpointPoliciesOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import ServiceEndpointPoliciesOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import ServiceEndpointPoliciesOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import ServiceEndpointPoliciesOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import ServiceEndpointPoliciesOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import ServiceEndpointPoliciesOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def service_endpoint_policy_definitions(self): + """Instance depends on the API version: + + * 2018-07-01: :class:`ServiceEndpointPolicyDefinitionsOperations` + * 2018-08-01: :class:`ServiceEndpointPolicyDefinitionsOperations` + * 2018-10-01: :class:`ServiceEndpointPolicyDefinitionsOperations` + * 2018-11-01: :class:`ServiceEndpointPolicyDefinitionsOperations` + * 2018-12-01: :class:`ServiceEndpointPolicyDefinitionsOperations` + * 2019-02-01: :class:`ServiceEndpointPolicyDefinitionsOperations` + * 2019-04-01: :class:`ServiceEndpointPolicyDefinitionsOperations` + * 2019-06-01: :class:`ServiceEndpointPolicyDefinitionsOperations` + * 2019-07-01: :class:`ServiceEndpointPolicyDefinitionsOperations` + * 2019-08-01: :class:`ServiceEndpointPolicyDefinitionsOperations` + * 2019-09-01: :class:`ServiceEndpointPolicyDefinitionsOperations` + * 2019-11-01: :class:`ServiceEndpointPolicyDefinitionsOperations` + * 2019-12-01: :class:`ServiceEndpointPolicyDefinitionsOperations` + * 2020-03-01: :class:`ServiceEndpointPolicyDefinitionsOperations` + * 2020-04-01: :class:`ServiceEndpointPolicyDefinitionsOperations` + """ + api_version = self._get_api_version('service_endpoint_policy_definitions') + if api_version == '2018-07-01': + from .v2018_07_01.operations import ServiceEndpointPolicyDefinitionsOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import ServiceEndpointPolicyDefinitionsOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import ServiceEndpointPolicyDefinitionsOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import ServiceEndpointPolicyDefinitionsOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import ServiceEndpointPolicyDefinitionsOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import ServiceEndpointPolicyDefinitionsOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import ServiceEndpointPolicyDefinitionsOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import ServiceEndpointPolicyDefinitionsOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import ServiceEndpointPolicyDefinitionsOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import ServiceEndpointPolicyDefinitionsOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import ServiceEndpointPolicyDefinitionsOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import ServiceEndpointPolicyDefinitionsOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import ServiceEndpointPolicyDefinitionsOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import ServiceEndpointPolicyDefinitionsOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import ServiceEndpointPolicyDefinitionsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def service_tags(self): + """Instance depends on the API version: + + * 2019-04-01: :class:`ServiceTagsOperations` + * 2019-06-01: :class:`ServiceTagsOperations` + * 2019-07-01: :class:`ServiceTagsOperations` + * 2019-08-01: :class:`ServiceTagsOperations` + * 2019-09-01: :class:`ServiceTagsOperations` + * 2019-11-01: :class:`ServiceTagsOperations` + * 2019-12-01: :class:`ServiceTagsOperations` + * 2020-03-01: :class:`ServiceTagsOperations` + * 2020-04-01: :class:`ServiceTagsOperations` + """ + api_version = self._get_api_version('service_tags') + if api_version == '2019-04-01': + from .v2019_04_01.operations import ServiceTagsOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import ServiceTagsOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import ServiceTagsOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import ServiceTagsOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import ServiceTagsOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import ServiceTagsOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import ServiceTagsOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import ServiceTagsOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import ServiceTagsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def subnets(self): + """Instance depends on the API version: + + * 2015-06-15: :class:`SubnetsOperations` + * 2016-09-01: :class:`SubnetsOperations` + * 2016-12-01: :class:`SubnetsOperations` + * 2017-03-01: :class:`SubnetsOperations` + * 2017-06-01: :class:`SubnetsOperations` + * 2017-08-01: :class:`SubnetsOperations` + * 2017-09-01: :class:`SubnetsOperations` + * 2017-10-01: :class:`SubnetsOperations` + * 2017-11-01: :class:`SubnetsOperations` + * 2018-01-01: :class:`SubnetsOperations` + * 2018-02-01: :class:`SubnetsOperations` + * 2018-04-01: :class:`SubnetsOperations` + * 2018-06-01: :class:`SubnetsOperations` + * 2018-07-01: :class:`SubnetsOperations` + * 2018-08-01: :class:`SubnetsOperations` + * 2018-10-01: :class:`SubnetsOperations` + * 2018-11-01: :class:`SubnetsOperations` + * 2018-12-01: :class:`SubnetsOperations` + * 2019-02-01: :class:`SubnetsOperations` + * 2019-04-01: :class:`SubnetsOperations` + * 2019-06-01: :class:`SubnetsOperations` + * 2019-07-01: :class:`SubnetsOperations` + * 2019-08-01: :class:`SubnetsOperations` + * 2019-09-01: :class:`SubnetsOperations` + * 2019-11-01: :class:`SubnetsOperations` + * 2019-12-01: :class:`SubnetsOperations` + * 2020-03-01: :class:`SubnetsOperations` + * 2020-04-01: :class:`SubnetsOperations` + """ + api_version = self._get_api_version('subnets') + if api_version == '2015-06-15': + from .v2015_06_15.operations import SubnetsOperations as OperationClass + elif api_version == '2016-09-01': + from .v2016_09_01.operations import SubnetsOperations as OperationClass + elif api_version == '2016-12-01': + from .v2016_12_01.operations import SubnetsOperations as OperationClass + elif api_version == '2017-03-01': + from .v2017_03_01.operations import SubnetsOperations as OperationClass + elif api_version == '2017-06-01': + from .v2017_06_01.operations import SubnetsOperations as OperationClass + elif api_version == '2017-08-01': + from .v2017_08_01.operations import SubnetsOperations as OperationClass + elif api_version == '2017-09-01': + from .v2017_09_01.operations import SubnetsOperations as OperationClass + elif api_version == '2017-10-01': + from .v2017_10_01.operations import SubnetsOperations as OperationClass + elif api_version == '2017-11-01': + from .v2017_11_01.operations import SubnetsOperations as OperationClass + elif api_version == '2018-01-01': + from .v2018_01_01.operations import SubnetsOperations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import SubnetsOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import SubnetsOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import SubnetsOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import SubnetsOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import SubnetsOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import SubnetsOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import SubnetsOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import SubnetsOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import SubnetsOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import SubnetsOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import SubnetsOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import SubnetsOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import SubnetsOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import SubnetsOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import SubnetsOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import SubnetsOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import SubnetsOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import SubnetsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def usages(self): + """Instance depends on the API version: + + * 2015-06-15: :class:`UsagesOperations` + * 2016-09-01: :class:`UsagesOperations` + * 2016-12-01: :class:`UsagesOperations` + * 2017-03-01: :class:`UsagesOperations` + * 2017-06-01: :class:`UsagesOperations` + * 2017-08-01: :class:`UsagesOperations` + * 2017-09-01: :class:`UsagesOperations` + * 2017-10-01: :class:`UsagesOperations` + * 2017-11-01: :class:`UsagesOperations` + * 2018-01-01: :class:`UsagesOperations` + * 2018-02-01: :class:`UsagesOperations` + * 2018-04-01: :class:`UsagesOperations` + * 2018-06-01: :class:`UsagesOperations` + * 2018-07-01: :class:`UsagesOperations` + * 2018-08-01: :class:`UsagesOperations` + * 2018-10-01: :class:`UsagesOperations` + * 2018-11-01: :class:`UsagesOperations` + * 2018-12-01: :class:`UsagesOperations` + * 2019-02-01: :class:`UsagesOperations` + * 2019-04-01: :class:`UsagesOperations` + * 2019-06-01: :class:`UsagesOperations` + * 2019-07-01: :class:`UsagesOperations` + * 2019-08-01: :class:`UsagesOperations` + * 2019-09-01: :class:`UsagesOperations` + * 2019-11-01: :class:`UsagesOperations` + * 2019-12-01: :class:`UsagesOperations` + * 2020-03-01: :class:`UsagesOperations` + * 2020-04-01: :class:`UsagesOperations` + """ + api_version = self._get_api_version('usages') + if api_version == '2015-06-15': + from .v2015_06_15.operations import UsagesOperations as OperationClass + elif api_version == '2016-09-01': + from .v2016_09_01.operations import UsagesOperations as OperationClass + elif api_version == '2016-12-01': + from .v2016_12_01.operations import UsagesOperations as OperationClass + elif api_version == '2017-03-01': + from .v2017_03_01.operations import UsagesOperations as OperationClass + elif api_version == '2017-06-01': + from .v2017_06_01.operations import UsagesOperations as OperationClass + elif api_version == '2017-08-01': + from .v2017_08_01.operations import UsagesOperations as OperationClass + elif api_version == '2017-09-01': + from .v2017_09_01.operations import UsagesOperations as OperationClass + elif api_version == '2017-10-01': + from .v2017_10_01.operations import UsagesOperations as OperationClass + elif api_version == '2017-11-01': + from .v2017_11_01.operations import UsagesOperations as OperationClass + elif api_version == '2018-01-01': + from .v2018_01_01.operations import UsagesOperations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import UsagesOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import UsagesOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import UsagesOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import UsagesOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import UsagesOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import UsagesOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import UsagesOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import UsagesOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import UsagesOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import UsagesOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import UsagesOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import UsagesOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import UsagesOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import UsagesOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import UsagesOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import UsagesOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import UsagesOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import UsagesOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def virtual_hub_route_table_v2s(self): + """Instance depends on the API version: + + * 2019-09-01: :class:`VirtualHubRouteTableV2sOperations` + * 2019-11-01: :class:`VirtualHubRouteTableV2sOperations` + * 2019-12-01: :class:`VirtualHubRouteTableV2sOperations` + * 2020-03-01: :class:`VirtualHubRouteTableV2sOperations` + * 2020-04-01: :class:`VirtualHubRouteTableV2sOperations` + """ + api_version = self._get_api_version('virtual_hub_route_table_v2s') + if api_version == '2019-09-01': + from .v2019_09_01.operations import VirtualHubRouteTableV2sOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import VirtualHubRouteTableV2sOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import VirtualHubRouteTableV2sOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import VirtualHubRouteTableV2sOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import VirtualHubRouteTableV2sOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def virtual_hubs(self): + """Instance depends on the API version: + + * 2018-04-01: :class:`VirtualHubsOperations` + * 2018-06-01: :class:`VirtualHubsOperations` + * 2018-07-01: :class:`VirtualHubsOperations` + * 2018-08-01: :class:`VirtualHubsOperations` + * 2018-10-01: :class:`VirtualHubsOperations` + * 2018-11-01: :class:`VirtualHubsOperations` + * 2018-12-01: :class:`VirtualHubsOperations` + * 2019-02-01: :class:`VirtualHubsOperations` + * 2019-04-01: :class:`VirtualHubsOperations` + * 2019-06-01: :class:`VirtualHubsOperations` + * 2019-07-01: :class:`VirtualHubsOperations` + * 2019-08-01: :class:`VirtualHubsOperations` + * 2019-09-01: :class:`VirtualHubsOperations` + * 2019-11-01: :class:`VirtualHubsOperations` + * 2019-12-01: :class:`VirtualHubsOperations` + * 2020-03-01: :class:`VirtualHubsOperations` + * 2020-04-01: :class:`VirtualHubsOperations` + """ + api_version = self._get_api_version('virtual_hubs') + if api_version == '2018-04-01': + from .v2018_04_01.operations import VirtualHubsOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import VirtualHubsOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import VirtualHubsOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import VirtualHubsOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import VirtualHubsOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import VirtualHubsOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import VirtualHubsOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import VirtualHubsOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import VirtualHubsOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import VirtualHubsOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import VirtualHubsOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import VirtualHubsOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import VirtualHubsOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import VirtualHubsOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import VirtualHubsOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import VirtualHubsOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import VirtualHubsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def virtual_network_gateway_connections(self): + """Instance depends on the API version: + + * 2015-06-15: :class:`VirtualNetworkGatewayConnectionsOperations` + * 2016-09-01: :class:`VirtualNetworkGatewayConnectionsOperations` + * 2016-12-01: :class:`VirtualNetworkGatewayConnectionsOperations` + * 2017-03-01: :class:`VirtualNetworkGatewayConnectionsOperations` + * 2017-06-01: :class:`VirtualNetworkGatewayConnectionsOperations` + * 2017-08-01: :class:`VirtualNetworkGatewayConnectionsOperations` + * 2017-09-01: :class:`VirtualNetworkGatewayConnectionsOperations` + * 2017-10-01: :class:`VirtualNetworkGatewayConnectionsOperations` + * 2017-11-01: :class:`VirtualNetworkGatewayConnectionsOperations` + * 2018-01-01: :class:`VirtualNetworkGatewayConnectionsOperations` + * 2018-02-01: :class:`VirtualNetworkGatewayConnectionsOperations` + * 2018-04-01: :class:`VirtualNetworkGatewayConnectionsOperations` + * 2018-06-01: :class:`VirtualNetworkGatewayConnectionsOperations` + * 2018-07-01: :class:`VirtualNetworkGatewayConnectionsOperations` + * 2018-08-01: :class:`VirtualNetworkGatewayConnectionsOperations` + * 2018-10-01: :class:`VirtualNetworkGatewayConnectionsOperations` + * 2018-11-01: :class:`VirtualNetworkGatewayConnectionsOperations` + * 2018-12-01: :class:`VirtualNetworkGatewayConnectionsOperations` + * 2019-02-01: :class:`VirtualNetworkGatewayConnectionsOperations` + * 2019-04-01: :class:`VirtualNetworkGatewayConnectionsOperations` + * 2019-06-01: :class:`VirtualNetworkGatewayConnectionsOperations` + * 2019-07-01: :class:`VirtualNetworkGatewayConnectionsOperations` + * 2019-08-01: :class:`VirtualNetworkGatewayConnectionsOperations` + * 2019-09-01: :class:`VirtualNetworkGatewayConnectionsOperations` + * 2019-11-01: :class:`VirtualNetworkGatewayConnectionsOperations` + * 2019-12-01: :class:`VirtualNetworkGatewayConnectionsOperations` + * 2020-03-01: :class:`VirtualNetworkGatewayConnectionsOperations` + * 2020-04-01: :class:`VirtualNetworkGatewayConnectionsOperations` + """ + api_version = self._get_api_version('virtual_network_gateway_connections') + if api_version == '2015-06-15': + from .v2015_06_15.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass + elif api_version == '2016-09-01': + from .v2016_09_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass + elif api_version == '2016-12-01': + from .v2016_12_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass + elif api_version == '2017-03-01': + from .v2017_03_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass + elif api_version == '2017-06-01': + from .v2017_06_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass + elif api_version == '2017-08-01': + from .v2017_08_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass + elif api_version == '2017-09-01': + from .v2017_09_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass + elif api_version == '2017-10-01': + from .v2017_10_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass + elif api_version == '2017-11-01': + from .v2017_11_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass + elif api_version == '2018-01-01': + from .v2018_01_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def virtual_network_gateways(self): + """Instance depends on the API version: + + * 2015-06-15: :class:`VirtualNetworkGatewaysOperations` + * 2016-09-01: :class:`VirtualNetworkGatewaysOperations` + * 2016-12-01: :class:`VirtualNetworkGatewaysOperations` + * 2017-03-01: :class:`VirtualNetworkGatewaysOperations` + * 2017-06-01: :class:`VirtualNetworkGatewaysOperations` + * 2017-08-01: :class:`VirtualNetworkGatewaysOperations` + * 2017-09-01: :class:`VirtualNetworkGatewaysOperations` + * 2017-10-01: :class:`VirtualNetworkGatewaysOperations` + * 2017-11-01: :class:`VirtualNetworkGatewaysOperations` + * 2018-01-01: :class:`VirtualNetworkGatewaysOperations` + * 2018-02-01: :class:`VirtualNetworkGatewaysOperations` + * 2018-04-01: :class:`VirtualNetworkGatewaysOperations` + * 2018-06-01: :class:`VirtualNetworkGatewaysOperations` + * 2018-07-01: :class:`VirtualNetworkGatewaysOperations` + * 2018-08-01: :class:`VirtualNetworkGatewaysOperations` + * 2018-10-01: :class:`VirtualNetworkGatewaysOperations` + * 2018-11-01: :class:`VirtualNetworkGatewaysOperations` + * 2018-12-01: :class:`VirtualNetworkGatewaysOperations` + * 2019-02-01: :class:`VirtualNetworkGatewaysOperations` + * 2019-04-01: :class:`VirtualNetworkGatewaysOperations` + * 2019-06-01: :class:`VirtualNetworkGatewaysOperations` + * 2019-07-01: :class:`VirtualNetworkGatewaysOperations` + * 2019-08-01: :class:`VirtualNetworkGatewaysOperations` + * 2019-09-01: :class:`VirtualNetworkGatewaysOperations` + * 2019-11-01: :class:`VirtualNetworkGatewaysOperations` + * 2019-12-01: :class:`VirtualNetworkGatewaysOperations` + * 2020-03-01: :class:`VirtualNetworkGatewaysOperations` + * 2020-04-01: :class:`VirtualNetworkGatewaysOperations` + """ + api_version = self._get_api_version('virtual_network_gateways') + if api_version == '2015-06-15': + from .v2015_06_15.operations import VirtualNetworkGatewaysOperations as OperationClass + elif api_version == '2016-09-01': + from .v2016_09_01.operations import VirtualNetworkGatewaysOperations as OperationClass + elif api_version == '2016-12-01': + from .v2016_12_01.operations import VirtualNetworkGatewaysOperations as OperationClass + elif api_version == '2017-03-01': + from .v2017_03_01.operations import VirtualNetworkGatewaysOperations as OperationClass + elif api_version == '2017-06-01': + from .v2017_06_01.operations import VirtualNetworkGatewaysOperations as OperationClass + elif api_version == '2017-08-01': + from .v2017_08_01.operations import VirtualNetworkGatewaysOperations as OperationClass + elif api_version == '2017-09-01': + from .v2017_09_01.operations import VirtualNetworkGatewaysOperations as OperationClass + elif api_version == '2017-10-01': + from .v2017_10_01.operations import VirtualNetworkGatewaysOperations as OperationClass + elif api_version == '2017-11-01': + from .v2017_11_01.operations import VirtualNetworkGatewaysOperations as OperationClass + elif api_version == '2018-01-01': + from .v2018_01_01.operations import VirtualNetworkGatewaysOperations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import VirtualNetworkGatewaysOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import VirtualNetworkGatewaysOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import VirtualNetworkGatewaysOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import VirtualNetworkGatewaysOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import VirtualNetworkGatewaysOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import VirtualNetworkGatewaysOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import VirtualNetworkGatewaysOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import VirtualNetworkGatewaysOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import VirtualNetworkGatewaysOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import VirtualNetworkGatewaysOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import VirtualNetworkGatewaysOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import VirtualNetworkGatewaysOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import VirtualNetworkGatewaysOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import VirtualNetworkGatewaysOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import VirtualNetworkGatewaysOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import VirtualNetworkGatewaysOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import VirtualNetworkGatewaysOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import VirtualNetworkGatewaysOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def virtual_network_peerings(self): + """Instance depends on the API version: + + * 2016-09-01: :class:`VirtualNetworkPeeringsOperations` + * 2016-12-01: :class:`VirtualNetworkPeeringsOperations` + * 2017-03-01: :class:`VirtualNetworkPeeringsOperations` + * 2017-06-01: :class:`VirtualNetworkPeeringsOperations` + * 2017-08-01: :class:`VirtualNetworkPeeringsOperations` + * 2017-09-01: :class:`VirtualNetworkPeeringsOperations` + * 2017-10-01: :class:`VirtualNetworkPeeringsOperations` + * 2017-11-01: :class:`VirtualNetworkPeeringsOperations` + * 2018-01-01: :class:`VirtualNetworkPeeringsOperations` + * 2018-02-01: :class:`VirtualNetworkPeeringsOperations` + * 2018-04-01: :class:`VirtualNetworkPeeringsOperations` + * 2018-06-01: :class:`VirtualNetworkPeeringsOperations` + * 2018-07-01: :class:`VirtualNetworkPeeringsOperations` + * 2018-08-01: :class:`VirtualNetworkPeeringsOperations` + * 2018-10-01: :class:`VirtualNetworkPeeringsOperations` + * 2018-11-01: :class:`VirtualNetworkPeeringsOperations` + * 2018-12-01: :class:`VirtualNetworkPeeringsOperations` + * 2019-02-01: :class:`VirtualNetworkPeeringsOperations` + * 2019-04-01: :class:`VirtualNetworkPeeringsOperations` + * 2019-06-01: :class:`VirtualNetworkPeeringsOperations` + * 2019-07-01: :class:`VirtualNetworkPeeringsOperations` + * 2019-08-01: :class:`VirtualNetworkPeeringsOperations` + * 2019-09-01: :class:`VirtualNetworkPeeringsOperations` + * 2019-11-01: :class:`VirtualNetworkPeeringsOperations` + * 2019-12-01: :class:`VirtualNetworkPeeringsOperations` + * 2020-03-01: :class:`VirtualNetworkPeeringsOperations` + * 2020-04-01: :class:`VirtualNetworkPeeringsOperations` + """ + api_version = self._get_api_version('virtual_network_peerings') + if api_version == '2016-09-01': + from .v2016_09_01.operations import VirtualNetworkPeeringsOperations as OperationClass + elif api_version == '2016-12-01': + from .v2016_12_01.operations import VirtualNetworkPeeringsOperations as OperationClass + elif api_version == '2017-03-01': + from .v2017_03_01.operations import VirtualNetworkPeeringsOperations as OperationClass + elif api_version == '2017-06-01': + from .v2017_06_01.operations import VirtualNetworkPeeringsOperations as OperationClass + elif api_version == '2017-08-01': + from .v2017_08_01.operations import VirtualNetworkPeeringsOperations as OperationClass + elif api_version == '2017-09-01': + from .v2017_09_01.operations import VirtualNetworkPeeringsOperations as OperationClass + elif api_version == '2017-10-01': + from .v2017_10_01.operations import VirtualNetworkPeeringsOperations as OperationClass + elif api_version == '2017-11-01': + from .v2017_11_01.operations import VirtualNetworkPeeringsOperations as OperationClass + elif api_version == '2018-01-01': + from .v2018_01_01.operations import VirtualNetworkPeeringsOperations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import VirtualNetworkPeeringsOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import VirtualNetworkPeeringsOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import VirtualNetworkPeeringsOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import VirtualNetworkPeeringsOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import VirtualNetworkPeeringsOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import VirtualNetworkPeeringsOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import VirtualNetworkPeeringsOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import VirtualNetworkPeeringsOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import VirtualNetworkPeeringsOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import VirtualNetworkPeeringsOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import VirtualNetworkPeeringsOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import VirtualNetworkPeeringsOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import VirtualNetworkPeeringsOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import VirtualNetworkPeeringsOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import VirtualNetworkPeeringsOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import VirtualNetworkPeeringsOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import VirtualNetworkPeeringsOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import VirtualNetworkPeeringsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def virtual_network_taps(self): + """Instance depends on the API version: + + * 2018-08-01: :class:`VirtualNetworkTapsOperations` + * 2018-10-01: :class:`VirtualNetworkTapsOperations` + * 2018-11-01: :class:`VirtualNetworkTapsOperations` + * 2018-12-01: :class:`VirtualNetworkTapsOperations` + * 2019-02-01: :class:`VirtualNetworkTapsOperations` + * 2019-04-01: :class:`VirtualNetworkTapsOperations` + * 2019-06-01: :class:`VirtualNetworkTapsOperations` + * 2019-07-01: :class:`VirtualNetworkTapsOperations` + * 2019-08-01: :class:`VirtualNetworkTapsOperations` + * 2019-09-01: :class:`VirtualNetworkTapsOperations` + * 2019-11-01: :class:`VirtualNetworkTapsOperations` + * 2019-12-01: :class:`VirtualNetworkTapsOperations` + * 2020-03-01: :class:`VirtualNetworkTapsOperations` + * 2020-04-01: :class:`VirtualNetworkTapsOperations` + """ + api_version = self._get_api_version('virtual_network_taps') + if api_version == '2018-08-01': + from .v2018_08_01.operations import VirtualNetworkTapsOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import VirtualNetworkTapsOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import VirtualNetworkTapsOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import VirtualNetworkTapsOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import VirtualNetworkTapsOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import VirtualNetworkTapsOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import VirtualNetworkTapsOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import VirtualNetworkTapsOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import VirtualNetworkTapsOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import VirtualNetworkTapsOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import VirtualNetworkTapsOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import VirtualNetworkTapsOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import VirtualNetworkTapsOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import VirtualNetworkTapsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def virtual_networks(self): + """Instance depends on the API version: + + * 2015-06-15: :class:`VirtualNetworksOperations` + * 2016-09-01: :class:`VirtualNetworksOperations` + * 2016-12-01: :class:`VirtualNetworksOperations` + * 2017-03-01: :class:`VirtualNetworksOperations` + * 2017-06-01: :class:`VirtualNetworksOperations` + * 2017-08-01: :class:`VirtualNetworksOperations` + * 2017-09-01: :class:`VirtualNetworksOperations` + * 2017-10-01: :class:`VirtualNetworksOperations` + * 2017-11-01: :class:`VirtualNetworksOperations` + * 2018-01-01: :class:`VirtualNetworksOperations` + * 2018-02-01: :class:`VirtualNetworksOperations` + * 2018-04-01: :class:`VirtualNetworksOperations` + * 2018-06-01: :class:`VirtualNetworksOperations` + * 2018-07-01: :class:`VirtualNetworksOperations` + * 2018-08-01: :class:`VirtualNetworksOperations` + * 2018-10-01: :class:`VirtualNetworksOperations` + * 2018-11-01: :class:`VirtualNetworksOperations` + * 2018-12-01: :class:`VirtualNetworksOperations` + * 2019-02-01: :class:`VirtualNetworksOperations` + * 2019-04-01: :class:`VirtualNetworksOperations` + * 2019-06-01: :class:`VirtualNetworksOperations` + * 2019-07-01: :class:`VirtualNetworksOperations` + * 2019-08-01: :class:`VirtualNetworksOperations` + * 2019-09-01: :class:`VirtualNetworksOperations` + * 2019-11-01: :class:`VirtualNetworksOperations` + * 2019-12-01: :class:`VirtualNetworksOperations` + * 2020-03-01: :class:`VirtualNetworksOperations` + * 2020-04-01: :class:`VirtualNetworksOperations` + """ + api_version = self._get_api_version('virtual_networks') + if api_version == '2015-06-15': + from .v2015_06_15.operations import VirtualNetworksOperations as OperationClass + elif api_version == '2016-09-01': + from .v2016_09_01.operations import VirtualNetworksOperations as OperationClass + elif api_version == '2016-12-01': + from .v2016_12_01.operations import VirtualNetworksOperations as OperationClass + elif api_version == '2017-03-01': + from .v2017_03_01.operations import VirtualNetworksOperations as OperationClass + elif api_version == '2017-06-01': + from .v2017_06_01.operations import VirtualNetworksOperations as OperationClass + elif api_version == '2017-08-01': + from .v2017_08_01.operations import VirtualNetworksOperations as OperationClass + elif api_version == '2017-09-01': + from .v2017_09_01.operations import VirtualNetworksOperations as OperationClass + elif api_version == '2017-10-01': + from .v2017_10_01.operations import VirtualNetworksOperations as OperationClass + elif api_version == '2017-11-01': + from .v2017_11_01.operations import VirtualNetworksOperations as OperationClass + elif api_version == '2018-01-01': + from .v2018_01_01.operations import VirtualNetworksOperations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import VirtualNetworksOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import VirtualNetworksOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import VirtualNetworksOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import VirtualNetworksOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import VirtualNetworksOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import VirtualNetworksOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import VirtualNetworksOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import VirtualNetworksOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import VirtualNetworksOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import VirtualNetworksOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import VirtualNetworksOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import VirtualNetworksOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import VirtualNetworksOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import VirtualNetworksOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import VirtualNetworksOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import VirtualNetworksOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import VirtualNetworksOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import VirtualNetworksOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def virtual_router_peerings(self): + """Instance depends on the API version: + + * 2019-07-01: :class:`VirtualRouterPeeringsOperations` + * 2019-08-01: :class:`VirtualRouterPeeringsOperations` + * 2019-09-01: :class:`VirtualRouterPeeringsOperations` + * 2019-11-01: :class:`VirtualRouterPeeringsOperations` + * 2019-12-01: :class:`VirtualRouterPeeringsOperations` + * 2020-03-01: :class:`VirtualRouterPeeringsOperations` + * 2020-04-01: :class:`VirtualRouterPeeringsOperations` + """ + api_version = self._get_api_version('virtual_router_peerings') + if api_version == '2019-07-01': + from .v2019_07_01.operations import VirtualRouterPeeringsOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import VirtualRouterPeeringsOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import VirtualRouterPeeringsOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import VirtualRouterPeeringsOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import VirtualRouterPeeringsOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import VirtualRouterPeeringsOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import VirtualRouterPeeringsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def virtual_routers(self): + """Instance depends on the API version: + + * 2019-07-01: :class:`VirtualRoutersOperations` + * 2019-08-01: :class:`VirtualRoutersOperations` + * 2019-09-01: :class:`VirtualRoutersOperations` + * 2019-11-01: :class:`VirtualRoutersOperations` + * 2019-12-01: :class:`VirtualRoutersOperations` + * 2020-03-01: :class:`VirtualRoutersOperations` + * 2020-04-01: :class:`VirtualRoutersOperations` + """ + api_version = self._get_api_version('virtual_routers') + if api_version == '2019-07-01': + from .v2019_07_01.operations import VirtualRoutersOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import VirtualRoutersOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import VirtualRoutersOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import VirtualRoutersOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import VirtualRoutersOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import VirtualRoutersOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import VirtualRoutersOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def virtual_wa_ns(self): + """Instance depends on the API version: + + * 2018-04-01: :class:`VirtualWANsOperations` + * 2018-06-01: :class:`VirtualWANsOperations` + * 2018-07-01: :class:`VirtualWANsOperations` + """ + api_version = self._get_api_version('virtual_wa_ns') + if api_version == '2018-04-01': + from .v2018_04_01.operations import VirtualWANsOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import VirtualWANsOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import VirtualWANsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def virtual_wans(self): + """Instance depends on the API version: + + * 2018-08-01: :class:`VirtualWansOperations` + * 2018-10-01: :class:`VirtualWansOperations` + * 2018-11-01: :class:`VirtualWansOperations` + * 2018-12-01: :class:`VirtualWansOperations` + * 2019-02-01: :class:`VirtualWansOperations` + * 2019-04-01: :class:`VirtualWansOperations` + * 2019-06-01: :class:`VirtualWansOperations` + * 2019-07-01: :class:`VirtualWansOperations` + * 2019-08-01: :class:`VirtualWansOperations` + * 2019-09-01: :class:`VirtualWansOperations` + * 2019-11-01: :class:`VirtualWansOperations` + * 2019-12-01: :class:`VirtualWansOperations` + * 2020-03-01: :class:`VirtualWansOperations` + * 2020-04-01: :class:`VirtualWansOperations` + """ + api_version = self._get_api_version('virtual_wans') + if api_version == '2018-08-01': + from .v2018_08_01.operations import VirtualWansOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import VirtualWansOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import VirtualWansOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import VirtualWansOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import VirtualWansOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import VirtualWansOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import VirtualWansOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import VirtualWansOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import VirtualWansOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import VirtualWansOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import VirtualWansOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import VirtualWansOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import VirtualWansOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import VirtualWansOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def vpn_connections(self): + """Instance depends on the API version: + + * 2018-04-01: :class:`VpnConnectionsOperations` + * 2018-06-01: :class:`VpnConnectionsOperations` + * 2018-07-01: :class:`VpnConnectionsOperations` + * 2018-08-01: :class:`VpnConnectionsOperations` + * 2018-10-01: :class:`VpnConnectionsOperations` + * 2018-11-01: :class:`VpnConnectionsOperations` + * 2018-12-01: :class:`VpnConnectionsOperations` + * 2019-02-01: :class:`VpnConnectionsOperations` + * 2019-04-01: :class:`VpnConnectionsOperations` + * 2019-06-01: :class:`VpnConnectionsOperations` + * 2019-07-01: :class:`VpnConnectionsOperations` + * 2019-08-01: :class:`VpnConnectionsOperations` + * 2019-09-01: :class:`VpnConnectionsOperations` + * 2019-11-01: :class:`VpnConnectionsOperations` + * 2019-12-01: :class:`VpnConnectionsOperations` + * 2020-03-01: :class:`VpnConnectionsOperations` + * 2020-04-01: :class:`VpnConnectionsOperations` + """ + api_version = self._get_api_version('vpn_connections') + if api_version == '2018-04-01': + from .v2018_04_01.operations import VpnConnectionsOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import VpnConnectionsOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import VpnConnectionsOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import VpnConnectionsOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import VpnConnectionsOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import VpnConnectionsOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import VpnConnectionsOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import VpnConnectionsOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import VpnConnectionsOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import VpnConnectionsOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import VpnConnectionsOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import VpnConnectionsOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import VpnConnectionsOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import VpnConnectionsOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import VpnConnectionsOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import VpnConnectionsOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import VpnConnectionsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def vpn_gateways(self): + """Instance depends on the API version: + + * 2018-04-01: :class:`VpnGatewaysOperations` + * 2018-06-01: :class:`VpnGatewaysOperations` + * 2018-07-01: :class:`VpnGatewaysOperations` + * 2018-08-01: :class:`VpnGatewaysOperations` + * 2018-10-01: :class:`VpnGatewaysOperations` + * 2018-11-01: :class:`VpnGatewaysOperations` + * 2018-12-01: :class:`VpnGatewaysOperations` + * 2019-02-01: :class:`VpnGatewaysOperations` + * 2019-04-01: :class:`VpnGatewaysOperations` + * 2019-06-01: :class:`VpnGatewaysOperations` + * 2019-07-01: :class:`VpnGatewaysOperations` + * 2019-08-01: :class:`VpnGatewaysOperations` + * 2019-09-01: :class:`VpnGatewaysOperations` + * 2019-11-01: :class:`VpnGatewaysOperations` + * 2019-12-01: :class:`VpnGatewaysOperations` + * 2020-03-01: :class:`VpnGatewaysOperations` + * 2020-04-01: :class:`VpnGatewaysOperations` + """ + api_version = self._get_api_version('vpn_gateways') + if api_version == '2018-04-01': + from .v2018_04_01.operations import VpnGatewaysOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import VpnGatewaysOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import VpnGatewaysOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import VpnGatewaysOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import VpnGatewaysOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import VpnGatewaysOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import VpnGatewaysOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import VpnGatewaysOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import VpnGatewaysOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import VpnGatewaysOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import VpnGatewaysOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import VpnGatewaysOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import VpnGatewaysOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import VpnGatewaysOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import VpnGatewaysOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import VpnGatewaysOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import VpnGatewaysOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def vpn_link_connections(self): + """Instance depends on the API version: + + * 2019-06-01: :class:`VpnLinkConnectionsOperations` + * 2019-07-01: :class:`VpnLinkConnectionsOperations` + * 2019-08-01: :class:`VpnLinkConnectionsOperations` + * 2019-09-01: :class:`VpnLinkConnectionsOperations` + * 2019-11-01: :class:`VpnLinkConnectionsOperations` + * 2019-12-01: :class:`VpnLinkConnectionsOperations` + * 2020-03-01: :class:`VpnLinkConnectionsOperations` + * 2020-04-01: :class:`VpnLinkConnectionsOperations` + """ + api_version = self._get_api_version('vpn_link_connections') + if api_version == '2019-06-01': + from .v2019_06_01.operations import VpnLinkConnectionsOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import VpnLinkConnectionsOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import VpnLinkConnectionsOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import VpnLinkConnectionsOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import VpnLinkConnectionsOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import VpnLinkConnectionsOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import VpnLinkConnectionsOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import VpnLinkConnectionsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def vpn_server_configurations(self): + """Instance depends on the API version: + + * 2019-08-01: :class:`VpnServerConfigurationsOperations` + * 2019-09-01: :class:`VpnServerConfigurationsOperations` + * 2019-11-01: :class:`VpnServerConfigurationsOperations` + * 2019-12-01: :class:`VpnServerConfigurationsOperations` + * 2020-03-01: :class:`VpnServerConfigurationsOperations` + * 2020-04-01: :class:`VpnServerConfigurationsOperations` + """ + api_version = self._get_api_version('vpn_server_configurations') + if api_version == '2019-08-01': + from .v2019_08_01.operations import VpnServerConfigurationsOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import VpnServerConfigurationsOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import VpnServerConfigurationsOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import VpnServerConfigurationsOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import VpnServerConfigurationsOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import VpnServerConfigurationsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def vpn_server_configurations_associated_with_virtual_wan(self): + """Instance depends on the API version: + + * 2019-08-01: :class:`VpnServerConfigurationsAssociatedWithVirtualWanOperations` + * 2019-09-01: :class:`VpnServerConfigurationsAssociatedWithVirtualWanOperations` + * 2019-11-01: :class:`VpnServerConfigurationsAssociatedWithVirtualWanOperations` + * 2019-12-01: :class:`VpnServerConfigurationsAssociatedWithVirtualWanOperations` + * 2020-03-01: :class:`VpnServerConfigurationsAssociatedWithVirtualWanOperations` + * 2020-04-01: :class:`VpnServerConfigurationsAssociatedWithVirtualWanOperations` + """ + api_version = self._get_api_version('vpn_server_configurations_associated_with_virtual_wan') + if api_version == '2019-08-01': + from .v2019_08_01.operations import VpnServerConfigurationsAssociatedWithVirtualWanOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import VpnServerConfigurationsAssociatedWithVirtualWanOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import VpnServerConfigurationsAssociatedWithVirtualWanOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import VpnServerConfigurationsAssociatedWithVirtualWanOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import VpnServerConfigurationsAssociatedWithVirtualWanOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import VpnServerConfigurationsAssociatedWithVirtualWanOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def vpn_site_link_connections(self): + """Instance depends on the API version: + + * 2019-06-01: :class:`VpnSiteLinkConnectionsOperations` + * 2019-07-01: :class:`VpnSiteLinkConnectionsOperations` + * 2019-08-01: :class:`VpnSiteLinkConnectionsOperations` + * 2019-09-01: :class:`VpnSiteLinkConnectionsOperations` + * 2019-11-01: :class:`VpnSiteLinkConnectionsOperations` + * 2019-12-01: :class:`VpnSiteLinkConnectionsOperations` + * 2020-03-01: :class:`VpnSiteLinkConnectionsOperations` + * 2020-04-01: :class:`VpnSiteLinkConnectionsOperations` + """ + api_version = self._get_api_version('vpn_site_link_connections') + if api_version == '2019-06-01': + from .v2019_06_01.operations import VpnSiteLinkConnectionsOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import VpnSiteLinkConnectionsOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import VpnSiteLinkConnectionsOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import VpnSiteLinkConnectionsOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import VpnSiteLinkConnectionsOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import VpnSiteLinkConnectionsOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import VpnSiteLinkConnectionsOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import VpnSiteLinkConnectionsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def vpn_site_links(self): + """Instance depends on the API version: + + * 2019-06-01: :class:`VpnSiteLinksOperations` + * 2019-07-01: :class:`VpnSiteLinksOperations` + * 2019-08-01: :class:`VpnSiteLinksOperations` + * 2019-09-01: :class:`VpnSiteLinksOperations` + * 2019-11-01: :class:`VpnSiteLinksOperations` + * 2019-12-01: :class:`VpnSiteLinksOperations` + * 2020-03-01: :class:`VpnSiteLinksOperations` + * 2020-04-01: :class:`VpnSiteLinksOperations` + """ + api_version = self._get_api_version('vpn_site_links') + if api_version == '2019-06-01': + from .v2019_06_01.operations import VpnSiteLinksOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import VpnSiteLinksOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import VpnSiteLinksOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import VpnSiteLinksOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import VpnSiteLinksOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import VpnSiteLinksOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import VpnSiteLinksOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import VpnSiteLinksOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def vpn_sites(self): + """Instance depends on the API version: + + * 2018-04-01: :class:`VpnSitesOperations` + * 2018-06-01: :class:`VpnSitesOperations` + * 2018-07-01: :class:`VpnSitesOperations` + * 2018-08-01: :class:`VpnSitesOperations` + * 2018-10-01: :class:`VpnSitesOperations` + * 2018-11-01: :class:`VpnSitesOperations` + * 2018-12-01: :class:`VpnSitesOperations` + * 2019-02-01: :class:`VpnSitesOperations` + * 2019-04-01: :class:`VpnSitesOperations` + * 2019-06-01: :class:`VpnSitesOperations` + * 2019-07-01: :class:`VpnSitesOperations` + * 2019-08-01: :class:`VpnSitesOperations` + * 2019-09-01: :class:`VpnSitesOperations` + * 2019-11-01: :class:`VpnSitesOperations` + * 2019-12-01: :class:`VpnSitesOperations` + * 2020-03-01: :class:`VpnSitesOperations` + * 2020-04-01: :class:`VpnSitesOperations` + """ + api_version = self._get_api_version('vpn_sites') + if api_version == '2018-04-01': + from .v2018_04_01.operations import VpnSitesOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import VpnSitesOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import VpnSitesOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import VpnSitesOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import VpnSitesOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import VpnSitesOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import VpnSitesOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import VpnSitesOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import VpnSitesOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import VpnSitesOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import VpnSitesOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import VpnSitesOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import VpnSitesOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import VpnSitesOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import VpnSitesOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import VpnSitesOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import VpnSitesOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def vpn_sites_configuration(self): + """Instance depends on the API version: + + * 2018-04-01: :class:`VpnSitesConfigurationOperations` + * 2018-06-01: :class:`VpnSitesConfigurationOperations` + * 2018-07-01: :class:`VpnSitesConfigurationOperations` + * 2018-08-01: :class:`VpnSitesConfigurationOperations` + * 2018-10-01: :class:`VpnSitesConfigurationOperations` + * 2018-11-01: :class:`VpnSitesConfigurationOperations` + * 2018-12-01: :class:`VpnSitesConfigurationOperations` + * 2019-02-01: :class:`VpnSitesConfigurationOperations` + * 2019-04-01: :class:`VpnSitesConfigurationOperations` + * 2019-06-01: :class:`VpnSitesConfigurationOperations` + * 2019-07-01: :class:`VpnSitesConfigurationOperations` + * 2019-08-01: :class:`VpnSitesConfigurationOperations` + * 2019-09-01: :class:`VpnSitesConfigurationOperations` + * 2019-11-01: :class:`VpnSitesConfigurationOperations` + * 2019-12-01: :class:`VpnSitesConfigurationOperations` + * 2020-03-01: :class:`VpnSitesConfigurationOperations` + * 2020-04-01: :class:`VpnSitesConfigurationOperations` + """ + api_version = self._get_api_version('vpn_sites_configuration') + if api_version == '2018-04-01': + from .v2018_04_01.operations import VpnSitesConfigurationOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import VpnSitesConfigurationOperations as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import VpnSitesConfigurationOperations as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import VpnSitesConfigurationOperations as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import VpnSitesConfigurationOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import VpnSitesConfigurationOperations as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import VpnSitesConfigurationOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import VpnSitesConfigurationOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import VpnSitesConfigurationOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import VpnSitesConfigurationOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import VpnSitesConfigurationOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import VpnSitesConfigurationOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import VpnSitesConfigurationOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import VpnSitesConfigurationOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import VpnSitesConfigurationOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import VpnSitesConfigurationOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import VpnSitesConfigurationOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def web_application_firewall_policies(self): + """Instance depends on the API version: + + * 2018-12-01: :class:`WebApplicationFirewallPoliciesOperations` + * 2019-02-01: :class:`WebApplicationFirewallPoliciesOperations` + * 2019-04-01: :class:`WebApplicationFirewallPoliciesOperations` + * 2019-06-01: :class:`WebApplicationFirewallPoliciesOperations` + * 2019-07-01: :class:`WebApplicationFirewallPoliciesOperations` + * 2019-08-01: :class:`WebApplicationFirewallPoliciesOperations` + * 2019-09-01: :class:`WebApplicationFirewallPoliciesOperations` + * 2019-11-01: :class:`WebApplicationFirewallPoliciesOperations` + * 2019-12-01: :class:`WebApplicationFirewallPoliciesOperations` + * 2020-03-01: :class:`WebApplicationFirewallPoliciesOperations` + * 2020-04-01: :class:`WebApplicationFirewallPoliciesOperations` + """ + api_version = self._get_api_version('web_application_firewall_policies') + if api_version == '2018-12-01': + from .v2018_12_01.operations import WebApplicationFirewallPoliciesOperations as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import WebApplicationFirewallPoliciesOperations as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import WebApplicationFirewallPoliciesOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import WebApplicationFirewallPoliciesOperations as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import WebApplicationFirewallPoliciesOperations as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import WebApplicationFirewallPoliciesOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import WebApplicationFirewallPoliciesOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import WebApplicationFirewallPoliciesOperations as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import WebApplicationFirewallPoliciesOperations as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import WebApplicationFirewallPoliciesOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import WebApplicationFirewallPoliciesOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/_operations_mixin.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/_operations_mixin.py new file mode 100644 index 00000000000..14ebb7556e5 --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/_operations_mixin.py @@ -0,0 +1,435 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +from msrest import Serializer, Deserializer + + +class NetworkManagementClientOperationsMixin(object): + + + def check_dns_name_availability(self, location, domain_name_label, custom_headers=None, raw=False, **operation_config): + """Checks whether a domain name in the cloudapp.azure.com zone is + available for use. + + :param location: The location of the domain name. + :type location: str + :param domain_name_label: The domain name to be verified. It must + conform to the following regular expression: + ^[a-z][a-z0-9-]{1,61}[a-z0-9]$. + :type domain_name_label: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: DnsNameAvailabilityResult or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.network.v2020_04_01.models.DnsNameAvailabilityResult or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + + """ + api_version = self._get_api_version('check_dns_name_availability') + if api_version == '2015-06-15': + from .v2015_06_15.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2016-09-01': + from .v2016_09_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2016-12-01': + from .v2016_12_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2017-03-01': + from .v2017_03_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2017-06-01': + from .v2017_06_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2017-08-01': + from .v2017_08_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2017-09-01': + from .v2017_09_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2017-10-01': + from .v2017_10_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2017-11-01': + from .v2017_11_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2018-01-01': + from .v2018_01_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2018-07-01': + from .v2018_07_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2018-08-01': + from .v2018_08_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import NetworkManagementClientOperationsMixin as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + mixin_instance = OperationClass() + mixin_instance._client = self._client + mixin_instance.config = self.config + mixin_instance._serialize = Serializer(self._models_dict(api_version)) + mixin_instance._deserialize = Deserializer(self._models_dict(api_version)) + mixin_instance.api_version = api_version + return mixin_instance.check_dns_name_availability(location, domain_name_label, custom_headers, raw, **operation_config) + + def delete_bastion_shareable_link(self, resource_group_name, bastion_host_name, vms=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the Bastion Shareable Links for all the VMs specified in the + request. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param bastion_host_name: The name of the Bastion Host. + :type bastion_host_name: str + :param vms: List of VM references. + :type vms: + list[~azure.mgmt.network.v2020_04_01.models.BastionShareableLink] + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + + """ + api_version = self._get_api_version('delete_bastion_shareable_link') + if api_version == '2019-09-01': + from .v2019_09_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import NetworkManagementClientOperationsMixin as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + mixin_instance = OperationClass() + mixin_instance._client = self._client + mixin_instance.config = self.config + mixin_instance._serialize = Serializer(self._models_dict(api_version)) + mixin_instance._deserialize = Deserializer(self._models_dict(api_version)) + mixin_instance.api_version = api_version + return mixin_instance.delete_bastion_shareable_link(resource_group_name, bastion_host_name, vms, custom_headers, raw, polling, **operation_config) + + def disconnect_active_sessions(self, resource_group_name, bastion_host_name, session_ids=None, custom_headers=None, raw=False, **operation_config): + """Returns the list of currently active sessions on the Bastion. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param bastion_host_name: The name of the Bastion Host. + :type bastion_host_name: str + :param session_ids: List of session IDs. + :type session_ids: list[str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of BastionSessionState + :rtype: + ~azure.mgmt.network.v2020_04_01.models.BastionSessionStatePaged[~azure.mgmt.network.v2020_04_01.models.BastionSessionState] + :raises: :class:`CloudError` + + """ + api_version = self._get_api_version('disconnect_active_sessions') + if api_version == '2019-09-01': + from .v2019_09_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import NetworkManagementClientOperationsMixin as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + mixin_instance = OperationClass() + mixin_instance._client = self._client + mixin_instance.config = self.config + mixin_instance._serialize = Serializer(self._models_dict(api_version)) + mixin_instance._deserialize = Deserializer(self._models_dict(api_version)) + mixin_instance.api_version = api_version + return mixin_instance.disconnect_active_sessions(resource_group_name, bastion_host_name, session_ids, custom_headers, raw, **operation_config) + + def generatevirtualwanvpnserverconfigurationvpnprofile(self, resource_group_name, virtual_wan_name, vpn_server_configuration_resource_id=None, authentication_method=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Generates a unique VPN profile for P2S clients for VirtualWan and + associated VpnServerConfiguration combination in the specified resource + group. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param virtual_wan_name: The name of the VirtualWAN whose associated + VpnServerConfigurations is needed. + :type virtual_wan_name: str + :param vpn_server_configuration_resource_id: VpnServerConfiguration + partial resource uri with which VirtualWan is associated to. + :type vpn_server_configuration_resource_id: str + :param authentication_method: VPN client authentication method. + Possible values include: 'EAPTLS', 'EAPMSCHAPv2' + :type authentication_method: str or + ~azure.mgmt.network.v2020_04_01.models.AuthenticationMethod + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns VpnProfileResponse or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.VpnProfileResponse] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.VpnProfileResponse]] + :raises: :class:`CloudError` + + """ + api_version = self._get_api_version('generatevirtualwanvpnserverconfigurationvpnprofile') + if api_version == '2019-08-01': + from .v2019_08_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import NetworkManagementClientOperationsMixin as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + mixin_instance = OperationClass() + mixin_instance._client = self._client + mixin_instance.config = self.config + mixin_instance._serialize = Serializer(self._models_dict(api_version)) + mixin_instance._deserialize = Deserializer(self._models_dict(api_version)) + mixin_instance.api_version = api_version + return mixin_instance.generatevirtualwanvpnserverconfigurationvpnprofile(resource_group_name, virtual_wan_name, vpn_server_configuration_resource_id, authentication_method, custom_headers, raw, polling, **operation_config) + + def get_active_sessions(self, resource_group_name, bastion_host_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Returns the list of currently active sessions on the Bastion. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param bastion_host_name: The name of the Bastion Host. + :type bastion_host_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + BastionActiveSessionListResult or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.BastionActiveSessionListResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.BastionActiveSessionListResult]] + :raises: :class:`CloudError` + + """ + api_version = self._get_api_version('get_active_sessions') + if api_version == '2019-09-01': + from .v2019_09_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import NetworkManagementClientOperationsMixin as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + mixin_instance = OperationClass() + mixin_instance._client = self._client + mixin_instance.config = self.config + mixin_instance._serialize = Serializer(self._models_dict(api_version)) + mixin_instance._deserialize = Deserializer(self._models_dict(api_version)) + mixin_instance.api_version = api_version + return mixin_instance.get_active_sessions(resource_group_name, bastion_host_name, custom_headers, raw, polling, **operation_config) + + def get_bastion_shareable_link(self, resource_group_name, bastion_host_name, vms=None, custom_headers=None, raw=False, **operation_config): + """Return the Bastion Shareable Links for all the VMs specified in the + request. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param bastion_host_name: The name of the Bastion Host. + :type bastion_host_name: str + :param vms: List of VM references. + :type vms: + list[~azure.mgmt.network.v2020_04_01.models.BastionShareableLink] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of BastionShareableLink + :rtype: + ~azure.mgmt.network.v2020_04_01.models.BastionShareableLinkPaged[~azure.mgmt.network.v2020_04_01.models.BastionShareableLink] + :raises: :class:`CloudError` + + """ + api_version = self._get_api_version('get_bastion_shareable_link') + if api_version == '2019-09-01': + from .v2019_09_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import NetworkManagementClientOperationsMixin as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + mixin_instance = OperationClass() + mixin_instance._client = self._client + mixin_instance.config = self.config + mixin_instance._serialize = Serializer(self._models_dict(api_version)) + mixin_instance._deserialize = Deserializer(self._models_dict(api_version)) + mixin_instance.api_version = api_version + return mixin_instance.get_bastion_shareable_link(resource_group_name, bastion_host_name, vms, custom_headers, raw, **operation_config) + + def put_bastion_shareable_link(self, resource_group_name, bastion_host_name, vms=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates a Bastion Shareable Links for all the VMs specified in the + request. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param bastion_host_name: The name of the Bastion Host. + :type bastion_host_name: str + :param vms: List of VM references. + :type vms: + list[~azure.mgmt.network.v2020_04_01.models.BastionShareableLink] + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + BastionShareableLinkListResult or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.BastionShareableLinkListResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.BastionShareableLinkListResult]] + :raises: :class:`CloudError` + + """ + api_version = self._get_api_version('put_bastion_shareable_link') + if api_version == '2019-09-01': + from .v2019_09_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import NetworkManagementClientOperationsMixin as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + mixin_instance = OperationClass() + mixin_instance._client = self._client + mixin_instance.config = self.config + mixin_instance._serialize = Serializer(self._models_dict(api_version)) + mixin_instance._deserialize = Deserializer(self._models_dict(api_version)) + mixin_instance.api_version = api_version + return mixin_instance.put_bastion_shareable_link(resource_group_name, bastion_host_name, vms, custom_headers, raw, polling, **operation_config) + + def supported_security_providers(self, resource_group_name, virtual_wan_name, custom_headers=None, raw=False, **operation_config): + """Gives the supported security providers for the virtual wan. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param virtual_wan_name: The name of the VirtualWAN for which + supported security providers are needed. + :type virtual_wan_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: VirtualWanSecurityProviders or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.network.v2020_04_01.models.VirtualWanSecurityProviders or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + + """ + api_version = self._get_api_version('supported_security_providers') + if api_version == '2018-08-01': + from .v2018_08_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2018-10-01': + from .v2018_10_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2018-12-01': + from .v2018_12_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2019-02-01': + from .v2019_02_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2019-04-01': + from .v2019_04_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2019-07-01': + from .v2019_07_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2019-08-01': + from .v2019_08_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2019-12-01': + from .v2019_12_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2020-03-01': + from .v2020_03_01.operations import NetworkManagementClientOperationsMixin as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import NetworkManagementClientOperationsMixin as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + mixin_instance = OperationClass() + mixin_instance._client = self._client + mixin_instance.config = self.config + mixin_instance._serialize = Serializer(self._models_dict(api_version)) + mixin_instance._deserialize = Deserializer(self._models_dict(api_version)) + mixin_instance.api_version = api_version + return mixin_instance.supported_security_providers(resource_group_name, virtual_wan_name, custom_headers, raw, **operation_config) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/models.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/models.py new file mode 100644 index 00000000000..0519af88823 --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/models.py @@ -0,0 +1,10 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- +from .v2018_07_01.models import * +from .v2019_02_01.models import * +from .v2019_07_01.models import * +from .v2020_04_01.models import * diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/__init__.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/__init__.py similarity index 100% rename from src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/__init__.py rename to src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/__init__.py diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/_configuration.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/_configuration.py similarity index 100% rename from src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/_configuration.py rename to src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/_configuration.py diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/_network_management_client.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/_network_management_client.py new file mode 100644 index 00000000000..14f4f8aa420 --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/_network_management_client.py @@ -0,0 +1,516 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.service_client import SDKClient +from msrest import Serializer, Deserializer + +from ._configuration import NetworkManagementClientConfiguration +from .operations import NetworkManagementClientOperationsMixin +from .operations import ApplicationGatewaysOperations +from .operations import ApplicationSecurityGroupsOperations +from .operations import AvailableDelegationsOperations +from .operations import AvailableResourceGroupDelegationsOperations +from .operations import AvailableServiceAliasesOperations +from .operations import AzureFirewallsOperations +from .operations import AzureFirewallFqdnTagsOperations +from .operations import BastionHostsOperations +from .operations import DdosCustomPoliciesOperations +from .operations import DdosProtectionPlansOperations +from .operations import AvailableEndpointServicesOperations +from .operations import ExpressRouteCircuitAuthorizationsOperations +from .operations import ExpressRouteCircuitPeeringsOperations +from .operations import ExpressRouteCircuitConnectionsOperations +from .operations import PeerExpressRouteCircuitConnectionsOperations +from .operations import ExpressRouteCircuitsOperations +from .operations import ExpressRouteServiceProvidersOperations +from .operations import ExpressRouteCrossConnectionsOperations +from .operations import ExpressRouteCrossConnectionPeeringsOperations +from .operations import ExpressRoutePortsLocationsOperations +from .operations import ExpressRoutePortsOperations +from .operations import ExpressRouteLinksOperations +from .operations import FirewallPoliciesOperations +from .operations import FirewallPolicyRuleGroupsOperations +from .operations import IpAllocationsOperations +from .operations import IpGroupsOperations +from .operations import LoadBalancersOperations +from .operations import LoadBalancerBackendAddressPoolsOperations +from .operations import LoadBalancerFrontendIPConfigurationsOperations +from .operations import InboundNatRulesOperations +from .operations import LoadBalancerLoadBalancingRulesOperations +from .operations import LoadBalancerOutboundRulesOperations +from .operations import LoadBalancerNetworkInterfacesOperations +from .operations import LoadBalancerProbesOperations +from .operations import NatGatewaysOperations +from .operations import NetworkInterfacesOperations +from .operations import NetworkInterfaceIPConfigurationsOperations +from .operations import NetworkInterfaceLoadBalancersOperations +from .operations import NetworkInterfaceTapConfigurationsOperations +from .operations import NetworkProfilesOperations +from .operations import NetworkSecurityGroupsOperations +from .operations import SecurityRulesOperations +from .operations import DefaultSecurityRulesOperations +from .operations import NetworkVirtualAppliancesOperations +from .operations import NetworkWatchersOperations +from .operations import PacketCapturesOperations +from .operations import ConnectionMonitorsOperations +from .operations import FlowLogsOperations +from .operations import Operations +from .operations import PrivateEndpointsOperations +from .operations import AvailablePrivateEndpointTypesOperations +from .operations import PrivateDnsZoneGroupsOperations +from .operations import PrivateLinkServicesOperations +from .operations import PublicIPAddressesOperations +from .operations import PublicIPPrefixesOperations +from .operations import RouteFiltersOperations +from .operations import RouteFilterRulesOperations +from .operations import RouteTablesOperations +from .operations import RoutesOperations +from .operations import SecurityPartnerProvidersOperations +from .operations import BgpServiceCommunitiesOperations +from .operations import ServiceEndpointPoliciesOperations +from .operations import ServiceEndpointPolicyDefinitionsOperations +from .operations import ServiceTagsOperations +from .operations import UsagesOperations +from .operations import VirtualNetworksOperations +from .operations import SubnetsOperations +from .operations import ResourceNavigationLinksOperations +from .operations import ServiceAssociationLinksOperations +from .operations import VirtualNetworkPeeringsOperations +from .operations import VirtualNetworkGatewaysOperations +from .operations import VirtualNetworkGatewayConnectionsOperations +from .operations import LocalNetworkGatewaysOperations +from .operations import VirtualNetworkTapsOperations +from .operations import VirtualRoutersOperations +from .operations import VirtualRouterPeeringsOperations +from .operations import VirtualWansOperations +from .operations import VpnSitesOperations +from .operations import VpnSiteLinksOperations +from .operations import VpnSitesConfigurationOperations +from .operations import VpnServerConfigurationsOperations +from .operations import VirtualHubsOperations +from .operations import HubVirtualNetworkConnectionsOperations +from .operations import VpnGatewaysOperations +from .operations import VpnConnectionsOperations +from .operations import VpnSiteLinkConnectionsOperations +from .operations import VpnLinkConnectionsOperations +from .operations import P2sVpnGatewaysOperations +from .operations import VpnServerConfigurationsAssociatedWithVirtualWanOperations +from .operations import VirtualHubRouteTableV2sOperations +from .operations import ExpressRouteGatewaysOperations +from .operations import ExpressRouteConnectionsOperations +from .operations import HubRouteTablesOperations +from .operations import WebApplicationFirewallPoliciesOperations +from . import models + + +class NetworkManagementClient(NetworkManagementClientOperationsMixin, SDKClient): + """Network Client + + :ivar config: Configuration for client. + :vartype config: NetworkManagementClientConfiguration + + :ivar application_gateways: ApplicationGateways operations + :vartype application_gateways: azure.mgmt.network.v2020_04_01.operations.ApplicationGatewaysOperations + :ivar application_security_groups: ApplicationSecurityGroups operations + :vartype application_security_groups: azure.mgmt.network.v2020_04_01.operations.ApplicationSecurityGroupsOperations + :ivar available_delegations: AvailableDelegations operations + :vartype available_delegations: azure.mgmt.network.v2020_04_01.operations.AvailableDelegationsOperations + :ivar available_resource_group_delegations: AvailableResourceGroupDelegations operations + :vartype available_resource_group_delegations: azure.mgmt.network.v2020_04_01.operations.AvailableResourceGroupDelegationsOperations + :ivar available_service_aliases: AvailableServiceAliases operations + :vartype available_service_aliases: azure.mgmt.network.v2020_04_01.operations.AvailableServiceAliasesOperations + :ivar azure_firewalls: AzureFirewalls operations + :vartype azure_firewalls: azure.mgmt.network.v2020_04_01.operations.AzureFirewallsOperations + :ivar azure_firewall_fqdn_tags: AzureFirewallFqdnTags operations + :vartype azure_firewall_fqdn_tags: azure.mgmt.network.v2020_04_01.operations.AzureFirewallFqdnTagsOperations + :ivar bastion_hosts: BastionHosts operations + :vartype bastion_hosts: azure.mgmt.network.v2020_04_01.operations.BastionHostsOperations + :ivar ddos_custom_policies: DdosCustomPolicies operations + :vartype ddos_custom_policies: azure.mgmt.network.v2020_04_01.operations.DdosCustomPoliciesOperations + :ivar ddos_protection_plans: DdosProtectionPlans operations + :vartype ddos_protection_plans: azure.mgmt.network.v2020_04_01.operations.DdosProtectionPlansOperations + :ivar available_endpoint_services: AvailableEndpointServices operations + :vartype available_endpoint_services: azure.mgmt.network.v2020_04_01.operations.AvailableEndpointServicesOperations + :ivar express_route_circuit_authorizations: ExpressRouteCircuitAuthorizations operations + :vartype express_route_circuit_authorizations: azure.mgmt.network.v2020_04_01.operations.ExpressRouteCircuitAuthorizationsOperations + :ivar express_route_circuit_peerings: ExpressRouteCircuitPeerings operations + :vartype express_route_circuit_peerings: azure.mgmt.network.v2020_04_01.operations.ExpressRouteCircuitPeeringsOperations + :ivar express_route_circuit_connections: ExpressRouteCircuitConnections operations + :vartype express_route_circuit_connections: azure.mgmt.network.v2020_04_01.operations.ExpressRouteCircuitConnectionsOperations + :ivar peer_express_route_circuit_connections: PeerExpressRouteCircuitConnections operations + :vartype peer_express_route_circuit_connections: azure.mgmt.network.v2020_04_01.operations.PeerExpressRouteCircuitConnectionsOperations + :ivar express_route_circuits: ExpressRouteCircuits operations + :vartype express_route_circuits: azure.mgmt.network.v2020_04_01.operations.ExpressRouteCircuitsOperations + :ivar express_route_service_providers: ExpressRouteServiceProviders operations + :vartype express_route_service_providers: azure.mgmt.network.v2020_04_01.operations.ExpressRouteServiceProvidersOperations + :ivar express_route_cross_connections: ExpressRouteCrossConnections operations + :vartype express_route_cross_connections: azure.mgmt.network.v2020_04_01.operations.ExpressRouteCrossConnectionsOperations + :ivar express_route_cross_connection_peerings: ExpressRouteCrossConnectionPeerings operations + :vartype express_route_cross_connection_peerings: azure.mgmt.network.v2020_04_01.operations.ExpressRouteCrossConnectionPeeringsOperations + :ivar express_route_ports_locations: ExpressRoutePortsLocations operations + :vartype express_route_ports_locations: azure.mgmt.network.v2020_04_01.operations.ExpressRoutePortsLocationsOperations + :ivar express_route_ports: ExpressRoutePorts operations + :vartype express_route_ports: azure.mgmt.network.v2020_04_01.operations.ExpressRoutePortsOperations + :ivar express_route_links: ExpressRouteLinks operations + :vartype express_route_links: azure.mgmt.network.v2020_04_01.operations.ExpressRouteLinksOperations + :ivar firewall_policies: FirewallPolicies operations + :vartype firewall_policies: azure.mgmt.network.v2020_04_01.operations.FirewallPoliciesOperations + :ivar firewall_policy_rule_groups: FirewallPolicyRuleGroups operations + :vartype firewall_policy_rule_groups: azure.mgmt.network.v2020_04_01.operations.FirewallPolicyRuleGroupsOperations + :ivar ip_allocations: IpAllocations operations + :vartype ip_allocations: azure.mgmt.network.v2020_04_01.operations.IpAllocationsOperations + :ivar ip_groups: IpGroups operations + :vartype ip_groups: azure.mgmt.network.v2020_04_01.operations.IpGroupsOperations + :ivar load_balancers: LoadBalancers operations + :vartype load_balancers: azure.mgmt.network.v2020_04_01.operations.LoadBalancersOperations + :ivar load_balancer_backend_address_pools: LoadBalancerBackendAddressPools operations + :vartype load_balancer_backend_address_pools: azure.mgmt.network.v2020_04_01.operations.LoadBalancerBackendAddressPoolsOperations + :ivar load_balancer_frontend_ip_configurations: LoadBalancerFrontendIPConfigurations operations + :vartype load_balancer_frontend_ip_configurations: azure.mgmt.network.v2020_04_01.operations.LoadBalancerFrontendIPConfigurationsOperations + :ivar inbound_nat_rules: InboundNatRules operations + :vartype inbound_nat_rules: azure.mgmt.network.v2020_04_01.operations.InboundNatRulesOperations + :ivar load_balancer_load_balancing_rules: LoadBalancerLoadBalancingRules operations + :vartype load_balancer_load_balancing_rules: azure.mgmt.network.v2020_04_01.operations.LoadBalancerLoadBalancingRulesOperations + :ivar load_balancer_outbound_rules: LoadBalancerOutboundRules operations + :vartype load_balancer_outbound_rules: azure.mgmt.network.v2020_04_01.operations.LoadBalancerOutboundRulesOperations + :ivar load_balancer_network_interfaces: LoadBalancerNetworkInterfaces operations + :vartype load_balancer_network_interfaces: azure.mgmt.network.v2020_04_01.operations.LoadBalancerNetworkInterfacesOperations + :ivar load_balancer_probes: LoadBalancerProbes operations + :vartype load_balancer_probes: azure.mgmt.network.v2020_04_01.operations.LoadBalancerProbesOperations + :ivar nat_gateways: NatGateways operations + :vartype nat_gateways: azure.mgmt.network.v2020_04_01.operations.NatGatewaysOperations + :ivar network_interfaces: NetworkInterfaces operations + :vartype network_interfaces: azure.mgmt.network.v2020_04_01.operations.NetworkInterfacesOperations + :ivar network_interface_ip_configurations: NetworkInterfaceIPConfigurations operations + :vartype network_interface_ip_configurations: azure.mgmt.network.v2020_04_01.operations.NetworkInterfaceIPConfigurationsOperations + :ivar network_interface_load_balancers: NetworkInterfaceLoadBalancers operations + :vartype network_interface_load_balancers: azure.mgmt.network.v2020_04_01.operations.NetworkInterfaceLoadBalancersOperations + :ivar network_interface_tap_configurations: NetworkInterfaceTapConfigurations operations + :vartype network_interface_tap_configurations: azure.mgmt.network.v2020_04_01.operations.NetworkInterfaceTapConfigurationsOperations + :ivar network_profiles: NetworkProfiles operations + :vartype network_profiles: azure.mgmt.network.v2020_04_01.operations.NetworkProfilesOperations + :ivar network_security_groups: NetworkSecurityGroups operations + :vartype network_security_groups: azure.mgmt.network.v2020_04_01.operations.NetworkSecurityGroupsOperations + :ivar security_rules: SecurityRules operations + :vartype security_rules: azure.mgmt.network.v2020_04_01.operations.SecurityRulesOperations + :ivar default_security_rules: DefaultSecurityRules operations + :vartype default_security_rules: azure.mgmt.network.v2020_04_01.operations.DefaultSecurityRulesOperations + :ivar network_virtual_appliances: NetworkVirtualAppliances operations + :vartype network_virtual_appliances: azure.mgmt.network.v2020_04_01.operations.NetworkVirtualAppliancesOperations + :ivar network_watchers: NetworkWatchers operations + :vartype network_watchers: azure.mgmt.network.v2020_04_01.operations.NetworkWatchersOperations + :ivar packet_captures: PacketCaptures operations + :vartype packet_captures: azure.mgmt.network.v2020_04_01.operations.PacketCapturesOperations + :ivar connection_monitors: ConnectionMonitors operations + :vartype connection_monitors: azure.mgmt.network.v2020_04_01.operations.ConnectionMonitorsOperations + :ivar flow_logs: FlowLogs operations + :vartype flow_logs: azure.mgmt.network.v2020_04_01.operations.FlowLogsOperations + :ivar operations: Operations operations + :vartype operations: azure.mgmt.network.v2020_04_01.operations.Operations + :ivar private_endpoints: PrivateEndpoints operations + :vartype private_endpoints: azure.mgmt.network.v2020_04_01.operations.PrivateEndpointsOperations + :ivar available_private_endpoint_types: AvailablePrivateEndpointTypes operations + :vartype available_private_endpoint_types: azure.mgmt.network.v2020_04_01.operations.AvailablePrivateEndpointTypesOperations + :ivar private_dns_zone_groups: PrivateDnsZoneGroups operations + :vartype private_dns_zone_groups: azure.mgmt.network.v2020_04_01.operations.PrivateDnsZoneGroupsOperations + :ivar private_link_services: PrivateLinkServices operations + :vartype private_link_services: azure.mgmt.network.v2020_04_01.operations.PrivateLinkServicesOperations + :ivar public_ip_addresses: PublicIPAddresses operations + :vartype public_ip_addresses: azure.mgmt.network.v2020_04_01.operations.PublicIPAddressesOperations + :ivar public_ip_prefixes: PublicIPPrefixes operations + :vartype public_ip_prefixes: azure.mgmt.network.v2020_04_01.operations.PublicIPPrefixesOperations + :ivar route_filters: RouteFilters operations + :vartype route_filters: azure.mgmt.network.v2020_04_01.operations.RouteFiltersOperations + :ivar route_filter_rules: RouteFilterRules operations + :vartype route_filter_rules: azure.mgmt.network.v2020_04_01.operations.RouteFilterRulesOperations + :ivar route_tables: RouteTables operations + :vartype route_tables: azure.mgmt.network.v2020_04_01.operations.RouteTablesOperations + :ivar routes: Routes operations + :vartype routes: azure.mgmt.network.v2020_04_01.operations.RoutesOperations + :ivar security_partner_providers: SecurityPartnerProviders operations + :vartype security_partner_providers: azure.mgmt.network.v2020_04_01.operations.SecurityPartnerProvidersOperations + :ivar bgp_service_communities: BgpServiceCommunities operations + :vartype bgp_service_communities: azure.mgmt.network.v2020_04_01.operations.BgpServiceCommunitiesOperations + :ivar service_endpoint_policies: ServiceEndpointPolicies operations + :vartype service_endpoint_policies: azure.mgmt.network.v2020_04_01.operations.ServiceEndpointPoliciesOperations + :ivar service_endpoint_policy_definitions: ServiceEndpointPolicyDefinitions operations + :vartype service_endpoint_policy_definitions: azure.mgmt.network.v2020_04_01.operations.ServiceEndpointPolicyDefinitionsOperations + :ivar service_tags: ServiceTags operations + :vartype service_tags: azure.mgmt.network.v2020_04_01.operations.ServiceTagsOperations + :ivar usages: Usages operations + :vartype usages: azure.mgmt.network.v2020_04_01.operations.UsagesOperations + :ivar virtual_networks: VirtualNetworks operations + :vartype virtual_networks: azure.mgmt.network.v2020_04_01.operations.VirtualNetworksOperations + :ivar subnets: Subnets operations + :vartype subnets: azure.mgmt.network.v2020_04_01.operations.SubnetsOperations + :ivar resource_navigation_links: ResourceNavigationLinks operations + :vartype resource_navigation_links: azure.mgmt.network.v2020_04_01.operations.ResourceNavigationLinksOperations + :ivar service_association_links: ServiceAssociationLinks operations + :vartype service_association_links: azure.mgmt.network.v2020_04_01.operations.ServiceAssociationLinksOperations + :ivar virtual_network_peerings: VirtualNetworkPeerings operations + :vartype virtual_network_peerings: azure.mgmt.network.v2020_04_01.operations.VirtualNetworkPeeringsOperations + :ivar virtual_network_gateways: VirtualNetworkGateways operations + :vartype virtual_network_gateways: azure.mgmt.network.v2020_04_01.operations.VirtualNetworkGatewaysOperations + :ivar virtual_network_gateway_connections: VirtualNetworkGatewayConnections operations + :vartype virtual_network_gateway_connections: azure.mgmt.network.v2020_04_01.operations.VirtualNetworkGatewayConnectionsOperations + :ivar local_network_gateways: LocalNetworkGateways operations + :vartype local_network_gateways: azure.mgmt.network.v2020_04_01.operations.LocalNetworkGatewaysOperations + :ivar virtual_network_taps: VirtualNetworkTaps operations + :vartype virtual_network_taps: azure.mgmt.network.v2020_04_01.operations.VirtualNetworkTapsOperations + :ivar virtual_routers: VirtualRouters operations + :vartype virtual_routers: azure.mgmt.network.v2020_04_01.operations.VirtualRoutersOperations + :ivar virtual_router_peerings: VirtualRouterPeerings operations + :vartype virtual_router_peerings: azure.mgmt.network.v2020_04_01.operations.VirtualRouterPeeringsOperations + :ivar virtual_wans: VirtualWans operations + :vartype virtual_wans: azure.mgmt.network.v2020_04_01.operations.VirtualWansOperations + :ivar vpn_sites: VpnSites operations + :vartype vpn_sites: azure.mgmt.network.v2020_04_01.operations.VpnSitesOperations + :ivar vpn_site_links: VpnSiteLinks operations + :vartype vpn_site_links: azure.mgmt.network.v2020_04_01.operations.VpnSiteLinksOperations + :ivar vpn_sites_configuration: VpnSitesConfiguration operations + :vartype vpn_sites_configuration: azure.mgmt.network.v2020_04_01.operations.VpnSitesConfigurationOperations + :ivar vpn_server_configurations: VpnServerConfigurations operations + :vartype vpn_server_configurations: azure.mgmt.network.v2020_04_01.operations.VpnServerConfigurationsOperations + :ivar virtual_hubs: VirtualHubs operations + :vartype virtual_hubs: azure.mgmt.network.v2020_04_01.operations.VirtualHubsOperations + :ivar hub_virtual_network_connections: HubVirtualNetworkConnections operations + :vartype hub_virtual_network_connections: azure.mgmt.network.v2020_04_01.operations.HubVirtualNetworkConnectionsOperations + :ivar vpn_gateways: VpnGateways operations + :vartype vpn_gateways: azure.mgmt.network.v2020_04_01.operations.VpnGatewaysOperations + :ivar vpn_connections: VpnConnections operations + :vartype vpn_connections: azure.mgmt.network.v2020_04_01.operations.VpnConnectionsOperations + :ivar vpn_site_link_connections: VpnSiteLinkConnections operations + :vartype vpn_site_link_connections: azure.mgmt.network.v2020_04_01.operations.VpnSiteLinkConnectionsOperations + :ivar vpn_link_connections: VpnLinkConnections operations + :vartype vpn_link_connections: azure.mgmt.network.v2020_04_01.operations.VpnLinkConnectionsOperations + :ivar p2s_vpn_gateways: P2sVpnGateways operations + :vartype p2s_vpn_gateways: azure.mgmt.network.v2020_04_01.operations.P2sVpnGatewaysOperations + :ivar vpn_server_configurations_associated_with_virtual_wan: VpnServerConfigurationsAssociatedWithVirtualWan operations + :vartype vpn_server_configurations_associated_with_virtual_wan: azure.mgmt.network.v2020_04_01.operations.VpnServerConfigurationsAssociatedWithVirtualWanOperations + :ivar virtual_hub_route_table_v2s: VirtualHubRouteTableV2s operations + :vartype virtual_hub_route_table_v2s: azure.mgmt.network.v2020_04_01.operations.VirtualHubRouteTableV2sOperations + :ivar express_route_gateways: ExpressRouteGateways operations + :vartype express_route_gateways: azure.mgmt.network.v2020_04_01.operations.ExpressRouteGatewaysOperations + :ivar express_route_connections: ExpressRouteConnections operations + :vartype express_route_connections: azure.mgmt.network.v2020_04_01.operations.ExpressRouteConnectionsOperations + :ivar hub_route_tables: HubRouteTables operations + :vartype hub_route_tables: azure.mgmt.network.v2020_04_01.operations.HubRouteTablesOperations + :ivar web_application_firewall_policies: WebApplicationFirewallPolicies operations + :vartype web_application_firewall_policies: azure.mgmt.network.v2020_04_01.operations.WebApplicationFirewallPoliciesOperations + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param subscription_id: The subscription credentials which uniquely + identify the Microsoft Azure subscription. The subscription ID forms part + of the URI for every service call. + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=None): + + self.config = NetworkManagementClientConfiguration(credentials, subscription_id, base_url) + super(NetworkManagementClient, self).__init__(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.application_gateways = ApplicationGatewaysOperations( + self._client, self.config, self._serialize, self._deserialize) + self.application_security_groups = ApplicationSecurityGroupsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.available_delegations = AvailableDelegationsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.available_resource_group_delegations = AvailableResourceGroupDelegationsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.available_service_aliases = AvailableServiceAliasesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.azure_firewalls = AzureFirewallsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.azure_firewall_fqdn_tags = AzureFirewallFqdnTagsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.bastion_hosts = BastionHostsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.ddos_custom_policies = DdosCustomPoliciesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.ddos_protection_plans = DdosProtectionPlansOperations( + self._client, self.config, self._serialize, self._deserialize) + self.available_endpoint_services = AvailableEndpointServicesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.express_route_circuit_authorizations = ExpressRouteCircuitAuthorizationsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.express_route_circuit_peerings = ExpressRouteCircuitPeeringsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.express_route_circuit_connections = ExpressRouteCircuitConnectionsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.peer_express_route_circuit_connections = PeerExpressRouteCircuitConnectionsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.express_route_circuits = ExpressRouteCircuitsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.express_route_service_providers = ExpressRouteServiceProvidersOperations( + self._client, self.config, self._serialize, self._deserialize) + self.express_route_cross_connections = ExpressRouteCrossConnectionsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.express_route_cross_connection_peerings = ExpressRouteCrossConnectionPeeringsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.express_route_ports_locations = ExpressRoutePortsLocationsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.express_route_ports = ExpressRoutePortsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.express_route_links = ExpressRouteLinksOperations( + self._client, self.config, self._serialize, self._deserialize) + self.firewall_policies = FirewallPoliciesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.firewall_policy_rule_groups = FirewallPolicyRuleGroupsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.ip_allocations = IpAllocationsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.ip_groups = IpGroupsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.load_balancers = LoadBalancersOperations( + self._client, self.config, self._serialize, self._deserialize) + self.load_balancer_backend_address_pools = LoadBalancerBackendAddressPoolsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.load_balancer_frontend_ip_configurations = LoadBalancerFrontendIPConfigurationsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.inbound_nat_rules = InboundNatRulesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.load_balancer_load_balancing_rules = LoadBalancerLoadBalancingRulesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.load_balancer_outbound_rules = LoadBalancerOutboundRulesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.load_balancer_network_interfaces = LoadBalancerNetworkInterfacesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.load_balancer_probes = LoadBalancerProbesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.nat_gateways = NatGatewaysOperations( + self._client, self.config, self._serialize, self._deserialize) + self.network_interfaces = NetworkInterfacesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.network_interface_ip_configurations = NetworkInterfaceIPConfigurationsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.network_interface_load_balancers = NetworkInterfaceLoadBalancersOperations( + self._client, self.config, self._serialize, self._deserialize) + self.network_interface_tap_configurations = NetworkInterfaceTapConfigurationsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.network_profiles = NetworkProfilesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.network_security_groups = NetworkSecurityGroupsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.security_rules = SecurityRulesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.default_security_rules = DefaultSecurityRulesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.network_virtual_appliances = NetworkVirtualAppliancesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.network_watchers = NetworkWatchersOperations( + self._client, self.config, self._serialize, self._deserialize) + self.packet_captures = PacketCapturesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.connection_monitors = ConnectionMonitorsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.flow_logs = FlowLogsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.operations = Operations( + self._client, self.config, self._serialize, self._deserialize) + self.private_endpoints = PrivateEndpointsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.available_private_endpoint_types = AvailablePrivateEndpointTypesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.private_dns_zone_groups = PrivateDnsZoneGroupsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.private_link_services = PrivateLinkServicesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.public_ip_addresses = PublicIPAddressesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.public_ip_prefixes = PublicIPPrefixesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.route_filters = RouteFiltersOperations( + self._client, self.config, self._serialize, self._deserialize) + self.route_filter_rules = RouteFilterRulesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.route_tables = RouteTablesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.routes = RoutesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.security_partner_providers = SecurityPartnerProvidersOperations( + self._client, self.config, self._serialize, self._deserialize) + self.bgp_service_communities = BgpServiceCommunitiesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.service_endpoint_policies = ServiceEndpointPoliciesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.service_endpoint_policy_definitions = ServiceEndpointPolicyDefinitionsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.service_tags = ServiceTagsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.usages = UsagesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.virtual_networks = VirtualNetworksOperations( + self._client, self.config, self._serialize, self._deserialize) + self.subnets = SubnetsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.resource_navigation_links = ResourceNavigationLinksOperations( + self._client, self.config, self._serialize, self._deserialize) + self.service_association_links = ServiceAssociationLinksOperations( + self._client, self.config, self._serialize, self._deserialize) + self.virtual_network_peerings = VirtualNetworkPeeringsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.virtual_network_gateways = VirtualNetworkGatewaysOperations( + self._client, self.config, self._serialize, self._deserialize) + self.virtual_network_gateway_connections = VirtualNetworkGatewayConnectionsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.local_network_gateways = LocalNetworkGatewaysOperations( + self._client, self.config, self._serialize, self._deserialize) + self.virtual_network_taps = VirtualNetworkTapsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.virtual_routers = VirtualRoutersOperations( + self._client, self.config, self._serialize, self._deserialize) + self.virtual_router_peerings = VirtualRouterPeeringsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.virtual_wans = VirtualWansOperations( + self._client, self.config, self._serialize, self._deserialize) + self.vpn_sites = VpnSitesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.vpn_site_links = VpnSiteLinksOperations( + self._client, self.config, self._serialize, self._deserialize) + self.vpn_sites_configuration = VpnSitesConfigurationOperations( + self._client, self.config, self._serialize, self._deserialize) + self.vpn_server_configurations = VpnServerConfigurationsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.virtual_hubs = VirtualHubsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.hub_virtual_network_connections = HubVirtualNetworkConnectionsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.vpn_gateways = VpnGatewaysOperations( + self._client, self.config, self._serialize, self._deserialize) + self.vpn_connections = VpnConnectionsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.vpn_site_link_connections = VpnSiteLinkConnectionsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.vpn_link_connections = VpnLinkConnectionsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.p2s_vpn_gateways = P2sVpnGatewaysOperations( + self._client, self.config, self._serialize, self._deserialize) + self.vpn_server_configurations_associated_with_virtual_wan = VpnServerConfigurationsAssociatedWithVirtualWanOperations( + self._client, self.config, self._serialize, self._deserialize) + self.virtual_hub_route_table_v2s = VirtualHubRouteTableV2sOperations( + self._client, self.config, self._serialize, self._deserialize) + self.express_route_gateways = ExpressRouteGatewaysOperations( + self._client, self.config, self._serialize, self._deserialize) + self.express_route_connections = ExpressRouteConnectionsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.hub_route_tables = HubRouteTablesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.web_application_firewall_policies = WebApplicationFirewallPoliciesOperations( + self._client, self.config, self._serialize, self._deserialize) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/models/__init__.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/models/__init__.py new file mode 100644 index 00000000000..ab25222309b --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/models/__init__.py @@ -0,0 +1,1667 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +try: + from ._models_py3 import AadAuthenticationParameters + from ._models_py3 import AddressSpace + from ._models_py3 import ApplicationGateway + from ._models_py3 import ApplicationGatewayAuthenticationCertificate + from ._models_py3 import ApplicationGatewayAutoscaleConfiguration + from ._models_py3 import ApplicationGatewayAvailableSslOptions + from ._models_py3 import ApplicationGatewayAvailableWafRuleSetsResult + from ._models_py3 import ApplicationGatewayBackendAddress + from ._models_py3 import ApplicationGatewayBackendAddressPool + from ._models_py3 import ApplicationGatewayBackendHealth + from ._models_py3 import ApplicationGatewayBackendHealthHttpSettings + from ._models_py3 import ApplicationGatewayBackendHealthOnDemand + from ._models_py3 import ApplicationGatewayBackendHealthPool + from ._models_py3 import ApplicationGatewayBackendHealthServer + from ._models_py3 import ApplicationGatewayBackendHttpSettings + from ._models_py3 import ApplicationGatewayConnectionDraining + from ._models_py3 import ApplicationGatewayCustomError + from ._models_py3 import ApplicationGatewayFirewallDisabledRuleGroup + from ._models_py3 import ApplicationGatewayFirewallExclusion + from ._models_py3 import ApplicationGatewayFirewallRule + from ._models_py3 import ApplicationGatewayFirewallRuleGroup + from ._models_py3 import ApplicationGatewayFirewallRuleSet + from ._models_py3 import ApplicationGatewayFrontendIPConfiguration + from ._models_py3 import ApplicationGatewayFrontendPort + from ._models_py3 import ApplicationGatewayHeaderConfiguration + from ._models_py3 import ApplicationGatewayHttpListener + from ._models_py3 import ApplicationGatewayIPConfiguration + from ._models_py3 import ApplicationGatewayOnDemandProbe + from ._models_py3 import ApplicationGatewayPathRule + from ._models_py3 import ApplicationGatewayProbe + from ._models_py3 import ApplicationGatewayProbeHealthResponseMatch + from ._models_py3 import ApplicationGatewayRedirectConfiguration + from ._models_py3 import ApplicationGatewayRequestRoutingRule + from ._models_py3 import ApplicationGatewayRewriteRule + from ._models_py3 import ApplicationGatewayRewriteRuleActionSet + from ._models_py3 import ApplicationGatewayRewriteRuleCondition + from ._models_py3 import ApplicationGatewayRewriteRuleSet + from ._models_py3 import ApplicationGatewaySku + from ._models_py3 import ApplicationGatewaySslCertificate + from ._models_py3 import ApplicationGatewaySslPolicy + from ._models_py3 import ApplicationGatewaySslPredefinedPolicy + from ._models_py3 import ApplicationGatewayTrustedRootCertificate + from ._models_py3 import ApplicationGatewayUrlConfiguration + from ._models_py3 import ApplicationGatewayUrlPathMap + from ._models_py3 import ApplicationGatewayWebApplicationFirewallConfiguration + from ._models_py3 import ApplicationRuleCondition + from ._models_py3 import ApplicationSecurityGroup + from ._models_py3 import AutoApprovedPrivateLinkService + from ._models_py3 import Availability + from ._models_py3 import AvailableDelegation + from ._models_py3 import AvailablePrivateEndpointType + from ._models_py3 import AvailableProvidersList + from ._models_py3 import AvailableProvidersListCity + from ._models_py3 import AvailableProvidersListCountry + from ._models_py3 import AvailableProvidersListParameters + from ._models_py3 import AvailableProvidersListState + from ._models_py3 import AvailableServiceAlias + from ._models_py3 import AzureAsyncOperationResult + from ._models_py3 import AzureFirewall + from ._models_py3 import AzureFirewallApplicationRule + from ._models_py3 import AzureFirewallApplicationRuleCollection + from ._models_py3 import AzureFirewallApplicationRuleProtocol + from ._models_py3 import AzureFirewallFqdnTag + from ._models_py3 import AzureFirewallIPConfiguration + from ._models_py3 import AzureFirewallIpGroups + from ._models_py3 import AzureFirewallNatRCAction + from ._models_py3 import AzureFirewallNatRule + from ._models_py3 import AzureFirewallNatRuleCollection + from ._models_py3 import AzureFirewallNetworkRule + from ._models_py3 import AzureFirewallNetworkRuleCollection + from ._models_py3 import AzureFirewallPublicIPAddress + from ._models_py3 import AzureFirewallRCAction + from ._models_py3 import AzureFirewallSku + from ._models_py3 import AzureReachabilityReport + from ._models_py3 import AzureReachabilityReportItem + from ._models_py3 import AzureReachabilityReportLatencyInfo + from ._models_py3 import AzureReachabilityReportLocation + from ._models_py3 import AzureReachabilityReportParameters + from ._models_py3 import BackendAddressPool + from ._models_py3 import BastionActiveSession + from ._models_py3 import BastionActiveSessionListResult + from ._models_py3 import BastionHost + from ._models_py3 import BastionHostIPConfiguration + from ._models_py3 import BastionSessionState + from ._models_py3 import BastionShareableLink + from ._models_py3 import BastionShareableLinkListRequest + from ._models_py3 import BastionShareableLinkListResult + from ._models_py3 import BGPCommunity + from ._models_py3 import BgpPeerStatus + from ._models_py3 import BgpPeerStatusListResult + from ._models_py3 import BgpServiceCommunity + from ._models_py3 import BgpSettings + from ._models_py3 import CheckPrivateLinkServiceVisibilityRequest + from ._models_py3 import ConnectionMonitor + from ._models_py3 import ConnectionMonitorDestination + from ._models_py3 import ConnectionMonitorEndpoint + from ._models_py3 import ConnectionMonitorEndpointFilter + from ._models_py3 import ConnectionMonitorEndpointFilterItem + from ._models_py3 import ConnectionMonitorHttpConfiguration + from ._models_py3 import ConnectionMonitorIcmpConfiguration + from ._models_py3 import ConnectionMonitorOutput + from ._models_py3 import ConnectionMonitorParameters + from ._models_py3 import ConnectionMonitorQueryResult + from ._models_py3 import ConnectionMonitorResult + from ._models_py3 import ConnectionMonitorSource + from ._models_py3 import ConnectionMonitorSuccessThreshold + from ._models_py3 import ConnectionMonitorTcpConfiguration + from ._models_py3 import ConnectionMonitorTestConfiguration + from ._models_py3 import ConnectionMonitorTestGroup + from ._models_py3 import ConnectionMonitorWorkspaceSettings + from ._models_py3 import ConnectionResetSharedKey + from ._models_py3 import ConnectionSharedKey + from ._models_py3 import ConnectionStateSnapshot + from ._models_py3 import ConnectivityDestination + from ._models_py3 import ConnectivityHop + from ._models_py3 import ConnectivityInformation + from ._models_py3 import ConnectivityIssue + from ._models_py3 import ConnectivityParameters + from ._models_py3 import ConnectivitySource + from ._models_py3 import Container + from ._models_py3 import ContainerNetworkInterface + from ._models_py3 import ContainerNetworkInterfaceConfiguration + from ._models_py3 import ContainerNetworkInterfaceIpConfiguration + from ._models_py3 import CustomDnsConfigPropertiesFormat + from ._models_py3 import DdosCustomPolicy + from ._models_py3 import DdosProtectionPlan + from ._models_py3 import DdosSettings + from ._models_py3 import Delegation + from ._models_py3 import DeviceProperties + from ._models_py3 import DhcpOptions + from ._models_py3 import Dimension + from ._models_py3 import DnsNameAvailabilityResult + from ._models_py3 import EffectiveNetworkSecurityGroup + from ._models_py3 import EffectiveNetworkSecurityGroupAssociation + from ._models_py3 import EffectiveNetworkSecurityGroupListResult + from ._models_py3 import EffectiveNetworkSecurityRule + from ._models_py3 import EffectiveRoute + from ._models_py3 import EffectiveRouteListResult + from ._models_py3 import EndpointServiceResult + from ._models_py3 import Error, ErrorException + from ._models_py3 import ErrorDetails + from ._models_py3 import ErrorResponse, ErrorResponseException + from ._models_py3 import EvaluatedNetworkSecurityGroup + from ._models_py3 import ExpressRouteCircuit + from ._models_py3 import ExpressRouteCircuitArpTable + from ._models_py3 import ExpressRouteCircuitAuthorization + from ._models_py3 import ExpressRouteCircuitConnection + from ._models_py3 import ExpressRouteCircuitPeering + from ._models_py3 import ExpressRouteCircuitPeeringConfig + from ._models_py3 import ExpressRouteCircuitPeeringId + from ._models_py3 import ExpressRouteCircuitReference + from ._models_py3 import ExpressRouteCircuitRoutesTable + from ._models_py3 import ExpressRouteCircuitRoutesTableSummary + from ._models_py3 import ExpressRouteCircuitsArpTableListResult + from ._models_py3 import ExpressRouteCircuitServiceProviderProperties + from ._models_py3 import ExpressRouteCircuitSku + from ._models_py3 import ExpressRouteCircuitsRoutesTableListResult + from ._models_py3 import ExpressRouteCircuitsRoutesTableSummaryListResult + from ._models_py3 import ExpressRouteCircuitStats + from ._models_py3 import ExpressRouteConnection + from ._models_py3 import ExpressRouteConnectionId + from ._models_py3 import ExpressRouteConnectionList + from ._models_py3 import ExpressRouteCrossConnection + from ._models_py3 import ExpressRouteCrossConnectionPeering + from ._models_py3 import ExpressRouteCrossConnectionRoutesTableSummary + from ._models_py3 import ExpressRouteCrossConnectionsRoutesTableSummaryListResult + from ._models_py3 import ExpressRouteGateway + from ._models_py3 import ExpressRouteGatewayList + from ._models_py3 import ExpressRouteGatewayPropertiesAutoScaleConfiguration + from ._models_py3 import ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds + from ._models_py3 import ExpressRouteLink + from ._models_py3 import ExpressRouteLinkMacSecConfig + from ._models_py3 import ExpressRoutePort + from ._models_py3 import ExpressRoutePortsLocation + from ._models_py3 import ExpressRoutePortsLocationBandwidths + from ._models_py3 import ExpressRouteServiceProvider + from ._models_py3 import ExpressRouteServiceProviderBandwidthsOffered + from ._models_py3 import FirewallPolicy + from ._models_py3 import FirewallPolicyCertificateAuthority + from ._models_py3 import FirewallPolicyFilterRule + from ._models_py3 import FirewallPolicyFilterRuleAction + from ._models_py3 import FirewallPolicyNatRule + from ._models_py3 import FirewallPolicyNatRuleAction + from ._models_py3 import FirewallPolicyRule + from ._models_py3 import FirewallPolicyRuleCondition + from ._models_py3 import FirewallPolicyRuleConditionApplicationProtocol + from ._models_py3 import FirewallPolicyRuleGroup + from ._models_py3 import FirewallPolicyThreatIntelWhitelist + from ._models_py3 import FirewallPolicyTransportSecurity + from ._models_py3 import FirewallPolicyTrustedRootCertificate + from ._models_py3 import FlowLog + from ._models_py3 import FlowLogFormatParameters + from ._models_py3 import FlowLogInformation + from ._models_py3 import FlowLogStatusParameters + from ._models_py3 import FrontendIPConfiguration + from ._models_py3 import GatewayRoute + from ._models_py3 import GatewayRouteListResult + from ._models_py3 import GetVpnSitesConfigurationRequest + from ._models_py3 import HTTPConfiguration + from ._models_py3 import HTTPHeader + from ._models_py3 import HubIPAddresses + from ._models_py3 import HubRoute + from ._models_py3 import HubRouteTable + from ._models_py3 import HubVirtualNetworkConnection + from ._models_py3 import InboundNatPool + from ._models_py3 import InboundNatRule + from ._models_py3 import IPAddressAvailabilityResult + from ._models_py3 import IpAllocation + from ._models_py3 import IPConfiguration + from ._models_py3 import IPConfigurationBgpPeeringAddress + from ._models_py3 import IPConfigurationProfile + from ._models_py3 import IpGroup + from ._models_py3 import IpsecPolicy + from ._models_py3 import IpTag + from ._models_py3 import Ipv6CircuitConnectionConfig + from ._models_py3 import Ipv6ExpressRouteCircuitPeeringConfig + from ._models_py3 import LoadBalancer + from ._models_py3 import LoadBalancerBackendAddress + from ._models_py3 import LoadBalancerSku + from ._models_py3 import LoadBalancingRule + from ._models_py3 import LocalNetworkGateway + from ._models_py3 import LogSpecification + from ._models_py3 import ManagedRuleGroupOverride + from ._models_py3 import ManagedRuleOverride + from ._models_py3 import ManagedRulesDefinition + from ._models_py3 import ManagedRuleSet + from ._models_py3 import ManagedServiceIdentity + from ._models_py3 import ManagedServiceIdentityUserAssignedIdentitiesValue + from ._models_py3 import MatchCondition + from ._models_py3 import MatchedRule + from ._models_py3 import MatchVariable + from ._models_py3 import MetricSpecification + from ._models_py3 import NatGateway + from ._models_py3 import NatGatewaySku + from ._models_py3 import NatRuleCondition + from ._models_py3 import NetworkConfigurationDiagnosticParameters + from ._models_py3 import NetworkConfigurationDiagnosticProfile + from ._models_py3 import NetworkConfigurationDiagnosticResponse + from ._models_py3 import NetworkConfigurationDiagnosticResult + from ._models_py3 import NetworkIntentPolicy + from ._models_py3 import NetworkIntentPolicyConfiguration + from ._models_py3 import NetworkInterface + from ._models_py3 import NetworkInterfaceAssociation + from ._models_py3 import NetworkInterfaceDnsSettings + from ._models_py3 import NetworkInterfaceIPConfiguration + from ._models_py3 import NetworkInterfaceIPConfigurationPrivateLinkConnectionProperties + from ._models_py3 import NetworkInterfaceTapConfiguration + from ._models_py3 import NetworkProfile + from ._models_py3 import NetworkRuleCondition + from ._models_py3 import NetworkSecurityGroup + from ._models_py3 import NetworkSecurityGroupResult + from ._models_py3 import NetworkSecurityRulesEvaluationResult + from ._models_py3 import NetworkVirtualAppliance + from ._models_py3 import NetworkWatcher + from ._models_py3 import NextHopParameters + from ._models_py3 import NextHopResult + from ._models_py3 import Operation + from ._models_py3 import OperationDisplay + from ._models_py3 import OperationPropertiesFormatServiceSpecification + from ._models_py3 import OutboundRule + from ._models_py3 import OwaspCrsExclusionEntry + from ._models_py3 import P2SConnectionConfiguration + from ._models_py3 import P2SVpnConnectionHealth + from ._models_py3 import P2SVpnConnectionHealthRequest + from ._models_py3 import P2SVpnConnectionRequest + from ._models_py3 import P2SVpnGateway + from ._models_py3 import P2SVpnProfileParameters + from ._models_py3 import PacketCapture + from ._models_py3 import PacketCaptureFilter + from ._models_py3 import PacketCaptureParameters + from ._models_py3 import PacketCaptureQueryStatusResult + from ._models_py3 import PacketCaptureResult + from ._models_py3 import PacketCaptureStorageLocation + from ._models_py3 import PatchRouteFilter + from ._models_py3 import PatchRouteFilterRule + from ._models_py3 import PeerExpressRouteCircuitConnection + from ._models_py3 import PolicySettings + from ._models_py3 import PrepareNetworkPoliciesRequest + from ._models_py3 import PrivateDnsZoneConfig + from ._models_py3 import PrivateDnsZoneGroup + from ._models_py3 import PrivateEndpoint + from ._models_py3 import PrivateEndpointConnection + from ._models_py3 import PrivateLinkService + from ._models_py3 import PrivateLinkServiceConnection + from ._models_py3 import PrivateLinkServiceConnectionState + from ._models_py3 import PrivateLinkServiceIpConfiguration + from ._models_py3 import PrivateLinkServicePropertiesAutoApproval + from ._models_py3 import PrivateLinkServicePropertiesVisibility + from ._models_py3 import PrivateLinkServiceVisibility + from ._models_py3 import Probe + from ._models_py3 import PropagatedRouteTable + from ._models_py3 import ProtocolConfiguration + from ._models_py3 import ProtocolCustomSettingsFormat + from ._models_py3 import PublicIPAddress + from ._models_py3 import PublicIPAddressDnsSettings + from ._models_py3 import PublicIPAddressSku + from ._models_py3 import PublicIPPrefix + from ._models_py3 import PublicIPPrefixSku + from ._models_py3 import QueryTroubleshootingParameters + from ._models_py3 import RadiusServer + from ._models_py3 import RecordSet + from ._models_py3 import ReferencedPublicIpAddress + from ._models_py3 import Resource + from ._models_py3 import ResourceNavigationLink + from ._models_py3 import ResourceNavigationLinksListResult + from ._models_py3 import ResourceSet + from ._models_py3 import RetentionPolicyParameters + from ._models_py3 import Route + from ._models_py3 import RouteFilter + from ._models_py3 import RouteFilterRule + from ._models_py3 import RouteTable + from ._models_py3 import RoutingConfiguration + from ._models_py3 import SecurityGroupNetworkInterface + from ._models_py3 import SecurityGroupViewParameters + from ._models_py3 import SecurityGroupViewResult + from ._models_py3 import SecurityPartnerProvider + from ._models_py3 import SecurityRule + from ._models_py3 import SecurityRuleAssociations + from ._models_py3 import ServiceAssociationLink + from ._models_py3 import ServiceAssociationLinksListResult + from ._models_py3 import ServiceEndpointPolicy + from ._models_py3 import ServiceEndpointPolicyDefinition + from ._models_py3 import ServiceEndpointPropertiesFormat + from ._models_py3 import ServiceTagInformation + from ._models_py3 import ServiceTagInformationPropertiesFormat + from ._models_py3 import ServiceTagsListResult + from ._models_py3 import SessionIds + from ._models_py3 import StaticRoute + from ._models_py3 import Subnet + from ._models_py3 import SubnetAssociation + from ._models_py3 import SubResource + from ._models_py3 import TagsObject + from ._models_py3 import Topology + from ._models_py3 import TopologyAssociation + from ._models_py3 import TopologyParameters + from ._models_py3 import TopologyResource + from ._models_py3 import TrafficAnalyticsConfigurationProperties + from ._models_py3 import TrafficAnalyticsProperties + from ._models_py3 import TrafficSelectorPolicy + from ._models_py3 import TroubleshootingDetails + from ._models_py3 import TroubleshootingParameters + from ._models_py3 import TroubleshootingRecommendedActions + from ._models_py3 import TroubleshootingResult + from ._models_py3 import TunnelConnectionHealth + from ._models_py3 import UnprepareNetworkPoliciesRequest + from ._models_py3 import Usage + from ._models_py3 import UsageName + from ._models_py3 import VerificationIPFlowParameters + from ._models_py3 import VerificationIPFlowResult + from ._models_py3 import VirtualApplianceNicProperties + from ._models_py3 import VirtualApplianceSkuProperties + from ._models_py3 import VirtualHub + from ._models_py3 import VirtualHubId + from ._models_py3 import VirtualHubRoute + from ._models_py3 import VirtualHubRouteTable + from ._models_py3 import VirtualHubRouteTableV2 + from ._models_py3 import VirtualHubRouteV2 + from ._models_py3 import VirtualNetwork + from ._models_py3 import VirtualNetworkBgpCommunities + from ._models_py3 import VirtualNetworkConnectionGatewayReference + from ._models_py3 import VirtualNetworkGateway + from ._models_py3 import VirtualNetworkGatewayConnection + from ._models_py3 import VirtualNetworkGatewayConnectionListEntity + from ._models_py3 import VirtualNetworkGatewayIPConfiguration + from ._models_py3 import VirtualNetworkGatewaySku + from ._models_py3 import VirtualNetworkPeering + from ._models_py3 import VirtualNetworkTap + from ._models_py3 import VirtualNetworkUsage + from ._models_py3 import VirtualNetworkUsageName + from ._models_py3 import VirtualRouter + from ._models_py3 import VirtualRouterPeering + from ._models_py3 import VirtualWAN + from ._models_py3 import VirtualWanSecurityProvider + from ._models_py3 import VirtualWanSecurityProviders + from ._models_py3 import VirtualWanVpnProfileParameters + from ._models_py3 import VM + from ._models_py3 import VnetRoute + from ._models_py3 import VpnClientConfiguration + from ._models_py3 import VpnClientConnectionHealth + from ._models_py3 import VpnClientConnectionHealthDetail + from ._models_py3 import VpnClientConnectionHealthDetailListResult + from ._models_py3 import VpnClientIPsecParameters + from ._models_py3 import VpnClientParameters + from ._models_py3 import VpnClientRevokedCertificate + from ._models_py3 import VpnClientRootCertificate + from ._models_py3 import VpnConnection + from ._models_py3 import VpnDeviceScriptParameters + from ._models_py3 import VpnGateway + from ._models_py3 import VpnLinkBgpSettings + from ._models_py3 import VpnLinkProviderProperties + from ._models_py3 import VpnPacketCaptureStartParameters + from ._models_py3 import VpnPacketCaptureStopParameters + from ._models_py3 import VpnProfileResponse + from ._models_py3 import VpnServerConfigRadiusClientRootCertificate + from ._models_py3 import VpnServerConfigRadiusServerRootCertificate + from ._models_py3 import VpnServerConfiguration + from ._models_py3 import VpnServerConfigurationsResponse + from ._models_py3 import VpnServerConfigVpnClientRevokedCertificate + from ._models_py3 import VpnServerConfigVpnClientRootCertificate + from ._models_py3 import VpnSite + from ._models_py3 import VpnSiteId + from ._models_py3 import VpnSiteLink + from ._models_py3 import VpnSiteLinkConnection + from ._models_py3 import WebApplicationFirewallCustomRule + from ._models_py3 import WebApplicationFirewallPolicy +except (SyntaxError, ImportError): + from ._models import AadAuthenticationParameters + from ._models import AddressSpace + from ._models import ApplicationGateway + from ._models import ApplicationGatewayAuthenticationCertificate + from ._models import ApplicationGatewayAutoscaleConfiguration + from ._models import ApplicationGatewayAvailableSslOptions + from ._models import ApplicationGatewayAvailableWafRuleSetsResult + from ._models import ApplicationGatewayBackendAddress + from ._models import ApplicationGatewayBackendAddressPool + from ._models import ApplicationGatewayBackendHealth + from ._models import ApplicationGatewayBackendHealthHttpSettings + from ._models import ApplicationGatewayBackendHealthOnDemand + from ._models import ApplicationGatewayBackendHealthPool + from ._models import ApplicationGatewayBackendHealthServer + from ._models import ApplicationGatewayBackendHttpSettings + from ._models import ApplicationGatewayConnectionDraining + from ._models import ApplicationGatewayCustomError + from ._models import ApplicationGatewayFirewallDisabledRuleGroup + from ._models import ApplicationGatewayFirewallExclusion + from ._models import ApplicationGatewayFirewallRule + from ._models import ApplicationGatewayFirewallRuleGroup + from ._models import ApplicationGatewayFirewallRuleSet + from ._models import ApplicationGatewayFrontendIPConfiguration + from ._models import ApplicationGatewayFrontendPort + from ._models import ApplicationGatewayHeaderConfiguration + from ._models import ApplicationGatewayHttpListener + from ._models import ApplicationGatewayIPConfiguration + from ._models import ApplicationGatewayOnDemandProbe + from ._models import ApplicationGatewayPathRule + from ._models import ApplicationGatewayProbe + from ._models import ApplicationGatewayProbeHealthResponseMatch + from ._models import ApplicationGatewayRedirectConfiguration + from ._models import ApplicationGatewayRequestRoutingRule + from ._models import ApplicationGatewayRewriteRule + from ._models import ApplicationGatewayRewriteRuleActionSet + from ._models import ApplicationGatewayRewriteRuleCondition + from ._models import ApplicationGatewayRewriteRuleSet + from ._models import ApplicationGatewaySku + from ._models import ApplicationGatewaySslCertificate + from ._models import ApplicationGatewaySslPolicy + from ._models import ApplicationGatewaySslPredefinedPolicy + from ._models import ApplicationGatewayTrustedRootCertificate + from ._models import ApplicationGatewayUrlConfiguration + from ._models import ApplicationGatewayUrlPathMap + from ._models import ApplicationGatewayWebApplicationFirewallConfiguration + from ._models import ApplicationRuleCondition + from ._models import ApplicationSecurityGroup + from ._models import AutoApprovedPrivateLinkService + from ._models import Availability + from ._models import AvailableDelegation + from ._models import AvailablePrivateEndpointType + from ._models import AvailableProvidersList + from ._models import AvailableProvidersListCity + from ._models import AvailableProvidersListCountry + from ._models import AvailableProvidersListParameters + from ._models import AvailableProvidersListState + from ._models import AvailableServiceAlias + from ._models import AzureAsyncOperationResult + from ._models import AzureFirewall + from ._models import AzureFirewallApplicationRule + from ._models import AzureFirewallApplicationRuleCollection + from ._models import AzureFirewallApplicationRuleProtocol + from ._models import AzureFirewallFqdnTag + from ._models import AzureFirewallIPConfiguration + from ._models import AzureFirewallIpGroups + from ._models import AzureFirewallNatRCAction + from ._models import AzureFirewallNatRule + from ._models import AzureFirewallNatRuleCollection + from ._models import AzureFirewallNetworkRule + from ._models import AzureFirewallNetworkRuleCollection + from ._models import AzureFirewallPublicIPAddress + from ._models import AzureFirewallRCAction + from ._models import AzureFirewallSku + from ._models import AzureReachabilityReport + from ._models import AzureReachabilityReportItem + from ._models import AzureReachabilityReportLatencyInfo + from ._models import AzureReachabilityReportLocation + from ._models import AzureReachabilityReportParameters + from ._models import BackendAddressPool + from ._models import BastionActiveSession + from ._models import BastionActiveSessionListResult + from ._models import BastionHost + from ._models import BastionHostIPConfiguration + from ._models import BastionSessionState + from ._models import BastionShareableLink + from ._models import BastionShareableLinkListRequest + from ._models import BastionShareableLinkListResult + from ._models import BGPCommunity + from ._models import BgpPeerStatus + from ._models import BgpPeerStatusListResult + from ._models import BgpServiceCommunity + from ._models import BgpSettings + from ._models import CheckPrivateLinkServiceVisibilityRequest + from ._models import ConnectionMonitor + from ._models import ConnectionMonitorDestination + from ._models import ConnectionMonitorEndpoint + from ._models import ConnectionMonitorEndpointFilter + from ._models import ConnectionMonitorEndpointFilterItem + from ._models import ConnectionMonitorHttpConfiguration + from ._models import ConnectionMonitorIcmpConfiguration + from ._models import ConnectionMonitorOutput + from ._models import ConnectionMonitorParameters + from ._models import ConnectionMonitorQueryResult + from ._models import ConnectionMonitorResult + from ._models import ConnectionMonitorSource + from ._models import ConnectionMonitorSuccessThreshold + from ._models import ConnectionMonitorTcpConfiguration + from ._models import ConnectionMonitorTestConfiguration + from ._models import ConnectionMonitorTestGroup + from ._models import ConnectionMonitorWorkspaceSettings + from ._models import ConnectionResetSharedKey + from ._models import ConnectionSharedKey + from ._models import ConnectionStateSnapshot + from ._models import ConnectivityDestination + from ._models import ConnectivityHop + from ._models import ConnectivityInformation + from ._models import ConnectivityIssue + from ._models import ConnectivityParameters + from ._models import ConnectivitySource + from ._models import Container + from ._models import ContainerNetworkInterface + from ._models import ContainerNetworkInterfaceConfiguration + from ._models import ContainerNetworkInterfaceIpConfiguration + from ._models import CustomDnsConfigPropertiesFormat + from ._models import DdosCustomPolicy + from ._models import DdosProtectionPlan + from ._models import DdosSettings + from ._models import Delegation + from ._models import DeviceProperties + from ._models import DhcpOptions + from ._models import Dimension + from ._models import DnsNameAvailabilityResult + from ._models import EffectiveNetworkSecurityGroup + from ._models import EffectiveNetworkSecurityGroupAssociation + from ._models import EffectiveNetworkSecurityGroupListResult + from ._models import EffectiveNetworkSecurityRule + from ._models import EffectiveRoute + from ._models import EffectiveRouteListResult + from ._models import EndpointServiceResult + from ._models import Error, ErrorException + from ._models import ErrorDetails + from ._models import ErrorResponse, ErrorResponseException + from ._models import EvaluatedNetworkSecurityGroup + from ._models import ExpressRouteCircuit + from ._models import ExpressRouteCircuitArpTable + from ._models import ExpressRouteCircuitAuthorization + from ._models import ExpressRouteCircuitConnection + from ._models import ExpressRouteCircuitPeering + from ._models import ExpressRouteCircuitPeeringConfig + from ._models import ExpressRouteCircuitPeeringId + from ._models import ExpressRouteCircuitReference + from ._models import ExpressRouteCircuitRoutesTable + from ._models import ExpressRouteCircuitRoutesTableSummary + from ._models import ExpressRouteCircuitsArpTableListResult + from ._models import ExpressRouteCircuitServiceProviderProperties + from ._models import ExpressRouteCircuitSku + from ._models import ExpressRouteCircuitsRoutesTableListResult + from ._models import ExpressRouteCircuitsRoutesTableSummaryListResult + from ._models import ExpressRouteCircuitStats + from ._models import ExpressRouteConnection + from ._models import ExpressRouteConnectionId + from ._models import ExpressRouteConnectionList + from ._models import ExpressRouteCrossConnection + from ._models import ExpressRouteCrossConnectionPeering + from ._models import ExpressRouteCrossConnectionRoutesTableSummary + from ._models import ExpressRouteCrossConnectionsRoutesTableSummaryListResult + from ._models import ExpressRouteGateway + from ._models import ExpressRouteGatewayList + from ._models import ExpressRouteGatewayPropertiesAutoScaleConfiguration + from ._models import ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds + from ._models import ExpressRouteLink + from ._models import ExpressRouteLinkMacSecConfig + from ._models import ExpressRoutePort + from ._models import ExpressRoutePortsLocation + from ._models import ExpressRoutePortsLocationBandwidths + from ._models import ExpressRouteServiceProvider + from ._models import ExpressRouteServiceProviderBandwidthsOffered + from ._models import FirewallPolicy + from ._models import FirewallPolicyCertificateAuthority + from ._models import FirewallPolicyFilterRule + from ._models import FirewallPolicyFilterRuleAction + from ._models import FirewallPolicyNatRule + from ._models import FirewallPolicyNatRuleAction + from ._models import FirewallPolicyRule + from ._models import FirewallPolicyRuleCondition + from ._models import FirewallPolicyRuleConditionApplicationProtocol + from ._models import FirewallPolicyRuleGroup + from ._models import FirewallPolicyThreatIntelWhitelist + from ._models import FirewallPolicyTransportSecurity + from ._models import FirewallPolicyTrustedRootCertificate + from ._models import FlowLog + from ._models import FlowLogFormatParameters + from ._models import FlowLogInformation + from ._models import FlowLogStatusParameters + from ._models import FrontendIPConfiguration + from ._models import GatewayRoute + from ._models import GatewayRouteListResult + from ._models import GetVpnSitesConfigurationRequest + from ._models import HTTPConfiguration + from ._models import HTTPHeader + from ._models import HubIPAddresses + from ._models import HubRoute + from ._models import HubRouteTable + from ._models import HubVirtualNetworkConnection + from ._models import InboundNatPool + from ._models import InboundNatRule + from ._models import IPAddressAvailabilityResult + from ._models import IpAllocation + from ._models import IPConfiguration + from ._models import IPConfigurationBgpPeeringAddress + from ._models import IPConfigurationProfile + from ._models import IpGroup + from ._models import IpsecPolicy + from ._models import IpTag + from ._models import Ipv6CircuitConnectionConfig + from ._models import Ipv6ExpressRouteCircuitPeeringConfig + from ._models import LoadBalancer + from ._models import LoadBalancerBackendAddress + from ._models import LoadBalancerSku + from ._models import LoadBalancingRule + from ._models import LocalNetworkGateway + from ._models import LogSpecification + from ._models import ManagedRuleGroupOverride + from ._models import ManagedRuleOverride + from ._models import ManagedRulesDefinition + from ._models import ManagedRuleSet + from ._models import ManagedServiceIdentity + from ._models import ManagedServiceIdentityUserAssignedIdentitiesValue + from ._models import MatchCondition + from ._models import MatchedRule + from ._models import MatchVariable + from ._models import MetricSpecification + from ._models import NatGateway + from ._models import NatGatewaySku + from ._models import NatRuleCondition + from ._models import NetworkConfigurationDiagnosticParameters + from ._models import NetworkConfigurationDiagnosticProfile + from ._models import NetworkConfigurationDiagnosticResponse + from ._models import NetworkConfigurationDiagnosticResult + from ._models import NetworkIntentPolicy + from ._models import NetworkIntentPolicyConfiguration + from ._models import NetworkInterface + from ._models import NetworkInterfaceAssociation + from ._models import NetworkInterfaceDnsSettings + from ._models import NetworkInterfaceIPConfiguration + from ._models import NetworkInterfaceIPConfigurationPrivateLinkConnectionProperties + from ._models import NetworkInterfaceTapConfiguration + from ._models import NetworkProfile + from ._models import NetworkRuleCondition + from ._models import NetworkSecurityGroup + from ._models import NetworkSecurityGroupResult + from ._models import NetworkSecurityRulesEvaluationResult + from ._models import NetworkVirtualAppliance + from ._models import NetworkWatcher + from ._models import NextHopParameters + from ._models import NextHopResult + from ._models import Operation + from ._models import OperationDisplay + from ._models import OperationPropertiesFormatServiceSpecification + from ._models import OutboundRule + from ._models import OwaspCrsExclusionEntry + from ._models import P2SConnectionConfiguration + from ._models import P2SVpnConnectionHealth + from ._models import P2SVpnConnectionHealthRequest + from ._models import P2SVpnConnectionRequest + from ._models import P2SVpnGateway + from ._models import P2SVpnProfileParameters + from ._models import PacketCapture + from ._models import PacketCaptureFilter + from ._models import PacketCaptureParameters + from ._models import PacketCaptureQueryStatusResult + from ._models import PacketCaptureResult + from ._models import PacketCaptureStorageLocation + from ._models import PatchRouteFilter + from ._models import PatchRouteFilterRule + from ._models import PeerExpressRouteCircuitConnection + from ._models import PolicySettings + from ._models import PrepareNetworkPoliciesRequest + from ._models import PrivateDnsZoneConfig + from ._models import PrivateDnsZoneGroup + from ._models import PrivateEndpoint + from ._models import PrivateEndpointConnection + from ._models import PrivateLinkService + from ._models import PrivateLinkServiceConnection + from ._models import PrivateLinkServiceConnectionState + from ._models import PrivateLinkServiceIpConfiguration + from ._models import PrivateLinkServicePropertiesAutoApproval + from ._models import PrivateLinkServicePropertiesVisibility + from ._models import PrivateLinkServiceVisibility + from ._models import Probe + from ._models import PropagatedRouteTable + from ._models import ProtocolConfiguration + from ._models import ProtocolCustomSettingsFormat + from ._models import PublicIPAddress + from ._models import PublicIPAddressDnsSettings + from ._models import PublicIPAddressSku + from ._models import PublicIPPrefix + from ._models import PublicIPPrefixSku + from ._models import QueryTroubleshootingParameters + from ._models import RadiusServer + from ._models import RecordSet + from ._models import ReferencedPublicIpAddress + from ._models import Resource + from ._models import ResourceNavigationLink + from ._models import ResourceNavigationLinksListResult + from ._models import ResourceSet + from ._models import RetentionPolicyParameters + from ._models import Route + from ._models import RouteFilter + from ._models import RouteFilterRule + from ._models import RouteTable + from ._models import RoutingConfiguration + from ._models import SecurityGroupNetworkInterface + from ._models import SecurityGroupViewParameters + from ._models import SecurityGroupViewResult + from ._models import SecurityPartnerProvider + from ._models import SecurityRule + from ._models import SecurityRuleAssociations + from ._models import ServiceAssociationLink + from ._models import ServiceAssociationLinksListResult + from ._models import ServiceEndpointPolicy + from ._models import ServiceEndpointPolicyDefinition + from ._models import ServiceEndpointPropertiesFormat + from ._models import ServiceTagInformation + from ._models import ServiceTagInformationPropertiesFormat + from ._models import ServiceTagsListResult + from ._models import SessionIds + from ._models import StaticRoute + from ._models import Subnet + from ._models import SubnetAssociation + from ._models import SubResource + from ._models import TagsObject + from ._models import Topology + from ._models import TopologyAssociation + from ._models import TopologyParameters + from ._models import TopologyResource + from ._models import TrafficAnalyticsConfigurationProperties + from ._models import TrafficAnalyticsProperties + from ._models import TrafficSelectorPolicy + from ._models import TroubleshootingDetails + from ._models import TroubleshootingParameters + from ._models import TroubleshootingRecommendedActions + from ._models import TroubleshootingResult + from ._models import TunnelConnectionHealth + from ._models import UnprepareNetworkPoliciesRequest + from ._models import Usage + from ._models import UsageName + from ._models import VerificationIPFlowParameters + from ._models import VerificationIPFlowResult + from ._models import VirtualApplianceNicProperties + from ._models import VirtualApplianceSkuProperties + from ._models import VirtualHub + from ._models import VirtualHubId + from ._models import VirtualHubRoute + from ._models import VirtualHubRouteTable + from ._models import VirtualHubRouteTableV2 + from ._models import VirtualHubRouteV2 + from ._models import VirtualNetwork + from ._models import VirtualNetworkBgpCommunities + from ._models import VirtualNetworkConnectionGatewayReference + from ._models import VirtualNetworkGateway + from ._models import VirtualNetworkGatewayConnection + from ._models import VirtualNetworkGatewayConnectionListEntity + from ._models import VirtualNetworkGatewayIPConfiguration + from ._models import VirtualNetworkGatewaySku + from ._models import VirtualNetworkPeering + from ._models import VirtualNetworkTap + from ._models import VirtualNetworkUsage + from ._models import VirtualNetworkUsageName + from ._models import VirtualRouter + from ._models import VirtualRouterPeering + from ._models import VirtualWAN + from ._models import VirtualWanSecurityProvider + from ._models import VirtualWanSecurityProviders + from ._models import VirtualWanVpnProfileParameters + from ._models import VM + from ._models import VnetRoute + from ._models import VpnClientConfiguration + from ._models import VpnClientConnectionHealth + from ._models import VpnClientConnectionHealthDetail + from ._models import VpnClientConnectionHealthDetailListResult + from ._models import VpnClientIPsecParameters + from ._models import VpnClientParameters + from ._models import VpnClientRevokedCertificate + from ._models import VpnClientRootCertificate + from ._models import VpnConnection + from ._models import VpnDeviceScriptParameters + from ._models import VpnGateway + from ._models import VpnLinkBgpSettings + from ._models import VpnLinkProviderProperties + from ._models import VpnPacketCaptureStartParameters + from ._models import VpnPacketCaptureStopParameters + from ._models import VpnProfileResponse + from ._models import VpnServerConfigRadiusClientRootCertificate + from ._models import VpnServerConfigRadiusServerRootCertificate + from ._models import VpnServerConfiguration + from ._models import VpnServerConfigurationsResponse + from ._models import VpnServerConfigVpnClientRevokedCertificate + from ._models import VpnServerConfigVpnClientRootCertificate + from ._models import VpnSite + from ._models import VpnSiteId + from ._models import VpnSiteLink + from ._models import VpnSiteLinkConnection + from ._models import WebApplicationFirewallCustomRule + from ._models import WebApplicationFirewallPolicy +from ._paged_models import ApplicationGatewayPaged +from ._paged_models import ApplicationGatewaySslPredefinedPolicyPaged +from ._paged_models import ApplicationSecurityGroupPaged +from ._paged_models import AutoApprovedPrivateLinkServicePaged +from ._paged_models import AvailableDelegationPaged +from ._paged_models import AvailablePrivateEndpointTypePaged +from ._paged_models import AvailableServiceAliasPaged +from ._paged_models import AzureFirewallFqdnTagPaged +from ._paged_models import AzureFirewallPaged +from ._paged_models import BackendAddressPoolPaged +from ._paged_models import BastionHostPaged +from ._paged_models import BastionSessionStatePaged +from ._paged_models import BastionShareableLinkPaged +from ._paged_models import BgpServiceCommunityPaged +from ._paged_models import ConnectionMonitorResultPaged +from ._paged_models import DdosProtectionPlanPaged +from ._paged_models import EndpointServiceResultPaged +from ._paged_models import ExpressRouteCircuitAuthorizationPaged +from ._paged_models import ExpressRouteCircuitConnectionPaged +from ._paged_models import ExpressRouteCircuitPaged +from ._paged_models import ExpressRouteCircuitPeeringPaged +from ._paged_models import ExpressRouteCrossConnectionPaged +from ._paged_models import ExpressRouteCrossConnectionPeeringPaged +from ._paged_models import ExpressRouteLinkPaged +from ._paged_models import ExpressRoutePortPaged +from ._paged_models import ExpressRoutePortsLocationPaged +from ._paged_models import ExpressRouteServiceProviderPaged +from ._paged_models import FirewallPolicyPaged +from ._paged_models import FirewallPolicyRuleGroupPaged +from ._paged_models import FlowLogPaged +from ._paged_models import FrontendIPConfigurationPaged +from ._paged_models import HubRouteTablePaged +from ._paged_models import HubVirtualNetworkConnectionPaged +from ._paged_models import InboundNatRulePaged +from ._paged_models import IpAllocationPaged +from ._paged_models import IpGroupPaged +from ._paged_models import LoadBalancerPaged +from ._paged_models import LoadBalancingRulePaged +from ._paged_models import LocalNetworkGatewayPaged +from ._paged_models import NatGatewayPaged +from ._paged_models import NetworkInterfaceIPConfigurationPaged +from ._paged_models import NetworkInterfacePaged +from ._paged_models import NetworkInterfaceTapConfigurationPaged +from ._paged_models import NetworkProfilePaged +from ._paged_models import NetworkSecurityGroupPaged +from ._paged_models import NetworkVirtualAppliancePaged +from ._paged_models import NetworkWatcherPaged +from ._paged_models import OperationPaged +from ._paged_models import OutboundRulePaged +from ._paged_models import P2SVpnGatewayPaged +from ._paged_models import PacketCaptureResultPaged +from ._paged_models import PeerExpressRouteCircuitConnectionPaged +from ._paged_models import PrivateDnsZoneGroupPaged +from ._paged_models import PrivateEndpointConnectionPaged +from ._paged_models import PrivateEndpointPaged +from ._paged_models import PrivateLinkServicePaged +from ._paged_models import ProbePaged +from ._paged_models import PublicIPAddressPaged +from ._paged_models import PublicIPPrefixPaged +from ._paged_models import RouteFilterPaged +from ._paged_models import RouteFilterRulePaged +from ._paged_models import RoutePaged +from ._paged_models import RouteTablePaged +from ._paged_models import SecurityPartnerProviderPaged +from ._paged_models import SecurityRulePaged +from ._paged_models import ServiceEndpointPolicyDefinitionPaged +from ._paged_models import ServiceEndpointPolicyPaged +from ._paged_models import SubnetPaged +from ._paged_models import UsagePaged +from ._paged_models import VirtualHubPaged +from ._paged_models import VirtualHubRouteTableV2Paged +from ._paged_models import VirtualNetworkGatewayConnectionListEntityPaged +from ._paged_models import VirtualNetworkGatewayConnectionPaged +from ._paged_models import VirtualNetworkGatewayPaged +from ._paged_models import VirtualNetworkPaged +from ._paged_models import VirtualNetworkPeeringPaged +from ._paged_models import VirtualNetworkTapPaged +from ._paged_models import VirtualNetworkUsagePaged +from ._paged_models import VirtualRouterPaged +from ._paged_models import VirtualRouterPeeringPaged +from ._paged_models import VirtualWANPaged +from ._paged_models import VpnConnectionPaged +from ._paged_models import VpnGatewayPaged +from ._paged_models import VpnServerConfigurationPaged +from ._paged_models import VpnSiteLinkConnectionPaged +from ._paged_models import VpnSiteLinkPaged +from ._paged_models import VpnSitePaged +from ._paged_models import WebApplicationFirewallPolicyPaged +from ._network_management_client_enums import ( + ApplicationGatewayProtocol, + ProvisioningState, + IPAllocationMethod, + IPVersion, + SecurityRuleProtocol, + SecurityRuleAccess, + SecurityRuleDirection, + FlowLogFormatType, + RouteNextHopType, + PublicIPAddressSkuName, + DdosSettingsProtectionCoverage, + VirtualNetworkPeeringState, + TransportProtocol, + ApplicationGatewayCookieBasedAffinity, + ApplicationGatewayBackendHealthServerHealth, + ApplicationGatewaySkuName, + ApplicationGatewayTier, + ApplicationGatewaySslProtocol, + ApplicationGatewaySslPolicyType, + ApplicationGatewaySslPolicyName, + ApplicationGatewaySslCipherSuite, + ApplicationGatewayCustomErrorStatusCode, + ApplicationGatewayRequestRoutingRuleType, + ApplicationGatewayRedirectType, + ApplicationGatewayOperationalState, + ApplicationGatewayFirewallMode, + ResourceIdentityType, + AzureFirewallRCActionType, + AzureFirewallApplicationRuleProtocolType, + AzureFirewallNatRCActionType, + AzureFirewallNetworkRuleProtocol, + AzureFirewallThreatIntelMode, + AzureFirewallSkuName, + AzureFirewallSkuTier, + BastionConnectProtocol, + DdosCustomPolicyProtocol, + DdosCustomPolicyTriggerSensitivityOverride, + AuthorizationUseStatus, + ExpressRouteCircuitPeeringAdvertisedPublicPrefixState, + ExpressRouteCircuitPeeringState, + ExpressRoutePeeringType, + ExpressRoutePeeringState, + CircuitConnectionStatus, + ExpressRouteCircuitSkuTier, + ExpressRouteCircuitSkuFamily, + ServiceProviderProvisioningState, + ExpressRouteLinkMacSecCipher, + ExpressRouteLinkConnectorType, + ExpressRouteLinkAdminState, + ExpressRoutePortsEncapsulation, + FirewallPolicyIntrusionSystemMode, + FirewallPolicyNatRuleActionType, + FirewallPolicyFilterRuleActionType, + FirewallPolicyRuleConditionApplicationProtocolType, + FirewallPolicyRuleConditionNetworkProtocol, + IpAllocationType, + LoadBalancerSkuName, + LoadDistribution, + ProbeProtocol, + LoadBalancerOutboundRuleProtocol, + NatGatewaySkuName, + NetworkOperationStatus, + Access, + AuthenticationMethod, + EffectiveSecurityRuleProtocol, + EffectiveRouteSource, + EffectiveRouteState, + AssociationType, + Direction, + IpFlowProtocol, + NextHopType, + PcProtocol, + PcStatus, + PcError, + Protocol, + HTTPMethod, + Origin, + Severity, + IssueType, + ConnectionStatus, + VerbosityLevel, + ConnectionMonitorEndpointFilterType, + ConnectionMonitorEndpointFilterItemType, + ConnectionMonitorTestConfigurationProtocol, + PreferredIPVersion, + HTTPConfigurationMethod, + OutputType, + ConnectionState, + EvaluationState, + ConnectionMonitorType, + ConnectionMonitorSourceStatus, + PublicIPPrefixSkuName, + SecurityProviderName, + SecurityPartnerProviderConnectionStatus, + VirtualNetworkGatewayType, + VpnType, + VpnGatewayGeneration, + VirtualNetworkGatewaySkuName, + VirtualNetworkGatewaySkuTier, + VpnClientProtocol, + IpsecEncryption, + IpsecIntegrity, + IkeEncryption, + IkeIntegrity, + DhGroup, + PfsGroup, + BgpPeerState, + ProcessorArchitecture, + VirtualNetworkGatewayConnectionStatus, + VirtualNetworkGatewayConnectionType, + VirtualNetworkGatewayConnectionProtocol, + OfficeTrafficCategory, + VpnConnectionStatus, + VirtualWanSecurityProviderType, + TunnelConnectionStatus, + HubVirtualNetworkConnectionStatus, + VpnGatewayTunnelingProtocol, + VpnAuthenticationType, + WebApplicationFirewallEnabledState, + WebApplicationFirewallMode, + WebApplicationFirewallRuleType, + WebApplicationFirewallMatchVariable, + WebApplicationFirewallOperator, + WebApplicationFirewallTransform, + WebApplicationFirewallAction, + WebApplicationFirewallPolicyResourceState, + OwaspCrsExclusionEntryMatchVariable, + OwaspCrsExclusionEntrySelectorMatchOperator, + ManagedRuleEnabledState, +) + +__all__ = [ + 'AadAuthenticationParameters', + 'AddressSpace', + 'ApplicationGateway', + 'ApplicationGatewayAuthenticationCertificate', + 'ApplicationGatewayAutoscaleConfiguration', + 'ApplicationGatewayAvailableSslOptions', + 'ApplicationGatewayAvailableWafRuleSetsResult', + 'ApplicationGatewayBackendAddress', + 'ApplicationGatewayBackendAddressPool', + 'ApplicationGatewayBackendHealth', + 'ApplicationGatewayBackendHealthHttpSettings', + 'ApplicationGatewayBackendHealthOnDemand', + 'ApplicationGatewayBackendHealthPool', + 'ApplicationGatewayBackendHealthServer', + 'ApplicationGatewayBackendHttpSettings', + 'ApplicationGatewayConnectionDraining', + 'ApplicationGatewayCustomError', + 'ApplicationGatewayFirewallDisabledRuleGroup', + 'ApplicationGatewayFirewallExclusion', + 'ApplicationGatewayFirewallRule', + 'ApplicationGatewayFirewallRuleGroup', + 'ApplicationGatewayFirewallRuleSet', + 'ApplicationGatewayFrontendIPConfiguration', + 'ApplicationGatewayFrontendPort', + 'ApplicationGatewayHeaderConfiguration', + 'ApplicationGatewayHttpListener', + 'ApplicationGatewayIPConfiguration', + 'ApplicationGatewayOnDemandProbe', + 'ApplicationGatewayPathRule', + 'ApplicationGatewayProbe', + 'ApplicationGatewayProbeHealthResponseMatch', + 'ApplicationGatewayRedirectConfiguration', + 'ApplicationGatewayRequestRoutingRule', + 'ApplicationGatewayRewriteRule', + 'ApplicationGatewayRewriteRuleActionSet', + 'ApplicationGatewayRewriteRuleCondition', + 'ApplicationGatewayRewriteRuleSet', + 'ApplicationGatewaySku', + 'ApplicationGatewaySslCertificate', + 'ApplicationGatewaySslPolicy', + 'ApplicationGatewaySslPredefinedPolicy', + 'ApplicationGatewayTrustedRootCertificate', + 'ApplicationGatewayUrlConfiguration', + 'ApplicationGatewayUrlPathMap', + 'ApplicationGatewayWebApplicationFirewallConfiguration', + 'ApplicationRuleCondition', + 'ApplicationSecurityGroup', + 'AutoApprovedPrivateLinkService', + 'Availability', + 'AvailableDelegation', + 'AvailablePrivateEndpointType', + 'AvailableProvidersList', + 'AvailableProvidersListCity', + 'AvailableProvidersListCountry', + 'AvailableProvidersListParameters', + 'AvailableProvidersListState', + 'AvailableServiceAlias', + 'AzureAsyncOperationResult', + 'AzureFirewall', + 'AzureFirewallApplicationRule', + 'AzureFirewallApplicationRuleCollection', + 'AzureFirewallApplicationRuleProtocol', + 'AzureFirewallFqdnTag', + 'AzureFirewallIPConfiguration', + 'AzureFirewallIpGroups', + 'AzureFirewallNatRCAction', + 'AzureFirewallNatRule', + 'AzureFirewallNatRuleCollection', + 'AzureFirewallNetworkRule', + 'AzureFirewallNetworkRuleCollection', + 'AzureFirewallPublicIPAddress', + 'AzureFirewallRCAction', + 'AzureFirewallSku', + 'AzureReachabilityReport', + 'AzureReachabilityReportItem', + 'AzureReachabilityReportLatencyInfo', + 'AzureReachabilityReportLocation', + 'AzureReachabilityReportParameters', + 'BackendAddressPool', + 'BastionActiveSession', + 'BastionActiveSessionListResult', + 'BastionHost', + 'BastionHostIPConfiguration', + 'BastionSessionState', + 'BastionShareableLink', + 'BastionShareableLinkListRequest', + 'BastionShareableLinkListResult', + 'BGPCommunity', + 'BgpPeerStatus', + 'BgpPeerStatusListResult', + 'BgpServiceCommunity', + 'BgpSettings', + 'CheckPrivateLinkServiceVisibilityRequest', + 'ConnectionMonitor', + 'ConnectionMonitorDestination', + 'ConnectionMonitorEndpoint', + 'ConnectionMonitorEndpointFilter', + 'ConnectionMonitorEndpointFilterItem', + 'ConnectionMonitorHttpConfiguration', + 'ConnectionMonitorIcmpConfiguration', + 'ConnectionMonitorOutput', + 'ConnectionMonitorParameters', + 'ConnectionMonitorQueryResult', + 'ConnectionMonitorResult', + 'ConnectionMonitorSource', + 'ConnectionMonitorSuccessThreshold', + 'ConnectionMonitorTcpConfiguration', + 'ConnectionMonitorTestConfiguration', + 'ConnectionMonitorTestGroup', + 'ConnectionMonitorWorkspaceSettings', + 'ConnectionResetSharedKey', + 'ConnectionSharedKey', + 'ConnectionStateSnapshot', + 'ConnectivityDestination', + 'ConnectivityHop', + 'ConnectivityInformation', + 'ConnectivityIssue', + 'ConnectivityParameters', + 'ConnectivitySource', + 'Container', + 'ContainerNetworkInterface', + 'ContainerNetworkInterfaceConfiguration', + 'ContainerNetworkInterfaceIpConfiguration', + 'CustomDnsConfigPropertiesFormat', + 'DdosCustomPolicy', + 'DdosProtectionPlan', + 'DdosSettings', + 'Delegation', + 'DeviceProperties', + 'DhcpOptions', + 'Dimension', + 'DnsNameAvailabilityResult', + 'EffectiveNetworkSecurityGroup', + 'EffectiveNetworkSecurityGroupAssociation', + 'EffectiveNetworkSecurityGroupListResult', + 'EffectiveNetworkSecurityRule', + 'EffectiveRoute', + 'EffectiveRouteListResult', + 'EndpointServiceResult', + 'Error', 'ErrorException', + 'ErrorDetails', + 'ErrorResponse', 'ErrorResponseException', + 'EvaluatedNetworkSecurityGroup', + 'ExpressRouteCircuit', + 'ExpressRouteCircuitArpTable', + 'ExpressRouteCircuitAuthorization', + 'ExpressRouteCircuitConnection', + 'ExpressRouteCircuitPeering', + 'ExpressRouteCircuitPeeringConfig', + 'ExpressRouteCircuitPeeringId', + 'ExpressRouteCircuitReference', + 'ExpressRouteCircuitRoutesTable', + 'ExpressRouteCircuitRoutesTableSummary', + 'ExpressRouteCircuitsArpTableListResult', + 'ExpressRouteCircuitServiceProviderProperties', + 'ExpressRouteCircuitSku', + 'ExpressRouteCircuitsRoutesTableListResult', + 'ExpressRouteCircuitsRoutesTableSummaryListResult', + 'ExpressRouteCircuitStats', + 'ExpressRouteConnection', + 'ExpressRouteConnectionId', + 'ExpressRouteConnectionList', + 'ExpressRouteCrossConnection', + 'ExpressRouteCrossConnectionPeering', + 'ExpressRouteCrossConnectionRoutesTableSummary', + 'ExpressRouteCrossConnectionsRoutesTableSummaryListResult', + 'ExpressRouteGateway', + 'ExpressRouteGatewayList', + 'ExpressRouteGatewayPropertiesAutoScaleConfiguration', + 'ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds', + 'ExpressRouteLink', + 'ExpressRouteLinkMacSecConfig', + 'ExpressRoutePort', + 'ExpressRoutePortsLocation', + 'ExpressRoutePortsLocationBandwidths', + 'ExpressRouteServiceProvider', + 'ExpressRouteServiceProviderBandwidthsOffered', + 'FirewallPolicy', + 'FirewallPolicyCertificateAuthority', + 'FirewallPolicyFilterRule', + 'FirewallPolicyFilterRuleAction', + 'FirewallPolicyNatRule', + 'FirewallPolicyNatRuleAction', + 'FirewallPolicyRule', + 'FirewallPolicyRuleCondition', + 'FirewallPolicyRuleConditionApplicationProtocol', + 'FirewallPolicyRuleGroup', + 'FirewallPolicyThreatIntelWhitelist', + 'FirewallPolicyTransportSecurity', + 'FirewallPolicyTrustedRootCertificate', + 'FlowLog', + 'FlowLogFormatParameters', + 'FlowLogInformation', + 'FlowLogStatusParameters', + 'FrontendIPConfiguration', + 'GatewayRoute', + 'GatewayRouteListResult', + 'GetVpnSitesConfigurationRequest', + 'HTTPConfiguration', + 'HTTPHeader', + 'HubIPAddresses', + 'HubRoute', + 'HubRouteTable', + 'HubVirtualNetworkConnection', + 'InboundNatPool', + 'InboundNatRule', + 'IPAddressAvailabilityResult', + 'IpAllocation', + 'IPConfiguration', + 'IPConfigurationBgpPeeringAddress', + 'IPConfigurationProfile', + 'IpGroup', + 'IpsecPolicy', + 'IpTag', + 'Ipv6CircuitConnectionConfig', + 'Ipv6ExpressRouteCircuitPeeringConfig', + 'LoadBalancer', + 'LoadBalancerBackendAddress', + 'LoadBalancerSku', + 'LoadBalancingRule', + 'LocalNetworkGateway', + 'LogSpecification', + 'ManagedRuleGroupOverride', + 'ManagedRuleOverride', + 'ManagedRulesDefinition', + 'ManagedRuleSet', + 'ManagedServiceIdentity', + 'ManagedServiceIdentityUserAssignedIdentitiesValue', + 'MatchCondition', + 'MatchedRule', + 'MatchVariable', + 'MetricSpecification', + 'NatGateway', + 'NatGatewaySku', + 'NatRuleCondition', + 'NetworkConfigurationDiagnosticParameters', + 'NetworkConfigurationDiagnosticProfile', + 'NetworkConfigurationDiagnosticResponse', + 'NetworkConfigurationDiagnosticResult', + 'NetworkIntentPolicy', + 'NetworkIntentPolicyConfiguration', + 'NetworkInterface', + 'NetworkInterfaceAssociation', + 'NetworkInterfaceDnsSettings', + 'NetworkInterfaceIPConfiguration', + 'NetworkInterfaceIPConfigurationPrivateLinkConnectionProperties', + 'NetworkInterfaceTapConfiguration', + 'NetworkProfile', + 'NetworkRuleCondition', + 'NetworkSecurityGroup', + 'NetworkSecurityGroupResult', + 'NetworkSecurityRulesEvaluationResult', + 'NetworkVirtualAppliance', + 'NetworkWatcher', + 'NextHopParameters', + 'NextHopResult', + 'Operation', + 'OperationDisplay', + 'OperationPropertiesFormatServiceSpecification', + 'OutboundRule', + 'OwaspCrsExclusionEntry', + 'P2SConnectionConfiguration', + 'P2SVpnConnectionHealth', + 'P2SVpnConnectionHealthRequest', + 'P2SVpnConnectionRequest', + 'P2SVpnGateway', + 'P2SVpnProfileParameters', + 'PacketCapture', + 'PacketCaptureFilter', + 'PacketCaptureParameters', + 'PacketCaptureQueryStatusResult', + 'PacketCaptureResult', + 'PacketCaptureStorageLocation', + 'PatchRouteFilter', + 'PatchRouteFilterRule', + 'PeerExpressRouteCircuitConnection', + 'PolicySettings', + 'PrepareNetworkPoliciesRequest', + 'PrivateDnsZoneConfig', + 'PrivateDnsZoneGroup', + 'PrivateEndpoint', + 'PrivateEndpointConnection', + 'PrivateLinkService', + 'PrivateLinkServiceConnection', + 'PrivateLinkServiceConnectionState', + 'PrivateLinkServiceIpConfiguration', + 'PrivateLinkServicePropertiesAutoApproval', + 'PrivateLinkServicePropertiesVisibility', + 'PrivateLinkServiceVisibility', + 'Probe', + 'PropagatedRouteTable', + 'ProtocolConfiguration', + 'ProtocolCustomSettingsFormat', + 'PublicIPAddress', + 'PublicIPAddressDnsSettings', + 'PublicIPAddressSku', + 'PublicIPPrefix', + 'PublicIPPrefixSku', + 'QueryTroubleshootingParameters', + 'RadiusServer', + 'RecordSet', + 'ReferencedPublicIpAddress', + 'Resource', + 'ResourceNavigationLink', + 'ResourceNavigationLinksListResult', + 'ResourceSet', + 'RetentionPolicyParameters', + 'Route', + 'RouteFilter', + 'RouteFilterRule', + 'RouteTable', + 'RoutingConfiguration', + 'SecurityGroupNetworkInterface', + 'SecurityGroupViewParameters', + 'SecurityGroupViewResult', + 'SecurityPartnerProvider', + 'SecurityRule', + 'SecurityRuleAssociations', + 'ServiceAssociationLink', + 'ServiceAssociationLinksListResult', + 'ServiceEndpointPolicy', + 'ServiceEndpointPolicyDefinition', + 'ServiceEndpointPropertiesFormat', + 'ServiceTagInformation', + 'ServiceTagInformationPropertiesFormat', + 'ServiceTagsListResult', + 'SessionIds', + 'StaticRoute', + 'Subnet', + 'SubnetAssociation', + 'SubResource', + 'TagsObject', + 'Topology', + 'TopologyAssociation', + 'TopologyParameters', + 'TopologyResource', + 'TrafficAnalyticsConfigurationProperties', + 'TrafficAnalyticsProperties', + 'TrafficSelectorPolicy', + 'TroubleshootingDetails', + 'TroubleshootingParameters', + 'TroubleshootingRecommendedActions', + 'TroubleshootingResult', + 'TunnelConnectionHealth', + 'UnprepareNetworkPoliciesRequest', + 'Usage', + 'UsageName', + 'VerificationIPFlowParameters', + 'VerificationIPFlowResult', + 'VirtualApplianceNicProperties', + 'VirtualApplianceSkuProperties', + 'VirtualHub', + 'VirtualHubId', + 'VirtualHubRoute', + 'VirtualHubRouteTable', + 'VirtualHubRouteTableV2', + 'VirtualHubRouteV2', + 'VirtualNetwork', + 'VirtualNetworkBgpCommunities', + 'VirtualNetworkConnectionGatewayReference', + 'VirtualNetworkGateway', + 'VirtualNetworkGatewayConnection', + 'VirtualNetworkGatewayConnectionListEntity', + 'VirtualNetworkGatewayIPConfiguration', + 'VirtualNetworkGatewaySku', + 'VirtualNetworkPeering', + 'VirtualNetworkTap', + 'VirtualNetworkUsage', + 'VirtualNetworkUsageName', + 'VirtualRouter', + 'VirtualRouterPeering', + 'VirtualWAN', + 'VirtualWanSecurityProvider', + 'VirtualWanSecurityProviders', + 'VirtualWanVpnProfileParameters', + 'VM', + 'VnetRoute', + 'VpnClientConfiguration', + 'VpnClientConnectionHealth', + 'VpnClientConnectionHealthDetail', + 'VpnClientConnectionHealthDetailListResult', + 'VpnClientIPsecParameters', + 'VpnClientParameters', + 'VpnClientRevokedCertificate', + 'VpnClientRootCertificate', + 'VpnConnection', + 'VpnDeviceScriptParameters', + 'VpnGateway', + 'VpnLinkBgpSettings', + 'VpnLinkProviderProperties', + 'VpnPacketCaptureStartParameters', + 'VpnPacketCaptureStopParameters', + 'VpnProfileResponse', + 'VpnServerConfigRadiusClientRootCertificate', + 'VpnServerConfigRadiusServerRootCertificate', + 'VpnServerConfiguration', + 'VpnServerConfigurationsResponse', + 'VpnServerConfigVpnClientRevokedCertificate', + 'VpnServerConfigVpnClientRootCertificate', + 'VpnSite', + 'VpnSiteId', + 'VpnSiteLink', + 'VpnSiteLinkConnection', + 'WebApplicationFirewallCustomRule', + 'WebApplicationFirewallPolicy', + 'ApplicationGatewayPaged', + 'ApplicationGatewaySslPredefinedPolicyPaged', + 'ApplicationSecurityGroupPaged', + 'AvailableDelegationPaged', + 'AvailableServiceAliasPaged', + 'AzureFirewallPaged', + 'AzureFirewallFqdnTagPaged', + 'BastionHostPaged', + 'BastionShareableLinkPaged', + 'BastionSessionStatePaged', + 'DdosProtectionPlanPaged', + 'EndpointServiceResultPaged', + 'ExpressRouteCircuitAuthorizationPaged', + 'ExpressRouteCircuitPeeringPaged', + 'ExpressRouteCircuitConnectionPaged', + 'PeerExpressRouteCircuitConnectionPaged', + 'ExpressRouteCircuitPaged', + 'ExpressRouteServiceProviderPaged', + 'ExpressRouteCrossConnectionPaged', + 'ExpressRouteCrossConnectionPeeringPaged', + 'ExpressRoutePortsLocationPaged', + 'ExpressRoutePortPaged', + 'ExpressRouteLinkPaged', + 'FirewallPolicyPaged', + 'FirewallPolicyRuleGroupPaged', + 'IpAllocationPaged', + 'IpGroupPaged', + 'LoadBalancerPaged', + 'BackendAddressPoolPaged', + 'FrontendIPConfigurationPaged', + 'InboundNatRulePaged', + 'LoadBalancingRulePaged', + 'OutboundRulePaged', + 'NetworkInterfacePaged', + 'ProbePaged', + 'NatGatewayPaged', + 'NetworkInterfaceIPConfigurationPaged', + 'NetworkInterfaceTapConfigurationPaged', + 'NetworkProfilePaged', + 'NetworkSecurityGroupPaged', + 'SecurityRulePaged', + 'NetworkVirtualAppliancePaged', + 'NetworkWatcherPaged', + 'PacketCaptureResultPaged', + 'ConnectionMonitorResultPaged', + 'FlowLogPaged', + 'OperationPaged', + 'PrivateEndpointPaged', + 'AvailablePrivateEndpointTypePaged', + 'PrivateDnsZoneGroupPaged', + 'PrivateLinkServicePaged', + 'PrivateEndpointConnectionPaged', + 'AutoApprovedPrivateLinkServicePaged', + 'PublicIPAddressPaged', + 'PublicIPPrefixPaged', + 'RouteFilterPaged', + 'RouteFilterRulePaged', + 'RouteTablePaged', + 'RoutePaged', + 'SecurityPartnerProviderPaged', + 'BgpServiceCommunityPaged', + 'ServiceEndpointPolicyPaged', + 'ServiceEndpointPolicyDefinitionPaged', + 'UsagePaged', + 'VirtualNetworkPaged', + 'VirtualNetworkUsagePaged', + 'SubnetPaged', + 'VirtualNetworkPeeringPaged', + 'VirtualNetworkGatewayPaged', + 'VirtualNetworkGatewayConnectionListEntityPaged', + 'VirtualNetworkGatewayConnectionPaged', + 'LocalNetworkGatewayPaged', + 'VirtualNetworkTapPaged', + 'VirtualRouterPaged', + 'VirtualRouterPeeringPaged', + 'VirtualWANPaged', + 'VpnSitePaged', + 'VpnSiteLinkPaged', + 'VpnServerConfigurationPaged', + 'VirtualHubPaged', + 'HubVirtualNetworkConnectionPaged', + 'VpnGatewayPaged', + 'VpnConnectionPaged', + 'VpnSiteLinkConnectionPaged', + 'P2SVpnGatewayPaged', + 'VirtualHubRouteTableV2Paged', + 'HubRouteTablePaged', + 'WebApplicationFirewallPolicyPaged', + 'ApplicationGatewayProtocol', + 'ProvisioningState', + 'IPAllocationMethod', + 'IPVersion', + 'SecurityRuleProtocol', + 'SecurityRuleAccess', + 'SecurityRuleDirection', + 'FlowLogFormatType', + 'RouteNextHopType', + 'PublicIPAddressSkuName', + 'DdosSettingsProtectionCoverage', + 'VirtualNetworkPeeringState', + 'TransportProtocol', + 'ApplicationGatewayCookieBasedAffinity', + 'ApplicationGatewayBackendHealthServerHealth', + 'ApplicationGatewaySkuName', + 'ApplicationGatewayTier', + 'ApplicationGatewaySslProtocol', + 'ApplicationGatewaySslPolicyType', + 'ApplicationGatewaySslPolicyName', + 'ApplicationGatewaySslCipherSuite', + 'ApplicationGatewayCustomErrorStatusCode', + 'ApplicationGatewayRequestRoutingRuleType', + 'ApplicationGatewayRedirectType', + 'ApplicationGatewayOperationalState', + 'ApplicationGatewayFirewallMode', + 'ResourceIdentityType', + 'AzureFirewallRCActionType', + 'AzureFirewallApplicationRuleProtocolType', + 'AzureFirewallNatRCActionType', + 'AzureFirewallNetworkRuleProtocol', + 'AzureFirewallThreatIntelMode', + 'AzureFirewallSkuName', + 'AzureFirewallSkuTier', + 'BastionConnectProtocol', + 'DdosCustomPolicyProtocol', + 'DdosCustomPolicyTriggerSensitivityOverride', + 'AuthorizationUseStatus', + 'ExpressRouteCircuitPeeringAdvertisedPublicPrefixState', + 'ExpressRouteCircuitPeeringState', + 'ExpressRoutePeeringType', + 'ExpressRoutePeeringState', + 'CircuitConnectionStatus', + 'ExpressRouteCircuitSkuTier', + 'ExpressRouteCircuitSkuFamily', + 'ServiceProviderProvisioningState', + 'ExpressRouteLinkMacSecCipher', + 'ExpressRouteLinkConnectorType', + 'ExpressRouteLinkAdminState', + 'ExpressRoutePortsEncapsulation', + 'FirewallPolicyIntrusionSystemMode', + 'FirewallPolicyNatRuleActionType', + 'FirewallPolicyFilterRuleActionType', + 'FirewallPolicyRuleConditionApplicationProtocolType', + 'FirewallPolicyRuleConditionNetworkProtocol', + 'IpAllocationType', + 'LoadBalancerSkuName', + 'LoadDistribution', + 'ProbeProtocol', + 'LoadBalancerOutboundRuleProtocol', + 'NatGatewaySkuName', + 'NetworkOperationStatus', + 'Access', + 'AuthenticationMethod', + 'EffectiveSecurityRuleProtocol', + 'EffectiveRouteSource', + 'EffectiveRouteState', + 'AssociationType', + 'Direction', + 'IpFlowProtocol', + 'NextHopType', + 'PcProtocol', + 'PcStatus', + 'PcError', + 'Protocol', + 'HTTPMethod', + 'Origin', + 'Severity', + 'IssueType', + 'ConnectionStatus', + 'VerbosityLevel', + 'ConnectionMonitorEndpointFilterType', + 'ConnectionMonitorEndpointFilterItemType', + 'ConnectionMonitorTestConfigurationProtocol', + 'PreferredIPVersion', + 'HTTPConfigurationMethod', + 'OutputType', + 'ConnectionState', + 'EvaluationState', + 'ConnectionMonitorType', + 'ConnectionMonitorSourceStatus', + 'PublicIPPrefixSkuName', + 'SecurityProviderName', + 'SecurityPartnerProviderConnectionStatus', + 'VirtualNetworkGatewayType', + 'VpnType', + 'VpnGatewayGeneration', + 'VirtualNetworkGatewaySkuName', + 'VirtualNetworkGatewaySkuTier', + 'VpnClientProtocol', + 'IpsecEncryption', + 'IpsecIntegrity', + 'IkeEncryption', + 'IkeIntegrity', + 'DhGroup', + 'PfsGroup', + 'BgpPeerState', + 'ProcessorArchitecture', + 'VirtualNetworkGatewayConnectionStatus', + 'VirtualNetworkGatewayConnectionType', + 'VirtualNetworkGatewayConnectionProtocol', + 'OfficeTrafficCategory', + 'VpnConnectionStatus', + 'VirtualWanSecurityProviderType', + 'TunnelConnectionStatus', + 'HubVirtualNetworkConnectionStatus', + 'VpnGatewayTunnelingProtocol', + 'VpnAuthenticationType', + 'WebApplicationFirewallEnabledState', + 'WebApplicationFirewallMode', + 'WebApplicationFirewallRuleType', + 'WebApplicationFirewallMatchVariable', + 'WebApplicationFirewallOperator', + 'WebApplicationFirewallTransform', + 'WebApplicationFirewallAction', + 'WebApplicationFirewallPolicyResourceState', + 'OwaspCrsExclusionEntryMatchVariable', + 'OwaspCrsExclusionEntrySelectorMatchOperator', + 'ManagedRuleEnabledState', +] diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/models/_models.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/models/_models.py new file mode 100644 index 00000000000..9911655382c --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/models/_models.py @@ -0,0 +1,18217 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model +from msrest.exceptions import HttpOperationError + + +class AadAuthenticationParameters(Model): + """AAD Vpn authentication type related parameters. + + :param aad_tenant: AAD Vpn authentication parameter AAD tenant. + :type aad_tenant: str + :param aad_audience: AAD Vpn authentication parameter AAD audience. + :type aad_audience: str + :param aad_issuer: AAD Vpn authentication parameter AAD issuer. + :type aad_issuer: str + """ + + _attribute_map = { + 'aad_tenant': {'key': 'aadTenant', 'type': 'str'}, + 'aad_audience': {'key': 'aadAudience', 'type': 'str'}, + 'aad_issuer': {'key': 'aadIssuer', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AadAuthenticationParameters, self).__init__(**kwargs) + self.aad_tenant = kwargs.get('aad_tenant', None) + self.aad_audience = kwargs.get('aad_audience', None) + self.aad_issuer = kwargs.get('aad_issuer', None) + + +class AddressSpace(Model): + """AddressSpace contains an array of IP address ranges that can be used by + subnets of the virtual network. + + :param address_prefixes: A list of address blocks reserved for this + virtual network in CIDR notation. + :type address_prefixes: list[str] + """ + + _attribute_map = { + 'address_prefixes': {'key': 'addressPrefixes', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(AddressSpace, self).__init__(**kwargs) + self.address_prefixes = kwargs.get('address_prefixes', None) + + +class Resource(Model): + """Common resource representation. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, **kwargs): + super(Resource, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.name = None + self.type = None + self.location = kwargs.get('location', None) + self.tags = kwargs.get('tags', None) + + +class ApplicationGateway(Resource): + """Application gateway resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param sku: SKU of the application gateway resource. + :type sku: ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewaySku + :param ssl_policy: SSL policy of the application gateway resource. + :type ssl_policy: + ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewaySslPolicy + :ivar operational_state: Operational state of the application gateway + resource. Possible values include: 'Stopped', 'Starting', 'Running', + 'Stopping' + :vartype operational_state: str or + ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayOperationalState + :param gateway_ip_configurations: Subnets of the application gateway + resource. For default limits, see [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + :type gateway_ip_configurations: + list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayIPConfiguration] + :param authentication_certificates: Authentication certificates of the + application gateway resource. For default limits, see [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + :type authentication_certificates: + list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayAuthenticationCertificate] + :param trusted_root_certificates: Trusted Root certificates of the + application gateway resource. For default limits, see [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + :type trusted_root_certificates: + list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayTrustedRootCertificate] + :param ssl_certificates: SSL certificates of the application gateway + resource. For default limits, see [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + :type ssl_certificates: + list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewaySslCertificate] + :param frontend_ip_configurations: Frontend IP addresses of the + application gateway resource. For default limits, see [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + :type frontend_ip_configurations: + list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayFrontendIPConfiguration] + :param frontend_ports: Frontend ports of the application gateway resource. + For default limits, see [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + :type frontend_ports: + list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayFrontendPort] + :param probes: Probes of the application gateway resource. + :type probes: + list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayProbe] + :param backend_address_pools: Backend address pool of the application + gateway resource. For default limits, see [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + :type backend_address_pools: + list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayBackendAddressPool] + :param backend_http_settings_collection: Backend http settings of the + application gateway resource. For default limits, see [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + :type backend_http_settings_collection: + list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayBackendHttpSettings] + :param http_listeners: Http listeners of the application gateway resource. + For default limits, see [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + :type http_listeners: + list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayHttpListener] + :param url_path_maps: URL path map of the application gateway resource. + For default limits, see [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + :type url_path_maps: + list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayUrlPathMap] + :param request_routing_rules: Request routing rules of the application + gateway resource. + :type request_routing_rules: + list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayRequestRoutingRule] + :param rewrite_rule_sets: Rewrite rules for the application gateway + resource. + :type rewrite_rule_sets: + list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayRewriteRuleSet] + :param redirect_configurations: Redirect configurations of the application + gateway resource. For default limits, see [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + :type redirect_configurations: + list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayRedirectConfiguration] + :param web_application_firewall_configuration: Web application firewall + configuration. + :type web_application_firewall_configuration: + ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayWebApplicationFirewallConfiguration + :param firewall_policy: Reference to the FirewallPolicy resource. + :type firewall_policy: ~azure.mgmt.network.v2020_04_01.models.SubResource + :param enable_http2: Whether HTTP2 is enabled on the application gateway + resource. + :type enable_http2: bool + :param enable_fips: Whether FIPS is enabled on the application gateway + resource. + :type enable_fips: bool + :param autoscale_configuration: Autoscale Configuration. + :type autoscale_configuration: + ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayAutoscaleConfiguration + :ivar resource_guid: The resource GUID property of the application gateway + resource. + :vartype resource_guid: str + :ivar provisioning_state: The provisioning state of the application + gateway resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param custom_error_configurations: Custom error configurations of the + application gateway resource. + :type custom_error_configurations: + list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayCustomError] + :param force_firewall_policy_association: If true, associates a firewall + policy with an application gateway regardless whether the policy differs + from the WAF Config. + :type force_firewall_policy_association: bool + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :param zones: A list of availability zones denoting where the resource + needs to come from. + :type zones: list[str] + :param identity: The identity of the application gateway, if configured. + :type identity: + ~azure.mgmt.network.v2020_04_01.models.ManagedServiceIdentity + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'operational_state': {'readonly': True}, + 'resource_guid': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'sku': {'key': 'properties.sku', 'type': 'ApplicationGatewaySku'}, + 'ssl_policy': {'key': 'properties.sslPolicy', 'type': 'ApplicationGatewaySslPolicy'}, + 'operational_state': {'key': 'properties.operationalState', 'type': 'str'}, + 'gateway_ip_configurations': {'key': 'properties.gatewayIPConfigurations', 'type': '[ApplicationGatewayIPConfiguration]'}, + 'authentication_certificates': {'key': 'properties.authenticationCertificates', 'type': '[ApplicationGatewayAuthenticationCertificate]'}, + 'trusted_root_certificates': {'key': 'properties.trustedRootCertificates', 'type': '[ApplicationGatewayTrustedRootCertificate]'}, + 'ssl_certificates': {'key': 'properties.sslCertificates', 'type': '[ApplicationGatewaySslCertificate]'}, + 'frontend_ip_configurations': {'key': 'properties.frontendIPConfigurations', 'type': '[ApplicationGatewayFrontendIPConfiguration]'}, + 'frontend_ports': {'key': 'properties.frontendPorts', 'type': '[ApplicationGatewayFrontendPort]'}, + 'probes': {'key': 'properties.probes', 'type': '[ApplicationGatewayProbe]'}, + 'backend_address_pools': {'key': 'properties.backendAddressPools', 'type': '[ApplicationGatewayBackendAddressPool]'}, + 'backend_http_settings_collection': {'key': 'properties.backendHttpSettingsCollection', 'type': '[ApplicationGatewayBackendHttpSettings]'}, + 'http_listeners': {'key': 'properties.httpListeners', 'type': '[ApplicationGatewayHttpListener]'}, + 'url_path_maps': {'key': 'properties.urlPathMaps', 'type': '[ApplicationGatewayUrlPathMap]'}, + 'request_routing_rules': {'key': 'properties.requestRoutingRules', 'type': '[ApplicationGatewayRequestRoutingRule]'}, + 'rewrite_rule_sets': {'key': 'properties.rewriteRuleSets', 'type': '[ApplicationGatewayRewriteRuleSet]'}, + 'redirect_configurations': {'key': 'properties.redirectConfigurations', 'type': '[ApplicationGatewayRedirectConfiguration]'}, + 'web_application_firewall_configuration': {'key': 'properties.webApplicationFirewallConfiguration', 'type': 'ApplicationGatewayWebApplicationFirewallConfiguration'}, + 'firewall_policy': {'key': 'properties.firewallPolicy', 'type': 'SubResource'}, + 'enable_http2': {'key': 'properties.enableHttp2', 'type': 'bool'}, + 'enable_fips': {'key': 'properties.enableFips', 'type': 'bool'}, + 'autoscale_configuration': {'key': 'properties.autoscaleConfiguration', 'type': 'ApplicationGatewayAutoscaleConfiguration'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'custom_error_configurations': {'key': 'properties.customErrorConfigurations', 'type': '[ApplicationGatewayCustomError]'}, + 'force_firewall_policy_association': {'key': 'properties.forceFirewallPolicyAssociation', 'type': 'bool'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'zones': {'key': 'zones', 'type': '[str]'}, + 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, + } + + def __init__(self, **kwargs): + super(ApplicationGateway, self).__init__(**kwargs) + self.sku = kwargs.get('sku', None) + self.ssl_policy = kwargs.get('ssl_policy', None) + self.operational_state = None + self.gateway_ip_configurations = kwargs.get('gateway_ip_configurations', None) + self.authentication_certificates = kwargs.get('authentication_certificates', None) + self.trusted_root_certificates = kwargs.get('trusted_root_certificates', None) + self.ssl_certificates = kwargs.get('ssl_certificates', None) + self.frontend_ip_configurations = kwargs.get('frontend_ip_configurations', None) + self.frontend_ports = kwargs.get('frontend_ports', None) + self.probes = kwargs.get('probes', None) + self.backend_address_pools = kwargs.get('backend_address_pools', None) + self.backend_http_settings_collection = kwargs.get('backend_http_settings_collection', None) + self.http_listeners = kwargs.get('http_listeners', None) + self.url_path_maps = kwargs.get('url_path_maps', None) + self.request_routing_rules = kwargs.get('request_routing_rules', None) + self.rewrite_rule_sets = kwargs.get('rewrite_rule_sets', None) + self.redirect_configurations = kwargs.get('redirect_configurations', None) + self.web_application_firewall_configuration = kwargs.get('web_application_firewall_configuration', None) + self.firewall_policy = kwargs.get('firewall_policy', None) + self.enable_http2 = kwargs.get('enable_http2', None) + self.enable_fips = kwargs.get('enable_fips', None) + self.autoscale_configuration = kwargs.get('autoscale_configuration', None) + self.resource_guid = None + self.provisioning_state = None + self.custom_error_configurations = kwargs.get('custom_error_configurations', None) + self.force_firewall_policy_association = kwargs.get('force_firewall_policy_association', None) + self.etag = None + self.zones = kwargs.get('zones', None) + self.identity = kwargs.get('identity', None) + + +class SubResource(Model): + """Reference to another subresource. + + :param id: Resource ID. + :type id: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SubResource, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + + +class ApplicationGatewayAuthenticationCertificate(SubResource): + """Authentication certificates of an application gateway. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param data: Certificate public data. + :type data: str + :ivar provisioning_state: The provisioning state of the authentication + certificate resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: Name of the authentication certificate that is unique within + an Application Gateway. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'data': {'key': 'properties.data', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayAuthenticationCertificate, self).__init__(**kwargs) + self.data = kwargs.get('data', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = None + self.type = None + + +class ApplicationGatewayAutoscaleConfiguration(Model): + """Application Gateway autoscale configuration. + + All required parameters must be populated in order to send to Azure. + + :param min_capacity: Required. Lower bound on number of Application + Gateway capacity. + :type min_capacity: int + :param max_capacity: Upper bound on number of Application Gateway + capacity. + :type max_capacity: int + """ + + _validation = { + 'min_capacity': {'required': True, 'minimum': 0}, + 'max_capacity': {'minimum': 2}, + } + + _attribute_map = { + 'min_capacity': {'key': 'minCapacity', 'type': 'int'}, + 'max_capacity': {'key': 'maxCapacity', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayAutoscaleConfiguration, self).__init__(**kwargs) + self.min_capacity = kwargs.get('min_capacity', None) + self.max_capacity = kwargs.get('max_capacity', None) + + +class ApplicationGatewayAvailableSslOptions(Resource): + """Response for ApplicationGatewayAvailableSslOptions API service call. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param predefined_policies: List of available Ssl predefined policy. + :type predefined_policies: + list[~azure.mgmt.network.v2020_04_01.models.SubResource] + :param default_policy: Name of the Ssl predefined policy applied by + default to application gateway. Possible values include: + 'AppGwSslPolicy20150501', 'AppGwSslPolicy20170401', + 'AppGwSslPolicy20170401S' + :type default_policy: str or + ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewaySslPolicyName + :param available_cipher_suites: List of available Ssl cipher suites. + :type available_cipher_suites: list[str or + ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewaySslCipherSuite] + :param available_protocols: List of available Ssl protocols. + :type available_protocols: list[str or + ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewaySslProtocol] + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'predefined_policies': {'key': 'properties.predefinedPolicies', 'type': '[SubResource]'}, + 'default_policy': {'key': 'properties.defaultPolicy', 'type': 'str'}, + 'available_cipher_suites': {'key': 'properties.availableCipherSuites', 'type': '[str]'}, + 'available_protocols': {'key': 'properties.availableProtocols', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayAvailableSslOptions, self).__init__(**kwargs) + self.predefined_policies = kwargs.get('predefined_policies', None) + self.default_policy = kwargs.get('default_policy', None) + self.available_cipher_suites = kwargs.get('available_cipher_suites', None) + self.available_protocols = kwargs.get('available_protocols', None) + + +class ApplicationGatewayAvailableWafRuleSetsResult(Model): + """Response for ApplicationGatewayAvailableWafRuleSets API service call. + + :param value: The list of application gateway rule sets. + :type value: + list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayFirewallRuleSet] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ApplicationGatewayFirewallRuleSet]'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayAvailableWafRuleSetsResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + + +class ApplicationGatewayBackendAddress(Model): + """Backend address of an application gateway. + + :param fqdn: Fully qualified domain name (FQDN). + :type fqdn: str + :param ip_address: IP address. + :type ip_address: str + """ + + _attribute_map = { + 'fqdn': {'key': 'fqdn', 'type': 'str'}, + 'ip_address': {'key': 'ipAddress', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayBackendAddress, self).__init__(**kwargs) + self.fqdn = kwargs.get('fqdn', None) + self.ip_address = kwargs.get('ip_address', None) + + +class ApplicationGatewayBackendAddressPool(SubResource): + """Backend Address Pool of an application gateway. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar backend_ip_configurations: Collection of references to IPs defined + in network interfaces. + :vartype backend_ip_configurations: + list[~azure.mgmt.network.v2020_04_01.models.NetworkInterfaceIPConfiguration] + :param backend_addresses: Backend addresses. + :type backend_addresses: + list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayBackendAddress] + :ivar provisioning_state: The provisioning state of the backend address + pool resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: Name of the backend address pool that is unique within an + Application Gateway. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'backend_ip_configurations': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'backend_ip_configurations': {'key': 'properties.backendIPConfigurations', 'type': '[NetworkInterfaceIPConfiguration]'}, + 'backend_addresses': {'key': 'properties.backendAddresses', 'type': '[ApplicationGatewayBackendAddress]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayBackendAddressPool, self).__init__(**kwargs) + self.backend_ip_configurations = None + self.backend_addresses = kwargs.get('backend_addresses', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = None + self.type = None + + +class ApplicationGatewayBackendHealth(Model): + """Response for ApplicationGatewayBackendHealth API service call. + + :param backend_address_pools: A list of + ApplicationGatewayBackendHealthPool resources. + :type backend_address_pools: + list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayBackendHealthPool] + """ + + _attribute_map = { + 'backend_address_pools': {'key': 'backendAddressPools', 'type': '[ApplicationGatewayBackendHealthPool]'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayBackendHealth, self).__init__(**kwargs) + self.backend_address_pools = kwargs.get('backend_address_pools', None) + + +class ApplicationGatewayBackendHealthHttpSettings(Model): + """Application gateway BackendHealthHttp settings. + + :param backend_http_settings: Reference to an + ApplicationGatewayBackendHttpSettings resource. + :type backend_http_settings: + ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayBackendHttpSettings + :param servers: List of ApplicationGatewayBackendHealthServer resources. + :type servers: + list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayBackendHealthServer] + """ + + _attribute_map = { + 'backend_http_settings': {'key': 'backendHttpSettings', 'type': 'ApplicationGatewayBackendHttpSettings'}, + 'servers': {'key': 'servers', 'type': '[ApplicationGatewayBackendHealthServer]'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayBackendHealthHttpSettings, self).__init__(**kwargs) + self.backend_http_settings = kwargs.get('backend_http_settings', None) + self.servers = kwargs.get('servers', None) + + +class ApplicationGatewayBackendHealthOnDemand(Model): + """Result of on demand test probe. + + :param backend_address_pool: Reference to an + ApplicationGatewayBackendAddressPool resource. + :type backend_address_pool: + ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayBackendAddressPool + :param backend_health_http_settings: Application gateway BackendHealthHttp + settings. + :type backend_health_http_settings: + ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayBackendHealthHttpSettings + """ + + _attribute_map = { + 'backend_address_pool': {'key': 'backendAddressPool', 'type': 'ApplicationGatewayBackendAddressPool'}, + 'backend_health_http_settings': {'key': 'backendHealthHttpSettings', 'type': 'ApplicationGatewayBackendHealthHttpSettings'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayBackendHealthOnDemand, self).__init__(**kwargs) + self.backend_address_pool = kwargs.get('backend_address_pool', None) + self.backend_health_http_settings = kwargs.get('backend_health_http_settings', None) + + +class ApplicationGatewayBackendHealthPool(Model): + """Application gateway BackendHealth pool. + + :param backend_address_pool: Reference to an + ApplicationGatewayBackendAddressPool resource. + :type backend_address_pool: + ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayBackendAddressPool + :param backend_http_settings_collection: List of + ApplicationGatewayBackendHealthHttpSettings resources. + :type backend_http_settings_collection: + list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayBackendHealthHttpSettings] + """ + + _attribute_map = { + 'backend_address_pool': {'key': 'backendAddressPool', 'type': 'ApplicationGatewayBackendAddressPool'}, + 'backend_http_settings_collection': {'key': 'backendHttpSettingsCollection', 'type': '[ApplicationGatewayBackendHealthHttpSettings]'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayBackendHealthPool, self).__init__(**kwargs) + self.backend_address_pool = kwargs.get('backend_address_pool', None) + self.backend_http_settings_collection = kwargs.get('backend_http_settings_collection', None) + + +class ApplicationGatewayBackendHealthServer(Model): + """Application gateway backendhealth http settings. + + :param address: IP address or FQDN of backend server. + :type address: str + :param ip_configuration: Reference to IP configuration of backend server. + :type ip_configuration: + ~azure.mgmt.network.v2020_04_01.models.NetworkInterfaceIPConfiguration + :param health: Health of backend server. Possible values include: + 'Unknown', 'Up', 'Down', 'Partial', 'Draining' + :type health: str or + ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayBackendHealthServerHealth + :param health_probe_log: Health Probe Log. + :type health_probe_log: str + """ + + _attribute_map = { + 'address': {'key': 'address', 'type': 'str'}, + 'ip_configuration': {'key': 'ipConfiguration', 'type': 'NetworkInterfaceIPConfiguration'}, + 'health': {'key': 'health', 'type': 'str'}, + 'health_probe_log': {'key': 'healthProbeLog', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayBackendHealthServer, self).__init__(**kwargs) + self.address = kwargs.get('address', None) + self.ip_configuration = kwargs.get('ip_configuration', None) + self.health = kwargs.get('health', None) + self.health_probe_log = kwargs.get('health_probe_log', None) + + +class ApplicationGatewayBackendHttpSettings(SubResource): + """Backend address pool settings of an application gateway. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param port: The destination port on the backend. + :type port: int + :param protocol: The protocol used to communicate with the backend. + Possible values include: 'Http', 'Https' + :type protocol: str or + ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayProtocol + :param cookie_based_affinity: Cookie based affinity. Possible values + include: 'Enabled', 'Disabled' + :type cookie_based_affinity: str or + ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayCookieBasedAffinity + :param request_timeout: Request timeout in seconds. Application Gateway + will fail the request if response is not received within RequestTimeout. + Acceptable values are from 1 second to 86400 seconds. + :type request_timeout: int + :param probe: Probe resource of an application gateway. + :type probe: ~azure.mgmt.network.v2020_04_01.models.SubResource + :param authentication_certificates: Array of references to application + gateway authentication certificates. + :type authentication_certificates: + list[~azure.mgmt.network.v2020_04_01.models.SubResource] + :param trusted_root_certificates: Array of references to application + gateway trusted root certificates. + :type trusted_root_certificates: + list[~azure.mgmt.network.v2020_04_01.models.SubResource] + :param connection_draining: Connection draining of the backend http + settings resource. + :type connection_draining: + ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayConnectionDraining + :param host_name: Host header to be sent to the backend servers. + :type host_name: str + :param pick_host_name_from_backend_address: Whether to pick host header + should be picked from the host name of the backend server. Default value + is false. + :type pick_host_name_from_backend_address: bool + :param affinity_cookie_name: Cookie name to use for the affinity cookie. + :type affinity_cookie_name: str + :param probe_enabled: Whether the probe is enabled. Default value is + false. + :type probe_enabled: bool + :param path: Path which should be used as a prefix for all HTTP requests. + Null means no path will be prefixed. Default value is null. + :type path: str + :ivar provisioning_state: The provisioning state of the backend HTTP + settings resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: Name of the backend http settings that is unique within an + Application Gateway. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'port': {'key': 'properties.port', 'type': 'int'}, + 'protocol': {'key': 'properties.protocol', 'type': 'str'}, + 'cookie_based_affinity': {'key': 'properties.cookieBasedAffinity', 'type': 'str'}, + 'request_timeout': {'key': 'properties.requestTimeout', 'type': 'int'}, + 'probe': {'key': 'properties.probe', 'type': 'SubResource'}, + 'authentication_certificates': {'key': 'properties.authenticationCertificates', 'type': '[SubResource]'}, + 'trusted_root_certificates': {'key': 'properties.trustedRootCertificates', 'type': '[SubResource]'}, + 'connection_draining': {'key': 'properties.connectionDraining', 'type': 'ApplicationGatewayConnectionDraining'}, + 'host_name': {'key': 'properties.hostName', 'type': 'str'}, + 'pick_host_name_from_backend_address': {'key': 'properties.pickHostNameFromBackendAddress', 'type': 'bool'}, + 'affinity_cookie_name': {'key': 'properties.affinityCookieName', 'type': 'str'}, + 'probe_enabled': {'key': 'properties.probeEnabled', 'type': 'bool'}, + 'path': {'key': 'properties.path', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayBackendHttpSettings, self).__init__(**kwargs) + self.port = kwargs.get('port', None) + self.protocol = kwargs.get('protocol', None) + self.cookie_based_affinity = kwargs.get('cookie_based_affinity', None) + self.request_timeout = kwargs.get('request_timeout', None) + self.probe = kwargs.get('probe', None) + self.authentication_certificates = kwargs.get('authentication_certificates', None) + self.trusted_root_certificates = kwargs.get('trusted_root_certificates', None) + self.connection_draining = kwargs.get('connection_draining', None) + self.host_name = kwargs.get('host_name', None) + self.pick_host_name_from_backend_address = kwargs.get('pick_host_name_from_backend_address', None) + self.affinity_cookie_name = kwargs.get('affinity_cookie_name', None) + self.probe_enabled = kwargs.get('probe_enabled', None) + self.path = kwargs.get('path', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = None + self.type = None + + +class ApplicationGatewayConnectionDraining(Model): + """Connection draining allows open connections to a backend server to be + active for a specified time after the backend server got removed from the + configuration. + + All required parameters must be populated in order to send to Azure. + + :param enabled: Required. Whether connection draining is enabled or not. + :type enabled: bool + :param drain_timeout_in_sec: Required. The number of seconds connection + draining is active. Acceptable values are from 1 second to 3600 seconds. + :type drain_timeout_in_sec: int + """ + + _validation = { + 'enabled': {'required': True}, + 'drain_timeout_in_sec': {'required': True, 'maximum': 3600, 'minimum': 1}, + } + + _attribute_map = { + 'enabled': {'key': 'enabled', 'type': 'bool'}, + 'drain_timeout_in_sec': {'key': 'drainTimeoutInSec', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayConnectionDraining, self).__init__(**kwargs) + self.enabled = kwargs.get('enabled', None) + self.drain_timeout_in_sec = kwargs.get('drain_timeout_in_sec', None) + + +class ApplicationGatewayCustomError(Model): + """Customer error of an application gateway. + + :param status_code: Status code of the application gateway customer error. + Possible values include: 'HttpStatus403', 'HttpStatus502' + :type status_code: str or + ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayCustomErrorStatusCode + :param custom_error_page_url: Error page URL of the application gateway + customer error. + :type custom_error_page_url: str + """ + + _attribute_map = { + 'status_code': {'key': 'statusCode', 'type': 'str'}, + 'custom_error_page_url': {'key': 'customErrorPageUrl', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayCustomError, self).__init__(**kwargs) + self.status_code = kwargs.get('status_code', None) + self.custom_error_page_url = kwargs.get('custom_error_page_url', None) + + +class ApplicationGatewayFirewallDisabledRuleGroup(Model): + """Allows to disable rules within a rule group or an entire rule group. + + All required parameters must be populated in order to send to Azure. + + :param rule_group_name: Required. The name of the rule group that will be + disabled. + :type rule_group_name: str + :param rules: The list of rules that will be disabled. If null, all rules + of the rule group will be disabled. + :type rules: list[int] + """ + + _validation = { + 'rule_group_name': {'required': True}, + } + + _attribute_map = { + 'rule_group_name': {'key': 'ruleGroupName', 'type': 'str'}, + 'rules': {'key': 'rules', 'type': '[int]'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayFirewallDisabledRuleGroup, self).__init__(**kwargs) + self.rule_group_name = kwargs.get('rule_group_name', None) + self.rules = kwargs.get('rules', None) + + +class ApplicationGatewayFirewallExclusion(Model): + """Allow to exclude some variable satisfy the condition for the WAF check. + + All required parameters must be populated in order to send to Azure. + + :param match_variable: Required. The variable to be excluded. + :type match_variable: str + :param selector_match_operator: Required. When matchVariable is a + collection, operate on the selector to specify which elements in the + collection this exclusion applies to. + :type selector_match_operator: str + :param selector: Required. When matchVariable is a collection, operator + used to specify which elements in the collection this exclusion applies + to. + :type selector: str + """ + + _validation = { + 'match_variable': {'required': True}, + 'selector_match_operator': {'required': True}, + 'selector': {'required': True}, + } + + _attribute_map = { + 'match_variable': {'key': 'matchVariable', 'type': 'str'}, + 'selector_match_operator': {'key': 'selectorMatchOperator', 'type': 'str'}, + 'selector': {'key': 'selector', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayFirewallExclusion, self).__init__(**kwargs) + self.match_variable = kwargs.get('match_variable', None) + self.selector_match_operator = kwargs.get('selector_match_operator', None) + self.selector = kwargs.get('selector', None) + + +class ApplicationGatewayFirewallRule(Model): + """A web application firewall rule. + + All required parameters must be populated in order to send to Azure. + + :param rule_id: Required. The identifier of the web application firewall + rule. + :type rule_id: int + :param description: The description of the web application firewall rule. + :type description: str + """ + + _validation = { + 'rule_id': {'required': True}, + } + + _attribute_map = { + 'rule_id': {'key': 'ruleId', 'type': 'int'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayFirewallRule, self).__init__(**kwargs) + self.rule_id = kwargs.get('rule_id', None) + self.description = kwargs.get('description', None) + + +class ApplicationGatewayFirewallRuleGroup(Model): + """A web application firewall rule group. + + All required parameters must be populated in order to send to Azure. + + :param rule_group_name: Required. The name of the web application firewall + rule group. + :type rule_group_name: str + :param description: The description of the web application firewall rule + group. + :type description: str + :param rules: Required. The rules of the web application firewall rule + group. + :type rules: + list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayFirewallRule] + """ + + _validation = { + 'rule_group_name': {'required': True}, + 'rules': {'required': True}, + } + + _attribute_map = { + 'rule_group_name': {'key': 'ruleGroupName', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'rules': {'key': 'rules', 'type': '[ApplicationGatewayFirewallRule]'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayFirewallRuleGroup, self).__init__(**kwargs) + self.rule_group_name = kwargs.get('rule_group_name', None) + self.description = kwargs.get('description', None) + self.rules = kwargs.get('rules', None) + + +class ApplicationGatewayFirewallRuleSet(Resource): + """A web application firewall rule set. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar provisioning_state: The provisioning state of the web application + firewall rule set. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param rule_set_type: Required. The type of the web application firewall + rule set. + :type rule_set_type: str + :param rule_set_version: Required. The version of the web application + firewall rule set type. + :type rule_set_version: str + :param rule_groups: Required. The rule groups of the web application + firewall rule set. + :type rule_groups: + list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayFirewallRuleGroup] + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'rule_set_type': {'required': True}, + 'rule_set_version': {'required': True}, + 'rule_groups': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'rule_set_type': {'key': 'properties.ruleSetType', 'type': 'str'}, + 'rule_set_version': {'key': 'properties.ruleSetVersion', 'type': 'str'}, + 'rule_groups': {'key': 'properties.ruleGroups', 'type': '[ApplicationGatewayFirewallRuleGroup]'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayFirewallRuleSet, self).__init__(**kwargs) + self.provisioning_state = None + self.rule_set_type = kwargs.get('rule_set_type', None) + self.rule_set_version = kwargs.get('rule_set_version', None) + self.rule_groups = kwargs.get('rule_groups', None) + + +class ApplicationGatewayFrontendIPConfiguration(SubResource): + """Frontend IP configuration of an application gateway. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param private_ip_address: PrivateIPAddress of the network interface IP + Configuration. + :type private_ip_address: str + :param private_ip_allocation_method: The private IP address allocation + method. Possible values include: 'Static', 'Dynamic' + :type private_ip_allocation_method: str or + ~azure.mgmt.network.v2020_04_01.models.IPAllocationMethod + :param subnet: Reference to the subnet resource. + :type subnet: ~azure.mgmt.network.v2020_04_01.models.SubResource + :param public_ip_address: Reference to the PublicIP resource. + :type public_ip_address: + ~azure.mgmt.network.v2020_04_01.models.SubResource + :ivar provisioning_state: The provisioning state of the frontend IP + configuration resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: Name of the frontend IP configuration that is unique within + an Application Gateway. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, + 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, + 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, + 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'SubResource'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayFrontendIPConfiguration, self).__init__(**kwargs) + self.private_ip_address = kwargs.get('private_ip_address', None) + self.private_ip_allocation_method = kwargs.get('private_ip_allocation_method', None) + self.subnet = kwargs.get('subnet', None) + self.public_ip_address = kwargs.get('public_ip_address', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = None + self.type = None + + +class ApplicationGatewayFrontendPort(SubResource): + """Frontend port of an application gateway. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param port: Frontend port. + :type port: int + :ivar provisioning_state: The provisioning state of the frontend port + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: Name of the frontend port that is unique within an + Application Gateway. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'port': {'key': 'properties.port', 'type': 'int'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayFrontendPort, self).__init__(**kwargs) + self.port = kwargs.get('port', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = None + self.type = None + + +class ApplicationGatewayHeaderConfiguration(Model): + """Header configuration of the Actions set in Application Gateway. + + :param header_name: Header name of the header configuration. + :type header_name: str + :param header_value: Header value of the header configuration. + :type header_value: str + """ + + _attribute_map = { + 'header_name': {'key': 'headerName', 'type': 'str'}, + 'header_value': {'key': 'headerValue', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayHeaderConfiguration, self).__init__(**kwargs) + self.header_name = kwargs.get('header_name', None) + self.header_value = kwargs.get('header_value', None) + + +class ApplicationGatewayHttpListener(SubResource): + """Http listener of an application gateway. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param frontend_ip_configuration: Frontend IP configuration resource of an + application gateway. + :type frontend_ip_configuration: + ~azure.mgmt.network.v2020_04_01.models.SubResource + :param frontend_port: Frontend port resource of an application gateway. + :type frontend_port: ~azure.mgmt.network.v2020_04_01.models.SubResource + :param protocol: Protocol of the HTTP listener. Possible values include: + 'Http', 'Https' + :type protocol: str or + ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayProtocol + :param host_name: Host name of HTTP listener. + :type host_name: str + :param ssl_certificate: SSL certificate resource of an application + gateway. + :type ssl_certificate: ~azure.mgmt.network.v2020_04_01.models.SubResource + :param require_server_name_indication: Applicable only if protocol is + https. Enables SNI for multi-hosting. + :type require_server_name_indication: bool + :ivar provisioning_state: The provisioning state of the HTTP listener + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param custom_error_configurations: Custom error configurations of the + HTTP listener. + :type custom_error_configurations: + list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayCustomError] + :param firewall_policy: Reference to the FirewallPolicy resource. + :type firewall_policy: ~azure.mgmt.network.v2020_04_01.models.SubResource + :param host_names: List of Host names for HTTP Listener that allows + special wildcard characters as well. + :type host_names: list[str] + :param name: Name of the HTTP listener that is unique within an + Application Gateway. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'frontend_ip_configuration': {'key': 'properties.frontendIPConfiguration', 'type': 'SubResource'}, + 'frontend_port': {'key': 'properties.frontendPort', 'type': 'SubResource'}, + 'protocol': {'key': 'properties.protocol', 'type': 'str'}, + 'host_name': {'key': 'properties.hostName', 'type': 'str'}, + 'ssl_certificate': {'key': 'properties.sslCertificate', 'type': 'SubResource'}, + 'require_server_name_indication': {'key': 'properties.requireServerNameIndication', 'type': 'bool'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'custom_error_configurations': {'key': 'properties.customErrorConfigurations', 'type': '[ApplicationGatewayCustomError]'}, + 'firewall_policy': {'key': 'properties.firewallPolicy', 'type': 'SubResource'}, + 'host_names': {'key': 'properties.hostNames', 'type': '[str]'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayHttpListener, self).__init__(**kwargs) + self.frontend_ip_configuration = kwargs.get('frontend_ip_configuration', None) + self.frontend_port = kwargs.get('frontend_port', None) + self.protocol = kwargs.get('protocol', None) + self.host_name = kwargs.get('host_name', None) + self.ssl_certificate = kwargs.get('ssl_certificate', None) + self.require_server_name_indication = kwargs.get('require_server_name_indication', None) + self.provisioning_state = None + self.custom_error_configurations = kwargs.get('custom_error_configurations', None) + self.firewall_policy = kwargs.get('firewall_policy', None) + self.host_names = kwargs.get('host_names', None) + self.name = kwargs.get('name', None) + self.etag = None + self.type = None + + +class ApplicationGatewayIPConfiguration(SubResource): + """IP configuration of an application gateway. Currently 1 public and 1 + private IP configuration is allowed. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param subnet: Reference to the subnet resource. A subnet from where + application gateway gets its private address. + :type subnet: ~azure.mgmt.network.v2020_04_01.models.SubResource + :ivar provisioning_state: The provisioning state of the application + gateway IP configuration resource. Possible values include: 'Succeeded', + 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: Name of the IP configuration that is unique within an + Application Gateway. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayIPConfiguration, self).__init__(**kwargs) + self.subnet = kwargs.get('subnet', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = None + self.type = None + + +class ApplicationGatewayOnDemandProbe(Model): + """Details of on demand test probe request. + + :param protocol: The protocol used for the probe. Possible values include: + 'Http', 'Https' + :type protocol: str or + ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayProtocol + :param host: Host name to send the probe to. + :type host: str + :param path: Relative path of probe. Valid path starts from '/'. Probe is + sent to ://:. + :type path: str + :param timeout: The probe timeout in seconds. Probe marked as failed if + valid response is not received with this timeout period. Acceptable values + are from 1 second to 86400 seconds. + :type timeout: int + :param pick_host_name_from_backend_http_settings: Whether the host header + should be picked from the backend http settings. Default value is false. + :type pick_host_name_from_backend_http_settings: bool + :param match: Criterion for classifying a healthy probe response. + :type match: + ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayProbeHealthResponseMatch + :param backend_address_pool: Reference to backend pool of application + gateway to which probe request will be sent. + :type backend_address_pool: + ~azure.mgmt.network.v2020_04_01.models.SubResource + :param backend_http_settings: Reference to backend http setting of + application gateway to be used for test probe. + :type backend_http_settings: + ~azure.mgmt.network.v2020_04_01.models.SubResource + """ + + _attribute_map = { + 'protocol': {'key': 'protocol', 'type': 'str'}, + 'host': {'key': 'host', 'type': 'str'}, + 'path': {'key': 'path', 'type': 'str'}, + 'timeout': {'key': 'timeout', 'type': 'int'}, + 'pick_host_name_from_backend_http_settings': {'key': 'pickHostNameFromBackendHttpSettings', 'type': 'bool'}, + 'match': {'key': 'match', 'type': 'ApplicationGatewayProbeHealthResponseMatch'}, + 'backend_address_pool': {'key': 'backendAddressPool', 'type': 'SubResource'}, + 'backend_http_settings': {'key': 'backendHttpSettings', 'type': 'SubResource'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayOnDemandProbe, self).__init__(**kwargs) + self.protocol = kwargs.get('protocol', None) + self.host = kwargs.get('host', None) + self.path = kwargs.get('path', None) + self.timeout = kwargs.get('timeout', None) + self.pick_host_name_from_backend_http_settings = kwargs.get('pick_host_name_from_backend_http_settings', None) + self.match = kwargs.get('match', None) + self.backend_address_pool = kwargs.get('backend_address_pool', None) + self.backend_http_settings = kwargs.get('backend_http_settings', None) + + +class ApplicationGatewayPathRule(SubResource): + """Path rule of URL path map of an application gateway. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param paths: Path rules of URL path map. + :type paths: list[str] + :param backend_address_pool: Backend address pool resource of URL path map + path rule. + :type backend_address_pool: + ~azure.mgmt.network.v2020_04_01.models.SubResource + :param backend_http_settings: Backend http settings resource of URL path + map path rule. + :type backend_http_settings: + ~azure.mgmt.network.v2020_04_01.models.SubResource + :param redirect_configuration: Redirect configuration resource of URL path + map path rule. + :type redirect_configuration: + ~azure.mgmt.network.v2020_04_01.models.SubResource + :param rewrite_rule_set: Rewrite rule set resource of URL path map path + rule. + :type rewrite_rule_set: ~azure.mgmt.network.v2020_04_01.models.SubResource + :ivar provisioning_state: The provisioning state of the path rule + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param firewall_policy: Reference to the FirewallPolicy resource. + :type firewall_policy: ~azure.mgmt.network.v2020_04_01.models.SubResource + :param name: Name of the path rule that is unique within an Application + Gateway. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'paths': {'key': 'properties.paths', 'type': '[str]'}, + 'backend_address_pool': {'key': 'properties.backendAddressPool', 'type': 'SubResource'}, + 'backend_http_settings': {'key': 'properties.backendHttpSettings', 'type': 'SubResource'}, + 'redirect_configuration': {'key': 'properties.redirectConfiguration', 'type': 'SubResource'}, + 'rewrite_rule_set': {'key': 'properties.rewriteRuleSet', 'type': 'SubResource'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'firewall_policy': {'key': 'properties.firewallPolicy', 'type': 'SubResource'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayPathRule, self).__init__(**kwargs) + self.paths = kwargs.get('paths', None) + self.backend_address_pool = kwargs.get('backend_address_pool', None) + self.backend_http_settings = kwargs.get('backend_http_settings', None) + self.redirect_configuration = kwargs.get('redirect_configuration', None) + self.rewrite_rule_set = kwargs.get('rewrite_rule_set', None) + self.provisioning_state = None + self.firewall_policy = kwargs.get('firewall_policy', None) + self.name = kwargs.get('name', None) + self.etag = None + self.type = None + + +class ApplicationGatewayProbe(SubResource): + """Probe of the application gateway. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param protocol: The protocol used for the probe. Possible values include: + 'Http', 'Https' + :type protocol: str or + ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayProtocol + :param host: Host name to send the probe to. + :type host: str + :param path: Relative path of probe. Valid path starts from '/'. Probe is + sent to ://:. + :type path: str + :param interval: The probing interval in seconds. This is the time + interval between two consecutive probes. Acceptable values are from 1 + second to 86400 seconds. + :type interval: int + :param timeout: The probe timeout in seconds. Probe marked as failed if + valid response is not received with this timeout period. Acceptable values + are from 1 second to 86400 seconds. + :type timeout: int + :param unhealthy_threshold: The probe retry count. Backend server is + marked down after consecutive probe failure count reaches + UnhealthyThreshold. Acceptable values are from 1 second to 20. + :type unhealthy_threshold: int + :param pick_host_name_from_backend_http_settings: Whether the host header + should be picked from the backend http settings. Default value is false. + :type pick_host_name_from_backend_http_settings: bool + :param min_servers: Minimum number of servers that are always marked + healthy. Default value is 0. + :type min_servers: int + :param match: Criterion for classifying a healthy probe response. + :type match: + ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayProbeHealthResponseMatch + :ivar provisioning_state: The provisioning state of the probe resource. + Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param port: Custom port which will be used for probing the backend + servers. The valid value ranges from 1 to 65535. In case not set, port + from http settings will be used. This property is valid for Standard_v2 + and WAF_v2 only. + :type port: int + :param name: Name of the probe that is unique within an Application + Gateway. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'port': {'maximum': 65535, 'minimum': 1}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'protocol': {'key': 'properties.protocol', 'type': 'str'}, + 'host': {'key': 'properties.host', 'type': 'str'}, + 'path': {'key': 'properties.path', 'type': 'str'}, + 'interval': {'key': 'properties.interval', 'type': 'int'}, + 'timeout': {'key': 'properties.timeout', 'type': 'int'}, + 'unhealthy_threshold': {'key': 'properties.unhealthyThreshold', 'type': 'int'}, + 'pick_host_name_from_backend_http_settings': {'key': 'properties.pickHostNameFromBackendHttpSettings', 'type': 'bool'}, + 'min_servers': {'key': 'properties.minServers', 'type': 'int'}, + 'match': {'key': 'properties.match', 'type': 'ApplicationGatewayProbeHealthResponseMatch'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'port': {'key': 'properties.port', 'type': 'int'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayProbe, self).__init__(**kwargs) + self.protocol = kwargs.get('protocol', None) + self.host = kwargs.get('host', None) + self.path = kwargs.get('path', None) + self.interval = kwargs.get('interval', None) + self.timeout = kwargs.get('timeout', None) + self.unhealthy_threshold = kwargs.get('unhealthy_threshold', None) + self.pick_host_name_from_backend_http_settings = kwargs.get('pick_host_name_from_backend_http_settings', None) + self.min_servers = kwargs.get('min_servers', None) + self.match = kwargs.get('match', None) + self.provisioning_state = None + self.port = kwargs.get('port', None) + self.name = kwargs.get('name', None) + self.etag = None + self.type = None + + +class ApplicationGatewayProbeHealthResponseMatch(Model): + """Application gateway probe health response match. + + :param body: Body that must be contained in the health response. Default + value is empty. + :type body: str + :param status_codes: Allowed ranges of healthy status codes. Default range + of healthy status codes is 200-399. + :type status_codes: list[str] + """ + + _attribute_map = { + 'body': {'key': 'body', 'type': 'str'}, + 'status_codes': {'key': 'statusCodes', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayProbeHealthResponseMatch, self).__init__(**kwargs) + self.body = kwargs.get('body', None) + self.status_codes = kwargs.get('status_codes', None) + + +class ApplicationGatewayRedirectConfiguration(SubResource): + """Redirect configuration of an application gateway. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param redirect_type: HTTP redirection type. Possible values include: + 'Permanent', 'Found', 'SeeOther', 'Temporary' + :type redirect_type: str or + ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayRedirectType + :param target_listener: Reference to a listener to redirect the request + to. + :type target_listener: ~azure.mgmt.network.v2020_04_01.models.SubResource + :param target_url: Url to redirect the request to. + :type target_url: str + :param include_path: Include path in the redirected url. + :type include_path: bool + :param include_query_string: Include query string in the redirected url. + :type include_query_string: bool + :param request_routing_rules: Request routing specifying redirect + configuration. + :type request_routing_rules: + list[~azure.mgmt.network.v2020_04_01.models.SubResource] + :param url_path_maps: Url path maps specifying default redirect + configuration. + :type url_path_maps: + list[~azure.mgmt.network.v2020_04_01.models.SubResource] + :param path_rules: Path rules specifying redirect configuration. + :type path_rules: list[~azure.mgmt.network.v2020_04_01.models.SubResource] + :param name: Name of the redirect configuration that is unique within an + Application Gateway. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'redirect_type': {'key': 'properties.redirectType', 'type': 'str'}, + 'target_listener': {'key': 'properties.targetListener', 'type': 'SubResource'}, + 'target_url': {'key': 'properties.targetUrl', 'type': 'str'}, + 'include_path': {'key': 'properties.includePath', 'type': 'bool'}, + 'include_query_string': {'key': 'properties.includeQueryString', 'type': 'bool'}, + 'request_routing_rules': {'key': 'properties.requestRoutingRules', 'type': '[SubResource]'}, + 'url_path_maps': {'key': 'properties.urlPathMaps', 'type': '[SubResource]'}, + 'path_rules': {'key': 'properties.pathRules', 'type': '[SubResource]'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayRedirectConfiguration, self).__init__(**kwargs) + self.redirect_type = kwargs.get('redirect_type', None) + self.target_listener = kwargs.get('target_listener', None) + self.target_url = kwargs.get('target_url', None) + self.include_path = kwargs.get('include_path', None) + self.include_query_string = kwargs.get('include_query_string', None) + self.request_routing_rules = kwargs.get('request_routing_rules', None) + self.url_path_maps = kwargs.get('url_path_maps', None) + self.path_rules = kwargs.get('path_rules', None) + self.name = kwargs.get('name', None) + self.etag = None + self.type = None + + +class ApplicationGatewayRequestRoutingRule(SubResource): + """Request routing rule of an application gateway. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param rule_type: Rule type. Possible values include: 'Basic', + 'PathBasedRouting' + :type rule_type: str or + ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayRequestRoutingRuleType + :param priority: Priority of the request routing rule. + :type priority: int + :param backend_address_pool: Backend address pool resource of the + application gateway. + :type backend_address_pool: + ~azure.mgmt.network.v2020_04_01.models.SubResource + :param backend_http_settings: Backend http settings resource of the + application gateway. + :type backend_http_settings: + ~azure.mgmt.network.v2020_04_01.models.SubResource + :param http_listener: Http listener resource of the application gateway. + :type http_listener: ~azure.mgmt.network.v2020_04_01.models.SubResource + :param url_path_map: URL path map resource of the application gateway. + :type url_path_map: ~azure.mgmt.network.v2020_04_01.models.SubResource + :param rewrite_rule_set: Rewrite Rule Set resource in Basic rule of the + application gateway. + :type rewrite_rule_set: ~azure.mgmt.network.v2020_04_01.models.SubResource + :param redirect_configuration: Redirect configuration resource of the + application gateway. + :type redirect_configuration: + ~azure.mgmt.network.v2020_04_01.models.SubResource + :ivar provisioning_state: The provisioning state of the request routing + rule resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: Name of the request routing rule that is unique within an + Application Gateway. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'priority': {'maximum': 20000, 'minimum': 1}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'rule_type': {'key': 'properties.ruleType', 'type': 'str'}, + 'priority': {'key': 'properties.priority', 'type': 'int'}, + 'backend_address_pool': {'key': 'properties.backendAddressPool', 'type': 'SubResource'}, + 'backend_http_settings': {'key': 'properties.backendHttpSettings', 'type': 'SubResource'}, + 'http_listener': {'key': 'properties.httpListener', 'type': 'SubResource'}, + 'url_path_map': {'key': 'properties.urlPathMap', 'type': 'SubResource'}, + 'rewrite_rule_set': {'key': 'properties.rewriteRuleSet', 'type': 'SubResource'}, + 'redirect_configuration': {'key': 'properties.redirectConfiguration', 'type': 'SubResource'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayRequestRoutingRule, self).__init__(**kwargs) + self.rule_type = kwargs.get('rule_type', None) + self.priority = kwargs.get('priority', None) + self.backend_address_pool = kwargs.get('backend_address_pool', None) + self.backend_http_settings = kwargs.get('backend_http_settings', None) + self.http_listener = kwargs.get('http_listener', None) + self.url_path_map = kwargs.get('url_path_map', None) + self.rewrite_rule_set = kwargs.get('rewrite_rule_set', None) + self.redirect_configuration = kwargs.get('redirect_configuration', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = None + self.type = None + + +class ApplicationGatewayRewriteRule(Model): + """Rewrite rule of an application gateway. + + :param name: Name of the rewrite rule that is unique within an Application + Gateway. + :type name: str + :param rule_sequence: Rule Sequence of the rewrite rule that determines + the order of execution of a particular rule in a RewriteRuleSet. + :type rule_sequence: int + :param conditions: Conditions based on which the action set execution will + be evaluated. + :type conditions: + list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayRewriteRuleCondition] + :param action_set: Set of actions to be done as part of the rewrite Rule. + :type action_set: + ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayRewriteRuleActionSet + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'rule_sequence': {'key': 'ruleSequence', 'type': 'int'}, + 'conditions': {'key': 'conditions', 'type': '[ApplicationGatewayRewriteRuleCondition]'}, + 'action_set': {'key': 'actionSet', 'type': 'ApplicationGatewayRewriteRuleActionSet'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayRewriteRule, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.rule_sequence = kwargs.get('rule_sequence', None) + self.conditions = kwargs.get('conditions', None) + self.action_set = kwargs.get('action_set', None) + + +class ApplicationGatewayRewriteRuleActionSet(Model): + """Set of actions in the Rewrite Rule in Application Gateway. + + :param request_header_configurations: Request Header Actions in the Action + Set. + :type request_header_configurations: + list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayHeaderConfiguration] + :param response_header_configurations: Response Header Actions in the + Action Set. + :type response_header_configurations: + list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayHeaderConfiguration] + :param url_configuration: Url Configuration Action in the Action Set. + :type url_configuration: + ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayUrlConfiguration + """ + + _attribute_map = { + 'request_header_configurations': {'key': 'requestHeaderConfigurations', 'type': '[ApplicationGatewayHeaderConfiguration]'}, + 'response_header_configurations': {'key': 'responseHeaderConfigurations', 'type': '[ApplicationGatewayHeaderConfiguration]'}, + 'url_configuration': {'key': 'urlConfiguration', 'type': 'ApplicationGatewayUrlConfiguration'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayRewriteRuleActionSet, self).__init__(**kwargs) + self.request_header_configurations = kwargs.get('request_header_configurations', None) + self.response_header_configurations = kwargs.get('response_header_configurations', None) + self.url_configuration = kwargs.get('url_configuration', None) + + +class ApplicationGatewayRewriteRuleCondition(Model): + """Set of conditions in the Rewrite Rule in Application Gateway. + + :param variable: The condition parameter of the RewriteRuleCondition. + :type variable: str + :param pattern: The pattern, either fixed string or regular expression, + that evaluates the truthfulness of the condition. + :type pattern: str + :param ignore_case: Setting this paramter to truth value with force the + pattern to do a case in-sensitive comparison. + :type ignore_case: bool + :param negate: Setting this value as truth will force to check the + negation of the condition given by the user. + :type negate: bool + """ + + _attribute_map = { + 'variable': {'key': 'variable', 'type': 'str'}, + 'pattern': {'key': 'pattern', 'type': 'str'}, + 'ignore_case': {'key': 'ignoreCase', 'type': 'bool'}, + 'negate': {'key': 'negate', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayRewriteRuleCondition, self).__init__(**kwargs) + self.variable = kwargs.get('variable', None) + self.pattern = kwargs.get('pattern', None) + self.ignore_case = kwargs.get('ignore_case', None) + self.negate = kwargs.get('negate', None) + + +class ApplicationGatewayRewriteRuleSet(SubResource): + """Rewrite rule set of an application gateway. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param rewrite_rules: Rewrite rules in the rewrite rule set. + :type rewrite_rules: + list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayRewriteRule] + :ivar provisioning_state: The provisioning state of the rewrite rule set + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: Name of the rewrite rule set that is unique within an + Application Gateway. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'rewrite_rules': {'key': 'properties.rewriteRules', 'type': '[ApplicationGatewayRewriteRule]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayRewriteRuleSet, self).__init__(**kwargs) + self.rewrite_rules = kwargs.get('rewrite_rules', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = None + + +class ApplicationGatewaySku(Model): + """SKU of an application gateway. + + :param name: Name of an application gateway SKU. Possible values include: + 'Standard_Small', 'Standard_Medium', 'Standard_Large', 'WAF_Medium', + 'WAF_Large', 'Standard_v2', 'WAF_v2' + :type name: str or + ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewaySkuName + :param tier: Tier of an application gateway. Possible values include: + 'Standard', 'WAF', 'Standard_v2', 'WAF_v2' + :type tier: str or + ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayTier + :param capacity: Capacity (instance count) of an application gateway. + :type capacity: int + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + 'capacity': {'key': 'capacity', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewaySku, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.tier = kwargs.get('tier', None) + self.capacity = kwargs.get('capacity', None) + + +class ApplicationGatewaySslCertificate(SubResource): + """SSL certificates of an application gateway. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param data: Base-64 encoded pfx certificate. Only applicable in PUT + Request. + :type data: str + :param password: Password for the pfx file specified in data. Only + applicable in PUT request. + :type password: str + :ivar public_cert_data: Base-64 encoded Public cert data corresponding to + pfx specified in data. Only applicable in GET request. + :vartype public_cert_data: str + :param key_vault_secret_id: Secret Id of (base-64 encoded unencrypted pfx) + 'Secret' or 'Certificate' object stored in KeyVault. + :type key_vault_secret_id: str + :ivar provisioning_state: The provisioning state of the SSL certificate + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: Name of the SSL certificate that is unique within an + Application Gateway. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'public_cert_data': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'data': {'key': 'properties.data', 'type': 'str'}, + 'password': {'key': 'properties.password', 'type': 'str'}, + 'public_cert_data': {'key': 'properties.publicCertData', 'type': 'str'}, + 'key_vault_secret_id': {'key': 'properties.keyVaultSecretId', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewaySslCertificate, self).__init__(**kwargs) + self.data = kwargs.get('data', None) + self.password = kwargs.get('password', None) + self.public_cert_data = None + self.key_vault_secret_id = kwargs.get('key_vault_secret_id', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = None + self.type = None + + +class ApplicationGatewaySslPolicy(Model): + """Application Gateway Ssl policy. + + :param disabled_ssl_protocols: Ssl protocols to be disabled on application + gateway. + :type disabled_ssl_protocols: list[str or + ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewaySslProtocol] + :param policy_type: Type of Ssl Policy. Possible values include: + 'Predefined', 'Custom' + :type policy_type: str or + ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewaySslPolicyType + :param policy_name: Name of Ssl predefined policy. Possible values + include: 'AppGwSslPolicy20150501', 'AppGwSslPolicy20170401', + 'AppGwSslPolicy20170401S' + :type policy_name: str or + ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewaySslPolicyName + :param cipher_suites: Ssl cipher suites to be enabled in the specified + order to application gateway. + :type cipher_suites: list[str or + ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewaySslCipherSuite] + :param min_protocol_version: Minimum version of Ssl protocol to be + supported on application gateway. Possible values include: 'TLSv1_0', + 'TLSv1_1', 'TLSv1_2' + :type min_protocol_version: str or + ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewaySslProtocol + """ + + _attribute_map = { + 'disabled_ssl_protocols': {'key': 'disabledSslProtocols', 'type': '[str]'}, + 'policy_type': {'key': 'policyType', 'type': 'str'}, + 'policy_name': {'key': 'policyName', 'type': 'str'}, + 'cipher_suites': {'key': 'cipherSuites', 'type': '[str]'}, + 'min_protocol_version': {'key': 'minProtocolVersion', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewaySslPolicy, self).__init__(**kwargs) + self.disabled_ssl_protocols = kwargs.get('disabled_ssl_protocols', None) + self.policy_type = kwargs.get('policy_type', None) + self.policy_name = kwargs.get('policy_name', None) + self.cipher_suites = kwargs.get('cipher_suites', None) + self.min_protocol_version = kwargs.get('min_protocol_version', None) + + +class ApplicationGatewaySslPredefinedPolicy(SubResource): + """An Ssl predefined policy. + + :param id: Resource ID. + :type id: str + :param name: Name of the Ssl predefined policy. + :type name: str + :param cipher_suites: Ssl cipher suites to be enabled in the specified + order for application gateway. + :type cipher_suites: list[str or + ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewaySslCipherSuite] + :param min_protocol_version: Minimum version of Ssl protocol to be + supported on application gateway. Possible values include: 'TLSv1_0', + 'TLSv1_1', 'TLSv1_2' + :type min_protocol_version: str or + ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewaySslProtocol + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'cipher_suites': {'key': 'properties.cipherSuites', 'type': '[str]'}, + 'min_protocol_version': {'key': 'properties.minProtocolVersion', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewaySslPredefinedPolicy, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.cipher_suites = kwargs.get('cipher_suites', None) + self.min_protocol_version = kwargs.get('min_protocol_version', None) + + +class ApplicationGatewayTrustedRootCertificate(SubResource): + """Trusted Root certificates of an application gateway. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param data: Certificate public data. + :type data: str + :param key_vault_secret_id: Secret Id of (base-64 encoded unencrypted pfx) + 'Secret' or 'Certificate' object stored in KeyVault. + :type key_vault_secret_id: str + :ivar provisioning_state: The provisioning state of the trusted root + certificate resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: Name of the trusted root certificate that is unique within an + Application Gateway. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'data': {'key': 'properties.data', 'type': 'str'}, + 'key_vault_secret_id': {'key': 'properties.keyVaultSecretId', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayTrustedRootCertificate, self).__init__(**kwargs) + self.data = kwargs.get('data', None) + self.key_vault_secret_id = kwargs.get('key_vault_secret_id', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = None + self.type = None + + +class ApplicationGatewayUrlConfiguration(Model): + """Url configuration of the Actions set in Application Gateway. + + :param modified_path: Url path which user has provided for url rewrite. + Null means no path will be updated. Default value is null. + :type modified_path: str + :param modified_query_string: Query string which user has provided for url + rewrite. Null means no query string will be updated. Default value is + null. + :type modified_query_string: str + :param reroute: If set as true, it will re-evaluate the url path map + provided in path based request routing rules using modified path. Default + value is false. + :type reroute: bool + """ + + _attribute_map = { + 'modified_path': {'key': 'modifiedPath', 'type': 'str'}, + 'modified_query_string': {'key': 'modifiedQueryString', 'type': 'str'}, + 'reroute': {'key': 'reroute', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayUrlConfiguration, self).__init__(**kwargs) + self.modified_path = kwargs.get('modified_path', None) + self.modified_query_string = kwargs.get('modified_query_string', None) + self.reroute = kwargs.get('reroute', None) + + +class ApplicationGatewayUrlPathMap(SubResource): + """UrlPathMaps give a url path to the backend mapping information for + PathBasedRouting. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param default_backend_address_pool: Default backend address pool resource + of URL path map. + :type default_backend_address_pool: + ~azure.mgmt.network.v2020_04_01.models.SubResource + :param default_backend_http_settings: Default backend http settings + resource of URL path map. + :type default_backend_http_settings: + ~azure.mgmt.network.v2020_04_01.models.SubResource + :param default_rewrite_rule_set: Default Rewrite rule set resource of URL + path map. + :type default_rewrite_rule_set: + ~azure.mgmt.network.v2020_04_01.models.SubResource + :param default_redirect_configuration: Default redirect configuration + resource of URL path map. + :type default_redirect_configuration: + ~azure.mgmt.network.v2020_04_01.models.SubResource + :param path_rules: Path rule of URL path map resource. + :type path_rules: + list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayPathRule] + :ivar provisioning_state: The provisioning state of the URL path map + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: Name of the URL path map that is unique within an Application + Gateway. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'default_backend_address_pool': {'key': 'properties.defaultBackendAddressPool', 'type': 'SubResource'}, + 'default_backend_http_settings': {'key': 'properties.defaultBackendHttpSettings', 'type': 'SubResource'}, + 'default_rewrite_rule_set': {'key': 'properties.defaultRewriteRuleSet', 'type': 'SubResource'}, + 'default_redirect_configuration': {'key': 'properties.defaultRedirectConfiguration', 'type': 'SubResource'}, + 'path_rules': {'key': 'properties.pathRules', 'type': '[ApplicationGatewayPathRule]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayUrlPathMap, self).__init__(**kwargs) + self.default_backend_address_pool = kwargs.get('default_backend_address_pool', None) + self.default_backend_http_settings = kwargs.get('default_backend_http_settings', None) + self.default_rewrite_rule_set = kwargs.get('default_rewrite_rule_set', None) + self.default_redirect_configuration = kwargs.get('default_redirect_configuration', None) + self.path_rules = kwargs.get('path_rules', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = None + self.type = None + + +class ApplicationGatewayWebApplicationFirewallConfiguration(Model): + """Application gateway web application firewall configuration. + + All required parameters must be populated in order to send to Azure. + + :param enabled: Required. Whether the web application firewall is enabled + or not. + :type enabled: bool + :param firewall_mode: Required. Web application firewall mode. Possible + values include: 'Detection', 'Prevention' + :type firewall_mode: str or + ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayFirewallMode + :param rule_set_type: Required. The type of the web application firewall + rule set. Possible values are: 'OWASP'. + :type rule_set_type: str + :param rule_set_version: Required. The version of the rule set type. + :type rule_set_version: str + :param disabled_rule_groups: The disabled rule groups. + :type disabled_rule_groups: + list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayFirewallDisabledRuleGroup] + :param request_body_check: Whether allow WAF to check request Body. + :type request_body_check: bool + :param max_request_body_size: Maximum request body size for WAF. + :type max_request_body_size: int + :param max_request_body_size_in_kb: Maximum request body size in Kb for + WAF. + :type max_request_body_size_in_kb: int + :param file_upload_limit_in_mb: Maximum file upload size in Mb for WAF. + :type file_upload_limit_in_mb: int + :param exclusions: The exclusion list. + :type exclusions: + list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayFirewallExclusion] + """ + + _validation = { + 'enabled': {'required': True}, + 'firewall_mode': {'required': True}, + 'rule_set_type': {'required': True}, + 'rule_set_version': {'required': True}, + 'max_request_body_size': {'maximum': 128, 'minimum': 8}, + 'max_request_body_size_in_kb': {'maximum': 128, 'minimum': 8}, + 'file_upload_limit_in_mb': {'minimum': 0}, + } + + _attribute_map = { + 'enabled': {'key': 'enabled', 'type': 'bool'}, + 'firewall_mode': {'key': 'firewallMode', 'type': 'str'}, + 'rule_set_type': {'key': 'ruleSetType', 'type': 'str'}, + 'rule_set_version': {'key': 'ruleSetVersion', 'type': 'str'}, + 'disabled_rule_groups': {'key': 'disabledRuleGroups', 'type': '[ApplicationGatewayFirewallDisabledRuleGroup]'}, + 'request_body_check': {'key': 'requestBodyCheck', 'type': 'bool'}, + 'max_request_body_size': {'key': 'maxRequestBodySize', 'type': 'int'}, + 'max_request_body_size_in_kb': {'key': 'maxRequestBodySizeInKb', 'type': 'int'}, + 'file_upload_limit_in_mb': {'key': 'fileUploadLimitInMb', 'type': 'int'}, + 'exclusions': {'key': 'exclusions', 'type': '[ApplicationGatewayFirewallExclusion]'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayWebApplicationFirewallConfiguration, self).__init__(**kwargs) + self.enabled = kwargs.get('enabled', None) + self.firewall_mode = kwargs.get('firewall_mode', None) + self.rule_set_type = kwargs.get('rule_set_type', None) + self.rule_set_version = kwargs.get('rule_set_version', None) + self.disabled_rule_groups = kwargs.get('disabled_rule_groups', None) + self.request_body_check = kwargs.get('request_body_check', None) + self.max_request_body_size = kwargs.get('max_request_body_size', None) + self.max_request_body_size_in_kb = kwargs.get('max_request_body_size_in_kb', None) + self.file_upload_limit_in_mb = kwargs.get('file_upload_limit_in_mb', None) + self.exclusions = kwargs.get('exclusions', None) + + +class FirewallPolicyRuleCondition(Model): + """Properties of a rule. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: ApplicationRuleCondition, NatRuleCondition, + NetworkRuleCondition + + All required parameters must be populated in order to send to Azure. + + :param name: Name of the rule condition. + :type name: str + :param description: Description of the rule condition. + :type description: str + :param rule_condition_type: Required. Constant filled by server. + :type rule_condition_type: str + """ + + _validation = { + 'rule_condition_type': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'rule_condition_type': {'key': 'ruleConditionType', 'type': 'str'}, + } + + _subtype_map = { + 'rule_condition_type': {'ApplicationRuleCondition': 'ApplicationRuleCondition', 'NatRuleCondition': 'NatRuleCondition', 'NetworkRuleCondition': 'NetworkRuleCondition'} + } + + def __init__(self, **kwargs): + super(FirewallPolicyRuleCondition, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.description = kwargs.get('description', None) + self.rule_condition_type = None + + +class ApplicationRuleCondition(FirewallPolicyRuleCondition): + """Rule condition of type application. + + All required parameters must be populated in order to send to Azure. + + :param name: Name of the rule condition. + :type name: str + :param description: Description of the rule condition. + :type description: str + :param rule_condition_type: Required. Constant filled by server. + :type rule_condition_type: str + :param source_addresses: List of source IP addresses for this rule. + :type source_addresses: list[str] + :param destination_addresses: List of destination IP addresses or Service + Tags. + :type destination_addresses: list[str] + :param protocols: Array of Application Protocols. + :type protocols: + list[~azure.mgmt.network.v2020_04_01.models.FirewallPolicyRuleConditionApplicationProtocol] + :param target_urls: List of Urls for this rule condition. + :type target_urls: list[str] + :param target_fqdns: List of FQDNs for this rule condition. + :type target_fqdns: list[str] + :param fqdn_tags: List of FQDN Tags for this rule condition. + :type fqdn_tags: list[str] + :param source_ip_groups: List of source IpGroups for this rule. + :type source_ip_groups: list[str] + """ + + _validation = { + 'rule_condition_type': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'rule_condition_type': {'key': 'ruleConditionType', 'type': 'str'}, + 'source_addresses': {'key': 'sourceAddresses', 'type': '[str]'}, + 'destination_addresses': {'key': 'destinationAddresses', 'type': '[str]'}, + 'protocols': {'key': 'protocols', 'type': '[FirewallPolicyRuleConditionApplicationProtocol]'}, + 'target_urls': {'key': 'targetUrls', 'type': '[str]'}, + 'target_fqdns': {'key': 'targetFqdns', 'type': '[str]'}, + 'fqdn_tags': {'key': 'fqdnTags', 'type': '[str]'}, + 'source_ip_groups': {'key': 'sourceIpGroups', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(ApplicationRuleCondition, self).__init__(**kwargs) + self.source_addresses = kwargs.get('source_addresses', None) + self.destination_addresses = kwargs.get('destination_addresses', None) + self.protocols = kwargs.get('protocols', None) + self.target_urls = kwargs.get('target_urls', None) + self.target_fqdns = kwargs.get('target_fqdns', None) + self.fqdn_tags = kwargs.get('fqdn_tags', None) + self.source_ip_groups = kwargs.get('source_ip_groups', None) + self.rule_condition_type = 'ApplicationRuleCondition' + + +class ApplicationSecurityGroup(Resource): + """An application security group in a resource group. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar resource_guid: The resource GUID property of the application + security group resource. It uniquely identifies a resource, even if the + user changes its name or migrate the resource across subscriptions or + resource groups. + :vartype resource_guid: str + :ivar provisioning_state: The provisioning state of the application + security group resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'resource_guid': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationSecurityGroup, self).__init__(**kwargs) + self.resource_guid = None + self.provisioning_state = None + self.etag = None + + +class AutoApprovedPrivateLinkService(Model): + """The information of an AutoApprovedPrivateLinkService. + + :param private_link_service: The id of the private link service resource. + :type private_link_service: str + """ + + _attribute_map = { + 'private_link_service': {'key': 'privateLinkService', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AutoApprovedPrivateLinkService, self).__init__(**kwargs) + self.private_link_service = kwargs.get('private_link_service', None) + + +class Availability(Model): + """Availability of the metric. + + :param time_grain: The time grain of the availability. + :type time_grain: str + :param retention: The retention of the availability. + :type retention: str + :param blob_duration: Duration of the availability blob. + :type blob_duration: str + """ + + _attribute_map = { + 'time_grain': {'key': 'timeGrain', 'type': 'str'}, + 'retention': {'key': 'retention', 'type': 'str'}, + 'blob_duration': {'key': 'blobDuration', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Availability, self).__init__(**kwargs) + self.time_grain = kwargs.get('time_grain', None) + self.retention = kwargs.get('retention', None) + self.blob_duration = kwargs.get('blob_duration', None) + + +class AvailableDelegation(Model): + """The serviceName of an AvailableDelegation indicates a possible delegation + for a subnet. + + :param name: The name of the AvailableDelegation resource. + :type name: str + :param id: A unique identifier of the AvailableDelegation resource. + :type id: str + :param type: Resource type. + :type type: str + :param service_name: The name of the service and resource. + :type service_name: str + :param actions: The actions permitted to the service upon delegation. + :type actions: list[str] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'service_name': {'key': 'serviceName', 'type': 'str'}, + 'actions': {'key': 'actions', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(AvailableDelegation, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.id = kwargs.get('id', None) + self.type = kwargs.get('type', None) + self.service_name = kwargs.get('service_name', None) + self.actions = kwargs.get('actions', None) + + +class AvailablePrivateEndpointType(Model): + """The information of an AvailablePrivateEndpointType. + + :param name: The name of the service and resource. + :type name: str + :param id: A unique identifier of the AvailablePrivateEndpoint Type + resource. + :type id: str + :param type: Resource type. + :type type: str + :param resource_name: The name of the service and resource. + :type resource_name: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'resource_name': {'key': 'resourceName', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AvailablePrivateEndpointType, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.id = kwargs.get('id', None) + self.type = kwargs.get('type', None) + self.resource_name = kwargs.get('resource_name', None) + + +class AvailableProvidersList(Model): + """List of available countries with details. + + All required parameters must be populated in order to send to Azure. + + :param countries: Required. List of available countries. + :type countries: + list[~azure.mgmt.network.v2020_04_01.models.AvailableProvidersListCountry] + """ + + _validation = { + 'countries': {'required': True}, + } + + _attribute_map = { + 'countries': {'key': 'countries', 'type': '[AvailableProvidersListCountry]'}, + } + + def __init__(self, **kwargs): + super(AvailableProvidersList, self).__init__(**kwargs) + self.countries = kwargs.get('countries', None) + + +class AvailableProvidersListCity(Model): + """City or town details. + + :param city_name: The city or town name. + :type city_name: str + :param providers: A list of Internet service providers. + :type providers: list[str] + """ + + _attribute_map = { + 'city_name': {'key': 'cityName', 'type': 'str'}, + 'providers': {'key': 'providers', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(AvailableProvidersListCity, self).__init__(**kwargs) + self.city_name = kwargs.get('city_name', None) + self.providers = kwargs.get('providers', None) + + +class AvailableProvidersListCountry(Model): + """Country details. + + :param country_name: The country name. + :type country_name: str + :param providers: A list of Internet service providers. + :type providers: list[str] + :param states: List of available states in the country. + :type states: + list[~azure.mgmt.network.v2020_04_01.models.AvailableProvidersListState] + """ + + _attribute_map = { + 'country_name': {'key': 'countryName', 'type': 'str'}, + 'providers': {'key': 'providers', 'type': '[str]'}, + 'states': {'key': 'states', 'type': '[AvailableProvidersListState]'}, + } + + def __init__(self, **kwargs): + super(AvailableProvidersListCountry, self).__init__(**kwargs) + self.country_name = kwargs.get('country_name', None) + self.providers = kwargs.get('providers', None) + self.states = kwargs.get('states', None) + + +class AvailableProvidersListParameters(Model): + """Constraints that determine the list of available Internet service + providers. + + :param azure_locations: A list of Azure regions. + :type azure_locations: list[str] + :param country: The country for available providers list. + :type country: str + :param state: The state for available providers list. + :type state: str + :param city: The city or town for available providers list. + :type city: str + """ + + _attribute_map = { + 'azure_locations': {'key': 'azureLocations', 'type': '[str]'}, + 'country': {'key': 'country', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + 'city': {'key': 'city', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AvailableProvidersListParameters, self).__init__(**kwargs) + self.azure_locations = kwargs.get('azure_locations', None) + self.country = kwargs.get('country', None) + self.state = kwargs.get('state', None) + self.city = kwargs.get('city', None) + + +class AvailableProvidersListState(Model): + """State details. + + :param state_name: The state name. + :type state_name: str + :param providers: A list of Internet service providers. + :type providers: list[str] + :param cities: List of available cities or towns in the state. + :type cities: + list[~azure.mgmt.network.v2020_04_01.models.AvailableProvidersListCity] + """ + + _attribute_map = { + 'state_name': {'key': 'stateName', 'type': 'str'}, + 'providers': {'key': 'providers', 'type': '[str]'}, + 'cities': {'key': 'cities', 'type': '[AvailableProvidersListCity]'}, + } + + def __init__(self, **kwargs): + super(AvailableProvidersListState, self).__init__(**kwargs) + self.state_name = kwargs.get('state_name', None) + self.providers = kwargs.get('providers', None) + self.cities = kwargs.get('cities', None) + + +class AvailableServiceAlias(Model): + """The available service alias. + + :param name: The name of the service alias. + :type name: str + :param id: The ID of the service alias. + :type id: str + :param type: The type of the resource. + :type type: str + :param resource_name: The resource name of the service alias. + :type resource_name: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'resource_name': {'key': 'resourceName', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AvailableServiceAlias, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.id = kwargs.get('id', None) + self.type = kwargs.get('type', None) + self.resource_name = kwargs.get('resource_name', None) + + +class AzureAsyncOperationResult(Model): + """The response body contains the status of the specified asynchronous + operation, indicating whether it has succeeded, is in progress, or has + failed. Note that this status is distinct from the HTTP status code + returned for the Get Operation Status operation itself. If the asynchronous + operation succeeded, the response body includes the HTTP status code for + the successful request. If the asynchronous operation failed, the response + body includes the HTTP status code for the failed request and error + information regarding the failure. + + :param status: Status of the Azure async operation. Possible values + include: 'InProgress', 'Succeeded', 'Failed' + :type status: str or + ~azure.mgmt.network.v2020_04_01.models.NetworkOperationStatus + :param error: Details of the error occurred during specified asynchronous + operation. + :type error: ~azure.mgmt.network.v2020_04_01.models.Error + """ + + _attribute_map = { + 'status': {'key': 'status', 'type': 'str'}, + 'error': {'key': 'error', 'type': 'Error'}, + } + + def __init__(self, **kwargs): + super(AzureAsyncOperationResult, self).__init__(**kwargs) + self.status = kwargs.get('status', None) + self.error = kwargs.get('error', None) + + +class AzureFirewall(Resource): + """Azure Firewall resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param application_rule_collections: Collection of application rule + collections used by Azure Firewall. + :type application_rule_collections: + list[~azure.mgmt.network.v2020_04_01.models.AzureFirewallApplicationRuleCollection] + :param nat_rule_collections: Collection of NAT rule collections used by + Azure Firewall. + :type nat_rule_collections: + list[~azure.mgmt.network.v2020_04_01.models.AzureFirewallNatRuleCollection] + :param network_rule_collections: Collection of network rule collections + used by Azure Firewall. + :type network_rule_collections: + list[~azure.mgmt.network.v2020_04_01.models.AzureFirewallNetworkRuleCollection] + :param ip_configurations: IP configuration of the Azure Firewall resource. + :type ip_configurations: + list[~azure.mgmt.network.v2020_04_01.models.AzureFirewallIPConfiguration] + :param management_ip_configuration: IP configuration of the Azure Firewall + used for management traffic. + :type management_ip_configuration: + ~azure.mgmt.network.v2020_04_01.models.AzureFirewallIPConfiguration + :ivar provisioning_state: The provisioning state of the Azure firewall + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param threat_intel_mode: The operation mode for Threat Intelligence. + Possible values include: 'Alert', 'Deny', 'Off' + :type threat_intel_mode: str or + ~azure.mgmt.network.v2020_04_01.models.AzureFirewallThreatIntelMode + :param virtual_hub: The virtualHub to which the firewall belongs. + :type virtual_hub: ~azure.mgmt.network.v2020_04_01.models.SubResource + :param firewall_policy: The firewallPolicy associated with this azure + firewall. + :type firewall_policy: ~azure.mgmt.network.v2020_04_01.models.SubResource + :ivar hub_ip_addresses: IP addresses associated with AzureFirewall. + :vartype hub_ip_addresses: + ~azure.mgmt.network.v2020_04_01.models.HubIPAddresses + :ivar ip_groups: IpGroups associated with AzureFirewall. + :vartype ip_groups: + list[~azure.mgmt.network.v2020_04_01.models.AzureFirewallIpGroups] + :param sku: The Azure Firewall Resource SKU. + :type sku: ~azure.mgmt.network.v2020_04_01.models.AzureFirewallSku + :param additional_properties: The additional properties used to further + config this azure firewall. + :type additional_properties: dict[str, str] + :param zones: A list of availability zones denoting where the resource + needs to come from. + :type zones: list[str] + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'hub_ip_addresses': {'readonly': True}, + 'ip_groups': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'application_rule_collections': {'key': 'properties.applicationRuleCollections', 'type': '[AzureFirewallApplicationRuleCollection]'}, + 'nat_rule_collections': {'key': 'properties.natRuleCollections', 'type': '[AzureFirewallNatRuleCollection]'}, + 'network_rule_collections': {'key': 'properties.networkRuleCollections', 'type': '[AzureFirewallNetworkRuleCollection]'}, + 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[AzureFirewallIPConfiguration]'}, + 'management_ip_configuration': {'key': 'properties.managementIpConfiguration', 'type': 'AzureFirewallIPConfiguration'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'threat_intel_mode': {'key': 'properties.threatIntelMode', 'type': 'str'}, + 'virtual_hub': {'key': 'properties.virtualHub', 'type': 'SubResource'}, + 'firewall_policy': {'key': 'properties.firewallPolicy', 'type': 'SubResource'}, + 'hub_ip_addresses': {'key': 'properties.hubIpAddresses', 'type': 'HubIPAddresses'}, + 'ip_groups': {'key': 'properties.ipGroups', 'type': '[AzureFirewallIpGroups]'}, + 'sku': {'key': 'properties.sku', 'type': 'AzureFirewallSku'}, + 'additional_properties': {'key': 'properties.additionalProperties', 'type': '{str}'}, + 'zones': {'key': 'zones', 'type': '[str]'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AzureFirewall, self).__init__(**kwargs) + self.application_rule_collections = kwargs.get('application_rule_collections', None) + self.nat_rule_collections = kwargs.get('nat_rule_collections', None) + self.network_rule_collections = kwargs.get('network_rule_collections', None) + self.ip_configurations = kwargs.get('ip_configurations', None) + self.management_ip_configuration = kwargs.get('management_ip_configuration', None) + self.provisioning_state = None + self.threat_intel_mode = kwargs.get('threat_intel_mode', None) + self.virtual_hub = kwargs.get('virtual_hub', None) + self.firewall_policy = kwargs.get('firewall_policy', None) + self.hub_ip_addresses = None + self.ip_groups = None + self.sku = kwargs.get('sku', None) + self.additional_properties = kwargs.get('additional_properties', None) + self.zones = kwargs.get('zones', None) + self.etag = None + + +class AzureFirewallApplicationRule(Model): + """Properties of an application rule. + + :param name: Name of the application rule. + :type name: str + :param description: Description of the rule. + :type description: str + :param source_addresses: List of source IP addresses for this rule. + :type source_addresses: list[str] + :param protocols: Array of ApplicationRuleProtocols. + :type protocols: + list[~azure.mgmt.network.v2020_04_01.models.AzureFirewallApplicationRuleProtocol] + :param target_fqdns: List of FQDNs for this rule. + :type target_fqdns: list[str] + :param fqdn_tags: List of FQDN Tags for this rule. + :type fqdn_tags: list[str] + :param source_ip_groups: List of source IpGroups for this rule. + :type source_ip_groups: list[str] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'source_addresses': {'key': 'sourceAddresses', 'type': '[str]'}, + 'protocols': {'key': 'protocols', 'type': '[AzureFirewallApplicationRuleProtocol]'}, + 'target_fqdns': {'key': 'targetFqdns', 'type': '[str]'}, + 'fqdn_tags': {'key': 'fqdnTags', 'type': '[str]'}, + 'source_ip_groups': {'key': 'sourceIpGroups', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(AzureFirewallApplicationRule, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.description = kwargs.get('description', None) + self.source_addresses = kwargs.get('source_addresses', None) + self.protocols = kwargs.get('protocols', None) + self.target_fqdns = kwargs.get('target_fqdns', None) + self.fqdn_tags = kwargs.get('fqdn_tags', None) + self.source_ip_groups = kwargs.get('source_ip_groups', None) + + +class AzureFirewallApplicationRuleCollection(SubResource): + """Application rule collection resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param priority: Priority of the application rule collection resource. + :type priority: int + :param action: The action type of a rule collection. + :type action: ~azure.mgmt.network.v2020_04_01.models.AzureFirewallRCAction + :param rules: Collection of rules used by a application rule collection. + :type rules: + list[~azure.mgmt.network.v2020_04_01.models.AzureFirewallApplicationRule] + :ivar provisioning_state: The provisioning state of the application rule + collection resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: The name of the resource that is unique within the Azure + firewall. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'priority': {'maximum': 65000, 'minimum': 100}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'priority': {'key': 'properties.priority', 'type': 'int'}, + 'action': {'key': 'properties.action', 'type': 'AzureFirewallRCAction'}, + 'rules': {'key': 'properties.rules', 'type': '[AzureFirewallApplicationRule]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AzureFirewallApplicationRuleCollection, self).__init__(**kwargs) + self.priority = kwargs.get('priority', None) + self.action = kwargs.get('action', None) + self.rules = kwargs.get('rules', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = None + + +class AzureFirewallApplicationRuleProtocol(Model): + """Properties of the application rule protocol. + + :param protocol_type: Protocol type. Possible values include: 'Http', + 'Https', 'Mssql' + :type protocol_type: str or + ~azure.mgmt.network.v2020_04_01.models.AzureFirewallApplicationRuleProtocolType + :param port: Port number for the protocol, cannot be greater than 64000. + This field is optional. + :type port: int + """ + + _validation = { + 'port': {'maximum': 64000, 'minimum': 0}, + } + + _attribute_map = { + 'protocol_type': {'key': 'protocolType', 'type': 'str'}, + 'port': {'key': 'port', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(AzureFirewallApplicationRuleProtocol, self).__init__(**kwargs) + self.protocol_type = kwargs.get('protocol_type', None) + self.port = kwargs.get('port', None) + + +class AzureFirewallFqdnTag(Resource): + """Azure Firewall FQDN Tag Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar provisioning_state: The provisioning state of the Azure firewall + FQDN tag resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :ivar fqdn_tag_name: The name of this FQDN Tag. + :vartype fqdn_tag_name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'fqdn_tag_name': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'fqdn_tag_name': {'key': 'properties.fqdnTagName', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AzureFirewallFqdnTag, self).__init__(**kwargs) + self.provisioning_state = None + self.fqdn_tag_name = None + self.etag = None + + +class AzureFirewallIPConfiguration(SubResource): + """IP configuration of an Azure Firewall. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar private_ip_address: The Firewall Internal Load Balancer IP to be + used as the next hop in User Defined Routes. + :vartype private_ip_address: str + :param subnet: Reference to the subnet resource. This resource must be + named 'AzureFirewallSubnet' or 'AzureFirewallManagementSubnet'. + :type subnet: ~azure.mgmt.network.v2020_04_01.models.SubResource + :param public_ip_address: Reference to the PublicIP resource. This field + is a mandatory input if subnet is not null. + :type public_ip_address: + ~azure.mgmt.network.v2020_04_01.models.SubResource + :ivar provisioning_state: The provisioning state of the Azure firewall IP + configuration resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: Name of the resource that is unique within a resource group. + This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'private_ip_address': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, + 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, + 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'SubResource'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AzureFirewallIPConfiguration, self).__init__(**kwargs) + self.private_ip_address = None + self.subnet = kwargs.get('subnet', None) + self.public_ip_address = kwargs.get('public_ip_address', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = None + self.type = None + + +class AzureFirewallIpGroups(Model): + """IpGroups associated with azure firewall. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar change_number: The iteration number. + :vartype change_number: str + """ + + _validation = { + 'id': {'readonly': True}, + 'change_number': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'change_number': {'key': 'changeNumber', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AzureFirewallIpGroups, self).__init__(**kwargs) + self.id = None + self.change_number = None + + +class AzureFirewallNatRCAction(Model): + """AzureFirewall NAT Rule Collection Action. + + :param type: The type of action. Possible values include: 'Snat', 'Dnat' + :type type: str or + ~azure.mgmt.network.v2020_04_01.models.AzureFirewallNatRCActionType + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AzureFirewallNatRCAction, self).__init__(**kwargs) + self.type = kwargs.get('type', None) + + +class AzureFirewallNatRule(Model): + """Properties of a NAT rule. + + :param name: Name of the NAT rule. + :type name: str + :param description: Description of the rule. + :type description: str + :param source_addresses: List of source IP addresses for this rule. + :type source_addresses: list[str] + :param destination_addresses: List of destination IP addresses for this + rule. Supports IP ranges, prefixes, and service tags. + :type destination_addresses: list[str] + :param destination_ports: List of destination ports. + :type destination_ports: list[str] + :param protocols: Array of AzureFirewallNetworkRuleProtocols applicable to + this NAT rule. + :type protocols: list[str or + ~azure.mgmt.network.v2020_04_01.models.AzureFirewallNetworkRuleProtocol] + :param translated_address: The translated address for this NAT rule. + :type translated_address: str + :param translated_port: The translated port for this NAT rule. + :type translated_port: str + :param translated_fqdn: The translated FQDN for this NAT rule. + :type translated_fqdn: str + :param source_ip_groups: List of source IpGroups for this rule. + :type source_ip_groups: list[str] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'source_addresses': {'key': 'sourceAddresses', 'type': '[str]'}, + 'destination_addresses': {'key': 'destinationAddresses', 'type': '[str]'}, + 'destination_ports': {'key': 'destinationPorts', 'type': '[str]'}, + 'protocols': {'key': 'protocols', 'type': '[str]'}, + 'translated_address': {'key': 'translatedAddress', 'type': 'str'}, + 'translated_port': {'key': 'translatedPort', 'type': 'str'}, + 'translated_fqdn': {'key': 'translatedFqdn', 'type': 'str'}, + 'source_ip_groups': {'key': 'sourceIpGroups', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(AzureFirewallNatRule, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.description = kwargs.get('description', None) + self.source_addresses = kwargs.get('source_addresses', None) + self.destination_addresses = kwargs.get('destination_addresses', None) + self.destination_ports = kwargs.get('destination_ports', None) + self.protocols = kwargs.get('protocols', None) + self.translated_address = kwargs.get('translated_address', None) + self.translated_port = kwargs.get('translated_port', None) + self.translated_fqdn = kwargs.get('translated_fqdn', None) + self.source_ip_groups = kwargs.get('source_ip_groups', None) + + +class AzureFirewallNatRuleCollection(SubResource): + """NAT rule collection resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param priority: Priority of the NAT rule collection resource. + :type priority: int + :param action: The action type of a NAT rule collection. + :type action: + ~azure.mgmt.network.v2020_04_01.models.AzureFirewallNatRCAction + :param rules: Collection of rules used by a NAT rule collection. + :type rules: + list[~azure.mgmt.network.v2020_04_01.models.AzureFirewallNatRule] + :ivar provisioning_state: The provisioning state of the NAT rule + collection resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: The name of the resource that is unique within the Azure + firewall. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'priority': {'maximum': 65000, 'minimum': 100}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'priority': {'key': 'properties.priority', 'type': 'int'}, + 'action': {'key': 'properties.action', 'type': 'AzureFirewallNatRCAction'}, + 'rules': {'key': 'properties.rules', 'type': '[AzureFirewallNatRule]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AzureFirewallNatRuleCollection, self).__init__(**kwargs) + self.priority = kwargs.get('priority', None) + self.action = kwargs.get('action', None) + self.rules = kwargs.get('rules', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = None + + +class AzureFirewallNetworkRule(Model): + """Properties of the network rule. + + :param name: Name of the network rule. + :type name: str + :param description: Description of the rule. + :type description: str + :param protocols: Array of AzureFirewallNetworkRuleProtocols. + :type protocols: list[str or + ~azure.mgmt.network.v2020_04_01.models.AzureFirewallNetworkRuleProtocol] + :param source_addresses: List of source IP addresses for this rule. + :type source_addresses: list[str] + :param destination_addresses: List of destination IP addresses. + :type destination_addresses: list[str] + :param destination_ports: List of destination ports. + :type destination_ports: list[str] + :param destination_fqdns: List of destination FQDNs. + :type destination_fqdns: list[str] + :param source_ip_groups: List of source IpGroups for this rule. + :type source_ip_groups: list[str] + :param destination_ip_groups: List of destination IpGroups for this rule. + :type destination_ip_groups: list[str] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'protocols': {'key': 'protocols', 'type': '[str]'}, + 'source_addresses': {'key': 'sourceAddresses', 'type': '[str]'}, + 'destination_addresses': {'key': 'destinationAddresses', 'type': '[str]'}, + 'destination_ports': {'key': 'destinationPorts', 'type': '[str]'}, + 'destination_fqdns': {'key': 'destinationFqdns', 'type': '[str]'}, + 'source_ip_groups': {'key': 'sourceIpGroups', 'type': '[str]'}, + 'destination_ip_groups': {'key': 'destinationIpGroups', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(AzureFirewallNetworkRule, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.description = kwargs.get('description', None) + self.protocols = kwargs.get('protocols', None) + self.source_addresses = kwargs.get('source_addresses', None) + self.destination_addresses = kwargs.get('destination_addresses', None) + self.destination_ports = kwargs.get('destination_ports', None) + self.destination_fqdns = kwargs.get('destination_fqdns', None) + self.source_ip_groups = kwargs.get('source_ip_groups', None) + self.destination_ip_groups = kwargs.get('destination_ip_groups', None) + + +class AzureFirewallNetworkRuleCollection(SubResource): + """Network rule collection resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param priority: Priority of the network rule collection resource. + :type priority: int + :param action: The action type of a rule collection. + :type action: ~azure.mgmt.network.v2020_04_01.models.AzureFirewallRCAction + :param rules: Collection of rules used by a network rule collection. + :type rules: + list[~azure.mgmt.network.v2020_04_01.models.AzureFirewallNetworkRule] + :ivar provisioning_state: The provisioning state of the network rule + collection resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: The name of the resource that is unique within the Azure + firewall. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'priority': {'maximum': 65000, 'minimum': 100}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'priority': {'key': 'properties.priority', 'type': 'int'}, + 'action': {'key': 'properties.action', 'type': 'AzureFirewallRCAction'}, + 'rules': {'key': 'properties.rules', 'type': '[AzureFirewallNetworkRule]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AzureFirewallNetworkRuleCollection, self).__init__(**kwargs) + self.priority = kwargs.get('priority', None) + self.action = kwargs.get('action', None) + self.rules = kwargs.get('rules', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = None + + +class AzureFirewallPublicIPAddress(Model): + """Public IP Address associated with azure firewall. + + :param address: Public IP Address value. + :type address: str + """ + + _attribute_map = { + 'address': {'key': 'address', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AzureFirewallPublicIPAddress, self).__init__(**kwargs) + self.address = kwargs.get('address', None) + + +class AzureFirewallRCAction(Model): + """Properties of the AzureFirewallRCAction. + + :param type: The type of action. Possible values include: 'Allow', 'Deny' + :type type: str or + ~azure.mgmt.network.v2020_04_01.models.AzureFirewallRCActionType + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AzureFirewallRCAction, self).__init__(**kwargs) + self.type = kwargs.get('type', None) + + +class AzureFirewallSku(Model): + """SKU of an Azure Firewall. + + :param name: Name of an Azure Firewall SKU. Possible values include: + 'AZFW_VNet', 'AZFW_Hub' + :type name: str or + ~azure.mgmt.network.v2020_04_01.models.AzureFirewallSkuName + :param tier: Tier of an Azure Firewall. Possible values include: + 'Standard', 'Premium' + :type tier: str or + ~azure.mgmt.network.v2020_04_01.models.AzureFirewallSkuTier + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AzureFirewallSku, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.tier = kwargs.get('tier', None) + + +class AzureReachabilityReport(Model): + """Azure reachability report details. + + All required parameters must be populated in order to send to Azure. + + :param aggregation_level: Required. The aggregation level of Azure + reachability report. Can be Country, State or City. + :type aggregation_level: str + :param provider_location: Required. Parameters that define a geographic + location. + :type provider_location: + ~azure.mgmt.network.v2020_04_01.models.AzureReachabilityReportLocation + :param reachability_report: Required. List of Azure reachability report + items. + :type reachability_report: + list[~azure.mgmt.network.v2020_04_01.models.AzureReachabilityReportItem] + """ + + _validation = { + 'aggregation_level': {'required': True}, + 'provider_location': {'required': True}, + 'reachability_report': {'required': True}, + } + + _attribute_map = { + 'aggregation_level': {'key': 'aggregationLevel', 'type': 'str'}, + 'provider_location': {'key': 'providerLocation', 'type': 'AzureReachabilityReportLocation'}, + 'reachability_report': {'key': 'reachabilityReport', 'type': '[AzureReachabilityReportItem]'}, + } + + def __init__(self, **kwargs): + super(AzureReachabilityReport, self).__init__(**kwargs) + self.aggregation_level = kwargs.get('aggregation_level', None) + self.provider_location = kwargs.get('provider_location', None) + self.reachability_report = kwargs.get('reachability_report', None) + + +class AzureReachabilityReportItem(Model): + """Azure reachability report details for a given provider location. + + :param provider: The Internet service provider. + :type provider: str + :param azure_location: The Azure region. + :type azure_location: str + :param latencies: List of latency details for each of the time series. + :type latencies: + list[~azure.mgmt.network.v2020_04_01.models.AzureReachabilityReportLatencyInfo] + """ + + _attribute_map = { + 'provider': {'key': 'provider', 'type': 'str'}, + 'azure_location': {'key': 'azureLocation', 'type': 'str'}, + 'latencies': {'key': 'latencies', 'type': '[AzureReachabilityReportLatencyInfo]'}, + } + + def __init__(self, **kwargs): + super(AzureReachabilityReportItem, self).__init__(**kwargs) + self.provider = kwargs.get('provider', None) + self.azure_location = kwargs.get('azure_location', None) + self.latencies = kwargs.get('latencies', None) + + +class AzureReachabilityReportLatencyInfo(Model): + """Details on latency for a time series. + + :param time_stamp: The time stamp. + :type time_stamp: datetime + :param score: The relative latency score between 1 and 100, higher values + indicating a faster connection. + :type score: int + """ + + _validation = { + 'score': {'maximum': 100, 'minimum': 1}, + } + + _attribute_map = { + 'time_stamp': {'key': 'timeStamp', 'type': 'iso-8601'}, + 'score': {'key': 'score', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(AzureReachabilityReportLatencyInfo, self).__init__(**kwargs) + self.time_stamp = kwargs.get('time_stamp', None) + self.score = kwargs.get('score', None) + + +class AzureReachabilityReportLocation(Model): + """Parameters that define a geographic location. + + All required parameters must be populated in order to send to Azure. + + :param country: Required. The name of the country. + :type country: str + :param state: The name of the state. + :type state: str + :param city: The name of the city or town. + :type city: str + """ + + _validation = { + 'country': {'required': True}, + } + + _attribute_map = { + 'country': {'key': 'country', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + 'city': {'key': 'city', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AzureReachabilityReportLocation, self).__init__(**kwargs) + self.country = kwargs.get('country', None) + self.state = kwargs.get('state', None) + self.city = kwargs.get('city', None) + + +class AzureReachabilityReportParameters(Model): + """Geographic and time constraints for Azure reachability report. + + All required parameters must be populated in order to send to Azure. + + :param provider_location: Required. Parameters that define a geographic + location. + :type provider_location: + ~azure.mgmt.network.v2020_04_01.models.AzureReachabilityReportLocation + :param providers: List of Internet service providers. + :type providers: list[str] + :param azure_locations: Optional Azure regions to scope the query to. + :type azure_locations: list[str] + :param start_time: Required. The start time for the Azure reachability + report. + :type start_time: datetime + :param end_time: Required. The end time for the Azure reachability report. + :type end_time: datetime + """ + + _validation = { + 'provider_location': {'required': True}, + 'start_time': {'required': True}, + 'end_time': {'required': True}, + } + + _attribute_map = { + 'provider_location': {'key': 'providerLocation', 'type': 'AzureReachabilityReportLocation'}, + 'providers': {'key': 'providers', 'type': '[str]'}, + 'azure_locations': {'key': 'azureLocations', 'type': '[str]'}, + 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, + } + + def __init__(self, **kwargs): + super(AzureReachabilityReportParameters, self).__init__(**kwargs) + self.provider_location = kwargs.get('provider_location', None) + self.providers = kwargs.get('providers', None) + self.azure_locations = kwargs.get('azure_locations', None) + self.start_time = kwargs.get('start_time', None) + self.end_time = kwargs.get('end_time', None) + + +class BackendAddressPool(SubResource): + """Pool of backend IP addresses. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar backend_ip_configurations: An array of references to IP addresses + defined in network interfaces. + :vartype backend_ip_configurations: + list[~azure.mgmt.network.v2020_04_01.models.NetworkInterfaceIPConfiguration] + :param load_balancer_backend_addresses: An array of backend addresses. + :type load_balancer_backend_addresses: + list[~azure.mgmt.network.v2020_04_01.models.LoadBalancerBackendAddress] + :ivar load_balancing_rules: An array of references to load balancing rules + that use this backend address pool. + :vartype load_balancing_rules: + list[~azure.mgmt.network.v2020_04_01.models.SubResource] + :ivar outbound_rule: A reference to an outbound rule that uses this + backend address pool. + :vartype outbound_rule: ~azure.mgmt.network.v2020_04_01.models.SubResource + :ivar outbound_rules: An array of references to outbound rules that use + this backend address pool. + :vartype outbound_rules: + list[~azure.mgmt.network.v2020_04_01.models.SubResource] + :ivar provisioning_state: The provisioning state of the backend address + pool resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: The name of the resource that is unique within the set of + backend address pools used by the load balancer. This name can be used to + access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'backend_ip_configurations': {'readonly': True}, + 'load_balancing_rules': {'readonly': True}, + 'outbound_rule': {'readonly': True}, + 'outbound_rules': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'backend_ip_configurations': {'key': 'properties.backendIPConfigurations', 'type': '[NetworkInterfaceIPConfiguration]'}, + 'load_balancer_backend_addresses': {'key': 'properties.loadBalancerBackendAddresses', 'type': '[LoadBalancerBackendAddress]'}, + 'load_balancing_rules': {'key': 'properties.loadBalancingRules', 'type': '[SubResource]'}, + 'outbound_rule': {'key': 'properties.outboundRule', 'type': 'SubResource'}, + 'outbound_rules': {'key': 'properties.outboundRules', 'type': '[SubResource]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(BackendAddressPool, self).__init__(**kwargs) + self.backend_ip_configurations = None + self.load_balancer_backend_addresses = kwargs.get('load_balancer_backend_addresses', None) + self.load_balancing_rules = None + self.outbound_rule = None + self.outbound_rules = None + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = None + self.type = None + + +class BastionActiveSession(Model): + """The session detail for a target. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar session_id: A unique id for the session. + :vartype session_id: str + :ivar start_time: The time when the session started. + :vartype start_time: object + :ivar target_subscription_id: The subscription id for the target virtual + machine. + :vartype target_subscription_id: str + :ivar resource_type: The type of the resource. + :vartype resource_type: str + :ivar target_host_name: The host name of the target. + :vartype target_host_name: str + :ivar target_resource_group: The resource group of the target. + :vartype target_resource_group: str + :ivar user_name: The user name who is active on this session. + :vartype user_name: str + :ivar target_ip_address: The IP Address of the target. + :vartype target_ip_address: str + :ivar protocol: The protocol used to connect to the target. Possible + values include: 'SSH', 'RDP' + :vartype protocol: str or + ~azure.mgmt.network.v2020_04_01.models.BastionConnectProtocol + :ivar target_resource_id: The resource id of the target. + :vartype target_resource_id: str + :ivar session_duration_in_mins: Duration in mins the session has been + active. + :vartype session_duration_in_mins: float + """ + + _validation = { + 'session_id': {'readonly': True}, + 'start_time': {'readonly': True}, + 'target_subscription_id': {'readonly': True}, + 'resource_type': {'readonly': True}, + 'target_host_name': {'readonly': True}, + 'target_resource_group': {'readonly': True}, + 'user_name': {'readonly': True}, + 'target_ip_address': {'readonly': True}, + 'protocol': {'readonly': True}, + 'target_resource_id': {'readonly': True}, + 'session_duration_in_mins': {'readonly': True}, + } + + _attribute_map = { + 'session_id': {'key': 'sessionId', 'type': 'str'}, + 'start_time': {'key': 'startTime', 'type': 'object'}, + 'target_subscription_id': {'key': 'targetSubscriptionId', 'type': 'str'}, + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'target_host_name': {'key': 'targetHostName', 'type': 'str'}, + 'target_resource_group': {'key': 'targetResourceGroup', 'type': 'str'}, + 'user_name': {'key': 'userName', 'type': 'str'}, + 'target_ip_address': {'key': 'targetIpAddress', 'type': 'str'}, + 'protocol': {'key': 'protocol', 'type': 'str'}, + 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, + 'session_duration_in_mins': {'key': 'sessionDurationInMins', 'type': 'float'}, + } + + def __init__(self, **kwargs): + super(BastionActiveSession, self).__init__(**kwargs) + self.session_id = None + self.start_time = None + self.target_subscription_id = None + self.resource_type = None + self.target_host_name = None + self.target_resource_group = None + self.user_name = None + self.target_ip_address = None + self.protocol = None + self.target_resource_id = None + self.session_duration_in_mins = None + + +class BastionActiveSessionListResult(Model): + """Response for GetActiveSessions. + + :param value: List of active sessions on the bastion. + :type value: + list[~azure.mgmt.network.v2020_04_01.models.BastionActiveSession] + :param next_link: The URL to get the next set of results. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[BastionActiveSession]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(BastionActiveSessionListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class BastionHost(Resource): + """Bastion Host resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param ip_configurations: IP configuration of the Bastion Host resource. + :type ip_configurations: + list[~azure.mgmt.network.v2020_04_01.models.BastionHostIPConfiguration] + :param dns_name: FQDN for the endpoint on which bastion host is + accessible. + :type dns_name: str + :ivar provisioning_state: The provisioning state of the bastion host + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[BastionHostIPConfiguration]'}, + 'dns_name': {'key': 'properties.dnsName', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(BastionHost, self).__init__(**kwargs) + self.ip_configurations = kwargs.get('ip_configurations', None) + self.dns_name = kwargs.get('dns_name', None) + self.provisioning_state = None + self.etag = None + + +class BastionHostIPConfiguration(SubResource): + """IP configuration of an Bastion Host. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :param subnet: Required. Reference of the subnet resource. + :type subnet: ~azure.mgmt.network.v2020_04_01.models.SubResource + :param public_ip_address: Required. Reference of the PublicIP resource. + :type public_ip_address: + ~azure.mgmt.network.v2020_04_01.models.SubResource + :ivar provisioning_state: The provisioning state of the bastion host IP + configuration resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param private_ip_allocation_method: Private IP allocation method. + Possible values include: 'Static', 'Dynamic' + :type private_ip_allocation_method: str or + ~azure.mgmt.network.v2020_04_01.models.IPAllocationMethod + :param name: Name of the resource that is unique within a resource group. + This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Ip configuration type. + :vartype type: str + """ + + _validation = { + 'subnet': {'required': True}, + 'public_ip_address': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, + 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'SubResource'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(BastionHostIPConfiguration, self).__init__(**kwargs) + self.subnet = kwargs.get('subnet', None) + self.public_ip_address = kwargs.get('public_ip_address', None) + self.provisioning_state = None + self.private_ip_allocation_method = kwargs.get('private_ip_allocation_method', None) + self.name = kwargs.get('name', None) + self.etag = None + self.type = None + + +class BastionSessionState(Model): + """The session state detail for a target. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar session_id: A unique id for the session. + :vartype session_id: str + :ivar message: Used for extra information. + :vartype message: str + :ivar state: The state of the session. Disconnected/Failed/NotFound. + :vartype state: str + """ + + _validation = { + 'session_id': {'readonly': True}, + 'message': {'readonly': True}, + 'state': {'readonly': True}, + } + + _attribute_map = { + 'session_id': {'key': 'sessionId', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(BastionSessionState, self).__init__(**kwargs) + self.session_id = None + self.message = None + self.state = None + + +class BastionShareableLink(Model): + """Bastion Shareable Link. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param vm: Required. Reference of the virtual machine resource. + :type vm: ~azure.mgmt.network.v2020_04_01.models.VM + :ivar bsl: The unique Bastion Shareable Link to the virtual machine. + :vartype bsl: str + :ivar created_at: The time when the link was created. + :vartype created_at: str + :ivar message: Optional field indicating the warning or error message + related to the vm in case of partial failure. + :vartype message: str + """ + + _validation = { + 'vm': {'required': True}, + 'bsl': {'readonly': True}, + 'created_at': {'readonly': True}, + 'message': {'readonly': True}, + } + + _attribute_map = { + 'vm': {'key': 'vm', 'type': 'VM'}, + 'bsl': {'key': 'bsl', 'type': 'str'}, + 'created_at': {'key': 'createdAt', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(BastionShareableLink, self).__init__(**kwargs) + self.vm = kwargs.get('vm', None) + self.bsl = None + self.created_at = None + self.message = None + + +class BastionShareableLinkListRequest(Model): + """Post request for all the Bastion Shareable Link endpoints. + + :param vms: List of VM references. + :type vms: + list[~azure.mgmt.network.v2020_04_01.models.BastionShareableLink] + """ + + _attribute_map = { + 'vms': {'key': 'vms', 'type': '[BastionShareableLink]'}, + } + + def __init__(self, **kwargs): + super(BastionShareableLinkListRequest, self).__init__(**kwargs) + self.vms = kwargs.get('vms', None) + + +class BastionShareableLinkListResult(Model): + """Response for all the Bastion Shareable Link endpoints. + + :param value: List of Bastion Shareable Links for the request. + :type value: + list[~azure.mgmt.network.v2020_04_01.models.BastionShareableLink] + :param next_link: The URL to get the next set of results. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[BastionShareableLink]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(BastionShareableLinkListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class BGPCommunity(Model): + """Contains bgp community information offered in Service Community resources. + + :param service_supported_region: The region which the service support. + e.g. For O365, region is Global. + :type service_supported_region: str + :param community_name: The name of the bgp community. e.g. Skype. + :type community_name: str + :param community_value: The value of the bgp community. For more + information: + https://docs.microsoft.com/en-us/azure/expressroute/expressroute-routing. + :type community_value: str + :param community_prefixes: The prefixes that the bgp community contains. + :type community_prefixes: list[str] + :param is_authorized_to_use: Customer is authorized to use bgp community + or not. + :type is_authorized_to_use: bool + :param service_group: The service group of the bgp community contains. + :type service_group: str + """ + + _attribute_map = { + 'service_supported_region': {'key': 'serviceSupportedRegion', 'type': 'str'}, + 'community_name': {'key': 'communityName', 'type': 'str'}, + 'community_value': {'key': 'communityValue', 'type': 'str'}, + 'community_prefixes': {'key': 'communityPrefixes', 'type': '[str]'}, + 'is_authorized_to_use': {'key': 'isAuthorizedToUse', 'type': 'bool'}, + 'service_group': {'key': 'serviceGroup', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(BGPCommunity, self).__init__(**kwargs) + self.service_supported_region = kwargs.get('service_supported_region', None) + self.community_name = kwargs.get('community_name', None) + self.community_value = kwargs.get('community_value', None) + self.community_prefixes = kwargs.get('community_prefixes', None) + self.is_authorized_to_use = kwargs.get('is_authorized_to_use', None) + self.service_group = kwargs.get('service_group', None) + + +class BgpPeerStatus(Model): + """BGP peer status details. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar local_address: The virtual network gateway's local address. + :vartype local_address: str + :ivar neighbor: The remote BGP peer. + :vartype neighbor: str + :ivar asn: The autonomous system number of the remote BGP peer. + :vartype asn: long + :ivar state: The BGP peer state. Possible values include: 'Unknown', + 'Stopped', 'Idle', 'Connecting', 'Connected' + :vartype state: str or ~azure.mgmt.network.v2020_04_01.models.BgpPeerState + :ivar connected_duration: For how long the peering has been up. + :vartype connected_duration: str + :ivar routes_received: The number of routes learned from this peer. + :vartype routes_received: long + :ivar messages_sent: The number of BGP messages sent. + :vartype messages_sent: long + :ivar messages_received: The number of BGP messages received. + :vartype messages_received: long + """ + + _validation = { + 'local_address': {'readonly': True}, + 'neighbor': {'readonly': True}, + 'asn': {'readonly': True, 'maximum': 4294967295, 'minimum': 0}, + 'state': {'readonly': True}, + 'connected_duration': {'readonly': True}, + 'routes_received': {'readonly': True}, + 'messages_sent': {'readonly': True}, + 'messages_received': {'readonly': True}, + } + + _attribute_map = { + 'local_address': {'key': 'localAddress', 'type': 'str'}, + 'neighbor': {'key': 'neighbor', 'type': 'str'}, + 'asn': {'key': 'asn', 'type': 'long'}, + 'state': {'key': 'state', 'type': 'str'}, + 'connected_duration': {'key': 'connectedDuration', 'type': 'str'}, + 'routes_received': {'key': 'routesReceived', 'type': 'long'}, + 'messages_sent': {'key': 'messagesSent', 'type': 'long'}, + 'messages_received': {'key': 'messagesReceived', 'type': 'long'}, + } + + def __init__(self, **kwargs): + super(BgpPeerStatus, self).__init__(**kwargs) + self.local_address = None + self.neighbor = None + self.asn = None + self.state = None + self.connected_duration = None + self.routes_received = None + self.messages_sent = None + self.messages_received = None + + +class BgpPeerStatusListResult(Model): + """Response for list BGP peer status API service call. + + :param value: List of BGP peers. + :type value: list[~azure.mgmt.network.v2020_04_01.models.BgpPeerStatus] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[BgpPeerStatus]'}, + } + + def __init__(self, **kwargs): + super(BgpPeerStatusListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + + +class BgpServiceCommunity(Resource): + """Service Community Properties. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param service_name: The name of the bgp community. e.g. Skype. + :type service_name: str + :param bgp_communities: A list of bgp communities. + :type bgp_communities: + list[~azure.mgmt.network.v2020_04_01.models.BGPCommunity] + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'service_name': {'key': 'properties.serviceName', 'type': 'str'}, + 'bgp_communities': {'key': 'properties.bgpCommunities', 'type': '[BGPCommunity]'}, + } + + def __init__(self, **kwargs): + super(BgpServiceCommunity, self).__init__(**kwargs) + self.service_name = kwargs.get('service_name', None) + self.bgp_communities = kwargs.get('bgp_communities', None) + + +class BgpSettings(Model): + """BGP settings details. + + :param asn: The BGP speaker's ASN. + :type asn: long + :param bgp_peering_address: The BGP peering address and BGP identifier of + this BGP speaker. + :type bgp_peering_address: str + :param peer_weight: The weight added to routes learned from this BGP + speaker. + :type peer_weight: int + :param bgp_peering_addresses: BGP peering address with IP configuration ID + for virtual network gateway. + :type bgp_peering_addresses: + list[~azure.mgmt.network.v2020_04_01.models.IPConfigurationBgpPeeringAddress] + """ + + _validation = { + 'asn': {'maximum': 4294967295, 'minimum': 0}, + } + + _attribute_map = { + 'asn': {'key': 'asn', 'type': 'long'}, + 'bgp_peering_address': {'key': 'bgpPeeringAddress', 'type': 'str'}, + 'peer_weight': {'key': 'peerWeight', 'type': 'int'}, + 'bgp_peering_addresses': {'key': 'bgpPeeringAddresses', 'type': '[IPConfigurationBgpPeeringAddress]'}, + } + + def __init__(self, **kwargs): + super(BgpSettings, self).__init__(**kwargs) + self.asn = kwargs.get('asn', None) + self.bgp_peering_address = kwargs.get('bgp_peering_address', None) + self.peer_weight = kwargs.get('peer_weight', None) + self.bgp_peering_addresses = kwargs.get('bgp_peering_addresses', None) + + +class CheckPrivateLinkServiceVisibilityRequest(Model): + """Request body of the CheckPrivateLinkServiceVisibility API service call. + + :param private_link_service_alias: The alias of the private link service. + :type private_link_service_alias: str + """ + + _attribute_map = { + 'private_link_service_alias': {'key': 'privateLinkServiceAlias', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(CheckPrivateLinkServiceVisibilityRequest, self).__init__(**kwargs) + self.private_link_service_alias = kwargs.get('private_link_service_alias', None) + + +class CloudError(Model): + """An error response from the service. + + :param error: Cloud error body. + :type error: ~azure.mgmt.network.v2020_04_01.models.CloudErrorBody + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'CloudErrorBody'}, + } + + def __init__(self, **kwargs): + super(CloudError, self).__init__(**kwargs) + self.error = kwargs.get('error', None) + + +class CloudErrorException(HttpOperationError): + """Server responsed with exception of type: 'CloudError'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(CloudErrorException, self).__init__(deserialize, response, 'CloudError', *args) + + +class CloudErrorBody(Model): + """An error response from the service. + + :param code: An identifier for the error. Codes are invariant and are + intended to be consumed programmatically. + :type code: str + :param message: A message describing the error, intended to be suitable + for display in a user interface. + :type message: str + :param target: The target of the particular error. For example, the name + of the property in error. + :type target: str + :param details: A list of additional details about the error. + :type details: list[~azure.mgmt.network.v2020_04_01.models.CloudErrorBody] + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[CloudErrorBody]'}, + } + + def __init__(self, **kwargs): + super(CloudErrorBody, self).__init__(**kwargs) + self.code = kwargs.get('code', None) + self.message = kwargs.get('message', None) + self.target = kwargs.get('target', None) + self.details = kwargs.get('details', None) + + +class ConnectionMonitor(Model): + """Parameters that define the operation to create a connection monitor. + + :param location: Connection monitor location. + :type location: str + :param tags: Connection monitor tags. + :type tags: dict[str, str] + :param source: Describes the source of connection monitor. + :type source: + ~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorSource + :param destination: Describes the destination of connection monitor. + :type destination: + ~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorDestination + :param auto_start: Determines if the connection monitor will start + automatically once created. Default value: True . + :type auto_start: bool + :param monitoring_interval_in_seconds: Monitoring interval in seconds. + Default value: 60 . + :type monitoring_interval_in_seconds: int + :param endpoints: List of connection monitor endpoints. + :type endpoints: + list[~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorEndpoint] + :param test_configurations: List of connection monitor test + configurations. + :type test_configurations: + list[~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorTestConfiguration] + :param test_groups: List of connection monitor test groups. + :type test_groups: + list[~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorTestGroup] + :param outputs: List of connection monitor outputs. + :type outputs: + list[~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorOutput] + :param notes: Optional notes to be associated with the connection monitor. + :type notes: str + """ + + _attribute_map = { + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'source': {'key': 'properties.source', 'type': 'ConnectionMonitorSource'}, + 'destination': {'key': 'properties.destination', 'type': 'ConnectionMonitorDestination'}, + 'auto_start': {'key': 'properties.autoStart', 'type': 'bool'}, + 'monitoring_interval_in_seconds': {'key': 'properties.monitoringIntervalInSeconds', 'type': 'int'}, + 'endpoints': {'key': 'properties.endpoints', 'type': '[ConnectionMonitorEndpoint]'}, + 'test_configurations': {'key': 'properties.testConfigurations', 'type': '[ConnectionMonitorTestConfiguration]'}, + 'test_groups': {'key': 'properties.testGroups', 'type': '[ConnectionMonitorTestGroup]'}, + 'outputs': {'key': 'properties.outputs', 'type': '[ConnectionMonitorOutput]'}, + 'notes': {'key': 'properties.notes', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ConnectionMonitor, self).__init__(**kwargs) + self.location = kwargs.get('location', None) + self.tags = kwargs.get('tags', None) + self.source = kwargs.get('source', None) + self.destination = kwargs.get('destination', None) + self.auto_start = kwargs.get('auto_start', True) + self.monitoring_interval_in_seconds = kwargs.get('monitoring_interval_in_seconds', 60) + self.endpoints = kwargs.get('endpoints', None) + self.test_configurations = kwargs.get('test_configurations', None) + self.test_groups = kwargs.get('test_groups', None) + self.outputs = kwargs.get('outputs', None) + self.notes = kwargs.get('notes', None) + + +class ConnectionMonitorDestination(Model): + """Describes the destination of connection monitor. + + :param resource_id: The ID of the resource used as the destination by + connection monitor. + :type resource_id: str + :param address: Address of the connection monitor destination (IP or + domain name). + :type address: str + :param port: The destination port used by connection monitor. + :type port: int + """ + + _attribute_map = { + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + 'address': {'key': 'address', 'type': 'str'}, + 'port': {'key': 'port', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(ConnectionMonitorDestination, self).__init__(**kwargs) + self.resource_id = kwargs.get('resource_id', None) + self.address = kwargs.get('address', None) + self.port = kwargs.get('port', None) + + +class ConnectionMonitorEndpoint(Model): + """Describes the connection monitor endpoint. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. The name of the connection monitor endpoint. + :type name: str + :param resource_id: Resource ID of the connection monitor endpoint. + :type resource_id: str + :param address: Address of the connection monitor endpoint (IP or domain + name). + :type address: str + :param filter: Filter for sub-items within the endpoint. + :type filter: + ~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorEndpointFilter + """ + + _validation = { + 'name': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + 'address': {'key': 'address', 'type': 'str'}, + 'filter': {'key': 'filter', 'type': 'ConnectionMonitorEndpointFilter'}, + } + + def __init__(self, **kwargs): + super(ConnectionMonitorEndpoint, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.resource_id = kwargs.get('resource_id', None) + self.address = kwargs.get('address', None) + self.filter = kwargs.get('filter', None) + + +class ConnectionMonitorEndpointFilter(Model): + """Describes the connection monitor endpoint filter. + + :param type: The behavior of the endpoint filter. Currently only 'Include' + is supported. Possible values include: 'Include' + :type type: str or + ~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorEndpointFilterType + :param items: List of items in the filter. + :type items: + list[~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorEndpointFilterItem] + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'items': {'key': 'items', 'type': '[ConnectionMonitorEndpointFilterItem]'}, + } + + def __init__(self, **kwargs): + super(ConnectionMonitorEndpointFilter, self).__init__(**kwargs) + self.type = kwargs.get('type', None) + self.items = kwargs.get('items', None) + + +class ConnectionMonitorEndpointFilterItem(Model): + """Describes the connection monitor endpoint filter item. + + :param type: The type of item included in the filter. Currently only + 'AgentAddress' is supported. Possible values include: 'AgentAddress' + :type type: str or + ~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorEndpointFilterItemType + :param address: The address of the filter item. + :type address: str + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'address': {'key': 'address', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ConnectionMonitorEndpointFilterItem, self).__init__(**kwargs) + self.type = kwargs.get('type', None) + self.address = kwargs.get('address', None) + + +class ConnectionMonitorHttpConfiguration(Model): + """Describes the HTTP configuration. + + :param port: The port to connect to. + :type port: int + :param method: The HTTP method to use. Possible values include: 'Get', + 'Post' + :type method: str or + ~azure.mgmt.network.v2020_04_01.models.HTTPConfigurationMethod + :param path: The path component of the URI. For instance, "/dir1/dir2". + :type path: str + :param request_headers: The HTTP headers to transmit with the request. + :type request_headers: + list[~azure.mgmt.network.v2020_04_01.models.HTTPHeader] + :param valid_status_code_ranges: HTTP status codes to consider successful. + For instance, "2xx,301-304,418". + :type valid_status_code_ranges: list[str] + :param prefer_https: Value indicating whether HTTPS is preferred over HTTP + in cases where the choice is not explicit. + :type prefer_https: bool + """ + + _attribute_map = { + 'port': {'key': 'port', 'type': 'int'}, + 'method': {'key': 'method', 'type': 'str'}, + 'path': {'key': 'path', 'type': 'str'}, + 'request_headers': {'key': 'requestHeaders', 'type': '[HTTPHeader]'}, + 'valid_status_code_ranges': {'key': 'validStatusCodeRanges', 'type': '[str]'}, + 'prefer_https': {'key': 'preferHTTPS', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(ConnectionMonitorHttpConfiguration, self).__init__(**kwargs) + self.port = kwargs.get('port', None) + self.method = kwargs.get('method', None) + self.path = kwargs.get('path', None) + self.request_headers = kwargs.get('request_headers', None) + self.valid_status_code_ranges = kwargs.get('valid_status_code_ranges', None) + self.prefer_https = kwargs.get('prefer_https', None) + + +class ConnectionMonitorIcmpConfiguration(Model): + """Describes the ICMP configuration. + + :param disable_trace_route: Value indicating whether path evaluation with + trace route should be disabled. + :type disable_trace_route: bool + """ + + _attribute_map = { + 'disable_trace_route': {'key': 'disableTraceRoute', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(ConnectionMonitorIcmpConfiguration, self).__init__(**kwargs) + self.disable_trace_route = kwargs.get('disable_trace_route', None) + + +class ConnectionMonitorOutput(Model): + """Describes a connection monitor output destination. + + :param type: Connection monitor output destination type. Currently, only + "Workspace" is supported. Possible values include: 'Workspace' + :type type: str or ~azure.mgmt.network.v2020_04_01.models.OutputType + :param workspace_settings: Describes the settings for producing output + into a log analytics workspace. + :type workspace_settings: + ~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorWorkspaceSettings + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'workspace_settings': {'key': 'workspaceSettings', 'type': 'ConnectionMonitorWorkspaceSettings'}, + } + + def __init__(self, **kwargs): + super(ConnectionMonitorOutput, self).__init__(**kwargs) + self.type = kwargs.get('type', None) + self.workspace_settings = kwargs.get('workspace_settings', None) + + +class ConnectionMonitorParameters(Model): + """Parameters that define the operation to create a connection monitor. + + :param source: Describes the source of connection monitor. + :type source: + ~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorSource + :param destination: Describes the destination of connection monitor. + :type destination: + ~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorDestination + :param auto_start: Determines if the connection monitor will start + automatically once created. Default value: True . + :type auto_start: bool + :param monitoring_interval_in_seconds: Monitoring interval in seconds. + Default value: 60 . + :type monitoring_interval_in_seconds: int + :param endpoints: List of connection monitor endpoints. + :type endpoints: + list[~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorEndpoint] + :param test_configurations: List of connection monitor test + configurations. + :type test_configurations: + list[~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorTestConfiguration] + :param test_groups: List of connection monitor test groups. + :type test_groups: + list[~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorTestGroup] + :param outputs: List of connection monitor outputs. + :type outputs: + list[~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorOutput] + :param notes: Optional notes to be associated with the connection monitor. + :type notes: str + """ + + _attribute_map = { + 'source': {'key': 'source', 'type': 'ConnectionMonitorSource'}, + 'destination': {'key': 'destination', 'type': 'ConnectionMonitorDestination'}, + 'auto_start': {'key': 'autoStart', 'type': 'bool'}, + 'monitoring_interval_in_seconds': {'key': 'monitoringIntervalInSeconds', 'type': 'int'}, + 'endpoints': {'key': 'endpoints', 'type': '[ConnectionMonitorEndpoint]'}, + 'test_configurations': {'key': 'testConfigurations', 'type': '[ConnectionMonitorTestConfiguration]'}, + 'test_groups': {'key': 'testGroups', 'type': '[ConnectionMonitorTestGroup]'}, + 'outputs': {'key': 'outputs', 'type': '[ConnectionMonitorOutput]'}, + 'notes': {'key': 'notes', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ConnectionMonitorParameters, self).__init__(**kwargs) + self.source = kwargs.get('source', None) + self.destination = kwargs.get('destination', None) + self.auto_start = kwargs.get('auto_start', True) + self.monitoring_interval_in_seconds = kwargs.get('monitoring_interval_in_seconds', 60) + self.endpoints = kwargs.get('endpoints', None) + self.test_configurations = kwargs.get('test_configurations', None) + self.test_groups = kwargs.get('test_groups', None) + self.outputs = kwargs.get('outputs', None) + self.notes = kwargs.get('notes', None) + + +class ConnectionMonitorQueryResult(Model): + """List of connection states snapshots. + + :param source_status: Status of connection monitor source. Possible values + include: 'Unknown', 'Active', 'Inactive' + :type source_status: str or + ~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorSourceStatus + :param states: Information about connection states. + :type states: + list[~azure.mgmt.network.v2020_04_01.models.ConnectionStateSnapshot] + """ + + _attribute_map = { + 'source_status': {'key': 'sourceStatus', 'type': 'str'}, + 'states': {'key': 'states', 'type': '[ConnectionStateSnapshot]'}, + } + + def __init__(self, **kwargs): + super(ConnectionMonitorQueryResult, self).__init__(**kwargs) + self.source_status = kwargs.get('source_status', None) + self.states = kwargs.get('states', None) + + +class ConnectionMonitorResult(Model): + """Information about the connection monitor. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name: Name of the connection monitor. + :vartype name: str + :ivar id: ID of the connection monitor. + :vartype id: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Connection monitor type. + :vartype type: str + :param location: Connection monitor location. + :type location: str + :param tags: Connection monitor tags. + :type tags: dict[str, str] + :param source: Describes the source of connection monitor. + :type source: + ~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorSource + :param destination: Describes the destination of connection monitor. + :type destination: + ~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorDestination + :param auto_start: Determines if the connection monitor will start + automatically once created. Default value: True . + :type auto_start: bool + :param monitoring_interval_in_seconds: Monitoring interval in seconds. + Default value: 60 . + :type monitoring_interval_in_seconds: int + :param endpoints: List of connection monitor endpoints. + :type endpoints: + list[~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorEndpoint] + :param test_configurations: List of connection monitor test + configurations. + :type test_configurations: + list[~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorTestConfiguration] + :param test_groups: List of connection monitor test groups. + :type test_groups: + list[~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorTestGroup] + :param outputs: List of connection monitor outputs. + :type outputs: + list[~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorOutput] + :param notes: Optional notes to be associated with the connection monitor. + :type notes: str + :ivar provisioning_state: The provisioning state of the connection + monitor. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :ivar start_time: The date and time when the connection monitor was + started. + :vartype start_time: datetime + :ivar monitoring_status: The monitoring status of the connection monitor. + :vartype monitoring_status: str + :ivar connection_monitor_type: Type of connection monitor. Possible values + include: 'MultiEndpoint', 'SingleSourceDestination' + :vartype connection_monitor_type: str or + ~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorType + """ + + _validation = { + 'name': {'readonly': True}, + 'id': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'start_time': {'readonly': True}, + 'monitoring_status': {'readonly': True}, + 'connection_monitor_type': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'source': {'key': 'properties.source', 'type': 'ConnectionMonitorSource'}, + 'destination': {'key': 'properties.destination', 'type': 'ConnectionMonitorDestination'}, + 'auto_start': {'key': 'properties.autoStart', 'type': 'bool'}, + 'monitoring_interval_in_seconds': {'key': 'properties.monitoringIntervalInSeconds', 'type': 'int'}, + 'endpoints': {'key': 'properties.endpoints', 'type': '[ConnectionMonitorEndpoint]'}, + 'test_configurations': {'key': 'properties.testConfigurations', 'type': '[ConnectionMonitorTestConfiguration]'}, + 'test_groups': {'key': 'properties.testGroups', 'type': '[ConnectionMonitorTestGroup]'}, + 'outputs': {'key': 'properties.outputs', 'type': '[ConnectionMonitorOutput]'}, + 'notes': {'key': 'properties.notes', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'start_time': {'key': 'properties.startTime', 'type': 'iso-8601'}, + 'monitoring_status': {'key': 'properties.monitoringStatus', 'type': 'str'}, + 'connection_monitor_type': {'key': 'properties.connectionMonitorType', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ConnectionMonitorResult, self).__init__(**kwargs) + self.name = None + self.id = None + self.etag = None + self.type = None + self.location = kwargs.get('location', None) + self.tags = kwargs.get('tags', None) + self.source = kwargs.get('source', None) + self.destination = kwargs.get('destination', None) + self.auto_start = kwargs.get('auto_start', True) + self.monitoring_interval_in_seconds = kwargs.get('monitoring_interval_in_seconds', 60) + self.endpoints = kwargs.get('endpoints', None) + self.test_configurations = kwargs.get('test_configurations', None) + self.test_groups = kwargs.get('test_groups', None) + self.outputs = kwargs.get('outputs', None) + self.notes = kwargs.get('notes', None) + self.provisioning_state = None + self.start_time = None + self.monitoring_status = None + self.connection_monitor_type = None + + +class ConnectionMonitorSource(Model): + """Describes the source of connection monitor. + + All required parameters must be populated in order to send to Azure. + + :param resource_id: Required. The ID of the resource used as the source by + connection monitor. + :type resource_id: str + :param port: The source port used by connection monitor. + :type port: int + """ + + _validation = { + 'resource_id': {'required': True}, + } + + _attribute_map = { + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + 'port': {'key': 'port', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(ConnectionMonitorSource, self).__init__(**kwargs) + self.resource_id = kwargs.get('resource_id', None) + self.port = kwargs.get('port', None) + + +class ConnectionMonitorSuccessThreshold(Model): + """Describes the threshold for declaring a test successful. + + :param checks_failed_percent: The maximum percentage of failed checks + permitted for a test to evaluate as successful. + :type checks_failed_percent: int + :param round_trip_time_ms: The maximum round-trip time in milliseconds + permitted for a test to evaluate as successful. + :type round_trip_time_ms: float + """ + + _attribute_map = { + 'checks_failed_percent': {'key': 'checksFailedPercent', 'type': 'int'}, + 'round_trip_time_ms': {'key': 'roundTripTimeMs', 'type': 'float'}, + } + + def __init__(self, **kwargs): + super(ConnectionMonitorSuccessThreshold, self).__init__(**kwargs) + self.checks_failed_percent = kwargs.get('checks_failed_percent', None) + self.round_trip_time_ms = kwargs.get('round_trip_time_ms', None) + + +class ConnectionMonitorTcpConfiguration(Model): + """Describes the TCP configuration. + + :param port: The port to connect to. + :type port: int + :param disable_trace_route: Value indicating whether path evaluation with + trace route should be disabled. + :type disable_trace_route: bool + """ + + _attribute_map = { + 'port': {'key': 'port', 'type': 'int'}, + 'disable_trace_route': {'key': 'disableTraceRoute', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(ConnectionMonitorTcpConfiguration, self).__init__(**kwargs) + self.port = kwargs.get('port', None) + self.disable_trace_route = kwargs.get('disable_trace_route', None) + + +class ConnectionMonitorTestConfiguration(Model): + """Describes a connection monitor test configuration. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. The name of the connection monitor test + configuration. + :type name: str + :param test_frequency_sec: The frequency of test evaluation, in seconds. + :type test_frequency_sec: int + :param protocol: Required. The protocol to use in test evaluation. + Possible values include: 'Tcp', 'Http', 'Icmp' + :type protocol: str or + ~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorTestConfigurationProtocol + :param preferred_ip_version: The preferred IP version to use in test + evaluation. The connection monitor may choose to use a different version + depending on other parameters. Possible values include: 'IPv4', 'IPv6' + :type preferred_ip_version: str or + ~azure.mgmt.network.v2020_04_01.models.PreferredIPVersion + :param http_configuration: The parameters used to perform test evaluation + over HTTP. + :type http_configuration: + ~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorHttpConfiguration + :param tcp_configuration: The parameters used to perform test evaluation + over TCP. + :type tcp_configuration: + ~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorTcpConfiguration + :param icmp_configuration: The parameters used to perform test evaluation + over ICMP. + :type icmp_configuration: + ~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorIcmpConfiguration + :param success_threshold: The threshold for declaring a test successful. + :type success_threshold: + ~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorSuccessThreshold + """ + + _validation = { + 'name': {'required': True}, + 'protocol': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'test_frequency_sec': {'key': 'testFrequencySec', 'type': 'int'}, + 'protocol': {'key': 'protocol', 'type': 'str'}, + 'preferred_ip_version': {'key': 'preferredIPVersion', 'type': 'str'}, + 'http_configuration': {'key': 'httpConfiguration', 'type': 'ConnectionMonitorHttpConfiguration'}, + 'tcp_configuration': {'key': 'tcpConfiguration', 'type': 'ConnectionMonitorTcpConfiguration'}, + 'icmp_configuration': {'key': 'icmpConfiguration', 'type': 'ConnectionMonitorIcmpConfiguration'}, + 'success_threshold': {'key': 'successThreshold', 'type': 'ConnectionMonitorSuccessThreshold'}, + } + + def __init__(self, **kwargs): + super(ConnectionMonitorTestConfiguration, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.test_frequency_sec = kwargs.get('test_frequency_sec', None) + self.protocol = kwargs.get('protocol', None) + self.preferred_ip_version = kwargs.get('preferred_ip_version', None) + self.http_configuration = kwargs.get('http_configuration', None) + self.tcp_configuration = kwargs.get('tcp_configuration', None) + self.icmp_configuration = kwargs.get('icmp_configuration', None) + self.success_threshold = kwargs.get('success_threshold', None) + + +class ConnectionMonitorTestGroup(Model): + """Describes the connection monitor test group. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. The name of the connection monitor test group. + :type name: str + :param disable: Value indicating whether test group is disabled. + :type disable: bool + :param test_configurations: Required. List of test configuration names. + :type test_configurations: list[str] + :param sources: Required. List of source endpoint names. + :type sources: list[str] + :param destinations: Required. List of destination endpoint names. + :type destinations: list[str] + """ + + _validation = { + 'name': {'required': True}, + 'test_configurations': {'required': True}, + 'sources': {'required': True}, + 'destinations': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'disable': {'key': 'disable', 'type': 'bool'}, + 'test_configurations': {'key': 'testConfigurations', 'type': '[str]'}, + 'sources': {'key': 'sources', 'type': '[str]'}, + 'destinations': {'key': 'destinations', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(ConnectionMonitorTestGroup, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.disable = kwargs.get('disable', None) + self.test_configurations = kwargs.get('test_configurations', None) + self.sources = kwargs.get('sources', None) + self.destinations = kwargs.get('destinations', None) + + +class ConnectionMonitorWorkspaceSettings(Model): + """Describes the settings for producing output into a log analytics workspace. + + :param workspace_resource_id: Log analytics workspace resource ID. + :type workspace_resource_id: str + """ + + _attribute_map = { + 'workspace_resource_id': {'key': 'workspaceResourceId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ConnectionMonitorWorkspaceSettings, self).__init__(**kwargs) + self.workspace_resource_id = kwargs.get('workspace_resource_id', None) + + +class ConnectionResetSharedKey(Model): + """The virtual network connection reset shared key. + + All required parameters must be populated in order to send to Azure. + + :param key_length: Required. The virtual network connection reset shared + key length, should between 1 and 128. + :type key_length: int + """ + + _validation = { + 'key_length': {'required': True, 'maximum': 128, 'minimum': 1}, + } + + _attribute_map = { + 'key_length': {'key': 'keyLength', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(ConnectionResetSharedKey, self).__init__(**kwargs) + self.key_length = kwargs.get('key_length', None) + + +class ConnectionSharedKey(SubResource): + """Response for GetConnectionSharedKey API service call. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :param value: Required. The virtual network connection shared key value. + :type value: str + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ConnectionSharedKey, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + + +class ConnectionStateSnapshot(Model): + """Connection state snapshot. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param connection_state: The connection state. Possible values include: + 'Reachable', 'Unreachable', 'Unknown' + :type connection_state: str or + ~azure.mgmt.network.v2020_04_01.models.ConnectionState + :param start_time: The start time of the connection snapshot. + :type start_time: datetime + :param end_time: The end time of the connection snapshot. + :type end_time: datetime + :param evaluation_state: Connectivity analysis evaluation state. Possible + values include: 'NotStarted', 'InProgress', 'Completed' + :type evaluation_state: str or + ~azure.mgmt.network.v2020_04_01.models.EvaluationState + :param avg_latency_in_ms: Average latency in ms. + :type avg_latency_in_ms: int + :param min_latency_in_ms: Minimum latency in ms. + :type min_latency_in_ms: int + :param max_latency_in_ms: Maximum latency in ms. + :type max_latency_in_ms: int + :param probes_sent: The number of sent probes. + :type probes_sent: int + :param probes_failed: The number of failed probes. + :type probes_failed: int + :ivar hops: List of hops between the source and the destination. + :vartype hops: + list[~azure.mgmt.network.v2020_04_01.models.ConnectivityHop] + """ + + _validation = { + 'hops': {'readonly': True}, + } + + _attribute_map = { + 'connection_state': {'key': 'connectionState', 'type': 'str'}, + 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, + 'evaluation_state': {'key': 'evaluationState', 'type': 'str'}, + 'avg_latency_in_ms': {'key': 'avgLatencyInMs', 'type': 'int'}, + 'min_latency_in_ms': {'key': 'minLatencyInMs', 'type': 'int'}, + 'max_latency_in_ms': {'key': 'maxLatencyInMs', 'type': 'int'}, + 'probes_sent': {'key': 'probesSent', 'type': 'int'}, + 'probes_failed': {'key': 'probesFailed', 'type': 'int'}, + 'hops': {'key': 'hops', 'type': '[ConnectivityHop]'}, + } + + def __init__(self, **kwargs): + super(ConnectionStateSnapshot, self).__init__(**kwargs) + self.connection_state = kwargs.get('connection_state', None) + self.start_time = kwargs.get('start_time', None) + self.end_time = kwargs.get('end_time', None) + self.evaluation_state = kwargs.get('evaluation_state', None) + self.avg_latency_in_ms = kwargs.get('avg_latency_in_ms', None) + self.min_latency_in_ms = kwargs.get('min_latency_in_ms', None) + self.max_latency_in_ms = kwargs.get('max_latency_in_ms', None) + self.probes_sent = kwargs.get('probes_sent', None) + self.probes_failed = kwargs.get('probes_failed', None) + self.hops = None + + +class ConnectivityDestination(Model): + """Parameters that define destination of connection. + + :param resource_id: The ID of the resource to which a connection attempt + will be made. + :type resource_id: str + :param address: The IP address or URI the resource to which a connection + attempt will be made. + :type address: str + :param port: Port on which check connectivity will be performed. + :type port: int + """ + + _attribute_map = { + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + 'address': {'key': 'address', 'type': 'str'}, + 'port': {'key': 'port', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(ConnectivityDestination, self).__init__(**kwargs) + self.resource_id = kwargs.get('resource_id', None) + self.address = kwargs.get('address', None) + self.port = kwargs.get('port', None) + + +class ConnectivityHop(Model): + """Information about a hop between the source and the destination. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar type: The type of the hop. + :vartype type: str + :ivar id: The ID of the hop. + :vartype id: str + :ivar address: The IP address of the hop. + :vartype address: str + :ivar resource_id: The ID of the resource corresponding to this hop. + :vartype resource_id: str + :ivar next_hop_ids: List of next hop identifiers. + :vartype next_hop_ids: list[str] + :ivar issues: List of issues. + :vartype issues: + list[~azure.mgmt.network.v2020_04_01.models.ConnectivityIssue] + """ + + _validation = { + 'type': {'readonly': True}, + 'id': {'readonly': True}, + 'address': {'readonly': True}, + 'resource_id': {'readonly': True}, + 'next_hop_ids': {'readonly': True}, + 'issues': {'readonly': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'address': {'key': 'address', 'type': 'str'}, + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + 'next_hop_ids': {'key': 'nextHopIds', 'type': '[str]'}, + 'issues': {'key': 'issues', 'type': '[ConnectivityIssue]'}, + } + + def __init__(self, **kwargs): + super(ConnectivityHop, self).__init__(**kwargs) + self.type = None + self.id = None + self.address = None + self.resource_id = None + self.next_hop_ids = None + self.issues = None + + +class ConnectivityInformation(Model): + """Information on the connectivity status. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar hops: List of hops between the source and the destination. + :vartype hops: + list[~azure.mgmt.network.v2020_04_01.models.ConnectivityHop] + :ivar connection_status: The connection status. Possible values include: + 'Unknown', 'Connected', 'Disconnected', 'Degraded' + :vartype connection_status: str or + ~azure.mgmt.network.v2020_04_01.models.ConnectionStatus + :ivar avg_latency_in_ms: Average latency in milliseconds. + :vartype avg_latency_in_ms: int + :ivar min_latency_in_ms: Minimum latency in milliseconds. + :vartype min_latency_in_ms: int + :ivar max_latency_in_ms: Maximum latency in milliseconds. + :vartype max_latency_in_ms: int + :ivar probes_sent: Total number of probes sent. + :vartype probes_sent: int + :ivar probes_failed: Number of failed probes. + :vartype probes_failed: int + """ + + _validation = { + 'hops': {'readonly': True}, + 'connection_status': {'readonly': True}, + 'avg_latency_in_ms': {'readonly': True}, + 'min_latency_in_ms': {'readonly': True}, + 'max_latency_in_ms': {'readonly': True}, + 'probes_sent': {'readonly': True}, + 'probes_failed': {'readonly': True}, + } + + _attribute_map = { + 'hops': {'key': 'hops', 'type': '[ConnectivityHop]'}, + 'connection_status': {'key': 'connectionStatus', 'type': 'str'}, + 'avg_latency_in_ms': {'key': 'avgLatencyInMs', 'type': 'int'}, + 'min_latency_in_ms': {'key': 'minLatencyInMs', 'type': 'int'}, + 'max_latency_in_ms': {'key': 'maxLatencyInMs', 'type': 'int'}, + 'probes_sent': {'key': 'probesSent', 'type': 'int'}, + 'probes_failed': {'key': 'probesFailed', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(ConnectivityInformation, self).__init__(**kwargs) + self.hops = None + self.connection_status = None + self.avg_latency_in_ms = None + self.min_latency_in_ms = None + self.max_latency_in_ms = None + self.probes_sent = None + self.probes_failed = None + + +class ConnectivityIssue(Model): + """Information about an issue encountered in the process of checking for + connectivity. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar origin: The origin of the issue. Possible values include: 'Local', + 'Inbound', 'Outbound' + :vartype origin: str or ~azure.mgmt.network.v2020_04_01.models.Origin + :ivar severity: The severity of the issue. Possible values include: + 'Error', 'Warning' + :vartype severity: str or ~azure.mgmt.network.v2020_04_01.models.Severity + :ivar type: The type of issue. Possible values include: 'Unknown', + 'AgentStopped', 'GuestFirewall', 'DnsResolution', 'SocketBind', + 'NetworkSecurityRule', 'UserDefinedRoute', 'PortThrottled', 'Platform' + :vartype type: str or ~azure.mgmt.network.v2020_04_01.models.IssueType + :ivar context: Provides additional context on the issue. + :vartype context: list[dict[str, str]] + """ + + _validation = { + 'origin': {'readonly': True}, + 'severity': {'readonly': True}, + 'type': {'readonly': True}, + 'context': {'readonly': True}, + } + + _attribute_map = { + 'origin': {'key': 'origin', 'type': 'str'}, + 'severity': {'key': 'severity', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'context': {'key': 'context', 'type': '[{str}]'}, + } + + def __init__(self, **kwargs): + super(ConnectivityIssue, self).__init__(**kwargs) + self.origin = None + self.severity = None + self.type = None + self.context = None + + +class ConnectivityParameters(Model): + """Parameters that determine how the connectivity check will be performed. + + All required parameters must be populated in order to send to Azure. + + :param source: Required. The source of the connection. + :type source: ~azure.mgmt.network.v2020_04_01.models.ConnectivitySource + :param destination: Required. The destination of connection. + :type destination: + ~azure.mgmt.network.v2020_04_01.models.ConnectivityDestination + :param protocol: Network protocol. Possible values include: 'Tcp', 'Http', + 'Https', 'Icmp' + :type protocol: str or ~azure.mgmt.network.v2020_04_01.models.Protocol + :param protocol_configuration: Configuration of the protocol. + :type protocol_configuration: + ~azure.mgmt.network.v2020_04_01.models.ProtocolConfiguration + :param preferred_ip_version: Preferred IP version of the connection. + Possible values include: 'IPv4', 'IPv6' + :type preferred_ip_version: str or + ~azure.mgmt.network.v2020_04_01.models.IPVersion + """ + + _validation = { + 'source': {'required': True}, + 'destination': {'required': True}, + } + + _attribute_map = { + 'source': {'key': 'source', 'type': 'ConnectivitySource'}, + 'destination': {'key': 'destination', 'type': 'ConnectivityDestination'}, + 'protocol': {'key': 'protocol', 'type': 'str'}, + 'protocol_configuration': {'key': 'protocolConfiguration', 'type': 'ProtocolConfiguration'}, + 'preferred_ip_version': {'key': 'preferredIPVersion', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ConnectivityParameters, self).__init__(**kwargs) + self.source = kwargs.get('source', None) + self.destination = kwargs.get('destination', None) + self.protocol = kwargs.get('protocol', None) + self.protocol_configuration = kwargs.get('protocol_configuration', None) + self.preferred_ip_version = kwargs.get('preferred_ip_version', None) + + +class ConnectivitySource(Model): + """Parameters that define the source of the connection. + + All required parameters must be populated in order to send to Azure. + + :param resource_id: Required. The ID of the resource from which a + connectivity check will be initiated. + :type resource_id: str + :param port: The source port from which a connectivity check will be + performed. + :type port: int + """ + + _validation = { + 'resource_id': {'required': True}, + } + + _attribute_map = { + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + 'port': {'key': 'port', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(ConnectivitySource, self).__init__(**kwargs) + self.resource_id = kwargs.get('resource_id', None) + self.port = kwargs.get('port', None) + + +class Container(SubResource): + """Reference to container resource in remote resource provider. + + :param id: Resource ID. + :type id: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Container, self).__init__(**kwargs) + + +class ContainerNetworkInterface(SubResource): + """Container network interface child resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar container_network_interface_configuration: Container network + interface configuration from which this container network interface is + created. + :vartype container_network_interface_configuration: + ~azure.mgmt.network.v2020_04_01.models.ContainerNetworkInterfaceConfiguration + :param container: Reference to the container to which this container + network interface is attached. + :type container: ~azure.mgmt.network.v2020_04_01.models.Container + :ivar ip_configurations: Reference to the ip configuration on this + container nic. + :vartype ip_configurations: + list[~azure.mgmt.network.v2020_04_01.models.ContainerNetworkInterfaceIpConfiguration] + :ivar provisioning_state: The provisioning state of the container network + interface resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: The name of the resource. This name can be used to access the + resource. + :type name: str + :ivar type: Sub Resource type. + :vartype type: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'container_network_interface_configuration': {'readonly': True}, + 'ip_configurations': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'container_network_interface_configuration': {'key': 'properties.containerNetworkInterfaceConfiguration', 'type': 'ContainerNetworkInterfaceConfiguration'}, + 'container': {'key': 'properties.container', 'type': 'Container'}, + 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[ContainerNetworkInterfaceIpConfiguration]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ContainerNetworkInterface, self).__init__(**kwargs) + self.container_network_interface_configuration = None + self.container = kwargs.get('container', None) + self.ip_configurations = None + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.type = None + self.etag = None + + +class ContainerNetworkInterfaceConfiguration(SubResource): + """Container network interface configuration child resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param ip_configurations: A list of ip configurations of the container + network interface configuration. + :type ip_configurations: + list[~azure.mgmt.network.v2020_04_01.models.IPConfigurationProfile] + :param container_network_interfaces: A list of container network + interfaces created from this container network interface configuration. + :type container_network_interfaces: + list[~azure.mgmt.network.v2020_04_01.models.SubResource] + :ivar provisioning_state: The provisioning state of the container network + interface configuration resource. Possible values include: 'Succeeded', + 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: The name of the resource. This name can be used to access the + resource. + :type name: str + :ivar type: Sub Resource type. + :vartype type: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[IPConfigurationProfile]'}, + 'container_network_interfaces': {'key': 'properties.containerNetworkInterfaces', 'type': '[SubResource]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ContainerNetworkInterfaceConfiguration, self).__init__(**kwargs) + self.ip_configurations = kwargs.get('ip_configurations', None) + self.container_network_interfaces = kwargs.get('container_network_interfaces', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.type = None + self.etag = None + + +class ContainerNetworkInterfaceIpConfiguration(Model): + """The ip configuration for a container network interface. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar provisioning_state: The provisioning state of the container network + interface IP configuration resource. Possible values include: 'Succeeded', + 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: The name of the resource. This name can be used to access the + resource. + :type name: str + :ivar type: Sub Resource type. + :vartype type: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ContainerNetworkInterfaceIpConfiguration, self).__init__(**kwargs) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.type = None + self.etag = None + + +class CustomDnsConfigPropertiesFormat(Model): + """Contains custom Dns resolution configuration from customer. + + :param fqdn: Fqdn that resolves to private endpoint ip address. + :type fqdn: str + :param ip_addresses: A list of private ip addresses of the private + endpoint. + :type ip_addresses: list[str] + """ + + _attribute_map = { + 'fqdn': {'key': 'fqdn', 'type': 'str'}, + 'ip_addresses': {'key': 'ipAddresses', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(CustomDnsConfigPropertiesFormat, self).__init__(**kwargs) + self.fqdn = kwargs.get('fqdn', None) + self.ip_addresses = kwargs.get('ip_addresses', None) + + +class DdosCustomPolicy(Resource): + """A DDoS custom policy in a resource group. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar resource_guid: The resource GUID property of the DDoS custom policy + resource. It uniquely identifies the resource, even if the user changes + its name or migrate the resource across subscriptions or resource groups. + :vartype resource_guid: str + :ivar provisioning_state: The provisioning state of the DDoS custom policy + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :ivar public_ip_addresses: The list of public IPs associated with the DDoS + custom policy resource. This list is read-only. + :vartype public_ip_addresses: + list[~azure.mgmt.network.v2020_04_01.models.SubResource] + :param protocol_custom_settings: The protocol-specific DDoS policy + customization parameters. + :type protocol_custom_settings: + list[~azure.mgmt.network.v2020_04_01.models.ProtocolCustomSettingsFormat] + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'resource_guid': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'public_ip_addresses': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'public_ip_addresses': {'key': 'properties.publicIPAddresses', 'type': '[SubResource]'}, + 'protocol_custom_settings': {'key': 'properties.protocolCustomSettings', 'type': '[ProtocolCustomSettingsFormat]'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(DdosCustomPolicy, self).__init__(**kwargs) + self.resource_guid = None + self.provisioning_state = None + self.public_ip_addresses = None + self.protocol_custom_settings = kwargs.get('protocol_custom_settings', None) + self.etag = None + + +class DdosProtectionPlan(Model): + """A DDoS protection plan in a resource group. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar resource_guid: The resource GUID property of the DDoS protection + plan resource. It uniquely identifies the resource, even if the user + changes its name or migrate the resource across subscriptions or resource + groups. + :vartype resource_guid: str + :ivar provisioning_state: The provisioning state of the DDoS protection + plan resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :ivar virtual_networks: The list of virtual networks associated with the + DDoS protection plan resource. This list is read-only. + :vartype virtual_networks: + list[~azure.mgmt.network.v2020_04_01.models.SubResource] + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'resource_guid': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'virtual_networks': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'virtual_networks': {'key': 'properties.virtualNetworks', 'type': '[SubResource]'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(DdosProtectionPlan, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.location = kwargs.get('location', None) + self.tags = kwargs.get('tags', None) + self.resource_guid = None + self.provisioning_state = None + self.virtual_networks = None + self.etag = None + + +class DdosSettings(Model): + """Contains the DDoS protection settings of the public IP. + + :param ddos_custom_policy: The DDoS custom policy associated with the + public IP. + :type ddos_custom_policy: + ~azure.mgmt.network.v2020_04_01.models.SubResource + :param protection_coverage: The DDoS protection policy customizability of + the public IP. Only standard coverage will have the ability to be + customized. Possible values include: 'Basic', 'Standard' + :type protection_coverage: str or + ~azure.mgmt.network.v2020_04_01.models.DdosSettingsProtectionCoverage + :param protected_ip: Enables DDoS protection on the public IP. + :type protected_ip: bool + """ + + _attribute_map = { + 'ddos_custom_policy': {'key': 'ddosCustomPolicy', 'type': 'SubResource'}, + 'protection_coverage': {'key': 'protectionCoverage', 'type': 'str'}, + 'protected_ip': {'key': 'protectedIP', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(DdosSettings, self).__init__(**kwargs) + self.ddos_custom_policy = kwargs.get('ddos_custom_policy', None) + self.protection_coverage = kwargs.get('protection_coverage', None) + self.protected_ip = kwargs.get('protected_ip', None) + + +class Delegation(SubResource): + """Details the service to which the subnet is delegated. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param service_name: The name of the service to whom the subnet should be + delegated (e.g. Microsoft.Sql/servers). + :type service_name: str + :ivar actions: The actions permitted to the service upon delegation. + :vartype actions: list[str] + :ivar provisioning_state: The provisioning state of the service delegation + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: The name of the resource that is unique within a subnet. This + name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'actions': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'service_name': {'key': 'properties.serviceName', 'type': 'str'}, + 'actions': {'key': 'properties.actions', 'type': '[str]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Delegation, self).__init__(**kwargs) + self.service_name = kwargs.get('service_name', None) + self.actions = None + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = None + + +class DeviceProperties(Model): + """List of properties of the device. + + :param device_vendor: Name of the device Vendor. + :type device_vendor: str + :param device_model: Model of the device. + :type device_model: str + :param link_speed_in_mbps: Link speed. + :type link_speed_in_mbps: int + """ + + _attribute_map = { + 'device_vendor': {'key': 'deviceVendor', 'type': 'str'}, + 'device_model': {'key': 'deviceModel', 'type': 'str'}, + 'link_speed_in_mbps': {'key': 'linkSpeedInMbps', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(DeviceProperties, self).__init__(**kwargs) + self.device_vendor = kwargs.get('device_vendor', None) + self.device_model = kwargs.get('device_model', None) + self.link_speed_in_mbps = kwargs.get('link_speed_in_mbps', None) + + +class DhcpOptions(Model): + """DhcpOptions contains an array of DNS servers available to VMs deployed in + the virtual network. Standard DHCP option for a subnet overrides VNET DHCP + options. + + :param dns_servers: The list of DNS servers IP addresses. + :type dns_servers: list[str] + """ + + _attribute_map = { + 'dns_servers': {'key': 'dnsServers', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(DhcpOptions, self).__init__(**kwargs) + self.dns_servers = kwargs.get('dns_servers', None) + + +class Dimension(Model): + """Dimension of the metric. + + :param name: The name of the dimension. + :type name: str + :param display_name: The display name of the dimension. + :type display_name: str + :param internal_name: The internal name of the dimension. + :type internal_name: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'internal_name': {'key': 'internalName', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Dimension, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.display_name = kwargs.get('display_name', None) + self.internal_name = kwargs.get('internal_name', None) + + +class DnsNameAvailabilityResult(Model): + """Response for the CheckDnsNameAvailability API service call. + + :param available: Domain availability (True/False). + :type available: bool + """ + + _attribute_map = { + 'available': {'key': 'available', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(DnsNameAvailabilityResult, self).__init__(**kwargs) + self.available = kwargs.get('available', None) + + +class EffectiveNetworkSecurityGroup(Model): + """Effective network security group. + + :param network_security_group: The ID of network security group that is + applied. + :type network_security_group: + ~azure.mgmt.network.v2020_04_01.models.SubResource + :param association: Associated resources. + :type association: + ~azure.mgmt.network.v2020_04_01.models.EffectiveNetworkSecurityGroupAssociation + :param effective_security_rules: A collection of effective security rules. + :type effective_security_rules: + list[~azure.mgmt.network.v2020_04_01.models.EffectiveNetworkSecurityRule] + :param tag_map: Mapping of tags to list of IP Addresses included within + the tag. + :type tag_map: dict[str, list[str]] + """ + + _attribute_map = { + 'network_security_group': {'key': 'networkSecurityGroup', 'type': 'SubResource'}, + 'association': {'key': 'association', 'type': 'EffectiveNetworkSecurityGroupAssociation'}, + 'effective_security_rules': {'key': 'effectiveSecurityRules', 'type': '[EffectiveNetworkSecurityRule]'}, + 'tag_map': {'key': 'tagMap', 'type': '{[str]}'}, + } + + def __init__(self, **kwargs): + super(EffectiveNetworkSecurityGroup, self).__init__(**kwargs) + self.network_security_group = kwargs.get('network_security_group', None) + self.association = kwargs.get('association', None) + self.effective_security_rules = kwargs.get('effective_security_rules', None) + self.tag_map = kwargs.get('tag_map', None) + + +class EffectiveNetworkSecurityGroupAssociation(Model): + """The effective network security group association. + + :param subnet: The ID of the subnet if assigned. + :type subnet: ~azure.mgmt.network.v2020_04_01.models.SubResource + :param network_interface: The ID of the network interface if assigned. + :type network_interface: + ~azure.mgmt.network.v2020_04_01.models.SubResource + """ + + _attribute_map = { + 'subnet': {'key': 'subnet', 'type': 'SubResource'}, + 'network_interface': {'key': 'networkInterface', 'type': 'SubResource'}, + } + + def __init__(self, **kwargs): + super(EffectiveNetworkSecurityGroupAssociation, self).__init__(**kwargs) + self.subnet = kwargs.get('subnet', None) + self.network_interface = kwargs.get('network_interface', None) + + +class EffectiveNetworkSecurityGroupListResult(Model): + """Response for list effective network security groups API service call. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param value: A list of effective network security groups. + :type value: + list[~azure.mgmt.network.v2020_04_01.models.EffectiveNetworkSecurityGroup] + :ivar next_link: The URL to get the next set of results. + :vartype next_link: str + """ + + _validation = { + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[EffectiveNetworkSecurityGroup]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(EffectiveNetworkSecurityGroupListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = None + + +class EffectiveNetworkSecurityRule(Model): + """Effective network security rules. + + :param name: The name of the security rule specified by the user (if + created by the user). + :type name: str + :param protocol: The network protocol this rule applies to. Possible + values include: 'Tcp', 'Udp', 'All' + :type protocol: str or + ~azure.mgmt.network.v2020_04_01.models.EffectiveSecurityRuleProtocol + :param source_port_range: The source port or range. + :type source_port_range: str + :param destination_port_range: The destination port or range. + :type destination_port_range: str + :param source_port_ranges: The source port ranges. Expected values include + a single integer between 0 and 65535, a range using '-' as separator (e.g. + 100-400), or an asterisk (*). + :type source_port_ranges: list[str] + :param destination_port_ranges: The destination port ranges. Expected + values include a single integer between 0 and 65535, a range using '-' as + separator (e.g. 100-400), or an asterisk (*). + :type destination_port_ranges: list[str] + :param source_address_prefix: The source address prefix. + :type source_address_prefix: str + :param destination_address_prefix: The destination address prefix. + :type destination_address_prefix: str + :param source_address_prefixes: The source address prefixes. Expected + values include CIDR IP ranges, Default Tags (VirtualNetwork, + AzureLoadBalancer, Internet), System Tags, and the asterisk (*). + :type source_address_prefixes: list[str] + :param destination_address_prefixes: The destination address prefixes. + Expected values include CIDR IP ranges, Default Tags (VirtualNetwork, + AzureLoadBalancer, Internet), System Tags, and the asterisk (*). + :type destination_address_prefixes: list[str] + :param expanded_source_address_prefix: The expanded source address prefix. + :type expanded_source_address_prefix: list[str] + :param expanded_destination_address_prefix: Expanded destination address + prefix. + :type expanded_destination_address_prefix: list[str] + :param access: Whether network traffic is allowed or denied. Possible + values include: 'Allow', 'Deny' + :type access: str or + ~azure.mgmt.network.v2020_04_01.models.SecurityRuleAccess + :param priority: The priority of the rule. + :type priority: int + :param direction: The direction of the rule. Possible values include: + 'Inbound', 'Outbound' + :type direction: str or + ~azure.mgmt.network.v2020_04_01.models.SecurityRuleDirection + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'protocol': {'key': 'protocol', 'type': 'str'}, + 'source_port_range': {'key': 'sourcePortRange', 'type': 'str'}, + 'destination_port_range': {'key': 'destinationPortRange', 'type': 'str'}, + 'source_port_ranges': {'key': 'sourcePortRanges', 'type': '[str]'}, + 'destination_port_ranges': {'key': 'destinationPortRanges', 'type': '[str]'}, + 'source_address_prefix': {'key': 'sourceAddressPrefix', 'type': 'str'}, + 'destination_address_prefix': {'key': 'destinationAddressPrefix', 'type': 'str'}, + 'source_address_prefixes': {'key': 'sourceAddressPrefixes', 'type': '[str]'}, + 'destination_address_prefixes': {'key': 'destinationAddressPrefixes', 'type': '[str]'}, + 'expanded_source_address_prefix': {'key': 'expandedSourceAddressPrefix', 'type': '[str]'}, + 'expanded_destination_address_prefix': {'key': 'expandedDestinationAddressPrefix', 'type': '[str]'}, + 'access': {'key': 'access', 'type': 'str'}, + 'priority': {'key': 'priority', 'type': 'int'}, + 'direction': {'key': 'direction', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(EffectiveNetworkSecurityRule, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.protocol = kwargs.get('protocol', None) + self.source_port_range = kwargs.get('source_port_range', None) + self.destination_port_range = kwargs.get('destination_port_range', None) + self.source_port_ranges = kwargs.get('source_port_ranges', None) + self.destination_port_ranges = kwargs.get('destination_port_ranges', None) + self.source_address_prefix = kwargs.get('source_address_prefix', None) + self.destination_address_prefix = kwargs.get('destination_address_prefix', None) + self.source_address_prefixes = kwargs.get('source_address_prefixes', None) + self.destination_address_prefixes = kwargs.get('destination_address_prefixes', None) + self.expanded_source_address_prefix = kwargs.get('expanded_source_address_prefix', None) + self.expanded_destination_address_prefix = kwargs.get('expanded_destination_address_prefix', None) + self.access = kwargs.get('access', None) + self.priority = kwargs.get('priority', None) + self.direction = kwargs.get('direction', None) + + +class EffectiveRoute(Model): + """Effective Route. + + :param name: The name of the user defined route. This is optional. + :type name: str + :param disable_bgp_route_propagation: If true, on-premises routes are not + propagated to the network interfaces in the subnet. + :type disable_bgp_route_propagation: bool + :param source: Who created the route. Possible values include: 'Unknown', + 'User', 'VirtualNetworkGateway', 'Default' + :type source: str or + ~azure.mgmt.network.v2020_04_01.models.EffectiveRouteSource + :param state: The value of effective route. Possible values include: + 'Active', 'Invalid' + :type state: str or + ~azure.mgmt.network.v2020_04_01.models.EffectiveRouteState + :param address_prefix: The address prefixes of the effective routes in + CIDR notation. + :type address_prefix: list[str] + :param next_hop_ip_address: The IP address of the next hop of the + effective route. + :type next_hop_ip_address: list[str] + :param next_hop_type: The type of Azure hop the packet should be sent to. + Possible values include: 'VirtualNetworkGateway', 'VnetLocal', 'Internet', + 'VirtualAppliance', 'None' + :type next_hop_type: str or + ~azure.mgmt.network.v2020_04_01.models.RouteNextHopType + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'disable_bgp_route_propagation': {'key': 'disableBgpRoutePropagation', 'type': 'bool'}, + 'source': {'key': 'source', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + 'address_prefix': {'key': 'addressPrefix', 'type': '[str]'}, + 'next_hop_ip_address': {'key': 'nextHopIpAddress', 'type': '[str]'}, + 'next_hop_type': {'key': 'nextHopType', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(EffectiveRoute, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.disable_bgp_route_propagation = kwargs.get('disable_bgp_route_propagation', None) + self.source = kwargs.get('source', None) + self.state = kwargs.get('state', None) + self.address_prefix = kwargs.get('address_prefix', None) + self.next_hop_ip_address = kwargs.get('next_hop_ip_address', None) + self.next_hop_type = kwargs.get('next_hop_type', None) + + +class EffectiveRouteListResult(Model): + """Response for list effective route API service call. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param value: A list of effective routes. + :type value: list[~azure.mgmt.network.v2020_04_01.models.EffectiveRoute] + :ivar next_link: The URL to get the next set of results. + :vartype next_link: str + """ + + _validation = { + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[EffectiveRoute]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(EffectiveRouteListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = None + + +class EndpointServiceResult(SubResource): + """Endpoint service. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Name of the endpoint service. + :vartype name: str + :ivar type: Type of the endpoint service. + :vartype type: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(EndpointServiceResult, self).__init__(**kwargs) + self.name = None + self.type = None + + +class Error(Model): + """Common error representation. + + :param code: Error code. + :type code: str + :param message: Error message. + :type message: str + :param target: Error target. + :type target: str + :param details: Error details. + :type details: list[~azure.mgmt.network.v2020_04_01.models.ErrorDetails] + :param inner_error: Inner error message. + :type inner_error: str + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[ErrorDetails]'}, + 'inner_error': {'key': 'innerError', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Error, self).__init__(**kwargs) + self.code = kwargs.get('code', None) + self.message = kwargs.get('message', None) + self.target = kwargs.get('target', None) + self.details = kwargs.get('details', None) + self.inner_error = kwargs.get('inner_error', None) + + +class ErrorException(HttpOperationError): + """Server responsed with exception of type: 'Error'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(ErrorException, self).__init__(deserialize, response, 'Error', *args) + + +class ErrorDetails(Model): + """Common error details representation. + + :param code: Error code. + :type code: str + :param target: Error target. + :type target: str + :param message: Error message. + :type message: str + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ErrorDetails, self).__init__(**kwargs) + self.code = kwargs.get('code', None) + self.target = kwargs.get('target', None) + self.message = kwargs.get('message', None) + + +class ErrorResponse(Model): + """The error object. + + :param error: Error. The error details object. + :type error: ~azure.mgmt.network.v2020_04_01.models.ErrorDetails + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'ErrorDetails'}, + } + + def __init__(self, **kwargs): + super(ErrorResponse, self).__init__(**kwargs) + self.error = kwargs.get('error', None) + + +class ErrorResponseException(HttpOperationError): + """Server responsed with exception of type: 'ErrorResponse'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(ErrorResponseException, self).__init__(deserialize, response, 'ErrorResponse', *args) + + +class EvaluatedNetworkSecurityGroup(Model): + """Results of network security group evaluation. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param network_security_group_id: Network security group ID. + :type network_security_group_id: str + :param applied_to: Resource ID of nic or subnet to which network security + group is applied. + :type applied_to: str + :param matched_rule: Matched network security rule. + :type matched_rule: ~azure.mgmt.network.v2020_04_01.models.MatchedRule + :ivar rules_evaluation_result: List of network security rules evaluation + results. + :vartype rules_evaluation_result: + list[~azure.mgmt.network.v2020_04_01.models.NetworkSecurityRulesEvaluationResult] + """ + + _validation = { + 'rules_evaluation_result': {'readonly': True}, + } + + _attribute_map = { + 'network_security_group_id': {'key': 'networkSecurityGroupId', 'type': 'str'}, + 'applied_to': {'key': 'appliedTo', 'type': 'str'}, + 'matched_rule': {'key': 'matchedRule', 'type': 'MatchedRule'}, + 'rules_evaluation_result': {'key': 'rulesEvaluationResult', 'type': '[NetworkSecurityRulesEvaluationResult]'}, + } + + def __init__(self, **kwargs): + super(EvaluatedNetworkSecurityGroup, self).__init__(**kwargs) + self.network_security_group_id = kwargs.get('network_security_group_id', None) + self.applied_to = kwargs.get('applied_to', None) + self.matched_rule = kwargs.get('matched_rule', None) + self.rules_evaluation_result = None + + +class ExpressRouteCircuit(Resource): + """ExpressRouteCircuit resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param sku: The SKU. + :type sku: ~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitSku + :param allow_classic_operations: Allow classic operations. + :type allow_classic_operations: bool + :param circuit_provisioning_state: The CircuitProvisioningState state of + the resource. + :type circuit_provisioning_state: str + :param service_provider_provisioning_state: The + ServiceProviderProvisioningState state of the resource. Possible values + include: 'NotProvisioned', 'Provisioning', 'Provisioned', 'Deprovisioning' + :type service_provider_provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ServiceProviderProvisioningState + :param authorizations: The list of authorizations. + :type authorizations: + list[~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitAuthorization] + :param peerings: The list of peerings. + :type peerings: + list[~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitPeering] + :param service_key: The ServiceKey. + :type service_key: str + :param service_provider_notes: The ServiceProviderNotes. + :type service_provider_notes: str + :param service_provider_properties: The ServiceProviderProperties. + :type service_provider_properties: + ~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitServiceProviderProperties + :param express_route_port: The reference to the ExpressRoutePort resource + when the circuit is provisioned on an ExpressRoutePort resource. + :type express_route_port: + ~azure.mgmt.network.v2020_04_01.models.SubResource + :param bandwidth_in_gbps: The bandwidth of the circuit when the circuit is + provisioned on an ExpressRoutePort resource. + :type bandwidth_in_gbps: float + :ivar stag: The identifier of the circuit traffic. Outer tag for QinQ + encapsulation. + :vartype stag: int + :ivar provisioning_state: The provisioning state of the express route + circuit resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param gateway_manager_etag: The GatewayManager Etag. + :type gateway_manager_etag: str + :param global_reach_enabled: Flag denoting global reach status. + :type global_reach_enabled: bool + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'stag': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'sku': {'key': 'sku', 'type': 'ExpressRouteCircuitSku'}, + 'allow_classic_operations': {'key': 'properties.allowClassicOperations', 'type': 'bool'}, + 'circuit_provisioning_state': {'key': 'properties.circuitProvisioningState', 'type': 'str'}, + 'service_provider_provisioning_state': {'key': 'properties.serviceProviderProvisioningState', 'type': 'str'}, + 'authorizations': {'key': 'properties.authorizations', 'type': '[ExpressRouteCircuitAuthorization]'}, + 'peerings': {'key': 'properties.peerings', 'type': '[ExpressRouteCircuitPeering]'}, + 'service_key': {'key': 'properties.serviceKey', 'type': 'str'}, + 'service_provider_notes': {'key': 'properties.serviceProviderNotes', 'type': 'str'}, + 'service_provider_properties': {'key': 'properties.serviceProviderProperties', 'type': 'ExpressRouteCircuitServiceProviderProperties'}, + 'express_route_port': {'key': 'properties.expressRoutePort', 'type': 'SubResource'}, + 'bandwidth_in_gbps': {'key': 'properties.bandwidthInGbps', 'type': 'float'}, + 'stag': {'key': 'properties.stag', 'type': 'int'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'gateway_manager_etag': {'key': 'properties.gatewayManagerEtag', 'type': 'str'}, + 'global_reach_enabled': {'key': 'properties.globalReachEnabled', 'type': 'bool'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteCircuit, self).__init__(**kwargs) + self.sku = kwargs.get('sku', None) + self.allow_classic_operations = kwargs.get('allow_classic_operations', None) + self.circuit_provisioning_state = kwargs.get('circuit_provisioning_state', None) + self.service_provider_provisioning_state = kwargs.get('service_provider_provisioning_state', None) + self.authorizations = kwargs.get('authorizations', None) + self.peerings = kwargs.get('peerings', None) + self.service_key = kwargs.get('service_key', None) + self.service_provider_notes = kwargs.get('service_provider_notes', None) + self.service_provider_properties = kwargs.get('service_provider_properties', None) + self.express_route_port = kwargs.get('express_route_port', None) + self.bandwidth_in_gbps = kwargs.get('bandwidth_in_gbps', None) + self.stag = None + self.provisioning_state = None + self.gateway_manager_etag = kwargs.get('gateway_manager_etag', None) + self.global_reach_enabled = kwargs.get('global_reach_enabled', None) + self.etag = None + + +class ExpressRouteCircuitArpTable(Model): + """The ARP table associated with the ExpressRouteCircuit. + + :param age: Entry age in minutes. + :type age: int + :param interface: Interface address. + :type interface: str + :param ip_address: The IP address. + :type ip_address: str + :param mac_address: The MAC address. + :type mac_address: str + """ + + _attribute_map = { + 'age': {'key': 'age', 'type': 'int'}, + 'interface': {'key': 'interface', 'type': 'str'}, + 'ip_address': {'key': 'ipAddress', 'type': 'str'}, + 'mac_address': {'key': 'macAddress', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteCircuitArpTable, self).__init__(**kwargs) + self.age = kwargs.get('age', None) + self.interface = kwargs.get('interface', None) + self.ip_address = kwargs.get('ip_address', None) + self.mac_address = kwargs.get('mac_address', None) + + +class ExpressRouteCircuitAuthorization(SubResource): + """Authorization in an ExpressRouteCircuit resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param authorization_key: The authorization key. + :type authorization_key: str + :param authorization_use_status: The authorization use status. Possible + values include: 'Available', 'InUse' + :type authorization_use_status: str or + ~azure.mgmt.network.v2020_04_01.models.AuthorizationUseStatus + :ivar provisioning_state: The provisioning state of the authorization + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'authorization_key': {'key': 'properties.authorizationKey', 'type': 'str'}, + 'authorization_use_status': {'key': 'properties.authorizationUseStatus', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteCircuitAuthorization, self).__init__(**kwargs) + self.authorization_key = kwargs.get('authorization_key', None) + self.authorization_use_status = kwargs.get('authorization_use_status', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = None + self.type = None + + +class ExpressRouteCircuitConnection(SubResource): + """Express Route Circuit Connection in an ExpressRouteCircuitPeering resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param express_route_circuit_peering: Reference to Express Route Circuit + Private Peering Resource of the circuit initiating connection. + :type express_route_circuit_peering: + ~azure.mgmt.network.v2020_04_01.models.SubResource + :param peer_express_route_circuit_peering: Reference to Express Route + Circuit Private Peering Resource of the peered circuit. + :type peer_express_route_circuit_peering: + ~azure.mgmt.network.v2020_04_01.models.SubResource + :param address_prefix: /29 IP address space to carve out Customer + addresses for tunnels. + :type address_prefix: str + :param authorization_key: The authorization key. + :type authorization_key: str + :param ipv6_circuit_connection_config: IPv6 Address PrefixProperties of + the express route circuit connection. + :type ipv6_circuit_connection_config: + ~azure.mgmt.network.v2020_04_01.models.Ipv6CircuitConnectionConfig + :param circuit_connection_status: Express Route Circuit connection state. + Possible values include: 'Connected', 'Connecting', 'Disconnected' + :type circuit_connection_status: str or + ~azure.mgmt.network.v2020_04_01.models.CircuitConnectionStatus + :ivar provisioning_state: The provisioning state of the express route + circuit connection resource. Possible values include: 'Succeeded', + 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'express_route_circuit_peering': {'key': 'properties.expressRouteCircuitPeering', 'type': 'SubResource'}, + 'peer_express_route_circuit_peering': {'key': 'properties.peerExpressRouteCircuitPeering', 'type': 'SubResource'}, + 'address_prefix': {'key': 'properties.addressPrefix', 'type': 'str'}, + 'authorization_key': {'key': 'properties.authorizationKey', 'type': 'str'}, + 'ipv6_circuit_connection_config': {'key': 'properties.ipv6CircuitConnectionConfig', 'type': 'Ipv6CircuitConnectionConfig'}, + 'circuit_connection_status': {'key': 'properties.circuitConnectionStatus', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteCircuitConnection, self).__init__(**kwargs) + self.express_route_circuit_peering = kwargs.get('express_route_circuit_peering', None) + self.peer_express_route_circuit_peering = kwargs.get('peer_express_route_circuit_peering', None) + self.address_prefix = kwargs.get('address_prefix', None) + self.authorization_key = kwargs.get('authorization_key', None) + self.ipv6_circuit_connection_config = kwargs.get('ipv6_circuit_connection_config', None) + self.circuit_connection_status = kwargs.get('circuit_connection_status', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = None + self.type = None + + +class ExpressRouteCircuitPeering(SubResource): + """Peering in an ExpressRouteCircuit resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param peering_type: The peering type. Possible values include: + 'AzurePublicPeering', 'AzurePrivatePeering', 'MicrosoftPeering' + :type peering_type: str or + ~azure.mgmt.network.v2020_04_01.models.ExpressRoutePeeringType + :param state: The peering state. Possible values include: 'Disabled', + 'Enabled' + :type state: str or + ~azure.mgmt.network.v2020_04_01.models.ExpressRoutePeeringState + :param azure_asn: The Azure ASN. + :type azure_asn: int + :param peer_asn: The peer ASN. + :type peer_asn: long + :param primary_peer_address_prefix: The primary address prefix. + :type primary_peer_address_prefix: str + :param secondary_peer_address_prefix: The secondary address prefix. + :type secondary_peer_address_prefix: str + :param primary_azure_port: The primary port. + :type primary_azure_port: str + :param secondary_azure_port: The secondary port. + :type secondary_azure_port: str + :param shared_key: The shared key. + :type shared_key: str + :param vlan_id: The VLAN ID. + :type vlan_id: int + :param microsoft_peering_config: The Microsoft peering configuration. + :type microsoft_peering_config: + ~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitPeeringConfig + :param stats: The peering stats of express route circuit. + :type stats: + ~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitStats + :ivar provisioning_state: The provisioning state of the express route + circuit peering resource. Possible values include: 'Succeeded', + 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param gateway_manager_etag: The GatewayManager Etag. + :type gateway_manager_etag: str + :ivar last_modified_by: Who was the last to modify the peering. + :vartype last_modified_by: str + :param route_filter: The reference to the RouteFilter resource. + :type route_filter: ~azure.mgmt.network.v2020_04_01.models.SubResource + :param ipv6_peering_config: The IPv6 peering configuration. + :type ipv6_peering_config: + ~azure.mgmt.network.v2020_04_01.models.Ipv6ExpressRouteCircuitPeeringConfig + :param express_route_connection: The ExpressRoute connection. + :type express_route_connection: + ~azure.mgmt.network.v2020_04_01.models.ExpressRouteConnectionId + :param connections: The list of circuit connections associated with Azure + Private Peering for this circuit. + :type connections: + list[~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitConnection] + :ivar peered_connections: The list of peered circuit connections + associated with Azure Private Peering for this circuit. + :vartype peered_connections: + list[~azure.mgmt.network.v2020_04_01.models.PeerExpressRouteCircuitConnection] + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'peer_asn': {'maximum': 4294967295, 'minimum': 1}, + 'provisioning_state': {'readonly': True}, + 'last_modified_by': {'readonly': True}, + 'peered_connections': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'peering_type': {'key': 'properties.peeringType', 'type': 'str'}, + 'state': {'key': 'properties.state', 'type': 'str'}, + 'azure_asn': {'key': 'properties.azureASN', 'type': 'int'}, + 'peer_asn': {'key': 'properties.peerASN', 'type': 'long'}, + 'primary_peer_address_prefix': {'key': 'properties.primaryPeerAddressPrefix', 'type': 'str'}, + 'secondary_peer_address_prefix': {'key': 'properties.secondaryPeerAddressPrefix', 'type': 'str'}, + 'primary_azure_port': {'key': 'properties.primaryAzurePort', 'type': 'str'}, + 'secondary_azure_port': {'key': 'properties.secondaryAzurePort', 'type': 'str'}, + 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, + 'vlan_id': {'key': 'properties.vlanId', 'type': 'int'}, + 'microsoft_peering_config': {'key': 'properties.microsoftPeeringConfig', 'type': 'ExpressRouteCircuitPeeringConfig'}, + 'stats': {'key': 'properties.stats', 'type': 'ExpressRouteCircuitStats'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'gateway_manager_etag': {'key': 'properties.gatewayManagerEtag', 'type': 'str'}, + 'last_modified_by': {'key': 'properties.lastModifiedBy', 'type': 'str'}, + 'route_filter': {'key': 'properties.routeFilter', 'type': 'SubResource'}, + 'ipv6_peering_config': {'key': 'properties.ipv6PeeringConfig', 'type': 'Ipv6ExpressRouteCircuitPeeringConfig'}, + 'express_route_connection': {'key': 'properties.expressRouteConnection', 'type': 'ExpressRouteConnectionId'}, + 'connections': {'key': 'properties.connections', 'type': '[ExpressRouteCircuitConnection]'}, + 'peered_connections': {'key': 'properties.peeredConnections', 'type': '[PeerExpressRouteCircuitConnection]'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteCircuitPeering, self).__init__(**kwargs) + self.peering_type = kwargs.get('peering_type', None) + self.state = kwargs.get('state', None) + self.azure_asn = kwargs.get('azure_asn', None) + self.peer_asn = kwargs.get('peer_asn', None) + self.primary_peer_address_prefix = kwargs.get('primary_peer_address_prefix', None) + self.secondary_peer_address_prefix = kwargs.get('secondary_peer_address_prefix', None) + self.primary_azure_port = kwargs.get('primary_azure_port', None) + self.secondary_azure_port = kwargs.get('secondary_azure_port', None) + self.shared_key = kwargs.get('shared_key', None) + self.vlan_id = kwargs.get('vlan_id', None) + self.microsoft_peering_config = kwargs.get('microsoft_peering_config', None) + self.stats = kwargs.get('stats', None) + self.provisioning_state = None + self.gateway_manager_etag = kwargs.get('gateway_manager_etag', None) + self.last_modified_by = None + self.route_filter = kwargs.get('route_filter', None) + self.ipv6_peering_config = kwargs.get('ipv6_peering_config', None) + self.express_route_connection = kwargs.get('express_route_connection', None) + self.connections = kwargs.get('connections', None) + self.peered_connections = None + self.name = kwargs.get('name', None) + self.etag = None + self.type = None + + +class ExpressRouteCircuitPeeringConfig(Model): + """Specifies the peering configuration. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param advertised_public_prefixes: The reference to + AdvertisedPublicPrefixes. + :type advertised_public_prefixes: list[str] + :param advertised_communities: The communities of bgp peering. Specified + for microsoft peering. + :type advertised_communities: list[str] + :ivar advertised_public_prefixes_state: The advertised public prefix state + of the Peering resource. Possible values include: 'NotConfigured', + 'Configuring', 'Configured', 'ValidationNeeded' + :vartype advertised_public_prefixes_state: str or + ~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitPeeringAdvertisedPublicPrefixState + :param legacy_mode: The legacy mode of the peering. + :type legacy_mode: int + :param customer_asn: The CustomerASN of the peering. + :type customer_asn: int + :param routing_registry_name: The RoutingRegistryName of the + configuration. + :type routing_registry_name: str + """ + + _validation = { + 'advertised_public_prefixes_state': {'readonly': True}, + } + + _attribute_map = { + 'advertised_public_prefixes': {'key': 'advertisedPublicPrefixes', 'type': '[str]'}, + 'advertised_communities': {'key': 'advertisedCommunities', 'type': '[str]'}, + 'advertised_public_prefixes_state': {'key': 'advertisedPublicPrefixesState', 'type': 'str'}, + 'legacy_mode': {'key': 'legacyMode', 'type': 'int'}, + 'customer_asn': {'key': 'customerASN', 'type': 'int'}, + 'routing_registry_name': {'key': 'routingRegistryName', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteCircuitPeeringConfig, self).__init__(**kwargs) + self.advertised_public_prefixes = kwargs.get('advertised_public_prefixes', None) + self.advertised_communities = kwargs.get('advertised_communities', None) + self.advertised_public_prefixes_state = None + self.legacy_mode = kwargs.get('legacy_mode', None) + self.customer_asn = kwargs.get('customer_asn', None) + self.routing_registry_name = kwargs.get('routing_registry_name', None) + + +class ExpressRouteCircuitPeeringId(Model): + """ExpressRoute circuit peering identifier. + + :param id: The ID of the ExpressRoute circuit peering. + :type id: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteCircuitPeeringId, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + + +class ExpressRouteCircuitReference(Model): + """Reference to an express route circuit. + + :param id: Corresponding Express Route Circuit Id. + :type id: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteCircuitReference, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + + +class ExpressRouteCircuitRoutesTable(Model): + """The routes table associated with the ExpressRouteCircuit. + + :param network: IP address of a network entity. + :type network: str + :param next_hop: NextHop address. + :type next_hop: str + :param loc_prf: Local preference value as set with the set + local-preference route-map configuration command. + :type loc_prf: str + :param weight: Route Weight. + :type weight: int + :param path: Autonomous system paths to the destination network. + :type path: str + """ + + _attribute_map = { + 'network': {'key': 'network', 'type': 'str'}, + 'next_hop': {'key': 'nextHop', 'type': 'str'}, + 'loc_prf': {'key': 'locPrf', 'type': 'str'}, + 'weight': {'key': 'weight', 'type': 'int'}, + 'path': {'key': 'path', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteCircuitRoutesTable, self).__init__(**kwargs) + self.network = kwargs.get('network', None) + self.next_hop = kwargs.get('next_hop', None) + self.loc_prf = kwargs.get('loc_prf', None) + self.weight = kwargs.get('weight', None) + self.path = kwargs.get('path', None) + + +class ExpressRouteCircuitRoutesTableSummary(Model): + """The routes table associated with the ExpressRouteCircuit. + + :param neighbor: IP address of the neighbor. + :type neighbor: str + :param v: BGP version number spoken to the neighbor. + :type v: int + :param as_property: Autonomous system number. + :type as_property: int + :param up_down: The length of time that the BGP session has been in the + Established state, or the current status if not in the Established state. + :type up_down: str + :param state_pfx_rcd: Current state of the BGP session, and the number of + prefixes that have been received from a neighbor or peer group. + :type state_pfx_rcd: str + """ + + _attribute_map = { + 'neighbor': {'key': 'neighbor', 'type': 'str'}, + 'v': {'key': 'v', 'type': 'int'}, + 'as_property': {'key': 'as', 'type': 'int'}, + 'up_down': {'key': 'upDown', 'type': 'str'}, + 'state_pfx_rcd': {'key': 'statePfxRcd', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteCircuitRoutesTableSummary, self).__init__(**kwargs) + self.neighbor = kwargs.get('neighbor', None) + self.v = kwargs.get('v', None) + self.as_property = kwargs.get('as_property', None) + self.up_down = kwargs.get('up_down', None) + self.state_pfx_rcd = kwargs.get('state_pfx_rcd', None) + + +class ExpressRouteCircuitsArpTableListResult(Model): + """Response for ListArpTable associated with the Express Route Circuits API. + + :param value: A list of the ARP tables. + :type value: + list[~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitArpTable] + :param next_link: The URL to get the next set of results. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ExpressRouteCircuitArpTable]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteCircuitsArpTableListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class ExpressRouteCircuitServiceProviderProperties(Model): + """Contains ServiceProviderProperties in an ExpressRouteCircuit. + + :param service_provider_name: The serviceProviderName. + :type service_provider_name: str + :param peering_location: The peering location. + :type peering_location: str + :param bandwidth_in_mbps: The BandwidthInMbps. + :type bandwidth_in_mbps: int + """ + + _attribute_map = { + 'service_provider_name': {'key': 'serviceProviderName', 'type': 'str'}, + 'peering_location': {'key': 'peeringLocation', 'type': 'str'}, + 'bandwidth_in_mbps': {'key': 'bandwidthInMbps', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteCircuitServiceProviderProperties, self).__init__(**kwargs) + self.service_provider_name = kwargs.get('service_provider_name', None) + self.peering_location = kwargs.get('peering_location', None) + self.bandwidth_in_mbps = kwargs.get('bandwidth_in_mbps', None) + + +class ExpressRouteCircuitSku(Model): + """Contains SKU in an ExpressRouteCircuit. + + :param name: The name of the SKU. + :type name: str + :param tier: The tier of the SKU. Possible values include: 'Standard', + 'Premium', 'Basic', 'Local' + :type tier: str or + ~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitSkuTier + :param family: The family of the SKU. Possible values include: + 'UnlimitedData', 'MeteredData' + :type family: str or + ~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitSkuFamily + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + 'family': {'key': 'family', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteCircuitSku, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.tier = kwargs.get('tier', None) + self.family = kwargs.get('family', None) + + +class ExpressRouteCircuitsRoutesTableListResult(Model): + """Response for ListRoutesTable associated with the Express Route Circuits + API. + + :param value: The list of routes table. + :type value: + list[~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitRoutesTable] + :param next_link: The URL to get the next set of results. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ExpressRouteCircuitRoutesTable]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteCircuitsRoutesTableListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class ExpressRouteCircuitsRoutesTableSummaryListResult(Model): + """Response for ListRoutesTable associated with the Express Route Circuits + API. + + :param value: A list of the routes table. + :type value: + list[~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitRoutesTableSummary] + :param next_link: The URL to get the next set of results. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ExpressRouteCircuitRoutesTableSummary]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteCircuitsRoutesTableSummaryListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class ExpressRouteCircuitStats(Model): + """Contains stats associated with the peering. + + :param primarybytes_in: The Primary BytesIn of the peering. + :type primarybytes_in: long + :param primarybytes_out: The primary BytesOut of the peering. + :type primarybytes_out: long + :param secondarybytes_in: The secondary BytesIn of the peering. + :type secondarybytes_in: long + :param secondarybytes_out: The secondary BytesOut of the peering. + :type secondarybytes_out: long + """ + + _attribute_map = { + 'primarybytes_in': {'key': 'primarybytesIn', 'type': 'long'}, + 'primarybytes_out': {'key': 'primarybytesOut', 'type': 'long'}, + 'secondarybytes_in': {'key': 'secondarybytesIn', 'type': 'long'}, + 'secondarybytes_out': {'key': 'secondarybytesOut', 'type': 'long'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteCircuitStats, self).__init__(**kwargs) + self.primarybytes_in = kwargs.get('primarybytes_in', None) + self.primarybytes_out = kwargs.get('primarybytes_out', None) + self.secondarybytes_in = kwargs.get('secondarybytes_in', None) + self.secondarybytes_out = kwargs.get('secondarybytes_out', None) + + +class ExpressRouteConnection(SubResource): + """ExpressRouteConnection resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :ivar provisioning_state: The provisioning state of the express route + connection resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param express_route_circuit_peering: Required. The ExpressRoute circuit + peering. + :type express_route_circuit_peering: + ~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitPeeringId + :param authorization_key: Authorization key to establish the connection. + :type authorization_key: str + :param routing_weight: The routing weight associated to the connection. + :type routing_weight: int + :param enable_internet_security: Enable internet security. + :type enable_internet_security: bool + :param routing_configuration: The Routing Configuration indicating the + associated and propagated route tables on this connection. + :type routing_configuration: + ~azure.mgmt.network.v2020_04_01.models.RoutingConfiguration + :param name: Required. The name of the resource. + :type name: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'express_route_circuit_peering': {'required': True}, + 'name': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'express_route_circuit_peering': {'key': 'properties.expressRouteCircuitPeering', 'type': 'ExpressRouteCircuitPeeringId'}, + 'authorization_key': {'key': 'properties.authorizationKey', 'type': 'str'}, + 'routing_weight': {'key': 'properties.routingWeight', 'type': 'int'}, + 'enable_internet_security': {'key': 'properties.enableInternetSecurity', 'type': 'bool'}, + 'routing_configuration': {'key': 'properties.routingConfiguration', 'type': 'RoutingConfiguration'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteConnection, self).__init__(**kwargs) + self.provisioning_state = None + self.express_route_circuit_peering = kwargs.get('express_route_circuit_peering', None) + self.authorization_key = kwargs.get('authorization_key', None) + self.routing_weight = kwargs.get('routing_weight', None) + self.enable_internet_security = kwargs.get('enable_internet_security', None) + self.routing_configuration = kwargs.get('routing_configuration', None) + self.name = kwargs.get('name', None) + + +class ExpressRouteConnectionId(Model): + """The ID of the ExpressRouteConnection. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: The ID of the ExpressRouteConnection. + :vartype id: str + """ + + _validation = { + 'id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteConnectionId, self).__init__(**kwargs) + self.id = None + + +class ExpressRouteConnectionList(Model): + """ExpressRouteConnection list. + + :param value: The list of ExpressRoute connections. + :type value: + list[~azure.mgmt.network.v2020_04_01.models.ExpressRouteConnection] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ExpressRouteConnection]'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteConnectionList, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + + +class ExpressRouteCrossConnection(Resource): + """ExpressRouteCrossConnection resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar primary_azure_port: The name of the primary port. + :vartype primary_azure_port: str + :ivar secondary_azure_port: The name of the secondary port. + :vartype secondary_azure_port: str + :ivar s_tag: The identifier of the circuit traffic. + :vartype s_tag: int + :param peering_location: The peering location of the ExpressRoute circuit. + :type peering_location: str + :param bandwidth_in_mbps: The circuit bandwidth In Mbps. + :type bandwidth_in_mbps: int + :param express_route_circuit: The ExpressRouteCircuit. + :type express_route_circuit: + ~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitReference + :param service_provider_provisioning_state: The provisioning state of the + circuit in the connectivity provider system. Possible values include: + 'NotProvisioned', 'Provisioning', 'Provisioned', 'Deprovisioning' + :type service_provider_provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ServiceProviderProvisioningState + :param service_provider_notes: Additional read only notes set by the + connectivity provider. + :type service_provider_notes: str + :ivar provisioning_state: The provisioning state of the express route + cross connection resource. Possible values include: 'Succeeded', + 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param peerings: The list of peerings. + :type peerings: + list[~azure.mgmt.network.v2020_04_01.models.ExpressRouteCrossConnectionPeering] + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'primary_azure_port': {'readonly': True}, + 'secondary_azure_port': {'readonly': True}, + 's_tag': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'primary_azure_port': {'key': 'properties.primaryAzurePort', 'type': 'str'}, + 'secondary_azure_port': {'key': 'properties.secondaryAzurePort', 'type': 'str'}, + 's_tag': {'key': 'properties.sTag', 'type': 'int'}, + 'peering_location': {'key': 'properties.peeringLocation', 'type': 'str'}, + 'bandwidth_in_mbps': {'key': 'properties.bandwidthInMbps', 'type': 'int'}, + 'express_route_circuit': {'key': 'properties.expressRouteCircuit', 'type': 'ExpressRouteCircuitReference'}, + 'service_provider_provisioning_state': {'key': 'properties.serviceProviderProvisioningState', 'type': 'str'}, + 'service_provider_notes': {'key': 'properties.serviceProviderNotes', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'peerings': {'key': 'properties.peerings', 'type': '[ExpressRouteCrossConnectionPeering]'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteCrossConnection, self).__init__(**kwargs) + self.primary_azure_port = None + self.secondary_azure_port = None + self.s_tag = None + self.peering_location = kwargs.get('peering_location', None) + self.bandwidth_in_mbps = kwargs.get('bandwidth_in_mbps', None) + self.express_route_circuit = kwargs.get('express_route_circuit', None) + self.service_provider_provisioning_state = kwargs.get('service_provider_provisioning_state', None) + self.service_provider_notes = kwargs.get('service_provider_notes', None) + self.provisioning_state = None + self.peerings = kwargs.get('peerings', None) + self.etag = None + + +class ExpressRouteCrossConnectionPeering(SubResource): + """Peering in an ExpressRoute Cross Connection resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param peering_type: The peering type. Possible values include: + 'AzurePublicPeering', 'AzurePrivatePeering', 'MicrosoftPeering' + :type peering_type: str or + ~azure.mgmt.network.v2020_04_01.models.ExpressRoutePeeringType + :param state: The peering state. Possible values include: 'Disabled', + 'Enabled' + :type state: str or + ~azure.mgmt.network.v2020_04_01.models.ExpressRoutePeeringState + :ivar azure_asn: The Azure ASN. + :vartype azure_asn: int + :param peer_asn: The peer ASN. + :type peer_asn: long + :param primary_peer_address_prefix: The primary address prefix. + :type primary_peer_address_prefix: str + :param secondary_peer_address_prefix: The secondary address prefix. + :type secondary_peer_address_prefix: str + :ivar primary_azure_port: The primary port. + :vartype primary_azure_port: str + :ivar secondary_azure_port: The secondary port. + :vartype secondary_azure_port: str + :param shared_key: The shared key. + :type shared_key: str + :param vlan_id: The VLAN ID. + :type vlan_id: int + :param microsoft_peering_config: The Microsoft peering configuration. + :type microsoft_peering_config: + ~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitPeeringConfig + :ivar provisioning_state: The provisioning state of the express route + cross connection peering resource. Possible values include: 'Succeeded', + 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param gateway_manager_etag: The GatewayManager Etag. + :type gateway_manager_etag: str + :ivar last_modified_by: Who was the last to modify the peering. + :vartype last_modified_by: str + :param ipv6_peering_config: The IPv6 peering configuration. + :type ipv6_peering_config: + ~azure.mgmt.network.v2020_04_01.models.Ipv6ExpressRouteCircuitPeeringConfig + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'azure_asn': {'readonly': True}, + 'peer_asn': {'maximum': 4294967295, 'minimum': 1}, + 'primary_azure_port': {'readonly': True}, + 'secondary_azure_port': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'last_modified_by': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'peering_type': {'key': 'properties.peeringType', 'type': 'str'}, + 'state': {'key': 'properties.state', 'type': 'str'}, + 'azure_asn': {'key': 'properties.azureASN', 'type': 'int'}, + 'peer_asn': {'key': 'properties.peerASN', 'type': 'long'}, + 'primary_peer_address_prefix': {'key': 'properties.primaryPeerAddressPrefix', 'type': 'str'}, + 'secondary_peer_address_prefix': {'key': 'properties.secondaryPeerAddressPrefix', 'type': 'str'}, + 'primary_azure_port': {'key': 'properties.primaryAzurePort', 'type': 'str'}, + 'secondary_azure_port': {'key': 'properties.secondaryAzurePort', 'type': 'str'}, + 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, + 'vlan_id': {'key': 'properties.vlanId', 'type': 'int'}, + 'microsoft_peering_config': {'key': 'properties.microsoftPeeringConfig', 'type': 'ExpressRouteCircuitPeeringConfig'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'gateway_manager_etag': {'key': 'properties.gatewayManagerEtag', 'type': 'str'}, + 'last_modified_by': {'key': 'properties.lastModifiedBy', 'type': 'str'}, + 'ipv6_peering_config': {'key': 'properties.ipv6PeeringConfig', 'type': 'Ipv6ExpressRouteCircuitPeeringConfig'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteCrossConnectionPeering, self).__init__(**kwargs) + self.peering_type = kwargs.get('peering_type', None) + self.state = kwargs.get('state', None) + self.azure_asn = None + self.peer_asn = kwargs.get('peer_asn', None) + self.primary_peer_address_prefix = kwargs.get('primary_peer_address_prefix', None) + self.secondary_peer_address_prefix = kwargs.get('secondary_peer_address_prefix', None) + self.primary_azure_port = None + self.secondary_azure_port = None + self.shared_key = kwargs.get('shared_key', None) + self.vlan_id = kwargs.get('vlan_id', None) + self.microsoft_peering_config = kwargs.get('microsoft_peering_config', None) + self.provisioning_state = None + self.gateway_manager_etag = kwargs.get('gateway_manager_etag', None) + self.last_modified_by = None + self.ipv6_peering_config = kwargs.get('ipv6_peering_config', None) + self.name = kwargs.get('name', None) + self.etag = None + + +class ExpressRouteCrossConnectionRoutesTableSummary(Model): + """The routes table associated with the ExpressRouteCircuit. + + :param neighbor: IP address of Neighbor router. + :type neighbor: str + :param asn: Autonomous system number. + :type asn: int + :param up_down: The length of time that the BGP session has been in the + Established state, or the current status if not in the Established state. + :type up_down: str + :param state_or_prefixes_received: Current state of the BGP session, and + the number of prefixes that have been received from a neighbor or peer + group. + :type state_or_prefixes_received: str + """ + + _attribute_map = { + 'neighbor': {'key': 'neighbor', 'type': 'str'}, + 'asn': {'key': 'asn', 'type': 'int'}, + 'up_down': {'key': 'upDown', 'type': 'str'}, + 'state_or_prefixes_received': {'key': 'stateOrPrefixesReceived', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteCrossConnectionRoutesTableSummary, self).__init__(**kwargs) + self.neighbor = kwargs.get('neighbor', None) + self.asn = kwargs.get('asn', None) + self.up_down = kwargs.get('up_down', None) + self.state_or_prefixes_received = kwargs.get('state_or_prefixes_received', None) + + +class ExpressRouteCrossConnectionsRoutesTableSummaryListResult(Model): + """Response for ListRoutesTable associated with the Express Route Cross + Connections. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param value: A list of the routes table. + :type value: + list[~azure.mgmt.network.v2020_04_01.models.ExpressRouteCrossConnectionRoutesTableSummary] + :ivar next_link: The URL to get the next set of results. + :vartype next_link: str + """ + + _validation = { + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ExpressRouteCrossConnectionRoutesTableSummary]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteCrossConnectionsRoutesTableSummaryListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = None + + +class ExpressRouteGateway(Resource): + """ExpressRoute gateway resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param auto_scale_configuration: Configuration for auto scaling. + :type auto_scale_configuration: + ~azure.mgmt.network.v2020_04_01.models.ExpressRouteGatewayPropertiesAutoScaleConfiguration + :ivar express_route_connections: List of ExpressRoute connections to the + ExpressRoute gateway. + :vartype express_route_connections: + list[~azure.mgmt.network.v2020_04_01.models.ExpressRouteConnection] + :ivar provisioning_state: The provisioning state of the express route + gateway resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param virtual_hub: Required. The Virtual Hub where the ExpressRoute + gateway is or will be deployed. + :type virtual_hub: ~azure.mgmt.network.v2020_04_01.models.VirtualHubId + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'express_route_connections': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'virtual_hub': {'required': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'auto_scale_configuration': {'key': 'properties.autoScaleConfiguration', 'type': 'ExpressRouteGatewayPropertiesAutoScaleConfiguration'}, + 'express_route_connections': {'key': 'properties.expressRouteConnections', 'type': '[ExpressRouteConnection]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'virtual_hub': {'key': 'properties.virtualHub', 'type': 'VirtualHubId'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteGateway, self).__init__(**kwargs) + self.auto_scale_configuration = kwargs.get('auto_scale_configuration', None) + self.express_route_connections = None + self.provisioning_state = None + self.virtual_hub = kwargs.get('virtual_hub', None) + self.etag = None + + +class ExpressRouteGatewayList(Model): + """List of ExpressRoute gateways. + + :param value: List of ExpressRoute gateways. + :type value: + list[~azure.mgmt.network.v2020_04_01.models.ExpressRouteGateway] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ExpressRouteGateway]'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteGatewayList, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + + +class ExpressRouteGatewayPropertiesAutoScaleConfiguration(Model): + """Configuration for auto scaling. + + :param bounds: Minimum and maximum number of scale units to deploy. + :type bounds: + ~azure.mgmt.network.v2020_04_01.models.ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds + """ + + _attribute_map = { + 'bounds': {'key': 'bounds', 'type': 'ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteGatewayPropertiesAutoScaleConfiguration, self).__init__(**kwargs) + self.bounds = kwargs.get('bounds', None) + + +class ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds(Model): + """Minimum and maximum number of scale units to deploy. + + :param min: Minimum number of scale units deployed for ExpressRoute + gateway. + :type min: int + :param max: Maximum number of scale units deployed for ExpressRoute + gateway. + :type max: int + """ + + _attribute_map = { + 'min': {'key': 'min', 'type': 'int'}, + 'max': {'key': 'max', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds, self).__init__(**kwargs) + self.min = kwargs.get('min', None) + self.max = kwargs.get('max', None) + + +class ExpressRouteLink(SubResource): + """ExpressRouteLink. + + ExpressRouteLink child resource definition. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar router_name: Name of Azure router associated with physical port. + :vartype router_name: str + :ivar interface_name: Name of Azure router interface. + :vartype interface_name: str + :ivar patch_panel_id: Mapping between physical port to patch panel port. + :vartype patch_panel_id: str + :ivar rack_id: Mapping of physical patch panel to rack. + :vartype rack_id: str + :ivar connector_type: Physical fiber port type. Possible values include: + 'LC', 'SC' + :vartype connector_type: str or + ~azure.mgmt.network.v2020_04_01.models.ExpressRouteLinkConnectorType + :param admin_state: Administrative state of the physical port. Possible + values include: 'Enabled', 'Disabled' + :type admin_state: str or + ~azure.mgmt.network.v2020_04_01.models.ExpressRouteLinkAdminState + :ivar provisioning_state: The provisioning state of the express route link + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param mac_sec_config: MacSec configuration. + :type mac_sec_config: + ~azure.mgmt.network.v2020_04_01.models.ExpressRouteLinkMacSecConfig + :param name: Name of child port resource that is unique among child port + resources of the parent. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'router_name': {'readonly': True}, + 'interface_name': {'readonly': True}, + 'patch_panel_id': {'readonly': True}, + 'rack_id': {'readonly': True}, + 'connector_type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'router_name': {'key': 'properties.routerName', 'type': 'str'}, + 'interface_name': {'key': 'properties.interfaceName', 'type': 'str'}, + 'patch_panel_id': {'key': 'properties.patchPanelId', 'type': 'str'}, + 'rack_id': {'key': 'properties.rackId', 'type': 'str'}, + 'connector_type': {'key': 'properties.connectorType', 'type': 'str'}, + 'admin_state': {'key': 'properties.adminState', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'mac_sec_config': {'key': 'properties.macSecConfig', 'type': 'ExpressRouteLinkMacSecConfig'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteLink, self).__init__(**kwargs) + self.router_name = None + self.interface_name = None + self.patch_panel_id = None + self.rack_id = None + self.connector_type = None + self.admin_state = kwargs.get('admin_state', None) + self.provisioning_state = None + self.mac_sec_config = kwargs.get('mac_sec_config', None) + self.name = kwargs.get('name', None) + self.etag = None + + +class ExpressRouteLinkMacSecConfig(Model): + """Definition of ExpressRouteLink Mac Security configuration. + + ExpressRouteLink Mac Security Configuration. + + :param ckn_secret_identifier: Keyvault Secret Identifier URL containing + Mac security CKN key. + :type ckn_secret_identifier: str + :param cak_secret_identifier: Keyvault Secret Identifier URL containing + Mac security CAK key. + :type cak_secret_identifier: str + :param cipher: Mac security cipher. Possible values include: + 'gcm-aes-128', 'gcm-aes-256' + :type cipher: str or + ~azure.mgmt.network.v2020_04_01.models.ExpressRouteLinkMacSecCipher + """ + + _attribute_map = { + 'ckn_secret_identifier': {'key': 'cknSecretIdentifier', 'type': 'str'}, + 'cak_secret_identifier': {'key': 'cakSecretIdentifier', 'type': 'str'}, + 'cipher': {'key': 'cipher', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteLinkMacSecConfig, self).__init__(**kwargs) + self.ckn_secret_identifier = kwargs.get('ckn_secret_identifier', None) + self.cak_secret_identifier = kwargs.get('cak_secret_identifier', None) + self.cipher = kwargs.get('cipher', None) + + +class ExpressRoutePort(Resource): + """ExpressRoute Port. + + ExpressRoutePort resource definition. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param peering_location: The name of the peering location that the + ExpressRoutePort is mapped to physically. + :type peering_location: str + :param bandwidth_in_gbps: Bandwidth of procured ports in Gbps. + :type bandwidth_in_gbps: int + :ivar provisioned_bandwidth_in_gbps: Aggregate Gbps of associated circuit + bandwidths. + :vartype provisioned_bandwidth_in_gbps: float + :ivar mtu: Maximum transmission unit of the physical port pair(s). + :vartype mtu: str + :param encapsulation: Encapsulation method on physical ports. Possible + values include: 'Dot1Q', 'QinQ' + :type encapsulation: str or + ~azure.mgmt.network.v2020_04_01.models.ExpressRoutePortsEncapsulation + :ivar ether_type: Ether type of the physical port. + :vartype ether_type: str + :ivar allocation_date: Date of the physical port allocation to be used in + Letter of Authorization. + :vartype allocation_date: str + :param links: ExpressRouteLink Sub-Resources. The set of physical links of + the ExpressRoutePort resource. + :type links: list[~azure.mgmt.network.v2020_04_01.models.ExpressRouteLink] + :ivar circuits: Reference the ExpressRoute circuit(s) that are provisioned + on this ExpressRoutePort resource. + :vartype circuits: + list[~azure.mgmt.network.v2020_04_01.models.SubResource] + :ivar provisioning_state: The provisioning state of the express route port + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :ivar resource_guid: The resource GUID property of the express route port + resource. + :vartype resource_guid: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :param identity: The identity of ExpressRoutePort, if configured. + :type identity: + ~azure.mgmt.network.v2020_04_01.models.ManagedServiceIdentity + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioned_bandwidth_in_gbps': {'readonly': True}, + 'mtu': {'readonly': True}, + 'ether_type': {'readonly': True}, + 'allocation_date': {'readonly': True}, + 'circuits': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'resource_guid': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'peering_location': {'key': 'properties.peeringLocation', 'type': 'str'}, + 'bandwidth_in_gbps': {'key': 'properties.bandwidthInGbps', 'type': 'int'}, + 'provisioned_bandwidth_in_gbps': {'key': 'properties.provisionedBandwidthInGbps', 'type': 'float'}, + 'mtu': {'key': 'properties.mtu', 'type': 'str'}, + 'encapsulation': {'key': 'properties.encapsulation', 'type': 'str'}, + 'ether_type': {'key': 'properties.etherType', 'type': 'str'}, + 'allocation_date': {'key': 'properties.allocationDate', 'type': 'str'}, + 'links': {'key': 'properties.links', 'type': '[ExpressRouteLink]'}, + 'circuits': {'key': 'properties.circuits', 'type': '[SubResource]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, + } + + def __init__(self, **kwargs): + super(ExpressRoutePort, self).__init__(**kwargs) + self.peering_location = kwargs.get('peering_location', None) + self.bandwidth_in_gbps = kwargs.get('bandwidth_in_gbps', None) + self.provisioned_bandwidth_in_gbps = None + self.mtu = None + self.encapsulation = kwargs.get('encapsulation', None) + self.ether_type = None + self.allocation_date = None + self.links = kwargs.get('links', None) + self.circuits = None + self.provisioning_state = None + self.resource_guid = None + self.etag = None + self.identity = kwargs.get('identity', None) + + +class ExpressRoutePortsLocation(Resource): + """ExpressRoutePorts Peering Location. + + Definition of the ExpressRoutePorts peering location resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar address: Address of peering location. + :vartype address: str + :ivar contact: Contact details of peering locations. + :vartype contact: str + :param available_bandwidths: The inventory of available ExpressRoutePort + bandwidths. + :type available_bandwidths: + list[~azure.mgmt.network.v2020_04_01.models.ExpressRoutePortsLocationBandwidths] + :ivar provisioning_state: The provisioning state of the express route port + location resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'address': {'readonly': True}, + 'contact': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'address': {'key': 'properties.address', 'type': 'str'}, + 'contact': {'key': 'properties.contact', 'type': 'str'}, + 'available_bandwidths': {'key': 'properties.availableBandwidths', 'type': '[ExpressRoutePortsLocationBandwidths]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExpressRoutePortsLocation, self).__init__(**kwargs) + self.address = None + self.contact = None + self.available_bandwidths = kwargs.get('available_bandwidths', None) + self.provisioning_state = None + + +class ExpressRoutePortsLocationBandwidths(Model): + """ExpressRoutePorts Location Bandwidths. + + Real-time inventory of available ExpressRoute port bandwidths. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar offer_name: Bandwidth descriptive name. + :vartype offer_name: str + :ivar value_in_gbps: Bandwidth value in Gbps. + :vartype value_in_gbps: int + """ + + _validation = { + 'offer_name': {'readonly': True}, + 'value_in_gbps': {'readonly': True}, + } + + _attribute_map = { + 'offer_name': {'key': 'offerName', 'type': 'str'}, + 'value_in_gbps': {'key': 'valueInGbps', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(ExpressRoutePortsLocationBandwidths, self).__init__(**kwargs) + self.offer_name = None + self.value_in_gbps = None + + +class ExpressRouteServiceProvider(Resource): + """A ExpressRouteResourceProvider object. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param peering_locations: A list of peering locations. + :type peering_locations: list[str] + :param bandwidths_offered: A list of bandwidths offered. + :type bandwidths_offered: + list[~azure.mgmt.network.v2020_04_01.models.ExpressRouteServiceProviderBandwidthsOffered] + :ivar provisioning_state: The provisioning state of the express route + service provider resource. Possible values include: 'Succeeded', + 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'peering_locations': {'key': 'properties.peeringLocations', 'type': '[str]'}, + 'bandwidths_offered': {'key': 'properties.bandwidthsOffered', 'type': '[ExpressRouteServiceProviderBandwidthsOffered]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteServiceProvider, self).__init__(**kwargs) + self.peering_locations = kwargs.get('peering_locations', None) + self.bandwidths_offered = kwargs.get('bandwidths_offered', None) + self.provisioning_state = None + + +class ExpressRouteServiceProviderBandwidthsOffered(Model): + """Contains bandwidths offered in ExpressRouteServiceProvider resources. + + :param offer_name: The OfferName. + :type offer_name: str + :param value_in_mbps: The ValueInMbps. + :type value_in_mbps: int + """ + + _attribute_map = { + 'offer_name': {'key': 'offerName', 'type': 'str'}, + 'value_in_mbps': {'key': 'valueInMbps', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteServiceProviderBandwidthsOffered, self).__init__(**kwargs) + self.offer_name = kwargs.get('offer_name', None) + self.value_in_mbps = kwargs.get('value_in_mbps', None) + + +class FirewallPolicy(Resource): + """FirewallPolicy Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar rule_groups: List of references to FirewallPolicyRuleGroups. + :vartype rule_groups: + list[~azure.mgmt.network.v2020_04_01.models.SubResource] + :ivar provisioning_state: The provisioning state of the firewall policy + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param base_policy: The parent firewall policy from which rules are + inherited. + :type base_policy: ~azure.mgmt.network.v2020_04_01.models.SubResource + :ivar firewalls: List of references to Azure Firewalls that this Firewall + Policy is associated with. + :vartype firewalls: + list[~azure.mgmt.network.v2020_04_01.models.SubResource] + :ivar child_policies: List of references to Child Firewall Policies. + :vartype child_policies: + list[~azure.mgmt.network.v2020_04_01.models.SubResource] + :param threat_intel_mode: The operation mode for Threat Intelligence. + Possible values include: 'Alert', 'Deny', 'Off' + :type threat_intel_mode: str or + ~azure.mgmt.network.v2020_04_01.models.AzureFirewallThreatIntelMode + :param threat_intel_whitelist: ThreatIntel Whitelist for Firewall Policy. + :type threat_intel_whitelist: + ~azure.mgmt.network.v2020_04_01.models.FirewallPolicyThreatIntelWhitelist + :param intrusion_system_mode: The operation mode for Intrusion system. + Possible values include: 'Enabled', 'Disabled' + :type intrusion_system_mode: str or + ~azure.mgmt.network.v2020_04_01.models.FirewallPolicyIntrusionSystemMode + :param transport_security: TLS Configuration definition. + :type transport_security: + ~azure.mgmt.network.v2020_04_01.models.FirewallPolicyTransportSecurity + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :param identity: The identity of the firewall policy. + :type identity: + ~azure.mgmt.network.v2020_04_01.models.ManagedServiceIdentity + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'rule_groups': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'firewalls': {'readonly': True}, + 'child_policies': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'rule_groups': {'key': 'properties.ruleGroups', 'type': '[SubResource]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'base_policy': {'key': 'properties.basePolicy', 'type': 'SubResource'}, + 'firewalls': {'key': 'properties.firewalls', 'type': '[SubResource]'}, + 'child_policies': {'key': 'properties.childPolicies', 'type': '[SubResource]'}, + 'threat_intel_mode': {'key': 'properties.threatIntelMode', 'type': 'str'}, + 'threat_intel_whitelist': {'key': 'properties.threatIntelWhitelist', 'type': 'FirewallPolicyThreatIntelWhitelist'}, + 'intrusion_system_mode': {'key': 'properties.intrusionSystemMode', 'type': 'str'}, + 'transport_security': {'key': 'properties.transportSecurity', 'type': 'FirewallPolicyTransportSecurity'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, + } + + def __init__(self, **kwargs): + super(FirewallPolicy, self).__init__(**kwargs) + self.rule_groups = None + self.provisioning_state = None + self.base_policy = kwargs.get('base_policy', None) + self.firewalls = None + self.child_policies = None + self.threat_intel_mode = kwargs.get('threat_intel_mode', None) + self.threat_intel_whitelist = kwargs.get('threat_intel_whitelist', None) + self.intrusion_system_mode = kwargs.get('intrusion_system_mode', None) + self.transport_security = kwargs.get('transport_security', None) + self.etag = None + self.identity = kwargs.get('identity', None) + + +class FirewallPolicyCertificateAuthority(Model): + """Trusted Root certificates properties for tls. + + :param key_vault_secret_id: Secret Id of (base-64 encoded unencrypted pfx) + 'Secret' or 'Certificate' object stored in KeyVault. + :type key_vault_secret_id: str + :param name: Name of the CA certificate. + :type name: str + """ + + _attribute_map = { + 'key_vault_secret_id': {'key': 'properties.keyVaultSecretId', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(FirewallPolicyCertificateAuthority, self).__init__(**kwargs) + self.key_vault_secret_id = kwargs.get('key_vault_secret_id', None) + self.name = kwargs.get('name', None) + + +class FirewallPolicyRule(Model): + """Properties of the rule. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: FirewallPolicyNatRule, FirewallPolicyFilterRule + + All required parameters must be populated in order to send to Azure. + + :param name: The name of the rule. + :type name: str + :param priority: Priority of the Firewall Policy Rule resource. + :type priority: int + :param rule_type: Required. Constant filled by server. + :type rule_type: str + """ + + _validation = { + 'priority': {'maximum': 65000, 'minimum': 100}, + 'rule_type': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'priority': {'key': 'priority', 'type': 'int'}, + 'rule_type': {'key': 'ruleType', 'type': 'str'}, + } + + _subtype_map = { + 'rule_type': {'FirewallPolicyNatRule': 'FirewallPolicyNatRule', 'FirewallPolicyFilterRule': 'FirewallPolicyFilterRule'} + } + + def __init__(self, **kwargs): + super(FirewallPolicyRule, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.priority = kwargs.get('priority', None) + self.rule_type = None + + +class FirewallPolicyFilterRule(FirewallPolicyRule): + """Firewall Policy Filter Rule. + + All required parameters must be populated in order to send to Azure. + + :param name: The name of the rule. + :type name: str + :param priority: Priority of the Firewall Policy Rule resource. + :type priority: int + :param rule_type: Required. Constant filled by server. + :type rule_type: str + :param action: The action type of a Filter rule. + :type action: + ~azure.mgmt.network.v2020_04_01.models.FirewallPolicyFilterRuleAction + :param rule_conditions: Collection of rule conditions used by a rule. + :type rule_conditions: + list[~azure.mgmt.network.v2020_04_01.models.FirewallPolicyRuleCondition] + """ + + _validation = { + 'priority': {'maximum': 65000, 'minimum': 100}, + 'rule_type': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'priority': {'key': 'priority', 'type': 'int'}, + 'rule_type': {'key': 'ruleType', 'type': 'str'}, + 'action': {'key': 'action', 'type': 'FirewallPolicyFilterRuleAction'}, + 'rule_conditions': {'key': 'ruleConditions', 'type': '[FirewallPolicyRuleCondition]'}, + } + + def __init__(self, **kwargs): + super(FirewallPolicyFilterRule, self).__init__(**kwargs) + self.action = kwargs.get('action', None) + self.rule_conditions = kwargs.get('rule_conditions', None) + self.rule_type = 'FirewallPolicyFilterRule' + + +class FirewallPolicyFilterRuleAction(Model): + """Properties of the FirewallPolicyFilterRuleAction. + + :param type: The type of action. Possible values include: 'Allow', 'Deny' + :type type: str or + ~azure.mgmt.network.v2020_04_01.models.FirewallPolicyFilterRuleActionType + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(FirewallPolicyFilterRuleAction, self).__init__(**kwargs) + self.type = kwargs.get('type', None) + + +class FirewallPolicyNatRule(FirewallPolicyRule): + """Firewall Policy NAT Rule. + + All required parameters must be populated in order to send to Azure. + + :param name: The name of the rule. + :type name: str + :param priority: Priority of the Firewall Policy Rule resource. + :type priority: int + :param rule_type: Required. Constant filled by server. + :type rule_type: str + :param action: The action type of a Nat rule. + :type action: + ~azure.mgmt.network.v2020_04_01.models.FirewallPolicyNatRuleAction + :param translated_address: The translated address for this NAT rule. + :type translated_address: str + :param translated_port: The translated port for this NAT rule. + :type translated_port: str + :param rule_condition: The match conditions for incoming traffic. + :type rule_condition: + ~azure.mgmt.network.v2020_04_01.models.FirewallPolicyRuleCondition + """ + + _validation = { + 'priority': {'maximum': 65000, 'minimum': 100}, + 'rule_type': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'priority': {'key': 'priority', 'type': 'int'}, + 'rule_type': {'key': 'ruleType', 'type': 'str'}, + 'action': {'key': 'action', 'type': 'FirewallPolicyNatRuleAction'}, + 'translated_address': {'key': 'translatedAddress', 'type': 'str'}, + 'translated_port': {'key': 'translatedPort', 'type': 'str'}, + 'rule_condition': {'key': 'ruleCondition', 'type': 'FirewallPolicyRuleCondition'}, + } + + def __init__(self, **kwargs): + super(FirewallPolicyNatRule, self).__init__(**kwargs) + self.action = kwargs.get('action', None) + self.translated_address = kwargs.get('translated_address', None) + self.translated_port = kwargs.get('translated_port', None) + self.rule_condition = kwargs.get('rule_condition', None) + self.rule_type = 'FirewallPolicyNatRule' + + +class FirewallPolicyNatRuleAction(Model): + """Properties of the FirewallPolicyNatRuleAction. + + :param type: The type of action. Possible values include: 'DNAT' + :type type: str or + ~azure.mgmt.network.v2020_04_01.models.FirewallPolicyNatRuleActionType + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(FirewallPolicyNatRuleAction, self).__init__(**kwargs) + self.type = kwargs.get('type', None) + + +class FirewallPolicyRuleConditionApplicationProtocol(Model): + """Properties of the application rule protocol. + + :param protocol_type: Protocol type. Possible values include: 'Http', + 'Https' + :type protocol_type: str or + ~azure.mgmt.network.v2020_04_01.models.FirewallPolicyRuleConditionApplicationProtocolType + :param port: Port number for the protocol, cannot be greater than 64000. + :type port: int + """ + + _validation = { + 'port': {'maximum': 64000, 'minimum': 0}, + } + + _attribute_map = { + 'protocol_type': {'key': 'protocolType', 'type': 'str'}, + 'port': {'key': 'port', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(FirewallPolicyRuleConditionApplicationProtocol, self).__init__(**kwargs) + self.protocol_type = kwargs.get('protocol_type', None) + self.port = kwargs.get('port', None) + + +class FirewallPolicyRuleGroup(SubResource): + """Rule Group resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param priority: Priority of the Firewall Policy Rule Group resource. + :type priority: int + :param rules: Group of Firewall Policy rules. + :type rules: + list[~azure.mgmt.network.v2020_04_01.models.FirewallPolicyRule] + :ivar provisioning_state: The provisioning state of the firewall policy + rule group resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Rule Group type. + :vartype type: str + """ + + _validation = { + 'priority': {'maximum': 65000, 'minimum': 100}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'priority': {'key': 'properties.priority', 'type': 'int'}, + 'rules': {'key': 'properties.rules', 'type': '[FirewallPolicyRule]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(FirewallPolicyRuleGroup, self).__init__(**kwargs) + self.priority = kwargs.get('priority', None) + self.rules = kwargs.get('rules', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = None + self.type = None + + +class FirewallPolicyThreatIntelWhitelist(Model): + """ThreatIntel Whitelist for Firewall Policy. + + :param ip_addresses: List of IP addresses for the ThreatIntel Whitelist. + :type ip_addresses: list[str] + :param fqdns: List of FQDNs for the ThreatIntel Whitelist. + :type fqdns: list[str] + """ + + _attribute_map = { + 'ip_addresses': {'key': 'ipAddresses', 'type': '[str]'}, + 'fqdns': {'key': 'fqdns', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(FirewallPolicyThreatIntelWhitelist, self).__init__(**kwargs) + self.ip_addresses = kwargs.get('ip_addresses', None) + self.fqdns = kwargs.get('fqdns', None) + + +class FirewallPolicyTransportSecurity(Model): + """Configuration needed to perform TLS termination & initiation. + + :param certificate_authority: The CA used for intermediate CA generation. + :type certificate_authority: + ~azure.mgmt.network.v2020_04_01.models.FirewallPolicyCertificateAuthority + :param excluded_domains: List of domains which are excluded from TLS + termination. + :type excluded_domains: list[str] + :param trusted_root_certificates: Certificates which are to be trusted by + the firewall. + :type trusted_root_certificates: + list[~azure.mgmt.network.v2020_04_01.models.FirewallPolicyTrustedRootCertificate] + """ + + _attribute_map = { + 'certificate_authority': {'key': 'certificateAuthority', 'type': 'FirewallPolicyCertificateAuthority'}, + 'excluded_domains': {'key': 'excludedDomains', 'type': '[str]'}, + 'trusted_root_certificates': {'key': 'trustedRootCertificates', 'type': '[FirewallPolicyTrustedRootCertificate]'}, + } + + def __init__(self, **kwargs): + super(FirewallPolicyTransportSecurity, self).__init__(**kwargs) + self.certificate_authority = kwargs.get('certificate_authority', None) + self.excluded_domains = kwargs.get('excluded_domains', None) + self.trusted_root_certificates = kwargs.get('trusted_root_certificates', None) + + +class FirewallPolicyTrustedRootCertificate(Model): + """Trusted Root certificates of a firewall policy. + + :param key_vault_secret_id: Secret Id of (base-64 encoded unencrypted pfx) + the public certificate data stored in KeyVault. + :type key_vault_secret_id: str + :param name: Name of the trusted root certificate that is unique within a + firewall policy. + :type name: str + """ + + _attribute_map = { + 'key_vault_secret_id': {'key': 'properties.keyVaultSecretId', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(FirewallPolicyTrustedRootCertificate, self).__init__(**kwargs) + self.key_vault_secret_id = kwargs.get('key_vault_secret_id', None) + self.name = kwargs.get('name', None) + + +class FlowLog(Resource): + """A flow log resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param target_resource_id: Required. ID of network security group to which + flow log will be applied. + :type target_resource_id: str + :ivar target_resource_guid: Guid of network security group to which flow + log will be applied. + :vartype target_resource_guid: str + :param storage_id: Required. ID of the storage account which is used to + store the flow log. + :type storage_id: str + :param enabled: Flag to enable/disable flow logging. + :type enabled: bool + :param retention_policy: Parameters that define the retention policy for + flow log. + :type retention_policy: + ~azure.mgmt.network.v2020_04_01.models.RetentionPolicyParameters + :param format: Parameters that define the flow log format. + :type format: + ~azure.mgmt.network.v2020_04_01.models.FlowLogFormatParameters + :param flow_analytics_configuration: Parameters that define the + configuration of traffic analytics. + :type flow_analytics_configuration: + ~azure.mgmt.network.v2020_04_01.models.TrafficAnalyticsProperties + :ivar provisioning_state: The provisioning state of the flow log. Possible + values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'target_resource_id': {'required': True}, + 'target_resource_guid': {'readonly': True}, + 'storage_id': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'target_resource_id': {'key': 'properties.targetResourceId', 'type': 'str'}, + 'target_resource_guid': {'key': 'properties.targetResourceGuid', 'type': 'str'}, + 'storage_id': {'key': 'properties.storageId', 'type': 'str'}, + 'enabled': {'key': 'properties.enabled', 'type': 'bool'}, + 'retention_policy': {'key': 'properties.retentionPolicy', 'type': 'RetentionPolicyParameters'}, + 'format': {'key': 'properties.format', 'type': 'FlowLogFormatParameters'}, + 'flow_analytics_configuration': {'key': 'properties.flowAnalyticsConfiguration', 'type': 'TrafficAnalyticsProperties'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(FlowLog, self).__init__(**kwargs) + self.target_resource_id = kwargs.get('target_resource_id', None) + self.target_resource_guid = None + self.storage_id = kwargs.get('storage_id', None) + self.enabled = kwargs.get('enabled', None) + self.retention_policy = kwargs.get('retention_policy', None) + self.format = kwargs.get('format', None) + self.flow_analytics_configuration = kwargs.get('flow_analytics_configuration', None) + self.provisioning_state = None + self.etag = None + + +class FlowLogFormatParameters(Model): + """Parameters that define the flow log format. + + :param type: The file type of flow log. Possible values include: 'JSON' + :type type: str or + ~azure.mgmt.network.v2020_04_01.models.FlowLogFormatType + :param version: The version (revision) of the flow log. Default value: 0 . + :type version: int + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'version': {'key': 'version', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(FlowLogFormatParameters, self).__init__(**kwargs) + self.type = kwargs.get('type', None) + self.version = kwargs.get('version', 0) + + +class FlowLogInformation(Model): + """Information on the configuration of flow log and traffic analytics + (optional) . + + All required parameters must be populated in order to send to Azure. + + :param target_resource_id: Required. The ID of the resource to configure + for flow log and traffic analytics (optional) . + :type target_resource_id: str + :param storage_id: Required. ID of the storage account which is used to + store the flow log. + :type storage_id: str + :param enabled: Required. Flag to enable/disable flow logging. + :type enabled: bool + :param retention_policy: Parameters that define the retention policy for + flow log. + :type retention_policy: + ~azure.mgmt.network.v2020_04_01.models.RetentionPolicyParameters + :param format: Parameters that define the flow log format. + :type format: + ~azure.mgmt.network.v2020_04_01.models.FlowLogFormatParameters + :param flow_analytics_configuration: Parameters that define the + configuration of traffic analytics. + :type flow_analytics_configuration: + ~azure.mgmt.network.v2020_04_01.models.TrafficAnalyticsProperties + """ + + _validation = { + 'target_resource_id': {'required': True}, + 'storage_id': {'required': True}, + 'enabled': {'required': True}, + } + + _attribute_map = { + 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, + 'storage_id': {'key': 'properties.storageId', 'type': 'str'}, + 'enabled': {'key': 'properties.enabled', 'type': 'bool'}, + 'retention_policy': {'key': 'properties.retentionPolicy', 'type': 'RetentionPolicyParameters'}, + 'format': {'key': 'properties.format', 'type': 'FlowLogFormatParameters'}, + 'flow_analytics_configuration': {'key': 'flowAnalyticsConfiguration', 'type': 'TrafficAnalyticsProperties'}, + } + + def __init__(self, **kwargs): + super(FlowLogInformation, self).__init__(**kwargs) + self.target_resource_id = kwargs.get('target_resource_id', None) + self.storage_id = kwargs.get('storage_id', None) + self.enabled = kwargs.get('enabled', None) + self.retention_policy = kwargs.get('retention_policy', None) + self.format = kwargs.get('format', None) + self.flow_analytics_configuration = kwargs.get('flow_analytics_configuration', None) + + +class FlowLogStatusParameters(Model): + """Parameters that define a resource to query flow log and traffic analytics + (optional) status. + + All required parameters must be populated in order to send to Azure. + + :param target_resource_id: Required. The target resource where getting the + flow log and traffic analytics (optional) status. + :type target_resource_id: str + """ + + _validation = { + 'target_resource_id': {'required': True}, + } + + _attribute_map = { + 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(FlowLogStatusParameters, self).__init__(**kwargs) + self.target_resource_id = kwargs.get('target_resource_id', None) + + +class FrontendIPConfiguration(SubResource): + """Frontend IP address of the load balancer. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar inbound_nat_rules: An array of references to inbound rules that use + this frontend IP. + :vartype inbound_nat_rules: + list[~azure.mgmt.network.v2020_04_01.models.SubResource] + :ivar inbound_nat_pools: An array of references to inbound pools that use + this frontend IP. + :vartype inbound_nat_pools: + list[~azure.mgmt.network.v2020_04_01.models.SubResource] + :ivar outbound_rules: An array of references to outbound rules that use + this frontend IP. + :vartype outbound_rules: + list[~azure.mgmt.network.v2020_04_01.models.SubResource] + :ivar load_balancing_rules: An array of references to load balancing rules + that use this frontend IP. + :vartype load_balancing_rules: + list[~azure.mgmt.network.v2020_04_01.models.SubResource] + :param private_ip_address: The private IP address of the IP configuration. + :type private_ip_address: str + :param private_ip_allocation_method: The Private IP allocation method. + Possible values include: 'Static', 'Dynamic' + :type private_ip_allocation_method: str or + ~azure.mgmt.network.v2020_04_01.models.IPAllocationMethod + :param private_ip_address_version: Whether the specific ipconfiguration is + IPv4 or IPv6. Default is taken as IPv4. Possible values include: 'IPv4', + 'IPv6' + :type private_ip_address_version: str or + ~azure.mgmt.network.v2020_04_01.models.IPVersion + :param subnet: The reference to the subnet resource. + :type subnet: ~azure.mgmt.network.v2020_04_01.models.Subnet + :param public_ip_address: The reference to the Public IP resource. + :type public_ip_address: + ~azure.mgmt.network.v2020_04_01.models.PublicIPAddress + :param public_ip_prefix: The reference to the Public IP Prefix resource. + :type public_ip_prefix: ~azure.mgmt.network.v2020_04_01.models.SubResource + :ivar provisioning_state: The provisioning state of the frontend IP + configuration resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: The name of the resource that is unique within the set of + frontend IP configurations used by the load balancer. This name can be + used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + :param zones: A list of availability zones denoting the IP allocated for + the resource needs to come from. + :type zones: list[str] + """ + + _validation = { + 'inbound_nat_rules': {'readonly': True}, + 'inbound_nat_pools': {'readonly': True}, + 'outbound_rules': {'readonly': True}, + 'load_balancing_rules': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'inbound_nat_rules': {'key': 'properties.inboundNatRules', 'type': '[SubResource]'}, + 'inbound_nat_pools': {'key': 'properties.inboundNatPools', 'type': '[SubResource]'}, + 'outbound_rules': {'key': 'properties.outboundRules', 'type': '[SubResource]'}, + 'load_balancing_rules': {'key': 'properties.loadBalancingRules', 'type': '[SubResource]'}, + 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, + 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, + 'private_ip_address_version': {'key': 'properties.privateIPAddressVersion', 'type': 'str'}, + 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, + 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'PublicIPAddress'}, + 'public_ip_prefix': {'key': 'properties.publicIPPrefix', 'type': 'SubResource'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'zones': {'key': 'zones', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(FrontendIPConfiguration, self).__init__(**kwargs) + self.inbound_nat_rules = None + self.inbound_nat_pools = None + self.outbound_rules = None + self.load_balancing_rules = None + self.private_ip_address = kwargs.get('private_ip_address', None) + self.private_ip_allocation_method = kwargs.get('private_ip_allocation_method', None) + self.private_ip_address_version = kwargs.get('private_ip_address_version', None) + self.subnet = kwargs.get('subnet', None) + self.public_ip_address = kwargs.get('public_ip_address', None) + self.public_ip_prefix = kwargs.get('public_ip_prefix', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = None + self.type = None + self.zones = kwargs.get('zones', None) + + +class GatewayRoute(Model): + """Gateway routing details. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar local_address: The gateway's local address. + :vartype local_address: str + :ivar network: The route's network prefix. + :vartype network: str + :ivar next_hop: The route's next hop. + :vartype next_hop: str + :ivar source_peer: The peer this route was learned from. + :vartype source_peer: str + :ivar origin: The source this route was learned from. + :vartype origin: str + :ivar as_path: The route's AS path sequence. + :vartype as_path: str + :ivar weight: The route's weight. + :vartype weight: int + """ + + _validation = { + 'local_address': {'readonly': True}, + 'network': {'readonly': True}, + 'next_hop': {'readonly': True}, + 'source_peer': {'readonly': True}, + 'origin': {'readonly': True}, + 'as_path': {'readonly': True}, + 'weight': {'readonly': True}, + } + + _attribute_map = { + 'local_address': {'key': 'localAddress', 'type': 'str'}, + 'network': {'key': 'network', 'type': 'str'}, + 'next_hop': {'key': 'nextHop', 'type': 'str'}, + 'source_peer': {'key': 'sourcePeer', 'type': 'str'}, + 'origin': {'key': 'origin', 'type': 'str'}, + 'as_path': {'key': 'asPath', 'type': 'str'}, + 'weight': {'key': 'weight', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(GatewayRoute, self).__init__(**kwargs) + self.local_address = None + self.network = None + self.next_hop = None + self.source_peer = None + self.origin = None + self.as_path = None + self.weight = None + + +class GatewayRouteListResult(Model): + """List of virtual network gateway routes. + + :param value: List of gateway routes. + :type value: list[~azure.mgmt.network.v2020_04_01.models.GatewayRoute] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[GatewayRoute]'}, + } + + def __init__(self, **kwargs): + super(GatewayRouteListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + + +class GetVpnSitesConfigurationRequest(Model): + """List of Vpn-Sites. + + All required parameters must be populated in order to send to Azure. + + :param vpn_sites: List of resource-ids of the vpn-sites for which config + is to be downloaded. + :type vpn_sites: list[str] + :param output_blob_sas_url: Required. The sas-url to download the + configurations for vpn-sites. + :type output_blob_sas_url: str + """ + + _validation = { + 'output_blob_sas_url': {'required': True}, + } + + _attribute_map = { + 'vpn_sites': {'key': 'vpnSites', 'type': '[str]'}, + 'output_blob_sas_url': {'key': 'outputBlobSasUrl', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(GetVpnSitesConfigurationRequest, self).__init__(**kwargs) + self.vpn_sites = kwargs.get('vpn_sites', None) + self.output_blob_sas_url = kwargs.get('output_blob_sas_url', None) + + +class HTTPConfiguration(Model): + """HTTP configuration of the connectivity check. + + :param method: HTTP method. Possible values include: 'Get' + :type method: str or ~azure.mgmt.network.v2020_04_01.models.HTTPMethod + :param headers: List of HTTP headers. + :type headers: list[~azure.mgmt.network.v2020_04_01.models.HTTPHeader] + :param valid_status_codes: Valid status codes. + :type valid_status_codes: list[int] + """ + + _attribute_map = { + 'method': {'key': 'method', 'type': 'str'}, + 'headers': {'key': 'headers', 'type': '[HTTPHeader]'}, + 'valid_status_codes': {'key': 'validStatusCodes', 'type': '[int]'}, + } + + def __init__(self, **kwargs): + super(HTTPConfiguration, self).__init__(**kwargs) + self.method = kwargs.get('method', None) + self.headers = kwargs.get('headers', None) + self.valid_status_codes = kwargs.get('valid_status_codes', None) + + +class HTTPHeader(Model): + """The HTTP header. + + :param name: The name in HTTP header. + :type name: str + :param value: The value in HTTP header. + :type value: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(HTTPHeader, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.value = kwargs.get('value', None) + + +class HubIPAddresses(Model): + """IP addresses associated with azure firewall. + + :param public_ip_addresses: List of Public IP addresses associated with + azure firewall. + :type public_ip_addresses: + list[~azure.mgmt.network.v2020_04_01.models.AzureFirewallPublicIPAddress] + :param private_ip_address: Private IP Address associated with azure + firewall. + :type private_ip_address: str + """ + + _attribute_map = { + 'public_ip_addresses': {'key': 'publicIPAddresses', 'type': '[AzureFirewallPublicIPAddress]'}, + 'private_ip_address': {'key': 'privateIPAddress', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(HubIPAddresses, self).__init__(**kwargs) + self.public_ip_addresses = kwargs.get('public_ip_addresses', None) + self.private_ip_address = kwargs.get('private_ip_address', None) + + +class HubRoute(Model): + """RouteTable route. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. The name of the Route that is unique within a + RouteTable. This name can be used to access this route. + :type name: str + :param destination_type: Required. The type of destinations (eg: CIDR, + ResourceId, Service). + :type destination_type: str + :param destinations: Required. List of all destinations. + :type destinations: list[str] + :param next_hop_type: Required. The type of next hop (eg: ResourceId). + :type next_hop_type: str + :param next_hop: Required. NextHop resource ID. + :type next_hop: str + """ + + _validation = { + 'name': {'required': True}, + 'destination_type': {'required': True}, + 'destinations': {'required': True}, + 'next_hop_type': {'required': True}, + 'next_hop': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'destination_type': {'key': 'destinationType', 'type': 'str'}, + 'destinations': {'key': 'destinations', 'type': '[str]'}, + 'next_hop_type': {'key': 'nextHopType', 'type': 'str'}, + 'next_hop': {'key': 'nextHop', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(HubRoute, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.destination_type = kwargs.get('destination_type', None) + self.destinations = kwargs.get('destinations', None) + self.next_hop_type = kwargs.get('next_hop_type', None) + self.next_hop = kwargs.get('next_hop', None) + + +class HubRouteTable(SubResource): + """RouteTable resource in a virtual hub. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param routes: List of all routes. + :type routes: list[~azure.mgmt.network.v2020_04_01.models.HubRoute] + :param labels: List of labels associated with this route table. + :type labels: list[str] + :ivar associated_connections: List of all connections associated with this + route table. + :vartype associated_connections: + list[~azure.mgmt.network.v2020_04_01.models.SubResource] + :ivar propagating_connections: List of all connections that advertise to + this route table. + :vartype propagating_connections: + list[~azure.mgmt.network.v2020_04_01.models.SubResource] + :ivar provisioning_state: The provisioning state of the RouteTable + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Resource type. + :vartype type: str + """ + + _validation = { + 'associated_connections': {'readonly': True}, + 'propagating_connections': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'routes': {'key': 'properties.routes', 'type': '[HubRoute]'}, + 'labels': {'key': 'properties.labels', 'type': '[str]'}, + 'associated_connections': {'key': 'properties.associatedConnections', 'type': '[SubResource]'}, + 'propagating_connections': {'key': 'properties.propagatingConnections', 'type': '[SubResource]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(HubRouteTable, self).__init__(**kwargs) + self.routes = kwargs.get('routes', None) + self.labels = kwargs.get('labels', None) + self.associated_connections = None + self.propagating_connections = None + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = None + self.type = None + + +class HubVirtualNetworkConnection(SubResource): + """HubVirtualNetworkConnection Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param remote_virtual_network: Reference to the remote virtual network. + :type remote_virtual_network: + ~azure.mgmt.network.v2020_04_01.models.SubResource + :param allow_hub_to_remote_vnet_transit: VirtualHub to RemoteVnet transit + to enabled or not. + :type allow_hub_to_remote_vnet_transit: bool + :param allow_remote_vnet_to_use_hub_vnet_gateways: Allow RemoteVnet to use + Virtual Hub's gateways. + :type allow_remote_vnet_to_use_hub_vnet_gateways: bool + :param enable_internet_security: Enable internet security. + :type enable_internet_security: bool + :param routing_configuration: The Routing Configuration indicating the + associated and propagated route tables on this connection. + :type routing_configuration: + ~azure.mgmt.network.v2020_04_01.models.RoutingConfiguration + :ivar provisioning_state: The provisioning state of the hub virtual + network connection resource. Possible values include: 'Succeeded', + 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'remote_virtual_network': {'key': 'properties.remoteVirtualNetwork', 'type': 'SubResource'}, + 'allow_hub_to_remote_vnet_transit': {'key': 'properties.allowHubToRemoteVnetTransit', 'type': 'bool'}, + 'allow_remote_vnet_to_use_hub_vnet_gateways': {'key': 'properties.allowRemoteVnetToUseHubVnetGateways', 'type': 'bool'}, + 'enable_internet_security': {'key': 'properties.enableInternetSecurity', 'type': 'bool'}, + 'routing_configuration': {'key': 'properties.routingConfiguration', 'type': 'RoutingConfiguration'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(HubVirtualNetworkConnection, self).__init__(**kwargs) + self.remote_virtual_network = kwargs.get('remote_virtual_network', None) + self.allow_hub_to_remote_vnet_transit = kwargs.get('allow_hub_to_remote_vnet_transit', None) + self.allow_remote_vnet_to_use_hub_vnet_gateways = kwargs.get('allow_remote_vnet_to_use_hub_vnet_gateways', None) + self.enable_internet_security = kwargs.get('enable_internet_security', None) + self.routing_configuration = kwargs.get('routing_configuration', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = None + + +class InboundNatPool(SubResource): + """Inbound NAT pool of the load balancer. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :param frontend_ip_configuration: A reference to frontend IP addresses. + :type frontend_ip_configuration: + ~azure.mgmt.network.v2020_04_01.models.SubResource + :param protocol: Required. The reference to the transport protocol used by + the inbound NAT pool. Possible values include: 'Udp', 'Tcp', 'All' + :type protocol: str or + ~azure.mgmt.network.v2020_04_01.models.TransportProtocol + :param frontend_port_range_start: Required. The first port number in the + range of external ports that will be used to provide Inbound Nat to NICs + associated with a load balancer. Acceptable values range between 1 and + 65534. + :type frontend_port_range_start: int + :param frontend_port_range_end: Required. The last port number in the + range of external ports that will be used to provide Inbound Nat to NICs + associated with a load balancer. Acceptable values range between 1 and + 65535. + :type frontend_port_range_end: int + :param backend_port: Required. The port used for internal connections on + the endpoint. Acceptable values are between 1 and 65535. + :type backend_port: int + :param idle_timeout_in_minutes: The timeout for the TCP idle connection. + The value can be set between 4 and 30 minutes. The default value is 4 + minutes. This element is only used when the protocol is set to TCP. + :type idle_timeout_in_minutes: int + :param enable_floating_ip: Configures a virtual machine's endpoint for the + floating IP capability required to configure a SQL AlwaysOn Availability + Group. This setting is required when using the SQL AlwaysOn Availability + Groups in SQL server. This setting can't be changed after you create the + endpoint. + :type enable_floating_ip: bool + :param enable_tcp_reset: Receive bidirectional TCP Reset on TCP flow idle + timeout or unexpected connection termination. This element is only used + when the protocol is set to TCP. + :type enable_tcp_reset: bool + :ivar provisioning_state: The provisioning state of the inbound NAT pool + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: The name of the resource that is unique within the set of + inbound NAT pools used by the load balancer. This name can be used to + access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'protocol': {'required': True}, + 'frontend_port_range_start': {'required': True}, + 'frontend_port_range_end': {'required': True}, + 'backend_port': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'frontend_ip_configuration': {'key': 'properties.frontendIPConfiguration', 'type': 'SubResource'}, + 'protocol': {'key': 'properties.protocol', 'type': 'str'}, + 'frontend_port_range_start': {'key': 'properties.frontendPortRangeStart', 'type': 'int'}, + 'frontend_port_range_end': {'key': 'properties.frontendPortRangeEnd', 'type': 'int'}, + 'backend_port': {'key': 'properties.backendPort', 'type': 'int'}, + 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, + 'enable_floating_ip': {'key': 'properties.enableFloatingIP', 'type': 'bool'}, + 'enable_tcp_reset': {'key': 'properties.enableTcpReset', 'type': 'bool'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(InboundNatPool, self).__init__(**kwargs) + self.frontend_ip_configuration = kwargs.get('frontend_ip_configuration', None) + self.protocol = kwargs.get('protocol', None) + self.frontend_port_range_start = kwargs.get('frontend_port_range_start', None) + self.frontend_port_range_end = kwargs.get('frontend_port_range_end', None) + self.backend_port = kwargs.get('backend_port', None) + self.idle_timeout_in_minutes = kwargs.get('idle_timeout_in_minutes', None) + self.enable_floating_ip = kwargs.get('enable_floating_ip', None) + self.enable_tcp_reset = kwargs.get('enable_tcp_reset', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = None + self.type = None + + +class InboundNatRule(SubResource): + """Inbound NAT rule of the load balancer. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param frontend_ip_configuration: A reference to frontend IP addresses. + :type frontend_ip_configuration: + ~azure.mgmt.network.v2020_04_01.models.SubResource + :ivar backend_ip_configuration: A reference to a private IP address + defined on a network interface of a VM. Traffic sent to the frontend port + of each of the frontend IP configurations is forwarded to the backend IP. + :vartype backend_ip_configuration: + ~azure.mgmt.network.v2020_04_01.models.NetworkInterfaceIPConfiguration + :param protocol: The reference to the transport protocol used by the load + balancing rule. Possible values include: 'Udp', 'Tcp', 'All' + :type protocol: str or + ~azure.mgmt.network.v2020_04_01.models.TransportProtocol + :param frontend_port: The port for the external endpoint. Port numbers for + each rule must be unique within the Load Balancer. Acceptable values range + from 1 to 65534. + :type frontend_port: int + :param backend_port: The port used for the internal endpoint. Acceptable + values range from 1 to 65535. + :type backend_port: int + :param idle_timeout_in_minutes: The timeout for the TCP idle connection. + The value can be set between 4 and 30 minutes. The default value is 4 + minutes. This element is only used when the protocol is set to TCP. + :type idle_timeout_in_minutes: int + :param enable_floating_ip: Configures a virtual machine's endpoint for the + floating IP capability required to configure a SQL AlwaysOn Availability + Group. This setting is required when using the SQL AlwaysOn Availability + Groups in SQL server. This setting can't be changed after you create the + endpoint. + :type enable_floating_ip: bool + :param enable_tcp_reset: Receive bidirectional TCP Reset on TCP flow idle + timeout or unexpected connection termination. This element is only used + when the protocol is set to TCP. + :type enable_tcp_reset: bool + :ivar provisioning_state: The provisioning state of the inbound NAT rule + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: The name of the resource that is unique within the set of + inbound NAT rules used by the load balancer. This name can be used to + access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'backend_ip_configuration': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'frontend_ip_configuration': {'key': 'properties.frontendIPConfiguration', 'type': 'SubResource'}, + 'backend_ip_configuration': {'key': 'properties.backendIPConfiguration', 'type': 'NetworkInterfaceIPConfiguration'}, + 'protocol': {'key': 'properties.protocol', 'type': 'str'}, + 'frontend_port': {'key': 'properties.frontendPort', 'type': 'int'}, + 'backend_port': {'key': 'properties.backendPort', 'type': 'int'}, + 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, + 'enable_floating_ip': {'key': 'properties.enableFloatingIP', 'type': 'bool'}, + 'enable_tcp_reset': {'key': 'properties.enableTcpReset', 'type': 'bool'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(InboundNatRule, self).__init__(**kwargs) + self.frontend_ip_configuration = kwargs.get('frontend_ip_configuration', None) + self.backend_ip_configuration = None + self.protocol = kwargs.get('protocol', None) + self.frontend_port = kwargs.get('frontend_port', None) + self.backend_port = kwargs.get('backend_port', None) + self.idle_timeout_in_minutes = kwargs.get('idle_timeout_in_minutes', None) + self.enable_floating_ip = kwargs.get('enable_floating_ip', None) + self.enable_tcp_reset = kwargs.get('enable_tcp_reset', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = None + self.type = None + + +class IPAddressAvailabilityResult(Model): + """Response for CheckIPAddressAvailability API service call. + + :param available: Private IP address availability. + :type available: bool + :param available_ip_addresses: Contains other available private IP + addresses if the asked for address is taken. + :type available_ip_addresses: list[str] + """ + + _attribute_map = { + 'available': {'key': 'available', 'type': 'bool'}, + 'available_ip_addresses': {'key': 'availableIPAddresses', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(IPAddressAvailabilityResult, self).__init__(**kwargs) + self.available = kwargs.get('available', None) + self.available_ip_addresses = kwargs.get('available_ip_addresses', None) + + +class IpAllocation(Resource): + """IpAllocation resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar subnet: The Subnet that using the prefix of this IpAllocation + resource. + :vartype subnet: ~azure.mgmt.network.v2020_04_01.models.SubResource + :ivar virtual_network: The VirtualNetwork that using the prefix of this + IpAllocation resource. + :vartype virtual_network: + ~azure.mgmt.network.v2020_04_01.models.SubResource + :param ip_allocation_type: The type for the IpAllocation. Possible values + include: 'Undefined', 'Hypernet' + :type ip_allocation_type: str or + ~azure.mgmt.network.v2020_04_01.models.IpAllocationType + :param prefix: The address prefix for the IpAllocation. + :type prefix: str + :param prefix_length: The address prefix length for the IpAllocation. + Default value: 0 . + :type prefix_length: int + :param prefix_type: The address prefix Type for the IpAllocation. Possible + values include: 'IPv4', 'IPv6' + :type prefix_type: str or ~azure.mgmt.network.v2020_04_01.models.IPVersion + :param ipam_allocation_id: The IPAM allocation ID. + :type ipam_allocation_id: str + :param allocation_tags: IpAllocation tags. + :type allocation_tags: dict[str, str] + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'subnet': {'readonly': True}, + 'virtual_network': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, + 'virtual_network': {'key': 'properties.virtualNetwork', 'type': 'SubResource'}, + 'ip_allocation_type': {'key': 'properties.type', 'type': 'str'}, + 'prefix': {'key': 'properties.prefix', 'type': 'str'}, + 'prefix_length': {'key': 'properties.prefixLength', 'type': 'int'}, + 'prefix_type': {'key': 'properties.prefixType', 'type': 'str'}, + 'ipam_allocation_id': {'key': 'properties.ipamAllocationId', 'type': 'str'}, + 'allocation_tags': {'key': 'properties.allocationTags', 'type': '{str}'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(IpAllocation, self).__init__(**kwargs) + self.subnet = None + self.virtual_network = None + self.ip_allocation_type = kwargs.get('ip_allocation_type', None) + self.prefix = kwargs.get('prefix', None) + self.prefix_length = kwargs.get('prefix_length', 0) + self.prefix_type = kwargs.get('prefix_type', None) + self.ipam_allocation_id = kwargs.get('ipam_allocation_id', None) + self.allocation_tags = kwargs.get('allocation_tags', None) + self.etag = None + + +class IPConfiguration(SubResource): + """IP configuration. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param private_ip_address: The private IP address of the IP configuration. + :type private_ip_address: str + :param private_ip_allocation_method: The private IP address allocation + method. Possible values include: 'Static', 'Dynamic' + :type private_ip_allocation_method: str or + ~azure.mgmt.network.v2020_04_01.models.IPAllocationMethod + :param subnet: The reference to the subnet resource. + :type subnet: ~azure.mgmt.network.v2020_04_01.models.Subnet + :param public_ip_address: The reference to the public IP resource. + :type public_ip_address: + ~azure.mgmt.network.v2020_04_01.models.PublicIPAddress + :ivar provisioning_state: The provisioning state of the IP configuration + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, + 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, + 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, + 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'PublicIPAddress'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(IPConfiguration, self).__init__(**kwargs) + self.private_ip_address = kwargs.get('private_ip_address', None) + self.private_ip_allocation_method = kwargs.get('private_ip_allocation_method', None) + self.subnet = kwargs.get('subnet', None) + self.public_ip_address = kwargs.get('public_ip_address', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = None + + +class IPConfigurationBgpPeeringAddress(Model): + """Properties of IPConfigurationBgpPeeringAddress. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param ipconfiguration_id: The ID of IP configuration which belongs to + gateway. + :type ipconfiguration_id: str + :ivar default_bgp_ip_addresses: The list of default BGP peering addresses + which belong to IP configuration. + :vartype default_bgp_ip_addresses: list[str] + :param custom_bgp_ip_addresses: The list of custom BGP peering addresses + which belong to IP configuration. + :type custom_bgp_ip_addresses: list[str] + :ivar tunnel_ip_addresses: The list of tunnel public IP addresses which + belong to IP configuration. + :vartype tunnel_ip_addresses: list[str] + """ + + _validation = { + 'default_bgp_ip_addresses': {'readonly': True}, + 'tunnel_ip_addresses': {'readonly': True}, + } + + _attribute_map = { + 'ipconfiguration_id': {'key': 'ipconfigurationId', 'type': 'str'}, + 'default_bgp_ip_addresses': {'key': 'defaultBgpIpAddresses', 'type': '[str]'}, + 'custom_bgp_ip_addresses': {'key': 'customBgpIpAddresses', 'type': '[str]'}, + 'tunnel_ip_addresses': {'key': 'tunnelIpAddresses', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(IPConfigurationBgpPeeringAddress, self).__init__(**kwargs) + self.ipconfiguration_id = kwargs.get('ipconfiguration_id', None) + self.default_bgp_ip_addresses = None + self.custom_bgp_ip_addresses = kwargs.get('custom_bgp_ip_addresses', None) + self.tunnel_ip_addresses = None + + +class IPConfigurationProfile(SubResource): + """IP configuration profile child resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param subnet: The reference to the subnet resource to create a container + network interface ip configuration. + :type subnet: ~azure.mgmt.network.v2020_04_01.models.Subnet + :ivar provisioning_state: The provisioning state of the IP configuration + profile resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: The name of the resource. This name can be used to access the + resource. + :type name: str + :ivar type: Sub Resource type. + :vartype type: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(IPConfigurationProfile, self).__init__(**kwargs) + self.subnet = kwargs.get('subnet', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.type = None + self.etag = None + + +class IpGroup(Resource): + """The IpGroups resource information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar provisioning_state: The provisioning state of the IpGroups resource. + Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param ip_addresses: IpAddresses/IpAddressPrefixes in the IpGroups + resource. + :type ip_addresses: list[str] + :ivar firewalls: List of references to Azure resources that this IpGroups + is associated with. + :vartype firewalls: + list[~azure.mgmt.network.v2020_04_01.models.SubResource] + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'firewalls': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'ip_addresses': {'key': 'properties.ipAddresses', 'type': '[str]'}, + 'firewalls': {'key': 'properties.firewalls', 'type': '[SubResource]'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(IpGroup, self).__init__(**kwargs) + self.provisioning_state = None + self.ip_addresses = kwargs.get('ip_addresses', None) + self.firewalls = None + self.etag = None + + +class IpsecPolicy(Model): + """An IPSec Policy configuration for a virtual network gateway connection. + + All required parameters must be populated in order to send to Azure. + + :param sa_life_time_seconds: Required. The IPSec Security Association + (also called Quick Mode or Phase 2 SA) lifetime in seconds for a site to + site VPN tunnel. + :type sa_life_time_seconds: int + :param sa_data_size_kilobytes: Required. The IPSec Security Association + (also called Quick Mode or Phase 2 SA) payload size in KB for a site to + site VPN tunnel. + :type sa_data_size_kilobytes: int + :param ipsec_encryption: Required. The IPSec encryption algorithm (IKE + phase 1). Possible values include: 'None', 'DES', 'DES3', 'AES128', + 'AES192', 'AES256', 'GCMAES128', 'GCMAES192', 'GCMAES256' + :type ipsec_encryption: str or + ~azure.mgmt.network.v2020_04_01.models.IpsecEncryption + :param ipsec_integrity: Required. The IPSec integrity algorithm (IKE phase + 1). Possible values include: 'MD5', 'SHA1', 'SHA256', 'GCMAES128', + 'GCMAES192', 'GCMAES256' + :type ipsec_integrity: str or + ~azure.mgmt.network.v2020_04_01.models.IpsecIntegrity + :param ike_encryption: Required. The IKE encryption algorithm (IKE phase + 2). Possible values include: 'DES', 'DES3', 'AES128', 'AES192', 'AES256', + 'GCMAES256', 'GCMAES128' + :type ike_encryption: str or + ~azure.mgmt.network.v2020_04_01.models.IkeEncryption + :param ike_integrity: Required. The IKE integrity algorithm (IKE phase 2). + Possible values include: 'MD5', 'SHA1', 'SHA256', 'SHA384', 'GCMAES256', + 'GCMAES128' + :type ike_integrity: str or + ~azure.mgmt.network.v2020_04_01.models.IkeIntegrity + :param dh_group: Required. The DH Group used in IKE Phase 1 for initial + SA. Possible values include: 'None', 'DHGroup1', 'DHGroup2', 'DHGroup14', + 'DHGroup2048', 'ECP256', 'ECP384', 'DHGroup24' + :type dh_group: str or ~azure.mgmt.network.v2020_04_01.models.DhGroup + :param pfs_group: Required. The Pfs Group used in IKE Phase 2 for new + child SA. Possible values include: 'None', 'PFS1', 'PFS2', 'PFS2048', + 'ECP256', 'ECP384', 'PFS24', 'PFS14', 'PFSMM' + :type pfs_group: str or ~azure.mgmt.network.v2020_04_01.models.PfsGroup + """ + + _validation = { + 'sa_life_time_seconds': {'required': True}, + 'sa_data_size_kilobytes': {'required': True}, + 'ipsec_encryption': {'required': True}, + 'ipsec_integrity': {'required': True}, + 'ike_encryption': {'required': True}, + 'ike_integrity': {'required': True}, + 'dh_group': {'required': True}, + 'pfs_group': {'required': True}, + } + + _attribute_map = { + 'sa_life_time_seconds': {'key': 'saLifeTimeSeconds', 'type': 'int'}, + 'sa_data_size_kilobytes': {'key': 'saDataSizeKilobytes', 'type': 'int'}, + 'ipsec_encryption': {'key': 'ipsecEncryption', 'type': 'str'}, + 'ipsec_integrity': {'key': 'ipsecIntegrity', 'type': 'str'}, + 'ike_encryption': {'key': 'ikeEncryption', 'type': 'str'}, + 'ike_integrity': {'key': 'ikeIntegrity', 'type': 'str'}, + 'dh_group': {'key': 'dhGroup', 'type': 'str'}, + 'pfs_group': {'key': 'pfsGroup', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(IpsecPolicy, self).__init__(**kwargs) + self.sa_life_time_seconds = kwargs.get('sa_life_time_seconds', None) + self.sa_data_size_kilobytes = kwargs.get('sa_data_size_kilobytes', None) + self.ipsec_encryption = kwargs.get('ipsec_encryption', None) + self.ipsec_integrity = kwargs.get('ipsec_integrity', None) + self.ike_encryption = kwargs.get('ike_encryption', None) + self.ike_integrity = kwargs.get('ike_integrity', None) + self.dh_group = kwargs.get('dh_group', None) + self.pfs_group = kwargs.get('pfs_group', None) + + +class IpTag(Model): + """Contains the IpTag associated with the object. + + :param ip_tag_type: The IP tag type. Example: FirstPartyUsage. + :type ip_tag_type: str + :param tag: The value of the IP tag associated with the public IP. + Example: SQL. + :type tag: str + """ + + _attribute_map = { + 'ip_tag_type': {'key': 'ipTagType', 'type': 'str'}, + 'tag': {'key': 'tag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(IpTag, self).__init__(**kwargs) + self.ip_tag_type = kwargs.get('ip_tag_type', None) + self.tag = kwargs.get('tag', None) + + +class Ipv6CircuitConnectionConfig(Model): + """IPv6 Circuit Connection properties for global reach. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param address_prefix: /125 IP address space to carve out customer + addresses for global reach. + :type address_prefix: str + :ivar circuit_connection_status: Express Route Circuit connection state. + Possible values include: 'Connected', 'Connecting', 'Disconnected' + :vartype circuit_connection_status: str or + ~azure.mgmt.network.v2020_04_01.models.CircuitConnectionStatus + """ + + _validation = { + 'circuit_connection_status': {'readonly': True}, + } + + _attribute_map = { + 'address_prefix': {'key': 'addressPrefix', 'type': 'str'}, + 'circuit_connection_status': {'key': 'circuitConnectionStatus', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Ipv6CircuitConnectionConfig, self).__init__(**kwargs) + self.address_prefix = kwargs.get('address_prefix', None) + self.circuit_connection_status = None + + +class Ipv6ExpressRouteCircuitPeeringConfig(Model): + """Contains IPv6 peering config. + + :param primary_peer_address_prefix: The primary address prefix. + :type primary_peer_address_prefix: str + :param secondary_peer_address_prefix: The secondary address prefix. + :type secondary_peer_address_prefix: str + :param microsoft_peering_config: The Microsoft peering configuration. + :type microsoft_peering_config: + ~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitPeeringConfig + :param route_filter: The reference to the RouteFilter resource. + :type route_filter: ~azure.mgmt.network.v2020_04_01.models.SubResource + :param state: The state of peering. Possible values include: 'Disabled', + 'Enabled' + :type state: str or + ~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitPeeringState + """ + + _attribute_map = { + 'primary_peer_address_prefix': {'key': 'primaryPeerAddressPrefix', 'type': 'str'}, + 'secondary_peer_address_prefix': {'key': 'secondaryPeerAddressPrefix', 'type': 'str'}, + 'microsoft_peering_config': {'key': 'microsoftPeeringConfig', 'type': 'ExpressRouteCircuitPeeringConfig'}, + 'route_filter': {'key': 'routeFilter', 'type': 'SubResource'}, + 'state': {'key': 'state', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Ipv6ExpressRouteCircuitPeeringConfig, self).__init__(**kwargs) + self.primary_peer_address_prefix = kwargs.get('primary_peer_address_prefix', None) + self.secondary_peer_address_prefix = kwargs.get('secondary_peer_address_prefix', None) + self.microsoft_peering_config = kwargs.get('microsoft_peering_config', None) + self.route_filter = kwargs.get('route_filter', None) + self.state = kwargs.get('state', None) + + +class LoadBalancer(Resource): + """LoadBalancer resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param sku: The load balancer SKU. + :type sku: ~azure.mgmt.network.v2020_04_01.models.LoadBalancerSku + :param frontend_ip_configurations: Object representing the frontend IPs to + be used for the load balancer. + :type frontend_ip_configurations: + list[~azure.mgmt.network.v2020_04_01.models.FrontendIPConfiguration] + :param backend_address_pools: Collection of backend address pools used by + a load balancer. + :type backend_address_pools: + list[~azure.mgmt.network.v2020_04_01.models.BackendAddressPool] + :param load_balancing_rules: Object collection representing the load + balancing rules Gets the provisioning. + :type load_balancing_rules: + list[~azure.mgmt.network.v2020_04_01.models.LoadBalancingRule] + :param probes: Collection of probe objects used in the load balancer. + :type probes: list[~azure.mgmt.network.v2020_04_01.models.Probe] + :param inbound_nat_rules: Collection of inbound NAT Rules used by a load + balancer. Defining inbound NAT rules on your load balancer is mutually + exclusive with defining an inbound NAT pool. Inbound NAT pools are + referenced from virtual machine scale sets. NICs that are associated with + individual virtual machines cannot reference an Inbound NAT pool. They + have to reference individual inbound NAT rules. + :type inbound_nat_rules: + list[~azure.mgmt.network.v2020_04_01.models.InboundNatRule] + :param inbound_nat_pools: Defines an external port range for inbound NAT + to a single backend port on NICs associated with a load balancer. Inbound + NAT rules are created automatically for each NIC associated with the Load + Balancer using an external port from this range. Defining an Inbound NAT + pool on your Load Balancer is mutually exclusive with defining inbound Nat + rules. Inbound NAT pools are referenced from virtual machine scale sets. + NICs that are associated with individual virtual machines cannot reference + an inbound NAT pool. They have to reference individual inbound NAT rules. + :type inbound_nat_pools: + list[~azure.mgmt.network.v2020_04_01.models.InboundNatPool] + :param outbound_rules: The outbound rules. + :type outbound_rules: + list[~azure.mgmt.network.v2020_04_01.models.OutboundRule] + :ivar resource_guid: The resource GUID property of the load balancer + resource. + :vartype resource_guid: str + :ivar provisioning_state: The provisioning state of the load balancer + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'resource_guid': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'sku': {'key': 'sku', 'type': 'LoadBalancerSku'}, + 'frontend_ip_configurations': {'key': 'properties.frontendIPConfigurations', 'type': '[FrontendIPConfiguration]'}, + 'backend_address_pools': {'key': 'properties.backendAddressPools', 'type': '[BackendAddressPool]'}, + 'load_balancing_rules': {'key': 'properties.loadBalancingRules', 'type': '[LoadBalancingRule]'}, + 'probes': {'key': 'properties.probes', 'type': '[Probe]'}, + 'inbound_nat_rules': {'key': 'properties.inboundNatRules', 'type': '[InboundNatRule]'}, + 'inbound_nat_pools': {'key': 'properties.inboundNatPools', 'type': '[InboundNatPool]'}, + 'outbound_rules': {'key': 'properties.outboundRules', 'type': '[OutboundRule]'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(LoadBalancer, self).__init__(**kwargs) + self.sku = kwargs.get('sku', None) + self.frontend_ip_configurations = kwargs.get('frontend_ip_configurations', None) + self.backend_address_pools = kwargs.get('backend_address_pools', None) + self.load_balancing_rules = kwargs.get('load_balancing_rules', None) + self.probes = kwargs.get('probes', None) + self.inbound_nat_rules = kwargs.get('inbound_nat_rules', None) + self.inbound_nat_pools = kwargs.get('inbound_nat_pools', None) + self.outbound_rules = kwargs.get('outbound_rules', None) + self.resource_guid = None + self.provisioning_state = None + self.etag = None + + +class LoadBalancerBackendAddress(Model): + """Load balancer backend addresses. + + :param virtual_network: Reference to an existing virtual network. + :type virtual_network: + ~azure.mgmt.network.v2020_04_01.models.VirtualNetwork + :param ip_address: IP Address belonging to the referenced virtual network. + :type ip_address: str + :param network_interface_ip_configuration: Reference to IP address defined + in network interfaces. + :type network_interface_ip_configuration: + ~azure.mgmt.network.v2020_04_01.models.NetworkInterfaceIPConfiguration + :param name: Name of the backend address. + :type name: str + """ + + _attribute_map = { + 'virtual_network': {'key': 'properties.virtualNetwork', 'type': 'VirtualNetwork'}, + 'ip_address': {'key': 'properties.ipAddress', 'type': 'str'}, + 'network_interface_ip_configuration': {'key': 'properties.networkInterfaceIPConfiguration', 'type': 'NetworkInterfaceIPConfiguration'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(LoadBalancerBackendAddress, self).__init__(**kwargs) + self.virtual_network = kwargs.get('virtual_network', None) + self.ip_address = kwargs.get('ip_address', None) + self.network_interface_ip_configuration = kwargs.get('network_interface_ip_configuration', None) + self.name = kwargs.get('name', None) + + +class LoadBalancerSku(Model): + """SKU of a load balancer. + + :param name: Name of a load balancer SKU. Possible values include: + 'Basic', 'Standard' + :type name: str or + ~azure.mgmt.network.v2020_04_01.models.LoadBalancerSkuName + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(LoadBalancerSku, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + + +class LoadBalancingRule(SubResource): + """A load balancing rule for a load balancer. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :param frontend_ip_configuration: A reference to frontend IP addresses. + :type frontend_ip_configuration: + ~azure.mgmt.network.v2020_04_01.models.SubResource + :param backend_address_pool: A reference to a pool of DIPs. Inbound + traffic is randomly load balanced across IPs in the backend IPs. + :type backend_address_pool: + ~azure.mgmt.network.v2020_04_01.models.SubResource + :param probe: The reference to the load balancer probe used by the load + balancing rule. + :type probe: ~azure.mgmt.network.v2020_04_01.models.SubResource + :param protocol: Required. The reference to the transport protocol used by + the load balancing rule. Possible values include: 'Udp', 'Tcp', 'All' + :type protocol: str or + ~azure.mgmt.network.v2020_04_01.models.TransportProtocol + :param load_distribution: The load distribution policy for this rule. + Possible values include: 'Default', 'SourceIP', 'SourceIPProtocol' + :type load_distribution: str or + ~azure.mgmt.network.v2020_04_01.models.LoadDistribution + :param frontend_port: Required. The port for the external endpoint. Port + numbers for each rule must be unique within the Load Balancer. Acceptable + values are between 0 and 65534. Note that value 0 enables "Any Port". + :type frontend_port: int + :param backend_port: The port used for internal connections on the + endpoint. Acceptable values are between 0 and 65535. Note that value 0 + enables "Any Port". + :type backend_port: int + :param idle_timeout_in_minutes: The timeout for the TCP idle connection. + The value can be set between 4 and 30 minutes. The default value is 4 + minutes. This element is only used when the protocol is set to TCP. + :type idle_timeout_in_minutes: int + :param enable_floating_ip: Configures a virtual machine's endpoint for the + floating IP capability required to configure a SQL AlwaysOn Availability + Group. This setting is required when using the SQL AlwaysOn Availability + Groups in SQL server. This setting can't be changed after you create the + endpoint. + :type enable_floating_ip: bool + :param enable_tcp_reset: Receive bidirectional TCP Reset on TCP flow idle + timeout or unexpected connection termination. This element is only used + when the protocol is set to TCP. + :type enable_tcp_reset: bool + :param disable_outbound_snat: Configures SNAT for the VMs in the backend + pool to use the publicIP address specified in the frontend of the load + balancing rule. + :type disable_outbound_snat: bool + :ivar provisioning_state: The provisioning state of the load balancing + rule resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: The name of the resource that is unique within the set of + load balancing rules used by the load balancer. This name can be used to + access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'protocol': {'required': True}, + 'frontend_port': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'frontend_ip_configuration': {'key': 'properties.frontendIPConfiguration', 'type': 'SubResource'}, + 'backend_address_pool': {'key': 'properties.backendAddressPool', 'type': 'SubResource'}, + 'probe': {'key': 'properties.probe', 'type': 'SubResource'}, + 'protocol': {'key': 'properties.protocol', 'type': 'str'}, + 'load_distribution': {'key': 'properties.loadDistribution', 'type': 'str'}, + 'frontend_port': {'key': 'properties.frontendPort', 'type': 'int'}, + 'backend_port': {'key': 'properties.backendPort', 'type': 'int'}, + 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, + 'enable_floating_ip': {'key': 'properties.enableFloatingIP', 'type': 'bool'}, + 'enable_tcp_reset': {'key': 'properties.enableTcpReset', 'type': 'bool'}, + 'disable_outbound_snat': {'key': 'properties.disableOutboundSnat', 'type': 'bool'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(LoadBalancingRule, self).__init__(**kwargs) + self.frontend_ip_configuration = kwargs.get('frontend_ip_configuration', None) + self.backend_address_pool = kwargs.get('backend_address_pool', None) + self.probe = kwargs.get('probe', None) + self.protocol = kwargs.get('protocol', None) + self.load_distribution = kwargs.get('load_distribution', None) + self.frontend_port = kwargs.get('frontend_port', None) + self.backend_port = kwargs.get('backend_port', None) + self.idle_timeout_in_minutes = kwargs.get('idle_timeout_in_minutes', None) + self.enable_floating_ip = kwargs.get('enable_floating_ip', None) + self.enable_tcp_reset = kwargs.get('enable_tcp_reset', None) + self.disable_outbound_snat = kwargs.get('disable_outbound_snat', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = None + self.type = None + + +class LocalNetworkGateway(Resource): + """A common class for general resource information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param local_network_address_space: Local network site address space. + :type local_network_address_space: + ~azure.mgmt.network.v2020_04_01.models.AddressSpace + :param gateway_ip_address: IP address of local network gateway. + :type gateway_ip_address: str + :param fqdn: FQDN of local network gateway. + :type fqdn: str + :param bgp_settings: Local network gateway's BGP speaker settings. + :type bgp_settings: ~azure.mgmt.network.v2020_04_01.models.BgpSettings + :ivar resource_guid: The resource GUID property of the local network + gateway resource. + :vartype resource_guid: str + :ivar provisioning_state: The provisioning state of the local network + gateway resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'resource_guid': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'local_network_address_space': {'key': 'properties.localNetworkAddressSpace', 'type': 'AddressSpace'}, + 'gateway_ip_address': {'key': 'properties.gatewayIpAddress', 'type': 'str'}, + 'fqdn': {'key': 'properties.fqdn', 'type': 'str'}, + 'bgp_settings': {'key': 'properties.bgpSettings', 'type': 'BgpSettings'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(LocalNetworkGateway, self).__init__(**kwargs) + self.local_network_address_space = kwargs.get('local_network_address_space', None) + self.gateway_ip_address = kwargs.get('gateway_ip_address', None) + self.fqdn = kwargs.get('fqdn', None) + self.bgp_settings = kwargs.get('bgp_settings', None) + self.resource_guid = None + self.provisioning_state = None + self.etag = None + + +class LogSpecification(Model): + """Description of logging specification. + + :param name: The name of the specification. + :type name: str + :param display_name: The display name of the specification. + :type display_name: str + :param blob_duration: Duration of the blob. + :type blob_duration: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'blob_duration': {'key': 'blobDuration', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(LogSpecification, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.display_name = kwargs.get('display_name', None) + self.blob_duration = kwargs.get('blob_duration', None) + + +class ManagedRuleGroupOverride(Model): + """Defines a managed rule group override setting. + + All required parameters must be populated in order to send to Azure. + + :param rule_group_name: Required. The managed rule group to override. + :type rule_group_name: str + :param rules: List of rules that will be disabled. If none specified, all + rules in the group will be disabled. + :type rules: + list[~azure.mgmt.network.v2020_04_01.models.ManagedRuleOverride] + """ + + _validation = { + 'rule_group_name': {'required': True}, + } + + _attribute_map = { + 'rule_group_name': {'key': 'ruleGroupName', 'type': 'str'}, + 'rules': {'key': 'rules', 'type': '[ManagedRuleOverride]'}, + } + + def __init__(self, **kwargs): + super(ManagedRuleGroupOverride, self).__init__(**kwargs) + self.rule_group_name = kwargs.get('rule_group_name', None) + self.rules = kwargs.get('rules', None) + + +class ManagedRuleOverride(Model): + """Defines a managed rule group override setting. + + All required parameters must be populated in order to send to Azure. + + :param rule_id: Required. Identifier for the managed rule. + :type rule_id: str + :param state: The state of the managed rule. Defaults to Disabled if not + specified. Possible values include: 'Disabled' + :type state: str or + ~azure.mgmt.network.v2020_04_01.models.ManagedRuleEnabledState + """ + + _validation = { + 'rule_id': {'required': True}, + } + + _attribute_map = { + 'rule_id': {'key': 'ruleId', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ManagedRuleOverride, self).__init__(**kwargs) + self.rule_id = kwargs.get('rule_id', None) + self.state = kwargs.get('state', None) + + +class ManagedRulesDefinition(Model): + """Allow to exclude some variable satisfy the condition for the WAF check. + + All required parameters must be populated in order to send to Azure. + + :param exclusions: The Exclusions that are applied on the policy. + :type exclusions: + list[~azure.mgmt.network.v2020_04_01.models.OwaspCrsExclusionEntry] + :param managed_rule_sets: Required. The managed rule sets that are + associated with the policy. + :type managed_rule_sets: + list[~azure.mgmt.network.v2020_04_01.models.ManagedRuleSet] + """ + + _validation = { + 'managed_rule_sets': {'required': True}, + } + + _attribute_map = { + 'exclusions': {'key': 'exclusions', 'type': '[OwaspCrsExclusionEntry]'}, + 'managed_rule_sets': {'key': 'managedRuleSets', 'type': '[ManagedRuleSet]'}, + } + + def __init__(self, **kwargs): + super(ManagedRulesDefinition, self).__init__(**kwargs) + self.exclusions = kwargs.get('exclusions', None) + self.managed_rule_sets = kwargs.get('managed_rule_sets', None) + + +class ManagedRuleSet(Model): + """Defines a managed rule set. + + All required parameters must be populated in order to send to Azure. + + :param rule_set_type: Required. Defines the rule set type to use. + :type rule_set_type: str + :param rule_set_version: Required. Defines the version of the rule set to + use. + :type rule_set_version: str + :param rule_group_overrides: Defines the rule group overrides to apply to + the rule set. + :type rule_group_overrides: + list[~azure.mgmt.network.v2020_04_01.models.ManagedRuleGroupOverride] + """ + + _validation = { + 'rule_set_type': {'required': True}, + 'rule_set_version': {'required': True}, + } + + _attribute_map = { + 'rule_set_type': {'key': 'ruleSetType', 'type': 'str'}, + 'rule_set_version': {'key': 'ruleSetVersion', 'type': 'str'}, + 'rule_group_overrides': {'key': 'ruleGroupOverrides', 'type': '[ManagedRuleGroupOverride]'}, + } + + def __init__(self, **kwargs): + super(ManagedRuleSet, self).__init__(**kwargs) + self.rule_set_type = kwargs.get('rule_set_type', None) + self.rule_set_version = kwargs.get('rule_set_version', None) + self.rule_group_overrides = kwargs.get('rule_group_overrides', None) + + +class ManagedServiceIdentity(Model): + """Identity for the resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar principal_id: The principal id of the system assigned identity. This + property will only be provided for a system assigned identity. + :vartype principal_id: str + :ivar tenant_id: The tenant id of the system assigned identity. This + property will only be provided for a system assigned identity. + :vartype tenant_id: str + :param type: The type of identity used for the resource. The type + 'SystemAssigned, UserAssigned' includes both an implicitly created + identity and a set of user assigned identities. The type 'None' will + remove any identities from the virtual machine. Possible values include: + 'SystemAssigned', 'UserAssigned', 'SystemAssigned, UserAssigned', 'None' + :type type: str or + ~azure.mgmt.network.v2020_04_01.models.ResourceIdentityType + :param user_assigned_identities: The list of user identities associated + with resource. The user identity dictionary key references will be ARM + resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + :type user_assigned_identities: dict[str, + ~azure.mgmt.network.v2020_04_01.models.ManagedServiceIdentityUserAssignedIdentitiesValue] + """ + + _validation = { + 'principal_id': {'readonly': True}, + 'tenant_id': {'readonly': True}, + } + + _attribute_map = { + 'principal_id': {'key': 'principalId', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'ResourceIdentityType'}, + 'user_assigned_identities': {'key': 'userAssignedIdentities', 'type': '{ManagedServiceIdentityUserAssignedIdentitiesValue}'}, + } + + def __init__(self, **kwargs): + super(ManagedServiceIdentity, self).__init__(**kwargs) + self.principal_id = None + self.tenant_id = None + self.type = kwargs.get('type', None) + self.user_assigned_identities = kwargs.get('user_assigned_identities', None) + + +class ManagedServiceIdentityUserAssignedIdentitiesValue(Model): + """ManagedServiceIdentityUserAssignedIdentitiesValue. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar principal_id: The principal id of user assigned identity. + :vartype principal_id: str + :ivar client_id: The client id of user assigned identity. + :vartype client_id: str + """ + + _validation = { + 'principal_id': {'readonly': True}, + 'client_id': {'readonly': True}, + } + + _attribute_map = { + 'principal_id': {'key': 'principalId', 'type': 'str'}, + 'client_id': {'key': 'clientId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ManagedServiceIdentityUserAssignedIdentitiesValue, self).__init__(**kwargs) + self.principal_id = None + self.client_id = None + + +class MatchCondition(Model): + """Define match conditions. + + All required parameters must be populated in order to send to Azure. + + :param match_variables: Required. List of match variables. + :type match_variables: + list[~azure.mgmt.network.v2020_04_01.models.MatchVariable] + :param operator: Required. The operator to be matched. Possible values + include: 'IPMatch', 'Equal', 'Contains', 'LessThan', 'GreaterThan', + 'LessThanOrEqual', 'GreaterThanOrEqual', 'BeginsWith', 'EndsWith', + 'Regex', 'GeoMatch' + :type operator: str or + ~azure.mgmt.network.v2020_04_01.models.WebApplicationFirewallOperator + :param negation_conditon: Whether this is negate condition or not. + :type negation_conditon: bool + :param match_values: Required. Match value. + :type match_values: list[str] + :param transforms: List of transforms. + :type transforms: list[str or + ~azure.mgmt.network.v2020_04_01.models.WebApplicationFirewallTransform] + """ + + _validation = { + 'match_variables': {'required': True}, + 'operator': {'required': True}, + 'match_values': {'required': True}, + } + + _attribute_map = { + 'match_variables': {'key': 'matchVariables', 'type': '[MatchVariable]'}, + 'operator': {'key': 'operator', 'type': 'str'}, + 'negation_conditon': {'key': 'negationConditon', 'type': 'bool'}, + 'match_values': {'key': 'matchValues', 'type': '[str]'}, + 'transforms': {'key': 'transforms', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(MatchCondition, self).__init__(**kwargs) + self.match_variables = kwargs.get('match_variables', None) + self.operator = kwargs.get('operator', None) + self.negation_conditon = kwargs.get('negation_conditon', None) + self.match_values = kwargs.get('match_values', None) + self.transforms = kwargs.get('transforms', None) + + +class MatchedRule(Model): + """Matched rule. + + :param rule_name: Name of the matched network security rule. + :type rule_name: str + :param action: The network traffic is allowed or denied. Possible values + are 'Allow' and 'Deny'. + :type action: str + """ + + _attribute_map = { + 'rule_name': {'key': 'ruleName', 'type': 'str'}, + 'action': {'key': 'action', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(MatchedRule, self).__init__(**kwargs) + self.rule_name = kwargs.get('rule_name', None) + self.action = kwargs.get('action', None) + + +class MatchVariable(Model): + """Define match variables. + + All required parameters must be populated in order to send to Azure. + + :param variable_name: Required. Match Variable. Possible values include: + 'RemoteAddr', 'RequestMethod', 'QueryString', 'PostArgs', 'RequestUri', + 'RequestHeaders', 'RequestBody', 'RequestCookies' + :type variable_name: str or + ~azure.mgmt.network.v2020_04_01.models.WebApplicationFirewallMatchVariable + :param selector: The selector of match variable. + :type selector: str + """ + + _validation = { + 'variable_name': {'required': True}, + } + + _attribute_map = { + 'variable_name': {'key': 'variableName', 'type': 'str'}, + 'selector': {'key': 'selector', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(MatchVariable, self).__init__(**kwargs) + self.variable_name = kwargs.get('variable_name', None) + self.selector = kwargs.get('selector', None) + + +class MetricSpecification(Model): + """Description of metrics specification. + + :param name: The name of the metric. + :type name: str + :param display_name: The display name of the metric. + :type display_name: str + :param display_description: The description of the metric. + :type display_description: str + :param unit: Units the metric to be displayed in. + :type unit: str + :param aggregation_type: The aggregation type. + :type aggregation_type: str + :param availabilities: List of availability. + :type availabilities: + list[~azure.mgmt.network.v2020_04_01.models.Availability] + :param enable_regional_mdm_account: Whether regional MDM account enabled. + :type enable_regional_mdm_account: bool + :param fill_gap_with_zero: Whether gaps would be filled with zeros. + :type fill_gap_with_zero: bool + :param metric_filter_pattern: Pattern for the filter of the metric. + :type metric_filter_pattern: str + :param dimensions: List of dimensions. + :type dimensions: list[~azure.mgmt.network.v2020_04_01.models.Dimension] + :param is_internal: Whether the metric is internal. + :type is_internal: bool + :param source_mdm_account: The source MDM account. + :type source_mdm_account: str + :param source_mdm_namespace: The source MDM namespace. + :type source_mdm_namespace: str + :param resource_id_dimension_name_override: The resource Id dimension name + override. + :type resource_id_dimension_name_override: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'display_description': {'key': 'displayDescription', 'type': 'str'}, + 'unit': {'key': 'unit', 'type': 'str'}, + 'aggregation_type': {'key': 'aggregationType', 'type': 'str'}, + 'availabilities': {'key': 'availabilities', 'type': '[Availability]'}, + 'enable_regional_mdm_account': {'key': 'enableRegionalMdmAccount', 'type': 'bool'}, + 'fill_gap_with_zero': {'key': 'fillGapWithZero', 'type': 'bool'}, + 'metric_filter_pattern': {'key': 'metricFilterPattern', 'type': 'str'}, + 'dimensions': {'key': 'dimensions', 'type': '[Dimension]'}, + 'is_internal': {'key': 'isInternal', 'type': 'bool'}, + 'source_mdm_account': {'key': 'sourceMdmAccount', 'type': 'str'}, + 'source_mdm_namespace': {'key': 'sourceMdmNamespace', 'type': 'str'}, + 'resource_id_dimension_name_override': {'key': 'resourceIdDimensionNameOverride', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(MetricSpecification, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.display_name = kwargs.get('display_name', None) + self.display_description = kwargs.get('display_description', None) + self.unit = kwargs.get('unit', None) + self.aggregation_type = kwargs.get('aggregation_type', None) + self.availabilities = kwargs.get('availabilities', None) + self.enable_regional_mdm_account = kwargs.get('enable_regional_mdm_account', None) + self.fill_gap_with_zero = kwargs.get('fill_gap_with_zero', None) + self.metric_filter_pattern = kwargs.get('metric_filter_pattern', None) + self.dimensions = kwargs.get('dimensions', None) + self.is_internal = kwargs.get('is_internal', None) + self.source_mdm_account = kwargs.get('source_mdm_account', None) + self.source_mdm_namespace = kwargs.get('source_mdm_namespace', None) + self.resource_id_dimension_name_override = kwargs.get('resource_id_dimension_name_override', None) + + +class NatGateway(Resource): + """Nat Gateway resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param sku: The nat gateway SKU. + :type sku: ~azure.mgmt.network.v2020_04_01.models.NatGatewaySku + :param idle_timeout_in_minutes: The idle timeout of the nat gateway. + :type idle_timeout_in_minutes: int + :param public_ip_addresses: An array of public ip addresses associated + with the nat gateway resource. + :type public_ip_addresses: + list[~azure.mgmt.network.v2020_04_01.models.SubResource] + :param public_ip_prefixes: An array of public ip prefixes associated with + the nat gateway resource. + :type public_ip_prefixes: + list[~azure.mgmt.network.v2020_04_01.models.SubResource] + :ivar subnets: An array of references to the subnets using this nat + gateway resource. + :vartype subnets: list[~azure.mgmt.network.v2020_04_01.models.SubResource] + :ivar resource_guid: The resource GUID property of the NAT gateway + resource. + :vartype resource_guid: str + :ivar provisioning_state: The provisioning state of the NAT gateway + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param zones: A list of availability zones denoting the zone in which Nat + Gateway should be deployed. + :type zones: list[str] + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'subnets': {'readonly': True}, + 'resource_guid': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'sku': {'key': 'sku', 'type': 'NatGatewaySku'}, + 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, + 'public_ip_addresses': {'key': 'properties.publicIpAddresses', 'type': '[SubResource]'}, + 'public_ip_prefixes': {'key': 'properties.publicIpPrefixes', 'type': '[SubResource]'}, + 'subnets': {'key': 'properties.subnets', 'type': '[SubResource]'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'zones': {'key': 'zones', 'type': '[str]'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(NatGateway, self).__init__(**kwargs) + self.sku = kwargs.get('sku', None) + self.idle_timeout_in_minutes = kwargs.get('idle_timeout_in_minutes', None) + self.public_ip_addresses = kwargs.get('public_ip_addresses', None) + self.public_ip_prefixes = kwargs.get('public_ip_prefixes', None) + self.subnets = None + self.resource_guid = None + self.provisioning_state = None + self.zones = kwargs.get('zones', None) + self.etag = None + + +class NatGatewaySku(Model): + """SKU of nat gateway. + + :param name: Name of Nat Gateway SKU. Possible values include: 'Standard' + :type name: str or + ~azure.mgmt.network.v2020_04_01.models.NatGatewaySkuName + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(NatGatewaySku, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + + +class NatRuleCondition(FirewallPolicyRuleCondition): + """Rule condition of type nat. + + All required parameters must be populated in order to send to Azure. + + :param name: Name of the rule condition. + :type name: str + :param description: Description of the rule condition. + :type description: str + :param rule_condition_type: Required. Constant filled by server. + :type rule_condition_type: str + :param ip_protocols: Array of FirewallPolicyRuleConditionNetworkProtocols. + :type ip_protocols: list[str or + ~azure.mgmt.network.v2020_04_01.models.FirewallPolicyRuleConditionNetworkProtocol] + :param source_addresses: List of source IP addresses for this rule. + :type source_addresses: list[str] + :param destination_addresses: List of destination IP addresses or Service + Tags. + :type destination_addresses: list[str] + :param destination_ports: List of destination ports. + :type destination_ports: list[str] + :param source_ip_groups: List of source IpGroups for this rule. + :type source_ip_groups: list[str] + :param terminate_tls: Terminate TLS connections for this rule. + :type terminate_tls: bool + """ + + _validation = { + 'rule_condition_type': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'rule_condition_type': {'key': 'ruleConditionType', 'type': 'str'}, + 'ip_protocols': {'key': 'ipProtocols', 'type': '[str]'}, + 'source_addresses': {'key': 'sourceAddresses', 'type': '[str]'}, + 'destination_addresses': {'key': 'destinationAddresses', 'type': '[str]'}, + 'destination_ports': {'key': 'destinationPorts', 'type': '[str]'}, + 'source_ip_groups': {'key': 'sourceIpGroups', 'type': '[str]'}, + 'terminate_tls': {'key': 'terminateTLS', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(NatRuleCondition, self).__init__(**kwargs) + self.ip_protocols = kwargs.get('ip_protocols', None) + self.source_addresses = kwargs.get('source_addresses', None) + self.destination_addresses = kwargs.get('destination_addresses', None) + self.destination_ports = kwargs.get('destination_ports', None) + self.source_ip_groups = kwargs.get('source_ip_groups', None) + self.terminate_tls = kwargs.get('terminate_tls', None) + self.rule_condition_type = 'NatRuleCondition' + + +class NetworkConfigurationDiagnosticParameters(Model): + """Parameters to get network configuration diagnostic. + + All required parameters must be populated in order to send to Azure. + + :param target_resource_id: Required. The ID of the target resource to + perform network configuration diagnostic. Valid options are VM, + NetworkInterface, VMSS/NetworkInterface and Application Gateway. + :type target_resource_id: str + :param verbosity_level: Verbosity level. Possible values include: + 'Normal', 'Minimum', 'Full' + :type verbosity_level: str or + ~azure.mgmt.network.v2020_04_01.models.VerbosityLevel + :param profiles: Required. List of network configuration diagnostic + profiles. + :type profiles: + list[~azure.mgmt.network.v2020_04_01.models.NetworkConfigurationDiagnosticProfile] + """ + + _validation = { + 'target_resource_id': {'required': True}, + 'profiles': {'required': True}, + } + + _attribute_map = { + 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, + 'verbosity_level': {'key': 'verbosityLevel', 'type': 'str'}, + 'profiles': {'key': 'profiles', 'type': '[NetworkConfigurationDiagnosticProfile]'}, + } + + def __init__(self, **kwargs): + super(NetworkConfigurationDiagnosticParameters, self).__init__(**kwargs) + self.target_resource_id = kwargs.get('target_resource_id', None) + self.verbosity_level = kwargs.get('verbosity_level', None) + self.profiles = kwargs.get('profiles', None) + + +class NetworkConfigurationDiagnosticProfile(Model): + """Parameters to compare with network configuration. + + All required parameters must be populated in order to send to Azure. + + :param direction: Required. The direction of the traffic. Possible values + include: 'Inbound', 'Outbound' + :type direction: str or ~azure.mgmt.network.v2020_04_01.models.Direction + :param protocol: Required. Protocol to be verified on. Accepted values are + '*', TCP, UDP. + :type protocol: str + :param source: Required. Traffic source. Accepted values are '*', IP + Address/CIDR, Service Tag. + :type source: str + :param destination: Required. Traffic destination. Accepted values are: + '*', IP Address/CIDR, Service Tag. + :type destination: str + :param destination_port: Required. Traffic destination port. Accepted + values are '*' and a single port in the range (0 - 65535). + :type destination_port: str + """ + + _validation = { + 'direction': {'required': True}, + 'protocol': {'required': True}, + 'source': {'required': True}, + 'destination': {'required': True}, + 'destination_port': {'required': True}, + } + + _attribute_map = { + 'direction': {'key': 'direction', 'type': 'str'}, + 'protocol': {'key': 'protocol', 'type': 'str'}, + 'source': {'key': 'source', 'type': 'str'}, + 'destination': {'key': 'destination', 'type': 'str'}, + 'destination_port': {'key': 'destinationPort', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(NetworkConfigurationDiagnosticProfile, self).__init__(**kwargs) + self.direction = kwargs.get('direction', None) + self.protocol = kwargs.get('protocol', None) + self.source = kwargs.get('source', None) + self.destination = kwargs.get('destination', None) + self.destination_port = kwargs.get('destination_port', None) + + +class NetworkConfigurationDiagnosticResponse(Model): + """Results of network configuration diagnostic on the target resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar results: List of network configuration diagnostic results. + :vartype results: + list[~azure.mgmt.network.v2020_04_01.models.NetworkConfigurationDiagnosticResult] + """ + + _validation = { + 'results': {'readonly': True}, + } + + _attribute_map = { + 'results': {'key': 'results', 'type': '[NetworkConfigurationDiagnosticResult]'}, + } + + def __init__(self, **kwargs): + super(NetworkConfigurationDiagnosticResponse, self).__init__(**kwargs) + self.results = None + + +class NetworkConfigurationDiagnosticResult(Model): + """Network configuration diagnostic result corresponded to provided traffic + query. + + :param profile: Network configuration diagnostic profile. + :type profile: + ~azure.mgmt.network.v2020_04_01.models.NetworkConfigurationDiagnosticProfile + :param network_security_group_result: Network security group result. + :type network_security_group_result: + ~azure.mgmt.network.v2020_04_01.models.NetworkSecurityGroupResult + """ + + _attribute_map = { + 'profile': {'key': 'profile', 'type': 'NetworkConfigurationDiagnosticProfile'}, + 'network_security_group_result': {'key': 'networkSecurityGroupResult', 'type': 'NetworkSecurityGroupResult'}, + } + + def __init__(self, **kwargs): + super(NetworkConfigurationDiagnosticResult, self).__init__(**kwargs) + self.profile = kwargs.get('profile', None) + self.network_security_group_result = kwargs.get('network_security_group_result', None) + + +class NetworkIntentPolicy(Resource): + """Network Intent Policy resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(NetworkIntentPolicy, self).__init__(**kwargs) + self.etag = None + + +class NetworkIntentPolicyConfiguration(Model): + """Details of NetworkIntentPolicyConfiguration for + PrepareNetworkPoliciesRequest. + + :param network_intent_policy_name: The name of the Network Intent Policy + for storing in target subscription. + :type network_intent_policy_name: str + :param source_network_intent_policy: Source network intent policy. + :type source_network_intent_policy: + ~azure.mgmt.network.v2020_04_01.models.NetworkIntentPolicy + """ + + _attribute_map = { + 'network_intent_policy_name': {'key': 'networkIntentPolicyName', 'type': 'str'}, + 'source_network_intent_policy': {'key': 'sourceNetworkIntentPolicy', 'type': 'NetworkIntentPolicy'}, + } + + def __init__(self, **kwargs): + super(NetworkIntentPolicyConfiguration, self).__init__(**kwargs) + self.network_intent_policy_name = kwargs.get('network_intent_policy_name', None) + self.source_network_intent_policy = kwargs.get('source_network_intent_policy', None) + + +class NetworkInterface(Resource): + """A network interface in a resource group. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar virtual_machine: The reference to a virtual machine. + :vartype virtual_machine: + ~azure.mgmt.network.v2020_04_01.models.SubResource + :param network_security_group: The reference to the NetworkSecurityGroup + resource. + :type network_security_group: + ~azure.mgmt.network.v2020_04_01.models.NetworkSecurityGroup + :ivar private_endpoint: A reference to the private endpoint to which the + network interface is linked. + :vartype private_endpoint: + ~azure.mgmt.network.v2020_04_01.models.PrivateEndpoint + :param ip_configurations: A list of IPConfigurations of the network + interface. + :type ip_configurations: + list[~azure.mgmt.network.v2020_04_01.models.NetworkInterfaceIPConfiguration] + :ivar tap_configurations: A list of TapConfigurations of the network + interface. + :vartype tap_configurations: + list[~azure.mgmt.network.v2020_04_01.models.NetworkInterfaceTapConfiguration] + :param dns_settings: The DNS settings in network interface. + :type dns_settings: + ~azure.mgmt.network.v2020_04_01.models.NetworkInterfaceDnsSettings + :ivar mac_address: The MAC address of the network interface. + :vartype mac_address: str + :ivar primary: Whether this is a primary network interface on a virtual + machine. + :vartype primary: bool + :param enable_accelerated_networking: If the network interface is + accelerated networking enabled. + :type enable_accelerated_networking: bool + :param enable_ip_forwarding: Indicates whether IP forwarding is enabled on + this network interface. + :type enable_ip_forwarding: bool + :ivar hosted_workloads: A list of references to linked BareMetal + resources. + :vartype hosted_workloads: list[str] + :ivar resource_guid: The resource GUID property of the network interface + resource. + :vartype resource_guid: str + :ivar provisioning_state: The provisioning state of the network interface + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'virtual_machine': {'readonly': True}, + 'private_endpoint': {'readonly': True}, + 'tap_configurations': {'readonly': True}, + 'mac_address': {'readonly': True}, + 'primary': {'readonly': True}, + 'hosted_workloads': {'readonly': True}, + 'resource_guid': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'virtual_machine': {'key': 'properties.virtualMachine', 'type': 'SubResource'}, + 'network_security_group': {'key': 'properties.networkSecurityGroup', 'type': 'NetworkSecurityGroup'}, + 'private_endpoint': {'key': 'properties.privateEndpoint', 'type': 'PrivateEndpoint'}, + 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[NetworkInterfaceIPConfiguration]'}, + 'tap_configurations': {'key': 'properties.tapConfigurations', 'type': '[NetworkInterfaceTapConfiguration]'}, + 'dns_settings': {'key': 'properties.dnsSettings', 'type': 'NetworkInterfaceDnsSettings'}, + 'mac_address': {'key': 'properties.macAddress', 'type': 'str'}, + 'primary': {'key': 'properties.primary', 'type': 'bool'}, + 'enable_accelerated_networking': {'key': 'properties.enableAcceleratedNetworking', 'type': 'bool'}, + 'enable_ip_forwarding': {'key': 'properties.enableIPForwarding', 'type': 'bool'}, + 'hosted_workloads': {'key': 'properties.hostedWorkloads', 'type': '[str]'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(NetworkInterface, self).__init__(**kwargs) + self.virtual_machine = None + self.network_security_group = kwargs.get('network_security_group', None) + self.private_endpoint = None + self.ip_configurations = kwargs.get('ip_configurations', None) + self.tap_configurations = None + self.dns_settings = kwargs.get('dns_settings', None) + self.mac_address = None + self.primary = None + self.enable_accelerated_networking = kwargs.get('enable_accelerated_networking', None) + self.enable_ip_forwarding = kwargs.get('enable_ip_forwarding', None) + self.hosted_workloads = None + self.resource_guid = None + self.provisioning_state = None + self.etag = None + + +class NetworkInterfaceAssociation(Model): + """Network interface and its custom security rules. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Network interface ID. + :vartype id: str + :param security_rules: Collection of custom security rules. + :type security_rules: + list[~azure.mgmt.network.v2020_04_01.models.SecurityRule] + """ + + _validation = { + 'id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'security_rules': {'key': 'securityRules', 'type': '[SecurityRule]'}, + } + + def __init__(self, **kwargs): + super(NetworkInterfaceAssociation, self).__init__(**kwargs) + self.id = None + self.security_rules = kwargs.get('security_rules', None) + + +class NetworkInterfaceDnsSettings(Model): + """DNS settings of a network interface. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param dns_servers: List of DNS servers IP addresses. Use + 'AzureProvidedDNS' to switch to azure provided DNS resolution. + 'AzureProvidedDNS' value cannot be combined with other IPs, it must be the + only value in dnsServers collection. + :type dns_servers: list[str] + :ivar applied_dns_servers: If the VM that uses this NIC is part of an + Availability Set, then this list will have the union of all DNS servers + from all NICs that are part of the Availability Set. This property is what + is configured on each of those VMs. + :vartype applied_dns_servers: list[str] + :param internal_dns_name_label: Relative DNS name for this NIC used for + internal communications between VMs in the same virtual network. + :type internal_dns_name_label: str + :ivar internal_fqdn: Fully qualified DNS name supporting internal + communications between VMs in the same virtual network. + :vartype internal_fqdn: str + :ivar internal_domain_name_suffix: Even if internalDnsNameLabel is not + specified, a DNS entry is created for the primary NIC of the VM. This DNS + name can be constructed by concatenating the VM name with the value of + internalDomainNameSuffix. + :vartype internal_domain_name_suffix: str + """ + + _validation = { + 'applied_dns_servers': {'readonly': True}, + 'internal_fqdn': {'readonly': True}, + 'internal_domain_name_suffix': {'readonly': True}, + } + + _attribute_map = { + 'dns_servers': {'key': 'dnsServers', 'type': '[str]'}, + 'applied_dns_servers': {'key': 'appliedDnsServers', 'type': '[str]'}, + 'internal_dns_name_label': {'key': 'internalDnsNameLabel', 'type': 'str'}, + 'internal_fqdn': {'key': 'internalFqdn', 'type': 'str'}, + 'internal_domain_name_suffix': {'key': 'internalDomainNameSuffix', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(NetworkInterfaceDnsSettings, self).__init__(**kwargs) + self.dns_servers = kwargs.get('dns_servers', None) + self.applied_dns_servers = None + self.internal_dns_name_label = kwargs.get('internal_dns_name_label', None) + self.internal_fqdn = None + self.internal_domain_name_suffix = None + + +class NetworkInterfaceIPConfiguration(SubResource): + """IPConfiguration in a network interface. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param virtual_network_taps: The reference to Virtual Network Taps. + :type virtual_network_taps: + list[~azure.mgmt.network.v2020_04_01.models.VirtualNetworkTap] + :param application_gateway_backend_address_pools: The reference to + ApplicationGatewayBackendAddressPool resource. + :type application_gateway_backend_address_pools: + list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayBackendAddressPool] + :param load_balancer_backend_address_pools: The reference to + LoadBalancerBackendAddressPool resource. + :type load_balancer_backend_address_pools: + list[~azure.mgmt.network.v2020_04_01.models.BackendAddressPool] + :param load_balancer_inbound_nat_rules: A list of references of + LoadBalancerInboundNatRules. + :type load_balancer_inbound_nat_rules: + list[~azure.mgmt.network.v2020_04_01.models.InboundNatRule] + :param private_ip_address: Private IP address of the IP configuration. + :type private_ip_address: str + :param private_ip_allocation_method: The private IP address allocation + method. Possible values include: 'Static', 'Dynamic' + :type private_ip_allocation_method: str or + ~azure.mgmt.network.v2020_04_01.models.IPAllocationMethod + :param private_ip_address_version: Whether the specific IP configuration + is IPv4 or IPv6. Default is IPv4. Possible values include: 'IPv4', 'IPv6' + :type private_ip_address_version: str or + ~azure.mgmt.network.v2020_04_01.models.IPVersion + :param subnet: Subnet bound to the IP configuration. + :type subnet: ~azure.mgmt.network.v2020_04_01.models.Subnet + :param primary: Whether this is a primary customer address on the network + interface. + :type primary: bool + :param public_ip_address: Public IP address bound to the IP configuration. + :type public_ip_address: + ~azure.mgmt.network.v2020_04_01.models.PublicIPAddress + :param application_security_groups: Application security groups in which + the IP configuration is included. + :type application_security_groups: + list[~azure.mgmt.network.v2020_04_01.models.ApplicationSecurityGroup] + :ivar provisioning_state: The provisioning state of the network interface + IP configuration. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :ivar private_link_connection_properties: PrivateLinkConnection properties + for the network interface. + :vartype private_link_connection_properties: + ~azure.mgmt.network.v2020_04_01.models.NetworkInterfaceIPConfigurationPrivateLinkConnectionProperties + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'private_link_connection_properties': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'virtual_network_taps': {'key': 'properties.virtualNetworkTaps', 'type': '[VirtualNetworkTap]'}, + 'application_gateway_backend_address_pools': {'key': 'properties.applicationGatewayBackendAddressPools', 'type': '[ApplicationGatewayBackendAddressPool]'}, + 'load_balancer_backend_address_pools': {'key': 'properties.loadBalancerBackendAddressPools', 'type': '[BackendAddressPool]'}, + 'load_balancer_inbound_nat_rules': {'key': 'properties.loadBalancerInboundNatRules', 'type': '[InboundNatRule]'}, + 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, + 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, + 'private_ip_address_version': {'key': 'properties.privateIPAddressVersion', 'type': 'str'}, + 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, + 'primary': {'key': 'properties.primary', 'type': 'bool'}, + 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'PublicIPAddress'}, + 'application_security_groups': {'key': 'properties.applicationSecurityGroups', 'type': '[ApplicationSecurityGroup]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'private_link_connection_properties': {'key': 'properties.privateLinkConnectionProperties', 'type': 'NetworkInterfaceIPConfigurationPrivateLinkConnectionProperties'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(NetworkInterfaceIPConfiguration, self).__init__(**kwargs) + self.virtual_network_taps = kwargs.get('virtual_network_taps', None) + self.application_gateway_backend_address_pools = kwargs.get('application_gateway_backend_address_pools', None) + self.load_balancer_backend_address_pools = kwargs.get('load_balancer_backend_address_pools', None) + self.load_balancer_inbound_nat_rules = kwargs.get('load_balancer_inbound_nat_rules', None) + self.private_ip_address = kwargs.get('private_ip_address', None) + self.private_ip_allocation_method = kwargs.get('private_ip_allocation_method', None) + self.private_ip_address_version = kwargs.get('private_ip_address_version', None) + self.subnet = kwargs.get('subnet', None) + self.primary = kwargs.get('primary', None) + self.public_ip_address = kwargs.get('public_ip_address', None) + self.application_security_groups = kwargs.get('application_security_groups', None) + self.provisioning_state = None + self.private_link_connection_properties = None + self.name = kwargs.get('name', None) + self.etag = None + + +class NetworkInterfaceIPConfigurationPrivateLinkConnectionProperties(Model): + """PrivateLinkConnection properties for the network interface. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar group_id: The group ID for current private link connection. + :vartype group_id: str + :ivar required_member_name: The required member name for current private + link connection. + :vartype required_member_name: str + :ivar fqdns: List of FQDNs for current private link connection. + :vartype fqdns: list[str] + """ + + _validation = { + 'group_id': {'readonly': True}, + 'required_member_name': {'readonly': True}, + 'fqdns': {'readonly': True}, + } + + _attribute_map = { + 'group_id': {'key': 'groupId', 'type': 'str'}, + 'required_member_name': {'key': 'requiredMemberName', 'type': 'str'}, + 'fqdns': {'key': 'fqdns', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(NetworkInterfaceIPConfigurationPrivateLinkConnectionProperties, self).__init__(**kwargs) + self.group_id = None + self.required_member_name = None + self.fqdns = None + + +class NetworkInterfaceTapConfiguration(SubResource): + """Tap configuration in a Network Interface. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param virtual_network_tap: The reference to the Virtual Network Tap + resource. + :type virtual_network_tap: + ~azure.mgmt.network.v2020_04_01.models.VirtualNetworkTap + :ivar provisioning_state: The provisioning state of the network interface + tap configuration resource. Possible values include: 'Succeeded', + 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Sub Resource type. + :vartype type: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'virtual_network_tap': {'key': 'properties.virtualNetworkTap', 'type': 'VirtualNetworkTap'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(NetworkInterfaceTapConfiguration, self).__init__(**kwargs) + self.virtual_network_tap = kwargs.get('virtual_network_tap', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = None + self.type = None + + +class NetworkProfile(Resource): + """Network profile resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar container_network_interfaces: List of child container network + interfaces. + :vartype container_network_interfaces: + list[~azure.mgmt.network.v2020_04_01.models.ContainerNetworkInterface] + :param container_network_interface_configurations: List of chid container + network interface configurations. + :type container_network_interface_configurations: + list[~azure.mgmt.network.v2020_04_01.models.ContainerNetworkInterfaceConfiguration] + :ivar resource_guid: The resource GUID property of the network profile + resource. + :vartype resource_guid: str + :ivar provisioning_state: The provisioning state of the network profile + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'container_network_interfaces': {'readonly': True}, + 'resource_guid': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'container_network_interfaces': {'key': 'properties.containerNetworkInterfaces', 'type': '[ContainerNetworkInterface]'}, + 'container_network_interface_configurations': {'key': 'properties.containerNetworkInterfaceConfigurations', 'type': '[ContainerNetworkInterfaceConfiguration]'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(NetworkProfile, self).__init__(**kwargs) + self.container_network_interfaces = None + self.container_network_interface_configurations = kwargs.get('container_network_interface_configurations', None) + self.resource_guid = None + self.provisioning_state = None + self.etag = None + + +class NetworkRuleCondition(FirewallPolicyRuleCondition): + """Rule condition of type network. + + All required parameters must be populated in order to send to Azure. + + :param name: Name of the rule condition. + :type name: str + :param description: Description of the rule condition. + :type description: str + :param rule_condition_type: Required. Constant filled by server. + :type rule_condition_type: str + :param ip_protocols: Array of FirewallPolicyRuleConditionNetworkProtocols. + :type ip_protocols: list[str or + ~azure.mgmt.network.v2020_04_01.models.FirewallPolicyRuleConditionNetworkProtocol] + :param source_addresses: List of source IP addresses for this rule. + :type source_addresses: list[str] + :param destination_addresses: List of destination IP addresses or Service + Tags. + :type destination_addresses: list[str] + :param destination_ports: List of destination ports. + :type destination_ports: list[str] + :param source_ip_groups: List of source IpGroups for this rule. + :type source_ip_groups: list[str] + :param destination_ip_groups: List of destination IpGroups for this rule. + :type destination_ip_groups: list[str] + """ + + _validation = { + 'rule_condition_type': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'rule_condition_type': {'key': 'ruleConditionType', 'type': 'str'}, + 'ip_protocols': {'key': 'ipProtocols', 'type': '[str]'}, + 'source_addresses': {'key': 'sourceAddresses', 'type': '[str]'}, + 'destination_addresses': {'key': 'destinationAddresses', 'type': '[str]'}, + 'destination_ports': {'key': 'destinationPorts', 'type': '[str]'}, + 'source_ip_groups': {'key': 'sourceIpGroups', 'type': '[str]'}, + 'destination_ip_groups': {'key': 'destinationIpGroups', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(NetworkRuleCondition, self).__init__(**kwargs) + self.ip_protocols = kwargs.get('ip_protocols', None) + self.source_addresses = kwargs.get('source_addresses', None) + self.destination_addresses = kwargs.get('destination_addresses', None) + self.destination_ports = kwargs.get('destination_ports', None) + self.source_ip_groups = kwargs.get('source_ip_groups', None) + self.destination_ip_groups = kwargs.get('destination_ip_groups', None) + self.rule_condition_type = 'NetworkRuleCondition' + + +class NetworkSecurityGroup(Resource): + """NetworkSecurityGroup resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param security_rules: A collection of security rules of the network + security group. + :type security_rules: + list[~azure.mgmt.network.v2020_04_01.models.SecurityRule] + :ivar default_security_rules: The default security rules of network + security group. + :vartype default_security_rules: + list[~azure.mgmt.network.v2020_04_01.models.SecurityRule] + :ivar network_interfaces: A collection of references to network + interfaces. + :vartype network_interfaces: + list[~azure.mgmt.network.v2020_04_01.models.NetworkInterface] + :ivar subnets: A collection of references to subnets. + :vartype subnets: list[~azure.mgmt.network.v2020_04_01.models.Subnet] + :ivar flow_logs: A collection of references to flow log resources. + :vartype flow_logs: list[~azure.mgmt.network.v2020_04_01.models.FlowLog] + :ivar resource_guid: The resource GUID property of the network security + group resource. + :vartype resource_guid: str + :ivar provisioning_state: The provisioning state of the network security + group resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'default_security_rules': {'readonly': True}, + 'network_interfaces': {'readonly': True}, + 'subnets': {'readonly': True}, + 'flow_logs': {'readonly': True}, + 'resource_guid': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'security_rules': {'key': 'properties.securityRules', 'type': '[SecurityRule]'}, + 'default_security_rules': {'key': 'properties.defaultSecurityRules', 'type': '[SecurityRule]'}, + 'network_interfaces': {'key': 'properties.networkInterfaces', 'type': '[NetworkInterface]'}, + 'subnets': {'key': 'properties.subnets', 'type': '[Subnet]'}, + 'flow_logs': {'key': 'properties.flowLogs', 'type': '[FlowLog]'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(NetworkSecurityGroup, self).__init__(**kwargs) + self.security_rules = kwargs.get('security_rules', None) + self.default_security_rules = None + self.network_interfaces = None + self.subnets = None + self.flow_logs = None + self.resource_guid = None + self.provisioning_state = None + self.etag = None + + +class NetworkSecurityGroupResult(Model): + """Network configuration diagnostic result corresponded provided traffic + query. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param security_rule_access_result: The network traffic is allowed or + denied. Possible values include: 'Allow', 'Deny' + :type security_rule_access_result: str or + ~azure.mgmt.network.v2020_04_01.models.SecurityRuleAccess + :ivar evaluated_network_security_groups: List of results network security + groups diagnostic. + :vartype evaluated_network_security_groups: + list[~azure.mgmt.network.v2020_04_01.models.EvaluatedNetworkSecurityGroup] + """ + + _validation = { + 'evaluated_network_security_groups': {'readonly': True}, + } + + _attribute_map = { + 'security_rule_access_result': {'key': 'securityRuleAccessResult', 'type': 'str'}, + 'evaluated_network_security_groups': {'key': 'evaluatedNetworkSecurityGroups', 'type': '[EvaluatedNetworkSecurityGroup]'}, + } + + def __init__(self, **kwargs): + super(NetworkSecurityGroupResult, self).__init__(**kwargs) + self.security_rule_access_result = kwargs.get('security_rule_access_result', None) + self.evaluated_network_security_groups = None + + +class NetworkSecurityRulesEvaluationResult(Model): + """Network security rules evaluation result. + + :param name: Name of the network security rule. + :type name: str + :param protocol_matched: Value indicating whether protocol is matched. + :type protocol_matched: bool + :param source_matched: Value indicating whether source is matched. + :type source_matched: bool + :param source_port_matched: Value indicating whether source port is + matched. + :type source_port_matched: bool + :param destination_matched: Value indicating whether destination is + matched. + :type destination_matched: bool + :param destination_port_matched: Value indicating whether destination port + is matched. + :type destination_port_matched: bool + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'protocol_matched': {'key': 'protocolMatched', 'type': 'bool'}, + 'source_matched': {'key': 'sourceMatched', 'type': 'bool'}, + 'source_port_matched': {'key': 'sourcePortMatched', 'type': 'bool'}, + 'destination_matched': {'key': 'destinationMatched', 'type': 'bool'}, + 'destination_port_matched': {'key': 'destinationPortMatched', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(NetworkSecurityRulesEvaluationResult, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.protocol_matched = kwargs.get('protocol_matched', None) + self.source_matched = kwargs.get('source_matched', None) + self.source_port_matched = kwargs.get('source_port_matched', None) + self.destination_matched = kwargs.get('destination_matched', None) + self.destination_port_matched = kwargs.get('destination_port_matched', None) + + +class NetworkVirtualAppliance(Resource): + """NetworkVirtualAppliance Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param boot_strap_configuration_blob: BootStrapConfigurationBlob storage + URLs. + :type boot_strap_configuration_blob: list[str] + :param virtual_hub: The Virtual Hub where Network Virtual Appliance is + being deployed. + :type virtual_hub: ~azure.mgmt.network.v2020_04_01.models.SubResource + :param cloud_init_configuration_blob: CloudInitConfigurationBlob storage + URLs. + :type cloud_init_configuration_blob: list[str] + :param virtual_appliance_asn: VirtualAppliance ASN. + :type virtual_appliance_asn: long + :ivar virtual_appliance_nics: List of Virtual Appliance Network + Interfaces. + :vartype virtual_appliance_nics: + list[~azure.mgmt.network.v2020_04_01.models.VirtualApplianceNicProperties] + :ivar provisioning_state: The provisioning state of the resource. Possible + values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param identity: The service principal that has read access to cloud-init + and config blob. + :type identity: + ~azure.mgmt.network.v2020_04_01.models.ManagedServiceIdentity + :param sku: Network Virtual Appliance SKU. + :type sku: + ~azure.mgmt.network.v2020_04_01.models.VirtualApplianceSkuProperties + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'virtual_appliance_asn': {'maximum': 4294967295, 'minimum': 0}, + 'virtual_appliance_nics': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'boot_strap_configuration_blob': {'key': 'properties.bootStrapConfigurationBlob', 'type': '[str]'}, + 'virtual_hub': {'key': 'properties.virtualHub', 'type': 'SubResource'}, + 'cloud_init_configuration_blob': {'key': 'properties.cloudInitConfigurationBlob', 'type': '[str]'}, + 'virtual_appliance_asn': {'key': 'properties.virtualApplianceAsn', 'type': 'long'}, + 'virtual_appliance_nics': {'key': 'properties.virtualApplianceNics', 'type': '[VirtualApplianceNicProperties]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, + 'sku': {'key': 'sku', 'type': 'VirtualApplianceSkuProperties'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(NetworkVirtualAppliance, self).__init__(**kwargs) + self.boot_strap_configuration_blob = kwargs.get('boot_strap_configuration_blob', None) + self.virtual_hub = kwargs.get('virtual_hub', None) + self.cloud_init_configuration_blob = kwargs.get('cloud_init_configuration_blob', None) + self.virtual_appliance_asn = kwargs.get('virtual_appliance_asn', None) + self.virtual_appliance_nics = None + self.provisioning_state = None + self.identity = kwargs.get('identity', None) + self.sku = kwargs.get('sku', None) + self.etag = None + + +class NetworkWatcher(Resource): + """Network watcher in a resource group. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar provisioning_state: The provisioning state of the network watcher + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(NetworkWatcher, self).__init__(**kwargs) + self.etag = None + self.provisioning_state = None + + +class NextHopParameters(Model): + """Parameters that define the source and destination endpoint. + + All required parameters must be populated in order to send to Azure. + + :param target_resource_id: Required. The resource identifier of the target + resource against which the action is to be performed. + :type target_resource_id: str + :param source_ip_address: Required. The source IP address. + :type source_ip_address: str + :param destination_ip_address: Required. The destination IP address. + :type destination_ip_address: str + :param target_nic_resource_id: The NIC ID. (If VM has multiple NICs and IP + forwarding is enabled on any of the nics, then this parameter must be + specified. Otherwise optional). + :type target_nic_resource_id: str + """ + + _validation = { + 'target_resource_id': {'required': True}, + 'source_ip_address': {'required': True}, + 'destination_ip_address': {'required': True}, + } + + _attribute_map = { + 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, + 'source_ip_address': {'key': 'sourceIPAddress', 'type': 'str'}, + 'destination_ip_address': {'key': 'destinationIPAddress', 'type': 'str'}, + 'target_nic_resource_id': {'key': 'targetNicResourceId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(NextHopParameters, self).__init__(**kwargs) + self.target_resource_id = kwargs.get('target_resource_id', None) + self.source_ip_address = kwargs.get('source_ip_address', None) + self.destination_ip_address = kwargs.get('destination_ip_address', None) + self.target_nic_resource_id = kwargs.get('target_nic_resource_id', None) + + +class NextHopResult(Model): + """The information about next hop from the specified VM. + + :param next_hop_type: Next hop type. Possible values include: 'Internet', + 'VirtualAppliance', 'VirtualNetworkGateway', 'VnetLocal', + 'HyperNetGateway', 'None' + :type next_hop_type: str or + ~azure.mgmt.network.v2020_04_01.models.NextHopType + :param next_hop_ip_address: Next hop IP Address. + :type next_hop_ip_address: str + :param route_table_id: The resource identifier for the route table + associated with the route being returned. If the route being returned does + not correspond to any user created routes then this field will be the + string 'System Route'. + :type route_table_id: str + """ + + _attribute_map = { + 'next_hop_type': {'key': 'nextHopType', 'type': 'str'}, + 'next_hop_ip_address': {'key': 'nextHopIpAddress', 'type': 'str'}, + 'route_table_id': {'key': 'routeTableId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(NextHopResult, self).__init__(**kwargs) + self.next_hop_type = kwargs.get('next_hop_type', None) + self.next_hop_ip_address = kwargs.get('next_hop_ip_address', None) + self.route_table_id = kwargs.get('route_table_id', None) + + +class Operation(Model): + """Network REST API operation definition. + + :param name: Operation name: {provider}/{resource}/{operation}. + :type name: str + :param display: Display metadata associated with the operation. + :type display: ~azure.mgmt.network.v2020_04_01.models.OperationDisplay + :param origin: Origin of the operation. + :type origin: str + :param service_specification: Specification of the service. + :type service_specification: + ~azure.mgmt.network.v2020_04_01.models.OperationPropertiesFormatServiceSpecification + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'OperationDisplay'}, + 'origin': {'key': 'origin', 'type': 'str'}, + 'service_specification': {'key': 'properties.serviceSpecification', 'type': 'OperationPropertiesFormatServiceSpecification'}, + } + + def __init__(self, **kwargs): + super(Operation, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.display = kwargs.get('display', None) + self.origin = kwargs.get('origin', None) + self.service_specification = kwargs.get('service_specification', None) + + +class OperationDisplay(Model): + """Display metadata associated with the operation. + + :param provider: Service provider: Microsoft Network. + :type provider: str + :param resource: Resource on which the operation is performed. + :type resource: str + :param operation: Type of the operation: get, read, delete, etc. + :type operation: str + :param description: Description of the operation. + :type description: str + """ + + _attribute_map = { + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(OperationDisplay, self).__init__(**kwargs) + self.provider = kwargs.get('provider', None) + self.resource = kwargs.get('resource', None) + self.operation = kwargs.get('operation', None) + self.description = kwargs.get('description', None) + + +class OperationPropertiesFormatServiceSpecification(Model): + """Specification of the service. + + :param metric_specifications: Operation service specification. + :type metric_specifications: + list[~azure.mgmt.network.v2020_04_01.models.MetricSpecification] + :param log_specifications: Operation log specification. + :type log_specifications: + list[~azure.mgmt.network.v2020_04_01.models.LogSpecification] + """ + + _attribute_map = { + 'metric_specifications': {'key': 'metricSpecifications', 'type': '[MetricSpecification]'}, + 'log_specifications': {'key': 'logSpecifications', 'type': '[LogSpecification]'}, + } + + def __init__(self, **kwargs): + super(OperationPropertiesFormatServiceSpecification, self).__init__(**kwargs) + self.metric_specifications = kwargs.get('metric_specifications', None) + self.log_specifications = kwargs.get('log_specifications', None) + + +class OutboundRule(SubResource): + """Outbound rule of the load balancer. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :param allocated_outbound_ports: The number of outbound ports to be used + for NAT. + :type allocated_outbound_ports: int + :param frontend_ip_configurations: Required. The Frontend IP addresses of + the load balancer. + :type frontend_ip_configurations: + list[~azure.mgmt.network.v2020_04_01.models.SubResource] + :param backend_address_pool: Required. A reference to a pool of DIPs. + Outbound traffic is randomly load balanced across IPs in the backend IPs. + :type backend_address_pool: + ~azure.mgmt.network.v2020_04_01.models.SubResource + :ivar provisioning_state: The provisioning state of the outbound rule + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param protocol: Required. The protocol for the outbound rule in load + balancer. Possible values include: 'Tcp', 'Udp', 'All' + :type protocol: str or + ~azure.mgmt.network.v2020_04_01.models.LoadBalancerOutboundRuleProtocol + :param enable_tcp_reset: Receive bidirectional TCP Reset on TCP flow idle + timeout or unexpected connection termination. This element is only used + when the protocol is set to TCP. + :type enable_tcp_reset: bool + :param idle_timeout_in_minutes: The timeout for the TCP idle connection. + :type idle_timeout_in_minutes: int + :param name: The name of the resource that is unique within the set of + outbound rules used by the load balancer. This name can be used to access + the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'frontend_ip_configurations': {'required': True}, + 'backend_address_pool': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'protocol': {'required': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'allocated_outbound_ports': {'key': 'properties.allocatedOutboundPorts', 'type': 'int'}, + 'frontend_ip_configurations': {'key': 'properties.frontendIPConfigurations', 'type': '[SubResource]'}, + 'backend_address_pool': {'key': 'properties.backendAddressPool', 'type': 'SubResource'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'protocol': {'key': 'properties.protocol', 'type': 'str'}, + 'enable_tcp_reset': {'key': 'properties.enableTcpReset', 'type': 'bool'}, + 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(OutboundRule, self).__init__(**kwargs) + self.allocated_outbound_ports = kwargs.get('allocated_outbound_ports', None) + self.frontend_ip_configurations = kwargs.get('frontend_ip_configurations', None) + self.backend_address_pool = kwargs.get('backend_address_pool', None) + self.provisioning_state = None + self.protocol = kwargs.get('protocol', None) + self.enable_tcp_reset = kwargs.get('enable_tcp_reset', None) + self.idle_timeout_in_minutes = kwargs.get('idle_timeout_in_minutes', None) + self.name = kwargs.get('name', None) + self.etag = None + self.type = None + + +class OwaspCrsExclusionEntry(Model): + """Allow to exclude some variable satisfy the condition for the WAF check. + + All required parameters must be populated in order to send to Azure. + + :param match_variable: Required. The variable to be excluded. Possible + values include: 'RequestHeaderNames', 'RequestCookieNames', + 'RequestArgNames' + :type match_variable: str or + ~azure.mgmt.network.v2020_04_01.models.OwaspCrsExclusionEntryMatchVariable + :param selector_match_operator: Required. When matchVariable is a + collection, operate on the selector to specify which elements in the + collection this exclusion applies to. Possible values include: 'Equals', + 'Contains', 'StartsWith', 'EndsWith', 'EqualsAny' + :type selector_match_operator: str or + ~azure.mgmt.network.v2020_04_01.models.OwaspCrsExclusionEntrySelectorMatchOperator + :param selector: Required. When matchVariable is a collection, operator + used to specify which elements in the collection this exclusion applies + to. + :type selector: str + """ + + _validation = { + 'match_variable': {'required': True}, + 'selector_match_operator': {'required': True}, + 'selector': {'required': True}, + } + + _attribute_map = { + 'match_variable': {'key': 'matchVariable', 'type': 'str'}, + 'selector_match_operator': {'key': 'selectorMatchOperator', 'type': 'str'}, + 'selector': {'key': 'selector', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(OwaspCrsExclusionEntry, self).__init__(**kwargs) + self.match_variable = kwargs.get('match_variable', None) + self.selector_match_operator = kwargs.get('selector_match_operator', None) + self.selector = kwargs.get('selector', None) + + +class P2SConnectionConfiguration(SubResource): + """P2SConnectionConfiguration Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param vpn_client_address_pool: The reference to the address space + resource which represents Address space for P2S VpnClient. + :type vpn_client_address_pool: + ~azure.mgmt.network.v2020_04_01.models.AddressSpace + :param routing_configuration: The Routing Configuration indicating the + associated and propagated route tables on this connection. + :type routing_configuration: + ~azure.mgmt.network.v2020_04_01.models.RoutingConfiguration + :ivar provisioning_state: The provisioning state of the + P2SConnectionConfiguration resource. Possible values include: 'Succeeded', + 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'vpn_client_address_pool': {'key': 'properties.vpnClientAddressPool', 'type': 'AddressSpace'}, + 'routing_configuration': {'key': 'properties.routingConfiguration', 'type': 'RoutingConfiguration'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(P2SConnectionConfiguration, self).__init__(**kwargs) + self.vpn_client_address_pool = kwargs.get('vpn_client_address_pool', None) + self.routing_configuration = kwargs.get('routing_configuration', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = None + + +class P2SVpnConnectionHealth(Model): + """P2S Vpn connection detailed health written to sas url. + + :param sas_url: Returned sas url of the blob to which the p2s vpn + connection detailed health will be written. + :type sas_url: str + """ + + _attribute_map = { + 'sas_url': {'key': 'sasUrl', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(P2SVpnConnectionHealth, self).__init__(**kwargs) + self.sas_url = kwargs.get('sas_url', None) + + +class P2SVpnConnectionHealthRequest(Model): + """List of P2S Vpn connection health request. + + :param vpn_user_names_filter: The list of p2s vpn user names whose p2s vpn + connection detailed health to retrieve for. + :type vpn_user_names_filter: list[str] + :param output_blob_sas_url: The sas-url to download the P2S Vpn connection + health detail. + :type output_blob_sas_url: str + """ + + _attribute_map = { + 'vpn_user_names_filter': {'key': 'vpnUserNamesFilter', 'type': '[str]'}, + 'output_blob_sas_url': {'key': 'outputBlobSasUrl', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(P2SVpnConnectionHealthRequest, self).__init__(**kwargs) + self.vpn_user_names_filter = kwargs.get('vpn_user_names_filter', None) + self.output_blob_sas_url = kwargs.get('output_blob_sas_url', None) + + +class P2SVpnConnectionRequest(Model): + """List of p2s vpn connections to be disconnected. + + :param vpn_connection_ids: List of p2s vpn connection Ids. + :type vpn_connection_ids: list[str] + """ + + _attribute_map = { + 'vpn_connection_ids': {'key': 'vpnConnectionIds', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(P2SVpnConnectionRequest, self).__init__(**kwargs) + self.vpn_connection_ids = kwargs.get('vpn_connection_ids', None) + + +class P2SVpnGateway(Resource): + """P2SVpnGateway Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param virtual_hub: The VirtualHub to which the gateway belongs. + :type virtual_hub: ~azure.mgmt.network.v2020_04_01.models.SubResource + :param p2_sconnection_configurations: List of all p2s connection + configurations of the gateway. + :type p2_sconnection_configurations: + list[~azure.mgmt.network.v2020_04_01.models.P2SConnectionConfiguration] + :ivar provisioning_state: The provisioning state of the P2S VPN gateway + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param vpn_gateway_scale_unit: The scale unit for this p2s vpn gateway. + :type vpn_gateway_scale_unit: int + :param vpn_server_configuration: The VpnServerConfiguration to which the + p2sVpnGateway is attached to. + :type vpn_server_configuration: + ~azure.mgmt.network.v2020_04_01.models.SubResource + :ivar vpn_client_connection_health: All P2S VPN clients' connection health + status. + :vartype vpn_client_connection_health: + ~azure.mgmt.network.v2020_04_01.models.VpnClientConnectionHealth + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'vpn_client_connection_health': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'virtual_hub': {'key': 'properties.virtualHub', 'type': 'SubResource'}, + 'p2_sconnection_configurations': {'key': 'properties.p2SConnectionConfigurations', 'type': '[P2SConnectionConfiguration]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'vpn_gateway_scale_unit': {'key': 'properties.vpnGatewayScaleUnit', 'type': 'int'}, + 'vpn_server_configuration': {'key': 'properties.vpnServerConfiguration', 'type': 'SubResource'}, + 'vpn_client_connection_health': {'key': 'properties.vpnClientConnectionHealth', 'type': 'VpnClientConnectionHealth'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(P2SVpnGateway, self).__init__(**kwargs) + self.virtual_hub = kwargs.get('virtual_hub', None) + self.p2_sconnection_configurations = kwargs.get('p2_sconnection_configurations', None) + self.provisioning_state = None + self.vpn_gateway_scale_unit = kwargs.get('vpn_gateway_scale_unit', None) + self.vpn_server_configuration = kwargs.get('vpn_server_configuration', None) + self.vpn_client_connection_health = None + self.etag = None + + +class P2SVpnProfileParameters(Model): + """Vpn Client Parameters for package generation. + + :param authentication_method: VPN client authentication method. Possible + values include: 'EAPTLS', 'EAPMSCHAPv2' + :type authentication_method: str or + ~azure.mgmt.network.v2020_04_01.models.AuthenticationMethod + """ + + _attribute_map = { + 'authentication_method': {'key': 'authenticationMethod', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(P2SVpnProfileParameters, self).__init__(**kwargs) + self.authentication_method = kwargs.get('authentication_method', None) + + +class PacketCapture(Model): + """Parameters that define the create packet capture operation. + + All required parameters must be populated in order to send to Azure. + + :param target: Required. The ID of the targeted resource, only VM is + currently supported. + :type target: str + :param bytes_to_capture_per_packet: Number of bytes captured per packet, + the remaining bytes are truncated. Default value: 0 . + :type bytes_to_capture_per_packet: int + :param total_bytes_per_session: Maximum size of the capture output. + Default value: 1073741824 . + :type total_bytes_per_session: int + :param time_limit_in_seconds: Maximum duration of the capture session in + seconds. Default value: 18000 . + :type time_limit_in_seconds: int + :param storage_location: Required. The storage location for a packet + capture session. + :type storage_location: + ~azure.mgmt.network.v2020_04_01.models.PacketCaptureStorageLocation + :param filters: A list of packet capture filters. + :type filters: + list[~azure.mgmt.network.v2020_04_01.models.PacketCaptureFilter] + """ + + _validation = { + 'target': {'required': True}, + 'storage_location': {'required': True}, + } + + _attribute_map = { + 'target': {'key': 'properties.target', 'type': 'str'}, + 'bytes_to_capture_per_packet': {'key': 'properties.bytesToCapturePerPacket', 'type': 'int'}, + 'total_bytes_per_session': {'key': 'properties.totalBytesPerSession', 'type': 'int'}, + 'time_limit_in_seconds': {'key': 'properties.timeLimitInSeconds', 'type': 'int'}, + 'storage_location': {'key': 'properties.storageLocation', 'type': 'PacketCaptureStorageLocation'}, + 'filters': {'key': 'properties.filters', 'type': '[PacketCaptureFilter]'}, + } + + def __init__(self, **kwargs): + super(PacketCapture, self).__init__(**kwargs) + self.target = kwargs.get('target', None) + self.bytes_to_capture_per_packet = kwargs.get('bytes_to_capture_per_packet', 0) + self.total_bytes_per_session = kwargs.get('total_bytes_per_session', 1073741824) + self.time_limit_in_seconds = kwargs.get('time_limit_in_seconds', 18000) + self.storage_location = kwargs.get('storage_location', None) + self.filters = kwargs.get('filters', None) + + +class PacketCaptureFilter(Model): + """Filter that is applied to packet capture request. Multiple filters can be + applied. + + :param protocol: Protocol to be filtered on. Possible values include: + 'TCP', 'UDP', 'Any'. Default value: "Any" . + :type protocol: str or ~azure.mgmt.network.v2020_04_01.models.PcProtocol + :param local_ip_address: Local IP Address to be filtered on. Notation: + "127.0.0.1" for single address entry. "127.0.0.1-127.0.0.255" for range. + "127.0.0.1;127.0.0.5"? for multiple entries. Multiple ranges not currently + supported. Mixing ranges with multiple entries not currently supported. + Default = null. + :type local_ip_address: str + :param remote_ip_address: Local IP Address to be filtered on. Notation: + "127.0.0.1" for single address entry. "127.0.0.1-127.0.0.255" for range. + "127.0.0.1;127.0.0.5;" for multiple entries. Multiple ranges not currently + supported. Mixing ranges with multiple entries not currently supported. + Default = null. + :type remote_ip_address: str + :param local_port: Local port to be filtered on. Notation: "80" for single + port entry."80-85" for range. "80;443;" for multiple entries. Multiple + ranges not currently supported. Mixing ranges with multiple entries not + currently supported. Default = null. + :type local_port: str + :param remote_port: Remote port to be filtered on. Notation: "80" for + single port entry."80-85" for range. "80;443;" for multiple entries. + Multiple ranges not currently supported. Mixing ranges with multiple + entries not currently supported. Default = null. + :type remote_port: str + """ + + _attribute_map = { + 'protocol': {'key': 'protocol', 'type': 'str'}, + 'local_ip_address': {'key': 'localIPAddress', 'type': 'str'}, + 'remote_ip_address': {'key': 'remoteIPAddress', 'type': 'str'}, + 'local_port': {'key': 'localPort', 'type': 'str'}, + 'remote_port': {'key': 'remotePort', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PacketCaptureFilter, self).__init__(**kwargs) + self.protocol = kwargs.get('protocol', "Any") + self.local_ip_address = kwargs.get('local_ip_address', None) + self.remote_ip_address = kwargs.get('remote_ip_address', None) + self.local_port = kwargs.get('local_port', None) + self.remote_port = kwargs.get('remote_port', None) + + +class PacketCaptureParameters(Model): + """Parameters that define the create packet capture operation. + + All required parameters must be populated in order to send to Azure. + + :param target: Required. The ID of the targeted resource, only VM is + currently supported. + :type target: str + :param bytes_to_capture_per_packet: Number of bytes captured per packet, + the remaining bytes are truncated. Default value: 0 . + :type bytes_to_capture_per_packet: int + :param total_bytes_per_session: Maximum size of the capture output. + Default value: 1073741824 . + :type total_bytes_per_session: int + :param time_limit_in_seconds: Maximum duration of the capture session in + seconds. Default value: 18000 . + :type time_limit_in_seconds: int + :param storage_location: Required. The storage location for a packet + capture session. + :type storage_location: + ~azure.mgmt.network.v2020_04_01.models.PacketCaptureStorageLocation + :param filters: A list of packet capture filters. + :type filters: + list[~azure.mgmt.network.v2020_04_01.models.PacketCaptureFilter] + """ + + _validation = { + 'target': {'required': True}, + 'storage_location': {'required': True}, + } + + _attribute_map = { + 'target': {'key': 'target', 'type': 'str'}, + 'bytes_to_capture_per_packet': {'key': 'bytesToCapturePerPacket', 'type': 'int'}, + 'total_bytes_per_session': {'key': 'totalBytesPerSession', 'type': 'int'}, + 'time_limit_in_seconds': {'key': 'timeLimitInSeconds', 'type': 'int'}, + 'storage_location': {'key': 'storageLocation', 'type': 'PacketCaptureStorageLocation'}, + 'filters': {'key': 'filters', 'type': '[PacketCaptureFilter]'}, + } + + def __init__(self, **kwargs): + super(PacketCaptureParameters, self).__init__(**kwargs) + self.target = kwargs.get('target', None) + self.bytes_to_capture_per_packet = kwargs.get('bytes_to_capture_per_packet', 0) + self.total_bytes_per_session = kwargs.get('total_bytes_per_session', 1073741824) + self.time_limit_in_seconds = kwargs.get('time_limit_in_seconds', 18000) + self.storage_location = kwargs.get('storage_location', None) + self.filters = kwargs.get('filters', None) + + +class PacketCaptureQueryStatusResult(Model): + """Status of packet capture session. + + :param name: The name of the packet capture resource. + :type name: str + :param id: The ID of the packet capture resource. + :type id: str + :param capture_start_time: The start time of the packet capture session. + :type capture_start_time: datetime + :param packet_capture_status: The status of the packet capture session. + Possible values include: 'NotStarted', 'Running', 'Stopped', 'Error', + 'Unknown' + :type packet_capture_status: str or + ~azure.mgmt.network.v2020_04_01.models.PcStatus + :param stop_reason: The reason the current packet capture session was + stopped. + :type stop_reason: str + :param packet_capture_error: List of errors of packet capture session. + :type packet_capture_error: list[str or + ~azure.mgmt.network.v2020_04_01.models.PcError] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'capture_start_time': {'key': 'captureStartTime', 'type': 'iso-8601'}, + 'packet_capture_status': {'key': 'packetCaptureStatus', 'type': 'str'}, + 'stop_reason': {'key': 'stopReason', 'type': 'str'}, + 'packet_capture_error': {'key': 'packetCaptureError', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(PacketCaptureQueryStatusResult, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.id = kwargs.get('id', None) + self.capture_start_time = kwargs.get('capture_start_time', None) + self.packet_capture_status = kwargs.get('packet_capture_status', None) + self.stop_reason = kwargs.get('stop_reason', None) + self.packet_capture_error = kwargs.get('packet_capture_error', None) + + +class PacketCaptureResult(Model): + """Information about packet capture session. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar name: Name of the packet capture session. + :vartype name: str + :ivar id: ID of the packet capture operation. + :vartype id: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :param target: Required. The ID of the targeted resource, only VM is + currently supported. + :type target: str + :param bytes_to_capture_per_packet: Number of bytes captured per packet, + the remaining bytes are truncated. Default value: 0 . + :type bytes_to_capture_per_packet: int + :param total_bytes_per_session: Maximum size of the capture output. + Default value: 1073741824 . + :type total_bytes_per_session: int + :param time_limit_in_seconds: Maximum duration of the capture session in + seconds. Default value: 18000 . + :type time_limit_in_seconds: int + :param storage_location: Required. The storage location for a packet + capture session. + :type storage_location: + ~azure.mgmt.network.v2020_04_01.models.PacketCaptureStorageLocation + :param filters: A list of packet capture filters. + :type filters: + list[~azure.mgmt.network.v2020_04_01.models.PacketCaptureFilter] + :ivar provisioning_state: The provisioning state of the packet capture + session. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + """ + + _validation = { + 'name': {'readonly': True}, + 'id': {'readonly': True}, + 'etag': {'readonly': True}, + 'target': {'required': True}, + 'storage_location': {'required': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'target': {'key': 'properties.target', 'type': 'str'}, + 'bytes_to_capture_per_packet': {'key': 'properties.bytesToCapturePerPacket', 'type': 'int'}, + 'total_bytes_per_session': {'key': 'properties.totalBytesPerSession', 'type': 'int'}, + 'time_limit_in_seconds': {'key': 'properties.timeLimitInSeconds', 'type': 'int'}, + 'storage_location': {'key': 'properties.storageLocation', 'type': 'PacketCaptureStorageLocation'}, + 'filters': {'key': 'properties.filters', 'type': '[PacketCaptureFilter]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PacketCaptureResult, self).__init__(**kwargs) + self.name = None + self.id = None + self.etag = None + self.target = kwargs.get('target', None) + self.bytes_to_capture_per_packet = kwargs.get('bytes_to_capture_per_packet', 0) + self.total_bytes_per_session = kwargs.get('total_bytes_per_session', 1073741824) + self.time_limit_in_seconds = kwargs.get('time_limit_in_seconds', 18000) + self.storage_location = kwargs.get('storage_location', None) + self.filters = kwargs.get('filters', None) + self.provisioning_state = None + + +class PacketCaptureStorageLocation(Model): + """The storage location for a packet capture session. + + :param storage_id: The ID of the storage account to save the packet + capture session. Required if no local file path is provided. + :type storage_id: str + :param storage_path: The URI of the storage path to save the packet + capture. Must be a well-formed URI describing the location to save the + packet capture. + :type storage_path: str + :param file_path: A valid local path on the targeting VM. Must include the + name of the capture file (*.cap). For linux virtual machine it must start + with /var/captures. Required if no storage ID is provided, otherwise + optional. + :type file_path: str + """ + + _attribute_map = { + 'storage_id': {'key': 'storageId', 'type': 'str'}, + 'storage_path': {'key': 'storagePath', 'type': 'str'}, + 'file_path': {'key': 'filePath', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PacketCaptureStorageLocation, self).__init__(**kwargs) + self.storage_id = kwargs.get('storage_id', None) + self.storage_path = kwargs.get('storage_path', None) + self.file_path = kwargs.get('file_path', None) + + +class PatchRouteFilter(SubResource): + """Route Filter Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param rules: Collection of RouteFilterRules contained within a route + filter. + :type rules: list[~azure.mgmt.network.v2020_04_01.models.RouteFilterRule] + :ivar peerings: A collection of references to express route circuit + peerings. + :vartype peerings: + list[~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitPeering] + :ivar ipv6_peerings: A collection of references to express route circuit + ipv6 peerings. + :vartype ipv6_peerings: + list[~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitPeering] + :ivar provisioning_state: The provisioning state of the route filter + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :ivar name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :vartype name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Resource type. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + """ + + _validation = { + 'peerings': {'readonly': True}, + 'ipv6_peerings': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'name': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'rules': {'key': 'properties.rules', 'type': '[RouteFilterRule]'}, + 'peerings': {'key': 'properties.peerings', 'type': '[ExpressRouteCircuitPeering]'}, + 'ipv6_peerings': {'key': 'properties.ipv6Peerings', 'type': '[ExpressRouteCircuitPeering]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, **kwargs): + super(PatchRouteFilter, self).__init__(**kwargs) + self.rules = kwargs.get('rules', None) + self.peerings = None + self.ipv6_peerings = None + self.provisioning_state = None + self.name = None + self.etag = None + self.type = None + self.tags = kwargs.get('tags', None) + + +class PatchRouteFilterRule(SubResource): + """Route Filter Rule Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :param access: Required. The access type of the rule. Possible values + include: 'Allow', 'Deny' + :type access: str or ~azure.mgmt.network.v2020_04_01.models.Access + :ivar route_filter_rule_type: Required. The rule type of the rule. Default + value: "Community" . + :vartype route_filter_rule_type: str + :param communities: Required. The collection for bgp community values to + filter on. e.g. ['12076:5010','12076:5020']. + :type communities: list[str] + :ivar provisioning_state: The provisioning state of the route filter rule + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :ivar name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :vartype name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'access': {'required': True}, + 'route_filter_rule_type': {'required': True, 'constant': True}, + 'communities': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'name': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'access': {'key': 'properties.access', 'type': 'str'}, + 'route_filter_rule_type': {'key': 'properties.routeFilterRuleType', 'type': 'str'}, + 'communities': {'key': 'properties.communities', 'type': '[str]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + route_filter_rule_type = "Community" + + def __init__(self, **kwargs): + super(PatchRouteFilterRule, self).__init__(**kwargs) + self.access = kwargs.get('access', None) + self.communities = kwargs.get('communities', None) + self.provisioning_state = None + self.name = None + self.etag = None + + +class PeerExpressRouteCircuitConnection(SubResource): + """Peer Express Route Circuit Connection in an ExpressRouteCircuitPeering + resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param express_route_circuit_peering: Reference to Express Route Circuit + Private Peering Resource of the circuit. + :type express_route_circuit_peering: + ~azure.mgmt.network.v2020_04_01.models.SubResource + :param peer_express_route_circuit_peering: Reference to Express Route + Circuit Private Peering Resource of the peered circuit. + :type peer_express_route_circuit_peering: + ~azure.mgmt.network.v2020_04_01.models.SubResource + :param address_prefix: /29 IP address space to carve out Customer + addresses for tunnels. + :type address_prefix: str + :param circuit_connection_status: Express Route Circuit connection state. + Possible values include: 'Connected', 'Connecting', 'Disconnected' + :type circuit_connection_status: str or + ~azure.mgmt.network.v2020_04_01.models.CircuitConnectionStatus + :param connection_name: The name of the express route circuit connection + resource. + :type connection_name: str + :param auth_resource_guid: The resource guid of the authorization used for + the express route circuit connection. + :type auth_resource_guid: str + :ivar provisioning_state: The provisioning state of the peer express route + circuit connection resource. Possible values include: 'Succeeded', + 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'express_route_circuit_peering': {'key': 'properties.expressRouteCircuitPeering', 'type': 'SubResource'}, + 'peer_express_route_circuit_peering': {'key': 'properties.peerExpressRouteCircuitPeering', 'type': 'SubResource'}, + 'address_prefix': {'key': 'properties.addressPrefix', 'type': 'str'}, + 'circuit_connection_status': {'key': 'properties.circuitConnectionStatus', 'type': 'str'}, + 'connection_name': {'key': 'properties.connectionName', 'type': 'str'}, + 'auth_resource_guid': {'key': 'properties.authResourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PeerExpressRouteCircuitConnection, self).__init__(**kwargs) + self.express_route_circuit_peering = kwargs.get('express_route_circuit_peering', None) + self.peer_express_route_circuit_peering = kwargs.get('peer_express_route_circuit_peering', None) + self.address_prefix = kwargs.get('address_prefix', None) + self.circuit_connection_status = kwargs.get('circuit_connection_status', None) + self.connection_name = kwargs.get('connection_name', None) + self.auth_resource_guid = kwargs.get('auth_resource_guid', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = None + self.type = None + + +class PolicySettings(Model): + """Defines contents of a web application firewall global configuration. + + :param state: The state of the policy. Possible values include: + 'Disabled', 'Enabled' + :type state: str or + ~azure.mgmt.network.v2020_04_01.models.WebApplicationFirewallEnabledState + :param mode: The mode of the policy. Possible values include: + 'Prevention', 'Detection' + :type mode: str or + ~azure.mgmt.network.v2020_04_01.models.WebApplicationFirewallMode + :param request_body_check: Whether to allow WAF to check request Body. + :type request_body_check: bool + :param max_request_body_size_in_kb: Maximum request body size in Kb for + WAF. + :type max_request_body_size_in_kb: int + :param file_upload_limit_in_mb: Maximum file upload size in Mb for WAF. + :type file_upload_limit_in_mb: int + """ + + _validation = { + 'max_request_body_size_in_kb': {'maximum': 128, 'minimum': 8}, + 'file_upload_limit_in_mb': {'minimum': 0}, + } + + _attribute_map = { + 'state': {'key': 'state', 'type': 'str'}, + 'mode': {'key': 'mode', 'type': 'str'}, + 'request_body_check': {'key': 'requestBodyCheck', 'type': 'bool'}, + 'max_request_body_size_in_kb': {'key': 'maxRequestBodySizeInKb', 'type': 'int'}, + 'file_upload_limit_in_mb': {'key': 'fileUploadLimitInMb', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(PolicySettings, self).__init__(**kwargs) + self.state = kwargs.get('state', None) + self.mode = kwargs.get('mode', None) + self.request_body_check = kwargs.get('request_body_check', None) + self.max_request_body_size_in_kb = kwargs.get('max_request_body_size_in_kb', None) + self.file_upload_limit_in_mb = kwargs.get('file_upload_limit_in_mb', None) + + +class PrepareNetworkPoliciesRequest(Model): + """Details of PrepareNetworkPolicies for Subnet. + + :param service_name: The name of the service for which subnet is being + prepared for. + :type service_name: str + :param network_intent_policy_configurations: A list of + NetworkIntentPolicyConfiguration. + :type network_intent_policy_configurations: + list[~azure.mgmt.network.v2020_04_01.models.NetworkIntentPolicyConfiguration] + """ + + _attribute_map = { + 'service_name': {'key': 'serviceName', 'type': 'str'}, + 'network_intent_policy_configurations': {'key': 'networkIntentPolicyConfigurations', 'type': '[NetworkIntentPolicyConfiguration]'}, + } + + def __init__(self, **kwargs): + super(PrepareNetworkPoliciesRequest, self).__init__(**kwargs) + self.service_name = kwargs.get('service_name', None) + self.network_intent_policy_configurations = kwargs.get('network_intent_policy_configurations', None) + + +class PrivateDnsZoneConfig(Model): + """PrivateDnsZoneConfig resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param name: Name of the resource that is unique within a resource group. + This name can be used to access the resource. + :type name: str + :param private_dns_zone_id: The resource id of the private dns zone. + :type private_dns_zone_id: str + :ivar record_sets: A collection of information regarding a recordSet, + holding information to identify private resources. + :vartype record_sets: + list[~azure.mgmt.network.v2020_04_01.models.RecordSet] + """ + + _validation = { + 'record_sets': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'private_dns_zone_id': {'key': 'properties.privateDnsZoneId', 'type': 'str'}, + 'record_sets': {'key': 'properties.recordSets', 'type': '[RecordSet]'}, + } + + def __init__(self, **kwargs): + super(PrivateDnsZoneConfig, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.private_dns_zone_id = kwargs.get('private_dns_zone_id', None) + self.record_sets = None + + +class PrivateDnsZoneGroup(SubResource): + """Private dns zone group resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param name: Name of the resource that is unique within a resource group. + This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar provisioning_state: The provisioning state of the private dns zone + group resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param private_dns_zone_configs: A collection of private dns zone + configurations of the private dns zone group. + :type private_dns_zone_configs: + list[~azure.mgmt.network.v2020_04_01.models.PrivateDnsZoneConfig] + """ + + _validation = { + 'etag': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'private_dns_zone_configs': {'key': 'properties.privateDnsZoneConfigs', 'type': '[PrivateDnsZoneConfig]'}, + } + + def __init__(self, **kwargs): + super(PrivateDnsZoneGroup, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.etag = None + self.provisioning_state = None + self.private_dns_zone_configs = kwargs.get('private_dns_zone_configs', None) + + +class PrivateEndpoint(Resource): + """Private endpoint resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param subnet: The ID of the subnet from which the private IP will be + allocated. + :type subnet: ~azure.mgmt.network.v2020_04_01.models.Subnet + :ivar network_interfaces: An array of references to the network interfaces + created for this private endpoint. + :vartype network_interfaces: + list[~azure.mgmt.network.v2020_04_01.models.NetworkInterface] + :ivar provisioning_state: The provisioning state of the private endpoint + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param private_link_service_connections: A grouping of information about + the connection to the remote resource. + :type private_link_service_connections: + list[~azure.mgmt.network.v2020_04_01.models.PrivateLinkServiceConnection] + :param manual_private_link_service_connections: A grouping of information + about the connection to the remote resource. Used when the network admin + does not have access to approve connections to the remote resource. + :type manual_private_link_service_connections: + list[~azure.mgmt.network.v2020_04_01.models.PrivateLinkServiceConnection] + :param custom_dns_configs: An array of custom dns configurations. + :type custom_dns_configs: + list[~azure.mgmt.network.v2020_04_01.models.CustomDnsConfigPropertiesFormat] + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'network_interfaces': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, + 'network_interfaces': {'key': 'properties.networkInterfaces', 'type': '[NetworkInterface]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'private_link_service_connections': {'key': 'properties.privateLinkServiceConnections', 'type': '[PrivateLinkServiceConnection]'}, + 'manual_private_link_service_connections': {'key': 'properties.manualPrivateLinkServiceConnections', 'type': '[PrivateLinkServiceConnection]'}, + 'custom_dns_configs': {'key': 'properties.customDnsConfigs', 'type': '[CustomDnsConfigPropertiesFormat]'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PrivateEndpoint, self).__init__(**kwargs) + self.subnet = kwargs.get('subnet', None) + self.network_interfaces = None + self.provisioning_state = None + self.private_link_service_connections = kwargs.get('private_link_service_connections', None) + self.manual_private_link_service_connections = kwargs.get('manual_private_link_service_connections', None) + self.custom_dns_configs = kwargs.get('custom_dns_configs', None) + self.etag = None + + +class PrivateEndpointConnection(SubResource): + """PrivateEndpointConnection resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar private_endpoint: The resource of private end point. + :vartype private_endpoint: + ~azure.mgmt.network.v2020_04_01.models.PrivateEndpoint + :param private_link_service_connection_state: A collection of information + about the state of the connection between service consumer and provider. + :type private_link_service_connection_state: + ~azure.mgmt.network.v2020_04_01.models.PrivateLinkServiceConnectionState + :ivar provisioning_state: The provisioning state of the private endpoint + connection resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :ivar link_identifier: The consumer link id. + :vartype link_identifier: str + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar type: The resource type. + :vartype type: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'private_endpoint': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'link_identifier': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'private_endpoint': {'key': 'properties.privateEndpoint', 'type': 'PrivateEndpoint'}, + 'private_link_service_connection_state': {'key': 'properties.privateLinkServiceConnectionState', 'type': 'PrivateLinkServiceConnectionState'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'link_identifier': {'key': 'properties.linkIdentifier', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PrivateEndpointConnection, self).__init__(**kwargs) + self.private_endpoint = None + self.private_link_service_connection_state = kwargs.get('private_link_service_connection_state', None) + self.provisioning_state = None + self.link_identifier = None + self.name = kwargs.get('name', None) + self.type = None + self.etag = None + + +class PrivateLinkService(Resource): + """Private link service resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param load_balancer_frontend_ip_configurations: An array of references to + the load balancer IP configurations. + :type load_balancer_frontend_ip_configurations: + list[~azure.mgmt.network.v2020_04_01.models.FrontendIPConfiguration] + :param ip_configurations: An array of private link service IP + configurations. + :type ip_configurations: + list[~azure.mgmt.network.v2020_04_01.models.PrivateLinkServiceIpConfiguration] + :ivar network_interfaces: An array of references to the network interfaces + created for this private link service. + :vartype network_interfaces: + list[~azure.mgmt.network.v2020_04_01.models.NetworkInterface] + :ivar provisioning_state: The provisioning state of the private link + service resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :ivar private_endpoint_connections: An array of list about connections to + the private endpoint. + :vartype private_endpoint_connections: + list[~azure.mgmt.network.v2020_04_01.models.PrivateEndpointConnection] + :param visibility: The visibility list of the private link service. + :type visibility: + ~azure.mgmt.network.v2020_04_01.models.PrivateLinkServicePropertiesVisibility + :param auto_approval: The auto-approval list of the private link service. + :type auto_approval: + ~azure.mgmt.network.v2020_04_01.models.PrivateLinkServicePropertiesAutoApproval + :param fqdns: The list of Fqdn. + :type fqdns: list[str] + :ivar alias: The alias of the private link service. + :vartype alias: str + :param enable_proxy_protocol: Whether the private link service is enabled + for proxy protocol or not. + :type enable_proxy_protocol: bool + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'network_interfaces': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'private_endpoint_connections': {'readonly': True}, + 'alias': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'load_balancer_frontend_ip_configurations': {'key': 'properties.loadBalancerFrontendIpConfigurations', 'type': '[FrontendIPConfiguration]'}, + 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[PrivateLinkServiceIpConfiguration]'}, + 'network_interfaces': {'key': 'properties.networkInterfaces', 'type': '[NetworkInterface]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'private_endpoint_connections': {'key': 'properties.privateEndpointConnections', 'type': '[PrivateEndpointConnection]'}, + 'visibility': {'key': 'properties.visibility', 'type': 'PrivateLinkServicePropertiesVisibility'}, + 'auto_approval': {'key': 'properties.autoApproval', 'type': 'PrivateLinkServicePropertiesAutoApproval'}, + 'fqdns': {'key': 'properties.fqdns', 'type': '[str]'}, + 'alias': {'key': 'properties.alias', 'type': 'str'}, + 'enable_proxy_protocol': {'key': 'properties.enableProxyProtocol', 'type': 'bool'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PrivateLinkService, self).__init__(**kwargs) + self.load_balancer_frontend_ip_configurations = kwargs.get('load_balancer_frontend_ip_configurations', None) + self.ip_configurations = kwargs.get('ip_configurations', None) + self.network_interfaces = None + self.provisioning_state = None + self.private_endpoint_connections = None + self.visibility = kwargs.get('visibility', None) + self.auto_approval = kwargs.get('auto_approval', None) + self.fqdns = kwargs.get('fqdns', None) + self.alias = None + self.enable_proxy_protocol = kwargs.get('enable_proxy_protocol', None) + self.etag = None + + +class PrivateLinkServiceConnection(SubResource): + """PrivateLinkServiceConnection resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar provisioning_state: The provisioning state of the private link + service connection resource. Possible values include: 'Succeeded', + 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param private_link_service_id: The resource id of private link service. + :type private_link_service_id: str + :param group_ids: The ID(s) of the group(s) obtained from the remote + resource that this private endpoint should connect to. + :type group_ids: list[str] + :param request_message: A message passed to the owner of the remote + resource with this connection request. Restricted to 140 chars. + :type request_message: str + :param private_link_service_connection_state: A collection of read-only + information about the state of the connection to the remote resource. + :type private_link_service_connection_state: + ~azure.mgmt.network.v2020_04_01.models.PrivateLinkServiceConnectionState + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar type: The resource type. + :vartype type: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'private_link_service_id': {'key': 'properties.privateLinkServiceId', 'type': 'str'}, + 'group_ids': {'key': 'properties.groupIds', 'type': '[str]'}, + 'request_message': {'key': 'properties.requestMessage', 'type': 'str'}, + 'private_link_service_connection_state': {'key': 'properties.privateLinkServiceConnectionState', 'type': 'PrivateLinkServiceConnectionState'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PrivateLinkServiceConnection, self).__init__(**kwargs) + self.provisioning_state = None + self.private_link_service_id = kwargs.get('private_link_service_id', None) + self.group_ids = kwargs.get('group_ids', None) + self.request_message = kwargs.get('request_message', None) + self.private_link_service_connection_state = kwargs.get('private_link_service_connection_state', None) + self.name = kwargs.get('name', None) + self.type = None + self.etag = None + + +class PrivateLinkServiceConnectionState(Model): + """A collection of information about the state of the connection between + service consumer and provider. + + :param status: Indicates whether the connection has been + Approved/Rejected/Removed by the owner of the service. + :type status: str + :param description: The reason for approval/rejection of the connection. + :type description: str + :param actions_required: A message indicating if changes on the service + provider require any updates on the consumer. + :type actions_required: str + """ + + _attribute_map = { + 'status': {'key': 'status', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'actions_required': {'key': 'actionsRequired', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PrivateLinkServiceConnectionState, self).__init__(**kwargs) + self.status = kwargs.get('status', None) + self.description = kwargs.get('description', None) + self.actions_required = kwargs.get('actions_required', None) + + +class PrivateLinkServiceIpConfiguration(SubResource): + """The private link service ip configuration. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param private_ip_address: The private IP address of the IP configuration. + :type private_ip_address: str + :param private_ip_allocation_method: The private IP address allocation + method. Possible values include: 'Static', 'Dynamic' + :type private_ip_allocation_method: str or + ~azure.mgmt.network.v2020_04_01.models.IPAllocationMethod + :param subnet: The reference to the subnet resource. + :type subnet: ~azure.mgmt.network.v2020_04_01.models.Subnet + :param primary: Whether the ip configuration is primary or not. + :type primary: bool + :ivar provisioning_state: The provisioning state of the private link + service IP configuration resource. Possible values include: 'Succeeded', + 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param private_ip_address_version: Whether the specific IP configuration + is IPv4 or IPv6. Default is IPv4. Possible values include: 'IPv4', 'IPv6' + :type private_ip_address_version: str or + ~azure.mgmt.network.v2020_04_01.models.IPVersion + :param name: The name of private link service ip configuration. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: The resource type. + :vartype type: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, + 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, + 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, + 'primary': {'key': 'properties.primary', 'type': 'bool'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'private_ip_address_version': {'key': 'properties.privateIPAddressVersion', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PrivateLinkServiceIpConfiguration, self).__init__(**kwargs) + self.private_ip_address = kwargs.get('private_ip_address', None) + self.private_ip_allocation_method = kwargs.get('private_ip_allocation_method', None) + self.subnet = kwargs.get('subnet', None) + self.primary = kwargs.get('primary', None) + self.provisioning_state = None + self.private_ip_address_version = kwargs.get('private_ip_address_version', None) + self.name = kwargs.get('name', None) + self.etag = None + self.type = None + + +class ResourceSet(Model): + """The base resource set for visibility and auto-approval. + + :param subscriptions: The list of subscriptions. + :type subscriptions: list[str] + """ + + _attribute_map = { + 'subscriptions': {'key': 'subscriptions', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(ResourceSet, self).__init__(**kwargs) + self.subscriptions = kwargs.get('subscriptions', None) + + +class PrivateLinkServicePropertiesAutoApproval(ResourceSet): + """The auto-approval list of the private link service. + + :param subscriptions: The list of subscriptions. + :type subscriptions: list[str] + """ + + _attribute_map = { + 'subscriptions': {'key': 'subscriptions', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(PrivateLinkServicePropertiesAutoApproval, self).__init__(**kwargs) + + +class PrivateLinkServicePropertiesVisibility(ResourceSet): + """The visibility list of the private link service. + + :param subscriptions: The list of subscriptions. + :type subscriptions: list[str] + """ + + _attribute_map = { + 'subscriptions': {'key': 'subscriptions', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(PrivateLinkServicePropertiesVisibility, self).__init__(**kwargs) + + +class PrivateLinkServiceVisibility(Model): + """Response for the CheckPrivateLinkServiceVisibility API service call. + + :param visible: Private Link Service Visibility (True/False). + :type visible: bool + """ + + _attribute_map = { + 'visible': {'key': 'visible', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(PrivateLinkServiceVisibility, self).__init__(**kwargs) + self.visible = kwargs.get('visible', None) + + +class Probe(SubResource): + """A load balancer probe. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :ivar load_balancing_rules: The load balancer rules that use this probe. + :vartype load_balancing_rules: + list[~azure.mgmt.network.v2020_04_01.models.SubResource] + :param protocol: Required. The protocol of the end point. If 'Tcp' is + specified, a received ACK is required for the probe to be successful. If + 'Http' or 'Https' is specified, a 200 OK response from the specifies URI + is required for the probe to be successful. Possible values include: + 'Http', 'Tcp', 'Https' + :type protocol: str or + ~azure.mgmt.network.v2020_04_01.models.ProbeProtocol + :param port: Required. The port for communicating the probe. Possible + values range from 1 to 65535, inclusive. + :type port: int + :param interval_in_seconds: The interval, in seconds, for how frequently + to probe the endpoint for health status. Typically, the interval is + slightly less than half the allocated timeout period (in seconds) which + allows two full probes before taking the instance out of rotation. The + default value is 15, the minimum value is 5. + :type interval_in_seconds: int + :param number_of_probes: The number of probes where if no response, will + result in stopping further traffic from being delivered to the endpoint. + This values allows endpoints to be taken out of rotation faster or slower + than the typical times used in Azure. + :type number_of_probes: int + :param request_path: The URI used for requesting health status from the + VM. Path is required if a protocol is set to http. Otherwise, it is not + allowed. There is no default value. + :type request_path: str + :ivar provisioning_state: The provisioning state of the probe resource. + Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: The name of the resource that is unique within the set of + probes used by the load balancer. This name can be used to access the + resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'load_balancing_rules': {'readonly': True}, + 'protocol': {'required': True}, + 'port': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'load_balancing_rules': {'key': 'properties.loadBalancingRules', 'type': '[SubResource]'}, + 'protocol': {'key': 'properties.protocol', 'type': 'str'}, + 'port': {'key': 'properties.port', 'type': 'int'}, + 'interval_in_seconds': {'key': 'properties.intervalInSeconds', 'type': 'int'}, + 'number_of_probes': {'key': 'properties.numberOfProbes', 'type': 'int'}, + 'request_path': {'key': 'properties.requestPath', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Probe, self).__init__(**kwargs) + self.load_balancing_rules = None + self.protocol = kwargs.get('protocol', None) + self.port = kwargs.get('port', None) + self.interval_in_seconds = kwargs.get('interval_in_seconds', None) + self.number_of_probes = kwargs.get('number_of_probes', None) + self.request_path = kwargs.get('request_path', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = None + self.type = None + + +class PropagatedRouteTable(Model): + """The list of RouteTables to advertise the routes to. + + :param labels: The list of labels. + :type labels: list[str] + :param ids: The list of resource ids of all the RouteTables. + :type ids: list[~azure.mgmt.network.v2020_04_01.models.SubResource] + """ + + _attribute_map = { + 'labels': {'key': 'labels', 'type': '[str]'}, + 'ids': {'key': 'ids', 'type': '[SubResource]'}, + } + + def __init__(self, **kwargs): + super(PropagatedRouteTable, self).__init__(**kwargs) + self.labels = kwargs.get('labels', None) + self.ids = kwargs.get('ids', None) + + +class ProtocolConfiguration(Model): + """Configuration of the protocol. + + :param http_configuration: HTTP configuration of the connectivity check. + :type http_configuration: + ~azure.mgmt.network.v2020_04_01.models.HTTPConfiguration + """ + + _attribute_map = { + 'http_configuration': {'key': 'HTTPConfiguration', 'type': 'HTTPConfiguration'}, + } + + def __init__(self, **kwargs): + super(ProtocolConfiguration, self).__init__(**kwargs) + self.http_configuration = kwargs.get('http_configuration', None) + + +class ProtocolCustomSettingsFormat(Model): + """DDoS custom policy properties. + + :param protocol: The protocol for which the DDoS protection policy is + being customized. Possible values include: 'Tcp', 'Udp', 'Syn' + :type protocol: str or + ~azure.mgmt.network.v2020_04_01.models.DdosCustomPolicyProtocol + :param trigger_rate_override: The customized DDoS protection trigger rate. + :type trigger_rate_override: str + :param source_rate_override: The customized DDoS protection source rate. + :type source_rate_override: str + :param trigger_sensitivity_override: The customized DDoS protection + trigger rate sensitivity degrees. High: Trigger rate set with most + sensitivity w.r.t. normal traffic. Default: Trigger rate set with moderate + sensitivity w.r.t. normal traffic. Low: Trigger rate set with less + sensitivity w.r.t. normal traffic. Relaxed: Trigger rate set with least + sensitivity w.r.t. normal traffic. Possible values include: 'Relaxed', + 'Low', 'Default', 'High' + :type trigger_sensitivity_override: str or + ~azure.mgmt.network.v2020_04_01.models.DdosCustomPolicyTriggerSensitivityOverride + """ + + _attribute_map = { + 'protocol': {'key': 'protocol', 'type': 'str'}, + 'trigger_rate_override': {'key': 'triggerRateOverride', 'type': 'str'}, + 'source_rate_override': {'key': 'sourceRateOverride', 'type': 'str'}, + 'trigger_sensitivity_override': {'key': 'triggerSensitivityOverride', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ProtocolCustomSettingsFormat, self).__init__(**kwargs) + self.protocol = kwargs.get('protocol', None) + self.trigger_rate_override = kwargs.get('trigger_rate_override', None) + self.source_rate_override = kwargs.get('source_rate_override', None) + self.trigger_sensitivity_override = kwargs.get('trigger_sensitivity_override', None) + + +class PublicIPAddress(Resource): + """Public IP address resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param sku: The public IP address SKU. + :type sku: ~azure.mgmt.network.v2020_04_01.models.PublicIPAddressSku + :param public_ip_allocation_method: The public IP address allocation + method. Possible values include: 'Static', 'Dynamic' + :type public_ip_allocation_method: str or + ~azure.mgmt.network.v2020_04_01.models.IPAllocationMethod + :param public_ip_address_version: The public IP address version. Possible + values include: 'IPv4', 'IPv6' + :type public_ip_address_version: str or + ~azure.mgmt.network.v2020_04_01.models.IPVersion + :ivar ip_configuration: The IP configuration associated with the public IP + address. + :vartype ip_configuration: + ~azure.mgmt.network.v2020_04_01.models.IPConfiguration + :param dns_settings: The FQDN of the DNS record associated with the public + IP address. + :type dns_settings: + ~azure.mgmt.network.v2020_04_01.models.PublicIPAddressDnsSettings + :param ddos_settings: The DDoS protection custom policy associated with + the public IP address. + :type ddos_settings: ~azure.mgmt.network.v2020_04_01.models.DdosSettings + :param ip_tags: The list of tags associated with the public IP address. + :type ip_tags: list[~azure.mgmt.network.v2020_04_01.models.IpTag] + :param ip_address: The IP address associated with the public IP address + resource. + :type ip_address: str + :param public_ip_prefix: The Public IP Prefix this Public IP Address + should be allocated from. + :type public_ip_prefix: ~azure.mgmt.network.v2020_04_01.models.SubResource + :param idle_timeout_in_minutes: The idle timeout of the public IP address. + :type idle_timeout_in_minutes: int + :ivar resource_guid: The resource GUID property of the public IP address + resource. + :vartype resource_guid: str + :ivar provisioning_state: The provisioning state of the public IP address + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :param zones: A list of availability zones denoting the IP allocated for + the resource needs to come from. + :type zones: list[str] + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'ip_configuration': {'readonly': True}, + 'resource_guid': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'sku': {'key': 'sku', 'type': 'PublicIPAddressSku'}, + 'public_ip_allocation_method': {'key': 'properties.publicIPAllocationMethod', 'type': 'str'}, + 'public_ip_address_version': {'key': 'properties.publicIPAddressVersion', 'type': 'str'}, + 'ip_configuration': {'key': 'properties.ipConfiguration', 'type': 'IPConfiguration'}, + 'dns_settings': {'key': 'properties.dnsSettings', 'type': 'PublicIPAddressDnsSettings'}, + 'ddos_settings': {'key': 'properties.ddosSettings', 'type': 'DdosSettings'}, + 'ip_tags': {'key': 'properties.ipTags', 'type': '[IpTag]'}, + 'ip_address': {'key': 'properties.ipAddress', 'type': 'str'}, + 'public_ip_prefix': {'key': 'properties.publicIPPrefix', 'type': 'SubResource'}, + 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'zones': {'key': 'zones', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(PublicIPAddress, self).__init__(**kwargs) + self.sku = kwargs.get('sku', None) + self.public_ip_allocation_method = kwargs.get('public_ip_allocation_method', None) + self.public_ip_address_version = kwargs.get('public_ip_address_version', None) + self.ip_configuration = None + self.dns_settings = kwargs.get('dns_settings', None) + self.ddos_settings = kwargs.get('ddos_settings', None) + self.ip_tags = kwargs.get('ip_tags', None) + self.ip_address = kwargs.get('ip_address', None) + self.public_ip_prefix = kwargs.get('public_ip_prefix', None) + self.idle_timeout_in_minutes = kwargs.get('idle_timeout_in_minutes', None) + self.resource_guid = None + self.provisioning_state = None + self.etag = None + self.zones = kwargs.get('zones', None) + + +class PublicIPAddressDnsSettings(Model): + """Contains FQDN of the DNS record associated with the public IP address. + + :param domain_name_label: The domain name label. The concatenation of the + domain name label and the regionalized DNS zone make up the fully + qualified domain name associated with the public IP address. If a domain + name label is specified, an A DNS record is created for the public IP in + the Microsoft Azure DNS system. + :type domain_name_label: str + :param fqdn: The Fully Qualified Domain Name of the A DNS record + associated with the public IP. This is the concatenation of the + domainNameLabel and the regionalized DNS zone. + :type fqdn: str + :param reverse_fqdn: The reverse FQDN. A user-visible, fully qualified + domain name that resolves to this public IP address. If the reverseFqdn is + specified, then a PTR DNS record is created pointing from the IP address + in the in-addr.arpa domain to the reverse FQDN. + :type reverse_fqdn: str + """ + + _attribute_map = { + 'domain_name_label': {'key': 'domainNameLabel', 'type': 'str'}, + 'fqdn': {'key': 'fqdn', 'type': 'str'}, + 'reverse_fqdn': {'key': 'reverseFqdn', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PublicIPAddressDnsSettings, self).__init__(**kwargs) + self.domain_name_label = kwargs.get('domain_name_label', None) + self.fqdn = kwargs.get('fqdn', None) + self.reverse_fqdn = kwargs.get('reverse_fqdn', None) + + +class PublicIPAddressSku(Model): + """SKU of a public IP address. + + :param name: Name of a public IP address SKU. Possible values include: + 'Basic', 'Standard' + :type name: str or + ~azure.mgmt.network.v2020_04_01.models.PublicIPAddressSkuName + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PublicIPAddressSku, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + + +class PublicIPPrefix(Resource): + """Public IP prefix resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param sku: The public IP prefix SKU. + :type sku: ~azure.mgmt.network.v2020_04_01.models.PublicIPPrefixSku + :param public_ip_address_version: The public IP address version. Possible + values include: 'IPv4', 'IPv6' + :type public_ip_address_version: str or + ~azure.mgmt.network.v2020_04_01.models.IPVersion + :param ip_tags: The list of tags associated with the public IP prefix. + :type ip_tags: list[~azure.mgmt.network.v2020_04_01.models.IpTag] + :param prefix_length: The Length of the Public IP Prefix. + :type prefix_length: int + :ivar ip_prefix: The allocated Prefix. + :vartype ip_prefix: str + :ivar public_ip_addresses: The list of all referenced PublicIPAddresses. + :vartype public_ip_addresses: + list[~azure.mgmt.network.v2020_04_01.models.ReferencedPublicIpAddress] + :ivar load_balancer_frontend_ip_configuration: The reference to load + balancer frontend IP configuration associated with the public IP prefix. + :vartype load_balancer_frontend_ip_configuration: + ~azure.mgmt.network.v2020_04_01.models.SubResource + :ivar resource_guid: The resource GUID property of the public IP prefix + resource. + :vartype resource_guid: str + :ivar provisioning_state: The provisioning state of the public IP prefix + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :param zones: A list of availability zones denoting the IP allocated for + the resource needs to come from. + :type zones: list[str] + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'ip_prefix': {'readonly': True}, + 'public_ip_addresses': {'readonly': True}, + 'load_balancer_frontend_ip_configuration': {'readonly': True}, + 'resource_guid': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'sku': {'key': 'sku', 'type': 'PublicIPPrefixSku'}, + 'public_ip_address_version': {'key': 'properties.publicIPAddressVersion', 'type': 'str'}, + 'ip_tags': {'key': 'properties.ipTags', 'type': '[IpTag]'}, + 'prefix_length': {'key': 'properties.prefixLength', 'type': 'int'}, + 'ip_prefix': {'key': 'properties.ipPrefix', 'type': 'str'}, + 'public_ip_addresses': {'key': 'properties.publicIPAddresses', 'type': '[ReferencedPublicIpAddress]'}, + 'load_balancer_frontend_ip_configuration': {'key': 'properties.loadBalancerFrontendIpConfiguration', 'type': 'SubResource'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'zones': {'key': 'zones', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(PublicIPPrefix, self).__init__(**kwargs) + self.sku = kwargs.get('sku', None) + self.public_ip_address_version = kwargs.get('public_ip_address_version', None) + self.ip_tags = kwargs.get('ip_tags', None) + self.prefix_length = kwargs.get('prefix_length', None) + self.ip_prefix = None + self.public_ip_addresses = None + self.load_balancer_frontend_ip_configuration = None + self.resource_guid = None + self.provisioning_state = None + self.etag = None + self.zones = kwargs.get('zones', None) + + +class PublicIPPrefixSku(Model): + """SKU of a public IP prefix. + + :param name: Name of a public IP prefix SKU. Possible values include: + 'Standard' + :type name: str or + ~azure.mgmt.network.v2020_04_01.models.PublicIPPrefixSkuName + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PublicIPPrefixSku, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + + +class QueryTroubleshootingParameters(Model): + """Parameters that define the resource to query the troubleshooting result. + + All required parameters must be populated in order to send to Azure. + + :param target_resource_id: Required. The target resource ID to query the + troubleshooting result. + :type target_resource_id: str + """ + + _validation = { + 'target_resource_id': {'required': True}, + } + + _attribute_map = { + 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(QueryTroubleshootingParameters, self).__init__(**kwargs) + self.target_resource_id = kwargs.get('target_resource_id', None) + + +class RadiusServer(Model): + """Radius Server Settings. + + All required parameters must be populated in order to send to Azure. + + :param radius_server_address: Required. The address of this radius server. + :type radius_server_address: str + :param radius_server_score: The initial score assigned to this radius + server. + :type radius_server_score: long + :param radius_server_secret: The secret used for this radius server. + :type radius_server_secret: str + """ + + _validation = { + 'radius_server_address': {'required': True}, + } + + _attribute_map = { + 'radius_server_address': {'key': 'radiusServerAddress', 'type': 'str'}, + 'radius_server_score': {'key': 'radiusServerScore', 'type': 'long'}, + 'radius_server_secret': {'key': 'radiusServerSecret', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(RadiusServer, self).__init__(**kwargs) + self.radius_server_address = kwargs.get('radius_server_address', None) + self.radius_server_score = kwargs.get('radius_server_score', None) + self.radius_server_secret = kwargs.get('radius_server_secret', None) + + +class RecordSet(Model): + """A collective group of information about the record set information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param record_type: Resource record type. + :type record_type: str + :param record_set_name: Recordset name. + :type record_set_name: str + :param fqdn: Fqdn that resolves to private endpoint ip address. + :type fqdn: str + :ivar provisioning_state: The provisioning state of the recordset. + Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param ttl: Recordset time to live. + :type ttl: int + :param ip_addresses: The private ip address of the private endpoint. + :type ip_addresses: list[str] + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'record_type': {'key': 'recordType', 'type': 'str'}, + 'record_set_name': {'key': 'recordSetName', 'type': 'str'}, + 'fqdn': {'key': 'fqdn', 'type': 'str'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'ttl': {'key': 'ttl', 'type': 'int'}, + 'ip_addresses': {'key': 'ipAddresses', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(RecordSet, self).__init__(**kwargs) + self.record_type = kwargs.get('record_type', None) + self.record_set_name = kwargs.get('record_set_name', None) + self.fqdn = kwargs.get('fqdn', None) + self.provisioning_state = None + self.ttl = kwargs.get('ttl', None) + self.ip_addresses = kwargs.get('ip_addresses', None) + + +class ReferencedPublicIpAddress(Model): + """Reference to a public IP address. + + :param id: The PublicIPAddress Reference. + :type id: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ReferencedPublicIpAddress, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + + +class ResourceNavigationLink(SubResource): + """ResourceNavigationLink resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param linked_resource_type: Resource type of the linked resource. + :type linked_resource_type: str + :param link: Link to the external resource. + :type link: str + :ivar provisioning_state: The provisioning state of the resource + navigation link resource. Possible values include: 'Succeeded', + 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: Name of the resource that is unique within a resource group. + This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Resource type. + :vartype type: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'linked_resource_type': {'key': 'properties.linkedResourceType', 'type': 'str'}, + 'link': {'key': 'properties.link', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ResourceNavigationLink, self).__init__(**kwargs) + self.linked_resource_type = kwargs.get('linked_resource_type', None) + self.link = kwargs.get('link', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = None + self.type = None + + +class ResourceNavigationLinksListResult(Model): + """Response for ResourceNavigationLinks_List operation. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param value: The resource navigation links in a subnet. + :type value: + list[~azure.mgmt.network.v2020_04_01.models.ResourceNavigationLink] + :ivar next_link: The URL to get the next set of results. + :vartype next_link: str + """ + + _validation = { + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ResourceNavigationLink]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ResourceNavigationLinksListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = None + + +class RetentionPolicyParameters(Model): + """Parameters that define the retention policy for flow log. + + :param days: Number of days to retain flow log records. Default value: 0 . + :type days: int + :param enabled: Flag to enable/disable retention. Default value: False . + :type enabled: bool + """ + + _attribute_map = { + 'days': {'key': 'days', 'type': 'int'}, + 'enabled': {'key': 'enabled', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(RetentionPolicyParameters, self).__init__(**kwargs) + self.days = kwargs.get('days', 0) + self.enabled = kwargs.get('enabled', False) + + +class Route(SubResource): + """Route resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :param address_prefix: The destination CIDR to which the route applies. + :type address_prefix: str + :param next_hop_type: Required. The type of Azure hop the packet should be + sent to. Possible values include: 'VirtualNetworkGateway', 'VnetLocal', + 'Internet', 'VirtualAppliance', 'None' + :type next_hop_type: str or + ~azure.mgmt.network.v2020_04_01.models.RouteNextHopType + :param next_hop_ip_address: The IP address packets should be forwarded to. + Next hop values are only allowed in routes where the next hop type is + VirtualAppliance. + :type next_hop_ip_address: str + :ivar provisioning_state: The provisioning state of the route resource. + Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'next_hop_type': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'address_prefix': {'key': 'properties.addressPrefix', 'type': 'str'}, + 'next_hop_type': {'key': 'properties.nextHopType', 'type': 'str'}, + 'next_hop_ip_address': {'key': 'properties.nextHopIpAddress', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Route, self).__init__(**kwargs) + self.address_prefix = kwargs.get('address_prefix', None) + self.next_hop_type = kwargs.get('next_hop_type', None) + self.next_hop_ip_address = kwargs.get('next_hop_ip_address', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = None + + +class RouteFilter(Resource): + """Route Filter Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param rules: Collection of RouteFilterRules contained within a route + filter. + :type rules: list[~azure.mgmt.network.v2020_04_01.models.RouteFilterRule] + :ivar peerings: A collection of references to express route circuit + peerings. + :vartype peerings: + list[~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitPeering] + :ivar ipv6_peerings: A collection of references to express route circuit + ipv6 peerings. + :vartype ipv6_peerings: + list[~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitPeering] + :ivar provisioning_state: The provisioning state of the route filter + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'peerings': {'readonly': True}, + 'ipv6_peerings': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'rules': {'key': 'properties.rules', 'type': '[RouteFilterRule]'}, + 'peerings': {'key': 'properties.peerings', 'type': '[ExpressRouteCircuitPeering]'}, + 'ipv6_peerings': {'key': 'properties.ipv6Peerings', 'type': '[ExpressRouteCircuitPeering]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(RouteFilter, self).__init__(**kwargs) + self.rules = kwargs.get('rules', None) + self.peerings = None + self.ipv6_peerings = None + self.provisioning_state = None + self.etag = None + + +class RouteFilterRule(SubResource): + """Route Filter Rule Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :param access: Required. The access type of the rule. Possible values + include: 'Allow', 'Deny' + :type access: str or ~azure.mgmt.network.v2020_04_01.models.Access + :ivar route_filter_rule_type: Required. The rule type of the rule. Default + value: "Community" . + :vartype route_filter_rule_type: str + :param communities: Required. The collection for bgp community values to + filter on. e.g. ['12076:5010','12076:5020']. + :type communities: list[str] + :ivar provisioning_state: The provisioning state of the route filter rule + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :param location: Resource location. + :type location: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'access': {'required': True}, + 'route_filter_rule_type': {'required': True, 'constant': True}, + 'communities': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'access': {'key': 'properties.access', 'type': 'str'}, + 'route_filter_rule_type': {'key': 'properties.routeFilterRuleType', 'type': 'str'}, + 'communities': {'key': 'properties.communities', 'type': '[str]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + route_filter_rule_type = "Community" + + def __init__(self, **kwargs): + super(RouteFilterRule, self).__init__(**kwargs) + self.access = kwargs.get('access', None) + self.communities = kwargs.get('communities', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.location = kwargs.get('location', None) + self.etag = None + + +class RouteTable(Resource): + """Route table resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param routes: Collection of routes contained within a route table. + :type routes: list[~azure.mgmt.network.v2020_04_01.models.Route] + :ivar subnets: A collection of references to subnets. + :vartype subnets: list[~azure.mgmt.network.v2020_04_01.models.Subnet] + :param disable_bgp_route_propagation: Whether to disable the routes + learned by BGP on that route table. True means disable. + :type disable_bgp_route_propagation: bool + :ivar provisioning_state: The provisioning state of the route table + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'subnets': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'routes': {'key': 'properties.routes', 'type': '[Route]'}, + 'subnets': {'key': 'properties.subnets', 'type': '[Subnet]'}, + 'disable_bgp_route_propagation': {'key': 'properties.disableBgpRoutePropagation', 'type': 'bool'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(RouteTable, self).__init__(**kwargs) + self.routes = kwargs.get('routes', None) + self.subnets = None + self.disable_bgp_route_propagation = kwargs.get('disable_bgp_route_propagation', None) + self.provisioning_state = None + self.etag = None + + +class RoutingConfiguration(Model): + """Routing Configuration indicating the associated and propagated route tables + for this connection. + + :param associated_route_table: The resource id RouteTable associated with + this RoutingConfiguration. + :type associated_route_table: + ~azure.mgmt.network.v2020_04_01.models.SubResource + :param propagated_route_tables: The list of RouteTables to advertise the + routes to. + :type propagated_route_tables: + ~azure.mgmt.network.v2020_04_01.models.PropagatedRouteTable + :param vnet_routes: List of routes that control routing from VirtualHub + into a virtual network connection. + :type vnet_routes: ~azure.mgmt.network.v2020_04_01.models.VnetRoute + """ + + _attribute_map = { + 'associated_route_table': {'key': 'associatedRouteTable', 'type': 'SubResource'}, + 'propagated_route_tables': {'key': 'propagatedRouteTables', 'type': 'PropagatedRouteTable'}, + 'vnet_routes': {'key': 'vnetRoutes', 'type': 'VnetRoute'}, + } + + def __init__(self, **kwargs): + super(RoutingConfiguration, self).__init__(**kwargs) + self.associated_route_table = kwargs.get('associated_route_table', None) + self.propagated_route_tables = kwargs.get('propagated_route_tables', None) + self.vnet_routes = kwargs.get('vnet_routes', None) + + +class SecurityGroupNetworkInterface(Model): + """Network interface and all its associated security rules. + + :param id: ID of the network interface. + :type id: str + :param security_rule_associations: All security rules associated with the + network interface. + :type security_rule_associations: + ~azure.mgmt.network.v2020_04_01.models.SecurityRuleAssociations + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'security_rule_associations': {'key': 'securityRuleAssociations', 'type': 'SecurityRuleAssociations'}, + } + + def __init__(self, **kwargs): + super(SecurityGroupNetworkInterface, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.security_rule_associations = kwargs.get('security_rule_associations', None) + + +class SecurityGroupViewParameters(Model): + """Parameters that define the VM to check security groups for. + + All required parameters must be populated in order to send to Azure. + + :param target_resource_id: Required. ID of the target VM. + :type target_resource_id: str + """ + + _validation = { + 'target_resource_id': {'required': True}, + } + + _attribute_map = { + 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SecurityGroupViewParameters, self).__init__(**kwargs) + self.target_resource_id = kwargs.get('target_resource_id', None) + + +class SecurityGroupViewResult(Model): + """The information about security rules applied to the specified VM. + + :param network_interfaces: List of network interfaces on the specified VM. + :type network_interfaces: + list[~azure.mgmt.network.v2020_04_01.models.SecurityGroupNetworkInterface] + """ + + _attribute_map = { + 'network_interfaces': {'key': 'networkInterfaces', 'type': '[SecurityGroupNetworkInterface]'}, + } + + def __init__(self, **kwargs): + super(SecurityGroupViewResult, self).__init__(**kwargs) + self.network_interfaces = kwargs.get('network_interfaces', None) + + +class SecurityPartnerProvider(Resource): + """Security Partner Provider resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar provisioning_state: The provisioning state of the Security Partner + Provider resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param security_provider_name: The security provider name. Possible values + include: 'ZScaler', 'IBoss', 'Checkpoint' + :type security_provider_name: str or + ~azure.mgmt.network.v2020_04_01.models.SecurityProviderName + :ivar connection_status: The connection status with the Security Partner + Provider. Possible values include: 'Unknown', 'PartiallyConnected', + 'Connected', 'NotConnected' + :vartype connection_status: str or + ~azure.mgmt.network.v2020_04_01.models.SecurityPartnerProviderConnectionStatus + :param virtual_hub: The virtualHub to which the Security Partner Provider + belongs. + :type virtual_hub: ~azure.mgmt.network.v2020_04_01.models.SubResource + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'connection_status': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'security_provider_name': {'key': 'properties.securityProviderName', 'type': 'str'}, + 'connection_status': {'key': 'properties.connectionStatus', 'type': 'str'}, + 'virtual_hub': {'key': 'properties.virtualHub', 'type': 'SubResource'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SecurityPartnerProvider, self).__init__(**kwargs) + self.provisioning_state = None + self.security_provider_name = kwargs.get('security_provider_name', None) + self.connection_status = None + self.virtual_hub = kwargs.get('virtual_hub', None) + self.etag = None + + +class SecurityRule(SubResource): + """Network security rule. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :param description: A description for this rule. Restricted to 140 chars. + :type description: str + :param protocol: Required. Network protocol this rule applies to. Possible + values include: 'Tcp', 'Udp', 'Icmp', 'Esp', '*', 'Ah' + :type protocol: str or + ~azure.mgmt.network.v2020_04_01.models.SecurityRuleProtocol + :param source_port_range: The source port or range. Integer or range + between 0 and 65535. Asterisk '*' can also be used to match all ports. + :type source_port_range: str + :param destination_port_range: The destination port or range. Integer or + range between 0 and 65535. Asterisk '*' can also be used to match all + ports. + :type destination_port_range: str + :param source_address_prefix: The CIDR or source IP range. Asterisk '*' + can also be used to match all source IPs. Default tags such as + 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. If + this is an ingress rule, specifies where network traffic originates from. + :type source_address_prefix: str + :param source_address_prefixes: The CIDR or source IP ranges. + :type source_address_prefixes: list[str] + :param source_application_security_groups: The application security group + specified as source. + :type source_application_security_groups: + list[~azure.mgmt.network.v2020_04_01.models.ApplicationSecurityGroup] + :param destination_address_prefix: The destination address prefix. CIDR or + destination IP range. Asterisk '*' can also be used to match all source + IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and + 'Internet' can also be used. + :type destination_address_prefix: str + :param destination_address_prefixes: The destination address prefixes. + CIDR or destination IP ranges. + :type destination_address_prefixes: list[str] + :param destination_application_security_groups: The application security + group specified as destination. + :type destination_application_security_groups: + list[~azure.mgmt.network.v2020_04_01.models.ApplicationSecurityGroup] + :param source_port_ranges: The source port ranges. + :type source_port_ranges: list[str] + :param destination_port_ranges: The destination port ranges. + :type destination_port_ranges: list[str] + :param access: Required. The network traffic is allowed or denied. + Possible values include: 'Allow', 'Deny' + :type access: str or + ~azure.mgmt.network.v2020_04_01.models.SecurityRuleAccess + :param priority: The priority of the rule. The value can be between 100 + and 4096. The priority number must be unique for each rule in the + collection. The lower the priority number, the higher the priority of the + rule. + :type priority: int + :param direction: Required. The direction of the rule. The direction + specifies if rule will be evaluated on incoming or outgoing traffic. + Possible values include: 'Inbound', 'Outbound' + :type direction: str or + ~azure.mgmt.network.v2020_04_01.models.SecurityRuleDirection + :ivar provisioning_state: The provisioning state of the security rule + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'protocol': {'required': True}, + 'access': {'required': True}, + 'direction': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'protocol': {'key': 'properties.protocol', 'type': 'str'}, + 'source_port_range': {'key': 'properties.sourcePortRange', 'type': 'str'}, + 'destination_port_range': {'key': 'properties.destinationPortRange', 'type': 'str'}, + 'source_address_prefix': {'key': 'properties.sourceAddressPrefix', 'type': 'str'}, + 'source_address_prefixes': {'key': 'properties.sourceAddressPrefixes', 'type': '[str]'}, + 'source_application_security_groups': {'key': 'properties.sourceApplicationSecurityGroups', 'type': '[ApplicationSecurityGroup]'}, + 'destination_address_prefix': {'key': 'properties.destinationAddressPrefix', 'type': 'str'}, + 'destination_address_prefixes': {'key': 'properties.destinationAddressPrefixes', 'type': '[str]'}, + 'destination_application_security_groups': {'key': 'properties.destinationApplicationSecurityGroups', 'type': '[ApplicationSecurityGroup]'}, + 'source_port_ranges': {'key': 'properties.sourcePortRanges', 'type': '[str]'}, + 'destination_port_ranges': {'key': 'properties.destinationPortRanges', 'type': '[str]'}, + 'access': {'key': 'properties.access', 'type': 'str'}, + 'priority': {'key': 'properties.priority', 'type': 'int'}, + 'direction': {'key': 'properties.direction', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SecurityRule, self).__init__(**kwargs) + self.description = kwargs.get('description', None) + self.protocol = kwargs.get('protocol', None) + self.source_port_range = kwargs.get('source_port_range', None) + self.destination_port_range = kwargs.get('destination_port_range', None) + self.source_address_prefix = kwargs.get('source_address_prefix', None) + self.source_address_prefixes = kwargs.get('source_address_prefixes', None) + self.source_application_security_groups = kwargs.get('source_application_security_groups', None) + self.destination_address_prefix = kwargs.get('destination_address_prefix', None) + self.destination_address_prefixes = kwargs.get('destination_address_prefixes', None) + self.destination_application_security_groups = kwargs.get('destination_application_security_groups', None) + self.source_port_ranges = kwargs.get('source_port_ranges', None) + self.destination_port_ranges = kwargs.get('destination_port_ranges', None) + self.access = kwargs.get('access', None) + self.priority = kwargs.get('priority', None) + self.direction = kwargs.get('direction', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = None + + +class SecurityRuleAssociations(Model): + """All security rules associated with the network interface. + + :param network_interface_association: Network interface and it's custom + security rules. + :type network_interface_association: + ~azure.mgmt.network.v2020_04_01.models.NetworkInterfaceAssociation + :param subnet_association: Subnet and it's custom security rules. + :type subnet_association: + ~azure.mgmt.network.v2020_04_01.models.SubnetAssociation + :param default_security_rules: Collection of default security rules of the + network security group. + :type default_security_rules: + list[~azure.mgmt.network.v2020_04_01.models.SecurityRule] + :param effective_security_rules: Collection of effective security rules. + :type effective_security_rules: + list[~azure.mgmt.network.v2020_04_01.models.EffectiveNetworkSecurityRule] + """ + + _attribute_map = { + 'network_interface_association': {'key': 'networkInterfaceAssociation', 'type': 'NetworkInterfaceAssociation'}, + 'subnet_association': {'key': 'subnetAssociation', 'type': 'SubnetAssociation'}, + 'default_security_rules': {'key': 'defaultSecurityRules', 'type': '[SecurityRule]'}, + 'effective_security_rules': {'key': 'effectiveSecurityRules', 'type': '[EffectiveNetworkSecurityRule]'}, + } + + def __init__(self, **kwargs): + super(SecurityRuleAssociations, self).__init__(**kwargs) + self.network_interface_association = kwargs.get('network_interface_association', None) + self.subnet_association = kwargs.get('subnet_association', None) + self.default_security_rules = kwargs.get('default_security_rules', None) + self.effective_security_rules = kwargs.get('effective_security_rules', None) + + +class ServiceAssociationLink(SubResource): + """ServiceAssociationLink resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param linked_resource_type: Resource type of the linked resource. + :type linked_resource_type: str + :param link: Link to the external resource. + :type link: str + :ivar provisioning_state: The provisioning state of the service + association link resource. Possible values include: 'Succeeded', + 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param allow_delete: If true, the resource can be deleted. + :type allow_delete: bool + :param locations: A list of locations. + :type locations: list[str] + :param name: Name of the resource that is unique within a resource group. + This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Resource type. + :vartype type: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'linked_resource_type': {'key': 'properties.linkedResourceType', 'type': 'str'}, + 'link': {'key': 'properties.link', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'allow_delete': {'key': 'properties.allowDelete', 'type': 'bool'}, + 'locations': {'key': 'properties.locations', 'type': '[str]'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ServiceAssociationLink, self).__init__(**kwargs) + self.linked_resource_type = kwargs.get('linked_resource_type', None) + self.link = kwargs.get('link', None) + self.provisioning_state = None + self.allow_delete = kwargs.get('allow_delete', None) + self.locations = kwargs.get('locations', None) + self.name = kwargs.get('name', None) + self.etag = None + self.type = None + + +class ServiceAssociationLinksListResult(Model): + """Response for ServiceAssociationLinks_List operation. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param value: The service association links in a subnet. + :type value: + list[~azure.mgmt.network.v2020_04_01.models.ServiceAssociationLink] + :ivar next_link: The URL to get the next set of results. + :vartype next_link: str + """ + + _validation = { + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ServiceAssociationLink]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ServiceAssociationLinksListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = None + + +class ServiceEndpointPolicy(Resource): + """Service End point policy resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param service_endpoint_policy_definitions: A collection of service + endpoint policy definitions of the service endpoint policy. + :type service_endpoint_policy_definitions: + list[~azure.mgmt.network.v2020_04_01.models.ServiceEndpointPolicyDefinition] + :ivar subnets: A collection of references to subnets. + :vartype subnets: list[~azure.mgmt.network.v2020_04_01.models.Subnet] + :ivar resource_guid: The resource GUID property of the service endpoint + policy resource. + :vartype resource_guid: str + :ivar provisioning_state: The provisioning state of the service endpoint + policy resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'subnets': {'readonly': True}, + 'resource_guid': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'service_endpoint_policy_definitions': {'key': 'properties.serviceEndpointPolicyDefinitions', 'type': '[ServiceEndpointPolicyDefinition]'}, + 'subnets': {'key': 'properties.subnets', 'type': '[Subnet]'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ServiceEndpointPolicy, self).__init__(**kwargs) + self.service_endpoint_policy_definitions = kwargs.get('service_endpoint_policy_definitions', None) + self.subnets = None + self.resource_guid = None + self.provisioning_state = None + self.etag = None + + +class ServiceEndpointPolicyDefinition(SubResource): + """Service Endpoint policy definitions. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param description: A description for this rule. Restricted to 140 chars. + :type description: str + :param service: Service endpoint name. + :type service: str + :param service_resources: A list of service resources. + :type service_resources: list[str] + :ivar provisioning_state: The provisioning state of the service endpoint + policy definition resource. Possible values include: 'Succeeded', + 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'service': {'key': 'properties.service', 'type': 'str'}, + 'service_resources': {'key': 'properties.serviceResources', 'type': '[str]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ServiceEndpointPolicyDefinition, self).__init__(**kwargs) + self.description = kwargs.get('description', None) + self.service = kwargs.get('service', None) + self.service_resources = kwargs.get('service_resources', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = None + + +class ServiceEndpointPropertiesFormat(Model): + """The service endpoint properties. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param service: The type of the endpoint service. + :type service: str + :param locations: A list of locations. + :type locations: list[str] + :ivar provisioning_state: The provisioning state of the service endpoint + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'service': {'key': 'service', 'type': 'str'}, + 'locations': {'key': 'locations', 'type': '[str]'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ServiceEndpointPropertiesFormat, self).__init__(**kwargs) + self.service = kwargs.get('service', None) + self.locations = kwargs.get('locations', None) + self.provisioning_state = None + + +class ServiceTagInformation(Model): + """The service tag information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar properties: Properties of the service tag information. + :vartype properties: + ~azure.mgmt.network.v2020_04_01.models.ServiceTagInformationPropertiesFormat + :ivar name: The name of service tag. + :vartype name: str + :ivar id: The ID of service tag. + :vartype id: str + """ + + _validation = { + 'properties': {'readonly': True}, + 'name': {'readonly': True}, + 'id': {'readonly': True}, + } + + _attribute_map = { + 'properties': {'key': 'properties', 'type': 'ServiceTagInformationPropertiesFormat'}, + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ServiceTagInformation, self).__init__(**kwargs) + self.properties = None + self.name = None + self.id = None + + +class ServiceTagInformationPropertiesFormat(Model): + """Properties of the service tag information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar change_number: The iteration number of service tag. + :vartype change_number: str + :ivar region: The region of service tag. + :vartype region: str + :ivar system_service: The name of system service. + :vartype system_service: str + :ivar address_prefixes: The list of IP address prefixes. + :vartype address_prefixes: list[str] + """ + + _validation = { + 'change_number': {'readonly': True}, + 'region': {'readonly': True}, + 'system_service': {'readonly': True}, + 'address_prefixes': {'readonly': True}, + } + + _attribute_map = { + 'change_number': {'key': 'changeNumber', 'type': 'str'}, + 'region': {'key': 'region', 'type': 'str'}, + 'system_service': {'key': 'systemService', 'type': 'str'}, + 'address_prefixes': {'key': 'addressPrefixes', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(ServiceTagInformationPropertiesFormat, self).__init__(**kwargs) + self.change_number = None + self.region = None + self.system_service = None + self.address_prefixes = None + + +class ServiceTagsListResult(Model): + """Response for the ListServiceTags API service call. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name: The name of the cloud. + :vartype name: str + :ivar id: The ID of the cloud. + :vartype id: str + :ivar type: The azure resource type. + :vartype type: str + :ivar change_number: The iteration number. + :vartype change_number: str + :ivar cloud: The name of the cloud. + :vartype cloud: str + :ivar values: The list of service tag information resources. + :vartype values: + list[~azure.mgmt.network.v2020_04_01.models.ServiceTagInformation] + """ + + _validation = { + 'name': {'readonly': True}, + 'id': {'readonly': True}, + 'type': {'readonly': True}, + 'change_number': {'readonly': True}, + 'cloud': {'readonly': True}, + 'values': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'change_number': {'key': 'changeNumber', 'type': 'str'}, + 'cloud': {'key': 'cloud', 'type': 'str'}, + 'values': {'key': 'values', 'type': '[ServiceTagInformation]'}, + } + + def __init__(self, **kwargs): + super(ServiceTagsListResult, self).__init__(**kwargs) + self.name = None + self.id = None + self.type = None + self.change_number = None + self.cloud = None + self.values = None + + +class SessionIds(Model): + """List of session IDs. + + :param session_ids: List of session IDs. + :type session_ids: list[str] + """ + + _attribute_map = { + 'session_ids': {'key': 'sessionIds', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(SessionIds, self).__init__(**kwargs) + self.session_ids = kwargs.get('session_ids', None) + + +class StaticRoute(Model): + """List of all Static Routes. + + :param name: The name of the StaticRoute that is unique within a + VnetRoute. + :type name: str + :param address_prefixes: List of all address prefixes. + :type address_prefixes: list[str] + :param next_hop_ip_address: The ip address of the next hop. + :type next_hop_ip_address: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'address_prefixes': {'key': 'addressPrefixes', 'type': '[str]'}, + 'next_hop_ip_address': {'key': 'nextHopIpAddress', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(StaticRoute, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.address_prefixes = kwargs.get('address_prefixes', None) + self.next_hop_ip_address = kwargs.get('next_hop_ip_address', None) + + +class Subnet(SubResource): + """Subnet in a virtual network resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param address_prefix: The address prefix for the subnet. + :type address_prefix: str + :param address_prefixes: List of address prefixes for the subnet. + :type address_prefixes: list[str] + :param network_security_group: The reference to the NetworkSecurityGroup + resource. + :type network_security_group: + ~azure.mgmt.network.v2020_04_01.models.NetworkSecurityGroup + :param route_table: The reference to the RouteTable resource. + :type route_table: ~azure.mgmt.network.v2020_04_01.models.RouteTable + :param nat_gateway: Nat gateway associated with this subnet. + :type nat_gateway: ~azure.mgmt.network.v2020_04_01.models.SubResource + :param service_endpoints: An array of service endpoints. + :type service_endpoints: + list[~azure.mgmt.network.v2020_04_01.models.ServiceEndpointPropertiesFormat] + :param service_endpoint_policies: An array of service endpoint policies. + :type service_endpoint_policies: + list[~azure.mgmt.network.v2020_04_01.models.ServiceEndpointPolicy] + :ivar private_endpoints: An array of references to private endpoints. + :vartype private_endpoints: + list[~azure.mgmt.network.v2020_04_01.models.PrivateEndpoint] + :ivar ip_configurations: An array of references to the network interface + IP configurations using subnet. + :vartype ip_configurations: + list[~azure.mgmt.network.v2020_04_01.models.IPConfiguration] + :ivar ip_configuration_profiles: Array of IP configuration profiles which + reference this subnet. + :vartype ip_configuration_profiles: + list[~azure.mgmt.network.v2020_04_01.models.IPConfigurationProfile] + :param ip_allocations: Array of IpAllocation which reference this subnet. + :type ip_allocations: + list[~azure.mgmt.network.v2020_04_01.models.SubResource] + :ivar resource_navigation_links: An array of references to the external + resources using subnet. + :vartype resource_navigation_links: + list[~azure.mgmt.network.v2020_04_01.models.ResourceNavigationLink] + :ivar service_association_links: An array of references to services + injecting into this subnet. + :vartype service_association_links: + list[~azure.mgmt.network.v2020_04_01.models.ServiceAssociationLink] + :param delegations: An array of references to the delegations on the + subnet. + :type delegations: list[~azure.mgmt.network.v2020_04_01.models.Delegation] + :ivar purpose: A read-only string identifying the intention of use for + this subnet based on delegations and other user-defined properties. + :vartype purpose: str + :ivar provisioning_state: The provisioning state of the subnet resource. + Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param private_endpoint_network_policies: Enable or Disable apply network + policies on private end point in the subnet. + :type private_endpoint_network_policies: str + :param private_link_service_network_policies: Enable or Disable apply + network policies on private link service in the subnet. + :type private_link_service_network_policies: str + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'private_endpoints': {'readonly': True}, + 'ip_configurations': {'readonly': True}, + 'ip_configuration_profiles': {'readonly': True}, + 'resource_navigation_links': {'readonly': True}, + 'service_association_links': {'readonly': True}, + 'purpose': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'address_prefix': {'key': 'properties.addressPrefix', 'type': 'str'}, + 'address_prefixes': {'key': 'properties.addressPrefixes', 'type': '[str]'}, + 'network_security_group': {'key': 'properties.networkSecurityGroup', 'type': 'NetworkSecurityGroup'}, + 'route_table': {'key': 'properties.routeTable', 'type': 'RouteTable'}, + 'nat_gateway': {'key': 'properties.natGateway', 'type': 'SubResource'}, + 'service_endpoints': {'key': 'properties.serviceEndpoints', 'type': '[ServiceEndpointPropertiesFormat]'}, + 'service_endpoint_policies': {'key': 'properties.serviceEndpointPolicies', 'type': '[ServiceEndpointPolicy]'}, + 'private_endpoints': {'key': 'properties.privateEndpoints', 'type': '[PrivateEndpoint]'}, + 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[IPConfiguration]'}, + 'ip_configuration_profiles': {'key': 'properties.ipConfigurationProfiles', 'type': '[IPConfigurationProfile]'}, + 'ip_allocations': {'key': 'properties.ipAllocations', 'type': '[SubResource]'}, + 'resource_navigation_links': {'key': 'properties.resourceNavigationLinks', 'type': '[ResourceNavigationLink]'}, + 'service_association_links': {'key': 'properties.serviceAssociationLinks', 'type': '[ServiceAssociationLink]'}, + 'delegations': {'key': 'properties.delegations', 'type': '[Delegation]'}, + 'purpose': {'key': 'properties.purpose', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'private_endpoint_network_policies': {'key': 'properties.privateEndpointNetworkPolicies', 'type': 'str'}, + 'private_link_service_network_policies': {'key': 'properties.privateLinkServiceNetworkPolicies', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Subnet, self).__init__(**kwargs) + self.address_prefix = kwargs.get('address_prefix', None) + self.address_prefixes = kwargs.get('address_prefixes', None) + self.network_security_group = kwargs.get('network_security_group', None) + self.route_table = kwargs.get('route_table', None) + self.nat_gateway = kwargs.get('nat_gateway', None) + self.service_endpoints = kwargs.get('service_endpoints', None) + self.service_endpoint_policies = kwargs.get('service_endpoint_policies', None) + self.private_endpoints = None + self.ip_configurations = None + self.ip_configuration_profiles = None + self.ip_allocations = kwargs.get('ip_allocations', None) + self.resource_navigation_links = None + self.service_association_links = None + self.delegations = kwargs.get('delegations', None) + self.purpose = None + self.provisioning_state = None + self.private_endpoint_network_policies = kwargs.get('private_endpoint_network_policies', None) + self.private_link_service_network_policies = kwargs.get('private_link_service_network_policies', None) + self.name = kwargs.get('name', None) + self.etag = None + + +class SubnetAssociation(Model): + """Subnet and it's custom security rules. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Subnet ID. + :vartype id: str + :param security_rules: Collection of custom security rules. + :type security_rules: + list[~azure.mgmt.network.v2020_04_01.models.SecurityRule] + """ + + _validation = { + 'id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'security_rules': {'key': 'securityRules', 'type': '[SecurityRule]'}, + } + + def __init__(self, **kwargs): + super(SubnetAssociation, self).__init__(**kwargs) + self.id = None + self.security_rules = kwargs.get('security_rules', None) + + +class TagsObject(Model): + """Tags object for patch operations. + + :param tags: Resource tags. + :type tags: dict[str, str] + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, **kwargs): + super(TagsObject, self).__init__(**kwargs) + self.tags = kwargs.get('tags', None) + + +class Topology(Model): + """Topology of the specified resource group. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: GUID representing the operation id. + :vartype id: str + :ivar created_date_time: The datetime when the topology was initially + created for the resource group. + :vartype created_date_time: datetime + :ivar last_modified: The datetime when the topology was last modified. + :vartype last_modified: datetime + :param resources: A list of topology resources. + :type resources: + list[~azure.mgmt.network.v2020_04_01.models.TopologyResource] + """ + + _validation = { + 'id': {'readonly': True}, + 'created_date_time': {'readonly': True}, + 'last_modified': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'created_date_time': {'key': 'createdDateTime', 'type': 'iso-8601'}, + 'last_modified': {'key': 'lastModified', 'type': 'iso-8601'}, + 'resources': {'key': 'resources', 'type': '[TopologyResource]'}, + } + + def __init__(self, **kwargs): + super(Topology, self).__init__(**kwargs) + self.id = None + self.created_date_time = None + self.last_modified = None + self.resources = kwargs.get('resources', None) + + +class TopologyAssociation(Model): + """Resources that have an association with the parent resource. + + :param name: The name of the resource that is associated with the parent + resource. + :type name: str + :param resource_id: The ID of the resource that is associated with the + parent resource. + :type resource_id: str + :param association_type: The association type of the child resource to the + parent resource. Possible values include: 'Associated', 'Contains' + :type association_type: str or + ~azure.mgmt.network.v2020_04_01.models.AssociationType + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + 'association_type': {'key': 'associationType', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(TopologyAssociation, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.resource_id = kwargs.get('resource_id', None) + self.association_type = kwargs.get('association_type', None) + + +class TopologyParameters(Model): + """Parameters that define the representation of topology. + + :param target_resource_group_name: The name of the target resource group + to perform topology on. + :type target_resource_group_name: str + :param target_virtual_network: The reference to the Virtual Network + resource. + :type target_virtual_network: + ~azure.mgmt.network.v2020_04_01.models.SubResource + :param target_subnet: The reference to the Subnet resource. + :type target_subnet: ~azure.mgmt.network.v2020_04_01.models.SubResource + """ + + _attribute_map = { + 'target_resource_group_name': {'key': 'targetResourceGroupName', 'type': 'str'}, + 'target_virtual_network': {'key': 'targetVirtualNetwork', 'type': 'SubResource'}, + 'target_subnet': {'key': 'targetSubnet', 'type': 'SubResource'}, + } + + def __init__(self, **kwargs): + super(TopologyParameters, self).__init__(**kwargs) + self.target_resource_group_name = kwargs.get('target_resource_group_name', None) + self.target_virtual_network = kwargs.get('target_virtual_network', None) + self.target_subnet = kwargs.get('target_subnet', None) + + +class TopologyResource(Model): + """The network resource topology information for the given resource group. + + :param name: Name of the resource. + :type name: str + :param id: ID of the resource. + :type id: str + :param location: Resource location. + :type location: str + :param associations: Holds the associations the resource has with other + resources in the resource group. + :type associations: + list[~azure.mgmt.network.v2020_04_01.models.TopologyAssociation] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'associations': {'key': 'associations', 'type': '[TopologyAssociation]'}, + } + + def __init__(self, **kwargs): + super(TopologyResource, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.id = kwargs.get('id', None) + self.location = kwargs.get('location', None) + self.associations = kwargs.get('associations', None) + + +class TrafficAnalyticsConfigurationProperties(Model): + """Parameters that define the configuration of traffic analytics. + + :param enabled: Flag to enable/disable traffic analytics. + :type enabled: bool + :param workspace_id: The resource guid of the attached workspace. + :type workspace_id: str + :param workspace_region: The location of the attached workspace. + :type workspace_region: str + :param workspace_resource_id: Resource Id of the attached workspace. + :type workspace_resource_id: str + :param traffic_analytics_interval: The interval in minutes which would + decide how frequently TA service should do flow analytics. + :type traffic_analytics_interval: int + """ + + _attribute_map = { + 'enabled': {'key': 'enabled', 'type': 'bool'}, + 'workspace_id': {'key': 'workspaceId', 'type': 'str'}, + 'workspace_region': {'key': 'workspaceRegion', 'type': 'str'}, + 'workspace_resource_id': {'key': 'workspaceResourceId', 'type': 'str'}, + 'traffic_analytics_interval': {'key': 'trafficAnalyticsInterval', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(TrafficAnalyticsConfigurationProperties, self).__init__(**kwargs) + self.enabled = kwargs.get('enabled', None) + self.workspace_id = kwargs.get('workspace_id', None) + self.workspace_region = kwargs.get('workspace_region', None) + self.workspace_resource_id = kwargs.get('workspace_resource_id', None) + self.traffic_analytics_interval = kwargs.get('traffic_analytics_interval', None) + + +class TrafficAnalyticsProperties(Model): + """Parameters that define the configuration of traffic analytics. + + :param network_watcher_flow_analytics_configuration: Parameters that + define the configuration of traffic analytics. + :type network_watcher_flow_analytics_configuration: + ~azure.mgmt.network.v2020_04_01.models.TrafficAnalyticsConfigurationProperties + """ + + _attribute_map = { + 'network_watcher_flow_analytics_configuration': {'key': 'networkWatcherFlowAnalyticsConfiguration', 'type': 'TrafficAnalyticsConfigurationProperties'}, + } + + def __init__(self, **kwargs): + super(TrafficAnalyticsProperties, self).__init__(**kwargs) + self.network_watcher_flow_analytics_configuration = kwargs.get('network_watcher_flow_analytics_configuration', None) + + +class TrafficSelectorPolicy(Model): + """An traffic selector policy for a virtual network gateway connection. + + All required parameters must be populated in order to send to Azure. + + :param local_address_ranges: Required. A collection of local address + spaces in CIDR format. + :type local_address_ranges: list[str] + :param remote_address_ranges: Required. A collection of remote address + spaces in CIDR format. + :type remote_address_ranges: list[str] + """ + + _validation = { + 'local_address_ranges': {'required': True}, + 'remote_address_ranges': {'required': True}, + } + + _attribute_map = { + 'local_address_ranges': {'key': 'localAddressRanges', 'type': '[str]'}, + 'remote_address_ranges': {'key': 'remoteAddressRanges', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(TrafficSelectorPolicy, self).__init__(**kwargs) + self.local_address_ranges = kwargs.get('local_address_ranges', None) + self.remote_address_ranges = kwargs.get('remote_address_ranges', None) + + +class TroubleshootingDetails(Model): + """Information gained from troubleshooting of specified resource. + + :param id: The id of the get troubleshoot operation. + :type id: str + :param reason_type: Reason type of failure. + :type reason_type: str + :param summary: A summary of troubleshooting. + :type summary: str + :param detail: Details on troubleshooting results. + :type detail: str + :param recommended_actions: List of recommended actions. + :type recommended_actions: + list[~azure.mgmt.network.v2020_04_01.models.TroubleshootingRecommendedActions] + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'reason_type': {'key': 'reasonType', 'type': 'str'}, + 'summary': {'key': 'summary', 'type': 'str'}, + 'detail': {'key': 'detail', 'type': 'str'}, + 'recommended_actions': {'key': 'recommendedActions', 'type': '[TroubleshootingRecommendedActions]'}, + } + + def __init__(self, **kwargs): + super(TroubleshootingDetails, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.reason_type = kwargs.get('reason_type', None) + self.summary = kwargs.get('summary', None) + self.detail = kwargs.get('detail', None) + self.recommended_actions = kwargs.get('recommended_actions', None) + + +class TroubleshootingParameters(Model): + """Parameters that define the resource to troubleshoot. + + All required parameters must be populated in order to send to Azure. + + :param target_resource_id: Required. The target resource to troubleshoot. + :type target_resource_id: str + :param storage_id: Required. The ID for the storage account to save the + troubleshoot result. + :type storage_id: str + :param storage_path: Required. The path to the blob to save the + troubleshoot result in. + :type storage_path: str + """ + + _validation = { + 'target_resource_id': {'required': True}, + 'storage_id': {'required': True}, + 'storage_path': {'required': True}, + } + + _attribute_map = { + 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, + 'storage_id': {'key': 'properties.storageId', 'type': 'str'}, + 'storage_path': {'key': 'properties.storagePath', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(TroubleshootingParameters, self).__init__(**kwargs) + self.target_resource_id = kwargs.get('target_resource_id', None) + self.storage_id = kwargs.get('storage_id', None) + self.storage_path = kwargs.get('storage_path', None) + + +class TroubleshootingRecommendedActions(Model): + """Recommended actions based on discovered issues. + + :param action_id: ID of the recommended action. + :type action_id: str + :param action_text: Description of recommended actions. + :type action_text: str + :param action_uri: The uri linking to a documentation for the recommended + troubleshooting actions. + :type action_uri: str + :param action_uri_text: The information from the URI for the recommended + troubleshooting actions. + :type action_uri_text: str + """ + + _attribute_map = { + 'action_id': {'key': 'actionId', 'type': 'str'}, + 'action_text': {'key': 'actionText', 'type': 'str'}, + 'action_uri': {'key': 'actionUri', 'type': 'str'}, + 'action_uri_text': {'key': 'actionUriText', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(TroubleshootingRecommendedActions, self).__init__(**kwargs) + self.action_id = kwargs.get('action_id', None) + self.action_text = kwargs.get('action_text', None) + self.action_uri = kwargs.get('action_uri', None) + self.action_uri_text = kwargs.get('action_uri_text', None) + + +class TroubleshootingResult(Model): + """Troubleshooting information gained from specified resource. + + :param start_time: The start time of the troubleshooting. + :type start_time: datetime + :param end_time: The end time of the troubleshooting. + :type end_time: datetime + :param code: The result code of the troubleshooting. + :type code: str + :param results: Information from troubleshooting. + :type results: + list[~azure.mgmt.network.v2020_04_01.models.TroubleshootingDetails] + """ + + _attribute_map = { + 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, + 'code': {'key': 'code', 'type': 'str'}, + 'results': {'key': 'results', 'type': '[TroubleshootingDetails]'}, + } + + def __init__(self, **kwargs): + super(TroubleshootingResult, self).__init__(**kwargs) + self.start_time = kwargs.get('start_time', None) + self.end_time = kwargs.get('end_time', None) + self.code = kwargs.get('code', None) + self.results = kwargs.get('results', None) + + +class TunnelConnectionHealth(Model): + """VirtualNetworkGatewayConnection properties. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar tunnel: Tunnel name. + :vartype tunnel: str + :ivar connection_status: Virtual Network Gateway connection status. + Possible values include: 'Unknown', 'Connecting', 'Connected', + 'NotConnected' + :vartype connection_status: str or + ~azure.mgmt.network.v2020_04_01.models.VirtualNetworkGatewayConnectionStatus + :ivar ingress_bytes_transferred: The Ingress Bytes Transferred in this + connection. + :vartype ingress_bytes_transferred: long + :ivar egress_bytes_transferred: The Egress Bytes Transferred in this + connection. + :vartype egress_bytes_transferred: long + :ivar last_connection_established_utc_time: The time at which connection + was established in Utc format. + :vartype last_connection_established_utc_time: str + """ + + _validation = { + 'tunnel': {'readonly': True}, + 'connection_status': {'readonly': True}, + 'ingress_bytes_transferred': {'readonly': True}, + 'egress_bytes_transferred': {'readonly': True}, + 'last_connection_established_utc_time': {'readonly': True}, + } + + _attribute_map = { + 'tunnel': {'key': 'tunnel', 'type': 'str'}, + 'connection_status': {'key': 'connectionStatus', 'type': 'str'}, + 'ingress_bytes_transferred': {'key': 'ingressBytesTransferred', 'type': 'long'}, + 'egress_bytes_transferred': {'key': 'egressBytesTransferred', 'type': 'long'}, + 'last_connection_established_utc_time': {'key': 'lastConnectionEstablishedUtcTime', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(TunnelConnectionHealth, self).__init__(**kwargs) + self.tunnel = None + self.connection_status = None + self.ingress_bytes_transferred = None + self.egress_bytes_transferred = None + self.last_connection_established_utc_time = None + + +class UnprepareNetworkPoliciesRequest(Model): + """Details of UnprepareNetworkPolicies for Subnet. + + :param service_name: The name of the service for which subnet is being + unprepared for. + :type service_name: str + """ + + _attribute_map = { + 'service_name': {'key': 'serviceName', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(UnprepareNetworkPoliciesRequest, self).__init__(**kwargs) + self.service_name = kwargs.get('service_name', None) + + +class Usage(Model): + """The network resource usage. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Resource identifier. + :vartype id: str + :ivar unit: Required. An enum describing the unit of measurement. Default + value: "Count" . + :vartype unit: str + :param current_value: Required. The current value of the usage. + :type current_value: long + :param limit: Required. The limit of usage. + :type limit: long + :param name: Required. The name of the type of usage. + :type name: ~azure.mgmt.network.v2020_04_01.models.UsageName + """ + + _validation = { + 'id': {'readonly': True}, + 'unit': {'required': True, 'constant': True}, + 'current_value': {'required': True}, + 'limit': {'required': True}, + 'name': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'unit': {'key': 'unit', 'type': 'str'}, + 'current_value': {'key': 'currentValue', 'type': 'long'}, + 'limit': {'key': 'limit', 'type': 'long'}, + 'name': {'key': 'name', 'type': 'UsageName'}, + } + + unit = "Count" + + def __init__(self, **kwargs): + super(Usage, self).__init__(**kwargs) + self.id = None + self.current_value = kwargs.get('current_value', None) + self.limit = kwargs.get('limit', None) + self.name = kwargs.get('name', None) + + +class UsageName(Model): + """The usage names. + + :param value: A string describing the resource name. + :type value: str + :param localized_value: A localized string describing the resource name. + :type localized_value: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': 'str'}, + 'localized_value': {'key': 'localizedValue', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(UsageName, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.localized_value = kwargs.get('localized_value', None) + + +class VerificationIPFlowParameters(Model): + """Parameters that define the IP flow to be verified. + + All required parameters must be populated in order to send to Azure. + + :param target_resource_id: Required. The ID of the target resource to + perform next-hop on. + :type target_resource_id: str + :param direction: Required. The direction of the packet represented as a + 5-tuple. Possible values include: 'Inbound', 'Outbound' + :type direction: str or ~azure.mgmt.network.v2020_04_01.models.Direction + :param protocol: Required. Protocol to be verified on. Possible values + include: 'TCP', 'UDP' + :type protocol: str or + ~azure.mgmt.network.v2020_04_01.models.IpFlowProtocol + :param local_port: Required. The local port. Acceptable values are a + single integer in the range (0-65535). Support for * for the source port, + which depends on the direction. + :type local_port: str + :param remote_port: Required. The remote port. Acceptable values are a + single integer in the range (0-65535). Support for * for the source port, + which depends on the direction. + :type remote_port: str + :param local_ip_address: Required. The local IP address. Acceptable values + are valid IPv4 addresses. + :type local_ip_address: str + :param remote_ip_address: Required. The remote IP address. Acceptable + values are valid IPv4 addresses. + :type remote_ip_address: str + :param target_nic_resource_id: The NIC ID. (If VM has multiple NICs and IP + forwarding is enabled on any of them, then this parameter must be + specified. Otherwise optional). + :type target_nic_resource_id: str + """ + + _validation = { + 'target_resource_id': {'required': True}, + 'direction': {'required': True}, + 'protocol': {'required': True}, + 'local_port': {'required': True}, + 'remote_port': {'required': True}, + 'local_ip_address': {'required': True}, + 'remote_ip_address': {'required': True}, + } + + _attribute_map = { + 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, + 'direction': {'key': 'direction', 'type': 'str'}, + 'protocol': {'key': 'protocol', 'type': 'str'}, + 'local_port': {'key': 'localPort', 'type': 'str'}, + 'remote_port': {'key': 'remotePort', 'type': 'str'}, + 'local_ip_address': {'key': 'localIPAddress', 'type': 'str'}, + 'remote_ip_address': {'key': 'remoteIPAddress', 'type': 'str'}, + 'target_nic_resource_id': {'key': 'targetNicResourceId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VerificationIPFlowParameters, self).__init__(**kwargs) + self.target_resource_id = kwargs.get('target_resource_id', None) + self.direction = kwargs.get('direction', None) + self.protocol = kwargs.get('protocol', None) + self.local_port = kwargs.get('local_port', None) + self.remote_port = kwargs.get('remote_port', None) + self.local_ip_address = kwargs.get('local_ip_address', None) + self.remote_ip_address = kwargs.get('remote_ip_address', None) + self.target_nic_resource_id = kwargs.get('target_nic_resource_id', None) + + +class VerificationIPFlowResult(Model): + """Results of IP flow verification on the target resource. + + :param access: Indicates whether the traffic is allowed or denied. + Possible values include: 'Allow', 'Deny' + :type access: str or ~azure.mgmt.network.v2020_04_01.models.Access + :param rule_name: Name of the rule. If input is not matched against any + security rule, it is not displayed. + :type rule_name: str + """ + + _attribute_map = { + 'access': {'key': 'access', 'type': 'str'}, + 'rule_name': {'key': 'ruleName', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VerificationIPFlowResult, self).__init__(**kwargs) + self.access = kwargs.get('access', None) + self.rule_name = kwargs.get('rule_name', None) + + +class VirtualApplianceNicProperties(Model): + """Network Virtual Appliance NIC properties. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name: NIC name. + :vartype name: str + :ivar public_ip_address: Public IP address. + :vartype public_ip_address: str + :ivar private_ip_address: Private IP address. + :vartype private_ip_address: str + """ + + _validation = { + 'name': {'readonly': True}, + 'public_ip_address': {'readonly': True}, + 'private_ip_address': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'public_ip_address': {'key': 'publicIpAddress', 'type': 'str'}, + 'private_ip_address': {'key': 'privateIpAddress', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VirtualApplianceNicProperties, self).__init__(**kwargs) + self.name = None + self.public_ip_address = None + self.private_ip_address = None + + +class VirtualApplianceSkuProperties(Model): + """Network Virtual Appliance Sku Properties. + + :param vendor: Virtual Appliance Vendor. + :type vendor: str + :param bundled_scale_unit: Virtual Appliance Scale Unit. + :type bundled_scale_unit: str + :param market_place_version: Virtual Appliance Version. + :type market_place_version: str + """ + + _attribute_map = { + 'vendor': {'key': 'vendor', 'type': 'str'}, + 'bundled_scale_unit': {'key': 'bundledScaleUnit', 'type': 'str'}, + 'market_place_version': {'key': 'marketPlaceVersion', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VirtualApplianceSkuProperties, self).__init__(**kwargs) + self.vendor = kwargs.get('vendor', None) + self.bundled_scale_unit = kwargs.get('bundled_scale_unit', None) + self.market_place_version = kwargs.get('market_place_version', None) + + +class VirtualHub(Resource): + """VirtualHub Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param virtual_wan: The VirtualWAN to which the VirtualHub belongs. + :type virtual_wan: ~azure.mgmt.network.v2020_04_01.models.SubResource + :param vpn_gateway: The VpnGateway associated with this VirtualHub. + :type vpn_gateway: ~azure.mgmt.network.v2020_04_01.models.SubResource + :param p2_svpn_gateway: The P2SVpnGateway associated with this VirtualHub. + :type p2_svpn_gateway: ~azure.mgmt.network.v2020_04_01.models.SubResource + :param express_route_gateway: The expressRouteGateway associated with this + VirtualHub. + :type express_route_gateway: + ~azure.mgmt.network.v2020_04_01.models.SubResource + :param azure_firewall: The azureFirewall associated with this VirtualHub. + :type azure_firewall: ~azure.mgmt.network.v2020_04_01.models.SubResource + :param security_partner_provider: The securityPartnerProvider associated + with this VirtualHub. + :type security_partner_provider: + ~azure.mgmt.network.v2020_04_01.models.SubResource + :param virtual_network_connections: List of all vnet connections with this + VirtualHub. + :type virtual_network_connections: + list[~azure.mgmt.network.v2020_04_01.models.HubVirtualNetworkConnection] + :param address_prefix: Address-prefix for this VirtualHub. + :type address_prefix: str + :param route_table: The routeTable associated with this virtual hub. + :type route_table: + ~azure.mgmt.network.v2020_04_01.models.VirtualHubRouteTable + :ivar provisioning_state: The provisioning state of the virtual hub + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param security_provider_name: The Security Provider name. + :type security_provider_name: str + :param virtual_hub_route_table_v2s: List of all virtual hub route table + v2s associated with this VirtualHub. + :type virtual_hub_route_table_v2s: + list[~azure.mgmt.network.v2020_04_01.models.VirtualHubRouteTableV2] + :param sku: The sku of this VirtualHub. + :type sku: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'virtual_wan': {'key': 'properties.virtualWan', 'type': 'SubResource'}, + 'vpn_gateway': {'key': 'properties.vpnGateway', 'type': 'SubResource'}, + 'p2_svpn_gateway': {'key': 'properties.p2SVpnGateway', 'type': 'SubResource'}, + 'express_route_gateway': {'key': 'properties.expressRouteGateway', 'type': 'SubResource'}, + 'azure_firewall': {'key': 'properties.azureFirewall', 'type': 'SubResource'}, + 'security_partner_provider': {'key': 'properties.securityPartnerProvider', 'type': 'SubResource'}, + 'virtual_network_connections': {'key': 'properties.virtualNetworkConnections', 'type': '[HubVirtualNetworkConnection]'}, + 'address_prefix': {'key': 'properties.addressPrefix', 'type': 'str'}, + 'route_table': {'key': 'properties.routeTable', 'type': 'VirtualHubRouteTable'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'security_provider_name': {'key': 'properties.securityProviderName', 'type': 'str'}, + 'virtual_hub_route_table_v2s': {'key': 'properties.virtualHubRouteTableV2s', 'type': '[VirtualHubRouteTableV2]'}, + 'sku': {'key': 'properties.sku', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VirtualHub, self).__init__(**kwargs) + self.virtual_wan = kwargs.get('virtual_wan', None) + self.vpn_gateway = kwargs.get('vpn_gateway', None) + self.p2_svpn_gateway = kwargs.get('p2_svpn_gateway', None) + self.express_route_gateway = kwargs.get('express_route_gateway', None) + self.azure_firewall = kwargs.get('azure_firewall', None) + self.security_partner_provider = kwargs.get('security_partner_provider', None) + self.virtual_network_connections = kwargs.get('virtual_network_connections', None) + self.address_prefix = kwargs.get('address_prefix', None) + self.route_table = kwargs.get('route_table', None) + self.provisioning_state = None + self.security_provider_name = kwargs.get('security_provider_name', None) + self.virtual_hub_route_table_v2s = kwargs.get('virtual_hub_route_table_v2s', None) + self.sku = kwargs.get('sku', None) + self.etag = None + + +class VirtualHubId(Model): + """Virtual Hub identifier. + + :param id: The resource URI for the Virtual Hub where the ExpressRoute + gateway is or will be deployed. The Virtual Hub resource and the + ExpressRoute gateway resource reside in the same subscription. + :type id: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VirtualHubId, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + + +class VirtualHubRoute(Model): + """VirtualHub route. + + :param address_prefixes: List of all addressPrefixes. + :type address_prefixes: list[str] + :param next_hop_ip_address: NextHop ip address. + :type next_hop_ip_address: str + """ + + _attribute_map = { + 'address_prefixes': {'key': 'addressPrefixes', 'type': '[str]'}, + 'next_hop_ip_address': {'key': 'nextHopIpAddress', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VirtualHubRoute, self).__init__(**kwargs) + self.address_prefixes = kwargs.get('address_prefixes', None) + self.next_hop_ip_address = kwargs.get('next_hop_ip_address', None) + + +class VirtualHubRouteTable(Model): + """VirtualHub route table. + + :param routes: List of all routes. + :type routes: list[~azure.mgmt.network.v2020_04_01.models.VirtualHubRoute] + """ + + _attribute_map = { + 'routes': {'key': 'routes', 'type': '[VirtualHubRoute]'}, + } + + def __init__(self, **kwargs): + super(VirtualHubRouteTable, self).__init__(**kwargs) + self.routes = kwargs.get('routes', None) + + +class VirtualHubRouteTableV2(SubResource): + """VirtualHubRouteTableV2 Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param routes: List of all routes. + :type routes: + list[~azure.mgmt.network.v2020_04_01.models.VirtualHubRouteV2] + :param attached_connections: List of all connections attached to this + route table v2. + :type attached_connections: list[str] + :ivar provisioning_state: The provisioning state of the virtual hub route + table v2 resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'routes': {'key': 'properties.routes', 'type': '[VirtualHubRouteV2]'}, + 'attached_connections': {'key': 'properties.attachedConnections', 'type': '[str]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VirtualHubRouteTableV2, self).__init__(**kwargs) + self.routes = kwargs.get('routes', None) + self.attached_connections = kwargs.get('attached_connections', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = None + + +class VirtualHubRouteV2(Model): + """VirtualHubRouteTableV2 route. + + :param destination_type: The type of destinations. + :type destination_type: str + :param destinations: List of all destinations. + :type destinations: list[str] + :param next_hop_type: The type of next hops. + :type next_hop_type: str + :param next_hops: NextHops ip address. + :type next_hops: list[str] + """ + + _attribute_map = { + 'destination_type': {'key': 'destinationType', 'type': 'str'}, + 'destinations': {'key': 'destinations', 'type': '[str]'}, + 'next_hop_type': {'key': 'nextHopType', 'type': 'str'}, + 'next_hops': {'key': 'nextHops', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(VirtualHubRouteV2, self).__init__(**kwargs) + self.destination_type = kwargs.get('destination_type', None) + self.destinations = kwargs.get('destinations', None) + self.next_hop_type = kwargs.get('next_hop_type', None) + self.next_hops = kwargs.get('next_hops', None) + + +class VirtualNetwork(Resource): + """Virtual Network resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param address_space: The AddressSpace that contains an array of IP + address ranges that can be used by subnets. + :type address_space: ~azure.mgmt.network.v2020_04_01.models.AddressSpace + :param dhcp_options: The dhcpOptions that contains an array of DNS servers + available to VMs deployed in the virtual network. + :type dhcp_options: ~azure.mgmt.network.v2020_04_01.models.DhcpOptions + :param subnets: A list of subnets in a Virtual Network. + :type subnets: list[~azure.mgmt.network.v2020_04_01.models.Subnet] + :param virtual_network_peerings: A list of peerings in a Virtual Network. + :type virtual_network_peerings: + list[~azure.mgmt.network.v2020_04_01.models.VirtualNetworkPeering] + :ivar resource_guid: The resourceGuid property of the Virtual Network + resource. + :vartype resource_guid: str + :ivar provisioning_state: The provisioning state of the virtual network + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param enable_ddos_protection: Indicates if DDoS protection is enabled for + all the protected resources in the virtual network. It requires a DDoS + protection plan associated with the resource. Default value: False . + :type enable_ddos_protection: bool + :param enable_vm_protection: Indicates if VM protection is enabled for all + the subnets in the virtual network. Default value: False . + :type enable_vm_protection: bool + :param ddos_protection_plan: The DDoS protection plan associated with the + virtual network. + :type ddos_protection_plan: + ~azure.mgmt.network.v2020_04_01.models.SubResource + :param bgp_communities: Bgp Communities sent over ExpressRoute with each + route corresponding to a prefix in this VNET. + :type bgp_communities: + ~azure.mgmt.network.v2020_04_01.models.VirtualNetworkBgpCommunities + :param ip_allocations: Array of IpAllocation which reference this VNET. + :type ip_allocations: + list[~azure.mgmt.network.v2020_04_01.models.SubResource] + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'resource_guid': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'address_space': {'key': 'properties.addressSpace', 'type': 'AddressSpace'}, + 'dhcp_options': {'key': 'properties.dhcpOptions', 'type': 'DhcpOptions'}, + 'subnets': {'key': 'properties.subnets', 'type': '[Subnet]'}, + 'virtual_network_peerings': {'key': 'properties.virtualNetworkPeerings', 'type': '[VirtualNetworkPeering]'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'enable_ddos_protection': {'key': 'properties.enableDdosProtection', 'type': 'bool'}, + 'enable_vm_protection': {'key': 'properties.enableVmProtection', 'type': 'bool'}, + 'ddos_protection_plan': {'key': 'properties.ddosProtectionPlan', 'type': 'SubResource'}, + 'bgp_communities': {'key': 'properties.bgpCommunities', 'type': 'VirtualNetworkBgpCommunities'}, + 'ip_allocations': {'key': 'properties.ipAllocations', 'type': '[SubResource]'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VirtualNetwork, self).__init__(**kwargs) + self.address_space = kwargs.get('address_space', None) + self.dhcp_options = kwargs.get('dhcp_options', None) + self.subnets = kwargs.get('subnets', None) + self.virtual_network_peerings = kwargs.get('virtual_network_peerings', None) + self.resource_guid = None + self.provisioning_state = None + self.enable_ddos_protection = kwargs.get('enable_ddos_protection', False) + self.enable_vm_protection = kwargs.get('enable_vm_protection', False) + self.ddos_protection_plan = kwargs.get('ddos_protection_plan', None) + self.bgp_communities = kwargs.get('bgp_communities', None) + self.ip_allocations = kwargs.get('ip_allocations', None) + self.etag = None + + +class VirtualNetworkBgpCommunities(Model): + """Bgp Communities sent over ExpressRoute with each route corresponding to a + prefix in this VNET. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param virtual_network_community: Required. The BGP community associated + with the virtual network. + :type virtual_network_community: str + :ivar regional_community: The BGP community associated with the region of + the virtual network. + :vartype regional_community: str + """ + + _validation = { + 'virtual_network_community': {'required': True}, + 'regional_community': {'readonly': True}, + } + + _attribute_map = { + 'virtual_network_community': {'key': 'virtualNetworkCommunity', 'type': 'str'}, + 'regional_community': {'key': 'regionalCommunity', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VirtualNetworkBgpCommunities, self).__init__(**kwargs) + self.virtual_network_community = kwargs.get('virtual_network_community', None) + self.regional_community = None + + +class VirtualNetworkConnectionGatewayReference(Model): + """A reference to VirtualNetworkGateway or LocalNetworkGateway resource. + + All required parameters must be populated in order to send to Azure. + + :param id: Required. The ID of VirtualNetworkGateway or + LocalNetworkGateway resource. + :type id: str + """ + + _validation = { + 'id': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VirtualNetworkConnectionGatewayReference, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + + +class VirtualNetworkGateway(Resource): + """A common class for general resource information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param ip_configurations: IP configurations for virtual network gateway. + :type ip_configurations: + list[~azure.mgmt.network.v2020_04_01.models.VirtualNetworkGatewayIPConfiguration] + :param gateway_type: The type of this virtual network gateway. Possible + values include: 'Vpn', 'ExpressRoute' + :type gateway_type: str or + ~azure.mgmt.network.v2020_04_01.models.VirtualNetworkGatewayType + :param vpn_type: The type of this virtual network gateway. Possible values + include: 'PolicyBased', 'RouteBased' + :type vpn_type: str or ~azure.mgmt.network.v2020_04_01.models.VpnType + :param vpn_gateway_generation: The generation for this + VirtualNetworkGateway. Must be None if gatewayType is not VPN. Possible + values include: 'None', 'Generation1', 'Generation2' + :type vpn_gateway_generation: str or + ~azure.mgmt.network.v2020_04_01.models.VpnGatewayGeneration + :param enable_bgp: Whether BGP is enabled for this virtual network gateway + or not. + :type enable_bgp: bool + :param enable_private_ip_address: Whether private IP needs to be enabled + on this gateway for connections or not. + :type enable_private_ip_address: bool + :param active_active: ActiveActive flag. + :type active_active: bool + :param gateway_default_site: The reference to the LocalNetworkGateway + resource which represents local network site having default routes. Assign + Null value in case of removing existing default site setting. + :type gateway_default_site: + ~azure.mgmt.network.v2020_04_01.models.SubResource + :param sku: The reference to the VirtualNetworkGatewaySku resource which + represents the SKU selected for Virtual network gateway. + :type sku: ~azure.mgmt.network.v2020_04_01.models.VirtualNetworkGatewaySku + :param vpn_client_configuration: The reference to the + VpnClientConfiguration resource which represents the P2S VpnClient + configurations. + :type vpn_client_configuration: + ~azure.mgmt.network.v2020_04_01.models.VpnClientConfiguration + :param bgp_settings: Virtual network gateway's BGP speaker settings. + :type bgp_settings: ~azure.mgmt.network.v2020_04_01.models.BgpSettings + :param custom_routes: The reference to the address space resource which + represents the custom routes address space specified by the customer for + virtual network gateway and VpnClient. + :type custom_routes: ~azure.mgmt.network.v2020_04_01.models.AddressSpace + :ivar resource_guid: The resource GUID property of the virtual network + gateway resource. + :vartype resource_guid: str + :ivar provisioning_state: The provisioning state of the virtual network + gateway resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param enable_dns_forwarding: Whether dns forwarding is enabled or not. + :type enable_dns_forwarding: bool + :ivar inbound_dns_forwarding_endpoint: The IP address allocated by the + gateway to which dns requests can be sent. + :vartype inbound_dns_forwarding_endpoint: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'resource_guid': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'inbound_dns_forwarding_endpoint': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[VirtualNetworkGatewayIPConfiguration]'}, + 'gateway_type': {'key': 'properties.gatewayType', 'type': 'str'}, + 'vpn_type': {'key': 'properties.vpnType', 'type': 'str'}, + 'vpn_gateway_generation': {'key': 'properties.vpnGatewayGeneration', 'type': 'str'}, + 'enable_bgp': {'key': 'properties.enableBgp', 'type': 'bool'}, + 'enable_private_ip_address': {'key': 'properties.enablePrivateIpAddress', 'type': 'bool'}, + 'active_active': {'key': 'properties.activeActive', 'type': 'bool'}, + 'gateway_default_site': {'key': 'properties.gatewayDefaultSite', 'type': 'SubResource'}, + 'sku': {'key': 'properties.sku', 'type': 'VirtualNetworkGatewaySku'}, + 'vpn_client_configuration': {'key': 'properties.vpnClientConfiguration', 'type': 'VpnClientConfiguration'}, + 'bgp_settings': {'key': 'properties.bgpSettings', 'type': 'BgpSettings'}, + 'custom_routes': {'key': 'properties.customRoutes', 'type': 'AddressSpace'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'enable_dns_forwarding': {'key': 'properties.enableDnsForwarding', 'type': 'bool'}, + 'inbound_dns_forwarding_endpoint': {'key': 'properties.inboundDnsForwardingEndpoint', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VirtualNetworkGateway, self).__init__(**kwargs) + self.ip_configurations = kwargs.get('ip_configurations', None) + self.gateway_type = kwargs.get('gateway_type', None) + self.vpn_type = kwargs.get('vpn_type', None) + self.vpn_gateway_generation = kwargs.get('vpn_gateway_generation', None) + self.enable_bgp = kwargs.get('enable_bgp', None) + self.enable_private_ip_address = kwargs.get('enable_private_ip_address', None) + self.active_active = kwargs.get('active_active', None) + self.gateway_default_site = kwargs.get('gateway_default_site', None) + self.sku = kwargs.get('sku', None) + self.vpn_client_configuration = kwargs.get('vpn_client_configuration', None) + self.bgp_settings = kwargs.get('bgp_settings', None) + self.custom_routes = kwargs.get('custom_routes', None) + self.resource_guid = None + self.provisioning_state = None + self.enable_dns_forwarding = kwargs.get('enable_dns_forwarding', None) + self.inbound_dns_forwarding_endpoint = None + self.etag = None + + +class VirtualNetworkGatewayConnection(Resource): + """A common class for general resource information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param authorization_key: The authorizationKey. + :type authorization_key: str + :param virtual_network_gateway1: Required. The reference to virtual + network gateway resource. + :type virtual_network_gateway1: + ~azure.mgmt.network.v2020_04_01.models.VirtualNetworkGateway + :param virtual_network_gateway2: The reference to virtual network gateway + resource. + :type virtual_network_gateway2: + ~azure.mgmt.network.v2020_04_01.models.VirtualNetworkGateway + :param local_network_gateway2: The reference to local network gateway + resource. + :type local_network_gateway2: + ~azure.mgmt.network.v2020_04_01.models.LocalNetworkGateway + :param connection_type: Required. Gateway connection type. Possible values + include: 'IPsec', 'Vnet2Vnet', 'ExpressRoute', 'VPNClient' + :type connection_type: str or + ~azure.mgmt.network.v2020_04_01.models.VirtualNetworkGatewayConnectionType + :param connection_protocol: Connection protocol used for this connection. + Possible values include: 'IKEv2', 'IKEv1' + :type connection_protocol: str or + ~azure.mgmt.network.v2020_04_01.models.VirtualNetworkGatewayConnectionProtocol + :param routing_weight: The routing weight. + :type routing_weight: int + :param dpd_timeout_seconds: The dead peer detection timeout of this + connection in seconds. + :type dpd_timeout_seconds: int + :param shared_key: The IPSec shared key. + :type shared_key: str + :ivar connection_status: Virtual Network Gateway connection status. + Possible values include: 'Unknown', 'Connecting', 'Connected', + 'NotConnected' + :vartype connection_status: str or + ~azure.mgmt.network.v2020_04_01.models.VirtualNetworkGatewayConnectionStatus + :ivar tunnel_connection_status: Collection of all tunnels' connection + health status. + :vartype tunnel_connection_status: + list[~azure.mgmt.network.v2020_04_01.models.TunnelConnectionHealth] + :ivar egress_bytes_transferred: The egress bytes transferred in this + connection. + :vartype egress_bytes_transferred: long + :ivar ingress_bytes_transferred: The ingress bytes transferred in this + connection. + :vartype ingress_bytes_transferred: long + :param peer: The reference to peerings resource. + :type peer: ~azure.mgmt.network.v2020_04_01.models.SubResource + :param enable_bgp: EnableBgp flag. + :type enable_bgp: bool + :param use_local_azure_ip_address: Use private local Azure IP for the + connection. + :type use_local_azure_ip_address: bool + :param use_policy_based_traffic_selectors: Enable policy-based traffic + selectors. + :type use_policy_based_traffic_selectors: bool + :param ipsec_policies: The IPSec Policies to be considered by this + connection. + :type ipsec_policies: + list[~azure.mgmt.network.v2020_04_01.models.IpsecPolicy] + :param traffic_selector_policies: The Traffic Selector Policies to be + considered by this connection. + :type traffic_selector_policies: + list[~azure.mgmt.network.v2020_04_01.models.TrafficSelectorPolicy] + :ivar resource_guid: The resource GUID property of the virtual network + gateway connection resource. + :vartype resource_guid: str + :ivar provisioning_state: The provisioning state of the virtual network + gateway connection resource. Possible values include: 'Succeeded', + 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param express_route_gateway_bypass: Bypass ExpressRoute Gateway for data + forwarding. + :type express_route_gateway_bypass: bool + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'virtual_network_gateway1': {'required': True}, + 'connection_type': {'required': True}, + 'connection_status': {'readonly': True}, + 'tunnel_connection_status': {'readonly': True}, + 'egress_bytes_transferred': {'readonly': True}, + 'ingress_bytes_transferred': {'readonly': True}, + 'resource_guid': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'authorization_key': {'key': 'properties.authorizationKey', 'type': 'str'}, + 'virtual_network_gateway1': {'key': 'properties.virtualNetworkGateway1', 'type': 'VirtualNetworkGateway'}, + 'virtual_network_gateway2': {'key': 'properties.virtualNetworkGateway2', 'type': 'VirtualNetworkGateway'}, + 'local_network_gateway2': {'key': 'properties.localNetworkGateway2', 'type': 'LocalNetworkGateway'}, + 'connection_type': {'key': 'properties.connectionType', 'type': 'str'}, + 'connection_protocol': {'key': 'properties.connectionProtocol', 'type': 'str'}, + 'routing_weight': {'key': 'properties.routingWeight', 'type': 'int'}, + 'dpd_timeout_seconds': {'key': 'properties.dpdTimeoutSeconds', 'type': 'int'}, + 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, + 'connection_status': {'key': 'properties.connectionStatus', 'type': 'str'}, + 'tunnel_connection_status': {'key': 'properties.tunnelConnectionStatus', 'type': '[TunnelConnectionHealth]'}, + 'egress_bytes_transferred': {'key': 'properties.egressBytesTransferred', 'type': 'long'}, + 'ingress_bytes_transferred': {'key': 'properties.ingressBytesTransferred', 'type': 'long'}, + 'peer': {'key': 'properties.peer', 'type': 'SubResource'}, + 'enable_bgp': {'key': 'properties.enableBgp', 'type': 'bool'}, + 'use_local_azure_ip_address': {'key': 'properties.useLocalAzureIpAddress', 'type': 'bool'}, + 'use_policy_based_traffic_selectors': {'key': 'properties.usePolicyBasedTrafficSelectors', 'type': 'bool'}, + 'ipsec_policies': {'key': 'properties.ipsecPolicies', 'type': '[IpsecPolicy]'}, + 'traffic_selector_policies': {'key': 'properties.trafficSelectorPolicies', 'type': '[TrafficSelectorPolicy]'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'express_route_gateway_bypass': {'key': 'properties.expressRouteGatewayBypass', 'type': 'bool'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VirtualNetworkGatewayConnection, self).__init__(**kwargs) + self.authorization_key = kwargs.get('authorization_key', None) + self.virtual_network_gateway1 = kwargs.get('virtual_network_gateway1', None) + self.virtual_network_gateway2 = kwargs.get('virtual_network_gateway2', None) + self.local_network_gateway2 = kwargs.get('local_network_gateway2', None) + self.connection_type = kwargs.get('connection_type', None) + self.connection_protocol = kwargs.get('connection_protocol', None) + self.routing_weight = kwargs.get('routing_weight', None) + self.dpd_timeout_seconds = kwargs.get('dpd_timeout_seconds', None) + self.shared_key = kwargs.get('shared_key', None) + self.connection_status = None + self.tunnel_connection_status = None + self.egress_bytes_transferred = None + self.ingress_bytes_transferred = None + self.peer = kwargs.get('peer', None) + self.enable_bgp = kwargs.get('enable_bgp', None) + self.use_local_azure_ip_address = kwargs.get('use_local_azure_ip_address', None) + self.use_policy_based_traffic_selectors = kwargs.get('use_policy_based_traffic_selectors', None) + self.ipsec_policies = kwargs.get('ipsec_policies', None) + self.traffic_selector_policies = kwargs.get('traffic_selector_policies', None) + self.resource_guid = None + self.provisioning_state = None + self.express_route_gateway_bypass = kwargs.get('express_route_gateway_bypass', None) + self.etag = None + + +class VirtualNetworkGatewayConnectionListEntity(Resource): + """A common class for general resource information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param authorization_key: The authorizationKey. + :type authorization_key: str + :param virtual_network_gateway1: Required. The reference to virtual + network gateway resource. + :type virtual_network_gateway1: + ~azure.mgmt.network.v2020_04_01.models.VirtualNetworkConnectionGatewayReference + :param virtual_network_gateway2: The reference to virtual network gateway + resource. + :type virtual_network_gateway2: + ~azure.mgmt.network.v2020_04_01.models.VirtualNetworkConnectionGatewayReference + :param local_network_gateway2: The reference to local network gateway + resource. + :type local_network_gateway2: + ~azure.mgmt.network.v2020_04_01.models.VirtualNetworkConnectionGatewayReference + :param connection_type: Required. Gateway connection type. Possible values + include: 'IPsec', 'Vnet2Vnet', 'ExpressRoute', 'VPNClient' + :type connection_type: str or + ~azure.mgmt.network.v2020_04_01.models.VirtualNetworkGatewayConnectionType + :param connection_protocol: Connection protocol used for this connection. + Possible values include: 'IKEv2', 'IKEv1' + :type connection_protocol: str or + ~azure.mgmt.network.v2020_04_01.models.VirtualNetworkGatewayConnectionProtocol + :param routing_weight: The routing weight. + :type routing_weight: int + :param shared_key: The IPSec shared key. + :type shared_key: str + :ivar connection_status: Virtual Network Gateway connection status. + Possible values include: 'Unknown', 'Connecting', 'Connected', + 'NotConnected' + :vartype connection_status: str or + ~azure.mgmt.network.v2020_04_01.models.VirtualNetworkGatewayConnectionStatus + :ivar tunnel_connection_status: Collection of all tunnels' connection + health status. + :vartype tunnel_connection_status: + list[~azure.mgmt.network.v2020_04_01.models.TunnelConnectionHealth] + :ivar egress_bytes_transferred: The egress bytes transferred in this + connection. + :vartype egress_bytes_transferred: long + :ivar ingress_bytes_transferred: The ingress bytes transferred in this + connection. + :vartype ingress_bytes_transferred: long + :param peer: The reference to peerings resource. + :type peer: ~azure.mgmt.network.v2020_04_01.models.SubResource + :param enable_bgp: EnableBgp flag. + :type enable_bgp: bool + :param use_policy_based_traffic_selectors: Enable policy-based traffic + selectors. + :type use_policy_based_traffic_selectors: bool + :param ipsec_policies: The IPSec Policies to be considered by this + connection. + :type ipsec_policies: + list[~azure.mgmt.network.v2020_04_01.models.IpsecPolicy] + :param traffic_selector_policies: The Traffic Selector Policies to be + considered by this connection. + :type traffic_selector_policies: + list[~azure.mgmt.network.v2020_04_01.models.TrafficSelectorPolicy] + :ivar resource_guid: The resource GUID property of the virtual network + gateway connection resource. + :vartype resource_guid: str + :ivar provisioning_state: The provisioning state of the virtual network + gateway connection resource. Possible values include: 'Succeeded', + 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param express_route_gateway_bypass: Bypass ExpressRoute Gateway for data + forwarding. + :type express_route_gateway_bypass: bool + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'virtual_network_gateway1': {'required': True}, + 'connection_type': {'required': True}, + 'connection_status': {'readonly': True}, + 'tunnel_connection_status': {'readonly': True}, + 'egress_bytes_transferred': {'readonly': True}, + 'ingress_bytes_transferred': {'readonly': True}, + 'resource_guid': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'authorization_key': {'key': 'properties.authorizationKey', 'type': 'str'}, + 'virtual_network_gateway1': {'key': 'properties.virtualNetworkGateway1', 'type': 'VirtualNetworkConnectionGatewayReference'}, + 'virtual_network_gateway2': {'key': 'properties.virtualNetworkGateway2', 'type': 'VirtualNetworkConnectionGatewayReference'}, + 'local_network_gateway2': {'key': 'properties.localNetworkGateway2', 'type': 'VirtualNetworkConnectionGatewayReference'}, + 'connection_type': {'key': 'properties.connectionType', 'type': 'str'}, + 'connection_protocol': {'key': 'properties.connectionProtocol', 'type': 'str'}, + 'routing_weight': {'key': 'properties.routingWeight', 'type': 'int'}, + 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, + 'connection_status': {'key': 'properties.connectionStatus', 'type': 'str'}, + 'tunnel_connection_status': {'key': 'properties.tunnelConnectionStatus', 'type': '[TunnelConnectionHealth]'}, + 'egress_bytes_transferred': {'key': 'properties.egressBytesTransferred', 'type': 'long'}, + 'ingress_bytes_transferred': {'key': 'properties.ingressBytesTransferred', 'type': 'long'}, + 'peer': {'key': 'properties.peer', 'type': 'SubResource'}, + 'enable_bgp': {'key': 'properties.enableBgp', 'type': 'bool'}, + 'use_policy_based_traffic_selectors': {'key': 'properties.usePolicyBasedTrafficSelectors', 'type': 'bool'}, + 'ipsec_policies': {'key': 'properties.ipsecPolicies', 'type': '[IpsecPolicy]'}, + 'traffic_selector_policies': {'key': 'properties.trafficSelectorPolicies', 'type': '[TrafficSelectorPolicy]'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'express_route_gateway_bypass': {'key': 'properties.expressRouteGatewayBypass', 'type': 'bool'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VirtualNetworkGatewayConnectionListEntity, self).__init__(**kwargs) + self.authorization_key = kwargs.get('authorization_key', None) + self.virtual_network_gateway1 = kwargs.get('virtual_network_gateway1', None) + self.virtual_network_gateway2 = kwargs.get('virtual_network_gateway2', None) + self.local_network_gateway2 = kwargs.get('local_network_gateway2', None) + self.connection_type = kwargs.get('connection_type', None) + self.connection_protocol = kwargs.get('connection_protocol', None) + self.routing_weight = kwargs.get('routing_weight', None) + self.shared_key = kwargs.get('shared_key', None) + self.connection_status = None + self.tunnel_connection_status = None + self.egress_bytes_transferred = None + self.ingress_bytes_transferred = None + self.peer = kwargs.get('peer', None) + self.enable_bgp = kwargs.get('enable_bgp', None) + self.use_policy_based_traffic_selectors = kwargs.get('use_policy_based_traffic_selectors', None) + self.ipsec_policies = kwargs.get('ipsec_policies', None) + self.traffic_selector_policies = kwargs.get('traffic_selector_policies', None) + self.resource_guid = None + self.provisioning_state = None + self.express_route_gateway_bypass = kwargs.get('express_route_gateway_bypass', None) + self.etag = None + + +class VirtualNetworkGatewayIPConfiguration(SubResource): + """IP configuration for virtual network gateway. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param private_ip_allocation_method: The private IP address allocation + method. Possible values include: 'Static', 'Dynamic' + :type private_ip_allocation_method: str or + ~azure.mgmt.network.v2020_04_01.models.IPAllocationMethod + :param subnet: The reference to the subnet resource. + :type subnet: ~azure.mgmt.network.v2020_04_01.models.SubResource + :param public_ip_address: The reference to the public IP resource. + :type public_ip_address: + ~azure.mgmt.network.v2020_04_01.models.SubResource + :ivar private_ip_address: Private IP Address for this gateway. + :vartype private_ip_address: str + :ivar provisioning_state: The provisioning state of the virtual network + gateway IP configuration resource. Possible values include: 'Succeeded', + 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'private_ip_address': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, + 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, + 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'SubResource'}, + 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VirtualNetworkGatewayIPConfiguration, self).__init__(**kwargs) + self.private_ip_allocation_method = kwargs.get('private_ip_allocation_method', None) + self.subnet = kwargs.get('subnet', None) + self.public_ip_address = kwargs.get('public_ip_address', None) + self.private_ip_address = None + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = None + + +class VirtualNetworkGatewaySku(Model): + """VirtualNetworkGatewaySku details. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param name: Gateway SKU name. Possible values include: 'Basic', + 'HighPerformance', 'Standard', 'UltraPerformance', 'VpnGw1', 'VpnGw2', + 'VpnGw3', 'VpnGw4', 'VpnGw5', 'VpnGw1AZ', 'VpnGw2AZ', 'VpnGw3AZ', + 'VpnGw4AZ', 'VpnGw5AZ', 'ErGw1AZ', 'ErGw2AZ', 'ErGw3AZ' + :type name: str or + ~azure.mgmt.network.v2020_04_01.models.VirtualNetworkGatewaySkuName + :param tier: Gateway SKU tier. Possible values include: 'Basic', + 'HighPerformance', 'Standard', 'UltraPerformance', 'VpnGw1', 'VpnGw2', + 'VpnGw3', 'VpnGw4', 'VpnGw5', 'VpnGw1AZ', 'VpnGw2AZ', 'VpnGw3AZ', + 'VpnGw4AZ', 'VpnGw5AZ', 'ErGw1AZ', 'ErGw2AZ', 'ErGw3AZ' + :type tier: str or + ~azure.mgmt.network.v2020_04_01.models.VirtualNetworkGatewaySkuTier + :ivar capacity: The capacity. + :vartype capacity: int + """ + + _validation = { + 'capacity': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + 'capacity': {'key': 'capacity', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(VirtualNetworkGatewaySku, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.tier = kwargs.get('tier', None) + self.capacity = None + + +class VirtualNetworkPeering(SubResource): + """Peerings in a virtual network resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param allow_virtual_network_access: Whether the VMs in the local virtual + network space would be able to access the VMs in remote virtual network + space. + :type allow_virtual_network_access: bool + :param allow_forwarded_traffic: Whether the forwarded traffic from the VMs + in the local virtual network will be allowed/disallowed in remote virtual + network. + :type allow_forwarded_traffic: bool + :param allow_gateway_transit: If gateway links can be used in remote + virtual networking to link to this virtual network. + :type allow_gateway_transit: bool + :param use_remote_gateways: If remote gateways can be used on this virtual + network. If the flag is set to true, and allowGatewayTransit on remote + peering is also true, virtual network will use gateways of remote virtual + network for transit. Only one peering can have this flag set to true. This + flag cannot be set if virtual network already has a gateway. + :type use_remote_gateways: bool + :param remote_virtual_network: The reference to the remote virtual + network. The remote virtual network can be in the same or different region + (preview). See here to register for the preview and learn more + (https://docs.microsoft.com/en-us/azure/virtual-network/virtual-network-create-peering). + :type remote_virtual_network: + ~azure.mgmt.network.v2020_04_01.models.SubResource + :param remote_address_space: The reference to the remote virtual network + address space. + :type remote_address_space: + ~azure.mgmt.network.v2020_04_01.models.AddressSpace + :param peering_state: The status of the virtual network peering. Possible + values include: 'Initiated', 'Connected', 'Disconnected' + :type peering_state: str or + ~azure.mgmt.network.v2020_04_01.models.VirtualNetworkPeeringState + :ivar provisioning_state: The provisioning state of the virtual network + peering resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'allow_virtual_network_access': {'key': 'properties.allowVirtualNetworkAccess', 'type': 'bool'}, + 'allow_forwarded_traffic': {'key': 'properties.allowForwardedTraffic', 'type': 'bool'}, + 'allow_gateway_transit': {'key': 'properties.allowGatewayTransit', 'type': 'bool'}, + 'use_remote_gateways': {'key': 'properties.useRemoteGateways', 'type': 'bool'}, + 'remote_virtual_network': {'key': 'properties.remoteVirtualNetwork', 'type': 'SubResource'}, + 'remote_address_space': {'key': 'properties.remoteAddressSpace', 'type': 'AddressSpace'}, + 'peering_state': {'key': 'properties.peeringState', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VirtualNetworkPeering, self).__init__(**kwargs) + self.allow_virtual_network_access = kwargs.get('allow_virtual_network_access', None) + self.allow_forwarded_traffic = kwargs.get('allow_forwarded_traffic', None) + self.allow_gateway_transit = kwargs.get('allow_gateway_transit', None) + self.use_remote_gateways = kwargs.get('use_remote_gateways', None) + self.remote_virtual_network = kwargs.get('remote_virtual_network', None) + self.remote_address_space = kwargs.get('remote_address_space', None) + self.peering_state = kwargs.get('peering_state', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = None + + +class VirtualNetworkTap(Resource): + """Virtual Network Tap resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar network_interface_tap_configurations: Specifies the list of resource + IDs for the network interface IP configuration that needs to be tapped. + :vartype network_interface_tap_configurations: + list[~azure.mgmt.network.v2020_04_01.models.NetworkInterfaceTapConfiguration] + :ivar resource_guid: The resource GUID property of the virtual network tap + resource. + :vartype resource_guid: str + :ivar provisioning_state: The provisioning state of the virtual network + tap resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param destination_network_interface_ip_configuration: The reference to + the private IP Address of the collector nic that will receive the tap. + :type destination_network_interface_ip_configuration: + ~azure.mgmt.network.v2020_04_01.models.NetworkInterfaceIPConfiguration + :param destination_load_balancer_front_end_ip_configuration: The reference + to the private IP address on the internal Load Balancer that will receive + the tap. + :type destination_load_balancer_front_end_ip_configuration: + ~azure.mgmt.network.v2020_04_01.models.FrontendIPConfiguration + :param destination_port: The VXLAN destination port that will receive the + tapped traffic. + :type destination_port: int + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'network_interface_tap_configurations': {'readonly': True}, + 'resource_guid': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'network_interface_tap_configurations': {'key': 'properties.networkInterfaceTapConfigurations', 'type': '[NetworkInterfaceTapConfiguration]'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'destination_network_interface_ip_configuration': {'key': 'properties.destinationNetworkInterfaceIPConfiguration', 'type': 'NetworkInterfaceIPConfiguration'}, + 'destination_load_balancer_front_end_ip_configuration': {'key': 'properties.destinationLoadBalancerFrontEndIPConfiguration', 'type': 'FrontendIPConfiguration'}, + 'destination_port': {'key': 'properties.destinationPort', 'type': 'int'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VirtualNetworkTap, self).__init__(**kwargs) + self.network_interface_tap_configurations = None + self.resource_guid = None + self.provisioning_state = None + self.destination_network_interface_ip_configuration = kwargs.get('destination_network_interface_ip_configuration', None) + self.destination_load_balancer_front_end_ip_configuration = kwargs.get('destination_load_balancer_front_end_ip_configuration', None) + self.destination_port = kwargs.get('destination_port', None) + self.etag = None + + +class VirtualNetworkUsage(Model): + """Usage details for subnet. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar current_value: Indicates number of IPs used from the Subnet. + :vartype current_value: float + :ivar id: Subnet identifier. + :vartype id: str + :ivar limit: Indicates the size of the subnet. + :vartype limit: float + :ivar name: The name containing common and localized value for usage. + :vartype name: + ~azure.mgmt.network.v2020_04_01.models.VirtualNetworkUsageName + :ivar unit: Usage units. Returns 'Count'. + :vartype unit: str + """ + + _validation = { + 'current_value': {'readonly': True}, + 'id': {'readonly': True}, + 'limit': {'readonly': True}, + 'name': {'readonly': True}, + 'unit': {'readonly': True}, + } + + _attribute_map = { + 'current_value': {'key': 'currentValue', 'type': 'float'}, + 'id': {'key': 'id', 'type': 'str'}, + 'limit': {'key': 'limit', 'type': 'float'}, + 'name': {'key': 'name', 'type': 'VirtualNetworkUsageName'}, + 'unit': {'key': 'unit', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VirtualNetworkUsage, self).__init__(**kwargs) + self.current_value = None + self.id = None + self.limit = None + self.name = None + self.unit = None + + +class VirtualNetworkUsageName(Model): + """Usage strings container. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar localized_value: Localized subnet size and usage string. + :vartype localized_value: str + :ivar value: Subnet size and usage string. + :vartype value: str + """ + + _validation = { + 'localized_value': {'readonly': True}, + 'value': {'readonly': True}, + } + + _attribute_map = { + 'localized_value': {'key': 'localizedValue', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VirtualNetworkUsageName, self).__init__(**kwargs) + self.localized_value = None + self.value = None + + +class VirtualRouter(Resource): + """VirtualRouter Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param virtual_router_asn: VirtualRouter ASN. + :type virtual_router_asn: long + :param virtual_router_ips: VirtualRouter IPs. + :type virtual_router_ips: list[str] + :param hosted_subnet: The Subnet on which VirtualRouter is hosted. + :type hosted_subnet: ~azure.mgmt.network.v2020_04_01.models.SubResource + :param hosted_gateway: The Gateway on which VirtualRouter is hosted. + :type hosted_gateway: ~azure.mgmt.network.v2020_04_01.models.SubResource + :ivar peerings: List of references to VirtualRouterPeerings. + :vartype peerings: + list[~azure.mgmt.network.v2020_04_01.models.SubResource] + :ivar provisioning_state: The provisioning state of the resource. Possible + values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'virtual_router_asn': {'maximum': 4294967295, 'minimum': 0}, + 'peerings': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'virtual_router_asn': {'key': 'properties.virtualRouterAsn', 'type': 'long'}, + 'virtual_router_ips': {'key': 'properties.virtualRouterIps', 'type': '[str]'}, + 'hosted_subnet': {'key': 'properties.hostedSubnet', 'type': 'SubResource'}, + 'hosted_gateway': {'key': 'properties.hostedGateway', 'type': 'SubResource'}, + 'peerings': {'key': 'properties.peerings', 'type': '[SubResource]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VirtualRouter, self).__init__(**kwargs) + self.virtual_router_asn = kwargs.get('virtual_router_asn', None) + self.virtual_router_ips = kwargs.get('virtual_router_ips', None) + self.hosted_subnet = kwargs.get('hosted_subnet', None) + self.hosted_gateway = kwargs.get('hosted_gateway', None) + self.peerings = None + self.provisioning_state = None + self.etag = None + + +class VirtualRouterPeering(SubResource): + """Virtual Router Peering resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param peer_asn: Peer ASN. + :type peer_asn: long + :param peer_ip: Peer IP. + :type peer_ip: str + :ivar provisioning_state: The provisioning state of the resource. Possible + values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: Name of the virtual router peering that is unique within a + virtual router. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Peering type. + :vartype type: str + """ + + _validation = { + 'peer_asn': {'maximum': 4294967295, 'minimum': 0}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'peer_asn': {'key': 'properties.peerAsn', 'type': 'long'}, + 'peer_ip': {'key': 'properties.peerIp', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VirtualRouterPeering, self).__init__(**kwargs) + self.peer_asn = kwargs.get('peer_asn', None) + self.peer_ip = kwargs.get('peer_ip', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = None + self.type = None + + +class VirtualWAN(Resource): + """VirtualWAN Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param disable_vpn_encryption: Vpn encryption to be disabled or not. + :type disable_vpn_encryption: bool + :ivar virtual_hubs: List of VirtualHubs in the VirtualWAN. + :vartype virtual_hubs: + list[~azure.mgmt.network.v2020_04_01.models.SubResource] + :ivar vpn_sites: List of VpnSites in the VirtualWAN. + :vartype vpn_sites: + list[~azure.mgmt.network.v2020_04_01.models.SubResource] + :param allow_branch_to_branch_traffic: True if branch to branch traffic is + allowed. + :type allow_branch_to_branch_traffic: bool + :param allow_vnet_to_vnet_traffic: True if Vnet to Vnet traffic is + allowed. + :type allow_vnet_to_vnet_traffic: bool + :param office365_local_breakout_category: The office local breakout + category. Possible values include: 'Optimize', 'OptimizeAndAllow', 'All', + 'None' + :type office365_local_breakout_category: str or + ~azure.mgmt.network.v2020_04_01.models.OfficeTrafficCategory + :ivar provisioning_state: The provisioning state of the virtual WAN + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param virtual_wan_type: The type of the VirtualWAN. + :type virtual_wan_type: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'virtual_hubs': {'readonly': True}, + 'vpn_sites': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'disable_vpn_encryption': {'key': 'properties.disableVpnEncryption', 'type': 'bool'}, + 'virtual_hubs': {'key': 'properties.virtualHubs', 'type': '[SubResource]'}, + 'vpn_sites': {'key': 'properties.vpnSites', 'type': '[SubResource]'}, + 'allow_branch_to_branch_traffic': {'key': 'properties.allowBranchToBranchTraffic', 'type': 'bool'}, + 'allow_vnet_to_vnet_traffic': {'key': 'properties.allowVnetToVnetTraffic', 'type': 'bool'}, + 'office365_local_breakout_category': {'key': 'properties.office365LocalBreakoutCategory', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'virtual_wan_type': {'key': 'properties.type', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VirtualWAN, self).__init__(**kwargs) + self.disable_vpn_encryption = kwargs.get('disable_vpn_encryption', None) + self.virtual_hubs = None + self.vpn_sites = None + self.allow_branch_to_branch_traffic = kwargs.get('allow_branch_to_branch_traffic', None) + self.allow_vnet_to_vnet_traffic = kwargs.get('allow_vnet_to_vnet_traffic', None) + self.office365_local_breakout_category = kwargs.get('office365_local_breakout_category', None) + self.provisioning_state = None + self.virtual_wan_type = kwargs.get('virtual_wan_type', None) + self.etag = None + + +class VirtualWanSecurityProvider(Model): + """Collection of SecurityProviders. + + :param name: Name of the security provider. + :type name: str + :param url: Url of the security provider. + :type url: str + :param type: Name of the security provider. Possible values include: + 'External', 'Native' + :type type: str or + ~azure.mgmt.network.v2020_04_01.models.VirtualWanSecurityProviderType + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'url': {'key': 'url', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VirtualWanSecurityProvider, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.url = kwargs.get('url', None) + self.type = kwargs.get('type', None) + + +class VirtualWanSecurityProviders(Model): + """Collection of SecurityProviders. + + :param supported_providers: List of VirtualWAN security providers. + :type supported_providers: + list[~azure.mgmt.network.v2020_04_01.models.VirtualWanSecurityProvider] + """ + + _attribute_map = { + 'supported_providers': {'key': 'supportedProviders', 'type': '[VirtualWanSecurityProvider]'}, + } + + def __init__(self, **kwargs): + super(VirtualWanSecurityProviders, self).__init__(**kwargs) + self.supported_providers = kwargs.get('supported_providers', None) + + +class VirtualWanVpnProfileParameters(Model): + """Virtual Wan Vpn profile parameters Vpn profile generation. + + :param vpn_server_configuration_resource_id: VpnServerConfiguration + partial resource uri with which VirtualWan is associated to. + :type vpn_server_configuration_resource_id: str + :param authentication_method: VPN client authentication method. Possible + values include: 'EAPTLS', 'EAPMSCHAPv2' + :type authentication_method: str or + ~azure.mgmt.network.v2020_04_01.models.AuthenticationMethod + """ + + _attribute_map = { + 'vpn_server_configuration_resource_id': {'key': 'vpnServerConfigurationResourceId', 'type': 'str'}, + 'authentication_method': {'key': 'authenticationMethod', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VirtualWanVpnProfileParameters, self).__init__(**kwargs) + self.vpn_server_configuration_resource_id = kwargs.get('vpn_server_configuration_resource_id', None) + self.authentication_method = kwargs.get('authentication_method', None) + + +class VM(Resource): + """Describes a Virtual Machine. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, **kwargs): + super(VM, self).__init__(**kwargs) + + +class VnetRoute(Model): + """List of routes that control routing from VirtualHub into a virtual network + connection. + + :param static_routes: List of all Static Routes. + :type static_routes: + list[~azure.mgmt.network.v2020_04_01.models.StaticRoute] + """ + + _attribute_map = { + 'static_routes': {'key': 'staticRoutes', 'type': '[StaticRoute]'}, + } + + def __init__(self, **kwargs): + super(VnetRoute, self).__init__(**kwargs) + self.static_routes = kwargs.get('static_routes', None) + + +class VpnClientConfiguration(Model): + """VpnClientConfiguration for P2S client. + + :param vpn_client_address_pool: The reference to the address space + resource which represents Address space for P2S VpnClient. + :type vpn_client_address_pool: + ~azure.mgmt.network.v2020_04_01.models.AddressSpace + :param vpn_client_root_certificates: VpnClientRootCertificate for virtual + network gateway. + :type vpn_client_root_certificates: + list[~azure.mgmt.network.v2020_04_01.models.VpnClientRootCertificate] + :param vpn_client_revoked_certificates: VpnClientRevokedCertificate for + Virtual network gateway. + :type vpn_client_revoked_certificates: + list[~azure.mgmt.network.v2020_04_01.models.VpnClientRevokedCertificate] + :param vpn_client_protocols: VpnClientProtocols for Virtual network + gateway. + :type vpn_client_protocols: list[str or + ~azure.mgmt.network.v2020_04_01.models.VpnClientProtocol] + :param vpn_client_ipsec_policies: VpnClientIpsecPolicies for virtual + network gateway P2S client. + :type vpn_client_ipsec_policies: + list[~azure.mgmt.network.v2020_04_01.models.IpsecPolicy] + :param radius_server_address: The radius server address property of the + VirtualNetworkGateway resource for vpn client connection. + :type radius_server_address: str + :param radius_server_secret: The radius secret property of the + VirtualNetworkGateway resource for vpn client connection. + :type radius_server_secret: str + :param radius_servers: The radiusServers property for multiple radius + server configuration. + :type radius_servers: + list[~azure.mgmt.network.v2020_04_01.models.RadiusServer] + :param aad_tenant: The AADTenant property of the VirtualNetworkGateway + resource for vpn client connection used for AAD authentication. + :type aad_tenant: str + :param aad_audience: The AADAudience property of the VirtualNetworkGateway + resource for vpn client connection used for AAD authentication. + :type aad_audience: str + :param aad_issuer: The AADIssuer property of the VirtualNetworkGateway + resource for vpn client connection used for AAD authentication. + :type aad_issuer: str + """ + + _attribute_map = { + 'vpn_client_address_pool': {'key': 'vpnClientAddressPool', 'type': 'AddressSpace'}, + 'vpn_client_root_certificates': {'key': 'vpnClientRootCertificates', 'type': '[VpnClientRootCertificate]'}, + 'vpn_client_revoked_certificates': {'key': 'vpnClientRevokedCertificates', 'type': '[VpnClientRevokedCertificate]'}, + 'vpn_client_protocols': {'key': 'vpnClientProtocols', 'type': '[str]'}, + 'vpn_client_ipsec_policies': {'key': 'vpnClientIpsecPolicies', 'type': '[IpsecPolicy]'}, + 'radius_server_address': {'key': 'radiusServerAddress', 'type': 'str'}, + 'radius_server_secret': {'key': 'radiusServerSecret', 'type': 'str'}, + 'radius_servers': {'key': 'radiusServers', 'type': '[RadiusServer]'}, + 'aad_tenant': {'key': 'aadTenant', 'type': 'str'}, + 'aad_audience': {'key': 'aadAudience', 'type': 'str'}, + 'aad_issuer': {'key': 'aadIssuer', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VpnClientConfiguration, self).__init__(**kwargs) + self.vpn_client_address_pool = kwargs.get('vpn_client_address_pool', None) + self.vpn_client_root_certificates = kwargs.get('vpn_client_root_certificates', None) + self.vpn_client_revoked_certificates = kwargs.get('vpn_client_revoked_certificates', None) + self.vpn_client_protocols = kwargs.get('vpn_client_protocols', None) + self.vpn_client_ipsec_policies = kwargs.get('vpn_client_ipsec_policies', None) + self.radius_server_address = kwargs.get('radius_server_address', None) + self.radius_server_secret = kwargs.get('radius_server_secret', None) + self.radius_servers = kwargs.get('radius_servers', None) + self.aad_tenant = kwargs.get('aad_tenant', None) + self.aad_audience = kwargs.get('aad_audience', None) + self.aad_issuer = kwargs.get('aad_issuer', None) + + +class VpnClientConnectionHealth(Model): + """VpnClientConnectionHealth properties. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar total_ingress_bytes_transferred: Total of the Ingress Bytes + Transferred in this P2S Vpn connection. + :vartype total_ingress_bytes_transferred: long + :ivar total_egress_bytes_transferred: Total of the Egress Bytes + Transferred in this connection. + :vartype total_egress_bytes_transferred: long + :param vpn_client_connections_count: The total of p2s vpn clients + connected at this time to this P2SVpnGateway. + :type vpn_client_connections_count: int + :param allocated_ip_addresses: List of allocated ip addresses to the + connected p2s vpn clients. + :type allocated_ip_addresses: list[str] + """ + + _validation = { + 'total_ingress_bytes_transferred': {'readonly': True}, + 'total_egress_bytes_transferred': {'readonly': True}, + } + + _attribute_map = { + 'total_ingress_bytes_transferred': {'key': 'totalIngressBytesTransferred', 'type': 'long'}, + 'total_egress_bytes_transferred': {'key': 'totalEgressBytesTransferred', 'type': 'long'}, + 'vpn_client_connections_count': {'key': 'vpnClientConnectionsCount', 'type': 'int'}, + 'allocated_ip_addresses': {'key': 'allocatedIpAddresses', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(VpnClientConnectionHealth, self).__init__(**kwargs) + self.total_ingress_bytes_transferred = None + self.total_egress_bytes_transferred = None + self.vpn_client_connections_count = kwargs.get('vpn_client_connections_count', None) + self.allocated_ip_addresses = kwargs.get('allocated_ip_addresses', None) + + +class VpnClientConnectionHealthDetail(Model): + """VPN client connection health detail. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar vpn_connection_id: The vpn client Id. + :vartype vpn_connection_id: str + :ivar vpn_connection_duration: The duration time of a connected vpn + client. + :vartype vpn_connection_duration: long + :ivar vpn_connection_time: The start time of a connected vpn client. + :vartype vpn_connection_time: str + :ivar public_ip_address: The public Ip of a connected vpn client. + :vartype public_ip_address: str + :ivar private_ip_address: The assigned private Ip of a connected vpn + client. + :vartype private_ip_address: str + :ivar vpn_user_name: The user name of a connected vpn client. + :vartype vpn_user_name: str + :ivar max_bandwidth: The max band width. + :vartype max_bandwidth: long + :ivar egress_packets_transferred: The egress packets per second. + :vartype egress_packets_transferred: long + :ivar egress_bytes_transferred: The egress bytes per second. + :vartype egress_bytes_transferred: long + :ivar ingress_packets_transferred: The ingress packets per second. + :vartype ingress_packets_transferred: long + :ivar ingress_bytes_transferred: The ingress bytes per second. + :vartype ingress_bytes_transferred: long + :ivar max_packets_per_second: The max packets transferred per second. + :vartype max_packets_per_second: long + """ + + _validation = { + 'vpn_connection_id': {'readonly': True}, + 'vpn_connection_duration': {'readonly': True}, + 'vpn_connection_time': {'readonly': True}, + 'public_ip_address': {'readonly': True}, + 'private_ip_address': {'readonly': True}, + 'vpn_user_name': {'readonly': True}, + 'max_bandwidth': {'readonly': True}, + 'egress_packets_transferred': {'readonly': True}, + 'egress_bytes_transferred': {'readonly': True}, + 'ingress_packets_transferred': {'readonly': True}, + 'ingress_bytes_transferred': {'readonly': True}, + 'max_packets_per_second': {'readonly': True}, + } + + _attribute_map = { + 'vpn_connection_id': {'key': 'vpnConnectionId', 'type': 'str'}, + 'vpn_connection_duration': {'key': 'vpnConnectionDuration', 'type': 'long'}, + 'vpn_connection_time': {'key': 'vpnConnectionTime', 'type': 'str'}, + 'public_ip_address': {'key': 'publicIpAddress', 'type': 'str'}, + 'private_ip_address': {'key': 'privateIpAddress', 'type': 'str'}, + 'vpn_user_name': {'key': 'vpnUserName', 'type': 'str'}, + 'max_bandwidth': {'key': 'maxBandwidth', 'type': 'long'}, + 'egress_packets_transferred': {'key': 'egressPacketsTransferred', 'type': 'long'}, + 'egress_bytes_transferred': {'key': 'egressBytesTransferred', 'type': 'long'}, + 'ingress_packets_transferred': {'key': 'ingressPacketsTransferred', 'type': 'long'}, + 'ingress_bytes_transferred': {'key': 'ingressBytesTransferred', 'type': 'long'}, + 'max_packets_per_second': {'key': 'maxPacketsPerSecond', 'type': 'long'}, + } + + def __init__(self, **kwargs): + super(VpnClientConnectionHealthDetail, self).__init__(**kwargs) + self.vpn_connection_id = None + self.vpn_connection_duration = None + self.vpn_connection_time = None + self.public_ip_address = None + self.private_ip_address = None + self.vpn_user_name = None + self.max_bandwidth = None + self.egress_packets_transferred = None + self.egress_bytes_transferred = None + self.ingress_packets_transferred = None + self.ingress_bytes_transferred = None + self.max_packets_per_second = None + + +class VpnClientConnectionHealthDetailListResult(Model): + """List of virtual network gateway vpn client connection health. + + :param value: List of vpn client connection health. + :type value: + list[~azure.mgmt.network.v2020_04_01.models.VpnClientConnectionHealthDetail] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[VpnClientConnectionHealthDetail]'}, + } + + def __init__(self, **kwargs): + super(VpnClientConnectionHealthDetailListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + + +class VpnClientIPsecParameters(Model): + """An IPSec parameters for a virtual network gateway P2S connection. + + All required parameters must be populated in order to send to Azure. + + :param sa_life_time_seconds: Required. The IPSec Security Association + (also called Quick Mode or Phase 2 SA) lifetime in seconds for P2S client. + :type sa_life_time_seconds: int + :param sa_data_size_kilobytes: Required. The IPSec Security Association + (also called Quick Mode or Phase 2 SA) payload size in KB for P2S client.. + :type sa_data_size_kilobytes: int + :param ipsec_encryption: Required. The IPSec encryption algorithm (IKE + phase 1). Possible values include: 'None', 'DES', 'DES3', 'AES128', + 'AES192', 'AES256', 'GCMAES128', 'GCMAES192', 'GCMAES256' + :type ipsec_encryption: str or + ~azure.mgmt.network.v2020_04_01.models.IpsecEncryption + :param ipsec_integrity: Required. The IPSec integrity algorithm (IKE phase + 1). Possible values include: 'MD5', 'SHA1', 'SHA256', 'GCMAES128', + 'GCMAES192', 'GCMAES256' + :type ipsec_integrity: str or + ~azure.mgmt.network.v2020_04_01.models.IpsecIntegrity + :param ike_encryption: Required. The IKE encryption algorithm (IKE phase + 2). Possible values include: 'DES', 'DES3', 'AES128', 'AES192', 'AES256', + 'GCMAES256', 'GCMAES128' + :type ike_encryption: str or + ~azure.mgmt.network.v2020_04_01.models.IkeEncryption + :param ike_integrity: Required. The IKE integrity algorithm (IKE phase 2). + Possible values include: 'MD5', 'SHA1', 'SHA256', 'SHA384', 'GCMAES256', + 'GCMAES128' + :type ike_integrity: str or + ~azure.mgmt.network.v2020_04_01.models.IkeIntegrity + :param dh_group: Required. The DH Group used in IKE Phase 1 for initial + SA. Possible values include: 'None', 'DHGroup1', 'DHGroup2', 'DHGroup14', + 'DHGroup2048', 'ECP256', 'ECP384', 'DHGroup24' + :type dh_group: str or ~azure.mgmt.network.v2020_04_01.models.DhGroup + :param pfs_group: Required. The Pfs Group used in IKE Phase 2 for new + child SA. Possible values include: 'None', 'PFS1', 'PFS2', 'PFS2048', + 'ECP256', 'ECP384', 'PFS24', 'PFS14', 'PFSMM' + :type pfs_group: str or ~azure.mgmt.network.v2020_04_01.models.PfsGroup + """ + + _validation = { + 'sa_life_time_seconds': {'required': True}, + 'sa_data_size_kilobytes': {'required': True}, + 'ipsec_encryption': {'required': True}, + 'ipsec_integrity': {'required': True}, + 'ike_encryption': {'required': True}, + 'ike_integrity': {'required': True}, + 'dh_group': {'required': True}, + 'pfs_group': {'required': True}, + } + + _attribute_map = { + 'sa_life_time_seconds': {'key': 'saLifeTimeSeconds', 'type': 'int'}, + 'sa_data_size_kilobytes': {'key': 'saDataSizeKilobytes', 'type': 'int'}, + 'ipsec_encryption': {'key': 'ipsecEncryption', 'type': 'str'}, + 'ipsec_integrity': {'key': 'ipsecIntegrity', 'type': 'str'}, + 'ike_encryption': {'key': 'ikeEncryption', 'type': 'str'}, + 'ike_integrity': {'key': 'ikeIntegrity', 'type': 'str'}, + 'dh_group': {'key': 'dhGroup', 'type': 'str'}, + 'pfs_group': {'key': 'pfsGroup', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VpnClientIPsecParameters, self).__init__(**kwargs) + self.sa_life_time_seconds = kwargs.get('sa_life_time_seconds', None) + self.sa_data_size_kilobytes = kwargs.get('sa_data_size_kilobytes', None) + self.ipsec_encryption = kwargs.get('ipsec_encryption', None) + self.ipsec_integrity = kwargs.get('ipsec_integrity', None) + self.ike_encryption = kwargs.get('ike_encryption', None) + self.ike_integrity = kwargs.get('ike_integrity', None) + self.dh_group = kwargs.get('dh_group', None) + self.pfs_group = kwargs.get('pfs_group', None) + + +class VpnClientParameters(Model): + """Vpn Client Parameters for package generation. + + :param processor_architecture: VPN client Processor Architecture. Possible + values include: 'Amd64', 'X86' + :type processor_architecture: str or + ~azure.mgmt.network.v2020_04_01.models.ProcessorArchitecture + :param authentication_method: VPN client authentication method. Possible + values include: 'EAPTLS', 'EAPMSCHAPv2' + :type authentication_method: str or + ~azure.mgmt.network.v2020_04_01.models.AuthenticationMethod + :param radius_server_auth_certificate: The public certificate data for the + radius server authentication certificate as a Base-64 encoded string. + Required only if external radius authentication has been configured with + EAPTLS authentication. + :type radius_server_auth_certificate: str + :param client_root_certificates: A list of client root certificates public + certificate data encoded as Base-64 strings. Optional parameter for + external radius based authentication with EAPTLS. + :type client_root_certificates: list[str] + """ + + _attribute_map = { + 'processor_architecture': {'key': 'processorArchitecture', 'type': 'str'}, + 'authentication_method': {'key': 'authenticationMethod', 'type': 'str'}, + 'radius_server_auth_certificate': {'key': 'radiusServerAuthCertificate', 'type': 'str'}, + 'client_root_certificates': {'key': 'clientRootCertificates', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(VpnClientParameters, self).__init__(**kwargs) + self.processor_architecture = kwargs.get('processor_architecture', None) + self.authentication_method = kwargs.get('authentication_method', None) + self.radius_server_auth_certificate = kwargs.get('radius_server_auth_certificate', None) + self.client_root_certificates = kwargs.get('client_root_certificates', None) + + +class VpnClientRevokedCertificate(SubResource): + """VPN client revoked certificate of virtual network gateway. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param thumbprint: The revoked VPN client certificate thumbprint. + :type thumbprint: str + :ivar provisioning_state: The provisioning state of the VPN client revoked + certificate resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'thumbprint': {'key': 'properties.thumbprint', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VpnClientRevokedCertificate, self).__init__(**kwargs) + self.thumbprint = kwargs.get('thumbprint', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = None + + +class VpnClientRootCertificate(SubResource): + """VPN client root certificate of virtual network gateway. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :param public_cert_data: Required. The certificate public data. + :type public_cert_data: str + :ivar provisioning_state: The provisioning state of the VPN client root + certificate resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'public_cert_data': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'public_cert_data': {'key': 'properties.publicCertData', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VpnClientRootCertificate, self).__init__(**kwargs) + self.public_cert_data = kwargs.get('public_cert_data', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = None + + +class VpnConnection(SubResource): + """VpnConnection Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param remote_vpn_site: Id of the connected vpn site. + :type remote_vpn_site: ~azure.mgmt.network.v2020_04_01.models.SubResource + :param routing_weight: Routing weight for vpn connection. + :type routing_weight: int + :param dpd_timeout_seconds: The dead peer detection timeout for a vpn + connection in seconds. + :type dpd_timeout_seconds: int + :param connection_status: The connection status. Possible values include: + 'Unknown', 'Connecting', 'Connected', 'NotConnected' + :type connection_status: str or + ~azure.mgmt.network.v2020_04_01.models.VpnConnectionStatus + :param vpn_connection_protocol_type: Connection protocol used for this + connection. Possible values include: 'IKEv2', 'IKEv1' + :type vpn_connection_protocol_type: str or + ~azure.mgmt.network.v2020_04_01.models.VirtualNetworkGatewayConnectionProtocol + :ivar ingress_bytes_transferred: Ingress bytes transferred. + :vartype ingress_bytes_transferred: long + :ivar egress_bytes_transferred: Egress bytes transferred. + :vartype egress_bytes_transferred: long + :param connection_bandwidth: Expected bandwidth in MBPS. + :type connection_bandwidth: int + :param shared_key: SharedKey for the vpn connection. + :type shared_key: str + :param enable_bgp: EnableBgp flag. + :type enable_bgp: bool + :param use_policy_based_traffic_selectors: Enable policy-based traffic + selectors. + :type use_policy_based_traffic_selectors: bool + :param ipsec_policies: The IPSec Policies to be considered by this + connection. + :type ipsec_policies: + list[~azure.mgmt.network.v2020_04_01.models.IpsecPolicy] + :param enable_rate_limiting: EnableBgp flag. + :type enable_rate_limiting: bool + :param enable_internet_security: Enable internet security. + :type enable_internet_security: bool + :param use_local_azure_ip_address: Use local azure ip to initiate + connection. + :type use_local_azure_ip_address: bool + :ivar provisioning_state: The provisioning state of the VPN connection + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param vpn_link_connections: List of all vpn site link connections to the + gateway. + :type vpn_link_connections: + list[~azure.mgmt.network.v2020_04_01.models.VpnSiteLinkConnection] + :param routing_configuration: The Routing Configuration indicating the + associated and propagated route tables on this connection. + :type routing_configuration: + ~azure.mgmt.network.v2020_04_01.models.RoutingConfiguration + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'ingress_bytes_transferred': {'readonly': True}, + 'egress_bytes_transferred': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'remote_vpn_site': {'key': 'properties.remoteVpnSite', 'type': 'SubResource'}, + 'routing_weight': {'key': 'properties.routingWeight', 'type': 'int'}, + 'dpd_timeout_seconds': {'key': 'properties.dpdTimeoutSeconds', 'type': 'int'}, + 'connection_status': {'key': 'properties.connectionStatus', 'type': 'str'}, + 'vpn_connection_protocol_type': {'key': 'properties.vpnConnectionProtocolType', 'type': 'str'}, + 'ingress_bytes_transferred': {'key': 'properties.ingressBytesTransferred', 'type': 'long'}, + 'egress_bytes_transferred': {'key': 'properties.egressBytesTransferred', 'type': 'long'}, + 'connection_bandwidth': {'key': 'properties.connectionBandwidth', 'type': 'int'}, + 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, + 'enable_bgp': {'key': 'properties.enableBgp', 'type': 'bool'}, + 'use_policy_based_traffic_selectors': {'key': 'properties.usePolicyBasedTrafficSelectors', 'type': 'bool'}, + 'ipsec_policies': {'key': 'properties.ipsecPolicies', 'type': '[IpsecPolicy]'}, + 'enable_rate_limiting': {'key': 'properties.enableRateLimiting', 'type': 'bool'}, + 'enable_internet_security': {'key': 'properties.enableInternetSecurity', 'type': 'bool'}, + 'use_local_azure_ip_address': {'key': 'properties.useLocalAzureIpAddress', 'type': 'bool'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'vpn_link_connections': {'key': 'properties.vpnLinkConnections', 'type': '[VpnSiteLinkConnection]'}, + 'routing_configuration': {'key': 'properties.routingConfiguration', 'type': 'RoutingConfiguration'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VpnConnection, self).__init__(**kwargs) + self.remote_vpn_site = kwargs.get('remote_vpn_site', None) + self.routing_weight = kwargs.get('routing_weight', None) + self.dpd_timeout_seconds = kwargs.get('dpd_timeout_seconds', None) + self.connection_status = kwargs.get('connection_status', None) + self.vpn_connection_protocol_type = kwargs.get('vpn_connection_protocol_type', None) + self.ingress_bytes_transferred = None + self.egress_bytes_transferred = None + self.connection_bandwidth = kwargs.get('connection_bandwidth', None) + self.shared_key = kwargs.get('shared_key', None) + self.enable_bgp = kwargs.get('enable_bgp', None) + self.use_policy_based_traffic_selectors = kwargs.get('use_policy_based_traffic_selectors', None) + self.ipsec_policies = kwargs.get('ipsec_policies', None) + self.enable_rate_limiting = kwargs.get('enable_rate_limiting', None) + self.enable_internet_security = kwargs.get('enable_internet_security', None) + self.use_local_azure_ip_address = kwargs.get('use_local_azure_ip_address', None) + self.provisioning_state = None + self.vpn_link_connections = kwargs.get('vpn_link_connections', None) + self.routing_configuration = kwargs.get('routing_configuration', None) + self.name = kwargs.get('name', None) + self.etag = None + + +class VpnDeviceScriptParameters(Model): + """Vpn device configuration script generation parameters. + + :param vendor: The vendor for the vpn device. + :type vendor: str + :param device_family: The device family for the vpn device. + :type device_family: str + :param firmware_version: The firmware version for the vpn device. + :type firmware_version: str + """ + + _attribute_map = { + 'vendor': {'key': 'vendor', 'type': 'str'}, + 'device_family': {'key': 'deviceFamily', 'type': 'str'}, + 'firmware_version': {'key': 'firmwareVersion', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VpnDeviceScriptParameters, self).__init__(**kwargs) + self.vendor = kwargs.get('vendor', None) + self.device_family = kwargs.get('device_family', None) + self.firmware_version = kwargs.get('firmware_version', None) + + +class VpnGateway(Resource): + """VpnGateway Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param virtual_hub: The VirtualHub to which the gateway belongs. + :type virtual_hub: ~azure.mgmt.network.v2020_04_01.models.SubResource + :param connections: List of all vpn connections to the gateway. + :type connections: + list[~azure.mgmt.network.v2020_04_01.models.VpnConnection] + :param bgp_settings: Local network gateway's BGP speaker settings. + :type bgp_settings: ~azure.mgmt.network.v2020_04_01.models.BgpSettings + :ivar provisioning_state: The provisioning state of the VPN gateway + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param vpn_gateway_scale_unit: The scale unit for this vpn gateway. + :type vpn_gateway_scale_unit: int + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'virtual_hub': {'key': 'properties.virtualHub', 'type': 'SubResource'}, + 'connections': {'key': 'properties.connections', 'type': '[VpnConnection]'}, + 'bgp_settings': {'key': 'properties.bgpSettings', 'type': 'BgpSettings'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'vpn_gateway_scale_unit': {'key': 'properties.vpnGatewayScaleUnit', 'type': 'int'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VpnGateway, self).__init__(**kwargs) + self.virtual_hub = kwargs.get('virtual_hub', None) + self.connections = kwargs.get('connections', None) + self.bgp_settings = kwargs.get('bgp_settings', None) + self.provisioning_state = None + self.vpn_gateway_scale_unit = kwargs.get('vpn_gateway_scale_unit', None) + self.etag = None + + +class VpnLinkBgpSettings(Model): + """BGP settings details for a link. + + :param asn: The BGP speaker's ASN. + :type asn: long + :param bgp_peering_address: The BGP peering address and BGP identifier of + this BGP speaker. + :type bgp_peering_address: str + """ + + _attribute_map = { + 'asn': {'key': 'asn', 'type': 'long'}, + 'bgp_peering_address': {'key': 'bgpPeeringAddress', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VpnLinkBgpSettings, self).__init__(**kwargs) + self.asn = kwargs.get('asn', None) + self.bgp_peering_address = kwargs.get('bgp_peering_address', None) + + +class VpnLinkProviderProperties(Model): + """List of properties of a link provider. + + :param link_provider_name: Name of the link provider. + :type link_provider_name: str + :param link_speed_in_mbps: Link speed. + :type link_speed_in_mbps: int + """ + + _attribute_map = { + 'link_provider_name': {'key': 'linkProviderName', 'type': 'str'}, + 'link_speed_in_mbps': {'key': 'linkSpeedInMbps', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(VpnLinkProviderProperties, self).__init__(**kwargs) + self.link_provider_name = kwargs.get('link_provider_name', None) + self.link_speed_in_mbps = kwargs.get('link_speed_in_mbps', None) + + +class VpnPacketCaptureStartParameters(Model): + """Start packet capture parameters on virtual network gateway. + + :param filter_data: Start Packet capture parameters. + :type filter_data: str + """ + + _attribute_map = { + 'filter_data': {'key': 'filterData', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VpnPacketCaptureStartParameters, self).__init__(**kwargs) + self.filter_data = kwargs.get('filter_data', None) + + +class VpnPacketCaptureStopParameters(Model): + """Stop packet capture parameters. + + :param sas_url: SAS url for packet capture on virtual network gateway. + :type sas_url: str + """ + + _attribute_map = { + 'sas_url': {'key': 'sasUrl', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VpnPacketCaptureStopParameters, self).__init__(**kwargs) + self.sas_url = kwargs.get('sas_url', None) + + +class VpnProfileResponse(Model): + """Vpn Profile Response for package generation. + + :param profile_url: URL to the VPN profile. + :type profile_url: str + """ + + _attribute_map = { + 'profile_url': {'key': 'profileUrl', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VpnProfileResponse, self).__init__(**kwargs) + self.profile_url = kwargs.get('profile_url', None) + + +class VpnServerConfigRadiusClientRootCertificate(Model): + """Properties of the Radius client root certificate of VpnServerConfiguration. + + :param name: The certificate name. + :type name: str + :param thumbprint: The Radius client root certificate thumbprint. + :type thumbprint: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'thumbprint': {'key': 'thumbprint', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VpnServerConfigRadiusClientRootCertificate, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.thumbprint = kwargs.get('thumbprint', None) + + +class VpnServerConfigRadiusServerRootCertificate(Model): + """Properties of Radius Server root certificate of VpnServerConfiguration. + + :param name: The certificate name. + :type name: str + :param public_cert_data: The certificate public data. + :type public_cert_data: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'public_cert_data': {'key': 'publicCertData', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VpnServerConfigRadiusServerRootCertificate, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.public_cert_data = kwargs.get('public_cert_data', None) + + +class VpnServerConfiguration(Resource): + """VpnServerConfiguration Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param vpn_server_configuration_name: The name of the + VpnServerConfiguration that is unique within a resource group. + :type vpn_server_configuration_name: str + :param vpn_protocols: VPN protocols for the VpnServerConfiguration. + :type vpn_protocols: list[str or + ~azure.mgmt.network.v2020_04_01.models.VpnGatewayTunnelingProtocol] + :param vpn_authentication_types: VPN authentication types for the + VpnServerConfiguration. + :type vpn_authentication_types: list[str or + ~azure.mgmt.network.v2020_04_01.models.VpnAuthenticationType] + :param vpn_client_root_certificates: VPN client root certificate of + VpnServerConfiguration. + :type vpn_client_root_certificates: + list[~azure.mgmt.network.v2020_04_01.models.VpnServerConfigVpnClientRootCertificate] + :param vpn_client_revoked_certificates: VPN client revoked certificate of + VpnServerConfiguration. + :type vpn_client_revoked_certificates: + list[~azure.mgmt.network.v2020_04_01.models.VpnServerConfigVpnClientRevokedCertificate] + :param radius_server_root_certificates: Radius Server root certificate of + VpnServerConfiguration. + :type radius_server_root_certificates: + list[~azure.mgmt.network.v2020_04_01.models.VpnServerConfigRadiusServerRootCertificate] + :param radius_client_root_certificates: Radius client root certificate of + VpnServerConfiguration. + :type radius_client_root_certificates: + list[~azure.mgmt.network.v2020_04_01.models.VpnServerConfigRadiusClientRootCertificate] + :param vpn_client_ipsec_policies: VpnClientIpsecPolicies for + VpnServerConfiguration. + :type vpn_client_ipsec_policies: + list[~azure.mgmt.network.v2020_04_01.models.IpsecPolicy] + :param radius_server_address: The radius server address property of the + VpnServerConfiguration resource for point to site client connection. + :type radius_server_address: str + :param radius_server_secret: The radius secret property of the + VpnServerConfiguration resource for point to site client connection. + :type radius_server_secret: str + :param radius_servers: Multiple Radius Server configuration for + VpnServerConfiguration. + :type radius_servers: + list[~azure.mgmt.network.v2020_04_01.models.RadiusServer] + :param aad_authentication_parameters: The set of aad vpn authentication + parameters. + :type aad_authentication_parameters: + ~azure.mgmt.network.v2020_04_01.models.AadAuthenticationParameters + :ivar provisioning_state: The provisioning state of the + VpnServerConfiguration resource. Possible values are: 'Updating', + 'Deleting', and 'Failed'. + :vartype provisioning_state: str + :ivar p2_svpn_gateways: List of references to P2SVpnGateways. + :vartype p2_svpn_gateways: + list[~azure.mgmt.network.v2020_04_01.models.P2SVpnGateway] + :ivar vpn_server_configuration_properties_etag: A unique read-only string + that changes whenever the resource is updated. + :vartype vpn_server_configuration_properties_etag: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'p2_svpn_gateways': {'readonly': True}, + 'vpn_server_configuration_properties_etag': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'vpn_server_configuration_name': {'key': 'properties.name', 'type': 'str'}, + 'vpn_protocols': {'key': 'properties.vpnProtocols', 'type': '[str]'}, + 'vpn_authentication_types': {'key': 'properties.vpnAuthenticationTypes', 'type': '[str]'}, + 'vpn_client_root_certificates': {'key': 'properties.vpnClientRootCertificates', 'type': '[VpnServerConfigVpnClientRootCertificate]'}, + 'vpn_client_revoked_certificates': {'key': 'properties.vpnClientRevokedCertificates', 'type': '[VpnServerConfigVpnClientRevokedCertificate]'}, + 'radius_server_root_certificates': {'key': 'properties.radiusServerRootCertificates', 'type': '[VpnServerConfigRadiusServerRootCertificate]'}, + 'radius_client_root_certificates': {'key': 'properties.radiusClientRootCertificates', 'type': '[VpnServerConfigRadiusClientRootCertificate]'}, + 'vpn_client_ipsec_policies': {'key': 'properties.vpnClientIpsecPolicies', 'type': '[IpsecPolicy]'}, + 'radius_server_address': {'key': 'properties.radiusServerAddress', 'type': 'str'}, + 'radius_server_secret': {'key': 'properties.radiusServerSecret', 'type': 'str'}, + 'radius_servers': {'key': 'properties.radiusServers', 'type': '[RadiusServer]'}, + 'aad_authentication_parameters': {'key': 'properties.aadAuthenticationParameters', 'type': 'AadAuthenticationParameters'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'p2_svpn_gateways': {'key': 'properties.p2SVpnGateways', 'type': '[P2SVpnGateway]'}, + 'vpn_server_configuration_properties_etag': {'key': 'properties.etag', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VpnServerConfiguration, self).__init__(**kwargs) + self.vpn_server_configuration_name = kwargs.get('vpn_server_configuration_name', None) + self.vpn_protocols = kwargs.get('vpn_protocols', None) + self.vpn_authentication_types = kwargs.get('vpn_authentication_types', None) + self.vpn_client_root_certificates = kwargs.get('vpn_client_root_certificates', None) + self.vpn_client_revoked_certificates = kwargs.get('vpn_client_revoked_certificates', None) + self.radius_server_root_certificates = kwargs.get('radius_server_root_certificates', None) + self.radius_client_root_certificates = kwargs.get('radius_client_root_certificates', None) + self.vpn_client_ipsec_policies = kwargs.get('vpn_client_ipsec_policies', None) + self.radius_server_address = kwargs.get('radius_server_address', None) + self.radius_server_secret = kwargs.get('radius_server_secret', None) + self.radius_servers = kwargs.get('radius_servers', None) + self.aad_authentication_parameters = kwargs.get('aad_authentication_parameters', None) + self.provisioning_state = None + self.p2_svpn_gateways = None + self.vpn_server_configuration_properties_etag = None + self.etag = None + + +class VpnServerConfigurationsResponse(Model): + """VpnServerConfigurations list associated with VirtualWan Response. + + :param vpn_server_configuration_resource_ids: List of + VpnServerConfigurations associated with VirtualWan. + :type vpn_server_configuration_resource_ids: list[str] + """ + + _attribute_map = { + 'vpn_server_configuration_resource_ids': {'key': 'vpnServerConfigurationResourceIds', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(VpnServerConfigurationsResponse, self).__init__(**kwargs) + self.vpn_server_configuration_resource_ids = kwargs.get('vpn_server_configuration_resource_ids', None) + + +class VpnServerConfigVpnClientRevokedCertificate(Model): + """Properties of the revoked VPN client certificate of VpnServerConfiguration. + + :param name: The certificate name. + :type name: str + :param thumbprint: The revoked VPN client certificate thumbprint. + :type thumbprint: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'thumbprint': {'key': 'thumbprint', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VpnServerConfigVpnClientRevokedCertificate, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.thumbprint = kwargs.get('thumbprint', None) + + +class VpnServerConfigVpnClientRootCertificate(Model): + """Properties of VPN client root certificate of VpnServerConfiguration. + + :param name: The certificate name. + :type name: str + :param public_cert_data: The certificate public data. + :type public_cert_data: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'public_cert_data': {'key': 'publicCertData', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VpnServerConfigVpnClientRootCertificate, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.public_cert_data = kwargs.get('public_cert_data', None) + + +class VpnSite(Resource): + """VpnSite Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param virtual_wan: The VirtualWAN to which the vpnSite belongs. + :type virtual_wan: ~azure.mgmt.network.v2020_04_01.models.SubResource + :param device_properties: The device properties. + :type device_properties: + ~azure.mgmt.network.v2020_04_01.models.DeviceProperties + :param ip_address: The ip-address for the vpn-site. + :type ip_address: str + :param site_key: The key for vpn-site that can be used for connections. + :type site_key: str + :param address_space: The AddressSpace that contains an array of IP + address ranges. + :type address_space: ~azure.mgmt.network.v2020_04_01.models.AddressSpace + :param bgp_properties: The set of bgp properties. + :type bgp_properties: ~azure.mgmt.network.v2020_04_01.models.BgpSettings + :ivar provisioning_state: The provisioning state of the VPN site resource. + Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param is_security_site: IsSecuritySite flag. + :type is_security_site: bool + :param vpn_site_links: List of all vpn site links. + :type vpn_site_links: + list[~azure.mgmt.network.v2020_04_01.models.VpnSiteLink] + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'virtual_wan': {'key': 'properties.virtualWan', 'type': 'SubResource'}, + 'device_properties': {'key': 'properties.deviceProperties', 'type': 'DeviceProperties'}, + 'ip_address': {'key': 'properties.ipAddress', 'type': 'str'}, + 'site_key': {'key': 'properties.siteKey', 'type': 'str'}, + 'address_space': {'key': 'properties.addressSpace', 'type': 'AddressSpace'}, + 'bgp_properties': {'key': 'properties.bgpProperties', 'type': 'BgpSettings'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'is_security_site': {'key': 'properties.isSecuritySite', 'type': 'bool'}, + 'vpn_site_links': {'key': 'properties.vpnSiteLinks', 'type': '[VpnSiteLink]'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VpnSite, self).__init__(**kwargs) + self.virtual_wan = kwargs.get('virtual_wan', None) + self.device_properties = kwargs.get('device_properties', None) + self.ip_address = kwargs.get('ip_address', None) + self.site_key = kwargs.get('site_key', None) + self.address_space = kwargs.get('address_space', None) + self.bgp_properties = kwargs.get('bgp_properties', None) + self.provisioning_state = None + self.is_security_site = kwargs.get('is_security_site', None) + self.vpn_site_links = kwargs.get('vpn_site_links', None) + self.etag = None + + +class VpnSiteId(Model): + """VpnSite Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar vpn_site: The resource-uri of the vpn-site for which config is to be + fetched. + :vartype vpn_site: str + """ + + _validation = { + 'vpn_site': {'readonly': True}, + } + + _attribute_map = { + 'vpn_site': {'key': 'vpnSite', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VpnSiteId, self).__init__(**kwargs) + self.vpn_site = None + + +class VpnSiteLink(SubResource): + """VpnSiteLink Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param link_properties: The link provider properties. + :type link_properties: + ~azure.mgmt.network.v2020_04_01.models.VpnLinkProviderProperties + :param ip_address: The ip-address for the vpn-site-link. + :type ip_address: str + :param fqdn: FQDN of vpn-site-link. + :type fqdn: str + :param bgp_properties: The set of bgp properties. + :type bgp_properties: + ~azure.mgmt.network.v2020_04_01.models.VpnLinkBgpSettings + :ivar provisioning_state: The provisioning state of the VPN site link + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar type: Resource type. + :vartype type: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'link_properties': {'key': 'properties.linkProperties', 'type': 'VpnLinkProviderProperties'}, + 'ip_address': {'key': 'properties.ipAddress', 'type': 'str'}, + 'fqdn': {'key': 'properties.fqdn', 'type': 'str'}, + 'bgp_properties': {'key': 'properties.bgpProperties', 'type': 'VpnLinkBgpSettings'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VpnSiteLink, self).__init__(**kwargs) + self.link_properties = kwargs.get('link_properties', None) + self.ip_address = kwargs.get('ip_address', None) + self.fqdn = kwargs.get('fqdn', None) + self.bgp_properties = kwargs.get('bgp_properties', None) + self.provisioning_state = None + self.etag = None + self.name = kwargs.get('name', None) + self.type = None + + +class VpnSiteLinkConnection(SubResource): + """VpnSiteLinkConnection Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param vpn_site_link: Id of the connected vpn site link. + :type vpn_site_link: ~azure.mgmt.network.v2020_04_01.models.SubResource + :param routing_weight: Routing weight for vpn connection. + :type routing_weight: int + :param connection_status: The connection status. Possible values include: + 'Unknown', 'Connecting', 'Connected', 'NotConnected' + :type connection_status: str or + ~azure.mgmt.network.v2020_04_01.models.VpnConnectionStatus + :param vpn_connection_protocol_type: Connection protocol used for this + connection. Possible values include: 'IKEv2', 'IKEv1' + :type vpn_connection_protocol_type: str or + ~azure.mgmt.network.v2020_04_01.models.VirtualNetworkGatewayConnectionProtocol + :ivar ingress_bytes_transferred: Ingress bytes transferred. + :vartype ingress_bytes_transferred: long + :ivar egress_bytes_transferred: Egress bytes transferred. + :vartype egress_bytes_transferred: long + :param connection_bandwidth: Expected bandwidth in MBPS. + :type connection_bandwidth: int + :param shared_key: SharedKey for the vpn connection. + :type shared_key: str + :param enable_bgp: EnableBgp flag. + :type enable_bgp: bool + :param use_policy_based_traffic_selectors: Enable policy-based traffic + selectors. + :type use_policy_based_traffic_selectors: bool + :param ipsec_policies: The IPSec Policies to be considered by this + connection. + :type ipsec_policies: + list[~azure.mgmt.network.v2020_04_01.models.IpsecPolicy] + :param enable_rate_limiting: EnableBgp flag. + :type enable_rate_limiting: bool + :param use_local_azure_ip_address: Use local azure ip to initiate + connection. + :type use_local_azure_ip_address: bool + :ivar provisioning_state: The provisioning state of the VPN site link + connection resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Resource type. + :vartype type: str + """ + + _validation = { + 'ingress_bytes_transferred': {'readonly': True}, + 'egress_bytes_transferred': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'vpn_site_link': {'key': 'properties.vpnSiteLink', 'type': 'SubResource'}, + 'routing_weight': {'key': 'properties.routingWeight', 'type': 'int'}, + 'connection_status': {'key': 'properties.connectionStatus', 'type': 'str'}, + 'vpn_connection_protocol_type': {'key': 'properties.vpnConnectionProtocolType', 'type': 'str'}, + 'ingress_bytes_transferred': {'key': 'properties.ingressBytesTransferred', 'type': 'long'}, + 'egress_bytes_transferred': {'key': 'properties.egressBytesTransferred', 'type': 'long'}, + 'connection_bandwidth': {'key': 'properties.connectionBandwidth', 'type': 'int'}, + 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, + 'enable_bgp': {'key': 'properties.enableBgp', 'type': 'bool'}, + 'use_policy_based_traffic_selectors': {'key': 'properties.usePolicyBasedTrafficSelectors', 'type': 'bool'}, + 'ipsec_policies': {'key': 'properties.ipsecPolicies', 'type': '[IpsecPolicy]'}, + 'enable_rate_limiting': {'key': 'properties.enableRateLimiting', 'type': 'bool'}, + 'use_local_azure_ip_address': {'key': 'properties.useLocalAzureIpAddress', 'type': 'bool'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VpnSiteLinkConnection, self).__init__(**kwargs) + self.vpn_site_link = kwargs.get('vpn_site_link', None) + self.routing_weight = kwargs.get('routing_weight', None) + self.connection_status = kwargs.get('connection_status', None) + self.vpn_connection_protocol_type = kwargs.get('vpn_connection_protocol_type', None) + self.ingress_bytes_transferred = None + self.egress_bytes_transferred = None + self.connection_bandwidth = kwargs.get('connection_bandwidth', None) + self.shared_key = kwargs.get('shared_key', None) + self.enable_bgp = kwargs.get('enable_bgp', None) + self.use_policy_based_traffic_selectors = kwargs.get('use_policy_based_traffic_selectors', None) + self.ipsec_policies = kwargs.get('ipsec_policies', None) + self.enable_rate_limiting = kwargs.get('enable_rate_limiting', None) + self.use_local_azure_ip_address = kwargs.get('use_local_azure_ip_address', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = None + self.type = None + + +class WebApplicationFirewallCustomRule(Model): + """Defines contents of a web application rule. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param name: The name of the resource that is unique within a policy. This + name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :param priority: Required. Priority of the rule. Rules with a lower value + will be evaluated before rules with a higher value. + :type priority: int + :param rule_type: Required. The rule type. Possible values include: + 'MatchRule', 'Invalid' + :type rule_type: str or + ~azure.mgmt.network.v2020_04_01.models.WebApplicationFirewallRuleType + :param match_conditions: Required. List of match conditions. + :type match_conditions: + list[~azure.mgmt.network.v2020_04_01.models.MatchCondition] + :param action: Required. Type of Actions. Possible values include: + 'Allow', 'Block', 'Log' + :type action: str or + ~azure.mgmt.network.v2020_04_01.models.WebApplicationFirewallAction + """ + + _validation = { + 'name': {'max_length': 128}, + 'etag': {'readonly': True}, + 'priority': {'required': True}, + 'rule_type': {'required': True}, + 'match_conditions': {'required': True}, + 'action': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'priority': {'key': 'priority', 'type': 'int'}, + 'rule_type': {'key': 'ruleType', 'type': 'str'}, + 'match_conditions': {'key': 'matchConditions', 'type': '[MatchCondition]'}, + 'action': {'key': 'action', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(WebApplicationFirewallCustomRule, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.etag = None + self.priority = kwargs.get('priority', None) + self.rule_type = kwargs.get('rule_type', None) + self.match_conditions = kwargs.get('match_conditions', None) + self.action = kwargs.get('action', None) + + +class WebApplicationFirewallPolicy(Resource): + """Defines web application firewall policy. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param policy_settings: The PolicySettings for policy. + :type policy_settings: + ~azure.mgmt.network.v2020_04_01.models.PolicySettings + :param custom_rules: The custom rules inside the policy. + :type custom_rules: + list[~azure.mgmt.network.v2020_04_01.models.WebApplicationFirewallCustomRule] + :ivar application_gateways: A collection of references to application + gateways. + :vartype application_gateways: + list[~azure.mgmt.network.v2020_04_01.models.ApplicationGateway] + :ivar provisioning_state: The provisioning state of the web application + firewall policy resource. Possible values include: 'Succeeded', + 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :ivar resource_state: Resource status of the policy. Resource status of + the policy. Possible values include: 'Creating', 'Enabling', 'Enabled', + 'Disabling', 'Disabled', 'Deleting' + :vartype resource_state: str or + ~azure.mgmt.network.v2020_04_01.models.WebApplicationFirewallPolicyResourceState + :param managed_rules: Required. Describes the managedRules structure. + :type managed_rules: + ~azure.mgmt.network.v2020_04_01.models.ManagedRulesDefinition + :ivar http_listeners: A collection of references to application gateway + http listeners. + :vartype http_listeners: + list[~azure.mgmt.network.v2020_04_01.models.SubResource] + :ivar path_based_rules: A collection of references to application gateway + path rules. + :vartype path_based_rules: + list[~azure.mgmt.network.v2020_04_01.models.SubResource] + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'application_gateways': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'resource_state': {'readonly': True}, + 'managed_rules': {'required': True}, + 'http_listeners': {'readonly': True}, + 'path_based_rules': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'policy_settings': {'key': 'properties.policySettings', 'type': 'PolicySettings'}, + 'custom_rules': {'key': 'properties.customRules', 'type': '[WebApplicationFirewallCustomRule]'}, + 'application_gateways': {'key': 'properties.applicationGateways', 'type': '[ApplicationGateway]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'resource_state': {'key': 'properties.resourceState', 'type': 'str'}, + 'managed_rules': {'key': 'properties.managedRules', 'type': 'ManagedRulesDefinition'}, + 'http_listeners': {'key': 'properties.httpListeners', 'type': '[SubResource]'}, + 'path_based_rules': {'key': 'properties.pathBasedRules', 'type': '[SubResource]'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(WebApplicationFirewallPolicy, self).__init__(**kwargs) + self.policy_settings = kwargs.get('policy_settings', None) + self.custom_rules = kwargs.get('custom_rules', None) + self.application_gateways = None + self.provisioning_state = None + self.resource_state = None + self.managed_rules = kwargs.get('managed_rules', None) + self.http_listeners = None + self.path_based_rules = None + self.etag = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/models/_models_py3.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/models/_models_py3.py new file mode 100644 index 00000000000..6c58f30d98c --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/models/_models_py3.py @@ -0,0 +1,18217 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model +from msrest.exceptions import HttpOperationError + + +class AadAuthenticationParameters(Model): + """AAD Vpn authentication type related parameters. + + :param aad_tenant: AAD Vpn authentication parameter AAD tenant. + :type aad_tenant: str + :param aad_audience: AAD Vpn authentication parameter AAD audience. + :type aad_audience: str + :param aad_issuer: AAD Vpn authentication parameter AAD issuer. + :type aad_issuer: str + """ + + _attribute_map = { + 'aad_tenant': {'key': 'aadTenant', 'type': 'str'}, + 'aad_audience': {'key': 'aadAudience', 'type': 'str'}, + 'aad_issuer': {'key': 'aadIssuer', 'type': 'str'}, + } + + def __init__(self, *, aad_tenant: str=None, aad_audience: str=None, aad_issuer: str=None, **kwargs) -> None: + super(AadAuthenticationParameters, self).__init__(**kwargs) + self.aad_tenant = aad_tenant + self.aad_audience = aad_audience + self.aad_issuer = aad_issuer + + +class AddressSpace(Model): + """AddressSpace contains an array of IP address ranges that can be used by + subnets of the virtual network. + + :param address_prefixes: A list of address blocks reserved for this + virtual network in CIDR notation. + :type address_prefixes: list[str] + """ + + _attribute_map = { + 'address_prefixes': {'key': 'addressPrefixes', 'type': '[str]'}, + } + + def __init__(self, *, address_prefixes=None, **kwargs) -> None: + super(AddressSpace, self).__init__(**kwargs) + self.address_prefixes = address_prefixes + + +class Resource(Model): + """Common resource representation. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, **kwargs) -> None: + super(Resource, self).__init__(**kwargs) + self.id = id + self.name = None + self.type = None + self.location = location + self.tags = tags + + +class ApplicationGateway(Resource): + """Application gateway resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param sku: SKU of the application gateway resource. + :type sku: ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewaySku + :param ssl_policy: SSL policy of the application gateway resource. + :type ssl_policy: + ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewaySslPolicy + :ivar operational_state: Operational state of the application gateway + resource. Possible values include: 'Stopped', 'Starting', 'Running', + 'Stopping' + :vartype operational_state: str or + ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayOperationalState + :param gateway_ip_configurations: Subnets of the application gateway + resource. For default limits, see [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + :type gateway_ip_configurations: + list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayIPConfiguration] + :param authentication_certificates: Authentication certificates of the + application gateway resource. For default limits, see [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + :type authentication_certificates: + list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayAuthenticationCertificate] + :param trusted_root_certificates: Trusted Root certificates of the + application gateway resource. For default limits, see [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + :type trusted_root_certificates: + list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayTrustedRootCertificate] + :param ssl_certificates: SSL certificates of the application gateway + resource. For default limits, see [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + :type ssl_certificates: + list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewaySslCertificate] + :param frontend_ip_configurations: Frontend IP addresses of the + application gateway resource. For default limits, see [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + :type frontend_ip_configurations: + list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayFrontendIPConfiguration] + :param frontend_ports: Frontend ports of the application gateway resource. + For default limits, see [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + :type frontend_ports: + list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayFrontendPort] + :param probes: Probes of the application gateway resource. + :type probes: + list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayProbe] + :param backend_address_pools: Backend address pool of the application + gateway resource. For default limits, see [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + :type backend_address_pools: + list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayBackendAddressPool] + :param backend_http_settings_collection: Backend http settings of the + application gateway resource. For default limits, see [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + :type backend_http_settings_collection: + list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayBackendHttpSettings] + :param http_listeners: Http listeners of the application gateway resource. + For default limits, see [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + :type http_listeners: + list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayHttpListener] + :param url_path_maps: URL path map of the application gateway resource. + For default limits, see [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + :type url_path_maps: + list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayUrlPathMap] + :param request_routing_rules: Request routing rules of the application + gateway resource. + :type request_routing_rules: + list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayRequestRoutingRule] + :param rewrite_rule_sets: Rewrite rules for the application gateway + resource. + :type rewrite_rule_sets: + list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayRewriteRuleSet] + :param redirect_configurations: Redirect configurations of the application + gateway resource. For default limits, see [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + :type redirect_configurations: + list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayRedirectConfiguration] + :param web_application_firewall_configuration: Web application firewall + configuration. + :type web_application_firewall_configuration: + ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayWebApplicationFirewallConfiguration + :param firewall_policy: Reference to the FirewallPolicy resource. + :type firewall_policy: ~azure.mgmt.network.v2020_04_01.models.SubResource + :param enable_http2: Whether HTTP2 is enabled on the application gateway + resource. + :type enable_http2: bool + :param enable_fips: Whether FIPS is enabled on the application gateway + resource. + :type enable_fips: bool + :param autoscale_configuration: Autoscale Configuration. + :type autoscale_configuration: + ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayAutoscaleConfiguration + :ivar resource_guid: The resource GUID property of the application gateway + resource. + :vartype resource_guid: str + :ivar provisioning_state: The provisioning state of the application + gateway resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param custom_error_configurations: Custom error configurations of the + application gateway resource. + :type custom_error_configurations: + list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayCustomError] + :param force_firewall_policy_association: If true, associates a firewall + policy with an application gateway regardless whether the policy differs + from the WAF Config. + :type force_firewall_policy_association: bool + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :param zones: A list of availability zones denoting where the resource + needs to come from. + :type zones: list[str] + :param identity: The identity of the application gateway, if configured. + :type identity: + ~azure.mgmt.network.v2020_04_01.models.ManagedServiceIdentity + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'operational_state': {'readonly': True}, + 'resource_guid': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'sku': {'key': 'properties.sku', 'type': 'ApplicationGatewaySku'}, + 'ssl_policy': {'key': 'properties.sslPolicy', 'type': 'ApplicationGatewaySslPolicy'}, + 'operational_state': {'key': 'properties.operationalState', 'type': 'str'}, + 'gateway_ip_configurations': {'key': 'properties.gatewayIPConfigurations', 'type': '[ApplicationGatewayIPConfiguration]'}, + 'authentication_certificates': {'key': 'properties.authenticationCertificates', 'type': '[ApplicationGatewayAuthenticationCertificate]'}, + 'trusted_root_certificates': {'key': 'properties.trustedRootCertificates', 'type': '[ApplicationGatewayTrustedRootCertificate]'}, + 'ssl_certificates': {'key': 'properties.sslCertificates', 'type': '[ApplicationGatewaySslCertificate]'}, + 'frontend_ip_configurations': {'key': 'properties.frontendIPConfigurations', 'type': '[ApplicationGatewayFrontendIPConfiguration]'}, + 'frontend_ports': {'key': 'properties.frontendPorts', 'type': '[ApplicationGatewayFrontendPort]'}, + 'probes': {'key': 'properties.probes', 'type': '[ApplicationGatewayProbe]'}, + 'backend_address_pools': {'key': 'properties.backendAddressPools', 'type': '[ApplicationGatewayBackendAddressPool]'}, + 'backend_http_settings_collection': {'key': 'properties.backendHttpSettingsCollection', 'type': '[ApplicationGatewayBackendHttpSettings]'}, + 'http_listeners': {'key': 'properties.httpListeners', 'type': '[ApplicationGatewayHttpListener]'}, + 'url_path_maps': {'key': 'properties.urlPathMaps', 'type': '[ApplicationGatewayUrlPathMap]'}, + 'request_routing_rules': {'key': 'properties.requestRoutingRules', 'type': '[ApplicationGatewayRequestRoutingRule]'}, + 'rewrite_rule_sets': {'key': 'properties.rewriteRuleSets', 'type': '[ApplicationGatewayRewriteRuleSet]'}, + 'redirect_configurations': {'key': 'properties.redirectConfigurations', 'type': '[ApplicationGatewayRedirectConfiguration]'}, + 'web_application_firewall_configuration': {'key': 'properties.webApplicationFirewallConfiguration', 'type': 'ApplicationGatewayWebApplicationFirewallConfiguration'}, + 'firewall_policy': {'key': 'properties.firewallPolicy', 'type': 'SubResource'}, + 'enable_http2': {'key': 'properties.enableHttp2', 'type': 'bool'}, + 'enable_fips': {'key': 'properties.enableFips', 'type': 'bool'}, + 'autoscale_configuration': {'key': 'properties.autoscaleConfiguration', 'type': 'ApplicationGatewayAutoscaleConfiguration'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'custom_error_configurations': {'key': 'properties.customErrorConfigurations', 'type': '[ApplicationGatewayCustomError]'}, + 'force_firewall_policy_association': {'key': 'properties.forceFirewallPolicyAssociation', 'type': 'bool'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'zones': {'key': 'zones', 'type': '[str]'}, + 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, sku=None, ssl_policy=None, gateway_ip_configurations=None, authentication_certificates=None, trusted_root_certificates=None, ssl_certificates=None, frontend_ip_configurations=None, frontend_ports=None, probes=None, backend_address_pools=None, backend_http_settings_collection=None, http_listeners=None, url_path_maps=None, request_routing_rules=None, rewrite_rule_sets=None, redirect_configurations=None, web_application_firewall_configuration=None, firewall_policy=None, enable_http2: bool=None, enable_fips: bool=None, autoscale_configuration=None, custom_error_configurations=None, force_firewall_policy_association: bool=None, zones=None, identity=None, **kwargs) -> None: + super(ApplicationGateway, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.sku = sku + self.ssl_policy = ssl_policy + self.operational_state = None + self.gateway_ip_configurations = gateway_ip_configurations + self.authentication_certificates = authentication_certificates + self.trusted_root_certificates = trusted_root_certificates + self.ssl_certificates = ssl_certificates + self.frontend_ip_configurations = frontend_ip_configurations + self.frontend_ports = frontend_ports + self.probes = probes + self.backend_address_pools = backend_address_pools + self.backend_http_settings_collection = backend_http_settings_collection + self.http_listeners = http_listeners + self.url_path_maps = url_path_maps + self.request_routing_rules = request_routing_rules + self.rewrite_rule_sets = rewrite_rule_sets + self.redirect_configurations = redirect_configurations + self.web_application_firewall_configuration = web_application_firewall_configuration + self.firewall_policy = firewall_policy + self.enable_http2 = enable_http2 + self.enable_fips = enable_fips + self.autoscale_configuration = autoscale_configuration + self.resource_guid = None + self.provisioning_state = None + self.custom_error_configurations = custom_error_configurations + self.force_firewall_policy_association = force_firewall_policy_association + self.etag = None + self.zones = zones + self.identity = identity + + +class SubResource(Model): + """Reference to another subresource. + + :param id: Resource ID. + :type id: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, **kwargs) -> None: + super(SubResource, self).__init__(**kwargs) + self.id = id + + +class ApplicationGatewayAuthenticationCertificate(SubResource): + """Authentication certificates of an application gateway. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param data: Certificate public data. + :type data: str + :ivar provisioning_state: The provisioning state of the authentication + certificate resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: Name of the authentication certificate that is unique within + an Application Gateway. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'data': {'key': 'properties.data', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, data: str=None, name: str=None, **kwargs) -> None: + super(ApplicationGatewayAuthenticationCertificate, self).__init__(id=id, **kwargs) + self.data = data + self.provisioning_state = None + self.name = name + self.etag = None + self.type = None + + +class ApplicationGatewayAutoscaleConfiguration(Model): + """Application Gateway autoscale configuration. + + All required parameters must be populated in order to send to Azure. + + :param min_capacity: Required. Lower bound on number of Application + Gateway capacity. + :type min_capacity: int + :param max_capacity: Upper bound on number of Application Gateway + capacity. + :type max_capacity: int + """ + + _validation = { + 'min_capacity': {'required': True, 'minimum': 0}, + 'max_capacity': {'minimum': 2}, + } + + _attribute_map = { + 'min_capacity': {'key': 'minCapacity', 'type': 'int'}, + 'max_capacity': {'key': 'maxCapacity', 'type': 'int'}, + } + + def __init__(self, *, min_capacity: int, max_capacity: int=None, **kwargs) -> None: + super(ApplicationGatewayAutoscaleConfiguration, self).__init__(**kwargs) + self.min_capacity = min_capacity + self.max_capacity = max_capacity + + +class ApplicationGatewayAvailableSslOptions(Resource): + """Response for ApplicationGatewayAvailableSslOptions API service call. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param predefined_policies: List of available Ssl predefined policy. + :type predefined_policies: + list[~azure.mgmt.network.v2020_04_01.models.SubResource] + :param default_policy: Name of the Ssl predefined policy applied by + default to application gateway. Possible values include: + 'AppGwSslPolicy20150501', 'AppGwSslPolicy20170401', + 'AppGwSslPolicy20170401S' + :type default_policy: str or + ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewaySslPolicyName + :param available_cipher_suites: List of available Ssl cipher suites. + :type available_cipher_suites: list[str or + ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewaySslCipherSuite] + :param available_protocols: List of available Ssl protocols. + :type available_protocols: list[str or + ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewaySslProtocol] + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'predefined_policies': {'key': 'properties.predefinedPolicies', 'type': '[SubResource]'}, + 'default_policy': {'key': 'properties.defaultPolicy', 'type': 'str'}, + 'available_cipher_suites': {'key': 'properties.availableCipherSuites', 'type': '[str]'}, + 'available_protocols': {'key': 'properties.availableProtocols', 'type': '[str]'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, predefined_policies=None, default_policy=None, available_cipher_suites=None, available_protocols=None, **kwargs) -> None: + super(ApplicationGatewayAvailableSslOptions, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.predefined_policies = predefined_policies + self.default_policy = default_policy + self.available_cipher_suites = available_cipher_suites + self.available_protocols = available_protocols + + +class ApplicationGatewayAvailableWafRuleSetsResult(Model): + """Response for ApplicationGatewayAvailableWafRuleSets API service call. + + :param value: The list of application gateway rule sets. + :type value: + list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayFirewallRuleSet] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ApplicationGatewayFirewallRuleSet]'}, + } + + def __init__(self, *, value=None, **kwargs) -> None: + super(ApplicationGatewayAvailableWafRuleSetsResult, self).__init__(**kwargs) + self.value = value + + +class ApplicationGatewayBackendAddress(Model): + """Backend address of an application gateway. + + :param fqdn: Fully qualified domain name (FQDN). + :type fqdn: str + :param ip_address: IP address. + :type ip_address: str + """ + + _attribute_map = { + 'fqdn': {'key': 'fqdn', 'type': 'str'}, + 'ip_address': {'key': 'ipAddress', 'type': 'str'}, + } + + def __init__(self, *, fqdn: str=None, ip_address: str=None, **kwargs) -> None: + super(ApplicationGatewayBackendAddress, self).__init__(**kwargs) + self.fqdn = fqdn + self.ip_address = ip_address + + +class ApplicationGatewayBackendAddressPool(SubResource): + """Backend Address Pool of an application gateway. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar backend_ip_configurations: Collection of references to IPs defined + in network interfaces. + :vartype backend_ip_configurations: + list[~azure.mgmt.network.v2020_04_01.models.NetworkInterfaceIPConfiguration] + :param backend_addresses: Backend addresses. + :type backend_addresses: + list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayBackendAddress] + :ivar provisioning_state: The provisioning state of the backend address + pool resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: Name of the backend address pool that is unique within an + Application Gateway. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'backend_ip_configurations': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'backend_ip_configurations': {'key': 'properties.backendIPConfigurations', 'type': '[NetworkInterfaceIPConfiguration]'}, + 'backend_addresses': {'key': 'properties.backendAddresses', 'type': '[ApplicationGatewayBackendAddress]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, backend_addresses=None, name: str=None, **kwargs) -> None: + super(ApplicationGatewayBackendAddressPool, self).__init__(id=id, **kwargs) + self.backend_ip_configurations = None + self.backend_addresses = backend_addresses + self.provisioning_state = None + self.name = name + self.etag = None + self.type = None + + +class ApplicationGatewayBackendHealth(Model): + """Response for ApplicationGatewayBackendHealth API service call. + + :param backend_address_pools: A list of + ApplicationGatewayBackendHealthPool resources. + :type backend_address_pools: + list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayBackendHealthPool] + """ + + _attribute_map = { + 'backend_address_pools': {'key': 'backendAddressPools', 'type': '[ApplicationGatewayBackendHealthPool]'}, + } + + def __init__(self, *, backend_address_pools=None, **kwargs) -> None: + super(ApplicationGatewayBackendHealth, self).__init__(**kwargs) + self.backend_address_pools = backend_address_pools + + +class ApplicationGatewayBackendHealthHttpSettings(Model): + """Application gateway BackendHealthHttp settings. + + :param backend_http_settings: Reference to an + ApplicationGatewayBackendHttpSettings resource. + :type backend_http_settings: + ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayBackendHttpSettings + :param servers: List of ApplicationGatewayBackendHealthServer resources. + :type servers: + list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayBackendHealthServer] + """ + + _attribute_map = { + 'backend_http_settings': {'key': 'backendHttpSettings', 'type': 'ApplicationGatewayBackendHttpSettings'}, + 'servers': {'key': 'servers', 'type': '[ApplicationGatewayBackendHealthServer]'}, + } + + def __init__(self, *, backend_http_settings=None, servers=None, **kwargs) -> None: + super(ApplicationGatewayBackendHealthHttpSettings, self).__init__(**kwargs) + self.backend_http_settings = backend_http_settings + self.servers = servers + + +class ApplicationGatewayBackendHealthOnDemand(Model): + """Result of on demand test probe. + + :param backend_address_pool: Reference to an + ApplicationGatewayBackendAddressPool resource. + :type backend_address_pool: + ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayBackendAddressPool + :param backend_health_http_settings: Application gateway BackendHealthHttp + settings. + :type backend_health_http_settings: + ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayBackendHealthHttpSettings + """ + + _attribute_map = { + 'backend_address_pool': {'key': 'backendAddressPool', 'type': 'ApplicationGatewayBackendAddressPool'}, + 'backend_health_http_settings': {'key': 'backendHealthHttpSettings', 'type': 'ApplicationGatewayBackendHealthHttpSettings'}, + } + + def __init__(self, *, backend_address_pool=None, backend_health_http_settings=None, **kwargs) -> None: + super(ApplicationGatewayBackendHealthOnDemand, self).__init__(**kwargs) + self.backend_address_pool = backend_address_pool + self.backend_health_http_settings = backend_health_http_settings + + +class ApplicationGatewayBackendHealthPool(Model): + """Application gateway BackendHealth pool. + + :param backend_address_pool: Reference to an + ApplicationGatewayBackendAddressPool resource. + :type backend_address_pool: + ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayBackendAddressPool + :param backend_http_settings_collection: List of + ApplicationGatewayBackendHealthHttpSettings resources. + :type backend_http_settings_collection: + list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayBackendHealthHttpSettings] + """ + + _attribute_map = { + 'backend_address_pool': {'key': 'backendAddressPool', 'type': 'ApplicationGatewayBackendAddressPool'}, + 'backend_http_settings_collection': {'key': 'backendHttpSettingsCollection', 'type': '[ApplicationGatewayBackendHealthHttpSettings]'}, + } + + def __init__(self, *, backend_address_pool=None, backend_http_settings_collection=None, **kwargs) -> None: + super(ApplicationGatewayBackendHealthPool, self).__init__(**kwargs) + self.backend_address_pool = backend_address_pool + self.backend_http_settings_collection = backend_http_settings_collection + + +class ApplicationGatewayBackendHealthServer(Model): + """Application gateway backendhealth http settings. + + :param address: IP address or FQDN of backend server. + :type address: str + :param ip_configuration: Reference to IP configuration of backend server. + :type ip_configuration: + ~azure.mgmt.network.v2020_04_01.models.NetworkInterfaceIPConfiguration + :param health: Health of backend server. Possible values include: + 'Unknown', 'Up', 'Down', 'Partial', 'Draining' + :type health: str or + ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayBackendHealthServerHealth + :param health_probe_log: Health Probe Log. + :type health_probe_log: str + """ + + _attribute_map = { + 'address': {'key': 'address', 'type': 'str'}, + 'ip_configuration': {'key': 'ipConfiguration', 'type': 'NetworkInterfaceIPConfiguration'}, + 'health': {'key': 'health', 'type': 'str'}, + 'health_probe_log': {'key': 'healthProbeLog', 'type': 'str'}, + } + + def __init__(self, *, address: str=None, ip_configuration=None, health=None, health_probe_log: str=None, **kwargs) -> None: + super(ApplicationGatewayBackendHealthServer, self).__init__(**kwargs) + self.address = address + self.ip_configuration = ip_configuration + self.health = health + self.health_probe_log = health_probe_log + + +class ApplicationGatewayBackendHttpSettings(SubResource): + """Backend address pool settings of an application gateway. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param port: The destination port on the backend. + :type port: int + :param protocol: The protocol used to communicate with the backend. + Possible values include: 'Http', 'Https' + :type protocol: str or + ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayProtocol + :param cookie_based_affinity: Cookie based affinity. Possible values + include: 'Enabled', 'Disabled' + :type cookie_based_affinity: str or + ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayCookieBasedAffinity + :param request_timeout: Request timeout in seconds. Application Gateway + will fail the request if response is not received within RequestTimeout. + Acceptable values are from 1 second to 86400 seconds. + :type request_timeout: int + :param probe: Probe resource of an application gateway. + :type probe: ~azure.mgmt.network.v2020_04_01.models.SubResource + :param authentication_certificates: Array of references to application + gateway authentication certificates. + :type authentication_certificates: + list[~azure.mgmt.network.v2020_04_01.models.SubResource] + :param trusted_root_certificates: Array of references to application + gateway trusted root certificates. + :type trusted_root_certificates: + list[~azure.mgmt.network.v2020_04_01.models.SubResource] + :param connection_draining: Connection draining of the backend http + settings resource. + :type connection_draining: + ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayConnectionDraining + :param host_name: Host header to be sent to the backend servers. + :type host_name: str + :param pick_host_name_from_backend_address: Whether to pick host header + should be picked from the host name of the backend server. Default value + is false. + :type pick_host_name_from_backend_address: bool + :param affinity_cookie_name: Cookie name to use for the affinity cookie. + :type affinity_cookie_name: str + :param probe_enabled: Whether the probe is enabled. Default value is + false. + :type probe_enabled: bool + :param path: Path which should be used as a prefix for all HTTP requests. + Null means no path will be prefixed. Default value is null. + :type path: str + :ivar provisioning_state: The provisioning state of the backend HTTP + settings resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: Name of the backend http settings that is unique within an + Application Gateway. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'port': {'key': 'properties.port', 'type': 'int'}, + 'protocol': {'key': 'properties.protocol', 'type': 'str'}, + 'cookie_based_affinity': {'key': 'properties.cookieBasedAffinity', 'type': 'str'}, + 'request_timeout': {'key': 'properties.requestTimeout', 'type': 'int'}, + 'probe': {'key': 'properties.probe', 'type': 'SubResource'}, + 'authentication_certificates': {'key': 'properties.authenticationCertificates', 'type': '[SubResource]'}, + 'trusted_root_certificates': {'key': 'properties.trustedRootCertificates', 'type': '[SubResource]'}, + 'connection_draining': {'key': 'properties.connectionDraining', 'type': 'ApplicationGatewayConnectionDraining'}, + 'host_name': {'key': 'properties.hostName', 'type': 'str'}, + 'pick_host_name_from_backend_address': {'key': 'properties.pickHostNameFromBackendAddress', 'type': 'bool'}, + 'affinity_cookie_name': {'key': 'properties.affinityCookieName', 'type': 'str'}, + 'probe_enabled': {'key': 'properties.probeEnabled', 'type': 'bool'}, + 'path': {'key': 'properties.path', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, port: int=None, protocol=None, cookie_based_affinity=None, request_timeout: int=None, probe=None, authentication_certificates=None, trusted_root_certificates=None, connection_draining=None, host_name: str=None, pick_host_name_from_backend_address: bool=None, affinity_cookie_name: str=None, probe_enabled: bool=None, path: str=None, name: str=None, **kwargs) -> None: + super(ApplicationGatewayBackendHttpSettings, self).__init__(id=id, **kwargs) + self.port = port + self.protocol = protocol + self.cookie_based_affinity = cookie_based_affinity + self.request_timeout = request_timeout + self.probe = probe + self.authentication_certificates = authentication_certificates + self.trusted_root_certificates = trusted_root_certificates + self.connection_draining = connection_draining + self.host_name = host_name + self.pick_host_name_from_backend_address = pick_host_name_from_backend_address + self.affinity_cookie_name = affinity_cookie_name + self.probe_enabled = probe_enabled + self.path = path + self.provisioning_state = None + self.name = name + self.etag = None + self.type = None + + +class ApplicationGatewayConnectionDraining(Model): + """Connection draining allows open connections to a backend server to be + active for a specified time after the backend server got removed from the + configuration. + + All required parameters must be populated in order to send to Azure. + + :param enabled: Required. Whether connection draining is enabled or not. + :type enabled: bool + :param drain_timeout_in_sec: Required. The number of seconds connection + draining is active. Acceptable values are from 1 second to 3600 seconds. + :type drain_timeout_in_sec: int + """ + + _validation = { + 'enabled': {'required': True}, + 'drain_timeout_in_sec': {'required': True, 'maximum': 3600, 'minimum': 1}, + } + + _attribute_map = { + 'enabled': {'key': 'enabled', 'type': 'bool'}, + 'drain_timeout_in_sec': {'key': 'drainTimeoutInSec', 'type': 'int'}, + } + + def __init__(self, *, enabled: bool, drain_timeout_in_sec: int, **kwargs) -> None: + super(ApplicationGatewayConnectionDraining, self).__init__(**kwargs) + self.enabled = enabled + self.drain_timeout_in_sec = drain_timeout_in_sec + + +class ApplicationGatewayCustomError(Model): + """Customer error of an application gateway. + + :param status_code: Status code of the application gateway customer error. + Possible values include: 'HttpStatus403', 'HttpStatus502' + :type status_code: str or + ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayCustomErrorStatusCode + :param custom_error_page_url: Error page URL of the application gateway + customer error. + :type custom_error_page_url: str + """ + + _attribute_map = { + 'status_code': {'key': 'statusCode', 'type': 'str'}, + 'custom_error_page_url': {'key': 'customErrorPageUrl', 'type': 'str'}, + } + + def __init__(self, *, status_code=None, custom_error_page_url: str=None, **kwargs) -> None: + super(ApplicationGatewayCustomError, self).__init__(**kwargs) + self.status_code = status_code + self.custom_error_page_url = custom_error_page_url + + +class ApplicationGatewayFirewallDisabledRuleGroup(Model): + """Allows to disable rules within a rule group or an entire rule group. + + All required parameters must be populated in order to send to Azure. + + :param rule_group_name: Required. The name of the rule group that will be + disabled. + :type rule_group_name: str + :param rules: The list of rules that will be disabled. If null, all rules + of the rule group will be disabled. + :type rules: list[int] + """ + + _validation = { + 'rule_group_name': {'required': True}, + } + + _attribute_map = { + 'rule_group_name': {'key': 'ruleGroupName', 'type': 'str'}, + 'rules': {'key': 'rules', 'type': '[int]'}, + } + + def __init__(self, *, rule_group_name: str, rules=None, **kwargs) -> None: + super(ApplicationGatewayFirewallDisabledRuleGroup, self).__init__(**kwargs) + self.rule_group_name = rule_group_name + self.rules = rules + + +class ApplicationGatewayFirewallExclusion(Model): + """Allow to exclude some variable satisfy the condition for the WAF check. + + All required parameters must be populated in order to send to Azure. + + :param match_variable: Required. The variable to be excluded. + :type match_variable: str + :param selector_match_operator: Required. When matchVariable is a + collection, operate on the selector to specify which elements in the + collection this exclusion applies to. + :type selector_match_operator: str + :param selector: Required. When matchVariable is a collection, operator + used to specify which elements in the collection this exclusion applies + to. + :type selector: str + """ + + _validation = { + 'match_variable': {'required': True}, + 'selector_match_operator': {'required': True}, + 'selector': {'required': True}, + } + + _attribute_map = { + 'match_variable': {'key': 'matchVariable', 'type': 'str'}, + 'selector_match_operator': {'key': 'selectorMatchOperator', 'type': 'str'}, + 'selector': {'key': 'selector', 'type': 'str'}, + } + + def __init__(self, *, match_variable: str, selector_match_operator: str, selector: str, **kwargs) -> None: + super(ApplicationGatewayFirewallExclusion, self).__init__(**kwargs) + self.match_variable = match_variable + self.selector_match_operator = selector_match_operator + self.selector = selector + + +class ApplicationGatewayFirewallRule(Model): + """A web application firewall rule. + + All required parameters must be populated in order to send to Azure. + + :param rule_id: Required. The identifier of the web application firewall + rule. + :type rule_id: int + :param description: The description of the web application firewall rule. + :type description: str + """ + + _validation = { + 'rule_id': {'required': True}, + } + + _attribute_map = { + 'rule_id': {'key': 'ruleId', 'type': 'int'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__(self, *, rule_id: int, description: str=None, **kwargs) -> None: + super(ApplicationGatewayFirewallRule, self).__init__(**kwargs) + self.rule_id = rule_id + self.description = description + + +class ApplicationGatewayFirewallRuleGroup(Model): + """A web application firewall rule group. + + All required parameters must be populated in order to send to Azure. + + :param rule_group_name: Required. The name of the web application firewall + rule group. + :type rule_group_name: str + :param description: The description of the web application firewall rule + group. + :type description: str + :param rules: Required. The rules of the web application firewall rule + group. + :type rules: + list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayFirewallRule] + """ + + _validation = { + 'rule_group_name': {'required': True}, + 'rules': {'required': True}, + } + + _attribute_map = { + 'rule_group_name': {'key': 'ruleGroupName', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'rules': {'key': 'rules', 'type': '[ApplicationGatewayFirewallRule]'}, + } + + def __init__(self, *, rule_group_name: str, rules, description: str=None, **kwargs) -> None: + super(ApplicationGatewayFirewallRuleGroup, self).__init__(**kwargs) + self.rule_group_name = rule_group_name + self.description = description + self.rules = rules + + +class ApplicationGatewayFirewallRuleSet(Resource): + """A web application firewall rule set. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar provisioning_state: The provisioning state of the web application + firewall rule set. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param rule_set_type: Required. The type of the web application firewall + rule set. + :type rule_set_type: str + :param rule_set_version: Required. The version of the web application + firewall rule set type. + :type rule_set_version: str + :param rule_groups: Required. The rule groups of the web application + firewall rule set. + :type rule_groups: + list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayFirewallRuleGroup] + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'rule_set_type': {'required': True}, + 'rule_set_version': {'required': True}, + 'rule_groups': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'rule_set_type': {'key': 'properties.ruleSetType', 'type': 'str'}, + 'rule_set_version': {'key': 'properties.ruleSetVersion', 'type': 'str'}, + 'rule_groups': {'key': 'properties.ruleGroups', 'type': '[ApplicationGatewayFirewallRuleGroup]'}, + } + + def __init__(self, *, rule_set_type: str, rule_set_version: str, rule_groups, id: str=None, location: str=None, tags=None, **kwargs) -> None: + super(ApplicationGatewayFirewallRuleSet, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.provisioning_state = None + self.rule_set_type = rule_set_type + self.rule_set_version = rule_set_version + self.rule_groups = rule_groups + + +class ApplicationGatewayFrontendIPConfiguration(SubResource): + """Frontend IP configuration of an application gateway. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param private_ip_address: PrivateIPAddress of the network interface IP + Configuration. + :type private_ip_address: str + :param private_ip_allocation_method: The private IP address allocation + method. Possible values include: 'Static', 'Dynamic' + :type private_ip_allocation_method: str or + ~azure.mgmt.network.v2020_04_01.models.IPAllocationMethod + :param subnet: Reference to the subnet resource. + :type subnet: ~azure.mgmt.network.v2020_04_01.models.SubResource + :param public_ip_address: Reference to the PublicIP resource. + :type public_ip_address: + ~azure.mgmt.network.v2020_04_01.models.SubResource + :ivar provisioning_state: The provisioning state of the frontend IP + configuration resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: Name of the frontend IP configuration that is unique within + an Application Gateway. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, + 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, + 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, + 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'SubResource'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, private_ip_address: str=None, private_ip_allocation_method=None, subnet=None, public_ip_address=None, name: str=None, **kwargs) -> None: + super(ApplicationGatewayFrontendIPConfiguration, self).__init__(id=id, **kwargs) + self.private_ip_address = private_ip_address + self.private_ip_allocation_method = private_ip_allocation_method + self.subnet = subnet + self.public_ip_address = public_ip_address + self.provisioning_state = None + self.name = name + self.etag = None + self.type = None + + +class ApplicationGatewayFrontendPort(SubResource): + """Frontend port of an application gateway. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param port: Frontend port. + :type port: int + :ivar provisioning_state: The provisioning state of the frontend port + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: Name of the frontend port that is unique within an + Application Gateway. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'port': {'key': 'properties.port', 'type': 'int'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, port: int=None, name: str=None, **kwargs) -> None: + super(ApplicationGatewayFrontendPort, self).__init__(id=id, **kwargs) + self.port = port + self.provisioning_state = None + self.name = name + self.etag = None + self.type = None + + +class ApplicationGatewayHeaderConfiguration(Model): + """Header configuration of the Actions set in Application Gateway. + + :param header_name: Header name of the header configuration. + :type header_name: str + :param header_value: Header value of the header configuration. + :type header_value: str + """ + + _attribute_map = { + 'header_name': {'key': 'headerName', 'type': 'str'}, + 'header_value': {'key': 'headerValue', 'type': 'str'}, + } + + def __init__(self, *, header_name: str=None, header_value: str=None, **kwargs) -> None: + super(ApplicationGatewayHeaderConfiguration, self).__init__(**kwargs) + self.header_name = header_name + self.header_value = header_value + + +class ApplicationGatewayHttpListener(SubResource): + """Http listener of an application gateway. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param frontend_ip_configuration: Frontend IP configuration resource of an + application gateway. + :type frontend_ip_configuration: + ~azure.mgmt.network.v2020_04_01.models.SubResource + :param frontend_port: Frontend port resource of an application gateway. + :type frontend_port: ~azure.mgmt.network.v2020_04_01.models.SubResource + :param protocol: Protocol of the HTTP listener. Possible values include: + 'Http', 'Https' + :type protocol: str or + ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayProtocol + :param host_name: Host name of HTTP listener. + :type host_name: str + :param ssl_certificate: SSL certificate resource of an application + gateway. + :type ssl_certificate: ~azure.mgmt.network.v2020_04_01.models.SubResource + :param require_server_name_indication: Applicable only if protocol is + https. Enables SNI for multi-hosting. + :type require_server_name_indication: bool + :ivar provisioning_state: The provisioning state of the HTTP listener + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param custom_error_configurations: Custom error configurations of the + HTTP listener. + :type custom_error_configurations: + list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayCustomError] + :param firewall_policy: Reference to the FirewallPolicy resource. + :type firewall_policy: ~azure.mgmt.network.v2020_04_01.models.SubResource + :param host_names: List of Host names for HTTP Listener that allows + special wildcard characters as well. + :type host_names: list[str] + :param name: Name of the HTTP listener that is unique within an + Application Gateway. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'frontend_ip_configuration': {'key': 'properties.frontendIPConfiguration', 'type': 'SubResource'}, + 'frontend_port': {'key': 'properties.frontendPort', 'type': 'SubResource'}, + 'protocol': {'key': 'properties.protocol', 'type': 'str'}, + 'host_name': {'key': 'properties.hostName', 'type': 'str'}, + 'ssl_certificate': {'key': 'properties.sslCertificate', 'type': 'SubResource'}, + 'require_server_name_indication': {'key': 'properties.requireServerNameIndication', 'type': 'bool'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'custom_error_configurations': {'key': 'properties.customErrorConfigurations', 'type': '[ApplicationGatewayCustomError]'}, + 'firewall_policy': {'key': 'properties.firewallPolicy', 'type': 'SubResource'}, + 'host_names': {'key': 'properties.hostNames', 'type': '[str]'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, frontend_ip_configuration=None, frontend_port=None, protocol=None, host_name: str=None, ssl_certificate=None, require_server_name_indication: bool=None, custom_error_configurations=None, firewall_policy=None, host_names=None, name: str=None, **kwargs) -> None: + super(ApplicationGatewayHttpListener, self).__init__(id=id, **kwargs) + self.frontend_ip_configuration = frontend_ip_configuration + self.frontend_port = frontend_port + self.protocol = protocol + self.host_name = host_name + self.ssl_certificate = ssl_certificate + self.require_server_name_indication = require_server_name_indication + self.provisioning_state = None + self.custom_error_configurations = custom_error_configurations + self.firewall_policy = firewall_policy + self.host_names = host_names + self.name = name + self.etag = None + self.type = None + + +class ApplicationGatewayIPConfiguration(SubResource): + """IP configuration of an application gateway. Currently 1 public and 1 + private IP configuration is allowed. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param subnet: Reference to the subnet resource. A subnet from where + application gateway gets its private address. + :type subnet: ~azure.mgmt.network.v2020_04_01.models.SubResource + :ivar provisioning_state: The provisioning state of the application + gateway IP configuration resource. Possible values include: 'Succeeded', + 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: Name of the IP configuration that is unique within an + Application Gateway. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, subnet=None, name: str=None, **kwargs) -> None: + super(ApplicationGatewayIPConfiguration, self).__init__(id=id, **kwargs) + self.subnet = subnet + self.provisioning_state = None + self.name = name + self.etag = None + self.type = None + + +class ApplicationGatewayOnDemandProbe(Model): + """Details of on demand test probe request. + + :param protocol: The protocol used for the probe. Possible values include: + 'Http', 'Https' + :type protocol: str or + ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayProtocol + :param host: Host name to send the probe to. + :type host: str + :param path: Relative path of probe. Valid path starts from '/'. Probe is + sent to ://:. + :type path: str + :param timeout: The probe timeout in seconds. Probe marked as failed if + valid response is not received with this timeout period. Acceptable values + are from 1 second to 86400 seconds. + :type timeout: int + :param pick_host_name_from_backend_http_settings: Whether the host header + should be picked from the backend http settings. Default value is false. + :type pick_host_name_from_backend_http_settings: bool + :param match: Criterion for classifying a healthy probe response. + :type match: + ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayProbeHealthResponseMatch + :param backend_address_pool: Reference to backend pool of application + gateway to which probe request will be sent. + :type backend_address_pool: + ~azure.mgmt.network.v2020_04_01.models.SubResource + :param backend_http_settings: Reference to backend http setting of + application gateway to be used for test probe. + :type backend_http_settings: + ~azure.mgmt.network.v2020_04_01.models.SubResource + """ + + _attribute_map = { + 'protocol': {'key': 'protocol', 'type': 'str'}, + 'host': {'key': 'host', 'type': 'str'}, + 'path': {'key': 'path', 'type': 'str'}, + 'timeout': {'key': 'timeout', 'type': 'int'}, + 'pick_host_name_from_backend_http_settings': {'key': 'pickHostNameFromBackendHttpSettings', 'type': 'bool'}, + 'match': {'key': 'match', 'type': 'ApplicationGatewayProbeHealthResponseMatch'}, + 'backend_address_pool': {'key': 'backendAddressPool', 'type': 'SubResource'}, + 'backend_http_settings': {'key': 'backendHttpSettings', 'type': 'SubResource'}, + } + + def __init__(self, *, protocol=None, host: str=None, path: str=None, timeout: int=None, pick_host_name_from_backend_http_settings: bool=None, match=None, backend_address_pool=None, backend_http_settings=None, **kwargs) -> None: + super(ApplicationGatewayOnDemandProbe, self).__init__(**kwargs) + self.protocol = protocol + self.host = host + self.path = path + self.timeout = timeout + self.pick_host_name_from_backend_http_settings = pick_host_name_from_backend_http_settings + self.match = match + self.backend_address_pool = backend_address_pool + self.backend_http_settings = backend_http_settings + + +class ApplicationGatewayPathRule(SubResource): + """Path rule of URL path map of an application gateway. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param paths: Path rules of URL path map. + :type paths: list[str] + :param backend_address_pool: Backend address pool resource of URL path map + path rule. + :type backend_address_pool: + ~azure.mgmt.network.v2020_04_01.models.SubResource + :param backend_http_settings: Backend http settings resource of URL path + map path rule. + :type backend_http_settings: + ~azure.mgmt.network.v2020_04_01.models.SubResource + :param redirect_configuration: Redirect configuration resource of URL path + map path rule. + :type redirect_configuration: + ~azure.mgmt.network.v2020_04_01.models.SubResource + :param rewrite_rule_set: Rewrite rule set resource of URL path map path + rule. + :type rewrite_rule_set: ~azure.mgmt.network.v2020_04_01.models.SubResource + :ivar provisioning_state: The provisioning state of the path rule + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param firewall_policy: Reference to the FirewallPolicy resource. + :type firewall_policy: ~azure.mgmt.network.v2020_04_01.models.SubResource + :param name: Name of the path rule that is unique within an Application + Gateway. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'paths': {'key': 'properties.paths', 'type': '[str]'}, + 'backend_address_pool': {'key': 'properties.backendAddressPool', 'type': 'SubResource'}, + 'backend_http_settings': {'key': 'properties.backendHttpSettings', 'type': 'SubResource'}, + 'redirect_configuration': {'key': 'properties.redirectConfiguration', 'type': 'SubResource'}, + 'rewrite_rule_set': {'key': 'properties.rewriteRuleSet', 'type': 'SubResource'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'firewall_policy': {'key': 'properties.firewallPolicy', 'type': 'SubResource'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, paths=None, backend_address_pool=None, backend_http_settings=None, redirect_configuration=None, rewrite_rule_set=None, firewall_policy=None, name: str=None, **kwargs) -> None: + super(ApplicationGatewayPathRule, self).__init__(id=id, **kwargs) + self.paths = paths + self.backend_address_pool = backend_address_pool + self.backend_http_settings = backend_http_settings + self.redirect_configuration = redirect_configuration + self.rewrite_rule_set = rewrite_rule_set + self.provisioning_state = None + self.firewall_policy = firewall_policy + self.name = name + self.etag = None + self.type = None + + +class ApplicationGatewayProbe(SubResource): + """Probe of the application gateway. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param protocol: The protocol used for the probe. Possible values include: + 'Http', 'Https' + :type protocol: str or + ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayProtocol + :param host: Host name to send the probe to. + :type host: str + :param path: Relative path of probe. Valid path starts from '/'. Probe is + sent to ://:. + :type path: str + :param interval: The probing interval in seconds. This is the time + interval between two consecutive probes. Acceptable values are from 1 + second to 86400 seconds. + :type interval: int + :param timeout: The probe timeout in seconds. Probe marked as failed if + valid response is not received with this timeout period. Acceptable values + are from 1 second to 86400 seconds. + :type timeout: int + :param unhealthy_threshold: The probe retry count. Backend server is + marked down after consecutive probe failure count reaches + UnhealthyThreshold. Acceptable values are from 1 second to 20. + :type unhealthy_threshold: int + :param pick_host_name_from_backend_http_settings: Whether the host header + should be picked from the backend http settings. Default value is false. + :type pick_host_name_from_backend_http_settings: bool + :param min_servers: Minimum number of servers that are always marked + healthy. Default value is 0. + :type min_servers: int + :param match: Criterion for classifying a healthy probe response. + :type match: + ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayProbeHealthResponseMatch + :ivar provisioning_state: The provisioning state of the probe resource. + Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param port: Custom port which will be used for probing the backend + servers. The valid value ranges from 1 to 65535. In case not set, port + from http settings will be used. This property is valid for Standard_v2 + and WAF_v2 only. + :type port: int + :param name: Name of the probe that is unique within an Application + Gateway. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'port': {'maximum': 65535, 'minimum': 1}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'protocol': {'key': 'properties.protocol', 'type': 'str'}, + 'host': {'key': 'properties.host', 'type': 'str'}, + 'path': {'key': 'properties.path', 'type': 'str'}, + 'interval': {'key': 'properties.interval', 'type': 'int'}, + 'timeout': {'key': 'properties.timeout', 'type': 'int'}, + 'unhealthy_threshold': {'key': 'properties.unhealthyThreshold', 'type': 'int'}, + 'pick_host_name_from_backend_http_settings': {'key': 'properties.pickHostNameFromBackendHttpSettings', 'type': 'bool'}, + 'min_servers': {'key': 'properties.minServers', 'type': 'int'}, + 'match': {'key': 'properties.match', 'type': 'ApplicationGatewayProbeHealthResponseMatch'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'port': {'key': 'properties.port', 'type': 'int'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, protocol=None, host: str=None, path: str=None, interval: int=None, timeout: int=None, unhealthy_threshold: int=None, pick_host_name_from_backend_http_settings: bool=None, min_servers: int=None, match=None, port: int=None, name: str=None, **kwargs) -> None: + super(ApplicationGatewayProbe, self).__init__(id=id, **kwargs) + self.protocol = protocol + self.host = host + self.path = path + self.interval = interval + self.timeout = timeout + self.unhealthy_threshold = unhealthy_threshold + self.pick_host_name_from_backend_http_settings = pick_host_name_from_backend_http_settings + self.min_servers = min_servers + self.match = match + self.provisioning_state = None + self.port = port + self.name = name + self.etag = None + self.type = None + + +class ApplicationGatewayProbeHealthResponseMatch(Model): + """Application gateway probe health response match. + + :param body: Body that must be contained in the health response. Default + value is empty. + :type body: str + :param status_codes: Allowed ranges of healthy status codes. Default range + of healthy status codes is 200-399. + :type status_codes: list[str] + """ + + _attribute_map = { + 'body': {'key': 'body', 'type': 'str'}, + 'status_codes': {'key': 'statusCodes', 'type': '[str]'}, + } + + def __init__(self, *, body: str=None, status_codes=None, **kwargs) -> None: + super(ApplicationGatewayProbeHealthResponseMatch, self).__init__(**kwargs) + self.body = body + self.status_codes = status_codes + + +class ApplicationGatewayRedirectConfiguration(SubResource): + """Redirect configuration of an application gateway. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param redirect_type: HTTP redirection type. Possible values include: + 'Permanent', 'Found', 'SeeOther', 'Temporary' + :type redirect_type: str or + ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayRedirectType + :param target_listener: Reference to a listener to redirect the request + to. + :type target_listener: ~azure.mgmt.network.v2020_04_01.models.SubResource + :param target_url: Url to redirect the request to. + :type target_url: str + :param include_path: Include path in the redirected url. + :type include_path: bool + :param include_query_string: Include query string in the redirected url. + :type include_query_string: bool + :param request_routing_rules: Request routing specifying redirect + configuration. + :type request_routing_rules: + list[~azure.mgmt.network.v2020_04_01.models.SubResource] + :param url_path_maps: Url path maps specifying default redirect + configuration. + :type url_path_maps: + list[~azure.mgmt.network.v2020_04_01.models.SubResource] + :param path_rules: Path rules specifying redirect configuration. + :type path_rules: list[~azure.mgmt.network.v2020_04_01.models.SubResource] + :param name: Name of the redirect configuration that is unique within an + Application Gateway. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'redirect_type': {'key': 'properties.redirectType', 'type': 'str'}, + 'target_listener': {'key': 'properties.targetListener', 'type': 'SubResource'}, + 'target_url': {'key': 'properties.targetUrl', 'type': 'str'}, + 'include_path': {'key': 'properties.includePath', 'type': 'bool'}, + 'include_query_string': {'key': 'properties.includeQueryString', 'type': 'bool'}, + 'request_routing_rules': {'key': 'properties.requestRoutingRules', 'type': '[SubResource]'}, + 'url_path_maps': {'key': 'properties.urlPathMaps', 'type': '[SubResource]'}, + 'path_rules': {'key': 'properties.pathRules', 'type': '[SubResource]'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, redirect_type=None, target_listener=None, target_url: str=None, include_path: bool=None, include_query_string: bool=None, request_routing_rules=None, url_path_maps=None, path_rules=None, name: str=None, **kwargs) -> None: + super(ApplicationGatewayRedirectConfiguration, self).__init__(id=id, **kwargs) + self.redirect_type = redirect_type + self.target_listener = target_listener + self.target_url = target_url + self.include_path = include_path + self.include_query_string = include_query_string + self.request_routing_rules = request_routing_rules + self.url_path_maps = url_path_maps + self.path_rules = path_rules + self.name = name + self.etag = None + self.type = None + + +class ApplicationGatewayRequestRoutingRule(SubResource): + """Request routing rule of an application gateway. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param rule_type: Rule type. Possible values include: 'Basic', + 'PathBasedRouting' + :type rule_type: str or + ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayRequestRoutingRuleType + :param priority: Priority of the request routing rule. + :type priority: int + :param backend_address_pool: Backend address pool resource of the + application gateway. + :type backend_address_pool: + ~azure.mgmt.network.v2020_04_01.models.SubResource + :param backend_http_settings: Backend http settings resource of the + application gateway. + :type backend_http_settings: + ~azure.mgmt.network.v2020_04_01.models.SubResource + :param http_listener: Http listener resource of the application gateway. + :type http_listener: ~azure.mgmt.network.v2020_04_01.models.SubResource + :param url_path_map: URL path map resource of the application gateway. + :type url_path_map: ~azure.mgmt.network.v2020_04_01.models.SubResource + :param rewrite_rule_set: Rewrite Rule Set resource in Basic rule of the + application gateway. + :type rewrite_rule_set: ~azure.mgmt.network.v2020_04_01.models.SubResource + :param redirect_configuration: Redirect configuration resource of the + application gateway. + :type redirect_configuration: + ~azure.mgmt.network.v2020_04_01.models.SubResource + :ivar provisioning_state: The provisioning state of the request routing + rule resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: Name of the request routing rule that is unique within an + Application Gateway. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'priority': {'maximum': 20000, 'minimum': 1}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'rule_type': {'key': 'properties.ruleType', 'type': 'str'}, + 'priority': {'key': 'properties.priority', 'type': 'int'}, + 'backend_address_pool': {'key': 'properties.backendAddressPool', 'type': 'SubResource'}, + 'backend_http_settings': {'key': 'properties.backendHttpSettings', 'type': 'SubResource'}, + 'http_listener': {'key': 'properties.httpListener', 'type': 'SubResource'}, + 'url_path_map': {'key': 'properties.urlPathMap', 'type': 'SubResource'}, + 'rewrite_rule_set': {'key': 'properties.rewriteRuleSet', 'type': 'SubResource'}, + 'redirect_configuration': {'key': 'properties.redirectConfiguration', 'type': 'SubResource'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, rule_type=None, priority: int=None, backend_address_pool=None, backend_http_settings=None, http_listener=None, url_path_map=None, rewrite_rule_set=None, redirect_configuration=None, name: str=None, **kwargs) -> None: + super(ApplicationGatewayRequestRoutingRule, self).__init__(id=id, **kwargs) + self.rule_type = rule_type + self.priority = priority + self.backend_address_pool = backend_address_pool + self.backend_http_settings = backend_http_settings + self.http_listener = http_listener + self.url_path_map = url_path_map + self.rewrite_rule_set = rewrite_rule_set + self.redirect_configuration = redirect_configuration + self.provisioning_state = None + self.name = name + self.etag = None + self.type = None + + +class ApplicationGatewayRewriteRule(Model): + """Rewrite rule of an application gateway. + + :param name: Name of the rewrite rule that is unique within an Application + Gateway. + :type name: str + :param rule_sequence: Rule Sequence of the rewrite rule that determines + the order of execution of a particular rule in a RewriteRuleSet. + :type rule_sequence: int + :param conditions: Conditions based on which the action set execution will + be evaluated. + :type conditions: + list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayRewriteRuleCondition] + :param action_set: Set of actions to be done as part of the rewrite Rule. + :type action_set: + ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayRewriteRuleActionSet + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'rule_sequence': {'key': 'ruleSequence', 'type': 'int'}, + 'conditions': {'key': 'conditions', 'type': '[ApplicationGatewayRewriteRuleCondition]'}, + 'action_set': {'key': 'actionSet', 'type': 'ApplicationGatewayRewriteRuleActionSet'}, + } + + def __init__(self, *, name: str=None, rule_sequence: int=None, conditions=None, action_set=None, **kwargs) -> None: + super(ApplicationGatewayRewriteRule, self).__init__(**kwargs) + self.name = name + self.rule_sequence = rule_sequence + self.conditions = conditions + self.action_set = action_set + + +class ApplicationGatewayRewriteRuleActionSet(Model): + """Set of actions in the Rewrite Rule in Application Gateway. + + :param request_header_configurations: Request Header Actions in the Action + Set. + :type request_header_configurations: + list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayHeaderConfiguration] + :param response_header_configurations: Response Header Actions in the + Action Set. + :type response_header_configurations: + list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayHeaderConfiguration] + :param url_configuration: Url Configuration Action in the Action Set. + :type url_configuration: + ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayUrlConfiguration + """ + + _attribute_map = { + 'request_header_configurations': {'key': 'requestHeaderConfigurations', 'type': '[ApplicationGatewayHeaderConfiguration]'}, + 'response_header_configurations': {'key': 'responseHeaderConfigurations', 'type': '[ApplicationGatewayHeaderConfiguration]'}, + 'url_configuration': {'key': 'urlConfiguration', 'type': 'ApplicationGatewayUrlConfiguration'}, + } + + def __init__(self, *, request_header_configurations=None, response_header_configurations=None, url_configuration=None, **kwargs) -> None: + super(ApplicationGatewayRewriteRuleActionSet, self).__init__(**kwargs) + self.request_header_configurations = request_header_configurations + self.response_header_configurations = response_header_configurations + self.url_configuration = url_configuration + + +class ApplicationGatewayRewriteRuleCondition(Model): + """Set of conditions in the Rewrite Rule in Application Gateway. + + :param variable: The condition parameter of the RewriteRuleCondition. + :type variable: str + :param pattern: The pattern, either fixed string or regular expression, + that evaluates the truthfulness of the condition. + :type pattern: str + :param ignore_case: Setting this paramter to truth value with force the + pattern to do a case in-sensitive comparison. + :type ignore_case: bool + :param negate: Setting this value as truth will force to check the + negation of the condition given by the user. + :type negate: bool + """ + + _attribute_map = { + 'variable': {'key': 'variable', 'type': 'str'}, + 'pattern': {'key': 'pattern', 'type': 'str'}, + 'ignore_case': {'key': 'ignoreCase', 'type': 'bool'}, + 'negate': {'key': 'negate', 'type': 'bool'}, + } + + def __init__(self, *, variable: str=None, pattern: str=None, ignore_case: bool=None, negate: bool=None, **kwargs) -> None: + super(ApplicationGatewayRewriteRuleCondition, self).__init__(**kwargs) + self.variable = variable + self.pattern = pattern + self.ignore_case = ignore_case + self.negate = negate + + +class ApplicationGatewayRewriteRuleSet(SubResource): + """Rewrite rule set of an application gateway. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param rewrite_rules: Rewrite rules in the rewrite rule set. + :type rewrite_rules: + list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayRewriteRule] + :ivar provisioning_state: The provisioning state of the rewrite rule set + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: Name of the rewrite rule set that is unique within an + Application Gateway. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'rewrite_rules': {'key': 'properties.rewriteRules', 'type': '[ApplicationGatewayRewriteRule]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, rewrite_rules=None, name: str=None, **kwargs) -> None: + super(ApplicationGatewayRewriteRuleSet, self).__init__(id=id, **kwargs) + self.rewrite_rules = rewrite_rules + self.provisioning_state = None + self.name = name + self.etag = None + + +class ApplicationGatewaySku(Model): + """SKU of an application gateway. + + :param name: Name of an application gateway SKU. Possible values include: + 'Standard_Small', 'Standard_Medium', 'Standard_Large', 'WAF_Medium', + 'WAF_Large', 'Standard_v2', 'WAF_v2' + :type name: str or + ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewaySkuName + :param tier: Tier of an application gateway. Possible values include: + 'Standard', 'WAF', 'Standard_v2', 'WAF_v2' + :type tier: str or + ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayTier + :param capacity: Capacity (instance count) of an application gateway. + :type capacity: int + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + 'capacity': {'key': 'capacity', 'type': 'int'}, + } + + def __init__(self, *, name=None, tier=None, capacity: int=None, **kwargs) -> None: + super(ApplicationGatewaySku, self).__init__(**kwargs) + self.name = name + self.tier = tier + self.capacity = capacity + + +class ApplicationGatewaySslCertificate(SubResource): + """SSL certificates of an application gateway. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param data: Base-64 encoded pfx certificate. Only applicable in PUT + Request. + :type data: str + :param password: Password for the pfx file specified in data. Only + applicable in PUT request. + :type password: str + :ivar public_cert_data: Base-64 encoded Public cert data corresponding to + pfx specified in data. Only applicable in GET request. + :vartype public_cert_data: str + :param key_vault_secret_id: Secret Id of (base-64 encoded unencrypted pfx) + 'Secret' or 'Certificate' object stored in KeyVault. + :type key_vault_secret_id: str + :ivar provisioning_state: The provisioning state of the SSL certificate + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: Name of the SSL certificate that is unique within an + Application Gateway. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'public_cert_data': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'data': {'key': 'properties.data', 'type': 'str'}, + 'password': {'key': 'properties.password', 'type': 'str'}, + 'public_cert_data': {'key': 'properties.publicCertData', 'type': 'str'}, + 'key_vault_secret_id': {'key': 'properties.keyVaultSecretId', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, data: str=None, password: str=None, key_vault_secret_id: str=None, name: str=None, **kwargs) -> None: + super(ApplicationGatewaySslCertificate, self).__init__(id=id, **kwargs) + self.data = data + self.password = password + self.public_cert_data = None + self.key_vault_secret_id = key_vault_secret_id + self.provisioning_state = None + self.name = name + self.etag = None + self.type = None + + +class ApplicationGatewaySslPolicy(Model): + """Application Gateway Ssl policy. + + :param disabled_ssl_protocols: Ssl protocols to be disabled on application + gateway. + :type disabled_ssl_protocols: list[str or + ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewaySslProtocol] + :param policy_type: Type of Ssl Policy. Possible values include: + 'Predefined', 'Custom' + :type policy_type: str or + ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewaySslPolicyType + :param policy_name: Name of Ssl predefined policy. Possible values + include: 'AppGwSslPolicy20150501', 'AppGwSslPolicy20170401', + 'AppGwSslPolicy20170401S' + :type policy_name: str or + ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewaySslPolicyName + :param cipher_suites: Ssl cipher suites to be enabled in the specified + order to application gateway. + :type cipher_suites: list[str or + ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewaySslCipherSuite] + :param min_protocol_version: Minimum version of Ssl protocol to be + supported on application gateway. Possible values include: 'TLSv1_0', + 'TLSv1_1', 'TLSv1_2' + :type min_protocol_version: str or + ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewaySslProtocol + """ + + _attribute_map = { + 'disabled_ssl_protocols': {'key': 'disabledSslProtocols', 'type': '[str]'}, + 'policy_type': {'key': 'policyType', 'type': 'str'}, + 'policy_name': {'key': 'policyName', 'type': 'str'}, + 'cipher_suites': {'key': 'cipherSuites', 'type': '[str]'}, + 'min_protocol_version': {'key': 'minProtocolVersion', 'type': 'str'}, + } + + def __init__(self, *, disabled_ssl_protocols=None, policy_type=None, policy_name=None, cipher_suites=None, min_protocol_version=None, **kwargs) -> None: + super(ApplicationGatewaySslPolicy, self).__init__(**kwargs) + self.disabled_ssl_protocols = disabled_ssl_protocols + self.policy_type = policy_type + self.policy_name = policy_name + self.cipher_suites = cipher_suites + self.min_protocol_version = min_protocol_version + + +class ApplicationGatewaySslPredefinedPolicy(SubResource): + """An Ssl predefined policy. + + :param id: Resource ID. + :type id: str + :param name: Name of the Ssl predefined policy. + :type name: str + :param cipher_suites: Ssl cipher suites to be enabled in the specified + order for application gateway. + :type cipher_suites: list[str or + ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewaySslCipherSuite] + :param min_protocol_version: Minimum version of Ssl protocol to be + supported on application gateway. Possible values include: 'TLSv1_0', + 'TLSv1_1', 'TLSv1_2' + :type min_protocol_version: str or + ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewaySslProtocol + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'cipher_suites': {'key': 'properties.cipherSuites', 'type': '[str]'}, + 'min_protocol_version': {'key': 'properties.minProtocolVersion', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, name: str=None, cipher_suites=None, min_protocol_version=None, **kwargs) -> None: + super(ApplicationGatewaySslPredefinedPolicy, self).__init__(id=id, **kwargs) + self.name = name + self.cipher_suites = cipher_suites + self.min_protocol_version = min_protocol_version + + +class ApplicationGatewayTrustedRootCertificate(SubResource): + """Trusted Root certificates of an application gateway. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param data: Certificate public data. + :type data: str + :param key_vault_secret_id: Secret Id of (base-64 encoded unencrypted pfx) + 'Secret' or 'Certificate' object stored in KeyVault. + :type key_vault_secret_id: str + :ivar provisioning_state: The provisioning state of the trusted root + certificate resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: Name of the trusted root certificate that is unique within an + Application Gateway. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'data': {'key': 'properties.data', 'type': 'str'}, + 'key_vault_secret_id': {'key': 'properties.keyVaultSecretId', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, data: str=None, key_vault_secret_id: str=None, name: str=None, **kwargs) -> None: + super(ApplicationGatewayTrustedRootCertificate, self).__init__(id=id, **kwargs) + self.data = data + self.key_vault_secret_id = key_vault_secret_id + self.provisioning_state = None + self.name = name + self.etag = None + self.type = None + + +class ApplicationGatewayUrlConfiguration(Model): + """Url configuration of the Actions set in Application Gateway. + + :param modified_path: Url path which user has provided for url rewrite. + Null means no path will be updated. Default value is null. + :type modified_path: str + :param modified_query_string: Query string which user has provided for url + rewrite. Null means no query string will be updated. Default value is + null. + :type modified_query_string: str + :param reroute: If set as true, it will re-evaluate the url path map + provided in path based request routing rules using modified path. Default + value is false. + :type reroute: bool + """ + + _attribute_map = { + 'modified_path': {'key': 'modifiedPath', 'type': 'str'}, + 'modified_query_string': {'key': 'modifiedQueryString', 'type': 'str'}, + 'reroute': {'key': 'reroute', 'type': 'bool'}, + } + + def __init__(self, *, modified_path: str=None, modified_query_string: str=None, reroute: bool=None, **kwargs) -> None: + super(ApplicationGatewayUrlConfiguration, self).__init__(**kwargs) + self.modified_path = modified_path + self.modified_query_string = modified_query_string + self.reroute = reroute + + +class ApplicationGatewayUrlPathMap(SubResource): + """UrlPathMaps give a url path to the backend mapping information for + PathBasedRouting. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param default_backend_address_pool: Default backend address pool resource + of URL path map. + :type default_backend_address_pool: + ~azure.mgmt.network.v2020_04_01.models.SubResource + :param default_backend_http_settings: Default backend http settings + resource of URL path map. + :type default_backend_http_settings: + ~azure.mgmt.network.v2020_04_01.models.SubResource + :param default_rewrite_rule_set: Default Rewrite rule set resource of URL + path map. + :type default_rewrite_rule_set: + ~azure.mgmt.network.v2020_04_01.models.SubResource + :param default_redirect_configuration: Default redirect configuration + resource of URL path map. + :type default_redirect_configuration: + ~azure.mgmt.network.v2020_04_01.models.SubResource + :param path_rules: Path rule of URL path map resource. + :type path_rules: + list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayPathRule] + :ivar provisioning_state: The provisioning state of the URL path map + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: Name of the URL path map that is unique within an Application + Gateway. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'default_backend_address_pool': {'key': 'properties.defaultBackendAddressPool', 'type': 'SubResource'}, + 'default_backend_http_settings': {'key': 'properties.defaultBackendHttpSettings', 'type': 'SubResource'}, + 'default_rewrite_rule_set': {'key': 'properties.defaultRewriteRuleSet', 'type': 'SubResource'}, + 'default_redirect_configuration': {'key': 'properties.defaultRedirectConfiguration', 'type': 'SubResource'}, + 'path_rules': {'key': 'properties.pathRules', 'type': '[ApplicationGatewayPathRule]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, default_backend_address_pool=None, default_backend_http_settings=None, default_rewrite_rule_set=None, default_redirect_configuration=None, path_rules=None, name: str=None, **kwargs) -> None: + super(ApplicationGatewayUrlPathMap, self).__init__(id=id, **kwargs) + self.default_backend_address_pool = default_backend_address_pool + self.default_backend_http_settings = default_backend_http_settings + self.default_rewrite_rule_set = default_rewrite_rule_set + self.default_redirect_configuration = default_redirect_configuration + self.path_rules = path_rules + self.provisioning_state = None + self.name = name + self.etag = None + self.type = None + + +class ApplicationGatewayWebApplicationFirewallConfiguration(Model): + """Application gateway web application firewall configuration. + + All required parameters must be populated in order to send to Azure. + + :param enabled: Required. Whether the web application firewall is enabled + or not. + :type enabled: bool + :param firewall_mode: Required. Web application firewall mode. Possible + values include: 'Detection', 'Prevention' + :type firewall_mode: str or + ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayFirewallMode + :param rule_set_type: Required. The type of the web application firewall + rule set. Possible values are: 'OWASP'. + :type rule_set_type: str + :param rule_set_version: Required. The version of the rule set type. + :type rule_set_version: str + :param disabled_rule_groups: The disabled rule groups. + :type disabled_rule_groups: + list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayFirewallDisabledRuleGroup] + :param request_body_check: Whether allow WAF to check request Body. + :type request_body_check: bool + :param max_request_body_size: Maximum request body size for WAF. + :type max_request_body_size: int + :param max_request_body_size_in_kb: Maximum request body size in Kb for + WAF. + :type max_request_body_size_in_kb: int + :param file_upload_limit_in_mb: Maximum file upload size in Mb for WAF. + :type file_upload_limit_in_mb: int + :param exclusions: The exclusion list. + :type exclusions: + list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayFirewallExclusion] + """ + + _validation = { + 'enabled': {'required': True}, + 'firewall_mode': {'required': True}, + 'rule_set_type': {'required': True}, + 'rule_set_version': {'required': True}, + 'max_request_body_size': {'maximum': 128, 'minimum': 8}, + 'max_request_body_size_in_kb': {'maximum': 128, 'minimum': 8}, + 'file_upload_limit_in_mb': {'minimum': 0}, + } + + _attribute_map = { + 'enabled': {'key': 'enabled', 'type': 'bool'}, + 'firewall_mode': {'key': 'firewallMode', 'type': 'str'}, + 'rule_set_type': {'key': 'ruleSetType', 'type': 'str'}, + 'rule_set_version': {'key': 'ruleSetVersion', 'type': 'str'}, + 'disabled_rule_groups': {'key': 'disabledRuleGroups', 'type': '[ApplicationGatewayFirewallDisabledRuleGroup]'}, + 'request_body_check': {'key': 'requestBodyCheck', 'type': 'bool'}, + 'max_request_body_size': {'key': 'maxRequestBodySize', 'type': 'int'}, + 'max_request_body_size_in_kb': {'key': 'maxRequestBodySizeInKb', 'type': 'int'}, + 'file_upload_limit_in_mb': {'key': 'fileUploadLimitInMb', 'type': 'int'}, + 'exclusions': {'key': 'exclusions', 'type': '[ApplicationGatewayFirewallExclusion]'}, + } + + def __init__(self, *, enabled: bool, firewall_mode, rule_set_type: str, rule_set_version: str, disabled_rule_groups=None, request_body_check: bool=None, max_request_body_size: int=None, max_request_body_size_in_kb: int=None, file_upload_limit_in_mb: int=None, exclusions=None, **kwargs) -> None: + super(ApplicationGatewayWebApplicationFirewallConfiguration, self).__init__(**kwargs) + self.enabled = enabled + self.firewall_mode = firewall_mode + self.rule_set_type = rule_set_type + self.rule_set_version = rule_set_version + self.disabled_rule_groups = disabled_rule_groups + self.request_body_check = request_body_check + self.max_request_body_size = max_request_body_size + self.max_request_body_size_in_kb = max_request_body_size_in_kb + self.file_upload_limit_in_mb = file_upload_limit_in_mb + self.exclusions = exclusions + + +class FirewallPolicyRuleCondition(Model): + """Properties of a rule. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: ApplicationRuleCondition, NatRuleCondition, + NetworkRuleCondition + + All required parameters must be populated in order to send to Azure. + + :param name: Name of the rule condition. + :type name: str + :param description: Description of the rule condition. + :type description: str + :param rule_condition_type: Required. Constant filled by server. + :type rule_condition_type: str + """ + + _validation = { + 'rule_condition_type': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'rule_condition_type': {'key': 'ruleConditionType', 'type': 'str'}, + } + + _subtype_map = { + 'rule_condition_type': {'ApplicationRuleCondition': 'ApplicationRuleCondition', 'NatRuleCondition': 'NatRuleCondition', 'NetworkRuleCondition': 'NetworkRuleCondition'} + } + + def __init__(self, *, name: str=None, description: str=None, **kwargs) -> None: + super(FirewallPolicyRuleCondition, self).__init__(**kwargs) + self.name = name + self.description = description + self.rule_condition_type = None + + +class ApplicationRuleCondition(FirewallPolicyRuleCondition): + """Rule condition of type application. + + All required parameters must be populated in order to send to Azure. + + :param name: Name of the rule condition. + :type name: str + :param description: Description of the rule condition. + :type description: str + :param rule_condition_type: Required. Constant filled by server. + :type rule_condition_type: str + :param source_addresses: List of source IP addresses for this rule. + :type source_addresses: list[str] + :param destination_addresses: List of destination IP addresses or Service + Tags. + :type destination_addresses: list[str] + :param protocols: Array of Application Protocols. + :type protocols: + list[~azure.mgmt.network.v2020_04_01.models.FirewallPolicyRuleConditionApplicationProtocol] + :param target_urls: List of Urls for this rule condition. + :type target_urls: list[str] + :param target_fqdns: List of FQDNs for this rule condition. + :type target_fqdns: list[str] + :param fqdn_tags: List of FQDN Tags for this rule condition. + :type fqdn_tags: list[str] + :param source_ip_groups: List of source IpGroups for this rule. + :type source_ip_groups: list[str] + """ + + _validation = { + 'rule_condition_type': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'rule_condition_type': {'key': 'ruleConditionType', 'type': 'str'}, + 'source_addresses': {'key': 'sourceAddresses', 'type': '[str]'}, + 'destination_addresses': {'key': 'destinationAddresses', 'type': '[str]'}, + 'protocols': {'key': 'protocols', 'type': '[FirewallPolicyRuleConditionApplicationProtocol]'}, + 'target_urls': {'key': 'targetUrls', 'type': '[str]'}, + 'target_fqdns': {'key': 'targetFqdns', 'type': '[str]'}, + 'fqdn_tags': {'key': 'fqdnTags', 'type': '[str]'}, + 'source_ip_groups': {'key': 'sourceIpGroups', 'type': '[str]'}, + } + + def __init__(self, *, name: str=None, description: str=None, source_addresses=None, destination_addresses=None, protocols=None, target_urls=None, target_fqdns=None, fqdn_tags=None, source_ip_groups=None, **kwargs) -> None: + super(ApplicationRuleCondition, self).__init__(name=name, description=description, **kwargs) + self.source_addresses = source_addresses + self.destination_addresses = destination_addresses + self.protocols = protocols + self.target_urls = target_urls + self.target_fqdns = target_fqdns + self.fqdn_tags = fqdn_tags + self.source_ip_groups = source_ip_groups + self.rule_condition_type = 'ApplicationRuleCondition' + + +class ApplicationSecurityGroup(Resource): + """An application security group in a resource group. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar resource_guid: The resource GUID property of the application + security group resource. It uniquely identifies a resource, even if the + user changes its name or migrate the resource across subscriptions or + resource groups. + :vartype resource_guid: str + :ivar provisioning_state: The provisioning state of the application + security group resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'resource_guid': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, **kwargs) -> None: + super(ApplicationSecurityGroup, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.resource_guid = None + self.provisioning_state = None + self.etag = None + + +class AutoApprovedPrivateLinkService(Model): + """The information of an AutoApprovedPrivateLinkService. + + :param private_link_service: The id of the private link service resource. + :type private_link_service: str + """ + + _attribute_map = { + 'private_link_service': {'key': 'privateLinkService', 'type': 'str'}, + } + + def __init__(self, *, private_link_service: str=None, **kwargs) -> None: + super(AutoApprovedPrivateLinkService, self).__init__(**kwargs) + self.private_link_service = private_link_service + + +class Availability(Model): + """Availability of the metric. + + :param time_grain: The time grain of the availability. + :type time_grain: str + :param retention: The retention of the availability. + :type retention: str + :param blob_duration: Duration of the availability blob. + :type blob_duration: str + """ + + _attribute_map = { + 'time_grain': {'key': 'timeGrain', 'type': 'str'}, + 'retention': {'key': 'retention', 'type': 'str'}, + 'blob_duration': {'key': 'blobDuration', 'type': 'str'}, + } + + def __init__(self, *, time_grain: str=None, retention: str=None, blob_duration: str=None, **kwargs) -> None: + super(Availability, self).__init__(**kwargs) + self.time_grain = time_grain + self.retention = retention + self.blob_duration = blob_duration + + +class AvailableDelegation(Model): + """The serviceName of an AvailableDelegation indicates a possible delegation + for a subnet. + + :param name: The name of the AvailableDelegation resource. + :type name: str + :param id: A unique identifier of the AvailableDelegation resource. + :type id: str + :param type: Resource type. + :type type: str + :param service_name: The name of the service and resource. + :type service_name: str + :param actions: The actions permitted to the service upon delegation. + :type actions: list[str] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'service_name': {'key': 'serviceName', 'type': 'str'}, + 'actions': {'key': 'actions', 'type': '[str]'}, + } + + def __init__(self, *, name: str=None, id: str=None, type: str=None, service_name: str=None, actions=None, **kwargs) -> None: + super(AvailableDelegation, self).__init__(**kwargs) + self.name = name + self.id = id + self.type = type + self.service_name = service_name + self.actions = actions + + +class AvailablePrivateEndpointType(Model): + """The information of an AvailablePrivateEndpointType. + + :param name: The name of the service and resource. + :type name: str + :param id: A unique identifier of the AvailablePrivateEndpoint Type + resource. + :type id: str + :param type: Resource type. + :type type: str + :param resource_name: The name of the service and resource. + :type resource_name: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'resource_name': {'key': 'resourceName', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, id: str=None, type: str=None, resource_name: str=None, **kwargs) -> None: + super(AvailablePrivateEndpointType, self).__init__(**kwargs) + self.name = name + self.id = id + self.type = type + self.resource_name = resource_name + + +class AvailableProvidersList(Model): + """List of available countries with details. + + All required parameters must be populated in order to send to Azure. + + :param countries: Required. List of available countries. + :type countries: + list[~azure.mgmt.network.v2020_04_01.models.AvailableProvidersListCountry] + """ + + _validation = { + 'countries': {'required': True}, + } + + _attribute_map = { + 'countries': {'key': 'countries', 'type': '[AvailableProvidersListCountry]'}, + } + + def __init__(self, *, countries, **kwargs) -> None: + super(AvailableProvidersList, self).__init__(**kwargs) + self.countries = countries + + +class AvailableProvidersListCity(Model): + """City or town details. + + :param city_name: The city or town name. + :type city_name: str + :param providers: A list of Internet service providers. + :type providers: list[str] + """ + + _attribute_map = { + 'city_name': {'key': 'cityName', 'type': 'str'}, + 'providers': {'key': 'providers', 'type': '[str]'}, + } + + def __init__(self, *, city_name: str=None, providers=None, **kwargs) -> None: + super(AvailableProvidersListCity, self).__init__(**kwargs) + self.city_name = city_name + self.providers = providers + + +class AvailableProvidersListCountry(Model): + """Country details. + + :param country_name: The country name. + :type country_name: str + :param providers: A list of Internet service providers. + :type providers: list[str] + :param states: List of available states in the country. + :type states: + list[~azure.mgmt.network.v2020_04_01.models.AvailableProvidersListState] + """ + + _attribute_map = { + 'country_name': {'key': 'countryName', 'type': 'str'}, + 'providers': {'key': 'providers', 'type': '[str]'}, + 'states': {'key': 'states', 'type': '[AvailableProvidersListState]'}, + } + + def __init__(self, *, country_name: str=None, providers=None, states=None, **kwargs) -> None: + super(AvailableProvidersListCountry, self).__init__(**kwargs) + self.country_name = country_name + self.providers = providers + self.states = states + + +class AvailableProvidersListParameters(Model): + """Constraints that determine the list of available Internet service + providers. + + :param azure_locations: A list of Azure regions. + :type azure_locations: list[str] + :param country: The country for available providers list. + :type country: str + :param state: The state for available providers list. + :type state: str + :param city: The city or town for available providers list. + :type city: str + """ + + _attribute_map = { + 'azure_locations': {'key': 'azureLocations', 'type': '[str]'}, + 'country': {'key': 'country', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + 'city': {'key': 'city', 'type': 'str'}, + } + + def __init__(self, *, azure_locations=None, country: str=None, state: str=None, city: str=None, **kwargs) -> None: + super(AvailableProvidersListParameters, self).__init__(**kwargs) + self.azure_locations = azure_locations + self.country = country + self.state = state + self.city = city + + +class AvailableProvidersListState(Model): + """State details. + + :param state_name: The state name. + :type state_name: str + :param providers: A list of Internet service providers. + :type providers: list[str] + :param cities: List of available cities or towns in the state. + :type cities: + list[~azure.mgmt.network.v2020_04_01.models.AvailableProvidersListCity] + """ + + _attribute_map = { + 'state_name': {'key': 'stateName', 'type': 'str'}, + 'providers': {'key': 'providers', 'type': '[str]'}, + 'cities': {'key': 'cities', 'type': '[AvailableProvidersListCity]'}, + } + + def __init__(self, *, state_name: str=None, providers=None, cities=None, **kwargs) -> None: + super(AvailableProvidersListState, self).__init__(**kwargs) + self.state_name = state_name + self.providers = providers + self.cities = cities + + +class AvailableServiceAlias(Model): + """The available service alias. + + :param name: The name of the service alias. + :type name: str + :param id: The ID of the service alias. + :type id: str + :param type: The type of the resource. + :type type: str + :param resource_name: The resource name of the service alias. + :type resource_name: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'resource_name': {'key': 'resourceName', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, id: str=None, type: str=None, resource_name: str=None, **kwargs) -> None: + super(AvailableServiceAlias, self).__init__(**kwargs) + self.name = name + self.id = id + self.type = type + self.resource_name = resource_name + + +class AzureAsyncOperationResult(Model): + """The response body contains the status of the specified asynchronous + operation, indicating whether it has succeeded, is in progress, or has + failed. Note that this status is distinct from the HTTP status code + returned for the Get Operation Status operation itself. If the asynchronous + operation succeeded, the response body includes the HTTP status code for + the successful request. If the asynchronous operation failed, the response + body includes the HTTP status code for the failed request and error + information regarding the failure. + + :param status: Status of the Azure async operation. Possible values + include: 'InProgress', 'Succeeded', 'Failed' + :type status: str or + ~azure.mgmt.network.v2020_04_01.models.NetworkOperationStatus + :param error: Details of the error occurred during specified asynchronous + operation. + :type error: ~azure.mgmt.network.v2020_04_01.models.Error + """ + + _attribute_map = { + 'status': {'key': 'status', 'type': 'str'}, + 'error': {'key': 'error', 'type': 'Error'}, + } + + def __init__(self, *, status=None, error=None, **kwargs) -> None: + super(AzureAsyncOperationResult, self).__init__(**kwargs) + self.status = status + self.error = error + + +class AzureFirewall(Resource): + """Azure Firewall resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param application_rule_collections: Collection of application rule + collections used by Azure Firewall. + :type application_rule_collections: + list[~azure.mgmt.network.v2020_04_01.models.AzureFirewallApplicationRuleCollection] + :param nat_rule_collections: Collection of NAT rule collections used by + Azure Firewall. + :type nat_rule_collections: + list[~azure.mgmt.network.v2020_04_01.models.AzureFirewallNatRuleCollection] + :param network_rule_collections: Collection of network rule collections + used by Azure Firewall. + :type network_rule_collections: + list[~azure.mgmt.network.v2020_04_01.models.AzureFirewallNetworkRuleCollection] + :param ip_configurations: IP configuration of the Azure Firewall resource. + :type ip_configurations: + list[~azure.mgmt.network.v2020_04_01.models.AzureFirewallIPConfiguration] + :param management_ip_configuration: IP configuration of the Azure Firewall + used for management traffic. + :type management_ip_configuration: + ~azure.mgmt.network.v2020_04_01.models.AzureFirewallIPConfiguration + :ivar provisioning_state: The provisioning state of the Azure firewall + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param threat_intel_mode: The operation mode for Threat Intelligence. + Possible values include: 'Alert', 'Deny', 'Off' + :type threat_intel_mode: str or + ~azure.mgmt.network.v2020_04_01.models.AzureFirewallThreatIntelMode + :param virtual_hub: The virtualHub to which the firewall belongs. + :type virtual_hub: ~azure.mgmt.network.v2020_04_01.models.SubResource + :param firewall_policy: The firewallPolicy associated with this azure + firewall. + :type firewall_policy: ~azure.mgmt.network.v2020_04_01.models.SubResource + :ivar hub_ip_addresses: IP addresses associated with AzureFirewall. + :vartype hub_ip_addresses: + ~azure.mgmt.network.v2020_04_01.models.HubIPAddresses + :ivar ip_groups: IpGroups associated with AzureFirewall. + :vartype ip_groups: + list[~azure.mgmt.network.v2020_04_01.models.AzureFirewallIpGroups] + :param sku: The Azure Firewall Resource SKU. + :type sku: ~azure.mgmt.network.v2020_04_01.models.AzureFirewallSku + :param additional_properties: The additional properties used to further + config this azure firewall. + :type additional_properties: dict[str, str] + :param zones: A list of availability zones denoting where the resource + needs to come from. + :type zones: list[str] + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'hub_ip_addresses': {'readonly': True}, + 'ip_groups': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'application_rule_collections': {'key': 'properties.applicationRuleCollections', 'type': '[AzureFirewallApplicationRuleCollection]'}, + 'nat_rule_collections': {'key': 'properties.natRuleCollections', 'type': '[AzureFirewallNatRuleCollection]'}, + 'network_rule_collections': {'key': 'properties.networkRuleCollections', 'type': '[AzureFirewallNetworkRuleCollection]'}, + 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[AzureFirewallIPConfiguration]'}, + 'management_ip_configuration': {'key': 'properties.managementIpConfiguration', 'type': 'AzureFirewallIPConfiguration'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'threat_intel_mode': {'key': 'properties.threatIntelMode', 'type': 'str'}, + 'virtual_hub': {'key': 'properties.virtualHub', 'type': 'SubResource'}, + 'firewall_policy': {'key': 'properties.firewallPolicy', 'type': 'SubResource'}, + 'hub_ip_addresses': {'key': 'properties.hubIpAddresses', 'type': 'HubIPAddresses'}, + 'ip_groups': {'key': 'properties.ipGroups', 'type': '[AzureFirewallIpGroups]'}, + 'sku': {'key': 'properties.sku', 'type': 'AzureFirewallSku'}, + 'additional_properties': {'key': 'properties.additionalProperties', 'type': '{str}'}, + 'zones': {'key': 'zones', 'type': '[str]'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, application_rule_collections=None, nat_rule_collections=None, network_rule_collections=None, ip_configurations=None, management_ip_configuration=None, threat_intel_mode=None, virtual_hub=None, firewall_policy=None, sku=None, additional_properties=None, zones=None, **kwargs) -> None: + super(AzureFirewall, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.application_rule_collections = application_rule_collections + self.nat_rule_collections = nat_rule_collections + self.network_rule_collections = network_rule_collections + self.ip_configurations = ip_configurations + self.management_ip_configuration = management_ip_configuration + self.provisioning_state = None + self.threat_intel_mode = threat_intel_mode + self.virtual_hub = virtual_hub + self.firewall_policy = firewall_policy + self.hub_ip_addresses = None + self.ip_groups = None + self.sku = sku + self.additional_properties = additional_properties + self.zones = zones + self.etag = None + + +class AzureFirewallApplicationRule(Model): + """Properties of an application rule. + + :param name: Name of the application rule. + :type name: str + :param description: Description of the rule. + :type description: str + :param source_addresses: List of source IP addresses for this rule. + :type source_addresses: list[str] + :param protocols: Array of ApplicationRuleProtocols. + :type protocols: + list[~azure.mgmt.network.v2020_04_01.models.AzureFirewallApplicationRuleProtocol] + :param target_fqdns: List of FQDNs for this rule. + :type target_fqdns: list[str] + :param fqdn_tags: List of FQDN Tags for this rule. + :type fqdn_tags: list[str] + :param source_ip_groups: List of source IpGroups for this rule. + :type source_ip_groups: list[str] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'source_addresses': {'key': 'sourceAddresses', 'type': '[str]'}, + 'protocols': {'key': 'protocols', 'type': '[AzureFirewallApplicationRuleProtocol]'}, + 'target_fqdns': {'key': 'targetFqdns', 'type': '[str]'}, + 'fqdn_tags': {'key': 'fqdnTags', 'type': '[str]'}, + 'source_ip_groups': {'key': 'sourceIpGroups', 'type': '[str]'}, + } + + def __init__(self, *, name: str=None, description: str=None, source_addresses=None, protocols=None, target_fqdns=None, fqdn_tags=None, source_ip_groups=None, **kwargs) -> None: + super(AzureFirewallApplicationRule, self).__init__(**kwargs) + self.name = name + self.description = description + self.source_addresses = source_addresses + self.protocols = protocols + self.target_fqdns = target_fqdns + self.fqdn_tags = fqdn_tags + self.source_ip_groups = source_ip_groups + + +class AzureFirewallApplicationRuleCollection(SubResource): + """Application rule collection resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param priority: Priority of the application rule collection resource. + :type priority: int + :param action: The action type of a rule collection. + :type action: ~azure.mgmt.network.v2020_04_01.models.AzureFirewallRCAction + :param rules: Collection of rules used by a application rule collection. + :type rules: + list[~azure.mgmt.network.v2020_04_01.models.AzureFirewallApplicationRule] + :ivar provisioning_state: The provisioning state of the application rule + collection resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: The name of the resource that is unique within the Azure + firewall. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'priority': {'maximum': 65000, 'minimum': 100}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'priority': {'key': 'properties.priority', 'type': 'int'}, + 'action': {'key': 'properties.action', 'type': 'AzureFirewallRCAction'}, + 'rules': {'key': 'properties.rules', 'type': '[AzureFirewallApplicationRule]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, priority: int=None, action=None, rules=None, name: str=None, **kwargs) -> None: + super(AzureFirewallApplicationRuleCollection, self).__init__(id=id, **kwargs) + self.priority = priority + self.action = action + self.rules = rules + self.provisioning_state = None + self.name = name + self.etag = None + + +class AzureFirewallApplicationRuleProtocol(Model): + """Properties of the application rule protocol. + + :param protocol_type: Protocol type. Possible values include: 'Http', + 'Https', 'Mssql' + :type protocol_type: str or + ~azure.mgmt.network.v2020_04_01.models.AzureFirewallApplicationRuleProtocolType + :param port: Port number for the protocol, cannot be greater than 64000. + This field is optional. + :type port: int + """ + + _validation = { + 'port': {'maximum': 64000, 'minimum': 0}, + } + + _attribute_map = { + 'protocol_type': {'key': 'protocolType', 'type': 'str'}, + 'port': {'key': 'port', 'type': 'int'}, + } + + def __init__(self, *, protocol_type=None, port: int=None, **kwargs) -> None: + super(AzureFirewallApplicationRuleProtocol, self).__init__(**kwargs) + self.protocol_type = protocol_type + self.port = port + + +class AzureFirewallFqdnTag(Resource): + """Azure Firewall FQDN Tag Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar provisioning_state: The provisioning state of the Azure firewall + FQDN tag resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :ivar fqdn_tag_name: The name of this FQDN Tag. + :vartype fqdn_tag_name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'fqdn_tag_name': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'fqdn_tag_name': {'key': 'properties.fqdnTagName', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, **kwargs) -> None: + super(AzureFirewallFqdnTag, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.provisioning_state = None + self.fqdn_tag_name = None + self.etag = None + + +class AzureFirewallIPConfiguration(SubResource): + """IP configuration of an Azure Firewall. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar private_ip_address: The Firewall Internal Load Balancer IP to be + used as the next hop in User Defined Routes. + :vartype private_ip_address: str + :param subnet: Reference to the subnet resource. This resource must be + named 'AzureFirewallSubnet' or 'AzureFirewallManagementSubnet'. + :type subnet: ~azure.mgmt.network.v2020_04_01.models.SubResource + :param public_ip_address: Reference to the PublicIP resource. This field + is a mandatory input if subnet is not null. + :type public_ip_address: + ~azure.mgmt.network.v2020_04_01.models.SubResource + :ivar provisioning_state: The provisioning state of the Azure firewall IP + configuration resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: Name of the resource that is unique within a resource group. + This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'private_ip_address': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, + 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, + 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'SubResource'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, subnet=None, public_ip_address=None, name: str=None, **kwargs) -> None: + super(AzureFirewallIPConfiguration, self).__init__(id=id, **kwargs) + self.private_ip_address = None + self.subnet = subnet + self.public_ip_address = public_ip_address + self.provisioning_state = None + self.name = name + self.etag = None + self.type = None + + +class AzureFirewallIpGroups(Model): + """IpGroups associated with azure firewall. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar change_number: The iteration number. + :vartype change_number: str + """ + + _validation = { + 'id': {'readonly': True}, + 'change_number': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'change_number': {'key': 'changeNumber', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(AzureFirewallIpGroups, self).__init__(**kwargs) + self.id = None + self.change_number = None + + +class AzureFirewallNatRCAction(Model): + """AzureFirewall NAT Rule Collection Action. + + :param type: The type of action. Possible values include: 'Snat', 'Dnat' + :type type: str or + ~azure.mgmt.network.v2020_04_01.models.AzureFirewallNatRCActionType + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, type=None, **kwargs) -> None: + super(AzureFirewallNatRCAction, self).__init__(**kwargs) + self.type = type + + +class AzureFirewallNatRule(Model): + """Properties of a NAT rule. + + :param name: Name of the NAT rule. + :type name: str + :param description: Description of the rule. + :type description: str + :param source_addresses: List of source IP addresses for this rule. + :type source_addresses: list[str] + :param destination_addresses: List of destination IP addresses for this + rule. Supports IP ranges, prefixes, and service tags. + :type destination_addresses: list[str] + :param destination_ports: List of destination ports. + :type destination_ports: list[str] + :param protocols: Array of AzureFirewallNetworkRuleProtocols applicable to + this NAT rule. + :type protocols: list[str or + ~azure.mgmt.network.v2020_04_01.models.AzureFirewallNetworkRuleProtocol] + :param translated_address: The translated address for this NAT rule. + :type translated_address: str + :param translated_port: The translated port for this NAT rule. + :type translated_port: str + :param translated_fqdn: The translated FQDN for this NAT rule. + :type translated_fqdn: str + :param source_ip_groups: List of source IpGroups for this rule. + :type source_ip_groups: list[str] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'source_addresses': {'key': 'sourceAddresses', 'type': '[str]'}, + 'destination_addresses': {'key': 'destinationAddresses', 'type': '[str]'}, + 'destination_ports': {'key': 'destinationPorts', 'type': '[str]'}, + 'protocols': {'key': 'protocols', 'type': '[str]'}, + 'translated_address': {'key': 'translatedAddress', 'type': 'str'}, + 'translated_port': {'key': 'translatedPort', 'type': 'str'}, + 'translated_fqdn': {'key': 'translatedFqdn', 'type': 'str'}, + 'source_ip_groups': {'key': 'sourceIpGroups', 'type': '[str]'}, + } + + def __init__(self, *, name: str=None, description: str=None, source_addresses=None, destination_addresses=None, destination_ports=None, protocols=None, translated_address: str=None, translated_port: str=None, translated_fqdn: str=None, source_ip_groups=None, **kwargs) -> None: + super(AzureFirewallNatRule, self).__init__(**kwargs) + self.name = name + self.description = description + self.source_addresses = source_addresses + self.destination_addresses = destination_addresses + self.destination_ports = destination_ports + self.protocols = protocols + self.translated_address = translated_address + self.translated_port = translated_port + self.translated_fqdn = translated_fqdn + self.source_ip_groups = source_ip_groups + + +class AzureFirewallNatRuleCollection(SubResource): + """NAT rule collection resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param priority: Priority of the NAT rule collection resource. + :type priority: int + :param action: The action type of a NAT rule collection. + :type action: + ~azure.mgmt.network.v2020_04_01.models.AzureFirewallNatRCAction + :param rules: Collection of rules used by a NAT rule collection. + :type rules: + list[~azure.mgmt.network.v2020_04_01.models.AzureFirewallNatRule] + :ivar provisioning_state: The provisioning state of the NAT rule + collection resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: The name of the resource that is unique within the Azure + firewall. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'priority': {'maximum': 65000, 'minimum': 100}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'priority': {'key': 'properties.priority', 'type': 'int'}, + 'action': {'key': 'properties.action', 'type': 'AzureFirewallNatRCAction'}, + 'rules': {'key': 'properties.rules', 'type': '[AzureFirewallNatRule]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, priority: int=None, action=None, rules=None, name: str=None, **kwargs) -> None: + super(AzureFirewallNatRuleCollection, self).__init__(id=id, **kwargs) + self.priority = priority + self.action = action + self.rules = rules + self.provisioning_state = None + self.name = name + self.etag = None + + +class AzureFirewallNetworkRule(Model): + """Properties of the network rule. + + :param name: Name of the network rule. + :type name: str + :param description: Description of the rule. + :type description: str + :param protocols: Array of AzureFirewallNetworkRuleProtocols. + :type protocols: list[str or + ~azure.mgmt.network.v2020_04_01.models.AzureFirewallNetworkRuleProtocol] + :param source_addresses: List of source IP addresses for this rule. + :type source_addresses: list[str] + :param destination_addresses: List of destination IP addresses. + :type destination_addresses: list[str] + :param destination_ports: List of destination ports. + :type destination_ports: list[str] + :param destination_fqdns: List of destination FQDNs. + :type destination_fqdns: list[str] + :param source_ip_groups: List of source IpGroups for this rule. + :type source_ip_groups: list[str] + :param destination_ip_groups: List of destination IpGroups for this rule. + :type destination_ip_groups: list[str] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'protocols': {'key': 'protocols', 'type': '[str]'}, + 'source_addresses': {'key': 'sourceAddresses', 'type': '[str]'}, + 'destination_addresses': {'key': 'destinationAddresses', 'type': '[str]'}, + 'destination_ports': {'key': 'destinationPorts', 'type': '[str]'}, + 'destination_fqdns': {'key': 'destinationFqdns', 'type': '[str]'}, + 'source_ip_groups': {'key': 'sourceIpGroups', 'type': '[str]'}, + 'destination_ip_groups': {'key': 'destinationIpGroups', 'type': '[str]'}, + } + + def __init__(self, *, name: str=None, description: str=None, protocols=None, source_addresses=None, destination_addresses=None, destination_ports=None, destination_fqdns=None, source_ip_groups=None, destination_ip_groups=None, **kwargs) -> None: + super(AzureFirewallNetworkRule, self).__init__(**kwargs) + self.name = name + self.description = description + self.protocols = protocols + self.source_addresses = source_addresses + self.destination_addresses = destination_addresses + self.destination_ports = destination_ports + self.destination_fqdns = destination_fqdns + self.source_ip_groups = source_ip_groups + self.destination_ip_groups = destination_ip_groups + + +class AzureFirewallNetworkRuleCollection(SubResource): + """Network rule collection resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param priority: Priority of the network rule collection resource. + :type priority: int + :param action: The action type of a rule collection. + :type action: ~azure.mgmt.network.v2020_04_01.models.AzureFirewallRCAction + :param rules: Collection of rules used by a network rule collection. + :type rules: + list[~azure.mgmt.network.v2020_04_01.models.AzureFirewallNetworkRule] + :ivar provisioning_state: The provisioning state of the network rule + collection resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: The name of the resource that is unique within the Azure + firewall. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'priority': {'maximum': 65000, 'minimum': 100}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'priority': {'key': 'properties.priority', 'type': 'int'}, + 'action': {'key': 'properties.action', 'type': 'AzureFirewallRCAction'}, + 'rules': {'key': 'properties.rules', 'type': '[AzureFirewallNetworkRule]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, priority: int=None, action=None, rules=None, name: str=None, **kwargs) -> None: + super(AzureFirewallNetworkRuleCollection, self).__init__(id=id, **kwargs) + self.priority = priority + self.action = action + self.rules = rules + self.provisioning_state = None + self.name = name + self.etag = None + + +class AzureFirewallPublicIPAddress(Model): + """Public IP Address associated with azure firewall. + + :param address: Public IP Address value. + :type address: str + """ + + _attribute_map = { + 'address': {'key': 'address', 'type': 'str'}, + } + + def __init__(self, *, address: str=None, **kwargs) -> None: + super(AzureFirewallPublicIPAddress, self).__init__(**kwargs) + self.address = address + + +class AzureFirewallRCAction(Model): + """Properties of the AzureFirewallRCAction. + + :param type: The type of action. Possible values include: 'Allow', 'Deny' + :type type: str or + ~azure.mgmt.network.v2020_04_01.models.AzureFirewallRCActionType + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, type=None, **kwargs) -> None: + super(AzureFirewallRCAction, self).__init__(**kwargs) + self.type = type + + +class AzureFirewallSku(Model): + """SKU of an Azure Firewall. + + :param name: Name of an Azure Firewall SKU. Possible values include: + 'AZFW_VNet', 'AZFW_Hub' + :type name: str or + ~azure.mgmt.network.v2020_04_01.models.AzureFirewallSkuName + :param tier: Tier of an Azure Firewall. Possible values include: + 'Standard', 'Premium' + :type tier: str or + ~azure.mgmt.network.v2020_04_01.models.AzureFirewallSkuTier + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + } + + def __init__(self, *, name=None, tier=None, **kwargs) -> None: + super(AzureFirewallSku, self).__init__(**kwargs) + self.name = name + self.tier = tier + + +class AzureReachabilityReport(Model): + """Azure reachability report details. + + All required parameters must be populated in order to send to Azure. + + :param aggregation_level: Required. The aggregation level of Azure + reachability report. Can be Country, State or City. + :type aggregation_level: str + :param provider_location: Required. Parameters that define a geographic + location. + :type provider_location: + ~azure.mgmt.network.v2020_04_01.models.AzureReachabilityReportLocation + :param reachability_report: Required. List of Azure reachability report + items. + :type reachability_report: + list[~azure.mgmt.network.v2020_04_01.models.AzureReachabilityReportItem] + """ + + _validation = { + 'aggregation_level': {'required': True}, + 'provider_location': {'required': True}, + 'reachability_report': {'required': True}, + } + + _attribute_map = { + 'aggregation_level': {'key': 'aggregationLevel', 'type': 'str'}, + 'provider_location': {'key': 'providerLocation', 'type': 'AzureReachabilityReportLocation'}, + 'reachability_report': {'key': 'reachabilityReport', 'type': '[AzureReachabilityReportItem]'}, + } + + def __init__(self, *, aggregation_level: str, provider_location, reachability_report, **kwargs) -> None: + super(AzureReachabilityReport, self).__init__(**kwargs) + self.aggregation_level = aggregation_level + self.provider_location = provider_location + self.reachability_report = reachability_report + + +class AzureReachabilityReportItem(Model): + """Azure reachability report details for a given provider location. + + :param provider: The Internet service provider. + :type provider: str + :param azure_location: The Azure region. + :type azure_location: str + :param latencies: List of latency details for each of the time series. + :type latencies: + list[~azure.mgmt.network.v2020_04_01.models.AzureReachabilityReportLatencyInfo] + """ + + _attribute_map = { + 'provider': {'key': 'provider', 'type': 'str'}, + 'azure_location': {'key': 'azureLocation', 'type': 'str'}, + 'latencies': {'key': 'latencies', 'type': '[AzureReachabilityReportLatencyInfo]'}, + } + + def __init__(self, *, provider: str=None, azure_location: str=None, latencies=None, **kwargs) -> None: + super(AzureReachabilityReportItem, self).__init__(**kwargs) + self.provider = provider + self.azure_location = azure_location + self.latencies = latencies + + +class AzureReachabilityReportLatencyInfo(Model): + """Details on latency for a time series. + + :param time_stamp: The time stamp. + :type time_stamp: datetime + :param score: The relative latency score between 1 and 100, higher values + indicating a faster connection. + :type score: int + """ + + _validation = { + 'score': {'maximum': 100, 'minimum': 1}, + } + + _attribute_map = { + 'time_stamp': {'key': 'timeStamp', 'type': 'iso-8601'}, + 'score': {'key': 'score', 'type': 'int'}, + } + + def __init__(self, *, time_stamp=None, score: int=None, **kwargs) -> None: + super(AzureReachabilityReportLatencyInfo, self).__init__(**kwargs) + self.time_stamp = time_stamp + self.score = score + + +class AzureReachabilityReportLocation(Model): + """Parameters that define a geographic location. + + All required parameters must be populated in order to send to Azure. + + :param country: Required. The name of the country. + :type country: str + :param state: The name of the state. + :type state: str + :param city: The name of the city or town. + :type city: str + """ + + _validation = { + 'country': {'required': True}, + } + + _attribute_map = { + 'country': {'key': 'country', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + 'city': {'key': 'city', 'type': 'str'}, + } + + def __init__(self, *, country: str, state: str=None, city: str=None, **kwargs) -> None: + super(AzureReachabilityReportLocation, self).__init__(**kwargs) + self.country = country + self.state = state + self.city = city + + +class AzureReachabilityReportParameters(Model): + """Geographic and time constraints for Azure reachability report. + + All required parameters must be populated in order to send to Azure. + + :param provider_location: Required. Parameters that define a geographic + location. + :type provider_location: + ~azure.mgmt.network.v2020_04_01.models.AzureReachabilityReportLocation + :param providers: List of Internet service providers. + :type providers: list[str] + :param azure_locations: Optional Azure regions to scope the query to. + :type azure_locations: list[str] + :param start_time: Required. The start time for the Azure reachability + report. + :type start_time: datetime + :param end_time: Required. The end time for the Azure reachability report. + :type end_time: datetime + """ + + _validation = { + 'provider_location': {'required': True}, + 'start_time': {'required': True}, + 'end_time': {'required': True}, + } + + _attribute_map = { + 'provider_location': {'key': 'providerLocation', 'type': 'AzureReachabilityReportLocation'}, + 'providers': {'key': 'providers', 'type': '[str]'}, + 'azure_locations': {'key': 'azureLocations', 'type': '[str]'}, + 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, + } + + def __init__(self, *, provider_location, start_time, end_time, providers=None, azure_locations=None, **kwargs) -> None: + super(AzureReachabilityReportParameters, self).__init__(**kwargs) + self.provider_location = provider_location + self.providers = providers + self.azure_locations = azure_locations + self.start_time = start_time + self.end_time = end_time + + +class BackendAddressPool(SubResource): + """Pool of backend IP addresses. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar backend_ip_configurations: An array of references to IP addresses + defined in network interfaces. + :vartype backend_ip_configurations: + list[~azure.mgmt.network.v2020_04_01.models.NetworkInterfaceIPConfiguration] + :param load_balancer_backend_addresses: An array of backend addresses. + :type load_balancer_backend_addresses: + list[~azure.mgmt.network.v2020_04_01.models.LoadBalancerBackendAddress] + :ivar load_balancing_rules: An array of references to load balancing rules + that use this backend address pool. + :vartype load_balancing_rules: + list[~azure.mgmt.network.v2020_04_01.models.SubResource] + :ivar outbound_rule: A reference to an outbound rule that uses this + backend address pool. + :vartype outbound_rule: ~azure.mgmt.network.v2020_04_01.models.SubResource + :ivar outbound_rules: An array of references to outbound rules that use + this backend address pool. + :vartype outbound_rules: + list[~azure.mgmt.network.v2020_04_01.models.SubResource] + :ivar provisioning_state: The provisioning state of the backend address + pool resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: The name of the resource that is unique within the set of + backend address pools used by the load balancer. This name can be used to + access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'backend_ip_configurations': {'readonly': True}, + 'load_balancing_rules': {'readonly': True}, + 'outbound_rule': {'readonly': True}, + 'outbound_rules': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'backend_ip_configurations': {'key': 'properties.backendIPConfigurations', 'type': '[NetworkInterfaceIPConfiguration]'}, + 'load_balancer_backend_addresses': {'key': 'properties.loadBalancerBackendAddresses', 'type': '[LoadBalancerBackendAddress]'}, + 'load_balancing_rules': {'key': 'properties.loadBalancingRules', 'type': '[SubResource]'}, + 'outbound_rule': {'key': 'properties.outboundRule', 'type': 'SubResource'}, + 'outbound_rules': {'key': 'properties.outboundRules', 'type': '[SubResource]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, load_balancer_backend_addresses=None, name: str=None, **kwargs) -> None: + super(BackendAddressPool, self).__init__(id=id, **kwargs) + self.backend_ip_configurations = None + self.load_balancer_backend_addresses = load_balancer_backend_addresses + self.load_balancing_rules = None + self.outbound_rule = None + self.outbound_rules = None + self.provisioning_state = None + self.name = name + self.etag = None + self.type = None + + +class BastionActiveSession(Model): + """The session detail for a target. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar session_id: A unique id for the session. + :vartype session_id: str + :ivar start_time: The time when the session started. + :vartype start_time: object + :ivar target_subscription_id: The subscription id for the target virtual + machine. + :vartype target_subscription_id: str + :ivar resource_type: The type of the resource. + :vartype resource_type: str + :ivar target_host_name: The host name of the target. + :vartype target_host_name: str + :ivar target_resource_group: The resource group of the target. + :vartype target_resource_group: str + :ivar user_name: The user name who is active on this session. + :vartype user_name: str + :ivar target_ip_address: The IP Address of the target. + :vartype target_ip_address: str + :ivar protocol: The protocol used to connect to the target. Possible + values include: 'SSH', 'RDP' + :vartype protocol: str or + ~azure.mgmt.network.v2020_04_01.models.BastionConnectProtocol + :ivar target_resource_id: The resource id of the target. + :vartype target_resource_id: str + :ivar session_duration_in_mins: Duration in mins the session has been + active. + :vartype session_duration_in_mins: float + """ + + _validation = { + 'session_id': {'readonly': True}, + 'start_time': {'readonly': True}, + 'target_subscription_id': {'readonly': True}, + 'resource_type': {'readonly': True}, + 'target_host_name': {'readonly': True}, + 'target_resource_group': {'readonly': True}, + 'user_name': {'readonly': True}, + 'target_ip_address': {'readonly': True}, + 'protocol': {'readonly': True}, + 'target_resource_id': {'readonly': True}, + 'session_duration_in_mins': {'readonly': True}, + } + + _attribute_map = { + 'session_id': {'key': 'sessionId', 'type': 'str'}, + 'start_time': {'key': 'startTime', 'type': 'object'}, + 'target_subscription_id': {'key': 'targetSubscriptionId', 'type': 'str'}, + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'target_host_name': {'key': 'targetHostName', 'type': 'str'}, + 'target_resource_group': {'key': 'targetResourceGroup', 'type': 'str'}, + 'user_name': {'key': 'userName', 'type': 'str'}, + 'target_ip_address': {'key': 'targetIpAddress', 'type': 'str'}, + 'protocol': {'key': 'protocol', 'type': 'str'}, + 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, + 'session_duration_in_mins': {'key': 'sessionDurationInMins', 'type': 'float'}, + } + + def __init__(self, **kwargs) -> None: + super(BastionActiveSession, self).__init__(**kwargs) + self.session_id = None + self.start_time = None + self.target_subscription_id = None + self.resource_type = None + self.target_host_name = None + self.target_resource_group = None + self.user_name = None + self.target_ip_address = None + self.protocol = None + self.target_resource_id = None + self.session_duration_in_mins = None + + +class BastionActiveSessionListResult(Model): + """Response for GetActiveSessions. + + :param value: List of active sessions on the bastion. + :type value: + list[~azure.mgmt.network.v2020_04_01.models.BastionActiveSession] + :param next_link: The URL to get the next set of results. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[BastionActiveSession]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, *, value=None, next_link: str=None, **kwargs) -> None: + super(BastionActiveSessionListResult, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class BastionHost(Resource): + """Bastion Host resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param ip_configurations: IP configuration of the Bastion Host resource. + :type ip_configurations: + list[~azure.mgmt.network.v2020_04_01.models.BastionHostIPConfiguration] + :param dns_name: FQDN for the endpoint on which bastion host is + accessible. + :type dns_name: str + :ivar provisioning_state: The provisioning state of the bastion host + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[BastionHostIPConfiguration]'}, + 'dns_name': {'key': 'properties.dnsName', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, ip_configurations=None, dns_name: str=None, **kwargs) -> None: + super(BastionHost, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.ip_configurations = ip_configurations + self.dns_name = dns_name + self.provisioning_state = None + self.etag = None + + +class BastionHostIPConfiguration(SubResource): + """IP configuration of an Bastion Host. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :param subnet: Required. Reference of the subnet resource. + :type subnet: ~azure.mgmt.network.v2020_04_01.models.SubResource + :param public_ip_address: Required. Reference of the PublicIP resource. + :type public_ip_address: + ~azure.mgmt.network.v2020_04_01.models.SubResource + :ivar provisioning_state: The provisioning state of the bastion host IP + configuration resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param private_ip_allocation_method: Private IP allocation method. + Possible values include: 'Static', 'Dynamic' + :type private_ip_allocation_method: str or + ~azure.mgmt.network.v2020_04_01.models.IPAllocationMethod + :param name: Name of the resource that is unique within a resource group. + This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Ip configuration type. + :vartype type: str + """ + + _validation = { + 'subnet': {'required': True}, + 'public_ip_address': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, + 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'SubResource'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, subnet, public_ip_address, id: str=None, private_ip_allocation_method=None, name: str=None, **kwargs) -> None: + super(BastionHostIPConfiguration, self).__init__(id=id, **kwargs) + self.subnet = subnet + self.public_ip_address = public_ip_address + self.provisioning_state = None + self.private_ip_allocation_method = private_ip_allocation_method + self.name = name + self.etag = None + self.type = None + + +class BastionSessionState(Model): + """The session state detail for a target. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar session_id: A unique id for the session. + :vartype session_id: str + :ivar message: Used for extra information. + :vartype message: str + :ivar state: The state of the session. Disconnected/Failed/NotFound. + :vartype state: str + """ + + _validation = { + 'session_id': {'readonly': True}, + 'message': {'readonly': True}, + 'state': {'readonly': True}, + } + + _attribute_map = { + 'session_id': {'key': 'sessionId', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(BastionSessionState, self).__init__(**kwargs) + self.session_id = None + self.message = None + self.state = None + + +class BastionShareableLink(Model): + """Bastion Shareable Link. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param vm: Required. Reference of the virtual machine resource. + :type vm: ~azure.mgmt.network.v2020_04_01.models.VM + :ivar bsl: The unique Bastion Shareable Link to the virtual machine. + :vartype bsl: str + :ivar created_at: The time when the link was created. + :vartype created_at: str + :ivar message: Optional field indicating the warning or error message + related to the vm in case of partial failure. + :vartype message: str + """ + + _validation = { + 'vm': {'required': True}, + 'bsl': {'readonly': True}, + 'created_at': {'readonly': True}, + 'message': {'readonly': True}, + } + + _attribute_map = { + 'vm': {'key': 'vm', 'type': 'VM'}, + 'bsl': {'key': 'bsl', 'type': 'str'}, + 'created_at': {'key': 'createdAt', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__(self, *, vm, **kwargs) -> None: + super(BastionShareableLink, self).__init__(**kwargs) + self.vm = vm + self.bsl = None + self.created_at = None + self.message = None + + +class BastionShareableLinkListRequest(Model): + """Post request for all the Bastion Shareable Link endpoints. + + :param vms: List of VM references. + :type vms: + list[~azure.mgmt.network.v2020_04_01.models.BastionShareableLink] + """ + + _attribute_map = { + 'vms': {'key': 'vms', 'type': '[BastionShareableLink]'}, + } + + def __init__(self, *, vms=None, **kwargs) -> None: + super(BastionShareableLinkListRequest, self).__init__(**kwargs) + self.vms = vms + + +class BastionShareableLinkListResult(Model): + """Response for all the Bastion Shareable Link endpoints. + + :param value: List of Bastion Shareable Links for the request. + :type value: + list[~azure.mgmt.network.v2020_04_01.models.BastionShareableLink] + :param next_link: The URL to get the next set of results. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[BastionShareableLink]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, *, value=None, next_link: str=None, **kwargs) -> None: + super(BastionShareableLinkListResult, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class BGPCommunity(Model): + """Contains bgp community information offered in Service Community resources. + + :param service_supported_region: The region which the service support. + e.g. For O365, region is Global. + :type service_supported_region: str + :param community_name: The name of the bgp community. e.g. Skype. + :type community_name: str + :param community_value: The value of the bgp community. For more + information: + https://docs.microsoft.com/en-us/azure/expressroute/expressroute-routing. + :type community_value: str + :param community_prefixes: The prefixes that the bgp community contains. + :type community_prefixes: list[str] + :param is_authorized_to_use: Customer is authorized to use bgp community + or not. + :type is_authorized_to_use: bool + :param service_group: The service group of the bgp community contains. + :type service_group: str + """ + + _attribute_map = { + 'service_supported_region': {'key': 'serviceSupportedRegion', 'type': 'str'}, + 'community_name': {'key': 'communityName', 'type': 'str'}, + 'community_value': {'key': 'communityValue', 'type': 'str'}, + 'community_prefixes': {'key': 'communityPrefixes', 'type': '[str]'}, + 'is_authorized_to_use': {'key': 'isAuthorizedToUse', 'type': 'bool'}, + 'service_group': {'key': 'serviceGroup', 'type': 'str'}, + } + + def __init__(self, *, service_supported_region: str=None, community_name: str=None, community_value: str=None, community_prefixes=None, is_authorized_to_use: bool=None, service_group: str=None, **kwargs) -> None: + super(BGPCommunity, self).__init__(**kwargs) + self.service_supported_region = service_supported_region + self.community_name = community_name + self.community_value = community_value + self.community_prefixes = community_prefixes + self.is_authorized_to_use = is_authorized_to_use + self.service_group = service_group + + +class BgpPeerStatus(Model): + """BGP peer status details. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar local_address: The virtual network gateway's local address. + :vartype local_address: str + :ivar neighbor: The remote BGP peer. + :vartype neighbor: str + :ivar asn: The autonomous system number of the remote BGP peer. + :vartype asn: long + :ivar state: The BGP peer state. Possible values include: 'Unknown', + 'Stopped', 'Idle', 'Connecting', 'Connected' + :vartype state: str or ~azure.mgmt.network.v2020_04_01.models.BgpPeerState + :ivar connected_duration: For how long the peering has been up. + :vartype connected_duration: str + :ivar routes_received: The number of routes learned from this peer. + :vartype routes_received: long + :ivar messages_sent: The number of BGP messages sent. + :vartype messages_sent: long + :ivar messages_received: The number of BGP messages received. + :vartype messages_received: long + """ + + _validation = { + 'local_address': {'readonly': True}, + 'neighbor': {'readonly': True}, + 'asn': {'readonly': True, 'maximum': 4294967295, 'minimum': 0}, + 'state': {'readonly': True}, + 'connected_duration': {'readonly': True}, + 'routes_received': {'readonly': True}, + 'messages_sent': {'readonly': True}, + 'messages_received': {'readonly': True}, + } + + _attribute_map = { + 'local_address': {'key': 'localAddress', 'type': 'str'}, + 'neighbor': {'key': 'neighbor', 'type': 'str'}, + 'asn': {'key': 'asn', 'type': 'long'}, + 'state': {'key': 'state', 'type': 'str'}, + 'connected_duration': {'key': 'connectedDuration', 'type': 'str'}, + 'routes_received': {'key': 'routesReceived', 'type': 'long'}, + 'messages_sent': {'key': 'messagesSent', 'type': 'long'}, + 'messages_received': {'key': 'messagesReceived', 'type': 'long'}, + } + + def __init__(self, **kwargs) -> None: + super(BgpPeerStatus, self).__init__(**kwargs) + self.local_address = None + self.neighbor = None + self.asn = None + self.state = None + self.connected_duration = None + self.routes_received = None + self.messages_sent = None + self.messages_received = None + + +class BgpPeerStatusListResult(Model): + """Response for list BGP peer status API service call. + + :param value: List of BGP peers. + :type value: list[~azure.mgmt.network.v2020_04_01.models.BgpPeerStatus] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[BgpPeerStatus]'}, + } + + def __init__(self, *, value=None, **kwargs) -> None: + super(BgpPeerStatusListResult, self).__init__(**kwargs) + self.value = value + + +class BgpServiceCommunity(Resource): + """Service Community Properties. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param service_name: The name of the bgp community. e.g. Skype. + :type service_name: str + :param bgp_communities: A list of bgp communities. + :type bgp_communities: + list[~azure.mgmt.network.v2020_04_01.models.BGPCommunity] + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'service_name': {'key': 'properties.serviceName', 'type': 'str'}, + 'bgp_communities': {'key': 'properties.bgpCommunities', 'type': '[BGPCommunity]'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, service_name: str=None, bgp_communities=None, **kwargs) -> None: + super(BgpServiceCommunity, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.service_name = service_name + self.bgp_communities = bgp_communities + + +class BgpSettings(Model): + """BGP settings details. + + :param asn: The BGP speaker's ASN. + :type asn: long + :param bgp_peering_address: The BGP peering address and BGP identifier of + this BGP speaker. + :type bgp_peering_address: str + :param peer_weight: The weight added to routes learned from this BGP + speaker. + :type peer_weight: int + :param bgp_peering_addresses: BGP peering address with IP configuration ID + for virtual network gateway. + :type bgp_peering_addresses: + list[~azure.mgmt.network.v2020_04_01.models.IPConfigurationBgpPeeringAddress] + """ + + _validation = { + 'asn': {'maximum': 4294967295, 'minimum': 0}, + } + + _attribute_map = { + 'asn': {'key': 'asn', 'type': 'long'}, + 'bgp_peering_address': {'key': 'bgpPeeringAddress', 'type': 'str'}, + 'peer_weight': {'key': 'peerWeight', 'type': 'int'}, + 'bgp_peering_addresses': {'key': 'bgpPeeringAddresses', 'type': '[IPConfigurationBgpPeeringAddress]'}, + } + + def __init__(self, *, asn: int=None, bgp_peering_address: str=None, peer_weight: int=None, bgp_peering_addresses=None, **kwargs) -> None: + super(BgpSettings, self).__init__(**kwargs) + self.asn = asn + self.bgp_peering_address = bgp_peering_address + self.peer_weight = peer_weight + self.bgp_peering_addresses = bgp_peering_addresses + + +class CheckPrivateLinkServiceVisibilityRequest(Model): + """Request body of the CheckPrivateLinkServiceVisibility API service call. + + :param private_link_service_alias: The alias of the private link service. + :type private_link_service_alias: str + """ + + _attribute_map = { + 'private_link_service_alias': {'key': 'privateLinkServiceAlias', 'type': 'str'}, + } + + def __init__(self, *, private_link_service_alias: str=None, **kwargs) -> None: + super(CheckPrivateLinkServiceVisibilityRequest, self).__init__(**kwargs) + self.private_link_service_alias = private_link_service_alias + + +class CloudError(Model): + """An error response from the service. + + :param error: Cloud error body. + :type error: ~azure.mgmt.network.v2020_04_01.models.CloudErrorBody + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'CloudErrorBody'}, + } + + def __init__(self, *, error=None, **kwargs) -> None: + super(CloudError, self).__init__(**kwargs) + self.error = error + + +class CloudErrorException(HttpOperationError): + """Server responsed with exception of type: 'CloudError'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(CloudErrorException, self).__init__(deserialize, response, 'CloudError', *args) + + +class CloudErrorBody(Model): + """An error response from the service. + + :param code: An identifier for the error. Codes are invariant and are + intended to be consumed programmatically. + :type code: str + :param message: A message describing the error, intended to be suitable + for display in a user interface. + :type message: str + :param target: The target of the particular error. For example, the name + of the property in error. + :type target: str + :param details: A list of additional details about the error. + :type details: list[~azure.mgmt.network.v2020_04_01.models.CloudErrorBody] + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[CloudErrorBody]'}, + } + + def __init__(self, *, code: str=None, message: str=None, target: str=None, details=None, **kwargs) -> None: + super(CloudErrorBody, self).__init__(**kwargs) + self.code = code + self.message = message + self.target = target + self.details = details + + +class ConnectionMonitor(Model): + """Parameters that define the operation to create a connection monitor. + + :param location: Connection monitor location. + :type location: str + :param tags: Connection monitor tags. + :type tags: dict[str, str] + :param source: Describes the source of connection monitor. + :type source: + ~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorSource + :param destination: Describes the destination of connection monitor. + :type destination: + ~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorDestination + :param auto_start: Determines if the connection monitor will start + automatically once created. Default value: True . + :type auto_start: bool + :param monitoring_interval_in_seconds: Monitoring interval in seconds. + Default value: 60 . + :type monitoring_interval_in_seconds: int + :param endpoints: List of connection monitor endpoints. + :type endpoints: + list[~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorEndpoint] + :param test_configurations: List of connection monitor test + configurations. + :type test_configurations: + list[~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorTestConfiguration] + :param test_groups: List of connection monitor test groups. + :type test_groups: + list[~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorTestGroup] + :param outputs: List of connection monitor outputs. + :type outputs: + list[~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorOutput] + :param notes: Optional notes to be associated with the connection monitor. + :type notes: str + """ + + _attribute_map = { + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'source': {'key': 'properties.source', 'type': 'ConnectionMonitorSource'}, + 'destination': {'key': 'properties.destination', 'type': 'ConnectionMonitorDestination'}, + 'auto_start': {'key': 'properties.autoStart', 'type': 'bool'}, + 'monitoring_interval_in_seconds': {'key': 'properties.monitoringIntervalInSeconds', 'type': 'int'}, + 'endpoints': {'key': 'properties.endpoints', 'type': '[ConnectionMonitorEndpoint]'}, + 'test_configurations': {'key': 'properties.testConfigurations', 'type': '[ConnectionMonitorTestConfiguration]'}, + 'test_groups': {'key': 'properties.testGroups', 'type': '[ConnectionMonitorTestGroup]'}, + 'outputs': {'key': 'properties.outputs', 'type': '[ConnectionMonitorOutput]'}, + 'notes': {'key': 'properties.notes', 'type': 'str'}, + } + + def __init__(self, *, location: str=None, tags=None, source=None, destination=None, auto_start: bool=True, monitoring_interval_in_seconds: int=60, endpoints=None, test_configurations=None, test_groups=None, outputs=None, notes: str=None, **kwargs) -> None: + super(ConnectionMonitor, self).__init__(**kwargs) + self.location = location + self.tags = tags + self.source = source + self.destination = destination + self.auto_start = auto_start + self.monitoring_interval_in_seconds = monitoring_interval_in_seconds + self.endpoints = endpoints + self.test_configurations = test_configurations + self.test_groups = test_groups + self.outputs = outputs + self.notes = notes + + +class ConnectionMonitorDestination(Model): + """Describes the destination of connection monitor. + + :param resource_id: The ID of the resource used as the destination by + connection monitor. + :type resource_id: str + :param address: Address of the connection monitor destination (IP or + domain name). + :type address: str + :param port: The destination port used by connection monitor. + :type port: int + """ + + _attribute_map = { + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + 'address': {'key': 'address', 'type': 'str'}, + 'port': {'key': 'port', 'type': 'int'}, + } + + def __init__(self, *, resource_id: str=None, address: str=None, port: int=None, **kwargs) -> None: + super(ConnectionMonitorDestination, self).__init__(**kwargs) + self.resource_id = resource_id + self.address = address + self.port = port + + +class ConnectionMonitorEndpoint(Model): + """Describes the connection monitor endpoint. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. The name of the connection monitor endpoint. + :type name: str + :param resource_id: Resource ID of the connection monitor endpoint. + :type resource_id: str + :param address: Address of the connection monitor endpoint (IP or domain + name). + :type address: str + :param filter: Filter for sub-items within the endpoint. + :type filter: + ~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorEndpointFilter + """ + + _validation = { + 'name': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + 'address': {'key': 'address', 'type': 'str'}, + 'filter': {'key': 'filter', 'type': 'ConnectionMonitorEndpointFilter'}, + } + + def __init__(self, *, name: str, resource_id: str=None, address: str=None, filter=None, **kwargs) -> None: + super(ConnectionMonitorEndpoint, self).__init__(**kwargs) + self.name = name + self.resource_id = resource_id + self.address = address + self.filter = filter + + +class ConnectionMonitorEndpointFilter(Model): + """Describes the connection monitor endpoint filter. + + :param type: The behavior of the endpoint filter. Currently only 'Include' + is supported. Possible values include: 'Include' + :type type: str or + ~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorEndpointFilterType + :param items: List of items in the filter. + :type items: + list[~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorEndpointFilterItem] + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'items': {'key': 'items', 'type': '[ConnectionMonitorEndpointFilterItem]'}, + } + + def __init__(self, *, type=None, items=None, **kwargs) -> None: + super(ConnectionMonitorEndpointFilter, self).__init__(**kwargs) + self.type = type + self.items = items + + +class ConnectionMonitorEndpointFilterItem(Model): + """Describes the connection monitor endpoint filter item. + + :param type: The type of item included in the filter. Currently only + 'AgentAddress' is supported. Possible values include: 'AgentAddress' + :type type: str or + ~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorEndpointFilterItemType + :param address: The address of the filter item. + :type address: str + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'address': {'key': 'address', 'type': 'str'}, + } + + def __init__(self, *, type=None, address: str=None, **kwargs) -> None: + super(ConnectionMonitorEndpointFilterItem, self).__init__(**kwargs) + self.type = type + self.address = address + + +class ConnectionMonitorHttpConfiguration(Model): + """Describes the HTTP configuration. + + :param port: The port to connect to. + :type port: int + :param method: The HTTP method to use. Possible values include: 'Get', + 'Post' + :type method: str or + ~azure.mgmt.network.v2020_04_01.models.HTTPConfigurationMethod + :param path: The path component of the URI. For instance, "/dir1/dir2". + :type path: str + :param request_headers: The HTTP headers to transmit with the request. + :type request_headers: + list[~azure.mgmt.network.v2020_04_01.models.HTTPHeader] + :param valid_status_code_ranges: HTTP status codes to consider successful. + For instance, "2xx,301-304,418". + :type valid_status_code_ranges: list[str] + :param prefer_https: Value indicating whether HTTPS is preferred over HTTP + in cases where the choice is not explicit. + :type prefer_https: bool + """ + + _attribute_map = { + 'port': {'key': 'port', 'type': 'int'}, + 'method': {'key': 'method', 'type': 'str'}, + 'path': {'key': 'path', 'type': 'str'}, + 'request_headers': {'key': 'requestHeaders', 'type': '[HTTPHeader]'}, + 'valid_status_code_ranges': {'key': 'validStatusCodeRanges', 'type': '[str]'}, + 'prefer_https': {'key': 'preferHTTPS', 'type': 'bool'}, + } + + def __init__(self, *, port: int=None, method=None, path: str=None, request_headers=None, valid_status_code_ranges=None, prefer_https: bool=None, **kwargs) -> None: + super(ConnectionMonitorHttpConfiguration, self).__init__(**kwargs) + self.port = port + self.method = method + self.path = path + self.request_headers = request_headers + self.valid_status_code_ranges = valid_status_code_ranges + self.prefer_https = prefer_https + + +class ConnectionMonitorIcmpConfiguration(Model): + """Describes the ICMP configuration. + + :param disable_trace_route: Value indicating whether path evaluation with + trace route should be disabled. + :type disable_trace_route: bool + """ + + _attribute_map = { + 'disable_trace_route': {'key': 'disableTraceRoute', 'type': 'bool'}, + } + + def __init__(self, *, disable_trace_route: bool=None, **kwargs) -> None: + super(ConnectionMonitorIcmpConfiguration, self).__init__(**kwargs) + self.disable_trace_route = disable_trace_route + + +class ConnectionMonitorOutput(Model): + """Describes a connection monitor output destination. + + :param type: Connection monitor output destination type. Currently, only + "Workspace" is supported. Possible values include: 'Workspace' + :type type: str or ~azure.mgmt.network.v2020_04_01.models.OutputType + :param workspace_settings: Describes the settings for producing output + into a log analytics workspace. + :type workspace_settings: + ~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorWorkspaceSettings + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'workspace_settings': {'key': 'workspaceSettings', 'type': 'ConnectionMonitorWorkspaceSettings'}, + } + + def __init__(self, *, type=None, workspace_settings=None, **kwargs) -> None: + super(ConnectionMonitorOutput, self).__init__(**kwargs) + self.type = type + self.workspace_settings = workspace_settings + + +class ConnectionMonitorParameters(Model): + """Parameters that define the operation to create a connection monitor. + + :param source: Describes the source of connection monitor. + :type source: + ~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorSource + :param destination: Describes the destination of connection monitor. + :type destination: + ~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorDestination + :param auto_start: Determines if the connection monitor will start + automatically once created. Default value: True . + :type auto_start: bool + :param monitoring_interval_in_seconds: Monitoring interval in seconds. + Default value: 60 . + :type monitoring_interval_in_seconds: int + :param endpoints: List of connection monitor endpoints. + :type endpoints: + list[~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorEndpoint] + :param test_configurations: List of connection monitor test + configurations. + :type test_configurations: + list[~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorTestConfiguration] + :param test_groups: List of connection monitor test groups. + :type test_groups: + list[~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorTestGroup] + :param outputs: List of connection monitor outputs. + :type outputs: + list[~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorOutput] + :param notes: Optional notes to be associated with the connection monitor. + :type notes: str + """ + + _attribute_map = { + 'source': {'key': 'source', 'type': 'ConnectionMonitorSource'}, + 'destination': {'key': 'destination', 'type': 'ConnectionMonitorDestination'}, + 'auto_start': {'key': 'autoStart', 'type': 'bool'}, + 'monitoring_interval_in_seconds': {'key': 'monitoringIntervalInSeconds', 'type': 'int'}, + 'endpoints': {'key': 'endpoints', 'type': '[ConnectionMonitorEndpoint]'}, + 'test_configurations': {'key': 'testConfigurations', 'type': '[ConnectionMonitorTestConfiguration]'}, + 'test_groups': {'key': 'testGroups', 'type': '[ConnectionMonitorTestGroup]'}, + 'outputs': {'key': 'outputs', 'type': '[ConnectionMonitorOutput]'}, + 'notes': {'key': 'notes', 'type': 'str'}, + } + + def __init__(self, *, source=None, destination=None, auto_start: bool=True, monitoring_interval_in_seconds: int=60, endpoints=None, test_configurations=None, test_groups=None, outputs=None, notes: str=None, **kwargs) -> None: + super(ConnectionMonitorParameters, self).__init__(**kwargs) + self.source = source + self.destination = destination + self.auto_start = auto_start + self.monitoring_interval_in_seconds = monitoring_interval_in_seconds + self.endpoints = endpoints + self.test_configurations = test_configurations + self.test_groups = test_groups + self.outputs = outputs + self.notes = notes + + +class ConnectionMonitorQueryResult(Model): + """List of connection states snapshots. + + :param source_status: Status of connection monitor source. Possible values + include: 'Unknown', 'Active', 'Inactive' + :type source_status: str or + ~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorSourceStatus + :param states: Information about connection states. + :type states: + list[~azure.mgmt.network.v2020_04_01.models.ConnectionStateSnapshot] + """ + + _attribute_map = { + 'source_status': {'key': 'sourceStatus', 'type': 'str'}, + 'states': {'key': 'states', 'type': '[ConnectionStateSnapshot]'}, + } + + def __init__(self, *, source_status=None, states=None, **kwargs) -> None: + super(ConnectionMonitorQueryResult, self).__init__(**kwargs) + self.source_status = source_status + self.states = states + + +class ConnectionMonitorResult(Model): + """Information about the connection monitor. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name: Name of the connection monitor. + :vartype name: str + :ivar id: ID of the connection monitor. + :vartype id: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Connection monitor type. + :vartype type: str + :param location: Connection monitor location. + :type location: str + :param tags: Connection monitor tags. + :type tags: dict[str, str] + :param source: Describes the source of connection monitor. + :type source: + ~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorSource + :param destination: Describes the destination of connection monitor. + :type destination: + ~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorDestination + :param auto_start: Determines if the connection monitor will start + automatically once created. Default value: True . + :type auto_start: bool + :param monitoring_interval_in_seconds: Monitoring interval in seconds. + Default value: 60 . + :type monitoring_interval_in_seconds: int + :param endpoints: List of connection monitor endpoints. + :type endpoints: + list[~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorEndpoint] + :param test_configurations: List of connection monitor test + configurations. + :type test_configurations: + list[~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorTestConfiguration] + :param test_groups: List of connection monitor test groups. + :type test_groups: + list[~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorTestGroup] + :param outputs: List of connection monitor outputs. + :type outputs: + list[~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorOutput] + :param notes: Optional notes to be associated with the connection monitor. + :type notes: str + :ivar provisioning_state: The provisioning state of the connection + monitor. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :ivar start_time: The date and time when the connection monitor was + started. + :vartype start_time: datetime + :ivar monitoring_status: The monitoring status of the connection monitor. + :vartype monitoring_status: str + :ivar connection_monitor_type: Type of connection monitor. Possible values + include: 'MultiEndpoint', 'SingleSourceDestination' + :vartype connection_monitor_type: str or + ~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorType + """ + + _validation = { + 'name': {'readonly': True}, + 'id': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'start_time': {'readonly': True}, + 'monitoring_status': {'readonly': True}, + 'connection_monitor_type': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'source': {'key': 'properties.source', 'type': 'ConnectionMonitorSource'}, + 'destination': {'key': 'properties.destination', 'type': 'ConnectionMonitorDestination'}, + 'auto_start': {'key': 'properties.autoStart', 'type': 'bool'}, + 'monitoring_interval_in_seconds': {'key': 'properties.monitoringIntervalInSeconds', 'type': 'int'}, + 'endpoints': {'key': 'properties.endpoints', 'type': '[ConnectionMonitorEndpoint]'}, + 'test_configurations': {'key': 'properties.testConfigurations', 'type': '[ConnectionMonitorTestConfiguration]'}, + 'test_groups': {'key': 'properties.testGroups', 'type': '[ConnectionMonitorTestGroup]'}, + 'outputs': {'key': 'properties.outputs', 'type': '[ConnectionMonitorOutput]'}, + 'notes': {'key': 'properties.notes', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'start_time': {'key': 'properties.startTime', 'type': 'iso-8601'}, + 'monitoring_status': {'key': 'properties.monitoringStatus', 'type': 'str'}, + 'connection_monitor_type': {'key': 'properties.connectionMonitorType', 'type': 'str'}, + } + + def __init__(self, *, location: str=None, tags=None, source=None, destination=None, auto_start: bool=True, monitoring_interval_in_seconds: int=60, endpoints=None, test_configurations=None, test_groups=None, outputs=None, notes: str=None, **kwargs) -> None: + super(ConnectionMonitorResult, self).__init__(**kwargs) + self.name = None + self.id = None + self.etag = None + self.type = None + self.location = location + self.tags = tags + self.source = source + self.destination = destination + self.auto_start = auto_start + self.monitoring_interval_in_seconds = monitoring_interval_in_seconds + self.endpoints = endpoints + self.test_configurations = test_configurations + self.test_groups = test_groups + self.outputs = outputs + self.notes = notes + self.provisioning_state = None + self.start_time = None + self.monitoring_status = None + self.connection_monitor_type = None + + +class ConnectionMonitorSource(Model): + """Describes the source of connection monitor. + + All required parameters must be populated in order to send to Azure. + + :param resource_id: Required. The ID of the resource used as the source by + connection monitor. + :type resource_id: str + :param port: The source port used by connection monitor. + :type port: int + """ + + _validation = { + 'resource_id': {'required': True}, + } + + _attribute_map = { + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + 'port': {'key': 'port', 'type': 'int'}, + } + + def __init__(self, *, resource_id: str, port: int=None, **kwargs) -> None: + super(ConnectionMonitorSource, self).__init__(**kwargs) + self.resource_id = resource_id + self.port = port + + +class ConnectionMonitorSuccessThreshold(Model): + """Describes the threshold for declaring a test successful. + + :param checks_failed_percent: The maximum percentage of failed checks + permitted for a test to evaluate as successful. + :type checks_failed_percent: int + :param round_trip_time_ms: The maximum round-trip time in milliseconds + permitted for a test to evaluate as successful. + :type round_trip_time_ms: float + """ + + _attribute_map = { + 'checks_failed_percent': {'key': 'checksFailedPercent', 'type': 'int'}, + 'round_trip_time_ms': {'key': 'roundTripTimeMs', 'type': 'float'}, + } + + def __init__(self, *, checks_failed_percent: int=None, round_trip_time_ms: float=None, **kwargs) -> None: + super(ConnectionMonitorSuccessThreshold, self).__init__(**kwargs) + self.checks_failed_percent = checks_failed_percent + self.round_trip_time_ms = round_trip_time_ms + + +class ConnectionMonitorTcpConfiguration(Model): + """Describes the TCP configuration. + + :param port: The port to connect to. + :type port: int + :param disable_trace_route: Value indicating whether path evaluation with + trace route should be disabled. + :type disable_trace_route: bool + """ + + _attribute_map = { + 'port': {'key': 'port', 'type': 'int'}, + 'disable_trace_route': {'key': 'disableTraceRoute', 'type': 'bool'}, + } + + def __init__(self, *, port: int=None, disable_trace_route: bool=None, **kwargs) -> None: + super(ConnectionMonitorTcpConfiguration, self).__init__(**kwargs) + self.port = port + self.disable_trace_route = disable_trace_route + + +class ConnectionMonitorTestConfiguration(Model): + """Describes a connection monitor test configuration. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. The name of the connection monitor test + configuration. + :type name: str + :param test_frequency_sec: The frequency of test evaluation, in seconds. + :type test_frequency_sec: int + :param protocol: Required. The protocol to use in test evaluation. + Possible values include: 'Tcp', 'Http', 'Icmp' + :type protocol: str or + ~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorTestConfigurationProtocol + :param preferred_ip_version: The preferred IP version to use in test + evaluation. The connection monitor may choose to use a different version + depending on other parameters. Possible values include: 'IPv4', 'IPv6' + :type preferred_ip_version: str or + ~azure.mgmt.network.v2020_04_01.models.PreferredIPVersion + :param http_configuration: The parameters used to perform test evaluation + over HTTP. + :type http_configuration: + ~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorHttpConfiguration + :param tcp_configuration: The parameters used to perform test evaluation + over TCP. + :type tcp_configuration: + ~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorTcpConfiguration + :param icmp_configuration: The parameters used to perform test evaluation + over ICMP. + :type icmp_configuration: + ~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorIcmpConfiguration + :param success_threshold: The threshold for declaring a test successful. + :type success_threshold: + ~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorSuccessThreshold + """ + + _validation = { + 'name': {'required': True}, + 'protocol': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'test_frequency_sec': {'key': 'testFrequencySec', 'type': 'int'}, + 'protocol': {'key': 'protocol', 'type': 'str'}, + 'preferred_ip_version': {'key': 'preferredIPVersion', 'type': 'str'}, + 'http_configuration': {'key': 'httpConfiguration', 'type': 'ConnectionMonitorHttpConfiguration'}, + 'tcp_configuration': {'key': 'tcpConfiguration', 'type': 'ConnectionMonitorTcpConfiguration'}, + 'icmp_configuration': {'key': 'icmpConfiguration', 'type': 'ConnectionMonitorIcmpConfiguration'}, + 'success_threshold': {'key': 'successThreshold', 'type': 'ConnectionMonitorSuccessThreshold'}, + } + + def __init__(self, *, name: str, protocol, test_frequency_sec: int=None, preferred_ip_version=None, http_configuration=None, tcp_configuration=None, icmp_configuration=None, success_threshold=None, **kwargs) -> None: + super(ConnectionMonitorTestConfiguration, self).__init__(**kwargs) + self.name = name + self.test_frequency_sec = test_frequency_sec + self.protocol = protocol + self.preferred_ip_version = preferred_ip_version + self.http_configuration = http_configuration + self.tcp_configuration = tcp_configuration + self.icmp_configuration = icmp_configuration + self.success_threshold = success_threshold + + +class ConnectionMonitorTestGroup(Model): + """Describes the connection monitor test group. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. The name of the connection monitor test group. + :type name: str + :param disable: Value indicating whether test group is disabled. + :type disable: bool + :param test_configurations: Required. List of test configuration names. + :type test_configurations: list[str] + :param sources: Required. List of source endpoint names. + :type sources: list[str] + :param destinations: Required. List of destination endpoint names. + :type destinations: list[str] + """ + + _validation = { + 'name': {'required': True}, + 'test_configurations': {'required': True}, + 'sources': {'required': True}, + 'destinations': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'disable': {'key': 'disable', 'type': 'bool'}, + 'test_configurations': {'key': 'testConfigurations', 'type': '[str]'}, + 'sources': {'key': 'sources', 'type': '[str]'}, + 'destinations': {'key': 'destinations', 'type': '[str]'}, + } + + def __init__(self, *, name: str, test_configurations, sources, destinations, disable: bool=None, **kwargs) -> None: + super(ConnectionMonitorTestGroup, self).__init__(**kwargs) + self.name = name + self.disable = disable + self.test_configurations = test_configurations + self.sources = sources + self.destinations = destinations + + +class ConnectionMonitorWorkspaceSettings(Model): + """Describes the settings for producing output into a log analytics workspace. + + :param workspace_resource_id: Log analytics workspace resource ID. + :type workspace_resource_id: str + """ + + _attribute_map = { + 'workspace_resource_id': {'key': 'workspaceResourceId', 'type': 'str'}, + } + + def __init__(self, *, workspace_resource_id: str=None, **kwargs) -> None: + super(ConnectionMonitorWorkspaceSettings, self).__init__(**kwargs) + self.workspace_resource_id = workspace_resource_id + + +class ConnectionResetSharedKey(Model): + """The virtual network connection reset shared key. + + All required parameters must be populated in order to send to Azure. + + :param key_length: Required. The virtual network connection reset shared + key length, should between 1 and 128. + :type key_length: int + """ + + _validation = { + 'key_length': {'required': True, 'maximum': 128, 'minimum': 1}, + } + + _attribute_map = { + 'key_length': {'key': 'keyLength', 'type': 'int'}, + } + + def __init__(self, *, key_length: int, **kwargs) -> None: + super(ConnectionResetSharedKey, self).__init__(**kwargs) + self.key_length = key_length + + +class ConnectionSharedKey(SubResource): + """Response for GetConnectionSharedKey API service call. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :param value: Required. The virtual network connection shared key value. + :type value: str + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__(self, *, value: str, id: str=None, **kwargs) -> None: + super(ConnectionSharedKey, self).__init__(id=id, **kwargs) + self.value = value + + +class ConnectionStateSnapshot(Model): + """Connection state snapshot. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param connection_state: The connection state. Possible values include: + 'Reachable', 'Unreachable', 'Unknown' + :type connection_state: str or + ~azure.mgmt.network.v2020_04_01.models.ConnectionState + :param start_time: The start time of the connection snapshot. + :type start_time: datetime + :param end_time: The end time of the connection snapshot. + :type end_time: datetime + :param evaluation_state: Connectivity analysis evaluation state. Possible + values include: 'NotStarted', 'InProgress', 'Completed' + :type evaluation_state: str or + ~azure.mgmt.network.v2020_04_01.models.EvaluationState + :param avg_latency_in_ms: Average latency in ms. + :type avg_latency_in_ms: int + :param min_latency_in_ms: Minimum latency in ms. + :type min_latency_in_ms: int + :param max_latency_in_ms: Maximum latency in ms. + :type max_latency_in_ms: int + :param probes_sent: The number of sent probes. + :type probes_sent: int + :param probes_failed: The number of failed probes. + :type probes_failed: int + :ivar hops: List of hops between the source and the destination. + :vartype hops: + list[~azure.mgmt.network.v2020_04_01.models.ConnectivityHop] + """ + + _validation = { + 'hops': {'readonly': True}, + } + + _attribute_map = { + 'connection_state': {'key': 'connectionState', 'type': 'str'}, + 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, + 'evaluation_state': {'key': 'evaluationState', 'type': 'str'}, + 'avg_latency_in_ms': {'key': 'avgLatencyInMs', 'type': 'int'}, + 'min_latency_in_ms': {'key': 'minLatencyInMs', 'type': 'int'}, + 'max_latency_in_ms': {'key': 'maxLatencyInMs', 'type': 'int'}, + 'probes_sent': {'key': 'probesSent', 'type': 'int'}, + 'probes_failed': {'key': 'probesFailed', 'type': 'int'}, + 'hops': {'key': 'hops', 'type': '[ConnectivityHop]'}, + } + + def __init__(self, *, connection_state=None, start_time=None, end_time=None, evaluation_state=None, avg_latency_in_ms: int=None, min_latency_in_ms: int=None, max_latency_in_ms: int=None, probes_sent: int=None, probes_failed: int=None, **kwargs) -> None: + super(ConnectionStateSnapshot, self).__init__(**kwargs) + self.connection_state = connection_state + self.start_time = start_time + self.end_time = end_time + self.evaluation_state = evaluation_state + self.avg_latency_in_ms = avg_latency_in_ms + self.min_latency_in_ms = min_latency_in_ms + self.max_latency_in_ms = max_latency_in_ms + self.probes_sent = probes_sent + self.probes_failed = probes_failed + self.hops = None + + +class ConnectivityDestination(Model): + """Parameters that define destination of connection. + + :param resource_id: The ID of the resource to which a connection attempt + will be made. + :type resource_id: str + :param address: The IP address or URI the resource to which a connection + attempt will be made. + :type address: str + :param port: Port on which check connectivity will be performed. + :type port: int + """ + + _attribute_map = { + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + 'address': {'key': 'address', 'type': 'str'}, + 'port': {'key': 'port', 'type': 'int'}, + } + + def __init__(self, *, resource_id: str=None, address: str=None, port: int=None, **kwargs) -> None: + super(ConnectivityDestination, self).__init__(**kwargs) + self.resource_id = resource_id + self.address = address + self.port = port + + +class ConnectivityHop(Model): + """Information about a hop between the source and the destination. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar type: The type of the hop. + :vartype type: str + :ivar id: The ID of the hop. + :vartype id: str + :ivar address: The IP address of the hop. + :vartype address: str + :ivar resource_id: The ID of the resource corresponding to this hop. + :vartype resource_id: str + :ivar next_hop_ids: List of next hop identifiers. + :vartype next_hop_ids: list[str] + :ivar issues: List of issues. + :vartype issues: + list[~azure.mgmt.network.v2020_04_01.models.ConnectivityIssue] + """ + + _validation = { + 'type': {'readonly': True}, + 'id': {'readonly': True}, + 'address': {'readonly': True}, + 'resource_id': {'readonly': True}, + 'next_hop_ids': {'readonly': True}, + 'issues': {'readonly': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'address': {'key': 'address', 'type': 'str'}, + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + 'next_hop_ids': {'key': 'nextHopIds', 'type': '[str]'}, + 'issues': {'key': 'issues', 'type': '[ConnectivityIssue]'}, + } + + def __init__(self, **kwargs) -> None: + super(ConnectivityHop, self).__init__(**kwargs) + self.type = None + self.id = None + self.address = None + self.resource_id = None + self.next_hop_ids = None + self.issues = None + + +class ConnectivityInformation(Model): + """Information on the connectivity status. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar hops: List of hops between the source and the destination. + :vartype hops: + list[~azure.mgmt.network.v2020_04_01.models.ConnectivityHop] + :ivar connection_status: The connection status. Possible values include: + 'Unknown', 'Connected', 'Disconnected', 'Degraded' + :vartype connection_status: str or + ~azure.mgmt.network.v2020_04_01.models.ConnectionStatus + :ivar avg_latency_in_ms: Average latency in milliseconds. + :vartype avg_latency_in_ms: int + :ivar min_latency_in_ms: Minimum latency in milliseconds. + :vartype min_latency_in_ms: int + :ivar max_latency_in_ms: Maximum latency in milliseconds. + :vartype max_latency_in_ms: int + :ivar probes_sent: Total number of probes sent. + :vartype probes_sent: int + :ivar probes_failed: Number of failed probes. + :vartype probes_failed: int + """ + + _validation = { + 'hops': {'readonly': True}, + 'connection_status': {'readonly': True}, + 'avg_latency_in_ms': {'readonly': True}, + 'min_latency_in_ms': {'readonly': True}, + 'max_latency_in_ms': {'readonly': True}, + 'probes_sent': {'readonly': True}, + 'probes_failed': {'readonly': True}, + } + + _attribute_map = { + 'hops': {'key': 'hops', 'type': '[ConnectivityHop]'}, + 'connection_status': {'key': 'connectionStatus', 'type': 'str'}, + 'avg_latency_in_ms': {'key': 'avgLatencyInMs', 'type': 'int'}, + 'min_latency_in_ms': {'key': 'minLatencyInMs', 'type': 'int'}, + 'max_latency_in_ms': {'key': 'maxLatencyInMs', 'type': 'int'}, + 'probes_sent': {'key': 'probesSent', 'type': 'int'}, + 'probes_failed': {'key': 'probesFailed', 'type': 'int'}, + } + + def __init__(self, **kwargs) -> None: + super(ConnectivityInformation, self).__init__(**kwargs) + self.hops = None + self.connection_status = None + self.avg_latency_in_ms = None + self.min_latency_in_ms = None + self.max_latency_in_ms = None + self.probes_sent = None + self.probes_failed = None + + +class ConnectivityIssue(Model): + """Information about an issue encountered in the process of checking for + connectivity. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar origin: The origin of the issue. Possible values include: 'Local', + 'Inbound', 'Outbound' + :vartype origin: str or ~azure.mgmt.network.v2020_04_01.models.Origin + :ivar severity: The severity of the issue. Possible values include: + 'Error', 'Warning' + :vartype severity: str or ~azure.mgmt.network.v2020_04_01.models.Severity + :ivar type: The type of issue. Possible values include: 'Unknown', + 'AgentStopped', 'GuestFirewall', 'DnsResolution', 'SocketBind', + 'NetworkSecurityRule', 'UserDefinedRoute', 'PortThrottled', 'Platform' + :vartype type: str or ~azure.mgmt.network.v2020_04_01.models.IssueType + :ivar context: Provides additional context on the issue. + :vartype context: list[dict[str, str]] + """ + + _validation = { + 'origin': {'readonly': True}, + 'severity': {'readonly': True}, + 'type': {'readonly': True}, + 'context': {'readonly': True}, + } + + _attribute_map = { + 'origin': {'key': 'origin', 'type': 'str'}, + 'severity': {'key': 'severity', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'context': {'key': 'context', 'type': '[{str}]'}, + } + + def __init__(self, **kwargs) -> None: + super(ConnectivityIssue, self).__init__(**kwargs) + self.origin = None + self.severity = None + self.type = None + self.context = None + + +class ConnectivityParameters(Model): + """Parameters that determine how the connectivity check will be performed. + + All required parameters must be populated in order to send to Azure. + + :param source: Required. The source of the connection. + :type source: ~azure.mgmt.network.v2020_04_01.models.ConnectivitySource + :param destination: Required. The destination of connection. + :type destination: + ~azure.mgmt.network.v2020_04_01.models.ConnectivityDestination + :param protocol: Network protocol. Possible values include: 'Tcp', 'Http', + 'Https', 'Icmp' + :type protocol: str or ~azure.mgmt.network.v2020_04_01.models.Protocol + :param protocol_configuration: Configuration of the protocol. + :type protocol_configuration: + ~azure.mgmt.network.v2020_04_01.models.ProtocolConfiguration + :param preferred_ip_version: Preferred IP version of the connection. + Possible values include: 'IPv4', 'IPv6' + :type preferred_ip_version: str or + ~azure.mgmt.network.v2020_04_01.models.IPVersion + """ + + _validation = { + 'source': {'required': True}, + 'destination': {'required': True}, + } + + _attribute_map = { + 'source': {'key': 'source', 'type': 'ConnectivitySource'}, + 'destination': {'key': 'destination', 'type': 'ConnectivityDestination'}, + 'protocol': {'key': 'protocol', 'type': 'str'}, + 'protocol_configuration': {'key': 'protocolConfiguration', 'type': 'ProtocolConfiguration'}, + 'preferred_ip_version': {'key': 'preferredIPVersion', 'type': 'str'}, + } + + def __init__(self, *, source, destination, protocol=None, protocol_configuration=None, preferred_ip_version=None, **kwargs) -> None: + super(ConnectivityParameters, self).__init__(**kwargs) + self.source = source + self.destination = destination + self.protocol = protocol + self.protocol_configuration = protocol_configuration + self.preferred_ip_version = preferred_ip_version + + +class ConnectivitySource(Model): + """Parameters that define the source of the connection. + + All required parameters must be populated in order to send to Azure. + + :param resource_id: Required. The ID of the resource from which a + connectivity check will be initiated. + :type resource_id: str + :param port: The source port from which a connectivity check will be + performed. + :type port: int + """ + + _validation = { + 'resource_id': {'required': True}, + } + + _attribute_map = { + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + 'port': {'key': 'port', 'type': 'int'}, + } + + def __init__(self, *, resource_id: str, port: int=None, **kwargs) -> None: + super(ConnectivitySource, self).__init__(**kwargs) + self.resource_id = resource_id + self.port = port + + +class Container(SubResource): + """Reference to container resource in remote resource provider. + + :param id: Resource ID. + :type id: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, **kwargs) -> None: + super(Container, self).__init__(id=id, **kwargs) + + +class ContainerNetworkInterface(SubResource): + """Container network interface child resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar container_network_interface_configuration: Container network + interface configuration from which this container network interface is + created. + :vartype container_network_interface_configuration: + ~azure.mgmt.network.v2020_04_01.models.ContainerNetworkInterfaceConfiguration + :param container: Reference to the container to which this container + network interface is attached. + :type container: ~azure.mgmt.network.v2020_04_01.models.Container + :ivar ip_configurations: Reference to the ip configuration on this + container nic. + :vartype ip_configurations: + list[~azure.mgmt.network.v2020_04_01.models.ContainerNetworkInterfaceIpConfiguration] + :ivar provisioning_state: The provisioning state of the container network + interface resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: The name of the resource. This name can be used to access the + resource. + :type name: str + :ivar type: Sub Resource type. + :vartype type: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'container_network_interface_configuration': {'readonly': True}, + 'ip_configurations': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'container_network_interface_configuration': {'key': 'properties.containerNetworkInterfaceConfiguration', 'type': 'ContainerNetworkInterfaceConfiguration'}, + 'container': {'key': 'properties.container', 'type': 'Container'}, + 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[ContainerNetworkInterfaceIpConfiguration]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, container=None, name: str=None, **kwargs) -> None: + super(ContainerNetworkInterface, self).__init__(id=id, **kwargs) + self.container_network_interface_configuration = None + self.container = container + self.ip_configurations = None + self.provisioning_state = None + self.name = name + self.type = None + self.etag = None + + +class ContainerNetworkInterfaceConfiguration(SubResource): + """Container network interface configuration child resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param ip_configurations: A list of ip configurations of the container + network interface configuration. + :type ip_configurations: + list[~azure.mgmt.network.v2020_04_01.models.IPConfigurationProfile] + :param container_network_interfaces: A list of container network + interfaces created from this container network interface configuration. + :type container_network_interfaces: + list[~azure.mgmt.network.v2020_04_01.models.SubResource] + :ivar provisioning_state: The provisioning state of the container network + interface configuration resource. Possible values include: 'Succeeded', + 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: The name of the resource. This name can be used to access the + resource. + :type name: str + :ivar type: Sub Resource type. + :vartype type: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[IPConfigurationProfile]'}, + 'container_network_interfaces': {'key': 'properties.containerNetworkInterfaces', 'type': '[SubResource]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, ip_configurations=None, container_network_interfaces=None, name: str=None, **kwargs) -> None: + super(ContainerNetworkInterfaceConfiguration, self).__init__(id=id, **kwargs) + self.ip_configurations = ip_configurations + self.container_network_interfaces = container_network_interfaces + self.provisioning_state = None + self.name = name + self.type = None + self.etag = None + + +class ContainerNetworkInterfaceIpConfiguration(Model): + """The ip configuration for a container network interface. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar provisioning_state: The provisioning state of the container network + interface IP configuration resource. Possible values include: 'Succeeded', + 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: The name of the resource. This name can be used to access the + resource. + :type name: str + :ivar type: Sub Resource type. + :vartype type: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, **kwargs) -> None: + super(ContainerNetworkInterfaceIpConfiguration, self).__init__(**kwargs) + self.provisioning_state = None + self.name = name + self.type = None + self.etag = None + + +class CustomDnsConfigPropertiesFormat(Model): + """Contains custom Dns resolution configuration from customer. + + :param fqdn: Fqdn that resolves to private endpoint ip address. + :type fqdn: str + :param ip_addresses: A list of private ip addresses of the private + endpoint. + :type ip_addresses: list[str] + """ + + _attribute_map = { + 'fqdn': {'key': 'fqdn', 'type': 'str'}, + 'ip_addresses': {'key': 'ipAddresses', 'type': '[str]'}, + } + + def __init__(self, *, fqdn: str=None, ip_addresses=None, **kwargs) -> None: + super(CustomDnsConfigPropertiesFormat, self).__init__(**kwargs) + self.fqdn = fqdn + self.ip_addresses = ip_addresses + + +class DdosCustomPolicy(Resource): + """A DDoS custom policy in a resource group. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar resource_guid: The resource GUID property of the DDoS custom policy + resource. It uniquely identifies the resource, even if the user changes + its name or migrate the resource across subscriptions or resource groups. + :vartype resource_guid: str + :ivar provisioning_state: The provisioning state of the DDoS custom policy + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :ivar public_ip_addresses: The list of public IPs associated with the DDoS + custom policy resource. This list is read-only. + :vartype public_ip_addresses: + list[~azure.mgmt.network.v2020_04_01.models.SubResource] + :param protocol_custom_settings: The protocol-specific DDoS policy + customization parameters. + :type protocol_custom_settings: + list[~azure.mgmt.network.v2020_04_01.models.ProtocolCustomSettingsFormat] + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'resource_guid': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'public_ip_addresses': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'public_ip_addresses': {'key': 'properties.publicIPAddresses', 'type': '[SubResource]'}, + 'protocol_custom_settings': {'key': 'properties.protocolCustomSettings', 'type': '[ProtocolCustomSettingsFormat]'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, protocol_custom_settings=None, **kwargs) -> None: + super(DdosCustomPolicy, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.resource_guid = None + self.provisioning_state = None + self.public_ip_addresses = None + self.protocol_custom_settings = protocol_custom_settings + self.etag = None + + +class DdosProtectionPlan(Model): + """A DDoS protection plan in a resource group. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar resource_guid: The resource GUID property of the DDoS protection + plan resource. It uniquely identifies the resource, even if the user + changes its name or migrate the resource across subscriptions or resource + groups. + :vartype resource_guid: str + :ivar provisioning_state: The provisioning state of the DDoS protection + plan resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :ivar virtual_networks: The list of virtual networks associated with the + DDoS protection plan resource. This list is read-only. + :vartype virtual_networks: + list[~azure.mgmt.network.v2020_04_01.models.SubResource] + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'resource_guid': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'virtual_networks': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'virtual_networks': {'key': 'properties.virtualNetworks', 'type': '[SubResource]'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, location: str=None, tags=None, **kwargs) -> None: + super(DdosProtectionPlan, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.location = location + self.tags = tags + self.resource_guid = None + self.provisioning_state = None + self.virtual_networks = None + self.etag = None + + +class DdosSettings(Model): + """Contains the DDoS protection settings of the public IP. + + :param ddos_custom_policy: The DDoS custom policy associated with the + public IP. + :type ddos_custom_policy: + ~azure.mgmt.network.v2020_04_01.models.SubResource + :param protection_coverage: The DDoS protection policy customizability of + the public IP. Only standard coverage will have the ability to be + customized. Possible values include: 'Basic', 'Standard' + :type protection_coverage: str or + ~azure.mgmt.network.v2020_04_01.models.DdosSettingsProtectionCoverage + :param protected_ip: Enables DDoS protection on the public IP. + :type protected_ip: bool + """ + + _attribute_map = { + 'ddos_custom_policy': {'key': 'ddosCustomPolicy', 'type': 'SubResource'}, + 'protection_coverage': {'key': 'protectionCoverage', 'type': 'str'}, + 'protected_ip': {'key': 'protectedIP', 'type': 'bool'}, + } + + def __init__(self, *, ddos_custom_policy=None, protection_coverage=None, protected_ip: bool=None, **kwargs) -> None: + super(DdosSettings, self).__init__(**kwargs) + self.ddos_custom_policy = ddos_custom_policy + self.protection_coverage = protection_coverage + self.protected_ip = protected_ip + + +class Delegation(SubResource): + """Details the service to which the subnet is delegated. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param service_name: The name of the service to whom the subnet should be + delegated (e.g. Microsoft.Sql/servers). + :type service_name: str + :ivar actions: The actions permitted to the service upon delegation. + :vartype actions: list[str] + :ivar provisioning_state: The provisioning state of the service delegation + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: The name of the resource that is unique within a subnet. This + name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'actions': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'service_name': {'key': 'properties.serviceName', 'type': 'str'}, + 'actions': {'key': 'properties.actions', 'type': '[str]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, service_name: str=None, name: str=None, **kwargs) -> None: + super(Delegation, self).__init__(id=id, **kwargs) + self.service_name = service_name + self.actions = None + self.provisioning_state = None + self.name = name + self.etag = None + + +class DeviceProperties(Model): + """List of properties of the device. + + :param device_vendor: Name of the device Vendor. + :type device_vendor: str + :param device_model: Model of the device. + :type device_model: str + :param link_speed_in_mbps: Link speed. + :type link_speed_in_mbps: int + """ + + _attribute_map = { + 'device_vendor': {'key': 'deviceVendor', 'type': 'str'}, + 'device_model': {'key': 'deviceModel', 'type': 'str'}, + 'link_speed_in_mbps': {'key': 'linkSpeedInMbps', 'type': 'int'}, + } + + def __init__(self, *, device_vendor: str=None, device_model: str=None, link_speed_in_mbps: int=None, **kwargs) -> None: + super(DeviceProperties, self).__init__(**kwargs) + self.device_vendor = device_vendor + self.device_model = device_model + self.link_speed_in_mbps = link_speed_in_mbps + + +class DhcpOptions(Model): + """DhcpOptions contains an array of DNS servers available to VMs deployed in + the virtual network. Standard DHCP option for a subnet overrides VNET DHCP + options. + + :param dns_servers: The list of DNS servers IP addresses. + :type dns_servers: list[str] + """ + + _attribute_map = { + 'dns_servers': {'key': 'dnsServers', 'type': '[str]'}, + } + + def __init__(self, *, dns_servers=None, **kwargs) -> None: + super(DhcpOptions, self).__init__(**kwargs) + self.dns_servers = dns_servers + + +class Dimension(Model): + """Dimension of the metric. + + :param name: The name of the dimension. + :type name: str + :param display_name: The display name of the dimension. + :type display_name: str + :param internal_name: The internal name of the dimension. + :type internal_name: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'internal_name': {'key': 'internalName', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, display_name: str=None, internal_name: str=None, **kwargs) -> None: + super(Dimension, self).__init__(**kwargs) + self.name = name + self.display_name = display_name + self.internal_name = internal_name + + +class DnsNameAvailabilityResult(Model): + """Response for the CheckDnsNameAvailability API service call. + + :param available: Domain availability (True/False). + :type available: bool + """ + + _attribute_map = { + 'available': {'key': 'available', 'type': 'bool'}, + } + + def __init__(self, *, available: bool=None, **kwargs) -> None: + super(DnsNameAvailabilityResult, self).__init__(**kwargs) + self.available = available + + +class EffectiveNetworkSecurityGroup(Model): + """Effective network security group. + + :param network_security_group: The ID of network security group that is + applied. + :type network_security_group: + ~azure.mgmt.network.v2020_04_01.models.SubResource + :param association: Associated resources. + :type association: + ~azure.mgmt.network.v2020_04_01.models.EffectiveNetworkSecurityGroupAssociation + :param effective_security_rules: A collection of effective security rules. + :type effective_security_rules: + list[~azure.mgmt.network.v2020_04_01.models.EffectiveNetworkSecurityRule] + :param tag_map: Mapping of tags to list of IP Addresses included within + the tag. + :type tag_map: dict[str, list[str]] + """ + + _attribute_map = { + 'network_security_group': {'key': 'networkSecurityGroup', 'type': 'SubResource'}, + 'association': {'key': 'association', 'type': 'EffectiveNetworkSecurityGroupAssociation'}, + 'effective_security_rules': {'key': 'effectiveSecurityRules', 'type': '[EffectiveNetworkSecurityRule]'}, + 'tag_map': {'key': 'tagMap', 'type': '{[str]}'}, + } + + def __init__(self, *, network_security_group=None, association=None, effective_security_rules=None, tag_map=None, **kwargs) -> None: + super(EffectiveNetworkSecurityGroup, self).__init__(**kwargs) + self.network_security_group = network_security_group + self.association = association + self.effective_security_rules = effective_security_rules + self.tag_map = tag_map + + +class EffectiveNetworkSecurityGroupAssociation(Model): + """The effective network security group association. + + :param subnet: The ID of the subnet if assigned. + :type subnet: ~azure.mgmt.network.v2020_04_01.models.SubResource + :param network_interface: The ID of the network interface if assigned. + :type network_interface: + ~azure.mgmt.network.v2020_04_01.models.SubResource + """ + + _attribute_map = { + 'subnet': {'key': 'subnet', 'type': 'SubResource'}, + 'network_interface': {'key': 'networkInterface', 'type': 'SubResource'}, + } + + def __init__(self, *, subnet=None, network_interface=None, **kwargs) -> None: + super(EffectiveNetworkSecurityGroupAssociation, self).__init__(**kwargs) + self.subnet = subnet + self.network_interface = network_interface + + +class EffectiveNetworkSecurityGroupListResult(Model): + """Response for list effective network security groups API service call. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param value: A list of effective network security groups. + :type value: + list[~azure.mgmt.network.v2020_04_01.models.EffectiveNetworkSecurityGroup] + :ivar next_link: The URL to get the next set of results. + :vartype next_link: str + """ + + _validation = { + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[EffectiveNetworkSecurityGroup]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, *, value=None, **kwargs) -> None: + super(EffectiveNetworkSecurityGroupListResult, self).__init__(**kwargs) + self.value = value + self.next_link = None + + +class EffectiveNetworkSecurityRule(Model): + """Effective network security rules. + + :param name: The name of the security rule specified by the user (if + created by the user). + :type name: str + :param protocol: The network protocol this rule applies to. Possible + values include: 'Tcp', 'Udp', 'All' + :type protocol: str or + ~azure.mgmt.network.v2020_04_01.models.EffectiveSecurityRuleProtocol + :param source_port_range: The source port or range. + :type source_port_range: str + :param destination_port_range: The destination port or range. + :type destination_port_range: str + :param source_port_ranges: The source port ranges. Expected values include + a single integer between 0 and 65535, a range using '-' as separator (e.g. + 100-400), or an asterisk (*). + :type source_port_ranges: list[str] + :param destination_port_ranges: The destination port ranges. Expected + values include a single integer between 0 and 65535, a range using '-' as + separator (e.g. 100-400), or an asterisk (*). + :type destination_port_ranges: list[str] + :param source_address_prefix: The source address prefix. + :type source_address_prefix: str + :param destination_address_prefix: The destination address prefix. + :type destination_address_prefix: str + :param source_address_prefixes: The source address prefixes. Expected + values include CIDR IP ranges, Default Tags (VirtualNetwork, + AzureLoadBalancer, Internet), System Tags, and the asterisk (*). + :type source_address_prefixes: list[str] + :param destination_address_prefixes: The destination address prefixes. + Expected values include CIDR IP ranges, Default Tags (VirtualNetwork, + AzureLoadBalancer, Internet), System Tags, and the asterisk (*). + :type destination_address_prefixes: list[str] + :param expanded_source_address_prefix: The expanded source address prefix. + :type expanded_source_address_prefix: list[str] + :param expanded_destination_address_prefix: Expanded destination address + prefix. + :type expanded_destination_address_prefix: list[str] + :param access: Whether network traffic is allowed or denied. Possible + values include: 'Allow', 'Deny' + :type access: str or + ~azure.mgmt.network.v2020_04_01.models.SecurityRuleAccess + :param priority: The priority of the rule. + :type priority: int + :param direction: The direction of the rule. Possible values include: + 'Inbound', 'Outbound' + :type direction: str or + ~azure.mgmt.network.v2020_04_01.models.SecurityRuleDirection + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'protocol': {'key': 'protocol', 'type': 'str'}, + 'source_port_range': {'key': 'sourcePortRange', 'type': 'str'}, + 'destination_port_range': {'key': 'destinationPortRange', 'type': 'str'}, + 'source_port_ranges': {'key': 'sourcePortRanges', 'type': '[str]'}, + 'destination_port_ranges': {'key': 'destinationPortRanges', 'type': '[str]'}, + 'source_address_prefix': {'key': 'sourceAddressPrefix', 'type': 'str'}, + 'destination_address_prefix': {'key': 'destinationAddressPrefix', 'type': 'str'}, + 'source_address_prefixes': {'key': 'sourceAddressPrefixes', 'type': '[str]'}, + 'destination_address_prefixes': {'key': 'destinationAddressPrefixes', 'type': '[str]'}, + 'expanded_source_address_prefix': {'key': 'expandedSourceAddressPrefix', 'type': '[str]'}, + 'expanded_destination_address_prefix': {'key': 'expandedDestinationAddressPrefix', 'type': '[str]'}, + 'access': {'key': 'access', 'type': 'str'}, + 'priority': {'key': 'priority', 'type': 'int'}, + 'direction': {'key': 'direction', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, protocol=None, source_port_range: str=None, destination_port_range: str=None, source_port_ranges=None, destination_port_ranges=None, source_address_prefix: str=None, destination_address_prefix: str=None, source_address_prefixes=None, destination_address_prefixes=None, expanded_source_address_prefix=None, expanded_destination_address_prefix=None, access=None, priority: int=None, direction=None, **kwargs) -> None: + super(EffectiveNetworkSecurityRule, self).__init__(**kwargs) + self.name = name + self.protocol = protocol + self.source_port_range = source_port_range + self.destination_port_range = destination_port_range + self.source_port_ranges = source_port_ranges + self.destination_port_ranges = destination_port_ranges + self.source_address_prefix = source_address_prefix + self.destination_address_prefix = destination_address_prefix + self.source_address_prefixes = source_address_prefixes + self.destination_address_prefixes = destination_address_prefixes + self.expanded_source_address_prefix = expanded_source_address_prefix + self.expanded_destination_address_prefix = expanded_destination_address_prefix + self.access = access + self.priority = priority + self.direction = direction + + +class EffectiveRoute(Model): + """Effective Route. + + :param name: The name of the user defined route. This is optional. + :type name: str + :param disable_bgp_route_propagation: If true, on-premises routes are not + propagated to the network interfaces in the subnet. + :type disable_bgp_route_propagation: bool + :param source: Who created the route. Possible values include: 'Unknown', + 'User', 'VirtualNetworkGateway', 'Default' + :type source: str or + ~azure.mgmt.network.v2020_04_01.models.EffectiveRouteSource + :param state: The value of effective route. Possible values include: + 'Active', 'Invalid' + :type state: str or + ~azure.mgmt.network.v2020_04_01.models.EffectiveRouteState + :param address_prefix: The address prefixes of the effective routes in + CIDR notation. + :type address_prefix: list[str] + :param next_hop_ip_address: The IP address of the next hop of the + effective route. + :type next_hop_ip_address: list[str] + :param next_hop_type: The type of Azure hop the packet should be sent to. + Possible values include: 'VirtualNetworkGateway', 'VnetLocal', 'Internet', + 'VirtualAppliance', 'None' + :type next_hop_type: str or + ~azure.mgmt.network.v2020_04_01.models.RouteNextHopType + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'disable_bgp_route_propagation': {'key': 'disableBgpRoutePropagation', 'type': 'bool'}, + 'source': {'key': 'source', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + 'address_prefix': {'key': 'addressPrefix', 'type': '[str]'}, + 'next_hop_ip_address': {'key': 'nextHopIpAddress', 'type': '[str]'}, + 'next_hop_type': {'key': 'nextHopType', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, disable_bgp_route_propagation: bool=None, source=None, state=None, address_prefix=None, next_hop_ip_address=None, next_hop_type=None, **kwargs) -> None: + super(EffectiveRoute, self).__init__(**kwargs) + self.name = name + self.disable_bgp_route_propagation = disable_bgp_route_propagation + self.source = source + self.state = state + self.address_prefix = address_prefix + self.next_hop_ip_address = next_hop_ip_address + self.next_hop_type = next_hop_type + + +class EffectiveRouteListResult(Model): + """Response for list effective route API service call. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param value: A list of effective routes. + :type value: list[~azure.mgmt.network.v2020_04_01.models.EffectiveRoute] + :ivar next_link: The URL to get the next set of results. + :vartype next_link: str + """ + + _validation = { + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[EffectiveRoute]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, *, value=None, **kwargs) -> None: + super(EffectiveRouteListResult, self).__init__(**kwargs) + self.value = value + self.next_link = None + + +class EndpointServiceResult(SubResource): + """Endpoint service. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Name of the endpoint service. + :vartype name: str + :ivar type: Type of the endpoint service. + :vartype type: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, **kwargs) -> None: + super(EndpointServiceResult, self).__init__(id=id, **kwargs) + self.name = None + self.type = None + + +class Error(Model): + """Common error representation. + + :param code: Error code. + :type code: str + :param message: Error message. + :type message: str + :param target: Error target. + :type target: str + :param details: Error details. + :type details: list[~azure.mgmt.network.v2020_04_01.models.ErrorDetails] + :param inner_error: Inner error message. + :type inner_error: str + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[ErrorDetails]'}, + 'inner_error': {'key': 'innerError', 'type': 'str'}, + } + + def __init__(self, *, code: str=None, message: str=None, target: str=None, details=None, inner_error: str=None, **kwargs) -> None: + super(Error, self).__init__(**kwargs) + self.code = code + self.message = message + self.target = target + self.details = details + self.inner_error = inner_error + + +class ErrorException(HttpOperationError): + """Server responsed with exception of type: 'Error'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(ErrorException, self).__init__(deserialize, response, 'Error', *args) + + +class ErrorDetails(Model): + """Common error details representation. + + :param code: Error code. + :type code: str + :param target: Error target. + :type target: str + :param message: Error message. + :type message: str + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__(self, *, code: str=None, target: str=None, message: str=None, **kwargs) -> None: + super(ErrorDetails, self).__init__(**kwargs) + self.code = code + self.target = target + self.message = message + + +class ErrorResponse(Model): + """The error object. + + :param error: Error. The error details object. + :type error: ~azure.mgmt.network.v2020_04_01.models.ErrorDetails + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'ErrorDetails'}, + } + + def __init__(self, *, error=None, **kwargs) -> None: + super(ErrorResponse, self).__init__(**kwargs) + self.error = error + + +class ErrorResponseException(HttpOperationError): + """Server responsed with exception of type: 'ErrorResponse'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(ErrorResponseException, self).__init__(deserialize, response, 'ErrorResponse', *args) + + +class EvaluatedNetworkSecurityGroup(Model): + """Results of network security group evaluation. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param network_security_group_id: Network security group ID. + :type network_security_group_id: str + :param applied_to: Resource ID of nic or subnet to which network security + group is applied. + :type applied_to: str + :param matched_rule: Matched network security rule. + :type matched_rule: ~azure.mgmt.network.v2020_04_01.models.MatchedRule + :ivar rules_evaluation_result: List of network security rules evaluation + results. + :vartype rules_evaluation_result: + list[~azure.mgmt.network.v2020_04_01.models.NetworkSecurityRulesEvaluationResult] + """ + + _validation = { + 'rules_evaluation_result': {'readonly': True}, + } + + _attribute_map = { + 'network_security_group_id': {'key': 'networkSecurityGroupId', 'type': 'str'}, + 'applied_to': {'key': 'appliedTo', 'type': 'str'}, + 'matched_rule': {'key': 'matchedRule', 'type': 'MatchedRule'}, + 'rules_evaluation_result': {'key': 'rulesEvaluationResult', 'type': '[NetworkSecurityRulesEvaluationResult]'}, + } + + def __init__(self, *, network_security_group_id: str=None, applied_to: str=None, matched_rule=None, **kwargs) -> None: + super(EvaluatedNetworkSecurityGroup, self).__init__(**kwargs) + self.network_security_group_id = network_security_group_id + self.applied_to = applied_to + self.matched_rule = matched_rule + self.rules_evaluation_result = None + + +class ExpressRouteCircuit(Resource): + """ExpressRouteCircuit resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param sku: The SKU. + :type sku: ~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitSku + :param allow_classic_operations: Allow classic operations. + :type allow_classic_operations: bool + :param circuit_provisioning_state: The CircuitProvisioningState state of + the resource. + :type circuit_provisioning_state: str + :param service_provider_provisioning_state: The + ServiceProviderProvisioningState state of the resource. Possible values + include: 'NotProvisioned', 'Provisioning', 'Provisioned', 'Deprovisioning' + :type service_provider_provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ServiceProviderProvisioningState + :param authorizations: The list of authorizations. + :type authorizations: + list[~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitAuthorization] + :param peerings: The list of peerings. + :type peerings: + list[~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitPeering] + :param service_key: The ServiceKey. + :type service_key: str + :param service_provider_notes: The ServiceProviderNotes. + :type service_provider_notes: str + :param service_provider_properties: The ServiceProviderProperties. + :type service_provider_properties: + ~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitServiceProviderProperties + :param express_route_port: The reference to the ExpressRoutePort resource + when the circuit is provisioned on an ExpressRoutePort resource. + :type express_route_port: + ~azure.mgmt.network.v2020_04_01.models.SubResource + :param bandwidth_in_gbps: The bandwidth of the circuit when the circuit is + provisioned on an ExpressRoutePort resource. + :type bandwidth_in_gbps: float + :ivar stag: The identifier of the circuit traffic. Outer tag for QinQ + encapsulation. + :vartype stag: int + :ivar provisioning_state: The provisioning state of the express route + circuit resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param gateway_manager_etag: The GatewayManager Etag. + :type gateway_manager_etag: str + :param global_reach_enabled: Flag denoting global reach status. + :type global_reach_enabled: bool + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'stag': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'sku': {'key': 'sku', 'type': 'ExpressRouteCircuitSku'}, + 'allow_classic_operations': {'key': 'properties.allowClassicOperations', 'type': 'bool'}, + 'circuit_provisioning_state': {'key': 'properties.circuitProvisioningState', 'type': 'str'}, + 'service_provider_provisioning_state': {'key': 'properties.serviceProviderProvisioningState', 'type': 'str'}, + 'authorizations': {'key': 'properties.authorizations', 'type': '[ExpressRouteCircuitAuthorization]'}, + 'peerings': {'key': 'properties.peerings', 'type': '[ExpressRouteCircuitPeering]'}, + 'service_key': {'key': 'properties.serviceKey', 'type': 'str'}, + 'service_provider_notes': {'key': 'properties.serviceProviderNotes', 'type': 'str'}, + 'service_provider_properties': {'key': 'properties.serviceProviderProperties', 'type': 'ExpressRouteCircuitServiceProviderProperties'}, + 'express_route_port': {'key': 'properties.expressRoutePort', 'type': 'SubResource'}, + 'bandwidth_in_gbps': {'key': 'properties.bandwidthInGbps', 'type': 'float'}, + 'stag': {'key': 'properties.stag', 'type': 'int'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'gateway_manager_etag': {'key': 'properties.gatewayManagerEtag', 'type': 'str'}, + 'global_reach_enabled': {'key': 'properties.globalReachEnabled', 'type': 'bool'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, sku=None, allow_classic_operations: bool=None, circuit_provisioning_state: str=None, service_provider_provisioning_state=None, authorizations=None, peerings=None, service_key: str=None, service_provider_notes: str=None, service_provider_properties=None, express_route_port=None, bandwidth_in_gbps: float=None, gateway_manager_etag: str=None, global_reach_enabled: bool=None, **kwargs) -> None: + super(ExpressRouteCircuit, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.sku = sku + self.allow_classic_operations = allow_classic_operations + self.circuit_provisioning_state = circuit_provisioning_state + self.service_provider_provisioning_state = service_provider_provisioning_state + self.authorizations = authorizations + self.peerings = peerings + self.service_key = service_key + self.service_provider_notes = service_provider_notes + self.service_provider_properties = service_provider_properties + self.express_route_port = express_route_port + self.bandwidth_in_gbps = bandwidth_in_gbps + self.stag = None + self.provisioning_state = None + self.gateway_manager_etag = gateway_manager_etag + self.global_reach_enabled = global_reach_enabled + self.etag = None + + +class ExpressRouteCircuitArpTable(Model): + """The ARP table associated with the ExpressRouteCircuit. + + :param age: Entry age in minutes. + :type age: int + :param interface: Interface address. + :type interface: str + :param ip_address: The IP address. + :type ip_address: str + :param mac_address: The MAC address. + :type mac_address: str + """ + + _attribute_map = { + 'age': {'key': 'age', 'type': 'int'}, + 'interface': {'key': 'interface', 'type': 'str'}, + 'ip_address': {'key': 'ipAddress', 'type': 'str'}, + 'mac_address': {'key': 'macAddress', 'type': 'str'}, + } + + def __init__(self, *, age: int=None, interface: str=None, ip_address: str=None, mac_address: str=None, **kwargs) -> None: + super(ExpressRouteCircuitArpTable, self).__init__(**kwargs) + self.age = age + self.interface = interface + self.ip_address = ip_address + self.mac_address = mac_address + + +class ExpressRouteCircuitAuthorization(SubResource): + """Authorization in an ExpressRouteCircuit resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param authorization_key: The authorization key. + :type authorization_key: str + :param authorization_use_status: The authorization use status. Possible + values include: 'Available', 'InUse' + :type authorization_use_status: str or + ~azure.mgmt.network.v2020_04_01.models.AuthorizationUseStatus + :ivar provisioning_state: The provisioning state of the authorization + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'authorization_key': {'key': 'properties.authorizationKey', 'type': 'str'}, + 'authorization_use_status': {'key': 'properties.authorizationUseStatus', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, authorization_key: str=None, authorization_use_status=None, name: str=None, **kwargs) -> None: + super(ExpressRouteCircuitAuthorization, self).__init__(id=id, **kwargs) + self.authorization_key = authorization_key + self.authorization_use_status = authorization_use_status + self.provisioning_state = None + self.name = name + self.etag = None + self.type = None + + +class ExpressRouteCircuitConnection(SubResource): + """Express Route Circuit Connection in an ExpressRouteCircuitPeering resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param express_route_circuit_peering: Reference to Express Route Circuit + Private Peering Resource of the circuit initiating connection. + :type express_route_circuit_peering: + ~azure.mgmt.network.v2020_04_01.models.SubResource + :param peer_express_route_circuit_peering: Reference to Express Route + Circuit Private Peering Resource of the peered circuit. + :type peer_express_route_circuit_peering: + ~azure.mgmt.network.v2020_04_01.models.SubResource + :param address_prefix: /29 IP address space to carve out Customer + addresses for tunnels. + :type address_prefix: str + :param authorization_key: The authorization key. + :type authorization_key: str + :param ipv6_circuit_connection_config: IPv6 Address PrefixProperties of + the express route circuit connection. + :type ipv6_circuit_connection_config: + ~azure.mgmt.network.v2020_04_01.models.Ipv6CircuitConnectionConfig + :param circuit_connection_status: Express Route Circuit connection state. + Possible values include: 'Connected', 'Connecting', 'Disconnected' + :type circuit_connection_status: str or + ~azure.mgmt.network.v2020_04_01.models.CircuitConnectionStatus + :ivar provisioning_state: The provisioning state of the express route + circuit connection resource. Possible values include: 'Succeeded', + 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'express_route_circuit_peering': {'key': 'properties.expressRouteCircuitPeering', 'type': 'SubResource'}, + 'peer_express_route_circuit_peering': {'key': 'properties.peerExpressRouteCircuitPeering', 'type': 'SubResource'}, + 'address_prefix': {'key': 'properties.addressPrefix', 'type': 'str'}, + 'authorization_key': {'key': 'properties.authorizationKey', 'type': 'str'}, + 'ipv6_circuit_connection_config': {'key': 'properties.ipv6CircuitConnectionConfig', 'type': 'Ipv6CircuitConnectionConfig'}, + 'circuit_connection_status': {'key': 'properties.circuitConnectionStatus', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, express_route_circuit_peering=None, peer_express_route_circuit_peering=None, address_prefix: str=None, authorization_key: str=None, ipv6_circuit_connection_config=None, circuit_connection_status=None, name: str=None, **kwargs) -> None: + super(ExpressRouteCircuitConnection, self).__init__(id=id, **kwargs) + self.express_route_circuit_peering = express_route_circuit_peering + self.peer_express_route_circuit_peering = peer_express_route_circuit_peering + self.address_prefix = address_prefix + self.authorization_key = authorization_key + self.ipv6_circuit_connection_config = ipv6_circuit_connection_config + self.circuit_connection_status = circuit_connection_status + self.provisioning_state = None + self.name = name + self.etag = None + self.type = None + + +class ExpressRouteCircuitPeering(SubResource): + """Peering in an ExpressRouteCircuit resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param peering_type: The peering type. Possible values include: + 'AzurePublicPeering', 'AzurePrivatePeering', 'MicrosoftPeering' + :type peering_type: str or + ~azure.mgmt.network.v2020_04_01.models.ExpressRoutePeeringType + :param state: The peering state. Possible values include: 'Disabled', + 'Enabled' + :type state: str or + ~azure.mgmt.network.v2020_04_01.models.ExpressRoutePeeringState + :param azure_asn: The Azure ASN. + :type azure_asn: int + :param peer_asn: The peer ASN. + :type peer_asn: long + :param primary_peer_address_prefix: The primary address prefix. + :type primary_peer_address_prefix: str + :param secondary_peer_address_prefix: The secondary address prefix. + :type secondary_peer_address_prefix: str + :param primary_azure_port: The primary port. + :type primary_azure_port: str + :param secondary_azure_port: The secondary port. + :type secondary_azure_port: str + :param shared_key: The shared key. + :type shared_key: str + :param vlan_id: The VLAN ID. + :type vlan_id: int + :param microsoft_peering_config: The Microsoft peering configuration. + :type microsoft_peering_config: + ~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitPeeringConfig + :param stats: The peering stats of express route circuit. + :type stats: + ~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitStats + :ivar provisioning_state: The provisioning state of the express route + circuit peering resource. Possible values include: 'Succeeded', + 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param gateway_manager_etag: The GatewayManager Etag. + :type gateway_manager_etag: str + :ivar last_modified_by: Who was the last to modify the peering. + :vartype last_modified_by: str + :param route_filter: The reference to the RouteFilter resource. + :type route_filter: ~azure.mgmt.network.v2020_04_01.models.SubResource + :param ipv6_peering_config: The IPv6 peering configuration. + :type ipv6_peering_config: + ~azure.mgmt.network.v2020_04_01.models.Ipv6ExpressRouteCircuitPeeringConfig + :param express_route_connection: The ExpressRoute connection. + :type express_route_connection: + ~azure.mgmt.network.v2020_04_01.models.ExpressRouteConnectionId + :param connections: The list of circuit connections associated with Azure + Private Peering for this circuit. + :type connections: + list[~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitConnection] + :ivar peered_connections: The list of peered circuit connections + associated with Azure Private Peering for this circuit. + :vartype peered_connections: + list[~azure.mgmt.network.v2020_04_01.models.PeerExpressRouteCircuitConnection] + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'peer_asn': {'maximum': 4294967295, 'minimum': 1}, + 'provisioning_state': {'readonly': True}, + 'last_modified_by': {'readonly': True}, + 'peered_connections': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'peering_type': {'key': 'properties.peeringType', 'type': 'str'}, + 'state': {'key': 'properties.state', 'type': 'str'}, + 'azure_asn': {'key': 'properties.azureASN', 'type': 'int'}, + 'peer_asn': {'key': 'properties.peerASN', 'type': 'long'}, + 'primary_peer_address_prefix': {'key': 'properties.primaryPeerAddressPrefix', 'type': 'str'}, + 'secondary_peer_address_prefix': {'key': 'properties.secondaryPeerAddressPrefix', 'type': 'str'}, + 'primary_azure_port': {'key': 'properties.primaryAzurePort', 'type': 'str'}, + 'secondary_azure_port': {'key': 'properties.secondaryAzurePort', 'type': 'str'}, + 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, + 'vlan_id': {'key': 'properties.vlanId', 'type': 'int'}, + 'microsoft_peering_config': {'key': 'properties.microsoftPeeringConfig', 'type': 'ExpressRouteCircuitPeeringConfig'}, + 'stats': {'key': 'properties.stats', 'type': 'ExpressRouteCircuitStats'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'gateway_manager_etag': {'key': 'properties.gatewayManagerEtag', 'type': 'str'}, + 'last_modified_by': {'key': 'properties.lastModifiedBy', 'type': 'str'}, + 'route_filter': {'key': 'properties.routeFilter', 'type': 'SubResource'}, + 'ipv6_peering_config': {'key': 'properties.ipv6PeeringConfig', 'type': 'Ipv6ExpressRouteCircuitPeeringConfig'}, + 'express_route_connection': {'key': 'properties.expressRouteConnection', 'type': 'ExpressRouteConnectionId'}, + 'connections': {'key': 'properties.connections', 'type': '[ExpressRouteCircuitConnection]'}, + 'peered_connections': {'key': 'properties.peeredConnections', 'type': '[PeerExpressRouteCircuitConnection]'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, peering_type=None, state=None, azure_asn: int=None, peer_asn: int=None, primary_peer_address_prefix: str=None, secondary_peer_address_prefix: str=None, primary_azure_port: str=None, secondary_azure_port: str=None, shared_key: str=None, vlan_id: int=None, microsoft_peering_config=None, stats=None, gateway_manager_etag: str=None, route_filter=None, ipv6_peering_config=None, express_route_connection=None, connections=None, name: str=None, **kwargs) -> None: + super(ExpressRouteCircuitPeering, self).__init__(id=id, **kwargs) + self.peering_type = peering_type + self.state = state + self.azure_asn = azure_asn + self.peer_asn = peer_asn + self.primary_peer_address_prefix = primary_peer_address_prefix + self.secondary_peer_address_prefix = secondary_peer_address_prefix + self.primary_azure_port = primary_azure_port + self.secondary_azure_port = secondary_azure_port + self.shared_key = shared_key + self.vlan_id = vlan_id + self.microsoft_peering_config = microsoft_peering_config + self.stats = stats + self.provisioning_state = None + self.gateway_manager_etag = gateway_manager_etag + self.last_modified_by = None + self.route_filter = route_filter + self.ipv6_peering_config = ipv6_peering_config + self.express_route_connection = express_route_connection + self.connections = connections + self.peered_connections = None + self.name = name + self.etag = None + self.type = None + + +class ExpressRouteCircuitPeeringConfig(Model): + """Specifies the peering configuration. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param advertised_public_prefixes: The reference to + AdvertisedPublicPrefixes. + :type advertised_public_prefixes: list[str] + :param advertised_communities: The communities of bgp peering. Specified + for microsoft peering. + :type advertised_communities: list[str] + :ivar advertised_public_prefixes_state: The advertised public prefix state + of the Peering resource. Possible values include: 'NotConfigured', + 'Configuring', 'Configured', 'ValidationNeeded' + :vartype advertised_public_prefixes_state: str or + ~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitPeeringAdvertisedPublicPrefixState + :param legacy_mode: The legacy mode of the peering. + :type legacy_mode: int + :param customer_asn: The CustomerASN of the peering. + :type customer_asn: int + :param routing_registry_name: The RoutingRegistryName of the + configuration. + :type routing_registry_name: str + """ + + _validation = { + 'advertised_public_prefixes_state': {'readonly': True}, + } + + _attribute_map = { + 'advertised_public_prefixes': {'key': 'advertisedPublicPrefixes', 'type': '[str]'}, + 'advertised_communities': {'key': 'advertisedCommunities', 'type': '[str]'}, + 'advertised_public_prefixes_state': {'key': 'advertisedPublicPrefixesState', 'type': 'str'}, + 'legacy_mode': {'key': 'legacyMode', 'type': 'int'}, + 'customer_asn': {'key': 'customerASN', 'type': 'int'}, + 'routing_registry_name': {'key': 'routingRegistryName', 'type': 'str'}, + } + + def __init__(self, *, advertised_public_prefixes=None, advertised_communities=None, legacy_mode: int=None, customer_asn: int=None, routing_registry_name: str=None, **kwargs) -> None: + super(ExpressRouteCircuitPeeringConfig, self).__init__(**kwargs) + self.advertised_public_prefixes = advertised_public_prefixes + self.advertised_communities = advertised_communities + self.advertised_public_prefixes_state = None + self.legacy_mode = legacy_mode + self.customer_asn = customer_asn + self.routing_registry_name = routing_registry_name + + +class ExpressRouteCircuitPeeringId(Model): + """ExpressRoute circuit peering identifier. + + :param id: The ID of the ExpressRoute circuit peering. + :type id: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, **kwargs) -> None: + super(ExpressRouteCircuitPeeringId, self).__init__(**kwargs) + self.id = id + + +class ExpressRouteCircuitReference(Model): + """Reference to an express route circuit. + + :param id: Corresponding Express Route Circuit Id. + :type id: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, **kwargs) -> None: + super(ExpressRouteCircuitReference, self).__init__(**kwargs) + self.id = id + + +class ExpressRouteCircuitRoutesTable(Model): + """The routes table associated with the ExpressRouteCircuit. + + :param network: IP address of a network entity. + :type network: str + :param next_hop: NextHop address. + :type next_hop: str + :param loc_prf: Local preference value as set with the set + local-preference route-map configuration command. + :type loc_prf: str + :param weight: Route Weight. + :type weight: int + :param path: Autonomous system paths to the destination network. + :type path: str + """ + + _attribute_map = { + 'network': {'key': 'network', 'type': 'str'}, + 'next_hop': {'key': 'nextHop', 'type': 'str'}, + 'loc_prf': {'key': 'locPrf', 'type': 'str'}, + 'weight': {'key': 'weight', 'type': 'int'}, + 'path': {'key': 'path', 'type': 'str'}, + } + + def __init__(self, *, network: str=None, next_hop: str=None, loc_prf: str=None, weight: int=None, path: str=None, **kwargs) -> None: + super(ExpressRouteCircuitRoutesTable, self).__init__(**kwargs) + self.network = network + self.next_hop = next_hop + self.loc_prf = loc_prf + self.weight = weight + self.path = path + + +class ExpressRouteCircuitRoutesTableSummary(Model): + """The routes table associated with the ExpressRouteCircuit. + + :param neighbor: IP address of the neighbor. + :type neighbor: str + :param v: BGP version number spoken to the neighbor. + :type v: int + :param as_property: Autonomous system number. + :type as_property: int + :param up_down: The length of time that the BGP session has been in the + Established state, or the current status if not in the Established state. + :type up_down: str + :param state_pfx_rcd: Current state of the BGP session, and the number of + prefixes that have been received from a neighbor or peer group. + :type state_pfx_rcd: str + """ + + _attribute_map = { + 'neighbor': {'key': 'neighbor', 'type': 'str'}, + 'v': {'key': 'v', 'type': 'int'}, + 'as_property': {'key': 'as', 'type': 'int'}, + 'up_down': {'key': 'upDown', 'type': 'str'}, + 'state_pfx_rcd': {'key': 'statePfxRcd', 'type': 'str'}, + } + + def __init__(self, *, neighbor: str=None, v: int=None, as_property: int=None, up_down: str=None, state_pfx_rcd: str=None, **kwargs) -> None: + super(ExpressRouteCircuitRoutesTableSummary, self).__init__(**kwargs) + self.neighbor = neighbor + self.v = v + self.as_property = as_property + self.up_down = up_down + self.state_pfx_rcd = state_pfx_rcd + + +class ExpressRouteCircuitsArpTableListResult(Model): + """Response for ListArpTable associated with the Express Route Circuits API. + + :param value: A list of the ARP tables. + :type value: + list[~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitArpTable] + :param next_link: The URL to get the next set of results. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ExpressRouteCircuitArpTable]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, *, value=None, next_link: str=None, **kwargs) -> None: + super(ExpressRouteCircuitsArpTableListResult, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class ExpressRouteCircuitServiceProviderProperties(Model): + """Contains ServiceProviderProperties in an ExpressRouteCircuit. + + :param service_provider_name: The serviceProviderName. + :type service_provider_name: str + :param peering_location: The peering location. + :type peering_location: str + :param bandwidth_in_mbps: The BandwidthInMbps. + :type bandwidth_in_mbps: int + """ + + _attribute_map = { + 'service_provider_name': {'key': 'serviceProviderName', 'type': 'str'}, + 'peering_location': {'key': 'peeringLocation', 'type': 'str'}, + 'bandwidth_in_mbps': {'key': 'bandwidthInMbps', 'type': 'int'}, + } + + def __init__(self, *, service_provider_name: str=None, peering_location: str=None, bandwidth_in_mbps: int=None, **kwargs) -> None: + super(ExpressRouteCircuitServiceProviderProperties, self).__init__(**kwargs) + self.service_provider_name = service_provider_name + self.peering_location = peering_location + self.bandwidth_in_mbps = bandwidth_in_mbps + + +class ExpressRouteCircuitSku(Model): + """Contains SKU in an ExpressRouteCircuit. + + :param name: The name of the SKU. + :type name: str + :param tier: The tier of the SKU. Possible values include: 'Standard', + 'Premium', 'Basic', 'Local' + :type tier: str or + ~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitSkuTier + :param family: The family of the SKU. Possible values include: + 'UnlimitedData', 'MeteredData' + :type family: str or + ~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitSkuFamily + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + 'family': {'key': 'family', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, tier=None, family=None, **kwargs) -> None: + super(ExpressRouteCircuitSku, self).__init__(**kwargs) + self.name = name + self.tier = tier + self.family = family + + +class ExpressRouteCircuitsRoutesTableListResult(Model): + """Response for ListRoutesTable associated with the Express Route Circuits + API. + + :param value: The list of routes table. + :type value: + list[~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitRoutesTable] + :param next_link: The URL to get the next set of results. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ExpressRouteCircuitRoutesTable]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, *, value=None, next_link: str=None, **kwargs) -> None: + super(ExpressRouteCircuitsRoutesTableListResult, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class ExpressRouteCircuitsRoutesTableSummaryListResult(Model): + """Response for ListRoutesTable associated with the Express Route Circuits + API. + + :param value: A list of the routes table. + :type value: + list[~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitRoutesTableSummary] + :param next_link: The URL to get the next set of results. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ExpressRouteCircuitRoutesTableSummary]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, *, value=None, next_link: str=None, **kwargs) -> None: + super(ExpressRouteCircuitsRoutesTableSummaryListResult, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class ExpressRouteCircuitStats(Model): + """Contains stats associated with the peering. + + :param primarybytes_in: The Primary BytesIn of the peering. + :type primarybytes_in: long + :param primarybytes_out: The primary BytesOut of the peering. + :type primarybytes_out: long + :param secondarybytes_in: The secondary BytesIn of the peering. + :type secondarybytes_in: long + :param secondarybytes_out: The secondary BytesOut of the peering. + :type secondarybytes_out: long + """ + + _attribute_map = { + 'primarybytes_in': {'key': 'primarybytesIn', 'type': 'long'}, + 'primarybytes_out': {'key': 'primarybytesOut', 'type': 'long'}, + 'secondarybytes_in': {'key': 'secondarybytesIn', 'type': 'long'}, + 'secondarybytes_out': {'key': 'secondarybytesOut', 'type': 'long'}, + } + + def __init__(self, *, primarybytes_in: int=None, primarybytes_out: int=None, secondarybytes_in: int=None, secondarybytes_out: int=None, **kwargs) -> None: + super(ExpressRouteCircuitStats, self).__init__(**kwargs) + self.primarybytes_in = primarybytes_in + self.primarybytes_out = primarybytes_out + self.secondarybytes_in = secondarybytes_in + self.secondarybytes_out = secondarybytes_out + + +class ExpressRouteConnection(SubResource): + """ExpressRouteConnection resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :ivar provisioning_state: The provisioning state of the express route + connection resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param express_route_circuit_peering: Required. The ExpressRoute circuit + peering. + :type express_route_circuit_peering: + ~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitPeeringId + :param authorization_key: Authorization key to establish the connection. + :type authorization_key: str + :param routing_weight: The routing weight associated to the connection. + :type routing_weight: int + :param enable_internet_security: Enable internet security. + :type enable_internet_security: bool + :param routing_configuration: The Routing Configuration indicating the + associated and propagated route tables on this connection. + :type routing_configuration: + ~azure.mgmt.network.v2020_04_01.models.RoutingConfiguration + :param name: Required. The name of the resource. + :type name: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'express_route_circuit_peering': {'required': True}, + 'name': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'express_route_circuit_peering': {'key': 'properties.expressRouteCircuitPeering', 'type': 'ExpressRouteCircuitPeeringId'}, + 'authorization_key': {'key': 'properties.authorizationKey', 'type': 'str'}, + 'routing_weight': {'key': 'properties.routingWeight', 'type': 'int'}, + 'enable_internet_security': {'key': 'properties.enableInternetSecurity', 'type': 'bool'}, + 'routing_configuration': {'key': 'properties.routingConfiguration', 'type': 'RoutingConfiguration'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, *, express_route_circuit_peering, name: str, id: str=None, authorization_key: str=None, routing_weight: int=None, enable_internet_security: bool=None, routing_configuration=None, **kwargs) -> None: + super(ExpressRouteConnection, self).__init__(id=id, **kwargs) + self.provisioning_state = None + self.express_route_circuit_peering = express_route_circuit_peering + self.authorization_key = authorization_key + self.routing_weight = routing_weight + self.enable_internet_security = enable_internet_security + self.routing_configuration = routing_configuration + self.name = name + + +class ExpressRouteConnectionId(Model): + """The ID of the ExpressRouteConnection. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: The ID of the ExpressRouteConnection. + :vartype id: str + """ + + _validation = { + 'id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(ExpressRouteConnectionId, self).__init__(**kwargs) + self.id = None + + +class ExpressRouteConnectionList(Model): + """ExpressRouteConnection list. + + :param value: The list of ExpressRoute connections. + :type value: + list[~azure.mgmt.network.v2020_04_01.models.ExpressRouteConnection] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ExpressRouteConnection]'}, + } + + def __init__(self, *, value=None, **kwargs) -> None: + super(ExpressRouteConnectionList, self).__init__(**kwargs) + self.value = value + + +class ExpressRouteCrossConnection(Resource): + """ExpressRouteCrossConnection resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar primary_azure_port: The name of the primary port. + :vartype primary_azure_port: str + :ivar secondary_azure_port: The name of the secondary port. + :vartype secondary_azure_port: str + :ivar s_tag: The identifier of the circuit traffic. + :vartype s_tag: int + :param peering_location: The peering location of the ExpressRoute circuit. + :type peering_location: str + :param bandwidth_in_mbps: The circuit bandwidth In Mbps. + :type bandwidth_in_mbps: int + :param express_route_circuit: The ExpressRouteCircuit. + :type express_route_circuit: + ~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitReference + :param service_provider_provisioning_state: The provisioning state of the + circuit in the connectivity provider system. Possible values include: + 'NotProvisioned', 'Provisioning', 'Provisioned', 'Deprovisioning' + :type service_provider_provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ServiceProviderProvisioningState + :param service_provider_notes: Additional read only notes set by the + connectivity provider. + :type service_provider_notes: str + :ivar provisioning_state: The provisioning state of the express route + cross connection resource. Possible values include: 'Succeeded', + 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param peerings: The list of peerings. + :type peerings: + list[~azure.mgmt.network.v2020_04_01.models.ExpressRouteCrossConnectionPeering] + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'primary_azure_port': {'readonly': True}, + 'secondary_azure_port': {'readonly': True}, + 's_tag': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'primary_azure_port': {'key': 'properties.primaryAzurePort', 'type': 'str'}, + 'secondary_azure_port': {'key': 'properties.secondaryAzurePort', 'type': 'str'}, + 's_tag': {'key': 'properties.sTag', 'type': 'int'}, + 'peering_location': {'key': 'properties.peeringLocation', 'type': 'str'}, + 'bandwidth_in_mbps': {'key': 'properties.bandwidthInMbps', 'type': 'int'}, + 'express_route_circuit': {'key': 'properties.expressRouteCircuit', 'type': 'ExpressRouteCircuitReference'}, + 'service_provider_provisioning_state': {'key': 'properties.serviceProviderProvisioningState', 'type': 'str'}, + 'service_provider_notes': {'key': 'properties.serviceProviderNotes', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'peerings': {'key': 'properties.peerings', 'type': '[ExpressRouteCrossConnectionPeering]'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, peering_location: str=None, bandwidth_in_mbps: int=None, express_route_circuit=None, service_provider_provisioning_state=None, service_provider_notes: str=None, peerings=None, **kwargs) -> None: + super(ExpressRouteCrossConnection, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.primary_azure_port = None + self.secondary_azure_port = None + self.s_tag = None + self.peering_location = peering_location + self.bandwidth_in_mbps = bandwidth_in_mbps + self.express_route_circuit = express_route_circuit + self.service_provider_provisioning_state = service_provider_provisioning_state + self.service_provider_notes = service_provider_notes + self.provisioning_state = None + self.peerings = peerings + self.etag = None + + +class ExpressRouteCrossConnectionPeering(SubResource): + """Peering in an ExpressRoute Cross Connection resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param peering_type: The peering type. Possible values include: + 'AzurePublicPeering', 'AzurePrivatePeering', 'MicrosoftPeering' + :type peering_type: str or + ~azure.mgmt.network.v2020_04_01.models.ExpressRoutePeeringType + :param state: The peering state. Possible values include: 'Disabled', + 'Enabled' + :type state: str or + ~azure.mgmt.network.v2020_04_01.models.ExpressRoutePeeringState + :ivar azure_asn: The Azure ASN. + :vartype azure_asn: int + :param peer_asn: The peer ASN. + :type peer_asn: long + :param primary_peer_address_prefix: The primary address prefix. + :type primary_peer_address_prefix: str + :param secondary_peer_address_prefix: The secondary address prefix. + :type secondary_peer_address_prefix: str + :ivar primary_azure_port: The primary port. + :vartype primary_azure_port: str + :ivar secondary_azure_port: The secondary port. + :vartype secondary_azure_port: str + :param shared_key: The shared key. + :type shared_key: str + :param vlan_id: The VLAN ID. + :type vlan_id: int + :param microsoft_peering_config: The Microsoft peering configuration. + :type microsoft_peering_config: + ~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitPeeringConfig + :ivar provisioning_state: The provisioning state of the express route + cross connection peering resource. Possible values include: 'Succeeded', + 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param gateway_manager_etag: The GatewayManager Etag. + :type gateway_manager_etag: str + :ivar last_modified_by: Who was the last to modify the peering. + :vartype last_modified_by: str + :param ipv6_peering_config: The IPv6 peering configuration. + :type ipv6_peering_config: + ~azure.mgmt.network.v2020_04_01.models.Ipv6ExpressRouteCircuitPeeringConfig + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'azure_asn': {'readonly': True}, + 'peer_asn': {'maximum': 4294967295, 'minimum': 1}, + 'primary_azure_port': {'readonly': True}, + 'secondary_azure_port': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'last_modified_by': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'peering_type': {'key': 'properties.peeringType', 'type': 'str'}, + 'state': {'key': 'properties.state', 'type': 'str'}, + 'azure_asn': {'key': 'properties.azureASN', 'type': 'int'}, + 'peer_asn': {'key': 'properties.peerASN', 'type': 'long'}, + 'primary_peer_address_prefix': {'key': 'properties.primaryPeerAddressPrefix', 'type': 'str'}, + 'secondary_peer_address_prefix': {'key': 'properties.secondaryPeerAddressPrefix', 'type': 'str'}, + 'primary_azure_port': {'key': 'properties.primaryAzurePort', 'type': 'str'}, + 'secondary_azure_port': {'key': 'properties.secondaryAzurePort', 'type': 'str'}, + 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, + 'vlan_id': {'key': 'properties.vlanId', 'type': 'int'}, + 'microsoft_peering_config': {'key': 'properties.microsoftPeeringConfig', 'type': 'ExpressRouteCircuitPeeringConfig'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'gateway_manager_etag': {'key': 'properties.gatewayManagerEtag', 'type': 'str'}, + 'last_modified_by': {'key': 'properties.lastModifiedBy', 'type': 'str'}, + 'ipv6_peering_config': {'key': 'properties.ipv6PeeringConfig', 'type': 'Ipv6ExpressRouteCircuitPeeringConfig'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, peering_type=None, state=None, peer_asn: int=None, primary_peer_address_prefix: str=None, secondary_peer_address_prefix: str=None, shared_key: str=None, vlan_id: int=None, microsoft_peering_config=None, gateway_manager_etag: str=None, ipv6_peering_config=None, name: str=None, **kwargs) -> None: + super(ExpressRouteCrossConnectionPeering, self).__init__(id=id, **kwargs) + self.peering_type = peering_type + self.state = state + self.azure_asn = None + self.peer_asn = peer_asn + self.primary_peer_address_prefix = primary_peer_address_prefix + self.secondary_peer_address_prefix = secondary_peer_address_prefix + self.primary_azure_port = None + self.secondary_azure_port = None + self.shared_key = shared_key + self.vlan_id = vlan_id + self.microsoft_peering_config = microsoft_peering_config + self.provisioning_state = None + self.gateway_manager_etag = gateway_manager_etag + self.last_modified_by = None + self.ipv6_peering_config = ipv6_peering_config + self.name = name + self.etag = None + + +class ExpressRouteCrossConnectionRoutesTableSummary(Model): + """The routes table associated with the ExpressRouteCircuit. + + :param neighbor: IP address of Neighbor router. + :type neighbor: str + :param asn: Autonomous system number. + :type asn: int + :param up_down: The length of time that the BGP session has been in the + Established state, or the current status if not in the Established state. + :type up_down: str + :param state_or_prefixes_received: Current state of the BGP session, and + the number of prefixes that have been received from a neighbor or peer + group. + :type state_or_prefixes_received: str + """ + + _attribute_map = { + 'neighbor': {'key': 'neighbor', 'type': 'str'}, + 'asn': {'key': 'asn', 'type': 'int'}, + 'up_down': {'key': 'upDown', 'type': 'str'}, + 'state_or_prefixes_received': {'key': 'stateOrPrefixesReceived', 'type': 'str'}, + } + + def __init__(self, *, neighbor: str=None, asn: int=None, up_down: str=None, state_or_prefixes_received: str=None, **kwargs) -> None: + super(ExpressRouteCrossConnectionRoutesTableSummary, self).__init__(**kwargs) + self.neighbor = neighbor + self.asn = asn + self.up_down = up_down + self.state_or_prefixes_received = state_or_prefixes_received + + +class ExpressRouteCrossConnectionsRoutesTableSummaryListResult(Model): + """Response for ListRoutesTable associated with the Express Route Cross + Connections. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param value: A list of the routes table. + :type value: + list[~azure.mgmt.network.v2020_04_01.models.ExpressRouteCrossConnectionRoutesTableSummary] + :ivar next_link: The URL to get the next set of results. + :vartype next_link: str + """ + + _validation = { + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ExpressRouteCrossConnectionRoutesTableSummary]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, *, value=None, **kwargs) -> None: + super(ExpressRouteCrossConnectionsRoutesTableSummaryListResult, self).__init__(**kwargs) + self.value = value + self.next_link = None + + +class ExpressRouteGateway(Resource): + """ExpressRoute gateway resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param auto_scale_configuration: Configuration for auto scaling. + :type auto_scale_configuration: + ~azure.mgmt.network.v2020_04_01.models.ExpressRouteGatewayPropertiesAutoScaleConfiguration + :ivar express_route_connections: List of ExpressRoute connections to the + ExpressRoute gateway. + :vartype express_route_connections: + list[~azure.mgmt.network.v2020_04_01.models.ExpressRouteConnection] + :ivar provisioning_state: The provisioning state of the express route + gateway resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param virtual_hub: Required. The Virtual Hub where the ExpressRoute + gateway is or will be deployed. + :type virtual_hub: ~azure.mgmt.network.v2020_04_01.models.VirtualHubId + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'express_route_connections': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'virtual_hub': {'required': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'auto_scale_configuration': {'key': 'properties.autoScaleConfiguration', 'type': 'ExpressRouteGatewayPropertiesAutoScaleConfiguration'}, + 'express_route_connections': {'key': 'properties.expressRouteConnections', 'type': '[ExpressRouteConnection]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'virtual_hub': {'key': 'properties.virtualHub', 'type': 'VirtualHubId'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, virtual_hub, id: str=None, location: str=None, tags=None, auto_scale_configuration=None, **kwargs) -> None: + super(ExpressRouteGateway, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.auto_scale_configuration = auto_scale_configuration + self.express_route_connections = None + self.provisioning_state = None + self.virtual_hub = virtual_hub + self.etag = None + + +class ExpressRouteGatewayList(Model): + """List of ExpressRoute gateways. + + :param value: List of ExpressRoute gateways. + :type value: + list[~azure.mgmt.network.v2020_04_01.models.ExpressRouteGateway] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ExpressRouteGateway]'}, + } + + def __init__(self, *, value=None, **kwargs) -> None: + super(ExpressRouteGatewayList, self).__init__(**kwargs) + self.value = value + + +class ExpressRouteGatewayPropertiesAutoScaleConfiguration(Model): + """Configuration for auto scaling. + + :param bounds: Minimum and maximum number of scale units to deploy. + :type bounds: + ~azure.mgmt.network.v2020_04_01.models.ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds + """ + + _attribute_map = { + 'bounds': {'key': 'bounds', 'type': 'ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds'}, + } + + def __init__(self, *, bounds=None, **kwargs) -> None: + super(ExpressRouteGatewayPropertiesAutoScaleConfiguration, self).__init__(**kwargs) + self.bounds = bounds + + +class ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds(Model): + """Minimum and maximum number of scale units to deploy. + + :param min: Minimum number of scale units deployed for ExpressRoute + gateway. + :type min: int + :param max: Maximum number of scale units deployed for ExpressRoute + gateway. + :type max: int + """ + + _attribute_map = { + 'min': {'key': 'min', 'type': 'int'}, + 'max': {'key': 'max', 'type': 'int'}, + } + + def __init__(self, *, min: int=None, max: int=None, **kwargs) -> None: + super(ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds, self).__init__(**kwargs) + self.min = min + self.max = max + + +class ExpressRouteLink(SubResource): + """ExpressRouteLink. + + ExpressRouteLink child resource definition. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar router_name: Name of Azure router associated with physical port. + :vartype router_name: str + :ivar interface_name: Name of Azure router interface. + :vartype interface_name: str + :ivar patch_panel_id: Mapping between physical port to patch panel port. + :vartype patch_panel_id: str + :ivar rack_id: Mapping of physical patch panel to rack. + :vartype rack_id: str + :ivar connector_type: Physical fiber port type. Possible values include: + 'LC', 'SC' + :vartype connector_type: str or + ~azure.mgmt.network.v2020_04_01.models.ExpressRouteLinkConnectorType + :param admin_state: Administrative state of the physical port. Possible + values include: 'Enabled', 'Disabled' + :type admin_state: str or + ~azure.mgmt.network.v2020_04_01.models.ExpressRouteLinkAdminState + :ivar provisioning_state: The provisioning state of the express route link + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param mac_sec_config: MacSec configuration. + :type mac_sec_config: + ~azure.mgmt.network.v2020_04_01.models.ExpressRouteLinkMacSecConfig + :param name: Name of child port resource that is unique among child port + resources of the parent. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'router_name': {'readonly': True}, + 'interface_name': {'readonly': True}, + 'patch_panel_id': {'readonly': True}, + 'rack_id': {'readonly': True}, + 'connector_type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'router_name': {'key': 'properties.routerName', 'type': 'str'}, + 'interface_name': {'key': 'properties.interfaceName', 'type': 'str'}, + 'patch_panel_id': {'key': 'properties.patchPanelId', 'type': 'str'}, + 'rack_id': {'key': 'properties.rackId', 'type': 'str'}, + 'connector_type': {'key': 'properties.connectorType', 'type': 'str'}, + 'admin_state': {'key': 'properties.adminState', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'mac_sec_config': {'key': 'properties.macSecConfig', 'type': 'ExpressRouteLinkMacSecConfig'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, admin_state=None, mac_sec_config=None, name: str=None, **kwargs) -> None: + super(ExpressRouteLink, self).__init__(id=id, **kwargs) + self.router_name = None + self.interface_name = None + self.patch_panel_id = None + self.rack_id = None + self.connector_type = None + self.admin_state = admin_state + self.provisioning_state = None + self.mac_sec_config = mac_sec_config + self.name = name + self.etag = None + + +class ExpressRouteLinkMacSecConfig(Model): + """Definition of ExpressRouteLink Mac Security configuration. + + ExpressRouteLink Mac Security Configuration. + + :param ckn_secret_identifier: Keyvault Secret Identifier URL containing + Mac security CKN key. + :type ckn_secret_identifier: str + :param cak_secret_identifier: Keyvault Secret Identifier URL containing + Mac security CAK key. + :type cak_secret_identifier: str + :param cipher: Mac security cipher. Possible values include: + 'gcm-aes-128', 'gcm-aes-256' + :type cipher: str or + ~azure.mgmt.network.v2020_04_01.models.ExpressRouteLinkMacSecCipher + """ + + _attribute_map = { + 'ckn_secret_identifier': {'key': 'cknSecretIdentifier', 'type': 'str'}, + 'cak_secret_identifier': {'key': 'cakSecretIdentifier', 'type': 'str'}, + 'cipher': {'key': 'cipher', 'type': 'str'}, + } + + def __init__(self, *, ckn_secret_identifier: str=None, cak_secret_identifier: str=None, cipher=None, **kwargs) -> None: + super(ExpressRouteLinkMacSecConfig, self).__init__(**kwargs) + self.ckn_secret_identifier = ckn_secret_identifier + self.cak_secret_identifier = cak_secret_identifier + self.cipher = cipher + + +class ExpressRoutePort(Resource): + """ExpressRoute Port. + + ExpressRoutePort resource definition. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param peering_location: The name of the peering location that the + ExpressRoutePort is mapped to physically. + :type peering_location: str + :param bandwidth_in_gbps: Bandwidth of procured ports in Gbps. + :type bandwidth_in_gbps: int + :ivar provisioned_bandwidth_in_gbps: Aggregate Gbps of associated circuit + bandwidths. + :vartype provisioned_bandwidth_in_gbps: float + :ivar mtu: Maximum transmission unit of the physical port pair(s). + :vartype mtu: str + :param encapsulation: Encapsulation method on physical ports. Possible + values include: 'Dot1Q', 'QinQ' + :type encapsulation: str or + ~azure.mgmt.network.v2020_04_01.models.ExpressRoutePortsEncapsulation + :ivar ether_type: Ether type of the physical port. + :vartype ether_type: str + :ivar allocation_date: Date of the physical port allocation to be used in + Letter of Authorization. + :vartype allocation_date: str + :param links: ExpressRouteLink Sub-Resources. The set of physical links of + the ExpressRoutePort resource. + :type links: list[~azure.mgmt.network.v2020_04_01.models.ExpressRouteLink] + :ivar circuits: Reference the ExpressRoute circuit(s) that are provisioned + on this ExpressRoutePort resource. + :vartype circuits: + list[~azure.mgmt.network.v2020_04_01.models.SubResource] + :ivar provisioning_state: The provisioning state of the express route port + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :ivar resource_guid: The resource GUID property of the express route port + resource. + :vartype resource_guid: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :param identity: The identity of ExpressRoutePort, if configured. + :type identity: + ~azure.mgmt.network.v2020_04_01.models.ManagedServiceIdentity + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioned_bandwidth_in_gbps': {'readonly': True}, + 'mtu': {'readonly': True}, + 'ether_type': {'readonly': True}, + 'allocation_date': {'readonly': True}, + 'circuits': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'resource_guid': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'peering_location': {'key': 'properties.peeringLocation', 'type': 'str'}, + 'bandwidth_in_gbps': {'key': 'properties.bandwidthInGbps', 'type': 'int'}, + 'provisioned_bandwidth_in_gbps': {'key': 'properties.provisionedBandwidthInGbps', 'type': 'float'}, + 'mtu': {'key': 'properties.mtu', 'type': 'str'}, + 'encapsulation': {'key': 'properties.encapsulation', 'type': 'str'}, + 'ether_type': {'key': 'properties.etherType', 'type': 'str'}, + 'allocation_date': {'key': 'properties.allocationDate', 'type': 'str'}, + 'links': {'key': 'properties.links', 'type': '[ExpressRouteLink]'}, + 'circuits': {'key': 'properties.circuits', 'type': '[SubResource]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, peering_location: str=None, bandwidth_in_gbps: int=None, encapsulation=None, links=None, identity=None, **kwargs) -> None: + super(ExpressRoutePort, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.peering_location = peering_location + self.bandwidth_in_gbps = bandwidth_in_gbps + self.provisioned_bandwidth_in_gbps = None + self.mtu = None + self.encapsulation = encapsulation + self.ether_type = None + self.allocation_date = None + self.links = links + self.circuits = None + self.provisioning_state = None + self.resource_guid = None + self.etag = None + self.identity = identity + + +class ExpressRoutePortsLocation(Resource): + """ExpressRoutePorts Peering Location. + + Definition of the ExpressRoutePorts peering location resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar address: Address of peering location. + :vartype address: str + :ivar contact: Contact details of peering locations. + :vartype contact: str + :param available_bandwidths: The inventory of available ExpressRoutePort + bandwidths. + :type available_bandwidths: + list[~azure.mgmt.network.v2020_04_01.models.ExpressRoutePortsLocationBandwidths] + :ivar provisioning_state: The provisioning state of the express route port + location resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'address': {'readonly': True}, + 'contact': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'address': {'key': 'properties.address', 'type': 'str'}, + 'contact': {'key': 'properties.contact', 'type': 'str'}, + 'available_bandwidths': {'key': 'properties.availableBandwidths', 'type': '[ExpressRoutePortsLocationBandwidths]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, available_bandwidths=None, **kwargs) -> None: + super(ExpressRoutePortsLocation, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.address = None + self.contact = None + self.available_bandwidths = available_bandwidths + self.provisioning_state = None + + +class ExpressRoutePortsLocationBandwidths(Model): + """ExpressRoutePorts Location Bandwidths. + + Real-time inventory of available ExpressRoute port bandwidths. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar offer_name: Bandwidth descriptive name. + :vartype offer_name: str + :ivar value_in_gbps: Bandwidth value in Gbps. + :vartype value_in_gbps: int + """ + + _validation = { + 'offer_name': {'readonly': True}, + 'value_in_gbps': {'readonly': True}, + } + + _attribute_map = { + 'offer_name': {'key': 'offerName', 'type': 'str'}, + 'value_in_gbps': {'key': 'valueInGbps', 'type': 'int'}, + } + + def __init__(self, **kwargs) -> None: + super(ExpressRoutePortsLocationBandwidths, self).__init__(**kwargs) + self.offer_name = None + self.value_in_gbps = None + + +class ExpressRouteServiceProvider(Resource): + """A ExpressRouteResourceProvider object. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param peering_locations: A list of peering locations. + :type peering_locations: list[str] + :param bandwidths_offered: A list of bandwidths offered. + :type bandwidths_offered: + list[~azure.mgmt.network.v2020_04_01.models.ExpressRouteServiceProviderBandwidthsOffered] + :ivar provisioning_state: The provisioning state of the express route + service provider resource. Possible values include: 'Succeeded', + 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'peering_locations': {'key': 'properties.peeringLocations', 'type': '[str]'}, + 'bandwidths_offered': {'key': 'properties.bandwidthsOffered', 'type': '[ExpressRouteServiceProviderBandwidthsOffered]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, peering_locations=None, bandwidths_offered=None, **kwargs) -> None: + super(ExpressRouteServiceProvider, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.peering_locations = peering_locations + self.bandwidths_offered = bandwidths_offered + self.provisioning_state = None + + +class ExpressRouteServiceProviderBandwidthsOffered(Model): + """Contains bandwidths offered in ExpressRouteServiceProvider resources. + + :param offer_name: The OfferName. + :type offer_name: str + :param value_in_mbps: The ValueInMbps. + :type value_in_mbps: int + """ + + _attribute_map = { + 'offer_name': {'key': 'offerName', 'type': 'str'}, + 'value_in_mbps': {'key': 'valueInMbps', 'type': 'int'}, + } + + def __init__(self, *, offer_name: str=None, value_in_mbps: int=None, **kwargs) -> None: + super(ExpressRouteServiceProviderBandwidthsOffered, self).__init__(**kwargs) + self.offer_name = offer_name + self.value_in_mbps = value_in_mbps + + +class FirewallPolicy(Resource): + """FirewallPolicy Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar rule_groups: List of references to FirewallPolicyRuleGroups. + :vartype rule_groups: + list[~azure.mgmt.network.v2020_04_01.models.SubResource] + :ivar provisioning_state: The provisioning state of the firewall policy + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param base_policy: The parent firewall policy from which rules are + inherited. + :type base_policy: ~azure.mgmt.network.v2020_04_01.models.SubResource + :ivar firewalls: List of references to Azure Firewalls that this Firewall + Policy is associated with. + :vartype firewalls: + list[~azure.mgmt.network.v2020_04_01.models.SubResource] + :ivar child_policies: List of references to Child Firewall Policies. + :vartype child_policies: + list[~azure.mgmt.network.v2020_04_01.models.SubResource] + :param threat_intel_mode: The operation mode for Threat Intelligence. + Possible values include: 'Alert', 'Deny', 'Off' + :type threat_intel_mode: str or + ~azure.mgmt.network.v2020_04_01.models.AzureFirewallThreatIntelMode + :param threat_intel_whitelist: ThreatIntel Whitelist for Firewall Policy. + :type threat_intel_whitelist: + ~azure.mgmt.network.v2020_04_01.models.FirewallPolicyThreatIntelWhitelist + :param intrusion_system_mode: The operation mode for Intrusion system. + Possible values include: 'Enabled', 'Disabled' + :type intrusion_system_mode: str or + ~azure.mgmt.network.v2020_04_01.models.FirewallPolicyIntrusionSystemMode + :param transport_security: TLS Configuration definition. + :type transport_security: + ~azure.mgmt.network.v2020_04_01.models.FirewallPolicyTransportSecurity + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :param identity: The identity of the firewall policy. + :type identity: + ~azure.mgmt.network.v2020_04_01.models.ManagedServiceIdentity + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'rule_groups': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'firewalls': {'readonly': True}, + 'child_policies': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'rule_groups': {'key': 'properties.ruleGroups', 'type': '[SubResource]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'base_policy': {'key': 'properties.basePolicy', 'type': 'SubResource'}, + 'firewalls': {'key': 'properties.firewalls', 'type': '[SubResource]'}, + 'child_policies': {'key': 'properties.childPolicies', 'type': '[SubResource]'}, + 'threat_intel_mode': {'key': 'properties.threatIntelMode', 'type': 'str'}, + 'threat_intel_whitelist': {'key': 'properties.threatIntelWhitelist', 'type': 'FirewallPolicyThreatIntelWhitelist'}, + 'intrusion_system_mode': {'key': 'properties.intrusionSystemMode', 'type': 'str'}, + 'transport_security': {'key': 'properties.transportSecurity', 'type': 'FirewallPolicyTransportSecurity'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, base_policy=None, threat_intel_mode=None, threat_intel_whitelist=None, intrusion_system_mode=None, transport_security=None, identity=None, **kwargs) -> None: + super(FirewallPolicy, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.rule_groups = None + self.provisioning_state = None + self.base_policy = base_policy + self.firewalls = None + self.child_policies = None + self.threat_intel_mode = threat_intel_mode + self.threat_intel_whitelist = threat_intel_whitelist + self.intrusion_system_mode = intrusion_system_mode + self.transport_security = transport_security + self.etag = None + self.identity = identity + + +class FirewallPolicyCertificateAuthority(Model): + """Trusted Root certificates properties for tls. + + :param key_vault_secret_id: Secret Id of (base-64 encoded unencrypted pfx) + 'Secret' or 'Certificate' object stored in KeyVault. + :type key_vault_secret_id: str + :param name: Name of the CA certificate. + :type name: str + """ + + _attribute_map = { + 'key_vault_secret_id': {'key': 'properties.keyVaultSecretId', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, *, key_vault_secret_id: str=None, name: str=None, **kwargs) -> None: + super(FirewallPolicyCertificateAuthority, self).__init__(**kwargs) + self.key_vault_secret_id = key_vault_secret_id + self.name = name + + +class FirewallPolicyRule(Model): + """Properties of the rule. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: FirewallPolicyNatRule, FirewallPolicyFilterRule + + All required parameters must be populated in order to send to Azure. + + :param name: The name of the rule. + :type name: str + :param priority: Priority of the Firewall Policy Rule resource. + :type priority: int + :param rule_type: Required. Constant filled by server. + :type rule_type: str + """ + + _validation = { + 'priority': {'maximum': 65000, 'minimum': 100}, + 'rule_type': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'priority': {'key': 'priority', 'type': 'int'}, + 'rule_type': {'key': 'ruleType', 'type': 'str'}, + } + + _subtype_map = { + 'rule_type': {'FirewallPolicyNatRule': 'FirewallPolicyNatRule', 'FirewallPolicyFilterRule': 'FirewallPolicyFilterRule'} + } + + def __init__(self, *, name: str=None, priority: int=None, **kwargs) -> None: + super(FirewallPolicyRule, self).__init__(**kwargs) + self.name = name + self.priority = priority + self.rule_type = None + + +class FirewallPolicyFilterRule(FirewallPolicyRule): + """Firewall Policy Filter Rule. + + All required parameters must be populated in order to send to Azure. + + :param name: The name of the rule. + :type name: str + :param priority: Priority of the Firewall Policy Rule resource. + :type priority: int + :param rule_type: Required. Constant filled by server. + :type rule_type: str + :param action: The action type of a Filter rule. + :type action: + ~azure.mgmt.network.v2020_04_01.models.FirewallPolicyFilterRuleAction + :param rule_conditions: Collection of rule conditions used by a rule. + :type rule_conditions: + list[~azure.mgmt.network.v2020_04_01.models.FirewallPolicyRuleCondition] + """ + + _validation = { + 'priority': {'maximum': 65000, 'minimum': 100}, + 'rule_type': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'priority': {'key': 'priority', 'type': 'int'}, + 'rule_type': {'key': 'ruleType', 'type': 'str'}, + 'action': {'key': 'action', 'type': 'FirewallPolicyFilterRuleAction'}, + 'rule_conditions': {'key': 'ruleConditions', 'type': '[FirewallPolicyRuleCondition]'}, + } + + def __init__(self, *, name: str=None, priority: int=None, action=None, rule_conditions=None, **kwargs) -> None: + super(FirewallPolicyFilterRule, self).__init__(name=name, priority=priority, **kwargs) + self.action = action + self.rule_conditions = rule_conditions + self.rule_type = 'FirewallPolicyFilterRule' + + +class FirewallPolicyFilterRuleAction(Model): + """Properties of the FirewallPolicyFilterRuleAction. + + :param type: The type of action. Possible values include: 'Allow', 'Deny' + :type type: str or + ~azure.mgmt.network.v2020_04_01.models.FirewallPolicyFilterRuleActionType + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, type=None, **kwargs) -> None: + super(FirewallPolicyFilterRuleAction, self).__init__(**kwargs) + self.type = type + + +class FirewallPolicyNatRule(FirewallPolicyRule): + """Firewall Policy NAT Rule. + + All required parameters must be populated in order to send to Azure. + + :param name: The name of the rule. + :type name: str + :param priority: Priority of the Firewall Policy Rule resource. + :type priority: int + :param rule_type: Required. Constant filled by server. + :type rule_type: str + :param action: The action type of a Nat rule. + :type action: + ~azure.mgmt.network.v2020_04_01.models.FirewallPolicyNatRuleAction + :param translated_address: The translated address for this NAT rule. + :type translated_address: str + :param translated_port: The translated port for this NAT rule. + :type translated_port: str + :param rule_condition: The match conditions for incoming traffic. + :type rule_condition: + ~azure.mgmt.network.v2020_04_01.models.FirewallPolicyRuleCondition + """ + + _validation = { + 'priority': {'maximum': 65000, 'minimum': 100}, + 'rule_type': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'priority': {'key': 'priority', 'type': 'int'}, + 'rule_type': {'key': 'ruleType', 'type': 'str'}, + 'action': {'key': 'action', 'type': 'FirewallPolicyNatRuleAction'}, + 'translated_address': {'key': 'translatedAddress', 'type': 'str'}, + 'translated_port': {'key': 'translatedPort', 'type': 'str'}, + 'rule_condition': {'key': 'ruleCondition', 'type': 'FirewallPolicyRuleCondition'}, + } + + def __init__(self, *, name: str=None, priority: int=None, action=None, translated_address: str=None, translated_port: str=None, rule_condition=None, **kwargs) -> None: + super(FirewallPolicyNatRule, self).__init__(name=name, priority=priority, **kwargs) + self.action = action + self.translated_address = translated_address + self.translated_port = translated_port + self.rule_condition = rule_condition + self.rule_type = 'FirewallPolicyNatRule' + + +class FirewallPolicyNatRuleAction(Model): + """Properties of the FirewallPolicyNatRuleAction. + + :param type: The type of action. Possible values include: 'DNAT' + :type type: str or + ~azure.mgmt.network.v2020_04_01.models.FirewallPolicyNatRuleActionType + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, type=None, **kwargs) -> None: + super(FirewallPolicyNatRuleAction, self).__init__(**kwargs) + self.type = type + + +class FirewallPolicyRuleConditionApplicationProtocol(Model): + """Properties of the application rule protocol. + + :param protocol_type: Protocol type. Possible values include: 'Http', + 'Https' + :type protocol_type: str or + ~azure.mgmt.network.v2020_04_01.models.FirewallPolicyRuleConditionApplicationProtocolType + :param port: Port number for the protocol, cannot be greater than 64000. + :type port: int + """ + + _validation = { + 'port': {'maximum': 64000, 'minimum': 0}, + } + + _attribute_map = { + 'protocol_type': {'key': 'protocolType', 'type': 'str'}, + 'port': {'key': 'port', 'type': 'int'}, + } + + def __init__(self, *, protocol_type=None, port: int=None, **kwargs) -> None: + super(FirewallPolicyRuleConditionApplicationProtocol, self).__init__(**kwargs) + self.protocol_type = protocol_type + self.port = port + + +class FirewallPolicyRuleGroup(SubResource): + """Rule Group resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param priority: Priority of the Firewall Policy Rule Group resource. + :type priority: int + :param rules: Group of Firewall Policy rules. + :type rules: + list[~azure.mgmt.network.v2020_04_01.models.FirewallPolicyRule] + :ivar provisioning_state: The provisioning state of the firewall policy + rule group resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Rule Group type. + :vartype type: str + """ + + _validation = { + 'priority': {'maximum': 65000, 'minimum': 100}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'priority': {'key': 'properties.priority', 'type': 'int'}, + 'rules': {'key': 'properties.rules', 'type': '[FirewallPolicyRule]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, priority: int=None, rules=None, name: str=None, **kwargs) -> None: + super(FirewallPolicyRuleGroup, self).__init__(id=id, **kwargs) + self.priority = priority + self.rules = rules + self.provisioning_state = None + self.name = name + self.etag = None + self.type = None + + +class FirewallPolicyThreatIntelWhitelist(Model): + """ThreatIntel Whitelist for Firewall Policy. + + :param ip_addresses: List of IP addresses for the ThreatIntel Whitelist. + :type ip_addresses: list[str] + :param fqdns: List of FQDNs for the ThreatIntel Whitelist. + :type fqdns: list[str] + """ + + _attribute_map = { + 'ip_addresses': {'key': 'ipAddresses', 'type': '[str]'}, + 'fqdns': {'key': 'fqdns', 'type': '[str]'}, + } + + def __init__(self, *, ip_addresses=None, fqdns=None, **kwargs) -> None: + super(FirewallPolicyThreatIntelWhitelist, self).__init__(**kwargs) + self.ip_addresses = ip_addresses + self.fqdns = fqdns + + +class FirewallPolicyTransportSecurity(Model): + """Configuration needed to perform TLS termination & initiation. + + :param certificate_authority: The CA used for intermediate CA generation. + :type certificate_authority: + ~azure.mgmt.network.v2020_04_01.models.FirewallPolicyCertificateAuthority + :param excluded_domains: List of domains which are excluded from TLS + termination. + :type excluded_domains: list[str] + :param trusted_root_certificates: Certificates which are to be trusted by + the firewall. + :type trusted_root_certificates: + list[~azure.mgmt.network.v2020_04_01.models.FirewallPolicyTrustedRootCertificate] + """ + + _attribute_map = { + 'certificate_authority': {'key': 'certificateAuthority', 'type': 'FirewallPolicyCertificateAuthority'}, + 'excluded_domains': {'key': 'excludedDomains', 'type': '[str]'}, + 'trusted_root_certificates': {'key': 'trustedRootCertificates', 'type': '[FirewallPolicyTrustedRootCertificate]'}, + } + + def __init__(self, *, certificate_authority=None, excluded_domains=None, trusted_root_certificates=None, **kwargs) -> None: + super(FirewallPolicyTransportSecurity, self).__init__(**kwargs) + self.certificate_authority = certificate_authority + self.excluded_domains = excluded_domains + self.trusted_root_certificates = trusted_root_certificates + + +class FirewallPolicyTrustedRootCertificate(Model): + """Trusted Root certificates of a firewall policy. + + :param key_vault_secret_id: Secret Id of (base-64 encoded unencrypted pfx) + the public certificate data stored in KeyVault. + :type key_vault_secret_id: str + :param name: Name of the trusted root certificate that is unique within a + firewall policy. + :type name: str + """ + + _attribute_map = { + 'key_vault_secret_id': {'key': 'properties.keyVaultSecretId', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, *, key_vault_secret_id: str=None, name: str=None, **kwargs) -> None: + super(FirewallPolicyTrustedRootCertificate, self).__init__(**kwargs) + self.key_vault_secret_id = key_vault_secret_id + self.name = name + + +class FlowLog(Resource): + """A flow log resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param target_resource_id: Required. ID of network security group to which + flow log will be applied. + :type target_resource_id: str + :ivar target_resource_guid: Guid of network security group to which flow + log will be applied. + :vartype target_resource_guid: str + :param storage_id: Required. ID of the storage account which is used to + store the flow log. + :type storage_id: str + :param enabled: Flag to enable/disable flow logging. + :type enabled: bool + :param retention_policy: Parameters that define the retention policy for + flow log. + :type retention_policy: + ~azure.mgmt.network.v2020_04_01.models.RetentionPolicyParameters + :param format: Parameters that define the flow log format. + :type format: + ~azure.mgmt.network.v2020_04_01.models.FlowLogFormatParameters + :param flow_analytics_configuration: Parameters that define the + configuration of traffic analytics. + :type flow_analytics_configuration: + ~azure.mgmt.network.v2020_04_01.models.TrafficAnalyticsProperties + :ivar provisioning_state: The provisioning state of the flow log. Possible + values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'target_resource_id': {'required': True}, + 'target_resource_guid': {'readonly': True}, + 'storage_id': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'target_resource_id': {'key': 'properties.targetResourceId', 'type': 'str'}, + 'target_resource_guid': {'key': 'properties.targetResourceGuid', 'type': 'str'}, + 'storage_id': {'key': 'properties.storageId', 'type': 'str'}, + 'enabled': {'key': 'properties.enabled', 'type': 'bool'}, + 'retention_policy': {'key': 'properties.retentionPolicy', 'type': 'RetentionPolicyParameters'}, + 'format': {'key': 'properties.format', 'type': 'FlowLogFormatParameters'}, + 'flow_analytics_configuration': {'key': 'properties.flowAnalyticsConfiguration', 'type': 'TrafficAnalyticsProperties'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, target_resource_id: str, storage_id: str, id: str=None, location: str=None, tags=None, enabled: bool=None, retention_policy=None, format=None, flow_analytics_configuration=None, **kwargs) -> None: + super(FlowLog, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.target_resource_id = target_resource_id + self.target_resource_guid = None + self.storage_id = storage_id + self.enabled = enabled + self.retention_policy = retention_policy + self.format = format + self.flow_analytics_configuration = flow_analytics_configuration + self.provisioning_state = None + self.etag = None + + +class FlowLogFormatParameters(Model): + """Parameters that define the flow log format. + + :param type: The file type of flow log. Possible values include: 'JSON' + :type type: str or + ~azure.mgmt.network.v2020_04_01.models.FlowLogFormatType + :param version: The version (revision) of the flow log. Default value: 0 . + :type version: int + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'version': {'key': 'version', 'type': 'int'}, + } + + def __init__(self, *, type=None, version: int=0, **kwargs) -> None: + super(FlowLogFormatParameters, self).__init__(**kwargs) + self.type = type + self.version = version + + +class FlowLogInformation(Model): + """Information on the configuration of flow log and traffic analytics + (optional) . + + All required parameters must be populated in order to send to Azure. + + :param target_resource_id: Required. The ID of the resource to configure + for flow log and traffic analytics (optional) . + :type target_resource_id: str + :param storage_id: Required. ID of the storage account which is used to + store the flow log. + :type storage_id: str + :param enabled: Required. Flag to enable/disable flow logging. + :type enabled: bool + :param retention_policy: Parameters that define the retention policy for + flow log. + :type retention_policy: + ~azure.mgmt.network.v2020_04_01.models.RetentionPolicyParameters + :param format: Parameters that define the flow log format. + :type format: + ~azure.mgmt.network.v2020_04_01.models.FlowLogFormatParameters + :param flow_analytics_configuration: Parameters that define the + configuration of traffic analytics. + :type flow_analytics_configuration: + ~azure.mgmt.network.v2020_04_01.models.TrafficAnalyticsProperties + """ + + _validation = { + 'target_resource_id': {'required': True}, + 'storage_id': {'required': True}, + 'enabled': {'required': True}, + } + + _attribute_map = { + 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, + 'storage_id': {'key': 'properties.storageId', 'type': 'str'}, + 'enabled': {'key': 'properties.enabled', 'type': 'bool'}, + 'retention_policy': {'key': 'properties.retentionPolicy', 'type': 'RetentionPolicyParameters'}, + 'format': {'key': 'properties.format', 'type': 'FlowLogFormatParameters'}, + 'flow_analytics_configuration': {'key': 'flowAnalyticsConfiguration', 'type': 'TrafficAnalyticsProperties'}, + } + + def __init__(self, *, target_resource_id: str, storage_id: str, enabled: bool, retention_policy=None, format=None, flow_analytics_configuration=None, **kwargs) -> None: + super(FlowLogInformation, self).__init__(**kwargs) + self.target_resource_id = target_resource_id + self.storage_id = storage_id + self.enabled = enabled + self.retention_policy = retention_policy + self.format = format + self.flow_analytics_configuration = flow_analytics_configuration + + +class FlowLogStatusParameters(Model): + """Parameters that define a resource to query flow log and traffic analytics + (optional) status. + + All required parameters must be populated in order to send to Azure. + + :param target_resource_id: Required. The target resource where getting the + flow log and traffic analytics (optional) status. + :type target_resource_id: str + """ + + _validation = { + 'target_resource_id': {'required': True}, + } + + _attribute_map = { + 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, + } + + def __init__(self, *, target_resource_id: str, **kwargs) -> None: + super(FlowLogStatusParameters, self).__init__(**kwargs) + self.target_resource_id = target_resource_id + + +class FrontendIPConfiguration(SubResource): + """Frontend IP address of the load balancer. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar inbound_nat_rules: An array of references to inbound rules that use + this frontend IP. + :vartype inbound_nat_rules: + list[~azure.mgmt.network.v2020_04_01.models.SubResource] + :ivar inbound_nat_pools: An array of references to inbound pools that use + this frontend IP. + :vartype inbound_nat_pools: + list[~azure.mgmt.network.v2020_04_01.models.SubResource] + :ivar outbound_rules: An array of references to outbound rules that use + this frontend IP. + :vartype outbound_rules: + list[~azure.mgmt.network.v2020_04_01.models.SubResource] + :ivar load_balancing_rules: An array of references to load balancing rules + that use this frontend IP. + :vartype load_balancing_rules: + list[~azure.mgmt.network.v2020_04_01.models.SubResource] + :param private_ip_address: The private IP address of the IP configuration. + :type private_ip_address: str + :param private_ip_allocation_method: The Private IP allocation method. + Possible values include: 'Static', 'Dynamic' + :type private_ip_allocation_method: str or + ~azure.mgmt.network.v2020_04_01.models.IPAllocationMethod + :param private_ip_address_version: Whether the specific ipconfiguration is + IPv4 or IPv6. Default is taken as IPv4. Possible values include: 'IPv4', + 'IPv6' + :type private_ip_address_version: str or + ~azure.mgmt.network.v2020_04_01.models.IPVersion + :param subnet: The reference to the subnet resource. + :type subnet: ~azure.mgmt.network.v2020_04_01.models.Subnet + :param public_ip_address: The reference to the Public IP resource. + :type public_ip_address: + ~azure.mgmt.network.v2020_04_01.models.PublicIPAddress + :param public_ip_prefix: The reference to the Public IP Prefix resource. + :type public_ip_prefix: ~azure.mgmt.network.v2020_04_01.models.SubResource + :ivar provisioning_state: The provisioning state of the frontend IP + configuration resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: The name of the resource that is unique within the set of + frontend IP configurations used by the load balancer. This name can be + used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + :param zones: A list of availability zones denoting the IP allocated for + the resource needs to come from. + :type zones: list[str] + """ + + _validation = { + 'inbound_nat_rules': {'readonly': True}, + 'inbound_nat_pools': {'readonly': True}, + 'outbound_rules': {'readonly': True}, + 'load_balancing_rules': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'inbound_nat_rules': {'key': 'properties.inboundNatRules', 'type': '[SubResource]'}, + 'inbound_nat_pools': {'key': 'properties.inboundNatPools', 'type': '[SubResource]'}, + 'outbound_rules': {'key': 'properties.outboundRules', 'type': '[SubResource]'}, + 'load_balancing_rules': {'key': 'properties.loadBalancingRules', 'type': '[SubResource]'}, + 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, + 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, + 'private_ip_address_version': {'key': 'properties.privateIPAddressVersion', 'type': 'str'}, + 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, + 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'PublicIPAddress'}, + 'public_ip_prefix': {'key': 'properties.publicIPPrefix', 'type': 'SubResource'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'zones': {'key': 'zones', 'type': '[str]'}, + } + + def __init__(self, *, id: str=None, private_ip_address: str=None, private_ip_allocation_method=None, private_ip_address_version=None, subnet=None, public_ip_address=None, public_ip_prefix=None, name: str=None, zones=None, **kwargs) -> None: + super(FrontendIPConfiguration, self).__init__(id=id, **kwargs) + self.inbound_nat_rules = None + self.inbound_nat_pools = None + self.outbound_rules = None + self.load_balancing_rules = None + self.private_ip_address = private_ip_address + self.private_ip_allocation_method = private_ip_allocation_method + self.private_ip_address_version = private_ip_address_version + self.subnet = subnet + self.public_ip_address = public_ip_address + self.public_ip_prefix = public_ip_prefix + self.provisioning_state = None + self.name = name + self.etag = None + self.type = None + self.zones = zones + + +class GatewayRoute(Model): + """Gateway routing details. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar local_address: The gateway's local address. + :vartype local_address: str + :ivar network: The route's network prefix. + :vartype network: str + :ivar next_hop: The route's next hop. + :vartype next_hop: str + :ivar source_peer: The peer this route was learned from. + :vartype source_peer: str + :ivar origin: The source this route was learned from. + :vartype origin: str + :ivar as_path: The route's AS path sequence. + :vartype as_path: str + :ivar weight: The route's weight. + :vartype weight: int + """ + + _validation = { + 'local_address': {'readonly': True}, + 'network': {'readonly': True}, + 'next_hop': {'readonly': True}, + 'source_peer': {'readonly': True}, + 'origin': {'readonly': True}, + 'as_path': {'readonly': True}, + 'weight': {'readonly': True}, + } + + _attribute_map = { + 'local_address': {'key': 'localAddress', 'type': 'str'}, + 'network': {'key': 'network', 'type': 'str'}, + 'next_hop': {'key': 'nextHop', 'type': 'str'}, + 'source_peer': {'key': 'sourcePeer', 'type': 'str'}, + 'origin': {'key': 'origin', 'type': 'str'}, + 'as_path': {'key': 'asPath', 'type': 'str'}, + 'weight': {'key': 'weight', 'type': 'int'}, + } + + def __init__(self, **kwargs) -> None: + super(GatewayRoute, self).__init__(**kwargs) + self.local_address = None + self.network = None + self.next_hop = None + self.source_peer = None + self.origin = None + self.as_path = None + self.weight = None + + +class GatewayRouteListResult(Model): + """List of virtual network gateway routes. + + :param value: List of gateway routes. + :type value: list[~azure.mgmt.network.v2020_04_01.models.GatewayRoute] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[GatewayRoute]'}, + } + + def __init__(self, *, value=None, **kwargs) -> None: + super(GatewayRouteListResult, self).__init__(**kwargs) + self.value = value + + +class GetVpnSitesConfigurationRequest(Model): + """List of Vpn-Sites. + + All required parameters must be populated in order to send to Azure. + + :param vpn_sites: List of resource-ids of the vpn-sites for which config + is to be downloaded. + :type vpn_sites: list[str] + :param output_blob_sas_url: Required. The sas-url to download the + configurations for vpn-sites. + :type output_blob_sas_url: str + """ + + _validation = { + 'output_blob_sas_url': {'required': True}, + } + + _attribute_map = { + 'vpn_sites': {'key': 'vpnSites', 'type': '[str]'}, + 'output_blob_sas_url': {'key': 'outputBlobSasUrl', 'type': 'str'}, + } + + def __init__(self, *, output_blob_sas_url: str, vpn_sites=None, **kwargs) -> None: + super(GetVpnSitesConfigurationRequest, self).__init__(**kwargs) + self.vpn_sites = vpn_sites + self.output_blob_sas_url = output_blob_sas_url + + +class HTTPConfiguration(Model): + """HTTP configuration of the connectivity check. + + :param method: HTTP method. Possible values include: 'Get' + :type method: str or ~azure.mgmt.network.v2020_04_01.models.HTTPMethod + :param headers: List of HTTP headers. + :type headers: list[~azure.mgmt.network.v2020_04_01.models.HTTPHeader] + :param valid_status_codes: Valid status codes. + :type valid_status_codes: list[int] + """ + + _attribute_map = { + 'method': {'key': 'method', 'type': 'str'}, + 'headers': {'key': 'headers', 'type': '[HTTPHeader]'}, + 'valid_status_codes': {'key': 'validStatusCodes', 'type': '[int]'}, + } + + def __init__(self, *, method=None, headers=None, valid_status_codes=None, **kwargs) -> None: + super(HTTPConfiguration, self).__init__(**kwargs) + self.method = method + self.headers = headers + self.valid_status_codes = valid_status_codes + + +class HTTPHeader(Model): + """The HTTP header. + + :param name: The name in HTTP header. + :type name: str + :param value: The value in HTTP header. + :type value: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, value: str=None, **kwargs) -> None: + super(HTTPHeader, self).__init__(**kwargs) + self.name = name + self.value = value + + +class HubIPAddresses(Model): + """IP addresses associated with azure firewall. + + :param public_ip_addresses: List of Public IP addresses associated with + azure firewall. + :type public_ip_addresses: + list[~azure.mgmt.network.v2020_04_01.models.AzureFirewallPublicIPAddress] + :param private_ip_address: Private IP Address associated with azure + firewall. + :type private_ip_address: str + """ + + _attribute_map = { + 'public_ip_addresses': {'key': 'publicIPAddresses', 'type': '[AzureFirewallPublicIPAddress]'}, + 'private_ip_address': {'key': 'privateIPAddress', 'type': 'str'}, + } + + def __init__(self, *, public_ip_addresses=None, private_ip_address: str=None, **kwargs) -> None: + super(HubIPAddresses, self).__init__(**kwargs) + self.public_ip_addresses = public_ip_addresses + self.private_ip_address = private_ip_address + + +class HubRoute(Model): + """RouteTable route. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. The name of the Route that is unique within a + RouteTable. This name can be used to access this route. + :type name: str + :param destination_type: Required. The type of destinations (eg: CIDR, + ResourceId, Service). + :type destination_type: str + :param destinations: Required. List of all destinations. + :type destinations: list[str] + :param next_hop_type: Required. The type of next hop (eg: ResourceId). + :type next_hop_type: str + :param next_hop: Required. NextHop resource ID. + :type next_hop: str + """ + + _validation = { + 'name': {'required': True}, + 'destination_type': {'required': True}, + 'destinations': {'required': True}, + 'next_hop_type': {'required': True}, + 'next_hop': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'destination_type': {'key': 'destinationType', 'type': 'str'}, + 'destinations': {'key': 'destinations', 'type': '[str]'}, + 'next_hop_type': {'key': 'nextHopType', 'type': 'str'}, + 'next_hop': {'key': 'nextHop', 'type': 'str'}, + } + + def __init__(self, *, name: str, destination_type: str, destinations, next_hop_type: str, next_hop: str, **kwargs) -> None: + super(HubRoute, self).__init__(**kwargs) + self.name = name + self.destination_type = destination_type + self.destinations = destinations + self.next_hop_type = next_hop_type + self.next_hop = next_hop + + +class HubRouteTable(SubResource): + """RouteTable resource in a virtual hub. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param routes: List of all routes. + :type routes: list[~azure.mgmt.network.v2020_04_01.models.HubRoute] + :param labels: List of labels associated with this route table. + :type labels: list[str] + :ivar associated_connections: List of all connections associated with this + route table. + :vartype associated_connections: + list[~azure.mgmt.network.v2020_04_01.models.SubResource] + :ivar propagating_connections: List of all connections that advertise to + this route table. + :vartype propagating_connections: + list[~azure.mgmt.network.v2020_04_01.models.SubResource] + :ivar provisioning_state: The provisioning state of the RouteTable + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Resource type. + :vartype type: str + """ + + _validation = { + 'associated_connections': {'readonly': True}, + 'propagating_connections': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'routes': {'key': 'properties.routes', 'type': '[HubRoute]'}, + 'labels': {'key': 'properties.labels', 'type': '[str]'}, + 'associated_connections': {'key': 'properties.associatedConnections', 'type': '[SubResource]'}, + 'propagating_connections': {'key': 'properties.propagatingConnections', 'type': '[SubResource]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, routes=None, labels=None, name: str=None, **kwargs) -> None: + super(HubRouteTable, self).__init__(id=id, **kwargs) + self.routes = routes + self.labels = labels + self.associated_connections = None + self.propagating_connections = None + self.provisioning_state = None + self.name = name + self.etag = None + self.type = None + + +class HubVirtualNetworkConnection(SubResource): + """HubVirtualNetworkConnection Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param remote_virtual_network: Reference to the remote virtual network. + :type remote_virtual_network: + ~azure.mgmt.network.v2020_04_01.models.SubResource + :param allow_hub_to_remote_vnet_transit: VirtualHub to RemoteVnet transit + to enabled or not. + :type allow_hub_to_remote_vnet_transit: bool + :param allow_remote_vnet_to_use_hub_vnet_gateways: Allow RemoteVnet to use + Virtual Hub's gateways. + :type allow_remote_vnet_to_use_hub_vnet_gateways: bool + :param enable_internet_security: Enable internet security. + :type enable_internet_security: bool + :param routing_configuration: The Routing Configuration indicating the + associated and propagated route tables on this connection. + :type routing_configuration: + ~azure.mgmt.network.v2020_04_01.models.RoutingConfiguration + :ivar provisioning_state: The provisioning state of the hub virtual + network connection resource. Possible values include: 'Succeeded', + 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'remote_virtual_network': {'key': 'properties.remoteVirtualNetwork', 'type': 'SubResource'}, + 'allow_hub_to_remote_vnet_transit': {'key': 'properties.allowHubToRemoteVnetTransit', 'type': 'bool'}, + 'allow_remote_vnet_to_use_hub_vnet_gateways': {'key': 'properties.allowRemoteVnetToUseHubVnetGateways', 'type': 'bool'}, + 'enable_internet_security': {'key': 'properties.enableInternetSecurity', 'type': 'bool'}, + 'routing_configuration': {'key': 'properties.routingConfiguration', 'type': 'RoutingConfiguration'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, remote_virtual_network=None, allow_hub_to_remote_vnet_transit: bool=None, allow_remote_vnet_to_use_hub_vnet_gateways: bool=None, enable_internet_security: bool=None, routing_configuration=None, name: str=None, **kwargs) -> None: + super(HubVirtualNetworkConnection, self).__init__(id=id, **kwargs) + self.remote_virtual_network = remote_virtual_network + self.allow_hub_to_remote_vnet_transit = allow_hub_to_remote_vnet_transit + self.allow_remote_vnet_to_use_hub_vnet_gateways = allow_remote_vnet_to_use_hub_vnet_gateways + self.enable_internet_security = enable_internet_security + self.routing_configuration = routing_configuration + self.provisioning_state = None + self.name = name + self.etag = None + + +class InboundNatPool(SubResource): + """Inbound NAT pool of the load balancer. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :param frontend_ip_configuration: A reference to frontend IP addresses. + :type frontend_ip_configuration: + ~azure.mgmt.network.v2020_04_01.models.SubResource + :param protocol: Required. The reference to the transport protocol used by + the inbound NAT pool. Possible values include: 'Udp', 'Tcp', 'All' + :type protocol: str or + ~azure.mgmt.network.v2020_04_01.models.TransportProtocol + :param frontend_port_range_start: Required. The first port number in the + range of external ports that will be used to provide Inbound Nat to NICs + associated with a load balancer. Acceptable values range between 1 and + 65534. + :type frontend_port_range_start: int + :param frontend_port_range_end: Required. The last port number in the + range of external ports that will be used to provide Inbound Nat to NICs + associated with a load balancer. Acceptable values range between 1 and + 65535. + :type frontend_port_range_end: int + :param backend_port: Required. The port used for internal connections on + the endpoint. Acceptable values are between 1 and 65535. + :type backend_port: int + :param idle_timeout_in_minutes: The timeout for the TCP idle connection. + The value can be set between 4 and 30 minutes. The default value is 4 + minutes. This element is only used when the protocol is set to TCP. + :type idle_timeout_in_minutes: int + :param enable_floating_ip: Configures a virtual machine's endpoint for the + floating IP capability required to configure a SQL AlwaysOn Availability + Group. This setting is required when using the SQL AlwaysOn Availability + Groups in SQL server. This setting can't be changed after you create the + endpoint. + :type enable_floating_ip: bool + :param enable_tcp_reset: Receive bidirectional TCP Reset on TCP flow idle + timeout or unexpected connection termination. This element is only used + when the protocol is set to TCP. + :type enable_tcp_reset: bool + :ivar provisioning_state: The provisioning state of the inbound NAT pool + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: The name of the resource that is unique within the set of + inbound NAT pools used by the load balancer. This name can be used to + access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'protocol': {'required': True}, + 'frontend_port_range_start': {'required': True}, + 'frontend_port_range_end': {'required': True}, + 'backend_port': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'frontend_ip_configuration': {'key': 'properties.frontendIPConfiguration', 'type': 'SubResource'}, + 'protocol': {'key': 'properties.protocol', 'type': 'str'}, + 'frontend_port_range_start': {'key': 'properties.frontendPortRangeStart', 'type': 'int'}, + 'frontend_port_range_end': {'key': 'properties.frontendPortRangeEnd', 'type': 'int'}, + 'backend_port': {'key': 'properties.backendPort', 'type': 'int'}, + 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, + 'enable_floating_ip': {'key': 'properties.enableFloatingIP', 'type': 'bool'}, + 'enable_tcp_reset': {'key': 'properties.enableTcpReset', 'type': 'bool'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, protocol, frontend_port_range_start: int, frontend_port_range_end: int, backend_port: int, id: str=None, frontend_ip_configuration=None, idle_timeout_in_minutes: int=None, enable_floating_ip: bool=None, enable_tcp_reset: bool=None, name: str=None, **kwargs) -> None: + super(InboundNatPool, self).__init__(id=id, **kwargs) + self.frontend_ip_configuration = frontend_ip_configuration + self.protocol = protocol + self.frontend_port_range_start = frontend_port_range_start + self.frontend_port_range_end = frontend_port_range_end + self.backend_port = backend_port + self.idle_timeout_in_minutes = idle_timeout_in_minutes + self.enable_floating_ip = enable_floating_ip + self.enable_tcp_reset = enable_tcp_reset + self.provisioning_state = None + self.name = name + self.etag = None + self.type = None + + +class InboundNatRule(SubResource): + """Inbound NAT rule of the load balancer. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param frontend_ip_configuration: A reference to frontend IP addresses. + :type frontend_ip_configuration: + ~azure.mgmt.network.v2020_04_01.models.SubResource + :ivar backend_ip_configuration: A reference to a private IP address + defined on a network interface of a VM. Traffic sent to the frontend port + of each of the frontend IP configurations is forwarded to the backend IP. + :vartype backend_ip_configuration: + ~azure.mgmt.network.v2020_04_01.models.NetworkInterfaceIPConfiguration + :param protocol: The reference to the transport protocol used by the load + balancing rule. Possible values include: 'Udp', 'Tcp', 'All' + :type protocol: str or + ~azure.mgmt.network.v2020_04_01.models.TransportProtocol + :param frontend_port: The port for the external endpoint. Port numbers for + each rule must be unique within the Load Balancer. Acceptable values range + from 1 to 65534. + :type frontend_port: int + :param backend_port: The port used for the internal endpoint. Acceptable + values range from 1 to 65535. + :type backend_port: int + :param idle_timeout_in_minutes: The timeout for the TCP idle connection. + The value can be set between 4 and 30 minutes. The default value is 4 + minutes. This element is only used when the protocol is set to TCP. + :type idle_timeout_in_minutes: int + :param enable_floating_ip: Configures a virtual machine's endpoint for the + floating IP capability required to configure a SQL AlwaysOn Availability + Group. This setting is required when using the SQL AlwaysOn Availability + Groups in SQL server. This setting can't be changed after you create the + endpoint. + :type enable_floating_ip: bool + :param enable_tcp_reset: Receive bidirectional TCP Reset on TCP flow idle + timeout or unexpected connection termination. This element is only used + when the protocol is set to TCP. + :type enable_tcp_reset: bool + :ivar provisioning_state: The provisioning state of the inbound NAT rule + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: The name of the resource that is unique within the set of + inbound NAT rules used by the load balancer. This name can be used to + access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'backend_ip_configuration': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'frontend_ip_configuration': {'key': 'properties.frontendIPConfiguration', 'type': 'SubResource'}, + 'backend_ip_configuration': {'key': 'properties.backendIPConfiguration', 'type': 'NetworkInterfaceIPConfiguration'}, + 'protocol': {'key': 'properties.protocol', 'type': 'str'}, + 'frontend_port': {'key': 'properties.frontendPort', 'type': 'int'}, + 'backend_port': {'key': 'properties.backendPort', 'type': 'int'}, + 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, + 'enable_floating_ip': {'key': 'properties.enableFloatingIP', 'type': 'bool'}, + 'enable_tcp_reset': {'key': 'properties.enableTcpReset', 'type': 'bool'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, frontend_ip_configuration=None, protocol=None, frontend_port: int=None, backend_port: int=None, idle_timeout_in_minutes: int=None, enable_floating_ip: bool=None, enable_tcp_reset: bool=None, name: str=None, **kwargs) -> None: + super(InboundNatRule, self).__init__(id=id, **kwargs) + self.frontend_ip_configuration = frontend_ip_configuration + self.backend_ip_configuration = None + self.protocol = protocol + self.frontend_port = frontend_port + self.backend_port = backend_port + self.idle_timeout_in_minutes = idle_timeout_in_minutes + self.enable_floating_ip = enable_floating_ip + self.enable_tcp_reset = enable_tcp_reset + self.provisioning_state = None + self.name = name + self.etag = None + self.type = None + + +class IPAddressAvailabilityResult(Model): + """Response for CheckIPAddressAvailability API service call. + + :param available: Private IP address availability. + :type available: bool + :param available_ip_addresses: Contains other available private IP + addresses if the asked for address is taken. + :type available_ip_addresses: list[str] + """ + + _attribute_map = { + 'available': {'key': 'available', 'type': 'bool'}, + 'available_ip_addresses': {'key': 'availableIPAddresses', 'type': '[str]'}, + } + + def __init__(self, *, available: bool=None, available_ip_addresses=None, **kwargs) -> None: + super(IPAddressAvailabilityResult, self).__init__(**kwargs) + self.available = available + self.available_ip_addresses = available_ip_addresses + + +class IpAllocation(Resource): + """IpAllocation resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar subnet: The Subnet that using the prefix of this IpAllocation + resource. + :vartype subnet: ~azure.mgmt.network.v2020_04_01.models.SubResource + :ivar virtual_network: The VirtualNetwork that using the prefix of this + IpAllocation resource. + :vartype virtual_network: + ~azure.mgmt.network.v2020_04_01.models.SubResource + :param ip_allocation_type: The type for the IpAllocation. Possible values + include: 'Undefined', 'Hypernet' + :type ip_allocation_type: str or + ~azure.mgmt.network.v2020_04_01.models.IpAllocationType + :param prefix: The address prefix for the IpAllocation. + :type prefix: str + :param prefix_length: The address prefix length for the IpAllocation. + Default value: 0 . + :type prefix_length: int + :param prefix_type: The address prefix Type for the IpAllocation. Possible + values include: 'IPv4', 'IPv6' + :type prefix_type: str or ~azure.mgmt.network.v2020_04_01.models.IPVersion + :param ipam_allocation_id: The IPAM allocation ID. + :type ipam_allocation_id: str + :param allocation_tags: IpAllocation tags. + :type allocation_tags: dict[str, str] + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'subnet': {'readonly': True}, + 'virtual_network': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, + 'virtual_network': {'key': 'properties.virtualNetwork', 'type': 'SubResource'}, + 'ip_allocation_type': {'key': 'properties.type', 'type': 'str'}, + 'prefix': {'key': 'properties.prefix', 'type': 'str'}, + 'prefix_length': {'key': 'properties.prefixLength', 'type': 'int'}, + 'prefix_type': {'key': 'properties.prefixType', 'type': 'str'}, + 'ipam_allocation_id': {'key': 'properties.ipamAllocationId', 'type': 'str'}, + 'allocation_tags': {'key': 'properties.allocationTags', 'type': '{str}'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, ip_allocation_type=None, prefix: str=None, prefix_length: int=0, prefix_type=None, ipam_allocation_id: str=None, allocation_tags=None, **kwargs) -> None: + super(IpAllocation, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.subnet = None + self.virtual_network = None + self.ip_allocation_type = ip_allocation_type + self.prefix = prefix + self.prefix_length = prefix_length + self.prefix_type = prefix_type + self.ipam_allocation_id = ipam_allocation_id + self.allocation_tags = allocation_tags + self.etag = None + + +class IPConfiguration(SubResource): + """IP configuration. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param private_ip_address: The private IP address of the IP configuration. + :type private_ip_address: str + :param private_ip_allocation_method: The private IP address allocation + method. Possible values include: 'Static', 'Dynamic' + :type private_ip_allocation_method: str or + ~azure.mgmt.network.v2020_04_01.models.IPAllocationMethod + :param subnet: The reference to the subnet resource. + :type subnet: ~azure.mgmt.network.v2020_04_01.models.Subnet + :param public_ip_address: The reference to the public IP resource. + :type public_ip_address: + ~azure.mgmt.network.v2020_04_01.models.PublicIPAddress + :ivar provisioning_state: The provisioning state of the IP configuration + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, + 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, + 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, + 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'PublicIPAddress'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, private_ip_address: str=None, private_ip_allocation_method=None, subnet=None, public_ip_address=None, name: str=None, **kwargs) -> None: + super(IPConfiguration, self).__init__(id=id, **kwargs) + self.private_ip_address = private_ip_address + self.private_ip_allocation_method = private_ip_allocation_method + self.subnet = subnet + self.public_ip_address = public_ip_address + self.provisioning_state = None + self.name = name + self.etag = None + + +class IPConfigurationBgpPeeringAddress(Model): + """Properties of IPConfigurationBgpPeeringAddress. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param ipconfiguration_id: The ID of IP configuration which belongs to + gateway. + :type ipconfiguration_id: str + :ivar default_bgp_ip_addresses: The list of default BGP peering addresses + which belong to IP configuration. + :vartype default_bgp_ip_addresses: list[str] + :param custom_bgp_ip_addresses: The list of custom BGP peering addresses + which belong to IP configuration. + :type custom_bgp_ip_addresses: list[str] + :ivar tunnel_ip_addresses: The list of tunnel public IP addresses which + belong to IP configuration. + :vartype tunnel_ip_addresses: list[str] + """ + + _validation = { + 'default_bgp_ip_addresses': {'readonly': True}, + 'tunnel_ip_addresses': {'readonly': True}, + } + + _attribute_map = { + 'ipconfiguration_id': {'key': 'ipconfigurationId', 'type': 'str'}, + 'default_bgp_ip_addresses': {'key': 'defaultBgpIpAddresses', 'type': '[str]'}, + 'custom_bgp_ip_addresses': {'key': 'customBgpIpAddresses', 'type': '[str]'}, + 'tunnel_ip_addresses': {'key': 'tunnelIpAddresses', 'type': '[str]'}, + } + + def __init__(self, *, ipconfiguration_id: str=None, custom_bgp_ip_addresses=None, **kwargs) -> None: + super(IPConfigurationBgpPeeringAddress, self).__init__(**kwargs) + self.ipconfiguration_id = ipconfiguration_id + self.default_bgp_ip_addresses = None + self.custom_bgp_ip_addresses = custom_bgp_ip_addresses + self.tunnel_ip_addresses = None + + +class IPConfigurationProfile(SubResource): + """IP configuration profile child resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param subnet: The reference to the subnet resource to create a container + network interface ip configuration. + :type subnet: ~azure.mgmt.network.v2020_04_01.models.Subnet + :ivar provisioning_state: The provisioning state of the IP configuration + profile resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: The name of the resource. This name can be used to access the + resource. + :type name: str + :ivar type: Sub Resource type. + :vartype type: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, subnet=None, name: str=None, **kwargs) -> None: + super(IPConfigurationProfile, self).__init__(id=id, **kwargs) + self.subnet = subnet + self.provisioning_state = None + self.name = name + self.type = None + self.etag = None + + +class IpGroup(Resource): + """The IpGroups resource information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar provisioning_state: The provisioning state of the IpGroups resource. + Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param ip_addresses: IpAddresses/IpAddressPrefixes in the IpGroups + resource. + :type ip_addresses: list[str] + :ivar firewalls: List of references to Azure resources that this IpGroups + is associated with. + :vartype firewalls: + list[~azure.mgmt.network.v2020_04_01.models.SubResource] + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'firewalls': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'ip_addresses': {'key': 'properties.ipAddresses', 'type': '[str]'}, + 'firewalls': {'key': 'properties.firewalls', 'type': '[SubResource]'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, ip_addresses=None, **kwargs) -> None: + super(IpGroup, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.provisioning_state = None + self.ip_addresses = ip_addresses + self.firewalls = None + self.etag = None + + +class IpsecPolicy(Model): + """An IPSec Policy configuration for a virtual network gateway connection. + + All required parameters must be populated in order to send to Azure. + + :param sa_life_time_seconds: Required. The IPSec Security Association + (also called Quick Mode or Phase 2 SA) lifetime in seconds for a site to + site VPN tunnel. + :type sa_life_time_seconds: int + :param sa_data_size_kilobytes: Required. The IPSec Security Association + (also called Quick Mode or Phase 2 SA) payload size in KB for a site to + site VPN tunnel. + :type sa_data_size_kilobytes: int + :param ipsec_encryption: Required. The IPSec encryption algorithm (IKE + phase 1). Possible values include: 'None', 'DES', 'DES3', 'AES128', + 'AES192', 'AES256', 'GCMAES128', 'GCMAES192', 'GCMAES256' + :type ipsec_encryption: str or + ~azure.mgmt.network.v2020_04_01.models.IpsecEncryption + :param ipsec_integrity: Required. The IPSec integrity algorithm (IKE phase + 1). Possible values include: 'MD5', 'SHA1', 'SHA256', 'GCMAES128', + 'GCMAES192', 'GCMAES256' + :type ipsec_integrity: str or + ~azure.mgmt.network.v2020_04_01.models.IpsecIntegrity + :param ike_encryption: Required. The IKE encryption algorithm (IKE phase + 2). Possible values include: 'DES', 'DES3', 'AES128', 'AES192', 'AES256', + 'GCMAES256', 'GCMAES128' + :type ike_encryption: str or + ~azure.mgmt.network.v2020_04_01.models.IkeEncryption + :param ike_integrity: Required. The IKE integrity algorithm (IKE phase 2). + Possible values include: 'MD5', 'SHA1', 'SHA256', 'SHA384', 'GCMAES256', + 'GCMAES128' + :type ike_integrity: str or + ~azure.mgmt.network.v2020_04_01.models.IkeIntegrity + :param dh_group: Required. The DH Group used in IKE Phase 1 for initial + SA. Possible values include: 'None', 'DHGroup1', 'DHGroup2', 'DHGroup14', + 'DHGroup2048', 'ECP256', 'ECP384', 'DHGroup24' + :type dh_group: str or ~azure.mgmt.network.v2020_04_01.models.DhGroup + :param pfs_group: Required. The Pfs Group used in IKE Phase 2 for new + child SA. Possible values include: 'None', 'PFS1', 'PFS2', 'PFS2048', + 'ECP256', 'ECP384', 'PFS24', 'PFS14', 'PFSMM' + :type pfs_group: str or ~azure.mgmt.network.v2020_04_01.models.PfsGroup + """ + + _validation = { + 'sa_life_time_seconds': {'required': True}, + 'sa_data_size_kilobytes': {'required': True}, + 'ipsec_encryption': {'required': True}, + 'ipsec_integrity': {'required': True}, + 'ike_encryption': {'required': True}, + 'ike_integrity': {'required': True}, + 'dh_group': {'required': True}, + 'pfs_group': {'required': True}, + } + + _attribute_map = { + 'sa_life_time_seconds': {'key': 'saLifeTimeSeconds', 'type': 'int'}, + 'sa_data_size_kilobytes': {'key': 'saDataSizeKilobytes', 'type': 'int'}, + 'ipsec_encryption': {'key': 'ipsecEncryption', 'type': 'str'}, + 'ipsec_integrity': {'key': 'ipsecIntegrity', 'type': 'str'}, + 'ike_encryption': {'key': 'ikeEncryption', 'type': 'str'}, + 'ike_integrity': {'key': 'ikeIntegrity', 'type': 'str'}, + 'dh_group': {'key': 'dhGroup', 'type': 'str'}, + 'pfs_group': {'key': 'pfsGroup', 'type': 'str'}, + } + + def __init__(self, *, sa_life_time_seconds: int, sa_data_size_kilobytes: int, ipsec_encryption, ipsec_integrity, ike_encryption, ike_integrity, dh_group, pfs_group, **kwargs) -> None: + super(IpsecPolicy, self).__init__(**kwargs) + self.sa_life_time_seconds = sa_life_time_seconds + self.sa_data_size_kilobytes = sa_data_size_kilobytes + self.ipsec_encryption = ipsec_encryption + self.ipsec_integrity = ipsec_integrity + self.ike_encryption = ike_encryption + self.ike_integrity = ike_integrity + self.dh_group = dh_group + self.pfs_group = pfs_group + + +class IpTag(Model): + """Contains the IpTag associated with the object. + + :param ip_tag_type: The IP tag type. Example: FirstPartyUsage. + :type ip_tag_type: str + :param tag: The value of the IP tag associated with the public IP. + Example: SQL. + :type tag: str + """ + + _attribute_map = { + 'ip_tag_type': {'key': 'ipTagType', 'type': 'str'}, + 'tag': {'key': 'tag', 'type': 'str'}, + } + + def __init__(self, *, ip_tag_type: str=None, tag: str=None, **kwargs) -> None: + super(IpTag, self).__init__(**kwargs) + self.ip_tag_type = ip_tag_type + self.tag = tag + + +class Ipv6CircuitConnectionConfig(Model): + """IPv6 Circuit Connection properties for global reach. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param address_prefix: /125 IP address space to carve out customer + addresses for global reach. + :type address_prefix: str + :ivar circuit_connection_status: Express Route Circuit connection state. + Possible values include: 'Connected', 'Connecting', 'Disconnected' + :vartype circuit_connection_status: str or + ~azure.mgmt.network.v2020_04_01.models.CircuitConnectionStatus + """ + + _validation = { + 'circuit_connection_status': {'readonly': True}, + } + + _attribute_map = { + 'address_prefix': {'key': 'addressPrefix', 'type': 'str'}, + 'circuit_connection_status': {'key': 'circuitConnectionStatus', 'type': 'str'}, + } + + def __init__(self, *, address_prefix: str=None, **kwargs) -> None: + super(Ipv6CircuitConnectionConfig, self).__init__(**kwargs) + self.address_prefix = address_prefix + self.circuit_connection_status = None + + +class Ipv6ExpressRouteCircuitPeeringConfig(Model): + """Contains IPv6 peering config. + + :param primary_peer_address_prefix: The primary address prefix. + :type primary_peer_address_prefix: str + :param secondary_peer_address_prefix: The secondary address prefix. + :type secondary_peer_address_prefix: str + :param microsoft_peering_config: The Microsoft peering configuration. + :type microsoft_peering_config: + ~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitPeeringConfig + :param route_filter: The reference to the RouteFilter resource. + :type route_filter: ~azure.mgmt.network.v2020_04_01.models.SubResource + :param state: The state of peering. Possible values include: 'Disabled', + 'Enabled' + :type state: str or + ~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitPeeringState + """ + + _attribute_map = { + 'primary_peer_address_prefix': {'key': 'primaryPeerAddressPrefix', 'type': 'str'}, + 'secondary_peer_address_prefix': {'key': 'secondaryPeerAddressPrefix', 'type': 'str'}, + 'microsoft_peering_config': {'key': 'microsoftPeeringConfig', 'type': 'ExpressRouteCircuitPeeringConfig'}, + 'route_filter': {'key': 'routeFilter', 'type': 'SubResource'}, + 'state': {'key': 'state', 'type': 'str'}, + } + + def __init__(self, *, primary_peer_address_prefix: str=None, secondary_peer_address_prefix: str=None, microsoft_peering_config=None, route_filter=None, state=None, **kwargs) -> None: + super(Ipv6ExpressRouteCircuitPeeringConfig, self).__init__(**kwargs) + self.primary_peer_address_prefix = primary_peer_address_prefix + self.secondary_peer_address_prefix = secondary_peer_address_prefix + self.microsoft_peering_config = microsoft_peering_config + self.route_filter = route_filter + self.state = state + + +class LoadBalancer(Resource): + """LoadBalancer resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param sku: The load balancer SKU. + :type sku: ~azure.mgmt.network.v2020_04_01.models.LoadBalancerSku + :param frontend_ip_configurations: Object representing the frontend IPs to + be used for the load balancer. + :type frontend_ip_configurations: + list[~azure.mgmt.network.v2020_04_01.models.FrontendIPConfiguration] + :param backend_address_pools: Collection of backend address pools used by + a load balancer. + :type backend_address_pools: + list[~azure.mgmt.network.v2020_04_01.models.BackendAddressPool] + :param load_balancing_rules: Object collection representing the load + balancing rules Gets the provisioning. + :type load_balancing_rules: + list[~azure.mgmt.network.v2020_04_01.models.LoadBalancingRule] + :param probes: Collection of probe objects used in the load balancer. + :type probes: list[~azure.mgmt.network.v2020_04_01.models.Probe] + :param inbound_nat_rules: Collection of inbound NAT Rules used by a load + balancer. Defining inbound NAT rules on your load balancer is mutually + exclusive with defining an inbound NAT pool. Inbound NAT pools are + referenced from virtual machine scale sets. NICs that are associated with + individual virtual machines cannot reference an Inbound NAT pool. They + have to reference individual inbound NAT rules. + :type inbound_nat_rules: + list[~azure.mgmt.network.v2020_04_01.models.InboundNatRule] + :param inbound_nat_pools: Defines an external port range for inbound NAT + to a single backend port on NICs associated with a load balancer. Inbound + NAT rules are created automatically for each NIC associated with the Load + Balancer using an external port from this range. Defining an Inbound NAT + pool on your Load Balancer is mutually exclusive with defining inbound Nat + rules. Inbound NAT pools are referenced from virtual machine scale sets. + NICs that are associated with individual virtual machines cannot reference + an inbound NAT pool. They have to reference individual inbound NAT rules. + :type inbound_nat_pools: + list[~azure.mgmt.network.v2020_04_01.models.InboundNatPool] + :param outbound_rules: The outbound rules. + :type outbound_rules: + list[~azure.mgmt.network.v2020_04_01.models.OutboundRule] + :ivar resource_guid: The resource GUID property of the load balancer + resource. + :vartype resource_guid: str + :ivar provisioning_state: The provisioning state of the load balancer + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'resource_guid': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'sku': {'key': 'sku', 'type': 'LoadBalancerSku'}, + 'frontend_ip_configurations': {'key': 'properties.frontendIPConfigurations', 'type': '[FrontendIPConfiguration]'}, + 'backend_address_pools': {'key': 'properties.backendAddressPools', 'type': '[BackendAddressPool]'}, + 'load_balancing_rules': {'key': 'properties.loadBalancingRules', 'type': '[LoadBalancingRule]'}, + 'probes': {'key': 'properties.probes', 'type': '[Probe]'}, + 'inbound_nat_rules': {'key': 'properties.inboundNatRules', 'type': '[InboundNatRule]'}, + 'inbound_nat_pools': {'key': 'properties.inboundNatPools', 'type': '[InboundNatPool]'}, + 'outbound_rules': {'key': 'properties.outboundRules', 'type': '[OutboundRule]'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, sku=None, frontend_ip_configurations=None, backend_address_pools=None, load_balancing_rules=None, probes=None, inbound_nat_rules=None, inbound_nat_pools=None, outbound_rules=None, **kwargs) -> None: + super(LoadBalancer, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.sku = sku + self.frontend_ip_configurations = frontend_ip_configurations + self.backend_address_pools = backend_address_pools + self.load_balancing_rules = load_balancing_rules + self.probes = probes + self.inbound_nat_rules = inbound_nat_rules + self.inbound_nat_pools = inbound_nat_pools + self.outbound_rules = outbound_rules + self.resource_guid = None + self.provisioning_state = None + self.etag = None + + +class LoadBalancerBackendAddress(Model): + """Load balancer backend addresses. + + :param virtual_network: Reference to an existing virtual network. + :type virtual_network: + ~azure.mgmt.network.v2020_04_01.models.VirtualNetwork + :param ip_address: IP Address belonging to the referenced virtual network. + :type ip_address: str + :param network_interface_ip_configuration: Reference to IP address defined + in network interfaces. + :type network_interface_ip_configuration: + ~azure.mgmt.network.v2020_04_01.models.NetworkInterfaceIPConfiguration + :param name: Name of the backend address. + :type name: str + """ + + _attribute_map = { + 'virtual_network': {'key': 'properties.virtualNetwork', 'type': 'VirtualNetwork'}, + 'ip_address': {'key': 'properties.ipAddress', 'type': 'str'}, + 'network_interface_ip_configuration': {'key': 'properties.networkInterfaceIPConfiguration', 'type': 'NetworkInterfaceIPConfiguration'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, *, virtual_network=None, ip_address: str=None, network_interface_ip_configuration=None, name: str=None, **kwargs) -> None: + super(LoadBalancerBackendAddress, self).__init__(**kwargs) + self.virtual_network = virtual_network + self.ip_address = ip_address + self.network_interface_ip_configuration = network_interface_ip_configuration + self.name = name + + +class LoadBalancerSku(Model): + """SKU of a load balancer. + + :param name: Name of a load balancer SKU. Possible values include: + 'Basic', 'Standard' + :type name: str or + ~azure.mgmt.network.v2020_04_01.models.LoadBalancerSkuName + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, *, name=None, **kwargs) -> None: + super(LoadBalancerSku, self).__init__(**kwargs) + self.name = name + + +class LoadBalancingRule(SubResource): + """A load balancing rule for a load balancer. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :param frontend_ip_configuration: A reference to frontend IP addresses. + :type frontend_ip_configuration: + ~azure.mgmt.network.v2020_04_01.models.SubResource + :param backend_address_pool: A reference to a pool of DIPs. Inbound + traffic is randomly load balanced across IPs in the backend IPs. + :type backend_address_pool: + ~azure.mgmt.network.v2020_04_01.models.SubResource + :param probe: The reference to the load balancer probe used by the load + balancing rule. + :type probe: ~azure.mgmt.network.v2020_04_01.models.SubResource + :param protocol: Required. The reference to the transport protocol used by + the load balancing rule. Possible values include: 'Udp', 'Tcp', 'All' + :type protocol: str or + ~azure.mgmt.network.v2020_04_01.models.TransportProtocol + :param load_distribution: The load distribution policy for this rule. + Possible values include: 'Default', 'SourceIP', 'SourceIPProtocol' + :type load_distribution: str or + ~azure.mgmt.network.v2020_04_01.models.LoadDistribution + :param frontend_port: Required. The port for the external endpoint. Port + numbers for each rule must be unique within the Load Balancer. Acceptable + values are between 0 and 65534. Note that value 0 enables "Any Port". + :type frontend_port: int + :param backend_port: The port used for internal connections on the + endpoint. Acceptable values are between 0 and 65535. Note that value 0 + enables "Any Port". + :type backend_port: int + :param idle_timeout_in_minutes: The timeout for the TCP idle connection. + The value can be set between 4 and 30 minutes. The default value is 4 + minutes. This element is only used when the protocol is set to TCP. + :type idle_timeout_in_minutes: int + :param enable_floating_ip: Configures a virtual machine's endpoint for the + floating IP capability required to configure a SQL AlwaysOn Availability + Group. This setting is required when using the SQL AlwaysOn Availability + Groups in SQL server. This setting can't be changed after you create the + endpoint. + :type enable_floating_ip: bool + :param enable_tcp_reset: Receive bidirectional TCP Reset on TCP flow idle + timeout or unexpected connection termination. This element is only used + when the protocol is set to TCP. + :type enable_tcp_reset: bool + :param disable_outbound_snat: Configures SNAT for the VMs in the backend + pool to use the publicIP address specified in the frontend of the load + balancing rule. + :type disable_outbound_snat: bool + :ivar provisioning_state: The provisioning state of the load balancing + rule resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: The name of the resource that is unique within the set of + load balancing rules used by the load balancer. This name can be used to + access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'protocol': {'required': True}, + 'frontend_port': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'frontend_ip_configuration': {'key': 'properties.frontendIPConfiguration', 'type': 'SubResource'}, + 'backend_address_pool': {'key': 'properties.backendAddressPool', 'type': 'SubResource'}, + 'probe': {'key': 'properties.probe', 'type': 'SubResource'}, + 'protocol': {'key': 'properties.protocol', 'type': 'str'}, + 'load_distribution': {'key': 'properties.loadDistribution', 'type': 'str'}, + 'frontend_port': {'key': 'properties.frontendPort', 'type': 'int'}, + 'backend_port': {'key': 'properties.backendPort', 'type': 'int'}, + 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, + 'enable_floating_ip': {'key': 'properties.enableFloatingIP', 'type': 'bool'}, + 'enable_tcp_reset': {'key': 'properties.enableTcpReset', 'type': 'bool'}, + 'disable_outbound_snat': {'key': 'properties.disableOutboundSnat', 'type': 'bool'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, protocol, frontend_port: int, id: str=None, frontend_ip_configuration=None, backend_address_pool=None, probe=None, load_distribution=None, backend_port: int=None, idle_timeout_in_minutes: int=None, enable_floating_ip: bool=None, enable_tcp_reset: bool=None, disable_outbound_snat: bool=None, name: str=None, **kwargs) -> None: + super(LoadBalancingRule, self).__init__(id=id, **kwargs) + self.frontend_ip_configuration = frontend_ip_configuration + self.backend_address_pool = backend_address_pool + self.probe = probe + self.protocol = protocol + self.load_distribution = load_distribution + self.frontend_port = frontend_port + self.backend_port = backend_port + self.idle_timeout_in_minutes = idle_timeout_in_minutes + self.enable_floating_ip = enable_floating_ip + self.enable_tcp_reset = enable_tcp_reset + self.disable_outbound_snat = disable_outbound_snat + self.provisioning_state = None + self.name = name + self.etag = None + self.type = None + + +class LocalNetworkGateway(Resource): + """A common class for general resource information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param local_network_address_space: Local network site address space. + :type local_network_address_space: + ~azure.mgmt.network.v2020_04_01.models.AddressSpace + :param gateway_ip_address: IP address of local network gateway. + :type gateway_ip_address: str + :param fqdn: FQDN of local network gateway. + :type fqdn: str + :param bgp_settings: Local network gateway's BGP speaker settings. + :type bgp_settings: ~azure.mgmt.network.v2020_04_01.models.BgpSettings + :ivar resource_guid: The resource GUID property of the local network + gateway resource. + :vartype resource_guid: str + :ivar provisioning_state: The provisioning state of the local network + gateway resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'resource_guid': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'local_network_address_space': {'key': 'properties.localNetworkAddressSpace', 'type': 'AddressSpace'}, + 'gateway_ip_address': {'key': 'properties.gatewayIpAddress', 'type': 'str'}, + 'fqdn': {'key': 'properties.fqdn', 'type': 'str'}, + 'bgp_settings': {'key': 'properties.bgpSettings', 'type': 'BgpSettings'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, local_network_address_space=None, gateway_ip_address: str=None, fqdn: str=None, bgp_settings=None, **kwargs) -> None: + super(LocalNetworkGateway, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.local_network_address_space = local_network_address_space + self.gateway_ip_address = gateway_ip_address + self.fqdn = fqdn + self.bgp_settings = bgp_settings + self.resource_guid = None + self.provisioning_state = None + self.etag = None + + +class LogSpecification(Model): + """Description of logging specification. + + :param name: The name of the specification. + :type name: str + :param display_name: The display name of the specification. + :type display_name: str + :param blob_duration: Duration of the blob. + :type blob_duration: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'blob_duration': {'key': 'blobDuration', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, display_name: str=None, blob_duration: str=None, **kwargs) -> None: + super(LogSpecification, self).__init__(**kwargs) + self.name = name + self.display_name = display_name + self.blob_duration = blob_duration + + +class ManagedRuleGroupOverride(Model): + """Defines a managed rule group override setting. + + All required parameters must be populated in order to send to Azure. + + :param rule_group_name: Required. The managed rule group to override. + :type rule_group_name: str + :param rules: List of rules that will be disabled. If none specified, all + rules in the group will be disabled. + :type rules: + list[~azure.mgmt.network.v2020_04_01.models.ManagedRuleOverride] + """ + + _validation = { + 'rule_group_name': {'required': True}, + } + + _attribute_map = { + 'rule_group_name': {'key': 'ruleGroupName', 'type': 'str'}, + 'rules': {'key': 'rules', 'type': '[ManagedRuleOverride]'}, + } + + def __init__(self, *, rule_group_name: str, rules=None, **kwargs) -> None: + super(ManagedRuleGroupOverride, self).__init__(**kwargs) + self.rule_group_name = rule_group_name + self.rules = rules + + +class ManagedRuleOverride(Model): + """Defines a managed rule group override setting. + + All required parameters must be populated in order to send to Azure. + + :param rule_id: Required. Identifier for the managed rule. + :type rule_id: str + :param state: The state of the managed rule. Defaults to Disabled if not + specified. Possible values include: 'Disabled' + :type state: str or + ~azure.mgmt.network.v2020_04_01.models.ManagedRuleEnabledState + """ + + _validation = { + 'rule_id': {'required': True}, + } + + _attribute_map = { + 'rule_id': {'key': 'ruleId', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + } + + def __init__(self, *, rule_id: str, state=None, **kwargs) -> None: + super(ManagedRuleOverride, self).__init__(**kwargs) + self.rule_id = rule_id + self.state = state + + +class ManagedRulesDefinition(Model): + """Allow to exclude some variable satisfy the condition for the WAF check. + + All required parameters must be populated in order to send to Azure. + + :param exclusions: The Exclusions that are applied on the policy. + :type exclusions: + list[~azure.mgmt.network.v2020_04_01.models.OwaspCrsExclusionEntry] + :param managed_rule_sets: Required. The managed rule sets that are + associated with the policy. + :type managed_rule_sets: + list[~azure.mgmt.network.v2020_04_01.models.ManagedRuleSet] + """ + + _validation = { + 'managed_rule_sets': {'required': True}, + } + + _attribute_map = { + 'exclusions': {'key': 'exclusions', 'type': '[OwaspCrsExclusionEntry]'}, + 'managed_rule_sets': {'key': 'managedRuleSets', 'type': '[ManagedRuleSet]'}, + } + + def __init__(self, *, managed_rule_sets, exclusions=None, **kwargs) -> None: + super(ManagedRulesDefinition, self).__init__(**kwargs) + self.exclusions = exclusions + self.managed_rule_sets = managed_rule_sets + + +class ManagedRuleSet(Model): + """Defines a managed rule set. + + All required parameters must be populated in order to send to Azure. + + :param rule_set_type: Required. Defines the rule set type to use. + :type rule_set_type: str + :param rule_set_version: Required. Defines the version of the rule set to + use. + :type rule_set_version: str + :param rule_group_overrides: Defines the rule group overrides to apply to + the rule set. + :type rule_group_overrides: + list[~azure.mgmt.network.v2020_04_01.models.ManagedRuleGroupOverride] + """ + + _validation = { + 'rule_set_type': {'required': True}, + 'rule_set_version': {'required': True}, + } + + _attribute_map = { + 'rule_set_type': {'key': 'ruleSetType', 'type': 'str'}, + 'rule_set_version': {'key': 'ruleSetVersion', 'type': 'str'}, + 'rule_group_overrides': {'key': 'ruleGroupOverrides', 'type': '[ManagedRuleGroupOverride]'}, + } + + def __init__(self, *, rule_set_type: str, rule_set_version: str, rule_group_overrides=None, **kwargs) -> None: + super(ManagedRuleSet, self).__init__(**kwargs) + self.rule_set_type = rule_set_type + self.rule_set_version = rule_set_version + self.rule_group_overrides = rule_group_overrides + + +class ManagedServiceIdentity(Model): + """Identity for the resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar principal_id: The principal id of the system assigned identity. This + property will only be provided for a system assigned identity. + :vartype principal_id: str + :ivar tenant_id: The tenant id of the system assigned identity. This + property will only be provided for a system assigned identity. + :vartype tenant_id: str + :param type: The type of identity used for the resource. The type + 'SystemAssigned, UserAssigned' includes both an implicitly created + identity and a set of user assigned identities. The type 'None' will + remove any identities from the virtual machine. Possible values include: + 'SystemAssigned', 'UserAssigned', 'SystemAssigned, UserAssigned', 'None' + :type type: str or + ~azure.mgmt.network.v2020_04_01.models.ResourceIdentityType + :param user_assigned_identities: The list of user identities associated + with resource. The user identity dictionary key references will be ARM + resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + :type user_assigned_identities: dict[str, + ~azure.mgmt.network.v2020_04_01.models.ManagedServiceIdentityUserAssignedIdentitiesValue] + """ + + _validation = { + 'principal_id': {'readonly': True}, + 'tenant_id': {'readonly': True}, + } + + _attribute_map = { + 'principal_id': {'key': 'principalId', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'ResourceIdentityType'}, + 'user_assigned_identities': {'key': 'userAssignedIdentities', 'type': '{ManagedServiceIdentityUserAssignedIdentitiesValue}'}, + } + + def __init__(self, *, type=None, user_assigned_identities=None, **kwargs) -> None: + super(ManagedServiceIdentity, self).__init__(**kwargs) + self.principal_id = None + self.tenant_id = None + self.type = type + self.user_assigned_identities = user_assigned_identities + + +class ManagedServiceIdentityUserAssignedIdentitiesValue(Model): + """ManagedServiceIdentityUserAssignedIdentitiesValue. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar principal_id: The principal id of user assigned identity. + :vartype principal_id: str + :ivar client_id: The client id of user assigned identity. + :vartype client_id: str + """ + + _validation = { + 'principal_id': {'readonly': True}, + 'client_id': {'readonly': True}, + } + + _attribute_map = { + 'principal_id': {'key': 'principalId', 'type': 'str'}, + 'client_id': {'key': 'clientId', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(ManagedServiceIdentityUserAssignedIdentitiesValue, self).__init__(**kwargs) + self.principal_id = None + self.client_id = None + + +class MatchCondition(Model): + """Define match conditions. + + All required parameters must be populated in order to send to Azure. + + :param match_variables: Required. List of match variables. + :type match_variables: + list[~azure.mgmt.network.v2020_04_01.models.MatchVariable] + :param operator: Required. The operator to be matched. Possible values + include: 'IPMatch', 'Equal', 'Contains', 'LessThan', 'GreaterThan', + 'LessThanOrEqual', 'GreaterThanOrEqual', 'BeginsWith', 'EndsWith', + 'Regex', 'GeoMatch' + :type operator: str or + ~azure.mgmt.network.v2020_04_01.models.WebApplicationFirewallOperator + :param negation_conditon: Whether this is negate condition or not. + :type negation_conditon: bool + :param match_values: Required. Match value. + :type match_values: list[str] + :param transforms: List of transforms. + :type transforms: list[str or + ~azure.mgmt.network.v2020_04_01.models.WebApplicationFirewallTransform] + """ + + _validation = { + 'match_variables': {'required': True}, + 'operator': {'required': True}, + 'match_values': {'required': True}, + } + + _attribute_map = { + 'match_variables': {'key': 'matchVariables', 'type': '[MatchVariable]'}, + 'operator': {'key': 'operator', 'type': 'str'}, + 'negation_conditon': {'key': 'negationConditon', 'type': 'bool'}, + 'match_values': {'key': 'matchValues', 'type': '[str]'}, + 'transforms': {'key': 'transforms', 'type': '[str]'}, + } + + def __init__(self, *, match_variables, operator, match_values, negation_conditon: bool=None, transforms=None, **kwargs) -> None: + super(MatchCondition, self).__init__(**kwargs) + self.match_variables = match_variables + self.operator = operator + self.negation_conditon = negation_conditon + self.match_values = match_values + self.transforms = transforms + + +class MatchedRule(Model): + """Matched rule. + + :param rule_name: Name of the matched network security rule. + :type rule_name: str + :param action: The network traffic is allowed or denied. Possible values + are 'Allow' and 'Deny'. + :type action: str + """ + + _attribute_map = { + 'rule_name': {'key': 'ruleName', 'type': 'str'}, + 'action': {'key': 'action', 'type': 'str'}, + } + + def __init__(self, *, rule_name: str=None, action: str=None, **kwargs) -> None: + super(MatchedRule, self).__init__(**kwargs) + self.rule_name = rule_name + self.action = action + + +class MatchVariable(Model): + """Define match variables. + + All required parameters must be populated in order to send to Azure. + + :param variable_name: Required. Match Variable. Possible values include: + 'RemoteAddr', 'RequestMethod', 'QueryString', 'PostArgs', 'RequestUri', + 'RequestHeaders', 'RequestBody', 'RequestCookies' + :type variable_name: str or + ~azure.mgmt.network.v2020_04_01.models.WebApplicationFirewallMatchVariable + :param selector: The selector of match variable. + :type selector: str + """ + + _validation = { + 'variable_name': {'required': True}, + } + + _attribute_map = { + 'variable_name': {'key': 'variableName', 'type': 'str'}, + 'selector': {'key': 'selector', 'type': 'str'}, + } + + def __init__(self, *, variable_name, selector: str=None, **kwargs) -> None: + super(MatchVariable, self).__init__(**kwargs) + self.variable_name = variable_name + self.selector = selector + + +class MetricSpecification(Model): + """Description of metrics specification. + + :param name: The name of the metric. + :type name: str + :param display_name: The display name of the metric. + :type display_name: str + :param display_description: The description of the metric. + :type display_description: str + :param unit: Units the metric to be displayed in. + :type unit: str + :param aggregation_type: The aggregation type. + :type aggregation_type: str + :param availabilities: List of availability. + :type availabilities: + list[~azure.mgmt.network.v2020_04_01.models.Availability] + :param enable_regional_mdm_account: Whether regional MDM account enabled. + :type enable_regional_mdm_account: bool + :param fill_gap_with_zero: Whether gaps would be filled with zeros. + :type fill_gap_with_zero: bool + :param metric_filter_pattern: Pattern for the filter of the metric. + :type metric_filter_pattern: str + :param dimensions: List of dimensions. + :type dimensions: list[~azure.mgmt.network.v2020_04_01.models.Dimension] + :param is_internal: Whether the metric is internal. + :type is_internal: bool + :param source_mdm_account: The source MDM account. + :type source_mdm_account: str + :param source_mdm_namespace: The source MDM namespace. + :type source_mdm_namespace: str + :param resource_id_dimension_name_override: The resource Id dimension name + override. + :type resource_id_dimension_name_override: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'display_description': {'key': 'displayDescription', 'type': 'str'}, + 'unit': {'key': 'unit', 'type': 'str'}, + 'aggregation_type': {'key': 'aggregationType', 'type': 'str'}, + 'availabilities': {'key': 'availabilities', 'type': '[Availability]'}, + 'enable_regional_mdm_account': {'key': 'enableRegionalMdmAccount', 'type': 'bool'}, + 'fill_gap_with_zero': {'key': 'fillGapWithZero', 'type': 'bool'}, + 'metric_filter_pattern': {'key': 'metricFilterPattern', 'type': 'str'}, + 'dimensions': {'key': 'dimensions', 'type': '[Dimension]'}, + 'is_internal': {'key': 'isInternal', 'type': 'bool'}, + 'source_mdm_account': {'key': 'sourceMdmAccount', 'type': 'str'}, + 'source_mdm_namespace': {'key': 'sourceMdmNamespace', 'type': 'str'}, + 'resource_id_dimension_name_override': {'key': 'resourceIdDimensionNameOverride', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, display_name: str=None, display_description: str=None, unit: str=None, aggregation_type: str=None, availabilities=None, enable_regional_mdm_account: bool=None, fill_gap_with_zero: bool=None, metric_filter_pattern: str=None, dimensions=None, is_internal: bool=None, source_mdm_account: str=None, source_mdm_namespace: str=None, resource_id_dimension_name_override: str=None, **kwargs) -> None: + super(MetricSpecification, self).__init__(**kwargs) + self.name = name + self.display_name = display_name + self.display_description = display_description + self.unit = unit + self.aggregation_type = aggregation_type + self.availabilities = availabilities + self.enable_regional_mdm_account = enable_regional_mdm_account + self.fill_gap_with_zero = fill_gap_with_zero + self.metric_filter_pattern = metric_filter_pattern + self.dimensions = dimensions + self.is_internal = is_internal + self.source_mdm_account = source_mdm_account + self.source_mdm_namespace = source_mdm_namespace + self.resource_id_dimension_name_override = resource_id_dimension_name_override + + +class NatGateway(Resource): + """Nat Gateway resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param sku: The nat gateway SKU. + :type sku: ~azure.mgmt.network.v2020_04_01.models.NatGatewaySku + :param idle_timeout_in_minutes: The idle timeout of the nat gateway. + :type idle_timeout_in_minutes: int + :param public_ip_addresses: An array of public ip addresses associated + with the nat gateway resource. + :type public_ip_addresses: + list[~azure.mgmt.network.v2020_04_01.models.SubResource] + :param public_ip_prefixes: An array of public ip prefixes associated with + the nat gateway resource. + :type public_ip_prefixes: + list[~azure.mgmt.network.v2020_04_01.models.SubResource] + :ivar subnets: An array of references to the subnets using this nat + gateway resource. + :vartype subnets: list[~azure.mgmt.network.v2020_04_01.models.SubResource] + :ivar resource_guid: The resource GUID property of the NAT gateway + resource. + :vartype resource_guid: str + :ivar provisioning_state: The provisioning state of the NAT gateway + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param zones: A list of availability zones denoting the zone in which Nat + Gateway should be deployed. + :type zones: list[str] + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'subnets': {'readonly': True}, + 'resource_guid': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'sku': {'key': 'sku', 'type': 'NatGatewaySku'}, + 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, + 'public_ip_addresses': {'key': 'properties.publicIpAddresses', 'type': '[SubResource]'}, + 'public_ip_prefixes': {'key': 'properties.publicIpPrefixes', 'type': '[SubResource]'}, + 'subnets': {'key': 'properties.subnets', 'type': '[SubResource]'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'zones': {'key': 'zones', 'type': '[str]'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, sku=None, idle_timeout_in_minutes: int=None, public_ip_addresses=None, public_ip_prefixes=None, zones=None, **kwargs) -> None: + super(NatGateway, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.sku = sku + self.idle_timeout_in_minutes = idle_timeout_in_minutes + self.public_ip_addresses = public_ip_addresses + self.public_ip_prefixes = public_ip_prefixes + self.subnets = None + self.resource_guid = None + self.provisioning_state = None + self.zones = zones + self.etag = None + + +class NatGatewaySku(Model): + """SKU of nat gateway. + + :param name: Name of Nat Gateway SKU. Possible values include: 'Standard' + :type name: str or + ~azure.mgmt.network.v2020_04_01.models.NatGatewaySkuName + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, *, name=None, **kwargs) -> None: + super(NatGatewaySku, self).__init__(**kwargs) + self.name = name + + +class NatRuleCondition(FirewallPolicyRuleCondition): + """Rule condition of type nat. + + All required parameters must be populated in order to send to Azure. + + :param name: Name of the rule condition. + :type name: str + :param description: Description of the rule condition. + :type description: str + :param rule_condition_type: Required. Constant filled by server. + :type rule_condition_type: str + :param ip_protocols: Array of FirewallPolicyRuleConditionNetworkProtocols. + :type ip_protocols: list[str or + ~azure.mgmt.network.v2020_04_01.models.FirewallPolicyRuleConditionNetworkProtocol] + :param source_addresses: List of source IP addresses for this rule. + :type source_addresses: list[str] + :param destination_addresses: List of destination IP addresses or Service + Tags. + :type destination_addresses: list[str] + :param destination_ports: List of destination ports. + :type destination_ports: list[str] + :param source_ip_groups: List of source IpGroups for this rule. + :type source_ip_groups: list[str] + :param terminate_tls: Terminate TLS connections for this rule. + :type terminate_tls: bool + """ + + _validation = { + 'rule_condition_type': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'rule_condition_type': {'key': 'ruleConditionType', 'type': 'str'}, + 'ip_protocols': {'key': 'ipProtocols', 'type': '[str]'}, + 'source_addresses': {'key': 'sourceAddresses', 'type': '[str]'}, + 'destination_addresses': {'key': 'destinationAddresses', 'type': '[str]'}, + 'destination_ports': {'key': 'destinationPorts', 'type': '[str]'}, + 'source_ip_groups': {'key': 'sourceIpGroups', 'type': '[str]'}, + 'terminate_tls': {'key': 'terminateTLS', 'type': 'bool'}, + } + + def __init__(self, *, name: str=None, description: str=None, ip_protocols=None, source_addresses=None, destination_addresses=None, destination_ports=None, source_ip_groups=None, terminate_tls: bool=None, **kwargs) -> None: + super(NatRuleCondition, self).__init__(name=name, description=description, **kwargs) + self.ip_protocols = ip_protocols + self.source_addresses = source_addresses + self.destination_addresses = destination_addresses + self.destination_ports = destination_ports + self.source_ip_groups = source_ip_groups + self.terminate_tls = terminate_tls + self.rule_condition_type = 'NatRuleCondition' + + +class NetworkConfigurationDiagnosticParameters(Model): + """Parameters to get network configuration diagnostic. + + All required parameters must be populated in order to send to Azure. + + :param target_resource_id: Required. The ID of the target resource to + perform network configuration diagnostic. Valid options are VM, + NetworkInterface, VMSS/NetworkInterface and Application Gateway. + :type target_resource_id: str + :param verbosity_level: Verbosity level. Possible values include: + 'Normal', 'Minimum', 'Full' + :type verbosity_level: str or + ~azure.mgmt.network.v2020_04_01.models.VerbosityLevel + :param profiles: Required. List of network configuration diagnostic + profiles. + :type profiles: + list[~azure.mgmt.network.v2020_04_01.models.NetworkConfigurationDiagnosticProfile] + """ + + _validation = { + 'target_resource_id': {'required': True}, + 'profiles': {'required': True}, + } + + _attribute_map = { + 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, + 'verbosity_level': {'key': 'verbosityLevel', 'type': 'str'}, + 'profiles': {'key': 'profiles', 'type': '[NetworkConfigurationDiagnosticProfile]'}, + } + + def __init__(self, *, target_resource_id: str, profiles, verbosity_level=None, **kwargs) -> None: + super(NetworkConfigurationDiagnosticParameters, self).__init__(**kwargs) + self.target_resource_id = target_resource_id + self.verbosity_level = verbosity_level + self.profiles = profiles + + +class NetworkConfigurationDiagnosticProfile(Model): + """Parameters to compare with network configuration. + + All required parameters must be populated in order to send to Azure. + + :param direction: Required. The direction of the traffic. Possible values + include: 'Inbound', 'Outbound' + :type direction: str or ~azure.mgmt.network.v2020_04_01.models.Direction + :param protocol: Required. Protocol to be verified on. Accepted values are + '*', TCP, UDP. + :type protocol: str + :param source: Required. Traffic source. Accepted values are '*', IP + Address/CIDR, Service Tag. + :type source: str + :param destination: Required. Traffic destination. Accepted values are: + '*', IP Address/CIDR, Service Tag. + :type destination: str + :param destination_port: Required. Traffic destination port. Accepted + values are '*' and a single port in the range (0 - 65535). + :type destination_port: str + """ + + _validation = { + 'direction': {'required': True}, + 'protocol': {'required': True}, + 'source': {'required': True}, + 'destination': {'required': True}, + 'destination_port': {'required': True}, + } + + _attribute_map = { + 'direction': {'key': 'direction', 'type': 'str'}, + 'protocol': {'key': 'protocol', 'type': 'str'}, + 'source': {'key': 'source', 'type': 'str'}, + 'destination': {'key': 'destination', 'type': 'str'}, + 'destination_port': {'key': 'destinationPort', 'type': 'str'}, + } + + def __init__(self, *, direction, protocol: str, source: str, destination: str, destination_port: str, **kwargs) -> None: + super(NetworkConfigurationDiagnosticProfile, self).__init__(**kwargs) + self.direction = direction + self.protocol = protocol + self.source = source + self.destination = destination + self.destination_port = destination_port + + +class NetworkConfigurationDiagnosticResponse(Model): + """Results of network configuration diagnostic on the target resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar results: List of network configuration diagnostic results. + :vartype results: + list[~azure.mgmt.network.v2020_04_01.models.NetworkConfigurationDiagnosticResult] + """ + + _validation = { + 'results': {'readonly': True}, + } + + _attribute_map = { + 'results': {'key': 'results', 'type': '[NetworkConfigurationDiagnosticResult]'}, + } + + def __init__(self, **kwargs) -> None: + super(NetworkConfigurationDiagnosticResponse, self).__init__(**kwargs) + self.results = None + + +class NetworkConfigurationDiagnosticResult(Model): + """Network configuration diagnostic result corresponded to provided traffic + query. + + :param profile: Network configuration diagnostic profile. + :type profile: + ~azure.mgmt.network.v2020_04_01.models.NetworkConfigurationDiagnosticProfile + :param network_security_group_result: Network security group result. + :type network_security_group_result: + ~azure.mgmt.network.v2020_04_01.models.NetworkSecurityGroupResult + """ + + _attribute_map = { + 'profile': {'key': 'profile', 'type': 'NetworkConfigurationDiagnosticProfile'}, + 'network_security_group_result': {'key': 'networkSecurityGroupResult', 'type': 'NetworkSecurityGroupResult'}, + } + + def __init__(self, *, profile=None, network_security_group_result=None, **kwargs) -> None: + super(NetworkConfigurationDiagnosticResult, self).__init__(**kwargs) + self.profile = profile + self.network_security_group_result = network_security_group_result + + +class NetworkIntentPolicy(Resource): + """Network Intent Policy resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, **kwargs) -> None: + super(NetworkIntentPolicy, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.etag = None + + +class NetworkIntentPolicyConfiguration(Model): + """Details of NetworkIntentPolicyConfiguration for + PrepareNetworkPoliciesRequest. + + :param network_intent_policy_name: The name of the Network Intent Policy + for storing in target subscription. + :type network_intent_policy_name: str + :param source_network_intent_policy: Source network intent policy. + :type source_network_intent_policy: + ~azure.mgmt.network.v2020_04_01.models.NetworkIntentPolicy + """ + + _attribute_map = { + 'network_intent_policy_name': {'key': 'networkIntentPolicyName', 'type': 'str'}, + 'source_network_intent_policy': {'key': 'sourceNetworkIntentPolicy', 'type': 'NetworkIntentPolicy'}, + } + + def __init__(self, *, network_intent_policy_name: str=None, source_network_intent_policy=None, **kwargs) -> None: + super(NetworkIntentPolicyConfiguration, self).__init__(**kwargs) + self.network_intent_policy_name = network_intent_policy_name + self.source_network_intent_policy = source_network_intent_policy + + +class NetworkInterface(Resource): + """A network interface in a resource group. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar virtual_machine: The reference to a virtual machine. + :vartype virtual_machine: + ~azure.mgmt.network.v2020_04_01.models.SubResource + :param network_security_group: The reference to the NetworkSecurityGroup + resource. + :type network_security_group: + ~azure.mgmt.network.v2020_04_01.models.NetworkSecurityGroup + :ivar private_endpoint: A reference to the private endpoint to which the + network interface is linked. + :vartype private_endpoint: + ~azure.mgmt.network.v2020_04_01.models.PrivateEndpoint + :param ip_configurations: A list of IPConfigurations of the network + interface. + :type ip_configurations: + list[~azure.mgmt.network.v2020_04_01.models.NetworkInterfaceIPConfiguration] + :ivar tap_configurations: A list of TapConfigurations of the network + interface. + :vartype tap_configurations: + list[~azure.mgmt.network.v2020_04_01.models.NetworkInterfaceTapConfiguration] + :param dns_settings: The DNS settings in network interface. + :type dns_settings: + ~azure.mgmt.network.v2020_04_01.models.NetworkInterfaceDnsSettings + :ivar mac_address: The MAC address of the network interface. + :vartype mac_address: str + :ivar primary: Whether this is a primary network interface on a virtual + machine. + :vartype primary: bool + :param enable_accelerated_networking: If the network interface is + accelerated networking enabled. + :type enable_accelerated_networking: bool + :param enable_ip_forwarding: Indicates whether IP forwarding is enabled on + this network interface. + :type enable_ip_forwarding: bool + :ivar hosted_workloads: A list of references to linked BareMetal + resources. + :vartype hosted_workloads: list[str] + :ivar resource_guid: The resource GUID property of the network interface + resource. + :vartype resource_guid: str + :ivar provisioning_state: The provisioning state of the network interface + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'virtual_machine': {'readonly': True}, + 'private_endpoint': {'readonly': True}, + 'tap_configurations': {'readonly': True}, + 'mac_address': {'readonly': True}, + 'primary': {'readonly': True}, + 'hosted_workloads': {'readonly': True}, + 'resource_guid': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'virtual_machine': {'key': 'properties.virtualMachine', 'type': 'SubResource'}, + 'network_security_group': {'key': 'properties.networkSecurityGroup', 'type': 'NetworkSecurityGroup'}, + 'private_endpoint': {'key': 'properties.privateEndpoint', 'type': 'PrivateEndpoint'}, + 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[NetworkInterfaceIPConfiguration]'}, + 'tap_configurations': {'key': 'properties.tapConfigurations', 'type': '[NetworkInterfaceTapConfiguration]'}, + 'dns_settings': {'key': 'properties.dnsSettings', 'type': 'NetworkInterfaceDnsSettings'}, + 'mac_address': {'key': 'properties.macAddress', 'type': 'str'}, + 'primary': {'key': 'properties.primary', 'type': 'bool'}, + 'enable_accelerated_networking': {'key': 'properties.enableAcceleratedNetworking', 'type': 'bool'}, + 'enable_ip_forwarding': {'key': 'properties.enableIPForwarding', 'type': 'bool'}, + 'hosted_workloads': {'key': 'properties.hostedWorkloads', 'type': '[str]'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, network_security_group=None, ip_configurations=None, dns_settings=None, enable_accelerated_networking: bool=None, enable_ip_forwarding: bool=None, **kwargs) -> None: + super(NetworkInterface, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.virtual_machine = None + self.network_security_group = network_security_group + self.private_endpoint = None + self.ip_configurations = ip_configurations + self.tap_configurations = None + self.dns_settings = dns_settings + self.mac_address = None + self.primary = None + self.enable_accelerated_networking = enable_accelerated_networking + self.enable_ip_forwarding = enable_ip_forwarding + self.hosted_workloads = None + self.resource_guid = None + self.provisioning_state = None + self.etag = None + + +class NetworkInterfaceAssociation(Model): + """Network interface and its custom security rules. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Network interface ID. + :vartype id: str + :param security_rules: Collection of custom security rules. + :type security_rules: + list[~azure.mgmt.network.v2020_04_01.models.SecurityRule] + """ + + _validation = { + 'id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'security_rules': {'key': 'securityRules', 'type': '[SecurityRule]'}, + } + + def __init__(self, *, security_rules=None, **kwargs) -> None: + super(NetworkInterfaceAssociation, self).__init__(**kwargs) + self.id = None + self.security_rules = security_rules + + +class NetworkInterfaceDnsSettings(Model): + """DNS settings of a network interface. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param dns_servers: List of DNS servers IP addresses. Use + 'AzureProvidedDNS' to switch to azure provided DNS resolution. + 'AzureProvidedDNS' value cannot be combined with other IPs, it must be the + only value in dnsServers collection. + :type dns_servers: list[str] + :ivar applied_dns_servers: If the VM that uses this NIC is part of an + Availability Set, then this list will have the union of all DNS servers + from all NICs that are part of the Availability Set. This property is what + is configured on each of those VMs. + :vartype applied_dns_servers: list[str] + :param internal_dns_name_label: Relative DNS name for this NIC used for + internal communications between VMs in the same virtual network. + :type internal_dns_name_label: str + :ivar internal_fqdn: Fully qualified DNS name supporting internal + communications between VMs in the same virtual network. + :vartype internal_fqdn: str + :ivar internal_domain_name_suffix: Even if internalDnsNameLabel is not + specified, a DNS entry is created for the primary NIC of the VM. This DNS + name can be constructed by concatenating the VM name with the value of + internalDomainNameSuffix. + :vartype internal_domain_name_suffix: str + """ + + _validation = { + 'applied_dns_servers': {'readonly': True}, + 'internal_fqdn': {'readonly': True}, + 'internal_domain_name_suffix': {'readonly': True}, + } + + _attribute_map = { + 'dns_servers': {'key': 'dnsServers', 'type': '[str]'}, + 'applied_dns_servers': {'key': 'appliedDnsServers', 'type': '[str]'}, + 'internal_dns_name_label': {'key': 'internalDnsNameLabel', 'type': 'str'}, + 'internal_fqdn': {'key': 'internalFqdn', 'type': 'str'}, + 'internal_domain_name_suffix': {'key': 'internalDomainNameSuffix', 'type': 'str'}, + } + + def __init__(self, *, dns_servers=None, internal_dns_name_label: str=None, **kwargs) -> None: + super(NetworkInterfaceDnsSettings, self).__init__(**kwargs) + self.dns_servers = dns_servers + self.applied_dns_servers = None + self.internal_dns_name_label = internal_dns_name_label + self.internal_fqdn = None + self.internal_domain_name_suffix = None + + +class NetworkInterfaceIPConfiguration(SubResource): + """IPConfiguration in a network interface. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param virtual_network_taps: The reference to Virtual Network Taps. + :type virtual_network_taps: + list[~azure.mgmt.network.v2020_04_01.models.VirtualNetworkTap] + :param application_gateway_backend_address_pools: The reference to + ApplicationGatewayBackendAddressPool resource. + :type application_gateway_backend_address_pools: + list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayBackendAddressPool] + :param load_balancer_backend_address_pools: The reference to + LoadBalancerBackendAddressPool resource. + :type load_balancer_backend_address_pools: + list[~azure.mgmt.network.v2020_04_01.models.BackendAddressPool] + :param load_balancer_inbound_nat_rules: A list of references of + LoadBalancerInboundNatRules. + :type load_balancer_inbound_nat_rules: + list[~azure.mgmt.network.v2020_04_01.models.InboundNatRule] + :param private_ip_address: Private IP address of the IP configuration. + :type private_ip_address: str + :param private_ip_allocation_method: The private IP address allocation + method. Possible values include: 'Static', 'Dynamic' + :type private_ip_allocation_method: str or + ~azure.mgmt.network.v2020_04_01.models.IPAllocationMethod + :param private_ip_address_version: Whether the specific IP configuration + is IPv4 or IPv6. Default is IPv4. Possible values include: 'IPv4', 'IPv6' + :type private_ip_address_version: str or + ~azure.mgmt.network.v2020_04_01.models.IPVersion + :param subnet: Subnet bound to the IP configuration. + :type subnet: ~azure.mgmt.network.v2020_04_01.models.Subnet + :param primary: Whether this is a primary customer address on the network + interface. + :type primary: bool + :param public_ip_address: Public IP address bound to the IP configuration. + :type public_ip_address: + ~azure.mgmt.network.v2020_04_01.models.PublicIPAddress + :param application_security_groups: Application security groups in which + the IP configuration is included. + :type application_security_groups: + list[~azure.mgmt.network.v2020_04_01.models.ApplicationSecurityGroup] + :ivar provisioning_state: The provisioning state of the network interface + IP configuration. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :ivar private_link_connection_properties: PrivateLinkConnection properties + for the network interface. + :vartype private_link_connection_properties: + ~azure.mgmt.network.v2020_04_01.models.NetworkInterfaceIPConfigurationPrivateLinkConnectionProperties + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'private_link_connection_properties': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'virtual_network_taps': {'key': 'properties.virtualNetworkTaps', 'type': '[VirtualNetworkTap]'}, + 'application_gateway_backend_address_pools': {'key': 'properties.applicationGatewayBackendAddressPools', 'type': '[ApplicationGatewayBackendAddressPool]'}, + 'load_balancer_backend_address_pools': {'key': 'properties.loadBalancerBackendAddressPools', 'type': '[BackendAddressPool]'}, + 'load_balancer_inbound_nat_rules': {'key': 'properties.loadBalancerInboundNatRules', 'type': '[InboundNatRule]'}, + 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, + 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, + 'private_ip_address_version': {'key': 'properties.privateIPAddressVersion', 'type': 'str'}, + 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, + 'primary': {'key': 'properties.primary', 'type': 'bool'}, + 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'PublicIPAddress'}, + 'application_security_groups': {'key': 'properties.applicationSecurityGroups', 'type': '[ApplicationSecurityGroup]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'private_link_connection_properties': {'key': 'properties.privateLinkConnectionProperties', 'type': 'NetworkInterfaceIPConfigurationPrivateLinkConnectionProperties'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, virtual_network_taps=None, application_gateway_backend_address_pools=None, load_balancer_backend_address_pools=None, load_balancer_inbound_nat_rules=None, private_ip_address: str=None, private_ip_allocation_method=None, private_ip_address_version=None, subnet=None, primary: bool=None, public_ip_address=None, application_security_groups=None, name: str=None, **kwargs) -> None: + super(NetworkInterfaceIPConfiguration, self).__init__(id=id, **kwargs) + self.virtual_network_taps = virtual_network_taps + self.application_gateway_backend_address_pools = application_gateway_backend_address_pools + self.load_balancer_backend_address_pools = load_balancer_backend_address_pools + self.load_balancer_inbound_nat_rules = load_balancer_inbound_nat_rules + self.private_ip_address = private_ip_address + self.private_ip_allocation_method = private_ip_allocation_method + self.private_ip_address_version = private_ip_address_version + self.subnet = subnet + self.primary = primary + self.public_ip_address = public_ip_address + self.application_security_groups = application_security_groups + self.provisioning_state = None + self.private_link_connection_properties = None + self.name = name + self.etag = None + + +class NetworkInterfaceIPConfigurationPrivateLinkConnectionProperties(Model): + """PrivateLinkConnection properties for the network interface. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar group_id: The group ID for current private link connection. + :vartype group_id: str + :ivar required_member_name: The required member name for current private + link connection. + :vartype required_member_name: str + :ivar fqdns: List of FQDNs for current private link connection. + :vartype fqdns: list[str] + """ + + _validation = { + 'group_id': {'readonly': True}, + 'required_member_name': {'readonly': True}, + 'fqdns': {'readonly': True}, + } + + _attribute_map = { + 'group_id': {'key': 'groupId', 'type': 'str'}, + 'required_member_name': {'key': 'requiredMemberName', 'type': 'str'}, + 'fqdns': {'key': 'fqdns', 'type': '[str]'}, + } + + def __init__(self, **kwargs) -> None: + super(NetworkInterfaceIPConfigurationPrivateLinkConnectionProperties, self).__init__(**kwargs) + self.group_id = None + self.required_member_name = None + self.fqdns = None + + +class NetworkInterfaceTapConfiguration(SubResource): + """Tap configuration in a Network Interface. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param virtual_network_tap: The reference to the Virtual Network Tap + resource. + :type virtual_network_tap: + ~azure.mgmt.network.v2020_04_01.models.VirtualNetworkTap + :ivar provisioning_state: The provisioning state of the network interface + tap configuration resource. Possible values include: 'Succeeded', + 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Sub Resource type. + :vartype type: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'virtual_network_tap': {'key': 'properties.virtualNetworkTap', 'type': 'VirtualNetworkTap'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, virtual_network_tap=None, name: str=None, **kwargs) -> None: + super(NetworkInterfaceTapConfiguration, self).__init__(id=id, **kwargs) + self.virtual_network_tap = virtual_network_tap + self.provisioning_state = None + self.name = name + self.etag = None + self.type = None + + +class NetworkProfile(Resource): + """Network profile resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar container_network_interfaces: List of child container network + interfaces. + :vartype container_network_interfaces: + list[~azure.mgmt.network.v2020_04_01.models.ContainerNetworkInterface] + :param container_network_interface_configurations: List of chid container + network interface configurations. + :type container_network_interface_configurations: + list[~azure.mgmt.network.v2020_04_01.models.ContainerNetworkInterfaceConfiguration] + :ivar resource_guid: The resource GUID property of the network profile + resource. + :vartype resource_guid: str + :ivar provisioning_state: The provisioning state of the network profile + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'container_network_interfaces': {'readonly': True}, + 'resource_guid': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'container_network_interfaces': {'key': 'properties.containerNetworkInterfaces', 'type': '[ContainerNetworkInterface]'}, + 'container_network_interface_configurations': {'key': 'properties.containerNetworkInterfaceConfigurations', 'type': '[ContainerNetworkInterfaceConfiguration]'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, container_network_interface_configurations=None, **kwargs) -> None: + super(NetworkProfile, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.container_network_interfaces = None + self.container_network_interface_configurations = container_network_interface_configurations + self.resource_guid = None + self.provisioning_state = None + self.etag = None + + +class NetworkRuleCondition(FirewallPolicyRuleCondition): + """Rule condition of type network. + + All required parameters must be populated in order to send to Azure. + + :param name: Name of the rule condition. + :type name: str + :param description: Description of the rule condition. + :type description: str + :param rule_condition_type: Required. Constant filled by server. + :type rule_condition_type: str + :param ip_protocols: Array of FirewallPolicyRuleConditionNetworkProtocols. + :type ip_protocols: list[str or + ~azure.mgmt.network.v2020_04_01.models.FirewallPolicyRuleConditionNetworkProtocol] + :param source_addresses: List of source IP addresses for this rule. + :type source_addresses: list[str] + :param destination_addresses: List of destination IP addresses or Service + Tags. + :type destination_addresses: list[str] + :param destination_ports: List of destination ports. + :type destination_ports: list[str] + :param source_ip_groups: List of source IpGroups for this rule. + :type source_ip_groups: list[str] + :param destination_ip_groups: List of destination IpGroups for this rule. + :type destination_ip_groups: list[str] + """ + + _validation = { + 'rule_condition_type': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'rule_condition_type': {'key': 'ruleConditionType', 'type': 'str'}, + 'ip_protocols': {'key': 'ipProtocols', 'type': '[str]'}, + 'source_addresses': {'key': 'sourceAddresses', 'type': '[str]'}, + 'destination_addresses': {'key': 'destinationAddresses', 'type': '[str]'}, + 'destination_ports': {'key': 'destinationPorts', 'type': '[str]'}, + 'source_ip_groups': {'key': 'sourceIpGroups', 'type': '[str]'}, + 'destination_ip_groups': {'key': 'destinationIpGroups', 'type': '[str]'}, + } + + def __init__(self, *, name: str=None, description: str=None, ip_protocols=None, source_addresses=None, destination_addresses=None, destination_ports=None, source_ip_groups=None, destination_ip_groups=None, **kwargs) -> None: + super(NetworkRuleCondition, self).__init__(name=name, description=description, **kwargs) + self.ip_protocols = ip_protocols + self.source_addresses = source_addresses + self.destination_addresses = destination_addresses + self.destination_ports = destination_ports + self.source_ip_groups = source_ip_groups + self.destination_ip_groups = destination_ip_groups + self.rule_condition_type = 'NetworkRuleCondition' + + +class NetworkSecurityGroup(Resource): + """NetworkSecurityGroup resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param security_rules: A collection of security rules of the network + security group. + :type security_rules: + list[~azure.mgmt.network.v2020_04_01.models.SecurityRule] + :ivar default_security_rules: The default security rules of network + security group. + :vartype default_security_rules: + list[~azure.mgmt.network.v2020_04_01.models.SecurityRule] + :ivar network_interfaces: A collection of references to network + interfaces. + :vartype network_interfaces: + list[~azure.mgmt.network.v2020_04_01.models.NetworkInterface] + :ivar subnets: A collection of references to subnets. + :vartype subnets: list[~azure.mgmt.network.v2020_04_01.models.Subnet] + :ivar flow_logs: A collection of references to flow log resources. + :vartype flow_logs: list[~azure.mgmt.network.v2020_04_01.models.FlowLog] + :ivar resource_guid: The resource GUID property of the network security + group resource. + :vartype resource_guid: str + :ivar provisioning_state: The provisioning state of the network security + group resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'default_security_rules': {'readonly': True}, + 'network_interfaces': {'readonly': True}, + 'subnets': {'readonly': True}, + 'flow_logs': {'readonly': True}, + 'resource_guid': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'security_rules': {'key': 'properties.securityRules', 'type': '[SecurityRule]'}, + 'default_security_rules': {'key': 'properties.defaultSecurityRules', 'type': '[SecurityRule]'}, + 'network_interfaces': {'key': 'properties.networkInterfaces', 'type': '[NetworkInterface]'}, + 'subnets': {'key': 'properties.subnets', 'type': '[Subnet]'}, + 'flow_logs': {'key': 'properties.flowLogs', 'type': '[FlowLog]'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, security_rules=None, **kwargs) -> None: + super(NetworkSecurityGroup, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.security_rules = security_rules + self.default_security_rules = None + self.network_interfaces = None + self.subnets = None + self.flow_logs = None + self.resource_guid = None + self.provisioning_state = None + self.etag = None + + +class NetworkSecurityGroupResult(Model): + """Network configuration diagnostic result corresponded provided traffic + query. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param security_rule_access_result: The network traffic is allowed or + denied. Possible values include: 'Allow', 'Deny' + :type security_rule_access_result: str or + ~azure.mgmt.network.v2020_04_01.models.SecurityRuleAccess + :ivar evaluated_network_security_groups: List of results network security + groups diagnostic. + :vartype evaluated_network_security_groups: + list[~azure.mgmt.network.v2020_04_01.models.EvaluatedNetworkSecurityGroup] + """ + + _validation = { + 'evaluated_network_security_groups': {'readonly': True}, + } + + _attribute_map = { + 'security_rule_access_result': {'key': 'securityRuleAccessResult', 'type': 'str'}, + 'evaluated_network_security_groups': {'key': 'evaluatedNetworkSecurityGroups', 'type': '[EvaluatedNetworkSecurityGroup]'}, + } + + def __init__(self, *, security_rule_access_result=None, **kwargs) -> None: + super(NetworkSecurityGroupResult, self).__init__(**kwargs) + self.security_rule_access_result = security_rule_access_result + self.evaluated_network_security_groups = None + + +class NetworkSecurityRulesEvaluationResult(Model): + """Network security rules evaluation result. + + :param name: Name of the network security rule. + :type name: str + :param protocol_matched: Value indicating whether protocol is matched. + :type protocol_matched: bool + :param source_matched: Value indicating whether source is matched. + :type source_matched: bool + :param source_port_matched: Value indicating whether source port is + matched. + :type source_port_matched: bool + :param destination_matched: Value indicating whether destination is + matched. + :type destination_matched: bool + :param destination_port_matched: Value indicating whether destination port + is matched. + :type destination_port_matched: bool + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'protocol_matched': {'key': 'protocolMatched', 'type': 'bool'}, + 'source_matched': {'key': 'sourceMatched', 'type': 'bool'}, + 'source_port_matched': {'key': 'sourcePortMatched', 'type': 'bool'}, + 'destination_matched': {'key': 'destinationMatched', 'type': 'bool'}, + 'destination_port_matched': {'key': 'destinationPortMatched', 'type': 'bool'}, + } + + def __init__(self, *, name: str=None, protocol_matched: bool=None, source_matched: bool=None, source_port_matched: bool=None, destination_matched: bool=None, destination_port_matched: bool=None, **kwargs) -> None: + super(NetworkSecurityRulesEvaluationResult, self).__init__(**kwargs) + self.name = name + self.protocol_matched = protocol_matched + self.source_matched = source_matched + self.source_port_matched = source_port_matched + self.destination_matched = destination_matched + self.destination_port_matched = destination_port_matched + + +class NetworkVirtualAppliance(Resource): + """NetworkVirtualAppliance Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param boot_strap_configuration_blob: BootStrapConfigurationBlob storage + URLs. + :type boot_strap_configuration_blob: list[str] + :param virtual_hub: The Virtual Hub where Network Virtual Appliance is + being deployed. + :type virtual_hub: ~azure.mgmt.network.v2020_04_01.models.SubResource + :param cloud_init_configuration_blob: CloudInitConfigurationBlob storage + URLs. + :type cloud_init_configuration_blob: list[str] + :param virtual_appliance_asn: VirtualAppliance ASN. + :type virtual_appliance_asn: long + :ivar virtual_appliance_nics: List of Virtual Appliance Network + Interfaces. + :vartype virtual_appliance_nics: + list[~azure.mgmt.network.v2020_04_01.models.VirtualApplianceNicProperties] + :ivar provisioning_state: The provisioning state of the resource. Possible + values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param identity: The service principal that has read access to cloud-init + and config blob. + :type identity: + ~azure.mgmt.network.v2020_04_01.models.ManagedServiceIdentity + :param sku: Network Virtual Appliance SKU. + :type sku: + ~azure.mgmt.network.v2020_04_01.models.VirtualApplianceSkuProperties + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'virtual_appliance_asn': {'maximum': 4294967295, 'minimum': 0}, + 'virtual_appliance_nics': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'boot_strap_configuration_blob': {'key': 'properties.bootStrapConfigurationBlob', 'type': '[str]'}, + 'virtual_hub': {'key': 'properties.virtualHub', 'type': 'SubResource'}, + 'cloud_init_configuration_blob': {'key': 'properties.cloudInitConfigurationBlob', 'type': '[str]'}, + 'virtual_appliance_asn': {'key': 'properties.virtualApplianceAsn', 'type': 'long'}, + 'virtual_appliance_nics': {'key': 'properties.virtualApplianceNics', 'type': '[VirtualApplianceNicProperties]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, + 'sku': {'key': 'sku', 'type': 'VirtualApplianceSkuProperties'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, boot_strap_configuration_blob=None, virtual_hub=None, cloud_init_configuration_blob=None, virtual_appliance_asn: int=None, identity=None, sku=None, **kwargs) -> None: + super(NetworkVirtualAppliance, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.boot_strap_configuration_blob = boot_strap_configuration_blob + self.virtual_hub = virtual_hub + self.cloud_init_configuration_blob = cloud_init_configuration_blob + self.virtual_appliance_asn = virtual_appliance_asn + self.virtual_appliance_nics = None + self.provisioning_state = None + self.identity = identity + self.sku = sku + self.etag = None + + +class NetworkWatcher(Resource): + """Network watcher in a resource group. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar provisioning_state: The provisioning state of the network watcher + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, **kwargs) -> None: + super(NetworkWatcher, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.etag = None + self.provisioning_state = None + + +class NextHopParameters(Model): + """Parameters that define the source and destination endpoint. + + All required parameters must be populated in order to send to Azure. + + :param target_resource_id: Required. The resource identifier of the target + resource against which the action is to be performed. + :type target_resource_id: str + :param source_ip_address: Required. The source IP address. + :type source_ip_address: str + :param destination_ip_address: Required. The destination IP address. + :type destination_ip_address: str + :param target_nic_resource_id: The NIC ID. (If VM has multiple NICs and IP + forwarding is enabled on any of the nics, then this parameter must be + specified. Otherwise optional). + :type target_nic_resource_id: str + """ + + _validation = { + 'target_resource_id': {'required': True}, + 'source_ip_address': {'required': True}, + 'destination_ip_address': {'required': True}, + } + + _attribute_map = { + 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, + 'source_ip_address': {'key': 'sourceIPAddress', 'type': 'str'}, + 'destination_ip_address': {'key': 'destinationIPAddress', 'type': 'str'}, + 'target_nic_resource_id': {'key': 'targetNicResourceId', 'type': 'str'}, + } + + def __init__(self, *, target_resource_id: str, source_ip_address: str, destination_ip_address: str, target_nic_resource_id: str=None, **kwargs) -> None: + super(NextHopParameters, self).__init__(**kwargs) + self.target_resource_id = target_resource_id + self.source_ip_address = source_ip_address + self.destination_ip_address = destination_ip_address + self.target_nic_resource_id = target_nic_resource_id + + +class NextHopResult(Model): + """The information about next hop from the specified VM. + + :param next_hop_type: Next hop type. Possible values include: 'Internet', + 'VirtualAppliance', 'VirtualNetworkGateway', 'VnetLocal', + 'HyperNetGateway', 'None' + :type next_hop_type: str or + ~azure.mgmt.network.v2020_04_01.models.NextHopType + :param next_hop_ip_address: Next hop IP Address. + :type next_hop_ip_address: str + :param route_table_id: The resource identifier for the route table + associated with the route being returned. If the route being returned does + not correspond to any user created routes then this field will be the + string 'System Route'. + :type route_table_id: str + """ + + _attribute_map = { + 'next_hop_type': {'key': 'nextHopType', 'type': 'str'}, + 'next_hop_ip_address': {'key': 'nextHopIpAddress', 'type': 'str'}, + 'route_table_id': {'key': 'routeTableId', 'type': 'str'}, + } + + def __init__(self, *, next_hop_type=None, next_hop_ip_address: str=None, route_table_id: str=None, **kwargs) -> None: + super(NextHopResult, self).__init__(**kwargs) + self.next_hop_type = next_hop_type + self.next_hop_ip_address = next_hop_ip_address + self.route_table_id = route_table_id + + +class Operation(Model): + """Network REST API operation definition. + + :param name: Operation name: {provider}/{resource}/{operation}. + :type name: str + :param display: Display metadata associated with the operation. + :type display: ~azure.mgmt.network.v2020_04_01.models.OperationDisplay + :param origin: Origin of the operation. + :type origin: str + :param service_specification: Specification of the service. + :type service_specification: + ~azure.mgmt.network.v2020_04_01.models.OperationPropertiesFormatServiceSpecification + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'OperationDisplay'}, + 'origin': {'key': 'origin', 'type': 'str'}, + 'service_specification': {'key': 'properties.serviceSpecification', 'type': 'OperationPropertiesFormatServiceSpecification'}, + } + + def __init__(self, *, name: str=None, display=None, origin: str=None, service_specification=None, **kwargs) -> None: + super(Operation, self).__init__(**kwargs) + self.name = name + self.display = display + self.origin = origin + self.service_specification = service_specification + + +class OperationDisplay(Model): + """Display metadata associated with the operation. + + :param provider: Service provider: Microsoft Network. + :type provider: str + :param resource: Resource on which the operation is performed. + :type resource: str + :param operation: Type of the operation: get, read, delete, etc. + :type operation: str + :param description: Description of the operation. + :type description: str + """ + + _attribute_map = { + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__(self, *, provider: str=None, resource: str=None, operation: str=None, description: str=None, **kwargs) -> None: + super(OperationDisplay, self).__init__(**kwargs) + self.provider = provider + self.resource = resource + self.operation = operation + self.description = description + + +class OperationPropertiesFormatServiceSpecification(Model): + """Specification of the service. + + :param metric_specifications: Operation service specification. + :type metric_specifications: + list[~azure.mgmt.network.v2020_04_01.models.MetricSpecification] + :param log_specifications: Operation log specification. + :type log_specifications: + list[~azure.mgmt.network.v2020_04_01.models.LogSpecification] + """ + + _attribute_map = { + 'metric_specifications': {'key': 'metricSpecifications', 'type': '[MetricSpecification]'}, + 'log_specifications': {'key': 'logSpecifications', 'type': '[LogSpecification]'}, + } + + def __init__(self, *, metric_specifications=None, log_specifications=None, **kwargs) -> None: + super(OperationPropertiesFormatServiceSpecification, self).__init__(**kwargs) + self.metric_specifications = metric_specifications + self.log_specifications = log_specifications + + +class OutboundRule(SubResource): + """Outbound rule of the load balancer. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :param allocated_outbound_ports: The number of outbound ports to be used + for NAT. + :type allocated_outbound_ports: int + :param frontend_ip_configurations: Required. The Frontend IP addresses of + the load balancer. + :type frontend_ip_configurations: + list[~azure.mgmt.network.v2020_04_01.models.SubResource] + :param backend_address_pool: Required. A reference to a pool of DIPs. + Outbound traffic is randomly load balanced across IPs in the backend IPs. + :type backend_address_pool: + ~azure.mgmt.network.v2020_04_01.models.SubResource + :ivar provisioning_state: The provisioning state of the outbound rule + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param protocol: Required. The protocol for the outbound rule in load + balancer. Possible values include: 'Tcp', 'Udp', 'All' + :type protocol: str or + ~azure.mgmt.network.v2020_04_01.models.LoadBalancerOutboundRuleProtocol + :param enable_tcp_reset: Receive bidirectional TCP Reset on TCP flow idle + timeout or unexpected connection termination. This element is only used + when the protocol is set to TCP. + :type enable_tcp_reset: bool + :param idle_timeout_in_minutes: The timeout for the TCP idle connection. + :type idle_timeout_in_minutes: int + :param name: The name of the resource that is unique within the set of + outbound rules used by the load balancer. This name can be used to access + the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'frontend_ip_configurations': {'required': True}, + 'backend_address_pool': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'protocol': {'required': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'allocated_outbound_ports': {'key': 'properties.allocatedOutboundPorts', 'type': 'int'}, + 'frontend_ip_configurations': {'key': 'properties.frontendIPConfigurations', 'type': '[SubResource]'}, + 'backend_address_pool': {'key': 'properties.backendAddressPool', 'type': 'SubResource'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'protocol': {'key': 'properties.protocol', 'type': 'str'}, + 'enable_tcp_reset': {'key': 'properties.enableTcpReset', 'type': 'bool'}, + 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, frontend_ip_configurations, backend_address_pool, protocol, id: str=None, allocated_outbound_ports: int=None, enable_tcp_reset: bool=None, idle_timeout_in_minutes: int=None, name: str=None, **kwargs) -> None: + super(OutboundRule, self).__init__(id=id, **kwargs) + self.allocated_outbound_ports = allocated_outbound_ports + self.frontend_ip_configurations = frontend_ip_configurations + self.backend_address_pool = backend_address_pool + self.provisioning_state = None + self.protocol = protocol + self.enable_tcp_reset = enable_tcp_reset + self.idle_timeout_in_minutes = idle_timeout_in_minutes + self.name = name + self.etag = None + self.type = None + + +class OwaspCrsExclusionEntry(Model): + """Allow to exclude some variable satisfy the condition for the WAF check. + + All required parameters must be populated in order to send to Azure. + + :param match_variable: Required. The variable to be excluded. Possible + values include: 'RequestHeaderNames', 'RequestCookieNames', + 'RequestArgNames' + :type match_variable: str or + ~azure.mgmt.network.v2020_04_01.models.OwaspCrsExclusionEntryMatchVariable + :param selector_match_operator: Required. When matchVariable is a + collection, operate on the selector to specify which elements in the + collection this exclusion applies to. Possible values include: 'Equals', + 'Contains', 'StartsWith', 'EndsWith', 'EqualsAny' + :type selector_match_operator: str or + ~azure.mgmt.network.v2020_04_01.models.OwaspCrsExclusionEntrySelectorMatchOperator + :param selector: Required. When matchVariable is a collection, operator + used to specify which elements in the collection this exclusion applies + to. + :type selector: str + """ + + _validation = { + 'match_variable': {'required': True}, + 'selector_match_operator': {'required': True}, + 'selector': {'required': True}, + } + + _attribute_map = { + 'match_variable': {'key': 'matchVariable', 'type': 'str'}, + 'selector_match_operator': {'key': 'selectorMatchOperator', 'type': 'str'}, + 'selector': {'key': 'selector', 'type': 'str'}, + } + + def __init__(self, *, match_variable, selector_match_operator, selector: str, **kwargs) -> None: + super(OwaspCrsExclusionEntry, self).__init__(**kwargs) + self.match_variable = match_variable + self.selector_match_operator = selector_match_operator + self.selector = selector + + +class P2SConnectionConfiguration(SubResource): + """P2SConnectionConfiguration Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param vpn_client_address_pool: The reference to the address space + resource which represents Address space for P2S VpnClient. + :type vpn_client_address_pool: + ~azure.mgmt.network.v2020_04_01.models.AddressSpace + :param routing_configuration: The Routing Configuration indicating the + associated and propagated route tables on this connection. + :type routing_configuration: + ~azure.mgmt.network.v2020_04_01.models.RoutingConfiguration + :ivar provisioning_state: The provisioning state of the + P2SConnectionConfiguration resource. Possible values include: 'Succeeded', + 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'vpn_client_address_pool': {'key': 'properties.vpnClientAddressPool', 'type': 'AddressSpace'}, + 'routing_configuration': {'key': 'properties.routingConfiguration', 'type': 'RoutingConfiguration'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, vpn_client_address_pool=None, routing_configuration=None, name: str=None, **kwargs) -> None: + super(P2SConnectionConfiguration, self).__init__(id=id, **kwargs) + self.vpn_client_address_pool = vpn_client_address_pool + self.routing_configuration = routing_configuration + self.provisioning_state = None + self.name = name + self.etag = None + + +class P2SVpnConnectionHealth(Model): + """P2S Vpn connection detailed health written to sas url. + + :param sas_url: Returned sas url of the blob to which the p2s vpn + connection detailed health will be written. + :type sas_url: str + """ + + _attribute_map = { + 'sas_url': {'key': 'sasUrl', 'type': 'str'}, + } + + def __init__(self, *, sas_url: str=None, **kwargs) -> None: + super(P2SVpnConnectionHealth, self).__init__(**kwargs) + self.sas_url = sas_url + + +class P2SVpnConnectionHealthRequest(Model): + """List of P2S Vpn connection health request. + + :param vpn_user_names_filter: The list of p2s vpn user names whose p2s vpn + connection detailed health to retrieve for. + :type vpn_user_names_filter: list[str] + :param output_blob_sas_url: The sas-url to download the P2S Vpn connection + health detail. + :type output_blob_sas_url: str + """ + + _attribute_map = { + 'vpn_user_names_filter': {'key': 'vpnUserNamesFilter', 'type': '[str]'}, + 'output_blob_sas_url': {'key': 'outputBlobSasUrl', 'type': 'str'}, + } + + def __init__(self, *, vpn_user_names_filter=None, output_blob_sas_url: str=None, **kwargs) -> None: + super(P2SVpnConnectionHealthRequest, self).__init__(**kwargs) + self.vpn_user_names_filter = vpn_user_names_filter + self.output_blob_sas_url = output_blob_sas_url + + +class P2SVpnConnectionRequest(Model): + """List of p2s vpn connections to be disconnected. + + :param vpn_connection_ids: List of p2s vpn connection Ids. + :type vpn_connection_ids: list[str] + """ + + _attribute_map = { + 'vpn_connection_ids': {'key': 'vpnConnectionIds', 'type': '[str]'}, + } + + def __init__(self, *, vpn_connection_ids=None, **kwargs) -> None: + super(P2SVpnConnectionRequest, self).__init__(**kwargs) + self.vpn_connection_ids = vpn_connection_ids + + +class P2SVpnGateway(Resource): + """P2SVpnGateway Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param virtual_hub: The VirtualHub to which the gateway belongs. + :type virtual_hub: ~azure.mgmt.network.v2020_04_01.models.SubResource + :param p2_sconnection_configurations: List of all p2s connection + configurations of the gateway. + :type p2_sconnection_configurations: + list[~azure.mgmt.network.v2020_04_01.models.P2SConnectionConfiguration] + :ivar provisioning_state: The provisioning state of the P2S VPN gateway + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param vpn_gateway_scale_unit: The scale unit for this p2s vpn gateway. + :type vpn_gateway_scale_unit: int + :param vpn_server_configuration: The VpnServerConfiguration to which the + p2sVpnGateway is attached to. + :type vpn_server_configuration: + ~azure.mgmt.network.v2020_04_01.models.SubResource + :ivar vpn_client_connection_health: All P2S VPN clients' connection health + status. + :vartype vpn_client_connection_health: + ~azure.mgmt.network.v2020_04_01.models.VpnClientConnectionHealth + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'vpn_client_connection_health': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'virtual_hub': {'key': 'properties.virtualHub', 'type': 'SubResource'}, + 'p2_sconnection_configurations': {'key': 'properties.p2SConnectionConfigurations', 'type': '[P2SConnectionConfiguration]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'vpn_gateway_scale_unit': {'key': 'properties.vpnGatewayScaleUnit', 'type': 'int'}, + 'vpn_server_configuration': {'key': 'properties.vpnServerConfiguration', 'type': 'SubResource'}, + 'vpn_client_connection_health': {'key': 'properties.vpnClientConnectionHealth', 'type': 'VpnClientConnectionHealth'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, virtual_hub=None, p2_sconnection_configurations=None, vpn_gateway_scale_unit: int=None, vpn_server_configuration=None, **kwargs) -> None: + super(P2SVpnGateway, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.virtual_hub = virtual_hub + self.p2_sconnection_configurations = p2_sconnection_configurations + self.provisioning_state = None + self.vpn_gateway_scale_unit = vpn_gateway_scale_unit + self.vpn_server_configuration = vpn_server_configuration + self.vpn_client_connection_health = None + self.etag = None + + +class P2SVpnProfileParameters(Model): + """Vpn Client Parameters for package generation. + + :param authentication_method: VPN client authentication method. Possible + values include: 'EAPTLS', 'EAPMSCHAPv2' + :type authentication_method: str or + ~azure.mgmt.network.v2020_04_01.models.AuthenticationMethod + """ + + _attribute_map = { + 'authentication_method': {'key': 'authenticationMethod', 'type': 'str'}, + } + + def __init__(self, *, authentication_method=None, **kwargs) -> None: + super(P2SVpnProfileParameters, self).__init__(**kwargs) + self.authentication_method = authentication_method + + +class PacketCapture(Model): + """Parameters that define the create packet capture operation. + + All required parameters must be populated in order to send to Azure. + + :param target: Required. The ID of the targeted resource, only VM is + currently supported. + :type target: str + :param bytes_to_capture_per_packet: Number of bytes captured per packet, + the remaining bytes are truncated. Default value: 0 . + :type bytes_to_capture_per_packet: int + :param total_bytes_per_session: Maximum size of the capture output. + Default value: 1073741824 . + :type total_bytes_per_session: int + :param time_limit_in_seconds: Maximum duration of the capture session in + seconds. Default value: 18000 . + :type time_limit_in_seconds: int + :param storage_location: Required. The storage location for a packet + capture session. + :type storage_location: + ~azure.mgmt.network.v2020_04_01.models.PacketCaptureStorageLocation + :param filters: A list of packet capture filters. + :type filters: + list[~azure.mgmt.network.v2020_04_01.models.PacketCaptureFilter] + """ + + _validation = { + 'target': {'required': True}, + 'storage_location': {'required': True}, + } + + _attribute_map = { + 'target': {'key': 'properties.target', 'type': 'str'}, + 'bytes_to_capture_per_packet': {'key': 'properties.bytesToCapturePerPacket', 'type': 'int'}, + 'total_bytes_per_session': {'key': 'properties.totalBytesPerSession', 'type': 'int'}, + 'time_limit_in_seconds': {'key': 'properties.timeLimitInSeconds', 'type': 'int'}, + 'storage_location': {'key': 'properties.storageLocation', 'type': 'PacketCaptureStorageLocation'}, + 'filters': {'key': 'properties.filters', 'type': '[PacketCaptureFilter]'}, + } + + def __init__(self, *, target: str, storage_location, bytes_to_capture_per_packet: int=0, total_bytes_per_session: int=1073741824, time_limit_in_seconds: int=18000, filters=None, **kwargs) -> None: + super(PacketCapture, self).__init__(**kwargs) + self.target = target + self.bytes_to_capture_per_packet = bytes_to_capture_per_packet + self.total_bytes_per_session = total_bytes_per_session + self.time_limit_in_seconds = time_limit_in_seconds + self.storage_location = storage_location + self.filters = filters + + +class PacketCaptureFilter(Model): + """Filter that is applied to packet capture request. Multiple filters can be + applied. + + :param protocol: Protocol to be filtered on. Possible values include: + 'TCP', 'UDP', 'Any'. Default value: "Any" . + :type protocol: str or ~azure.mgmt.network.v2020_04_01.models.PcProtocol + :param local_ip_address: Local IP Address to be filtered on. Notation: + "127.0.0.1" for single address entry. "127.0.0.1-127.0.0.255" for range. + "127.0.0.1;127.0.0.5"? for multiple entries. Multiple ranges not currently + supported. Mixing ranges with multiple entries not currently supported. + Default = null. + :type local_ip_address: str + :param remote_ip_address: Local IP Address to be filtered on. Notation: + "127.0.0.1" for single address entry. "127.0.0.1-127.0.0.255" for range. + "127.0.0.1;127.0.0.5;" for multiple entries. Multiple ranges not currently + supported. Mixing ranges with multiple entries not currently supported. + Default = null. + :type remote_ip_address: str + :param local_port: Local port to be filtered on. Notation: "80" for single + port entry."80-85" for range. "80;443;" for multiple entries. Multiple + ranges not currently supported. Mixing ranges with multiple entries not + currently supported. Default = null. + :type local_port: str + :param remote_port: Remote port to be filtered on. Notation: "80" for + single port entry."80-85" for range. "80;443;" for multiple entries. + Multiple ranges not currently supported. Mixing ranges with multiple + entries not currently supported. Default = null. + :type remote_port: str + """ + + _attribute_map = { + 'protocol': {'key': 'protocol', 'type': 'str'}, + 'local_ip_address': {'key': 'localIPAddress', 'type': 'str'}, + 'remote_ip_address': {'key': 'remoteIPAddress', 'type': 'str'}, + 'local_port': {'key': 'localPort', 'type': 'str'}, + 'remote_port': {'key': 'remotePort', 'type': 'str'}, + } + + def __init__(self, *, protocol="Any", local_ip_address: str=None, remote_ip_address: str=None, local_port: str=None, remote_port: str=None, **kwargs) -> None: + super(PacketCaptureFilter, self).__init__(**kwargs) + self.protocol = protocol + self.local_ip_address = local_ip_address + self.remote_ip_address = remote_ip_address + self.local_port = local_port + self.remote_port = remote_port + + +class PacketCaptureParameters(Model): + """Parameters that define the create packet capture operation. + + All required parameters must be populated in order to send to Azure. + + :param target: Required. The ID of the targeted resource, only VM is + currently supported. + :type target: str + :param bytes_to_capture_per_packet: Number of bytes captured per packet, + the remaining bytes are truncated. Default value: 0 . + :type bytes_to_capture_per_packet: int + :param total_bytes_per_session: Maximum size of the capture output. + Default value: 1073741824 . + :type total_bytes_per_session: int + :param time_limit_in_seconds: Maximum duration of the capture session in + seconds. Default value: 18000 . + :type time_limit_in_seconds: int + :param storage_location: Required. The storage location for a packet + capture session. + :type storage_location: + ~azure.mgmt.network.v2020_04_01.models.PacketCaptureStorageLocation + :param filters: A list of packet capture filters. + :type filters: + list[~azure.mgmt.network.v2020_04_01.models.PacketCaptureFilter] + """ + + _validation = { + 'target': {'required': True}, + 'storage_location': {'required': True}, + } + + _attribute_map = { + 'target': {'key': 'target', 'type': 'str'}, + 'bytes_to_capture_per_packet': {'key': 'bytesToCapturePerPacket', 'type': 'int'}, + 'total_bytes_per_session': {'key': 'totalBytesPerSession', 'type': 'int'}, + 'time_limit_in_seconds': {'key': 'timeLimitInSeconds', 'type': 'int'}, + 'storage_location': {'key': 'storageLocation', 'type': 'PacketCaptureStorageLocation'}, + 'filters': {'key': 'filters', 'type': '[PacketCaptureFilter]'}, + } + + def __init__(self, *, target: str, storage_location, bytes_to_capture_per_packet: int=0, total_bytes_per_session: int=1073741824, time_limit_in_seconds: int=18000, filters=None, **kwargs) -> None: + super(PacketCaptureParameters, self).__init__(**kwargs) + self.target = target + self.bytes_to_capture_per_packet = bytes_to_capture_per_packet + self.total_bytes_per_session = total_bytes_per_session + self.time_limit_in_seconds = time_limit_in_seconds + self.storage_location = storage_location + self.filters = filters + + +class PacketCaptureQueryStatusResult(Model): + """Status of packet capture session. + + :param name: The name of the packet capture resource. + :type name: str + :param id: The ID of the packet capture resource. + :type id: str + :param capture_start_time: The start time of the packet capture session. + :type capture_start_time: datetime + :param packet_capture_status: The status of the packet capture session. + Possible values include: 'NotStarted', 'Running', 'Stopped', 'Error', + 'Unknown' + :type packet_capture_status: str or + ~azure.mgmt.network.v2020_04_01.models.PcStatus + :param stop_reason: The reason the current packet capture session was + stopped. + :type stop_reason: str + :param packet_capture_error: List of errors of packet capture session. + :type packet_capture_error: list[str or + ~azure.mgmt.network.v2020_04_01.models.PcError] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'capture_start_time': {'key': 'captureStartTime', 'type': 'iso-8601'}, + 'packet_capture_status': {'key': 'packetCaptureStatus', 'type': 'str'}, + 'stop_reason': {'key': 'stopReason', 'type': 'str'}, + 'packet_capture_error': {'key': 'packetCaptureError', 'type': '[str]'}, + } + + def __init__(self, *, name: str=None, id: str=None, capture_start_time=None, packet_capture_status=None, stop_reason: str=None, packet_capture_error=None, **kwargs) -> None: + super(PacketCaptureQueryStatusResult, self).__init__(**kwargs) + self.name = name + self.id = id + self.capture_start_time = capture_start_time + self.packet_capture_status = packet_capture_status + self.stop_reason = stop_reason + self.packet_capture_error = packet_capture_error + + +class PacketCaptureResult(Model): + """Information about packet capture session. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar name: Name of the packet capture session. + :vartype name: str + :ivar id: ID of the packet capture operation. + :vartype id: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :param target: Required. The ID of the targeted resource, only VM is + currently supported. + :type target: str + :param bytes_to_capture_per_packet: Number of bytes captured per packet, + the remaining bytes are truncated. Default value: 0 . + :type bytes_to_capture_per_packet: int + :param total_bytes_per_session: Maximum size of the capture output. + Default value: 1073741824 . + :type total_bytes_per_session: int + :param time_limit_in_seconds: Maximum duration of the capture session in + seconds. Default value: 18000 . + :type time_limit_in_seconds: int + :param storage_location: Required. The storage location for a packet + capture session. + :type storage_location: + ~azure.mgmt.network.v2020_04_01.models.PacketCaptureStorageLocation + :param filters: A list of packet capture filters. + :type filters: + list[~azure.mgmt.network.v2020_04_01.models.PacketCaptureFilter] + :ivar provisioning_state: The provisioning state of the packet capture + session. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + """ + + _validation = { + 'name': {'readonly': True}, + 'id': {'readonly': True}, + 'etag': {'readonly': True}, + 'target': {'required': True}, + 'storage_location': {'required': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'target': {'key': 'properties.target', 'type': 'str'}, + 'bytes_to_capture_per_packet': {'key': 'properties.bytesToCapturePerPacket', 'type': 'int'}, + 'total_bytes_per_session': {'key': 'properties.totalBytesPerSession', 'type': 'int'}, + 'time_limit_in_seconds': {'key': 'properties.timeLimitInSeconds', 'type': 'int'}, + 'storage_location': {'key': 'properties.storageLocation', 'type': 'PacketCaptureStorageLocation'}, + 'filters': {'key': 'properties.filters', 'type': '[PacketCaptureFilter]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + } + + def __init__(self, *, target: str, storage_location, bytes_to_capture_per_packet: int=0, total_bytes_per_session: int=1073741824, time_limit_in_seconds: int=18000, filters=None, **kwargs) -> None: + super(PacketCaptureResult, self).__init__(**kwargs) + self.name = None + self.id = None + self.etag = None + self.target = target + self.bytes_to_capture_per_packet = bytes_to_capture_per_packet + self.total_bytes_per_session = total_bytes_per_session + self.time_limit_in_seconds = time_limit_in_seconds + self.storage_location = storage_location + self.filters = filters + self.provisioning_state = None + + +class PacketCaptureStorageLocation(Model): + """The storage location for a packet capture session. + + :param storage_id: The ID of the storage account to save the packet + capture session. Required if no local file path is provided. + :type storage_id: str + :param storage_path: The URI of the storage path to save the packet + capture. Must be a well-formed URI describing the location to save the + packet capture. + :type storage_path: str + :param file_path: A valid local path on the targeting VM. Must include the + name of the capture file (*.cap). For linux virtual machine it must start + with /var/captures. Required if no storage ID is provided, otherwise + optional. + :type file_path: str + """ + + _attribute_map = { + 'storage_id': {'key': 'storageId', 'type': 'str'}, + 'storage_path': {'key': 'storagePath', 'type': 'str'}, + 'file_path': {'key': 'filePath', 'type': 'str'}, + } + + def __init__(self, *, storage_id: str=None, storage_path: str=None, file_path: str=None, **kwargs) -> None: + super(PacketCaptureStorageLocation, self).__init__(**kwargs) + self.storage_id = storage_id + self.storage_path = storage_path + self.file_path = file_path + + +class PatchRouteFilter(SubResource): + """Route Filter Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param rules: Collection of RouteFilterRules contained within a route + filter. + :type rules: list[~azure.mgmt.network.v2020_04_01.models.RouteFilterRule] + :ivar peerings: A collection of references to express route circuit + peerings. + :vartype peerings: + list[~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitPeering] + :ivar ipv6_peerings: A collection of references to express route circuit + ipv6 peerings. + :vartype ipv6_peerings: + list[~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitPeering] + :ivar provisioning_state: The provisioning state of the route filter + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :ivar name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :vartype name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Resource type. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + """ + + _validation = { + 'peerings': {'readonly': True}, + 'ipv6_peerings': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'name': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'rules': {'key': 'properties.rules', 'type': '[RouteFilterRule]'}, + 'peerings': {'key': 'properties.peerings', 'type': '[ExpressRouteCircuitPeering]'}, + 'ipv6_peerings': {'key': 'properties.ipv6Peerings', 'type': '[ExpressRouteCircuitPeering]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, *, id: str=None, rules=None, tags=None, **kwargs) -> None: + super(PatchRouteFilter, self).__init__(id=id, **kwargs) + self.rules = rules + self.peerings = None + self.ipv6_peerings = None + self.provisioning_state = None + self.name = None + self.etag = None + self.type = None + self.tags = tags + + +class PatchRouteFilterRule(SubResource): + """Route Filter Rule Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :param access: Required. The access type of the rule. Possible values + include: 'Allow', 'Deny' + :type access: str or ~azure.mgmt.network.v2020_04_01.models.Access + :ivar route_filter_rule_type: Required. The rule type of the rule. Default + value: "Community" . + :vartype route_filter_rule_type: str + :param communities: Required. The collection for bgp community values to + filter on. e.g. ['12076:5010','12076:5020']. + :type communities: list[str] + :ivar provisioning_state: The provisioning state of the route filter rule + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :ivar name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :vartype name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'access': {'required': True}, + 'route_filter_rule_type': {'required': True, 'constant': True}, + 'communities': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'name': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'access': {'key': 'properties.access', 'type': 'str'}, + 'route_filter_rule_type': {'key': 'properties.routeFilterRuleType', 'type': 'str'}, + 'communities': {'key': 'properties.communities', 'type': '[str]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + route_filter_rule_type = "Community" + + def __init__(self, *, access, communities, id: str=None, **kwargs) -> None: + super(PatchRouteFilterRule, self).__init__(id=id, **kwargs) + self.access = access + self.communities = communities + self.provisioning_state = None + self.name = None + self.etag = None + + +class PeerExpressRouteCircuitConnection(SubResource): + """Peer Express Route Circuit Connection in an ExpressRouteCircuitPeering + resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param express_route_circuit_peering: Reference to Express Route Circuit + Private Peering Resource of the circuit. + :type express_route_circuit_peering: + ~azure.mgmt.network.v2020_04_01.models.SubResource + :param peer_express_route_circuit_peering: Reference to Express Route + Circuit Private Peering Resource of the peered circuit. + :type peer_express_route_circuit_peering: + ~azure.mgmt.network.v2020_04_01.models.SubResource + :param address_prefix: /29 IP address space to carve out Customer + addresses for tunnels. + :type address_prefix: str + :param circuit_connection_status: Express Route Circuit connection state. + Possible values include: 'Connected', 'Connecting', 'Disconnected' + :type circuit_connection_status: str or + ~azure.mgmt.network.v2020_04_01.models.CircuitConnectionStatus + :param connection_name: The name of the express route circuit connection + resource. + :type connection_name: str + :param auth_resource_guid: The resource guid of the authorization used for + the express route circuit connection. + :type auth_resource_guid: str + :ivar provisioning_state: The provisioning state of the peer express route + circuit connection resource. Possible values include: 'Succeeded', + 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'express_route_circuit_peering': {'key': 'properties.expressRouteCircuitPeering', 'type': 'SubResource'}, + 'peer_express_route_circuit_peering': {'key': 'properties.peerExpressRouteCircuitPeering', 'type': 'SubResource'}, + 'address_prefix': {'key': 'properties.addressPrefix', 'type': 'str'}, + 'circuit_connection_status': {'key': 'properties.circuitConnectionStatus', 'type': 'str'}, + 'connection_name': {'key': 'properties.connectionName', 'type': 'str'}, + 'auth_resource_guid': {'key': 'properties.authResourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, express_route_circuit_peering=None, peer_express_route_circuit_peering=None, address_prefix: str=None, circuit_connection_status=None, connection_name: str=None, auth_resource_guid: str=None, name: str=None, **kwargs) -> None: + super(PeerExpressRouteCircuitConnection, self).__init__(id=id, **kwargs) + self.express_route_circuit_peering = express_route_circuit_peering + self.peer_express_route_circuit_peering = peer_express_route_circuit_peering + self.address_prefix = address_prefix + self.circuit_connection_status = circuit_connection_status + self.connection_name = connection_name + self.auth_resource_guid = auth_resource_guid + self.provisioning_state = None + self.name = name + self.etag = None + self.type = None + + +class PolicySettings(Model): + """Defines contents of a web application firewall global configuration. + + :param state: The state of the policy. Possible values include: + 'Disabled', 'Enabled' + :type state: str or + ~azure.mgmt.network.v2020_04_01.models.WebApplicationFirewallEnabledState + :param mode: The mode of the policy. Possible values include: + 'Prevention', 'Detection' + :type mode: str or + ~azure.mgmt.network.v2020_04_01.models.WebApplicationFirewallMode + :param request_body_check: Whether to allow WAF to check request Body. + :type request_body_check: bool + :param max_request_body_size_in_kb: Maximum request body size in Kb for + WAF. + :type max_request_body_size_in_kb: int + :param file_upload_limit_in_mb: Maximum file upload size in Mb for WAF. + :type file_upload_limit_in_mb: int + """ + + _validation = { + 'max_request_body_size_in_kb': {'maximum': 128, 'minimum': 8}, + 'file_upload_limit_in_mb': {'minimum': 0}, + } + + _attribute_map = { + 'state': {'key': 'state', 'type': 'str'}, + 'mode': {'key': 'mode', 'type': 'str'}, + 'request_body_check': {'key': 'requestBodyCheck', 'type': 'bool'}, + 'max_request_body_size_in_kb': {'key': 'maxRequestBodySizeInKb', 'type': 'int'}, + 'file_upload_limit_in_mb': {'key': 'fileUploadLimitInMb', 'type': 'int'}, + } + + def __init__(self, *, state=None, mode=None, request_body_check: bool=None, max_request_body_size_in_kb: int=None, file_upload_limit_in_mb: int=None, **kwargs) -> None: + super(PolicySettings, self).__init__(**kwargs) + self.state = state + self.mode = mode + self.request_body_check = request_body_check + self.max_request_body_size_in_kb = max_request_body_size_in_kb + self.file_upload_limit_in_mb = file_upload_limit_in_mb + + +class PrepareNetworkPoliciesRequest(Model): + """Details of PrepareNetworkPolicies for Subnet. + + :param service_name: The name of the service for which subnet is being + prepared for. + :type service_name: str + :param network_intent_policy_configurations: A list of + NetworkIntentPolicyConfiguration. + :type network_intent_policy_configurations: + list[~azure.mgmt.network.v2020_04_01.models.NetworkIntentPolicyConfiguration] + """ + + _attribute_map = { + 'service_name': {'key': 'serviceName', 'type': 'str'}, + 'network_intent_policy_configurations': {'key': 'networkIntentPolicyConfigurations', 'type': '[NetworkIntentPolicyConfiguration]'}, + } + + def __init__(self, *, service_name: str=None, network_intent_policy_configurations=None, **kwargs) -> None: + super(PrepareNetworkPoliciesRequest, self).__init__(**kwargs) + self.service_name = service_name + self.network_intent_policy_configurations = network_intent_policy_configurations + + +class PrivateDnsZoneConfig(Model): + """PrivateDnsZoneConfig resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param name: Name of the resource that is unique within a resource group. + This name can be used to access the resource. + :type name: str + :param private_dns_zone_id: The resource id of the private dns zone. + :type private_dns_zone_id: str + :ivar record_sets: A collection of information regarding a recordSet, + holding information to identify private resources. + :vartype record_sets: + list[~azure.mgmt.network.v2020_04_01.models.RecordSet] + """ + + _validation = { + 'record_sets': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'private_dns_zone_id': {'key': 'properties.privateDnsZoneId', 'type': 'str'}, + 'record_sets': {'key': 'properties.recordSets', 'type': '[RecordSet]'}, + } + + def __init__(self, *, name: str=None, private_dns_zone_id: str=None, **kwargs) -> None: + super(PrivateDnsZoneConfig, self).__init__(**kwargs) + self.name = name + self.private_dns_zone_id = private_dns_zone_id + self.record_sets = None + + +class PrivateDnsZoneGroup(SubResource): + """Private dns zone group resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param name: Name of the resource that is unique within a resource group. + This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar provisioning_state: The provisioning state of the private dns zone + group resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param private_dns_zone_configs: A collection of private dns zone + configurations of the private dns zone group. + :type private_dns_zone_configs: + list[~azure.mgmt.network.v2020_04_01.models.PrivateDnsZoneConfig] + """ + + _validation = { + 'etag': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'private_dns_zone_configs': {'key': 'properties.privateDnsZoneConfigs', 'type': '[PrivateDnsZoneConfig]'}, + } + + def __init__(self, *, id: str=None, name: str=None, private_dns_zone_configs=None, **kwargs) -> None: + super(PrivateDnsZoneGroup, self).__init__(id=id, **kwargs) + self.name = name + self.etag = None + self.provisioning_state = None + self.private_dns_zone_configs = private_dns_zone_configs + + +class PrivateEndpoint(Resource): + """Private endpoint resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param subnet: The ID of the subnet from which the private IP will be + allocated. + :type subnet: ~azure.mgmt.network.v2020_04_01.models.Subnet + :ivar network_interfaces: An array of references to the network interfaces + created for this private endpoint. + :vartype network_interfaces: + list[~azure.mgmt.network.v2020_04_01.models.NetworkInterface] + :ivar provisioning_state: The provisioning state of the private endpoint + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param private_link_service_connections: A grouping of information about + the connection to the remote resource. + :type private_link_service_connections: + list[~azure.mgmt.network.v2020_04_01.models.PrivateLinkServiceConnection] + :param manual_private_link_service_connections: A grouping of information + about the connection to the remote resource. Used when the network admin + does not have access to approve connections to the remote resource. + :type manual_private_link_service_connections: + list[~azure.mgmt.network.v2020_04_01.models.PrivateLinkServiceConnection] + :param custom_dns_configs: An array of custom dns configurations. + :type custom_dns_configs: + list[~azure.mgmt.network.v2020_04_01.models.CustomDnsConfigPropertiesFormat] + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'network_interfaces': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, + 'network_interfaces': {'key': 'properties.networkInterfaces', 'type': '[NetworkInterface]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'private_link_service_connections': {'key': 'properties.privateLinkServiceConnections', 'type': '[PrivateLinkServiceConnection]'}, + 'manual_private_link_service_connections': {'key': 'properties.manualPrivateLinkServiceConnections', 'type': '[PrivateLinkServiceConnection]'}, + 'custom_dns_configs': {'key': 'properties.customDnsConfigs', 'type': '[CustomDnsConfigPropertiesFormat]'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, subnet=None, private_link_service_connections=None, manual_private_link_service_connections=None, custom_dns_configs=None, **kwargs) -> None: + super(PrivateEndpoint, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.subnet = subnet + self.network_interfaces = None + self.provisioning_state = None + self.private_link_service_connections = private_link_service_connections + self.manual_private_link_service_connections = manual_private_link_service_connections + self.custom_dns_configs = custom_dns_configs + self.etag = None + + +class PrivateEndpointConnection(SubResource): + """PrivateEndpointConnection resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar private_endpoint: The resource of private end point. + :vartype private_endpoint: + ~azure.mgmt.network.v2020_04_01.models.PrivateEndpoint + :param private_link_service_connection_state: A collection of information + about the state of the connection between service consumer and provider. + :type private_link_service_connection_state: + ~azure.mgmt.network.v2020_04_01.models.PrivateLinkServiceConnectionState + :ivar provisioning_state: The provisioning state of the private endpoint + connection resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :ivar link_identifier: The consumer link id. + :vartype link_identifier: str + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar type: The resource type. + :vartype type: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'private_endpoint': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'link_identifier': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'private_endpoint': {'key': 'properties.privateEndpoint', 'type': 'PrivateEndpoint'}, + 'private_link_service_connection_state': {'key': 'properties.privateLinkServiceConnectionState', 'type': 'PrivateLinkServiceConnectionState'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'link_identifier': {'key': 'properties.linkIdentifier', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, private_link_service_connection_state=None, name: str=None, **kwargs) -> None: + super(PrivateEndpointConnection, self).__init__(id=id, **kwargs) + self.private_endpoint = None + self.private_link_service_connection_state = private_link_service_connection_state + self.provisioning_state = None + self.link_identifier = None + self.name = name + self.type = None + self.etag = None + + +class PrivateLinkService(Resource): + """Private link service resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param load_balancer_frontend_ip_configurations: An array of references to + the load balancer IP configurations. + :type load_balancer_frontend_ip_configurations: + list[~azure.mgmt.network.v2020_04_01.models.FrontendIPConfiguration] + :param ip_configurations: An array of private link service IP + configurations. + :type ip_configurations: + list[~azure.mgmt.network.v2020_04_01.models.PrivateLinkServiceIpConfiguration] + :ivar network_interfaces: An array of references to the network interfaces + created for this private link service. + :vartype network_interfaces: + list[~azure.mgmt.network.v2020_04_01.models.NetworkInterface] + :ivar provisioning_state: The provisioning state of the private link + service resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :ivar private_endpoint_connections: An array of list about connections to + the private endpoint. + :vartype private_endpoint_connections: + list[~azure.mgmt.network.v2020_04_01.models.PrivateEndpointConnection] + :param visibility: The visibility list of the private link service. + :type visibility: + ~azure.mgmt.network.v2020_04_01.models.PrivateLinkServicePropertiesVisibility + :param auto_approval: The auto-approval list of the private link service. + :type auto_approval: + ~azure.mgmt.network.v2020_04_01.models.PrivateLinkServicePropertiesAutoApproval + :param fqdns: The list of Fqdn. + :type fqdns: list[str] + :ivar alias: The alias of the private link service. + :vartype alias: str + :param enable_proxy_protocol: Whether the private link service is enabled + for proxy protocol or not. + :type enable_proxy_protocol: bool + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'network_interfaces': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'private_endpoint_connections': {'readonly': True}, + 'alias': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'load_balancer_frontend_ip_configurations': {'key': 'properties.loadBalancerFrontendIpConfigurations', 'type': '[FrontendIPConfiguration]'}, + 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[PrivateLinkServiceIpConfiguration]'}, + 'network_interfaces': {'key': 'properties.networkInterfaces', 'type': '[NetworkInterface]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'private_endpoint_connections': {'key': 'properties.privateEndpointConnections', 'type': '[PrivateEndpointConnection]'}, + 'visibility': {'key': 'properties.visibility', 'type': 'PrivateLinkServicePropertiesVisibility'}, + 'auto_approval': {'key': 'properties.autoApproval', 'type': 'PrivateLinkServicePropertiesAutoApproval'}, + 'fqdns': {'key': 'properties.fqdns', 'type': '[str]'}, + 'alias': {'key': 'properties.alias', 'type': 'str'}, + 'enable_proxy_protocol': {'key': 'properties.enableProxyProtocol', 'type': 'bool'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, load_balancer_frontend_ip_configurations=None, ip_configurations=None, visibility=None, auto_approval=None, fqdns=None, enable_proxy_protocol: bool=None, **kwargs) -> None: + super(PrivateLinkService, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.load_balancer_frontend_ip_configurations = load_balancer_frontend_ip_configurations + self.ip_configurations = ip_configurations + self.network_interfaces = None + self.provisioning_state = None + self.private_endpoint_connections = None + self.visibility = visibility + self.auto_approval = auto_approval + self.fqdns = fqdns + self.alias = None + self.enable_proxy_protocol = enable_proxy_protocol + self.etag = None + + +class PrivateLinkServiceConnection(SubResource): + """PrivateLinkServiceConnection resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar provisioning_state: The provisioning state of the private link + service connection resource. Possible values include: 'Succeeded', + 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param private_link_service_id: The resource id of private link service. + :type private_link_service_id: str + :param group_ids: The ID(s) of the group(s) obtained from the remote + resource that this private endpoint should connect to. + :type group_ids: list[str] + :param request_message: A message passed to the owner of the remote + resource with this connection request. Restricted to 140 chars. + :type request_message: str + :param private_link_service_connection_state: A collection of read-only + information about the state of the connection to the remote resource. + :type private_link_service_connection_state: + ~azure.mgmt.network.v2020_04_01.models.PrivateLinkServiceConnectionState + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar type: The resource type. + :vartype type: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'private_link_service_id': {'key': 'properties.privateLinkServiceId', 'type': 'str'}, + 'group_ids': {'key': 'properties.groupIds', 'type': '[str]'}, + 'request_message': {'key': 'properties.requestMessage', 'type': 'str'}, + 'private_link_service_connection_state': {'key': 'properties.privateLinkServiceConnectionState', 'type': 'PrivateLinkServiceConnectionState'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, private_link_service_id: str=None, group_ids=None, request_message: str=None, private_link_service_connection_state=None, name: str=None, **kwargs) -> None: + super(PrivateLinkServiceConnection, self).__init__(id=id, **kwargs) + self.provisioning_state = None + self.private_link_service_id = private_link_service_id + self.group_ids = group_ids + self.request_message = request_message + self.private_link_service_connection_state = private_link_service_connection_state + self.name = name + self.type = None + self.etag = None + + +class PrivateLinkServiceConnectionState(Model): + """A collection of information about the state of the connection between + service consumer and provider. + + :param status: Indicates whether the connection has been + Approved/Rejected/Removed by the owner of the service. + :type status: str + :param description: The reason for approval/rejection of the connection. + :type description: str + :param actions_required: A message indicating if changes on the service + provider require any updates on the consumer. + :type actions_required: str + """ + + _attribute_map = { + 'status': {'key': 'status', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'actions_required': {'key': 'actionsRequired', 'type': 'str'}, + } + + def __init__(self, *, status: str=None, description: str=None, actions_required: str=None, **kwargs) -> None: + super(PrivateLinkServiceConnectionState, self).__init__(**kwargs) + self.status = status + self.description = description + self.actions_required = actions_required + + +class PrivateLinkServiceIpConfiguration(SubResource): + """The private link service ip configuration. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param private_ip_address: The private IP address of the IP configuration. + :type private_ip_address: str + :param private_ip_allocation_method: The private IP address allocation + method. Possible values include: 'Static', 'Dynamic' + :type private_ip_allocation_method: str or + ~azure.mgmt.network.v2020_04_01.models.IPAllocationMethod + :param subnet: The reference to the subnet resource. + :type subnet: ~azure.mgmt.network.v2020_04_01.models.Subnet + :param primary: Whether the ip configuration is primary or not. + :type primary: bool + :ivar provisioning_state: The provisioning state of the private link + service IP configuration resource. Possible values include: 'Succeeded', + 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param private_ip_address_version: Whether the specific IP configuration + is IPv4 or IPv6. Default is IPv4. Possible values include: 'IPv4', 'IPv6' + :type private_ip_address_version: str or + ~azure.mgmt.network.v2020_04_01.models.IPVersion + :param name: The name of private link service ip configuration. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: The resource type. + :vartype type: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, + 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, + 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, + 'primary': {'key': 'properties.primary', 'type': 'bool'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'private_ip_address_version': {'key': 'properties.privateIPAddressVersion', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, private_ip_address: str=None, private_ip_allocation_method=None, subnet=None, primary: bool=None, private_ip_address_version=None, name: str=None, **kwargs) -> None: + super(PrivateLinkServiceIpConfiguration, self).__init__(id=id, **kwargs) + self.private_ip_address = private_ip_address + self.private_ip_allocation_method = private_ip_allocation_method + self.subnet = subnet + self.primary = primary + self.provisioning_state = None + self.private_ip_address_version = private_ip_address_version + self.name = name + self.etag = None + self.type = None + + +class ResourceSet(Model): + """The base resource set for visibility and auto-approval. + + :param subscriptions: The list of subscriptions. + :type subscriptions: list[str] + """ + + _attribute_map = { + 'subscriptions': {'key': 'subscriptions', 'type': '[str]'}, + } + + def __init__(self, *, subscriptions=None, **kwargs) -> None: + super(ResourceSet, self).__init__(**kwargs) + self.subscriptions = subscriptions + + +class PrivateLinkServicePropertiesAutoApproval(ResourceSet): + """The auto-approval list of the private link service. + + :param subscriptions: The list of subscriptions. + :type subscriptions: list[str] + """ + + _attribute_map = { + 'subscriptions': {'key': 'subscriptions', 'type': '[str]'}, + } + + def __init__(self, *, subscriptions=None, **kwargs) -> None: + super(PrivateLinkServicePropertiesAutoApproval, self).__init__(subscriptions=subscriptions, **kwargs) + + +class PrivateLinkServicePropertiesVisibility(ResourceSet): + """The visibility list of the private link service. + + :param subscriptions: The list of subscriptions. + :type subscriptions: list[str] + """ + + _attribute_map = { + 'subscriptions': {'key': 'subscriptions', 'type': '[str]'}, + } + + def __init__(self, *, subscriptions=None, **kwargs) -> None: + super(PrivateLinkServicePropertiesVisibility, self).__init__(subscriptions=subscriptions, **kwargs) + + +class PrivateLinkServiceVisibility(Model): + """Response for the CheckPrivateLinkServiceVisibility API service call. + + :param visible: Private Link Service Visibility (True/False). + :type visible: bool + """ + + _attribute_map = { + 'visible': {'key': 'visible', 'type': 'bool'}, + } + + def __init__(self, *, visible: bool=None, **kwargs) -> None: + super(PrivateLinkServiceVisibility, self).__init__(**kwargs) + self.visible = visible + + +class Probe(SubResource): + """A load balancer probe. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :ivar load_balancing_rules: The load balancer rules that use this probe. + :vartype load_balancing_rules: + list[~azure.mgmt.network.v2020_04_01.models.SubResource] + :param protocol: Required. The protocol of the end point. If 'Tcp' is + specified, a received ACK is required for the probe to be successful. If + 'Http' or 'Https' is specified, a 200 OK response from the specifies URI + is required for the probe to be successful. Possible values include: + 'Http', 'Tcp', 'Https' + :type protocol: str or + ~azure.mgmt.network.v2020_04_01.models.ProbeProtocol + :param port: Required. The port for communicating the probe. Possible + values range from 1 to 65535, inclusive. + :type port: int + :param interval_in_seconds: The interval, in seconds, for how frequently + to probe the endpoint for health status. Typically, the interval is + slightly less than half the allocated timeout period (in seconds) which + allows two full probes before taking the instance out of rotation. The + default value is 15, the minimum value is 5. + :type interval_in_seconds: int + :param number_of_probes: The number of probes where if no response, will + result in stopping further traffic from being delivered to the endpoint. + This values allows endpoints to be taken out of rotation faster or slower + than the typical times used in Azure. + :type number_of_probes: int + :param request_path: The URI used for requesting health status from the + VM. Path is required if a protocol is set to http. Otherwise, it is not + allowed. There is no default value. + :type request_path: str + :ivar provisioning_state: The provisioning state of the probe resource. + Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: The name of the resource that is unique within the set of + probes used by the load balancer. This name can be used to access the + resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Type of the resource. + :vartype type: str + """ + + _validation = { + 'load_balancing_rules': {'readonly': True}, + 'protocol': {'required': True}, + 'port': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'load_balancing_rules': {'key': 'properties.loadBalancingRules', 'type': '[SubResource]'}, + 'protocol': {'key': 'properties.protocol', 'type': 'str'}, + 'port': {'key': 'properties.port', 'type': 'int'}, + 'interval_in_seconds': {'key': 'properties.intervalInSeconds', 'type': 'int'}, + 'number_of_probes': {'key': 'properties.numberOfProbes', 'type': 'int'}, + 'request_path': {'key': 'properties.requestPath', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, protocol, port: int, id: str=None, interval_in_seconds: int=None, number_of_probes: int=None, request_path: str=None, name: str=None, **kwargs) -> None: + super(Probe, self).__init__(id=id, **kwargs) + self.load_balancing_rules = None + self.protocol = protocol + self.port = port + self.interval_in_seconds = interval_in_seconds + self.number_of_probes = number_of_probes + self.request_path = request_path + self.provisioning_state = None + self.name = name + self.etag = None + self.type = None + + +class PropagatedRouteTable(Model): + """The list of RouteTables to advertise the routes to. + + :param labels: The list of labels. + :type labels: list[str] + :param ids: The list of resource ids of all the RouteTables. + :type ids: list[~azure.mgmt.network.v2020_04_01.models.SubResource] + """ + + _attribute_map = { + 'labels': {'key': 'labels', 'type': '[str]'}, + 'ids': {'key': 'ids', 'type': '[SubResource]'}, + } + + def __init__(self, *, labels=None, ids=None, **kwargs) -> None: + super(PropagatedRouteTable, self).__init__(**kwargs) + self.labels = labels + self.ids = ids + + +class ProtocolConfiguration(Model): + """Configuration of the protocol. + + :param http_configuration: HTTP configuration of the connectivity check. + :type http_configuration: + ~azure.mgmt.network.v2020_04_01.models.HTTPConfiguration + """ + + _attribute_map = { + 'http_configuration': {'key': 'HTTPConfiguration', 'type': 'HTTPConfiguration'}, + } + + def __init__(self, *, http_configuration=None, **kwargs) -> None: + super(ProtocolConfiguration, self).__init__(**kwargs) + self.http_configuration = http_configuration + + +class ProtocolCustomSettingsFormat(Model): + """DDoS custom policy properties. + + :param protocol: The protocol for which the DDoS protection policy is + being customized. Possible values include: 'Tcp', 'Udp', 'Syn' + :type protocol: str or + ~azure.mgmt.network.v2020_04_01.models.DdosCustomPolicyProtocol + :param trigger_rate_override: The customized DDoS protection trigger rate. + :type trigger_rate_override: str + :param source_rate_override: The customized DDoS protection source rate. + :type source_rate_override: str + :param trigger_sensitivity_override: The customized DDoS protection + trigger rate sensitivity degrees. High: Trigger rate set with most + sensitivity w.r.t. normal traffic. Default: Trigger rate set with moderate + sensitivity w.r.t. normal traffic. Low: Trigger rate set with less + sensitivity w.r.t. normal traffic. Relaxed: Trigger rate set with least + sensitivity w.r.t. normal traffic. Possible values include: 'Relaxed', + 'Low', 'Default', 'High' + :type trigger_sensitivity_override: str or + ~azure.mgmt.network.v2020_04_01.models.DdosCustomPolicyTriggerSensitivityOverride + """ + + _attribute_map = { + 'protocol': {'key': 'protocol', 'type': 'str'}, + 'trigger_rate_override': {'key': 'triggerRateOverride', 'type': 'str'}, + 'source_rate_override': {'key': 'sourceRateOverride', 'type': 'str'}, + 'trigger_sensitivity_override': {'key': 'triggerSensitivityOverride', 'type': 'str'}, + } + + def __init__(self, *, protocol=None, trigger_rate_override: str=None, source_rate_override: str=None, trigger_sensitivity_override=None, **kwargs) -> None: + super(ProtocolCustomSettingsFormat, self).__init__(**kwargs) + self.protocol = protocol + self.trigger_rate_override = trigger_rate_override + self.source_rate_override = source_rate_override + self.trigger_sensitivity_override = trigger_sensitivity_override + + +class PublicIPAddress(Resource): + """Public IP address resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param sku: The public IP address SKU. + :type sku: ~azure.mgmt.network.v2020_04_01.models.PublicIPAddressSku + :param public_ip_allocation_method: The public IP address allocation + method. Possible values include: 'Static', 'Dynamic' + :type public_ip_allocation_method: str or + ~azure.mgmt.network.v2020_04_01.models.IPAllocationMethod + :param public_ip_address_version: The public IP address version. Possible + values include: 'IPv4', 'IPv6' + :type public_ip_address_version: str or + ~azure.mgmt.network.v2020_04_01.models.IPVersion + :ivar ip_configuration: The IP configuration associated with the public IP + address. + :vartype ip_configuration: + ~azure.mgmt.network.v2020_04_01.models.IPConfiguration + :param dns_settings: The FQDN of the DNS record associated with the public + IP address. + :type dns_settings: + ~azure.mgmt.network.v2020_04_01.models.PublicIPAddressDnsSettings + :param ddos_settings: The DDoS protection custom policy associated with + the public IP address. + :type ddos_settings: ~azure.mgmt.network.v2020_04_01.models.DdosSettings + :param ip_tags: The list of tags associated with the public IP address. + :type ip_tags: list[~azure.mgmt.network.v2020_04_01.models.IpTag] + :param ip_address: The IP address associated with the public IP address + resource. + :type ip_address: str + :param public_ip_prefix: The Public IP Prefix this Public IP Address + should be allocated from. + :type public_ip_prefix: ~azure.mgmt.network.v2020_04_01.models.SubResource + :param idle_timeout_in_minutes: The idle timeout of the public IP address. + :type idle_timeout_in_minutes: int + :ivar resource_guid: The resource GUID property of the public IP address + resource. + :vartype resource_guid: str + :ivar provisioning_state: The provisioning state of the public IP address + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :param zones: A list of availability zones denoting the IP allocated for + the resource needs to come from. + :type zones: list[str] + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'ip_configuration': {'readonly': True}, + 'resource_guid': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'sku': {'key': 'sku', 'type': 'PublicIPAddressSku'}, + 'public_ip_allocation_method': {'key': 'properties.publicIPAllocationMethod', 'type': 'str'}, + 'public_ip_address_version': {'key': 'properties.publicIPAddressVersion', 'type': 'str'}, + 'ip_configuration': {'key': 'properties.ipConfiguration', 'type': 'IPConfiguration'}, + 'dns_settings': {'key': 'properties.dnsSettings', 'type': 'PublicIPAddressDnsSettings'}, + 'ddos_settings': {'key': 'properties.ddosSettings', 'type': 'DdosSettings'}, + 'ip_tags': {'key': 'properties.ipTags', 'type': '[IpTag]'}, + 'ip_address': {'key': 'properties.ipAddress', 'type': 'str'}, + 'public_ip_prefix': {'key': 'properties.publicIPPrefix', 'type': 'SubResource'}, + 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'zones': {'key': 'zones', 'type': '[str]'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, sku=None, public_ip_allocation_method=None, public_ip_address_version=None, dns_settings=None, ddos_settings=None, ip_tags=None, ip_address: str=None, public_ip_prefix=None, idle_timeout_in_minutes: int=None, zones=None, **kwargs) -> None: + super(PublicIPAddress, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.sku = sku + self.public_ip_allocation_method = public_ip_allocation_method + self.public_ip_address_version = public_ip_address_version + self.ip_configuration = None + self.dns_settings = dns_settings + self.ddos_settings = ddos_settings + self.ip_tags = ip_tags + self.ip_address = ip_address + self.public_ip_prefix = public_ip_prefix + self.idle_timeout_in_minutes = idle_timeout_in_minutes + self.resource_guid = None + self.provisioning_state = None + self.etag = None + self.zones = zones + + +class PublicIPAddressDnsSettings(Model): + """Contains FQDN of the DNS record associated with the public IP address. + + :param domain_name_label: The domain name label. The concatenation of the + domain name label and the regionalized DNS zone make up the fully + qualified domain name associated with the public IP address. If a domain + name label is specified, an A DNS record is created for the public IP in + the Microsoft Azure DNS system. + :type domain_name_label: str + :param fqdn: The Fully Qualified Domain Name of the A DNS record + associated with the public IP. This is the concatenation of the + domainNameLabel and the regionalized DNS zone. + :type fqdn: str + :param reverse_fqdn: The reverse FQDN. A user-visible, fully qualified + domain name that resolves to this public IP address. If the reverseFqdn is + specified, then a PTR DNS record is created pointing from the IP address + in the in-addr.arpa domain to the reverse FQDN. + :type reverse_fqdn: str + """ + + _attribute_map = { + 'domain_name_label': {'key': 'domainNameLabel', 'type': 'str'}, + 'fqdn': {'key': 'fqdn', 'type': 'str'}, + 'reverse_fqdn': {'key': 'reverseFqdn', 'type': 'str'}, + } + + def __init__(self, *, domain_name_label: str=None, fqdn: str=None, reverse_fqdn: str=None, **kwargs) -> None: + super(PublicIPAddressDnsSettings, self).__init__(**kwargs) + self.domain_name_label = domain_name_label + self.fqdn = fqdn + self.reverse_fqdn = reverse_fqdn + + +class PublicIPAddressSku(Model): + """SKU of a public IP address. + + :param name: Name of a public IP address SKU. Possible values include: + 'Basic', 'Standard' + :type name: str or + ~azure.mgmt.network.v2020_04_01.models.PublicIPAddressSkuName + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, *, name=None, **kwargs) -> None: + super(PublicIPAddressSku, self).__init__(**kwargs) + self.name = name + + +class PublicIPPrefix(Resource): + """Public IP prefix resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param sku: The public IP prefix SKU. + :type sku: ~azure.mgmt.network.v2020_04_01.models.PublicIPPrefixSku + :param public_ip_address_version: The public IP address version. Possible + values include: 'IPv4', 'IPv6' + :type public_ip_address_version: str or + ~azure.mgmt.network.v2020_04_01.models.IPVersion + :param ip_tags: The list of tags associated with the public IP prefix. + :type ip_tags: list[~azure.mgmt.network.v2020_04_01.models.IpTag] + :param prefix_length: The Length of the Public IP Prefix. + :type prefix_length: int + :ivar ip_prefix: The allocated Prefix. + :vartype ip_prefix: str + :ivar public_ip_addresses: The list of all referenced PublicIPAddresses. + :vartype public_ip_addresses: + list[~azure.mgmt.network.v2020_04_01.models.ReferencedPublicIpAddress] + :ivar load_balancer_frontend_ip_configuration: The reference to load + balancer frontend IP configuration associated with the public IP prefix. + :vartype load_balancer_frontend_ip_configuration: + ~azure.mgmt.network.v2020_04_01.models.SubResource + :ivar resource_guid: The resource GUID property of the public IP prefix + resource. + :vartype resource_guid: str + :ivar provisioning_state: The provisioning state of the public IP prefix + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :param zones: A list of availability zones denoting the IP allocated for + the resource needs to come from. + :type zones: list[str] + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'ip_prefix': {'readonly': True}, + 'public_ip_addresses': {'readonly': True}, + 'load_balancer_frontend_ip_configuration': {'readonly': True}, + 'resource_guid': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'sku': {'key': 'sku', 'type': 'PublicIPPrefixSku'}, + 'public_ip_address_version': {'key': 'properties.publicIPAddressVersion', 'type': 'str'}, + 'ip_tags': {'key': 'properties.ipTags', 'type': '[IpTag]'}, + 'prefix_length': {'key': 'properties.prefixLength', 'type': 'int'}, + 'ip_prefix': {'key': 'properties.ipPrefix', 'type': 'str'}, + 'public_ip_addresses': {'key': 'properties.publicIPAddresses', 'type': '[ReferencedPublicIpAddress]'}, + 'load_balancer_frontend_ip_configuration': {'key': 'properties.loadBalancerFrontendIpConfiguration', 'type': 'SubResource'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'zones': {'key': 'zones', 'type': '[str]'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, sku=None, public_ip_address_version=None, ip_tags=None, prefix_length: int=None, zones=None, **kwargs) -> None: + super(PublicIPPrefix, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.sku = sku + self.public_ip_address_version = public_ip_address_version + self.ip_tags = ip_tags + self.prefix_length = prefix_length + self.ip_prefix = None + self.public_ip_addresses = None + self.load_balancer_frontend_ip_configuration = None + self.resource_guid = None + self.provisioning_state = None + self.etag = None + self.zones = zones + + +class PublicIPPrefixSku(Model): + """SKU of a public IP prefix. + + :param name: Name of a public IP prefix SKU. Possible values include: + 'Standard' + :type name: str or + ~azure.mgmt.network.v2020_04_01.models.PublicIPPrefixSkuName + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, *, name=None, **kwargs) -> None: + super(PublicIPPrefixSku, self).__init__(**kwargs) + self.name = name + + +class QueryTroubleshootingParameters(Model): + """Parameters that define the resource to query the troubleshooting result. + + All required parameters must be populated in order to send to Azure. + + :param target_resource_id: Required. The target resource ID to query the + troubleshooting result. + :type target_resource_id: str + """ + + _validation = { + 'target_resource_id': {'required': True}, + } + + _attribute_map = { + 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, + } + + def __init__(self, *, target_resource_id: str, **kwargs) -> None: + super(QueryTroubleshootingParameters, self).__init__(**kwargs) + self.target_resource_id = target_resource_id + + +class RadiusServer(Model): + """Radius Server Settings. + + All required parameters must be populated in order to send to Azure. + + :param radius_server_address: Required. The address of this radius server. + :type radius_server_address: str + :param radius_server_score: The initial score assigned to this radius + server. + :type radius_server_score: long + :param radius_server_secret: The secret used for this radius server. + :type radius_server_secret: str + """ + + _validation = { + 'radius_server_address': {'required': True}, + } + + _attribute_map = { + 'radius_server_address': {'key': 'radiusServerAddress', 'type': 'str'}, + 'radius_server_score': {'key': 'radiusServerScore', 'type': 'long'}, + 'radius_server_secret': {'key': 'radiusServerSecret', 'type': 'str'}, + } + + def __init__(self, *, radius_server_address: str, radius_server_score: int=None, radius_server_secret: str=None, **kwargs) -> None: + super(RadiusServer, self).__init__(**kwargs) + self.radius_server_address = radius_server_address + self.radius_server_score = radius_server_score + self.radius_server_secret = radius_server_secret + + +class RecordSet(Model): + """A collective group of information about the record set information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param record_type: Resource record type. + :type record_type: str + :param record_set_name: Recordset name. + :type record_set_name: str + :param fqdn: Fqdn that resolves to private endpoint ip address. + :type fqdn: str + :ivar provisioning_state: The provisioning state of the recordset. + Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param ttl: Recordset time to live. + :type ttl: int + :param ip_addresses: The private ip address of the private endpoint. + :type ip_addresses: list[str] + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'record_type': {'key': 'recordType', 'type': 'str'}, + 'record_set_name': {'key': 'recordSetName', 'type': 'str'}, + 'fqdn': {'key': 'fqdn', 'type': 'str'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'ttl': {'key': 'ttl', 'type': 'int'}, + 'ip_addresses': {'key': 'ipAddresses', 'type': '[str]'}, + } + + def __init__(self, *, record_type: str=None, record_set_name: str=None, fqdn: str=None, ttl: int=None, ip_addresses=None, **kwargs) -> None: + super(RecordSet, self).__init__(**kwargs) + self.record_type = record_type + self.record_set_name = record_set_name + self.fqdn = fqdn + self.provisioning_state = None + self.ttl = ttl + self.ip_addresses = ip_addresses + + +class ReferencedPublicIpAddress(Model): + """Reference to a public IP address. + + :param id: The PublicIPAddress Reference. + :type id: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, **kwargs) -> None: + super(ReferencedPublicIpAddress, self).__init__(**kwargs) + self.id = id + + +class ResourceNavigationLink(SubResource): + """ResourceNavigationLink resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param linked_resource_type: Resource type of the linked resource. + :type linked_resource_type: str + :param link: Link to the external resource. + :type link: str + :ivar provisioning_state: The provisioning state of the resource + navigation link resource. Possible values include: 'Succeeded', + 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: Name of the resource that is unique within a resource group. + This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Resource type. + :vartype type: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'linked_resource_type': {'key': 'properties.linkedResourceType', 'type': 'str'}, + 'link': {'key': 'properties.link', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, linked_resource_type: str=None, link: str=None, name: str=None, **kwargs) -> None: + super(ResourceNavigationLink, self).__init__(id=id, **kwargs) + self.linked_resource_type = linked_resource_type + self.link = link + self.provisioning_state = None + self.name = name + self.etag = None + self.type = None + + +class ResourceNavigationLinksListResult(Model): + """Response for ResourceNavigationLinks_List operation. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param value: The resource navigation links in a subnet. + :type value: + list[~azure.mgmt.network.v2020_04_01.models.ResourceNavigationLink] + :ivar next_link: The URL to get the next set of results. + :vartype next_link: str + """ + + _validation = { + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ResourceNavigationLink]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, *, value=None, **kwargs) -> None: + super(ResourceNavigationLinksListResult, self).__init__(**kwargs) + self.value = value + self.next_link = None + + +class RetentionPolicyParameters(Model): + """Parameters that define the retention policy for flow log. + + :param days: Number of days to retain flow log records. Default value: 0 . + :type days: int + :param enabled: Flag to enable/disable retention. Default value: False . + :type enabled: bool + """ + + _attribute_map = { + 'days': {'key': 'days', 'type': 'int'}, + 'enabled': {'key': 'enabled', 'type': 'bool'}, + } + + def __init__(self, *, days: int=0, enabled: bool=False, **kwargs) -> None: + super(RetentionPolicyParameters, self).__init__(**kwargs) + self.days = days + self.enabled = enabled + + +class Route(SubResource): + """Route resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :param address_prefix: The destination CIDR to which the route applies. + :type address_prefix: str + :param next_hop_type: Required. The type of Azure hop the packet should be + sent to. Possible values include: 'VirtualNetworkGateway', 'VnetLocal', + 'Internet', 'VirtualAppliance', 'None' + :type next_hop_type: str or + ~azure.mgmt.network.v2020_04_01.models.RouteNextHopType + :param next_hop_ip_address: The IP address packets should be forwarded to. + Next hop values are only allowed in routes where the next hop type is + VirtualAppliance. + :type next_hop_ip_address: str + :ivar provisioning_state: The provisioning state of the route resource. + Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'next_hop_type': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'address_prefix': {'key': 'properties.addressPrefix', 'type': 'str'}, + 'next_hop_type': {'key': 'properties.nextHopType', 'type': 'str'}, + 'next_hop_ip_address': {'key': 'properties.nextHopIpAddress', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, next_hop_type, id: str=None, address_prefix: str=None, next_hop_ip_address: str=None, name: str=None, **kwargs) -> None: + super(Route, self).__init__(id=id, **kwargs) + self.address_prefix = address_prefix + self.next_hop_type = next_hop_type + self.next_hop_ip_address = next_hop_ip_address + self.provisioning_state = None + self.name = name + self.etag = None + + +class RouteFilter(Resource): + """Route Filter Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param rules: Collection of RouteFilterRules contained within a route + filter. + :type rules: list[~azure.mgmt.network.v2020_04_01.models.RouteFilterRule] + :ivar peerings: A collection of references to express route circuit + peerings. + :vartype peerings: + list[~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitPeering] + :ivar ipv6_peerings: A collection of references to express route circuit + ipv6 peerings. + :vartype ipv6_peerings: + list[~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitPeering] + :ivar provisioning_state: The provisioning state of the route filter + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'peerings': {'readonly': True}, + 'ipv6_peerings': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'rules': {'key': 'properties.rules', 'type': '[RouteFilterRule]'}, + 'peerings': {'key': 'properties.peerings', 'type': '[ExpressRouteCircuitPeering]'}, + 'ipv6_peerings': {'key': 'properties.ipv6Peerings', 'type': '[ExpressRouteCircuitPeering]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, rules=None, **kwargs) -> None: + super(RouteFilter, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.rules = rules + self.peerings = None + self.ipv6_peerings = None + self.provisioning_state = None + self.etag = None + + +class RouteFilterRule(SubResource): + """Route Filter Rule Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :param access: Required. The access type of the rule. Possible values + include: 'Allow', 'Deny' + :type access: str or ~azure.mgmt.network.v2020_04_01.models.Access + :ivar route_filter_rule_type: Required. The rule type of the rule. Default + value: "Community" . + :vartype route_filter_rule_type: str + :param communities: Required. The collection for bgp community values to + filter on. e.g. ['12076:5010','12076:5020']. + :type communities: list[str] + :ivar provisioning_state: The provisioning state of the route filter rule + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :param location: Resource location. + :type location: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'access': {'required': True}, + 'route_filter_rule_type': {'required': True, 'constant': True}, + 'communities': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'access': {'key': 'properties.access', 'type': 'str'}, + 'route_filter_rule_type': {'key': 'properties.routeFilterRuleType', 'type': 'str'}, + 'communities': {'key': 'properties.communities', 'type': '[str]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + route_filter_rule_type = "Community" + + def __init__(self, *, access, communities, id: str=None, name: str=None, location: str=None, **kwargs) -> None: + super(RouteFilterRule, self).__init__(id=id, **kwargs) + self.access = access + self.communities = communities + self.provisioning_state = None + self.name = name + self.location = location + self.etag = None + + +class RouteTable(Resource): + """Route table resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param routes: Collection of routes contained within a route table. + :type routes: list[~azure.mgmt.network.v2020_04_01.models.Route] + :ivar subnets: A collection of references to subnets. + :vartype subnets: list[~azure.mgmt.network.v2020_04_01.models.Subnet] + :param disable_bgp_route_propagation: Whether to disable the routes + learned by BGP on that route table. True means disable. + :type disable_bgp_route_propagation: bool + :ivar provisioning_state: The provisioning state of the route table + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'subnets': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'routes': {'key': 'properties.routes', 'type': '[Route]'}, + 'subnets': {'key': 'properties.subnets', 'type': '[Subnet]'}, + 'disable_bgp_route_propagation': {'key': 'properties.disableBgpRoutePropagation', 'type': 'bool'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, routes=None, disable_bgp_route_propagation: bool=None, **kwargs) -> None: + super(RouteTable, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.routes = routes + self.subnets = None + self.disable_bgp_route_propagation = disable_bgp_route_propagation + self.provisioning_state = None + self.etag = None + + +class RoutingConfiguration(Model): + """Routing Configuration indicating the associated and propagated route tables + for this connection. + + :param associated_route_table: The resource id RouteTable associated with + this RoutingConfiguration. + :type associated_route_table: + ~azure.mgmt.network.v2020_04_01.models.SubResource + :param propagated_route_tables: The list of RouteTables to advertise the + routes to. + :type propagated_route_tables: + ~azure.mgmt.network.v2020_04_01.models.PropagatedRouteTable + :param vnet_routes: List of routes that control routing from VirtualHub + into a virtual network connection. + :type vnet_routes: ~azure.mgmt.network.v2020_04_01.models.VnetRoute + """ + + _attribute_map = { + 'associated_route_table': {'key': 'associatedRouteTable', 'type': 'SubResource'}, + 'propagated_route_tables': {'key': 'propagatedRouteTables', 'type': 'PropagatedRouteTable'}, + 'vnet_routes': {'key': 'vnetRoutes', 'type': 'VnetRoute'}, + } + + def __init__(self, *, associated_route_table=None, propagated_route_tables=None, vnet_routes=None, **kwargs) -> None: + super(RoutingConfiguration, self).__init__(**kwargs) + self.associated_route_table = associated_route_table + self.propagated_route_tables = propagated_route_tables + self.vnet_routes = vnet_routes + + +class SecurityGroupNetworkInterface(Model): + """Network interface and all its associated security rules. + + :param id: ID of the network interface. + :type id: str + :param security_rule_associations: All security rules associated with the + network interface. + :type security_rule_associations: + ~azure.mgmt.network.v2020_04_01.models.SecurityRuleAssociations + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'security_rule_associations': {'key': 'securityRuleAssociations', 'type': 'SecurityRuleAssociations'}, + } + + def __init__(self, *, id: str=None, security_rule_associations=None, **kwargs) -> None: + super(SecurityGroupNetworkInterface, self).__init__(**kwargs) + self.id = id + self.security_rule_associations = security_rule_associations + + +class SecurityGroupViewParameters(Model): + """Parameters that define the VM to check security groups for. + + All required parameters must be populated in order to send to Azure. + + :param target_resource_id: Required. ID of the target VM. + :type target_resource_id: str + """ + + _validation = { + 'target_resource_id': {'required': True}, + } + + _attribute_map = { + 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, + } + + def __init__(self, *, target_resource_id: str, **kwargs) -> None: + super(SecurityGroupViewParameters, self).__init__(**kwargs) + self.target_resource_id = target_resource_id + + +class SecurityGroupViewResult(Model): + """The information about security rules applied to the specified VM. + + :param network_interfaces: List of network interfaces on the specified VM. + :type network_interfaces: + list[~azure.mgmt.network.v2020_04_01.models.SecurityGroupNetworkInterface] + """ + + _attribute_map = { + 'network_interfaces': {'key': 'networkInterfaces', 'type': '[SecurityGroupNetworkInterface]'}, + } + + def __init__(self, *, network_interfaces=None, **kwargs) -> None: + super(SecurityGroupViewResult, self).__init__(**kwargs) + self.network_interfaces = network_interfaces + + +class SecurityPartnerProvider(Resource): + """Security Partner Provider resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar provisioning_state: The provisioning state of the Security Partner + Provider resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param security_provider_name: The security provider name. Possible values + include: 'ZScaler', 'IBoss', 'Checkpoint' + :type security_provider_name: str or + ~azure.mgmt.network.v2020_04_01.models.SecurityProviderName + :ivar connection_status: The connection status with the Security Partner + Provider. Possible values include: 'Unknown', 'PartiallyConnected', + 'Connected', 'NotConnected' + :vartype connection_status: str or + ~azure.mgmt.network.v2020_04_01.models.SecurityPartnerProviderConnectionStatus + :param virtual_hub: The virtualHub to which the Security Partner Provider + belongs. + :type virtual_hub: ~azure.mgmt.network.v2020_04_01.models.SubResource + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'connection_status': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'security_provider_name': {'key': 'properties.securityProviderName', 'type': 'str'}, + 'connection_status': {'key': 'properties.connectionStatus', 'type': 'str'}, + 'virtual_hub': {'key': 'properties.virtualHub', 'type': 'SubResource'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, security_provider_name=None, virtual_hub=None, **kwargs) -> None: + super(SecurityPartnerProvider, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.provisioning_state = None + self.security_provider_name = security_provider_name + self.connection_status = None + self.virtual_hub = virtual_hub + self.etag = None + + +class SecurityRule(SubResource): + """Network security rule. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :param description: A description for this rule. Restricted to 140 chars. + :type description: str + :param protocol: Required. Network protocol this rule applies to. Possible + values include: 'Tcp', 'Udp', 'Icmp', 'Esp', '*', 'Ah' + :type protocol: str or + ~azure.mgmt.network.v2020_04_01.models.SecurityRuleProtocol + :param source_port_range: The source port or range. Integer or range + between 0 and 65535. Asterisk '*' can also be used to match all ports. + :type source_port_range: str + :param destination_port_range: The destination port or range. Integer or + range between 0 and 65535. Asterisk '*' can also be used to match all + ports. + :type destination_port_range: str + :param source_address_prefix: The CIDR or source IP range. Asterisk '*' + can also be used to match all source IPs. Default tags such as + 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. If + this is an ingress rule, specifies where network traffic originates from. + :type source_address_prefix: str + :param source_address_prefixes: The CIDR or source IP ranges. + :type source_address_prefixes: list[str] + :param source_application_security_groups: The application security group + specified as source. + :type source_application_security_groups: + list[~azure.mgmt.network.v2020_04_01.models.ApplicationSecurityGroup] + :param destination_address_prefix: The destination address prefix. CIDR or + destination IP range. Asterisk '*' can also be used to match all source + IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and + 'Internet' can also be used. + :type destination_address_prefix: str + :param destination_address_prefixes: The destination address prefixes. + CIDR or destination IP ranges. + :type destination_address_prefixes: list[str] + :param destination_application_security_groups: The application security + group specified as destination. + :type destination_application_security_groups: + list[~azure.mgmt.network.v2020_04_01.models.ApplicationSecurityGroup] + :param source_port_ranges: The source port ranges. + :type source_port_ranges: list[str] + :param destination_port_ranges: The destination port ranges. + :type destination_port_ranges: list[str] + :param access: Required. The network traffic is allowed or denied. + Possible values include: 'Allow', 'Deny' + :type access: str or + ~azure.mgmt.network.v2020_04_01.models.SecurityRuleAccess + :param priority: The priority of the rule. The value can be between 100 + and 4096. The priority number must be unique for each rule in the + collection. The lower the priority number, the higher the priority of the + rule. + :type priority: int + :param direction: Required. The direction of the rule. The direction + specifies if rule will be evaluated on incoming or outgoing traffic. + Possible values include: 'Inbound', 'Outbound' + :type direction: str or + ~azure.mgmt.network.v2020_04_01.models.SecurityRuleDirection + :ivar provisioning_state: The provisioning state of the security rule + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'protocol': {'required': True}, + 'access': {'required': True}, + 'direction': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'protocol': {'key': 'properties.protocol', 'type': 'str'}, + 'source_port_range': {'key': 'properties.sourcePortRange', 'type': 'str'}, + 'destination_port_range': {'key': 'properties.destinationPortRange', 'type': 'str'}, + 'source_address_prefix': {'key': 'properties.sourceAddressPrefix', 'type': 'str'}, + 'source_address_prefixes': {'key': 'properties.sourceAddressPrefixes', 'type': '[str]'}, + 'source_application_security_groups': {'key': 'properties.sourceApplicationSecurityGroups', 'type': '[ApplicationSecurityGroup]'}, + 'destination_address_prefix': {'key': 'properties.destinationAddressPrefix', 'type': 'str'}, + 'destination_address_prefixes': {'key': 'properties.destinationAddressPrefixes', 'type': '[str]'}, + 'destination_application_security_groups': {'key': 'properties.destinationApplicationSecurityGroups', 'type': '[ApplicationSecurityGroup]'}, + 'source_port_ranges': {'key': 'properties.sourcePortRanges', 'type': '[str]'}, + 'destination_port_ranges': {'key': 'properties.destinationPortRanges', 'type': '[str]'}, + 'access': {'key': 'properties.access', 'type': 'str'}, + 'priority': {'key': 'properties.priority', 'type': 'int'}, + 'direction': {'key': 'properties.direction', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, protocol, access, direction, id: str=None, description: str=None, source_port_range: str=None, destination_port_range: str=None, source_address_prefix: str=None, source_address_prefixes=None, source_application_security_groups=None, destination_address_prefix: str=None, destination_address_prefixes=None, destination_application_security_groups=None, source_port_ranges=None, destination_port_ranges=None, priority: int=None, name: str=None, **kwargs) -> None: + super(SecurityRule, self).__init__(id=id, **kwargs) + self.description = description + self.protocol = protocol + self.source_port_range = source_port_range + self.destination_port_range = destination_port_range + self.source_address_prefix = source_address_prefix + self.source_address_prefixes = source_address_prefixes + self.source_application_security_groups = source_application_security_groups + self.destination_address_prefix = destination_address_prefix + self.destination_address_prefixes = destination_address_prefixes + self.destination_application_security_groups = destination_application_security_groups + self.source_port_ranges = source_port_ranges + self.destination_port_ranges = destination_port_ranges + self.access = access + self.priority = priority + self.direction = direction + self.provisioning_state = None + self.name = name + self.etag = None + + +class SecurityRuleAssociations(Model): + """All security rules associated with the network interface. + + :param network_interface_association: Network interface and it's custom + security rules. + :type network_interface_association: + ~azure.mgmt.network.v2020_04_01.models.NetworkInterfaceAssociation + :param subnet_association: Subnet and it's custom security rules. + :type subnet_association: + ~azure.mgmt.network.v2020_04_01.models.SubnetAssociation + :param default_security_rules: Collection of default security rules of the + network security group. + :type default_security_rules: + list[~azure.mgmt.network.v2020_04_01.models.SecurityRule] + :param effective_security_rules: Collection of effective security rules. + :type effective_security_rules: + list[~azure.mgmt.network.v2020_04_01.models.EffectiveNetworkSecurityRule] + """ + + _attribute_map = { + 'network_interface_association': {'key': 'networkInterfaceAssociation', 'type': 'NetworkInterfaceAssociation'}, + 'subnet_association': {'key': 'subnetAssociation', 'type': 'SubnetAssociation'}, + 'default_security_rules': {'key': 'defaultSecurityRules', 'type': '[SecurityRule]'}, + 'effective_security_rules': {'key': 'effectiveSecurityRules', 'type': '[EffectiveNetworkSecurityRule]'}, + } + + def __init__(self, *, network_interface_association=None, subnet_association=None, default_security_rules=None, effective_security_rules=None, **kwargs) -> None: + super(SecurityRuleAssociations, self).__init__(**kwargs) + self.network_interface_association = network_interface_association + self.subnet_association = subnet_association + self.default_security_rules = default_security_rules + self.effective_security_rules = effective_security_rules + + +class ServiceAssociationLink(SubResource): + """ServiceAssociationLink resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param linked_resource_type: Resource type of the linked resource. + :type linked_resource_type: str + :param link: Link to the external resource. + :type link: str + :ivar provisioning_state: The provisioning state of the service + association link resource. Possible values include: 'Succeeded', + 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param allow_delete: If true, the resource can be deleted. + :type allow_delete: bool + :param locations: A list of locations. + :type locations: list[str] + :param name: Name of the resource that is unique within a resource group. + This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Resource type. + :vartype type: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'linked_resource_type': {'key': 'properties.linkedResourceType', 'type': 'str'}, + 'link': {'key': 'properties.link', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'allow_delete': {'key': 'properties.allowDelete', 'type': 'bool'}, + 'locations': {'key': 'properties.locations', 'type': '[str]'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, linked_resource_type: str=None, link: str=None, allow_delete: bool=None, locations=None, name: str=None, **kwargs) -> None: + super(ServiceAssociationLink, self).__init__(id=id, **kwargs) + self.linked_resource_type = linked_resource_type + self.link = link + self.provisioning_state = None + self.allow_delete = allow_delete + self.locations = locations + self.name = name + self.etag = None + self.type = None + + +class ServiceAssociationLinksListResult(Model): + """Response for ServiceAssociationLinks_List operation. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param value: The service association links in a subnet. + :type value: + list[~azure.mgmt.network.v2020_04_01.models.ServiceAssociationLink] + :ivar next_link: The URL to get the next set of results. + :vartype next_link: str + """ + + _validation = { + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ServiceAssociationLink]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, *, value=None, **kwargs) -> None: + super(ServiceAssociationLinksListResult, self).__init__(**kwargs) + self.value = value + self.next_link = None + + +class ServiceEndpointPolicy(Resource): + """Service End point policy resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param service_endpoint_policy_definitions: A collection of service + endpoint policy definitions of the service endpoint policy. + :type service_endpoint_policy_definitions: + list[~azure.mgmt.network.v2020_04_01.models.ServiceEndpointPolicyDefinition] + :ivar subnets: A collection of references to subnets. + :vartype subnets: list[~azure.mgmt.network.v2020_04_01.models.Subnet] + :ivar resource_guid: The resource GUID property of the service endpoint + policy resource. + :vartype resource_guid: str + :ivar provisioning_state: The provisioning state of the service endpoint + policy resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'subnets': {'readonly': True}, + 'resource_guid': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'service_endpoint_policy_definitions': {'key': 'properties.serviceEndpointPolicyDefinitions', 'type': '[ServiceEndpointPolicyDefinition]'}, + 'subnets': {'key': 'properties.subnets', 'type': '[Subnet]'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, service_endpoint_policy_definitions=None, **kwargs) -> None: + super(ServiceEndpointPolicy, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.service_endpoint_policy_definitions = service_endpoint_policy_definitions + self.subnets = None + self.resource_guid = None + self.provisioning_state = None + self.etag = None + + +class ServiceEndpointPolicyDefinition(SubResource): + """Service Endpoint policy definitions. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param description: A description for this rule. Restricted to 140 chars. + :type description: str + :param service: Service endpoint name. + :type service: str + :param service_resources: A list of service resources. + :type service_resources: list[str] + :ivar provisioning_state: The provisioning state of the service endpoint + policy definition resource. Possible values include: 'Succeeded', + 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'service': {'key': 'properties.service', 'type': 'str'}, + 'service_resources': {'key': 'properties.serviceResources', 'type': '[str]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, description: str=None, service: str=None, service_resources=None, name: str=None, **kwargs) -> None: + super(ServiceEndpointPolicyDefinition, self).__init__(id=id, **kwargs) + self.description = description + self.service = service + self.service_resources = service_resources + self.provisioning_state = None + self.name = name + self.etag = None + + +class ServiceEndpointPropertiesFormat(Model): + """The service endpoint properties. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param service: The type of the endpoint service. + :type service: str + :param locations: A list of locations. + :type locations: list[str] + :ivar provisioning_state: The provisioning state of the service endpoint + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'service': {'key': 'service', 'type': 'str'}, + 'locations': {'key': 'locations', 'type': '[str]'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + } + + def __init__(self, *, service: str=None, locations=None, **kwargs) -> None: + super(ServiceEndpointPropertiesFormat, self).__init__(**kwargs) + self.service = service + self.locations = locations + self.provisioning_state = None + + +class ServiceTagInformation(Model): + """The service tag information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar properties: Properties of the service tag information. + :vartype properties: + ~azure.mgmt.network.v2020_04_01.models.ServiceTagInformationPropertiesFormat + :ivar name: The name of service tag. + :vartype name: str + :ivar id: The ID of service tag. + :vartype id: str + """ + + _validation = { + 'properties': {'readonly': True}, + 'name': {'readonly': True}, + 'id': {'readonly': True}, + } + + _attribute_map = { + 'properties': {'key': 'properties', 'type': 'ServiceTagInformationPropertiesFormat'}, + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(ServiceTagInformation, self).__init__(**kwargs) + self.properties = None + self.name = None + self.id = None + + +class ServiceTagInformationPropertiesFormat(Model): + """Properties of the service tag information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar change_number: The iteration number of service tag. + :vartype change_number: str + :ivar region: The region of service tag. + :vartype region: str + :ivar system_service: The name of system service. + :vartype system_service: str + :ivar address_prefixes: The list of IP address prefixes. + :vartype address_prefixes: list[str] + """ + + _validation = { + 'change_number': {'readonly': True}, + 'region': {'readonly': True}, + 'system_service': {'readonly': True}, + 'address_prefixes': {'readonly': True}, + } + + _attribute_map = { + 'change_number': {'key': 'changeNumber', 'type': 'str'}, + 'region': {'key': 'region', 'type': 'str'}, + 'system_service': {'key': 'systemService', 'type': 'str'}, + 'address_prefixes': {'key': 'addressPrefixes', 'type': '[str]'}, + } + + def __init__(self, **kwargs) -> None: + super(ServiceTagInformationPropertiesFormat, self).__init__(**kwargs) + self.change_number = None + self.region = None + self.system_service = None + self.address_prefixes = None + + +class ServiceTagsListResult(Model): + """Response for the ListServiceTags API service call. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name: The name of the cloud. + :vartype name: str + :ivar id: The ID of the cloud. + :vartype id: str + :ivar type: The azure resource type. + :vartype type: str + :ivar change_number: The iteration number. + :vartype change_number: str + :ivar cloud: The name of the cloud. + :vartype cloud: str + :ivar values: The list of service tag information resources. + :vartype values: + list[~azure.mgmt.network.v2020_04_01.models.ServiceTagInformation] + """ + + _validation = { + 'name': {'readonly': True}, + 'id': {'readonly': True}, + 'type': {'readonly': True}, + 'change_number': {'readonly': True}, + 'cloud': {'readonly': True}, + 'values': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'change_number': {'key': 'changeNumber', 'type': 'str'}, + 'cloud': {'key': 'cloud', 'type': 'str'}, + 'values': {'key': 'values', 'type': '[ServiceTagInformation]'}, + } + + def __init__(self, **kwargs) -> None: + super(ServiceTagsListResult, self).__init__(**kwargs) + self.name = None + self.id = None + self.type = None + self.change_number = None + self.cloud = None + self.values = None + + +class SessionIds(Model): + """List of session IDs. + + :param session_ids: List of session IDs. + :type session_ids: list[str] + """ + + _attribute_map = { + 'session_ids': {'key': 'sessionIds', 'type': '[str]'}, + } + + def __init__(self, *, session_ids=None, **kwargs) -> None: + super(SessionIds, self).__init__(**kwargs) + self.session_ids = session_ids + + +class StaticRoute(Model): + """List of all Static Routes. + + :param name: The name of the StaticRoute that is unique within a + VnetRoute. + :type name: str + :param address_prefixes: List of all address prefixes. + :type address_prefixes: list[str] + :param next_hop_ip_address: The ip address of the next hop. + :type next_hop_ip_address: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'address_prefixes': {'key': 'addressPrefixes', 'type': '[str]'}, + 'next_hop_ip_address': {'key': 'nextHopIpAddress', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, address_prefixes=None, next_hop_ip_address: str=None, **kwargs) -> None: + super(StaticRoute, self).__init__(**kwargs) + self.name = name + self.address_prefixes = address_prefixes + self.next_hop_ip_address = next_hop_ip_address + + +class Subnet(SubResource): + """Subnet in a virtual network resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param address_prefix: The address prefix for the subnet. + :type address_prefix: str + :param address_prefixes: List of address prefixes for the subnet. + :type address_prefixes: list[str] + :param network_security_group: The reference to the NetworkSecurityGroup + resource. + :type network_security_group: + ~azure.mgmt.network.v2020_04_01.models.NetworkSecurityGroup + :param route_table: The reference to the RouteTable resource. + :type route_table: ~azure.mgmt.network.v2020_04_01.models.RouteTable + :param nat_gateway: Nat gateway associated with this subnet. + :type nat_gateway: ~azure.mgmt.network.v2020_04_01.models.SubResource + :param service_endpoints: An array of service endpoints. + :type service_endpoints: + list[~azure.mgmt.network.v2020_04_01.models.ServiceEndpointPropertiesFormat] + :param service_endpoint_policies: An array of service endpoint policies. + :type service_endpoint_policies: + list[~azure.mgmt.network.v2020_04_01.models.ServiceEndpointPolicy] + :ivar private_endpoints: An array of references to private endpoints. + :vartype private_endpoints: + list[~azure.mgmt.network.v2020_04_01.models.PrivateEndpoint] + :ivar ip_configurations: An array of references to the network interface + IP configurations using subnet. + :vartype ip_configurations: + list[~azure.mgmt.network.v2020_04_01.models.IPConfiguration] + :ivar ip_configuration_profiles: Array of IP configuration profiles which + reference this subnet. + :vartype ip_configuration_profiles: + list[~azure.mgmt.network.v2020_04_01.models.IPConfigurationProfile] + :param ip_allocations: Array of IpAllocation which reference this subnet. + :type ip_allocations: + list[~azure.mgmt.network.v2020_04_01.models.SubResource] + :ivar resource_navigation_links: An array of references to the external + resources using subnet. + :vartype resource_navigation_links: + list[~azure.mgmt.network.v2020_04_01.models.ResourceNavigationLink] + :ivar service_association_links: An array of references to services + injecting into this subnet. + :vartype service_association_links: + list[~azure.mgmt.network.v2020_04_01.models.ServiceAssociationLink] + :param delegations: An array of references to the delegations on the + subnet. + :type delegations: list[~azure.mgmt.network.v2020_04_01.models.Delegation] + :ivar purpose: A read-only string identifying the intention of use for + this subnet based on delegations and other user-defined properties. + :vartype purpose: str + :ivar provisioning_state: The provisioning state of the subnet resource. + Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param private_endpoint_network_policies: Enable or Disable apply network + policies on private end point in the subnet. + :type private_endpoint_network_policies: str + :param private_link_service_network_policies: Enable or Disable apply + network policies on private link service in the subnet. + :type private_link_service_network_policies: str + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'private_endpoints': {'readonly': True}, + 'ip_configurations': {'readonly': True}, + 'ip_configuration_profiles': {'readonly': True}, + 'resource_navigation_links': {'readonly': True}, + 'service_association_links': {'readonly': True}, + 'purpose': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'address_prefix': {'key': 'properties.addressPrefix', 'type': 'str'}, + 'address_prefixes': {'key': 'properties.addressPrefixes', 'type': '[str]'}, + 'network_security_group': {'key': 'properties.networkSecurityGroup', 'type': 'NetworkSecurityGroup'}, + 'route_table': {'key': 'properties.routeTable', 'type': 'RouteTable'}, + 'nat_gateway': {'key': 'properties.natGateway', 'type': 'SubResource'}, + 'service_endpoints': {'key': 'properties.serviceEndpoints', 'type': '[ServiceEndpointPropertiesFormat]'}, + 'service_endpoint_policies': {'key': 'properties.serviceEndpointPolicies', 'type': '[ServiceEndpointPolicy]'}, + 'private_endpoints': {'key': 'properties.privateEndpoints', 'type': '[PrivateEndpoint]'}, + 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[IPConfiguration]'}, + 'ip_configuration_profiles': {'key': 'properties.ipConfigurationProfiles', 'type': '[IPConfigurationProfile]'}, + 'ip_allocations': {'key': 'properties.ipAllocations', 'type': '[SubResource]'}, + 'resource_navigation_links': {'key': 'properties.resourceNavigationLinks', 'type': '[ResourceNavigationLink]'}, + 'service_association_links': {'key': 'properties.serviceAssociationLinks', 'type': '[ServiceAssociationLink]'}, + 'delegations': {'key': 'properties.delegations', 'type': '[Delegation]'}, + 'purpose': {'key': 'properties.purpose', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'private_endpoint_network_policies': {'key': 'properties.privateEndpointNetworkPolicies', 'type': 'str'}, + 'private_link_service_network_policies': {'key': 'properties.privateLinkServiceNetworkPolicies', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, address_prefix: str=None, address_prefixes=None, network_security_group=None, route_table=None, nat_gateway=None, service_endpoints=None, service_endpoint_policies=None, ip_allocations=None, delegations=None, private_endpoint_network_policies: str=None, private_link_service_network_policies: str=None, name: str=None, **kwargs) -> None: + super(Subnet, self).__init__(id=id, **kwargs) + self.address_prefix = address_prefix + self.address_prefixes = address_prefixes + self.network_security_group = network_security_group + self.route_table = route_table + self.nat_gateway = nat_gateway + self.service_endpoints = service_endpoints + self.service_endpoint_policies = service_endpoint_policies + self.private_endpoints = None + self.ip_configurations = None + self.ip_configuration_profiles = None + self.ip_allocations = ip_allocations + self.resource_navigation_links = None + self.service_association_links = None + self.delegations = delegations + self.purpose = None + self.provisioning_state = None + self.private_endpoint_network_policies = private_endpoint_network_policies + self.private_link_service_network_policies = private_link_service_network_policies + self.name = name + self.etag = None + + +class SubnetAssociation(Model): + """Subnet and it's custom security rules. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Subnet ID. + :vartype id: str + :param security_rules: Collection of custom security rules. + :type security_rules: + list[~azure.mgmt.network.v2020_04_01.models.SecurityRule] + """ + + _validation = { + 'id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'security_rules': {'key': 'securityRules', 'type': '[SecurityRule]'}, + } + + def __init__(self, *, security_rules=None, **kwargs) -> None: + super(SubnetAssociation, self).__init__(**kwargs) + self.id = None + self.security_rules = security_rules + + +class TagsObject(Model): + """Tags object for patch operations. + + :param tags: Resource tags. + :type tags: dict[str, str] + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, *, tags=None, **kwargs) -> None: + super(TagsObject, self).__init__(**kwargs) + self.tags = tags + + +class Topology(Model): + """Topology of the specified resource group. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: GUID representing the operation id. + :vartype id: str + :ivar created_date_time: The datetime when the topology was initially + created for the resource group. + :vartype created_date_time: datetime + :ivar last_modified: The datetime when the topology was last modified. + :vartype last_modified: datetime + :param resources: A list of topology resources. + :type resources: + list[~azure.mgmt.network.v2020_04_01.models.TopologyResource] + """ + + _validation = { + 'id': {'readonly': True}, + 'created_date_time': {'readonly': True}, + 'last_modified': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'created_date_time': {'key': 'createdDateTime', 'type': 'iso-8601'}, + 'last_modified': {'key': 'lastModified', 'type': 'iso-8601'}, + 'resources': {'key': 'resources', 'type': '[TopologyResource]'}, + } + + def __init__(self, *, resources=None, **kwargs) -> None: + super(Topology, self).__init__(**kwargs) + self.id = None + self.created_date_time = None + self.last_modified = None + self.resources = resources + + +class TopologyAssociation(Model): + """Resources that have an association with the parent resource. + + :param name: The name of the resource that is associated with the parent + resource. + :type name: str + :param resource_id: The ID of the resource that is associated with the + parent resource. + :type resource_id: str + :param association_type: The association type of the child resource to the + parent resource. Possible values include: 'Associated', 'Contains' + :type association_type: str or + ~azure.mgmt.network.v2020_04_01.models.AssociationType + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + 'association_type': {'key': 'associationType', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, resource_id: str=None, association_type=None, **kwargs) -> None: + super(TopologyAssociation, self).__init__(**kwargs) + self.name = name + self.resource_id = resource_id + self.association_type = association_type + + +class TopologyParameters(Model): + """Parameters that define the representation of topology. + + :param target_resource_group_name: The name of the target resource group + to perform topology on. + :type target_resource_group_name: str + :param target_virtual_network: The reference to the Virtual Network + resource. + :type target_virtual_network: + ~azure.mgmt.network.v2020_04_01.models.SubResource + :param target_subnet: The reference to the Subnet resource. + :type target_subnet: ~azure.mgmt.network.v2020_04_01.models.SubResource + """ + + _attribute_map = { + 'target_resource_group_name': {'key': 'targetResourceGroupName', 'type': 'str'}, + 'target_virtual_network': {'key': 'targetVirtualNetwork', 'type': 'SubResource'}, + 'target_subnet': {'key': 'targetSubnet', 'type': 'SubResource'}, + } + + def __init__(self, *, target_resource_group_name: str=None, target_virtual_network=None, target_subnet=None, **kwargs) -> None: + super(TopologyParameters, self).__init__(**kwargs) + self.target_resource_group_name = target_resource_group_name + self.target_virtual_network = target_virtual_network + self.target_subnet = target_subnet + + +class TopologyResource(Model): + """The network resource topology information for the given resource group. + + :param name: Name of the resource. + :type name: str + :param id: ID of the resource. + :type id: str + :param location: Resource location. + :type location: str + :param associations: Holds the associations the resource has with other + resources in the resource group. + :type associations: + list[~azure.mgmt.network.v2020_04_01.models.TopologyAssociation] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'associations': {'key': 'associations', 'type': '[TopologyAssociation]'}, + } + + def __init__(self, *, name: str=None, id: str=None, location: str=None, associations=None, **kwargs) -> None: + super(TopologyResource, self).__init__(**kwargs) + self.name = name + self.id = id + self.location = location + self.associations = associations + + +class TrafficAnalyticsConfigurationProperties(Model): + """Parameters that define the configuration of traffic analytics. + + :param enabled: Flag to enable/disable traffic analytics. + :type enabled: bool + :param workspace_id: The resource guid of the attached workspace. + :type workspace_id: str + :param workspace_region: The location of the attached workspace. + :type workspace_region: str + :param workspace_resource_id: Resource Id of the attached workspace. + :type workspace_resource_id: str + :param traffic_analytics_interval: The interval in minutes which would + decide how frequently TA service should do flow analytics. + :type traffic_analytics_interval: int + """ + + _attribute_map = { + 'enabled': {'key': 'enabled', 'type': 'bool'}, + 'workspace_id': {'key': 'workspaceId', 'type': 'str'}, + 'workspace_region': {'key': 'workspaceRegion', 'type': 'str'}, + 'workspace_resource_id': {'key': 'workspaceResourceId', 'type': 'str'}, + 'traffic_analytics_interval': {'key': 'trafficAnalyticsInterval', 'type': 'int'}, + } + + def __init__(self, *, enabled: bool=None, workspace_id: str=None, workspace_region: str=None, workspace_resource_id: str=None, traffic_analytics_interval: int=None, **kwargs) -> None: + super(TrafficAnalyticsConfigurationProperties, self).__init__(**kwargs) + self.enabled = enabled + self.workspace_id = workspace_id + self.workspace_region = workspace_region + self.workspace_resource_id = workspace_resource_id + self.traffic_analytics_interval = traffic_analytics_interval + + +class TrafficAnalyticsProperties(Model): + """Parameters that define the configuration of traffic analytics. + + :param network_watcher_flow_analytics_configuration: Parameters that + define the configuration of traffic analytics. + :type network_watcher_flow_analytics_configuration: + ~azure.mgmt.network.v2020_04_01.models.TrafficAnalyticsConfigurationProperties + """ + + _attribute_map = { + 'network_watcher_flow_analytics_configuration': {'key': 'networkWatcherFlowAnalyticsConfiguration', 'type': 'TrafficAnalyticsConfigurationProperties'}, + } + + def __init__(self, *, network_watcher_flow_analytics_configuration=None, **kwargs) -> None: + super(TrafficAnalyticsProperties, self).__init__(**kwargs) + self.network_watcher_flow_analytics_configuration = network_watcher_flow_analytics_configuration + + +class TrafficSelectorPolicy(Model): + """An traffic selector policy for a virtual network gateway connection. + + All required parameters must be populated in order to send to Azure. + + :param local_address_ranges: Required. A collection of local address + spaces in CIDR format. + :type local_address_ranges: list[str] + :param remote_address_ranges: Required. A collection of remote address + spaces in CIDR format. + :type remote_address_ranges: list[str] + """ + + _validation = { + 'local_address_ranges': {'required': True}, + 'remote_address_ranges': {'required': True}, + } + + _attribute_map = { + 'local_address_ranges': {'key': 'localAddressRanges', 'type': '[str]'}, + 'remote_address_ranges': {'key': 'remoteAddressRanges', 'type': '[str]'}, + } + + def __init__(self, *, local_address_ranges, remote_address_ranges, **kwargs) -> None: + super(TrafficSelectorPolicy, self).__init__(**kwargs) + self.local_address_ranges = local_address_ranges + self.remote_address_ranges = remote_address_ranges + + +class TroubleshootingDetails(Model): + """Information gained from troubleshooting of specified resource. + + :param id: The id of the get troubleshoot operation. + :type id: str + :param reason_type: Reason type of failure. + :type reason_type: str + :param summary: A summary of troubleshooting. + :type summary: str + :param detail: Details on troubleshooting results. + :type detail: str + :param recommended_actions: List of recommended actions. + :type recommended_actions: + list[~azure.mgmt.network.v2020_04_01.models.TroubleshootingRecommendedActions] + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'reason_type': {'key': 'reasonType', 'type': 'str'}, + 'summary': {'key': 'summary', 'type': 'str'}, + 'detail': {'key': 'detail', 'type': 'str'}, + 'recommended_actions': {'key': 'recommendedActions', 'type': '[TroubleshootingRecommendedActions]'}, + } + + def __init__(self, *, id: str=None, reason_type: str=None, summary: str=None, detail: str=None, recommended_actions=None, **kwargs) -> None: + super(TroubleshootingDetails, self).__init__(**kwargs) + self.id = id + self.reason_type = reason_type + self.summary = summary + self.detail = detail + self.recommended_actions = recommended_actions + + +class TroubleshootingParameters(Model): + """Parameters that define the resource to troubleshoot. + + All required parameters must be populated in order to send to Azure. + + :param target_resource_id: Required. The target resource to troubleshoot. + :type target_resource_id: str + :param storage_id: Required. The ID for the storage account to save the + troubleshoot result. + :type storage_id: str + :param storage_path: Required. The path to the blob to save the + troubleshoot result in. + :type storage_path: str + """ + + _validation = { + 'target_resource_id': {'required': True}, + 'storage_id': {'required': True}, + 'storage_path': {'required': True}, + } + + _attribute_map = { + 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, + 'storage_id': {'key': 'properties.storageId', 'type': 'str'}, + 'storage_path': {'key': 'properties.storagePath', 'type': 'str'}, + } + + def __init__(self, *, target_resource_id: str, storage_id: str, storage_path: str, **kwargs) -> None: + super(TroubleshootingParameters, self).__init__(**kwargs) + self.target_resource_id = target_resource_id + self.storage_id = storage_id + self.storage_path = storage_path + + +class TroubleshootingRecommendedActions(Model): + """Recommended actions based on discovered issues. + + :param action_id: ID of the recommended action. + :type action_id: str + :param action_text: Description of recommended actions. + :type action_text: str + :param action_uri: The uri linking to a documentation for the recommended + troubleshooting actions. + :type action_uri: str + :param action_uri_text: The information from the URI for the recommended + troubleshooting actions. + :type action_uri_text: str + """ + + _attribute_map = { + 'action_id': {'key': 'actionId', 'type': 'str'}, + 'action_text': {'key': 'actionText', 'type': 'str'}, + 'action_uri': {'key': 'actionUri', 'type': 'str'}, + 'action_uri_text': {'key': 'actionUriText', 'type': 'str'}, + } + + def __init__(self, *, action_id: str=None, action_text: str=None, action_uri: str=None, action_uri_text: str=None, **kwargs) -> None: + super(TroubleshootingRecommendedActions, self).__init__(**kwargs) + self.action_id = action_id + self.action_text = action_text + self.action_uri = action_uri + self.action_uri_text = action_uri_text + + +class TroubleshootingResult(Model): + """Troubleshooting information gained from specified resource. + + :param start_time: The start time of the troubleshooting. + :type start_time: datetime + :param end_time: The end time of the troubleshooting. + :type end_time: datetime + :param code: The result code of the troubleshooting. + :type code: str + :param results: Information from troubleshooting. + :type results: + list[~azure.mgmt.network.v2020_04_01.models.TroubleshootingDetails] + """ + + _attribute_map = { + 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, + 'code': {'key': 'code', 'type': 'str'}, + 'results': {'key': 'results', 'type': '[TroubleshootingDetails]'}, + } + + def __init__(self, *, start_time=None, end_time=None, code: str=None, results=None, **kwargs) -> None: + super(TroubleshootingResult, self).__init__(**kwargs) + self.start_time = start_time + self.end_time = end_time + self.code = code + self.results = results + + +class TunnelConnectionHealth(Model): + """VirtualNetworkGatewayConnection properties. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar tunnel: Tunnel name. + :vartype tunnel: str + :ivar connection_status: Virtual Network Gateway connection status. + Possible values include: 'Unknown', 'Connecting', 'Connected', + 'NotConnected' + :vartype connection_status: str or + ~azure.mgmt.network.v2020_04_01.models.VirtualNetworkGatewayConnectionStatus + :ivar ingress_bytes_transferred: The Ingress Bytes Transferred in this + connection. + :vartype ingress_bytes_transferred: long + :ivar egress_bytes_transferred: The Egress Bytes Transferred in this + connection. + :vartype egress_bytes_transferred: long + :ivar last_connection_established_utc_time: The time at which connection + was established in Utc format. + :vartype last_connection_established_utc_time: str + """ + + _validation = { + 'tunnel': {'readonly': True}, + 'connection_status': {'readonly': True}, + 'ingress_bytes_transferred': {'readonly': True}, + 'egress_bytes_transferred': {'readonly': True}, + 'last_connection_established_utc_time': {'readonly': True}, + } + + _attribute_map = { + 'tunnel': {'key': 'tunnel', 'type': 'str'}, + 'connection_status': {'key': 'connectionStatus', 'type': 'str'}, + 'ingress_bytes_transferred': {'key': 'ingressBytesTransferred', 'type': 'long'}, + 'egress_bytes_transferred': {'key': 'egressBytesTransferred', 'type': 'long'}, + 'last_connection_established_utc_time': {'key': 'lastConnectionEstablishedUtcTime', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(TunnelConnectionHealth, self).__init__(**kwargs) + self.tunnel = None + self.connection_status = None + self.ingress_bytes_transferred = None + self.egress_bytes_transferred = None + self.last_connection_established_utc_time = None + + +class UnprepareNetworkPoliciesRequest(Model): + """Details of UnprepareNetworkPolicies for Subnet. + + :param service_name: The name of the service for which subnet is being + unprepared for. + :type service_name: str + """ + + _attribute_map = { + 'service_name': {'key': 'serviceName', 'type': 'str'}, + } + + def __init__(self, *, service_name: str=None, **kwargs) -> None: + super(UnprepareNetworkPoliciesRequest, self).__init__(**kwargs) + self.service_name = service_name + + +class Usage(Model): + """The network resource usage. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Resource identifier. + :vartype id: str + :ivar unit: Required. An enum describing the unit of measurement. Default + value: "Count" . + :vartype unit: str + :param current_value: Required. The current value of the usage. + :type current_value: long + :param limit: Required. The limit of usage. + :type limit: long + :param name: Required. The name of the type of usage. + :type name: ~azure.mgmt.network.v2020_04_01.models.UsageName + """ + + _validation = { + 'id': {'readonly': True}, + 'unit': {'required': True, 'constant': True}, + 'current_value': {'required': True}, + 'limit': {'required': True}, + 'name': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'unit': {'key': 'unit', 'type': 'str'}, + 'current_value': {'key': 'currentValue', 'type': 'long'}, + 'limit': {'key': 'limit', 'type': 'long'}, + 'name': {'key': 'name', 'type': 'UsageName'}, + } + + unit = "Count" + + def __init__(self, *, current_value: int, limit: int, name, **kwargs) -> None: + super(Usage, self).__init__(**kwargs) + self.id = None + self.current_value = current_value + self.limit = limit + self.name = name + + +class UsageName(Model): + """The usage names. + + :param value: A string describing the resource name. + :type value: str + :param localized_value: A localized string describing the resource name. + :type localized_value: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': 'str'}, + 'localized_value': {'key': 'localizedValue', 'type': 'str'}, + } + + def __init__(self, *, value: str=None, localized_value: str=None, **kwargs) -> None: + super(UsageName, self).__init__(**kwargs) + self.value = value + self.localized_value = localized_value + + +class VerificationIPFlowParameters(Model): + """Parameters that define the IP flow to be verified. + + All required parameters must be populated in order to send to Azure. + + :param target_resource_id: Required. The ID of the target resource to + perform next-hop on. + :type target_resource_id: str + :param direction: Required. The direction of the packet represented as a + 5-tuple. Possible values include: 'Inbound', 'Outbound' + :type direction: str or ~azure.mgmt.network.v2020_04_01.models.Direction + :param protocol: Required. Protocol to be verified on. Possible values + include: 'TCP', 'UDP' + :type protocol: str or + ~azure.mgmt.network.v2020_04_01.models.IpFlowProtocol + :param local_port: Required. The local port. Acceptable values are a + single integer in the range (0-65535). Support for * for the source port, + which depends on the direction. + :type local_port: str + :param remote_port: Required. The remote port. Acceptable values are a + single integer in the range (0-65535). Support for * for the source port, + which depends on the direction. + :type remote_port: str + :param local_ip_address: Required. The local IP address. Acceptable values + are valid IPv4 addresses. + :type local_ip_address: str + :param remote_ip_address: Required. The remote IP address. Acceptable + values are valid IPv4 addresses. + :type remote_ip_address: str + :param target_nic_resource_id: The NIC ID. (If VM has multiple NICs and IP + forwarding is enabled on any of them, then this parameter must be + specified. Otherwise optional). + :type target_nic_resource_id: str + """ + + _validation = { + 'target_resource_id': {'required': True}, + 'direction': {'required': True}, + 'protocol': {'required': True}, + 'local_port': {'required': True}, + 'remote_port': {'required': True}, + 'local_ip_address': {'required': True}, + 'remote_ip_address': {'required': True}, + } + + _attribute_map = { + 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, + 'direction': {'key': 'direction', 'type': 'str'}, + 'protocol': {'key': 'protocol', 'type': 'str'}, + 'local_port': {'key': 'localPort', 'type': 'str'}, + 'remote_port': {'key': 'remotePort', 'type': 'str'}, + 'local_ip_address': {'key': 'localIPAddress', 'type': 'str'}, + 'remote_ip_address': {'key': 'remoteIPAddress', 'type': 'str'}, + 'target_nic_resource_id': {'key': 'targetNicResourceId', 'type': 'str'}, + } + + def __init__(self, *, target_resource_id: str, direction, protocol, local_port: str, remote_port: str, local_ip_address: str, remote_ip_address: str, target_nic_resource_id: str=None, **kwargs) -> None: + super(VerificationIPFlowParameters, self).__init__(**kwargs) + self.target_resource_id = target_resource_id + self.direction = direction + self.protocol = protocol + self.local_port = local_port + self.remote_port = remote_port + self.local_ip_address = local_ip_address + self.remote_ip_address = remote_ip_address + self.target_nic_resource_id = target_nic_resource_id + + +class VerificationIPFlowResult(Model): + """Results of IP flow verification on the target resource. + + :param access: Indicates whether the traffic is allowed or denied. + Possible values include: 'Allow', 'Deny' + :type access: str or ~azure.mgmt.network.v2020_04_01.models.Access + :param rule_name: Name of the rule. If input is not matched against any + security rule, it is not displayed. + :type rule_name: str + """ + + _attribute_map = { + 'access': {'key': 'access', 'type': 'str'}, + 'rule_name': {'key': 'ruleName', 'type': 'str'}, + } + + def __init__(self, *, access=None, rule_name: str=None, **kwargs) -> None: + super(VerificationIPFlowResult, self).__init__(**kwargs) + self.access = access + self.rule_name = rule_name + + +class VirtualApplianceNicProperties(Model): + """Network Virtual Appliance NIC properties. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name: NIC name. + :vartype name: str + :ivar public_ip_address: Public IP address. + :vartype public_ip_address: str + :ivar private_ip_address: Private IP address. + :vartype private_ip_address: str + """ + + _validation = { + 'name': {'readonly': True}, + 'public_ip_address': {'readonly': True}, + 'private_ip_address': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'public_ip_address': {'key': 'publicIpAddress', 'type': 'str'}, + 'private_ip_address': {'key': 'privateIpAddress', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(VirtualApplianceNicProperties, self).__init__(**kwargs) + self.name = None + self.public_ip_address = None + self.private_ip_address = None + + +class VirtualApplianceSkuProperties(Model): + """Network Virtual Appliance Sku Properties. + + :param vendor: Virtual Appliance Vendor. + :type vendor: str + :param bundled_scale_unit: Virtual Appliance Scale Unit. + :type bundled_scale_unit: str + :param market_place_version: Virtual Appliance Version. + :type market_place_version: str + """ + + _attribute_map = { + 'vendor': {'key': 'vendor', 'type': 'str'}, + 'bundled_scale_unit': {'key': 'bundledScaleUnit', 'type': 'str'}, + 'market_place_version': {'key': 'marketPlaceVersion', 'type': 'str'}, + } + + def __init__(self, *, vendor: str=None, bundled_scale_unit: str=None, market_place_version: str=None, **kwargs) -> None: + super(VirtualApplianceSkuProperties, self).__init__(**kwargs) + self.vendor = vendor + self.bundled_scale_unit = bundled_scale_unit + self.market_place_version = market_place_version + + +class VirtualHub(Resource): + """VirtualHub Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param virtual_wan: The VirtualWAN to which the VirtualHub belongs. + :type virtual_wan: ~azure.mgmt.network.v2020_04_01.models.SubResource + :param vpn_gateway: The VpnGateway associated with this VirtualHub. + :type vpn_gateway: ~azure.mgmt.network.v2020_04_01.models.SubResource + :param p2_svpn_gateway: The P2SVpnGateway associated with this VirtualHub. + :type p2_svpn_gateway: ~azure.mgmt.network.v2020_04_01.models.SubResource + :param express_route_gateway: The expressRouteGateway associated with this + VirtualHub. + :type express_route_gateway: + ~azure.mgmt.network.v2020_04_01.models.SubResource + :param azure_firewall: The azureFirewall associated with this VirtualHub. + :type azure_firewall: ~azure.mgmt.network.v2020_04_01.models.SubResource + :param security_partner_provider: The securityPartnerProvider associated + with this VirtualHub. + :type security_partner_provider: + ~azure.mgmt.network.v2020_04_01.models.SubResource + :param virtual_network_connections: List of all vnet connections with this + VirtualHub. + :type virtual_network_connections: + list[~azure.mgmt.network.v2020_04_01.models.HubVirtualNetworkConnection] + :param address_prefix: Address-prefix for this VirtualHub. + :type address_prefix: str + :param route_table: The routeTable associated with this virtual hub. + :type route_table: + ~azure.mgmt.network.v2020_04_01.models.VirtualHubRouteTable + :ivar provisioning_state: The provisioning state of the virtual hub + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param security_provider_name: The Security Provider name. + :type security_provider_name: str + :param virtual_hub_route_table_v2s: List of all virtual hub route table + v2s associated with this VirtualHub. + :type virtual_hub_route_table_v2s: + list[~azure.mgmt.network.v2020_04_01.models.VirtualHubRouteTableV2] + :param sku: The sku of this VirtualHub. + :type sku: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'virtual_wan': {'key': 'properties.virtualWan', 'type': 'SubResource'}, + 'vpn_gateway': {'key': 'properties.vpnGateway', 'type': 'SubResource'}, + 'p2_svpn_gateway': {'key': 'properties.p2SVpnGateway', 'type': 'SubResource'}, + 'express_route_gateway': {'key': 'properties.expressRouteGateway', 'type': 'SubResource'}, + 'azure_firewall': {'key': 'properties.azureFirewall', 'type': 'SubResource'}, + 'security_partner_provider': {'key': 'properties.securityPartnerProvider', 'type': 'SubResource'}, + 'virtual_network_connections': {'key': 'properties.virtualNetworkConnections', 'type': '[HubVirtualNetworkConnection]'}, + 'address_prefix': {'key': 'properties.addressPrefix', 'type': 'str'}, + 'route_table': {'key': 'properties.routeTable', 'type': 'VirtualHubRouteTable'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'security_provider_name': {'key': 'properties.securityProviderName', 'type': 'str'}, + 'virtual_hub_route_table_v2s': {'key': 'properties.virtualHubRouteTableV2s', 'type': '[VirtualHubRouteTableV2]'}, + 'sku': {'key': 'properties.sku', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, virtual_wan=None, vpn_gateway=None, p2_svpn_gateway=None, express_route_gateway=None, azure_firewall=None, security_partner_provider=None, virtual_network_connections=None, address_prefix: str=None, route_table=None, security_provider_name: str=None, virtual_hub_route_table_v2s=None, sku: str=None, **kwargs) -> None: + super(VirtualHub, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.virtual_wan = virtual_wan + self.vpn_gateway = vpn_gateway + self.p2_svpn_gateway = p2_svpn_gateway + self.express_route_gateway = express_route_gateway + self.azure_firewall = azure_firewall + self.security_partner_provider = security_partner_provider + self.virtual_network_connections = virtual_network_connections + self.address_prefix = address_prefix + self.route_table = route_table + self.provisioning_state = None + self.security_provider_name = security_provider_name + self.virtual_hub_route_table_v2s = virtual_hub_route_table_v2s + self.sku = sku + self.etag = None + + +class VirtualHubId(Model): + """Virtual Hub identifier. + + :param id: The resource URI for the Virtual Hub where the ExpressRoute + gateway is or will be deployed. The Virtual Hub resource and the + ExpressRoute gateway resource reside in the same subscription. + :type id: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, **kwargs) -> None: + super(VirtualHubId, self).__init__(**kwargs) + self.id = id + + +class VirtualHubRoute(Model): + """VirtualHub route. + + :param address_prefixes: List of all addressPrefixes. + :type address_prefixes: list[str] + :param next_hop_ip_address: NextHop ip address. + :type next_hop_ip_address: str + """ + + _attribute_map = { + 'address_prefixes': {'key': 'addressPrefixes', 'type': '[str]'}, + 'next_hop_ip_address': {'key': 'nextHopIpAddress', 'type': 'str'}, + } + + def __init__(self, *, address_prefixes=None, next_hop_ip_address: str=None, **kwargs) -> None: + super(VirtualHubRoute, self).__init__(**kwargs) + self.address_prefixes = address_prefixes + self.next_hop_ip_address = next_hop_ip_address + + +class VirtualHubRouteTable(Model): + """VirtualHub route table. + + :param routes: List of all routes. + :type routes: list[~azure.mgmt.network.v2020_04_01.models.VirtualHubRoute] + """ + + _attribute_map = { + 'routes': {'key': 'routes', 'type': '[VirtualHubRoute]'}, + } + + def __init__(self, *, routes=None, **kwargs) -> None: + super(VirtualHubRouteTable, self).__init__(**kwargs) + self.routes = routes + + +class VirtualHubRouteTableV2(SubResource): + """VirtualHubRouteTableV2 Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param routes: List of all routes. + :type routes: + list[~azure.mgmt.network.v2020_04_01.models.VirtualHubRouteV2] + :param attached_connections: List of all connections attached to this + route table v2. + :type attached_connections: list[str] + :ivar provisioning_state: The provisioning state of the virtual hub route + table v2 resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'routes': {'key': 'properties.routes', 'type': '[VirtualHubRouteV2]'}, + 'attached_connections': {'key': 'properties.attachedConnections', 'type': '[str]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, routes=None, attached_connections=None, name: str=None, **kwargs) -> None: + super(VirtualHubRouteTableV2, self).__init__(id=id, **kwargs) + self.routes = routes + self.attached_connections = attached_connections + self.provisioning_state = None + self.name = name + self.etag = None + + +class VirtualHubRouteV2(Model): + """VirtualHubRouteTableV2 route. + + :param destination_type: The type of destinations. + :type destination_type: str + :param destinations: List of all destinations. + :type destinations: list[str] + :param next_hop_type: The type of next hops. + :type next_hop_type: str + :param next_hops: NextHops ip address. + :type next_hops: list[str] + """ + + _attribute_map = { + 'destination_type': {'key': 'destinationType', 'type': 'str'}, + 'destinations': {'key': 'destinations', 'type': '[str]'}, + 'next_hop_type': {'key': 'nextHopType', 'type': 'str'}, + 'next_hops': {'key': 'nextHops', 'type': '[str]'}, + } + + def __init__(self, *, destination_type: str=None, destinations=None, next_hop_type: str=None, next_hops=None, **kwargs) -> None: + super(VirtualHubRouteV2, self).__init__(**kwargs) + self.destination_type = destination_type + self.destinations = destinations + self.next_hop_type = next_hop_type + self.next_hops = next_hops + + +class VirtualNetwork(Resource): + """Virtual Network resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param address_space: The AddressSpace that contains an array of IP + address ranges that can be used by subnets. + :type address_space: ~azure.mgmt.network.v2020_04_01.models.AddressSpace + :param dhcp_options: The dhcpOptions that contains an array of DNS servers + available to VMs deployed in the virtual network. + :type dhcp_options: ~azure.mgmt.network.v2020_04_01.models.DhcpOptions + :param subnets: A list of subnets in a Virtual Network. + :type subnets: list[~azure.mgmt.network.v2020_04_01.models.Subnet] + :param virtual_network_peerings: A list of peerings in a Virtual Network. + :type virtual_network_peerings: + list[~azure.mgmt.network.v2020_04_01.models.VirtualNetworkPeering] + :ivar resource_guid: The resourceGuid property of the Virtual Network + resource. + :vartype resource_guid: str + :ivar provisioning_state: The provisioning state of the virtual network + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param enable_ddos_protection: Indicates if DDoS protection is enabled for + all the protected resources in the virtual network. It requires a DDoS + protection plan associated with the resource. Default value: False . + :type enable_ddos_protection: bool + :param enable_vm_protection: Indicates if VM protection is enabled for all + the subnets in the virtual network. Default value: False . + :type enable_vm_protection: bool + :param ddos_protection_plan: The DDoS protection plan associated with the + virtual network. + :type ddos_protection_plan: + ~azure.mgmt.network.v2020_04_01.models.SubResource + :param bgp_communities: Bgp Communities sent over ExpressRoute with each + route corresponding to a prefix in this VNET. + :type bgp_communities: + ~azure.mgmt.network.v2020_04_01.models.VirtualNetworkBgpCommunities + :param ip_allocations: Array of IpAllocation which reference this VNET. + :type ip_allocations: + list[~azure.mgmt.network.v2020_04_01.models.SubResource] + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'resource_guid': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'address_space': {'key': 'properties.addressSpace', 'type': 'AddressSpace'}, + 'dhcp_options': {'key': 'properties.dhcpOptions', 'type': 'DhcpOptions'}, + 'subnets': {'key': 'properties.subnets', 'type': '[Subnet]'}, + 'virtual_network_peerings': {'key': 'properties.virtualNetworkPeerings', 'type': '[VirtualNetworkPeering]'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'enable_ddos_protection': {'key': 'properties.enableDdosProtection', 'type': 'bool'}, + 'enable_vm_protection': {'key': 'properties.enableVmProtection', 'type': 'bool'}, + 'ddos_protection_plan': {'key': 'properties.ddosProtectionPlan', 'type': 'SubResource'}, + 'bgp_communities': {'key': 'properties.bgpCommunities', 'type': 'VirtualNetworkBgpCommunities'}, + 'ip_allocations': {'key': 'properties.ipAllocations', 'type': '[SubResource]'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, address_space=None, dhcp_options=None, subnets=None, virtual_network_peerings=None, enable_ddos_protection: bool=False, enable_vm_protection: bool=False, ddos_protection_plan=None, bgp_communities=None, ip_allocations=None, **kwargs) -> None: + super(VirtualNetwork, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.address_space = address_space + self.dhcp_options = dhcp_options + self.subnets = subnets + self.virtual_network_peerings = virtual_network_peerings + self.resource_guid = None + self.provisioning_state = None + self.enable_ddos_protection = enable_ddos_protection + self.enable_vm_protection = enable_vm_protection + self.ddos_protection_plan = ddos_protection_plan + self.bgp_communities = bgp_communities + self.ip_allocations = ip_allocations + self.etag = None + + +class VirtualNetworkBgpCommunities(Model): + """Bgp Communities sent over ExpressRoute with each route corresponding to a + prefix in this VNET. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param virtual_network_community: Required. The BGP community associated + with the virtual network. + :type virtual_network_community: str + :ivar regional_community: The BGP community associated with the region of + the virtual network. + :vartype regional_community: str + """ + + _validation = { + 'virtual_network_community': {'required': True}, + 'regional_community': {'readonly': True}, + } + + _attribute_map = { + 'virtual_network_community': {'key': 'virtualNetworkCommunity', 'type': 'str'}, + 'regional_community': {'key': 'regionalCommunity', 'type': 'str'}, + } + + def __init__(self, *, virtual_network_community: str, **kwargs) -> None: + super(VirtualNetworkBgpCommunities, self).__init__(**kwargs) + self.virtual_network_community = virtual_network_community + self.regional_community = None + + +class VirtualNetworkConnectionGatewayReference(Model): + """A reference to VirtualNetworkGateway or LocalNetworkGateway resource. + + All required parameters must be populated in order to send to Azure. + + :param id: Required. The ID of VirtualNetworkGateway or + LocalNetworkGateway resource. + :type id: str + """ + + _validation = { + 'id': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, *, id: str, **kwargs) -> None: + super(VirtualNetworkConnectionGatewayReference, self).__init__(**kwargs) + self.id = id + + +class VirtualNetworkGateway(Resource): + """A common class for general resource information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param ip_configurations: IP configurations for virtual network gateway. + :type ip_configurations: + list[~azure.mgmt.network.v2020_04_01.models.VirtualNetworkGatewayIPConfiguration] + :param gateway_type: The type of this virtual network gateway. Possible + values include: 'Vpn', 'ExpressRoute' + :type gateway_type: str or + ~azure.mgmt.network.v2020_04_01.models.VirtualNetworkGatewayType + :param vpn_type: The type of this virtual network gateway. Possible values + include: 'PolicyBased', 'RouteBased' + :type vpn_type: str or ~azure.mgmt.network.v2020_04_01.models.VpnType + :param vpn_gateway_generation: The generation for this + VirtualNetworkGateway. Must be None if gatewayType is not VPN. Possible + values include: 'None', 'Generation1', 'Generation2' + :type vpn_gateway_generation: str or + ~azure.mgmt.network.v2020_04_01.models.VpnGatewayGeneration + :param enable_bgp: Whether BGP is enabled for this virtual network gateway + or not. + :type enable_bgp: bool + :param enable_private_ip_address: Whether private IP needs to be enabled + on this gateway for connections or not. + :type enable_private_ip_address: bool + :param active_active: ActiveActive flag. + :type active_active: bool + :param gateway_default_site: The reference to the LocalNetworkGateway + resource which represents local network site having default routes. Assign + Null value in case of removing existing default site setting. + :type gateway_default_site: + ~azure.mgmt.network.v2020_04_01.models.SubResource + :param sku: The reference to the VirtualNetworkGatewaySku resource which + represents the SKU selected for Virtual network gateway. + :type sku: ~azure.mgmt.network.v2020_04_01.models.VirtualNetworkGatewaySku + :param vpn_client_configuration: The reference to the + VpnClientConfiguration resource which represents the P2S VpnClient + configurations. + :type vpn_client_configuration: + ~azure.mgmt.network.v2020_04_01.models.VpnClientConfiguration + :param bgp_settings: Virtual network gateway's BGP speaker settings. + :type bgp_settings: ~azure.mgmt.network.v2020_04_01.models.BgpSettings + :param custom_routes: The reference to the address space resource which + represents the custom routes address space specified by the customer for + virtual network gateway and VpnClient. + :type custom_routes: ~azure.mgmt.network.v2020_04_01.models.AddressSpace + :ivar resource_guid: The resource GUID property of the virtual network + gateway resource. + :vartype resource_guid: str + :ivar provisioning_state: The provisioning state of the virtual network + gateway resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param enable_dns_forwarding: Whether dns forwarding is enabled or not. + :type enable_dns_forwarding: bool + :ivar inbound_dns_forwarding_endpoint: The IP address allocated by the + gateway to which dns requests can be sent. + :vartype inbound_dns_forwarding_endpoint: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'resource_guid': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'inbound_dns_forwarding_endpoint': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[VirtualNetworkGatewayIPConfiguration]'}, + 'gateway_type': {'key': 'properties.gatewayType', 'type': 'str'}, + 'vpn_type': {'key': 'properties.vpnType', 'type': 'str'}, + 'vpn_gateway_generation': {'key': 'properties.vpnGatewayGeneration', 'type': 'str'}, + 'enable_bgp': {'key': 'properties.enableBgp', 'type': 'bool'}, + 'enable_private_ip_address': {'key': 'properties.enablePrivateIpAddress', 'type': 'bool'}, + 'active_active': {'key': 'properties.activeActive', 'type': 'bool'}, + 'gateway_default_site': {'key': 'properties.gatewayDefaultSite', 'type': 'SubResource'}, + 'sku': {'key': 'properties.sku', 'type': 'VirtualNetworkGatewaySku'}, + 'vpn_client_configuration': {'key': 'properties.vpnClientConfiguration', 'type': 'VpnClientConfiguration'}, + 'bgp_settings': {'key': 'properties.bgpSettings', 'type': 'BgpSettings'}, + 'custom_routes': {'key': 'properties.customRoutes', 'type': 'AddressSpace'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'enable_dns_forwarding': {'key': 'properties.enableDnsForwarding', 'type': 'bool'}, + 'inbound_dns_forwarding_endpoint': {'key': 'properties.inboundDnsForwardingEndpoint', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, ip_configurations=None, gateway_type=None, vpn_type=None, vpn_gateway_generation=None, enable_bgp: bool=None, enable_private_ip_address: bool=None, active_active: bool=None, gateway_default_site=None, sku=None, vpn_client_configuration=None, bgp_settings=None, custom_routes=None, enable_dns_forwarding: bool=None, **kwargs) -> None: + super(VirtualNetworkGateway, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.ip_configurations = ip_configurations + self.gateway_type = gateway_type + self.vpn_type = vpn_type + self.vpn_gateway_generation = vpn_gateway_generation + self.enable_bgp = enable_bgp + self.enable_private_ip_address = enable_private_ip_address + self.active_active = active_active + self.gateway_default_site = gateway_default_site + self.sku = sku + self.vpn_client_configuration = vpn_client_configuration + self.bgp_settings = bgp_settings + self.custom_routes = custom_routes + self.resource_guid = None + self.provisioning_state = None + self.enable_dns_forwarding = enable_dns_forwarding + self.inbound_dns_forwarding_endpoint = None + self.etag = None + + +class VirtualNetworkGatewayConnection(Resource): + """A common class for general resource information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param authorization_key: The authorizationKey. + :type authorization_key: str + :param virtual_network_gateway1: Required. The reference to virtual + network gateway resource. + :type virtual_network_gateway1: + ~azure.mgmt.network.v2020_04_01.models.VirtualNetworkGateway + :param virtual_network_gateway2: The reference to virtual network gateway + resource. + :type virtual_network_gateway2: + ~azure.mgmt.network.v2020_04_01.models.VirtualNetworkGateway + :param local_network_gateway2: The reference to local network gateway + resource. + :type local_network_gateway2: + ~azure.mgmt.network.v2020_04_01.models.LocalNetworkGateway + :param connection_type: Required. Gateway connection type. Possible values + include: 'IPsec', 'Vnet2Vnet', 'ExpressRoute', 'VPNClient' + :type connection_type: str or + ~azure.mgmt.network.v2020_04_01.models.VirtualNetworkGatewayConnectionType + :param connection_protocol: Connection protocol used for this connection. + Possible values include: 'IKEv2', 'IKEv1' + :type connection_protocol: str or + ~azure.mgmt.network.v2020_04_01.models.VirtualNetworkGatewayConnectionProtocol + :param routing_weight: The routing weight. + :type routing_weight: int + :param dpd_timeout_seconds: The dead peer detection timeout of this + connection in seconds. + :type dpd_timeout_seconds: int + :param shared_key: The IPSec shared key. + :type shared_key: str + :ivar connection_status: Virtual Network Gateway connection status. + Possible values include: 'Unknown', 'Connecting', 'Connected', + 'NotConnected' + :vartype connection_status: str or + ~azure.mgmt.network.v2020_04_01.models.VirtualNetworkGatewayConnectionStatus + :ivar tunnel_connection_status: Collection of all tunnels' connection + health status. + :vartype tunnel_connection_status: + list[~azure.mgmt.network.v2020_04_01.models.TunnelConnectionHealth] + :ivar egress_bytes_transferred: The egress bytes transferred in this + connection. + :vartype egress_bytes_transferred: long + :ivar ingress_bytes_transferred: The ingress bytes transferred in this + connection. + :vartype ingress_bytes_transferred: long + :param peer: The reference to peerings resource. + :type peer: ~azure.mgmt.network.v2020_04_01.models.SubResource + :param enable_bgp: EnableBgp flag. + :type enable_bgp: bool + :param use_local_azure_ip_address: Use private local Azure IP for the + connection. + :type use_local_azure_ip_address: bool + :param use_policy_based_traffic_selectors: Enable policy-based traffic + selectors. + :type use_policy_based_traffic_selectors: bool + :param ipsec_policies: The IPSec Policies to be considered by this + connection. + :type ipsec_policies: + list[~azure.mgmt.network.v2020_04_01.models.IpsecPolicy] + :param traffic_selector_policies: The Traffic Selector Policies to be + considered by this connection. + :type traffic_selector_policies: + list[~azure.mgmt.network.v2020_04_01.models.TrafficSelectorPolicy] + :ivar resource_guid: The resource GUID property of the virtual network + gateway connection resource. + :vartype resource_guid: str + :ivar provisioning_state: The provisioning state of the virtual network + gateway connection resource. Possible values include: 'Succeeded', + 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param express_route_gateway_bypass: Bypass ExpressRoute Gateway for data + forwarding. + :type express_route_gateway_bypass: bool + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'virtual_network_gateway1': {'required': True}, + 'connection_type': {'required': True}, + 'connection_status': {'readonly': True}, + 'tunnel_connection_status': {'readonly': True}, + 'egress_bytes_transferred': {'readonly': True}, + 'ingress_bytes_transferred': {'readonly': True}, + 'resource_guid': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'authorization_key': {'key': 'properties.authorizationKey', 'type': 'str'}, + 'virtual_network_gateway1': {'key': 'properties.virtualNetworkGateway1', 'type': 'VirtualNetworkGateway'}, + 'virtual_network_gateway2': {'key': 'properties.virtualNetworkGateway2', 'type': 'VirtualNetworkGateway'}, + 'local_network_gateway2': {'key': 'properties.localNetworkGateway2', 'type': 'LocalNetworkGateway'}, + 'connection_type': {'key': 'properties.connectionType', 'type': 'str'}, + 'connection_protocol': {'key': 'properties.connectionProtocol', 'type': 'str'}, + 'routing_weight': {'key': 'properties.routingWeight', 'type': 'int'}, + 'dpd_timeout_seconds': {'key': 'properties.dpdTimeoutSeconds', 'type': 'int'}, + 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, + 'connection_status': {'key': 'properties.connectionStatus', 'type': 'str'}, + 'tunnel_connection_status': {'key': 'properties.tunnelConnectionStatus', 'type': '[TunnelConnectionHealth]'}, + 'egress_bytes_transferred': {'key': 'properties.egressBytesTransferred', 'type': 'long'}, + 'ingress_bytes_transferred': {'key': 'properties.ingressBytesTransferred', 'type': 'long'}, + 'peer': {'key': 'properties.peer', 'type': 'SubResource'}, + 'enable_bgp': {'key': 'properties.enableBgp', 'type': 'bool'}, + 'use_local_azure_ip_address': {'key': 'properties.useLocalAzureIpAddress', 'type': 'bool'}, + 'use_policy_based_traffic_selectors': {'key': 'properties.usePolicyBasedTrafficSelectors', 'type': 'bool'}, + 'ipsec_policies': {'key': 'properties.ipsecPolicies', 'type': '[IpsecPolicy]'}, + 'traffic_selector_policies': {'key': 'properties.trafficSelectorPolicies', 'type': '[TrafficSelectorPolicy]'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'express_route_gateway_bypass': {'key': 'properties.expressRouteGatewayBypass', 'type': 'bool'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, virtual_network_gateway1, connection_type, id: str=None, location: str=None, tags=None, authorization_key: str=None, virtual_network_gateway2=None, local_network_gateway2=None, connection_protocol=None, routing_weight: int=None, dpd_timeout_seconds: int=None, shared_key: str=None, peer=None, enable_bgp: bool=None, use_local_azure_ip_address: bool=None, use_policy_based_traffic_selectors: bool=None, ipsec_policies=None, traffic_selector_policies=None, express_route_gateway_bypass: bool=None, **kwargs) -> None: + super(VirtualNetworkGatewayConnection, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.authorization_key = authorization_key + self.virtual_network_gateway1 = virtual_network_gateway1 + self.virtual_network_gateway2 = virtual_network_gateway2 + self.local_network_gateway2 = local_network_gateway2 + self.connection_type = connection_type + self.connection_protocol = connection_protocol + self.routing_weight = routing_weight + self.dpd_timeout_seconds = dpd_timeout_seconds + self.shared_key = shared_key + self.connection_status = None + self.tunnel_connection_status = None + self.egress_bytes_transferred = None + self.ingress_bytes_transferred = None + self.peer = peer + self.enable_bgp = enable_bgp + self.use_local_azure_ip_address = use_local_azure_ip_address + self.use_policy_based_traffic_selectors = use_policy_based_traffic_selectors + self.ipsec_policies = ipsec_policies + self.traffic_selector_policies = traffic_selector_policies + self.resource_guid = None + self.provisioning_state = None + self.express_route_gateway_bypass = express_route_gateway_bypass + self.etag = None + + +class VirtualNetworkGatewayConnectionListEntity(Resource): + """A common class for general resource information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param authorization_key: The authorizationKey. + :type authorization_key: str + :param virtual_network_gateway1: Required. The reference to virtual + network gateway resource. + :type virtual_network_gateway1: + ~azure.mgmt.network.v2020_04_01.models.VirtualNetworkConnectionGatewayReference + :param virtual_network_gateway2: The reference to virtual network gateway + resource. + :type virtual_network_gateway2: + ~azure.mgmt.network.v2020_04_01.models.VirtualNetworkConnectionGatewayReference + :param local_network_gateway2: The reference to local network gateway + resource. + :type local_network_gateway2: + ~azure.mgmt.network.v2020_04_01.models.VirtualNetworkConnectionGatewayReference + :param connection_type: Required. Gateway connection type. Possible values + include: 'IPsec', 'Vnet2Vnet', 'ExpressRoute', 'VPNClient' + :type connection_type: str or + ~azure.mgmt.network.v2020_04_01.models.VirtualNetworkGatewayConnectionType + :param connection_protocol: Connection protocol used for this connection. + Possible values include: 'IKEv2', 'IKEv1' + :type connection_protocol: str or + ~azure.mgmt.network.v2020_04_01.models.VirtualNetworkGatewayConnectionProtocol + :param routing_weight: The routing weight. + :type routing_weight: int + :param shared_key: The IPSec shared key. + :type shared_key: str + :ivar connection_status: Virtual Network Gateway connection status. + Possible values include: 'Unknown', 'Connecting', 'Connected', + 'NotConnected' + :vartype connection_status: str or + ~azure.mgmt.network.v2020_04_01.models.VirtualNetworkGatewayConnectionStatus + :ivar tunnel_connection_status: Collection of all tunnels' connection + health status. + :vartype tunnel_connection_status: + list[~azure.mgmt.network.v2020_04_01.models.TunnelConnectionHealth] + :ivar egress_bytes_transferred: The egress bytes transferred in this + connection. + :vartype egress_bytes_transferred: long + :ivar ingress_bytes_transferred: The ingress bytes transferred in this + connection. + :vartype ingress_bytes_transferred: long + :param peer: The reference to peerings resource. + :type peer: ~azure.mgmt.network.v2020_04_01.models.SubResource + :param enable_bgp: EnableBgp flag. + :type enable_bgp: bool + :param use_policy_based_traffic_selectors: Enable policy-based traffic + selectors. + :type use_policy_based_traffic_selectors: bool + :param ipsec_policies: The IPSec Policies to be considered by this + connection. + :type ipsec_policies: + list[~azure.mgmt.network.v2020_04_01.models.IpsecPolicy] + :param traffic_selector_policies: The Traffic Selector Policies to be + considered by this connection. + :type traffic_selector_policies: + list[~azure.mgmt.network.v2020_04_01.models.TrafficSelectorPolicy] + :ivar resource_guid: The resource GUID property of the virtual network + gateway connection resource. + :vartype resource_guid: str + :ivar provisioning_state: The provisioning state of the virtual network + gateway connection resource. Possible values include: 'Succeeded', + 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param express_route_gateway_bypass: Bypass ExpressRoute Gateway for data + forwarding. + :type express_route_gateway_bypass: bool + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'virtual_network_gateway1': {'required': True}, + 'connection_type': {'required': True}, + 'connection_status': {'readonly': True}, + 'tunnel_connection_status': {'readonly': True}, + 'egress_bytes_transferred': {'readonly': True}, + 'ingress_bytes_transferred': {'readonly': True}, + 'resource_guid': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'authorization_key': {'key': 'properties.authorizationKey', 'type': 'str'}, + 'virtual_network_gateway1': {'key': 'properties.virtualNetworkGateway1', 'type': 'VirtualNetworkConnectionGatewayReference'}, + 'virtual_network_gateway2': {'key': 'properties.virtualNetworkGateway2', 'type': 'VirtualNetworkConnectionGatewayReference'}, + 'local_network_gateway2': {'key': 'properties.localNetworkGateway2', 'type': 'VirtualNetworkConnectionGatewayReference'}, + 'connection_type': {'key': 'properties.connectionType', 'type': 'str'}, + 'connection_protocol': {'key': 'properties.connectionProtocol', 'type': 'str'}, + 'routing_weight': {'key': 'properties.routingWeight', 'type': 'int'}, + 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, + 'connection_status': {'key': 'properties.connectionStatus', 'type': 'str'}, + 'tunnel_connection_status': {'key': 'properties.tunnelConnectionStatus', 'type': '[TunnelConnectionHealth]'}, + 'egress_bytes_transferred': {'key': 'properties.egressBytesTransferred', 'type': 'long'}, + 'ingress_bytes_transferred': {'key': 'properties.ingressBytesTransferred', 'type': 'long'}, + 'peer': {'key': 'properties.peer', 'type': 'SubResource'}, + 'enable_bgp': {'key': 'properties.enableBgp', 'type': 'bool'}, + 'use_policy_based_traffic_selectors': {'key': 'properties.usePolicyBasedTrafficSelectors', 'type': 'bool'}, + 'ipsec_policies': {'key': 'properties.ipsecPolicies', 'type': '[IpsecPolicy]'}, + 'traffic_selector_policies': {'key': 'properties.trafficSelectorPolicies', 'type': '[TrafficSelectorPolicy]'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'express_route_gateway_bypass': {'key': 'properties.expressRouteGatewayBypass', 'type': 'bool'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, virtual_network_gateway1, connection_type, id: str=None, location: str=None, tags=None, authorization_key: str=None, virtual_network_gateway2=None, local_network_gateway2=None, connection_protocol=None, routing_weight: int=None, shared_key: str=None, peer=None, enable_bgp: bool=None, use_policy_based_traffic_selectors: bool=None, ipsec_policies=None, traffic_selector_policies=None, express_route_gateway_bypass: bool=None, **kwargs) -> None: + super(VirtualNetworkGatewayConnectionListEntity, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.authorization_key = authorization_key + self.virtual_network_gateway1 = virtual_network_gateway1 + self.virtual_network_gateway2 = virtual_network_gateway2 + self.local_network_gateway2 = local_network_gateway2 + self.connection_type = connection_type + self.connection_protocol = connection_protocol + self.routing_weight = routing_weight + self.shared_key = shared_key + self.connection_status = None + self.tunnel_connection_status = None + self.egress_bytes_transferred = None + self.ingress_bytes_transferred = None + self.peer = peer + self.enable_bgp = enable_bgp + self.use_policy_based_traffic_selectors = use_policy_based_traffic_selectors + self.ipsec_policies = ipsec_policies + self.traffic_selector_policies = traffic_selector_policies + self.resource_guid = None + self.provisioning_state = None + self.express_route_gateway_bypass = express_route_gateway_bypass + self.etag = None + + +class VirtualNetworkGatewayIPConfiguration(SubResource): + """IP configuration for virtual network gateway. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param private_ip_allocation_method: The private IP address allocation + method. Possible values include: 'Static', 'Dynamic' + :type private_ip_allocation_method: str or + ~azure.mgmt.network.v2020_04_01.models.IPAllocationMethod + :param subnet: The reference to the subnet resource. + :type subnet: ~azure.mgmt.network.v2020_04_01.models.SubResource + :param public_ip_address: The reference to the public IP resource. + :type public_ip_address: + ~azure.mgmt.network.v2020_04_01.models.SubResource + :ivar private_ip_address: Private IP Address for this gateway. + :vartype private_ip_address: str + :ivar provisioning_state: The provisioning state of the virtual network + gateway IP configuration resource. Possible values include: 'Succeeded', + 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'private_ip_address': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, + 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, + 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'SubResource'}, + 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, private_ip_allocation_method=None, subnet=None, public_ip_address=None, name: str=None, **kwargs) -> None: + super(VirtualNetworkGatewayIPConfiguration, self).__init__(id=id, **kwargs) + self.private_ip_allocation_method = private_ip_allocation_method + self.subnet = subnet + self.public_ip_address = public_ip_address + self.private_ip_address = None + self.provisioning_state = None + self.name = name + self.etag = None + + +class VirtualNetworkGatewaySku(Model): + """VirtualNetworkGatewaySku details. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param name: Gateway SKU name. Possible values include: 'Basic', + 'HighPerformance', 'Standard', 'UltraPerformance', 'VpnGw1', 'VpnGw2', + 'VpnGw3', 'VpnGw4', 'VpnGw5', 'VpnGw1AZ', 'VpnGw2AZ', 'VpnGw3AZ', + 'VpnGw4AZ', 'VpnGw5AZ', 'ErGw1AZ', 'ErGw2AZ', 'ErGw3AZ' + :type name: str or + ~azure.mgmt.network.v2020_04_01.models.VirtualNetworkGatewaySkuName + :param tier: Gateway SKU tier. Possible values include: 'Basic', + 'HighPerformance', 'Standard', 'UltraPerformance', 'VpnGw1', 'VpnGw2', + 'VpnGw3', 'VpnGw4', 'VpnGw5', 'VpnGw1AZ', 'VpnGw2AZ', 'VpnGw3AZ', + 'VpnGw4AZ', 'VpnGw5AZ', 'ErGw1AZ', 'ErGw2AZ', 'ErGw3AZ' + :type tier: str or + ~azure.mgmt.network.v2020_04_01.models.VirtualNetworkGatewaySkuTier + :ivar capacity: The capacity. + :vartype capacity: int + """ + + _validation = { + 'capacity': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + 'capacity': {'key': 'capacity', 'type': 'int'}, + } + + def __init__(self, *, name=None, tier=None, **kwargs) -> None: + super(VirtualNetworkGatewaySku, self).__init__(**kwargs) + self.name = name + self.tier = tier + self.capacity = None + + +class VirtualNetworkPeering(SubResource): + """Peerings in a virtual network resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param allow_virtual_network_access: Whether the VMs in the local virtual + network space would be able to access the VMs in remote virtual network + space. + :type allow_virtual_network_access: bool + :param allow_forwarded_traffic: Whether the forwarded traffic from the VMs + in the local virtual network will be allowed/disallowed in remote virtual + network. + :type allow_forwarded_traffic: bool + :param allow_gateway_transit: If gateway links can be used in remote + virtual networking to link to this virtual network. + :type allow_gateway_transit: bool + :param use_remote_gateways: If remote gateways can be used on this virtual + network. If the flag is set to true, and allowGatewayTransit on remote + peering is also true, virtual network will use gateways of remote virtual + network for transit. Only one peering can have this flag set to true. This + flag cannot be set if virtual network already has a gateway. + :type use_remote_gateways: bool + :param remote_virtual_network: The reference to the remote virtual + network. The remote virtual network can be in the same or different region + (preview). See here to register for the preview and learn more + (https://docs.microsoft.com/en-us/azure/virtual-network/virtual-network-create-peering). + :type remote_virtual_network: + ~azure.mgmt.network.v2020_04_01.models.SubResource + :param remote_address_space: The reference to the remote virtual network + address space. + :type remote_address_space: + ~azure.mgmt.network.v2020_04_01.models.AddressSpace + :param peering_state: The status of the virtual network peering. Possible + values include: 'Initiated', 'Connected', 'Disconnected' + :type peering_state: str or + ~azure.mgmt.network.v2020_04_01.models.VirtualNetworkPeeringState + :ivar provisioning_state: The provisioning state of the virtual network + peering resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'allow_virtual_network_access': {'key': 'properties.allowVirtualNetworkAccess', 'type': 'bool'}, + 'allow_forwarded_traffic': {'key': 'properties.allowForwardedTraffic', 'type': 'bool'}, + 'allow_gateway_transit': {'key': 'properties.allowGatewayTransit', 'type': 'bool'}, + 'use_remote_gateways': {'key': 'properties.useRemoteGateways', 'type': 'bool'}, + 'remote_virtual_network': {'key': 'properties.remoteVirtualNetwork', 'type': 'SubResource'}, + 'remote_address_space': {'key': 'properties.remoteAddressSpace', 'type': 'AddressSpace'}, + 'peering_state': {'key': 'properties.peeringState', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, allow_virtual_network_access: bool=None, allow_forwarded_traffic: bool=None, allow_gateway_transit: bool=None, use_remote_gateways: bool=None, remote_virtual_network=None, remote_address_space=None, peering_state=None, name: str=None, **kwargs) -> None: + super(VirtualNetworkPeering, self).__init__(id=id, **kwargs) + self.allow_virtual_network_access = allow_virtual_network_access + self.allow_forwarded_traffic = allow_forwarded_traffic + self.allow_gateway_transit = allow_gateway_transit + self.use_remote_gateways = use_remote_gateways + self.remote_virtual_network = remote_virtual_network + self.remote_address_space = remote_address_space + self.peering_state = peering_state + self.provisioning_state = None + self.name = name + self.etag = None + + +class VirtualNetworkTap(Resource): + """Virtual Network Tap resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar network_interface_tap_configurations: Specifies the list of resource + IDs for the network interface IP configuration that needs to be tapped. + :vartype network_interface_tap_configurations: + list[~azure.mgmt.network.v2020_04_01.models.NetworkInterfaceTapConfiguration] + :ivar resource_guid: The resource GUID property of the virtual network tap + resource. + :vartype resource_guid: str + :ivar provisioning_state: The provisioning state of the virtual network + tap resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param destination_network_interface_ip_configuration: The reference to + the private IP Address of the collector nic that will receive the tap. + :type destination_network_interface_ip_configuration: + ~azure.mgmt.network.v2020_04_01.models.NetworkInterfaceIPConfiguration + :param destination_load_balancer_front_end_ip_configuration: The reference + to the private IP address on the internal Load Balancer that will receive + the tap. + :type destination_load_balancer_front_end_ip_configuration: + ~azure.mgmt.network.v2020_04_01.models.FrontendIPConfiguration + :param destination_port: The VXLAN destination port that will receive the + tapped traffic. + :type destination_port: int + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'network_interface_tap_configurations': {'readonly': True}, + 'resource_guid': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'network_interface_tap_configurations': {'key': 'properties.networkInterfaceTapConfigurations', 'type': '[NetworkInterfaceTapConfiguration]'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'destination_network_interface_ip_configuration': {'key': 'properties.destinationNetworkInterfaceIPConfiguration', 'type': 'NetworkInterfaceIPConfiguration'}, + 'destination_load_balancer_front_end_ip_configuration': {'key': 'properties.destinationLoadBalancerFrontEndIPConfiguration', 'type': 'FrontendIPConfiguration'}, + 'destination_port': {'key': 'properties.destinationPort', 'type': 'int'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, destination_network_interface_ip_configuration=None, destination_load_balancer_front_end_ip_configuration=None, destination_port: int=None, **kwargs) -> None: + super(VirtualNetworkTap, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.network_interface_tap_configurations = None + self.resource_guid = None + self.provisioning_state = None + self.destination_network_interface_ip_configuration = destination_network_interface_ip_configuration + self.destination_load_balancer_front_end_ip_configuration = destination_load_balancer_front_end_ip_configuration + self.destination_port = destination_port + self.etag = None + + +class VirtualNetworkUsage(Model): + """Usage details for subnet. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar current_value: Indicates number of IPs used from the Subnet. + :vartype current_value: float + :ivar id: Subnet identifier. + :vartype id: str + :ivar limit: Indicates the size of the subnet. + :vartype limit: float + :ivar name: The name containing common and localized value for usage. + :vartype name: + ~azure.mgmt.network.v2020_04_01.models.VirtualNetworkUsageName + :ivar unit: Usage units. Returns 'Count'. + :vartype unit: str + """ + + _validation = { + 'current_value': {'readonly': True}, + 'id': {'readonly': True}, + 'limit': {'readonly': True}, + 'name': {'readonly': True}, + 'unit': {'readonly': True}, + } + + _attribute_map = { + 'current_value': {'key': 'currentValue', 'type': 'float'}, + 'id': {'key': 'id', 'type': 'str'}, + 'limit': {'key': 'limit', 'type': 'float'}, + 'name': {'key': 'name', 'type': 'VirtualNetworkUsageName'}, + 'unit': {'key': 'unit', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(VirtualNetworkUsage, self).__init__(**kwargs) + self.current_value = None + self.id = None + self.limit = None + self.name = None + self.unit = None + + +class VirtualNetworkUsageName(Model): + """Usage strings container. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar localized_value: Localized subnet size and usage string. + :vartype localized_value: str + :ivar value: Subnet size and usage string. + :vartype value: str + """ + + _validation = { + 'localized_value': {'readonly': True}, + 'value': {'readonly': True}, + } + + _attribute_map = { + 'localized_value': {'key': 'localizedValue', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(VirtualNetworkUsageName, self).__init__(**kwargs) + self.localized_value = None + self.value = None + + +class VirtualRouter(Resource): + """VirtualRouter Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param virtual_router_asn: VirtualRouter ASN. + :type virtual_router_asn: long + :param virtual_router_ips: VirtualRouter IPs. + :type virtual_router_ips: list[str] + :param hosted_subnet: The Subnet on which VirtualRouter is hosted. + :type hosted_subnet: ~azure.mgmt.network.v2020_04_01.models.SubResource + :param hosted_gateway: The Gateway on which VirtualRouter is hosted. + :type hosted_gateway: ~azure.mgmt.network.v2020_04_01.models.SubResource + :ivar peerings: List of references to VirtualRouterPeerings. + :vartype peerings: + list[~azure.mgmt.network.v2020_04_01.models.SubResource] + :ivar provisioning_state: The provisioning state of the resource. Possible + values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'virtual_router_asn': {'maximum': 4294967295, 'minimum': 0}, + 'peerings': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'virtual_router_asn': {'key': 'properties.virtualRouterAsn', 'type': 'long'}, + 'virtual_router_ips': {'key': 'properties.virtualRouterIps', 'type': '[str]'}, + 'hosted_subnet': {'key': 'properties.hostedSubnet', 'type': 'SubResource'}, + 'hosted_gateway': {'key': 'properties.hostedGateway', 'type': 'SubResource'}, + 'peerings': {'key': 'properties.peerings', 'type': '[SubResource]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, virtual_router_asn: int=None, virtual_router_ips=None, hosted_subnet=None, hosted_gateway=None, **kwargs) -> None: + super(VirtualRouter, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.virtual_router_asn = virtual_router_asn + self.virtual_router_ips = virtual_router_ips + self.hosted_subnet = hosted_subnet + self.hosted_gateway = hosted_gateway + self.peerings = None + self.provisioning_state = None + self.etag = None + + +class VirtualRouterPeering(SubResource): + """Virtual Router Peering resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param peer_asn: Peer ASN. + :type peer_asn: long + :param peer_ip: Peer IP. + :type peer_ip: str + :ivar provisioning_state: The provisioning state of the resource. Possible + values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: Name of the virtual router peering that is unique within a + virtual router. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Peering type. + :vartype type: str + """ + + _validation = { + 'peer_asn': {'maximum': 4294967295, 'minimum': 0}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'peer_asn': {'key': 'properties.peerAsn', 'type': 'long'}, + 'peer_ip': {'key': 'properties.peerIp', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, peer_asn: int=None, peer_ip: str=None, name: str=None, **kwargs) -> None: + super(VirtualRouterPeering, self).__init__(id=id, **kwargs) + self.peer_asn = peer_asn + self.peer_ip = peer_ip + self.provisioning_state = None + self.name = name + self.etag = None + self.type = None + + +class VirtualWAN(Resource): + """VirtualWAN Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param disable_vpn_encryption: Vpn encryption to be disabled or not. + :type disable_vpn_encryption: bool + :ivar virtual_hubs: List of VirtualHubs in the VirtualWAN. + :vartype virtual_hubs: + list[~azure.mgmt.network.v2020_04_01.models.SubResource] + :ivar vpn_sites: List of VpnSites in the VirtualWAN. + :vartype vpn_sites: + list[~azure.mgmt.network.v2020_04_01.models.SubResource] + :param allow_branch_to_branch_traffic: True if branch to branch traffic is + allowed. + :type allow_branch_to_branch_traffic: bool + :param allow_vnet_to_vnet_traffic: True if Vnet to Vnet traffic is + allowed. + :type allow_vnet_to_vnet_traffic: bool + :param office365_local_breakout_category: The office local breakout + category. Possible values include: 'Optimize', 'OptimizeAndAllow', 'All', + 'None' + :type office365_local_breakout_category: str or + ~azure.mgmt.network.v2020_04_01.models.OfficeTrafficCategory + :ivar provisioning_state: The provisioning state of the virtual WAN + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param virtual_wan_type: The type of the VirtualWAN. + :type virtual_wan_type: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'virtual_hubs': {'readonly': True}, + 'vpn_sites': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'disable_vpn_encryption': {'key': 'properties.disableVpnEncryption', 'type': 'bool'}, + 'virtual_hubs': {'key': 'properties.virtualHubs', 'type': '[SubResource]'}, + 'vpn_sites': {'key': 'properties.vpnSites', 'type': '[SubResource]'}, + 'allow_branch_to_branch_traffic': {'key': 'properties.allowBranchToBranchTraffic', 'type': 'bool'}, + 'allow_vnet_to_vnet_traffic': {'key': 'properties.allowVnetToVnetTraffic', 'type': 'bool'}, + 'office365_local_breakout_category': {'key': 'properties.office365LocalBreakoutCategory', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'virtual_wan_type': {'key': 'properties.type', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, disable_vpn_encryption: bool=None, allow_branch_to_branch_traffic: bool=None, allow_vnet_to_vnet_traffic: bool=None, office365_local_breakout_category=None, virtual_wan_type: str=None, **kwargs) -> None: + super(VirtualWAN, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.disable_vpn_encryption = disable_vpn_encryption + self.virtual_hubs = None + self.vpn_sites = None + self.allow_branch_to_branch_traffic = allow_branch_to_branch_traffic + self.allow_vnet_to_vnet_traffic = allow_vnet_to_vnet_traffic + self.office365_local_breakout_category = office365_local_breakout_category + self.provisioning_state = None + self.virtual_wan_type = virtual_wan_type + self.etag = None + + +class VirtualWanSecurityProvider(Model): + """Collection of SecurityProviders. + + :param name: Name of the security provider. + :type name: str + :param url: Url of the security provider. + :type url: str + :param type: Name of the security provider. Possible values include: + 'External', 'Native' + :type type: str or + ~azure.mgmt.network.v2020_04_01.models.VirtualWanSecurityProviderType + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'url': {'key': 'url', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, url: str=None, type=None, **kwargs) -> None: + super(VirtualWanSecurityProvider, self).__init__(**kwargs) + self.name = name + self.url = url + self.type = type + + +class VirtualWanSecurityProviders(Model): + """Collection of SecurityProviders. + + :param supported_providers: List of VirtualWAN security providers. + :type supported_providers: + list[~azure.mgmt.network.v2020_04_01.models.VirtualWanSecurityProvider] + """ + + _attribute_map = { + 'supported_providers': {'key': 'supportedProviders', 'type': '[VirtualWanSecurityProvider]'}, + } + + def __init__(self, *, supported_providers=None, **kwargs) -> None: + super(VirtualWanSecurityProviders, self).__init__(**kwargs) + self.supported_providers = supported_providers + + +class VirtualWanVpnProfileParameters(Model): + """Virtual Wan Vpn profile parameters Vpn profile generation. + + :param vpn_server_configuration_resource_id: VpnServerConfiguration + partial resource uri with which VirtualWan is associated to. + :type vpn_server_configuration_resource_id: str + :param authentication_method: VPN client authentication method. Possible + values include: 'EAPTLS', 'EAPMSCHAPv2' + :type authentication_method: str or + ~azure.mgmt.network.v2020_04_01.models.AuthenticationMethod + """ + + _attribute_map = { + 'vpn_server_configuration_resource_id': {'key': 'vpnServerConfigurationResourceId', 'type': 'str'}, + 'authentication_method': {'key': 'authenticationMethod', 'type': 'str'}, + } + + def __init__(self, *, vpn_server_configuration_resource_id: str=None, authentication_method=None, **kwargs) -> None: + super(VirtualWanVpnProfileParameters, self).__init__(**kwargs) + self.vpn_server_configuration_resource_id = vpn_server_configuration_resource_id + self.authentication_method = authentication_method + + +class VM(Resource): + """Describes a Virtual Machine. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, **kwargs) -> None: + super(VM, self).__init__(id=id, location=location, tags=tags, **kwargs) + + +class VnetRoute(Model): + """List of routes that control routing from VirtualHub into a virtual network + connection. + + :param static_routes: List of all Static Routes. + :type static_routes: + list[~azure.mgmt.network.v2020_04_01.models.StaticRoute] + """ + + _attribute_map = { + 'static_routes': {'key': 'staticRoutes', 'type': '[StaticRoute]'}, + } + + def __init__(self, *, static_routes=None, **kwargs) -> None: + super(VnetRoute, self).__init__(**kwargs) + self.static_routes = static_routes + + +class VpnClientConfiguration(Model): + """VpnClientConfiguration for P2S client. + + :param vpn_client_address_pool: The reference to the address space + resource which represents Address space for P2S VpnClient. + :type vpn_client_address_pool: + ~azure.mgmt.network.v2020_04_01.models.AddressSpace + :param vpn_client_root_certificates: VpnClientRootCertificate for virtual + network gateway. + :type vpn_client_root_certificates: + list[~azure.mgmt.network.v2020_04_01.models.VpnClientRootCertificate] + :param vpn_client_revoked_certificates: VpnClientRevokedCertificate for + Virtual network gateway. + :type vpn_client_revoked_certificates: + list[~azure.mgmt.network.v2020_04_01.models.VpnClientRevokedCertificate] + :param vpn_client_protocols: VpnClientProtocols for Virtual network + gateway. + :type vpn_client_protocols: list[str or + ~azure.mgmt.network.v2020_04_01.models.VpnClientProtocol] + :param vpn_client_ipsec_policies: VpnClientIpsecPolicies for virtual + network gateway P2S client. + :type vpn_client_ipsec_policies: + list[~azure.mgmt.network.v2020_04_01.models.IpsecPolicy] + :param radius_server_address: The radius server address property of the + VirtualNetworkGateway resource for vpn client connection. + :type radius_server_address: str + :param radius_server_secret: The radius secret property of the + VirtualNetworkGateway resource for vpn client connection. + :type radius_server_secret: str + :param radius_servers: The radiusServers property for multiple radius + server configuration. + :type radius_servers: + list[~azure.mgmt.network.v2020_04_01.models.RadiusServer] + :param aad_tenant: The AADTenant property of the VirtualNetworkGateway + resource for vpn client connection used for AAD authentication. + :type aad_tenant: str + :param aad_audience: The AADAudience property of the VirtualNetworkGateway + resource for vpn client connection used for AAD authentication. + :type aad_audience: str + :param aad_issuer: The AADIssuer property of the VirtualNetworkGateway + resource for vpn client connection used for AAD authentication. + :type aad_issuer: str + """ + + _attribute_map = { + 'vpn_client_address_pool': {'key': 'vpnClientAddressPool', 'type': 'AddressSpace'}, + 'vpn_client_root_certificates': {'key': 'vpnClientRootCertificates', 'type': '[VpnClientRootCertificate]'}, + 'vpn_client_revoked_certificates': {'key': 'vpnClientRevokedCertificates', 'type': '[VpnClientRevokedCertificate]'}, + 'vpn_client_protocols': {'key': 'vpnClientProtocols', 'type': '[str]'}, + 'vpn_client_ipsec_policies': {'key': 'vpnClientIpsecPolicies', 'type': '[IpsecPolicy]'}, + 'radius_server_address': {'key': 'radiusServerAddress', 'type': 'str'}, + 'radius_server_secret': {'key': 'radiusServerSecret', 'type': 'str'}, + 'radius_servers': {'key': 'radiusServers', 'type': '[RadiusServer]'}, + 'aad_tenant': {'key': 'aadTenant', 'type': 'str'}, + 'aad_audience': {'key': 'aadAudience', 'type': 'str'}, + 'aad_issuer': {'key': 'aadIssuer', 'type': 'str'}, + } + + def __init__(self, *, vpn_client_address_pool=None, vpn_client_root_certificates=None, vpn_client_revoked_certificates=None, vpn_client_protocols=None, vpn_client_ipsec_policies=None, radius_server_address: str=None, radius_server_secret: str=None, radius_servers=None, aad_tenant: str=None, aad_audience: str=None, aad_issuer: str=None, **kwargs) -> None: + super(VpnClientConfiguration, self).__init__(**kwargs) + self.vpn_client_address_pool = vpn_client_address_pool + self.vpn_client_root_certificates = vpn_client_root_certificates + self.vpn_client_revoked_certificates = vpn_client_revoked_certificates + self.vpn_client_protocols = vpn_client_protocols + self.vpn_client_ipsec_policies = vpn_client_ipsec_policies + self.radius_server_address = radius_server_address + self.radius_server_secret = radius_server_secret + self.radius_servers = radius_servers + self.aad_tenant = aad_tenant + self.aad_audience = aad_audience + self.aad_issuer = aad_issuer + + +class VpnClientConnectionHealth(Model): + """VpnClientConnectionHealth properties. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar total_ingress_bytes_transferred: Total of the Ingress Bytes + Transferred in this P2S Vpn connection. + :vartype total_ingress_bytes_transferred: long + :ivar total_egress_bytes_transferred: Total of the Egress Bytes + Transferred in this connection. + :vartype total_egress_bytes_transferred: long + :param vpn_client_connections_count: The total of p2s vpn clients + connected at this time to this P2SVpnGateway. + :type vpn_client_connections_count: int + :param allocated_ip_addresses: List of allocated ip addresses to the + connected p2s vpn clients. + :type allocated_ip_addresses: list[str] + """ + + _validation = { + 'total_ingress_bytes_transferred': {'readonly': True}, + 'total_egress_bytes_transferred': {'readonly': True}, + } + + _attribute_map = { + 'total_ingress_bytes_transferred': {'key': 'totalIngressBytesTransferred', 'type': 'long'}, + 'total_egress_bytes_transferred': {'key': 'totalEgressBytesTransferred', 'type': 'long'}, + 'vpn_client_connections_count': {'key': 'vpnClientConnectionsCount', 'type': 'int'}, + 'allocated_ip_addresses': {'key': 'allocatedIpAddresses', 'type': '[str]'}, + } + + def __init__(self, *, vpn_client_connections_count: int=None, allocated_ip_addresses=None, **kwargs) -> None: + super(VpnClientConnectionHealth, self).__init__(**kwargs) + self.total_ingress_bytes_transferred = None + self.total_egress_bytes_transferred = None + self.vpn_client_connections_count = vpn_client_connections_count + self.allocated_ip_addresses = allocated_ip_addresses + + +class VpnClientConnectionHealthDetail(Model): + """VPN client connection health detail. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar vpn_connection_id: The vpn client Id. + :vartype vpn_connection_id: str + :ivar vpn_connection_duration: The duration time of a connected vpn + client. + :vartype vpn_connection_duration: long + :ivar vpn_connection_time: The start time of a connected vpn client. + :vartype vpn_connection_time: str + :ivar public_ip_address: The public Ip of a connected vpn client. + :vartype public_ip_address: str + :ivar private_ip_address: The assigned private Ip of a connected vpn + client. + :vartype private_ip_address: str + :ivar vpn_user_name: The user name of a connected vpn client. + :vartype vpn_user_name: str + :ivar max_bandwidth: The max band width. + :vartype max_bandwidth: long + :ivar egress_packets_transferred: The egress packets per second. + :vartype egress_packets_transferred: long + :ivar egress_bytes_transferred: The egress bytes per second. + :vartype egress_bytes_transferred: long + :ivar ingress_packets_transferred: The ingress packets per second. + :vartype ingress_packets_transferred: long + :ivar ingress_bytes_transferred: The ingress bytes per second. + :vartype ingress_bytes_transferred: long + :ivar max_packets_per_second: The max packets transferred per second. + :vartype max_packets_per_second: long + """ + + _validation = { + 'vpn_connection_id': {'readonly': True}, + 'vpn_connection_duration': {'readonly': True}, + 'vpn_connection_time': {'readonly': True}, + 'public_ip_address': {'readonly': True}, + 'private_ip_address': {'readonly': True}, + 'vpn_user_name': {'readonly': True}, + 'max_bandwidth': {'readonly': True}, + 'egress_packets_transferred': {'readonly': True}, + 'egress_bytes_transferred': {'readonly': True}, + 'ingress_packets_transferred': {'readonly': True}, + 'ingress_bytes_transferred': {'readonly': True}, + 'max_packets_per_second': {'readonly': True}, + } + + _attribute_map = { + 'vpn_connection_id': {'key': 'vpnConnectionId', 'type': 'str'}, + 'vpn_connection_duration': {'key': 'vpnConnectionDuration', 'type': 'long'}, + 'vpn_connection_time': {'key': 'vpnConnectionTime', 'type': 'str'}, + 'public_ip_address': {'key': 'publicIpAddress', 'type': 'str'}, + 'private_ip_address': {'key': 'privateIpAddress', 'type': 'str'}, + 'vpn_user_name': {'key': 'vpnUserName', 'type': 'str'}, + 'max_bandwidth': {'key': 'maxBandwidth', 'type': 'long'}, + 'egress_packets_transferred': {'key': 'egressPacketsTransferred', 'type': 'long'}, + 'egress_bytes_transferred': {'key': 'egressBytesTransferred', 'type': 'long'}, + 'ingress_packets_transferred': {'key': 'ingressPacketsTransferred', 'type': 'long'}, + 'ingress_bytes_transferred': {'key': 'ingressBytesTransferred', 'type': 'long'}, + 'max_packets_per_second': {'key': 'maxPacketsPerSecond', 'type': 'long'}, + } + + def __init__(self, **kwargs) -> None: + super(VpnClientConnectionHealthDetail, self).__init__(**kwargs) + self.vpn_connection_id = None + self.vpn_connection_duration = None + self.vpn_connection_time = None + self.public_ip_address = None + self.private_ip_address = None + self.vpn_user_name = None + self.max_bandwidth = None + self.egress_packets_transferred = None + self.egress_bytes_transferred = None + self.ingress_packets_transferred = None + self.ingress_bytes_transferred = None + self.max_packets_per_second = None + + +class VpnClientConnectionHealthDetailListResult(Model): + """List of virtual network gateway vpn client connection health. + + :param value: List of vpn client connection health. + :type value: + list[~azure.mgmt.network.v2020_04_01.models.VpnClientConnectionHealthDetail] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[VpnClientConnectionHealthDetail]'}, + } + + def __init__(self, *, value=None, **kwargs) -> None: + super(VpnClientConnectionHealthDetailListResult, self).__init__(**kwargs) + self.value = value + + +class VpnClientIPsecParameters(Model): + """An IPSec parameters for a virtual network gateway P2S connection. + + All required parameters must be populated in order to send to Azure. + + :param sa_life_time_seconds: Required. The IPSec Security Association + (also called Quick Mode or Phase 2 SA) lifetime in seconds for P2S client. + :type sa_life_time_seconds: int + :param sa_data_size_kilobytes: Required. The IPSec Security Association + (also called Quick Mode or Phase 2 SA) payload size in KB for P2S client.. + :type sa_data_size_kilobytes: int + :param ipsec_encryption: Required. The IPSec encryption algorithm (IKE + phase 1). Possible values include: 'None', 'DES', 'DES3', 'AES128', + 'AES192', 'AES256', 'GCMAES128', 'GCMAES192', 'GCMAES256' + :type ipsec_encryption: str or + ~azure.mgmt.network.v2020_04_01.models.IpsecEncryption + :param ipsec_integrity: Required. The IPSec integrity algorithm (IKE phase + 1). Possible values include: 'MD5', 'SHA1', 'SHA256', 'GCMAES128', + 'GCMAES192', 'GCMAES256' + :type ipsec_integrity: str or + ~azure.mgmt.network.v2020_04_01.models.IpsecIntegrity + :param ike_encryption: Required. The IKE encryption algorithm (IKE phase + 2). Possible values include: 'DES', 'DES3', 'AES128', 'AES192', 'AES256', + 'GCMAES256', 'GCMAES128' + :type ike_encryption: str or + ~azure.mgmt.network.v2020_04_01.models.IkeEncryption + :param ike_integrity: Required. The IKE integrity algorithm (IKE phase 2). + Possible values include: 'MD5', 'SHA1', 'SHA256', 'SHA384', 'GCMAES256', + 'GCMAES128' + :type ike_integrity: str or + ~azure.mgmt.network.v2020_04_01.models.IkeIntegrity + :param dh_group: Required. The DH Group used in IKE Phase 1 for initial + SA. Possible values include: 'None', 'DHGroup1', 'DHGroup2', 'DHGroup14', + 'DHGroup2048', 'ECP256', 'ECP384', 'DHGroup24' + :type dh_group: str or ~azure.mgmt.network.v2020_04_01.models.DhGroup + :param pfs_group: Required. The Pfs Group used in IKE Phase 2 for new + child SA. Possible values include: 'None', 'PFS1', 'PFS2', 'PFS2048', + 'ECP256', 'ECP384', 'PFS24', 'PFS14', 'PFSMM' + :type pfs_group: str or ~azure.mgmt.network.v2020_04_01.models.PfsGroup + """ + + _validation = { + 'sa_life_time_seconds': {'required': True}, + 'sa_data_size_kilobytes': {'required': True}, + 'ipsec_encryption': {'required': True}, + 'ipsec_integrity': {'required': True}, + 'ike_encryption': {'required': True}, + 'ike_integrity': {'required': True}, + 'dh_group': {'required': True}, + 'pfs_group': {'required': True}, + } + + _attribute_map = { + 'sa_life_time_seconds': {'key': 'saLifeTimeSeconds', 'type': 'int'}, + 'sa_data_size_kilobytes': {'key': 'saDataSizeKilobytes', 'type': 'int'}, + 'ipsec_encryption': {'key': 'ipsecEncryption', 'type': 'str'}, + 'ipsec_integrity': {'key': 'ipsecIntegrity', 'type': 'str'}, + 'ike_encryption': {'key': 'ikeEncryption', 'type': 'str'}, + 'ike_integrity': {'key': 'ikeIntegrity', 'type': 'str'}, + 'dh_group': {'key': 'dhGroup', 'type': 'str'}, + 'pfs_group': {'key': 'pfsGroup', 'type': 'str'}, + } + + def __init__(self, *, sa_life_time_seconds: int, sa_data_size_kilobytes: int, ipsec_encryption, ipsec_integrity, ike_encryption, ike_integrity, dh_group, pfs_group, **kwargs) -> None: + super(VpnClientIPsecParameters, self).__init__(**kwargs) + self.sa_life_time_seconds = sa_life_time_seconds + self.sa_data_size_kilobytes = sa_data_size_kilobytes + self.ipsec_encryption = ipsec_encryption + self.ipsec_integrity = ipsec_integrity + self.ike_encryption = ike_encryption + self.ike_integrity = ike_integrity + self.dh_group = dh_group + self.pfs_group = pfs_group + + +class VpnClientParameters(Model): + """Vpn Client Parameters for package generation. + + :param processor_architecture: VPN client Processor Architecture. Possible + values include: 'Amd64', 'X86' + :type processor_architecture: str or + ~azure.mgmt.network.v2020_04_01.models.ProcessorArchitecture + :param authentication_method: VPN client authentication method. Possible + values include: 'EAPTLS', 'EAPMSCHAPv2' + :type authentication_method: str or + ~azure.mgmt.network.v2020_04_01.models.AuthenticationMethod + :param radius_server_auth_certificate: The public certificate data for the + radius server authentication certificate as a Base-64 encoded string. + Required only if external radius authentication has been configured with + EAPTLS authentication. + :type radius_server_auth_certificate: str + :param client_root_certificates: A list of client root certificates public + certificate data encoded as Base-64 strings. Optional parameter for + external radius based authentication with EAPTLS. + :type client_root_certificates: list[str] + """ + + _attribute_map = { + 'processor_architecture': {'key': 'processorArchitecture', 'type': 'str'}, + 'authentication_method': {'key': 'authenticationMethod', 'type': 'str'}, + 'radius_server_auth_certificate': {'key': 'radiusServerAuthCertificate', 'type': 'str'}, + 'client_root_certificates': {'key': 'clientRootCertificates', 'type': '[str]'}, + } + + def __init__(self, *, processor_architecture=None, authentication_method=None, radius_server_auth_certificate: str=None, client_root_certificates=None, **kwargs) -> None: + super(VpnClientParameters, self).__init__(**kwargs) + self.processor_architecture = processor_architecture + self.authentication_method = authentication_method + self.radius_server_auth_certificate = radius_server_auth_certificate + self.client_root_certificates = client_root_certificates + + +class VpnClientRevokedCertificate(SubResource): + """VPN client revoked certificate of virtual network gateway. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param thumbprint: The revoked VPN client certificate thumbprint. + :type thumbprint: str + :ivar provisioning_state: The provisioning state of the VPN client revoked + certificate resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'thumbprint': {'key': 'properties.thumbprint', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, thumbprint: str=None, name: str=None, **kwargs) -> None: + super(VpnClientRevokedCertificate, self).__init__(id=id, **kwargs) + self.thumbprint = thumbprint + self.provisioning_state = None + self.name = name + self.etag = None + + +class VpnClientRootCertificate(SubResource): + """VPN client root certificate of virtual network gateway. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :param public_cert_data: Required. The certificate public data. + :type public_cert_data: str + :ivar provisioning_state: The provisioning state of the VPN client root + certificate resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'public_cert_data': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'public_cert_data': {'key': 'properties.publicCertData', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, public_cert_data: str, id: str=None, name: str=None, **kwargs) -> None: + super(VpnClientRootCertificate, self).__init__(id=id, **kwargs) + self.public_cert_data = public_cert_data + self.provisioning_state = None + self.name = name + self.etag = None + + +class VpnConnection(SubResource): + """VpnConnection Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param remote_vpn_site: Id of the connected vpn site. + :type remote_vpn_site: ~azure.mgmt.network.v2020_04_01.models.SubResource + :param routing_weight: Routing weight for vpn connection. + :type routing_weight: int + :param dpd_timeout_seconds: The dead peer detection timeout for a vpn + connection in seconds. + :type dpd_timeout_seconds: int + :param connection_status: The connection status. Possible values include: + 'Unknown', 'Connecting', 'Connected', 'NotConnected' + :type connection_status: str or + ~azure.mgmt.network.v2020_04_01.models.VpnConnectionStatus + :param vpn_connection_protocol_type: Connection protocol used for this + connection. Possible values include: 'IKEv2', 'IKEv1' + :type vpn_connection_protocol_type: str or + ~azure.mgmt.network.v2020_04_01.models.VirtualNetworkGatewayConnectionProtocol + :ivar ingress_bytes_transferred: Ingress bytes transferred. + :vartype ingress_bytes_transferred: long + :ivar egress_bytes_transferred: Egress bytes transferred. + :vartype egress_bytes_transferred: long + :param connection_bandwidth: Expected bandwidth in MBPS. + :type connection_bandwidth: int + :param shared_key: SharedKey for the vpn connection. + :type shared_key: str + :param enable_bgp: EnableBgp flag. + :type enable_bgp: bool + :param use_policy_based_traffic_selectors: Enable policy-based traffic + selectors. + :type use_policy_based_traffic_selectors: bool + :param ipsec_policies: The IPSec Policies to be considered by this + connection. + :type ipsec_policies: + list[~azure.mgmt.network.v2020_04_01.models.IpsecPolicy] + :param enable_rate_limiting: EnableBgp flag. + :type enable_rate_limiting: bool + :param enable_internet_security: Enable internet security. + :type enable_internet_security: bool + :param use_local_azure_ip_address: Use local azure ip to initiate + connection. + :type use_local_azure_ip_address: bool + :ivar provisioning_state: The provisioning state of the VPN connection + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param vpn_link_connections: List of all vpn site link connections to the + gateway. + :type vpn_link_connections: + list[~azure.mgmt.network.v2020_04_01.models.VpnSiteLinkConnection] + :param routing_configuration: The Routing Configuration indicating the + associated and propagated route tables on this connection. + :type routing_configuration: + ~azure.mgmt.network.v2020_04_01.models.RoutingConfiguration + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'ingress_bytes_transferred': {'readonly': True}, + 'egress_bytes_transferred': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'remote_vpn_site': {'key': 'properties.remoteVpnSite', 'type': 'SubResource'}, + 'routing_weight': {'key': 'properties.routingWeight', 'type': 'int'}, + 'dpd_timeout_seconds': {'key': 'properties.dpdTimeoutSeconds', 'type': 'int'}, + 'connection_status': {'key': 'properties.connectionStatus', 'type': 'str'}, + 'vpn_connection_protocol_type': {'key': 'properties.vpnConnectionProtocolType', 'type': 'str'}, + 'ingress_bytes_transferred': {'key': 'properties.ingressBytesTransferred', 'type': 'long'}, + 'egress_bytes_transferred': {'key': 'properties.egressBytesTransferred', 'type': 'long'}, + 'connection_bandwidth': {'key': 'properties.connectionBandwidth', 'type': 'int'}, + 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, + 'enable_bgp': {'key': 'properties.enableBgp', 'type': 'bool'}, + 'use_policy_based_traffic_selectors': {'key': 'properties.usePolicyBasedTrafficSelectors', 'type': 'bool'}, + 'ipsec_policies': {'key': 'properties.ipsecPolicies', 'type': '[IpsecPolicy]'}, + 'enable_rate_limiting': {'key': 'properties.enableRateLimiting', 'type': 'bool'}, + 'enable_internet_security': {'key': 'properties.enableInternetSecurity', 'type': 'bool'}, + 'use_local_azure_ip_address': {'key': 'properties.useLocalAzureIpAddress', 'type': 'bool'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'vpn_link_connections': {'key': 'properties.vpnLinkConnections', 'type': '[VpnSiteLinkConnection]'}, + 'routing_configuration': {'key': 'properties.routingConfiguration', 'type': 'RoutingConfiguration'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, remote_vpn_site=None, routing_weight: int=None, dpd_timeout_seconds: int=None, connection_status=None, vpn_connection_protocol_type=None, connection_bandwidth: int=None, shared_key: str=None, enable_bgp: bool=None, use_policy_based_traffic_selectors: bool=None, ipsec_policies=None, enable_rate_limiting: bool=None, enable_internet_security: bool=None, use_local_azure_ip_address: bool=None, vpn_link_connections=None, routing_configuration=None, name: str=None, **kwargs) -> None: + super(VpnConnection, self).__init__(id=id, **kwargs) + self.remote_vpn_site = remote_vpn_site + self.routing_weight = routing_weight + self.dpd_timeout_seconds = dpd_timeout_seconds + self.connection_status = connection_status + self.vpn_connection_protocol_type = vpn_connection_protocol_type + self.ingress_bytes_transferred = None + self.egress_bytes_transferred = None + self.connection_bandwidth = connection_bandwidth + self.shared_key = shared_key + self.enable_bgp = enable_bgp + self.use_policy_based_traffic_selectors = use_policy_based_traffic_selectors + self.ipsec_policies = ipsec_policies + self.enable_rate_limiting = enable_rate_limiting + self.enable_internet_security = enable_internet_security + self.use_local_azure_ip_address = use_local_azure_ip_address + self.provisioning_state = None + self.vpn_link_connections = vpn_link_connections + self.routing_configuration = routing_configuration + self.name = name + self.etag = None + + +class VpnDeviceScriptParameters(Model): + """Vpn device configuration script generation parameters. + + :param vendor: The vendor for the vpn device. + :type vendor: str + :param device_family: The device family for the vpn device. + :type device_family: str + :param firmware_version: The firmware version for the vpn device. + :type firmware_version: str + """ + + _attribute_map = { + 'vendor': {'key': 'vendor', 'type': 'str'}, + 'device_family': {'key': 'deviceFamily', 'type': 'str'}, + 'firmware_version': {'key': 'firmwareVersion', 'type': 'str'}, + } + + def __init__(self, *, vendor: str=None, device_family: str=None, firmware_version: str=None, **kwargs) -> None: + super(VpnDeviceScriptParameters, self).__init__(**kwargs) + self.vendor = vendor + self.device_family = device_family + self.firmware_version = firmware_version + + +class VpnGateway(Resource): + """VpnGateway Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param virtual_hub: The VirtualHub to which the gateway belongs. + :type virtual_hub: ~azure.mgmt.network.v2020_04_01.models.SubResource + :param connections: List of all vpn connections to the gateway. + :type connections: + list[~azure.mgmt.network.v2020_04_01.models.VpnConnection] + :param bgp_settings: Local network gateway's BGP speaker settings. + :type bgp_settings: ~azure.mgmt.network.v2020_04_01.models.BgpSettings + :ivar provisioning_state: The provisioning state of the VPN gateway + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param vpn_gateway_scale_unit: The scale unit for this vpn gateway. + :type vpn_gateway_scale_unit: int + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'virtual_hub': {'key': 'properties.virtualHub', 'type': 'SubResource'}, + 'connections': {'key': 'properties.connections', 'type': '[VpnConnection]'}, + 'bgp_settings': {'key': 'properties.bgpSettings', 'type': 'BgpSettings'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'vpn_gateway_scale_unit': {'key': 'properties.vpnGatewayScaleUnit', 'type': 'int'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, virtual_hub=None, connections=None, bgp_settings=None, vpn_gateway_scale_unit: int=None, **kwargs) -> None: + super(VpnGateway, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.virtual_hub = virtual_hub + self.connections = connections + self.bgp_settings = bgp_settings + self.provisioning_state = None + self.vpn_gateway_scale_unit = vpn_gateway_scale_unit + self.etag = None + + +class VpnLinkBgpSettings(Model): + """BGP settings details for a link. + + :param asn: The BGP speaker's ASN. + :type asn: long + :param bgp_peering_address: The BGP peering address and BGP identifier of + this BGP speaker. + :type bgp_peering_address: str + """ + + _attribute_map = { + 'asn': {'key': 'asn', 'type': 'long'}, + 'bgp_peering_address': {'key': 'bgpPeeringAddress', 'type': 'str'}, + } + + def __init__(self, *, asn: int=None, bgp_peering_address: str=None, **kwargs) -> None: + super(VpnLinkBgpSettings, self).__init__(**kwargs) + self.asn = asn + self.bgp_peering_address = bgp_peering_address + + +class VpnLinkProviderProperties(Model): + """List of properties of a link provider. + + :param link_provider_name: Name of the link provider. + :type link_provider_name: str + :param link_speed_in_mbps: Link speed. + :type link_speed_in_mbps: int + """ + + _attribute_map = { + 'link_provider_name': {'key': 'linkProviderName', 'type': 'str'}, + 'link_speed_in_mbps': {'key': 'linkSpeedInMbps', 'type': 'int'}, + } + + def __init__(self, *, link_provider_name: str=None, link_speed_in_mbps: int=None, **kwargs) -> None: + super(VpnLinkProviderProperties, self).__init__(**kwargs) + self.link_provider_name = link_provider_name + self.link_speed_in_mbps = link_speed_in_mbps + + +class VpnPacketCaptureStartParameters(Model): + """Start packet capture parameters on virtual network gateway. + + :param filter_data: Start Packet capture parameters. + :type filter_data: str + """ + + _attribute_map = { + 'filter_data': {'key': 'filterData', 'type': 'str'}, + } + + def __init__(self, *, filter_data: str=None, **kwargs) -> None: + super(VpnPacketCaptureStartParameters, self).__init__(**kwargs) + self.filter_data = filter_data + + +class VpnPacketCaptureStopParameters(Model): + """Stop packet capture parameters. + + :param sas_url: SAS url for packet capture on virtual network gateway. + :type sas_url: str + """ + + _attribute_map = { + 'sas_url': {'key': 'sasUrl', 'type': 'str'}, + } + + def __init__(self, *, sas_url: str=None, **kwargs) -> None: + super(VpnPacketCaptureStopParameters, self).__init__(**kwargs) + self.sas_url = sas_url + + +class VpnProfileResponse(Model): + """Vpn Profile Response for package generation. + + :param profile_url: URL to the VPN profile. + :type profile_url: str + """ + + _attribute_map = { + 'profile_url': {'key': 'profileUrl', 'type': 'str'}, + } + + def __init__(self, *, profile_url: str=None, **kwargs) -> None: + super(VpnProfileResponse, self).__init__(**kwargs) + self.profile_url = profile_url + + +class VpnServerConfigRadiusClientRootCertificate(Model): + """Properties of the Radius client root certificate of VpnServerConfiguration. + + :param name: The certificate name. + :type name: str + :param thumbprint: The Radius client root certificate thumbprint. + :type thumbprint: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'thumbprint': {'key': 'thumbprint', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, thumbprint: str=None, **kwargs) -> None: + super(VpnServerConfigRadiusClientRootCertificate, self).__init__(**kwargs) + self.name = name + self.thumbprint = thumbprint + + +class VpnServerConfigRadiusServerRootCertificate(Model): + """Properties of Radius Server root certificate of VpnServerConfiguration. + + :param name: The certificate name. + :type name: str + :param public_cert_data: The certificate public data. + :type public_cert_data: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'public_cert_data': {'key': 'publicCertData', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, public_cert_data: str=None, **kwargs) -> None: + super(VpnServerConfigRadiusServerRootCertificate, self).__init__(**kwargs) + self.name = name + self.public_cert_data = public_cert_data + + +class VpnServerConfiguration(Resource): + """VpnServerConfiguration Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param vpn_server_configuration_name: The name of the + VpnServerConfiguration that is unique within a resource group. + :type vpn_server_configuration_name: str + :param vpn_protocols: VPN protocols for the VpnServerConfiguration. + :type vpn_protocols: list[str or + ~azure.mgmt.network.v2020_04_01.models.VpnGatewayTunnelingProtocol] + :param vpn_authentication_types: VPN authentication types for the + VpnServerConfiguration. + :type vpn_authentication_types: list[str or + ~azure.mgmt.network.v2020_04_01.models.VpnAuthenticationType] + :param vpn_client_root_certificates: VPN client root certificate of + VpnServerConfiguration. + :type vpn_client_root_certificates: + list[~azure.mgmt.network.v2020_04_01.models.VpnServerConfigVpnClientRootCertificate] + :param vpn_client_revoked_certificates: VPN client revoked certificate of + VpnServerConfiguration. + :type vpn_client_revoked_certificates: + list[~azure.mgmt.network.v2020_04_01.models.VpnServerConfigVpnClientRevokedCertificate] + :param radius_server_root_certificates: Radius Server root certificate of + VpnServerConfiguration. + :type radius_server_root_certificates: + list[~azure.mgmt.network.v2020_04_01.models.VpnServerConfigRadiusServerRootCertificate] + :param radius_client_root_certificates: Radius client root certificate of + VpnServerConfiguration. + :type radius_client_root_certificates: + list[~azure.mgmt.network.v2020_04_01.models.VpnServerConfigRadiusClientRootCertificate] + :param vpn_client_ipsec_policies: VpnClientIpsecPolicies for + VpnServerConfiguration. + :type vpn_client_ipsec_policies: + list[~azure.mgmt.network.v2020_04_01.models.IpsecPolicy] + :param radius_server_address: The radius server address property of the + VpnServerConfiguration resource for point to site client connection. + :type radius_server_address: str + :param radius_server_secret: The radius secret property of the + VpnServerConfiguration resource for point to site client connection. + :type radius_server_secret: str + :param radius_servers: Multiple Radius Server configuration for + VpnServerConfiguration. + :type radius_servers: + list[~azure.mgmt.network.v2020_04_01.models.RadiusServer] + :param aad_authentication_parameters: The set of aad vpn authentication + parameters. + :type aad_authentication_parameters: + ~azure.mgmt.network.v2020_04_01.models.AadAuthenticationParameters + :ivar provisioning_state: The provisioning state of the + VpnServerConfiguration resource. Possible values are: 'Updating', + 'Deleting', and 'Failed'. + :vartype provisioning_state: str + :ivar p2_svpn_gateways: List of references to P2SVpnGateways. + :vartype p2_svpn_gateways: + list[~azure.mgmt.network.v2020_04_01.models.P2SVpnGateway] + :ivar vpn_server_configuration_properties_etag: A unique read-only string + that changes whenever the resource is updated. + :vartype vpn_server_configuration_properties_etag: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'p2_svpn_gateways': {'readonly': True}, + 'vpn_server_configuration_properties_etag': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'vpn_server_configuration_name': {'key': 'properties.name', 'type': 'str'}, + 'vpn_protocols': {'key': 'properties.vpnProtocols', 'type': '[str]'}, + 'vpn_authentication_types': {'key': 'properties.vpnAuthenticationTypes', 'type': '[str]'}, + 'vpn_client_root_certificates': {'key': 'properties.vpnClientRootCertificates', 'type': '[VpnServerConfigVpnClientRootCertificate]'}, + 'vpn_client_revoked_certificates': {'key': 'properties.vpnClientRevokedCertificates', 'type': '[VpnServerConfigVpnClientRevokedCertificate]'}, + 'radius_server_root_certificates': {'key': 'properties.radiusServerRootCertificates', 'type': '[VpnServerConfigRadiusServerRootCertificate]'}, + 'radius_client_root_certificates': {'key': 'properties.radiusClientRootCertificates', 'type': '[VpnServerConfigRadiusClientRootCertificate]'}, + 'vpn_client_ipsec_policies': {'key': 'properties.vpnClientIpsecPolicies', 'type': '[IpsecPolicy]'}, + 'radius_server_address': {'key': 'properties.radiusServerAddress', 'type': 'str'}, + 'radius_server_secret': {'key': 'properties.radiusServerSecret', 'type': 'str'}, + 'radius_servers': {'key': 'properties.radiusServers', 'type': '[RadiusServer]'}, + 'aad_authentication_parameters': {'key': 'properties.aadAuthenticationParameters', 'type': 'AadAuthenticationParameters'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'p2_svpn_gateways': {'key': 'properties.p2SVpnGateways', 'type': '[P2SVpnGateway]'}, + 'vpn_server_configuration_properties_etag': {'key': 'properties.etag', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, vpn_server_configuration_name: str=None, vpn_protocols=None, vpn_authentication_types=None, vpn_client_root_certificates=None, vpn_client_revoked_certificates=None, radius_server_root_certificates=None, radius_client_root_certificates=None, vpn_client_ipsec_policies=None, radius_server_address: str=None, radius_server_secret: str=None, radius_servers=None, aad_authentication_parameters=None, **kwargs) -> None: + super(VpnServerConfiguration, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.vpn_server_configuration_name = vpn_server_configuration_name + self.vpn_protocols = vpn_protocols + self.vpn_authentication_types = vpn_authentication_types + self.vpn_client_root_certificates = vpn_client_root_certificates + self.vpn_client_revoked_certificates = vpn_client_revoked_certificates + self.radius_server_root_certificates = radius_server_root_certificates + self.radius_client_root_certificates = radius_client_root_certificates + self.vpn_client_ipsec_policies = vpn_client_ipsec_policies + self.radius_server_address = radius_server_address + self.radius_server_secret = radius_server_secret + self.radius_servers = radius_servers + self.aad_authentication_parameters = aad_authentication_parameters + self.provisioning_state = None + self.p2_svpn_gateways = None + self.vpn_server_configuration_properties_etag = None + self.etag = None + + +class VpnServerConfigurationsResponse(Model): + """VpnServerConfigurations list associated with VirtualWan Response. + + :param vpn_server_configuration_resource_ids: List of + VpnServerConfigurations associated with VirtualWan. + :type vpn_server_configuration_resource_ids: list[str] + """ + + _attribute_map = { + 'vpn_server_configuration_resource_ids': {'key': 'vpnServerConfigurationResourceIds', 'type': '[str]'}, + } + + def __init__(self, *, vpn_server_configuration_resource_ids=None, **kwargs) -> None: + super(VpnServerConfigurationsResponse, self).__init__(**kwargs) + self.vpn_server_configuration_resource_ids = vpn_server_configuration_resource_ids + + +class VpnServerConfigVpnClientRevokedCertificate(Model): + """Properties of the revoked VPN client certificate of VpnServerConfiguration. + + :param name: The certificate name. + :type name: str + :param thumbprint: The revoked VPN client certificate thumbprint. + :type thumbprint: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'thumbprint': {'key': 'thumbprint', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, thumbprint: str=None, **kwargs) -> None: + super(VpnServerConfigVpnClientRevokedCertificate, self).__init__(**kwargs) + self.name = name + self.thumbprint = thumbprint + + +class VpnServerConfigVpnClientRootCertificate(Model): + """Properties of VPN client root certificate of VpnServerConfiguration. + + :param name: The certificate name. + :type name: str + :param public_cert_data: The certificate public data. + :type public_cert_data: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'public_cert_data': {'key': 'publicCertData', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, public_cert_data: str=None, **kwargs) -> None: + super(VpnServerConfigVpnClientRootCertificate, self).__init__(**kwargs) + self.name = name + self.public_cert_data = public_cert_data + + +class VpnSite(Resource): + """VpnSite Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param virtual_wan: The VirtualWAN to which the vpnSite belongs. + :type virtual_wan: ~azure.mgmt.network.v2020_04_01.models.SubResource + :param device_properties: The device properties. + :type device_properties: + ~azure.mgmt.network.v2020_04_01.models.DeviceProperties + :param ip_address: The ip-address for the vpn-site. + :type ip_address: str + :param site_key: The key for vpn-site that can be used for connections. + :type site_key: str + :param address_space: The AddressSpace that contains an array of IP + address ranges. + :type address_space: ~azure.mgmt.network.v2020_04_01.models.AddressSpace + :param bgp_properties: The set of bgp properties. + :type bgp_properties: ~azure.mgmt.network.v2020_04_01.models.BgpSettings + :ivar provisioning_state: The provisioning state of the VPN site resource. + Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param is_security_site: IsSecuritySite flag. + :type is_security_site: bool + :param vpn_site_links: List of all vpn site links. + :type vpn_site_links: + list[~azure.mgmt.network.v2020_04_01.models.VpnSiteLink] + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'virtual_wan': {'key': 'properties.virtualWan', 'type': 'SubResource'}, + 'device_properties': {'key': 'properties.deviceProperties', 'type': 'DeviceProperties'}, + 'ip_address': {'key': 'properties.ipAddress', 'type': 'str'}, + 'site_key': {'key': 'properties.siteKey', 'type': 'str'}, + 'address_space': {'key': 'properties.addressSpace', 'type': 'AddressSpace'}, + 'bgp_properties': {'key': 'properties.bgpProperties', 'type': 'BgpSettings'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'is_security_site': {'key': 'properties.isSecuritySite', 'type': 'bool'}, + 'vpn_site_links': {'key': 'properties.vpnSiteLinks', 'type': '[VpnSiteLink]'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, virtual_wan=None, device_properties=None, ip_address: str=None, site_key: str=None, address_space=None, bgp_properties=None, is_security_site: bool=None, vpn_site_links=None, **kwargs) -> None: + super(VpnSite, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.virtual_wan = virtual_wan + self.device_properties = device_properties + self.ip_address = ip_address + self.site_key = site_key + self.address_space = address_space + self.bgp_properties = bgp_properties + self.provisioning_state = None + self.is_security_site = is_security_site + self.vpn_site_links = vpn_site_links + self.etag = None + + +class VpnSiteId(Model): + """VpnSite Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar vpn_site: The resource-uri of the vpn-site for which config is to be + fetched. + :vartype vpn_site: str + """ + + _validation = { + 'vpn_site': {'readonly': True}, + } + + _attribute_map = { + 'vpn_site': {'key': 'vpnSite', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(VpnSiteId, self).__init__(**kwargs) + self.vpn_site = None + + +class VpnSiteLink(SubResource): + """VpnSiteLink Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param link_properties: The link provider properties. + :type link_properties: + ~azure.mgmt.network.v2020_04_01.models.VpnLinkProviderProperties + :param ip_address: The ip-address for the vpn-site-link. + :type ip_address: str + :param fqdn: FQDN of vpn-site-link. + :type fqdn: str + :param bgp_properties: The set of bgp properties. + :type bgp_properties: + ~azure.mgmt.network.v2020_04_01.models.VpnLinkBgpSettings + :ivar provisioning_state: The provisioning state of the VPN site link + resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar type: Resource type. + :vartype type: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'link_properties': {'key': 'properties.linkProperties', 'type': 'VpnLinkProviderProperties'}, + 'ip_address': {'key': 'properties.ipAddress', 'type': 'str'}, + 'fqdn': {'key': 'properties.fqdn', 'type': 'str'}, + 'bgp_properties': {'key': 'properties.bgpProperties', 'type': 'VpnLinkBgpSettings'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, link_properties=None, ip_address: str=None, fqdn: str=None, bgp_properties=None, name: str=None, **kwargs) -> None: + super(VpnSiteLink, self).__init__(id=id, **kwargs) + self.link_properties = link_properties + self.ip_address = ip_address + self.fqdn = fqdn + self.bgp_properties = bgp_properties + self.provisioning_state = None + self.etag = None + self.name = name + self.type = None + + +class VpnSiteLinkConnection(SubResource): + """VpnSiteLinkConnection Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param vpn_site_link: Id of the connected vpn site link. + :type vpn_site_link: ~azure.mgmt.network.v2020_04_01.models.SubResource + :param routing_weight: Routing weight for vpn connection. + :type routing_weight: int + :param connection_status: The connection status. Possible values include: + 'Unknown', 'Connecting', 'Connected', 'NotConnected' + :type connection_status: str or + ~azure.mgmt.network.v2020_04_01.models.VpnConnectionStatus + :param vpn_connection_protocol_type: Connection protocol used for this + connection. Possible values include: 'IKEv2', 'IKEv1' + :type vpn_connection_protocol_type: str or + ~azure.mgmt.network.v2020_04_01.models.VirtualNetworkGatewayConnectionProtocol + :ivar ingress_bytes_transferred: Ingress bytes transferred. + :vartype ingress_bytes_transferred: long + :ivar egress_bytes_transferred: Egress bytes transferred. + :vartype egress_bytes_transferred: long + :param connection_bandwidth: Expected bandwidth in MBPS. + :type connection_bandwidth: int + :param shared_key: SharedKey for the vpn connection. + :type shared_key: str + :param enable_bgp: EnableBgp flag. + :type enable_bgp: bool + :param use_policy_based_traffic_selectors: Enable policy-based traffic + selectors. + :type use_policy_based_traffic_selectors: bool + :param ipsec_policies: The IPSec Policies to be considered by this + connection. + :type ipsec_policies: + list[~azure.mgmt.network.v2020_04_01.models.IpsecPolicy] + :param enable_rate_limiting: EnableBgp flag. + :type enable_rate_limiting: bool + :param use_local_azure_ip_address: Use local azure ip to initiate + connection. + :type use_local_azure_ip_address: bool + :ivar provisioning_state: The provisioning state of the VPN site link + connection resource. Possible values include: 'Succeeded', 'Updating', + 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Resource type. + :vartype type: str + """ + + _validation = { + 'ingress_bytes_transferred': {'readonly': True}, + 'egress_bytes_transferred': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'vpn_site_link': {'key': 'properties.vpnSiteLink', 'type': 'SubResource'}, + 'routing_weight': {'key': 'properties.routingWeight', 'type': 'int'}, + 'connection_status': {'key': 'properties.connectionStatus', 'type': 'str'}, + 'vpn_connection_protocol_type': {'key': 'properties.vpnConnectionProtocolType', 'type': 'str'}, + 'ingress_bytes_transferred': {'key': 'properties.ingressBytesTransferred', 'type': 'long'}, + 'egress_bytes_transferred': {'key': 'properties.egressBytesTransferred', 'type': 'long'}, + 'connection_bandwidth': {'key': 'properties.connectionBandwidth', 'type': 'int'}, + 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, + 'enable_bgp': {'key': 'properties.enableBgp', 'type': 'bool'}, + 'use_policy_based_traffic_selectors': {'key': 'properties.usePolicyBasedTrafficSelectors', 'type': 'bool'}, + 'ipsec_policies': {'key': 'properties.ipsecPolicies', 'type': '[IpsecPolicy]'}, + 'enable_rate_limiting': {'key': 'properties.enableRateLimiting', 'type': 'bool'}, + 'use_local_azure_ip_address': {'key': 'properties.useLocalAzureIpAddress', 'type': 'bool'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, vpn_site_link=None, routing_weight: int=None, connection_status=None, vpn_connection_protocol_type=None, connection_bandwidth: int=None, shared_key: str=None, enable_bgp: bool=None, use_policy_based_traffic_selectors: bool=None, ipsec_policies=None, enable_rate_limiting: bool=None, use_local_azure_ip_address: bool=None, name: str=None, **kwargs) -> None: + super(VpnSiteLinkConnection, self).__init__(id=id, **kwargs) + self.vpn_site_link = vpn_site_link + self.routing_weight = routing_weight + self.connection_status = connection_status + self.vpn_connection_protocol_type = vpn_connection_protocol_type + self.ingress_bytes_transferred = None + self.egress_bytes_transferred = None + self.connection_bandwidth = connection_bandwidth + self.shared_key = shared_key + self.enable_bgp = enable_bgp + self.use_policy_based_traffic_selectors = use_policy_based_traffic_selectors + self.ipsec_policies = ipsec_policies + self.enable_rate_limiting = enable_rate_limiting + self.use_local_azure_ip_address = use_local_azure_ip_address + self.provisioning_state = None + self.name = name + self.etag = None + self.type = None + + +class WebApplicationFirewallCustomRule(Model): + """Defines contents of a web application rule. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param name: The name of the resource that is unique within a policy. This + name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :param priority: Required. Priority of the rule. Rules with a lower value + will be evaluated before rules with a higher value. + :type priority: int + :param rule_type: Required. The rule type. Possible values include: + 'MatchRule', 'Invalid' + :type rule_type: str or + ~azure.mgmt.network.v2020_04_01.models.WebApplicationFirewallRuleType + :param match_conditions: Required. List of match conditions. + :type match_conditions: + list[~azure.mgmt.network.v2020_04_01.models.MatchCondition] + :param action: Required. Type of Actions. Possible values include: + 'Allow', 'Block', 'Log' + :type action: str or + ~azure.mgmt.network.v2020_04_01.models.WebApplicationFirewallAction + """ + + _validation = { + 'name': {'max_length': 128}, + 'etag': {'readonly': True}, + 'priority': {'required': True}, + 'rule_type': {'required': True}, + 'match_conditions': {'required': True}, + 'action': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'priority': {'key': 'priority', 'type': 'int'}, + 'rule_type': {'key': 'ruleType', 'type': 'str'}, + 'match_conditions': {'key': 'matchConditions', 'type': '[MatchCondition]'}, + 'action': {'key': 'action', 'type': 'str'}, + } + + def __init__(self, *, priority: int, rule_type, match_conditions, action, name: str=None, **kwargs) -> None: + super(WebApplicationFirewallCustomRule, self).__init__(**kwargs) + self.name = name + self.etag = None + self.priority = priority + self.rule_type = rule_type + self.match_conditions = match_conditions + self.action = action + + +class WebApplicationFirewallPolicy(Resource): + """Defines web application firewall policy. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param policy_settings: The PolicySettings for policy. + :type policy_settings: + ~azure.mgmt.network.v2020_04_01.models.PolicySettings + :param custom_rules: The custom rules inside the policy. + :type custom_rules: + list[~azure.mgmt.network.v2020_04_01.models.WebApplicationFirewallCustomRule] + :ivar application_gateways: A collection of references to application + gateways. + :vartype application_gateways: + list[~azure.mgmt.network.v2020_04_01.models.ApplicationGateway] + :ivar provisioning_state: The provisioning state of the web application + firewall policy resource. Possible values include: 'Succeeded', + 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2020_04_01.models.ProvisioningState + :ivar resource_state: Resource status of the policy. Resource status of + the policy. Possible values include: 'Creating', 'Enabling', 'Enabled', + 'Disabling', 'Disabled', 'Deleting' + :vartype resource_state: str or + ~azure.mgmt.network.v2020_04_01.models.WebApplicationFirewallPolicyResourceState + :param managed_rules: Required. Describes the managedRules structure. + :type managed_rules: + ~azure.mgmt.network.v2020_04_01.models.ManagedRulesDefinition + :ivar http_listeners: A collection of references to application gateway + http listeners. + :vartype http_listeners: + list[~azure.mgmt.network.v2020_04_01.models.SubResource] + :ivar path_based_rules: A collection of references to application gateway + path rules. + :vartype path_based_rules: + list[~azure.mgmt.network.v2020_04_01.models.SubResource] + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'application_gateways': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'resource_state': {'readonly': True}, + 'managed_rules': {'required': True}, + 'http_listeners': {'readonly': True}, + 'path_based_rules': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'policy_settings': {'key': 'properties.policySettings', 'type': 'PolicySettings'}, + 'custom_rules': {'key': 'properties.customRules', 'type': '[WebApplicationFirewallCustomRule]'}, + 'application_gateways': {'key': 'properties.applicationGateways', 'type': '[ApplicationGateway]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'resource_state': {'key': 'properties.resourceState', 'type': 'str'}, + 'managed_rules': {'key': 'properties.managedRules', 'type': 'ManagedRulesDefinition'}, + 'http_listeners': {'key': 'properties.httpListeners', 'type': '[SubResource]'}, + 'path_based_rules': {'key': 'properties.pathBasedRules', 'type': '[SubResource]'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, managed_rules, id: str=None, location: str=None, tags=None, policy_settings=None, custom_rules=None, **kwargs) -> None: + super(WebApplicationFirewallPolicy, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.policy_settings = policy_settings + self.custom_rules = custom_rules + self.application_gateways = None + self.provisioning_state = None + self.resource_state = None + self.managed_rules = managed_rules + self.http_listeners = None + self.path_based_rules = None + self.etag = None diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/models/_network_management_client_enums.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/models/_network_management_client_enums.py new file mode 100644 index 00000000000..9f471d29f17 --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/models/_network_management_client_enums.py @@ -0,0 +1,996 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from enum import Enum + + +class ApplicationGatewayProtocol(str, Enum): + + http = "Http" + https = "Https" + + +class ProvisioningState(str, Enum): + + succeeded = "Succeeded" + updating = "Updating" + deleting = "Deleting" + failed = "Failed" + + +class IPAllocationMethod(str, Enum): + + static = "Static" + dynamic = "Dynamic" + + +class IPVersion(str, Enum): + + ipv4 = "IPv4" + ipv6 = "IPv6" + + +class SecurityRuleProtocol(str, Enum): + + tcp = "Tcp" + udp = "Udp" + icmp = "Icmp" + esp = "Esp" + asterisk = "*" + ah = "Ah" + + +class SecurityRuleAccess(str, Enum): + + allow = "Allow" + deny = "Deny" + + +class SecurityRuleDirection(str, Enum): + + inbound = "Inbound" + outbound = "Outbound" + + +class FlowLogFormatType(str, Enum): + + json = "JSON" + + +class RouteNextHopType(str, Enum): + + virtual_network_gateway = "VirtualNetworkGateway" + vnet_local = "VnetLocal" + internet = "Internet" + virtual_appliance = "VirtualAppliance" + none = "None" + + +class PublicIPAddressSkuName(str, Enum): + + basic = "Basic" + standard = "Standard" + + +class DdosSettingsProtectionCoverage(str, Enum): + + basic = "Basic" + standard = "Standard" + + +class VirtualNetworkPeeringState(str, Enum): + + initiated = "Initiated" + connected = "Connected" + disconnected = "Disconnected" + + +class TransportProtocol(str, Enum): + + udp = "Udp" + tcp = "Tcp" + all = "All" + + +class ApplicationGatewayCookieBasedAffinity(str, Enum): + + enabled = "Enabled" + disabled = "Disabled" + + +class ApplicationGatewayBackendHealthServerHealth(str, Enum): + + unknown = "Unknown" + up = "Up" + down = "Down" + partial = "Partial" + draining = "Draining" + + +class ApplicationGatewaySkuName(str, Enum): + + standard_small = "Standard_Small" + standard_medium = "Standard_Medium" + standard_large = "Standard_Large" + waf_medium = "WAF_Medium" + waf_large = "WAF_Large" + standard_v2 = "Standard_v2" + waf_v2 = "WAF_v2" + + +class ApplicationGatewayTier(str, Enum): + + standard = "Standard" + waf = "WAF" + standard_v2 = "Standard_v2" + waf_v2 = "WAF_v2" + + +class ApplicationGatewaySslProtocol(str, Enum): + + tl_sv1_0 = "TLSv1_0" + tl_sv1_1 = "TLSv1_1" + tl_sv1_2 = "TLSv1_2" + + +class ApplicationGatewaySslPolicyType(str, Enum): + + predefined = "Predefined" + custom = "Custom" + + +class ApplicationGatewaySslPolicyName(str, Enum): + + app_gw_ssl_policy20150501 = "AppGwSslPolicy20150501" + app_gw_ssl_policy20170401 = "AppGwSslPolicy20170401" + app_gw_ssl_policy20170401_s = "AppGwSslPolicy20170401S" + + +class ApplicationGatewaySslCipherSuite(str, Enum): + + tls_ecdhe_rsa_with_aes_256_cbc_sha384 = "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384" + tls_ecdhe_rsa_with_aes_128_cbc_sha256 = "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256" + tls_ecdhe_rsa_with_aes_256_cbc_sha = "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA" + tls_ecdhe_rsa_with_aes_128_cbc_sha = "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA" + tls_dhe_rsa_with_aes_256_gcm_sha384 = "TLS_DHE_RSA_WITH_AES_256_GCM_SHA384" + tls_dhe_rsa_with_aes_128_gcm_sha256 = "TLS_DHE_RSA_WITH_AES_128_GCM_SHA256" + tls_dhe_rsa_with_aes_256_cbc_sha = "TLS_DHE_RSA_WITH_AES_256_CBC_SHA" + tls_dhe_rsa_with_aes_128_cbc_sha = "TLS_DHE_RSA_WITH_AES_128_CBC_SHA" + tls_rsa_with_aes_256_gcm_sha384 = "TLS_RSA_WITH_AES_256_GCM_SHA384" + tls_rsa_with_aes_128_gcm_sha256 = "TLS_RSA_WITH_AES_128_GCM_SHA256" + tls_rsa_with_aes_256_cbc_sha256 = "TLS_RSA_WITH_AES_256_CBC_SHA256" + tls_rsa_with_aes_128_cbc_sha256 = "TLS_RSA_WITH_AES_128_CBC_SHA256" + tls_rsa_with_aes_256_cbc_sha = "TLS_RSA_WITH_AES_256_CBC_SHA" + tls_rsa_with_aes_128_cbc_sha = "TLS_RSA_WITH_AES_128_CBC_SHA" + tls_ecdhe_ecdsa_with_aes_256_gcm_sha384 = "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384" + tls_ecdhe_ecdsa_with_aes_128_gcm_sha256 = "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256" + tls_ecdhe_ecdsa_with_aes_256_cbc_sha384 = "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384" + tls_ecdhe_ecdsa_with_aes_128_cbc_sha256 = "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256" + tls_ecdhe_ecdsa_with_aes_256_cbc_sha = "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA" + tls_ecdhe_ecdsa_with_aes_128_cbc_sha = "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA" + tls_dhe_dss_with_aes_256_cbc_sha256 = "TLS_DHE_DSS_WITH_AES_256_CBC_SHA256" + tls_dhe_dss_with_aes_128_cbc_sha256 = "TLS_DHE_DSS_WITH_AES_128_CBC_SHA256" + tls_dhe_dss_with_aes_256_cbc_sha = "TLS_DHE_DSS_WITH_AES_256_CBC_SHA" + tls_dhe_dss_with_aes_128_cbc_sha = "TLS_DHE_DSS_WITH_AES_128_CBC_SHA" + tls_rsa_with_3_des_ede_cbc_sha = "TLS_RSA_WITH_3DES_EDE_CBC_SHA" + tls_dhe_dss_with_3_des_ede_cbc_sha = "TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA" + tls_ecdhe_rsa_with_aes_128_gcm_sha256 = "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256" + tls_ecdhe_rsa_with_aes_256_gcm_sha384 = "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384" + + +class ApplicationGatewayCustomErrorStatusCode(str, Enum): + + http_status403 = "HttpStatus403" + http_status502 = "HttpStatus502" + + +class ApplicationGatewayRequestRoutingRuleType(str, Enum): + + basic = "Basic" + path_based_routing = "PathBasedRouting" + + +class ApplicationGatewayRedirectType(str, Enum): + + permanent = "Permanent" + found = "Found" + see_other = "SeeOther" + temporary = "Temporary" + + +class ApplicationGatewayOperationalState(str, Enum): + + stopped = "Stopped" + starting = "Starting" + running = "Running" + stopping = "Stopping" + + +class ApplicationGatewayFirewallMode(str, Enum): + + detection = "Detection" + prevention = "Prevention" + + +class ResourceIdentityType(str, Enum): + + system_assigned = "SystemAssigned" + user_assigned = "UserAssigned" + system_assigned_user_assigned = "SystemAssigned, UserAssigned" + none = "None" + + +class AzureFirewallRCActionType(str, Enum): + + allow = "Allow" + deny = "Deny" + + +class AzureFirewallApplicationRuleProtocolType(str, Enum): + + http = "Http" + https = "Https" + mssql = "Mssql" + + +class AzureFirewallNatRCActionType(str, Enum): + + snat = "Snat" + dnat = "Dnat" + + +class AzureFirewallNetworkRuleProtocol(str, Enum): + + tcp = "TCP" + udp = "UDP" + any = "Any" + icmp = "ICMP" + + +class AzureFirewallThreatIntelMode(str, Enum): + + alert = "Alert" + deny = "Deny" + off = "Off" + + +class AzureFirewallSkuName(str, Enum): + + azfw_vnet = "AZFW_VNet" + azfw_hub = "AZFW_Hub" + + +class AzureFirewallSkuTier(str, Enum): + + standard = "Standard" + premium = "Premium" + + +class BastionConnectProtocol(str, Enum): + + ssh = "SSH" + rdp = "RDP" + + +class DdosCustomPolicyProtocol(str, Enum): + + tcp = "Tcp" + udp = "Udp" + syn = "Syn" + + +class DdosCustomPolicyTriggerSensitivityOverride(str, Enum): + + relaxed = "Relaxed" + low = "Low" + default = "Default" + high = "High" + + +class AuthorizationUseStatus(str, Enum): + + available = "Available" + in_use = "InUse" + + +class ExpressRouteCircuitPeeringAdvertisedPublicPrefixState(str, Enum): + + not_configured = "NotConfigured" + configuring = "Configuring" + configured = "Configured" + validation_needed = "ValidationNeeded" + + +class ExpressRouteCircuitPeeringState(str, Enum): + + disabled = "Disabled" + enabled = "Enabled" + + +class ExpressRoutePeeringType(str, Enum): + + azure_public_peering = "AzurePublicPeering" + azure_private_peering = "AzurePrivatePeering" + microsoft_peering = "MicrosoftPeering" + + +class ExpressRoutePeeringState(str, Enum): + + disabled = "Disabled" + enabled = "Enabled" + + +class CircuitConnectionStatus(str, Enum): + + connected = "Connected" + connecting = "Connecting" + disconnected = "Disconnected" + + +class ExpressRouteCircuitSkuTier(str, Enum): + + standard = "Standard" + premium = "Premium" + basic = "Basic" + local = "Local" + + +class ExpressRouteCircuitSkuFamily(str, Enum): + + unlimited_data = "UnlimitedData" + metered_data = "MeteredData" + + +class ServiceProviderProvisioningState(str, Enum): + + not_provisioned = "NotProvisioned" + provisioning = "Provisioning" + provisioned = "Provisioned" + deprovisioning = "Deprovisioning" + + +class ExpressRouteLinkMacSecCipher(str, Enum): + + gcm_aes_128 = "gcm-aes-128" + gcm_aes_256 = "gcm-aes-256" + + +class ExpressRouteLinkConnectorType(str, Enum): + + lc = "LC" + sc = "SC" + + +class ExpressRouteLinkAdminState(str, Enum): + + enabled = "Enabled" + disabled = "Disabled" + + +class ExpressRoutePortsEncapsulation(str, Enum): + + dot1_q = "Dot1Q" + qin_q = "QinQ" + + +class FirewallPolicyIntrusionSystemMode(str, Enum): + + enabled = "Enabled" + disabled = "Disabled" + + +class FirewallPolicyNatRuleActionType(str, Enum): + + dnat = "DNAT" + + +class FirewallPolicyFilterRuleActionType(str, Enum): + + allow = "Allow" + deny = "Deny" + + +class FirewallPolicyRuleConditionApplicationProtocolType(str, Enum): + + http = "Http" + https = "Https" + + +class FirewallPolicyRuleConditionNetworkProtocol(str, Enum): + + tcp = "TCP" + udp = "UDP" + any = "Any" + icmp = "ICMP" + + +class IpAllocationType(str, Enum): + + undefined = "Undefined" + hypernet = "Hypernet" + + +class LoadBalancerSkuName(str, Enum): + + basic = "Basic" + standard = "Standard" + + +class LoadDistribution(str, Enum): + + default = "Default" + source_ip = "SourceIP" + source_ip_protocol = "SourceIPProtocol" + + +class ProbeProtocol(str, Enum): + + http = "Http" + tcp = "Tcp" + https = "Https" + + +class LoadBalancerOutboundRuleProtocol(str, Enum): + + tcp = "Tcp" + udp = "Udp" + all = "All" + + +class NatGatewaySkuName(str, Enum): + + standard = "Standard" + + +class NetworkOperationStatus(str, Enum): + + in_progress = "InProgress" + succeeded = "Succeeded" + failed = "Failed" + + +class Access(str, Enum): + + allow = "Allow" + deny = "Deny" + + +class AuthenticationMethod(str, Enum): + + eaptls = "EAPTLS" + eapmscha_pv2 = "EAPMSCHAPv2" + + +class EffectiveSecurityRuleProtocol(str, Enum): + + tcp = "Tcp" + udp = "Udp" + all = "All" + + +class EffectiveRouteSource(str, Enum): + + unknown = "Unknown" + user = "User" + virtual_network_gateway = "VirtualNetworkGateway" + default = "Default" + + +class EffectiveRouteState(str, Enum): + + active = "Active" + invalid = "Invalid" + + +class AssociationType(str, Enum): + + associated = "Associated" + contains = "Contains" + + +class Direction(str, Enum): + + inbound = "Inbound" + outbound = "Outbound" + + +class IpFlowProtocol(str, Enum): + + tcp = "TCP" + udp = "UDP" + + +class NextHopType(str, Enum): + + internet = "Internet" + virtual_appliance = "VirtualAppliance" + virtual_network_gateway = "VirtualNetworkGateway" + vnet_local = "VnetLocal" + hyper_net_gateway = "HyperNetGateway" + none = "None" + + +class PcProtocol(str, Enum): + + tcp = "TCP" + udp = "UDP" + any = "Any" + + +class PcStatus(str, Enum): + + not_started = "NotStarted" + running = "Running" + stopped = "Stopped" + error = "Error" + unknown = "Unknown" + + +class PcError(str, Enum): + + internal_error = "InternalError" + agent_stopped = "AgentStopped" + capture_failed = "CaptureFailed" + local_file_failed = "LocalFileFailed" + storage_failed = "StorageFailed" + + +class Protocol(str, Enum): + + tcp = "Tcp" + http = "Http" + https = "Https" + icmp = "Icmp" + + +class HTTPMethod(str, Enum): + + get = "Get" + + +class Origin(str, Enum): + + local = "Local" + inbound = "Inbound" + outbound = "Outbound" + + +class Severity(str, Enum): + + error = "Error" + warning = "Warning" + + +class IssueType(str, Enum): + + unknown = "Unknown" + agent_stopped = "AgentStopped" + guest_firewall = "GuestFirewall" + dns_resolution = "DnsResolution" + socket_bind = "SocketBind" + network_security_rule = "NetworkSecurityRule" + user_defined_route = "UserDefinedRoute" + port_throttled = "PortThrottled" + platform = "Platform" + + +class ConnectionStatus(str, Enum): + + unknown = "Unknown" + connected = "Connected" + disconnected = "Disconnected" + degraded = "Degraded" + + +class VerbosityLevel(str, Enum): + + normal = "Normal" + minimum = "Minimum" + full = "Full" + + +class ConnectionMonitorEndpointFilterType(str, Enum): + + include = "Include" + + +class ConnectionMonitorEndpointFilterItemType(str, Enum): + + agent_address = "AgentAddress" + + +class ConnectionMonitorTestConfigurationProtocol(str, Enum): + + tcp = "Tcp" + http = "Http" + icmp = "Icmp" + + +class PreferredIPVersion(str, Enum): + + ipv4 = "IPv4" + ipv6 = "IPv6" + + +class HTTPConfigurationMethod(str, Enum): + + get = "Get" + post = "Post" + + +class OutputType(str, Enum): + + workspace = "Workspace" + + +class ConnectionState(str, Enum): + + reachable = "Reachable" + unreachable = "Unreachable" + unknown = "Unknown" + + +class EvaluationState(str, Enum): + + not_started = "NotStarted" + in_progress = "InProgress" + completed = "Completed" + + +class ConnectionMonitorType(str, Enum): + + multi_endpoint = "MultiEndpoint" + single_source_destination = "SingleSourceDestination" + + +class ConnectionMonitorSourceStatus(str, Enum): + + unknown = "Unknown" + active = "Active" + inactive = "Inactive" + + +class PublicIPPrefixSkuName(str, Enum): + + standard = "Standard" + + +class SecurityProviderName(str, Enum): + + zscaler = "ZScaler" + iboss = "IBoss" + checkpoint = "Checkpoint" + + +class SecurityPartnerProviderConnectionStatus(str, Enum): + + unknown = "Unknown" + partially_connected = "PartiallyConnected" + connected = "Connected" + not_connected = "NotConnected" + + +class VirtualNetworkGatewayType(str, Enum): + + vpn = "Vpn" + express_route = "ExpressRoute" + + +class VpnType(str, Enum): + + policy_based = "PolicyBased" + route_based = "RouteBased" + + +class VpnGatewayGeneration(str, Enum): + + none = "None" + generation1 = "Generation1" + generation2 = "Generation2" + + +class VirtualNetworkGatewaySkuName(str, Enum): + + basic = "Basic" + high_performance = "HighPerformance" + standard = "Standard" + ultra_performance = "UltraPerformance" + vpn_gw1 = "VpnGw1" + vpn_gw2 = "VpnGw2" + vpn_gw3 = "VpnGw3" + vpn_gw4 = "VpnGw4" + vpn_gw5 = "VpnGw5" + vpn_gw1_az = "VpnGw1AZ" + vpn_gw2_az = "VpnGw2AZ" + vpn_gw3_az = "VpnGw3AZ" + vpn_gw4_az = "VpnGw4AZ" + vpn_gw5_az = "VpnGw5AZ" + er_gw1_az = "ErGw1AZ" + er_gw2_az = "ErGw2AZ" + er_gw3_az = "ErGw3AZ" + + +class VirtualNetworkGatewaySkuTier(str, Enum): + + basic = "Basic" + high_performance = "HighPerformance" + standard = "Standard" + ultra_performance = "UltraPerformance" + vpn_gw1 = "VpnGw1" + vpn_gw2 = "VpnGw2" + vpn_gw3 = "VpnGw3" + vpn_gw4 = "VpnGw4" + vpn_gw5 = "VpnGw5" + vpn_gw1_az = "VpnGw1AZ" + vpn_gw2_az = "VpnGw2AZ" + vpn_gw3_az = "VpnGw3AZ" + vpn_gw4_az = "VpnGw4AZ" + vpn_gw5_az = "VpnGw5AZ" + er_gw1_az = "ErGw1AZ" + er_gw2_az = "ErGw2AZ" + er_gw3_az = "ErGw3AZ" + + +class VpnClientProtocol(str, Enum): + + ike_v2 = "IkeV2" + sstp = "SSTP" + open_vpn = "OpenVPN" + + +class IpsecEncryption(str, Enum): + + none = "None" + des = "DES" + des3 = "DES3" + aes128 = "AES128" + aes192 = "AES192" + aes256 = "AES256" + gcmaes128 = "GCMAES128" + gcmaes192 = "GCMAES192" + gcmaes256 = "GCMAES256" + + +class IpsecIntegrity(str, Enum): + + md5 = "MD5" + sha1 = "SHA1" + sha256 = "SHA256" + gcmaes128 = "GCMAES128" + gcmaes192 = "GCMAES192" + gcmaes256 = "GCMAES256" + + +class IkeEncryption(str, Enum): + + des = "DES" + des3 = "DES3" + aes128 = "AES128" + aes192 = "AES192" + aes256 = "AES256" + gcmaes256 = "GCMAES256" + gcmaes128 = "GCMAES128" + + +class IkeIntegrity(str, Enum): + + md5 = "MD5" + sha1 = "SHA1" + sha256 = "SHA256" + sha384 = "SHA384" + gcmaes256 = "GCMAES256" + gcmaes128 = "GCMAES128" + + +class DhGroup(str, Enum): + + none = "None" + dh_group1 = "DHGroup1" + dh_group2 = "DHGroup2" + dh_group14 = "DHGroup14" + dh_group2048 = "DHGroup2048" + ecp256 = "ECP256" + ecp384 = "ECP384" + dh_group24 = "DHGroup24" + + +class PfsGroup(str, Enum): + + none = "None" + pfs1 = "PFS1" + pfs2 = "PFS2" + pfs2048 = "PFS2048" + ecp256 = "ECP256" + ecp384 = "ECP384" + pfs24 = "PFS24" + pfs14 = "PFS14" + pfsmm = "PFSMM" + + +class BgpPeerState(str, Enum): + + unknown = "Unknown" + stopped = "Stopped" + idle = "Idle" + connecting = "Connecting" + connected = "Connected" + + +class ProcessorArchitecture(str, Enum): + + amd64 = "Amd64" + x86 = "X86" + + +class VirtualNetworkGatewayConnectionStatus(str, Enum): + + unknown = "Unknown" + connecting = "Connecting" + connected = "Connected" + not_connected = "NotConnected" + + +class VirtualNetworkGatewayConnectionType(str, Enum): + + ipsec = "IPsec" + vnet2_vnet = "Vnet2Vnet" + express_route = "ExpressRoute" + vpn_client = "VPNClient" + + +class VirtualNetworkGatewayConnectionProtocol(str, Enum): + + ik_ev2 = "IKEv2" + ik_ev1 = "IKEv1" + + +class OfficeTrafficCategory(str, Enum): + + optimize = "Optimize" + optimize_and_allow = "OptimizeAndAllow" + all = "All" + none = "None" + + +class VpnConnectionStatus(str, Enum): + + unknown = "Unknown" + connecting = "Connecting" + connected = "Connected" + not_connected = "NotConnected" + + +class VirtualWanSecurityProviderType(str, Enum): + + external = "External" + native = "Native" + + +class TunnelConnectionStatus(str, Enum): + + unknown = "Unknown" + connecting = "Connecting" + connected = "Connected" + not_connected = "NotConnected" + + +class HubVirtualNetworkConnectionStatus(str, Enum): + + unknown = "Unknown" + connecting = "Connecting" + connected = "Connected" + not_connected = "NotConnected" + + +class VpnGatewayTunnelingProtocol(str, Enum): + + ike_v2 = "IkeV2" + open_vpn = "OpenVPN" + + +class VpnAuthenticationType(str, Enum): + + certificate = "Certificate" + radius = "Radius" + aad = "AAD" + + +class WebApplicationFirewallEnabledState(str, Enum): + + disabled = "Disabled" + enabled = "Enabled" + + +class WebApplicationFirewallMode(str, Enum): + + prevention = "Prevention" + detection = "Detection" + + +class WebApplicationFirewallRuleType(str, Enum): + + match_rule = "MatchRule" + invalid = "Invalid" + + +class WebApplicationFirewallMatchVariable(str, Enum): + + remote_addr = "RemoteAddr" + request_method = "RequestMethod" + query_string = "QueryString" + post_args = "PostArgs" + request_uri = "RequestUri" + request_headers = "RequestHeaders" + request_body = "RequestBody" + request_cookies = "RequestCookies" + + +class WebApplicationFirewallOperator(str, Enum): + + ip_match = "IPMatch" + equal = "Equal" + contains = "Contains" + less_than = "LessThan" + greater_than = "GreaterThan" + less_than_or_equal = "LessThanOrEqual" + greater_than_or_equal = "GreaterThanOrEqual" + begins_with = "BeginsWith" + ends_with = "EndsWith" + regex = "Regex" + geo_match = "GeoMatch" + + +class WebApplicationFirewallTransform(str, Enum): + + lowercase = "Lowercase" + trim = "Trim" + url_decode = "UrlDecode" + url_encode = "UrlEncode" + remove_nulls = "RemoveNulls" + html_entity_decode = "HtmlEntityDecode" + + +class WebApplicationFirewallAction(str, Enum): + + allow = "Allow" + block = "Block" + log = "Log" + + +class WebApplicationFirewallPolicyResourceState(str, Enum): + + creating = "Creating" + enabling = "Enabling" + enabled = "Enabled" + disabling = "Disabling" + disabled = "Disabled" + deleting = "Deleting" + + +class OwaspCrsExclusionEntryMatchVariable(str, Enum): + + request_header_names = "RequestHeaderNames" + request_cookie_names = "RequestCookieNames" + request_arg_names = "RequestArgNames" + + +class OwaspCrsExclusionEntrySelectorMatchOperator(str, Enum): + + equals = "Equals" + contains = "Contains" + starts_with = "StartsWith" + ends_with = "EndsWith" + equals_any = "EqualsAny" + + +class ManagedRuleEnabledState(str, Enum): + + disabled = "Disabled" diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/models/_paged_models.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/models/_paged_models.py new file mode 100644 index 00000000000..30cf3b9af82 --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/models/_paged_models.py @@ -0,0 +1,1158 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.paging import Paged + + +class ApplicationGatewayPaged(Paged): + """ + A paging container for iterating over a list of :class:`ApplicationGateway ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ApplicationGateway]'} + } + + def __init__(self, *args, **kwargs): + + super(ApplicationGatewayPaged, self).__init__(*args, **kwargs) +class ApplicationGatewaySslPredefinedPolicyPaged(Paged): + """ + A paging container for iterating over a list of :class:`ApplicationGatewaySslPredefinedPolicy ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ApplicationGatewaySslPredefinedPolicy]'} + } + + def __init__(self, *args, **kwargs): + + super(ApplicationGatewaySslPredefinedPolicyPaged, self).__init__(*args, **kwargs) +class ApplicationSecurityGroupPaged(Paged): + """ + A paging container for iterating over a list of :class:`ApplicationSecurityGroup ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ApplicationSecurityGroup]'} + } + + def __init__(self, *args, **kwargs): + + super(ApplicationSecurityGroupPaged, self).__init__(*args, **kwargs) +class AvailableDelegationPaged(Paged): + """ + A paging container for iterating over a list of :class:`AvailableDelegation ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[AvailableDelegation]'} + } + + def __init__(self, *args, **kwargs): + + super(AvailableDelegationPaged, self).__init__(*args, **kwargs) +class AvailableServiceAliasPaged(Paged): + """ + A paging container for iterating over a list of :class:`AvailableServiceAlias ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[AvailableServiceAlias]'} + } + + def __init__(self, *args, **kwargs): + + super(AvailableServiceAliasPaged, self).__init__(*args, **kwargs) +class AzureFirewallPaged(Paged): + """ + A paging container for iterating over a list of :class:`AzureFirewall ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[AzureFirewall]'} + } + + def __init__(self, *args, **kwargs): + + super(AzureFirewallPaged, self).__init__(*args, **kwargs) +class AzureFirewallFqdnTagPaged(Paged): + """ + A paging container for iterating over a list of :class:`AzureFirewallFqdnTag ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[AzureFirewallFqdnTag]'} + } + + def __init__(self, *args, **kwargs): + + super(AzureFirewallFqdnTagPaged, self).__init__(*args, **kwargs) +class BastionHostPaged(Paged): + """ + A paging container for iterating over a list of :class:`BastionHost ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[BastionHost]'} + } + + def __init__(self, *args, **kwargs): + + super(BastionHostPaged, self).__init__(*args, **kwargs) +class BastionShareableLinkPaged(Paged): + """ + A paging container for iterating over a list of :class:`BastionShareableLink ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[BastionShareableLink]'} + } + + def __init__(self, *args, **kwargs): + + super(BastionShareableLinkPaged, self).__init__(*args, **kwargs) +class BastionSessionStatePaged(Paged): + """ + A paging container for iterating over a list of :class:`BastionSessionState ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[BastionSessionState]'} + } + + def __init__(self, *args, **kwargs): + + super(BastionSessionStatePaged, self).__init__(*args, **kwargs) +class DdosProtectionPlanPaged(Paged): + """ + A paging container for iterating over a list of :class:`DdosProtectionPlan ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[DdosProtectionPlan]'} + } + + def __init__(self, *args, **kwargs): + + super(DdosProtectionPlanPaged, self).__init__(*args, **kwargs) +class EndpointServiceResultPaged(Paged): + """ + A paging container for iterating over a list of :class:`EndpointServiceResult ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[EndpointServiceResult]'} + } + + def __init__(self, *args, **kwargs): + + super(EndpointServiceResultPaged, self).__init__(*args, **kwargs) +class ExpressRouteCircuitAuthorizationPaged(Paged): + """ + A paging container for iterating over a list of :class:`ExpressRouteCircuitAuthorization ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ExpressRouteCircuitAuthorization]'} + } + + def __init__(self, *args, **kwargs): + + super(ExpressRouteCircuitAuthorizationPaged, self).__init__(*args, **kwargs) +class ExpressRouteCircuitPeeringPaged(Paged): + """ + A paging container for iterating over a list of :class:`ExpressRouteCircuitPeering ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ExpressRouteCircuitPeering]'} + } + + def __init__(self, *args, **kwargs): + + super(ExpressRouteCircuitPeeringPaged, self).__init__(*args, **kwargs) +class ExpressRouteCircuitConnectionPaged(Paged): + """ + A paging container for iterating over a list of :class:`ExpressRouteCircuitConnection ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ExpressRouteCircuitConnection]'} + } + + def __init__(self, *args, **kwargs): + + super(ExpressRouteCircuitConnectionPaged, self).__init__(*args, **kwargs) +class PeerExpressRouteCircuitConnectionPaged(Paged): + """ + A paging container for iterating over a list of :class:`PeerExpressRouteCircuitConnection ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[PeerExpressRouteCircuitConnection]'} + } + + def __init__(self, *args, **kwargs): + + super(PeerExpressRouteCircuitConnectionPaged, self).__init__(*args, **kwargs) +class ExpressRouteCircuitPaged(Paged): + """ + A paging container for iterating over a list of :class:`ExpressRouteCircuit ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ExpressRouteCircuit]'} + } + + def __init__(self, *args, **kwargs): + + super(ExpressRouteCircuitPaged, self).__init__(*args, **kwargs) +class ExpressRouteServiceProviderPaged(Paged): + """ + A paging container for iterating over a list of :class:`ExpressRouteServiceProvider ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ExpressRouteServiceProvider]'} + } + + def __init__(self, *args, **kwargs): + + super(ExpressRouteServiceProviderPaged, self).__init__(*args, **kwargs) +class ExpressRouteCrossConnectionPaged(Paged): + """ + A paging container for iterating over a list of :class:`ExpressRouteCrossConnection ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ExpressRouteCrossConnection]'} + } + + def __init__(self, *args, **kwargs): + + super(ExpressRouteCrossConnectionPaged, self).__init__(*args, **kwargs) +class ExpressRouteCrossConnectionPeeringPaged(Paged): + """ + A paging container for iterating over a list of :class:`ExpressRouteCrossConnectionPeering ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ExpressRouteCrossConnectionPeering]'} + } + + def __init__(self, *args, **kwargs): + + super(ExpressRouteCrossConnectionPeeringPaged, self).__init__(*args, **kwargs) +class ExpressRoutePortsLocationPaged(Paged): + """ + A paging container for iterating over a list of :class:`ExpressRoutePortsLocation ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ExpressRoutePortsLocation]'} + } + + def __init__(self, *args, **kwargs): + + super(ExpressRoutePortsLocationPaged, self).__init__(*args, **kwargs) +class ExpressRoutePortPaged(Paged): + """ + A paging container for iterating over a list of :class:`ExpressRoutePort ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ExpressRoutePort]'} + } + + def __init__(self, *args, **kwargs): + + super(ExpressRoutePortPaged, self).__init__(*args, **kwargs) +class ExpressRouteLinkPaged(Paged): + """ + A paging container for iterating over a list of :class:`ExpressRouteLink ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ExpressRouteLink]'} + } + + def __init__(self, *args, **kwargs): + + super(ExpressRouteLinkPaged, self).__init__(*args, **kwargs) +class FirewallPolicyPaged(Paged): + """ + A paging container for iterating over a list of :class:`FirewallPolicy ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[FirewallPolicy]'} + } + + def __init__(self, *args, **kwargs): + + super(FirewallPolicyPaged, self).__init__(*args, **kwargs) +class FirewallPolicyRuleGroupPaged(Paged): + """ + A paging container for iterating over a list of :class:`FirewallPolicyRuleGroup ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[FirewallPolicyRuleGroup]'} + } + + def __init__(self, *args, **kwargs): + + super(FirewallPolicyRuleGroupPaged, self).__init__(*args, **kwargs) +class IpAllocationPaged(Paged): + """ + A paging container for iterating over a list of :class:`IpAllocation ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[IpAllocation]'} + } + + def __init__(self, *args, **kwargs): + + super(IpAllocationPaged, self).__init__(*args, **kwargs) +class IpGroupPaged(Paged): + """ + A paging container for iterating over a list of :class:`IpGroup ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[IpGroup]'} + } + + def __init__(self, *args, **kwargs): + + super(IpGroupPaged, self).__init__(*args, **kwargs) +class LoadBalancerPaged(Paged): + """ + A paging container for iterating over a list of :class:`LoadBalancer ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[LoadBalancer]'} + } + + def __init__(self, *args, **kwargs): + + super(LoadBalancerPaged, self).__init__(*args, **kwargs) +class BackendAddressPoolPaged(Paged): + """ + A paging container for iterating over a list of :class:`BackendAddressPool ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[BackendAddressPool]'} + } + + def __init__(self, *args, **kwargs): + + super(BackendAddressPoolPaged, self).__init__(*args, **kwargs) +class FrontendIPConfigurationPaged(Paged): + """ + A paging container for iterating over a list of :class:`FrontendIPConfiguration ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[FrontendIPConfiguration]'} + } + + def __init__(self, *args, **kwargs): + + super(FrontendIPConfigurationPaged, self).__init__(*args, **kwargs) +class InboundNatRulePaged(Paged): + """ + A paging container for iterating over a list of :class:`InboundNatRule ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[InboundNatRule]'} + } + + def __init__(self, *args, **kwargs): + + super(InboundNatRulePaged, self).__init__(*args, **kwargs) +class LoadBalancingRulePaged(Paged): + """ + A paging container for iterating over a list of :class:`LoadBalancingRule ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[LoadBalancingRule]'} + } + + def __init__(self, *args, **kwargs): + + super(LoadBalancingRulePaged, self).__init__(*args, **kwargs) +class OutboundRulePaged(Paged): + """ + A paging container for iterating over a list of :class:`OutboundRule ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[OutboundRule]'} + } + + def __init__(self, *args, **kwargs): + + super(OutboundRulePaged, self).__init__(*args, **kwargs) +class NetworkInterfacePaged(Paged): + """ + A paging container for iterating over a list of :class:`NetworkInterface ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[NetworkInterface]'} + } + + def __init__(self, *args, **kwargs): + + super(NetworkInterfacePaged, self).__init__(*args, **kwargs) +class ProbePaged(Paged): + """ + A paging container for iterating over a list of :class:`Probe ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[Probe]'} + } + + def __init__(self, *args, **kwargs): + + super(ProbePaged, self).__init__(*args, **kwargs) +class NatGatewayPaged(Paged): + """ + A paging container for iterating over a list of :class:`NatGateway ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[NatGateway]'} + } + + def __init__(self, *args, **kwargs): + + super(NatGatewayPaged, self).__init__(*args, **kwargs) +class NetworkInterfaceIPConfigurationPaged(Paged): + """ + A paging container for iterating over a list of :class:`NetworkInterfaceIPConfiguration ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[NetworkInterfaceIPConfiguration]'} + } + + def __init__(self, *args, **kwargs): + + super(NetworkInterfaceIPConfigurationPaged, self).__init__(*args, **kwargs) +class NetworkInterfaceTapConfigurationPaged(Paged): + """ + A paging container for iterating over a list of :class:`NetworkInterfaceTapConfiguration ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[NetworkInterfaceTapConfiguration]'} + } + + def __init__(self, *args, **kwargs): + + super(NetworkInterfaceTapConfigurationPaged, self).__init__(*args, **kwargs) +class NetworkProfilePaged(Paged): + """ + A paging container for iterating over a list of :class:`NetworkProfile ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[NetworkProfile]'} + } + + def __init__(self, *args, **kwargs): + + super(NetworkProfilePaged, self).__init__(*args, **kwargs) +class NetworkSecurityGroupPaged(Paged): + """ + A paging container for iterating over a list of :class:`NetworkSecurityGroup ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[NetworkSecurityGroup]'} + } + + def __init__(self, *args, **kwargs): + + super(NetworkSecurityGroupPaged, self).__init__(*args, **kwargs) +class SecurityRulePaged(Paged): + """ + A paging container for iterating over a list of :class:`SecurityRule ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[SecurityRule]'} + } + + def __init__(self, *args, **kwargs): + + super(SecurityRulePaged, self).__init__(*args, **kwargs) +class NetworkVirtualAppliancePaged(Paged): + """ + A paging container for iterating over a list of :class:`NetworkVirtualAppliance ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[NetworkVirtualAppliance]'} + } + + def __init__(self, *args, **kwargs): + + super(NetworkVirtualAppliancePaged, self).__init__(*args, **kwargs) +class NetworkWatcherPaged(Paged): + """ + A paging container for iterating over a list of :class:`NetworkWatcher ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[NetworkWatcher]'} + } + + def __init__(self, *args, **kwargs): + + super(NetworkWatcherPaged, self).__init__(*args, **kwargs) +class PacketCaptureResultPaged(Paged): + """ + A paging container for iterating over a list of :class:`PacketCaptureResult ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[PacketCaptureResult]'} + } + + def __init__(self, *args, **kwargs): + + super(PacketCaptureResultPaged, self).__init__(*args, **kwargs) +class ConnectionMonitorResultPaged(Paged): + """ + A paging container for iterating over a list of :class:`ConnectionMonitorResult ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ConnectionMonitorResult]'} + } + + def __init__(self, *args, **kwargs): + + super(ConnectionMonitorResultPaged, self).__init__(*args, **kwargs) +class FlowLogPaged(Paged): + """ + A paging container for iterating over a list of :class:`FlowLog ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[FlowLog]'} + } + + def __init__(self, *args, **kwargs): + + super(FlowLogPaged, self).__init__(*args, **kwargs) +class OperationPaged(Paged): + """ + A paging container for iterating over a list of :class:`Operation ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[Operation]'} + } + + def __init__(self, *args, **kwargs): + + super(OperationPaged, self).__init__(*args, **kwargs) +class PrivateEndpointPaged(Paged): + """ + A paging container for iterating over a list of :class:`PrivateEndpoint ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[PrivateEndpoint]'} + } + + def __init__(self, *args, **kwargs): + + super(PrivateEndpointPaged, self).__init__(*args, **kwargs) +class AvailablePrivateEndpointTypePaged(Paged): + """ + A paging container for iterating over a list of :class:`AvailablePrivateEndpointType ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[AvailablePrivateEndpointType]'} + } + + def __init__(self, *args, **kwargs): + + super(AvailablePrivateEndpointTypePaged, self).__init__(*args, **kwargs) +class PrivateDnsZoneGroupPaged(Paged): + """ + A paging container for iterating over a list of :class:`PrivateDnsZoneGroup ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[PrivateDnsZoneGroup]'} + } + + def __init__(self, *args, **kwargs): + + super(PrivateDnsZoneGroupPaged, self).__init__(*args, **kwargs) +class PrivateLinkServicePaged(Paged): + """ + A paging container for iterating over a list of :class:`PrivateLinkService ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[PrivateLinkService]'} + } + + def __init__(self, *args, **kwargs): + + super(PrivateLinkServicePaged, self).__init__(*args, **kwargs) +class PrivateEndpointConnectionPaged(Paged): + """ + A paging container for iterating over a list of :class:`PrivateEndpointConnection ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[PrivateEndpointConnection]'} + } + + def __init__(self, *args, **kwargs): + + super(PrivateEndpointConnectionPaged, self).__init__(*args, **kwargs) +class AutoApprovedPrivateLinkServicePaged(Paged): + """ + A paging container for iterating over a list of :class:`AutoApprovedPrivateLinkService ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[AutoApprovedPrivateLinkService]'} + } + + def __init__(self, *args, **kwargs): + + super(AutoApprovedPrivateLinkServicePaged, self).__init__(*args, **kwargs) +class PublicIPAddressPaged(Paged): + """ + A paging container for iterating over a list of :class:`PublicIPAddress ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[PublicIPAddress]'} + } + + def __init__(self, *args, **kwargs): + + super(PublicIPAddressPaged, self).__init__(*args, **kwargs) +class PublicIPPrefixPaged(Paged): + """ + A paging container for iterating over a list of :class:`PublicIPPrefix ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[PublicIPPrefix]'} + } + + def __init__(self, *args, **kwargs): + + super(PublicIPPrefixPaged, self).__init__(*args, **kwargs) +class RouteFilterPaged(Paged): + """ + A paging container for iterating over a list of :class:`RouteFilter ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[RouteFilter]'} + } + + def __init__(self, *args, **kwargs): + + super(RouteFilterPaged, self).__init__(*args, **kwargs) +class RouteFilterRulePaged(Paged): + """ + A paging container for iterating over a list of :class:`RouteFilterRule ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[RouteFilterRule]'} + } + + def __init__(self, *args, **kwargs): + + super(RouteFilterRulePaged, self).__init__(*args, **kwargs) +class RouteTablePaged(Paged): + """ + A paging container for iterating over a list of :class:`RouteTable ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[RouteTable]'} + } + + def __init__(self, *args, **kwargs): + + super(RouteTablePaged, self).__init__(*args, **kwargs) +class RoutePaged(Paged): + """ + A paging container for iterating over a list of :class:`Route ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[Route]'} + } + + def __init__(self, *args, **kwargs): + + super(RoutePaged, self).__init__(*args, **kwargs) +class SecurityPartnerProviderPaged(Paged): + """ + A paging container for iterating over a list of :class:`SecurityPartnerProvider ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[SecurityPartnerProvider]'} + } + + def __init__(self, *args, **kwargs): + + super(SecurityPartnerProviderPaged, self).__init__(*args, **kwargs) +class BgpServiceCommunityPaged(Paged): + """ + A paging container for iterating over a list of :class:`BgpServiceCommunity ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[BgpServiceCommunity]'} + } + + def __init__(self, *args, **kwargs): + + super(BgpServiceCommunityPaged, self).__init__(*args, **kwargs) +class ServiceEndpointPolicyPaged(Paged): + """ + A paging container for iterating over a list of :class:`ServiceEndpointPolicy ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ServiceEndpointPolicy]'} + } + + def __init__(self, *args, **kwargs): + + super(ServiceEndpointPolicyPaged, self).__init__(*args, **kwargs) +class ServiceEndpointPolicyDefinitionPaged(Paged): + """ + A paging container for iterating over a list of :class:`ServiceEndpointPolicyDefinition ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ServiceEndpointPolicyDefinition]'} + } + + def __init__(self, *args, **kwargs): + + super(ServiceEndpointPolicyDefinitionPaged, self).__init__(*args, **kwargs) +class UsagePaged(Paged): + """ + A paging container for iterating over a list of :class:`Usage ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[Usage]'} + } + + def __init__(self, *args, **kwargs): + + super(UsagePaged, self).__init__(*args, **kwargs) +class VirtualNetworkPaged(Paged): + """ + A paging container for iterating over a list of :class:`VirtualNetwork ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[VirtualNetwork]'} + } + + def __init__(self, *args, **kwargs): + + super(VirtualNetworkPaged, self).__init__(*args, **kwargs) +class VirtualNetworkUsagePaged(Paged): + """ + A paging container for iterating over a list of :class:`VirtualNetworkUsage ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[VirtualNetworkUsage]'} + } + + def __init__(self, *args, **kwargs): + + super(VirtualNetworkUsagePaged, self).__init__(*args, **kwargs) +class SubnetPaged(Paged): + """ + A paging container for iterating over a list of :class:`Subnet ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[Subnet]'} + } + + def __init__(self, *args, **kwargs): + + super(SubnetPaged, self).__init__(*args, **kwargs) +class VirtualNetworkPeeringPaged(Paged): + """ + A paging container for iterating over a list of :class:`VirtualNetworkPeering ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[VirtualNetworkPeering]'} + } + + def __init__(self, *args, **kwargs): + + super(VirtualNetworkPeeringPaged, self).__init__(*args, **kwargs) +class VirtualNetworkGatewayPaged(Paged): + """ + A paging container for iterating over a list of :class:`VirtualNetworkGateway ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[VirtualNetworkGateway]'} + } + + def __init__(self, *args, **kwargs): + + super(VirtualNetworkGatewayPaged, self).__init__(*args, **kwargs) +class VirtualNetworkGatewayConnectionListEntityPaged(Paged): + """ + A paging container for iterating over a list of :class:`VirtualNetworkGatewayConnectionListEntity ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[VirtualNetworkGatewayConnectionListEntity]'} + } + + def __init__(self, *args, **kwargs): + + super(VirtualNetworkGatewayConnectionListEntityPaged, self).__init__(*args, **kwargs) +class VirtualNetworkGatewayConnectionPaged(Paged): + """ + A paging container for iterating over a list of :class:`VirtualNetworkGatewayConnection ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[VirtualNetworkGatewayConnection]'} + } + + def __init__(self, *args, **kwargs): + + super(VirtualNetworkGatewayConnectionPaged, self).__init__(*args, **kwargs) +class LocalNetworkGatewayPaged(Paged): + """ + A paging container for iterating over a list of :class:`LocalNetworkGateway ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[LocalNetworkGateway]'} + } + + def __init__(self, *args, **kwargs): + + super(LocalNetworkGatewayPaged, self).__init__(*args, **kwargs) +class VirtualNetworkTapPaged(Paged): + """ + A paging container for iterating over a list of :class:`VirtualNetworkTap ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[VirtualNetworkTap]'} + } + + def __init__(self, *args, **kwargs): + + super(VirtualNetworkTapPaged, self).__init__(*args, **kwargs) +class VirtualRouterPaged(Paged): + """ + A paging container for iterating over a list of :class:`VirtualRouter ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[VirtualRouter]'} + } + + def __init__(self, *args, **kwargs): + + super(VirtualRouterPaged, self).__init__(*args, **kwargs) +class VirtualRouterPeeringPaged(Paged): + """ + A paging container for iterating over a list of :class:`VirtualRouterPeering ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[VirtualRouterPeering]'} + } + + def __init__(self, *args, **kwargs): + + super(VirtualRouterPeeringPaged, self).__init__(*args, **kwargs) +class VirtualWANPaged(Paged): + """ + A paging container for iterating over a list of :class:`VirtualWAN ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[VirtualWAN]'} + } + + def __init__(self, *args, **kwargs): + + super(VirtualWANPaged, self).__init__(*args, **kwargs) +class VpnSitePaged(Paged): + """ + A paging container for iterating over a list of :class:`VpnSite ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[VpnSite]'} + } + + def __init__(self, *args, **kwargs): + + super(VpnSitePaged, self).__init__(*args, **kwargs) +class VpnSiteLinkPaged(Paged): + """ + A paging container for iterating over a list of :class:`VpnSiteLink ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[VpnSiteLink]'} + } + + def __init__(self, *args, **kwargs): + + super(VpnSiteLinkPaged, self).__init__(*args, **kwargs) +class VpnServerConfigurationPaged(Paged): + """ + A paging container for iterating over a list of :class:`VpnServerConfiguration ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[VpnServerConfiguration]'} + } + + def __init__(self, *args, **kwargs): + + super(VpnServerConfigurationPaged, self).__init__(*args, **kwargs) +class VirtualHubPaged(Paged): + """ + A paging container for iterating over a list of :class:`VirtualHub ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[VirtualHub]'} + } + + def __init__(self, *args, **kwargs): + + super(VirtualHubPaged, self).__init__(*args, **kwargs) +class HubVirtualNetworkConnectionPaged(Paged): + """ + A paging container for iterating over a list of :class:`HubVirtualNetworkConnection ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[HubVirtualNetworkConnection]'} + } + + def __init__(self, *args, **kwargs): + + super(HubVirtualNetworkConnectionPaged, self).__init__(*args, **kwargs) +class VpnGatewayPaged(Paged): + """ + A paging container for iterating over a list of :class:`VpnGateway ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[VpnGateway]'} + } + + def __init__(self, *args, **kwargs): + + super(VpnGatewayPaged, self).__init__(*args, **kwargs) +class VpnConnectionPaged(Paged): + """ + A paging container for iterating over a list of :class:`VpnConnection ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[VpnConnection]'} + } + + def __init__(self, *args, **kwargs): + + super(VpnConnectionPaged, self).__init__(*args, **kwargs) +class VpnSiteLinkConnectionPaged(Paged): + """ + A paging container for iterating over a list of :class:`VpnSiteLinkConnection ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[VpnSiteLinkConnection]'} + } + + def __init__(self, *args, **kwargs): + + super(VpnSiteLinkConnectionPaged, self).__init__(*args, **kwargs) +class P2SVpnGatewayPaged(Paged): + """ + A paging container for iterating over a list of :class:`P2SVpnGateway ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[P2SVpnGateway]'} + } + + def __init__(self, *args, **kwargs): + + super(P2SVpnGatewayPaged, self).__init__(*args, **kwargs) +class VirtualHubRouteTableV2Paged(Paged): + """ + A paging container for iterating over a list of :class:`VirtualHubRouteTableV2 ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[VirtualHubRouteTableV2]'} + } + + def __init__(self, *args, **kwargs): + + super(VirtualHubRouteTableV2Paged, self).__init__(*args, **kwargs) +class HubRouteTablePaged(Paged): + """ + A paging container for iterating over a list of :class:`HubRouteTable ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[HubRouteTable]'} + } + + def __init__(self, *args, **kwargs): + + super(HubRouteTablePaged, self).__init__(*args, **kwargs) +class WebApplicationFirewallPolicyPaged(Paged): + """ + A paging container for iterating over a list of :class:`WebApplicationFirewallPolicy ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[WebApplicationFirewallPolicy]'} + } + + def __init__(self, *args, **kwargs): + + super(WebApplicationFirewallPolicyPaged, self).__init__(*args, **kwargs) diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/__init__.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/__init__.py new file mode 100644 index 00000000000..7d8065d421e --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/__init__.py @@ -0,0 +1,204 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from ._application_gateways_operations import ApplicationGatewaysOperations +from ._application_security_groups_operations import ApplicationSecurityGroupsOperations +from ._available_delegations_operations import AvailableDelegationsOperations +from ._available_resource_group_delegations_operations import AvailableResourceGroupDelegationsOperations +from ._available_service_aliases_operations import AvailableServiceAliasesOperations +from ._azure_firewalls_operations import AzureFirewallsOperations +from ._azure_firewall_fqdn_tags_operations import AzureFirewallFqdnTagsOperations +from ._bastion_hosts_operations import BastionHostsOperations +from ._ddos_custom_policies_operations import DdosCustomPoliciesOperations +from ._ddos_protection_plans_operations import DdosProtectionPlansOperations +from ._available_endpoint_services_operations import AvailableEndpointServicesOperations +from ._express_route_circuit_authorizations_operations import ExpressRouteCircuitAuthorizationsOperations +from ._express_route_circuit_peerings_operations import ExpressRouteCircuitPeeringsOperations +from ._express_route_circuit_connections_operations import ExpressRouteCircuitConnectionsOperations +from ._peer_express_route_circuit_connections_operations import PeerExpressRouteCircuitConnectionsOperations +from ._express_route_circuits_operations import ExpressRouteCircuitsOperations +from ._express_route_service_providers_operations import ExpressRouteServiceProvidersOperations +from ._express_route_cross_connections_operations import ExpressRouteCrossConnectionsOperations +from ._express_route_cross_connection_peerings_operations import ExpressRouteCrossConnectionPeeringsOperations +from ._express_route_ports_locations_operations import ExpressRoutePortsLocationsOperations +from ._express_route_ports_operations import ExpressRoutePortsOperations +from ._express_route_links_operations import ExpressRouteLinksOperations +from ._firewall_policies_operations import FirewallPoliciesOperations +from ._firewall_policy_rule_groups_operations import FirewallPolicyRuleGroupsOperations +from ._ip_allocations_operations import IpAllocationsOperations +from ._ip_groups_operations import IpGroupsOperations +from ._load_balancers_operations import LoadBalancersOperations +from ._load_balancer_backend_address_pools_operations import LoadBalancerBackendAddressPoolsOperations +from ._load_balancer_frontend_ip_configurations_operations import LoadBalancerFrontendIPConfigurationsOperations +from ._inbound_nat_rules_operations import InboundNatRulesOperations +from ._load_balancer_load_balancing_rules_operations import LoadBalancerLoadBalancingRulesOperations +from ._load_balancer_outbound_rules_operations import LoadBalancerOutboundRulesOperations +from ._load_balancer_network_interfaces_operations import LoadBalancerNetworkInterfacesOperations +from ._load_balancer_probes_operations import LoadBalancerProbesOperations +from ._nat_gateways_operations import NatGatewaysOperations +from ._network_interfaces_operations import NetworkInterfacesOperations +from ._network_interface_ip_configurations_operations import NetworkInterfaceIPConfigurationsOperations +from ._network_interface_load_balancers_operations import NetworkInterfaceLoadBalancersOperations +from ._network_interface_tap_configurations_operations import NetworkInterfaceTapConfigurationsOperations +from ._network_profiles_operations import NetworkProfilesOperations +from ._network_security_groups_operations import NetworkSecurityGroupsOperations +from ._security_rules_operations import SecurityRulesOperations +from ._default_security_rules_operations import DefaultSecurityRulesOperations +from ._network_virtual_appliances_operations import NetworkVirtualAppliancesOperations +from ._network_watchers_operations import NetworkWatchersOperations +from ._packet_captures_operations import PacketCapturesOperations +from ._connection_monitors_operations import ConnectionMonitorsOperations +from ._flow_logs_operations import FlowLogsOperations +from ._operations import Operations +from ._private_endpoints_operations import PrivateEndpointsOperations +from ._available_private_endpoint_types_operations import AvailablePrivateEndpointTypesOperations +from ._private_dns_zone_groups_operations import PrivateDnsZoneGroupsOperations +from ._private_link_services_operations import PrivateLinkServicesOperations +from ._public_ip_addresses_operations import PublicIPAddressesOperations +from ._public_ip_prefixes_operations import PublicIPPrefixesOperations +from ._route_filters_operations import RouteFiltersOperations +from ._route_filter_rules_operations import RouteFilterRulesOperations +from ._route_tables_operations import RouteTablesOperations +from ._routes_operations import RoutesOperations +from ._security_partner_providers_operations import SecurityPartnerProvidersOperations +from ._bgp_service_communities_operations import BgpServiceCommunitiesOperations +from ._service_endpoint_policies_operations import ServiceEndpointPoliciesOperations +from ._service_endpoint_policy_definitions_operations import ServiceEndpointPolicyDefinitionsOperations +from ._service_tags_operations import ServiceTagsOperations +from ._usages_operations import UsagesOperations +from ._virtual_networks_operations import VirtualNetworksOperations +from ._subnets_operations import SubnetsOperations +from ._resource_navigation_links_operations import ResourceNavigationLinksOperations +from ._service_association_links_operations import ServiceAssociationLinksOperations +from ._virtual_network_peerings_operations import VirtualNetworkPeeringsOperations +from ._virtual_network_gateways_operations import VirtualNetworkGatewaysOperations +from ._virtual_network_gateway_connections_operations import VirtualNetworkGatewayConnectionsOperations +from ._local_network_gateways_operations import LocalNetworkGatewaysOperations +from ._virtual_network_taps_operations import VirtualNetworkTapsOperations +from ._virtual_routers_operations import VirtualRoutersOperations +from ._virtual_router_peerings_operations import VirtualRouterPeeringsOperations +from ._virtual_wans_operations import VirtualWansOperations +from ._vpn_sites_operations import VpnSitesOperations +from ._vpn_site_links_operations import VpnSiteLinksOperations +from ._vpn_sites_configuration_operations import VpnSitesConfigurationOperations +from ._vpn_server_configurations_operations import VpnServerConfigurationsOperations +from ._virtual_hubs_operations import VirtualHubsOperations +from ._hub_virtual_network_connections_operations import HubVirtualNetworkConnectionsOperations +from ._vpn_gateways_operations import VpnGatewaysOperations +from ._vpn_connections_operations import VpnConnectionsOperations +from ._vpn_site_link_connections_operations import VpnSiteLinkConnectionsOperations +from ._vpn_link_connections_operations import VpnLinkConnectionsOperations +from ._p2s_vpn_gateways_operations import P2sVpnGatewaysOperations +from ._vpn_server_configurations_associated_with_virtual_wan_operations import VpnServerConfigurationsAssociatedWithVirtualWanOperations +from ._virtual_hub_route_table_v2s_operations import VirtualHubRouteTableV2sOperations +from ._express_route_gateways_operations import ExpressRouteGatewaysOperations +from ._express_route_connections_operations import ExpressRouteConnectionsOperations +from ._hub_route_tables_operations import HubRouteTablesOperations +from ._web_application_firewall_policies_operations import WebApplicationFirewallPoliciesOperations +from ._network_management_client_operations import NetworkManagementClientOperationsMixin + +__all__ = [ + 'ApplicationGatewaysOperations', + 'ApplicationSecurityGroupsOperations', + 'AvailableDelegationsOperations', + 'AvailableResourceGroupDelegationsOperations', + 'AvailableServiceAliasesOperations', + 'AzureFirewallsOperations', + 'AzureFirewallFqdnTagsOperations', + 'BastionHostsOperations', + 'DdosCustomPoliciesOperations', + 'DdosProtectionPlansOperations', + 'AvailableEndpointServicesOperations', + 'ExpressRouteCircuitAuthorizationsOperations', + 'ExpressRouteCircuitPeeringsOperations', + 'ExpressRouteCircuitConnectionsOperations', + 'PeerExpressRouteCircuitConnectionsOperations', + 'ExpressRouteCircuitsOperations', + 'ExpressRouteServiceProvidersOperations', + 'ExpressRouteCrossConnectionsOperations', + 'ExpressRouteCrossConnectionPeeringsOperations', + 'ExpressRoutePortsLocationsOperations', + 'ExpressRoutePortsOperations', + 'ExpressRouteLinksOperations', + 'FirewallPoliciesOperations', + 'FirewallPolicyRuleGroupsOperations', + 'IpAllocationsOperations', + 'IpGroupsOperations', + 'LoadBalancersOperations', + 'LoadBalancerBackendAddressPoolsOperations', + 'LoadBalancerFrontendIPConfigurationsOperations', + 'InboundNatRulesOperations', + 'LoadBalancerLoadBalancingRulesOperations', + 'LoadBalancerOutboundRulesOperations', + 'LoadBalancerNetworkInterfacesOperations', + 'LoadBalancerProbesOperations', + 'NatGatewaysOperations', + 'NetworkInterfacesOperations', + 'NetworkInterfaceIPConfigurationsOperations', + 'NetworkInterfaceLoadBalancersOperations', + 'NetworkInterfaceTapConfigurationsOperations', + 'NetworkProfilesOperations', + 'NetworkSecurityGroupsOperations', + 'SecurityRulesOperations', + 'DefaultSecurityRulesOperations', + 'NetworkVirtualAppliancesOperations', + 'NetworkWatchersOperations', + 'PacketCapturesOperations', + 'ConnectionMonitorsOperations', + 'FlowLogsOperations', + 'Operations', + 'PrivateEndpointsOperations', + 'AvailablePrivateEndpointTypesOperations', + 'PrivateDnsZoneGroupsOperations', + 'PrivateLinkServicesOperations', + 'PublicIPAddressesOperations', + 'PublicIPPrefixesOperations', + 'RouteFiltersOperations', + 'RouteFilterRulesOperations', + 'RouteTablesOperations', + 'RoutesOperations', + 'SecurityPartnerProvidersOperations', + 'BgpServiceCommunitiesOperations', + 'ServiceEndpointPoliciesOperations', + 'ServiceEndpointPolicyDefinitionsOperations', + 'ServiceTagsOperations', + 'UsagesOperations', + 'VirtualNetworksOperations', + 'SubnetsOperations', + 'ResourceNavigationLinksOperations', + 'ServiceAssociationLinksOperations', + 'VirtualNetworkPeeringsOperations', + 'VirtualNetworkGatewaysOperations', + 'VirtualNetworkGatewayConnectionsOperations', + 'LocalNetworkGatewaysOperations', + 'VirtualNetworkTapsOperations', + 'VirtualRoutersOperations', + 'VirtualRouterPeeringsOperations', + 'VirtualWansOperations', + 'VpnSitesOperations', + 'VpnSiteLinksOperations', + 'VpnSitesConfigurationOperations', + 'VpnServerConfigurationsOperations', + 'VirtualHubsOperations', + 'HubVirtualNetworkConnectionsOperations', + 'VpnGatewaysOperations', + 'VpnConnectionsOperations', + 'VpnSiteLinkConnectionsOperations', + 'VpnLinkConnectionsOperations', + 'P2sVpnGatewaysOperations', + 'VpnServerConfigurationsAssociatedWithVirtualWanOperations', + 'VirtualHubRouteTableV2sOperations', + 'ExpressRouteGatewaysOperations', + 'ExpressRouteConnectionsOperations', + 'HubRouteTablesOperations', + 'WebApplicationFirewallPoliciesOperations', + 'NetworkManagementClientOperationsMixin', +] diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_application_gateways_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_application_gateways_operations.py new file mode 100644 index 00000000000..6213f920817 --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_application_gateways_operations.py @@ -0,0 +1,1259 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class ApplicationGatewaysOperations(object): + """ApplicationGatewaysOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, application_gateway_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'applicationGatewayName': self._serialize.url("application_gateway_name", application_gateway_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, application_gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified application gateway. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param application_gateway_name: The name of the application gateway. + :type application_gateway_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + application_gateway_name=application_gateway_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}'} + + def get( + self, resource_group_name, application_gateway_name, custom_headers=None, raw=False, **operation_config): + """Gets the specified application gateway. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param application_gateway_name: The name of the application gateway. + :type application_gateway_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ApplicationGateway or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.ApplicationGateway or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'applicationGatewayName': self._serialize.url("application_gateway_name", application_gateway_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ApplicationGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}'} + + + def _create_or_update_initial( + self, resource_group_name, application_gateway_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'applicationGatewayName': self._serialize.url("application_gateway_name", application_gateway_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'ApplicationGateway') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('ApplicationGateway', response) + if response.status_code == 201: + deserialized = self._deserialize('ApplicationGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, application_gateway_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates the specified application gateway. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param application_gateway_name: The name of the application gateway. + :type application_gateway_name: str + :param parameters: Parameters supplied to the create or update + application gateway operation. + :type parameters: + ~azure.mgmt.network.v2020_04_01.models.ApplicationGateway + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns ApplicationGateway or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.ApplicationGateway] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.ApplicationGateway]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + application_gateway_name=application_gateway_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ApplicationGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}'} + + def update_tags( + self, resource_group_name, application_gateway_name, tags=None, custom_headers=None, raw=False, **operation_config): + """Updates the specified application gateway tags. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param application_gateway_name: The name of the application gateway. + :type application_gateway_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ApplicationGateway or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.ApplicationGateway or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'applicationGatewayName': self._serialize.url("application_gateway_name", application_gateway_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ApplicationGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}'} + + def list( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Lists all application gateways in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of ApplicationGateway + :rtype: + ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayPaged[~azure.mgmt.network.v2020_04_01.models.ApplicationGateway] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.ApplicationGatewayPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways'} + + def list_all( + self, custom_headers=None, raw=False, **operation_config): + """Gets all the application gateways in a subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of ApplicationGateway + :rtype: + ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayPaged[~azure.mgmt.network.v2020_04_01.models.ApplicationGateway] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_all.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.ApplicationGatewayPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGateways'} + + + def _start_initial( + self, resource_group_name, application_gateway_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.start.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'applicationGatewayName': self._serialize.url("application_gateway_name", application_gateway_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def start( + self, resource_group_name, application_gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Starts the specified application gateway. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param application_gateway_name: The name of the application gateway. + :type application_gateway_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._start_initial( + resource_group_name=resource_group_name, + application_gateway_name=application_gateway_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + start.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}/start'} + + + def _stop_initial( + self, resource_group_name, application_gateway_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.stop.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'applicationGatewayName': self._serialize.url("application_gateway_name", application_gateway_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def stop( + self, resource_group_name, application_gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Stops the specified application gateway in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param application_gateway_name: The name of the application gateway. + :type application_gateway_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._stop_initial( + resource_group_name=resource_group_name, + application_gateway_name=application_gateway_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + stop.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}/stop'} + + + def _backend_health_initial( + self, resource_group_name, application_gateway_name, expand=None, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.backend_health.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'applicationGatewayName': self._serialize.url("application_gateway_name", application_gateway_name, 'str'), + '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.api_version", self.api_version, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('ApplicationGatewayBackendHealth', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def backend_health( + self, resource_group_name, application_gateway_name, expand=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Gets the backend health of the specified application gateway in a + resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param application_gateway_name: The name of the application gateway. + :type application_gateway_name: str + :param expand: Expands BackendAddressPool and BackendHttpSettings + referenced in backend health. + :type expand: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + ApplicationGatewayBackendHealth or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayBackendHealth] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayBackendHealth]] + :raises: :class:`CloudError` + """ + raw_result = self._backend_health_initial( + resource_group_name=resource_group_name, + application_gateway_name=application_gateway_name, + expand=expand, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ApplicationGatewayBackendHealth', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + backend_health.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}/backendhealth'} + + + def _backend_health_on_demand_initial( + self, resource_group_name, application_gateway_name, probe_request, expand=None, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.backend_health_on_demand.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'applicationGatewayName': self._serialize.url("application_gateway_name", application_gateway_name, 'str'), + '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.api_version", self.api_version, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(probe_request, 'ApplicationGatewayOnDemandProbe') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('ApplicationGatewayBackendHealthOnDemand', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def backend_health_on_demand( + self, resource_group_name, application_gateway_name, probe_request, expand=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Gets the backend health for given combination of backend pool and http + setting of the specified application gateway in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param application_gateway_name: The name of the application gateway. + :type application_gateway_name: str + :param probe_request: Request body for on-demand test probe operation. + :type probe_request: + ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayOnDemandProbe + :param expand: Expands BackendAddressPool and BackendHttpSettings + referenced in backend health. + :type expand: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + ApplicationGatewayBackendHealthOnDemand or + ClientRawResponse if + raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayBackendHealthOnDemand] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayBackendHealthOnDemand]] + :raises: :class:`CloudError` + """ + raw_result = self._backend_health_on_demand_initial( + resource_group_name=resource_group_name, + application_gateway_name=application_gateway_name, + probe_request=probe_request, + expand=expand, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ApplicationGatewayBackendHealthOnDemand', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + backend_health_on_demand.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}/getBackendHealthOnDemand'} + + def list_available_server_variables( + self, custom_headers=None, raw=False, **operation_config): + """Lists all available server variables. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: list or ClientRawResponse if raw=true + :rtype: list[str] or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorException` + """ + # Construct URL + url = self.list_available_server_variables.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('[str]', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list_available_server_variables.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableServerVariables'} + + def list_available_request_headers( + self, custom_headers=None, raw=False, **operation_config): + """Lists all available request headers. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: list or ClientRawResponse if raw=true + :rtype: list[str] or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorException` + """ + # Construct URL + url = self.list_available_request_headers.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('[str]', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list_available_request_headers.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableRequestHeaders'} + + def list_available_response_headers( + self, custom_headers=None, raw=False, **operation_config): + """Lists all available response headers. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: list or ClientRawResponse if raw=true + :rtype: list[str] or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorException` + """ + # Construct URL + url = self.list_available_response_headers.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('[str]', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list_available_response_headers.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableResponseHeaders'} + + def list_available_waf_rule_sets( + self, custom_headers=None, raw=False, **operation_config): + """Lists all available web application firewall rule sets. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ApplicationGatewayAvailableWafRuleSetsResult or + ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayAvailableWafRuleSetsResult + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.list_available_waf_rule_sets.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ApplicationGatewayAvailableWafRuleSetsResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list_available_waf_rule_sets.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableWafRuleSets'} + + def list_available_ssl_options( + self, custom_headers=None, raw=False, **operation_config): + """Lists available Ssl options for configuring Ssl policy. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ApplicationGatewayAvailableSslOptions or ClientRawResponse if + raw=true + :rtype: + ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayAvailableSslOptions + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.list_available_ssl_options.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ApplicationGatewayAvailableSslOptions', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list_available_ssl_options.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableSslOptions/default'} + + def list_available_ssl_predefined_policies( + self, custom_headers=None, raw=False, **operation_config): + """Lists all SSL predefined policies for configuring Ssl policy. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of + ApplicationGatewaySslPredefinedPolicy + :rtype: + ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewaySslPredefinedPolicyPaged[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewaySslPredefinedPolicy] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_available_ssl_predefined_policies.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.ApplicationGatewaySslPredefinedPolicyPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_available_ssl_predefined_policies.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableSslOptions/default/predefinedPolicies'} + + def get_ssl_predefined_policy( + self, predefined_policy_name, custom_headers=None, raw=False, **operation_config): + """Gets Ssl predefined policy with the specified policy name. + + :param predefined_policy_name: Name of Ssl predefined policy. + :type predefined_policy_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ApplicationGatewaySslPredefinedPolicy or ClientRawResponse if + raw=true + :rtype: + ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewaySslPredefinedPolicy + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_ssl_predefined_policy.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'predefinedPolicyName': self._serialize.url("predefined_policy_name", predefined_policy_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ApplicationGatewaySslPredefinedPolicy', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_ssl_predefined_policy.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableSslOptions/default/predefinedPolicies/{predefinedPolicyName}'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_application_security_groups_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_application_security_groups_operations.py new file mode 100644 index 00000000000..95176478e9c --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_application_security_groups_operations.py @@ -0,0 +1,497 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class ApplicationSecurityGroupsOperations(object): + """ApplicationSecurityGroupsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, application_security_group_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'applicationSecurityGroupName': self._serialize.url("application_security_group_name", application_security_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, application_security_group_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified application security group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param application_security_group_name: The name of the application + security group. + :type application_security_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + application_security_group_name=application_security_group_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationSecurityGroups/{applicationSecurityGroupName}'} + + def get( + self, resource_group_name, application_security_group_name, custom_headers=None, raw=False, **operation_config): + """Gets information about the specified application security group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param application_security_group_name: The name of the application + security group. + :type application_security_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ApplicationSecurityGroup or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.network.v2020_04_01.models.ApplicationSecurityGroup or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'applicationSecurityGroupName': self._serialize.url("application_security_group_name", application_security_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ApplicationSecurityGroup', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationSecurityGroups/{applicationSecurityGroupName}'} + + + def _create_or_update_initial( + self, resource_group_name, application_security_group_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'applicationSecurityGroupName': self._serialize.url("application_security_group_name", application_security_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'ApplicationSecurityGroup') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('ApplicationSecurityGroup', response) + if response.status_code == 201: + deserialized = self._deserialize('ApplicationSecurityGroup', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, application_security_group_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates an application security group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param application_security_group_name: The name of the application + security group. + :type application_security_group_name: str + :param parameters: Parameters supplied to the create or update + ApplicationSecurityGroup operation. + :type parameters: + ~azure.mgmt.network.v2020_04_01.models.ApplicationSecurityGroup + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + ApplicationSecurityGroup or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.ApplicationSecurityGroup] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.ApplicationSecurityGroup]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + application_security_group_name=application_security_group_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ApplicationSecurityGroup', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationSecurityGroups/{applicationSecurityGroupName}'} + + def update_tags( + self, resource_group_name, application_security_group_name, tags=None, custom_headers=None, raw=False, **operation_config): + """Updates an application security group's tags. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param application_security_group_name: The name of the application + security group. + :type application_security_group_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ApplicationSecurityGroup or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.network.v2020_04_01.models.ApplicationSecurityGroup or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'applicationSecurityGroupName': self._serialize.url("application_security_group_name", application_security_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ApplicationSecurityGroup', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationSecurityGroups/{applicationSecurityGroupName}'} + + def list_all( + self, custom_headers=None, raw=False, **operation_config): + """Gets all application security groups in a subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of ApplicationSecurityGroup + :rtype: + ~azure.mgmt.network.v2020_04_01.models.ApplicationSecurityGroupPaged[~azure.mgmt.network.v2020_04_01.models.ApplicationSecurityGroup] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_all.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.ApplicationSecurityGroupPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationSecurityGroups'} + + def list( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Gets all the application security groups in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of ApplicationSecurityGroup + :rtype: + ~azure.mgmt.network.v2020_04_01.models.ApplicationSecurityGroupPaged[~azure.mgmt.network.v2020_04_01.models.ApplicationSecurityGroup] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.ApplicationSecurityGroupPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationSecurityGroups'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_available_delegations_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_available_delegations_operations.py new file mode 100644 index 00000000000..e08e7be12bd --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_available_delegations_operations.py @@ -0,0 +1,110 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class AvailableDelegationsOperations(object): + """AvailableDelegationsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + def list( + self, location, custom_headers=None, raw=False, **operation_config): + """Gets all of the available subnet delegations for this subscription in + this region. + + :param location: The location of the subnet. + :type location: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of AvailableDelegation + :rtype: + ~azure.mgmt.network.v2020_04_01.models.AvailableDelegationPaged[~azure.mgmt.network.v2020_04_01.models.AvailableDelegation] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'location': self._serialize.url("location", location, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.AvailableDelegationPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/availableDelegations'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_available_endpoint_services_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_available_endpoint_services_operations.py new file mode 100644 index 00000000000..bfa92e38a0c --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_available_endpoint_services_operations.py @@ -0,0 +1,109 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class AvailableEndpointServicesOperations(object): + """AvailableEndpointServicesOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + def list( + self, location, custom_headers=None, raw=False, **operation_config): + """List what values of endpoint services are available for use. + + :param location: The location to check available endpoint services. + :type location: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of EndpointServiceResult + :rtype: + ~azure.mgmt.network.v2020_04_01.models.EndpointServiceResultPaged[~azure.mgmt.network.v2020_04_01.models.EndpointServiceResult] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'location': self._serialize.url("location", location, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.EndpointServiceResultPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/virtualNetworkAvailableEndpointServices'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_available_private_endpoint_types_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_available_private_endpoint_types_operations.py new file mode 100644 index 00000000000..83f7bf1b367 --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_available_private_endpoint_types_operations.py @@ -0,0 +1,183 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class AvailablePrivateEndpointTypesOperations(object): + """AvailablePrivateEndpointTypesOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + def list( + self, location, custom_headers=None, raw=False, **operation_config): + """Returns all of the resource types that can be linked to a Private + Endpoint in this subscription in this region. + + :param location: The location of the domain name. + :type location: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of AvailablePrivateEndpointType + :rtype: + ~azure.mgmt.network.v2020_04_01.models.AvailablePrivateEndpointTypePaged[~azure.mgmt.network.v2020_04_01.models.AvailablePrivateEndpointType] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'location': self._serialize.url("location", location, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.AvailablePrivateEndpointTypePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/availablePrivateEndpointTypes'} + + def list_by_resource_group( + self, location, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Returns all of the resource types that can be linked to a Private + Endpoint in this subscription in this region. + + :param location: The location of the domain name. + :type location: str + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of AvailablePrivateEndpointType + :rtype: + ~azure.mgmt.network.v2020_04_01.models.AvailablePrivateEndpointTypePaged[~azure.mgmt.network.v2020_04_01.models.AvailablePrivateEndpointType] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'location': self._serialize.url("location", location, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.AvailablePrivateEndpointTypePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/locations/{location}/availablePrivateEndpointTypes'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_available_resource_group_delegations_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_available_resource_group_delegations_operations.py new file mode 100644 index 00000000000..b4e8f5278c8 --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_available_resource_group_delegations_operations.py @@ -0,0 +1,113 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class AvailableResourceGroupDelegationsOperations(object): + """AvailableResourceGroupDelegationsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + def list( + self, location, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Gets all of the available subnet delegations for this resource group in + this region. + + :param location: The location of the domain name. + :type location: str + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of AvailableDelegation + :rtype: + ~azure.mgmt.network.v2020_04_01.models.AvailableDelegationPaged[~azure.mgmt.network.v2020_04_01.models.AvailableDelegation] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'location': self._serialize.url("location", location, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.AvailableDelegationPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/locations/{location}/availableDelegations'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_available_service_aliases_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_available_service_aliases_operations.py new file mode 100644 index 00000000000..a8453e3e8ae --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_available_service_aliases_operations.py @@ -0,0 +1,183 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class AvailableServiceAliasesOperations(object): + """AvailableServiceAliasesOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + def list( + self, location, custom_headers=None, raw=False, **operation_config): + """Gets all available service aliases for this subscription in this + region. + + :param location: The location. + :type location: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of AvailableServiceAlias + :rtype: + ~azure.mgmt.network.v2020_04_01.models.AvailableServiceAliasPaged[~azure.mgmt.network.v2020_04_01.models.AvailableServiceAlias] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'location': self._serialize.url("location", location, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.AvailableServiceAliasPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/availableServiceAliases'} + + def list_by_resource_group( + self, resource_group_name, location, custom_headers=None, raw=False, **operation_config): + """Gets all available service aliases for this resource group in this + region. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param location: The location. + :type location: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of AvailableServiceAlias + :rtype: + ~azure.mgmt.network.v2020_04_01.models.AvailableServiceAliasPaged[~azure.mgmt.network.v2020_04_01.models.AvailableServiceAlias] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'location': self._serialize.url("location", location, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.AvailableServiceAliasPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/locations/{location}/availableServiceAliases'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_azure_firewall_fqdn_tags_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_azure_firewall_fqdn_tags_operations.py new file mode 100644 index 00000000000..c8ce1a89a59 --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_azure_firewall_fqdn_tags_operations.py @@ -0,0 +1,106 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class AzureFirewallFqdnTagsOperations(object): + """AzureFirewallFqdnTagsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + def list_all( + self, custom_headers=None, raw=False, **operation_config): + """Gets all the Azure Firewall FQDN Tags in a subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of AzureFirewallFqdnTag + :rtype: + ~azure.mgmt.network.v2020_04_01.models.AzureFirewallFqdnTagPaged[~azure.mgmt.network.v2020_04_01.models.AzureFirewallFqdnTag] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_all.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.AzureFirewallFqdnTagPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/azureFirewallFqdnTags'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_azure_firewalls_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_azure_firewalls_operations.py new file mode 100644 index 00000000000..86ad9f13eec --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_azure_firewalls_operations.py @@ -0,0 +1,522 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class AzureFirewallsOperations(object): + """AzureFirewallsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, azure_firewall_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'azureFirewallName': self._serialize.url("azure_firewall_name", azure_firewall_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, azure_firewall_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified Azure Firewall. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param azure_firewall_name: The name of the Azure Firewall. + :type azure_firewall_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + azure_firewall_name=azure_firewall_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/azureFirewalls/{azureFirewallName}'} + + def get( + self, resource_group_name, azure_firewall_name, custom_headers=None, raw=False, **operation_config): + """Gets the specified Azure Firewall. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param azure_firewall_name: The name of the Azure Firewall. + :type azure_firewall_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: AzureFirewall or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.AzureFirewall or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'azureFirewallName': self._serialize.url("azure_firewall_name", azure_firewall_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('AzureFirewall', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/azureFirewalls/{azureFirewallName}'} + + + def _create_or_update_initial( + self, resource_group_name, azure_firewall_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'azureFirewallName': self._serialize.url("azure_firewall_name", azure_firewall_name, 'str', max_length=56, min_length=1), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'AzureFirewall') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('AzureFirewall', response) + if response.status_code == 201: + deserialized = self._deserialize('AzureFirewall', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, azure_firewall_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates the specified Azure Firewall. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param azure_firewall_name: The name of the Azure Firewall. + :type azure_firewall_name: str + :param parameters: Parameters supplied to the create or update Azure + Firewall operation. + :type parameters: ~azure.mgmt.network.v2020_04_01.models.AzureFirewall + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns AzureFirewall or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.AzureFirewall] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.AzureFirewall]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + azure_firewall_name=azure_firewall_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('AzureFirewall', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/azureFirewalls/{azureFirewallName}'} + + + def _update_tags_initial( + self, resource_group_name, azure_firewall_name, tags=None, custom_headers=None, raw=False, **operation_config): + parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'azureFirewallName': self._serialize.url("azure_firewall_name", azure_firewall_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('AzureFirewall', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def update_tags( + self, resource_group_name, azure_firewall_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Updates tags of an Azure Firewall resource. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param azure_firewall_name: The name of the Azure Firewall. + :type azure_firewall_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns AzureFirewall or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.AzureFirewall] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.AzureFirewall]] + :raises: :class:`CloudError` + """ + raw_result = self._update_tags_initial( + resource_group_name=resource_group_name, + azure_firewall_name=azure_firewall_name, + tags=tags, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('AzureFirewall', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/azureFirewalls/{azureFirewallName}'} + + def list( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Lists all Azure Firewalls in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of AzureFirewall + :rtype: + ~azure.mgmt.network.v2020_04_01.models.AzureFirewallPaged[~azure.mgmt.network.v2020_04_01.models.AzureFirewall] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.AzureFirewallPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/azureFirewalls'} + + def list_all( + self, custom_headers=None, raw=False, **operation_config): + """Gets all the Azure Firewalls in a subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of AzureFirewall + :rtype: + ~azure.mgmt.network.v2020_04_01.models.AzureFirewallPaged[~azure.mgmt.network.v2020_04_01.models.AzureFirewall] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_all.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.AzureFirewallPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/azureFirewalls'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_bastion_hosts_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_bastion_hosts_operations.py new file mode 100644 index 00000000000..fb51ad8001c --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_bastion_hosts_operations.py @@ -0,0 +1,420 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class BastionHostsOperations(object): + """BastionHostsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, bastion_host_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'bastionHostName': self._serialize.url("bastion_host_name", bastion_host_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, bastion_host_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified Bastion Host. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param bastion_host_name: The name of the Bastion Host. + :type bastion_host_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + bastion_host_name=bastion_host_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts/{bastionHostName}'} + + def get( + self, resource_group_name, bastion_host_name, custom_headers=None, raw=False, **operation_config): + """Gets the specified Bastion Host. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param bastion_host_name: The name of the Bastion Host. + :type bastion_host_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: BastionHost or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.BastionHost or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'bastionHostName': self._serialize.url("bastion_host_name", bastion_host_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('BastionHost', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts/{bastionHostName}'} + + + def _create_or_update_initial( + self, resource_group_name, bastion_host_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'bastionHostName': self._serialize.url("bastion_host_name", bastion_host_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'BastionHost') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('BastionHost', response) + if response.status_code == 201: + deserialized = self._deserialize('BastionHost', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, bastion_host_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates the specified Bastion Host. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param bastion_host_name: The name of the Bastion Host. + :type bastion_host_name: str + :param parameters: Parameters supplied to the create or update Bastion + Host operation. + :type parameters: ~azure.mgmt.network.v2020_04_01.models.BastionHost + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns BastionHost or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.BastionHost] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.BastionHost]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + bastion_host_name=bastion_host_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('BastionHost', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts/{bastionHostName}'} + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Lists all Bastion Hosts in a subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of BastionHost + :rtype: + ~azure.mgmt.network.v2020_04_01.models.BastionHostPaged[~azure.mgmt.network.v2020_04_01.models.BastionHost] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.BastionHostPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/bastionHosts'} + + def list_by_resource_group( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Lists all Bastion Hosts in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of BastionHost + :rtype: + ~azure.mgmt.network.v2020_04_01.models.BastionHostPaged[~azure.mgmt.network.v2020_04_01.models.BastionHost] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.BastionHostPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_bgp_service_communities_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_bgp_service_communities_operations.py new file mode 100644 index 00000000000..67d868cd367 --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_bgp_service_communities_operations.py @@ -0,0 +1,106 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class BgpServiceCommunitiesOperations(object): + """BgpServiceCommunitiesOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Gets all the available bgp service communities. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of BgpServiceCommunity + :rtype: + ~azure.mgmt.network.v2020_04_01.models.BgpServiceCommunityPaged[~azure.mgmt.network.v2020_04_01.models.BgpServiceCommunity] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.BgpServiceCommunityPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/bgpServiceCommunities'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_connection_monitors_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_connection_monitors_operations.py new file mode 100644 index 00000000000..512c52c4eb3 --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_connection_monitors_operations.py @@ -0,0 +1,706 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class ConnectionMonitorsOperations(object): + """ConnectionMonitorsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + + def _create_or_update_initial( + self, resource_group_name, network_watcher_name, connection_monitor_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), + 'connectionMonitorName': self._serialize.url("connection_monitor_name", connection_monitor_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'ConnectionMonitor') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('ConnectionMonitorResult', response) + if response.status_code == 201: + deserialized = self._deserialize('ConnectionMonitorResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, network_watcher_name, connection_monitor_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Create or update a connection monitor. + + :param resource_group_name: The name of the resource group containing + Network Watcher. + :type resource_group_name: str + :param network_watcher_name: The name of the Network Watcher resource. + :type network_watcher_name: str + :param connection_monitor_name: The name of the connection monitor. + :type connection_monitor_name: str + :param parameters: Parameters that define the operation to create a + connection monitor. + :type parameters: + ~azure.mgmt.network.v2020_04_01.models.ConnectionMonitor + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns ConnectionMonitorResult + or ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorResult]] + :raises: + :class:`ErrorResponseException` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + network_watcher_name=network_watcher_name, + connection_monitor_name=connection_monitor_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ConnectionMonitorResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}'} + + def get( + self, resource_group_name, network_watcher_name, connection_monitor_name, custom_headers=None, raw=False, **operation_config): + """Gets a connection monitor by name. + + :param resource_group_name: The name of the resource group containing + Network Watcher. + :type resource_group_name: str + :param network_watcher_name: The name of the Network Watcher resource. + :type network_watcher_name: str + :param connection_monitor_name: The name of the connection monitor. + :type connection_monitor_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ConnectionMonitorResult or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorResult + or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), + 'connectionMonitorName': self._serialize.url("connection_monitor_name", connection_monitor_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('ConnectionMonitorResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}'} + + + def _delete_initial( + self, resource_group_name, network_watcher_name, connection_monitor_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), + 'connectionMonitorName': self._serialize.url("connection_monitor_name", connection_monitor_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [202, 204]: + raise models.ErrorResponseException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, network_watcher_name, connection_monitor_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified connection monitor. + + :param resource_group_name: The name of the resource group containing + Network Watcher. + :type resource_group_name: str + :param network_watcher_name: The name of the Network Watcher resource. + :type network_watcher_name: str + :param connection_monitor_name: The name of the connection monitor. + :type connection_monitor_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: + :class:`ErrorResponseException` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + network_watcher_name=network_watcher_name, + connection_monitor_name=connection_monitor_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}'} + + def update_tags( + self, resource_group_name, network_watcher_name, connection_monitor_name, tags=None, custom_headers=None, raw=False, **operation_config): + """Update tags of the specified connection monitor. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_watcher_name: The name of the network watcher. + :type network_watcher_name: str + :param connection_monitor_name: The name of the connection monitor. + :type connection_monitor_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ConnectionMonitorResult or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorResult + or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), + 'connectionMonitorName': self._serialize.url("connection_monitor_name", connection_monitor_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('ConnectionMonitorResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}'} + + + def _stop_initial( + self, resource_group_name, network_watcher_name, connection_monitor_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.stop.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), + 'connectionMonitorName': self._serialize.url("connection_monitor_name", connection_monitor_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + raise models.ErrorResponseException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def stop( + self, resource_group_name, network_watcher_name, connection_monitor_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Stops the specified connection monitor. + + :param resource_group_name: The name of the resource group containing + Network Watcher. + :type resource_group_name: str + :param network_watcher_name: The name of the Network Watcher resource. + :type network_watcher_name: str + :param connection_monitor_name: The name of the connection monitor. + :type connection_monitor_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: + :class:`ErrorResponseException` + """ + raw_result = self._stop_initial( + resource_group_name=resource_group_name, + network_watcher_name=network_watcher_name, + connection_monitor_name=connection_monitor_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + stop.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}/stop'} + + + def _start_initial( + self, resource_group_name, network_watcher_name, connection_monitor_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.start.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), + 'connectionMonitorName': self._serialize.url("connection_monitor_name", connection_monitor_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + raise models.ErrorResponseException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def start( + self, resource_group_name, network_watcher_name, connection_monitor_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Starts the specified connection monitor. + + :param resource_group_name: The name of the resource group containing + Network Watcher. + :type resource_group_name: str + :param network_watcher_name: The name of the Network Watcher resource. + :type network_watcher_name: str + :param connection_monitor_name: The name of the connection monitor. + :type connection_monitor_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: + :class:`ErrorResponseException` + """ + raw_result = self._start_initial( + resource_group_name=resource_group_name, + network_watcher_name=network_watcher_name, + connection_monitor_name=connection_monitor_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + start.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}/start'} + + + def _query_initial( + self, resource_group_name, network_watcher_name, connection_monitor_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.query.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), + 'connectionMonitorName': self._serialize.url("connection_monitor_name", connection_monitor_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('ConnectionMonitorQueryResult', response) + if response.status_code == 202: + deserialized = self._deserialize('ConnectionMonitorQueryResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def query( + self, resource_group_name, network_watcher_name, connection_monitor_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Query a snapshot of the most recent connection states. + + :param resource_group_name: The name of the resource group containing + Network Watcher. + :type resource_group_name: str + :param network_watcher_name: The name of the Network Watcher resource. + :type network_watcher_name: str + :param connection_monitor_name: The name given to the connection + monitor. + :type connection_monitor_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + ConnectionMonitorQueryResult or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorQueryResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorQueryResult]] + :raises: + :class:`ErrorResponseException` + """ + raw_result = self._query_initial( + resource_group_name=resource_group_name, + network_watcher_name=network_watcher_name, + connection_monitor_name=connection_monitor_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ConnectionMonitorQueryResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + query.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}/query'} + + def list( + self, resource_group_name, network_watcher_name, custom_headers=None, raw=False, **operation_config): + """Lists all connection monitors for the specified Network Watcher. + + :param resource_group_name: The name of the resource group containing + Network Watcher. + :type resource_group_name: str + :param network_watcher_name: The name of the Network Watcher resource. + :type network_watcher_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of ConnectionMonitorResult + :rtype: + ~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorResultPaged[~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorResult] + :raises: + :class:`ErrorResponseException` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.ConnectionMonitorResultPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_ddos_custom_policies_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_ddos_custom_policies_operations.py new file mode 100644 index 00000000000..f54b7745734 --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_ddos_custom_policies_operations.py @@ -0,0 +1,355 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class DdosCustomPoliciesOperations(object): + """DdosCustomPoliciesOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, ddos_custom_policy_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'ddosCustomPolicyName': self._serialize.url("ddos_custom_policy_name", ddos_custom_policy_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, ddos_custom_policy_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified DDoS custom policy. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param ddos_custom_policy_name: The name of the DDoS custom policy. + :type ddos_custom_policy_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + ddos_custom_policy_name=ddos_custom_policy_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosCustomPolicies/{ddosCustomPolicyName}'} + + def get( + self, resource_group_name, ddos_custom_policy_name, custom_headers=None, raw=False, **operation_config): + """Gets information about the specified DDoS custom policy. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param ddos_custom_policy_name: The name of the DDoS custom policy. + :type ddos_custom_policy_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: DdosCustomPolicy or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.DdosCustomPolicy or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'ddosCustomPolicyName': self._serialize.url("ddos_custom_policy_name", ddos_custom_policy_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('DdosCustomPolicy', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosCustomPolicies/{ddosCustomPolicyName}'} + + + def _create_or_update_initial( + self, resource_group_name, ddos_custom_policy_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'ddosCustomPolicyName': self._serialize.url("ddos_custom_policy_name", ddos_custom_policy_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'DdosCustomPolicy') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('DdosCustomPolicy', response) + if response.status_code == 201: + deserialized = self._deserialize('DdosCustomPolicy', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, ddos_custom_policy_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a DDoS custom policy. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param ddos_custom_policy_name: The name of the DDoS custom policy. + :type ddos_custom_policy_name: str + :param parameters: Parameters supplied to the create or update + operation. + :type parameters: + ~azure.mgmt.network.v2020_04_01.models.DdosCustomPolicy + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns DdosCustomPolicy or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.DdosCustomPolicy] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.DdosCustomPolicy]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + ddos_custom_policy_name=ddos_custom_policy_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('DdosCustomPolicy', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosCustomPolicies/{ddosCustomPolicyName}'} + + def update_tags( + self, resource_group_name, ddos_custom_policy_name, tags=None, custom_headers=None, raw=False, **operation_config): + """Update a DDoS custom policy tags. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param ddos_custom_policy_name: The name of the DDoS custom policy. + :type ddos_custom_policy_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: DdosCustomPolicy or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.DdosCustomPolicy or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'ddosCustomPolicyName': self._serialize.url("ddos_custom_policy_name", ddos_custom_policy_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('DdosCustomPolicy', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosCustomPolicies/{ddosCustomPolicyName}'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_ddos_protection_plans_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_ddos_protection_plans_operations.py new file mode 100644 index 00000000000..dea67c808c4 --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_ddos_protection_plans_operations.py @@ -0,0 +1,497 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class DdosProtectionPlansOperations(object): + """DdosProtectionPlansOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, ddos_protection_plan_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'ddosProtectionPlanName': self._serialize.url("ddos_protection_plan_name", ddos_protection_plan_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, ddos_protection_plan_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified DDoS protection plan. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param ddos_protection_plan_name: The name of the DDoS protection + plan. + :type ddos_protection_plan_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + ddos_protection_plan_name=ddos_protection_plan_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosProtectionPlans/{ddosProtectionPlanName}'} + + def get( + self, resource_group_name, ddos_protection_plan_name, custom_headers=None, raw=False, **operation_config): + """Gets information about the specified DDoS protection plan. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param ddos_protection_plan_name: The name of the DDoS protection + plan. + :type ddos_protection_plan_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: DdosProtectionPlan or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.DdosProtectionPlan or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'ddosProtectionPlanName': self._serialize.url("ddos_protection_plan_name", ddos_protection_plan_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('DdosProtectionPlan', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosProtectionPlans/{ddosProtectionPlanName}'} + + + def _create_or_update_initial( + self, resource_group_name, ddos_protection_plan_name, location=None, tags=None, custom_headers=None, raw=False, **operation_config): + parameters = models.DdosProtectionPlan(location=location, tags=tags) + + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'ddosProtectionPlanName': self._serialize.url("ddos_protection_plan_name", ddos_protection_plan_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'DdosProtectionPlan') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('DdosProtectionPlan', response) + if response.status_code == 201: + deserialized = self._deserialize('DdosProtectionPlan', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, ddos_protection_plan_name, location=None, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a DDoS protection plan. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param ddos_protection_plan_name: The name of the DDoS protection + plan. + :type ddos_protection_plan_name: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns DdosProtectionPlan or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.DdosProtectionPlan] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.DdosProtectionPlan]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + ddos_protection_plan_name=ddos_protection_plan_name, + location=location, + tags=tags, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('DdosProtectionPlan', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosProtectionPlans/{ddosProtectionPlanName}'} + + def update_tags( + self, resource_group_name, ddos_protection_plan_name, tags=None, custom_headers=None, raw=False, **operation_config): + """Update a DDoS protection plan tags. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param ddos_protection_plan_name: The name of the DDoS protection + plan. + :type ddos_protection_plan_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: DdosProtectionPlan or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.DdosProtectionPlan or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'ddosProtectionPlanName': self._serialize.url("ddos_protection_plan_name", ddos_protection_plan_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('DdosProtectionPlan', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosProtectionPlans/{ddosProtectionPlanName}'} + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Gets all DDoS protection plans in a subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of DdosProtectionPlan + :rtype: + ~azure.mgmt.network.v2020_04_01.models.DdosProtectionPlanPaged[~azure.mgmt.network.v2020_04_01.models.DdosProtectionPlan] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.DdosProtectionPlanPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/ddosProtectionPlans'} + + def list_by_resource_group( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Gets all the DDoS protection plans in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of DdosProtectionPlan + :rtype: + ~azure.mgmt.network.v2020_04_01.models.DdosProtectionPlanPaged[~azure.mgmt.network.v2020_04_01.models.DdosProtectionPlan] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.DdosProtectionPlanPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosProtectionPlans'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_default_security_rules_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_default_security_rules_operations.py new file mode 100644 index 00000000000..f1d148905a4 --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_default_security_rules_operations.py @@ -0,0 +1,179 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class DefaultSecurityRulesOperations(object): + """DefaultSecurityRulesOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + def list( + self, resource_group_name, network_security_group_name, custom_headers=None, raw=False, **operation_config): + """Gets all default security rules in a network security group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_security_group_name: The name of the network security + group. + :type network_security_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of SecurityRule + :rtype: + ~azure.mgmt.network.v2020_04_01.models.SecurityRulePaged[~azure.mgmt.network.v2020_04_01.models.SecurityRule] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkSecurityGroupName': self._serialize.url("network_security_group_name", network_security_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.SecurityRulePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/defaultSecurityRules'} + + def get( + self, resource_group_name, network_security_group_name, default_security_rule_name, custom_headers=None, raw=False, **operation_config): + """Get the specified default network security rule. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_security_group_name: The name of the network security + group. + :type network_security_group_name: str + :param default_security_rule_name: The name of the default security + rule. + :type default_security_rule_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: SecurityRule or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.SecurityRule or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkSecurityGroupName': self._serialize.url("network_security_group_name", network_security_group_name, 'str'), + 'defaultSecurityRuleName': self._serialize.url("default_security_rule_name", default_security_rule_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('SecurityRule', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/defaultSecurityRules/{defaultSecurityRuleName}'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_express_route_circuit_authorizations_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_express_route_circuit_authorizations_operations.py new file mode 100644 index 00000000000..acd75b366df --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_express_route_circuit_authorizations_operations.py @@ -0,0 +1,375 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class ExpressRouteCircuitAuthorizationsOperations(object): + """ExpressRouteCircuitAuthorizationsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, circuit_name, authorization_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), + 'authorizationName': self._serialize.url("authorization_name", authorization_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, circuit_name, authorization_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified authorization from the specified express route + circuit. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param circuit_name: The name of the express route circuit. + :type circuit_name: str + :param authorization_name: The name of the authorization. + :type authorization_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + circuit_name=circuit_name, + authorization_name=authorization_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/authorizations/{authorizationName}'} + + def get( + self, resource_group_name, circuit_name, authorization_name, custom_headers=None, raw=False, **operation_config): + """Gets the specified authorization from the specified express route + circuit. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param circuit_name: The name of the express route circuit. + :type circuit_name: str + :param authorization_name: The name of the authorization. + :type authorization_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ExpressRouteCircuitAuthorization or ClientRawResponse if + raw=true + :rtype: + ~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitAuthorization + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), + 'authorizationName': self._serialize.url("authorization_name", authorization_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ExpressRouteCircuitAuthorization', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/authorizations/{authorizationName}'} + + + def _create_or_update_initial( + self, resource_group_name, circuit_name, authorization_name, authorization_parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), + 'authorizationName': self._serialize.url("authorization_name", authorization_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(authorization_parameters, 'ExpressRouteCircuitAuthorization') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('ExpressRouteCircuitAuthorization', response) + if response.status_code == 201: + deserialized = self._deserialize('ExpressRouteCircuitAuthorization', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, circuit_name, authorization_name, authorization_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates an authorization in the specified express route + circuit. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param circuit_name: The name of the express route circuit. + :type circuit_name: str + :param authorization_name: The name of the authorization. + :type authorization_name: str + :param authorization_parameters: Parameters supplied to the create or + update express route circuit authorization operation. + :type authorization_parameters: + ~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitAuthorization + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + ExpressRouteCircuitAuthorization or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitAuthorization] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitAuthorization]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + circuit_name=circuit_name, + authorization_name=authorization_name, + authorization_parameters=authorization_parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ExpressRouteCircuitAuthorization', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/authorizations/{authorizationName}'} + + def list( + self, resource_group_name, circuit_name, custom_headers=None, raw=False, **operation_config): + """Gets all authorizations in an express route circuit. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param circuit_name: The name of the circuit. + :type circuit_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of ExpressRouteCircuitAuthorization + :rtype: + ~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitAuthorizationPaged[~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitAuthorization] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.ExpressRouteCircuitAuthorizationPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/authorizations'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_express_route_circuit_connections_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_express_route_circuit_connections_operations.py new file mode 100644 index 00000000000..31f18fe1e5a --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_express_route_circuit_connections_operations.py @@ -0,0 +1,394 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class ExpressRouteCircuitConnectionsOperations(object): + """ExpressRouteCircuitConnectionsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, circuit_name, peering_name, connection_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), + 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), + 'connectionName': self._serialize.url("connection_name", connection_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, circuit_name, peering_name, connection_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified Express Route Circuit Connection from the + specified express route circuit. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param circuit_name: The name of the express route circuit. + :type circuit_name: str + :param peering_name: The name of the peering. + :type peering_name: str + :param connection_name: The name of the express route circuit + connection. + :type connection_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + circuit_name=circuit_name, + peering_name=peering_name, + connection_name=connection_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/connections/{connectionName}'} + + def get( + self, resource_group_name, circuit_name, peering_name, connection_name, custom_headers=None, raw=False, **operation_config): + """Gets the specified Express Route Circuit Connection from the specified + express route circuit. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param circuit_name: The name of the express route circuit. + :type circuit_name: str + :param peering_name: The name of the peering. + :type peering_name: str + :param connection_name: The name of the express route circuit + connection. + :type connection_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ExpressRouteCircuitConnection or ClientRawResponse if + raw=true + :rtype: + ~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitConnection + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), + 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), + 'connectionName': self._serialize.url("connection_name", connection_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ExpressRouteCircuitConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/connections/{connectionName}'} + + + def _create_or_update_initial( + self, resource_group_name, circuit_name, peering_name, connection_name, express_route_circuit_connection_parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), + 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), + 'connectionName': self._serialize.url("connection_name", connection_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(express_route_circuit_connection_parameters, 'ExpressRouteCircuitConnection') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('ExpressRouteCircuitConnection', response) + if response.status_code == 201: + deserialized = self._deserialize('ExpressRouteCircuitConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, circuit_name, peering_name, connection_name, express_route_circuit_connection_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a Express Route Circuit Connection in the specified + express route circuits. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param circuit_name: The name of the express route circuit. + :type circuit_name: str + :param peering_name: The name of the peering. + :type peering_name: str + :param connection_name: The name of the express route circuit + connection. + :type connection_name: str + :param express_route_circuit_connection_parameters: Parameters + supplied to the create or update express route circuit connection + operation. + :type express_route_circuit_connection_parameters: + ~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitConnection + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + ExpressRouteCircuitConnection or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitConnection] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitConnection]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + circuit_name=circuit_name, + peering_name=peering_name, + connection_name=connection_name, + express_route_circuit_connection_parameters=express_route_circuit_connection_parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ExpressRouteCircuitConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/connections/{connectionName}'} + + def list( + self, resource_group_name, circuit_name, peering_name, custom_headers=None, raw=False, **operation_config): + """Gets all global reach connections associated with a private peering in + an express route circuit. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param circuit_name: The name of the circuit. + :type circuit_name: str + :param peering_name: The name of the peering. + :type peering_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of ExpressRouteCircuitConnection + :rtype: + ~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitConnectionPaged[~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitConnection] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), + 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.ExpressRouteCircuitConnectionPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/connections'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_express_route_circuit_peerings_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_express_route_circuit_peerings_operations.py new file mode 100644 index 00000000000..34ea554f18e --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_express_route_circuit_peerings_operations.py @@ -0,0 +1,371 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class ExpressRouteCircuitPeeringsOperations(object): + """ExpressRouteCircuitPeeringsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, circuit_name, peering_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), + 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, circuit_name, peering_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified peering from the specified express route circuit. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param circuit_name: The name of the express route circuit. + :type circuit_name: str + :param peering_name: The name of the peering. + :type peering_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + circuit_name=circuit_name, + peering_name=peering_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}'} + + def get( + self, resource_group_name, circuit_name, peering_name, custom_headers=None, raw=False, **operation_config): + """Gets the specified peering for the express route circuit. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param circuit_name: The name of the express route circuit. + :type circuit_name: str + :param peering_name: The name of the peering. + :type peering_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ExpressRouteCircuitPeering or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitPeering or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), + 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ExpressRouteCircuitPeering', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}'} + + + def _create_or_update_initial( + self, resource_group_name, circuit_name, peering_name, peering_parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), + 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(peering_parameters, 'ExpressRouteCircuitPeering') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('ExpressRouteCircuitPeering', response) + if response.status_code == 201: + deserialized = self._deserialize('ExpressRouteCircuitPeering', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, circuit_name, peering_name, peering_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a peering in the specified express route circuits. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param circuit_name: The name of the express route circuit. + :type circuit_name: str + :param peering_name: The name of the peering. + :type peering_name: str + :param peering_parameters: Parameters supplied to the create or update + express route circuit peering operation. + :type peering_parameters: + ~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitPeering + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + ExpressRouteCircuitPeering or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitPeering] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitPeering]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + circuit_name=circuit_name, + peering_name=peering_name, + peering_parameters=peering_parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ExpressRouteCircuitPeering', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}'} + + def list( + self, resource_group_name, circuit_name, custom_headers=None, raw=False, **operation_config): + """Gets all peerings in a specified express route circuit. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param circuit_name: The name of the express route circuit. + :type circuit_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of ExpressRouteCircuitPeering + :rtype: + ~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitPeeringPaged[~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitPeering] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.ExpressRouteCircuitPeeringPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_express_route_circuits_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_express_route_circuits_operations.py new file mode 100644 index 00000000000..9b2bec5c673 --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_express_route_circuits_operations.py @@ -0,0 +1,928 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class ExpressRouteCircuitsOperations(object): + """ExpressRouteCircuitsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, circuit_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, circuit_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified express route circuit. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param circuit_name: The name of the express route circuit. + :type circuit_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + circuit_name=circuit_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}'} + + def get( + self, resource_group_name, circuit_name, custom_headers=None, raw=False, **operation_config): + """Gets information about the specified express route circuit. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param circuit_name: The name of express route circuit. + :type circuit_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ExpressRouteCircuit or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuit or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ExpressRouteCircuit', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}'} + + + def _create_or_update_initial( + self, resource_group_name, circuit_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'ExpressRouteCircuit') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('ExpressRouteCircuit', response) + if response.status_code == 201: + deserialized = self._deserialize('ExpressRouteCircuit', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, circuit_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates an express route circuit. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param circuit_name: The name of the circuit. + :type circuit_name: str + :param parameters: Parameters supplied to the create or update express + route circuit operation. + :type parameters: + ~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuit + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns ExpressRouteCircuit or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuit] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuit]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + circuit_name=circuit_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ExpressRouteCircuit', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}'} + + def update_tags( + self, resource_group_name, circuit_name, tags=None, custom_headers=None, raw=False, **operation_config): + """Updates an express route circuit tags. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param circuit_name: The name of the circuit. + :type circuit_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ExpressRouteCircuit or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuit or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ExpressRouteCircuit', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}'} + + + def _list_arp_table_initial( + self, resource_group_name, circuit_name, peering_name, device_path, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.list_arp_table.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), + 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), + 'devicePath': self._serialize.url("device_path", device_path, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('ExpressRouteCircuitsArpTableListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def list_arp_table( + self, resource_group_name, circuit_name, peering_name, device_path, custom_headers=None, raw=False, polling=True, **operation_config): + """Gets the currently advertised ARP table associated with the express + route circuit in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param circuit_name: The name of the express route circuit. + :type circuit_name: str + :param peering_name: The name of the peering. + :type peering_name: str + :param device_path: The path of the device. + :type device_path: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + ExpressRouteCircuitsArpTableListResult or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitsArpTableListResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitsArpTableListResult]] + :raises: :class:`CloudError` + """ + raw_result = self._list_arp_table_initial( + resource_group_name=resource_group_name, + circuit_name=circuit_name, + peering_name=peering_name, + device_path=device_path, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ExpressRouteCircuitsArpTableListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + list_arp_table.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/arpTables/{devicePath}'} + + + def _list_routes_table_initial( + self, resource_group_name, circuit_name, peering_name, device_path, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.list_routes_table.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), + 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), + 'devicePath': self._serialize.url("device_path", device_path, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('ExpressRouteCircuitsRoutesTableListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def list_routes_table( + self, resource_group_name, circuit_name, peering_name, device_path, custom_headers=None, raw=False, polling=True, **operation_config): + """Gets the currently advertised routes table associated with the express + route circuit in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param circuit_name: The name of the express route circuit. + :type circuit_name: str + :param peering_name: The name of the peering. + :type peering_name: str + :param device_path: The path of the device. + :type device_path: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + ExpressRouteCircuitsRoutesTableListResult or + ClientRawResponse if + raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitsRoutesTableListResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitsRoutesTableListResult]] + :raises: :class:`CloudError` + """ + raw_result = self._list_routes_table_initial( + resource_group_name=resource_group_name, + circuit_name=circuit_name, + peering_name=peering_name, + device_path=device_path, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ExpressRouteCircuitsRoutesTableListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + list_routes_table.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/routeTables/{devicePath}'} + + + def _list_routes_table_summary_initial( + self, resource_group_name, circuit_name, peering_name, device_path, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.list_routes_table_summary.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), + 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), + 'devicePath': self._serialize.url("device_path", device_path, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('ExpressRouteCircuitsRoutesTableSummaryListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def list_routes_table_summary( + self, resource_group_name, circuit_name, peering_name, device_path, custom_headers=None, raw=False, polling=True, **operation_config): + """Gets the currently advertised routes table summary associated with the + express route circuit in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param circuit_name: The name of the express route circuit. + :type circuit_name: str + :param peering_name: The name of the peering. + :type peering_name: str + :param device_path: The path of the device. + :type device_path: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + ExpressRouteCircuitsRoutesTableSummaryListResult or + ClientRawResponse if + raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitsRoutesTableSummaryListResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitsRoutesTableSummaryListResult]] + :raises: :class:`CloudError` + """ + raw_result = self._list_routes_table_summary_initial( + resource_group_name=resource_group_name, + circuit_name=circuit_name, + peering_name=peering_name, + device_path=device_path, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ExpressRouteCircuitsRoutesTableSummaryListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + list_routes_table_summary.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/routeTablesSummary/{devicePath}'} + + def get_stats( + self, resource_group_name, circuit_name, custom_headers=None, raw=False, **operation_config): + """Gets all the stats from an express route circuit in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param circuit_name: The name of the express route circuit. + :type circuit_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ExpressRouteCircuitStats or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitStats or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_stats.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ExpressRouteCircuitStats', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_stats.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/stats'} + + def get_peering_stats( + self, resource_group_name, circuit_name, peering_name, custom_headers=None, raw=False, **operation_config): + """Gets all stats from an express route circuit in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param circuit_name: The name of the express route circuit. + :type circuit_name: str + :param peering_name: The name of the peering. + :type peering_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ExpressRouteCircuitStats or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitStats or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_peering_stats.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), + 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ExpressRouteCircuitStats', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_peering_stats.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/stats'} + + def list( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Gets all the express route circuits in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of ExpressRouteCircuit + :rtype: + ~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitPaged[~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuit] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.ExpressRouteCircuitPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits'} + + def list_all( + self, custom_headers=None, raw=False, **operation_config): + """Gets all the express route circuits in a subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of ExpressRouteCircuit + :rtype: + ~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitPaged[~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuit] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_all.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.ExpressRouteCircuitPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/expressRouteCircuits'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_express_route_connections_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_express_route_connections_operations.py new file mode 100644 index 00000000000..9e63dde1454 --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_express_route_connections_operations.py @@ -0,0 +1,364 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class ExpressRouteConnectionsOperations(object): + """ExpressRouteConnectionsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + + def _create_or_update_initial( + self, resource_group_name, express_route_gateway_name, connection_name, put_express_route_connection_parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'expressRouteGatewayName': self._serialize.url("express_route_gateway_name", express_route_gateway_name, 'str'), + 'connectionName': self._serialize.url("connection_name", connection_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(put_express_route_connection_parameters, 'ExpressRouteConnection') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('ExpressRouteConnection', response) + if response.status_code == 201: + deserialized = self._deserialize('ExpressRouteConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, express_route_gateway_name, connection_name, put_express_route_connection_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates a connection between an ExpressRoute gateway and an + ExpressRoute circuit. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param express_route_gateway_name: The name of the ExpressRoute + gateway. + :type express_route_gateway_name: str + :param connection_name: The name of the connection subresource. + :type connection_name: str + :param put_express_route_connection_parameters: Parameters required in + an ExpressRouteConnection PUT operation. + :type put_express_route_connection_parameters: + ~azure.mgmt.network.v2020_04_01.models.ExpressRouteConnection + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns ExpressRouteConnection + or ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.ExpressRouteConnection] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.ExpressRouteConnection]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + express_route_gateway_name=express_route_gateway_name, + connection_name=connection_name, + put_express_route_connection_parameters=put_express_route_connection_parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ExpressRouteConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteGateways/{expressRouteGatewayName}/expressRouteConnections/{connectionName}'} + + def get( + self, resource_group_name, express_route_gateway_name, connection_name, custom_headers=None, raw=False, **operation_config): + """Gets the specified ExpressRouteConnection. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param express_route_gateway_name: The name of the ExpressRoute + gateway. + :type express_route_gateway_name: str + :param connection_name: The name of the ExpressRoute connection. + :type connection_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ExpressRouteConnection or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.ExpressRouteConnection + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'expressRouteGatewayName': self._serialize.url("express_route_gateway_name", express_route_gateway_name, 'str'), + 'connectionName': self._serialize.url("connection_name", connection_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ExpressRouteConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteGateways/{expressRouteGatewayName}/expressRouteConnections/{connectionName}'} + + + def _delete_initial( + self, resource_group_name, express_route_gateway_name, connection_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'expressRouteGatewayName': self._serialize.url("express_route_gateway_name", express_route_gateway_name, 'str'), + 'connectionName': self._serialize.url("connection_name", connection_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, express_route_gateway_name, connection_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes a connection to a ExpressRoute circuit. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param express_route_gateway_name: The name of the ExpressRoute + gateway. + :type express_route_gateway_name: str + :param connection_name: The name of the connection subresource. + :type connection_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + express_route_gateway_name=express_route_gateway_name, + connection_name=connection_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteGateways/{expressRouteGatewayName}/expressRouteConnections/{connectionName}'} + + def list( + self, resource_group_name, express_route_gateway_name, custom_headers=None, raw=False, **operation_config): + """Lists ExpressRouteConnections. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param express_route_gateway_name: The name of the ExpressRoute + gateway. + :type express_route_gateway_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ExpressRouteConnectionList or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.network.v2020_04_01.models.ExpressRouteConnectionList or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'expressRouteGatewayName': self._serialize.url("express_route_gateway_name", express_route_gateway_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ExpressRouteConnectionList', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteGateways/{expressRouteGatewayName}/expressRouteConnections'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_express_route_cross_connection_peerings_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_express_route_cross_connection_peerings_operations.py new file mode 100644 index 00000000000..99d5ddc6cde --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_express_route_cross_connection_peerings_operations.py @@ -0,0 +1,378 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class ExpressRouteCrossConnectionPeeringsOperations(object): + """ExpressRouteCrossConnectionPeeringsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + def list( + self, resource_group_name, cross_connection_name, custom_headers=None, raw=False, **operation_config): + """Gets all peerings in a specified ExpressRouteCrossConnection. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cross_connection_name: The name of the + ExpressRouteCrossConnection. + :type cross_connection_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of + ExpressRouteCrossConnectionPeering + :rtype: + ~azure.mgmt.network.v2020_04_01.models.ExpressRouteCrossConnectionPeeringPaged[~azure.mgmt.network.v2020_04_01.models.ExpressRouteCrossConnectionPeering] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'crossConnectionName': self._serialize.url("cross_connection_name", cross_connection_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.ExpressRouteCrossConnectionPeeringPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings'} + + + def _delete_initial( + self, resource_group_name, cross_connection_name, peering_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'crossConnectionName': self._serialize.url("cross_connection_name", cross_connection_name, 'str'), + 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, cross_connection_name, peering_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified peering from the ExpressRouteCrossConnection. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cross_connection_name: The name of the + ExpressRouteCrossConnection. + :type cross_connection_name: str + :param peering_name: The name of the peering. + :type peering_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + cross_connection_name=cross_connection_name, + peering_name=peering_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}'} + + def get( + self, resource_group_name, cross_connection_name, peering_name, custom_headers=None, raw=False, **operation_config): + """Gets the specified peering for the ExpressRouteCrossConnection. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cross_connection_name: The name of the + ExpressRouteCrossConnection. + :type cross_connection_name: str + :param peering_name: The name of the peering. + :type peering_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ExpressRouteCrossConnectionPeering or ClientRawResponse if + raw=true + :rtype: + ~azure.mgmt.network.v2020_04_01.models.ExpressRouteCrossConnectionPeering + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'crossConnectionName': self._serialize.url("cross_connection_name", cross_connection_name, 'str'), + 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ExpressRouteCrossConnectionPeering', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}'} + + + def _create_or_update_initial( + self, resource_group_name, cross_connection_name, peering_name, peering_parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'crossConnectionName': self._serialize.url("cross_connection_name", cross_connection_name, 'str'), + 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(peering_parameters, 'ExpressRouteCrossConnectionPeering') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('ExpressRouteCrossConnectionPeering', response) + if response.status_code == 201: + deserialized = self._deserialize('ExpressRouteCrossConnectionPeering', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, cross_connection_name, peering_name, peering_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a peering in the specified + ExpressRouteCrossConnection. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cross_connection_name: The name of the + ExpressRouteCrossConnection. + :type cross_connection_name: str + :param peering_name: The name of the peering. + :type peering_name: str + :param peering_parameters: Parameters supplied to the create or update + ExpressRouteCrossConnection peering operation. + :type peering_parameters: + ~azure.mgmt.network.v2020_04_01.models.ExpressRouteCrossConnectionPeering + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + ExpressRouteCrossConnectionPeering or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.ExpressRouteCrossConnectionPeering] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.ExpressRouteCrossConnectionPeering]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + cross_connection_name=cross_connection_name, + peering_name=peering_name, + peering_parameters=peering_parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ExpressRouteCrossConnectionPeering', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_express_route_cross_connections_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_express_route_cross_connections_operations.py new file mode 100644 index 00000000000..bdd0c089ea2 --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_express_route_cross_connections_operations.py @@ -0,0 +1,729 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class ExpressRouteCrossConnectionsOperations(object): + """ExpressRouteCrossConnectionsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Retrieves all the ExpressRouteCrossConnections in a subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of ExpressRouteCrossConnection + :rtype: + ~azure.mgmt.network.v2020_04_01.models.ExpressRouteCrossConnectionPaged[~azure.mgmt.network.v2020_04_01.models.ExpressRouteCrossConnection] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.ExpressRouteCrossConnectionPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/expressRouteCrossConnections'} + + def list_by_resource_group( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Retrieves all the ExpressRouteCrossConnections in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of ExpressRouteCrossConnection + :rtype: + ~azure.mgmt.network.v2020_04_01.models.ExpressRouteCrossConnectionPaged[~azure.mgmt.network.v2020_04_01.models.ExpressRouteCrossConnection] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.ExpressRouteCrossConnectionPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections'} + + def get( + self, resource_group_name, cross_connection_name, custom_headers=None, raw=False, **operation_config): + """Gets details about the specified ExpressRouteCrossConnection. + + :param resource_group_name: The name of the resource group (peering + location of the circuit). + :type resource_group_name: str + :param cross_connection_name: The name of the + ExpressRouteCrossConnection (service key of the circuit). + :type cross_connection_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ExpressRouteCrossConnection or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.network.v2020_04_01.models.ExpressRouteCrossConnection or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'crossConnectionName': self._serialize.url("cross_connection_name", cross_connection_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ExpressRouteCrossConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}'} + + + def _create_or_update_initial( + self, resource_group_name, cross_connection_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'crossConnectionName': self._serialize.url("cross_connection_name", cross_connection_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'ExpressRouteCrossConnection') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ExpressRouteCrossConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, cross_connection_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Update the specified ExpressRouteCrossConnection. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cross_connection_name: The name of the + ExpressRouteCrossConnection. + :type cross_connection_name: str + :param parameters: Parameters supplied to the update express route + crossConnection operation. + :type parameters: + ~azure.mgmt.network.v2020_04_01.models.ExpressRouteCrossConnection + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + ExpressRouteCrossConnection or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.ExpressRouteCrossConnection] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.ExpressRouteCrossConnection]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + cross_connection_name=cross_connection_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ExpressRouteCrossConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}'} + + def update_tags( + self, resource_group_name, cross_connection_name, tags=None, custom_headers=None, raw=False, **operation_config): + """Updates an express route cross connection tags. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cross_connection_name: The name of the cross connection. + :type cross_connection_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ExpressRouteCrossConnection or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.network.v2020_04_01.models.ExpressRouteCrossConnection or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + cross_connection_parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'crossConnectionName': self._serialize.url("cross_connection_name", cross_connection_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(cross_connection_parameters, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ExpressRouteCrossConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}'} + + + def _list_arp_table_initial( + self, resource_group_name, cross_connection_name, peering_name, device_path, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.list_arp_table.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'crossConnectionName': self._serialize.url("cross_connection_name", cross_connection_name, 'str'), + 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), + 'devicePath': self._serialize.url("device_path", device_path, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('ExpressRouteCircuitsArpTableListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def list_arp_table( + self, resource_group_name, cross_connection_name, peering_name, device_path, custom_headers=None, raw=False, polling=True, **operation_config): + """Gets the currently advertised ARP table associated with the express + route cross connection in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cross_connection_name: The name of the + ExpressRouteCrossConnection. + :type cross_connection_name: str + :param peering_name: The name of the peering. + :type peering_name: str + :param device_path: The path of the device. + :type device_path: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + ExpressRouteCircuitsArpTableListResult or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitsArpTableListResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitsArpTableListResult]] + :raises: :class:`CloudError` + """ + raw_result = self._list_arp_table_initial( + resource_group_name=resource_group_name, + cross_connection_name=cross_connection_name, + peering_name=peering_name, + device_path=device_path, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ExpressRouteCircuitsArpTableListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + list_arp_table.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}/arpTables/{devicePath}'} + + + def _list_routes_table_summary_initial( + self, resource_group_name, cross_connection_name, peering_name, device_path, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.list_routes_table_summary.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'crossConnectionName': self._serialize.url("cross_connection_name", cross_connection_name, 'str'), + 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), + 'devicePath': self._serialize.url("device_path", device_path, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('ExpressRouteCrossConnectionsRoutesTableSummaryListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def list_routes_table_summary( + self, resource_group_name, cross_connection_name, peering_name, device_path, custom_headers=None, raw=False, polling=True, **operation_config): + """Gets the route table summary associated with the express route cross + connection in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cross_connection_name: The name of the + ExpressRouteCrossConnection. + :type cross_connection_name: str + :param peering_name: The name of the peering. + :type peering_name: str + :param device_path: The path of the device. + :type device_path: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + ExpressRouteCrossConnectionsRoutesTableSummaryListResult or + ClientRawResponse + if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.ExpressRouteCrossConnectionsRoutesTableSummaryListResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.ExpressRouteCrossConnectionsRoutesTableSummaryListResult]] + :raises: :class:`CloudError` + """ + raw_result = self._list_routes_table_summary_initial( + resource_group_name=resource_group_name, + cross_connection_name=cross_connection_name, + peering_name=peering_name, + device_path=device_path, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ExpressRouteCrossConnectionsRoutesTableSummaryListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + list_routes_table_summary.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}/routeTablesSummary/{devicePath}'} + + + def _list_routes_table_initial( + self, resource_group_name, cross_connection_name, peering_name, device_path, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.list_routes_table.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'crossConnectionName': self._serialize.url("cross_connection_name", cross_connection_name, 'str'), + 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), + 'devicePath': self._serialize.url("device_path", device_path, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('ExpressRouteCircuitsRoutesTableListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def list_routes_table( + self, resource_group_name, cross_connection_name, peering_name, device_path, custom_headers=None, raw=False, polling=True, **operation_config): + """Gets the currently advertised routes table associated with the express + route cross connection in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cross_connection_name: The name of the + ExpressRouteCrossConnection. + :type cross_connection_name: str + :param peering_name: The name of the peering. + :type peering_name: str + :param device_path: The path of the device. + :type device_path: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + ExpressRouteCircuitsRoutesTableListResult or + ClientRawResponse if + raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitsRoutesTableListResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitsRoutesTableListResult]] + :raises: :class:`CloudError` + """ + raw_result = self._list_routes_table_initial( + resource_group_name=resource_group_name, + cross_connection_name=cross_connection_name, + peering_name=peering_name, + device_path=device_path, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ExpressRouteCircuitsRoutesTableListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + list_routes_table.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}/routeTables/{devicePath}'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_express_route_gateways_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_express_route_gateways_operations.py new file mode 100644 index 00000000000..7e28a68aae6 --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_express_route_gateways_operations.py @@ -0,0 +1,405 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class ExpressRouteGatewaysOperations(object): + """ExpressRouteGatewaysOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + def list_by_subscription( + self, custom_headers=None, raw=False, **operation_config): + """Lists ExpressRoute gateways under a given subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ExpressRouteGatewayList or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.ExpressRouteGatewayList + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.list_by_subscription.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ExpressRouteGatewayList', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list_by_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/expressRouteGateways'} + + def list_by_resource_group( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Lists ExpressRoute gateways in a given resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ExpressRouteGatewayList or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.ExpressRouteGatewayList + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ExpressRouteGatewayList', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteGateways'} + + + def _create_or_update_initial( + self, resource_group_name, express_route_gateway_name, put_express_route_gateway_parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'expressRouteGatewayName': self._serialize.url("express_route_gateway_name", express_route_gateway_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(put_express_route_gateway_parameters, 'ExpressRouteGateway') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('ExpressRouteGateway', response) + if response.status_code == 201: + deserialized = self._deserialize('ExpressRouteGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, express_route_gateway_name, put_express_route_gateway_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a ExpressRoute gateway in a specified resource + group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param express_route_gateway_name: The name of the ExpressRoute + gateway. + :type express_route_gateway_name: str + :param put_express_route_gateway_parameters: Parameters required in an + ExpressRoute gateway PUT operation. + :type put_express_route_gateway_parameters: + ~azure.mgmt.network.v2020_04_01.models.ExpressRouteGateway + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns ExpressRouteGateway or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.ExpressRouteGateway] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.ExpressRouteGateway]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + express_route_gateway_name=express_route_gateway_name, + put_express_route_gateway_parameters=put_express_route_gateway_parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ExpressRouteGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteGateways/{expressRouteGatewayName}'} + + def get( + self, resource_group_name, express_route_gateway_name, custom_headers=None, raw=False, **operation_config): + """Fetches the details of a ExpressRoute gateway in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param express_route_gateway_name: The name of the ExpressRoute + gateway. + :type express_route_gateway_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ExpressRouteGateway or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.ExpressRouteGateway or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'expressRouteGatewayName': self._serialize.url("express_route_gateway_name", express_route_gateway_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ExpressRouteGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteGateways/{expressRouteGatewayName}'} + + + def _delete_initial( + self, resource_group_name, express_route_gateway_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'expressRouteGatewayName': self._serialize.url("express_route_gateway_name", express_route_gateway_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, express_route_gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified ExpressRoute gateway in a resource group. An + ExpressRoute gateway resource can only be deleted when there are no + connection subresources. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param express_route_gateway_name: The name of the ExpressRoute + gateway. + :type express_route_gateway_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + express_route_gateway_name=express_route_gateway_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteGateways/{expressRouteGatewayName}'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_express_route_links_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_express_route_links_operations.py new file mode 100644 index 00000000000..79a7d802871 --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_express_route_links_operations.py @@ -0,0 +1,179 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class ExpressRouteLinksOperations(object): + """ExpressRouteLinksOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + def get( + self, resource_group_name, express_route_port_name, link_name, custom_headers=None, raw=False, **operation_config): + """Retrieves the specified ExpressRouteLink resource. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param express_route_port_name: The name of the ExpressRoutePort + resource. + :type express_route_port_name: str + :param link_name: The name of the ExpressRouteLink resource. + :type link_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ExpressRouteLink or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.ExpressRouteLink or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'expressRoutePortName': self._serialize.url("express_route_port_name", express_route_port_name, 'str'), + 'linkName': self._serialize.url("link_name", link_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ExpressRouteLink', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ExpressRoutePorts/{expressRoutePortName}/links/{linkName}'} + + def list( + self, resource_group_name, express_route_port_name, custom_headers=None, raw=False, **operation_config): + """Retrieve the ExpressRouteLink sub-resources of the specified + ExpressRoutePort resource. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param express_route_port_name: The name of the ExpressRoutePort + resource. + :type express_route_port_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of ExpressRouteLink + :rtype: + ~azure.mgmt.network.v2020_04_01.models.ExpressRouteLinkPaged[~azure.mgmt.network.v2020_04_01.models.ExpressRouteLink] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'expressRoutePortName': self._serialize.url("express_route_port_name", express_route_port_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.ExpressRouteLinkPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ExpressRoutePorts/{expressRoutePortName}/links'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_express_route_ports_locations_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_express_route_ports_locations_operations.py new file mode 100644 index 00000000000..491272ab578 --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_express_route_ports_locations_operations.py @@ -0,0 +1,169 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class ExpressRoutePortsLocationsOperations(object): + """ExpressRoutePortsLocationsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Retrieves all ExpressRoutePort peering locations. Does not return + available bandwidths for each location. Available bandwidths can only + be obtained when retrieving a specific peering location. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of ExpressRoutePortsLocation + :rtype: + ~azure.mgmt.network.v2020_04_01.models.ExpressRoutePortsLocationPaged[~azure.mgmt.network.v2020_04_01.models.ExpressRoutePortsLocation] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.ExpressRoutePortsLocationPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/ExpressRoutePortsLocations'} + + def get( + self, location_name, custom_headers=None, raw=False, **operation_config): + """Retrieves a single ExpressRoutePort peering location, including the + list of available bandwidths available at said peering location. + + :param location_name: Name of the requested ExpressRoutePort peering + location. + :type location_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ExpressRoutePortsLocation or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.network.v2020_04_01.models.ExpressRoutePortsLocation or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'locationName': self._serialize.url("location_name", location_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ExpressRoutePortsLocation', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/ExpressRoutePortsLocations/{locationName}'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_express_route_ports_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_express_route_ports_operations.py new file mode 100644 index 00000000000..6c7c37c09e2 --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_express_route_ports_operations.py @@ -0,0 +1,494 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class ExpressRoutePortsOperations(object): + """ExpressRoutePortsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, express_route_port_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'expressRoutePortName': self._serialize.url("express_route_port_name", express_route_port_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, express_route_port_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified ExpressRoutePort resource. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param express_route_port_name: The name of the ExpressRoutePort + resource. + :type express_route_port_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + express_route_port_name=express_route_port_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ExpressRoutePorts/{expressRoutePortName}'} + + def get( + self, resource_group_name, express_route_port_name, custom_headers=None, raw=False, **operation_config): + """Retrieves the requested ExpressRoutePort resource. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param express_route_port_name: The name of ExpressRoutePort. + :type express_route_port_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ExpressRoutePort or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.ExpressRoutePort or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'expressRoutePortName': self._serialize.url("express_route_port_name", express_route_port_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ExpressRoutePort', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ExpressRoutePorts/{expressRoutePortName}'} + + + def _create_or_update_initial( + self, resource_group_name, express_route_port_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'expressRoutePortName': self._serialize.url("express_route_port_name", express_route_port_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'ExpressRoutePort') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('ExpressRoutePort', response) + if response.status_code == 201: + deserialized = self._deserialize('ExpressRoutePort', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, express_route_port_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates the specified ExpressRoutePort resource. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param express_route_port_name: The name of the ExpressRoutePort + resource. + :type express_route_port_name: str + :param parameters: Parameters supplied to the create ExpressRoutePort + operation. + :type parameters: + ~azure.mgmt.network.v2020_04_01.models.ExpressRoutePort + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns ExpressRoutePort or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.ExpressRoutePort] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.ExpressRoutePort]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + express_route_port_name=express_route_port_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ExpressRoutePort', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ExpressRoutePorts/{expressRoutePortName}'} + + def update_tags( + self, resource_group_name, express_route_port_name, tags=None, custom_headers=None, raw=False, **operation_config): + """Update ExpressRoutePort tags. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param express_route_port_name: The name of the ExpressRoutePort + resource. + :type express_route_port_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ExpressRoutePort or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.ExpressRoutePort or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'expressRoutePortName': self._serialize.url("express_route_port_name", express_route_port_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ExpressRoutePort', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ExpressRoutePorts/{expressRoutePortName}'} + + def list_by_resource_group( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """List all the ExpressRoutePort resources in the specified resource + group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of ExpressRoutePort + :rtype: + ~azure.mgmt.network.v2020_04_01.models.ExpressRoutePortPaged[~azure.mgmt.network.v2020_04_01.models.ExpressRoutePort] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.ExpressRoutePortPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ExpressRoutePorts'} + + def list( + self, custom_headers=None, raw=False, **operation_config): + """List all the ExpressRoutePort resources in the specified subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of ExpressRoutePort + :rtype: + ~azure.mgmt.network.v2020_04_01.models.ExpressRoutePortPaged[~azure.mgmt.network.v2020_04_01.models.ExpressRoutePort] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.ExpressRoutePortPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/ExpressRoutePorts'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_express_route_service_providers_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_express_route_service_providers_operations.py new file mode 100644 index 00000000000..2be7ea77c1e --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_express_route_service_providers_operations.py @@ -0,0 +1,106 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class ExpressRouteServiceProvidersOperations(object): + """ExpressRouteServiceProvidersOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Gets all the available express route service providers. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of ExpressRouteServiceProvider + :rtype: + ~azure.mgmt.network.v2020_04_01.models.ExpressRouteServiceProviderPaged[~azure.mgmt.network.v2020_04_01.models.ExpressRouteServiceProvider] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.ExpressRouteServiceProviderPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/expressRouteServiceProviders'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_firewall_policies_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_firewall_policies_operations.py new file mode 100644 index 00000000000..bb8918286e5 --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_firewall_policies_operations.py @@ -0,0 +1,425 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class FirewallPoliciesOperations(object): + """FirewallPoliciesOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, firewall_policy_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'firewallPolicyName': self._serialize.url("firewall_policy_name", firewall_policy_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, firewall_policy_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified Firewall Policy. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param firewall_policy_name: The name of the Firewall Policy. + :type firewall_policy_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + firewall_policy_name=firewall_policy_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies/{firewallPolicyName}'} + + def get( + self, resource_group_name, firewall_policy_name, expand=None, custom_headers=None, raw=False, **operation_config): + """Gets the specified Firewall Policy. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param firewall_policy_name: The name of the Firewall Policy. + :type firewall_policy_name: str + :param expand: Expands referenced resources. + :type expand: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: FirewallPolicy or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.FirewallPolicy or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'firewallPolicyName': self._serialize.url("firewall_policy_name", firewall_policy_name, 'str'), + '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.api_version", self.api_version, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('FirewallPolicy', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies/{firewallPolicyName}'} + + + def _create_or_update_initial( + self, resource_group_name, firewall_policy_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'firewallPolicyName': self._serialize.url("firewall_policy_name", firewall_policy_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'FirewallPolicy') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('FirewallPolicy', response) + if response.status_code == 201: + deserialized = self._deserialize('FirewallPolicy', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, firewall_policy_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates the specified Firewall Policy. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param firewall_policy_name: The name of the Firewall Policy. + :type firewall_policy_name: str + :param parameters: Parameters supplied to the create or update + Firewall Policy operation. + :type parameters: + ~azure.mgmt.network.v2020_04_01.models.FirewallPolicy + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns FirewallPolicy or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.FirewallPolicy] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.FirewallPolicy]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + firewall_policy_name=firewall_policy_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('FirewallPolicy', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies/{firewallPolicyName}'} + + def list( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Lists all Firewall Policies in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of FirewallPolicy + :rtype: + ~azure.mgmt.network.v2020_04_01.models.FirewallPolicyPaged[~azure.mgmt.network.v2020_04_01.models.FirewallPolicy] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.FirewallPolicyPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies'} + + def list_all( + self, custom_headers=None, raw=False, **operation_config): + """Gets all the Firewall Policies in a subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of FirewallPolicy + :rtype: + ~azure.mgmt.network.v2020_04_01.models.FirewallPolicyPaged[~azure.mgmt.network.v2020_04_01.models.FirewallPolicy] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_all.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.FirewallPolicyPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/firewallPolicies'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_firewall_policy_rule_groups_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_firewall_policy_rule_groups_operations.py new file mode 100644 index 00000000000..32d399157a0 --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_firewall_policy_rule_groups_operations.py @@ -0,0 +1,369 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class FirewallPolicyRuleGroupsOperations(object): + """FirewallPolicyRuleGroupsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, firewall_policy_name, rule_group_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'firewallPolicyName': self._serialize.url("firewall_policy_name", firewall_policy_name, 'str'), + 'ruleGroupName': self._serialize.url("rule_group_name", rule_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, firewall_policy_name, rule_group_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified FirewallPolicyRuleGroup. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param firewall_policy_name: The name of the Firewall Policy. + :type firewall_policy_name: str + :param rule_group_name: The name of the FirewallPolicyRuleGroup. + :type rule_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + firewall_policy_name=firewall_policy_name, + rule_group_name=rule_group_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies/{firewallPolicyName}/ruleGroups/{ruleGroupName}'} + + def get( + self, resource_group_name, firewall_policy_name, rule_group_name, custom_headers=None, raw=False, **operation_config): + """Gets the specified FirewallPolicyRuleGroup. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param firewall_policy_name: The name of the Firewall Policy. + :type firewall_policy_name: str + :param rule_group_name: The name of the FirewallPolicyRuleGroup. + :type rule_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: FirewallPolicyRuleGroup or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.FirewallPolicyRuleGroup + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'firewallPolicyName': self._serialize.url("firewall_policy_name", firewall_policy_name, 'str'), + 'ruleGroupName': self._serialize.url("rule_group_name", rule_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('FirewallPolicyRuleGroup', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies/{firewallPolicyName}/ruleGroups/{ruleGroupName}'} + + + def _create_or_update_initial( + self, resource_group_name, firewall_policy_name, rule_group_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'firewallPolicyName': self._serialize.url("firewall_policy_name", firewall_policy_name, 'str'), + 'ruleGroupName': self._serialize.url("rule_group_name", rule_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'FirewallPolicyRuleGroup') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('FirewallPolicyRuleGroup', response) + if response.status_code == 201: + deserialized = self._deserialize('FirewallPolicyRuleGroup', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, firewall_policy_name, rule_group_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates the specified FirewallPolicyRuleGroup. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param firewall_policy_name: The name of the Firewall Policy. + :type firewall_policy_name: str + :param rule_group_name: The name of the FirewallPolicyRuleGroup. + :type rule_group_name: str + :param parameters: Parameters supplied to the create or update + FirewallPolicyRuleGroup operation. + :type parameters: + ~azure.mgmt.network.v2020_04_01.models.FirewallPolicyRuleGroup + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns FirewallPolicyRuleGroup + or ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.FirewallPolicyRuleGroup] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.FirewallPolicyRuleGroup]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + firewall_policy_name=firewall_policy_name, + rule_group_name=rule_group_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('FirewallPolicyRuleGroup', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies/{firewallPolicyName}/ruleGroups/{ruleGroupName}'} + + def list( + self, resource_group_name, firewall_policy_name, custom_headers=None, raw=False, **operation_config): + """Lists all FirewallPolicyRuleGroups in a FirewallPolicy resource. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param firewall_policy_name: The name of the Firewall Policy. + :type firewall_policy_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of FirewallPolicyRuleGroup + :rtype: + ~azure.mgmt.network.v2020_04_01.models.FirewallPolicyRuleGroupPaged[~azure.mgmt.network.v2020_04_01.models.FirewallPolicyRuleGroup] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'firewallPolicyName': self._serialize.url("firewall_policy_name", firewall_policy_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.FirewallPolicyRuleGroupPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies/{firewallPolicyName}/ruleGroups'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_flow_logs_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_flow_logs_operations.py new file mode 100644 index 00000000000..5c907b0e585 --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_flow_logs_operations.py @@ -0,0 +1,364 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class FlowLogsOperations(object): + """FlowLogsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + + def _create_or_update_initial( + self, resource_group_name, network_watcher_name, flow_log_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), + 'flowLogName': self._serialize.url("flow_log_name", flow_log_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'FlowLog') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('FlowLog', response) + if response.status_code == 201: + deserialized = self._deserialize('FlowLog', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, network_watcher_name, flow_log_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Create or update a flow log for the specified network security group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_watcher_name: The name of the network watcher. + :type network_watcher_name: str + :param flow_log_name: The name of the flow log. + :type flow_log_name: str + :param parameters: Parameters that define the create or update flow + log resource. + :type parameters: ~azure.mgmt.network.v2020_04_01.models.FlowLog + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns FlowLog or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.FlowLog] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.FlowLog]] + :raises: + :class:`ErrorResponseException` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + network_watcher_name=network_watcher_name, + flow_log_name=flow_log_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('FlowLog', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/flowLogs/{flowLogName}'} + + def get( + self, resource_group_name, network_watcher_name, flow_log_name, custom_headers=None, raw=False, **operation_config): + """Gets a flow log resource by name. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_watcher_name: The name of the network watcher. + :type network_watcher_name: str + :param flow_log_name: The name of the flow log resource. + :type flow_log_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: FlowLog or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.FlowLog or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), + 'flowLogName': self._serialize.url("flow_log_name", flow_log_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('FlowLog', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/flowLogs/{flowLogName}'} + + + def _delete_initial( + self, resource_group_name, network_watcher_name, flow_log_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), + 'flowLogName': self._serialize.url("flow_log_name", flow_log_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [202, 204]: + raise models.ErrorResponseException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, network_watcher_name, flow_log_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified flow log resource. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_watcher_name: The name of the network watcher. + :type network_watcher_name: str + :param flow_log_name: The name of the flow log resource. + :type flow_log_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: + :class:`ErrorResponseException` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + network_watcher_name=network_watcher_name, + flow_log_name=flow_log_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/flowLogs/{flowLogName}'} + + def list( + self, resource_group_name, network_watcher_name, custom_headers=None, raw=False, **operation_config): + """Lists all flow log resources for the specified Network Watcher. + + :param resource_group_name: The name of the resource group containing + Network Watcher. + :type resource_group_name: str + :param network_watcher_name: The name of the Network Watcher resource. + :type network_watcher_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of FlowLog + :rtype: + ~azure.mgmt.network.v2020_04_01.models.FlowLogPaged[~azure.mgmt.network.v2020_04_01.models.FlowLog] + :raises: + :class:`ErrorResponseException` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.FlowLogPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/flowLogs'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_hub_route_tables_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_hub_route_tables_operations.py new file mode 100644 index 00000000000..a1f393b0787 --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_hub_route_tables_operations.py @@ -0,0 +1,370 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class HubRouteTablesOperations(object): + """HubRouteTablesOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + + def _create_or_update_initial( + self, resource_group_name, virtual_hub_name, route_table_name, route_table_parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualHubName': self._serialize.url("virtual_hub_name", virtual_hub_name, 'str'), + 'routeTableName': self._serialize.url("route_table_name", route_table_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(route_table_parameters, 'HubRouteTable') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('HubRouteTable', response) + if response.status_code == 201: + deserialized = self._deserialize('HubRouteTable', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, virtual_hub_name, route_table_name, route_table_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates a RouteTable resource if it doesn't exist else updates the + existing RouteTable. + + :param resource_group_name: The resource group name of the VirtualHub. + :type resource_group_name: str + :param virtual_hub_name: The name of the VirtualHub. + :type virtual_hub_name: str + :param route_table_name: The name of the RouteTable. + :type route_table_name: str + :param route_table_parameters: Parameters supplied to create or update + RouteTable. + :type route_table_parameters: + ~azure.mgmt.network.v2020_04_01.models.HubRouteTable + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns HubRouteTable or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.HubRouteTable] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.HubRouteTable]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + virtual_hub_name=virtual_hub_name, + route_table_name=route_table_name, + route_table_parameters=route_table_parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('HubRouteTable', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}/hubRouteTables/{routeTableName}'} + + def get( + self, resource_group_name, virtual_hub_name, route_table_name, custom_headers=None, raw=False, **operation_config): + """Retrieves the details of a RouteTable. + + :param resource_group_name: The resource group name of the VirtualHub. + :type resource_group_name: str + :param virtual_hub_name: The name of the VirtualHub. + :type virtual_hub_name: str + :param route_table_name: The name of the RouteTable. + :type route_table_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: HubRouteTable or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.HubRouteTable or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualHubName': self._serialize.url("virtual_hub_name", virtual_hub_name, 'str'), + 'routeTableName': self._serialize.url("route_table_name", route_table_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('HubRouteTable', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}/hubRouteTables/{routeTableName}'} + + + def _delete_initial( + self, resource_group_name, virtual_hub_name, route_table_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualHubName': self._serialize.url("virtual_hub_name", virtual_hub_name, 'str'), + 'routeTableName': self._serialize.url("route_table_name", route_table_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, virtual_hub_name, route_table_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes a RouteTable. + + :param resource_group_name: The resource group name of the RouteTable. + :type resource_group_name: str + :param virtual_hub_name: The name of the VirtualHub. + :type virtual_hub_name: str + :param route_table_name: The name of the RouteTable. + :type route_table_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + virtual_hub_name=virtual_hub_name, + route_table_name=route_table_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}/hubRouteTables/{routeTableName}'} + + def list( + self, resource_group_name, virtual_hub_name, custom_headers=None, raw=False, **operation_config): + """Retrieves the details of all RouteTables. + + :param resource_group_name: The resource group name of the VirtualHub. + :type resource_group_name: str + :param virtual_hub_name: The name of the VirtualHub. + :type virtual_hub_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of HubRouteTable + :rtype: + ~azure.mgmt.network.v2020_04_01.models.HubRouteTablePaged[~azure.mgmt.network.v2020_04_01.models.HubRouteTable] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualHubName': self._serialize.url("virtual_hub_name", virtual_hub_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.HubRouteTablePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}/hubRouteTables'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_hub_virtual_network_connections_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_hub_virtual_network_connections_operations.py new file mode 100644 index 00000000000..fce28991b01 --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_hub_virtual_network_connections_operations.py @@ -0,0 +1,177 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class HubVirtualNetworkConnectionsOperations(object): + """HubVirtualNetworkConnectionsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + def get( + self, resource_group_name, virtual_hub_name, connection_name, custom_headers=None, raw=False, **operation_config): + """Retrieves the details of a HubVirtualNetworkConnection. + + :param resource_group_name: The resource group name of the VirtualHub. + :type resource_group_name: str + :param virtual_hub_name: The name of the VirtualHub. + :type virtual_hub_name: str + :param connection_name: The name of the vpn connection. + :type connection_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: HubVirtualNetworkConnection or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.network.v2020_04_01.models.HubVirtualNetworkConnection or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualHubName': self._serialize.url("virtual_hub_name", virtual_hub_name, 'str'), + 'connectionName': self._serialize.url("connection_name", connection_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('HubVirtualNetworkConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}/hubVirtualNetworkConnections/{connectionName}'} + + def list( + self, resource_group_name, virtual_hub_name, custom_headers=None, raw=False, **operation_config): + """Retrieves the details of all HubVirtualNetworkConnections. + + :param resource_group_name: The resource group name of the VirtualHub. + :type resource_group_name: str + :param virtual_hub_name: The name of the VirtualHub. + :type virtual_hub_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of HubVirtualNetworkConnection + :rtype: + ~azure.mgmt.network.v2020_04_01.models.HubVirtualNetworkConnectionPaged[~azure.mgmt.network.v2020_04_01.models.HubVirtualNetworkConnection] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualHubName': self._serialize.url("virtual_hub_name", virtual_hub_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.HubVirtualNetworkConnectionPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}/hubVirtualNetworkConnections'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_inbound_nat_rules_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_inbound_nat_rules_operations.py new file mode 100644 index 00000000000..cf94ccd7f13 --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_inbound_nat_rules_operations.py @@ -0,0 +1,373 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class InboundNatRulesOperations(object): + """InboundNatRulesOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + def list( + self, resource_group_name, load_balancer_name, custom_headers=None, raw=False, **operation_config): + """Gets all the inbound nat rules in a load balancer. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param load_balancer_name: The name of the load balancer. + :type load_balancer_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of InboundNatRule + :rtype: + ~azure.mgmt.network.v2020_04_01.models.InboundNatRulePaged[~azure.mgmt.network.v2020_04_01.models.InboundNatRule] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.InboundNatRulePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/inboundNatRules'} + + + def _delete_initial( + self, resource_group_name, load_balancer_name, inbound_nat_rule_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), + 'inboundNatRuleName': self._serialize.url("inbound_nat_rule_name", inbound_nat_rule_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, load_balancer_name, inbound_nat_rule_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified load balancer inbound nat rule. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param load_balancer_name: The name of the load balancer. + :type load_balancer_name: str + :param inbound_nat_rule_name: The name of the inbound nat rule. + :type inbound_nat_rule_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + load_balancer_name=load_balancer_name, + inbound_nat_rule_name=inbound_nat_rule_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/inboundNatRules/{inboundNatRuleName}'} + + def get( + self, resource_group_name, load_balancer_name, inbound_nat_rule_name, expand=None, custom_headers=None, raw=False, **operation_config): + """Gets the specified load balancer inbound nat rule. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param load_balancer_name: The name of the load balancer. + :type load_balancer_name: str + :param inbound_nat_rule_name: The name of the inbound nat rule. + :type inbound_nat_rule_name: str + :param expand: Expands referenced resources. + :type expand: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: InboundNatRule or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.InboundNatRule or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), + 'inboundNatRuleName': self._serialize.url("inbound_nat_rule_name", inbound_nat_rule_name, 'str'), + '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.api_version", self.api_version, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('InboundNatRule', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/inboundNatRules/{inboundNatRuleName}'} + + + def _create_or_update_initial( + self, resource_group_name, load_balancer_name, inbound_nat_rule_name, inbound_nat_rule_parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), + 'inboundNatRuleName': self._serialize.url("inbound_nat_rule_name", inbound_nat_rule_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(inbound_nat_rule_parameters, 'InboundNatRule') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('InboundNatRule', response) + if response.status_code == 201: + deserialized = self._deserialize('InboundNatRule', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, load_balancer_name, inbound_nat_rule_name, inbound_nat_rule_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a load balancer inbound nat rule. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param load_balancer_name: The name of the load balancer. + :type load_balancer_name: str + :param inbound_nat_rule_name: The name of the inbound nat rule. + :type inbound_nat_rule_name: str + :param inbound_nat_rule_parameters: Parameters supplied to the create + or update inbound nat rule operation. + :type inbound_nat_rule_parameters: + ~azure.mgmt.network.v2020_04_01.models.InboundNatRule + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns InboundNatRule or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.InboundNatRule] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.InboundNatRule]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + load_balancer_name=load_balancer_name, + inbound_nat_rule_name=inbound_nat_rule_name, + inbound_nat_rule_parameters=inbound_nat_rule_parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('InboundNatRule', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/inboundNatRules/{inboundNatRuleName}'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_ip_allocations_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_ip_allocations_operations.py new file mode 100644 index 00000000000..47acf43726b --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_ip_allocations_operations.py @@ -0,0 +1,493 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class IpAllocationsOperations(object): + """IpAllocationsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, ip_allocation_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'ipAllocationName': self._serialize.url("ip_allocation_name", ip_allocation_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, ip_allocation_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified IpAllocation. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param ip_allocation_name: The name of the IpAllocation. + :type ip_allocation_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + ip_allocation_name=ip_allocation_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/IpAllocations/{ipAllocationName}'} + + def get( + self, resource_group_name, ip_allocation_name, expand=None, custom_headers=None, raw=False, **operation_config): + """Gets the specified IpAllocation by resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param ip_allocation_name: The name of the IpAllocation. + :type ip_allocation_name: str + :param expand: Expands referenced resources. + :type expand: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: IpAllocation or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.IpAllocation or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'ipAllocationName': self._serialize.url("ip_allocation_name", ip_allocation_name, 'str'), + '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.api_version", self.api_version, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('IpAllocation', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/IpAllocations/{ipAllocationName}'} + + + def _create_or_update_initial( + self, resource_group_name, ip_allocation_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'ipAllocationName': self._serialize.url("ip_allocation_name", ip_allocation_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'IpAllocation') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('IpAllocation', response) + if response.status_code == 201: + deserialized = self._deserialize('IpAllocation', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, ip_allocation_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates an IpAllocation in the specified resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param ip_allocation_name: The name of the IpAllocation. + :type ip_allocation_name: str + :param parameters: Parameters supplied to the create or update virtual + network operation. + :type parameters: ~azure.mgmt.network.v2020_04_01.models.IpAllocation + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns IpAllocation or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.IpAllocation] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.IpAllocation]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + ip_allocation_name=ip_allocation_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('IpAllocation', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/IpAllocations/{ipAllocationName}'} + + def update_tags( + self, resource_group_name, ip_allocation_name, tags=None, custom_headers=None, raw=False, **operation_config): + """Updates a IpAllocation tags. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param ip_allocation_name: The name of the IpAllocation. + :type ip_allocation_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: IpAllocation or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.IpAllocation or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'ipAllocationName': self._serialize.url("ip_allocation_name", ip_allocation_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('IpAllocation', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/IpAllocations/{ipAllocationName}'} + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Gets all IpAllocations in a subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of IpAllocation + :rtype: + ~azure.mgmt.network.v2020_04_01.models.IpAllocationPaged[~azure.mgmt.network.v2020_04_01.models.IpAllocation] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.IpAllocationPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/IpAllocations'} + + def list_by_resource_group( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Gets all IpAllocations in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of IpAllocation + :rtype: + ~azure.mgmt.network.v2020_04_01.models.IpAllocationPaged[~azure.mgmt.network.v2020_04_01.models.IpAllocation] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.IpAllocationPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/IpAllocations'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_ip_groups_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_ip_groups_operations.py new file mode 100644 index 00000000000..59a8b090c2a --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_ip_groups_operations.py @@ -0,0 +1,487 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class IpGroupsOperations(object): + """IpGroupsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + def get( + self, resource_group_name, ip_groups_name, expand=None, custom_headers=None, raw=False, **operation_config): + """Gets the specified ipGroups. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param ip_groups_name: The name of the ipGroups. + :type ip_groups_name: str + :param expand: Expands resourceIds (of Firewalls/Network Security + Groups etc.) back referenced by the IpGroups resource. + :type expand: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: IpGroup or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.IpGroup or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorException` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'ipGroupsName': self._serialize.url("ip_groups_name", ip_groups_name, 'str'), + '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.api_version", self.api_version, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('IpGroup', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ipGroups/{ipGroupsName}'} + + + def _create_or_update_initial( + self, resource_group_name, ip_groups_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'ipGroupsName': self._serialize.url("ip_groups_name", ip_groups_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'IpGroup') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + raise models.ErrorException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('IpGroup', response) + if response.status_code == 201: + deserialized = self._deserialize('IpGroup', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, ip_groups_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates an ipGroups in a specified resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param ip_groups_name: The name of the ipGroups. + :type ip_groups_name: str + :param parameters: Parameters supplied to the create or update + IpGroups operation. + :type parameters: ~azure.mgmt.network.v2020_04_01.models.IpGroup + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns IpGroup or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.IpGroup] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.IpGroup]] + :raises: + :class:`ErrorException` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + ip_groups_name=ip_groups_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('IpGroup', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ipGroups/{ipGroupsName}'} + + def update_groups( + self, resource_group_name, ip_groups_name, tags=None, custom_headers=None, raw=False, **operation_config): + """Updates tags of an IpGroups resource. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param ip_groups_name: The name of the ipGroups. + :type ip_groups_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: IpGroup or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.IpGroup or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorException` + """ + parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_groups.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'ipGroupsName': self._serialize.url("ip_groups_name", ip_groups_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('IpGroup', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_groups.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ipGroups/{ipGroupsName}'} + + + def _delete_initial( + self, resource_group_name, ip_groups_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'ipGroupsName': self._serialize.url("ip_groups_name", ip_groups_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + raise models.ErrorException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, ip_groups_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified ipGroups. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param ip_groups_name: The name of the ipGroups. + :type ip_groups_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: + :class:`ErrorException` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + ip_groups_name=ip_groups_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ipGroups/{ipGroupsName}'} + + def list_by_resource_group( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Gets all IpGroups in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of IpGroup + :rtype: + ~azure.mgmt.network.v2020_04_01.models.IpGroupPaged[~azure.mgmt.network.v2020_04_01.models.IpGroup] + :raises: + :class:`ErrorException` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorException(self._deserialize, response) + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.IpGroupPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ipGroups'} + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Gets all IpGroups in a subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of IpGroup + :rtype: + ~azure.mgmt.network.v2020_04_01.models.IpGroupPaged[~azure.mgmt.network.v2020_04_01.models.IpGroup] + :raises: + :class:`ErrorException` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorException(self._deserialize, response) + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.IpGroupPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/ipGroups'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_load_balancer_backend_address_pools_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_load_balancer_backend_address_pools_operations.py new file mode 100644 index 00000000000..4770e4401fb --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_load_balancer_backend_address_pools_operations.py @@ -0,0 +1,372 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class LoadBalancerBackendAddressPoolsOperations(object): + """LoadBalancerBackendAddressPoolsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + def list( + self, resource_group_name, load_balancer_name, custom_headers=None, raw=False, **operation_config): + """Gets all the load balancer backed address pools. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param load_balancer_name: The name of the load balancer. + :type load_balancer_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of BackendAddressPool + :rtype: + ~azure.mgmt.network.v2020_04_01.models.BackendAddressPoolPaged[~azure.mgmt.network.v2020_04_01.models.BackendAddressPool] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.BackendAddressPoolPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/backendAddressPools'} + + def get( + self, resource_group_name, load_balancer_name, backend_address_pool_name, custom_headers=None, raw=False, **operation_config): + """Gets load balancer backend address pool. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param load_balancer_name: The name of the load balancer. + :type load_balancer_name: str + :param backend_address_pool_name: The name of the backend address + pool. + :type backend_address_pool_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: BackendAddressPool or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.BackendAddressPool or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), + 'backendAddressPoolName': self._serialize.url("backend_address_pool_name", backend_address_pool_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('BackendAddressPool', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/backendAddressPools/{backendAddressPoolName}'} + + + def _create_or_update_initial( + self, resource_group_name, load_balancer_name, backend_address_pool_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), + 'backendAddressPoolName': self._serialize.url("backend_address_pool_name", backend_address_pool_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'BackendAddressPool') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('BackendAddressPool', response) + if response.status_code == 201: + deserialized = self._deserialize('BackendAddressPool', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, load_balancer_name, backend_address_pool_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a load balancer backend address pool. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param load_balancer_name: The name of the load balancer. + :type load_balancer_name: str + :param backend_address_pool_name: The name of the backend address + pool. + :type backend_address_pool_name: str + :param parameters: Parameters supplied to the create or update load + balancer backend address pool operation. + :type parameters: + ~azure.mgmt.network.v2020_04_01.models.BackendAddressPool + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns BackendAddressPool or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.BackendAddressPool] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.BackendAddressPool]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + load_balancer_name=load_balancer_name, + backend_address_pool_name=backend_address_pool_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('BackendAddressPool', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/backendAddressPools/{backendAddressPoolName}'} + + + def _delete_initial( + self, resource_group_name, load_balancer_name, backend_address_pool_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), + 'backendAddressPoolName': self._serialize.url("backend_address_pool_name", backend_address_pool_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, load_balancer_name, backend_address_pool_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified load balancer backend address pool. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param load_balancer_name: The name of the load balancer. + :type load_balancer_name: str + :param backend_address_pool_name: The name of the backend address + pool. + :type backend_address_pool_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + load_balancer_name=load_balancer_name, + backend_address_pool_name=backend_address_pool_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/backendAddressPools/{backendAddressPoolName}'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_load_balancer_frontend_ip_configurations_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_load_balancer_frontend_ip_configurations_operations.py new file mode 100644 index 00000000000..aa7b54cd237 --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_load_balancer_frontend_ip_configurations_operations.py @@ -0,0 +1,177 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class LoadBalancerFrontendIPConfigurationsOperations(object): + """LoadBalancerFrontendIPConfigurationsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + def list( + self, resource_group_name, load_balancer_name, custom_headers=None, raw=False, **operation_config): + """Gets all the load balancer frontend IP configurations. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param load_balancer_name: The name of the load balancer. + :type load_balancer_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of FrontendIPConfiguration + :rtype: + ~azure.mgmt.network.v2020_04_01.models.FrontendIPConfigurationPaged[~azure.mgmt.network.v2020_04_01.models.FrontendIPConfiguration] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.FrontendIPConfigurationPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/frontendIPConfigurations'} + + def get( + self, resource_group_name, load_balancer_name, frontend_ip_configuration_name, custom_headers=None, raw=False, **operation_config): + """Gets load balancer frontend IP configuration. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param load_balancer_name: The name of the load balancer. + :type load_balancer_name: str + :param frontend_ip_configuration_name: The name of the frontend IP + configuration. + :type frontend_ip_configuration_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: FrontendIPConfiguration or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.FrontendIPConfiguration + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), + 'frontendIPConfigurationName': self._serialize.url("frontend_ip_configuration_name", frontend_ip_configuration_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('FrontendIPConfiguration', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/frontendIPConfigurations/{frontendIPConfigurationName}'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_load_balancer_load_balancing_rules_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_load_balancer_load_balancing_rules_operations.py new file mode 100644 index 00000000000..ecc4fd9c990 --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_load_balancer_load_balancing_rules_operations.py @@ -0,0 +1,176 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class LoadBalancerLoadBalancingRulesOperations(object): + """LoadBalancerLoadBalancingRulesOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + def list( + self, resource_group_name, load_balancer_name, custom_headers=None, raw=False, **operation_config): + """Gets all the load balancing rules in a load balancer. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param load_balancer_name: The name of the load balancer. + :type load_balancer_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of LoadBalancingRule + :rtype: + ~azure.mgmt.network.v2020_04_01.models.LoadBalancingRulePaged[~azure.mgmt.network.v2020_04_01.models.LoadBalancingRule] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.LoadBalancingRulePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/loadBalancingRules'} + + def get( + self, resource_group_name, load_balancer_name, load_balancing_rule_name, custom_headers=None, raw=False, **operation_config): + """Gets the specified load balancer load balancing rule. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param load_balancer_name: The name of the load balancer. + :type load_balancer_name: str + :param load_balancing_rule_name: The name of the load balancing rule. + :type load_balancing_rule_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: LoadBalancingRule or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.LoadBalancingRule or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), + 'loadBalancingRuleName': self._serialize.url("load_balancing_rule_name", load_balancing_rule_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('LoadBalancingRule', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/loadBalancingRules/{loadBalancingRuleName}'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_load_balancer_network_interfaces_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_load_balancer_network_interfaces_operations.py new file mode 100644 index 00000000000..e4871674c2d --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_load_balancer_network_interfaces_operations.py @@ -0,0 +1,112 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class LoadBalancerNetworkInterfacesOperations(object): + """LoadBalancerNetworkInterfacesOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + def list( + self, resource_group_name, load_balancer_name, custom_headers=None, raw=False, **operation_config): + """Gets associated load balancer network interfaces. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param load_balancer_name: The name of the load balancer. + :type load_balancer_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of NetworkInterface + :rtype: + ~azure.mgmt.network.v2020_04_01.models.NetworkInterfacePaged[~azure.mgmt.network.v2020_04_01.models.NetworkInterface] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.NetworkInterfacePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/networkInterfaces'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_load_balancer_outbound_rules_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_load_balancer_outbound_rules_operations.py new file mode 100644 index 00000000000..615ba4d56dd --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_load_balancer_outbound_rules_operations.py @@ -0,0 +1,176 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class LoadBalancerOutboundRulesOperations(object): + """LoadBalancerOutboundRulesOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + def list( + self, resource_group_name, load_balancer_name, custom_headers=None, raw=False, **operation_config): + """Gets all the outbound rules in a load balancer. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param load_balancer_name: The name of the load balancer. + :type load_balancer_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of OutboundRule + :rtype: + ~azure.mgmt.network.v2020_04_01.models.OutboundRulePaged[~azure.mgmt.network.v2020_04_01.models.OutboundRule] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.OutboundRulePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/outboundRules'} + + def get( + self, resource_group_name, load_balancer_name, outbound_rule_name, custom_headers=None, raw=False, **operation_config): + """Gets the specified load balancer outbound rule. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param load_balancer_name: The name of the load balancer. + :type load_balancer_name: str + :param outbound_rule_name: The name of the outbound rule. + :type outbound_rule_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: OutboundRule or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.OutboundRule or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), + 'outboundRuleName': self._serialize.url("outbound_rule_name", outbound_rule_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('OutboundRule', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/outboundRules/{outboundRuleName}'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_load_balancer_probes_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_load_balancer_probes_operations.py new file mode 100644 index 00000000000..424ed347a81 --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_load_balancer_probes_operations.py @@ -0,0 +1,176 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class LoadBalancerProbesOperations(object): + """LoadBalancerProbesOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + def list( + self, resource_group_name, load_balancer_name, custom_headers=None, raw=False, **operation_config): + """Gets all the load balancer probes. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param load_balancer_name: The name of the load balancer. + :type load_balancer_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of Probe + :rtype: + ~azure.mgmt.network.v2020_04_01.models.ProbePaged[~azure.mgmt.network.v2020_04_01.models.Probe] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.ProbePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes'} + + def get( + self, resource_group_name, load_balancer_name, probe_name, custom_headers=None, raw=False, **operation_config): + """Gets load balancer probe. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param load_balancer_name: The name of the load balancer. + :type load_balancer_name: str + :param probe_name: The name of the probe. + :type probe_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: Probe or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.Probe or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), + 'probeName': self._serialize.url("probe_name", probe_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('Probe', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes/{probeName}'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_load_balancers_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_load_balancers_operations.py new file mode 100644 index 00000000000..c364266ef31 --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_load_balancers_operations.py @@ -0,0 +1,493 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class LoadBalancersOperations(object): + """LoadBalancersOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, load_balancer_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, load_balancer_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified load balancer. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param load_balancer_name: The name of the load balancer. + :type load_balancer_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + load_balancer_name=load_balancer_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}'} + + def get( + self, resource_group_name, load_balancer_name, expand=None, custom_headers=None, raw=False, **operation_config): + """Gets the specified load balancer. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param load_balancer_name: The name of the load balancer. + :type load_balancer_name: str + :param expand: Expands referenced resources. + :type expand: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: LoadBalancer or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.LoadBalancer or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), + '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.api_version", self.api_version, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('LoadBalancer', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}'} + + + def _create_or_update_initial( + self, resource_group_name, load_balancer_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'LoadBalancer') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('LoadBalancer', response) + if response.status_code == 201: + deserialized = self._deserialize('LoadBalancer', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, load_balancer_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a load balancer. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param load_balancer_name: The name of the load balancer. + :type load_balancer_name: str + :param parameters: Parameters supplied to the create or update load + balancer operation. + :type parameters: ~azure.mgmt.network.v2020_04_01.models.LoadBalancer + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns LoadBalancer or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.LoadBalancer] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.LoadBalancer]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + load_balancer_name=load_balancer_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('LoadBalancer', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}'} + + def update_tags( + self, resource_group_name, load_balancer_name, tags=None, custom_headers=None, raw=False, **operation_config): + """Updates a load balancer tags. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param load_balancer_name: The name of the load balancer. + :type load_balancer_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: LoadBalancer or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.LoadBalancer or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('LoadBalancer', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}'} + + def list_all( + self, custom_headers=None, raw=False, **operation_config): + """Gets all the load balancers in a subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of LoadBalancer + :rtype: + ~azure.mgmt.network.v2020_04_01.models.LoadBalancerPaged[~azure.mgmt.network.v2020_04_01.models.LoadBalancer] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_all.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.LoadBalancerPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/loadBalancers'} + + def list( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Gets all the load balancers in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of LoadBalancer + :rtype: + ~azure.mgmt.network.v2020_04_01.models.LoadBalancerPaged[~azure.mgmt.network.v2020_04_01.models.LoadBalancer] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.LoadBalancerPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_local_network_gateways_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_local_network_gateways_operations.py new file mode 100644 index 00000000000..639017f9a35 --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_local_network_gateways_operations.py @@ -0,0 +1,429 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class LocalNetworkGatewaysOperations(object): + """LocalNetworkGatewaysOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + + def _create_or_update_initial( + self, resource_group_name, local_network_gateway_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'localNetworkGatewayName': self._serialize.url("local_network_gateway_name", local_network_gateway_name, 'str', min_length=1), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'LocalNetworkGateway') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('LocalNetworkGateway', response) + if response.status_code == 201: + deserialized = self._deserialize('LocalNetworkGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, local_network_gateway_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a local network gateway in the specified resource + group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param local_network_gateway_name: The name of the local network + gateway. + :type local_network_gateway_name: str + :param parameters: Parameters supplied to the create or update local + network gateway operation. + :type parameters: + ~azure.mgmt.network.v2020_04_01.models.LocalNetworkGateway + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns LocalNetworkGateway or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.LocalNetworkGateway] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.LocalNetworkGateway]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + local_network_gateway_name=local_network_gateway_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('LocalNetworkGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/localNetworkGateways/{localNetworkGatewayName}'} + + def get( + self, resource_group_name, local_network_gateway_name, custom_headers=None, raw=False, **operation_config): + """Gets the specified local network gateway in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param local_network_gateway_name: The name of the local network + gateway. + :type local_network_gateway_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: LocalNetworkGateway or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.LocalNetworkGateway or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'localNetworkGatewayName': self._serialize.url("local_network_gateway_name", local_network_gateway_name, 'str', min_length=1), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('LocalNetworkGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/localNetworkGateways/{localNetworkGatewayName}'} + + + def _delete_initial( + self, resource_group_name, local_network_gateway_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'localNetworkGatewayName': self._serialize.url("local_network_gateway_name", local_network_gateway_name, 'str', min_length=1), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, local_network_gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified local network gateway. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param local_network_gateway_name: The name of the local network + gateway. + :type local_network_gateway_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + local_network_gateway_name=local_network_gateway_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/localNetworkGateways/{localNetworkGatewayName}'} + + def update_tags( + self, resource_group_name, local_network_gateway_name, tags=None, custom_headers=None, raw=False, **operation_config): + """Updates a local network gateway tags. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param local_network_gateway_name: The name of the local network + gateway. + :type local_network_gateway_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: LocalNetworkGateway or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.LocalNetworkGateway or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'localNetworkGatewayName': self._serialize.url("local_network_gateway_name", local_network_gateway_name, 'str', min_length=1), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('LocalNetworkGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/localNetworkGateways/{localNetworkGatewayName}'} + + def list( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Gets all the local network gateways in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of LocalNetworkGateway + :rtype: + ~azure.mgmt.network.v2020_04_01.models.LocalNetworkGatewayPaged[~azure.mgmt.network.v2020_04_01.models.LocalNetworkGateway] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.LocalNetworkGatewayPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/localNetworkGateways'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_nat_gateways_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_nat_gateways_operations.py new file mode 100644 index 00000000000..b4104056ea8 --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_nat_gateways_operations.py @@ -0,0 +1,495 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class NatGatewaysOperations(object): + """NatGatewaysOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, nat_gateway_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'natGatewayName': self._serialize.url("nat_gateway_name", nat_gateway_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, nat_gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified nat gateway. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param nat_gateway_name: The name of the nat gateway. + :type nat_gateway_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + nat_gateway_name=nat_gateway_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/natGateways/{natGatewayName}'} + + def get( + self, resource_group_name, nat_gateway_name, expand=None, custom_headers=None, raw=False, **operation_config): + """Gets the specified nat gateway in a specified resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param nat_gateway_name: The name of the nat gateway. + :type nat_gateway_name: str + :param expand: Expands referenced resources. + :type expand: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: NatGateway or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.NatGateway or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'natGatewayName': self._serialize.url("nat_gateway_name", nat_gateway_name, 'str'), + '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.api_version", self.api_version, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('NatGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/natGateways/{natGatewayName}'} + + + def _create_or_update_initial( + self, resource_group_name, nat_gateway_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'natGatewayName': self._serialize.url("nat_gateway_name", nat_gateway_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'NatGateway') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201, 202]: + 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('NatGateway', response) + if response.status_code == 201: + deserialized = self._deserialize('NatGateway', response) + if response.status_code == 202: + deserialized = self._deserialize('NatGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, nat_gateway_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a nat gateway. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param nat_gateway_name: The name of the nat gateway. + :type nat_gateway_name: str + :param parameters: Parameters supplied to the create or update nat + gateway operation. + :type parameters: ~azure.mgmt.network.v2020_04_01.models.NatGateway + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns NatGateway or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.NatGateway] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.NatGateway]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + nat_gateway_name=nat_gateway_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('NatGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/natGateways/{natGatewayName}'} + + def update_tags( + self, resource_group_name, nat_gateway_name, tags=None, custom_headers=None, raw=False, **operation_config): + """Updates nat gateway tags. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param nat_gateway_name: The name of the nat gateway. + :type nat_gateway_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: NatGateway or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.NatGateway or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'natGatewayName': self._serialize.url("nat_gateway_name", nat_gateway_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('NatGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/natGateways/{natGatewayName}'} + + def list_all( + self, custom_headers=None, raw=False, **operation_config): + """Gets all the Nat Gateways in a subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of NatGateway + :rtype: + ~azure.mgmt.network.v2020_04_01.models.NatGatewayPaged[~azure.mgmt.network.v2020_04_01.models.NatGateway] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_all.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.NatGatewayPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/natGateways'} + + def list( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Gets all nat gateways in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of NatGateway + :rtype: + ~azure.mgmt.network.v2020_04_01.models.NatGatewayPaged[~azure.mgmt.network.v2020_04_01.models.NatGateway] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.NatGatewayPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/natGateways'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_network_interface_ip_configurations_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_network_interface_ip_configurations_operations.py new file mode 100644 index 00000000000..c6c6f7b8b88 --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_network_interface_ip_configurations_operations.py @@ -0,0 +1,178 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class NetworkInterfaceIPConfigurationsOperations(object): + """NetworkInterfaceIPConfigurationsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + def list( + self, resource_group_name, network_interface_name, custom_headers=None, raw=False, **operation_config): + """Get all ip configurations in a network interface. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_interface_name: The name of the network interface. + :type network_interface_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of NetworkInterfaceIPConfiguration + :rtype: + ~azure.mgmt.network.v2020_04_01.models.NetworkInterfaceIPConfigurationPaged[~azure.mgmt.network.v2020_04_01.models.NetworkInterfaceIPConfiguration] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.NetworkInterfaceIPConfigurationPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/ipConfigurations'} + + def get( + self, resource_group_name, network_interface_name, ip_configuration_name, custom_headers=None, raw=False, **operation_config): + """Gets the specified network interface ip configuration. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_interface_name: The name of the network interface. + :type network_interface_name: str + :param ip_configuration_name: The name of the ip configuration name. + :type ip_configuration_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: NetworkInterfaceIPConfiguration or ClientRawResponse if + raw=true + :rtype: + ~azure.mgmt.network.v2020_04_01.models.NetworkInterfaceIPConfiguration + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), + 'ipConfigurationName': self._serialize.url("ip_configuration_name", ip_configuration_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('NetworkInterfaceIPConfiguration', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/ipConfigurations/{ipConfigurationName}'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_network_interface_load_balancers_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_network_interface_load_balancers_operations.py new file mode 100644 index 00000000000..8e2609d789a --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_network_interface_load_balancers_operations.py @@ -0,0 +1,112 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class NetworkInterfaceLoadBalancersOperations(object): + """NetworkInterfaceLoadBalancersOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + def list( + self, resource_group_name, network_interface_name, custom_headers=None, raw=False, **operation_config): + """List all load balancers in a network interface. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_interface_name: The name of the network interface. + :type network_interface_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of LoadBalancer + :rtype: + ~azure.mgmt.network.v2020_04_01.models.LoadBalancerPaged[~azure.mgmt.network.v2020_04_01.models.LoadBalancer] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.LoadBalancerPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/loadBalancers'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_network_interface_tap_configurations_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_network_interface_tap_configurations_operations.py new file mode 100644 index 00000000000..fbc7701c11b --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_network_interface_tap_configurations_operations.py @@ -0,0 +1,373 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class NetworkInterfaceTapConfigurationsOperations(object): + """NetworkInterfaceTapConfigurationsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, network_interface_name, tap_configuration_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), + 'tapConfigurationName': self._serialize.url("tap_configuration_name", tap_configuration_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, network_interface_name, tap_configuration_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified tap configuration from the NetworkInterface. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_interface_name: The name of the network interface. + :type network_interface_name: str + :param tap_configuration_name: The name of the tap configuration. + :type tap_configuration_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + network_interface_name=network_interface_name, + tap_configuration_name=tap_configuration_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/tapConfigurations/{tapConfigurationName}'} + + def get( + self, resource_group_name, network_interface_name, tap_configuration_name, custom_headers=None, raw=False, **operation_config): + """Get the specified tap configuration on a network interface. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_interface_name: The name of the network interface. + :type network_interface_name: str + :param tap_configuration_name: The name of the tap configuration. + :type tap_configuration_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: NetworkInterfaceTapConfiguration or ClientRawResponse if + raw=true + :rtype: + ~azure.mgmt.network.v2020_04_01.models.NetworkInterfaceTapConfiguration + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), + 'tapConfigurationName': self._serialize.url("tap_configuration_name", tap_configuration_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('NetworkInterfaceTapConfiguration', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/tapConfigurations/{tapConfigurationName}'} + + + def _create_or_update_initial( + self, resource_group_name, network_interface_name, tap_configuration_name, tap_configuration_parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), + 'tapConfigurationName': self._serialize.url("tap_configuration_name", tap_configuration_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(tap_configuration_parameters, 'NetworkInterfaceTapConfiguration') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('NetworkInterfaceTapConfiguration', response) + if response.status_code == 201: + deserialized = self._deserialize('NetworkInterfaceTapConfiguration', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, network_interface_name, tap_configuration_name, tap_configuration_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a Tap configuration in the specified + NetworkInterface. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_interface_name: The name of the network interface. + :type network_interface_name: str + :param tap_configuration_name: The name of the tap configuration. + :type tap_configuration_name: str + :param tap_configuration_parameters: Parameters supplied to the create + or update tap configuration operation. + :type tap_configuration_parameters: + ~azure.mgmt.network.v2020_04_01.models.NetworkInterfaceTapConfiguration + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + NetworkInterfaceTapConfiguration or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.NetworkInterfaceTapConfiguration] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.NetworkInterfaceTapConfiguration]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + network_interface_name=network_interface_name, + tap_configuration_name=tap_configuration_name, + tap_configuration_parameters=tap_configuration_parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('NetworkInterfaceTapConfiguration', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/tapConfigurations/{tapConfigurationName}'} + + def list( + self, resource_group_name, network_interface_name, custom_headers=None, raw=False, **operation_config): + """Get all Tap configurations in a network interface. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_interface_name: The name of the network interface. + :type network_interface_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of NetworkInterfaceTapConfiguration + :rtype: + ~azure.mgmt.network.v2020_04_01.models.NetworkInterfaceTapConfigurationPaged[~azure.mgmt.network.v2020_04_01.models.NetworkInterfaceTapConfiguration] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.NetworkInterfaceTapConfigurationPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/tapConfigurations'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_network_interfaces_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_network_interfaces_operations.py new file mode 100644 index 00000000000..fb207f506fa --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_network_interfaces_operations.py @@ -0,0 +1,1091 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class NetworkInterfacesOperations(object): + """NetworkInterfacesOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + + self.config = config + + + def _delete_initial( + self, resource_group_name, network_interface_name, custom_headers=None, raw=False, **operation_config): + api_version = "2020-04-01" + + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), + '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("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, network_interface_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified network interface. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_interface_name: The name of the network interface. + :type network_interface_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + network_interface_name=network_interface_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}'} + + def get( + self, resource_group_name, network_interface_name, expand=None, custom_headers=None, raw=False, **operation_config): + """Gets information about the specified network interface. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_interface_name: The name of the network interface. + :type network_interface_name: str + :param expand: Expands referenced resources. + :type expand: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: NetworkInterface or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.NetworkInterface or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + api_version = "2020-04-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), + '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("api_version", api_version, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('NetworkInterface', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}'} + + + def _create_or_update_initial( + self, resource_group_name, network_interface_name, parameters, custom_headers=None, raw=False, **operation_config): + api_version = "2020-04-01" + + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), + '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("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'NetworkInterface') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('NetworkInterface', response) + if response.status_code == 201: + deserialized = self._deserialize('NetworkInterface', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, network_interface_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a network interface. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_interface_name: The name of the network interface. + :type network_interface_name: str + :param parameters: Parameters supplied to the create or update network + interface operation. + :type parameters: + ~azure.mgmt.network.v2020_04_01.models.NetworkInterface + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns NetworkInterface or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.NetworkInterface] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.NetworkInterface]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + network_interface_name=network_interface_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('NetworkInterface', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}'} + + def update_tags( + self, resource_group_name, network_interface_name, tags=None, custom_headers=None, raw=False, **operation_config): + """Updates a network interface tags. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_interface_name: The name of the network interface. + :type network_interface_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: NetworkInterface or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.NetworkInterface or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + parameters = models.TagsObject(tags=tags) + + api_version = "2020-04-01" + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), + '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("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('NetworkInterface', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}'} + + def list_all( + self, custom_headers=None, raw=False, **operation_config): + """Gets all network interfaces in a subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of NetworkInterface + :rtype: + ~azure.mgmt.network.v2020_04_01.models.NetworkInterfacePaged[~azure.mgmt.network.v2020_04_01.models.NetworkInterface] + :raises: :class:`CloudError` + """ + api_version = "2020-04-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_all.metadata['url'] + path_format_arguments = { + '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("api_version", api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.NetworkInterfacePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkInterfaces'} + + def list( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Gets all network interfaces in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of NetworkInterface + :rtype: + ~azure.mgmt.network.v2020_04_01.models.NetworkInterfacePaged[~azure.mgmt.network.v2020_04_01.models.NetworkInterface] + :raises: :class:`CloudError` + """ + api_version = "2020-04-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + '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("api_version", api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.NetworkInterfacePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces'} + + + def _get_effective_route_table_initial( + self, resource_group_name, network_interface_name, custom_headers=None, raw=False, **operation_config): + api_version = "2020-04-01" + + # Construct URL + url = self.get_effective_route_table.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), + '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("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('EffectiveRouteListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def get_effective_route_table( + self, resource_group_name, network_interface_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Gets all route tables applied to a network interface. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_interface_name: The name of the network interface. + :type network_interface_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + EffectiveRouteListResult or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.EffectiveRouteListResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.EffectiveRouteListResult]] + :raises: :class:`CloudError` + """ + raw_result = self._get_effective_route_table_initial( + resource_group_name=resource_group_name, + network_interface_name=network_interface_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('EffectiveRouteListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + get_effective_route_table.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/effectiveRouteTable'} + + + def _list_effective_network_security_groups_initial( + self, resource_group_name, network_interface_name, custom_headers=None, raw=False, **operation_config): + api_version = "2020-04-01" + + # Construct URL + url = self.list_effective_network_security_groups.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), + '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("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('EffectiveNetworkSecurityGroupListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def list_effective_network_security_groups( + self, resource_group_name, network_interface_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Gets all network security groups applied to a network interface. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_interface_name: The name of the network interface. + :type network_interface_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + EffectiveNetworkSecurityGroupListResult or + ClientRawResponse if + raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.EffectiveNetworkSecurityGroupListResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.EffectiveNetworkSecurityGroupListResult]] + :raises: :class:`CloudError` + """ + raw_result = self._list_effective_network_security_groups_initial( + resource_group_name=resource_group_name, + network_interface_name=network_interface_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('EffectiveNetworkSecurityGroupListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + list_effective_network_security_groups.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/effectiveNetworkSecurityGroups'} + + def list_virtual_machine_scale_set_vm_network_interfaces( + self, resource_group_name, virtual_machine_scale_set_name, virtualmachine_index, custom_headers=None, raw=False, **operation_config): + """Gets information about all network interfaces in a virtual machine in a + virtual machine scale set. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_machine_scale_set_name: The name of the virtual machine + scale set. + :type virtual_machine_scale_set_name: str + :param virtualmachine_index: The virtual machine index. + :type virtualmachine_index: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of NetworkInterface + :rtype: + ~azure.mgmt.network.v2020_04_01.models.NetworkInterfacePaged[~azure.mgmt.network.v2020_04_01.models.NetworkInterface] + :raises: :class:`CloudError` + """ + api_version = "2018-10-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_virtual_machine_scale_set_vm_network_interfaces.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineScaleSetName': self._serialize.url("virtual_machine_scale_set_name", virtual_machine_scale_set_name, 'str'), + 'virtualmachineIndex': self._serialize.url("virtualmachine_index", virtualmachine_index, 'str'), + '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("api_version", api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.NetworkInterfacePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_virtual_machine_scale_set_vm_network_interfaces.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces'} + + def list_virtual_machine_scale_set_network_interfaces( + self, resource_group_name, virtual_machine_scale_set_name, custom_headers=None, raw=False, **operation_config): + """Gets all network interfaces in a virtual machine scale set. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_machine_scale_set_name: The name of the virtual machine + scale set. + :type virtual_machine_scale_set_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of NetworkInterface + :rtype: + ~azure.mgmt.network.v2020_04_01.models.NetworkInterfacePaged[~azure.mgmt.network.v2020_04_01.models.NetworkInterface] + :raises: :class:`CloudError` + """ + api_version = "2018-10-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_virtual_machine_scale_set_network_interfaces.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineScaleSetName': self._serialize.url("virtual_machine_scale_set_name", virtual_machine_scale_set_name, 'str'), + '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("api_version", api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.NetworkInterfacePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_virtual_machine_scale_set_network_interfaces.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/networkInterfaces'} + + def get_virtual_machine_scale_set_network_interface( + self, resource_group_name, virtual_machine_scale_set_name, virtualmachine_index, network_interface_name, expand=None, custom_headers=None, raw=False, **operation_config): + """Get the specified network interface in a virtual machine scale set. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_machine_scale_set_name: The name of the virtual machine + scale set. + :type virtual_machine_scale_set_name: str + :param virtualmachine_index: The virtual machine index. + :type virtualmachine_index: str + :param network_interface_name: The name of the network interface. + :type network_interface_name: str + :param expand: Expands referenced resources. + :type expand: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: NetworkInterface or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.NetworkInterface or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + api_version = "2018-10-01" + + # Construct URL + url = self.get_virtual_machine_scale_set_network_interface.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineScaleSetName': self._serialize.url("virtual_machine_scale_set_name", virtual_machine_scale_set_name, 'str'), + 'virtualmachineIndex': self._serialize.url("virtualmachine_index", virtualmachine_index, 'str'), + 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), + '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("api_version", api_version, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('NetworkInterface', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_virtual_machine_scale_set_network_interface.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}'} + + def list_virtual_machine_scale_set_ip_configurations( + self, resource_group_name, virtual_machine_scale_set_name, virtualmachine_index, network_interface_name, expand=None, custom_headers=None, raw=False, **operation_config): + """Get the specified network interface ip configuration in a virtual + machine scale set. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_machine_scale_set_name: The name of the virtual machine + scale set. + :type virtual_machine_scale_set_name: str + :param virtualmachine_index: The virtual machine index. + :type virtualmachine_index: str + :param network_interface_name: The name of the network interface. + :type network_interface_name: str + :param expand: Expands referenced resources. + :type expand: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of NetworkInterfaceIPConfiguration + :rtype: + ~azure.mgmt.network.v2020_04_01.models.NetworkInterfaceIPConfigurationPaged[~azure.mgmt.network.v2020_04_01.models.NetworkInterfaceIPConfiguration] + :raises: :class:`CloudError` + """ + api_version = "2018-10-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_virtual_machine_scale_set_ip_configurations.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineScaleSetName': self._serialize.url("virtual_machine_scale_set_name", virtual_machine_scale_set_name, 'str'), + 'virtualmachineIndex': self._serialize.url("virtualmachine_index", virtualmachine_index, 'str'), + 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), + '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("api_version", api_version, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.NetworkInterfaceIPConfigurationPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_virtual_machine_scale_set_ip_configurations.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}/ipConfigurations'} + + def get_virtual_machine_scale_set_ip_configuration( + self, resource_group_name, virtual_machine_scale_set_name, virtualmachine_index, network_interface_name, ip_configuration_name, expand=None, custom_headers=None, raw=False, **operation_config): + """Get the specified network interface ip configuration in a virtual + machine scale set. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_machine_scale_set_name: The name of the virtual machine + scale set. + :type virtual_machine_scale_set_name: str + :param virtualmachine_index: The virtual machine index. + :type virtualmachine_index: str + :param network_interface_name: The name of the network interface. + :type network_interface_name: str + :param ip_configuration_name: The name of the ip configuration. + :type ip_configuration_name: str + :param expand: Expands referenced resources. + :type expand: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: NetworkInterfaceIPConfiguration or ClientRawResponse if + raw=true + :rtype: + ~azure.mgmt.network.v2020_04_01.models.NetworkInterfaceIPConfiguration + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + api_version = "2018-10-01" + + # Construct URL + url = self.get_virtual_machine_scale_set_ip_configuration.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineScaleSetName': self._serialize.url("virtual_machine_scale_set_name", virtual_machine_scale_set_name, 'str'), + 'virtualmachineIndex': self._serialize.url("virtualmachine_index", virtualmachine_index, 'str'), + 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), + 'ipConfigurationName': self._serialize.url("ip_configuration_name", ip_configuration_name, 'str'), + '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("api_version", api_version, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('NetworkInterfaceIPConfiguration', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_virtual_machine_scale_set_ip_configuration.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}/ipConfigurations/{ipConfigurationName}'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_network_management_client_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_network_management_client_operations.py new file mode 100644 index 00000000000..7014aba6d10 --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_network_management_client_operations.py @@ -0,0 +1,726 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# 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 msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling +from .. import models +import uuid + + +class NetworkManagementClientOperationsMixin(object): + + + def _put_bastion_shareable_link_initial( + self, resource_group_name, bastion_host_name, vms=None, custom_headers=None, raw=False, **operation_config): + bsl_request = models.BastionShareableLinkListRequest(vms=vms) + + api_version = "2020-04-01" + + # Construct URL + url = self.put_bastion_shareable_link.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'bastionHostName': self._serialize.url("bastion_host_name", bastion_host_name, 'str'), + '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("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(bsl_request, 'BastionShareableLinkListRequest') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('BastionShareableLinkListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def put_bastion_shareable_link( + self, resource_group_name, bastion_host_name, vms=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates a Bastion Shareable Links for all the VMs specified in the + request. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param bastion_host_name: The name of the Bastion Host. + :type bastion_host_name: str + :param vms: List of VM references. + :type vms: + list[~azure.mgmt.network.v2020_04_01.models.BastionShareableLink] + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + BastionShareableLinkListResult or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.BastionShareableLinkListResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.BastionShareableLinkListResult]] + :raises: :class:`CloudError` + """ + raw_result = self._put_bastion_shareable_link_initial( + resource_group_name=resource_group_name, + bastion_host_name=bastion_host_name, + vms=vms, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('BastionShareableLinkListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + put_bastion_shareable_link.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts/{bastionHostName}/createShareableLinks'} + + + def _delete_bastion_shareable_link_initial( + self, resource_group_name, bastion_host_name, vms=None, custom_headers=None, raw=False, **operation_config): + bsl_request = models.BastionShareableLinkListRequest(vms=vms) + + api_version = "2020-04-01" + + # Construct URL + url = self.delete_bastion_shareable_link.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'bastionHostName': self._serialize.url("bastion_host_name", bastion_host_name, 'str'), + '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("api_version", 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(bsl_request, 'BastionShareableLinkListRequest') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete_bastion_shareable_link( + self, resource_group_name, bastion_host_name, vms=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the Bastion Shareable Links for all the VMs specified in the + request. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param bastion_host_name: The name of the Bastion Host. + :type bastion_host_name: str + :param vms: List of VM references. + :type vms: + list[~azure.mgmt.network.v2020_04_01.models.BastionShareableLink] + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_bastion_shareable_link_initial( + resource_group_name=resource_group_name, + bastion_host_name=bastion_host_name, + vms=vms, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete_bastion_shareable_link.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts/{bastionHostName}/deleteShareableLinks'} + + def get_bastion_shareable_link( + self, resource_group_name, bastion_host_name, vms=None, custom_headers=None, raw=False, **operation_config): + """Return the Bastion Shareable Links for all the VMs specified in the + request. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param bastion_host_name: The name of the Bastion Host. + :type bastion_host_name: str + :param vms: List of VM references. + :type vms: + list[~azure.mgmt.network.v2020_04_01.models.BastionShareableLink] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of BastionShareableLink + :rtype: + ~azure.mgmt.network.v2020_04_01.models.BastionShareableLinkPaged[~azure.mgmt.network.v2020_04_01.models.BastionShareableLink] + :raises: :class:`CloudError` + """ + bsl_request = models.BastionShareableLinkListRequest(vms=vms) + + api_version = "2020-04-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.get_bastion_shareable_link.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'bastionHostName': self._serialize.url("bastion_host_name", bastion_host_name, 'str'), + '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("api_version", api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(bsl_request, 'BastionShareableLinkListRequest') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.BastionShareableLinkPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + get_bastion_shareable_link.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts/{bastionHostName}/getShareableLinks'} + + + def _get_active_sessions_initial( + self, resource_group_name, bastion_host_name, custom_headers=None, raw=False, **operation_config): + api_version = "2020-04-01" + + # Construct URL + url = self.get_active_sessions.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'bastionHostName': self._serialize.url("bastion_host_name", bastion_host_name, 'str'), + '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("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('BastionActiveSessionListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def get_active_sessions( + self, resource_group_name, bastion_host_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Returns the list of currently active sessions on the Bastion. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param bastion_host_name: The name of the Bastion Host. + :type bastion_host_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + BastionActiveSessionListResult or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.BastionActiveSessionListResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.BastionActiveSessionListResult]] + :raises: :class:`CloudError` + """ + raw_result = self._get_active_sessions_initial( + resource_group_name=resource_group_name, + bastion_host_name=bastion_host_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('BastionActiveSessionListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + get_active_sessions.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts/{bastionHostName}/getActiveSessions'} + + def disconnect_active_sessions( + self, resource_group_name, bastion_host_name, session_ids=None, custom_headers=None, raw=False, **operation_config): + """Returns the list of currently active sessions on the Bastion. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param bastion_host_name: The name of the Bastion Host. + :type bastion_host_name: str + :param session_ids: List of session IDs. + :type session_ids: list[str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of BastionSessionState + :rtype: + ~azure.mgmt.network.v2020_04_01.models.BastionSessionStatePaged[~azure.mgmt.network.v2020_04_01.models.BastionSessionState] + :raises: :class:`CloudError` + """ + session_ids1 = models.SessionIds(session_ids=session_ids) + + api_version = "2020-04-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.disconnect_active_sessions.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'bastionHostName': self._serialize.url("bastion_host_name", bastion_host_name, 'str'), + '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("api_version", api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(session_ids1, 'SessionIds') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.BastionSessionStatePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + disconnect_active_sessions.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts/{bastionHostName}/disconnectActiveSessions'} + + def check_dns_name_availability( + self, location, domain_name_label, custom_headers=None, raw=False, **operation_config): + """Checks whether a domain name in the cloudapp.azure.com zone is + available for use. + + :param location: The location of the domain name. + :type location: str + :param domain_name_label: The domain name to be verified. It must + conform to the following regular expression: + ^[a-z][a-z0-9-]{1,61}[a-z0-9]$. + :type domain_name_label: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: DnsNameAvailabilityResult or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.network.v2020_04_01.models.DnsNameAvailabilityResult or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + api_version = "2020-04-01" + + # Construct URL + url = self.check_dns_name_availability.metadata['url'] + path_format_arguments = { + 'location': self._serialize.url("location", location, 'str'), + '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['domainNameLabel'] = self._serialize.query("domain_name_label", domain_name_label, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('DnsNameAvailabilityResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + check_dns_name_availability.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/CheckDnsNameAvailability'} + + def supported_security_providers( + self, resource_group_name, virtual_wan_name, custom_headers=None, raw=False, **operation_config): + """Gives the supported security providers for the virtual wan. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param virtual_wan_name: The name of the VirtualWAN for which + supported security providers are needed. + :type virtual_wan_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: VirtualWanSecurityProviders or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.network.v2020_04_01.models.VirtualWanSecurityProviders or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + api_version = "2020-04-01" + + # Construct URL + url = self.supported_security_providers.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualWANName': self._serialize.url("virtual_wan_name", virtual_wan_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('VirtualWanSecurityProviders', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + supported_security_providers.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{virtualWANName}/supportedSecurityProviders'} + + + def _generatevirtualwanvpnserverconfigurationvpnprofile_initial( + self, resource_group_name, virtual_wan_name, vpn_server_configuration_resource_id=None, authentication_method=None, custom_headers=None, raw=False, **operation_config): + vpn_client_params = models.VirtualWanVpnProfileParameters(vpn_server_configuration_resource_id=vpn_server_configuration_resource_id, authentication_method=authentication_method) + + api_version = "2020-04-01" + + # Construct URL + url = self.generatevirtualwanvpnserverconfigurationvpnprofile.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualWANName': self._serialize.url("virtual_wan_name", virtual_wan_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(vpn_client_params, 'VirtualWanVpnProfileParameters') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('VpnProfileResponse', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def generatevirtualwanvpnserverconfigurationvpnprofile( + self, resource_group_name, virtual_wan_name, vpn_server_configuration_resource_id=None, authentication_method=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Generates a unique VPN profile for P2S clients for VirtualWan and + associated VpnServerConfiguration combination in the specified resource + group. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param virtual_wan_name: The name of the VirtualWAN whose associated + VpnServerConfigurations is needed. + :type virtual_wan_name: str + :param vpn_server_configuration_resource_id: VpnServerConfiguration + partial resource uri with which VirtualWan is associated to. + :type vpn_server_configuration_resource_id: str + :param authentication_method: VPN client authentication method. + Possible values include: 'EAPTLS', 'EAPMSCHAPv2' + :type authentication_method: str or + ~azure.mgmt.network.v2020_04_01.models.AuthenticationMethod + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns VpnProfileResponse or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.VpnProfileResponse] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.VpnProfileResponse]] + :raises: :class:`CloudError` + """ + raw_result = self._generatevirtualwanvpnserverconfigurationvpnprofile_initial( + resource_group_name=resource_group_name, + virtual_wan_name=virtual_wan_name, + vpn_server_configuration_resource_id=vpn_server_configuration_resource_id, + authentication_method=authentication_method, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('VpnProfileResponse', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + generatevirtualwanvpnserverconfigurationvpnprofile.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{virtualWANName}/GenerateVpnProfile'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_network_profiles_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_network_profiles_operations.py new file mode 100644 index 00000000000..a2a7fb1e41b --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_network_profiles_operations.py @@ -0,0 +1,494 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class NetworkProfilesOperations(object): + """NetworkProfilesOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, network_profile_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkProfileName': self._serialize.url("network_profile_name", network_profile_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, network_profile_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified network profile. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_profile_name: The name of the NetworkProfile. + :type network_profile_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + network_profile_name=network_profile_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkProfiles/{networkProfileName}'} + + def get( + self, resource_group_name, network_profile_name, expand=None, custom_headers=None, raw=False, **operation_config): + """Gets the specified network profile in a specified resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_profile_name: The name of the public IP prefix. + :type network_profile_name: str + :param expand: Expands referenced resources. + :type expand: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: NetworkProfile or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.NetworkProfile or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkProfileName': self._serialize.url("network_profile_name", network_profile_name, 'str'), + '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.api_version", self.api_version, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('NetworkProfile', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkProfiles/{networkProfileName}'} + + + def _create_or_update_initial( + self, resource_group_name, network_profile_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkProfileName': self._serialize.url("network_profile_name", network_profile_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'NetworkProfile') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('NetworkProfile', response) + if response.status_code == 201: + deserialized = self._deserialize('NetworkProfile', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, network_profile_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a network profile. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_profile_name: The name of the network profile. + :type network_profile_name: str + :param parameters: Parameters supplied to the create or update network + profile operation. + :type parameters: + ~azure.mgmt.network.v2020_04_01.models.NetworkProfile + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns NetworkProfile or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.NetworkProfile] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.NetworkProfile]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + network_profile_name=network_profile_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('NetworkProfile', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkProfiles/{networkProfileName}'} + + def update_tags( + self, resource_group_name, network_profile_name, tags=None, custom_headers=None, raw=False, **operation_config): + """Updates network profile tags. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_profile_name: The name of the network profile. + :type network_profile_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: NetworkProfile or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.NetworkProfile or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkProfileName': self._serialize.url("network_profile_name", network_profile_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('NetworkProfile', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkProfiles/{networkProfileName}'} + + def list_all( + self, custom_headers=None, raw=False, **operation_config): + """Gets all the network profiles in a subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of NetworkProfile + :rtype: + ~azure.mgmt.network.v2020_04_01.models.NetworkProfilePaged[~azure.mgmt.network.v2020_04_01.models.NetworkProfile] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_all.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.NetworkProfilePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkProfiles'} + + def list( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Gets all network profiles in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of NetworkProfile + :rtype: + ~azure.mgmt.network.v2020_04_01.models.NetworkProfilePaged[~azure.mgmt.network.v2020_04_01.models.NetworkProfile] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.NetworkProfilePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkProfiles'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_network_security_groups_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_network_security_groups_operations.py new file mode 100644 index 00000000000..d2c1c92f094 --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_network_security_groups_operations.py @@ -0,0 +1,499 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class NetworkSecurityGroupsOperations(object): + """NetworkSecurityGroupsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, network_security_group_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkSecurityGroupName': self._serialize.url("network_security_group_name", network_security_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, network_security_group_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified network security group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_security_group_name: The name of the network security + group. + :type network_security_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + network_security_group_name=network_security_group_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}'} + + def get( + self, resource_group_name, network_security_group_name, expand=None, custom_headers=None, raw=False, **operation_config): + """Gets the specified network security group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_security_group_name: The name of the network security + group. + :type network_security_group_name: str + :param expand: Expands referenced resources. + :type expand: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: NetworkSecurityGroup or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.NetworkSecurityGroup or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkSecurityGroupName': self._serialize.url("network_security_group_name", network_security_group_name, 'str'), + '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.api_version", self.api_version, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('NetworkSecurityGroup', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}'} + + + def _create_or_update_initial( + self, resource_group_name, network_security_group_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkSecurityGroupName': self._serialize.url("network_security_group_name", network_security_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'NetworkSecurityGroup') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('NetworkSecurityGroup', response) + if response.status_code == 201: + deserialized = self._deserialize('NetworkSecurityGroup', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, network_security_group_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a network security group in the specified resource + group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_security_group_name: The name of the network security + group. + :type network_security_group_name: str + :param parameters: Parameters supplied to the create or update network + security group operation. + :type parameters: + ~azure.mgmt.network.v2020_04_01.models.NetworkSecurityGroup + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns NetworkSecurityGroup or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.NetworkSecurityGroup] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.NetworkSecurityGroup]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + network_security_group_name=network_security_group_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('NetworkSecurityGroup', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}'} + + def update_tags( + self, resource_group_name, network_security_group_name, tags=None, custom_headers=None, raw=False, **operation_config): + """Updates a network security group tags. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_security_group_name: The name of the network security + group. + :type network_security_group_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: NetworkSecurityGroup or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.NetworkSecurityGroup or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkSecurityGroupName': self._serialize.url("network_security_group_name", network_security_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('NetworkSecurityGroup', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}'} + + def list_all( + self, custom_headers=None, raw=False, **operation_config): + """Gets all network security groups in a subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of NetworkSecurityGroup + :rtype: + ~azure.mgmt.network.v2020_04_01.models.NetworkSecurityGroupPaged[~azure.mgmt.network.v2020_04_01.models.NetworkSecurityGroup] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_all.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.NetworkSecurityGroupPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkSecurityGroups'} + + def list( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Gets all network security groups in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of NetworkSecurityGroup + :rtype: + ~azure.mgmt.network.v2020_04_01.models.NetworkSecurityGroupPaged[~azure.mgmt.network.v2020_04_01.models.NetworkSecurityGroup] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.NetworkSecurityGroupPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_network_virtual_appliances_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_network_virtual_appliances_operations.py new file mode 100644 index 00000000000..d51c79a364d --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_network_virtual_appliances_operations.py @@ -0,0 +1,499 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class NetworkVirtualAppliancesOperations(object): + """NetworkVirtualAppliancesOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, network_virtual_appliance_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkVirtualApplianceName': self._serialize.url("network_virtual_appliance_name", network_virtual_appliance_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, network_virtual_appliance_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified Network Virtual Appliance. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_virtual_appliance_name: The name of Network Virtual + Appliance. + :type network_virtual_appliance_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + network_virtual_appliance_name=network_virtual_appliance_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkVirtualAppliances/{networkVirtualApplianceName}'} + + def get( + self, resource_group_name, network_virtual_appliance_name, expand=None, custom_headers=None, raw=False, **operation_config): + """Gets the specified Network Virtual Appliance. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_virtual_appliance_name: The name of Network Virtual + Appliance. + :type network_virtual_appliance_name: str + :param expand: Expands referenced resources. + :type expand: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: NetworkVirtualAppliance or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.NetworkVirtualAppliance + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkVirtualApplianceName': self._serialize.url("network_virtual_appliance_name", network_virtual_appliance_name, 'str'), + '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.api_version", self.api_version, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('NetworkVirtualAppliance', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkVirtualAppliances/{networkVirtualApplianceName}'} + + def update_tags( + self, resource_group_name, network_virtual_appliance_name, tags=None, custom_headers=None, raw=False, **operation_config): + """Updates a Network Virtual Appliance. + + :param resource_group_name: The resource group name of Network Virtual + Appliance. + :type resource_group_name: str + :param network_virtual_appliance_name: The name of Network Virtual + Appliance being updated. + :type network_virtual_appliance_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: NetworkVirtualAppliance or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.NetworkVirtualAppliance + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkVirtualApplianceName': self._serialize.url("network_virtual_appliance_name", network_virtual_appliance_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('NetworkVirtualAppliance', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkVirtualAppliances/{networkVirtualApplianceName}'} + + + def _create_or_update_initial( + self, resource_group_name, network_virtual_appliance_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkVirtualApplianceName': self._serialize.url("network_virtual_appliance_name", network_virtual_appliance_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'NetworkVirtualAppliance') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('NetworkVirtualAppliance', response) + if response.status_code == 201: + deserialized = self._deserialize('NetworkVirtualAppliance', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, network_virtual_appliance_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates the specified Network Virtual Appliance. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_virtual_appliance_name: The name of Network Virtual + Appliance. + :type network_virtual_appliance_name: str + :param parameters: Parameters supplied to the create or update Network + Virtual Appliance. + :type parameters: + ~azure.mgmt.network.v2020_04_01.models.NetworkVirtualAppliance + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns NetworkVirtualAppliance + or ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.NetworkVirtualAppliance] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.NetworkVirtualAppliance]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + network_virtual_appliance_name=network_virtual_appliance_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('NetworkVirtualAppliance', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkVirtualAppliances/{networkVirtualApplianceName}'} + + def list_by_resource_group( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Lists all Network Virtual Appliances in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of NetworkVirtualAppliance + :rtype: + ~azure.mgmt.network.v2020_04_01.models.NetworkVirtualAppliancePaged[~azure.mgmt.network.v2020_04_01.models.NetworkVirtualAppliance] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.NetworkVirtualAppliancePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkVirtualAppliances'} + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Gets all Network Virtual Appliances in a subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of NetworkVirtualAppliance + :rtype: + ~azure.mgmt.network.v2020_04_01.models.NetworkVirtualAppliancePaged[~azure.mgmt.network.v2020_04_01.models.NetworkVirtualAppliance] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.NetworkVirtualAppliancePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkVirtualAppliances'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_network_watchers_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_network_watchers_operations.py new file mode 100644 index 00000000000..ac59e5edc56 --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_network_watchers_operations.py @@ -0,0 +1,1674 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class NetworkWatchersOperations(object): + """NetworkWatchersOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + def create_or_update( + self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, **operation_config): + """Creates or updates a network watcher in the specified resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_watcher_name: The name of the network watcher. + :type network_watcher_name: str + :param parameters: Parameters that define the network watcher + resource. + :type parameters: + ~azure.mgmt.network.v2020_04_01.models.NetworkWatcher + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: NetworkWatcher or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.NetworkWatcher or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'NetworkWatcher') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('NetworkWatcher', response) + if response.status_code == 201: + deserialized = self._deserialize('NetworkWatcher', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}'} + + def get( + self, resource_group_name, network_watcher_name, custom_headers=None, raw=False, **operation_config): + """Gets the specified network watcher by resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_watcher_name: The name of the network watcher. + :type network_watcher_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: NetworkWatcher or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.NetworkWatcher or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('NetworkWatcher', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}'} + + + def _delete_initial( + self, resource_group_name, network_watcher_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [202, 204]: + raise models.ErrorResponseException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, network_watcher_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified network watcher resource. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_watcher_name: The name of the network watcher. + :type network_watcher_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: + :class:`ErrorResponseException` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + network_watcher_name=network_watcher_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}'} + + def update_tags( + self, resource_group_name, network_watcher_name, tags=None, custom_headers=None, raw=False, **operation_config): + """Updates a network watcher tags. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_watcher_name: The name of the network watcher. + :type network_watcher_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: NetworkWatcher or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.NetworkWatcher or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('NetworkWatcher', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}'} + + def list( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Gets all network watchers by resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of NetworkWatcher + :rtype: + ~azure.mgmt.network.v2020_04_01.models.NetworkWatcherPaged[~azure.mgmt.network.v2020_04_01.models.NetworkWatcher] + :raises: + :class:`ErrorResponseException` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.NetworkWatcherPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers'} + + def list_all( + self, custom_headers=None, raw=False, **operation_config): + """Gets all network watchers by subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of NetworkWatcher + :rtype: + ~azure.mgmt.network.v2020_04_01.models.NetworkWatcherPaged[~azure.mgmt.network.v2020_04_01.models.NetworkWatcher] + :raises: + :class:`ErrorResponseException` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_all.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.NetworkWatcherPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkWatchers'} + + def get_topology( + self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, **operation_config): + """Gets the current network topology by resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_watcher_name: The name of the network watcher. + :type network_watcher_name: str + :param parameters: Parameters that define the representation of + topology. + :type parameters: + ~azure.mgmt.network.v2020_04_01.models.TopologyParameters + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: Topology or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.Topology or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.get_topology.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'TopologyParameters') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('Topology', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_topology.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/topology'} + + + def _verify_ip_flow_initial( + self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.verify_ip_flow.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'VerificationIPFlowParameters') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('VerificationIPFlowResult', response) + if response.status_code == 202: + deserialized = self._deserialize('VerificationIPFlowResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def verify_ip_flow( + self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Verify IP flow from the specified VM to a location given the currently + configured NSG rules. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_watcher_name: The name of the network watcher. + :type network_watcher_name: str + :param parameters: Parameters that define the IP flow to be verified. + :type parameters: + ~azure.mgmt.network.v2020_04_01.models.VerificationIPFlowParameters + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + VerificationIPFlowResult or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.VerificationIPFlowResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.VerificationIPFlowResult]] + :raises: + :class:`ErrorResponseException` + """ + raw_result = self._verify_ip_flow_initial( + resource_group_name=resource_group_name, + network_watcher_name=network_watcher_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('VerificationIPFlowResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + verify_ip_flow.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/ipFlowVerify'} + + + def _get_next_hop_initial( + self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.get_next_hop.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'NextHopParameters') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('NextHopResult', response) + if response.status_code == 202: + deserialized = self._deserialize('NextHopResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def get_next_hop( + self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Gets the next hop from the specified VM. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_watcher_name: The name of the network watcher. + :type network_watcher_name: str + :param parameters: Parameters that define the source and destination + endpoint. + :type parameters: + ~azure.mgmt.network.v2020_04_01.models.NextHopParameters + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns NextHopResult or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.NextHopResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.NextHopResult]] + :raises: + :class:`ErrorResponseException` + """ + raw_result = self._get_next_hop_initial( + resource_group_name=resource_group_name, + network_watcher_name=network_watcher_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('NextHopResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + get_next_hop.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/nextHop'} + + + def _get_vm_security_rules_initial( + self, resource_group_name, network_watcher_name, target_resource_id, custom_headers=None, raw=False, **operation_config): + parameters = models.SecurityGroupViewParameters(target_resource_id=target_resource_id) + + # Construct URL + url = self.get_vm_security_rules.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'SecurityGroupViewParameters') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('SecurityGroupViewResult', response) + if response.status_code == 202: + deserialized = self._deserialize('SecurityGroupViewResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def get_vm_security_rules( + self, resource_group_name, network_watcher_name, target_resource_id, custom_headers=None, raw=False, polling=True, **operation_config): + """Gets the configured and effective security group rules on the specified + VM. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_watcher_name: The name of the network watcher. + :type network_watcher_name: str + :param target_resource_id: ID of the target VM. + :type target_resource_id: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns SecurityGroupViewResult + or ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.SecurityGroupViewResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.SecurityGroupViewResult]] + :raises: + :class:`ErrorResponseException` + """ + raw_result = self._get_vm_security_rules_initial( + resource_group_name=resource_group_name, + network_watcher_name=network_watcher_name, + target_resource_id=target_resource_id, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('SecurityGroupViewResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + get_vm_security_rules.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/securityGroupView'} + + + def _get_troubleshooting_initial( + self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.get_troubleshooting.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'TroubleshootingParameters') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('TroubleshootingResult', response) + if response.status_code == 202: + deserialized = self._deserialize('TroubleshootingResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def get_troubleshooting( + self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Initiate troubleshooting on a specified resource. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_watcher_name: The name of the network watcher resource. + :type network_watcher_name: str + :param parameters: Parameters that define the resource to + troubleshoot. + :type parameters: + ~azure.mgmt.network.v2020_04_01.models.TroubleshootingParameters + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns TroubleshootingResult + or ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.TroubleshootingResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.TroubleshootingResult]] + :raises: + :class:`ErrorResponseException` + """ + raw_result = self._get_troubleshooting_initial( + resource_group_name=resource_group_name, + network_watcher_name=network_watcher_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('TroubleshootingResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + get_troubleshooting.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/troubleshoot'} + + + def _get_troubleshooting_result_initial( + self, resource_group_name, network_watcher_name, target_resource_id, custom_headers=None, raw=False, **operation_config): + parameters = models.QueryTroubleshootingParameters(target_resource_id=target_resource_id) + + # Construct URL + url = self.get_troubleshooting_result.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'QueryTroubleshootingParameters') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('TroubleshootingResult', response) + if response.status_code == 202: + deserialized = self._deserialize('TroubleshootingResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def get_troubleshooting_result( + self, resource_group_name, network_watcher_name, target_resource_id, custom_headers=None, raw=False, polling=True, **operation_config): + """Get the last completed troubleshooting result on a specified resource. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_watcher_name: The name of the network watcher resource. + :type network_watcher_name: str + :param target_resource_id: The target resource ID to query the + troubleshooting result. + :type target_resource_id: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns TroubleshootingResult + or ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.TroubleshootingResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.TroubleshootingResult]] + :raises: + :class:`ErrorResponseException` + """ + raw_result = self._get_troubleshooting_result_initial( + resource_group_name=resource_group_name, + network_watcher_name=network_watcher_name, + target_resource_id=target_resource_id, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('TroubleshootingResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + get_troubleshooting_result.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/queryTroubleshootResult'} + + + def _set_flow_log_configuration_initial( + self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.set_flow_log_configuration.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'FlowLogInformation') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('FlowLogInformation', response) + if response.status_code == 202: + deserialized = self._deserialize('FlowLogInformation', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def set_flow_log_configuration( + self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Configures flow log and traffic analytics (optional) on a specified + resource. + + :param resource_group_name: The name of the network watcher resource + group. + :type resource_group_name: str + :param network_watcher_name: The name of the network watcher resource. + :type network_watcher_name: str + :param parameters: Parameters that define the configuration of flow + log. + :type parameters: + ~azure.mgmt.network.v2020_04_01.models.FlowLogInformation + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns FlowLogInformation or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.FlowLogInformation] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.FlowLogInformation]] + :raises: + :class:`ErrorResponseException` + """ + raw_result = self._set_flow_log_configuration_initial( + resource_group_name=resource_group_name, + network_watcher_name=network_watcher_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('FlowLogInformation', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + set_flow_log_configuration.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/configureFlowLog'} + + + def _get_flow_log_status_initial( + self, resource_group_name, network_watcher_name, target_resource_id, custom_headers=None, raw=False, **operation_config): + parameters = models.FlowLogStatusParameters(target_resource_id=target_resource_id) + + # Construct URL + url = self.get_flow_log_status.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'FlowLogStatusParameters') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('FlowLogInformation', response) + if response.status_code == 202: + deserialized = self._deserialize('FlowLogInformation', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def get_flow_log_status( + self, resource_group_name, network_watcher_name, target_resource_id, custom_headers=None, raw=False, polling=True, **operation_config): + """Queries status of flow log and traffic analytics (optional) on a + specified resource. + + :param resource_group_name: The name of the network watcher resource + group. + :type resource_group_name: str + :param network_watcher_name: The name of the network watcher resource. + :type network_watcher_name: str + :param target_resource_id: The target resource where getting the flow + log and traffic analytics (optional) status. + :type target_resource_id: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns FlowLogInformation or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.FlowLogInformation] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.FlowLogInformation]] + :raises: + :class:`ErrorResponseException` + """ + raw_result = self._get_flow_log_status_initial( + resource_group_name=resource_group_name, + network_watcher_name=network_watcher_name, + target_resource_id=target_resource_id, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('FlowLogInformation', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + get_flow_log_status.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/queryFlowLogStatus'} + + + def _check_connectivity_initial( + self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.check_connectivity.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'ConnectivityParameters') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('ConnectivityInformation', response) + if response.status_code == 202: + deserialized = self._deserialize('ConnectivityInformation', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def check_connectivity( + self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Verifies the possibility of establishing a direct TCP connection from a + virtual machine to a given endpoint including another VM or an + arbitrary remote server. + + :param resource_group_name: The name of the network watcher resource + group. + :type resource_group_name: str + :param network_watcher_name: The name of the network watcher resource. + :type network_watcher_name: str + :param parameters: Parameters that determine how the connectivity + check will be performed. + :type parameters: + ~azure.mgmt.network.v2020_04_01.models.ConnectivityParameters + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns ConnectivityInformation + or ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.ConnectivityInformation] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.ConnectivityInformation]] + :raises: + :class:`ErrorResponseException` + """ + raw_result = self._check_connectivity_initial( + resource_group_name=resource_group_name, + network_watcher_name=network_watcher_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ConnectivityInformation', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + check_connectivity.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectivityCheck'} + + + def _get_azure_reachability_report_initial( + self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.get_azure_reachability_report.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'AzureReachabilityReportParameters') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('AzureReachabilityReport', response) + if response.status_code == 202: + deserialized = self._deserialize('AzureReachabilityReport', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def get_azure_reachability_report( + self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """NOTE: This feature is currently in preview and still being tested for + stability. Gets the relative latency score for internet service + providers from a specified location to Azure regions. + + :param resource_group_name: The name of the network watcher resource + group. + :type resource_group_name: str + :param network_watcher_name: The name of the network watcher resource. + :type network_watcher_name: str + :param parameters: Parameters that determine Azure reachability report + configuration. + :type parameters: + ~azure.mgmt.network.v2020_04_01.models.AzureReachabilityReportParameters + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns AzureReachabilityReport + or ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.AzureReachabilityReport] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.AzureReachabilityReport]] + :raises: + :class:`ErrorResponseException` + """ + raw_result = self._get_azure_reachability_report_initial( + resource_group_name=resource_group_name, + network_watcher_name=network_watcher_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('AzureReachabilityReport', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + get_azure_reachability_report.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/azureReachabilityReport'} + + + def _list_available_providers_initial( + self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.list_available_providers.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'AvailableProvidersListParameters') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('AvailableProvidersList', response) + if response.status_code == 202: + deserialized = self._deserialize('AvailableProvidersList', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def list_available_providers( + self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """NOTE: This feature is currently in preview and still being tested for + stability. Lists all available internet service providers for a + specified Azure region. + + :param resource_group_name: The name of the network watcher resource + group. + :type resource_group_name: str + :param network_watcher_name: The name of the network watcher resource. + :type network_watcher_name: str + :param parameters: Parameters that scope the list of available + providers. + :type parameters: + ~azure.mgmt.network.v2020_04_01.models.AvailableProvidersListParameters + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns AvailableProvidersList + or ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.AvailableProvidersList] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.AvailableProvidersList]] + :raises: + :class:`ErrorResponseException` + """ + raw_result = self._list_available_providers_initial( + resource_group_name=resource_group_name, + network_watcher_name=network_watcher_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('AvailableProvidersList', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + list_available_providers.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/availableProvidersList'} + + + def _get_network_configuration_diagnostic_initial( + self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.get_network_configuration_diagnostic.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'NetworkConfigurationDiagnosticParameters') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('NetworkConfigurationDiagnosticResponse', response) + if response.status_code == 202: + deserialized = self._deserialize('NetworkConfigurationDiagnosticResponse', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def get_network_configuration_diagnostic( + self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Gets Network Configuration Diagnostic data to help customers understand + and debug network behavior. It provides detailed information on what + security rules were applied to a specified traffic flow and the result + of evaluating these rules. Customers must provide details of a flow + like source, destination, protocol, etc. The API returns whether + traffic was allowed or denied, the rules evaluated for the specified + flow and the evaluation results. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_watcher_name: The name of the network watcher. + :type network_watcher_name: str + :param parameters: Parameters to get network configuration diagnostic. + :type parameters: + ~azure.mgmt.network.v2020_04_01.models.NetworkConfigurationDiagnosticParameters + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + NetworkConfigurationDiagnosticResponse or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.NetworkConfigurationDiagnosticResponse] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.NetworkConfigurationDiagnosticResponse]] + :raises: + :class:`ErrorResponseException` + """ + raw_result = self._get_network_configuration_diagnostic_initial( + resource_group_name=resource_group_name, + network_watcher_name=network_watcher_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('NetworkConfigurationDiagnosticResponse', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + get_network_configuration_diagnostic.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/networkConfigurationDiagnostic'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_operations.py new file mode 100644 index 00000000000..e0c86e52930 --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_operations.py @@ -0,0 +1,102 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class Operations(object): + """Operations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Lists all of the available Network Rest API operations. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of Operation + :rtype: + ~azure.mgmt.network.v2020_04_01.models.OperationPaged[~azure.mgmt.network.v2020_04_01.models.Operation] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.OperationPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/providers/Microsoft.Network/operations'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_p2s_vpn_gateways_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_p2s_vpn_gateways_operations.py new file mode 100644 index 00000000000..fd5f9caac88 --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_p2s_vpn_gateways_operations.py @@ -0,0 +1,892 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class P2sVpnGatewaysOperations(object): + """P2sVpnGatewaysOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + def get( + self, resource_group_name, gateway_name, custom_headers=None, raw=False, **operation_config): + """Retrieves the details of a virtual wan p2s vpn gateway. + + :param resource_group_name: The resource group name of the + P2SVpnGateway. + :type resource_group_name: str + :param gateway_name: The name of the gateway. + :type gateway_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: P2SVpnGateway or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.P2SVpnGateway or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('P2SVpnGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/p2svpnGateways/{gatewayName}'} + + + def _create_or_update_initial( + self, resource_group_name, gateway_name, p2_svpn_gateway_parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(p2_svpn_gateway_parameters, 'P2SVpnGateway') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('P2SVpnGateway', response) + if response.status_code == 201: + deserialized = self._deserialize('P2SVpnGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, gateway_name, p2_svpn_gateway_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates a virtual wan p2s vpn gateway if it doesn't exist else updates + the existing gateway. + + :param resource_group_name: The resource group name of the + P2SVpnGateway. + :type resource_group_name: str + :param gateway_name: The name of the gateway. + :type gateway_name: str + :param p2_svpn_gateway_parameters: Parameters supplied to create or + Update a virtual wan p2s vpn gateway. + :type p2_svpn_gateway_parameters: + ~azure.mgmt.network.v2020_04_01.models.P2SVpnGateway + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns P2SVpnGateway or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.P2SVpnGateway] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.P2SVpnGateway]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + gateway_name=gateway_name, + p2_svpn_gateway_parameters=p2_svpn_gateway_parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('P2SVpnGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/p2svpnGateways/{gatewayName}'} + + def update_tags( + self, resource_group_name, gateway_name, tags=None, custom_headers=None, raw=False, **operation_config): + """Updates virtual wan p2s vpn gateway tags. + + :param resource_group_name: The resource group name of the + P2SVpnGateway. + :type resource_group_name: str + :param gateway_name: The name of the gateway. + :type gateway_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: P2SVpnGateway or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.P2SVpnGateway or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + p2_svpn_gateway_parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(p2_svpn_gateway_parameters, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('P2SVpnGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/p2svpnGateways/{gatewayName}'} + + + def _delete_initial( + self, resource_group_name, gateway_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes a virtual wan p2s vpn gateway. + + :param resource_group_name: The resource group name of the + P2SVpnGateway. + :type resource_group_name: str + :param gateway_name: The name of the gateway. + :type gateway_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + gateway_name=gateway_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/p2svpnGateways/{gatewayName}'} + + def list_by_resource_group( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Lists all the P2SVpnGateways in a resource group. + + :param resource_group_name: The resource group name of the + P2SVpnGateway. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of P2SVpnGateway + :rtype: + ~azure.mgmt.network.v2020_04_01.models.P2SVpnGatewayPaged[~azure.mgmt.network.v2020_04_01.models.P2SVpnGateway] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.P2SVpnGatewayPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/p2svpnGateways'} + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Lists all the P2SVpnGateways in a subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of P2SVpnGateway + :rtype: + ~azure.mgmt.network.v2020_04_01.models.P2SVpnGatewayPaged[~azure.mgmt.network.v2020_04_01.models.P2SVpnGateway] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.P2SVpnGatewayPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/p2svpnGateways'} + + + def _generate_vpn_profile_initial( + self, resource_group_name, gateway_name, authentication_method=None, custom_headers=None, raw=False, **operation_config): + parameters = models.P2SVpnProfileParameters(authentication_method=authentication_method) + + # Construct URL + url = self.generate_vpn_profile.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'P2SVpnProfileParameters') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('VpnProfileResponse', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def generate_vpn_profile( + self, resource_group_name, gateway_name, authentication_method=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Generates VPN profile for P2S client of the P2SVpnGateway in the + specified resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param gateway_name: The name of the P2SVpnGateway. + :type gateway_name: str + :param authentication_method: VPN client authentication method. + Possible values include: 'EAPTLS', 'EAPMSCHAPv2' + :type authentication_method: str or + ~azure.mgmt.network.v2020_04_01.models.AuthenticationMethod + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns VpnProfileResponse or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.VpnProfileResponse] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.VpnProfileResponse]] + :raises: :class:`CloudError` + """ + raw_result = self._generate_vpn_profile_initial( + resource_group_name=resource_group_name, + gateway_name=gateway_name, + authentication_method=authentication_method, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('VpnProfileResponse', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + generate_vpn_profile.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/p2svpnGateways/{gatewayName}/generatevpnprofile'} + + + def _get_p2s_vpn_connection_health_initial( + self, resource_group_name, gateway_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.get_p2s_vpn_connection_health.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('P2SVpnGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def get_p2s_vpn_connection_health( + self, resource_group_name, gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Gets the connection health of P2S clients of the virtual wan + P2SVpnGateway in the specified resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param gateway_name: The name of the P2SVpnGateway. + :type gateway_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns P2SVpnGateway or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.P2SVpnGateway] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.P2SVpnGateway]] + :raises: :class:`CloudError` + """ + raw_result = self._get_p2s_vpn_connection_health_initial( + resource_group_name=resource_group_name, + gateway_name=gateway_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('P2SVpnGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + get_p2s_vpn_connection_health.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/p2svpnGateways/{gatewayName}/getP2sVpnConnectionHealth'} + + + def _get_p2s_vpn_connection_health_detailed_initial( + self, resource_group_name, gateway_name, vpn_user_names_filter=None, output_blob_sas_url=None, custom_headers=None, raw=False, **operation_config): + request = models.P2SVpnConnectionHealthRequest(vpn_user_names_filter=vpn_user_names_filter, output_blob_sas_url=output_blob_sas_url) + + # Construct URL + url = self.get_p2s_vpn_connection_health_detailed.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(request, 'P2SVpnConnectionHealthRequest') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('P2SVpnConnectionHealth', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def get_p2s_vpn_connection_health_detailed( + self, resource_group_name, gateway_name, vpn_user_names_filter=None, output_blob_sas_url=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Gets the sas url to get the connection health detail of P2S clients of + the virtual wan P2SVpnGateway in the specified resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param gateway_name: The name of the P2SVpnGateway. + :type gateway_name: str + :param vpn_user_names_filter: The list of p2s vpn user names whose p2s + vpn connection detailed health to retrieve for. + :type vpn_user_names_filter: list[str] + :param output_blob_sas_url: The sas-url to download the P2S Vpn + connection health detail. + :type output_blob_sas_url: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns P2SVpnConnectionHealth + or ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.P2SVpnConnectionHealth] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.P2SVpnConnectionHealth]] + :raises: :class:`CloudError` + """ + raw_result = self._get_p2s_vpn_connection_health_detailed_initial( + resource_group_name=resource_group_name, + gateway_name=gateway_name, + vpn_user_names_filter=vpn_user_names_filter, + output_blob_sas_url=output_blob_sas_url, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('P2SVpnConnectionHealth', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + get_p2s_vpn_connection_health_detailed.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/p2svpnGateways/{gatewayName}/getP2sVpnConnectionHealthDetailed'} + + + def _disconnect_p2s_vpn_connections_initial( + self, resource_group_name, p2s_vpn_gateway_name, vpn_connection_ids=None, custom_headers=None, raw=False, **operation_config): + request = models.P2SVpnConnectionRequest(vpn_connection_ids=vpn_connection_ids) + + # Construct URL + url = self.disconnect_p2s_vpn_connections.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'p2sVpnGatewayName': self._serialize.url("p2s_vpn_gateway_name", p2s_vpn_gateway_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.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(request, 'P2SVpnConnectionRequest') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def disconnect_p2s_vpn_connections( + self, resource_group_name, p2s_vpn_gateway_name, vpn_connection_ids=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Disconnect P2S vpn connections of the virtual wan P2SVpnGateway in the + specified resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param p2s_vpn_gateway_name: The name of the P2S Vpn Gateway. + :type p2s_vpn_gateway_name: str + :param vpn_connection_ids: List of p2s vpn connection Ids. + :type vpn_connection_ids: list[str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._disconnect_p2s_vpn_connections_initial( + resource_group_name=resource_group_name, + p2s_vpn_gateway_name=p2s_vpn_gateway_name, + vpn_connection_ids=vpn_connection_ids, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + disconnect_p2s_vpn_connections.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/p2svpnGateways/{p2sVpnGatewayName}/disconnectP2sVpnConnections'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_packet_captures_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_packet_captures_operations.py new file mode 100644 index 00000000000..b7247e84a8c --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_packet_captures_operations.py @@ -0,0 +1,543 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class PacketCapturesOperations(object): + """PacketCapturesOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + + def _create_initial( + self, resource_group_name, network_watcher_name, packet_capture_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), + 'packetCaptureName': self._serialize.url("packet_capture_name", packet_capture_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'PacketCapture') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [201]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 201: + deserialized = self._deserialize('PacketCaptureResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create( + self, resource_group_name, network_watcher_name, packet_capture_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Create and start a packet capture on the specified VM. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_watcher_name: The name of the network watcher. + :type network_watcher_name: str + :param packet_capture_name: The name of the packet capture session. + :type packet_capture_name: str + :param parameters: Parameters that define the create packet capture + operation. + :type parameters: ~azure.mgmt.network.v2020_04_01.models.PacketCapture + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns PacketCaptureResult or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.PacketCaptureResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.PacketCaptureResult]] + :raises: + :class:`ErrorResponseException` + """ + raw_result = self._create_initial( + resource_group_name=resource_group_name, + network_watcher_name=network_watcher_name, + packet_capture_name=packet_capture_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('PacketCaptureResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures/{packetCaptureName}'} + + def get( + self, resource_group_name, network_watcher_name, packet_capture_name, custom_headers=None, raw=False, **operation_config): + """Gets a packet capture session by name. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_watcher_name: The name of the network watcher. + :type network_watcher_name: str + :param packet_capture_name: The name of the packet capture session. + :type packet_capture_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PacketCaptureResult or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.PacketCaptureResult or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), + 'packetCaptureName': self._serialize.url("packet_capture_name", packet_capture_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('PacketCaptureResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures/{packetCaptureName}'} + + + def _delete_initial( + self, resource_group_name, network_watcher_name, packet_capture_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), + 'packetCaptureName': self._serialize.url("packet_capture_name", packet_capture_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [202, 204]: + raise models.ErrorResponseException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, network_watcher_name, packet_capture_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified packet capture session. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_watcher_name: The name of the network watcher. + :type network_watcher_name: str + :param packet_capture_name: The name of the packet capture session. + :type packet_capture_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: + :class:`ErrorResponseException` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + network_watcher_name=network_watcher_name, + packet_capture_name=packet_capture_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures/{packetCaptureName}'} + + + def _stop_initial( + self, resource_group_name, network_watcher_name, packet_capture_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.stop.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), + 'packetCaptureName': self._serialize.url("packet_capture_name", packet_capture_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + raise models.ErrorResponseException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def stop( + self, resource_group_name, network_watcher_name, packet_capture_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Stops a specified packet capture session. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_watcher_name: The name of the network watcher. + :type network_watcher_name: str + :param packet_capture_name: The name of the packet capture session. + :type packet_capture_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: + :class:`ErrorResponseException` + """ + raw_result = self._stop_initial( + resource_group_name=resource_group_name, + network_watcher_name=network_watcher_name, + packet_capture_name=packet_capture_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + stop.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures/{packetCaptureName}/stop'} + + + def _get_status_initial( + self, resource_group_name, network_watcher_name, packet_capture_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.get_status.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), + 'packetCaptureName': self._serialize.url("packet_capture_name", packet_capture_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('PacketCaptureQueryStatusResult', response) + if response.status_code == 202: + deserialized = self._deserialize('PacketCaptureQueryStatusResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def get_status( + self, resource_group_name, network_watcher_name, packet_capture_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Query the status of a running packet capture session. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_watcher_name: The name of the Network Watcher resource. + :type network_watcher_name: str + :param packet_capture_name: The name given to the packet capture + session. + :type packet_capture_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + PacketCaptureQueryStatusResult or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.PacketCaptureQueryStatusResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.PacketCaptureQueryStatusResult]] + :raises: + :class:`ErrorResponseException` + """ + raw_result = self._get_status_initial( + resource_group_name=resource_group_name, + network_watcher_name=network_watcher_name, + packet_capture_name=packet_capture_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('PacketCaptureQueryStatusResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + get_status.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures/{packetCaptureName}/queryStatus'} + + def list( + self, resource_group_name, network_watcher_name, custom_headers=None, raw=False, **operation_config): + """Lists all packet capture sessions within the specified resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_watcher_name: The name of the Network Watcher resource. + :type network_watcher_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of PacketCaptureResult + :rtype: + ~azure.mgmt.network.v2020_04_01.models.PacketCaptureResultPaged[~azure.mgmt.network.v2020_04_01.models.PacketCaptureResult] + :raises: + :class:`ErrorResponseException` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.PacketCaptureResultPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_peer_express_route_circuit_connections_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_peer_express_route_circuit_connections_operations.py new file mode 100644 index 00000000000..21832384248 --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_peer_express_route_circuit_connections_operations.py @@ -0,0 +1,188 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class PeerExpressRouteCircuitConnectionsOperations(object): + """PeerExpressRouteCircuitConnectionsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + def get( + self, resource_group_name, circuit_name, peering_name, connection_name, custom_headers=None, raw=False, **operation_config): + """Gets the specified Peer Express Route Circuit Connection from the + specified express route circuit. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param circuit_name: The name of the express route circuit. + :type circuit_name: str + :param peering_name: The name of the peering. + :type peering_name: str + :param connection_name: The name of the peer express route circuit + connection. + :type connection_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PeerExpressRouteCircuitConnection or ClientRawResponse if + raw=true + :rtype: + ~azure.mgmt.network.v2020_04_01.models.PeerExpressRouteCircuitConnection + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), + 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), + 'connectionName': self._serialize.url("connection_name", connection_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('PeerExpressRouteCircuitConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/peerConnections/{connectionName}'} + + def list( + self, resource_group_name, circuit_name, peering_name, custom_headers=None, raw=False, **operation_config): + """Gets all global reach peer connections associated with a private + peering in an express route circuit. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param circuit_name: The name of the circuit. + :type circuit_name: str + :param peering_name: The name of the peering. + :type peering_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of + PeerExpressRouteCircuitConnection + :rtype: + ~azure.mgmt.network.v2020_04_01.models.PeerExpressRouteCircuitConnectionPaged[~azure.mgmt.network.v2020_04_01.models.PeerExpressRouteCircuitConnection] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), + 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.PeerExpressRouteCircuitConnectionPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/peerConnections'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_private_dns_zone_groups_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_private_dns_zone_groups_operations.py new file mode 100644 index 00000000000..42340e4ceea --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_private_dns_zone_groups_operations.py @@ -0,0 +1,373 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class PrivateDnsZoneGroupsOperations(object): + """PrivateDnsZoneGroupsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, private_endpoint_name, private_dns_zone_group_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'privateEndpointName': self._serialize.url("private_endpoint_name", private_endpoint_name, 'str'), + 'privateDnsZoneGroupName': self._serialize.url("private_dns_zone_group_name", private_dns_zone_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, private_endpoint_name, private_dns_zone_group_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified private dns zone group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param private_endpoint_name: The name of the private endpoint. + :type private_endpoint_name: str + :param private_dns_zone_group_name: The name of the private dns zone + group. + :type private_dns_zone_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + private_endpoint_name=private_endpoint_name, + private_dns_zone_group_name=private_dns_zone_group_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints/{privateEndpointName}/privateDnsZoneGroups/{privateDnsZoneGroupName}'} + + def get( + self, resource_group_name, private_endpoint_name, private_dns_zone_group_name, custom_headers=None, raw=False, **operation_config): + """Gets the private dns zone group resource by specified private dns zone + group name. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param private_endpoint_name: The name of the private endpoint. + :type private_endpoint_name: str + :param private_dns_zone_group_name: The name of the private dns zone + group. + :type private_dns_zone_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PrivateDnsZoneGroup or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.PrivateDnsZoneGroup or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'privateEndpointName': self._serialize.url("private_endpoint_name", private_endpoint_name, 'str'), + 'privateDnsZoneGroupName': self._serialize.url("private_dns_zone_group_name", private_dns_zone_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('PrivateDnsZoneGroup', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints/{privateEndpointName}/privateDnsZoneGroups/{privateDnsZoneGroupName}'} + + + def _create_or_update_initial( + self, resource_group_name, private_endpoint_name, private_dns_zone_group_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'privateEndpointName': self._serialize.url("private_endpoint_name", private_endpoint_name, 'str'), + 'privateDnsZoneGroupName': self._serialize.url("private_dns_zone_group_name", private_dns_zone_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'PrivateDnsZoneGroup') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('PrivateDnsZoneGroup', response) + if response.status_code == 201: + deserialized = self._deserialize('PrivateDnsZoneGroup', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, private_endpoint_name, private_dns_zone_group_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a private dns zone group in the specified private + endpoint. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param private_endpoint_name: The name of the private endpoint. + :type private_endpoint_name: str + :param private_dns_zone_group_name: The name of the private dns zone + group. + :type private_dns_zone_group_name: str + :param parameters: Parameters supplied to the create or update private + dns zone group operation. + :type parameters: + ~azure.mgmt.network.v2020_04_01.models.PrivateDnsZoneGroup + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns PrivateDnsZoneGroup or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.PrivateDnsZoneGroup] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.PrivateDnsZoneGroup]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + private_endpoint_name=private_endpoint_name, + private_dns_zone_group_name=private_dns_zone_group_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('PrivateDnsZoneGroup', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints/{privateEndpointName}/privateDnsZoneGroups/{privateDnsZoneGroupName}'} + + def list( + self, private_endpoint_name, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Gets all private dns zone groups in a private endpoint. + + :param private_endpoint_name: The name of the private endpoint. + :type private_endpoint_name: str + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of PrivateDnsZoneGroup + :rtype: + ~azure.mgmt.network.v2020_04_01.models.PrivateDnsZoneGroupPaged[~azure.mgmt.network.v2020_04_01.models.PrivateDnsZoneGroup] + :raises: + :class:`ErrorException` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'privateEndpointName': self._serialize.url("private_endpoint_name", private_endpoint_name, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorException(self._deserialize, response) + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.PrivateDnsZoneGroupPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints/{privateEndpointName}/privateDnsZoneGroups'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_private_endpoints_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_private_endpoints_operations.py new file mode 100644 index 00000000000..edd73e6550b --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_private_endpoints_operations.py @@ -0,0 +1,419 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class PrivateEndpointsOperations(object): + """PrivateEndpointsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, private_endpoint_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'privateEndpointName': self._serialize.url("private_endpoint_name", private_endpoint_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + raise models.ErrorException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, private_endpoint_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified private endpoint. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param private_endpoint_name: The name of the private endpoint. + :type private_endpoint_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: + :class:`ErrorException` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + private_endpoint_name=private_endpoint_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints/{privateEndpointName}'} + + def get( + self, resource_group_name, private_endpoint_name, expand=None, custom_headers=None, raw=False, **operation_config): + """Gets the specified private endpoint by resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param private_endpoint_name: The name of the private endpoint. + :type private_endpoint_name: str + :param expand: Expands referenced resources. + :type expand: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PrivateEndpoint or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.PrivateEndpoint or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorException` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'privateEndpointName': self._serialize.url("private_endpoint_name", private_endpoint_name, 'str'), + '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.api_version", self.api_version, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('PrivateEndpoint', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints/{privateEndpointName}'} + + + def _create_or_update_initial( + self, resource_group_name, private_endpoint_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'privateEndpointName': self._serialize.url("private_endpoint_name", private_endpoint_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'PrivateEndpoint') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + raise models.ErrorException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('PrivateEndpoint', response) + if response.status_code == 201: + deserialized = self._deserialize('PrivateEndpoint', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, private_endpoint_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates an private endpoint in the specified resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param private_endpoint_name: The name of the private endpoint. + :type private_endpoint_name: str + :param parameters: Parameters supplied to the create or update private + endpoint operation. + :type parameters: + ~azure.mgmt.network.v2020_04_01.models.PrivateEndpoint + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns PrivateEndpoint or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.PrivateEndpoint] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.PrivateEndpoint]] + :raises: + :class:`ErrorException` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + private_endpoint_name=private_endpoint_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('PrivateEndpoint', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints/{privateEndpointName}'} + + def list( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Gets all private endpoints in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of PrivateEndpoint + :rtype: + ~azure.mgmt.network.v2020_04_01.models.PrivateEndpointPaged[~azure.mgmt.network.v2020_04_01.models.PrivateEndpoint] + :raises: + :class:`ErrorException` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorException(self._deserialize, response) + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.PrivateEndpointPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints'} + + def list_by_subscription( + self, custom_headers=None, raw=False, **operation_config): + """Gets all private endpoints in a subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of PrivateEndpoint + :rtype: + ~azure.mgmt.network.v2020_04_01.models.PrivateEndpointPaged[~azure.mgmt.network.v2020_04_01.models.PrivateEndpoint] + :raises: + :class:`ErrorException` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_subscription.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorException(self._deserialize, response) + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.PrivateEndpointPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/privateEndpoints'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_private_link_services_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_private_link_services_operations.py new file mode 100644 index 00000000000..3027dfc4d42 --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_private_link_services_operations.py @@ -0,0 +1,1006 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class PrivateLinkServicesOperations(object): + """PrivateLinkServicesOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, service_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + raise models.ErrorException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, service_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified private link service. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param service_name: The name of the private link service. + :type service_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: + :class:`ErrorException` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + service_name=service_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateLinkServices/{serviceName}'} + + def get( + self, resource_group_name, service_name, expand=None, custom_headers=None, raw=False, **operation_config): + """Gets the specified private link service by resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param service_name: The name of the private link service. + :type service_name: str + :param expand: Expands referenced resources. + :type expand: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PrivateLinkService or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.PrivateLinkService or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorException` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + '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.api_version", self.api_version, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('PrivateLinkService', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateLinkServices/{serviceName}'} + + + def _create_or_update_initial( + self, resource_group_name, service_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'PrivateLinkService') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + raise models.ErrorException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('PrivateLinkService', response) + if response.status_code == 201: + deserialized = self._deserialize('PrivateLinkService', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, service_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates an private link service in the specified resource + group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param service_name: The name of the private link service. + :type service_name: str + :param parameters: Parameters supplied to the create or update private + link service operation. + :type parameters: + ~azure.mgmt.network.v2020_04_01.models.PrivateLinkService + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns PrivateLinkService or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.PrivateLinkService] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.PrivateLinkService]] + :raises: + :class:`ErrorException` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + service_name=service_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('PrivateLinkService', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateLinkServices/{serviceName}'} + + def list( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Gets all private link services in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of PrivateLinkService + :rtype: + ~azure.mgmt.network.v2020_04_01.models.PrivateLinkServicePaged[~azure.mgmt.network.v2020_04_01.models.PrivateLinkService] + :raises: + :class:`ErrorException` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorException(self._deserialize, response) + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.PrivateLinkServicePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateLinkServices'} + + def list_by_subscription( + self, custom_headers=None, raw=False, **operation_config): + """Gets all private link service in a subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of PrivateLinkService + :rtype: + ~azure.mgmt.network.v2020_04_01.models.PrivateLinkServicePaged[~azure.mgmt.network.v2020_04_01.models.PrivateLinkService] + :raises: + :class:`ErrorException` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_subscription.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorException(self._deserialize, response) + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.PrivateLinkServicePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/privateLinkServices'} + + def get_private_endpoint_connection( + self, resource_group_name, service_name, pe_connection_name, expand=None, custom_headers=None, raw=False, **operation_config): + """Get the specific private end point connection by specific private link + service in the resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param service_name: The name of the private link service. + :type service_name: str + :param pe_connection_name: The name of the private end point + connection. + :type pe_connection_name: str + :param expand: Expands referenced resources. + :type expand: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PrivateEndpointConnection or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.network.v2020_04_01.models.PrivateEndpointConnection or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorException` + """ + # Construct URL + url = self.get_private_endpoint_connection.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'peConnectionName': self._serialize.url("pe_connection_name", pe_connection_name, 'str'), + '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.api_version", self.api_version, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('PrivateEndpointConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_private_endpoint_connection.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateLinkServices/{serviceName}/privateEndpointConnections/{peConnectionName}'} + + def update_private_endpoint_connection( + self, resource_group_name, service_name, pe_connection_name, parameters, custom_headers=None, raw=False, **operation_config): + """Approve or reject private end point connection for a private link + service in a subscription. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param service_name: The name of the private link service. + :type service_name: str + :param pe_connection_name: The name of the private end point + connection. + :type pe_connection_name: str + :param parameters: Parameters supplied to approve or reject the + private end point connection. + :type parameters: + ~azure.mgmt.network.v2020_04_01.models.PrivateEndpointConnection + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PrivateEndpointConnection or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.network.v2020_04_01.models.PrivateEndpointConnection or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorException` + """ + # Construct URL + url = self.update_private_endpoint_connection.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'peConnectionName': self._serialize.url("pe_connection_name", pe_connection_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'PrivateEndpointConnection') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('PrivateEndpointConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_private_endpoint_connection.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateLinkServices/{serviceName}/privateEndpointConnections/{peConnectionName}'} + + + def _delete_private_endpoint_connection_initial( + self, resource_group_name, service_name, pe_connection_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete_private_endpoint_connection.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'peConnectionName': self._serialize.url("pe_connection_name", pe_connection_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + raise models.ErrorException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete_private_endpoint_connection( + self, resource_group_name, service_name, pe_connection_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Delete private end point connection for a private link service in a + subscription. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param service_name: The name of the private link service. + :type service_name: str + :param pe_connection_name: The name of the private end point + connection. + :type pe_connection_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: + :class:`ErrorException` + """ + raw_result = self._delete_private_endpoint_connection_initial( + resource_group_name=resource_group_name, + service_name=service_name, + pe_connection_name=pe_connection_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete_private_endpoint_connection.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateLinkServices/{serviceName}/privateEndpointConnections/{peConnectionName}'} + + def list_private_endpoint_connections( + self, resource_group_name, service_name, custom_headers=None, raw=False, **operation_config): + """Gets all private end point connections for a specific private link + service. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param service_name: The name of the private link service. + :type service_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of PrivateEndpointConnection + :rtype: + ~azure.mgmt.network.v2020_04_01.models.PrivateEndpointConnectionPaged[~azure.mgmt.network.v2020_04_01.models.PrivateEndpointConnection] + :raises: + :class:`ErrorException` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_private_endpoint_connections.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorException(self._deserialize, response) + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.PrivateEndpointConnectionPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_private_endpoint_connections.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateLinkServices/{serviceName}/privateEndpointConnections'} + + def check_private_link_service_visibility( + self, location, private_link_service_alias=None, custom_headers=None, raw=False, **operation_config): + """Checks whether the subscription is visible to private link service. + + :param location: The location of the domain name. + :type location: str + :param private_link_service_alias: The alias of the private link + service. + :type private_link_service_alias: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PrivateLinkServiceVisibility or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.network.v2020_04_01.models.PrivateLinkServiceVisibility or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + parameters = models.CheckPrivateLinkServiceVisibilityRequest(private_link_service_alias=private_link_service_alias) + + # Construct URL + url = self.check_private_link_service_visibility.metadata['url'] + path_format_arguments = { + 'location': self._serialize.url("location", location, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'CheckPrivateLinkServiceVisibilityRequest') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('PrivateLinkServiceVisibility', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + check_private_link_service_visibility.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/checkPrivateLinkServiceVisibility'} + + def check_private_link_service_visibility_by_resource_group( + self, location, resource_group_name, private_link_service_alias=None, custom_headers=None, raw=False, **operation_config): + """Checks whether the subscription is visible to private link service in + the specified resource group. + + :param location: The location of the domain name. + :type location: str + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param private_link_service_alias: The alias of the private link + service. + :type private_link_service_alias: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PrivateLinkServiceVisibility or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.network.v2020_04_01.models.PrivateLinkServiceVisibility or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + parameters = models.CheckPrivateLinkServiceVisibilityRequest(private_link_service_alias=private_link_service_alias) + + # Construct URL + url = self.check_private_link_service_visibility_by_resource_group.metadata['url'] + path_format_arguments = { + 'location': self._serialize.url("location", location, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'CheckPrivateLinkServiceVisibilityRequest') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('PrivateLinkServiceVisibility', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + check_private_link_service_visibility_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/locations/{location}/checkPrivateLinkServiceVisibility'} + + def list_auto_approved_private_link_services( + self, location, custom_headers=None, raw=False, **operation_config): + """Returns all of the private link service ids that can be linked to a + Private Endpoint with auto approved in this subscription in this + region. + + :param location: The location of the domain name. + :type location: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of AutoApprovedPrivateLinkService + :rtype: + ~azure.mgmt.network.v2020_04_01.models.AutoApprovedPrivateLinkServicePaged[~azure.mgmt.network.v2020_04_01.models.AutoApprovedPrivateLinkService] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_auto_approved_private_link_services.metadata['url'] + path_format_arguments = { + 'location': self._serialize.url("location", location, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.AutoApprovedPrivateLinkServicePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_auto_approved_private_link_services.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/autoApprovedPrivateLinkServices'} + + def list_auto_approved_private_link_services_by_resource_group( + self, location, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Returns all of the private link service ids that can be linked to a + Private Endpoint with auto approved in this subscription in this + region. + + :param location: The location of the domain name. + :type location: str + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of AutoApprovedPrivateLinkService + :rtype: + ~azure.mgmt.network.v2020_04_01.models.AutoApprovedPrivateLinkServicePaged[~azure.mgmt.network.v2020_04_01.models.AutoApprovedPrivateLinkService] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_auto_approved_private_link_services_by_resource_group.metadata['url'] + path_format_arguments = { + 'location': self._serialize.url("location", location, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.AutoApprovedPrivateLinkServicePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_auto_approved_private_link_services_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/locations/{location}/autoApprovedPrivateLinkServices'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_public_ip_addresses_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_public_ip_addresses_operations.py new file mode 100644 index 00000000000..35f8f2d9a82 --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_public_ip_addresses_operations.py @@ -0,0 +1,745 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class PublicIPAddressesOperations(object): + """PublicIPAddressesOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + + self.config = config + + + def _delete_initial( + self, resource_group_name, public_ip_address_name, custom_headers=None, raw=False, **operation_config): + api_version = "2020-04-01" + + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'publicIpAddressName': self._serialize.url("public_ip_address_name", public_ip_address_name, 'str'), + '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("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, public_ip_address_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified public IP address. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param public_ip_address_name: The name of the subnet. + :type public_ip_address_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + public_ip_address_name=public_ip_address_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses/{publicIpAddressName}'} + + def get( + self, resource_group_name, public_ip_address_name, expand=None, custom_headers=None, raw=False, **operation_config): + """Gets the specified public IP address in a specified resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param public_ip_address_name: The name of the subnet. + :type public_ip_address_name: str + :param expand: Expands referenced resources. + :type expand: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PublicIPAddress or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.PublicIPAddress or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + api_version = "2020-04-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'publicIpAddressName': self._serialize.url("public_ip_address_name", public_ip_address_name, 'str'), + '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("api_version", api_version, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('PublicIPAddress', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses/{publicIpAddressName}'} + + + def _create_or_update_initial( + self, resource_group_name, public_ip_address_name, parameters, custom_headers=None, raw=False, **operation_config): + api_version = "2020-04-01" + + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'publicIpAddressName': self._serialize.url("public_ip_address_name", public_ip_address_name, 'str'), + '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("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'PublicIPAddress') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('PublicIPAddress', response) + if response.status_code == 201: + deserialized = self._deserialize('PublicIPAddress', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, public_ip_address_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a static or dynamic public IP address. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param public_ip_address_name: The name of the public IP address. + :type public_ip_address_name: str + :param parameters: Parameters supplied to the create or update public + IP address operation. + :type parameters: + ~azure.mgmt.network.v2020_04_01.models.PublicIPAddress + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns PublicIPAddress or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.PublicIPAddress] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.PublicIPAddress]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + public_ip_address_name=public_ip_address_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('PublicIPAddress', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses/{publicIpAddressName}'} + + def update_tags( + self, resource_group_name, public_ip_address_name, tags=None, custom_headers=None, raw=False, **operation_config): + """Updates public IP address tags. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param public_ip_address_name: The name of the public IP address. + :type public_ip_address_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PublicIPAddress or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.PublicIPAddress or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + parameters = models.TagsObject(tags=tags) + + api_version = "2020-04-01" + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'publicIpAddressName': self._serialize.url("public_ip_address_name", public_ip_address_name, 'str'), + '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("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('PublicIPAddress', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses/{publicIpAddressName}'} + + def list_all( + self, custom_headers=None, raw=False, **operation_config): + """Gets all the public IP addresses in a subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of PublicIPAddress + :rtype: + ~azure.mgmt.network.v2020_04_01.models.PublicIPAddressPaged[~azure.mgmt.network.v2020_04_01.models.PublicIPAddress] + :raises: :class:`CloudError` + """ + api_version = "2020-04-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_all.metadata['url'] + path_format_arguments = { + '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("api_version", api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.PublicIPAddressPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/publicIPAddresses'} + + def list( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Gets all public IP addresses in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of PublicIPAddress + :rtype: + ~azure.mgmt.network.v2020_04_01.models.PublicIPAddressPaged[~azure.mgmt.network.v2020_04_01.models.PublicIPAddress] + :raises: :class:`CloudError` + """ + api_version = "2020-04-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + '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("api_version", api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.PublicIPAddressPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses'} + + def list_virtual_machine_scale_set_public_ip_addresses( + self, resource_group_name, virtual_machine_scale_set_name, custom_headers=None, raw=False, **operation_config): + """Gets information about all public IP addresses on a virtual machine + scale set level. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_machine_scale_set_name: The name of the virtual machine + scale set. + :type virtual_machine_scale_set_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of PublicIPAddress + :rtype: + ~azure.mgmt.network.v2020_04_01.models.PublicIPAddressPaged[~azure.mgmt.network.v2020_04_01.models.PublicIPAddress] + :raises: :class:`CloudError` + """ + api_version = "2018-10-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_virtual_machine_scale_set_public_ip_addresses.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineScaleSetName': self._serialize.url("virtual_machine_scale_set_name", virtual_machine_scale_set_name, 'str'), + '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("api_version", api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.PublicIPAddressPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_virtual_machine_scale_set_public_ip_addresses.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/publicipaddresses'} + + def list_virtual_machine_scale_set_vm_public_ip_addresses( + self, resource_group_name, virtual_machine_scale_set_name, virtualmachine_index, network_interface_name, ip_configuration_name, custom_headers=None, raw=False, **operation_config): + """Gets information about all public IP addresses in a virtual machine IP + configuration in a virtual machine scale set. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_machine_scale_set_name: The name of the virtual machine + scale set. + :type virtual_machine_scale_set_name: str + :param virtualmachine_index: The virtual machine index. + :type virtualmachine_index: str + :param network_interface_name: The network interface name. + :type network_interface_name: str + :param ip_configuration_name: The IP configuration name. + :type ip_configuration_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of PublicIPAddress + :rtype: + ~azure.mgmt.network.v2020_04_01.models.PublicIPAddressPaged[~azure.mgmt.network.v2020_04_01.models.PublicIPAddress] + :raises: :class:`CloudError` + """ + api_version = "2018-10-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_virtual_machine_scale_set_vm_public_ip_addresses.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineScaleSetName': self._serialize.url("virtual_machine_scale_set_name", virtual_machine_scale_set_name, 'str'), + 'virtualmachineIndex': self._serialize.url("virtualmachine_index", virtualmachine_index, 'str'), + 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), + 'ipConfigurationName': self._serialize.url("ip_configuration_name", ip_configuration_name, 'str'), + '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("api_version", api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.PublicIPAddressPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_virtual_machine_scale_set_vm_public_ip_addresses.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}/ipconfigurations/{ipConfigurationName}/publicipaddresses'} + + def get_virtual_machine_scale_set_public_ip_address( + self, resource_group_name, virtual_machine_scale_set_name, virtualmachine_index, network_interface_name, ip_configuration_name, public_ip_address_name, expand=None, custom_headers=None, raw=False, **operation_config): + """Get the specified public IP address in a virtual machine scale set. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_machine_scale_set_name: The name of the virtual machine + scale set. + :type virtual_machine_scale_set_name: str + :param virtualmachine_index: The virtual machine index. + :type virtualmachine_index: str + :param network_interface_name: The name of the network interface. + :type network_interface_name: str + :param ip_configuration_name: The name of the IP configuration. + :type ip_configuration_name: str + :param public_ip_address_name: The name of the public IP Address. + :type public_ip_address_name: str + :param expand: Expands referenced resources. + :type expand: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PublicIPAddress or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.PublicIPAddress or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + api_version = "2018-10-01" + + # Construct URL + url = self.get_virtual_machine_scale_set_public_ip_address.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineScaleSetName': self._serialize.url("virtual_machine_scale_set_name", virtual_machine_scale_set_name, 'str'), + 'virtualmachineIndex': self._serialize.url("virtualmachine_index", virtualmachine_index, 'str'), + 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), + 'ipConfigurationName': self._serialize.url("ip_configuration_name", ip_configuration_name, 'str'), + 'publicIpAddressName': self._serialize.url("public_ip_address_name", public_ip_address_name, 'str'), + '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("api_version", api_version, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('PublicIPAddress', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_virtual_machine_scale_set_public_ip_address.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}/ipconfigurations/{ipConfigurationName}/publicipaddresses/{publicIpAddressName}'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_public_ip_prefixes_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_public_ip_prefixes_operations.py new file mode 100644 index 00000000000..1d447194448 --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_public_ip_prefixes_operations.py @@ -0,0 +1,494 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class PublicIPPrefixesOperations(object): + """PublicIPPrefixesOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, public_ip_prefix_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'publicIpPrefixName': self._serialize.url("public_ip_prefix_name", public_ip_prefix_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, public_ip_prefix_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified public IP prefix. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param public_ip_prefix_name: The name of the PublicIpPrefix. + :type public_ip_prefix_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + public_ip_prefix_name=public_ip_prefix_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIpPrefixName}'} + + def get( + self, resource_group_name, public_ip_prefix_name, expand=None, custom_headers=None, raw=False, **operation_config): + """Gets the specified public IP prefix in a specified resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param public_ip_prefix_name: The name of the public IP prefix. + :type public_ip_prefix_name: str + :param expand: Expands referenced resources. + :type expand: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PublicIPPrefix or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.PublicIPPrefix or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'publicIpPrefixName': self._serialize.url("public_ip_prefix_name", public_ip_prefix_name, 'str'), + '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.api_version", self.api_version, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('PublicIPPrefix', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIpPrefixName}'} + + + def _create_or_update_initial( + self, resource_group_name, public_ip_prefix_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'publicIpPrefixName': self._serialize.url("public_ip_prefix_name", public_ip_prefix_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'PublicIPPrefix') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('PublicIPPrefix', response) + if response.status_code == 201: + deserialized = self._deserialize('PublicIPPrefix', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, public_ip_prefix_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a static or dynamic public IP prefix. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param public_ip_prefix_name: The name of the public IP prefix. + :type public_ip_prefix_name: str + :param parameters: Parameters supplied to the create or update public + IP prefix operation. + :type parameters: + ~azure.mgmt.network.v2020_04_01.models.PublicIPPrefix + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns PublicIPPrefix or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.PublicIPPrefix] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.PublicIPPrefix]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + public_ip_prefix_name=public_ip_prefix_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('PublicIPPrefix', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIpPrefixName}'} + + def update_tags( + self, resource_group_name, public_ip_prefix_name, tags=None, custom_headers=None, raw=False, **operation_config): + """Updates public IP prefix tags. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param public_ip_prefix_name: The name of the public IP prefix. + :type public_ip_prefix_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PublicIPPrefix or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.PublicIPPrefix or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'publicIpPrefixName': self._serialize.url("public_ip_prefix_name", public_ip_prefix_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('PublicIPPrefix', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIpPrefixName}'} + + def list_all( + self, custom_headers=None, raw=False, **operation_config): + """Gets all the public IP prefixes in a subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of PublicIPPrefix + :rtype: + ~azure.mgmt.network.v2020_04_01.models.PublicIPPrefixPaged[~azure.mgmt.network.v2020_04_01.models.PublicIPPrefix] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_all.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.PublicIPPrefixPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/publicIPPrefixes'} + + def list( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Gets all public IP prefixes in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of PublicIPPrefix + :rtype: + ~azure.mgmt.network.v2020_04_01.models.PublicIPPrefixPaged[~azure.mgmt.network.v2020_04_01.models.PublicIPPrefix] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.PublicIPPrefixPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_resource_navigation_links_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_resource_navigation_links_operations.py new file mode 100644 index 00000000000..5e7cac37034 --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_resource_navigation_links_operations.py @@ -0,0 +1,106 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class ResourceNavigationLinksOperations(object): + """ResourceNavigationLinksOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + def list( + self, resource_group_name, virtual_network_name, subnet_name, custom_headers=None, raw=False, **operation_config): + """Gets a list of resource navigation links for a subnet. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_name: The name of the virtual network. + :type virtual_network_name: str + :param subnet_name: The name of the subnet. + :type subnet_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ResourceNavigationLinksListResult or ClientRawResponse if + raw=true + :rtype: + ~azure.mgmt.network.v2020_04_01.models.ResourceNavigationLinksListResult + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), + 'subnetName': self._serialize.url("subnet_name", subnet_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ResourceNavigationLinksListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}/ResourceNavigationLinks'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_route_filter_rules_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_route_filter_rules_operations.py new file mode 100644 index 00000000000..428cb70c617 --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_route_filter_rules_operations.py @@ -0,0 +1,369 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class RouteFilterRulesOperations(object): + """RouteFilterRulesOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, route_filter_name, rule_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'routeFilterName': self._serialize.url("route_filter_name", route_filter_name, 'str'), + 'ruleName': self._serialize.url("rule_name", rule_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, route_filter_name, rule_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified rule from a route filter. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param route_filter_name: The name of the route filter. + :type route_filter_name: str + :param rule_name: The name of the rule. + :type rule_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + route_filter_name=route_filter_name, + rule_name=rule_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}/routeFilterRules/{ruleName}'} + + def get( + self, resource_group_name, route_filter_name, rule_name, custom_headers=None, raw=False, **operation_config): + """Gets the specified rule from a route filter. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param route_filter_name: The name of the route filter. + :type route_filter_name: str + :param rule_name: The name of the rule. + :type rule_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: RouteFilterRule or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.RouteFilterRule or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'routeFilterName': self._serialize.url("route_filter_name", route_filter_name, 'str'), + 'ruleName': self._serialize.url("rule_name", rule_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('RouteFilterRule', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}/routeFilterRules/{ruleName}'} + + + def _create_or_update_initial( + self, resource_group_name, route_filter_name, rule_name, route_filter_rule_parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'routeFilterName': self._serialize.url("route_filter_name", route_filter_name, 'str'), + 'ruleName': self._serialize.url("rule_name", rule_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(route_filter_rule_parameters, 'RouteFilterRule') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('RouteFilterRule', response) + if response.status_code == 201: + deserialized = self._deserialize('RouteFilterRule', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, route_filter_name, rule_name, route_filter_rule_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a route in the specified route filter. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param route_filter_name: The name of the route filter. + :type route_filter_name: str + :param rule_name: The name of the route filter rule. + :type rule_name: str + :param route_filter_rule_parameters: Parameters supplied to the create + or update route filter rule operation. + :type route_filter_rule_parameters: + ~azure.mgmt.network.v2020_04_01.models.RouteFilterRule + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns RouteFilterRule or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.RouteFilterRule] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.RouteFilterRule]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + route_filter_name=route_filter_name, + rule_name=rule_name, + route_filter_rule_parameters=route_filter_rule_parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('RouteFilterRule', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}/routeFilterRules/{ruleName}'} + + def list_by_route_filter( + self, resource_group_name, route_filter_name, custom_headers=None, raw=False, **operation_config): + """Gets all RouteFilterRules in a route filter. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param route_filter_name: The name of the route filter. + :type route_filter_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of RouteFilterRule + :rtype: + ~azure.mgmt.network.v2020_04_01.models.RouteFilterRulePaged[~azure.mgmt.network.v2020_04_01.models.RouteFilterRule] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_route_filter.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'routeFilterName': self._serialize.url("route_filter_name", route_filter_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.RouteFilterRulePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_route_filter.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}/routeFilterRules'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_route_filters_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_route_filters_operations.py new file mode 100644 index 00000000000..6bb12d364c5 --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_route_filters_operations.py @@ -0,0 +1,494 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class RouteFiltersOperations(object): + """RouteFiltersOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, route_filter_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'routeFilterName': self._serialize.url("route_filter_name", route_filter_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, route_filter_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified route filter. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param route_filter_name: The name of the route filter. + :type route_filter_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + route_filter_name=route_filter_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}'} + + def get( + self, resource_group_name, route_filter_name, expand=None, custom_headers=None, raw=False, **operation_config): + """Gets the specified route filter. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param route_filter_name: The name of the route filter. + :type route_filter_name: str + :param expand: Expands referenced express route bgp peering resources. + :type expand: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: RouteFilter or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.RouteFilter or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'routeFilterName': self._serialize.url("route_filter_name", route_filter_name, 'str'), + '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.api_version", self.api_version, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('RouteFilter', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}'} + + + def _create_or_update_initial( + self, resource_group_name, route_filter_name, route_filter_parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'routeFilterName': self._serialize.url("route_filter_name", route_filter_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(route_filter_parameters, 'RouteFilter') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('RouteFilter', response) + if response.status_code == 201: + deserialized = self._deserialize('RouteFilter', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, route_filter_name, route_filter_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a route filter in a specified resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param route_filter_name: The name of the route filter. + :type route_filter_name: str + :param route_filter_parameters: Parameters supplied to the create or + update route filter operation. + :type route_filter_parameters: + ~azure.mgmt.network.v2020_04_01.models.RouteFilter + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns RouteFilter or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.RouteFilter] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.RouteFilter]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + route_filter_name=route_filter_name, + route_filter_parameters=route_filter_parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('RouteFilter', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}'} + + def update_tags( + self, resource_group_name, route_filter_name, tags=None, custom_headers=None, raw=False, **operation_config): + """Updates tags of a route filter. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param route_filter_name: The name of the route filter. + :type route_filter_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: RouteFilter or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.RouteFilter or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'routeFilterName': self._serialize.url("route_filter_name", route_filter_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('RouteFilter', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}'} + + def list_by_resource_group( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Gets all route filters in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of RouteFilter + :rtype: + ~azure.mgmt.network.v2020_04_01.models.RouteFilterPaged[~azure.mgmt.network.v2020_04_01.models.RouteFilter] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.RouteFilterPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters'} + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Gets all route filters in a subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of RouteFilter + :rtype: + ~azure.mgmt.network.v2020_04_01.models.RouteFilterPaged[~azure.mgmt.network.v2020_04_01.models.RouteFilter] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.RouteFilterPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/routeFilters'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_route_tables_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_route_tables_operations.py new file mode 100644 index 00000000000..f54f3f4d43c --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_route_tables_operations.py @@ -0,0 +1,493 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class RouteTablesOperations(object): + """RouteTablesOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, route_table_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'routeTableName': self._serialize.url("route_table_name", route_table_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, route_table_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified route table. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param route_table_name: The name of the route table. + :type route_table_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + route_table_name=route_table_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}'} + + def get( + self, resource_group_name, route_table_name, expand=None, custom_headers=None, raw=False, **operation_config): + """Gets the specified route table. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param route_table_name: The name of the route table. + :type route_table_name: str + :param expand: Expands referenced resources. + :type expand: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: RouteTable or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.RouteTable or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'routeTableName': self._serialize.url("route_table_name", route_table_name, 'str'), + '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.api_version", self.api_version, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('RouteTable', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}'} + + + def _create_or_update_initial( + self, resource_group_name, route_table_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'routeTableName': self._serialize.url("route_table_name", route_table_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'RouteTable') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('RouteTable', response) + if response.status_code == 201: + deserialized = self._deserialize('RouteTable', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, route_table_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Create or updates a route table in a specified resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param route_table_name: The name of the route table. + :type route_table_name: str + :param parameters: Parameters supplied to the create or update route + table operation. + :type parameters: ~azure.mgmt.network.v2020_04_01.models.RouteTable + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns RouteTable or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.RouteTable] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.RouteTable]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + route_table_name=route_table_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('RouteTable', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}'} + + def update_tags( + self, resource_group_name, route_table_name, tags=None, custom_headers=None, raw=False, **operation_config): + """Updates a route table tags. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param route_table_name: The name of the route table. + :type route_table_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: RouteTable or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.RouteTable or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'routeTableName': self._serialize.url("route_table_name", route_table_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('RouteTable', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}'} + + def list( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Gets all route tables in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of RouteTable + :rtype: + ~azure.mgmt.network.v2020_04_01.models.RouteTablePaged[~azure.mgmt.network.v2020_04_01.models.RouteTable] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.RouteTablePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables'} + + def list_all( + self, custom_headers=None, raw=False, **operation_config): + """Gets all route tables in a subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of RouteTable + :rtype: + ~azure.mgmt.network.v2020_04_01.models.RouteTablePaged[~azure.mgmt.network.v2020_04_01.models.RouteTable] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_all.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.RouteTablePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/routeTables'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_routes_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_routes_operations.py new file mode 100644 index 00000000000..a5a9bd5579e --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_routes_operations.py @@ -0,0 +1,368 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class RoutesOperations(object): + """RoutesOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, route_table_name, route_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'routeTableName': self._serialize.url("route_table_name", route_table_name, 'str'), + 'routeName': self._serialize.url("route_name", route_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, route_table_name, route_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified route from a route table. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param route_table_name: The name of the route table. + :type route_table_name: str + :param route_name: The name of the route. + :type route_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + route_table_name=route_table_name, + route_name=route_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}/routes/{routeName}'} + + def get( + self, resource_group_name, route_table_name, route_name, custom_headers=None, raw=False, **operation_config): + """Gets the specified route from a route table. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param route_table_name: The name of the route table. + :type route_table_name: str + :param route_name: The name of the route. + :type route_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: Route or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.Route or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'routeTableName': self._serialize.url("route_table_name", route_table_name, 'str'), + 'routeName': self._serialize.url("route_name", route_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('Route', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}/routes/{routeName}'} + + + def _create_or_update_initial( + self, resource_group_name, route_table_name, route_name, route_parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'routeTableName': self._serialize.url("route_table_name", route_table_name, 'str'), + 'routeName': self._serialize.url("route_name", route_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(route_parameters, 'Route') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('Route', response) + if response.status_code == 201: + deserialized = self._deserialize('Route', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, route_table_name, route_name, route_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a route in the specified route table. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param route_table_name: The name of the route table. + :type route_table_name: str + :param route_name: The name of the route. + :type route_name: str + :param route_parameters: Parameters supplied to the create or update + route operation. + :type route_parameters: ~azure.mgmt.network.v2020_04_01.models.Route + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns Route or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.Route] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.Route]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + route_table_name=route_table_name, + route_name=route_name, + route_parameters=route_parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('Route', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}/routes/{routeName}'} + + def list( + self, resource_group_name, route_table_name, custom_headers=None, raw=False, **operation_config): + """Gets all routes in a route table. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param route_table_name: The name of the route table. + :type route_table_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of Route + :rtype: + ~azure.mgmt.network.v2020_04_01.models.RoutePaged[~azure.mgmt.network.v2020_04_01.models.Route] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'routeTableName': self._serialize.url("route_table_name", route_table_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.RoutePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}/routes'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_security_partner_providers_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_security_partner_providers_operations.py new file mode 100644 index 00000000000..01073d2ae98 --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_security_partner_providers_operations.py @@ -0,0 +1,494 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class SecurityPartnerProvidersOperations(object): + """SecurityPartnerProvidersOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, security_partner_provider_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'securityPartnerProviderName': self._serialize.url("security_partner_provider_name", security_partner_provider_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, security_partner_provider_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified Security Partner Provider. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param security_partner_provider_name: The name of the Security + Partner Provider. + :type security_partner_provider_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + security_partner_provider_name=security_partner_provider_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/securityPartnerProviders/{securityPartnerProviderName}'} + + def get( + self, resource_group_name, security_partner_provider_name, custom_headers=None, raw=False, **operation_config): + """Gets the specified Security Partner Provider. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param security_partner_provider_name: The name of the Security + Partner Provider. + :type security_partner_provider_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: SecurityPartnerProvider or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.SecurityPartnerProvider + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'securityPartnerProviderName': self._serialize.url("security_partner_provider_name", security_partner_provider_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('SecurityPartnerProvider', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/securityPartnerProviders/{securityPartnerProviderName}'} + + + def _create_or_update_initial( + self, resource_group_name, security_partner_provider_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'securityPartnerProviderName': self._serialize.url("security_partner_provider_name", security_partner_provider_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'SecurityPartnerProvider') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('SecurityPartnerProvider', response) + if response.status_code == 201: + deserialized = self._deserialize('SecurityPartnerProvider', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, security_partner_provider_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates the specified Security Partner Provider. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param security_partner_provider_name: The name of the Security + Partner Provider. + :type security_partner_provider_name: str + :param parameters: Parameters supplied to the create or update + Security Partner Provider operation. + :type parameters: + ~azure.mgmt.network.v2020_04_01.models.SecurityPartnerProvider + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns SecurityPartnerProvider + or ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.SecurityPartnerProvider] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.SecurityPartnerProvider]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + security_partner_provider_name=security_partner_provider_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('SecurityPartnerProvider', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/securityPartnerProviders/{securityPartnerProviderName}'} + + def update_tags( + self, resource_group_name, security_partner_provider_name, tags=None, custom_headers=None, raw=False, **operation_config): + """Updates tags of a Security Partner Provider resource. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param security_partner_provider_name: The name of the Security + Partner Provider. + :type security_partner_provider_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: SecurityPartnerProvider or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.SecurityPartnerProvider + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'securityPartnerProviderName': self._serialize.url("security_partner_provider_name", security_partner_provider_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('SecurityPartnerProvider', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/securityPartnerProviders/{securityPartnerProviderName}'} + + def list_by_resource_group( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Lists all Security Partner Providers in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of SecurityPartnerProvider + :rtype: + ~azure.mgmt.network.v2020_04_01.models.SecurityPartnerProviderPaged[~azure.mgmt.network.v2020_04_01.models.SecurityPartnerProvider] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.SecurityPartnerProviderPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/securityPartnerProviders'} + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Gets all the Security Partner Providers in a subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of SecurityPartnerProvider + :rtype: + ~azure.mgmt.network.v2020_04_01.models.SecurityPartnerProviderPaged[~azure.mgmt.network.v2020_04_01.models.SecurityPartnerProvider] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.SecurityPartnerProviderPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/securityPartnerProviders'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_security_rules_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_security_rules_operations.py new file mode 100644 index 00000000000..da073200ea2 --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_security_rules_operations.py @@ -0,0 +1,374 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class SecurityRulesOperations(object): + """SecurityRulesOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, network_security_group_name, security_rule_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkSecurityGroupName': self._serialize.url("network_security_group_name", network_security_group_name, 'str'), + 'securityRuleName': self._serialize.url("security_rule_name", security_rule_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, network_security_group_name, security_rule_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified network security rule. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_security_group_name: The name of the network security + group. + :type network_security_group_name: str + :param security_rule_name: The name of the security rule. + :type security_rule_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + network_security_group_name=network_security_group_name, + security_rule_name=security_rule_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/securityRules/{securityRuleName}'} + + def get( + self, resource_group_name, network_security_group_name, security_rule_name, custom_headers=None, raw=False, **operation_config): + """Get the specified network security rule. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_security_group_name: The name of the network security + group. + :type network_security_group_name: str + :param security_rule_name: The name of the security rule. + :type security_rule_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: SecurityRule or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.SecurityRule or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkSecurityGroupName': self._serialize.url("network_security_group_name", network_security_group_name, 'str'), + 'securityRuleName': self._serialize.url("security_rule_name", security_rule_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('SecurityRule', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/securityRules/{securityRuleName}'} + + + def _create_or_update_initial( + self, resource_group_name, network_security_group_name, security_rule_name, security_rule_parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkSecurityGroupName': self._serialize.url("network_security_group_name", network_security_group_name, 'str'), + 'securityRuleName': self._serialize.url("security_rule_name", security_rule_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(security_rule_parameters, 'SecurityRule') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('SecurityRule', response) + if response.status_code == 201: + deserialized = self._deserialize('SecurityRule', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, network_security_group_name, security_rule_name, security_rule_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a security rule in the specified network security + group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_security_group_name: The name of the network security + group. + :type network_security_group_name: str + :param security_rule_name: The name of the security rule. + :type security_rule_name: str + :param security_rule_parameters: Parameters supplied to the create or + update network security rule operation. + :type security_rule_parameters: + ~azure.mgmt.network.v2020_04_01.models.SecurityRule + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns SecurityRule or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.SecurityRule] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.SecurityRule]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + network_security_group_name=network_security_group_name, + security_rule_name=security_rule_name, + security_rule_parameters=security_rule_parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('SecurityRule', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/securityRules/{securityRuleName}'} + + def list( + self, resource_group_name, network_security_group_name, custom_headers=None, raw=False, **operation_config): + """Gets all security rules in a network security group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_security_group_name: The name of the network security + group. + :type network_security_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of SecurityRule + :rtype: + ~azure.mgmt.network.v2020_04_01.models.SecurityRulePaged[~azure.mgmt.network.v2020_04_01.models.SecurityRule] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkSecurityGroupName': self._serialize.url("network_security_group_name", network_security_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.SecurityRulePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/securityRules'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_service_association_links_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_service_association_links_operations.py new file mode 100644 index 00000000000..5efced5f818 --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_service_association_links_operations.py @@ -0,0 +1,106 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class ServiceAssociationLinksOperations(object): + """ServiceAssociationLinksOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + def list( + self, resource_group_name, virtual_network_name, subnet_name, custom_headers=None, raw=False, **operation_config): + """Gets a list of service association links for a subnet. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_name: The name of the virtual network. + :type virtual_network_name: str + :param subnet_name: The name of the subnet. + :type subnet_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ServiceAssociationLinksListResult or ClientRawResponse if + raw=true + :rtype: + ~azure.mgmt.network.v2020_04_01.models.ServiceAssociationLinksListResult + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), + 'subnetName': self._serialize.url("subnet_name", subnet_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ServiceAssociationLinksListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}/ServiceAssociationLinks'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_service_endpoint_policies_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_service_endpoint_policies_operations.py new file mode 100644 index 00000000000..bbec61337e0 --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_service_endpoint_policies_operations.py @@ -0,0 +1,499 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class ServiceEndpointPoliciesOperations(object): + """ServiceEndpointPoliciesOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, service_endpoint_policy_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceEndpointPolicyName': self._serialize.url("service_endpoint_policy_name", service_endpoint_policy_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, service_endpoint_policy_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified service endpoint policy. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param service_endpoint_policy_name: The name of the service endpoint + policy. + :type service_endpoint_policy_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + service_endpoint_policy_name=service_endpoint_policy_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/serviceEndpointPolicies/{serviceEndpointPolicyName}'} + + def get( + self, resource_group_name, service_endpoint_policy_name, expand=None, custom_headers=None, raw=False, **operation_config): + """Gets the specified service Endpoint Policies in a specified resource + group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param service_endpoint_policy_name: The name of the service endpoint + policy. + :type service_endpoint_policy_name: str + :param expand: Expands referenced resources. + :type expand: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ServiceEndpointPolicy or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.ServiceEndpointPolicy + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceEndpointPolicyName': self._serialize.url("service_endpoint_policy_name", service_endpoint_policy_name, 'str'), + '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.api_version", self.api_version, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ServiceEndpointPolicy', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/serviceEndpointPolicies/{serviceEndpointPolicyName}'} + + + def _create_or_update_initial( + self, resource_group_name, service_endpoint_policy_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceEndpointPolicyName': self._serialize.url("service_endpoint_policy_name", service_endpoint_policy_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'ServiceEndpointPolicy') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('ServiceEndpointPolicy', response) + if response.status_code == 201: + deserialized = self._deserialize('ServiceEndpointPolicy', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, service_endpoint_policy_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a service Endpoint Policies. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param service_endpoint_policy_name: The name of the service endpoint + policy. + :type service_endpoint_policy_name: str + :param parameters: Parameters supplied to the create or update service + endpoint policy operation. + :type parameters: + ~azure.mgmt.network.v2020_04_01.models.ServiceEndpointPolicy + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns ServiceEndpointPolicy + or ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.ServiceEndpointPolicy] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.ServiceEndpointPolicy]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + service_endpoint_policy_name=service_endpoint_policy_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ServiceEndpointPolicy', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/serviceEndpointPolicies/{serviceEndpointPolicyName}'} + + def update_tags( + self, resource_group_name, service_endpoint_policy_name, tags=None, custom_headers=None, raw=False, **operation_config): + """Updates tags of a service endpoint policy. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param service_endpoint_policy_name: The name of the service endpoint + policy. + :type service_endpoint_policy_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ServiceEndpointPolicy or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.ServiceEndpointPolicy + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceEndpointPolicyName': self._serialize.url("service_endpoint_policy_name", service_endpoint_policy_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ServiceEndpointPolicy', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/serviceEndpointPolicies/{serviceEndpointPolicyName}'} + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Gets all the service endpoint policies in a subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of ServiceEndpointPolicy + :rtype: + ~azure.mgmt.network.v2020_04_01.models.ServiceEndpointPolicyPaged[~azure.mgmt.network.v2020_04_01.models.ServiceEndpointPolicy] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.ServiceEndpointPolicyPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/ServiceEndpointPolicies'} + + def list_by_resource_group( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Gets all service endpoint Policies in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of ServiceEndpointPolicy + :rtype: + ~azure.mgmt.network.v2020_04_01.models.ServiceEndpointPolicyPaged[~azure.mgmt.network.v2020_04_01.models.ServiceEndpointPolicy] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.ServiceEndpointPolicyPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/serviceEndpointPolicies'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_service_endpoint_policy_definitions_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_service_endpoint_policy_definitions_operations.py new file mode 100644 index 00000000000..f86c8647d13 --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_service_endpoint_policy_definitions_operations.py @@ -0,0 +1,382 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class ServiceEndpointPolicyDefinitionsOperations(object): + """ServiceEndpointPolicyDefinitionsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, service_endpoint_policy_name, service_endpoint_policy_definition_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceEndpointPolicyName': self._serialize.url("service_endpoint_policy_name", service_endpoint_policy_name, 'str'), + 'serviceEndpointPolicyDefinitionName': self._serialize.url("service_endpoint_policy_definition_name", service_endpoint_policy_definition_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, service_endpoint_policy_name, service_endpoint_policy_definition_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified ServiceEndpoint policy definitions. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param service_endpoint_policy_name: The name of the Service Endpoint + Policy. + :type service_endpoint_policy_name: str + :param service_endpoint_policy_definition_name: The name of the + service endpoint policy definition. + :type service_endpoint_policy_definition_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + service_endpoint_policy_name=service_endpoint_policy_name, + service_endpoint_policy_definition_name=service_endpoint_policy_definition_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/serviceEndpointPolicies/{serviceEndpointPolicyName}/serviceEndpointPolicyDefinitions/{serviceEndpointPolicyDefinitionName}'} + + def get( + self, resource_group_name, service_endpoint_policy_name, service_endpoint_policy_definition_name, custom_headers=None, raw=False, **operation_config): + """Get the specified service endpoint policy definitions from service + endpoint policy. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param service_endpoint_policy_name: The name of the service endpoint + policy name. + :type service_endpoint_policy_name: str + :param service_endpoint_policy_definition_name: The name of the + service endpoint policy definition name. + :type service_endpoint_policy_definition_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ServiceEndpointPolicyDefinition or ClientRawResponse if + raw=true + :rtype: + ~azure.mgmt.network.v2020_04_01.models.ServiceEndpointPolicyDefinition + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceEndpointPolicyName': self._serialize.url("service_endpoint_policy_name", service_endpoint_policy_name, 'str'), + 'serviceEndpointPolicyDefinitionName': self._serialize.url("service_endpoint_policy_definition_name", service_endpoint_policy_definition_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ServiceEndpointPolicyDefinition', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/serviceEndpointPolicies/{serviceEndpointPolicyName}/serviceEndpointPolicyDefinitions/{serviceEndpointPolicyDefinitionName}'} + + + def _create_or_update_initial( + self, resource_group_name, service_endpoint_policy_name, service_endpoint_policy_definition_name, service_endpoint_policy_definitions, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceEndpointPolicyName': self._serialize.url("service_endpoint_policy_name", service_endpoint_policy_name, 'str'), + 'serviceEndpointPolicyDefinitionName': self._serialize.url("service_endpoint_policy_definition_name", service_endpoint_policy_definition_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(service_endpoint_policy_definitions, 'ServiceEndpointPolicyDefinition') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('ServiceEndpointPolicyDefinition', response) + if response.status_code == 201: + deserialized = self._deserialize('ServiceEndpointPolicyDefinition', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, service_endpoint_policy_name, service_endpoint_policy_definition_name, service_endpoint_policy_definitions, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a service endpoint policy definition in the + specified service endpoint policy. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param service_endpoint_policy_name: The name of the service endpoint + policy. + :type service_endpoint_policy_name: str + :param service_endpoint_policy_definition_name: The name of the + service endpoint policy definition name. + :type service_endpoint_policy_definition_name: str + :param service_endpoint_policy_definitions: Parameters supplied to the + create or update service endpoint policy operation. + :type service_endpoint_policy_definitions: + ~azure.mgmt.network.v2020_04_01.models.ServiceEndpointPolicyDefinition + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + ServiceEndpointPolicyDefinition or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.ServiceEndpointPolicyDefinition] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.ServiceEndpointPolicyDefinition]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + service_endpoint_policy_name=service_endpoint_policy_name, + service_endpoint_policy_definition_name=service_endpoint_policy_definition_name, + service_endpoint_policy_definitions=service_endpoint_policy_definitions, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ServiceEndpointPolicyDefinition', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/serviceEndpointPolicies/{serviceEndpointPolicyName}/serviceEndpointPolicyDefinitions/{serviceEndpointPolicyDefinitionName}'} + + def list_by_resource_group( + self, resource_group_name, service_endpoint_policy_name, custom_headers=None, raw=False, **operation_config): + """Gets all service endpoint policy definitions in a service end point + policy. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param service_endpoint_policy_name: The name of the service endpoint + policy name. + :type service_endpoint_policy_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of ServiceEndpointPolicyDefinition + :rtype: + ~azure.mgmt.network.v2020_04_01.models.ServiceEndpointPolicyDefinitionPaged[~azure.mgmt.network.v2020_04_01.models.ServiceEndpointPolicyDefinition] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceEndpointPolicyName': self._serialize.url("service_endpoint_policy_name", service_endpoint_policy_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.ServiceEndpointPolicyDefinitionPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/serviceEndpointPolicies/{serviceEndpointPolicyName}/serviceEndpointPolicyDefinitions'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_service_tags_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_service_tags_operations.py new file mode 100644 index 00000000000..289cb86889c --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_service_tags_operations.py @@ -0,0 +1,101 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class ServiceTagsOperations(object): + """ServiceTagsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + def list( + self, location, custom_headers=None, raw=False, **operation_config): + """Gets a list of service tag information resources. + + :param location: The location that will be used as a reference for + version (not as a filter based on location, you will get the list of + service tags with prefix details across all regions but limited to the + cloud that your subscription belongs to). + :type location: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ServiceTagsListResult or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.ServiceTagsListResult + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'location': self._serialize.url("location", location, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ServiceTagsListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/serviceTags'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_subnets_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_subnets_operations.py new file mode 100644 index 00000000000..ba4efecb0ec --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_subnets_operations.py @@ -0,0 +1,563 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class SubnetsOperations(object): + """SubnetsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, virtual_network_name, subnet_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), + 'subnetName': self._serialize.url("subnet_name", subnet_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, virtual_network_name, subnet_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified subnet. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_name: The name of the virtual network. + :type virtual_network_name: str + :param subnet_name: The name of the subnet. + :type subnet_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + virtual_network_name=virtual_network_name, + subnet_name=subnet_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}'} + + def get( + self, resource_group_name, virtual_network_name, subnet_name, expand=None, custom_headers=None, raw=False, **operation_config): + """Gets the specified subnet by virtual network and resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_name: The name of the virtual network. + :type virtual_network_name: str + :param subnet_name: The name of the subnet. + :type subnet_name: str + :param expand: Expands referenced resources. + :type expand: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: Subnet or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.Subnet or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), + 'subnetName': self._serialize.url("subnet_name", subnet_name, 'str'), + '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.api_version", self.api_version, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('Subnet', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}'} + + + def _create_or_update_initial( + self, resource_group_name, virtual_network_name, subnet_name, subnet_parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), + 'subnetName': self._serialize.url("subnet_name", subnet_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(subnet_parameters, 'Subnet') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('Subnet', response) + if response.status_code == 201: + deserialized = self._deserialize('Subnet', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, virtual_network_name, subnet_name, subnet_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a subnet in the specified virtual network. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_name: The name of the virtual network. + :type virtual_network_name: str + :param subnet_name: The name of the subnet. + :type subnet_name: str + :param subnet_parameters: Parameters supplied to the create or update + subnet operation. + :type subnet_parameters: ~azure.mgmt.network.v2020_04_01.models.Subnet + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns Subnet or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.Subnet] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.Subnet]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + virtual_network_name=virtual_network_name, + subnet_name=subnet_name, + subnet_parameters=subnet_parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('Subnet', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}'} + + + def _prepare_network_policies_initial( + self, resource_group_name, virtual_network_name, subnet_name, service_name=None, network_intent_policy_configurations=None, custom_headers=None, raw=False, **operation_config): + prepare_network_policies_request_parameters = models.PrepareNetworkPoliciesRequest(service_name=service_name, network_intent_policy_configurations=network_intent_policy_configurations) + + # Construct URL + url = self.prepare_network_policies.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), + 'subnetName': self._serialize.url("subnet_name", subnet_name, 'str'), + '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.api_version", self.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(prepare_network_policies_request_parameters, 'PrepareNetworkPoliciesRequest') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def prepare_network_policies( + self, resource_group_name, virtual_network_name, subnet_name, service_name=None, network_intent_policy_configurations=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Prepares a subnet by applying network intent policies. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_name: The name of the virtual network. + :type virtual_network_name: str + :param subnet_name: The name of the subnet. + :type subnet_name: str + :param service_name: The name of the service for which subnet is being + prepared for. + :type service_name: str + :param network_intent_policy_configurations: A list of + NetworkIntentPolicyConfiguration. + :type network_intent_policy_configurations: + list[~azure.mgmt.network.v2020_04_01.models.NetworkIntentPolicyConfiguration] + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._prepare_network_policies_initial( + resource_group_name=resource_group_name, + virtual_network_name=virtual_network_name, + subnet_name=subnet_name, + service_name=service_name, + network_intent_policy_configurations=network_intent_policy_configurations, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + prepare_network_policies.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}/PrepareNetworkPolicies'} + + + def _unprepare_network_policies_initial( + self, resource_group_name, virtual_network_name, subnet_name, service_name=None, custom_headers=None, raw=False, **operation_config): + unprepare_network_policies_request_parameters = models.UnprepareNetworkPoliciesRequest(service_name=service_name) + + # Construct URL + url = self.unprepare_network_policies.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), + 'subnetName': self._serialize.url("subnet_name", subnet_name, 'str'), + '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.api_version", self.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(unprepare_network_policies_request_parameters, 'UnprepareNetworkPoliciesRequest') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def unprepare_network_policies( + self, resource_group_name, virtual_network_name, subnet_name, service_name=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Unprepares a subnet by removing network intent policies. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_name: The name of the virtual network. + :type virtual_network_name: str + :param subnet_name: The name of the subnet. + :type subnet_name: str + :param service_name: The name of the service for which subnet is being + unprepared for. + :type service_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._unprepare_network_policies_initial( + resource_group_name=resource_group_name, + virtual_network_name=virtual_network_name, + subnet_name=subnet_name, + service_name=service_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + unprepare_network_policies.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}/UnprepareNetworkPolicies'} + + def list( + self, resource_group_name, virtual_network_name, custom_headers=None, raw=False, **operation_config): + """Gets all subnets in a virtual network. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_name: The name of the virtual network. + :type virtual_network_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of Subnet + :rtype: + ~azure.mgmt.network.v2020_04_01.models.SubnetPaged[~azure.mgmt.network.v2020_04_01.models.Subnet] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.SubnetPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_usages_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_usages_operations.py new file mode 100644 index 00000000000..2372d301fa8 --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_usages_operations.py @@ -0,0 +1,109 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class UsagesOperations(object): + """UsagesOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + def list( + self, location, custom_headers=None, raw=False, **operation_config): + """List network usages for a subscription. + + :param location: The location where resource usage is queried. + :type location: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of Usage + :rtype: + ~azure.mgmt.network.v2020_04_01.models.UsagePaged[~azure.mgmt.network.v2020_04_01.models.Usage] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'location': self._serialize.url("location", location, 'str', pattern=r'^[-\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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.UsagePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/usages'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_virtual_hub_route_table_v2s_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_virtual_hub_route_table_v2s_operations.py new file mode 100644 index 00000000000..1d179b433dc --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_virtual_hub_route_table_v2s_operations.py @@ -0,0 +1,369 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class VirtualHubRouteTableV2sOperations(object): + """VirtualHubRouteTableV2sOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + def get( + self, resource_group_name, virtual_hub_name, route_table_name, custom_headers=None, raw=False, **operation_config): + """Retrieves the details of a VirtualHubRouteTableV2. + + :param resource_group_name: The resource group name of the + VirtualHubRouteTableV2. + :type resource_group_name: str + :param virtual_hub_name: The name of the VirtualHub. + :type virtual_hub_name: str + :param route_table_name: The name of the VirtualHubRouteTableV2. + :type route_table_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: VirtualHubRouteTableV2 or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.VirtualHubRouteTableV2 + or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorException` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualHubName': self._serialize.url("virtual_hub_name", virtual_hub_name, 'str'), + 'routeTableName': self._serialize.url("route_table_name", route_table_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('VirtualHubRouteTableV2', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}/routeTables/{routeTableName}'} + + + def _create_or_update_initial( + self, resource_group_name, virtual_hub_name, route_table_name, virtual_hub_route_table_v2_parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualHubName': self._serialize.url("virtual_hub_name", virtual_hub_name, 'str'), + 'routeTableName': self._serialize.url("route_table_name", route_table_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(virtual_hub_route_table_v2_parameters, 'VirtualHubRouteTableV2') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + raise models.ErrorException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('VirtualHubRouteTableV2', response) + if response.status_code == 201: + deserialized = self._deserialize('VirtualHubRouteTableV2', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, virtual_hub_name, route_table_name, virtual_hub_route_table_v2_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates a VirtualHubRouteTableV2 resource if it doesn't exist else + updates the existing VirtualHubRouteTableV2. + + :param resource_group_name: The resource group name of the VirtualHub. + :type resource_group_name: str + :param virtual_hub_name: The name of the VirtualHub. + :type virtual_hub_name: str + :param route_table_name: The name of the VirtualHubRouteTableV2. + :type route_table_name: str + :param virtual_hub_route_table_v2_parameters: Parameters supplied to + create or update VirtualHubRouteTableV2. + :type virtual_hub_route_table_v2_parameters: + ~azure.mgmt.network.v2020_04_01.models.VirtualHubRouteTableV2 + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns VirtualHubRouteTableV2 + or ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.VirtualHubRouteTableV2] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.VirtualHubRouteTableV2]] + :raises: + :class:`ErrorException` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + virtual_hub_name=virtual_hub_name, + route_table_name=route_table_name, + virtual_hub_route_table_v2_parameters=virtual_hub_route_table_v2_parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('VirtualHubRouteTableV2', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}/routeTables/{routeTableName}'} + + + def _delete_initial( + self, resource_group_name, virtual_hub_name, route_table_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualHubName': self._serialize.url("virtual_hub_name", virtual_hub_name, 'str'), + 'routeTableName': self._serialize.url("route_table_name", route_table_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + raise models.ErrorException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, virtual_hub_name, route_table_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes a VirtualHubRouteTableV2. + + :param resource_group_name: The resource group name of the + VirtualHubRouteTableV2. + :type resource_group_name: str + :param virtual_hub_name: The name of the VirtualHub. + :type virtual_hub_name: str + :param route_table_name: The name of the VirtualHubRouteTableV2. + :type route_table_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: + :class:`ErrorException` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + virtual_hub_name=virtual_hub_name, + route_table_name=route_table_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}/routeTables/{routeTableName}'} + + def list( + self, resource_group_name, virtual_hub_name, custom_headers=None, raw=False, **operation_config): + """Retrieves the details of all VirtualHubRouteTableV2s. + + :param resource_group_name: The resource group name of the VirtualHub. + :type resource_group_name: str + :param virtual_hub_name: The name of the VirtualHub. + :type virtual_hub_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of VirtualHubRouteTableV2 + :rtype: + ~azure.mgmt.network.v2020_04_01.models.VirtualHubRouteTableV2Paged[~azure.mgmt.network.v2020_04_01.models.VirtualHubRouteTableV2] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualHubName': self._serialize.url("virtual_hub_name", virtual_hub_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.VirtualHubRouteTableV2Paged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}/routeTables'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_virtual_hubs_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_virtual_hubs_operations.py new file mode 100644 index 00000000000..63421db473d --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_virtual_hubs_operations.py @@ -0,0 +1,491 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class VirtualHubsOperations(object): + """VirtualHubsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + def get( + self, resource_group_name, virtual_hub_name, custom_headers=None, raw=False, **operation_config): + """Retrieves the details of a VirtualHub. + + :param resource_group_name: The resource group name of the VirtualHub. + :type resource_group_name: str + :param virtual_hub_name: The name of the VirtualHub. + :type virtual_hub_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: VirtualHub or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.VirtualHub or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualHubName': self._serialize.url("virtual_hub_name", virtual_hub_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('VirtualHub', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}'} + + + def _create_or_update_initial( + self, resource_group_name, virtual_hub_name, virtual_hub_parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualHubName': self._serialize.url("virtual_hub_name", virtual_hub_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(virtual_hub_parameters, 'VirtualHub') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('VirtualHub', response) + if response.status_code == 201: + deserialized = self._deserialize('VirtualHub', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, virtual_hub_name, virtual_hub_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates a VirtualHub resource if it doesn't exist else updates the + existing VirtualHub. + + :param resource_group_name: The resource group name of the VirtualHub. + :type resource_group_name: str + :param virtual_hub_name: The name of the VirtualHub. + :type virtual_hub_name: str + :param virtual_hub_parameters: Parameters supplied to create or update + VirtualHub. + :type virtual_hub_parameters: + ~azure.mgmt.network.v2020_04_01.models.VirtualHub + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns VirtualHub or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.VirtualHub] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.VirtualHub]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + virtual_hub_name=virtual_hub_name, + virtual_hub_parameters=virtual_hub_parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('VirtualHub', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}'} + + def update_tags( + self, resource_group_name, virtual_hub_name, tags=None, custom_headers=None, raw=False, **operation_config): + """Updates VirtualHub tags. + + :param resource_group_name: The resource group name of the VirtualHub. + :type resource_group_name: str + :param virtual_hub_name: The name of the VirtualHub. + :type virtual_hub_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: VirtualHub or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.VirtualHub or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + virtual_hub_parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualHubName': self._serialize.url("virtual_hub_name", virtual_hub_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(virtual_hub_parameters, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('VirtualHub', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}'} + + + def _delete_initial( + self, resource_group_name, virtual_hub_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualHubName': self._serialize.url("virtual_hub_name", virtual_hub_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, virtual_hub_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes a VirtualHub. + + :param resource_group_name: The resource group name of the VirtualHub. + :type resource_group_name: str + :param virtual_hub_name: The name of the VirtualHub. + :type virtual_hub_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + virtual_hub_name=virtual_hub_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}'} + + def list_by_resource_group( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Lists all the VirtualHubs in a resource group. + + :param resource_group_name: The resource group name of the VirtualHub. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of VirtualHub + :rtype: + ~azure.mgmt.network.v2020_04_01.models.VirtualHubPaged[~azure.mgmt.network.v2020_04_01.models.VirtualHub] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.VirtualHubPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs'} + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Lists all the VirtualHubs in a subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of VirtualHub + :rtype: + ~azure.mgmt.network.v2020_04_01.models.VirtualHubPaged[~azure.mgmt.network.v2020_04_01.models.VirtualHub] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.VirtualHubPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/virtualHubs'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_virtual_network_gateway_connections_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_virtual_network_gateway_connections_operations.py new file mode 100644 index 00000000000..bf785966368 --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_virtual_network_gateway_connections_operations.py @@ -0,0 +1,958 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class VirtualNetworkGatewayConnectionsOperations(object): + """VirtualNetworkGatewayConnectionsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + + def _create_or_update_initial( + self, resource_group_name, virtual_network_gateway_connection_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayConnectionName': self._serialize.url("virtual_network_gateway_connection_name", virtual_network_gateway_connection_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'VirtualNetworkGatewayConnection') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('VirtualNetworkGatewayConnection', response) + if response.status_code == 201: + deserialized = self._deserialize('VirtualNetworkGatewayConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, virtual_network_gateway_connection_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a virtual network gateway connection in the + specified resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_connection_name: The name of the + virtual network gateway connection. + :type virtual_network_gateway_connection_name: str + :param parameters: Parameters supplied to the create or update virtual + network gateway connection operation. + :type parameters: + ~azure.mgmt.network.v2020_04_01.models.VirtualNetworkGatewayConnection + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + VirtualNetworkGatewayConnection or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.VirtualNetworkGatewayConnection] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.VirtualNetworkGatewayConnection]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + virtual_network_gateway_connection_name=virtual_network_gateway_connection_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('VirtualNetworkGatewayConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}'} + + def get( + self, resource_group_name, virtual_network_gateway_connection_name, custom_headers=None, raw=False, **operation_config): + """Gets the specified virtual network gateway connection by resource + group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_connection_name: The name of the + virtual network gateway connection. + :type virtual_network_gateway_connection_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: VirtualNetworkGatewayConnection or ClientRawResponse if + raw=true + :rtype: + ~azure.mgmt.network.v2020_04_01.models.VirtualNetworkGatewayConnection + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayConnectionName': self._serialize.url("virtual_network_gateway_connection_name", virtual_network_gateway_connection_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('VirtualNetworkGatewayConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}'} + + + def _delete_initial( + self, resource_group_name, virtual_network_gateway_connection_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayConnectionName': self._serialize.url("virtual_network_gateway_connection_name", virtual_network_gateway_connection_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, virtual_network_gateway_connection_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified virtual network Gateway connection. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_connection_name: The name of the + virtual network gateway connection. + :type virtual_network_gateway_connection_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + virtual_network_gateway_connection_name=virtual_network_gateway_connection_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}'} + + + def _update_tags_initial( + self, resource_group_name, virtual_network_gateway_connection_name, tags=None, custom_headers=None, raw=False, **operation_config): + parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayConnectionName': self._serialize.url("virtual_network_gateway_connection_name", virtual_network_gateway_connection_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('VirtualNetworkGatewayConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def update_tags( + self, resource_group_name, virtual_network_gateway_connection_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Updates a virtual network gateway connection tags. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_connection_name: The name of the + virtual network gateway connection. + :type virtual_network_gateway_connection_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + VirtualNetworkGatewayConnection or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.VirtualNetworkGatewayConnection] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.VirtualNetworkGatewayConnection]] + :raises: :class:`CloudError` + """ + raw_result = self._update_tags_initial( + resource_group_name=resource_group_name, + virtual_network_gateway_connection_name=virtual_network_gateway_connection_name, + tags=tags, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('VirtualNetworkGatewayConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}'} + + + def _set_shared_key_initial( + self, resource_group_name, virtual_network_gateway_connection_name, value, id=None, custom_headers=None, raw=False, **operation_config): + parameters = models.ConnectionSharedKey(id=id, value=value) + + # Construct URL + url = self.set_shared_key.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayConnectionName': self._serialize.url("virtual_network_gateway_connection_name", virtual_network_gateway_connection_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'ConnectionSharedKey') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('ConnectionSharedKey', response) + if response.status_code == 201: + deserialized = self._deserialize('ConnectionSharedKey', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def set_shared_key( + self, resource_group_name, virtual_network_gateway_connection_name, value, id=None, custom_headers=None, raw=False, polling=True, **operation_config): + """The Put VirtualNetworkGatewayConnectionSharedKey operation sets the + virtual network gateway connection shared key for passed virtual + network gateway connection in the specified resource group through + Network resource provider. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_connection_name: The virtual network + gateway connection name. + :type virtual_network_gateway_connection_name: str + :param value: The virtual network connection shared key value. + :type value: str + :param id: Resource ID. + :type id: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns ConnectionSharedKey or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.ConnectionSharedKey] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.ConnectionSharedKey]] + :raises: :class:`CloudError` + """ + raw_result = self._set_shared_key_initial( + resource_group_name=resource_group_name, + virtual_network_gateway_connection_name=virtual_network_gateway_connection_name, + value=value, + id=id, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ConnectionSharedKey', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + set_shared_key.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/sharedkey'} + + def get_shared_key( + self, resource_group_name, virtual_network_gateway_connection_name, custom_headers=None, raw=False, **operation_config): + """The Get VirtualNetworkGatewayConnectionSharedKey operation retrieves + information about the specified virtual network gateway connection + shared key through Network resource provider. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_connection_name: The virtual network + gateway connection shared key name. + :type virtual_network_gateway_connection_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ConnectionSharedKey or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.ConnectionSharedKey or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_shared_key.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayConnectionName': self._serialize.url("virtual_network_gateway_connection_name", virtual_network_gateway_connection_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('ConnectionSharedKey', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_shared_key.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/sharedkey'} + + def list( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """The List VirtualNetworkGatewayConnections operation retrieves all the + virtual network gateways connections created. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of VirtualNetworkGatewayConnection + :rtype: + ~azure.mgmt.network.v2020_04_01.models.VirtualNetworkGatewayConnectionPaged[~azure.mgmt.network.v2020_04_01.models.VirtualNetworkGatewayConnection] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.VirtualNetworkGatewayConnectionPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections'} + + + def _reset_shared_key_initial( + self, resource_group_name, virtual_network_gateway_connection_name, key_length, custom_headers=None, raw=False, **operation_config): + parameters = models.ConnectionResetSharedKey(key_length=key_length) + + # Construct URL + url = self.reset_shared_key.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayConnectionName': self._serialize.url("virtual_network_gateway_connection_name", virtual_network_gateway_connection_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'ConnectionResetSharedKey') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('ConnectionResetSharedKey', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def reset_shared_key( + self, resource_group_name, virtual_network_gateway_connection_name, key_length, custom_headers=None, raw=False, polling=True, **operation_config): + """The VirtualNetworkGatewayConnectionResetSharedKey operation resets the + virtual network gateway connection shared key for passed virtual + network gateway connection in the specified resource group through + Network resource provider. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_connection_name: The virtual network + gateway connection reset shared key Name. + :type virtual_network_gateway_connection_name: str + :param key_length: The virtual network connection reset shared key + length, should between 1 and 128. + :type key_length: int + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + ConnectionResetSharedKey or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.ConnectionResetSharedKey] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.ConnectionResetSharedKey]] + :raises: :class:`CloudError` + """ + raw_result = self._reset_shared_key_initial( + resource_group_name=resource_group_name, + virtual_network_gateway_connection_name=virtual_network_gateway_connection_name, + key_length=key_length, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ConnectionResetSharedKey', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + reset_shared_key.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/sharedkey/reset'} + + + def _start_packet_capture_initial( + self, resource_group_name, virtual_network_gateway_connection_name, filter_data=None, custom_headers=None, raw=False, **operation_config): + parameters = None + if filter_data is not None: + parameters = models.VpnPacketCaptureStartParameters(filter_data=filter_data) + + # Construct URL + url = self.start_packet_capture.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayConnectionName': self._serialize.url("virtual_network_gateway_connection_name", virtual_network_gateway_connection_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 + if parameters is not None: + body_content = self._serialize.body(parameters, 'VpnPacketCaptureStartParameters') + else: + body_content = None + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + raise models.ErrorException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('str', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def start_packet_capture( + self, resource_group_name, virtual_network_gateway_connection_name, filter_data=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Starts packet capture on virtual network gateway connection in the + specified resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_connection_name: The name of the + virtual network gateway connection. + :type virtual_network_gateway_connection_name: str + :param filter_data: Start Packet capture parameters. + :type filter_data: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns str or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[str] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[str]] + :raises: + :class:`ErrorException` + """ + raw_result = self._start_packet_capture_initial( + resource_group_name=resource_group_name, + virtual_network_gateway_connection_name=virtual_network_gateway_connection_name, + filter_data=filter_data, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('str', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + start_packet_capture.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/startPacketCapture'} + + + def _stop_packet_capture_initial( + self, resource_group_name, virtual_network_gateway_connection_name, sas_url=None, custom_headers=None, raw=False, **operation_config): + parameters = models.VpnPacketCaptureStopParameters(sas_url=sas_url) + + # Construct URL + url = self.stop_packet_capture.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayConnectionName': self._serialize.url("virtual_network_gateway_connection_name", virtual_network_gateway_connection_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'VpnPacketCaptureStopParameters') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + raise models.ErrorException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('str', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def stop_packet_capture( + self, resource_group_name, virtual_network_gateway_connection_name, sas_url=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Stops packet capture on virtual network gateway connection in the + specified resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_connection_name: The name of the + virtual network gateway Connection. + :type virtual_network_gateway_connection_name: str + :param sas_url: SAS url for packet capture on virtual network gateway. + :type sas_url: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns str or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[str] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[str]] + :raises: + :class:`ErrorException` + """ + raw_result = self._stop_packet_capture_initial( + resource_group_name=resource_group_name, + virtual_network_gateway_connection_name=virtual_network_gateway_connection_name, + sas_url=sas_url, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('str', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + stop_packet_capture.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/stopPacketCapture'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_virtual_network_gateways_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_virtual_network_gateways_operations.py new file mode 100644 index 00000000000..eefba2759ea --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_virtual_network_gateways_operations.py @@ -0,0 +1,2038 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class VirtualNetworkGatewaysOperations(object): + """VirtualNetworkGatewaysOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + + def _create_or_update_initial( + self, resource_group_name, virtual_network_gateway_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'VirtualNetworkGateway') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('VirtualNetworkGateway', response) + if response.status_code == 201: + deserialized = self._deserialize('VirtualNetworkGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, virtual_network_gateway_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a virtual network gateway in the specified resource + group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_name: The name of the virtual network + gateway. + :type virtual_network_gateway_name: str + :param parameters: Parameters supplied to create or update virtual + network gateway operation. + :type parameters: + ~azure.mgmt.network.v2020_04_01.models.VirtualNetworkGateway + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns VirtualNetworkGateway + or ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.VirtualNetworkGateway] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.VirtualNetworkGateway]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + virtual_network_gateway_name=virtual_network_gateway_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('VirtualNetworkGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}'} + + def get( + self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, **operation_config): + """Gets the specified virtual network gateway by resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_name: The name of the virtual network + gateway. + :type virtual_network_gateway_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: VirtualNetworkGateway or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.VirtualNetworkGateway + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('VirtualNetworkGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}'} + + + def _delete_initial( + self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified virtual network gateway. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_name: The name of the virtual network + gateway. + :type virtual_network_gateway_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + virtual_network_gateway_name=virtual_network_gateway_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}'} + + + def _update_tags_initial( + self, resource_group_name, virtual_network_gateway_name, tags=None, custom_headers=None, raw=False, **operation_config): + parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('VirtualNetworkGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def update_tags( + self, resource_group_name, virtual_network_gateway_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Updates a virtual network gateway tags. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_name: The name of the virtual network + gateway. + :type virtual_network_gateway_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns VirtualNetworkGateway + or ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.VirtualNetworkGateway] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.VirtualNetworkGateway]] + :raises: :class:`CloudError` + """ + raw_result = self._update_tags_initial( + resource_group_name=resource_group_name, + virtual_network_gateway_name=virtual_network_gateway_name, + tags=tags, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('VirtualNetworkGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}'} + + def list( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Gets all virtual network gateways by resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of VirtualNetworkGateway + :rtype: + ~azure.mgmt.network.v2020_04_01.models.VirtualNetworkGatewayPaged[~azure.mgmt.network.v2020_04_01.models.VirtualNetworkGateway] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.VirtualNetworkGatewayPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways'} + + def list_connections( + self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, **operation_config): + """Gets all the connections in a virtual network gateway. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_name: The name of the virtual network + gateway. + :type virtual_network_gateway_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of + VirtualNetworkGatewayConnectionListEntity + :rtype: + ~azure.mgmt.network.v2020_04_01.models.VirtualNetworkGatewayConnectionListEntityPaged[~azure.mgmt.network.v2020_04_01.models.VirtualNetworkGatewayConnectionListEntity] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_connections.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.VirtualNetworkGatewayConnectionListEntityPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_connections.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/connections'} + + + def _reset_initial( + self, resource_group_name, virtual_network_gateway_name, gateway_vip=None, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.reset.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str'), + '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 = {} + if gateway_vip is not None: + query_parameters['gatewayVip'] = self._serialize.query("gateway_vip", gateway_vip, 'str') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('VirtualNetworkGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def reset( + self, resource_group_name, virtual_network_gateway_name, gateway_vip=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Resets the primary of the virtual network gateway in the specified + resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_name: The name of the virtual network + gateway. + :type virtual_network_gateway_name: str + :param gateway_vip: Virtual network gateway vip address supplied to + the begin reset of the active-active feature enabled gateway. + :type gateway_vip: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns VirtualNetworkGateway + or ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.VirtualNetworkGateway] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.VirtualNetworkGateway]] + :raises: :class:`CloudError` + """ + raw_result = self._reset_initial( + resource_group_name=resource_group_name, + virtual_network_gateway_name=virtual_network_gateway_name, + gateway_vip=gateway_vip, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('VirtualNetworkGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + reset.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/reset'} + + + def _reset_vpn_client_shared_key_initial( + self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.reset_vpn_client_shared_key.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def reset_vpn_client_shared_key( + self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Resets the VPN client shared key of the virtual network gateway in the + specified resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_name: The name of the virtual network + gateway. + :type virtual_network_gateway_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._reset_vpn_client_shared_key_initial( + resource_group_name=resource_group_name, + virtual_network_gateway_name=virtual_network_gateway_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + reset_vpn_client_shared_key.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/resetvpnclientsharedkey'} + + + def _generatevpnclientpackage_initial( + self, resource_group_name, virtual_network_gateway_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.generatevpnclientpackage.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'VpnClientParameters') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('str', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def generatevpnclientpackage( + self, resource_group_name, virtual_network_gateway_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Generates VPN client package for P2S client of the virtual network + gateway in the specified resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_name: The name of the virtual network + gateway. + :type virtual_network_gateway_name: str + :param parameters: Parameters supplied to the generate virtual network + gateway VPN client package operation. + :type parameters: + ~azure.mgmt.network.v2020_04_01.models.VpnClientParameters + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns str or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[str] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[str]] + :raises: :class:`CloudError` + """ + raw_result = self._generatevpnclientpackage_initial( + resource_group_name=resource_group_name, + virtual_network_gateway_name=virtual_network_gateway_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('str', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + generatevpnclientpackage.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/generatevpnclientpackage'} + + + def _generate_vpn_profile_initial( + self, resource_group_name, virtual_network_gateway_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.generate_vpn_profile.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'VpnClientParameters') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('str', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def generate_vpn_profile( + self, resource_group_name, virtual_network_gateway_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Generates VPN profile for P2S client of the virtual network gateway in + the specified resource group. Used for IKEV2 and radius based + authentication. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_name: The name of the virtual network + gateway. + :type virtual_network_gateway_name: str + :param parameters: Parameters supplied to the generate virtual network + gateway VPN client package operation. + :type parameters: + ~azure.mgmt.network.v2020_04_01.models.VpnClientParameters + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns str or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[str] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[str]] + :raises: :class:`CloudError` + """ + raw_result = self._generate_vpn_profile_initial( + resource_group_name=resource_group_name, + virtual_network_gateway_name=virtual_network_gateway_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('str', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + generate_vpn_profile.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/generatevpnprofile'} + + + def _get_vpn_profile_package_url_initial( + self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.get_vpn_profile_package_url.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('str', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def get_vpn_profile_package_url( + self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Gets pre-generated VPN profile for P2S client of the virtual network + gateway in the specified resource group. The profile needs to be + generated first using generateVpnProfile. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_name: The name of the virtual network + gateway. + :type virtual_network_gateway_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns str or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[str] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[str]] + :raises: :class:`CloudError` + """ + raw_result = self._get_vpn_profile_package_url_initial( + resource_group_name=resource_group_name, + virtual_network_gateway_name=virtual_network_gateway_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('str', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + get_vpn_profile_package_url.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getvpnprofilepackageurl'} + + + def _get_bgp_peer_status_initial( + self, resource_group_name, virtual_network_gateway_name, peer=None, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.get_bgp_peer_status.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str'), + '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 = {} + if peer is not None: + query_parameters['peer'] = self._serialize.query("peer", peer, 'str') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('BgpPeerStatusListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def get_bgp_peer_status( + self, resource_group_name, virtual_network_gateway_name, peer=None, custom_headers=None, raw=False, polling=True, **operation_config): + """The GetBgpPeerStatus operation retrieves the status of all BGP peers. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_name: The name of the virtual network + gateway. + :type virtual_network_gateway_name: str + :param peer: The IP address of the peer to retrieve the status of. + :type peer: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns BgpPeerStatusListResult + or ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.BgpPeerStatusListResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.BgpPeerStatusListResult]] + :raises: :class:`CloudError` + """ + raw_result = self._get_bgp_peer_status_initial( + resource_group_name=resource_group_name, + virtual_network_gateway_name=virtual_network_gateway_name, + peer=peer, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('BgpPeerStatusListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + get_bgp_peer_status.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getBgpPeerStatus'} + + def supported_vpn_devices( + self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, **operation_config): + """Gets a xml format representation for supported vpn devices. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_name: The name of the virtual network + gateway. + :type virtual_network_gateway_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: str or ClientRawResponse if raw=true + :rtype: str or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.supported_vpn_devices.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('str', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + supported_vpn_devices.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/supportedvpndevices'} + + + def _get_learned_routes_initial( + self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.get_learned_routes.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('GatewayRouteListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def get_learned_routes( + self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): + """This operation retrieves a list of routes the virtual network gateway + has learned, including routes learned from BGP peers. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_name: The name of the virtual network + gateway. + :type virtual_network_gateway_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns GatewayRouteListResult + or ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.GatewayRouteListResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.GatewayRouteListResult]] + :raises: :class:`CloudError` + """ + raw_result = self._get_learned_routes_initial( + resource_group_name=resource_group_name, + virtual_network_gateway_name=virtual_network_gateway_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('GatewayRouteListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + get_learned_routes.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getLearnedRoutes'} + + + def _get_advertised_routes_initial( + self, resource_group_name, virtual_network_gateway_name, peer, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.get_advertised_routes.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str'), + '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['peer'] = self._serialize.query("peer", peer, 'str') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('GatewayRouteListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def get_advertised_routes( + self, resource_group_name, virtual_network_gateway_name, peer, custom_headers=None, raw=False, polling=True, **operation_config): + """This operation retrieves a list of routes the virtual network gateway + is advertising to the specified peer. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_name: The name of the virtual network + gateway. + :type virtual_network_gateway_name: str + :param peer: The IP address of the peer. + :type peer: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns GatewayRouteListResult + or ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.GatewayRouteListResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.GatewayRouteListResult]] + :raises: :class:`CloudError` + """ + raw_result = self._get_advertised_routes_initial( + resource_group_name=resource_group_name, + virtual_network_gateway_name=virtual_network_gateway_name, + peer=peer, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('GatewayRouteListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + get_advertised_routes.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getAdvertisedRoutes'} + + + def _set_vpnclient_ipsec_parameters_initial( + self, resource_group_name, virtual_network_gateway_name, vpnclient_ipsec_params, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.set_vpnclient_ipsec_parameters.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(vpnclient_ipsec_params, 'VpnClientIPsecParameters') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('VpnClientIPsecParameters', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def set_vpnclient_ipsec_parameters( + self, resource_group_name, virtual_network_gateway_name, vpnclient_ipsec_params, custom_headers=None, raw=False, polling=True, **operation_config): + """The Set VpnclientIpsecParameters operation sets the vpnclient ipsec + policy for P2S client of virtual network gateway in the specified + resource group through Network resource provider. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_name: The name of the virtual network + gateway. + :type virtual_network_gateway_name: str + :param vpnclient_ipsec_params: Parameters supplied to the Begin Set + vpnclient ipsec parameters of Virtual Network Gateway P2S client + operation through Network resource provider. + :type vpnclient_ipsec_params: + ~azure.mgmt.network.v2020_04_01.models.VpnClientIPsecParameters + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + VpnClientIPsecParameters or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.VpnClientIPsecParameters] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.VpnClientIPsecParameters]] + :raises: :class:`CloudError` + """ + raw_result = self._set_vpnclient_ipsec_parameters_initial( + resource_group_name=resource_group_name, + virtual_network_gateway_name=virtual_network_gateway_name, + vpnclient_ipsec_params=vpnclient_ipsec_params, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('VpnClientIPsecParameters', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + set_vpnclient_ipsec_parameters.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/setvpnclientipsecparameters'} + + + def _get_vpnclient_ipsec_parameters_initial( + self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.get_vpnclient_ipsec_parameters.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('VpnClientIPsecParameters', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def get_vpnclient_ipsec_parameters( + self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): + """The Get VpnclientIpsecParameters operation retrieves information about + the vpnclient ipsec policy for P2S client of virtual network gateway in + the specified resource group through Network resource provider. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_name: The virtual network gateway name. + :type virtual_network_gateway_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + VpnClientIPsecParameters or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.VpnClientIPsecParameters] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.VpnClientIPsecParameters]] + :raises: :class:`CloudError` + """ + raw_result = self._get_vpnclient_ipsec_parameters_initial( + resource_group_name=resource_group_name, + virtual_network_gateway_name=virtual_network_gateway_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('VpnClientIPsecParameters', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + get_vpnclient_ipsec_parameters.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getvpnclientipsecparameters'} + + def vpn_device_configuration_script( + self, resource_group_name, virtual_network_gateway_connection_name, parameters, custom_headers=None, raw=False, **operation_config): + """Gets a xml format representation for vpn device configuration script. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_connection_name: The name of the + virtual network gateway connection for which the configuration script + is generated. + :type virtual_network_gateway_connection_name: str + :param parameters: Parameters supplied to the generate vpn device + script operation. + :type parameters: + ~azure.mgmt.network.v2020_04_01.models.VpnDeviceScriptParameters + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: str or ClientRawResponse if raw=true + :rtype: str or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.vpn_device_configuration_script.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayConnectionName': self._serialize.url("virtual_network_gateway_connection_name", virtual_network_gateway_connection_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'VpnDeviceScriptParameters') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('str', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + vpn_device_configuration_script.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/vpndeviceconfigurationscript'} + + + def _start_packet_capture_initial( + self, resource_group_name, virtual_network_gateway_name, filter_data=None, custom_headers=None, raw=False, **operation_config): + parameters = None + if filter_data is not None: + parameters = models.VpnPacketCaptureStartParameters(filter_data=filter_data) + + # Construct URL + url = self.start_packet_capture.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 + if parameters is not None: + body_content = self._serialize.body(parameters, 'VpnPacketCaptureStartParameters') + else: + body_content = None + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + raise models.ErrorException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('str', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def start_packet_capture( + self, resource_group_name, virtual_network_gateway_name, filter_data=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Starts packet capture on virtual network gateway in the specified + resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_name: The name of the virtual network + gateway. + :type virtual_network_gateway_name: str + :param filter_data: Start Packet capture parameters. + :type filter_data: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns str or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[str] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[str]] + :raises: + :class:`ErrorException` + """ + raw_result = self._start_packet_capture_initial( + resource_group_name=resource_group_name, + virtual_network_gateway_name=virtual_network_gateway_name, + filter_data=filter_data, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('str', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + start_packet_capture.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/startPacketCapture'} + + + def _stop_packet_capture_initial( + self, resource_group_name, virtual_network_gateway_name, sas_url=None, custom_headers=None, raw=False, **operation_config): + parameters = models.VpnPacketCaptureStopParameters(sas_url=sas_url) + + # Construct URL + url = self.stop_packet_capture.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'VpnPacketCaptureStopParameters') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + raise models.ErrorException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('str', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def stop_packet_capture( + self, resource_group_name, virtual_network_gateway_name, sas_url=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Stops packet capture on virtual network gateway in the specified + resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_name: The name of the virtual network + gateway. + :type virtual_network_gateway_name: str + :param sas_url: SAS url for packet capture on virtual network gateway. + :type sas_url: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns str or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[str] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[str]] + :raises: + :class:`ErrorException` + """ + raw_result = self._stop_packet_capture_initial( + resource_group_name=resource_group_name, + virtual_network_gateway_name=virtual_network_gateway_name, + sas_url=sas_url, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('str', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + stop_packet_capture.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/stopPacketCapture'} + + + def _get_vpnclient_connection_health_initial( + self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.get_vpnclient_connection_health.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('VpnClientConnectionHealthDetailListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def get_vpnclient_connection_health( + self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Get VPN client connection health detail per P2S client connection of + the virtual network gateway in the specified resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_name: The name of the virtual network + gateway. + :type virtual_network_gateway_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + VpnClientConnectionHealthDetailListResult or + ClientRawResponse if + raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.VpnClientConnectionHealthDetailListResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.VpnClientConnectionHealthDetailListResult]] + :raises: :class:`CloudError` + """ + raw_result = self._get_vpnclient_connection_health_initial( + resource_group_name=resource_group_name, + virtual_network_gateway_name=virtual_network_gateway_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('VpnClientConnectionHealthDetailListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + get_vpnclient_connection_health.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getVpnClientConnectionHealth'} + + + def _disconnect_virtual_network_gateway_vpn_connections_initial( + self, resource_group_name, virtual_network_gateway_name, vpn_connection_ids=None, custom_headers=None, raw=False, **operation_config): + request = models.P2SVpnConnectionRequest(vpn_connection_ids=vpn_connection_ids) + + # Construct URL + url = self.disconnect_virtual_network_gateway_vpn_connections.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.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(request, 'P2SVpnConnectionRequest') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def disconnect_virtual_network_gateway_vpn_connections( + self, resource_group_name, virtual_network_gateway_name, vpn_connection_ids=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Disconnect vpn connections of virtual network gateway in the specified + resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_name: The name of the virtual network + gateway. + :type virtual_network_gateway_name: str + :param vpn_connection_ids: List of p2s vpn connection Ids. + :type vpn_connection_ids: list[str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._disconnect_virtual_network_gateway_vpn_connections_initial( + resource_group_name=resource_group_name, + virtual_network_gateway_name=virtual_network_gateway_name, + vpn_connection_ids=vpn_connection_ids, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + disconnect_virtual_network_gateway_vpn_connections.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/disconnectVirtualNetworkGatewayVpnConnections'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_virtual_network_peerings_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_virtual_network_peerings_operations.py new file mode 100644 index 00000000000..7559c36fe6c --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_virtual_network_peerings_operations.py @@ -0,0 +1,371 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class VirtualNetworkPeeringsOperations(object): + """VirtualNetworkPeeringsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, virtual_network_name, virtual_network_peering_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), + 'virtualNetworkPeeringName': self._serialize.url("virtual_network_peering_name", virtual_network_peering_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, virtual_network_name, virtual_network_peering_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified virtual network peering. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_name: The name of the virtual network. + :type virtual_network_name: str + :param virtual_network_peering_name: The name of the virtual network + peering. + :type virtual_network_peering_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + virtual_network_name=virtual_network_name, + virtual_network_peering_name=virtual_network_peering_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/virtualNetworkPeerings/{virtualNetworkPeeringName}'} + + def get( + self, resource_group_name, virtual_network_name, virtual_network_peering_name, custom_headers=None, raw=False, **operation_config): + """Gets the specified virtual network peering. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_name: The name of the virtual network. + :type virtual_network_name: str + :param virtual_network_peering_name: The name of the virtual network + peering. + :type virtual_network_peering_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: VirtualNetworkPeering or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.VirtualNetworkPeering + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), + 'virtualNetworkPeeringName': self._serialize.url("virtual_network_peering_name", virtual_network_peering_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('VirtualNetworkPeering', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/virtualNetworkPeerings/{virtualNetworkPeeringName}'} + + + def _create_or_update_initial( + self, resource_group_name, virtual_network_name, virtual_network_peering_name, virtual_network_peering_parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), + 'virtualNetworkPeeringName': self._serialize.url("virtual_network_peering_name", virtual_network_peering_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(virtual_network_peering_parameters, 'VirtualNetworkPeering') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('VirtualNetworkPeering', response) + if response.status_code == 201: + deserialized = self._deserialize('VirtualNetworkPeering', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, virtual_network_name, virtual_network_peering_name, virtual_network_peering_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a peering in the specified virtual network. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_name: The name of the virtual network. + :type virtual_network_name: str + :param virtual_network_peering_name: The name of the peering. + :type virtual_network_peering_name: str + :param virtual_network_peering_parameters: Parameters supplied to the + create or update virtual network peering operation. + :type virtual_network_peering_parameters: + ~azure.mgmt.network.v2020_04_01.models.VirtualNetworkPeering + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns VirtualNetworkPeering + or ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.VirtualNetworkPeering] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.VirtualNetworkPeering]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + virtual_network_name=virtual_network_name, + virtual_network_peering_name=virtual_network_peering_name, + virtual_network_peering_parameters=virtual_network_peering_parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('VirtualNetworkPeering', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/virtualNetworkPeerings/{virtualNetworkPeeringName}'} + + def list( + self, resource_group_name, virtual_network_name, custom_headers=None, raw=False, **operation_config): + """Gets all virtual network peerings in a virtual network. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_name: The name of the virtual network. + :type virtual_network_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of VirtualNetworkPeering + :rtype: + ~azure.mgmt.network.v2020_04_01.models.VirtualNetworkPeeringPaged[~azure.mgmt.network.v2020_04_01.models.VirtualNetworkPeering] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.VirtualNetworkPeeringPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/virtualNetworkPeerings'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_virtual_network_taps_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_virtual_network_taps_operations.py new file mode 100644 index 00000000000..f5b944e8137 --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_virtual_network_taps_operations.py @@ -0,0 +1,490 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class VirtualNetworkTapsOperations(object): + """VirtualNetworkTapsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, tap_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'tapName': self._serialize.url("tap_name", tap_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, tap_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified virtual network tap. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param tap_name: The name of the virtual network tap. + :type tap_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + tap_name=tap_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkTaps/{tapName}'} + + def get( + self, resource_group_name, tap_name, custom_headers=None, raw=False, **operation_config): + """Gets information about the specified virtual network tap. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param tap_name: The name of virtual network tap. + :type tap_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: VirtualNetworkTap or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.VirtualNetworkTap or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'tapName': self._serialize.url("tap_name", tap_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('VirtualNetworkTap', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkTaps/{tapName}'} + + + def _create_or_update_initial( + self, resource_group_name, tap_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'tapName': self._serialize.url("tap_name", tap_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'VirtualNetworkTap') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('VirtualNetworkTap', response) + if response.status_code == 201: + deserialized = self._deserialize('VirtualNetworkTap', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, tap_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a Virtual Network Tap. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param tap_name: The name of the virtual network tap. + :type tap_name: str + :param parameters: Parameters supplied to the create or update virtual + network tap operation. + :type parameters: + ~azure.mgmt.network.v2020_04_01.models.VirtualNetworkTap + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns VirtualNetworkTap or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.VirtualNetworkTap] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.VirtualNetworkTap]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + tap_name=tap_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('VirtualNetworkTap', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkTaps/{tapName}'} + + def update_tags( + self, resource_group_name, tap_name, tags=None, custom_headers=None, raw=False, **operation_config): + """Updates an VirtualNetworkTap tags. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param tap_name: The name of the tap. + :type tap_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: VirtualNetworkTap or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.VirtualNetworkTap or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + tap_parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'tapName': self._serialize.url("tap_name", tap_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(tap_parameters, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('VirtualNetworkTap', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkTaps/{tapName}'} + + def list_all( + self, custom_headers=None, raw=False, **operation_config): + """Gets all the VirtualNetworkTaps in a subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of VirtualNetworkTap + :rtype: + ~azure.mgmt.network.v2020_04_01.models.VirtualNetworkTapPaged[~azure.mgmt.network.v2020_04_01.models.VirtualNetworkTap] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_all.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.VirtualNetworkTapPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/virtualNetworkTaps'} + + def list_by_resource_group( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Gets all the VirtualNetworkTaps in a subscription. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of VirtualNetworkTap + :rtype: + ~azure.mgmt.network.v2020_04_01.models.VirtualNetworkTapPaged[~azure.mgmt.network.v2020_04_01.models.VirtualNetworkTap] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.VirtualNetworkTapPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkTaps'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_virtual_networks_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_virtual_networks_operations.py new file mode 100644 index 00000000000..dd83e94990c --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_virtual_networks_operations.py @@ -0,0 +1,631 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class VirtualNetworksOperations(object): + """VirtualNetworksOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, virtual_network_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, virtual_network_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified virtual network. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_name: The name of the virtual network. + :type virtual_network_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + virtual_network_name=virtual_network_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}'} + + def get( + self, resource_group_name, virtual_network_name, expand=None, custom_headers=None, raw=False, **operation_config): + """Gets the specified virtual network by resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_name: The name of the virtual network. + :type virtual_network_name: str + :param expand: Expands referenced resources. + :type expand: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: VirtualNetwork or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.VirtualNetwork or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), + '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.api_version", self.api_version, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('VirtualNetwork', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}'} + + + def _create_or_update_initial( + self, resource_group_name, virtual_network_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'VirtualNetwork') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('VirtualNetwork', response) + if response.status_code == 201: + deserialized = self._deserialize('VirtualNetwork', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, virtual_network_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a virtual network in the specified resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_name: The name of the virtual network. + :type virtual_network_name: str + :param parameters: Parameters supplied to the create or update virtual + network operation. + :type parameters: + ~azure.mgmt.network.v2020_04_01.models.VirtualNetwork + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns VirtualNetwork or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.VirtualNetwork] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.VirtualNetwork]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + virtual_network_name=virtual_network_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('VirtualNetwork', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}'} + + def update_tags( + self, resource_group_name, virtual_network_name, tags=None, custom_headers=None, raw=False, **operation_config): + """Updates a virtual network tags. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_name: The name of the virtual network. + :type virtual_network_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: VirtualNetwork or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.VirtualNetwork or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('VirtualNetwork', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}'} + + def list_all( + self, custom_headers=None, raw=False, **operation_config): + """Gets all virtual networks in a subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of VirtualNetwork + :rtype: + ~azure.mgmt.network.v2020_04_01.models.VirtualNetworkPaged[~azure.mgmt.network.v2020_04_01.models.VirtualNetwork] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_all.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.VirtualNetworkPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/virtualNetworks'} + + def list( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Gets all virtual networks in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of VirtualNetwork + :rtype: + ~azure.mgmt.network.v2020_04_01.models.VirtualNetworkPaged[~azure.mgmt.network.v2020_04_01.models.VirtualNetwork] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.VirtualNetworkPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks'} + + def check_ip_address_availability( + self, resource_group_name, virtual_network_name, ip_address, custom_headers=None, raw=False, **operation_config): + """Checks whether a private IP address is available for use. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_name: The name of the virtual network. + :type virtual_network_name: str + :param ip_address: The private IP address to be verified. + :type ip_address: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: IPAddressAvailabilityResult or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.network.v2020_04_01.models.IPAddressAvailabilityResult or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.check_ip_address_availability.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), + '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['ipAddress'] = self._serialize.query("ip_address", ip_address, 'str') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('IPAddressAvailabilityResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + check_ip_address_availability.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/CheckIPAddressAvailability'} + + def list_usage( + self, resource_group_name, virtual_network_name, custom_headers=None, raw=False, **operation_config): + """Lists usage stats. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_name: The name of the virtual network. + :type virtual_network_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of VirtualNetworkUsage + :rtype: + ~azure.mgmt.network.v2020_04_01.models.VirtualNetworkUsagePaged[~azure.mgmt.network.v2020_04_01.models.VirtualNetworkUsage] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_usage.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.VirtualNetworkUsagePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_usage.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/usages'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_virtual_router_peerings_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_virtual_router_peerings_operations.py new file mode 100644 index 00000000000..139155e4ba1 --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_virtual_router_peerings_operations.py @@ -0,0 +1,364 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class VirtualRouterPeeringsOperations(object): + """VirtualRouterPeeringsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, virtual_router_name, peering_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualRouterName': self._serialize.url("virtual_router_name", virtual_router_name, 'str'), + 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + raise models.ErrorException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, virtual_router_name, peering_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified peering from a Virtual Router. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_router_name: The name of the Virtual Router. + :type virtual_router_name: str + :param peering_name: The name of the peering. + :type peering_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: + :class:`ErrorException` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + virtual_router_name=virtual_router_name, + peering_name=peering_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualRouters/{virtualRouterName}/peerings/{peeringName}'} + + def get( + self, resource_group_name, virtual_router_name, peering_name, custom_headers=None, raw=False, **operation_config): + """Gets the specified Virtual Router Peering. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_router_name: The name of the Virtual Router. + :type virtual_router_name: str + :param peering_name: The name of the Virtual Router Peering. + :type peering_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: VirtualRouterPeering or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.VirtualRouterPeering or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorException` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualRouterName': self._serialize.url("virtual_router_name", virtual_router_name, 'str'), + 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('VirtualRouterPeering', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualRouters/{virtualRouterName}/peerings/{peeringName}'} + + + def _create_or_update_initial( + self, resource_group_name, virtual_router_name, peering_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualRouterName': self._serialize.url("virtual_router_name", virtual_router_name, 'str'), + 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'VirtualRouterPeering') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + raise models.ErrorException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('VirtualRouterPeering', response) + if response.status_code == 201: + deserialized = self._deserialize('VirtualRouterPeering', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, virtual_router_name, peering_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates the specified Virtual Router Peering. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_router_name: The name of the Virtual Router. + :type virtual_router_name: str + :param peering_name: The name of the Virtual Router Peering. + :type peering_name: str + :param parameters: Parameters supplied to the create or update Virtual + Router Peering operation. + :type parameters: + ~azure.mgmt.network.v2020_04_01.models.VirtualRouterPeering + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns VirtualRouterPeering or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.VirtualRouterPeering] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.VirtualRouterPeering]] + :raises: + :class:`ErrorException` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + virtual_router_name=virtual_router_name, + peering_name=peering_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('VirtualRouterPeering', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualRouters/{virtualRouterName}/peerings/{peeringName}'} + + def list( + self, resource_group_name, virtual_router_name, custom_headers=None, raw=False, **operation_config): + """Lists all Virtual Router Peerings in a Virtual Router resource. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_router_name: The name of the Virtual Router. + :type virtual_router_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of VirtualRouterPeering + :rtype: + ~azure.mgmt.network.v2020_04_01.models.VirtualRouterPeeringPaged[~azure.mgmt.network.v2020_04_01.models.VirtualRouterPeering] + :raises: + :class:`ErrorException` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualRouterName': self._serialize.url("virtual_router_name", virtual_router_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorException(self._deserialize, response) + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.VirtualRouterPeeringPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualRouters/{virtualRouterName}/peerings'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_virtual_routers_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_virtual_routers_operations.py new file mode 100644 index 00000000000..d3e501e51be --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_virtual_routers_operations.py @@ -0,0 +1,418 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class VirtualRoutersOperations(object): + """VirtualRoutersOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, virtual_router_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualRouterName': self._serialize.url("virtual_router_name", virtual_router_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + raise models.ErrorException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, virtual_router_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified Virtual Router. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_router_name: The name of the Virtual Router. + :type virtual_router_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: + :class:`ErrorException` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + virtual_router_name=virtual_router_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualRouters/{virtualRouterName}'} + + def get( + self, resource_group_name, virtual_router_name, expand=None, custom_headers=None, raw=False, **operation_config): + """Gets the specified Virtual Router. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_router_name: The name of the Virtual Router. + :type virtual_router_name: str + :param expand: Expands referenced resources. + :type expand: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: VirtualRouter or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.VirtualRouter or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorException` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualRouterName': self._serialize.url("virtual_router_name", virtual_router_name, 'str'), + '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.api_version", self.api_version, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('VirtualRouter', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualRouters/{virtualRouterName}'} + + + def _create_or_update_initial( + self, resource_group_name, virtual_router_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualRouterName': self._serialize.url("virtual_router_name", virtual_router_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'VirtualRouter') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + raise models.ErrorException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('VirtualRouter', response) + if response.status_code == 201: + deserialized = self._deserialize('VirtualRouter', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, virtual_router_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates the specified Virtual Router. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_router_name: The name of the Virtual Router. + :type virtual_router_name: str + :param parameters: Parameters supplied to the create or update Virtual + Router. + :type parameters: ~azure.mgmt.network.v2020_04_01.models.VirtualRouter + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns VirtualRouter or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.VirtualRouter] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.VirtualRouter]] + :raises: + :class:`ErrorException` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + virtual_router_name=virtual_router_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('VirtualRouter', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualRouters/{virtualRouterName}'} + + def list_by_resource_group( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Lists all Virtual Routers in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of VirtualRouter + :rtype: + ~azure.mgmt.network.v2020_04_01.models.VirtualRouterPaged[~azure.mgmt.network.v2020_04_01.models.VirtualRouter] + :raises: + :class:`ErrorException` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorException(self._deserialize, response) + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.VirtualRouterPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualRouters'} + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Gets all the Virtual Routers in a subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of VirtualRouter + :rtype: + ~azure.mgmt.network.v2020_04_01.models.VirtualRouterPaged[~azure.mgmt.network.v2020_04_01.models.VirtualRouter] + :raises: + :class:`ErrorException` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorException(self._deserialize, response) + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.VirtualRouterPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/virtualRouters'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_virtual_wans_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_virtual_wans_operations.py new file mode 100644 index 00000000000..59074e49a94 --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_virtual_wans_operations.py @@ -0,0 +1,492 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class VirtualWansOperations(object): + """VirtualWansOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + def get( + self, resource_group_name, virtual_wan_name, custom_headers=None, raw=False, **operation_config): + """Retrieves the details of a VirtualWAN. + + :param resource_group_name: The resource group name of the VirtualWan. + :type resource_group_name: str + :param virtual_wan_name: The name of the VirtualWAN being retrieved. + :type virtual_wan_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: VirtualWAN or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.VirtualWAN or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'VirtualWANName': self._serialize.url("virtual_wan_name", virtual_wan_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('VirtualWAN', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{VirtualWANName}'} + + + def _create_or_update_initial( + self, resource_group_name, virtual_wan_name, wan_parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'VirtualWANName': self._serialize.url("virtual_wan_name", virtual_wan_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(wan_parameters, 'VirtualWAN') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('VirtualWAN', response) + if response.status_code == 201: + deserialized = self._deserialize('VirtualWAN', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, virtual_wan_name, wan_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates a VirtualWAN resource if it doesn't exist else updates the + existing VirtualWAN. + + :param resource_group_name: The resource group name of the VirtualWan. + :type resource_group_name: str + :param virtual_wan_name: The name of the VirtualWAN being created or + updated. + :type virtual_wan_name: str + :param wan_parameters: Parameters supplied to create or update + VirtualWAN. + :type wan_parameters: + ~azure.mgmt.network.v2020_04_01.models.VirtualWAN + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns VirtualWAN or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.VirtualWAN] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.VirtualWAN]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + virtual_wan_name=virtual_wan_name, + wan_parameters=wan_parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('VirtualWAN', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{VirtualWANName}'} + + def update_tags( + self, resource_group_name, virtual_wan_name, tags=None, custom_headers=None, raw=False, **operation_config): + """Updates a VirtualWAN tags. + + :param resource_group_name: The resource group name of the VirtualWan. + :type resource_group_name: str + :param virtual_wan_name: The name of the VirtualWAN being updated. + :type virtual_wan_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: VirtualWAN or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.VirtualWAN or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + wan_parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'VirtualWANName': self._serialize.url("virtual_wan_name", virtual_wan_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(wan_parameters, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('VirtualWAN', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{VirtualWANName}'} + + + def _delete_initial( + self, resource_group_name, virtual_wan_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'VirtualWANName': self._serialize.url("virtual_wan_name", virtual_wan_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, virtual_wan_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes a VirtualWAN. + + :param resource_group_name: The resource group name of the VirtualWan. + :type resource_group_name: str + :param virtual_wan_name: The name of the VirtualWAN being deleted. + :type virtual_wan_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + virtual_wan_name=virtual_wan_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{VirtualWANName}'} + + def list_by_resource_group( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Lists all the VirtualWANs in a resource group. + + :param resource_group_name: The resource group name of the VirtualWan. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of VirtualWAN + :rtype: + ~azure.mgmt.network.v2020_04_01.models.VirtualWANPaged[~azure.mgmt.network.v2020_04_01.models.VirtualWAN] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.VirtualWANPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans'} + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Lists all the VirtualWANs in a subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of VirtualWAN + :rtype: + ~azure.mgmt.network.v2020_04_01.models.VirtualWANPaged[~azure.mgmt.network.v2020_04_01.models.VirtualWAN] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.VirtualWANPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/virtualWans'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_vpn_connections_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_vpn_connections_operations.py new file mode 100644 index 00000000000..e5e59a28da5 --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_vpn_connections_operations.py @@ -0,0 +1,370 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class VpnConnectionsOperations(object): + """VpnConnectionsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + def get( + self, resource_group_name, gateway_name, connection_name, custom_headers=None, raw=False, **operation_config): + """Retrieves the details of a vpn connection. + + :param resource_group_name: The resource group name of the VpnGateway. + :type resource_group_name: str + :param gateway_name: The name of the gateway. + :type gateway_name: str + :param connection_name: The name of the vpn connection. + :type connection_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: VpnConnection or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.VpnConnection or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str'), + 'connectionName': self._serialize.url("connection_name", connection_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('VpnConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/vpnConnections/{connectionName}'} + + + def _create_or_update_initial( + self, resource_group_name, gateway_name, connection_name, vpn_connection_parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str'), + 'connectionName': self._serialize.url("connection_name", connection_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(vpn_connection_parameters, 'VpnConnection') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('VpnConnection', response) + if response.status_code == 201: + deserialized = self._deserialize('VpnConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, gateway_name, connection_name, vpn_connection_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates a vpn connection to a scalable vpn gateway if it doesn't exist + else updates the existing connection. + + :param resource_group_name: The resource group name of the VpnGateway. + :type resource_group_name: str + :param gateway_name: The name of the gateway. + :type gateway_name: str + :param connection_name: The name of the connection. + :type connection_name: str + :param vpn_connection_parameters: Parameters supplied to create or + Update a VPN Connection. + :type vpn_connection_parameters: + ~azure.mgmt.network.v2020_04_01.models.VpnConnection + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns VpnConnection or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.VpnConnection] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.VpnConnection]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + gateway_name=gateway_name, + connection_name=connection_name, + vpn_connection_parameters=vpn_connection_parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('VpnConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/vpnConnections/{connectionName}'} + + + def _delete_initial( + self, resource_group_name, gateway_name, connection_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str'), + 'connectionName': self._serialize.url("connection_name", connection_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, gateway_name, connection_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes a vpn connection. + + :param resource_group_name: The resource group name of the VpnGateway. + :type resource_group_name: str + :param gateway_name: The name of the gateway. + :type gateway_name: str + :param connection_name: The name of the connection. + :type connection_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + gateway_name=gateway_name, + connection_name=connection_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/vpnConnections/{connectionName}'} + + def list_by_vpn_gateway( + self, resource_group_name, gateway_name, custom_headers=None, raw=False, **operation_config): + """Retrieves all vpn connections for a particular virtual wan vpn gateway. + + :param resource_group_name: The resource group name of the VpnGateway. + :type resource_group_name: str + :param gateway_name: The name of the gateway. + :type gateway_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of VpnConnection + :rtype: + ~azure.mgmt.network.v2020_04_01.models.VpnConnectionPaged[~azure.mgmt.network.v2020_04_01.models.VpnConnection] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_vpn_gateway.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.VpnConnectionPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_vpn_gateway.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/vpnConnections'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_vpn_gateways_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_vpn_gateways_operations.py new file mode 100644 index 00000000000..010dba9b406 --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_vpn_gateways_operations.py @@ -0,0 +1,584 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class VpnGatewaysOperations(object): + """VpnGatewaysOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + def get( + self, resource_group_name, gateway_name, custom_headers=None, raw=False, **operation_config): + """Retrieves the details of a virtual wan vpn gateway. + + :param resource_group_name: The resource group name of the VpnGateway. + :type resource_group_name: str + :param gateway_name: The name of the gateway. + :type gateway_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: VpnGateway or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.VpnGateway or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('VpnGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}'} + + + def _create_or_update_initial( + self, resource_group_name, gateway_name, vpn_gateway_parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(vpn_gateway_parameters, 'VpnGateway') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('VpnGateway', response) + if response.status_code == 201: + deserialized = self._deserialize('VpnGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, gateway_name, vpn_gateway_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates a virtual wan vpn gateway if it doesn't exist else updates the + existing gateway. + + :param resource_group_name: The resource group name of the VpnGateway. + :type resource_group_name: str + :param gateway_name: The name of the gateway. + :type gateway_name: str + :param vpn_gateway_parameters: Parameters supplied to create or Update + a virtual wan vpn gateway. + :type vpn_gateway_parameters: + ~azure.mgmt.network.v2020_04_01.models.VpnGateway + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns VpnGateway or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.VpnGateway] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.VpnGateway]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + gateway_name=gateway_name, + vpn_gateway_parameters=vpn_gateway_parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('VpnGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}'} + + def update_tags( + self, resource_group_name, gateway_name, tags=None, custom_headers=None, raw=False, **operation_config): + """Updates virtual wan vpn gateway tags. + + :param resource_group_name: The resource group name of the VpnGateway. + :type resource_group_name: str + :param gateway_name: The name of the gateway. + :type gateway_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: VpnGateway or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.VpnGateway or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + vpn_gateway_parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(vpn_gateway_parameters, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('VpnGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}'} + + + def _delete_initial( + self, resource_group_name, gateway_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes a virtual wan vpn gateway. + + :param resource_group_name: The resource group name of the VpnGateway. + :type resource_group_name: str + :param gateway_name: The name of the gateway. + :type gateway_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + gateway_name=gateway_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}'} + + + def _reset_initial( + self, resource_group_name, gateway_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.reset.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str'), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('VpnGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def reset( + self, resource_group_name, gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Resets the primary of the vpn gateway in the specified resource group. + + :param resource_group_name: The resource group name of the VpnGateway. + :type resource_group_name: str + :param gateway_name: The name of the gateway. + :type gateway_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns VpnGateway or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.VpnGateway] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.VpnGateway]] + :raises: :class:`CloudError` + """ + raw_result = self._reset_initial( + resource_group_name=resource_group_name, + gateway_name=gateway_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('VpnGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + reset.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/reset'} + + def list_by_resource_group( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Lists all the VpnGateways in a resource group. + + :param resource_group_name: The resource group name of the VpnGateway. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of VpnGateway + :rtype: + ~azure.mgmt.network.v2020_04_01.models.VpnGatewayPaged[~azure.mgmt.network.v2020_04_01.models.VpnGateway] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.VpnGatewayPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways'} + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Lists all the VpnGateways in a subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of VpnGateway + :rtype: + ~azure.mgmt.network.v2020_04_01.models.VpnGatewayPaged[~azure.mgmt.network.v2020_04_01.models.VpnGateway] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.VpnGatewayPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/vpnGateways'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_vpn_link_connections_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_vpn_link_connections_operations.py new file mode 100644 index 00000000000..ef3be869ae3 --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_vpn_link_connections_operations.py @@ -0,0 +1,116 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class VpnLinkConnectionsOperations(object): + """VpnLinkConnectionsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + def list_by_vpn_connection( + self, resource_group_name, gateway_name, connection_name, custom_headers=None, raw=False, **operation_config): + """Retrieves all vpn site link connections for a particular virtual wan + vpn gateway vpn connection. + + :param resource_group_name: The resource group name of the VpnGateway. + :type resource_group_name: str + :param gateway_name: The name of the gateway. + :type gateway_name: str + :param connection_name: The name of the vpn connection. + :type connection_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of VpnSiteLinkConnection + :rtype: + ~azure.mgmt.network.v2020_04_01.models.VpnSiteLinkConnectionPaged[~azure.mgmt.network.v2020_04_01.models.VpnSiteLinkConnection] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_vpn_connection.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str'), + 'connectionName': self._serialize.url("connection_name", connection_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.VpnSiteLinkConnectionPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_vpn_connection.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/vpnConnections/{connectionName}/vpnLinkConnections'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_vpn_server_configurations_associated_with_virtual_wan_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_vpn_server_configurations_associated_with_virtual_wan_operations.py new file mode 100644 index 00000000000..de56027ba89 --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_vpn_server_configurations_associated_with_virtual_wan_operations.py @@ -0,0 +1,138 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class VpnServerConfigurationsAssociatedWithVirtualWanOperations(object): + """VpnServerConfigurationsAssociatedWithVirtualWanOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + + def _list_initial( + self, resource_group_name, virtual_wan_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualWANName': self._serialize.url("virtual_wan_name", virtual_wan_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('VpnServerConfigurationsResponse', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def list( + self, resource_group_name, virtual_wan_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Gives the list of VpnServerConfigurations associated with Virtual Wan + in a resource group. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param virtual_wan_name: The name of the VirtualWAN whose associated + VpnServerConfigurations is needed. + :type virtual_wan_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + VpnServerConfigurationsResponse or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.VpnServerConfigurationsResponse] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.VpnServerConfigurationsResponse]] + :raises: :class:`CloudError` + """ + raw_result = self._list_initial( + resource_group_name=resource_group_name, + virtual_wan_name=virtual_wan_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('VpnServerConfigurationsResponse', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{virtualWANName}/vpnServerConfigurations'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_vpn_server_configurations_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_vpn_server_configurations_operations.py new file mode 100644 index 00000000000..c7d69ffae19 --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_vpn_server_configurations_operations.py @@ -0,0 +1,500 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class VpnServerConfigurationsOperations(object): + """VpnServerConfigurationsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + def get( + self, resource_group_name, vpn_server_configuration_name, custom_headers=None, raw=False, **operation_config): + """Retrieves the details of a VpnServerConfiguration. + + :param resource_group_name: The resource group name of the + VpnServerConfiguration. + :type resource_group_name: str + :param vpn_server_configuration_name: The name of the + VpnServerConfiguration being retrieved. + :type vpn_server_configuration_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: VpnServerConfiguration or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.VpnServerConfiguration + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'vpnServerConfigurationName': self._serialize.url("vpn_server_configuration_name", vpn_server_configuration_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('VpnServerConfiguration', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnServerConfigurations/{vpnServerConfigurationName}'} + + + def _create_or_update_initial( + self, resource_group_name, vpn_server_configuration_name, vpn_server_configuration_parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'vpnServerConfigurationName': self._serialize.url("vpn_server_configuration_name", vpn_server_configuration_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(vpn_server_configuration_parameters, 'VpnServerConfiguration') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('VpnServerConfiguration', response) + if response.status_code == 201: + deserialized = self._deserialize('VpnServerConfiguration', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, vpn_server_configuration_name, vpn_server_configuration_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates a VpnServerConfiguration resource if it doesn't exist else + updates the existing VpnServerConfiguration. + + :param resource_group_name: The resource group name of the + VpnServerConfiguration. + :type resource_group_name: str + :param vpn_server_configuration_name: The name of the + VpnServerConfiguration being created or updated. + :type vpn_server_configuration_name: str + :param vpn_server_configuration_parameters: Parameters supplied to + create or update VpnServerConfiguration. + :type vpn_server_configuration_parameters: + ~azure.mgmt.network.v2020_04_01.models.VpnServerConfiguration + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns VpnServerConfiguration + or ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.VpnServerConfiguration] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.VpnServerConfiguration]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + vpn_server_configuration_name=vpn_server_configuration_name, + vpn_server_configuration_parameters=vpn_server_configuration_parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('VpnServerConfiguration', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnServerConfigurations/{vpnServerConfigurationName}'} + + def update_tags( + self, resource_group_name, vpn_server_configuration_name, tags=None, custom_headers=None, raw=False, **operation_config): + """Updates VpnServerConfiguration tags. + + :param resource_group_name: The resource group name of the + VpnServerConfiguration. + :type resource_group_name: str + :param vpn_server_configuration_name: The name of the + VpnServerConfiguration being updated. + :type vpn_server_configuration_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: VpnServerConfiguration or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.VpnServerConfiguration + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + vpn_server_configuration_parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'vpnServerConfigurationName': self._serialize.url("vpn_server_configuration_name", vpn_server_configuration_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(vpn_server_configuration_parameters, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('VpnServerConfiguration', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnServerConfigurations/{vpnServerConfigurationName}'} + + + def _delete_initial( + self, resource_group_name, vpn_server_configuration_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'vpnServerConfigurationName': self._serialize.url("vpn_server_configuration_name", vpn_server_configuration_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, vpn_server_configuration_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes a VpnServerConfiguration. + + :param resource_group_name: The resource group name of the + VpnServerConfiguration. + :type resource_group_name: str + :param vpn_server_configuration_name: The name of the + VpnServerConfiguration being deleted. + :type vpn_server_configuration_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + vpn_server_configuration_name=vpn_server_configuration_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnServerConfigurations/{vpnServerConfigurationName}'} + + def list_by_resource_group( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Lists all the vpnServerConfigurations in a resource group. + + :param resource_group_name: The resource group name of the + VpnServerConfiguration. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of VpnServerConfiguration + :rtype: + ~azure.mgmt.network.v2020_04_01.models.VpnServerConfigurationPaged[~azure.mgmt.network.v2020_04_01.models.VpnServerConfiguration] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.VpnServerConfigurationPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnServerConfigurations'} + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Lists all the VpnServerConfigurations in a subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of VpnServerConfiguration + :rtype: + ~azure.mgmt.network.v2020_04_01.models.VpnServerConfigurationPaged[~azure.mgmt.network.v2020_04_01.models.VpnServerConfiguration] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.VpnServerConfigurationPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/vpnServerConfigurations'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_vpn_site_link_connections_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_vpn_site_link_connections_operations.py new file mode 100644 index 00000000000..a4d41eb5180 --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_vpn_site_link_connections_operations.py @@ -0,0 +1,107 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class VpnSiteLinkConnectionsOperations(object): + """VpnSiteLinkConnectionsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + def get( + self, resource_group_name, gateway_name, connection_name, link_connection_name, custom_headers=None, raw=False, **operation_config): + """Retrieves the details of a vpn site link connection. + + :param resource_group_name: The resource group name of the VpnGateway. + :type resource_group_name: str + :param gateway_name: The name of the gateway. + :type gateway_name: str + :param connection_name: The name of the vpn connection. + :type connection_name: str + :param link_connection_name: The name of the vpn connection. + :type link_connection_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: VpnSiteLinkConnection or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.VpnSiteLinkConnection + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str'), + 'connectionName': self._serialize.url("connection_name", connection_name, 'str'), + 'linkConnectionName': self._serialize.url("link_connection_name", link_connection_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('VpnSiteLinkConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/vpnConnections/{connectionName}/vpnLinkConnections/{linkConnectionName}'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_vpn_site_links_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_vpn_site_links_operations.py new file mode 100644 index 00000000000..76cbd37da60 --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_vpn_site_links_operations.py @@ -0,0 +1,177 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class VpnSiteLinksOperations(object): + """VpnSiteLinksOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + def get( + self, resource_group_name, vpn_site_name, vpn_site_link_name, custom_headers=None, raw=False, **operation_config): + """Retrieves the details of a VPN site link. + + :param resource_group_name: The resource group name of the VpnSite. + :type resource_group_name: str + :param vpn_site_name: The name of the VpnSite. + :type vpn_site_name: str + :param vpn_site_link_name: The name of the VpnSiteLink being + retrieved. + :type vpn_site_link_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: VpnSiteLink or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.VpnSiteLink or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'vpnSiteName': self._serialize.url("vpn_site_name", vpn_site_name, 'str'), + 'vpnSiteLinkName': self._serialize.url("vpn_site_link_name", vpn_site_link_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('VpnSiteLink', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnSites/{vpnSiteName}/vpnSiteLinks/{vpnSiteLinkName}'} + + def list_by_vpn_site( + self, resource_group_name, vpn_site_name, custom_headers=None, raw=False, **operation_config): + """Lists all the vpnSiteLinks in a resource group for a vpn site. + + :param resource_group_name: The resource group name of the VpnSite. + :type resource_group_name: str + :param vpn_site_name: The name of the VpnSite. + :type vpn_site_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of VpnSiteLink + :rtype: + ~azure.mgmt.network.v2020_04_01.models.VpnSiteLinkPaged[~azure.mgmt.network.v2020_04_01.models.VpnSiteLink] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_vpn_site.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'vpnSiteName': self._serialize.url("vpn_site_name", vpn_site_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.VpnSiteLinkPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_vpn_site.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnSites/{vpnSiteName}/vpnSiteLinks'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_vpn_sites_configuration_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_vpn_sites_configuration_operations.py new file mode 100644 index 00000000000..d128e14a2e0 --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_vpn_sites_configuration_operations.py @@ -0,0 +1,137 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class VpnSitesConfigurationOperations(object): + """VpnSitesConfigurationOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + + def _download_initial( + self, resource_group_name, virtual_wan_name, output_blob_sas_url, vpn_sites=None, custom_headers=None, raw=False, **operation_config): + request = models.GetVpnSitesConfigurationRequest(vpn_sites=vpn_sites, output_blob_sas_url=output_blob_sas_url) + + # Construct URL + url = self.download.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualWANName': self._serialize.url("virtual_wan_name", virtual_wan_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.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(request, 'GetVpnSitesConfigurationRequest') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def download( + self, resource_group_name, virtual_wan_name, output_blob_sas_url, vpn_sites=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Gives the sas-url to download the configurations for vpn-sites in a + resource group. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param virtual_wan_name: The name of the VirtualWAN for which + configuration of all vpn-sites is needed. + :type virtual_wan_name: str + :param output_blob_sas_url: The sas-url to download the configurations + for vpn-sites. + :type output_blob_sas_url: str + :param vpn_sites: List of resource-ids of the vpn-sites for which + config is to be downloaded. + :type vpn_sites: list[str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._download_initial( + resource_group_name=resource_group_name, + virtual_wan_name=virtual_wan_name, + output_blob_sas_url=output_blob_sas_url, + vpn_sites=vpn_sites, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + download.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{virtualWANName}/vpnConfiguration'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_vpn_sites_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_vpn_sites_operations.py new file mode 100644 index 00000000000..1ea09b47005 --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_vpn_sites_operations.py @@ -0,0 +1,492 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class VpnSitesOperations(object): + """VpnSitesOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + def get( + self, resource_group_name, vpn_site_name, custom_headers=None, raw=False, **operation_config): + """Retrieves the details of a VPN site. + + :param resource_group_name: The resource group name of the VpnSite. + :type resource_group_name: str + :param vpn_site_name: The name of the VpnSite being retrieved. + :type vpn_site_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: VpnSite or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.VpnSite or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'vpnSiteName': self._serialize.url("vpn_site_name", vpn_site_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('VpnSite', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnSites/{vpnSiteName}'} + + + def _create_or_update_initial( + self, resource_group_name, vpn_site_name, vpn_site_parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'vpnSiteName': self._serialize.url("vpn_site_name", vpn_site_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(vpn_site_parameters, 'VpnSite') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('VpnSite', response) + if response.status_code == 201: + deserialized = self._deserialize('VpnSite', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, vpn_site_name, vpn_site_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates a VpnSite resource if it doesn't exist else updates the + existing VpnSite. + + :param resource_group_name: The resource group name of the VpnSite. + :type resource_group_name: str + :param vpn_site_name: The name of the VpnSite being created or + updated. + :type vpn_site_name: str + :param vpn_site_parameters: Parameters supplied to create or update + VpnSite. + :type vpn_site_parameters: + ~azure.mgmt.network.v2020_04_01.models.VpnSite + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns VpnSite or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2020_04_01.models.VpnSite] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2020_04_01.models.VpnSite]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + vpn_site_name=vpn_site_name, + vpn_site_parameters=vpn_site_parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('VpnSite', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnSites/{vpnSiteName}'} + + def update_tags( + self, resource_group_name, vpn_site_name, tags=None, custom_headers=None, raw=False, **operation_config): + """Updates VpnSite tags. + + :param resource_group_name: The resource group name of the VpnSite. + :type resource_group_name: str + :param vpn_site_name: The name of the VpnSite being updated. + :type vpn_site_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: VpnSite or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2020_04_01.models.VpnSite or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + vpn_site_parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'vpnSiteName': self._serialize.url("vpn_site_name", vpn_site_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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(vpn_site_parameters, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('VpnSite', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnSites/{vpnSiteName}'} + + + def _delete_initial( + self, resource_group_name, vpn_site_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'vpnSiteName': self._serialize.url("vpn_site_name", vpn_site_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, vpn_site_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes a VpnSite. + + :param resource_group_name: The resource group name of the VpnSite. + :type resource_group_name: str + :param vpn_site_name: The name of the VpnSite being deleted. + :type vpn_site_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + vpn_site_name=vpn_site_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnSites/{vpnSiteName}'} + + def list_by_resource_group( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Lists all the vpnSites in a resource group. + + :param resource_group_name: The resource group name of the VpnSite. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of VpnSite + :rtype: + ~azure.mgmt.network.v2020_04_01.models.VpnSitePaged[~azure.mgmt.network.v2020_04_01.models.VpnSite] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.VpnSitePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnSites'} + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Lists all the VpnSites in a subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of VpnSite + :rtype: + ~azure.mgmt.network.v2020_04_01.models.VpnSitePaged[~azure.mgmt.network.v2020_04_01.models.VpnSite] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.VpnSitePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/vpnSites'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_web_application_firewall_policies_operations.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_web_application_firewall_policies_operations.py new file mode 100644 index 00000000000..c023b7e9eb7 --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/operations/_web_application_firewall_policies_operations.py @@ -0,0 +1,390 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class WebApplicationFirewallPoliciesOperations(object): + """WebApplicationFirewallPoliciesOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2020-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-04-01" + + self.config = config + + def list( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Lists all of the protection policies within a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of WebApplicationFirewallPolicy + :rtype: + ~azure.mgmt.network.v2020_04_01.models.WebApplicationFirewallPolicyPaged[~azure.mgmt.network.v2020_04_01.models.WebApplicationFirewallPolicy] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.WebApplicationFirewallPolicyPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies'} + + def list_all( + self, custom_headers=None, raw=False, **operation_config): + """Gets all the WAF policies in a subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of WebApplicationFirewallPolicy + :rtype: + ~azure.mgmt.network.v2020_04_01.models.WebApplicationFirewallPolicyPaged[~azure.mgmt.network.v2020_04_01.models.WebApplicationFirewallPolicy] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_all.metadata['url'] + path_format_arguments = { + '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.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.WebApplicationFirewallPolicyPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies'} + + def get( + self, resource_group_name, policy_name, custom_headers=None, raw=False, **operation_config): + """Retrieve protection policy with specified name within a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param policy_name: The name of the policy. + :type policy_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: WebApplicationFirewallPolicy or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.network.v2020_04_01.models.WebApplicationFirewallPolicy or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'policyName': self._serialize.url("policy_name", policy_name, 'str', max_length=128), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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 and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + 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('WebApplicationFirewallPolicy', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies/{policyName}'} + + def create_or_update( + self, resource_group_name, policy_name, parameters, custom_headers=None, raw=False, **operation_config): + """Creates or update policy with specified rule set name within a resource + group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param policy_name: The name of the policy. + :type policy_name: str + :param parameters: Policy to be created. + :type parameters: + ~azure.mgmt.network.v2020_04_01.models.WebApplicationFirewallPolicy + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: WebApplicationFirewallPolicy or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.network.v2020_04_01.models.WebApplicationFirewallPolicy or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'policyName': self._serialize.url("policy_name", policy_name, 'str', max_length=128), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'WebApplicationFirewallPolicy') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + 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('WebApplicationFirewallPolicy', response) + if response.status_code == 201: + deserialized = self._deserialize('WebApplicationFirewallPolicy', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies/{policyName}'} + + + def _delete_initial( + self, resource_group_name, policy_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'policyName': self._serialize.url("policy_name", policy_name, 'str', max_length=128), + '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.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + 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 and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, policy_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes Policy. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param policy_name: The name of the policy. + :type policy_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + policy_name=policy_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies/{policyName}'} diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/version.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/version.py similarity index 100% rename from src/virtual-wan/azext_vwan/vendored_sdks/v2019_09_01/v2019_09_01/version.py rename to src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/v2020_04_01/version.py diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/version.py b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/version.py new file mode 100644 index 00000000000..0d352efbf74 --- /dev/null +++ b/src/virtual-wan/azext_vwan/vendored_sdks/v2020_04_01/version.py @@ -0,0 +1,8 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- + +VERSION = "10.2.0" diff --git a/src/virtual-wan/azext_vwan/vendored_sdks/version.py b/src/virtual-wan/azext_vwan/vendored_sdks/version.py deleted file mode 100644 index 39bc8ba8c51..00000000000 --- a/src/virtual-wan/azext_vwan/vendored_sdks/version.py +++ /dev/null @@ -1,8 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -------------------------------------------------------------------------- - -VERSION = "2.2.0" diff --git a/src/vm-repair/azext_vm_repair/_params.py b/src/vm-repair/azext_vm_repair/_params.py index 5c1f3f29764..689f0d569fc 100644 --- a/src/vm-repair/azext_vm_repair/_params.py +++ b/src/vm-repair/azext_vm_repair/_params.py @@ -28,6 +28,7 @@ def load_arguments(self, _): c.argument('repair_vm_name', help='Name of repair VM.') c.argument('copy_disk_name', help='Name of OS disk copy.') c.argument('repair_group_name', help='Repair resource group name.') + c.argument('unlock_encrypted_vm', help='Option to auto-unlock encrypted VMs using current subscription auth.') with self.argument_context('vm repair restore') as c: c.argument('repair_vm_id', help='Repair VM resource id.') diff --git a/src/vm-repair/azext_vm_repair/_validators.py b/src/vm-repair/azext_vm_repair/_validators.py index e8065042b5f..ef359d321a6 100644 --- a/src/vm-repair/azext_vm_repair/_validators.py +++ b/src/vm-repair/azext_vm_repair/_validators.py @@ -14,11 +14,12 @@ from msrestazure.azure_exceptions import CloudError from msrestazure.tools import parse_resource_id, is_valid_resource_id +from .encryption_types import Encryption from .exceptions import AzCommandError from .repair_utils import ( _call_az_command, _get_repair_resource_tag, - _uses_encrypted_disk, + _fetch_encryption_settings, _resolve_api_version, check_extension_version ) @@ -58,9 +59,16 @@ def validate_create(cmd, namespace): namespace.repair_group_name = 'repair-' + namespace.vm_name + '-' + timestamp # Check encrypted disk - if _uses_encrypted_disk(source_vm): - # TODO, validate this with encrypted VMs - logger.warning('The source VM\'s OS disk is encrypted.') + encryption_type, _, _ = _fetch_encryption_settings(source_vm) + # Currently only supporting single pass + if encryption_type in (Encryption.SINGLE_WITH_KEK, Encryption.SINGLE_WITHOUT_KEK): + if not namespace.unlock_encrypted_vm: + _prompt_encrypted_vm(namespace) + elif encryption_type is Encryption.DUAL: + logger.warning('The source VM\'s OS disk is encrypted using dual pass method.') + raise CLIError('The current command does not support VMs which were encrypted using dual pass.') + else: + logger.debug('The source VM\'s OS disk is not encrypted') # Validate Auth Params # Prompt vm username @@ -158,6 +166,20 @@ def validate_run(cmd, namespace): raise CLIError('Repair resource id is not valid.') +def _prompt_encrypted_vm(namespace): + from knack.prompting import prompt_y_n, NoTTYException + try: + message = 'The source VM\'s OS disk is encrypted. The current command will unlock the copied OS disk within the repair VM.' + logger.warning(message) + if prompt_y_n('Continue?'): + namespace.unlock_encrypted_vm = True + else: + raise CLIError('Stopping execution upon user input.') + + except NoTTYException: + raise CLIError('Please specify the unlock_encrypted_vm parameter in non-interactive mode.') + + def _prompt_repair_username(namespace): from knack.prompting import prompt, NoTTYException diff --git a/src/vm-repair/azext_vm_repair/azext_metadata.json b/src/vm-repair/azext_vm_repair/azext_metadata.json new file mode 100644 index 00000000000..52c2f3eceef --- /dev/null +++ b/src/vm-repair/azext_vm_repair/azext_metadata.json @@ -0,0 +1,4 @@ +{ + "azext.isPreview": false, + "azext.minCliCoreVersion": "2.0.67" +} diff --git a/src/vm-repair/azext_vm_repair/custom.py b/src/vm-repair/azext_vm_repair/custom.py index 6391109c71f..1724fca262b 100644 --- a/src/vm-repair/azext_vm_repair/custom.py +++ b/src/vm-repair/azext_vm_repair/custom.py @@ -31,14 +31,14 @@ _process_bash_parameters, _parse_run_script_raw_logs, _check_script_succeeded, - _fetch_disk_info + _fetch_disk_info, + _unlock_singlepass_encrypted_disk, ) from .exceptions import AzCommandError, SkuNotAvailableError, UnmanagedDiskCopyError, WindowsOsNotAvailableError, RunScriptNotFoundForIdError - logger = get_logger(__name__) -def create(cmd, vm_name, resource_group_name, repair_password=None, repair_username=None, repair_vm_name=None, copy_disk_name=None, repair_group_name=None): +def create(cmd, vm_name, resource_group_name, repair_password=None, repair_username=None, repair_vm_name=None, copy_disk_name=None, repair_group_name=None, unlock_encrypted_vm=False): # Init command helper object command = command_helper(logger, cmd, 'vm repair create') @@ -52,8 +52,6 @@ def create(cmd, vm_name, resource_group_name, repair_password=None, repair_usern is_managed = _uses_managed_disk(source_vm) copy_disk_id = None resource_tag = _get_repair_resource_tag(resource_group_name, vm_name) - - # List of created resouces created_resources = [] # Fetch OS image urn and set OS type for disk create @@ -67,7 +65,7 @@ def create(cmd, vm_name, resource_group_name, repair_password=None, repair_usern # Set up base create vm command create_repair_vm_command = 'az vm create -g {g} -n {n} --tag {tag} --image {image} --admin-username {username} --admin-password {password}' \ .format(g=repair_group_name, n=repair_vm_name, tag=resource_tag, image=os_image_urn, username=repair_username, password=repair_password) - # fetch VM size of repair VM + # Fetch VM size of repair VM sku = _fetch_compatible_sku(source_vm) if not sku: raise SkuNotAvailableError('Failed to find compatible VM size for source VM\'s OS disk within given region and subscription.') @@ -85,8 +83,11 @@ def create(cmd, vm_name, resource_group_name, repair_password=None, repair_usern # Copy OS disk command disk_sku, location, os_type, hyperV_generation = _fetch_disk_info(resource_group_name, target_disk_name) - copy_disk_command = 'az disk create -g {g} -n {n} --source {s} --sku {sku} --location {loc} --os-type {os_type} --hyper-v-generation {hyperV} --query id -o tsv' \ - .format(g=resource_group_name, n=copy_disk_name, s=target_disk_name, sku=disk_sku, loc=location, os_type=os_type, hyperV=hyperV_generation) + copy_disk_command = 'az disk create -g {g} -n {n} --source {s} --sku {sku} --location {loc} --os-type {os_type} --query id -o tsv' \ + .format(g=resource_group_name, n=copy_disk_name, s=target_disk_name, sku=disk_sku, loc=location, os_type=os_type) + # Only add hyperV variable when available + if hyperV_generation: + copy_disk_command += ' --hyper-v-generation {hyperV}'.format(hyperV=hyperV_generation) # Validate create vm create command to validate parameters before runnning copy disk command validate_create_vm_command = create_repair_vm_command + ' --validate' @@ -102,6 +103,11 @@ def create(cmd, vm_name, resource_group_name, repair_password=None, repair_usern _call_az_command(create_repair_vm_command, secure_params=[repair_password, repair_username]) logger.info('Attaching copied disk to repair VM...') _call_az_command(attach_disk_command) + + # Handle encrypted VM cases + if unlock_encrypted_vm: + _unlock_singlepass_encrypted_disk(source_vm, is_linux, repair_group_name, repair_vm_name) + # UNMANAGED DISK else: logger.info('Source VM uses unmanaged disks. Creating repair VM with unmanaged disks.\n') @@ -180,10 +186,10 @@ def create(cmd, vm_name, resource_group_name, repair_password=None, repair_usern command.error_stack_trace = traceback.format_exc() command.error_message = str(exception) command.message = 'An unexpected error occurred. Try running again with the --debug flag to debug.' + finally: if command.error_stack_trace: logger.debug(command.error_stack_trace) - # Generate return results depending on command state if not command.is_status_success(): command.set_status_error() @@ -206,7 +212,6 @@ def create(cmd, vm_name, resource_group_name, repair_password=None, repair_usern return_dict['created_resources'] = created_resources logger.info('\n%s\n', command.message) - return return_dict diff --git a/src/vm-repair/azext_vm_repair/encryption_types.py b/src/vm-repair/azext_vm_repair/encryption_types.py new file mode 100644 index 00000000000..f06226ce4c1 --- /dev/null +++ b/src/vm-repair/azext_vm_repair/encryption_types.py @@ -0,0 +1,13 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +import enum + + +class Encryption(enum.Enum): + NONE = 1 # Not an encrypted VM. + SINGLE_WITH_KEK = 2 # Its an encryped VM using single pass method with kek option. + SINGLE_WITHOUT_KEK = 3 # Its an encrypted VM using single pass method without kek option. + DUAL = 4 # Its an encrypted VM using dual pass method. diff --git a/src/vm-repair/azext_vm_repair/repair_utils.py b/src/vm-repair/azext_vm_repair/repair_utils.py index 1e2354d91e5..8783e582eae 100644 --- a/src/vm-repair/azext_vm_repair/repair_utils.py +++ b/src/vm-repair/azext_vm_repair/repair_utils.py @@ -8,11 +8,14 @@ import os import re from json import loads +import pkgutil import requests from knack.log import get_logger from knack.prompting import prompt_y_n, NoTTYException +from .encryption_types import Encryption + from .exceptions import AzCommandError, WindowsOsNotAvailableError, RunScriptNotFoundForIdError # pylint: disable=line-too-long, deprecated-method @@ -141,8 +144,10 @@ def _fetch_compatible_sku(source_vm): # List available standard SKUs # TODO, premium IO only when needed list_sku_command = 'az vm list-skus -s standard_d -l {loc} --query ' \ - '"[?capabilities[?name==\'vCPUs\' && to_number(value)<= to_number(\'4\')] && ' \ - 'capabilities[?name==\'MemoryGB\' && to_number(value)<=to_number(\'16\')] && ' \ + '"[?capabilities[?name==\'vCPUs\' && to_number(value)>= to_number(\'2\')] && ' \ + 'capabilities[?name==\'vCPUs\' && to_number(value)<= to_number(\'8\')] && ' \ + 'capabilities[?name==\'MemoryGB\' && to_number(value)>=to_number(\'8\')] && ' \ + 'capabilities[?name==\'MemoryGB\' && to_number(value)<=to_number(\'32\')] && ' \ 'capabilities[?name==\'MaxDataDiskCount\' && to_number(value)>to_number(\'0\')] && ' \ 'capabilities[?name==\'PremiumIO\' && value==\'True\']].name" -o json'\ .format(loc=location) @@ -151,6 +156,7 @@ def _fetch_compatible_sku(source_vm): sku_list = loads(_call_az_command(list_sku_command).strip('\n')) if sku_list: + logger.info('VM size \'%s\' is available. Using it to create repair VM.\n', sku_list[0]) return sku_list[0] return None @@ -177,12 +183,75 @@ def _list_resource_ids_in_rg(resource_group_name): return ids -def _uses_encrypted_disk(vm): - return vm.storage_profile.os_disk.encryption_settings +def _fetch_encryption_settings(source_vm): + key_vault = None + kekurl = None + if source_vm.storage_profile.os_disk.encryption_settings is not None: + return Encryption.DUAL, key_vault, kekurl + # Unmanaged disk only support dual + if not _uses_managed_disk(source_vm): + return Encryption.NONE, key_vault, kekurl + + disk_id = source_vm.storage_profile.os_disk.managed_disk.id + show_disk_command = 'az disk show --id {i} --query [encryptionSettingsCollection,encryptionSettingsCollection.encryptionSettings[].diskEncryptionKey.sourceVault.id,encryptionSettingsCollection.encryptionSettings[].keyEncryptionKey.keyUrl] -o json'.format(i=disk_id) + encryption_type, key_vault, kekurl = loads(_call_az_command(show_disk_command)) + if [encryption_type, key_vault, kekurl] == [None, None, None]: + return Encryption.NONE, key_vault, kekurl + if kekurl == []: + key_vault = key_vault[0] + return Encryption.SINGLE_WITHOUT_KEK, key_vault, kekurl + key_vault, kekurl = key_vault[0], kekurl[0] + return Encryption.SINGLE_WITH_KEK, key_vault, kekurl + + +def _unlock_singlepass_encrypted_disk(source_vm, is_linux, repair_group_name, repair_vm_name): + # Installs the extension on repair VM and mounts the disk after unlocking. + encryption_type, key_vault, kekurl = _fetch_encryption_settings(source_vm) + if is_linux: + volume_type = 'DATA' + else: + volume_type = 'ALL' + + try: + if encryption_type is Encryption.SINGLE_WITH_KEK: + install_ade_extension_command = 'az vm encryption enable --disk-encryption-keyvault {vault} --name {repair} --resource-group {g} --key-encryption-key {kek_url} --volume-type {volume}' \ + .format(g=repair_group_name, repair=repair_vm_name, vault=key_vault, kek_url=kekurl, volume=volume_type) + elif encryption_type is Encryption.SINGLE_WITHOUT_KEK: + install_ade_extension_command = 'az vm encryption enable --disk-encryption-keyvault {vault} --name {repair} --resource-group {g} --volume-type {volume}' \ + .format(g=repair_group_name, repair=repair_vm_name, vault=key_vault, volume=volume_type) + logger.info('Unlocking attached copied disk...') + _call_az_command(install_ade_extension_command) + # Linux VM encryption extension has a bug and we need to manually unlock and mount its disk + if is_linux: + logger.debug("Manually unlocking and mounting disk for Linux VMs.") + _manually_unlock_mount_encrypted_disk(repair_group_name, repair_vm_name) + except AzCommandError as azCommandError: + error_message = str(azCommandError) + # Linux VM encryption extension bug where it fails and then continue to mount disk manually + if is_linux and "Failed to encrypt data volumes with error" in error_message: + logger.debug("Expected bug for linux VMs. Ignoring error.") + _manually_unlock_mount_encrypted_disk(repair_group_name, repair_vm_name) + else: + raise + + +def _manually_unlock_mount_encrypted_disk(repair_group_name, repair_vm_name): + # Unlocks the disk using the phasephrase and mounts it on the repair VM. + REPAIR_DIR_NAME = 'azext_vm_repair' + SCRIPTS_DIR_NAME = 'scripts' + LINUX_RUN_SCRIPT_NAME = 'mount-encrypted-disk.sh' + command_id = 'RunShellScript' + loader = pkgutil.get_loader(REPAIR_DIR_NAME) + mod = loader.load_module(REPAIR_DIR_NAME) + rootpath = os.path.dirname(mod.__file__) + run_script = os.path.join(rootpath, SCRIPTS_DIR_NAME, LINUX_RUN_SCRIPT_NAME) + mount_disk_command = 'az vm run-command invoke -g {rg} -n {vm} --command-id {command_id} ' \ + '--scripts "@{run_script}" -o json' \ + .format(rg=repair_group_name, vm=repair_vm_name, command_id=command_id, run_script=run_script) + _call_az_command(mount_disk_command) def _fetch_compatible_windows_os_urn(source_vm): - location = source_vm.location fetch_urn_command = 'az vm image list -s "2016-Datacenter" -f WindowsServer -p MicrosoftWindowsServer -l {loc} --verbose --all --query "[?sku==\'2016-Datacenter\'].urn | reverse(sort(@))" -o json'.format(loc=location) logger.info('Fetching compatible Windows OS images from gallery...') diff --git a/src/vm-repair/azext_vm_repair/scripts/mount-encrypted-disk.sh b/src/vm-repair/azext_vm_repair/scripts/mount-encrypted-disk.sh new file mode 100644 index 00000000000..05199f83139 --- /dev/null +++ b/src/vm-repair/azext_vm_repair/scripts/mount-encrypted-disk.sh @@ -0,0 +1,49 @@ +#!/bin/bash + +#/boot/efi duplication validation +efi_cnt=`lsblk | grep -i "/boot/efi" | wc -l` +if [ "$efi_cnt" -eq 2 ] +then + umount /boot/efi +fi + +#creating mountpoint directories +mkdir /{investigateboot,investigateroot} + +#Getting boot and root partition info +mounted_disks=`df -Ph | awk '{print $1}' | egrep -iv "filesystem|tmpfs|udev" | sed 's/[0-9]//g' | xargs | sed 's/ /|/g'` + +root=`fdisk -l | egrep -iv "$mounted_disks" | grep -i sd | grep -iv disk | sed -n 1p | awk '$4 > 60000000{print $1}'` +if [ -z $root ] +then + boot_part=`fdisk -l | egrep -iv "$mounted_disks" | grep -i sd | grep -iv disk | awk '{print $1}' | sed -n 1p` + root_part=`fdisk -l | egrep -iv "$mounted_disks" | grep -i sd | grep -iv disk | awk '{print $1}' | sed -n 2p` +else + root_part="$root" + boot_part=`fdisk -l | egrep -iv "$mounted_disks" | grep -i sd | grep -iv disk | awk '{print $1}' | sed -n 2p` +fi + +mount_cmd=`mount -o nouuid 2> /dev/null` +if [ $? -gt 0 ] +then + mount_cmd="mount" +else + mount_cmd="mount -o nouuid" +fi + +#mouning the boot partition + +$mount_cmd $boot_part /investigateboot + +#unlocking the root partition using passphrase + +cryptsetup luksOpen --key-file /mnt/azure_bek_disk/LinuxPassPhraseFileName_1_0 --header /investigateboot/luks/osluksheader $root_part osencrypt + +#mounting the unlocked root partition + +$mount_cmd /dev/mapper/osencrypt /investigateroot + +#nmounting boot and mounting it inside rootpartition. + +umount -l /investigateboot +$mount_cmd $boot_part /investigateroot/boot diff --git a/src/vm-repair/azext_vm_repair/tests/latest/test_repair_commands.py b/src/vm-repair/azext_vm_repair/tests/latest/test_repair_commands.py index 33dd0163ed4..9a1e3f2da01 100644 --- a/src/vm-repair/azext_vm_repair/tests/latest/test_repair_commands.py +++ b/src/vm-repair/azext_vm_repair/tests/latest/test_repair_commands.py @@ -3,8 +3,11 @@ # Licensed under the MIT License. See License.txt in the project root for license information. # -------------------------------------------------------------------------------------------- +import time from azure.cli.testsdk import LiveScenarioTest, ResourceGroupPreparer +STATUS_SUCCESS = 'SUCCESS' + class WindowsManagedDiskCreateRestoreTest(LiveScenarioTest): @@ -22,6 +25,7 @@ def test_vmrepair_WinManagedCreateRestore(self, resource_group): # Test create result = self.cmd('vm repair create -g {rg} -n {vm} --repair-username azureadmin --repair-password !Passw0rd2018 -o json').get_output_in_json() + assert result['status'] == STATUS_SUCCESS, result['error_message'] # Check repair VM repair_vms = self.cmd('vm list -g {} -o json'.format(result['repair_resource_group'])).get_output_in_json() @@ -55,6 +59,7 @@ def test_vmrepair_WinUnmanagedCreateRestore(self, resource_group): # Test create result = self.cmd('vm repair create -g {rg} -n {vm} --repair-username azureadmin --repair-password !Passw0rd2018 -o json').get_output_in_json() + assert result['status'] == STATUS_SUCCESS, result['error_message'] # Check repair VM repair_vms = self.cmd('vm list -g {} -o json'.format(result['repair_resource_group'])).get_output_in_json() @@ -88,6 +93,7 @@ def test_vmrepair_LinuxManagedCreateRestore(self, resource_group): # Test create result = self.cmd('vm repair create -g {rg} -n {vm} --repair-username azureadmin --repair-password !Passw0rd2018 -o json').get_output_in_json() + assert result['status'] == STATUS_SUCCESS, result['error_message'] # Check repair VM repair_vms = self.cmd('vm list -g {} -o json'.format(result['repair_resource_group'])).get_output_in_json() @@ -121,6 +127,7 @@ def test_vmrepair_LinuxUnmanagedCreateRestore(self, resource_group): # Test create result = self.cmd('vm repair create -g {rg} -n {vm} --repair-username azureadmin --repair-password !Passw0rd2018 -o json').get_output_in_json() + assert result['status'] == STATUS_SUCCESS, result['error_message'] # Check repair VM repair_vms = self.cmd('vm list -g {} -o json'.format(result['repair_resource_group'])).get_output_in_json() @@ -138,6 +145,206 @@ def test_vmrepair_LinuxUnmanagedCreateRestore(self, resource_group): assert source_vm['storageProfile']['osDisk']['vhd']['uri'] == result['copied_disk_uri'] +class WindowsSinglepassKekEncryptedManagedDiskCreateRestoreTest(LiveScenarioTest): + + @ResourceGroupPreparer(location='westus2') + def test_vmrepair_WinSinglepassKekEncryptedManagedDiskCreateRestore(self, resource_group): + self.kwargs.update({ + 'vm': 'vm1', + 'kv': self.create_random_name(prefix='cli', length=8), + 'key': 'key1' + }) + + # Create test VM + self.cmd('vm create -g {rg} -n {vm} --admin-username azureadmin --image Win2016Datacenter --admin-password !Passw0rd2018 --size Standard_D2s_v3') + vms = self.cmd('vm list -g {rg} -o json').get_output_in_json() + # Something wrong with vm create command if it fails here + assert len(vms) == 1 + + # Create key vault + self.cmd('keyvault create -n {kv} -g {rg} --enabled-for-disk-encryption True --enable-soft-delete True') + + # Check keyvault + keyvault = self.cmd('keyvault list -g {rg} -o json').get_output_in_json() + assert len(keyvault) == 1 + + # Create key + self.cmd('keyvault key create --vault-name {kv} --name {key} --protection software') + + # Check key + key = self.cmd('keyvault key list --vault-name {kv} -o json').get_output_in_json() + assert len(key) == 1 + + # Enable encryption + self.cmd('vm encryption enable -g {rg} -n {vm} --disk-encryption-keyvault {kv} --key-encryption-key {key}') + + # Test create + result = self.cmd('vm repair create -g {rg} -n {vm} --repair-username azureadmin --repair-password !Passw0rd2018 --unlock-encrypted-vm -o json').get_output_in_json() + assert result['status'] == STATUS_SUCCESS, result['error_message'] + + # Check repair VM + repair_vms = self.cmd('vm list -g {} -o json'.format(result['repair_resource_group'])).get_output_in_json() + assert len(repair_vms) == 1 + repair_vm = repair_vms[0] + # Check attached data disk + assert repair_vm['storageProfile']['dataDisks'][0]['name'] == result['copied_disk_name'] + + # Call Restore + self.cmd('vm repair restore -g {rg} -n {vm} --yes') + + # Check swapped OS disk + vms = self.cmd('vm list -g {rg} -o json').get_output_in_json() + source_vm = vms[0] + assert source_vm['storageProfile']['osDisk']['name'] == result['copied_disk_name'] + + +class LinuxSinglepassKekEncryptedManagedDiskCreateRestoreTest(LiveScenarioTest): + + @ResourceGroupPreparer(location='westus2') + def test_vmrepair_LinuxSinglepassKekEncryptedManagedDiskCreateRestore(self, resource_group): + self.kwargs.update({ + 'vm': 'vm1', + 'kv': self.create_random_name(prefix='cli', length=8), + 'key': 'key1' + }) + + # Create test VM + self.cmd('vm create -g {rg} -n {vm} --image UbuntuLTS --admin-username azureadmin --admin-password !Passw0rd2018 --size Standard_D2s_v3') + vms = self.cmd('vm list -g {rg} -o json').get_output_in_json() + # Something wrong with vm create command if it fails here + assert len(vms) == 1 + + # Create key vault + self.cmd('keyvault create -n {kv} -g {rg} --enabled-for-disk-encryption True --enable-soft-delete True') + + # Check keyvault + keyvault = self.cmd('keyvault list -g {rg} -o json').get_output_in_json() + assert len(keyvault) == 1 + + # Create key + self.cmd('keyvault key create --vault-name {kv} --name {key} --protection software') + + # Check key + key = self.cmd('keyvault key list --vault-name {kv} -o json').get_output_in_json() + assert len(key) == 1 + + # Enable encryption + self.cmd('vm encryption enable -g {rg} -n {vm} --disk-encryption-keyvault {kv} --key-encryption-key {key}') + # Add buffer time for encryption settings to be set + time.sleep(300) + + # Test create + result = self.cmd('vm repair create -g {rg} -n {vm} --repair-username azureadmin --repair-password !Passw0rd2018 --unlock-encrypted-vm -o json').get_output_in_json() + assert result['status'] == STATUS_SUCCESS, result['error_message'] + + # Check repair VM + repair_vms = self.cmd('vm list -g {} -o json'.format(result['repair_resource_group'])).get_output_in_json() + assert len(repair_vms) == 1 + repair_vm = repair_vms[0] + # Check attached data disk + assert repair_vm['storageProfile']['dataDisks'][0]['name'] == result['copied_disk_name'] + + # Call Restore + self.cmd('vm repair restore -g {rg} -n {vm} --yes') + + # Check swapped OS disk + vms = self.cmd('vm list -g {rg} -o json').get_output_in_json() + source_vm = vms[0] + assert source_vm['storageProfile']['osDisk']['name'] == result['copied_disk_name'] + + +class WindowsSinglepassNoKekEncryptedManagedDiskCreateRestoreTest(LiveScenarioTest): + + @ResourceGroupPreparer(location='westus2') + def test_vmrepair_WinSinglepassNoKekEncryptedManagedDiskCreateRestore(self, resource_group): + self.kwargs.update({ + 'vm': 'vm1', + 'kv': self.create_random_name(prefix='cli', length=8), + }) + + # Create test VM + self.cmd('vm create -g {rg} -n {vm} --admin-username azureadmin --image Win2016Datacenter --admin-password !Passw0rd2018 --size Standard_D2s_v3') + vms = self.cmd('vm list -g {rg} -o json').get_output_in_json() + # Something wrong with vm create command if it fails here + assert len(vms) == 1 + + # Create key vault + self.cmd('keyvault create -n {kv} -g {rg} --enabled-for-disk-encryption True --enable-soft-delete True') + + # Check keyvault + keyvault = self.cmd('keyvault list -g {rg} -o json').get_output_in_json() + assert len(keyvault) == 1 + + # Enable encryption + self.cmd('vm encryption enable -g {rg} -n {vm} --disk-encryption-keyvault {kv}') + + # Test create + result = self.cmd('vm repair create -g {rg} -n {vm} --repair-username azureadmin --repair-password !Passw0rd2018 --unlock-encrypted-vm -o json').get_output_in_json() + assert result['status'] == STATUS_SUCCESS, result['error_message'] + + # Check repair VM + repair_vms = self.cmd('vm list -g {} -o json'.format(result['repair_resource_group'])).get_output_in_json() + assert len(repair_vms) == 1 + repair_vm = repair_vms[0] + # Check attached data disk + assert repair_vm['storageProfile']['dataDisks'][0]['name'] == result['copied_disk_name'] + + # Call Restore + self.cmd('vm repair restore -g {rg} -n {vm} --yes') + + # Check swapped OS disk + vms = self.cmd('vm list -g {rg} -o json').get_output_in_json() + source_vm = vms[0] + assert source_vm['storageProfile']['osDisk']['name'] == result['copied_disk_name'] + + +class LinuxSinglepassNoKekEncryptedManagedDiskCreateRestoreTest(LiveScenarioTest): + + @ResourceGroupPreparer(location='westus2') + def test_vmrepair_LinuxSinglepassNoKekEncryptedManagedDiskCreateRestoreTest(self, resource_group): + self.kwargs.update({ + 'vm': 'vm1', + 'kv': self.create_random_name(prefix='cli', length=8), + }) + + # Create test VM + self.cmd('vm create -g {rg} -n {vm} --image UbuntuLTS --admin-username azureadmin --admin-password !Passw0rd2018 --size Standard_D2s_v3') + vms = self.cmd('vm list -g {rg} -o json').get_output_in_json() + # Something wrong with vm create command if it fails here + assert len(vms) == 1 + + # Create key vault + self.cmd('keyvault create -n {kv} -g {rg} --enabled-for-disk-encryption True --enable-soft-delete True') + + # Check keyvault + keyvault = self.cmd('keyvault list -g {rg} -o json').get_output_in_json() + assert len(keyvault) == 1 + + # Enable encryption + self.cmd('vm encryption enable -g {rg} -n {vm} --disk-encryption-keyvault {kv}') + # Add buffer time for encryption settings to be set + time.sleep(300) + + # Test create + result = self.cmd('vm repair create -g {rg} -n {vm} --repair-username azureadmin --repair-password !Passw0rd2018 --unlock-encrypted-vm -o json').get_output_in_json() + assert result['status'] == STATUS_SUCCESS, result['error_message'] + + # Check repair VM + repair_vms = self.cmd('vm list -g {} -o json'.format(result['repair_resource_group'])).get_output_in_json() + assert len(repair_vms) == 1 + repair_vm = repair_vms[0] + # Check attached data disk + assert repair_vm['storageProfile']['dataDisks'][0]['name'] == result['copied_disk_name'] + + # Call Restore + self.cmd('vm repair restore -g {rg} -n {vm} --yes') + + # Check swapped OS disk + vms = self.cmd('vm list -g {rg} -o json').get_output_in_json() + source_vm = vms[0] + assert source_vm['storageProfile']['osDisk']['name'] == result['copied_disk_name'] + + class WindowsRunHelloWorldTest(LiveScenarioTest): @ResourceGroupPreparer(location='westus2') diff --git a/src/vm-repair/setup.py b/src/vm-repair/setup.py index a61680b91d3..4ecb7a8a313 100644 --- a/src/vm-repair/setup.py +++ b/src/vm-repair/setup.py @@ -8,7 +8,7 @@ from codecs import open from setuptools import setup, find_packages -VERSION = "0.2.6" +VERSION = "0.3.1" CLASSIFIERS = [ 'Development Status :: 4 - Beta', @@ -37,6 +37,13 @@ url='https://github.com/Azure/azure-cli-extensions/tree/master/src/vm-repair', classifiers=CLASSIFIERS, packages=find_packages(), - package_data={'azext_vm_repair': ['scripts/linux-run-driver.sh', 'scripts/win-run-driver.ps1']}, + package_data={ + 'azext_vm_repair': [ + 'scripts/linux-run-driver.sh', + 'scripts/win-run-driver.ps1', + 'scripts/mount-encrypted-disk.sh', + 'azext_metadata.json' + ] + }, install_requires=DEPENDENCIES ) diff --git a/swagger_to_sdk_config.json b/swagger_to_sdk_config.json index 127170cb6da..dadb6717ed9 100644 --- a/swagger_to_sdk_config.json +++ b/swagger_to_sdk_config.json @@ -4,10 +4,9 @@ "autorest_options": { "az": "", "use": "@autorest/az@latest", - "sdkrel:az-src-folder": "./src/.", - "version": "3.0.6198", - "sdkrel:output-folder":".", - "clear-output-folder":"false" + "version": "3.0.6271", + "sdkrel:azure-cli-extension-folder":".", + "clear-output-folder":"true" }, "advanced_options": { "create_sdk_pull_requests": true,